smlsharp-1.2.00000755 000000000000000000000000012050661606013424 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark0000755 000000000000000000000000012050661606015356 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks0000755 000000000000000000000000012050661606017473 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks/barnes_hut0000755 000000000000000000000000012050661606021625 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks/barnes_hut/data-io.smi0000644 000000000000000000000744212050661606023743 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "vector-sig.sml" _require "space.sig" functor DataIO( S : sig structure V : sig type 'a vec = {x: 'a, y: 'a, z: 'a} val dim : int val tabulate : (int -> 'a) -> 'a vec val equal : real vec * real vec -> bool val zerov : real vec val addv : real vec * real vec -> real vec val subv : real vec * real vec -> real vec val dotvp : real vec * real vec -> real val crossvp : real vec * real vec -> real vec val addvs : real vec * real -> real vec val mulvs : real vec * real -> real vec val divvs : real vec * real -> real vec val mapv : ('a -> 'b) -> 'a vec -> 'b vec val map3v : ('a * 'b * 'c -> 'd) -> 'a vec * 'b vec * 'c vec -> 'd vec val foldv : ('a * 'b -> 'b) -> 'a vec -> 'b -> 'b val format : {cvt:'a -> string, lp:string, rp:string, sep:string} -> 'a vec -> string val explode : 'a vec -> 'a list val implode : 'a list -> 'a vec type matrix val zerom : matrix val addm : matrix * matrix -> matrix val outvp : real vec * real vec -> matrix end datatype body = Body of {acc:real V.vec ref, mass:real, phi:real ref, pos:real V.vec ref, vel:real V.vec ref} datatype cell = BodyCell of body | Cell of node array and node = Empty | Node of {cell:cell, mass:real ref, pos:real V.vec ref} datatype space = Space of {rmin:real V.vec, root:node, rsize:real} val nsub : int val putCell : cell * int * node -> unit val getCell : cell * int -> node val mkCell : unit -> cell val mkBodyNode : body -> node val mkCellNode : cell -> node val eqBody : body * body -> bool val dumpTree : node -> unit val prBody : body -> string val prNode : node -> string end ) = struct structure S = struct structure V = struct type 'a vec = 'a S.V.vec val dim : int val tabulate : (int -> 'a) -> 'a vec val equal : real vec * real vec -> bool val zerov : real vec val addv : real vec * real vec -> real vec val subv : real vec * real vec -> real vec val dotvp : real vec * real vec -> real val crossvp : real vec * real vec -> real vec val addvs : real vec * real -> real vec val mulvs : real vec * real -> real vec val divvs : real vec * real -> real vec val mapv : ('a -> 'b) -> 'a vec -> 'b vec val map3v : ('a * 'b * 'c -> 'd) -> 'a vec * 'b vec * 'c vec -> 'd vec val foldv : ('a * 'b -> 'b) -> 'a vec -> 'b -> 'b val format : {cvt:'a -> string, lp:string, rp:string, sep:string} -> 'a vec -> string val explode : 'a vec -> 'a list val implode : 'a list -> 'a vec type matrix = S.V.matrix val zerom : matrix val addm : matrix * matrix -> matrix val outvp : real vec * real vec -> matrix end datatype body = datatype S.body datatype cell = datatype S.cell datatype node = datatype S.node datatype space = datatype S.space val nsub : int val putCell : cell * int * node -> unit val getCell : cell * int -> node val mkCell : unit -> cell val mkBodyNode : body -> node val mkCellNode : cell -> node val eqBody : body * body -> bool val dumpTree : node -> unit val prBody : body -> string val prNode : node -> string end val inputData : string -> {bodies:S.body list, headline:string, nbody:int, tnow:real} val initOutput : {dtime:real, dtout:real, eps:real, headline:string, nbody:int, outfile:string, tnow:real, tol:real, tstop:real} -> unit val output : {bodies:S.body list, n2bcalc:int, nbccalc:int, nbody:int, selfint:int, tnow:real} -> unit val stopOutput : unit -> unit end smlsharp-1.2.0/benchmark/benchmarks/barnes_hut/data-io.sml0000644 000000000000000000001644012050661606023744 0ustar00rootroot0000000 0000000 (* data-io.sml * * COPYRIGHT (c) 1993, AT&T Bell Laboratories. * * I/O routines for export version of hierarchical N-body code. *) signature DATA_IO = sig structure S : SPACE val inputData : string -> { nbody : int, bodies : S.body list, tnow : real, headline : string } (* output routines *) val initOutput : { outfile : string, headline : string, nbody : int, tnow : real, dtime : real, eps : real, tol : real, dtout : real, tstop : real } -> unit val output : { nbody : int, bodies : S.body list, n2bcalc : int, nbccalc : int, selfint : int, tnow : real } -> unit val stopOutput : unit -> unit end; functor DataIO (S : SPACE) : DATA_IO = struct structure SS = Substring structure S = S structure V = S.V val atoi = valOf o Int.scan StringCvt.DEC SS.getc (* NOTE: this really out to be implemented using the lazy IO streams, * but SML/NJ doesn't implement these correctly yet. *) fun inputData fname = let val strm = TextIO.openIn fname val buf = ref(SS.full "") fun getLn () = (case (TextIO.inputLine strm) of NONE => raise Fail "inputData: EOF" | SOME s => buf := SS.full s (* end case *)) fun skipWS () = let val buf' = SS.dropl Char.isSpace (!buf) in if (SS.isEmpty buf') then (getLn(); skipWS()) else buf' end fun readInt () = let val (n, ss) = atoi (skipWS ()) in buf := ss; n end fun readReal () = let val (r, ss) = valOf (Real.scan SS.getc (skipWS())) in buf := ss; r end val nbody = readInt() val _ = if (nbody < 1) then raise Fail "absurd nbody" else () val ndim = readInt() val _ = if (ndim <> V.dim) then raise Fail "absurd ndim" else () val tnow = readReal() fun iter f = let fun loop (0, l) = l | loop (n, l) = loop (n-1, f() :: l) in fn n => loop (n, []) end fun readVec () = V.implode (rev (iter readReal ndim)) val massList = iter readReal nbody val posList = iter readVec nbody val velList = iter readVec nbody fun mkBodies ([], [], [], l) = l | mkBodies (m::r1, p::r2, v::r3, l) = let val b = S.Body{ mass = m, pos = ref p, vel = ref v, acc = ref V.zerov, phi = ref 0.0 } in mkBodies(r1, r2, r3, b::l) end in TextIO.closeIn strm; { nbody = nbody, bodies = mkBodies (massList, posList, velList, []), tnow = tnow, headline = concat["Hack code: input file ", fname, "\n"] } end local val timer = ref (Timer.startCPUTimer ()) in fun initTimer () = timer := Timer.startCPUTimer() fun cputime () = let val {usr, sys} = Timer.checkCPUTimer(!timer) val totTim = usr in (Time.toReal totTim) / 60.0 end end type out_state = { tout : real, dtout : real, dtime : real, strm : TextIO.outstream } val outState = ref (NONE : out_state option) fun fprintf (strm, items) = TextIO.output(strm, String.concat items) fun printf items = fprintf(TextIO.stdOut, items) fun pad n s = StringCvt.padLeft #" " n s fun fmtInt (wid, i) = pad wid (Int.toString i) fun fmtReal (wid, prec, r) = pad wid (Real.fmt (StringCvt.FIX(SOME prec)) r) fun fmtRealE (wid, prec, r) = pad wid (Real.fmt (StringCvt.SCI(SOME prec)) r) local fun itemFmt r = fmtReal (9, 4, r) val fmt = V.format{lp="", sep="", rp="", cvt=itemFmt} in fun printvec (init, vec) = printf [ "\t ", pad 9 init, fmt vec, "\n" ] end (* local *) fun stopOutput () = (case (! outState) of NONE => () | (SOME{strm, ...}) => (TextIO.closeOut strm; outState := NONE) (* end case *)) fun initOutput {outfile, headline, nbody, tnow, dtime, eps, tol, dtout, tstop} = ( initTimer(); printf ["\n\t\t", headline, "\n\n"]; printf (map (pad 12) ["nbody", "dtime", "eps", "tol", "dtout", "tstop"]); printf ["\n"]; printf [fmtInt(12, nbody), fmtReal(12, 5, dtime)]; printf [ fmtInt(12, nbody), fmtReal(12, 5, dtime), fmtReal(12, 4, eps), fmtReal(12, 2, tol), fmtReal(12, 3, dtout), fmtReal(12, 2, tstop), "\n\n" ]; case outfile of "" => stopOutput() | _ => outState := SOME{ dtime = dtime, tout = tnow, dtout = dtout, strm = TextIO.openOut outfile } (* end case *)) (* compute set of dynamical diagnostics. *) fun diagnostics bodies = let fun loop ([], arg) = { mtot = #totM arg, (* total mass *) totKE = #totKE arg, (* total kinetic energy *) totPE = #totPE arg, (* total potential energy *) cOfMPos = #cOfMPos arg, (* center of mass: position *) cOfMVel = #cOfMVel arg, (* center of mass: velocity *) amVec = #amVec arg (* angular momentum vector *) } | loop (S.Body{ mass, pos=ref pos, vel=ref vel, acc=ref acc, phi=ref phi } :: r, arg) = let val velsq = V.dotvp(vel, vel) val halfMass = 0.5 * mass val posXmass = V.mulvs(pos, mass) in loop ( r, { totM = (#totM arg) + mass, totKE = (#totKE arg) + halfMass * velsq, totPE = (#totPE arg) + halfMass * phi, keTen = V.addm(#keTen arg, V.outvp(V.mulvs(vel, halfMass), vel)), peTen = V.addm(#peTen arg, V.outvp(posXmass, acc)), cOfMPos = V.addv(#cOfMPos arg, posXmass), cOfMVel = V.addv(#cOfMVel arg, V.mulvs(vel, mass)), amVec = V.addv(#amVec arg, V.mulvs(V.crossvp(pos, vel), mass)) }) end in loop (bodies, { totM = 0.0, totKE = 0.0, totPE = 0.0, keTen = V.zerom, peTen = V.zerom, cOfMPos = V.zerov, cOfMVel = V.zerov, amVec = V.zerov }) end (* diagnostics *) fun outputData (strm, tnow, nbody, bodies) = let fun outInt i = fprintf(strm, [" ", Int.toString i, "\n"]) fun outReal r = fprintf(strm, [" ", fmtRealE(21, 14, r), "\n"]) fun prReal r = fprintf(strm, [" ", fmtRealE(21, 14, r)]) fun outVec v = let fun out [] = TextIO.output(strm, "\n") | out (x::r) = (prReal x; out r) in out(V.explode v) end in outInt nbody; outInt V.dim; outReal tnow; app (fn (S.Body{mass, ...}) => outReal mass) bodies; app (fn (S.Body{pos, ...}) => outVec(!pos)) bodies; app (fn (S.Body{vel, ...}) => outVec(!vel)) bodies; printf ["\n\tparticle data written\n"] end; fun output {nbody, bodies, n2bcalc, nbccalc, selfint, tnow} = let val nttot = n2bcalc + nbccalc val nbavg = floor(real n2bcalc / real nbody) val ncavg = floor(real nbccalc / real nbody) val data = diagnostics bodies in printf ["\n"]; printf (map (pad 9) [ "tnow", "T+U", "T/U", "nttot", "nbavg", "ncavg", "selfint", "cputime" ]); printf ["\n"]; printf [ fmtReal(9, 3, tnow), fmtReal(9, 4, #totKE data + #totPE data), fmtReal(9, 4, #totKE data / #totPE data), fmtInt(9, nttot), fmtInt(9, nbavg), fmtInt(9, ncavg), fmtInt(9, selfint), fmtReal(9, 2, cputime()), "\n\n" ]; printvec ("cm pos", #cOfMPos data); printvec ("cm vel", #cOfMVel data); printvec ("am pos", #amVec data); case !outState of NONE => () | (SOME{tout, dtout, dtime, strm}) => if ((tout - 0.01 * dtime) <= tnow) then ( outputData (strm, tnow, nbody, bodies); outState := SOME{ tout=tout+dtout, dtout=dtout, dtime=dtime, strm=strm }) else () (* end case *) end end; (* DataIO *) smlsharp-1.2.0/benchmark/benchmarks/barnes_hut/doit.smi0000644 000000000000000000000005212050661606023352 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "main2.smi" smlsharp-1.2.0/benchmark/benchmarks/barnes_hut/doit.sml0000644 000000000000000000000003612050661606023357 0ustar00rootroot0000000 0000000 Main.doit (); print "Done\n"; smlsharp-1.2.0/benchmark/benchmarks/barnes_hut/dump.sml0000644 000000000000000000000526612050661606023377 0ustar00rootroot0000000 0000000 (* dump.sml * * COPYRIGHT (c) 1993, AT&T Bell Laboratories. * * Code to dump out the tree as a ``dot'' specification. *) functor Dump (V : VECTOR) = struct structure M = Main(V) structure S = M.S structure V = M.V fun dumpTree (fname, root, bodies) = let val strm = IO.open_out fname fun print (fmt, items) = IO.output (strm, Format.format fmt items) fun indent i = Format.LEFT(i+i, Format.STR "") fun bodyName b = let fun find ([], _) = raise Fail "bodyNd" | find (b'::r, i) = if (b = b') then i else find(r, i+1) in find (bodies, 0) end fun bodyNd (i, id, b) = print ("%s nd%d [label=\"p%d\", shape=circle, height=0.2, width=0.2];\n", [ indent i, Format.INT id, Format.INT(bodyName b) ]) fun cellNd (i, id) = print ("%s nd%d [label=\"\", shape=box, height=0.4, width=0.1];\n", [ indent i, Format.INT id ]) fun edge (i, fromId, toId) = print ("%s nd%d -> nd%d;\n", [ indent i, Format.INT fromId, Format.INT toId ]) val levels = Array.array(32, [] : int list) fun addNd (lvl, id) = Array.update(levels, lvl, id :: Array.sub(levels, lvl)) fun prLevels () = let fun loop i = (case Array.sub(levels, i) of [] => () | l => ( print (" { rank = same;", []); app (fn id => print(" nd%d;", [Format.INT id])) l; print ("};\n", []); loop (i+1)) (* end case *)) in loop 0 end fun walk (_, _, S.Empty, nextId) = nextId | walk (lvl, parentId, S.Node{cell, ...}, nextId) = ( addNd (lvl, nextId); edge (lvl, parentId, nextId); case cell of (S.BodyCell b) => (bodyNd(lvl+1, nextId, b); nextId+1) | (S.Cell a) => ( cellNd(lvl+1, nextId); walkCell(lvl+1, a, nextId)) (* end case *)) and walkCell (lvl, a, parentId) = let fun lp (i, nextId') = if (i < S.nsub) then lp (i+1, walk (lvl, parentId, Array.sub(a, i), nextId')) else nextId' in lp (0, parentId+1) end in print ("digraph tree {\n", []); print (" rankdir = LR;\n", []); print (" size = \"7.5,10\";\n", []); print (" ordering = out;\n", []); print (" fontsize = 8\n", []); print (" ranksep = 2\n", []); case root of S.Empty => () | (S.Node{cell=S.BodyCell b, ...}) => ( addNd (0, 0); bodyNd(0, 0, b); ()) | (S.Node{cell=S.Cell a, ...}) => ( addNd (0, 0); walkCell(1, a, 0); ()) (* end case *); prLevels (); print ("}\n", []); IO.close_out strm end fun dumpTest (fname, n) = let val _ = M.srand 123 val data = M.testdata n val S.Space{root, ...} = M.L.makeTree (data, V.tabulate (fn _ => ~2.0), 4.0); in dumpTree (fname, root, data) end end; smlsharp-1.2.0/benchmark/benchmarks/barnes_hut/getparam.smi0000644 000000000000000000000037612050661606024224 0ustar00rootroot0000000 0000000 _require "basis.smi" structure GetParam = struct exception EOF val initParam : string list * string list -> unit val getParam : string -> string val getIParam : string -> int val getRParam : string -> real val getBParam : string -> bool end smlsharp-1.2.0/benchmark/benchmarks/barnes_hut/getparam.sml0000644 000000000000000000000356112050661606024226 0ustar00rootroot0000000 0000000 (* getparam.sml * * COPYRIGHT (c) 1993, AT&T Bell Laboratories. *) structure GetParam : sig exception EOF val initParam : (string list * string list) -> unit val getParam : string -> string val getIParam : string -> int val getRParam : string -> real val getBParam : string -> bool end = struct exception EOF val defaults = ref ([] : string list) (* ignore arg vector, remember defaults. *) fun initParam (argv, defl) = defaults := defl fun prompt items = ( TextIO.output(TextIO.stdOut, String.concat items); TextIO.flushOut TextIO.stdOut) structure SS = Substring (* export version prompts user for value. *) fun getParam name = let fun scanBind [] = NONE | scanBind (s::r) = let val (_, suffix) = SS.position name (SS.full s) in if (SS.isEmpty suffix) then scanBind r else SOME(SS.string(SS.triml (size name+1) suffix)) end fun get default = (case (TextIO.inputLine TextIO.stdIn) of NONE => raise EOF | SOME "\n" => default | SOME s => substring(s, 0, size s - 1) (* end case *)) in if (null (! defaults)) then raise Fail "getParam called before initParam" else (); case (scanBind (! defaults)) of (SOME s) => ( prompt ["enter ", name, " [", s, "]: "]; get s) | NONE => (prompt ["enter ", name, ": "]; get "") (* end case *) end local fun cvt scanFn = let fun cvt' name = let fun get () = (case getParam name of "" => get () | s => s) val param = get () in (valOf (scanFn param)) handle _ => (cvt' name) end in cvt' end in (* get integer parameter *) val getIParam = cvt Int.fromString (* get real parameter *) val getRParam = cvt Real.fromString (* get bool parameter *) val getBParam = cvt Bool.fromString end (* local *) end; (* GetParam *) smlsharp-1.2.0/benchmark/benchmarks/barnes_hut/grav.smi0000644 000000000000000000001067312050661606023364 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "vector-sig.sml" _require "space.sig" functor Grav( S : sig structure V : sig type 'a vec = {x: 'a, y: 'a, z: 'a} val dim : int val tabulate : (int -> 'a) -> 'a vec val equal : real vec * real vec -> bool val zerov : real vec val addv : real vec * real vec -> real vec val subv : real vec * real vec -> real vec val dotvp : real vec * real vec -> real val crossvp : real vec * real vec -> real vec val addvs : real vec * real -> real vec val mulvs : real vec * real -> real vec val divvs : real vec * real -> real vec val mapv : ('a -> 'b) -> 'a vec -> 'b vec val map3v : ('a * 'b * 'c -> 'd) -> 'a vec * 'b vec * 'c vec -> 'd vec val foldv : ('a * 'b -> 'b) -> 'a vec -> 'b -> 'b val format : {cvt:'a -> string, lp:string, rp:string, sep:string} -> 'a vec -> string val explode : 'a vec -> 'a list val implode : 'a list -> 'a vec type matrix val zerom : matrix val addm : matrix * matrix -> matrix val outvp : real vec * real vec -> matrix end datatype body = Body of {acc:real V.vec ref, mass:real, phi:real ref, pos:real V.vec ref, vel:real V.vec ref} datatype cell = BodyCell of body | Cell of node array and node = Empty | Node of {cell:cell, mass:real ref, pos:real V.vec ref} datatype space = Space of {rmin:real V.vec, root:node, rsize:real} val nsub : int val putCell : cell * int * node -> unit val getCell : cell * int -> node val mkCell : unit -> cell val mkBodyNode : body -> node val mkCellNode : cell -> node val eqBody : body * body -> bool val dumpTree : node -> unit val prBody : body -> string val prNode : node -> string end ) = struct structure S = struct structure V = struct type 'a vec = 'a S.V.vec val dim : int val tabulate : (int -> 'a) -> 'a vec val equal : real vec * real vec -> bool val zerov : real vec val addv : real vec * real vec -> real vec val subv : real vec * real vec -> real vec val dotvp : real vec * real vec -> real val crossvp : real vec * real vec -> real vec val addvs : real vec * real -> real vec val mulvs : real vec * real -> real vec val divvs : real vec * real -> real vec val mapv : ('a -> 'b) -> 'a vec -> 'b vec val map3v : ('a * 'b * 'c -> 'd) -> 'a vec * 'b vec * 'c vec -> 'd vec val foldv : ('a * 'b -> 'b) -> 'a vec -> 'b -> 'b val format : {cvt:'a -> string, lp:string, rp:string, sep:string} -> 'a vec -> string val explode : 'a vec -> 'a list val implode : 'a list -> 'a vec type matrix = S.V.matrix val zerom : matrix val addm : matrix * matrix -> matrix val outvp : real vec * real vec -> matrix end datatype body = datatype S.body datatype cell = datatype S.cell datatype node = datatype S.node datatype space = datatype S.space val nsub : int val putCell : cell * int * node -> unit val getCell : cell * int -> node val mkCell : unit -> cell val mkBodyNode : body -> node val mkCellNode : cell -> node val eqBody : body * body -> bool val dumpTree : node -> unit val prBody : body -> string val prNode : node -> string end structure V = struct type 'a vec = 'a S.V.vec val dim : int val tabulate : (int -> 'a) -> 'a vec val equal : real vec * real vec -> bool val zerov : real vec val addv : real vec * real vec -> real vec val subv : real vec * real vec -> real vec val dotvp : real vec * real vec -> real val crossvp : real vec * real vec -> real vec val addvs : real vec * real -> real vec val mulvs : real vec * real -> real vec val divvs : real vec * real -> real vec val mapv : ('a -> 'b) -> 'a vec -> 'b vec val map3v : ('a * 'b * 'c -> 'd) -> 'a vec * 'b vec * 'c vec -> 'd vec val foldv : ('a * 'b -> 'b) -> 'a vec -> 'b -> 'b val format : {cvt:'a -> string, lp:string, rp:string, sep:string} -> 'a vec -> string val explode : 'a vec -> 'a list val implode : 'a list -> 'a vec type matrix = S.V.matrix val zerom : matrix val addm : matrix * matrix -> matrix val outvp : real vec * real vec -> matrix end val hackGrav : {body:S.body, eps:real, root:S.node, rsize:real, tol:real} -> {n2bterm:int, nbcterm:int, skipSelf:bool} end smlsharp-1.2.0/benchmark/benchmarks/barnes_hut/grav.sml0000644 000000000000000000000634312050661606023366 0ustar00rootroot0000000 0000000 (* grav.sml * * COPYRIGHT (c) 1993, AT&T Bell Laboratories. * * Gravity module for hierarchical N-body code; routines to compute gravity. *) signature GRAV = sig structure S : SPACE structure V : VECTOR (* Ueno (2012-Sep-19): To avoid functor argument restriction of SML#, we need to explicit the implementation of 'a vec. sharing S.V = V *) val hackGrav : {body:S.body, root:S.node, rsize:real, tol:real, eps : real} -> {n2bterm:int, nbcterm:int, skipSelf:bool} end; (* GRAV *) functor Grav (S : SPACE) : GRAV = struct structure S = S structure V = S.V fun walk {acc0, phi0, pos0, pskip, eps, rsize, tol, root} = let val skipSelf = ref false val nbcterm = ref 0 and n2bterm = ref 0 val tolsq = (tol * tol) (* compute a single body-body or body-cell interaction. *) fun gravsub (S.Empty, phi0, acc0, _) = (phi0, acc0) | gravsub (p as S.Node{mass, pos, cell, ...}, phi0, acc0, memo) = let val (dr, drsq) = (case memo of NONE => let val dr = V.subv(!pos, pos0) in (dr, V.dotvp(dr, dr) + (eps*eps)) end | SOME(dr', drsq') => (dr', drsq' + (eps*eps)) (* end case *)) val phii = !mass / (Math.sqrt drsq) in case cell of (S.Cell _) => nbcterm := !nbcterm + 1 | _ => n2bterm := !n2bterm + 1 (* end case *); (phi0 - phii, V.addv(acc0, V.mulvs(dr, phii / drsq))) end (* gravsub *) (* recursive routine to do hackwalk operation. This combines the * subdivp and walksub routines from the C version. *) fun walksub (p, dsq, phi0, acc0) = ( (*print(implode[" walksub: dsq = ", makestring dsq, ", ", S.prNode p, "\n"]);*) case p of S.Empty => (phi0, acc0) | (S.Node{cell = S.BodyCell body, ...}) => if S.eqBody(body, pskip) then (skipSelf := true; (phi0, acc0)) else gravsub (p, phi0, acc0, NONE) | (S.Node{cell = S.Cell a, pos, ...}) => let val dr = V.subv(!pos, pos0) val drsq = V.dotvp(dr, dr) in if ((tolsq * drsq) < dsq) then let (* open p up *) fun loop (i, phi0, acc0) = if (i < S.nsub) then let val (phi0', acc0') = walksub ( Array.sub(a, i), dsq/4.0, phi0, acc0) in loop (i+1, phi0', acc0') end else (phi0, acc0) in loop (0, phi0, acc0) end else gravsub (p, phi0, acc0, SOME(dr, drsq)) end (* end case *)) val (phi0, acc0) = walksub (root, rsize*rsize, phi0, acc0) in { phi0 = phi0, acc0 = acc0, nbcterm = !nbcterm, n2bterm = !n2bterm, skip = !skipSelf } end (* walk *) (* evaluate grav field at a given particle. *) fun hackGrav {body as S.Body{pos, phi, acc, ...}, root, rsize, eps, tol} = let val {phi0, acc0, nbcterm, n2bterm, skip} = walk { acc0 = V.zerov, phi0 = 0.0, pos0 = !pos, pskip = body, eps = eps, rsize = rsize, tol = tol, root = root } in phi := phi0; acc := acc0; (** app (fn (fmt, items) => print(Format.format fmt items)) [ ("pos = [%f %f %f]\n", map Format.REAL (V.explode(!pos))), ("pos = [%f %f %f]\n", map Format.REAL (V.explode acc0)), ("phi = %f\n", [Format.REAL phi0]) ]; raise Fail ""; **) {nbcterm=nbcterm, n2bterm=n2bterm, skipSelf=skip} end (* hackgrav *) end; (* Grav *) smlsharp-1.2.0/benchmark/benchmarks/barnes_hut/load-all.sml0000644 000000000000000000000110412050661606024102 0ustar00rootroot0000000 0000000 fun library s = "/usr/local/sml/smlnj-lib/" ^ s; app use (map library [ "lib-base-sig.sml", "lib-base.sml", "random-sig.sml", "random.sml", "charset-sig.sml", "charset.sml", "ctype-sig.sml", "ctype.sml", "string-util-sig.sml", "string-util.sml", "makestring-sig.sml", "makestring.sml", "string-cvt-sig.sml", "string-cvt.sml", "format-sig.sml", "format.sml" ]); app use [ "vector-sig.sml", "space.sml", "load.sml", "grav.sml", "getparam.sml", "data-io.sml", "main.sml", "vector2.sml", "vector3.sml" ]; smlsharp-1.2.0/benchmark/benchmarks/barnes_hut/load-dump.sml0000644 000000000000000000000112412050661606024301 0ustar00rootroot0000000 0000000 fun library s = "/usr/local/sml/smlnj-lib/" ^ s; app use (map library [ "lib-base-sig.sml", "lib-base.sml", "random-sig.sml", "random.sml", "charset-sig.sml", "charset.sml", "ctype-sig.sml", "ctype.sml", "string-util-sig.sml", "string-util.sml", "makestring-sig.sml", "makestring.sml", "string-cvt-sig.sml", "string-cvt.sml", "format-sig.sml", "format.sml" ]); app use [ "vector-sig.sml", "space.sml", "load.sml", "grav.sml", "getparam.sml", "data-io.sml", "main.sml", "dump.sml", "vector2.sml", "vector3.sml" ]; smlsharp-1.2.0/benchmark/benchmarks/barnes_hut/load.sig0000644 000000000000000000000042412050661606023327 0ustar00rootroot0000000 0000000 (* load.sml * * COPYRIGHT (c) 1993, AT&T Bell Laboratories. * * Code to build the tree from a list of bodies. *) signature LOAD = sig structure S : SPACE structure V : VECTOR val makeTree : (S.body list * real V.vec * real) -> S.space end; (* LOAD *) smlsharp-1.2.0/benchmark/benchmarks/barnes_hut/load.smi0000644 000000000000000000001055512050661606023343 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "vector-sig.sml" _require "space.sig" functor Load( S : sig structure V : sig type 'a vec = {x: 'a, y: 'a, z: 'a} val dim : int val tabulate : (int -> 'a) -> 'a vec val equal : real vec * real vec -> bool val zerov : real vec val addv : real vec * real vec -> real vec val subv : real vec * real vec -> real vec val dotvp : real vec * real vec -> real val crossvp : real vec * real vec -> real vec val addvs : real vec * real -> real vec val mulvs : real vec * real -> real vec val divvs : real vec * real -> real vec val mapv : ('a -> 'b) -> 'a vec -> 'b vec val map3v : ('a * 'b * 'c -> 'd) -> 'a vec * 'b vec * 'c vec -> 'd vec val foldv : ('a * 'b -> 'b) -> 'a vec -> 'b -> 'b val format : {cvt:'a -> string, lp:string, rp:string, sep:string} -> 'a vec -> string val explode : 'a vec -> 'a list val implode : 'a list -> 'a vec type matrix val zerom : matrix val addm : matrix * matrix -> matrix val outvp : real vec * real vec -> matrix end datatype body = Body of {acc:real V.vec ref, mass:real, phi:real ref, pos:real V.vec ref, vel:real V.vec ref} datatype cell = BodyCell of body | Cell of node array and node = Empty | Node of {cell:cell, mass:real ref, pos:real V.vec ref} datatype space = Space of {rmin:real V.vec, root:node, rsize:real} val nsub : int val putCell : cell * int * node -> unit val getCell : cell * int -> node val mkCell : unit -> cell val mkBodyNode : body -> node val mkCellNode : cell -> node val eqBody : body * body -> bool val dumpTree : node -> unit val prBody : body -> string val prNode : node -> string end ) = struct structure S = struct structure V = struct type 'a vec = 'a S.V.vec val dim : int val tabulate : (int -> 'a) -> 'a vec val equal : real vec * real vec -> bool val zerov : real vec val addv : real vec * real vec -> real vec val subv : real vec * real vec -> real vec val dotvp : real vec * real vec -> real val crossvp : real vec * real vec -> real vec val addvs : real vec * real -> real vec val mulvs : real vec * real -> real vec val divvs : real vec * real -> real vec val mapv : ('a -> 'b) -> 'a vec -> 'b vec val map3v : ('a * 'b * 'c -> 'd) -> 'a vec * 'b vec * 'c vec -> 'd vec val foldv : ('a * 'b -> 'b) -> 'a vec -> 'b -> 'b val format : {cvt:'a -> string, lp:string, rp:string, sep:string} -> 'a vec -> string val explode : 'a vec -> 'a list val implode : 'a list -> 'a vec type matrix = S.V.matrix val zerom : matrix val addm : matrix * matrix -> matrix val outvp : real vec * real vec -> matrix end datatype body = datatype S.body datatype cell = datatype S.cell datatype node = datatype S.node datatype space = datatype S.space val nsub : int val putCell : cell * int * node -> unit val getCell : cell * int -> node val mkCell : unit -> cell val mkBodyNode : body -> node val mkCellNode : cell -> node val eqBody : body * body -> bool val dumpTree : node -> unit val prBody : body -> string val prNode : node -> string end structure V = struct type 'a vec = 'a S.V.vec val dim : int val tabulate : (int -> 'a) -> 'a vec val equal : real vec * real vec -> bool val zerov : real vec val addv : real vec * real vec -> real vec val subv : real vec * real vec -> real vec val dotvp : real vec * real vec -> real val crossvp : real vec * real vec -> real vec val addvs : real vec * real -> real vec val mulvs : real vec * real -> real vec val divvs : real vec * real -> real vec val mapv : ('a -> 'b) -> 'a vec -> 'b vec val map3v : ('a * 'b * 'c -> 'd) -> 'a vec * 'b vec * 'c vec -> 'd vec val foldv : ('a * 'b -> 'b) -> 'a vec -> 'b -> 'b val format : {cvt:'a -> string, lp:string, rp:string, sep:string} -> 'a vec -> string val explode : 'a vec -> 'a list val implode : 'a list -> 'a vec type matrix = S.V.matrix val zerom : matrix val addm : matrix * matrix -> matrix val outvp : real vec * real vec -> matrix end val makeTree : S.body list * real V.vec * real -> S.space end smlsharp-1.2.0/benchmark/benchmarks/barnes_hut/load.sml0000644 000000000000000000000776012050661606023352 0ustar00rootroot0000000 0000000 (* load.sml * * COPYRIGHT (c) 1993, AT&T Bell Laboratories. * * Code to build the tree from a list of bodies. *) signature LOAD = sig structure S : SPACE structure V : VECTOR (* Ueno (2012-Sep-19): To avoid functor argument restriction of SML#, we need to explicit the implementation of 'a vec. sharing S.V = V *) val makeTree : (S.body list * real V.vec * real) -> S.space end; (* LOAD *) functor Load (S : SPACE) : LOAD = struct structure S = S structure V = S.V exception NotIntCoord fun rshift (n, k) = Word.toInt(Word.~>>(Word.fromInt n, Word.fromInt k)) val IMAX = 0x20000000 (* 2^29 *) val IMAXrs1 = rshift(IMAX, 1) val rIMAX = real IMAX (* compute integerized coordinates. Raises the NotIntCoord exception, * if rp is out of bounds. *) fun intcoord (rp, rmin, rsize) = let val xsc = V.divvs (V.subv(rp, rmin), rsize) fun cvt x = if ((0.0 <= x) andalso (x < 1.0)) then floor(rIMAX * x) else raise NotIntCoord in V.mapv cvt xsc end (* determine which subcell to select. *) fun subindex (iv, l) = let fun aux (v, (i, k)) = if (Word.andb(Word.fromInt v, Word.fromInt l) <> 0w0) then (i + rshift(S.nsub, k+1), k+1) else (i, k+1) in #1 (V.foldv aux iv (0, 0)) end (* enlarge cubical "box", salvaging existing tree structure. *) fun expandBox (nd as S.Body{pos, ...}, box as S.Space{rmin, rsize, root}) = ( (intcoord (!pos, rmin, rsize); box) handle NotIntCoord => let val rmid = V.addvs (rmin, 0.5 * rsize) val rmin' = V.map3v (fn (x,y,z) => if x < y then z - rsize else z) (!pos, rmid, rmin) val rsize' = 2.0 * rsize fun mksub (v, r) = let val x = intcoord (v, rmin', rsize') val k = subindex (x, IMAXrs1) val cell = S.mkCell () in S.putCell (cell, k, r); cell end val box = (case root of S.Empty => S.Space{rmin=rmin', rsize=rsize', root=root} | _ => S.Space{ rmin = rmin', rsize = rsize', root = S.mkCellNode (mksub (rmid, root)) } (* end case *)) in expandBox (nd, box) end) (* insert a single node into the tree *) fun loadTree (body as S.Body{pos=posp, ...}, S.Space{rmin, rsize, root}) = let val xp = intcoord (!posp, rmin, rsize) fun insert (S.Empty, _) = S.mkBodyNode body | insert (n as S.Node{cell=S.BodyCell _, pos=posq, ...}, l) = let val xq = intcoord (!posq, rmin, rsize) val k = subindex (xq, l) val a = S.mkCell() in S.putCell(a, k, n); insert (S.mkCellNode a, l) end | insert (n as S.Node{cell, ...}, l) = let val k = subindex (xp, l) val subtree = insert (S.getCell (cell, k), rshift(l, 1)) in S.putCell (cell, k, subtree); n end in S.Space{rmin = rmin, rsize = rsize, root = insert (root, IMAXrs1)} end (* descend tree finding center-of-mass coordinates. *) fun hackCofM S.Empty = () | hackCofM (S.Node{cell = S.BodyCell _, ...}) = () | hackCofM (S.Node{cell = S.Cell subcells, mass, pos}) = let fun sumMass (i, totMass, cofm) = if (i < S.nsub) then (case Array.sub(subcells, i) of S.Empty => sumMass (i+1, totMass, cofm) | (nd as S.Node{mass, pos, ...}) => let val _ = hackCofM nd val m = !mass in sumMass (i+1, totMass + m, V.addv(cofm, V.mulvs(!pos, m))) end (* end case *)) else ( mass := totMass; pos := V.divvs(cofm, totMass)) in sumMass (0, 0.0, V.zerov) end (* initialize tree structure for hack force calculation. *) fun makeTree (bodies, rmin, rsize) = let fun build ([], space) = space | build ((body as S.Body{mass, ...}) :: r, space) = if Real.==(mass, 0.0) then build (r, space) else let val box = expandBox (body, space) val box = loadTree(body, box) in build (r, box) end val (space as S.Space{root, ...}) = build (bodies, S.Space{rmin=rmin, rsize=rsize, root=S.Empty}) in hackCofM root; space end end; (* functor Load *) smlsharp-1.2.0/benchmark/benchmarks/barnes_hut/main.smi0000644 000000000000000000001574312050661606023354 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "rand.smi" _require "space.smi" _require "grav.smi" _require "getparam.smi" _require "data-io.smi" _require "load.smi" _require "vector-sig.sml" _require "space.sig" _require "load.sig" functor Main( V : sig type 'a vec = {x: 'a, y: 'a, z: 'a} val dim : int val tabulate : (int -> 'a) -> 'a vec val equal : real vec * real vec -> bool val zerov : real vec val addv : real vec * real vec -> real vec val subv : real vec * real vec -> real vec val dotvp : real vec * real vec -> real val crossvp : real vec * real vec -> real vec val addvs : real vec * real -> real vec val mulvs : real vec * real -> real vec val divvs : real vec * real -> real vec val mapv : ('a -> 'b) -> 'a vec -> 'b vec val map3v : ('a * 'b * 'c -> 'd) -> 'a vec * 'b vec * 'c vec -> 'd vec val foldv : ('a * 'b -> 'b) -> 'a vec -> 'b -> 'b val format : {cvt:'a -> string, lp:string, rp:string, sep:string} -> 'a vec -> string val explode : 'a vec -> 'a list val implode : 'a list -> 'a vec type matrix val zerom : matrix val addm : matrix * matrix -> matrix val outvp : real vec * real vec -> matrix end ) = struct structure S = struct structure V = struct type 'a vec = 'a V.vec val dim : int val tabulate : (int -> 'a) -> 'a vec val equal : real vec * real vec -> bool val zerov : real vec val addv : real vec * real vec -> real vec val subv : real vec * real vec -> real vec val dotvp : real vec * real vec -> real val crossvp : real vec * real vec -> real vec val addvs : real vec * real -> real vec val mulvs : real vec * real -> real vec val divvs : real vec * real -> real vec val mapv : ('a -> 'b) -> 'a vec -> 'b vec val map3v : ('a * 'b * 'c -> 'd) -> 'a vec * 'b vec * 'c vec -> 'd vec val foldv : ('a * 'b -> 'b) -> 'a vec -> 'b -> 'b val format : {cvt:'a -> string, lp:string, rp:string, sep:string} -> 'a vec -> string val explode : 'a vec -> 'a list val implode : 'a list -> 'a vec type matrix = V.matrix val zerom : matrix val addm : matrix * matrix -> matrix val outvp : real vec * real vec -> matrix end datatype body = Body of {acc:real V.vec ref, mass:real, phi:real ref, pos:real V.vec ref, vel:real V.vec ref} datatype cell = BodyCell of body | Cell of node array and node = Empty | Node of {cell:cell, mass:real ref, pos:real V.vec ref} datatype space = Space of {rmin:real V.vec, root:node, rsize:real} val nsub : int val putCell : cell * int * node -> unit val getCell : cell * int -> node val mkCell : unit -> cell val mkBodyNode : body -> node val mkCellNode : cell -> node val eqBody : body * body -> bool val dumpTree : node -> unit val prBody : body -> string val prNode : node -> string end structure V = struct type 'a vec = 'a V.vec val dim : int val tabulate : (int -> 'a) -> 'a vec val equal : real vec * real vec -> bool val zerov : real vec val addv : real vec * real vec -> real vec val subv : real vec * real vec -> real vec val dotvp : real vec * real vec -> real val crossvp : real vec * real vec -> real vec val addvs : real vec * real -> real vec val mulvs : real vec * real -> real vec val divvs : real vec * real -> real vec val mapv : ('a -> 'b) -> 'a vec -> 'b vec val map3v : ('a * 'b * 'c -> 'd) -> 'a vec * 'b vec * 'c vec -> 'd vec val foldv : ('a * 'b -> 'b) -> 'a vec -> 'b -> 'b val format : {cvt:'a -> string, lp:string, rp:string, sep:string} -> 'a vec -> string val explode : 'a vec -> 'a list val implode : 'a list -> 'a vec type matrix = V.matrix val zerom : matrix val addm : matrix * matrix -> matrix val outvp : real vec * real vec -> matrix end structure L = struct structure S = struct structure V = struct type 'a vec = 'a V.vec val dim : int val tabulate : (int -> 'a) -> 'a vec val equal : real vec * real vec -> bool val zerov : real vec val addv : real vec * real vec -> real vec val subv : real vec * real vec -> real vec val dotvp : real vec * real vec -> real val crossvp : real vec * real vec -> real vec val addvs : real vec * real -> real vec val mulvs : real vec * real -> real vec val divvs : real vec * real -> real vec val mapv : ('a -> 'b) -> 'a vec -> 'b vec val map3v : ('a * 'b * 'c -> 'd) -> 'a vec * 'b vec * 'c vec -> 'd vec val foldv : ('a * 'b -> 'b) -> 'a vec -> 'b -> 'b val format : {cvt:'a -> string, lp:string, rp:string, sep:string} -> 'a vec -> string val explode : 'a vec -> 'a list val implode : 'a list -> 'a vec type matrix = V.matrix val zerom : matrix val addm : matrix * matrix -> matrix val outvp : real vec * real vec -> matrix end datatype body = datatype S.body datatype cell = datatype S.cell datatype node = datatype S.node datatype space = datatype S.space val nsub : int val putCell : cell * int * node -> unit val getCell : cell * int -> node val mkCell : unit -> cell val mkBodyNode : body -> node val mkCellNode : cell -> node val eqBody : body * body -> bool val dumpTree : node -> unit val prBody : body -> string val prNode : node -> string end structure V = struct type 'a vec = 'a V.vec val dim : int val tabulate : (int -> 'a) -> 'a vec val equal : real vec * real vec -> bool val zerov : real vec val addv : real vec * real vec -> real vec val subv : real vec * real vec -> real vec val dotvp : real vec * real vec -> real val crossvp : real vec * real vec -> real vec val addvs : real vec * real -> real vec val mulvs : real vec * real -> real vec val divvs : real vec * real -> real vec val mapv : ('a -> 'b) -> 'a vec -> 'b vec val map3v : ('a * 'b * 'c -> 'd) -> 'a vec * 'b vec * 'c vec -> 'd vec val foldv : ('a * 'b -> 'b) -> 'a vec -> 'b -> 'b val format : {cvt:'a -> string, lp:string, rp:string, sep:string} -> 'a vec -> string val explode : 'a vec -> 'a list val implode : 'a list -> 'a vec type matrix = V.matrix val zerom : matrix val addm : matrix * matrix -> matrix val outvp : real vec * real vec -> matrix end val makeTree : (S.body list * real V.vec * real) -> S.space end val srand : int -> unit val testdata : int -> S.body list val go : {bodies:S.body list, dtime:real, eps:real, output:{n2bcalc:int, nbccalc:int, nstep:int, selfint:int, tnow:real} -> unit, rmin:real V.vec, rsize:real, tnow:real, tol:real, tstop:real} -> unit val doit : unit -> unit end smlsharp-1.2.0/benchmark/benchmarks/barnes_hut/main.sml0000644 000000000000000000001667712050661606023366 0ustar00rootroot0000000 0000000 (* main.sml * * COPYRIGHT (c) 1993, AT&T Bell Laboratories. * * This is the main driver for the Barnse-HutN-body code. *) functor Main (V : VECTOR) : sig structure S : SPACE structure V : VECTOR structure L : LOAD val srand : int -> unit (* reset the random number generator *) val testdata : int -> S.body list (* generate the Plummer model data *) val go : { output : {n2bcalc:int, nbccalc:int, nstep:int, selfint:int, tnow:real} -> unit, bodies : S.body list, tnow : real, tstop : real, dtime : real, eps : real, tol : real, rmin : real V.vec, rsize : real } -> unit val doit : unit -> unit end = struct structure V = V structure S = Space(V) structure L = Load(S) structure G = Grav(S) structure DataIO = DataIO(S) (* some math utilities *) (** NOTE: these are part of the Math structure in the new basis *) val pi = 3.14159265358979323846 fun pow(x, y) = if Real.==(y, 0.0) then 1.0 else Math.exp (y * Math.ln x) (* random numbers *) local val seed = ref 0.0 in fun srand s = (seed := real s) fun xrand (xl, xh) = let val r = Rand.random (! seed) in seed := r; xl + (((xh - xl) * r) / 2147483647.0) end end (* local *) (* default parameter values *) val defaults = [ (* file names for input/output *) "in=", (* snapshot of initial conditions *) "out=", (* stream of output snapshots *) (* params, used if no input specified, to make a Plummer Model*) "nbody=128", (* number of particles to generate *) "seed=123", (* random number generator seed *) (* params to control N-body integration *) "dtime=0.025", (* integration time-step *) "eps=0.05", (* usual potential softening *) "tol=1.0", (* cell subdivision tolerence *) "fcells=0.75", (* cell allocation parameter *) "tstop=2.0", (* time to stop integration *) "dtout=0.25", (* data-output interval *) "debug=false", (* turn on debugging messages *) "VERSION=1.0" (* JEB 06 March 1988 *) ] (* pick a random point on a sphere of specified radius. *) fun pickshell rad = let fun pickvec () = let val vec = V.tabulate (fn _ => xrand(~1.0, 1.0)) val rsq = V.dotvp(vec, vec) in if (rsq > 1.0) then pickvec () else V.mulvs (vec, rad / Math.sqrt(rsq)) end in pickvec () end (* generate Plummer model initial conditions for test runs, scaled * to units such that M = -4E = G = 1 (Henon, Hegge, etc). * See Aarseth, SJ, Henon, M, & Wielen, R (1974) Astr & Ap, 37, 183. *) fun testdata n = let val mfrac = 0.999 (* mass cut off at mfrac of total *) val rn = real n val rsc = (3.0 * pi) / 16.0 val vsc = Math.sqrt(1.0 / rsc) fun mkBodies (0, cmr, cmv, l) = let (* offset bodies by normalized cm coordinates. Also, reverse * the list to get the same order of bodies as in the C version. *) val cmr = V.divvs(cmr, rn) val cmv = V.divvs(cmv, rn) fun norm ([], l) = l | norm ((p as S.Body{pos, vel, ...}) :: r, l) = ( pos := V.subv(!pos, cmr); vel := V.subv(!vel, cmv); norm (r, p::l)) in norm (l, []) end | mkBodies (i, cmr, cmv, l) = let val r = 1.0 / Math.sqrt (pow(xrand(0.0, mfrac), ~2.0/3.0) - 1.0) val pos = pickshell (rsc * r) fun vN () = let (* von Neumann technique *) val x = xrand(0.0,1.0) val y = xrand(0.0,0.1) in if (y > x*x * (pow (1.0-x*x, 3.5))) then vN () else x end val v = ((Math.sqrt 2.0) * vN()) / pow(1.0 + r*r, 0.25) val vel = pickshell (vsc * v) val body = S.Body{ mass = 1.0 / rn, pos = ref pos, vel = ref vel, acc = ref V.zerov, phi = ref 0.0 } in mkBodies (i-1, V.addv(cmr, pos), V.addv(cmv, vel), body :: l) end in mkBodies (n, V.zerov, V.zerov, []) end (* testdata *) (* startup hierarchical N-body code. This either reads in or generates * an initial set of bodies, and other parameters. *) fun startrun argv = let val _ = GetParam.initParam(argv, defaults) val {nbody, bodies, tnow, headline} = (case (GetParam.getParam "in") of "" => let val nbody = GetParam.getIParam "nbody" in if (nbody < 1) then raise Fail "startrun: absurd nbody" else (); srand (GetParam.getIParam "seed"); { nbody = nbody, bodies = testdata nbody, tnow = 0.0, headline = "Hack code: Plummer model" } end | fname => DataIO.inputData fname (* end case *)) in { nbody = nbody, bodies = bodies, headline = headline, outfile = GetParam.getParam "out", dtime = GetParam.getRParam "dtime", eps = GetParam.getRParam "eps", tol = GetParam.getRParam "tol", tnow = tnow, tstop = GetParam.getRParam "tstop", dtout = GetParam.getRParam "dtout", debug = GetParam.getBParam "debug", rmin = V.tabulate (fn _ => ~2.0), rsize = 4.0 } end (* advance N-body system one time-step. *) fun stepSystem output {plist, dtime, eps, nstep, rmin, rsize, tnow, tol} = let val dthf = 0.5 * dtime val S.Space{rmin, rsize, root} = L.makeTree (plist, rmin, rsize) (* recalculate accelaration *) fun recalc ([], n2bcalc, nbccalc, selfint) = (n2bcalc, nbccalc, selfint) | recalc (p::r, n2bcalc, nbccalc, selfint) = let val S.Body{acc as ref acc1, vel, ...} = p val {n2bterm, nbcterm, skipSelf} = G.hackGrav { body = p, root = root, rsize = rsize, eps = eps, tol = tol } in if (nstep > 0) then (* use change in accel to make 2nd order *) (* correction to vel. *) vel := V.addv(!vel, V.mulvs(V.subv(!acc, acc1), dthf)) else (); recalc (r, n2bcalc+n2bterm, nbccalc+nbcterm, if skipSelf then selfint else (selfint+1)) end (* advance bodies *) fun advance (S.Body{pos, acc, vel, ...}) = let val dvel = V.mulvs (!acc, dthf) val vel1 = V.addv (!vel, dvel) val dpos = V.mulvs (vel1, dtime) in pos := V.addv (!pos, dpos); vel := V.addv (vel1, dvel) end val (n2bcalc, nbccalc, selfint) = recalc (plist, 0, 0, 0) in output {nstep=nstep, tnow=tnow, n2bcalc=n2bcalc, nbccalc=nbccalc, selfint=selfint}; app advance plist; (nstep+1, tnow + dtime) end (* given an initial configuration, run the simulation *) fun go { output, bodies, tnow, tstop, dtime, eps, tol, rsize, rmin } = let val step = stepSystem output fun loop (nstep, tnow) = if (tnow < tstop + (0.1 * dtime)) then loop (step { plist = bodies, dtime = dtime, eps = eps, nstep = nstep, rmin = rmin, rsize = rsize, tnow = tnow, tol = tol }) else () in loop (0, tnow) end fun doit () = let val { nbody, bodies, headline, outfile, dtime, eps, tol, tnow, tstop, dtout, debug, rsize, rmin } = startrun [] fun output {nstep, tnow, n2bcalc, nbccalc, selfint} = DataIO.output{ bodies = bodies, nbody = nbody, n2bcalc = n2bcalc, nbccalc = nbccalc, selfint = selfint, tnow = tnow } in DataIO.initOutput { outfile = outfile, headline = headline, nbody = nbody, tnow = tnow, dtime = dtime, eps = eps, tol = tol, dtout = dtout, tstop = tstop }; go { output=output, bodies=bodies, tnow=tnow, tstop=tstop, dtime=dtime, eps=eps, tol=tol, rsize=rsize, rmin=rmin }; DataIO.stopOutput() end (* doit *) end; (* Main *) smlsharp-1.2.0/benchmark/benchmarks/barnes_hut/main2.smi0000644 000000000000000000000017412050661606023426 0ustar00rootroot0000000 0000000 _require "main.smi" _require "vector3.smi" structure Main = struct val doit : unit -> unit val testit : 'a -> unit end smlsharp-1.2.0/benchmark/benchmarks/barnes_hut/main2.sml0000644 000000000000000000000062012050661606023425 0ustar00rootroot0000000 0000000 structure Main (*: BMARK*) = struct structure M3 = Main(Vector3); val name = "Barnes-Hut (3d)" fun testit strm = () fun doit () = ( M3.srand 123; M3.go { output = fn _ => (), bodies = M3.testdata 128, tnow = 0.0, tstop = 2.0, dtime = 0.025, eps = 0.05, tol = 1.0, rmin = M3.S.V.tabulate (fn _ => ~2.0), rsize = 4.0 }) end; smlsharp-1.2.0/benchmark/benchmarks/barnes_hut/rand-sig.sml0000644 000000000000000000000157512050661606024135 0ustar00rootroot0000000 0000000 (* rand-sig.sml * * COPYRIGHT (c) 1993 by AT&T Bell Laboratories. See COPYRIGHT file for details. * * Signature for a simple random number generator. * *) signature RAND = sig val randMin : real val randMax : real val random : real -> real (* Given seed, return value randMin <= v <= randMax * Iteratively using the value returned by random as the * next seed to random will produce a sequence of pseudo-random * numbers. *) val mkRandom : real -> unit -> real (* Given seed, return function generating a sequence of * random numbers randMin <= v <= randMax *) val norm : real -> real (* r -> r / (randMax + 1.0) *) val range : (int * int) -> real -> int (* Map v, randMin <= v <= randMax to integer range [i,j] * Exception - * BadArg if j < i *) end (* RAND *) smlsharp-1.2.0/benchmark/benchmarks/barnes_hut/rand.smi0000644 000000000000000000000036712050661606023350 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "rand-sig.sml" structure Rand = struct val randMin : real val randMax : real val random : real -> real val mkRandom : real -> unit -> real val norm : real -> real val range : int * int -> real -> int end smlsharp-1.2.0/benchmark/benchmarks/barnes_hut/rand.sml0000644 000000000000000000000234512050661606023351 0ustar00rootroot0000000 0000000 (* rand.sml * * COPYRIGHT (c) 1991 by AT&T Bell Laboratories. See COPYRIGHT file for details * * Random number generator taken from Paulson, pp. 170-171. * Recommended by Stephen K. Park and Keith W. Miller, * Random number generators: good ones are hard to find, * CACM 31 (1988), 1192-1201 * * Note: The Random structure provides a better generator. *) structure Rand : RAND = struct (* real number version for systems with 46-bit mantissas *) val a = 16807.0 and m = 2147483647.0 val randMin = 1.0 val randMax = m - 1.0 fun random seed = let val t = a*seed in t - m * real(floor(t/m)) end fun mkRandom seed = let val seed = ref seed in fn () => (seed := random (!seed); !seed) end fun norm r = r / m fun range (i,j) = if j < i then raise Fail "Rand.range" else let val R = real(j - i + 1) in fn r => i + floor(R*(r/m)) end handle _ => let val ri = real i val R = (real j)-ri+1.0 in fn r => floor(ri + R*(r/m)) end end (* Rand *) smlsharp-1.2.0/benchmark/benchmarks/barnes_hut/README0000644 000000000000000000000227212050661606022567 0ustar00rootroot0000000 0000000 This is an ML version of the "Barnes-Hut" N-Body code. It is based on the third release of the C version written by Joshua E. Barnes (see c-version/Readme for details). It produces answers that are essentially identical to the C version (there is occasionally an off-by-one error in the least significant digit when printing the particle data, but this is probably a difference in the rounding in the output libraries). You will need the SML/NJ library to compile this code, and you may need to patch the library path in the load file. This implementation is functorized over the dimension of space (specified by the Vector structure). To compile the code, type use "load-all"; then apply the Main functor to either the 2 or 3-dimensional vector structure (Vector2 or Vector3). For example: structure M3 = Main (Vector3); produces the 3-dimensional version. To run, type M3.doit(); this will prompt you for parameters. ACKNOWLEDGEMENTS: a lot of the control structure was stolen from an ML version of Barnes-Hut written by Lorenz Huelsbergen at the University of Wisconsin. BUGS: None known at this time. John Reppy AT&T Bell Laboratories Murray Hill, NJ 07974 jhr@research.att.com smlsharp-1.2.0/benchmark/benchmarks/barnes_hut/sources.cm0000644 000000000000000000000030512050661606023706 0ustar00rootroot0000000 0000000 Group is ../timeit.sml rand-sig.sml rand.sml vector-sig.sml space.sml load.sml grav.sml getparam.sml data-io.sml main.sml main2.sml vector3.sml smlsharp-1.2.0/benchmark/benchmarks/barnes_hut/space.sig0000644 000000000000000000000175612050661606023514 0ustar00rootroot0000000 0000000 (* space.sml * * COPYRIGHT (c) 1993, AT&T Bell Laboratories. * * The quad/oct-tree representation of space. *) signature SPACE = sig structure V : VECTOR datatype body = Body of { mass : real, pos : real V.vec ref, vel : real V.vec ref, acc : real V.vec ref, phi : real ref } datatype cell = BodyCell of body | Cell of node Array.array and node = Empty | Node of { mass : real ref, pos : real V.vec ref, cell : cell } datatype space = Space of { rmin : real V.vec, rsize : real, root : node } val nsub : int (* number of sub cells / cell (2 ^ V.dim) *) val putCell : (cell * int * node) -> unit val getCell : (cell * int) -> node val mkCell : unit -> cell val mkBodyNode : body -> node val mkCellNode : cell -> node val eqBody : body * body -> bool (* debugging code *) val dumpTree : node -> unit val prBody : body -> string val prNode : node -> string end; (* SPACE *) smlsharp-1.2.0/benchmark/benchmarks/barnes_hut/space.smi0000644 000000000000000000000522612050661606023516 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "vector-sig.sml" functor Space( V : sig type 'a vec = {x: 'a, y: 'a, z: 'a} val dim : int val tabulate : (int -> 'a) -> 'a vec val equal : real vec * real vec -> bool val zerov : real vec val addv : real vec * real vec -> real vec val subv : real vec * real vec -> real vec val dotvp : real vec * real vec -> real val crossvp : real vec * real vec -> real vec val addvs : real vec * real -> real vec val mulvs : real vec * real -> real vec val divvs : real vec * real -> real vec val mapv : ('a -> 'b) -> 'a vec -> 'b vec val map3v : ('a * 'b * 'c -> 'd) -> 'a vec * 'b vec * 'c vec -> 'd vec val foldv : ('a * 'b -> 'b) -> 'a vec -> 'b -> 'b val format : {cvt:'a -> string, lp:string, rp:string, sep:string} -> 'a vec -> string val explode : 'a vec -> 'a list val implode : 'a list -> 'a vec type matrix val zerom : matrix val addm : matrix * matrix -> matrix val outvp : real vec * real vec -> matrix end ) = struct structure V = struct type 'a vec = 'a V.vec val dim : int val tabulate : (int -> 'a) -> 'a vec val equal : real vec * real vec -> bool val zerov : real vec val addv : real vec * real vec -> real vec val subv : real vec * real vec -> real vec val dotvp : real vec * real vec -> real val crossvp : real vec * real vec -> real vec val addvs : real vec * real -> real vec val mulvs : real vec * real -> real vec val divvs : real vec * real -> real vec val mapv : ('a -> 'b) -> 'a vec -> 'b vec val map3v : ('a * 'b * 'c -> 'd) -> 'a vec * 'b vec * 'c vec -> 'd vec val foldv : ('a * 'b -> 'b) -> 'a vec -> 'b -> 'b val format : {cvt:'a -> string, lp:string, rp:string, sep:string} -> 'a vec -> string val explode : 'a vec -> 'a list val implode : 'a list -> 'a vec type matrix = V.matrix val zerom : matrix val addm : matrix * matrix -> matrix val outvp : real vec * real vec -> matrix end datatype body = Body of {acc:real V.vec ref, mass:real, phi:real ref, pos:real V.vec ref, vel:real V.vec ref} datatype cell = BodyCell of body | Cell of node array and node = Empty | Node of {cell:cell, mass:real ref, pos:real V.vec ref} datatype space = Space of {rmin:real V.vec, root:node, rsize:real} val nsub : int val putCell : cell * int * node -> unit val getCell : cell * int -> node val mkCell : unit -> cell val mkBodyNode : body -> node val mkCellNode : cell -> node val eqBody : body * body -> bool val dumpTree : node -> unit val prBody : body -> string val prNode : node -> string end smlsharp-1.2.0/benchmark/benchmarks/barnes_hut/space.sml0000644 000000000000000000000650412050661606023521 0ustar00rootroot0000000 0000000 (* space.sml * * COPYRIGHT (c) 1993, AT&T Bell Laboratories. * * The quad/oct-tree representation of space. *) signature SPACE = sig structure V : VECTOR datatype body = Body of { mass : real, pos : real V.vec ref, vel : real V.vec ref, acc : real V.vec ref, phi : real ref } datatype cell = BodyCell of body | Cell of node Array.array and node = Empty | Node of { mass : real ref, pos : real V.vec ref, cell : cell } datatype space = Space of { rmin : real V.vec, rsize : real, root : node } val nsub : int (* number of sub cells / cell (2 ^ V.dim) *) val putCell : (cell * int * node) -> unit val getCell : (cell * int) -> node val mkCell : unit -> cell val mkBodyNode : body -> node val mkCellNode : cell -> node val eqBody : body * body -> bool (* debugging code *) val dumpTree : node -> unit val prBody : body -> string val prNode : node -> string end; (* SPACE *) functor Space (V : VECTOR) : SPACE = struct structure V = V datatype body = Body of { mass : real, pos : real V.vec ref, vel : real V.vec ref, acc : real V.vec ref, phi : real ref } datatype cell = BodyCell of body | Cell of node Array.array and node = Empty | Node of { mass : real ref, pos : real V.vec ref, cell : cell } datatype space = Space of { rmin : real V.vec, rsize : real, root : node } fun eqBody(Body{mass,pos,vel,acc,phi}, Body{mass=m1,pos=p1,vel=v1,acc=a1,phi=h1}) = (Real.==(mass, m1) andalso Real.==(!phi, !h1) andalso V.equal(!pos, !p1) andalso V.equal(!vel, !v1) andalso V.equal(!acc, !a1)) (* number of sub cells per cell (2 ^ V.dim) *) val nsub = Word.toInt(Word.<<(0w1, Word.fromInt V.dim)) fun putCell (Cell a, i, nd) = Array.update(a, i, nd) fun getCell (Cell a, i) = Array.sub(a, i) fun mkCell () = Cell(Array.array(nsub, Empty)) fun mkBodyNode (body as Body{pos, mass, ...}) = Node{ cell = BodyCell body, mass = ref mass, pos = ref (!pos) } fun mkCellNode cell = Node{cell = cell, mass = ref 0.0, pos = ref V.zerov} (* debugging code *) local val rfmt = Real.toString val vfmt = V.format{lp="[", rp="]", sep=",", cvt = rfmt} in fun prBody (Body{mass, pos, vel, acc, phi}) = String.concat [ "B{m=", rfmt mass, ", p=", vfmt(!pos), ", v=", vfmt(!vel), ", a=", vfmt(!acc), ", phi=", rfmt(!phi), "}" ] fun prNode Empty = "Empty" | prNode (Node{mass, pos, cell}) = let val cell = (case cell of (Cell _) => "Cell" | (BodyCell b) => (*prBody b*) "Body" (* end case *)) in String.concat [ "N{m=", rfmt(!mass), ", p=", vfmt(!pos), cell, "}" ] end end fun dumpTree tree = let fun printf items = TextIO.output(TextIO.stdOut, String.concat items) fun indent i = StringCvt.padLeft #" " (i+1) "" fun dump (node, l) = let fun dump' (Node{cell=Cell a, ...}) = let fun dump'' i = (dump(Array.sub(a, i), l+1); dump''(i+1)) in (dump'' 0) handle _ => () end | dump' _ = () in printf [ StringCvt.padLeft #" " 2 (Int.toString l), indent l, prNode node, "\n" ]; dump' node end in dump (tree, 0) end end; (* Space *) smlsharp-1.2.0/benchmark/benchmarks/barnes_hut/vector-sig.sml0000644 000000000000000000000254412050661606024510 0ustar00rootroot0000000 0000000 (* vector-sig.sml * * COPYRIGHT (c) 1993, AT&T Bell Laboratories. * * The abstract interface of vectors and matrices in some dimension. *) signature VECTOR = sig (* Ueno (2012-Sep-19): To avoid functor argument restriction of SML#, we need to explicit the implementation of 'a vec. type 'a vec *) type 'a vec = {x: 'a, y: 'a, z: 'a} val dim : int (* dimension of the vectors *) val tabulate : (int -> 'a) -> 'a vec val equal : real vec * real vec -> bool val zerov : real vec val addv : (real vec * real vec) -> real vec val subv : (real vec * real vec) -> real vec val dotvp : (real vec * real vec) -> real val crossvp : (real vec * real vec) -> real vec val addvs : (real vec * real) -> real vec val mulvs : (real vec * real) -> real vec val divvs : (real vec * real) -> real vec val mapv : ('a -> 'b) -> 'a vec -> 'b vec val map3v : (('a * 'b * 'c) -> 'd) -> ('a vec * 'b vec * 'c vec) -> 'd vec val foldv : ('a * 'b -> 'b) -> 'a vec -> 'b -> 'b val format : {lp : string, sep : string, rp : string, cvt : 'a -> string} -> 'a vec -> string val explode : 'a vec -> 'a list val implode : 'a list -> 'a vec type matrix (* matrices are always real valued *) val zerom : matrix val addm : (matrix * matrix) -> matrix val outvp : (real vec * real vec) -> matrix end smlsharp-1.2.0/benchmark/benchmarks/barnes_hut/vector2.sml0000644 000000000000000000000324512050661606024011 0ustar00rootroot0000000 0000000 (* vector2.sml * * COPYRIGHT (c) 1993, AT&T Bell Laboratories. * * 2 dimensional vector arithmetic. *) structure Vector2 : VECTOR = struct type 'a vec = {x : 'a, y : 'a} type realvec = real vec val dim = 2 fun tabulate f = {x = f 0, y = f 1} fun equal({x, y}, {x=x1, y=y1}) = Real.==(x, x1) andalso Real.==(y, y1) val zerov = {x = 0.0, y = 0.0} fun addv ({x=x1, y=y1} : realvec, {x=x2, y=y2}) = {x=x1+x2, y=y1+y2} fun subv ({x=x1, y=y1} : realvec, {x=x2, y=y2}) = {x=x1-x2, y=y1-y2} fun dotvp ({x=x1, y=y1} : realvec, {x=x2, y=y2}) = x1*x2 + y1*y2 fun crossvp ({x=x1, y=y1} : realvec, {x=x2, y=y2}) = {x=x1*y2, y=x2*y1} fun addvs ({x, y} : realvec, s) = {x=x+s, y=y+s} fun mulvs ({x, y} : realvec, s) = {x=x*s, y=y*s} fun divvs ({x, y} : realvec, s) = {x=x/s, y=y/s} fun mapv f {x, y} = {x = f x, y = f y} fun map3v f ({x=x1, y=y1}, {x=x2, y=y2}, {x=x3, y=y3}) = {x = f(x1, x2, x3), y = f(y1, y2, y3)} fun foldv f {x, y} init = f(y, f(x, init)) fun format {lp, rp, sep, cvt} {x, y} = String.concat[lp, cvt x, sep, cvt y, rp] fun explode {x, y} = [x, y] fun implode [x, y] = {x=x, y=y} | implode _ = raise Fail "implode: bad dimension" type matrix = { m00 : real, m01 : real, m10 : real, m11 : real } val zerom = { m00 = 0.0, m01 = 0.0, m10 = 0.0, m11 = 0.0 } fun addm (a : matrix, b : matrix) = { m00=(#m00 a + #m00 b), m01=(#m01 a + #m01 b), m10=(#m10 a + #m10 b), m11=(#m11 a + #m11 b) } fun outvp ({x=a0, y=a1} : realvec, {x=b0, y=b1}) = { m00=(a0*b0), m01=(a0*b1), m10=(a1*b0), m11=(a1*b1) } end (* VectMath *) smlsharp-1.2.0/benchmark/benchmarks/barnes_hut/vector3.smi0000644 000000000000000000000217212050661606024005 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "vector-sig.sml" structure Vector3 = struct type 'a vec = {x: 'a, y: 'a, z: 'a} val dim : int val tabulate : (int -> 'a) -> 'a vec val equal : real vec * real vec -> bool val zerov : real vec val addv : real vec * real vec -> real vec val subv : real vec * real vec -> real vec val dotvp : real vec * real vec -> real val crossvp : real vec * real vec -> real vec val addvs : real vec * real -> real vec val mulvs : real vec * real -> real vec val divvs : real vec * real -> real vec val mapv : ('a -> 'b) -> 'a vec -> 'b vec val map3v : ('a * 'b * 'c -> 'd) -> 'a vec * 'b vec * 'c vec -> 'd vec val foldv : ('a * 'b -> 'b) -> 'a vec -> 'b -> 'b val format : {cvt:'a -> string, lp:string, rp:string, sep:string} -> 'a vec -> string val explode : 'a vec -> 'a list val implode : 'a list -> 'a vec type matrix = {m00 : real, m01 : real, m02 : real, m10 : real, m11 : real, m12 : real, m20 : real, m21 : real, m22 : real} val zerom : matrix val addm : matrix * matrix -> matrix val outvp : real vec * real vec -> matrix end smlsharp-1.2.0/benchmark/benchmarks/barnes_hut/vector3.sml0000644 000000000000000000000445012050661606024011 0ustar00rootroot0000000 0000000 (* vector3.sml * * COPYRIGHT (c) 1993, AT&T Bell Laboratories. * * 3 dimensional vector arithmetic. *) structure Vector3 : VECTOR = struct type 'a vec = {x : 'a, y : 'a, z : 'a} type realvec = real vec val dim = 3 fun tabulate f = {x = f 0, y = f 1, z = f 2} val zerov = {x = 0.0, y = 0.0, z = 0.0} fun equal({x, y, z}, {x=x1, y=y1, z=z1}) = Real.==(x, x1) andalso Real.==(y, y1) andalso Real.==(z, z1) fun addv ({x=x1, y=y1, z=z1} : realvec, {x=x2, y=y2, z=z2}) = {x=x1+x2, y=y1+y2, z=z1+z2} fun subv ({x=x1, y=y1, z=z1} : realvec, {x=x2, y=y2, z=z2}) = {x=x1-x2, y=y1-y2, z=z1-z2} fun dotvp ({x=x1, y=y1, z=z1} : realvec, {x=x2, y=y2, z=z2}) = x1*x2 + y1*y2 + z1*z2 fun crossvp ({x=x1, y=y1, z=z1} : realvec, {x=x2, y=y2, z=z2}) = {x = y1*z2 - z1*y2, y = x1*z2 - z1*x2, z = x1*y2 - y1*x2} fun addvs ({x, y, z} : realvec, s) = {x=x+s, y=y+s, z=z+s} fun mulvs ({x, y, z} : realvec, s) = {x=x*s, y=y*s, z=z*s} fun divvs ({x, y, z} : realvec, s) = {x=x/s, y=y/s, z=z/s} fun mapv f {x, y, z} = {x = f x, y = f y, z = f z} fun map3v f ({x=x1, y=y1, z=z1}, {x=x2, y=y2, z=z2}, {x=x3, y=y3, z=z3}) = {x = f(x1, x2, x3), y = f(y1, y2, y3), z = f(z1, z2, z3)} fun foldv f {x, y, z} init = f(z, f(y, f(x, init))) fun format {lp, rp, sep, cvt} {x, y, z} = String.concat[ lp, cvt x, sep, cvt y, sep, cvt z, rp ] fun explode {x, y, z} = [x, y, z] fun implode [x, y, z] = {x=x, y=y, z=z} | implode _ = raise Fail "implode: bad dimension" type matrix = { m00 : real, m01 : real, m02 : real, m10 : real, m11 : real, m12 : real, m20 : real, m21 : real, m22 : real } val zerom = { m00 = 0.0, m01 = 0.0, m02 = 0.0, m10 = 0.0, m11 = 0.0, m12 = 0.0, m20 = 0.0, m21 = 0.0, m22 = 0.0 } fun addm (a : matrix, b : matrix) = { m00=(#m00 a + #m00 b), m01=(#m01 a + #m01 b), m02=(#m02 a + #m02 b), m10=(#m10 a + #m10 b), m11=(#m11 a + #m11 b), m12=(#m12 a + #m12 b), m20=(#m20 a + #m20 b), m21=(#m21 a + #m21 b), m22=(#m22 a + #m22 b) } fun outvp ({x=a0, y=a1, z=a2} : realvec, {x=b0, y=b1, z=b2}) = { m00=(a0*b0), m01=(a0*b1), m02=(a0*b2), m10=(a1*b0), m11=(a1*b1), m12=(a1*b2), m20=(a2*b0), m21=(a2*b1), m22=(a2*b2) } end (* VectMath *) smlsharp-1.2.0/benchmark/benchmarks/boyer0000755 000000000000000000000000012050661606020613 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks/boyer/boyer.smi0000644 000000000000000000000023512050661606022524 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "terms.smi" _require "terms.sig" structure Main = struct val doit : unit -> unit val testit : TextIO.outstream -> unit end smlsharp-1.2.0/benchmark/benchmarks/boyer/boyer.sml0000644 000000000000000000000567712050661606022546 0ustar00rootroot0000000 0000000 (* boyer.sml: * * Tautology checker *) signature BOYER = sig include TERMS val tautp: term -> bool end structure Boyer: BOYER = struct open Terms fun mem x [] = false | mem x (y::L) = x=y orelse mem x L fun truep (x, lst) = case x of Prop(head, _) => headname head = "true" orelse mem x lst | _ => mem x lst and falsep (x, lst) = case x of Prop(head, _) => headname head = "false" orelse mem x lst | _ => mem x lst fun tautologyp (x, true_lst, false_lst) = if truep (x, true_lst) then true else if falsep (x, false_lst) then false else (case x of Var _ => false | Prop (head,[test, yes, no]) => if headname head = "if" then if truep (test, true_lst) then tautologyp (yes, true_lst, false_lst) else if falsep (test, false_lst) then tautologyp (no, true_lst, false_lst) else tautologyp (yes, test::true_lst, false_lst) andalso tautologyp (no, true_lst, test::false_lst) else false) fun tautp x = tautologyp(rewrite x, [], []); end; (* Boyer *) (* the benchmark *) structure Main (*: BMARK*) = struct open Terms; open Boyer; val subst = [Bind(23, Prop (get "f", [Prop (get "plus", [Prop (get "plus",[Var 0, Var 1]), Prop (get "plus",[Var 2, Prop (get "zero",[])])])])), Bind(24, Prop (get "f", [Prop (get "times", [Prop (get "times",[Var 0, Var 1]), Prop (get "plus",[Var 2, Var 3])])])), Bind(25, Prop (get "f", [Prop (get "reverse", [Prop (get "append", [Prop (get "append",[Var 0, Var 1]), Prop (get "nil",[])])])])), Bind(20, Prop (get "equal", [Prop (get "plus",[Var 0, Var 1]), Prop (get "difference",[Var 23, Var 24])])), Bind(22, Prop (get "lt", [Prop (get "remainder",[Var 0, Var 1]), Prop (get "member",[Var 0, Prop (get "length",[Var 1])])]))] val term = Prop (get "implies", [Prop (get "and", [Prop (get "implies",[Var 23, Var 24]), Prop (get "and", [Prop (get "implies",[Var 24, Var 25]), Prop (get "and", [Prop (get "implies",[Var 25, Var 20]), Prop (get "implies",[Var 20, Var 22])])])]), Prop (get "implies",[Var 23, Var 22])]) fun testit outstrm = if tautp (apply_subst subst term) then TextIO.output (outstrm, "Proved!\n") else TextIO.output (outstrm, "Cannot prove!\n") fun doit () = (tautp (apply_subst subst term); ()) end; (* Main *) smlsharp-1.2.0/benchmark/benchmarks/boyer/doit.smi0000644 000000000000000000000007712050661606022347 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "boyer.smi" _require "rules.smi" smlsharp-1.2.0/benchmark/benchmarks/boyer/doit.sml0000644 000000000000000000000003612050661606022345 0ustar00rootroot0000000 0000000 Main.doit (); print "Done\n"; smlsharp-1.2.0/benchmark/benchmarks/boyer/rules.smi0000644 000000000000000000000107612050661606022542 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "terms.smi" structure Rules = struct datatype term = Prop of {name : string, props : (term * term) list ref} * term list | Var of int datatype binding = Bind of int * term type head = {name : string, props : (term * term) list ref} val get : string -> head val headname : head -> string val add_lemma : term -> unit val apply_subst : binding list -> term -> term val rewrite : term -> term datatype cterm = CProp of string * cterm list | CVar of int val cterm_to_term : cterm -> term val add : cterm -> unit end smlsharp-1.2.0/benchmark/benchmarks/boyer/rules.sml0000644 000000000000000000004552512050661606022554 0ustar00rootroot0000000 0000000 (* rules.sml: *) structure Rules = struct open Terms; datatype cterm = CVar of int | CProp of string * cterm list; fun cterm_to_term (CVar v) = Var v | cterm_to_term (CProp(p, l)) = Prop(get p, map cterm_to_term l) fun add t = add_lemma (cterm_to_term t) val _ = ( add (CProp ("equal", [CProp ("compile",[CVar 5]), CProp ("reverse", [CProp ("codegen",[CProp ("optimize",[CVar 5]), CProp ("nil",[])])])])); add (CProp ("equal", [CProp ("eqp",[CVar 23, CVar 24]), CProp ("equal",[CProp ("fix",[CVar 23]), CProp ("fix",[CVar 24])])])); add (CProp ("equal", [CProp ("gt",[CVar 23, CVar 24]), CProp ("lt",[CVar 24, CVar 23])])); add (CProp ("equal", [CProp ("le",[CVar 23, CVar 24]), CProp ("ge",[CVar 24, CVar 23])])); add (CProp ("equal", [CProp ("ge",[CVar 23, CVar 24]), CProp ("le",[CVar 24, CVar 23])])); add (CProp ("equal", [CProp ("boolean",[CVar 23]), CProp ("or", [CProp ("equal",[CVar 23, CProp ("true",[])]), CProp ("equal",[CVar 23, CProp ("false",[])])])])); add (CProp ("equal", [CProp ("iff",[CVar 23, CVar 24]), CProp ("and", [CProp ("implies",[CVar 23, CVar 24]), CProp ("implies",[CVar 24, CVar 23])])])); add (CProp ("equal", [CProp ("even1",[CVar 23]), CProp ("if", [CProp ("zerop",[CVar 23]), CProp ("true",[]), CProp ("odd",[CProp ("sub1",[CVar 23])])])])); add (CProp ("equal", [CProp ("countps_",[CVar 11, CVar 15]), CProp ("countps_loop",[CVar 11, CVar 15, CProp ("zero",[])])])); add (CProp ("equal", [CProp ("fact_",[CVar 8]), CProp ("fact_loop",[CVar 8, CProp ("one",[])])])); add (CProp ("equal", [CProp ("reverse_",[CVar 23]), CProp ("reverse_loop",[CVar 23, CProp ("nil",[])])])); add (CProp ("equal", [CProp ("divides",[CVar 23, CVar 24]), CProp ("zerop",[CProp ("remainder",[CVar 24, CVar 23])])])); add (CProp ("equal", [CProp ("assume_true",[CVar 21, CVar 0]), CProp ("cons",[CProp ("cons",[CVar 21, CProp ("true",[])]), CVar 0])])); add (CProp ("equal", [CProp ("assume_false",[CVar 21, CVar 0]), CProp ("cons",[CProp ("cons",[CVar 21, CProp ("false",[])]), CVar 0])])); add (CProp ("equal", [CProp ("tautology_checker",[CVar 23]), CProp ("tautologyp",[CProp ("normalize",[CVar 23]), CProp ("nil",[])])])); add (CProp ("equal", [CProp ("falsify",[CVar 23]), CProp ("falsify1",[CProp ("normalize",[CVar 23]), CProp ("nil",[])])])); add (CProp ("equal", [CProp ("prime",[CVar 23]), CProp ("and", [CProp ("not",[CProp ("zerop",[CVar 23])]), CProp ("not", [CProp ("equal",[CVar 23, CProp ("add1",[CProp ("zero",[])])])]), CProp ("prime1",[CVar 23, CProp ("sub1",[CVar 23])])])])); add (CProp ("equal", [CProp ("and",[CVar 15, CVar 16]), CProp ("if", [CVar 15, CProp ("if",[CVar 16, CProp ("true",[]), CProp ("false",[])]), CProp ("false",[])])])); add (CProp ("equal", [CProp ("or",[CVar 15, CVar 16]), CProp ("if", [CVar 15, CProp ("true",[]), CProp ("if",[CVar 16, CProp ("true",[]), CProp ("false",[])]), CProp ("false",[])])])); add (CProp ("equal", [CProp ("not",[CVar 15]), CProp ("if",[CVar 15, CProp ("false",[]), CProp ("true",[])])])); add (CProp ("equal", [CProp ("implies",[CVar 15, CVar 16]), CProp ("if", [CVar 15, CProp ("if",[CVar 16, CProp ("true",[]), CProp ("false",[])]), CProp ("true",[])])])); add (CProp ("equal", [CProp ("fix",[CVar 23]), CProp ("if",[CProp ("numberp",[CVar 23]), CVar 23, CProp ("zero",[])])])); add (CProp ("equal", [CProp ("if",[CProp ("if",[CVar 0, CVar 1, CVar 2]), CVar 3, CVar 4]), CProp ("if", [CVar 0, CProp ("if",[CVar 1, CVar 3, CVar 4]), CProp ("if",[CVar 2, CVar 3, CVar 4])])])); add (CProp ("equal", [CProp ("zerop",[CVar 23]), CProp ("or", [CProp ("equal",[CVar 23, CProp ("zero",[])]), CProp ("not",[CProp ("numberp",[CVar 23])])])])); add (CProp ("equal", [CProp ("plus",[CProp ("plus",[CVar 23, CVar 24]), CVar 25]), CProp ("plus",[CVar 23, CProp ("plus",[CVar 24, CVar 25])])])); add (CProp ("equal", [CProp ("equal",[CProp ("plus",[CVar 0, CVar 1]), CProp ("zero",[])]), CProp ("and",[CProp ("zerop",[CVar 0]), CProp ("zerop",[CVar 1])])])); add (CProp ("equal",[CProp ("difference",[CVar 23, CVar 23]), CProp ("zero",[])])); add (CProp ("equal", [CProp ("equal", [CProp ("plus",[CVar 0, CVar 1]), CProp ("plus",[CVar 0, CVar 2])]), CProp ("equal",[CProp ("fix",[CVar 1]), CProp ("fix",[CVar 2])])])); add (CProp ("equal", [CProp ("equal",[CProp ("zero",[]), CProp ("difference",[CVar 23, CVar 24])]), CProp ("not",[CProp ("gt",[CVar 24, CVar 23])])])); add (CProp ("equal", [CProp ("equal",[CVar 23, CProp ("difference",[CVar 23, CVar 24])]), CProp ("and", [CProp ("numberp",[CVar 23]), CProp ("or", [CProp ("equal",[CVar 23, CProp ("zero",[])]), CProp ("zerop",[CVar 24])])])])); add (CProp ("equal", [CProp ("meaning", [CProp ("plus_tree",[CProp ("append",[CVar 23, CVar 24])]), CVar 0]), CProp ("plus", [CProp ("meaning",[CProp ("plus_tree",[CVar 23]), CVar 0]), CProp ("meaning",[CProp ("plus_tree",[CVar 24]), CVar 0])])])); add (CProp ("equal", [CProp ("meaning", [CProp ("plus_tree",[CProp ("plus_fringe",[CVar 23])]), CVar 0]), CProp ("fix",[CProp ("meaning",[CVar 23, CVar 0])])])); add (CProp ("equal", [CProp ("append",[CProp ("append",[CVar 23, CVar 24]), CVar 25]), CProp ("append",[CVar 23, CProp ("append",[CVar 24, CVar 25])])])); add (CProp ("equal", [CProp ("reverse",[CProp ("append",[CVar 0, CVar 1])]), CProp ("append",[CProp ("reverse",[CVar 1]), CProp ("reverse",[CVar 0])])])); add (CProp ("equal", [CProp ("times",[CVar 23, CProp ("plus",[CVar 24, CVar 25])]), CProp ("plus", [CProp ("times",[CVar 23, CVar 24]), CProp ("times",[CVar 23, CVar 25])])])); add (CProp ("equal", [CProp ("times",[CProp ("times",[CVar 23, CVar 24]), CVar 25]), CProp ("times",[CVar 23, CProp ("times",[CVar 24, CVar 25])])])); add (CProp ("equal", [CProp ("equal",[CProp ("times",[CVar 23, CVar 24]), CProp ("zero",[])]), CProp ("or",[CProp ("zerop",[CVar 23]), CProp ("zerop",[CVar 24])])])); add (CProp ("equal", [CProp ("exec",[CProp ("append",[CVar 23, CVar 24]), CVar 15, CVar 4]), CProp ("exec",[CVar 24, CProp ("exec",[CVar 23, CVar 15, CVar 4]), CVar 4])])); add (CProp ("equal", [CProp ("mc_flatten",[CVar 23, CVar 24]), CProp ("append",[CProp ("flatten",[CVar 23]), CVar 24])])); add (CProp ("equal", [CProp ("member",[CVar 23, CProp ("append",[CVar 0, CVar 1])]), CProp ("or", [CProp ("member",[CVar 23, CVar 0]), CProp ("member",[CVar 23, CVar 1])])])); add (CProp ("equal", [CProp ("member",[CVar 23, CProp ("reverse",[CVar 24])]), CProp ("member",[CVar 23, CVar 24])])); add (CProp ("equal", [CProp ("length",[CProp ("reverse",[CVar 23])]), CProp ("length",[CVar 23])])); add (CProp ("equal", [CProp ("member",[CVar 0, CProp ("intersect",[CVar 1, CVar 2])]), CProp ("and", [CProp ("member",[CVar 0, CVar 1]), CProp ("member",[CVar 0, CVar 2])])])); add (CProp ("equal",[CProp ("nth",[CProp ("zero",[]), CVar 8]), CProp ("zero",[])])); add (CProp ("equal", [CProp ("exp",[CVar 8, CProp ("plus",[CVar 9, CVar 10])]), CProp ("times", [CProp ("exp",[CVar 8, CVar 9]), CProp ("exp",[CVar 8, CVar 10])])])); add (CProp ("equal", [CProp ("exp",[CVar 8, CProp ("times",[CVar 9, CVar 10])]), CProp ("exp",[CProp ("exp",[CVar 8, CVar 9]), CVar 10])])); add (CProp ("equal", [CProp ("reverse_loop",[CVar 23, CVar 24]), CProp ("append",[CProp ("reverse",[CVar 23]), CVar 24])])); add (CProp ("equal", [CProp ("reverse_loop",[CVar 23, CProp ("nil",[])]), CProp ("reverse",[CVar 23])])); add (CProp ("equal", [CProp ("count_list",[CVar 25, CProp ("sort_lp",[CVar 23, CVar 24])]), CProp ("plus", [CProp ("count_list",[CVar 25, CVar 23]), CProp ("count_list",[CVar 25, CVar 24])])])); add (CProp ("equal", [CProp ("equal", [CProp ("append",[CVar 0, CVar 1]), CProp ("append",[CVar 0, CVar 2])]), CProp ("equal",[CVar 1, CVar 2])])); add (CProp ("equal", [CProp ("plus", [CProp ("remainder",[CVar 23, CVar 24]), CProp ("times",[CVar 24, CProp ("quotient",[CVar 23, CVar 24])])]), CProp ("fix",[CVar 23])])); add (CProp ("equal", [CProp ("power_eval",[CProp ("big_plus",[CVar 11, CVar 8, CVar 1]), CVar 1]), CProp ("plus",[CProp ("power_eval",[CVar 11, CVar 1]), CVar 8])])); add (CProp ("equal", [CProp ("power_eval", [CProp ("big_plus",[CVar 23, CVar 24, CVar 8, CVar 1]), CVar 1]), CProp ("plus", [CVar 8, CProp ("plus", [CProp ("power_eval",[CVar 23, CVar 1]), CProp ("power_eval",[CVar 24, CVar 1])])])])); add (CProp ("equal", [CProp ("remainder",[CVar 24, CProp ("one",[])]), CProp ("zero",[])])); add (CProp ("equal", [CProp ("lt",[CProp ("remainder",[CVar 23, CVar 24]), CVar 24]), CProp ("not",[CProp ("zerop",[CVar 24])])])); add (CProp ("equal",[CProp ("remainder",[CVar 23, CVar 23]), CProp ("zero",[])])); add (CProp ("equal", [CProp ("lt",[CProp ("quotient",[CVar 8, CVar 9]), CVar 8]), CProp ("and", [CProp ("not",[CProp ("zerop",[CVar 8])]), CProp ("or", [CProp ("zerop",[CVar 9]), CProp ("not",[CProp ("equal",[CVar 9, CProp ("one",[])])])])])])); add (CProp ("equal", [CProp ("lt",[CProp ("remainder",[CVar 23, CVar 24]), CVar 23]), CProp ("and", [CProp ("not",[CProp ("zerop",[CVar 24])]), CProp ("not",[CProp ("zerop",[CVar 23])]), CProp ("not",[CProp ("lt",[CVar 23, CVar 24])])])])); add (CProp ("equal", [CProp ("power_eval",[CProp ("power_rep",[CVar 8, CVar 1]), CVar 1]), CProp ("fix",[CVar 8])])); add (CProp ("equal", [CProp ("power_eval", [CProp ("big_plus", [CProp ("power_rep",[CVar 8, CVar 1]), CProp ("power_rep",[CVar 9, CVar 1]), CProp ("zero",[]), CVar 1]), CVar 1]), CProp ("plus",[CVar 8, CVar 9])])); add (CProp ("equal", [CProp ("gcd",[CVar 23, CVar 24]), CProp ("gcd",[CVar 24, CVar 23])])); add (CProp ("equal", [CProp ("nth",[CProp ("append",[CVar 0, CVar 1]), CVar 8]), CProp ("append", [CProp ("nth",[CVar 0, CVar 8]), CProp ("nth", [CVar 1, CProp ("difference",[CVar 8, CProp ("length",[CVar 0])])])])])); add (CProp ("equal", [CProp ("difference",[CProp ("plus",[CVar 23, CVar 24]), CVar 23]), CProp ("fix",[CVar 24])])); add (CProp ("equal", [CProp ("difference",[CProp ("plus",[CVar 24, CVar 23]), CVar 23]), CProp ("fix",[CVar 24])])); add (CProp ("equal", [CProp ("difference", [CProp ("plus",[CVar 23, CVar 24]), CProp ("plus",[CVar 23, CVar 25])]), CProp ("difference",[CVar 24, CVar 25])])); add (CProp ("equal", [CProp ("times",[CVar 23, CProp ("difference",[CVar 2, CVar 22])]), CProp ("difference", [CProp ("times",[CVar 2, CVar 23]), CProp ("times",[CVar 22, CVar 23])])])); add (CProp ("equal", [CProp ("remainder",[CProp ("times",[CVar 23, CVar 25]), CVar 25]), CProp ("zero",[])])); add (CProp ("equal", [CProp ("difference", [CProp ("plus",[CVar 1, CProp ("plus",[CVar 0, CVar 2])]), CVar 0]), CProp ("plus",[CVar 1, CVar 2])])); add (CProp ("equal", [CProp ("difference", [CProp ("add1",[CProp ("plus",[CVar 24, CVar 25])]), CVar 25]), CProp ("add1",[CVar 24])])); add (CProp ("equal", [CProp ("lt", [CProp ("plus",[CVar 23, CVar 24]), CProp ("plus",[CVar 23, CVar 25])]), CProp ("lt",[CVar 24, CVar 25])])); add (CProp ("equal", [CProp ("lt", [CProp ("times",[CVar 23, CVar 25]), CProp ("times",[CVar 24, CVar 25])]), CProp ("and", [CProp ("not",[CProp ("zerop",[CVar 25])]), CProp ("lt",[CVar 23, CVar 24])])])); add (CProp ("equal", [CProp ("lt",[CVar 24, CProp ("plus",[CVar 23, CVar 24])]), CProp ("not",[CProp ("zerop",[CVar 23])])])); add (CProp ("equal", [CProp ("gcd", [CProp ("times",[CVar 23, CVar 25]), CProp ("times",[CVar 24, CVar 25])]), CProp ("times",[CVar 25, CProp ("gcd",[CVar 23, CVar 24])])])); add (CProp ("equal", [CProp ("value",[CProp ("normalize",[CVar 23]), CVar 0]), CProp ("value",[CVar 23, CVar 0])])); add (CProp ("equal", [CProp ("equal", [CProp ("flatten",[CVar 23]), CProp ("cons",[CVar 24, CProp ("nil",[])])]), CProp ("and", [CProp ("nlistp",[CVar 23]), CProp ("equal",[CVar 23, CVar 24])])])); add (CProp ("equal", [CProp ("listp",[CProp ("gother",[CVar 23])]), CProp ("listp",[CVar 23])])); add (CProp ("equal", [CProp ("samefringe",[CVar 23, CVar 24]), CProp ("equal",[CProp ("flatten",[CVar 23]), CProp ("flatten",[CVar 24])])])); add (CProp ("equal", [CProp ("equal", [CProp ("greatest_factor",[CVar 23, CVar 24]), CProp ("zero",[])]), CProp ("and", [CProp ("or", [CProp ("zerop",[CVar 24]), CProp ("equal",[CVar 24, CProp ("one",[])])]), CProp ("equal",[CVar 23, CProp ("zero",[])])])])); add (CProp ("equal", [CProp ("equal", [CProp ("greatest_factor",[CVar 23, CVar 24]), CProp ("one",[])]), CProp ("equal",[CVar 23, CProp ("one",[])])])); add (CProp ("equal", [CProp ("numberp",[CProp ("greatest_factor",[CVar 23, CVar 24])]), CProp ("not", [CProp ("and", [CProp ("or", [CProp ("zerop",[CVar 24]), CProp ("equal",[CVar 24, CProp ("one",[])])]), CProp ("not",[CProp ("numberp",[CVar 23])])])])])); add (CProp ("equal", [CProp ("times_list",[CProp ("append",[CVar 23, CVar 24])]), CProp ("times", [CProp ("times_list",[CVar 23]), CProp ("times_list",[CVar 24])])])); add (CProp ("equal", [CProp ("prime_list",[CProp ("append",[CVar 23, CVar 24])]), CProp ("and", [CProp ("prime_list",[CVar 23]), CProp ("prime_list",[CVar 24])])])); add (CProp ("equal", [CProp ("equal",[CVar 25, CProp ("times",[CVar 22, CVar 25])]), CProp ("and", [CProp ("numberp",[CVar 25]), CProp ("or", [CProp ("equal",[CVar 25, CProp ("zero",[])]), CProp ("equal",[CVar 22, CProp ("one",[])])])])])); add (CProp ("equal", [CProp ("ge",[CVar 23, CVar 24]), CProp ("not",[CProp ("lt",[CVar 23, CVar 24])])])); add (CProp ("equal", [CProp ("equal",[CVar 23, CProp ("times",[CVar 23, CVar 24])]), CProp ("or", [CProp ("equal",[CVar 23, CProp ("zero",[])]), CProp ("and", [CProp ("numberp",[CVar 23]), CProp ("equal",[CVar 24, CProp ("one",[])])])])])); add (CProp ("equal", [CProp ("remainder",[CProp ("times",[CVar 24, CVar 23]), CVar 24]), CProp ("zero",[])])); add (CProp ("equal", [CProp ("equal",[CProp ("times",[CVar 0, CVar 1]), CProp ("one",[])]), CProp ("and", [CProp ("not",[CProp ("equal",[CVar 0, CProp ("zero",[])])]), CProp ("not",[CProp ("equal",[CVar 1, CProp ("zero",[])])]), CProp ("numberp",[CVar 0]), CProp ("numberp",[CVar 1]), CProp ("equal",[CProp ("sub1",[CVar 0]), CProp ("zero",[])]), CProp ("equal",[CProp ("sub1",[CVar 1]), CProp ("zero",[])])])])); add (CProp ("equal", [CProp ("lt", [CProp ("length",[CProp ("delete",[CVar 23, CVar 11])]), CProp ("length",[CVar 11])]), CProp ("member",[CVar 23, CVar 11])])); add (CProp ("equal", [CProp ("sort2",[CProp ("delete",[CVar 23, CVar 11])]), CProp ("delete",[CVar 23, CProp ("sort2",[CVar 11])])])); add (CProp ("equal",[CProp ("dsort",[CVar 23]), CProp ("sort2",[CVar 23])])); add (CProp ("equal", [CProp ("length", [CProp ("cons", [CVar 0, CProp ("cons", [CVar 1, CProp ("cons", [CVar 2, CProp ("cons", [CVar 3, CProp ("cons",[CVar 4, CProp ("cons",[CVar 5, CVar 6])])])])])])]) , CProp ("plus",[CProp ("six",[]), CProp ("length",[CVar 6])])])); add (CProp ("equal", [CProp ("difference", [CProp ("add1",[CProp ("add1",[CVar 23])]), CProp ("two",[])]), CProp ("fix",[CVar 23])])); add (CProp ("equal", [CProp ("quotient", [CProp ("plus",[CVar 23, CProp ("plus",[CVar 23, CVar 24])]), CProp ("two",[])]), CProp ("plus",[CVar 23, CProp ("quotient",[CVar 24, CProp ("two",[])])])])); add (CProp ("equal", [CProp ("sigma",[CProp ("zero",[]), CVar 8]), CProp ("quotient", [CProp ("times",[CVar 8, CProp ("add1",[CVar 8])]), CProp ("two",[])])])); add (CProp ("equal", [CProp ("plus",[CVar 23, CProp ("add1",[CVar 24])]), CProp ("if", [CProp ("numberp",[CVar 24]), CProp ("add1",[CProp ("plus",[CVar 23, CVar 24])]), CProp ("add1",[CVar 23])])])); add (CProp ("equal", [CProp ("equal", [CProp ("difference",[CVar 23, CVar 24]), CProp ("difference",[CVar 25, CVar 24])]), CProp ("if", [CProp ("lt",[CVar 23, CVar 24]), CProp ("not",[CProp ("lt",[CVar 24, CVar 25])]), CProp ("if", [CProp ("lt",[CVar 25, CVar 24]), CProp ("not",[CProp ("lt",[CVar 24, CVar 23])]), CProp ("equal",[CProp ("fix",[CVar 23]), CProp ("fix",[CVar 25])])])])]) ); add (CProp ("equal", [CProp ("meaning", [CProp ("plus_tree",[CProp ("delete",[CVar 23, CVar 24])]), CVar 0]), CProp ("if", [CProp ("member",[CVar 23, CVar 24]), CProp ("difference", [CProp ("meaning",[CProp ("plus_tree",[CVar 24]), CVar 0]), CProp ("meaning",[CVar 23, CVar 0])]), CProp ("meaning",[CProp ("plus_tree",[CVar 24]), CVar 0])])])); add (CProp ("equal", [CProp ("times",[CVar 23, CProp ("add1",[CVar 24])]), CProp ("if", [CProp ("numberp",[CVar 24]), CProp ("plus", [CVar 23, CProp ("times",[CVar 23, CVar 24]), CProp ("fix",[CVar 23])])])])); add (CProp ("equal", [CProp ("nth",[CProp ("nil",[]), CVar 8]), CProp ("if",[CProp ("zerop",[CVar 8]), CProp ("nil",[]), CProp ("zero",[])])])); add (CProp ("equal", [CProp ("last",[CProp ("append",[CVar 0, CVar 1])]), CProp ("if", [CProp ("listp",[CVar 1]), CProp ("last",[CVar 1]), CProp ("if", [CProp ("listp",[CVar 0]), CProp ("cons",[CProp ("car",[CProp ("last",[CVar 0])]), CVar 1]), CVar 1])])])); add (CProp ("equal", [CProp ("equal",[CProp ("lt",[CVar 23, CVar 24]), CVar 25]), CProp ("if", [CProp ("lt",[CVar 23, CVar 24]), CProp ("equal",[CProp ("true",[]), CVar 25]), CProp ("equal",[CProp ("false",[]), CVar 25])])])); add (CProp ("equal", [CProp ("assignment",[CVar 23, CProp ("append",[CVar 0, CVar 1])]), CProp ("if", [CProp ("assignedp",[CVar 23, CVar 0]), CProp ("assignment",[CVar 23, CVar 0]), CProp ("assignment",[CVar 23, CVar 1])])])); add (CProp ("equal", [CProp ("car",[CProp ("gother",[CVar 23])]), CProp ("if", [CProp ("listp",[CVar 23]), CProp ("car",[CProp ("flatten",[CVar 23])]), CProp ("zero",[])])])); add (CProp ("equal", [CProp ("flatten",[CProp ("cdr",[CProp ("gother",[CVar 23])])]), CProp ("if", [CProp ("listp",[CVar 23]), CProp ("cdr",[CProp ("flatten",[CVar 23])]), CProp ("cons",[CProp ("zero",[]), CProp ("nil",[])])])])); add (CProp ("equal", [CProp ("quotient",[CProp ("times",[CVar 24, CVar 23]), CVar 24]), CProp ("if", [CProp ("zerop",[CVar 24]), CProp ("zero",[]), CProp ("fix",[CVar 23])])])); add (CProp ("equal", [CProp ("get",[CVar 9, CProp ("set",[CVar 8, CVar 21, CVar 12])]), CProp ("if", [CProp ("eqp",[CVar 9, CVar 8]), CVar 21, CProp ("get",[CVar 9, CVar 12])])]))) end; (* Rules *) smlsharp-1.2.0/benchmark/benchmarks/boyer/sources.cm0000644 000000000000000000000010512050661606022672 0ustar00rootroot0000000 0000000 Group is ../timeit.sml terms.sml rules.sml boyer.sml smlsharp-1.2.0/benchmark/benchmarks/boyer/terms.sig0000644 000000000000000000000052212050661606022527 0ustar00rootroot0000000 0000000 signature TERMS = sig eqtype head; datatype term = Var of int | Prop of head * term list; datatype binding = Bind of int * term; val get: string -> head and headname: head -> string and add_lemma: term -> unit and apply_subst: binding list -> term -> term and rewrite: term -> term end smlsharp-1.2.0/benchmark/benchmarks/boyer/terms.smi0000644 000000000000000000000065512050661606022544 0ustar00rootroot0000000 0000000 _require "basis.smi" structure Terms = struct datatype term = Prop of {name : string, props : (term * term) list ref} * term list | Var of int datatype binding = Bind of int * term type head = {name : string, props : (term * term) list ref} val get : string -> head val headname : head -> string val add_lemma : term -> unit val apply_subst : binding list -> term -> term val rewrite : term -> term end smlsharp-1.2.0/benchmark/benchmarks/boyer/terms.sml0000644 000000000000000000000515212050661606022544 0ustar00rootroot0000000 0000000 (* terms.sml: * * Manipulations over terms *) signature TERMS = sig type head; datatype term = Var of int | Prop of head * term list; datatype binding = Bind of int * term; val get: string -> head and headname: head -> string and add_lemma: term -> unit and apply_subst: binding list -> term -> term and rewrite: term -> term end; structure Terms:TERMS = struct datatype term = Var of int | Prop of { name: string, props: (term * term) list ref } * term list type head = { name: string, props: (term * term) list ref } val lemmas = ref ([] : head list) (* replacement for property lists *) fun headname {name = n, props=p} = n; fun get name = let fun get_rec ((hd1 as {name=n,...})::hdl) = if n = name then hd1 else get_rec hdl | get_rec [] = let val entry = {name = name, props = ref []} in lemmas := entry :: !lemmas; entry end in get_rec (!lemmas) end ; fun add_lemma (Prop(_, [(left as Prop({props=r,...},_)), right])) = r := (left, right) :: !r ; (* substitutions *) exception failure of string; datatype binding = Bind of int * term ; fun get_binding v = let fun get_rec [] = raise (failure "unbound") | get_rec (Bind(w,t)::rest) = if v = w then t else get_rec rest in get_rec end ; fun apply_subst alist = let fun as_rec (term as Var v) = ((get_binding v alist) handle failure _ => term) | as_rec (Prop (head,argl)) = Prop (head, map as_rec argl) in as_rec end ; exception Unify; fun unify (term1, term2) = unify1 (term1, term2, []) and unify1 (term1, term2, unify_subst) = (case term2 of Var v => ((if get_binding v unify_subst = term1 then unify_subst else raise Unify) handle failure _ => Bind(v,term1)::unify_subst) | Prop (head2,argl2) => case term1 of Var _ => raise Unify | Prop (head1,argl1) => if head1=head2 then unify1_lst (argl1, argl2, unify_subst) else raise Unify) and unify1_lst ([], [], unify_subst) = unify_subst | unify1_lst (h1::r1, h2::r2, unify_subst) = unify1_lst(r1, r2, unify1(h1, h2, unify_subst)) | unify1_lst _ = raise Unify ; fun rewrite (term as Var _) = term | rewrite (Prop ((head as {props=p,...}), argl)) = rewrite_with_lemmas (Prop (head, map rewrite argl), !p) and rewrite_with_lemmas (term, []) = term | rewrite_with_lemmas (term, (t1,t2)::rest) = rewrite (apply_subst (unify (term, t1)) t2) handle unify => rewrite_with_lemmas (term, rest) ; end; smlsharp-1.2.0/benchmark/benchmarks/coresml0000755 000000000000000000000000012050661606021137 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks/coresml/fibonacci.smi0000644 000000000000000000000002512050661606023642 0ustar00rootroot0000000 0000000 _require "basis.smi" smlsharp-1.2.0/benchmark/benchmarks/coresml/fibonacci.sml0000644 000000000000000000000023112050661606023644 0ustar00rootroot0000000 0000000 fun fibonacci 0 = 1 | fibonacci 1 = 1 | fibonacci n = fibonacci (n - 1) + fibonacci (n - 2); val x = fibonacci 40; val _ = print (Int.toString x); smlsharp-1.2.0/benchmark/benchmarks/count_graphs0000755 000000000000000000000000012050661606022167 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks/count_graphs/count-graphs.smi0000644 000000000000000000000052412050661606025373 0ustar00rootroot0000000 0000000 (* _require "basis/main/StringStructures.smi" _require "basis/main/ArrayStructures.smi" _require "basis/main/IntStructures.smi" _require "basis/main/List.smi" _require "basis/main/TextIO.smi" _require "basis/main/General.smi" _require "basis/main/binary-op.smi" *) _require "basis.smi" structure Main = struct val doit : unit -> unit end smlsharp-1.2.0/benchmark/benchmarks/count_graphs/count-graphs.sml0000644 000000000000000000003640612050661606025406 0ustar00rootroot0000000 0000000 (* * My favorite high-order procedure. *) fun fold (lst, folder, state) = let fun loop (lst, state) = case lst of [] => state | first::rest => loop (rest, folder (first, state)) in loop (lst, state) end; fun naturalFold (limit, folder, state) = if limit < 0 then raise Domain else let fun loop (i, state) = if i = limit then state else loop (i+1, folder (i, state)) in loop (0, state) end; fun naturalAny (limit, ok) = if limit < 0 then raise Domain else let fun loop i = i <> limit andalso (ok i orelse loop (i+1)) in loop 0 end; fun naturalAll (limit, ok) = if limit < 0 then raise Domain else let fun loop i = i = limit orelse (ok i andalso loop (i+1)) in loop 0 end; (* * Fold over all permutations. * Universe is a list of all the items to be permuted. * pFolder is used to build up the permutation. It is called via * pFolder (next, pState, state, accross) * where next is the next item in the permutation, pState is the * partially constructed permutation and state is the current fold * state over permutations that have already been considered. * If pFolder knows what will result from folding over all permutations * descending from the resulting partial permutation (starting at state), * it should raise the accross exception carrying the new state value. * If pFolder wants to continue building up the permutation, it should * return (newPState, newState). * When a permutation has been completely constructed, folder is called * via * folder (pState, state) * where pState is the final pState and state is the current state. * It should return the new state. *) fun 'a foldOverPermutations (universe, pFolder, pState, folder, state: 'a) = let exception accross of 'a fun outer (universe, pState, state) = case universe of [] => folder (pState, state) | first::rest => let fun inner (first, rest, revOut, state) = let val state = let val (newPState, state) = pFolder (first, pState, state, accross) in outer (fold (revOut, op ::, rest), newPState, state) end handle accross state => state in case rest of [] => state | second::rest => inner (second, rest, first::revOut, state) end in inner (first, rest, [], state) end in outer (universe, pState, state) end; (* * Fold over all arrangements of bag elements. * Universe is a list of lists of items, with equivalent items in the * same list. * pFolder is used to build up the permutation. It is called via * pFolder (next, pState, state, accross) * where next is the next item in the permutation, pState is the * partially constructed permutation and state is the current fold * state over permutations that have already been considered. * If pFolder knows what will result from folding over all permutations * descending from the resulting partial permutation (starting at state), * it should raise the accross exception carrying the new state value. * If pFolder wants to continue building up the permutation, it should * return (newPState, newState). * When a permutation has been completely constructed, folder is called * via * folder (pState, state) * where pState is the final pState and state is the current state. * It should return the new state. *) fun 'a foldOverBagPerms (universe, pFolder, pState, folder, state: 'a) = let exception accross of 'a fun outer (universe, pState, state) = case universe of [] => folder (pState, state) | (fbag as (first::fclone))::rest => let fun inner (fbag, first, fclone, rest, revOut, state) = let val state = let val (newPState, state) = pFolder (first, pState, state, accross) in outer (fold (revOut, op ::, case fclone of [] => rest | _ => fclone::rest), newPState, state) end handle accross state => state in case rest of [] => state | (sbag as (second::sclone))::rest => inner (sbag, second, sclone, rest, fbag::revOut, state) end in inner (fbag, first, fclone, rest, [], state) end in outer (universe, pState, state) end; (* * Fold over the tree of subsets of the elements of universe. * The tree structure comes from the root picking if the first element * is in the subset, etc. * eFolder is called to build up the subset given a decision on wether * or not a given element is in it or not. It is called via * eFolder (elem, isinc, eState, state, fini) * If this determines the result of folding over all the subsets consistant * with the choice so far, then eFolder should raise the exception * fini newState * If we need to proceed deeper in the tree, then eFolder should return * the tuple * (newEState, newState) * folder is called to buld up the final state, folding over subsets * (represented as the terminal eStates). It is called via * folder (eState, state) * It returns the new state. * Note, the order in which elements are folded (via eFolder) is the same * as the order in universe. *) fun 'a foldOverSubsets (universe, eFolder, eState, folder, state: 'a) = let exception fini of 'a fun f (first, rest, eState) (isinc, state) = let val (newEState, newState) = eFolder (first, isinc, eState, state, fini) in outer (rest, newEState, newState) end handle fini state => state and outer (universe, eState, state) = case universe of [] => folder (eState, state) | first::rest => let val f = f (first, rest, eState) in f (false, f (true, state)) end in outer (universe, eState, state) end; fun f universe = foldOverSubsets (universe, fn (elem, isinc, set, state, _) => (if isinc then elem::set else set, state), [], fn (set, sets) => set::sets, []); (* * Given a partitioning of [0, size) into equivalence classes (as a list * of the classes, where each class is a list of integers), and where two * vertices are equivalent iff transposing the two is an automorphism * of the full subgraph on the vertices [0, size), return the equivalence * classes for the graph. The graph is provided as a connection function. * In the result, two equivalent vertices in [0, size) remain equivalent * iff they are either both connected or neither is connected to size. * The vertex size is equivalent to a vertex x in [0, size) iff * connected (size, y) = connected (x, if y = x then size else y) * for all y in [0, size). *) fun refine (size: int, classes: int list list, connected: int*int -> bool): int list list = let fun sizeMatch x = (* Check if vertex size is equivalent to vertex x. *) naturalAll (size, fn y => connected (size, y) = connected (x, if y = x then size else y)) fun merge (class, (merged, classes)) = (* Add class into classes, testing if size should be merged. *) if merged then (true, (rev class)::classes) else let val first::_ = class in if sizeMatch first then (true, fold (class, op ::, [size])::classes) else (false, (rev class)::classes) end fun split (elem, (yes, no)) = if connected (elem, size) then (elem::yes, no) else (yes, elem::no) fun subdivide (class, state) = case class of [first] => merge (class, state) | _ => case fold (class, split, ([], [])) of ([], no) => merge (no, state) | (yes, []) => merge (yes, state) | (yes, no) => merge (no, merge (yes, state)) in case fold (classes, subdivide, (false, [])) of (true, classes) => rev classes | (false, classes) => fold (classes, op ::, [[size]]) end; (* * Given a count of the number of vertices, a partitioning of the vertices * into equivalence classes (where two vertices are equivalent iff * transposing them is a graph automorphism), and a function which, given * two distinct vertices, returns a bool indicating if there is an edge * connecting them, check if the graph is minimal. * If it is, return * SOME how-many-clones-we-walked-through * If not, return NONE. * A graph is minimal iff its connection matrix is (weakly) smaller * then all its permuted friends, where true is less than false, and * the entries are compared lexicographically in the following order: * - * 0 - * 1 2 - * 3 4 5 - * ... * Note, the vertices are the integers in [0, nverts). *) fun minimal (nverts: int, classes: int list list, connected: int*int -> bool): int option = let val perm = Array.array (nverts, ~1) exception fini fun pFolder (new, old, state, accross) = let fun loop v = if v = old then (Array.update (perm, old, new); (old + 1, state)) else case (connected (old, v), connected (new, Array.sub (perm, v))) of (true, false) => raise (accross state) | (false, true) => raise fini | _ => loop (v + 1) in loop 0 end fun folder (_, state) = state + 1 in SOME (foldOverBagPerms ( classes, pFolder, 0, folder, 0)) handle fini => NONE end; (* * Fold over the tree of graphs. * * eFolder is used to fold over the choice of edges via * eFolder (from, to, isinc, eState, state, accross) * with from > to. * * If eFolder knows the result of folding over all graphs which agree * with the currently made decisions, then it should raise the accross * exception carrying the resulting state as a value. * * To continue normally, it should return the tuple * (newEState, newState) * * When all decisions are made with regards to edges from `from', folder * is called via * folder (size, eState, state, accross) * where size is the number of vertices in the graph (the last from+1) and * eState is the final eState for edges from `from'. * * If folder knows the result of folding over all extensions of this graph, * it should raise accross carrying the resulting state as a value. * * If extensions of this graph should be folded over, it should return * the new state. *) fun ('a, 'b) foldOverGraphs (eFolder, eState: 'a, folder, state: 'b) = let exception noextend of 'b fun makeVertss limit = Vector.tabulate (limit, fn nverts => List.tabulate (nverts, fn v => v)) val vertss = ref (makeVertss 0) fun findVerts size = ( if size >= Vector.length (!vertss) then vertss := makeVertss (size + 1) else (); Vector.sub (!vertss, size)) fun f (size, eState, state) = let val state = folder (size, eState, state, noextend) in g (size+1, state) end handle noextend state => state and g (size, state) = let val indices = findVerts (size - 1) fun SeFolder (to, isinc, eState, state, accross) = eFolder (size-1, to, isinc, eState, state, accross) fun Sf (eState, state) = f (size, eState, state) in foldOverSubsets ( indices, SeFolder, eState, Sf, state) end in f (0, eState, state) end; (* * Given the size of a graph, a list of the vertices (the integers in * [0, size)), and the connected function, check if for all full subgraphs, * 3*V - 4 - 2*E >= 0 or V <= 1 * where V is the number of vertices and E is the number of edges. *) local fun short lst = case lst of [] => true | [_] => true | _ => false; in fun okSoFar (size, verts, connected) = let exception fini of unit fun eFolder (elem, isinc, eState as (ac, picked), _, accross) = (if isinc then (fold (picked, fn (p, ac) => if connected (elem, p) then ac - 2 else ac, ac + 3), elem::picked) else eState, ()) fun folder ((ac, picked), state) = if ac >= 0 orelse short picked then state else raise (fini ()) in (foldOverSubsets ( verts, eFolder, (~4, []), folder, ()); true) handle fini () => false end end; fun showGraph (size, connected) = naturalFold (size, fn (from, _) => ( print ((Int.toString from) ^ ":"); naturalFold (size, fn (to, _) => if from <> to andalso connected (from, to) then print (" " ^ (Int.toString to)) else (), ()); print "\n"), ()); fun showList (start, sep, stop, trans) lst = ( start (); case lst of [] => () | first::rest => ( trans first; fold (rest, fn (item, _) => ( sep (); trans item), ())); stop ()); val showIntList = showList ( fn () => print "[", fn () => print ", ", fn () => print "]", fn i => print (Int.toString i)); val showIntListList = showList ( fn () => print "[", fn () => print ", ", fn () => print "]", showIntList); fun h (maxSize, folder, state) = let val ctab = Array.tabulate (maxSize, fn v => Array.array (v, false)) val classesv = Array.array (maxSize+1, []) fun connected (from, to) = let val (from, to) = if from > to then (from, to) else (to, from) in Array.sub (Array.sub (ctab, from), to) end fun update (from, to, value) = let val (from, to) = if from > to then (from, to) else (to, from) in Array.update (Array.sub (ctab, from), to, value) end fun triangle (vnum, e) = naturalAny (e, fn f => connected (vnum, f) andalso connected (e, f)) fun eFolder (from, to, isinc, _, state, accross) = if isinc andalso triangle (from, to) then raise (accross state) else ( update (from, to, isinc); ((), state)) fun Gfolder (size, _, state, accross) = ( if size <> 0 then Array.update (classesv, size, refine (size-1, Array.sub (classesv, size-1), connected)) else (); case minimal (size, Array.sub (classesv, size), connected) of NONE => raise (accross state) | SOME eatMe => if okSoFar (size, List.tabulate (size, fn v => v), connected) then let val state = folder (size, connected, state) in if size = maxSize then raise (accross state) else state end else raise (accross state)) in foldOverGraphs (eFolder, (), Gfolder, state) end; local fun final (size: int, connected: int * int -> bool): int = naturalFold (size, fn (from, ac) => naturalFold (from, fn (to, ac) => if connected (from, to) then ac - 2 else ac, ac), 3*size - 4) in fun f maxSize = h (maxSize, fn (size, connected, state) => if final (size, connected) = 0 then state + 1 else state, 0) end; fun doOne arg = ( print (arg ^ " -> "); case Int.fromString arg of SOME n => print ((Int.toString (f n)) ^ "\n") | NONE => print "NOT A NUMBER\n"); structure Main = struct fun doit() = List.app doOne ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] val doit = fn () => let fun loop n = if n = 0 then () else (doit(); loop(n-1)) in loop 3 end end; smlsharp-1.2.0/benchmark/benchmarks/count_graphs/doit.smi0000644 000000000000000000000006112050661606023714 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "count-graphs.smi" smlsharp-1.2.0/benchmark/benchmarks/count_graphs/doit.sml0000644 000000000000000000000003612050661606023721 0ustar00rootroot0000000 0000000 Main.doit (); print "Done\n"; smlsharp-1.2.0/benchmark/benchmarks/count_graphs/sources.cm0000644 000000000000000000000005412050661606024251 0ustar00rootroot0000000 0000000 Group is ../timeit.sml count-graphs.sml smlsharp-1.2.0/benchmark/benchmarks/cpstak0000755 000000000000000000000000012050661606020760 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks/cpstak/cpstak.smi0000644 000000000000000000000016312050661606023036 0ustar00rootroot0000000 0000000 _require "basis.smi" structure Main = struct val doit : unit -> unit val testit : TextIO.outstream -> unit end smlsharp-1.2.0/benchmark/benchmarks/cpstak/cpstak.sml0000644 000000000000000000000211012050661606023033 0ustar00rootroot0000000 0000000 fun cpstak (x, y, z) = let fun tak (x, y, z, k) = if not (y < x) then k z else tak (x - 1, y, z, fn (v1) => tak (y - 1, z, x, fn (v2) => tak (z - 1, x, y, fn (v3) => tak (v1, v2, v3, k)))) in tak (x, y, z, fn (a) => a) end fun run_benchmark x = x val cpstak_iters = 300 fun cpstak_benchmark (n) = run_benchmark ("cpstak", n, fn () => cpstak (18, 12, 6), fn (x) => x = 7) fun main () = cpstak_benchmark (cpstak_iters) structure Main = struct fun testit out = let val (_,_,f,t) = main () in TextIO.output (out, if t (f ()) then "OK\n" else "Fail\n") end fun doit () = let val (_,n,f,_) = main () fun loop 0 = () | loop n = (f (); loop (n-1)) in loop n end end smlsharp-1.2.0/benchmark/benchmarks/cpstak/doit.smi0000644 000000000000000000000005312050661606022506 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "cpstak.smi" smlsharp-1.2.0/benchmark/benchmarks/cpstak/doit.sml0000644 000000000000000000000003612050661606022512 0ustar00rootroot0000000 0000000 Main.doit (); print "Done\n"; smlsharp-1.2.0/benchmark/benchmarks/depend.mk0000644 000000000000000000002436212050661606021351 0ustar00rootroot0000000 0000000 barnes_hut/data-io.o: barnes_hut/data-io.sml barnes_hut/vector-sig.sml \ barnes_hut/space.sig barnes_hut/data-io.smi barnes_hut/doit.o: barnes_hut/doit.sml barnes_hut/rand-sig.sml \ barnes_hut/rand.smi barnes_hut/vector-sig.sml barnes_hut/space.smi \ barnes_hut/space.sig barnes_hut/grav.smi barnes_hut/getparam.smi \ barnes_hut/data-io.smi barnes_hut/load.smi barnes_hut/load.sig \ barnes_hut/main.smi barnes_hut/vector3.smi barnes_hut/main2.smi \ barnes_hut/doit.smi barnes_hut/getparam.o: barnes_hut/getparam.sml barnes_hut/getparam.smi barnes_hut/grav.o: barnes_hut/grav.sml barnes_hut/vector-sig.sml \ barnes_hut/space.sig barnes_hut/grav.smi barnes_hut/load.o: barnes_hut/load.sml barnes_hut/vector-sig.sml \ barnes_hut/space.sig barnes_hut/load.smi barnes_hut/main.o: barnes_hut/main.sml barnes_hut/rand-sig.sml \ barnes_hut/rand.smi barnes_hut/vector-sig.sml barnes_hut/space.smi \ barnes_hut/space.sig barnes_hut/grav.smi barnes_hut/getparam.smi \ barnes_hut/data-io.smi barnes_hut/load.smi barnes_hut/load.sig \ barnes_hut/main.smi barnes_hut/main2.o: barnes_hut/main2.sml barnes_hut/rand-sig.sml \ barnes_hut/rand.smi barnes_hut/vector-sig.sml barnes_hut/space.smi \ barnes_hut/space.sig barnes_hut/grav.smi barnes_hut/getparam.smi \ barnes_hut/data-io.smi barnes_hut/load.smi barnes_hut/load.sig \ barnes_hut/main.smi barnes_hut/vector3.smi barnes_hut/main2.smi barnes_hut/rand.o: barnes_hut/rand.sml barnes_hut/rand-sig.sml \ barnes_hut/rand.smi barnes_hut/space.o: barnes_hut/space.sml barnes_hut/vector-sig.sml \ barnes_hut/space.smi barnes_hut/vector3.o: barnes_hut/vector3.sml barnes_hut/vector-sig.sml \ barnes_hut/vector3.smi boyer/boyer.o: boyer/boyer.sml boyer/terms.smi boyer/terms.sig boyer/boyer.smi boyer/doit.o: boyer/doit.sml boyer/terms.smi boyer/terms.sig boyer/boyer.smi \ boyer/rules.smi boyer/doit.smi boyer/rules.o: boyer/rules.sml boyer/terms.smi boyer/rules.smi boyer/terms.o: boyer/terms.sml boyer/terms.smi coresml/fibonacci.o: coresml/fibonacci.sml coresml/fibonacci.smi count_graphs/count-graphs.o: count_graphs/count-graphs.sml \ count_graphs/count-graphs.smi count_graphs/doit.o: count_graphs/doit.sml count_graphs/count-graphs.smi \ count_graphs/doit.smi cpstak/cpstak.o: cpstak/cpstak.sml cpstak/cpstak.smi cpstak/doit.o: cpstak/doit.sml cpstak/cpstak.smi cpstak/doit.smi diviter/diviter.o: diviter/diviter.sml diviter/diviter.smi diviter/doit.o: diviter/doit.sml diviter/diviter.smi diviter/doit.smi divrec/divrec.o: divrec/divrec.sml divrec/divrec.smi divrec/doit.o: divrec/doit.sml divrec/divrec.smi divrec/doit.smi fft/doit.o: fft/doit.sml fft/fft.smi fft/doit.smi fft/fft.o: fft/fft.sml fft/fft.smi gcbench/doit.o: gcbench/doit.sml gcbench/gcbench.smi gcbench/doit.smi gcbench/gcbench.o: gcbench/gcbench.sml gcbench/gcbench.smi knuth_bendix/doit.o: knuth_bendix/doit.sml knuth_bendix/knuth-bendix.smi \ knuth_bendix/doit.smi knuth_bendix/knuth-bendix.o: knuth_bendix/knuth-bendix.sml \ knuth_bendix/knuth-bendix.smi lexgen/doit.o: lexgen/doit.sml lexgen/lexgen.smi lexgen/doit.smi lexgen/lexgen.o: lexgen/lexgen.sml lexgen/lexgen.smi life/doit.o: life/doit.sml life/life.smi life/doit.smi life/life.o: life/life.sml life/life.smi logic/data.o: logic/data.sml logic/term.smi logic/trail.smi logic/unify.smi \ logic/data.smi logic/doit.o: logic/doit.sml logic/term.smi logic/trail.smi logic/unify.smi \ logic/data.smi logic/main.smi logic/doit.smi logic/main.o: logic/main.sml logic/term.smi logic/trail.smi logic/unify.smi \ logic/data.smi logic/main.smi logic/term.o: logic/term.sml logic/term.smi logic/trail.o: logic/trail.sml logic/term.smi logic/trail.smi logic/unify.o: logic/unify.sml logic/term.smi logic/trail.smi logic/unify.smi mandelbrot/doit.o: mandelbrot/doit.sml mandelbrot/mandelbrot.smi \ mandelbrot/doit.smi mandelbrot/mandelbrot.o: mandelbrot/mandelbrot.sml mandelbrot/mandelbrot.smi mlyacc/absyn.o: mlyacc/absyn.sml mlyacc/absyn.sig mlyacc/absyn.smi mlyacc/core.o: mlyacc/core.sml mlyacc/base.sig mlyacc/utils.sig \ mlyacc/utils.smi mlyacc/sigs.sml mlyacc/core.smi mlyacc/coreutils.o: mlyacc/coreutils.sml mlyacc/base.sig mlyacc/utils.sig \ mlyacc/utils.smi mlyacc/sigs.sml mlyacc/coreutils.smi mlyacc/doit.o: mlyacc/doit.sml mlyacc/base.sig mlyacc/lrtable.smi \ mlyacc/join.smi mlyacc/stream.smi mlyacc/parser2.smi mlyacc/utils.sig \ mlyacc/sigs.sml mlyacc/hdr.smi mlyacc/yacc.grm.sig mlyacc/yacc.grm.smi \ mlyacc/yacc.lex.smi mlyacc/parse.smi mlyacc/utils.smi mlyacc/grammar.smi \ mlyacc/core.smi mlyacc/coreutils.smi mlyacc/graph.smi mlyacc/look.smi \ mlyacc/lalr.smi mlyacc/mklrtable.smi mlyacc/mkprstruct.smi \ mlyacc/verbose.smi mlyacc/shrink.smi mlyacc/absyn.sig mlyacc/absyn.smi \ mlyacc/yacc.smi mlyacc/link.smi mlyacc/main.smi mlyacc/doit.smi mlyacc/grammar.o: mlyacc/grammar.sml mlyacc/base.sig mlyacc/lrtable.smi \ mlyacc/utils.sig mlyacc/utils.smi mlyacc/sigs.sml mlyacc/grammar.smi mlyacc/graph.o: mlyacc/graph.sml mlyacc/base.sig mlyacc/lrtable.smi \ mlyacc/utils.sig mlyacc/utils.smi mlyacc/sigs.sml mlyacc/graph.smi mlyacc/hdr.o: mlyacc/hdr.sml mlyacc/base.sig mlyacc/utils.sig mlyacc/sigs.sml \ mlyacc/hdr.smi mlyacc/join.o: mlyacc/join.sml mlyacc/base.sig mlyacc/join.smi mlyacc/lalr.o: mlyacc/lalr.sml mlyacc/base.sig mlyacc/lrtable.smi \ mlyacc/utils.sig mlyacc/utils.smi mlyacc/sigs.sml mlyacc/lalr.smi mlyacc/link.o: mlyacc/link.sml mlyacc/base.sig mlyacc/lrtable.smi \ mlyacc/join.smi mlyacc/stream.smi mlyacc/parser2.smi mlyacc/utils.sig \ mlyacc/sigs.sml mlyacc/hdr.smi mlyacc/yacc.grm.sig mlyacc/yacc.grm.smi \ mlyacc/yacc.lex.smi mlyacc/parse.smi mlyacc/utils.smi mlyacc/grammar.smi \ mlyacc/core.smi mlyacc/coreutils.smi mlyacc/graph.smi mlyacc/look.smi \ mlyacc/lalr.smi mlyacc/mklrtable.smi mlyacc/mkprstruct.smi \ mlyacc/verbose.smi mlyacc/shrink.smi mlyacc/absyn.sig mlyacc/absyn.smi \ mlyacc/yacc.smi mlyacc/link.smi mlyacc/look.o: mlyacc/look.sml mlyacc/base.sig mlyacc/lrtable.smi \ mlyacc/utils.sig mlyacc/utils.smi mlyacc/sigs.sml mlyacc/look.smi mlyacc/lrtable.o: mlyacc/lrtable.sml mlyacc/base.sig mlyacc/lrtable.smi mlyacc/main.o: mlyacc/main.sml mlyacc/base.sig mlyacc/lrtable.smi \ mlyacc/join.smi mlyacc/stream.smi mlyacc/parser2.smi mlyacc/utils.sig \ mlyacc/sigs.sml mlyacc/hdr.smi mlyacc/yacc.grm.sig mlyacc/yacc.grm.smi \ mlyacc/yacc.lex.smi mlyacc/parse.smi mlyacc/utils.smi mlyacc/grammar.smi \ mlyacc/core.smi mlyacc/coreutils.smi mlyacc/graph.smi mlyacc/look.smi \ mlyacc/lalr.smi mlyacc/mklrtable.smi mlyacc/mkprstruct.smi \ mlyacc/verbose.smi mlyacc/shrink.smi mlyacc/absyn.sig mlyacc/absyn.smi \ mlyacc/yacc.smi mlyacc/link.smi mlyacc/main.smi mlyacc/mklrtable.o: mlyacc/mklrtable.sml mlyacc/base.sig mlyacc/utils.sig \ mlyacc/utils.smi mlyacc/sigs.sml mlyacc/core.smi mlyacc/coreutils.smi \ mlyacc/lrtable.smi mlyacc/graph.smi mlyacc/look.smi mlyacc/lalr.smi \ mlyacc/mklrtable.smi mlyacc/mkprstruct.o: mlyacc/mkprstruct.sml mlyacc/base.sig mlyacc/utils.sig \ mlyacc/sigs.sml mlyacc/mkprstruct.smi mlyacc/parse.o: mlyacc/parse.sml mlyacc/base.sig mlyacc/utils.sig \ mlyacc/sigs.sml mlyacc/hdr.smi mlyacc/parse.smi mlyacc/parser2.o: mlyacc/parser2.sml mlyacc/base.sig mlyacc/stream.smi \ mlyacc/lrtable.smi mlyacc/parser2.smi mlyacc/shrink.o: mlyacc/shrink.sml mlyacc/base.sig mlyacc/utils.sig \ mlyacc/sigs.sml mlyacc/shrink.smi mlyacc/stream.o: mlyacc/stream.sml mlyacc/base.sig mlyacc/stream.smi mlyacc/t.o: mlyacc/t.sml mlyacc/t.smi mlyacc/utils.o: mlyacc/utils.sml mlyacc/utils.sig mlyacc/utils.smi mlyacc/verbose.o: mlyacc/verbose.sml mlyacc/base.sig mlyacc/utils.sig \ mlyacc/sigs.sml mlyacc/verbose.smi mlyacc/yacc.grm.o: mlyacc/yacc.grm.sml mlyacc/base.sig mlyacc/lrtable.smi \ mlyacc/utils.sig mlyacc/sigs.sml mlyacc/hdr.smi mlyacc/yacc.grm.sig \ mlyacc/yacc.grm.smi mlyacc/yacc.lex.o: mlyacc/yacc.lex.sml mlyacc/base.sig mlyacc/utils.sig \ mlyacc/sigs.sml mlyacc/hdr.smi mlyacc/yacc.grm.sig mlyacc/yacc.lex.smi mlyacc/yacc.o: mlyacc/yacc.sml mlyacc/base.sig mlyacc/lrtable.smi \ mlyacc/utils.sig mlyacc/utils.smi mlyacc/sigs.sml mlyacc/absyn.sig \ mlyacc/yacc.smi nucleic/doit.o: nucleic/doit.sml nucleic/nucleic.smi nucleic/main.smi \ nucleic/doit.smi nucleic/main.o: nucleic/main.sml nucleic/nucleic.smi nucleic/main.smi nucleic/nucleic.o: nucleic/nucleic.sml nucleic/nucleic.smi perm9/doit.o: perm9/doit.sml perm9/perm9.smi perm9/doit.smi perm9/perm9.o: perm9/perm9.sml perm9/perm9.smi puzzle/doit.o: puzzle/doit.sml puzzle/puzzle.smi puzzle/doit.smi puzzle/puzzle.o: puzzle/puzzle.sml puzzle/puzzle.smi ratio_regions/doit.o: ratio_regions/doit.sml ratio_regions/ratio-regions.smi \ ratio_regions/doit.smi ratio_regions/ratio-regions.o: ratio_regions/ratio-regions.sml \ ratio_regions/ratio-regions.smi ray/doit.o: ray/doit.sml ray/objects.smi ray/ray.smi ray/interp.smi \ ray/interface.smi ray/main.smi ray/doit.smi ray/interface.o: ray/interface.sml ray/objects.smi ray/interp.smi ray/ray.smi \ ray/interface.smi ray/interp.o: ray/interp.sml ray/objects.smi ray/interp.smi ray/main.o: ray/main.sml ray/objects.smi ray/ray.smi ray/interp.smi \ ray/interface.smi ray/main.smi ray/objects.o: ray/objects.sml ray/objects.smi ray/ray.o: ray/ray.sml ray/objects.smi ray/ray.smi simple/array2.o: simple/array2.sml simple/array2.smi simple/control.o: simple/control.sml simple/control.smi simple/doit.o: simple/doit.sml simple/array2.smi simple/control.smi \ simple/simple.smi simple/main.smi simple/doit.smi simple/main.o: simple/main.sml simple/array2.smi simple/control.smi \ simple/simple.smi simple/main.smi simple/simple.o: simple/simple.sml simple/array2.smi simple/control.smi \ simple/simple.smi tsp/build.o: tsp/build.sml tsp/lib-base-sig.sml tsp/lib-base.smi \ tsp/rand-sig.sml tsp/rand.smi tsp/tree.smi tsp/build.smi tsp/doit.o: tsp/doit.sml tsp/tree.smi tsp/lib-base-sig.sml tsp/lib-base.smi \ tsp/rand-sig.sml tsp/rand.smi tsp/build.smi tsp/tsp.smi tsp/main.smi \ tsp/doit.smi tsp/lib-base.o: tsp/lib-base.sml tsp/lib-base-sig.sml tsp/lib-base.smi tsp/main.o: tsp/main.sml tsp/tree.smi tsp/lib-base-sig.sml tsp/lib-base.smi \ tsp/rand-sig.sml tsp/rand.smi tsp/build.smi tsp/tsp.smi tsp/main.smi tsp/rand.o: tsp/rand.sml tsp/lib-base-sig.sml tsp/lib-base.smi \ tsp/rand-sig.sml tsp/rand.smi tsp/tree.o: tsp/tree.sml tsp/tree.smi tsp/tsp.o: tsp/tsp.sml tsp/tree.smi tsp/tsp.smi vliw/doit.o: vliw/doit.sml vliw/vliw.smi vliw/doit.smi vliw/vliw.o: vliw/vliw.sml vliw/vliw.smi smlsharp-1.2.0/benchmark/benchmarks/diviter0000755 000000000000000000000000012050661606021141 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks/diviter/diviter.smi0000644 000000000000000000000016312050661606023400 0ustar00rootroot0000000 0000000 _require "basis.smi" structure Main = struct val doit : unit -> unit val testit : TextIO.outstream -> unit end smlsharp-1.2.0/benchmark/benchmarks/diviter/diviter.sml0000644 000000000000000000000261712050661606023411 0ustar00rootroot0000000 0000000 (****************************************************************************** * File: diviter.sml * Description: DIV benchmarks * Author: Richard Gabriel * Created: 8-Apr-85 * Modified: 19-Jul-85 18:28:01 (Bob Shaw) * 23-Jul-87 (Will Clinger: translated into Scheme) * 4-May-94 (Will Clinger: translated into SML) * 24-Jun-99 (Will Clinger: split into two files) * Language: Standard ML * Status: Public Domain ******************************************************************************) (* DIV2 -- Benchmark which divides by 2 using lists of n []'s. *) fun create_n n = let fun loop (n, a) = if n = 0 then a else loop (n-1, []::a) in loop (n, []) end val ll = create_n 200 fun iterative_div2 l = let fun loop ([], a) = a | loop (x::y::z, a) = loop (z, x::a) in loop (l, []) end fun run_benchmark x = x val diviter_iters = 400000 fun div_iter (n) = run_benchmark ("diviter", n, fn () => iterative_div2 ll, fn (x) => length x = 100) fun main () = div_iter (diviter_iters) structure Main = struct fun testit out = let val (_,_,f,t) = main () in TextIO.output (out, if t (f ()) then "OK\n" else "Fail\n") end fun doit () = let val (_,n,f,_) = main () fun loop 0 = () | loop n = (f (); loop (n-1)) in loop n end end smlsharp-1.2.0/benchmark/benchmarks/diviter/doit.smi0000644 000000000000000000000005412050661606022670 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "diviter.smi" smlsharp-1.2.0/benchmark/benchmarks/diviter/doit.sml0000644 000000000000000000000003612050661606022673 0ustar00rootroot0000000 0000000 Main.doit (); print "Done\n"; smlsharp-1.2.0/benchmark/benchmarks/divrec0000755 000000000000000000000000012050661606020747 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks/divrec/divrec.smi0000644 000000000000000000000016312050661606023014 0ustar00rootroot0000000 0000000 _require "basis.smi" structure Main = struct val doit : unit -> unit val testit : TextIO.outstream -> unit end smlsharp-1.2.0/benchmark/benchmarks/divrec/divrec.sml0000644 000000000000000000000254612050661606023026 0ustar00rootroot0000000 0000000 (****************************************************************************** * File: diviter.sml * Description: DIV benchmarks * Author: Richard Gabriel * Created: 8-Apr-85 * Modified: 19-Jul-85 18:28:01 (Bob Shaw) * 23-Jul-87 (Will Clinger: translated into Scheme) * 4-May-94 (Will Clinger: translated into SML) * 24-Jun-99 (Will Clinger: split into two files) * Language: Standard ML * Status: Public Domain ******************************************************************************) (* DIV2 -- Benchmark which divides by 2 using lists of n []'s. *) fun create_n n = let fun loop (n, a) = if n = 0 then a else loop (n-1, []::a) in loop (n, []) end val ll = create_n 200 fun recursive_div2 [] = [] | recursive_div2 (x::y::z) = x :: (recursive_div2 z) fun run_benchmark x = x val diviter_iters = 400000 fun div_rec (n) = run_benchmark ("divrec", n, fn () => recursive_div2 ll, fn (x) => length x = 100) fun main () = div_rec (diviter_iters) structure Main = struct fun testit out = let val (_,_,f,t) = main () in TextIO.output (out, if t (f ()) then "OK\n" else "Fail\n") end fun doit () = let val (_,n,f,_) = main () fun loop 0 = () | loop n = (f (); loop (n-1)) in loop n end end smlsharp-1.2.0/benchmark/benchmarks/divrec/doit.smi0000644 000000000000000000000005312050661606022475 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "divrec.smi" smlsharp-1.2.0/benchmark/benchmarks/divrec/doit.sml0000644 000000000000000000000003612050661606022501 0ustar00rootroot0000000 0000000 Main.doit (); print "Done\n"; smlsharp-1.2.0/benchmark/benchmarks/fft0000755 000000000000000000000000012050661606020252 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks/fft/doit.smi0000644 000000000000000000000005012050661606021775 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "fft.smi" smlsharp-1.2.0/benchmark/benchmarks/fft/doit.sml0000644 000000000000000000000003612050661606022004 0ustar00rootroot0000000 0000000 Main.doit (); print "Done\n"; smlsharp-1.2.0/benchmark/benchmarks/fft/fft.smi0000644 000000000000000000000016312050661606021622 0ustar00rootroot0000000 0000000 _require "basis.smi" structure Main = struct val doit : unit -> unit val testit : TextIO.outstream -> unit end smlsharp-1.2.0/benchmark/benchmarks/fft/fft.sml0000644 000000000000000000001260312050661606021627 0ustar00rootroot0000000 0000000 structure Main(*: BMARK*) = struct local open Array Math val printr = print o Real.toString val printi = print o Int.toString in val PI = 3.14159265358979323846 val tpi = 2.0 * PI fun fft px py np = let fun find_num_points i m = if i < np then find_num_points (i+i) (m+1) else (i,m) val (n,m) = find_num_points 2 1 in if n <> np then let fun loop i = if i > n then () else ( update(px, i, 0.0); update(py, i, 0.0); loop (i+1)) in loop (np+1); print "Use "; printi n; print " point fft\n" end else (); let fun loop_k k n2 = if k >= m then () else let val n4 = n2 div 4 val e = tpi / (real n2) fun loop_j j a = if j > n4 then () else let val a3 = 3.0 * a val cc1 = cos(a) val ss1 = sin(a) val cc3 = cos(a3) val ss3 = sin(a3) fun loop_is is id = if is >= n then () else let fun loop_i0 i0 = if i0 >= n then () else let val i1 = i0 + n4 val i2 = i1 + n4 val i3 = i2 + n4 val r1 = sub(px, i0) - sub(px, i2) val _ = update(px, i0, sub(px, i0) + sub(px, i2)) val r2 = sub(px, i1) - sub(px, i3) val _ = update(px, i1, sub(px, i1) + sub(px, i3)) val s1 = sub(py, i0) - sub(py, i2) val _ = update(py, i0, sub(py, i0) + sub(py, i2)) val s2 = sub(py, i1) - sub(py, i3) val _ = update(py, i1, sub(py, i1) + sub(py, i3)) val s3 = r1 - s2 val r1 = r1 + s2 val s2 = r2 - s1 val r2 = r2 + s1 val _ = update(px, i2, r1*cc1 - s2*ss1) val _ = update(py, i2, ~s2*cc1 - r1*ss1) val _ = update(px, i3, s3*cc3 + r2*ss3) val _ = update(py, i3, r2*cc3 - s3*ss3) in loop_i0 (i0 + id) end in loop_i0 is; loop_is (2 * id - n2 + j) (4 * id) end in loop_is j (2 * n2); loop_j (j+1) (e * real j) end in loop_j 1 0.0; loop_k (k+1) (n2 div 2) end in loop_k 1 n end; (************************************) (* Last stage, length=2 butterfly *) (************************************) let fun loop_is is id = if is >= n then () else let fun loop_i0 i0 = if i0 > n then () else let val i1 = i0 + 1 val r1 = sub(px, i0) val _ = update(px, i0, r1 + sub(px, i1)) val _ = update(px, i1, r1 - sub(px, i1)) val r1 = sub(py, i0) val _ = update(py, i0, r1 + sub(py, i1)) val _ = update(py, i1, r1 - sub(py, i1)) in loop_i0 (i0 + id) end in loop_i0 is; loop_is (2*id - 1) (4 * id) end in loop_is 1 4 end; (*************************) (* Bit reverse counter *) (*************************) let fun loop_i i j = if i >= n then () else (if i < j then (let val xt = sub(px, j) in update(px, j, sub(px, i)); update(px, i, xt) end; let val xt = sub(py, j) in update(py, j, sub(py, i)); update(py, i, xt) end) else (); let fun loop_k k j = if k < j then loop_k (k div 2) (j-k) else j+k val j' = loop_k (n div 2) j in loop_i (i+1) j' end) in loop_i 1 1 end; n end fun abs x = if x >= 0.0 then x else ~x fun test np = let val _ = (printi np; print "... ") val enp = real np val npm = (np div 2) - 1 val pxr = array (np+2, 0.0) val pxi = array (np+2, 0.0) val t = PI / enp val _ = update(pxr, 1, (enp - 1.0) * 0.5) val _ = update(pxi, 1, 0.0) val n2 = np div 2 val _ = update(pxr, n2+1, ~0.5) val _ = update(pxi, n2+1, 0.0) fun loop_i i = if i > npm then () else let val j = np - i val _ = update(pxr, i+1, ~0.5) val _ = update(pxr, j+1, ~0.5) val z = t * real i val y = ~0.5*(cos(z)/sin(z)) val _ = update(pxi, i+1, y) val _ = update(pxi, j+1, ~y) in loop_i (i+1) end val _ = loop_i 1 (*** val _ = print "\n" fun loop_i i = if i > 15 then () else (print i; print "\t"; print (sub(pxr, i+1)); print "\t"; print (sub(pxi, i+1)); print "\n"; loop_i (i+1)) val _ = loop_i 0 ***) val _ = fft pxr pxi np (*** fun loop_i i = if i > 15 then () else (print i; print "\t"; print (sub(pxr, i+1)); print "\t"; print (sub(pxi, i+1)); print "\n"; loop_i (i+1)) val _ = loop_i 0 ***) fun loop_i i zr zi kr ki = if i >= np then (zr,zi) else let val a = abs(sub(pxr, i+1) - real i) val (zr, kr) = if zr < a then (a, i) else (zr, kr) val a = abs(sub(pxi, i+1)) val (zi, ki) = if zi < a then (a, i) else (zi, ki) in loop_i (i+1) zr zi kr ki end val (zr, zi) = loop_i 0 0.0 0.0 0 0 val zm = if abs zr < abs zi then zi else zr in printr zm; print "\n" end fun loop_np i np = if i > 13 then () else (test np; loop_np (i+1) (np*2)) fun doit () = loop_np 1 16 fun testit outstream = doit() end end; smlsharp-1.2.0/benchmark/benchmarks/fft/sources.cm0000644 000000000000000000000004612050661606022335 0ustar00rootroot0000000 0000000 Group is ../timeit.sml fft.sml smlsharp-1.2.0/benchmark/benchmarks/gcbench0000755 000000000000000000000000012050661606021064 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks/gcbench/doit.smi0000644 000000000000000000000005412050661606022613 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "gcbench.smi" smlsharp-1.2.0/benchmark/benchmarks/gcbench/doit.sml0000644 000000000000000000000003612050661606022616 0ustar00rootroot0000000 0000000 Main.doit (); print "Done\n"; smlsharp-1.2.0/benchmark/benchmarks/gcbench/gcbench.smi0000644 000000000000000000000016312050661606023246 0ustar00rootroot0000000 0000000 _require "basis.smi" structure Main = struct val doit : unit -> unit val testit : TextIO.outstream -> unit end smlsharp-1.2.0/benchmark/benchmarks/gcbench/gcbench.sml0000644 000000000000000000001604412050661606023256 0ustar00rootroot0000000 0000000 (* ; This is adapted from a benchmark written by John Ellis and Pete Kovac ; of Post Communications. ; It was modified by Hans Boehm of Silicon Graphics. ; It was translated into Scheme by William D Clinger of Northeastern Univ, ; and modified for compatibility with the Gambit benchmark suite. ; It was translated into Standard ML by William D Clinger. ; Last modified 6 July 1999. ; ; This is no substitute for real applications. No actual application ; is likely to behave in exactly this way. However, this benchmark was ; designed to be more representative of real applications than other ; Java GC benchmarks of which we are aware. ; It attempts to model those properties of allocation requests that ; are important to current GC techniques. ; It is designed to be used either to obtain a single overall performance ; number, or to give a more detailed estimate of how collector ; performance varies with object lifetimes. It prints the time ; required to allocate and collect balanced binary trees of various ; sizes. Smaller trees result in shorter object lifetimes. Each cycle ; allocates roughly the same amount of memory. ; Two data structures are kept around during the entire process, so ; that the measured performance is representative of applications ; that maintain some live in-memory data. One of these is a tree ; containing many pointers. The other is a large array containing ; double precision floating point numbers. Both should be of comparable ; size. ; ; The results are only really meaningful together with a specification ; of how much memory was used. It is possible to trade memory for ; better time performance. This benchmark should be run in a 32 MB ; heap, though we don't currently know how to enforce that uniformly. ; In the Java version, this routine prints the heap size and the amount ; of free memory. There is no portable way to do this in Scheme; each ; implementation needs its own version. *) datatype Tree = Dummy | Node of { left: Tree ref, right: Tree ref, i: int, j: int } fun make_empty_node () = Node { left= ref Dummy, right= ref Dummy, i= 0, j= 0 } fun make_node (l, r) = Node { left= ref l, right= ref r, i= 0, j= 0 } fun PrintDiagnostics () = () fun gcbench kStretchTreeDepth = let open Int fun expt (m:int, n:int) = if n = 0 then 1 else m * expt (m, n - 1) (* Nodes used by a tree of a given size *) fun TreeSize i = expt (2, i + 1) - 1 (* Number of iterations to use for a given tree depth *) fun NumIters i = (2 * (TreeSize kStretchTreeDepth)) div (TreeSize i) (* ; Parameters are determined by kStretchTreeDepth. ; In Boehm's version the parameters were fixed as follows: ; public static final int kStretchTreeDepth = 18; // about 16Mb ; public static final int kLongLivedTreeDepth = 16; // about 4Mb ; public static final int kArraySize = 500000; // about 4Mb ; public static final int kMinTreeDepth = 4; ; public static final int kMaxTreeDepth = 16; ; In Larceny the storage numbers above would be 12 Mby, 3 Mby, 6 Mby. *) val kLongLivedTreeDepth = kStretchTreeDepth - 2 val kArraySize = 4 * (TreeSize kLongLivedTreeDepth) val kMinTreeDepth = 4 val kMaxTreeDepth = kLongLivedTreeDepth (* Build tree top down, assigning to older objects. *) fun Populate (iDepth, Node { left=lr, right=rr, i, j }) = if iDepth <= 0 then false else let val iDepth = iDepth - 1 in ( lr := make_empty_node(); rr := make_empty_node(); Populate (iDepth, !lr); Populate (iDepth, !rr) ) end (* Build tree bottom-up *) fun MakeTree iDepth = if iDepth <= 0 then make_empty_node() else make_node (MakeTree (iDepth - 1), MakeTree (iDepth - 1)) fun TimeConstruction depth = let val iNumIters = NumIters depth in ( print (concat ["Creating ", toString iNumIters, " trees of depth ", toString depth, "\n"]); let fun loop i = if i < iNumIters then (Populate (depth, make_empty_node()); loop (i + 1)) else () in loop 0 end; let fun loop i = if i < iNumIters then (MakeTree depth; loop (i + 1)) else () in loop 0 end ) end fun main () = ( print "Garbage Collector Test\n"; print (concat [" Stretching memory with a binary tree of depth ", toString kStretchTreeDepth, "\n"]); PrintDiagnostics(); (* Stretch the memory space quickly *) MakeTree kStretchTreeDepth; (* Create a long lived object *) print (concat[" Creating a long-lived binary tree of depth ", toString kLongLivedTreeDepth, "\n"]); let val longLivedTree = make_empty_node() in ( Populate (kLongLivedTreeDepth, longLivedTree); (* Create long-lived array, filling half of it *) print (concat [" Creating a long-lived array of ", toString kArraySize, " inexact reals\n"]); let open Array val arr = array (kArraySize, 0.0) fun loop1 i = if i < (kArraySize div 2) then (update (arr, i, 1.0/(Real.fromInt(i))); loop1 (i + 1)) else () fun loop2 d = if d <= kMaxTreeDepth then (TimeConstruction d; loop2 (d + 2)) else () in ( loop1 0; PrintDiagnostics(); loop2 kMinTreeDepth; if (longLivedTree = Dummy) orelse let val n = min (1000, (length(arr) div 2) - 1) in Real.!= (sub (arr, n), (1.0 / Real.fromInt(n))) end then print "Failed\n" else () (* fake reference to LongLivedTree and array to keep them from being optimized away *) ) end) end; PrintDiagnostics()) in main() end (* fun main () = run_benchmark ("gcbench", 1, fn () => gcbench 18, fn (result) => true) *) structure Main = struct fun testit out = TextIO.output (out, "OK\n") fun doit () = gcbench 18 end smlsharp-1.2.0/benchmark/benchmarks/knuth_bendix0000755 000000000000000000000000012050661606022155 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks/knuth_bendix/doit.smi0000644 000000000000000000000006112050661606023702 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "knuth-bendix.smi" smlsharp-1.2.0/benchmark/benchmarks/knuth_bendix/doit.sml0000644 000000000000000000000003612050661606023707 0ustar00rootroot0000000 0000000 Main.doit (); print "Done\n"; smlsharp-1.2.0/benchmark/benchmarks/knuth_bendix/knuth-bendix.smi0000644 000000000000000000000016312050661606025346 0ustar00rootroot0000000 0000000 _require "basis.smi" structure Main = struct val doit : unit -> unit val testit : TextIO.outstream -> unit end smlsharp-1.2.0/benchmark/benchmarks/knuth_bendix/knuth-bendix.sml0000644 000000000000000000004351012050661606025354 0ustar00rootroot0000000 0000000 (* knuth-bendix.sml *) signature KB = sig datatype term = Var of int | Term of string * term list; datatype ordering = Greater | Equal | NotGE; val rpo: (string -> string -> ordering) -> ((term * term -> ordering) -> term * term -> ordering) -> term * term -> ordering; val lex_ext: (term * term -> ordering) -> term * term -> ordering; val kb_complete: (term * term -> bool) -> (int * (int * (term * term))) list -> ('a * ('b * (term * term))) list -> unit; (* include BMARK *) val doit : unit -> unit val testit : TextIO.outstream -> unit end; structure Main : KB = struct val name = "Knuth-Bendix" fun length l = let fun j(k, nil) = k | j(k, a::x) = j(k+1,x) in j(0,l) end fun op @ (nil, l) = l | op @ (a::r, l) = a :: (r@l) fun rev l = let fun f (nil, h) = h | f (a::r, h) = f(r, a::h) in f(l,nil) end fun app f = let fun app_rec [] = () | app_rec (a::L) = (f a; app_rec L) in app_rec end fun map f = let fun map_rec [] = [] | map_rec (a::L) = f a :: map_rec L in map_rec end (******* Quelques definitions du prelude CAML **************) exception Failure of string; fun failwith s = raise(Failure s) fun fst (x,y) = x and snd (x,y) = y fun it_list f = let fun it_rec a [] = a | it_rec a (b::L) = it_rec (f a b) L in it_rec end fun it_list2 f = let fun it_rec a [] [] = a | it_rec a (a1::L1) (a2::L2) = it_rec (f a (a1,a2)) L1 L2 | it_rec _ _ _ = failwith "it_list2" in it_rec end fun exists p = let fun exists_rec [] = false | exists_rec (a::L) = (p a) orelse (exists_rec L) in exists_rec end fun for_all p = let fun for_all_rec [] = true | for_all_rec (a::L) = (p a) andalso (for_all_rec L) in for_all_rec end fun rev_append [] L = L | rev_append (x::L1) L2 = rev_append L1 (x::L2) fun try_find f = let fun try_find_rec [] = failwith "try_find" | try_find_rec (a::L) = (f a) handle Failure _ => try_find_rec L in try_find_rec end fun partition p = let fun part_rec [] = ([],[]) | part_rec (a::L) = let val (pos,neg) = part_rec L in if p a then ((a::pos), neg) else (pos, (a::neg)) end in part_rec end (* 3- Les ensembles et les listes d'association *) fun mem a = let fun mem_rec [] = false | mem_rec (b::L) = (a=b) orelse mem_rec L in mem_rec end fun union L1 L2 = let fun union_rec [] = L2 | union_rec (a::L) = if mem a L2 then union_rec L else a :: union_rec L in union_rec L1 end fun mem_assoc a = let fun mem_rec [] = false | mem_rec ((b,_)::L) = (a=b) orelse mem_rec L in mem_rec end fun assoc a = let fun assoc_rec [] = failwith "find" | assoc_rec ((b,d)::L) = if a=b then d else assoc_rec L in assoc_rec end (* 4- Les sorties *) fun print s = TextIO.output(TextIO.stdOut, s) val print_string = print val print_num = print o Int.toString fun print_newline () = print "\n"; fun message s = (print s; print "\n"); (* 5- Les ensembles *) fun union L1 = let fun union_rec [] = L1 | union_rec (a::L) = if mem a L1 then union_rec L else a :: union_rec L in union_rec end (****************** Term manipulations *****************) datatype term = Var of int | Term of string * term list fun vars (Var n) = [n] | vars (Term(_,L)) = vars_of_list L and vars_of_list [] = [] | vars_of_list (t::r) = union (vars t) (vars_of_list r) fun substitute subst = let fun subst_rec (Term(oper,sons)) = Term(oper, map subst_rec sons) | subst_rec (t as (Var n)) = (assoc n subst) handle Failure _ => t in subst_rec end fun change f = let fun change_rec (h::t) n = if n=1 then f h :: t else h :: change_rec t (n-1) | change_rec _ _ = failwith "change" in change_rec end (* Term replacement replace M u N => M[u<-N] *) fun replace M u N = let fun reprec (_, []) = N | reprec (Term(oper,sons), (n::u)) = Term(oper, change (fn P => reprec(P,u)) sons n) | reprec _ = failwith "replace" in reprec(M,u) end (* matching = - : (term -> term -> subst) *) fun matching term1 term2 = let fun match_rec subst (Var v, M) = if mem_assoc v subst then if M = assoc v subst then subst else failwith "matching" else (v,M) :: subst | match_rec subst (Term(op1,sons1), Term(op2,sons2)) = if op1 = op2 then it_list2 match_rec subst sons1 sons2 else failwith "matching" | match_rec _ _ = failwith "matching" in match_rec [] (term1,term2) end (* A naive unification algorithm *) fun compsubst subst1 subst2 = (map (fn (v,t) => (v, substitute subst1 t)) subst2) @ subst1 fun occurs n = let fun occur_rec (Var m) = (m=n) | occur_rec (Term(_,sons)) = exists occur_rec sons in occur_rec end fun unify ((term1 as (Var n1)), term2) = if term1 = term2 then [] else if occurs n1 term2 then failwith "unify" else [(n1,term2)] | unify (term1, Var n2) = if occurs n2 term1 then failwith "unify" else [(n2,term1)] | unify (Term(op1,sons1), Term(op2,sons2)) = if op1 = op2 then it_list2 (fn s => fn (t1,t2) => compsubst (unify(substitute s t1, substitute s t2)) s) [] sons1 sons2 else failwith "unify" (* We need to print terms with variables independently from input terms obtained by parsing. We give arbitrary names v1,v2,... to their variables. *) val INFIXES = ["+","*"]; fun pretty_term (Var n) = (print_string "v"; print_num n) | pretty_term (Term (oper,sons)) = if mem oper INFIXES then case sons of [s1,s2] => (pretty_close s1; print_string oper; pretty_close s2) | _ => failwith "pretty_term : infix arity <> 2" else (print_string oper; case sons of [] => () | t::lt =>(print_string "("; pretty_term t; app (fn t => (print_string ","; pretty_term t)) lt; print_string ")")) and pretty_close (M as Term(oper, _)) = if mem oper INFIXES then (print_string "("; pretty_term M; print_string ")") else pretty_term M | pretty_close M = pretty_term M (****************** Equation manipulations *************) (* standardizes an equation so its variables are 1,2,... *) fun mk_rule M N = let val all_vars = union (vars M) (vars N); val (k,subst) = it_list (fn (i,sigma) => fn v => (i+1,(v,Var(i))::sigma)) (1,[]) all_vars in (k-1, (substitute subst M, substitute subst N)) end (* checks that rules are numbered in sequence and returns their number *) fun check_rules l = it_list (fn n => fn (k,_) => if k=n+1 then k else failwith "Rule numbers not in sequence") 0 l fun pretty_rule (k,(n,(M,N))) = (print_num k; print_string " : "; pretty_term M; print_string " = "; pretty_term N; print_newline()) fun pretty_rules l = app pretty_rule l (****************** Rewriting **************************) (* Top-level rewriting. Let eq:L=R be an equation, M be a term such that L<=M. With sigma = matching L M, we define the image of M by eq as sigma(R) *) fun reduce L M = substitute (matching L M) (* A more efficient version of can (rewrite1 (L,R)) for R arbitrary *) fun reducible L = let fun redrec M = (matching L M; true) handle Failure _ => case M of Term(_,sons) => exists redrec sons | _ => false in redrec end (* mreduce : rules -> term -> term *) fun mreduce rules M = let fun redex (_,(_,(L,R))) = reduce L M R in try_find redex rules end (* One step of rewriting in leftmost-outermost strategy, with multiple rules *) (* fails if no redex is found *) (* mrewrite1 : rules -> term -> term *) fun mrewrite1 rules = let fun rewrec M = (mreduce rules M) handle Failure _ => let fun tryrec [] = failwith "mrewrite1" | tryrec (son::rest) = (rewrec son :: rest) handle Failure _ => son :: tryrec rest in case M of Term(f, sons) => Term(f, tryrec sons) | _ => failwith "mrewrite1" end in rewrec end (* Iterating rewrite1. Returns a normal form. May loop forever *) (* mrewrite_all : rules -> term -> term *) fun mrewrite_all rules M = let fun rew_loop M = rew_loop(mrewrite1 rules M) handle Failure _ => M in rew_loop M end (* pretty_term (mrewrite_all Group_rules M where M,_=<>);; ==> A*U *) (************************ Recursive Path Ordering ****************************) datatype ordering = Greater | Equal | NotGE; fun ge_ord order pair = case order pair of NotGE => false | _ => true and gt_ord order pair = case order pair of Greater => true | _ => false and eq_ord order pair = case order pair of Equal => true | _ => false fun rem_eq equiv = let fun remrec x [] = failwith "rem_eq" | remrec x (y::l) = if equiv (x,y) then l else y :: remrec x l in remrec end fun diff_eq equiv (x,y) = let fun diffrec (p as ([],_)) = p | diffrec ((h::t), y) = diffrec (t,rem_eq equiv h y) handle Failure _ => let val (x',y') = diffrec (t,y) in (h::x',y') end in if length x > length y then diffrec(y,x) else diffrec(x,y) end (* multiset extension of order *) fun mult_ext order (Term(_,sons1), Term(_,sons2)) = (case diff_eq (eq_ord order) (sons1,sons2) of ([],[]) => Equal | (l1,l2) => if for_all (fn N => exists (fn M => order (M,N) = Greater) l1) l2 then Greater else NotGE) | mult_ext order (_, _) = failwith "mult_ext" (* lexicographic extension of order *) fun lex_ext order ((M as Term(_,sons1)), (N as Term(_,sons2))) = let fun lexrec ([] , []) = Equal | lexrec ([] , _ ) = NotGE | lexrec ( _ , []) = Greater | lexrec (x1::l1, x2::l2) = case order (x1,x2) of Greater => if for_all (fn N' => gt_ord order (M,N')) l2 then Greater else NotGE | Equal => lexrec (l1,l2) | NotGE => if exists (fn M' => ge_ord order (M',N)) l1 then Greater else NotGE in lexrec (sons1, sons2) end | lex_ext order _ = failwith "lex_ext" (* recursive path ordering *) fun rpo op_order ext = let fun rporec (M,N) = if M=N then Equal else case M of Var m => NotGE | Term(op1,sons1) => case N of Var n => if occurs n M then Greater else NotGE | Term(op2,sons2) => case (op_order op1 op2) of Greater => if for_all (fn N' => gt_ord rporec (M,N')) sons2 then Greater else NotGE | Equal => ext rporec (M,N) | NotGE => if exists (fn M' => ge_ord rporec (M',N)) sons1 then Greater else NotGE in rporec end (****************** Critical pairs *********************) (* All (u,sig) such that N/u (&var) unifies with M, with principal unifier sig *) fun super M = let fun suprec (N as Term(_,sons)) = let fun collate (pairs,n) son = (pairs @ map (fn (u,sigma) => (n::u,sigma)) (suprec son), n+1); val insides = fst (it_list collate ([],1) sons) in ([], unify(M,N)) :: insides handle Failure _ => insides end | suprec _ = [] in suprec end (* Ex : let (M,_) = <> and (N,_) = <> in super M N;; ==> [[1],[2,Term ("B",[])]; x <- B [2],[2,Term ("A",[]); 1,Term ("B",[])]] x <- A y <- B *) (* All (u,sigma), u&[], such that N/u unifies with M *) (* super_strict : term -> term -> (num list & subst) list *) fun super_strict M (Term(_,sons)) = let fun collate (pairs,n) son = (pairs @ map (fn (u,sigma) => (n::u,sigma)) (super M son), n+1) in fst (it_list collate ([],1) sons) end | super_strict _ _ = [] (* Critical pairs of L1=R1 with L2=R2 *) (* critical_pairs : term_pair -> term_pair -> term_pair list *) fun critical_pairs (L1,R1) (L2,R2) = let fun mk_pair (u,sigma) = (substitute sigma (replace L2 u R1), substitute sigma R2) in map mk_pair (super L1 L2) end (* Strict critical pairs of L1=R1 with L2=R2 *) (* strict_critical_pairs : term_pair -> term_pair -> term_pair list *) fun strict_critical_pairs (L1,R1) (L2,R2) = let fun mk_pair (u,sigma) = (substitute sigma (replace L2 u R1), substitute sigma R2) in map mk_pair (super_strict L1 L2) end (* All critical pairs of eq1 with eq2 *) fun mutual_critical_pairs eq1 eq2 = (strict_critical_pairs eq1 eq2) @ (critical_pairs eq2 eq1) (* Renaming of variables *) fun rename n (t1,t2) = let fun ren_rec (Var k) = Var(k+n) | ren_rec (Term(oper,sons)) = Term(oper, map ren_rec sons) in (ren_rec t1, ren_rec t2) end (************************ Completion ******************************) fun deletion_message (k,_) = (print_string "Rule ";print_num k; message " deleted") (* Generate failure message *) fun non_orientable (M,N) = (pretty_term M; print_string " = "; pretty_term N; print_newline()) (* Improved Knuth-Bendix completion procedure *) (* kb_completion : (term_pair -> bool) -> num -> rules -> term_pair list -> (num & num) -> term_pair list -> rules *) fun kb_completion greater = let fun kbrec n rules = let val normal_form = mrewrite_all rules; fun get_rule k = assoc k rules; fun process failures = let fun processf (k,l) = let fun processkl [] = if k rules (* successful completion *) | _ => (message "Non-orientable equations :"; app non_orientable failures; failwith "kb_completion")) | processkl ((M,N)::eqs) = let val M' = normal_form M; val N' = normal_form N; fun enter_rule(left,right) = let val new_rule = (n+1, mk_rule left right) in (pretty_rule new_rule; let fun left_reducible (_,(_,(L,_))) = reducible left L; val (redl,irredl) = partition left_reducible rules in (app deletion_message redl; let fun right_reduce (m,(_,(L,R))) = (m,mk_rule L (mrewrite_all (new_rule::rules) R)); val irreds = map right_reduce irredl; val eqs' = map (fn (_,(_,pair)) => pair) redl in kbrec (n+1) (new_rule::irreds) [] (k,l) (eqs @ eqs' @ failures) end) end) end in if M'=N' then processkl eqs else if greater(M',N') then enter_rule(M',N') else if greater(N',M') then enter_rule(N',M') else process ((M',N')::failures) (k,l) eqs end in processkl end and next_criticals (k,l) = (let val (v,el) = get_rule l in if k=l then processf (k,l) (strict_critical_pairs el (rename v el)) else (let val (_,ek) = get_rule k in processf (k,l) (mutual_critical_pairs el (rename v ek)) end handle Failure "find" (*rule k deleted*) => next_criticals (k+1,l)) end handle Failure "find" (*rule l deleted*) => next_criticals (1,l+1)) in processf end in process end in kbrec end fun kb_complete greater complete_rules rules = let val n = check_rules complete_rules; val eqs = map (fn (_,(_,pair)) => pair) rules; val completed_rules = kb_completion greater n complete_rules [] (n,n) eqs in (message "Canonical set found :"; pretty_rules (rev completed_rules); ()) end val Group_rules = [ (1, (1, (Term("*", [Term("U",[]), Var 1]), Var 1))), (2, (1, (Term("*", [Term("I",[Var 1]), Var 1]), Term("U",[])))), (3, (3, (Term("*", [Term("*", [Var 1, Var 2]), Var 3]), Term("*", [Var 1, Term("*", [Var 2, Var 3])]))))]; val Geom_rules = [ (1,(1,(Term ("*",[(Term ("U",[])), (Var 1)]),(Var 1)))), (2,(1,(Term ("*",[(Term ("I",[(Var 1)])), (Var 1)]),(Term ("U",[]))))), (3,(3,(Term ("*",[(Term ("*",[(Var 1), (Var 2)])), (Var 3)]), (Term ("*",[(Var 1), (Term ("*",[(Var 2), (Var 3)]))]))))), (4,(0,(Term ("*",[(Term ("A",[])), (Term ("B",[]))]), (Term ("*",[(Term ("B",[])), (Term ("A",[]))]))))), (5,(0,(Term ("*",[(Term ("C",[])), (Term ("C",[]))]),(Term ("U",[]))))), (6,(0, (Term ("*", [(Term ("C",[])), (Term ("*",[(Term ("A",[])), (Term ("I",[(Term ("C",[]))]))]))]), (Term ("I",[(Term ("A",[]))]))))), (7,(0, (Term ("*", [(Term ("C",[])), (Term ("*",[(Term ("B",[])), (Term ("I",[(Term ("C",[]))]))]))]), (Term ("B",[]))))) ]; fun Group_rank "U" = 0 | Group_rank "*" = 1 | Group_rank "I" = 2 | Group_rank "B" = 3 | Group_rank "C" = 4 | Group_rank "A" = 5 fun Group_precedence op1 op2 = let val r1 = Group_rank op1; val r2 = Group_rank op2 in if r1 = r2 then Equal else if r1 > r2 then Greater else NotGE end val Group_order = rpo Group_precedence lex_ext fun greater pair = (case Group_order pair of Greater => true | _ => false) fun doit() = kb_complete greater [] Geom_rules fun testit _ = () end (* Main *) smlsharp-1.2.0/benchmark/benchmarks/knuth_bendix/sources.cm0000644 000000000000000000000005612050661606024241 0ustar00rootroot0000000 0000000 Group is ../timeit.sml knuth-bendix.sml smlsharp-1.2.0/benchmark/benchmarks/lexgen0000755 000000000000000000000000012050661606020755 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks/lexgen/DATA0000755 000000000000000000000000012050661606021466 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks/lexgen/DATA/ml.lex0000644 000000000000000000001754612050661606022704 0ustar00rootroot0000000 0000000 (* Copyright 1989 by AT&T Bell Laboratories *) open ErrorMsg type svalue = Tokens.svalue type pos = int type lexresult = (svalue,pos) Tokens.token type lexarg = {comLevel : int ref, lineNum : int ref, linePos : int list ref, (* offsets of lines in file *) charlist : string list ref, stringstart : int ref, (* start of current string or comment*) err : pos*pos -> ErrorMsg.severity -> string->unit} type arg = lexarg type ('a,'b) token = ('a,'b) Tokens.token val eof = fn ({comLevel,err,linePos,stringstart,lineNum,charlist}:lexarg) => let val pos = Integer.max(!stringstart+2, hd(!linePos)) in if !comLevel>0 then err (!stringstart,pos) COMPLAIN "unclosed comment" else (); Tokens.EOF(pos,pos) end fun addString (charlist,s:string) = charlist := s :: (!charlist) fun makeString charlist = (implode(rev(!charlist)) before charlist := nil) fun makeHexInt sign s = let fun digit d = if (d < Ascii.uc_a) then (d - Ascii.zero) else (10 + (if (d < Ascii.lc_a) then (d - Ascii.uc_a) else (d - Ascii.lc_a))) in revfold (fn (c,a) => sign(a*16, digit(ord c))) (explode s) 0 end fun makeInt sign s = revfold (fn (c,a) => sign(a*10, ord c - Ascii.zero)) (explode s) 0 %% %s A S F; %header (functor MLLexFun(structure Tokens : ML_TOKENS)); %arg ({comLevel,lineNum,err,linePos,charlist,stringstart}); idchars=[A-Za-z'_0-9]; id=[A-Za-z'_]{idchars}*; ws=("\012"|[\t\ ])*; sym=[!%&$+/:<=>?@~|#*`]|\\|\-|\^; num=[0-9]+; frac="."{num}; exp="E"(~?){num}; real=(~?)(({num}{frac}?{exp})|({num}{frac}{exp}?)); hexnum=[0-9a-fA-F]+; %% {ws} => (continue()); \n => (inc lineNum; linePos := yypos :: !linePos; continue()); "*" => (Tokens.ASTERISK(yypos,yypos+1)); "|" => (Tokens.BAR(yypos,yypos+1)); ":" => (Tokens.COLON(yypos,yypos+1)); "=" => (Tokens.EQUAL(yypos,yypos+1)); "_" => (Tokens.WILD(yypos,yypos+1)); "#" => (Tokens.HASH(yypos,yypos+1)); "," => (Tokens.COMMA(yypos,yypos+1)); "{" => (Tokens.LBRACE(yypos,yypos+1)); "}" => (Tokens.RBRACE(yypos,yypos+1)); "[" => (Tokens.LBRACKET(yypos,yypos+1)); "]" => (Tokens.RBRACKET(yypos,yypos+1)); ";" => (Tokens.SEMICOLON(yypos,yypos+1)); "(" => (Tokens.LPAREN(yypos,yypos+1)); ")" => (Tokens.RPAREN(yypos,yypos+1)); "and" => (Tokens.AND(yypos,yypos+3)); "abstraction" => (Tokens.ABSTRACTION(yypos,yypos+11)); "abstype" => (Tokens.ABSTYPE(yypos,yypos+7)); "->" => (Tokens.ARROW(yypos,yypos+2)); "as" => (Tokens.AS(yypos,yypos+2)); "case" => (Tokens.CASE(yypos,yypos+4)); "datatype" => (Tokens.DATATYPE(yypos,yypos+8)); "." => (Tokens.DOT(yypos,yypos+1)); "..." => (Tokens.DOTDOTDOT(yypos,yypos+3)); "else" => (Tokens.ELSE(yypos,yypos+4)); "end" => (Tokens.END(yypos,yypos+3)); "eqtype" => (Tokens.EQTYPE(yypos,yypos+6)); "exception" => (Tokens.EXCEPTION(yypos,yypos+9)); "do" => (Tokens.DO(yypos,yypos+2)); "=>" => (Tokens.DARROW(yypos,yypos+2)); "fn" => (Tokens.FN(yypos,yypos+2)); "fun" => (Tokens.FUN(yypos,yypos+3)); "functor" => (Tokens.FUNCTOR(yypos,yypos+7)); "handle" => (Tokens.HANDLE(yypos,yypos+6)); "if" => (Tokens.IF(yypos,yypos+2)); "in" => (Tokens.IN(yypos,yypos+2)); "include" => (Tokens.INCLUDE(yypos,yypos+7)); "infix" => (Tokens.INFIX(yypos,yypos+5)); "infixr" => (Tokens.INFIXR(yypos,yypos+6)); "let" => (Tokens.LET(yypos,yypos+3)); "local" => (Tokens.LOCAL(yypos,yypos+5)); "nonfix" => (Tokens.NONFIX(yypos,yypos+6)); "of" => (Tokens.OF(yypos,yypos+2)); "op" => (Tokens.OP(yypos,yypos+2)); "open" => (Tokens.OPEN(yypos,yypos+4)); "overload" => (Tokens.OVERLOAD(yypos,yypos+8)); "raise" => (Tokens.RAISE(yypos,yypos+5)); "rec" => (Tokens.REC(yypos,yypos+3)); "sharing" => (Tokens.SHARING(yypos,yypos+7)); "sig" => (Tokens.SIG(yypos,yypos+3)); "signature" => (Tokens.SIGNATURE(yypos,yypos+9)); "struct" => (Tokens.STRUCT(yypos,yypos+6)); "structure" => (Tokens.STRUCTURE(yypos,yypos+9)); "then" => (Tokens.THEN(yypos,yypos+4)); "type" => (Tokens.TYPE(yypos,yypos+4)); "val" => (Tokens.VAL(yypos,yypos+3)); "while" => (Tokens.WHILE(yypos,yypos+5)); "with" => (Tokens.WITH(yypos,yypos+4)); "withtype" => (Tokens.WITHTYPE(yypos,yypos+8)); "orelse" => (Tokens.ORELSE(yypos,yypos+6)); "andalso" => (Tokens.ANDALSO(yypos,yypos+7)); "import" => (Tokens.IMPORT(yypos,yypos+6)); "'"{idchars}* => (Tokens.TYVAR(yytext, yypos, yypos+size yytext)); ({sym}+|{id}) => (Tokens.ID(yytext, yypos, yypos+size yytext)); {real} => (Tokens.REAL(yytext,yypos,yypos+size yytext)); [1-9][0-9]* => (Tokens.INT(makeInt (op +) yytext handle Overflow => (err (yypos,yypos+size yytext) COMPLAIN "integer too large"; 1), yypos,yypos+size yytext)); {num} => (Tokens.INT0(makeInt (op +) yytext handle Overflow => (err (yypos,yypos+size yytext) COMPLAIN "integer too large"; 0), yypos,yypos+size yytext)); ~{num} => (Tokens.INT0(makeInt (op -) (substring(yytext,1,size(yytext)-1)) handle Overflow => (err (yypos,yypos+size yytext) COMPLAIN "integer too large"; 0), yypos,yypos+size yytext)); "0x"{hexnum} => ( Tokens.INT0(makeHexInt (op +) (substring(yytext, 2, size(yytext)-2)) handle Overflow => (err (yypos,yypos+size yytext) COMPLAIN "integer too large"; 0), yypos, yypos+size yytext)); "~0x"{hexnum} => ( Tokens.INT0(makeHexInt (op -) (substring(yytext, 3, size(yytext)-3)) handle Overflow => (err (yypos,yypos+size yytext) COMPLAIN "integer too large"; 0), yypos, yypos+size yytext)); \" => (charlist := [""]; stringstart := yypos; YYBEGIN S; continue()); "(*" => (YYBEGIN A; stringstart := yypos; comLevel := 1; continue()); \h => (err (yypos,yypos) COMPLAIN "non-Ascii character"; continue()); . => (err (yypos,yypos) COMPLAIN "illegal token"; continue()); "(*" => (inc comLevel; continue()); \n => (inc lineNum; linePos := yypos :: !linePos; continue()); "*)" => (dec comLevel; if !comLevel=0 then YYBEGIN INITIAL else (); continue()); . => (continue()); \" => (YYBEGIN INITIAL; Tokens.STRING(makeString charlist, !stringstart,yypos+1)); \n => (err (!stringstart,yypos) COMPLAIN "unclosed string"; inc lineNum; linePos := yypos :: !linePos; YYBEGIN INITIAL; Tokens.STRING(makeString charlist,!stringstart,yypos)); [^"\\\n]* => (addString(charlist,yytext); continue()); \\\n => (inc lineNum; linePos := yypos :: !linePos; YYBEGIN F; continue()); \\[\ \t] => (YYBEGIN F; continue()); \n => (inc lineNum; linePos := yypos :: !linePos; continue()); {ws} => (continue()); \\ => (YYBEGIN S; stringstart := yypos; continue()); . => (err (!stringstart,yypos) COMPLAIN "unclosed string"; YYBEGIN INITIAL; Tokens.STRING(makeString charlist,!stringstart,yypos+1)); \\t => (addString(charlist,"\t"); continue()); \\n => (addString(charlist,"\n"); continue()); \\\\ => (addString(charlist,"\\"); continue()); \\\" => (addString(charlist,chr(Ascii.dquote)); continue()); \\\^[@-_] => (addString(charlist,chr(ordof(yytext,2)-ord("@"))); continue()); \\[0-9]{3} => (let val x = ordof(yytext,1)*100 +ordof(yytext,2)*10 +ordof(yytext,3) -(Ascii.zero*111) in (if x>255 then err (yypos,yypos+4) COMPLAIN "illegal ascii escape" else addString(charlist,chr x); continue()) end); \\ => (err (yypos,yypos+1) COMPLAIN "illegal string escape"; continue()); smlsharp-1.2.0/benchmark/benchmarks/lexgen/doit.smi0000644 000000000000000000000005312050661606022503 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "lexgen.smi" smlsharp-1.2.0/benchmark/benchmarks/lexgen/doit.sml0000644 000000000000000000000003612050661606022507 0ustar00rootroot0000000 0000000 Main.doit (); print "Done\n"; smlsharp-1.2.0/benchmark/benchmarks/lexgen/lexgen.smi0000644 000000000000000000000016312050661606023030 0ustar00rootroot0000000 0000000 _require "basis.smi" structure Main = struct val doit : unit -> unit val testit : TextIO.outstream -> unit end smlsharp-1.2.0/benchmark/benchmarks/lexgen/lexgen.sml0000644 000000000000000000012044112050661606023035 0ustar00rootroot0000000 0000000 (* Lexical analyzer generator for Standard ML. Version 1.6.0, October 1994 Copyright (c) 1989-1992 by Andrew W. Appel, David R. Tarditi, James S. Mattson This software comes with ABSOLUTELY NO WARRANTY. This software is subject only to the PRINCETON STANDARD ML SOFTWARE LIBRARY COPYRIGHT NOTICE, LICENSE AND DISCLAIMER, (in the file "COPYRIGHT", distributed with this software). You may copy and distribute this software; see the COPYRIGHT NOTICE for details and restrictions. Changes: 07/25/89 (drt): added %header declaration, code to place user declarations at same level as makeLexer, etc. This is needed for the parser generator. /10/89 (appel): added %arg declaration (see lexgen.doc). /04/90 (drt): fixed following bug: couldn't use the lexer after an error occurred -- NextTok and inquote weren't being reset 10/22/91 (drt): disabled use of lookahead 10/23/92 (drt): disabled use of $ operator (which involves lookahead), added handlers for dictionary lookup routine 11/02/92 (drt): changed handler for exception Reject in generated lexer to Internal.Reject 02/01/94 (appel): Moved the exception handler for Reject in such a way as to allow tail-recursion (improves performance wonderfully!). 02/01/94 (appel): Fixed a bug in parsing of state names. 05/19/94 (Mikael Pettersson, mpe@ida.liu.se): Transition tables are usually represented as strings, but when the range is too large, int vectors constructed by code like "Vector.vector[1,2,3,...]" are used instead. The problem with this isn't that the vector itself takes a lot of space, but that the code generated by SML/NJ to construct the intermediate list at run-time is *HUGE*. My fix is to encode an int vector as a string literal (using two bytes per int) and emit code to decode the string to a vector at run-time. SML/NJ compiles string literals into substrings in the code, so this uses much less space. 06/02/94 (jhr): Modified export-lex.sml to conform to new installation scheme. Also removed tab characters from string literals. 10/05/94 (jhr): Changed generator to produce code that uses the new basis style strings and characters. 10/06/94 (jhr) Modified code to compile under new basis style strings and characters. 02/08/95 (jhr) Modified to use new List module interface. 05/18/95 (jhr) changed Vector.vector to Vector.fromList * * $Log: lexgen.sml,v $ * Revision 1.6 1996/10/03 14:57:30 jhr * Qualified use of Int.quot, since it is no longer available at top-level; improved * the code that prints the tables. * * Revision 1.5 1996/09/16 12:25:14 george * here is a bug in ml-lex (109.17) when using the %count flag. The yylineno * variable should get reinitialized to zero on each call to makeLexer, but * instead is globally allocated and never reset. * * Revision 1.4 1996/08/13 13:50:36 george * Fixed bugs in counting lines (from jhr) * * Revision 1.3 1996/07/25 20:38:52 jhr * Fixed bug in ungetch that caused Subscript exceptions. * * Revision 1.2 1996/02/26 15:02:27 george * print no longer overloaded. * use of makestring has been removed and replaced with Int.toString .. * use of IO replaced with TextIO * * Revision 1.1.1.1 1996/01/31 16:01:15 george * Version 109 * *) (* Subject: lookahead in sml-lex Reply-to: david.tarditi@CS.CMU.EDU Date: Mon, 21 Oct 91 14:13:26 -0400 There is a serious bug in the implementation of lookahead, as done in sml-lex, and described in Aho, Sethi, and Ullman, p. 134 "Implementing the Lookahead Operator" We have disallowed the use of lookahead for now because of this bug. As a counter-example to the implementation described in ASU, consider the following specification with the input string "aba" (this example is taken from a comp.compilers message from Dec. 1989, I think): type lexresult=unit val linenum = ref 1 fun error x = TextIO.output(TextIO.stdErr, x ^ "\n") val eof = fn () => () %% %structure Lex %% (a|ab)/ba => (print yytext; print "\n"; ()); The ASU proposal works as follows. Suppose that we are using NFA's to represent our regular expressions. Then to build an NFA for e1 / e2, we build an NFA n1 for e1 and an NFA n2 for e2, and add an epsilon transition from e1 to e2. When lexing, when we encounter the end state of e1e2, we take as the end of the string the position in the string that was the last occurrence of the state of the NFA having a transition on the epsilon introduced for /. Using the example we have above, we'll have an NFA with the following states: 1 -- a --> 2 -- b --> 3 | | | epsilon | epsilon | | |------------> 4 -- b --> 5 -- a --> 6 On our example, we get the following list of transitions: a : 2, 4 (make an epsilon transition from 2 to 4) ab : 3, 4, 5 (make an epsilon transition from 3 to 4) aba : 6 If we chose the last state in which we made an epsilon transition, we'll chose the transition from 3 to 4, and end up with "ab" as our token, when we should have "a" as our token. *) functor RedBlack(B : sig type key val > : key*key->bool end): sig type tree type key val empty : tree val insert : key * tree -> tree val lookup : key * tree -> key exception notfound of key end = struct open B datatype color = RED | BLACK datatype tree = empty | tree of key * color * tree * tree exception notfound of key fun insert (key,t) = let fun f empty = tree(key,RED,empty,empty) | f (tree(k,BLACK,l,r)) = if key>k then case f r of r as tree(rk,RED, rl as tree(rlk,RED,rll,rlr),rr) => (case l of tree(lk,RED,ll,lr) => tree(k,RED,tree(lk,BLACK,ll,lr), tree(rk,BLACK,rl,rr)) | _ => tree(rlk,BLACK,tree(k,RED,l,rll), tree(rk,RED,rlr,rr))) | r as tree(rk,RED,rl, rr as tree(rrk,RED,rrl,rrr)) => (case l of tree(lk,RED,ll,lr) => tree(k,RED,tree(lk,BLACK,ll,lr), tree(rk,BLACK,rl,rr)) | _ => tree(rk,BLACK,tree(k,RED,l,rl),rr)) | r => tree(k,BLACK,l,r) else if k>key then case f l of l as tree(lk,RED,ll, lr as tree(lrk,RED,lrl,lrr)) => (case r of tree(rk,RED,rl,rr) => tree(k,RED,tree(lk,BLACK,ll,lr), tree(rk,BLACK,rl,rr)) | _ => tree(lrk,BLACK,tree(lk,RED,ll,lrl), tree(k,RED,lrr,r))) | l as tree(lk,RED, ll as tree(llk,RED,lll,llr), lr) => (case r of tree(rk,RED,rl,rr) => tree(k,RED,tree(lk,BLACK,ll,lr), tree(rk,BLACK,rl,rr)) | _ => tree(lk,BLACK,ll,tree(k,RED,lr,r))) | l => tree(k,BLACK,l,r) else tree(key,BLACK,l,r) | f (tree(k,RED,l,r)) = if key>k then tree(k,RED,l, f r) else if k>key then tree(k,RED, f l, r) else tree(key,RED,l,r) in case f t of tree(k,RED, l as tree(_,RED,_,_), r) => tree(k,BLACK,l,r) | tree(k,RED, l, r as tree(_,RED,_,_)) => tree(k,BLACK,l,r) | t => t end fun lookup (key,t) = let fun look empty = raise (notfound key) | look (tree(k,_,l,r)) = if k>key then look l else if key>k then look r else k in look t end end signature LEXGEN = sig val lexGen: string -> unit end structure LexGen: LEXGEN = struct open Array List infix 9 sub datatype token = CHARS of bool array | QMARK | STAR | PLUS | BAR | LP | RP | CARAT | DOLLAR | SLASH | STATE of string list | REPS of int * int | ID of string | ACTION of string | BOF | EOF | ASSIGN | SEMI | ARROW | LEXMARK | LEXSTATES | COUNT | REJECT | FULLCHARSET | STRUCT | HEADER | ARG datatype exp = EPS | CLASS of bool array * int | CLOSURE of exp | ALT of exp * exp | CAT of exp * exp | TRAIL of int | END of int (* flags describing input Lex spec. - unnecessary code is omitted *) (* if possible *) val CharFormat = ref false; val UsesTrailingContext = ref false; val UsesPrevNewLine = ref false; (* flags for various bells & whistles that Lex has. These slow the lexer down and should be omitted from production lexers (if you really want speed) *) val CountNewLines = ref false; val HaveReject = ref false; (* Can increase size of character set *) val CharSetSize = ref 129; (* Can name structure or declare header code *) val StrName = ref "Mlex" val HeaderCode = ref "" val HeaderDecl = ref false val ArgCode = ref (NONE: string option) val StrDecl = ref false val ResetFlags = fn () => (CountNewLines := false; HaveReject := false; UsesTrailingContext := false; CharSetSize := 129; StrName := "Mlex"; HeaderCode := ""; HeaderDecl:= false; ArgCode := NONE; StrDecl := false) val LexOut = ref(TextIO.stdOut) fun say x = TextIO.output(!LexOut, x) (* Union: merge two sorted lists of integers *) fun union(a,b) = let val rec merge = fn (nil,nil,z) => z | (nil,el::more,z) => merge(nil,more,el::z) | (el::more,nil,z) => merge(more,nil,el::z) | (x::morex,y::morey,z) => if (x:int)=(y:int) then merge(morex,morey,x::z) else if x>y then merge(morex,y::morey,x::z) else merge(x::morex,morey,y::z) in merge(rev a,rev b,nil) end (* Nullable: compute if a important expression parse tree node is nullable *) val rec nullable = fn EPS => true | CLASS(_) => false | CLOSURE(_) => true | ALT(n1,n2) => nullable(n1) orelse nullable(n2) | CAT(n1,n2) => nullable(n1) andalso nullable(n2) | TRAIL(_) => true | END(_) => false (* FIRSTPOS: firstpos function for parse tree expressions *) and firstpos = fn EPS => nil | CLASS(_,i) => [i] | CLOSURE(n) => firstpos(n) | ALT(n1,n2) => union(firstpos(n1),firstpos(n2)) | CAT(n1,n2) => if nullable(n1) then union(firstpos(n1),firstpos(n2)) else firstpos(n1) | TRAIL(i) => [i] | END(i) => [i] (* LASTPOS: Lastpos function for parse tree expressions *) and lastpos = fn EPS => nil | CLASS(_,i) => [i] | CLOSURE(n) => lastpos(n) | ALT(n1,n2) => union(lastpos(n1),lastpos(n2)) | CAT(n1,n2) => if nullable(n2) then union(lastpos(n1),lastpos(n2)) else lastpos(n2) | TRAIL(i) => [i] | END(i) => [i] ; (* ++: Increment an integer reference *) fun ++(x) : int = (x := !x + 1; !x); structure Dict = struct type 'a relation = 'a * 'a -> bool abstype ('b,'a) dictionary = DATA of {Table : ('b * 'a) list, Leq : 'b * 'b -> bool } with exception LOOKUP fun create Leqfunc = DATA { Table = nil, Leq = Leqfunc } fun lookup (DATA { Table = entrylist, Leq = leq }) key = let fun search [] = raise LOOKUP | search((k,item)::entries) = if leq(key,k) then if leq(k,key) then item else raise LOOKUP else search entries in search entrylist end fun enter (DATA { Table = entrylist, Leq = leq }) (newentry as (key : 'b,item :'a)) : ('b,'a) dictionary = let val gt = fn a => fn b => not (leq(a,b)) val eq = fn k => fn k' => (leq(k,k')) andalso (leq(k',k)) fun update nil = [ newentry ] | update ((entry as (k,_))::entries) = if (eq key k) then newentry::entries else if gt k key then newentry::(entry::entries) else entry::(update entries) in DATA { Table = update entrylist, Leq = leq } end fun listofdict (DATA { Table = entrylist,Leq = leq}) = let fun f (nil,r) = rev r | f (a::b,r) = f (b,a::r) in f(entrylist,nil) end end end (* structure Dict *) open Dict; (* INPUT.ML : Input w/ one character push back capability *) val LineNum = ref 1; abstype ibuf = BUF of TextIO.instream * {b : string ref, p : int ref} with fun make_ibuf(s) = BUF (s, {b=ref"", p = ref 0}) fun close_ibuf (BUF (s,_)) = TextIO.closeIn(s) exception eof fun getch (a as (BUF(s,{b,p}))) = if (!p = (size (!b))) then (b := TextIO.inputN(s, 1024); p := 0; if (size (!b))=0 then raise eof else getch a) else (let val ch = String.sub(!b,!p) in (if ch = #"\n" then LineNum := !LineNum + 1 else (); p := !p + 1; ch) end) fun ungetch(BUF(s,{b,p})) = ( p := !p - 1; if String.sub(!b,!p) = #"\n" then LineNum := !LineNum - 1 else ()) end; exception Error fun prErr x = ( TextIO.output (TextIO.stdErr, String.concat [ "ml-lex: error, line ", (Int.toString (!LineNum)), ": ", x, "\n" ]); raise Error) fun prSynErr x = ( TextIO.output (TextIO.stdErr, String.concat [ "ml-lex: syntax error, line ", (Int.toString (!LineNum)), ": ", x, "\n" ]); raise Error) exception SyntaxError; (* error in user's input file *) exception LexError; (* unexpected error in lexer *) val LexBuf = ref(make_ibuf(TextIO.stdIn)); val LexState = ref 0; val NextTok = ref BOF; val inquote = ref false; fun AdvanceTok () : unit = let fun isLetter c = ((c >= #"a") andalso (c <= #"z")) orelse ((c >= #"A") andalso (c <= #"Z")) fun isDigit c = (c >= #"0") andalso (c <= #"9") (* check for valid (non-leading) identifier character (added by JHR) *) fun isIdentChr c = ((isLetter c) orelse (isDigit c) orelse (c = #"_") orelse (c = #"'")) fun atoi s = let fun num (c::r, n) = if isDigit c then num (r, 10*n + (Char.ord c - Char.ord #"0")) else n | num ([], n) = n in num (explode s, 0) end fun skipws () = (case nextch() of #" " => skipws() | #"\t" => skipws() | #"\n" => skipws() | x => x (* end case *)) and nextch () = getch(!LexBuf) and escaped () = (case nextch() of #"b" => #"\008" | #"n" => #"\n" | #"t" => #"\t" | #"h" => #"\128" | x => let fun err t = prErr("illegal ascii escape '"^(implode(rev t))^"'") fun cvt c = (Char.ord c - Char.ord #"0") fun f (n, c, t) = if c=3 then if n >= (!CharSetSize) then err t else Char.chr n else let val ch=nextch() in if isDigit ch then f(n*10+(cvt ch), c+1, ch::t) else err t end in if isDigit x then f(cvt x, 1, [x]) else x end (* end case *)) and onechar x = let val c = array(!CharSetSize, false) in update(c, Char.ord(x), true); CHARS(c) end in case !LexState of 0 => let val makeTok = fn () => case skipws() (* Lex % operators *) of #"%" => (case nextch() of #"%" => LEXMARK | a => let fun f s = let val a = nextch() in if isLetter a then f(a::s) else (ungetch(!LexBuf); implode(rev s)) end val command = f [a] in if command = "reject" then REJECT else if command = "count" then COUNT else if command = "full" then FULLCHARSET else if command = "s" then LEXSTATES else if command = "S" then LEXSTATES else if command = "structure" then STRUCT else if command = "header" then HEADER else if command = "arg" then ARG else prErr "unknown % operator " end ) (* semicolon (for end of LEXSTATES) *) | #";" => SEMI (* anything else *) | ch => if isLetter(ch) then let fun getID matched = let val x = nextch() (**** fix by JHR in if isLetter(x) orelse isDigit(x) orelse x = "_" orelse x = "'" ****) in if (isIdentChr x) then getID (x::matched) else (ungetch(!LexBuf); implode(rev matched)) end in ID(getID [ch]) end else (prSynErr ("bad character: " ^ String.str ch)) in NextTok := makeTok() end | 1 => let val rec makeTok = fn () => if !inquote then case nextch() of (* inside quoted string *) #"\\" => onechar(escaped()) | #"\"" => (inquote := false; makeTok()) | x => onechar(x) else case skipws() of (* single character operators *) #"?" => QMARK | #"*" => STAR | #"+" => PLUS | #"|" => BAR | #"(" => LP | #")" => RP | #"^" => CARAT | #"$" => DOLLAR | #"/" => SLASH | #";" => SEMI | #"." => let val c = array(!CharSetSize,true) in update(c,10,false); CHARS(c) end (* assign and arrow *) | #"=" => let val c = nextch() in if c = #">" then ARROW else (ungetch(!LexBuf); ASSIGN) end (* character set *) | #"[" => let val rec classch = fn () => let val x = skipws() in if x = #"\\" then escaped() else x end; val first = classch(); val flag = (first <> #"^"); val c = array(!CharSetSize,not flag); fun add NONE = () | add (SOME x) = update(c, Char.ord(x), flag) and range (x, y) = if x>y then (prErr "bad char. range") else let val i = ref(Char.ord(x)) and j = Char.ord(y) in while !i<=j do ( add (SOME(Char.chr(!i))); i := !i + 1) end and getClass last = (case classch() of #"]" => (add(last); c) | #"-" => (case last of NONE => getClass(SOME #"-") | (SOME last') => let val x = classch() in if x = #"]" then (add(last); add(SOME #"-"); c) else (range(last',x); getClass(NONE)) end (* end case *)) | x => (add(last); getClass(SOME x)) (* end case *)) in CHARS(getClass(if first = #"^" then NONE else SOME first)) end (* Start States specification *) | #"<" => let val rec get_state = fn (prev,matched) => case nextch() of #">" => matched::prev | #"," => get_state(matched::prev,"") | x => if isIdentChr(x) then get_state(prev,matched ^ String.str x) else (prSynErr "bad start state list") in STATE(get_state(nil,"")) end (* {id} or repititions *) | #"{" => let val ch = nextch() in if isLetter(ch) then let fun getID matched = (case nextch() of #"}" => matched | x => if (isIdentChr x) then getID(matched ^ String.str x) else (prErr "invalid char. class name") (* end case *)) in ID(getID(String.str ch)) end else if isDigit(ch) then let fun get_r (matched, r1) = (case nextch() of #"}" => let val n = atoi(matched) in if r1 = ~1 then (n,n) else (r1,n) end | #"," => if r1 = ~1 then get_r("",atoi(matched)) else (prErr "invalid repetitions spec.") | x => if isDigit(x) then get_r(matched ^ String.str x,r1) else (prErr "invalid char in repetitions spec") (* end case *)) in REPS(get_r(String.str ch,~1)) end else (prErr "bad repetitions spec") end (* Lex % operators *) | #"%" => if nextch() = #"%" then LEXMARK else (ungetch(!LexBuf); onechar (#"%")) (* backslash escape *) | #"\\" => onechar(escaped()) (* start quoted string *) | #"\"" => (inquote := true; makeTok()) (* anything else *) | ch => onechar(ch) in NextTok := makeTok() end | 2 => NextTok := (case skipws() of #"(" => let fun GetAct (lpct,x) = (case getch(!LexBuf) of #"(" => GetAct (lpct+1, #"("::x) | #")" => if lpct = 0 then (implode (rev x)) else GetAct(lpct-1, #")"::x) | y => GetAct(lpct,y::x) (* end case *)) in ACTION (GetAct (0,nil)) end | #";" => SEMI | c => (prSynErr ("invalid character " ^ String.str c))) | _ => raise LexError end handle eof => NextTok := EOF ; fun GetTok (_:unit) : token = let val t = !NextTok in AdvanceTok(); t end; val SymTab = ref (create String.<=) : (string,exp) dictionary ref fun GetExp () : exp = let val rec optional = fn e => ALT(EPS,e) and lookup' = fn name => lookup(!SymTab) name handle LOOKUP => prErr ("bad regular expression name: "^ name) and newline = fn () => let val c = array(!CharSetSize,false) in update(c,10,true); c end and endline = fn e => trail(e,CLASS(newline(),0)) and trail = fn (e1,e2) => CAT(CAT(e1,TRAIL(0)),e2) and closure1 = fn e => CAT(e,CLOSURE(e)) and repeat = fn (min,max,e) => let val rec rep = fn (0,0) => EPS | (0,1) => ALT(e,EPS) | (0,i) => CAT(rep(0,1),rep(0,i-1)) | (i,j) => CAT(e,rep(i-1,j-1)) in rep(min,max) end and exp0 = fn () => case GetTok() of CHARS(c) => exp1(CLASS(c,0)) | LP => let val e = exp0() in if !NextTok = RP then (AdvanceTok(); exp1(e)) else (prSynErr "missing '('") end | ID(name) => exp1(lookup' name) | _ => raise SyntaxError and exp1 = fn (e) => case !NextTok of SEMI => e | ARROW => e | EOF => e | LP => exp2(e,exp0()) | RP => e | t => (AdvanceTok(); case t of QMARK => exp1(optional(e)) | STAR => exp1(CLOSURE(e)) | PLUS => exp1(closure1(e)) | CHARS(c) => exp2(e,CLASS(c,0)) | BAR => ALT(e,exp0()) | DOLLAR => (UsesTrailingContext := true; endline(e)) | SLASH => (UsesTrailingContext := true; trail(e,exp0())) | REPS(i,j) => exp1(repeat(i,j,e)) | ID(name) => exp2(e,lookup' name) | _ => raise SyntaxError) and exp2 = fn (e1,e2) => case !NextTok of SEMI => CAT(e1,e2) | ARROW => CAT(e1,e2) | EOF => CAT(e1,e2) | LP => exp2(CAT(e1,e2),exp0()) | RP => CAT(e1,e2) | t => (AdvanceTok(); case t of QMARK => exp1(CAT(e1,optional(e2))) | STAR => exp1(CAT(e1,CLOSURE(e2))) | PLUS => exp1(CAT(e1,closure1(e2))) | CHARS(c) => exp2(CAT(e1,e2),CLASS(c,0)) | BAR => ALT(CAT(e1,e2),exp0()) | DOLLAR => (UsesTrailingContext := true; endline(CAT(e1,e2))) | SLASH => (UsesTrailingContext := true; trail(CAT(e1,e2),exp0())) | REPS(i,j) => exp1(CAT(e1,repeat(i,j,e2))) | ID(name) => exp2(CAT(e1,e2),lookup' name) | _ => raise SyntaxError) in exp0() end; val StateTab = ref(create(String.<=)) : (string,int) dictionary ref val StateNum = ref 0; fun GetStates () : int list = let fun add nil sl = sl | add (x::y) sl = add y (union ([lookup (!StateTab)(x) handle LOOKUP => prErr ("bad state name: "^x) ],sl)) fun addall i sl = if i <= !StateNum then addall (i+2) (union ([i],sl)) else sl fun incall (x::y) = (x+1)::incall y | incall nil = nil fun addincs nil = nil | addincs (x::y) = x::(x+1)::addincs y val state_list = case !NextTok of STATE s => (AdvanceTok(); LexState := 1; add s nil) | _ => addall 1 nil in case !NextTok of CARAT => (LexState := 1; AdvanceTok(); UsesPrevNewLine := true; incall state_list) | _ => addincs state_list end val LeafNum = ref ~1; fun renum(e : exp) : exp = let val rec label = fn EPS => EPS | CLASS(x,_) => CLASS(x,++LeafNum) | CLOSURE(e) => CLOSURE(label(e)) | ALT(e1,e2) => ALT(label(e1),label(e2)) | CAT(e1,e2) => CAT(label(e1),label(e2)) | TRAIL(i) => TRAIL(++LeafNum) | END(i) => END(++LeafNum) in label(e) end; exception ParseError; fun parse() : (string * (int list * exp) list * ((string,string) dictionary)) = let val Accept = ref (create String.<=) : (string,string) dictionary ref val rec ParseRtns = fn l => case getch(!LexBuf) of #"%" => let val c = getch(!LexBuf) in if c = #"%" then (implode (rev l)) else ParseRtns(c :: #"%" :: l) end | c => ParseRtns(c::l) and ParseDefs = fn () => (LexState:=0; AdvanceTok(); case !NextTok of LEXMARK => () | LEXSTATES => let fun f () = (case !NextTok of (ID i) => (StateTab := enter(!StateTab)(i,++StateNum); ++StateNum; AdvanceTok(); f()) | _ => ()) in AdvanceTok(); f (); if !NextTok=SEMI then ParseDefs() else (prSynErr "expected ';'") end | ID x => (LexState:=1; AdvanceTok(); if GetTok() = ASSIGN then (SymTab := enter(!SymTab)(x,GetExp()); if !NextTok = SEMI then ParseDefs() else (prSynErr "expected ';'")) else raise SyntaxError) | REJECT => (HaveReject := true; ParseDefs()) | COUNT => (CountNewLines := true; ParseDefs()) | FULLCHARSET => (CharSetSize := 256; ParseDefs()) | HEADER => (LexState := 2; AdvanceTok(); case GetTok() of ACTION s => if (!StrDecl) then (prErr "cannot have both %s and %header \ \declarations") else if (!HeaderDecl) then (prErr "duplicate %header declarations") else (HeaderCode := s; LexState := 0; HeaderDecl := true; ParseDefs()) | _ => raise SyntaxError) | ARG => (LexState := 2; AdvanceTok(); case GetTok() of ACTION s => (case !ArgCode of SOME _ => prErr "duplicate %arg declarations" | NONE => ArgCode := SOME s; LexState := 0; ParseDefs()) | _ => raise SyntaxError) | STRUCT => (AdvanceTok(); case !NextTok of (ID i) => if (!HeaderDecl) then (prErr "cannot have both %s and %header \ \declarations") else if (!StrDecl) then (prErr "duplicate %s declarations") else StrName := i | _ => (prErr "expected ID"); ParseDefs()) | _ => raise SyntaxError) and ParseRules = fn rules => (LexState:=1; AdvanceTok(); case !NextTok of LEXMARK => rules | EOF => rules | _ => let val s = GetStates() val e = renum(CAT(GetExp(),END(0))) in if !NextTok = ARROW then (LexState:=2; AdvanceTok(); case GetTok() of ACTION(act) => if !NextTok=SEMI then (Accept:=enter(!Accept) (Int.toString (!LeafNum),act); ParseRules((s,e)::rules)) else (prSynErr "expected ';'") | _ => raise SyntaxError) else (prSynErr "expected '=>'") end) in let val usercode = ParseRtns nil in (ParseDefs(); (usercode,ParseRules(nil),!Accept)) end end handle SyntaxError => (prSynErr "") fun makebegin () : unit = let fun make nil = () | make ((x,n:int)::y)=(say "val "; say x; say " = " ; say "STARTSTATE "; say (Int.toString n); say ";\n"; make y) in say "\n(* start state definitions *)\n\n"; make(listofdict(!StateTab)) end structure L = struct nonfix > type key = int list * string fun > ((key,item:string),(key',item')) = let fun f ((a:int)::a') (b::b') = if Int.> (a,b) then true else if a=b then f a' b' else false | f _ _ = false in f key key' end end structure RB = RedBlack(L) fun maketable (fins:(int * (int list)) list, tcs :(int * (int list)) list, tcpairs: (int * int) list, trans : (int*(int list)) list) : unit = (* Fins = (state #, list of final leaves for the state) list tcs = (state #, list of trailing context leaves which begin in this state) list tcpairs = (trailing context leaf, end leaf) list trans = (state #,list of transitions for state) list *) let datatype elem = N of int | T of int | D of int val count = ref 0 val _ = (if length(trans)<256 then CharFormat := true else CharFormat := false; if !UsesTrailingContext then (say "\ndatatype yyfinstate = N of int | \ \ T of int | D of int\n") else say "\ndatatype yyfinstate = N of int"; say "\ntype statedata = {fin : yyfinstate list, trans: "; case !CharFormat of true => say "string}" | false => say "int Vector.vector}"; say "\n(* transition & final state table *)\nval tab = let\n"; case !CharFormat of true => () | false => (say "fun decode s k =\n"; say " let val k' = k + k\n"; say " val hi = Char.ord(String.sub(s, k'))\n"; say " val lo = Char.ord(String.sub(s, k' + 1))\n"; say " in hi * 256 + lo end\n")) val newfins = let fun IsEndLeaf t = let fun f ((l,e)::r) = if (e=t) then true else f r | f nil = false in f tcpairs end fun GetEndLeaf t = let fun f ((tl,el)::r) = if (tl=t) then el else f r in f tcpairs end fun GetTrConLeaves s = let fun f ((s',l)::r) = if (s = s') then l else f r | f nil = nil in f tcs end fun sort_leaves s = let fun insert (x:int) (a::b) = if (x <= a) then x::(a::b) else a::(insert x b) | insert x nil = [x] in List.foldr (fn (x,r) => insert x r) [] s end fun conv a = if (IsEndLeaf a) then (D a) else (N a) fun merge (a::a',b::b') = if (a <= b) then (conv a)::merge(a',b::b') else (T b)::(merge(a::a',b')) | merge (a::a',nil) = (conv a)::(merge (a',nil)) | merge (nil,b::b') = (T b)::(merge (b',nil)) | merge (nil,nil) = nil in map (fn (x,l) => rev (merge (l, sort_leaves (map (fn x => GetEndLeaf x) (GetTrConLeaves x))))) fins end val rs = let open RB fun makeItems x = let fun emit8(x, pos) = let val s = StringCvt.padLeft #"0" 3 (Int.toString x) in case pos of 16 => (say "\\\n\\\\"; say s; 1) | _ => (say "\\"; say s; pos+1) end fun emit16(x, pos) = let val hi8 = x div 256 val lo8 = x - hi8 * 256 (* x rem 256 *) in emit8(lo8, emit8(hi8, pos)) end fun MakeString([], _, _) = () | MakeString(x::xs, emitter, pos) = MakeString(xs, emitter, emitter(x, pos)) in case !CharFormat of true => (say " =\n\""; MakeString(x,emit8,0); say "\"\n") | false => (say " = Vector.tabulate("; say (Int.toString(length x)); say ", decode\n\""; MakeString(x,emit16,0); say "\")\n") end fun makeEntry(nil,rs,t) = rev rs | makeEntry(((l:int,x)::y),rs,t) = let val name = "s" ^ (Int.toString l) in let val (r,n) = lookup ((x,name),t) in makeEntry(y,(n::rs),t) end handle notfound _ => (count := !count+1; say "val "; say name; makeItems x; makeEntry(y,(name::rs),(insert ((x,name),t)))) end in (makeEntry(trans,nil,empty)) end fun makeTable(nil,nil) = () | makeTable(a::a',b::b') = let fun makeItems nil = () | makeItems (hd::tl) = let val (t,n) = case hd of (N i) => ("(N ",i) | (T i) => ("(T ",i) | (D i) => ("(D ",i) in (say t; say (Int.toString n); say ")"; if null tl then () else (say ","; makeItems tl)) end in (say "{fin = ["; makeItems b; say "], trans = "; say a; say "}"; if null a' then () else (say ",\n"; makeTable(a',b'))) end fun msg x = TextIO.output(TextIO.stdOut, x) in (say "in Vector.fromList\n["; makeTable(rs,newfins); say "]\nend\n"; msg ("\nNumber of states = " ^ (Int.toString (length trans))); msg ("\nNumber of distinct rows = " ^ (Int.toString (!count))); msg ("\nApprox. memory size of trans. table = " ^ (Int.toString (!count*(!CharSetSize)*(if !CharFormat then 1 else 8)))); msg " bytes\n") end (* makeaccept: Takes a (string,string) dictionary, prints case statement for accepting leaf actions. The key strings are the leaf #'s, the data strings are the actions *) fun makeaccept ends = let fun startline f = if f then say " " else say "| " fun make(nil,f) = (startline f; say "_ => raise Internal.LexerError\n") | make((x,a)::y,f) = (startline f; say x; say " => ("; say a; say ")\n"; make(y,false)) in make (listofdict(ends),true) end fun leafdata(e:(int list * exp) list) = let val fp = array(!LeafNum + 1,nil) and leaf = array(!LeafNum + 1,EPS) and tcpairs = ref nil and trailmark = ref ~1; val rec add = fn (nil,x) => () | (hd::tl,x) => (update(fp,hd,union(fp sub hd,x)); add(tl,x)) and moredata = fn CLOSURE(e1) => (moredata(e1); add(lastpos(e1),firstpos(e1))) | ALT(e1,e2) => (moredata(e1); moredata(e2)) | CAT(e1,e2) => (moredata(e1); moredata(e2); add(lastpos(e1),firstpos(e2))) | CLASS(x,i) => update(leaf,i,CLASS(x,i)) | TRAIL(i) => (update(leaf,i,TRAIL(i)); if !trailmark = ~1 then trailmark := i else ()) | END(i) => (update(leaf,i,END(i)); if !trailmark <> ~1 then (tcpairs := (!trailmark,i)::(!tcpairs); trailmark := ~1) else ()) | _ => () and makedata = fn nil => () | (_,x)::tl => (moredata(x);makedata(tl)) in trailmark := ~1; makedata(e); (fp,leaf,!tcpairs) end; fun makedfa(rules) = let val StateTab = ref (create(String.<=)) : (string,int) dictionary ref val fintab = ref (create(Int.<=)) : (int,(int list)) dictionary ref val transtab = ref (create(Int.<=)) : (int,int list) dictionary ref val tctab = ref (create(Int.<=)) : (int,(int list)) dictionary ref val (fp, leaf, tcpairs) = leafdata(rules); fun visit (state,statenum) = let val transitions = gettrans(state) in fintab := enter(!fintab)(statenum,getfin(state)); tctab := enter(!tctab)(statenum,gettc(state)); transtab := enter(!transtab)(statenum,transitions) end and visitstarts (states) = let fun vs nil i = () | vs (hd::tl) i = (visit (hd,i); vs tl (i+1)) in vs states 0 end and hashstate(s: int list) = let val rec hs = fn (nil,z) => z | ((x:int)::y,z) => hs(y,z ^ " " ^ (Int.toString x)) in hs(s,"") end and find(s) = lookup(!StateTab)(hashstate(s)) and add(s,n) = StateTab := enter(!StateTab)(hashstate(s),n) and getstate (state) = find(state) handle LOOKUP => let val n = ++StateNum in add(state,n); visit(state,n); n end and getfin state = let fun f nil fins = fins | f (hd::tl) fins = case (leaf sub hd) of END _ => f tl (hd::fins) | _ => f tl fins in f state nil end and gettc state = let fun f nil fins = fins | f (hd::tl) fins = case (leaf sub hd) of TRAIL _ => f tl (hd::fins) | _ => f tl fins in f state nil end and gettrans (state) = let fun loop c tlist = let fun cktrans nil r = r | cktrans (hd::tl) r = case (leaf sub hd) of CLASS(i,_)=> (if (i sub c) then cktrans tl (union(r,fp sub hd)) else cktrans tl r handle Subscript => cktrans tl r ) | _ => cktrans tl r in if c >= 0 then let val v=cktrans state nil in loop (c-1) (if v=nil then 0::tlist else (getstate v)::tlist) end else tlist end in loop ((!CharSetSize) - 1) nil end and startstates() = let val startarray = array(!StateNum + 1, nil); fun listofarray(a,n) = let fun f i l = if i >= 0 then f (i-1) ((a sub i)::l) else l in f (n-1) nil end val rec makess = fn nil => () | (startlist,e)::tl => (fix(startlist,firstpos(e));makess(tl)) and fix = fn (nil,_) => () | (s::tl,firsts) => (update(startarray,s, union(firsts,startarray sub s)); fix(tl,firsts)) in makess(rules);listofarray(startarray, !StateNum + 1) end in visitstarts(startstates()); (listofdict(!fintab),listofdict(!transtab),listofdict(!tctab),tcpairs) end val skel_hd = " struct\n\ \ structure UserDeclarations =\n\ \ struct\n\ \" val skel_mid2 = " | Internal.D k => action (i,(acts::l),k::rs)\n\ \ | Internal.T k =>\n\ \ let fun f (a::b,r) =\n\ \ if a=k\n\ \ then action(i,(((Internal.N a)::acts)::l),(b@r))\n\ \ else f (b,a::r)\n\ \ | f (nil,r) = action(i,(acts::l),rs)\n\ \ in f (rs,nil)\n\ \ end\n\ \" fun lexGen(infile) = let val outfile = infile ^ ".sml" fun PrintLexer (ends) = let val sayln = fn x => (say x; say "\n") in case !ArgCode of NONE => (sayln "fun lex () : Internal.result ="; sayln "let fun continue() = lex() in") | SOME s => (say "fun lex "; say "(yyarg as ("; say s; sayln ")) ="; sayln "let fun continue() : Internal.result = "); say " let fun scan (s,AcceptingLeaves : Internal.yyfinstate"; sayln " list list,l,i0) ="; if !UsesTrailingContext then say "\tlet fun action (i,nil,rs)" else say "\tlet fun action (i,nil)"; sayln " = raise LexError"; if !UsesTrailingContext then sayln "\t| action (i,nil::l,rs) = action(i-1,l,rs)" else sayln "\t| action (i,nil::l) = action (i-1,l)"; if !UsesTrailingContext then sayln "\t| action (i,(node::acts)::l,rs) =" else sayln "\t| action (i,(node::acts)::l) ="; sayln "\t\tcase node of"; sayln "\t\t Internal.N yyk => "; sayln "\t\t\t(let val yytext = substring(!yyb,i0,i-i0)\n\ \\t\t\t val yypos = i0+ !yygone"; if !CountNewLines then (sayln "\t\t\tval _ = yylineno := CharVector.foldl"; sayln "\t\t\t\t(fn (#\"\\n\", n) => n+1 | (_, n) => n) (!yylineno) yytext") else (); if !HaveReject then (say "\t\t\tfun REJECT() = action(i,acts::l"; if !UsesTrailingContext then sayln ",rs)" else sayln ")") else (); sayln "\t\t\topen UserDeclarations Internal.StartStates"; sayln " in (yybufpos := i; case yyk of "; sayln ""; sayln "\t\t\t(* Application actions *)\n"; makeaccept(ends); say "\n\t\t) end "; say ")\n\n"; if (!UsesTrailingContext) then say skel_mid2 else (); sayln "\tval {fin,trans} = Vector.sub(Internal.tab, s)"; sayln "\tval NewAcceptingLeaves = fin::AcceptingLeaves"; sayln "\tin if l = !yybl then"; sayln "\t if trans = #trans(Vector.sub(Internal.tab,0))"; sayln "\t then action(l,NewAcceptingLeaves"; if !UsesTrailingContext then say ",nil" else (); say ") else"; sayln "\t let val newchars= if !yydone then \"\" else yyinput 1024"; sayln "\t in if (size newchars)=0"; sayln "\t\t then (yydone := true;"; say "\t\t if (l=i0) then UserDeclarations.eof "; sayln (case !ArgCode of NONE => "()" | SOME _ => "yyarg"); say "\t\t else action(l,NewAcceptingLeaves"; if !UsesTrailingContext then sayln ",nil))" else sayln "))"; sayln "\t\t else (if i0=l then yyb := newchars"; sayln "\t\t else yyb := substring(!yyb,i0,l-i0)^newchars;"; sayln "\t\t yygone := !yygone+i0;"; sayln "\t\t yybl := size (!yyb);"; sayln "\t\t scan (s,AcceptingLeaves,l-i0,0))"; sayln "\t end"; sayln "\t else let val NewChar = Char.ord(String.sub(!yyb,l))"; say "\t\tval NewState = "; case (!CharFormat,!CharSetSize) of (true,129) => sayln "if NewChar<128 then Char.ord(String.sub(trans,NewChar)) else Char.ord(String.sub(trans,128))" | (true,256) => sayln "Char.ord(String.sub(trans,NewChar))" | (false,129) => sayln "if NewChar<128 then Vector.sub(trans, NewChar) else Vector.sub(trans, 128)" | (false,256) => sayln "Vector.sub(trans, NewChar)"; say "\t\tin if NewState=0 then action(l,NewAcceptingLeaves"; if !UsesTrailingContext then sayln ",nil)" else sayln ")"; sayln "\t\telse scan(NewState,NewAcceptingLeaves,l+1,i0)"; sayln "\tend"; sayln "\tend"; if !UsesPrevNewLine then () else sayln "(*"; sayln "\tval start= if substring(!yyb,!yybufpos-1,1)=\"\\n\""; sayln "then !yybegin+1 else !yybegin"; if !UsesPrevNewLine then () else sayln "*)"; say "\tin scan("; if !UsesPrevNewLine then say "start" else say "!yybegin (* start *)"; sayln ",nil,!yybufpos,!yybufpos)"; sayln " end"; sayln (case !ArgCode of NONE => "end" | SOME _ => "in continue end"); sayln " in lex"; sayln " end"; sayln "end" end in (UsesPrevNewLine := false; ResetFlags(); LexBuf := make_ibuf(TextIO.openIn infile); NextTok := BOF; inquote := false; LexOut := TextIO.openOut(outfile); StateNum := 2; LineNum := 1; StateTab := enter(create(String.<=))("INITIAL",1); LeafNum := ~1; let val (user_code,rules,ends) = parse() handle x => (close_ibuf(!LexBuf); TextIO.closeOut(!LexOut); raise x) val (fins,trans,tctab,tcpairs) = makedfa(rules) val _ = if !UsesTrailingContext then (close_ibuf(!LexBuf); TextIO.closeOut(!LexOut); prErr "lookahead is unimplemented") else () in if (!HeaderDecl) then say (!HeaderCode) else say ("structure " ^ (!StrName)); say "=\n"; say skel_hd; say user_code; say "end (* end of user routines *)\n"; say "exception LexError (* raised if illegal leaf "; say "action tried *)\n"; say "structure Internal =\n\tstruct\n"; maketable(fins,tctab,tcpairs,trans); say "structure StartStates =\n\tstruct\n"; say "\tdatatype yystartstate = STARTSTATE of int\n"; makebegin(); say "\nend\n"; say "type result = UserDeclarations.lexresult\n"; say "\texception LexerError (* raised if illegal leaf "; say "action tried *)\n"; say "end\n\n"; say "fun makeLexer yyinput = \n"; say "let \n"; if !CountNewLines then say "\tval yylineno = ref 0\n\n" else (); say "\tval yyb = ref \"\\n\" \t\t(* buffer *)\n\ \\tval yybl = ref 1\t\t(*buffer length *)\n\ \\tval yybufpos = ref 1\t\t(* location of next character to use *)\n\ \\tval yygone = ref 1\t\t(* position in file of beginning of buffer *)\n\ \\tval yydone = ref false\t\t(* eof found yet? *)\n\ \\tval yybegin = ref 1\t\t(*Current 'start state' for lexer *)\n\ \\n\tval YYBEGIN = fn (Internal.StartStates.STARTSTATE x) =>\n\ \\t\t yybegin := x\n\n"; PrintLexer(ends); close_ibuf(!LexBuf); TextIO.closeOut(!LexOut) end) end end structure Main (*: BMARK*) = struct val s = OS.FileSys.getDir() fun doit () = LexGen.lexGen (s^"/DATA/ml.lex") fun testit _ = LexGen.lexGen (s^"DATA/ml.lex") end (* Main *) smlsharp-1.2.0/benchmark/benchmarks/lexgen/sources.cm0000644 000000000000000000000005012050661606023033 0ustar00rootroot0000000 0000000 Group is ../timeit.sml lexgen.sml smlsharp-1.2.0/benchmark/benchmarks/life0000755 000000000000000000000000012050661606020412 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks/life/doit.smi0000644 000000000000000000000005112050661606022136 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "life.smi" smlsharp-1.2.0/benchmark/benchmarks/life/doit.sml0000644 000000000000000000000003612050661606022144 0ustar00rootroot0000000 0000000 Main.doit (); print "Done\n"; smlsharp-1.2.0/benchmark/benchmarks/life/life.smi0000644 000000000000000000000016312050661606022122 0ustar00rootroot0000000 0000000 _require "basis.smi" structure Main = struct val doit : unit -> unit val testit : TextIO.outstream -> unit end smlsharp-1.2.0/benchmark/benchmarks/life/life.sml0000644 000000000000000000001172612050661606022134 0ustar00rootroot0000000 0000000 structure Main (*: BMARK*) = struct fun map f [] = [] | map f (a::x) = f a :: map f x exception ex_undefined of string fun error str = raise ex_undefined str fun accumulate f = let fun foldf a [] = a | foldf a (b::x) = foldf (f a b) x in foldf end fun filter p = let fun consifp x a = if p a then a::x else x in rev o accumulate consifp [] end fun exists p = let fun existsp [] = false | existsp (a::x) = if p a then true else existsp x in existsp end fun equal a b = (a = b) fun member x a = exists (equal a) x fun C f x y = f y x fun cons a x = a::x fun revonto x = accumulate (C cons) x fun length x = let fun count n a = n+1 in accumulate count 0 x end fun repeat f = let fun rptf n x = if n=0 then x else rptf(n-1)(f x) fun check n = if n<0 then error "repeat<0" else n in rptf o check end fun copy n x = repeat (cons x) n [] fun spaces n = concat (copy n " ") local fun lexordset [] = [] | lexordset (a::x) = lexordset (filter (lexless a) x) @ [a] @ lexordset (filter (lexgreater a) x) and lexless(a1:int,b1:int)(a2,b2) = if a2=xstart andalso y>=ystart in fun plot coordlist = plotfrom(xstart,ystart) "" (filter good coordlist) end infix 6 at fun coordlist at (x:int,y:int) = let fun move(a,b) = (a+x,b+y) in map move coordlist end val rotate = map (fn (x:int,y:int) => (y,~x)) val glider = [(0,0),(0,2),(1,1),(1,2),(2,1)] val bail = [(0,0),(0,1),(1,0),(1,1)] fun barberpole n = let fun f i = if i=n then (n+n-1,n+n)::(n+n,n+n)::nil else (i+i,i+i+1)::(i+i+2,i+i+1)::f(i+1) in (0,0)::(1,0):: f 0 end val genB = mkgen(glider at (2,2) @ bail at (2,12) @ rotate (barberpole 4) at (5,20)) fun nthgen g 0 = g | nthgen g i = nthgen (mk_nextgen_fn neighbours g) (i-1) val gun = mkgen [(2,20),(3,19),(3,21),(4,18),(4,22),(4,23),(4,32),(5,7),(5,8),(5,18), (5,22),(5,23),(5,29),(5,30),(5,31),(5,32),(5,36),(6,7),(6,8),(6,18), (6,22),(6,23),(6,28),(6,29),(6,30),(6,31),(6,36),(7,19),(7,21),(7,28), (7,31),(7,40),(7,41),(8,20),(8,28),(8,29),(8,30),(8,31),(8,40),(8,41), (9,29),(9,30),(9,31),(9,32)] fun show pr = (app (fn s => (pr s; pr "\n"))) o plot o alive fun doit () = show (fn _ => ()) (nthgen gun 50) fun testit strm = show (fn c => TextIO.output (strm, c)) (nthgen gun 50) end (* Life *) smlsharp-1.2.0/benchmark/benchmarks/life/sources.cm0000644 000000000000000000000004612050661606022475 0ustar00rootroot0000000 0000000 Group is ../timeit.sml life.sml smlsharp-1.2.0/benchmark/benchmarks/link.mk0000644 000000000000000000000614712050661606021050 0ustar00rootroot0000000 0000000 barnes_hut/doit$(DOIT_SUFFIX): barnes_hut/doit.o barnes_hut/main2.o \ barnes_hut/vector3.o barnes_hut/main.o barnes_hut/load.o \ barnes_hut/data-io.o barnes_hut/getparam.o barnes_hut/grav.o \ barnes_hut/space.o barnes_hut/rand.o $(SMLSHARP) -o $@ barnes_hut/doit.smi $(LIBS) boyer/doit$(DOIT_SUFFIX): boyer/doit.o boyer/rules.o boyer/boyer.o boyer/terms.o $(SMLSHARP) -o $@ boyer/doit.smi $(LIBS) coresml/doit$(DOIT_SUFFIX): coresml/fibonacci.o $(SMLSHARP) -o $@ coresml/fibonacci.smi $(LIBS) count_graphs/doit$(DOIT_SUFFIX): count_graphs/doit.o count_graphs/count-graphs.o $(SMLSHARP) -o $@ count_graphs/doit.smi $(LIBS) cpstak/doit$(DOIT_SUFFIX): cpstak/doit.o cpstak/cpstak.o $(SMLSHARP) -o $@ cpstak/doit.smi $(LIBS) diviter/doit$(DOIT_SUFFIX): diviter/doit.o diviter/diviter.o $(SMLSHARP) -o $@ diviter/doit.smi $(LIBS) divrec/doit$(DOIT_SUFFIX): divrec/doit.o divrec/divrec.o $(SMLSHARP) -o $@ divrec/doit.smi $(LIBS) fft/doit$(DOIT_SUFFIX): fft/doit.o fft/fft.o $(SMLSHARP) -o $@ fft/doit.smi $(LIBS) gcbench/doit$(DOIT_SUFFIX): gcbench/doit.o gcbench/gcbench.o $(SMLSHARP) -o $@ gcbench/doit.smi $(LIBS) knuth_bendix/doit$(DOIT_SUFFIX): knuth_bendix/doit.o knuth_bendix/knuth-bendix.o $(SMLSHARP) -o $@ knuth_bendix/doit.smi $(LIBS) lexgen/doit$(DOIT_SUFFIX): lexgen/doit.o lexgen/lexgen.o $(SMLSHARP) -o $@ lexgen/doit.smi $(LIBS) life/doit$(DOIT_SUFFIX): life/doit.o life/life.o $(SMLSHARP) -o $@ life/doit.smi $(LIBS) logic/doit$(DOIT_SUFFIX): logic/doit.o logic/main.o logic/data.o logic/unify.o \ logic/trail.o logic/term.o $(SMLSHARP) -o $@ logic/doit.smi $(LIBS) mandelbrot/doit$(DOIT_SUFFIX): mandelbrot/doit.o mandelbrot/mandelbrot.o $(SMLSHARP) -o $@ mandelbrot/doit.smi $(LIBS) mlyacc/doit$(DOIT_SUFFIX): mlyacc/doit.o mlyacc/main.o mlyacc/link.o \ mlyacc/yacc.o mlyacc/absyn.o mlyacc/shrink.o mlyacc/verbose.o \ mlyacc/mkprstruct.o mlyacc/mklrtable.o mlyacc/lalr.o mlyacc/look.o \ mlyacc/graph.o mlyacc/coreutils.o mlyacc/core.o mlyacc/grammar.o \ mlyacc/utils.o mlyacc/parse.o mlyacc/yacc.lex.o mlyacc/yacc.grm.o \ mlyacc/hdr.o mlyacc/parser2.o mlyacc/stream.o mlyacc/join.o mlyacc/lrtable.o $(SMLSHARP) -o $@ mlyacc/doit.smi $(LIBS) nucleic/doit$(DOIT_SUFFIX): nucleic/doit.o nucleic/main.o nucleic/nucleic.o $(SMLSHARP) -o $@ nucleic/doit.smi $(LIBS) perm9/doit$(DOIT_SUFFIX): perm9/doit.o perm9/perm9.o $(SMLSHARP) -o $@ perm9/doit.smi $(LIBS) puzzle/doit$(DOIT_SUFFIX): puzzle/doit.o puzzle/puzzle.o $(SMLSHARP) -o $@ puzzle/doit.smi $(LIBS) ratio_regions/doit$(DOIT_SUFFIX): ratio_regions/doit.o \ ratio_regions/ratio-regions.o $(SMLSHARP) -o $@ ratio_regions/doit.smi $(LIBS) ray/doit$(DOIT_SUFFIX): ray/doit.o ray/main.o ray/interface.o ray/interp.o \ ray/ray.o ray/objects.o $(SMLSHARP) -o $@ ray/doit.smi $(LIBS) simple/doit$(DOIT_SUFFIX): simple/doit.o simple/main.o simple/simple.o \ simple/control.o simple/array2.o $(SMLSHARP) -o $@ simple/doit.smi $(LIBS) tsp/doit$(DOIT_SUFFIX): tsp/doit.o tsp/main.o tsp/tsp.o tsp/build.o tsp/rand.o \ tsp/lib-base.o tsp/tree.o $(SMLSHARP) -o $@ tsp/doit.smi $(LIBS) vliw/doit$(DOIT_SUFFIX): vliw/doit.o vliw/vliw.o $(SMLSHARP) -o $@ vliw/doit.smi $(LIBS) smlsharp-1.2.0/benchmark/benchmarks/logic0000755 000000000000000000000000012050661606020570 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks/logic/all.sml0000644 000000000000000000003410012050661606022132 0ustar00rootroot0000000 0000000 structure Term = struct datatype 'a option = SOME of 'a | NONE datatype term = STR of string * term list | INT of int | CON of string | REF of term option ref exception BadArg of string end; structure Trail = struct local open Term val global_trail = ref (nil : term option ref list) val trail_counter = ref 0 in fun unwind_trail (0, tr) = tr | unwind_trail (n, r::tr) = ( r := NONE ; unwind_trail (n-1, tr) ) | unwind_trail (_, nil) = raise BadArg "unwind_trail" fun reset_trail () = ( global_trail := nil ) fun trail func = let val tc0 = !trail_counter in ( func () ; global_trail := unwind_trail (!trail_counter-tc0, !global_trail) ; trail_counter := tc0 ) end fun bind (r, t) = ( r := SOME t ; global_trail := r::(!global_trail) ; trail_counter := !trail_counter+1 ) end (* local *) end; (* Trail *) structure Unify = struct local open Term Trail fun same_ref (r, REF(r')) = (r = r') | same_ref _ = false fun occurs_check r t = let fun oc (STR(_,ts)) = ocs ts | oc (REF(r')) = (case !r' of SOME(s) => oc s | _ => r <> r') | oc (CON _) = true | oc (INT _) = true and ocs nil = true | ocs (t::ts) = oc t andalso ocs ts in oc t end fun deref (t as (REF(x))) = (case !x of SOME(s) => deref s | _ => t) | deref t = t fun unify' (REF(r), t) sc = unify_REF (r,t) sc | unify' (s, REF(r)) sc = unify_REF (r,s) sc | unify' (STR(f,ts), STR(g,ss)) sc = if (f = g) then unifys (ts,ss) sc else () | unify' (CON(f), CON(g)) sc = if (f = g) then sc () else () | unify' (INT(f), INT(g)) sc = if (f = g) then sc () else () | unify' (_, _) sc = () and unifys (nil, nil) sc = sc () | unifys (t::ts, s::ss) sc = unify' (deref(t), deref(s)) (fn () => unifys (ts, ss) sc) | unifys _ sc = () and unify_REF (r, t) sc = if same_ref (r, t) then sc () else if occurs_check r t then ( bind(r, t) ; sc () ) else () in val deref = deref fun unify (s, t) = unify' (deref(s), deref(t)) end (* local *) end; (* Unify *) structure Get = struct local open Term Trail Unify in fun get_structure (t, c, n) sc = let fun newrefs 0 = nil | newrefs n = REF(ref(NONE))::newrefs(n-1) fun gs (REF(r)) = let val ts = newrefs n in (bind(r, STR(c, ts)); sc ts) end | gs (STR(f,args)) = if (c = f) then sc (args) else () | gs _ = raise BadArg "get_structure" in gs (deref t) end fun get_const (t, c) sc = let fun gs (REF(r)) = (bind(r, CON c); sc ()) | gs (CON(f)) = if (c = f) then sc () else () | gs _ = raise BadArg "get_const" in gs (deref t) end fun get_integer (t, c) sc = let fun gs (REF(r)) = (bind(r, INT c); sc ()) | gs (INT(f)) = if (c = f) then sc () else () | gs _ = raise BadArg "get_integer" in gs (deref t) end end (* local *) end; (* Get *) structure Name = struct local open Term (* some support code for remembering variable names for printing *) in val variable_names = ref (nil : (string * term) list) val next_made_up_variable_num = ref 0 fun name_of_var r = let fun find_name nil = NONE | find_name ((name, REF(r')) :: rest) = if r = r' then SOME name else find_name rest | find_name (_ :: rest) = (* this term is not a variable *) find_name rest in case find_name (!variable_names) of SOME name => name | NONE => let val name = "X" ^ (makestring_int (!next_made_up_variable_num)) in (* * We wrap the references with the REF constructor * so that the form of list entries that we add * matches the form of the list we are given to * start with. *) variable_names := (name, REF(r)) :: !variable_names; inc next_made_up_variable_num; name end end end (* local *) end; (* Name *) structure Makestring = struct local open Term Name in fun makestring (STR(f,nil)) = f | makestring (STR(f,ts)) = f ^ "(" ^ makestring_s ts ^ ")" | makestring (REF(r)) = (case !r of SOME t => makestring t | _ => name_of_var r) | makestring (CON(f)) = f | makestring (INT(i)) = makestring_int i and makestring_s nil = raise BadArg "makestring_s" (* can't happen *) | makestring_s (t::nil) = makestring t | makestring_s (t::ts) = makestring t ^ "," ^ makestring_s ts (* print substitution, represented as list of variable/term pairs *) fun makestrings l = let fun ms [] = ".\n" | ms ((s, t) :: rest) = "\n" ^ s ^ " = " ^ (makestring t) ^ (ms rest) in variable_names := l; next_made_up_variable_num := 0; ms l end end (* local *) end; (* Makestring *) structure Data = struct local open Term Trail Unify Makestring val cons_s = "cons" val x_s = "x" val nil_s = "nil" val o_s = "o" val s_s = "s" val CON_o_s = CON(o_s) val CON_nil_s = CON(nil_s) val CON_x_s = CON(x_s) in fun exists sc = sc (REF(ref(NONE))) fun move_horiz (T_1, T_2) sc = ( trail (fn () => ( trail (fn () => ( trail (fn () => ( trail (fn () => ( trail (fn () => ( trail (fn () => ( trail (fn () => ( trail (fn () => ( trail (fn () => ( trail (fn () => ( trail (fn () => exists (fn T => exists (fn TT => unify (T_1, STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, T])])]), TT])) (fn () => unify (T_2, STR(cons_s, [STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, T])])]), TT])) (fn () => sc ()))))) ; exists (fn P1 => exists (fn P5 => exists (fn TT => unify (T_1, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, STR(cons_s, [P5, CON_nil_s])])])])]), TT])) (fn () => unify (T_2, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, STR(cons_s, [P5, CON_nil_s])])])])]), TT])) (fn () => sc ()))))) )) ; exists (fn P1 => exists (fn P2 => exists (fn TT => unify (T_1, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [P2, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, CON_nil_s])])])])]), TT])) (fn () => unify (T_2, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [P2, STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, CON_nil_s])])])])]), TT])) (fn () => sc ()))))) )) ; exists (fn L1 => exists (fn P4 => exists (fn TT => unify (T_1, STR(cons_s, [L1, STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, STR(cons_s, [P4, CON_nil_s])])])]), TT])])) (fn () => unify (T_2, STR(cons_s, [L1, STR(cons_s, [STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, STR(cons_s, [P4, CON_nil_s])])])]), TT])])) (fn () => sc ()))))) )) ; exists (fn L1 => exists (fn P1 => exists (fn TT => unify (T_1, STR(cons_s, [L1, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, CON_nil_s])])])]), TT])])) (fn () => unify (T_2, STR(cons_s, [L1, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, CON_nil_s])])])]), TT])])) (fn () => sc ()))))) )) ; exists (fn L1 => exists (fn L2 => exists (fn TT => unify (T_1, STR(cons_s, [L1, STR(cons_s, [L2, STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, CON_nil_s])])]), TT])])])) (fn () => unify (T_2, STR(cons_s, [L1, STR(cons_s, [L2, STR(cons_s, [STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, CON_nil_s])])]), TT])])])) (fn () => sc ()))))) )) ; exists (fn T => exists (fn TT => unify (T_1, STR(cons_s, [STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, T])])]), TT])) (fn () => unify (T_2, STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, T])])]), TT])) (fn () => sc ())))) )) ; exists (fn P1 => exists (fn P5 => exists (fn TT => unify (T_1, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [P5, CON_nil_s])])])])]), TT])) (fn () => unify (T_2, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, STR(cons_s, [P5, CON_nil_s])])])])]), TT])) (fn () => sc ()))))) )) ; exists (fn P1 => exists (fn P2 => exists (fn TT => unify (T_1, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [P2, STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, CON_nil_s])])])])]), TT])) (fn () => unify (T_2, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [P2, STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, CON_nil_s])])])])]), TT])) (fn () => sc ()))))) )) ; exists (fn L1 => exists (fn P4 => exists (fn TT => unify (T_1, STR(cons_s, [L1, STR(cons_s, [STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [P4, CON_nil_s])])])]), TT])])) (fn () => unify (T_2, STR(cons_s, [L1, STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, STR(cons_s, [P4, CON_nil_s])])])]), TT])])) (fn () => sc ()))))) )) ; exists (fn L1 => exists (fn P1 => exists (fn TT => unify (T_1, STR(cons_s, [L1, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, CON_nil_s])])])]), TT])])) (fn () => unify (T_2, STR(cons_s, [L1, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, CON_nil_s])])])]), TT])])) (fn () => sc ()))))) )) ; exists (fn L1 => exists (fn L2 => exists (fn TT => unify (T_1, STR(cons_s, [L1, STR(cons_s, [L2, STR(cons_s, [STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, CON_nil_s])])]), TT])])])) (fn () => unify (T_2, STR(cons_s, [L1, STR(cons_s, [L2, STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, CON_nil_s])])]), TT])])])) (fn () => sc ()))))) ) | move_horiz _ _ = () and rotate (T_1, T_2) sc = exists (fn P11 => exists (fn P12 => exists (fn P13 => exists (fn P14 => exists (fn P15 => exists (fn P21 => exists (fn P22 => exists (fn P23 => exists (fn P24 => exists (fn P31 => exists (fn P32 => exists (fn P33 => exists (fn P41 => exists (fn P42 => exists (fn P51 => unify (T_1, STR(cons_s, [STR(cons_s, [P11, STR(cons_s, [P12, STR(cons_s, [P13, STR(cons_s, [P14, STR(cons_s, [P15, CON_nil_s])])])])]), STR(cons_s, [STR(cons_s, [P21, STR(cons_s, [P22, STR(cons_s, [P23, STR(cons_s, [P24, CON_nil_s])])])]), STR(cons_s, [ST R(cons_s, [P31, STR(cons_s, [P32, STR(cons_s, [P33, CON_nil_s])])]), STR(cons_s, [STR(cons_s, [P41, STR(cons_s, [P42, CON_nil_s])]), STR(cons_s, [STR(cons_s, [P51, CON_nil_s]), CON_nil_s])])])])])) (fn () => unify (T_2, STR(cons_s, [STR(cons_s, [P51, STR(cons_s, [P41, STR(cons_s, [P31, STR(cons_s, [P21, STR(cons_s, [P11, CON_nil_s])])])])]), STR(cons_s, [STR(cons_s, [P42, STR(cons_s, [P32, STR(cons_s, [P22, STR(cons_s, [P12, CON_nil_s])])])]), STR(cons_s, [ST R(cons_s, [P33, STR(cons_s, [P23, STR(cons_s, [P13, CON_nil_s])])]), STR(cons_s, [STR(cons_s, [P24, STR(cons_s, [P14, CON_nil_s])]), STR(cons_s, [STR(cons_s, [P15, CON_nil_s]), CON_nil_s])])])])])) (fn () => sc ()))))))))))))))))) | rotate _ _ = () and move (T_1, T_2) sc = ( trail (fn () => ( trail (fn () => exists (fn X => exists (fn Y => unify (T_1, X) (fn () => unify (T_2, Y) (fn () => move_horiz (X, Y) sc))))) ; exists (fn X => exists (fn X1 => exists (fn Y => exists (fn Y1 => unify (T_1, X) (fn () => unify (T_2, Y) (fn () => rotate (X, X1) (fn () => move_horiz (X1, Y1) (fn () => rotate (Y, Y1) sc)))))))) )) ; exists (fn X => exists (fn X1 => exists (fn Y => exists (fn Y1 => unify (T_1, X) (fn () => unify (T_2, Y) (fn () => rotate (X1, X) (fn () => move_horiz (X1, Y1) (fn () => rotate (Y1, Y) sc)))))))) ) | move _ _ = () and solitaire (T_1, T_2, T_3) sc = ( trail (fn () => exists (fn X => unify (T_1, X) (fn () => unify (T_2, STR(cons_s, [X, CON_nil_s])) (fn () => unify (T_3, INT(0)) (fn () => sc ()))))) ; exists (fn N => exists (fn X => exists (fn Y => exists (fn Z => unify (T_1, X) (fn () => unify (T_2, STR(cons_s, [X, Z])) (fn () => unify (T_3, STR(s_s, [N])) (fn () => move (X, Y) (fn () => solitaire (Y, Z, N) sc)))))))) ) | solitaire _ _ = () and solution1 (T_1) sc = exists (fn X => unify (T_1, X) (fn () => solitaire (STR(cons_s, [STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, CON_nil_s])])])])]), STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, CON_nil_s])])])]), STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, CON_nil_s])])]), STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, CON_nil_s])]), STR(cons_s, [STR(cons_s, [CON_x_s, CON_nil_s]), CON_nil_s])])])])]) , X, STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [INT(0)])])])])])])])])])])])])])) sc)) | solution1 _ _ = () and solution2 (T_1) sc = exists (fn X => unify (T_1, X) (fn () => solitaire (STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, CON_nil_s])])])])]), STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, CON_nil_s])])])]), STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, CON_nil_s])])]), STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, CON_nil_s])]), STR(cons_s, [STR(cons_s, [CON_x_s, CON_nil_s]), CON_nil_s])])])])]) , X, STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [INT(0)])])])])])])])])])])])])])) sc)) | solution2 _ _ = () end (* local *) end; (* Data *) structure Main = struct local open Data exception Done in fun sol1 _ = exists(fn Z => solution1 (Z) (fn () => (print "yes\n"; raise Done))) fun sol2 _ = exists(fn Z => solution2 (Z) (fn () => (print "yes\n"; raise Done))) val _ = (sol2 ()) handle Done => () end (* local *) end; (* Main *) smlsharp-1.2.0/benchmark/benchmarks/logic/data.smi0000644 000000000000000000000104112050661606022266 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "term.smi" _require "trail.smi" _require "unify.smi" structure Data = struct val exists : (Term.term -> 'a) -> 'a val move_horiz : Term.term * Term.term -> (unit -> unit) -> unit val rotate : Term.term * Term.term -> (unit -> unit) -> unit val move : Term.term * Term.term -> (unit -> unit) -> unit val solitaire : Term.term * Term.term * Term.term -> (unit -> unit) -> unit val solution1 : Term.term -> (unit -> unit) -> unit val solution2 : Term.term -> (unit -> unit) -> unit end smlsharp-1.2.0/benchmark/benchmarks/logic/data.sml0000644 000000000000000000002131112050661606022273 0ustar00rootroot0000000 0000000 (* data.sml *) structure Data = struct local open Term Trail Unify val cons_s = "cons" val x_s = "x" val nil_s = "nil" val o_s = "o" val s_s = "s" val CON_o_s = CON(o_s) val CON_nil_s = CON(nil_s) val CON_x_s = CON(x_s) in fun exists sc = sc (REF(ref(NONE))) fun move_horiz (T_1, T_2) sc = ( trail (fn () => ( trail (fn () => ( trail (fn () => ( trail (fn () => ( trail (fn () => ( trail (fn () => ( trail (fn () => ( trail (fn () => ( trail (fn () => ( trail (fn () => ( trail (fn () => exists (fn T => exists (fn TT => unify (T_1, STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, T])])]), TT])) (fn () => unify (T_2, STR(cons_s, [STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, T])])]), TT])) (fn () => sc ()))))) ; exists (fn P1 => exists (fn P5 => exists (fn TT => unify (T_1, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, STR(cons_s, [P5, CON_nil_s])])])])]), TT])) (fn () => unify (T_2, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, STR(cons_s, [P5, CON_nil_s])])])])]), TT])) (fn () => sc ()))))) )) ; exists (fn P1 => exists (fn P2 => exists (fn TT => unify (T_1, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [P2, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, CON_nil_s])])])])]), TT])) (fn () => unify (T_2, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [P2, STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, CON_nil_s])])])])]), TT])) (fn () => sc ()))))) )) ; exists (fn L1 => exists (fn P4 => exists (fn TT => unify (T_1, STR(cons_s, [L1, STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, STR(cons_s, [P4, CON_nil_s])])])]), TT])])) (fn () => unify (T_2, STR(cons_s, [L1, STR(cons_s, [STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, STR(cons_s, [P4, CON_nil_s])])])]), TT])])) (fn () => sc ()))))) )) ; exists (fn L1 => exists (fn P1 => exists (fn TT => unify (T_1, STR(cons_s, [L1, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, CON_nil_s])])])]), TT])])) (fn () => unify (T_2, STR(cons_s, [L1, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, CON_nil_s])])])]), TT])])) (fn () => sc ()))))) )) ; exists (fn L1 => exists (fn L2 => exists (fn TT => unify (T_1, STR(cons_s, [L1, STR(cons_s, [L2, STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, CON_nil_s])])]), TT])])])) (fn () => unify (T_2, STR(cons_s, [L1, STR(cons_s, [L2, STR(cons_s, [STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, CON_nil_s])])]), TT])])])) (fn () => sc ()))))) )) ; exists (fn T => exists (fn TT => unify (T_1, STR(cons_s, [STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, T])])]), TT])) (fn () => unify (T_2, STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, T])])]), TT])) (fn () => sc ())))) )) ; exists (fn P1 => exists (fn P5 => exists (fn TT => unify (T_1, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [P5, CON_nil_s])])])])]), TT])) (fn () => unify (T_2, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, STR(cons_s, [P5, CON_nil_s])])])])]), TT])) (fn () => sc ()))))) )) ; exists (fn P1 => exists (fn P2 => exists (fn TT => unify (T_1, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [P2, STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, CON_nil_s])])])])]), TT])) (fn () => unify (T_2, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [P2, STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, CON_nil_s])])])])]), TT])) (fn () => sc ()))))) )) ; exists (fn L1 => exists (fn P4 => exists (fn TT => unify (T_1, STR(cons_s, [L1, STR(cons_s, [STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [P4, CON_nil_s])])])]), TT])])) (fn () => unify (T_2, STR(cons_s, [L1, STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, STR(cons_s, [P4, CON_nil_s])])])]), TT])])) (fn () => sc ()))))) )) ; exists (fn L1 => exists (fn P1 => exists (fn TT => unify (T_1, STR(cons_s, [L1, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, CON_nil_s])])])]), TT])])) (fn () => unify (T_2, STR(cons_s, [L1, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, CON_nil_s])])])]), TT])])) (fn () => sc ()))))) )) ; exists (fn L1 => exists (fn L2 => exists (fn TT => unify (T_1, STR(cons_s, [L1, STR(cons_s, [L2, STR(cons_s, [STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, CON_nil_s])])]), TT])])])) (fn () => unify (T_2, STR(cons_s, [L1, STR(cons_s, [L2, STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, CON_nil_s])])]), TT])])])) (fn () => sc ()))))) ) and rotate (T_1, T_2) sc = exists (fn P11 => exists (fn P12 => exists (fn P13 => exists (fn P14 => exists (fn P15 => exists (fn P21 => exists (fn P22 => exists (fn P23 => exists (fn P24 => exists (fn P31 => exists (fn P32 => exists (fn P33 => exists (fn P41 => exists (fn P42 => exists (fn P51 => unify (T_1, STR(cons_s, [STR(cons_s, [P11, STR(cons_s, [P12, STR(cons_s, [P13, STR(cons_s, [P14, STR(cons_s, [P15, CON_nil_s])])])])]), STR(cons_s, [STR(cons_s, [P21, STR(cons_s, [P22, STR(cons_s, [P23, STR(cons_s, [P24, CON_nil_s])])])]), STR(cons_s, [STR(cons_s, [P31, STR(cons_s, [P32, STR(cons_s, [P33, CON_nil_s])])]), STR(cons_s, [STR(cons_s, [P41, STR(cons_s, [P42, CON_nil_s])]), STR(cons_s, [STR(cons_s, [P51, CON_nil_s]), CON_nil_s])])])])])) (fn () => unify (T_2, STR(cons_s, [STR(cons_s, [P51, STR(cons_s, [P41, STR(cons_s, [P31, STR(cons_s, [P21, STR(cons_s, [P11, CON_nil_s])])])])]), STR(cons_s, [STR(cons_s, [P42, STR(cons_s, [P32, STR(cons_s, [P22, STR(cons_s, [P12, CON_nil_s])])])]), STR(cons_s, [STR(cons_s, [P33, STR(cons_s, [P23, STR(cons_s, [P13, CON_nil_s])])]), STR(cons_s, [STR(cons_s, [P24, STR(cons_s, [P14, CON_nil_s])]), STR(cons_s, [STR(cons_s, [P15, CON_nil_s]), CON_nil_s])])])])])) (fn () => sc ()))))))))))))))))) and move (T_1, T_2) sc = ( trail (fn () => ( trail (fn () => exists (fn X => exists (fn Y => unify (T_1, X) (fn () => unify (T_2, Y) (fn () => move_horiz (X, Y) sc))))) ; exists (fn X => exists (fn X1 => exists (fn Y => exists (fn Y1 => unify (T_1, X) (fn () => unify (T_2, Y) (fn () => rotate (X, X1) (fn () => move_horiz (X1, Y1) (fn () => rotate (Y, Y1) sc)))))))) )) ; exists (fn X => exists (fn X1 => exists (fn Y => exists (fn Y1 => unify (T_1, X) (fn () => unify (T_2, Y) (fn () => rotate (X1, X) (fn () => move_horiz (X1, Y1) (fn () => rotate (Y1, Y) sc)))))))) ) and solitaire (T_1, T_2, T_3) sc = ( trail (fn () => exists (fn X => unify (T_1, X) (fn () => unify (T_2, STR(cons_s, [X, CON_nil_s])) (fn () => unify (T_3, INT(0)) (fn () => sc ()))))) ; exists (fn N => exists (fn X => exists (fn Y => exists (fn Z => unify (T_1, X) (fn () => unify (T_2, STR(cons_s, [X, Z])) (fn () => unify (T_3, STR(s_s, [N])) (fn () => move (X, Y) (fn () => solitaire (Y, Z, N) sc)))))))) ) and solution1 (T_1) sc = exists (fn X => unify (T_1, X) (fn () => solitaire (STR(cons_s, [STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, CON_nil_s])])])])]), STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, CON_nil_s])])])]), STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, CON_nil_s])])]), STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, CON_nil_s])]), STR(cons_s, [STR(cons_s, [CON_x_s, CON_nil_s]), CON_nil_s])])])])]) , X, STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [INT(0)])])])])])])])])])])])])])) sc)) and solution2 (T_1) sc = exists (fn X => unify (T_1, X) (fn () => solitaire (STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, CON_nil_s])])])])]), STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, CON_nil_s])])])]), STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, CON_nil_s])])]), STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, CON_nil_s])]), STR(cons_s, [STR(cons_s, [CON_x_s, CON_nil_s]), CON_nil_s])])])])]) , X, STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [INT(0)])])])])])])])])])])])])])) sc)) end (* local *) end; (* Data *) smlsharp-1.2.0/benchmark/benchmarks/logic/doit.smi0000644 000000000000000000000005112050661606022314 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "main.smi" smlsharp-1.2.0/benchmark/benchmarks/logic/doit.sml0000644 000000000000000000000003612050661606022322 0ustar00rootroot0000000 0000000 Main.doit (); print "Done\n"; smlsharp-1.2.0/benchmark/benchmarks/logic/get.sml0000644 000000000000000000000164212050661606022146 0ustar00rootroot0000000 0000000 (* get.sml *) structure Get = struct local open Term Trail Unify in fun get_structure (t, c, n) sc = let fun newrefs 0 = nil | newrefs n = REF(ref(NONE))::newrefs(n-1) fun gs (REF(r)) = let val ts = newrefs n in (bind(r, STR(c, ts)); sc ts) end | gs (STR(f,args)) = if (c = f) then sc (args) else () | gs _ = raise BadArg "get_structure" in gs (deref t) end fun get_const (t, c) sc = let fun gs (REF(r)) = (bind(r, CON c); sc ()) | gs (CON(f)) = if (c = f) then sc () else () | gs _ = raise BadArg "get_const" in gs (deref t) end fun get_integer (t, c) sc = let fun gs (REF(r)) = (bind(r, INT c); sc ()) | gs (INT(f)) = if (c = f) then sc () else () | gs _ = raise BadArg "get_integer" in gs (deref t) end end (* local *) end; (* Get *) smlsharp-1.2.0/benchmark/benchmarks/logic/main.smi0000644 000000000000000000000020712050661606022304 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "data.smi" structure Main = struct val doit : unit -> unit val testit : TextIO.outstream -> unit end smlsharp-1.2.0/benchmark/benchmarks/logic/main.sml0000644 000000000000000000000053412050661606022312 0ustar00rootroot0000000 0000000 (* main.sml *) structure Main (*: BMARK*) = struct val name = "Logic" exception Done fun testit strm = Data.exists(fn Z => Data.solution2 Z (fn () => raise Done)) handle Done => TextIO.output(strm, "yes\n") fun doit () = Data.exists(fn Z => Data.solution2 Z (fn () => raise Done)) handle Done => () end; (* Main *) smlsharp-1.2.0/benchmark/benchmarks/logic/makestring.sml0000644 000000000000000000000152512050661606023533 0ustar00rootroot0000000 0000000 (* makestring.sml *) structure Makestring = struct local open Term Name in fun makestring (STR(f,nil)) = f | makestring (STR(f,ts)) = f ^ "(" ^ makestring_s ts ^ ")" | makestring (REF(r)) = (case !r of SOME t => makestring t | _ => name_of_var r) | makestring (CON(f)) = f | makestring (INT(i)) = Int.toString i and makestring_s nil = raise BadArg "makestring_s" (* can't happen *) | makestring_s (t::nil) = makestring t | makestring_s (t::ts) = makestring t ^ "," ^ makestring_s ts (* print substitution, represented as list of variable/term pairs *) fun makestrings l = let fun ms [] = ".\n" | ms ((s, t) :: rest) = "\n" ^ s ^ " = " ^ (makestring t) ^ (ms rest) in variable_names := l; next_made_up_variable_num := 0; ms l end end (* local *) end; (* Makestring *) smlsharp-1.2.0/benchmark/benchmarks/logic/name.sml0000644 000000000000000000000205312050661606022304 0ustar00rootroot0000000 0000000 (* name.sml *) structure Name = struct local open Term (* some support code for remembering variable names for printing *) in val variable_names = ref (nil : (string * term) list) val next_made_up_variable_num = ref 0 fun name_of_var r = let fun find_name nil = NONE | find_name ((name, REF(r')) :: rest) = if r = r' then SOME name else find_name rest | find_name (_ :: rest) = (* this term is not a variable *) find_name rest in case find_name (!variable_names) of SOME name => name | NONE => let val name = "X" ^ (Int.toString (!next_made_up_variable_num)) in (* * We wrap the references with the REF constructor * so that the form of list entries that we add * matches the form of the list we are given to * start with. *) variable_names := (name, REF(r)) :: !variable_names; next_made_up_variable_num := !next_made_up_variable_num+1; name end end end (* local *) end; (* Name *) smlsharp-1.2.0/benchmark/benchmarks/logic/sources.cm0000644 000000000000000000000014312050661606022651 0ustar00rootroot0000000 0000000 Group is ../timeit.sml term.sml trail.sml unify.sml data.sml main.sml smlsharp-1.2.0/benchmark/benchmarks/logic/term.smi0000644 000000000000000000000030012050661606022321 0ustar00rootroot0000000 0000000 _require "basis.smi" structure Term = struct datatype term = CON of string | INT of int | REF of term option ref | STR of string * term list exception BadArg of string end smlsharp-1.2.0/benchmark/benchmarks/logic/term.sml0000644 000000000000000000000030012050661606022324 0ustar00rootroot0000000 0000000 (* term.sml *) structure Term = struct datatype term = STR of string * term list | INT of int | CON of string | REF of term option ref exception BadArg of string end; smlsharp-1.2.0/benchmark/benchmarks/logic/trail.smi0000644 000000000000000000000040412050661606022472 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "term.smi" structure Trail = struct val unwind_trail : int * 'a option ref list -> 'a option ref list val reset_trail : unit -> unit val trail : (unit -> 'a) -> unit val bind : Term.term option ref * Term.term -> unit end smlsharp-1.2.0/benchmark/benchmarks/logic/trail.sml0000644 000000000000000000000136312050661606022502 0ustar00rootroot0000000 0000000 (* trail.sml *) structure Trail = struct local open Term val global_trail = ref (nil : term option ref list) val trail_counter = ref 0 in fun unwind_trail (0, tr) = tr | unwind_trail (n, r::tr) = ( r := NONE ; unwind_trail (n-1, tr) ) | unwind_trail (_, nil) = raise BadArg "unwind_trail" fun reset_trail () = ( global_trail := nil ) fun trail func = let val tc0 = !trail_counter in ( func () ; global_trail := unwind_trail (!trail_counter-tc0, !global_trail) ; trail_counter := tc0 ) end fun bind (r, t) = ( r := SOME t ; global_trail := r::(!global_trail) ; trail_counter := !trail_counter+1 ) end (* local *) end; (* Trail *) smlsharp-1.2.0/benchmark/benchmarks/logic/unify.smi0000644 000000000000000000000027612050661606022520 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "term.smi" _require "trail.smi" structure Unify = struct val deref : Term.term -> Term.term val unify : Term.term * Term.term -> (unit -> unit) -> unit end smlsharp-1.2.0/benchmark/benchmarks/logic/unify.sml0000644 000000000000000000000245612050661606022525 0ustar00rootroot0000000 0000000 (* unify.sml *) structure Unify = struct local open Term Trail fun same_ref (r, REF(r')) = (r = r') | same_ref _ = false fun occurs_check r t = let fun oc (STR(_,ts)) = ocs ts | oc (REF(r')) = (case !r' of SOME(s) => oc s | _ => r <> r') | oc (CON _) = true | oc (INT _) = true and ocs nil = true | ocs (t::ts) = oc t andalso ocs ts in oc t end fun deref (t as (REF(x))) = (case !x of SOME(s) => deref s | _ => t) | deref t = t fun unify' (REF(r), t) sc = unify_REF (r,t) sc | unify' (s, REF(r)) sc = unify_REF (r,s) sc | unify' (STR(f,ts), STR(g,ss)) sc = if (f = g) then unifys (ts,ss) sc else () | unify' (CON(f), CON(g)) sc = if (f = g) then sc () else () | unify' (INT(f), INT(g)) sc = if (f = g) then sc () else () | unify' (_, _) sc = () and unifys (nil, nil) sc = sc () | unifys (t::ts, s::ss) sc = unify' (deref(t), deref(s)) (fn () => unifys (ts, ss) sc) | unifys _ sc = () and unify_REF (r, t) sc = if same_ref (r, t) then sc () else if occurs_check r t then ( bind(r, t) ; sc () ) else () in val deref = deref fun unify (s, t) = unify' (deref(s), deref(t)) end (* local *) end; (* Unify *) smlsharp-1.2.0/benchmark/benchmarks/Makefile0000644 000000000000000000000163412050661606021216 0ustar00rootroot0000000 0000000 SMLSHARP = ../../src/compiler/smlsharp -B ../../src DOIT_SUFFIX = LIBS = all: \ barnes_hut/doit$(DOIT_SUFFIX) \ boyer/doit$(DOIT_SUFFIX) \ coresml/doit$(DOIT_SUFFIX) \ count_graphs/doit$(DOIT_SUFFIX) \ cpstak/doit$(DOIT_SUFFIX) \ diviter/doit$(DOIT_SUFFIX) \ divrec/doit$(DOIT_SUFFIX) \ fft/doit$(DOIT_SUFFIX) \ gcbench/doit$(DOIT_SUFFIX) \ knuth_bendix/doit$(DOIT_SUFFIX) \ lexgen/doit$(DOIT_SUFFIX) \ life/doit$(DOIT_SUFFIX) \ logic/doit$(DOIT_SUFFIX) \ mandelbrot/doit$(DOIT_SUFFIX) \ mlyacc/doit$(DOIT_SUFFIX) \ nucleic/doit$(DOIT_SUFFIX) \ perm9/doit$(DOIT_SUFFIX) \ puzzle/doit$(DOIT_SUFFIX) \ ratio_regions/doit$(DOIT_SUFFIX) \ ray/doit$(DOIT_SUFFIX) \ simple/doit$(DOIT_SUFFIX) \ tsp/doit$(DOIT_SUFFIX) \ vliw/doit$(DOIT_SUFFIX) .SUFFIXES: .o .smi .sml .sml.o: $(SMLSHARP) -c -o $@ $< include link.mk include depend.mk smlsharp-1.2.0/benchmark/benchmarks/mandelbrot0000755 000000000000000000000000012050661606021622 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks/mandelbrot/doit.smi0000644 000000000000000000000005712050661606023354 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "mandelbrot.smi" smlsharp-1.2.0/benchmark/benchmarks/mandelbrot/doit.sml0000644 000000000000000000000003612050661606023354 0ustar00rootroot0000000 0000000 Main.doit (); print "Done\n"; smlsharp-1.2.0/benchmark/benchmarks/mandelbrot/mandelbrot.smi0000644 000000000000000000000016312050661606024542 0ustar00rootroot0000000 0000000 _require "basis.smi" structure Main = struct val doit : unit -> unit val testit : TextIO.outstream -> unit end smlsharp-1.2.0/benchmark/benchmarks/mandelbrot/mandelbrot.sml0000644 000000000000000000000336512050661606024554 0ustar00rootroot0000000 0000000 (* mandelbrot.sml *) structure Main (*: BMARK*) = struct val x_base = ~2.0 val y_base = 1.25 val side = 2.5 val sz = 2048 val maxCount = 1024 val delta = side / (real sz) val sum_iterations = ref 0 fun loop1 i = if (i >= sz) then () else let val c_im : real = y_base - (delta * real i) fun loop2 j = if (j >= sz) then () else let (* NOTE: older versions of the benchmark had the following * incorrect code: val c_re = x_base * (delta + real_j) *) val c_re = x_base + (delta * real j) fun loop3 (count, z_re : real, z_im : real) = if (count < maxCount) then let val z_re_sq = z_re * z_re val z_im_sq = z_im * z_im in if ((z_re_sq + z_im_sq) > 4.0) then count else let val z_re_im = (z_re * z_im) in loop3 (count+1, (z_re_sq - z_im_sq) + c_re, z_re_im + z_re_im + c_im) end end (* loop3 *) else count val count = loop3 (0, c_re, c_im) in sum_iterations := !sum_iterations + count; loop2 (j+1) end in loop2 0; loop1 (i+1) end fun doit () = (sum_iterations := 0; loop1 0) fun testit outstrm = ( sum_iterations := 0; loop1 0; TextIO.output (outstrm, Int.toString(!sum_iterations) ^ " iterations\n")) end (* Mandelbrot *) smlsharp-1.2.0/benchmark/benchmarks/mandelbrot/README0000644 000000000000000000000020112050661606022552 0ustar00rootroot0000000 0000000 gcc -O 4.784+0.01 lcc 5.480+0.01 cc -O (ULTRIX) 5.023+0.01 SML/NJ 1.03f+unf 6.360+0.00 smlsharp-1.2.0/benchmark/benchmarks/mandelbrot/sources.cm0000644 000000000000000000000005512050661606023705 0ustar00rootroot0000000 0000000 Group is ../timeit.sml mandelbrot.sml smlsharp-1.2.0/benchmark/benchmarks/mlyacc0000755 000000000000000000000000012050661606020743 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks/mlyacc/absyn.sig0000644 000000000000000000000166112050661606022646 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi * * $Log$ * Revision 1.1.1.1 1996/01/31 16:01:44 george * Version 109 * *) signature ABSYN = sig datatype exp = EVAR of string | EAPP of exp * exp | ETUPLE of exp list | EINT of int | FN of pat * exp | LET of decl list * exp | UNIT | SEQ of exp * exp | CODE of string and pat = PVAR of string | PAPP of string * pat | PTUPLE of pat list | PLIST of pat list | PINT of int | WILD | AS of pat * pat and decl = VB of pat * exp and rule = RULE of pat * exp val printRule : ((string -> unit) * (string -> unit)) -> rule -> unit end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/absyn.smi0000644 000000000000000000000111312050661606022644 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "absyn.sig" structure Absyn = struct datatype exp = EVAR of string | EAPP of exp * exp | ETUPLE of exp list | EINT of int | FN of pat * exp | LET of decl list * exp | UNIT | SEQ of exp * exp | CODE of string and pat = PVAR of string | PAPP of string * pat | PTUPLE of pat list | PLIST of pat list | PINT of int | WILD | AS of pat * pat and decl = VB of pat * exp and rule = RULE of pat * exp val printRule : ((string -> unit) * (string -> unit)) -> rule -> unit end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/absyn.sml0000644 000000000000000000001527212050661606022662 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1991 Andrew W. Appel, David R. Tarditi * * $Log$ * Revision 1.3 1996/02/26 15:02:30 george * print no longer overloaded. * use of makestring has been removed and replaced with Int.toString .. * use of IO replaced with TextIO * * Revision 1.2 1996/02/15 01:51:38 jhr * Replaced character predicates (isalpha, isnum) with functions from Char. * * Revision 1.1.1.1 1996/01/31 16:01:44 george * Version 109 * *) structure Absyn : ABSYN = struct datatype exp = CODE of string | EAPP of exp * exp | EINT of int | ETUPLE of exp list | EVAR of string | FN of pat * exp | LET of decl list * exp | SEQ of exp * exp | UNIT and pat = PVAR of string | PAPP of string * pat | PINT of int | PLIST of pat list | PTUPLE of pat list | WILD | AS of pat * pat and decl = VB of pat * exp and rule = RULE of pat * exp fun idchar #"'" = true | idchar #"_" = true | idchar c = Char.isAlpha c orelse Char.isDigit c fun code_to_ids s = let fun g(nil,r) = r | g(a as (h::t),r) = if Char.isAlpha h then f(t,[h],r) else g(t,r) and f(nil,accum,r)= implode(rev accum)::r | f(a as (h::t),accum,r) = if idchar h then f(t,h::accum,r) else g(a,implode (rev accum) :: r) in g(explode s,nil) end val simplifyRule : rule -> rule = fn (RULE(p,e)) => let val used : (string -> bool) = let fun f(CODE s) = code_to_ids s | f(EAPP(a,b)) = f a @ f b | f(ETUPLE l) = List.concat (map f l) | f(EVAR s) = [s] | f(FN(_,e)) = f e | f(LET(dl,e)) = (List.concat (map (fn VB(_,e) => f e) dl)) @ f e | f(SEQ(a,b)) = f a @ f b | f _ = nil val identifiers = f e in fn s => List.exists (fn a=>a=s) identifiers end val simplifyPat : pat -> pat = let fun f a = case a of (PVAR s) => if used s then a else WILD | (PAPP(s,pat)) => (case f pat of WILD => WILD | pat' => PAPP(s,pat')) | (PLIST l) => let val l' = map f l in if List.exists(fn WILD=>false | _ => true) l' then PLIST l' else WILD end | (PTUPLE l) => let val l' = map f l in if List.exists(fn WILD=>false | _ => true) l' then PTUPLE l' else WILD end | (AS(a,b)) => let val a'=f a val b'=f b in case(a',b') of (WILD,_) => b' | (_,WILD) => a' | _ => AS(a',b') end | _ => a in f end val simplifyExp : exp -> exp = let fun f(EAPP(a,b)) = EAPP(f a,f b) | f(ETUPLE l) = ETUPLE(map f l) | f(FN(p,e)) = FN(simplifyPat p,f e) | f(LET(dl,e)) = LET(map (fn VB(p,e) => VB(simplifyPat p,f e)) dl, f e) | f(SEQ(a,b)) = SEQ(f a,f b) | f a = a in f end in RULE(simplifyPat p,simplifyExp e) end fun printRule (say : string -> unit, sayln:string -> unit) = let val lp = ["("] val rp = [")"] val sp = [" "] val sm = [";"] val cm = [","] val cr = ["\n"] val unit = ["()"] fun printExp c = let fun f (CODE c) = ["(",c,")"] | f (EAPP(EVAR a,UNIT)) = [a," ","()"] | f (EAPP(EVAR a,EINT i)) = [a," ",Int.toString i] | f (EAPP(EVAR a,EVAR b)) = [a," ",b] | f (EAPP(EVAR a,b)) = List.concat[[a],lp,f b,rp] | f (EAPP(a,b)) = List.concat [lp,f a,rp,lp,f b,rp] | f (EINT i) = [Int.toString i] | f (ETUPLE (a::r)) = let fun scan nil = [rp] | scan (h :: t) = cm :: f h :: scan t in List.concat (lp :: f a :: scan r) end | f (ETUPLE _) = [""] | f (EVAR s) = [s] | f (FN (p,b)) = List.concat[["fn "],printPat p,[" => "],f b] | f (LET (nil,body)) = f body | f (LET (dl,body)) = let fun scan nil = [[" in "],f body,[" end"],cr] | scan (h :: t) = printDecl h :: scan t in List.concat(["let "] :: scan dl) end | f (SEQ (a,b)) = List.concat [lp,f a,sm,f b,rp] | f (UNIT) = unit in f c end and printDecl (VB (pat,exp)) = List.concat[["val "],printPat pat,["="],printExp exp,cr] and printPat c = let fun f (AS(PVAR a,PVAR b)) = [a," as ",b] | f (AS(a,b)) = List.concat [lp,f a,[") as ("],f b,rp] | f (PAPP(a,WILD)) = [a," ","_"] | f (PAPP(a,PINT i)) = [a," ",Int.toString i] | f (PAPP(a,PVAR b)) = [a," ",b] | f (PAPP(a,b)) = List.concat [lp,[a],sp,f b,rp] | f (PINT i) = [Int.toString i] | f (PLIST nil) = [""] | f (PLIST l) = let fun scan (h :: nil) = [f h] | scan (h :: t) = f h :: ["::"] :: scan t in List.concat (scan l) end | f (PTUPLE (a::r)) = let fun scan nil = [rp] | scan (h :: t) = cm :: f h :: scan t in List.concat (lp :: f a :: scan r) end | f (PTUPLE nil) = [""] | f (PVAR a) = [a] | f WILD = ["_"] in f c end fun oursay "\n" = sayln "" | oursay a = say a in fn a => let val RULE(p,e) = simplifyRule a in app oursay (printPat p); say " => "; app oursay (printExp e) end end end; smlsharp-1.2.0/benchmark/benchmarks/mlyacc/base.sig0000644 000000000000000000002117712050661606022450 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi * * $Log$ * Revision 1.1.1.1 1996/01/31 16:01:42 george * Version 109 * *) (* base.sig: Base signature file for SML-Yacc. This file contains signatures that must be loaded before any of the files produced by ML-Yacc are loaded *) (* STREAM: signature for a lazy stream.*) signature STREAM = sig type 'xa stream val streamify : (unit -> '_a) -> '_a stream val cons : '_a * '_a stream -> '_a stream val get : '_a stream -> '_a * '_a stream end (* LR_TABLE: signature for an LR Table. The list of actions and gotos passed to mkLrTable must be ordered by state number. The values for state 0 are the first in the list, the values for state 1 are next, etc. *) signature LR_TABLE = sig datatype ('a,'b) pairlist = EMPTY | PAIR of 'a * 'b * ('a,'b) pairlist datatype state = STATE of int datatype term = T of int datatype nonterm = NT of int datatype action = SHIFT of state | REDUCE of int | ACCEPT | ERROR type table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto of state * nonterm val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end (* TOKEN: signature revealing the internal structure of a token. This signature TOKEN distinct from the signature {parser name}_TOKENS produced by ML-Yacc. The {parser name}_TOKENS structures contain some types and functions to construct tokens from values and positions. The representation of token was very carefully chosen here to allow the polymorphic parser to work without knowing the types of semantic values or line numbers. This has had an impact on the TOKENS structure produced by SML-Yacc, which is a structure parameter to lexer functors. We would like to have some type 'a token which functions to construct tokens would create. A constructor function for a integer token might be INT: int * 'a * 'a -> 'a token. This is not possible because we need to have tokens with the representation given below for the polymorphic parser. Thus our constructur functions for tokens have the form: INT: int * 'a * 'a -> (svalue,'a) token This in turn has had an impact on the signature that lexers for SML-Yacc must match and the types that a user must declare in the user declarations section of lexers. *) signature TOKEN = sig structure LrTable : LR_TABLE datatype ('a,'b) token = TOKEN of LrTable.term * ('a * 'b * 'b) val sameToken : ('a,'b) token * ('a,'b) token -> bool end (* LR_PARSER: signature for a polymorphic LR parser *) signature LR_PARSER = sig structure Stream: STREAM structure LrTable : LR_TABLE structure Token : TOKEN sharing LrTable = Token.LrTable exception ParseError val parse : {table : LrTable.table, lexer : ('_b,'_c) Token.token Stream.stream, arg: 'arg, saction : int * '_c * (LrTable.state * ('_b * '_c * '_c)) list * 'arg -> LrTable.nonterm * ('_b * '_c * '_c) * ((LrTable.state *('_b * '_c * '_c)) list), void : '_b, ec : { is_keyword : LrTable.term -> bool, noShift : LrTable.term -> bool, preferred_change : (LrTable.term list * LrTable.term list) list, errtermvalue : LrTable.term -> '_b, showTerminal : LrTable.term -> string, terms: LrTable.term list, error : string * '_c * '_c -> unit }, lookahead : int (* max amount of lookahead used in *) (* error correction *) } -> '_b * (('_b,'_c) Token.token Stream.stream) end (* LEXER: a signature that most lexers produced for use with SML-Yacc's output will match. The user is responsible for declaring type token, type pos, and type svalue in the UserDeclarations section of a lexer. Note that type token is abstract in the lexer. This allows SML-Yacc to create a TOKENS signature for use with lexers produced by ML-Lex that treats the type token abstractly. Lexers that are functors parametrized by a Tokens structure matching a TOKENS signature cannot examine the structure of tokens. *) signature LEXER = sig structure UserDeclarations : sig type ('a,'b) token type pos type svalue end val makeLexer : (int -> string) -> unit -> (UserDeclarations.svalue,UserDeclarations.pos) UserDeclarations.token end (* ARG_LEXER: the %arg option of ML-Lex allows users to produce lexers which also take an argument before yielding a function from unit to a token *) signature ARG_LEXER = sig structure UserDeclarations : sig type ('a,'b) token type pos type svalue type arg end val makeLexer : (int -> string) -> UserDeclarations.arg -> unit -> (UserDeclarations.svalue,UserDeclarations.pos) UserDeclarations.token end (* PARSER_DATA: the signature of ParserData structures in {parser name}LrValsFun produced by SML-Yacc. All such structures match this signature. The {parser name}LrValsFun produces a structure which contains all the values except for the lexer needed to call the polymorphic parser mentioned before. *) signature PARSER_DATA = sig (* the type of line numbers *) type pos (* the type of semantic values *) type svalue (* the type of the user-supplied argument to the parser *) type arg (* the intended type of the result of the parser. This value is produced by applying extract from the structure Actions to the final semantic value resultiing from a parse. *) type result structure LrTable : LR_TABLE structure Token : TOKEN sharing Token.LrTable = LrTable (* structure Actions contains the functions which mantain the semantic values stack in the parser. Void is used to provide a default value for the semantic stack. *) structure Actions : sig val actions : int * pos * (LrTable.state * (svalue * pos * pos)) list * arg-> LrTable.nonterm * (svalue * pos * pos) * ((LrTable.state *(svalue * pos * pos)) list) val void : svalue val extract : svalue -> result end (* structure EC contains information used to improve error recovery in an error-correcting parser *) structure EC : sig val is_keyword : LrTable.term -> bool val noShift : LrTable.term -> bool val preferred_change : (LrTable.term list * LrTable.term list) list val errtermvalue : LrTable.term -> svalue val showTerminal : LrTable.term -> string val terms: LrTable.term list end (* table is the LR table for the parser *) val table : LrTable.table end (* signature PARSER is the signature that most user parsers created by SML-Yacc will match. *) signature PARSER = sig structure Token : TOKEN structure Stream : STREAM exception ParseError (* type pos is the type of line numbers *) type pos (* type result is the type of the result from the parser *) type result (* the type of the user-supplied argument to the parser *) type arg (* type svalue is the type of semantic values for the semantic value stack *) type svalue (* val makeLexer is used to create a stream of tokens for the parser *) val makeLexer : (int -> string) -> (svalue,pos) Token.token Stream.stream (* val parse takes a stream of tokens and a function to print errors and returns a value of type result and a stream containing the unused tokens *) val parse : int * ((svalue,pos) Token.token Stream.stream) * (string * pos * pos -> unit) * arg -> result * (svalue,pos) Token.token Stream.stream val sameToken : (svalue,pos) Token.token * (svalue,pos) Token.token -> bool end (* signature ARG_PARSER is the signature that will be matched by parsers whose lexer takes an additional argument. *) signature ARG_PARSER = sig structure Token : TOKEN structure Stream : STREAM exception ParseError type arg type lexarg type pos type result type svalue val makeLexer : (int -> string) -> lexarg -> (svalue,pos) Token.token Stream.stream val parse : int * ((svalue,pos) Token.token Stream.stream) * (string * pos * pos -> unit) * arg -> result * (svalue,pos) Token.token Stream.stream val sameToken : (svalue,pos) Token.token * (svalue,pos) Token.token -> bool end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/core.smi0000644 000000000000000000001322712050661606022471 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "base.sig" _require "utils.smi" _require "utils.sig" _require "sigs.sml" functor mkCore( A : sig structure IntGrammar : sig structure Grammar : sig datatype term = T of int datatype nonterm = NT of int datatype symbol = TERM of term | NONTERM of nonterm datatype grammar = GRAMMAR of {rules: {lhs : nonterm, rhs : symbol list, precedence : int option, rulenum : int} list, terms: int, nonterms: int, start : nonterm, eop : term list, noshift : term list, precedence : term -> int option, termToString : term -> string, nontermToString : nonterm -> string} end structure SymbolAssoc : sig type 'a table type key val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc : sig type 'a table type key val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end sharing type SymbolAssoc.key = Grammar.symbol sharing type NontermAssoc.key = Grammar.nonterm datatype rule = RULE of {lhs : Grammar.nonterm, rhs : Grammar.symbol list, num : int, rulenum : int, precedence : int option} val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end end ) = struct structure Grammar = struct datatype term = datatype A.IntGrammar.Grammar.term datatype nonterm = datatype A.IntGrammar.Grammar.nonterm datatype symbol = datatype A.IntGrammar.Grammar.symbol datatype grammar = datatype A.IntGrammar.Grammar.grammar end structure IntGrammar = struct structure Grammar = struct datatype term = datatype A.IntGrammar.Grammar.term datatype nonterm = datatype A.IntGrammar.Grammar.nonterm datatype symbol = datatype A.IntGrammar.Grammar.symbol datatype grammar = datatype A.IntGrammar.Grammar.grammar end structure SymbolAssoc = struct type 'a table = 'a A.IntGrammar.SymbolAssoc.table type key = A.IntGrammar.SymbolAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc = struct type 'a table = 'a A.IntGrammar.NontermAssoc.table type key = A.IntGrammar.NontermAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end datatype rule = datatype A.IntGrammar.rule val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string)*(Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end datatype item = ITEM of {rule: IntGrammar.rule, dot: int, rhsAfter: Grammar.symbol list} val eqItem : item * item -> bool val gtItem : item * item -> bool val insert : item * item list -> item list val union : item list * item list -> item list datatype core = CORE of item list * int val gtCore : core * core -> bool val eqCore : core * core -> bool val prItem : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> item -> unit val prCore : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> core -> unit end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/core.sml0000644 000000000000000000000447712050661606022503 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi * * $Log$ * Revision 1.2 1996/02/26 15:02:31 george * print no longer overloaded. * use of makestring has been removed and replaced with Int.toString .. * use of IO replaced with TextIO * * Revision 1.1.1.1 1996/01/31 16:01:44 george * Version 109 * *) functor mkCore(structure IntGrammar : INTGRAMMAR) : CORE = struct open IntGrammar open Grammar structure IntGrammar = IntGrammar structure Grammar = Grammar datatype item = ITEM of { rule : rule, dot : int, rhsAfter : symbol list } val eqItem = fn (ITEM{rule=RULE{num=n,...},dot=d,...}, ITEM{rule=RULE{num=m,...},dot=e,...}) => n=m andalso d=e val gtItem = fn (ITEM{rule=RULE{num=n,...},dot=d,...}, ITEM{rule=RULE{num=m,...},dot=e,...}) => n>m orelse (n=m andalso d>e) structure ItemList = ListOrdSet (struct type elem = item val eq = eqItem val gt = gtItem end) open ItemList datatype core = CORE of item list * int val gtCore = fn (CORE (a,_),CORE (b,_)) => ItemList.set_gt(a,b) val eqCore = fn (CORE (a,_),CORE (b,_)) => ItemList.set_eq(a,b) (* functions for printing and debugging *) val prItem = fn (symbolToString,nontermToString,print) => let val printInt = print o (Int.toString : int -> string) val prSymbol = print o symbolToString val prNonterm = print o nontermToString fun showRest nil = () | showRest (h::t) = (prSymbol h; print " "; showRest t) fun showRhs (l,0) = (print ". "; showRest l) | showRhs (nil,_) = () | showRhs (h::t,n) = (prSymbol h; print " "; showRhs(t,n-1)) in fn (ITEM {rule=RULE {lhs,rhs,rulenum,num,...}, dot,rhsAfter,...}) => (prNonterm lhs; print " : "; showRhs(rhs,dot); case rhsAfter of nil => (print " (reduce by rule "; printInt rulenum; print ")") | _ => (); if DEBUG then (print " (num "; printInt num; print ")") else ()) end val prCore = fn a as (_,_,print) => let val prItem = prItem a in fn (CORE (items,state)) => (print "state "; print (Int.toString state); print ":\n\n"; app (fn i => (print "\t"; prItem i; print "\n")) items; print "\n") end end; smlsharp-1.2.0/benchmark/benchmarks/mlyacc/coreutils.smi0000644 000000000000000000002344712050661606023557 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "base.sig" _require "utils.smi" _require "utils.sig" _require "sigs.sml" functor mkCoreUtils( A : sig structure Core : sig structure Grammar : sig datatype term = T of int datatype nonterm = NT of int datatype symbol = TERM of term | NONTERM of nonterm datatype grammar = GRAMMAR of {rules: {lhs : nonterm, rhs : symbol list, precedence : int option, rulenum : int} list, terms: int, nonterms: int, start : nonterm, eop : term list, noshift : term list, precedence : term -> int option, termToString : term -> string, nontermToString : nonterm -> string} end structure IntGrammar : sig structure Grammar : sig datatype term = T of int datatype nonterm = NT of int datatype symbol = TERM of term | NONTERM of nonterm datatype grammar = GRAMMAR of {rules: {lhs : nonterm, rhs : symbol list, precedence : int option, rulenum : int} list, terms: int, nonterms: int, start : nonterm, eop : term list, noshift : term list, precedence : term -> int option, termToString : term -> string, nontermToString : nonterm -> string} end structure SymbolAssoc : sig type 'a table type key val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc : sig type 'a table type key val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end sharing type SymbolAssoc.key = Grammar.symbol sharing type NontermAssoc.key = Grammar.nonterm datatype rule = RULE of {lhs : Grammar.nonterm, rhs : Grammar.symbol list, num : int, rulenum : int, precedence : int option} val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end sharing Grammar = IntGrammar.Grammar datatype item = ITEM of {rule : IntGrammar.rule, dot: int, rhsAfter: Grammar.symbol list } val eqItem : item * item -> bool val gtItem : item * item -> bool val insert : item * item list -> item list val union : item list * item list -> item list datatype core = CORE of item list * int val gtCore : core * core -> bool val eqCore : core * core -> bool val prItem : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> item -> unit val prCore : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> core -> unit end end ) = struct structure Grammar = struct datatype term = datatype A.Core.IntGrammar.Grammar.term datatype nonterm = datatype A.Core.IntGrammar.Grammar.nonterm datatype symbol = datatype A.Core.IntGrammar.Grammar.symbol datatype grammar = datatype A.Core.IntGrammar.Grammar.grammar end structure IntGrammar = struct structure Grammar = struct datatype term = datatype A.Core.IntGrammar.Grammar.term datatype nonterm = datatype A.Core.IntGrammar.Grammar.nonterm datatype symbol = datatype A.Core.IntGrammar.Grammar.symbol datatype grammar = datatype A.Core.IntGrammar.Grammar.grammar end structure SymbolAssoc = struct type 'a table = 'a A.Core.IntGrammar.SymbolAssoc.table type key = A.Core.IntGrammar.SymbolAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc = struct type 'a table = 'a A.Core.IntGrammar.NontermAssoc.table type key = A.Core.IntGrammar.NontermAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end datatype rule = datatype A.Core.IntGrammar.rule val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string)*(Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end structure Core = struct structure Grammar = struct datatype term = datatype Grammar.term datatype nonterm = datatype Grammar.nonterm datatype symbol = datatype Grammar.symbol datatype grammar = datatype Grammar.grammar end structure IntGrammar = struct structure Grammar = struct datatype term = datatype Grammar.term datatype nonterm = datatype Grammar.nonterm datatype symbol = datatype Grammar.symbol datatype grammar = datatype Grammar.grammar end structure SymbolAssoc = struct type 'a table = 'a IntGrammar.SymbolAssoc.table type key = IntGrammar.SymbolAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc = struct type 'a table = 'a IntGrammar.NontermAssoc.table type key = IntGrammar.NontermAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end datatype rule = datatype IntGrammar.rule val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string)*(Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end datatype item = datatype A.Core.item val eqItem : item * item -> bool val gtItem : item * item -> bool val insert : item * item list -> item list val union : item list * item list -> item list datatype core = datatype A.Core.core val gtCore : core * core -> bool val eqCore : core * core -> bool val prItem : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> item -> unit val prCore : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> core -> unit end val mkFuncs : Grammar.grammar -> {produces: Grammar.nonterm -> IntGrammar.rule list, shifts: Core.core -> (Grammar.symbol * Core.item list) list, rules: IntGrammar.rule list, epsProds : Core.core -> IntGrammar.rule list} end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/coreutils.sml0000644 000000000000000000002021712050661606023552 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi * * $Log$ * Revision 1.1.1.1 1996/01/31 16:01:45 george * Version 109 * *) functor mkCoreUtils(structure Core : CORE) : CORE_UTILS = struct open Array List infix 9 sub val DEBUG = true structure Core = Core structure IntGrammar = Core.IntGrammar structure Grammar = IntGrammar.Grammar open Grammar IntGrammar Core structure Assoc = SymbolAssoc structure NtList = ListOrdSet (struct type elem = nonterm val eq = eqNonterm val gt = gtNonterm end) val mkFuncs = fn (GRAMMAR {rules,terms,nonterms,...}) => let val derives=array(nonterms,nil : rule list) (* sort rules by their lhs nonterminal by placing them in an array indexed in their lhs nonterminal *) val _ = let val f = fn {lhs=lhs as (NT n), rhs, precedence,rulenum} => let val rule=RULE{lhs=lhs,rhs=rhs,precedence=precedence, rulenum=rulenum,num=0} in update(derives,n,rule::(derives sub n)) end in app f rules end (* renumber rules so that rule numbers increase monotonically with the number of their lhs nonterminal, and so that rules are numbered sequentially. **Functions below assume that this number is true**, i.e. productions for nonterm i are numbered from j to k, productions for nonterm i+1 are numbered from k+1 to m, and productions for nonterm 0 start at 0 *) val _ = let val f = fn (RULE{lhs,rhs,precedence,rulenum,num}, (l,i)) => (RULE{lhs=lhs,rhs=rhs, precedence=precedence, rulenum=rulenum, num=i}::l,i+1) fun g(i,num) = if i if DEBUG andalso (n<0 orelse n>=nonterms) then let exception Produces of int in raise (Produces n) end else derives sub n val memoize = fn f => let fun loop i = if i = nonterms then nil else f (NT i) :: (loop (i+1)) val data = Array.fromList(loop 0) in fn (NT i) => data sub i end (* compute nonterminals which must be added to a closure when a given nonterminal is added, i.e all nonterminals C for each nonterminal A such that A =*=> Cx *) val nontermClosure = let val collectNonterms = fn n => List.foldr (fn (r,l) => case r of RULE {rhs=NONTERM n :: _,...} => NtList.insert(n,l) | _ => l) NtList.empty (produces n) val closureNonterm = fn n => NtList.closure(NtList.singleton n, collectNonterms) in memoize closureNonterm end (* ntShifts: Take the items produced by a nonterminal, and sort them by their first symbol. For each first symbol, make sure the item list associated with the symbol is sorted also. ** This function assumes that the item list returned by produces is sorted ** Create a table of item lists keyed by symbols. Scan the list of items produced by a nonterminal, and insert those with a first symbol on to the beginning of the item list for that symbol, creating a list if necessary. Since produces returns an item list that is already in order, the list for each symbol will also end up in order. *) fun sortItems nt = let fun add_item (a as RULE{rhs=symbol::rest,...},r) = let val item = ITEM{rule=a,dot=1,rhsAfter=rest} in Assoc.insert((symbol,case Assoc.find (symbol,r) of SOME l => item::l | NONE => [item]),r) end | add_item (_,r) = r in List.foldr add_item Assoc.empty (produces nt) end val ntShifts = memoize sortItems (* getNonterms: get the nonterminals with a . before them in a core. Returns a list of nonterminals in ascending order *) fun getNonterms l = List.foldr (fn (ITEM {rhsAfter=NONTERM sym ::_, ...},r) => NtList.insert(sym,r) | (_,r) => r) [] l (* closureNonterms: compute the nonterminals that would have a . before them in the closure of the core. Returns a list of nonterminals in ascending order *) fun closureNonterms a = let val nonterms = getNonterms a in List.foldr (fn (nt,r) => NtList.union(nontermClosure nt,r)) nonterms nonterms end (* shifts: compute the core sets that result from shift/gotoing on the closure of a kernal set. The items in core sets are sorted, of course. (1) compute the core sets that result just from items added through the closure operation. (2) then add the shift/gotos on kernal items. We can do (1) the following way. Keep a table which for each shift/goto symbol gives the list of items that result from shifting or gotoing on the symbol. Compute the nonterminals that would have dots before them in the closure of the kernal set. For each of these nonterminals, we already have an item list in sorted order for each possible shift symbol. Scan the nonterminal list from back to front. For each nonterminal, prepend the shift/goto list for each shift symbol to the list already in the table. We end up with the list of items in correct order for each shift/goto symbol. We have kept the item lists in order, scanned the nonterminals from back to front (=> that the items end up in ascending order), and never had any duplicate items (each item is derived from only one nonterminal). *) fun shifts (CORE (itemList,_)) = let (* mergeShiftItems: add an item list for a shift/goto symbol to the table *) fun mergeShiftItems (args as ((k,l),r)) = case Assoc.find(k,r) of NONE => Assoc.insert args | SOME old => Assoc.insert ((k,l@old),r) (* mergeItems: add all items derived from a nonterminal to the table. We've kept these items sorted by their shift/goto symbol (the first symbol on their rhs) *) fun mergeItems (n,r) = Assoc.fold mergeShiftItems (ntShifts n) r (* nonterms: a list of nonterminals that are in a core after the closure operation *) val nonterms = closureNonterms itemList (* now create a table which for each shift/goto symbol gives the sorted list of closure items which would result from first taking all the closure items and then sorting them by the shift/goto symbols *) val newsets = List.foldr mergeItems Assoc.empty nonterms (* finally prepare to insert the kernal items of a core *) fun insertItem ((k,i),r) = case (Assoc.find(k,r)) of NONE => Assoc.insert((k,[i]),r) | SOME l => Assoc.insert((k,Core.insert(i,l)),r) fun shiftCores(ITEM{rule,dot,rhsAfter=symbol::rest},r) = insertItem((symbol, ITEM{rule=rule,dot=dot+1,rhsAfter=rest}),r) | shiftCores(_,r) = r (* insert the kernal items of a core *) val newsets = List.foldr shiftCores newsets itemList in Assoc.make_list newsets end (* nontermEpsProds: returns a list of epsilon productions produced by a nonterminal sorted by rule number. ** Depends on produces returning an ordered list **. It does not alter the order in which the rules were returned by produces; it only removes non-epsilon productions *) val nontermEpsProds = let val f = fn nt => List.foldr (fn (rule as RULE {rhs=nil,...},results) => rule :: results | (_,results) => results) [] (produces nt) in memoize f end (* epsProds: take a core and compute a list of epsilon productions for it sorted by rule number. ** Depends on closureNonterms returning a list of nonterminals sorted by nonterminal #, rule numbers increasing monotonically with their lhs production #, and nontermEpsProds returning an ordered item list for each production *) fun epsProds (CORE (itemList,state)) = let val prods = map nontermEpsProds (closureNonterms itemList) in List.concat prods end in {produces=produces,shifts=shifts,rules=rules,epsProds=epsProds} end end; smlsharp-1.2.0/benchmark/benchmarks/mlyacc/DATA0000755 000000000000000000000000012050661606021454 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks/mlyacc/DATA/ml.grm0000644 000000000000000000005741412050661606022665 0ustar00rootroot0000000 0000000 (* Copyright 1989 by AT&T Bell Laboratories *) open ErrorMsg Symbol Access Basics BasicTypes TypesUtil Absyn open EnvAccess Misc CoreLang Signs Strs TyvarSet fun fire a b c = (a(); b c) fun markexp (e as MARKexp _, _, _) = e | markexp(e,a,b) = if !System.Control.markabsyn then MARKexp(e,a,b) else e fun markdec((d as MARKdec _, e), _, _) = (d,e) | markdec((d,e),a,b) = if !System.Control.markabsyn then (MARKdec(d,a,b),e) else (d,e) fun markdec' d = let val (d,e) = markdec d in ([d],e) end fun markdec'' (([d],e),a,b) = markdec'((d,e),a,b) | markdec'' ((s,e),a,b) = markdec'((SEQdec s, e),a,b) fun markstr(f,a,b) $ = case f $ of s as (MARKstr _,x,y) => s | s as (t,x,y) => if !System.Control.markabsyn then (MARKstr(t,a,b),x,y) else s infix \/ val op \/ = union_tyvars fun V(_,vars) = vars and E(e,_) = e fun sequence (do1,do2) (env,a2,a3,a4) = let val (r1,env1) = do1 (env,a2,a3,a4) val (r2,env2) = do2 (Env.atop(env1,env),a2,a3,a4) in (r1 @ r2, Env.atop(env2,env1)) end fun sequence' (do1,do2) env = let val (r1,env1) = do1 env val (r2,env2) = do2 (Env.atop(env1,env)) in (r1 @ r2, Env.atop(env2,env1)) end fun seqdec (d,e) = ([d],e) %% %term EOF | SEMICOLON | ID of string | TYVAR of string | INT of int | INT0 of int | REAL of string | STRING of string | ABSTRACTION | ABSTYPE | AND | ARROW | AS | BAR | CASE | DATATYPE | DOTDOTDOT | ELSE | END | EQUAL | EQTYPE | EXCEPTION | DO | DOT | DARROW | FN | FUN | FUNCTOR | HANDLE | HASH | IF | IN | INCLUDE | INFIX | INFIXR | LET | LOCAL | NONFIX | OF | OP | OPEN | OVERLOAD | QUERY | RAISE | REC | SHARING | SIG | SIGNATURE | STRUCT | STRUCTURE | THEN | TYPE | VAL | WHILE | WILD | WITH | WITHTYPE | ASTERISK | COLON | COMMA | LBRACE | LBRACKET | LPAREN | RBRACE | RBRACKET | RPAREN | ORELSE | ANDALSO | IMPORT %nonterm ident of string | id of string | int of int | op_op of unit susp | opid of symbol enved | qid of ((string->symbol) -> symbol list) | qid_p0 of symbol list list | selector of symbol | tycon of symbol list | tlabel of (symbol * ty) enved uvars | tlabels of (symbol * ty) list enved uvars | ty' of ty enved uvars | tuple_ty of ty list enved uvars | ty of ty enved uvars | ty0_pc of ty list enved uvars | match of rule list evstamped uvars | rule of rule evstamped uvars | elabel of (symbol * exp) evstamped uvars | elabels of (symbol * exp) list evstamped uvars | exp_ps of exp list evstamped uvars | exp of exp evstamped uvars | app_exp of exp precStack evstamped uvars | aexp of exp evstamped uvars | exp_list of exp list evstamped uvars | exp_2c of exp list evstamped uvars | pat of pat enved uvars | pat' of pat enved uvars | pat'' of pat enved uvars | apat of (pat * fixity * complainer) enved uvars | apat' of (pat * fixity * complainer) enved uvars | apat'' of pat enved uvars | plabel of (symbol * pat) enved uvars | plabels of ((symbol * pat) list * bool) enved uvars | pat_2c of pat list enved uvars | pat_list of pat list enved uvars | vb of vb list evstamped | constraint of ty option enved uvars | rvb of rawrvb list enved | fb' of rawclause list enved uvars | fb of rawclause list list enved uvars | apats of (pat * fixity * complainer) list enved uvars | clause' of (symbol * pat list) enved uvars | clause of rawclause enved uvars | tb of bool -> tb list withenv epathvstamped | tyvars of tyvar list | tyvar_pc of tyvar list | db of (symbol * int * datacon list withenv epathed) list | constrs of (Basics.env * ty -> (symbol * bool * ty) list) uvars | constr of (Basics.env * ty -> symbol * bool * ty) uvars | eb of eb list withenv epathvstamped uvars | qid_p of structureVar list enved | fixity of fixity | ldec of dec withenv epathvstamped uvars | exp_pa of exp list evstamped | ldecs of dec withenv epathvstamped uvars | ops of symbol list | spec_s of spectype | spec of spectype | strspec of spectype | tyspec of eqprop -> spectype | valspec of spectype | exnspec of spectype | sharespec of spectype | patheqn of (string->symbol) -> symbol list list | sign of bool (* toplevel? *) * bool (* functor param? *) * Structure (*param*) -> signtype | sigconstraint_op of (Basics.env * Structure) -> Structure option | sigb of signatureVar list withenv enved | str of strtype | sdecs of dec list withenv epathnstamped | sdecs' of dec list withenv epathnstamped | sdec of dec withenv epathnstamped | strb of bool -> (symbol*structureVar*strb) list epathstamped | fparam of functorFormal | fctb of (symbol * functorVar * fctb) list enved | importdec of string list | interdec of dec withenv enved %pos int %arg (error) : pos * pos -> ErrorMsg.severity -> string -> unit %pure %start interdec %eop EOF SEMICOLON %noshift EOF %nonassoc WITHTYPE %right AND %right ARROW %right AS %right DARROW %left DO %left ELSE %left RAISE %right HANDLE %left ORELSE %left ANDALSO %left COLON %name ML %keyword ABSTRACTION ABSTYPE AND AS CASE DATATYPE DOTDOTDOT ELSE END EQTYPE EXCEPTION DO DARROW FN FUN FUNCTOR HANDLE IF IN INCLUDE INFIX INFIXR LET LOCAL NONFIX OF OP OPEN OVERLOAD RAISE REC SHARING SIG SIGNATURE STRUCT STRUCTURE THEN TYPE VAL WHILE WITH WITHTYPE ORELSE ANDALSO IMPORT %subst EQUAL for DARROW | DARROW for EQUAL | ANDALSO for AND | OF for COLON | COMMA for SEMICOLON | SEMICOLON for COMMA %prefer VAL THEN ELSE LPAREN %value ID ("bogus") %value TYVAR ("'bogus") %value INT (1) %value INT0 (0) %value REAL ("0.0") %value STRING ("") %% int : INT (INT) | INT0 (INT0) id : ID (ID) | ASTERISK ("*") ident : ID (ID) | ASTERISK ("*") | EQUAL ("=") op_op : OP (fn()=> error (OPleft,OPright) WARN "unnecessary `op'") | (fn()=>()) opid : id (fn env => let val (v,f) = var'n'fix id in case lookFIX env f of NONfix => () | _ => error (idleft,idright) COMPLAIN "nonfix identifier required"; v end) | OP ident (fn _ => varSymbol ident) qid : ID DOT qid (fn kind => strSymbol ID :: qid kind) | ident (fn kind => [kind ident]) selector: id (labSymbol id) | INT (Symbol.labSymbol(makestring INT)) tycon : ID DOT tycon (strSymbol ID :: tycon) | ID ([tycSymbol ID]) tlabel : selector COLON ty (fn $ =>(selector, E ty $), V ty) tlabels : tlabel COMMA tlabels (fn $ => E tlabel $ :: E tlabels $, V tlabel \/ V tlabels) | tlabel (fn $ => [E tlabel $], V tlabel) ty' : TYVAR (let val tyv = mkTyvar(mkUBOUND(tyvSymbol TYVAR)) in (fn _ => VARty tyv, singleton_tyvar tyv) end) | LBRACE tlabels RBRACE (fn $ => make_recordTy(E tlabels $, error(LBRACEleft,RBRACEright)), V tlabels) | LBRACE RBRACE (fn _ => make_recordTy(nil, error(LBRACEleft,RBRACEright)), no_tyvars) | LPAREN ty0_pc RPAREN tycon (fn env =>let val ts = E ty0_pc env in CONty(lookPathArTYC env (tycon,length ts, error (tyconleft,tyconright) COMPLAIN), ts) end, V ty0_pc) | LPAREN ty RPAREN (ty) | ty' tycon (fn env =>CONty(lookPathArTYC env (tycon,1, error(tyconleft,tyconright)COMPLAIN), [E ty' env]), V ty') | tycon (fn env =>CONty(lookPathArTYC env (tycon, 0, error(tyconleft,tyconright)COMPLAIN),[]), no_tyvars) tuple_ty : ty' ASTERISK tuple_ty (fn $ => E ty' $ :: E tuple_ty $, V ty' \/ V tuple_ty) | ty' ASTERISK ty' (fn $ =>[E ty'1 $, E ty'2 $], V ty'1 \/ V ty'2) ty : tuple_ty (fn $ =>tupleTy(E tuple_ty $), V tuple_ty) | ty ARROW ty (fn $ =>CONty(arrowTycon, [E ty1 $, E ty2 $]), V ty1 \/ V ty2) | ty' (ty') ty0_pc : ty COMMA ty (fn $ => [E ty1 $, E ty2 $], V ty1 \/ V ty2) | ty COMMA ty0_pc (fn $ => E ty $ :: E ty0_pc $, V ty \/ V ty0_pc) match : rule (fn evst => [E rule evst], V rule) | rule BAR match (fn evst => E rule evst :: E match evst, V rule \/ V match) rule : pat DARROW exp (makeRULE(E pat, fn $ => markexp(E exp $,expleft,expright), error(patleft,patright)), V pat \/ V exp) elabel : selector EQUAL exp (fn evst => (selector,E exp evst), V exp) elabels : elabel COMMA elabels (fn evst => (E elabel evst :: E elabels evst), V elabel \/ V elabels) | elabel (fn evst => [E elabel evst], V elabel) exp_ps : exp (fn st => [E exp st], V exp) | exp SEMICOLON exp_ps (fn st => E exp st :: E exp_ps st, V exp \/ V exp_ps) exp : exp HANDLE match (fn st=> makeHANDLEexp(E exp st, E match st), V exp \/ V match) | exp ORELSE exp (fn st=> ORELSEexp(markexp(E exp1 st, exp1left,exp1right), markexp(E exp2 st,exp2left,expright)), V exp1 \/ V exp2) | exp ANDALSO exp (fn st=> ANDALSOexp(markexp(E exp1 st,exp1left,exp1right), markexp(E exp2 st,exp2left,exp2right)), V exp1 \/ V exp2) | exp COLON ty (fn (st as (env,_,_))=> CONSTRAINTexp(E exp st, E ty env), V exp \/ V ty) | app_exp (fn st=> exp_finish(E app_exp st, error(app_expright,app_expright)), V app_exp) | FN match (fn st=> markexp(FNexp(completeMatch(E match st)), FNleft,matchright), V match) | CASE exp OF match (fn st=>markexp(CASEexp(E exp st, completeMatch(E match st)), CASEleft,matchright), V exp \/ V match) | WHILE exp DO exp (fn st=> WHILEexp(E exp1 st, markexp(E exp2 st,exp2left,exp2right)), V exp1 \/ V exp2) | IF exp THEN exp ELSE exp (fn st=>IFexp(E exp1 st, markexp(E exp2 st,exp2left,exp2right), markexp(E exp3 st,exp3left,exp3right)), V exp1 \/ V exp2 \/ V exp3) | RAISE exp (fn st=>markexp(RAISEexp(E exp st),RAISEleft,expright), V exp) app_exp : aexp (fn st => exp_start(markexp(E aexp st, aexpleft,aexpright), NONfix, error (aexpleft,aexpright)), V aexp) | ident (fn (env,_,_) => let val e = error(identleft,identright) val (v,f) = var'n'fix ident in exp_start(markexp(lookID env (v,e), identleft,identright), lookFIX env f, e) end, no_tyvars) | app_exp aexp (fn st => exp_parse(E app_exp st, markexp(E aexp st, aexpleft,aexpright), NONfix, error (aexpleft,aexpright)), V app_exp \/ V aexp) | app_exp ident (fn (st as (env,_,_)) => let val e = error(identleft,identright) val (v,f) = var'n'fix ident in exp_parse(E app_exp st, markexp(lookID env (v,e), identleft,identright), lookFIX env f, e) end, V app_exp) aexp : OP ident (fn (env,_,_) => lookID env (varSymbol ident, error(identleft,identright)), no_tyvars) | ID DOT qid (fn (env,_,_) => varcon(lookPathVARCON env (strSymbol ID ::(qid varSymbol), error(IDleft,qidright)COMPLAIN)), no_tyvars) | int (fn st => INTexp int, no_tyvars) | REAL (fn st => REALexp REAL, no_tyvars) | STRING (fn st => STRINGexp STRING, no_tyvars) | HASH selector (fn st => SELECTORexp selector, no_tyvars) | LBRACE elabels RBRACE (fn st=> makeRECORDexp(E elabels st, error(LBRACEleft,RBRACEright)), V elabels) | LBRACE RBRACE (fn st=> RECORDexp nil, no_tyvars) | LPAREN RPAREN (fn st=> unitExp, no_tyvars) | LPAREN exp_ps RPAREN (fn st=> SEQexp(E exp_ps st), V exp_ps) | LPAREN exp_2c RPAREN (fn st=> TUPLEexp(E exp_2c st), V exp_2c) | LBRACKET exp_list RBRACKET (fn st=> LISTexp(E exp_list st), V exp_list) | LBRACKET RBRACKET (fn st=> nilExp, no_tyvars) | LET ldecs IN exp_ps END (fn (env,tv,st) => let val (d,env') = E ldecs(env,[],tv,st) val e = E exp_ps (Env.atop(env',env),tv,st) in markexp(LETexp(d,SEQexp e), LETleft,ENDright) end, V exp_ps \/ V ldecs) exp_2c : exp COMMA exp_2c (fn st=> E exp st :: E exp_2c st, V exp \/ V exp_2c) | exp COMMA exp (fn st=> [E exp1 st, E exp2 st], V exp1 \/ V exp2) exp_list : exp (fn st=> [E exp st], V exp) | exp COMMA exp_list (fn st=> E exp st :: E exp_list st, V exp \/ V exp_list) pat : pat' (pat') | apat apats (fn $ => make_app_pat(E apat $ ::E apats $), V apat \/ V apats) pat' : pat AS pat (fn $ => layered(E pat1 $, E pat2 $, error(pat1left,pat1right)), V pat1 \/ V pat2) | pat'' (pat'') pat'' : apat apats COLON ty (fn env => CONSTRAINTpat( make_app_pat(E apat env ::E apats env), E ty env), V apat \/ V apats \/ V ty) | pat'' COLON ty (fn env => CONSTRAINTpat(E pat'' env, E ty env), V pat'' \/ V ty) apat : apat' (apat') | LPAREN pat RPAREN (fn $ =>(E pat $,NONfix,error(LPARENleft,RPARENright)), V pat) apat' : apat'' (fn $ =>(E apat'' $,NONfix,error(apat''left,apat''right)), V apat'') | id (fn env => let val e = error(idleft,idright) val (v,f) = var'n'fix id in (pat_id env v, lookFIX env f, e) end, no_tyvars) | LPAREN RPAREN (fn _ =>(unitPat,NONfix, error(LPARENleft,RPARENright)), no_tyvars) | LPAREN pat COMMA pat_list RPAREN (fn $ =>(TUPLEpat(E pat $ ::E pat_list $), NONfix,error(LPARENleft,RPARENright)), V pat \/ V pat_list) apat'' : OP ident (fn env =>pat_id env(varSymbol ident), no_tyvars) | ID DOT qid (fn env =>qid_pat env (strSymbol ID :: qid varSymbol, error(IDleft,qidright)), no_tyvars) | int (fn _ =>INTpat int, no_tyvars) | REAL (fn _ =>REALpat REAL, no_tyvars) | STRING (fn _ =>STRINGpat STRING, no_tyvars) | WILD (fn _ =>WILDpat, no_tyvars) | LBRACKET RBRACKET (fn _ =>LISTpat nil, no_tyvars) | LBRACKET pat_list RBRACKET (fn $ =>LISTpat(E pat_list $), V pat_list) | LBRACE RBRACE (fn _ =>makeRECORDpat((nil,false), error(LBRACEleft,RBRACEright)), no_tyvars) | LBRACE plabels RBRACE (fn $ =>makeRECORDpat(E plabels $, error(LBRACEleft,RBRACEright)), V plabels) plabel : selector EQUAL pat (fn $ => (selector,E pat $), V pat) | ID (fn env => (labSymbol ID, pat_id env(varSymbol ID)), no_tyvars) | ID AS pat (fn env => (labSymbol ID, LAYEREDpat(pat_id env (varSymbol ID), E pat env)), V pat) | ID COLON ty (fn env => (labSymbol ID, CONSTRAINTpat(pat_id env (varSymbol ID), E ty env)), V ty) | ID COLON ty AS pat (fn env => (labSymbol ID, LAYEREDpat(CONSTRAINTpat( pat_id env (varSymbol ID), E ty env), E pat env)), V ty \/ V pat) plabels : plabel COMMA plabels (fn $ =>let val (a,(b,fx))=(E plabel $,E plabels $) in (a::b, fx) end, V plabel \/ V plabels) | plabel (fn $ => ([E plabel $],false), V plabel) | DOTDOTDOT (fn _ => (nil, true), no_tyvars) pat_list: pat (fn $ => [E pat $], V pat) | pat COMMA pat_list (fn $ => E pat $ :: E pat_list $, V pat \/ V pat_list) vb : vb AND vb (fn st=> vb1 st @ vb2 st) | pat EQUAL exp (valbind(pat, exp)) constraint : (fn _ =>NONE, no_tyvars) | COLON ty (fn env =>SOME(E ty env), V ty) rvb : opid constraint EQUAL FN match (fn env =>[{name=opid env, ty=constraint,match=match}]) | rvb AND rvb (fn env => (rvb1 env) @ (rvb2 env)) fb' : clause (fn $ =>[E clause $], V clause) | clause BAR fb' (fn $ =>E clause $ ::E fb' $, V clause \/ V fb') fb : fb' (fn $ => [checkFB(E fb' $,error(fb'left,fb'right))], V fb') | fb' AND fb (fn $ => checkFB(E fb' $,error(fb'left,fb'right)) :: E fb $, V fb' \/ V fb) clause' : LPAREN apat apats RPAREN apats (fn $ =>makecl(E apat $ ::E apats1 $,E apats2 $), V apat \/ V apats1 \/ V apats2) | LPAREN pat' RPAREN apats (fn $ =>makecl([],(E pat' $,NONfix, error(LPARENleft,RPARENright)) ::E apats $), V pat' \/ V apats) | apat' apats (fn $ =>makecl([],E apat' $ ::E apats $), V apat' \/ V apats) apats : (fn _ =>nil, no_tyvars) | apat apats (fn $ => E apat $ ::E apats $, V apat \/ V apats) clause : clause' constraint EQUAL exp (fn env => let val (id,pats) = E clause' env in {name=id,pats=pats, resultty=E constraint env, exp=fn $ => markexp(E exp $,expleft,expright), err=error(clause'left,clause'right)} end, V clause' \/ V constraint \/ V exp) tb : tyvars ID EQUAL ty (makeTB(tyvars, tycSymbol ID, ty, error(tyleft,tyright))) | tb AND tb (fn nw => sequence(tb1 nw,tb2 nw)) tyvars : TYVAR ([mkTyvar(mkUBOUND(tyvSymbol TYVAR))]) | LPAREN tyvar_pc RPAREN (checkUniq(error(tyvar_pcleft,tyvar_pcright), "duplicate type variable") (List.map(fn ref(UBOUND{name,...})=>name) tyvar_pc); tyvar_pc) | (nil) tyvar_pc: TYVAR ([mkTyvar(mkUBOUND(tyvSymbol TYVAR))]) | TYVAR COMMA tyvar_pc (mkTyvar(mkUBOUND(tyvSymbol TYVAR)) :: tyvar_pc) db : db AND db (db1 @ db2) | tyvars ident EQUAL constrs (let val name = tycSymbol ident in [(name,length tyvars, makeDB'(tyvars,name,constrs, error(constrsleft,constrsright)))] end) constrs : constr (fn $ => [E constr $], V constr) | constr BAR constrs (fn $ => E constr $ :: E constrs $, V constr \/ V constrs) constr : op_op ident (fire op_op (fn(_,t)=> (varSymbol ident,true,t)), no_tyvars) | op_op ident OF ty (fire op_op (fn(env,t)=> (varSymbol ident,false, CONty(arrowTycon,[E ty env, t]))), V ty) eb : op_op ident (fire op_op (makeEB(varSymbol ident)), no_tyvars) | op_op ident OF ty (fire op_op (makeEBof(varSymbol ident,E ty, error(tyleft,tyright))), V ty) | op_op ident EQUAL qid (fire op_op (makeEBeq(varSymbol ident,qid varSymbol, error(qidleft,qidright))), no_tyvars) | eb AND eb (sequence(E eb1,E eb2), V eb1 \/ V eb2) qid_p0 : qid ([qid strSymbol]) | qid qid_p0 (qid strSymbol :: qid_p0) qid_p : qid (fn env => [getSTRpath env (qid strSymbol,error(qidleft,qidright))]) | qid qid_p (fn env => getSTRpath env (qid strSymbol,error(qidleft,qidright)) :: qid_p env) fixity : INFIX (infixleft 0) | INFIX int (infixleft int) | INFIXR (infixright 0) | INFIXR int (infixright int) | NONFIX (NONfix) ldec : VAL vb (makeVALdec(vb,error(vbleft,vbright)), no_tyvars) | VAL REC rvb (makeVALRECdec (rvb,error(rvbleft,rvbright)), no_tyvars) | FUN fb (makeFUNdec fb, no_tyvars) | TYPE tb ((fn $ => makeTYPEdec(tb true $, error(tbleft,tbright))), no_tyvars) | DATATYPE db (makeDB(db, nullTB), no_tyvars) | DATATYPE db WITHTYPE tb (makeDB(db,tb), no_tyvars) | ABSTYPE db WITH ldecs END (makeABSTYPEdec(db,nullTB,E ldecs),V ldecs) | ABSTYPE db WITHTYPE tb WITH ldecs END (makeABSTYPEdec(db,tb,E ldecs),V ldecs) | EXCEPTION eb ((fn $ => makeEXCEPTIONdec(E eb $, error(ebleft,ebright))), V eb) | OPEN qid_p (makeOPENdec qid_p, no_tyvars) | fixity ops (makeFIXdec(fixity,ops), no_tyvars) | OVERLOAD ident COLON ty AS exp_pa (makeOVERLOADdec(varSymbol ident,ty,exp_pa), no_tyvars) exp_pa : exp (fn st => [E exp st]) | exp AND exp_pa (fn st => E exp st :: exp_pa st) ldecs : (fn $ => (SEQdec nil,Env.empty), no_tyvars) | ldec ldecs (makeSEQdec(fn $ => markdec(E ldec $,ldecleft,ldecright), E ldecs), V ldec \/ V ldecs) | SEMICOLON ldecs (ldecs) | LOCAL ldecs IN ldecs END ldecs (makeSEQdec(fn $ => markdec(makeLOCALdec(E ldecs1,E ldecs2) $, LOCALleft,ENDright), E ldecs3), V ldecs1 \/ V ldecs2 \/ V ldecs3) ops : ident ([fixSymbol ident]) | ident ops (fixSymbol ident :: ops) spec_s : (fn $ => nil) | spec spec_s (fn $ => spec $ @ spec_s $) | SEMICOLON spec_s (spec_s) spec : STRUCTURE strspec (strspec) | DATATYPE db (make_dtyspec db) | TYPE tyspec (tyspec UNDEF) | EQTYPE tyspec (tyspec YES) | VAL valspec (valspec) | EXCEPTION exnspec (exnspec) | fixity ops (make_fixityspec(fixity,ops)) | SHARING sharespec (sharespec) | OPEN qid_p0 (make_openspec(qid_p0, error(OPENleft,qid_p0right))) | LOCAL spec_s IN spec_s END (fn $ => (spec_s1 $; error(spec_s1left,spec_s1right) WARN "LOCAL specs are only partially implemented"; spec_s2 $)) | INCLUDE ident (make_includespec (sigSymbol ident,error(identleft,identright))) strspec : strspec AND strspec (fn $ => strspec1 $ @ strspec2 $) | ident COLON sign (make_strspec(strSymbol ident, sign(false,false,NULLstr))) tyspec : tyspec AND tyspec (fn eq => fn $ => tyspec1 eq $ @ tyspec2 eq $) | tyvars ID (fn eq => make_tyspec(eq,tyvars,tycSymbol ID, error(tyvarsleft,IDright))) valspec : valspec AND valspec (fn $ => valspec1 $ @ valspec2 $) | op_op ident COLON ty (fire op_op (make_valspec(varSymbol ident,ty))) exnspec : exnspec AND exnspec (fn $ => exnspec1 $ @ exnspec2 $) | ident (make_exnspec(varSymbol ident)) | ident OF ty (make_exnspecOF (varSymbol ident,ty)) sharespec: sharespec AND sharespec (fn $ => sharespec1 $ @ sharespec2 $) | TYPE patheqn (make_type_sharespec(patheqn tycSymbol)) | patheqn (make_str_sharespec(patheqn strSymbol)) patheqn: qid EQUAL qid (fn kind => [qid1 kind, qid2 kind]) | qid EQUAL patheqn (fn kind => qid kind :: patheqn kind) sign : ID (makeSIGid(sigSymbol ID,error(IDleft,IDright))) | SIG spec_s END (makeSIG(spec_s,error(spec_sleft,spec_sright))) sigconstraint_op : (fn _ => NONE) | COLON sign (fn (env,param) => SOME(sign(true,false,param) (env,Stampset.newStampsets()))) sigb : sigb AND sigb (sequence'(sigb1,sigb2)) | ident EQUAL sign (make_sigb(sigSymbol ident, sign(true,false,NULLstr))) str : qid (markstr(make_str_qid(qid strSymbol, error(qidleft,qidright)),qidleft,qidright)) | STRUCT sdecs END (markstr(make_str_struct(sdecs, error(STRUCTleft,ENDright)), STRUCTleft,ENDright)) | ID LPAREN sdecs RPAREN (markstr(make_str_app(fctSymbol ID,error(IDleft,IDright), (fn $ => let val (s,s')=spread_args sdecs $ in (MARKstr(s,sdecsleft,sdecsright) ,s') end)),IDleft,RPARENright)) | ID LPAREN str RPAREN (markstr(make_str_app(fctSymbol ID,error(IDleft,IDright), single_arg str),IDleft,RPARENright)) | LET sdecs IN str END (markstr(make_str_let(sdecs,str),LETleft,ENDright)) sdecs : sdec sdecs (sequence(fn $ => markdec'(sdec $,sdecleft, sdecright), sdecs)) | SEMICOLON sdecs (sdecs) | LOCAL sdecs IN sdecs END sdecs (sequence(fn $ => markdec''(makeLOCALsdecs(sdecs1,sdecs2) $,LOCALleft,ENDright), sdecs3)) | (fn $ => (nil,Env.empty)) sdecs' : sdec sdecs' (sequence(fn $ => markdec'(sdec $,sdecleft,sdecright), sdecs')) | LOCAL sdecs IN sdecs END sdecs' (sequence(fn $ => markdec''(makeLOCALsdecs(sdecs1,sdecs2) $, LOCALleft,ENDright), sdecs')) | LOCAL sdecs IN sdecs END (fn $ => markdec''(makeLOCALsdecs(sdecs1,sdecs2) $,LOCALleft,ENDright)) | sdec (fn $ => seqdec(markdec(sdec $,sdecleft,sdecright))) sdec : STRUCTURE strb (makeSTRBs(strb false)) | ABSTRACTION strb (makeSTRBs(strb true)) | SIGNATURE sigb (makeSIGdec(sigb,error(SIGNATUREleft,sigbright))) | FUNCTOR fctb (makeFCTdec(fctb,error(FUNCTORleft,fctbright))) | ldec (fn (env,pa,top,st) => let val (dec,env') = markdec(E ldec(env,pa,no_tyvars,st),ldecleft,ldecright) in Typecheck.decType(Env.atop(env',env),dec,top,error, (ldecleft,ldecright)); (dec,env') end) strb : ident sigconstraint_op EQUAL str (makeSTRB(strSymbol ident,sigconstraint_op,str, error(sigconstraint_opleft,sigconstraint_opright))) | strb AND strb (fn a => fn $ => strb1 a $ @ strb2 a $) fparam : ID COLON sign (single_formal(strSymbol ID, sign(true,true,NULLstr))) | spec_s (spread_formal(spec_s, error(spec_sleft,spec_sright))) fctb : ident LPAREN fparam RPAREN sigconstraint_op EQUAL str (makeFCTB(fctSymbol ident,fparam, sigconstraint_op,str, error(strleft,strright))) | fctb AND fctb (fn $ => fctb1 $ @ fctb2 $) importdec: STRING ([STRING]) | STRING importdec (STRING :: importdec) interdec: sdecs' (fn env=> let val (s,e)= sdecs'(env,[],true,Stampset.globalStamps) in markdec((SEQdec s,e),sdecs'left,sdecs'right) end) | IMPORT importdec (fn env =>(IMPORTdec importdec,env)) | exp (fn env=>markdec(toplevelexp(env,exp,error,(expleft,expright)), expleft,expright)) smlsharp-1.2.0/benchmark/benchmarks/mlyacc/doit.smi0000644 000000000000000000000005112050661606022467 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "main.smi" smlsharp-1.2.0/benchmark/benchmarks/mlyacc/doit.sml0000644 000000000000000000000003612050661606022475 0ustar00rootroot0000000 0000000 Main.doit (); print "Done\n"; smlsharp-1.2.0/benchmark/benchmarks/mlyacc/export.sml0000644 000000000000000000000372112050661606023063 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1991 Andrew W. Appel, David R. Tarditi *) structure ExportParseGen = struct fun err msg = output (std_err, msg) exception Interrupt; (* This function applies operation to (). If it handles an interrupt signal (Control-C), it raises the exception Interrupt. Example: (handleInterrupt foo) handle Interrupt => print "Bang!\n" *) fun handleInterrupt (operation : unit -> unit) = let exception Done val old'handler = System.Signals.inqHandler(System.Signals.SIGINT) fun reset'handler () = System.Signals.setHandler(System.Signals.SIGINT, old'handler) in (callcc (fn k => (System.Signals.setHandler(System.Signals.SIGINT,SOME(fn _ => k)); operation (); raise Done)); err ("\n--- Interrupt smlyacc ---\n"); raise Interrupt) handle Done => (reset'handler ()) | exn => (reset'handler (); raise exn) end fun parseGen (argv, environment) = let fun parse_gen () = (case argv of (name :: file :: nil) => (ParseGen.parseGen file; System.Unsafe.CInterface.exit 0) | (name :: _) => (err("Usage: sml-yacc filename\n"); System.Unsafe.CInterface.exit 1) | _ => (err("? smlyacc: internal error!\n"); System.Unsafe.CInterface.exit 2)) in (handleInterrupt parse_gen) handle Interrupt => System.Unsafe.CInterface.exit 3 | (Io msg) => (err ("? smlyacc: uncaught exception Io " ^ msg ^ "\n"); System.Unsafe.CInterface.exit 4) | any => (err ("? smlyacc: uncaught exception " ^ (System.exn_name any) ^ "\n"); System.Unsafe.CInterface.exit 5) end end; exportFn("sml-yacc",ExportParseGen.parseGen); smlsharp-1.2.0/benchmark/benchmarks/mlyacc/grammar.smi0000644 000000000000000000000541112050661606023163 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "base.sig" _require "lrtable.smi" _require "utils.smi" _require "utils.sig" _require "sigs.sml" structure Grammar = struct datatype term = datatype LrTable.term datatype nonterm = datatype LrTable.nonterm datatype symbol = TERM of term | NONTERM of nonterm datatype grammar = GRAMMAR of {rules: {lhs : nonterm, rhs : symbol list, precedence : int option, rulenum : int} list, terms: int, nonterms: int, start : nonterm, eop : term list, noshift : term list, precedence : term -> int option, termToString : term -> string, nontermToString : nonterm -> string} end structure IntGrammar = struct structure Grammar = struct datatype term = datatype Grammar.term datatype nonterm = datatype Grammar.nonterm datatype symbol = datatype Grammar.symbol datatype grammar = datatype Grammar.grammar end structure SymbolAssoc = struct type 'a table (= boxed) type key = Grammar.symbol val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc = struct type 'a table (= boxed) type key = Grammar.nonterm val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end datatype rule = RULE of {lhs : Grammar.nonterm, rhs : Grammar.symbol list, num : int, rulenum : int, precedence : int option} val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/grammar.sml0000644 000000000000000000000564112050661606023173 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi * * $Log$ * Revision 1.2 1996/02/26 15:02:33 george * print no longer overloaded. * use of makestring has been removed and replaced with Int.toString .. * use of IO replaced with TextIO * * Revision 1.1.1.1 1996/01/31 16:01:45 george * Version 109 * *) structure Grammar : GRAMMAR = struct (* define types term and nonterm using those in LrTable datatype term = T of int datatype nonterm = NT of int *) open LrTable datatype symbol = TERM of term | NONTERM of nonterm datatype grammar = GRAMMAR of {rules: {lhs: nonterm, rhs: symbol list, precedence: int option, rulenum: int} list, noshift : term list, eop : term list, terms: int, nonterms: int, start : nonterm, precedence : term -> int option, termToString : term -> string, nontermToString : nonterm -> string} end; structure IntGrammar : INTGRAMMAR = struct structure Grammar = Grammar open Grammar datatype rule = RULE of {lhs: nonterm, rhs: symbol list, num: int,(* internal # assigned by coreutils *) rulenum: int, precedence: int option} val eqTerm = (op =) val gtTerm = fn (T i,T j) => i>j val eqNonterm = (op =) val gtNonterm = fn (NT i,NT j) => i>j val eqSymbol = (op =) val gtSymbol = fn (TERM (T i),TERM (T j)) => i>j | (NONTERM (NT i),NONTERM (NT j)) => i>j | (TERM _,NONTERM _) => false | (NONTERM _,TERM _) => true structure SymbolAssoc = Table(type key = symbol val gt = gtSymbol) structure NontermAssoc = Table(type key = nonterm val gt = gtNonterm) val DEBUG = false val prRule = fn (a as symbolToString,nontermToString,print) => let val printSymbol = print o symbolToString fun printRhs (h::t) = (printSymbol h; print " "; printRhs t) | printRhs nil = () in fn (RULE {lhs,rhs,num,rulenum,precedence,...}) => ((print o nontermToString) lhs; print " : "; printRhs rhs; if DEBUG then (print " num = "; print (Int.toString num); print " rulenum = "; print (Int.toString rulenum); print " precedence = "; case precedence of NONE => print " none" | (SOME i) => print (Int.toString i); ()) else ()) end val prGrammar = fn (a as (symbolToString,nontermToString,print)) => fn (GRAMMAR {rules,terms,nonterms,start,...}) => let val printRule = let val prRule = prRule a in fn {lhs,rhs,precedence,rulenum} => (prRule (RULE {lhs=lhs,rhs=rhs,num=0, rulenum=rulenum, precedence=precedence}); print "\n") end in print "grammar = \n"; List.app printRule rules; print "\n"; print (" terms = " ^ (Int.toString terms) ^ " nonterms = " ^ (Int.toString nonterms) ^ " start = "); (print o nontermToString) start; () end end; smlsharp-1.2.0/benchmark/benchmarks/mlyacc/graph.smi0000644 000000000000000000005215612050661606022646 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "base.sig" _require "lrtable.smi" _require "utils.smi" _require "utils.sig" _require "sigs.sml" functor mkGraph( A : sig structure IntGrammar : sig structure Grammar : sig datatype term = T of int datatype nonterm = NT of int datatype symbol = TERM of term | NONTERM of nonterm datatype grammar = GRAMMAR of {rules: {lhs : nonterm, rhs : symbol list, precedence : int option, rulenum : int} list, terms: int, nonterms: int, start : nonterm, eop : term list, noshift : term list, precedence : term -> int option, termToString : term -> string, nontermToString : nonterm -> string} end structure SymbolAssoc : sig type 'a table type key val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc : sig type 'a table type key val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end sharing type SymbolAssoc.key = Grammar.symbol sharing type NontermAssoc.key = Grammar.nonterm datatype rule = RULE of {lhs : Grammar.nonterm, rhs : Grammar.symbol list, num : int, rulenum : int, precedence : int option} val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end structure Core : sig structure Grammar : sig datatype term = T of int datatype nonterm = NT of int datatype symbol = TERM of term | NONTERM of nonterm datatype grammar = GRAMMAR of {rules: {lhs : nonterm, rhs : symbol list, precedence : int option, rulenum : int} list, terms: int, nonterms: int, start : nonterm, eop : term list, noshift : term list, precedence : term -> int option, termToString : term -> string, nontermToString : nonterm -> string} end structure IntGrammar : sig structure Grammar : sig datatype term = T of int datatype nonterm = NT of int datatype symbol = TERM of term | NONTERM of nonterm datatype grammar = GRAMMAR of {rules: {lhs : nonterm, rhs : symbol list, precedence : int option, rulenum : int} list, terms: int, nonterms: int, start : nonterm, eop : term list, noshift : term list, precedence : term -> int option, termToString : term -> string, nontermToString : nonterm -> string} end structure SymbolAssoc : sig type 'a table type key val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc : sig type 'a table type key val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end sharing type SymbolAssoc.key = Grammar.symbol sharing type NontermAssoc.key = Grammar.nonterm datatype rule = RULE of {lhs : Grammar.nonterm, rhs : Grammar.symbol list, num : int, rulenum : int, precedence : int option} val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end sharing Grammar = IntGrammar.Grammar datatype item = ITEM of {rule : IntGrammar.rule, dot: int, rhsAfter: Grammar.symbol list } val eqItem : item * item -> bool val gtItem : item * item -> bool val insert : item * item list -> item list val union : item list * item list -> item list datatype core = CORE of item list * int val gtCore : core * core -> bool val eqCore : core * core -> bool val prItem : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> item -> unit val prCore : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> core -> unit end structure CoreUtils : sig structure Grammar : sig datatype term = T of int datatype nonterm = NT of int datatype symbol = TERM of term | NONTERM of nonterm datatype grammar = GRAMMAR of {rules: {lhs : nonterm, rhs : symbol list, precedence : int option, rulenum : int} list, terms: int, nonterms: int, start : nonterm, eop : term list, noshift : term list, precedence : term -> int option, termToString : term -> string, nontermToString : nonterm -> string} end structure IntGrammar : sig structure Grammar : sig datatype term = T of int datatype nonterm = NT of int datatype symbol = TERM of term | NONTERM of nonterm datatype grammar = GRAMMAR of {rules: {lhs : nonterm, rhs : symbol list, precedence : int option, rulenum : int} list, terms: int, nonterms: int, start : nonterm, eop : term list, noshift : term list, precedence : term -> int option, termToString : term -> string, nontermToString : nonterm -> string} end structure SymbolAssoc : sig type 'a table type key val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc : sig type 'a table type key val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end sharing type SymbolAssoc.key = Grammar.symbol sharing type NontermAssoc.key = Grammar.nonterm datatype rule = RULE of {lhs : Grammar.nonterm, rhs : Grammar.symbol list, num : int, rulenum : int, precedence : int option} val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end structure Core : sig structure Grammar : sig datatype term = T of int datatype nonterm = NT of int datatype symbol = TERM of term | NONTERM of nonterm datatype grammar = GRAMMAR of {rules: {lhs : nonterm, rhs : symbol list, precedence : int option, rulenum : int} list, terms: int, nonterms: int, start : nonterm, eop : term list, noshift : term list, precedence : term -> int option, termToString : term -> string, nontermToString : nonterm -> string} end structure IntGrammar : sig structure Grammar : sig datatype term = T of int datatype nonterm = NT of int datatype symbol = TERM of term | NONTERM of nonterm datatype grammar = GRAMMAR of {rules: {lhs : nonterm, rhs : symbol list, precedence : int option, rulenum : int} list, terms: int, nonterms: int, start : nonterm, eop : term list, noshift : term list, precedence : term -> int option, termToString : term -> string, nontermToString : nonterm -> string} end structure SymbolAssoc : sig type 'a table type key val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc : sig type 'a table type key val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end sharing type SymbolAssoc.key = Grammar.symbol sharing type NontermAssoc.key = Grammar.nonterm datatype rule = RULE of {lhs : Grammar.nonterm, rhs : Grammar.symbol list, num : int, rulenum : int, precedence : int option} val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end sharing Grammar = IntGrammar.Grammar datatype item = ITEM of {rule : IntGrammar.rule, dot: int, rhsAfter: Grammar.symbol list } val eqItem : item * item -> bool val gtItem : item * item -> bool val insert : item * item list -> item list val union : item list * item list -> item list datatype core = CORE of item list * int val gtCore : core * core -> bool val eqCore : core * core -> bool val prItem : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> item -> unit val prCore : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> core -> unit end sharing Grammar = IntGrammar.Grammar = Core.Grammar sharing IntGrammar = Core.IntGrammar val mkFuncs : Grammar.grammar -> {produces: Grammar.nonterm -> IntGrammar.rule list, shifts: Core.core -> (Grammar.symbol*Core.item list) list, rules: IntGrammar.rule list, epsProds : Core.core -> IntGrammar.rule list} end sharing IntGrammar = Core.IntGrammar = CoreUtils.IntGrammar sharing CoreUtils.Core = Core end ) = struct structure Grammar = struct datatype term = datatype A.IntGrammar.Grammar.term datatype nonterm = datatype A.IntGrammar.Grammar.nonterm datatype symbol = datatype A.IntGrammar.Grammar.symbol datatype grammar = datatype A.IntGrammar.Grammar.grammar end structure IntGrammar = struct structure Grammar = struct datatype term = datatype A.IntGrammar.Grammar.term datatype nonterm = datatype A.IntGrammar.Grammar.nonterm datatype symbol = datatype A.IntGrammar.Grammar.symbol datatype grammar = datatype A.IntGrammar.Grammar.grammar end structure SymbolAssoc = struct type 'a table = 'a A.IntGrammar.SymbolAssoc.table type key = A.IntGrammar.SymbolAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc = struct type 'a table = 'a A.IntGrammar.NontermAssoc.table type key = A.IntGrammar.NontermAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end datatype rule = datatype A.IntGrammar.rule val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string)*(Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end structure Core = struct structure Grammar = struct datatype term = datatype Grammar.term datatype nonterm = datatype Grammar.nonterm datatype symbol = datatype Grammar.symbol datatype grammar = datatype Grammar.grammar end structure IntGrammar = struct structure Grammar = struct datatype term = datatype Grammar.term datatype nonterm = datatype Grammar.nonterm datatype symbol = datatype Grammar.symbol datatype grammar = datatype Grammar.grammar end structure SymbolAssoc = struct type 'a table = 'a IntGrammar.SymbolAssoc.table type key = IntGrammar.SymbolAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc = struct type 'a table = 'a IntGrammar.NontermAssoc.table type key = IntGrammar.NontermAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end datatype rule = datatype IntGrammar.rule val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string)*(Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end datatype item = datatype A.Core.item val eqItem : item * item -> bool val gtItem : item * item -> bool val insert : item * item list -> item list val union : item list * item list -> item list datatype core = datatype A.Core.core val gtCore : core * core -> bool val eqCore : core * core -> bool val prItem : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> item -> unit val prCore : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> core -> unit end type graph = {edges: {edge:A.IntGrammar.Grammar.symbol, to:A.Core.core} list array, nodes: A.Core.core list, nodeArray : A.Core.core array} val edges : Core.core * graph -> {edge:Grammar.symbol,to:Core.core} list val nodes : graph -> Core.core list val shift : graph -> int * Grammar.symbol -> int (* int = state # *) val core : graph -> int -> Core.core (* get core for a state *) val mkGraph : Grammar.grammar -> {graph : graph, produces : Grammar.nonterm -> IntGrammar.rule list, rules : IntGrammar.rule list, epsProds: Core.core -> IntGrammar.rule list} val prGraph: (Grammar.symbol -> string)*(Grammar.nonterm -> string) * (string -> unit) -> graph -> unit end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/graph.sml0000644 000000000000000000000654312050661606022650 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi * * $Log$ * Revision 1.2 1996/02/26 15:02:34 george * print no longer overloaded. * use of makestring has been removed and replaced with Int.toString .. * use of IO replaced with TextIO * * Revision 1.1.1.1 1996/01/31 16:01:45 george * Version 109 * *) functor mkGraph(structure IntGrammar : INTGRAMMAR structure Core : CORE structure CoreUtils : CORE_UTILS sharing IntGrammar = Core.IntGrammar = CoreUtils.IntGrammar sharing CoreUtils.Core = Core ) : LRGRAPH = struct open Array List infix 9 sub structure Core = Core structure Grammar = IntGrammar.Grammar structure IntGrammar = IntGrammar open Core Core.Grammar CoreUtils IntGrammar structure NodeSet = RbOrdSet (struct type elem = core val eq = eqCore val gt = gtCore end) open NodeSet exception Shift of int * symbol type graph = {edges: {edge:symbol,to:core} list array, nodes: core list,nodeArray : core array} val edges = fn (CORE (_,i),{edges,...}:graph) => edges sub i val nodes = fn ({nodes,...} : graph) => nodes val shift = fn ({edges,nodes,...} : graph) => fn a as (i,sym) => let fun find nil = raise (Shift a) | find ({edge,to=CORE (_,state)} :: r) = if gtSymbol(sym,edge) then find r else if eqSymbol(edge,sym) then state else raise (Shift a) in find (edges sub i) end val core = fn ({nodeArray,...} : graph) => fn i => nodeArray sub i val mkGraph = fn (g as (GRAMMAR {start,...})) => let val {shifts,produces,rules,epsProds} = CoreUtils.mkFuncs g fun add_goto ((symbol,a),(nodes,edges,future,num)) = case find(CORE (a,0),nodes) of NONE => let val core =CORE (a,num) val edge = {edge=symbol,to=core} in (insert(core,nodes),edge::edges, core::future,num+1) end | (SOME c) => let val edge={edge=symbol,to=c} in (nodes,edge::edges,future,num) end fun f (nodes,node_list,edge_list,nil,nil,num) = let val nodes=rev node_list in {nodes=nodes, edges=Array.fromList (rev edge_list), nodeArray = Array.fromList nodes } end | f (nodes,node_list,edge_list,nil,y,num) = f (nodes,node_list,edge_list,rev y,nil,num) | f (nodes,node_list,edge_list,h::t,y,num) = let val (nodes,edges,future,num) = List.foldr add_goto (nodes,[],y,num) (shifts h) in f (nodes,h::node_list, edges::edge_list,t,future,num) end in {graph= let val makeItem = fn (r as (RULE {rhs,...})) => ITEM{rule=r,dot=0,rhsAfter=rhs} val initialItemList = map makeItem (produces start) val orderedItemList = List.foldr Core.insert [] initialItemList val initial = CORE (orderedItemList,0) in f(empty,nil,nil,[initial],nil,1) end, produces=produces, rules=rules, epsProds=epsProds} end val prGraph = fn a as (nontermToString,termToString,print) => fn g => let val printCore = prCore a val printSymbol = print o nontermToString val nodes = nodes g val printEdges = fn n => List.app (fn {edge,to=CORE (_,state)} => (print "\tshift on "; printSymbol edge; print " to "; print (Int.toString state); print "\n")) (edges (n,g)) in List.app (fn c => (printCore c; print "\n"; printEdges c)) nodes end end; smlsharp-1.2.0/benchmark/benchmarks/mlyacc/hdr.smi0000644 000000000000000000000355612050661606022322 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "./base.sig" _require "utils.sig" _require "sigs.sml" structure Header = struct type pos = int val lineno : pos ref val text : string list ref type inputSource = {name : string, errStream : TextIO.outstream, inStream : TextIO.instream, errorOccurred : bool ref} val newSource : string * TextIO.instream * TextIO.outstream -> inputSource val error : inputSource -> pos -> string -> unit val warn : inputSource -> pos -> string -> unit val errorOccurred : inputSource -> unit -> bool datatype symbol = SYMBOL of string * pos val symbolName : symbol -> string val symbolPos : symbol -> pos val symbolMake : string * int -> symbol type ty = string val tyName : ty -> string val tyMake : string -> ty datatype prec = LEFT | RIGHT | NONASSOC datatype control = NODEFAULT | VERBOSE | PARSER_NAME of symbol | FUNCTOR of string | START_SYM of symbol | NSHIFT of symbol list | POS of string | PURE | PARSE_ARG of string * string datatype rule = RULE of {lhs : symbol, rhs : symbol list, code : string, prec : symbol option} datatype declData = DECL of {eop : symbol list, keyword : symbol list, nonterm : (symbol * ty option) list option, prec : (prec * (symbol list)) list, change: (symbol list * symbol list) list, term : (symbol * ty option) list option, control : control list, value : (symbol * string) list} val join_decls : declData * declData * inputSource * pos -> declData type parseResult = string * declData * rule list val getResult : parseResult -> string * declData * rule list end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/hdr.sml0000644 000000000000000000000746712050661606022332 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi * * $Log$ * Revision 1.2 1996/02/26 15:02:34 george * print no longer overloaded. * use of makestring has been removed and replaced with Int.toString .. * use of IO replaced with TextIO * * Revision 1.1.1.1 1996/01/31 16:01:45 george * Version 109 * *) functor HeaderFun () : HEADER = struct val DEBUG = true type pos = int val lineno = ref 0 val text = ref (nil: string list) type inputSource = {name : string, errStream : TextIO.outstream, inStream : TextIO.instream, errorOccurred : bool ref} val newSource = fn (s : string,i : TextIO.instream ,errs : TextIO.outstream) => {name=s,errStream=errs,inStream=i, errorOccurred = ref false} val errorOccurred = fn (s : inputSource) =>fn () => !(#errorOccurred s) val pr = fn out : TextIO.outstream => fn s : string => TextIO.output(out,s) val error = fn {name,errStream, errorOccurred,...} : inputSource => let val pr = pr errStream in fn l : pos => fn msg : string => (pr name; pr ", line "; pr (Int.toString l); pr ": Error: "; pr msg; pr "\n"; errorOccurred := true) end val warn = fn {name,errStream, errorOccurred,...} : inputSource => let val pr = pr errStream in fn l : pos => fn msg : string => (pr name; pr ", line "; pr (Int.toString l); pr ": Warning: "; pr msg; pr "\n") end datatype prec = LEFT | RIGHT | NONASSOC datatype symbol = SYMBOL of string * pos val symbolName = fn SYMBOL(s,_) => s val symbolPos = fn SYMBOL(_,p) => p val symbolMake = fn sp => SYMBOL sp type ty = string val tyName = fn i => i val tyMake = fn i => i datatype control = NODEFAULT | VERBOSE | PARSER_NAME of symbol | FUNCTOR of string | START_SYM of symbol | NSHIFT of symbol list | POS of string | PURE | PARSE_ARG of string * string datatype declData = DECL of {eop : symbol list, keyword : symbol list, nonterm : (symbol*ty option) list option, prec : (prec * (symbol list)) list, change: (symbol list * symbol list) list, term : (symbol* ty option) list option, control : control list, value : (symbol * string) list} type rhsData = {rhs:symbol list,code:string, prec:symbol option} list datatype rule = RULE of {lhs : symbol, rhs : symbol list, code : string, prec : symbol option} type parseResult = string * declData * rule list val getResult = fn p => p fun join_decls (DECL {eop=e,control=c,keyword=k,nonterm=n,prec, change=su,term=t,value=v}:declData, DECL {eop=e',control=c',keyword=k',nonterm=n',prec=prec', change=su',term=t',value=v'} : declData, inputSource,pos) = let val ignore = fn s => (warn inputSource pos ("ignoring duplicate " ^ s ^ " declaration")) val join = fn (e,NONE,NONE) => NONE | (e,NONE,a) => a | (e,a,NONE) => a | (e,a,b) => (ignore e; a) fun mergeControl (nil,a) = [a] | mergeControl (l as h::t,a) = case (h,a) of (PARSER_NAME _,PARSER_NAME n1) => (ignore "%name"; l) | (FUNCTOR _,FUNCTOR _) => (ignore "%header"; l) | (PARSE_ARG _,PARSE_ARG _) => (ignore "%arg"; l) | (START_SYM _,START_SYM s) => (ignore "%start"; l) | (POS _,POS _) => (ignore "%pos"; l) | (NSHIFT a,NSHIFT b) => (NSHIFT (a@b)::t) | _ => h :: mergeControl(t,a) fun loop (nil,r) = r | loop (h::t,r) = loop(t,mergeControl(r,h)) in DECL {eop=e@e',control=loop(c',c),keyword=k'@k, nonterm=join("%nonterm",n,n'), prec=prec@prec', change=su@su', term=join("%term",t,t'),value=v@v'} : declData end end; structure Header = HeaderFun(); smlsharp-1.2.0/benchmark/benchmarks/mlyacc/join.smi0000644 000000000000000000004425212050661606022502 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "base.sig" functor Join( A : sig structure Lex : sig structure UserDeclarations : sig type ('a,'b) token type pos type svalue end val makeLexer : (int -> string) -> unit -> (UserDeclarations.svalue, UserDeclarations.pos) UserDeclarations.token end structure ParserData : sig type pos type svalue type arg type result structure LrTable : sig datatype ('a,'b) pairlist = EMPTY | PAIR of 'a * 'b * ('a,'b) pairlist datatype state = STATE of int datatype term = T of int datatype nonterm = NT of int datatype action = SHIFT of state | REDUCE of int | ACCEPT | ERROR type table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto of state * nonterm val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end structure Token : sig structure LrTable : sig datatype ('a,'b) pairlist = EMPTY | PAIR of 'a * 'b * ('a,'b) pairlist datatype state = STATE of int datatype term = T of int datatype nonterm = NT of int datatype action = SHIFT of state | REDUCE of int | ACCEPT | ERROR type table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto of state * nonterm val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end datatype ('a,'b) token = TOKEN of LrTable.term * ('a * 'b * 'b) val sameToken : ('a,'b) token * ('a,'b) token -> bool end sharing Token.LrTable = LrTable structure Actions : sig val actions : int * pos * (LrTable.state * (svalue * pos * pos)) list * arg -> LrTable.nonterm * (svalue * pos * pos) * (LrTable.state *(svalue * pos * pos)) list val void : svalue val extract : svalue -> result end structure EC : sig val is_keyword : LrTable.term -> bool val noShift : LrTable.term -> bool val preferred_change : (LrTable.term list * LrTable.term list) list val errtermvalue : LrTable.term -> svalue val showTerminal : LrTable.term -> string val terms: LrTable.term list end val table : LrTable.table end structure LrParser : sig structure Stream: sig type 'a stream val streamify : (unit -> 'a) -> 'a stream val cons : 'a * 'a stream -> 'a stream val get : 'a stream -> 'a * 'a stream end structure LrTable : sig datatype ('a,'b) pairlist = EMPTY | PAIR of 'a * 'b * ('a,'b) pairlist datatype state = STATE of int datatype term = T of int datatype nonterm = NT of int datatype action = SHIFT of state | REDUCE of int | ACCEPT | ERROR type table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto of state * nonterm val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end structure Token : sig structure LrTable : sig datatype ('a,'b) pairlist = EMPTY | PAIR of 'a * 'b * ('a,'b) pairlist datatype state = STATE of int datatype term = T of int datatype nonterm = NT of int datatype action = SHIFT of state | REDUCE of int | ACCEPT | ERROR type table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto of state * nonterm val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end datatype ('a,'b) token = TOKEN of LrTable.term * ('a * 'b * 'b) val sameToken : ('a,'b) token * ('a,'b) token -> bool end sharing LrTable = Token.LrTable exception ParseError val parse : {table : LrTable.table, lexer : ('b,'c) Token.token Stream.stream, arg: 'a, saction : int * 'c * (LrTable.state * ('b * 'c * 'c)) list * 'a -> LrTable.nonterm * ('b * 'c * 'c) * (LrTable.state * ('b * 'c * 'c)) list, void : 'b, ec : {is_keyword : LrTable.term -> bool, noShift : LrTable.term -> bool, preferred_change : (LrTable.term list * LrTable.term list) list, errtermvalue : LrTable.term -> 'b, showTerminal : LrTable.term -> string, terms: LrTable.term list, error : string * 'c * 'c -> unit}, lookahead : int} -> 'b * ('b,'c) Token.token Stream.stream end sharing ParserData.LrTable = LrParser.LrTable sharing ParserData.Token = LrParser.Token sharing type Lex.UserDeclarations.svalue = ParserData.svalue sharing type Lex.UserDeclarations.pos = ParserData.pos sharing type Lex.UserDeclarations.token = ParserData.Token.token end ) = struct structure Token = struct structure LrTable = struct datatype pairlist = datatype A.ParserData.Token.LrTable.pairlist datatype state = datatype A.ParserData.Token.LrTable.state datatype term = datatype A.ParserData.Token.LrTable.term datatype nonterm = datatype A.ParserData.Token.LrTable.nonterm datatype action = datatype A.ParserData.Token.LrTable.action type table = A.ParserData.Token.LrTable.table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto = A.ParserData.Token.LrTable.Goto val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end datatype token = datatype A.ParserData.Token.token val sameToken : ('a,'b) token * ('a,'b) token -> bool end structure Stream = struct type 'a stream = 'a A.LrParser.Stream.stream val streamify : (unit -> 'a) -> 'a stream val cons : 'a * 'a stream -> 'a stream val get : 'a stream -> 'a * 'a stream end exception ParseError = A.LrParser.ParseError type pos = A.ParserData.pos type result = A.ParserData.result type arg = A.ParserData.arg type svalue = A.ParserData.svalue val makeLexer : (int -> string) -> (svalue,pos) Token.token Stream.stream val parse : int * (svalue,pos) Token.token Stream.stream * (string * pos * pos -> unit) * arg -> result * (svalue,pos) Token.token Stream.stream val sameToken : (svalue,pos) Token.token * (svalue,pos) Token.token -> bool end functor JoinWithArg( A : sig structure Lex : sig structure UserDeclarations : sig type ('a,'b) token type pos type svalue type arg end val makeLexer : (int -> string) -> UserDeclarations.arg -> unit -> (UserDeclarations.svalue, UserDeclarations.pos) UserDeclarations.token end structure ParserData : sig type pos type svalue type arg type result structure LrTable : sig datatype ('a,'b) pairlist = EMPTY | PAIR of 'a * 'b * ('a,'b) pairlist datatype state = STATE of int datatype term = T of int datatype nonterm = NT of int datatype action = SHIFT of state | REDUCE of int | ACCEPT | ERROR type table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto of state * nonterm val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end structure Token : sig structure LrTable : sig datatype ('a,'b) pairlist = EMPTY | PAIR of 'a * 'b * ('a,'b) pairlist datatype state = STATE of int datatype term = T of int datatype nonterm = NT of int datatype action = SHIFT of state | REDUCE of int | ACCEPT | ERROR type table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto of state * nonterm val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end datatype ('a,'b) token = TOKEN of LrTable.term * ('a * 'b * 'b) val sameToken : ('a,'b) token * ('a,'b) token -> bool end sharing Token.LrTable = LrTable structure Actions : sig val actions : int * pos * (LrTable.state * (svalue * pos * pos)) list * arg -> LrTable.nonterm * (svalue * pos * pos) * (LrTable.state *(svalue * pos * pos)) list val void : svalue val extract : svalue -> result end structure EC : sig val is_keyword : LrTable.term -> bool val noShift : LrTable.term -> bool val preferred_change : (LrTable.term list * LrTable.term list) list val errtermvalue : LrTable.term -> svalue val showTerminal : LrTable.term -> string val terms: LrTable.term list end val table : LrTable.table end structure LrParser : sig structure Stream: sig type 'a stream val streamify : (unit -> 'a) -> 'a stream val cons : 'a * 'a stream -> 'a stream val get : 'a stream -> 'a * 'a stream end structure LrTable : sig datatype ('a,'b) pairlist = EMPTY | PAIR of 'a * 'b * ('a,'b) pairlist datatype state = STATE of int datatype term = T of int datatype nonterm = NT of int datatype action = SHIFT of state | REDUCE of int | ACCEPT | ERROR type table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto of state * nonterm val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end structure Token : sig structure LrTable : sig datatype ('a,'b) pairlist = EMPTY | PAIR of 'a * 'b * ('a,'b) pairlist datatype state = STATE of int datatype term = T of int datatype nonterm = NT of int datatype action = SHIFT of state | REDUCE of int | ACCEPT | ERROR type table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto of state * nonterm val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end datatype ('a,'b) token = TOKEN of LrTable.term * ('a * 'b * 'b) val sameToken : ('a,'b) token * ('a,'b) token -> bool end sharing LrTable = Token.LrTable exception ParseError val parse : {table : LrTable.table, lexer : ('b,'c) Token.token Stream.stream, arg: 'a, saction : int * 'c * (LrTable.state * ('b * 'c * 'c)) list * 'a -> LrTable.nonterm * ('b * 'c * 'c) * (LrTable.state * ('b * 'c * 'c)) list, void : 'b, ec : {is_keyword : LrTable.term -> bool, noShift : LrTable.term -> bool, preferred_change : (LrTable.term list * LrTable.term list) list, errtermvalue : LrTable.term -> 'b, showTerminal : LrTable.term -> string, terms: LrTable.term list, error : string * 'c * 'c -> unit}, lookahead : int} -> 'b * ('b,'c) Token.token Stream.stream end sharing ParserData.LrTable = LrParser.LrTable sharing ParserData.Token = LrParser.Token sharing type Lex.UserDeclarations.svalue = ParserData.svalue sharing type Lex.UserDeclarations.pos = ParserData.pos sharing type Lex.UserDeclarations.token = ParserData.Token.token end ) = struct structure Token = struct structure LrTable = struct datatype pairlist = datatype A.ParserData.Token.LrTable.pairlist datatype state = datatype A.ParserData.Token.LrTable.state datatype term = datatype A.ParserData.Token.LrTable.term datatype nonterm = datatype A.ParserData.Token.LrTable.nonterm datatype action = datatype A.ParserData.Token.LrTable.action type table = A.ParserData.Token.LrTable.table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto = A.ParserData.Token.LrTable.Goto val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end datatype token = datatype A.ParserData.Token.token val sameToken : ('a,'b) token * ('a,'b) token -> bool end structure Stream = struct type 'a stream = 'a A.LrParser.Stream.stream val streamify : (unit -> 'a) -> 'a stream val cons : 'a * 'a stream -> 'a stream val get : 'a stream -> 'a * 'a stream end exception ParseError = A.LrParser.ParseError type arg = A.ParserData.arg type lexarg = A.Lex.UserDeclarations.arg type pos = A.ParserData.pos type result = A.ParserData.result type svalue = A.ParserData.svalue val makeLexer : (int -> string) -> lexarg -> (svalue,pos) Token.token Stream.stream val parse : int * (svalue,pos) Token.token Stream.stream * (string * pos * pos -> unit) * arg -> result * (svalue,pos) Token.token Stream.stream val sameToken : (svalue,pos) Token.token * (svalue,pos) Token.token -> bool end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/join.sml0000644 000000000000000000000674512050661606022512 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi * * $Log$ * Revision 1.1.1.1 1996/01/31 16:01:42 george * Version 109 * *) (* functor Join creates a user parser by putting together a Lexer structure, an LrValues structure, and a polymorphic parser structure. Note that the Lexer and LrValues structure must share the type pos (i.e. the type of line numbers), the type svalues for semantic values, and the type of tokens. *) functor Join(structure Lex : LEXER structure ParserData: PARSER_DATA structure LrParser : LR_PARSER sharing ParserData.LrTable = LrParser.LrTable sharing ParserData.Token = LrParser.Token sharing type Lex.UserDeclarations.svalue = ParserData.svalue sharing type Lex.UserDeclarations.pos = ParserData.pos sharing type Lex.UserDeclarations.token = ParserData.Token.token) : PARSER = struct structure Token = ParserData.Token structure Stream = LrParser.Stream exception ParseError = LrParser.ParseError type arg = ParserData.arg type pos = ParserData.pos type result = ParserData.result type svalue = ParserData.svalue val makeLexer = LrParser.Stream.streamify o Lex.makeLexer val parse = fn (lookahead,lexer,error,arg) => (fn (a,b) => (ParserData.Actions.extract a,b)) (LrParser.parse {table = ParserData.table, lexer=lexer, lookahead=lookahead, saction = ParserData.Actions.actions, arg=arg, void= ParserData.Actions.void, ec = {is_keyword = ParserData.EC.is_keyword, noShift = ParserData.EC.noShift, preferred_change = ParserData.EC.preferred_change, errtermvalue = ParserData.EC.errtermvalue, error=error, showTerminal = ParserData.EC.showTerminal, terms = ParserData.EC.terms}} ) val sameToken = Token.sameToken end (* functor JoinWithArg creates a variant of the parser structure produced above. In this case, the makeLexer take an additional argument before yielding a value of type unit -> (svalue,pos) token *) functor JoinWithArg(structure Lex : ARG_LEXER structure ParserData: PARSER_DATA structure LrParser : LR_PARSER sharing ParserData.LrTable = LrParser.LrTable sharing ParserData.Token = LrParser.Token sharing type Lex.UserDeclarations.svalue = ParserData.svalue sharing type Lex.UserDeclarations.pos = ParserData.pos sharing type Lex.UserDeclarations.token = ParserData.Token.token) : ARG_PARSER = struct structure Token = ParserData.Token structure Stream = LrParser.Stream exception ParseError = LrParser.ParseError type arg = ParserData.arg type lexarg = Lex.UserDeclarations.arg type pos = ParserData.pos type result = ParserData.result type svalue = ParserData.svalue val makeLexer = fn s => fn arg => LrParser.Stream.streamify (Lex.makeLexer s arg) val parse = fn (lookahead,lexer,error,arg) => (fn (a,b) => (ParserData.Actions.extract a,b)) (LrParser.parse {table = ParserData.table, lexer=lexer, lookahead=lookahead, saction = ParserData.Actions.actions, arg=arg, void= ParserData.Actions.void, ec = {is_keyword = ParserData.EC.is_keyword, noShift = ParserData.EC.noShift, preferred_change = ParserData.EC.preferred_change, errtermvalue = ParserData.EC.errtermvalue, error=error, showTerminal = ParserData.EC.showTerminal, terms = ParserData.EC.terms}} ) val sameToken = Token.sameToken end; smlsharp-1.2.0/benchmark/benchmarks/mlyacc/lalr.smi0000644 000000000000000000007675012050661606022505 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "base.sig" _require "lrtable.smi" _require "utils.smi" _require "utils.sig" _require "sigs.sml" functor mkLalr ( A : sig structure IntGrammar : sig structure Grammar : sig datatype term = T of int datatype nonterm = NT of int datatype symbol = TERM of term | NONTERM of nonterm datatype grammar = GRAMMAR of {rules: {lhs : nonterm, rhs : symbol list, precedence : int option, rulenum : int} list, terms: int, nonterms: int, start : nonterm, eop : term list, noshift : term list, precedence : term -> int option, termToString : term -> string, nontermToString : nonterm -> string} end structure SymbolAssoc : sig type 'a table type key val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc : sig type 'a table type key val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end sharing type SymbolAssoc.key = Grammar.symbol sharing type NontermAssoc.key = Grammar.nonterm datatype rule = RULE of {lhs : Grammar.nonterm, rhs : Grammar.symbol list, num : int, rulenum : int, precedence : int option} val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end structure Core : sig structure Grammar : sig datatype term = T of int datatype nonterm = NT of int datatype symbol = TERM of term | NONTERM of nonterm datatype grammar = GRAMMAR of {rules: {lhs : nonterm, rhs : symbol list, precedence : int option, rulenum : int} list, terms: int, nonterms: int, start : nonterm, eop : term list, noshift : term list, precedence : term -> int option, termToString : term -> string, nontermToString : nonterm -> string} end structure IntGrammar : sig structure Grammar : sig datatype term = T of int datatype nonterm = NT of int datatype symbol = TERM of term | NONTERM of nonterm datatype grammar = GRAMMAR of {rules: {lhs : nonterm, rhs : symbol list, precedence : int option, rulenum : int} list, terms: int, nonterms: int, start : nonterm, eop : term list, noshift : term list, precedence : term -> int option, termToString : term -> string, nontermToString : nonterm -> string} end structure SymbolAssoc : sig type 'a table type key val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc : sig type 'a table type key val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end sharing type SymbolAssoc.key = Grammar.symbol sharing type NontermAssoc.key = Grammar.nonterm datatype rule = RULE of {lhs : Grammar.nonterm, rhs : Grammar.symbol list, num : int, rulenum : int, precedence : int option} val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end sharing Grammar = IntGrammar.Grammar datatype item = ITEM of {rule : IntGrammar.rule, dot: int, rhsAfter: Grammar.symbol list } val eqItem : item * item -> bool val gtItem : item * item -> bool val insert : item * item list -> item list val union : item list * item list -> item list datatype core = CORE of item list * int val gtCore : core * core -> bool val eqCore : core * core -> bool val prItem : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> item -> unit val prCore : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> core -> unit end structure Graph : sig structure Grammar : sig datatype term = T of int datatype nonterm = NT of int datatype symbol = TERM of term | NONTERM of nonterm datatype grammar = GRAMMAR of {rules: {lhs : nonterm, rhs : symbol list, precedence : int option, rulenum : int} list, terms: int, nonterms: int, start : nonterm, eop : term list, noshift : term list, precedence : term -> int option, termToString : term -> string, nontermToString : nonterm -> string} end structure IntGrammar : sig structure Grammar : sig datatype term = T of int datatype nonterm = NT of int datatype symbol = TERM of term | NONTERM of nonterm datatype grammar = GRAMMAR of {rules: {lhs : nonterm, rhs : symbol list, precedence : int option, rulenum : int} list, terms: int, nonterms: int, start : nonterm, eop : term list, noshift : term list, precedence : term -> int option, termToString : term -> string, nontermToString : nonterm -> string} end structure SymbolAssoc : sig type 'a table type key val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc : sig type 'a table type key val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end sharing type SymbolAssoc.key = Grammar.symbol sharing type NontermAssoc.key = Grammar.nonterm datatype rule = RULE of {lhs : Grammar.nonterm, rhs : Grammar.symbol list, num : int, rulenum : int, precedence : int option} val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end structure Core : sig structure Grammar : sig datatype term = T of int datatype nonterm = NT of int datatype symbol = TERM of term | NONTERM of nonterm datatype grammar = GRAMMAR of {rules: {lhs : nonterm, rhs : symbol list, precedence : int option, rulenum : int} list, terms: int, nonterms: int, start : nonterm, eop : term list, noshift : term list, precedence : term -> int option, termToString : term -> string, nontermToString : nonterm -> string} end structure IntGrammar : sig structure Grammar : sig datatype term = T of int datatype nonterm = NT of int datatype symbol = TERM of term | NONTERM of nonterm datatype grammar = GRAMMAR of {rules: {lhs : nonterm, rhs : symbol list, precedence : int option, rulenum : int} list, terms: int, nonterms: int, start : nonterm, eop : term list, noshift : term list, precedence : term -> int option, termToString : term -> string, nontermToString : nonterm -> string} end structure SymbolAssoc : sig type 'a table type key val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc : sig type 'a table type key val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end sharing type SymbolAssoc.key = Grammar.symbol sharing type NontermAssoc.key = Grammar.nonterm datatype rule = RULE of {lhs : Grammar.nonterm, rhs : Grammar.symbol list, num : int, rulenum : int, precedence : int option} val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end sharing Grammar = IntGrammar.Grammar datatype item = ITEM of {rule : IntGrammar.rule, dot: int, rhsAfter: Grammar.symbol list } val eqItem : item * item -> bool val gtItem : item * item -> bool val insert : item * item list -> item list val union : item list * item list -> item list datatype core = CORE of item list * int val gtCore : core * core -> bool val eqCore : core * core -> bool val prItem : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> item -> unit val prCore : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> core -> unit end sharing Grammar = IntGrammar.Grammar = Core.Grammar sharing IntGrammar = Core.IntGrammar type graph val edges : Core.core * graph -> {edge:Grammar.symbol,to:Core.core} list val nodes : graph -> Core.core list val shift : graph -> int * Grammar.symbol -> int val core : graph -> int -> Core.core val mkGraph : Grammar.grammar -> {graph : graph, produces : Grammar.nonterm -> IntGrammar.rule list, rules : IntGrammar.rule list, epsProds: Core.core -> IntGrammar.rule list} val prGraph : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> graph -> unit end structure Look : sig structure Grammar : sig datatype term = T of int datatype nonterm = NT of int datatype symbol = TERM of term | NONTERM of nonterm datatype grammar = GRAMMAR of {rules: {lhs : nonterm, rhs : symbol list, precedence : int option, rulenum : int} list, terms: int, nonterms: int, start : nonterm, eop : term list, noshift : term list, precedence : term -> int option, termToString : term -> string, nontermToString : nonterm -> string} end structure IntGrammar : sig structure Grammar : sig datatype term = T of int datatype nonterm = NT of int datatype symbol = TERM of term | NONTERM of nonterm datatype grammar = GRAMMAR of {rules: {lhs : nonterm, rhs : symbol list, precedence : int option, rulenum : int} list, terms: int, nonterms: int, start : nonterm, eop : term list, noshift : term list, precedence : term -> int option, termToString : term -> string, nontermToString : nonterm -> string} end structure SymbolAssoc : sig type 'a table type key val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc : sig type 'a table type key val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end sharing type SymbolAssoc.key = Grammar.symbol sharing type NontermAssoc.key = Grammar.nonterm datatype rule = RULE of {lhs : Grammar.nonterm, rhs : Grammar.symbol list, num : int, rulenum : int, precedence : int option} val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end sharing Grammar = IntGrammar.Grammar val union : Grammar.term list * Grammar.term list -> Grammar.term list val make_set : Grammar.term list -> Grammar.term list val mkFuncs : {rules : IntGrammar.rule list, nonterms : int, produces : Grammar.nonterm -> IntGrammar.rule list} -> {nullable: Grammar.nonterm -> bool, first : Grammar.symbol list -> Grammar.term list} val prLook : (Grammar.term -> string) * (string -> unit) -> Grammar.term list -> unit end sharing Graph.Core = Core sharing Graph.IntGrammar = Core.IntGrammar = Look.IntGrammar = IntGrammar end ) = struct structure Grammar = struct datatype term = datatype A.IntGrammar.Grammar.term datatype nonterm = datatype A.IntGrammar.Grammar.nonterm datatype symbol = datatype A.IntGrammar.Grammar.symbol datatype grammar = datatype A.IntGrammar.Grammar.grammar end structure IntGrammar = struct structure Grammar = struct datatype term = datatype A.IntGrammar.Grammar.term datatype nonterm = datatype A.IntGrammar.Grammar.nonterm datatype symbol = datatype A.IntGrammar.Grammar.symbol datatype grammar = datatype A.IntGrammar.Grammar.grammar end structure SymbolAssoc = struct type 'a table = 'a A.IntGrammar.SymbolAssoc.table type key = A.IntGrammar.SymbolAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc = struct type 'a table = 'a A.IntGrammar.NontermAssoc.table type key = A.IntGrammar.NontermAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end datatype rule = datatype A.IntGrammar.rule val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string)*(Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end structure Core = struct structure Grammar = struct datatype term = datatype Grammar.term datatype nonterm = datatype Grammar.nonterm datatype symbol = datatype Grammar.symbol datatype grammar = datatype Grammar.grammar end structure IntGrammar = struct structure Grammar = struct datatype term = datatype Grammar.term datatype nonterm = datatype Grammar.nonterm datatype symbol = datatype Grammar.symbol datatype grammar = datatype Grammar.grammar end structure SymbolAssoc = struct type 'a table = 'a IntGrammar.SymbolAssoc.table type key = IntGrammar.SymbolAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc = struct type 'a table = 'a IntGrammar.NontermAssoc.table type key = IntGrammar.NontermAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end datatype rule = datatype IntGrammar.rule val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string)*(Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end datatype item = datatype A.Core.item val eqItem : item * item -> bool val gtItem : item * item -> bool val insert : item * item list -> item list val union : item list * item list -> item list datatype core = datatype A.Core.core val gtCore : core * core -> bool val eqCore : core * core -> bool val prItem : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> item -> unit val prCore : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> core -> unit end structure Graph = struct structure Grammar = struct datatype term = datatype Grammar.term datatype nonterm = datatype Grammar.nonterm datatype symbol = datatype Grammar.symbol datatype grammar = datatype Grammar.grammar end structure IntGrammar = struct structure Grammar = struct datatype term = datatype Grammar.term datatype nonterm = datatype Grammar.nonterm datatype symbol = datatype Grammar.symbol datatype grammar = datatype Grammar.grammar end structure SymbolAssoc = struct type 'a table = 'a IntGrammar.SymbolAssoc.table type key = IntGrammar.SymbolAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc = struct type 'a table = 'a IntGrammar.NontermAssoc.table type key = IntGrammar.NontermAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end datatype rule = datatype IntGrammar.rule val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string)*(Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end structure Core = struct structure Grammar = struct datatype term = datatype Grammar.term datatype nonterm = datatype Grammar.nonterm datatype symbol = datatype Grammar.symbol datatype grammar = datatype Grammar.grammar end structure IntGrammar = struct structure Grammar = struct datatype term = datatype Grammar.term datatype nonterm = datatype Grammar.nonterm datatype symbol = datatype Grammar.symbol datatype grammar = datatype Grammar.grammar end structure SymbolAssoc = struct type 'a table = 'a IntGrammar.SymbolAssoc.table type key = IntGrammar.SymbolAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc = struct type 'a table = 'a IntGrammar.NontermAssoc.table type key = IntGrammar.NontermAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end datatype rule = datatype IntGrammar.rule val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string)*(Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end datatype item = datatype Core.item val eqItem : item * item -> bool val gtItem : item * item -> bool val insert : item * item list -> item list val union : item list * item list -> item list datatype core = datatype Core.core val gtCore : core * core -> bool val eqCore : core * core -> bool val prItem : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> item -> unit val prCore : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> core -> unit end type graph = A.Graph.graph val edges : Core.core * graph -> {edge:Grammar.symbol,to:Core.core} list val nodes : graph -> Core.core list val shift : graph -> int * Grammar.symbol -> int (* int = state # *) val core : graph -> int -> Core.core (* get core for a state *) val mkGraph : Grammar.grammar -> {graph : graph, produces : Grammar.nonterm -> IntGrammar.rule list, rules : IntGrammar.rule list, epsProds: Core.core -> IntGrammar.rule list} val prGraph: (Grammar.symbol -> string)*(Grammar.nonterm -> string) * (string -> unit) -> graph -> unit end datatype lcore = LCORE of (Core.item * Grammar.term list) list * int val addLookahead : {graph : Graph.graph, first : Grammar.symbol list -> Grammar.term list, eop : Grammar.term list, nonterms : int, nullable: Grammar.nonterm -> bool, produces : Grammar.nonterm -> IntGrammar.rule list, rules : IntGrammar.rule list, epsProds : Core.core -> IntGrammar.rule list, print : string -> unit, termToString : Grammar.term -> string, nontermToString : Grammar.nonterm -> string} -> lcore list val prLcore : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (Grammar.term -> string) * (string -> unit) -> lcore -> unit end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/lalr.sml0000644 000000000000000000003465312050661606022504 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi * * $Log$ * Revision 1.3 1996/10/03 03:37:12 jhr * Qualified identifiers that are no-longer top-level (quot, rem, min, max). * * Revision 1.2 1996/02/26 15:02:35 george * print no longer overloaded. * use of makestring has been removed and replaced with Int.toString .. * use of IO replaced with TextIO * * Revision 1.1.1.1 1996/01/31 16:01:45 george * Version 109 * *) functor mkLalr ( structure IntGrammar : INTGRAMMAR structure Core : CORE structure Graph : LRGRAPH structure Look: LOOK sharing Graph.Core = Core sharing Graph.IntGrammar = Core.IntGrammar = Look.IntGrammar = IntGrammar) : LALR_GRAPH = struct open Array List infix 9 sub open IntGrammar.Grammar IntGrammar Core Graph Look structure Graph = Graph structure Core = Core structure Grammar = IntGrammar.Grammar structure IntGrammar = IntGrammar datatype tmpcore = TMPCORE of (item * term list ref) list * int datatype lcore = LCORE of (item * term list) list * int val prLcore = fn a as (SymbolToString,nontermToString,termToString,print) => let val printItem = prItem (SymbolToString,nontermToString,print) val printLookahead = prLook(termToString,print) in fn (LCORE (items,state)) => (print "\n"; print "state "; print (Int.toString state); print " :\n\n"; List.app (fn (item,lookahead) => (print "{"; printItem item; print ","; printLookahead lookahead; print "}\n")) items) end exception Lalr of int structure ItemList = ListOrdSet (struct type elem = item * term list ref val eq = fn ((a,_),(b,_)) => eqItem(a,b) val gt = fn ((a,_),(b,_)) => gtItem(a,b) end) structure NontermSet = ListOrdSet (struct type elem = nonterm val gt = gtNonterm val eq = eqNonterm end) (* NTL: nonterms with lookahead *) structure NTL = RbOrdSet (struct type elem = nonterm * term list val gt = fn ((i,_),(j,_)) => gtNonterm(i,j) val eq = fn ((i,_),(j,_)) => eqNonterm(i,j) end) val DEBUG = false val addLookahead = fn {graph,nullable,first,eop, rules,produces,nonterms,epsProds, print,termToString,nontermToString} => let val eop = Look.make_set eop val symbolToString = fn (TERM t) => termToString t | (NONTERM t) => nontermToString t val print = if DEBUG then print else fn _ => () val prLook = if DEBUG then prLook (termToString,print) else fn _ => () val prNonterm = print o nontermToString val prRule = if DEBUG then prRule(symbolToString,nontermToString,print) else fn _ => () val printInt = print o (Int.toString : int -> string) val printItem = prItem(symbolToString,nontermToString,print) (* look_pos: position in the rhs of a rule at which we should start placing lookahead ref cells, i.e. the minimum place at which A -> x .B y, where B is a nonterminal and y =*=> epsilon, or A -> x. is true. Positions are given by the number of symbols before the place. The place before the first symbol is 0, etc. *) val look_pos = let val positions = array(length rules,0) (* rule_pos: calculate place in the rhs of a rule at which we should start placing lookahead ref cells *) val rule_pos = fn (RULE {rhs,...}) => case (rev rhs) of nil => 0 | (TERM t) :: r => length rhs | (l as (NONTERM n) :: r) => (* f assumes that everything after n in the rule has proven to be nullable so far. Remember that the rhs has been reversed, implying that this is true initially *) (* A -> .z t B y, where y is nullable *) let fun f (NONTERM b :: (r as (TERM _ :: _))) = (length r) (* A -> .z B C y *) | f (NONTERM c :: (r as (NONTERM b :: _))) = if nullable c then f r else (length r) (* A -> .B y, where y is nullable *) | f (NONTERM b :: nil) = 0 in f l end val check_rule = fn (rule as RULE {num,...}) => let val pos = rule_pos rule in (print "look_pos: "; prRule rule; print " = "; printInt pos; print "\n"; update(positions,num,rule_pos rule)) end in app check_rule rules; fn RULE{num,...} => (positions sub num) end (* rest_is_null: true for items of the form A -> x .B y, where y is nullable *) val rest_is_null = fn (ITEM{rule,dot, rhsAfter=NONTERM _ :: _}) => dot >= (look_pos rule) | _ => false (* map core to a new core including only items of the form A -> x. or A -> x. B y, where y =*=> epsilon. It also adds epsilon productions to the core. Each item is given a ref cell to hold the lookahead nonterminals for it.*) val map_core = let val f = fn (item as ITEM {rhsAfter=nil,...},r) => (item,ref nil) :: r | (item,r) => if (rest_is_null item) then (item,ref nil)::r else r in fn (c as CORE (items,state)) => let val epsItems = map (fn rule=>(ITEM{rule=rule,dot=0,rhsAfter=nil}, ref (nil : term list)) ) (epsProds c) in TMPCORE(ItemList.union(List.foldr f [] items,epsItems),state) end end val new_nodes = map map_core (nodes graph) exception Find (* findRef: state * item -> lookahead ref cell for item *) val findRef = let val states = Array.fromList new_nodes val dummy = ref nil in fn (state,item) => let val TMPCORE (l,_) = states sub state in case ItemList.find((item,dummy),l) of SOME (_,look_ref) => look_ref | NONE => (print "find failed: state "; printInt state; print "\nitem =\n"; printItem item; print "\nactual items =\n"; app (fn (i,_) => (printItem i; print "\n")) l; raise Find) end end (* findRuleRefs: state -> rule -> lookahead refs for rule. *) val findRuleRefs = let val shift = shift graph in fn state => (* handle epsilon productions *) fn (rule as RULE {rhs=nil,...}) => [findRef(state,ITEM{rule=rule,dot=0,rhsAfter=nil})] | (rule as RULE {rhs=sym::rest,...}) => let val pos = Int.max(look_pos rule,1) fun scan'(state,nil,pos,result) = findRef(state,ITEM{rule=rule, dot=pos, rhsAfter=nil}) :: result | scan'(state,rhs as sym::rest,pos,result) = scan'(shift(state,sym), rest, pos+1, findRef(state,ITEM{rule=rule, dot=pos, rhsAfter=rhs})::result) (* find first item of the form A -> x .B y, where y =*=> epsilon and x is not epsilon, or A -> x. use scan' to pick up all refs after this point *) fun scan(state,nil,_) = [findRef(state,ITEM{rule=rule,dot=pos,rhsAfter=nil})] | scan(state,rhs,0) = scan'(state,rhs,pos,nil) | scan(state,sym::rest,place) = scan(shift(state,sym),rest,place-1) in scan(shift(state,sym),rest,pos-1) end end (* function to compute for some nonterminal n the set of nonterminals A added through the closure of nonterminal n such that n =c*=> .A x, where x is nullable *) val nonterms_w_null = fn nt => let val collect_nonterms = fn n => List.foldr (fn (rule as RULE {rhs=rhs as NONTERM n :: _,...},r) => (case (rest_is_null(ITEM {dot=0,rhsAfter=rhs,rule=rule})) of true => n :: r | false => r) | (_,r) => r) [] (produces n) fun dfs(a as (n,r)) = if (NontermSet.exists a) then r else List.foldr dfs (NontermSet.insert(n,r)) (collect_nonterms n) in dfs(nt,NontermSet.empty) end val nonterms_w_null = let val data = array(nonterms,NontermSet.empty) fun f n = if n=nonterms then () else (update(data,n,nonterms_w_null (NT n)); f (n+1)) in (f 0; fn (NT nt) => data sub nt) end (* look_info: for some nonterminal n the set of nonterms A added through the closure of the nonterminal such that n =c+=> .Ax and the lookahead accumlated for each nonterm A *) val look_info = fn nt => let val collect_nonterms = fn n => List.foldr (fn (RULE {rhs=NONTERM n :: t,...},r) => (case NTL.find ((n,nil),r) of SOME (key,data) => NTL.insert((n,Look.union(data,first t)),r) | NONE => NTL.insert ((n,first t),r)) | (_,r) => r) NTL.empty (produces n) fun dfs(a as ((key1,data1),r)) = case (NTL.find a) of SOME (_,data2) => NTL.insert((key1,Look.union(data1,data2)),r) | NONE => NTL.fold dfs (collect_nonterms key1) (NTL.insert a) in dfs((nt,nil),NTL.empty) end val look_info = if not DEBUG then look_info else fn nt => (print "look_info of "; prNonterm nt; print "=\n"; let val info = look_info nt in (NTL.app (fn (nt,lookahead) => (prNonterm nt; print ": "; prLook lookahead; print "\n\n")) info; info) end) (* prop_look: propagate lookaheads for nonterms added in the closure of a nonterm. Lookaheads must be propagated from each nonterminal m to all nonterminals { n | m =c+=> nx, where x=*=>epsilon} *) val prop_look = fn ntl => let val upd_lookhd = fn new_look => fn (nt,r) => case NTL.find ((nt,new_look),r) of SOME (_,old_look) => NTL.insert((nt, Look.union(new_look,old_look)),r) | NONE => raise (Lalr 241) val upd_nonterm = fn ((nt,look),r) => NontermSet.fold (upd_lookhd look) (nonterms_w_null nt) r in NTL.fold upd_nonterm ntl ntl end val prop_look = if not DEBUG then prop_look else fn ntl => (print "prop_look =\n"; let val info = prop_look ntl in (NTL.app (fn (nt,lookahead) => (prNonterm nt; print ": "; prLook lookahead; print "\n\n")) info; info) end) (* now put the information from these functions together. Create a function which takes a nonterminal n and returns a list of triplets of (a nonterm added through closure, the lookahead for the nonterm, whether the nonterm should include the lookahead for the nonterminal whose closure is being taken (i.e. first(y) for an item j of the form A -> x .n y and lookahead(j) if y =*=> epsilon) *) val closure_nonterms = let val data = array(nonterms,nil: (nonterm * term list * bool) list) val do_nonterm = fn i => let val nonterms_followed_by_null = nonterms_w_null i val nonterms_added_through_closure = NTL.make_list (prop_look (look_info i)) val result = map (fn (nt,l) => (nt,l,NontermSet.exists (nt,nonterms_followed_by_null)) ) nonterms_added_through_closure in if DEBUG then (print "closure_nonterms = "; prNonterm i; print "\n"; app (fn (nt,look,nullable) => (prNonterm nt; print ":"; prLook look; case nullable of false => print "(false)\n" | true => print "(true)\n")) result; print "\n") else (); result end fun f i = if i=nonterms then () else (update(data,i,do_nonterm (NT i)); f (i+1)) val _ = f 0 in fn (NT i) => data sub i end (* add_nonterm_lookahead: Add lookahead to all completion items for rules added when the closure of a given nonterm in some state is taken. It returns a list of lookahead refs to which the given nonterm's lookahead should be propagated. For each rule, it must trace the shift/gotos in the LR(0) graph to find all items of the form A-> x .B y where y =*=> epsilon or A -> x. *) val add_nonterm_lookahead = fn (nt,state) => let val f = fn ((nt,lookahead,nullable),r) => let val refs = map (findRuleRefs state) (produces nt) val refs = List.concat refs val _ = app (fn r => r := (Look.union (!r,lookahead))) refs in if nullable then refs @ r else r end in List.foldr f [] (closure_nonterms nt) end (* scan_core: Scan a core for all items of the form A -> x .B y. Applies add_nonterm_lookahead to each such B, and then merges first(y) into the list of refs returned by add_nonterm_lookahead. It returns a list of ref * ref list for all the items where y =*=> epsilon *) val scan_core = fn (CORE (l,state)) => let fun f ((item as ITEM{rhsAfter= NONTERM b :: y, dot,rule})::t,r) = (case (add_nonterm_lookahead(b,state)) of nil => r | l => let val first_y = first y val newr = if dot >= (look_pos rule) then (findRef(state,item),l)::r else r in (app (fn r => r := Look.union(!r,first_y)) l; f (t,newr)) end) | f (_ :: t,r) = f (t,r) | f (nil,r) = r in f (l,nil) end (* add end-of-parse symbols to set of items consisting of all items immediately derived from the start symbol *) val add_eop = fn (c as CORE (l,state),eop) => let fun f (item as ITEM {rule,dot,...}) = let val refs = findRuleRefs state rule in (* first take care of kernal items. Add the end-of-parse symbols to the lookahead sets for these items. Epsilon productions of the start symbol do not need to be handled specially because they will be in the kernal also *) app (fn r => r := Look.union(!r,eop)) refs; (* now take care of closure items. These are all nonterminals C which have a derivation S =+=> .C x, where x is nullable *) if dot >= (look_pos rule) then case item of ITEM{rhsAfter=NONTERM b :: _,...} => (case add_nonterm_lookahead(b,state) of nil => () | l => app (fn r => r := Look.union(!r,eop)) l) | _ => () else () end in app f l end val iterate = fn l => let fun f lookahead (nil,done) = done | f lookahead (h::t,done) = let val old = !h in h := Look.union (old,lookahead); if (length (!h)) <> (length old) then f lookahead (t,false) else f lookahead(t,done) end fun g ((from,to)::rest,done) = let val new_done = f (!from) (to,done) in g (rest,new_done) end | g (nil,done) = done fun loop true = () | loop false = loop (g (l,true)) in loop false end val lookahead = List.concat (map scan_core (nodes graph)) (* used to scan the item list of a TMPCORE and remove the items not being reduced *) val create_lcore_list = fn ((item as ITEM {rhsAfter=nil,...},ref l),r) => (item,l) :: r | (_,r) => r in add_eop(Graph.core graph 0,eop); iterate lookahead; map (fn (TMPCORE (l,state)) => LCORE (List.foldr create_lcore_list [] l, state)) new_nodes end end; smlsharp-1.2.0/benchmark/benchmarks/mlyacc/link.smi0000644 000000000000000000000062012050661606022467 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "lrtable.smi" _require "join.smi" _require "parser2.smi" _require "hdr.smi" _require "yacc.grm.smi" _require "yacc.lex.smi" _require "parse.smi" _require "grammar.smi" _require "mklrtable.smi" _require "mkprstruct.smi" _require "verbose.smi" _require "shrink.smi" _require "absyn.smi" _require "yacc.smi" structure ParseGen = struct val parseGen : string -> unit end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/link.sml0000644 000000000000000000000321312050661606022473 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi * * $Log$ * Revision 1.1.1.1 1996/01/31 16:01:45 george * Version 109 * *) local (* create parser *) structure LrVals = MlyaccLrValsFun(structure Token = LrParser.Token structure Hdr = Header) structure Lex = LexMLYACC(structure Tokens = LrVals.Tokens structure Hdr = Header) structure Parser = JoinWithArg(structure Lex=Lex structure ParserData = LrVals.ParserData structure LrParser= LrParser) structure ParseGenParser = ParseGenParserFun(structure Parser = Parser structure Header = Header) (* create structure for computing LALR table from a grammar *) structure MakeLrTable = mkMakeLrTable(structure IntGrammar =IntGrammar structure LrTable = LrTable) (* create structures for printing LALR tables: Verbose prints a verbose description of an lalr table PrintStruct prints an ML structure representing that is an lalr table *) structure Verbose = mkVerbose(structure Errs = MakeLrTable.Errs) structure PrintStruct = mkPrintStruct(structure LrTable = MakeLrTable.LrTable structure ShrinkLrTable = ShrinkLrTableFun(structure LrTable=LrTable)) in (* returns function which takes a file name, invokes the parser on the file, does semantic checks, creates table, and prints it *) structure ParseGen = ParseGenFun(structure ParseGenParser = ParseGenParser structure MakeTable = MakeLrTable structure Verbose = Verbose structure PrintStruct = PrintStruct structure Absyn = Absyn) end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/LOG0000644 000000000000000000000001712050661606021364 0ustar00rootroot0000000 0000000 Compiles=[ smlsharp-1.2.0/benchmark/benchmarks/mlyacc/look.smi0000644 000000000000000000001310712050661606022502 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "base.sig" _require "lrtable.smi" _require "utils.smi" _require "utils.sig" _require "sigs.sml" functor mkLook ( A : sig structure IntGrammar : sig structure Grammar : sig datatype term = T of int datatype nonterm = NT of int datatype symbol = TERM of term | NONTERM of nonterm datatype grammar = GRAMMAR of {rules: {lhs : nonterm, rhs : symbol list, precedence : int option, rulenum : int} list, terms: int, nonterms: int, start : nonterm, eop : term list, noshift : term list, precedence : term -> int option, termToString : term -> string, nontermToString : nonterm -> string} end structure SymbolAssoc : sig type 'a table type key val size : 'a table -> int val empty: 'a table val exists: (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc : sig type 'a table type key val size : 'a table -> int val empty: 'a table val exists: (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end sharing type SymbolAssoc.key = Grammar.symbol sharing type NontermAssoc.key = Grammar.nonterm datatype rule = RULE of {lhs : Grammar.nonterm, rhs : Grammar.symbol list, num : int, rulenum : int, precedence : int option} val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string)*(Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end end ) = struct structure Grammar = struct datatype term = datatype A.IntGrammar.Grammar.term datatype nonterm = datatype A.IntGrammar.Grammar.nonterm datatype symbol = datatype A.IntGrammar.Grammar.symbol datatype grammar = datatype A.IntGrammar.Grammar.grammar end structure IntGrammar = struct structure Grammar = struct datatype term = datatype A.IntGrammar.Grammar.term datatype nonterm = datatype A.IntGrammar.Grammar.nonterm datatype symbol = datatype A.IntGrammar.Grammar.symbol datatype grammar = datatype A.IntGrammar.Grammar.grammar end structure SymbolAssoc = struct type 'a table = 'a A.IntGrammar.SymbolAssoc.table type key = A.IntGrammar.SymbolAssoc.key val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc = struct type 'a table = 'a A.IntGrammar.NontermAssoc.table type key = A.IntGrammar.NontermAssoc.key val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end datatype rule = datatype A.IntGrammar.rule val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end val union : Grammar.term list * Grammar.term list -> Grammar.term list val make_set : Grammar.term list -> Grammar.term list val mkFuncs : {rules : IntGrammar.rule list, nonterms : int, produces : Grammar.nonterm -> IntGrammar.rule list} -> {nullable: Grammar.nonterm -> bool, first : Grammar.symbol list -> Grammar.term list} val prLook : (Grammar.term -> string) * (string -> unit) -> Grammar.term list -> unit end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/look.sml0000644 000000000000000000001203212050661606022501 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi * * $Log$ * Revision 1.1.1.1 1996/01/31 16:01:46 george * Version 109 * *) functor mkLook (structure IntGrammar : INTGRAMMAR) : LOOK = struct open Array List infix 9 sub structure Grammar = IntGrammar.Grammar structure IntGrammar = IntGrammar open Grammar IntGrammar structure TermSet = ListOrdSet (struct type elem = term val eq = eqTerm val gt = gtTerm end) val union = TermSet.union val make_set = TermSet.make_set val prLook = fn (termToString,print) => let val printTerm = print o termToString fun f nil = print " " | f (a :: b) = (printTerm a; print " "; f b) in f end structure NontermSet = ListOrdSet (struct type elem = nonterm val eq = eqNonterm val gt = gtNonterm end) val mkFuncs = fn {rules : rule list, nonterms : int, produces : nonterm -> rule list} => let (* nullable: create a function which tells if a nonterminal is nullable or not. Method: Keep an array of booleans. The nth entry is true if NT i is nullable. If is false if we don't know whether NT i is nullable. Keep a list of rules whose remaining rhs we must prove to be null. First, scan the list of rules and remove those rules whose rhs contains a terminal. These rules are not nullable. Now iterate through the rules that were left: (1) if there is no remaining rhs we have proved that the rule is nullable, mark the nonterminal for the rule as nullable (2) if the first element of the remaining rhs is nullable, place the rule back on the list with the rest of the rhs (3) if we don't know whether the nonterminal is nullable, place it back on the list (4) repeat until the list does not change. We have found all the possible nullable rules. *) val nullable = let fun ok_rhs nil = true | ok_rhs ((TERM _)::_) = false | ok_rhs ((NONTERM i)::r) = ok_rhs r fun add_rule (RULE {lhs,rhs,...},r) = if ok_rhs rhs then (lhs,map (fn (NONTERM (NT i)) => i) rhs)::r else r val items = List.foldr add_rule [] rules val nullable = array(nonterms,false) val f = fn ((NT i,nil),(l,_)) => (update(nullable,i,true); (l,true)) | (a as (lhs,(h::t)),(l,change)) => case (nullable sub h) of false => (a::l,change) | true => ((lhs,t)::l,true) fun prove(l,true) = prove(List.foldr f (nil,false) l) | prove(_,false) = () in (prove(items,true); fn (NT i) => nullable sub i) end (* scanRhs : look at a list of symbols, scanning past nullable nonterminals, applying addSymbol to the symbols scanned *) fun scanRhs addSymbol = let fun f (nil,result) = result | f ((sym as NONTERM nt) :: rest,result) = if nullable nt then f (rest,addSymbol(sym,result)) else addSymbol(sym,result) | f ((sym as TERM _) :: _,result) = addSymbol(sym,result) in f end (* accumulate: look at the start of the right-hand-sides of rules, looking past nullable nonterminals, applying addObj to the visible symbols. *) fun accumulate(rules, empty, addObj) = List.foldr (fn (RULE {rhs,...},r) =>(scanRhs addObj) (rhs,r)) empty rules val nontermMemo = fn f => let val lookup = array(nonterms,nil) fun g i = if i=nonterms then () else (update(lookup,i,f (NT i)); g (i+1)) in (g 0; fn (NT j) => lookup sub j) end (* first1: the FIRST set of a nonterminal in the grammar. Only looks at other terminals, but it is clever enough to move past nullable nonterminals at the start of a production. *) fun first1 nt = accumulate(produces nt, TermSet.empty, fn (TERM t, set) => TermSet.insert (t,set) | (_, set) => set) val first1 = nontermMemo(first1) (* starters1: given a nonterminal "nt", return the set of nonterminals which can start its productions. Looks past nullables, but doesn't recurse *) fun starters1 nt = accumulate(produces nt, nil, fn (NONTERM nt, set) => NontermSet.insert(nt,set) | (_, set) => set) val starters1 = nontermMemo(starters1) (* first: maps a nonterminal to its first-set. Get all the starters of the nonterminal, get the first1 terminal set of each of these, union the whole lot together *) fun first nt = List.foldr (fn (a,r) => TermSet.union(r,first1 a)) [] (NontermSet.closure (NontermSet.singleton nt, starters1)) val first = nontermMemo(first) (* prefix: all possible terminals starting a symbol list *) fun prefix symbols = scanRhs (fn (TERM t,r) => TermSet.insert(t,r) | (NONTERM nt,r) => TermSet.union(first nt,r)) (symbols,nil) fun nullable_string ((TERM t) :: r) = false | nullable_string ((NONTERM nt) :: r) = (case (nullable nt) of true => nullable_string r | f => f) | nullable_string nil = true in {nullable = nullable, first = prefix} end end; smlsharp-1.2.0/benchmark/benchmarks/mlyacc/lrtable.smi0000644 000000000000000000000164112050661606023163 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "base.sig" structure LrTable = struct datatype ('a, 'b) pairlist = EMPTY | PAIR of 'a * 'b * ('a, 'b) pairlist datatype state = STATE of int datatype term = T of int datatype nonterm = NT of int datatype action = SHIFT of state | REDUCE of int | ACCEPT | ERROR type table (= boxed) val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term, action) pairlist * action val describeGoto : table -> state -> (nonterm, state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto of state * nonterm val mkLrTable : {actions : ((term, action) pairlist * action) array, gotos : (nonterm, state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/lrtable.sml0000644 000000000000000000000400412050661606023162 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi * * $Log$ * Revision 1.1.1.1 1996/01/31 16:01:42 george * Version 109 * *) structure LrTable : LR_TABLE = struct open Array List infix 9 sub datatype ('a,'b) pairlist = EMPTY | PAIR of 'a * 'b * ('a,'b) pairlist datatype term = T of int datatype nonterm = NT of int datatype state = STATE of int datatype action = SHIFT of state | REDUCE of int (* rulenum from grammar *) | ACCEPT | ERROR exception Goto of state * nonterm type table = {states: int, rules : int,initialState: state, action: ((term,action) pairlist * action) array, goto : (nonterm,state) pairlist array} val numStates = fn ({states,...} : table) => states val numRules = fn ({rules,...} : table) => rules val describeActions = fn ({action,...} : table) => fn (STATE s) => action sub s val describeGoto = fn ({goto,...} : table) => fn (STATE s) => goto sub s fun findTerm (T term,row,default) = let fun find (PAIR (T key,data,r)) = if key < term then find r else if key=term then data else default | find EMPTY = default in find row end fun findNonterm (NT nt,row) = let fun find (PAIR (NT key,data,r)) = if key < nt then find r else if key=nt then SOME data else NONE | find EMPTY = NONE in find row end val action = fn ({action,...} : table) => fn (STATE state,term) => let val (row,default) = action sub state in findTerm(term,row,default) end val goto = fn ({goto,...} : table) => fn (a as (STATE state,nonterm)) => case findNonterm(nonterm,goto sub state) of SOME state => state | NONE => raise (Goto a) val initialState = fn ({initialState,...} : table) => initialState val mkLrTable = fn {actions,gotos,initialState,numStates,numRules} => ({action=actions,goto=gotos, states=numStates, rules=numRules, initialState=initialState} : table) end; smlsharp-1.2.0/benchmark/benchmarks/mlyacc/main.smi0000644 000000000000000000000021212050661606022453 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "./link.smi" structure Main = struct val doit : unit -> unit val testit : TextIO.outstream -> unit end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/main.sml0000644 000000000000000000000031112050661606022456 0ustar00rootroot0000000 0000000 (* main.sml *) structure Main (*: BMARK*) = struct val s = OS.FileSys.getDir() fun doit() = ParseGen.parseGen(s^"/DATA/ml.grm") fun testit _ = ParseGen.parseGen(s^"/DATA/ml.grm") end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/mklrtable.smi0000644 000000000000000000001527712050661606023525 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "base.sig" _require "utils.smi" _require "core.smi" _require "coreutils.smi" _require "graph.smi" _require "look.smi" _require "lalr.smi" _require "utils.sig" _require "sigs.sml" functor mkMakeLrTable ( A : sig structure IntGrammar : sig structure Grammar : sig datatype term = T of int datatype nonterm = NT of int datatype symbol = TERM of term | NONTERM of nonterm datatype grammar = GRAMMAR of {rules: {lhs : nonterm, rhs : symbol list, precedence : int option, rulenum : int} list, terms: int, nonterms: int, start : nonterm, eop : term list, noshift : term list, precedence : term -> int option, termToString : term -> string, nontermToString : nonterm -> string} end structure SymbolAssoc : sig type 'a table type key val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc : sig type 'a table type key val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end sharing type SymbolAssoc.key = Grammar.symbol sharing type NontermAssoc.key = Grammar.nonterm datatype rule = RULE of {lhs : Grammar.nonterm, rhs : Grammar.symbol list, num : int, rulenum : int, precedence : int option} val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end structure LrTable : sig datatype ('a,'b) pairlist = EMPTY | PAIR of 'a * 'b * ('a,'b) pairlist datatype state = STATE of int datatype term = T of int datatype nonterm = NT of int datatype action = SHIFT of state | REDUCE of int | ACCEPT | ERROR type table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto of state * nonterm val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end sharing type LrTable.term = IntGrammar.Grammar.term sharing type LrTable.nonterm = IntGrammar.Grammar.nonterm end ) = struct structure Grammar = struct datatype term = datatype A.IntGrammar.Grammar.term datatype nonterm = datatype A.IntGrammar.Grammar.nonterm datatype symbol = datatype A.IntGrammar.Grammar.symbol datatype grammar = datatype A.IntGrammar.Grammar.grammar end structure Errs = struct structure LrTable = struct datatype pairlist = datatype A.LrTable.pairlist datatype state = datatype A.LrTable.state datatype term = datatype A.LrTable.term datatype nonterm = datatype A.LrTable.nonterm datatype action = datatype A.LrTable.action type table = A.LrTable.table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto = A.LrTable.Goto val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end datatype err = RR of LrTable.term * LrTable.state * int * int | SR of LrTable.term * LrTable.state * int | NS of LrTable.term * int | NOT_REDUCED of int | START of int val summary : err list -> {rr : int, sr: int, not_reduced : int, start : int,nonshift : int} val printSummary : (string -> unit) -> err list -> unit end structure LrTable = struct datatype pairlist = datatype A.LrTable.pairlist datatype state = datatype A.LrTable.state datatype term = datatype A.LrTable.term datatype nonterm = datatype A.LrTable.nonterm datatype action = datatype A.LrTable.action type table = A.LrTable.table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto = A.LrTable.Goto val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end val mkTable : Grammar.grammar * bool -> LrTable.table * (LrTable.state -> Errs.err list) * ((string -> unit) -> LrTable.state -> unit) * Errs.err list end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/mklrtable.sml0000644 000000000000000000003207212050661606023520 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi * * $Log$ * Revision 1.3 1996/05/31 14:05:01 dbm * Rewrote definition of convert_to_pairlist to conform to value restriction. * * Revision 1.2 1996/02/26 15:02:36 george * print no longer overloaded. * use of makestring has been removed and replaced with Int.toString .. * use of IO replaced with TextIO * * Revision 1.1.1.1 1996/01/31 16:01:46 george * Version 109 * *) functor mkMakeLrTable (structure IntGrammar : INTGRAMMAR structure LrTable : LR_TABLE sharing type LrTable.term = IntGrammar.Grammar.term sharing type LrTable.nonterm = IntGrammar.Grammar.nonterm ) : MAKE_LR_TABLE = struct open Array List infix 9 sub structure Core = mkCore(structure IntGrammar = IntGrammar) structure CoreUtils = mkCoreUtils(structure IntGrammar = IntGrammar structure Core = Core) structure Graph = mkGraph(structure IntGrammar = IntGrammar structure Core = Core structure CoreUtils = CoreUtils) structure Look = mkLook(structure IntGrammar = IntGrammar) structure Lalr = mkLalr(structure IntGrammar = IntGrammar structure Core = Core structure Graph = Graph structure Look = Look) structure LrTable = LrTable structure IntGrammar = IntGrammar structure Grammar = IntGrammar.Grammar structure GotoList = ListOrdSet (struct type elem = Grammar.nonterm * LrTable.state val eq = fn ((Grammar.NT a,_),(Grammar.NT b,_)) => a=b val gt = fn ((Grammar.NT a,_),(Grammar.NT b,_)) => a>b end) structure Errs : LR_ERRS = struct structure LrTable = LrTable datatype err = RR of LrTable.term * LrTable.state * int * int | SR of LrTable.term * LrTable.state * int | NOT_REDUCED of int | NS of LrTable.term * int | START of int val summary = fn l => let val numRR = ref 0 val numSR = ref 0 val numSTART = ref 0 val numNOT_REDUCED = ref 0 val numNS = ref 0 fun loop (h::t) = (case h of RR _ => numRR := !numRR+1 | SR _ => numSR := !numSR+1 | START _ => numSTART := !numSTART+1 | NOT_REDUCED _ => numNOT_REDUCED := !numNOT_REDUCED+1 | NS _ => numNS := !numNS+1; loop t) | loop nil = {rr = !numRR, sr = !numSR, start = !numSTART, not_reduced = !numNOT_REDUCED, nonshift = !numNS} in loop l end val printSummary = fn say => fn l => let val {rr,sr,start, not_reduced,nonshift} = summary l val say_plural = fn (i,s) => (say (Int.toString i); say " "; case i of 1 => (say s) | _ => (say s; say "s")) val say_error = fn (args as (i,s)) => case i of 0 => () | i => (say_plural args; say "\n") in say_error(rr,"reduce/reduce conflict"); say_error(sr,"shift/reduce conflict"); if nonshift<>0 then (say "non-shiftable terminal used on the rhs of "; say_plural(start,"rule"); say "\n") else (); if start<>0 then (say "start symbol used on the rhs of "; say_plural(start,"rule"); say "\n") else (); if not_reduced<>0 then (say_plural(not_reduced,"rule"); say " not reduced\n") else () end end open IntGrammar Grammar Errs LrTable Core (* rules for resolving conflicts: shift/reduce: If either the terminal or the rule has no precedence, a shift/reduce conflict is reported. A shift is chosen for the table. If both have precedences, the action with the higher precedence is chosen. If the precedences are equal, neither the shift nor the reduce is chosen. reduce/reduce: A reduce/reduce conflict is reported. The lowest numbered rule is chosen for reduction. *) (* method for filling tables - first compute the reductions called for in a state, then add the shifts for the state to this information. How to compute the reductions: A reduction initially is given as an item and a lookahead set calling for reduction by that item. The first reduction is mapped to a list of terminal * rule pairs. Each additional reduction is then merged into this list and reduce/reduce conflicts are resolved according to the rule given. Missed Errors: This method misses some reduce/reduce conflicts that exist because some reductions are removed from the list before conflicting reductions can be compared against them. All reduce/reduce conflicts, however, can be generated given a list of the reduce/reduce conflicts generated by this method. This can be done by taking the transitive closure of the relation given by the list. If reduce/reduce (a,b) and reduce/reduce (b,c) are true, then reduce/reduce (a,c) is true. The relation is symmetric and transitive. Adding shifts: Finally scan the list merging in shifts and resolving conflicts according to the rule given. Missed Shift/Reduce Errors: Some errors may be missed by this method because some reductions were removed as the result of reduce/reduce conflicts. For a shift/reduce conflict of term a, reduction by rule n, shift/reduce conficts exist for all rules y such that reduce/reduce (x,y) or reduce/reduce (y,x) is true. *) val mergeReduces = let val merge = fn state => let fun f (j as (pair1 as (T t1,action1)) :: r1, k as (pair2 as (T t2,action2)) :: r2,result,errs) = if t1 < t2 then f(r1,k,pair1::result,errs) else if t1 > t2 then f(j,r2,pair2::result,errs) else let val REDUCE num1 = action1 val REDUCE num2 = action2 val errs = RR(T t1,state,num1,num2) :: errs val action = if num1 < num2 then pair1 else pair2 in f(r1,r2,action::result,errs) end | f (nil,nil,result,errs) = (rev result,errs) | f (pair1::r,nil,result,errs) = f(r,nil,pair1::result,errs) | f (nil,pair2 :: r,result,errs) = f(nil,r,pair2::result,errs) in f end in fn state => fn ((ITEM {rule=RULE {rulenum,...},...}, lookahead), (reduces,errs)) => let val action = REDUCE rulenum val actions = map (fn a=>(a,action)) lookahead in case reduces of nil => (actions,errs) | _ => merge state (reduces,actions,nil,errs) end end val computeActions = fn (rules,precedence,graph,defaultReductions) => let val rulePrec = let val precData = array(length rules,NONE : int option) in app (fn RULE {rulenum=r,precedence=p,...} => update(precData,r,p)) rules; fn i => precData sub i end fun mergeShifts(state,shifts,nil) = (shifts,nil) | mergeShifts(state,nil,reduces) = (reduces,nil) | mergeShifts(state,shifts,reduces) = let fun f(shifts as (pair1 as (T t1,_)) :: r1, reduces as (pair2 as (T t2,action)) :: r2, result,errs) = if t1 < t2 then f(r1,reduces,pair1 :: result,errs) else if t1 > t2 then f(shifts,r2,pair2 :: result,errs) else let val REDUCE rulenum = action val (term1,_) = pair1 in case (precedence term1,rulePrec rulenum) of (SOME i,SOME j) => if i>j then f(r1,r2,pair1 :: result,errs) else if j>i then f(r1,r2,pair2 :: result,errs) else f(r1,r2,(T t1, ERROR)::result,errs) | (_,_) => f(r1,r2,pair1 :: result, SR (term1,state,rulenum)::errs) end | f (nil,nil,result,errs) = (rev result,errs) | f (nil,h::t,result,errs) = f (nil,t,h::result,errs) | f (h::t,nil,result,errs) = f (t,nil,h::result,errs) in f(shifts,reduces,nil,nil) end fun mapCore ({edge=symbol,to=CORE (_,state)}::r,shifts,gotos) = (case symbol of (TERM t) => mapCore (r,(t,SHIFT(STATE state))::shifts,gotos) | (NONTERM nt) => mapCore(r,shifts,(nt,STATE state)::gotos) ) | mapCore (nil,shifts,gotos) = (rev shifts,rev gotos) fun pruneError ((_,ERROR)::rest) = pruneError rest | pruneError (a::rest) = a :: pruneError rest | pruneError nil = nil in fn (Lalr.LCORE (reduceItems,state),c as CORE (shiftItems,state')) => if DEBUG andalso (state <> state') then let exception MkTable in raise MkTable end else let val (shifts,gotos) = mapCore (Graph.edges(c,graph),nil,nil) val tableState = STATE state in case reduceItems of nil => ((shifts,ERROR),gotos,nil) | h :: nil => let val (ITEM {rule=RULE {rulenum,...},...}, l) = h val (reduces,_) = mergeReduces tableState (h,(nil,nil)) val (actions,errs) = mergeShifts(tableState, shifts,reduces) val actions' = pruneError actions val (actions,default) = let fun hasReduce (nil,actions) = (rev actions,REDUCE rulenum) | hasReduce ((a as (_,SHIFT _)) :: r,actions) = hasReduce(r,a::actions) | hasReduce (_ :: r,actions) = hasReduce(r,actions) fun loop (nil,actions) = (rev actions,ERROR) | loop ((a as (_,SHIFT _)) :: r,actions) = loop(r,a::actions) | loop ((a as (_,REDUCE _)) :: r,actions) = hasReduce(r,actions) | loop (_ :: r,actions) = loop(r,actions) in if defaultReductions andalso length actions = length actions' then loop(actions,nil) else (actions',ERROR) end in ((actions,default), gotos,errs) end | l => let val (reduces,errs1) = List.foldr (mergeReduces tableState) (nil,nil) l val (actions,errs2) = mergeShifts(tableState,shifts,reduces) in ((pruneError actions,ERROR),gotos,errs1@errs2) end end end val mkTable = fn (grammar as GRAMMAR{rules,terms,nonterms,start, precedence,termToString,noshift, nontermToString,eop},defaultReductions) => let val symbolToString = fn (TERM t) => termToString t | (NONTERM nt) => nontermToString nt val {rules,graph,produces,epsProds,...} = Graph.mkGraph grammar val {nullable,first} = Look.mkFuncs{rules=rules,produces=produces,nonterms=nonterms} val lcores = Lalr.addLookahead {graph=graph, nullable=nullable, produces=produces, eop=eop, nonterms=nonterms, first=first, rules=rules, epsProds=epsProds, print=(fn s=>TextIO.output(TextIO.stdOut,s)), termToString = termToString, nontermToString = nontermToString} fun zip (h::t,h'::t') = (h,h') :: zip(t,t') | zip (nil,nil) = nil | zip _ = let exception MkTable in raise MkTable end fun unzip l = let fun f ((a,b,c)::r,j,k,l) = f(r,a::j,b::k,c::l) | f (nil,j,k,l) = (rev j,rev k,rev l) in f(l,nil,nil,nil) end val (actions,gotos,errs) = let val doState = computeActions(rules,precedence,graph, defaultReductions) in unzip (map doState (zip(lcores,Graph.nodes graph))) end (* add goto from state 0 to a new state. The new state has accept actions for all of the end-of-parse symbols *) val (actions,gotos,errs) = case gotos of nil => (actions,gotos,errs) | h :: t => let val newStateActions = (map (fn t => (t,ACCEPT)) (Look.make_set eop),ERROR) val state0Goto = GotoList.insert((start,STATE (length actions)),h) in (actions @ [newStateActions], state0Goto :: (t @ [nil]), errs @ [nil]) end val startErrs = List.foldr (fn (RULE {rhs,rulenum,...},r) => if (exists (fn NONTERM a => a=start | _ => false) rhs) then START rulenum :: r else r) [] rules val nonshiftErrs = List.foldr (fn (RULE {rhs,rulenum,...},r) => (List.foldr (fn (nonshift,r) => if (exists (fn TERM a => a=nonshift | _ => false) rhs) then NS(nonshift,rulenum) :: r else r) r noshift) ) [] rules val notReduced = let val ruleReduced = array(length rules,false) val test = fn REDUCE i => update(ruleReduced,i,true) | _ => () val _ = app (fn (actions,default) => (app (fn (_,r) => test r) actions; test default) ) actions; fun scan (i,r) = if i >= 0 then scan(i-1, if ruleReduced sub i then r else NOT_REDUCED i :: r) else r in scan(Array.length ruleReduced-1,nil) end handle Subscript => (if DEBUG then print "rules not numbered correctly!" else (); nil) val numstates = length actions val allErrs = startErrs @ notReduced @ nonshiftErrs @ (List.concat errs) fun convert_to_pairlist(nil : ('a * 'b) list): ('a,'b) pairlist = EMPTY | convert_to_pairlist ((a,b) :: r) = PAIR(a,b,convert_to_pairlist r) in (mkLrTable {actions=Array.fromList(map (fn (a,b) => (convert_to_pairlist a,b)) actions), gotos=Array.fromList (map convert_to_pairlist gotos), numRules=length rules,numStates=length actions, initialState=STATE 0}, let val errArray = Array.fromList errs in fn (STATE state) => errArray sub state end, fn print => let val printCore = prCore(symbolToString,nontermToString,print) val core = Graph.core graph in fn STATE state => printCore (if state=(numstates-1) then Core.CORE (nil,state) else (core state)) end, allErrs) end end; smlsharp-1.2.0/benchmark/benchmarks/mlyacc/mkprstruct.smi0000644 000000000000000000000660712050661606023763 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "base.sig" _require "utils.sig" _require "sigs.sml" functor mkPrintStruct( A : sig structure LrTable : sig datatype ('a,'b) pairlist = EMPTY | PAIR of 'a * 'b * ('a,'b) pairlist datatype state = STATE of int datatype term = T of int datatype nonterm = NT of int datatype action = SHIFT of state | REDUCE of int | ACCEPT | ERROR type table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto of state * nonterm val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end structure ShrinkLrTable : sig structure LrTable : sig datatype ('a,'b) pairlist = EMPTY | PAIR of 'a * 'b * ('a,'b) pairlist datatype state = STATE of int datatype term = T of int datatype nonterm = NT of int datatype action = SHIFT of state | REDUCE of int | ACCEPT | ERROR type table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto of state * nonterm val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end val shrinkActionList : LrTable.table * bool -> (int * int list * ((LrTable.term,LrTable.action) LrTable.pairlist * LrTable.action) list) * int end sharing LrTable = ShrinkLrTable.LrTable end ) = struct structure LrTable = struct datatype pairlist = datatype A.LrTable.pairlist datatype state = datatype A.LrTable.state datatype term = datatype A.LrTable.term datatype nonterm = datatype A.LrTable.nonterm datatype action = datatype A.LrTable.action type table = A.LrTable.table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto = A.ShrinkLrTable.LrTable.Goto val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end val makeStruct : {table : LrTable.table, name : string, print: string -> unit, verbose : bool} -> int end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/mkprstruct.sml0000644 000000000000000000001545612050661606023770 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi * * $Log$ * Revision 1.2 1996/02/26 15:02:37 george * print no longer overloaded. * use of makestring has been removed and replaced with Int.toString .. * use of IO replaced with TextIO * * Revision 1.1.1.1 1996/01/31 16:01:46 george * Version 109 * *) functor mkPrintStruct(structure LrTable : LR_TABLE structure ShrinkLrTable : SHRINK_LR_TABLE sharing LrTable = ShrinkLrTable.LrTable):PRINT_STRUCT = struct open Array List infix 9 sub structure LrTable = LrTable open ShrinkLrTable LrTable (* lineLength = approximately the largest number of characters to allow on a line when printing out an encode string *) val lineLength = 72 (* maxLength = length of a table entry. All table entries are encoded using two 16-bit integers, one for the terminal number and the other for the entry. Each integer is printed as two characters (low byte, high byte), using the ML ascii escape sequence. We need 4 characters for each escape sequence and 16 characters for each entry *) val maxLength = 16 (* number of entries we can fit on a row *) val numEntries = lineLength div maxLength (* convert integer between 0 and 255 to the three character ascii decimal escape sequence for it *) val chr = let val lookup = Array.array(256,"\000") val intToString = fn i => if i>=100 then "\\" ^ (Int.toString i) else if i>=10 then "\\0" ^ (Int.toString i) else "\\00" ^ (Int.toString i) fun loop n = if n=256 then () else (Array.update(lookup,n,intToString n); loop (n+1)) in loop 0; fn i => lookup sub i end val makeStruct = fn {table,name,print,verbose} => let val states = numStates table val rules = numRules table fun printPairList (prEntry : 'a * 'b -> unit) l = let fun f (EMPTY,_) = () | f (PAIR(a,b,r),count) = if count >= numEntries then (print "\\\n\\"; prEntry(a,b); f(r,1)) else (prEntry(a,b); f(r,(count+1))) in f(l,0) end val printList : ('a -> unit) -> 'a list -> unit = fn prEntry => fn l => let fun f (nil,_) = () | f (a :: r,count) = if count >= numEntries then (print "\\\n\\"; prEntry a; f(r,1)) else (prEntry a; f(r,count+1)) in f(l,0) end val prEnd = fn _ => print "\\000\\000\\\n\\" fun printPairRow prEntry = let val printEntries = printPairList prEntry in fn l => (printEntries l; prEnd()) end fun printPairRowWithDefault (prEntry,prDefault) = let val f = printPairRow prEntry in fn (l,default) => (prDefault default; f l) end fun printTable (printRow,count) = (print "\"\\\n\\"; let fun f i = if i=count then () else (printRow i; f (i+1)) in f 0 end; print"\"\n") val printChar = print o chr (* print an integer between 0 and 2^16-1 as a 2-byte character, with the low byte first *) val printInt = fn i => (printChar (i mod 256); printChar (i div 256)) (* encode actions as integers: ACCEPT => 0 ERROR => 1 SHIFT i => 2 + i REDUCE rulenum => numstates+2+rulenum *) val printAction = fn (REDUCE rulenum) => printInt (rulenum+states+2) | (SHIFT (STATE i)) => printInt (i+2) | ACCEPT => printInt 0 | ERROR => printInt 1 val printTermAction = fn (T t,action) => (printInt (t+1); printAction action) val printGoto = fn (NT n,STATE s) => (printInt (n+1); printInt s) val ((rowCount,rowNumbers,actionRows),entries)= shrinkActionList(table,verbose) val getActionRow = let val a = Array.fromList actionRows in fn i => a sub i end val printGotoRow : int -> unit = let val f = printPairRow printGoto val g = describeGoto table in fn i => f (g (STATE i)) end val printActionRow = let val f = printPairRowWithDefault(printTermAction,printAction) in fn i => f (getActionRow i) end in print "val "; print name; print "="; print "let val actionRows =\n"; printTable(printActionRow,rowCount); print "val actionRowNumbers =\n\""; printList (fn i => printInt i) rowNumbers; print "\"\n"; print "val gotoT =\n"; printTable(printGotoRow,states); print "val numstates = "; print (Int.toString states); print "\nval numrules = "; print (Int.toString rules); print "\n\ \val s = ref \"\" and index = ref 0\n\ \val string_to_int = fn () => \n\ \let val i = !index\n\ \in index := i+2; Char.ord(String.sub(!s,i)) + Char.ord(String.sub(!s,i+1)) * 256\n\ \end\n\ \val string_to_list = fn s' =>\n\ \ let val len = String.size s'\n\ \ fun f () =\n\ \ if !index < len then string_to_int() :: f()\n\ \ else nil\n\ \ in index := 0; s := s'; f ()\n\ \ end\n\ \val string_to_pairlist = fn (conv_key,conv_entry) =>\n\ \ let fun f () =\n\ \ case string_to_int()\n\ \ of 0 => EMPTY\n\ \ | n => PAIR(conv_key (n-1),conv_entry (string_to_int()),f())\n\ \ in f\n\ \ end\n\ \val string_to_pairlist_default = fn (conv_key,conv_entry) =>\n\ \ let val conv_row = string_to_pairlist(conv_key,conv_entry)\n\ \ in fn () =>\n\ \ let val default = conv_entry(string_to_int())\n\ \ val row = conv_row()\n\ \ in (row,default)\n\ \ end\n\ \ end\n\ \val string_to_table = fn (convert_row,s') =>\n\ \ let val len = String.size s'\n\ \ fun f ()=\n\ \ if !index < len then convert_row() :: f()\n\ \ else nil\n\ \ in (s := s'; index := 0; f ())\n\ \ end\n\ \local\n\ \ val memo = Array.array(numstates+numrules,ERROR)\n\ \ val _ =let fun g i=(Array.update(memo,i,REDUCE(i-numstates)); g(i+1))\n\ \ fun f i =\n\ \ if i=numstates then g i\n\ \ else (Array.update(memo,i,SHIFT (STATE i)); f (i+1))\n\ \ in f 0 handle Subscript => ()\n\ \ end\n\ \in\n\ \val entry_to_action = fn 0 => ACCEPT | 1 => ERROR | j => Array.sub(memo,(j-2))\n\ \end\n\ \val gotoT=Array.fromList(string_to_table(string_to_pairlist(NT,STATE),gotoT))\n\ \val actionRows=string_to_table(string_to_pairlist_default(T,entry_to_action),actionRows)\n\ \val actionRowNumbers = string_to_list actionRowNumbers\n\ \val actionT = let val actionRowLookUp=\n\ \let val a=Array.fromList(actionRows) in fn i=>Array.sub(a,i) end\n\ \in Array.fromList(map actionRowLookUp actionRowNumbers)\n\ \end\n\ \in LrTable.mkLrTable {actions=actionT,gotos=gotoT,numRules=numrules,\n\ \numStates=numstates,initialState=STATE "; print (Int.toString ((fn (STATE i) => i) (initialState table))); print "}\nend\n"; entries end end; smlsharp-1.2.0/benchmark/benchmarks/mlyacc/parse.smi0000644 000000000000000000001203612050661606022650 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "base.sig" _require "utils.sig" _require "sigs.sml" _require "hdr.smi" functor ParseGenParserFun( A : sig structure Header : sig type pos = int val lineno : pos ref val text : string list ref type inputSource val newSource : string * TextIO.instream * TextIO.outstream -> inputSource val error : inputSource -> pos -> string -> unit val warn : inputSource -> pos -> string -> unit val errorOccurred : inputSource -> unit -> bool datatype symbol = SYMBOL of string * pos val symbolName : symbol -> string val symbolPos : symbol -> pos val symbolMake : string * int -> symbol type ty val tyName : ty -> string val tyMake : string -> ty datatype prec = LEFT | RIGHT | NONASSOC datatype control = NODEFAULT | VERBOSE | PARSER_NAME of symbol | FUNCTOR of string | START_SYM of symbol | NSHIFT of symbol list | POS of string | PURE | PARSE_ARG of string * string datatype rule = RULE of {lhs : symbol, rhs : symbol list, code : string, prec : symbol option} datatype declData = DECL of {eop : symbol list, keyword : symbol list, nonterm : (symbol * ty option) list option, prec : (prec * (symbol list)) list, change: (symbol list * symbol list) list, term : (symbol * ty option) list option, control : control list, value : (symbol * string) list} val join_decls : declData * declData * inputSource * pos -> declData type parseResult val getResult : parseResult -> string * declData * rule list end structure Parser : sig structure Token : sig structure LrTable : sig datatype ('a,'b) pairlist = EMPTY | PAIR of 'a * 'b * ('a,'b) pairlist datatype state = STATE of int datatype term = T of int datatype nonterm = NT of int datatype action = SHIFT of state | REDUCE of int | ACCEPT | ERROR type table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto of state * nonterm val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end datatype ('a,'b) token = TOKEN of LrTable.term * ('a * 'b * 'b) val sameToken : ('a,'b) token * ('a,'b) token -> bool end structure Stream : sig type 'a stream val streamify : (unit -> 'a) -> 'a stream val cons : 'a * 'a stream -> 'a stream val get : 'a stream -> 'a * 'a stream end exception ParseError type arg type lexarg type pos type result type svalue val makeLexer : (int -> string) -> lexarg -> (svalue,pos) Token.token Stream.stream val parse : int * ((svalue,pos) Token.token Stream.stream) * (string * pos * pos -> unit) * arg -> result * (svalue,pos) Token.token Stream.stream val sameToken : (svalue,pos) Token.token * (svalue,pos) Token.token -> bool end where type pos = Header.pos sharing type Parser.result = Header.parseResult sharing type Parser.arg = Header.inputSource = Parser.lexarg end ) = struct structure Header = struct type pos = A.Header.pos val lineno : pos ref val text : string list ref type inputSource = A.Header.inputSource val newSource : string * TextIO.instream * TextIO.outstream -> inputSource val error : inputSource -> pos -> string -> unit val warn : inputSource -> pos -> string -> unit val errorOccurred : inputSource -> unit -> bool datatype symbol = datatype A.Header.symbol val symbolName : symbol -> string val symbolPos : symbol -> pos val symbolMake : string * int -> symbol type ty = A.Header.ty val tyName : ty -> string val tyMake : string -> ty datatype prec = datatype A.Header.prec datatype control = datatype A.Header.control datatype rule = datatype A.Header.rule datatype declData = datatype A.Header.declData val join_decls : declData * declData * inputSource * pos -> declData type parseResult = A.Header.parseResult val getResult : parseResult -> string * declData * rule list end val parse : string -> Header.parseResult * Header.inputSource end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/parse.sml0000644 000000000000000000000223112050661606022647 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi * * $Log$ * Revision 1.2 1996/02/26 15:02:38 george * print no longer overloaded. * use of makestring has been removed and replaced with Int.toString .. * use of IO replaced with TextIO * * Revision 1.1.1.1 1996/01/31 16:01:46 george * Version 109 * *) functor ParseGenParserFun (structure Header : HEADER structure Parser : ARG_PARSER where type pos = Header.pos and type arg = Header.inputSource and type lexarg = Header.inputSource and type result = Header.parseResult) : PARSE_GEN_PARSER = struct structure Header = Header val parse = fn file => let val in_str = TextIO.openIn file val source = Header.newSource(file,in_str,TextIO.stdOut) val error = fn (s : string,i:int,_) => Header.error source i s val stream = Parser.makeLexer (fn i => (TextIO.inputN(in_str,i))) source val (result,_) = (Header.lineno := 1; Header.text := nil; Parser.parse(15,stream,error,source)) in (TextIO.closeIn in_str; (result,source)) end end; smlsharp-1.2.0/benchmark/benchmarks/mlyacc/parser1.sml0000644 000000000000000000000720412050661606023117 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi * * $Log$ * Revision 1.1.1.1 1996/01/31 16:01:42 george * Version 109 * *) (* drt (12/15/89) -- the functor should be used during development work, but it is wastes space in the release version. functor ParserGen(structure LrTable : LR_TABLE structure Stream : STREAM) : LR_PARSER = *) abstraction LrParser : LR_PARSER = struct val print = fn s => output(std_out,s) val println = fn s => (print s; print "\n") structure LrTable = LrTable structure Stream = Stream structure Token : TOKEN = struct structure LrTable = LrTable datatype ('a,'b) token = TOKEN of LrTable.term * ('a * 'b * 'b) val sameToken = fn (TOKEN (t,_),TOKEN(t',_)) => t=t' end open LrTable open Token val DEBUG = false exception ParseError type ('a,'b) elem = (state * ('a * 'b * 'b)) type ('a,'b) stack = ('a,'b) elem list val showState = fn (STATE s) => ("STATE " ^ (makestring s)) fun printStack(stack: ('a,'b) elem list, n: int) = case stack of (state, _) :: rest => (print(" " ^ makestring n ^ ": "); println(showState state); printStack(rest, n+1) ) | nil => () val parse = fn {arg : 'a, table : LrTable.table, lexer : ('_b,'_c) token Stream.stream, saction : int * '_c * ('_b,'_c) stack * 'a -> nonterm * ('_b * '_c * '_c) * ('_b,'_c) stack, void : '_b, ec = {is_keyword,preferred_change, errtermvalue,showTerminal, error,terms,noShift}, lookahead} => let fun prAction(stack as (state, _) :: _, next as (TOKEN (term,_),_), action) = (println "Parse: state stack:"; printStack(stack, 0); print(" state=" ^ showState state ^ " next=" ^ showTerminal term ^ " action=" ); case action of SHIFT s => println ("SHIFT " ^ showState s) | REDUCE i => println ("REDUCE " ^ (makestring i)) | ERROR => println "ERROR" | ACCEPT => println "ACCEPT"; action) | prAction (_,_,action) = action val action = LrTable.action table val goto = LrTable.goto table fun parseStep(next as (TOKEN (terminal, value as (_,leftPos,_)),lexer) : ('_b,'_c) token * ('_b,'_c) token Stream.stream, stack as (state,_) :: _ : ('_b ,'_c) stack) = case (if DEBUG then prAction(stack, next,action(state, terminal)) else action(state, terminal)) of SHIFT s => parseStep(Stream.get lexer, (s,value) :: stack) | REDUCE i => let val (nonterm,value,stack as (state,_) :: _ ) = saction(i,leftPos,stack,arg) in parseStep(next,(goto(state,nonterm),value)::stack) end | ERROR => let val (_,leftPos,rightPos) = value in error("syntax error\n",leftPos,rightPos); raise ParseError end | ACCEPT => let val (_,(topvalue,_,_)) :: _ = stack val (token,restLexer) = next in (topvalue,Stream.cons(token,lexer)) end val next as (TOKEN (terminal,(_,leftPos,_)),_) = Stream.get lexer in parseStep(next,[(initialState table,(void,leftPos,leftPos))]) end end; (* drt (12/15/89) -- this needs to be used only when the parsing engine (the code above) is functorized. structure LrParser = ParserGen(structure LrTable = LrTable structure Stream = Stream); *) smlsharp-1.2.0/benchmark/benchmarks/mlyacc/parser2.smi0000644 000000000000000000000617312050661606023121 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "base.sig" _require "stream.smi" _require "lrtable.smi" structure LrParser = struct structure Stream = struct type 'a stream = 'a Stream.stream val streamify : (unit -> 'a) -> 'a stream val cons : 'a * 'a stream -> 'a stream val get : 'a stream -> 'a * 'a stream end structure LrTable = struct datatype pairlist = datatype LrTable.pairlist datatype state = datatype LrTable.state datatype term = datatype LrTable.term datatype nonterm = datatype LrTable.nonterm datatype action = datatype LrTable.action type table = LrTable.table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term, action) pairlist * action val describeGoto : table -> state -> (nonterm, state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto = LrTable.Goto val mkLrTable : {actions : ((term, action) pairlist * action) array, gotos : (nonterm, state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end structure Token = struct structure LrTable = struct datatype pairlist = datatype LrTable.pairlist datatype state = datatype LrTable.state datatype term = datatype LrTable.term datatype nonterm = datatype LrTable.nonterm datatype action = datatype LrTable.action type table = LrTable.table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term, action) pairlist * action val describeGoto : table -> state -> (nonterm, state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto = LrTable.Goto val mkLrTable : {actions : ((term, action) pairlist * action) array, gotos : (nonterm, state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end datatype ('a, 'b) token = TOKEN of LrTable.term * ('a * 'b * 'b) val sameToken : ('a, 'b) token * ('a, 'b) token -> bool end exception ParseError val parse : {table : LrTable.table, lexer : ('b, 'c) Token.token Stream.stream, arg: 'a, saction : int * 'c * (LrTable.state * ('b * 'c * 'c)) list * 'a -> LrTable.nonterm * ('b * 'c * 'c) * (LrTable.state * ('b * 'c * 'c)) list, void : 'b, ec : {is_keyword : LrTable.term -> bool, noShift : LrTable.term -> bool, preferred_change : (LrTable.term list * LrTable.term list) list, errtermvalue : LrTable.term -> 'b, showTerminal : LrTable.term -> string, terms: LrTable.term list, error : string * 'c * 'c -> unit}, lookahead : int} -> 'b * ('b, 'c) Token.token Stream.stream end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/parser2.sml0000644 000000000000000000004646112050661606023130 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi * * $Log$ * Revision 1.3 1996/10/03 03:36:58 jhr * Qualified identifiers that are no-longer top-level (quot, rem, min, max). * * Revision 1.2 1996/02/26 15:02:29 george * print no longer overloaded. * use of makestring has been removed and replaced with Int.toString .. * use of IO replaced with TextIO * * Revision 1.1.1.1 1996/01/31 16:01:42 george * Version 109 * *) (* parser.sml: This is a parser driver for LR tables with an error-recovery routine added to it. The routine used is described in detail in this article: 'A Practical Method for LR and LL Syntactic Error Diagnosis and Recovery', by M. Burke and G. Fisher, ACM Transactions on Programming Langauges and Systems, Vol. 9, No. 2, April 1987, pp. 164-197. This program is an implementation is the partial, deferred method discussed in the article. The algorithm and data structures used in the program are described below. This program assumes that all semantic actions are delayed. A semantic action should produce a function from unit -> value instead of producing the normal value. The parser returns the semantic value on the top of the stack when accept is encountered. The user can deconstruct this value and apply the unit -> value function in it to get the answer. It also assumes that the lexer is a lazy stream. Data Structures: ---------------- * The parser: The state stack has the type (state * (semantic value * line # * line #)) list The parser keeps a queue of (state stack * lexer pair). A lexer pair consists of a terminal * value pair and a lexer. This allows the parser to reconstruct the states for terminals to the left of a syntax error, and attempt to make error corrections there. The queue consists of a pair of lists (x,y). New additions to the queue are cons'ed onto y. The first element of x is the top of the queue. If x is nil, then y is reversed and used in place of x. Algorithm: ---------- * The steady-state parser: This parser keeps the length of the queue of state stacks at a steady state by always removing an element from the front when another element is placed on the end. It has these arguments: stack: current stack queue: value of the queue lexPair ((terminal,value),lex stream) When SHIFT is encountered, the state to shift to and the value are are pushed onto the state stack. The state stack and lexPair are placed on the queue. The front element of the queue is removed. When REDUCTION is encountered, the rule is applied to the current stack to yield a triple (nonterm,value,new stack). A new stack is formed by adding (goto(top state of stack,nonterm),value) to the stack. When ACCEPT is encountered, the top value from the stack and the lexer are returned. When an ERROR is encountered, fixError is called. FixError takes the arguments to the parser, fixes the error if possible and returns a new set of arguments. * The distance-parser: This parser includes an additional argument distance. It pushes elements on the queue until it has parsed distance tokens, or an ACCEPT or ERROR occurs. It returns a stack, lexer, the number of tokens left unparsed, a queue, and an action option. *) signature FIFO = sig type 'a queue val empty : 'a queue exception Empty val get : 'a queue -> 'a * 'a queue val put : 'a * 'a queue -> 'a queue end (* drt (12/15/89) -- the functor should be used in development work, but it wastes space in the release version. functor ParserGen(structure LrTable : LR_TABLE structure Stream : STREAM) : LR_PARSER = *) (* Ueno (2011-Nov-30): The signature constraint to LrParser should be transparent since SML# interface file syntax avoids problematic replications of exceptions and types under opaque constraints. structure LrParser :> LR_PARSER = *) structure LrParser : LR_PARSER = struct structure LrTable = LrTable structure Stream = Stream structure Token : TOKEN = struct structure LrTable = LrTable datatype ('a,'b) token = TOKEN of LrTable.term * ('a * 'b * 'b) val sameToken = fn (TOKEN(t,_),TOKEN(t',_)) => t=t' end open LrTable open Token val DEBUG1 = false val DEBUG2 = false exception ParseError exception ParseImpossible of int structure Fifo :> FIFO = struct type 'a queue = ('a list * 'a list) val empty = (nil,nil) exception Empty fun get(a::x, y) = (a, (x,y)) | get(nil, nil) = raise Empty | get(nil, y) = get(rev y, nil) fun put(a,(x,y)) = (x,a::y) end type ('a,'b) elem = (state * ('a * 'b * 'b)) type ('a,'b) stack = ('a,'b) elem list type ('a,'b) lexv = ('a,'b) token type ('a,'b) lexpair = ('a,'b) lexv * (('a,'b) lexv Stream.stream) type ('a,'b) distanceParse = ('a,'b) lexpair * ('a,'b) stack * (('a,'b) stack * ('a,'b) lexpair) Fifo.queue * int -> ('a,'b) lexpair * ('a,'b) stack * (('a,'b) stack * ('a,'b) lexpair) Fifo.queue * int * action option type ('a,'b) ecRecord = {is_keyword : term -> bool, preferred_change : (term list * term list) list, error : string * 'b * 'b -> unit, errtermvalue : term -> 'a, terms : term list, showTerminal : term -> string, noShift : term -> bool} local val print = fn s => TextIO.output(TextIO.stdOut,s) val println = fn s => (print s; print "\n") val showState = fn (STATE s) => "STATE " ^ (Int.toString s) in fun printStack(stack: ('a,'b) stack, n: int) = case stack of (state,_) :: rest => (print("\t" ^ Int.toString n ^ ": "); println(showState state); printStack(rest, n+1)) | nil => () fun prAction showTerminal (stack as (state,_) :: _, next as (TOKEN (term,_),_), action) = (println "Parse: state stack:"; printStack(stack, 0); print(" state=" ^ showState state ^ " next=" ^ showTerminal term ^ " action=" ); case action of SHIFT state => println ("SHIFT " ^ (showState state)) | REDUCE i => println ("REDUCE " ^ (Int.toString i)) | ERROR => println "ERROR" | ACCEPT => println "ACCEPT") | prAction _ (_,_,action) = () end (* ssParse: parser which maintains the queue of (state * lexvalues) in a steady-state. It takes a table, showTerminal function, saction function, and fixError function. It parses until an ACCEPT is encountered, or an exception is raised. When an error is encountered, fixError is called with the arguments of parseStep (lexv,stack,and queue). It returns the lexv, and a new stack and queue adjusted so that the lexv can be parsed *) val ssParse = fn (table,showTerminal,saction,fixError,arg) => let val prAction = prAction showTerminal val action = LrTable.action table val goto = LrTable.goto table fun parseStep(args as (lexPair as (TOKEN (terminal, value as (_,leftPos,_)), lexer ), stack as (state,_) :: _, queue)) = let val nextAction = action (state,terminal) val _ = if DEBUG1 then prAction(stack,lexPair,nextAction) else () in case nextAction of SHIFT s => let val newStack = (s,value) :: stack val newLexPair = Stream.get lexer val (_,newQueue) =Fifo.get(Fifo.put((newStack,newLexPair), queue)) in parseStep(newLexPair,(s,value)::stack,newQueue) end | REDUCE i => (case saction(i,leftPos,stack,arg) of (nonterm,value,stack as (state,_) :: _) => parseStep(lexPair,(goto(state,nonterm),value)::stack, queue) | _ => raise (ParseImpossible 197)) | ERROR => parseStep(fixError args) | ACCEPT => (case stack of (_,(topvalue,_,_)) :: _ => let val (token,restLexer) = lexPair in (topvalue,Stream.cons(token,restLexer)) end | _ => raise (ParseImpossible 202)) end | parseStep _ = raise (ParseImpossible 204) in parseStep end (* distanceParse: parse until n tokens are shifted, or accept or error are encountered. Takes a table, showTerminal function, and semantic action function. Returns a parser which takes a lexPair (lex result * lexer), a state stack, a queue, and a distance (must be > 0) to parse. The parser returns a new lex-value, a stack with the nth token shifted on top, a queue, a distance, and action option. *) val distanceParse = fn (table,showTerminal,saction,arg) => let val prAction = prAction showTerminal val action = LrTable.action table val goto = LrTable.goto table fun parseStep(lexPair,stack,queue,0) = (lexPair,stack,queue,0,NONE) | parseStep(lexPair as (TOKEN (terminal, value as (_,leftPos,_)), lexer ), stack as (state,_) :: _, queue,distance) = let val nextAction = action(state,terminal) val _ = if DEBUG1 then prAction(stack,lexPair,nextAction) else () in case nextAction of SHIFT s => let val newStack = (s,value) :: stack val newLexPair = Stream.get lexer in parseStep(newLexPair,(s,value)::stack, Fifo.put((newStack,newLexPair),queue),distance-1) end | REDUCE i => (case saction(i,leftPos,stack,arg) of (nonterm,value,stack as (state,_) :: _) => parseStep(lexPair,(goto(state,nonterm),value)::stack, queue,distance) | _ => raise (ParseImpossible 240)) | ERROR => (lexPair,stack,queue,distance,SOME nextAction) | ACCEPT => (lexPair,stack,queue,distance,SOME nextAction) end | parseStep _ = raise (ParseImpossible 242) in parseStep : ('_a,'_b) distanceParse end (* mkFixError: function to create fixError function which adjusts parser state so that parse may continue in the presence of an error *) fun mkFixError({is_keyword,terms,errtermvalue, preferred_change,noShift, showTerminal,error,...} : ('_a,'_b) ecRecord, distanceParse : ('_a,'_b) distanceParse, minAdvance,maxAdvance) (lexv as (TOKEN (term,value as (_,leftPos,_)),_),stack,queue) = let val _ = if DEBUG2 then error("syntax error found at " ^ (showTerminal term), leftPos,leftPos) else () fun tokAt(t,p) = TOKEN(t,(errtermvalue t,p,p)) val minDelta = 3 (* pull all the state * lexv elements from the queue *) val stateList = let fun f q = let val (elem,newQueue) = Fifo.get q in elem :: (f newQueue) end handle Fifo.Empty => nil in f queue end (* now number elements of stateList, giving distance from error token *) val (_, numStateList) = List.foldr (fn (a,(num,r)) => (num+1,(a,num)::r)) (0, []) stateList (* Represent the set of potential changes as a linked list. Values of datatype Change hold information about a potential change. oper = oper to be applied pos = the # of the element in stateList that would be altered. distance = the number of tokens beyond the error token which the change allows us to parse. new = new terminal * value pair at that point orig = original terminal * value pair at the point being changed. *) datatype ('a,'b) change = CHANGE of {pos : int, distance : int, leftPos: 'b, rightPos: 'b, new : ('a,'b) lexv list, orig : ('a,'b) lexv list} val showTerms = concat o map (fn TOKEN(t,_) => " " ^ showTerminal t) val printChange = fn c => let val CHANGE {distance,new,orig,pos,...} = c in (print ("{distance= " ^ (Int.toString distance)); print (",orig ="); print(showTerms orig); print (",new ="); print(showTerms new); print (",pos= " ^ (Int.toString pos)); print "}\n") end val printChangeList = app printChange (* parse: given a lexPair, a stack, and the distance from the error token, return the distance past the error token that we are able to parse.*) fun parse (lexPair,stack,queuePos : int) = case distanceParse(lexPair,stack,Fifo.empty,queuePos+maxAdvance+1) of (_,_,_,distance,SOME ACCEPT) => if maxAdvance-distance-1 >= 0 then maxAdvance else maxAdvance-distance-1 | (_,_,_,distance,_) => maxAdvance - distance - 1 (* catList: concatenate results of scanning list *) fun catList l f = List.foldr (fn(a,r)=> f a @ r) [] l fun keywordsDelta new = if List.exists (fn(TOKEN(t,_))=>is_keyword t) new then minDelta else 0 fun tryChange{lex,stack,pos,leftPos,rightPos,orig,new} = let val lex' = List.foldr (fn (t',p)=>(t',Stream.cons p)) lex new val distance = parse(lex',stack,pos+length new-length orig) in if distance >= minAdvance + keywordsDelta new then [CHANGE{pos=pos,leftPos=leftPos,rightPos=rightPos, distance=distance,orig=orig,new=new}] else [] end (* tryDelete: Try to delete n terminals. Return single-element [success] or nil. Do not delete unshiftable terminals. *) fun tryDelete n ((stack,lexPair as (TOKEN(term,(_,l,r)),_)),qPos) = let fun del(0,accum,left,right,lexPair) = tryChange{lex=lexPair,stack=stack, pos=qPos,leftPos=left,rightPos=right, orig=rev accum, new=[]} | del(n,accum,left,right,(tok as TOKEN(term,(_,_,r)),lexer)) = if noShift term then [] else del(n-1,tok::accum,left,r,Stream.get lexer) in del(n,[],l,r,lexPair) end (* tryInsert: try to insert tokens before the current terminal; return a list of the successes *) fun tryInsert((stack,lexPair as (TOKEN(_,(_,l,_)),_)),queuePos) = catList terms (fn t => tryChange{lex=lexPair,stack=stack, pos=queuePos,orig=[],new=[tokAt(t,l)], leftPos=l,rightPos=l}) (* trySubst: try to substitute tokens for the current terminal; return a list of the successes *) fun trySubst ((stack,lexPair as (orig as TOKEN (term,(_,l,r)),lexer)), queuePos) = if noShift term then [] else catList terms (fn t => tryChange{lex=Stream.get lexer,stack=stack, pos=queuePos, leftPos=l,rightPos=r,orig=[orig], new=[tokAt(t,r)]}) (* do_delete(toks,lexPair) tries to delete tokens "toks" from "lexPair". If it succeeds, returns SOME(toks',l,r,lp), where toks' is the actual tokens (with positions and values) deleted, (l,r) are the (leftmost,rightmost) position of toks', lp is what remains of the stream after deletion *) fun do_delete(nil,lp as (TOKEN(_,(_,l,_)),_)) = SOME(nil,l,l,lp) | do_delete([t],(tok as TOKEN(t',(_,l,r)),lp')) = if t=t' then SOME([tok],l,r,Stream.get lp') else NONE | do_delete(t::rest,(tok as TOKEN(t',(_,l,r)),lp')) = if t=t' then case do_delete(rest,Stream.get lp') of SOME(deleted,l',r',lp'') => SOME(tok::deleted,l,r',lp'') | NONE => NONE else NONE fun tryPreferred((stack,lexPair),queuePos) = catList preferred_change (fn (delete,insert) => if List.exists noShift delete then [] (* should give warning at parser-generation time *) else case do_delete(delete,lexPair) of SOME(deleted,l,r,lp) => tryChange{lex=lp,stack=stack,pos=queuePos, leftPos=l,rightPos=r,orig=deleted, new=map (fn t=>(tokAt(t,r))) insert} | NONE => []) val changes = catList numStateList tryPreferred @ catList numStateList tryInsert @ catList numStateList trySubst @ catList numStateList (tryDelete 1) @ catList numStateList (tryDelete 2) @ catList numStateList (tryDelete 3) val findMaxDist = fn l => foldr (fn (CHANGE {distance,...},high) => Int.max(distance,high)) 0 l (* maxDist: max distance past error taken that we could parse *) val maxDist = findMaxDist changes (* remove changes which did not parse maxDist tokens past the error token *) val changes = catList changes (fn(c as CHANGE{distance,...}) => if distance=maxDist then [c] else []) in case changes of (l as change :: _) => let fun print_msg (CHANGE {new,orig,leftPos,rightPos,...}) = let val s = case (orig,new) of (_::_,[]) => "deleting " ^ (showTerms orig) | ([],_::_) => "inserting " ^ (showTerms new) | _ => "replacing " ^ (showTerms orig) ^ " with " ^ (showTerms new) in error ("syntax error: " ^ s,leftPos,rightPos) end val _ = (if length l > 1 andalso DEBUG2 then (print "multiple fixes possible; could fix it by:\n"; app print_msg l; print "chosen correction:\n") else (); print_msg change) (* findNth: find nth queue entry from the error entry. Returns the Nth queue entry and the portion of the queue from the beginning to the nth-1 entry. The error entry is at the end of the queue. Examples: queue = a b c d e findNth 0 = (e,a b c d) findNth 1 = (d,a b c) *) val findNth = fn n => let fun f (h::t,0) = (h,rev t) | f (h::t,n) = f(t,n-1) | f (nil,_) = let exception FindNth in raise FindNth end in f (rev stateList,n) end val CHANGE {pos,orig,new,...} = change val (last,queueFront) = findNth pos val (stack,lexPair) = last val lp1 = foldl(fn (_,(_,r)) => Stream.get r) lexPair orig val lp2 = foldr(fn(t,r)=>(t,Stream.cons r)) lp1 new val restQueue = Fifo.put((stack,lp2), foldl Fifo.put Fifo.empty queueFront) val (lexPair,stack,queue,_,_) = distanceParse(lp2,stack,restQueue,pos) in (lexPair,stack,queue) end | nil => (error("syntax error found at " ^ (showTerminal term), leftPos,leftPos); raise ParseError) end val parse = fn {arg,table,lexer,saction,void,lookahead, ec=ec as {showTerminal,...} : ('_a,'_b) ecRecord} => let val distance = 15 (* defer distance tokens *) val minAdvance = 1 (* must parse at least 1 token past error *) val maxAdvance = Int.max(lookahead,0)(* max distance for parse check *) val lexPair = Stream.get lexer val (TOKEN (_,(_,leftPos,_)),_) = lexPair val startStack = [(initialState table,(void,leftPos,leftPos))] val startQueue = Fifo.put((startStack,lexPair),Fifo.empty) val distanceParse = distanceParse(table,showTerminal,saction,arg) val fixError = mkFixError(ec,distanceParse,minAdvance,maxAdvance) val ssParse = ssParse(table,showTerminal,saction,fixError,arg) fun loop (lexPair,stack,queue,_,SOME ACCEPT) = ssParse(lexPair,stack,queue) | loop (lexPair,stack,queue,0,_) = ssParse(lexPair,stack,queue) | loop (lexPair,stack,queue,distance,SOME ERROR) = let val (lexPair,stack,queue) = fixError(lexPair,stack,queue) in loop (distanceParse(lexPair,stack,queue,distance)) end | loop _ = let exception ParseInternal in raise ParseInternal end in loop (distanceParse(lexPair,startStack,startQueue,distance)) end end; (* drt (12/15/89) -- needed only when the code above is functorized structure LrParser = ParserGen(structure LrTable=LrTable structure Stream=Stream); *) smlsharp-1.2.0/benchmark/benchmarks/mlyacc/shrink.smi0000644 000000000000000000000427712050661606023044 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "base.sig" _require "utils.sig" _require "sigs.sml" functor ShrinkLrTableFun( A : sig structure LrTable : sig datatype ('a,'b) pairlist = EMPTY | PAIR of 'a * 'b * ('a,'b) pairlist datatype state = STATE of int datatype term = T of int datatype nonterm = NT of int datatype action = SHIFT of state | REDUCE of int | ACCEPT | ERROR type table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto of state * nonterm val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end end ) = struct structure LrTable = struct datatype pairlist = datatype A.LrTable.pairlist datatype state = datatype A.LrTable.state datatype term = datatype A.LrTable.term datatype nonterm = datatype A.LrTable.nonterm datatype action = datatype A.LrTable.action type table = A.LrTable.table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto = A.LrTable.Goto val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end val shrinkActionList : LrTable.table * bool -> (int * int list * ((LrTable.term,LrTable.action) LrTable.pairlist * LrTable.action) list) * int end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/shrink.sml0000644 000000000000000000001753512050661606023050 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1991 Andrew W. Appel, David R. Tarditi * * $Log$ * Revision 1.2 1996/05/30 17:52:58 dbm * Lifted a let to a local in definition of createEquivalences to conform with * value restriction. * * Revision 1.1.1.1 1996/01/31 16:01:46 george * Version 109 * *) signature SORT_ARG = sig type entry val gt : entry * entry -> bool end signature SORT = sig type entry val sort : entry list -> entry list end signature EQUIV_ARG = sig type entry val gt : entry * entry -> bool val eq : entry * entry -> bool end signature EQUIV = sig type entry (* equivalences: take a list of entries and divides them into equivalence classes numbered 0 to n-1. It returns a triple consisting of: * the number of equivalence classes * a list which maps each original entry to an equivalence class. The nth entry in this list gives the equivalence class for the nth entry in the original entry list. * a list which maps equivalence classes to some representative element. The nth entry in this list is an element from the nth equivalence class *) val equivalences : entry list -> (int * int list * entry list) end (* An O(n lg n) merge sort routine *) functor MergeSortFun(A : SORT_ARG) : SORT = struct type entry = A.entry (* sort: an O(n lg n) merge sort routine. We create a list of lists and then merge these lists in passes until only one list is left.*) fun sort nil = nil | sort l = let (* merge: merge two lists *) fun merge (l as a::at,r as b::bt) = if A.gt(a,b) then b :: merge(l,bt) else a :: merge(at,r) | merge (l,nil) = l | merge (nil,r) = r (* scan: merge pairs of lists on a list of lists. Reduces the number of lists by about 1/2 *) fun scan (a :: b :: rest) = merge(a,b) :: scan rest | scan l = l (* loop: calls scan on a list of lists until only one list is left. It terminates only if the list of lists is nonempty. (The pattern match for sort ensures this.) *) fun loop (a :: nil) = a | loop l = loop (scan l) in loop (map (fn a => [a]) l) end end (* an O(n lg n) routine for placing items in equivalence classes *) functor EquivFun(A : EQUIV_ARG) : EQUIV = struct open Array List infix 9 sub (* Our algorithm for finding equivalence class is simple. The basic idea is to sort the entries and place duplicates entries in the same equivalence class. Let the original entry list be E. We map E to a list of a pairs consisting of the entry and its position in E, where the positions are numbered 0 to n-1. Call this list of pairs EP. We then sort EP on the original entries. The second elements in the pairs now specify a permutation that will return us to EP. We then scan the sorted list to create a list R of representative entries, a list P of integers which permutes the sorted list back to the original list and a list SE of integers which gives the equivalence class for the nth entry in the sorted list . We then return the length of R, R, and the list that results from permuting SE by P. *) type entry = A.entry val gt = fn ((a,_),(b,_)) => A.gt(a,b) structure Sort = MergeSortFun(type entry = A.entry * int val gt = gt) val assignIndex = fn l => let fun loop (index,nil) = nil | loop (index,h :: t) = (h,index) :: loop(index+1,t) in loop (0,l) end local fun loop ((e,_) :: t, prev, class, R , SE) = if A.eq(e,prev) then loop(t,e,class,R, class :: SE) else loop(t,e,class+1,e :: R, (class + 1) :: SE) | loop (nil,_,_,R,SE) = (rev R, rev SE) in val createEquivalences = fn nil => (nil,nil) | (e,_) :: t => loop(t, e, 0, [e],[0]) end val inversePermute = fn permutation => fn nil => nil | l as h :: _ => let val result = array(length l,h) fun loop (elem :: r, dest :: s) = (update(result,dest,elem); loop(r,s)) | loop _ = () fun listofarray i = if i < Array.length result then (result sub i) :: listofarray (i+1) else nil in loop (l,permutation); listofarray 0 end fun makePermutation x = map (fn (_,b) => b) x val equivalences = fn l => let val EP = assignIndex l val sorted = Sort.sort EP val P = makePermutation sorted val (R, SE) = createEquivalences sorted in (length R, inversePermute P SE, R) end end functor ShrinkLrTableFun(structure LrTable : LR_TABLE) : SHRINK_LR_TABLE = struct structure LrTable = LrTable open LrTable val gtAction = fn (a,b) => case a of SHIFT (STATE s) => (case b of SHIFT (STATE s') => s>s' | _ => true) | REDUCE i => (case b of SHIFT _ => false | REDUCE i' => i>i' | _ => true) | ACCEPT => (case b of ERROR => true | _ => false) | ERROR => false structure ActionEntryList = struct type entry = (term,action) pairlist * action val rec eqlist = fn (EMPTY,EMPTY) => true | (PAIR (T t,d,r),PAIR(T t',d',r')) => t=t' andalso d=d' andalso eqlist(r,r') | _ => false val rec gtlist = fn (PAIR _,EMPTY) => true | (PAIR(T t,d,r),PAIR(T t',d',r')) => t>t' orelse (t=t' andalso (gtAction(d,d') orelse (d=d' andalso gtlist(r,r')))) | _ => false val eq = fn ((l,a),(l',a')) => a=a' andalso eqlist(l,l') val gt = fn ((l,a),(l',a')) => gtAction(a,a') orelse (a=a' andalso gtlist(l,l')) end (* structure GotoEntryList = struct type entry = (nonterm,state) pairlist val rec eq = fn (EMPTY,EMPTY) => true | (PAIR (t,d,r),PAIR(t',d',r')) => t=t' andalso d=d' andalso eq(r,r') | _ => false val rec gt = fn (PAIR _,EMPTY) => true | (PAIR(NT t,STATE d,r),PAIR(NT t',STATE d',r')) => t>t' orelse (t=t' andalso (d>d' orelse (d=d' andalso gt(r,r')))) | _ => false end *) structure EquivActionList = EquivFun(ActionEntryList) val states = fn max => let fun f i=if i int = fn l => let fun g(EMPTY,len) = len | g(PAIR(_,_,r),len) = g(r,len+1) in g(l,0) end val size : (('a,'b) pairlist * 'c) list -> int = fn l => let val c = ref 0 in (app (fn (row,_) => c := !c + length row) l; !c) end val shrinkActionList = fn (table,verbose) => case EquivActionList.equivalences (map (describeActions table) (states (numStates table))) of result as (_,_,l) => (result,if verbose then size l else 0) end; smlsharp-1.2.0/benchmark/benchmarks/mlyacc/sigs.sml0000644 000000000000000000002673512050661606022521 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989, 1991 Andrew W. Appel, David R. Tarditi * * $Log$ * Revision 1.2 1996/02/26 15:02:38 george * print no longer overloaded. * use of makestring has been removed and replaced with Int.toString .. * use of IO replaced with TextIO * * Revision 1.1.1.1 1996/01/31 16:01:46 george * Version 109 * *) signature HEADER = sig type pos = int val lineno : pos ref val text : string list ref type inputSource val newSource : string * TextIO.instream * TextIO.outstream -> inputSource val error : inputSource -> pos -> string -> unit val warn : inputSource -> pos -> string -> unit val errorOccurred : inputSource -> unit -> bool datatype symbol = SYMBOL of string * pos val symbolName : symbol -> string val symbolPos : symbol -> pos val symbolMake : string * int -> symbol type ty val tyName : ty -> string val tyMake : string -> ty (* associativities: each kind of associativity is assigned a unique integer *) datatype prec = LEFT | RIGHT | NONASSOC datatype control = NODEFAULT | VERBOSE | PARSER_NAME of symbol | FUNCTOR of string | START_SYM of symbol | NSHIFT of symbol list | POS of string | PURE | PARSE_ARG of string * string datatype rule = RULE of {lhs : symbol, rhs : symbol list, code : string, prec : symbol option} datatype declData = DECL of {eop : symbol list, keyword : symbol list, nonterm : (symbol * ty option) list option, prec : (prec * (symbol list)) list, change: (symbol list * symbol list) list, term : (symbol * ty option) list option, control : control list, value : (symbol * string) list} val join_decls : declData * declData * inputSource * pos -> declData type parseResult val getResult : parseResult -> string * declData * rule list end; signature PARSE_GEN_PARSER = sig structure Header : HEADER val parse : string -> Header.parseResult * Header.inputSource end; signature PARSE_GEN = sig val parseGen : string -> unit end; signature GRAMMAR = sig datatype term = T of int datatype nonterm = NT of int datatype symbol = TERM of term | NONTERM of nonterm (* grammar: terminals should be numbered from 0 to terms-1, nonterminals should be numbered from 0 to nonterms-1, rules should be numbered between 0 and (length rules) - 1, higher precedence binds tighter, start nonterminal should not occur on the rhs of any rule *) datatype grammar = GRAMMAR of {rules: {lhs : nonterm, rhs : symbol list, precedence : int option, rulenum : int } list, terms: int, nonterms: int, start : nonterm, eop : term list, noshift : term list, precedence : term -> int option, termToString : term -> string, nontermToString : nonterm -> string} end (* signature for internal version of grammar *) signature INTGRAMMAR = sig structure Grammar : GRAMMAR structure SymbolAssoc : TABLE structure NontermAssoc : TABLE sharing type SymbolAssoc.key = Grammar.symbol sharing type NontermAssoc.key = Grammar.nonterm datatype rule = RULE of {lhs : Grammar.nonterm, rhs : Grammar.symbol list, (* internal number of rule - convenient for producing LR graph *) num : int, rulenum : int, precedence : int option} val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool (* Debugging information will be generated only if DEBUG is true. *) val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string)*(Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end signature CORE = sig structure Grammar : GRAMMAR structure IntGrammar : INTGRAMMAR sharing Grammar = IntGrammar.Grammar datatype item = ITEM of { rule : IntGrammar.rule, dot : int, (* rhsAfter: The portion of the rhs of a rule that lies after the dot *) rhsAfter: Grammar.symbol list } (* eqItem and gtItem compare items *) val eqItem : item * item -> bool val gtItem : item * item -> bool (* functions for maintaining ordered item lists *) val insert : item * item list -> item list val union : item list * item list -> item list (* core: a set of items. It is represented by an ordered list of items. The list is in ascending order The rule numbers and the positions of the dots are used to order the items. *) datatype core = CORE of item list * int (* state # *) (* gtCore and eqCore compare the lists of items *) val gtCore : core * core -> bool val eqCore : core * core -> bool (* functions for debugging *) val prItem : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> item -> unit val prCore : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> core -> unit end signature CORE_UTILS = sig structure Grammar : GRAMMAR structure IntGrammar : INTGRAMMAR structure Core : CORE sharing Grammar = IntGrammar.Grammar = Core.Grammar sharing IntGrammar = Core.IntGrammar (* mkFuncs: create functions for the set of productions derived from a nonterminal, the cores that result from shift/gotos from a core, and return a list of rules *) val mkFuncs : Grammar.grammar -> { produces : Grammar.nonterm -> IntGrammar.rule list, (* shifts: take a core and compute all the cores that result from shifts/gotos on symbols *) shifts : Core.core -> (Grammar.symbol*Core.item list) list, rules: IntGrammar.rule list, (* epsProds: take a core compute epsilon productions for it *) epsProds : Core.core -> IntGrammar.rule list} end signature LRGRAPH = sig structure Grammar : GRAMMAR structure IntGrammar : INTGRAMMAR structure Core : CORE sharing Grammar = IntGrammar.Grammar = Core.Grammar sharing IntGrammar = Core.IntGrammar type graph val edges : Core.core * graph -> {edge:Grammar.symbol,to:Core.core} list val nodes : graph -> Core.core list val shift : graph -> int * Grammar.symbol -> int (* int = state # *) val core : graph -> int -> Core.core (* get core for a state *) (* mkGraph: compute the LR(0) sets of items *) val mkGraph : Grammar.grammar -> {graph : graph, produces : Grammar.nonterm -> IntGrammar.rule list, rules : IntGrammar.rule list, epsProds: Core.core -> IntGrammar.rule list} val prGraph: (Grammar.symbol -> string)*(Grammar.nonterm -> string) * (string -> unit) -> graph -> unit end signature LOOK = sig structure Grammar : GRAMMAR structure IntGrammar : INTGRAMMAR sharing Grammar = IntGrammar.Grammar val union : Grammar.term list * Grammar.term list -> Grammar.term list val make_set : Grammar.term list -> Grammar.term list val mkFuncs : {rules : IntGrammar.rule list, nonterms : int, produces : Grammar.nonterm -> IntGrammar.rule list} -> {nullable: Grammar.nonterm -> bool, first : Grammar.symbol list -> Grammar.term list} val prLook : (Grammar.term -> string) * (string -> unit) -> Grammar.term list -> unit end signature LALR_GRAPH = sig structure Grammar : GRAMMAR structure IntGrammar : INTGRAMMAR structure Core : CORE structure Graph : LRGRAPH sharing Grammar = IntGrammar.Grammar = Core.Grammar = Graph.Grammar sharing IntGrammar = Core.IntGrammar = Graph.IntGrammar sharing Core = Graph.Core datatype lcore = LCORE of (Core.item * Grammar.term list) list * int val addLookahead : {graph : Graph.graph, first : Grammar.symbol list -> Grammar.term list, eop : Grammar.term list, nonterms : int, nullable: Grammar.nonterm -> bool, produces : Grammar.nonterm -> IntGrammar.rule list, rules : IntGrammar.rule list, epsProds : Core.core -> IntGrammar.rule list, print : string -> unit, (* for debugging *) termToString : Grammar.term -> string, nontermToString : Grammar.nonterm -> string} -> lcore list val prLcore : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (Grammar.term -> string) * (string -> unit) -> lcore -> unit end (* LR_ERRS: errors found while constructing an LR table *) signature LR_ERRS = sig structure LrTable : LR_TABLE (* RR = reduce/reduce, SR = shift/reduce NS: non-shiftable terminal found on the rhs of a rule NOT_REDUCED n: rule number n was not reduced START n : start symbol found on the rhs of rule n *) datatype err = RR of LrTable.term * LrTable.state * int * int | SR of LrTable.term * LrTable.state * int | NS of LrTable.term * int | NOT_REDUCED of int | START of int val summary : err list -> {rr : int, sr: int, not_reduced : int, start : int,nonshift : int} val printSummary : (string -> unit) -> err list -> unit end (* PRINT_STRUCT: prints a structure which includes a value 'table' and a structure Table whose signature matches LR_TABLE. The table in the printed structure will contain the same information as the one passed to printStruct, although the representation may be different. It returns the number of entries left in the table after compaction.*) signature PRINT_STRUCT = sig structure LrTable : LR_TABLE val makeStruct : {table : LrTable.table, name : string, print: string -> unit, verbose : bool } -> int end (* VERBOSE: signature for a structure which takes a table and creates a verbose description of it *) signature VERBOSE = sig structure Errs : LR_ERRS val printVerbose : {table : Errs.LrTable.table, entries : int, termToString : Errs.LrTable.term -> string, nontermToString : Errs.LrTable.nonterm -> string, stateErrs : Errs.LrTable.state -> Errs.err list, errs : Errs.err list, print: string -> unit, printCores : (string -> unit) -> Errs.LrTable.state -> unit, printRule : (string -> unit) -> int -> unit} -> unit end (* MAKE_LR_TABLE: signature for a structure which includes a structure matching the signature LR_TABLE and a function which maps grammars to tables *) signature MAKE_LR_TABLE = sig structure Grammar : GRAMMAR structure Errs : LR_ERRS structure LrTable : LR_TABLE sharing Errs.LrTable = LrTable sharing type LrTable.term = Grammar.term sharing type LrTable.nonterm = Grammar.nonterm (* boolean value determines whether default reductions will be used. If it is true, reductions will be used. *) val mkTable : Grammar.grammar * bool -> LrTable.table * (LrTable.state -> Errs.err list) * (* errors in a state *) ((string -> unit) -> LrTable.state -> unit) * Errs.err list (* list of all errors *) end; (* SHRINK_LR_TABLE: finds unique action entry rows in the action table for the LR parser *) signature SHRINK_LR_TABLE = sig (* Takes an action table represented as a list of action rows. It returns the number of unique rows left in the action table, a list of integers which maps each original row to a unique row, and a list of unique rows *) structure LrTable : LR_TABLE val shrinkActionList : LrTable.table * bool -> (int * int list * ((LrTable.term,LrTable.action) LrTable.pairlist * LrTable.action) list) * int end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/sources.cm0000644 000000000000000000000067412050661606023035 0ustar00rootroot0000000 0000000 Group is ../timeit.sml base.sig stream.sml lrtable.sml join.sml parser2.sml utils.sig sigs.sml hdr.sml yacc.grm.sig yacc.grm.sml yacc.lex.sml parse.sml utils.sml grammar.sml core.sml coreutils.sml graph.sml look.sml lalr.sml mklrtable.sml mkprstruct.sml shrink.sml verbose.sml absyn.sig absyn.sml yacc.sml link.sml main.sml smlsharp-1.2.0/benchmark/benchmarks/mlyacc/stream.smi0000644 000000000000000000000034012050661606023024 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "base.sig" structure Stream = struct type 'a stream (= boxed) val streamify : (unit -> 'a) -> 'a stream val cons : 'a * 'a stream -> 'a stream val get : 'a stream -> 'a * 'a stream end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/stream.sml0000644 000000000000000000000112212050661606023026 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi * * $Log$ * Revision 1.1.1.1 1996/01/31 16:01:43 george * Version 109 * *) (* Stream: a structure implementing a lazy stream. The signature STREAM is found in base.sig *) structure Stream :> STREAM = struct datatype 'a str = EVAL of 'a * 'a str ref | UNEVAL of (unit->'a) type 'a stream = 'a str ref fun get(ref(EVAL t)) = t | get(s as ref(UNEVAL f)) = let val t = (f(), ref(UNEVAL f)) in s := EVAL t; t end fun streamify f = ref(UNEVAL f) fun cons(a,s) = ref(EVAL(a,s)) end; smlsharp-1.2.0/benchmark/benchmarks/mlyacc/utils.sig0000644 000000000000000000000336112050661606022671 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi * * $Log$ * Revision 1.1.1.1 1996/01/31 16:01:46 george * Version 109 * *) signature ORDSET = sig type set type elem exception Select_arb val app : (elem -> unit) -> set -> unit and card: set -> int and closure: set * (elem -> set) -> set and difference: set * set -> set and elem_eq: (elem * elem -> bool) and elem_gt : (elem * elem -> bool) and empty: set and exists: (elem * set) -> bool and find : (elem * set) -> elem option and fold: ((elem * 'b) -> 'b) -> set -> 'b -> 'b and insert: (elem * set) -> set and is_empty: set -> bool and make_list: set -> elem list and make_set: (elem list -> set) and partition: (elem -> bool) -> (set -> set * set) and remove: (elem * set) -> set and revfold: ((elem * 'b) -> 'b) -> set -> 'b -> 'b and select_arb: set -> elem and set_eq: (set * set) -> bool and set_gt: (set * set) -> bool and singleton: (elem -> set) and union: set * set -> set end signature TABLE = sig type 'a table type key val size : 'a table -> int val empty: 'a table val exists: (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end signature HASH = sig type table type elem val size : table -> int val add : elem * table -> table val find : elem * table -> int option val exists : elem * table -> bool val empty : table end; smlsharp-1.2.0/benchmark/benchmarks/mlyacc/utils.smi0000644 000000000000000000000532712050661606022703 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "utils.sig" functor ListOrdSet( B : sig type elem val gt : elem * elem -> bool val eq : elem * elem -> bool end ) = struct type set = B.elem list type elem = B.elem exception Select_arb val app : (elem -> unit) -> set -> unit val card : set -> int val closure : set * (elem -> set) -> set val difference : set * set -> set val elem_eq : elem * elem -> bool val elem_gt : elem * elem -> bool val empty : set val exists : elem * set -> bool val find : elem * set -> elem option val fold : (elem * 'b -> 'b) -> set -> 'b -> 'b val insert : elem * set -> set val is_empty : set -> bool val make_list : set -> elem list val make_set : elem list -> set val partition : (elem -> bool) -> set -> set * set val remove : elem * set -> set val revfold : (elem * 'b -> 'b) -> set -> 'b -> 'b val select_arb : set -> elem val set_eq : set * set -> bool val set_gt : set * set -> bool val singleton : elem -> set val union : set * set -> set end functor RbOrdSet ( B : sig type elem val eq : elem * elem -> bool val gt : elem * elem -> bool end ) = struct type set (= boxed) type elem = B.elem exception Select_arb val app : (elem -> unit) -> set -> unit val card : set -> int val closure : set * (elem -> set) -> set val difference : set * set -> set val elem_eq : elem * elem -> bool val elem_gt : elem * elem -> bool val empty : set val exists : elem * set -> bool val find : elem * set -> elem option val fold : (elem * 'b -> 'b) -> set -> 'b -> 'b val insert : elem * set -> set val is_empty : set -> bool val make_list : set -> elem list val make_set : elem list -> set val partition : (elem -> bool) -> set -> set * set val remove : elem * set -> set val revfold : (elem * 'b -> 'b) -> set -> 'b -> 'b val select_arb : set -> elem val set_eq : set * set -> bool val set_gt : set * set -> bool val singleton : elem -> set val union : set * set -> set end functor Table ( B : sig type key val gt : key * key -> bool end ) = struct type 'a table (= boxed) type key = B.key val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end functor Hash( B : sig type elem val gt : elem * elem -> bool end ) = struct type table (= boxed) type elem = B.elem val size : table -> int val add : elem * table -> table val find : elem * table -> int option val exists : elem * table -> bool val empty : table end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/utils.sml0000644 000000000000000000003241012050661606022677 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi * * $Log$ * Revision 1.1.1.1 1996/01/31 16:01:47 george * Version 109 * *) (* Implementation of ordered sets using ordered lists and red-black trees. The code for red-black trees was originally written by Norris Boyd, which was modified for use here. *) (* ordered sets implemented using ordered lists. Upper bound running times for functions implemented here: app = O(n) card = O(n) closure = O(n^2) difference = O(n+m), where n,m = the size of the two sets used here. empty = O(1) exists = O(n) find = O(n) fold = O(n) insert = O(n) is_empty = O(1) make_list = O(1) make_set = O(n^2) partition = O(n) remove = O(n) revfold = O(n) select_arb = O(1) set_eq = O(n), where n = the cardinality of the smaller set set_gt = O(n), ditto singleton = O(1) union = O(n+m) *) functor ListOrdSet(B : sig type elem val gt : elem * elem -> bool val eq : elem * elem -> bool end ) : ORDSET = struct type elem = B.elem val elem_gt = B.gt val elem_eq = B.eq type set = elem list exception Select_arb val empty = nil val insert = fn (key,s) => let fun f (l as (h::t)) = if elem_gt(key,h) then h::(f t) else if elem_eq(key,h) then key::t else key::l | f nil = [key] in f s end val select_arb = fn nil => raise Select_arb | a::b => a val exists = fn (key,s) => let fun f (h::t) = if elem_gt(key,h) then f t else elem_eq(h,key) | f nil = false in f s end val find = fn (key,s) => let fun f (h::t) = if elem_gt(key,h) then f t else if elem_eq(h,key) then SOME h else NONE | f nil = NONE in f s end fun revfold f lst init = List.foldl f init lst fun fold f lst init = List.foldr f init lst val app = List.app fun set_eq(h::t,h'::t') = (case elem_eq(h,h') of true => set_eq(t,t') | a => a) | set_eq(nil,nil) = true | set_eq _ = false fun set_gt(h::t,h'::t') = (case elem_gt(h,h') of false => (case (elem_eq(h,h')) of true => set_gt(t,t') | a => a) | a => a) | set_gt(_::_,nil) = true | set_gt _ = false fun union(a as (h::t),b as (h'::t')) = if elem_gt(h',h) then h::union(t,b) else if elem_eq(h,h') then h::union(t,t') else h'::union(a,t') | union(nil,s) = s | union(s,nil) = s val make_list = fn s => s val is_empty = fn nil => true | _ => false val make_set = fn l => List.foldr insert [] l val partition = fn f => fn s => fold (fn (e,(yes,no)) => if (f e) then (e::yes,no) else (e::no,yes)) s (nil,nil) val remove = fn (e,s) => let fun f (l as (h::t)) = if elem_gt(h,e) then l else if elem_eq(h,e) then t else h::(f t) | f nil = nil in f s end (* difference: X-Y *) fun difference (nil,_) = nil | difference (r,nil) = r | difference (a as (h::t),b as (h'::t')) = if elem_gt (h',h) then h::difference(t,b) else if elem_eq(h',h) then difference(t,t') else difference(a,t') fun singleton X = [X] fun card(S) = fold (fn (a,count) => count+1) S 0 local fun closure'(from, f, result) = if is_empty from then result else let val (more,result) = fold (fn (a,(more',result')) => let val more = f a val new = difference(more,result) in (union(more',new),union(result',new)) end) from (empty,result) in closure'(more,f,result) end in fun closure(start, f) = closure'(start, f, start) end end (* ordered set implemented using red-black trees: Upper bound running time of the functions below: app: O(n) card: O(n) closure: O(n^2 ln n) difference: O(n ln n) empty: O(1) exists: O(ln n) find: O(ln n) fold: O(n) insert: O(ln n) is_empty: O(1) make_list: O(n) make_set: O(n ln n) partition: O(n ln n) remove: O(n ln n) revfold: O(n) select_arb: O(1) set_eq: O(n) set_gt: O(n) singleton: O(1) union: O(n ln n) *) functor RbOrdSet (B : sig type elem val eq : (elem*elem) -> bool val gt : (elem*elem) -> bool end ) : ORDSET = struct type elem = B.elem val elem_gt = B.gt val elem_eq = B.eq datatype Color = RED | BLACK abstype set = EMPTY | TREE of (B.elem * Color * set * set) with exception Select_arb val empty = EMPTY fun insert(key,t) = let fun f EMPTY = TREE(key,RED,EMPTY,EMPTY) | f (TREE(k,BLACK,l,r)) = if elem_gt (key,k) then case f r of r as TREE(rk,RED, rl as TREE(rlk,RED,rll,rlr),rr) => (case l of TREE(lk,RED,ll,lr) => TREE(k,RED,TREE(lk,BLACK,ll,lr), TREE(rk,BLACK,rl,rr)) | _ => TREE(rlk,BLACK,TREE(k,RED,l,rll), TREE(rk,RED,rlr,rr))) | r as TREE(rk,RED,rl, rr as TREE(rrk,RED,rrl,rrr)) => (case l of TREE(lk,RED,ll,lr) => TREE(k,RED,TREE(lk,BLACK,ll,lr), TREE(rk,BLACK,rl,rr)) | _ => TREE(rk,BLACK,TREE(k,RED,l,rl),rr)) | r => TREE(k,BLACK,l,r) else if elem_gt(k,key) then case f l of l as TREE(lk,RED,ll, lr as TREE(lrk,RED,lrl,lrr)) => (case r of TREE(rk,RED,rl,rr) => TREE(k,RED,TREE(lk,BLACK,ll,lr), TREE(rk,BLACK,rl,rr)) | _ => TREE(lrk,BLACK,TREE(lk,RED,ll,lrl), TREE(k,RED,lrr,r))) | l as TREE(lk,RED, ll as TREE(llk,RED,lll,llr), lr) => (case r of TREE(rk,RED,rl,rr) => TREE(k,RED,TREE(lk,BLACK,ll,lr), TREE(rk,BLACK,rl,rr)) | _ => TREE(lk,BLACK,ll,TREE(k,RED,lr,r))) | l => TREE(k,BLACK,l,r) else TREE(key,BLACK,l,r) | f (TREE(k,RED,l,r)) = if elem_gt(key,k) then TREE(k,RED,l, f r) else if elem_gt(k,key) then TREE(k,RED, f l, r) else TREE(key,RED,l,r) in case f t of TREE(k,RED, l as TREE(_,RED,_,_), r) => TREE(k,BLACK,l,r) | TREE(k,RED, l, r as TREE(_,RED,_,_)) => TREE(k,BLACK,l,r) | t => t end fun select_arb (TREE(k,_,l,r)) = k | select_arb EMPTY = raise Select_arb fun exists(key,t) = let fun look EMPTY = false | look (TREE(k,_,l,r)) = if elem_gt(k,key) then look l else if elem_gt(key,k) then look r else true in look t end fun find(key,t) = let fun look EMPTY = NONE | look (TREE(k,_,l,r)) = if elem_gt(k,key) then look l else if elem_gt(key,k) then look r else SOME k in look t end fun revfold f t start = let fun scan (EMPTY,value) = value | scan (TREE(k,_,l,r),value) = scan(r,f(k,scan(l,value))) in scan(t,start) end fun fold f t start = let fun scan(EMPTY,value) = value | scan(TREE(k,_,l,r),value) = scan(l,f(k,scan(r,value))) in scan(t,start) end fun app f t = let fun scan EMPTY = () | scan(TREE(k,_,l,r)) = (scan l; f k; scan r) in scan t end (* equal_tree : test if two trees are equal. Two trees are equal if the set of leaves are equal *) fun set_eq (tree1 as (TREE _),tree2 as (TREE _)) = let datatype pos = L | R | M exception Done fun getvalue(stack as ((a,position)::b)) = (case a of (TREE(k,_,l,r)) => (case position of L => getvalue ((l,L)::(a,M)::b) | M => (k,case r of EMPTY => b | _ => (a,R)::b) | R => getvalue ((r,L)::b) ) | EMPTY => getvalue b ) | getvalue(nil) = raise Done fun f (nil,nil) = true | f (s1 as (_ :: _),s2 as (_ :: _ )) = let val (v1,news1) = getvalue s1 and (v2,news2) = getvalue s2 in (elem_eq(v1,v2)) andalso f(news1,news2) end | f _ = false in f ((tree1,L)::nil,(tree2,L)::nil) handle Done => false end | set_eq (EMPTY,EMPTY) = true | set_eq _ = false (* gt_tree : Test if tree1 is greater than tree 2 *) fun set_gt (tree1,tree2) = let datatype pos = L | R | M exception Done fun getvalue(stack as ((a,position)::b)) = (case a of (TREE(k,_,l,r)) => (case position of L => getvalue ((l,L)::(a,M)::b) | M => (k,case r of EMPTY => b | _ => (a,R)::b) | R => getvalue ((r,L)::b) ) | EMPTY => getvalue b ) | getvalue(nil) = raise Done fun f (nil,nil) = false | f (s1 as (_ :: _),s2 as (_ :: _ )) = let val (v1,news1) = getvalue s1 and (v2,news2) = getvalue s2 in (elem_gt(v1,v2)) orelse (elem_eq(v1,v2) andalso f(news1,news2)) end | f (_,nil) = true | f (nil,_) = false in f ((tree1,L)::nil,(tree2,L)::nil) handle Done => false end fun is_empty S = (let val _ = select_arb S in false end handle Select_arb => true) fun make_list S = fold (op ::) S nil fun make_set l = List.foldr insert empty l fun partition F S = fold (fn (a,(Yes,No)) => if F(a) then (insert(a,Yes),No) else (Yes,insert(a,No))) S (empty,empty) fun remove(X, XSet) = let val (YSet, _) = partition (fn a => not (elem_eq (X, a))) XSet in YSet end fun difference(Xs, Ys) = fold (fn (p as (a,Xs')) => if exists(a,Ys) then Xs' else insert p) Xs empty fun singleton X = insert(X,empty) fun card(S) = fold (fn (_,count) => count+1) S 0 fun union(Xs,Ys)= fold insert Ys Xs local fun closure'(from, f, result) = if is_empty from then result else let val (more,result) = fold (fn (a,(more',result')) => let val more = f a val new = difference(more,result) in (union(more',new),union(result',new)) end) from (empty,result) in closure'(more,f,result) end in fun closure(start, f) = closure'(start, f, start) end end end (* signature TABLE = sig type 'a table type key val size : 'a table -> int val empty: 'a table val exists: (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end *) functor Table (B : sig type key val gt : (key * key) -> bool end ) : TABLE = struct datatype Color = RED | BLACK type key = B.key abstype 'a table = EMPTY | TREE of ((B.key * 'a ) * Color * 'a table * 'a table) with val empty = EMPTY fun insert(elem as (key,data),t) = let val key_gt = fn (a,_) => B.gt(key,a) val key_lt = fn (a,_) => B.gt(a,key) fun f EMPTY = TREE(elem,RED,EMPTY,EMPTY) | f (TREE(k,BLACK,l,r)) = if key_gt k then case f r of r as TREE(rk,RED, rl as TREE(rlk,RED,rll,rlr),rr) => (case l of TREE(lk,RED,ll,lr) => TREE(k,RED,TREE(lk,BLACK,ll,lr), TREE(rk,BLACK,rl,rr)) | _ => TREE(rlk,BLACK,TREE(k,RED,l,rll), TREE(rk,RED,rlr,rr))) | r as TREE(rk,RED,rl, rr as TREE(rrk,RED,rrl,rrr)) => (case l of TREE(lk,RED,ll,lr) => TREE(k,RED,TREE(lk,BLACK,ll,lr), TREE(rk,BLACK,rl,rr)) | _ => TREE(rk,BLACK,TREE(k,RED,l,rl),rr)) | r => TREE(k,BLACK,l,r) else if key_lt k then case f l of l as TREE(lk,RED,ll, lr as TREE(lrk,RED,lrl,lrr)) => (case r of TREE(rk,RED,rl,rr) => TREE(k,RED,TREE(lk,BLACK,ll,lr), TREE(rk,BLACK,rl,rr)) | _ => TREE(lrk,BLACK,TREE(lk,RED,ll,lrl), TREE(k,RED,lrr,r))) | l as TREE(lk,RED, ll as TREE(llk,RED,lll,llr), lr) => (case r of TREE(rk,RED,rl,rr) => TREE(k,RED,TREE(lk,BLACK,ll,lr), TREE(rk,BLACK,rl,rr)) | _ => TREE(lk,BLACK,ll,TREE(k,RED,lr,r))) | l => TREE(k,BLACK,l,r) else TREE(elem,BLACK,l,r) | f (TREE(k,RED,l,r)) = if key_gt k then TREE(k,RED,l, f r) else if key_lt k then TREE(k,RED, f l, r) else TREE(elem,RED,l,r) in case f t of TREE(k,RED, l as TREE(_,RED,_,_), r) => TREE(k,BLACK,l,r) | TREE(k,RED, l, r as TREE(_,RED,_,_)) => TREE(k,BLACK,l,r) | t => t end fun exists(key,t) = let fun look EMPTY = false | look (TREE((k,_),_,l,r)) = if B.gt(k,key) then look l else if B.gt(key,k) then look r else true in look t end fun find(key,t) = let fun look EMPTY = NONE | look (TREE((k,data),_,l,r)) = if B.gt(k,key) then look l else if B.gt(key,k) then look r else SOME data in look t end fun fold f t start = let fun scan(EMPTY,value) = value | scan(TREE(k,_,l,r),value) = scan(l,f(k,scan(r,value))) in scan(t,start) end fun make_table l = List.foldr insert empty l fun size S = fold (fn (_,count) => count+1) S 0 fun make_list table = fold (op ::) table nil end end; (* assumes that a functor Table with signature TABLE from table.sml is in the environment *) (* signature HASH = sig type table type elem val size : table -> int val add : elem * table -> table val find : elem * table -> int option val exists : elem * table -> bool val empty : table end *) (* hash: creates a hash table of size n which assigns each distinct member a unique integer between 0 and n-1 *) functor Hash(B : sig type elem val gt : elem * elem -> bool end) : HASH = struct type elem=B.elem structure HashTable = Table(type key=B.elem val gt = B.gt) type table = {count : int, table : int HashTable.table} val empty = {count=0,table=HashTable.empty} val size = fn {count,table} => count val add = fn (e,{count,table}) => {count=count+1,table=HashTable.insert((e,count),table)} val find = fn (e,{table,count}) => HashTable.find(e,table) val exists = fn (e,{table,count}) => HashTable.exists(e,table) end; smlsharp-1.2.0/benchmark/benchmarks/mlyacc/verbose.smi0000644 000000000000000000000634112050661606023205 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "base.sig" _require "utils.sig" _require "sigs.sml" functor mkVerbose( A : sig structure Errs : sig structure LrTable : sig datatype ('a,'b) pairlist = EMPTY | PAIR of 'a * 'b * ('a,'b) pairlist datatype state = STATE of int datatype term = T of int datatype nonterm = NT of int datatype action = SHIFT of state | REDUCE of int | ACCEPT | ERROR type table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto of state * nonterm val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end datatype err = RR of LrTable.term * LrTable.state * int * int | SR of LrTable.term * LrTable.state * int | NS of LrTable.term * int | NOT_REDUCED of int | START of int val summary : err list -> {rr : int, sr: int, not_reduced : int, start : int,nonshift : int} val printSummary : (string -> unit) -> err list -> unit end end ) = struct structure Errs = struct structure LrTable = struct datatype pairlist = datatype A.Errs.LrTable.pairlist datatype state = datatype A.Errs.LrTable.state datatype term = datatype A.Errs.LrTable.term datatype nonterm = datatype A.Errs.LrTable.nonterm datatype action = datatype A.Errs.LrTable.action type table = A.Errs.LrTable.table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto = A.Errs.LrTable.Goto val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end datatype err = datatype A.Errs.err val summary : err list -> {rr : int, sr: int, not_reduced : int, start : int,nonshift : int} val printSummary : (string -> unit) -> err list -> unit end val printVerbose : {table : Errs.LrTable.table, entries : int, termToString : Errs.LrTable.term -> string, nontermToString : Errs.LrTable.nonterm -> string, stateErrs : Errs.LrTable.state -> Errs.err list, errs : Errs.err list, print: string -> unit, printCores : (string -> unit) -> Errs.LrTable.state -> unit, printRule : (string -> unit) -> int -> unit} -> unit end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/verbose.sml0000644 000000000000000000001133012050661606023202 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi * * $Log$ * Revision 1.2 1996/02/26 15:02:39 george * print no longer overloaded. * use of makestring has been removed and replaced with Int.toString .. * use of IO replaced with TextIO * * Revision 1.1.1.1 1996/01/31 16:01:47 george * Version 109 * *) functor mkVerbose(structure Errs : LR_ERRS) : VERBOSE = struct structure Errs = Errs open Errs Errs.LrTable val mkPrintAction = fn print => let val printInt = print o (Int.toString : int -> string) in fn (SHIFT (STATE i)) => (print "\tshift "; printInt i; print "\n") | (REDUCE rulenum) => (print "\treduce by rule "; printInt rulenum; print "\n") | ACCEPT => print "\taccept\n" | ERROR => print "\terror\n" end val mkPrintGoto = fn (printNonterm,print) => let val printInt = print o (Int.toString : int -> string) in fn (nonterm,STATE i) => (print "\t"; printNonterm nonterm; print "\tgoto "; printInt i; print "\n") end val mkPrintTermAction = fn (printTerm,print) => let val printAction = mkPrintAction print in fn (term,action) => (print "\t"; printTerm term; printAction action) end val mkPrintGoto = fn (printNonterm,print) => fn (nonterm,STATE i) => let val printInt = print o (Int.toString : int -> string) in (print "\t"; printNonterm nonterm; print "\tgoto "; printInt i; print "\n") end val mkPrintError = fn (printTerm,printRule,print) => let val printInt = print o (Int.toString : int -> string) val printState = fn STATE s => (print " state "; printInt s) in fn (RR (term,state,r1,r2)) => (print "error: "; printState state; print ": reduce/reduce conflict between rule "; printInt r1; print " and rule "; printInt r2; print " on "; printTerm term; print "\n") | (SR (term,state,r1)) => (print "error: "; printState state; print ": shift/reduce conflict "; print "(shift "; printTerm term; print ", reduce by rule "; printInt r1; print ")\n") | NOT_REDUCED i => (print "warning: rule <"; printRule i; print "> will never be reduced\n") | START i => (print "warning: start symbol appears on the rhs of "; print "<"; printRule i; print ">\n") | NS (term,i) => (print "warning: non-shiftable terminal "; printTerm term; print "appears on the rhs of "; print "<"; printRule i; print ">\n") end structure PairList : sig val app : ('a * 'b -> unit) -> ('a,'b) pairlist -> unit val length : ('a,'b) pairlist -> int end = struct val app = fn f => let fun g EMPTY = () | g (PAIR(a,b,r)) = (f(a,b); g r) in g end val length = fn l => let fun g(EMPTY,len) = len | g(PAIR(_,_,r),len) = g(r,len+1) in g(l,0) end end val printVerbose = fn {termToString,nontermToString,table,stateErrs,entries:int, print,printRule,errs,printCores} => let val printTerm = print o termToString val printNonterm = print o nontermToString val printCore = printCores print val printTermAction = mkPrintTermAction(printTerm,print) val printAction = mkPrintAction print val printGoto = mkPrintGoto(printNonterm,print) val printError = mkPrintError(printTerm,printRule print,print) val gotos = LrTable.describeGoto table val actions = LrTable.describeActions table val states = numStates table val gotoTableSize = ref 0 val actionTableSize = ref 0 val _ = if length errs > 0 then (printSummary print errs; print "\n"; app printError errs) else () fun loop i = if i=states then () else let val s = STATE i in (app printError (stateErrs s); print "\n"; printCore s; let val (actionList,default) = actions s val gotoList = gotos s in (PairList.app printTermAction actionList; print "\n"; PairList.app printGoto gotoList; print "\n"; print "\t."; printAction default; print "\n"; gotoTableSize:=(!gotoTableSize)+ PairList.length gotoList; actionTableSize := (!actionTableSize) + PairList.length actionList + 1 ) end; loop (i+1)) end in loop 0; print (Int.toString entries ^ " of " ^ Int.toString (!actionTableSize)^ " action table entries left after compaction\n"); print (Int.toString (!gotoTableSize)^ " goto table entries\n") end end; smlsharp-1.2.0/benchmark/benchmarks/mlyacc/yacc.grm.sig0000644 000000000000000000000405512050661606023235 0ustar00rootroot0000000 0000000 signature Mlyacc_TOKENS = sig type ('a,'b) token type svalue val BOGUS_VALUE: 'a * 'a -> (svalue,'a) token val UNKNOWN: (string) * 'a * 'a -> (svalue,'a) token val VALUE: 'a * 'a -> (svalue,'a) token val VERBOSE: 'a * 'a -> (svalue,'a) token val TYVAR: (string) * 'a * 'a -> (svalue,'a) token val TERM: 'a * 'a -> (svalue,'a) token val START: 'a * 'a -> (svalue,'a) token val SUBST: 'a * 'a -> (svalue,'a) token val RPAREN: 'a * 'a -> (svalue,'a) token val RBRACE: 'a * 'a -> (svalue,'a) token val PROG: (string) * 'a * 'a -> (svalue,'a) token val PREFER: 'a * 'a -> (svalue,'a) token val PREC_TAG: 'a * 'a -> (svalue,'a) token val PREC: (Header.prec) * 'a * 'a -> (svalue,'a) token val PERCENT_ARG: 'a * 'a -> (svalue,'a) token val PERCENT_POS: 'a * 'a -> (svalue,'a) token val PERCENT_PURE: 'a * 'a -> (svalue,'a) token val PERCENT_EOP: 'a * 'a -> (svalue,'a) token val OF: 'a * 'a -> (svalue,'a) token val NOSHIFT: 'a * 'a -> (svalue,'a) token val NONTERM: 'a * 'a -> (svalue,'a) token val NODEFAULT: 'a * 'a -> (svalue,'a) token val NAME: 'a * 'a -> (svalue,'a) token val LPAREN: 'a * 'a -> (svalue,'a) token val LBRACE: 'a * 'a -> (svalue,'a) token val KEYWORD: 'a * 'a -> (svalue,'a) token val INT: (string) * 'a * 'a -> (svalue,'a) token val PERCENT_HEADER: 'a * 'a -> (svalue,'a) token val IDDOT: (string) * 'a * 'a -> (svalue,'a) token val ID: (string*int) * 'a * 'a -> (svalue,'a) token val HEADER: (string) * 'a * 'a -> (svalue,'a) token val FOR: 'a * 'a -> (svalue,'a) token val EOF: 'a * 'a -> (svalue,'a) token val DELIMITER: 'a * 'a -> (svalue,'a) token val COMMA: 'a * 'a -> (svalue,'a) token val COLON: 'a * 'a -> (svalue,'a) token val CHANGE: 'a * 'a -> (svalue,'a) token val BAR: 'a * 'a -> (svalue,'a) token val BLOCK: 'a * 'a -> (svalue,'a) token val ASTERISK: 'a * 'a -> (svalue,'a) token val ARROW: 'a * 'a -> (svalue,'a) token end signature Mlyacc_LRVALS= sig structure Tokens : Mlyacc_TOKENS structure ParserData:PARSER_DATA sharing type ParserData.Token.token = Tokens.token sharing type ParserData.svalue = Tokens.svalue end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/yacc.grm.smi0000644 000000000000000000002654412050661606023252 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "base.sig" _require "lrtable.smi" _require "utils.sig" _require "sigs.sml" _require "hdr.smi" _require "yacc.grm.sig" functor MlyaccLrValsFun( A : sig structure Hdr : sig type pos = int val lineno : pos ref val text : string list ref type inputSource val newSource : string * TextIO.instream * TextIO.outstream -> inputSource val error : inputSource -> pos -> string -> unit val warn : inputSource -> pos -> string -> unit val errorOccurred : inputSource -> unit -> bool datatype symbol = SYMBOL of string * pos val symbolName : symbol -> string val symbolPos : symbol -> pos val symbolMake : string * int -> symbol type ty val tyName : ty -> string val tyMake : string -> ty datatype prec = LEFT | RIGHT | NONASSOC datatype control = NODEFAULT | VERBOSE | PARSER_NAME of symbol | FUNCTOR of string | START_SYM of symbol | NSHIFT of symbol list | POS of string | PURE | PARSE_ARG of string * string datatype rule = RULE of {lhs : symbol, rhs : symbol list, code : string, prec : symbol option} datatype declData = DECL of {eop : symbol list, keyword : symbol list, nonterm : (symbol * ty option) list option, prec : (prec * (symbol list)) list, change: (symbol list * symbol list) list, term : (symbol * ty option) list option, control : control list, value : (symbol * string) list} val join_decls : declData * declData * inputSource * pos -> declData type parseResult val getResult : parseResult -> string * declData * rule list end where type prec = Header.prec structure Token : sig structure LrTable : sig datatype ('a,'b) pairlist = EMPTY | PAIR of 'a * 'b * ('a,'b) pairlist datatype state = STATE of int datatype term = T of int datatype nonterm = NT of int datatype action = SHIFT of state | REDUCE of int | ACCEPT | ERROR type table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto of state * nonterm val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end datatype ('a,'b) token = TOKEN of LrTable.term * ('a * 'b * 'b) val sameToken : ('a,'b) token * ('a,'b) token -> bool end end ) = struct structure ParserData = struct structure Header = struct type pos = A.Hdr.pos val lineno : pos ref val text : string list ref type inputSource = A.Hdr.inputSource val newSource : string * TextIO.instream * TextIO.outstream -> inputSource val error : inputSource -> pos -> string -> unit val warn : inputSource -> pos -> string -> unit val errorOccurred : inputSource -> unit -> bool datatype symbol = datatype A.Hdr.symbol val symbolName : symbol -> string val symbolPos : symbol -> pos val symbolMake : string * int -> symbol type ty = A.Hdr.ty val tyName : ty -> string val tyMake : string -> ty datatype prec = datatype A.Hdr.prec datatype control = datatype A.Hdr.control datatype rule = datatype A.Hdr.rule datatype declData = datatype A.Hdr.declData val join_decls : declData * declData * inputSource * pos -> declData type parseResult = A.Hdr.parseResult val getResult : parseResult -> string * declData * rule list end structure LrTable = struct datatype pairlist = datatype A.Token.LrTable.pairlist datatype state = datatype A.Token.LrTable.state datatype term = datatype A.Token.LrTable.term datatype nonterm = datatype A.Token.LrTable.nonterm datatype action = datatype A.Token.LrTable.action type table = A.Token.LrTable.table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto = A.Token.LrTable.Goto val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end structure Token = struct structure LrTable = struct datatype pairlist = datatype A.Token.LrTable.pairlist datatype state = datatype A.Token.LrTable.state datatype term = datatype A.Token.LrTable.term datatype nonterm = datatype A.Token.LrTable.nonterm datatype action = datatype A.Token.LrTable.action type table = A.Token.LrTable.table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto = A.Token.LrTable.Goto val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end datatype token = datatype A.Token.token val sameToken : ('a,'b) token * ('a,'b) token -> bool end val table : LrTable.table type pos = int type arg = A.Hdr.inputSource structure MlyValue = struct datatype svalue = BEGIN of unit -> string * A.Hdr.declData * A.Hdr.rule list | CHANGE_DEC of unit -> A.Hdr.symbol list * A.Hdr.symbol list | CHANGE_DECL of unit -> (A.Hdr.symbol list * A.Hdr.symbol list) list | CONSTR_LIST of unit -> (A.Hdr.symbol * A.Hdr.ty option) list | G_RULE of unit -> A.Hdr.rule list | G_RULE_LIST of unit -> A.Hdr.rule list | G_RULE_PREC of unit -> A.Hdr.symbol option | HEADER of unit -> string | ID of unit -> string * int | IDDOT of unit -> string | ID_LIST of unit -> A.Hdr.symbol list | INT of unit -> string | LABEL of unit -> string | MPC_DECL of unit -> A.Hdr.declData | MPC_DECLS of unit -> A.Hdr.declData | PREC of unit -> A.Hdr.prec | PROG of unit -> string | QUAL_ID of unit -> string | RECORD_LIST of unit -> string | RHS_LIST of unit -> {code:string, prec:A.Hdr.symbol option, rhs:A.Hdr.symbol list} list | SUBST_DEC of unit -> A.Hdr.symbol list * A.Hdr.symbol list | SUBST_DECL of unit -> (A.Hdr.symbol list * A.Hdr.symbol list) list | TY of unit -> string | TYVAR of unit -> string | UNKNOWN of unit -> string | VOID | ntVOID of unit -> unit end type svalue = MlyValue.svalue type result = string * A.Hdr.declData * A.Hdr.rule list structure EC = struct datatype pairlist = datatype LrTable.pairlist datatype state = datatype LrTable.state datatype term = datatype LrTable.term datatype nonterm = datatype LrTable.nonterm datatype action = datatype LrTable.action type table = LrTable.table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto = A.Token.LrTable.Goto val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table val is_keyword : 'a -> bool val preferred_change : (LrTable.term list * LrTable.term list) list val noShift : LrTable.term -> bool val showTerminal : LrTable.term -> string val errtermvalue : 'a -> svalue val terms : LrTable.term list end structure Actions = struct exception mlyAction of int val actions : int * pos * ('a * (svalue * pos * pos)) list * arg -> LrTable.nonterm * (svalue * pos * pos) * ('a * (svalue * pos * pos)) list val void : svalue val extract : svalue -> string * A.Hdr.declData * A.Hdr.rule list end end structure Tokens = struct type svalue = ParserData.svalue type ('a,'b) token = ('a,'b) ParserData.Token.token val BOGUS_VALUE : 'a * 'a -> (svalue,'a) token val UNKNOWN : string * 'a * 'a -> (svalue,'a) token val VALUE : 'a * 'a -> (svalue,'a) token val VERBOSE : 'a * 'a -> (svalue,'a) token val TYVAR : string * 'a * 'a -> (svalue,'a) token val TERM : 'a * 'a -> (svalue,'a) token val START : 'a * 'a -> (svalue,'a) token val SUBST : 'a * 'a -> (svalue,'a) token val RPAREN : 'a * 'a -> (svalue,'a) token val RBRACE : 'a * 'a -> (svalue,'a) token val PROG : string * 'a * 'a -> (svalue,'a) token val PREFER : 'a * 'a -> (svalue,'a) token val PREC_TAG : 'a * 'a -> (svalue,'a) token val PREC : Header.prec * 'a * 'a -> (svalue,'a) token val PERCENT_ARG : 'a * 'a -> (svalue,'a) token val PERCENT_POS : 'a * 'a -> (svalue,'a) token val PERCENT_PURE : 'a * 'a -> (svalue,'a) token val PERCENT_EOP : 'a * 'a -> (svalue,'a) token val OF : 'a * 'a -> (svalue,'a) token val NOSHIFT : 'a * 'a -> (svalue,'a) token val NONTERM : 'a * 'a -> (svalue,'a) token val NODEFAULT : 'a * 'a -> (svalue,'a) token val NAME : 'a * 'a -> (svalue,'a) token val LPAREN : 'a * 'a -> (svalue,'a) token val LBRACE : 'a * 'a -> (svalue,'a) token val KEYWORD : 'a * 'a -> (svalue,'a) token val INT : string * 'a * 'a -> (svalue,'a) token val PERCENT_HEADER : 'a * 'a -> (svalue,'a) token val IDDOT : string * 'a * 'a -> (svalue,'a) token val ID : (string * int) * 'a * 'a -> (svalue,'a) token val HEADER : string * 'a * 'a -> (svalue,'a) token val FOR : 'a * 'a -> (svalue,'a) token val EOF : 'a * 'a -> (svalue,'a) token val DELIMITER : 'a * 'a -> (svalue,'a) token val COMMA : 'a * 'a -> (svalue,'a) token val COLON : 'a * 'a -> (svalue,'a) token val CHANGE : 'a * 'a -> (svalue,'a) token val BAR : 'a * 'a -> (svalue,'a) token val BLOCK : 'a * 'a -> (svalue,'a) token val ASTERISK : 'a * 'a -> (svalue,'a) token val ARROW : 'a * 'a -> (svalue,'a) token end end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/yacc.grm.sml0000644 000000000000000000010046112050661606023244 0ustar00rootroot0000000 0000000 functor MlyaccLrValsFun(structure Hdr : HEADER where type prec = Header.prec structure Token : TOKEN) = struct structure ParserData= struct structure Header = struct (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi *) (* parser for the ML parser generator *) open Hdr end structure LrTable = Token.LrTable structure Token = Token local open LrTable in val table=let val actionRows = "\ \\001\000\001\000\074\000\000\000\ \\001\000\005\000\024\000\008\000\023\000\014\000\022\000\016\000\021\000\ \\019\000\020\000\020\000\019\000\021\000\018\000\022\000\017\000\ \\024\000\016\000\025\000\015\000\026\000\014\000\027\000\013\000\ \\028\000\012\000\030\000\011\000\034\000\010\000\035\000\009\000\ \\036\000\008\000\038\000\007\000\039\000\006\000\000\000\ \\001\000\006\000\061\000\000\000\ \\001\000\006\000\072\000\000\000\ \\001\000\006\000\084\000\000\000\ \\001\000\006\000\096\000\000\000\ \\001\000\007\000\083\000\032\000\082\000\000\000\ \\001\000\009\000\000\000\000\000\ \\001\000\010\000\059\000\000\000\ \\001\000\011\000\003\000\000\000\ \\001\000\012\000\025\000\000\000\ \\001\000\012\000\027\000\000\000\ \\001\000\012\000\028\000\000\000\ \\001\000\012\000\031\000\000\000\ \\001\000\012\000\042\000\013\000\041\000\000\000\ \\001\000\012\000\042\000\013\000\041\000\017\000\040\000\031\000\039\000\ \\037\000\038\000\000\000\ \\001\000\012\000\046\000\000\000\ \\001\000\012\000\051\000\000\000\ \\001\000\012\000\069\000\015\000\068\000\000\000\ \\001\000\012\000\069\000\015\000\068\000\032\000\067\000\000\000\ \\001\000\012\000\075\000\000\000\ \\001\000\012\000\078\000\000\000\ \\001\000\012\000\099\000\000\000\ \\001\000\031\000\035\000\000\000\ \\001\000\031\000\048\000\000\000\ \\001\000\031\000\055\000\000\000\ \\001\000\031\000\098\000\000\000\ \\001\000\031\000\102\000\000\000\ \\104\000\012\000\051\000\000\000\ \\105\000\000\000\ \\106\000\000\000\ \\107\000\004\000\056\000\000\000\ \\108\000\004\000\056\000\000\000\ \\109\000\000\000\ \\110\000\000\000\ \\111\000\000\000\ \\112\000\000\000\ \\113\000\000\000\ \\114\000\000\000\ \\115\000\000\000\ \\116\000\000\000\ \\117\000\000\000\ \\118\000\000\000\ \\119\000\001\000\064\000\002\000\063\000\012\000\042\000\013\000\041\000\000\000\ \\120\000\000\000\ \\121\000\000\000\ \\122\000\000\000\ \\123\000\001\000\064\000\002\000\063\000\012\000\042\000\013\000\041\000\000\000\ \\124\000\000\000\ \\125\000\000\000\ \\126\000\004\000\073\000\000\000\ \\127\000\000\000\ \\128\000\000\000\ \\129\000\004\000\058\000\000\000\ \\130\000\000\000\ \\131\000\001\000\064\000\002\000\063\000\012\000\042\000\013\000\041\000\000\000\ \\132\000\023\000\089\000\000\000\ \\133\000\001\000\064\000\002\000\063\000\012\000\042\000\013\000\041\000\000\000\ \\134\000\023\000\057\000\000\000\ \\135\000\004\000\092\000\000\000\ \\136\000\000\000\ \\137\000\000\000\ \\138\000\000\000\ \\139\000\012\000\033\000\000\000\ \\140\000\000\000\ \\141\000\000\000\ \\142\000\000\000\ \\143\000\000\000\ \\144\000\000\000\ \\145\000\000\000\ \\146\000\000\000\ \\147\000\000\000\ \\148\000\012\000\042\000\013\000\041\000\000\000\ \\149\000\001\000\064\000\002\000\063\000\012\000\042\000\013\000\041\000\000\000\ \\150\000\001\000\064\000\002\000\063\000\012\000\042\000\013\000\041\000\000\000\ \\151\000\001\000\064\000\002\000\063\000\012\000\042\000\013\000\041\000\000\000\ \\152\000\000\000\ \\153\000\000\000\ \\154\000\000\000\ \\155\000\000\000\ \\156\000\000\000\ \\157\000\029\000\094\000\000\000\ \" val actionRowNumbers = "\009\000\030\000\001\000\029\000\ \\010\000\044\000\011\000\012\000\ \\013\000\063\000\063\000\023\000\ \\015\000\046\000\063\000\063\000\ \\011\000\045\000\016\000\063\000\ \\024\000\017\000\063\000\025\000\ \\031\000\058\000\034\000\053\000\ \\039\000\008\000\037\000\063\000\ \\033\000\002\000\047\000\071\000\ \\066\000\069\000\019\000\014\000\ \\076\000\035\000\040\000\032\000\ \\042\000\036\000\041\000\028\000\ \\061\000\003\000\050\000\038\000\ \\000\000\048\000\020\000\015\000\ \\013\000\021\000\062\000\015\000\ \\070\000\015\000\015\000\006\000\ \\004\000\068\000\079\000\078\000\ \\077\000\060\000\063\000\063\000\ \\063\000\056\000\057\000\052\000\ \\054\000\043\000\072\000\073\000\ \\067\000\018\000\015\000\059\000\ \\081\000\049\000\051\000\015\000\ \\005\000\075\000\063\000\026\000\ \\022\000\055\000\015\000\081\000\ \\064\000\080\000\074\000\027\000\ \\065\000\007\000" val gotoT = "\ \\001\000\101\000\000\000\ \\006\000\002\000\000\000\ \\005\000\003\000\000\000\ \\000\000\ \\000\000\ \\000\000\ \\002\000\024\000\000\000\ \\000\000\ \\013\000\028\000\014\000\027\000\000\000\ \\003\000\030\000\000\000\ \\003\000\032\000\000\000\ \\000\000\ \\007\000\035\000\017\000\034\000\000\000\ \\000\000\ \\003\000\041\000\000\000\ \\003\000\042\000\000\000\ \\002\000\043\000\000\000\ \\000\000\ \\000\000\ \\003\000\045\000\000\000\ \\000\000\ \\010\000\048\000\011\000\047\000\000\000\ \\003\000\052\000\015\000\051\000\016\000\050\000\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\003\000\058\000\000\000\ \\000\000\ \\000\000\ \\007\000\060\000\000\000\ \\000\000\ \\000\000\ \\000\000\ \\004\000\064\000\008\000\063\000\000\000\ \\007\000\068\000\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\010\000\069\000\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\007\000\035\000\017\000\074\000\000\000\ \\013\000\075\000\014\000\027\000\000\000\ \\000\000\ \\000\000\ \\007\000\035\000\017\000\077\000\000\000\ \\000\000\ \\007\000\035\000\017\000\078\000\000\000\ \\007\000\035\000\017\000\079\000\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\003\000\084\000\009\000\083\000\000\000\ \\003\000\052\000\015\000\085\000\016\000\050\000\000\000\ \\003\000\086\000\000\000\ \\000\000\ \\007\000\060\000\000\000\ \\000\000\ \\000\000\ \\007\000\060\000\000\000\ \\007\000\060\000\000\000\ \\007\000\060\000\000\000\ \\000\000\ \\004\000\088\000\000\000\ \\007\000\035\000\017\000\089\000\000\000\ \\000\000\ \\012\000\091\000\000\000\ \\000\000\ \\000\000\ \\007\000\035\000\017\000\093\000\000\000\ \\000\000\ \\007\000\060\000\000\000\ \\003\000\095\000\000\000\ \\000\000\ \\000\000\ \\007\000\060\000\000\000\ \\007\000\035\000\017\000\098\000\000\000\ \\012\000\099\000\000\000\ \\000\000\ \\000\000\ \\007\000\060\000\000\000\ \\000\000\ \\000\000\ \\000\000\ \" val numstates = 102 val numrules = 54 val s = ref "" and index = ref 0 val string_to_int = fn () => let val i = !index in index := i+2; Char.ord(String.sub(!s,i)) + Char.ord(String.sub(!s,i+1)) * 256 end val string_to_list = fn s' => let val len = String.size s' fun f () = if !index < len then string_to_int() :: f() else nil in index := 0; s := s'; f () end val string_to_pairlist = fn (conv_key,conv_entry) => let fun f () = case string_to_int() of 0 => EMPTY | n => PAIR(conv_key (n-1),conv_entry (string_to_int()),f()) in f end val string_to_pairlist_default = fn (conv_key,conv_entry) => let val conv_row = string_to_pairlist(conv_key,conv_entry) in fn () => let val default = conv_entry(string_to_int()) val row = conv_row() in (row,default) end end val string_to_table = fn (convert_row,s') => let val len = String.size s' fun f ()= if !index < len then convert_row() :: f() else nil in (s := s'; index := 0; f ()) end local val memo = Array.array(numstates+numrules,ERROR) val _ =let fun g i=(Array.update(memo,i,REDUCE(i-numstates)); g(i+1)) fun f i = if i=numstates then g i else (Array.update(memo,i,SHIFT (STATE i)); f (i+1)) in f 0 handle Subscript => () end in val entry_to_action = fn 0 => ACCEPT | 1 => ERROR | j => Array.sub(memo,(j-2)) end val gotoT=Array.fromList(string_to_table(string_to_pairlist(NT,STATE),gotoT)) val actionRows=string_to_table(string_to_pairlist_default(T,entry_to_action),actionRows) val actionRowNumbers = string_to_list actionRowNumbers val actionT = let val actionRowLookUp= let val a=Array.fromList(actionRows) in fn i=>Array.sub(a,i) end in Array.fromList(map actionRowLookUp actionRowNumbers) end in LrTable.mkLrTable {actions=actionT,gotos=gotoT,numRules=numrules, numStates=numstates,initialState=STATE 0} end end local open Header in type pos = int type arg = Hdr.inputSource structure MlyValue = struct datatype svalue = VOID | ntVOID of unit -> unit | UNKNOWN of unit -> (string) | TYVAR of unit -> (string) | PROG of unit -> (string) | PREC of unit -> (Header.prec) | INT of unit -> (string) | IDDOT of unit -> (string) | ID of unit -> (string*int) | HEADER of unit -> (string) | TY of unit -> (string) | CHANGE_DEC of unit -> ( ( Hdr.symbol list * Hdr.symbol list ) ) | CHANGE_DECL of unit -> ( ( Hdr.symbol list * Hdr.symbol list ) list) | SUBST_DEC of unit -> ( ( Hdr.symbol list * Hdr.symbol list ) ) | SUBST_DECL of unit -> ( ( Hdr.symbol list * Hdr.symbol list ) list) | G_RULE_PREC of unit -> (Hdr.symbol option) | G_RULE_LIST of unit -> (Hdr.rule list) | G_RULE of unit -> (Hdr.rule list) | RHS_LIST of unit -> ({ rhs:Hdr.symbol list,code:string,prec:Hdr.symbol option } list) | RECORD_LIST of unit -> (string) | QUAL_ID of unit -> (string) | MPC_DECLS of unit -> (Hdr.declData) | MPC_DECL of unit -> (Hdr.declData) | LABEL of unit -> (string) | ID_LIST of unit -> (Hdr.symbol list) | CONSTR_LIST of unit -> ( ( Hdr.symbol * Hdr.ty option ) list) | BEGIN of unit -> (string*Hdr.declData* ( Hdr.rule list ) ) end type svalue = MlyValue.svalue type result = string*Hdr.declData* ( Hdr.rule list ) end structure EC= struct open LrTable val is_keyword = fn _ => false val preferred_change = nil val noShift = fn (T 8) => true | _ => false val showTerminal = fn (T 0) => "ARROW" | (T 1) => "ASTERISK" | (T 2) => "BLOCK" | (T 3) => "BAR" | (T 4) => "CHANGE" | (T 5) => "COLON" | (T 6) => "COMMA" | (T 7) => "DELIMITER" | (T 8) => "EOF" | (T 9) => "FOR" | (T 10) => "HEADER" | (T 11) => "ID" | (T 12) => "IDDOT" | (T 13) => "PERCENT_HEADER" | (T 14) => "INT" | (T 15) => "KEYWORD" | (T 16) => "LBRACE" | (T 17) => "LPAREN" | (T 18) => "NAME" | (T 19) => "NODEFAULT" | (T 20) => "NONTERM" | (T 21) => "NOSHIFT" | (T 22) => "OF" | (T 23) => "PERCENT_EOP" | (T 24) => "PERCENT_PURE" | (T 25) => "PERCENT_POS" | (T 26) => "PERCENT_ARG" | (T 27) => "PREC" | (T 28) => "PREC_TAG" | (T 29) => "PREFER" | (T 30) => "PROG" | (T 31) => "RBRACE" | (T 32) => "RPAREN" | (T 33) => "SUBST" | (T 34) => "START" | (T 35) => "TERM" | (T 36) => "TYVAR" | (T 37) => "VERBOSE" | (T 38) => "VALUE" | (T 39) => "UNKNOWN" | (T 40) => "BOGUS_VALUE" | _ => "bogus-term" local open Header in val errtermvalue= fn _ => MlyValue.VOID end val terms = (T 0) :: (T 1) :: (T 2) :: (T 3) :: (T 4) :: (T 5) :: (T 6 ) :: (T 7) :: (T 8) :: (T 9) :: (T 13) :: (T 15) :: (T 16) :: (T 17) :: (T 18) :: (T 19) :: (T 20) :: (T 21) :: (T 22) :: (T 23) :: (T 24) :: (T 25) :: (T 26) :: (T 28) :: (T 29) :: (T 31) :: (T 32) :: (T 33) :: (T 34) :: (T 35) :: (T 37) :: (T 38) :: (T 40) :: nil end structure Actions = struct exception mlyAction of int local open Header in val actions = fn (i392,defaultPos,stack, (inputSource):arg) => case (i392,stack) of (0,(_,(MlyValue.G_RULE_LIST G_RULE_LIST1,_,G_RULE_LIST1right))::_:: (_,(MlyValue.MPC_DECLS MPC_DECLS1,_,_))::(_,(MlyValue.HEADER HEADER1, HEADER1left,_))::rest671) => let val result=MlyValue.BEGIN(fn _ => let val HEADER as HEADER1=HEADER1 () val MPC_DECLS as MPC_DECLS1=MPC_DECLS1 () val G_RULE_LIST as G_RULE_LIST1=G_RULE_LIST1 () in (HEADER,MPC_DECLS,rev G_RULE_LIST) end ) in (LrTable.NT 0,(result,HEADER1left,G_RULE_LIST1right),rest671) end | (1,(_,(MlyValue.MPC_DECL MPC_DECL1,MPC_DECLleft,MPC_DECL1right))::(_ ,(MlyValue.MPC_DECLS MPC_DECLS1,MPC_DECLS1left,_))::rest671) => let val result=MlyValue.MPC_DECLS(fn _ => let val MPC_DECLS as MPC_DECLS1= MPC_DECLS1 () val MPC_DECL as MPC_DECL1=MPC_DECL1 () in (join_decls(MPC_DECLS,MPC_DECL,inputSource,MPC_DECLleft)) end ) in (LrTable.NT 5,(result,MPC_DECLS1left,MPC_DECL1right),rest671) end | (2,rest671) => let val result=MlyValue.MPC_DECLS(fn _ => ( DECL {prec=nil,nonterm=NONE,term=NONE,eop=nil,control=nil, keyword=nil,change=nil, value=nil} )) in (LrTable.NT 5,(result,defaultPos,defaultPos),rest671) end | (3,(_,(MlyValue.CONSTR_LIST CONSTR_LIST1,_,CONSTR_LIST1right))::(_,( _,TERM1left,_))::rest671) => let val result=MlyValue.MPC_DECL(fn _ => let val CONSTR_LIST as CONSTR_LIST1=CONSTR_LIST1 () in ( DECL { prec=nil,nonterm=NONE, term = SOME CONSTR_LIST, eop =nil,control=nil, change=nil,keyword=nil, value=nil} ) end ) in (LrTable.NT 4,(result,TERM1left,CONSTR_LIST1right),rest671) end | (4,(_,(MlyValue.CONSTR_LIST CONSTR_LIST1,_,CONSTR_LIST1right))::(_,( _,NONTERM1left,_))::rest671) => let val result=MlyValue.MPC_DECL(fn _ => let val CONSTR_LIST as CONSTR_LIST1=CONSTR_LIST1 () in ( DECL { prec=nil,control=nil,nonterm= SOME CONSTR_LIST, term = NONE, eop=nil,change=nil,keyword=nil, value=nil} ) end ) in (LrTable.NT 4,(result,NONTERM1left,CONSTR_LIST1right),rest671) end | (5,(_,(MlyValue.ID_LIST ID_LIST1,_,ID_LIST1right))::(_,( MlyValue.PREC PREC1,PREC1left,_))::rest671) => let val result= MlyValue.MPC_DECL(fn _ => let val PREC as PREC1=PREC1 () val ID_LIST as ID_LIST1=ID_LIST1 () in ( DECL {prec= [(PREC,ID_LIST)],control=nil, nonterm=NONE,term=NONE,eop=nil,change=nil, keyword=nil,value=nil} ) end ) in (LrTable.NT 4,(result,PREC1left,ID_LIST1right),rest671) end | (6,(_,(MlyValue.ID ID1,_,ID1right))::(_,(_,START1left,_))::rest671) => let val result=MlyValue.MPC_DECL(fn _ => let val ID as ID1=ID1 () in ( DECL {prec=nil,control=[START_SYM (symbolMake ID)],nonterm=NONE, term = NONE, eop = nil,change=nil,keyword=nil, value=nil} ) end ) in (LrTable.NT 4,(result,START1left,ID1right),rest671) end | (7,(_,(MlyValue.ID_LIST ID_LIST1,_,ID_LIST1right))::(_,(_, PERCENT_EOP1left,_))::rest671) => let val result=MlyValue.MPC_DECL(fn _ => let val ID_LIST as ID_LIST1=ID_LIST1 () in ( DECL {prec=nil,control=nil,nonterm=NONE,term=NONE, eop=ID_LIST, change=nil,keyword=nil, value=nil} ) end ) in (LrTable.NT 4,(result,PERCENT_EOP1left,ID_LIST1right),rest671) end | (8,(_,(MlyValue.ID_LIST ID_LIST1,_,ID_LIST1right))::(_,(_, KEYWORD1left,_))::rest671) => let val result=MlyValue.MPC_DECL(fn _ => let val ID_LIST as ID_LIST1=ID_LIST1 () in ( DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil, change=nil,keyword=ID_LIST, value=nil} ) end ) in (LrTable.NT 4,(result,KEYWORD1left,ID_LIST1right),rest671) end | (9,(_,(MlyValue.ID_LIST ID_LIST1,_,ID_LIST1right))::(_,(_, PREFER1left,_))::rest671) => let val result=MlyValue.MPC_DECL(fn _ => let val ID_LIST as ID_LIST1=ID_LIST1 () in ( DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil, change=map (fn i=>([],[i])) ID_LIST,keyword=nil, value=nil} ) end ) in (LrTable.NT 4,(result,PREFER1left,ID_LIST1right),rest671) end | (10,(_,(MlyValue.CHANGE_DECL CHANGE_DECL1,_,CHANGE_DECL1right))::(_, (_,CHANGE1left,_))::rest671) => let val result=MlyValue.MPC_DECL(fn _ => let val CHANGE_DECL as CHANGE_DECL1=CHANGE_DECL1 () in ( DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil, change=CHANGE_DECL,keyword=nil, value=nil} ) end ) in (LrTable.NT 4,(result,CHANGE1left,CHANGE_DECL1right),rest671) end | (11,(_,(MlyValue.SUBST_DECL SUBST_DECL1,_,SUBST_DECL1right))::(_,(_, SUBST1left,_))::rest671) => let val result=MlyValue.MPC_DECL(fn _ => let val SUBST_DECL as SUBST_DECL1=SUBST_DECL1 () in ( DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil, change=SUBST_DECL,keyword=nil, value=nil} ) end ) in (LrTable.NT 4,(result,SUBST1left,SUBST_DECL1right),rest671) end | (12,(_,(MlyValue.ID_LIST ID_LIST1,_,ID_LIST1right))::(_,(_, NOSHIFT1left,_))::rest671) => let val result=MlyValue.MPC_DECL(fn _ => let val ID_LIST as ID_LIST1=ID_LIST1 () in ( DECL {prec=nil,control=[NSHIFT ID_LIST],nonterm=NONE,term=NONE, eop=nil,change=nil,keyword=nil, value=nil} ) end ) in (LrTable.NT 4,(result,NOSHIFT1left,ID_LIST1right),rest671) end | (13,(_,(MlyValue.PROG PROG1,_,PROG1right))::(_,(_, PERCENT_HEADER1left,_))::rest671) => let val result=MlyValue.MPC_DECL( fn _ => let val PROG as PROG1=PROG1 () in ( DECL {prec=nil,control=[FUNCTOR PROG],nonterm=NONE,term=NONE, eop=nil,change=nil,keyword=nil, value=nil} ) end ) in (LrTable.NT 4,(result,PERCENT_HEADER1left,PROG1right),rest671) end | (14,(_,(MlyValue.ID ID1,_,ID1right))::(_,(_,NAME1left,_))::rest671) => let val result=MlyValue.MPC_DECL(fn _ => let val ID as ID1=ID1 () in ( DECL {prec=nil,control=[PARSER_NAME (symbolMake ID)], nonterm=NONE,term=NONE, eop=nil,change=nil,keyword=nil, value=nil} ) end ) in (LrTable.NT 4,(result,NAME1left,ID1right),rest671) end | (15,(_,(MlyValue.TY TY1,_,TY1right))::_::(_,(MlyValue.PROG PROG1,_,_ ))::(_,(_,PERCENT_ARG1left,_))::rest671) => let val result= MlyValue.MPC_DECL(fn _ => let val PROG as PROG1=PROG1 () val TY as TY1=TY1 () in ( DECL {prec=nil,control=[PARSE_ARG(PROG,TY)],nonterm=NONE, term=NONE,eop=nil,change=nil,keyword=nil, value=nil} ) end ) in (LrTable.NT 4,(result,PERCENT_ARG1left,TY1right),rest671) end | (16,(_,(_,VERBOSE1left,VERBOSE1right))::rest671) => let val result= MlyValue.MPC_DECL(fn _ => ( DECL {prec=nil,control=[Hdr.VERBOSE], nonterm=NONE,term=NONE,eop=nil, change=nil,keyword=nil, value=nil} )) in (LrTable.NT 4,(result,VERBOSE1left,VERBOSE1right),rest671) end | (17,(_,(_,NODEFAULT1left,NODEFAULT1right))::rest671) => let val result=MlyValue.MPC_DECL(fn _ => ( DECL {prec=nil,control=[Hdr.NODEFAULT], nonterm=NONE,term=NONE,eop=nil, change=nil,keyword=nil, value=nil} )) in (LrTable.NT 4,(result,NODEFAULT1left,NODEFAULT1right),rest671) end | (18,(_,(_,PERCENT_PURE1left,PERCENT_PURE1right))::rest671) => let val result=MlyValue.MPC_DECL(fn _ => ( DECL {prec=nil,control=[Hdr.PURE], nonterm=NONE,term=NONE,eop=nil, change=nil,keyword=nil, value=nil} )) in (LrTable.NT 4,(result,PERCENT_PURE1left,PERCENT_PURE1right), rest671) end | (19,(_,(MlyValue.TY TY1,_,TY1right))::(_,(_,PERCENT_POS1left,_)):: rest671) => let val result=MlyValue.MPC_DECL(fn _ => let val TY as TY1 =TY1 () in ( DECL {prec=nil,control=[Hdr.POS TY], nonterm=NONE,term=NONE,eop=nil, change=nil,keyword=nil, value=nil} ) end ) in (LrTable.NT 4,(result,PERCENT_POS1left,TY1right),rest671) end | (20,(_,(MlyValue.PROG PROG1,_,PROG1right))::(_,(MlyValue.ID ID1,_,_) )::(_,(_,VALUE1left,_))::rest671) => let val result=MlyValue.MPC_DECL( fn _ => let val ID as ID1=ID1 () val PROG as PROG1=PROG1 () in ( DECL {prec=nil,control=nil, nonterm=NONE,term=NONE,eop=nil, change=nil,keyword=nil, value=[(symbolMake ID,PROG)]} ) end ) in (LrTable.NT 4,(result,VALUE1left,PROG1right),rest671) end | (21,(_,(MlyValue.CHANGE_DECL CHANGE_DECL1,_,CHANGE_DECL1right))::_:: (_,(MlyValue.CHANGE_DEC CHANGE_DEC1,CHANGE_DEC1left,_))::rest671) => let val result=MlyValue.CHANGE_DECL(fn _ => let val CHANGE_DEC as CHANGE_DEC1=CHANGE_DEC1 () val CHANGE_DECL as CHANGE_DECL1=CHANGE_DECL1 () in (CHANGE_DEC :: CHANGE_DECL) end ) in (LrTable.NT 14,(result,CHANGE_DEC1left,CHANGE_DECL1right),rest671) end | (22,(_,(MlyValue.CHANGE_DEC CHANGE_DEC1,CHANGE_DEC1left, CHANGE_DEC1right))::rest671) => let val result=MlyValue.CHANGE_DECL( fn _ => let val CHANGE_DEC as CHANGE_DEC1=CHANGE_DEC1 () in ([CHANGE_DEC]) end ) in (LrTable.NT 14,(result,CHANGE_DEC1left,CHANGE_DEC1right),rest671) end | (23,(_,(MlyValue.ID_LIST ID_LIST2,_,ID_LIST2right))::_::(_,( MlyValue.ID_LIST ID_LIST1,ID_LIST1left,_))::rest671) => let val result =MlyValue.CHANGE_DEC(fn _ => let val ID_LIST1=ID_LIST1 () val ID_LIST2=ID_LIST2 () in (ID_LIST1, ID_LIST2) end ) in (LrTable.NT 15,(result,ID_LIST1left,ID_LIST2right),rest671) end | (24,(_,(MlyValue.SUBST_DECL SUBST_DECL1,_,SUBST_DECL1right))::_::(_, (MlyValue.SUBST_DEC SUBST_DEC1,SUBST_DEC1left,_))::rest671) => let val result=MlyValue.SUBST_DECL(fn _ => let val SUBST_DEC as SUBST_DEC1 =SUBST_DEC1 () val SUBST_DECL as SUBST_DECL1=SUBST_DECL1 () in (SUBST_DEC :: SUBST_DECL) end ) in (LrTable.NT 12,(result,SUBST_DEC1left,SUBST_DECL1right),rest671) end | (25,(_,(MlyValue.SUBST_DEC SUBST_DEC1,SUBST_DEC1left,SUBST_DEC1right ))::rest671) => let val result=MlyValue.SUBST_DECL(fn _ => let val SUBST_DEC as SUBST_DEC1=SUBST_DEC1 () in ([SUBST_DEC]) end ) in (LrTable.NT 12,(result,SUBST_DEC1left,SUBST_DEC1right),rest671) end | (26,(_,(MlyValue.ID ID2,_,ID2right))::_::(_,(MlyValue.ID ID1,ID1left ,_))::rest671) => let val result=MlyValue.SUBST_DEC(fn _ => let val ID1=ID1 () val ID2=ID2 () in ([symbolMake ID2],[symbolMake ID1]) end ) in (LrTable.NT 13,(result,ID1left,ID2right),rest671) end | (27,(_,(MlyValue.TY TY1,_,TY1right))::_::(_,(MlyValue.ID ID1,_,_)):: _::(_,(MlyValue.CONSTR_LIST CONSTR_LIST1,CONSTR_LIST1left,_))::rest671 ) => let val result=MlyValue.CONSTR_LIST(fn _ => let val CONSTR_LIST as CONSTR_LIST1=CONSTR_LIST1 () val ID as ID1=ID1 () val TY as TY1=TY1 () in ((symbolMake ID,SOME (tyMake TY))::CONSTR_LIST) end ) in (LrTable.NT 1,(result,CONSTR_LIST1left,TY1right),rest671) end | (28,(_,(MlyValue.ID ID1,_,ID1right))::_::(_,(MlyValue.CONSTR_LIST CONSTR_LIST1,CONSTR_LIST1left,_))::rest671) => let val result= MlyValue.CONSTR_LIST(fn _ => let val CONSTR_LIST as CONSTR_LIST1= CONSTR_LIST1 () val ID as ID1=ID1 () in ((symbolMake ID,NONE)::CONSTR_LIST) end ) in (LrTable.NT 1,(result,CONSTR_LIST1left,ID1right),rest671) end | (29,(_,(MlyValue.TY TY1,_,TY1right))::_::(_,(MlyValue.ID ID1,ID1left ,_))::rest671) => let val result=MlyValue.CONSTR_LIST(fn _ => let val ID as ID1=ID1 () val TY as TY1=TY1 () in ([(symbolMake ID,SOME (tyMake TY))]) end ) in (LrTable.NT 1,(result,ID1left,TY1right),rest671) end | (30,(_,(MlyValue.ID ID1,ID1left,ID1right))::rest671) => let val result=MlyValue.CONSTR_LIST(fn _ => let val ID as ID1=ID1 () in ([(symbolMake ID,NONE)]) end ) in (LrTable.NT 1,(result,ID1left,ID1right),rest671) end | (31,(_,(MlyValue.RHS_LIST RHS_LIST1,_,RHS_LIST1right))::_::(_,( MlyValue.ID ID1,ID1left,_))::rest671) => let val result= MlyValue.G_RULE(fn _ => let val ID as ID1=ID1 () val RHS_LIST as RHS_LIST1=RHS_LIST1 () in ( map (fn {rhs,code,prec} => Hdr.RULE {lhs=symbolMake ID,rhs=rhs, code=code,prec=prec}) RHS_LIST ) end ) in (LrTable.NT 9,(result,ID1left,RHS_LIST1right),rest671) end | (32,(_,(MlyValue.G_RULE G_RULE1,_,G_RULE1right))::(_,( MlyValue.G_RULE_LIST G_RULE_LIST1,G_RULE_LIST1left,_))::rest671) => let val result=MlyValue.G_RULE_LIST(fn _ => let val G_RULE_LIST as G_RULE_LIST1=G_RULE_LIST1 () val G_RULE as G_RULE1=G_RULE1 () in (G_RULE@G_RULE_LIST) end ) in (LrTable.NT 10,(result,G_RULE_LIST1left,G_RULE1right),rest671) end | (33,(_,(MlyValue.G_RULE G_RULE1,G_RULE1left,G_RULE1right))::rest671) => let val result=MlyValue.G_RULE_LIST(fn _ => let val G_RULE as G_RULE1=G_RULE1 () in (G_RULE) end ) in (LrTable.NT 10,(result,G_RULE1left,G_RULE1right),rest671) end | (34,(_,(MlyValue.ID_LIST ID_LIST1,_,ID_LIST1right))::(_,(MlyValue.ID ID1,ID1left,_))::rest671) => let val result=MlyValue.ID_LIST(fn _ => let val ID as ID1=ID1 () val ID_LIST as ID_LIST1=ID_LIST1 () in (symbolMake ID :: ID_LIST) end ) in (LrTable.NT 2,(result,ID1left,ID_LIST1right),rest671) end | (35,rest671) => let val result=MlyValue.ID_LIST(fn _ => (nil)) in (LrTable.NT 2,(result,defaultPos,defaultPos),rest671) end | (36,(_,(MlyValue.PROG PROG1,_,PROG1right))::(_,(MlyValue.G_RULE_PREC G_RULE_PREC1,_,_))::(_,(MlyValue.ID_LIST ID_LIST1,ID_LIST1left,_)):: rest671) => let val result=MlyValue.RHS_LIST(fn _ => let val ID_LIST as ID_LIST1=ID_LIST1 () val G_RULE_PREC as G_RULE_PREC1=G_RULE_PREC1 () val PROG as PROG1=PROG1 () in ([{rhs=ID_LIST,code=PROG,prec=G_RULE_PREC}]) end ) in (LrTable.NT 8,(result,ID_LIST1left,PROG1right),rest671) end | (37,(_,(MlyValue.PROG PROG1,_,PROG1right))::(_,(MlyValue.G_RULE_PREC G_RULE_PREC1,_,_))::(_,(MlyValue.ID_LIST ID_LIST1,_,_))::_::(_,( MlyValue.RHS_LIST RHS_LIST1,RHS_LIST1left,_))::rest671) => let val result=MlyValue.RHS_LIST(fn _ => let val RHS_LIST as RHS_LIST1= RHS_LIST1 () val ID_LIST as ID_LIST1=ID_LIST1 () val G_RULE_PREC as G_RULE_PREC1=G_RULE_PREC1 () val PROG as PROG1=PROG1 () in ({rhs=ID_LIST,code=PROG,prec=G_RULE_PREC}::RHS_LIST) end ) in (LrTable.NT 8,(result,RHS_LIST1left,PROG1right),rest671) end | (38,(_,(MlyValue.TYVAR TYVAR1,TYVAR1left,TYVAR1right))::rest671) => let val result=MlyValue.TY(fn _ => let val TYVAR as TYVAR1=TYVAR1 () in (TYVAR) end ) in (LrTable.NT 16,(result,TYVAR1left,TYVAR1right),rest671) end | (39,(_,(_,_,RBRACE1right))::(_,(MlyValue.RECORD_LIST RECORD_LIST1,_, _))::(_,(_,LBRACE1left,_))::rest671) => let val result=MlyValue.TY(fn _ => let val RECORD_LIST as RECORD_LIST1=RECORD_LIST1 () in ("{ "^RECORD_LIST^" } ") end ) in (LrTable.NT 16,(result,LBRACE1left,RBRACE1right),rest671) end | (40,(_,(_,_,RBRACE1right))::(_,(_,LBRACE1left,_))::rest671) => let val result=MlyValue.TY(fn _ => ("{}")) in (LrTable.NT 16,(result,LBRACE1left,RBRACE1right),rest671) end | (41,(_,(MlyValue.PROG PROG1,PROG1left,PROG1right))::rest671) => let val result=MlyValue.TY(fn _ => let val PROG as PROG1=PROG1 () in (" ( "^PROG^" ) ") end ) in (LrTable.NT 16,(result,PROG1left,PROG1right),rest671) end | (42,(_,(MlyValue.QUAL_ID QUAL_ID1,_,QUAL_ID1right))::(_,(MlyValue.TY TY1,TY1left,_))::rest671) => let val result=MlyValue.TY(fn _ => let val TY as TY1=TY1 () val QUAL_ID as QUAL_ID1=QUAL_ID1 () in (TY^" "^QUAL_ID) end ) in (LrTable.NT 16,(result,TY1left,QUAL_ID1right),rest671) end | (43,(_,(MlyValue.QUAL_ID QUAL_ID1,QUAL_ID1left,QUAL_ID1right)):: rest671) => let val result=MlyValue.TY(fn _ => let val QUAL_ID as QUAL_ID1=QUAL_ID1 () in (QUAL_ID) end ) in (LrTable.NT 16,(result,QUAL_ID1left,QUAL_ID1right),rest671) end | (44,(_,(MlyValue.TY TY2,_,TY2right))::_::(_,(MlyValue.TY TY1,TY1left ,_))::rest671) => let val result=MlyValue.TY(fn _ => let val TY1=TY1 () val TY2=TY2 () in (TY1^"*"^TY2) end ) in (LrTable.NT 16,(result,TY1left,TY2right),rest671) end | (45,(_,(MlyValue.TY TY2,_,TY2right))::_::(_,(MlyValue.TY TY1,TY1left ,_))::rest671) => let val result=MlyValue.TY(fn _ => let val TY1=TY1 () val TY2=TY2 () in (TY1 ^ " -> " ^ TY2) end ) in (LrTable.NT 16,(result,TY1left,TY2right),rest671) end | (46,(_,(MlyValue.TY TY1,_,TY1right))::_::(_,(MlyValue.LABEL LABEL1,_ ,_))::_::(_,(MlyValue.RECORD_LIST RECORD_LIST1,RECORD_LIST1left,_)):: rest671) => let val result=MlyValue.RECORD_LIST(fn _ => let val RECORD_LIST as RECORD_LIST1=RECORD_LIST1 () val LABEL as LABEL1=LABEL1 () val TY as TY1=TY1 () in (RECORD_LIST^","^LABEL^":"^TY) end ) in (LrTable.NT 7,(result,RECORD_LIST1left,TY1right),rest671) end | (47,(_,(MlyValue.TY TY1,_,TY1right))::_::(_,(MlyValue.LABEL LABEL1, LABEL1left,_))::rest671) => let val result=MlyValue.RECORD_LIST(fn _ => let val LABEL as LABEL1=LABEL1 () val TY as TY1=TY1 () in (LABEL^":"^TY) end ) in (LrTable.NT 7,(result,LABEL1left,TY1right),rest671) end | (48,(_,(MlyValue.ID ID1,ID1left,ID1right))::rest671) => let val result=MlyValue.QUAL_ID(fn _ => let val ID as ID1=ID1 () in ((fn (a,_) => a) ID) end ) in (LrTable.NT 6,(result,ID1left,ID1right),rest671) end | (49,(_,(MlyValue.QUAL_ID QUAL_ID1,_,QUAL_ID1right))::(_,( MlyValue.IDDOT IDDOT1,IDDOT1left,_))::rest671) => let val result= MlyValue.QUAL_ID(fn _ => let val IDDOT as IDDOT1=IDDOT1 () val QUAL_ID as QUAL_ID1=QUAL_ID1 () in (IDDOT^QUAL_ID) end ) in (LrTable.NT 6,(result,IDDOT1left,QUAL_ID1right),rest671) end | (50,(_,(MlyValue.ID ID1,ID1left,ID1right))::rest671) => let val result=MlyValue.LABEL(fn _ => let val ID as ID1=ID1 () in ((fn (a,_) => a) ID) end ) in (LrTable.NT 3,(result,ID1left,ID1right),rest671) end | (51,(_,(MlyValue.INT INT1,INT1left,INT1right))::rest671) => let val result=MlyValue.LABEL(fn _ => let val INT as INT1=INT1 () in (INT) end ) in (LrTable.NT 3,(result,INT1left,INT1right),rest671) end | (52,(_,(MlyValue.ID ID1,_,ID1right))::(_,(_,PREC_TAG1left,_)):: rest671) => let val result=MlyValue.G_RULE_PREC(fn _ => let val ID as ID1=ID1 () in (SOME (symbolMake ID)) end ) in (LrTable.NT 11,(result,PREC_TAG1left,ID1right),rest671) end | (53,rest671) => let val result=MlyValue.G_RULE_PREC(fn _ => (NONE)) in (LrTable.NT 11,(result,defaultPos,defaultPos),rest671) end | _ => raise (mlyAction i392) end val void = MlyValue.VOID val extract = fn a => (fn MlyValue.BEGIN x => x | _ => let exception ParseInternal in raise ParseInternal end) a () end end structure Tokens : Mlyacc_TOKENS = struct type svalue = ParserData.svalue type ('a,'b) token = ('a,'b) Token.token fun ARROW (p1,p2) = Token.TOKEN (ParserData.LrTable.T 0,( ParserData.MlyValue.VOID,p1,p2)) fun ASTERISK (p1,p2) = Token.TOKEN (ParserData.LrTable.T 1,( ParserData.MlyValue.VOID,p1,p2)) fun BLOCK (p1,p2) = Token.TOKEN (ParserData.LrTable.T 2,( ParserData.MlyValue.VOID,p1,p2)) fun BAR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 3,( ParserData.MlyValue.VOID,p1,p2)) fun CHANGE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 4,( ParserData.MlyValue.VOID,p1,p2)) fun COLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 5,( ParserData.MlyValue.VOID,p1,p2)) fun COMMA (p1,p2) = Token.TOKEN (ParserData.LrTable.T 6,( ParserData.MlyValue.VOID,p1,p2)) fun DELIMITER (p1,p2) = Token.TOKEN (ParserData.LrTable.T 7,( ParserData.MlyValue.VOID,p1,p2)) fun EOF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 8,( ParserData.MlyValue.VOID,p1,p2)) fun FOR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 9,( ParserData.MlyValue.VOID,p1,p2)) fun HEADER (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 10,( ParserData.MlyValue.HEADER (fn () => i),p1,p2)) fun ID (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 11,( ParserData.MlyValue.ID (fn () => i),p1,p2)) fun IDDOT (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 12,( ParserData.MlyValue.IDDOT (fn () => i),p1,p2)) fun PERCENT_HEADER (p1,p2) = Token.TOKEN (ParserData.LrTable.T 13,( ParserData.MlyValue.VOID,p1,p2)) fun INT (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 14,( ParserData.MlyValue.INT (fn () => i),p1,p2)) fun KEYWORD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 15,( ParserData.MlyValue.VOID,p1,p2)) fun LBRACE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 16,( ParserData.MlyValue.VOID,p1,p2)) fun LPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 17,( ParserData.MlyValue.VOID,p1,p2)) fun NAME (p1,p2) = Token.TOKEN (ParserData.LrTable.T 18,( ParserData.MlyValue.VOID,p1,p2)) fun NODEFAULT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 19,( ParserData.MlyValue.VOID,p1,p2)) fun NONTERM (p1,p2) = Token.TOKEN (ParserData.LrTable.T 20,( ParserData.MlyValue.VOID,p1,p2)) fun NOSHIFT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 21,( ParserData.MlyValue.VOID,p1,p2)) fun OF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 22,( ParserData.MlyValue.VOID,p1,p2)) fun PERCENT_EOP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 23,( ParserData.MlyValue.VOID,p1,p2)) fun PERCENT_PURE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 24,( ParserData.MlyValue.VOID,p1,p2)) fun PERCENT_POS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 25,( ParserData.MlyValue.VOID,p1,p2)) fun PERCENT_ARG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 26,( ParserData.MlyValue.VOID,p1,p2)) fun PREC (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 27,( ParserData.MlyValue.PREC (fn () => i),p1,p2)) fun PREC_TAG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 28,( ParserData.MlyValue.VOID,p1,p2)) fun PREFER (p1,p2) = Token.TOKEN (ParserData.LrTable.T 29,( ParserData.MlyValue.VOID,p1,p2)) fun PROG (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 30,( ParserData.MlyValue.PROG (fn () => i),p1,p2)) fun RBRACE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 31,( ParserData.MlyValue.VOID,p1,p2)) fun RPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 32,( ParserData.MlyValue.VOID,p1,p2)) fun SUBST (p1,p2) = Token.TOKEN (ParserData.LrTable.T 33,( ParserData.MlyValue.VOID,p1,p2)) fun START (p1,p2) = Token.TOKEN (ParserData.LrTable.T 34,( ParserData.MlyValue.VOID,p1,p2)) fun TERM (p1,p2) = Token.TOKEN (ParserData.LrTable.T 35,( ParserData.MlyValue.VOID,p1,p2)) fun TYVAR (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 36,( ParserData.MlyValue.TYVAR (fn () => i),p1,p2)) fun VERBOSE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 37,( ParserData.MlyValue.VOID,p1,p2)) fun VALUE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 38,( ParserData.MlyValue.VOID,p1,p2)) fun UNKNOWN (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 39,( ParserData.MlyValue.UNKNOWN (fn () => i),p1,p2)) fun BOGUS_VALUE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 40,( ParserData.MlyValue.VOID,p1,p2)) end end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/yacc.lex.smi0000644 000000000000000000001063212050661606023244 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "base.sig" _require "utils.sig" _require "sigs.sml" _require "hdr.smi" _require "yacc.grm.sig" functor LexMLYACC( A : sig structure Tokens : sig type svalue type ('a,'b) token val BOGUS_VALUE : 'a * 'a -> (svalue,'a) token val UNKNOWN : string * 'a * 'a -> (svalue,'a) token val VALUE : 'a * 'a -> (svalue,'a) token val VERBOSE : 'a * 'a -> (svalue,'a) token val TYVAR : string * 'a * 'a -> (svalue,'a) token val TERM : 'a * 'a -> (svalue,'a) token val START : 'a * 'a -> (svalue,'a) token val SUBST : 'a * 'a -> (svalue,'a) token val RPAREN : 'a * 'a -> (svalue,'a) token val RBRACE : 'a * 'a -> (svalue,'a) token val PROG : string * 'a * 'a -> (svalue,'a) token val PREFER : 'a * 'a -> (svalue,'a) token val PREC_TAG : 'a * 'a -> (svalue,'a) token val PREC : Header.prec * 'a * 'a -> (svalue,'a) token val PERCENT_ARG : 'a * 'a -> (svalue,'a) token val PERCENT_POS : 'a * 'a -> (svalue,'a) token val PERCENT_PURE : 'a * 'a -> (svalue,'a) token val PERCENT_EOP : 'a * 'a -> (svalue,'a) token val OF : 'a * 'a -> (svalue,'a) token val NOSHIFT : 'a * 'a -> (svalue,'a) token val NONTERM : 'a * 'a -> (svalue,'a) token val NODEFAULT : 'a * 'a -> (svalue,'a) token val NAME : 'a * 'a -> (svalue,'a) token val LPAREN : 'a * 'a -> (svalue,'a) token val LBRACE : 'a * 'a -> (svalue,'a) token val KEYWORD : 'a * 'a -> (svalue,'a) token val INT : string * 'a * 'a -> (svalue,'a) token val PERCENT_HEADER : 'a * 'a -> (svalue,'a) token val IDDOT : string * 'a * 'a -> (svalue,'a) token val ID : (string * int) * 'a * 'a -> (svalue,'a) token val HEADER : string * 'a * 'a -> (svalue,'a) token val FOR : 'a * 'a -> (svalue,'a) token val EOF : 'a * 'a -> (svalue,'a) token val DELIMITER : 'a * 'a -> (svalue,'a) token val COMMA : 'a * 'a -> (svalue,'a) token val COLON : 'a * 'a -> (svalue,'a) token val CHANGE : 'a * 'a -> (svalue,'a) token val BAR : 'a * 'a -> (svalue,'a) token val BLOCK : 'a * 'a -> (svalue,'a) token val ASTERISK : 'a * 'a -> (svalue,'a) token val ARROW : 'a * 'a -> (svalue,'a) token end structure Hdr : sig type pos = int val lineno : pos ref val text : string list ref type inputSource val newSource : string * TextIO.instream * TextIO.outstream -> inputSource val error : inputSource -> pos -> string -> unit val warn : inputSource -> pos -> string -> unit val errorOccurred : inputSource -> unit -> bool datatype symbol = SYMBOL of string * pos val symbolName : symbol -> string val symbolPos : symbol -> pos val symbolMake : string * int -> symbol type ty val tyName : ty -> string val tyMake : string -> ty datatype prec = LEFT | RIGHT | NONASSOC datatype control = NODEFAULT | VERBOSE | PARSER_NAME of symbol | FUNCTOR of string | START_SYM of symbol | NSHIFT of symbol list | POS of string | PURE | PARSE_ARG of string * string datatype rule = RULE of {lhs : symbol, rhs : symbol list, code : string, prec : symbol option} datatype declData = DECL of {eop : symbol list, keyword : symbol list, nonterm : (symbol * ty option) list option, prec : (prec * (symbol list)) list, change: (symbol list * symbol list) list, term : (symbol * ty option) list option, control : control list, value : (symbol * string) list} val join_decls : declData * declData * inputSource * pos -> declData type parseResult val getResult : parseResult -> string * declData * rule list end where type prec = Header.prec where type inputSource = Header.inputSource end ) = struct structure UserDeclarations = struct type ('a,'b) token = ('a,'b) A.Tokens.token type pos = int type svalue = A.Tokens.svalue type arg = A.Hdr.inputSource end val makeLexer : (int -> string) -> UserDeclarations.arg -> unit -> (UserDeclarations.svalue, UserDeclarations.pos) UserDeclarations.token end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/yacc.lex.sml0000644 000000000000000000010607712050661606023260 0ustar00rootroot0000000 0000000 functor LexMLYACC(structure Tokens : Mlyacc_TOKENS structure Hdr : HEADER where type prec = Header.prec and type inputSource = Header.inputSource) : ARG_LEXER = struct structure UserDeclarations = struct (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi yacc.lex: Lexer specification *) structure Tokens = Tokens type svalue = Tokens.svalue type pos = int type ('a,'b) token = ('a,'b) Tokens.token type lexresult = (svalue,pos) token type lexarg = Hdr.inputSource type arg = lexarg open Tokens val error = Hdr.error val lineno = Hdr.lineno val text = Hdr.text val pcount = ref 0 val commentLevel = ref 0 val actionstart = ref 0 val eof = fn i => (if (!pcount)>0 then error i (!actionstart) " eof encountered in action beginning here !" else (); EOF(!lineno,!lineno)) val Add = fn s => (text := s::(!text)) local val dict = [("%prec",PREC_TAG),("%term",TERM), ("%nonterm",NONTERM), ("%eop",PERCENT_EOP),("%start",START), ("%prefer",PREFER),("%subst",SUBST),("%change",CHANGE), ("%keyword",KEYWORD),("%name",NAME), ("%verbose",VERBOSE), ("%nodefault",NODEFAULT), ("%value",VALUE), ("%noshift",NOSHIFT), ("%header",PERCENT_HEADER),("%pure",PERCENT_PURE), ("%arg",PERCENT_ARG), ("%pos",PERCENT_POS)] in val lookup = fn (s,left,right) => let fun f ((a,d)::b) = if a=s then d(left,right) else f b | f nil = UNKNOWN(s,left,right) in f dict end end fun inc (ri as ref i) = (ri := i+1) fun dec (ri as ref i) = (ri := i-1) end (* end of user routines *) exception LexError (* raised if illegal leaf action tried *) structure Internal = struct datatype yyfinstate = N of int type statedata = {fin : yyfinstate list, trans: string} (* transition & final state table *) val tab = let val s0 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" val s1 = "\015\015\015\015\015\015\015\015\015\015\021\015\015\015\015\015\ \\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\ \\015\015\015\015\015\019\015\015\017\015\015\015\015\015\015\015\ \\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\ \\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\ \\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\ \\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\ \\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\ \\015" val s3 = "\022\022\022\022\022\022\022\022\022\065\067\022\022\022\022\022\ \\022\022\022\022\022\022\022\022\022\022\022\022\022\022\022\022\ \\065\022\022\022\022\045\022\043\041\022\040\022\039\037\022\022\ \\035\035\035\035\035\035\035\035\035\035\034\022\022\022\022\022\ \\022\026\026\026\026\026\026\026\026\026\026\026\026\026\026\026\ \\026\026\026\026\026\026\026\026\026\026\026\022\022\022\022\022\ \\022\026\026\026\026\026\031\026\026\026\026\026\026\026\026\029\ \\026\026\026\026\026\026\026\026\026\026\026\025\024\023\022\022\ \\022" val s5 = "\068\068\068\068\068\068\068\068\068\068\021\068\068\068\068\068\ \\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\ \\068\068\072\068\068\068\068\068\070\069\068\068\068\068\068\068\ \\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\ \\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\ \\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\ \\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\ \\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\ \\068" val s7 = "\073\073\073\073\073\073\073\073\073\075\021\073\073\073\073\073\ \\073\073\073\073\073\073\073\073\073\073\073\073\073\073\073\073\ \\075\073\073\073\073\073\073\073\073\073\073\073\073\073\073\073\ \\073\073\073\073\073\073\073\073\073\073\073\073\073\073\073\073\ \\073\073\073\073\073\073\073\073\073\073\073\073\073\073\073\073\ \\073\073\073\073\073\073\073\073\073\073\073\073\074\073\073\073\ \\073\073\073\073\073\073\073\073\073\073\073\073\073\073\073\073\ \\073\073\073\073\073\073\073\073\073\073\073\073\073\073\073\073\ \\073" val s9 = "\077\077\077\077\077\077\077\077\077\077\021\077\077\077\077\077\ \\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\ \\077\077\077\077\077\077\077\077\081\080\078\077\077\077\077\077\ \\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\ \\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\ \\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\ \\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\ \\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\ \\077" val s11 = "\083\083\083\083\083\083\083\083\083\083\088\083\083\083\083\083\ \\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\ \\083\083\087\083\083\083\083\083\083\083\083\083\083\083\083\083\ \\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\ \\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\ \\083\083\083\083\083\083\083\083\083\083\083\083\084\083\083\083\ \\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\ \\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\ \\083" val s13 = "\089\089\089\089\089\089\089\089\089\089\021\089\089\089\089\089\ \\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\ \\089\089\089\089\089\089\089\089\093\092\090\089\089\089\089\089\ \\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\ \\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\ \\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\ \\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\ \\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\ \\089" val s15 = "\016\016\016\016\016\016\016\016\016\016\000\016\016\016\016\016\ \\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\ \\016\016\016\016\016\000\016\016\016\016\016\016\016\016\016\016\ \\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\ \\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\ \\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\ \\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\ \\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\ \\016" val s17 = "\016\016\016\016\016\016\016\016\016\016\000\016\016\016\016\016\ \\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\ \\016\016\016\016\016\000\016\016\016\016\018\016\016\016\016\016\ \\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\ \\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\ \\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\ \\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\ \\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\ \\016" val s19 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" val s26 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\027\000\000\000\000\000\000\028\000\ \\027\027\027\027\027\027\027\027\027\027\000\000\000\000\000\000\ \\000\027\027\027\027\027\027\027\027\027\027\027\027\027\027\027\ \\027\027\027\027\027\027\027\027\027\027\027\000\000\000\000\027\ \\000\027\027\027\027\027\027\027\027\027\027\027\027\027\027\027\ \\027\027\027\027\027\027\027\027\027\027\027\000\000\000\000\000\ \\000" val s29 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\027\000\000\000\000\000\000\028\000\ \\027\027\027\027\027\027\027\027\027\027\000\000\000\000\000\000\ \\000\027\027\027\027\027\027\027\027\027\027\027\027\027\027\027\ \\027\027\027\027\027\027\027\027\027\027\027\000\000\000\000\027\ \\000\027\027\027\027\027\030\027\027\027\027\027\027\027\027\027\ \\027\027\027\027\027\027\027\027\027\027\027\000\000\000\000\000\ \\000" val s31 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\027\000\000\000\000\000\000\028\000\ \\027\027\027\027\027\027\027\027\027\027\000\000\000\000\000\000\ \\000\027\027\027\027\027\027\027\027\027\027\027\027\027\027\027\ \\027\027\027\027\027\027\027\027\027\027\027\000\000\000\000\027\ \\000\027\027\027\027\027\027\027\027\027\027\027\027\027\027\032\ \\027\027\027\027\027\027\027\027\027\027\027\000\000\000\000\000\ \\000" val s32 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\027\000\000\000\000\000\000\028\000\ \\027\027\027\027\027\027\027\027\027\027\000\000\000\000\000\000\ \\000\027\027\027\027\027\027\027\027\027\027\027\027\027\027\027\ \\027\027\027\027\027\027\027\027\027\027\027\000\000\000\000\027\ \\000\027\027\027\027\027\027\027\027\027\027\027\027\027\027\027\ \\027\027\033\027\027\027\027\027\027\027\027\000\000\000\000\000\ \\000" val s35 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\036\036\036\036\036\036\036\036\036\036\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" val s37 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\038\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" val s41 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\042\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" val s43 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\044\000\000\000\000\000\000\000\000\ \\044\044\044\044\044\044\044\044\044\044\000\000\000\000\000\000\ \\000\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\ \\044\044\044\044\044\044\044\044\044\044\044\000\000\000\000\044\ \\000\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\ \\044\044\044\044\044\044\044\044\044\044\044\000\000\000\000\000\ \\000" val s45 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\064\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\046\046\046\046\046\046\046\046\046\046\046\060\046\052\046\ \\046\046\047\046\046\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s46 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\ \\046\046\046\046\046\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s47 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\046\046\046\046\046\046\046\046\048\046\046\046\046\046\046\ \\046\046\046\046\046\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s48 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\046\046\046\046\046\046\049\046\046\046\046\046\046\046\046\ \\046\046\046\046\046\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s49 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\046\046\046\046\046\046\046\050\046\046\046\046\046\046\046\ \\046\046\046\046\046\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s50 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\ \\046\046\046\046\051\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s52 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\046\046\046\046\046\046\046\046\046\046\046\046\046\046\053\ \\046\046\046\046\046\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s53 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\046\046\046\046\046\046\046\046\046\046\046\046\046\054\046\ \\046\046\046\046\046\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s54 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\055\046\046\046\046\046\046\046\046\046\046\046\046\046\046\ \\046\046\046\046\046\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s55 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\ \\046\046\046\056\046\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s56 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\ \\046\046\046\057\046\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s57 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\046\046\046\046\046\046\046\046\046\046\046\046\046\046\058\ \\046\046\046\046\046\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s58 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\046\046\059\046\046\046\046\046\046\046\046\046\046\046\046\ \\046\046\046\046\046\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s60 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\046\046\046\046\061\046\046\046\046\046\046\046\046\046\046\ \\046\046\046\046\046\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s61 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\046\046\046\046\046\062\046\046\046\046\046\046\046\046\046\ \\046\046\046\046\046\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s62 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\ \\046\046\046\046\063\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s65 = "\000\000\000\000\000\000\000\000\000\066\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\066\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" val s68 = "\068\068\068\068\068\068\068\068\068\068\000\068\068\068\068\068\ \\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\ \\068\068\000\068\068\068\068\068\000\000\068\068\068\068\068\068\ \\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\ \\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\ \\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\ \\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\ \\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\ \\068" val s70 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\071\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" val s75 = "\000\000\000\000\000\000\000\000\000\076\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\076\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" val s77 = "\077\077\077\077\077\077\077\077\077\077\000\077\077\077\077\077\ \\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\ \\077\077\077\077\077\077\077\077\000\000\000\077\077\077\077\077\ \\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\ \\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\ \\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\ \\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\ \\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\ \\077" val s78 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\079\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" val s81 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\082\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" val s83 = "\083\083\083\083\083\083\083\083\083\083\000\083\083\083\083\083\ \\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\ \\083\083\000\083\083\083\083\083\083\083\083\083\083\083\083\083\ \\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\ \\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\ \\083\083\083\083\083\083\083\083\083\083\083\083\000\083\083\083\ \\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\ \\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\ \\083" val s84 = "\000\000\000\000\000\000\000\000\000\086\086\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\086\000\085\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" val s89 = "\089\089\089\089\089\089\089\089\089\089\000\089\089\089\089\089\ \\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\ \\089\089\089\089\089\089\089\089\000\000\000\089\089\089\089\089\ \\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\ \\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\ \\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\ \\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\ \\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\ \\089" val s90 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\091\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" val s93 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\094\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" in Vector.fromList [{fin = [], trans = s0}, {fin = [], trans = s1}, {fin = [], trans = s1}, {fin = [], trans = s3}, {fin = [], trans = s3}, {fin = [], trans = s5}, {fin = [], trans = s5}, {fin = [], trans = s7}, {fin = [], trans = s7}, {fin = [], trans = s9}, {fin = [], trans = s9}, {fin = [], trans = s11}, {fin = [], trans = s11}, {fin = [], trans = s13}, {fin = [], trans = s13}, {fin = [(N 11),(N 18)], trans = s15}, {fin = [(N 11)], trans = s15}, {fin = [(N 11),(N 18)], trans = s17}, {fin = [(N 2),(N 11)], trans = s15}, {fin = [(N 18)], trans = s19}, {fin = [(N 14)], trans = s0}, {fin = [(N 16)], trans = s0}, {fin = [(N 94)], trans = s0}, {fin = [(N 36),(N 94)], trans = s0}, {fin = [(N 87),(N 94)], trans = s0}, {fin = [(N 34),(N 94)], trans = s0}, {fin = [(N 90),(N 94)], trans = s26}, {fin = [(N 90)], trans = s26}, {fin = [(N 77)], trans = s0}, {fin = [(N 90),(N 94)], trans = s29}, {fin = [(N 28),(N 90)], trans = s26}, {fin = [(N 90),(N 94)], trans = s31}, {fin = [(N 90)], trans = s32}, {fin = [(N 32),(N 90)], trans = s26}, {fin = [(N 85),(N 94)], trans = s0}, {fin = [(N 80),(N 94)], trans = s35}, {fin = [(N 80)], trans = s35}, {fin = [(N 94)], trans = s37}, {fin = [(N 43)], trans = s0}, {fin = [(N 38),(N 94)], trans = s0}, {fin = [(N 40),(N 94)], trans = s0}, {fin = [(N 92),(N 94)], trans = s41}, {fin = [(N 5)], trans = s0}, {fin = [(N 73),(N 94)], trans = s43}, {fin = [(N 73)], trans = s43}, {fin = [(N 94)], trans = s45}, {fin = [(N 70)], trans = s46}, {fin = [(N 70)], trans = s47}, {fin = [(N 70)], trans = s48}, {fin = [(N 70)], trans = s49}, {fin = [(N 70)], trans = s50}, {fin = [(N 56),(N 70)], trans = s46}, {fin = [(N 70)], trans = s52}, {fin = [(N 70)], trans = s53}, {fin = [(N 70)], trans = s54}, {fin = [(N 70)], trans = s55}, {fin = [(N 70)], trans = s56}, {fin = [(N 70)], trans = s57}, {fin = [(N 70)], trans = s58}, {fin = [(N 66),(N 70)], trans = s46}, {fin = [(N 70)], trans = s60}, {fin = [(N 70)], trans = s61}, {fin = [(N 70)], trans = s62}, {fin = [(N 49),(N 70)], trans = s46}, {fin = [(N 83)], trans = s0}, {fin = [(N 25),(N 94)], trans = s65}, {fin = [(N 25)], trans = s65}, {fin = [(N 20)], trans = s0}, {fin = [(N 103)], trans = s68}, {fin = [(N 98)], trans = s0}, {fin = [(N 96)], trans = s70}, {fin = [(N 8)], trans = s0}, {fin = [(N 100)], trans = s0}, {fin = [(N 147)], trans = s0}, {fin = [(N 145),(N 147)], trans = s0}, {fin = [(N 143),(N 147)], trans = s75}, {fin = [(N 143)], trans = s75}, {fin = [(N 114)], trans = s77}, {fin = [(N 105)], trans = s78}, {fin = [(N 108)], trans = s0}, {fin = [(N 105)], trans = s0}, {fin = [(N 105)], trans = s81}, {fin = [(N 111)], trans = s0}, {fin = [(N 134)], trans = s83}, {fin = [(N 129)], trans = s84}, {fin = [(N 137)], trans = s0}, {fin = [(N 140)], trans = s0}, {fin = [(N 127)], trans = s0}, {fin = [(N 131)], trans = s0}, {fin = [(N 125)], trans = s89}, {fin = [(N 116)], trans = s90}, {fin = [(N 119)], trans = s0}, {fin = [(N 116)], trans = s0}, {fin = [(N 116)], trans = s93}, {fin = [(N 122)], trans = s0}] end structure StartStates = struct datatype yystartstate = STARTSTATE of int (* start state definitions *) val A = STARTSTATE 3; val CODE = STARTSTATE 5; val COMMENT = STARTSTATE 9; val EMPTYCOMMENT = STARTSTATE 13; val F = STARTSTATE 7; val INITIAL = STARTSTATE 1; val STRING = STARTSTATE 11; end type result = UserDeclarations.lexresult exception LexerError (* raised if illegal leaf action tried *) end fun makeLexer yyinput = let val yyb = ref "\n" (* buffer *) val yybl = ref 1 (*buffer length *) val yybufpos = ref 1 (* location of next character to use *) val yygone = ref 1 (* position in file of beginning of buffer *) val yydone = ref false (* eof found yet? *) val yybegin = ref 1 (*Current 'start state' for lexer *) val YYBEGIN = fn (Internal.StartStates.STARTSTATE x) => yybegin := x fun lex (yyarg as (inputSource)) = let fun continue() : Internal.result = let fun scan (s,AcceptingLeaves : Internal.yyfinstate list list,l,i0) = let fun action (i,nil) = raise LexError | action (i,nil::l) = action (i-1,l) | action (i,(node::acts)::l) = case node of Internal.N yyk => (let val yytext = substring(!yyb,i0,i-i0) val yypos = i0+ !yygone open UserDeclarations Internal.StartStates in (yybufpos := i; case yyk of (* Application actions *) 100 => (Add yytext; YYBEGIN STRING; continue()) | 103 => (Add yytext; continue()) | 105 => (Add yytext; continue()) | 108 => (Add yytext; dec commentLevel; if !commentLevel=0 then BOGUS_VALUE(!lineno,!lineno) else continue() ) | 11 => (Add yytext; continue()) | 111 => (Add yytext; inc commentLevel; continue()) | 114 => (Add yytext; continue()) | 116 => (continue()) | 119 => (dec commentLevel; if !commentLevel=0 then YYBEGIN A else (); continue ()) | 122 => (inc commentLevel; continue()) | 125 => (continue()) | 127 => (Add yytext; YYBEGIN CODE; continue()) | 129 => (Add yytext; continue()) | 131 => (Add yytext; error inputSource (!lineno) "unclosed string"; inc lineno; YYBEGIN CODE; continue()) | 134 => (Add yytext; continue()) | 137 => (Add yytext; continue()) | 14 => (YYBEGIN A; HEADER (concat (rev (!text)),!lineno,!lineno)) | 140 => (Add yytext; if substring(yytext,1,1)="\n" then inc lineno else (); YYBEGIN F; continue()) | 143 => (Add yytext; continue()) | 145 => (Add yytext; YYBEGIN STRING; continue()) | 147 => (Add yytext; error inputSource (!lineno) "unclosed string"; YYBEGIN CODE; continue()) | 16 => (Add yytext; inc lineno; continue()) | 18 => (Add yytext; continue()) | 2 => (Add yytext; YYBEGIN COMMENT; commentLevel := 1; continue() before YYBEGIN INITIAL) | 20 => (inc lineno; continue ()) | 25 => (continue()) | 28 => (OF(!lineno,!lineno)) | 32 => (FOR(!lineno,!lineno)) | 34 => (LBRACE(!lineno,!lineno)) | 36 => (RBRACE(!lineno,!lineno)) | 38 => (COMMA(!lineno,!lineno)) | 40 => (ASTERISK(!lineno,!lineno)) | 43 => (ARROW(!lineno,!lineno)) | 49 => (PREC(Hdr.LEFT,!lineno,!lineno)) | 5 => (YYBEGIN EMPTYCOMMENT; commentLevel := 1; continue()) | 56 => (PREC(Hdr.RIGHT,!lineno,!lineno)) | 66 => (PREC(Hdr.NONASSOC,!lineno,!lineno)) | 70 => (lookup(yytext,!lineno,!lineno)) | 73 => (TYVAR(yytext,!lineno,!lineno)) | 77 => (IDDOT(yytext,!lineno,!lineno)) | 8 => (Add yytext; YYBEGIN COMMENT; commentLevel := 1; continue() before YYBEGIN CODE) | 80 => (INT (yytext,!lineno,!lineno)) | 83 => (DELIMITER(!lineno,!lineno)) | 85 => (COLON(!lineno,!lineno)) | 87 => (BAR(!lineno,!lineno)) | 90 => (ID ((yytext,!lineno),!lineno,!lineno)) | 92 => (pcount := 1; actionstart := (!lineno); text := nil; YYBEGIN CODE; continue() before YYBEGIN A) | 94 => (UNKNOWN(yytext,!lineno,!lineno)) | 96 => (inc pcount; Add yytext; continue()) | 98 => (dec pcount; if !pcount = 0 then PROG (concat (rev (!text)),!lineno,!lineno) else (Add yytext; continue())) | _ => raise Internal.LexerError ) end ) val {fin,trans} = Vector.sub(Internal.tab, s) val NewAcceptingLeaves = fin::AcceptingLeaves in if l = !yybl then if trans = #trans(Vector.sub(Internal.tab,0)) then action(l,NewAcceptingLeaves ) else let val newchars= if !yydone then "" else yyinput 1024 in if (size newchars)=0 then (yydone := true; if (l=i0) then UserDeclarations.eof yyarg else action(l,NewAcceptingLeaves)) else (if i0=l then yyb := newchars else yyb := substring(!yyb,i0,l-i0)^newchars; yygone := !yygone+i0; yybl := size (!yyb); scan (s,AcceptingLeaves,l-i0,0)) end else let val NewChar = Char.ord(String.sub(!yyb,l)) val NewState = if NewChar<128 then Char.ord(String.sub(trans,NewChar)) else Char.ord(String.sub(trans,128)) in if NewState=0 then action(l,NewAcceptingLeaves) else scan(NewState,NewAcceptingLeaves,l+1,i0) end end (* val start= if substring(!yyb,!yybufpos-1,1)="\n" then !yybegin+1 else !yybegin *) in scan(!yybegin (* start *),nil,!yybufpos,!yybufpos) end in continue end in lex end end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/yacc.smi0000644 000000000000000000002340112050661606022453 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "base.sig" _require "lrtable.smi" _require "utils.smi" _require "utils.sig" _require "sigs.sml" _require "absyn.sig" functor ParseGenFun( A : sig structure ParseGenParser : sig structure Header : sig type pos = int val lineno : pos ref val text : string list ref type inputSource val newSource : string * TextIO.instream * TextIO.outstream -> inputSource val error : inputSource -> pos -> string -> unit val warn : inputSource -> pos -> string -> unit val errorOccurred : inputSource -> unit -> bool datatype symbol = SYMBOL of string * pos val symbolName : symbol -> string val symbolPos : symbol -> pos val symbolMake : string * int -> symbol type ty val tyName : ty -> string val tyMake : string -> ty datatype prec = LEFT | RIGHT | NONASSOC datatype control = NODEFAULT | VERBOSE | PARSER_NAME of symbol | FUNCTOR of string | START_SYM of symbol | NSHIFT of symbol list | POS of string | PURE | PARSE_ARG of string * string datatype rule = RULE of {lhs : symbol, rhs : symbol list, code : string, prec : symbol option} datatype declData = DECL of {eop : symbol list, keyword : symbol list, nonterm : (symbol * ty option) list option, prec : (prec * (symbol list)) list, change: (symbol list * symbol list) list, term : (symbol * ty option) list option, control : control list, value : (symbol * string) list} val join_decls : declData * declData * inputSource * pos -> declData type parseResult val getResult : parseResult -> string * declData * rule list end val parse : string -> Header.parseResult * Header.inputSource end structure MakeTable : sig structure Grammar : sig datatype term = T of int datatype nonterm = NT of int datatype symbol = TERM of term | NONTERM of nonterm datatype grammar = GRAMMAR of {rules: {lhs : nonterm, rhs : symbol list, precedence : int option, rulenum : int} list, terms: int, nonterms: int, start : nonterm, eop : term list, noshift : term list, precedence : term -> int option, termToString : term -> string, nontermToString : nonterm -> string} end structure Errs : sig structure LrTable : sig datatype ('a,'b) pairlist = EMPTY | PAIR of 'a * 'b * ('a,'b) pairlist datatype state = STATE of int datatype term = T of int datatype nonterm = NT of int datatype action = SHIFT of state | REDUCE of int | ACCEPT | ERROR type table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto of state * nonterm val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end datatype err = RR of LrTable.term * LrTable.state * int * int | SR of LrTable.term * LrTable.state * int | NS of LrTable.term * int | NOT_REDUCED of int | START of int val summary : err list -> {rr : int, sr: int, not_reduced : int, start : int,nonshift : int} val printSummary : (string -> unit) -> err list -> unit end structure LrTable : sig datatype ('a,'b) pairlist = EMPTY | PAIR of 'a * 'b * ('a,'b) pairlist datatype state = STATE of int datatype term = T of int datatype nonterm = NT of int datatype action = SHIFT of state | REDUCE of int | ACCEPT | ERROR type table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto of state * nonterm val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end sharing Errs.LrTable = LrTable sharing type LrTable.term = Grammar.term sharing type LrTable.nonterm = Grammar.nonterm val mkTable : Grammar.grammar * bool -> LrTable.table * (LrTable.state -> Errs.err list) * ((string -> unit) -> LrTable.state -> unit) * Errs.err list end structure Verbose : sig structure Errs : sig structure LrTable : sig datatype ('a,'b) pairlist = EMPTY | PAIR of 'a * 'b * ('a,'b) pairlist datatype state = STATE of int datatype term = T of int datatype nonterm = NT of int datatype action = SHIFT of state | REDUCE of int | ACCEPT | ERROR type table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto of state * nonterm val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end datatype err = RR of LrTable.term * LrTable.state * int * int | SR of LrTable.term * LrTable.state * int | NS of LrTable.term * int | NOT_REDUCED of int | START of int val summary : err list -> {rr : int, sr: int, not_reduced : int, start : int, nonshift : int} val printSummary : (string -> unit) -> err list -> unit end val printVerbose : {table : Errs.LrTable.table, entries : int, termToString : Errs.LrTable.term -> string, nontermToString : Errs.LrTable.nonterm -> string, stateErrs : Errs.LrTable.state -> Errs.err list, errs : Errs.err list, print: string -> unit, printCores : (string -> unit) -> Errs.LrTable.state -> unit, printRule : (string -> unit) -> int -> unit} -> unit end structure PrintStruct : sig structure LrTable : sig datatype ('a,'b) pairlist = EMPTY | PAIR of 'a * 'b * ('a,'b) pairlist datatype state = STATE of int datatype term = T of int datatype nonterm = NT of int datatype action = SHIFT of state | REDUCE of int | ACCEPT | ERROR type table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto of state * nonterm val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end val makeStruct : {table : LrTable.table, name : string, print: string -> unit, verbose : bool} -> int end sharing MakeTable.LrTable = PrintStruct.LrTable sharing MakeTable.Errs = Verbose.Errs structure Absyn : sig datatype exp = EVAR of string | EAPP of exp * exp | ETUPLE of exp list | EINT of int | FN of pat * exp | LET of decl list * exp | UNIT | SEQ of exp * exp | CODE of string and pat = PVAR of string | PAPP of string * pat | PTUPLE of pat list | PLIST of pat list | PINT of int | WILD | AS of pat * pat and decl = VB of pat * exp and rule = RULE of pat * exp val printRule : ((string -> unit) * (string -> unit)) -> rule -> unit end end ) = struct val parseGen : string -> unit end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/yacc.sml0000644 000000000000000000006350512050661606022467 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989, 1990 Andrew W. Appel, David R. Tarditi * * $Log$ * Revision 1.3 1996/05/30 18:05:09 dbm * Made changes to generate code that conforms to the value restriction by * lifting lets to locals in the code generated to define errtermvalue and action. * * Revision 1.2 1996/02/26 15:02:40 george * print no longer overloaded. * use of makestring has been removed and replaced with Int.toString .. * use of IO replaced with TextIO * * Revision 1.1.1.1 1996/01/31 16:01:48 george * Version 109 * *) functor ParseGenFun(structure ParseGenParser : PARSE_GEN_PARSER structure MakeTable : MAKE_LR_TABLE structure Verbose : VERBOSE structure PrintStruct : PRINT_STRUCT sharing MakeTable.LrTable = PrintStruct.LrTable sharing MakeTable.Errs = Verbose.Errs structure Absyn : ABSYN ) : PARSE_GEN = struct open Array List infix 9 sub structure Grammar = MakeTable.Grammar structure Header = ParseGenParser.Header open Header Grammar (* approx. maximum length of a line *) val lineLength = 70 (* record type describing names of structures in the program being generated *) datatype names = NAMES of {miscStruct : string, (* Misc{n} struct name *) tableStruct : string, (* LR table structure *) tokenStruct : string, (* Tokens{n} struct name *) actionsStruct : string, (* Actions structure *) valueStruct: string, (* semantic value structure *) ecStruct : string, (* error correction structure *) arg: string, (* user argument for parser *) tokenSig : string, (* TOKENS{n} signature *) miscSig :string, (* Signature for Misc structure *) dataStruct:string, (* name of structure in Misc *) (* which holds parser data *) dataSig:string (* signature for this structure *) } val DEBUG = true exception Semantic (* common functions and values used in printing out program *) datatype values = VALS of {say : string -> unit, saydot : string -> unit, sayln : string -> unit, pureActions: bool, pos_type : string, arg_type : string, ntvoid : string, termvoid : string, start : Grammar.nonterm, hasType : Grammar.symbol -> bool, (* actual (user) name of terminal *) termToString : Grammar.term -> string, symbolToString : Grammar.symbol -> string, (* type symbol comes from the HDR structure, and is now abstract *) term : (Header.symbol * ty option) list, nonterm : (Header.symbol * ty option) list, terms : Grammar.term list} structure SymbolHash = Hash(type elem = string val gt = (op >) : string*string -> bool) structure TermTable = Table(type key = Grammar.term val gt = fn (T i,T j) => i > j) structure SymbolTable = Table( type key = Grammar.symbol val gt = fn (TERM(T i),TERM(T j)) => i>j | (NONTERM(NT i),NONTERM(NT j)) => i>j | (NONTERM _,TERM _) => true | (TERM _,NONTERM _) => false) (* printTypes: function to print the following types in the LrValues structure and a structure containing the datatype svalue: type svalue -- it holds semantic values on the parse stack type pos -- the type of line numbers type result -- the type of the value that results from the parse The type svalue is set equal to the datatype svalue declared in the structure named by valueStruct. The datatype svalue is declared inside the structure named by valueStruct to deal with the scope of constructors. *) val printTypes = fn (VALS {say,sayln,term,nonterm,symbolToString,pos_type, arg_type, termvoid,ntvoid,saydot,hasType,start, pureActions,...}, NAMES {valueStruct,...},symbolType) => let val prConstr = fn (symbol,SOME s) => say (" | " ^ (symbolName symbol) ^ " of " ^ (if pureActions then "" else "unit -> ") ^ " (" ^ tyName s ^ ")" ) | _ => () in sayln "local open Header in"; sayln ("type pos = " ^ pos_type); sayln ("type arg = " ^ arg_type); sayln ("structure " ^ valueStruct ^ " = "); sayln "struct"; say ("datatype svalue = " ^ termvoid ^ " | " ^ ntvoid ^ " of" ^ (if pureActions then "" else " unit -> ") ^ " unit"); app prConstr term; app prConstr nonterm; sayln "\nend"; sayln ("type svalue = " ^ valueStruct ^ ".svalue"); say "type result = "; case symbolType (NONTERM start) of NONE => sayln "unit" | SOME t => (say (tyName t); sayln ""); sayln "end" end (* function to print Tokens{n} structure *) val printTokenStruct = fn (VALS {say, sayln, termToString, hasType,termvoid,terms, pureActions,...}, NAMES {miscStruct,tableStruct,valueStruct, tokenStruct,tokenSig,dataStruct,...}) => (sayln ("structure " ^ tokenStruct ^ " : " ^ tokenSig ^ " ="); sayln "struct"; sayln ("type svalue = " ^ dataStruct ^ ".svalue"); sayln "type ('a,'b) token = ('a,'b) Token.token"; let val f = fn term as T i => (say "fun "; say (termToString term); say " ("; if (hasType (TERM term)) then say "i," else (); say "p1,p2) = Token.TOKEN ("; say (dataStruct ^ "." ^ tableStruct ^ ".T "); say (Int.toString i); say ",("; say (dataStruct ^ "." ^ valueStruct ^ "."); if (hasType (TERM term)) then (say (termToString term); if pureActions then say " i" else say " (fn () => i)") else say termvoid; say ","; sayln "p1,p2))") in app f terms end; sayln "end") (* function to print signatures out - takes print function which does not need to insert line breaks *) val printSigs = fn (VALS {term,...}, NAMES {tokenSig,tokenStruct,miscSig, dataStruct, dataSig, ...}, say) => say ("signature " ^ tokenSig ^ " =\nsig\n\ \type ('a,'b) token\ntype svalue\n" ^ (List.foldr (fn ((s,ty),r) => String.concat [ "val ", symbolName s, (case ty of NONE => ": " | SOME l => ": (" ^ (tyName l) ^ ") * "), " 'a * 'a -> (svalue,'a) token\n", r]) "" term) ^ "end\nsignature " ^ miscSig ^ "=\nsig\nstructure Tokens : " ^ tokenSig ^ "\nstructure " ^ dataStruct ^ ":" ^ dataSig ^ "\nsharing type " ^ dataStruct ^ ".Token.token = Tokens.token\nsharing type " ^ dataStruct ^ ".svalue = Tokens.svalue\nend\n") (* function to print structure for error correction *) val printEC = fn (keyword : term list, preferred_change : (term list * term list) list, noshift : term list, value : (term * string) list, VALS {termToString, say,sayln,terms,saydot,hasType, termvoid,pureActions,...}, NAMES {ecStruct,tableStruct,valueStruct,...}) => let val sayterm = fn (T i) => (say "(T "; say (Int.toString i); say ")") val printBoolCase = fn ( l : term list) => (say "fn "; app (fn t => (sayterm t; say " => true"; say " | ")) l; sayln "_ => false") val printTermList = fn (l : term list) => (app (fn t => (sayterm t; say " :: ")) l; sayln "nil") fun printChange () = (sayln "val preferred_change = "; app (fn (d,i) => (say"("; printTermList d; say ","; printTermList i; sayln ")::" ) ) preferred_change; sayln "nil") val printErrValues = fn (l : (term * string) list) => (sayln "local open Header in"; sayln "val errtermvalue="; say "fn "; app (fn (t,s) => (sayterm t; say " => "; saydot valueStruct; say (termToString t); say "("; if pureActions then () else say "fn () => "; say "("; say s; say "))"; sayln " | " ) ) l; say "_ => "; say (valueStruct ^ "."); sayln termvoid; sayln "end") val printNames = fn () => let val f = fn term => (sayterm term; say " => "; say "\""; say (termToString term); sayln "\""; say " | ") in (sayln "val showTerminal ="; say "fn "; app f terms; sayln "_ => \"bogus-term\"") end val ecTerms = List.foldr (fn (t,r) => if hasType (TERM t) orelse exists (fn (a,_)=>a=t) value then r else t::r) [] terms in say "structure "; say ecStruct; sayln "="; sayln "struct"; say "open "; sayln tableStruct; sayln "val is_keyword ="; printBoolCase keyword; printChange(); sayln "val noShift = "; printBoolCase noshift; printNames (); printErrValues value; say "val terms = "; printTermList ecTerms; sayln "end" end val printAction = fn (rules, VALS {hasType,say,sayln,termvoid,ntvoid, symbolToString,saydot,start,pureActions,...}, NAMES {actionsStruct,valueStruct,tableStruct,arg,...}) => let val printAbsynRule = Absyn.printRule(say,sayln) val is_nonterm = fn (NONTERM i) => true | _ => false val numberRhs = fn r => List.foldl (fn (e,(r,table)) => let val num = case SymbolTable.find(e,table) of SOME i => i | NONE => 1 in ((e,num,hasType e orelse is_nonterm e)::r, SymbolTable.insert((e,num+1),table)) end) (nil,SymbolTable.empty) r val saySym = symbolToString val printCase = fn (i:int, r as {lhs=lhs as (NT lhsNum),prec, rhs,code,rulenum}) => (* mkToken: Build an argument *) let open Absyn val mkToken = fn (sym,num : int,typed) => let val symString = symbolToString sym val symNum = symString ^ (Int.toString num) in PTUPLE[WILD, PTUPLE[if not (hasType sym) then (if is_nonterm sym then PAPP(valueStruct^"."^ntvoid, PVAR symNum) else WILD) else PAPP(valueStruct^"."^symString, if num=1 andalso pureActions then AS(PVAR symNum,PVAR symString) else PVAR symNum), if num=1 then AS(PVAR (symString^"left"), PVAR(symNum^"left")) else PVAR(symNum^"left"), if num=1 then AS(PVAR(symString^"right"), PVAR(symNum^"right")) else PVAR(symNum^"right")]] end val numberedRhs = #1 (numberRhs rhs) (* construct case pattern *) val pat = PTUPLE[PINT i,PLIST(map mkToken numberedRhs @ [PVAR "rest671"])] (* remove terminals in argument list w/o types *) val argsWithTypes = List.foldr (fn ((_,_,false),r) => r | (s as (_,_,true),r) => s::r) nil numberedRhs (* construct case body *) val defaultPos = EVAR "defaultPos" val resultexp = EVAR "result" val resultpat = PVAR "result" val code = CODE code val rest = EVAR "rest671" val body = LET([VB(resultpat, EAPP(EVAR(valueStruct^"."^ (if hasType (NONTERM lhs) then saySym(NONTERM lhs) else ntvoid)), if pureActions then code else if argsWithTypes=nil then FN(WILD,code) else FN(WILD, let val body = LET(map (fn (sym,num:int,_) => let val symString = symbolToString sym val symNum = symString ^ Int.toString num in VB(if num=1 then AS(PVAR symString,PVAR symNum) else PVAR symNum, EAPP(EVAR symNum,UNIT)) end) (rev argsWithTypes), code) in if hasType (NONTERM lhs) then body else SEQ(body,UNIT) end)))], ETUPLE[EAPP(EVAR(tableStruct^".NT"),EINT(lhsNum)), case rhs of nil => ETUPLE[resultexp,defaultPos,defaultPos] | r =>let val (rsym,rnum,_) = hd(numberedRhs) val (lsym,lnum,_) = hd(rev numberedRhs) in ETUPLE[resultexp, EVAR (symbolToString lsym ^ Int.toString lnum ^ "left"), EVAR (symbolToString rsym ^ Int.toString rnum ^ "right")] end, rest]) in printAbsynRule (RULE(pat,body)) end val prRules = fn () => (sayln "fn (i392,defaultPos,stack,"; say " ("; say arg; sayln "):arg) =>"; sayln "case (i392,stack)"; say "of "; app (fn (rule as {rulenum,...}) => (printCase(rulenum,rule); say "| ")) rules; sayln "_ => raise (mlyAction i392)") in say "structure "; say actionsStruct; sayln " ="; sayln "struct "; sayln "exception mlyAction of int"; sayln "local open Header in"; sayln "val actions = "; prRules(); sayln "end"; say "val void = "; saydot valueStruct; sayln termvoid; say "val extract = "; say "fn a => (fn "; saydot valueStruct; if hasType (NONTERM start) then say (symbolToString (NONTERM start)) else say "ntVOID"; sayln " x => x"; sayln "| _ => let exception ParseInternal"; say "\tin raise ParseInternal end) a "; sayln (if pureActions then "" else "()"); sayln "end" end val make_parser = fn ((header, DECL {eop,change,keyword,nonterm,prec, term, control,value} : declData, rules : rule list),spec,error : pos -> string -> unit, wasError : unit -> bool) => let val verbose = List.exists (fn VERBOSE=>true | _ => false) control val defaultReductions = not (List.exists (fn NODEFAULT=>true | _ => false) control) val pos_type = let fun f nil = NONE | f ((POS s)::r) = SOME s | f (_::r) = f r in f control end val start = let fun f nil = NONE | f ((START_SYM s)::r) = SOME s | f (_::r) = f r in f control end val name = let fun f nil = NONE | f ((PARSER_NAME s)::r) = SOME s | f (_::r) = f r in f control end val header_decl = let fun f nil = NONE | f ((FUNCTOR s)::r) = SOME s | f (_::r) = f r in f control end val arg_decl = let fun f nil = ("()","unit") | f ((PARSE_ARG s)::r) = s | f (_::r) = f r in f control end val noshift = let fun f nil = nil | f ((NSHIFT s)::r) = s | f (_::r) = f r in f control end val pureActions = let fun f nil = false | f ((PURE)::r) = true | f (_::r) = f r in f control end val term = case term of NONE => (error 1 "missing %term definition"; nil) | SOME l => l val nonterm = case nonterm of NONE => (error 1 "missing %nonterm definition"; nil) | SOME l => l val pos_type = case pos_type of NONE => (error 1 "missing %pos definition"; "") | SOME l => l val termHash = List.foldr (fn ((symbol,_),table) => let val name = symbolName symbol in if SymbolHash.exists(name,table) then (error (symbolPos symbol) ("duplicate definition of " ^ name ^ " in %term"); table) else SymbolHash.add(name,table) end) SymbolHash.empty term val isTerm = fn name => SymbolHash.exists(name,termHash) val symbolHash = List.foldr (fn ((symbol,_),table) => let val name = symbolName symbol in if SymbolHash.exists(name,table) then (error (symbolPos symbol) (if isTerm name then name ^ " is defined as a terminal and a nonterminal" else "duplicate definition of " ^ name ^ " in %nonterm"); table) else SymbolHash.add(name,table) end) termHash nonterm fun makeUniqueId s = if SymbolHash.exists(s,symbolHash) then makeUniqueId (s ^ "'") else s val _ = if wasError() then raise Semantic else () val numTerms = SymbolHash.size termHash val numNonterms = SymbolHash.size symbolHash - numTerms val symError = fn sym => fn err => fn symbol => error (symbolPos symbol) (symbolName symbol^" in "^err^" is not defined as a " ^ sym) val termNum : string -> Header.symbol -> term = let val termError = symError "terminal" in fn stmt => let val stmtError = termError stmt in fn symbol => case SymbolHash.find(symbolName symbol,symbolHash) of NONE => (stmtError symbol; T ~1) | SOME i => T (if i Header.symbol -> nonterm = let val nontermError = symError "nonterminal" in fn stmt => let val stmtError = nontermError stmt in fn symbol => case SymbolHash.find(symbolName symbol,symbolHash) of NONE => (stmtError symbol; NT ~1) | SOME i => if i>=numTerms then NT (i-numTerms) else (stmtError symbol;NT ~1) end end val symbolNum : string -> Header.symbol -> Grammar.symbol = let val symbolError = symError "symbol" in fn stmt => let val stmtError = symbolError stmt in fn symbol => case SymbolHash.find(symbolName symbol,symbolHash) of NONE => (stmtError symbol; NONTERM (NT ~1)) | SOME i => if i>=numTerms then NONTERM(NT (i-numTerms)) else TERM(T i) end end (* map all symbols in the following values to terminals and check that the symbols are defined as terminals: eop : symbol list keyword: symbol list prec: (lexvalue * (symbol list)) list change: (symbol list * symbol list) list *) val eop = map (termNum "%eop") eop val keyword = map (termNum "%keyword") keyword val prec = map (fn (a,l) => (a,case a of LEFT => map (termNum "%left") l | RIGHT => map (termNum "%right") l | NONASSOC => map (termNum "%nonassoc") l )) prec val change = let val mapTerm = termNum "%prefer, %subst, or %change" in map (fn (a,b) => (map mapTerm a, map mapTerm b)) change end val noshift = map (termNum "%noshift") noshift val value = let val mapTerm = termNum "%value" in map (fn (a,b) => (mapTerm a,b)) value end val (rules,_) = let val symbolNum = symbolNum "rule" val nontermNum = nontermNum "rule" val termNum = termNum "%prec tag" in List.foldr (fn (RULE {lhs,rhs,code,prec},(l,n)) => ( {lhs=nontermNum lhs,rhs=map symbolNum rhs, code=code,prec=case prec of NONE => NONE | SOME t => SOME (termNum t), rulenum=n}::l,n-1)) (nil,length rules-1) rules end val _ = if wasError() then raise Semantic else () (* termToString: map terminals back to strings *) val termToString = let val data = array(numTerms,"") val unmap = fn (symbol,_) => let val name = symbolName symbol in update(data, case SymbolHash.find(name,symbolHash) of SOME i => i,name) end val _ = app unmap term in fn T i => if DEBUG andalso (i<0 orelse i>=numTerms) then "bogus-num" ^ (Int.toString i) else data sub i end val nontermToString = let val data = array(numNonterms,"") val unmap = fn (symbol,_) => let val name = symbolName symbol in update(data, case SymbolHash.find(name,symbolHash) of SOME i => i-numTerms,name) end val _ = app unmap nonterm in fn NT i => if DEBUG andalso (i<0 orelse i>=numNonterms) then "bogus-num" ^ (Int.toString i) else data sub i end (* create functions mapping terminals to precedence numbers and rules to precedence numbers. Precedence statements are listed in order of ascending (tighter binding) precedence in the specification. We receive a list composed of pairs containing the kind of precedence (left,right, or assoc) and a list of terminals associated with that precedence. The list has the same order as the corresponding declarations did in the specification. Internally, a tighter binding has a higher precedence number. We give precedences using multiples of 3: p+2 = right associative (force shift of symbol) p+1 = precedence for rule p = left associative (force reduction of rule) Nonassociative terminals are given also given a precedence of p+1. The table generator detects when the associativity of a nonassociative terminal is being used to resolve a shift/reduce conflict by checking if the precedences of the rule and the terminal are equal. A rule is given the precedence of its rightmost terminal *) val termPrec = let val precData = array(numTerms, NONE : int option) val addPrec = fn termPrec => fn term as (T i) => case precData sub i of SOME _ => error 1 ("multiple precedences specified for terminal " ^ (termToString term)) | NONE => update(precData,i,termPrec) val termPrec = fn ((LEFT,_) ,i) => i | ((RIGHT,_),i) => i+2 | ((NONASSOC,l),i) => i+1 val _ = List.foldl (fn (args as ((_,l),i)) => (app (addPrec (SOME (termPrec args))) l; i+3)) 0 prec in fn (T i) => if DEBUG andalso (i < 0 orelse i >= numTerms) then NONE else precData sub i end val elimAssoc = fn i => (i - (i mod 3) + 1) val rulePrec = let fun findRightTerm (nil,r) = r | findRightTerm (TERM t :: tail,r) = findRightTerm(tail,SOME t) | findRightTerm (_ :: tail,r) = findRightTerm(tail,r) in fn rhs => case findRightTerm(rhs,NONE) of NONE => NONE | SOME term => case termPrec term of SOME i => SOME (elimAssoc i) | a => a end val grammarRules = let val conv = fn {lhs,rhs,code,prec,rulenum} => {lhs=lhs,rhs =rhs,precedence= case prec of SOME t => (case termPrec t of SOME i => SOME(elimAssoc i) | a => a) | _ => rulePrec rhs, rulenum=rulenum} in map conv rules end (* get start symbol *) val start = case start of NONE => #lhs (hd grammarRules) | SOME name => nontermNum "%start" name val symbolType = let val data = array(numTerms+numNonterms,NONE : ty option) val unmap = fn (symbol,ty) => update(data, case SymbolHash.find(symbolName symbol,symbolHash) of SOME i => i,ty) val _ = (app unmap term; app unmap nonterm) in fn NONTERM(NT i) => if DEBUG andalso (i<0 orelse i>=numNonterms) then NONE else data sub (i+numTerms) | TERM (T i) => if DEBUG andalso (i<0 orelse i>=numTerms) then NONE else data sub i end val symbolToString = fn NONTERM i => nontermToString i | TERM i => termToString i val grammar = GRAMMAR {rules=grammarRules, terms=numTerms,nonterms=numNonterms, eop = eop, start=start,noshift=noshift, termToString = termToString, nontermToString = nontermToString, precedence = termPrec} val name' = case name of NONE => "" | SOME s => symbolName s val names = NAMES {miscStruct=name' ^ "LrValsFun", valueStruct="MlyValue", tableStruct="LrTable", tokenStruct="Tokens", actionsStruct="Actions", ecStruct="EC", arg= #1 arg_decl, tokenSig = name' ^ "_TOKENS", miscSig = name' ^ "_LRVALS", dataStruct = "ParserData", dataSig = "PARSER_DATA"} val (table,stateErrs,corePrint,errs) = MakeTable.mkTable(grammar,defaultReductions) val entries = ref 0 (* save number of action table entries here *) in let val result = TextIO.openOut (spec ^ ".sml") val sigs = TextIO.openOut (spec ^ ".sig") val pos = ref 0 val pr = fn s => TextIO.output(result,s) val say = fn s => let val l = String.size s val newPos = (!pos) + l in if newPos > lineLength then (pr "\n"; pos := l) else (pos := newPos); pr s end val saydot = fn s => (say (s ^ ".")) val sayln = fn t => (pr t; pr "\n"; pos := 0) val termvoid = makeUniqueId "VOID" val ntvoid = makeUniqueId "ntVOID" val hasType = fn s => case symbolType s of NONE => false | _ => true val terms = let fun f n = if n=numTerms then nil else (T n) :: f(n+1) in f 0 end val values = VALS {say=say,sayln=sayln,saydot=saydot, termvoid=termvoid, ntvoid = ntvoid, hasType=hasType, pos_type = pos_type, arg_type = #2 arg_decl, start=start,pureActions=pureActions, termToString=termToString, symbolToString=symbolToString,term=term, nonterm=nonterm,terms=terms} val (NAMES {miscStruct,tableStruct,dataStruct,tokenSig,tokenStruct,dataSig,...}) = names in case header_decl of NONE => (say "functor "; say miscStruct; sayln "(structure Token : TOKEN)"; say " : sig structure "; say dataStruct; say " : "; sayln dataSig; say " structure "; say tokenStruct; say " : "; sayln tokenSig; sayln " end") | SOME s => say s; sayln " = "; sayln "struct"; sayln ("structure " ^ dataStruct ^ "="); sayln "struct"; sayln "structure Header = "; sayln "struct"; sayln header; sayln "end"; sayln "structure LrTable = Token.LrTable"; sayln "structure Token = Token"; sayln "local open LrTable in "; entries := PrintStruct.makeStruct{table=table,print=pr, name = "table", verbose=verbose}; sayln "end"; printTypes(values,names,symbolType); printEC (keyword,change,noshift,value,values,names); printAction(rules,values,names); sayln "end"; printTokenStruct(values,names); sayln "end"; printSigs(values,names,fn s => TextIO.output(sigs,s)); TextIO.closeOut sigs; TextIO.closeOut result; MakeTable.Errs.printSummary (fn s => TextIO.output(TextIO.stdOut,s)) errs end; if verbose then let val f = TextIO.openOut (spec ^ ".desc") val say = fn s=> TextIO.output(f,s) val printRule = let val rules = Array.fromList grammarRules in fn say => let val prRule = fn {lhs,rhs,precedence,rulenum} => ((say o nontermToString) lhs; say " : "; app (fn s => (say (symbolToString s); say " ")) rhs) in fn i => prRule (rules sub i) end end in Verbose.printVerbose {termToString=termToString,nontermToString=nontermToString, table=table, stateErrs=stateErrs,errs = errs,entries = !entries, print=say, printCores=corePrint,printRule=printRule}; TextIO.closeOut f end else () end val parseGen = fn spec => let val (result,inputSource) = ParseGenParser.parse spec in make_parser(getResult result,spec,Header.error inputSource, errorOccurred inputSource) end end; smlsharp-1.2.0/benchmark/benchmarks/mlyacc/yaccOLD.grm.sml0000644 000000000000000000010040412050661606023600 0ustar00rootroot0000000 0000000 functor MlyaccLrValsFun(structure Hdr : HEADER structure Token : TOKEN sharing Hdr = Header) = struct structure ParserData= struct structure Header = struct (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi *) (* parser for the ML parser generator *) open Hdr end structure LrTable = Token.LrTable structure Token = Token local open LrTable in val table=let val actionRows = "\ \\001\000\001\000\074\000\000\000\ \\001\000\005\000\024\000\008\000\023\000\014\000\022\000\016\000\021\000\ \\019\000\020\000\020\000\019\000\021\000\018\000\022\000\017\000\ \\024\000\016\000\025\000\015\000\026\000\014\000\027\000\013\000\ \\028\000\012\000\030\000\011\000\034\000\010\000\035\000\009\000\ \\036\000\008\000\038\000\007\000\039\000\006\000\000\000\ \\001\000\006\000\061\000\000\000\ \\001\000\006\000\072\000\000\000\ \\001\000\006\000\084\000\000\000\ \\001\000\006\000\096\000\000\000\ \\001\000\007\000\083\000\032\000\082\000\000\000\ \\001\000\009\000\000\000\000\000\ \\001\000\010\000\059\000\000\000\ \\001\000\011\000\003\000\000\000\ \\001\000\012\000\025\000\000\000\ \\001\000\012\000\027\000\000\000\ \\001\000\012\000\028\000\000\000\ \\001\000\012\000\031\000\000\000\ \\001\000\012\000\042\000\013\000\041\000\000\000\ \\001\000\012\000\042\000\013\000\041\000\017\000\040\000\031\000\039\000\ \\037\000\038\000\000\000\ \\001\000\012\000\046\000\000\000\ \\001\000\012\000\051\000\000\000\ \\001\000\012\000\069\000\015\000\068\000\000\000\ \\001\000\012\000\069\000\015\000\068\000\032\000\067\000\000\000\ \\001\000\012\000\075\000\000\000\ \\001\000\012\000\078\000\000\000\ \\001\000\012\000\099\000\000\000\ \\001\000\031\000\035\000\000\000\ \\001\000\031\000\048\000\000\000\ \\001\000\031\000\055\000\000\000\ \\001\000\031\000\098\000\000\000\ \\001\000\031\000\102\000\000\000\ \\104\000\012\000\051\000\000\000\ \\105\000\000\000\ \\106\000\000\000\ \\107\000\004\000\056\000\000\000\ \\108\000\004\000\056\000\000\000\ \\109\000\000\000\ \\110\000\000\000\ \\111\000\000\000\ \\112\000\000\000\ \\113\000\000\000\ \\114\000\000\000\ \\115\000\000\000\ \\116\000\000\000\ \\117\000\000\000\ \\118\000\000\000\ \\119\000\001\000\064\000\002\000\063\000\012\000\042\000\013\000\041\000\000\000\ \\120\000\000\000\ \\121\000\000\000\ \\122\000\000\000\ \\123\000\001\000\064\000\002\000\063\000\012\000\042\000\013\000\041\000\000\000\ \\124\000\000\000\ \\125\000\000\000\ \\126\000\004\000\073\000\000\000\ \\127\000\000\000\ \\128\000\000\000\ \\129\000\004\000\058\000\000\000\ \\130\000\000\000\ \\131\000\001\000\064\000\002\000\063\000\012\000\042\000\013\000\041\000\000\000\ \\132\000\023\000\089\000\000\000\ \\133\000\001\000\064\000\002\000\063\000\012\000\042\000\013\000\041\000\000\000\ \\134\000\023\000\057\000\000\000\ \\135\000\004\000\092\000\000\000\ \\136\000\000\000\ \\137\000\000\000\ \\138\000\000\000\ \\139\000\012\000\033\000\000\000\ \\140\000\000\000\ \\141\000\000\000\ \\142\000\000\000\ \\143\000\000\000\ \\144\000\000\000\ \\145\000\000\000\ \\146\000\000\000\ \\147\000\000\000\ \\148\000\012\000\042\000\013\000\041\000\000\000\ \\149\000\001\000\064\000\002\000\063\000\012\000\042\000\013\000\041\000\000\000\ \\150\000\001\000\064\000\002\000\063\000\012\000\042\000\013\000\041\000\000\000\ \\151\000\001\000\064\000\002\000\063\000\012\000\042\000\013\000\041\000\000\000\ \\152\000\000\000\ \\153\000\000\000\ \\154\000\000\000\ \\155\000\000\000\ \\156\000\000\000\ \\157\000\029\000\094\000\000\000\ \" val actionRowNumbers = "\009\000\030\000\001\000\029\000\ \\010\000\044\000\011\000\012\000\ \\013\000\063\000\063\000\023\000\ \\015\000\046\000\063\000\063\000\ \\011\000\045\000\016\000\063\000\ \\024\000\017\000\063\000\025\000\ \\031\000\058\000\034\000\053\000\ \\039\000\008\000\037\000\063\000\ \\033\000\002\000\047\000\071\000\ \\066\000\069\000\019\000\014\000\ \\076\000\035\000\040\000\032\000\ \\042\000\036\000\041\000\028\000\ \\061\000\003\000\050\000\038\000\ \\000\000\048\000\020\000\015\000\ \\013\000\021\000\062\000\015\000\ \\070\000\015\000\015\000\006\000\ \\004\000\068\000\079\000\078\000\ \\077\000\060\000\063\000\063\000\ \\063\000\056\000\057\000\052\000\ \\054\000\043\000\072\000\073\000\ \\067\000\018\000\015\000\059\000\ \\081\000\049\000\051\000\015\000\ \\005\000\075\000\063\000\026\000\ \\022\000\055\000\015\000\081\000\ \\064\000\080\000\074\000\027\000\ \\065\000\007\000" val gotoT = "\ \\001\000\101\000\000\000\ \\006\000\002\000\000\000\ \\005\000\003\000\000\000\ \\000\000\ \\000\000\ \\000\000\ \\002\000\024\000\000\000\ \\000\000\ \\013\000\028\000\014\000\027\000\000\000\ \\003\000\030\000\000\000\ \\003\000\032\000\000\000\ \\000\000\ \\007\000\035\000\017\000\034\000\000\000\ \\000\000\ \\003\000\041\000\000\000\ \\003\000\042\000\000\000\ \\002\000\043\000\000\000\ \\000\000\ \\000\000\ \\003\000\045\000\000\000\ \\000\000\ \\010\000\048\000\011\000\047\000\000\000\ \\003\000\052\000\015\000\051\000\016\000\050\000\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\003\000\058\000\000\000\ \\000\000\ \\000\000\ \\007\000\060\000\000\000\ \\000\000\ \\000\000\ \\000\000\ \\004\000\064\000\008\000\063\000\000\000\ \\007\000\068\000\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\010\000\069\000\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\007\000\035\000\017\000\074\000\000\000\ \\013\000\075\000\014\000\027\000\000\000\ \\000\000\ \\000\000\ \\007\000\035\000\017\000\077\000\000\000\ \\000\000\ \\007\000\035\000\017\000\078\000\000\000\ \\007\000\035\000\017\000\079\000\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\003\000\084\000\009\000\083\000\000\000\ \\003\000\052\000\015\000\085\000\016\000\050\000\000\000\ \\003\000\086\000\000\000\ \\000\000\ \\007\000\060\000\000\000\ \\000\000\ \\000\000\ \\007\000\060\000\000\000\ \\007\000\060\000\000\000\ \\007\000\060\000\000\000\ \\000\000\ \\004\000\088\000\000\000\ \\007\000\035\000\017\000\089\000\000\000\ \\000\000\ \\012\000\091\000\000\000\ \\000\000\ \\000\000\ \\007\000\035\000\017\000\093\000\000\000\ \\000\000\ \\007\000\060\000\000\000\ \\003\000\095\000\000\000\ \\000\000\ \\000\000\ \\007\000\060\000\000\000\ \\007\000\035\000\017\000\098\000\000\000\ \\012\000\099\000\000\000\ \\000\000\ \\000\000\ \\007\000\060\000\000\000\ \\000\000\ \\000\000\ \\000\000\ \" val numstates = 102 val numrules = 54 val s = ref "" and index = ref 0 val string_to_int = fn () => let val i = !index in index := i+2; Char.ord(String.sub(!s,i)) + Char.ord(String.sub(!s,i+1)) * 256 end val string_to_list = fn s' => let val len = String.size s' fun f () = if !index < len then string_to_int() :: f() else nil in index := 0; s := s'; f () end val string_to_pairlist = fn (conv_key,conv_entry) => let fun f () = case string_to_int() of 0 => EMPTY | n => PAIR(conv_key (n-1),conv_entry (string_to_int()),f()) in f end val string_to_pairlist_default = fn (conv_key,conv_entry) => let val conv_row = string_to_pairlist(conv_key,conv_entry) in fn () => let val default = conv_entry(string_to_int()) val row = conv_row() in (row,default) end end val string_to_table = fn (convert_row,s') => let val len = String.size s' fun f ()= if !index < len then convert_row() :: f() else nil in (s := s'; index := 0; f ()) end local val memo = Array.array(numstates+numrules,ERROR) val _ =let fun g i=(Array.update(memo,i,REDUCE(i-numstates)); g(i+1)) fun f i = if i=numstates then g i else (Array.update(memo,i,SHIFT (STATE i)); f (i+1)) in f 0 handle Subscript => () end in val entry_to_action = fn 0 => ACCEPT | 1 => ERROR | j => Array.sub(memo,(j-2)) end val gotoT=Array.fromList(string_to_table(string_to_pairlist(NT,STATE),gotoT)) val actionRows=string_to_table(string_to_pairlist_default(T,entry_to_action),actionRows) val actionRowNumbers = string_to_list actionRowNumbers val actionT = let val actionRowLookUp= let val a=Array.fromList(actionRows) in fn i=>Array.sub(a,i) end in Array.fromList(map actionRowLookUp actionRowNumbers) end in LrTable.mkLrTable {actions=actionT,gotos=gotoT,numRules=numrules, numStates=numstates,initialState=STATE 0} end end local open Header in type pos = int type arg = Hdr.inputSource structure MlyValue = struct datatype svalue = VOID | ntVOID of unit -> unit | UNKNOWN of unit -> (string) | TYVAR of unit -> (string) | PROG of unit -> (string) | PREC of unit -> (Header.prec) | INT of unit -> (string) | IDDOT of unit -> (string) | ID of unit -> (string*int) | HEADER of unit -> (string) | TY of unit -> (string) | CHANGE_DEC of unit -> ( ( Hdr.symbol list * Hdr.symbol list ) ) | CHANGE_DECL of unit -> ( ( Hdr.symbol list * Hdr.symbol list ) list) | SUBST_DEC of unit -> ( ( Hdr.symbol list * Hdr.symbol list ) ) | SUBST_DECL of unit -> ( ( Hdr.symbol list * Hdr.symbol list ) list) | G_RULE_PREC of unit -> (Hdr.symbol option) | G_RULE_LIST of unit -> (Hdr.rule list) | G_RULE of unit -> (Hdr.rule list) | RHS_LIST of unit -> ({ rhs:Hdr.symbol list,code:string,prec:Hdr.symbol option } list) | RECORD_LIST of unit -> (string) | QUAL_ID of unit -> (string) | MPC_DECLS of unit -> (Hdr.declData) | MPC_DECL of unit -> (Hdr.declData) | LABEL of unit -> (string) | ID_LIST of unit -> (Hdr.symbol list) | CONSTR_LIST of unit -> ( ( Hdr.symbol * Hdr.ty option ) list) | BEGIN of unit -> (string*Hdr.declData* ( Hdr.rule list ) ) end type svalue = MlyValue.svalue type result = string*Hdr.declData* ( Hdr.rule list ) end structure EC= struct open LrTable val is_keyword = fn _ => false val preferred_change = nil val noShift = fn (T 8) => true | _ => false val showTerminal = fn (T 0) => "ARROW" | (T 1) => "ASTERISK" | (T 2) => "BLOCK" | (T 3) => "BAR" | (T 4) => "CHANGE" | (T 5) => "COLON" | (T 6) => "COMMA" | (T 7) => "DELIMITER" | (T 8) => "EOF" | (T 9) => "FOR" | (T 10) => "HEADER" | (T 11) => "ID" | (T 12) => "IDDOT" | (T 13) => "PERCENT_HEADER" | (T 14) => "INT" | (T 15) => "KEYWORD" | (T 16) => "LBRACE" | (T 17) => "LPAREN" | (T 18) => "NAME" | (T 19) => "NODEFAULT" | (T 20) => "NONTERM" | (T 21) => "NOSHIFT" | (T 22) => "OF" | (T 23) => "PERCENT_EOP" | (T 24) => "PERCENT_PURE" | (T 25) => "PERCENT_POS" | (T 26) => "PERCENT_ARG" | (T 27) => "PREC" | (T 28) => "PREC_TAG" | (T 29) => "PREFER" | (T 30) => "PROG" | (T 31) => "RBRACE" | (T 32) => "RPAREN" | (T 33) => "SUBST" | (T 34) => "START" | (T 35) => "TERM" | (T 36) => "TYVAR" | (T 37) => "VERBOSE" | (T 38) => "VALUE" | (T 39) => "UNKNOWN" | (T 40) => "BOGUS_VALUE" | _ => "bogus-term" local open Header in val errtermvalue= fn _ => MlyValue.VOID end val terms = (T 0) :: (T 1) :: (T 2) :: (T 3) :: (T 4) :: (T 5) :: (T 6 ) :: (T 7) :: (T 8) :: (T 9) :: (T 13) :: (T 15) :: (T 16) :: (T 17) :: (T 18) :: (T 19) :: (T 20) :: (T 21) :: (T 22) :: (T 23) :: (T 24) :: (T 25) :: (T 26) :: (T 28) :: (T 29) :: (T 31) :: (T 32) :: (T 33) :: (T 34) :: (T 35) :: (T 37) :: (T 38) :: (T 40) :: nil end structure Actions = struct exception mlyAction of int local open Header in val actions = fn (i392,defaultPos,stack, (inputSource):arg) => case (i392,stack) of (0,(_,(MlyValue.G_RULE_LIST G_RULE_LIST1,_,G_RULE_LIST1right))::_:: (_,(MlyValue.MPC_DECLS MPC_DECLS1,_,_))::(_,(MlyValue.HEADER HEADER1, HEADER1left,_))::rest671) => let val result=MlyValue.BEGIN(fn _ => let val HEADER as HEADER1=HEADER1 () val MPC_DECLS as MPC_DECLS1=MPC_DECLS1 () val G_RULE_LIST as G_RULE_LIST1=G_RULE_LIST1 () in (HEADER,MPC_DECLS,rev G_RULE_LIST) end ) in (LrTable.NT 0,(result,HEADER1left,G_RULE_LIST1right),rest671) end | (1,(_,(MlyValue.MPC_DECL MPC_DECL1,MPC_DECLleft,MPC_DECL1right))::(_ ,(MlyValue.MPC_DECLS MPC_DECLS1,MPC_DECLS1left,_))::rest671) => let val result=MlyValue.MPC_DECLS(fn _ => let val MPC_DECLS as MPC_DECLS1= MPC_DECLS1 () val MPC_DECL as MPC_DECL1=MPC_DECL1 () in (join_decls(MPC_DECLS,MPC_DECL,inputSource,MPC_DECLleft)) end ) in (LrTable.NT 5,(result,MPC_DECLS1left,MPC_DECL1right),rest671) end | (2,rest671) => let val result=MlyValue.MPC_DECLS(fn _ => ( DECL {prec=nil,nonterm=NONE,term=NONE,eop=nil,control=nil, keyword=nil,change=nil, value=nil} )) in (LrTable.NT 5,(result,defaultPos,defaultPos),rest671) end | (3,(_,(MlyValue.CONSTR_LIST CONSTR_LIST1,_,CONSTR_LIST1right))::(_,( _,TERM1left,_))::rest671) => let val result=MlyValue.MPC_DECL(fn _ => let val CONSTR_LIST as CONSTR_LIST1=CONSTR_LIST1 () in ( DECL { prec=nil,nonterm=NONE, term = SOME CONSTR_LIST, eop =nil,control=nil, change=nil,keyword=nil, value=nil} ) end ) in (LrTable.NT 4,(result,TERM1left,CONSTR_LIST1right),rest671) end | (4,(_,(MlyValue.CONSTR_LIST CONSTR_LIST1,_,CONSTR_LIST1right))::(_,( _,NONTERM1left,_))::rest671) => let val result=MlyValue.MPC_DECL(fn _ => let val CONSTR_LIST as CONSTR_LIST1=CONSTR_LIST1 () in ( DECL { prec=nil,control=nil,nonterm= SOME CONSTR_LIST, term = NONE, eop=nil,change=nil,keyword=nil, value=nil} ) end ) in (LrTable.NT 4,(result,NONTERM1left,CONSTR_LIST1right),rest671) end | (5,(_,(MlyValue.ID_LIST ID_LIST1,_,ID_LIST1right))::(_,( MlyValue.PREC PREC1,PREC1left,_))::rest671) => let val result= MlyValue.MPC_DECL(fn _ => let val PREC as PREC1=PREC1 () val ID_LIST as ID_LIST1=ID_LIST1 () in ( DECL {prec= [(PREC,ID_LIST)],control=nil, nonterm=NONE,term=NONE,eop=nil,change=nil, keyword=nil,value=nil} ) end ) in (LrTable.NT 4,(result,PREC1left,ID_LIST1right),rest671) end | (6,(_,(MlyValue.ID ID1,_,ID1right))::(_,(_,START1left,_))::rest671) => let val result=MlyValue.MPC_DECL(fn _ => let val ID as ID1=ID1 () in ( DECL {prec=nil,control=[START_SYM (symbolMake ID)],nonterm=NONE, term = NONE, eop = nil,change=nil,keyword=nil, value=nil} ) end ) in (LrTable.NT 4,(result,START1left,ID1right),rest671) end | (7,(_,(MlyValue.ID_LIST ID_LIST1,_,ID_LIST1right))::(_,(_, PERCENT_EOP1left,_))::rest671) => let val result=MlyValue.MPC_DECL(fn _ => let val ID_LIST as ID_LIST1=ID_LIST1 () in ( DECL {prec=nil,control=nil,nonterm=NONE,term=NONE, eop=ID_LIST, change=nil,keyword=nil, value=nil} ) end ) in (LrTable.NT 4,(result,PERCENT_EOP1left,ID_LIST1right),rest671) end | (8,(_,(MlyValue.ID_LIST ID_LIST1,_,ID_LIST1right))::(_,(_, KEYWORD1left,_))::rest671) => let val result=MlyValue.MPC_DECL(fn _ => let val ID_LIST as ID_LIST1=ID_LIST1 () in ( DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil, change=nil,keyword=ID_LIST, value=nil} ) end ) in (LrTable.NT 4,(result,KEYWORD1left,ID_LIST1right),rest671) end | (9,(_,(MlyValue.ID_LIST ID_LIST1,_,ID_LIST1right))::(_,(_, PREFER1left,_))::rest671) => let val result=MlyValue.MPC_DECL(fn _ => let val ID_LIST as ID_LIST1=ID_LIST1 () in ( DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil, change=map (fn i=>([],[i])) ID_LIST,keyword=nil, value=nil} ) end ) in (LrTable.NT 4,(result,PREFER1left,ID_LIST1right),rest671) end | (10,(_,(MlyValue.CHANGE_DECL CHANGE_DECL1,_,CHANGE_DECL1right))::(_, (_,CHANGE1left,_))::rest671) => let val result=MlyValue.MPC_DECL(fn _ => let val CHANGE_DECL as CHANGE_DECL1=CHANGE_DECL1 () in ( DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil, change=CHANGE_DECL,keyword=nil, value=nil} ) end ) in (LrTable.NT 4,(result,CHANGE1left,CHANGE_DECL1right),rest671) end | (11,(_,(MlyValue.SUBST_DECL SUBST_DECL1,_,SUBST_DECL1right))::(_,(_, SUBST1left,_))::rest671) => let val result=MlyValue.MPC_DECL(fn _ => let val SUBST_DECL as SUBST_DECL1=SUBST_DECL1 () in ( DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil, change=SUBST_DECL,keyword=nil, value=nil} ) end ) in (LrTable.NT 4,(result,SUBST1left,SUBST_DECL1right),rest671) end | (12,(_,(MlyValue.ID_LIST ID_LIST1,_,ID_LIST1right))::(_,(_, NOSHIFT1left,_))::rest671) => let val result=MlyValue.MPC_DECL(fn _ => let val ID_LIST as ID_LIST1=ID_LIST1 () in ( DECL {prec=nil,control=[NSHIFT ID_LIST],nonterm=NONE,term=NONE, eop=nil,change=nil,keyword=nil, value=nil} ) end ) in (LrTable.NT 4,(result,NOSHIFT1left,ID_LIST1right),rest671) end | (13,(_,(MlyValue.PROG PROG1,_,PROG1right))::(_,(_, PERCENT_HEADER1left,_))::rest671) => let val result=MlyValue.MPC_DECL( fn _ => let val PROG as PROG1=PROG1 () in ( DECL {prec=nil,control=[FUNCTOR PROG],nonterm=NONE,term=NONE, eop=nil,change=nil,keyword=nil, value=nil} ) end ) in (LrTable.NT 4,(result,PERCENT_HEADER1left,PROG1right),rest671) end | (14,(_,(MlyValue.ID ID1,_,ID1right))::(_,(_,NAME1left,_))::rest671) => let val result=MlyValue.MPC_DECL(fn _ => let val ID as ID1=ID1 () in ( DECL {prec=nil,control=[PARSER_NAME (symbolMake ID)], nonterm=NONE,term=NONE, eop=nil,change=nil,keyword=nil, value=nil} ) end ) in (LrTable.NT 4,(result,NAME1left,ID1right),rest671) end | (15,(_,(MlyValue.TY TY1,_,TY1right))::_::(_,(MlyValue.PROG PROG1,_,_ ))::(_,(_,PERCENT_ARG1left,_))::rest671) => let val result= MlyValue.MPC_DECL(fn _ => let val PROG as PROG1=PROG1 () val TY as TY1=TY1 () in ( DECL {prec=nil,control=[PARSE_ARG(PROG,TY)],nonterm=NONE, term=NONE,eop=nil,change=nil,keyword=nil, value=nil} ) end ) in (LrTable.NT 4,(result,PERCENT_ARG1left,TY1right),rest671) end | (16,(_,(_,VERBOSE1left,VERBOSE1right))::rest671) => let val result= MlyValue.MPC_DECL(fn _ => ( DECL {prec=nil,control=[Hdr.VERBOSE], nonterm=NONE,term=NONE,eop=nil, change=nil,keyword=nil, value=nil} )) in (LrTable.NT 4,(result,VERBOSE1left,VERBOSE1right),rest671) end | (17,(_,(_,NODEFAULT1left,NODEFAULT1right))::rest671) => let val result=MlyValue.MPC_DECL(fn _ => ( DECL {prec=nil,control=[Hdr.NODEFAULT], nonterm=NONE,term=NONE,eop=nil, change=nil,keyword=nil, value=nil} )) in (LrTable.NT 4,(result,NODEFAULT1left,NODEFAULT1right),rest671) end | (18,(_,(_,PERCENT_PURE1left,PERCENT_PURE1right))::rest671) => let val result=MlyValue.MPC_DECL(fn _ => ( DECL {prec=nil,control=[Hdr.PURE], nonterm=NONE,term=NONE,eop=nil, change=nil,keyword=nil, value=nil} )) in (LrTable.NT 4,(result,PERCENT_PURE1left,PERCENT_PURE1right), rest671) end | (19,(_,(MlyValue.TY TY1,_,TY1right))::(_,(_,PERCENT_POS1left,_)):: rest671) => let val result=MlyValue.MPC_DECL(fn _ => let val TY as TY1 =TY1 () in ( DECL {prec=nil,control=[Hdr.POS TY], nonterm=NONE,term=NONE,eop=nil, change=nil,keyword=nil, value=nil} ) end ) in (LrTable.NT 4,(result,PERCENT_POS1left,TY1right),rest671) end | (20,(_,(MlyValue.PROG PROG1,_,PROG1right))::(_,(MlyValue.ID ID1,_,_) )::(_,(_,VALUE1left,_))::rest671) => let val result=MlyValue.MPC_DECL( fn _ => let val ID as ID1=ID1 () val PROG as PROG1=PROG1 () in ( DECL {prec=nil,control=nil, nonterm=NONE,term=NONE,eop=nil, change=nil,keyword=nil, value=[(symbolMake ID,PROG)]} ) end ) in (LrTable.NT 4,(result,VALUE1left,PROG1right),rest671) end | (21,(_,(MlyValue.CHANGE_DECL CHANGE_DECL1,_,CHANGE_DECL1right))::_:: (_,(MlyValue.CHANGE_DEC CHANGE_DEC1,CHANGE_DEC1left,_))::rest671) => let val result=MlyValue.CHANGE_DECL(fn _ => let val CHANGE_DEC as CHANGE_DEC1=CHANGE_DEC1 () val CHANGE_DECL as CHANGE_DECL1=CHANGE_DECL1 () in (CHANGE_DEC :: CHANGE_DECL) end ) in (LrTable.NT 14,(result,CHANGE_DEC1left,CHANGE_DECL1right),rest671) end | (22,(_,(MlyValue.CHANGE_DEC CHANGE_DEC1,CHANGE_DEC1left, CHANGE_DEC1right))::rest671) => let val result=MlyValue.CHANGE_DECL( fn _ => let val CHANGE_DEC as CHANGE_DEC1=CHANGE_DEC1 () in ([CHANGE_DEC]) end ) in (LrTable.NT 14,(result,CHANGE_DEC1left,CHANGE_DEC1right),rest671) end | (23,(_,(MlyValue.ID_LIST ID_LIST2,_,ID_LIST2right))::_::(_,( MlyValue.ID_LIST ID_LIST1,ID_LIST1left,_))::rest671) => let val result =MlyValue.CHANGE_DEC(fn _ => let val ID_LIST1=ID_LIST1 () val ID_LIST2=ID_LIST2 () in (ID_LIST1, ID_LIST2) end ) in (LrTable.NT 15,(result,ID_LIST1left,ID_LIST2right),rest671) end | (24,(_,(MlyValue.SUBST_DECL SUBST_DECL1,_,SUBST_DECL1right))::_::(_, (MlyValue.SUBST_DEC SUBST_DEC1,SUBST_DEC1left,_))::rest671) => let val result=MlyValue.SUBST_DECL(fn _ => let val SUBST_DEC as SUBST_DEC1 =SUBST_DEC1 () val SUBST_DECL as SUBST_DECL1=SUBST_DECL1 () in (SUBST_DEC :: SUBST_DECL) end ) in (LrTable.NT 12,(result,SUBST_DEC1left,SUBST_DECL1right),rest671) end | (25,(_,(MlyValue.SUBST_DEC SUBST_DEC1,SUBST_DEC1left,SUBST_DEC1right ))::rest671) => let val result=MlyValue.SUBST_DECL(fn _ => let val SUBST_DEC as SUBST_DEC1=SUBST_DEC1 () in ([SUBST_DEC]) end ) in (LrTable.NT 12,(result,SUBST_DEC1left,SUBST_DEC1right),rest671) end | (26,(_,(MlyValue.ID ID2,_,ID2right))::_::(_,(MlyValue.ID ID1,ID1left ,_))::rest671) => let val result=MlyValue.SUBST_DEC(fn _ => let val ID1=ID1 () val ID2=ID2 () in ([symbolMake ID2],[symbolMake ID1]) end ) in (LrTable.NT 13,(result,ID1left,ID2right),rest671) end | (27,(_,(MlyValue.TY TY1,_,TY1right))::_::(_,(MlyValue.ID ID1,_,_)):: _::(_,(MlyValue.CONSTR_LIST CONSTR_LIST1,CONSTR_LIST1left,_))::rest671 ) => let val result=MlyValue.CONSTR_LIST(fn _ => let val CONSTR_LIST as CONSTR_LIST1=CONSTR_LIST1 () val ID as ID1=ID1 () val TY as TY1=TY1 () in ((symbolMake ID,SOME (tyMake TY))::CONSTR_LIST) end ) in (LrTable.NT 1,(result,CONSTR_LIST1left,TY1right),rest671) end | (28,(_,(MlyValue.ID ID1,_,ID1right))::_::(_,(MlyValue.CONSTR_LIST CONSTR_LIST1,CONSTR_LIST1left,_))::rest671) => let val result= MlyValue.CONSTR_LIST(fn _ => let val CONSTR_LIST as CONSTR_LIST1= CONSTR_LIST1 () val ID as ID1=ID1 () in ((symbolMake ID,NONE)::CONSTR_LIST) end ) in (LrTable.NT 1,(result,CONSTR_LIST1left,ID1right),rest671) end | (29,(_,(MlyValue.TY TY1,_,TY1right))::_::(_,(MlyValue.ID ID1,ID1left ,_))::rest671) => let val result=MlyValue.CONSTR_LIST(fn _ => let val ID as ID1=ID1 () val TY as TY1=TY1 () in ([(symbolMake ID,SOME (tyMake TY))]) end ) in (LrTable.NT 1,(result,ID1left,TY1right),rest671) end | (30,(_,(MlyValue.ID ID1,ID1left,ID1right))::rest671) => let val result=MlyValue.CONSTR_LIST(fn _ => let val ID as ID1=ID1 () in ([(symbolMake ID,NONE)]) end ) in (LrTable.NT 1,(result,ID1left,ID1right),rest671) end | (31,(_,(MlyValue.RHS_LIST RHS_LIST1,_,RHS_LIST1right))::_::(_,( MlyValue.ID ID1,ID1left,_))::rest671) => let val result= MlyValue.G_RULE(fn _ => let val ID as ID1=ID1 () val RHS_LIST as RHS_LIST1=RHS_LIST1 () in ( map (fn {rhs,code,prec} => Hdr.RULE {lhs=symbolMake ID,rhs=rhs, code=code,prec=prec}) RHS_LIST ) end ) in (LrTable.NT 9,(result,ID1left,RHS_LIST1right),rest671) end | (32,(_,(MlyValue.G_RULE G_RULE1,_,G_RULE1right))::(_,( MlyValue.G_RULE_LIST G_RULE_LIST1,G_RULE_LIST1left,_))::rest671) => let val result=MlyValue.G_RULE_LIST(fn _ => let val G_RULE_LIST as G_RULE_LIST1=G_RULE_LIST1 () val G_RULE as G_RULE1=G_RULE1 () in (G_RULE@G_RULE_LIST) end ) in (LrTable.NT 10,(result,G_RULE_LIST1left,G_RULE1right),rest671) end | (33,(_,(MlyValue.G_RULE G_RULE1,G_RULE1left,G_RULE1right))::rest671) => let val result=MlyValue.G_RULE_LIST(fn _ => let val G_RULE as G_RULE1=G_RULE1 () in (G_RULE) end ) in (LrTable.NT 10,(result,G_RULE1left,G_RULE1right),rest671) end | (34,(_,(MlyValue.ID_LIST ID_LIST1,_,ID_LIST1right))::(_,(MlyValue.ID ID1,ID1left,_))::rest671) => let val result=MlyValue.ID_LIST(fn _ => let val ID as ID1=ID1 () val ID_LIST as ID_LIST1=ID_LIST1 () in (symbolMake ID :: ID_LIST) end ) in (LrTable.NT 2,(result,ID1left,ID_LIST1right),rest671) end | (35,rest671) => let val result=MlyValue.ID_LIST(fn _ => (nil)) in (LrTable.NT 2,(result,defaultPos,defaultPos),rest671) end | (36,(_,(MlyValue.PROG PROG1,_,PROG1right))::(_,(MlyValue.G_RULE_PREC G_RULE_PREC1,_,_))::(_,(MlyValue.ID_LIST ID_LIST1,ID_LIST1left,_)):: rest671) => let val result=MlyValue.RHS_LIST(fn _ => let val ID_LIST as ID_LIST1=ID_LIST1 () val G_RULE_PREC as G_RULE_PREC1=G_RULE_PREC1 () val PROG as PROG1=PROG1 () in ([{rhs=ID_LIST,code=PROG,prec=G_RULE_PREC}]) end ) in (LrTable.NT 8,(result,ID_LIST1left,PROG1right),rest671) end | (37,(_,(MlyValue.PROG PROG1,_,PROG1right))::(_,(MlyValue.G_RULE_PREC G_RULE_PREC1,_,_))::(_,(MlyValue.ID_LIST ID_LIST1,_,_))::_::(_,( MlyValue.RHS_LIST RHS_LIST1,RHS_LIST1left,_))::rest671) => let val result=MlyValue.RHS_LIST(fn _ => let val RHS_LIST as RHS_LIST1= RHS_LIST1 () val ID_LIST as ID_LIST1=ID_LIST1 () val G_RULE_PREC as G_RULE_PREC1=G_RULE_PREC1 () val PROG as PROG1=PROG1 () in ({rhs=ID_LIST,code=PROG,prec=G_RULE_PREC}::RHS_LIST) end ) in (LrTable.NT 8,(result,RHS_LIST1left,PROG1right),rest671) end | (38,(_,(MlyValue.TYVAR TYVAR1,TYVAR1left,TYVAR1right))::rest671) => let val result=MlyValue.TY(fn _ => let val TYVAR as TYVAR1=TYVAR1 () in (TYVAR) end ) in (LrTable.NT 16,(result,TYVAR1left,TYVAR1right),rest671) end | (39,(_,(_,_,RBRACE1right))::(_,(MlyValue.RECORD_LIST RECORD_LIST1,_, _))::(_,(_,LBRACE1left,_))::rest671) => let val result=MlyValue.TY(fn _ => let val RECORD_LIST as RECORD_LIST1=RECORD_LIST1 () in ("{ "^RECORD_LIST^" } ") end ) in (LrTable.NT 16,(result,LBRACE1left,RBRACE1right),rest671) end | (40,(_,(_,_,RBRACE1right))::(_,(_,LBRACE1left,_))::rest671) => let val result=MlyValue.TY(fn _ => ("{}")) in (LrTable.NT 16,(result,LBRACE1left,RBRACE1right),rest671) end | (41,(_,(MlyValue.PROG PROG1,PROG1left,PROG1right))::rest671) => let val result=MlyValue.TY(fn _ => let val PROG as PROG1=PROG1 () in (" ( "^PROG^" ) ") end ) in (LrTable.NT 16,(result,PROG1left,PROG1right),rest671) end | (42,(_,(MlyValue.QUAL_ID QUAL_ID1,_,QUAL_ID1right))::(_,(MlyValue.TY TY1,TY1left,_))::rest671) => let val result=MlyValue.TY(fn _ => let val TY as TY1=TY1 () val QUAL_ID as QUAL_ID1=QUAL_ID1 () in (TY^" "^QUAL_ID) end ) in (LrTable.NT 16,(result,TY1left,QUAL_ID1right),rest671) end | (43,(_,(MlyValue.QUAL_ID QUAL_ID1,QUAL_ID1left,QUAL_ID1right)):: rest671) => let val result=MlyValue.TY(fn _ => let val QUAL_ID as QUAL_ID1=QUAL_ID1 () in (QUAL_ID) end ) in (LrTable.NT 16,(result,QUAL_ID1left,QUAL_ID1right),rest671) end | (44,(_,(MlyValue.TY TY2,_,TY2right))::_::(_,(MlyValue.TY TY1,TY1left ,_))::rest671) => let val result=MlyValue.TY(fn _ => let val TY1=TY1 () val TY2=TY2 () in (TY1^"*"^TY2) end ) in (LrTable.NT 16,(result,TY1left,TY2right),rest671) end | (45,(_,(MlyValue.TY TY2,_,TY2right))::_::(_,(MlyValue.TY TY1,TY1left ,_))::rest671) => let val result=MlyValue.TY(fn _ => let val TY1=TY1 () val TY2=TY2 () in (TY1 ^ " -> " ^ TY2) end ) in (LrTable.NT 16,(result,TY1left,TY2right),rest671) end | (46,(_,(MlyValue.TY TY1,_,TY1right))::_::(_,(MlyValue.LABEL LABEL1,_ ,_))::_::(_,(MlyValue.RECORD_LIST RECORD_LIST1,RECORD_LIST1left,_)):: rest671) => let val result=MlyValue.RECORD_LIST(fn _ => let val RECORD_LIST as RECORD_LIST1=RECORD_LIST1 () val LABEL as LABEL1=LABEL1 () val TY as TY1=TY1 () in (RECORD_LIST^","^LABEL^":"^TY) end ) in (LrTable.NT 7,(result,RECORD_LIST1left,TY1right),rest671) end | (47,(_,(MlyValue.TY TY1,_,TY1right))::_::(_,(MlyValue.LABEL LABEL1, LABEL1left,_))::rest671) => let val result=MlyValue.RECORD_LIST(fn _ => let val LABEL as LABEL1=LABEL1 () val TY as TY1=TY1 () in (LABEL^":"^TY) end ) in (LrTable.NT 7,(result,LABEL1left,TY1right),rest671) end | (48,(_,(MlyValue.ID ID1,ID1left,ID1right))::rest671) => let val result=MlyValue.QUAL_ID(fn _ => let val ID as ID1=ID1 () in ((fn (a,_) => a) ID) end ) in (LrTable.NT 6,(result,ID1left,ID1right),rest671) end | (49,(_,(MlyValue.QUAL_ID QUAL_ID1,_,QUAL_ID1right))::(_,( MlyValue.IDDOT IDDOT1,IDDOT1left,_))::rest671) => let val result= MlyValue.QUAL_ID(fn _ => let val IDDOT as IDDOT1=IDDOT1 () val QUAL_ID as QUAL_ID1=QUAL_ID1 () in (IDDOT^QUAL_ID) end ) in (LrTable.NT 6,(result,IDDOT1left,QUAL_ID1right),rest671) end | (50,(_,(MlyValue.ID ID1,ID1left,ID1right))::rest671) => let val result=MlyValue.LABEL(fn _ => let val ID as ID1=ID1 () in ((fn (a,_) => a) ID) end ) in (LrTable.NT 3,(result,ID1left,ID1right),rest671) end | (51,(_,(MlyValue.INT INT1,INT1left,INT1right))::rest671) => let val result=MlyValue.LABEL(fn _ => let val INT as INT1=INT1 () in (INT) end ) in (LrTable.NT 3,(result,INT1left,INT1right),rest671) end | (52,(_,(MlyValue.ID ID1,_,ID1right))::(_,(_,PREC_TAG1left,_)):: rest671) => let val result=MlyValue.G_RULE_PREC(fn _ => let val ID as ID1=ID1 () in (SOME (symbolMake ID)) end ) in (LrTable.NT 11,(result,PREC_TAG1left,ID1right),rest671) end | (53,rest671) => let val result=MlyValue.G_RULE_PREC(fn _ => (NONE)) in (LrTable.NT 11,(result,defaultPos,defaultPos),rest671) end | _ => raise (mlyAction i392) end val void = MlyValue.VOID val extract = fn a => (fn MlyValue.BEGIN x => x | _ => let exception ParseInternal in raise ParseInternal end) a () end end structure Tokens : Mlyacc_TOKENS = struct type svalue = ParserData.svalue type ('a,'b) token = ('a,'b) Token.token fun ARROW (p1,p2) = Token.TOKEN (ParserData.LrTable.T 0,( ParserData.MlyValue.VOID,p1,p2)) fun ASTERISK (p1,p2) = Token.TOKEN (ParserData.LrTable.T 1,( ParserData.MlyValue.VOID,p1,p2)) fun BLOCK (p1,p2) = Token.TOKEN (ParserData.LrTable.T 2,( ParserData.MlyValue.VOID,p1,p2)) fun BAR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 3,( ParserData.MlyValue.VOID,p1,p2)) fun CHANGE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 4,( ParserData.MlyValue.VOID,p1,p2)) fun COLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 5,( ParserData.MlyValue.VOID,p1,p2)) fun COMMA (p1,p2) = Token.TOKEN (ParserData.LrTable.T 6,( ParserData.MlyValue.VOID,p1,p2)) fun DELIMITER (p1,p2) = Token.TOKEN (ParserData.LrTable.T 7,( ParserData.MlyValue.VOID,p1,p2)) fun EOF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 8,( ParserData.MlyValue.VOID,p1,p2)) fun FOR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 9,( ParserData.MlyValue.VOID,p1,p2)) fun HEADER (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 10,( ParserData.MlyValue.HEADER (fn () => i),p1,p2)) fun ID (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 11,( ParserData.MlyValue.ID (fn () => i),p1,p2)) fun IDDOT (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 12,( ParserData.MlyValue.IDDOT (fn () => i),p1,p2)) fun PERCENT_HEADER (p1,p2) = Token.TOKEN (ParserData.LrTable.T 13,( ParserData.MlyValue.VOID,p1,p2)) fun INT (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 14,( ParserData.MlyValue.INT (fn () => i),p1,p2)) fun KEYWORD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 15,( ParserData.MlyValue.VOID,p1,p2)) fun LBRACE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 16,( ParserData.MlyValue.VOID,p1,p2)) fun LPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 17,( ParserData.MlyValue.VOID,p1,p2)) fun NAME (p1,p2) = Token.TOKEN (ParserData.LrTable.T 18,( ParserData.MlyValue.VOID,p1,p2)) fun NODEFAULT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 19,( ParserData.MlyValue.VOID,p1,p2)) fun NONTERM (p1,p2) = Token.TOKEN (ParserData.LrTable.T 20,( ParserData.MlyValue.VOID,p1,p2)) fun NOSHIFT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 21,( ParserData.MlyValue.VOID,p1,p2)) fun OF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 22,( ParserData.MlyValue.VOID,p1,p2)) fun PERCENT_EOP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 23,( ParserData.MlyValue.VOID,p1,p2)) fun PERCENT_PURE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 24,( ParserData.MlyValue.VOID,p1,p2)) fun PERCENT_POS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 25,( ParserData.MlyValue.VOID,p1,p2)) fun PERCENT_ARG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 26,( ParserData.MlyValue.VOID,p1,p2)) fun PREC (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 27,( ParserData.MlyValue.PREC (fn () => i),p1,p2)) fun PREC_TAG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 28,( ParserData.MlyValue.VOID,p1,p2)) fun PREFER (p1,p2) = Token.TOKEN (ParserData.LrTable.T 29,( ParserData.MlyValue.VOID,p1,p2)) fun PROG (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 30,( ParserData.MlyValue.PROG (fn () => i),p1,p2)) fun RBRACE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 31,( ParserData.MlyValue.VOID,p1,p2)) fun RPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 32,( ParserData.MlyValue.VOID,p1,p2)) fun SUBST (p1,p2) = Token.TOKEN (ParserData.LrTable.T 33,( ParserData.MlyValue.VOID,p1,p2)) fun START (p1,p2) = Token.TOKEN (ParserData.LrTable.T 34,( ParserData.MlyValue.VOID,p1,p2)) fun TERM (p1,p2) = Token.TOKEN (ParserData.LrTable.T 35,( ParserData.MlyValue.VOID,p1,p2)) fun TYVAR (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 36,( ParserData.MlyValue.TYVAR (fn () => i),p1,p2)) fun VERBOSE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 37,( ParserData.MlyValue.VOID,p1,p2)) fun VALUE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 38,( ParserData.MlyValue.VOID,p1,p2)) fun UNKNOWN (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 39,( ParserData.MlyValue.UNKNOWN (fn () => i),p1,p2)) fun BOGUS_VALUE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 40,( ParserData.MlyValue.VOID,p1,p2)) end end smlsharp-1.2.0/benchmark/benchmarks/mlyacc/yaccOLD.lex.sml0000644 000000000000000000010571312050661606023613 0ustar00rootroot0000000 0000000 functor LexMLYACC(structure Tokens : Mlyacc_TOKENS structure Hdr : HEADER sharing Hdr = Header) : ARG_LEXER= struct structure UserDeclarations = struct (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi yacc.lex: Lexer specification *) structure Tokens = Tokens type svalue = Tokens.svalue type pos = int type ('a,'b) token = ('a,'b) Tokens.token type lexresult = (svalue,pos) token type lexarg = Hdr.inputSource type arg = lexarg open Tokens val error = Hdr.error val lineno = Hdr.lineno val text = Hdr.text val pcount = ref 0 val commentLevel = ref 0 val actionstart = ref 0 val eof = fn i => (if (!pcount)>0 then error i (!actionstart) " eof encountered in action beginning here !" else (); EOF(!lineno,!lineno)) val Add = fn s => (text := s::(!text)) local val dict = [("%prec",PREC_TAG),("%term",TERM), ("%nonterm",NONTERM), ("%eop",PERCENT_EOP),("%start",START), ("%prefer",PREFER),("%subst",SUBST),("%change",CHANGE), ("%keyword",KEYWORD),("%name",NAME), ("%verbose",VERBOSE), ("%nodefault",NODEFAULT), ("%value",VALUE), ("%noshift",NOSHIFT), ("%header",PERCENT_HEADER),("%pure",PERCENT_PURE), ("%arg",PERCENT_ARG), ("%pos",PERCENT_POS)] in val lookup = fn (s,left,right) => let fun f ((a,d)::b) = if a=s then d(left,right) else f b | f nil = UNKNOWN(s,left,right) in f dict end end fun inc (ri as ref i) = (ri := i+1) fun dec (ri as ref i) = (ri := i-1) end (* end of user routines *) exception LexError (* raised if illegal leaf action tried *) structure Internal = struct datatype yyfinstate = N of int type statedata = {fin : yyfinstate list, trans: string} (* transition & final state table *) val tab = let val s0 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" val s1 = "\015\015\015\015\015\015\015\015\015\015\021\015\015\015\015\015\ \\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\ \\015\015\015\015\015\019\015\015\017\015\015\015\015\015\015\015\ \\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\ \\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\ \\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\ \\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\ \\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\ \\015" val s3 = "\022\022\022\022\022\022\022\022\022\065\067\022\022\022\022\022\ \\022\022\022\022\022\022\022\022\022\022\022\022\022\022\022\022\ \\065\022\022\022\022\045\022\043\041\022\040\022\039\037\022\022\ \\035\035\035\035\035\035\035\035\035\035\034\022\022\022\022\022\ \\022\026\026\026\026\026\026\026\026\026\026\026\026\026\026\026\ \\026\026\026\026\026\026\026\026\026\026\026\022\022\022\022\022\ \\022\026\026\026\026\026\031\026\026\026\026\026\026\026\026\029\ \\026\026\026\026\026\026\026\026\026\026\026\025\024\023\022\022\ \\022" val s5 = "\068\068\068\068\068\068\068\068\068\068\021\068\068\068\068\068\ \\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\ \\068\068\072\068\068\068\068\068\070\069\068\068\068\068\068\068\ \\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\ \\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\ \\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\ \\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\ \\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\ \\068" val s7 = "\073\073\073\073\073\073\073\073\073\075\021\073\073\073\073\073\ \\073\073\073\073\073\073\073\073\073\073\073\073\073\073\073\073\ \\075\073\073\073\073\073\073\073\073\073\073\073\073\073\073\073\ \\073\073\073\073\073\073\073\073\073\073\073\073\073\073\073\073\ \\073\073\073\073\073\073\073\073\073\073\073\073\073\073\073\073\ \\073\073\073\073\073\073\073\073\073\073\073\073\074\073\073\073\ \\073\073\073\073\073\073\073\073\073\073\073\073\073\073\073\073\ \\073\073\073\073\073\073\073\073\073\073\073\073\073\073\073\073\ \\073" val s9 = "\077\077\077\077\077\077\077\077\077\077\021\077\077\077\077\077\ \\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\ \\077\077\077\077\077\077\077\077\081\080\078\077\077\077\077\077\ \\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\ \\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\ \\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\ \\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\ \\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\ \\077" val s11 = "\083\083\083\083\083\083\083\083\083\083\088\083\083\083\083\083\ \\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\ \\083\083\087\083\083\083\083\083\083\083\083\083\083\083\083\083\ \\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\ \\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\ \\083\083\083\083\083\083\083\083\083\083\083\083\084\083\083\083\ \\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\ \\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\ \\083" val s13 = "\089\089\089\089\089\089\089\089\089\089\021\089\089\089\089\089\ \\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\ \\089\089\089\089\089\089\089\089\093\092\090\089\089\089\089\089\ \\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\ \\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\ \\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\ \\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\ \\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\ \\089" val s15 = "\016\016\016\016\016\016\016\016\016\016\000\016\016\016\016\016\ \\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\ \\016\016\016\016\016\000\016\016\016\016\016\016\016\016\016\016\ \\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\ \\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\ \\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\ \\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\ \\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\ \\016" val s17 = "\016\016\016\016\016\016\016\016\016\016\000\016\016\016\016\016\ \\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\ \\016\016\016\016\016\000\016\016\016\016\018\016\016\016\016\016\ \\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\ \\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\ \\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\ \\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\ \\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\ \\016" val s19 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" val s26 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\027\000\000\000\000\000\000\028\000\ \\027\027\027\027\027\027\027\027\027\027\000\000\000\000\000\000\ \\000\027\027\027\027\027\027\027\027\027\027\027\027\027\027\027\ \\027\027\027\027\027\027\027\027\027\027\027\000\000\000\000\027\ \\000\027\027\027\027\027\027\027\027\027\027\027\027\027\027\027\ \\027\027\027\027\027\027\027\027\027\027\027\000\000\000\000\000\ \\000" val s29 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\027\000\000\000\000\000\000\028\000\ \\027\027\027\027\027\027\027\027\027\027\000\000\000\000\000\000\ \\000\027\027\027\027\027\027\027\027\027\027\027\027\027\027\027\ \\027\027\027\027\027\027\027\027\027\027\027\000\000\000\000\027\ \\000\027\027\027\027\027\030\027\027\027\027\027\027\027\027\027\ \\027\027\027\027\027\027\027\027\027\027\027\000\000\000\000\000\ \\000" val s31 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\027\000\000\000\000\000\000\028\000\ \\027\027\027\027\027\027\027\027\027\027\000\000\000\000\000\000\ \\000\027\027\027\027\027\027\027\027\027\027\027\027\027\027\027\ \\027\027\027\027\027\027\027\027\027\027\027\000\000\000\000\027\ \\000\027\027\027\027\027\027\027\027\027\027\027\027\027\027\032\ \\027\027\027\027\027\027\027\027\027\027\027\000\000\000\000\000\ \\000" val s32 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\027\000\000\000\000\000\000\028\000\ \\027\027\027\027\027\027\027\027\027\027\000\000\000\000\000\000\ \\000\027\027\027\027\027\027\027\027\027\027\027\027\027\027\027\ \\027\027\027\027\027\027\027\027\027\027\027\000\000\000\000\027\ \\000\027\027\027\027\027\027\027\027\027\027\027\027\027\027\027\ \\027\027\033\027\027\027\027\027\027\027\027\000\000\000\000\000\ \\000" val s35 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\036\036\036\036\036\036\036\036\036\036\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" val s37 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\038\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" val s41 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\042\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" val s43 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\044\000\000\000\000\000\000\000\000\ \\044\044\044\044\044\044\044\044\044\044\000\000\000\000\000\000\ \\000\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\ \\044\044\044\044\044\044\044\044\044\044\044\000\000\000\000\044\ \\000\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\ \\044\044\044\044\044\044\044\044\044\044\044\000\000\000\000\000\ \\000" val s45 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\064\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\046\046\046\046\046\046\046\046\046\046\046\060\046\052\046\ \\046\046\047\046\046\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s46 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\ \\046\046\046\046\046\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s47 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\046\046\046\046\046\046\046\046\048\046\046\046\046\046\046\ \\046\046\046\046\046\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s48 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\046\046\046\046\046\046\049\046\046\046\046\046\046\046\046\ \\046\046\046\046\046\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s49 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\046\046\046\046\046\046\046\050\046\046\046\046\046\046\046\ \\046\046\046\046\046\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s50 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\ \\046\046\046\046\051\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s52 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\046\046\046\046\046\046\046\046\046\046\046\046\046\046\053\ \\046\046\046\046\046\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s53 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\046\046\046\046\046\046\046\046\046\046\046\046\046\054\046\ \\046\046\046\046\046\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s54 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\055\046\046\046\046\046\046\046\046\046\046\046\046\046\046\ \\046\046\046\046\046\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s55 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\ \\046\046\046\056\046\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s56 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\ \\046\046\046\057\046\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s57 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\046\046\046\046\046\046\046\046\046\046\046\046\046\046\058\ \\046\046\046\046\046\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s58 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\046\046\059\046\046\046\046\046\046\046\046\046\046\046\046\ \\046\046\046\046\046\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s60 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\046\046\046\046\061\046\046\046\046\046\046\046\046\046\046\ \\046\046\046\046\046\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s61 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\046\046\046\046\046\062\046\046\046\046\046\046\046\046\046\ \\046\046\046\046\046\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s62 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\ \\000\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\ \\046\046\046\046\063\046\046\046\046\046\046\000\000\000\000\000\ \\000" val s65 = "\000\000\000\000\000\000\000\000\000\066\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\066\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" val s68 = "\068\068\068\068\068\068\068\068\068\068\000\068\068\068\068\068\ \\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\ \\068\068\000\068\068\068\068\068\000\000\068\068\068\068\068\068\ \\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\ \\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\ \\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\ \\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\ \\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\068\ \\068" val s70 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\071\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" val s75 = "\000\000\000\000\000\000\000\000\000\076\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\076\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" val s77 = "\077\077\077\077\077\077\077\077\077\077\000\077\077\077\077\077\ \\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\ \\077\077\077\077\077\077\077\077\000\000\000\077\077\077\077\077\ \\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\ \\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\ \\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\ \\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\ \\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\ \\077" val s78 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\079\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" val s81 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\082\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" val s83 = "\083\083\083\083\083\083\083\083\083\083\000\083\083\083\083\083\ \\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\ \\083\083\000\083\083\083\083\083\083\083\083\083\083\083\083\083\ \\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\ \\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\ \\083\083\083\083\083\083\083\083\083\083\083\083\000\083\083\083\ \\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\ \\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\083\ \\083" val s84 = "\000\000\000\000\000\000\000\000\000\086\086\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\086\000\085\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" val s89 = "\089\089\089\089\089\089\089\089\089\089\000\089\089\089\089\089\ \\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\ \\089\089\089\089\089\089\089\089\000\000\000\089\089\089\089\089\ \\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\ \\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\ \\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\ \\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\ \\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\ \\089" val s90 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\091\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" val s93 = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\094\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" in Vector.fromList [{fin = [], trans = s0}, {fin = [], trans = s1}, {fin = [], trans = s1}, {fin = [], trans = s3}, {fin = [], trans = s3}, {fin = [], trans = s5}, {fin = [], trans = s5}, {fin = [], trans = s7}, {fin = [], trans = s7}, {fin = [], trans = s9}, {fin = [], trans = s9}, {fin = [], trans = s11}, {fin = [], trans = s11}, {fin = [], trans = s13}, {fin = [], trans = s13}, {fin = [(N 11),(N 18)], trans = s15}, {fin = [(N 11)], trans = s15}, {fin = [(N 11),(N 18)], trans = s17}, {fin = [(N 2),(N 11)], trans = s15}, {fin = [(N 18)], trans = s19}, {fin = [(N 14)], trans = s0}, {fin = [(N 16)], trans = s0}, {fin = [(N 94)], trans = s0}, {fin = [(N 36),(N 94)], trans = s0}, {fin = [(N 87),(N 94)], trans = s0}, {fin = [(N 34),(N 94)], trans = s0}, {fin = [(N 90),(N 94)], trans = s26}, {fin = [(N 90)], trans = s26}, {fin = [(N 77)], trans = s0}, {fin = [(N 90),(N 94)], trans = s29}, {fin = [(N 28),(N 90)], trans = s26}, {fin = [(N 90),(N 94)], trans = s31}, {fin = [(N 90)], trans = s32}, {fin = [(N 32),(N 90)], trans = s26}, {fin = [(N 85),(N 94)], trans = s0}, {fin = [(N 80),(N 94)], trans = s35}, {fin = [(N 80)], trans = s35}, {fin = [(N 94)], trans = s37}, {fin = [(N 43)], trans = s0}, {fin = [(N 38),(N 94)], trans = s0}, {fin = [(N 40),(N 94)], trans = s0}, {fin = [(N 92),(N 94)], trans = s41}, {fin = [(N 5)], trans = s0}, {fin = [(N 73),(N 94)], trans = s43}, {fin = [(N 73)], trans = s43}, {fin = [(N 94)], trans = s45}, {fin = [(N 70)], trans = s46}, {fin = [(N 70)], trans = s47}, {fin = [(N 70)], trans = s48}, {fin = [(N 70)], trans = s49}, {fin = [(N 70)], trans = s50}, {fin = [(N 56),(N 70)], trans = s46}, {fin = [(N 70)], trans = s52}, {fin = [(N 70)], trans = s53}, {fin = [(N 70)], trans = s54}, {fin = [(N 70)], trans = s55}, {fin = [(N 70)], trans = s56}, {fin = [(N 70)], trans = s57}, {fin = [(N 70)], trans = s58}, {fin = [(N 66),(N 70)], trans = s46}, {fin = [(N 70)], trans = s60}, {fin = [(N 70)], trans = s61}, {fin = [(N 70)], trans = s62}, {fin = [(N 49),(N 70)], trans = s46}, {fin = [(N 83)], trans = s0}, {fin = [(N 25),(N 94)], trans = s65}, {fin = [(N 25)], trans = s65}, {fin = [(N 20)], trans = s0}, {fin = [(N 103)], trans = s68}, {fin = [(N 98)], trans = s0}, {fin = [(N 96)], trans = s70}, {fin = [(N 8)], trans = s0}, {fin = [(N 100)], trans = s0}, {fin = [(N 147)], trans = s0}, {fin = [(N 145),(N 147)], trans = s0}, {fin = [(N 143),(N 147)], trans = s75}, {fin = [(N 143)], trans = s75}, {fin = [(N 114)], trans = s77}, {fin = [(N 105)], trans = s78}, {fin = [(N 108)], trans = s0}, {fin = [(N 105)], trans = s0}, {fin = [(N 105)], trans = s81}, {fin = [(N 111)], trans = s0}, {fin = [(N 134)], trans = s83}, {fin = [(N 129)], trans = s84}, {fin = [(N 137)], trans = s0}, {fin = [(N 140)], trans = s0}, {fin = [(N 127)], trans = s0}, {fin = [(N 131)], trans = s0}, {fin = [(N 125)], trans = s89}, {fin = [(N 116)], trans = s90}, {fin = [(N 119)], trans = s0}, {fin = [(N 116)], trans = s0}, {fin = [(N 116)], trans = s93}, {fin = [(N 122)], trans = s0}] end structure StartStates = struct datatype yystartstate = STARTSTATE of int (* start state definitions *) val A = STARTSTATE 3; val CODE = STARTSTATE 5; val COMMENT = STARTSTATE 9; val EMPTYCOMMENT = STARTSTATE 13; val F = STARTSTATE 7; val INITIAL = STARTSTATE 1; val STRING = STARTSTATE 11; end type result = UserDeclarations.lexresult exception LexerError (* raised if illegal leaf action tried *) end fun makeLexer yyinput = let val yyb = ref "\n" (* buffer *) val yybl = ref 1 (*buffer length *) val yybufpos = ref 1 (* location of next character to use *) val yygone = ref 1 (* position in file of beginning of buffer *) val yydone = ref false (* eof found yet? *) val yybegin = ref 1 (*Current 'start state' for lexer *) val YYBEGIN = fn (Internal.StartStates.STARTSTATE x) => yybegin := x fun lex (yyarg as (inputSource)) = let fun continue() : Internal.result = let fun scan (s,AcceptingLeaves : Internal.yyfinstate list list,l,i0) = let fun action (i,nil) = raise LexError | action (i,nil::l) = action (i-1,l) | action (i,(node::acts)::l) = case node of Internal.N yyk => (let val yytext = substring(!yyb,i0,i-i0) val yypos = i0+ !yygone open UserDeclarations Internal.StartStates in (yybufpos := i; case yyk of (* Application actions *) 100 => (Add yytext; YYBEGIN STRING; continue()) | 103 => (Add yytext; continue()) | 105 => (Add yytext; continue()) | 108 => (Add yytext; dec commentLevel; if !commentLevel=0 then BOGUS_VALUE(!lineno,!lineno) else continue() ) | 11 => (Add yytext; continue()) | 111 => (Add yytext; inc commentLevel; continue()) | 114 => (Add yytext; continue()) | 116 => (continue()) | 119 => (dec commentLevel; if !commentLevel=0 then YYBEGIN A else (); continue ()) | 122 => (inc commentLevel; continue()) | 125 => (continue()) | 127 => (Add yytext; YYBEGIN CODE; continue()) | 129 => (Add yytext; continue()) | 131 => (Add yytext; error inputSource (!lineno) "unclosed string"; inc lineno; YYBEGIN CODE; continue()) | 134 => (Add yytext; continue()) | 137 => (Add yytext; continue()) | 14 => (YYBEGIN A; HEADER (concat (rev (!text)),!lineno,!lineno)) | 140 => (Add yytext; if substring(yytext,1,1)="\n" then inc lineno else (); YYBEGIN F; continue()) | 143 => (Add yytext; continue()) | 145 => (Add yytext; YYBEGIN STRING; continue()) | 147 => (Add yytext; error inputSource (!lineno) "unclosed string"; YYBEGIN CODE; continue()) | 16 => (Add yytext; inc lineno; continue()) | 18 => (Add yytext; continue()) | 2 => (Add yytext; YYBEGIN COMMENT; commentLevel := 1; continue() before YYBEGIN INITIAL) | 20 => (inc lineno; continue ()) | 25 => (continue()) | 28 => (OF(!lineno,!lineno)) | 32 => (FOR(!lineno,!lineno)) | 34 => (LBRACE(!lineno,!lineno)) | 36 => (RBRACE(!lineno,!lineno)) | 38 => (COMMA(!lineno,!lineno)) | 40 => (ASTERISK(!lineno,!lineno)) | 43 => (ARROW(!lineno,!lineno)) | 49 => (PREC(Hdr.LEFT,!lineno,!lineno)) | 5 => (YYBEGIN EMPTYCOMMENT; commentLevel := 1; continue()) | 56 => (PREC(Hdr.RIGHT,!lineno,!lineno)) | 66 => (PREC(Hdr.NONASSOC,!lineno,!lineno)) | 70 => (lookup(yytext,!lineno,!lineno)) | 73 => (TYVAR(yytext,!lineno,!lineno)) | 77 => (IDDOT(yytext,!lineno,!lineno)) | 8 => (Add yytext; YYBEGIN COMMENT; commentLevel := 1; continue() before YYBEGIN CODE) | 80 => (INT (yytext,!lineno,!lineno)) | 83 => (DELIMITER(!lineno,!lineno)) | 85 => (COLON(!lineno,!lineno)) | 87 => (BAR(!lineno,!lineno)) | 90 => (ID ((yytext,!lineno),!lineno,!lineno)) | 92 => (pcount := 1; actionstart := (!lineno); text := nil; YYBEGIN CODE; continue() before YYBEGIN A) | 94 => (UNKNOWN(yytext,!lineno,!lineno)) | 96 => (inc pcount; Add yytext; continue()) | 98 => (dec pcount; if !pcount = 0 then PROG (concat (rev (!text)),!lineno,!lineno) else (Add yytext; continue())) | _ => raise Internal.LexerError ) end ) val {fin,trans} = Vector.sub(Internal.tab, s) val NewAcceptingLeaves = fin::AcceptingLeaves in if l = !yybl then if trans = #trans(Vector.sub(Internal.tab,0)) then action(l,NewAcceptingLeaves ) else let val newchars= if !yydone then "" else yyinput 1024 in if (size newchars)=0 then (yydone := true; if (l=i0) then UserDeclarations.eof yyarg else action(l,NewAcceptingLeaves)) else (if i0=l then yyb := newchars else yyb := substring(!yyb,i0,l-i0)^newchars; yygone := !yygone+i0; yybl := size (!yyb); scan (s,AcceptingLeaves,l-i0,0)) end else let val NewChar = Char.ord(String.sub(!yyb,l)) val NewState = if NewChar<128 then Char.ord(String.sub(trans,NewChar)) else Char.ord(String.sub(trans,128)) in if NewState=0 then action(l,NewAcceptingLeaves) else scan(NewState,NewAcceptingLeaves,l+1,i0) end end (* val start= if substring(!yyb,!yybufpos-1,1)="\n" then !yybegin+1 else !yybegin *) in scan(!yybegin (* start *),nil,!yybufpos,!yybufpos) end in continue end in lex end end smlsharp-1.2.0/benchmark/benchmarks/nucleic0000755 000000000000000000000000012050661606021115 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks/nucleic/doit.smi0000644 000000000000000000000005112050661606022641 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "main.smi" smlsharp-1.2.0/benchmark/benchmarks/nucleic/doit.sml0000644 000000000000000000000003612050661606022647 0ustar00rootroot0000000 0000000 Main.doit (); print "Done\n"; smlsharp-1.2.0/benchmark/benchmarks/nucleic/MAIL0000644 000000000000000000000224012050661606021637 0ustar00rootroot0000000 0000000 Here is an sml program translated from scheme by Marc Feeley. It does some calculations relating to the 3D structure of nucleic acids. Since it exists now in C, scheme, sml, miranda, and haskell versions people here were doing some benchmarking. The C version takes about 4 seconds on a sparc SLC machine (which I think is around 20 integer specmarks). They had sml/nj 0.75 installed here, and this sml version ran in 11 seconds on the SLC (after taking _lots_ of time and memory to compile). I thought it might be faster on a new version, so I brought 1.03f over and built it. Surprisingly, 1.03f ran it in 22 seconds. The translation is crude, so it could probably be speeded up considerably. But why the 100% slowdown between 0.75 and 1.03f? Is it the space-unsafe optimizations in 0.75 again? It would be good to profile this and see what's happening. I haven't had time to look at the code, but it has some big tuples of tuples of reals, which probably explains the slow compilation. By the way, the final answer should be 179. Dave P.S. The Glasgow Haskell compiler never finished compiling the Haskell version, and Harlequin MLWorks dumped core while compiling it. smlsharp-1.2.0/benchmark/benchmarks/nucleic/main.smi0000644 000000000000000000000021212050661606022625 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "nucleic.smi" structure Main = struct val doit : unit -> unit val testit : TextIO.outstream -> unit end smlsharp-1.2.0/benchmark/benchmarks/nucleic/main.sml0000644 000000000000000000000044212050661606022635 0ustar00rootroot0000000 0000000 (* main.sml * * COPYRIGHT (c) 1996 AT&T Research. *) structure Main (*: BMARK*) = struct val name = "Nucleic" fun doit () = (Nucleic.anticodon_length (); ()) fun testit strm = TextIO.output(strm, concat[ Int.toString (Nucleic.anticodon_length ()), "\n" ]) end; smlsharp-1.2.0/benchmark/benchmarks/nucleic/nucleic.smi0000644 000000000000000000000013112050661606023323 0ustar00rootroot0000000 0000000 _require "basis.smi" structure Nucleic = struct val anticodon_length : unit -> int end smlsharp-1.2.0/benchmark/benchmarks/nucleic/nucleic.sml0000644 000000000000000000042700012050661606023336 0ustar00rootroot0000000 0000000 (* File: "nucleic.sml" *) structure Nucleic : sig val anticodon_length : unit -> int end = struct type float = real type intg = int (* -- MATH UTILITIES --------------------------------------------------------*) val constant_pi = 3.14159265358979323846 val constant_minus_pi = ~3.14159265358979323846 val constant_pi2 = 1.57079632679489661923 val constant_minus_pi2 = ~1.57079632679489661923 fun math_atan2 y x = if (x > 0.0) then Math.atan (y / x) else if Real.==(x, 0.0) then if y < 0.0 then constant_minus_pi2 else Math.atan (y / x) + constant_minus_pi else if Real.==(x, 0.0) then constant_pi2 else (Math.atan (y / x) + constant_pi) (* -- POINTS ----------------------------------------------------------------*) type pt = float * float * float fun pt_sub ((x1,y1,z1):pt) (x2,y2,z2) = (x1 - x2, y1 - y2, z1 - z2) fun pt_dist (x1,y1,z1) (x2,y2,z2) = let val dx = x1 - x2 val dy = y1 - y2 val dz = z1 - z2 in Math.sqrt ((dx * dx) + (dy * dy) + (dz * dz)) end fun pt_phi (x,y,z) = let val b = math_atan2 x z in math_atan2 (((Math.cos b) * z + ((Math.sin b) * x))) y end fun pt_theta (x,y,z) = math_atan2 x z (* -- COORDINATE TRANSFORMATIONS --------------------------------------------*) (* The notation for the transformations follows "Paul, R.P. (1981) Robot || Manipulators. MIT Press." with the exception that our transformation || matrices don't have the perspective terms and are the transpose of || Paul's one. See also "M\"antyl\"a, M. (1985) An Introduction to || Solid Modeling, Computer Science Press" Appendix A. || || The components of a transformation matrix are named like this: || || a b c || d e f || g h i || tx ty tz || || The components tx, ty, and tz are the translation vector. *) type tfo = float*float*float*float*float*float*float*float*float*float*float*float val tfo_id = (1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0) (* The function "tfo-apply" multiplies a transformation matrix, tfo, by a || point vector, p. The result is a new point. || || Note: in the measured program, this function was coded in assembler. *) fun tfo_apply (a,b,c,d,e,f,g,h,i,tx,ty,tz) (x:real,y:real,z:real) = ( ((x * a) + (y * d) + (z * g) + tx) , ((x * b) + (y * e) + (z * h) + ty) , ((x * c) + (y * f) + (z * i) + tz) ) (* The function "tfo-combine" multiplies two transformation matrices A and B. || The result is a new matrix which cumulates the transformations described || by A and B. || || Note: in the measured program, this function was coded in assembler. *) fun tfo_combine (a_a:real,a_b:real,a_c:real,a_d:real,a_e:real,a_f:real,a_g:real,a_h:real,a_i:real,a_tx:real,a_ty:real,a_tz:real) (b_a:real,b_b:real,b_c:real,b_d:real,b_e:real,b_f:real,b_g:real,b_h:real,b_i:real,b_tx:real,b_ty:real,b_tz:real) = ( ((a_a * b_a) + (a_b * b_d) + (a_c * b_g)) , ((a_a * b_b) + (a_b * b_e) + (a_c * b_h)) , ((a_a * b_c) + (a_b * b_f) + (a_c * b_i)) , ((a_d * b_a) + (a_e * b_d) + (a_f * b_g)) , ((a_d * b_b) + (a_e * b_e) + (a_f * b_h)) , ((a_d * b_c) + (a_e * b_f) + (a_f * b_i)) , ((a_g * b_a) + (a_h * b_d) + (a_i * b_g)) , ((a_g * b_b) + (a_h * b_e) + (a_i * b_h)) , ((a_g * b_c) + (a_h * b_f) + (a_i * b_i)) , ((a_tx * b_a) + (a_ty * b_d) + (a_tz * b_g) + b_tx) , ((a_tx * b_b) + (a_ty * b_e) + (a_tz * b_h) + b_ty) , ((a_tx * b_c) + (a_ty * b_f) + (a_tz * b_i) + b_tz) ) (* The function "tfo-inv-ortho" computes the inverse of a homogeneous || transformation matrix. *) fun tfo_inv_ortho ((a,b,c,d,e,f,g,h,i,tx,ty,tz):tfo) = ( a,d,g, b,e,h, c,f,i, (~((a * tx) + (b * ty) + (c * tz))) , (~ ((d * tx) + (e * ty) + (f * tz))) , (~ ((g * tx) + (h * ty) + (i * tz))) ) (* Given three points p1, p2, and p3, the function "tfo-align" computes || a transformation matrix such that point p1 gets mapped to (0,0,0), p2 gets || mapped to the Y axis and p3 gets mapped to the YZ plane. *) fun tfo_align (x1:real,y1:real,z1:real) (x2:real,y2:real,z2:real) (x3,y3,z3) = let val x31 = x3 - x1 val y31 = y3 - y1 val z31 = z3 - z1 val rotpy = pt_sub (x2,y2,z2) (x1,y1,z1) val phi = pt_phi rotpy val theta = pt_theta rotpy val sinp = Math.sin phi val sint = Math.sin theta val cosp = Math.cos phi val cost = Math.cos theta val sinpsint = sinp * sint val sinpcost = sinp * cost val cospsint = cosp * sint val cospcost = cosp * cost val rotpz = ( ((cost * x31) - (sint * z31)) , ((sinpsint * x31) + (cosp * y31) + (sinpcost * z31)) , ((cospsint * x31) + (~ (sinp * y31)) + (cospcost * z31)) ) val rho = pt_theta rotpz val cosr = Math.cos rho val sinr = Math.sin rho val x = (~ (x1 * cost)) + (z1 * sint) val y = ((~ (x1 * sinpsint)) - (y1 * cosp)) - (z1 * sinpcost) val z = ((~ (x1 * cospsint) + (y1 * sinp))) - (z1 * cospcost) in ( ((cost * cosr) - (cospsint * sinr)) , sinpsint , ((cost * sinr + (cospsint * cosr))) , (sinp * sinr) , cosp , (~ (sinp * cosr)) , ((~ (sint * cosr)) - (cospcost * sinr)) , sinpcost , ((~ (sint * sinr) + (cospcost * cosr))) , ((x * cosr) - (z * sinr)) , y , ((x * sinr + (z * cosr))) ) end (* -- NUCLEIC ACID CONFORMATIONS DATA BASE ----------------------------------*) (* Numbering of atoms follows the paper: || || IUPAC-IUB Joint Commission on Biochemical Nomenclature (JCBN) || (1983) Abbreviations and Symbols for the Description of || Conformations of Polynucleotide Chains. Eur. J. Biochem 131, || 9-15. || || In the atom names, we have used "*" instead of "'". *) (* Define remaining atoms for each nucleotide type. *) datatype nuc_specific = A of pt*pt*pt*pt*pt*pt*pt*pt | C of pt*pt*pt*pt*pt*pt | G of pt*pt*pt*pt*pt*pt*pt*pt*pt | U of pt*pt*pt*pt*pt (* A N6 N7 N9 C8 H2 H61 H62 H8 || C N4 O2 H41 H42 H5 H6 || G N2 N7 N9 C8 O6 H1 H21 H22 H8 || U O2 O4 H3 H5 H6 *) (* Define part common to all 4 nucleotide types. *) type nuc = tfo*tfo*tfo*tfo* pt*pt*pt*pt*pt*pt*pt*pt*pt*pt*pt*pt* pt*pt*pt*pt*pt*pt*pt*pt*pt*pt*pt*pt* pt*nuc_specific (* dgf-base-tfo ; defines the standard position for wc and wc-dumas || P-O3*-275-tfo ; defines the standard position for the connect function || P-O3*-180-tfo || P-O3*-60-tfo || P O1P O2P O5* C5* H5* H5** C4* H4* O4* C1* H1* C2* H2** O2* H2* C3* || H3* O3* N1 N3 C2 C4 C5 C6) *) fun is_A (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo, p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2', c3',h3',o3',n1,n3,c2,c4,c5,c6,A _) = true | is_A x = false fun is_C (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo, p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2', c3',h3',o3',n1,n3,c2,c4,c5,c6,C _) = true | is_C x = false fun is_G (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo, p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2', c3',h3',o3',n1,n3,c2,c4,c5,c6,G _) = true | is_G x = false fun is_U (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo, p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2', c3',h3',o3',n1,n3,c2,c4,c5,c6,U _) = true | is_U x = false fun nuc_C1' (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo, p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2', c3',h3',o3',n1,n3,c2,c4,c5,c6,_) = c1' fun nuc_C2 (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo, p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2', c3',h3',o3',n1,n3,c2,c4,c5,c6,_) = c2 fun nuc_C3' (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo, p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2', c3',h3',o3',n1,n3,c2,c4,c5,c6,_) = c3' fun nuc_C4 (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo, p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2', c3',h3',o3',n1,n3,c2,c4,c5,c6,_) = c4 fun nuc_C4' (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo, p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2', c3',h3',o3',n1,n3,c2,c4,c5,c6,_) = c4' fun nuc_N1 (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo, p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2', c3',h3',o3',n1,n3,c2,c4,c5,c6,_) = n1 fun nuc_O3' (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo, p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2', c3',h3',o3',n1,n3,c2,c4,c5,c6,_) = o3' fun nuc_P (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo, p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2', c3',h3',o3',n1,n3,c2,c4,c5,c6,_) = p fun nuc_dgf_base_tfo (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo, p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2', c3',h3',o3',n1,n3,c2,c4,c5,c6,_) = dgf_base_tfo fun nuc_p_o3'_180_tfo (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo, p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2', c3',h3',o3',n1,n3,c2,c4,c5,c6,_) = p_o3'_180_tfo fun nuc_p_o3'_275_tfo (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo, p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2', c3',h3',o3',n1,n3,c2,c4,c5,c6,_) = p_o3'_275_tfo fun nuc_p_o3'_60_tfo (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo, p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2', c3',h3',o3',n1,n3,c2,c4,c5,c6,_) = p_o3'_60_tfo fun rA_N9 (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo, p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2', c3',h3',o3',n1,n3,c2,c4,c5,c6,A (n6,n7,n9,c8,h2,h61,h62,h8)) = n9 fun rG_N9 (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo, p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2', c3',h3',o3',n1,n3,c2,c4,c5,c6,G (n2,n7,n9,c8,o6,h1,h21,h22,h8)) = n9 (* Database of nucleotide conformations: *) val rA = ( ( (~0.0018), (~0.8207), (0.5714), (* dgf-base-tfo *) (0.2679), (~0.5509), (~0.7904), (0.9634), (0.1517), (0.2209), (0.0073), (8.4030), (0.6232)), ( (~0.8143), (~0.5091), (~0.2788), (* P-O3'-275-tfo *) (~0.0433), (~0.4257), (0.9038), (~0.5788), (0.7480), (0.3246), (1.5227), (6.9114), (~7.0765)), ( (0.3822), (~0.7477), (0.5430), (* P-O3'-180-tfo *) (0.4552), (0.6637), (0.5935), (~0.8042), (0.0203), (0.5941), (~6.9472), (~4.1186), (~5.9108)), ( (0.5640), (0.8007), (~0.2022), (* P-O3'-60-tfo *) (~0.8247), (0.5587), (~0.0878), (0.0426), (0.2162), (0.9754), (6.2694), (~7.0540), (3.3316)), ( (2.8930), (8.5380), (~3.3280)), (* P *) ( (1.6980), (7.6960), (~3.5570)), (* O1P *) ( (3.2260), (9.5010), (~4.4020)), (* O2P *) ( (4.1590), (7.6040), (~3.0340)), (* O5' *) ( (5.4550), (8.2120), (~2.8810)), (* C5' *) ( (5.4546), (8.8508), (~1.9978)), (* H5' *) ( (5.7588), (8.6625), (~3.8259)), (* H5'' *) ( (6.4970), (7.1480), (~2.5980)), (* C4' *) ( (7.4896), (7.5919), (~2.5214)), (* H4' *) ( (6.1630), (6.4860), (~1.3440)), (* O4' *) ( (6.5400), (5.1200), (~1.4190)), (* C1' *) ( (7.2763), (4.9681), (~0.6297)), (* H1' *) ( (7.1940), (4.8830), (~2.7770)), (* C2' *) ( (6.8667), (3.9183), (~3.1647)), (* H2'' *) ( (8.5860), (5.0910), (~2.6140)), (* O2' *) ( (8.9510), (4.7626), (~1.7890)), (* H2' *) ( (6.5720), (6.0040), (~3.6090)), (* C3' *) ( (5.5636), (5.7066), (~3.8966)), (* H3' *) ( (7.3801), (6.3562), (~4.7350)), (* O3' *) ( (4.7150), (0.4910), (~0.1360)), (* N1 *) ( (6.3490), (2.1730), (~0.6020)), (* N3 *) ( (5.9530), (0.9650), (~0.2670)), (* C2 *) ( (5.2900), (2.9790), (~0.8260)), (* C4 *) ( (3.9720), (2.6390), (~0.7330)), (* C5 *) ( (3.6770), (1.3160), (~0.3660)), (* C6 *) (A ( ( (2.4280), (0.8450), (~0.2360)), (* N6 *) ( (3.1660), (3.7290), (~1.0360)), (* N7 *) ( (5.3170), (4.2990), (~1.1930)), (* N9 *) ( (4.0100), (4.6780), (~1.2990)), (* C8 *) ( (6.6890), (0.1903), (~0.0518)), (* H2 *) ( (1.6470), (1.4460), (~0.4040)), (* H61 *) ( (2.2780), (~0.1080), (~0.0280)), (* H62 *) ( (3.4421), (5.5744), (~1.5482))) (* H8 *) ) ) val rA01 = ( ( (~0.0043), (~0.8175), (0.5759), (* dgf-base-tfo *) (0.2617), (~0.5567), (~0.7884), (0.9651), (0.1473), (0.2164), (0.0359), (8.3929), (0.5532)), ( (~0.8143), (~0.5091), (~0.2788), (* P-O3'-275-tfo *) (~0.0433), (~0.4257), (0.9038), (~0.5788), (0.7480), (0.3246), (1.5227), (6.9114), (~7.0765)), ( (0.3822), (~0.7477), (0.5430), (* P-O3'-180-tfo *) (0.4552), (0.6637), (0.5935), (~0.8042), (0.0203), (0.5941), (~6.9472), (~4.1186), (~5.9108)), ( (0.5640), (0.8007), (~0.2022), (* P-O3'-60-tfo *) (~0.8247), (0.5587), (~0.0878), (0.0426), (0.2162), (0.9754), (6.2694), (~7.0540), (3.3316)), ( (2.8930), (8.5380), (~3.3280)), (* P *) ( (1.6980), (7.6960), (~3.5570)), (* O1P *) ( (3.2260), (9.5010), (~4.4020)), (* O2P *) ( (4.1590), (7.6040), (~3.0340)), (* O5' *) ( (5.4352), (8.2183), (~2.7757)), (* C5' *) ( (5.3830), (8.7883), (~1.8481)), (* H5' *) ( (5.7729), (8.7436), (~3.6691)), (* H5'' *) ( (6.4830), (7.1518), (~2.5252)), (* C4' *) ( (7.4749), (7.5972), (~2.4482)), (* H4' *) ( (6.1626), (6.4620), (~1.2827)), (* O4' *) ( (6.5431), (5.0992), (~1.3905)), (* C1' *) ( (7.2871), (4.9328), (~0.6114)), (* H1' *) ( (7.1852), (4.8935), (~2.7592)), (* C2' *) ( (6.8573), (3.9363), (~3.1645)), (* H2'' *) ( (8.5780), (5.1025), (~2.6046)), (* O2' *) ( (8.9516), (4.7577), (~1.7902)), (* H2' *) ( (6.5522), (6.0300), (~3.5612)), (* C3' *) ( (5.5420), (5.7356), (~3.8459)), (* H3' *) ( (7.3487), (6.4089), (~4.6867)), (* O3' *) ( (4.7442), (0.4514), (~0.1390)), (* N1 *) ( (6.3687), (2.1459), (~0.5926)), (* N3 *) ( (5.9795), (0.9335), (~0.2657)), (* C2 *) ( (5.3052), (2.9471), (~0.8125)), (* C4 *) ( (3.9891), (2.5987), (~0.7230)), (* C5 *) ( (3.7016), (1.2717), (~0.3647)), (* C6 *) (A ( ( (2.4553), (0.7925), (~0.2390)), (* N6 *) ( (3.1770), (3.6859), (~1.0198)), (* N7 *) ( (5.3247), (4.2695), (~1.1710)), (* N9 *) ( (4.0156), (4.6415), (~1.2759)), (* C8 *) ( (6.7198), (0.1618), (~0.0547)), (* H2 *) ( (1.6709), (1.3900), (~0.4039)), (* H61 *) ( (2.3107), (~0.1627), (~0.0373)), (* H62 *) ( (3.4426), (5.5361), (~1.5199))) (* H8 *) ) ) val rA02 = ( ( (0.5566), (0.0449), (0.8296), (* dgf-base-tfo *) (0.5125), (0.7673), (~0.3854), (~0.6538), (0.6397), (0.4041), (~9.1161), (~3.7679), (~2.9968)), ( (~0.8143), (~0.5091), (~0.2788), (* P-O3'-275-tfo *) (~0.0433), (~0.4257), (0.9038), (~0.5788), (0.7480), (0.3246), (1.5227), (6.9114), (~7.0765)), ( (0.3822), (~0.7477), (0.5430), (* P-O3'-180-tfo *) (0.4552), (0.6637), (0.5935), (~0.8042), (0.0203), (0.5941), (~6.9472), (~4.1186), (~5.9108)), ( (0.5640), (0.8007), (~0.2022), (* P-O3'-60-tfo *) (~0.8247), (0.5587), (~0.0878), (0.0426), (0.2162), (0.9754), (6.2694), (~7.0540), (3.3316)), ( (2.8930), (8.5380), (~3.3280)), (* P *) ( (1.6980), (7.6960), (~3.5570)), (* O1P *) ( (3.2260), (9.5010), (~4.4020)), (* O2P *) ( (4.1590), (7.6040), (~3.0340)), (* O5' *) ( (4.5778), (6.6594), (~4.0364)), (* C5' *) ( (4.9220), (7.1963), (~4.9204)), (* H5' *) ( (3.7996), (5.9091), (~4.1764)), (* H5'' *) ( (5.7873), (5.8869), (~3.5482)), (* C4' *) ( (6.0405), (5.0875), (~4.2446)), (* H4' *) ( (6.9135), (6.8036), (~3.4310)), (* O4' *) ( (7.7293), (6.4084), (~2.3392)), (* C1' *) ( (8.7078), (6.1815), (~2.7624)), (* H1' *) ( (7.1305), (5.1418), (~1.7347)), (* C2' *) ( (7.2040), (5.1982), (~0.6486)), (* H2'' *) ( (7.7417), (4.0392), (~2.3813)), (* O2' *) ( (8.6785), (4.1443), (~2.5630)), (* H2' *) ( (5.6666), (5.2728), (~2.1536)), (* C3' *) ( (5.1747), (5.9805), (~1.4863)), (* H3' *) ( (4.9997), (4.0086), (~2.1973)), (* O3' *) ( (10.3245), (8.5459), (1.5467)), (* N1 *) ( (9.8051), (6.9432), (~0.1497)), (* N3 *) ( (10.5175), (7.4328), (0.8408)), (* C2 *) ( (8.7523), (7.7422), (~0.4228)), (* C4 *) ( (8.4257), (8.9060), (0.2099)), (* C5 *) ( (9.2665), (9.3242), (1.2540)), (* C6 *) (A ( ( (9.0664), (10.4462), (1.9610)), (* N6 *) ( (7.2750), (9.4537), (~0.3428)), (* N7 *) ( (7.7962), (7.5519), (~1.3859)), (* N9 *) ( (6.9479), (8.6157), (~1.2771)), (* C8 *) ( (11.4063), (6.9047), (1.1859)), (* H2 *) ( (8.2845), (11.0341), (1.7552)), (* H61 *) ( (9.6584), (10.6647), (2.7198)), (* H62 *) ( (6.0430), (8.9853), (~1.7594))) (* H8 *) ) ) val rA03 = ( ( (~0.5021), (0.0731), (0.8617), (* dgf-base-tfo *) (~0.8112), (0.3054), (~0.4986), (~0.2996), (~0.9494), (~0.0940), (6.4273), (~5.1944), (~3.7807)), ( (~0.8143), (~0.5091), (~0.2788), (* P-O3'-275-tfo *) (~0.0433), (~0.4257), (0.9038), (~0.5788), (0.7480), (0.3246), (1.5227), (6.9114), (~7.0765)), ( (0.3822), (~0.7477), (0.5430), (* P-O3'-180-tfo *) (0.4552), (0.6637), (0.5935), (~0.8042), (0.0203), (0.5941), (~6.9472), (~4.1186), (~5.9108)), ( (0.5640), (0.8007), (~0.2022), (* P-O3'-60-tfo *) (~0.8247), (0.5587), (~0.0878), (0.0426), (0.2162), (0.9754), (6.2694), (~7.0540), (3.3316)), ( (2.8930), (8.5380), (~3.3280)), (* P *) ( (1.6980), (7.6960), (~3.5570)), (* O1P *) ( (3.2260), (9.5010), (~4.4020)), (* O2P *) ( (4.1590), (7.6040), (~3.0340)), (* O5' *) ( (4.1214), (6.7116), (~1.9049)), (* C5' *) ( (3.3465), (5.9610), (~2.0607)), (* H5' *) ( (4.0789), (7.2928), (~0.9837)), (* H5'' *) ( (5.4170), (5.9293), (~1.8186)), (* C4' *) ( (5.4506), (5.3400), (~0.9023)), (* H4' *) ( (5.5067), (5.0417), (~2.9703)), (* O4' *) ( (6.8650), (4.9152), (~3.3612)), (* C1' *) ( (7.1090), (3.8577), (~3.2603)), (* H1' *) ( (7.7152), (5.7282), (~2.3894)), (* C2' *) ( (8.5029), (6.2356), (~2.9463)), (* H2'' *) ( (8.1036), (4.8568), (~1.3419)), (* O2' *) ( (8.3270), (3.9651), (~1.6184)), (* H2' *) ( (6.7003), (6.7565), (~1.8911)), (* C3' *) ( (6.5898), (7.5329), (~2.6482)), (* H3' *) ( (7.0505), (7.2878), (~0.6105)), (* O3' *) ( (9.6740), (4.7656), (~7.6614)), (* N1 *) ( (9.0739), (4.3013), (~5.3941)), (* N3 *) ( (9.8416), (4.2192), (~6.4581)), (* C2 *) ( (7.9885), (5.0632), (~5.6446)), (* C4 *) ( (7.6822), (5.6856), (~6.8194)), (* C5 *) ( (8.5831), (5.5215), (~7.8840)), (* C6 *) (A ( ( (8.4084), (6.0747), (~9.0933)), (* N6 *) ( (6.4857), (6.3816), (~6.7035)), (* N7 *) ( (6.9740), (5.3703), (~4.7760)), (* N9 *) ( (6.1133), (6.1613), (~5.4808)), (* C8 *) ( (10.7627), (3.6375), (~6.4220)), (* H2 *) ( (7.6031), (6.6390), (~9.2733)), (* H61 *) ( (9.1004), (5.9708), (~9.7893)), (* H62 *) ( (5.1705), (6.6830), (~5.3167))) (* H8 *) ) ) val rA04 = ( ( (~0.5426), (~0.8175), (0.1929), (* dgf-base-tfo *) (0.8304), (~0.5567), (~0.0237), (0.1267), (0.1473), (0.9809), (~0.5075), (8.3929), (0.2229)), ( (~0.8143), (~0.5091), (~0.2788), (* P-O3'-275-tfo *) (~0.0433), (~0.4257), (0.9038), (~0.5788), (0.7480), (0.3246), (1.5227), (6.9114), (~7.0765)), ( (0.3822), (~0.7477), (0.5430), (* P-O3'-180-tfo *) (0.4552), (0.6637), (0.5935), (~0.8042), (0.0203), (0.5941), (~6.9472), (~4.1186), (~5.9108)), ( (0.5640), (0.8007), (~0.2022), (* P-O3'-60-tfo *) (~0.8247), (0.5587), (~0.0878), (0.0426), (0.2162), (0.9754), (6.2694), (~7.0540), (3.3316)), ( (2.8930), (8.5380), (~3.3280)), (* P *) ( (1.6980), (7.6960), (~3.5570)), (* O1P *) ( (3.2260), (9.5010), (~4.4020)), (* O2P *) ( (4.1590), (7.6040), (~3.0340)), (* O5' *) ( (5.4352), (8.2183), (~2.7757)), (* C5' *) ( (5.3830), (8.7883), (~1.8481)), (* H5' *) ( (5.7729), (8.7436), (~3.6691)), (* H5'' *) ( (6.4830), (7.1518), (~2.5252)), (* C4' *) ( (7.4749), (7.5972), (~2.4482)), (* H4' *) ( (6.1626), (6.4620), (~1.2827)), (* O4' *) ( (6.5431), (5.0992), (~1.3905)), (* C1' *) ( (7.2871), (4.9328), (~0.6114)), (* H1' *) ( (7.1852), (4.8935), (~2.7592)), (* C2' *) ( (6.8573), (3.9363), (~3.1645)), (* H2'' *) ( (8.5780), (5.1025), (~2.6046)), (* O2' *) ( (8.9516), (4.7577), (~1.7902)), (* H2' *) ( (6.5522), (6.0300), (~3.5612)), (* C3' *) ( (5.5420), (5.7356), (~3.8459)), (* H3' *) ( (7.3487), (6.4089), (~4.6867)), (* O3' *) ( (3.6343), (2.6680), (2.0783)), (* N1 *) ( (5.4505), (3.9805), (1.2446)), (* N3 *) ( (4.7540), (3.3816), (2.1851)), (* C2 *) ( (4.8805), (3.7951), (0.0354)), (* C4 *) ( (3.7416), (3.0925), (~0.2305)), (* C5 *) ( (3.0873), (2.4980), (0.8606)), (* C6 *) (A ( ( (1.9600), (1.7805), (0.7462)), (* N6 *) ( (3.4605), (3.1184), (~1.5906)), (* N7 *) ( (5.3247), (4.2695), (~1.1710)), (* N9 *) ( (4.4244), (3.8244), (~2.0953)), (* C8 *) ( (5.0814), (3.4352), (3.2234)), (* H2 *) ( (1.5423), (1.6454), (~0.1520)), (* H61 *) ( (1.5716), (1.3398), (1.5392)), (* H62 *) ( (4.2675), (3.8876), (~3.1721))) (* H8 *) ) ) val rA05 = ( ( (~0.5891), (0.0449), (0.8068), (* dgf-base-tfo *) (0.5375), (0.7673), (0.3498), (~0.6034), (0.6397), (~0.4762), (~0.3019), (~3.7679), (~9.5913)), ( (~0.8143), (~0.5091), (~0.2788), (* P-O3'-275-tfo *) (~0.0433), (~0.4257), (0.9038), (~0.5788), (0.7480), (0.3246), (1.5227), (6.9114), (~7.0765)), ( (0.3822), (~0.7477), (0.5430), (* P-O3'-180-tfo *) (0.4552), (0.6637), (0.5935), (~0.8042), (0.0203), (0.5941), (~6.9472), (~4.1186), (~5.9108)), ( (0.5640), (0.8007), (~0.2022), (* P-O3'-60-tfo *) (~0.8247), (0.5587), (~0.0878), (0.0426), (0.2162), (0.9754), (6.2694), (~7.0540), (3.3316)), ( (2.8930), (8.5380), (~3.3280)), (* P *) ( (1.6980), (7.6960), (~3.5570)), (* O1P *) ( (3.2260), (9.5010), (~4.4020)), (* O2P *) ( (4.1590), (7.6040), (~3.0340)), (* O5' *) ( (4.5778), (6.6594), (~4.0364)), (* C5' *) ( (4.9220), (7.1963), (~4.9204)), (* H5' *) ( (3.7996), (5.9091), (~4.1764)), (* H5'' *) ( (5.7873), (5.8869), (~3.5482)), (* C4' *) ( (6.0405), (5.0875), (~4.2446)), (* H4' *) ( (6.9135), (6.8036), (~3.4310)), (* O4' *) ( (7.7293), (6.4084), (~2.3392)), (* C1' *) ( (8.7078), (6.1815), (~2.7624)), (* H1' *) ( (7.1305), (5.1418), (~1.7347)), (* C2' *) ( (7.2040), (5.1982), (~0.6486)), (* H2'' *) ( (7.7417), (4.0392), (~2.3813)), (* O2' *) ( (8.6785), (4.1443), (~2.5630)), (* H2' *) ( (5.6666), (5.2728), (~2.1536)), (* C3' *) ( (5.1747), (5.9805), (~1.4863)), (* H3' *) ( (4.9997), (4.0086), (~2.1973)), (* O3' *) ( (10.2594), (10.6774), (~1.0056)), (* N1 *) ( (9.7528), (8.7080), (~2.2631)), (* N3 *) ( (10.4471), (9.7876), (~1.9791)), (* C2 *) ( (8.7271), (8.5575), (~1.3991)), (* C4 *) ( (8.4100), (9.3803), (~0.3580)), (* C5 *) ( (9.2294), (10.5030), (~0.1574)), (* C6 *) (A ( ( (9.0349), (11.3951), (0.8250)), (* N6 *) ( (7.2891), (8.9068), (0.3121)), (* N7 *) ( (7.7962), (7.5519), (~1.3859)), (* N9 *) ( (6.9702), (7.8292), (~0.3353)), (* C8 *) ( (11.3132), (10.0537), (~2.5851)), (* H2 *) ( (8.2741), (11.2784), (1.4629)), (* H61 *) ( (9.6733), (12.1368), (0.9529)), (* H62 *) ( (6.0888), (7.3990), (0.1403))) (* H8 *) ) ) val rA06 = ( ( (~0.9815), (0.0731), (~0.1772), (* dgf-base-tfo *) (0.1912), (0.3054), (~0.9328), (~0.0141), (~0.9494), (~0.3137), (5.7506), (~5.1944), (4.7470)), ( (~0.8143), (~0.5091), (~0.2788), (* P-O3'-275-tfo *) (~0.0433), (~0.4257), (0.9038), (~0.5788), (0.7480), (0.3246), (1.5227), (6.9114), (~7.0765)), ( (0.3822), (~0.7477), (0.5430), (* P-O3'-180-tfo *) (0.4552), (0.6637), (0.5935), (~0.8042), (0.0203), (0.5941), (~6.9472), (~4.1186), (~5.9108)), ( (0.5640), (0.8007), (~0.2022), (* P-O3'-60-tfo *) (~0.8247), (0.5587), (~0.0878), (0.0426), (0.2162), (0.9754), (6.2694), (~7.0540), (3.3316)), ( (2.8930), (8.5380), (~3.3280)), (* P *) ( (1.6980), (7.6960), (~3.5570)), (* O1P *) ( (3.2260), (9.5010), (~4.4020)), (* O2P *) ( (4.1590), (7.6040), (~3.0340)), (* O5' *) ( (4.1214), (6.7116), (~1.9049)), (* C5' *) ( (3.3465), (5.9610), (~2.0607)), (* H5' *) ( (4.0789), (7.2928), (~0.9837)), (* H5'' *) ( (5.4170), (5.9293), (~1.8186)), (* C4' *) ( (5.4506), (5.3400), (~0.9023)), (* H4' *) ( (5.5067), (5.0417), (~2.9703)), (* O4' *) ( (6.8650), (4.9152), (~3.3612)), (* C1' *) ( (7.1090), (3.8577), (~3.2603)), (* H1' *) ( (7.7152), (5.7282), (~2.3894)), (* C2' *) ( (8.5029), (6.2356), (~2.9463)), (* H2'' *) ( (8.1036), (4.8568), (~1.3419)), (* O2' *) ( (8.3270), (3.9651), (~1.6184)), (* H2' *) ( (6.7003), (6.7565), (~1.8911)), (* C3' *) ( (6.5898), (7.5329), (~2.6482)), (* H3' *) ( (7.0505), (7.2878), (~0.6105)), (* O3' *) ( (6.6624), (3.5061), (~8.2986)), (* N1 *) ( (6.5810), (3.2570), (~5.9221)), (* N3 *) ( (6.5151), (2.8263), (~7.1625)), (* C2 *) ( (6.8364), (4.5817), (~5.8882)), (* C4 *) ( (7.0116), (5.4064), (~6.9609)), (* C5 *) ( (6.9173), (4.8260), (~8.2361)), (* C6 *) (A ( ( (7.0668), (5.5163), (~9.3763)), (* N6 *) ( (7.2573), (6.7070), (~6.5394)), (* N7 *) ( (6.9740), (5.3703), (~4.7760)), (* N9 *) ( (7.2238), (6.6275), (~5.2453)), (* C8 *) ( (6.3146), (1.7741), (~7.3641)), (* H2 *) ( (7.2568), (6.4972), (~9.3456)), (* H61 *) ( (7.0437), (5.0478), (~10.2446)), (* H62 *) ( (7.4108), (7.6227), (~4.8418))) (* H8 *) ) ) val rA07 = ( ( (0.2379), (0.1310), (~0.9624), (* dgf-base-tfo *) (~0.5876), (~0.7696), (~0.2499), (~0.7734), (0.6249), (~0.1061), (30.9870), (~26.9344), (42.6416)), ( (0.7529), (0.1548), (0.6397), (* P-O3'-275-tfo *) (0.2952), (~0.9481), (~0.1180), (0.5882), (0.2777), (~0.7595), (~58.8919), (~11.3095), (6.0866)), ( (~0.0239), (0.9667), (~0.2546), (* P-O3'-180-tfo *) (0.9731), (~0.0359), (~0.2275), (~0.2290), (~0.2532), (~0.9399), (3.5401), (~29.7913), (52.2796)), ( (~0.8912), (~0.4531), (0.0242), (* P-O3'-60-tfo *) (~0.1183), (0.1805), (~0.9764), (0.4380), (~0.8730), (~0.2145), (19.9023), (54.8054), (15.2799)), ( (41.8210), (8.3880), (43.5890)), (* P *) ( (42.5400), (8.0450), (44.8330)), (* O1P *) ( (42.2470), (9.6920), (42.9910)), (* O2P *) ( (40.2550), (8.2030), (43.7340)), (* O5' *) ( (39.3505), (8.4697), (42.6565)), (* C5' *) ( (39.1377), (7.5433), (42.1230)), (* H5' *) ( (39.7203), (9.3119), (42.0717)), (* H5'' *) ( (38.0405), (8.9195), (43.2869)), (* C4' *) ( (37.3687), (9.3036), (42.5193)), (* H4' *) ( (37.4319), (7.8146), (43.9387)), (* O4' *) ( (37.1959), (8.1354), (45.3237)), (* C1' *) ( (36.1788), (8.5202), (45.3970)), (* H1' *) ( (38.1721), (9.2328), (45.6504)), (* C2' *) ( (39.1555), (8.7939), (45.8188)), (* H2'' *) ( (37.7862), (10.0617), (46.7013)), (* O2' *) ( (37.3087), (9.6229), (47.4092)), (* H2' *) ( (38.1844), (10.0268), (44.3367)), (* C3' *) ( (39.1578), (10.5054), (44.2289)), (* H3' *) ( (37.0547), (10.9127), (44.3441)), (* O3' *) ( (34.8811), (4.2072), (47.5784)), (* N1 *) ( (35.1084), (6.1336), (46.1818)), (* N3 *) ( (34.4108), (5.1360), (46.7207)), (* C2 *) ( (36.3908), (6.1224), (46.6053)), (* C4 *) ( (36.9819), (5.2334), (47.4697)), (* C5 *) ( (36.1786), (4.1985), (48.0035)), (* C6 *) (A ( ( (36.6103), (3.2749), (48.8452)), (* N6 *) ( (38.3236), (5.5522), (47.6595)), (* N7 *) ( (37.3887), (7.0024), (46.2437)), (* N9 *) ( (38.5055), (6.6096), (46.9057)), (* C8 *) ( (33.3553), (5.0152), (46.4771)), (* H2 *) ( (37.5730), (3.2804), (49.1507)), (* H61 *) ( (35.9775), (2.5638), (49.1828)), (* H62 *) ( (39.5461), (6.9184), (47.0041))) (* H8 *) ) ) val rA08 = ( ( (0.1084), (~0.0895), (~0.9901), (* dgf-base-tfo *) (0.9789), (~0.1638), (0.1220), (~0.1731), (~0.9824), (0.0698), (~2.9039), (47.2655), (33.0094)), ( (0.7529), (0.1548), (0.6397), (* P-O3'-275-tfo *) (0.2952), (~0.9481), (~0.1180), (0.5882), (0.2777), (~0.7595), (~58.8919), (~11.3095), (6.0866)), ( (~0.0239), (0.9667), (~0.2546), (* P-O3'-180-tfo *) (0.9731), (~0.0359), (~0.2275), (~0.2290), (~0.2532), (~0.9399), (3.5401), (~29.7913), (52.2796)), ( (~0.8912), (~0.4531), (0.0242), (* P-O3'-60-tfo *) (~0.1183), (0.1805), (~0.9764), (0.4380), (~0.8730), (~0.2145), (19.9023), (54.8054), (15.2799)), ( (41.8210), (8.3880), (43.5890)), (* P *) ( (42.5400), (8.0450), (44.8330)), (* O1P *) ( (42.2470), (9.6920), (42.9910)), (* O2P *) ( (40.2550), (8.2030), (43.7340)), (* O5' *) ( (39.4850), (8.9301), (44.6977)), (* C5' *) ( (39.0638), (9.8199), (44.2296)), (* H5' *) ( (40.0757), (9.0713), (45.6029)), (* H5'' *) ( (38.3102), (8.0414), (45.0789)), (* C4' *) ( (37.7842), (8.4637), (45.9351)), (* H4' *) ( (37.4200), (7.9453), (43.9769)), (* O4' *) ( (37.2249), (6.5609), (43.6273)), (* C1' *) ( (36.3360), (6.2168), (44.1561)), (* H1' *) ( (38.4347), (5.8414), (44.1590)), (* C2' *) ( (39.2688), (5.9974), (43.4749)), (* H2'' *) ( (38.2344), (4.4907), (44.4348)), (* O2' *) ( (37.6374), (4.0386), (43.8341)), (* H2' *) ( (38.6926), (6.6079), (45.4637)), (* C3' *) ( (39.7585), (6.5640), (45.6877)), (* H3' *) ( (37.8238), (6.0705), (46.4723)), (* O3' *) ( (33.9162), (6.2598), (39.7758)), (* N1 *) ( (34.6709), (6.5759), (42.0215)), (* N3 *) ( (33.7257), (6.5186), (41.0858)), (* C2 *) ( (35.8935), (6.3324), (41.5018)), (* C4 *) ( (36.2105), (6.0601), (40.1932)), (* C5 *) ( (35.1538), (6.0151), (39.2537)), (* C6 *) (A ( ( (35.3088), (5.7642), (37.9649)), (* N6 *) ( (37.5818), (5.8677), (40.0507)), (* N7 *) ( (37.0932), (6.3197), (42.1810)), (* N9 *) ( (38.0509), (6.0354), (41.2635)), (* C8 *) ( (32.6830), (6.6898), (41.3532)), (* H2 *) ( (36.2305), (5.5855), (37.5925)), (* H61 *) ( (34.5056), (5.7512), (37.3528)), (* H62 *) ( (39.1318), (5.8993), (41.2285))) (* H8 *) ) ) val rA09 = ( ( (0.8467), (0.4166), (~0.3311), (* dgf-base-tfo *) (~0.3962), (0.9089), (0.1303), (0.3552), (0.0209), (0.9346), (~42.7319), (~26.6223), (~29.8163)), ( (0.7529), (0.1548), (0.6397), (* P-O3'-275-tfo *) (0.2952), (~0.9481), (~0.1180), (0.5882), (0.2777), (~0.7595), (~58.8919), (~11.3095), (6.0866)), ( (~0.0239), (0.9667), (~0.2546), (* P-O3'-180-tfo *) (0.9731), (~0.0359), (~0.2275), (~0.2290), (~0.2532), (~0.9399), (3.5401), (~29.7913), (52.2796)), ( (~0.8912), (~0.4531), (0.0242), (* P-O3'-60-tfo *) (~0.1183), (0.1805), (~0.9764), (0.4380), (~0.8730), (~0.2145), (19.9023), (54.8054), (15.2799)), ( (41.8210), (8.3880), (43.5890)), (* P *) ( (42.5400), (8.0450), (44.8330)), (* O1P *) ( (42.2470), (9.6920), (42.9910)), (* O2P *) ( (40.2550), (8.2030), (43.7340)), (* O5' *) ( (39.3505), (8.4697), (42.6565)), (* C5' *) ( (39.1377), (7.5433), (42.1230)), (* H5' *) ( (39.7203), (9.3119), (42.0717)), (* H5'' *) ( (38.0405), (8.9195), (43.2869)), (* C4' *) ( (37.6479), (8.1347), (43.9335)), (* H4' *) ( (38.2691), (10.0933), (44.0524)), (* O4' *) ( (37.3999), (11.1488), (43.5973)), (* C1' *) ( (36.5061), (11.1221), (44.2206)), (* H1' *) ( (37.0364), (10.7838), (42.1836)), (* C2' *) ( (37.8636), (11.0489), (41.5252)), (* H2'' *) ( (35.8275), (11.3133), (41.7379)), (* O2' *) ( (35.6214), (12.1896), (42.0714)), (* H2' *) ( (36.9316), (9.2556), (42.2837)), (* C3' *) ( (37.1778), (8.8260), (41.3127)), (* H3' *) ( (35.6285), (8.9334), (42.7926)), (* O3' *) ( (38.1482), (15.2833), (46.4641)), (* N1 *) ( (37.3641), (13.0968), (45.9007)), (* N3 *) ( (37.5032), (14.1288), (46.7300)), (* C2 *) ( (37.9570), (13.3377), (44.7113)), (* C4 *) ( (38.6397), (14.4660), (44.3267)), (* C5 *) ( (38.7473), (15.5229), (45.2609)), (* C6 *) (A ( ( (39.3720), (16.6649), (45.0297)), (* N6 *) ( (39.1079), (14.3351), (43.0223)), (* N7 *) ( (38.0132), (12.4868), (43.6280)), (* N9 *) ( (38.7058), (13.1402), (42.6620)), (* C8 *) ( (37.0731), (14.0857), (47.7306)), (* H2 *) ( (39.8113), (16.8281), (44.1350)), (* H61 *) ( (39.4100), (17.3741), (45.7478)), (* H62 *) ( (39.0412), (12.9660), (41.6397))) (* H8 *) ) ) val rA10 = ( ( (0.7063), (0.6317), (~0.3196), (* dgf-base-tfo *) (~0.0403), (~0.4149), (~0.9090), (~0.7068), (0.6549), (~0.2676), (6.4402), (~52.1496), (30.8246)), ( (0.7529), (0.1548), (0.6397), (* P-O3'-275-tfo *) (0.2952), (~0.9481), (~0.1180), (0.5882), (0.2777), (~0.7595), (~58.8919), (~11.3095), (6.0866)), ( (~0.0239), (0.9667), (~0.2546), (* P-O3'-180-tfo *) (0.9731), (~0.0359), (~0.2275), (~0.2290), (~0.2532), (~0.9399), (3.5401), (~29.7913), (52.2796)), ( (~0.8912), (~0.4531), (0.0242), (* P-O3'-60-tfo *) (~0.1183), (0.1805), (~0.9764), (0.4380), (~0.8730), (~0.2145), (19.9023), (54.8054), (15.2799)), ( (41.8210), (8.3880), (43.5890)), (* P *) ( (42.5400), (8.0450), (44.8330)), (* O1P *) ( (42.2470), (9.6920), (42.9910)), (* O2P *) ( (40.2550), (8.2030), (43.7340)), (* O5' *) ( (39.4850), (8.9301), (44.6977)), (* C5' *) ( (39.0638), (9.8199), (44.2296)), (* H5' *) ( (40.0757), (9.0713), (45.6029)), (* H5'' *) ( (38.3102), (8.0414), (45.0789)), (* C4' *) ( (37.7099), (7.8166), (44.1973)), (* H4' *) ( (38.8012), (6.8321), (45.6380)), (* O4' *) ( (38.2431), (6.6413), (46.9529)), (* C1' *) ( (37.3505), (6.0262), (46.8385)), (* H1' *) ( (37.8484), (8.0156), (47.4214)), (* C2' *) ( (38.7381), (8.5406), (47.7690)), (* H2'' *) ( (36.8286), (8.0368), (48.3701)), (* O2' *) ( (36.8392), (7.3063), (48.9929)), (* H2' *) ( (37.3576), (8.6512), (46.1132)), (* C3' *) ( (37.5207), (9.7275), (46.1671)), (* H3' *) ( (35.9985), (8.2392), (45.9032)), (* O3' *) ( (39.9117), (2.2278), (48.8527)), (* N1 *) ( (38.6207), (3.6941), (47.4757)), (* N3 *) ( (38.9872), (2.4888), (47.9057)), (* C2 *) ( (39.2961), (4.6720), (48.1174)), (* C4 *) ( (40.2546), (4.5307), (49.0912)), (* C5 *) ( (40.5932), (3.2189), (49.4985)), (* C6 *) (A ( ( (41.4938), (2.9317), (50.4229)), (* N6 *) ( (40.7195), (5.7755), (49.5060)), (* N7 *) ( (39.1730), (6.0305), (47.9170)), (* N9 *) ( (40.0413), (6.6250), (48.7728)), (* C8 *) ( (38.5257), (1.5960), (47.4838)), (* H2 *) ( (41.9907), (3.6753), (50.8921)), (* H61 *) ( (41.6848), (1.9687), (50.6599)), (* H62 *) ( (40.3571), (7.6321), (49.0452))) (* H8 *) ) ) val rAs = [rA01,rA02,rA03,rA04,rA05,rA06,rA07,rA08,rA09,rA10] val rC = ( ( (~0.0359), (~0.8071), (0.5894), (* dgf-base-tfo *) (~0.2669), (0.5761), (0.7726), (~0.9631), (~0.1296), (~0.2361), (0.1584), (8.3434), (0.5434)), ( (~0.8313), (~0.4738), (~0.2906), (* P-O3'-275-tfo *) (0.0649), (0.4366), (~0.8973), (0.5521), (~0.7648), (~0.3322), (1.6833), (6.8060), (~7.0011)), ( (0.3445), (~0.7630), (0.5470), (* P-O3'-180-tfo *) (~0.4628), (~0.6450), (~0.6082), (0.8168), (~0.0436), (~0.5753), (~6.8179), (~3.9778), (~5.9887)), ( (0.5855), (0.7931), (~0.1682), (* P-O3'-60-tfo *) (0.8103), (~0.5790), (0.0906), (~0.0255), (~0.1894), (~0.9816), (6.1203), (~7.1051), (3.1984)), ( (2.6760), (~8.4960), (3.2880)), (* P *) ( (1.4950), (~7.6230), (3.4770)), (* O1P *) ( (2.9490), (~9.4640), (4.3740)), (* O2P *) ( (3.9730), (~7.5950), (3.0340)), (* O5' *) ( (5.2430), (~8.2420), (2.8260)), (* C5' *) ( (5.1974), (~8.8497), (1.9223)), (* H5' *) ( (5.5548), (~8.7348), (3.7469)), (* H5'' *) ( (6.3140), (~7.2060), (2.5510)), (* C4' *) ( (7.2954), (~7.6762), (2.4898)), (* H4' *) ( (6.0140), (~6.5420), (1.2890)), (* O4' *) ( (6.4190), (~5.1840), (1.3620)), (* C1' *) ( (7.1608), (~5.0495), (0.5747)), (* H1' *) ( (7.0760), (~4.9560), (2.7270)), (* C2' *) ( (6.7770), (~3.9803), (3.1099)), (* H2'' *) ( (8.4500), (~5.1930), (2.5810)), (* O2' *) ( (8.8309), (~4.8755), (1.7590)), (* H2' *) ( (6.4060), (~6.0590), (3.5580)), (* C3' *) ( (5.4021), (~5.7313), (3.8281)), (* H3' *) ( (7.1570), (~6.4240), (4.7070)), (* O3' *) ( (5.2170), (~4.3260), (1.1690)), (* N1 *) ( (4.2960), (~2.2560), (0.6290)), (* N3 *) ( (5.4330), (~3.0200), (0.7990)), (* C2 *) ( (2.9930), (~2.6780), (0.7940)), (* C4 *) ( (2.8670), (~4.0630), (1.1830)), (* C5 *) ( (3.9570), (~4.8300), (1.3550)), (* C6 *) (C ( ( (2.0187), (~1.8047), (0.5874)), (* N4 *) ( (6.5470), (~2.5560), (0.6290)), (* O2 *) ( (1.0684), (~2.1236), (0.7109)), (* H41 *) ( (2.2344), (~0.8560), (0.3162)), (* H42 *) ( (1.8797), (~4.4972), (1.3404)), (* H5 *) ( (3.8479), (~5.8742), (1.6480))) (* H6 *) ) ) val rC01 = ( ( (~0.0137), (~0.8012), (0.5983), (* dgf-base-tfo *) (~0.2523), (0.5817), (0.7733), (~0.9675), (~0.1404), (~0.2101), (0.2031), (8.3874), (0.4228)), ( (~0.8313), (~0.4738), (~0.2906), (* P-O3'-275-tfo *) (0.0649), (0.4366), (~0.8973), (0.5521), (~0.7648), (~0.3322), (1.6833), (6.8060), (~7.0011)), ( (0.3445), (~0.7630), (0.5470), (* P-O3'-180-tfo *) (~0.4628), (~0.6450), (~0.6082), (0.8168), (~0.0436), (~0.5753), (~6.8179), (~3.9778), (~5.9887)), ( (0.5855), (0.7931), (~0.1682), (* P-O3'-60-tfo *) (0.8103), (~0.5790), (0.0906), (~0.0255), (~0.1894), (~0.9816), (6.1203), (~7.1051), (3.1984)), ( (2.6760), (~8.4960), (3.2880)), (* P *) ( (1.4950), (~7.6230), (3.4770)), (* O1P *) ( (2.9490), (~9.4640), (4.3740)), (* O2P *) ( (3.9730), (~7.5950), (3.0340)), (* O5' *) ( (5.2416), (~8.2422), (2.8181)), (* C5' *) ( (5.2050), (~8.8128), (1.8901)), (* H5' *) ( (5.5368), (~8.7738), (3.7227)), (* H5'' *) ( (6.3232), (~7.2037), (2.6002)), (* C4' *) ( (7.3048), (~7.6757), (2.5577)), (* H4' *) ( (6.0635), (~6.5092), (1.3456)), (* O4' *) ( (6.4697), (~5.1547), (1.4629)), (* C1' *) ( (7.2354), (~5.0043), (0.7018)), (* H1' *) ( (7.0856), (~4.9610), (2.8521)), (* C2' *) ( (6.7777), (~3.9935), (3.2487)), (* H2'' *) ( (8.4627), (~5.1992), (2.7423)), (* O2' *) ( (8.8693), (~4.8638), (1.9399)), (* H2' *) ( (6.3877), (~6.0809), (3.6362)), (* C3' *) ( (5.3770), (~5.7562), (3.8834)), (* H3' *) ( (7.1024), (~6.4754), (4.7985)), (* O3' *) ( (5.2764), (~4.2883), (1.2538)), (* N1 *) ( (4.3777), (~2.2062), (0.7229)), (* N3 *) ( (5.5069), (~2.9779), (0.9088)), (* C2 *) ( (3.0693), (~2.6246), (0.8500)), (* C4 *) ( (2.9279), (~4.0146), (1.2149)), (* C5 *) ( (4.0101), (~4.7892), (1.4017)), (* C6 *) (C ( ( (2.1040), (~1.7437), (0.6331)), (* N4 *) ( (6.6267), (~2.5166), (0.7728)), (* O2 *) ( (1.1496), (~2.0600), (0.7287)), (* H41 *) ( (2.3303), (~0.7921), (0.3815)), (* H42 *) ( (1.9353), (~4.4465), (1.3419)), (* H5 *) ( (3.8895), (~5.8371), (1.6762))) (* H6 *) ) ) val rC02 = ( ( (0.5141), (0.0246), (0.8574), (* dgf-base-tfo *) (~0.5547), (~0.7529), (0.3542), (0.6542), (~0.6577), (~0.3734), (~9.1111), (~3.4598), (~3.2939)), ( (~0.8313), (~0.4738), (~0.2906), (* P-O3'-275-tfo *) (0.0649), (0.4366), (~0.8973), (0.5521), (~0.7648), (~0.3322), (1.6833), (6.8060), (~7.0011)), ( (0.3445), (~0.7630), (0.5470), (* P-O3'-180-tfo *) (~0.4628), (~0.6450), (~0.6082), (0.8168), (~0.0436), (~0.5753), (~6.8179), (~3.9778), (~5.9887)), ( (0.5855), (0.7931), (~0.1682), (* P-O3'-60-tfo *) (0.8103), (~0.5790), (0.0906), (~0.0255), (~0.1894), (~0.9816), (6.1203), (~7.1051), (3.1984)), ( (2.6760), (~8.4960), (3.2880)), (* P *) ( (1.4950), (~7.6230), (3.4770)), (* O1P *) ( (2.9490), (~9.4640), (4.3740)), (* O2P *) ( (3.9730), (~7.5950), (3.0340)), (* O5' *) ( (4.3825), (~6.6585), (4.0489)), (* C5' *) ( (4.6841), (~7.2019), (4.9443)), (* H5' *) ( (3.6189), (~5.8889), (4.1625)), (* H5'' *) ( (5.6255), (~5.9175), (3.5998)), (* C4' *) ( (5.8732), (~5.1228), (4.3034)), (* H4' *) ( (6.7337), (~6.8605), (3.5222)), (* O4' *) ( (7.5932), (~6.4923), (2.4548)), (* C1' *) ( (8.5661), (~6.2983), (2.9064)), (* H1' *) ( (7.0527), (~5.2012), (1.8322)), (* C2' *) ( (7.1627), (~5.2525), (0.7490)), (* H2'' *) ( (7.6666), (~4.1249), (2.4880)), (* O2' *) ( (8.5944), (~4.2543), (2.6981)), (* H2' *) ( (5.5661), (~5.3029), (2.2009)), (* C3' *) ( (5.0841), (~6.0018), (1.5172)), (* H3' *) ( (4.9062), (~4.0452), (2.2042)), (* O3' *) ( (7.6298), (~7.6136), (1.4752)), (* N1 *) ( (8.6945), (~8.7046), (~0.2857)), (* N3 *) ( (8.6943), (~7.6514), (0.6066)), (* C2 *) ( (7.7426), (~9.6987), (~0.3801)), (* C4 *) ( (6.6642), (~9.5742), (0.5722)), (* C5 *) ( (6.6391), (~8.5592), (1.4526)), (* C6 *) (C ( ( (7.9033), (~10.6371), (~1.3010)), (* N4 *) ( (9.5840), (~6.8186), (0.6136)), (* O2 *) ( (7.2009), (~11.3604), (~1.3619)), (* H41 *) ( (8.7058), (~10.6168), (~1.9140)), (* H42 *) ( (5.8585), (~10.3083), (0.5822)), (* H5 *) ( (5.8197), (~8.4773), (2.1667))) (* H6 *) ) ) val rC03 = ( ( (~0.4993), (0.0476), (0.8651), (* dgf-base-tfo *) (0.8078), (~0.3353), (0.4847), (0.3132), (0.9409), (0.1290), (6.2989), (~5.2303), (~3.8577)), ( (~0.8313), (~0.4738), (~0.2906), (* P-O3'-275-tfo *) (0.0649), (0.4366), (~0.8973), (0.5521), (~0.7648), (~0.3322), (1.6833), (6.8060), (~7.0011)), ( (0.3445), (~0.7630), (0.5470), (* P-O3'-180-tfo *) (~0.4628), (~0.6450), (~0.6082), (0.8168), (~0.0436), (~0.5753), (~6.8179), (~3.9778), (~5.9887)), ( (0.5855), (0.7931), (~0.1682), (* P-O3'-60-tfo *) (0.8103), (~0.5790), (0.0906), (~0.0255), (~0.1894), (~0.9816), (6.1203), (~7.1051), (3.1984)), ( (2.6760), (~8.4960), (3.2880)), (* P *) ( (1.4950), (~7.6230), (3.4770)), (* O1P *) ( (2.9490), (~9.4640), (4.3740)), (* O2P *) ( (3.9730), (~7.5950), (3.0340)), (* O5' *) ( (3.9938), (~6.7042), (1.9023)), (* C5' *) ( (3.2332), (~5.9343), (2.0319)), (* H5' *) ( (3.9666), (~7.2863), (0.9812)), (* H5'' *) ( (5.3098), (~5.9546), (1.8564)), (* C4' *) ( (5.3863), (~5.3702), (0.9395)), (* H4' *) ( (5.3851), (~5.0642), (3.0076)), (* O4' *) ( (6.7315), (~4.9724), (3.4462)), (* C1' *) ( (7.0033), (~3.9202), (3.3619)), (* H1' *) ( (7.5997), (~5.8018), (2.4948)), (* C2' *) ( (8.3627), (~6.3254), (3.0707)), (* H2'' *) ( (8.0410), (~4.9501), (1.4724)), (* O2' *) ( (8.2781), (~4.0644), (1.7570)), (* H2' *) ( (6.5701), (~6.8129), (1.9714)), (* C3' *) ( (6.4186), (~7.5809), (2.7299)), (* H3' *) ( (6.9357), (~7.3841), (0.7235)), (* O3' *) ( (6.8024), (~5.4718), (4.8475)), (* N1 *) ( (7.9218), (~5.5700), (6.8877)), (* N3 *) ( (7.8908), (~5.0886), (5.5944)), (* C2 *) ( (6.9789), (~6.3827), (7.4823)), (* C4 *) ( (5.8742), (~6.7319), (6.6202)), (* C5 *) ( (5.8182), (~6.2769), (5.3570)), (* C6 *) (C ( ( (7.1702), (~6.7511), (8.7402)), (* N4 *) ( (8.7747), (~4.3728), (5.1568)), (* O2 *) ( (6.4741), (~7.3461), (9.1662)), (* H41 *) ( (7.9889), (~6.4396), (9.2429)), (* H42 *) ( (5.0736), (~7.3713), (6.9922)), (* H5 *) ( (4.9784), (~6.5473), (4.7170))) (* H6 *) ) ) val rC04 = ( ( (~0.5669), (~0.8012), (0.1918), (* dgf-base-tfo *) (~0.8129), (0.5817), (0.0273), (~0.1334), (~0.1404), (~0.9811), (~0.3279), (8.3874), (0.3355)), ( (~0.8313), (~0.4738), (~0.2906), (* P-O3'-275-tfo *) (0.0649), (0.4366), (~0.8973), (0.5521), (~0.7648), (~0.3322), (1.6833), (6.8060), (~7.0011)), ( (0.3445), (~0.7630), (0.5470), (* P-O3'-180-tfo *) (~0.4628), (~0.6450), (~0.6082), (0.8168), (~0.0436), (~0.5753), (~6.8179), (~3.9778), (~5.9887)), ( (0.5855), (0.7931), (~0.1682), (* P-O3'-60-tfo *) (0.8103), (~0.5790), (0.0906), (~0.0255), (~0.1894), (~0.9816), (6.1203), (~7.1051), (3.1984)), ( (2.6760), (~8.4960), (3.2880)), (* P *) ( (1.4950), (~7.6230), (3.4770)), (* O1P *) ( (2.9490), (~9.4640), (4.3740)), (* O2P *) ( (3.9730), (~7.5950), (3.0340)), (* O5' *) ( (5.2416), (~8.2422), (2.8181)), (* C5' *) ( (5.2050), (~8.8128), (1.8901)), (* H5' *) ( (5.5368), (~8.7738), (3.7227)), (* H5'' *) ( (6.3232), (~7.2037), (2.6002)), (* C4' *) ( (7.3048), (~7.6757), (2.5577)), (* H4' *) ( (6.0635), (~6.5092), (1.3456)), (* O4' *) ( (6.4697), (~5.1547), (1.4629)), (* C1' *) ( (7.2354), (~5.0043), (0.7018)), (* H1' *) ( (7.0856), (~4.9610), (2.8521)), (* C2' *) ( (6.7777), (~3.9935), (3.2487)), (* H2'' *) ( (8.4627), (~5.1992), (2.7423)), (* O2' *) ( (8.8693), (~4.8638), (1.9399)), (* H2' *) ( (6.3877), (~6.0809), (3.6362)), (* C3' *) ( (5.3770), (~5.7562), (3.8834)), (* H3' *) ( (7.1024), (~6.4754), (4.7985)), (* O3' *) ( (5.2764), (~4.2883), (1.2538)), (* N1 *) ( (3.8961), (~3.0896), (~0.1893)), (* N3 *) ( (5.0095), (~3.8907), (~0.0346)), (* C2 *) ( (3.0480), (~2.6632), (0.8116)), (* C4 *) ( (3.4093), (~3.1310), (2.1292)), (* C5 *) ( (4.4878), (~3.9124), (2.3088)), (* C6 *) (C ( ( (2.0216), (~1.8941), (0.4804)), (* N4 *) ( (5.7005), (~4.2164), (~0.9842)), (* O2 *) ( (1.4067), (~1.5873), (1.2205)), (* H41 *) ( (1.8721), (~1.6319), (~0.4835)), (* H42 *) ( (2.8048), (~2.8507), (2.9918)), (* H5 *) ( (4.7491), (~4.2593), (3.3085))) (* H6 *) ) ) val rC05 = ( ( (~0.6298), (0.0246), (0.7763), (* dgf-base-tfo *) (~0.5226), (~0.7529), (~0.4001), (0.5746), (~0.6577), (0.4870), (~0.0208), (~3.4598), (~9.6882)), ( (~0.8313), (~0.4738), (~0.2906), (* P-O3'-275-tfo *) (0.0649), (0.4366), (~0.8973), (0.5521), (~0.7648), (~0.3322), (1.6833), (6.8060), (~7.0011)), ( (0.3445), (~0.7630), (0.5470), (* P-O3'-180-tfo *) (~0.4628), (~0.6450), (~0.6082), (0.8168), (~0.0436), (~0.5753), (~6.8179), (~3.9778), (~5.9887)), ( (0.5855), (0.7931), (~0.1682), (* P-O3'-60-tfo *) (0.8103), (~0.5790), (0.0906), (~0.0255), (~0.1894), (~0.9816), (6.1203), (~7.1051), (3.1984)), ( (2.6760), (~8.4960), (3.2880)), (* P *) ( (1.4950), (~7.6230), (3.4770)), (* O1P *) ( (2.9490), (~9.4640), (4.3740)), (* O2P *) ( (3.9730), (~7.5950), (3.0340)), (* O5' *) ( (4.3825), (~6.6585), (4.0489)), (* C5' *) ( (4.6841), (~7.2019), (4.9443)), (* H5' *) ( (3.6189), (~5.8889), (4.1625)), (* H5'' *) ( (5.6255), (~5.9175), (3.5998)), (* C4' *) ( (5.8732), (~5.1228), (4.3034)), (* H4' *) ( (6.7337), (~6.8605), (3.5222)), (* O4' *) ( (7.5932), (~6.4923), (2.4548)), (* C1' *) ( (8.5661), (~6.2983), (2.9064)), (* H1' *) ( (7.0527), (~5.2012), (1.8322)), (* C2' *) ( (7.1627), (~5.2525), (0.7490)), (* H2'' *) ( (7.6666), (~4.1249), (2.4880)), (* O2' *) ( (8.5944), (~4.2543), (2.6981)), (* H2' *) ( (5.5661), (~5.3029), (2.2009)), (* C3' *) ( (5.0841), (~6.0018), (1.5172)), (* H3' *) ( (4.9062), (~4.0452), (2.2042)), (* O3' *) ( (7.6298), (~7.6136), (1.4752)), (* N1 *) ( (8.5977), (~9.5977), (0.7329)), (* N3 *) ( (8.5951), (~8.5745), (1.6594)), (* C2 *) ( (7.7372), (~9.7371), (~0.3364)), (* C4 *) ( (6.7596), (~8.6801), (~0.4476)), (* C5 *) ( (6.7338), (~7.6721), (0.4408)), (* C6 *) (C ( ( (7.8849), (~10.7881), (~1.1289)), (* N4 *) ( (9.3993), (~8.5377), (2.5743)), (* O2 *) ( (7.2499), (~10.8809), (~1.9088)), (* H41 *) ( (8.6122), (~11.4649), (~0.9468)), (* H42 *) ( (6.0317), (~8.6941), (~1.2588)), (* H5 *) ( (5.9901), (~6.8809), (0.3459))) (* H6 *) ) ) val rC06 = ( ( (~0.9837), (0.0476), (~0.1733), (* dgf-base-tfo *) (~0.1792), (~0.3353), (0.9249), (~0.0141), (0.9409), (0.3384), (5.7793), (~5.2303), (4.5997)), ( (~0.8313), (~0.4738), (~0.2906), (* P-O3'-275-tfo *) (0.0649), (0.4366), (~0.8973), (0.5521), (~0.7648), (~0.3322), (1.6833), (6.8060), (~7.0011)), ( (0.3445), (~0.7630), (0.5470), (* P-O3'-180-tfo *) (~0.4628), (~0.6450), (~0.6082), (0.8168), (~0.0436), (~0.5753), (~6.8179), (~3.9778), (~5.9887)), ( (0.5855), (0.7931), (~0.1682), (* P-O3'-60-tfo *) (0.8103), (~0.5790), (0.0906), (~0.0255), (~0.1894), (~0.9816), (6.1203), (~7.1051), (3.1984)), ( (2.6760), (~8.4960), (3.2880)), (* P *) ( (1.4950), (~7.6230), (3.4770)), (* O1P *) ( (2.9490), (~9.4640), (4.3740)), (* O2P *) ( (3.9730), (~7.5950), (3.0340)), (* O5' *) ( (3.9938), (~6.7042), (1.9023)), (* C5' *) ( (3.2332), (~5.9343), (2.0319)), (* H5' *) ( (3.9666), (~7.2863), (0.9812)), (* H5'' *) ( (5.3098), (~5.9546), (1.8564)), (* C4' *) ( (5.3863), (~5.3702), (0.9395)), (* H4' *) ( (5.3851), (~5.0642), (3.0076)), (* O4' *) ( (6.7315), (~4.9724), (3.4462)), (* C1' *) ( (7.0033), (~3.9202), (3.3619)), (* H1' *) ( (7.5997), (~5.8018), (2.4948)), (* C2' *) ( (8.3627), (~6.3254), (3.0707)), (* H2'' *) ( (8.0410), (~4.9501), (1.4724)), (* O2' *) ( (8.2781), (~4.0644), (1.7570)), (* H2' *) ( (6.5701), (~6.8129), (1.9714)), (* C3' *) ( (6.4186), (~7.5809), (2.7299)), (* H3' *) ( (6.9357), (~7.3841), (0.7235)), (* O3' *) ( (6.8024), (~5.4718), (4.8475)), (* N1 *) ( (6.6920), (~5.0495), (7.1354)), (* N3 *) ( (6.6201), (~4.5500), (5.8506)), (* C2 *) ( (6.9254), (~6.3614), (7.4926)), (* C4 *) ( (7.1046), (~7.2543), (6.3718)), (* C5 *) ( (7.0391), (~6.7951), (5.1106)), (* C6 *) (C ( ( (6.9614), (~6.6648), (8.7815)), (* N4 *) ( (6.4083), (~3.3696), (5.6340)), (* O2 *) ( (7.1329), (~7.6280), (9.0324)), (* H41 *) ( (6.8204), (~5.9469), (9.4777)), (* H42 *) ( (7.2954), (~8.3135), (6.5440)), (* H5 *) ( (7.1753), (~7.4798), (4.2735))) (* H6 *) ) ) val rC07 = ( ( (0.0033), (0.2720), (~0.9623), (* dgf-base-tfo *) (0.3013), (~0.9179), (~0.2584), (~0.9535), (~0.2891), (~0.0850), (43.0403), (13.7233), (34.5710)), ( (0.9187), (0.2887), (0.2694), (* P-O3'-275-tfo *) (0.0302), (~0.7316), (0.6811), (0.3938), (~0.6176), (~0.6808), (~48.4330), (26.3254), (13.6383)), ( (~0.1504), (0.7744), (~0.6145), (* P-O3'-180-tfo *) (0.7581), (0.4893), (0.4311), (0.6345), (~0.4010), (~0.6607), (~31.9784), (~13.4285), (44.9650)), ( (~0.6236), (~0.7810), (~0.0337), (* P-O3'-60-tfo *) (~0.6890), (0.5694), (~0.4484), (0.3694), (~0.2564), (~0.8932), (12.1105), (30.8774), (46.0946)), ( (33.3400), (11.0980), (46.1750)), (* P *) ( (34.5130), (10.2320), (46.4660)), (* O1P *) ( (33.4130), (12.3960), (46.9340)), (* O2P *) ( (31.9810), (10.3390), (46.4820)), (* O5' *) ( (30.8152), (11.1619), (46.2003)), (* C5' *) ( (30.4519), (10.9454), (45.1957)), (* H5' *) ( (31.0379), (12.2016), (46.4400)), (* H5'' *) ( (29.7081), (10.7448), (47.1428)), (* C4' *) ( (28.8710), (11.4416), (47.0982)), (* H4' *) ( (29.2550), (9.4394), (46.8162)), (* O4' *) ( (29.3907), (8.5625), (47.9460)), (* C1' *) ( (28.4416), (8.5669), (48.4819)), (* H1' *) ( (30.4468), (9.2031), (48.7952)), (* C2' *) ( (31.4222), (8.9651), (48.3709)), (* H2'' *) ( (30.3701), (8.9157), (50.1624)), (* O2' *) ( (30.0652), (8.0304), (50.3740)), (* H2' *) ( (30.1622), (10.6879), (48.6120)), (* C3' *) ( (31.0952), (11.2399), (48.7254)), (* H3' *) ( (29.1076), (11.1535), (49.4702)), (* O3' *) ( (29.7883), (7.2209), (47.5235)), (* N1 *) ( (29.1825), (5.0438), (46.8275)), (* N3 *) ( (28.8008), (6.2912), (47.2263)), (* C2 *) ( (30.4888), (4.6890), (46.7186)), (* C4 *) ( (31.5034), (5.6405), (47.0249)), (* C5 *) ( (31.1091), (6.8691), (47.4156)), (* C6 *) (C ( ( (30.8109), (3.4584), (46.3336)), (* N4 *) ( (27.6171), (6.5989), (47.3189)), (* O2 *) ( (31.7923), (3.2301), (46.2638)), (* H41 *) ( (30.0880), (2.7857), (46.1215)), (* H42 *) ( (32.5542), (5.3634), (46.9395)), (* H5 *) ( (31.8523), (7.6279), (47.6603))) (* H6 *) ) ) val rC08 = ( ( (0.0797), (~0.6026), (~0.7941), (* dgf-base-tfo *) (0.7939), (0.5201), (~0.3150), (0.6028), (~0.6054), (0.5198), (~36.8341), (41.5293), (1.6628)), ( (0.9187), (0.2887), (0.2694), (* P-O3'-275-tfo *) (0.0302), (~0.7316), (0.6811), (0.3938), (~0.6176), (~0.6808), (~48.4330), (26.3254), (13.6383)), ( (~0.1504), (0.7744), (~0.6145), (* P-O3'-180-tfo *) (0.7581), (0.4893), (0.4311), (0.6345), (~0.4010), (~0.6607), (~31.9784), (~13.4285), (44.9650)), ( (~0.6236), (~0.7810), (~0.0337), (* P-O3'-60-tfo *) (~0.6890), (0.5694), (~0.4484), (0.3694), (~0.2564), (~0.8932), (12.1105), (30.8774), (46.0946)), ( (33.3400), (11.0980), (46.1750)), (* P *) ( (34.5130), (10.2320), (46.4660)), (* O1P *) ( (33.4130), (12.3960), (46.9340)), (* O2P *) ( (31.9810), (10.3390), (46.4820)), (* O5' *) ( (31.8779), (9.9369), (47.8760)), (* C5' *) ( (31.3239), (10.6931), (48.4322)), (* H5' *) ( (32.8647), (9.6624), (48.2489)), (* H5'' *) ( (31.0429), (8.6773), (47.9401)), (* C4' *) ( (31.0779), (8.2331), (48.9349)), (* H4' *) ( (29.6956), (8.9669), (47.5983)), (* O4' *) ( (29.2784), (8.1700), (46.4782)), (* C1' *) ( (28.8006), (7.2731), (46.8722)), (* H1' *) ( (30.5544), (7.7940), (45.7875)), (* C2' *) ( (30.8837), (8.6410), (45.1856)), (* H2'' *) ( (30.5100), (6.6007), (45.0582)), (* O2' *) ( (29.6694), (6.4168), (44.6326)), (* H2' *) ( (31.5146), (7.5954), (46.9527)), (* C3' *) ( (32.5255), (7.8261), (46.6166)), (* H3' *) ( (31.3876), (6.2951), (47.5516)), (* O3' *) ( (28.3976), (8.9302), (45.5933)), (* N1 *) ( (26.2155), (9.6135), (44.9910)), (* N3 *) ( (27.0281), (8.8961), (45.8192)), (* C2 *) ( (26.7044), (10.3489), (43.9595)), (* C4 *) ( (28.1088), (10.3837), (43.7247)), (* C5 *) ( (28.8978), (9.6708), (44.5535)), (* C6 *) (C ( ( (25.8715), (11.0249), (43.1749)), (* N4 *) ( (26.5733), (8.2371), (46.7484)), (* O2 *) ( (26.2707), (11.5609), (42.4177)), (* H41 *) ( (24.8760), (10.9939), (43.3427)), (* H42 *) ( (28.5089), (10.9722), (42.8990)), (* H5 *) ( (29.9782), (9.6687), (44.4097))) (* H6 *) ) ) val rC09 = ( ( (0.8727), (0.4760), (~0.1091), (* dgf-base-tfo *) (~0.4188), (0.6148), (~0.6682), (~0.2510), (0.6289), (0.7359), (~8.1687), (~52.0761), (~25.0726)), ( (0.9187), (0.2887), (0.2694), (* P-O3'-275-tfo *) (0.0302), (~0.7316), (0.6811), (0.3938), (~0.6176), (~0.6808), (~48.4330), (26.3254), (13.6383)), ( (~0.1504), (0.7744), (~0.6145), (* P-O3'-180-tfo *) (0.7581), (0.4893), (0.4311), (0.6345), (~0.4010), (~0.6607), (~31.9784), (~13.4285), (44.9650)), ( (~0.6236), (~0.7810), (~0.0337), (* P-O3'-60-tfo *) (~0.6890), (0.5694), (~0.4484), (0.3694), (~0.2564), (~0.8932), (12.1105), (30.8774), (46.0946)), ( (33.3400), (11.0980), (46.1750)), (* P *) ( (34.5130), (10.2320), (46.4660)), (* O1P *) ( (33.4130), (12.3960), (46.9340)), (* O2P *) ( (31.9810), (10.3390), (46.4820)), (* O5' *) ( (30.8152), (11.1619), (46.2003)), (* C5' *) ( (30.4519), (10.9454), (45.1957)), (* H5' *) ( (31.0379), (12.2016), (46.4400)), (* H5'' *) ( (29.7081), (10.7448), (47.1428)), (* C4' *) ( (29.4506), (9.6945), (47.0059)), (* H4' *) ( (30.1045), (10.9634), (48.4885)), (* O4' *) ( (29.1794), (11.8418), (49.1490)), (* C1' *) ( (28.4388), (11.2210), (49.6533)), (* H1' *) ( (28.5211), (12.6008), (48.0367)), (* C2' *) ( (29.1947), (13.3949), (47.7147)), (* H2'' *) ( (27.2316), (13.0683), (48.3134)), (* O2' *) ( (27.0851), (13.3391), (49.2227)), (* H2' *) ( (28.4131), (11.5507), (46.9391)), (* C3' *) ( (28.4451), (12.0512), (45.9713)), (* H3' *) ( (27.2707), (10.6955), (47.1097)), (* O3' *) ( (29.8751), (12.7405), (50.0682)), (* N1 *) ( (30.7172), (13.1841), (52.2328)), (* N3 *) ( (30.0617), (12.3404), (51.3847)), (* C2 *) ( (31.1834), (14.3941), (51.8297)), (* C4 *) ( (30.9913), (14.8074), (50.4803)), (* C5 *) ( (30.3434), (13.9610), (49.6548)), (* C6 *) (C ( ( (31.8090), (15.1847), (52.6957)), (* N4 *) ( (29.6470), (11.2494), (51.7616)), (* O2 *) ( (32.1422), (16.0774), (52.3606)), (* H41 *) ( (31.9392), (14.8893), (53.6527)), (* H42 *) ( (31.3632), (15.7771), (50.1491)), (* H5 *) ( (30.1742), (14.2374), (48.6141))) (* H6 *) ) ) val rC10 = ( ( (0.1549), (0.8710), (~0.4663), (* dgf-base-tfo *) (0.6768), (~0.4374), (~0.5921), (~0.7197), (~0.2239), (~0.6572), (25.2447), (~14.1920), (50.3201)), ( (0.9187), (0.2887), (0.2694), (* P-O3'-275-tfo *) (0.0302), (~0.7316), (0.6811), (0.3938), (~0.6176), (~0.6808), (~48.4330), (26.3254), (13.6383)), ( (~0.1504), (0.7744), (~0.6145), (* P-O3'-180-tfo *) (0.7581), (0.4893), (0.4311), (0.6345), (~0.4010), (~0.6607), (~31.9784), (~13.4285), (44.9650)), ( (~0.6236), (~0.7810), (~0.0337), (* P-O3'-60-tfo *) (~0.6890), (0.5694), (~0.4484), (0.3694), (~0.2564), (~0.8932), (12.1105), (30.8774), (46.0946)), ( (33.3400), (11.0980), (46.1750)), (* P *) ( (34.5130), (10.2320), (46.4660)), (* O1P *) ( (33.4130), (12.3960), (46.9340)), (* O2P *) ( (31.9810), (10.3390), (46.4820)), (* O5' *) ( (31.8779), (9.9369), (47.8760)), (* C5' *) ( (31.3239), (10.6931), (48.4322)), (* H5' *) ( (32.8647), (9.6624), (48.2489)), (* H5'' *) ( (31.0429), (8.6773), (47.9401)), (* C4' *) ( (30.0440), (8.8473), (47.5383)), (* H4' *) ( (31.6749), (7.6351), (47.2119)), (* O4' *) ( (31.9159), (6.5022), (48.0616)), (* C1' *) ( (31.0691), (5.8243), (47.9544)), (* H1' *) ( (31.9300), (7.0685), (49.4493)), (* C2' *) ( (32.9024), (7.5288), (49.6245)), (* H2'' *) ( (31.5672), (6.1750), (50.4632)), (* O2' *) ( (31.8416), (5.2663), (50.3200)), (* H2' *) ( (30.8618), (8.1514), (49.3749)), (* C3' *) ( (31.1122), (8.9396), (50.0850)), (* H3' *) ( (29.5351), (7.6245), (49.5409)), (* O3' *) ( (33.1890), (5.8629), (47.7343)), (* N1 *) ( (34.4004), (4.2636), (46.4828)), (* N3 *) ( (33.2062), (4.8497), (46.7851)), (* C2 *) ( (35.5600), (4.6374), (47.0822)), (* C4 *) ( (35.5444), (5.6751), (48.0577)), (* C5 *) ( (34.3565), (6.2450), (48.3432)), (* C6 *) (C ( ( (36.6977), (4.0305), (46.7598)), (* N4 *) ( (32.1661), (4.5034), (46.2348)), (* O2 *) ( (37.5405), (4.3347), (47.2259)), (* H41 *) ( (36.7033), (3.2923), (46.0706)), (* H42 *) ( (36.4713), (5.9811), (48.5428)), (* H5 *) ( (34.2986), (7.0426), (49.0839))) (* H6 *) ) ) val rCs = [rC01,rC02,rC03,rC04,rC05,rC06,rC07,rC08,rC09,rC10] val rG = ( ( (~0.0018), (~0.8207), (0.5714), (* dgf-base-tfo *) (0.2679), (~0.5509), (~0.7904), (0.9634), (0.1517), (0.2209), (0.0073), (8.4030), (0.6232)), ( (~0.8143), (~0.5091), (~0.2788), (* P-O3'-275-tfo *) (~0.0433), (~0.4257), (0.9038), (~0.5788), (0.7480), (0.3246), (1.5227), (6.9114), (~7.0765)), ( (0.3822), (~0.7477), (0.5430), (* P-O3'-180-tfo *) (0.4552), (0.6637), (0.5935), (~0.8042), (0.0203), (0.5941), (~6.9472), (~4.1186), (~5.9108)), ( (0.5640), (0.8007), (~0.2022), (* P-O3'-60-tfo *) (~0.8247), (0.5587), (~0.0878), (0.0426), (0.2162), (0.9754), (6.2694), (~7.0540), (3.3316)), ( (2.8930), (8.5380), (~3.3280)), (* P *) ( (1.6980), (7.6960), (~3.5570)), (* O1P *) ( (3.2260), (9.5010), (~4.4020)), (* O2P *) ( (4.1590), (7.6040), (~3.0340)), (* O5' *) ( (5.4550), (8.2120), (~2.8810)), (* C5' *) ( (5.4546), (8.8508), (~1.9978)), (* H5' *) ( (5.7588), (8.6625), (~3.8259)), (* H5'' *) ( (6.4970), (7.1480), (~2.5980)), (* C4' *) ( (7.4896), (7.5919), (~2.5214)), (* H4' *) ( (6.1630), (6.4860), (~1.3440)), (* O4' *) ( (6.5400), (5.1200), (~1.4190)), (* C1' *) ( (7.2763), (4.9681), (~0.6297)), (* H1' *) ( (7.1940), (4.8830), (~2.7770)), (* C2' *) ( (6.8667), (3.9183), (~3.1647)), (* H2'' *) ( (8.5860), (5.0910), (~2.6140)), (* O2' *) ( (8.9510), (4.7626), (~1.7890)), (* H2' *) ( (6.5720), (6.0040), (~3.6090)), (* C3' *) ( (5.5636), (5.7066), (~3.8966)), (* H3' *) ( (7.3801), (6.3562), (~4.7350)), (* O3' *) ( (4.7150), (0.4910), (~0.1360)), (* N1 *) ( (6.3490), (2.1730), (~0.6020)), (* N3 *) ( (5.9530), (0.9650), (~0.2670)), (* C2 *) ( (5.2900), (2.9790), (~0.8260)), (* C4 *) ( (3.9720), (2.6390), (~0.7330)), (* C5 *) ( (3.6770), (1.3160), (~0.3660)), (* C6 *) (G ( ( (6.8426), (0.0056), (~0.0019)), (* N2 *) ( (3.1660), (3.7290), (~1.0360)), (* N7 *) ( (5.3170), (4.2990), (~1.1930)), (* N9 *) ( (4.0100), (4.6780), (~1.2990)), (* C8 *) ( (2.4280), (0.8450), (~0.2360)), (* O6 *) ( (4.6151), (~0.4677), (0.1305)), (* H1 *) ( (6.6463), (~0.9463), (0.2729)), (* H21 *) ( (7.8170), (0.2642), (~0.0640)), (* H22 *) ( (3.4421), (5.5744), (~1.5482))) (* H8 *) ) ) val rG01 = ( ( (~0.0043), (~0.8175), (0.5759), (* dgf-base-tfo *) (0.2617), (~0.5567), (~0.7884), (0.9651), (0.1473), (0.2164), (0.0359), (8.3929), (0.5532)), ( (~0.8143), (~0.5091), (~0.2788), (* P-O3'-275-tfo *) (~0.0433), (~0.4257), (0.9038), (~0.5788), (0.7480), (0.3246), (1.5227), (6.9114), (~7.0765)), ( (0.3822), (~0.7477), (0.5430), (* P-O3'-180-tfo *) (0.4552), (0.6637), (0.5935), (~0.8042), (0.0203), (0.5941), (~6.9472), (~4.1186), (~5.9108)), ( (0.5640), (0.8007), (~0.2022), (* P-O3'-60-tfo *) (~0.8247), (0.5587), (~0.0878), (0.0426), (0.2162), (0.9754), (6.2694), (~7.0540), (3.3316)), ( (2.8930), (8.5380), (~3.3280)), (* P *) ( (1.6980), (7.6960), (~3.5570)), (* O1P *) ( (3.2260), (9.5010), (~4.4020)), (* O2P *) ( (4.1590), (7.6040), (~3.0340)), (* O5' *) ( (5.4352), (8.2183), (~2.7757)), (* C5' *) ( (5.3830), (8.7883), (~1.8481)), (* H5' *) ( (5.7729), (8.7436), (~3.6691)), (* H5'' *) ( (6.4830), (7.1518), (~2.5252)), (* C4' *) ( (7.4749), (7.5972), (~2.4482)), (* H4' *) ( (6.1626), (6.4620), (~1.2827)), (* O4' *) ( (6.5431), (5.0992), (~1.3905)), (* C1' *) ( (7.2871), (4.9328), (~0.6114)), (* H1' *) ( (7.1852), (4.8935), (~2.7592)), (* C2' *) ( (6.8573), (3.9363), (~3.1645)), (* H2'' *) ( (8.5780), (5.1025), (~2.6046)), (* O2' *) ( (8.9516), (4.7577), (~1.7902)), (* H2' *) ( (6.5522), (6.0300), (~3.5612)), (* C3' *) ( (5.5420), (5.7356), (~3.8459)), (* H3' *) ( (7.3487), (6.4089), (~4.6867)), (* O3' *) ( (4.7442), (0.4514), (~0.1390)), (* N1 *) ( (6.3687), (2.1459), (~0.5926)), (* N3 *) ( (5.9795), (0.9335), (~0.2657)), (* C2 *) ( (5.3052), (2.9471), (~0.8125)), (* C4 *) ( (3.9891), (2.5987), (~0.7230)), (* C5 *) ( (3.7016), (1.2717), (~0.3647)), (* C6 *) (G ( ( (6.8745), (~0.0224), (~0.0058)), (* N2 *) ( (3.1770), (3.6859), (~1.0198)), (* N7 *) ( (5.3247), (4.2695), (~1.1710)), (* N9 *) ( (4.0156), (4.6415), (~1.2759)), (* C8 *) ( (2.4553), (0.7925), (~0.2390)), (* O6 *) ( (4.6497), (~0.5095), (0.1212)), (* H1 *) ( (6.6836), (~0.9771), (0.2627)), (* H21 *) ( (7.8474), (0.2424), (~0.0653)), (* H22 *) ( (3.4426), (5.5361), (~1.5199))) (* H8 *) ) ) val rG02 = ( ( (0.5566), (0.0449), (0.8296), (* dgf-base-tfo *) (0.5125), (0.7673), (~0.3854), (~0.6538), (0.6397), (0.4041), (~9.1161), (~3.7679), (~2.9968)), ( (~0.8143), (~0.5091), (~0.2788), (* P-O3'-275-tfo *) (~0.0433), (~0.4257), (0.9038), (~0.5788), (0.7480), (0.3246), (1.5227), (6.9114), (~7.0765)), ( (0.3822), (~0.7477), (0.5430), (* P-O3'-180-tfo *) (0.4552), (0.6637), (0.5935), (~0.8042), (0.0203), (0.5941), (~6.9472), (~4.1186), (~5.9108)), ( (0.5640), (0.8007), (~0.2022), (* P-O3'-60-tfo *) (~0.8247), (0.5587), (~0.0878), (0.0426), (0.2162), (0.9754), (6.2694), (~7.0540), (3.3316)), ( (2.8930), (8.5380), (~3.3280)), (* P *) ( (1.6980), (7.6960), (~3.5570)), (* O1P *) ( (3.2260), (9.5010), (~4.4020)), (* O2P *) ( (4.1590), (7.6040), (~3.0340)), (* O5' *) ( (4.5778), (6.6594), (~4.0364)), (* C5' *) ( (4.9220), (7.1963), (~4.9204)), (* H5' *) ( (3.7996), (5.9091), (~4.1764)), (* H5'' *) ( (5.7873), (5.8869), (~3.5482)), (* C4' *) ( (6.0405), (5.0875), (~4.2446)), (* H4' *) ( (6.9135), (6.8036), (~3.4310)), (* O4' *) ( (7.7293), (6.4084), (~2.3392)), (* C1' *) ( (8.7078), (6.1815), (~2.7624)), (* H1' *) ( (7.1305), (5.1418), (~1.7347)), (* C2' *) ( (7.2040), (5.1982), (~0.6486)), (* H2'' *) ( (7.7417), (4.0392), (~2.3813)), (* O2' *) ( (8.6785), (4.1443), (~2.5630)), (* H2' *) ( (5.6666), (5.2728), (~2.1536)), (* C3' *) ( (5.1747), (5.9805), (~1.4863)), (* H3' *) ( (4.9997), (4.0086), (~2.1973)), (* O3' *) ( (10.3245), (8.5459), (1.5467)), (* N1 *) ( (9.8051), (6.9432), (~0.1497)), (* N3 *) ( (10.5175), (7.4328), (0.8408)), (* C2 *) ( (8.7523), (7.7422), (~0.4228)), (* C4 *) ( (8.4257), (8.9060), (0.2099)), (* C5 *) ( (9.2665), (9.3242), (1.2540)), (* C6 *) (G ( ( (11.6077), (6.7966), (1.2752)), (* N2 *) ( (7.2750), (9.4537), (~0.3428)), (* N7 *) ( (7.7962), (7.5519), (~1.3859)), (* N9 *) ( (6.9479), (8.6157), (~1.2771)), (* C8 *) ( (9.0664), (10.4462), (1.9610)), (* O6 *) ( (10.9838), (8.7524), (2.2697)), (* H1 *) ( (12.2274), (7.0896), (2.0170)), (* H21 *) ( (11.8502), (5.9398), (0.7984)), (* H22 *) ( (6.0430), (8.9853), (~1.7594))) (* H8 *) ) ) val rG03 = ( ( (~0.5021), (0.0731), (0.8617), (* dgf-base-tfo *) (~0.8112), (0.3054), (~0.4986), (~0.2996), (~0.9494), (~0.0940), (6.4273), (~5.1944), (~3.7807)), ( (~0.8143), (~0.5091), (~0.2788), (* P-O3'-275-tfo *) (~0.0433), (~0.4257), (0.9038), (~0.5788), (0.7480), (0.3246), (1.5227), (6.9114), (~7.0765)), ( (0.3822), (~0.7477), (0.5430), (* P-O3'-180-tfo *) (0.4552), (0.6637), (0.5935), (~0.8042), (0.0203), (0.5941), (~6.9472), (~4.1186), (~5.9108)), ( (0.5640), (0.8007), (~0.2022), (* P-O3'-60-tfo *) (~0.8247), (0.5587), (~0.0878), (0.0426), (0.2162), (0.9754), (6.2694), (~7.0540), (3.3316)), ( (2.8930), (8.5380), (~3.3280)), (* P *) ( (1.6980), (7.6960), (~3.5570)), (* O1P *) ( (3.2260), (9.5010), (~4.4020)), (* O2P *) ( (4.1590), (7.6040), (~3.0340)), (* O5' *) ( (4.1214), (6.7116), (~1.9049)), (* C5' *) ( (3.3465), (5.9610), (~2.0607)), (* H5' *) ( (4.0789), (7.2928), (~0.9837)), (* H5'' *) ( (5.4170), (5.9293), (~1.8186)), (* C4' *) ( (5.4506), (5.3400), (~0.9023)), (* H4' *) ( (5.5067), (5.0417), (~2.9703)), (* O4' *) ( (6.8650), (4.9152), (~3.3612)), (* C1' *) ( (7.1090), (3.8577), (~3.2603)), (* H1' *) ( (7.7152), (5.7282), (~2.3894)), (* C2' *) ( (8.5029), (6.2356), (~2.9463)), (* H2'' *) ( (8.1036), (4.8568), (~1.3419)), (* O2' *) ( (8.3270), (3.9651), (~1.6184)), (* H2' *) ( (6.7003), (6.7565), (~1.8911)), (* C3' *) ( (6.5898), (7.5329), (~2.6482)), (* H3' *) ( (7.0505), (7.2878), (~0.6105)), (* O3' *) ( (9.6740), (4.7656), (~7.6614)), (* N1 *) ( (9.0739), (4.3013), (~5.3941)), (* N3 *) ( (9.8416), (4.2192), (~6.4581)), (* C2 *) ( (7.9885), (5.0632), (~5.6446)), (* C4 *) ( (7.6822), (5.6856), (~6.8194)), (* C5 *) ( (8.5831), (5.5215), (~7.8840)), (* C6 *) (G ( ( (10.9733), (3.5117), (~6.4286)), (* N2 *) ( (6.4857), (6.3816), (~6.7035)), (* N7 *) ( (6.9740), (5.3703), (~4.7760)), (* N9 *) ( (6.1133), (6.1613), (~5.4808)), (* C8 *) ( (8.4084), (6.0747), (~9.0933)), (* O6 *) ( (10.3759), (4.5855), (~8.3504)), (* H1 *) ( (11.6254), (3.3761), (~7.1879)), (* H21 *) ( (11.1917), (3.0460), (~5.5593)), (* H22 *) ( (5.1705), (6.6830), (~5.3167))) (* H8 *) ) ) val rG04 = ( ( (~0.5426), (~0.8175), (0.1929), (* dgf-base-tfo *) (0.8304), (~0.5567), (~0.0237), (0.1267), (0.1473), (0.9809), (~0.5075), (8.3929), (0.2229)), ( (~0.8143), (~0.5091), (~0.2788), (* P-O3'-275-tfo *) (~0.0433), (~0.4257), (0.9038), (~0.5788), (0.7480), (0.3246), (1.5227), (6.9114), (~7.0765)), ( (0.3822), (~0.7477), (0.5430), (* P-O3'-180-tfo *) (0.4552), (0.6637), (0.5935), (~0.8042), (0.0203), (0.5941), (~6.9472), (~4.1186), (~5.9108)), ( (0.5640), (0.8007), (~0.2022), (* P-O3'-60-tfo *) (~0.8247), (0.5587), (~0.0878), (0.0426), (0.2162), (0.9754), (6.2694), (~7.0540), (3.3316)), ( (2.8930), (8.5380), (~3.3280)), (* P *) ( (1.6980), (7.6960), (~3.5570)), (* O1P *) ( (3.2260), (9.5010), (~4.4020)), (* O2P *) ( (4.1590), (7.6040), (~3.0340)), (* O5' *) ( (5.4352), (8.2183), (~2.7757)), (* C5' *) ( (5.3830), (8.7883), (~1.8481)), (* H5' *) ( (5.7729), (8.7436), (~3.6691)), (* H5'' *) ( (6.4830), (7.1518), (~2.5252)), (* C4' *) ( (7.4749), (7.5972), (~2.4482)), (* H4' *) ( (6.1626), (6.4620), (~1.2827)), (* O4' *) ( (6.5431), (5.0992), (~1.3905)), (* C1' *) ( (7.2871), (4.9328), (~0.6114)), (* H1' *) ( (7.1852), (4.8935), (~2.7592)), (* C2' *) ( (6.8573), (3.9363), (~3.1645)), (* H2'' *) ( (8.5780), (5.1025), (~2.6046)), (* O2' *) ( (8.9516), (4.7577), (~1.7902)), (* H2' *) ( (6.5522), (6.0300), (~3.5612)), (* C3' *) ( (5.5420), (5.7356), (~3.8459)), (* H3' *) ( (7.3487), (6.4089), (~4.6867)), (* O3' *) ( (3.6343), (2.6680), (2.0783)), (* N1 *) ( (5.4505), (3.9805), (1.2446)), (* N3 *) ( (4.7540), (3.3816), (2.1851)), (* C2 *) ( (4.8805), (3.7951), (0.0354)), (* C4 *) ( (3.7416), (3.0925), (~0.2305)), (* C5 *) ( (3.0873), (2.4980), (0.8606)), (* C6 *) (G ( ( (5.1433), (3.4373), (3.4609)), (* N2 *) ( (3.4605), (3.1184), (~1.5906)), (* N7 *) ( (5.3247), (4.2695), (~1.1710)), (* N9 *) ( (4.4244), (3.8244), (~2.0953)), (* C8 *) ( (1.9600), (1.7805), (0.7462)), (* O6 *) ( (3.2489), (2.2879), (2.9191)), (* H1 *) ( (4.6785), (3.0243), (4.2568)), (* H21 *) ( (5.9823), (3.9654), (3.6539)), (* H22 *) ( (4.2675), (3.8876), (~3.1721))) (* H8 *) ) ) val rG05 = ( ( (~0.5891), (0.0449), (0.8068), (* dgf-base-tfo *) (0.5375), (0.7673), (0.3498), (~0.6034), (0.6397), (~0.4762), (~0.3019), (~3.7679), (~9.5913)), ( (~0.8143), (~0.5091), (~0.2788), (* P-O3'-275-tfo *) (~0.0433), (~0.4257), (0.9038), (~0.5788), (0.7480), (0.3246), (1.5227), (6.9114), (~7.0765)), ( (0.3822), (~0.7477), (0.5430), (* P-O3'-180-tfo *) (0.4552), (0.6637), (0.5935), (~0.8042), (0.0203), (0.5941), (~6.9472), (~4.1186), (~5.9108)), ( (0.5640), (0.8007), (~0.2022), (* P-O3'-60-tfo *) (~0.8247), (0.5587), (~0.0878), (0.0426), (0.2162), (0.9754), (6.2694), (~7.0540), (3.3316)), ( (2.8930), (8.5380), (~3.3280)), (* P *) ( (1.6980), (7.6960), (~3.5570)), (* O1P *) ( (3.2260), (9.5010), (~4.4020)), (* O2P *) ( (4.1590), (7.6040), (~3.0340)), (* O5' *) ( (4.5778), (6.6594), (~4.0364)), (* C5' *) ( (4.9220), (7.1963), (~4.9204)), (* H5' *) ( (3.7996), (5.9091), (~4.1764)), (* H5'' *) ( (5.7873), (5.8869), (~3.5482)), (* C4' *) ( (6.0405), (5.0875), (~4.2446)), (* H4' *) ( (6.9135), (6.8036), (~3.4310)), (* O4' *) ( (7.7293), (6.4084), (~2.3392)), (* C1' *) ( (8.7078), (6.1815), (~2.7624)), (* H1' *) ( (7.1305), (5.1418), (~1.7347)), (* C2' *) ( (7.2040), (5.1982), (~0.6486)), (* H2'' *) ( (7.7417), (4.0392), (~2.3813)), (* O2' *) ( (8.6785), (4.1443), (~2.5630)), (* H2' *) ( (5.6666), (5.2728), (~2.1536)), (* C3' *) ( (5.1747), (5.9805), (~1.4863)), (* H3' *) ( (4.9997), (4.0086), (~2.1973)), (* O3' *) ( (10.2594), (10.6774), (~1.0056)), (* N1 *) ( (9.7528), (8.7080), (~2.2631)), (* N3 *) ( (10.4471), (9.7876), (~1.9791)), (* C2 *) ( (8.7271), (8.5575), (~1.3991)), (* C4 *) ( (8.4100), (9.3803), (~0.3580)), (* C5 *) ( (9.2294), (10.5030), (~0.1574)), (* C6 *) (G ( ( (11.5110), (10.1256), (~2.7114)), (* N2 *) ( (7.2891), (8.9068), (0.3121)), (* N7 *) ( (7.7962), (7.5519), (~1.3859)), (* N9 *) ( (6.9702), (7.8292), (~0.3353)), (* C8 *) ( (9.0349), (11.3951), (0.8250)), (* O6 *) ( (10.9013), (11.4422), (~0.9512)), (* H1 *) ( (12.1031), (10.9341), (~2.5861)), (* H21 *) ( (11.7369), (9.5180), (~3.4859)), (* H22 *) ( (6.0888), (7.3990), (0.1403))) (* H8 *) ) ) val rG06 = ( ( (~0.9815), (0.0731), (~0.1772), (* dgf-base-tfo *) (0.1912), (0.3054), (~0.9328), (~0.0141), (~0.9494), (~0.3137), (5.7506), (~5.1944), (4.7470)), ( (~0.8143), (~0.5091), (~0.2788), (* P-O3'-275-tfo *) (~0.0433), (~0.4257), (0.9038), (~0.5788), (0.7480), (0.3246), (1.5227), (6.9114), (~7.0765)), ( (0.3822), (~0.7477), (0.5430), (* P-O3'-180-tfo *) (0.4552), (0.6637), (0.5935), (~0.8042), (0.0203), (0.5941), (~6.9472), (~4.1186), (~5.9108)), ( (0.5640), (0.8007), (~0.2022), (* P-O3'-60-tfo *) (~0.8247), (0.5587), (~0.0878), (0.0426), (0.2162), (0.9754), (6.2694), (~7.0540), (3.3316)), ( (2.8930), (8.5380), (~3.3280)), (* P *) ( (1.6980), (7.6960), (~3.5570)), (* O1P *) ( (3.2260), (9.5010), (~4.4020)), (* O2P *) ( (4.1590), (7.6040), (~3.0340)), (* O5' *) ( (4.1214), (6.7116), (~1.9049)), (* C5' *) ( (3.3465), (5.9610), (~2.0607)), (* H5' *) ( (4.0789), (7.2928), (~0.9837)), (* H5'' *) ( (5.4170), (5.9293), (~1.8186)), (* C4' *) ( (5.4506), (5.3400), (~0.9023)), (* H4' *) ( (5.5067), (5.0417), (~2.9703)), (* O4' *) ( (6.8650), (4.9152), (~3.3612)), (* C1' *) ( (7.1090), (3.8577), (~3.2603)), (* H1' *) ( (7.7152), (5.7282), (~2.3894)), (* C2' *) ( (8.5029), (6.2356), (~2.9463)), (* H2'' *) ( (8.1036), (4.8568), (~1.3419)), (* O2' *) ( (8.3270), (3.9651), (~1.6184)), (* H2' *) ( (6.7003), (6.7565), (~1.8911)), (* C3' *) ( (6.5898), (7.5329), (~2.6482)), (* H3' *) ( (7.0505), (7.2878), (~0.6105)), (* O3' *) ( (6.6624), (3.5061), (~8.2986)), (* N1 *) ( (6.5810), (3.2570), (~5.9221)), (* N3 *) ( (6.5151), (2.8263), (~7.1625)), (* C2 *) ( (6.8364), (4.5817), (~5.8882)), (* C4 *) ( (7.0116), (5.4064), (~6.9609)), (* C5 *) ( (6.9173), (4.8260), (~8.2361)), (* C6 *) (G ( ( (6.2717), (1.5402), (~7.4250)), (* N2 *) ( (7.2573), (6.7070), (~6.5394)), (* N7 *) ( (6.9740), (5.3703), (~4.7760)), (* N9 *) ( (7.2238), (6.6275), (~5.2453)), (* C8 *) ( (7.0668), (5.5163), (~9.3763)), (* O6 *) ( (6.5754), (2.9964), (~9.1545)), (* H1 *) ( (6.1908), (1.1105), (~8.3354)), (* H21 *) ( (6.1346), (0.9352), (~6.6280)), (* H22 *) ( (7.4108), (7.6227), (~4.8418))) (* H8 *) ) ) val rG07 = ( ( (0.0894), (~0.6059), (0.7905), (* dgf-base-tfo *) (~0.6810), (0.5420), (0.4924), (~0.7268), (~0.5824), (~0.3642), (34.1424), (45.9610), (~11.8600)), ( (~0.8644), (~0.4956), (~0.0851), (* P-O3'-275-tfo *) (~0.0427), (0.2409), (~0.9696), (0.5010), (~0.8345), (~0.2294), (4.0167), (54.5377), (12.4779)), ( (0.3706), (~0.6167), (0.6945), (* P-O3'-180-tfo *) (~0.2867), (~0.7872), (~0.5460), (0.8834), (0.0032), (~0.4686), (~52.9020), (18.6313), (~0.6709)), ( (0.4155), (0.9025), (~0.1137), (* P-O3'-60-tfo *) (0.9040), (~0.4236), (~0.0582), (~0.1007), (~0.0786), (~0.9918), (~7.6624), (~25.2080), (49.5181)), ( (31.3810), (0.1400), (47.5810)), (* P *) ( (29.9860), (0.6630), (47.6290)), (* O1P *) ( (31.7210), (~0.6460), (48.8090)), (* O2P *) ( (32.4940), (1.2540), (47.2740)), (* O5' *) ( (33.8709), (0.7918), (47.2113)), (* C5' *) ( (34.1386), (0.5870), (46.1747)), (* H5' *) ( (34.0186), (~0.0095), (47.9353)), (* H5'' *) ( (34.7297), (1.9687), (47.6685)), (* C4' *) ( (35.7723), (1.6845), (47.8113)), (* H4' *) ( (34.6455), (2.9768), (46.6660)), (* O4' *) ( (34.1690), (4.1829), (47.2627)), (* C1' *) ( (35.0437), (4.7633), (47.5560)), (* H1' *) ( (33.4145), (3.7532), (48.4954)), (* C2' *) ( (32.4340), (3.3797), (48.2001)), (* H2'' *) ( (33.3209), (4.6953), (49.5217)), (* O2' *) ( (33.2374), (5.6059), (49.2295)), (* H2' *) ( (34.2724), (2.5970), (48.9773)), (* C3' *) ( (33.6373), (1.8935), (49.5157)), (* H3' *) ( (35.3453), (3.1884), (49.7285)), (* O3' *) ( (34.0511), (7.8930), (43.7791)), (* N1 *) ( (34.9937), (6.3369), (45.3199)), (* N3 *) ( (35.0882), (7.3126), (44.4200)), (* C2 *) ( (33.7190), (5.9650), (45.5374)), (* C4 *) ( (32.5845), (6.4770), (44.9458)), (* C5 *) ( (32.7430), (7.5179), (43.9914)), (* C6 *) (G ( ( (36.3030), (7.7827), (44.1036)), (* N2 *) ( (31.4499), (5.8335), (45.4368)), (* N7 *) ( (33.2760), (4.9817), (46.4043)), (* N9 *) ( (31.9235), (4.9639), (46.2934)), (* C8 *) ( (31.8602), (8.1000), (43.3695)), (* O6 *) ( (34.2623), (8.6223), (43.1283)), (* H1 *) ( (36.5188), (8.5081), (43.4347)), (* H21 *) ( (37.0888), (7.3524), (44.5699)), (* H22 *) ( (31.0815), (4.4201), (46.7218))) (* H8 *) ) ) val rG08 = ( ( (0.2224), (0.6335), (0.7411), (* dgf-base-tfo *) (~0.3644), (~0.6510), (0.6659), (0.9043), (~0.4181), (0.0861), (~47.6824), (~0.5823), (~31.7554)), ( (~0.8644), (~0.4956), (~0.0851), (* P-O3'-275-tfo *) (~0.0427), (0.2409), (~0.9696), (0.5010), (~0.8345), (~0.2294), (4.0167), (54.5377), (12.4779)), ( (0.3706), (~0.6167), (0.6945), (* P-O3'-180-tfo *) (~0.2867), (~0.7872), (~0.5460), (0.8834), (0.0032), (~0.4686), (~52.9020), (18.6313), (~0.6709)), ( (0.4155), (0.9025), (~0.1137), (* P-O3'-60-tfo *) (0.9040), (~0.4236), (~0.0582), (~0.1007), (~0.0786), (~0.9918), (~7.6624), (~25.2080), (49.5181)), ( (31.3810), (0.1400), (47.5810)), (* P *) ( (29.9860), (0.6630), (47.6290)), (* O1P *) ( (31.7210), (~0.6460), (48.8090)), (* O2P *) ( (32.4940), (1.2540), (47.2740)), (* O5' *) ( (32.5924), (2.3488), (48.2255)), (* C5' *) ( (33.3674), (2.1246), (48.9584)), (* H5' *) ( (31.5994), (2.5917), (48.6037)), (* H5'' *) ( (33.0722), (3.5577), (47.4258)), (* C4' *) ( (33.0310), (4.4778), (48.0089)), (* H4' *) ( (34.4173), (3.3055), (47.0316)), (* O4' *) ( (34.5056), (3.3910), (45.6094)), (* C1' *) ( (34.7881), (4.4152), (45.3663)), (* H1' *) ( (33.1122), (3.1198), (45.1010)), (* C2' *) ( (32.9230), (2.0469), (45.1369)), (* H2'' *) ( (32.7946), (3.6590), (43.8529)), (* O2' *) ( (33.5170), (3.6707), (43.2207)), (* H2' *) ( (32.2730), (3.8173), (46.1566)), (* C3' *) ( (31.3094), (3.3123), (46.2244)), (* H3' *) ( (32.2391), (5.2039), (45.7807)), (* O3' *) ( (39.3337), (2.7157), (44.1441)), (* N1 *) ( (37.4430), (3.8242), (45.0824)), (* N3 *) ( (38.7276), (3.7646), (44.7403)), (* C2 *) ( (36.7791), (2.6963), (44.7704)), (* C4 *) ( (37.2860), (1.5653), (44.1678)), (* C5 *) ( (38.6647), (1.5552), (43.8235)), (* C6 *) (G ( ( (39.5123), (4.8216), (44.9936)), (* N2 *) ( (36.2829), (0.6110), (44.0078)), (* N7 *) ( (35.4394), (2.4314), (44.9931)), (* N9 *) ( (35.2180), (1.1815), (44.5128)), (* C8 *) ( (39.2907), (0.6514), (43.2796)), (* O6 *) ( (40.3076), (2.8048), (43.9352)), (* H1 *) ( (40.4994), (4.9066), (44.7977)), (* H21 *) ( (39.0738), (5.6108), (45.4464)), (* H22 *) ( (34.3856), (0.4842), (44.4185))) (* H8 *) ) ) val rG09 = ( ( (~0.9699), (~0.1688), (~0.1753), (* dgf-base-tfo *) (~0.1050), (~0.3598), (0.9271), (~0.2196), (0.9176), (0.3312), (45.6217), (~38.9484), (~12.3208)), ( (~0.8644), (~0.4956), (~0.0851), (* P-O3'-275-tfo *) (~0.0427), (0.2409), (~0.9696), (0.5010), (~0.8345), (~0.2294), (4.0167), (54.5377), (12.4779)), ( (0.3706), (~0.6167), (0.6945), (* P-O3'-180-tfo *) (~0.2867), (~0.7872), (~0.5460), (0.8834), (0.0032), (~0.4686), (~52.9020), (18.6313), (~0.6709)), ( (0.4155), (0.9025), (~0.1137), (* P-O3'-60-tfo *) (0.9040), (~0.4236), (~0.0582), (~0.1007), (~0.0786), (~0.9918), (~7.6624), (~25.2080), (49.5181)), ( (31.3810), (0.1400), (47.5810)), (* P *) ( (29.9860), (0.6630), (47.6290)), (* O1P *) ( (31.7210), (~0.6460), (48.8090)), (* O2P *) ( (32.4940), (1.2540), (47.2740)), (* O5' *) ( (33.8709), (0.7918), (47.2113)), (* C5' *) ( (34.1386), (0.5870), (46.1747)), (* H5' *) ( (34.0186), (~0.0095), (47.9353)), (* H5'' *) ( (34.7297), (1.9687), (47.6685)), (* C4' *) ( (34.5880), (2.8482), (47.0404)), (* H4' *) ( (34.3575), (2.2770), (49.0081)), (* O4' *) ( (35.5157), (2.1993), (49.8389)), (* C1' *) ( (35.9424), (3.2010), (49.8893)), (* H1' *) ( (36.4701), (1.2820), (49.1169)), (* C2' *) ( (36.1545), (0.2498), (49.2683)), (* H2'' *) ( (37.8262), (1.4547), (49.4008)), (* O2' *) ( (38.0227), (1.6945), (50.3094)), (* H2' *) ( (36.2242), (1.6797), (47.6725)), (* C3' *) ( (36.4297), (0.8197), (47.0351)), (* H3' *) ( (37.0289), (2.8480), (47.4426)), (* O3' *) ( (34.3005), (3.5042), (54.6070)), (* N1 *) ( (34.7693), (3.7936), (52.2874)), (* N3 *) ( (34.4484), (4.2541), (53.4939)), (* C2 *) ( (34.9354), (2.4584), (52.2785)), (* C4 *) ( (34.8092), (1.5915), (53.3422)), (* C5 *) ( (34.4646), (2.1367), (54.6085)), (* C6 *) (G ( ( (34.2514), (5.5708), (53.6503)), (* N2 *) ( (35.0641), (0.2835), (52.9337)), (* N7 *) ( (35.2669), (1.6690), (51.1915)), (* N9 *) ( (35.3288), (0.3954), (51.6563)), (* C8 *) ( (34.3151), (1.5317), (55.6650)), (* O6 *) ( (34.0623), (3.9797), (55.4539)), (* H1 *) ( (33.9950), (6.0502), (54.5016)), (* H21 *) ( (34.3512), (6.1432), (52.8242)), (* H22 *) ( (35.5414), (~0.6006), (51.2679))) (* H8 *) ) ) val rG10 = ( ( (~0.0980), (~0.9723), (0.2122), (* dgf-base-tfo *) (~0.9731), (0.1383), (0.1841), (~0.2083), (~0.1885), (~0.9597), (17.8469), (38.8265), (37.0475)), ( (~0.8644), (~0.4956), (~0.0851), (* P-O3'-275-tfo *) (~0.0427), (0.2409), (~0.9696), (0.5010), (~0.8345), (~0.2294), (4.0167), (54.5377), (12.4779)), ( (0.3706), (~0.6167), (0.6945), (* P-O3'-180-tfo *) (~0.2867), (~0.7872), (~0.5460), (0.8834), (0.0032), (~0.4686), (~52.9020), (18.6313), (~0.6709)), ( (0.4155), (0.9025), (~0.1137), (* P-O3'-60-tfo *) (0.9040), (~0.4236), (~0.0582), (~0.1007), (~0.0786), (~0.9918), (~7.6624), (~25.2080), (49.5181)), ( (31.3810), (0.1400), (47.5810)), (* P *) ( (29.9860), (0.6630), (47.6290)), (* O1P *) ( (31.7210), (~0.6460), (48.8090)), (* O2P *) ( (32.4940), (1.2540), (47.2740)), (* O5' *) ( (32.5924), (2.3488), (48.2255)), (* C5' *) ( (33.3674), (2.1246), (48.9584)), (* H5' *) ( (31.5994), (2.5917), (48.6037)), (* H5'' *) ( (33.0722), (3.5577), (47.4258)), (* C4' *) ( (34.0333), (3.3761), (46.9447)), (* H4' *) ( (32.0890), (3.8338), (46.4332)), (* O4' *) ( (31.6377), (5.1787), (46.5914)), (* C1' *) ( (32.2499), (5.8016), (45.9392)), (* H1' *) ( (31.9167), (5.5319), (48.0305)), (* C2' *) ( (31.1507), (5.0820), (48.6621)), (* H2'' *) ( (32.0865), (6.8890), (48.3114)), (* O2' *) ( (31.5363), (7.4819), (47.7942)), (* H2' *) ( (33.2398), (4.8224), (48.2563)), (* C3' *) ( (33.3166), (4.5570), (49.3108)), (* H3' *) ( (34.2528), (5.7056), (47.7476)), (* O3' *) ( (28.2782), (6.3049), (42.9364)), (* N1 *) ( (30.4001), (5.8547), (43.9258)), (* N3 *) ( (29.6195), (6.1568), (42.8913)), (* C2 *) ( (29.7005), (5.7006), (45.0649)), (* C4 *) ( (28.3383), (5.8221), (45.2343)), (* C5 *) ( (27.5519), (6.1461), (44.0958)), (* C6 *) (G ( ( (30.1838), (6.3385), (41.6890)), (* N2 *) ( (27.9936), (5.5926), (46.5651)), (* N7 *) ( (30.2046), (5.3825), (46.3136)), (* N9 *) ( (29.1371), (5.3398), (47.1506)), (* C8 *) ( (26.3361), (6.3024), (44.0495)), (* O6 *) ( (27.8122), (6.5394), (42.0833)), (* H1 *) ( (29.7125), (6.5595), (40.8235)), (* H21 *) ( (31.1859), (6.2231), (41.6389)), (* H22 *) ( (28.9406), (5.1504), (48.2059))) (* H8 *) ) ) val rGs = [rG01,rG02,rG03,rG04,rG05,rG06,rG07,rG08,rG09,rG10] val rU = ( ( (~0.0359), (~0.8071), (0.5894), (* dgf-base-tfo *) (~0.2669), (0.5761), (0.7726), (~0.9631), (~0.1296), (~0.2361), (0.1584), (8.3434), (0.5434)), ( (~0.8313), (~0.4738), (~0.2906), (* P-O3'-275-tfo *) (0.0649), (0.4366), (~0.8973), (0.5521), (~0.7648), (~0.3322), (1.6833), (6.8060), (~7.0011)), ( (0.3445), (~0.7630), (0.5470), (* P-O3'-180-tfo *) (~0.4628), (~0.6450), (~0.6082), (0.8168), (~0.0436), (~0.5753), (~6.8179), (~3.9778), (~5.9887)), ( (0.5855), (0.7931), (~0.1682), (* P-O3'-60-tfo *) (0.8103), (~0.5790), (0.0906), (~0.0255), (~0.1894), (~0.9816), (6.1203), (~7.1051), (3.1984)), ( (2.6760), (~8.4960), (3.2880)), (* P *) ( (1.4950), (~7.6230), (3.4770)), (* O1P *) ( (2.9490), (~9.4640), (4.3740)), (* O2P *) ( (3.9730), (~7.5950), (3.0340)), (* O5' *) ( (5.2430), (~8.2420), (2.8260)), (* C5' *) ( (5.1974), (~8.8497), (1.9223)), (* H5' *) ( (5.5548), (~8.7348), (3.7469)), (* H5'' *) ( (6.3140), (~7.2060), (2.5510)), (* C4' *) ( (7.2954), (~7.6762), (2.4898)), (* H4' *) ( (6.0140), (~6.5420), (1.2890)), (* O4' *) ( (6.4190), (~5.1840), (1.3620)), (* C1' *) ( (7.1608), (~5.0495), (0.5747)), (* H1' *) ( (7.0760), (~4.9560), (2.7270)), (* C2' *) ( (6.7770), (~3.9803), (3.1099)), (* H2'' *) ( (8.4500), (~5.1930), (2.5810)), (* O2' *) ( (8.8309), (~4.8755), (1.7590)), (* H2' *) ( (6.4060), (~6.0590), (3.5580)), (* C3' *) ( (5.4021), (~5.7313), (3.8281)), (* H3' *) ( (7.1570), (~6.4240), (4.7070)), (* O3' *) ( (5.2170), (~4.3260), (1.1690)), (* N1 *) ( (4.2960), (~2.2560), (0.6290)), (* N3 *) ( (5.4330), (~3.0200), (0.7990)), (* C2 *) ( (2.9930), (~2.6780), (0.7940)), (* C4 *) ( (2.8670), (~4.0630), (1.1830)), (* C5 *) ( (3.9570), (~4.8300), (1.3550)), (* C6 *) (U ( ( (6.5470), (~2.5560), (0.6290)), (* O2 *) ( (2.0540), (~1.9000), (0.6130)), (* O4 *) ( (4.4300), (~1.3020), (0.3600)), (* H3 *) ( (1.9590), (~4.4570), (1.3250)), (* H5 *) ( (3.8460), (~5.7860), (1.6240))) (* H6 *) ) ) val rU01 = ( ( (~0.0137), (~0.8012), (0.5983), (* dgf-base-tfo *) (~0.2523), (0.5817), (0.7733), (~0.9675), (~0.1404), (~0.2101), (0.2031), (8.3874), (0.4228)), ( (~0.8313), (~0.4738), (~0.2906), (* P-O3'-275-tfo *) (0.0649), (0.4366), (~0.8973), (0.5521), (~0.7648), (~0.3322), (1.6833), (6.8060), (~7.0011)), ( (0.3445), (~0.7630), (0.5470), (* P-O3'-180-tfo *) (~0.4628), (~0.6450), (~0.6082), (0.8168), (~0.0436), (~0.5753), (~6.8179), (~3.9778), (~5.9887)), ( (0.5855), (0.7931), (~0.1682), (* P-O3'-60-tfo *) (0.8103), (~0.5790), (0.0906), (~0.0255), (~0.1894), (~0.9816), (6.1203), (~7.1051), (3.1984)), ( (2.6760), (~8.4960), (3.2880)), (* P *) ( (1.4950), (~7.6230), (3.4770)), (* O1P *) ( (2.9490), (~9.4640), (4.3740)), (* O2P *) ( (3.9730), (~7.5950), (3.0340)), (* O5' *) ( (5.2416), (~8.2422), (2.8181)), (* C5' *) ( (5.2050), (~8.8128), (1.8901)), (* H5' *) ( (5.5368), (~8.7738), (3.7227)), (* H5'' *) ( (6.3232), (~7.2037), (2.6002)), (* C4' *) ( (7.3048), (~7.6757), (2.5577)), (* H4' *) ( (6.0635), (~6.5092), (1.3456)), (* O4' *) ( (6.4697), (~5.1547), (1.4629)), (* C1' *) ( (7.2354), (~5.0043), (0.7018)), (* H1' *) ( (7.0856), (~4.9610), (2.8521)), (* C2' *) ( (6.7777), (~3.9935), (3.2487)), (* H2'' *) ( (8.4627), (~5.1992), (2.7423)), (* O2' *) ( (8.8693), (~4.8638), (1.9399)), (* H2' *) ( (6.3877), (~6.0809), (3.6362)), (* C3' *) ( (5.3770), (~5.7562), (3.8834)), (* H3' *) ( (7.1024), (~6.4754), (4.7985)), (* O3' *) ( (5.2764), (~4.2883), (1.2538)), (* N1 *) ( (4.3777), (~2.2062), (0.7229)), (* N3 *) ( (5.5069), (~2.9779), (0.9088)), (* C2 *) ( (3.0693), (~2.6246), (0.8500)), (* C4 *) ( (2.9279), (~4.0146), (1.2149)), (* C5 *) ( (4.0101), (~4.7892), (1.4017)), (* C6 *) (U ( ( (6.6267), (~2.5166), (0.7728)), (* O2 *) ( (2.1383), (~1.8396), (0.6581)), (* O4 *) ( (4.5223), (~1.2489), (0.4716)), (* H3 *) ( (2.0151), (~4.4065), (1.3290)), (* H5 *) ( (3.8886), (~5.7486), (1.6535))) (* H6 *) ) ) val rU02 = ( ( (0.5141), (0.0246), (0.8574), (* dgf-base-tfo *) (~0.5547), (~0.7529), (0.3542), (0.6542), (~0.6577), (~0.3734), (~9.1111), (~3.4598), (~3.2939)), ( (~0.8313), (~0.4738), (~0.2906), (* P-O3'-275-tfo *) (0.0649), (0.4366), (~0.8973), (0.5521), (~0.7648), (~0.3322), (1.6833), (6.8060), (~7.0011)), ( (0.3445), (~0.7630), (0.5470), (* P-O3'-180-tfo *) (~0.4628), (~0.6450), (~0.6082), (0.8168), (~0.0436), (~0.5753), (~6.8179), (~3.9778), (~5.9887)), ( (0.5855), (0.7931), (~0.1682), (* P-O3'-60-tfo *) (0.8103), (~0.5790), (0.0906), (~0.0255), (~0.1894), (~0.9816), (6.1203), (~7.1051), (3.1984)), ( (2.6760), (~8.4960), (3.2880)), (* P *) ( (1.4950), (~7.6230), (3.4770)), (* O1P *) ( (2.9490), (~9.4640), (4.3740)), (* O2P *) ( (3.9730), (~7.5950), (3.0340)), (* O5' *) ( (4.3825), (~6.6585), (4.0489)), (* C5' *) ( (4.6841), (~7.2019), (4.9443)), (* H5' *) ( (3.6189), (~5.8889), (4.1625)), (* H5'' *) ( (5.6255), (~5.9175), (3.5998)), (* C4' *) ( (5.8732), (~5.1228), (4.3034)), (* H4' *) ( (6.7337), (~6.8605), (3.5222)), (* O4' *) ( (7.5932), (~6.4923), (2.4548)), (* C1' *) ( (8.5661), (~6.2983), (2.9064)), (* H1' *) ( (7.0527), (~5.2012), (1.8322)), (* C2' *) ( (7.1627), (~5.2525), (0.7490)), (* H2'' *) ( (7.6666), (~4.1249), (2.4880)), (* O2' *) ( (8.5944), (~4.2543), (2.6981)), (* H2' *) ( (5.5661), (~5.3029), (2.2009)), (* C3' *) ( (5.0841), (~6.0018), (1.5172)), (* H3' *) ( (4.9062), (~4.0452), (2.2042)), (* O3' *) ( (7.6298), (~7.6136), (1.4752)), (* N1 *) ( (8.6945), (~8.7046), (~0.2857)), (* N3 *) ( (8.6943), (~7.6514), (0.6066)), (* C2 *) ( (7.7426), (~9.6987), (~0.3801)), (* C4 *) ( (6.6642), (~9.5742), (0.5722)), (* C5 *) ( (6.6391), (~8.5592), (1.4526)), (* C6 *) (U ( ( (9.5840), (~6.8186), (0.6136)), (* O2 *) ( (7.8505), (~10.5925), (~1.2223)), (* O4 *) ( (9.4601), (~8.7514), (~0.9277)), (* H3 *) ( (5.9281), (~10.2509), (0.5782)), (* H5 *) ( (5.8831), (~8.4931), (2.1028))) (* H6 *) ) ) val rU03 = ( ( (~0.4993), (0.0476), (0.8651), (* dgf-base-tfo *) (0.8078), (~0.3353), (0.4847), (0.3132), (0.9409), (0.1290), (6.2989), (~5.2303), (~3.8577)), ( (~0.8313), (~0.4738), (~0.2906), (* P-O3'-275-tfo *) (0.0649), (0.4366), (~0.8973), (0.5521), (~0.7648), (~0.3322), (1.6833), (6.8060), (~7.0011)), ( (0.3445), (~0.7630), (0.5470), (* P-O3'-180-tfo *) (~0.4628), (~0.6450), (~0.6082), (0.8168), (~0.0436), (~0.5753), (~6.8179), (~3.9778), (~5.9887)), ( (0.5855), (0.7931), (~0.1682), (* P-O3'-60-tfo *) (0.8103), (~0.5790), (0.0906), (~0.0255), (~0.1894), (~0.9816), (6.1203), (~7.1051), (3.1984)), ( (2.6760), (~8.4960), (3.2880)), (* P *) ( (1.4950), (~7.6230), (3.4770)), (* O1P *) ( (2.9490), (~9.4640), (4.3740)), (* O2P *) ( (3.9730), (~7.5950), (3.0340)), (* O5' *) ( (3.9938), (~6.7042), (1.9023)), (* C5' *) ( (3.2332), (~5.9343), (2.0319)), (* H5' *) ( (3.9666), (~7.2863), (0.9812)), (* H5'' *) ( (5.3098), (~5.9546), (1.8564)), (* C4' *) ( (5.3863), (~5.3702), (0.9395)), (* H4' *) ( (5.3851), (~5.0642), (3.0076)), (* O4' *) ( (6.7315), (~4.9724), (3.4462)), (* C1' *) ( (7.0033), (~3.9202), (3.3619)), (* H1' *) ( (7.5997), (~5.8018), (2.4948)), (* C2' *) ( (8.3627), (~6.3254), (3.0707)), (* H2'' *) ( (8.0410), (~4.9501), (1.4724)), (* O2' *) ( (8.2781), (~4.0644), (1.7570)), (* H2' *) ( (6.5701), (~6.8129), (1.9714)), (* C3' *) ( (6.4186), (~7.5809), (2.7299)), (* H3' *) ( (6.9357), (~7.3841), (0.7235)), (* O3' *) ( (6.8024), (~5.4718), (4.8475)), (* N1 *) ( (7.9218), (~5.5700), (6.8877)), (* N3 *) ( (7.8908), (~5.0886), (5.5944)), (* C2 *) ( (6.9789), (~6.3827), (7.4823)), (* C4 *) ( (5.8742), (~6.7319), (6.6202)), (* C5 *) ( (5.8182), (~6.2769), (5.3570)), (* C6 *) (U ( ( (8.7747), (~4.3728), (5.1568)), (* O2 *) ( (7.1154), (~6.7509), (8.6509)), (* O4 *) ( (8.7055), (~5.3037), (7.4491)), (* H3 *) ( (5.1416), (~7.3178), (6.9665)), (* H5 *) ( (5.0441), (~6.5310), (4.7784))) (* H6 *) ) ) val rU04 = ( ( (~0.5669), (~0.8012), (0.1918), (* dgf-base-tfo *) (~0.8129), (0.5817), (0.0273), (~0.1334), (~0.1404), (~0.9811), (~0.3279), (8.3874), (0.3355)), ( (~0.8313), (~0.4738), (~0.2906), (* P-O3'-275-tfo *) (0.0649), (0.4366), (~0.8973), (0.5521), (~0.7648), (~0.3322), (1.6833), (6.8060), (~7.0011)), ( (0.3445), (~0.7630), (0.5470), (* P-O3'-180-tfo *) (~0.4628), (~0.6450), (~0.6082), (0.8168), (~0.0436), (~0.5753), (~6.8179), (~3.9778), (~5.9887)), ( (0.5855), (0.7931), (~0.1682), (* P-O3'-60-tfo *) (0.8103), (~0.5790), (0.0906), (~0.0255), (~0.1894), (~0.9816), (6.1203), (~7.1051), (3.1984)), ( (2.6760), (~8.4960), (3.2880)), (* P *) ( (1.4950), (~7.6230), (3.4770)), (* O1P *) ( (2.9490), (~9.4640), (4.3740)), (* O2P *) ( (3.9730), (~7.5950), (3.0340)), (* O5' *) ( (5.2416), (~8.2422), (2.8181)), (* C5' *) ( (5.2050), (~8.8128), (1.8901)), (* H5' *) ( (5.5368), (~8.7738), (3.7227)), (* H5'' *) ( (6.3232), (~7.2037), (2.6002)), (* C4' *) ( (7.3048), (~7.6757), (2.5577)), (* H4' *) ( (6.0635), (~6.5092), (1.3456)), (* O4' *) ( (6.4697), (~5.1547), (1.4629)), (* C1' *) ( (7.2354), (~5.0043), (0.7018)), (* H1' *) ( (7.0856), (~4.9610), (2.8521)), (* C2' *) ( (6.7777), (~3.9935), (3.2487)), (* H2'' *) ( (8.4627), (~5.1992), (2.7423)), (* O2' *) ( (8.8693), (~4.8638), (1.9399)), (* H2' *) ( (6.3877), (~6.0809), (3.6362)), (* C3' *) ( (5.3770), (~5.7562), (3.8834)), (* H3' *) ( (7.1024), (~6.4754), (4.7985)), (* O3' *) ( (5.2764), (~4.2883), (1.2538)), (* N1 *) ( (3.8961), (~3.0896), (~0.1893)), (* N3 *) ( (5.0095), (~3.8907), (~0.0346)), (* C2 *) ( (3.0480), (~2.6632), (0.8116)), (* C4 *) ( (3.4093), (~3.1310), (2.1292)), (* C5 *) ( (4.4878), (~3.9124), (2.3088)), (* C6 *) (U ( ( (5.7005), (~4.2164), (~0.9842)), (* O2 *) ( (2.0800), (~1.9458), (0.5503)), (* O4 *) ( (3.6834), (~2.7882), (~1.1190)), (* H3 *) ( (2.8508), (~2.8721), (2.9172)), (* H5 *) ( (4.7188), (~4.2247), (3.2295))) (* H6 *) ) ) val rU05 = ( ( (~0.6298), (0.0246), (0.7763), (* dgf-base-tfo *) (~0.5226), (~0.7529), (~0.4001), (0.5746), (~0.6577), (0.4870), (~0.0208), (~3.4598), (~9.6882)), ( (~0.8313), (~0.4738), (~0.2906), (* P-O3'-275-tfo *) (0.0649), (0.4366), (~0.8973), (0.5521), (~0.7648), (~0.3322), (1.6833), (6.8060), (~7.0011)), ( (0.3445), (~0.7630), (0.5470), (* P-O3'-180-tfo *) (~0.4628), (~0.6450), (~0.6082), (0.8168), (~0.0436), (~0.5753), (~6.8179), (~3.9778), (~5.9887)), ( (0.5855), (0.7931), (~0.1682), (* P-O3'-60-tfo *) (0.8103), (~0.5790), (0.0906), (~0.0255), (~0.1894), (~0.9816), (6.1203), (~7.1051), (3.1984)), ( (2.6760), (~8.4960), (3.2880)), (* P *) ( (1.4950), (~7.6230), (3.4770)), (* O1P *) ( (2.9490), (~9.4640), (4.3740)), (* O2P *) ( (3.9730), (~7.5950), (3.0340)), (* O5' *) ( (4.3825), (~6.6585), (4.0489)), (* C5' *) ( (4.6841), (~7.2019), (4.9443)), (* H5' *) ( (3.6189), (~5.8889), (4.1625)), (* H5'' *) ( (5.6255), (~5.9175), (3.5998)), (* C4' *) ( (5.8732), (~5.1228), (4.3034)), (* H4' *) ( (6.7337), (~6.8605), (3.5222)), (* O4' *) ( (7.5932), (~6.4923), (2.4548)), (* C1' *) ( (8.5661), (~6.2983), (2.9064)), (* H1' *) ( (7.0527), (~5.2012), (1.8322)), (* C2' *) ( (7.1627), (~5.2525), (0.7490)), (* H2'' *) ( (7.6666), (~4.1249), (2.4880)), (* O2' *) ( (8.5944), (~4.2543), (2.6981)), (* H2' *) ( (5.5661), (~5.3029), (2.2009)), (* C3' *) ( (5.0841), (~6.0018), (1.5172)), (* H3' *) ( (4.9062), (~4.0452), (2.2042)), (* O3' *) ( (7.6298), (~7.6136), (1.4752)), (* N1 *) ( (8.5977), (~9.5977), (0.7329)), (* N3 *) ( (8.5951), (~8.5745), (1.6594)), (* C2 *) ( (7.7372), (~9.7371), (~0.3364)), (* C4 *) ( (6.7596), (~8.6801), (~0.4476)), (* C5 *) ( (6.7338), (~7.6721), (0.4408)), (* C6 *) (U ( ( (9.3993), (~8.5377), (2.5743)), (* O2 *) ( (7.8374), (~10.6990), (~1.1008)), (* O4 *) ( (9.2924), (~10.3081), (0.8477)), (* H3 *) ( (6.0932), (~8.6982), (~1.1929)), (* H5 *) ( (6.0481), (~6.9515), (0.3446))) (* H6 *) ) ) val rU06 = ( ( (~0.9837), (0.0476), (~0.1733), (* dgf-base-tfo *) (~0.1792), (~0.3353), (0.9249), (~0.0141), (0.9409), (0.3384), (5.7793), (~5.2303), (4.5997)), ( (~0.8313), (~0.4738), (~0.2906), (* P-O3'-275-tfo *) (0.0649), (0.4366), (~0.8973), (0.5521), (~0.7648), (~0.3322), (1.6833), (6.8060), (~7.0011)), ( (0.3445), (~0.7630), (0.5470), (* P-O3'-180-tfo *) (~0.4628), (~0.6450), (~0.6082), (0.8168), (~0.0436), (~0.5753), (~6.8179), (~3.9778), (~5.9887)), ( (0.5855), (0.7931), (~0.1682), (* P-O3'-60-tfo *) (0.8103), (~0.5790), (0.0906), (~0.0255), (~0.1894), (~0.9816), (6.1203), (~7.1051), (3.1984)), ( (2.6760), (~8.4960), (3.2880)), (* P *) ( (1.4950), (~7.6230), (3.4770)), (* O1P *) ( (2.9490), (~9.4640), (4.3740)), (* O2P *) ( (3.9730), (~7.5950), (3.0340)), (* O5' *) ( (3.9938), (~6.7042), (1.9023)), (* C5' *) ( (3.2332), (~5.9343), (2.0319)), (* H5' *) ( (3.9666), (~7.2863), (0.9812)), (* H5'' *) ( (5.3098), (~5.9546), (1.8564)), (* C4' *) ( (5.3863), (~5.3702), (0.9395)), (* H4' *) ( (5.3851), (~5.0642), (3.0076)), (* O4' *) ( (6.7315), (~4.9724), (3.4462)), (* C1' *) ( (7.0033), (~3.9202), (3.3619)), (* H1' *) ( (7.5997), (~5.8018), (2.4948)), (* C2' *) ( (8.3627), (~6.3254), (3.0707)), (* H2'' *) ( (8.0410), (~4.9501), (1.4724)), (* O2' *) ( (8.2781), (~4.0644), (1.7570)), (* H2' *) ( (6.5701), (~6.8129), (1.9714)), (* C3' *) ( (6.4186), (~7.5809), (2.7299)), (* H3' *) ( (6.9357), (~7.3841), (0.7235)), (* O3' *) ( (6.8024), (~5.4718), (4.8475)), (* N1 *) ( (6.6920), (~5.0495), (7.1354)), (* N3 *) ( (6.6201), (~4.5500), (5.8506)), (* C2 *) ( (6.9254), (~6.3614), (7.4926)), (* C4 *) ( (7.1046), (~7.2543), (6.3718)), (* C5 *) ( (7.0391), (~6.7951), (5.1106)), (* C6 *) (U ( ( (6.4083), (~3.3696), (5.6340)), (* O2 *) ( (6.9679), (~6.6901), (8.6800)), (* O4 *) ( (6.5626), (~4.3957), (7.8812)), (* H3 *) ( (7.2781), (~8.2254), (6.5350)), (* H5 *) ( (7.1657), (~7.4312), (4.3503))) (* H6 *) ) ) val rU07 = ( ( (~0.9434), (0.3172), (0.0971), (* dgf-base-tfo *) (0.2294), (0.4125), (0.8816), (0.2396), (0.8539), (~0.4619), (8.3625), (~52.7147), (1.3745)), ( (0.2765), (~0.1121), (~0.9545), (* P-O3'-275-tfo *) (~0.8297), (0.4733), (~0.2959), (0.4850), (0.8737), (0.0379), (~14.7774), (~45.2464), (21.9088)), ( (0.1063), (~0.6334), (~0.7665), (* P-O3'-180-tfo *) (~0.5932), (~0.6591), (0.4624), (~0.7980), (0.4055), (~0.4458), (43.7634), (4.3296), (28.4890)), ( (0.7136), (~0.5032), (~0.4873), (* P-O3'-60-tfo *) (0.6803), (0.3317), (0.6536), (~0.1673), (~0.7979), (0.5791), (~17.1858), (41.4390), (~27.0751)), ( (21.3880), (15.0780), (45.5770)), (* P *) ( (21.9980), (14.5500), (46.8210)), (* O1P *) ( (21.1450), (14.0270), (44.5420)), (* O2P *) ( (22.1250), (16.3600), (44.9460)), (* O5' *) ( (21.5037), (16.8594), (43.7323)), (* C5' *) ( (20.8147), (17.6663), (43.9823)), (* H5' *) ( (21.1086), (16.0230), (43.1557)), (* H5'' *) ( (22.5654), (17.4874), (42.8616)), (* C4' *) ( (22.1584), (17.7243), (41.8785)), (* H4' *) ( (23.0557), (18.6826), (43.4751)), (* O4' *) ( (24.4788), (18.6151), (43.6455)), (* C1' *) ( (24.9355), (19.0840), (42.7739)), (* H1' *) ( (24.7958), (17.1427), (43.6474)), (* C2' *) ( (24.5652), (16.7400), (44.6336)), (* H2'' *) ( (26.1041), (16.8773), (43.2455)), (* O2' *) ( (26.7516), (17.5328), (43.5149)), (* H2' *) ( (23.8109), (16.5979), (42.6377)), (* C3' *) ( (23.5756), (15.5686), (42.9084)), (* H3' *) ( (24.2890), (16.7447), (41.2729)), (* O3' *) ( (24.9420), (19.2174), (44.8923)), (* N1 *) ( (25.2655), (20.5636), (44.8883)), (* N3 *) ( (25.1663), (21.2219), (43.8561)), (* C2 *) ( (25.6911), (21.1219), (46.0494)), (* C4 *) ( (25.8051), (20.4068), (47.2048)), (* C5 *) ( (26.2093), (20.9962), (48.2534)), (* C6 *) (U ( ( (25.4692), (19.0221), (47.2053)), (* O2 *) ( (25.0502), (18.4827), (46.0370)), (* O4 *) ( (25.9599), (22.1772), (46.0966)), (* H3 *) ( (25.5545), (18.4409), (48.1234)), (* H5 *) ( (24.7854), (17.4265), (45.9883))) (* H6 *) ) ) val rU08 = ( ( (~0.0080), (~0.7928), (0.6094), (* dgf-base-tfo *) (~0.7512), (0.4071), (0.5197), (~0.6601), (~0.4536), (~0.5988), (44.1482), (30.7036), (2.1088)), ( (0.2765), (~0.1121), (~0.9545), (* P-O3'-275-tfo *) (~0.8297), (0.4733), (~0.2959), (0.4850), (0.8737), (0.0379), (~14.7774), (~45.2464), (21.9088)), ( (0.1063), (~0.6334), (~0.7665), (* P-O3'-180-tfo *) (~0.5932), (~0.6591), (0.4624), (~0.7980), (0.4055), (~0.4458), (43.7634), (4.3296), (28.4890)), ( (0.7136), (~0.5032), (~0.4873), (* P-O3'-60-tfo *) (0.6803), (0.3317), (0.6536), (~0.1673), (~0.7979), (0.5791), (~17.1858), (41.4390), (~27.0751)), ( (21.3880), (15.0780), (45.5770)), (* P *) ( (21.9980), (14.5500), (46.8210)), (* O1P *) ( (21.1450), (14.0270), (44.5420)), (* O2P *) ( (22.1250), (16.3600), (44.9460)), (* O5' *) ( (23.5096), (16.1227), (44.5783)), (* C5' *) ( (23.5649), (15.8588), (43.5222)), (* H5' *) ( (23.9621), (15.4341), (45.2919)), (* H5'' *) ( (24.2805), (17.4138), (44.7151)), (* C4' *) ( (25.3492), (17.2309), (44.6030)), (* H4' *) ( (23.8497), (18.3471), (43.7208)), (* O4' *) ( (23.4090), (19.5681), (44.3321)), (* C1' *) ( (24.2595), (20.2496), (44.3524)), (* H1' *) ( (23.0418), (19.1813), (45.7407)), (* C2' *) ( (22.0532), (18.7224), (45.7273)), (* H2'' *) ( (23.1307), (20.2521), (46.6291)), (* O2' *) ( (22.8888), (21.1051), (46.2611)), (* H2' *) ( (24.0799), (18.1326), (46.0700)), (* C3' *) ( (23.6490), (17.4370), (46.7900)), (* H3' *) ( (25.3329), (18.7227), (46.5109)), (* O3' *) ( (22.2515), (20.1624), (43.6698)), (* N1 *) ( (22.4760), (21.0609), (42.6406)), (* N3 *) ( (23.6229), (21.3462), (42.3061)), (* C2 *) ( (21.3986), (21.6081), (42.0236)), (* C4 *) ( (20.1189), (21.3012), (42.3804)), (* C5 *) ( (19.1599), (21.8516), (41.7578)), (* C6 *) (U ( ( (19.8919), (20.3745), (43.4387)), (* O2 *) ( (20.9790), (19.8423), (44.0440)), (* O4 *) ( (21.5235), (22.3222), (41.2097)), (* H3 *) ( (18.8732), (20.1200), (43.7312)), (* H5 *) ( (20.8545), (19.1313), (44.8608))) (* H6 *) ) ) val rU09 = ( ( (~0.0317), (0.1374), (0.9900), (* dgf-base-tfo *) (~0.3422), (~0.9321), (0.1184), (0.9391), (~0.3351), (0.0765), (~32.1929), (25.8198), (~28.5088)), ( (0.2765), (~0.1121), (~0.9545), (* P-O3'-275-tfo *) (~0.8297), (0.4733), (~0.2959), (0.4850), (0.8737), (0.0379), (~14.7774), (~45.2464), (21.9088)), ( (0.1063), (~0.6334), (~0.7665), (* P-O3'-180-tfo *) (~0.5932), (~0.6591), (0.4624), (~0.7980), (0.4055), (~0.4458), (43.7634), (4.3296), (28.4890)), ( (0.7136), (~0.5032), (~0.4873), (* P-O3'-60-tfo *) (0.6803), (0.3317), (0.6536), (~0.1673), (~0.7979), (0.5791), (~17.1858), (41.4390), (~27.0751)), ( (21.3880), (15.0780), (45.5770)), (* P *) ( (21.9980), (14.5500), (46.8210)), (* O1P *) ( (21.1450), (14.0270), (44.5420)), (* O2P *) ( (22.1250), (16.3600), (44.9460)), (* O5' *) ( (21.5037), (16.8594), (43.7323)), (* C5' *) ( (20.8147), (17.6663), (43.9823)), (* H5' *) ( (21.1086), (16.0230), (43.1557)), (* H5'' *) ( (22.5654), (17.4874), (42.8616)), (* C4' *) ( (23.0565), (18.3036), (43.3915)), (* H4' *) ( (23.5375), (16.5054), (42.4925)), (* O4' *) ( (23.6574), (16.4257), (41.0649)), (* C1' *) ( (24.4701), (17.0882), (40.7671)), (* H1' *) ( (22.3525), (16.9643), (40.5396)), (* C2' *) ( (21.5993), (16.1799), (40.6133)), (* H2'' *) ( (22.4693), (17.4849), (39.2515)), (* O2' *) ( (23.0899), (17.0235), (38.6827)), (* H2' *) ( (22.0341), (18.0633), (41.5279)), (* C3' *) ( (20.9509), (18.1709), (41.5846)), (* H3' *) ( (22.7249), (19.3020), (41.2100)), (* O3' *) ( (23.8580), (15.0648), (40.5757)), (* N1 *) ( (25.1556), (14.5982), (40.4523)), (* N3 *) ( (26.1047), (15.3210), (40.7448)), (* C2 *) ( (25.3391), (13.3315), (40.0020)), (* C4 *) ( (24.2974), (12.5148), (39.6749)), (* C5 *) ( (24.5450), (11.3410), (39.2610)), (* C6 *) (U ( ( (22.9633), (12.9979), (39.8053)), (* O2 *) ( (22.8009), (14.2648), (40.2524)), (* O4 *) ( (26.3414), (12.9194), (39.8855)), (* H3 *) ( (22.1227), (12.3533), (39.5486)), (* H5 *) ( (21.7989), (14.6788), (40.3650))) (* H6 *) ) ) val rU10 = ( ( (~0.9674), (0.1021), (~0.2318), (* dgf-base-tfo *) (~0.2514), (~0.2766), (0.9275), (0.0306), (0.9555), (0.2933), (27.8571), (~42.1305), (~24.4563)), ( (0.2765), (~0.1121), (~0.9545), (* P-O3'-275-tfo *) (~0.8297), (0.4733), (~0.2959), (0.4850), (0.8737), (0.0379), (~14.7774), (~45.2464), (21.9088)), ( (0.1063), (~0.6334), (~0.7665), (* P-O3'-180-tfo *) (~0.5932), (~0.6591), (0.4624), (~0.7980), (0.4055), (~0.4458), (43.7634), (4.3296), (28.4890)), ( (0.7136), (~0.5032), (~0.4873), (* P-O3'-60-tfo *) (0.6803), (0.3317), (0.6536), (~0.1673), (~0.7979), (0.5791), (~17.1858), (41.4390), (~27.0751)), ( (21.3880), (15.0780), (45.5770)), (* P *) ( (21.9980), (14.5500), (46.8210)), (* O1P *) ( (21.1450), (14.0270), (44.5420)), (* O2P *) ( (22.1250), (16.3600), (44.9460)), (* O5' *) ( (23.5096), (16.1227), (44.5783)), (* C5' *) ( (23.5649), (15.8588), (43.5222)), (* H5' *) ( (23.9621), (15.4341), (45.2919)), (* H5'' *) ( (24.2805), (17.4138), (44.7151)), (* C4' *) ( (23.8509), (18.1819), (44.0720)), (* H4' *) ( (24.2506), (17.8583), (46.0741)), (* O4' *) ( (25.5830), (18.0320), (46.5775)), (* C1' *) ( (25.8569), (19.0761), (46.4256)), (* H1' *) ( (26.4410), (17.1555), (45.7033)), (* C2' *) ( (26.3459), (16.1253), (46.0462)), (* H2'' *) ( (27.7649), (17.5888), (45.6478)), (* O2' *) ( (28.1004), (17.9719), (46.4616)), (* H2' *) ( (25.7796), (17.2997), (44.3513)), (* C3' *) ( (25.9478), (16.3824), (43.7871)), (* H3' *) ( (26.2154), (18.4984), (43.6541)), (* O3' *) ( (25.7321), (17.6281), (47.9726)), (* N1 *) ( (25.5136), (18.5779), (48.9560)), (* N3 *) ( (25.2079), (19.7276), (48.6503)), (* C2 *) ( (25.6482), (18.1987), (50.2518)), (* C4 *) ( (25.9847), (16.9266), (50.6092)), (* C5 *) ( (26.0918), (16.6439), (51.8416)), (* C6 *) (U ( ( (26.2067), (15.9515), (49.5943)), (* O2 *) ( (26.0713), (16.3497), (48.3080)), (* O4 *) ( (25.4890), (18.9105), (51.0618)), (* H3 *) ( (26.4742), (14.9310), (49.8682)), (* H5 *) ( (26.2346), (15.6394), (47.4975))) (* H6 *) ) ) val rUs = [rU01,rU02,rU03,rU04,rU05,rU06,rU07,rU08,rU09,rU10] val rG' = ( ( (~0.2067), (~0.0264), (0.9780), (* dgf-base-tfo *) (0.9770), (~0.0586), (0.2049), (0.0519), (0.9979), (0.0379), (1.0331), (~46.8078), (~36.4742)), ( (~0.8644), (~0.4956), (~0.0851), (* P-O3'-275-tfo *) (~0.0427), (0.2409), (~0.9696), (0.5010), (~0.8345), (~0.2294), (4.0167), (54.5377), (12.4779)), ( (0.3706), (~0.6167), (0.6945), (* P-O3'-180-tfo *) (~0.2867), (~0.7872), (~0.5460), (0.8834), (0.0032), (~0.4686), (~52.9020), (18.6313), (~0.6709)), ( (0.4155), (0.9025), (~0.1137), (* P-O3'-60-tfo *) (0.9040), (~0.4236), (~0.0582), (~0.1007), (~0.0786), (~0.9918), (~7.6624), (~25.2080), (49.5181)), ( (31.3810), (0.1400), (47.5810)), (* P *) ( (29.9860), (0.6630), (47.6290)), (* O1P *) ( (31.7210), (~0.6460), (48.8090)), (* O2P *) ( (32.4940), (1.2540), (47.2740)), (* O5' *) ( (32.1610), (2.2370), (46.2560)), (* C5' *) ( (31.2986), (2.8190), (46.5812)), (* H5' *) ( (32.0980), (1.7468), (45.2845)), (* H5'' *) ( (33.3476), (3.1959), (46.1947)), (* C4' *) ( (33.2668), (3.8958), (45.3630)), (* H4' *) ( (33.3799), (3.9183), (47.4216)), (* O4' *) ( (34.6515), (3.7222), (48.0398)), (* C1' *) ( (35.2947), (4.5412), (47.7180)), (* H1' *) ( (35.1756), (2.4228), (47.4827)), (* C2' *) ( (34.6778), (1.5937), (47.9856)), (* H2'' *) ( (36.5631), (2.2672), (47.4798)), (* O2' *) ( (37.0163), (2.6579), (48.2305)), (* H2' *) ( (34.6953), (2.5043), (46.0448)), (* C3' *) ( (34.5444), (1.4917), (45.6706)), (* H3' *) ( (35.6679), (3.3009), (45.3487)), (* O3' *) ( (37.4804), (4.0914), (52.2559)), (* N1 *) ( (36.9670), (4.1312), (49.9281)), (* N3 *) ( (37.8045), (4.2519), (50.9550)), (* C2 *) ( (35.7171), (3.8264), (50.3222)), (* C4 *) ( (35.2668), (3.6420), (51.6115)), (* C5 *) ( (36.2037), (3.7829), (52.6706)), (* C6 *) (G ( ( (39.0869), (4.5552), (50.7092)), (* N2 *) ( (33.9075), (3.3338), (51.6102)), (* N7 *) ( (34.6126), (3.6358), (49.5108)), (* N9 *) ( (33.5805), (3.3442), (50.3425)), (* C8 *) ( (35.9958), (3.6512), (53.8724)), (* O6 *) ( (38.2106), (4.2053), (52.9295)), (* H1 *) ( (39.8218), (4.6863), (51.3896)), (* H21 *) ( (39.3420), (4.6857), (49.7407)), (* H22 *) ( (32.5194), (3.1070), (50.2664))) (* H8 *) ) ) val rU' = ( ( (~0.0109), (0.5907), (0.8068), (* dgf-base-tfo *) (0.2217), (~0.7853), (0.5780), (0.9751), (0.1852), (~0.1224), (~1.4225), (~11.0956), (~2.5217)), ( (~0.8313), (~0.4738), (~0.2906), (* P-O3'-275-tfo *) (0.0649), (0.4366), (~0.8973), (0.5521), (~0.7648), (~0.3322), (1.6833), (6.8060), (~7.0011)), ( (0.3445), (~0.7630), (0.5470), (* P-O3'-180-tfo *) (~0.4628), (~0.6450), (~0.6082), (0.8168), (~0.0436), (~0.5753), (~6.8179), (~3.9778), (~5.9887)), ( (0.5855), (0.7931), (~0.1682), (* P-O3'-60-tfo *) (0.8103), (~0.5790), (0.0906), (~0.0255), (~0.1894), (~0.9816), (6.1203), (~7.1051), (3.1984)), ( (2.6760), (~8.4960), (3.2880)), (* P *) ( (1.4950), (~7.6230), (3.4770)), (* O1P *) ( (2.9490), (~9.4640), (4.3740)), (* O2P *) ( (3.9730), (~7.5950), (3.0340)), (* O5' *) ( (5.2430), (~8.2420), (2.8260)), (* C5' *) ( (5.1974), (~8.8497), (1.9223)), (* H5' *) ( (5.5548), (~8.7348), (3.7469)), (* H5'' *) ( (6.3140), (~7.2060), (2.5510)), (* C4' *) ( (5.8744), (~6.2116), (2.4731)), (* H4' *) ( (7.2798), (~7.2260), (3.6420)), (* O4' *) ( (8.5733), (~6.9410), (3.1329)), (* C1' *) ( (8.9047), (~6.0374), (3.6446)), (* H1' *) ( (8.4429), (~6.6596), (1.6327)), (* C2' *) ( (9.2880), (~7.1071), (1.1096)), (* H2'' *) ( (8.2502), (~5.2799), (1.4754)), (* O2' *) ( (8.7676), (~4.7284), (2.0667)), (* H2' *) ( (7.1642), (~7.4416), (1.3021)), (* C3' *) ( (7.4125), (~8.5002), (1.2260)), (* H3' *) ( (6.5160), (~6.9772), (0.1267)), (* O3' *) ( (9.4531), (~8.1107), (3.4087)), (* N1 *) ( (11.5931), (~9.0015), (3.6357)), (* N3 *) ( (10.8101), (~7.8950), (3.3748)), (* C2 *) ( (11.1439), (~10.2744), (3.9206)), (* C4 *) ( (9.7056), (~10.4026), (3.9332)), (* C5 *) ( (8.9192), (~9.3419), (3.6833)), (* C6 *) (U ( ( (11.3013), (~6.8063), (3.1326)), (* O2 *) ( (11.9431), (~11.1876), (4.1375)), (* O4 *) ( (12.5840), (~8.8673), (3.6158)), (* H3 *) ( (9.2891), (~11.2898), (4.1313)), (* H5 *) ( (7.9263), (~9.4537), (3.6977))) (* H6 *) ) ) (* -- PARTIAL INSTANTIATIONS ------------------------------------------------*) type var = intg*tfo*nuc fun atom_pos atom (i,t,n) = tfo_apply t (atom n) fun get_var id ((i,t,n)::rest) = if id = i then (i,t,n) else get_var id rest (* -- SEARCH ----------------------------------------------------------------*) (* Queue operations (to efficiently append two lists of solutions) *) fun queue_to_list q = q val make_empty_queue = [] fun make_singleton_queue item = [item] fun append_queues q1 q2 = q1 @ q2 (* Sequential backtracking algorithm *) fun search partial_inst [] constraint = make_singleton_queue partial_inst | search partial_inst (h::t) constraint = search_aux partial_inst t constraint (h partial_inst) and search_aux partial_inst domains constraint [] = make_empty_queue | search_aux partial_inst domains constraint (h::t) = if constraint h partial_inst then append_queues (search (h::partial_inst) domains constraint) (search_aux partial_inst domains constraint t) else search_aux partial_inst domains constraint t (* -- DOMAINS ---------------------------------------------------------------*) (* Primary structure: strand A CUGCCACGUCUG, strand B CAGACGUGGCAG || || Secondary structure: strand A CUGCCACGUCUG || |||||||||||| || GACGGUGCAGAC strand B || || Tertiary structure: || || 5' end of strand A C1----G12 3' end of strand B || U2-------A11 || G3-------C10 || C4-----G9 || C5---G8 || A6 || G6-C7 || C5----G8 || A4-------U9 || G3--------C10 || A2-------U11 || 5' end of strand B C1----G12 3' end of strand A || || "helix", "stacked" and "connected" describe the spatial relationship || between two consecutive nucleotides. E.g. the nucleotides C1 and U2 || from the strand A. || || "wc" (stands for Watson-Crick and is a type of base-pairing), || and "wc-dumas" describe the spatial relationship between || nucleotides from two chains that are growing in opposite directions. || E.g. the nucleotides C1 from strand A and G12 from strand B. *) (* Dynamic Domains *) (* Given, || "ref" a nucleotide which is already positioned, || "nuc" the nucleotide to be placed, || and "tfo" a transformation matrix which expresses the desired || relationship between "ref" and "nuc", || the function "dgf-base" computes the transformation matrix that || places the nucleotide "nuc" in the given relationship to "ref". *) fun dgf_base tfo (i,t,n) nuc = let val x = if is_A n then tfo_align (tfo_apply t (nuc_C1' n)) (tfo_apply t (rA_N9 n)) (tfo_apply t (nuc_C4 n)) else if is_C n then tfo_align (tfo_apply t (nuc_C1' n)) (tfo_apply t (nuc_N1 n)) (tfo_apply t (nuc_C2 n)) else if is_G n then tfo_align (tfo_apply t (nuc_C1' n)) (tfo_apply t (rG_N9 n)) (tfo_apply t (nuc_C4 n)) else tfo_align (tfo_apply t (nuc_C1' n)) (tfo_apply t (nuc_N1 n)) (tfo_apply t (nuc_C2 n)) in tfo_combine (nuc_dgf_base_tfo nuc) (tfo_combine tfo (tfo_inv_ortho x)) end (* Placement of first nucleotide. *) fun reference nuc i partial_inst = [ (i,tfo_id,nuc) ] (* The transformation matrix for wc is from: || || Chandrasekaran R. et al (1989) A Re-Examination of the Crystal || Structure of A-DNA Using Fiber Diffraction Data. J. Biomol. || Struct. & Dynamics 6(6):1189-1202. *) val wc_tfo = ( (~1.0000), (0.0028), (~0.0019), (0.0028), (0.3468), (~0.9379), (~0.0019), (~0.9379), (~0.3468), (~0.0080), (6.0730), (8.7208) ) fun wc nuc i j partial_inst = [ (i,(dgf_base wc_tfo (get_var j partial_inst) nuc),nuc) ] val wc_Dumas_tfo = ( (~0.9737), (~0.1834), (0.1352), (~0.1779), (0.2417), (~0.9539), (0.1422), (~0.9529), (~0.2679), (0.4837), (6.2649), (8.0285) ) fun wc_Dumas nuc i j partial_inst = [ (i,(dgf_base wc_Dumas_tfo (get_var j partial_inst) nuc),nuc) ] val helix5'_tfo = ( (0.9886), (~0.0961), (0.1156), (0.1424), (0.8452), (~0.5152), (~0.0482), (0.5258), (0.8492), (~3.8737), (0.5480), (3.8024) ) fun helix5' nuc i j partial_inst = [ (i,(dgf_base helix5'_tfo (get_var j partial_inst) nuc),nuc) ] val helix3'_tfo = ( (0.9886), (0.1424), (~0.0482), (~0.0961), (0.8452), (0.5258), (0.1156), (~0.5152), (0.8492), (3.4426), (2.0474), (~3.7042) ) fun helix3' nuc i j partial_inst = [ (i,(dgf_base helix3'_tfo (get_var j partial_inst) nuc),nuc) ] val g37_a38_tfo = ( (0.9991), (0.0164), (~0.0387), (~0.0375), (0.7616), (~0.6470), (0.0189), (0.6478), (0.7615), (~3.3018), (0.9975), (2.5585) ) fun g37_a38 nuc i j partial_inst = (i,(dgf_base g37_a38_tfo (get_var j partial_inst) nuc),nuc) fun stacked5' nuc i j partial_inst = (g37_a38 nuc i j partial_inst) :: (helix5' nuc i j partial_inst) val a38_g37_tfo = ( (0.9991), (~0.0375), (0.0189), (0.0164), (0.7616), (0.6478), (~0.0387), (~0.6470), (0.7615), (3.3819), (0.7718), (~2.5321) ) fun a38_g37 nuc i j partial_inst = (i,(dgf_base a38_g37_tfo (get_var j partial_inst) nuc),nuc) fun stacked3' nuc i j partial_inst = (a38_g37 nuc i j partial_inst) :: (helix3' nuc i j partial_inst) fun p_o3' nucs i j partial_inst = let val (k,t,n) = get_var j partial_inst val align = tfo_inv_ortho (tfo_align (tfo_apply t (nuc_O3' n)) (tfo_apply t (nuc_C3' n)) (tfo_apply t (nuc_C4' n))) in List.concat (map (fn nuc => [ (i,(tfo_combine (nuc_p_o3'_60_tfo nuc) align),nuc), (i,(tfo_combine (nuc_p_o3'_180_tfo nuc) align),nuc), (i,(tfo_combine (nuc_p_o3'_275_tfo nuc) align),nuc) ]) nucs) end (* -- PROBLEM STATEMENT -----------------------------------------------------*) (* Define anticodon problem -- Science 253:1255 Figure 3a, 3b and 3c *) fun anticodon_domains () = [ reference rC 27, helix5' rC 28 27, helix5' rA 29 28, helix5' rG 30 29, helix5' rA 31 30, wc rU 39 31, helix5' rC 40 39, helix5' rU 41 40, helix5' rG 42 41, helix5' rG 43 42, stacked3' rA 38 39, stacked3' rG 37 38, stacked3' rA 36 37, stacked3' rA 35 36, stacked3' rG 34 35, (*<-. Distan, *) p_o3' rCs 32 31, (* | Constraint *) p_o3' rUs 33 32 (*<-' 3.0 Angstrom *) ] (* Anticodon constraint *) fun anticodon_constraint (i,t,n) partial_inst = if i = 33 then let val p = atom_pos nuc_P (get_var 34 partial_inst) val o3' = atom_pos nuc_O3' (i,t,n) in (pt_dist p o3') <= 3.0 end else true (* Anticodon*) fun anticodon () = queue_to_list (search [] (anticodon_domains ()) anticodon_constraint) fun anticodon_length () = length(anticodon()) end; smlsharp-1.2.0/benchmark/benchmarks/nucleic/paper.bbl0000644 000000000000000000002745012050661606022774 0ustar00rootroot0000000 0000000 \begin{thebibliography}{10} \bibitem{Alt93} M.~Alt, C.~Fecht, C.~Ferdinand, and R.~Wilhelm. \newblock The {{Trafola-{S}}} subsystem. \newblock In B.~Hoffmann and B.~Krieg-Br\"uckner, editors, {\em Program development by specification and transformation, {LNCS} 680}, pages 539--576. Springer-Verlag, Berlin, May 1993. \bibitem{App92} A.~W. Appel. \newblock {\em Compiling with Continuations}. \newblock Cambridge Univ. Press, Cambridge, England, 1992. \bibitem{Arm93} J.~Armstrong, M.~Williams, and R.~Virding. \newblock {\em Concurrent programming in Erlang}. \newblock Prentice Hall, Englewood Cliffs, New Jersey, 1993. \bibitem{Aug93c} L.~Augustsson. \newblock {HBC} user's manual. \newblock Programming Methodology Group Distributed with the HBC compiler, Depart. of Comp. Sci, Chalmers, S--412 96 G\"{o}teborg, Sweden, 1993. \bibitem{Bee92a} M.~Beemster. \newblock The lazy functional intermediate language {Stoffel}. \newblock Technical report CS-92-16, Dept. of Comp. Sys, Univ. of Amsterdam, Dec 1992. \bibitem{Bee93} M.~Beemster. \newblock Optimizing transformations for a lazy functional language. \newblock In W.-J. Withagen, editor, {\em 7th Computer systems}, pages 17--40, Eindhoven, The Netherlands, Nov 1993. Eindhoven Univ. of Technology. \bibitem{Can92c} D.~C. Cann. \newblock The optimizing {SISAL} compiler: version 12.0. \newblock Manual UCRL-MA-110080, Lawrence Livermore National Laboratory, Livermore, California, Apr 1992. \bibitem{Can92} D.~C. Cann. \newblock Retire {FORTRAN}? a debate rekindled. \newblock {\em Communications ACM}, 35(8):81--89, Aug 1992. \bibitem{Cha92a} E.~Chailloux. \newblock An efficient way of compiling {ML} to {C}. \newblock In P.~Lee, editor, {\em {ACM} {SIGPLAN} Workshop on {ML} and its Applications}, pages 37--51, San Francisco, California, Jun 1992. School of Comp. Sci, Carnegie Mellon Univ., Pittsburg, Pennsylvania, Technical report CMU-CS-93-105. \bibitem{Did94} K.~Didrich, A.~Fett, C.~Gerke, W.~Grieskamp, and P.~Pepper. \newblock {OPAL}: Design and implementation of an algebraic programming language. \newblock In J.~Gutknecht, editor, {\em Programming Languages and System Architectures, {LNCS} 782}, pages 228--244, Zurich, Switzerland, Mar 1994. Springer-Verlag, Berlin. \bibitem{Diw94} A.~Diwan, D.~Tarditi, and E.~Moss. \newblock Memory subsystem performance of programs with copying garbage collection. \newblock In {\em 21st Principles of programming languages}, pages 1--14, Portland, Oregon, Jan 1994. ACM. \bibitem{Ler93} X.~Leroy {\em et al.} \newblock {\em The {Caml} {Light} system, release 0.61}. \newblock Software and documentation distributed by anonymous FTP on {\tt ftp.inria.fr}, 1993. \bibitem{Fee90} M.~Feeley and J.~S. Miller. \newblock A parallel virtual machine for efficient {{S}}cheme compilation. \newblock In {\em {Lisp} and functional programming}, pages 119--130, Nice, France, Jul 1990. ACM. \bibitem{Fee94} M.~Feeley, M.~Turcotte, and G.~{LaPalme}. \newblock Using {{Multilisp}} for solving constraint satisfaction problems: an application to nucleic acid {{3D}} structure determination. \newblock {\em Lisp and symbolic computation (to appear)}, 1994. \bibitem{Fin92a} S.~Finn and M.~Crawley. \newblock {\em Using Poly/{ML} {2.05M}}. \newblock Abstract Hardware Ltd., Aug 1992. \bibitem{Fis84} J.~A. Fisher, J.~R. Ellis, J.~C. Ruttenberg, and A.~Nicolau. \newblock Parallel processing: A smart compiler and a dumb machine. \newblock In {\em Compiler construction}, pages 37--47, Montr\'{e}al, Canada, Jun 1984. ACM SIGPLAN notices,19(6). \bibitem{Gie94} R.~Giegerich and R.~J.~M. Hughes. \newblock Functional programming in the real world. \newblock Dagstuhl seminar report~89, IBFI GmbH, Schloss Dagstuhl, D-66687 Wadern, Germany, May 1994. \bibitem{Gil94} A.~J. Gill and S.~L. {Peyton Jones}. \newblock Cheap deforestation in practice: An optimiser for {Haskell}. \newblock In {\em Proc. {IFIP}}, pages ???--???, Hamburg, Germany, Aug 1994. \bibitem{Gol94} S.~C. Goldstein. \newblock The implementation of a threaded abstract machine. \newblock Technical report UCB/CSP 94-818, Comp. Sci. Division (EECS), Univ. of California, Berkeley CA 94720, 1994. \bibitem{Gop89} K.~Gopinath and J.~L. Hennesy. \newblock Copy elimination in functional languages. \newblock In {\em 16th Principles of programming languages}, pages 303--314, Austin, Texas, Jan 1989. ACM. \bibitem{Yal94} The Yale~Haskell Group. \newblock {\em The Yale {Haskell} Users Manual (version Y2.1)}. \newblock Dept. of Comp. Sci, Yale Univ., Jul 1994. \bibitem{Hal85} R.~H. {Halstead Jr}. \newblock {Multilisp}: A language for concurrent symbolic computation. \newblock {\em ACM Transactions on programming languages and systems}, 7(4):501--538, Oct 1985. \bibitem{Har94x} Harlequin. \newblock {\em {MLWorks} draft documentation}. \newblock Harlequin Ltd, Cambridge, England, 1994. \bibitem{Har91} P.~H. Hartel, H.~W. Glaser, and J.~M. Wild. \newblock Compilation of functional languages using flow graph analysis. \newblock {\em Software---practice and experience}, 24(2):127--173, Feb 1994. \bibitem{Har92b} P.~H. Hartel and K.~G. Langendoen. \newblock Benchmarking implementations of lazy functional languages. \newblock In {\em 6th Functional programming languages and computer architecture}, pages 341--349, Copenhagen, Denmark, Jun 1993. ACM. \bibitem{Hau94} B.~Hausman. \newblock Turbo erlang: Approaching the speed of {C}. \newblock In E.~Tick and G.~Succi, editors, {\em Implementations of Logic Programming Systems}, pages 119--135. Kluwer Academic Publishers, Boston/Dordrecht/London, Mar 1994. \bibitem{Hud92a} P.~Hudak, S.~L. {Peyton Jones}, and P.~L.~Wadler (editors). \newblock Report on the programming language {Haskell} -- a non-strict purely functional language, version 1.2. \newblock {\em ACM SIGPLAN notices}, 27(5):R1--R162, May 1992. \bibitem{Jon94c} M.~P. Jones. \newblock The implementation of the {{G}}ofer functional programming system. \newblock Research Report YALEU/DCS/RR-1030, Dept. of Comp. Sci, Yale Univ., New haven, Connecticut, May 1994. \bibitem{Ker88} B.~W. Kernighan and D.~W. Ritchie. \newblock {\em The {{C}} programming language}. \newblock Prentice Hall, Englewood Cliffs, New Jersey, 1988. \bibitem{Ler92} X.~Leroy. \newblock Unboxed objects and polymorphic typing. \newblock In {\em 19th Principles of Programming Languages}, pages 177--188, Albuquerque, New Mexico, Jan 1992. ACM Press. \bibitem{Mac92} R.~A. MacLachlan. \newblock {CMU} common {Lisp} user's manual. \newblock Technical report CMU-CS-92-161, School of Comp. Sci, Carnegie Mellon Univ., Jul 1992. \bibitem{McG85} J.~R. McGraw, S.~K. Skedzielewski, S.~Allan, R.~Oldehoeft, J.~R.~W. Glauert, C.~Kirkham, B.~Noyce, and R.~Thomas. \newblock {Sisal}: Streams and iteration in a single assignment language. \newblock Language reference manual version 1.2 M-146, Rev. 1, Lawrence Livermore National Laboratory, Livermore, California, Mar 1985. \bibitem{Mil90} R.~Milner, M.~Tofte, and R.~Harper. \newblock {\em The definition of {Standard} {ML}}. \newblock MIT Press, Cambridge, Massachusetts, 1990. \bibitem{Nik90a} R.~S. Nikhil. \newblock {ID} version 90.0 reference manual. \newblock Computation Structures Group Memo 284-1, Laboratory for Comp. Sci, MIT, Cambridge Massachusetts, Sep 1990. \bibitem{Pey87} S.~L. {Peyton Jones}. \newblock {\em The implementation of functional programming languages}. \newblock Prentice Hall, Englewood Cliffs, New Jersey, 1987. \bibitem{Pey93c} S.~L. {Peyton Jones}, C.~V. Hall, K.~Hammond, W.~D. Partain, and P.~L. Wadler. \newblock The glasgow {Haskell} compiler: a technical overview. \newblock In {\em Proc Joint Framework for Information Technology ({JFIT}) Conference}, pages ???--???, Keele, England, Mar 1993. \bibitem{Pey91b} S.~L. {Peyton Jones} and J.~Launchbury. \newblock Unboxed values as first class citizens in a non-strict functional language. \newblock In R.~J.~M. Hughes, editor, {\em 5th Functional programming languages and computer architecture, {LNCS} 523}, pages 636--666, Cambridge, Massachusetts, Sep 1991. Springer-Verlag, Berlin. \bibitem{Pla94} M.~J. Plasmeijer and M.~C. J.~D. van Eekelen. \newblock {\em {Concurrent {Clean}} - version 1.0 - Language Reference Manual, draft version}. \newblock Dept. of Comp. Sci, Univ. of Nijmegen, The Netherlands, Jun 1994. \bibitem{Ran87} J.~E. Ranelletti. \newblock {\em Graph transformation algorithms for array memory memory optimization in applicative languages}. \newblock PhD thesis, Comp. Sci. Dept, Univ. of California at Davis, California, Nov 1987. \bibitem{Ree91} J.~A. Rees and W.~Clinger. \newblock {\em Revised$^4$ Report on the Algorithmic Language {{S}}cheme}. \newblock MIT, Cambridge, Massachusetts, Nov 1991. \bibitem{Roj94} N.~R\"ojemo. \newblock Nhc - nearly a {Haskell} compiler. \newblock Technical report in preparation, Dept. of Computing Science, Chalmers Univ., 1994. \bibitem{San93} P.~M. Sansom and S.~L. {Peyton Jones}. \newblock Generational garbage collection for {Haskell}. \newblock In {\em 6th Functional programming languages and computer architecture}, pages 106--116, Copenhagen, Denmark, Jun 1993. ACM. \bibitem{Sch91} W.~Schulte and W.~Grieskamp. \newblock Generating efficient portable code for a strict applicative language. \newblock In J.~Darlington and R.~Dietrich, editors, {\em Phoenix Seminar and Workshop on Declarative Programming}, pages 239--252, Sasbachwalden, West Germany, Nov 1991. Springer-Verlag, Berlin. \bibitem{Ser94a} M.~Serrano. \newblock {\em Bigloo 1.7 user's manual}. \newblock INRIA Rocquencourt, France (to appear), 1994. \bibitem{Ser94b} M.~Serrano and P.~Weis. \newblock $1+1=1$: an optimizing {Caml} compiler. \newblock In {\em {ACM-SIGPLAN} Workshop on {ML} and its applications}, pages 101--111. Research report 2265, INRIA Rocquencourt, France, Nun 1994. \bibitem{Sha94} Z.~Shao. \newblock {\em Compiling {Standard} {ML} for Efficient Execution on Modern Machines}. \newblock PhD thesis, Princeton Univ, Princeton, New Jersey, Nov 1994. \bibitem{Sme91} S.~Smetsers, E.~G. J. M.~H. N\"{o}cker, J.~van Groningen, and M.~J. Plasmeijer. \newblock Generating efficient code for lazy functional languages. \newblock In R.~J.~M. Hughes, editor, {\em 5th Functional programming languages and computer architecture, {LNCS} 523}, pages 592--617, Cambridge, Massachusetts, Sep 1991. Springer-Verlag, Berlin. \bibitem{Ste90} G.~L. {Steele Jr}. \newblock {\em Common {Lisp} the Language}. \newblock Digital Press, Bedford, second edition, 1990. \bibitem{Tho93a} B.~Thomsen, L.~Leth, S.~Prasad, T.-S. Kuo, A.~Kramer, F.~Knabe, and A.~Giacalone. \newblock Facile antigua release -- programming guide. \newblock Technical report ECRC-93-20, European Computer-Industry Research Centre, Munich, Germany (The reference manual and license agreement are available by anonymous ftp from ftp.ecrc.de.), 1993. \bibitem{Tur85} D.~A. Turner. \newblock {Miranda}: A non-strict functional language with polymorphic types. \newblock In J.-P. Jouannaud, editor, {\em 2nd Functional programming languages and computer architecture, {LNCS} 201}, pages 1--16, Nancy, France, Sep 1985. Springer-Verlag, Berlin. \bibitem{Tur90a} D.~A. Turner. \newblock {\em {Miranda} system manual}. \newblock Research Software Ltd, 23 St Augustines Road, Canterbury, Kent CT1 1XP, England, Apr 1990. \bibitem{Wad90b} P.~L. Wadler. \newblock Deforestation: transforming programs to eliminate trees. \newblock {\em Theoretical Computer Science}, 73(2):231--248, 1990. \bibitem{Wei93} P.~Weis and X.~Leroy. \newblock {\em Le langage {Caml}}. \newblock Inter\'Editions, 1993. \bibitem{Wen91} E.~P. Wentworth. \newblock Code generation for a lazy functional language. \newblock Technical report 91/19, Dept. of Comp. Sci, Rhodes Univ., Dec 1991. \bibitem{Wen92} {E. P}. Wentworth. \newblock {RUFL} reference manual. \newblock Technical report 92/1, Dept. of Comp. Sci, Rhodes Univ., Jan 1992. \end{thebibliography} smlsharp-1.2.0/benchmark/benchmarks/nucleic/paper.tex0000644 000000000000000000032630412050661606023035 0ustar00rootroot0000000 0000000 \documentstyle[palatino]{./article} %UEA \documentstyle[11pt,twoside,implreport]{./article} %UEA \implreportno{13} %UEA \impltitle{Pseudoknot: a Float-Intensive Benchmark} \newlength{\zerowidth} \settowidth{\zerowidth}{0} \newcommand{\z}[0]{\hspace*{\zerowidth}} \newlength{\dotzerowidth} \settowidth{\dotzerowidth}{.0} \newcommand{\dz}[0]{\hspace*{\dotzerowidth}} \newlength{\dotzerozerowidth} \settowidth{\dotzerozerowidth}{.00} \newcommand{\dzz}[0]{\hspace*{\dotzerozerowidth}} \newcommand{\mm}[1]{\multicolumn{2}{c|}{#1}} \newcommand{\mmm}[1]{\multicolumn{3}{c|}{#1}} \newcommand{\sysbigloo}[0]{1} \newcommand{\syscaml}[0]{2} \newcommand{\syschalmers}[0]{3} \newcommand{\sysclean}[0]{4} \newcommand{\syscmucl}[0]{5} \newcommand{\syserlang}[0]{6} \newcommand{\sysfacile}[0]{20} \newcommand{\sysfast}[0]{7} \newcommand{\sysgambit}[0]{8} \newcommand{\sysglasgow}[0]{9} \newcommand{\sysid}[0]{10} \newcommand{\sysmlworks}[0]{11} \newcommand{\sysopal}[0]{12} \newcommand{\syspolyml}[0]{13} \newcommand{\syssisals}[0]{14} \newcommand{\syssisalc}[0]{15} \newcommand{\syssml}[0]{16} \newcommand{\sysstoffel}[0]{17} \newcommand{\systrafola}[0]{18} \newcommand{\sysfloat}[0]{19} \textheight 240mm \addtolength{\topmargin}{-25mm} \addtolength{\oddsidemargin}{-18mm} \addtolength{\evensidemargin}{-18mm} \addtolength{\footheight}{10mm} \textwidth 160mm \begin{document} \thispagestyle{empty} \title{Pseudoknot: a Float-Intensive Benchmark \\ for Functional Compilers (DRAFT)} \author{ Pieter H. Hartel \thanks{Dept.\ of Computer Systems, Univ.\ of Amsterdam, Kruislaan 403, 1098 SJ Amsterdam, The Netherlands, e-mail: pieter@fwi.uva.nl} \and Marc Feeley \thanks{D\'epart.\ d'informatique et r.o., univ.\ de Montr\'eal, succursale centre-ville, Montr\'eal H3C 3J7, Canada, e-mail: feeley@iro.umontreal.ca} \and Martin Alt \thanks{Informatik, Universit\"at des Saarlandes, 66041 Saarbr\"cken 11, Germany, e-mail: alt@cs.uni-sb.de} \and Lennart Augustsson \thanks{Dept.\ of Computer Systems, Chalmers Univ.\ of Technology, 412 96 G\"oteborg, Sweden, e-mail: augustss@cs.chalmers.se} \and Peter Baumann \thanks{Dept.\ of Computer Science, Univ.\ of Zurich, Winterthurerstr.\ 190, 8057 Zurich, Switzerland, e-mail: baumann@ifi.unizh.ch} \and Marcel Beemster \thanks{Dept.\ of Computer Systems, Univ.\ of Amsterdam, Kruislaan 403, 1098 SJ Amsterdam, The Netherlands, e-mail: beemster@fwi.uva.nl} \and Emmanuel Chailloux \thanks{LIENS, URA 1327 du CNRS, \'Ecole Normale Sup\'erieure, 45 rue d'Ulm, 75230 PARIS C\'edex 05, France, e-mail: Emmanuel.Chailloux@ens.fr} \and Christine H. Flood \thanks{Laboratory for Computer Science, MIT, 545 Technology Square, Cambridge Massachusetts 02139, USA, e-mail: chf@lcs.mit.edu} \and Wolfgang Grieskamp \thanks{Berlin University of Technology, Franklinstr. 28-29, 10587 Berlin, Germany, e-mail: wg@cs.tu-berlin.de} \and John H. G.\ van Groningen \thanks{Faculty of Mathematics and Computer Science, Univ.\ of Nijmegen, Toernooiveld 1, 6525 ED Nijmegen, The Netherlands, e-mail: johnvg@cs.kun.nl} \and Kevin Hammond \thanks{Dept.\ of Computing Science, Glasgow University, 17 Lilybank Gardens, Glasgow, G12 8QQ, UK, e-mail: kh@dcs.glasgow.ac.uk} \and Bogumi\l~Hausman \thanks{Computer Science Lab, Ellemtel Telecom Systems Labs, Box 1505, S-125 25 \"Alvsj\"o, Sweden, e-mail: bogdan@erix.ericsson.se} \and Melody Y. Ivory \thanks{Computer Research Group, Institute for Scientific Computer Research, Lawrence Livermore National Laboratory, P. O. Box 808 L-419, Livermore, CA 94550, e-mail: ivory1@llnl.gov} \and Peter Lee\thanks{Dept.\ of Computer Science, Carnegie Mellon University, 5000 Forbes Avenue Pittsburgh, Pennsylvania 15213, USA, e-mail: petel@cs.cmu.edu} \and Xavier Leroy \thanks{INRIA Rocquencourt, projet Cristal, B.P. 105, 78153 Le Chesnay, France. e-mail: Xavier.Leroy@inria.fr} \and Sandra Loosemore \thanks{Dept.\ of Computer Science, Yale Univ., New haven, Connecticut, e-mail: loosemore-sandra@cs.yale.edu} \and Niklas R\"ojemo \thanks{Dept.\ of Computer Systems, Chalmers Univ.\ of Technology, 412 96 G\"oteborg, Sweden, e-mail: rojemo@cs.chalmers.se} \and Manuel Serrano \thanks{INRIA Rocquencourt, projet Icsla, B.P. 105, 78153 Le Chesnay, France. e-mail: Manuel.Serrano@inria.fr} \and Jean-Pierre Talpin \thanks{European Computer-Industry Research Centre, Arabella Strasse 17, D-81925 Munich, Germany. e-mail: jp@ecrc.de} \and Jon Thackray \thanks{Harlequin Ltd, Barrington Hall, Barrington, Cambridge CB2 5RG, England, e-mail: jont@harlequin.co.uk} \and Pierre Weis \thanks{INRIA Rocquencourt, projet Cristal, B.P. 105, 78153 Le Chesnay, France. e-mail: Pierre.Weis@inria.fr} \and Peter Wentworth \thanks{Dept.\ of Computer Science, Rhodes Univ., Grahamstown 6140, South Africa, e-mail: cspw@cs.ru.ac.za} } \maketitle \sloppy \begin{abstract} Over 20 implementations of different functional languages are benchmarked using the same program, a floating-point intensive application taken from molecular biology. The principal aspects studied are compile time and execution time for the varying implementations. An important consideration is how the program can be modified and tuned to obtain maximal performance on each language implementation. With few exceptions, the compilers take a significant amount of time to compile this program, though almost all compilers were faster than the current GNU C compiler. Compilers that generate C or Lisp are often slower than those that generate native code directly; the cost of compiling the intermediate form is normally a large fraction of the total compilation time. There is no clear distinction between the runtime performance of eager and lazy implementations when appropriate annotations are used: lazy implementations have clearly come of age when it comes to implementing largely strict applications, such as the pseudoknot program. The speed of C can be approached by some implementations, and is even exceeded by Sisal on the Cray, but in order to achieve this performance, special measures such as strictness annotations are required by non-strict implementations. \end{abstract} \section{Introduction} At the Dagstuhl Workshop on Applications of Functional Programming in the Real World in May 1994~\cite{Gie94}, several interesting applications of functional languages were presented. One of these applications, the pseudoknot problem~\cite{Fee94} had been written in several languages, including C, Scheme~\cite{Ree91}, Multilisp~\cite{Hal85} and Miranda\footnote{Miranda is a trademark of Research Software Ltd.}~\cite{Tur85}. A number of workshop participants decided to test their compiler technology using this particular program. One point of comparison is the speed of compilation and the speed of the compiled program. Another important point is how the program can be modified and tuned to obtain maximal performance on each language implementation available. It is also interesting to compare the performance of typed and untyped languages. Finally, an interesting question is whether laziness is or is not beneficial for this application. The initial benchmarking efforts revealed important differences between the various compilers. The first impression was that compilation speed should generally be improved. After the workshop we have continued to work on improving both the compilation and execution speed of the pseudoknot program. Some researchers not present at Dagstuhl joined the team and we present the results as a record of a small scale, but exciting collaboration with contributions from many parts of the world. As is the case with any benchmarking work, our results should be taken with a grain of salt. We are using a realistic program that performs a useful computation, however it stresses particular language features that are probably not representative of the applications for which the language implementations were intended. Implementations invariably trade-off the performance of some programming feature for others in the quest for the right blend of usability, flexibility, and performance on ``typical'' applications. It is clear that a single benchmark is not a good way to measure the overall quality of an implementation. Moreover, the performance of an implementation usually (but not always) improves with new releases as the implementors repair bugs, add new features, and modify the compiler. We feel that our choice of benchmark can be justified by the fact that it is a real world application, that it had already been translated into C and several functional languages, and that we wanted to compare a wide range of languages and implementations. The main results agree with those found in earlier studies~\cite{Can92,Har92b}. Section~\ref{sec:languages} briefly characterises the functional languages that have been used. The pseudoknot application is introduced in Section~\ref{sec:application}. The compilers and interpreters for the functional languages are presented in Section~\ref{sec:compilers}. Section~\ref{sec:translation} describes the translations of the program from one language into the other. The results and conclusions are given in the last two sections. \begin{table} \begin{minipage}{\hsize} \begin{center} \begin{tabular}{|l|l|l|l|l|l|l|} \hline language & source & ref. & typing &evaluation & order&match \\ \hline Caml & INRIA &\cite{Wei93} & strong, poly & eager &higher&pattern \\ Clean & Nijmegen &\cite{Pla94} & strong, poly & lazy &higher&pattern \\ Common Lisp & Committee &\cite{Ste90} & dynamic & eager &higher& access \\ Erlang & Ericsson &\cite{Arm93} & dynamic & eager & first&pattern \\ Facile & ECRC &\cite{Tho93a}& strong, poly & eager &higher&pattern \\ Gofer & Yale &\cite{Jon94c}& strong, poly & lazy &higher&pattern \\ Haskell & Committee &\cite{Hud92a}& strong, poly & lazy &higher&pattern \\ ID & MIT &\cite{Nik90a}& strong, poly & eager \footnote{eager, non-strict} &higher&pattern \\ Miranda & Kent &\cite{Tur85} & strong, poly & lazy &higher&pattern \\ Opal & TU Berlin &\cite{Did94} & strong, param & eager &higher&pattern \\ RUFL & Rhodes &\cite{Wen92} & strong, poly & lazy &higher&pattern \\ Scheme & Committee &\cite{Ree91} & dynamic & eager &higher& access \\ Sisal & LLNL &\cite{McG85} & strong, mono & eager &first & none \\ Standard ML & Committee &\cite{Mil90} & strong, poly & eager &higher&pattern \\ Stoffel & Amsterdam &\cite{Bee92a}& strong, poly & lazy &higher& case \\ Trafola & Saarbr\"ucken &\cite{Alt93} & strong, poly & eager &higher&pattern \\ \hline ANSI C & Committee &\cite{Ker88} & weak & eager & first& none \\ \hline \end{tabular} \end{center} \end{minipage} \caption{Language characteristics. For each language its source is given, as well as a key reference to the language definition. The rest of the table presents important language characteristics.} \label{tbl:language} \end{table} \section{Languages} \label{sec:languages} Details of the languages which were benchmarked may be found in Table~\ref{tbl:language}. C has been used as a reference language in order to allow comparison with imperative languages. The first column of the table gives the name of the language. The second column gives the source (i.e.\ a University or a Company) if a language has been developed in one particular place. Some languages were designed by a committee, which is also shown. The third column of the table gives a key reference to the language definition. The last four columns describe some important properties of the languages. The typing discipline may be {\it strong} (and static), {\it dynamic}, or {\it weak}; a strong typing discipline may be monomorphic ({\it mono}), polymorphic ({\it poly}), or parametrically polymorphic ({\it param}). The evaluation strategy may be {\it eager}, {\it lazy} or {\it eager} with {\it non-strict} evaluation~\cite{Nik90a}. The language may be {\it first order} or {\it higher order}. Accessing components of data structures may be supported by either pattern-matching on function arguments, local definitions and/or as part of case expressions ({\em pattern}, {\em case}), by compiler generated access functions to destructure data ({\em access}), or not at all ({\em none}). The reader should consult the references provided for further details of individual languages. \section{Application} \label{sec:application} The pseudoknot program is derived from a ``real-world'' molecular biology application that computes the three-dimensional structure of part of a nucleic acid molecule. The program exhaustively searches a discrete space of shapes and returns the set of shapes that respect some structural constraint. \begin{table} \begin{center} \begin{tabular}{|l|r|l|r|} \hline \multicolumn{2}{|c}{floating point operations} & \multicolumn{2}{|c|}{square root and trigonometric functions} \\ \hline $\times$ & 3,567,672 & & \\ $+$ & 2,798,571 & $\sqrt{\;\;}$ & 69,600 \\ $>$, $\leq$, $<$ & 129,656 & $\arctan$ & 40,184 \\ $-$ & 330,058 & $\cos$ & 40,184 \\ $/$ & 40,184 & $\sin$ & 40,184 \\ \hline total & 6,866,141 & total & 190,152 \\ \hline \end{tabular} \end{center} \caption{Breakdown of the ``real'' work involved in the pseudoknot problem as counted by the FAST system. The floating point operations occurring in the trigonometric functions and the square root are {\em not} counted separately.} \label{tbl:float} \end{table} The program is heavily floating point oriented. For example the C version of the program spends 25\% of its time in the C library trigonometric and square root routines. Statistics from the lazy FAST~\cite{Har91} compiler show that with lazy evaluation the fastest version of the program does about 7~M floating point operations, which excludes those performed by the 190~K trigonometric and square root functions. A detailed breakdown of these statistics is shown in Table~\ref{tbl:float}. The program makes about 1.5~M function calls and claims about 15~Mbytes of space (The maximum heap size required is about 30~Kbytes). Statistics from the eager MLWorks system show that with eager evaluation the program spends about 50\% of its time performing floating point operations. All this suggests that the application can be characterised as somewhere in between ``numeric'' and ``symbolic''. The pseudoknot program does not explicitly depend on laziness for its correct behaviour. The program is thus ideal for comparing lazy and non-lazy implementations of functional languages. It is relatively easy to translate the program from a lazy to a strict functional language. Inserting strictness annotations in a lazy version of the program is also relatively easy. The program uses mostly algebraic data types as data structures. Some of these are rather large. Having to use pattern-matching style destructuring on data structures with as many components as 12 or even 30 leads to distinctly unreadable code. With the obvious exception of the C version, all other versions of the program are purely functional. The original program is described in detail by Feeley, et.\ al~\cite{Fee94}. The program used in the present benchmarking effort differs in two ways from the original. Firstly, the original program only computed the number of solutions found during the search. However, it is the location of each atom in the solutions that are of interest to a biologist because these solutions typically need to be screened manually by visualizing them one after another. The program was thus modified to compute the location of each atom in the structures that are found. In order to minimize I/O overhead, a single value is printed: the distance from the origin to the farthest atom in any solution (this requires that the position of each atom be computed). Secondly, the original program did not attempt to exploit laziness in any way. However, there is an opportunity for laziness in the computation of the absolute position of atoms. To compute the absolute position of an atom, it is necessary to transform a 3D vector from one coordinate system to another by multiplying a 3D vector by a $3 \times 4$ transformation matrix. The reason for this is that the position of an atom is expressed relatively to the nucleotide it is in. Thus the position of an atom is specified by two values: the 3D position of the atom in the nucleotide, and the absolute position and orientation of the nucleotide in space. However, the position of atoms in structures that are pruned by the search process are not needed (unless they are needed to test a constraint). There are thus two formulations of the pseudoknot program which differ in the way the position computation of atoms is expressed: \begin{description} \item[Late formulation] The absolute position of an atom is computed each time it is needed; either for testing a constraint or for computing the distance to origin if it is in a solution. This formulation may duplicate work. Because the placement of a nucleotide is shared by all the structures generated in the subtree that stems from that point in the search, there can be as many recomputations of a position as there are nodes in the search tree (which can number in the thousands to millions). \item[Early formulation] The absolute position of an atom is computed as soon as the nucleotide it is in is placed. If this computation is done lazily, this formulation avoids the duplication of work because the coordinate transformation for an atom is at most done once. \end{description} The original program used the late formulation. To explore the benefits of laziness, the program was modified so that it is easy to obtain the alternative early formulation (only a few lines need to be commented and uncommented to switch from one formulation to the other). The C, Scheme, and Miranda versions of the program support the early formulation. The Miranda version implicitly uses lazy evaluation. The Scheme version uses the explicitly lazy {\em delay} and {\em force} constructs. The C version requires lazy computation to be explicitly programmed. \begin{table} \begin{center} \begin{tabular}{|l|l|l|l|l|} \hline language &version&source & ref. & FTP / Email \\ \hline Bigloo & 1.7 &INRIA Rocquencourt &\cite{Ser94a}& Ftp: {\small ftp.inria.fr:} \\ & & & & {\small /INRIA/Projects/icsla/Implementations/} \\ Caml Light & 0.61 &INRIA Rocquencourt &\cite{Ler93} & Ftp: {\small ftp.inria.fr:} \\ & & & & {\small /lang/caml-light/} \\ Caml Gallium & &INRIA Rocquencourt &\cite{Ler92} & Email: {\small Xavier.Leroy@inria.fr} \\ Camloo & 0.2 &INRIA Rocquencourt &\cite{Ser94b}& Ftp: {\small ftp.inria.fr:} \\ & & & & {\small /lang/caml-light/} \\ CeML & 0.22 & LIENS &\cite{Cha92a}& Email: {\small Emmanuel.Chailloux@ens.fr} \\ Clean & 1.0b &Nijmegen &\cite{Sme91} & Ftp: {\small ftp.cs.kun.nl:} \\ & & & & {\small /pub/Clean/} \\ CMU CL & 17e &Carnegie Mellon &\cite{Mac92} & Ftp: {\small lisp-sun1.slisp.cs.cmu.edu:} \\ & & & & {\small /pub/} \\ Erlang & 6.0.4 &Ellemtel AB &\cite{Hau94} & commercial \\ & & & & Email: {\small erlang@erix.ericsson.se} \\ Facile & Antigua & ECRC &\cite{Tho93a}& Email: {\small facile@ecrc.de} \\ FAST & 33 &Southampton/ &\cite{Har91} & Email: {\small pieter@fwi.uva.nl} \\ & &Amsterdam & & \\ Gofer & 2.30a &Yale &\cite{Jon94c}& Ftp: {\small nebula.cs.yale.edu:} \\ & & & & {\small /pub/haskell/gofer/} \\ Haskell & 999.6 &Chalmers &\cite{Aug93c}& Ftp: {\small ftp.cs.chalmers.se:} \\ & & & & {\small /pub/haskell/chalmers/} \\ Haskell & 0.22 &Glasgow &\cite{Pey93c}& Ftp: {\small ftp.dcs.glasgow.ac.uk:} \\ & & & & {\small /pub/haskell/glasgow/} \\ Haskell & 2.1 &Yale &\cite{Yal94} & Ftp: {\small nebula.cs.yale.edu:} \\ & & & & {\small /pub/haskell/yale/} \\ ID &TL0 2.1&MIT/Berkeley &\cite{Nik90a}& Email: {\small chf@lcs.mit.edu} \\ MLWorks & n.a. &Harlequin Ltd. &\cite{Har94x}& commercial \\ Miranda & 2.018 &Research Software Ltd.&\cite{Tur90a}& commercial \\ & & & & Email: {\small mira-request@ukc.ac.uk} \\ Nearly Haskell & Pre rel. &Chalmers &\cite{Roj94} & Ftp: {\small ftp.cs.chalmers.se:} \\ & & & & {\small /pub/haskell/nhc/} \\ Opal & 2.1c &Berlin &\cite{Sch91} & Ftp: {\small ftp.cs.tu-berlin.de:} \\ & & & & {\small /pub/local/uebb/ocs} \\ RUFL & 1.8.4 &Rhodes &\cite{Wen91} & Ftp: {\small cs.ru.ac.za:} \\ & & & & {\small /pub/rufl/} \\ Gambit Scheme& 2.2 &Montr\'eal &\cite{Fee90} & Ftp: {\small ftp.iro.umontreal.ca:} \\ & & & & {\small /pub/parallele/gambit/} \\ Sisal &12.9.2 &LLNL &\cite{Can92c}& Ftp: {\small sisal.llnl.gov} \\ & & & & {\small /pub/sisal} \\ SML/NJ & 1.03z &AT\&T Bell Labs. &\cite{App92} & Ftp: {\small research.att.com:} \\ & & & & {\small /dist/ml/} \\ Poly/ML & 2.05M &Abstract Hardware Ltd.&\cite{Fin92a}& commercial \\ Stoffel & & Amsterdam &\cite{Bee93} & Email: {\small beemster@fwi.uva.nl} \\ Trafola & 1.2 & Saarbr\"ucken &\cite{Alt93} & Email: {\small alt@cs.uni-sb.de} \\ \hline \end{tabular} \end{center} \caption{Compiler details consisting of the name of the compiler and/or language, the University or Company that built the compiler, one key reference to the description of the implementation and the address from which the compiler can be obtained.} \label{tbl:compiler} \end{table} \section{Compilers} \label{sec:compilers} An overview of the compilers which were studied may be found in Table~\ref{tbl:compiler}. The first column gives the name of the language and/or compiler, the second shows the source of the compiler. A key reference that describes the compiler is given in the third column. The last column gives instructions for obtaining the compiler by FTP or email. \begin{table} \begin{center} \begin{tabular}{|l|l*{3}{|r@{\,}r@{\,}r}|} \hline C compiler & version & \mmm{compilation} & \mmm{execution} & \mmm{compilation} \\ & & \mmm{complete} & \mmm{complete} & \mmm{stripped} \\ \hline cc --O & SunOS 4.1.2 & 325\dzz &+& 26\dzz & 3.35 &+& 0.23 & 12.9 &+& 2.4 \\ gcc --O & 2.5.8 & 910\dzz &+& 96\dzz & 2.70 &+& 0.19 & 13.4 &+& 2.3 \\ \hline ratio & & 0.35 &+& 0.26 & 1.23 &+& 1.15 & \mmm{$\approx 1+1$} \\ \hline \end{tabular} \end{center} \caption{The compilation and execution times (user+system seconds) of the C version of the pseudoknot program with the two most commonly used C compilers.} \label{tbl:c_gcc} \end{table} Most of the experiments were performed on Sun SPARC workstations. The basis of the experiments is formed by the performance of the C compiler. We have used either Sun's bundled C compiler cc or the GNU C compiler gcc. The gcc compiler generates slightly faster code for the pseudoknot program, but it takes about three times as long to compile. Table~\ref{tbl:c_gcc} gives the detailed results as measured on machine~\sysfast~(c.f. Table~\ref{tbl:machine}) using gcc version 2.5.8. These results indicate that the C version of the pseudoknot program is difficult to compile, even for a C compiler. This is due to the presence of four large routines (consisting of 574, 552, 585 and 541 lines of code, respectively) which together build the conformation data base of the nucleotides. Stripping the body of these four functions to be empty (which still leaves a program of 1073 lines of C code) reduces the compilation time to about 13 seconds, for cc as well as gcc. All the functional versions of the program have the same structure as the C version, so the functional compilers are faced with the same difficulty of compiling the code that builds the conformation data base. An interesting difference between cc and gcc is that over 75\% of the compilation time for cc is spent in the assembler, whereas gcc spends 99\% of its time in the main compiler pass (\verb=cc1=). Table~\ref{tbl:option} shows some properties of the compilers and experiments that have an effect on the runtime performance of the implementations. In addition to the compile and runtime options (columns~2 and~3), the fourth column shows the type of garbage collector used, and the fifth column shows what floating point precision is used. The floating point precision is important to take into account when comparing results for two reasons. Firstly, using single precision floating point numbers makes it easier to generate fast code. Secondly, some architectures implement single precision floating point arithmetic significantly faster than double precision (DEC Alpha). However, on the SPARC that has been used for the majority of the experiments reported here there is only a small difference between the speed of single and double precision arithmetic. \begin{table} \begin{minipage}{\hsize} \begin{center} \begin{tabular}{|l|l|l|l|l|} \hline compiler & compiler options& execution options & collector& float\\ \hline Bigloo & --unsafe --O4 & & mark-scan& double \\ Caml Light & & & gen. & double \\ Caml Gallium & & & gen. & double \\ Camloo & --unsafe --O4 & & mark-scan& double \\ CeML & --O & & 1-space & single \\ Chalmers & --c --Y--S --H50Mg --Y--A500k --cpp & & 2-space & single \\ Clean & & --nt --s 10k --h ... & 2-sp/ms & double \\ CMU & see text & see text & 2-space & single \\ Erlang BEAM & --fast & --h 600000 & 2-space & double \\ Facile & & & gen. & double \\ FAST & --fcg & --v 1 --h ... --s 400K 1 & 2-space & single \\ Gambit & --h14336 & --h14336 & 2-space & double \\ Glasgow & --O --fvia--C --O2--for--C & +RTS --H1M&gen.~\cite{San93}& single \\ Gofer & --DTIMER & & 2-space & single \\ ID & strict, merge--partitions (tlc: opt) & & none & double \\ MLWorks & no details available\footnote{MLWorks is not yet available. Compilation was for maximum optimisation, no debugging or statistics collection was taking place at runtime.} & & 2-space & double \\ Miranda & & /heap ...; /count & mark-scan& double \\ NHC(HBC) & --H30M & & 2-space & single \\ NHC(NHC) & --h2M & & 1-space & single \\ Opal & opt=full debug=no & & refcount & single \\ Poly/ML & --h 48000 & --h 48000 & gen. & single \\ RUFL & --w & --m300 & mark-scan& double \\ RUFLI & --iw & --m300 --r32000 & mark-scan& double \\ Sisal & --cpp --seq --O --c atan2 --cc=--O & & refcount & double \\ SML/NJ & & & gen. & double \\ Stoffel & --O2 (for C) & & 2-space & double \\ Trafola & --TC --INLINE 1 & --HE 8000000 & 1-space & sgl/dbl\\ Yale & see text & see text & 2-space & single \\ \hline \end{tabular} \end{center} \end{minipage} \caption{Compiler and execution options. The type of garbage collector is one of 2-space (non-generational 2-space copying collector); mark-scan; gen. (generational with two or more spaces); 1-space (mark-scan, one space compactor); or reference counting. Floating point arithmetic used is either single or double precision.} \label{tbl:option} \end{table} \section{Translation, annotations and optimisations} \label{sec:translation} The pseudoknot program was translated by hand from the Scheme version to the various other languages. All versions were hand tuned to exhibit the best performance available with the compiler being used. The following set of guide lines has been used to make the comparison as fair as possible: \begin{enumerate} \item Algorithmic changes are forbidden but slight modifications to the code to better use a particular feature of the language or programming system are allowed. A modification that would be valid for all languages involved is not permitted. \item Only small changes to the data structures are permitted (e.g.\ a tuple may be turned into an array or a list). \item Annotations are permitted, for example strictness annotations, or annotations for inlining and specialisation of code. \item All changes and annotations should be documented. \item Anyone should be able to repeat the experiments. So all sources and measurement procedures should be made public (by \verb=ftp= somewhere). \item All programs must produce the same output (the number 33.7976 to 6 significant figures). \end{enumerate} The optimisations and annotations made to obtain best performance with each of the compilers are discussed in the subsections to follow. Often we will make reference to particular parts of the program text. As the program is relatively large it would be difficult to reproduce it in full here, and in many versions. The reader is invited to consult the archive that contains most of the versions of the program at \verb=ftp.fwi.uva.nl=, file \verb=/pub/functional/pseudoknot.tar.Z=. \subsection{Bigloo} The Scheme version of the pseudoknot benchmark was changed only slightly to serve as input to the Bigloo optimising Scheme compiler. This compiler translates to C, as do many other compilers. In the C code it produces, the many vectors of floating point constants present in the conformation data base are not represented as ordinary C constants but as a large string. This enables the C compiler to compile the generated C much more quickly. During initialisation at runtime the string representation is transformed into the required numeric data. \subsection{Caml} Three compilers for the Caml dialect of ML have been benchmarked: Caml Light, a simple bytecode compiler; Camloo, a Caml to C compiler derived from the Bigloo optimizing Scheme compiler; and Gallium, an experimental native-code compiler. The source code is a straightforward translation to Caml of the SML version of the benchmark. The only changes made to increase performance was the use of an array instead of a list in the functions \verb|list_of_atoms| and \verb|most_distant_atoms|. For the Gallium compiler only, some tuples have been converted into records to guide the data representation heuristics; this transformation makes no difference for the other two compilers. The Caml Gallium compiler uses unboxed double precision float in monomorphic parts of the source code. Since the pseudoknot benchmark does not use polymorphism, all floats are unboxed at all times. This is the main reason why the Gallium compiler generates faster code than most of the other compilers. \subsection{CeML} CeML is another dialect of Caml. The purpose of the development of CeML and its compiler is to prove that ML can be compiled into efficient C. CeML does not tag immediate values and uses a garbage collector with ambiguous roots which manages its own stack. This is important for the pseudoknot program because the floats are represented as a full word (32 bits). The CeML source of the pseudoknot program differs only in one aspect from the Camloo source. To avoid rebuilding the tuple \verb=(i,t,n)= the definition of \verb=get_var= was changed from: \begin{verbatim} > fun get_var id ((i,t,n)::lst) = if id = i then (i,t,n) > else get_var id lst \end{verbatim} to: \begin{verbatim} > fun get_var id (((i,_,_) as v)::lst) = if id = i then v > else get_var id lst \end{verbatim} The total compilation time consist mainly of the gcc optimized compilation (--O2) time, particularly to build the data base. If the program is sliced into different modules and the module corresponding to the data base is not compiled with the --O2 option, the total compilation time is about ten minutes and the execution time does not change. \subsection{CLEAN} The syntax of the Clean 1.0 programming language is similar to the syntax of Haskell and Miranda. Porting the Miranda program to Clean 1.0 was easy. The guards were changed to Haskell syntax, the first character of each type name was changed to upper case, and the names of a few functions were changed. Some patterns on the right hand side of function definitions were moved to the left hand side or replaced by case expressions. This was necessary, because the current compiler cannot yet handle all patterns on the right hand side, only tuple and record patterns are currently allowed there. For example: \begin{verbatim} > anticodon_constraint v partial_inst > | i==33 = ... > where Var i t n = v \end{verbatim} was replaced by: \begin{verbatim} > anticodon_constraint v=:(Var i t n) partial_inst > | i==33 = ... > where \end{verbatim} To achieve good performance the following five changes have been made. The basic floating point operations and some constants were inlined. The components of the main algebraic data types \verb=Pt= and \verb=Tfo= and the integer component of \verb=Var= were annotated as strict. The function \verb=absolute_pos= was inlined in the function \verb=atom_pos=. If a node on the right hand side of a definition occurred in the pattern, the code was changed to prevent rebuilding the node, for example: \begin{verbatim} > atom_pos atom (Var i t n) = absolute_pos (Var i t n) (atom n) \end{verbatim} was changed to: \begin{verbatim} > atom_pos atom v=:(Var i t n) = absolute_pos v (atom n) \end{verbatim} Finally, in the function \verb=pseudoknot_domains= the values of \verb=rA=, \verb=rC=, \verb=rG=, \verb=rU= and \verb=rCs= were assigned to local functions as: \verb|ra=rA| etc. The local functions were used throughout the body of \verb=pseudoknot_domains=. This is necessary because the current compiler does not yet support constant applicative forms (CAFs)~\cite{Pey87}. \subsection{Chalmers Haskell} \label{sec:hbc} The Haskell version of the pseudoknot program is a straightforward translation of the Miranda version. The latter often destructs and reconstructs a data item. In the Haskell version care has been taken to introduce ``as'' patterns thus: \begin{verbatim} > atom_pos atom v@(Var i t n) = absolute_pos v (atom n) \end{verbatim} It proved necessary to split the program into a number of modules, as the program as a whole could not be compiled (see Section~\ref{sec:NHC}). Splitting the program into modules was straightforward since each of the four functions that initialise the conformation data base can be separated into its own large module of about 600 lines. The global data structure definitions are placed in their own module which is imported by each worker module, and the main program imports all of these modules. The Chalmers Haskell compiler (HBC) provides a compiler option (--DSTR) to annotate all data structures as strict. The late formulation of the pseudoknot program runs about twice as fast with this option selected. \subsection{Erlang} Erlang is a concurrent functional programming language designed for prototyping and implementing reliable real-time systems~\cite{Arm93}. The Erlang BEAM compiler~\cite{Hau94} is an efficient and portable implementation of Erlang where Erlang programs are compiled into C. However, Erlang is a concurrent language and has explicit syntax for referring to time (time-outs). The implementation therefore has to provide a scheduling mechanism and a notion of time which introduces constant overhead to the Erlang BEAM execution. Porting the benchmark from Miranda to Erlang required some minor changes. Since Erlang is not a higher order language some function calls were done by applying \verb=p_apply/N=, for example \verb=reference/3= is called as: \begin{verbatim} > p_apply(reference,Arg1,Arg2,Arg3) -> reference(Arg1,Arg2,Arg3). \end{verbatim} when all arguments are known. Another problem is typing. Some limited typing can be done in Erlang using guard tests. For example, the following Erlang function types its arguments as floats: \begin{verbatim} > pt_sub({X1,Y1,Z1},{X2,Y2,Z2}) > when float(X1),float(Y1),float(Z1), > float(X2),float(Y2),float(Z2) -> > {X1-X2,Y1-Y2,Z1-Z2}. \end{verbatim} The type information obtained from guards and extended by compile-time type analysis is used by the Erlang BEAM compiler to optimize different arithmetic operations. Since Erlang BEAM compiles Erlang programs into C, the Erlang BEAM compilation time presented in Table~\ref{tbl:compilation} includes the costs both of compiling Erlang to C and of calling gcc (version 2.5.8) to compile the generated C program. The total compilation time consists mainly of the gcc compilation time (4751 + 20 seconds). The gcc compiler was run with the -O2 option which increases compilation time but a better performance of the generated code was considered more important than the compilation time. The best execution time was achieved by extending the available heap space to minimize the garbage collection time, and by inlining floating point operations after compile-time type analysis. Erlang BEAM provides double precision floating point arithmetic. All floating point numbers are stored as boxed objects in the heap. Integers are 32 bits objects, which may be stored directly on stack. The relatively poor performance of the Erlang BEAM compiler (reported in Table~\ref{tbl:execution}) is due to the fact that the pseudoknot benchmark is float-intensive and thus tests mainly the implementation of floating point arithmetic. As shown later in Section~\ref{sec:OPAL}, having single precision floating point arithmetic and using an unboxed representation of floating point data may improve the execution time by a factor of 4. In the Erlang BEAM compiler giving up the double precision floating point arithmetic would similarly improve both access and garbage collection time by storing single-float objects directly on stack instead of heap. To support the above claim we did the following simple experiment. We ran the two functions \verb=tfo_apply/2= and \verb=tfo_combine/2=, which are very floating-point intensive, using first integers and then (double precision) floats as input data. The experiment was carried out on machine~\sysfloat from Table~\ref{tbl:machine}. The results showed that using integers instead of floats improved the Erlang BEAM execution time of those two functions by a factor of 6. To be sure that the improvement comes from better data representation and not from better integer arithmetic provided by the hardware, a simple C program was written to compare the speed of floating-point and integer arithmetic. The results showed that the floating-point arithmetic was as efficient as the integer arithmetic. Since single precision floats can be represented in Erlang BEAM in the same way as integers we can expect that giving up the double precision floating point arithmetic would improve the pseudoknot execution time to a large extent. \subsection{Facile} Facile is a high-level, higher-order programming language for systems that require a combination of complex data manipulation and concurrent and distributed computing. It combines Standard ML (SML), with a model of higher-order concurrent processes based on CCS. Facile is well-suited for running on loosely connected, physically distributed systems with distributed memory. It is possible to execute Facile programs on both local area networks (LANs) and wide area networks (WANs). The basic computational model of Facile consists of one or more nodes or virtual processors, on each of which there are zero or more processes (light weight threads). Processes execute by evaluating expressions, and they can communicate values between each other by synchronising over typed channels. All types of values, including user defined types, channels, functions and process scripts, are transmissible. % Facile enriches Standard ML with primitives for distribution, % concurrency and communication over typed channels. The additional data % types provided in the language include node identifiers, process % scripts and communication channels. All of these are first-class values % that can be manipulated in an applicative style and, in particular, be % communicated. New nodes and channels can be created dynamically and % processes executing a given script can be spawned dynamically on a % given node. Special care has been given to developing the formal % foundations of the Facile model. The basic philosophy of the Facile % project has been to develop a language comprising a basic set of % primitive constructs that are intuitive for programming, have a clear % semantic formalisation and have a quite efficient implementation. These % primitives are powerful enough for defining a variety of abstractions % commonly employed in concurrent and distributed computing. The pseudoknot benchmark does not use the distributed capabilities of the Facile system. Yet it is interesting to see that the cost of starting up a sequential program in the Facile system is small (26 milli seconds on machine~\sysfacile (c.f. Table~\ref{tbl:machine}). \begin{table} \begin{center} \begin{tabular}{|l|r@{\,}r@{\,}r|r@{\,}r@{\,}r|} \hline version & \mmm{unoptimised} &\mmm{optimised} \\ \hline curried & 8.48 &+& 0.51 & 8.38 &+& 0.51 \\ uncurried & 8.03 &+& 0.50 & 7.66 &+& 0.49 \\ \hline \end{tabular} \end{center} \caption{Four versions of the pseudoknot program executed with the Facile Antigua system, showing execution times (user+system seconds).} \label{tbl:facile} \end{table} We did several experiments with the Pseudoknot benchmark program. The results are shown in Table~\ref{tbl:facile}. Firstly, the Standard ML version of the pseudoknot program was run unoptimised and unmodified (i.e.\ with curried function definitions). Secondly, the execution time was found to be unaffected by the following compiler optimisations: loop unrolling, scope localisation of free variables, hoisting, contraction, common subexpression elimination, range analysis, and inlining. Thirdly, uncurrying function definitions made the program slightly faster, and fourthly, provided more scope for the compiler optimisations. The Facile compiler is essentially based on the SML/NJ, version 0.93. In Section~\ref{sec:SML} we describe experiments with a more recent release of the SML/NJ compiler, which is about twice as fast for the pseudoknot benchmark. \subsection{FAST} \label{sec:FAST} The FAST compiler input language is a subset of Miranda; the port from Miranda to this subset is trivial. Three changes have been made to achieve best performance. Firstly, all components of the main algebraic data types (\verb=pt=, \verb=tfo= and \verb=var=) in the program were annotated as strict. Secondly, the basic definitions of floating point operations such as \verb|fadd = (+)| and \verb|fsin = sin| were inlined. Finally, one construct that the FAST compiler should be able to deal with, but which it cannot at present handle has been changed. Functions such as: \begin{verbatim} > atom_pos atom (Var i t n) = absolute_pos (Var i t n) (atom n) \end{verbatim} were replaced by: \begin{verbatim} > atom_pos atom v = absolute_pos v (atom (var2nuc v)) > var2nuc (Var i t n) = n \end{verbatim} \begin{table} \begin{center} \begin{tabular}{|l|r@{\,}r@{\,}r|l|r@{\,}r@{\,}r|l|} \hline strictness & \multicolumn{4}{c|}{late} & \multicolumn{4}{c|}{early} \\ annotations& \mmm{seconds} & Mbytes & \mmm{seconds} & Mbytes \\ \hline without & 31.8 &+& 0.7 & 89.5 & 30.1 &+& 4.9 & 94.1 \\ with & 11.0 &+& 0.5 & 15.5 & 12.1 &+& 1.2 & 35.3 \\ \hline \end{tabular} \end{center} \caption{Four versions of the pseudoknot program executed with the (lazy) FAST system, showing execution times (user+system seconds) and heap allocation (Mbytes).} \label{tbl:fast} \end{table} To explore the possible advantage of laziness, a number of different versions of the pseudoknot program have been compiled, executed and analysed using the FAST system. Table~\ref{tbl:fast} shows the total execution time (user+system seconds) and the total amount of heap space (Mbytes) consumed by four different versions of the program. Both the late and early formulations of the program were tested with and without strictness annotations. The strictness annotations declare the three primary data types (\verb=pt=, \verb=tfo= and \verb=var=) of the program strict. Strictness annotations have a profound effect on the performance of the pseudoknot program. The user time of the late formulation is reduced by a factor of 2.9 and the user time of the early formulation is reduced by a factor of 2.5. These improvements are due to the reduction in heap allocation. A less profound effect is caused by the laziness of the program. There are two differences between the early and late formulations of the pseudoknot program: the early formulation does fewer computations but it allocates more heap space. Regardless of whether strictness annotations are used or not, the number of floating point multiplications made by the early formulation is 19\% less and the number of floating point additions is 14\% less. Without strictness annotations the early formulation allocates 5\% more heap space than the late formulation. The combined effect of allocating a little more space, but doing less work makes the early formulation 9\% faster than the late formulation. With strictness annotations the early formulation allocates 44\% more space than the late formulation. This time the reduction in heap space more than cancels the savings in floating point operations. Now the late formulation is 10\% faster than the early formulation. \subsection{Gambit} Gambit is an R4RS Scheme conformant optimizing compiler which supports the whole numeric tower (complex, real, rational, and integer). Measurements could not be done on the SPARC because currently the only fully complete code generator is for M680x0 processors. Since the original program had been developed with Gambit the source code was not modified in any way from the distributed source code (\cite{Fee94} gives the details of the development process and an analysis of the program when compiled with Gambit). Both the late and early formulations were tested. Table~\ref{tbl:gambit} shows the total execution time for the program when compiled by Gambit 2.2 and gcc 2.0 on machine~\sysgambit~(c.f. Table~\ref{tbl:machine}). On this benchmark, the code generated by Gambit executes at about 37\% the speed of C. This slowdown is due in a large part to the fact that Gambit boxes all floating point numbers. To better evaluate this cost, the two most numerically intensive functions (\verb=tfo_combine= and \verb=tfo_apply=) were hand coded in assembler to avoid the boxing of intermediate floating point values; the input and result of the functions were still boxed. The execution time of the late formulation went down by a substantial 34\% to 11.4 seconds, that is 55.6\% the speed of C. Since the two functions are relatively small and have a trivial data flow and control flow, a simple ``local'' type analysis would probably be sufficient for the compiler to generate much better code for this benchmark. \begin{table} \begin{center} \begin{tabular}{|l|l|l|} \hline Compiler & late & early \\ \hline Gambit 2.2 & 17.30+0.22 & 25.90+0.35 \\ gcc 2.0 & 6.34+0.12 & 9.75+0.15 \\ \hline \end{tabular} \end{center} \caption{Execution times (user+system seconds) for both formulations of the pseudoknot program when compiled with Gambit and gcc 2.0.} \label{tbl:gambit} \end{table} For both Gambit and gcc, the early formulation is roughly 50\% slower than the late formulation. Thus, for the pseudoknot data set, the cost of lazy computation in the early formulation is larger than the saving in computation it provides. It is conceivable however that the early formulation can surpass the late formulation if the program is run with a data set which generates few solutions compared to the number of shapes searched. In such a case, a small proportion of the atom positions will have to be computed. \subsection{Glasgow Haskell} \label{sec:ghc} The Glasgow compiler is a highly-optimising Haskell compiler, with elaborate performance monitoring tools. The pseudoknot program was subjected to much optimisation on the basis of results from these tools. The late formulation of the program (identical to the Chalmers Haskell program described in Section~\ref{sec:hbc}) ran in 10.2 seconds on machine~\sysglasgow~(c.f. Table~\ref{tbl:machine}). Based on the raw time profiling information from this program (Table~\ref{tbl:glasgow-profile}-a), it is obvious that a few functions account for a significant percentage of the time used, and over 80\% of the total space usage. Three of the top four functions by time (\verb=tfo_combine=, \verb=tfo_apply= and \verb=tfo_align=) manipulate \verb=TFO=s and \verb=Pt=s, and the remainder are heavy users of the \verb=Var= structure. Since these functions can be safely made strict, they are prime candidates for the use of unboxed types \cite{Pey91b}; types whose values can be represented literally rather than by pointers to nodes in the heap. Unboxing is desirable when possible both because execution is faster and because a program's space requirements can generally be reduced. \begin{table} \begin{center} \begin{tabular}{lr} \begin{tabular}{|l|l|l|} \hline {\bf Cost Centre} & \%time & \%alloc \\ \hline tfo\_combine & 18.0 & 4.7 \\ tfo\_apply & 15.9 & 0.0 \\ p\_o3' & 8.3 & 25.5 \\ tfo\_align & 6.2 & 1.9 \\ dgf\_base & 5.9 & 21.6 \\ get\_var & 5.9 & 0.0 \\ absolute\_pos & 4.7 & 24.1 \\ ... & ... & ... \\ \hline \multicolumn{3}{l}{(a) Original profile (by time)} \end{tabular} & \begin{tabular}{|l|l|l|} \hline {\bf Cost Centre} & \%time & \%alloc \\ \hline get\_var & 11.1 & 0.0 \\ tfo\_combine & 10.5 & 26.5 \\ p\_o3' & 8.5 & 13.0 \\ pseudoknot\_constraint & 7.8 & 9.9 \\ search & 7.8 & 2.6 \\ tfo\_align & 5.2 & 5.6 \\ pt\_phi & 5.2 & 0.0 \\ tfo\_apply & 5.2 & 0.0 \\ ... & ... & ... \\ \hline \multicolumn{3}{l}{(c) Maximum map (by time)} \end{tabular} \\ \begin{tabular}{|l|l|l|} \hline {\bf Cost Centre} & \%time & \%alloc \\ \hline tfo\_apply & 11.1 & 0.0 \\ tfo\_combine & 10.5 & 23.2 \\ search & 9.9 & 2.3 \\ pseudoknot\_constraint & 8.2 & 8.7 \\ get\_var & 7.0 & 0.0 \\ var\_most\_distant& 6.4 & 8.7 \\ tfo\_align & 5.8 & 4.9 \\ ... & ... & ... \\ \hline \multicolumn{3}{l}{(b) Strict types (by time)} \end{tabular} & \begin{tabular}{|l|l|l|} \hline {\bf Cost Centre} & \%time & \%alloc \\ \hline tfo\_combine & 9.7 & 26.5 \\ p\_o3' & 7.7 & 13.0 \\ pseudoknot\_constraint & 4.6 & 9.9 \\ mk\_var & 2.0 & 6.6 \\ tfo\_align & 10.2 & 5.6 \\ tfo\_inv\_ortho & 2.6 & 5.6 \\ ... & ... & ... \\ \hline \multicolumn{3}{l}{(d) Maximum map (by allocation)} \end{tabular} \end{tabular} \end{center} \caption{Time and allocation profile by function, as a percentage of total time/heap allocations.} \label{tbl:glasgow-profile} \end{table} Unboxing these data structures semi-automatically, and strictifying the lazy pattern match in the definition of \verb=var_most_distant_atom= gives a significant performance improvement, of roughly a factor of 3. This is similar to the improvements which are possible by simply annotating the relevant data structures to make them strict. However, further unboxing optimisations are possible if the three uses of the function composition \verb=maximum . map= are replaced by a new function \verb=maximum_map= as shown below. This function maps a function whose result is a floating-point number over a list of arguments, and selects the maximum result. It is not possible to map a function directly over a list of unboxed values using the normal Prelude \verb=map= function, because unboxed values cannot be passed to polymorphic functions. \begin{verbatim} > maximum_map :: (a->Float#) -> [a]->Float# > maximum_map f (h:t) = > max f t (f h) > where max f (x:xs) m = max f xs (let fx = f x in > if fx `gtFloat#` m then fx else m) > max f [] m = m > max :: (a->Float#) -> [a] -> Float# -> Float# \end{verbatim} This optimisation is suggested indirectly by the time profile (Table~\ref{tbl:glasgow-profile}-b) which shows that the top function by time is \verb=tfo_apply=. This is called through \verb=absolute_pos= within \verb=most_distant_atom=. It seems likely that the three nested calls to produce the maximum value of a function over a list of values can be merged to hold the current maximum in a register (an extreme form of deforestation \cite{Wad90b}). This optimisation reduces the total execution time to 1.8 seconds user time. The final time profile (Table~\ref{tbl:glasgow-profile}-c) shows \verb=get_var= and \verb=p_o3'= jointly using 20\% of the Haskell execution time with \verb=tfo_combine=, \verb=tfo_align= and \verb=tfo_apply= accounting for a further 20\%. (The minor differences in percentage time for \verb=tfo_combine= in Tables~\ref{tbl:glasgow-profile}-c and \ref{tbl:glasgow-profile}-d are probably explained by sampling error over such a short run.) While the first two functions could be optimised to use a non-list data structure, it is not easy to optimise the latter functions any further. Since the total execution time is now close to that for C, with a large fraction of the total remaining time being spent in the Unix mathematical library, and since the allocation profile (Table~\ref{tbl:glasgow-profile}-d) also suggests that there are no space gains which can be obtained easily, it was decided not to attempt further optimisations. The Glasgow Haskell overall time and space results are summarised in Table~\ref{tbl:glasgow-haskell-times}. The heap usage is the total number of bytes allocated in each case, with the maximum live data residency after a major garbage collection shown in parentheses. As with Erlang and other C-based compilers, much of the compilation time is spent in the C compiler. A native code generator is available, and is faster, but this does not allow all the optimisations which were attempted. It is planned to incorporate an automatic generalised version of the deforesting optimisation, the foldr/build transformation~\cite{Gil94}, into the Glasgow Haskell compiler in due course. \begin{table} \begin{center} \begin{tabular}{|l|r@{\,}r@{\,}r|r|l|r@{\,}r@{\,}r|r|l|} \hline Version & \multicolumn{5}{c|}{late} & \multicolumn{5}{c|}{early} \\ & \mmm{seconds} & Mbytes& (Residency) & \mmm{seconds} & Mbytes & (Residency) \\ \hline Original & 10.0 &+& 0.2 & 36.8 & (55K) & 11.0 &+& 0.3 & 57.6 & (419K) \\ Strict Types & 3.5 &+& 0.3 & 10.1 & (53K) & 3.4 &+& 0.2 & 30.6 & (215K) \\ Maximum Map & 1.8 &+& 0.1 & 7.6 & (46K) & 2.9 &+& 0.1 & 29.3 & (215K) \\ \hline \end{tabular} \end{center} \caption{Time and Heap Usage of three pseudoknot variants compiled for machine~\sysglasgow~by the Glasgow Haskell compiler.} \label{tbl:glasgow-haskell-times} \end{table} \subsection{Gofer} The Gofer version of the program was derived very quickly from the Miranda version supplied. The only significant changes were needed to accommodate the different notations for infix operators and comments. The Gofer primitive \verb=atan2= function was used in place of the \verb=math_atan2= function in the Miranda code. Using \verb=math_atan2= instead of the primitive \verb=atan2= adds only 4\% to the total execution time. Gofer does not use any significant optimizations, nor does it provide a mechanism for annotating data type or function definitions to indicate, for example, strictness properties. No attempts were made to try to optimize the program to run faster or more efficiently in Gofer. \subsection{ID} ID is an eager, non-strict, mostly functional, implicitly parallel language. Only the purely functional subset of ID was used in this benchmark. The compiler used in this study was developed jointly between MIT and Berkeley. This first part of the compiler generates dataflow graphs from ID source code. The Berkeley back end compiles these dataflow graphs into Tl0 which is an abstract multi-threaded machine~\cite{Gol94}. Then Tl0 is compiled into C. All of the other ID compilers are targeted to dataflow machines. The Berkeley back end creates separate files for each ID function, which contributes to the long compile time for ID. The port of the pseudoknot benchmark from Haskell to ID was trivial. To improve the performance four changes were made. A number of the lists were changed to arrays; the recursive functions \verb=get_var= and \verb=search= were changed to be iterative using ID while loops; the local function \verb=generate= within \verb=p_03'= was replaced by an ID array comprehension; deforestation was applied (by hand) to the function composition \verb=maximum . map=, as with the Glasgow compiler (Section~\ref{sec:ghc}). These changes cut the execution time roughly in half. They also reduced the space required for execution. There is associated overhead with compiling for parallel machines that we pay even on sequential machines. We compiled with --O2 and linked all of the executables using --static to improve performance. \subsection{MLWorks} The initial SML version of the pseudoknot program is not quite Standard ML. It contains use of a pervasive list length function, and an overloaded print function, neither of which are part of the pervasive environment provided by the language. These problems were corrected. A list length function was provided in the obvious manner (i.e.\ tail recursive accumulating). The uses of the overloaded print function (two of) were replaced by calls to the relevant functions (output for the string and an MLWorks real printing function for the real). An initial profile of the run of this program suggests that slightly over 50\% of the run time is taken up in three functions, \verb=tfo_combine=, \verb=tfo_align= and \verb=tfo_apply=. These do little more than floating point arithmetic and trigonometric functions, which means that half the time, little more than the floating point capability of the implementations is being tested. Some of that is functionality provided by a runtime library implemented through \verb=libc=. ML is a strict language. Thus if a function is defined but only used in one half of a conditional, a closure must still be built for that function before evaluating the conditional. Building a closure, for MLWorks, involves allocating heap and copying in values. Moving the function definition within the conditional avoids unnecessary closure building (which would be avoided anyway by a lazy implementation). Small savings were achieved by modifying the function \verb=pseudoknot_constraint= to build \verb=dist= only when required. The function \verb=try_assignments= has been modified to be tail recursive. \subsection{NHC} \label{sec:NHC} The name ``NHC'' comes from the description ``Nearly a Haskell Compiler''. Speed is not the main goal of NHC, instead NHC is written so that it can recompile itself in less than 3 Mbytes of memory. Floating point performance is completely ignored, and all arithmetic operations are treated as user defined functions. Two versions of the NHC compiler have been used. The first is NHC compiled by HBC, denoted as NHC(HBC). This is a relatively fast, but space hungry version of the compiler. The second version is NHC compiled by itself, denoted as NHC(NHC). This version is slower, but more economic in space. The version of the pseudoknot program as it has been used with the HBC compiler has been changed for NHC in two ways. Firstly, all six separate modules were combined into one module. This was done to show that NHC indeed compiles large programs using less memory than the other Haskell compilers. NHC(NHC) needs an 8 Mbytes heap to compile the single module version of the pseudoknot program, HBC could not compile the single module version of the pseudoknot program with 80 Mbytes of heap space, not even when using a single space garbage collector. NHC(HBC) needs 30 Mbytes of heap to compile the single module version of the pseudoknot program. Secondly, all floating point types have been changed from \verb=Float= to \verb=Double=. This does not increase the precision as \verb=Double= is implemented as single precision floating point in NHC, but it is necessary for the type checker. The early formulation of the pseudoknot program is slightly faster than the late formulation, 170 seconds compared to 175 seconds (both on machine~\syschalmers~c.f. Table~\ref{tbl:machine}). A possible explanation is that the early formulation does fewer arithmetic computations than the late formulation, and that NHC is bad at arithmetic. \subsection{OPAL} \label{sec:OPAL} OPAL is based on language constructs similar to those found in most other functional languages. The port of the pseudoknot program was a matter of applying regular expressions to the SML and Haskell versions of the program. Some specialities of OPAL had to be tackled: (1) OPAL provides only strings and booleans as builtin data types, such that constant data has to be denoted by applying conversion functions to strings, and (2) OPAL requires an explicit type signature for each global function. Furthermore, a static limit on the number of components of a constructor made it necessary to split the common atoms of the data type \verb=nuc= into two subrecords. Only the late formulation of the pseudoknot program has been ported. No optimizing annotations have been added to the source. OPAL is strict by default, and the compiler performs inlining of function definitions across module boundaries automatically. Hence, in the target code, all floating point operations are inlined on the instruction level. To measure the costs incurred in allocating floating point numbers in the heap, a new single precision floating point data type has been added to the system. These single precision numbers are represented as ``unboxed'' values, which thus do not incur garbage collection costs. The first two rows of Table~\ref{tbl:opal} show the difference, as measured on machine~\sysopal~(c.f. Table~\ref{tbl:machine}). Arithmetic is still performed with double precision, but the results of the operations are stored with single precision. The timings suggest, that dynamically allocating floating point numbers slows down the pseudoknot program by about a factor of $2$. The amount of heap space allocated does not differ much in both versions; this is a result of the reference counting based garbage collection scheme of the OPAL system, which minimizes the total amount of allocated memory at the expense of some execution speed. The single precision floating point data type has been further refined by encapsulating values which do not require dynamic type information. These special values are not visible on the user level. However, after automatic unfolding and simplifications performed by the compiler, intermediate results of floating point operations are now passed literally to subsequent operations in the resulting code. This is similar to the way unboxed values are handled by the Glasgow Haskell compiler~\cite{Pey91b}. Unboxing intermediate results improves the execution time again by a factor of $2$. The results are shown in the last row of Table~\ref{tbl:opal}. The current distributed version 2.1b of the OPAL compilation system failed to properly compile the benchmark. The reason was that this compiler version packs all initialization code of a module into a single C function (C is the target language), which is -- with several thousand lines of code for the nucleotide conformation data base -- too large for the C compiler. The compilation scheme has been slightly modified to fix this design bug. The new scheme will be available in the next release 2.1c. As with other C-based compilers, more than 50\% of the compilation time for the pseudoknot program is used by the GNU C compiler. The compilation is particularly slowed down by the need to check and compile several thousand applications of overloaded conversion functions from strings to numbers. This overhead is a result of the fact that numbers cannot be denoted literally in the OPAL language. \begin{table} \begin{center} \begin{tabular}{|l|r@{\,}r@{\,}r|r|} \hline version & \mmm{time(s)} & space(M) \\ \hline double precision (boxed) & 19.9 &+& 0.26 & 1.10 \\ single precision (unboxed) & 9.7 &+& 0.23 & 0.85 \\ no intermediate type tags & 5.1 &+& 0.14 & 0.85 \\ \hline \end{tabular} \end{center} \caption{Three versions of the pseudoknot program executed with the OPAL system on machine~\sysopal.} \label{tbl:opal} \end{table} \subsection{RUFL} RUFL is (almost) a subset of Haskell. It excludes type classes, and type signatures are mandatory for all top-level functions. It has an abridged module mechanism. The source was ported from the modularized Chalmers Haskell version. The bulk of the effort went into providing the type signatures and module interface files. The main algebraic data types were renamed to avoid ambiguity between similarly named types and constructors. One function (\verb=make_relative_nuc=) was too complex for the compiler and had to be split into two parts, one of the library primitives was named differently, and a top-level \verb=main= function which does the output replaced the Haskell construct. No annotations were made. (The RUFL system does not support annotating components of data structures as strict.) The compiler generates SPARC assembly code or SECD-like intermediate code which is interpreted. Timings for the interpreted version are denoted here as RUFLI. In both cases run-time memory organization is rather simplistically based around fixed-size cells, and algebraic data types are instantiated as chains of these cells. The heavy use of high-arity constructors in this example generates long chains and incurs considerable run-time penalties. \subsection{Sisal} Collaborators at Lawrence Livermore National Laboratory and Colorado State University developed the Sisal parallel functional language with the objective of obtaining high performance on commercial scalar and vector multiprocessors. Currently, mature Sisal compilers exist for a variety of shared memory scalar and vector multiprocessors. The two most important optimizations of the Sisal compiler are memory preallocation~\cite{Ran87} and copy elimination~\cite{Gop89}. These optimizations enable most Sisal programs to execute in place without copying; thus Sisal programs typically run as fast as equivalent imperative programs. We ported the C version of the pseudoknot program to Sisal and made the following minor changes to increase performance. First, we converted the nucleotide database to an array-based structure instead of the record-based structure as in the C code. Sisal supports records, but the compiler is heavily optimized for arrays and array operations. Then, we rewrote the distance and transformation functions as scalar functions to eliminate array allocations and deallocations in the inner loops. Although array allocations and deallocations in Sisal are efficient (cost is constant for arrays of known size), it is difficult to recuperate the cost for small arrays. Finally, we developed a recursive program that single threads the \verb=partial_inst= stack and list of solutions. To accomplish this, we changed the code of the function \verb=try= as follows: \noindent \begin{tabular}{l@{\hspace{10mm}}l} C & Sisal revised \\ \hline & \verb|> let| \\ add new element to stack & \verb|> stack1 := array_addh(stack)| \\ increment stack counter & \verb|> stack2 := pseudoknot_domains(stack1)| \\ pseudoknot\_domains & \verb|> in | \\ decrement stack counter & \verb|> array_remh(stack2)| \\ & \verb|> end let| \end{tabular} In principle, this code is identical to the C code. The Sisal compiler realizes that there is only a single consumer of each stack. It tags the data structure as mutable and generates code to perform all updates in place. Consequently, the Sisal code maintains a single stack structure similar to the C code, eliminating excessive memory usage and copy operations. The Sisal code runs in approximately 85KB of memory and achieves execution speeds comparable to the C code. \subsection{SML/NJ and Poly/ML} \label{sec:SML} Both Standard ML of New Jersey and Poly/ML are implementations of Standard ML as described in the Definition of Standard ML~\cite{Mil90}. The SML version of the pseudoknot application was initially derived from the Scheme version of the program (by Marc Feeley) and then subsequently modified to make better use of SML's typing facilities. These modifications had no effect on the execution time of the program, but improved its readability and robustness, and this was helpful for later experimentation with the code. For SML/NJ, a signature was used to constrain the program (which was written as one large SML module) to export only the top-level \verb|run| function. This had the effect of improving the compilation time as well as providing the compiler with more opportunities for automatic inlining and other optimizations. Other than that, no other changes were made to the program (though various things were tried, as explained below). Initially, the program was compiled with versions 0.75 and 0.93 of the SML/NJ system. It was expected that the latest version (1.03z) would show a great improvement, since it employs a representation analysis~\cite{Ler92}, implemented by Zhong Shao (described in his Ph.D. thesis~\cite{Sha94}), which would ``unbox'' many of the floating-point numbers stored in the rather large tuple data structures. Surprisingly, the first attempt with this version of the compiler resulted in a slowdown. This was due to the fact that the implementation of the representation analysis was not finished. In particular, unboxing of records of floating-point numbers was not yet supported, nor were floats being passed to functions in floating-point registers. When these features were completed (by Shao), the speed improved by more than a factor of two. Analysis of the compiler output for the pseudoknot program also showed that excessive register-spilling was occurring. A small improvement to the spilling heuristic (again by Shao) led to a further speedup of the code. The SML/NJ 1.03z compiler does not use FPU load and store instructions for loading and storing floating-point numbers. It is strongly suspected that changing this would lead to yet more large improvements to the running time. Like the other functional versions of the pseudoknot program (including the Haskell and CLEAN versions), the SML version is ``pure'' in the sense that all of the data structures are immutable. (The SML program is also evaluated strictly; note, however, that the Haskell and CLEAN versions also use mostly strict evaluation.) Significant improvements might be possible if mutable arrays were used, in a manner similar to the C version of the program. However, one suspects that such a program would be less reliable and understandable than the current version. A large number of variations on the SML program were tried, in an attempt to find better performance. The execution time was surprisingly stable under these changes, and in fact no change made any significant difference (good or bad) to the execution speed. Almost all of the functions in the program are presently curried; uncurrying made a barely measurable improvement. All of the various ``deforestation'' transformations used by the other implementations were also tried, and again none made any measurable improvement (though several led to minor slowdowns). It was recognized early on that the representation of the ``tfo'' matrix as a large tuple of values leads to a considerable amount of register spilling in the code generated by SML/NJ\@. However, changing the representation to an array of floating-point numbers made no improvement. The current version of the program also uses the late formulation for position computation of atoms; changing this to the early formulation greatly increased both the time and space required. In the end, the original transcription of the Scheme program, with the signature constraint, was used for all of the measurements. The SML/NJ implementation of the pseudoknot program performs better on the DECstation 5000 than on the SPARC. On the DECstation 5000 it runs at 55\% of the speed of C, on the SPARC it runs at only 36\% of the speed of C. We suspect that this is mainly due to memory effects. Previous studies~\cite{Diw94} have shown that the intensive heap allocation which is characteristic of the SML/NJ interacts badly with memory subsystems that use a write-no-allocate cache policy, as is the case of the SPARC; in contrast, the use of a write-allocate policy coupled with what amounts to sub-block placement on the DECstation (the cache block size is four bytes) supports such intensive heap allocation extremely well. \subsection{Stoffel} The Stoffel language is an intermediate language designed for studying code generation of high level languages to fine-grain parallel processors (see, for example, Fisher~\cite{Fis84}). Because of this, the implementation is robust but lacks the sophistication of some of the other compilers discussed here. The source code that has been used is the same as that used for the FAST compiler (see Section~\ref{sec:FAST}), but without the strictness annotations. The intermediate format used by the FAST compiler has been translated automatically into Stoffel by the FAST compiler front-end. The Stoffel compiler is based on a spineless abstract machine and implements many of the optimization commonly found, such as strictness and boxing analysis. The implementation uses double precision floating point numbers, which can also be passed around in unboxed form. Most discouraging were the compilation times. The actual Stoffel compiler takes about 216 seconds to run, the gcc-compiler backend with --O2 takes more than two hours on machine~\sysstoffel~(c.f. Table~\ref{tbl:machine}). Most of this time is spent in compiling the function that initialises the floating point number representations. Both the late and early formulations of the program were run {\it out of the box}, there was no tweaking. The late formulation runs 30\% faster than the early formulation, the difference being relatively small because no strictness annotations have been used. \subsection{Trafola} The Trafola language and system has been designed as a (pure functional) transformation language in a compiler construction project. In addition to the usual functional constructs Trafola offers nondeterministic pattern matching. This allows for an expressive coding of algorithms, in particular tree transformations. The first version of the system and the language were untyped. User defined data types and Milner/Cardelli type inference were added later. At the moment there is still only one Trafola compiler and runtime system. This compiler is able to generate better code from typed programs than from untyped programs. The runtime system has to support both, at the cost of some efficiency. \begin{table} \begin{center} \begin{tabular}{|l|r|r@{\,}r@{\,}r|r|} \hline floats & compilation (user time) & \mmm{execution} & garbage collection \\ \hline Single & 6.16 & 162.6 &+& 2.4 & 4\% \\ Double & 6.35 & 186.5 &+& 5.7 & 11\% \\ \hline \end{tabular} \end{center} \caption{Trafola results comparing single and double precision arithmetic.} \label{tbl:trafola} \end{table} The pseudoknot program was transformed from Miranda to typed Trafola basically by changing syntax. No special Trafola features were introduced. Basic definitions such as \verb|fadd = (+)| were inlined and taken from the C~library. The fact that Trafola was first designed as an untyped language, together with the provision of powerful pattern matching facilities, results in an unusual implementation of algebraic data types. Each $n$-ary constructor is represented as an $n+1$-tuple. The first component of the tuple is an element of an enumeration type e.g. \verb=Foo a b c= is implemented as \verb=(Foo,a,b,c)=. The Trafola version of the pseudoknot program was compiled and executed using both single and double precision arithmetic. The results are shown in Table~\ref{tbl:trafola}. Using double precision arithmetic increases compilation time because the internal representation of double precision floats is less compact, and because constant-folding also takes longer for doubles. At runtime, double precision floats are stored in the heap, whereas single precision values are stored in the stack. The double precision version therefore allocates more space and increases both execution and garbage collection times. \subsection{Yale Haskell} The Yale Haskell compiler uses Common Lisp as an intermediate language and relies on the Common Lisp compiler for translation to machine code. The version of Yale Haskell tested here uses CMU Common Lisp as its back end, although it also runs under most other Common Lisp implementations. To prepare the pseudoknot program for running in Yale Haskell, all of the data structures were annotated as strict. (Internally, Yale Haskell represents the data structures as Common Lisp simple vectors containing tagged objects.) The first argument of \verb=get_var= and the arguments of \verb=make_relative_nuc= have been forced to be strict because the case where these arguments are not used is an error. The functions \verb=is_A=, \verb=is_C=, and \verb=is_G= have been inlined because they are small; this probably has no effect on timings. The functions \verb=atom_pos= and \verb=search= have been inlined to avoid a higher-order function call. These were the only changes made to the Chalmers Haskell version of the program; the actual code was unchanged. The code was compiled with all optimizations enabled at the Haskell level. At the Lisp level, the same optimizations were used as for obtaining the CMU Common Lisp results. The program was run with a heap size of about 14 megabytes. The late formulation of the pseudoknot program runs more than twice as fast as the early formulation. \subsection{CMU Common Lisp} CMU Common Lisp is a public-domain implementation featuring a high-quality optimizing compiler. This compiler does a higher level of static type checking and type inference than most other Common Lisp compilers. In the Common Lisp version of the program, the \verb=pt= and \verb=tfo= data types were implemented as vectors specialized to hold untagged \verb=single-float= objects, rather than as general vectors of tagged objects. Other data types were implemented using the \verb=defstruct= facility. Type declarations were added to all of the floating-point arithmetic operations and local variables that hold floating-point numbers. Otherwise, the code was a straight translation of the program from Scheme syntax. The resulting code is written in completely standard Common Lisp and uses no annotations or extensions specific to the CMU implementation. The program was compiled with optimizations \verb=(speed 3)= \verb=(safety 0)= \verb=(debug 0)= \verb=(compilation-speed 0)=. CMU Lisp's block compilation feature was not used. The program was run with a heap size of about 14 megabytes. The difference between the Yale Haskell and Common Lisp results as shown in Table~\ref{tbl:execution} is due partly to use of tagged versus untagged arrays, and partly to the overhead of lazy lists in Haskell. These were the only significant differences between the hand-written Common Lisp code and the Lisp code produced by the Yale Haskell compiler. The Haskell code generator could be extended to use untagged arrays for homogeneous floating-point tuple types as well, but this has not yet been implemented. \section{Results} \label{sec:results} The pseudoknot program has always been compiled with option settings that should give fast execution, we have consistently tried to optimise for execution speed. The compile time and run time options used are shown in Table~\ref{tbl:option}. To achieve best performance, no debugging, run time checks or profiling code has been generated. Where a ``--O'' option or higher optimisation setting could be used to generate faster code, we have done so. \begin{table} \small \begin{center} \begin{tabular}{|r|l|l|l|l|l|l|} \hline no. &machine & mem. & cache & op. system & processor & C compiler \\ \hline \sysbigloo &SUN 4/670 & 64 M& 64 K &SunOS 4.1.3. &standard &gcc 2.5.7 \\ \syscaml &DECstat., 5000/200 &32 M&64 K &Ultrix 4.1. &standard &cc --O2 \\ \syschalmers &SUN SPARC 10/30& 32 M&1 M &SunOS 4.1.3. &TMS390Z55 &gcc 2.5.8 \\ \sysclean &SUN 4/670 & 64 M&64 K &SunOS 4.1.2. &Cypress CY605&gcc 2.4.5 \\ \syscmucl &SUN 4/690MP & 64 M&64 K &SunOS 4.1.3 &ROSS 40MHz Super&cc \\ \syserlang &SUN 4/50 & 32 M&64 K &SunOS 4.1.3. &standard &gcc 2.5.8 \\ \sysfast &SUN 4/690 & 64 M&64 K &SunOS 4.1.2. &standard &gcc 2.5.8 \\ \sysgambit &HP9000/385 & 32 M&4K/4K &HP-UX B.09.00&68040 &gcc 2.0 \\ \sysglasgow &SUN SPARC 10/41& 96 M&20K/32K+1M&SunOS 4.1.3.&TMS390Z50 &gcc 2.5.7 \\ \sysid &SUN SPARC 10/41& 96 M& 1 M &SunOS 4.1.3. &standard &gcc 2.5.8 \\ \sysmlworks &SUN 4/330 & 96 M& &SunOS 4.1.1. &standard &gcc 2.5.4 \\ \sysopal &SUN 4/75 & 64 M&64 K &SunOS 4.1.3. &standard &gcc 2.5.8 \\ \syspolyml &SUN 4/690 & 64 M&1 M &SunOS 4.1.3. &standard &gcc 2.5.8 \\ \syssisals &SUN 4/670MP & 64 M&1 M &SunOS 4.1.3. &SUNW, system 600&gcc 2.5.8 \\ \syssisalc &CRAY C90 & 1024 M & none &UNICOS 7.C &custom vector&scc 4.0 \\ \syssml &DECstat. 5000/200& 128 M&64 K &Mach 2.6 &standard &gcc 2.4 \\ \sysstoffel &SUN SPARC 10/41&128 M&20K/32K+1M&Solaris 2.3 &standard &gcc 2.5.8 \\ \systrafola &SUN 4/670 & 64 M&64 K &SunOS 4.1.3. &Cypress CY605&gcc 2.4.5 \\ \sysfloat &SUN SPARC 5 & 32 M&24 K &SunOS 4.1.3. &standard (85 MHZ)&gcc 2.5.8 \\ \sysfacile &SUN Sparc 10/41& 64 M&1M &SunOS 4.1.3. &standard &gcc 2.5.7 \\ \hline \end{tabular} \end{center} \normalsize \caption{Details of the machines and C compilers used to compile and/or execute the pseudoknot program. The make and type of the machine is followed by the size of the memory (in MB) the size of the cache (as a total or as instruction/data + secondary cache size), the operating system name and version, and the type of processor used. The last column gives the C compiler that has been used on the machine.} \label{tbl:machine} \end{table} We have tried to use one and the same machine where possible, but not all programs could be compiled and/or executed on the same machine, either because of commercial considerations, or because of the lack of a SPARC code generator. An overview of the machines used may be found in Table~\ref{tbl:machine}. To factor out architectural differences, the C version of the pseudoknot program has been timed on all the machines involved. The execution time of the C version serves as the basic unit of time. The unit ``pseudoknot'' gives the relative speed with respect to C execution. It is computed as: \[ \mbox{relative speed} ~ = ~ \frac{100 \times \mbox{C execution time}}{\mbox{absolute time}} \] To ``run at 100 knots'' thus means to run at exactly the same speed as C, and a speed of 1 knot is 1\% of the speed of C. \begin{table} \begin{center} \begin{tabular}{|r|l|r|} \hline machine & cache size & pseudoknots \\ \hline \sysfast & 64KB & 73\% \\ \sysstoffel & 20K/32K+1M & 92\% \\ \syssisalc & 36K+1M & 100\% \\ \hline \end{tabular} \end{center} \caption{The relative performance of the Sisal version as a function of the cache size.} \label{tbl:cache} \end{table} The functional language compilers generate code that requires more memory than the code generated by the C compilers. Therefore, the functional implementations require larger caches to accommodate the same fraction of the code and data as the C implementation. This has a measurable effect on the pseudoknots. For example, we found the pseudoknots for the Sisal version of the benchmark program to increase with the cache size. Table~\ref{tbl:cache} shows the speed of the Sisal version of the pseudoknot program relative to that of C on three machines with different cache sizes. We could have used a machine with a cache larger than 64K for all experiments to make the results look better. We have chosen not to do so because it is important to remember that using large amounts of memory is an important cost factor. The ``pseudoknot'' as defined above is a relative measure. In the long run an absolute measure is also useful both as a measure of overall system performance, and to demonstrate absolute improvements in functional compiler technology independently of improvements in the C compilers (c.f. Drhystone, Whetstone). This requires choosing a particular architecture and C compiler as a reference to represent the absolute 100\% mark. Most execution times have been obtained on machine~\sysfast~(c.f. Table~\ref{tbl:machine}), using GCC version 2.5.8. This combination is therefore rather a convenient choice to deliver the absolute 100\% pseudoknot. The C execution times for this machine are 2.71 seconds user time and 0.20 seconds system time. To measure the times required by the faster programs with a reasonable degree of accuracy, the programs have been timed in a Unix C-shell loop as follows \verb=time repeat 10 a.out=, or even \verb=time repeat 100 a.out=. The resulting system and user times divided by 10 (100) are reported in the Tables~\ref{tbl:compilation} and~\ref{tbl:execution}, sorted by relative pseudoknot ratings on the user times. \begin{table} \begin{minipage}{\hsize} \begin{center} \begin{tabular}{|l|c|c|r@{\,}r@{\,}r|rr|r@{\,}r@{\,}r|r@{\,}r@{\,}r|r@{\,}r@{\,}r|} \hline compiler &route& mach. & \mmm{time(s)} & \mm{space} &\mmm{C-time(s)}&\multicolumn{6}{c|}{pseudoknots (\%)}\\ & & & user &+& sys & Mb &\footnote{A = Mbytes allocated space; H = Mbytes heap size; R = Mbytes maximum resident set size} & user &+& sys & \mmm{rel} & \mmm{abs} \\ \hline Gofer & I &\sysfast & 6.7 &+& 0.7 & 3\dz & A & 2.71 &+& 0.20 & 40.4 &+& 28.6 & 40.4 &+& 28.6 \\ RUFLI & I &\sysfast & 9.1 &+& 1.7 & 1\dz & A & 2.71 &+& 0.20 & 29.8 &+& 11.8 & 29.8 &+& 11.8 \\ Miranda & I &\sysfast & 12.5 &+& 0.8 & 13\dz & A & 2.71 &+& 0.20 & 21.7 &+& 25.0 & 21.7 &+& 25.0 \\ &&&&&&&&&&&&&&&&\\ Caml Light & I &\syscaml & 29.7 &+& 1.1 & 2.3 & A & 2.66 &+& 0.05 & 9.0 &+& 4.5 & 9.1 &+& 18.2 \\ Clean & N &\sysclean & 30\dz &+& 10\dz & 9\dz & A & 2.69 &+& 0.55 & 9.0 &+& 5.5 & 9.0 &+& 2.0 \\ Trafola & I &\sysfast & 31.4 &+& 11.5 & 6\dz & A & 2.71 &+& 0.10 & 8.6 &+& 1.7 & 8.6 &+& 1.7 \\ RUFL & N &\sysfast & 41.6 &+& 8\dz & 3\dz & A & 2.71 &+& 0.20 & 6.5 &+& 2.5 & 6.5 &+& 2.5 \\ Poly/ML & I &\syspolyml & 22.4 &+& 3.1 & 3.3 & A & 1.28 &+& 0.05 & 5.7 &+& 1.6 & 12.1 &+& 6.5 \\ Bigloo & C &\sysbigloo & 56.5 &+& 6.4 & 7.5 & A & 3.00 &+& 0.10 & 5.3 &+& 1.6 & 4.8 &+& 3.1 \\ Gambit & N &\sysgambit & 147\dz &+& 77\dz & 14\dz & H & 6.34 &+& 0.12 & 4.3 &+& 0.2 & 1.8 &+& 0.3 \\ CMU CL & N &\syscmucl & 118\dz &+& 25\dz & 14\dz & H & 4.73 &+& 0.43 & 4.0 &+& 1.7 & 2.3 &+& 0.8 \\ Camloo & S+C &\sysbigloo & 98\dz &+& 17.6 & 4.6 & A & 3.00 &+& 0.10 & 3.1 &+& 0.6 & 2.8 &+& 1.1 \\ Caml Gallium& N &\syscaml & 129\dz &+& 4.4 & 3.7 & A & 2.66 &+& 0.05 & 2.1 &+& 1.1 & 2.1 &+& 4.5 \\ &&&&&&&&&&&&&&&&\\ SML/NJ & N &\syssml & 131\dz &+& 4.4 & 50\dz & A & 1.90 &+& 0.10 & 1.5 &+& 2.3 & 2.1 &+& 4.5 \\ Facile & N &\sysfacile & 123\dz &+& 2.5 & 11.3 & A & 1.71 &+& 0.08 & 1.4 &+& 3.2 & 2.2 &+& 8.0 \\ NHC(HBC) & I &\syschalmers & 122\dz &+& 7.3 & 30\dz & A & 1.56 &+& 0.06 & 1.3 &+& 0.8 & 2.2 &+& 2.7 \\ Sisal (SUN) & N &\syssisals & 112\dz &+& 13.3 & 2.4 & A & 1.40 &+& 0.05 & 1.3 &+& 0.4 & 2.4 &+& 1.5 \\ MLWorks & N &\sysmlworks & 394\dz &+& 19\dz & 14.4 & R & 4.90 &+& 0.00 & 1.2 &+& 0.0 & 0.7 &+& 1.1 \\ &&&&&&&&&&&&&&&&\\ Sisal (CRAY)& N &\syssisalc & 82.5 &+& 15.5 & 24\dz & A & 0.76 &+& 0.02 & 0.9 &+& 0.2 & 3.3 &+& 1.3 \\ Yale & L &\syscmucl & 610\dz &+& 186\dz & 14\dz & H & 4.73 &+& 0.43 & 0.8 &+& 0.2 & 0.4 &+& 0.1 \\ Chalmers & N &\syschalmers & 181\dz &+& 45\dz & 50\dz & A & 1.33 &+& 0.06 & 0.7 &+& 0.1 & 1.5 &+& 0.4 \\ FAST & C &\sysfast & 450\dz &+& 40\dz & 100\dz & A & 2.71 &+& 0.20 & 0.6 &+& 0.5 & 0.6 &+& 0.5 \\ &&&&&&&&&&&&&&&&\\ NHC(NHC) & I &\syschalmers & 560\dz &+& 5.0 & 8.7 & A & 1.56 &+& 0.06 & 0.3 &+& 1.2 & 0.5 &+& 4.0 \\ Glasgow & C &\sysglasgow & 564\dz &+& 30\dz & 47\dz & A & 1.28 &+& 0.05 & 0.2 &+& 0.2 & 0.5 &+& 0.7 \\ Opal & C &\sysopal & 1301\dz &+& 19\dz & 15\dz & A & 3.00 &+& 0.08 & 0.2 &+& 0.4 & 0.2 &+& 1.1 \\ &&&&&&&&&&&&&&&&\\ Erlang BEAM & C &\syserlang & \mmm{$>$ 1 Hour} & 8\dz & A & 3.27 &+& 0.10 & \mmm{---} & \mmm{---} \\ CeML & C &\sysbigloo & \mmm{$>$ 1 Hour} & 35\dz & A & 3.00 &+& 0.10 & \mmm{---} & \mmm{---} \\ ID & C &\sysid & \mmm{$>$ 1 Hour} & 64\dz & A & 2.75 &+& 0.05 & \mmm{---} & \mmm{---} \\ Stoffel & C &\sysstoffel & \mmm{$>$ 2 Hours} & 25\dz & A & 1.28 &+& 0.05 & \mmm{---} & \mmm{---} \\ \hline cc --O & N &\sysfast & 325\dz &+& 26\dz & 8\dz & A & 2.71 &+& 0.20 & 0.8 &+& 0.8 & 0.8 &+& 0.8 \\ gcc --O & N &\sysfast & 910\dz &+& 97\dz & 21\dz & A & 2.71 &+& 0.20 & 0.3 &+& 0.2 & 0.3 &+& 0.2 \\ \hline \end{tabular} \end{center} \end{minipage} \caption{Results giving the amount of time (user+system time in seconds) and space (in Mbytes) required for compilation of the pseudoknot program. The ``pseudoknots'' give the relative speed with respect to the execution (not compilation) of the C version as a percentage.} \label{tbl:compilation} \end{table} \subsection{Compilation} Table~\ref{tbl:compilation} shows the results of compiling the programs. The first column of the table shows the name of the compiler (c.f. Table~\ref{tbl:compiler}). The second column ``route'' indicates whether the compiler produces native code (``N''), code for a special interpreter (``I''), or compiles to native code through a portable C back-end (``C''), Lisp (``L''), or Scheme (``S''), or through a combination of these back-ends. The third column gives a reference to the particular machine used for compilation (c.f. Table~\ref{tbl:machine}). The next two columns give the time and space required to compile the pseudoknot program. Unless noted otherwise, the space is the largest amount of space required by the compiler, as obtained from \verb=ps -v= under the heading SIZE. The column marked ``C-time'' gives the time required to execute the C version of the pseudoknot program on the same machine as the one used for compilation. The last two columns ``pseudoknots'' show the relative and absolute performance with respect to C. It is possible to distinguish broad groups within the compilers. The fastest compilers are, unsurprisingly, those that compile to an intermediate code for an interpreter, and which therefore perform few, if any, optimisations. NHC is an outlier, perhaps because unlike the other interpreters, it is a bootstrapping compiler. With the exception of Bigloo, which is faster than many native compilers, compilers that generate C are the slowest compilers. Not only does it take extra time to produce and parse the C, but C compilers have particular difficulty compiling code that contains large numbers of constants. As noted in Section~\ref{sec:compilers}, C compilers also have difficulty compiling the hand written C version of the pseudoknot program due to this phenomenon. The faster compilers also generally allocate less space. This may be because the slower compilers generally apply more sophisticated (and therefore space-intensive) optimisations. \begin{table} \begin{minipage}{\hsize} \begin{center} \begin{tabular}{|l|c|c|c|r@{\,}r@{\,}r|rr|r@{\,}r@{\,}r|r@{\,}r@{\,}r|} \hline compiler &route& mach. &\footnote{L = late formulation; E = early formulation} & \mmm{time(s)} &\mm{space} &\multicolumn{6}{c|}{pseudoknots (\%)}\\ & & & & user &+& sys & Mb & \footnote{A = Mbytes allocated space; H = Mbytes heap size} & \mmm{rel} & \mmm{abs} \\ \hline Sisal (CRAY)& C &\syssisalc & L & 0.68 &+& 0.03 & 0.1 & A & 111\dz&+& 96.0 & 398\dz&+& 800\dz\\ &&&&&&&&&&&&&&\\ Sisal (SUN) & C &\sysfast & L & 3.7\z &+& 0.2\z & 0.7 & A & 73.2 &+& 100\dz& 73.2 &+& 100\dz\\ Caml Gallium& N &\syscaml & L & 3.8\z &+& 0.1\z & 0.3 & A & 70.7 &+& 62.5 & 72.1 &+& 250\dz\\ Glasgow & C &\sysfast & L & 3.9\z &+& 0.2\z & 1\dz & A & 69.5 &+& 100\dz& 69.5 &+& 100\dz\\ Opal & C &\sysfast & L & 4.7\z &+& 0.5\z & 0.8 & A & 57.4 &+& 40.0 & 57.4 &+& 40.0 \\ Clean & N &\sysfast & L & 5.1\z &+& 0.8\z & 2.5 & A & 52.7 &+& 25.6 & 52.7 &+& 25.6 \\ &&&&&&&&&&&&&&\\ CMU CL & N &\sysfast & L & 5.8\z &+& 3.3\z & 14\dz & H & 46.7 &+& 6.1 & 46.7 &+& 6.1 \\ Gambit & N &\sysgambit & L & 17.3\z &+& 0.2\z & 14\dz & H & 36.6 &+& 60.0 & 15.7 &+& 100\dz\\ SML/NJ & N &\sysfast & L & 7.6\z &+& 2.8\z & 2.6 & A & 35.9 &+& 7.0 & 35.9 &+& 7.0 \\ MLWorks & N &\sysmlworks& L & 13.7\z &+& 0.9\z & 2.6 & A & 35.8 &+& 0.0 & 19.8 &+& 22.2 \\ CeML & C &\sysfast & L & 8.7\z &+& 0.6\z & 2\dz & A & 31.1 &+& 33.3 & 31.1 &+& 33.3 \\ &&&&&&&&&&&&&&\\ FAST & C &\sysfast & L & 11.0\z &+& 0.5\z & 1\dz & A & 24.6 &+& 40.0 & 24.6 &+& 40.0 \\ Camloo & S+C &\sysfast & L & 11.5\z &+& 1.3\z & 4.9 & A & 23.6 &+& 15.4 & 23.6 &+& 15.4 \\ ID & C &\sysfast & L & 11.6\z &+& 2.9\z & 14\dz & A & 23.4 &+& 6.9 & 23.4 &+& 6.9 \\ Bigloo & C &\sysfast & L & 11.7\z &+& 1.1\z & 4.9 & A & 23.2 &+& 18.2 & 23.2 &+& 18.2 \\ Yale & L &\sysfast & L & 11.9\z &+& 7.2\z & 14\dz & H & 22.8 &+& 2.8 & 22.8 &+& 2.8 \\ Chalmers & N &\sysfast & L & 12.1\z &+& 1.0\z & 3\dz & A & 22.4 &+& 20.0 & 22.4 &+& 20.0 \\ Facile & N &\sysfast & L & 15.5\z &+& 4.3\z & 7.9 & A & 17.5 &+& 4.7 & 17.5 &+& 4.7 \\ Stoffel & C &\sysfast & L & 26.6\z &+& 2.1\z & 5.6 & A & 10.2 &+& 9.5 & 10.2 &+& 9.5 \\ &&&&&&&&&&&&&&\\ Erlang BEAM & C &\sysfast & L & 31.8\z &+& 4.5\z & 11\dz & A & 8.5 &+& 4.4 & 8.5 &+& 4.4 \\ Caml Light & I &\sysfast & L & 53.9\z &+& 7.5\z & 0.3 & A & 5.0 &+& 2.7 & 5.0 &+& 2.7 \\ RUFL & N &\sysfast & L & 87\dzz &+& 2.8\z & 3\dz & A & 3.1 &+& 7.1 & 3.1 &+& 7.1 \\ Poly/ML & I &\syspolyml & E & 54.7\z &+& 8.4\z & 3.3 & A & 2.3 &+& 0.6 & 5.0 &+& 2.4 \\ Trafola & I &\sysfast & L & 124\dzz &+& 6.3\z & 10.7 & A & 2.2 &+& 3.2 & 2.2 &+& 3.2 \\ NHC & I &\sysfast & E & 170\dzz &+& 2.2\z & 2.6 & A & 1.6 &+& 9.1 & 1.6 &+& 9.1 \\ &&&&&&&&&&&&&&\\ Gofer & I &\sysfast & L & 370\dzz &+& 12.0\z & 3\dz & A & 0.7 &+& 1.7 & 0.7 &+& 1.7 \\ RUFLI & I &\sysfast & L & 529\dzz &+& 13.0\z & 4\dz & A & 0.5 &+& 1.5 & 0.5 &+& 1.5 \\ Miranda & I &\sysfast & L &1156\dzz &+& 34.0\z & 13\dz & A & 0.2 &+& 0.6 & 0.2 &+& 0.6 \\ \hline \end{tabular} \end{center} \end{minipage} \caption{Results giving the amount of time (user+system time in seconds) and space (in Mbytes) required for execution of the pseudoknot program. The ``pseudoknots'' give the relative speed with respect to the execution of the C version as a percentage.} \label{tbl:execution} \end{table} \subsection{Execution} All programs have been executed a number of times, with different heap sizes to optimise for speed. The results reported in Table~\ref{tbl:execution} correspond to the fastest execution. This includes garbage collection time. The first column of the table shows the name of the compiler/interpreter (c.f. Table~\ref{tbl:compiler}). The second column ``route'' duplicates the ``route'' column from Table~\ref{tbl:compiler}. The third column gives a reference to the particular machine used (c.f. Table~\ref{tbl:machine}). The fourth column specifies whether the late (``L'') or early (``E'') formulation of the program gives the fastest execution. Columns 5 and 6 give the time and space required to execute the pseudoknot program. Unless noted otherwise, the space is the largest amount of space required by the program, as obtained from \verb=ps -v= under the heading SIZE. The execution time of the C version of the pseudoknot program for the machine used may be found in Table~\ref{tbl:compilation}. Please note that in most cases execution times and compilation times were measured on different machines. The last two columns ``pseudoknots'' show the relative and absolute performance with respect to C. Again, broad performance groupings can be distinguished. The highest (relative) pseudoknots are measured for the Sisal compiler, which is actually faster than the corresponding C for the Cray version. The next best implementations are the Caml Gallium compiler (eager) and the Glasgow Haskell compiler (lazy). It is probably fair to say that the Glasgow Haskell version of the program has been more heavily optimised than the CAML Gallium version. As the Clean and Glasgow Haskell compilers show, if the compiler can exploit strictness at the right points, the presence of lazy evaluation need not be a hindrance to high performance. It is also interesting that several of these compilers compile through C rather than being native compilers. Clearly, it is possible to compile efficient code without generating assembler directly. Space usage for these compilers is also generally low: the compilers have clearly optimised both for time and space. The Lisp, Scheme and SML compilers generally yield very similar performance (35-50 pseudoknots). An obvious outlier is the Bigloo optimising Scheme compiler, whose performance is comparable to most of the non-strict implementations. The two SML compilers (SML/NJ and MLWorks) are particularly close in both time and heap usage. Most of the non-strict compilers (Chalmers, FAST, Id, Stoffel, Yale and Glasgow Haskell on less optimised code) are grouped in the 10--25 pseudoknot range. These compilers typically offer around 75\% of the performance of eager implementations such as SML/NJ or Gambit, or 50\% of the performance of CMU Common Lisp. Even so, this level of performance has required the exploitation of strictness through unboxing and similar optimisations. Without these features, on the basis of the Glasgow results (Section~\ref{sec:ghc}), performance can be estimated as approximately 8 pseudoknots or just under a quarter of the typical performance of a compiler for an eager language. For these compilers and this application, laziness therefore costs directly a factor of 3, with a further 50\% probably attributable to the use of different implementation techniques for predefined functions etc., which are required due to the possibility of laziness. The lowest pseudoknot values are found with the interpretive systems, which are all less than 10 pseudoknots. This is not particularly surprising. The interpreters (Caml Light, Poly/ML, NHC, Trafola) which lie in the 1--10 pseudoknot range are, however, significantly faster than their conventional brethren, which are generally less than one pseudoknot. Interpreters for strict languages (CAML Light, Poly/ML, Trafola) do seem on the whole to be faster than interpreters for non-strict languages (NHC, Gofer, RUFLI, Miranda). There are two remaining curiosities: the Erlang and RUFL compilers. These do not fit clearly in the same groups as other similar compilers. The low performance of the RUFL compiler may reflect its relative immaturity, as well as the fact that no special priority has been placed on floating-point performance. The low performance recorded by the Erlang BEAM compiler reflects the fact that Erlang is a programming language primarily intended for designing robust, concurrent real time systems and a low priority has been placed on floating-point performance. The set of CAML compilers offers an interesting spectrum: Caml Gallium is a slow compiler which produces fast code; Caml Light compiles quickly, but is relatively slow; and Camloo is intermediate between the two. As might be expected, there is, broadly speaking, a strong relationship between compilation time and execution speed. Only the Clean implementation offers both fast compilation and fast execution. For the compiled systems there is also a very rough relationship between execution speed and heap usage: faster implementations use less heap. There does not, however, seem to be any correlation between non-strictness and heap usage. The fact that Sisal is first-order may be significant, though this is hard to judge since the only other first-order implementation (Erlang) yields relatively poor performance. Sisal is also the only monomorphic language studied, so results here must also be inconclusive. Of the languages studied, Sisal is the only one that was specifically designed for ``numeric'' rather than ``symbolic'' computations, and clearly the design works well for this application. Floating-point performance has traditionally taken second-place in functional language implementations, so we may hope that these results spur other compiler writers to attempt to duplicate the Sisal results. The provision of pattern-matching facilities does not appear to have any effect on code performance: there are fast and slow pattern-matching compilers. The fastest compilers all use strong type systems, which are known to assist compilation. The dynamically typed implementations are, however, intermediate in speed, and comparable with the statically typed SML systems. \section{Conclusions} \label{sec:conclusions} Over 20 compilers for lazy and strict functional languages have been benchmarked using a single floating point intensive program. The C version of the program spends 25\% of its time in the C library trigonometric and square root routines. The problem at hand may thus be typical only for geometric problems. The program should not be construed as a typical numerical scientific application. However, the program is useful as a benchmark, because the ``real'' work it does (the trigonometric and floating point calculations) is so clearly identifiable. Everything else the program does should be kept to a minimum. Not all implementations of functional languages that have been benchmarked are capable of realising this, but some are! The compilation speed of most implementations (including the two C compilers) could be improved significantly. Generating C as intermediate code does not necessarily make the compiler slow, as demonstrated by the performance of the Bigloo and Camloo compilers, but generating fast C does often lead to high compilation times. To achieve good performance from lazy implementations, it proved necessary to annotate certain data structures that are often used as strict. The performance of the pseudoknot program is not sensitive to incorrectly placed strictness annotations. In general, lazy functional programs are not so well behaved in this respect. Inserting annotations is a fine art, as demonstrated by the efforts of the Glasgow team. To make functional languages more useful than they are now, clearly more effort should go into providing users with simple to use and effective means of analysing and improving the performance of their programs. Benchmarking a single program can lead to results which cannot easily be generalised. Special care has been taken to make the comparison as fair as possible: the pseudoknot program is not an essentially lazy program or an essentially non-lazy program; the different implementations use the same algorithm; most of the binaries were timed on one and the same machine. Storing floating point numbers as unboxed values has a significant positive effect on the execution speed of the pseudoknot program. Most compilers can deal adequately with unboxed single precision floating point numbers. Few compilers can also implement unboxed double precision numbers properly. There is thus a need for better methods of dealing with double precision unboxed floats, although this problem might become obsolete with the next generation of 64 bit machine architectures. There is no clear distinction between the runtime performance of eager and lazy implementations when appropriate annotations are used: lazy implementations have clearly come of age when it comes to implementing largely strict applications, such as the pseudoknot program. The speed of C can be approached by some implementations, but not without special measures such as strictness annotations. On the Cray, the Sisal version is faster than the C version. \section*{Acknowledgements} Mark Jones produced the Gofer version of the pseudoknot program. Will Partain and Jim Mattson performed many of the experiments reported here for the Glasgow Haskell compiler. The work at Glasgow is supported by a SOED Research Fellowship from the Royal Society of Edinburgh, and by the EPSRC AQUA grant. The work at Nijmegen is supported by STW (Stichting voor de Technische Wetenschappen, The Netherlands). Jon-Dean Mountjoy performed some of the experiments for the RUFL implementation. The ID version of the pseudoknot program was the result of a group effort. Credit goes to Jamey Hicks, R. Paul Johnson, Shail Aditya, Yonald Chery and Andy Shaw. Zhong Shao made several important changes to the SML/NJ implementation, and Andrew Appel and David MacQueen provided general support in the use of this system. David Tarditi performed several of the SML/NJ experiments. John T. Feo and Scott Denton of Lawrence Livermore National Laboratory collaborated on the Sisal version of the pseudoknot program. \bibliography{refs} \bibliographystyle{plain} \end{document} smlsharp-1.2.0/benchmark/benchmarks/nucleic/sources.cm0000644 000000000000000000000006212050661606023176 0ustar00rootroot0000000 0000000 Group is ../timeit.sml nucleic.sml main.sml smlsharp-1.2.0/benchmark/benchmarks/perm90000755 000000000000000000000000012050661606020527 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks/perm9/doit.smi0000644 000000000000000000000005212050661606022254 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "perm9.smi" smlsharp-1.2.0/benchmark/benchmarks/perm9/doit.sml0000644 000000000000000000000003612050661606022261 0ustar00rootroot0000000 0000000 Main.doit (); print "Done\n"; smlsharp-1.2.0/benchmark/benchmarks/perm9/perm9.smi0000644 000000000000000000000016312050661606022354 0ustar00rootroot0000000 0000000 _require "basis.smi" structure Main = struct val doit : unit -> unit val testit : TextIO.outstream -> unit end smlsharp-1.2.0/benchmark/benchmarks/perm9/perm9.sml0000644 000000000000000000001076412050661606022367 0ustar00rootroot0000000 0000000 (* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; File: perm9.sch ; Description: memory system benchmark using Zaks's permutation generator ; Author: Lars Hansen, Will Clinger, and Gene Luks ; Created: 18-Mar-94 ; Language: Scheme ; Status: Public Domain ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; 940720 / lth Added some more benchmarks for the thesis paper. ; 970215 / wdc Increased problem size from 8 to 9; improved tenperm9-benchmark. ; 970531 / wdc Cleaned up for public release. ; 981116 / wdc Simplified to fit in with Feeley's benchmark suite. ; 990624 / wdc Translated into Standard ML ; The perm9 benchmark generates a list of all 362880 permutations of ; the first 9 integers, allocating 1349288 pairs (typically 10,794,304 ; bytes), all of which goes into the generated list. (That is, the ; perm9 benchmark generates absolutely no garbage.) This represents ; a savings of about 63% over the storage that would be required by ; an unshared list of permutations. The generated permutations are ; in order of a grey code that bears no obvious relationship to a ; lexicographic order. ; ; The 10perm9 benchmark repeats the perm9 benchmark 10 times, so it ; allocates and reclaims 13492880 pairs (typically 107,943,040 bytes). ; The live storage peaks at twice the storage that is allocated by the ; perm9 benchmark. At the end of each iteration, the oldest half of ; the live storage becomes garbage. Object lifetimes are distributed ; uniformly between 10.3 and 20.6 megabytes. ; Date: Thu, 17 Mar 94 19:43:32 -0800 ; From: luks@sisters.cs.uoregon.edu ; To: will ; Subject: Pancake flips ; ; Procedure P_n generates a grey code of all perms of n elements ; on top of stack ending with reversal of starting sequence ; ; F_n is flip of top n elements. ; ; ; procedure P_n ; ; if n>1 then ; begin ; repeat P_{n-1},F_n n-1 times; ; P_{n-1} ; end ; *) fun permutations x0 = let val x = ref x0 val perms = ref [x0] fun P n = if n > 1 then let fun loop j = if j = 0 then P (n - 1) else ( P (n - 1); F n; loop (j - 1) ) in loop (n - 1) end else () and F n = ( x := revloop (!x, n, list_tail (!x, n)); perms := !x :: !perms ) and revloop (x, n, y) = if n = 0 then y else revloop (tl x, n - 1, (hd x) :: y) and list_tail (x, n) = if n = 0 then x else list_tail (tl x, n - 1) in (P (length (!x)); !perms) end (* ; Given a list of lists of numbers, returns the sum of the sums ; of those lists. ; ; for (; x != NULL; x = x->rest) ; for (y = x->first; y != NULL; y = y->rest) ; sum = sum + y->first; *) fun sumlists x = let fun loop1 (x, sum) = if x = [] then sum else let fun loop2 (y, sum) = if y = [] then sum else loop2 (tl y, sum + (hd y)) in loop1 (tl x, loop2 (hd x, sum)) end in loop1 (x, 0) end val perms : int list list ref = ref [] fun one2n n = let fun loop (n, p) = if n = 0 then p else loop (n - 1, n :: p) in loop (n, []) end fun run_benchmark x = x fun perm9_benchmark (m, n : int) = let fun factorial n = if n = 1 then 1 else n * factorial (n - 1) in run_benchmark (concat ([Int.toString (m), "perm", Int.toString (n)]), 1, fn () => ( perms := permutations (one2n n); let fun loop m = if m = 0 then !perms else ( perms := permutations (hd (!perms)); loop (m - 1) ) in loop m end ), fn (result) => (sumlists result) = Int.quot ((n * (n + 1) * factorial (n)), 2)) end fun main () = perm9_benchmark (5, 9) structure Main = struct fun testit out = let val (_,_,f,t) = main () in TextIO.output (out, if t (f ()) then "OK\n" else "Fail\n") end fun doit () = let val (_,n,f,_) = main () fun loop 0 = () | loop n = (f (); loop (n-1)) in loop n end end smlsharp-1.2.0/benchmark/benchmarks/puzzle0000755 000000000000000000000000012050661606021024 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks/puzzle/doit.smi0000644 000000000000000000000005312050661606022552 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "puzzle.smi" smlsharp-1.2.0/benchmark/benchmarks/puzzle/doit.sml0000644 000000000000000000000003612050661606022556 0ustar00rootroot0000000 0000000 Main.doit (); print "Done\n"; smlsharp-1.2.0/benchmark/benchmarks/puzzle/puzzle.smi0000644 000000000000000000000016312050661606023146 0ustar00rootroot0000000 0000000 _require "basis.smi" structure Main = struct val doit : unit -> unit val testit : TextIO.outstream -> unit end smlsharp-1.2.0/benchmark/benchmarks/puzzle/puzzle.sml0000644 000000000000000000001721412050661606023156 0ustar00rootroot0000000 0000000 (****************************************************************************** * File: puzzle.sch * Description: PUZZLE benchmark * Author: Richard Gabriel, after Forrest Baskett * Created: 12-Apr-85 * Modified: 12-Apr-85 14:20:23 (Bob Shaw) * 11-Aug-87 (Will Clinger) * 22-Jan-88 (Will Clinger) * 30-Mar-92 (Will Clinger -- empty list counts as true) * 5-May-94 (Will Clinger -- translated into SML) * Language: Standard ML * Status: Public Domain ******************************************************************************) val size = 511 val classmax = 3 val typemax = 12 val iii = ref 0 val kount = ref 0 val d = 8 fun start () = let open Array val piececount = tabulate (classmax + 1, fn i => 0) val class = tabulate (typemax + 1, fn i => 0) val piecemax = tabulate (typemax + 1, fn i => 0) val puzzle = tabulate (size + 1, fn i => true) val p = tabulate (typemax + 1, fn i => tabulate (size + 1, fn i => false)) fun fit (i, j) = let val endd = sub (piecemax, i) fun loop k = if (k > endd) orelse ((sub (sub (p, i), k)) andalso sub (puzzle, j + k)) then (k > endd) else loop (k + 1) in loop 0 end fun place (i, j) = let val endd = sub (piecemax, i) fun loop1 k = if k > endd then () else (if sub (sub (p, i), k) then update (puzzle, j + k, true) else (); loop1 (k + 1)) fun loop2 k = if (k > size) orelse not (sub (puzzle, k)) then ((* print "\nPuzzle filled"; *) if k > size then 0 else k) else loop2 (k + 1) in (loop1 0; update (piececount, sub (class, i), sub (piececount, sub (class, i)) - 1); loop2 j) end fun puzzle_remove (i, j) = let val endd = sub (piecemax, i) fun loop k = if k > endd then () else (if sub (sub (p, i), k) then update (puzzle, j + k, false) else (); loop (k + 1)) in (loop 0; update (piececount, sub (class, i), sub (piececount, sub (class, i)) + 1)) end (* * fun trial_output (x:int, y:int) = * (print "\nPiece "; * print (Int.toString x); * print " at "; * print(Int.toString y); * print ".") *) fun trial j = let val k = ref 0 fun loop i = if i > typemax then (kount := !kount + 1; false) else if not (0 = sub (piececount, sub (class, i))) then if fit (i, j) then (k := place (i, j); if (trial (!k)) orelse (!k = 0) then ( (* trial_output (i+1, !k+1); *) kount := !kount + 1; true) else (puzzle_remove (i, j); loop (i + 1))) else loop (i + 1) else loop (i + 1) in loop 0 end fun definePiece (iclass, ii, jj, kk) = let val index = ref 0 fun loopi i = if i > ii then () else (let fun loopj j = if j > jj then () else (let fun loopk k = if k > kk then () else (index := i + d * (j + (d * k)); update (sub (p, !iii), !index, true); loopk (k + 1)) in loopk 0 end; loopj (j + 1)) in loopj 0 end; loopi (i + 1)) in (loopi 0; update (class, !iii, iclass); update (piecemax, !iii, !index); if not (!iii = typemax) then iii := !iii + 1 else ()) end fun start () = let fun loop1 m = if m > size then () else (update (puzzle, m, true); loop1 (m + 1)) fun loop2 i = if i > 5 then () else (let fun loopj j = if j > 5 then () else (let fun loopk k = if k > 5 then () else (update (puzzle, i + (d * (j + (d * k))), false); loopk (k + 1)) in loopk 1 end; loopj (j + 1)) in loopj 1 end; loop2 (i + 1)) fun loop3 i = if i > typemax then () else (let fun loopm m = if m > size then () else (update (sub (p, i), m, false); loopm (m + 1)) in loopm 0 end; loop3 (i + 1)) in (kount := 0; loop1 0; loop2 1; loop3 0; iii := 0; definePiece (0, 3, 1, 0); definePiece (0, 1, 0, 3); definePiece (0, 0, 3, 1); definePiece (0, 1, 3, 0); definePiece (0, 3, 0, 1); definePiece (0, 0, 1, 3); definePiece (1, 2, 0, 0); definePiece (1, 0, 2, 0); definePiece (1, 0, 0, 2); definePiece (2, 1, 1, 0); definePiece (2, 1, 0, 1); definePiece (2, 0, 1, 1); definePiece (3, 1, 1, 1); update (piececount, 0, 13); update (piececount, 1, 3); update (piececount, 2, 1); update (piececount, 3, 1); let val m = (d * (d + 1)) + 1 val n = ref 0 in (if fit (0, m) then n := place (0, m) else print "\nError."; if trial (!n) then ((* print "\nSuccess in "; print (Int.toString (!kount)); print " trials." *)) else print "\nFailure.") end) end in start() end fun run_benchmark x = x val puzzle_iters = 100 fun puzzle_benchmark (n) = run_benchmark ("puzzle", n, fn () => start(), fn (x) => !kount = 2005) fun main () = puzzle_benchmark (puzzle_iters) structure Main = struct fun testit out = let val (_,_,f,t) = main () in TextIO.output (out, if t (f ()) then "OK\n" else "Fail\n") end fun doit () = let val (_,n,f,_) = main () fun loop 0 = () | loop n = (f (); loop (n-1)) in loop n end end smlsharp-1.2.0/benchmark/benchmarks/ratio_regions0000755 000000000000000000000000012050661606022337 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks/ratio_regions/doit.smi0000644 000000000000000000000006212050661606024065 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "ratio-regions.smi" smlsharp-1.2.0/benchmark/benchmarks/ratio_regions/doit.sml0000644 000000000000000000000003612050661606024071 0ustar00rootroot0000000 0000000 Main.doit (); print "Done\n"; smlsharp-1.2.0/benchmark/benchmarks/ratio_regions/ratio-regions.smi0000644 000000000000000000000012712050661606025712 0ustar00rootroot0000000 0000000 _require "basis.smi" structure Main = struct val doit : unit -> bool array array end smlsharp-1.2.0/benchmark/benchmarks/ratio_regions/ratio-regions.sml0000644 000000000000000000005060512050661606025723 0ustar00rootroot0000000 0000000 fun print _ = () (* From Jeff Siskind (qobi@research.nj.nec.com) * * It is an implementation of Ratio * Regions, an image segmentation/contour finding technique due to Ingemar Cox, * Satish Rao, and Yu Zhong. The algorithm is a reduction to max flow, an * unpublished technique that Satish described to me. Peter Blicher originally * implemented this via a translation to Andrew Goldberg's generic max-flow code. * I've reimplemented it, specializing the max-flow algorithm to the particular * graphs that are produced by Satish's reduction instead of using Andrew's code. * The max-flow algorithm is preflow-push with periodic relabeling and a * wave-based heuristic for scheduling pushes and lifts due to Sebastien Roy. *) local fun doo(max: int, f: int -> unit): unit = let fun loop i = if i >= max then () else (f i; loop(i + 1)) in loop 0 end fun zero x = x = 0 val cons = op :: val make_vector = Array.array val vector_length = Array.length val vector_ref = Array.sub val vector_set = Array.update val map_n_vector = Array.tabulate val string_length = String.size val string_ref = String.sub fun write_char c = TextIO.output1(TextIO.stdOut, c) val modulo = Int.mod val quotient = Int.quot fun for_each(l, f) = List.app f l fun negative x = x < 0 fun positive x = x > 0 fun min l = case l of x :: l => let fun loop(l, min) = case l of [] => min | x :: l => loop(l, Int.min(min, x)) in loop(l, x) end | _ => raise Fail "min" fun every_n(n, p) = let fun loop i = i >= n orelse (p i andalso loop(i + 1)) in loop 0 end fun some(l, p) = List.exists p l fun some_n(n, p) = let fun loop i = i < n andalso (p i orelse loop(i + 1)) in loop 0 end fun some_vector(v, p) = let fun loop i = i < vector_length v andalso (p(vector_ref(v, i)) orelse loop(i + 1)) in loop 0 end fun x(x, _) = x fun y(_, y) = y datatype 'a matrix = Matrix of 'a array array fun make_matrix(m: int, n: int, a: 'a): 'a matrix = Matrix(map_n_vector(m, fn i => make_vector(n, a))) fun matrix_rows(Matrix a) = vector_length a fun matrix_columns(Matrix a) = vector_length(vector_ref(a, 0)) fun matrix_ref(Matrix a, i, j) = vector_ref(vector_ref(a, i), j) fun matrix_set(Matrix a, i, j, x) = vector_set(vector_ref(a, i), j, x) datatype pormatValue = Int of int | String of string fun pormat(control_string: string, values: pormatValue list): unit = let fun loop(i: int, values: pormatValue list): unit = if not(i = string_length control_string) then let val c = string_ref(control_string, i) in if c = #"~" then let val c2 = string_ref(control_string, i + 1) in case (c2, values) of (#"s", Int n :: values) => (print(Int.toString n) ; loop(i + 2, values)) | (#"a", String s :: values) => (print s ; loop(i + 2, values)) | (#"%", _) => (print "\n"; loop(i + 2, values)) | _ => (write_char c; loop(i + 1, values)) end else (write_char c ; loop(i + 1, values)) end else () in loop(0, values) end (* The vertices are s, t, and (y,x). * C_RIGHT[y,x] is the capacity from (y,x) to (y,x+1) which is the same as the * capacity from (y,x+1) to (y,x). * C_DOWN[y,x] is the capacity from (y,x) to (y+1,x) which is the same as the * capacity from (y+1,x) to (y,x). * The capacity from s to (y,0), (0,x), (y,Y_1), (0,X_1) is implicitly * infinite. * The capacity from (x,y) to t is V*W[y,x]. * F_RIGHT[y,x] is the preflow from (y,x) to (y,x+1) which is the negation of * the preflow from (y,x+1) to (y,x). * F_DOWN[y,x] is the preflow from (y,x) to (y+1,x) which is the negation of * the preflow from (y+1,x) to (y,x). * We do not record the preflow from s to (y,X_1), (y,0), (Y_1,x), and (0,x) * and from (y,X_1), (y,0), (Y_1,x), and (0,x) to s. * F_T[y,x] is the preflow from (y,x) to t. * We do not record the preflow from t to (y,x). * {C,F}_RIGHT[0:Y_1,0:X_2]. * {C,F}_DOWN[0:Y_2,0:X_1]. * F_T[0:Y_1,0:X_1] * For now, we will keep all capacities (and thus all preflows) as integers. * (CF_RIGHT y x) is the residual capacity from (y,x) to (y,x+1). * (CF_LEFT y x) is the residual capacity from (y,x) to (y,x_1). * (CF_DOWN y x) is the residual capacity from (y,x) to (y+1,x). * (CF_UP y x) is the residual capacity from (y,x) to (y_1,x). * We do not compute the residual capacities from s to (y,X_1), (y,0), * (Y_1,x), and (0,x) because they are all infinite. * We do not compute the residual capacities from (y,X_1), (y,0), (Y_1,x), * and (0,x) to s because they will never be used. * (CF_T y x) is the residual capacity from (y,x) to t. * We do not compute the residual capacity from t to (y,x) because it will * be used. * (EF_RIGHT? y x) is true if there is an edge from (y,x) to (y,x+1) in the * residual network. * (EF_LEFT? y x) is true if there is an edge from (y,x) to (y,x_1) in the * residual network. * (EF_DOWN? y x) is true if there is an edge from (y,x) to (y+1,x) in the * residual network. * (EF_UP? y x) is true if there is an edge from (y,x) to (y_1,x) in the * residual network. * (EF_T? y x) is true if there is an edge from (y,x) to t in the * residual network. * There are always edges in the residual network from s to (y,X_1), (y,0), * (Y_1,x), and (0,x). * We don't care whether there are edges in the residual network from * (y,X_1), (y,0), (Y_1,x), and (0,x) to s because they will never be used. * We don't care whether there are edges in the residual network from t to * (y,x) because they will never be used. *) fun positive_min(x, y) = if negative x then y else Int.min(x, y) fun positive_minus(x, y) = if negative x then x else x - y fun positive_plus(x, y) = if negative x then x else x + y fun rao_ratio_region(c_right, c_down, w, lg_max_v) = let val height = matrix_rows w val width = matrix_columns w val f_right = make_matrix(height, width - 1, 0) val f_down = make_matrix(height - 1, width, 0) val f_t = make_matrix(height, width, 0) val h = make_matrix(height, width, 0) val e = make_matrix(height, width, 0) val marked = make_matrix(height, width, false) val m1 = height * width + 2 val m2 = 2 * height * width + 2 val q = make_vector(2 * height * width + 3, []) fun cf_right(y, x) = matrix_ref(c_right, y, x) - matrix_ref(f_right, y, x) fun cf_left(y, x) = matrix_ref(c_right, y, x - 1) + matrix_ref(f_right, y, x - 1) fun cf_down(y, x) = matrix_ref(c_down, y, x) - matrix_ref(f_down, y, x) fun cf_up(y, x) = matrix_ref(c_down, y - 1, x) + matrix_ref(f_down, y - 1, x) fun ef_right(y, x) = positive(cf_right(y, x)) fun ef_left(y, x) = positive(cf_left(y, x)) fun ef_down(y, x) = positive(cf_down(y, x)) fun ef_up(y, x) = positive(cf_up(y, x)) fun preflow_push v = let fun enqueue(y, x) = if not(matrix_ref(marked, y, x)) then (vector_set(q, matrix_ref(h, y, x), (cons((x, y), vector_ref(q, matrix_ref(h, y, x))))) ; matrix_set(marked, y, x, true)) else () fun cf_t(y, x) = v * matrix_ref(w, y, x) - matrix_ref(f_t, y, x) fun ef_t(y, x) = positive(cf_t(y, x)) fun can_push_right(y, x) = x < width - 1 andalso not(zero(matrix_ref(e, y, x))) andalso ef_right(y, x) andalso matrix_ref(h, y, x) = matrix_ref(h, y, x + 1) + 1 fun can_push_left(y, x) = x > 0 andalso not(zero(matrix_ref(e, y, x))) andalso ef_left(y, x) andalso matrix_ref(h, y, x) = matrix_ref(h, y, x - 1) + 1 fun can_push_down(y, x) = y < height - 1 andalso not(zero(matrix_ref(e, y, x))) andalso ef_down(y, x) andalso matrix_ref(h, y, x) = matrix_ref(h, y + 1, x) + 1 fun can_push_up(y, x) = y > 0 andalso not(zero(matrix_ref(e, y, x))) andalso ef_up(y, x) andalso matrix_ref(h, y, x) = matrix_ref(h, y - 1, x) + 1 fun can_push_t(y, x) = not(zero(matrix_ref(e, y, x))) andalso ef_t(y, x) andalso matrix_ref(h, y, x) = 1 fun can_lift(y, x) = not(zero(matrix_ref(e, y, x))) andalso (if x = width - 1 then matrix_ref(h, y, x) <= m1 else (not(ef_right(y, x)) orelse matrix_ref(h, y, x) <= matrix_ref(h, y, x + 1))) andalso (if x = 0 then matrix_ref(h, y, x) <= m1 else (not(ef_left(y, x)) orelse matrix_ref(h, y, x) <= matrix_ref(h, y, x - 1))) andalso (if y = height - 1 then matrix_ref(h, y, x) <= m1 else (not(ef_down(y, x)) orelse matrix_ref(h, y, x) <= matrix_ref(h, y + 1, x))) andalso (if y = 0 then matrix_ref(h, y, x) <= m1 else (not(ef_up(y, x)) orelse matrix_ref(h, y, x) <= matrix_ref(h, y - 1, x))) andalso (not(ef_t(y, x)) orelse matrix_ref(h, y, x) = 0) fun push_right(y, x) = (* (pormat "Push right ~s ~s~%" y x) *) let val df_u_v = positive_min(matrix_ref(e, y, x), cf_right(y, x)) in matrix_set(f_right, y, x, matrix_ref(f_right, y, x) + df_u_v) ; matrix_set(e, y, x, positive_minus(matrix_ref(e, y, x), df_u_v)) ; matrix_set(e, y, x + 1, positive_plus(matrix_ref(e, y, x + 1), df_u_v)) ; enqueue(y, x + 1) end fun push_left(y, x) = (* (pormat "Push left ~s ~s~%" y x) *) let val df_u_v = positive_min(matrix_ref(e, y, x), cf_left(y, x)) in matrix_set(f_right, y, x - 1, matrix_ref(f_right, y, x - 1) - df_u_v) ; matrix_set(e, y, x, positive_minus(matrix_ref(e, y, x), df_u_v)) ; matrix_set(e, y, x - 1, positive_plus(matrix_ref(e, y, x - 1), df_u_v)) ; enqueue(y, x - 1) end fun push_down(y, x) = (* (pormat "Push down ~s ~s~%" y x) *) let val df_u_v = positive_min(matrix_ref(e, y, x), cf_down(y, x)) in matrix_set(f_down, y, x, matrix_ref(f_down, y, x) + df_u_v) ; matrix_set(e, y, x, positive_minus(matrix_ref(e, y, x), df_u_v)) ; matrix_set(e, y + 1, x, positive_plus(matrix_ref(e, y + 1, x), df_u_v)) ; enqueue(y + 1, x) end fun push_up(y, x) = (* ;;(pormat "Push up ~s ~s~%" y x) *) let val df_u_v = positive_min(matrix_ref(e, y, x), cf_up(y, x)) in matrix_set(f_down, y - 1, x, matrix_ref(f_down, y - 1, x) - df_u_v) ; matrix_set(e, y, x, positive_minus(matrix_ref(e, y, x), df_u_v)) ; matrix_set(e, y - 1, x, positive_plus(matrix_ref(e, y - 1, x), df_u_v)) ; enqueue(y - 1, x) end fun push_t(y, x) = (* ;;(pormat "Push t ~s ~s~%" y x) *) let val df_u_v = positive_min(matrix_ref(e, y, x), cf_t(y, x)) in matrix_set(f_t, y, x, matrix_ref(f_t, y, x) + df_u_v) ; matrix_set(e, y, x, positive_minus(matrix_ref(e, y, x), df_u_v)) end fun lift(y, x) = (* ;;(pormat "Lift ~s ~s~%" y x) *) matrix_set (h, y, x, 1 + min[if x = width - 1 then m1 else if ef_right(y, x) then matrix_ref(h, y, x + 1) else m2, if x = 0 then m1 else if ef_left(y, x) then matrix_ref(h, y, x - 1) else m2, if y = height - 1 then m1 else if ef_down(y, x) then matrix_ref(h, y + 1, x) else m2, if y = 0 then m1 else if ef_up(y, x) then matrix_ref(h, y - 1, x) else m2, if ef_t(y, x) then 0 else m2]) fun relabel() = (* ;;(pormat "Relabel~%") *) let datatype 'a queue = Qnil | Qcons of 'a * 'a queue ref infixr 5 Qcons fun null(q: 'q queue ref) = case !q of Qnil => true | _ => false val q: (int * int) queue ref = ref Qnil val tail: (int * int) queue ref = ref Qnil fun enqueue(y, x, value) = if value < matrix_ref(h, y, x) then (matrix_set(h, y, x, value) ; if not(matrix_ref(marked, y, x)) then (matrix_set(marked, y, x, true) ; (case !tail of Qnil => (tail := (x, y) Qcons ref Qnil ; q := !tail) | _ Qcons cdr => (cdr := (x, y) Qcons ref Qnil ; tail := !cdr))) else ()) else () fun dequeue() = case !q of Qnil => raise Fail "dequeue" | p Qcons rest => (matrix_set(marked, y p, x p, false) ; q := !rest ; if null q then tail := Qnil else () ; p) in doo(height, fn y => doo(width, fn x => (matrix_set(h, y, x, m1) ; matrix_set(marked, y, x, false)))) ; doo(height, fn y => doo(width, fn x => if ef_t(y, x) andalso matrix_ref(h, y, x) > 1 then enqueue(y, x, 1) else ())) ; let fun loop() = if not(null q) then (let val p = dequeue() val x = x p val y = y p val value = matrix_ref(h, y, x) + 1 in if x > 0 andalso ef_right(y, x - 1) then enqueue(y, x - 1, value) else () ; if x < width - 1 andalso ef_left(y, x + 1) then enqueue(y, x + 1, value) else () ; if y > 0 andalso ef_down(y - 1, x) then enqueue(y - 1, x, value) else () ; if y < height - 1 andalso ef_up(y + 1, x) then enqueue(y + 1, x, value) else () end ; loop()) else () in loop() end end (* relabel *) in doo(height, fn y => doo(width, fn x => (matrix_set(e, y, x, 0) ; matrix_set(f_t, y, x, 0)))) ; doo(height, fn y => doo(width - 1, fn x => matrix_set(f_right, y, x, 0))) ; doo(height - 1, fn y => doo(width, fn x => matrix_set(f_down, y, x, 0))) ; doo(height, fn y => (matrix_set(e, y, width - 1, ~1) ; matrix_set(e, y, 0, ~1))) ; doo(width - 1, fn x => (matrix_set(e, height - 1, x, ~1) ; matrix_set(e, 0, x, ~1))) ; let val pushes = ref 0 val lifts = ref 0 val relabels = ref 0 fun loop(i, p) = if zero(modulo(i, 6)) andalso not p then (relabel() ; relabels := !relabels + 1 ; if every_n(height, fn y => every_n(width, fn x => zero(matrix_ref(e, y, x)) orelse matrix_ref(h, y, x) = m1)) then (* Every vertex with excess capacity is not reachable from the sink in * the inverse residual network. So terminate early because we have * already found a min cut. In this case, the preflows and excess * capacities will not be correct. But the cut is indicated by the * heights. Vertices reachable from the source have height * HEIGHT * WIDTH + 2 while vertices reachable from the sink have * smaller height. Early termination is necessary with relabeling to * prevent an infinite loop. The loop arises because vertices that are * not reachable from the sink in the inverse residual network have * their height reset to HEIGHT * WIDTH + 2 by the relabeling * process. If there are such vertices with excess capacity, this is * not high enough for the excess capacity to be pushed back to the * perimeter. So after relabeling, vertices get lifted to try to push * excess capacity back to the perimeter but then a relabeling happens * to soon and foils this lifting. Terminating when all vertices with * excess capacity are not reachable from the sink in the inverse * residual network eliminates this problem. *) (pormat ("~s push~a, ~s lift~a, ~s relabel~a, ~s wave~a, terminated early~%", [Int(! pushes), String(if !pushes = 1 then "" else "es"), Int(! lifts), String(if !lifts = 1 then "" else "s"), Int(! relabels), String(if !relabels = 1 then "" else "s"), Int i, String(if i = 1 then "" else "s")])) else (* We need to rebuild the priority queue after relabeling since the * heights might have changed and the priority queue is indexed by * height. This also assumes that a relabel is done before any pushes * or lifts. *) (doo(vector_length q, fn k => vector_set(q, k, [])) ; doo(height, fn y => doo(width, fn x => matrix_set(marked, y, x, false))) ; doo(height, fn y => doo(width, fn x => if not(zero(matrix_ref(e, y, x))) then enqueue(y, x) else ())) ; loop(i, true))) else if some_vector(q, fn ps => some(ps, fn p => let val x = x p val y = y p in can_push_right(y, x) orelse can_push_left(y, x) orelse can_push_down(y, x) orelse can_push_up(y, x) orelse can_push_t(y, x) orelse can_lift(y, x) end)) then ( let fun loop k = if not(negative k) then ( let val ps = vector_ref(q, k) in vector_set(q, k, []) ; (for_each (ps, fn p => matrix_set(marked, y p, x p, false))) ; (for_each (ps, fn p => let val x = x p val y = y p in if can_push_right(y, x) then (pushes := !pushes + 1 ; push_right(y, x)) else () ; if can_push_left(y, x) then (pushes := !pushes + 1 ; push_left(y, x)) else () ; if can_push_down(y, x) then (pushes := !pushes + 1 ; push_down(y, x)) else () ; if can_push_up(y, x) then (pushes := !pushes + 1 ; push_up(y, x)) else () ; if can_push_t(y, x) then (pushes := !pushes + 1 ; push_t(y, x)) else () ; if can_lift(y, x) then (lifts := !lifts + 1 ; lift(y, x)) else () ; if not(zero(matrix_ref(e, y, x))) then enqueue(y, x) else () end)) end ; loop(k - 1)) else () in loop(vector_length q - 1) end ; loop(i + 1, false)) else (* This is so MIN_CUT and MIN_CUT_INCLUDES_EVERY_EDGE_TO_T work. *) (relabel() ; relabels := !relabels + 1 ; (pormat("~s push~a, ~s lift~a, ~s relabel~a, ~s wave~a~%", [Int(! pushes), String(if !pushes = 1 then "" else "es"), Int(! lifts), String(if !lifts = 1 then "" else "s"), Int(! relabels), String(if !relabels = 1 then "" else "s"), Int i, String(if i = 1 then "" else "s")]))) in loop(0, false) end end fun min_cut_includes_every_edge_to_t() = (* This requires that a relabel was done immediately before returning from * PREFLOW_PUSH. *) every_n(height, fn y => every_n(width, fn x => matrix_ref(h, y, x) = m1)) fun min_cut() = (* This requires that a relabel was done immediately before returning from * PREFLOW_PUSH *) map_n_vector (height, fn y => map_n_vector(width, fn x => not(matrix_ref(h, y, x) = m1))) fun loop(lg_v, v_max) = if negative lg_v then (pormat("V-MAX=~s~%",[Int v_max]) ; preflow_push(v_max + 1) ; min_cut()) else let val v = v_max + let fun loop(i, c) = if (zero i) then c else loop(i - 1, c + c) in loop(lg_v, 1) end in pormat("LG-V=~s, V-MAX=~s, V=~s~%", [Int lg_v, Int v_max, Int v]) ; preflow_push v ; loop(lg_v - 1, if min_cut_includes_every_edge_to_t() then v else v_max) end in loop(lg_max_v, 0) end in fun doit() = let val height = 256 val width = 256 val lg_max_v = 15 val c_right = make_matrix(height, width - 1, ~1) val c_down = make_matrix(height - 1, width, ~1) in doo(height, fn y => doo(width - 1, fn x => matrix_set (c_right, y, x, if (y >= quotient(height, 4) andalso y < quotient(3 * height, 4) andalso (x = quotient(width, 4) - 1 orelse x = quotient(3 * width, 4) - 1)) then 1 else 128))) ; doo(height - 1, fn y => doo(width, fn x => matrix_set (c_down, y, x, if (x >= quotient(width, 4) andalso x < quotient(3 * width, 4) andalso (y = quotient(height, 4) - 1 orelse y = quotient(3 * height, 4) - 1)) then 1 else 128))) ; rao_ratio_region(c_right, c_down, make_matrix(height, width, 1), lg_max_v) end end structure Main = struct val doit = doit end smlsharp-1.2.0/benchmark/benchmarks/ratio_regions/sources.cm0000644 000000000000000000000003512050661606024420 0ustar00rootroot0000000 0000000 Group is ratio-regions.sml smlsharp-1.2.0/benchmark/benchmarks/ray0000755 000000000000000000000000012050661606020266 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks/ray/doit.smi0000644 000000000000000000000005112050661606022012 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "main.smi" smlsharp-1.2.0/benchmark/benchmarks/ray/doit.sml0000644 000000000000000000000003612050661606022020 0ustar00rootroot0000000 0000000 Main.doit (); print "Done\n"; smlsharp-1.2.0/benchmark/benchmarks/ray/interface.smi0000644 000000000000000000000047612050661606023026 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "objects.smi" _require "interp.smi" _require "ray.smi" structure Interface = struct val ps_color : Objects.object list -> Objects.object list val ps_sphere : Objects.object list -> Objects.object list val ps_raytrace : Objects.object list -> 'a list val rtInit : unit -> unit end smlsharp-1.2.0/benchmark/benchmarks/ray/interface.sml0000644 000000000000000000000263312050661606023026 0ustar00rootroot0000000 0000000 (* interface.sml * * COPYRIGHT (c) 1992 AT&T Bell Laboratories * * The interface between the interpreter and the ray tracer. *) structure Interface = struct local open Objects in (* color pops three numbers and pushes a color object. * usage: red-value green-value blue-value color *) fun ps_color ((NUMBER blu)::(NUMBER grn)::(NUMBER red)::r) = (COLOR(Color{red=red, grn=grn, blu=blu})) :: r | ps_color stk = Interp.error "color" stk (* pop radius, coordinates of center, and a color and push a sphere * usage: radius x y z color-value sphere *) fun ps_sphere ( (COLOR c)::(NUMBER z)::(NUMBER y)::(NUMBER x)::(NUMBER rad)::r ) = SPHERE(Sphere{c=PT{x=x, y=y, z=z}, r=rad, color=c}) :: r | ps_sphere stk = Interp.error "sphere" stk (* build an object list from solids on the stack, then invoke raytracer *) fun ps_raytrace ((LITERAL picName)::r) = let fun mkObjList ([], l) = l | mkObjList ((SPHERE s)::r, l) = mkObjList(r, s::l) | mkObjList (_::r, l) = mkObjList(r, l) in Ray.picture(picName, mkObjList(r, [])); [] end | ps_raytrace stk = Interp.error "raytrace" stk (* add ray tracing operations to interpreter dictionary *) fun rtInit () = ( Interp.installOperator("color", ps_color); Interp.installOperator("sphere", ps_sphere); Interp.installOperator("raytrace", ps_raytrace)) end (* local *) end; smlsharp-1.2.0/benchmark/benchmarks/ray/interp.smi0000644 000000000000000000000141612050661606022362 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "objects.smi" structure Interp = struct exception Stop val error : string -> Objects.object list -> 'a val installOperator : string * (Objects.object list -> Objects.object list) -> unit val ps_def : Objects.object list -> Objects.object list val ps_add : Objects.object list -> Objects.object list val ps_sub : Objects.object list -> Objects.object list val ps_mul : Objects.object list -> Objects.object list val ps_div : Objects.object list -> Objects.object list val ps_rand : Objects.object list -> Objects.object list val ps_print : Objects.object list -> Objects.object list val ps_dup : Objects.object list -> Objects.object list val ps_stop : 'a -> 'b val parse : TextIO.instream -> unit end smlsharp-1.2.0/benchmark/benchmarks/ray/interp.sml0000644 000000000000000000001201612050661606022363 0ustar00rootroot0000000 0000000 (* interp.sml * * COPYRIGHT (c) 1992 AT&T Bell Laboratories *) structure Interp = struct local val exit = OS.Process.exit fun ordof(s, i) = Char.ord(String.sub(s, i)) exception NotAChar exception NotAReal fun fromStr x = (case Char.fromString x of SOME c => c | NONE => raise NotAChar) fun strToReal s = (case Real.fromString s of SOME r => r | _ => raise NotAReal) fun intToReal x = (strToReal ((Int.toString x) ^ ".0")) val explode = (fn x => map Char.toString (explode x)) val implode = (fn x => implode (map fromStr x)) open Objects val dict = ref ([] : {key : string, value : object} list) fun dictInsert (NAME key, value) = let fun find [] = [{key=key, value=value}] | find (x::r) = if (key = #key x) then {key=key, value=value}::r else x :: (find r) in dict := find(!dict) end | dictInsert _ = raise Fail "dictInsert" fun prObj outStrm obj = let fun printf args = TextIO.output(outStrm, implode args) fun pr (NUMBER n) = printf[" ", Real.toString n, "\n"] | pr (NAME s) = printf[" ", s, "\n"] | pr (LITERAL s) = printf[" ", s, "\n"] | pr (LIST l) = app pr l | pr MARK = printf[" MARK\n"] | pr (OPERATOR _) = printf[" \n"] | pr TOP = printf[" TOP OF STACK\n"] | pr _ = printf[" \n"] in pr obj end in exception Stop fun error opName stk = let fun prStk ([], _) = () | prStk (_, 0) = () | prStk (obj::r, i) = (prObj TextIO.stdErr obj; prStk(r, i-1)) in TextIO.output(TextIO.stdErr, "ERROR: "^opName^"\n"); prStk (stk, 10); raise (Fail opName) end fun installOperator (name, rator) = dictInsert (NAME name, OPERATOR rator) fun ps_def (v::k::r) = (dictInsert(k, v); r) | ps_def stk = error "ps_def" stk local fun binOp (f, opName) = let fun g ((NUMBER arg1)::(NUMBER arg2)::r) = NUMBER(f(arg2, arg1)) :: r | g stk = error opName stk in g end in val ps_add = binOp (op +, "add") val ps_sub = binOp (op -, "sub") val ps_mul = binOp (op *, "mul") val ps_div = binOp (op /, "div") end fun ps_rand stk = (NUMBER 0.5)::stk (** ??? **) fun ps_print (obj::r) = (prObj TextIO.stdOut obj; r) | ps_print stk = error "print" stk fun ps_dup (obj::r) = (obj::obj::r) | ps_dup stk = error "dup" stk fun ps_stop _ = raise Stop (* initialize dictionary and begin parsing input *) fun parse inStrm = let fun getc () = case TextIO.input1 inStrm of NONE => "" | SOME c => Char.toString c fun peek () = case TextIO.lookahead inStrm of SOME x => Char.toString x | _ => "" (* parse one token from inStrm *) fun toke deferred = let fun doChar "" = exit OS.Process.success | doChar "%" = let fun lp "\n" = doChar(getc()) | lp "" = exit OS.Process.success | lp _ = lp(getc()) in lp(getc()) end | doChar "{" = (MARK, deferred+1) | doChar "}" = (UNMARK, deferred-1) | doChar c = if Char.isSpace (fromStr c) then doChar(getc()) else let fun lp buf = (case peek() of "{" => buf | "}" => buf | "%" => buf | c => if Char.isSpace(fromStr c) then buf else (getc(); lp(c::buf)) (* end case *)) val tok = implode (rev (lp [c])) val hd = ordof(tok, 0) in if (hd = ord (#"/")) then (LITERAL(substring(tok, 1, size tok - 1)), deferred) else if ((Char.isDigit (chr hd)) orelse (hd = ord (#"-"))) then (NUMBER(strToReal(tok)), deferred) else (NAME tok, deferred) end in doChar(getc()) end (* execute a token (if not deferred) *) fun exec (UNMARK, stk, _) = let fun lp ([], _) = raise Fail "MARK" | lp (MARK::r, l) = (LIST l)::r | lp (x::r, l) = lp (r, x::l) in lp (stk, []) end | exec (OPERATOR f, stk, 0) = f stk | exec (LIST l, stk, 0) = let fun execBody ([], stk) = stk | execBody (obj::r, stk) = (exec(obj, stk, 0); execBody(r, stk)) in execBody (l, stk) end | exec (NAME s, stk, 0) = let fun find [] = raise Fail "undefined name" | find ({key, value}::r) = if (key = s) then value else find r in exec (find (!dict), stk, 0) end | exec (obj, stk, _) = obj::stk fun lp (stk, level) = let val (obj, level) = toke level val stk = exec (obj, stk, level) in lp (stk, level) end in installOperator ("add", ps_add); installOperator ("def", ps_def); installOperator ("div", ps_div); installOperator ("dup", ps_dup); installOperator ("mul", ps_mul); installOperator ("print", ps_print); installOperator ("rand", ps_rand); installOperator ("stop", ps_stop); installOperator ("sub", ps_sub); (lp ([], 0)) handle Stop => () end (* parse *) end (* local *) end (* Interp *) smlsharp-1.2.0/benchmark/benchmarks/ray/main.smi0000644 000000000000000000000033012050661606021777 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "./objects.smi"; _require "./ray.smi"; _require "./interp.smi"; _require "./interface.smi"; structure Main = struct val doit : unit -> unit val testit : TextIO.outstream -> unit end smlsharp-1.2.0/benchmark/benchmarks/ray/main.sml0000644 000000000000000000000061112050661606022004 0ustar00rootroot0000000 0000000 (* main.sml * * COPYRIGHT (c) 1992 AT&T Bell Laboratories * * Main structure for running raytracer as benchmark. *) structure Main (*: BMARK*) = struct fun doit () = let val strm = TextIO.openString ("\ \100 0 0 0 8 8 8 color sphere\n\ \/./TEST raytrace\n\ \stop\n\ \") in Interface.rtInit(); Interp.parse strm end fun testit _ = () end; smlsharp-1.2.0/benchmark/benchmarks/ray/objects.smi0000644 000000000000000000000151412050661606022511 0ustar00rootroot0000000 0000000 _require "basis.smi" structure Objects = struct datatype point = PT of {x:real, y:real, z:real} datatype vector = VEC of {l:real, m:real, n:real} datatype ray = Ray of {d:vector, s:point} datatype camera = Camera of {ll:point, lr:point, ul:point, ur:point, vp:point} datatype color = Color of {blu:real, grn:real, red:real} datatype sphere = Sphere of {c:point, color:color, r:real} datatype hit = Hit of {s:sphere, t:real} | Miss datatype visible = Visible of {h:point, s:sphere} datatype object = CAMERA of camera | COLOR of color | HIT | LIST of object list | LITERAL of string | MARK | NAME of string | NUMBER of real | OPERATOR of object list -> object list | POINT of point | RAY of ray | SPHERE of sphere | TOP | UNMARK | VECTOR of vector | VISIBLE end smlsharp-1.2.0/benchmark/benchmarks/ray/objects.sml0000644 000000000000000000000210512050661606022511 0ustar00rootroot0000000 0000000 (* objects.sml * * COPYRIGHT (c) 1992 AT&T Bell Laboratories * * Type declarations for the various objects in the ray tracer. *) structure Objects = struct datatype point = PT of {x : real, y : real, z : real} datatype vector = VEC of {l : real, m : real, n : real} datatype ray = Ray of {s : point, d : vector} datatype camera = Camera of { vp : point, ul : point, ur : point, ll : point, lr : point } datatype color = Color of {red : real, grn : real, blu : real} datatype sphere = Sphere of {c : point, r : real, color : color} datatype hit = Miss | Hit of {t : real, s : sphere} datatype visible = Visible of {h : point, s : sphere} datatype object = TOP | NUMBER of real | NAME of string | LIST of object list | OPERATOR of object list -> object list | MARK | LITERAL of string | UNMARK | POINT of point | VECTOR of vector | RAY of ray | CAMERA of camera | COLOR of color | SPHERE of sphere | HIT | VISIBLE end (* Objects *) smlsharp-1.2.0/benchmark/benchmarks/ray/ray.smi0000644 000000000000000000000152512050661606021655 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "objects.smi" structure Ray = struct val scaleVector : real * Objects.vector -> Objects.vector val vecPlusVec : Objects.vector * Objects.vector -> Objects.vector val vecPlusPt : Objects.vector * Objects.point -> Objects.point val ptMinusPt : Objects.point * Objects.point -> Objects.vector val wave : Objects.point * Objects.point * real -> Objects.point val dotProd : Objects.vector * Objects.vector -> real val normalSphere : Objects.visible -> Objects.vector val intersectSphere : Objects.ray * Objects.sphere -> Objects.hit val trace : Objects.ray * Objects.sphere list -> Objects.visible val shade : Objects.visible -> Objects.color val camera : real * real -> Objects.ray val image : Objects.sphere list -> real * real -> Objects.color val picture : string * Objects.sphere list -> unit end smlsharp-1.2.0/benchmark/benchmarks/ray/ray.sml0000644 000000000000000000000734712050661606021670 0ustar00rootroot0000000 0000000 (* ray.sml * * COPYRIGHT (c) 1992 AT&T Bell Laboratories *) structure Ray = struct local open Objects in (** basic operations on points and vectors **) fun scaleVector (s, VEC{l, m, n}) = VEC{l=s*l, m=s*m, n=s*n} fun vecPlusVec (VEC{l, m, n}, VEC{l=l', m=m', n=n'}) = VEC{l=l+l', m=m+m', n=n+n'} fun vecPlusPt (VEC{l, m, n}, PT{x, y, z}) = PT{x=x+l, y=y+m, z=z+n} fun ptMinusPt (PT{x, y, z}, PT{x=x', y=y', z=z'}) = VEC{l=x-x', m=y-y', n=z-z'} fun wave (PT{x, y, z}, PT{x=x', y=y', z=z'}, w) = PT{ x = w * (x' - x) + x, y = w * (y' - y) + y, z = w * (z' - z) + z } fun dotProd (VEC{l, m, n}, VEC{l=l', m=m', n=n'}) = ((l*l') + (m*m') + (n*n')) (* normal vector to sphere *) fun normalSphere (Visible{h, s as Sphere{c, ...}}) = let val n = ptMinusPt(h, c) val norm = Math.sqrt(dotProd(n, n)) in scaleVector(1.0 / norm, n) end (* intersect a ray with a sphere *) fun intersectSphere (Ray ray, s as Sphere sphere) = let val a = dotProd(#d ray, #d ray) val sdiffc = ptMinusPt(#s ray, #c sphere) val b = 2.0 * dotProd(sdiffc, #d ray) val c = dotProd(sdiffc, sdiffc) - (#r sphere * #r sphere) val d = b*b - 4.0*a*c in if (d <= 0.0) then Miss else let val d = Math.sqrt(d) val t1 = (~b - d) / (2.0 * a) val t2 = (~b + d) / (2.0 * a) val t = if ((t1 > 0.0) andalso (t1 < t2)) then t1 else t2 in Hit{t=t, s=s} end end (* simple shading function *) fun shade {light, phi} (visible as Visible{h, s}) = let val l = ptMinusPt(light, h) val n = normalSphere(visible) val irradiance = phi * dotProd(l,n) / dotProd(l,l); val irradiance = (if (irradiance < 0.0) then 0.0 else irradiance) + 0.05 val Sphere{color=Color{red, grn, blu}, ...} = s in Color{red=red*irradiance, grn=grn*irradiance, blu=blu*irradiance} end fun trace (ray as (Ray ray'), objList) = let fun closest (Miss, x) = x | closest (x, Miss) = x | closest (h1 as Hit{t=t1, ...}, h2 as Hit{t=t2, ...}) = if (t2 < t1) then h2 else h1 fun lp ([], Hit{t, s}) = Visible{ h = vecPlusPt(scaleVector(t, #d ray'), #s ray'), s = s } | lp (s :: r, closestHit) = lp (r, closest (closestHit, intersectSphere (ray, s))) | lp _ = raise Fail "trace" in lp (objList, Miss) end fun camera (Camera cam) (x, y) = let val l = wave (#ul cam, #ll cam, y) val r = wave (#ur cam, #lr cam, y) val image_point = wave(l, r, x) in Ray{d = ptMinusPt(image_point, #vp cam), s = #vp cam} end val shade = shade {light = PT{x = 10.0, y = ~10.0, z = ~10.0}, phi = 16.0} val camera = camera (Camera{ vp = PT{x = 0.0, y = 0.0, z = ~3.0}, ul = PT{x = ~1.0, y = ~1.0, z = 0.0}, ur = PT{x = 1.0, y = ~1.0, z = 0.0}, ll = PT{x = ~1.0, y = 1.0, z = 0.0}, lr = PT{x = 1.0, y = 1.0, z = 0.0} }) fun image objList (x, y) = shade (trace(camera(x, y), objList)) fun picture (picName, objList) = let val outStrm = TextIO.openOut picName val image = image objList val print = fn x => TextIO.output (outStrm, x) fun putc c = TextIO.output1(outStrm, chr c) fun doPixel (i, j) = let val x = (real i) / 512.0 val y = (real j) / 512.0 val (Color c) = image (x, y) fun cvt x = if (x >= 1.0) then 255 else floor(256.0*x) in putc (cvt (#red c)); putc (cvt (#grn c)); putc (cvt (#blu c)) end fun lp_j j = if (j < 512) then let fun lp_i i = if (i < 512) then (doPixel(i, j); lp_i(i+1)) else () in lp_i 0; lp_j(j+1) end else () in print "TYPE=dump\n"; print "WINDOW=0 0 512 512\n"; print "NCHAN=3\n"; print "CHAN=rgb\n"; print "\n"; lp_j 0; TextIO.closeOut outStrm end end (* local *) end; (* Ray *) smlsharp-1.2.0/benchmark/benchmarks/ray/sources.cm0000644 000000000000000000000014512050661606022351 0ustar00rootroot0000000 0000000 Group is ../timeit.sml objects.sml ray.sml interp.sml interface.sml main.sml smlsharp-1.2.0/benchmark/benchmarks/simple0000755 000000000000000000000000012050661606020764 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks/simple/array2.smi0000644 000000000000000000000047112050661606022757 0ustar00rootroot0000000 0000000 _require "basis.smi" structure Array2 = struct type 'a array2 = {size:int * int, value:'a array} exception Subscript = Subscript val array : (int * int) * 'a -> 'a array2 val sub : 'a array2 * (int * int) -> 'a val update : 'a array2 * (int * int) * 'a -> unit val length : 'a array2 -> int * int end smlsharp-1.2.0/benchmark/benchmarks/simple/array2.sml0000644 000000000000000000000141512050661606022761 0ustar00rootroot0000000 0000000 structure Array2 : sig type 'a array2 exception Subscript val array: (int*int) * '1a -> '1a array2 val sub : 'a array2 * (int*int) -> 'a val update : 'a array2 * (int*int) * 'a -> unit val length : 'a array2 -> (int*int) end = struct type 'a array2 = {size : (int*int), value : 'a Array.array} exception Subscript = Subscript fun index ((i1:int,i2:int),(s1,s2)) = if i1>=0 andalso i1=0 andalso i2 unit val testit : TextIO.outstream -> unit end smlsharp-1.2.0/benchmark/benchmarks/simple/main.sml0000644 000000000000000000000007612050661606022507 0ustar00rootroot0000000 0000000 structure Main = Simple (val grid_max=100 val step_count=1); smlsharp-1.2.0/benchmark/benchmarks/simple/simple.smi0000644 000000000000000000005742412050661606023062 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "array2.smi" _require "control.smi" functor Simple( A : sig val grid_max : int val step_count : int end) = struct val fold : ('a * 'b -> 'b) -> 'a list -> 'b -> 'b val min : real * real -> real val max : real * real -> real exception MaxList exception MinList exception SumList val max_list : real list -> real val min_list : real list -> real val sum_list : real list -> real val for : {from:int, step:int, to:int} -> (int -> 'a) -> unit val from : int * int -> int list val flatten : 'a list list -> 'a list val pow : real * int -> real val array2 : ((int * int) * (int * int)) * 'a -> 'a Array2.array2 * ((int * int) * (int * int)) val sub2 : ('a Array2.array2 * ((int * int) * (int * int))) * (int * int) -> 'a val update2 : ('a Array2.array2 * ((int * 'b) * (int * 'c))) * (int * int) * 'a -> unit val bounds2 : 'a * 'b -> 'b val printarray2 : real Array2.array2 * ((int * int) * (int * int)) -> unit val array1 : (int * int) * 'a -> 'a array * (int * int) val sub1 : ('a array * (int * int)) * int -> 'a val update1 : ('a array * (int * 'b)) * int * 'a -> unit val bounds1 : 'a * 'b -> 'b val grid_size : (int * int) * (int * int) val north : int * 'a -> int * 'a val south : int * 'a -> int * 'a val east : 'a * int -> 'a * int val west : 'a * int -> 'a * int val northeast : int * int -> int * int val southeast : int * int -> int * int val northwest : int * int -> int * int val southwest : int * int -> int * int val farnorth : int * 'a -> int * 'a val farsouth : int * 'a -> int * 'a val fareast : 'a * int -> 'a * int val farwest : 'a * int -> 'a * int val zone_A : 'a * 'b -> 'a * 'b val zone_B : int * 'a -> int * 'a val zone_C : int * int -> int * int val zone_D : 'a * int -> 'a * int val zone_corner_northeast : int * 'a -> int * 'a val zone_corner_northwest : int * int -> int * int val zone_corner_southeast : 'a -> 'a val zone_corner_southwest : 'a * int -> 'a * int val kmin : int val kmax : int val lmin : int val lmax : int val dimension_all_nodes : (int * int) * (int * int) val for_all_nodes : (int -> int -> 'a) -> unit val dimension_interior_nodes : (int * int) * (int * int) val for_interior_nodes : (int -> int -> 'a) -> unit val dimension_all_zones : (int * int) * (int * int) val for_all_zones : (int * int -> 'a) -> unit val dimension_interior_zones : (int * int) * (int * int) val for_interior_zones : (int * int -> 'a) -> unit val map_interior_nodes : (int * int -> 'a) -> 'a list val map_interior_zones : (int * int -> 'a) -> 'a list val for_north_ward_interior_zones : (int * int -> 'a) -> unit val for_west_ward_interior_zones : (int * int -> 'a) -> unit val for_north_zones : (int * int -> 'a) -> unit val for_south_zones : (int * int -> 'a) -> unit val for_east_zones : (int * int -> 'a) -> unit val for_west_zones : (int * int -> 'a) -> unit val reflect : ('a -> int * int) -> 'a -> 'b Array2.array2 * ((int * int) * (int * int)) -> 'b val reflect_north : int * int -> 'a Array2.array2 * ((int * int) * (int * int)) -> 'a val reflect_south : int * int -> 'a Array2.array2 * ((int * int) * (int * int)) -> 'a val reflect_east : int * int -> 'a Array2.array2 * ((int * int) * (int * int)) -> 'a val reflect_west : int * int -> 'a Array2.array2 * ((int * int) * (int * int)) -> 'a val for_north_nodes : (int * int -> 'a) -> unit val for_south_nodes : (int * int -> 'a) -> unit val for_east_nodes : (int * int -> 'a) -> unit val for_west_nodes : (int * int -> 'a) -> unit val north_east_corner : int * int val north_west_corner : int * int val south_east_corner : int * int val south_west_corner : int * int val west_of_north_east : int * int val west_of_south_east : int * int val north_of_south_east : int * int val north_of_south_west : int * int val constant_heat_source : real val deltat_maximum : real val specific_heat : real val p_coeffs : real Array2.array2 * ((int * int) * (int * int)) val e_coeffs : real Array2.array2 * ((int * int) * (int * int)) val p_poly : (real Array2.array2 * ((int * int) * (int * int))) Array2.array2 * ((int * int) * (int * int)) val e_poly : (real Array2.array2 * ((int * int) * (int * int))) Array2.array2 * ((int * int) * (int * int)) val rho_table : real array * (int * int) val theta_table : real array * (int * int) val extract_energy_tables_from_constants : ((real Array2.array2 * ((int * int) * (int * int))) Array2.array2 * ((int * int) * (int * int))) * int * (real array * (int * int)) * (real array * (int * int)) val extract_pressure_tables_from_constants : ((real Array2.array2 * ((int * int) * (int * int))) Array2.array2 * ((int * int) * (int * int))) * int * (real array * (int * int)) * (real array * (int * int)) val nbc : int Array2.array2 * ((int * int) * (int * int)) val pbb : real array * (int * int) val pb : real array * (int * int) val qb : real array * (int * int) val all_zero_nodes : real Array2.array2 * ((int * int) * (int * int)) val all_zero_zones : real Array2.array2 * ((int * int) * (int * int)) val make_position_matrix : (int * int -> real * real) -> (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) val zone_area_vol : ((real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int)))) * (int * int) -> real * real val make_velocity : ((real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int)))) * ((real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int)))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * real -> (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) val make_position : ((real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int)))) * real * ((real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int)))) -> (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) val make_area_density_volume : (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * ((real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int)))) -> (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) val make_viscosity : (real Array2.array2 * ((int * int) * (int * int))) * ((real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int)))) * ((real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int)))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) -> (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) val polynomial : ((real Array2.array2 * ((int * int) * (int * int))) Array2.array2 * ((int * int) * (int * int))) * int * (real array * (int * int)) * (real array * (int * int)) * real * real -> real val zonal_pressure : real * real -> real val zonal_energy : real * real -> real val dx : real val tiny : real val newton_raphson : (real -> real) * real -> real val make_temperature : (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) -> real Array2.array2 * ((int * int) * (int * int)) val make_cc : (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) -> real Array2.array2 * ((int * int) * (int * int)) val make_sigma : real * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) -> real Array2.array2 * ((int * int) * (int * int)) val make_gamma : ((real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int)))) * (real Array2.array2 * ((int * int) * (int * int))) * (int * int -> int * int) * (int * int -> int * int) -> real Array2.array2 * ((int * int) * (int * int)) val make_ab : (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (int * int -> int * int) -> (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) val make_theta : (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (int * int -> int * int) * ((int * int -> unit) -> 'a) -> real Array2.array2 * ((int * int) * (int * int)) val compute_heat_conduction : (real Array2.array2 * ((int * int) * (int * int))) * real * ((real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int)))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) -> (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) val make_pressure : (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) -> real Array2.array2 * ((int * int) * (int * int)) val make_energy : (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) -> real Array2.array2 * ((int * int) * (int * int)) val compute_energy_error : ((real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int)))) * ((real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int)))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * real -> real val compute_time_step : (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) -> real val compute_initial_state : unit -> ((real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int)))) * ((real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int)))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * real * real val compute_next_state : ((real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int)))) * ((real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int)))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * real * 'a -> ((real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int)))) * ((real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int)))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * real * real val runit : unit -> ((real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int)))) * ((real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int)))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * real * real val print_state : ((real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int)))) * ((real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int)))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * (real Array2.array2 * ((int * int) * (int * int))) * real * real -> unit val testit : 'a -> unit val doit : unit -> unit end smlsharp-1.2.0/benchmark/benchmarks/simple/simple.sml0000644 000000000000000000007351612050661606023065 0ustar00rootroot0000000 0000000 (* Simple * error: grid_max < 5 *) functor Simple(val grid_max: int val step_count: int) (*: BMARK*) = struct fun fold f [] = (fn b => b) | fold f (a::r) = (fn b => let fun f2(e,[]) = f(e,b) | f2(e,a::r) = f(e,f2(a,r)) in f2(a,r) end) fun min (x:real,y:real) = if x0 andalso endd>=start then let fun f x = if x > endd then () else (body x; f(x+delta)) in f start end else if endd<=start then let fun f x = if x < endd then () else (body x; f(x+delta)) in f start end else () fun from(n,m) = if n>m then [] else n::from(n+1,m) fun flatten [] = [] | flatten (x::xs) = x @ flatten xs fun pow(x:real,y:int) = if y = 0 then 1.0 else x * pow(x,y-1) fun array2(bounds as ((l1,u1),(l2,u2)),v) = (Array2.array((u1-l1+1, u2-l2+1),v), bounds) fun sub2((A,((lb1:int,ub1:int),(lb2:int,ub2:int))),(k,l)) = Array2.sub(A, (k-lb1, l-lb2)) fun update2((A,((lb1,_),(lb2,_))),(k,l), v) = Array2.update(A,(k-lb1,l-lb2),v) fun bounds2(_,b) = b fun printarray2 (A as (M:real Array2.array2,((l1,u1),(l2,u2)))) = for {from=l1,step=1,to=u1} (fn i => (print "["; for {from=l2,step=1,to=u2-1} (fn j => print (Real.toString (sub2(A,(i,j))) ^ ", ")); print (Real.toString (sub2(A,(i,u2))) ^ "]\n"))) fun array1((l,u),v) = (Array.array(u-l+1,v),(l,u)) fun sub1((A,(l:int,u:int)),i:int) = Array.sub(A,i-l) fun update1((A,(l,_)),i,v) = Array.update(A,i-l,v) fun bounds1(_,b) = b (* * Specification of the state variable computation *) val grid_size = ((2,grid_max), (2,grid_max)) fun north (k,l) = (k-1,l) fun south (k,l) = (k+1,l) fun east (k,l) = (k,l+1) fun west (k,l) = (k,l-1) val northeast = north o east val southeast = south o east val northwest = north o west val southwest = south o west fun farnorth x = (north o north ) x fun farsouth x = (south o south) x fun fareast x = (east o east) x fun farwest x = (west o west) x fun zone_A(k,l) = (k,l) fun zone_B(k,l) = (k+1,l) fun zone_C(k,l) = (k+1,l+1) fun zone_D(k,l) = (k,l+1) val zone_corner_northeast = north val zone_corner_northwest = northwest fun zone_corner_southeast zone = zone val zone_corner_southwest = west val ((kmin,kmax),(lmin,lmax)) = grid_size val dimension_all_nodes = ((kmin-1,kmax+1),(lmin-1,lmax+1)) fun for_all_nodes f = for {from=kmin-1, step=1, to=kmax+1} (fn k => for {from=lmin-1, step=1, to=lmax+1} (fn l => f k l)) val dimension_interior_nodes = ((kmin,kmax),(lmin,lmax)) fun for_interior_nodes f = for {from=kmin, step=1, to=kmax} (fn k => for {from=lmin, step=1, to=lmax} (fn l => f k l)) val dimension_all_zones = ((kmin,kmax+1),(lmin,lmax+1)) fun for_all_zones f = for {from=kmin, step=1, to=kmax+1} (fn k => for {from=lmin, step=1, to=lmax+1} (fn l => f (k,l))) val dimension_interior_zones = ((kmin+1,kmax),(lmin+1,lmax)) fun for_interior_zones f = for {from=kmin+1, step=1, to=kmax} (fn k => for {from=lmin+1, step=1, to=lmax} (fn l => f (k,l))) fun map_interior_nodes f = flatten(map (fn k => (map (fn l => f (k,l)) (from(lmin,lmax)))) (from(kmin,kmax))) fun map_interior_zones f = flatten(map (fn k => (map (fn l => f (k,l)) (from(lmin+1,lmax)))) (from(kmin+1,kmax))) fun for_north_ward_interior_zones f = for {from=kmax, step= ~1, to=kmin+1} (fn k => for {from=lmin+1, step=1, to=lmax} (fn l => f (k,l))) fun for_west_ward_interior_zones f = for {from=kmin+1, step=1, to=kmax} (fn k => for {from=lmax, step= ~1, to=lmin+1} (fn l => f (k,l))) fun for_north_zones f = for {from=lmin, step=1, to=lmax+1} (fn l => f (kmin,l)) fun for_south_zones f = for {from=lmin+1, step=1, to=lmax} (fn l => f (kmax+1,l)) fun for_east_zones f = for {from=kmin+1, step=1, to=kmax+1}(fn k => f (k,lmax+1)) fun for_west_zones f = for {from=kmin+1, step=1, to=kmax+1}(fn k => f (k,lmin)) fun reflect dir node A = sub2(A, dir node) val reflect_north = fn x => reflect north x val reflect_south = fn x => reflect south x val reflect_east = fn x => reflect east x val reflect_west = fn x => reflect west x fun for_north_nodes f = for {from=lmin, step=1, to=lmax-1} (fn l => f (kmin-1,l)) fun for_south_nodes f = for {from=lmin, step=1, to=lmax-1} (fn l => f (kmax+1,l)) fun for_east_nodes f = for {from=kmin, step=1, to=kmax-1} (fn k => f (k,lmax+1)) fun for_west_nodes f = for {from=kmin, step=1, to=kmax-1} (fn k => f (k,lmin-1)) val north_east_corner = (kmin-1,lmax+1) val north_west_corner = (kmin-1,lmin-1) val south_east_corner = (kmax+1,lmax+1) val south_west_corner = (kmax+1,lmin-1) val west_of_north_east = (kmin-1, lmax) val west_of_south_east = (kmax+1, lmax) val north_of_south_east = (kmax, lmax+1) val north_of_south_west = (kmax, lmin-1) (* * Initialization of parameters *) val constant_heat_source = 0.0 val deltat_maximum = 0.01 val specific_heat = 0.1 val p_coeffs = let val M = array2(((0,2),(0,2)), 0.0) in update2(M, (1,1), 0.06698); M end val e_coeffs = let val M = array2(((0,2),(0,2)), 0.0) in update2(M, (0,1), 0.1); M end val p_poly = array2(((1,4),(1,5)),p_coeffs) val e_poly = array2(((1,4),(1,5)), e_coeffs) val rho_table = let val V = array1((1,3), 0.0) in update1(V,2,1.0); update1(V,3,100.0); V end val theta_table = let val V = array1((1,4), 0.0) in update1(V,2,3.0); update1(V,3,300.0); update1(V,4,3000.0); V end val extract_energy_tables_from_constants = (e_poly,2,rho_table,theta_table) val extract_pressure_tables_from_constants = (p_poly,2,rho_table,theta_table) val nbc = let val M = array2(dimension_all_zones, 1) in for {from=lmin+1,step=1,to=lmax} (fn j => update2(M,(kmax+1, j),2)); update2(M,(kmin,lmin),4); update2(M,(kmin,lmax+1),4); update2(M,(kmax+1,lmin),4); update2(M,(kmax+1,lmax+1),4); M end val pbb = let val A = array1((1,4), 0.0) in update1(A,2,6.0); A end val pb = let val A = array1((1,4), 1.0) in update1(A,2,0.0); update1(A,3,0.0); A end val qb = pb val all_zero_nodes = array2(dimension_all_nodes, 0.0) val all_zero_zones = array2(dimension_all_zones, 0.0) (* * Positional Coordinates. (page 9-10) *) fun make_position_matrix interior_function = let val r' = array2(dimension_all_nodes, 0.0) val z' = array2(dimension_all_nodes, 0.0) fun boundary_position (rx,zx,ry,zy,ra,za) = let val (rax, zax) = (ra - rx, za - zx) val (ryx, zyx) = (ry - rx, zy - zx) val omega = 2.0*(rax*ryx + zax*zyx)/(ryx*ryx + zyx*zyx) val rb = rx - rax + omega*ryx val zb = zx - zax + omega*zyx in (rb, zb) end fun reflect_node (x_dir, y_dir, a_dir, node) = let val rx = reflect x_dir node r' val zx = reflect x_dir node z' val ry = reflect y_dir node r' val zy = reflect y_dir node z' val ra = reflect a_dir node r' val za = reflect a_dir node z' in boundary_position (rx, zx, ry, zy, ra, za) end fun u2 (rv,zv) n = (update2(r',n,rv); update2(z',n,zv)) in for_interior_nodes (fn k => fn l => u2 (interior_function (k,l)) (k,l)); for_north_nodes(fn n => u2 (reflect_node(south,southeast,farsouth,n)) n); for_south_nodes (fn n => u2(reflect_node(north,northeast,farnorth,n)) n); for_east_nodes (fn n => u2(reflect_node(west, southwest, farwest, n)) n); for_west_nodes (fn n => u2(reflect_node(east, southeast, fareast, n)) n); u2 (reflect_node(south, southwest, farsouth, west_of_north_east)) west_of_north_east; u2 (reflect_node(north, northwest, farnorth, west_of_south_east)) west_of_south_east; u2 (reflect_node(west, northwest, farwest, north_of_south_east)) north_of_south_east; u2 (reflect_node(east, northeast, fareast, north_of_south_west)) north_of_south_west; u2 (reflect_node(southwest, west, farwest, north_east_corner)) north_east_corner; u2 (reflect_node(northwest, west, farwest, south_east_corner)) south_east_corner; u2 (reflect_node(southeast, south, farsouth, north_west_corner)) north_west_corner; u2 (reflect_node(northeast, east, fareast, south_west_corner)) south_west_corner; (r',z') end (* * Physical Properties of a Zone (page 10) *) fun zone_area_vol ((r,z), zone) = let val (r1,z1)=(sub2(r,zone_corner_southwest zone), sub2(z,zone_corner_southwest zone)) val (r2,z2)=(sub2(r,zone_corner_southeast zone), sub2(z,zone_corner_southeast zone)) val (r3,z3)=(sub2(r,zone_corner_northeast zone), sub2(z,zone_corner_northeast zone)) val (r4,z4)=(sub2(r,zone_corner_northwest zone), sub2(z,zone_corner_northwest zone)) val area1 = (r2-r1)*(z3-z1) - (r3-r2)*(z3-z2) val radius1 = 0.3333 *(r1+r2+r3) val volume1 = area1 * radius1 val area2 = (r3-r1)*(z4-z3) - (r4-r3)*(z3-z1) val radius2 = 0.3333 *(r1+r3+r4) val volume2 = area2 * radius2 in (area1+area2, volume1+volume2) end (* * Velocity (page 8) *) fun make_velocity((u,w),(r,z),p,q,alpha,rho,delta_t) = let fun line_integral (p,z,node) : real = sub2(p,zone_A node)*(sub2(z,west node) - sub2(z,north node)) + sub2(p,zone_B node)*(sub2(z,south node) - sub2(z,west node)) + sub2(p,zone_C node)*(sub2(z,east node) - sub2(z,south node)) + sub2(p,zone_D node)*(sub2(z,north node) - sub2(z,east node)) fun regional_mass node = 0.5 * (sub2(rho, zone_A node)*sub2(alpha,zone_A node) + sub2(rho, zone_B node)*sub2(alpha,zone_B node) + sub2(rho, zone_C node)*sub2(alpha,zone_C node) + sub2(rho, zone_D node)*sub2(alpha,zone_D node)) fun velocity node = let val d = regional_mass node val n1 = ~(line_integral(p,z,node)) - line_integral(q,z,node) val n2 = line_integral(p,r,node) + line_integral(q,r,node) val u_dot = n1/d val w_dot = n2/d in (sub2(u,node)+delta_t*u_dot, sub2(w,node)+delta_t*w_dot) end val U = array2(dimension_interior_nodes,0.0) val W = array2(dimension_interior_nodes,0.0) in for_interior_nodes (fn k => fn l => let val (uv,wv) = velocity (k,l) in update2(U,(k,l),uv); update2(W,(k,l),wv) end); (U,W) end fun make_position ((r,z),delta_t,(u',w')) = let fun interior_position node = (sub2(r,node) + delta_t*sub2(u',node), sub2(z,node) + delta_t*sub2(w',node)) in make_position_matrix interior_position end fun make_area_density_volume(rho, s, x') = let val alpha' = array2(dimension_all_zones, 0.0) val s' = array2(dimension_all_zones, 0.0) val rho' = array2(dimension_all_zones, 0.0) fun interior_area zone = let val (area, vol) = zone_area_vol (x', zone) val density = sub2(rho,zone)*sub2(s,zone) / vol in (area,vol,density) end fun reflect_area_vol_density reflect_function = (reflect_function alpha',reflect_function s',reflect_function rho') fun update_asr (zone,(a,s,r)) = (update2(alpha',zone,a); update2(s',zone,s); update2(rho',zone,r)) fun r_area_vol_den (reflect_dir,zone) = let val asr = reflect_area_vol_density (reflect_dir zone) in update_asr(zone, asr) end in for_interior_zones (fn zone => update_asr(zone, interior_area zone)); for_south_zones (fn zone => r_area_vol_den(reflect_north, zone)); for_east_zones (fn zone => r_area_vol_den(reflect_west, zone)); for_west_zones (fn zone => r_area_vol_den(reflect_east, zone)); for_north_zones (fn zone => r_area_vol_den(reflect_south, zone)); (alpha', rho', s') end (* * Artifical Viscosity (page 11) *) fun make_viscosity(p,(u',w'),(r',z'), alpha',rho') = let fun interior_viscosity zone = let fun upper_del f = 0.5 * ((sub2(f,zone_corner_southeast zone) - sub2(f,zone_corner_northeast zone)) + (sub2(f,zone_corner_southwest zone) - sub2(f,zone_corner_northwest zone))) fun lower_del f = 0.5 * ((sub2(f,zone_corner_southeast zone) - sub2(f,zone_corner_southwest zone)) + (sub2(f,zone_corner_northeast zone) - sub2(f,zone_corner_northwest zone))) val xi = pow(upper_del r',2) + pow(upper_del z',2) val eta = pow(lower_del r',2) + pow(lower_del z',2) val upper_disc = (upper_del r')*(lower_del w') - (upper_del z')*(lower_del u') val lower_disc = (upper_del u')*(lower_del z') - (upper_del w') * (lower_del r') val upper_ubar = if upper_disc<0.0 then upper_disc/xi else 0.0 val lower_ubar = if lower_disc<0.0 then lower_disc/eta else 0.0 val gamma = 1.6 val speed_of_sound = gamma*sub2(p,zone)/sub2(rho',zone) val ubar = pow(upper_ubar,2) + pow(lower_ubar,2) val viscosity = sub2(rho',zone)*(1.5*ubar + 0.5*speed_of_sound*(Math.sqrt ubar)) val length = Math.sqrt(pow(upper_del r',2) + pow(lower_del r',2)) val courant_delta = 0.5* sub2(alpha',zone)/(speed_of_sound*length) in (viscosity, courant_delta) end val q' = array2(dimension_all_zones, 0.0) val d = array2(dimension_all_zones, 0.0) fun reflect_viscosity_cdelta (direction, zone) = sub2(q',direction zone) * sub1(qb, sub2(nbc,zone)) fun do_zones (dir,zone) = update2(q',zone,reflect_viscosity_cdelta (dir,zone)) in for_interior_zones (fn zone => let val (qv,dv) = interior_viscosity zone in update2(q',zone,qv); update2(d,zone,dv) end); for_south_zones (fn zone => do_zones(north,zone)); for_east_zones (fn zone => do_zones(west,zone)); for_west_zones (fn zone => do_zones(east,zone)); for_north_zones (fn zone => do_zones(south,zone)); (q', d) end (* * Pressure and Energy Polynomial (page 12) *) fun polynomial(G,degree,rho_table,theta_table,rho_value,theta_value) = let fun table_search (table, value) = let val (low, high) = bounds1 table fun search_down i = if value > sub1(table,i-1) then i else search_down (i-1) in if value>sub1(table,high) then high+1 else if value <= sub1(table,low) then low else search_down high end val rho_index = table_search(rho_table, rho_value) val theta_index = table_search(theta_table, theta_value) val A = sub2(G, (rho_index, theta_index)) fun from(n,m) = if n>m then [] else n::from(n+1,m) fun f(i,j) = sub2(A,(i,j))*pow(rho_value,i)*pow(theta_value,j) in sum_list (map (fn i => sum_list(map (fn j => f (i,j)) (from(0,degree)))) (from (0,degree))) end fun zonal_pressure (rho_value:real, theta_value:real) = let val (G,degree,rho_table,theta_table) = extract_pressure_tables_from_constants in polynomial(G, degree, rho_table, theta_table, rho_value, theta_value) end fun zonal_energy (rho_value, theta_value) = let val (G, degree, rho_table, theta_table) = extract_energy_tables_from_constants in polynomial(G, degree, rho_table, theta_table, rho_value, theta_value) end val dx = 0.000001 val tiny = 0.000001 fun newton_raphson (f,x) = let fun iter (x,fx) = if fx > tiny then let val fxdx = f(x+dx) val denom = fxdx - fx in if denom < tiny then iter(x,tiny) else iter(x-fx*dx/denom, fxdx) end else x in iter(x, f x) end (* * Temperature (page 13-14) *) fun make_temperature(p,epsilon,rho,theta,rho_prime,q_prime) = let fun interior_temperature zone = let val qkl = sub2(q_prime,zone) val rho_kl = sub2(rho,zone) val rho_prime_kl = sub2(rho_prime,zone) val tau_kl = (1.0 /rho_prime_kl - 1.0/rho_kl) fun energy_equation epsilon_kl theta_kl = epsilon_kl - zonal_energy(rho_kl,theta_kl) val epsilon_0 = sub2(epsilon,zone) fun revised_energy pkl = epsilon_0 - (pkl + qkl) * tau_kl fun revised_temperature epsilon_kl theta_kl = newton_raphson ((energy_equation epsilon_kl), theta_kl) fun revised_pressure theta_kl = zonal_pressure(rho_kl, theta_kl) val p_0 = sub2(p,zone) val theta_0 = sub2(theta,zone) val epsilon_1 = revised_energy p_0 val theta_1 = revised_temperature epsilon_1 theta_0 val p_1 = revised_pressure theta_1 val epsilon_2 = revised_energy p_1 val theta_2 = revised_temperature epsilon_2 theta_1 in theta_2 end val M = array2(dimension_all_zones, constant_heat_source) in for_interior_zones (fn zone => update2(M, zone, interior_temperature zone)); M end (* * Heat conduction *) fun make_cc(alpha_prime, theta_hat) = let fun interior_cc zone = (0.0001 * pow(sub2(theta_hat,zone),2) * (Math.sqrt (abs(sub2(theta_hat,zone)))) / sub2(alpha_prime,zone)) handle Sqrt => (print (Real.toString (sub2(theta_hat, zone))); print ("\nzone =(" ^ Int.toString (#1 zone) ^ "," ^ Int.toString (#2 zone) ^ ")\n"); printarray2 theta_hat; raise Sqrt) val cc = array2(dimension_all_zones, 0.0) in for_interior_zones(fn zone => update2(cc,zone, interior_cc zone)); for_south_zones(fn zone => update2(cc,zone, reflect_north zone cc)); for_west_zones(fn zone => update2(cc,zone,reflect_east zone cc)); for_east_zones(fn zone => update2(cc,zone,reflect_west zone cc)); for_north_zones(fn zone => update2(cc,zone, reflect_south zone cc)); cc end fun make_sigma(deltat, rho_prime, alpha_prime) = let fun interior_sigma zone = sub2(rho_prime,zone)*sub2(alpha_prime,zone)*specific_heat/ deltat val M = array2(dimension_interior_zones, 0.0) fun ohandle zone = (print (Real.toString (sub2(rho_prime, zone)) ^ " "); print (Real.toString (sub2(alpha_prime, zone)) ^ " "); print (Real.toString specific_heat ^ " "); print (Real.toString deltat ^ "\n"); raise Overflow) in if !Control.trace then print ("\t\tmake_sigma:deltat = " ^ Real.toString deltat ^ "\n") else (); (*** for_interior_zones(fn zone => update2(M,zone, interior_sigma zone)) **) for_interior_zones(fn zone => (update2(M,zone, interior_sigma zone) handle Overflow => ohandle zone)); M end fun make_gamma ((r_prime,z_prime), cc, succeeding, adjacent) = let fun interior_gamma zone = let val r1 = sub2(r_prime, zone_corner_southeast zone) val z1 = sub2(z_prime, zone_corner_southeast zone) val r2 = sub2(r_prime, zone_corner_southeast (adjacent zone)) val z2 = sub2(z_prime, zone_corner_southeast (adjacent zone)) val cross_section = 0.5*(r1+r2)*(pow(r1 - r2,2)+pow(z1 - z2,2)) val (c1,c2) = (sub2(cc, zone), sub2(cc, succeeding zone)) val specific_conductivity = 2.0 * c1 * c2 / (c1 + c2) in cross_section * specific_conductivity end val M = array2(dimension_all_zones, 0.0) in for_interior_zones(fn zone => update2(M,zone,interior_gamma zone)); M end fun make_ab(theta, sigma, Gamma, preceding) = let val a = array2(dimension_all_zones, 0.0) val b = array2(dimension_all_zones, 0.0) fun interior_ab zone = let val denom = sub2(sigma, zone) + sub2(Gamma, zone) + sub2(Gamma, preceding zone) * (1.0 - sub2(a, preceding zone)) val nume1 = sub2(Gamma,zone) val nume2 = sub2(Gamma,preceding zone)*sub2(b,preceding zone) + sub2(sigma,zone) * sub2(theta,zone) in (nume1/denom, nume2 / denom) end val f = fn zone => update2(b,zone,sub2(theta,zone)) in for_north_zones f; for_south_zones f; for_west_zones f; for_east_zones f; for_interior_zones(fn zone => let val ab = interior_ab zone in update2(a,zone,#1 ab); update2(b,zone,#2 ab) end); (a,b) end fun make_theta (a, b, succeeding, int_zones) = let val theta = array2(dimension_all_zones, constant_heat_source) fun interior_theta zone = sub2(a,zone) * sub2(theta,succeeding zone)+ sub2(b,zone) in int_zones (fn (k,l) => update2(theta, (k,l), interior_theta (k,l))); theta end fun compute_heat_conduction(theta_hat, deltat, x', alpha', rho') = let val sigma = make_sigma(deltat, rho', alpha') val _ = if !Control.trace then print "\tdone make_sigma\n" else () val cc = make_cc(alpha', theta_hat) val _ = if !Control.trace then print "\tdone make_cc\n" else () val Gamma_k = make_gamma( x', cc, north, east) val _ = if !Control.trace then print "\tdone make_gamma\n" else () val (a_k,b_k) = make_ab(theta_hat, sigma, Gamma_k, north) val _ = if !Control.trace then print "\tdone make_ab\n" else () val theta_k = make_theta(a_k,b_k,south,for_north_ward_interior_zones) val _ = if !Control.trace then print "\tdone make_theta\n" else () val Gamma_l = make_gamma(x', cc, west, south) val _ = if !Control.trace then print "\tdone make_gamma\n" else () val (a_l,b_l) = make_ab(theta_k, sigma, Gamma_l, west) val _ = if !Control.trace then print "\tdone make_ab\n" else () val theta_l = make_theta(a_l,b_l,east,for_west_ward_interior_zones) val _ = if !Control.trace then print "\tdone make_theta\n" else () in (theta_l, Gamma_k, Gamma_l) end (* * Final Pressure and Energy calculation *) fun make_pressure(rho', theta') = let val p = array2(dimension_all_zones, 0.0) fun boundary_p(direction, zone) = sub1(pbb, sub2(nbc, zone)) + sub1(pb,sub2(nbc,zone)) * sub2(p, direction zone) in for_interior_zones (fn zone => update2(p,zone,zonal_pressure(sub2(rho',zone), sub2(theta',zone)))); for_south_zones(fn zone => update2(p,zone,boundary_p(north,zone))); for_east_zones(fn zone => update2(p,zone,boundary_p(west,zone))); for_west_zones(fn zone => update2(p,zone,boundary_p(east,zone))); for_north_zones(fn zone => update2(p,zone,boundary_p(south,zone))); p end fun make_energy(rho', theta') = let val epsilon' = array2(dimension_all_zones, 0.0) in for_interior_zones (fn zone => update2(epsilon', zone, zonal_energy(sub2(rho',zone), sub2(theta',zone)))); for_south_zones (fn zone => update2(epsilon',zone, reflect_north zone epsilon')); for_west_zones (fn zone => update2(epsilon',zone, reflect_east zone epsilon')); for_east_zones (fn zone => update2(epsilon',zone, reflect_west zone epsilon')); for_north_zones (fn zone => update2(epsilon',zone, reflect_south zone epsilon')); epsilon' end (* * Energy Error Calculation (page 20) *) fun compute_energy_error ((u',w'),(r',z'),p',q',epsilon',theta',rho',alpha', Gamma_k,Gamma_l,deltat) = let fun mass zone = sub2(rho',zone) * sub2(alpha',zone):real val internal_energy = sum_list (map_interior_zones (fn z => sub2(epsilon',z)*(mass z))) fun kinetic node = let val average_mass = 0.25*((mass (zone_A node)) + (mass (zone_B node)) + (mass (zone_C node)) + (mass (zone_D node))) val v_square = pow(sub2(u',node),2) + pow(sub2(w',node),2) in 0.5 * average_mass * v_square end val kinetic_energy = sum_list (map_interior_nodes kinetic) fun work_done (node1, node2) = let val (r1, r2) = (sub2(r',node1), sub2(r',node2)) val (z1, z2) = (sub2(z',node1), sub2(z',node2)) val (u1, u2) = (sub2(p',node1), sub2(p',node2)) val (w1, w2) = (sub2(z',node1), sub2(z',node2)) val (p1, p2) = (sub2(p',node1), sub2(p',node2)) val (q1, q2) = (sub2(q',node1), sub2(q',node2)) val force = 0.5*(p1+p2+q1+q2) val radius = 0.5* (r1+r2) val area = 0.5* ((r1-r2)*(u1-u2) - (z1-z2)*(w1-w2)) in force * radius * area * deltat end fun from(n,m) = if n > m then [] else n::from(n+1,m) val north_line = map (fn l => (west(kmin,l),(kmin,l))) (from(lmin+1,lmax)) val south_line = map (fn l => (west(kmax,l),(kmax,l))) (from(lmin+1,lmax)) val east_line = map (fn k => (south(k,lmax),(k,lmax))) (from(kmin+1,kmax)) val west_line = map (fn k => (south(k,lmin+1),(k,lmin+1))) (from(kmin+1,kmax)) val w1 = sum_list (map work_done north_line) val w2 = sum_list (map work_done south_line) val w3 = sum_list (map work_done east_line) val w4 = sum_list (map work_done west_line) val boundary_work = w1 + w2 + w3 + w4 fun heat_flow Gamma (zone1,zone2) = deltat * sub2(Gamma, zone1) * (sub2(theta',zone1) - sub2(theta',zone2)) val north_flow = let val k = kmin+1 in map (fn l => (north(k,l),(k,l))) (from(lmin+1,lmax)) end val south_flow = let val k = kmax in map (fn l => (south(k,l),(k,l))) (from(lmin+2,lmax-1)) end val east_flow = let val l = lmax in map (fn k => (east(k,l),(k,l))) (from(kmin+2,kmax)) end val west_flow = let val l = lmin+1 in map (fn k => (west(k,l),(k,l))) (from(kmin+2,kmax)) end val h1 = sum_list (map (heat_flow Gamma_k) north_flow) val h2 = sum_list (map (heat_flow Gamma_k) south_flow) val h3 = sum_list (map (heat_flow Gamma_l) east_flow) val h4 = sum_list (map (heat_flow Gamma_l) west_flow) val boundary_heat = h1 + h2 + h3 + h4 in internal_energy + kinetic_energy - boundary_heat - boundary_work end fun compute_time_step(d, theta_hat, theta') = let val deltat_courant = min_list (map_interior_zones (fn zone => sub2(d,zone))) val deltat_conduct = max_list (map_interior_zones (fn z => (abs(sub2(theta_hat,z) - sub2(theta', z))/ sub2(theta_hat,z)))) val deltat_minimum = min (deltat_courant, deltat_conduct) in min (deltat_maximum, deltat_minimum) end fun compute_initial_state () = let val v = (all_zero_nodes, all_zero_nodes) val x = let fun interior_position (k,l) = let val pi = 3.1415926535898 val rp = real (lmax - lmin) val z1 = real(10 + k - kmin) val zz = (~0.5 + real(l - lmin) / rp) * pi in (z1 * Math.cos zz, z1 * Math.sin zz) end in make_position_matrix interior_position end val (alpha,s) = let val (alpha_prime,s_prime) = let val A = array2(dimension_all_zones, 0.0) val S = array2(dimension_all_zones, 0.0) fun reflect_area_vol f = (f A, f S) fun u2 (f,z) = let val (a,s) = reflect_area_vol(f z) in update2(A,z,a); update2(S,z,s) end in for_interior_zones (fn z => let val (a,s) = zone_area_vol(x, z) in update2(A,z,a); update2(S,z,s) end); for_south_zones (fn z => u2 (reflect_north, z)); for_east_zones (fn z => u2 (reflect_west, z)); for_west_zones (fn z => u2 (reflect_east, z)); for_north_zones (fn z => u2 (reflect_south, z)); (A,S) end in (alpha_prime,s_prime) end val rho = let val R = array2(dimension_all_zones, 0.0) in for_all_zones (fn z => update2(R,z,1.4)); R end val theta = let val T = array2(dimension_all_zones, constant_heat_source) in for_interior_zones(fn z => update2(T,z,0.0001)); T end val p = make_pressure(rho, theta) val q = all_zero_zones val epsilon = make_energy(rho, theta) val deltat = 0.01 val c = 0.0 in (v,x,alpha,s,rho,p,q,epsilon,theta,deltat,c) end fun compute_next_state state = let val (v,x,alpha,s,rho,p,q,epsilon,theta,deltat,c) = state val v' = make_velocity (v, x, p, q, alpha, rho, deltat) val _ = if !Control.trace then print "done make_velocity\n" else () val x' = make_position(x,deltat,v') handle Overflow =>(printarray2 (#1 v'); printarray2 (#2 v'); raise Overflow) val _ = if !Control.trace then print "done make_position\n" else () val (alpha',rho',s') = make_area_density_volume (rho, s , x') val _ = if !Control.trace then print "done make_area_density_volume\n" else () val (q',d) = make_viscosity (p, v', x', alpha', rho') val _ = if !Control.trace then print "done make_viscosity\n" else () val theta_hat = make_temperature (p, epsilon, rho, theta, rho', q') val _ = if !Control.trace then print "done make_temperature\n" else () val (theta',Gamma_k,Gamma_l) = compute_heat_conduction (theta_hat, deltat, x', alpha', rho') val _ = if !Control.trace then print "done compute_heat_conduction\n" else () val p' = make_pressure(rho', theta') val _ = if !Control.trace then print "done make_pressure\n" else () val epsilon' = make_energy (rho', theta') val _ = if !Control.trace then print "done make_energy\n" else () val c' = compute_energy_error (v', x', p', q', epsilon', theta', rho', alpha', Gamma_k, Gamma_l, deltat) val _ = if !Control.trace then print "done compute_energy_error\n" else () val deltat' = compute_time_step (d, theta_hat, theta') val _ = if !Control.trace then print "done compute_time_step\n\n" else () in (v',x',alpha',s',rho',p',q', epsilon',theta',deltat',c') end fun runit () = let fun iter (i,state) = if i = 0 then state else (print "."; iter(i-1, compute_next_state state)) in iter(step_count, compute_initial_state()) end fun print_state ((v1,v2),(r,z),alpha,s,rho,p,q,epsilon,theta,deltat,c) = ( print "Velocity matrices = \n"; printarray2 v1; print "\n\n"; printarray2 v2; print "\n\nPosition matrices = \n"; printarray2 r; print "\n\n"; printarray2 z; print "\n\nalpha = \n"; printarray2 alpha; print "\n\ns = \n"; printarray2 s; print "\n\nrho = \n"; printarray2 rho; print "\n\nPressure = \n"; printarray2 p; print "\n\nq = \n"; printarray2 q; print "\n\nepsilon = \n"; printarray2 epsilon; print "\n\ntheta = \n"; printarray2 theta; print ("delatat = " ^ Real.toString (deltat : real)^ "\n"); print ("c = " ^ Real.toString (c : real) ^ "\n")) fun testit outstrm = print_state (runit()) fun doit () = let val (_, _, _, _, _, _, _, _, _, delta', c') = runit() val delta = Real.trunc delta' val c = Real.trunc (c' * 10000.0) in if (c = 6787 andalso delta = ~33093) then () else TextIO.output (TextIO.stdErr, "*** ERROR ***\n") end end; (* functor Simple *) smlsharp-1.2.0/benchmark/benchmarks/simple/sources.cm0000644 000000000000000000000013212050661606023043 0ustar00rootroot0000000 0000000 Group is ../timeit.sml control.sml array2.sml simple.sml main.sml smlsharp-1.2.0/benchmark/benchmarks/tsp0000755 000000000000000000000000012050661606020301 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks/tsp/build.smi0000644 000000000000000000000036412050661606022174 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "rand.smi" _require "tree.smi" structure BuildTree = struct datatype axis = X_AXIS | Y_AXIS val buildTree : {dir:axis, max_x:real, max_y:real, min_x:real, min_y:real, n:int} -> Tree.tree end smlsharp-1.2.0/benchmark/benchmarks/tsp/build.sml0000644 000000000000000000000356312050661606022203 0ustar00rootroot0000000 0000000 (* build.sml * * COPYRIGHT (c) 1994 AT&T Bell Laboratories. * * Build a two-dimensional tree for TSP. *) structure BuildTree : sig datatype axis = X_AXIS | Y_AXIS val buildTree : { n : int, dir : axis, min_x : real, min_y : real, max_x : real, max_y : real } -> Tree.tree end = struct structure T = Tree val m_e = 2.7182818284590452354 val m_e2 = 7.3890560989306502274 val m_e3 = 20.08553692318766774179 val m_e6 = 403.42879349273512264299 val m_e12 = 162754.79141900392083592475 datatype axis = X_AXIS | Y_AXIS (* builds a 2D tree of n nodes in specified range with dir as primary axis *) fun buildTree arg = let val rand = Rand.mkRandom 0w314 fun drand48 () = Rand.norm (rand ()) fun median {min, max, n} = let val t = drand48(); (* in [0.0..1.0) *) val retval = if (t > 0.5) then Math.ln(1.0-(2.0*(m_e12-1.0)*(t-0.5)/m_e12))/12.0 else ~(Math.ln(1.0-(2.0*(m_e12-1.0)*t/m_e12))/12.0) in min + ((retval + 1.0) * (max - min)/2.0) end fun uniform {min, max} = min + (drand48() * (max - min)) fun build {n = 0, ...} = T.NULL | build {n, dir=X_AXIS, min_x, min_y, max_x, max_y} = let val med = median{min=min_y, max=max_y, n=n} fun mkTree (min, max) = build{ n=n div 2, dir=Y_AXIS, min_x=min_x, max_x=max_x, min_y=min, max_y=max } in T.mkNode( mkTree(min_y, med), mkTree(med, max_y), uniform{min=min_x, max=max_x}, med, n) end | build {n, dir=Y_AXIS, min_x, min_y, max_x, max_y} = let val med = median{min=min_x, max=max_x, n=n} fun mkTree (min, max) = build{ n=n div 2, dir=X_AXIS, min_x=min, max_x=max, min_y=min_y, max_y=max_y } in T.mkNode( mkTree(min_x, med), mkTree(med, max_x), med, uniform{min=min_y, max=max_y}, n) end in build arg end end; (* Build *) smlsharp-1.2.0/benchmark/benchmarks/tsp/doit.smi0000644 000000000000000000000005112050661606022025 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "main.smi" smlsharp-1.2.0/benchmark/benchmarks/tsp/doit.sml0000644 000000000000000000000003612050661606022033 0ustar00rootroot0000000 0000000 Main.doit (); print "Done\n"; smlsharp-1.2.0/benchmark/benchmarks/tsp/lib-base-sig.sml0000644 000000000000000000000115212050661606023332 0ustar00rootroot0000000 0000000 (* lib-base-sig.sml * * COPYRIGHT (c) 1993 by AT&T Bell Laboratories. See COPYRIGHT file for details. *) signature LIB_BASE = sig exception Unimplemented of string (* raised to report unimplemented features *) exception Impossible of string (* raised to report internal errors *) exception NotFound (* raised by searching operations *) val failure : {module : string, func : string, msg : string} -> 'a (* raise the exception Fail with a standard format message. *) val version : {date : string, system : string, version_id : int list} val banner : string end (* LIB_BASE *) smlsharp-1.2.0/benchmark/benchmarks/tsp/lib-base.smi0000644 000000000000000000000050112050661606022544 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "lib-base-sig.sml" structure LibBase = struct exception Unimplemented of string exception Impossible of string exception NotFound val failure : {func:string, module:string, msg:string} -> 'a val version : {date:string, system:string, version_id:int list} val banner : string end smlsharp-1.2.0/benchmark/benchmarks/tsp/lib-base.sml0000644 000000000000000000000162012050661606022552 0ustar00rootroot0000000 0000000 (* lib-base.sml * * COPYRIGHT (c) 1993 by AT&T Bell Laboratories. See COPYRIGHT file for details. *) structure LibBase : LIB_BASE = struct (* raised to report unimplemented features *) exception Unimplemented of string (* raised to report internal errors *) exception Impossible of string (* raised by searching operations *) exception NotFound (* raise the exception Fail with a standard format message. *) fun failure {module, func, msg} = raise (Fail(concat[module, ".", func, ": ", msg])) val version = { date = "June 1, 1996", system = "SML/NJ Library", version_id = [1, 0] } fun f ([], l) = l | f ([x : int], l) = (Int.toString x)::l | f (x::r, l) = (Int.toString x) :: "." :: f(r, l) val banner = concat ( #system version :: ", Version " :: f (#version_id version, [", ", #date version])) end (* LibBase *) smlsharp-1.2.0/benchmark/benchmarks/tsp/main.smi0000644 000000000000000000000025712050661606022022 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "tree.smi" _require "build.smi" _require "tsp.smi" structure Main = struct val doit : unit -> unit val testit : TextIO.outstream -> unit end smlsharp-1.2.0/benchmark/benchmarks/tsp/main.sml0000644 000000000000000000000324412050661606022024 0ustar00rootroot0000000 0000000 (* main.sml * * COPYRIGHT (c) 1994 AT&T Bell Laboratories. * *) structure Main : sig (* include BMARK *) val doit : unit -> unit val testit : TextIO.outstream -> unit val dumpPS : TextIO.outstream -> unit end = struct val name = "TSP" val problemSz = ref 32767 val divideSz = ref 150 fun printLength (outS, Tree.NULL) = print "(* 0 points *)\n" | printLength (outS, start as Tree.ND{next, x, y, ...}) = let fun cycle (Tree.ND{next=next', ...}) = (next = next') | cycle _ = false fun distance (ax, ay, bx, by) = let val dx = ax-bx and dy = ay-by in Math.sqrt (dx*dx + dy*dy) end fun length (Tree.NULL, px, py, n, len) = (n, len+distance(px, py, x, y)) | length (t as Tree.ND{x, y, next, ...}, px, py, n, len) = if (cycle t) then (n, len+distance(px, py, x, y)) else length(!next, x, y, n+1, len+distance(px, py, x, y)) in if (cycle(!next)) then TextIO.output (outS, "(* 1 point *)\n") else let val (n, len) = length(!next, x, y, 1, 0.0) in TextIO.output (outS, concat[ "(* ", Int.toString n, "points, cycle length = ", Real.toString len, " *)\n" ]) end end fun mkTree n = BuildTree.buildTree { n=n, dir=BuildTree.X_AXIS, min_x=0.0, max_x=1.0, min_y=0.0, max_y=1.0 } fun doit' n = TSP.tsp (mkTree n, !divideSz) fun dumpPS outS = ( TextIO.output (outS, "newgraph\n"); TextIO.output (outS, "newcurve pts\n"); Tree.printList (outS, doit' (!problemSz)); TextIO.output (outS, "linetype solid\n")) fun testit strm = printLength (strm, doit' (!problemSz)) fun doit () = ignore (doit' (!problemSz)) end smlsharp-1.2.0/benchmark/benchmarks/tsp/rand-sig.sml0000644 000000000000000000000204512050661606022602 0ustar00rootroot0000000 0000000 (* rand-sig.sml * * COPYRIGHT (c) 1993 by AT&T Bell Laboratories. See COPYRIGHT file for details. * COPYRIGHT (c) 1998 by AT&T Laboratories. * * Signature for a simple random number generator. * *) signature RAND = sig (* SML# have native data representation. type rand = Word31.word *) type rand = word val randMin : rand val randMax : rand val random : rand -> rand (* Given seed, return value randMin <= v <= randMax * Iteratively using the value returned by random as the * next seed to random will produce a sequence of pseudo-random * numbers. *) val mkRandom : rand -> unit -> rand (* Given seed, return function generating a sequence of * random numbers randMin <= v <= randMax *) val norm : rand -> real (* Map values in the range [randMin,randMax] to (0.0,1.0) *) val range : (int * int) -> rand -> int (* Map v, randMin <= v <= randMax, to integer range [i,j] * Exception - * Fail if j < i *) end (* RAND *) smlsharp-1.2.0/benchmark/benchmarks/tsp/rand.smi0000644 000000000000000000000044112050661606022015 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "lib-base.smi" _require "rand-sig.sml" structure Rand = struct type rand = word val randMin : rand val randMax : rand val random : rand -> rand val mkRandom : rand -> unit -> rand val norm : rand -> real val range : int * int -> rand -> int end smlsharp-1.2.0/benchmark/benchmarks/tsp/rand.sml0000644 000000000000000000000507712050661606022032 0ustar00rootroot0000000 0000000 (* rand.sml * * COPYRIGHT (c) 1991 by AT&T Bell Laboratories. See COPYRIGHT file for details * COPYRIGHT (c) 1998 by AT&T Laboratories. See COPYRIGHT file for details * * Random number generator taken from Paulson, pp. 170-171. * Recommended by Stephen K. Park and Keith W. Miller, * Random number generators: good ones are hard to find, * CACM 31 (1988), 1192-1201 * Updated to include the new preferred multiplier of 48271 * CACM 36 (1993), 105-110 * Updated to use on Word31. * * Note: The Random structure provides a better generator. *) structure Rand : RAND = struct (* SML# have native data representation. type rand = Word31.word type rand' = Int32.int (* internal representation *) *) type rand = Word.word type rand' = int (* internal representation *) val a : rand' = 48271 val m : rand' = 2147483647 (* 2^31 - 1 *) val m_1 = m - 1 val q = m div a val r = m mod a (* SML# have native data representation. val extToInt = Int32.fromLarge o Word31.toLargeInt val intToExt = Word31.fromLargeInt o Int32.toLarge *) val extToInt = Word.toInt val intToExt = Word.fromInt val randMin : rand = 0w1 val randMax : rand = intToExt m_1 fun chk 0w0 = 1 | chk 0wx7fffffff = m_1 | chk seed = extToInt seed fun random' seed = let val hi = seed div q val lo = seed mod q val test = a * lo - r * hi in if test > 0 then test else test + m end val random = intToExt o random' o chk fun mkRandom seed = let val seed = ref (chk seed) in fn () => (seed := random' (!seed); intToExt (!seed)) end (* SML# have native data representation. val real_m = Real.fromLargeInt (Int32.toLarge m) fun norm s = (Real.fromLargeInt (Word31.toLargeInt s)) / real_m *) val real_m = Real.fromInt m fun norm s = (Real.fromInt (Word.toInt s)) / real_m fun range (i,j) = if j < i then LibBase.failure{module="Random",func="range",msg="hi < lo"} else if j = i then fn _ => i else let (* SML# have native data representation. val R = Int32.fromInt j - Int32.fromInt i val cvt = Word31.toIntX o Word31.fromLargeInt o Int32.toLarge *) val R = j - i val cvt = Word.toIntX o Word.fromInt in (* SML# have native data representation. if R = m then Word31.toIntX *) if R = m then Word.toIntX else fn s => i + cvt ((extToInt s) mod (R+1)) end end (* Rand *) smlsharp-1.2.0/benchmark/benchmarks/tsp/sources.cm0000644 000000000000000000000022312050661606022361 0ustar00rootroot0000000 0000000 Group is ../timeit.sml rand-sig.sml rand.sml lib-base-sig.sml lib-base.sml tree.sml build.sml tsp.sml main.sml smlsharp-1.2.0/benchmark/benchmarks/tsp/tree.smi0000644 000000000000000000000052012050661606022026 0ustar00rootroot0000000 0000000 _require "basis.smi" structure Tree = struct datatype tree = ND of {left:tree, next:tree ref, prev:tree ref, right:tree, sz:int, x:real, y:real} | NULL val mkNode : tree * tree * real * real * int -> tree val printTree : TextIO.outstream * tree -> unit val printList : TextIO.outstream * tree -> unit end smlsharp-1.2.0/benchmark/benchmarks/tsp/tree.sml0000644 000000000000000000000206712050661606022041 0ustar00rootroot0000000 0000000 (* tree.sml * * COPYRIGHT (c) 1994 AT&T Bell Laboratories. * * Trees for the TSP program. *) structure Tree = struct datatype tree = NULL | ND of { left : tree, right : tree, x : real, y : real, sz : int, prev : tree ref, next : tree ref } fun mkNode (l, r, x, y, sz) = ND{ left = l, right = r, x = x, y = y, sz = sz, prev = ref NULL, next = ref NULL } fun printTree (outS, NULL) = () | printTree (outS, ND{x, y, left, right, ...}) = ( TextIO.output(outS, String.concat [ Real.toString x, " ", Real.toString y, "\n"]); printTree (outS, left); printTree (outS, right)) fun printList (outS, NULL) = () | printList (outS, start as ND{next, ...}) = let fun cycle (ND{next=next', ...}) = (next = next') | cycle _ = false fun prt (NULL) = () | prt (t as ND{x, y, next, ...}) = ( TextIO.output(outS, String.concat [ Real.toString x, " ", Real.toString y, "\n" ]); if (cycle (!next)) then () else prt (!next)) in prt start end end; smlsharp-1.2.0/benchmark/benchmarks/tsp/tsp.smi0000644 000000000000000000000015512050661606021701 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "tree.smi" structure TSP = struct val tsp : Tree.tree * int -> Tree.tree end smlsharp-1.2.0/benchmark/benchmarks/tsp/tsp.sml0000644 000000000000000000001246312050661606021711 0ustar00rootroot0000000 0000000 (* tsp.sml * * COPYRIGHT (c) 1994 AT&T Bell Laboratories. *) structure TSP : sig val tsp : (Tree.tree * int) -> Tree.tree end = struct structure T = Tree fun setPrev (T.ND{prev, ...}, x) = prev := x fun setNext (T.ND{next, ...}, x) = next := x fun link (a as T.ND{next, ...}, b as T.ND{prev, ...}) = ( next := b; prev := a) fun sameNd (T.ND{next, ...}, T.ND{next=next', ...}) = (next = next') | sameNd (T.NULL, T.NULL) = true | sameNd _ = false (* Find Euclidean distance from a to b *) fun distance (T.ND{x=ax, y=ay, ...}, T.ND{x=bx, y=by, ...}) = Math.sqrt(((ax-bx)*(ax-bx)+(ay-by)*(ay-by))) | distance _ = raise Fail "distance" (* sling tree nodes into a list -- requires root to be tail of list, and * only fills in next field, not prev. *) fun makeList T.NULL = T.NULL | makeList (t as T.ND{left, right, next = t_next, ...}) = let val retVal = (case (makeList left, makeList right) of (T.NULL, T.NULL) => t | (l as T.ND{...}, T.NULL) => (setNext(left, t); l) | (T.NULL, r as T.ND{...}) => (setNext(right, t); r) | (l as T.ND{...}, r as T.ND{...}) => ( setNext(right, t); setNext(left, r); l) (* end case *)) in t_next := T.NULL; retVal end (* reverse orientation of list *) fun reverse T.NULL = () | reverse (t as T.ND{next, prev, ...}) = let fun rev (_, T.NULL) = () | rev (back, tmp as T.ND{prev, next, ...}) = let val tmp' = !next in next := back; setPrev(back, tmp); rev (tmp, tmp') end in setNext (!prev, T.NULL); prev := T.NULL; rev (t, !next) end (* Use closest-point heuristic from Cormen Leiserson and Rivest *) fun conquer (T.NULL) = T.NULL | conquer t = let val (cycle as T.ND{next=cycle_next, prev=cycle_prev, ...}) = makeList t fun loop (T.NULL) = () | loop (t as T.ND{next=ref doNext, prev, ...}) = let fun findMinDist (min, minDist, tmp as T.ND{next, ...}) = if (sameNd(cycle, tmp)) then min else let val test = distance(t, tmp) in if (test < minDist) then findMinDist (tmp, test, !next) else findMinDist (min, minDist, !next) end val (min as T.ND{next=ref min_next, prev=ref min_prev, ...}) = findMinDist (cycle, distance(t, cycle), !cycle_next) val minToNext = distance(min, min_next) val minToPrev = distance(min, min_prev) val tToNext = distance(t, min_next) val tToPrev = distance(t, min_prev) in if ((tToPrev - minToPrev) < (tToNext - minToNext)) then ( (* insert between min and min_prev *) link (min_prev, t); link (t, min)) else ( link (min, t); link (t, min_next)); loop doNext end val t' = !cycle_next in (* Create initial cycle *) cycle_next := cycle; cycle_prev := cycle; loop t'; cycle end (* Merge two cycles as per Karp *) fun merge (a as T.ND{next, ...}, b, t) = let fun locateCycle (start as T.ND{next, ...}) = let fun findMin (min, minDist, tmp as T.ND{next, ...}) = if (sameNd(start, tmp)) then (min, minDist) else let val test = distance(t, tmp) in if (test < minDist) then findMin (tmp, test, !next) else findMin (min, minDist, !next) end val (min as T.ND{next=ref next', prev=ref prev', ...}, minDist) = findMin (start, distance(t, start), !next) val minToNext = distance(min, next') val minToPrev = distance(min, prev') val tToNext = distance(t, next') val tToPrev = distance(t, prev') in if ((tToPrev - minToPrev) < (tToNext - minToNext)) (* would insert between min and prev *) then (prev', tToPrev, min, minDist) (* would insert between min and next *) else (min, minDist, next', tToNext) end (* Compute location for first cycle *) val (p1, tToP1, n1, tToN1) = locateCycle a (* compute location for second cycle *) val (p2, tToP2, n2, tToN2) = locateCycle b (* Now we have 4 choices to complete: * 1:t,p1 t,p2 n1,n2 * 2:t,p1 t,n2 n1,p2 * 3:t,n1 t,p2 p1,n2 * 4:t,n1 t,n2 p1,p2 *) val n1ToN2 = distance(n1, n2) val n1ToP2 = distance(n1, p2) val p1ToN2 = distance(p1, n2) val p1ToP2 = distance(p1, p2) fun choose (testChoice, test, choice, minDist) = if (test < minDist) then (testChoice, test) else (choice, minDist) val (choice, minDist) = (1, tToP1+tToP2+n1ToN2) val (choice, minDist) = choose(2, tToP1+tToN2+n1ToP2, choice, minDist) val (choice, minDist) = choose(3, tToN1+tToP2+p1ToN2, choice, minDist) val (choice, minDist) = choose(4, tToN1+tToN2+p1ToP2, choice, minDist) in case choice of 1 => ( (* 1:p1,t t,p2 n2,n1 -- reverse 2! *) reverse n2; link (p1, t); link (t, p2); link (n2, n1)) | 2 => ( (* 2:p1,t t,n2 p2,n1 -- OK *) link (p1, t); link (t, n2); link (p2, n1)) | 3 => ( (* 3:p2,t t,n1 p1,n2 -- OK *) link (p2, t); link (t, n1); link (p1, n2)) | 4 => ( (* 4:n1,t t,n2 p2,p1 -- reverse 1! *) reverse n1; link (n1, t); link (t, n2); link (p2, p1)) (* end case *); t end (* merge *) (* Compute TSP for the tree t -- use conquer for problems <= sz * *) fun tsp (t as T.ND{left, right, sz=sz', ...}, sz) = if (sz' <= sz) then conquer t else merge (tsp(left, sz), tsp(right, sz), t) | tsp (T.NULL, _) = T.NULL end; smlsharp-1.2.0/benchmark/benchmarks/vliw0000755 000000000000000000000000012050661606020454 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks/vliw/DATA0000755 000000000000000000000000012050661606021165 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks/vliw/DATA/ndotprod.s0000644 000000000000000000001124712050661606023266 0ustar00rootroot0000000 0000000 ARITHI new_allocptr/R1 := zero/R0 iadd 257 LABEL v/L0: ( zero/R0 allocptr/R1 exnhandler/R2 std_closure/R3 std_arg/R4 std_cont/R5 ) GETLAB v/R6 := v/L4 STORE M[ allocptr/R1 + 0 ] := v/R6 STORE M[ allocptr/R1 + 1 ] := std_cont/R5 ARITHI closure/R5 := allocptr/R1 iadd 0 ARITHI int10/R8 := zero/R0 iadd 10 GETREAL real3.0/R9 := 3.0 ARITHI new_allocptr/R1 := allocptr/R1 iadd 2 BRANCH IF zero/R0 ieq zero/R0 GOTO array/L1 ( zero/R0 allocptr/R1 exnhandler/R2 n/R8 v/R9 v/R5 ) LABEL array/L1: ( zero/R0 allocptr/R1 exnhandler/R2 n/R8 v/R9 v/R5 ) STORE M[ allocptr/R1 + 0 ] := n/R8 ARITH new_allocptr/R1 := n/R8 iadd allocptr/R1 ARITH arr/R4 := allocptr/R1 isub n/R8 BRANCH IF zero/R0 ige n/R8 GOTO else/L8 ( zero/R0 allocptr/R1 exnhandler/R2 arr/R4 v/R5 ) GETLAB v/R6 := v/L3 STORE M[ allocptr/R1 + 1 ] := v/R6 STORE M[ allocptr/R1 + 2 ] := arr/R4 STORE M[ allocptr/R1 + 3 ] := v/R5 ARITHI closure/R5 := allocptr/R1 iadd 1 STORE M[ arr/R4 + 1 ] := v/R9 ARITHI int1/R6 := zero/R0 iadd 1 ARITHI new_allocptr/R1 := allocptr/R1 iadd 4 BRANCH IF zero/R0 ieq zero/R0 GOTO g/L2 ( zero/R0 allocptr/R1 exnhandler/R2 i/R6 v/R5 arr/R4 n/R8 v/R9 ) LABEL else/L8: ( zero/R0 allocptr/R1 exnhandler/R2 arr/R4 v/R5 ) FETCHi v/R6 := M[ v/R5 + 0 ] ARITHI new_allocptr/R1 := allocptr/R1 iadd 1 JUMP v/R6 ( zero/R0 allocptr/R1 exnhandler/R2 std_cont/R5 std_arg/R4 ) LABEL g/L2: ( zero/R0 allocptr/R1 exnhandler/R2 i/R6 v/R5 arr/R4 n/R8 v/R9 ) BRANCH IF i/R6 ige n/R8 GOTO else/L9 ( zero/R0 allocptr/R1 exnhandler/R2 v/R5 ) ARITH x/R7 := arr/R4 iadd i/R6 STORE M[ x/R7 + 1 ] := v/R9 ARITHI i/R6 := i/R6 iadd 1 BRANCH IF i/R6 ige n/R8 GOTO else/L10 ( zero/R0 allocptr/R1 exnhandler/R2 v/R5 ) ARITH x/R7 := arr/R4 iadd i/R6 STORE M[ x/R7 + 1 ] := v/R9 ARITHI i/R6 := i/R6 iadd 1 BRANCH IF zero/R0 ieq zero/R0 GOTO g/L2 ( zero/R0 allocptr/R1 exnhandler/R2 i/R6 v/R5 arr/R4 n/R8 v/R9 ) LABEL else/L10: ( zero/R0 allocptr/R1 exnhandler/R2 v/R5 ) FETCHi v/R6 := M[ v/R5 + 0 ] MOVE std_arg/R4 := zero/R0 JUMP v/R6 ( zero/R0 allocptr/R1 exnhandler/R2 std_cont/R5 std_arg/R4 ) LABEL else/L9: ( zero/R0 allocptr/R1 exnhandler/R2 v/R5 ) FETCHi v/R6 := M[ v/R5 + 0 ] MOVE std_arg/R4 := zero/R0 JUMP v/R6 ( zero/R0 allocptr/R1 exnhandler/R2 std_cont/R5 std_arg/R4 ) LABEL v/L3: ( zero/R0 allocptr/R1 exnhandler/R2 std_cont/R5 std_arg/R4 ) FETCHi arr/R4 := M[ std_cont/R5 + 1 ] FETCHi v/R5 := M[ std_cont/R5 + 2 ] FETCHi v/R6 := M[ v/R5 + 0 ] JUMP v/R6 ( zero/R0 allocptr/R1 exnhandler/R2 std_cont/R5 std_arg/R4 ) LABEL v/L4: ( zero/R0 allocptr/R1 exnhandler/R2 std_cont/R5 std_arg/R4 ) GETLAB v/R6 := v/L5 STORE M[ allocptr/R1 + 0 ] := v/R6 FETCHi x/R6 := M[ std_cont/R5 + 1 ] STORE M[ allocptr/R1 + 1 ] := x/R6 STORE M[ allocptr/R1 + 2 ] := std_arg/R4 ARITHI closure/R5 := allocptr/R1 iadd 0 ARITHI int10/R8 := zero/R0 iadd 10 GETREAL real4.0/R9 := 4.0 ARITHI new_allocptr/R1 := allocptr/R1 iadd 3 BRANCH IF zero/R0 ieq zero/R0 GOTO array/L1 ( zero/R0 allocptr/R1 exnhandler/R2 n/R8 v/R9 v/R5 ) LABEL v/L5: ( zero/R0 allocptr/R1 exnhandler/R2 std_cont/R5 std_arg/R4 ) GETLAB v/R6 := v/L7 STORE M[ allocptr/R1 + 0 ] := v/R6 FETCHi x/R6 := M[ std_cont/R5 + 1 ] STORE M[ allocptr/R1 + 1 ] := x/R6 ARITHI closure/R11 := allocptr/R1 iadd 0 GETREAL real0.0/R10 := 0.0 ARITHI new_allocptr/R1 := allocptr/R1 iadd 2 MOVE k/R8 := zero/R0 BRANCH IF zero/R0 ieq zero/R0 GOTO f/L6 ( zero/R0 allocptr/R1 exnhandler/R2 k/R8 Q/R10 v/R11 X1/R4 closure/R5 ) LABEL f/L6: ( zero/R0 allocptr/R1 exnhandler/R2 k/R8 Q/R10 v/R11 X1/R4 closure/R5 ) ARITHI int10/R6 := zero/R0 iadd 10 BRANCH IF k/R8 ige int10/R6 GOTO else/L11 ( zero/R0 allocptr/R1 exnhandler/R2 v/R11 Q/R10 ) ARITHI v/R9 := k/R8 iadd 1 FETCHi Z1/R6 := M[ closure/R5 + 2 ] ARITH x/R6 := Z1/R6 iadd k/R8 FETCHm v/R7 := M[ x/R6 + 1 ] ARITH x/R6 := X1/R4 iadd k/R8 FETCHm v/R6 := M[ x/R6 + 1 ] ARITH v/R6 := v/R7 fmul v/R6 ARITH v/R10 := Q/R10 fadd v/R6 MOVE k/R8 := v/R9 BRANCH IF zero/R0 ieq zero/R0 GOTO f/L6 ( zero/R0 allocptr/R1 exnhandler/R2 k/R8 Q/R10 v/R11 X1/R4 closure/R5 ) LABEL else/L11: ( zero/R0 allocptr/R1 exnhandler/R2 v/R11 Q/R10 ) FETCHi v/R6 := M[ v/R11 + 0 ] MOVE std_cont/R5 := v/R11 MOVE std_arg/R4 := Q/R10 JUMP v/R6 ( zero/R0 allocptr/R1 exnhandler/R2 std_cont/R5 std_arg/R4 ) LABEL v/L7: ( zero/R0 allocptr/R1 exnhandler/R2 std_cont/R5 std_arg/R4 ) STORE M[ allocptr/R1 + 0 ] := std_arg/R4 ARITHI S/R4 := allocptr/R1 iadd 0 FETCHi v/R5 := M[ std_cont/R5 + 1 ] FETCHi v/R6 := M[ v/R5 + 0 ] ARITHI new_allocptr/R1 := allocptr/R1 iadd 1 JUMP v/R6 ( zero/R0 allocptr/R1 exnhandler/R2 std_cont/R5 std_arg/R4 ) smlsharp-1.2.0/benchmark/benchmarks/vliw/doit.smi0000644 000000000000000000000005112050661606022200 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "vliw.smi" smlsharp-1.2.0/benchmark/benchmarks/vliw/doit.sml0000644 000000000000000000000003612050661606022206 0ustar00rootroot0000000 0000000 Main.doit (); print "Done\n"; smlsharp-1.2.0/benchmark/benchmarks/vliw/sources.cm0000644 000000000000000000000005012050661606022532 0ustar00rootroot0000000 0000000 Group is ../timeit.sml vliw.sml smlsharp-1.2.0/benchmark/benchmarks/vliw/vliw.smi0000644 000000000000000000000016312050661606022226 0ustar00rootroot0000000 0000000 _require "basis.smi" structure Main = struct val doit : unit -> unit val testit : TextIO.outstream -> unit end smlsharp-1.2.0/benchmark/benchmarks/vliw/vliw.sml0000644 000000000000000000032203512050661606022236 0ustar00rootroot0000000 0000000 (* local local *) open Array (* List *) infix 9 sub fun fold f x y = List.foldr f y x fun revfold f x y = List.foldl f y x val makestring = Int.toString local val == = (op =) val != = (op <>) open Real in val realEq = == val realNe = != end exception NotAChar fun fromStr x = (case Char.fromString x of SOME c => c | NONE => raise NotAChar) fun ordof(s, i) = Char.ord(String.sub(s, i)) val explode = (fn x => map Char.toString (explode x)) val implode = (fn x => implode (map fromStr x)) fun ord s = Char.ord (fromStr s) val output = TextIO.output val std_out = TextIO.stdOut val open_in = TextIO.openIn val open_out = TextIO.openOut val close_in = TextIO.closeIn val close_out = TextIO.closeOut val input_line = fn stream => case TextIO.inputLine stream of NONE => "" | SOME s => s type instream = TextIO.instream type outstream = TextIO.outstream fun outputc f x = TextIO.output(f, x) exception NotAReal fun strToReal s = (case Real.fromString s of SOME r => r | _ => raise NotAReal) fun intToReal x = (strToReal ((Int.toString x) ^ ".0")) structure Bits = struct fun wrap (f : Word.word * Word.word -> Word.word) = (fn (x : int, y : int) => Word.toInt(f(Word.fromInt x, Word.fromInt y))) val orb = wrap Word.orb val andb = wrap Word.andb val xorb = wrap Word.xorb val lshift = wrap Word.<< val rshift = wrap Word.>> end structure Ref = struct val inc = fn x => (x := !x + 1) val dec = fn x => (x := !x - 1) end (* in *) (* stringmap.sml *) signature STRINGMAP = sig type 'a stringmap exception Stringmap val new : unit -> '1a stringmap val add : 'a stringmap -> string * 'a -> unit val rm : 'a stringmap -> string -> unit val map : 'a stringmap -> string -> 'a val app : (string * 'a -> unit) -> 'a stringmap -> unit val isin : 'a stringmap -> string -> bool val extract : 'a stringmap -> 'a list end structure Stringmap : STRINGMAP = struct type 'a stringmap = (string * 'a) list array exception Stringmap val hashFactor = 32 and tableSize = 2357 (* a string hashing function returns a number between 0 and tableSize-1 *) fun hash(str: string) : int = let val nchars = String.size str fun loop(i,n,r) = if i < n then loop(i+1,n,(hashFactor * r + ordof(str,i)) mod tableSize) else r in loop(0,nchars,0) (* while !i < nchars do (n := (hashFactor * !n + ordof(str, !i)) mod tableSize; i := !i + 1); !n *) end (* create a new stringmap *) fun new (): '1a stringmap = array(tableSize,nil) (* add a mapping pair s +-> x to the stringmap a *) fun add a (s,x) = let val index = hash s in update(a,index,(s,x)::(a sub index)) end (* apply the stringmap a to the index string s *) fun map a s = let fun find ((s',x)::r) = if s=s' then x else find r | find nil = raise Stringmap in find (a sub (hash s)) end (* return true if the string is in the map, false otherwise *) fun isin a s = ((map a s; true) handle Stringmap => false) (* remove all pairs mapping string s from stringmap a *) fun rm a s = let fun f ((b as (s',j))::r) = if s=s' then f r else b :: f r | f nil = nil val index = hash s in update(a,index, f(a sub index)) end (* apply a function f to all mapping pairs in stringmap a *) fun app (f: string * 'a -> unit) a = let fun zap 0 = () | zap n = let val m = n-1 in List.app f (a sub m); zap m end in zap tableSize end (* extract the stringmap items as a list *) fun extract a = let fun atol n = if n < Array.length a then (a sub n) :: atol (n + 1) else nil val al = atol 0 fun flatten (a, b) = a @ b val fal = fold flatten al nil fun strip (s, v) = v val answer = List.map strip fal in answer end end (* Stringmap *) structure StrPak : sig val stringListString : string list -> string end = struct fun sl nil = "]" | sl (h::nil) = h ^ "]" | sl (h::n::t) = h ^ "," ^ sl (n::t) fun stringListString l = "[" ^ sl l end signature SortObjSig = sig type obj val gt : obj * obj -> bool end functor Sort ( objfun : SortObjSig ) : sig type obj val sort : obj list -> obj list end = struct open objfun type obj = objfun.obj fun sort l = let fun m2 (nil, b) = b | m2 (a, nil) = a | m2 (ha::ta, hb::tb) = if gt(ha, hb) then hb::(m2(ha::ta, tb)) else ha::(m2(ta, hb::tb)) fun ml (nil) = nil | ml (h::nil) = h | ml (h1::h2::nil) = m2(h1, h2) | ml (h1::h2::l) = ml [m2(h1, h2), (ml l)] in ml (map (fn x => [x]) l) end end structure IntImp = struct type obj = int fun gt(a:obj, b:obj) = a > b end structure INTSort = Sort ( IntImp ) structure Set : sig exception SET exception LISTUNION type 'a set val make : ''a set val makeEQ : ('a * 'a -> bool) -> 'a set val listToSet : ''a list -> ''a set val listToSetEQ : ('a * 'a -> bool) * 'a list -> 'a set val add : 'a set * 'a -> 'a set val union : 'a set * 'a set -> 'a set val listUnion : 'a set list -> 'a set val listUnionEQ : ('a * 'a -> bool) * 'a set list -> 'a set val rm : 'a set * 'a -> 'a set val intersect : 'a set * 'a set -> 'a set val diff : 'a set * 'a set -> 'a set val member : 'a set * 'a -> bool val set : 'a set -> 'a list val mag : 'a set -> int val empty : 'a set -> bool end = struct datatype 'a set = S of ('a*'a->bool) * 'a list exception SET exception LISTUNION fun eqf (x, y) = x = y val make = S (eqf, nil) fun makeEQ eqf = S (eqf, nil) fun set (S (eqf, a)) = a fun member (S (eqf, nil), e) = false | member (S (eqf, (s::t)), e) = eqf(e, s) orelse member(S (eqf, t), e) fun add(st as (S (eqf, s)), e) = if member(st, e) then st else S(eqf, e::s) fun listToSetEQ (eqf, l) = let fun f (nil, s) = s | f (h::t, s) = f(t, add(s, h)) in f(l, makeEQ eqf) end fun listToSet l = listToSetEQ (eqf, l) fun union (a, S (eqf, nil)) = a | union (S (eqf, nil), b) = b | union (S (eqf, e::a), b) = union(S (eqf, a), add(b, e)) fun listUnion (h::t) = fold union t h | listUnion _ = raise LISTUNION fun listUnionEQ (eqf, l) = fold union l (makeEQ eqf) fun rm (S (eqf, nil), x) = raise SET | rm (S (eqf, s::t), x) = if eqf(s, x) then S (eqf, t) else S(eqf, s :: set(rm(S (eqf, t), x))) fun intersect1 (a, S (eqf, nil), c) = S (eqf, c) | intersect1 (S (eqf, nil), b, c) = S (eqf, c) | intersect1 (S (eqf, a::t), b, c) = if member(b, a) then intersect1(S (eqf, t), b, a::c) else intersect1(S (eqf, t), b, c) fun intersect (a, b) = intersect1 (a, b, nil) fun diff (S (eqf, nil), b) = S (eqf, nil) | diff (S (eqf, a::t), b) = if member(b, a) then diff(S (eqf, t), b) else S (eqf, a :: set(diff(S (eqf, t), b))) fun mag s = List.length (set s) (* fun empty s = set s = nil *) fun empty (S(eqf, nil)) = true | empty (S(eqf, _)) = false end (* Copyright 1989 by AT&T Bell Laboratories *) (* updated by John Danskin at Princeton *) structure AbsMach = struct type reg = (int*string) type label = (int*string) datatype values = INT of int | REAL of real | LABVAL of int * int datatype arithop = imul | iadd | isub | idiv | orb | andb | xorb | rshift | lshift | fadd | fdiv | fmul | fsub | real | floor | logb datatype comparison = ilt | ieq | igt | ile | ige | ine | flt | feq | fgt | fle | fge | fne | inrange | outofrange datatype opcode = FETCH of {immutable: bool, offset: int, ptr: reg, dst: reg} (* dst := M[ptr+offset] if immutable then unaffected by any STORE other than through the allocptr *) | STORE of {offset: int, src: reg, ptr: reg} (* M[ptr+offset] := src *) | GETLAB of {lab: label, dst: reg} | GETREAL of {value: string, dst: reg} | ARITH of {oper: arithop, src1: reg, src2: reg, dst: reg} | ARITHI of {oper: arithop, src1: reg, src2: int, dst: reg} | MOVE of {src: reg, dst: reg} | BRANCH of {test: comparison, src1: reg, src2: reg, dst: label, live: reg list} | JUMP of {dst: reg, live: reg list} | LABEL of {lab:label, live: reg list} | WORD of {value: int} | LABWORD of {lab: label} | NOP | BOGUS of {reads: reg list, writes: reg list} val opcodeEq : opcode * opcode -> bool = (op =) end structure AbsMachImp : sig type reg type operation val oeq : operation * operation -> bool type comparison val ceq : comparison * comparison -> bool val write_o : operation -> reg Set.set val read_o : operation -> reg Set.set val write_c : comparison -> reg Set.set val read_c : comparison -> reg Set.set val resources_ok : operation list * comparison list -> bool datatype codetypes = ASSIGNMENT of operation | LABELREF of int * operation | COMPARISON of int * operation | FLOW of int * operation | TARGET of int * operation | EXIT of operation | JUNK of operation | NERGLE val classify : operation -> codetypes val maxreg : AbsMach.opcode list -> int end = struct type reg = int (* register strings will gum up set operations etc *) type operation = AbsMach.opcode type comparison = AbsMach.opcode fun oeq (a, b) = AbsMach.opcodeEq(a, b) fun ceq (a, b) = AbsMach.opcodeEq(a, b) fun reg(i, s) = i fun label(i, s) = i fun srl rl = Set.listToSet((map reg) rl) fun sr r = srl [r] val immutableMem = ~1 val mutableMem = ~2 val flowControl = ~3 (* comparisons are limited to one because of difficulty writing larger trees *) fun resources_ok(ops, c) = (List.length ops) <= 4 andalso (List.length c) <= 1 fun allocptr r = reg r = 1 fun write_o i = let open Set open AbsMach val f = fn FETCH{dst, ...} => sr dst | STORE{ptr, ...} => if allocptr ptr then listToSet [immutableMem, mutableMem] else listToSet [mutableMem] | GETLAB {dst, ...} => sr dst | GETREAL {dst, ...} => sr dst | ARITH {dst, ...} => sr dst | ARITHI {dst, ...} => sr dst | MOVE {dst, ...} => sr dst | JUMP _ => listToSet [flowControl] | BOGUS {writes, ...} => srl writes | _ => make in f i end fun write_c c = Set.listToSet [flowControl] val std_reg_list = [(1, ""), (2, ""), (3, ""), (4, ""), (5, "")] fun read i = let open Set open AbsMach val f = fn FETCH {immutable, ptr, ...} => let val mem = if immutable then immutableMem else mutableMem in add(sr ptr, mem) end | STORE {src, ptr, ...} => srl [src, ptr] | ARITH {src1, src2, ...} => srl [src1, src2] | ARITHI {src1, ...} => sr src1 | MOVE {src, ...} => sr src | BRANCH {src1, src2, ...} => srl [src1, src2] | JUMP {dst, ...} => srl (dst :: std_reg_list) | BOGUS {reads, ...} => srl reads | _ => make in f i end fun read_o i = read i fun read_c i = read i datatype codetypes = ASSIGNMENT of operation | LABELREF of int * operation | COMPARISON of int * operation | FLOW of int * operation | TARGET of int * operation | EXIT of operation | JUNK of operation | NERGLE fun maxreg li = let fun f (a, b) = Int.max(a, b) val r = (Set.set (Set.listUnion((map write_o li) @ (map read li)))) in fold f r 0 end fun classify i = let open AbsMach val f = fn FETCH _ => ASSIGNMENT i | STORE _ => ASSIGNMENT i | GETLAB{lab, dst} => LABELREF(label lab, i) | GETREAL _ => ASSIGNMENT i | ARITH _ => ASSIGNMENT i | ARITHI _ => ASSIGNMENT i | MOVE{src, dst} => if reg src = reg dst then NERGLE else ASSIGNMENT i | BRANCH{test,src1,src2,dst,live} => if test = ieq andalso (reg src1) = (reg src2) then FLOW (label dst, i) else COMPARISON (label dst, i) | JUMP _ => EXIT i | LABEL {lab, ...} => TARGET(label lab, i) | WORD _ => JUNK i | LABWORD _ => JUNK i | NOP => JUNK i | BOGUS _ => ASSIGNMENT i in f i end end structure ReadAbs : sig val read: instream -> AbsMach.opcode list end = struct open AbsMach exception ReadError fun readline(i,f) = let fun error s = (print("Error in line "^makestring i^": "^s^"\n"); raise ReadError) fun b(" "::rest) = b rest | b rest = rest val aop = fn "i"::"m"::"u"::"l"::l => (imul,l) | "i"::"a"::"d"::"d"::l => (iadd,l) | "i"::"s"::"u"::"b"::l => (isub,l) | "i"::"d"::"i"::"v"::l => (idiv,l) | "o"::"r"::"b"::" "::l=> (orb,l) | "a"::"n"::"d"::"b"::l => (andb,l) | "x"::"o"::"r"::"b"::l => (xorb,l) | "r"::"s"::"h"::"i"::"f"::"t"::l => (rshift,l) | "l"::"s"::"h"::"i"::"f"::"t"::l => (lshift,l) | "f"::"a"::"d"::"d"::l => (fadd,l) | "f"::"d"::"i"::"v"::l => (fdiv,l) | "f"::"m"::"u"::"l"::l => (fmul,l) | "f"::"s"::"u"::"b"::l => (fsub,l) | "r"::"e"::"a"::"l"::l => (real,l) | "f"::"l"::"o"::"o"::"r"::l => (floor,l) | "l"::"o"::"g"::"b"::l => (logb,l) | _ => error "illegal arithmetic operator" val com = fn "i"::"l"::"t"::l => (ilt,l) | "i"::"e"::"q"::l => (ieq,l) | "i"::"g"::"t"::l => (igt,l) | "i"::"l"::"e"::l => (ile,l) | "i"::"g"::"e"::l => (ige,l) | "i"::"n"::"e"::l => (ine,l) | "f"::"l"::"t"::l => (flt,l) | "f"::"e"::"q"::l => (feq,l) | "f"::"g"::"t"::l => (fgt,l) | "f"::"l"::"e"::l => (fle,l) | "f"::"g"::"e"::l => (fge,l) | "f"::"n"::"e"::l => (fne,l) | "i"::"n"::"r"::"a"::"n"::"g"::"e"::l => (inrange,l) | "o"::"u"::"t"::"o"::"f"::"r"::"a"::"n"::"g"::"e"::l => (outofrange,l) | _ => error "illegal comparison operator" fun immut("i"::l) = (true,l) | immut("m"::l) = (false,l) | immut _ = error "i or m required" fun int l = let val z = ord "0" fun f(n,l0 as d::l) = if d>="0" andalso d<="9" then f(n*10+ord(d)-z, l) else (n,l0) | f _ = error "in readabs.int" in f(0,l) end fun string l = let fun f("/"::l) = (nil,l) | f(a::l) = let val (s,l') = f l in (a::s, l') end | f _ = error "name not terminated by \"/\"" val (s,l') = f l in (implode s, l') end fun realc s = let val (sign,s) = case explode s of "~"::rest => (~1.0,rest) | s => (1.0,s) fun j(exp,d::dl,mant) = j(exp,dl,mant * 0.1 + intToReal(d)) | j(0,nil,mant) = mant*sign | j(exp,nil,mant) = if exp>0 then j(exp-1,nil,mant*10.0) else j(exp+1,nil,mant*0.1) fun h(esign,wholedigits,diglist,exp,nil) = j(esign*exp+wholedigits-1,diglist,0.0) | h(es,fd,dl,exp,d::s) = h(es,fd,dl,exp*10+(ord d - ord "0"),s) fun g(i,r,"E"::"~"::s)=h(~1,i,r,0,s) | g(i,r,"E"::s)=h(1,i,r,0,s) | g(i,r,d::s) = if d>="0" andalso d<="9" then g(i, (ord d - ord "0")::r, s) else h(1,i,r,0,nil) | g(i,r,nil) = h(1,i,r,0,nil) fun f(i,r,"."::s)=g(i,r,s) | f(i,r,s as "E"::_)=g(i,r,s) | f(i,r,d::s) = f(i+1,(ord(d)-ord("0"))::r,s) | f _ = error "bad in readdabs" in f(0,nil,s) end handle Overflow => error ("real constant "^s^" out of range") fun require((a:string)::ar, b::br) = if a=b then require(ar,br) else error(a^" required") | require(nil, br) = br | require(a::_,_) = error(a^" required") fun reg l = let val (s,l) = string l val l = require(["R"],l) val (i,l) = int l in ((i,s),l) end fun lab l = let val (s,l) = string l val l = require(["L"],l) val (i,l) = int l in ((i,s),l) end fun live l = let fun f(")"::_) = nil | f l = let val (r,l) = reg l in r::f(b l) end in f(b(require(["("],l))) end val opcode = fn "F"::"E"::"T"::"C"::"H"::l => let val (imm,l) = immut(b l) val (dst,l) = reg(b l) val (ptr,l) = reg(b(require(["M","["],b(require([":","="],b l))))) val (offset,l) = int(b(require(["+"],b l))) in require(["]"], b l); FETCH{immutable=imm,dst=dst,ptr=ptr,offset=offset} end | "S"::"T"::"O"::"R"::"E"::l => let val (ptr,l) = reg(b(require(["M","["],b l))) val (offset,l) = int(b(require(["+"],b l))) val (src,l) = reg(b(require([":","="],b(require(["]"], b l))))) in STORE{src=src,ptr=ptr,offset=offset} end | "G"::"E"::"T"::"L"::"A"::"B"::l => let val (dst,l) = reg(b l) val (lab,l) = lab(b(require([":","="],b l))) in GETLAB{dst=dst,lab=lab} end | "G"::"E"::"T"::"R"::"E"::"A"::"L"::l => let val (dst,l) = reg(b l) val r = realc(implode(b(require([":","="],b l)))) in GETREAL{dst=dst,value=Real.toString r} end | "A"::"R"::"I"::"T"::"H"::"I"::l => let val (dst,l) = reg(b l) val (s1,l) = reg(b(require([":","="],b l))) val (oper,l) = aop(b l) val (s2,l) = int(b l) in ARITHI{oper=oper,src1=s1,src2=s2,dst=dst} end | "A"::"R"::"I"::"T"::"H"::l => let val (dst,l) = reg(b l) val (s1,l) = reg(b(require([":","="],b l))) val (oper,l) = aop(b l) val (s2,l) = reg(b l) in ARITH{oper=oper,src1=s1,src2=s2,dst=dst} end | "M"::"O"::"V"::"E"::l => let val (dst,l) = reg(b l) val (s1,l) = reg(b(require([":","="],b l))) in MOVE{src=s1,dst=dst} end | "B"::"R"::"A"::"N"::"C"::"H"::l => let val (s1,l) = reg(b(require(["I","F"],b l))) val (test,l) = com(b l) val (s2,l) = reg(b l) val (dst,l) = lab(b(require(["G","O","T","O"],b l))) val liv = live(b l) in BRANCH{test=test,src1=s1,src2=s2,dst=dst,live=liv} end | "J"::"U"::"M"::"P"::l => let val (dst,l) = reg(b l) val live = live(b l) in JUMP{dst=dst,live=live} end | "L"::"A"::"B"::"E"::"L"::l => let val (lab,l) = lab(b l) val live = live(b(require([":"],l))) in LABEL{lab=lab,live=live} end | "W"::"O"::"R"::"D"::l => let val (i,l) = int(b l) in WORD{value=i} end | "L"::"A"::"B"::"W"::"O"::"R"::"D"::l => let val (i,l) = lab(b l) in LABWORD{lab=i} end | "N"::"O"::"P"::_ => NOP | _ => error "illegal opcode name" in case explode(input_line f) of nil => nil | l => opcode(b l)::readline(i+1,f) end fun read f = readline(0,f) end structure PrintAbs : sig val show: outstream -> AbsMach.opcode list -> unit val str: AbsMach.opcode list -> string end = struct open AbsMach fun xstr prog = let val outstr = ref "" fun pr s = outstr := !outstr ^ s val aop = fn imul => "imul" | iadd => "iadd" | isub => "isub" | idiv => "idiv" | orb => "orb" | andb => "andb" | xorb => "xorb" | rshift => "rshift" | lshift => "lshift" | fadd => "fadd" | fdiv => "fdiv" | fmul => "fmul" | fsub => "fsub" | real => "real" | floor => "floor" | logb => "logb" val com = fn ilt => "ilt" | ieq => "ieq" | igt => "igt" | ile => "ile" | ige => "ige" | ine => "ine" | flt => "flt" | feq => "feq" | fgt => "fgt" | fle => "fle" | fge => "fge" | fne => "fne" | inrange => "inrange" | outofrange => "outofrange" fun bo true = "t" | bo false = "f" fun reg(i,s) = (pr(s); pr "/R"; pr(makestring i)) fun label(i,s) = (pr(s); pr "/L"; pr(makestring i)) val p = fn FETCH{immutable,offset,ptr,dst} => (pr "FETCH"; if immutable then pr "i " else pr "m "; reg dst; pr " := M[ "; reg ptr; pr " + "; pr (makestring offset); pr(" ]\n")) | STORE{offset,ptr,src} => (pr "STORE "; pr "M[ "; reg ptr; pr " + "; pr (makestring offset); pr(" ] := "); reg src; pr "\n") | GETLAB{lab, dst} => (pr "GETLAB "; reg dst; pr " := "; label lab; pr "\n") | GETREAL{value,dst} => (pr "GETREAL "; reg dst; pr " := "; pr value; pr "\n") | ARITH{oper,src1,src2,dst} => (pr "ARITH "; reg dst; pr " := "; reg src1; pr " "; pr(aop oper); pr " "; reg src2; pr "\n") | ARITHI{oper,src1,src2,dst} => (pr "ARITHI "; reg dst; pr " := "; reg src1; pr " "; pr(aop oper); pr " "; pr(makestring src2); pr "\n") | MOVE{src,dst} => (pr "MOVE "; reg dst; pr " := "; reg src; pr "\n") | BRANCH{test,src1,src2,dst,live} => (pr "BRANCH "; pr "IF "; reg src1; pr " "; pr(com test); pr " "; reg src2; pr " GOTO "; label dst; pr " ( "; List.app (fn r => (reg r; pr " ")) live; pr ")\n") | JUMP{dst,live} => (pr "JUMP "; reg dst; pr " ( "; List.app (fn r => (reg r; pr " ")) live; pr ")\n") | LABEL{lab, live} => (pr "LABEL "; label lab; pr ": ( "; List.app (fn r => (reg r; pr " ")) live; pr ")\n") | WORD{value} => (pr "WORD "; pr (makestring value); pr "\n") | LABWORD{lab} => (pr "LABWORD "; label lab; pr "\n") | NOP => pr "NOP\n" | BOGUS{reads, writes} => (pr "BOGUS"; pr " ( "; List.app (fn r => (reg r; pr " ")) writes; pr ") := ("; List.app (fn r => (reg r; pr " ")) reads; pr ")\n") in (List.app p prog; !outstr) end fun str prog = let fun cat (a, b) = (xstr [a]) ^ b in fold cat prog "" end fun show out prog = let fun f nil = () | f (h::t) = (outputc out (xstr [h]); f t) in f prog end end structure HM = AbsMachImp structure BreakInst : sig val breaki : AbsMach.opcode list -> AbsMach.opcode list end = struct open AbsMach open HM val maxreg = AbsMachImp.maxreg fun reg(i:int, s:string) = i fun rstr(i:int, s:string) = s val new_reg_val = ref 0 val new_reg_pairs:(AbsMach.reg * AbsMach.reg) list ref = ref nil fun new_reg_init li = (new_reg_val := maxreg li; new_reg_pairs := nil) fun new_reg (r:AbsMach.reg) = let fun f nil = let val nr = (new_reg_val := !new_reg_val + 1; (!new_reg_val, rstr r)) in (new_reg_pairs := (r, nr) :: !new_reg_pairs; nr) end | f ((a, b)::t) = if r = a then b else f t in f (!new_reg_pairs) end fun breaki l = let fun f i = let val g = fn ARITH{oper, src1, src2, dst} => if reg dst = reg src1 orelse reg dst = reg src2 then let val nr = new_reg(dst) in [ARITH{oper=oper, src1=src2, src2=src2, dst=nr}, MOVE{src=nr, dst=dst}] end else [i] | ARITHI{oper, src1, src2, dst} => if reg dst = reg src1 then let val nr = new_reg(dst) in [ARITHI{oper=oper, src1=src1, src2=src2, dst=nr}, MOVE{src=nr, dst=dst}] end else [i] | FETCH{immutable, offset, ptr, dst} => if reg ptr = reg dst then let val nr = new_reg(dst) in [FETCH{immutable=immutable, offset=offset, ptr=ptr, dst=nr}, MOVE{src=nr, dst=dst}] end else [i] | MOVE{src, dst} => if reg src = reg dst then nil else [i] | _ => [i] in g i end fun h (a, b) = f a @ b val foo = new_reg_init l in fold h l nil end end structure OutFilter : sig val remnops : AbsMach.opcode list -> AbsMach.opcode list end = struct open AbsMach fun remnops ol = let fun f (NOP, NOP::b) = NOP::b | f (a, b) = a::b in fold f ol nil end end structure Delay : sig val init: AbsMach.opcode list -> unit val add_delay: AbsMach.opcode list -> AbsMach.opcode list val rm_bogus: AbsMach.opcode list -> AbsMach.opcode list val is_bogus_i : AbsMach.opcode -> bool val is_bogus_reg : AbsMach.reg -> bool val idempotency : int ref end = struct open AbsMach val maxreg = ref 0 val maxdelay = 12 val idempotency = ref 0 fun is_bogus_i (BOGUS _ ) = true | is_bogus_i _ = false fun bogus_reg ((i, s), which) = (!maxreg + maxdelay * i + which, s) fun is_bogus_reg (i, s) = i > !maxreg fun unbogus_reg (i, s) = if is_bogus_reg (i, s) then (i div maxdelay, s) else (i, s) val max_bog_reg = ref 0 val curr_idem_reg = ref 0 fun idem_reg() = (curr_idem_reg := !curr_idem_reg + 1; (!curr_idem_reg, "idem")) fun init il = ( maxreg := AbsMachImp.maxreg il; max_bog_reg := (!maxreg + 1) * maxdelay; curr_idem_reg := !max_bog_reg + 1 ) exception DELAY fun delay i = let fun opdelay oper = let val f = fn imul => 5 | iadd => 2 | isub => 2 | idiv => 12 | orb => 2 | andb => 2 | xorb => 2 | rshift => 2 | lshift => 2 | fadd => 2 | fdiv => 12 | fmul => 4 | fsub => 2 | real => 2 | floor => 2 | logb => 2 in f oper end val id = fn FETCH{immutable,offset,ptr,dst} => 2 | STORE{offset,ptr,src} => 2 | GETLAB{lab, dst} => 2 | GETREAL{value,dst} => 2 | ARITH{oper,src1,src2,dst} => opdelay oper | ARITHI{oper,src1,src2,dst} => opdelay oper | MOVE{src,dst} => 1 | BRANCH{test,src1,src2,dst,live} => 5 | JUMP{dst,live} => 1 | LABEL{lab, live} => 0 | NOP => 1 | _ => raise DELAY in id i end fun b_idemx (0, r, w) = nil | b_idemx (1, r, w) = BOGUS{reads=r @ w, writes = [idem_reg()]} :: nil | b_idemx (n, r, w) = let val ir = idem_reg() in BOGUS{reads=r @ w, writes = [ir]} :: b_idemx(n-1, r, [ir]) end fun b_idem (n, r, w) = let fun fil ((i, s), b) = if i = 0 then b else (i, s) :: b val nr = fold fil r nil in if null nr then nil else b_idemx(n, nr, w) end fun b_assx (0, r) = nil | b_assx (1, r) = BOGUS{reads=[bogus_reg(r, 1)], writes=[r]} :: nil | b_assx (n, r) = BOGUS{reads=[bogus_reg(r, n)], writes=[bogus_reg(r, n-1)]} :: b_assx(n-1, r) fun b_ass(n, r) = BOGUS{reads=[r], writes=[bogus_reg(r, n-1)]} :: b_assx(n-1, r) fun b_brxx (0, rl) = nil | b_brxx (1, rl) = let fun b r = bogus_reg(r, 1) in BOGUS{reads=rl, writes=map b rl} :: nil end | b_brxx (n, rl) = let fun br r = bogus_reg(r, n - 1) fun bw r = bogus_reg(r, n) in BOGUS{reads=map br rl, writes=map bw rl} :: b_brxx (n - 1, rl) end fun b_brx (n, rl) = let fun br r = bogus_reg(r, n-1) in BOGUS{reads=map br rl, writes=rl} :: b_brxx(n-1, rl) end fun b_br (b, n, rl) = rev (b :: b_brx(n, rl)) fun is_flow i = let open AbsMachImp fun f (FLOW _) = true | f _ = false in f (classify i) end fun add_delay il = let fun idem (r, w) = b_idem (!idempotency, r, w) fun g i = let val d = delay i val f = fn FETCH{immutable,offset,ptr,dst} => i :: (idem([ptr], [dst]) @ b_ass(d, dst)) | STORE{offset,ptr,src} => [i] | GETLAB{lab, dst} => i :: b_ass(d, dst) | GETREAL{value,dst} => i :: b_ass(d, dst) | ARITH{oper,src1,src2,dst} => i :: (idem([src1, src2], [dst]) @ b_ass(d, dst)) | ARITHI{oper,src1,src2,dst} => i :: (idem([src1], [dst]) @ b_ass(d, dst)) | MOVE{src,dst} => i :: idem([src], [dst]) | BRANCH{test,src1,src2,dst,live} => if is_flow i then [i] else b_br (BRANCH{test=test, src1=src1,src2=src2,dst=dst, live=live}, d, [src1, src2]) | _ => [i] in f i end fun apnd (nil, b) = b | apnd (a::t, b) = a :: apnd(t, b) fun fld(a, b) = apnd(g a, b) in fold fld il nil end fun rm_bogus il = let fun g nil = nil | g (i::t) = let val f = fn FETCH{immutable,offset,ptr,dst} => FETCH{immutable=immutable, offset=offset, ptr=ptr, dst= unbogus_reg dst} :: g t | STORE{offset,ptr,src} => i :: g t | GETLAB{lab, dst} => GETLAB{lab=lab, dst= unbogus_reg dst} :: g t | GETREAL{value,dst} => GETREAL{value=value, dst=unbogus_reg dst} :: g t | ARITH{oper,src1,src2,dst} => ARITH{oper=oper,src1=src1,src2=src2,dst=unbogus_reg dst} :: g t | ARITHI{oper,src1,src2,dst} => ARITHI{oper=oper,src1=src1,src2=src2,dst=unbogus_reg dst} :: g t | MOVE{src,dst} => i :: g t | BRANCH{test,src1,src2,dst,live} => BRANCH{test=test, src1=unbogus_reg src1, src2=unbogus_reg src2, dst=dst, live=live } :: g t | BOGUS _ => g t | _ => i :: g t in f i end in g il end end structure Ntypes : sig type name val init_names : unit -> unit val new_name : name -> name val prime_name : name -> name val name_prefix_eq : (name * name) -> bool type test val teq : test * test -> bool type reg type assignment val aeq : assignment * assignment -> bool datatype test_or_name = TEST of test | NAME of name | NEITHER val toneq : test_or_name * test_or_name -> bool datatype test_or_assign = TST of test | ASS of assignment val toaeq : test_or_assign * test_or_assign -> bool end = struct type test = HM.comparison val teq = HM.ceq type reg = int*string type assignment = HM.operation val aeq = HM.oeq type name = string val ct = ref 0 fun init_names () = ct := 0 fun nn() = (ct := !ct + 1; !ct - 1) fun pref nil = nil | pref ("_" :: t) = nil | pref (h :: t) = h :: pref t val name_prefix = implode o pref o explode fun name_prefix_eq(a, b) = (name_prefix a) = (name_prefix b) (* fun new_name n = n ^ "_" ^ (makestring (nn())) *) fun new_name n = name_prefix n ^ "_" ^ (makestring (nn())) fun prime_name n = (new_name n) ^ "'" datatype test_or_name = TEST of test | NAME of name | NEITHER fun toneq (TEST a, TEST b) = teq (a, b) | toneq (NAME a, NAME b) = a = b | toneq _ = false datatype test_or_assign = TST of test | ASS of assignment fun toaeq (TST a, TST b) = teq (a, b) | toaeq (ASS a, ASS b) = aeq (a, b) | toaeq _ = false end structure Dag : sig exception DAG exception DAGnotfound type dag val make : dag val tests_of : dag -> Ntypes.test Set.set val sel_of : dag -> ((Ntypes.test * bool) -> Ntypes.test_or_name) val root_of : dag -> Ntypes.test_or_name val succ_of : dag -> Ntypes.name Set.set val attach : Ntypes.test * dag * dag -> dag val reach : dag * Ntypes.test_or_name -> dag val replace_edge : dag * Ntypes.name list -> dag val newdag : (Ntypes.test Set.set * ((Ntypes.test * bool) -> Ntypes.test_or_name) * Ntypes.test_or_name * Ntypes.name Set.set) -> dag val dagToString : dag -> string end = struct open Ntypes; exception DAGnotfound exception DAG datatype dag = D of test Set.set * ((test * bool) -> test_or_name) * test_or_name * name Set.set fun tonToString (TEST t) = "TEST t" | tonToString (NAME n) = "NAME " ^ n | tonToString NEITHER = "NEITHER" fun sep (a, b) = a ^ ", " ^ b fun dagToString (D(t, sel, rt, s)) = "D([" ^ PrintAbs.str (Set.set t) ^ "]" ^ "fn, " ^ (tonToString rt) ^ ", " ^ (fold sep (Set.set s) ")") val make = D(Set.makeEQ teq, fn x => raise DAGnotfound, NEITHER, Set.make) fun newdag x = D x fun tests_of(D (b, sel, r, h)) = b fun sel_of(D (b, sel, r, h)) = sel fun root_of(D (b, sel, r, h)) = r fun succ_of(D (b, sel, r, h)) = h fun attach (t, D dt, D df) = let open Set val (b1, sel1, r1, h1) = dt val (b2, sel2, r2, h2) = df in D(add(union(b1, b2), t), (fn(x, y) => if teq(x, t) then if y then r1 else r2 else sel1(x, y) handle DAGnotfound => sel2(x, y)), TEST t, union(h1,h2) ) end fun reach (D d, tn) = let open Set val (b, sel, r, h) = d fun f (TEST t) = if not (member(b, t)) then raise DAGnotfound else attach(t, reach(D d, sel(t, true)), reach(D d, sel(t, false))) | f (NAME n) = D(makeEQ teq, fn x => raise DAGnotfound, NAME n, listToSet [n]) | f (_) = raise DAGnotfound in f tn end fun replace_edge (D d, nil) = D d | replace_edge (D d, old::new::tl) = let open Set val (b, sel, r, h) = d val nh = if member(h, old) then add(rm(h, old), new) else h val nr = if toneq(r, NAME old) then NAME new else r val nsel = fn(x, y) => let val v = sel(x, y) in if toneq(v, NAME old) then NAME new else v end in D (b, nsel, nr, nh) end | replace_edge _ = raise DAG end structure Node : sig type node type program val delete_debug : bool ref val move_op_debug : bool ref val move_test_debug : bool ref val rw_debug : bool ref val ntn_debug : bool ref val prog_node_debug : bool ref val prog_node_debug_verbose : bool ref val closure_progs_debug : bool ref val cpsiCheck : bool ref val makeProg : unit -> program val make : Ntypes.name * Ntypes.assignment Set.set * Dag.dag * Ntypes.name Set.set-> node val name_of : node -> Ntypes.name val assignment_of : node -> Ntypes.assignment Set.set val dag_of : node -> Dag.dag val succ : program * node -> Ntypes.name Set.set val prednm : program * Ntypes.name -> Ntypes.name Set.set val pred : program * node -> Ntypes.name Set.set val succNodes : program * node -> node Set.set val predNodes : program * node -> node Set.set val readNode : node -> int Set.set val writeNode : node -> int Set.set val unreachable : program * node -> bool val num_ops_node : node -> int val num_tests_node : node -> int val num_things_node : node -> int val replace_edge_node : node * string list -> node exception NAMETONODE val nameToNode : program * Ntypes.name -> node val nameSetToNodeSet : program * Ntypes.name Set.set -> node Set.set val eqn : node * node -> bool val n00 : node val fin : node val delete : program * node -> program val move_op : program * Ntypes.assignment * node Set.set * node -> program val move_test : program * Ntypes.test * node * node -> program val nodeToString : node -> string val progToString : program -> string val entries : program -> node list val programs : program -> program list val addPredInfo : program -> program val closure : program * node -> program val sortNodes : node list -> node list val updateNode : program * node -> program val addNode : program * node -> program val rmNode : program * node -> program end = struct open Ntypes open Dag open StrPak datatype node = N of name * assignment Set.set * dag * name Set.set type program = node Stringmap.stringmap * node * node type debug_fun = unit -> string val delete_debug = ref false val move_op_debug = ref false val dead_set_debug = ref false val move_test_debug = ref false val rw_debug = ref false val prog_node_debug = ref false val prog_node_debug_verbose = ref false val closure_progs_debug = ref false fun name_of(N(n, a, d, prd)) = n fun assignment_of(N(n, a, d, prd)) = a fun dag_of(N(n, a, d, prd)) = d fun pred_of(N(n, a, d, prd)) = prd fun eqn(n1, n2) = name_of n1 = name_of n2 val start:name = "START" val finish:name = "FINISH" fun printstringlist sl = stringListString sl val psl = printstringlist fun nodeToString (N(n, a, d, prd)) = "\nN(" ^ n ^ ", [" ^ PrintAbs.str (Set.set a) ^ "], " ^ Dag.dagToString d ^ "pred(" ^ psl (Set.set prd) ^ "))" fun progToString (ns, n0, F) = "P (" ^ (psl o (map nodeToString) o Stringmap.extract) ns ^ ",\n" ^ nodeToString n0 ^ ",\n" ^ nodeToString F ^ ")\n" fun make (n, a, t, prd) = N(n, a, t, prd) val n00 = make(start, Set.makeEQ aeq, Dag.make, Set.make) val fin = make(finish, Set.makeEQ aeq, Dag.make, Set.make) fun makeProg() = (Stringmap.new():node Stringmap.stringmap, n00, fin) fun addPredNode (N(n, a, t, prd), p) = (N(n, a, t, Set.add(prd, p))) fun unionPredNode (N(n, a, t, prd), ps) = (N(n, a, t, Set.union(prd, ps))) fun setPredNode (N(n, a, t, prd), p) = (N(n, a, t, p)) fun rmPredNode (N(n, a, t, prd), p) = (N(n, a, t, Set.rm(prd, p))) fun p_n_debug (f:debug_fun) = if !prog_node_debug then print ("p_n:" ^ f() ^ "\n") else () fun updateNode(P as (ns, n0, F), new_node) = let val answer = (Stringmap.rm (ns:node Stringmap.stringmap) ((name_of new_node):string); Stringmap.add ns ((name_of new_node), new_node); if name_of new_node = name_of n0 then (ns, new_node, F) else if name_of new_node = name_of F then (ns, n0, new_node) else P) val foo = p_n_debug (fn () => ("updateNode n=" ^ nodeToString new_node ^ "=>" ^ (if !prog_node_debug_verbose then progToString answer else "(program)"))) in answer end fun addNode(P as (ns, n0, F), new_node) = let val answer = if Stringmap.isin ns (name_of new_node) then updateNode(P, new_node) else (Stringmap.add ns ((name_of new_node), new_node); P) val foo = p_n_debug (fn () => ("addNode n=" ^ nodeToString new_node ^ "=>" ^ (if !prog_node_debug_verbose then progToString answer else "(program)"))) in answer end fun rmNode(P as (ns, n0, F), node) = let val answer = (Stringmap.rm ns (name_of node); P) val foo = p_n_debug (fn () => ("rmNode n=" ^ nodeToString node ^ "=>" ^ (if !prog_node_debug_verbose then progToString answer else "(program)"))) in answer end fun succ(p, n) = (succ_of o dag_of) n fun pred(p, n) = pred_of n val ntn_debug = ref true fun ntnPrint (f:debug_fun) = if !ntn_debug then print ("ntn:" ^ f() ^ "\n") else () exception NAMETONODE fun nameToNode(P as (ns, n0, F), nm) = Stringmap.map ns nm handle Stringmap => (ntnPrint (fn () => ("nameToNode " ^ nm ^ "not found")); raise NAMETONODE) exception NAMESETTONODESET fun nameSetToNodeSet(P, ns) = Set.listToSetEQ(eqn, map (fn x => nameToNode(P, x)) (Set.set ns)) handle NAMETONODE => raise NAMESETTONODESET fun prednm(p, nm) = pred(p, nameToNode(p, nm)) fun succNodes (p, n) = nameSetToNodeSet(p, succ(p, n)) fun predNodes (p, n) = nameSetToNodeSet(p, pred(p, n)) (* a correctness assertion *) exception CPSI val cpsiCheck = ref false fun checkPredSuccInfo(from, P as (ns, n0, F)) = let val nl = Stringmap.extract ns val badnode = ref n0 fun fail s = (print ("CPSI:" ^ s ^ " failed\nfrom " ^ from ^ "\nbadnode=" ^ nodeToString (!badnode) ^ "\nprogram=" ^ progToString P ^ "\n"); raise CPSI) fun chk (xpred, xsuccN, n) = let val foo = badnode := n val s = Set.set(xsuccN(P, n)) handle NAMESETTONODESET => fail "NAMESETTONODESET" fun cs x = Set.member(xpred x, name_of n) fun fs (x, b) = b andalso cs x in fold fs s true end fun cp (x, b) = b andalso chk(pred_of, succNodes, x) fun cs (x, b) = b andalso chk((succ_of o dag_of), predNodes, x) in if not (fold cp nl true) then fail "cp" else if not (fold cs nl true) then fail "cs" else () end fun cpsi x = if !cpsiCheck then checkPredSuccInfo x else () fun empty n = let open Set in empty (assignment_of n) andalso empty ((tests_of o dag_of) n) end fun unreachable(P as (ns, n0, F), n) = not (eqn (n0, n)) andalso Set.empty (pred(P, n)) fun read (TST(t)) = HM.read_c t | read (ASS(a)) = HM.read_o a fun write (TST(t)) = HM.write_c t | write (ASS(a)) = HM.write_o a fun read_write_debug (f:debug_fun) = if !rw_debug then print (f() ^ "\n") else () fun readNode n = let open Set val answer = union (listUnion (make::(map (read o ASS) ((set o assignment_of) n))), listUnion (make::(map (read o TST) ((set o tests_of o dag_of) n)))) val foo = read_write_debug (fn () => ("readNode " ^ nodeToString n ^ "=>" ^ stringListString (map makestring (set answer)))) in answer end fun writeNode n = let open Set val answer = union (listUnion (make::(map (write o ASS) ((set o assignment_of) n))), listUnion (make::(map (write o TST) ((set o tests_of o dag_of) n)))) val foo = read_write_debug (fn () => ("writeNode " ^ nodeToString n ^ "=>" ^ stringListString (map makestring (set answer)))) in answer end fun no_write_conflict (ta, n) = let open Set in empty (intersect(writeNode n, (union(read ta, write ta)))) end fun no_read_conflict (ta, n) = let open Set in empty (intersect (write ta, readNode n)) end fun empty n = let open Set in (empty o assignment_of) n andalso (empty o tests_of o dag_of) n end fun replace_edge_node(N (n, a, d, p), nl) = N(n, a, replace_edge(d, nl), p) fun except_bogus nil = nil | except_bogus (h::t) = if Delay.is_bogus_i h then except_bogus t else h :: except_bogus t val num_ops_node = List.length o except_bogus o Set.set o assignment_of val num_tests_node = List.length o Set.set o tests_of o dag_of fun num_things_node n = (num_ops_node n) + (num_tests_node n) fun dead_debug (f:debug_fun) = if !dead_set_debug then print ("dead" ^ f() ^ "\n") else () exception DEAD fun dead(P:program, r:HM.reg, n:node, done: name Set.set) = let val foo = dead_debug (fn () => "(P, " ^ makestring r ^ ", " ^ nodeToString n ^ ")") val new_done = Set.add(done, name_of n) fun nfil(a, b) = if Set.member(new_done, a) then b else a::b fun drl nil = true | drl (h::t) = dead(P, r, h, new_done) andalso drl t fun ntn n = nameToNode (P, n) handle NAMETONODE => raise DEAD val next = fold nfil (Set.set (succ(P, n))) nil val answer = ( not (Set.member(readNode n, r)) andalso (Set.member(writeNode n, r) orelse drl (map ntn next)) ) val foo = dead_debug(fn () => "=>" ^ Bool.toString answer) in answer end fun deadset(P, rs, n) = let val foo = dead_debug (fn () => "deadset(" ^ stringListString (map makestring (Set.set rs)) ^ ",\n" ^ nodeToString n ^ ")") fun f nil = true | f (r::t) = dead(P, r, n, Set.make) andalso f t val answer = f (Set.set rs) val foo = dead_debug(fn () => "deadset=>" ^ Bool.toString answer ^ "\n") in answer end fun del_debug (f:debug_fun) = if !delete_debug then print ("delete:" ^ f() ^ "\n") else () exception DELETE exception DELETE_HD exception DELETE_WIERDSUCC fun delete (P as (ns, n0, F), n) = let val foo = cpsi("delete enter", P) val em = empty n val un = unreachable(P, n) fun ntn n = nameToNode(P, n) handle NAMETONODE => raise DELETE val p = Set.listToSetEQ(eqn, (map ntn (Set.set (pred(P, n))))) open Set val foo = del_debug (fn () => "delete( n=" ^ (name_of n) ^ "\n" ^ "em=" ^ (Bool.toString em) ^ "\n" ^ "un=" ^ (Bool.toString un) ^ "\n" ^ "p =" ^ (psl (map name_of (Set.set p))) ^ "\n" ^ ")") in if (em orelse un) andalso not (eqn(n, F)) then if not un then let val foo = del_debug (fn () => "complex deletion") val s0 = Set.set (succ(P, n)) val nprime = if List.length s0 = 1 then hd s0 else (print (Int.toString (List.length s0)); raise DELETE_WIERDSUCC) val new_nprime = rmPredNode(unionPredNode(ntn nprime, pred_of n), name_of n) fun ren x = replace_edge_node(x, [name_of n, name_of new_nprime]) val pprime = map ren (set p) fun updt(n, p) = updateNode(p, n) val Nprime = fold updt (new_nprime :: pprime) P val foo = del_debug (fn () => "nprime=" ^ nprime) val foo = del_debug (fn () => "pprime=" ^ (psl (map nodeToString pprime))) val answer = rmNode(Nprime, n) val foo = cpsi("delete leave cd", answer) in answer end else (del_debug (fn () => "simple_deletion"); let val s = Set.set(nameSetToNodeSet(P, (succ(P, n)))) fun updt(s, p) = updateNode(p, rmPredNode(s, name_of n)) val np = rmNode(fold updt s P, n) val foo = cpsi("delete leave sd", np) in np end) else (del_debug (fn () => "No deletion"); P) end handle Hd => raise DELETE_HD fun mop_debug (f:debug_fun) = if !move_op_debug then (dead_set_debug := true; print ("mop:" ^ f() ^ "\n")) else dead_set_debug := false fun can_move_op1(P as (ns, n0, F), x, move_set, m) = let open Set val foo = mop_debug (fn () => "can_move_op") val rok = HM.resources_ok(set (add(assignment_of m, x)), set ((tests_of o dag_of) m)) val foo = mop_debug(fn () => "1") val p = diff(nameSetToNodeSet(P, succ(P, m)), move_set) val foo = mop_debug(fn () => "2") val l = (write o ASS) x val foo = mop_debug(fn () => "3") fun dlpf nil = true | dlpf (pj::t) = deadset(P, l, pj) andalso dlpf t fun cond nil = true | cond (nj::t) = (not o eqn)(nj, F) andalso (* no_read_conflict(ASS x, nj) andalso *) (* change ex model so it can run on a sequential machine *) no_read_conflict(ASS x, m) andalso no_write_conflict(ASS x, m) andalso cond t val foo = mop_debug(fn () => "4") val answer = rok andalso cond (set move_set) andalso dlpf (set p) val foo = mop_debug (fn () => "can_move_op=>" ^ Bool.toString answer) in answer end fun can_move_op(P, x, move_set, m) = let open Set val ms = set move_set fun pf n = pred(P, n) val ps = set(listUnion (map pf ms)) fun all (x, b) = b andalso can_move_op1(P, x, move_set, m) in if List.length ps > 1 then if List.length ms > 1 then false else fold all ((set o assignment_of o hd) ms) true else can_move_op1(P, x, move_set, m) end fun move_op (P as (ns, n0, F), x, move_set, m) = let val foo = cpsi("move_op enter", P) val foo = mop_debug (fn () => "move_op(x=" ^ PrintAbs.str [x] ^ "move_set\n" ^ (stringListString (map nodeToString (Set.set move_set))) ^ "\nm=" ^ nodeToString m ^"\n)\n") in if not (can_move_op(P, x, move_set, m)) then P else let open Set exception NOTFOUND val primed_pairs = ref nil fun pnf nm = let fun f nil = let val nn = prime_name nm in (primed_pairs := (nm, nn) :: !primed_pairs; nn) end | f ((a, b)::t) = if nm = a then b else f t val answer = f (!primed_pairs) val foo = mop_debug (fn () => "pnf " ^ nm ^ "=>" ^ answer) in answer end val foo = mop_debug(fn () => "1") fun njp nil = nil | njp ((N(n, a, d, prd))::t) = N(pnf n, rm(a, x), d, listToSet [name_of m]) :: njp t fun ojp l = map (fn x => rmPredNode(x, name_of m)) l fun replist nil = nil | replist (h::t) = h :: pnf h :: replist t val rlist = replist (map name_of (set move_set)) val foo = mop_debug(fn () => "2") val mprime = let val aprime = add(assignment_of m, x) val dprime = replace_edge(dag_of m, rlist) in N(name_of m, aprime, dprime, pred_of m) end val foo = mop_debug(fn () => "3") val nj = njp(set move_set) val foo = mop_debug(fn () => "nj=" ^ stringListString (map name_of nj)) fun uptd(n, p) = updateNode(p, n) val np = fold uptd (mprime :: (ojp (set move_set))) P fun addnpi(n, p) = let val s = set (succNodes(p, n)) fun ap x = addPredNode(x, name_of n) fun updt(x, p) = updateNode(p, ap x) in fold updt s p end fun addn(n, p) = addnpi(n, addNode(p, n)) val nnp = fold addn nj np val foo = mop_debug(fn () => "4") val answer = nnp val foo = mop_debug(fn () => "5") val foo = cpsi("move_op leave", answer) in mop_debug(fn () => "6"); answer end end fun updt_sel (d, nsel) = let val tst = tests_of d val rt = root_of d val s = succ_of d in newdag(tst, nsel, rt, s) end fun mt_debug (f:debug_fun) = if !move_test_debug then print ("move_test" ^ f() ^ "\n") else () fun can_move_test(P as (ns, n0, F):program, x:test, n:node, m:node) = let val foo = cpsi("move_test enter", P) val foo = mt_debug (fn () => "can_move_test") val answer = no_write_conflict(TST x, m) andalso (* hack because sel can't distinguish xj *) not (Set.member(tests_of(dag_of m), x)) andalso HM.resources_ok(Set.set (assignment_of m), Set.set (Set.add((tests_of o dag_of) m, x))) val foo = mt_debug (fn () => "can_move_test=>" ^ Bool.toString answer) in answer end fun move_test (P as (ns, n0, F):program, x:test, n:node, m:node) = if not (can_move_test(P, x, n, m)) then P else let val foo = mt_debug (fn () => "move_test" ^ name_of n ^ " " ^ name_of m) open Set val d_n = dag_of n val sel_n = sel_of d_n val rt_n = root_of d_n val nt = let val newname = (new_name o name_of) n ^ "tt" fun nsel (z, b) = let val v = sel_n(z, b) in if toneq(v, TEST x) then sel_n(x, true) else v end val nC = if TEST x = rt_n then reach(updt_sel(d_n, nsel), sel_n(x, true)) else reach(updt_sel(d_n, nsel), rt_n) in N(newname, assignment_of n, nC, listToSet [name_of m]) end val foo = mt_debug (fn () => "got nt") val nf = let val newname = ((new_name o name_of) n) ^ "ff" fun nsel (z, b) = let val v = sel_n(z, b) in if toneq(v, TEST x) then sel_n(x, false) else v end val nC = if TEST x = rt_n then reach(updt_sel(d_n, nsel), sel_n(x, false)) else reach(updt_sel(d_n, nsel), rt_n) in N(newname, assignment_of n, nC, listToSet [name_of m]) end val foo = mt_debug (fn () => "got nf") val d_m = dag_of m val sel_m = sel_of d_m fun nton n = NAME( name_of n) fun nsel (z, b) = if teq(z, x) then if b then nton nt else nton nf else let val v = sel_m(z, b) in if toneq(v, NAME(name_of n)) then TEST x else v end val nb = add(tests_of d_m, x) val nh = add(add(rm(succ_of d_m, name_of n), name_of nt), name_of nf) fun new_rt (NAME rt) = TEST x | new_rt t = t val nc = newdag(nb, nsel, (new_rt o root_of) d_m, nh) val new_m = N(name_of m, assignment_of m, nc, pred_of m) fun updt_t s = addPredNode(s, name_of nt) fun updt_f s = addPredNode(s, name_of nf) val upt = map updt_t (set (nameSetToNodeSet(P, succ(P, nt)))) val upf = map updt_f (set (nameSetToNodeSet(P, succ(P, nf)))) fun updtl(n, p) = updateNode(p, n) val np = fold updtl ([rmPredNode(n, name_of m), new_m] @ upt @ upf) P val answer = np val foo = mt_debug (fn () => "mtst done") val foo = cpsi("move_test leave", answer) in answer end fun entries (P as (ns, n0, F)) = let val nl = Stringmap.extract ns fun f (a, b) = if unreachable(P, a) then a::b else b in n0 :: (fold f nl nil) end fun addPredInfo(P as (ns, n0, F)) = let fun rmpi n = setPredNode (n, Set.make) val nl = map rmpi (Stringmap.extract ns) fun updt(n, p) = updateNode(p, n) val np = fold updt nl P fun addpi (n, p) = let val s = Set.set (succNodes(p, n)) fun api(s, p) = updateNode(p, addPredNode(s, name_of n)) in fold api s p end in fold addpi nl np end fun cp_debug (f:debug_fun) = if !closure_progs_debug then print ("cp:" ^ f() ^ "\n") else () fun closure (P as (ns, n0, F), entry) = let open Set val foo = cp_debug (fn () => "closure:entry=" ^ name_of entry ^ "\nprogram=" ^ progToString P) val isin = Stringmap.isin fun dfs(p, parent, nil) = p | dfs(p as (ns, n0, F), parent, cur::todo) = if not (isin ns (name_of cur)) then let val np = dfs(addNode(p, cur), cur, set(succNodes(P, cur))) in dfs(np, parent, todo) end else dfs(p, parent, todo) val prog:program = (Stringmap.new(), entry, F) val answer = dfs(addNode(prog, entry), entry, set(succNodes(P, entry))) val foo = cp_debug (fn () => "\nclosure=>" ^ progToString answer) in answer end fun programs(P as (ns, n0, F):program) = let val foo = cp_debug (fn () => "programs") val l = entries (addPredInfo P) (* make sure preds are in closure*) fun cf e = addPredInfo(closure(P, e)) val answer = map cf l val foo = cp_debug (fn () => "programs done") in answer end structure ns = struct type obj = node fun int l = let val z = ord "0" fun f(n, nil) = n | f (n, d::l) = if d>="0" andalso d<="9" then f(n*10+ord(d)-z, l) else n in f(0,l) end fun gt (a, b) = let val a = explode(name_of a) val b = explode(name_of b) in (int a) > (int b) end end structure sortN = Sort(ns) val sortNodes = sortN.sort end structure Compress : sig val compress_debug : bool ref val compress : (int * Node.program) -> Node.program val move_things_node : Node.program * Ntypes.name * Ntypes.name Set.set -> Node.program val do_move_tests : bool ref val do_move_ops : bool ref val dbg_p : Node.program ref end = struct open Ntypes open Dag open Node val do_move_tests = ref false val do_move_ops = ref true exception COMPRESS fun error (s:string) = (print (s ^ "\n"); raise COMPRESS) val compress_debug = ref false val dbg_p = ref (makeProg()) type debug_fun = unit -> string fun debug (f:debug_fun) = if !compress_debug then print (f() ^ "\n") else () exception FILTERSUCC fun filterSucc(P, nm, fence_set) = let open Set val s = set(succ(P, nameToNode(P, nm))) handle NAMETONODE => raise FILTERSUCC fun f (nm, l) = if member(fence_set, nm) then l else nm::l in fold f s nil end (* val inP = ref false val finP = ref makeProg val foutP = ref makeProg fun chinP (p, from) = let val nm = "11_100'_110tt_119'" val prd = prednm(p, nm) val pe = Set.empty(prd) in if !inP then if pe then (foutP := p; error ("chinP gone -" ^ from)) else () else if pe then () else (inP := true; print ("chinP found it -" ^ from ^ "\n"); finP := p; nameToNode(p, nm); ()) end *) exception MOVETHINGSNODE fun move_things_node(P, nm, fence_set) = let open Set (* val foo = debug (fn () => "move_things_node(\n" ^ progToString P ^ ",\n" ^ nm ^ ", [" ^ fold (fn (a, b) => a ^ ", " ^ b) (set fence_set) "]" ^ ")") *) fun ntn (p, nm) = ((* chinP (p, "ntn");*) nameToNode (p, nm)) handle NAMETONODE => (dbg_p := P; raise MOVETHINGSNODE) fun s_nm_list p = filterSucc(p, nm, fence_set) fun nd nm = ntn(P, nm) handle MOVETHINGSNODE => error "nd nm" val au = listUnionEQ(aeq, map (assignment_of o nd) (s_nm_list P)) val tu = listUnionEQ(teq, map (tests_of o dag_of o nd) (s_nm_list P)) fun ms (p, a) = let fun f(nm, l) = ((*chinP (p, "ms"); *) if member(assignment_of(ntn(p, nm)), a) then nm::l else l ) handle MOVETHINGSNODE => (dbg_p := p; error "ms") in fold f (s_nm_list p) nil end fun move_a1(a, p) = let val msl = ms (p, a) val ms_set = nameSetToNodeSet(p, listToSet msl) fun dms(a, p) = delete(p, ntn(p, a)) fun mop() = let val foo = debug (fn () => "mop start " ^ nm) val new_p = move_op(p, a, ms_set, ntn(p, nm)) handle MOVETHINGSNODE => error "move_a move_op" val foo = debug (fn () => "mop end") in new_p end val mpa = mop() (* val foo = chinP(mpa, "a_move_a amop " ^ nm ^ StrPak.stringListString (map name_of (set ms_set))) *) val answer = fold dms msl mpa (* val foo = chinP(answer, "a_move_a adel") *) in answer end fun move_a(a, p) = if !do_move_ops then move_a1(a, p) else p fun tset (p, t) = let fun f(nm, l) = ((*chinP (p, "tset");*) if member(tests_of(dag_of(ntn(p, nm))), t) then nm::l else l ) handle MOVETHINGSNODE => error "tset" in fold f (s_nm_list p) nil end fun move_t1(t, p) = let val ts = tset (p, t) val answer = if List.length ts > 0 then move_test(p, t, (ntn(p, hd ts) handle MOVETHINGSNODE => error "move_t 1"), (ntn(p, nm) handle MOVETHINGSNODE => error "move_t 2")) else p (*val foo = chinP(answer, "a_move_t")*) in answer end fun move_t(t, p) = if !do_move_tests then move_t1(t, p) else p in debug (fn () => "movethingsnode " ^ nm ^ "\n"); fold move_t (set tu) (fold move_a (set au) P) end exception MOVETHINGSWINDOW fun move_things_window(P, w, nm, fence_set) = let open Set (* val foo = debug (fn () => "move_things_window(\n" ^ progToString P ^ ",\n" ^ (makestring w) ^ ", " ^ nm ^ ", [" ^ fold (fn (a, b) => a ^ ", " ^ b) (set fence_set) "]" ^ ")\n") *) fun ntn (P, nm) = (nameToNode (P, nm)) handle NAMETONODE => raise MOVETHINGSWINDOW val node = ntn(P, nm) val things = num_things_node node val s_nm_list = filterSucc(P, nm, fence_set) fun nxt(nm, p) = move_things_window(p, w - things, nm, fence_set) val child_p = if w > things then fold nxt s_nm_list P else P in debug (fn () => "movethingswindow " ^ nm ^ "\n"); move_things_node(child_p, nm, fence_set) end exception CPRESS exception CPRESS1 exception CPRESS2 exception CPRESS3 exception CPRESS4 exception CPRESS5 fun cpress(window, P, fence_set, everin_fence_set) = let open Set fun nxt(nm, p:program) = ((* dbg_p := p; *) move_things_window(p, window, nm, fence_set)) handle MOVETHINGSWINDOW => raise CPRESS1 val filled = fold nxt (set fence_set) P handle CPRESS1 => raise CPRESS2 fun succf nm = succ(filled, nameToNode(filled, nm)) handle NAMETONODE => raise CPRESS val nfence_set = listUnion(make::(map succf (set fence_set))) fun filt(a, l) = if member(everin_fence_set, a) then l else a::l val f_fence_set = listToSet(fold filt (set nfence_set) nil) val n_everin_fc = fold (fn (a, s) => add(s, a)) (set f_fence_set) everin_fence_set in debug (fn () => "cpress: fence_set=" ^ StrPak.stringListString (set fence_set) ^ "\n f_fence_set =" ^ StrPak.stringListString (set f_fence_set)); if not (empty f_fence_set) then cpress(window, filled, f_fence_set, n_everin_fc) handle CPRESS => raise CPRESS3 handle CPRESS1 => raise CPRESS4 handle CPRESS2 => raise CPRESS5 else filled end fun clean_up (P as (ns, n0, F):program) = let val foo = debug (fn () => "cleanup") val clos = closure(P, n0) val (ns, n0, F) = clos val l = (map name_of (Stringmap.extract ns)) fun f (n, p) = (debug (fn () => "cleanup deleting " ^ n); delete(p, nameToNode(p, n))) val answer = fold f l clos val foo = debug (fn () => "exiting cleanup") in answer end fun compress(window, P as (ns, n0, F)) = let open Set val fence = n0 val fence_set = add(make, name_of n0) val everin_fence_set = add(makeEQ(name_prefix_eq), name_of n0) val uc = cpress(window, P, fence_set, everin_fence_set) val cu = clean_up uc in debug (fn () => "compress"); cu end end structure ReadI : sig val readI : HM.operation list -> (HM.operation list * Node.program list) val writeI : (HM.operation list * Node.program list) -> HM.operation list val progMap : Node.program -> string val read_debug : bool ref val write_debug : bool ref val live_debug : bool ref end = struct val read_debug = ref false val write_debug = ref false val live_debug = ref false fun read_dbg f = if !read_debug then print ("readI.read:" ^ f() ^ "\n") else () fun write_dbg f = if !write_debug then print ("writeI.read:" ^ f() ^ "\n") else () fun write_dbg_s s = write_dbg (fn () => s) exception BTARGET fun btarget (nil, n) = (fn x => raise BTARGET) | btarget (h::t, n) = let open HM val rf = btarget(t, n + 1) fun g lbl x = if lbl = x then n else rf x fun f (TARGET(lbl, inst)) = (g lbl) | f _ = rf in f h end val programs = Node.programs exception BNODES fun buildNodes l = let open HM open Ntypes val t = btarget(l, 0) fun f (nil, n) = nil | f (ci::rest, n) = let open Dag open AbsMach val nm = makestring n val nxtnm = makestring (n + 1) fun asn i = Set.listToSetEQ(aeq, i) val edag = reach(Dag.make, NAME nxtnm) fun tgtnm tgt = makestring (t tgt) fun edagt tgt = reach(Dag.make, NAME (tgtnm tgt)) val finDag = reach(Dag.make, NAME (Node.name_of Node.fin)) fun cdag (tgt,tst) = attach(tst, edagt tgt, edag) val g = fn ASSIGNMENT i => Node.make(nm, asn [i], edag, Set.make) | NERGLE => Node.make(nm, asn [], edag, Set.make) | LABELREF (tgt, i as GETLAB{lab, dst}) => Node.make(nm, asn [GETLAB{lab=(t tgt, tgtnm tgt), dst=dst}], edag, Set.make) | COMPARISON (tgt, tst) => Node.make(nm, asn nil, cdag(tgt, tst), Set.make) | FLOW (tgt, i) => Node.make(nm, asn nil, edagt tgt, Set.make) | EXIT i => Node.make(nm, asn [i], finDag, Set.make) | TARGET (lbl, i) => Node.make(nm, asn nil, edag, Set.make) | _ => raise BNODES in (g ci)::Node.fin::(f (rest, n + 1)) end fun addn(n, p) = Node.addNode(p, n) val prog = fold addn (Node.fin :: f(l, 0)) (Node.makeProg()) in prog end exception READI exception READI_NTN fun readI ol = let open HM fun junkfil (JUNK a, (junk, other)) = (JUNK a :: junk, other) | junkfil (x, (junk, other)) = (junk, x::other) val cl = map HM.classify ol val (junk, other) = fold junkfil cl (nil, nil) fun ntn x = (Node.nameToNode x ) handle NAMETONODE => raise READI_NTN val (ns, foo, fin) = buildNodes other val nn = (ns, ntn((ns, foo, fin), "0"), fin) fun unjunk (JUNK i) = i | unjunk _ = raise READI val progs = programs nn val foo = read_dbg (fn () => ("progs =>" ^ (StrPak.stringListString (map Node.progToString progs)))) in (map unjunk junk, progs) end structure ps = struct open Ntypes type obj = Node.program fun int l = let val z = ord "0" fun f(n, nil) = n | f (n, d::l) = if d>="0" andalso d<="9" then f(n*10+ord(d)-z, l) else n in f(0,l) end fun gt((nsa, n0a, Fa), (nsb, n0b, Fb)) = let val a = explode (Node.name_of n0a) val b = explode (Node.name_of n0b) in (int a) > (int b) end end structure sortP = Sort (ps) fun live_dbg f = if !live_debug then print ("live:" ^ f() ^ "\n") else () fun build_live_tab(P as (ns, n0, F): Node.program) = let open Ntypes open Node open Set fun fil (a, b) = if a < 0 orelse Delay.is_bogus_reg (a, "") then b else add(b, a) fun fil_lset s = fold fil (set s) make val lt:(int set) Stringmap.stringmap = Stringmap.new() val finset = listToSet [0, 1, 2, 3, 4, 5] fun flive f n = if Stringmap.isin lt (name_of n) then Stringmap.map lt (name_of n) else f n fun dfs cur = let fun fl n = flive dfs n val nm = name_of cur val gen = (fil_lset o readNode) cur val kill = writeNode cur val foo = Stringmap.add lt (nm, gen) val children = succNodes(P, cur) val ch_live = if empty children then finset else listUnion (map fl (set children)) val live = union(diff(ch_live, kill), gen) val foo = Stringmap.rm lt nm val foo = Stringmap.add lt (nm, live) in live end in dfs n0; (fn nm => let val ans = Stringmap.map lt nm val foo = live_dbg (fn () => nm ^ "=>" ^ StrPak.stringListString (map makestring (set ans))) in ans end) end (* live is the union of live in successors *) fun branch_live (P, tab, nm) = let open Node val s = Set.set (succ(P, nameToNode(P, nm))) val l:int Set.set = Set.listUnion (map tab s) val foo = live_dbg (fn()=>("branch_live " ^ nm ^ " s=" ^ StrPak.stringListString s ^ " -> " ^ StrPak.stringListString (map makestring (Set.set l)))) in l end exception WRITEP exception WRITEP1 exception WRITEP_NTN fun writeP (entry_map, lbl_fun, P as (ns, n0, F):Node.program) = let open Ntypes open Node open Set open HM open AbsMach val foo = write_dbg(fn () => "program:" ^ progToString P) fun blblmap nil = (fn x => (print ("blblmap_" ^ x); raise WRITEP)) | blblmap (nm::t) = let val mp = blblmap t val mylab = lbl_fun() in (fn x => if x = nm then mylab else mp x) end val lblmap = blblmap(map name_of (Stringmap.extract ns)) val live_tab = build_live_tab P fun label_list nm = map (fn r => (r, "")) (set (live_tab nm)) fun br_list nm = map (fn r => (r, "")) (set (branch_live(P, live_tab, nm))) fun getlab (GETLAB{lab=(i,s), dst}) = GETLAB{lab=(entry_map s, "node" ^ s), dst=dst} | getlab _ = raise WRITEP1 fun dogetlabs (i as GETLAB _, l) = (getlab i) :: l | dogetlabs (i, l) = i :: l fun ubranch (frm, nm) = BRANCH{test=ieq, src1=(0, "zero"), src2=(0, "zero"), dst=(lblmap nm, "node" ^ nm), live=br_list frm} fun cbranch (BRANCH{test, src1, src2, dst, live}, frm, nm) = BRANCH{test=test, src1=src1, src2=src2, dst=(lblmap nm, "node" ^ nm), live=br_list frm} | cbranch _ = (print "cbranch"; raise Match) fun label nm = LABEL{lab=(lblmap nm, "node" ^ nm), live=label_list nm} fun entry_label nm = LABEL{lab=(entry_map nm, "entry"), live=label_list nm} fun f (done, lastnm, nm) = let val foo = write_dbg (fn () => "f (" ^ StrPak.stringListString (set done) ^ "," ^ nm ^ ")") in if nm = name_of F then (write_dbg_s "fin"; (done, [NOP])) else if member(done, nm) then (write_dbg_s "already"; (done, [NOP, ubranch(lastnm, nm)])) else let open Dag val foo = write_dbg_s "doing" val node = nameToNode(P, nm) handle NAMETONODE => raise WRITEP_NTN val needlabel = let val pd = set (pred (P, node)) val foo = write_dbg (fn () => ("needlabel pd=" ^ StrPak.stringListString pd)) fun f nil = false | f ((p::nil):Ntypes.name list) = let val pn = nameToNode(P, p:Ntypes.name) val foo = write_dbg (fn () => ("ndlbl: pn=" ^ nodeToString pn)) val d = dag_of pn val sel = sel_of d val rt = root_of d fun istst (TEST t) = (write_dbg_s "ist true\n"; true) | istst (NAME n) = (write_dbg_s "ist false\n"; false) | istst NEITHER = (write_dbg_s "ist false\n"; false) fun untst (TEST t) = t | untst _ = (print "needlabel1"; raise Match) fun unnm (NAME nm) = nm | unnm _ = (print "needlabel2"; raise Match) val foo = if istst rt then write_dbg (fn () => ("sel=" ^ unnm(sel(untst rt, true)) ^ "\n")) else () in istst rt andalso (sel(untst rt, true) = NAME nm) end | f (a::b::c) = true val answer = f pd val foo = write_dbg (fn () => ("needlabel=>" ^ Bool.toString answer)) in answer end val nodelabel = if needlabel then [label nm] else nil val nodeNOP = [NOP] val a = fold dogetlabs (set (assignment_of node)) nil val d = dag_of node val sel = sel_of d val rt = root_of d (* only works for <= 1 test *) fun dag_code NEITHER = (nil, nil) | dag_code (NAME n) = ([n], nil) | dag_code (TEST t) = let fun unnm (NAME x) = x | unnm _ = (print "dag_code"; raise Match) val t_n = unnm(sel(t, true)) val f_n = unnm(sel(t, false)) in ([f_n, t_n], [cbranch(t, nm, t_n)]) end val (nl, cd) = dag_code rt exception DFS_SURPRISE fun dfs (done, nil) = (write_dbg_s "dfs nil"; (done, nil)) | dfs (done, h::nil) = (write_dbg_s "dfs 1"; f(done, nm, h)) | dfs (done, h::nxt::nil) = let val foo = write_dbg_s "dfs 2" val (dn1, cd1) = f(done, nm, h) val (dn2, cd2) = if member(dn1, nxt) then (dn1, nil) else dfs(dn1, nxt::nil) val lbl = if nxt = name_of F orelse member(dn2, nxt) then [NOP] else [NOP, label nxt] in (dn2, cd1 @ lbl @ cd2) end | dfs _ = raise DFS_SURPRISE val (dn, dcd) = dfs(add(done, nm), nl) in (dn, NOP :: nodelabel @ a @ cd @ dcd) end end val (done, code) = f (Set.make, "badname", name_of n0) in (entry_label (name_of n0)) :: (label (name_of n0)) :: code end exception WRITEI fun progMap(p as (ns, n0, F)) = let val l = Node.sortNodes (Stringmap.extract ns) val outstr = ref "" fun pr s = outstr := !outstr ^ s fun ntn n = Node.nameToNode(p, n) val n0nm = Node.name_of n0 val nFnm = Node.name_of F fun f n = let val s = Set.set (Node.succ(p, n)) val nm = Node.name_of n val pre = if nm = n0nm then "->\t" else "\t" val post = if nm = nFnm then "\t->\n" else "\n" in pr (pre ^ Node.name_of n ^ "\t->\t" ^ StrPak.stringListString s ^ post) end in List.app f l; !outstr end fun writeI(j:AbsMach.opcode list, p:Node.program list) = let val labelid = ref 0 fun newlabel () = (labelid := !labelid + 1; !labelid - 1) fun bentrymap nil = (fn x => (print ("bentrymap_" ^ x); raise WRITEI)) | bentrymap ((ns, n0, F)::t) = let val mp = bentrymap t val mylab = newlabel() in (fn x => if x = Node.name_of n0 then mylab else mp x) end val entry_map = bentrymap p val sp = sortP.sort p fun wp p = writeP (entry_map, newlabel, p) fun f(a, b) = (wp a) @ b val i = fold f sp nil in i @ j end end signature SIMLABS = sig exception Data_dependency_checked exception End_of_Program exception Simulator_error_1 exception Simulator_error_2 exception illegal_branch_within_branchdelay exception illegal_jump_within_branchdelay exception illegal_operator_or_operand exception negative_label_offset exception no_address_in_register exception no_label_in_register exception no_memory_address_in_register exception runtime_error_in_labwords exception runtime_error_in_words_or_labwords exception type_mismatch_in_comparison exception wrong_label val breakptr : int -> unit val clock : int ref val d_m : int * int -> unit val d_ms : int list -> unit val d_pc : unit -> unit val d_r : unit -> unit val d_regs : int list -> unit val init : AbsMach.opcode list -> unit val mcell : int -> AbsMach.values val pc : unit -> AbsMach.opcode list val pinit : int * (AbsMach.arithop -> int) * int * AbsMach.opcode list -> unit val pptr : unit -> int val prun : unit -> unit val pstep : unit -> unit val regc : int -> AbsMach.values val run : unit -> unit val runcount : int ref val step : unit -> unit val vinit : int * AbsMach.opcode list -> unit val vpc : unit -> unit val vrun1 : unit -> unit val vrun2 : unit -> unit val vrun3 : unit -> unit val vstep1 : unit -> unit val vstep2 : unit -> unit val vstep3 : unit -> unit val Memory : (AbsMach.values array) ref end; structure SetEnv : SIMLABS= struct open AbsMach; val codes : (opcode list ref)=ref nil; val RegN=ref 0 and LabN=ref 0 and memorysize=ref 10000; (*RegN = (pointer to) number of registers needed; LabN = (pointer to) number of labels; memorysize=(pointer to) memory space size. *) val IP: (opcode list) ref =ref nil; val inivalue=(INT 0); (*IP = Program Pointer; inivalue = zero- initial value of memory and registers. *) val Reg=ref (array(0,inivalue)) and Memory=ref (array(0,inivalue)) and Lab_Array=ref (array(0, (0,IP) )); (*Reg = register array; Memory = memory cell array; Lab_Array = label-opcode list array. *) fun max(n1:int,n2:int)=if (n1>n2) then n1 else n2; (* hvnop tests whether the instruction is not a real machine instruction, but only useful in simulation. *) fun hvnop(LABEL{...})=true | hvnop(LABWORD{...})=true | hvnop(WORD{...})=true | hvnop(_)=false; (*count_number is used to take into account register references and label declarations, and change RegN or LabN. *) fun count_number(FETCH {ptr=(n1,_),dst=(n2,_),...})= (RegN:=max((!RegN),max(n1,n2)) ) | count_number(STORE {src=(n1,_),ptr=(n2,_),...})= (RegN:=max((!RegN),max(n1,n2)) ) | count_number(ARITHI {src1=(n1,_),dst=(n2,_),...})= (RegN:=max((!RegN),max(n1,n2)) ) | count_number(MOVE {src=(n1,_),dst=(n2,_)})= (RegN:=max((!RegN),max(n1,n2)) ) | count_number(BRANCH {src1=(n1,_),src2=(n2,_),...})= (RegN:=max((!RegN),max(n1,n2)) ) | count_number(GETLAB {dst=(n,_),...})= (RegN:=max((!RegN),n) ) | count_number(GETREAL {dst=(n,_),...})= (RegN:=max((!RegN),n) ) | count_number(ARITH{src1=(n1,_),src2=(n2,_),dst=(n3,_),...})= (RegN:=max((!RegN),max(n1,max(n2,n3)) ) ) | count_number(LABEL{...})= ( Ref.inc(LabN) ) | count_number(_)=(); (* scan is used to scan the opcode list for the first time, to determine the size of Reg and Lab_Array, i.e. number of registers and labels. *) fun scan(nil)=() | scan(h::t)=(count_number(h);scan(t)); (* setlabels is used to set the label array, of which each item is a pair (label, codep), codep points to the codes containing the LABEL statement and afterwards codes. *) fun setlabels(nil,_)= () | setlabels(codel as ((LABEL {lab=(l,_),...})::t),k)= (update((!Lab_Array),k,(l,ref codel)); setlabels(t,k+1) ) | setlabels(h::t,k)=setlabels(t,k) ; (* initializing the enviroment of the simulation. *) fun init(l)=(RegN:=0; LabN:=0; IP:=l; codes:=l; scan(!IP); Ref.inc(RegN); Reg:=array( (!RegN), inivalue ) ; Memory:=array( (!memorysize), inivalue ) ; Lab_Array:=array( (!LabN), (0,IP)); setlabels(!IP,0) ); exception wrong_label; exception runtime_error_in_labwords; exception runtime_error_in_words_or_labwords; exception negative_label_offset; exception no_label_in_register; exception illegal_operator_or_operand; exception type_mismatch_in_comparison ; exception no_address_in_register; exception no_memory_address_in_register; (* getresult gives the results of arithmtic operations *) fun getresult(iadd,INT (n1:int),INT (n2:int))=INT (n1+n2) | getresult(isub,INT (n1:int),INT (n2:int))=INT (n1-n2) | getresult(imul,INT (n1:int),INT (n2:int))=INT (n1*n2) | getresult(idiv,INT (n1:int),INT (n2:int))=INT (n1 div n2) | getresult(fadd,REAL (r1:real),REAL (r2:real))=REAL (r1+r2) | getresult(fsub,REAL (r1:real),REAL (r2:real))=REAL (r1-r2) | getresult(fmul,REAL (r1:real),REAL (r2:real))=REAL (r1*r2) | getresult(fdiv,REAL (r1:real),REAL (r2:real))=REAL (r1/r2) | getresult(iadd,INT (n1:int),LABVAL (l,k))=LABVAL (l,k+n1) | getresult(iadd,LABVAL (l,k),INT (n1:int))=LABVAL (l,k+n1) | getresult(isub,LABVAL (l,k),INT (n1:int))=LABVAL (l,k-n1) | getresult(orb,INT n1,INT n2)=INT (Bits.orb(n1,n2)) | getresult(andb,INT n1,INT n2)=INT (Bits.andb(n1,n2)) | getresult(xorb,INT n1,INT n2)=INT (Bits.xorb(n1,n2)) | getresult(rshift,INT n1,INT n2)=INT (Bits.rshift(n1,n2)) | getresult(lshift,INT n1,INT n2)=INT (Bits.lshift(n1,n2)) | getresult(real,INT n,_)=REAL (intToReal(n)) | getresult(floor,REAL r,_)=INT (Real.floor(r)) | (* getresult(logb,REAL r,_)=INT (System.Unsafe.Assembly.A.logb(r))| *) getresult(_)=raise illegal_operator_or_operand; (* compare gives the results of comparisons in BRANCH statement. *) fun compare(ilt,INT n1,INT n2)= (n1n2) | compare(ile,INT n1,INT n2)= (n1<=n2) | compare(ige,INT n1,INT n2)= (n1>=n2) | compare(ine,INT n1,INT n2)= (n1<>n2) | compare(flt,REAL r1,REAL r2)= (r1r2) | compare(fle,REAL r1,REAL r2)= (r1<=r2) | compare(fge,REAL r1,REAL r2)= (r1>=r2) | compare(fne,REAL r1,REAL r2)= (realNe(r1,r2)) | compare(inrange,INT a,INT b)= (a>=0) andalso (ab) | compare(inrange,REAL a,REAL b)= (a>=0.0) andalso (ab) | compare(_)=raise type_mismatch_in_comparison ; (* findjmp_place returns the pointer to the codes corresponding to the given label (the codes containing the LABEL statement itself). *) fun findjmp_place lab = let val ipp=ref (ref nil) and i=ref 0 and flag=ref true; val none=(while ( (!i < !LabN) andalso (!flag) ) do ( let val (l,p)=((!Lab_Array) sub (!i)) in if (l=lab) then (ipp:=p;flag:=false) else Ref.inc(i) end ) ) in if (!flag) then raise wrong_label else (!ipp) end; (* findjmp_word returns the content of the k th labword in a code stream. *) fun findjmp_word(k,ip)=if (k<0) then raise negative_label_offset else let fun f2(1,LABWORD{lab=(herepos,_)}::t) =herepos | f2(k,LABWORD{...}::t)=f2(k-1,t) | f2(_)=raise runtime_error_in_labwords ; in f2(k, (!ip) ) end; (* inst_word returns the content of the k'th word or labword in a code stream. *) fun inst_word(k,ip)=if (k<0) then raise negative_label_offset else let fun f(1,LABWORD{lab=(herepos,_)}::t) =LABVAL (herepos,0) | f(1,WORD{value=n}::t)=INT n | f(k,LABWORD{...}::t)=f(k-1,t) | f(k,WORD{...}::t)=f(k-1,t) | f(_)=raise runtime_error_in_words_or_labwords in f(k,(!ip)) end; (* execjmp changes IP, makes it point to the codes of the given label. *) fun execjmp(LABVAL (l,0))= (IP:= !(findjmp_place l) ) | execjmp(LABVAL (l,k))= (IP:= ! (findjmp_place (findjmp_word(k,findjmp_place(l) ) ) ) ) | execjmp(_) = raise no_label_in_register; (* addrplus returns the result of address+offset. *) fun addrplus(INT n,ofst)= n+ofst | addrplus(_,_)=raise no_memory_address_in_register; (* content gives the content of the fetched word. *) fun content(INT n,ofst)= (!Memory) sub (n+ofst) | content(LABVAL (l,k),ofst)=inst_word(k+ofst,findjmp_place(l)) | content(_,_)=raise no_address_in_register; (* exec executes the given instruction. *) fun exec(FETCH{immutable=_,offset=ofst,ptr=(p,_),dst=(d,_)})= update((!Reg),d,content((!Reg) sub p,ofst) ) | exec(STORE{offset=ofst,src=(s,_),ptr=(p,_)})= update((!Memory),addrplus((!Reg) sub p,ofst),(!Reg) sub s) | exec(GETLAB {lab=(l,_),dst=(d,_)})= update((!Reg),d,(LABVAL (l,0)) ) | exec(GETREAL {value=v,dst=(d,_)})= update((!Reg),d,(REAL (strToReal v))) | exec(MOVE{src=(s,_),dst=(d,_)})= update((!Reg),d, (!Reg) sub s ) | exec(LABEL {...})= () | exec(LABWORD {...}) = () | exec(WORD{...})= () | exec(JUMP {dst=(d,_),...})= execjmp((!Reg) sub d) | exec(ARITH {oper=opn,src1=(s1,_),src2=(s2,_),dst=(d,_)})= update((!Reg),d,getresult(opn,(!Reg) sub s1,(!Reg) sub s2) ) | exec(ARITHI {oper=opn,src1=(s1,_),src2=n1,dst=(d,_)})= update((!Reg),d,getresult(opn,(!Reg) sub s1,(INT n1) ) ) | exec(BRANCH{test=comp,src1=(s1,_),src2=(s2,_),dst=(labnum,_),...})= if compare(comp,(!Reg) sub s1,(!Reg) sub s2) then (IP:= !(findjmp_place(labnum) ) ) else () | exec(NOP)= () | exec(BOGUS _)= raise Match ; exception End_of_Program; fun step () =let val Instruction=(hd(!IP) handle Hd=> raise End_of_Program) in (IP:=tl(!IP) handle Tl=>raise End_of_Program; exec(Instruction) ) end; fun run () =(step();run() ) handle End_of_Program =>output(std_out,"End of program\n"); (* bms, ims, rms are simply abbreviations. *) val bms : bool -> string = Bool.toString and ims : int -> string = Int.toString and rms : real -> string = Real.toString (* dispv shows the content of a register, dispm shows the content of a memory word. *) fun dispv(n,INT k)=output(std_out,"Register "^ims(n)^": "^ "INT "^ims(k)^"\n") | dispv(n,REAL r)=output(std_out,"Register "^ims(n)^": "^ "REAL "^rms(r)^"\n") | dispv(n,LABVAL (l,0))=output(std_out, "Register "^ims(n)^": "^ "LABEL "^ims(l)^"\n") | dispv(n,LABVAL (l,k))=output(std_out, "Register "^ims(n)^": "^ "LABWORD "^ims(k)^" after"^ "LABEL "^ims(l)^"\n") ; fun dispm(n,INT k)=output(std_out,"Memory "^ims(n)^": "^ "INT "^ims(k)^"\n") | dispm(n,REAL r)=output(std_out,"Memory "^ims(n)^": "^ "REAL "^rms(r)^"\n") | dispm(n,LABVAL (l,0))=output(std_out, "Memory "^ims(n)^": "^ "LABEL "^ims(l)^"\n") | dispm(n,LABVAL (l,k))=output(std_out, "Memory "^ims(n)^": "^ "LABWORD "^ims(k)^" after"^ "LABEL "^ims(l)^"\n") ; (* oms and cms give the strings of the functions and comparisions. *) fun oms(iadd)="iadd" | oms(isub)="isub" | oms(imul)="imul" | oms(idiv)="idiv" | oms(fadd)="fadd" | oms(fsub)="fsub" | oms(fmul)="fmul" | oms(fdiv)="fdiv" | oms(real)="real" | oms(floor)="floor" | oms(logb)="logb" | oms(orb)="orb" | oms(andb)="andb" | oms(xorb)="xorb" | oms(rshift)="rshift" | oms(lshift)="lshift" ; fun cms(ilt)="ilt" | cms(igt)="igt" | cms(ieq)="ieq" | cms(ile)="ile" | cms(ige)="ige" | cms(ine)="ine" | cms(flt)="flt" | cms(fgt)="fgt" | cms(feq)="feq" | cms(fle)="fle" | cms(fge)="fge" | cms(fne)="fne" | cms(outofrange)="outofrange" | cms(inrange)="inrange" ; (* lms gives the string of the live register list. *) fun lms(nil)="" | lms((h,s)::nil)="("^ims(h)^","^s^")" | lms((h,s)::t)="("^ims(h)^","^s^"),"^lms(t); (* disp gives the string for the instruction. *) fun disp(FETCH{immutable=b,offset=ofst,ptr=(p,s1),dst=(d,s2)}) = "FETCH{immutable="^bms(b)^",offset="^ims(ofst) ^",ptr=("^ims(p)^","^s1 ^"),dst=("^ims(d)^","^s2^")}\n" | disp(STORE{offset=ofst,src=(s,s1),ptr=(p,s2)}) = "STORE{offset="^ims(ofst)^",src=("^ims(s)^","^s1^"),ptr=(" ^ims(p)^","^s2^")}\n" | disp(GETLAB{lab=(l,ls),dst=(d,ds)}) = "GETLAB{lab=("^ims(l)^","^ls^"),dst=("^ims(d)^","^ds^")}\n" | disp(GETREAL{value=r,dst=(d,ds)}) = "GETREAL{value="^r^",dst=("^ims(d)^","^ds^")}\n" | disp(ARITH{oper=opn,src1=(s1,ss1),src2=(s2,ss2),dst=(d,ds)})= "ARITH{oper="^oms(opn)^",src1=("^ims(s1)^","^ss1^"),src2=("^ims(s2) ^","^ss2^"),dst=("^ims(d)^","^ds^")}\n" | disp(ARITHI{oper=opn,src1=(s1,ss1),src2=n,dst=(d,ds)})= "ARITH{oper="^oms(opn)^",src1=("^ims(s1)^","^ss1^"),src2="^ims(n)^ ",dst=("^ims(d)^","^ds^")}\n" | disp(MOVE{src=(s,ss),dst=(d,ds)})= "MOVE{src=("^ims(s)^","^ss^"),dst=("^ims(d)^","^ds^")}\n" | disp(BRANCH{test=comp,src1=(s1,ss1),src2=(s2,ss2),dst=(labnum,ss3), live=lt})= "BRANCH{test="^cms(comp)^",src1=("^ims(s1)^","^ss1^"),src2=("^ims(s2) ^","^ss2^"),dst=("^ims(labnum)^","^ss3^"),live=["^lms(lt)^"]}\n" | disp(JUMP{dst=(d,ds),live=lt}) = "JUMP{dst=("^ims(d)^","^ds^"),live=["^lms(lt)^"]}\n" | disp(LABWORD{lab=(l,s)})="LABWORD{lab=("^ims(l)^","^s^")}\n" | disp(LABEL{lab=(l,s),live=lt})= "LABEL{lab=("^ims(l)^","^s^"),live=["^lms(lt)^"]}\n" | disp(WORD{value=n})="WORD{value="^ims(n)^"}\n" | disp(NOP)="NOP" | disp(BOGUS _) = raise Match ; fun d_pc () =output(std_out,disp(hd(!IP)) handle Hd=>"No More Instruction\n"); fun pc () = (!IP); fun pptr () =(List.length(!codes)-List.length(!IP))+1; fun breakptr k=let fun goon (LABEL {lab=(l,_),...})=(l<>k) | goon (_)=true in while goon(hd(!IP)) do step() end; fun regc n=((!Reg) sub n); fun d_r () =let val i=ref 0 in (while ( !i < !RegN) do (dispv((!i),(!Reg) sub (!i)); Ref.inc(i) ) ) end; fun d_regs (nil)=() | d_regs (h::t)=(dispv(h,(!Reg) sub h);d_regs(t)); fun mcell n=((!Memory) sub n); fun d_m (n,m)=let val i=ref n in while ( !i <=m) do (dispm(!i,(!Memory) sub !i); Ref.inc(i) ) end; fun d_ms nil =() | d_ms (h::t)=(dispm(h,(!Memory) sub h); d_ms(t) ); (* This part for the VLIW mode execution. *) val runcount=ref 0 and sizen=ref 0 and flag=ref true; exception Simulator_error_1; exception Simulator_error_2; exception Data_dependency_checked; (* member tests whether element a is in a list. *) fun member(a,nil)=false | member(a,h::t)=if (a=h) then true else member(a,t); (* hvcom tests whether the intersection of two list isnot nil. *) fun hvcom(nil,l)=false | hvcom(h::t,l)=member(h,l) orelse hvcom(t,l); (* gset returns the list of registers refered in a instruction. gwset returns the list of the register being written in a instruction. *) fun gset(FETCH{ptr=(p,_),dst=(d,_),...})=[p,d] | gset(STORE{src=(s,_),ptr=(p,_),...})=[s,p] | gset(GETLAB{dst=(d,_),...})=[d] | gset(GETREAL{dst=(d,_),...})=[d] | gset(ARITH{src1=(s1,_),src2=(s2,_),dst=(d,_),...})=[s1,s2,d] | gset(ARITHI{src1=(s1,_),dst=(d,_),...})=[s1,d] | gset(MOVE{src=(s,_),dst=(d,_)})=[s,d] | gset(BRANCH{src1=(s1,_),src2=(s2,_),...})=[s1,s2] | gset(JUMP{dst=(d,_),...})=[d] | gset(_)=nil ; fun gwset(FETCH{dst=(d,_),...})=[d] | gwset(GETLAB{dst=(d,_),...})=[d] | gwset(GETREAL{dst=(d,_),...})=[d] | gwset(ARITH{dst=(d,_),...})=[d] | gwset(ARITHI{dst=(d,_),...})=[d] | gwset(MOVE{dst=(d,_),...})=[d] | gwset(_)=nil ; (* fetchcode returns the instruction word which contains the next k instruction. fetchcode3 is used in version 3 of VLIW mode, in which case labels within instruction words are OK. *) fun fetchcode(0)=nil | fetchcode(k)=let val h=hd(!IP) in (IP:=tl(!IP); if hvnop(h) then (output(std_out, "Warning: labels within the instruction word\n"); fetchcode(k) ) else h::fetchcode(k-1) ) end handle Hd=>nil; fun fetchcode3(0)=nil | fetchcode3(k)=let val h=hd(!IP) in (IP:=tl(!IP); if hvnop(h) then fetchcode3(k) else h::fetchcode3(k-1) ) end handle Hd=>nil; (* allnop tests if all instructions left mean no operation. *) fun allnop(nil)=true | allnop(NOP::t)=allnop(t) | allnop(_)=false; (* nopcut cut the instruction stream in a way that the first half are all NOP instruction. *) fun nopcut(nil)=(nil,nil) | nopcut(NOP::t)=let val (l1,l2)=nopcut(t) in (NOP::l1,l2) end | nopcut(l)=(nil,l); (* cmdd tests the data dependency on memory cells and IP. *) fun cmdd(_,nil)=false | cmdd(wset,STORE{ptr=(p,_),offset=ofst,...}::t)= cmdd(addrplus((!Reg) sub p,ofst)::wset,t) | cmdd(wset,FETCH{ptr=(p,_),offset=ofst,...}::t)= member(addrplus((!Reg) sub p,ofst),wset) orelse cmdd(wset,t) | cmdd(wset,BRANCH{...}::t)=if allnop(t) then false else true | cmdd(wset,JUMP{...}::t)=if allnop(t) then false else true | cmdd(wset,h::t)=cmdd(wset,t); (* crdd test the data dependency on registers. *) fun crdd(_,nil)=false | crdd(wset,h::t)=if hvcom(gset(h),wset) then true else crdd(gwset(h)@wset,t) ; (* check_dd checks whether there is data dependency in instruction stream l. *) fun check_dd(l)= crdd(nil,l) orelse cmdd(nil,l); (* rddcut seperate the longest part of the instruction stream that have no data dependency on registers , from the left. *) fun rddcut(_,nil)= (nil,nil) | rddcut(wset,l as (h::t))= if hvcom(gset(h),wset) then (nil,l) else let val (l1,l2)=rddcut(gwset(h)@wset,t) in (h::l1,l2) end ; (* mddcut seperate the longest part of the instruction stream that have no data dependency on memory cells and IP, from the left. *) fun mddcut(_,nil)= (nil,nil) | mddcut(wset,(h as STORE{ptr=(p,_),offset=ofst,...})::t)= let val (l1,l2)=mddcut(addrplus((!Reg) sub p,ofst)::wset,t) in (h::l1,l2) end | mddcut(wset,(h as FETCH{ptr=(p,_),offset=ofst,...})::t)= if member(addrplus((!Reg) sub p,ofst),wset) then (nil,h::t) else let val (l1,l2)=mddcut(wset,t) in (h::l1,l2) end | mddcut(wset,(h as BRANCH{...})::t)= let val (l1,l2)=nopcut(t) in (h::l1,l2) end | mddcut(wset,(h as JUMP{...})::t)= let val (l1,l2)=nopcut(t) in (h::l1,l2) end | mddcut(wset,h::t)= let val (l1,l2)=mddcut(wset,t) in (h::l1,l2) end ; (* calcult returns the necessary value list corresponding to a instruction stream. And change the IP when necessary. *) fun calcult(nil)=nil | calcult(FETCH{ptr=(p,_),offset=ofst,...}::t)= content((!Reg) sub p,ofst)::calcult(t) | calcult(STORE{src=(s,_),...}::t)=((!Reg) sub s )::calcult(t) | calcult(MOVE{src=(s,_),...}::t)=((!Reg) sub s)::calcult(t) | calcult(ARITH{oper=opn,src1=(s1,_),src2=(s2,_),...}::t)= getresult(opn,(!Reg) sub s1,(!Reg) sub s2)::calcult(t) | calcult(ARITHI{oper=opn,src1=(s1,_),src2=n1,...}::t)= getresult(opn,(!Reg) sub s1,(INT n1))::calcult(t) | calcult(JUMP{dst=(d,_),...}::t)=((!Reg) sub d)::calcult(t) | calcult(h::t)=calcult(t); (* dowr does the actual writing operations. *) fun dowr(nil,nil)=() | dowr(nil,h::t)=raise Simulator_error_1 | dowr(FETCH{...}::t,nil)=raise Simulator_error_2 | dowr(STORE{...}::t,nil)=raise Simulator_error_2 | dowr(MOVE{...}::t,nil)=raise Simulator_error_2 | dowr(ARITH{...}::t,nil)=raise Simulator_error_2 | dowr(ARITHI{...}::t,nil)=raise Simulator_error_2 | dowr(JUMP{...}::t,nil)=raise Simulator_error_2 | dowr(FETCH{dst=(d,_),...}::t,vh::vt)=(update((!Reg),d,vh); dowr(t,vt) ) | dowr(STORE{ptr=(p,_),offset=ofst,...}::t,vh::vt)= (update((!Memory),addrplus((!Reg) sub p,ofst),vh); dowr(t,vt) ) | dowr(GETLAB{lab=(l,_),dst=(d,_)}::t,vt)= (update((!Reg),d,(LABVAL (l,0)) ); dowr(t,vt) ) | dowr(GETREAL{value=v,dst=(d,_)}::t,vt)= (update((!Reg),d,(REAL (strToReal v)) ); dowr(t,vt) ) | dowr(MOVE{dst=(d,_),...}::t,vh::vt)= (update((!Reg),d,vh); dowr(t,vt) ) | dowr(ARITH{dst=(d,_),...}::t,vh::vt)= (update((!Reg),d,vh); dowr(t,vt) ) | dowr(ARITHI{dst=(d,_),...}::t,vh::vt)= (update((!Reg),d,vh); dowr(t,vt) ) | dowr(JUMP{...}::t,vh::vt)= (execjmp(vh); flag:=false; dowr(t,vt) ) | dowr(BRANCH{test=comp,src1=(s1,_),src2=(s2,_), dst=(labnum,_),...}::t,vt)= if compare(comp,(!Reg) sub s1,(!Reg) sub s2) then (IP:= !(findjmp_place(labnum)); flag:=false; dowr(t,vt) ) else dowr(t,vt) | dowr(h::t,vt)=dowr(t,vt) ; (* vv3 executes an instruction word in version 3 mode. *) fun vv3(nil)= () | vv3(l)=let val (l1,l2)=rddcut(nil,l); val (l3,l4)=mddcut(nil,l1) in (flag:=true; dowr(l3,calcult(l3)); Ref.inc(runcount); if (!flag) then vv3(l4@l2) else () ) end; fun vinit(k,l)=(init(l); sizen:=k; runcount:=0 ) ; fun vstep1()=let val f=(while hvnop(hd(!IP)) do IP:=tl(!IP)) handle Hd=>raise End_of_Program; val codel=fetchcode(!sizen) in (dowr(codel,calcult(codel)); Ref.inc(runcount) ) end; fun vstep2()=let val f=(while hvnop(hd(!IP)) do IP:=tl(!IP)) handle Hd=>raise End_of_Program; val codel=fetchcode(!sizen) in if check_dd(codel) then (output(std_out,"Data dependency checked in:\n"); let fun f(nil)=() | f(h::t)=(output(std_out,":"^disp(h)); f(t)) in f(codel) end; raise Data_dependency_checked ) else (dowr(codel,calcult(codel)); Ref.inc(runcount) ) end; fun vstep3()=let val f=if (!IP)=nil then raise End_of_Program else (); val codel=fetchcode3(!sizen) in vv3(codel) end; fun vrun1()=(vstep1();vrun1()) handle End_of_Program => output(std_out,"End of program.\nTotal runtime: " ^ims(!runcount)^" steps.\n"); fun vrun2()=(vstep2(); vrun2()) handle End_of_Program => output(std_out,"End of program.\nTotal runtime: " ^ims(!runcount)^" steps.\n")| Data_dependency_checked=> output(std_out,"Program halted.\n") ; fun vrun3()=(vstep3(); vrun3()) handle End_of_Program => output(std_out,"End of program.\nTotal runtime: " ^ims(!runcount)^" substeps.\n"); fun vpc()=let val codel=(!IP) ; fun f (_,nil)=() | f (0,_)= () | f (k,h::l)=if k<=0 then () else (output(std_out,disp(h) ); if hvnop(h) then f(k,l) else f(k-1,l) ) in f((!sizen),codel) end; (* This part for Pipeline mode *) exception illegal_jump_within_branchdelay; exception illegal_branch_within_branchdelay; exception illegal_label_within_branchdelay; exception illegal_labword_within_branchdelay; exception illegal_word_within_branchdelay; (* Rdelay points to the timing array of registers. *) val Rdelay=ref ( array(0,0) ); (* clock records run time. withindelay is a flag used in BRANCH and JUMP delays. *) val clock=ref 0 and withindelay=ref false; val fdelay=ref 1 and ardelay: ((arithop->int) ref)=ref (fn k=>1) and jdelay=ref 1; (* pexec executes one instruction, increasing the clock when necessary, which corresponding to the holding down of instruction streams. *) fun pexec(FETCH{immutable=_,offset=ofst,ptr=(p,_),dst=(d,_)})= (let val t=(!Rdelay) sub p in if (!clock) (i:=(!jdelay) ) ; (IP:=tl(!IP)) handle Tl=>() ) end; execjmp((!Reg) sub d) ) | pexec(BRANCH{test=comp,src1=(s1,_),src2=(s2,_),dst=(labnum,_),...})= if (!withindelay) then raise illegal_branch_within_branchdelay else (let val t1=((!Rdelay) sub s1) and t2=((!Rdelay) sub s2); val t=Int.max(t1,t2) in if (!clock) (i:=(!jdelay) ) ; (IP:=tl(!IP)) handle Tl=>() ) end; if compare(comp,(!Reg) sub s1,(!Reg) sub s2) then (IP:= !(findjmp_place(labnum) ) ) else () ) | pexec(NOP)=Ref.inc(clock) | pexec(LABEL{...})=if (!withindelay) then raise illegal_label_within_branchdelay else () | pexec(LABWORD{...})=if (!withindelay) then raise illegal_labword_within_branchdelay else () | pexec(WORD{...})=if (!withindelay) then raise illegal_word_within_branchdelay else () ; fun pinit(fetchdelay,arithdelay,jumpdelay,l)= (init(l); Rdelay:=array((!RegN),0); clock:=0; fdelay:=fetchdelay; ardelay:=arithdelay; jdelay:=jumpdelay ); fun pstep()= let val Instruction=(hd(!IP) handle Hd=>raise End_of_Program) in (IP:=tl(!IP) handle Tl=>raise End_of_Program; withindelay:=false; pexec(Instruction) ) end; fun prun()=(pstep(); prun() ) handle End_of_Program=> (output(std_out,"End of program.\n"); output(std_out,"Total time used: "^ims(!clock)^" cycles.\n") ); end; structure SimStuff = struct fun read file = let val if1 = (open_in "simprelude.s") val if2 = (open_in file) val if3 = (open_in "simpostlude.s") val prelude = ReadAbs.read if1 val prog = ReadAbs.read if2 val postlude = ReadAbs.read if3 in close_in if1; close_in if2; close_in if3; prelude @ prog @ postlude end fun init file = SetEnv.init (read file) val runcount = ref 0 fun run ()= let open AbsMach val foo = runcount := 0 fun updc NOP = runcount := !runcount + 1 | updc _ = () open SetEnv fun f () = (step(); (updc o hd o pc)(); f()) in f() end fun srun () = let open SetEnv in d_pc(); step(); srun() end; fun memsave () = !SetEnv.Memory fun memcmp(a:AbsMach.values array, b:AbsMach.values array) = let open AbsMach fun cmp (INT a, INT b) = a = b | cmp (REAL a, REAL b) = realEq(a, b) | cmp (LABVAL _, LABVAL _) = true | cmp _ = false fun f 0 = ~1 | f n = if cmp((a sub n), (b sub n)) then f (n - 1) else n val al = Array.length a val bl = Array.length b in if al = bl then f (al - 1) else (print "size\n"; 0) end fun copyarray a = let val la = Array.length a val na = array(la, a sub 0) fun f n = if n > 0 then (update(na, n, a sub n) ; f (n - 1)) else () val foo = f (la - 1) in na end exception PROG_NO_END local open AbsMach in fun vstring (INT i) = "INT " ^ makestring i | vstring (REAL i) = "REAL " ^ Real.toString i | vstring (LABVAL(i, j)) = "LABVAL(" ^ makestring i ^ ", " ^ makestring j ^ ")" end fun runf f = ((init f; run (); raise PROG_NO_END)) handle End_of_Program => (print "eop\n"; SetEnv.regc 4) fun cmprog(f1, f2) = let open AbsMach fun intof (INT i) = i fun ptsat p = SetEnv.mcell (intof p) val p1 = runf f1 (* val foo = print ("cmprog1:" ^ vstring p1 ^ "\n") *) val v1 = ptsat p1 val r1 = !runcount val p2 = runf f2 (* val foo = print ("cmprog2:" ^ vstring p2 ^ "\n") *) val v2 = ptsat p2 val r2 = !runcount in (f1 ^ " ct " ^ makestring r1 ^ " ptr " ^ vstring p1 ^ " val " ^ vstring v1 ^ f2 ^ " ct " ^ makestring r2 ^ " ptr " ^ vstring p2 ^ " val " ^ vstring v2 ^ "\n") end end fun time str f = let (* open System.Timer val s = start_timer() *) val v = f() (* val e = check_timer s val foo = print (str ^ " took " ^ makestring e ^ "sec.usec\n") *) in v end fun writeprog(file, j, p) = let val ot = (open_out file) val prog = ReadI.writeI(j, p) val filp = (Delay.rm_bogus o OutFilter.remnops) prog val xxx = PrintAbs.show ot filp in close_out ot end; fun wp(file, prog) = let val ot = (open_out file) val filp = Delay.rm_bogus prog val xxx = PrintAbs.show ot filp in close_out ot end; fun dodelay i = (Delay.init i; Delay.add_delay i); val _ = ( Node.move_test_debug := false; Node.move_op_debug := false; Node.rw_debug := false; Node.delete_debug := false; Node.ntn_debug := true; Node.prog_node_debug := false; Node.prog_node_debug_verbose := false; Node.closure_progs_debug := false; Node.cpsiCheck := false; Compress.compress_debug := false; ReadI.read_debug := false; ReadI.write_debug := false; ReadI.live_debug := false ) fun pm pl = print (StrPak.stringListString (map ReadI.progMap pl)); fun pp pl = print (StrPak.stringListString (map PrintAbs.str pl)); fun ndnm nil = raise Node.NAMETONODE | ndnm(h::t) = (fn (nm) => Node.nameToNode(h, nm) handle Node.NAMETONODE => ndnm t nm); exception ERROR; fun err (s:string) = (print s; raise ERROR); fun pmem nil = (err "oh well") | pmem ((ns, n0, f)::t) = fn n => if Set.member(ns, n) then (ns, n0, f) else pmem t n; structure Main = struct fun doitx (ifile:string, ofile:string, c_ofile:string, ws:int) = let val foo = Ntypes.init_names() val i = (dodelay o BreakInst.breaki o ReadAbs.read o open_in) ifile val (j, p) = time "Building Nodes" (fn () => ReadI.readI i) val x = time "writing unopt" (fn () => writeprog(ofile, j, p)) fun cwin p = Compress.compress(ws, p) val cp = time "compressing program" (fn () => map cwin p) val xx = time "writing opt program" (fn () => writeprog(c_ofile, j, cp)) val answer = "" (* SimStuff.cmprog(ofile, c_ofile) *) val code_motions = Ntypes.new_name "0" in print (answer ^ "code_motions " ^ code_motions ^ " \n") end fun main(s:string list, env:string list) = let val idemp = ref 0 val ws = ref 0 val ifile = ref "/dev/null" val ofile = ref "/dev/null" val c_ofile = ref "/dev/null" val gotifile = ref false val gotofile = ref false fun digit d = if ord d >= ord "0" andalso ord d <= ord "9" then ord d - ord "0" else err ("expected digit. got " ^ d) val parse = fn ("-" :: "i" :: "d" :: "e" :: "m" :: d :: nil) => idemp := digit d | ("-" :: "w" :: "s" :: d :: nil) => ws := digit d | ("-" :: t) => (print ("usage: comp [-ws#] [-idem#]" ^ "input_file temp_file compressed_file\n"); print ("ws is the window size\nidem is the idempotency\n"); err "exiting") | s => if !gotofile then c_ofile := implode s else if !gotifile then (gotofile := true; ofile := implode s) else (gotifile := true; ifile := implode s) val foo = List.app (parse o explode) (tl s) val foo = print ("compressing " ^ !ifile ^ " into (uncompressed)" ^ !ofile ^ " and (compressed)" ^ !c_ofile ^ " with idempotency " ^ makestring (!idemp) ^ " and window size " ^ makestring (!ws) ^ "\n") in Delay.idempotency := !idemp; doitx(!ifile, !ofile, !c_ofile, !ws) end val s = OS.FileSys.getDir() fun doit() = main(["foobar", "-ws9", s^"/DATA/ndotprod.s", s^"/DATA/tmp.s", s^"/DATA/cmp.s"], nil) fun testit _ = () end (* end (* toplevel local *) *) (* in *) structure Main (*: BMARK*) = Main (* end *) smlsharp-1.2.0/benchmark/benchmarks/vliw/vliwOLD.sml0000644 000000000000000000032170212050661606022575 0ustar00rootroot0000000 0000000 local local open Array (* List *) infix 9 sub fun fold f x y = List.foldr f y x fun revfold f x y = List.foldl f y x val makestring = Int.toString local val == = (op =) val != = (op <>) open Real in val realEq = == val realNe = != end exception NotAChar fun fromStr x = (case Char.fromString x of SOME c => c | NONE => raise NotAChar) fun ordof(s, i) = Char.ord(String.sub(s, i)) val explode = (fn x => map Char.toString (explode x)) val implode = (fn x => implode (map fromStr x)) fun ord s = Char.ord (fromStr s) val output = TextIO.output val std_out = TextIO.stdOut val open_in = TextIO.openIn val open_out = TextIO.openOut val close_in = TextIO.closeIn val close_out = TextIO.closeOut val input_line = TextIO.inputLine type instream = TextIO.instream type outstream = TextIO.outstream fun outputc f x = TextIO.output(f, x) exception NotAReal fun strToReal s = (case Real.fromString s of SOME r => r | _ => raise NotAReal) fun intToReal x = (strToReal ((Int.toString x) ^ ".0")) structure Bits = struct fun wrap (f : Word.word * Word.word -> Word.word) = (fn (x : int, y : int) => Word.toInt(f(Word.fromInt x, Word.fromInt y))) val orb = wrap Word.orb val andb = wrap Word.andb val xorb = wrap Word.xorb val lshift = wrap Word.<< val rshift = wrap Word.>> end structure Ref = struct val inc = fn x => (x := !x + 1) val dec = fn x => (x := !x - 1) end in (* stringmap.sml *) signature STRINGMAP = sig type 'a stringmap exception Stringmap val new : unit -> '1a stringmap val add : 'a stringmap -> string * 'a -> unit val rm : 'a stringmap -> string -> unit val map : 'a stringmap -> string -> 'a val app : (string * 'a -> unit) -> 'a stringmap -> unit val isin : 'a stringmap -> string -> bool val extract : 'a stringmap -> 'a list end structure Stringmap : STRINGMAP = struct type 'a stringmap = (string * 'a) list array exception Stringmap val hashFactor = 32 and tableSize = 2357 (* a string hashing function returns a number between 0 and tableSize-1 *) fun hash(str: string) : int = let val nchars = String.size str fun loop(i,n,r) = if i < n then loop(i+1,n,(hashFactor * r + ordof(str,i)) mod tableSize) else r in loop(0,nchars,0) (* while !i < nchars do (n := (hashFactor * !n + ordof(str, !i)) mod tableSize; i := !i + 1); !n *) end (* create a new stringmap *) fun new (): '1a stringmap = array(tableSize,nil) (* add a mapping pair s +-> x to the stringmap a *) fun add a (s,x) = let val index = hash s in update(a,index,(s,x)::(a sub index)) end (* apply the stringmap a to the index string s *) fun map a s = let fun find ((s',x)::r) = if s=s' then x else find r | find nil = raise Stringmap in find (a sub (hash s)) end (* return true if the string is in the map, false otherwise *) fun isin a s = ((map a s; true) handle Stringmap => false) (* remove all pairs mapping string s from stringmap a *) fun rm a s = let fun f ((b as (s',j))::r) = if s=s' then f r else b :: f r | f nil = nil val index = hash s in update(a,index, f(a sub index)) end (* apply a function f to all mapping pairs in stringmap a *) fun app (f: string * 'a -> unit) a = let fun zap 0 = () | zap n = let val m = n-1 in List.app f (a sub m); zap m end in zap tableSize end (* extract the stringmap items as a list *) fun extract a = let fun atol n = if n < Array.length a then (a sub n) :: atol (n + 1) else nil val al = atol 0 fun flatten (a, b) = a @ b val fal = fold flatten al nil fun strip (s, v) = v val answer = List.map strip fal in answer end end (* Stringmap *) structure StrPak : sig val stringListString : string list -> string end = struct fun sl nil = "]" | sl (h::nil) = h ^ "]" | sl (h::n::t) = h ^ "," ^ sl (n::t) fun stringListString l = "[" ^ sl l end signature SortObjSig = sig type obj val gt : obj * obj -> bool end functor Sort ( objfun : SortObjSig ) : sig type obj val sort : obj list -> obj list end = struct open objfun type obj = objfun.obj fun sort l = let fun m2 (nil, b) = b | m2 (a, nil) = a | m2 (ha::ta, hb::tb) = if gt(ha, hb) then hb::(m2(ha::ta, tb)) else ha::(m2(ta, hb::tb)) fun ml (nil) = nil | ml (h::nil) = h | ml (h1::h2::nil) = m2(h1, h2) | ml (h1::h2::l) = ml [m2(h1, h2), (ml l)] in ml (map (fn x => [x]) l) end end structure IntImp = struct type obj = int fun gt(a:obj, b:obj) = a > b end structure INTSort = Sort ( IntImp ) structure Set : sig exception SET exception LISTUNION type 'a set val make : ''a set val makeEQ : ('a * 'a -> bool) -> 'a set val listToSet : ''a list -> ''a set val listToSetEQ : ('a * 'a -> bool) * 'a list -> 'a set val add : 'a set * 'a -> 'a set val union : 'a set * 'a set -> 'a set val listUnion : 'a set list -> 'a set val listUnionEQ : ('a * 'a -> bool) * 'a set list -> 'a set val rm : 'a set * 'a -> 'a set val intersect : 'a set * 'a set -> 'a set val diff : 'a set * 'a set -> 'a set val member : 'a set * 'a -> bool val set : 'a set -> 'a list val mag : 'a set -> int val empty : 'a set -> bool end = struct datatype 'a set = S of ('a*'a->bool) * 'a list exception SET exception LISTUNION fun eqf (x, y) = x = y val make = S (eqf, nil) fun makeEQ eqf = S (eqf, nil) fun set (S (eqf, a)) = a fun member (S (eqf, nil), e) = false | member (S (eqf, (s::t)), e) = eqf(e, s) orelse member(S (eqf, t), e) fun add(st as (S (eqf, s)), e) = if member(st, e) then st else S(eqf, e::s) fun listToSetEQ (eqf, l) = let fun f (nil, s) = s | f (h::t, s) = f(t, add(s, h)) in f(l, makeEQ eqf) end fun listToSet l = listToSetEQ (eqf, l) fun union (a, S (eqf, nil)) = a | union (S (eqf, nil), b) = b | union (S (eqf, e::a), b) = union(S (eqf, a), add(b, e)) fun listUnion (h::t) = fold union t h | listUnion _ = raise LISTUNION fun listUnionEQ (eqf, l) = fold union l (makeEQ eqf) fun rm (S (eqf, nil), x) = raise SET | rm (S (eqf, s::t), x) = if eqf(s, x) then S (eqf, t) else S(eqf, s :: set(rm(S (eqf, t), x))) fun intersect1 (a, S (eqf, nil), c) = S (eqf, c) | intersect1 (S (eqf, nil), b, c) = S (eqf, c) | intersect1 (S (eqf, a::t), b, c) = if member(b, a) then intersect1(S (eqf, t), b, a::c) else intersect1(S (eqf, t), b, c) fun intersect (a, b) = intersect1 (a, b, nil) fun diff (S (eqf, nil), b) = S (eqf, nil) | diff (S (eqf, a::t), b) = if member(b, a) then diff(S (eqf, t), b) else S (eqf, a :: set(diff(S (eqf, t), b))) fun mag s = List.length (set s) (* fun empty s = set s = nil *) fun empty (S(eqf, nil)) = true | empty (S(eqf, _)) = false end (* Copyright 1989 by AT&T Bell Laboratories *) (* updated by John Danskin at Princeton *) structure AbsMach = struct type reg = (int*string) type label = (int*string) datatype values = INT of int | REAL of real | LABVAL of int * int datatype arithop = imul | iadd | isub | idiv | orb | andb | xorb | rshift | lshift | fadd | fdiv | fmul | fsub | real | floor | logb datatype comparison = ilt | ieq | igt | ile | ige | ine | flt | feq | fgt | fle | fge | fne | inrange | outofrange datatype opcode = FETCH of {immutable: bool, offset: int, ptr: reg, dst: reg} (* dst := M[ptr+offset] if immutable then unaffected by any STORE other than through the allocptr *) | STORE of {offset: int, src: reg, ptr: reg} (* M[ptr+offset] := src *) | GETLAB of {lab: label, dst: reg} | GETREAL of {value: string, dst: reg} | ARITH of {oper: arithop, src1: reg, src2: reg, dst: reg} | ARITHI of {oper: arithop, src1: reg, src2: int, dst: reg} | MOVE of {src: reg, dst: reg} | BRANCH of {test: comparison, src1: reg, src2: reg, dst: label, live: reg list} | JUMP of {dst: reg, live: reg list} | LABEL of {lab:label, live: reg list} | WORD of {value: int} | LABWORD of {lab: label} | NOP | BOGUS of {reads: reg list, writes: reg list} val opcodeEq : opcode * opcode -> bool = (op =) end structure AbsMachImp : sig type reg type operation val oeq : operation * operation -> bool type comparison val ceq : comparison * comparison -> bool val write_o : operation -> reg Set.set val read_o : operation -> reg Set.set val write_c : comparison -> reg Set.set val read_c : comparison -> reg Set.set val resources_ok : operation list * comparison list -> bool datatype codetypes = ASSIGNMENT of operation | LABELREF of int * operation | COMPARISON of int * operation | FLOW of int * operation | TARGET of int * operation | EXIT of operation | JUNK of operation | NERGLE val classify : operation -> codetypes val maxreg : AbsMach.opcode list -> int end = struct type reg = int (* register strings will gum up set operations etc *) type operation = AbsMach.opcode type comparison = AbsMach.opcode fun oeq (a, b) = AbsMach.opcodeEq(a, b) fun ceq (a, b) = AbsMach.opcodeEq(a, b) fun reg(i, s) = i fun label(i, s) = i fun srl rl = Set.listToSet((map reg) rl) fun sr r = srl [r] val immutableMem = ~1 val mutableMem = ~2 val flowControl = ~3 (* comparisons are limited to one because of difficulty writing larger trees *) fun resources_ok(ops, c) = (List.length ops) <= 4 andalso (List.length c) <= 1 fun allocptr r = reg r = 1 fun write_o i = let open Set open AbsMach val f = fn FETCH{dst, ...} => sr dst | STORE{ptr, ...} => if allocptr ptr then listToSet [immutableMem, mutableMem] else listToSet [mutableMem] | GETLAB {dst, ...} => sr dst | GETREAL {dst, ...} => sr dst | ARITH {dst, ...} => sr dst | ARITHI {dst, ...} => sr dst | MOVE {dst, ...} => sr dst | JUMP _ => listToSet [flowControl] | BOGUS {writes, ...} => srl writes | _ => make in f i end fun write_c c = Set.listToSet [flowControl] val std_reg_list = [(1, ""), (2, ""), (3, ""), (4, ""), (5, "")] fun read i = let open Set open AbsMach val f = fn FETCH {immutable, ptr, ...} => let val mem = if immutable then immutableMem else mutableMem in add(sr ptr, mem) end | STORE {src, ptr, ...} => srl [src, ptr] | ARITH {src1, src2, ...} => srl [src1, src2] | ARITHI {src1, ...} => sr src1 | MOVE {src, ...} => sr src | BRANCH {src1, src2, ...} => srl [src1, src2] | JUMP {dst, ...} => srl (dst :: std_reg_list) | BOGUS {reads, ...} => srl reads | _ => make in f i end fun read_o i = read i fun read_c i = read i datatype codetypes = ASSIGNMENT of operation | LABELREF of int * operation | COMPARISON of int * operation | FLOW of int * operation | TARGET of int * operation | EXIT of operation | JUNK of operation | NERGLE fun maxreg li = let fun f (a, b) = Int.max(a, b) val r = (Set.set (Set.listUnion((map write_o li) @ (map read li)))) in fold f r 0 end fun classify i = let open AbsMach val f = fn FETCH _ => ASSIGNMENT i | STORE _ => ASSIGNMENT i | GETLAB{lab, dst} => LABELREF(label lab, i) | GETREAL _ => ASSIGNMENT i | ARITH _ => ASSIGNMENT i | ARITHI _ => ASSIGNMENT i | MOVE{src, dst} => if reg src = reg dst then NERGLE else ASSIGNMENT i | BRANCH{test,src1,src2,dst,live} => if test = ieq andalso (reg src1) = (reg src2) then FLOW (label dst, i) else COMPARISON (label dst, i) | JUMP _ => EXIT i | LABEL {lab, ...} => TARGET(label lab, i) | WORD _ => JUNK i | LABWORD _ => JUNK i | NOP => JUNK i | BOGUS _ => ASSIGNMENT i in f i end end structure ReadAbs : sig val read: instream -> AbsMach.opcode list end = struct open AbsMach exception ReadError fun readline(i,f) = let fun error s = (print("Error in line "^makestring i^": "^s^"\n"); raise ReadError) fun b(" "::rest) = b rest | b rest = rest val aop = fn "i"::"m"::"u"::"l"::l => (imul,l) | "i"::"a"::"d"::"d"::l => (iadd,l) | "i"::"s"::"u"::"b"::l => (isub,l) | "i"::"d"::"i"::"v"::l => (idiv,l) | "o"::"r"::"b"::" "::l=> (orb,l) | "a"::"n"::"d"::"b"::l => (andb,l) | "x"::"o"::"r"::"b"::l => (xorb,l) | "r"::"s"::"h"::"i"::"f"::"t"::l => (rshift,l) | "l"::"s"::"h"::"i"::"f"::"t"::l => (lshift,l) | "f"::"a"::"d"::"d"::l => (fadd,l) | "f"::"d"::"i"::"v"::l => (fdiv,l) | "f"::"m"::"u"::"l"::l => (fmul,l) | "f"::"s"::"u"::"b"::l => (fsub,l) | "r"::"e"::"a"::"l"::l => (real,l) | "f"::"l"::"o"::"o"::"r"::l => (floor,l) | "l"::"o"::"g"::"b"::l => (logb,l) | _ => error "illegal arithmetic operator" val com = fn "i"::"l"::"t"::l => (ilt,l) | "i"::"e"::"q"::l => (ieq,l) | "i"::"g"::"t"::l => (igt,l) | "i"::"l"::"e"::l => (ile,l) | "i"::"g"::"e"::l => (ige,l) | "i"::"n"::"e"::l => (ine,l) | "f"::"l"::"t"::l => (flt,l) | "f"::"e"::"q"::l => (feq,l) | "f"::"g"::"t"::l => (fgt,l) | "f"::"l"::"e"::l => (fle,l) | "f"::"g"::"e"::l => (fge,l) | "f"::"n"::"e"::l => (fne,l) | "i"::"n"::"r"::"a"::"n"::"g"::"e"::l => (inrange,l) | "o"::"u"::"t"::"o"::"f"::"r"::"a"::"n"::"g"::"e"::l => (outofrange,l) | _ => error "illegal comparison operator" fun immut("i"::l) = (true,l) | immut("m"::l) = (false,l) | immut _ = error "i or m required" fun int l = let val z = ord "0" fun f(n,l0 as d::l) = if d>="0" andalso d<="9" then f(n*10+ord(d)-z, l) else (n,l0) | f _ = error "in readabs.int" in f(0,l) end fun string l = let fun f("/"::l) = (nil,l) | f(a::l) = let val (s,l') = f l in (a::s, l') end | f _ = error "name not terminated by \"/\"" val (s,l') = f l in (implode s, l') end fun realc s = let val (sign,s) = case explode s of "~"::rest => (~1.0,rest) | s => (1.0,s) fun j(exp,d::dl,mant) = j(exp,dl,mant * 0.1 + intToReal(d)) | j(0,nil,mant) = mant*sign | j(exp,nil,mant) = if exp>0 then j(exp-1,nil,mant*10.0) else j(exp+1,nil,mant*0.1) fun h(esign,wholedigits,diglist,exp,nil) = j(esign*exp+wholedigits-1,diglist,0.0) | h(es,fd,dl,exp,d::s) = h(es,fd,dl,exp*10+(ord d - ord "0"),s) fun g(i,r,"E"::"~"::s)=h(~1,i,r,0,s) | g(i,r,"E"::s)=h(1,i,r,0,s) | g(i,r,d::s) = if d>="0" andalso d<="9" then g(i, (ord d - ord "0")::r, s) else h(1,i,r,0,nil) | g(i,r,nil) = h(1,i,r,0,nil) fun f(i,r,"."::s)=g(i,r,s) | f(i,r,s as "E"::_)=g(i,r,s) | f(i,r,d::s) = f(i+1,(ord(d)-ord("0"))::r,s) | f _ = error "bad in readdabs" in f(0,nil,s) end handle Overflow => error ("real constant "^s^" out of range") fun require((a:string)::ar, b::br) = if a=b then require(ar,br) else error(a^" required") | require(nil, br) = br | require(a::_,_) = error(a^" required") fun reg l = let val (s,l) = string l val l = require(["R"],l) val (i,l) = int l in ((i,s),l) end fun lab l = let val (s,l) = string l val l = require(["L"],l) val (i,l) = int l in ((i,s),l) end fun live l = let fun f(")"::_) = nil | f l = let val (r,l) = reg l in r::f(b l) end in f(b(require(["("],l))) end val opcode = fn "F"::"E"::"T"::"C"::"H"::l => let val (imm,l) = immut(b l) val (dst,l) = reg(b l) val (ptr,l) = reg(b(require(["M","["],b(require([":","="],b l))))) val (offset,l) = int(b(require(["+"],b l))) in require(["]"], b l); FETCH{immutable=imm,dst=dst,ptr=ptr,offset=offset} end | "S"::"T"::"O"::"R"::"E"::l => let val (ptr,l) = reg(b(require(["M","["],b l))) val (offset,l) = int(b(require(["+"],b l))) val (src,l) = reg(b(require([":","="],b(require(["]"], b l))))) in STORE{src=src,ptr=ptr,offset=offset} end | "G"::"E"::"T"::"L"::"A"::"B"::l => let val (dst,l) = reg(b l) val (lab,l) = lab(b(require([":","="],b l))) in GETLAB{dst=dst,lab=lab} end | "G"::"E"::"T"::"R"::"E"::"A"::"L"::l => let val (dst,l) = reg(b l) val r = realc(implode(b(require([":","="],b l)))) in GETREAL{dst=dst,value=Real.toString r} end | "A"::"R"::"I"::"T"::"H"::"I"::l => let val (dst,l) = reg(b l) val (s1,l) = reg(b(require([":","="],b l))) val (oper,l) = aop(b l) val (s2,l) = int(b l) in ARITHI{oper=oper,src1=s1,src2=s2,dst=dst} end | "A"::"R"::"I"::"T"::"H"::l => let val (dst,l) = reg(b l) val (s1,l) = reg(b(require([":","="],b l))) val (oper,l) = aop(b l) val (s2,l) = reg(b l) in ARITH{oper=oper,src1=s1,src2=s2,dst=dst} end | "M"::"O"::"V"::"E"::l => let val (dst,l) = reg(b l) val (s1,l) = reg(b(require([":","="],b l))) in MOVE{src=s1,dst=dst} end | "B"::"R"::"A"::"N"::"C"::"H"::l => let val (s1,l) = reg(b(require(["I","F"],b l))) val (test,l) = com(b l) val (s2,l) = reg(b l) val (dst,l) = lab(b(require(["G","O","T","O"],b l))) val liv = live(b l) in BRANCH{test=test,src1=s1,src2=s2,dst=dst,live=liv} end | "J"::"U"::"M"::"P"::l => let val (dst,l) = reg(b l) val live = live(b l) in JUMP{dst=dst,live=live} end | "L"::"A"::"B"::"E"::"L"::l => let val (lab,l) = lab(b l) val live = live(b(require([":"],l))) in LABEL{lab=lab,live=live} end | "W"::"O"::"R"::"D"::l => let val (i,l) = int(b l) in WORD{value=i} end | "L"::"A"::"B"::"W"::"O"::"R"::"D"::l => let val (i,l) = lab(b l) in LABWORD{lab=i} end | "N"::"O"::"P"::_ => NOP | _ => error "illegal opcode name" in case explode(input_line f) of nil => nil | l => opcode(b l)::readline(i+1,f) end fun read f = readline(0,f) end structure PrintAbs : sig val show: outstream -> AbsMach.opcode list -> unit val str: AbsMach.opcode list -> string end = struct open AbsMach fun xstr prog = let val outstr = ref "" fun pr s = outstr := !outstr ^ s val aop = fn imul => "imul" | iadd => "iadd" | isub => "isub" | idiv => "idiv" | orb => "orb" | andb => "andb" | xorb => "xorb" | rshift => "rshift" | lshift => "lshift" | fadd => "fadd" | fdiv => "fdiv" | fmul => "fmul" | fsub => "fsub" | real => "real" | floor => "floor" | logb => "logb" val com = fn ilt => "ilt" | ieq => "ieq" | igt => "igt" | ile => "ile" | ige => "ige" | ine => "ine" | flt => "flt" | feq => "feq" | fgt => "fgt" | fle => "fle" | fge => "fge" | fne => "fne" | inrange => "inrange" | outofrange => "outofrange" fun bo true = "t" | bo false = "f" fun reg(i,s) = (pr(s); pr "/R"; pr(makestring i)) fun label(i,s) = (pr(s); pr "/L"; pr(makestring i)) val p = fn FETCH{immutable,offset,ptr,dst} => (pr "FETCH"; if immutable then pr "i " else pr "m "; reg dst; pr " := M[ "; reg ptr; pr " + "; pr (makestring offset); pr(" ]\n")) | STORE{offset,ptr,src} => (pr "STORE "; pr "M[ "; reg ptr; pr " + "; pr (makestring offset); pr(" ] := "); reg src; pr "\n") | GETLAB{lab, dst} => (pr "GETLAB "; reg dst; pr " := "; label lab; pr "\n") | GETREAL{value,dst} => (pr "GETREAL "; reg dst; pr " := "; pr value; pr "\n") | ARITH{oper,src1,src2,dst} => (pr "ARITH "; reg dst; pr " := "; reg src1; pr " "; pr(aop oper); pr " "; reg src2; pr "\n") | ARITHI{oper,src1,src2,dst} => (pr "ARITHI "; reg dst; pr " := "; reg src1; pr " "; pr(aop oper); pr " "; pr(makestring src2); pr "\n") | MOVE{src,dst} => (pr "MOVE "; reg dst; pr " := "; reg src; pr "\n") | BRANCH{test,src1,src2,dst,live} => (pr "BRANCH "; pr "IF "; reg src1; pr " "; pr(com test); pr " "; reg src2; pr " GOTO "; label dst; pr " ( "; List.app (fn r => (reg r; pr " ")) live; pr ")\n") | JUMP{dst,live} => (pr "JUMP "; reg dst; pr " ( "; List.app (fn r => (reg r; pr " ")) live; pr ")\n") | LABEL{lab, live} => (pr "LABEL "; label lab; pr ": ( "; List.app (fn r => (reg r; pr " ")) live; pr ")\n") | WORD{value} => (pr "WORD "; pr (makestring value); pr "\n") | LABWORD{lab} => (pr "LABWORD "; label lab; pr "\n") | NOP => pr "NOP\n" | BOGUS{reads, writes} => (pr "BOGUS"; pr " ( "; List.app (fn r => (reg r; pr " ")) writes; pr ") := ("; List.app (fn r => (reg r; pr " ")) reads; pr ")\n") in (List.app p prog; !outstr) end fun str prog = let fun cat (a, b) = (xstr [a]) ^ b in fold cat prog "" end fun show out prog = let fun f nil = () | f (h::t) = (outputc out (xstr [h]); f t) in f prog end end structure HM = AbsMachImp structure BreakInst : sig val breaki : AbsMach.opcode list -> AbsMach.opcode list end = struct open AbsMach open HM val maxreg = AbsMachImp.maxreg fun reg(i:int, s:string) = i fun rstr(i:int, s:string) = s val new_reg_val = ref 0 val new_reg_pairs:(AbsMach.reg * AbsMach.reg) list ref = ref nil fun new_reg_init li = (new_reg_val := maxreg li; new_reg_pairs := nil) fun new_reg (r:AbsMach.reg) = let fun f nil = let val nr = (new_reg_val := !new_reg_val + 1; (!new_reg_val, rstr r)) in (new_reg_pairs := (r, nr) :: !new_reg_pairs; nr) end | f ((a, b)::t) = if r = a then b else f t in f (!new_reg_pairs) end fun breaki l = let fun f i = let val g = fn ARITH{oper, src1, src2, dst} => if reg dst = reg src1 orelse reg dst = reg src2 then let val nr = new_reg(dst) in [ARITH{oper=oper, src1=src2, src2=src2, dst=nr}, MOVE{src=nr, dst=dst}] end else [i] | ARITHI{oper, src1, src2, dst} => if reg dst = reg src1 then let val nr = new_reg(dst) in [ARITHI{oper=oper, src1=src1, src2=src2, dst=nr}, MOVE{src=nr, dst=dst}] end else [i] | FETCH{immutable, offset, ptr, dst} => if reg ptr = reg dst then let val nr = new_reg(dst) in [FETCH{immutable=immutable, offset=offset, ptr=ptr, dst=nr}, MOVE{src=nr, dst=dst}] end else [i] | MOVE{src, dst} => if reg src = reg dst then nil else [i] | _ => [i] in g i end fun h (a, b) = f a @ b val foo = new_reg_init l in fold h l nil end end structure OutFilter : sig val remnops : AbsMach.opcode list -> AbsMach.opcode list end = struct open AbsMach fun remnops ol = let fun f (NOP, NOP::b) = NOP::b | f (a, b) = a::b in fold f ol nil end end structure Delay : sig val init: AbsMach.opcode list -> unit val add_delay: AbsMach.opcode list -> AbsMach.opcode list val rm_bogus: AbsMach.opcode list -> AbsMach.opcode list val is_bogus_i : AbsMach.opcode -> bool val is_bogus_reg : AbsMach.reg -> bool val idempotency : int ref end = struct open AbsMach val maxreg = ref 0 val maxdelay = 12 val idempotency = ref 0 fun is_bogus_i (BOGUS _ ) = true | is_bogus_i _ = false fun bogus_reg ((i, s), which) = (!maxreg + maxdelay * i + which, s) fun is_bogus_reg (i, s) = i > !maxreg fun unbogus_reg (i, s) = if is_bogus_reg (i, s) then (i div maxdelay, s) else (i, s) val max_bog_reg = ref 0 val curr_idem_reg = ref 0 fun idem_reg() = (curr_idem_reg := !curr_idem_reg + 1; (!curr_idem_reg, "idem")) fun init il = ( maxreg := AbsMachImp.maxreg il; max_bog_reg := (!maxreg + 1) * maxdelay; curr_idem_reg := !max_bog_reg + 1 ) exception DELAY fun delay i = let fun opdelay oper = let val f = fn imul => 5 | iadd => 2 | isub => 2 | idiv => 12 | orb => 2 | andb => 2 | xorb => 2 | rshift => 2 | lshift => 2 | fadd => 2 | fdiv => 12 | fmul => 4 | fsub => 2 | real => 2 | floor => 2 | logb => 2 in f oper end val id = fn FETCH{immutable,offset,ptr,dst} => 2 | STORE{offset,ptr,src} => 2 | GETLAB{lab, dst} => 2 | GETREAL{value,dst} => 2 | ARITH{oper,src1,src2,dst} => opdelay oper | ARITHI{oper,src1,src2,dst} => opdelay oper | MOVE{src,dst} => 1 | BRANCH{test,src1,src2,dst,live} => 5 | JUMP{dst,live} => 1 | LABEL{lab, live} => 0 | NOP => 1 | _ => raise DELAY in id i end fun b_idemx (0, r, w) = nil | b_idemx (1, r, w) = BOGUS{reads=r @ w, writes = [idem_reg()]} :: nil | b_idemx (n, r, w) = let val ir = idem_reg() in BOGUS{reads=r @ w, writes = [ir]} :: b_idemx(n-1, r, [ir]) end fun b_idem (n, r, w) = let fun fil ((i, s), b) = if i = 0 then b else (i, s) :: b val nr = fold fil r nil in if null nr then nil else b_idemx(n, nr, w) end fun b_assx (0, r) = nil | b_assx (1, r) = BOGUS{reads=[bogus_reg(r, 1)], writes=[r]} :: nil | b_assx (n, r) = BOGUS{reads=[bogus_reg(r, n)], writes=[bogus_reg(r, n-1)]} :: b_assx(n-1, r) fun b_ass(n, r) = BOGUS{reads=[r], writes=[bogus_reg(r, n-1)]} :: b_assx(n-1, r) fun b_brxx (0, rl) = nil | b_brxx (1, rl) = let fun b r = bogus_reg(r, 1) in BOGUS{reads=rl, writes=map b rl} :: nil end | b_brxx (n, rl) = let fun br r = bogus_reg(r, n - 1) fun bw r = bogus_reg(r, n) in BOGUS{reads=map br rl, writes=map bw rl} :: b_brxx (n - 1, rl) end fun b_brx (n, rl) = let fun br r = bogus_reg(r, n-1) in BOGUS{reads=map br rl, writes=rl} :: b_brxx(n-1, rl) end fun b_br (b, n, rl) = rev (b :: b_brx(n, rl)) fun is_flow i = let open AbsMachImp fun f (FLOW _) = true | f _ = false in f (classify i) end fun add_delay il = let fun idem (r, w) = b_idem (!idempotency, r, w) fun g i = let val d = delay i val f = fn FETCH{immutable,offset,ptr,dst} => i :: (idem([ptr], [dst]) @ b_ass(d, dst)) | STORE{offset,ptr,src} => [i] | GETLAB{lab, dst} => i :: b_ass(d, dst) | GETREAL{value,dst} => i :: b_ass(d, dst) | ARITH{oper,src1,src2,dst} => i :: (idem([src1, src2], [dst]) @ b_ass(d, dst)) | ARITHI{oper,src1,src2,dst} => i :: (idem([src1], [dst]) @ b_ass(d, dst)) | MOVE{src,dst} => i :: idem([src], [dst]) | BRANCH{test,src1,src2,dst,live} => if is_flow i then [i] else b_br (BRANCH{test=test, src1=src1,src2=src2,dst=dst, live=live}, d, [src1, src2]) | _ => [i] in f i end fun apnd (nil, b) = b | apnd (a::t, b) = a :: apnd(t, b) fun fld(a, b) = apnd(g a, b) in fold fld il nil end fun rm_bogus il = let fun g nil = nil | g (i::t) = let val f = fn FETCH{immutable,offset,ptr,dst} => FETCH{immutable=immutable, offset=offset, ptr=ptr, dst= unbogus_reg dst} :: g t | STORE{offset,ptr,src} => i :: g t | GETLAB{lab, dst} => GETLAB{lab=lab, dst= unbogus_reg dst} :: g t | GETREAL{value,dst} => GETREAL{value=value, dst=unbogus_reg dst} :: g t | ARITH{oper,src1,src2,dst} => ARITH{oper=oper,src1=src1,src2=src2,dst=unbogus_reg dst} :: g t | ARITHI{oper,src1,src2,dst} => ARITHI{oper=oper,src1=src1,src2=src2,dst=unbogus_reg dst} :: g t | MOVE{src,dst} => i :: g t | BRANCH{test,src1,src2,dst,live} => BRANCH{test=test, src1=unbogus_reg src1, src2=unbogus_reg src2, dst=dst, live=live } :: g t | BOGUS _ => g t | _ => i :: g t in f i end in g il end end structure Ntypes : sig type name val init_names : unit -> unit val new_name : name -> name val prime_name : name -> name val name_prefix_eq : (name * name) -> bool type test val teq : test * test -> bool type reg type assignment val aeq : assignment * assignment -> bool datatype test_or_name = TEST of test | NAME of name | NEITHER val toneq : test_or_name * test_or_name -> bool datatype test_or_assign = TST of test | ASS of assignment val toaeq : test_or_assign * test_or_assign -> bool end = struct type test = HM.comparison val teq = HM.ceq type reg = int*string type assignment = HM.operation val aeq = HM.oeq type name = string val ct = ref 0 fun init_names () = ct := 0 fun nn() = (ct := !ct + 1; !ct - 1) fun pref nil = nil | pref ("_" :: t) = nil | pref (h :: t) = h :: pref t val name_prefix = implode o pref o explode fun name_prefix_eq(a, b) = (name_prefix a) = (name_prefix b) (* fun new_name n = n ^ "_" ^ (makestring (nn())) *) fun new_name n = name_prefix n ^ "_" ^ (makestring (nn())) fun prime_name n = (new_name n) ^ "'" datatype test_or_name = TEST of test | NAME of name | NEITHER fun toneq (TEST a, TEST b) = teq (a, b) | toneq (NAME a, NAME b) = a = b | toneq _ = false datatype test_or_assign = TST of test | ASS of assignment fun toaeq (TST a, TST b) = teq (a, b) | toaeq (ASS a, ASS b) = aeq (a, b) | toaeq _ = false end structure Dag : sig exception DAG exception DAGnotfound type dag val make : dag val tests_of : dag -> Ntypes.test Set.set val sel_of : dag -> ((Ntypes.test * bool) -> Ntypes.test_or_name) val root_of : dag -> Ntypes.test_or_name val succ_of : dag -> Ntypes.name Set.set val attach : Ntypes.test * dag * dag -> dag val reach : dag * Ntypes.test_or_name -> dag val replace_edge : dag * Ntypes.name list -> dag val newdag : (Ntypes.test Set.set * ((Ntypes.test * bool) -> Ntypes.test_or_name) * Ntypes.test_or_name * Ntypes.name Set.set) -> dag val dagToString : dag -> string end = struct open Ntypes; exception DAGnotfound exception DAG datatype dag = D of test Set.set * ((test * bool) -> test_or_name) * test_or_name * name Set.set fun tonToString (TEST t) = "TEST t" | tonToString (NAME n) = "NAME " ^ n | tonToString NEITHER = "NEITHER" fun sep (a, b) = a ^ ", " ^ b fun dagToString (D(t, sel, rt, s)) = "D([" ^ PrintAbs.str (Set.set t) ^ "]" ^ "fn, " ^ (tonToString rt) ^ ", " ^ (fold sep (Set.set s) ")") val make = D(Set.makeEQ teq, fn x => raise DAGnotfound, NEITHER, Set.make) fun newdag x = D x fun tests_of(D (b, sel, r, h)) = b fun sel_of(D (b, sel, r, h)) = sel fun root_of(D (b, sel, r, h)) = r fun succ_of(D (b, sel, r, h)) = h fun attach (t, D dt, D df) = let open Set val (b1, sel1, r1, h1) = dt val (b2, sel2, r2, h2) = df in D(add(union(b1, b2), t), (fn(x, y) => if teq(x, t) then if y then r1 else r2 else sel1(x, y) handle DAGnotfound => sel2(x, y)), TEST t, union(h1,h2) ) end fun reach (D d, tn) = let open Set val (b, sel, r, h) = d fun f (TEST t) = if not (member(b, t)) then raise DAGnotfound else attach(t, reach(D d, sel(t, true)), reach(D d, sel(t, false))) | f (NAME n) = D(makeEQ teq, fn x => raise DAGnotfound, NAME n, listToSet [n]) | f (_) = raise DAGnotfound in f tn end fun replace_edge (D d, nil) = D d | replace_edge (D d, old::new::tl) = let open Set val (b, sel, r, h) = d val nh = if member(h, old) then add(rm(h, old), new) else h val nr = if toneq(r, NAME old) then NAME new else r val nsel = fn(x, y) => let val v = sel(x, y) in if toneq(v, NAME old) then NAME new else v end in D (b, nsel, nr, nh) end | replace_edge _ = raise DAG end structure Node : sig type node type program val delete_debug : bool ref val move_op_debug : bool ref val move_test_debug : bool ref val rw_debug : bool ref val ntn_debug : bool ref val prog_node_debug : bool ref val prog_node_debug_verbose : bool ref val closure_progs_debug : bool ref val cpsiCheck : bool ref val makeProg : unit -> program val make : Ntypes.name * Ntypes.assignment Set.set * Dag.dag * Ntypes.name Set.set-> node val name_of : node -> Ntypes.name val assignment_of : node -> Ntypes.assignment Set.set val dag_of : node -> Dag.dag val succ : program * node -> Ntypes.name Set.set val prednm : program * Ntypes.name -> Ntypes.name Set.set val pred : program * node -> Ntypes.name Set.set val succNodes : program * node -> node Set.set val predNodes : program * node -> node Set.set val readNode : node -> int Set.set val writeNode : node -> int Set.set val unreachable : program * node -> bool val num_ops_node : node -> int val num_tests_node : node -> int val num_things_node : node -> int val replace_edge_node : node * string list -> node exception NAMETONODE val nameToNode : program * Ntypes.name -> node val nameSetToNodeSet : program * Ntypes.name Set.set -> node Set.set val eqn : node * node -> bool val n00 : node val fin : node val delete : program * node -> program val move_op : program * Ntypes.assignment * node Set.set * node -> program val move_test : program * Ntypes.test * node * node -> program val nodeToString : node -> string val progToString : program -> string val entries : program -> node list val programs : program -> program list val addPredInfo : program -> program val closure : program * node -> program val sortNodes : node list -> node list val updateNode : program * node -> program val addNode : program * node -> program val rmNode : program * node -> program end = struct open Ntypes open Dag open StrPak datatype node = N of name * assignment Set.set * dag * name Set.set type program = node Stringmap.stringmap * node * node type debug_fun = unit -> string val delete_debug = ref false val move_op_debug = ref false val dead_set_debug = ref false val move_test_debug = ref false val rw_debug = ref false val prog_node_debug = ref false val prog_node_debug_verbose = ref false val closure_progs_debug = ref false fun name_of(N(n, a, d, prd)) = n fun assignment_of(N(n, a, d, prd)) = a fun dag_of(N(n, a, d, prd)) = d fun pred_of(N(n, a, d, prd)) = prd fun eqn(n1, n2) = name_of n1 = name_of n2 val start:name = "START" val finish:name = "FINISH" fun printstringlist sl = stringListString sl val psl = printstringlist fun nodeToString (N(n, a, d, prd)) = "\nN(" ^ n ^ ", [" ^ PrintAbs.str (Set.set a) ^ "], " ^ Dag.dagToString d ^ "pred(" ^ psl (Set.set prd) ^ "))" fun progToString (ns, n0, F) = "P (" ^ (psl o (map nodeToString) o Stringmap.extract) ns ^ ",\n" ^ nodeToString n0 ^ ",\n" ^ nodeToString F ^ ")\n" fun make (n, a, t, prd) = N(n, a, t, prd) val n00 = make(start, Set.makeEQ aeq, Dag.make, Set.make) val fin = make(finish, Set.makeEQ aeq, Dag.make, Set.make) fun makeProg() = (Stringmap.new():node Stringmap.stringmap, n00, fin) fun addPredNode (N(n, a, t, prd), p) = (N(n, a, t, Set.add(prd, p))) fun unionPredNode (N(n, a, t, prd), ps) = (N(n, a, t, Set.union(prd, ps))) fun setPredNode (N(n, a, t, prd), p) = (N(n, a, t, p)) fun rmPredNode (N(n, a, t, prd), p) = (N(n, a, t, Set.rm(prd, p))) fun p_n_debug (f:debug_fun) = if !prog_node_debug then print ("p_n:" ^ f() ^ "\n") else () fun updateNode(P as (ns, n0, F), new_node) = let val answer = (Stringmap.rm (ns:node Stringmap.stringmap) ((name_of new_node):string); Stringmap.add ns ((name_of new_node), new_node); if name_of new_node = name_of n0 then (ns, new_node, F) else if name_of new_node = name_of F then (ns, n0, new_node) else P) val foo = p_n_debug (fn () => ("updateNode n=" ^ nodeToString new_node ^ "=>" ^ (if !prog_node_debug_verbose then progToString answer else "(program)"))) in answer end fun addNode(P as (ns, n0, F), new_node) = let val answer = if Stringmap.isin ns (name_of new_node) then updateNode(P, new_node) else (Stringmap.add ns ((name_of new_node), new_node); P) val foo = p_n_debug (fn () => ("addNode n=" ^ nodeToString new_node ^ "=>" ^ (if !prog_node_debug_verbose then progToString answer else "(program)"))) in answer end fun rmNode(P as (ns, n0, F), node) = let val answer = (Stringmap.rm ns (name_of node); P) val foo = p_n_debug (fn () => ("rmNode n=" ^ nodeToString node ^ "=>" ^ (if !prog_node_debug_verbose then progToString answer else "(program)"))) in answer end fun succ(p, n) = (succ_of o dag_of) n fun pred(p, n) = pred_of n val ntn_debug = ref true fun ntnPrint (f:debug_fun) = if !ntn_debug then print ("ntn:" ^ f() ^ "\n") else () exception NAMETONODE fun nameToNode(P as (ns, n0, F), nm) = Stringmap.map ns nm handle Stringmap => (ntnPrint (fn () => ("nameToNode " ^ nm ^ "not found")); raise NAMETONODE) exception NAMESETTONODESET fun nameSetToNodeSet(P, ns) = Set.listToSetEQ(eqn, map (fn x => nameToNode(P, x)) (Set.set ns)) handle NAMETONODE => raise NAMESETTONODESET fun prednm(p, nm) = pred(p, nameToNode(p, nm)) fun succNodes (p, n) = nameSetToNodeSet(p, succ(p, n)) fun predNodes (p, n) = nameSetToNodeSet(p, pred(p, n)) (* a correctness assertion *) exception CPSI val cpsiCheck = ref false fun checkPredSuccInfo(from, P as (ns, n0, F)) = let val nl = Stringmap.extract ns val badnode = ref n0 fun fail s = (print ("CPSI:" ^ s ^ " failed\nfrom " ^ from ^ "\nbadnode=" ^ nodeToString (!badnode) ^ "\nprogram=" ^ progToString P ^ "\n"); raise CPSI) fun chk (xpred, xsuccN, n) = let val foo = badnode := n val s = Set.set(xsuccN(P, n)) handle NAMESETTONODESET => fail "NAMESETTONODESET" fun cs x = Set.member(xpred x, name_of n) fun fs (x, b) = b andalso cs x in fold fs s true end fun cp (x, b) = b andalso chk(pred_of, succNodes, x) fun cs (x, b) = b andalso chk((succ_of o dag_of), predNodes, x) in if not (fold cp nl true) then fail "cp" else if not (fold cs nl true) then fail "cs" else () end fun cpsi x = if !cpsiCheck then checkPredSuccInfo x else () fun empty n = let open Set in empty (assignment_of n) andalso empty ((tests_of o dag_of) n) end fun unreachable(P as (ns, n0, F), n) = not (eqn (n0, n)) andalso Set.empty (pred(P, n)) fun read (TST(t)) = HM.read_c t | read (ASS(a)) = HM.read_o a fun write (TST(t)) = HM.write_c t | write (ASS(a)) = HM.write_o a fun read_write_debug (f:debug_fun) = if !rw_debug then print (f() ^ "\n") else () fun readNode n = let open Set val answer = union (listUnion (make::(map (read o ASS) ((set o assignment_of) n))), listUnion (make::(map (read o TST) ((set o tests_of o dag_of) n)))) val foo = read_write_debug (fn () => ("readNode " ^ nodeToString n ^ "=>" ^ stringListString (map makestring (set answer)))) in answer end fun writeNode n = let open Set val answer = union (listUnion (make::(map (write o ASS) ((set o assignment_of) n))), listUnion (make::(map (write o TST) ((set o tests_of o dag_of) n)))) val foo = read_write_debug (fn () => ("writeNode " ^ nodeToString n ^ "=>" ^ stringListString (map makestring (set answer)))) in answer end fun no_write_conflict (ta, n) = let open Set in empty (intersect(writeNode n, (union(read ta, write ta)))) end fun no_read_conflict (ta, n) = let open Set in empty (intersect (write ta, readNode n)) end fun empty n = let open Set in (empty o assignment_of) n andalso (empty o tests_of o dag_of) n end fun replace_edge_node(N (n, a, d, p), nl) = N(n, a, replace_edge(d, nl), p) fun except_bogus nil = nil | except_bogus (h::t) = if Delay.is_bogus_i h then except_bogus t else h :: except_bogus t val num_ops_node = List.length o except_bogus o Set.set o assignment_of val num_tests_node = List.length o Set.set o tests_of o dag_of fun num_things_node n = (num_ops_node n) + (num_tests_node n) fun dead_debug (f:debug_fun) = if !dead_set_debug then print ("dead" ^ f() ^ "\n") else () exception DEAD fun dead(P:program, r:HM.reg, n:node, done: name Set.set) = let val foo = dead_debug (fn () => "(P, " ^ makestring r ^ ", " ^ nodeToString n ^ ")") val new_done = Set.add(done, name_of n) fun nfil(a, b) = if Set.member(new_done, a) then b else a::b fun drl nil = true | drl (h::t) = dead(P, r, h, new_done) andalso drl t fun ntn n = nameToNode (P, n) handle NAMETONODE => raise DEAD val next = fold nfil (Set.set (succ(P, n))) nil val answer = ( not (Set.member(readNode n, r)) andalso (Set.member(writeNode n, r) orelse drl (map ntn next)) ) val foo = dead_debug(fn () => "=>" ^ Bool.toString answer) in answer end fun deadset(P, rs, n) = let val foo = dead_debug (fn () => "deadset(" ^ stringListString (map makestring (Set.set rs)) ^ ",\n" ^ nodeToString n ^ ")") fun f nil = true | f (r::t) = dead(P, r, n, Set.make) andalso f t val answer = f (Set.set rs) val foo = dead_debug(fn () => "deadset=>" ^ Bool.toString answer ^ "\n") in answer end fun del_debug (f:debug_fun) = if !delete_debug then print ("delete:" ^ f() ^ "\n") else () exception DELETE exception DELETE_HD exception DELETE_WIERDSUCC fun delete (P as (ns, n0, F), n) = let val foo = cpsi("delete enter", P) val em = empty n val un = unreachable(P, n) fun ntn n = nameToNode(P, n) handle NAMETONODE => raise DELETE val p = Set.listToSetEQ(eqn, (map ntn (Set.set (pred(P, n))))) open Set val foo = del_debug (fn () => "delete( n=" ^ (name_of n) ^ "\n" ^ "em=" ^ (Bool.toString em) ^ "\n" ^ "un=" ^ (Bool.toString un) ^ "\n" ^ "p =" ^ (psl (map name_of (Set.set p))) ^ "\n" ^ ")") in if (em orelse un) andalso not (eqn(n, F)) then if not un then let val foo = del_debug (fn () => "complex deletion") val s0 = Set.set (succ(P, n)) val nprime = if List.length s0 = 1 then hd s0 else (print (Int.toString (List.length s0)); raise DELETE_WIERDSUCC) val new_nprime = rmPredNode(unionPredNode(ntn nprime, pred_of n), name_of n) fun ren x = replace_edge_node(x, [name_of n, name_of new_nprime]) val pprime = map ren (set p) fun updt(n, p) = updateNode(p, n) val Nprime = fold updt (new_nprime :: pprime) P val foo = del_debug (fn () => "nprime=" ^ nprime) val foo = del_debug (fn () => "pprime=" ^ (psl (map nodeToString pprime))) val answer = rmNode(Nprime, n) val foo = cpsi("delete leave cd", answer) in answer end else (del_debug (fn () => "simple_deletion"); let val s = Set.set(nameSetToNodeSet(P, (succ(P, n)))) fun updt(s, p) = updateNode(p, rmPredNode(s, name_of n)) val np = rmNode(fold updt s P, n) val foo = cpsi("delete leave sd", np) in np end) else (del_debug (fn () => "No deletion"); P) end handle Hd => raise DELETE_HD fun mop_debug (f:debug_fun) = if !move_op_debug then (dead_set_debug := true; print ("mop:" ^ f() ^ "\n")) else dead_set_debug := false fun can_move_op1(P as (ns, n0, F), x, move_set, m) = let open Set val foo = mop_debug (fn () => "can_move_op") val rok = HM.resources_ok(set (add(assignment_of m, x)), set ((tests_of o dag_of) m)) val foo = mop_debug(fn () => "1") val p = diff(nameSetToNodeSet(P, succ(P, m)), move_set) val foo = mop_debug(fn () => "2") val l = (write o ASS) x val foo = mop_debug(fn () => "3") fun dlpf nil = true | dlpf (pj::t) = deadset(P, l, pj) andalso dlpf t fun cond nil = true | cond (nj::t) = (not o eqn)(nj, F) andalso (* no_read_conflict(ASS x, nj) andalso *) (* change ex model so it can run on a sequential machine *) no_read_conflict(ASS x, m) andalso no_write_conflict(ASS x, m) andalso cond t val foo = mop_debug(fn () => "4") val answer = rok andalso cond (set move_set) andalso dlpf (set p) val foo = mop_debug (fn () => "can_move_op=>" ^ Bool.toString answer) in answer end fun can_move_op(P, x, move_set, m) = let open Set val ms = set move_set fun pf n = pred(P, n) val ps = set(listUnion (map pf ms)) fun all (x, b) = b andalso can_move_op1(P, x, move_set, m) in if List.length ps > 1 then if List.length ms > 1 then false else fold all ((set o assignment_of o hd) ms) true else can_move_op1(P, x, move_set, m) end fun move_op (P as (ns, n0, F), x, move_set, m) = let val foo = cpsi("move_op enter", P) val foo = mop_debug (fn () => "move_op(x=" ^ PrintAbs.str [x] ^ "move_set\n" ^ (stringListString (map nodeToString (Set.set move_set))) ^ "\nm=" ^ nodeToString m ^"\n)\n") in if not (can_move_op(P, x, move_set, m)) then P else let open Set exception NOTFOUND val primed_pairs = ref nil fun pnf nm = let fun f nil = let val nn = prime_name nm in (primed_pairs := (nm, nn) :: !primed_pairs; nn) end | f ((a, b)::t) = if nm = a then b else f t val answer = f (!primed_pairs) val foo = mop_debug (fn () => "pnf " ^ nm ^ "=>" ^ answer) in answer end val foo = mop_debug(fn () => "1") fun njp nil = nil | njp ((N(n, a, d, prd))::t) = N(pnf n, rm(a, x), d, listToSet [name_of m]) :: njp t fun ojp l = map (fn x => rmPredNode(x, name_of m)) l fun replist nil = nil | replist (h::t) = h :: pnf h :: replist t val rlist = replist (map name_of (set move_set)) val foo = mop_debug(fn () => "2") val mprime = let val aprime = add(assignment_of m, x) val dprime = replace_edge(dag_of m, rlist) in N(name_of m, aprime, dprime, pred_of m) end val foo = mop_debug(fn () => "3") val nj = njp(set move_set) val foo = mop_debug(fn () => "nj=" ^ stringListString (map name_of nj)) fun uptd(n, p) = updateNode(p, n) val np = fold uptd (mprime :: (ojp (set move_set))) P fun addnpi(n, p) = let val s = set (succNodes(p, n)) fun ap x = addPredNode(x, name_of n) fun updt(x, p) = updateNode(p, ap x) in fold updt s p end fun addn(n, p) = addnpi(n, addNode(p, n)) val nnp = fold addn nj np val foo = mop_debug(fn () => "4") val answer = nnp val foo = mop_debug(fn () => "5") val foo = cpsi("move_op leave", answer) in mop_debug(fn () => "6"); answer end end fun updt_sel (d, nsel) = let val tst = tests_of d val rt = root_of d val s = succ_of d in newdag(tst, nsel, rt, s) end fun mt_debug (f:debug_fun) = if !move_test_debug then print ("move_test" ^ f() ^ "\n") else () fun can_move_test(P as (ns, n0, F):program, x:test, n:node, m:node) = let val foo = cpsi("move_test enter", P) val foo = mt_debug (fn () => "can_move_test") val answer = no_write_conflict(TST x, m) andalso (* hack because sel can't distinguish xj *) not (Set.member(tests_of(dag_of m), x)) andalso HM.resources_ok(Set.set (assignment_of m), Set.set (Set.add((tests_of o dag_of) m, x))) val foo = mt_debug (fn () => "can_move_test=>" ^ Bool.toString answer) in answer end fun move_test (P as (ns, n0, F):program, x:test, n:node, m:node) = if not (can_move_test(P, x, n, m)) then P else let val foo = mt_debug (fn () => "move_test" ^ name_of n ^ " " ^ name_of m) open Set val d_n = dag_of n val sel_n = sel_of d_n val rt_n = root_of d_n val nt = let val newname = (new_name o name_of) n ^ "tt" fun nsel (z, b) = let val v = sel_n(z, b) in if toneq(v, TEST x) then sel_n(x, true) else v end val nC = if TEST x = rt_n then reach(updt_sel(d_n, nsel), sel_n(x, true)) else reach(updt_sel(d_n, nsel), rt_n) in N(newname, assignment_of n, nC, listToSet [name_of m]) end val foo = mt_debug (fn () => "got nt") val nf = let val newname = ((new_name o name_of) n) ^ "ff" fun nsel (z, b) = let val v = sel_n(z, b) in if toneq(v, TEST x) then sel_n(x, false) else v end val nC = if TEST x = rt_n then reach(updt_sel(d_n, nsel), sel_n(x, false)) else reach(updt_sel(d_n, nsel), rt_n) in N(newname, assignment_of n, nC, listToSet [name_of m]) end val foo = mt_debug (fn () => "got nf") val d_m = dag_of m val sel_m = sel_of d_m fun nton n = NAME( name_of n) fun nsel (z, b) = if teq(z, x) then if b then nton nt else nton nf else let val v = sel_m(z, b) in if toneq(v, NAME(name_of n)) then TEST x else v end val nb = add(tests_of d_m, x) val nh = add(add(rm(succ_of d_m, name_of n), name_of nt), name_of nf) fun new_rt (NAME rt) = TEST x | new_rt t = t val nc = newdag(nb, nsel, (new_rt o root_of) d_m, nh) val new_m = N(name_of m, assignment_of m, nc, pred_of m) fun updt_t s = addPredNode(s, name_of nt) fun updt_f s = addPredNode(s, name_of nf) val upt = map updt_t (set (nameSetToNodeSet(P, succ(P, nt)))) val upf = map updt_f (set (nameSetToNodeSet(P, succ(P, nf)))) fun updtl(n, p) = updateNode(p, n) val np = fold updtl ([rmPredNode(n, name_of m), new_m] @ upt @ upf) P val answer = np val foo = mt_debug (fn () => "mtst done") val foo = cpsi("move_test leave", answer) in answer end fun entries (P as (ns, n0, F)) = let val nl = Stringmap.extract ns fun f (a, b) = if unreachable(P, a) then a::b else b in n0 :: (fold f nl nil) end fun addPredInfo(P as (ns, n0, F)) = let fun rmpi n = setPredNode (n, Set.make) val nl = map rmpi (Stringmap.extract ns) fun updt(n, p) = updateNode(p, n) val np = fold updt nl P fun addpi (n, p) = let val s = Set.set (succNodes(p, n)) fun api(s, p) = updateNode(p, addPredNode(s, name_of n)) in fold api s p end in fold addpi nl np end fun cp_debug (f:debug_fun) = if !closure_progs_debug then print ("cp:" ^ f() ^ "\n") else () fun closure (P as (ns, n0, F), entry) = let open Set val foo = cp_debug (fn () => "closure:entry=" ^ name_of entry ^ "\nprogram=" ^ progToString P) val isin = Stringmap.isin fun dfs(p, parent, nil) = p | dfs(p as (ns, n0, F), parent, cur::todo) = if not (isin ns (name_of cur)) then let val np = dfs(addNode(p, cur), cur, set(succNodes(P, cur))) in dfs(np, parent, todo) end else dfs(p, parent, todo) val prog:program = (Stringmap.new(), entry, F) val answer = dfs(addNode(prog, entry), entry, set(succNodes(P, entry))) val foo = cp_debug (fn () => "\nclosure=>" ^ progToString answer) in answer end fun programs(P as (ns, n0, F):program) = let val foo = cp_debug (fn () => "programs") val l = entries (addPredInfo P) (* make sure preds are in closure*) fun cf e = addPredInfo(closure(P, e)) val answer = map cf l val foo = cp_debug (fn () => "programs done") in answer end structure ns = struct type obj = node fun int l = let val z = ord "0" fun f(n, nil) = n | f (n, d::l) = if d>="0" andalso d<="9" then f(n*10+ord(d)-z, l) else n in f(0,l) end fun gt (a, b) = let val a = explode(name_of a) val b = explode(name_of b) in (int a) > (int b) end end structure sortN = Sort(ns) val sortNodes = sortN.sort end structure Compress : sig val compress_debug : bool ref val compress : (int * Node.program) -> Node.program val move_things_node : Node.program * Ntypes.name * Ntypes.name Set.set -> Node.program val do_move_tests : bool ref val do_move_ops : bool ref val dbg_p : Node.program ref end = struct open Ntypes open Dag open Node val do_move_tests = ref false val do_move_ops = ref true exception COMPRESS fun error (s:string) = (print (s ^ "\n"); raise COMPRESS) val compress_debug = ref false val dbg_p = ref (makeProg()) type debug_fun = unit -> string fun debug (f:debug_fun) = if !compress_debug then print (f() ^ "\n") else () exception FILTERSUCC fun filterSucc(P, nm, fence_set) = let open Set val s = set(succ(P, nameToNode(P, nm))) handle NAMETONODE => raise FILTERSUCC fun f (nm, l) = if member(fence_set, nm) then l else nm::l in fold f s nil end (* val inP = ref false val finP = ref makeProg val foutP = ref makeProg fun chinP (p, from) = let val nm = "11_100'_110tt_119'" val prd = prednm(p, nm) val pe = Set.empty(prd) in if !inP then if pe then (foutP := p; error ("chinP gone -" ^ from)) else () else if pe then () else (inP := true; print ("chinP found it -" ^ from ^ "\n"); finP := p; nameToNode(p, nm); ()) end *) exception MOVETHINGSNODE fun move_things_node(P, nm, fence_set) = let open Set (* val foo = debug (fn () => "move_things_node(\n" ^ progToString P ^ ",\n" ^ nm ^ ", [" ^ fold (fn (a, b) => a ^ ", " ^ b) (set fence_set) "]" ^ ")") *) fun ntn (p, nm) = ((* chinP (p, "ntn");*) nameToNode (p, nm)) handle NAMETONODE => (dbg_p := P; raise MOVETHINGSNODE) fun s_nm_list p = filterSucc(p, nm, fence_set) fun nd nm = ntn(P, nm) handle MOVETHINGSNODE => error "nd nm" val au = listUnionEQ(aeq, map (assignment_of o nd) (s_nm_list P)) val tu = listUnionEQ(teq, map (tests_of o dag_of o nd) (s_nm_list P)) fun ms (p, a) = let fun f(nm, l) = ((*chinP (p, "ms"); *) if member(assignment_of(ntn(p, nm)), a) then nm::l else l ) handle MOVETHINGSNODE => (dbg_p := p; error "ms") in fold f (s_nm_list p) nil end fun move_a1(a, p) = let val msl = ms (p, a) val ms_set = nameSetToNodeSet(p, listToSet msl) fun dms(a, p) = delete(p, ntn(p, a)) fun mop() = let val foo = debug (fn () => "mop start " ^ nm) val new_p = move_op(p, a, ms_set, ntn(p, nm)) handle MOVETHINGSNODE => error "move_a move_op" val foo = debug (fn () => "mop end") in new_p end val mpa = mop() (* val foo = chinP(mpa, "a_move_a amop " ^ nm ^ StrPak.stringListString (map name_of (set ms_set))) *) val answer = fold dms msl mpa (* val foo = chinP(answer, "a_move_a adel") *) in answer end fun move_a(a, p) = if !do_move_ops then move_a1(a, p) else p fun tset (p, t) = let fun f(nm, l) = ((*chinP (p, "tset");*) if member(tests_of(dag_of(ntn(p, nm))), t) then nm::l else l ) handle MOVETHINGSNODE => error "tset" in fold f (s_nm_list p) nil end fun move_t1(t, p) = let val ts = tset (p, t) val answer = if List.length ts > 0 then move_test(p, t, (ntn(p, hd ts) handle MOVETHINGSNODE => error "move_t 1"), (ntn(p, nm) handle MOVETHINGSNODE => error "move_t 2")) else p (*val foo = chinP(answer, "a_move_t")*) in answer end fun move_t(t, p) = if !do_move_tests then move_t1(t, p) else p in debug (fn () => "movethingsnode " ^ nm ^ "\n"); fold move_t (set tu) (fold move_a (set au) P) end exception MOVETHINGSWINDOW fun move_things_window(P, w, nm, fence_set) = let open Set (* val foo = debug (fn () => "move_things_window(\n" ^ progToString P ^ ",\n" ^ (makestring w) ^ ", " ^ nm ^ ", [" ^ fold (fn (a, b) => a ^ ", " ^ b) (set fence_set) "]" ^ ")\n") *) fun ntn (P, nm) = (nameToNode (P, nm)) handle NAMETONODE => raise MOVETHINGSWINDOW val node = ntn(P, nm) val things = num_things_node node val s_nm_list = filterSucc(P, nm, fence_set) fun nxt(nm, p) = move_things_window(p, w - things, nm, fence_set) val child_p = if w > things then fold nxt s_nm_list P else P in debug (fn () => "movethingswindow " ^ nm ^ "\n"); move_things_node(child_p, nm, fence_set) end exception CPRESS exception CPRESS1 exception CPRESS2 exception CPRESS3 exception CPRESS4 exception CPRESS5 fun cpress(window, P, fence_set, everin_fence_set) = let open Set fun nxt(nm, p:program) = ((* dbg_p := p; *) move_things_window(p, window, nm, fence_set)) handle MOVETHINGSWINDOW => raise CPRESS1 val filled = fold nxt (set fence_set) P handle CPRESS1 => raise CPRESS2 fun succf nm = succ(filled, nameToNode(filled, nm)) handle NAMETONODE => raise CPRESS val nfence_set = listUnion(make::(map succf (set fence_set))) fun filt(a, l) = if member(everin_fence_set, a) then l else a::l val f_fence_set = listToSet(fold filt (set nfence_set) nil) val n_everin_fc = fold (fn (a, s) => add(s, a)) (set f_fence_set) everin_fence_set in debug (fn () => "cpress: fence_set=" ^ StrPak.stringListString (set fence_set) ^ "\n f_fence_set =" ^ StrPak.stringListString (set f_fence_set)); if not (empty f_fence_set) then cpress(window, filled, f_fence_set, n_everin_fc) handle CPRESS => raise CPRESS3 handle CPRESS1 => raise CPRESS4 handle CPRESS2 => raise CPRESS5 else filled end fun clean_up (P as (ns, n0, F):program) = let val foo = debug (fn () => "cleanup") val clos = closure(P, n0) val (ns, n0, F) = clos val l = (map name_of (Stringmap.extract ns)) fun f (n, p) = (debug (fn () => "cleanup deleting " ^ n); delete(p, nameToNode(p, n))) val answer = fold f l clos val foo = debug (fn () => "exiting cleanup") in answer end fun compress(window, P as (ns, n0, F)) = let open Set val fence = n0 val fence_set = add(make, name_of n0) val everin_fence_set = add(makeEQ(name_prefix_eq), name_of n0) val uc = cpress(window, P, fence_set, everin_fence_set) val cu = clean_up uc in debug (fn () => "compress"); cu end end structure ReadI : sig val readI : HM.operation list -> (HM.operation list * Node.program list) val writeI : (HM.operation list * Node.program list) -> HM.operation list val progMap : Node.program -> string val read_debug : bool ref val write_debug : bool ref val live_debug : bool ref end = struct val read_debug = ref false val write_debug = ref false val live_debug = ref false fun read_dbg f = if !read_debug then print ("readI.read:" ^ f() ^ "\n") else () fun write_dbg f = if !write_debug then print ("writeI.read:" ^ f() ^ "\n") else () fun write_dbg_s s = write_dbg (fn () => s) exception BTARGET fun btarget (nil, n) = (fn x => raise BTARGET) | btarget (h::t, n) = let open HM val rf = btarget(t, n + 1) fun g lbl x = if lbl = x then n else rf x fun f (TARGET(lbl, inst)) = (g lbl) | f _ = rf in f h end val programs = Node.programs exception BNODES fun buildNodes l = let open HM open Ntypes val t = btarget(l, 0) fun f (nil, n) = nil | f (ci::rest, n) = let open Dag open AbsMach val nm = makestring n val nxtnm = makestring (n + 1) fun asn i = Set.listToSetEQ(aeq, i) val edag = reach(Dag.make, NAME nxtnm) fun tgtnm tgt = makestring (t tgt) fun edagt tgt = reach(Dag.make, NAME (tgtnm tgt)) val finDag = reach(Dag.make, NAME (Node.name_of Node.fin)) fun cdag (tgt,tst) = attach(tst, edagt tgt, edag) val g = fn ASSIGNMENT i => Node.make(nm, asn [i], edag, Set.make) | NERGLE => Node.make(nm, asn [], edag, Set.make) | LABELREF (tgt, i as GETLAB{lab, dst}) => Node.make(nm, asn [GETLAB{lab=(t tgt, tgtnm tgt), dst=dst}], edag, Set.make) | COMPARISON (tgt, tst) => Node.make(nm, asn nil, cdag(tgt, tst), Set.make) | FLOW (tgt, i) => Node.make(nm, asn nil, edagt tgt, Set.make) | EXIT i => Node.make(nm, asn [i], finDag, Set.make) | TARGET (lbl, i) => Node.make(nm, asn nil, edag, Set.make) | _ => raise BNODES in (g ci)::Node.fin::(f (rest, n + 1)) end fun addn(n, p) = Node.addNode(p, n) val prog = fold addn (Node.fin :: f(l, 0)) (Node.makeProg()) in prog end exception READI exception READI_NTN fun readI ol = let open HM fun junkfil (JUNK a, (junk, other)) = (JUNK a :: junk, other) | junkfil (x, (junk, other)) = (junk, x::other) val cl = map HM.classify ol val (junk, other) = fold junkfil cl (nil, nil) fun ntn x = (Node.nameToNode x ) handle NAMETONODE => raise READI_NTN val (ns, foo, fin) = buildNodes other val nn = (ns, ntn((ns, foo, fin), "0"), fin) fun unjunk (JUNK i) = i | unjunk _ = raise READI val progs = programs nn val foo = read_dbg (fn () => ("progs =>" ^ (StrPak.stringListString (map Node.progToString progs)))) in (map unjunk junk, progs) end structure ps = struct open Ntypes type obj = Node.program fun int l = let val z = ord "0" fun f(n, nil) = n | f (n, d::l) = if d>="0" andalso d<="9" then f(n*10+ord(d)-z, l) else n in f(0,l) end fun gt((nsa, n0a, Fa), (nsb, n0b, Fb)) = let val a = explode (Node.name_of n0a) val b = explode (Node.name_of n0b) in (int a) > (int b) end end structure sortP = Sort (ps) fun live_dbg f = if !live_debug then print ("live:" ^ f() ^ "\n") else () fun build_live_tab(P as (ns, n0, F): Node.program) = let open Ntypes open Node open Set fun fil (a, b) = if a < 0 orelse Delay.is_bogus_reg (a, "") then b else add(b, a) fun fil_lset s = fold fil (set s) make val lt:(int set) Stringmap.stringmap = Stringmap.new() val finset = listToSet [0, 1, 2, 3, 4, 5] fun flive f n = if Stringmap.isin lt (name_of n) then Stringmap.map lt (name_of n) else f n fun dfs cur = let fun fl n = flive dfs n val nm = name_of cur val gen = (fil_lset o readNode) cur val kill = writeNode cur val foo = Stringmap.add lt (nm, gen) val children = succNodes(P, cur) val ch_live = if empty children then finset else listUnion (map fl (set children)) val live = union(diff(ch_live, kill), gen) val foo = Stringmap.rm lt nm val foo = Stringmap.add lt (nm, live) in live end in dfs n0; (fn nm => let val ans = Stringmap.map lt nm val foo = live_dbg (fn () => nm ^ "=>" ^ StrPak.stringListString (map makestring (set ans))) in ans end) end (* live is the union of live in successors *) fun branch_live (P, tab, nm) = let open Node val s = Set.set (succ(P, nameToNode(P, nm))) val l:int Set.set = Set.listUnion (map tab s) val foo = live_dbg (fn()=>("branch_live " ^ nm ^ " s=" ^ StrPak.stringListString s ^ " -> " ^ StrPak.stringListString (map makestring (Set.set l)))) in l end exception WRITEP exception WRITEP1 exception WRITEP_NTN fun writeP (entry_map, lbl_fun, P as (ns, n0, F):Node.program) = let open Ntypes open Node open Set open HM open AbsMach val foo = write_dbg(fn () => "program:" ^ progToString P) fun blblmap nil = (fn x => (print ("blblmap_" ^ x); raise WRITEP)) | blblmap (nm::t) = let val mp = blblmap t val mylab = lbl_fun() in (fn x => if x = nm then mylab else mp x) end val lblmap = blblmap(map name_of (Stringmap.extract ns)) val live_tab = build_live_tab P fun label_list nm = map (fn r => (r, "")) (set (live_tab nm)) fun br_list nm = map (fn r => (r, "")) (set (branch_live(P, live_tab, nm))) fun getlab (GETLAB{lab=(i,s), dst}) = GETLAB{lab=(entry_map s, "node" ^ s), dst=dst} | getlab _ = raise WRITEP1 fun dogetlabs (i as GETLAB _, l) = (getlab i) :: l | dogetlabs (i, l) = i :: l fun ubranch (frm, nm) = BRANCH{test=ieq, src1=(0, "zero"), src2=(0, "zero"), dst=(lblmap nm, "node" ^ nm), live=br_list frm} fun cbranch (BRANCH{test, src1, src2, dst, live}, frm, nm) = BRANCH{test=test, src1=src1, src2=src2, dst=(lblmap nm, "node" ^ nm), live=br_list frm} | cbranch _ = (print "cbranch"; raise Match) fun label nm = LABEL{lab=(lblmap nm, "node" ^ nm), live=label_list nm} fun entry_label nm = LABEL{lab=(entry_map nm, "entry"), live=label_list nm} fun f (done, lastnm, nm) = let val foo = write_dbg (fn () => "f (" ^ StrPak.stringListString (set done) ^ "," ^ nm ^ ")") in if nm = name_of F then (write_dbg_s "fin"; (done, [NOP])) else if member(done, nm) then (write_dbg_s "already"; (done, [NOP, ubranch(lastnm, nm)])) else let open Dag val foo = write_dbg_s "doing" val node = nameToNode(P, nm) handle NAMETONODE => raise WRITEP_NTN val needlabel = let val pd = set (pred (P, node)) val foo = write_dbg (fn () => ("needlabel pd=" ^ StrPak.stringListString pd)) fun f nil = false | f ((p::nil):Ntypes.name list) = let val pn = nameToNode(P, p:Ntypes.name) val foo = write_dbg (fn () => ("ndlbl: pn=" ^ nodeToString pn)) val d = dag_of pn val sel = sel_of d val rt = root_of d fun istst (TEST t) = (write_dbg_s "ist true\n"; true) | istst (NAME n) = (write_dbg_s "ist false\n"; false) | istst NEITHER = (write_dbg_s "ist false\n"; false) fun untst (TEST t) = t | untst _ = (print "needlabel1"; raise Match) fun unnm (NAME nm) = nm | unnm _ = (print "needlabel2"; raise Match) val foo = if istst rt then write_dbg (fn () => ("sel=" ^ unnm(sel(untst rt, true)) ^ "\n")) else () in istst rt andalso (sel(untst rt, true) = NAME nm) end | f (a::b::c) = true val answer = f pd val foo = write_dbg (fn () => ("needlabel=>" ^ Bool.toString answer)) in answer end val nodelabel = if needlabel then [label nm] else nil val nodeNOP = [NOP] val a = fold dogetlabs (set (assignment_of node)) nil val d = dag_of node val sel = sel_of d val rt = root_of d (* only works for <= 1 test *) fun dag_code NEITHER = (nil, nil) | dag_code (NAME n) = ([n], nil) | dag_code (TEST t) = let fun unnm (NAME x) = x | unnm _ = (print "dag_code"; raise Match) val t_n = unnm(sel(t, true)) val f_n = unnm(sel(t, false)) in ([f_n, t_n], [cbranch(t, nm, t_n)]) end val (nl, cd) = dag_code rt exception DFS_SURPRISE fun dfs (done, nil) = (write_dbg_s "dfs nil"; (done, nil)) | dfs (done, h::nil) = (write_dbg_s "dfs 1"; f(done, nm, h)) | dfs (done, h::nxt::nil) = let val foo = write_dbg_s "dfs 2" val (dn1, cd1) = f(done, nm, h) val (dn2, cd2) = if member(dn1, nxt) then (dn1, nil) else dfs(dn1, nxt::nil) val lbl = if nxt = name_of F orelse member(dn2, nxt) then [NOP] else [NOP, label nxt] in (dn2, cd1 @ lbl @ cd2) end | dfs _ = raise DFS_SURPRISE val (dn, dcd) = dfs(add(done, nm), nl) in (dn, NOP :: nodelabel @ a @ cd @ dcd) end end val (done, code) = f (Set.make, "badname", name_of n0) in (entry_label (name_of n0)) :: (label (name_of n0)) :: code end exception WRITEI fun progMap(p as (ns, n0, F)) = let val l = Node.sortNodes (Stringmap.extract ns) val outstr = ref "" fun pr s = outstr := !outstr ^ s fun ntn n = Node.nameToNode(p, n) val n0nm = Node.name_of n0 val nFnm = Node.name_of F fun f n = let val s = Set.set (Node.succ(p, n)) val nm = Node.name_of n val pre = if nm = n0nm then "->\t" else "\t" val post = if nm = nFnm then "\t->\n" else "\n" in pr (pre ^ Node.name_of n ^ "\t->\t" ^ StrPak.stringListString s ^ post) end in List.app f l; !outstr end fun writeI(j:AbsMach.opcode list, p:Node.program list) = let val labelid = ref 0 fun newlabel () = (labelid := !labelid + 1; !labelid - 1) fun bentrymap nil = (fn x => (print ("bentrymap_" ^ x); raise WRITEI)) | bentrymap ((ns, n0, F)::t) = let val mp = bentrymap t val mylab = newlabel() in (fn x => if x = Node.name_of n0 then mylab else mp x) end val entry_map = bentrymap p val sp = sortP.sort p fun wp p = writeP (entry_map, newlabel, p) fun f(a, b) = (wp a) @ b val i = fold f sp nil in i @ j end end signature SIMLABS = sig exception Data_dependency_checked exception End_of_Program exception Simulator_error_1 exception Simulator_error_2 exception illegal_branch_within_branchdelay exception illegal_jump_within_branchdelay exception illegal_operator_or_operand exception negative_label_offset exception no_address_in_register exception no_label_in_register exception no_memory_address_in_register exception runtime_error_in_labwords exception runtime_error_in_words_or_labwords exception type_mismatch_in_comparison exception wrong_label val breakptr : int -> unit val clock : int ref val d_m : int * int -> unit val d_ms : int list -> unit val d_pc : unit -> unit val d_r : unit -> unit val d_regs : int list -> unit val init : AbsMach.opcode list -> unit val mcell : int -> AbsMach.values val pc : unit -> AbsMach.opcode list val pinit : int * (AbsMach.arithop -> int) * int * AbsMach.opcode list -> unit val pptr : unit -> int val prun : unit -> unit val pstep : unit -> unit val regc : int -> AbsMach.values val run : unit -> unit val runcount : int ref val step : unit -> unit val vinit : int * AbsMach.opcode list -> unit val vpc : unit -> unit val vrun1 : unit -> unit val vrun2 : unit -> unit val vrun3 : unit -> unit val vstep1 : unit -> unit val vstep2 : unit -> unit val vstep3 : unit -> unit val Memory : (AbsMach.values array) ref end; structure SetEnv : SIMLABS= struct open AbsMach; val codes : (opcode list ref)=ref nil; val RegN=ref 0 and LabN=ref 0 and memorysize=ref 10000; (*RegN = (pointer to) number of registers needed; LabN = (pointer to) number of labels; memorysize=(pointer to) memory space size. *) val IP: (opcode list) ref =ref nil; val inivalue=(INT 0); (*IP = Program Pointer; inivalue = zero- initial value of memory and registers. *) val Reg=ref (array(0,inivalue)) and Memory=ref (array(0,inivalue)) and Lab_Array=ref (array(0, (0,IP) )); (*Reg = register array; Memory = memory cell array; Lab_Array = label-opcode list array. *) fun max(n1:int,n2:int)=if (n1>n2) then n1 else n2; (* hvnop tests whether the instruction is not a real machine instruction, but only useful in simulation. *) fun hvnop(LABEL{...})=true | hvnop(LABWORD{...})=true | hvnop(WORD{...})=true | hvnop(_)=false; (*count_number is used to take into account register references and label declarations, and change RegN or LabN. *) fun count_number(FETCH {ptr=(n1,_),dst=(n2,_),...})= (RegN:=max((!RegN),max(n1,n2)) ) | count_number(STORE {src=(n1,_),ptr=(n2,_),...})= (RegN:=max((!RegN),max(n1,n2)) ) | count_number(ARITHI {src1=(n1,_),dst=(n2,_),...})= (RegN:=max((!RegN),max(n1,n2)) ) | count_number(MOVE {src=(n1,_),dst=(n2,_)})= (RegN:=max((!RegN),max(n1,n2)) ) | count_number(BRANCH {src1=(n1,_),src2=(n2,_),...})= (RegN:=max((!RegN),max(n1,n2)) ) | count_number(GETLAB {dst=(n,_),...})= (RegN:=max((!RegN),n) ) | count_number(GETREAL {dst=(n,_),...})= (RegN:=max((!RegN),n) ) | count_number(ARITH{src1=(n1,_),src2=(n2,_),dst=(n3,_),...})= (RegN:=max((!RegN),max(n1,max(n2,n3)) ) ) | count_number(LABEL{...})= ( Ref.inc(LabN) ) | count_number(_)=(); (* scan is used to scan the opcode list for the first time, to determine the size of Reg and Lab_Array, i.e. number of registers and labels. *) fun scan(nil)=() | scan(h::t)=(count_number(h);scan(t)); (* setlabels is used to set the label array, of which each item is a pair (label, codep), codep points to the codes containing the LABEL statement and afterwards codes. *) fun setlabels(nil,_)= () | setlabels(codel as ((LABEL {lab=(l,_),...})::t),k)= (update((!Lab_Array),k,(l,ref codel)); setlabels(t,k+1) ) | setlabels(h::t,k)=setlabels(t,k) ; (* initializing the enviroment of the simulation. *) fun init(l)=(RegN:=0; LabN:=0; IP:=l; codes:=l; scan(!IP); Ref.inc(RegN); Reg:=array( (!RegN), inivalue ) ; Memory:=array( (!memorysize), inivalue ) ; Lab_Array:=array( (!LabN), (0,IP)); setlabels(!IP,0) ); exception wrong_label; exception runtime_error_in_labwords; exception runtime_error_in_words_or_labwords; exception negative_label_offset; exception no_label_in_register; exception illegal_operator_or_operand; exception type_mismatch_in_comparison ; exception no_address_in_register; exception no_memory_address_in_register; (* getresult gives the results of arithmtic operations *) fun getresult(iadd,INT (n1:int),INT (n2:int))=INT (n1+n2) | getresult(isub,INT (n1:int),INT (n2:int))=INT (n1-n2) | getresult(imul,INT (n1:int),INT (n2:int))=INT (n1*n2) | getresult(idiv,INT (n1:int),INT (n2:int))=INT (n1 div n2) | getresult(fadd,REAL (r1:real),REAL (r2:real))=REAL (r1+r2) | getresult(fsub,REAL (r1:real),REAL (r2:real))=REAL (r1-r2) | getresult(fmul,REAL (r1:real),REAL (r2:real))=REAL (r1*r2) | getresult(fdiv,REAL (r1:real),REAL (r2:real))=REAL (r1/r2) | getresult(iadd,INT (n1:int),LABVAL (l,k))=LABVAL (l,k+n1) | getresult(iadd,LABVAL (l,k),INT (n1:int))=LABVAL (l,k+n1) | getresult(isub,LABVAL (l,k),INT (n1:int))=LABVAL (l,k-n1) | getresult(orb,INT n1,INT n2)=INT (Bits.orb(n1,n2)) | getresult(andb,INT n1,INT n2)=INT (Bits.andb(n1,n2)) | getresult(xorb,INT n1,INT n2)=INT (Bits.xorb(n1,n2)) | getresult(rshift,INT n1,INT n2)=INT (Bits.rshift(n1,n2)) | getresult(lshift,INT n1,INT n2)=INT (Bits.lshift(n1,n2)) | getresult(real,INT n,_)=REAL (intToReal(n)) | getresult(floor,REAL r,_)=INT (Real.floor(r)) | getresult(logb,REAL r,_)=INT (System.Unsafe.Assembly.A.logb(r))| getresult(_)=raise illegal_operator_or_operand; (* compare gives the results of comparisons in BRANCH statement. *) fun compare(ilt,INT n1,INT n2)= (n1n2) | compare(ile,INT n1,INT n2)= (n1<=n2) | compare(ige,INT n1,INT n2)= (n1>=n2) | compare(ine,INT n1,INT n2)= (n1<>n2) | compare(flt,REAL r1,REAL r2)= (r1r2) | compare(fle,REAL r1,REAL r2)= (r1<=r2) | compare(fge,REAL r1,REAL r2)= (r1>=r2) | compare(fne,REAL r1,REAL r2)= (realNe(r1,r2)) | compare(inrange,INT a,INT b)= (a>=0) andalso (ab) | compare(inrange,REAL a,REAL b)= (a>=0.0) andalso (ab) | compare(_)=raise type_mismatch_in_comparison ; (* findjmp_place returns the pointer to the codes corresponding to the given label (the codes containing the LABEL statement itself). *) fun findjmp_place lab = let val ipp=ref (ref nil) and i=ref 0 and flag=ref true; val none=(while ( (!i < !LabN) andalso (!flag) ) do ( let val (l,p)=((!Lab_Array) sub (!i)) in if (l=lab) then (ipp:=p;flag:=false) else Ref.inc(i) end ) ) in if (!flag) then raise wrong_label else (!ipp) end; (* findjmp_word returns the content of the k th labword in a code stream. *) fun findjmp_word(k,ip)=if (k<0) then raise negative_label_offset else let fun f2(1,LABWORD{lab=(herepos,_)}::t) =herepos | f2(k,LABWORD{...}::t)=f2(k-1,t) | f2(_)=raise runtime_error_in_labwords ; in f2(k, (!ip) ) end; (* inst_word returns the content of the k'th word or labword in a code stream. *) fun inst_word(k,ip)=if (k<0) then raise negative_label_offset else let fun f(1,LABWORD{lab=(herepos,_)}::t) =LABVAL (herepos,0) | f(1,WORD{value=n}::t)=INT n | f(k,LABWORD{...}::t)=f(k-1,t) | f(k,WORD{...}::t)=f(k-1,t) | f(_)=raise runtime_error_in_words_or_labwords in f(k,(!ip)) end; (* execjmp changes IP, makes it point to the codes of the given label. *) fun execjmp(LABVAL (l,0))= (IP:= !(findjmp_place l) ) | execjmp(LABVAL (l,k))= (IP:= ! (findjmp_place (findjmp_word(k,findjmp_place(l) ) ) ) ) | execjmp(_) = raise no_label_in_register; (* addrplus returns the result of address+offset. *) fun addrplus(INT n,ofst)= n+ofst | addrplus(_,_)=raise no_memory_address_in_register; (* content gives the content of the fetched word. *) fun content(INT n,ofst)= (!Memory) sub (n+ofst) | content(LABVAL (l,k),ofst)=inst_word(k+ofst,findjmp_place(l)) | content(_,_)=raise no_address_in_register; (* exec executes the given instruction. *) fun exec(FETCH{immutable=_,offset=ofst,ptr=(p,_),dst=(d,_)})= update((!Reg),d,content((!Reg) sub p,ofst) ) | exec(STORE{offset=ofst,src=(s,_),ptr=(p,_)})= update((!Memory),addrplus((!Reg) sub p,ofst),(!Reg) sub s) | exec(GETLAB {lab=(l,_),dst=(d,_)})= update((!Reg),d,(LABVAL (l,0)) ) | exec(GETREAL {value=v,dst=(d,_)})= update((!Reg),d,(REAL (strToReal v))) | exec(MOVE{src=(s,_),dst=(d,_)})= update((!Reg),d, (!Reg) sub s ) | exec(LABEL {...})= () | exec(LABWORD {...}) = () | exec(WORD{...})= () | exec(JUMP {dst=(d,_),...})= execjmp((!Reg) sub d) | exec(ARITH {oper=opn,src1=(s1,_),src2=(s2,_),dst=(d,_)})= update((!Reg),d,getresult(opn,(!Reg) sub s1,(!Reg) sub s2) ) | exec(ARITHI {oper=opn,src1=(s1,_),src2=n1,dst=(d,_)})= update((!Reg),d,getresult(opn,(!Reg) sub s1,(INT n1) ) ) | exec(BRANCH{test=comp,src1=(s1,_),src2=(s2,_),dst=(labnum,_),...})= if compare(comp,(!Reg) sub s1,(!Reg) sub s2) then (IP:= !(findjmp_place(labnum) ) ) else () | exec(NOP)= () | exec(BOGUS _)= raise Match ; exception End_of_Program; fun step () =let val Instruction=(hd(!IP) handle Hd=> raise End_of_Program) in (IP:=tl(!IP) handle Tl=>raise End_of_Program; exec(Instruction) ) end; fun run () =(step();run() ) handle End_of_Program =>output(std_out,"End of program\n"); (* bms, ims, rms are simply abbreviations. *) val bms : bool -> string = Bool.toString and ims : int -> string = Int.toString and rms : real -> string = Real.toString (* dispv shows the content of a register, dispm shows the content of a memory word. *) fun dispv(n,INT k)=output(std_out,"Register "^ims(n)^": "^ "INT "^ims(k)^"\n") | dispv(n,REAL r)=output(std_out,"Register "^ims(n)^": "^ "REAL "^rms(r)^"\n") | dispv(n,LABVAL (l,0))=output(std_out, "Register "^ims(n)^": "^ "LABEL "^ims(l)^"\n") | dispv(n,LABVAL (l,k))=output(std_out, "Register "^ims(n)^": "^ "LABWORD "^ims(k)^" after"^ "LABEL "^ims(l)^"\n") ; fun dispm(n,INT k)=output(std_out,"Memory "^ims(n)^": "^ "INT "^ims(k)^"\n") | dispm(n,REAL r)=output(std_out,"Memory "^ims(n)^": "^ "REAL "^rms(r)^"\n") | dispm(n,LABVAL (l,0))=output(std_out, "Memory "^ims(n)^": "^ "LABEL "^ims(l)^"\n") | dispm(n,LABVAL (l,k))=output(std_out, "Memory "^ims(n)^": "^ "LABWORD "^ims(k)^" after"^ "LABEL "^ims(l)^"\n") ; (* oms and cms give the strings of the functions and comparisions. *) fun oms(iadd)="iadd" | oms(isub)="isub" | oms(imul)="imul" | oms(idiv)="idiv" | oms(fadd)="fadd" | oms(fsub)="fsub" | oms(fmul)="fmul" | oms(fdiv)="fdiv" | oms(real)="real" | oms(floor)="floor" | oms(logb)="logb" | oms(orb)="orb" | oms(andb)="andb" | oms(xorb)="xorb" | oms(rshift)="rshift" | oms(lshift)="lshift" ; fun cms(ilt)="ilt" | cms(igt)="igt" | cms(ieq)="ieq" | cms(ile)="ile" | cms(ige)="ige" | cms(ine)="ine" | cms(flt)="flt" | cms(fgt)="fgt" | cms(feq)="feq" | cms(fle)="fle" | cms(fge)="fge" | cms(fne)="fne" | cms(outofrange)="outofrange" | cms(inrange)="inrange" ; (* lms gives the string of the live register list. *) fun lms(nil)="" | lms((h,s)::nil)="("^ims(h)^","^s^")" | lms((h,s)::t)="("^ims(h)^","^s^"),"^lms(t); (* disp gives the string for the instruction. *) fun disp(FETCH{immutable=b,offset=ofst,ptr=(p,s1),dst=(d,s2)}) = "FETCH{immutable="^bms(b)^",offset="^ims(ofst) ^",ptr=("^ims(p)^","^s1 ^"),dst=("^ims(d)^","^s2^")}\n" | disp(STORE{offset=ofst,src=(s,s1),ptr=(p,s2)}) = "STORE{offset="^ims(ofst)^",src=("^ims(s)^","^s1^"),ptr=(" ^ims(p)^","^s2^")}\n" | disp(GETLAB{lab=(l,ls),dst=(d,ds)}) = "GETLAB{lab=("^ims(l)^","^ls^"),dst=("^ims(d)^","^ds^")}\n" | disp(GETREAL{value=r,dst=(d,ds)}) = "GETREAL{value="^r^",dst=("^ims(d)^","^ds^")}\n" | disp(ARITH{oper=opn,src1=(s1,ss1),src2=(s2,ss2),dst=(d,ds)})= "ARITH{oper="^oms(opn)^",src1=("^ims(s1)^","^ss1^"),src2=("^ims(s2) ^","^ss2^"),dst=("^ims(d)^","^ds^")}\n" | disp(ARITHI{oper=opn,src1=(s1,ss1),src2=n,dst=(d,ds)})= "ARITH{oper="^oms(opn)^",src1=("^ims(s1)^","^ss1^"),src2="^ims(n)^ ",dst=("^ims(d)^","^ds^")}\n" | disp(MOVE{src=(s,ss),dst=(d,ds)})= "MOVE{src=("^ims(s)^","^ss^"),dst=("^ims(d)^","^ds^")}\n" | disp(BRANCH{test=comp,src1=(s1,ss1),src2=(s2,ss2),dst=(labnum,ss3), live=lt})= "BRANCH{test="^cms(comp)^",src1=("^ims(s1)^","^ss1^"),src2=("^ims(s2) ^","^ss2^"),dst=("^ims(labnum)^","^ss3^"),live=["^lms(lt)^"]}\n" | disp(JUMP{dst=(d,ds),live=lt}) = "JUMP{dst=("^ims(d)^","^ds^"),live=["^lms(lt)^"]}\n" | disp(LABWORD{lab=(l,s)})="LABWORD{lab=("^ims(l)^","^s^")}\n" | disp(LABEL{lab=(l,s),live=lt})= "LABEL{lab=("^ims(l)^","^s^"),live=["^lms(lt)^"]}\n" | disp(WORD{value=n})="WORD{value="^ims(n)^"}\n" | disp(NOP)="NOP" | disp(BOGUS _) = raise Match ; fun d_pc () =output(std_out,disp(hd(!IP)) handle Hd=>"No More Instruction\n"); fun pc () = (!IP); fun pptr () =(List.length(!codes)-List.length(!IP))+1; fun breakptr k=let fun goon (LABEL {lab=(l,_),...})=(l<>k) | goon (_)=true in while goon(hd(!IP)) do step() end; fun regc n=((!Reg) sub n); fun d_r () =let val i=ref 0 in (while ( !i < !RegN) do (dispv((!i),(!Reg) sub (!i)); Ref.inc(i) ) ) end; fun d_regs (nil)=() | d_regs (h::t)=(dispv(h,(!Reg) sub h);d_regs(t)); fun mcell n=((!Memory) sub n); fun d_m (n,m)=let val i=ref n in while ( !i <=m) do (dispm(!i,(!Memory) sub !i); Ref.inc(i) ) end; fun d_ms nil =() | d_ms (h::t)=(dispm(h,(!Memory) sub h); d_ms(t) ); (* This part for the VLIW mode execution. *) val runcount=ref 0 and sizen=ref 0 and flag=ref true; exception Simulator_error_1; exception Simulator_error_2; exception Data_dependency_checked; (* member tests whether element a is in a list. *) fun member(a,nil)=false | member(a,h::t)=if (a=h) then true else member(a,t); (* hvcom tests whether the intersection of two list isnot nil. *) fun hvcom(nil,l)=false | hvcom(h::t,l)=member(h,l) orelse hvcom(t,l); (* gset returns the list of registers refered in a instruction. gwset returns the list of the register being written in a instruction. *) fun gset(FETCH{ptr=(p,_),dst=(d,_),...})=[p,d] | gset(STORE{src=(s,_),ptr=(p,_),...})=[s,p] | gset(GETLAB{dst=(d,_),...})=[d] | gset(GETREAL{dst=(d,_),...})=[d] | gset(ARITH{src1=(s1,_),src2=(s2,_),dst=(d,_),...})=[s1,s2,d] | gset(ARITHI{src1=(s1,_),dst=(d,_),...})=[s1,d] | gset(MOVE{src=(s,_),dst=(d,_)})=[s,d] | gset(BRANCH{src1=(s1,_),src2=(s2,_),...})=[s1,s2] | gset(JUMP{dst=(d,_),...})=[d] | gset(_)=nil ; fun gwset(FETCH{dst=(d,_),...})=[d] | gwset(GETLAB{dst=(d,_),...})=[d] | gwset(GETREAL{dst=(d,_),...})=[d] | gwset(ARITH{dst=(d,_),...})=[d] | gwset(ARITHI{dst=(d,_),...})=[d] | gwset(MOVE{dst=(d,_),...})=[d] | gwset(_)=nil ; (* fetchcode returns the instruction word which contains the next k instruction. fetchcode3 is used in version 3 of VLIW mode, in which case labels within instruction words are OK. *) fun fetchcode(0)=nil | fetchcode(k)=let val h=hd(!IP) in (IP:=tl(!IP); if hvnop(h) then (output(std_out, "Warning: labels within the instruction word\n"); fetchcode(k) ) else h::fetchcode(k-1) ) end handle Hd=>nil; fun fetchcode3(0)=nil | fetchcode3(k)=let val h=hd(!IP) in (IP:=tl(!IP); if hvnop(h) then fetchcode3(k) else h::fetchcode3(k-1) ) end handle Hd=>nil; (* allnop tests if all instructions left mean no operation. *) fun allnop(nil)=true | allnop(NOP::t)=allnop(t) | allnop(_)=false; (* nopcut cut the instruction stream in a way that the first half are all NOP instruction. *) fun nopcut(nil)=(nil,nil) | nopcut(NOP::t)=let val (l1,l2)=nopcut(t) in (NOP::l1,l2) end | nopcut(l)=(nil,l); (* cmdd tests the data dependency on memory cells and IP. *) fun cmdd(_,nil)=false | cmdd(wset,STORE{ptr=(p,_),offset=ofst,...}::t)= cmdd(addrplus((!Reg) sub p,ofst)::wset,t) | cmdd(wset,FETCH{ptr=(p,_),offset=ofst,...}::t)= member(addrplus((!Reg) sub p,ofst),wset) orelse cmdd(wset,t) | cmdd(wset,BRANCH{...}::t)=if allnop(t) then false else true | cmdd(wset,JUMP{...}::t)=if allnop(t) then false else true | cmdd(wset,h::t)=cmdd(wset,t); (* crdd test the data dependency on registers. *) fun crdd(_,nil)=false | crdd(wset,h::t)=if hvcom(gset(h),wset) then true else crdd(gwset(h)@wset,t) ; (* check_dd checks whether there is data dependency in instruction stream l. *) fun check_dd(l)= crdd(nil,l) orelse cmdd(nil,l); (* rddcut seperate the longest part of the instruction stream that have no data dependency on registers , from the left. *) fun rddcut(_,nil)= (nil,nil) | rddcut(wset,l as (h::t))= if hvcom(gset(h),wset) then (nil,l) else let val (l1,l2)=rddcut(gwset(h)@wset,t) in (h::l1,l2) end ; (* mddcut seperate the longest part of the instruction stream that have no data dependency on memory cells and IP, from the left. *) fun mddcut(_,nil)= (nil,nil) | mddcut(wset,(h as STORE{ptr=(p,_),offset=ofst,...})::t)= let val (l1,l2)=mddcut(addrplus((!Reg) sub p,ofst)::wset,t) in (h::l1,l2) end | mddcut(wset,(h as FETCH{ptr=(p,_),offset=ofst,...})::t)= if member(addrplus((!Reg) sub p,ofst),wset) then (nil,h::t) else let val (l1,l2)=mddcut(wset,t) in (h::l1,l2) end | mddcut(wset,(h as BRANCH{...})::t)= let val (l1,l2)=nopcut(t) in (h::l1,l2) end | mddcut(wset,(h as JUMP{...})::t)= let val (l1,l2)=nopcut(t) in (h::l1,l2) end | mddcut(wset,h::t)= let val (l1,l2)=mddcut(wset,t) in (h::l1,l2) end ; (* calcult returns the necessary value list corresponding to a instruction stream. And change the IP when necessary. *) fun calcult(nil)=nil | calcult(FETCH{ptr=(p,_),offset=ofst,...}::t)= content((!Reg) sub p,ofst)::calcult(t) | calcult(STORE{src=(s,_),...}::t)=((!Reg) sub s )::calcult(t) | calcult(MOVE{src=(s,_),...}::t)=((!Reg) sub s)::calcult(t) | calcult(ARITH{oper=opn,src1=(s1,_),src2=(s2,_),...}::t)= getresult(opn,(!Reg) sub s1,(!Reg) sub s2)::calcult(t) | calcult(ARITHI{oper=opn,src1=(s1,_),src2=n1,...}::t)= getresult(opn,(!Reg) sub s1,(INT n1))::calcult(t) | calcult(JUMP{dst=(d,_),...}::t)=((!Reg) sub d)::calcult(t) | calcult(h::t)=calcult(t); (* dowr does the actual writing operations. *) fun dowr(nil,nil)=() | dowr(nil,h::t)=raise Simulator_error_1 | dowr(FETCH{...}::t,nil)=raise Simulator_error_2 | dowr(STORE{...}::t,nil)=raise Simulator_error_2 | dowr(MOVE{...}::t,nil)=raise Simulator_error_2 | dowr(ARITH{...}::t,nil)=raise Simulator_error_2 | dowr(ARITHI{...}::t,nil)=raise Simulator_error_2 | dowr(JUMP{...}::t,nil)=raise Simulator_error_2 | dowr(FETCH{dst=(d,_),...}::t,vh::vt)=(update((!Reg),d,vh); dowr(t,vt) ) | dowr(STORE{ptr=(p,_),offset=ofst,...}::t,vh::vt)= (update((!Memory),addrplus((!Reg) sub p,ofst),vh); dowr(t,vt) ) | dowr(GETLAB{lab=(l,_),dst=(d,_)}::t,vt)= (update((!Reg),d,(LABVAL (l,0)) ); dowr(t,vt) ) | dowr(GETREAL{value=v,dst=(d,_)}::t,vt)= (update((!Reg),d,(REAL (strToReal v)) ); dowr(t,vt) ) | dowr(MOVE{dst=(d,_),...}::t,vh::vt)= (update((!Reg),d,vh); dowr(t,vt) ) | dowr(ARITH{dst=(d,_),...}::t,vh::vt)= (update((!Reg),d,vh); dowr(t,vt) ) | dowr(ARITHI{dst=(d,_),...}::t,vh::vt)= (update((!Reg),d,vh); dowr(t,vt) ) | dowr(JUMP{...}::t,vh::vt)= (execjmp(vh); flag:=false; dowr(t,vt) ) | dowr(BRANCH{test=comp,src1=(s1,_),src2=(s2,_), dst=(labnum,_),...}::t,vt)= if compare(comp,(!Reg) sub s1,(!Reg) sub s2) then (IP:= !(findjmp_place(labnum)); flag:=false; dowr(t,vt) ) else dowr(t,vt) | dowr(h::t,vt)=dowr(t,vt) ; (* vv3 executes an instruction word in version 3 mode. *) fun vv3(nil)= () | vv3(l)=let val (l1,l2)=rddcut(nil,l); val (l3,l4)=mddcut(nil,l1) in (flag:=true; dowr(l3,calcult(l3)); Ref.inc(runcount); if (!flag) then vv3(l4@l2) else () ) end; fun vinit(k,l)=(init(l); sizen:=k; runcount:=0 ) ; fun vstep1()=let val f=(while hvnop(hd(!IP)) do IP:=tl(!IP)) handle Hd=>raise End_of_Program; val codel=fetchcode(!sizen) in (dowr(codel,calcult(codel)); Ref.inc(runcount) ) end; fun vstep2()=let val f=(while hvnop(hd(!IP)) do IP:=tl(!IP)) handle Hd=>raise End_of_Program; val codel=fetchcode(!sizen) in if check_dd(codel) then (output(std_out,"Data dependency checked in:\n"); let fun f(nil)=() | f(h::t)=(output(std_out,":"^disp(h)); f(t)) in f(codel) end; raise Data_dependency_checked ) else (dowr(codel,calcult(codel)); Ref.inc(runcount) ) end; fun vstep3()=let val f=if (!IP)=nil then raise End_of_Program else (); val codel=fetchcode3(!sizen) in vv3(codel) end; fun vrun1()=(vstep1();vrun1()) handle End_of_Program => output(std_out,"End of program.\nTotal runtime: " ^ims(!runcount)^" steps.\n"); fun vrun2()=(vstep2(); vrun2()) handle End_of_Program => output(std_out,"End of program.\nTotal runtime: " ^ims(!runcount)^" steps.\n")| Data_dependency_checked=> output(std_out,"Program halted.\n") ; fun vrun3()=(vstep3(); vrun3()) handle End_of_Program => output(std_out,"End of program.\nTotal runtime: " ^ims(!runcount)^" substeps.\n"); fun vpc()=let val codel=(!IP) ; fun f (_,nil)=() | f (0,_)= () | f (k,h::l)=if k<=0 then () else (output(std_out,disp(h) ); if hvnop(h) then f(k,l) else f(k-1,l) ) in f((!sizen),codel) end; (* This part for Pipeline mode *) exception illegal_jump_within_branchdelay; exception illegal_branch_within_branchdelay; exception illegal_label_within_branchdelay; exception illegal_labword_within_branchdelay; exception illegal_word_within_branchdelay; (* Rdelay points to the timing array of registers. *) val Rdelay=ref ( array(0,0) ); (* clock records run time. withindelay is a flag used in BRANCH and JUMP delays. *) val clock=ref 0 and withindelay=ref false; val fdelay=ref 1 and ardelay: ((arithop->int) ref)=ref (fn k=>1) and jdelay=ref 1; (* pexec executes one instruction, increasing the clock when necessary, which corresponding to the holding down of instruction streams. *) fun pexec(FETCH{immutable=_,offset=ofst,ptr=(p,_),dst=(d,_)})= (let val t=(!Rdelay) sub p in if (!clock) (i:=(!jdelay) ) ; (IP:=tl(!IP)) handle Tl=>() ) end; execjmp((!Reg) sub d) ) | pexec(BRANCH{test=comp,src1=(s1,_),src2=(s2,_),dst=(labnum,_),...})= if (!withindelay) then raise illegal_branch_within_branchdelay else (let val t1=((!Rdelay) sub s1) and t2=((!Rdelay) sub s2); val t=Int.max(t1,t2) in if (!clock) (i:=(!jdelay) ) ; (IP:=tl(!IP)) handle Tl=>() ) end; if compare(comp,(!Reg) sub s1,(!Reg) sub s2) then (IP:= !(findjmp_place(labnum) ) ) else () ) | pexec(NOP)=Ref.inc(clock) | pexec(LABEL{...})=if (!withindelay) then raise illegal_label_within_branchdelay else () | pexec(LABWORD{...})=if (!withindelay) then raise illegal_labword_within_branchdelay else () | pexec(WORD{...})=if (!withindelay) then raise illegal_word_within_branchdelay else () ; fun pinit(fetchdelay,arithdelay,jumpdelay,l)= (init(l); Rdelay:=array((!RegN),0); clock:=0; fdelay:=fetchdelay; ardelay:=arithdelay; jdelay:=jumpdelay ); fun pstep()= let val Instruction=(hd(!IP) handle Hd=>raise End_of_Program) in (IP:=tl(!IP) handle Tl=>raise End_of_Program; withindelay:=false; pexec(Instruction) ) end; fun prun()=(pstep(); prun() ) handle End_of_Program=> (output(std_out,"End of program.\n"); output(std_out,"Total time used: "^ims(!clock)^" cycles.\n") ); end; structure SimStuff = struct fun read file = let val if1 = (open_in "simprelude.s") val if2 = (open_in file) val if3 = (open_in "simpostlude.s") val prelude = ReadAbs.read if1 val prog = ReadAbs.read if2 val postlude = ReadAbs.read if3 in close_in if1; close_in if2; close_in if3; prelude @ prog @ postlude end fun init file = SetEnv.init (read file) val runcount = ref 0 fun run ()= let open AbsMach val foo = runcount := 0 fun updc NOP = runcount := !runcount + 1 | updc _ = () open SetEnv fun f () = (step(); (updc o hd o pc)(); f()) in f() end fun srun () = let open SetEnv in d_pc(); step(); srun() end; fun memsave () = !SetEnv.Memory fun memcmp(a:AbsMach.values array, b:AbsMach.values array) = let open AbsMach fun cmp (INT a, INT b) = a = b | cmp (REAL a, REAL b) = realEq(a, b) | cmp (LABVAL _, LABVAL _) = true | cmp _ = false fun f 0 = ~1 | f n = if cmp((a sub n), (b sub n)) then f (n - 1) else n val al = Array.length a val bl = Array.length b in if al = bl then f (al - 1) else (print "size\n"; 0) end fun copyarray a = let val la = Array.length a val na = array(la, a sub 0) fun f n = if n > 0 then (update(na, n, a sub n) ; f (n - 1)) else () val foo = f (la - 1) in na end exception PROG_NO_END local open AbsMach in fun vstring (INT i) = "INT " ^ makestring i | vstring (REAL i) = "REAL " ^ Real.toString i | vstring (LABVAL(i, j)) = "LABVAL(" ^ makestring i ^ ", " ^ makestring j ^ ")" end fun runf f = ((init f; run (); raise PROG_NO_END)) handle End_of_Program => (print "eop\n"; SetEnv.regc 4) fun cmprog(f1, f2) = let open AbsMach fun intof (INT i) = i fun ptsat p = SetEnv.mcell (intof p) val p1 = runf f1 (* val foo = print ("cmprog1:" ^ vstring p1 ^ "\n") *) val v1 = ptsat p1 val r1 = !runcount val p2 = runf f2 (* val foo = print ("cmprog2:" ^ vstring p2 ^ "\n") *) val v2 = ptsat p2 val r2 = !runcount in (f1 ^ " ct " ^ makestring r1 ^ " ptr " ^ vstring p1 ^ " val " ^ vstring v1 ^ f2 ^ " ct " ^ makestring r2 ^ " ptr " ^ vstring p2 ^ " val " ^ vstring v2 ^ "\n") end end fun time str f = let (* open System.Timer val s = start_timer() *) val v = f() (* val e = check_timer s val foo = print (str ^ " took " ^ makestring e ^ "sec.usec\n") *) in v end fun writeprog(file, j, p) = let val ot = (open_out file) val prog = ReadI.writeI(j, p) val filp = (Delay.rm_bogus o OutFilter.remnops) prog val xxx = PrintAbs.show ot filp in close_out ot end; fun wp(file, prog) = let val ot = (open_out file) val filp = Delay.rm_bogus prog val xxx = PrintAbs.show ot filp in close_out ot end; fun dodelay i = (Delay.init i; Delay.add_delay i); val _ = ( Node.move_test_debug := false; Node.move_op_debug := false; Node.rw_debug := false; Node.delete_debug := false; Node.ntn_debug := true; Node.prog_node_debug := false; Node.prog_node_debug_verbose := false; Node.closure_progs_debug := false; Node.cpsiCheck := false; Compress.compress_debug := false; ReadI.read_debug := false; ReadI.write_debug := false; ReadI.live_debug := false ) fun pm pl = print (StrPak.stringListString (map ReadI.progMap pl)); fun pp pl = print (StrPak.stringListString (map PrintAbs.str pl)); fun ndnm nil = raise Node.NAMETONODE | ndnm(h::t) = (fn (nm) => Node.nameToNode(h, nm) handle Node.NAMETONODE => ndnm t nm); exception ERROR; fun err (s:string) = (print s; raise ERROR); fun pmem nil = (err "oh well") | pmem ((ns, n0, f)::t) = fn n => if Set.member(ns, n) then (ns, n0, f) else pmem t n; structure Main = struct fun doitx (ifile:string, ofile:string, c_ofile:string, ws:int) = let val foo = Ntypes.init_names() val i = (dodelay o BreakInst.breaki o ReadAbs.read o open_in) ifile val (j, p) = time "Building Nodes" (fn () => ReadI.readI i) val x = time "writing unopt" (fn () => writeprog(ofile, j, p)) fun cwin p = Compress.compress(ws, p) val cp = time "compressing program" (fn () => map cwin p) val xx = time "writing opt program" (fn () => writeprog(c_ofile, j, cp)) val answer = "" (* SimStuff.cmprog(ofile, c_ofile) *) val code_motions = Ntypes.new_name "0" in print (answer ^ "code_motions " ^ code_motions ^ " \n") end fun main(s:string list, env:string list) = let val idemp = ref 0 val ws = ref 0 val ifile = ref "/dev/null" val ofile = ref "/dev/null" val c_ofile = ref "/dev/null" val gotifile = ref false val gotofile = ref false fun digit d = if ord d >= ord "0" andalso ord d <= ord "9" then ord d - ord "0" else err ("expected digit. got " ^ d) val parse = fn ("-" :: "i" :: "d" :: "e" :: "m" :: d :: nil) => idemp := digit d | ("-" :: "w" :: "s" :: d :: nil) => ws := digit d | ("-" :: t) => (print ("usage: comp [-ws#] [-idem#]" ^ "input_file temp_file compressed_file\n"); print ("ws is the window size\nidem is the idempotency\n"); err "exiting") | s => if !gotofile then c_ofile := implode s else if !gotifile then (gotofile := true; ofile := implode s) else (gotifile := true; ifile := implode s) val foo = List.app (parse o explode) (tl s) val foo = print ("compressing " ^ !ifile ^ " into (uncompressed)" ^ !ofile ^ " and (compressed)" ^ !c_ofile ^ " with idempotency " ^ makestring (!idemp) ^ " and window size " ^ makestring (!ws) ^ "\n") in Delay.idempotency := !idemp; doitx(!ifile, !ofile, !c_ofile, !ws) end val s = OS.FileSys.getDir() fun doit() = main(["foobar", "-ws9", s^"/DATA/ndotprod.s", s^"/DATA/tmp.s", s^"/DATA/cmp.s"], nil) fun testit _ = () end end (* toplevel local *) in structure Main : BMARK = Main end smlsharp-1.2.0/benchmark/benchmarks_light0000755 000000000000000000000000012050661606020662 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks_light/count_graphs_light0000755 000000000000000000000000012050661606024545 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks_light/count_graphs_light/basis_simple.smi0000644 000000000000000000000212012050661606030003 0ustar00rootroot0000000 0000000 infix 7 * / div mod infix 6 + - ^ infixr 5 :: @ infix 4 = <> > >= < <= infix 3 := o infix 0 before val + = _builtin val Int_add_noov : int * int -> int val - = _builtin val Int_sub_noov : int * int -> int val * = _builtin val Int_mul_noov : int * int -> int val < = _builtin val Int_lt : int * int -> bool val > = _builtin val Int_gt : int * int -> bool val >= = _builtin val Int_gteq : int * int -> bool val := = _builtin val Ref_assign : 'a ref * 'a -> unit structure PrimString = struct val size = _builtin val String_size : string -> int val copy_unsafe = _builtin val String_copy_unsafe : string * int * string * int * int -> unit end structure Word = struct val fromInt = _builtin val Word_fromInt : int -> word end structure PrimArray = struct val array = _builtin val Array_array : int * 'a -> 'a array val update = _builtin val Array_update : 'a array * int * 'a -> unit val sub = _builtin val Array_sub : 'a array * int -> 'a val vector = _builtin val Array_vector : int * 'a -> 'a array val length = _builtin val Array_length : 'a array -> int end smlsharp-1.2.0/benchmark/benchmarks_light/count_graphs_light/count-graphs.smi0000644 000000000000000000000003512050661606027746 0ustar00rootroot0000000 0000000 _require "basis_simple.smi" smlsharp-1.2.0/benchmark/benchmarks_light/count_graphs_light/count-graphs.sml0000644 000000000000000000004210512050661606027755 0ustar00rootroot0000000 0000000 _interface "count-graphs.smi" infix 6 ^ fun ! (ref x) = x fun op <> (x, y) = if x = y then false else true fun rev l = let fun loop (l,nil) = l | loop (l,h::t) = loop (h::l,t) in loop (nil,l) end val print = _import "prim_print" : __attribute__((no_callback)) string -> unit val ya_String_allocateImmutableNoInit = _import "prim_String_allocateImmutableNoInit" : __attribute__((pure,no_callback,alloc)) word -> string structure Int = struct val toString = _import "prim_Int_toString" : __attribute__((pure,no_callback,alloc)) int -> string end fun x ^ y = let val n1 = PrimString.size x val n2 = PrimString.size y val newstr = ya_String_allocateImmutableNoInit (Word.fromInt (n1 + n2)) in PrimString.copy_unsafe (x, 0, newstr, 0, n1); PrimString.copy_unsafe (y, 0, newstr, n1, n2); newstr end structure Array = struct open PrimArray fun tabulate (n, f) = if n < 0 then raise Size else if n = 0 then array(0, f 0) else let val e = f 0 val v = array (n, e) fun loop i = if i < n then (update (v, i, f i); loop (i+1)) else () in loop 0; v end end structure Vector = struct open PrimArray fun tabulate (n, f) = if n < 0 then raise Size else if n = 0 then Array.vector(0, f 0) else let val e = f 0 val v = Array.vector (n, e) fun loop i = if i < n then (Array.update (v, i, f i); loop (i+1)) else () in loop 0; v end end structure List = struct fun app f nil = nil | app f (h::t) = let val () = f h in app f t end fun tabulate (n, f) = let fun loop i = if i < n then f i :: loop (i+1) else nil in loop 0 end end (* structure Int = struct fun toString x = end *) (* * My favorite high-order procedure. *) fun fold (lst, folder, state) = let fun loop (lst, state) = case lst of [] => state | first::rest => loop (rest, folder (first, state)) in loop (lst, state) end; fun naturalFold (limit, folder, state) = if limit < 0 then raise Domain else let fun loop (i, state) = if i = limit then state else loop (i+1, folder (i, state)) in loop (0, state) end; fun naturalAny (limit, ok) = if limit < 0 then raise Domain else let fun loop i = i <> limit andalso (ok i orelse loop (i+1)) in loop 0 end; fun naturalAll (limit, ok) = if limit < 0 then raise Domain else let fun loop i = i = limit orelse (ok i andalso loop (i+1)) in loop 0 end; (* * Fold over all permutations. * Universe is a list of all the items to be permuted. * pFolder is used to build up the permutation. It is called via * pFolder (next, pState, state, accross) * where next is the next item in the permutation, pState is the * partially constructed permutation and state is the current fold * state over permutations that have already been considered. * If pFolder knows what will result from folding over all permutations * descending from the resulting partial permutation (starting at state), * it should raise the accross exception carrying the new state value. * If pFolder wants to continue building up the permutation, it should * return (newPState, newState). * When a permutation has been completely constructed, folder is called * via * folder (pState, state) * where pState is the final pState and state is the current state. * It should return the new state. *) fun 'a foldOverPermutations (universe, pFolder, pState, folder, state: 'a) = let exception accross of 'a fun outer (universe, pState, state) = case universe of [] => folder (pState, state) | first::rest => let fun inner (first, rest, revOut, state) = let val state = let val (newPState, state) = pFolder (first, pState, state, accross) in outer (fold (revOut, op ::, rest), newPState, state) end handle accross state => state in case rest of [] => state | second::rest => inner (second, rest, first::revOut, state) end in inner (first, rest, [], state) end in outer (universe, pState, state) end; (* * Fold over all arrangements of bag elements. * Universe is a list of lists of items, with equivalent items in the * same list. * pFolder is used to build up the permutation. It is called via * pFolder (next, pState, state, accross) * where next is the next item in the permutation, pState is the * partially constructed permutation and state is the current fold * state over permutations that have already been considered. * If pFolder knows what will result from folding over all permutations * descending from the resulting partial permutation (starting at state), * it should raise the accross exception carrying the new state value. * If pFolder wants to continue building up the permutation, it should * return (newPState, newState). * When a permutation has been completely constructed, folder is called * via * folder (pState, state) * where pState is the final pState and state is the current state. * It should return the new state. *) fun 'a foldOverBagPerms (universe, pFolder, pState, folder, state: 'a) = let exception accross of 'a fun outer (universe, pState, state) = case universe of [] => folder (pState, state) | (fbag as (first::fclone))::rest => let fun inner (fbag, first, fclone, rest, revOut, state) = let val state = let val (newPState, state) = pFolder (first, pState, state, accross) in outer (fold (revOut, op ::, case fclone of [] => rest | _ => fclone::rest), newPState, state) end handle accross state => state in case rest of [] => state | (sbag as (second::sclone))::rest => inner (sbag, second, sclone, rest, fbag::revOut, state) end in inner (fbag, first, fclone, rest, [], state) end in outer (universe, pState, state) end; (* * Fold over the tree of subsets of the elements of universe. * The tree structure comes from the root picking if the first element * is in the subset, etc. * eFolder is called to build up the subset given a decision on wether * or not a given element is in it or not. It is called via * eFolder (elem, isinc, eState, state, fini) * If this determines the result of folding over all the subsets consistant * with the choice so far, then eFolder should raise the exception * fini newState * If we need to proceed deeper in the tree, then eFolder should return * the tuple * (newEState, newState) * folder is called to buld up the final state, folding over subsets * (represented as the terminal eStates). It is called via * folder (eState, state) * It returns the new state. * Note, the order in which elements are folded (via eFolder) is the same * as the order in universe. *) fun 'a foldOverSubsets (universe, eFolder, eState, folder, state: 'a) = let exception fini of 'a fun f (first, rest, eState) (isinc, state) = let val (newEState, newState) = eFolder (first, isinc, eState, state, fini) in outer (rest, newEState, newState) end handle fini state => state and outer (universe, eState, state) = case universe of [] => folder (eState, state) | first::rest => let val f = f (first, rest, eState) in f (false, f (true, state)) end in outer (universe, eState, state) end; fun f universe = foldOverSubsets (universe, fn (elem, isinc, set, state, _) => (if isinc then elem::set else set, state), [], fn (set, sets) => set::sets, []); (* * Given a partitioning of [0, size) into equivalence classes (as a list * of the classes, where each class is a list of integers), and where two * vertices are equivalent iff transposing the two is an automorphism * of the full subgraph on the vertices [0, size), return the equivalence * classes for the graph. The graph is provided as a connection function. * In the result, two equivalent vertices in [0, size) remain equivalent * iff they are either both connected or neither is connected to size. * The vertex size is equivalent to a vertex x in [0, size) iff * connected (size, y) = connected (x, if y = x then size else y) * for all y in [0, size). *) fun refine (size: int, classes: int list list, connected: int*int -> bool): int list list = let fun sizeMatch x = (* Check if vertex size is equivalent to vertex x. *) naturalAll (size, fn y => connected (size, y) = connected (x, if y = x then size else y)) fun merge (class, (merged, classes)) = (* Add class into classes, testing if size should be merged. *) if merged then (true, (rev class)::classes) else let val first::_ = class in if sizeMatch first then (true, fold (class, op ::, [size])::classes) else (false, (rev class)::classes) end fun split (elem, (yes, no)) = if connected (elem, size) then (elem::yes, no) else (yes, elem::no) fun subdivide (class, state) = case class of [first] => merge (class, state) | _ => case fold (class, split, ([], [])) of ([], no) => merge (no, state) | (yes, []) => merge (yes, state) | (yes, no) => merge (no, merge (yes, state)) in case fold (classes, subdivide, (false, [])) of (true, classes) => rev classes | (false, classes) => fold (classes, op ::, [[size]]) end; (* * Given a count of the number of vertices, a partitioning of the vertices * into equivalence classes (where two vertices are equivalent iff * transposing them is a graph automorphism), and a function which, given * two distinct vertices, returns a bool indicating if there is an edge * connecting them, check if the graph is minimal. * If it is, return * SOME how-many-clones-we-walked-through * If not, return NONE. * A graph is minimal iff its connection matrix is (weakly) smaller * then all its permuted friends, where true is less than false, and * the entries are compared lexicographically in the following order: * - * 0 - * 1 2 - * 3 4 5 - * ... * Note, the vertices are the integers in [0, nverts). *) fun minimal (nverts: int, classes: int list list, connected: int*int -> bool): int option = let val perm = Array.array (nverts, ~1) exception fini fun pFolder (new, old, state, accross) = let fun loop v = if v = old then (Array.update (perm, old, new); (old + 1, state)) else case (connected (old, v), connected (new, Array.sub (perm, v))) of (true, false) => raise (accross state) | (false, true) => raise fini | _ => loop (v + 1) in loop 0 end fun folder (_, state) = state + 1 in SOME (foldOverBagPerms ( classes, pFolder, 0, folder, 0)) handle fini => NONE end; (* * Fold over the tree of graphs. * * eFolder is used to fold over the choice of edges via * eFolder (from, to, isinc, eState, state, accross) * with from > to. * * If eFolder knows the result of folding over all graphs which agree * with the currently made decisions, then it should raise the accross * exception carrying the resulting state as a value. * * To continue normally, it should return the tuple * (newEState, newState) * * When all decisions are made with regards to edges from `from', folder * is called via * folder (size, eState, state, accross) * where size is the number of vertices in the graph (the last from+1) and * eState is the final eState for edges from `from'. * * If folder knows the result of folding over all extensions of this graph, * it should raise accross carrying the resulting state as a value. * * If extensions of this graph should be folded over, it should return * the new state. *) fun ('a, 'b) foldOverGraphs (eFolder, eState: 'a, folder, state: 'b) = let exception noextend of 'b fun makeVertss limit = Vector.tabulate (limit, fn nverts => List.tabulate (nverts, fn v => v)) val vertss = ref (makeVertss 0) fun findVerts size = ( if size >= Vector.length (!vertss) then vertss := makeVertss (size + 1) else (); Vector.sub (!vertss, size)) fun f (size, eState, state) = let val state = folder (size, eState, state, noextend) in g (size+1, state) end handle noextend state => state and g (size, state) = let val indices = findVerts (size - 1) fun SeFolder (to, isinc, eState, state, accross) = eFolder (size-1, to, isinc, eState, state, accross) fun Sf (eState, state) = f (size, eState, state) in foldOverSubsets ( indices, SeFolder, eState, Sf, state) end in f (0, eState, state) end; (* * Given the size of a graph, a list of the vertices (the integers in * [0, size)), and the connected function, check if for all full subgraphs, * 3*V - 4 - 2*E >= 0 or V <= 1 * where V is the number of vertices and E is the number of edges. *) local fun short lst = case lst of [] => true | [_] => true | _ => false; in fun okSoFar (size, verts, connected) = let exception fini of unit fun eFolder (elem, isinc, eState as (ac, picked), _, accross) = (if isinc then (fold (picked, fn (p, ac) => if connected (elem, p) then ac - 2 else ac, ac + 3), elem::picked) else eState, ()) fun folder ((ac, picked), state) = if ac >= 0 orelse short picked then state else raise (fini ()) in (foldOverSubsets ( verts, eFolder, (~4, []), folder, ()); true) handle fini () => false end end; fun showGraph (size, connected) = naturalFold (size, fn (from, _) => ( print ((Int.toString from) ^ ":"); naturalFold (size, fn (to, _) => if from <> to andalso connected (from, to) then print (" " ^ (Int.toString to)) else (), ()); print "\n"), ()); fun showList (start, sep, stop, trans) lst = ( start (); case lst of [] => () | first::rest => ( trans first; fold (rest, fn (item, _) => ( sep (); trans item), ())); stop ()); val showIntList = showList ( fn () => print "[", fn () => print ", ", fn () => print "]", fn i => print (Int.toString i)); val showIntListList = showList ( fn () => print "[", fn () => print ", ", fn () => print "]", showIntList); fun h (maxSize, folder, state) = let val ctab = Array.tabulate (maxSize, fn v => Array.array (v, false)) val classesv = Array.array (maxSize+1, []) fun connected (from, to) = let val (from, to) = if from > to then (from, to) else (to, from) in Array.sub (Array.sub (ctab, from), to) end fun update (from, to, value) = let val (from, to) = if from > to then (from, to) else (to, from) in Array.update (Array.sub (ctab, from), to, value) end fun triangle (vnum, e) = naturalAny (e, fn f => connected (vnum, f) andalso connected (e, f)) fun eFolder (from, to, isinc, _, state, accross) = if isinc andalso triangle (from, to) then raise (accross state) else ( update (from, to, isinc); ((), state)) fun Gfolder (size, _, state, accross) = ( if size <> 0 then Array.update (classesv, size, refine (size-1, Array.sub (classesv, size-1), connected)) else (); case minimal (size, Array.sub (classesv, size), connected) of NONE => raise (accross state) | SOME eatMe => if okSoFar (size, List.tabulate (size, fn v => v), connected) then let val state = folder (size, connected, state) in if size = maxSize then raise (accross state) else state end else raise (accross state)) in foldOverGraphs (eFolder, (), Gfolder, state) end; local fun final (size: int, connected: int * int -> bool): int = naturalFold (size, fn (from, ac) => naturalFold (from, fn (to, ac) => if connected (from, to) then ac - 2 else ac, ac), 3*size - 4) in fun f maxSize = h (maxSize, fn (size, connected, state) => if final (size, connected) = 0 then state + 1 else state, 0) end; fun doOne arg = ( print (Int.toString arg ^ " -> "); case arg of n => print ((Int.toString (f n)) ^ "\n") ) structure Main = struct fun doit() = List.app doOne [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] val doit = fn () => let fun loop n = if n = 0 then () else (doit(); loop(n-1)) in loop 3 end end; val _ = Main.doit() smlsharp-1.2.0/benchmark/benchmarks_light/fft_light0000755 000000000000000000000000012050661606022630 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks_light/fft_light/fft.sml0000644 000000000000000000002140212050661606024202 0ustar00rootroot0000000 0000000 _interface "fft.smi" val dtoa = _import "sml_dtoa" : __attribute__((no_callback)) (real, int, int, int ref, int ref, char ptr ptr) -> char ptr val freedtoa = _import "sml_freedtoa" : __attribute__((no_callback)) char ptr -> unit val str_new = _import "sml_str_new" : __attribute__((no_callback,alloc)) char ptr -> string val ya_String_allocateImmutableNoInit = _import "prim_String_allocateImmutableNoInit" : __attribute__((pure,no_callback,alloc)) word -> string fun ! (ref x) = x fun op ^ (x:string, y:string) : string = let val n1 = SMLSharp.PrimString.size x val n2 = SMLSharp.PrimString.size y val newstr = ya_String_allocateImmutableNoInit (Word.fromInt (n1 + n2)) in SMLSharp.PrimString.copy_unsafe (x, 0, newstr, 0, n1); SMLSharp.PrimString.copy_unsafe (y, 0, newstr, n1, n2); newstr end infix 6 ^ structure Array = struct val sub = SMLSharp.PrimArray.sub_unsafe val update = SMLSharp.PrimArray.update_unsafe val array = SMLSharp.PrimArray.array end structure Math = struct val cos = _import "cos" : real -> real val sin = _import "sin" : real -> real end structure Int = struct open Int val toString = _import "prim_Int_toString" : __attribute__((alloc)) int -> string end structure Real = struct open Real fun toString (d:real) : string = let val decpt = ref 0 val sign = ref 0 val s = dtoa (d, 2, 8, decpt, sign, (_cast(_NULL):char ptr ptr)) val str = str_new s val _ = freedtoa s val str = "." ^ str val str = if !sign = 0 then str else "~" ^ str in str ^ "E" ^ Int.toString (!decpt) end end val print = _import "prim_print" : string -> unit infix 6 o fun f o g = fn x => f (g x) structure Main = struct local open Array Math val printr = print o Real.toString val printi = print o Int.toString in val PI = 3.14159265358979323846 val tpi = 2.0 * PI fun fft px py np = let fun find_num_points i m = if i < np then find_num_points (i+i) (m+1) else (i,m) val (n,m) = find_num_points 2 1 in if n = np then () else let fun loop i = if i > n then () else ( SMLSharp.PrimArray.update_unsafe(px, i, 0.0); SMLSharp.PrimArray.update_unsafe(py, i, 0.0); loop (i+1)) in loop (np+1); print "Use "; printi n; print " point fft\n" end; let fun loop_k k n2 = if k >= m then () else let val n4 = n2 div 4 val e = tpi / (Real.fromInt n2) fun loop_j j a = if j > n4 then () else let val a3 = 3.0 * a val cc1 = cos(a) val ss1 = sin(a) val cc3 = cos(a3) val ss3 = sin(a3) fun loop_is is id = if is >= n then () else let fun loop_i0 i0 = if i0 >= n then () else let val i1 = i0 + n4 val i2 = i1 + n4 val i3 = i2 + n4 val r1 = SMLSharp.PrimArray.sub_unsafe(px, i0) - SMLSharp.PrimArray.sub_unsafe(px, i2) val _ = SMLSharp.PrimArray.update_unsafe(px, i0, SMLSharp.PrimArray.sub_unsafe(px, i0) + SMLSharp.PrimArray.sub_unsafe(px, i2)) val r2 = SMLSharp.PrimArray.sub_unsafe(px, i1) - SMLSharp.PrimArray.sub_unsafe(px, i3) val _ = SMLSharp.PrimArray.update_unsafe(px, i1, SMLSharp.PrimArray.sub_unsafe(px, i1) + SMLSharp.PrimArray.sub_unsafe(px, i3)) val s1 = SMLSharp.PrimArray.sub_unsafe(py, i0) - SMLSharp.PrimArray.sub_unsafe(py, i2) val _ = SMLSharp.PrimArray.update_unsafe(py, i0, SMLSharp.PrimArray.sub_unsafe(py, i0) + SMLSharp.PrimArray.sub_unsafe(py, i2)) val s2 = SMLSharp.PrimArray.sub_unsafe(py, i1) - SMLSharp.PrimArray.sub_unsafe(py, i3) val _ = SMLSharp.PrimArray.update_unsafe(py, i1, SMLSharp.PrimArray.sub_unsafe(py, i1) + SMLSharp.PrimArray.sub_unsafe(py, i3)) val s3 = r1 - s2 val r1 = r1 + s2 val s2 = r2 - s1 val r2 = r2 + s1 val _ = SMLSharp.PrimArray.update_unsafe(px, i2, r1*cc1 - s2*ss1) val _ = SMLSharp.PrimArray.update_unsafe(py, i2, ~s2*cc1 - r1*ss1) val _ = SMLSharp.PrimArray.update_unsafe(px, i3, s3*cc3 + r2*ss3) val _ = SMLSharp.PrimArray.update_unsafe(py, i3, r2*cc3 - s3*ss3) in loop_i0 (i0 + id) end in loop_i0 is; loop_is (2 * id - n2 + j) (4 * id) end in loop_is j (2 * n2); loop_j (j+1) (e * Real.fromInt j) end in loop_j 1 0.0; loop_k (k+1) (n2 div 2) end in loop_k 1 n end; (************************************) (* Last stage, length=2 butterfly *) (************************************) let fun loop_is is id = if is >= n then () else let fun loop_i0 i0 = if i0 > n then () else let val i1 = i0 + 1 val r1 = SMLSharp.PrimArray.sub_unsafe(px, i0) val _ = SMLSharp.PrimArray.update_unsafe(px, i0, r1 + SMLSharp.PrimArray.sub_unsafe(px, i1)) val _ = SMLSharp.PrimArray.update_unsafe(px, i1, r1 - SMLSharp.PrimArray.sub_unsafe(px, i1)) val r1 = SMLSharp.PrimArray.sub_unsafe(py, i0) val _ = SMLSharp.PrimArray.update_unsafe(py, i0, r1 + SMLSharp.PrimArray.sub_unsafe(py, i1)) val _ = SMLSharp.PrimArray.update_unsafe(py, i1, r1 - SMLSharp.PrimArray.sub_unsafe(py, i1)) in loop_i0 (i0 + id) end in loop_i0 is; loop_is (2*id - 1) (4 * id) end in loop_is 1 4 end; (*************************) (* Bit reverse counter *) (*************************) let fun loop_i i j = if i >= n then () else (if i < j then (let val xt = SMLSharp.PrimArray.sub_unsafe(px, j) in SMLSharp.PrimArray.update_unsafe(px, j, SMLSharp.PrimArray.sub_unsafe(px, i)); SMLSharp.PrimArray.update_unsafe(px, i, xt) end; let val xt = SMLSharp.PrimArray.sub_unsafe(py, j) in SMLSharp.PrimArray.update_unsafe(py, j, SMLSharp.PrimArray.sub_unsafe(py, i)); SMLSharp.PrimArray.update_unsafe(py, i, xt) end) else (); let fun loop_k k j = if k < j then loop_k (k div 2) (j-k) else j+k val j' = loop_k (n div 2) j in loop_i (i+1) j' end) in loop_i 1 1 end; n end fun abs x = if x >= 0.0 then x else ~x fun test np = let val _ = (printi np; print "... ") val enp = Real.fromInt np val npm = (np div 2) - 1 val pxr = SMLSharp.PrimArray.array (np+2, 0.0) val pxi = SMLSharp.PrimArray.array (np+2, 0.0) val t = PI / enp val _ = SMLSharp.PrimArray.update_unsafe(pxr, 1, (enp - 1.0) * 0.5) val _ = SMLSharp.PrimArray.update_unsafe(pxi, 1, 0.0) val n2 = np div 2 val _ = SMLSharp.PrimArray.update_unsafe(pxr, n2+1, ~0.5) val _ = SMLSharp.PrimArray.update_unsafe(pxi, n2+1, 0.0) fun loop_i i = if i > npm then () else let val j = np - i val _ = SMLSharp.PrimArray.update_unsafe(pxr, i+1, ~0.5) val _ = SMLSharp.PrimArray.update_unsafe(pxr, j+1, ~0.5) val z = t * Real.fromInt i val y = ~0.5*(cos(z)/sin(z)) val _ = SMLSharp.PrimArray.update_unsafe(pxi, i+1, y) val _ = SMLSharp.PrimArray.update_unsafe(pxi, j+1, ~y) in loop_i (i+1) end val _ = loop_i 1 (*** val _ = print "\n" fun loop_i i = if i > 15 then () else (print i; print "\t"; print (SMLSharp.PrimArray.sub_unsafe(pxr, i+1)); print "\t"; print (SMLSharp.PrimArray.sub_unsafe(pxi, i+1)); print "\n"; loop_i (i+1)) val _ = loop_i 0 ***) val _ = fft pxr pxi np (*** fun loop_i i = if i > 15 then () else (print i; print "\t"; print (SMLSharp.PrimArray.sub_unsafe(pxr, i+1)); print "\t"; print (SMLSharp.PrimArray.sub_unsafe(pxi, i+1)); print "\n"; loop_i (i+1)) val _ = loop_i 0 ***) fun loop_i i zr zi kr ki = if i >= np then (zr,zi) else let val a = abs(SMLSharp.PrimArray.sub_unsafe(pxr, i+1) - Real.fromInt i) val (zr, kr) = if zr < a then (a, i) else (zr, kr) val a = abs(SMLSharp.PrimArray.sub_unsafe(pxi, i+1)) val (zi, ki) = if zi < a then (a, i) else (zi, ki) in loop_i (i+1) zr zi kr ki end val (zr, zi) = loop_i 0 0.0 0.0 0 0 val zm = if abs zr < abs zi then zi else zr in printr zm; print "\n" end fun loop_np i np = if i > 13 then () else (test np; loop_np (i+1) (np*2)) fun doit () = (let val s = (Real.toString 1.23) in loop_np 1 16 end) fun testit outstream = doit() end end; smlsharp-1.2.0/benchmark/benchmarks_light/fft_light/load.sml0000644 000000000000000000000003612050661606024342 0ustar00rootroot0000000 0000000 use "./fft.sml"; Main.doit(); smlsharp-1.2.0/benchmark/benchmarks_light/knuth_bendix_light0000755 000000000000000000000000012050661606024533 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks_light/knuth_bendix_light/basis_simple.smi0000644 000000000000000000000046312050661606030001 0ustar00rootroot0000000 0000000 infix 7 * / div mod infix 6 + - ^ infixr 5 :: @ infix 4 = <> > >= < <= infix 3 := o infix 0 before val + = _builtin val Int_add_noov : int * int -> int val - = _builtin val Int_sub_noov : int * int -> int val > = _builtin val Int_gt : int * int -> bool val < = _builtin val Int_lt : int * int -> bool smlsharp-1.2.0/benchmark/benchmarks_light/knuth_bendix_light/knuth-bendix.smi0000644 000000000000000000000003412050661606027721 0ustar00rootroot0000000 0000000 _require "basis_simple.smi" smlsharp-1.2.0/benchmark/benchmarks_light/knuth_bendix_light/knuth-bendix.sml0000644 000000000000000000004456612050661606027746 0ustar00rootroot0000000 0000000 (* knuth-bendix.sml * * How to compile: * * smlsharp -c knuth-bendix.sml * * Then you will obtain an object file knuth-bendix.o. * * How to link: * * gcc -o knuth-bendix \ * knuth-bendix.o \ * ../../../src/nativeruntime/smlsharp_entry.o \ * ../../../src/nativeruntime/libsmlsharp.a \ * -ldl -lgmp -lm * * Then you will obtain an executable file knuth-bendix. * *) _interface "knuth-bendix.smi" infix @ o val print = _import "prim_print" : string -> unit val Int_toString = _import "prim_Int_toString" : __attribute__((pure,no_callback,alloc)) int -> string fun op o (f, g) = fn x => f (g x) (* signature KB = sig datatype term = Var of int | Term of string * term list; datatype ordering = Greater | Equal | NotGE; val rpo: (string -> string -> ordering) -> ((term * term -> ordering) -> term * term -> ordering) -> term * term -> ordering; val lex_ext: (term * term -> ordering) -> term * term -> ordering; val kb_complete: (term * term -> bool) -> (int * (int * (term * term))) list -> ('a * ('b * (term * term))) list -> unit; val doit : unit -> unit end *) structure Main (*: KB*) = struct val name = "Knuth-Bendix" fun length l = let fun j(k, nil) = k | j(k, a::x) = j(k+1,x) in j(0,l) end fun op @ (nil, l) = l | op @ (a::r, l) = a :: (r@l) fun rev l = let fun f (nil, h) = h | f (a::r, h) = f(r, a::h) in f(l,nil) end fun app f = let fun app_rec [] = () | app_rec (a::L) = (f a; app_rec L) in app_rec end fun map f = let fun map_rec [] = [] | map_rec (a::L) = f a :: map_rec L in map_rec end (******* Quelques definitions du prelude CAML **************) exception Failure of string; fun failwith s = raise(Failure s) fun fst (x,y) = x and snd (x,y) = y fun it_list f = let fun it_rec a [] = a | it_rec a (b::L) = it_rec (f a b) L in it_rec end fun it_list2 f = let fun it_rec a [] [] = a | it_rec a (a1::L1) (a2::L2) = it_rec (f a (a1,a2)) L1 L2 | it_rec _ _ _ = failwith "it_list2" in it_rec end fun exists p = let fun exists_rec [] = false | exists_rec (a::L) = (p a) orelse (exists_rec L) in exists_rec end fun for_all p = let fun for_all_rec [] = true | for_all_rec (a::L) = (p a) andalso (for_all_rec L) in for_all_rec end fun rev_append [] L = L | rev_append (x::L1) L2 = rev_append L1 (x::L2) fun try_find f = let fun try_find_rec [] = failwith "try_find" | try_find_rec (a::L) = (f a) handle Failure _ => try_find_rec L in try_find_rec end fun partition p = let fun part_rec [] = ([],[]) | part_rec (a::L) = let val (pos,neg) = part_rec L in if p a then ((a::pos), neg) else (pos, (a::neg)) end in part_rec end (* 3- Les ensembles et les listes d'association *) fun mem a = let fun mem_rec [] = false | mem_rec (b::L) = (a=b) orelse mem_rec L in mem_rec end fun union L1 L2 = let fun union_rec [] = L2 | union_rec (a::L) = if mem a L2 then union_rec L else a :: union_rec L in union_rec L1 end fun mem_assoc a = let fun mem_rec [] = false | mem_rec ((b,_)::L) = (a=b) orelse mem_rec L in mem_rec end fun assoc a = let fun assoc_rec [] = failwith "find" | assoc_rec ((b,d)::L) = if a=b then d else assoc_rec L in assoc_rec end (* 4- Les sorties *) val print_string = print val print_num = print o Int_toString fun print_newline () = print "\n"; fun message s = (print s; print "\n"); (* 5- Les ensembles *) fun union L1 = let fun union_rec [] = L1 | union_rec (a::L) = if mem a L1 then union_rec L else a :: union_rec L in union_rec end (****************** Term manipulations *****************) datatype term = Var of int | Term of string * term list fun vars (Var n) = [n] | vars (Term(_,L)) = vars_of_list L and vars_of_list [] = [] | vars_of_list (t::r) = union (vars t) (vars_of_list r) fun substitute subst = let fun subst_rec (Term(oper,sons)) = Term(oper, map subst_rec sons) | subst_rec (t as (Var n)) = (assoc n subst) handle Failure _ => t in subst_rec end fun change f = let fun change_rec (h::t) n = if n=1 then f h :: t else h :: change_rec t (n-1) | change_rec _ _ = failwith "change" in change_rec end (* Term replacement replace M u N => M[u<-N] *) fun replace M u N = let fun reprec (_, []) = N | reprec (Term(oper,sons), (n::u)) = Term(oper, change (fn P => reprec(P,u)) sons n) | reprec _ = failwith "replace" in reprec(M,u) end (* matching = - : (term -> term -> subst) *) fun matching term1 term2 = let fun match_rec subst (Var v, M) = if mem_assoc v subst then if M = assoc v subst then subst else failwith "matching" else (v,M) :: subst | match_rec subst (Term(op1,sons1), Term(op2,sons2)) = if op1 = op2 then it_list2 match_rec subst sons1 sons2 else failwith "matching" | match_rec _ _ = failwith "matching" in match_rec [] (term1,term2) end (* A naive unification algorithm *) fun compsubst subst1 subst2 = (map (fn (v,t) => (v, substitute subst1 t)) subst2) @ subst1 fun occurs n = let fun occur_rec (Var m) = (m=n) | occur_rec (Term(_,sons)) = exists occur_rec sons in occur_rec end fun unify ((term1 as (Var n1)), term2) = if term1 = term2 then [] else if occurs n1 term2 then failwith "unify" else [(n1,term2)] | unify (term1, Var n2) = if occurs n2 term1 then failwith "unify" else [(n2,term1)] | unify (Term(op1,sons1), Term(op2,sons2)) = if op1 = op2 then it_list2 (fn s => fn (t1,t2) => compsubst (unify(substitute s t1, substitute s t2)) s) [] sons1 sons2 else failwith "unify" (* We need to print terms with variables independently from input terms obtained by parsing. We give arbitrary names v1,v2,... to their variables. *) val INFIXES = ["+","*"]; fun pretty_term (Var n) = (print_string "v"; print_num n) | pretty_term (Term (oper,sons)) = if mem oper INFIXES then case sons of [s1,s2] => (pretty_close s1; print_string oper; pretty_close s2) | _ => failwith "pretty_term : infix arity <> 2" else (print_string oper; case sons of [] => () | t::lt =>(print_string "("; pretty_term t; app (fn t => (print_string ","; pretty_term t)) lt; print_string ")")) and pretty_close (M as Term(oper, _)) = if mem oper INFIXES then (print_string "("; pretty_term M; print_string ")") else pretty_term M | pretty_close M = pretty_term M (****************** Equation manipulations *************) (* standardizes an equation so its variables are 1,2,... *) fun mk_rule M N = let val all_vars = union (vars M) (vars N); val (k,subst) = it_list (fn (i,sigma) => fn v => (i+1,(v,Var(i))::sigma)) (1,[]) all_vars in (k-1, (substitute subst M, substitute subst N)) end (* checks that rules are numbered in sequence and returns their number *) fun check_rules l = it_list (fn n => fn (k,_) => if k=n+1 then k else failwith "Rule numbers not in sequence") 0 l fun pretty_rule (k,(n,(M,N))) = (print_num k; print_string " : "; pretty_term M; print_string " = "; pretty_term N; print_newline()) fun pretty_rules l = app pretty_rule l (****************** Rewriting **************************) (* Top-level rewriting. Let eq:L=R be an equation, M be a term such that L<=M. With sigma = matching L M, we define the image of M by eq as sigma(R) *) fun reduce L M = substitute (matching L M) (* A more efficient version of can (rewrite1 (L,R)) for R arbitrary *) fun reducible L = let fun redrec M = (matching L M; true) handle Failure _ => case M of Term(_,sons) => exists redrec sons | _ => false in redrec end (* mreduce : rules -> term -> term *) fun mreduce rules M = let fun redex (_,(_,(L,R))) = reduce L M R in try_find redex rules end (* One step of rewriting in leftmost-outermost strategy, with multiple rules *) (* fails if no redex is found *) (* mrewrite1 : rules -> term -> term *) fun mrewrite1 rules = let fun rewrec M = (mreduce rules M) handle Failure _ => let fun tryrec [] = failwith "mrewrite1" | tryrec (son::rest) = (rewrec son :: rest) handle Failure _ => son :: tryrec rest in case M of Term(f, sons) => Term(f, tryrec sons) | _ => failwith "mrewrite1" end in rewrec end (* Iterating rewrite1. Returns a normal form. May loop forever *) (* mrewrite_all : rules -> term -> term *) fun mrewrite_all rules M = let fun rew_loop M = rew_loop(mrewrite1 rules M) handle Failure _ => M in rew_loop M end (* pretty_term (mrewrite_all Group_rules M where M,_=<>);; ==> A*U *) (************************ Recursive Path Ordering ****************************) datatype ordering = Greater | Equal | NotGE; fun ge_ord order pair = case order pair of NotGE => false | _ => true and gt_ord order pair = case order pair of Greater => true | _ => false and eq_ord order pair = case order pair of Equal => true | _ => false fun rem_eq equiv = let fun remrec x [] = failwith "rem_eq" | remrec x (y::l) = if equiv (x,y) then l else y :: remrec x l in remrec end fun diff_eq equiv (x,y) = let fun diffrec (p as ([],_)) = p | diffrec ((h::t), y) = diffrec (t,rem_eq equiv h y) handle Failure _ => let val (x',y') = diffrec (t,y) in (h::x',y') end in if length x > length y then diffrec(y,x) else diffrec(x,y) end (* multiset extension of order *) fun mult_ext order (Term(_,sons1), Term(_,sons2)) = (case diff_eq (eq_ord order) (sons1,sons2) of ([],[]) => Equal | (l1,l2) => if for_all (fn N => exists (fn M => order (M,N) = Greater) l1) l2 then Greater else NotGE) | mult_ext order (_, _) = failwith "mult_ext" (* lexicographic extension of order *) fun lex_ext order ((M as Term(_,sons1)), (N as Term(_,sons2))) = let fun lexrec ([] , []) = Equal | lexrec ([] , _ ) = NotGE | lexrec ( _ , []) = Greater | lexrec (x1::l1, x2::l2) = case order (x1,x2) of Greater => if for_all (fn N' => gt_ord order (M,N')) l2 then Greater else NotGE | Equal => lexrec (l1,l2) | NotGE => if exists (fn M' => ge_ord order (M',N)) l1 then Greater else NotGE in lexrec (sons1, sons2) end | lex_ext order _ = failwith "lex_ext" (* recursive path ordering *) fun rpo op_order ext = let fun rporec (M,N) = if M=N then Equal else case M of Var m => NotGE | Term(op1,sons1) => case N of Var n => if occurs n M then Greater else NotGE | Term(op2,sons2) => case (op_order op1 op2) of Greater => if for_all (fn N' => gt_ord rporec (M,N')) sons2 then Greater else NotGE | Equal => ext rporec (M,N) | NotGE => if exists (fn M' => ge_ord rporec (M',N)) sons1 then Greater else NotGE in rporec end (****************** Critical pairs *********************) (* All (u,sig) such that N/u (&var) unifies with M, with principal unifier sig *) fun super M = let fun suprec (N as Term(_,sons)) = let fun collate (pairs,n) son = (pairs @ map (fn (u,sigma) => (n::u,sigma)) (suprec son), n+1); val insides = fst (it_list collate ([],1) sons) in ([], unify(M,N)) :: insides handle Failure _ => insides end | suprec _ = [] in suprec end (* Ex : let (M,_) = <> and (N,_) = <> in super M N;; ==> [[1],[2,Term ("B",[])]; x <- B [2],[2,Term ("A",[]); 1,Term ("B",[])]] x <- A y <- B *) (* All (u,sigma), u&[], such that N/u unifies with M *) (* super_strict : term -> term -> (num list & subst) list *) fun super_strict M (Term(_,sons)) = let fun collate (pairs,n) son = (pairs @ map (fn (u,sigma) => (n::u,sigma)) (super M son), n+1) in fst (it_list collate ([],1) sons) end | super_strict _ _ = [] (* Critical pairs of L1=R1 with L2=R2 *) (* critical_pairs : term_pair -> term_pair -> term_pair list *) fun critical_pairs (L1,R1) (L2,R2) = let fun mk_pair (u,sigma) = (substitute sigma (replace L2 u R1), substitute sigma R2) in map mk_pair (super L1 L2) end (* Strict critical pairs of L1=R1 with L2=R2 *) (* strict_critical_pairs : term_pair -> term_pair -> term_pair list *) fun strict_critical_pairs (L1,R1) (L2,R2) = let fun mk_pair (u,sigma) = (substitute sigma (replace L2 u R1), substitute sigma R2) in map mk_pair (super_strict L1 L2) end (* All critical pairs of eq1 with eq2 *) fun mutual_critical_pairs eq1 eq2 = (strict_critical_pairs eq1 eq2) @ (critical_pairs eq2 eq1) (* Renaming of variables *) fun rename n (t1,t2) = let fun ren_rec (Var k) = Var(k+n) | ren_rec (Term(oper,sons)) = Term(oper, map ren_rec sons) in (ren_rec t1, ren_rec t2) end (************************ Completion ******************************) fun deletion_message (k,_) = (print_string "Rule ";print_num k; message " deleted") (* Generate failure message *) fun non_orientable (M,N) = (pretty_term M; print_string " = "; pretty_term N; print_newline()) (* Improved Knuth-Bendix completion procedure *) (* kb_completion : (term_pair -> bool) -> num -> rules -> term_pair list -> (num & num) -> term_pair list -> rules *) fun kb_completion greater = let fun kbrec n rules = let val normal_form = mrewrite_all rules; fun get_rule k = assoc k rules; fun process failures = let fun processf (k,l) = let fun processkl [] = if k rules (* successful completion *) | _ => (message "Non-orientable equations :"; app non_orientable failures; failwith "kb_completion")) | processkl ((M,N)::eqs) = let val M' = normal_form M; val N' = normal_form N; fun enter_rule(left,right) = let val new_rule = (n+1, mk_rule left right) in (pretty_rule new_rule; let fun left_reducible (_,(_,(L,_))) = reducible left L; val (redl,irredl) = partition left_reducible rules in (app deletion_message redl; let fun right_reduce (m,(_,(L,R))) = (m,mk_rule L (mrewrite_all (new_rule::rules) R)); val irreds = map right_reduce irredl; val eqs' = map (fn (_,(_,pair)) => pair) redl in kbrec (n+1) (new_rule::irreds) [] (k,l) (eqs @ eqs' @ failures) end) end) end in if M'=N' then processkl eqs else if greater(M',N') then enter_rule(M',N') else if greater(N',M') then enter_rule(N',M') else process ((M',N')::failures) (k,l) eqs end in processkl end and next_criticals (k,l) = (let val (v,el) = get_rule l in if k=l then processf (k,l) (strict_critical_pairs el (rename v el)) else (let val (_,ek) = get_rule k in processf (k,l) (mutual_critical_pairs el (rename v ek)) end handle Failure "find" (*rule k deleted*) => next_criticals (k+1,l)) end handle Failure "find" (*rule l deleted*) => next_criticals (1,l+1)) in processf end in process end in kbrec end fun kb_complete greater complete_rules rules = let val n = check_rules complete_rules; val eqs = map (fn (_,(_,pair)) => pair) rules; val completed_rules = kb_completion greater n complete_rules [] (n,n) eqs in (message "Canonical set found :"; pretty_rules (rev completed_rules); ()) end val Group_rules = [ (1, (1, (Term("*", [Term("U",[]), Var 1]), Var 1))), (2, (1, (Term("*", [Term("I",[Var 1]), Var 1]), Term("U",[])))), (3, (3, (Term("*", [Term("*", [Var 1, Var 2]), Var 3]), Term("*", [Var 1, Term("*", [Var 2, Var 3])]))))]; val Geom_rules = [ (1,(1,(Term ("*",[(Term ("U",[])), (Var 1)]),(Var 1)))), (2,(1,(Term ("*",[(Term ("I",[(Var 1)])), (Var 1)]),(Term ("U",[]))))), (3,(3,(Term ("*",[(Term ("*",[(Var 1), (Var 2)])), (Var 3)]), (Term ("*",[(Var 1), (Term ("*",[(Var 2), (Var 3)]))]))))), (4,(0,(Term ("*",[(Term ("A",[])), (Term ("B",[]))]), (Term ("*",[(Term ("B",[])), (Term ("A",[]))]))))), (5,(0,(Term ("*",[(Term ("C",[])), (Term ("C",[]))]),(Term ("U",[]))))), (6,(0, (Term ("*", [(Term ("C",[])), (Term ("*",[(Term ("A",[])), (Term ("I",[(Term ("C",[]))]))]))]), (Term ("I",[(Term ("A",[]))]))))), (7,(0, (Term ("*", [(Term ("C",[])), (Term ("*",[(Term ("B",[])), (Term ("I",[(Term ("C",[]))]))]))]), (Term ("B",[]))))) ]; fun Group_rank "U" = 0 | Group_rank "*" = 1 | Group_rank "I" = 2 | Group_rank "B" = 3 | Group_rank "C" = 4 | Group_rank "A" = 5 fun Group_precedence op1 op2 = let val r1 = Group_rank op1; val r2 = Group_rank op2 in if r1 = r2 then Equal else if r1 > r2 then Greater else NotGE end val Group_order = rpo Group_precedence lex_ext fun greater pair = (case Group_order pair of Greater => true | _ => false) fun doit() = kb_complete greater [] Geom_rules fun testit _ = () end; (* Main *) val _ = Main.doit (); val _ = print "Done"; smlsharp-1.2.0/benchmark/benchmarks_light/lc_perm9_light0000755 000000000000000000000000012050661606023563 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks_light/lc_perm9_light/load.sml0000644 000000000000000000000015412050661606025276 0ustar00rootroot0000000 0000000 use "../../benchmarks2/run-benchmark.sml"; use "../../benchmarks2/num-iters.sml"; use "perm9.sml"; main (); smlsharp-1.2.0/benchmark/benchmarks_light/lc_perm9_light/perm9.sml0000644 000000000000000000001072212050661606025415 0ustar00rootroot0000000 0000000 fun ! (ref x) = x fun hd (h::t) = h | hd nil = raise Fail "" fun tl (h::t) = t | tl nil = raise Fail "" fun length [] = 0 | length list = let fun scan [] result = result | scan (_ :: tail) len = scan tail (len + 1) in scan list 0 end (* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; File: perm9.sch ; Description: memory system benchmark using Zaks's permutation generator ; Author: Lars Hansen, Will Clinger, and Gene Luks ; Created: 18-Mar-94 ; Language: Scheme ; Status: Public Domain ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; 940720 / lth Added some more benchmarks for the thesis paper. ; 970215 / wdc Increased problem size from 8 to 9; improved tenperm9-benchmark. ; 970531 / wdc Cleaned up for public release. ; 981116 / wdc Simplified to fit in with Feeley's benchmark suite. ; 990624 / wdc Translated into Standard ML ; The perm9 benchmark generates a list of all 362880 permutations of ; the first 9 integers, allocating 1349288 pairs (typically 10,794,304 ; bytes), all of which goes into the generated list. (That is, the ; perm9 benchmark generates absolutely no garbage.) This represents ; a savings of about 63% over the storage that would be required by ; an unshared list of permutations. The generated permutations are ; in order of a grey code that bears no obvious relationship to a ; lexicographic order. ; ; The 10perm9 benchmark repeats the perm9 benchmark 10 times, so it ; allocates and reclaims 13492880 pairs (typically 107,943,040 bytes). ; The live storage peaks at twice the storage that is allocated by the ; perm9 benchmark. At the end of each iteration, the oldest half of ; the live storage becomes garbage. Object lifetimes are distributed ; uniformly between 10.3 and 20.6 megabytes. ; Date: Thu, 17 Mar 94 19:43:32 -0800 ; From: luks@sisters.cs.uoregon.edu ; To: will ; Subject: Pancake flips ; ; Procedure P_n generates a grey code of all perms of n elements ; on top of stack ending with reversal of starting sequence ; ; F_n is flip of top n elements. ; ; ; procedure P_n ; ; if n>1 then ; begin ; repeat P_{n-1},F_n n-1 times; ; P_{n-1} ; end ; *) fun permutations x0 = let val x = ref x0 val perms = ref [x0] fun P n = if n > 1 then let fun loop j = if j = 0 then P (n - 1) else ( P (n - 1); F n; loop (j - 1) ) in loop (n - 1) end else () and F n = ( x := revloop (!x, n, list_tail (!x, n)); perms := !x :: !perms ) and revloop (x, n, y) = if n = 0 then y else revloop (tl x, n - 1, (hd x) :: y) and list_tail (x, n) = if n = 0 then x else list_tail (tl x, n - 1) in (P (length (!x)); !perms) end (* ; Given a list of lists of numbers, returns the sum of the sums ; of those lists. ; ; for (; x != NULL; x = x->rest) ; for (y = x->first; y != NULL; y = y->rest) ; sum = sum + y->first; *) fun sumlists x = let fun loop1 (x, sum) = if x = [] then sum else let fun loop2 (y, sum) = if y = [] then sum else loop2 (tl y, sum + (hd y)) in loop1 (tl x, loop2 (hd x, sum)) end in loop1 (x, 0) end val perms : int list list ref = ref [] fun one2n n = let fun loop (n, p) = if n = 0 then p else loop (n - 1, n :: p) in loop (n, []) end fun perm9_benchmark (m, n : int) = let fun factorial n = if n = 1 then 1 else n * factorial (n - 1) in run_benchmark ("perm9" (*concat ([Int.toString (m), "perm", Int.toString (n)])*), 1, fn () => ( perms := permutations (one2n n); let fun loop m = if m = 0 then !perms else ( perms := permutations (hd (!perms)); loop (m - 1) ) in loop m end ), fn (result) => (sumlists result) = Int.quot ((n * (n + 1) * factorial (n)), 2)) end fun main () = perm9_benchmark (5, 9) smlsharp-1.2.0/benchmark/benchmarks_light/logic_light0000755 000000000000000000000000012050661606023146 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks_light/logic_light/basis_simple.smi0000644 000000000000000000000072312050661606026413 0ustar00rootroot0000000 0000000 infix 7 * / div mod infix 6 + - ^ infixr 5 :: @ infix 4 = <> > >= < <= infix 3 := o infix 0 before val + = _builtin val Int_add_noov : int * int -> int val - = _builtin val Int_sub_noov : int * int -> int val * = _builtin val Int_mul_noov : int * int -> int val < = _builtin val Int_lt : int * int -> bool val > = _builtin val Int_gt : int * int -> bool val >= = _builtin val Int_gteq : int * int -> bool val := = _builtin val Ref_assign : 'a ref * 'a -> unit smlsharp-1.2.0/benchmark/benchmarks_light/logic_light/load.sml0000644 000000000000000000000004012050661606024653 0ustar00rootroot0000000 0000000 use "./logic.sml"; Main.doit(); smlsharp-1.2.0/benchmark/benchmarks_light/logic_light/logic.smi0000644 000000000000000000000003312050661606025030 0ustar00rootroot0000000 0000000 _require "basis_simple.smi"smlsharp-1.2.0/benchmark/benchmarks_light/logic_light/logic.sml0000644 000000000000000000002711012050661606025040 0ustar00rootroot0000000 0000000 _interface "logic.smi" val print = _import "prim_print" : __attribute__((no_callback)) string -> unit fun ! (ref x) = x fun op <> (x,y) = if x = y then false else true infix <> (**** term.sml ****) (* term.sml *) structure Term = struct datatype term = STR of string * term list | INT of int | CON of string | REF of term option ref exception BadArg of string end (**** trail.sml ****) (* trail.sml *) structure Trail = struct local open Term val global_trail = ref (nil : term option ref list) val trail_counter = ref 0 in fun unwind_trail (0, tr) = tr | unwind_trail (n, r::tr) = ( r := NONE ; unwind_trail (n-1, tr) ) | unwind_trail (_, nil) = raise BadArg "unwind_trail" fun reset_trail () = ( global_trail := nil ) fun trail func = let val tc0 = !trail_counter in ( func () ; global_trail := unwind_trail (!trail_counter-tc0, !global_trail) ; trail_counter := tc0 ) end fun bind (r, t) = ( r := SOME t ; global_trail := r::(!global_trail) ; trail_counter := !trail_counter+1 ) end (* local *) end (* Trail *) (**** unify.sml ****) (* unify.sml *) structure Unify = struct local open Term Trail fun same_ref (r, REF(r')) = (r = r') | same_ref _ = false fun occurs_check r t = let fun oc (STR(_,ts)) = ocs ts | oc (REF(r')) = (case !r' of SOME(s) => oc s | _ => r <> r') | oc (CON _) = true | oc (INT _) = true and ocs nil = true | ocs (t::ts) = oc t andalso ocs ts in oc t end fun deref (t as (REF(x))) = (case !x of SOME(s) => deref s | _ => t) | deref t = t fun unify' (REF(r), t) sc = unify_REF (r,t) sc | unify' (s, REF(r)) sc = unify_REF (r,s) sc | unify' (STR(f,ts), STR(g,ss)) sc = if (f = g) then unifys (ts,ss) sc else () | unify' (CON(f), CON(g)) sc = if (f = g) then sc () else () | unify' (INT(f), INT(g)) sc = if (f = g) then sc () else () | unify' (_, _) sc = () and unifys (nil, nil) sc = sc () | unifys (t::ts, s::ss) sc = unify' (deref(t), deref(s)) (fn () => unifys (ts, ss) sc) | unifys _ sc = () and unify_REF (r, t) sc = if same_ref (r, t) then sc () else if occurs_check r t then ( bind(r, t) ; sc () ) else () in val deref = deref fun unify (s, t) = unify' (deref(s), deref(t)) end (* local *) end (* Unify *) (**** data.sml ****) (* data.sml *) structure Data = struct local open Term Trail Unify val cons_s = "cons" val x_s = "x" val nil_s = "nil" val o_s = "o" val s_s = "s" val CON_o_s = CON(o_s) val CON_nil_s = CON(nil_s) val CON_x_s = CON(x_s) in fun exists sc = sc (REF(ref(NONE))) fun move_horiz (T_1, T_2) sc = ( trail (fn () => ( trail (fn () => ( trail (fn () => ( trail (fn () => ( trail (fn () => ( trail (fn () => ( trail (fn () => ( trail (fn () => ( trail (fn () => ( trail (fn () => ( trail (fn () => exists (fn T => exists (fn TT => unify (T_1, STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, T])])]), TT])) (fn () => unify (T_2, STR(cons_s, [STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, T])])]), TT])) (fn () => sc ()))))) ; exists (fn P1 => exists (fn P5 => exists (fn TT => unify (T_1, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, STR(cons_s, [P5, CON_nil_s])])])])]), TT])) (fn () => unify (T_2, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, STR(cons_s, [P5, CON_nil_s])])])])]), TT])) (fn () => sc ()))))) )) ; exists (fn P1 => exists (fn P2 => exists (fn TT => unify (T_1, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [P2, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, CON_nil_s])])])])]), TT])) (fn () => unify (T_2, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [P2, STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, CON_nil_s])])])])]), TT])) (fn () => sc ()))))) )) ; exists (fn L1 => exists (fn P4 => exists (fn TT => unify (T_1, STR(cons_s, [L1, STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, STR(cons_s, [P4, CON_nil_s])])])]), TT])])) (fn () => unify (T_2, STR(cons_s, [L1, STR(cons_s, [STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, STR(cons_s, [P4, CON_nil_s])])])]), TT])])) (fn () => sc ()))))) )) ; exists (fn L1 => exists (fn P1 => exists (fn TT => unify (T_1, STR(cons_s, [L1, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, CON_nil_s])])])]), TT])])) (fn () => unify (T_2, STR(cons_s, [L1, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, CON_nil_s])])])]), TT])])) (fn () => sc ()))))) )) ; exists (fn L1 => exists (fn L2 => exists (fn TT => unify (T_1, STR(cons_s, [L1, STR(cons_s, [L2, STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, CON_nil_s])])]), TT])])])) (fn () => unify (T_2, STR(cons_s, [L1, STR(cons_s, [L2, STR(cons_s, [STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, CON_nil_s])])]), TT])])])) (fn () => sc ()))))) )) ; exists (fn T => exists (fn TT => unify (T_1, STR(cons_s, [STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, T])])]), TT])) (fn () => unify (T_2, STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, T])])]), TT])) (fn () => sc ())))) )) ; exists (fn P1 => exists (fn P5 => exists (fn TT => unify (T_1, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [P5, CON_nil_s])])])])]), TT])) (fn () => unify (T_2, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, STR(cons_s, [P5, CON_nil_s])])])])]), TT])) (fn () => sc ()))))) )) ; exists (fn P1 => exists (fn P2 => exists (fn TT => unify (T_1, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [P2, STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, CON_nil_s])])])])]), TT])) (fn () => unify (T_2, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [P2, STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, CON_nil_s])])])])]), TT])) (fn () => sc ()))))) )) ; exists (fn L1 => exists (fn P4 => exists (fn TT => unify (T_1, STR(cons_s, [L1, STR(cons_s, [STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [P4, CON_nil_s])])])]), TT])])) (fn () => unify (T_2, STR(cons_s, [L1, STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, STR(cons_s, [P4, CON_nil_s])])])]), TT])])) (fn () => sc ()))))) )) ; exists (fn L1 => exists (fn P1 => exists (fn TT => unify (T_1, STR(cons_s, [L1, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, CON_nil_s])])])]), TT])])) (fn () => unify (T_2, STR(cons_s, [L1, STR(cons_s, [STR(cons_s, [P1, STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, CON_nil_s])])])]), TT])])) (fn () => sc ()))))) )) ; exists (fn L1 => exists (fn L2 => exists (fn TT => unify (T_1, STR(cons_s, [L1, STR(cons_s, [L2, STR(cons_s, [STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, CON_nil_s])])]), TT])])])) (fn () => unify (T_2, STR(cons_s, [L1, STR(cons_s, [L2, STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_o_s, CON_nil_s])])]), TT])])])) (fn () => sc ()))))) ) and rotate (T_1, T_2) sc = exists (fn P11 => exists (fn P12 => exists (fn P13 => exists (fn P14 => exists (fn P15 => exists (fn P21 => exists (fn P22 => exists (fn P23 => exists (fn P24 => exists (fn P31 => exists (fn P32 => exists (fn P33 => exists (fn P41 => exists (fn P42 => exists (fn P51 => unify (T_1, STR(cons_s, [STR(cons_s, [P11, STR(cons_s, [P12, STR(cons_s, [P13, STR(cons_s, [P14, STR(cons_s, [P15, CON_nil_s])])])])]), STR(cons_s, [STR(cons_s, [P21, STR(cons_s, [P22, STR(cons_s, [P23, STR(cons_s, [P24, CON_nil_s])])])]), STR(cons_s, [STR(cons_s, [P31, STR(cons_s, [P32, STR(cons_s, [P33, CON_nil_s])])]), STR(cons_s, [STR(cons_s, [P41, STR(cons_s, [P42, CON_nil_s])]), STR(cons_s, [STR(cons_s, [P51, CON_nil_s]), CON_nil_s])])])])])) (fn () => unify (T_2, STR(cons_s, [STR(cons_s, [P51, STR(cons_s, [P41, STR(cons_s, [P31, STR(cons_s, [P21, STR(cons_s, [P11, CON_nil_s])])])])]), STR(cons_s, [STR(cons_s, [P42, STR(cons_s, [P32, STR(cons_s, [P22, STR(cons_s, [P12, CON_nil_s])])])]), STR(cons_s, [STR(cons_s, [P33, STR(cons_s, [P23, STR(cons_s, [P13, CON_nil_s])])]), STR(cons_s, [STR(cons_s, [P24, STR(cons_s, [P14, CON_nil_s])]), STR(cons_s, [STR(cons_s, [P15, CON_nil_s]), CON_nil_s])])])])])) (fn () => sc ()))))))))))))))))) and move (T_1, T_2) sc = ( trail (fn () => ( trail (fn () => exists (fn X => exists (fn Y => unify (T_1, X) (fn () => unify (T_2, Y) (fn () => move_horiz (X, Y) sc))))) ; exists (fn X => exists (fn X1 => exists (fn Y => exists (fn Y1 => unify (T_1, X) (fn () => unify (T_2, Y) (fn () => rotate (X, X1) (fn () => move_horiz (X1, Y1) (fn () => rotate (Y, Y1) sc)))))))) )) ; exists (fn X => exists (fn X1 => exists (fn Y => exists (fn Y1 => unify (T_1, X) (fn () => unify (T_2, Y) (fn () => rotate (X1, X) (fn () => move_horiz (X1, Y1) (fn () => rotate (Y1, Y) sc)))))))) ) and solitaire (T_1, T_2, T_3) sc = ( trail (fn () => exists (fn X => unify (T_1, X) (fn () => unify (T_2, STR(cons_s, [X, CON_nil_s])) (fn () => unify (T_3, INT(0)) (fn () => sc ()))))) ; exists (fn N => exists (fn X => exists (fn Y => exists (fn Z => unify (T_1, X) (fn () => unify (T_2, STR(cons_s, [X, Z])) (fn () => unify (T_3, STR(s_s, [N])) (fn () => move (X, Y) (fn () => solitaire (Y, Z, N) sc)))))))) ) and solution1 (T_1) sc = exists (fn X => unify (T_1, X) (fn () => solitaire (STR(cons_s, [STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, CON_nil_s])])])])]), STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, CON_nil_s])])])]), STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, CON_nil_s])])]), STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, CON_nil_s])]), STR(cons_s, [STR(cons_s, [CON_x_s, CON_nil_s]), CON_nil_s])])])])]) , X, STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [INT(0)])])])])])])])])])])])])])) sc)) and solution2 (T_1) sc = exists (fn X => unify (T_1, X) (fn () => solitaire (STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, CON_nil_s])])])])]), STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, CON_nil_s])])])]), STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_o_s, STR(cons_s, [CON_x_s, CON_nil_s])])]), STR(cons_s, [STR(cons_s, [CON_x_s, STR(cons_s, [CON_x_s, CON_nil_s])]), STR(cons_s, [STR(cons_s, [CON_x_s, CON_nil_s]), CON_nil_s])])])])]) , X, STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [STR(s_s, [INT(0)])])])])])])])])])])])])])) sc)) end (* local *) end (* Data *) (**** main.sml ****) (* main.sml *) structure Main = struct val name = "Logic" exception Done (* fun testit strm = Data.exists(fn Z => Data.solution2 Z (fn () => raise Done)) handle Done => TextIO.output(strm, "yes\n") *) fun doit () = Data.exists(fn Z => Data.solution2 Z (fn () => raise Done)) handle Done => () end (* Main *) val _ = Main.doit(); val _ = print "Done\n" smlsharp-1.2.0/benchmark/benchmarks_light/mandelbrot_light0000755 000000000000000000000000012050661606024200 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks_light/mandelbrot_light/load.sml0000644 000000000000000000000004512050661606025712 0ustar00rootroot0000000 0000000 use "./mandelbrot.sml"; Main.doit(); smlsharp-1.2.0/benchmark/benchmarks_light/mandelbrot_light/mandelbrot.sml0000644 000000000000000000000321612050661606027125 0ustar00rootroot0000000 0000000 (* mandelbrot.sml *) fun ! (ref x) = x structure Main = struct val x_base = ~2.0 val y_base = 1.25 val side = 2.5 val sz = 2048 val maxCount = 1024 val delta = side / (Real.fromInt sz) val sum_iterations = ref 0 fun loop1 i = if (i >= sz) then () else let val c_im : real = y_base - (delta * Real.fromInt i) fun loop2 j = if (j >= sz) then () else let val c_re = x_base * (delta + Real.fromInt j) fun loop3 (count, z_re : real, z_im : real) = if (count < maxCount) then let val z_re_sq = z_re * z_re val z_im_sq = z_im * z_im in if ((z_re_sq + z_im_sq) > 4.0) then count else let val z_re_im = (z_re * z_im) in loop3 (count+1, (z_re_sq - z_im_sq) + c_re, z_re_im + z_re_im + c_im) end end (* loop3 *) else count val count = loop3 (0, c_re, c_im) in sum_iterations := !sum_iterations + count; loop2 (j+1) end in loop2 0; loop1 (i+1) end fun doit () = (sum_iterations := 0; loop1 0) (* fun testit outstrm = ( sum_iterations := 0; loop1 0; TextIO.output (outstrm, Int.toString(!sum_iterations) ^ " iterations\n")) *) end; (* Mandelbrot *) smlsharp-1.2.0/benchmark/benchmarks_light/ratio_regions_light0000755 000000000000000000000000012050661606024715 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/benchmarks_light/ratio_regions_light/load.sml0000644 000000000000000000000005012050661606026423 0ustar00rootroot0000000 0000000 use "./ratio-regions.sml"; Main.doit(); smlsharp-1.2.0/benchmark/benchmarks_light/ratio_regions_light/ratio-regions.sml0000644 000000000000000000005264112050661606030303 0ustar00rootroot0000000 0000000 fun print _ = () (* From Jeff Siskind (qobi@research.nj.nec.com) * * It is an implementation of Ratio * Regions, an image segmentation/contour finding technique due to Ingemar Cox, * Satish Rao, and Yu Zhong. The algorithm is a reduction to max flow, an * unpublished technique that Satish described to me. Peter Blicher originally * implemented this via a translation to Andrew Goldberg's generic max-flow code. * I've reimplemented it, specializing the max-flow algorithm to the particular * graphs that are produced by Satish's reduction instead of using Andrew's code. * The max-flow algorithm is preflow-push with periodic relabeling and a * wave-based heuristic for scheduling pushes and lifts due to Sebastien Roy. *) local fun doo(max: int, f: int -> unit): unit = let fun loop i = if i >= max then () else (f i; loop(i + 1)) in loop 0 end fun not true = false | not false = true val print = _import "prim_print" : __attribute__((no_callback)) string -> unit val Int_toString = _import "prim_Int_toString" : __attribute__((pure,no_callback,alloc)) int -> string structure Int = struct fun min (x,y) = if x < y then x else y end structure List = struct fun app f nil = nil | app f (h::t) = let val () = f h in app f t end fun exists f nil = false | exists f (h::t) = if f h then true else exists f t end fun ! (ref x) = x fun zero x = x = 0 val map_n_vector = fn (n, f) => if n < 0 then raise Size else if n = 0 then _cast(SMLSharp.PrimArray.array(0,0)) : 'a array else let val e = f 0 val v = SMLSharp.PrimArray.array (n, e) fun loop i = if i < n then (SMLSharp.PrimArray.update_unsafe (v, i, f i); loop (i+1)) else () in loop 0; v end fun write_char c = print (SMLSharp.PrimString.vector (1, c)) fun for_each (nil, f) = nil | for_each (h::t, f) = let val () = f h in for_each (t, f) end fun negative x = x < 0 fun positive x = x > 0 fun min l = case l of x :: l => let fun loop(l, min) = case l of [] => min | x :: l => loop(l, Int.min(min, x)) in loop(l, x) end | _ => raise Fail "min" fun every_n(n, p) = let fun loop i = i >= n orelse (p i andalso loop(i + 1)) in loop 0 end fun some(l, p) = List.exists p l fun some_n(n, p) = let fun loop i = i < n andalso (p i orelse loop(i + 1)) in loop 0 end fun some_vector(v, p) = let fun loop i = i < SMLSharp.PrimArray.length v andalso (p(SMLSharp.PrimArray.sub_unsafe(v, i)) orelse loop(i + 1)) in loop 0 end fun x(x, _) = x fun y(_, y) = y datatype 'a matrix = Matrix of 'a array array fun make_matrix(m: int, n: int, a: 'a): 'a matrix = Matrix(map_n_vector(m, fn i => SMLSharp.PrimArray.array(n, a))) fun matrix_rows(Matrix a) = SMLSharp.PrimArray.length a fun matrix_columns(Matrix a) = SMLSharp.PrimArray.length(SMLSharp.PrimArray.sub_unsafe(a, 0)) fun matrix_ref(Matrix a, i, j) = SMLSharp.PrimArray.sub_unsafe(SMLSharp.PrimArray.sub_unsafe(a, i), j) fun matrix_set(Matrix a, i, j, x) = SMLSharp.PrimArray.update_unsafe(SMLSharp.PrimArray.sub_unsafe(a, i), j, x) datatype pormatValue = Int of int | String of string fun pormat(control_string: string, values: pormatValue list): unit = let fun loop(i: int, values: pormatValue list): unit = if not(i = SMLSharp.PrimString.size control_string) then let val c = SMLSharp.PrimString.sub_unsafe(control_string, i) in if c = #"~" then let val c2 = SMLSharp.PrimString.sub_unsafe(control_string, i + 1) in case (c2, values) of (#"s", Int n :: values) => (print(Int_toString n) ; loop(i + 2, values)) | (#"a", String s :: values) => (print s ; loop(i + 2, values)) | (#"%", _) => (print "\n"; loop(i + 2, values)) | _ => (write_char c; loop(i + 1, values)) end else (write_char c ; loop(i + 1, values)) end else () in loop(0, values) end (* The vertices are s, t, and (y,x). * C_RIGHT[y,x] is the capacity from (y,x) to (y,x+1) which is the same as the * capacity from (y,x+1) to (y,x). * C_DOWN[y,x] is the capacity from (y,x) to (y+1,x) which is the same as the * capacity from (y+1,x) to (y,x). * The capacity from s to (y,0), (0,x), (y,Y_1), (0,X_1) is implicitly * infinite. * The capacity from (x,y) to t is V*W[y,x]. * F_RIGHT[y,x] is the preflow from (y,x) to (y,x+1) which is the negation of * the preflow from (y,x+1) to (y,x). * F_DOWN[y,x] is the preflow from (y,x) to (y+1,x) which is the negation of * the preflow from (y+1,x) to (y,x). * We do not record the preflow from s to (y,X_1), (y,0), (Y_1,x), and (0,x) * and from (y,X_1), (y,0), (Y_1,x), and (0,x) to s. * F_T[y,x] is the preflow from (y,x) to t. * We do not record the preflow from t to (y,x). * {C,F}_RIGHT[0:Y_1,0:X_2]. * {C,F}_DOWN[0:Y_2,0:X_1]. * F_T[0:Y_1,0:X_1] * For now, we will keep all capacities (and thus all preflows) as integers. * (CF_RIGHT y x) is the residual capacity from (y,x) to (y,x+1). * (CF_LEFT y x) is the residual capacity from (y,x) to (y,x_1). * (CF_DOWN y x) is the residual capacity from (y,x) to (y+1,x). * (CF_UP y x) is the residual capacity from (y,x) to (y_1,x). * We do not compute the residual capacities from s to (y,X_1), (y,0), * (Y_1,x), and (0,x) because they are all infinite. * We do not compute the residual capacities from (y,X_1), (y,0), (Y_1,x), * and (0,x) to s because they will never be used. * (CF_T y x) is the residual capacity from (y,x) to t. * We do not compute the residual capacity from t to (y,x) because it will * be used. * (EF_RIGHT? y x) is true if there is an edge from (y,x) to (y,x+1) in the * residual network. * (EF_LEFT? y x) is true if there is an edge from (y,x) to (y,x_1) in the * residual network. * (EF_DOWN? y x) is true if there is an edge from (y,x) to (y+1,x) in the * residual network. * (EF_UP? y x) is true if there is an edge from (y,x) to (y_1,x) in the * residual network. * (EF_T? y x) is true if there is an edge from (y,x) to t in the * residual network. * There are always edges in the residual network from s to (y,X_1), (y,0), * (Y_1,x), and (0,x). * We don't care whether there are edges in the residual network from * (y,X_1), (y,0), (Y_1,x), and (0,x) to s because they will never be used. * We don't care whether there are edges in the residual network from t to * (y,x) because they will never be used. *) fun positive_min(x, y) = if negative x then y else Int.min(x, y) fun positive_minus(x, y) = if negative x then x else x - y fun positive_plus(x, y) = if negative x then x else x + y fun rao_ratio_region(c_right, c_down, w, lg_max_v) = let val height = matrix_rows w val width = matrix_columns w val f_right = make_matrix(height, width - 1, 0) val f_down = make_matrix(height - 1, width, 0) val f_t = make_matrix(height, width, 0) val h = make_matrix(height, width, 0) val e = make_matrix(height, width, 0) val marked = make_matrix(height, width, false) val m1 = height * width + 2 val m2 = 2 * height * width + 2 val q = SMLSharp.PrimArray.array(2 * height * width + 3, []) fun cf_right(y, x) = matrix_ref(c_right, y, x) - matrix_ref(f_right, y, x) fun cf_left(y, x) = matrix_ref(c_right, y, x - 1) + matrix_ref(f_right, y, x - 1) fun cf_down(y, x) = matrix_ref(c_down, y, x) - matrix_ref(f_down, y, x) fun cf_up(y, x) = matrix_ref(c_down, y - 1, x) + matrix_ref(f_down, y - 1, x) fun ef_right(y, x) = positive(cf_right(y, x)) fun ef_left(y, x) = positive(cf_left(y, x)) fun ef_down(y, x) = positive(cf_down(y, x)) fun ef_up(y, x) = positive(cf_up(y, x)) fun preflow_push v = let fun enqueue(y, x) = if not(matrix_ref(marked, y, x)) then (SMLSharp.PrimArray.update_unsafe(q, matrix_ref(h, y, x), ((op ::)((x, y), SMLSharp.PrimArray.sub_unsafe(q, matrix_ref(h, y, x))))) ; matrix_set(marked, y, x, true)) else () fun cf_t(y, x) = v * matrix_ref(w, y, x) - matrix_ref(f_t, y, x) fun ef_t(y, x) = positive(cf_t(y, x)) fun can_push_right(y, x) = x < width - 1 andalso not(zero(matrix_ref(e, y, x))) andalso ef_right(y, x) andalso matrix_ref(h, y, x) = matrix_ref(h, y, x + 1) + 1 fun can_push_left(y, x) = x > 0 andalso not(zero(matrix_ref(e, y, x))) andalso ef_left(y, x) andalso matrix_ref(h, y, x) = matrix_ref(h, y, x - 1) + 1 fun can_push_down(y, x) = y < height - 1 andalso not(zero(matrix_ref(e, y, x))) andalso ef_down(y, x) andalso matrix_ref(h, y, x) = matrix_ref(h, y + 1, x) + 1 fun can_push_up(y, x) = y > 0 andalso not(zero(matrix_ref(e, y, x))) andalso ef_up(y, x) andalso matrix_ref(h, y, x) = matrix_ref(h, y - 1, x) + 1 fun can_push_t(y, x) = not(zero(matrix_ref(e, y, x))) andalso ef_t(y, x) andalso matrix_ref(h, y, x) = 1 fun can_lift(y, x) = not(zero(matrix_ref(e, y, x))) andalso (if x = width - 1 then matrix_ref(h, y, x) <= m1 else (not(ef_right(y, x)) orelse matrix_ref(h, y, x) <= matrix_ref(h, y, x + 1))) andalso (if x = 0 then matrix_ref(h, y, x) <= m1 else (not(ef_left(y, x)) orelse matrix_ref(h, y, x) <= matrix_ref(h, y, x - 1))) andalso (if y = height - 1 then matrix_ref(h, y, x) <= m1 else (not(ef_down(y, x)) orelse matrix_ref(h, y, x) <= matrix_ref(h, y + 1, x))) andalso (if y = 0 then matrix_ref(h, y, x) <= m1 else (not(ef_up(y, x)) orelse matrix_ref(h, y, x) <= matrix_ref(h, y - 1, x))) andalso (not(ef_t(y, x)) orelse matrix_ref(h, y, x) = 0) fun push_right(y, x) = (* (pormat "Push right ~s ~s~%" y x) *) let val df_u_v = positive_min(matrix_ref(e, y, x), cf_right(y, x)) in matrix_set(f_right, y, x, matrix_ref(f_right, y, x) + df_u_v) ; matrix_set(e, y, x, positive_minus(matrix_ref(e, y, x), df_u_v)) ; matrix_set(e, y, x + 1, positive_plus(matrix_ref(e, y, x + 1), df_u_v)) ; enqueue(y, x + 1) end fun push_left(y, x) = (* (pormat "Push left ~s ~s~%" y x) *) let val df_u_v = positive_min(matrix_ref(e, y, x), cf_left(y, x)) in matrix_set(f_right, y, x - 1, matrix_ref(f_right, y, x - 1) - df_u_v) ; matrix_set(e, y, x, positive_minus(matrix_ref(e, y, x), df_u_v)) ; matrix_set(e, y, x - 1, positive_plus(matrix_ref(e, y, x - 1), df_u_v)) ; enqueue(y, x - 1) end fun push_down(y, x) = (* (pormat "Push down ~s ~s~%" y x) *) let val df_u_v = positive_min(matrix_ref(e, y, x), cf_down(y, x)) in matrix_set(f_down, y, x, matrix_ref(f_down, y, x) + df_u_v) ; matrix_set(e, y, x, positive_minus(matrix_ref(e, y, x), df_u_v)) ; matrix_set(e, y + 1, x, positive_plus(matrix_ref(e, y + 1, x), df_u_v)) ; enqueue(y + 1, x) end fun push_up(y, x) = (* ;;(pormat "Push up ~s ~s~%" y x) *) let val df_u_v = positive_min(matrix_ref(e, y, x), cf_up(y, x)) in matrix_set(f_down, y - 1, x, matrix_ref(f_down, y - 1, x) - df_u_v) ; matrix_set(e, y, x, positive_minus(matrix_ref(e, y, x), df_u_v)) ; matrix_set(e, y - 1, x, positive_plus(matrix_ref(e, y - 1, x), df_u_v)) ; enqueue(y - 1, x) end fun push_t(y, x) = (* ;;(pormat "Push t ~s ~s~%" y x) *) let val df_u_v = positive_min(matrix_ref(e, y, x), cf_t(y, x)) in matrix_set(f_t, y, x, matrix_ref(f_t, y, x) + df_u_v) ; matrix_set(e, y, x, positive_minus(matrix_ref(e, y, x), df_u_v)) end fun lift(y, x) = (* ;;(pormat "Lift ~s ~s~%" y x) *) matrix_set (h, y, x, 1 + min[if x = width - 1 then m1 else if ef_right(y, x) then matrix_ref(h, y, x + 1) else m2, if x = 0 then m1 else if ef_left(y, x) then matrix_ref(h, y, x - 1) else m2, if y = height - 1 then m1 else if ef_down(y, x) then matrix_ref(h, y + 1, x) else m2, if y = 0 then m1 else if ef_up(y, x) then matrix_ref(h, y - 1, x) else m2, if ef_t(y, x) then 0 else m2]) fun relabel() = (* ;;(pormat "Relabel~%") *) let datatype 'a queue = Qnil | Qcons of 'a * 'a queue ref infixr 5 Qcons fun null(q: 'q queue ref) = case !q of Qnil => true | _ => false val q: (int * int) queue ref = ref Qnil val tail: (int * int) queue ref = ref Qnil fun enqueue(y, x, value) = if value < matrix_ref(h, y, x) then (matrix_set(h, y, x, value) ; if not(matrix_ref(marked, y, x)) then (matrix_set(marked, y, x, true) ; (case !tail of Qnil => (tail := (x, y) Qcons ref Qnil ; q := !tail) | _ Qcons cdr => (cdr := (x, y) Qcons ref Qnil ; tail := !cdr))) else ()) else () fun dequeue() = case !q of Qnil => raise Fail "dequeue" | p Qcons rest => (matrix_set(marked, y p, x p, false) ; q := !rest ; if null q then tail := Qnil else () ; p) in doo(height, fn y => doo(width, fn x => (matrix_set(h, y, x, m1) ; matrix_set(marked, y, x, false)))) ; doo(height, fn y => doo(width, fn x => if ef_t(y, x) andalso matrix_ref(h, y, x) > 1 then enqueue(y, x, 1) else ())) ; let fun loop() = if not(null q) then (let val p = dequeue() val x = x p val y = y p val value = matrix_ref(h, y, x) + 1 in if x > 0 andalso ef_right(y, x - 1) then enqueue(y, x - 1, value) else () ; if x < width - 1 andalso ef_left(y, x + 1) then enqueue(y, x + 1, value) else () ; if y > 0 andalso ef_down(y - 1, x) then enqueue(y - 1, x, value) else () ; if y < height - 1 andalso ef_up(y + 1, x) then enqueue(y + 1, x, value) else () end ; loop()) else () in loop() end end (* relabel *) in doo(height, fn y => doo(width, fn x => (matrix_set(e, y, x, 0) ; matrix_set(f_t, y, x, 0)))) ; doo(height, fn y => doo(width - 1, fn x => matrix_set(f_right, y, x, 0))) ; doo(height - 1, fn y => doo(width, fn x => matrix_set(f_down, y, x, 0))) ; doo(height, fn y => (matrix_set(e, y, width - 1, ~1) ; matrix_set(e, y, 0, ~1))) ; doo(width - 1, fn x => (matrix_set(e, height - 1, x, ~1) ; matrix_set(e, 0, x, ~1))) ; let val pushes = ref 0 val lifts = ref 0 val relabels = ref 0 fun loop(i, p) = if zero((op mod)(i, 6)) andalso not p then (relabel() ; relabels := !relabels + 1 ; if every_n(height, fn y => every_n(width, fn x => zero(matrix_ref(e, y, x)) orelse matrix_ref(h, y, x) = m1)) then (* Every vertex with excess capacity is not reachable from the sink in * the inverse residual network. So terminate early because we have * already found a min cut. In this case, the preflows and excess * capacities will not be correct. But the cut is indicated by the * heights. Vertices reachable from the source have height * HEIGHT * WIDTH + 2 while vertices reachable from the sink have * smaller height. Early termination is necessary with relabeling to * prevent an infinite loop. The loop arises because vertices that are * not reachable from the sink in the inverse residual network have * their height reset to HEIGHT * WIDTH + 2 by the relabeling * process. If there are such vertices with excess capacity, this is * not high enough for the excess capacity to be pushed back to the * perimeter. So after relabeling, vertices get lifted to try to push * excess capacity back to the perimeter but then a relabeling happens * to soon and foils this lifting. Terminating when all vertices with * excess capacity are not reachable from the sink in the inverse * residual network eliminates this problem. *) (pormat ("~s push~a, ~s lift~a, ~s relabel~a, ~s wave~a, terminated early~%", [Int(! pushes), String(if !pushes = 1 then "" else "es"), Int(! lifts), String(if !lifts = 1 then "" else "s"), Int(! relabels), String(if !relabels = 1 then "" else "s"), Int i, String(if i = 1 then "" else "s")])) else (* We need to rebuild the priority queue after relabeling since the * heights might have changed and the priority queue is indexed by * height. This also assumes that a relabel is done before any pushes * or lifts. *) (doo(SMLSharp.PrimArray.length q, fn k => SMLSharp.PrimArray.update_unsafe(q, k, [])) ; doo(height, fn y => doo(width, fn x => matrix_set(marked, y, x, false))) ; doo(height, fn y => doo(width, fn x => if not(zero(matrix_ref(e, y, x))) then enqueue(y, x) else ())) ; loop(i, true))) else if some_vector(q, fn ps => some(ps, fn p => let val x = x p val y = y p in can_push_right(y, x) orelse can_push_left(y, x) orelse can_push_down(y, x) orelse can_push_up(y, x) orelse can_push_t(y, x) orelse can_lift(y, x) end)) then ( let fun loop k = if not(negative k) then ( let val ps = SMLSharp.PrimArray.sub_unsafe(q, k) in SMLSharp.PrimArray.update_unsafe(q, k, []) ; (for_each (ps, fn p => matrix_set(marked, y p, x p, false))) ; (for_each (ps, fn p => let val x = x p val y = y p in if can_push_right(y, x) then (pushes := !pushes + 1 ; push_right(y, x)) else () ; if can_push_left(y, x) then (pushes := !pushes + 1 ; push_left(y, x)) else () ; if can_push_down(y, x) then (pushes := !pushes + 1 ; push_down(y, x)) else () ; if can_push_up(y, x) then (pushes := !pushes + 1 ; push_up(y, x)) else () ; if can_push_t(y, x) then (pushes := !pushes + 1 ; push_t(y, x)) else () ; if can_lift(y, x) then (lifts := !lifts + 1 ; lift(y, x)) else () ; if not(zero(matrix_ref(e, y, x))) then enqueue(y, x) else () end)) end ; loop(k - 1)) else () in loop(SMLSharp.PrimArray.length q - 1) end ; loop(i + 1, false)) else (* This is so MIN_CUT and MIN_CUT_INCLUDES_EVERY_EDGE_TO_T work. *) (relabel() ; relabels := !relabels + 1 ; (pormat("~s push~a, ~s lift~a, ~s relabel~a, ~s wave~a~%", [Int(! pushes), String(if !pushes = 1 then "" else "es"), Int(! lifts), String(if !lifts = 1 then "" else "s"), Int(! relabels), String(if !relabels = 1 then "" else "s"), Int i, String(if i = 1 then "" else "s")]))) in loop(0, false) end end fun min_cut_includes_every_edge_to_t() = (* This requires that a relabel was done immediately before returning from * PREFLOW_PUSH. *) every_n(height, fn y => every_n(width, fn x => matrix_ref(h, y, x) = m1)) fun min_cut() = (* This requires that a relabel was done immediately before returning from * PREFLOW_PUSH *) map_n_vector (height, fn y => map_n_vector(width, fn x => not(matrix_ref(h, y, x) = m1))) fun loop(lg_v, v_max) = if negative lg_v then (pormat("V-MAX=~s~%",[Int v_max]) ; preflow_push(v_max + 1) ; min_cut()) else let val v = v_max + let fun loop(i, c) = if (zero i) then c else loop(i - 1, c + c) in loop(lg_v, 1) end in pormat("LG-V=~s, V-MAX=~s, V=~s~%", [Int lg_v, Int v_max, Int v]) ; preflow_push v ; loop(lg_v - 1, if min_cut_includes_every_edge_to_t() then v else v_max) end in loop(lg_max_v, 0) end in fun doit() = let val height = 256 val width = 256 val lg_max_v = 15 val c_right = make_matrix(height, width - 1, ~1) val c_down = make_matrix(height - 1, width, ~1) in doo(height, fn y => doo(width - 1, fn x => matrix_set (c_right, y, x, if (y >= Int.quot(height, 4) andalso y < Int.quot(3 * height, 4) andalso (x = Int.quot(width, 4) - 1 orelse x = Int.quot(3 * width, 4) - 1)) then 1 else 128))) ; doo(height - 1, fn y => doo(width, fn x => matrix_set (c_down, y, x, if (x >= Int.quot(width, 4) andalso x < Int.quot(3 * width, 4) andalso (y = Int.quot(height, 4) - 1 orelse y = Int.quot(3 * height, 4) - 1)) then 1 else 128))) ; rao_ratio_region(c_right, c_down, make_matrix(height, width, 1), lg_max_v) end end structure Main = struct val doit = doit end smlsharp-1.2.0/benchmark/bin0000755 000000000000000000000000012050661606016126 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/bin/format.awk0000644 000000000000000000002071612050661606020207 0ustar00rootroot0000000 0000000 BEGIN { SUBSEP = ":" benchNo = 1 "date" | getline now } function append(key, value) { if (bench[key]) bench[key] = bench[key] "\n" bench[key] = bench[key] value } /^==/ { benchNo += 1 } /^[A-Za-z0-9_.():]*:/ { value = substr($0, length($1) + 1) sub("^ *", "", value) sub(":$", "", $1) append(benchNo ":" $1, value) } # bench[,"name"] # bench[,"date"] # bench[,"numResults"] # bench[,"option","options"] # bench[,"option",] # bench[,"message"] # bench[,"result",,"sourcePath"] # bench[,"result",,"compileTime"] # bench[,"result",,"compileProfile","profiles"] # bench[,"result",,"compileProfile",] # bench[,"result",,"exitStatus"] # bench[,"result",,"exceptions"] # bench[,"result",,"compileOutput"] # bench[,"result",,"executeOutput"] function h(str) { gsub("&", "\\&", str) gsub("<", "\\<", str) gsub(">", "\\>", str) gsub("\"", "\\"", str) return str } function resultName(benchNo, resultNo) { if (bench[benchNo, "name"] && bench[benchNo, "numResults"] == 1) return bench[benchNo, "name"] else return bench[benchNo, "name"] ":" resultNo } END { stripe[0] = "stripe0" stripe[1] = "stripe1" #for (i in bench) { # print "== " i # print bench[i] #} numBench = 0 for (i in bench) { split(i, a, SUBSEP) if (numBench < a[1]) numBench = a[1] } numProfiles = 0 for (i = 1; i <= numBench; i++) { for (j = 1; j <= bench[i,"numResults"]; j++) { split(bench[i,"result",j,"compileProfile","keys"], profiles, "\n") for (k = 1; k in profiles; k++) { name = profiles[k] if (!profileMap[name]) { profileMap[name] = ++numProfiles profiles[numProfiles] = name } } } } for (prof in profileMap) { profiles[profileMap[prof]] = prof } print "" print "" print "" print "" print "" print "" print "

Benchmark Results

" print "

Created on " h(now) "

" print "

Summary

" print "

Time

" print "" print "" print "" print "" print "" print "" print "" print "" lineno = 0 for (i = 1; i <= numBench; i++) { for (j = 1; j <= bench[i,"numResults"]; j++) { name = resultName(i, j) status = bench[i,"result",j,"exitStatus"] comp = bench[i,"result",j,"compileTime"] exec = bench[i,"result",j,"executionTime"] print "" print "" if (status != "0") print "" else print "" print "" lineno++ } } print "
Benchmark ResultCompilation Time (sys / usr / real)Execution Time (sys / usr / real)
" h(name) "failed" h(comp) "" h(exec) "
" print "

Compiler Profile

" print "" print "" print "" for (i = 1; i <= numBench; i++) { for (j = 1; j <= bench[i,"numResults"]; j++) { name = resultName(i, j) print "" } } print "" print "" lineno = 0 for (p = 1; p < numProfiles; p++) { prof = profiles[p] print "" print "" for (i = 1; i <= numBench; i++) { for (j = 1; j <= bench[i,"numResults"]; j++) { name = resultName(i, j) time = bench[i,"result",j,"compileProfile",prof] if (!time) time = "-" print "" } } print "" lineno++ } print "
timer" h(name) "
" h(prof) "" h(time) "
" for (i = 1; i <= numBench; i++) { print "
" print "

Benchmark " i " - " h(bench[i,"name"]) "

" print "

Date: " h(bench[i,"date"]) "

" print "

Options:

" print "" lineno = 0 split(bench[i,"option","keys"], options, "\n") for (j = 1; j in options; j++) { print "" key = options[j] value = bench[i,"option",key] print "" if (value == "yes") print "" else if (value == "no") print "" else print "" print "" lineno++ } print "
" h(key) "yesno" h(value) "
" for (j = 1; j <= bench[i,"numResults"]; j++) { name = resultName(i, j) print "

Benchmark " i " Result " j " - " h(name) "

" print "" print "" print "" print "" print "" comp = bench[i,"result",j,"compileTime"] print "" print "" if (comp) print "" else print "" print "" exec = bench[i,"result",j,"executionTime"] print "" print "" if (exec) print "" else print "" print "" print "" print "" if (bench[i,"result",j,"exitStatus"] == "0") print "" else print "" print "" print "
Source Path" h(bench[i,"result",j,"sourcePath"]) "
Compilation Time" h(comp) " (sys / usr / real)-
Execution Time" h(exec) " (sys / usr / real)-
Exit Status0" h(bench[i,"result",j,"exitStatus"]) "
" print "
" if ((i,"result",j,"message") in bench) { print "
Message:
" print "
"
                print h(bench[i,"result",j,"message"])
                print "
" } print "
Exceptions:
" if ((i,"result",j,"exceptions") in bench) { print "
"
                print h(bench[i,"result",j,"exceptions"])
                print "
" } else { print "
no exception.
" } print "
Compiler Output:
" if ((i,"result",j,"compileOutput") in bench) { print "
"
                print h(bench[i,"result",j,"compileOutput"])
                print "
" } else { print "
no output.
" } print "
Program Output:
" if ((i,"result",j,"executeOutput") in bench) { print "
"
                print h(bench[i,"result",j,"executeOutput"])
                print "
" } else { print "
no output.
" } print "
" } } print "" } smlsharp-1.2.0/benchmark/bin/runall.sh0000755 000000000000000000000163312050661606020044 0ustar00rootroot0000000 0000000 #!/bin/sh BENCHMARKS=" \ barnes_hut \ boyer \ coresml \ count_graphs \ fft \ knuth_bendix \ lexgen \ life \ logic \ mandelbrot \ mlyacc \ nucleic \ ray \ simple \ tsp \ vliw \ " # skipped because it runs infinite loop # ratio_regions \ MAXSECONDS=1800 INDEX_HTML=index.html DONE= for bench in ${BENCHMARKS}; do echo ${bench} 1>&2 ./runbenchmark.sh -remote -parsable -d ${bench} ../benchmarks/${bench}/load.sml > log_${bench}.txt 2>&1 & BENCHPID=$! sleep ${MAXSECONDS} && ps | grep ${BENCHPID} && kill ${BENCHPID} & wait ${BENCHPID} # wait until the benchmark finishes or is killed. DONE="$DONE $bench" (for bench in $DONE do echo "name: $bench" cat "$bench/result.txt" echo "==" done) | awk -f format.awk > $INDEX_HTML done smlsharp-1.2.0/benchmark/bin/runbenchmark.sh0000755 000000000000000000000414412050661606021226 0ustar00rootroot0000000 0000000 #!/bin/sh set +x # A script for running benchmark # $Id: runbenchmark.sh,v 1.11 2008/01/16 07:28:45 kiyoshiy Exp $ # # Example: # ./runonebenchmark.sh -html -usebasis -d D:/tmp/imlbench boyer/load.sml # Do not use backslash as path separator. # # If you configured SML# at a directory other than iml3/SMLSharp/, you have to # specify TOP_BUILDDIR environment. # $ env TOP_BUILDDIR=/home/yamato/iml3/SMLSharp/release ./runbenchmark.sh ... USAGE=\ "usage: $0 \ {-html} \ {-remote|-emulator} \ {-minimum|-usebasis|} \ [-d dir] \ filename ..." if test $# -lt 1; then echo ${USAGE} exit 1 fi ############################################################################### TOP_BUILDDIR=${TOP_BUILDDIR:-${PWD}/../../} #BENCHDIR=../benchmarks/ ############################################################################### PRINTER=HTML RUNTIME=Remote # use default prelude (non Basis) PRELUDE="" while true do case $1 in "-html") PRINTER="HTML" shift;; "-parsable") PRINTER="Parsable" shift;; # "-text") # PRINTER="Text" # shift;; "-remote") RUNTIME="Remote" shift;; "-native") PRELUDE=../../src/lib/ntprelude.smc RUNTIME="Native" shift;; "-emulator") RUNTIME="Emulator" shift;; "-minimum") PRELUDE=../../src/lib/minimum.sml shift;; "-usebasis") PRELUDE=../../src/lib/basis.sml shift;; *) break;; esac done MAIN="${PRINTER}${RUNTIME}Main" case $1 in "-d") shift RESULTDIR=$1 shift ;; *) RESULTDIR=. ;; esac mkdir -p ${RESULTDIR} BENCHFILES=$* if test -z "${BENCHFILES}"; then echo ${USAGE} exit 1 fi #for BENCHFILE in ${BENCHFILES};do # SOURCEPATHS="${SOURCEPATHS} ,\"${BENCHDIR}/${BENCHFILE}\"" #done for BENCHFILE in ${BENCHFILES};do SOURCEPATHS="${SOURCEPATHS} ,\"${BENCHFILE}\"" done ############################################################################### script="OS.FileSys.chDir \"../../bin\"; \ ${MAIN}.main \ (\"imlbench\", [\"${PRELUDE}\",\"${RESULTDIR}\" ${SOURCEPATHS}]);" (cd ../driver/main && exec $SHELL ${TOP_BUILDDIR}/mksmlheap --exec "$script") smlsharp-1.2.0/benchmark/driver0000755 000000000000000000000000012050661606016651 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/driver/main0000755 000000000000000000000000012050661606017575 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/benchmark/driver/main/BENCHMARK_DRIVER.sig0000644 000000000000000000000202212050661606022721 0ustar00rootroot0000000 0000000 (** * * @author YAMATODANI Kiyoshi * @version $Id: BENCHMARK_DRIVER.sig,v 1.2 2007/01/26 09:33:15 kiyoshiy Exp $ *) signature BENCHMARK_DRIVER = sig (***************************************************************************) (** * run benchmarks and emit results to file. * @params {prelude, isCompiledPrelude, sourcePaths, resultDirectory} * @param prelude path of source file which defines prelude. * @param isCompiledPrelude true if prelude is a compiled prelude. * @param sourcePaths list of paths of a directory where source files are or * a .sml file. All files in the directory is executed if * directory is specified. * @param resultDirectory path of directory where results are output. * @return unit *) val runBenchmarks : { prelude : string, isCompiledPrelude : bool, sourcePaths : string list, resultDirectory : string } -> unit (***************************************************************************) end smlsharp-1.2.0/benchmark/driver/main/BENCHMARK_RUNNER.sig0000644 000000000000000000000170612050661606022747 0ustar00rootroot0000000 0000000 (** * * @author YAMATODANI Kiyoshi * @version $Id: BENCHMARK_RUNNER.sig,v 1.4 2007/01/26 09:33:15 kiyoshiy Exp $ *) local structure BT = BenchmarkTypes structure CT = ChannelTypes in signature BENCHMARK_RUNNER = sig (***************************************************************************) val runBenchmark : { preludeFileName : string, isCompiledPrelude : bool, preludeChannel : CT.InputChannel, sourceFileName : string, sourceChannel : CT.InputChannel, compileOutputChannel : CT.OutputChannel, executeOutputChannel : CT.OutputChannel } -> { compileTime : BT.elapsedTime, compileProfile : (string * string * Time.time) list, executionTime : BT.elapsedTime, exitStatus : OS.Process.status } (***************************************************************************) end end (* local *)smlsharp-1.2.0/benchmark/driver/main/BenchmarkDriver.sml0000644 000000000000000000001221612050661606023441 0ustar00rootroot0000000 0000000 (** * * @author YAMATODANI Kiyoshi * @version $Id: BenchmarkDriver.sml,v 1.7 2007/01/26 09:33:15 kiyoshiy Exp $ *) functor BenchmarkDriver( structure BenchmarkRunner : BENCHMARK_RUNNER structure Printer : RESULT_PRINTER ) : BENCHMARK_DRIVER = struct (***************************************************************************) structure BT = BenchmarkTypes structure PU = PathUtility structure U = Utility (***************************************************************************) fun runOneCase (preludePath, isCompiledPrelude, sourcePath) = let val compileOutputArrayOptRef = ref (SOME (Word8Array.fromList [])) val executeOutputArrayOptRef = ref (SOME (Word8Array.fromList [])) val exceptionsRef = ref ([] : exn list) val compileOutputChannel = ByteArrayChannel.openOut {buffer = compileOutputArrayOptRef} val executeOutputChannel = ByteArrayChannel.openOut {buffer = executeOutputArrayOptRef} val {compileTime, compileProfile, executionTime, exitStatus} = (U.finally (FileChannel.openIn {fileName = sourcePath}) (fn sourceChannel => U.finally (FileChannel.openIn {fileName = preludePath}) (fn preludeChannel => BenchmarkRunner.runBenchmark { preludeFileName = preludePath, preludeChannel = preludeChannel, isCompiledPrelude = isCompiledPrelude, sourceFileName = sourcePath, sourceChannel = sourceChannel, compileOutputChannel = compileOutputChannel, executeOutputChannel = executeOutputChannel }) U.closeInputChannel) U.closeInputChannel) handle error => ( exceptionsRef := (error :: (!exceptionsRef)); { compileTime = BT.zeroElapsedTime, compileProfile = nil, executionTime = BT.zeroElapsedTime, exitStatus = OS.Process.failure } ) in #close compileOutputChannel(); #close executeOutputChannel(); { sourcePath = sourcePath, compileTime = compileTime, compileProfile = compileProfile, executionTime = executionTime, exitStatus = exitStatus, exceptions = exceptionsRef, compileOutputArrayOpt = !compileOutputArrayOptRef, executeOutputArrayOpt = !executeOutputArrayOptRef } : BT.benchmarkResult end fun isSourceFile fileName = case PU.splitBaseExt fileName of {ext = SOME "sml", ...} => true | _ => false fun collectSourcePathNamePairs sourcePath = let val (sourceDirectory, sourceNames) = if OS.FileSys.isDir sourcePath then (* files in dir *) (sourcePath, PU.collectFilesInDir isSourceFile sourcePath) else (* single file. *) if isSourceFile sourcePath then let val {dir, file} = PU.splitDirFile sourcePath in (dir, [file]) end else raise Fail ("not directory nor .sml file:" ^ sourcePath) in map (fn sourceName => {dir = sourceDirectory, file = sourceName}) sourceNames end fun runBenchmarks {prelude, isCompiledPrelude, sourcePaths, resultDirectory} = let val printerContext = Printer.initialize {directory = resultDirectory} val messagesRef = ref ([] : string list) val sourceDirNames = List.concat(map collectSourcePathNamePairs sourcePaths) val (printerContext, resultOptsRev) = foldl (fn (sourceDirFile as {file, ...}, (printerContext, resultOpts)) => let val sourcePath = PU.joinDirFile sourceDirFile val result = runOneCase(prelude, isCompiledPrelude, sourcePath) val printerContext = Printer.printCase printerContext result in (printerContext, SOME result :: resultOpts) end handle error as IO.Io _ => ( messagesRef := (exnMessage error) :: (!messagesRef); (printerContext, NONE :: resultOpts) )) (printerContext, []) sourceDirNames val results = List.rev(List.map valOf (List.filter isSome resultOptsRev)) in Printer.printSummary printerContext {messages = List.rev (!messagesRef), results = results}; Printer.finalize printerContext end (***************************************************************************) end smlsharp-1.2.0/benchmark/driver/main/BenchmarkRunner.sml0000644 000000000000000000001717012050661606023463 0ustar00rootroot0000000 0000000 (** * * @author YAMATODANI Kiyoshi * @version $Id: BenchmarkRunner.sml,v 1.21 2008/03/11 08:53:54 katsu Exp $ *) functor BenchmarkRunner(RuntimeRunner : RUNTIME_RUNNER) : BENCHMARK_RUNNER = struct (***************************************************************************) structure BT = BenchmarkTypes structure CU = ChannelUtility structure PU = PathUtility structure U = Utility (***************************************************************************) fun compilePrelude (parameter : Top.sysParam) preludePath preludeChannel = let (* val (context, compileUnitStamp) = Top.initialize () *) val (context, compileUnitStamp) = Top.initializeContextAndCompileUnitStamp () val preludeDir = U.getDirectory preludePath val currentSwitchTrace = !Control.switchTrace val currentPrintBinds = !Control.printBinds val _ = Control.switchTrace := false val _ = Control.printBinds := false val (success, newContextAndCompileUnitStamp) = Top.run context compileUnitStamp parameter { interactionMode = Top.Prelude, initialSourceChannel = preludeChannel, initialSourceName = preludePath, getBaseDirectory = fn () => preludeDir } handle e => ( #close preludeChannel (); Control.switchTrace := currentSwitchTrace; Control.printBinds := currentPrintBinds; raise e ) val _ =Control.switchTrace := currentSwitchTrace val _ = Control.printBinds := currentPrintBinds in newContextAndCompileUnitStamp end fun resumePrelude (parameter : Top.sysParam) preludePath preludeChannel = let val reader = { getByte = fn () => case #receive preludeChannel () of SOME byte => byte | NONE => raise Fail "unexpected EOF of library", getPos = #getPos preludeChannel, seek = #seek preludeChannel } val _ = print "restoring static environment..." val contextAndCompileUnitStamp = Top.unpickle (Pickle.makeInstream reader) handle exn => raise Fail ("malformed compiled code:" ^ exnMessage exn) val _ = print "done\n" val session = #session parameter fun execute () = case StandAloneSession.loadExecutable preludeChannel of SOME executable => (#execute session executable; execute ()) | NONE => () val _ = print "restoring dynamic environment..." val _ = execute () val _ = print "done\n" in contextAndCompileUnitStamp end fun compile { preludeFileName, isCompiledPrelude, preludeChannel, sourceFileName, sourceChannel, outputChannel, executableChannel } = let val session = StandAloneSession.openSession {outputChannel = executableChannel} in let val _ = print ("begin compile: " ^ sourceFileName ^ "\n") val _ = GlobalCounters.stop() handle exn => raise exn val initializeParameter = { session = session, standardOutput = outputChannel, (* no output expected. *) standardError = outputChannel, loadPathList = ["."], getVariable = OS.Process.getEnv } val (context, compileUnitStamp) = (if isCompiledPrelude then resumePrelude else compilePrelude) initializeParameter preludeFileName preludeChannel val _ = #reset Counter.root () val compileTimer = ProcessTimer.createTimer () val _ = if #1 (Top.run context compileUnitStamp initializeParameter { interactionMode = Top.NonInteractive {stopOnError = true}, initialSourceChannel = sourceChannel, initialSourceName = sourceFileName, getBaseDirectory = fn () => U.getDirectory sourceFileName }) then () else raise Fail "cannot compile benchmark." val compileTime = ProcessTimer.getTime compileTimer val _ = print ("end compile: " ^ sourceFileName ^ "\n") fun getProfile counterName = case #find Counter.root counterName of SOME (Counter.CounterSet (Counter.CounterSetInternal topSet)) => (case #find topSet "elapsed time" of SOME (Counter.CounterSet (Counter.CounterSetInternal timeSet)) => foldr (fn (Counter.ElapsedTimeCounter x, z) => (counterName, #name x, #getTime x ()) :: z | (_, z) => z) nil (#listCounters timeSet Counter.ORDER_OF_ADDITION) | _ => nil) | _ => nil val profile = getProfile "Top" @ getProfile "assembler" in #close session (); (compileTime, profile) end handle exn => (#close session (); print "compile error\n"; raise exn) end fun execute {executableFileName, outputChannel} = let val _ = print ("begin execute: " ^ executableFileName ^ "\n") val executionTimer = ProcessTimer.createTimer () val status = RuntimeRunner.execute { executableFileName = executableFileName, outputChannel = outputChannel } val executionTime = ProcessTimer.getTime executionTimer val _ = print ("end execute: " ^ executableFileName ^ "\n") in (executionTime, status) end fun runBenchmark { preludeFileName, preludeChannel, isCompiledPrelude, sourceFileName, sourceChannel, compileOutputChannel, executeOutputChannel } = let val executableFileName = U.replaceExt "imo" sourceFileName val (compileTime, compileProfile) = U.finally (FileChannel.openOut {fileName = executableFileName}) (fn executableChannel => compile { preludeFileName = preludeFileName, preludeChannel = preludeChannel, isCompiledPrelude = isCompiledPrelude, sourceFileName = sourceFileName, sourceChannel = sourceChannel, outputChannel = compileOutputChannel, executableChannel = executableChannel }) U.closeOutputChannel val (executionTime, exitStatus) = execute { executableFileName = executableFileName, outputChannel = executeOutputChannel } in { compileTime = compileTime, compileProfile = compileProfile, executionTime = executionTime, exitStatus = exitStatus } end (***************************************************************************) end smlsharp-1.2.0/benchmark/driver/main/BenchmarkRunner_Native.sml0000644 000000000000000000001725012050661606024770 0ustar00rootroot0000000 0000000 (** * * @author YAMATODANI Kiyoshi * @version $Id: BenchmarkRunner.sml,v 1.21 2008/03/11 08:53:54 katsu Exp $ *) structure BenchmarkRunner_Native : BENCHMARK_RUNNER = struct (***************************************************************************) structure BT = BenchmarkTypes structure CU = ChannelUtility structure PU = PathUtility structure U = Utility (***************************************************************************) fun compilePrelude (parameter : Top.sysParam) preludePath preludeChannel = let val (context, compileUnitStamp) = Top.initializeContextAndCompileUnitStamp () val preludeDir = U.getDirectory preludePath val currentSwitchTrace = !Control.switchTrace val currentPrintBinds = !Control.printBinds val _ = Control.switchTrace := false val _ = Control.printBinds := false val (success, newContextAndCompileUnitStamp) = Top.run context compileUnitStamp parameter { interactionMode = Top.Prelude, initialSourceChannel = preludeChannel, initialSourceName = preludePath, getBaseDirectory = fn () => preludeDir } handle e => ( #close preludeChannel (); Control.switchTrace := currentSwitchTrace; Control.printBinds := currentPrintBinds; raise e ) val _ =Control.switchTrace := currentSwitchTrace val _ = Control.printBinds := currentPrintBinds in newContextAndCompileUnitStamp end fun resumePrelude (parameter : Top.sysParam) preludePath (preludeChannel:ChannelTypes.InputChannel) = let val reader = { getByte = fn () => case #receive preludeChannel () of SOME byte => byte | NONE => raise Fail "unexpected EOF of library", getPos = #getPos preludeChannel, seek = #seek preludeChannel } val _ = print "restoring static environment..." val contextAndCompileUnitStamp = Top.unpickle (Pickle.makeInstream reader) handle exn => raise Fail ("malformed compiled code:" ^ exnMessage exn) val _ = print "done\n" in contextAndCompileUnitStamp end fun compile { preludeFileName, isCompiledPrelude, preludeChannel, sourceFileName, sourceChannel, outputChannel, executableFileName } = let val libraryFileName = if isCompiledPrelude then let val {base, ext} = OS.Path.splitBaseExt preludeFileName in SOME (OS.Path.joinBaseExt {base=base, ext=SOME "o"}) end else NONE val session = NativeStandAloneSession.openSession {outputFileName = executableFileName, preludeLibraryFileName = libraryFileName, compileMode = NativeStandAloneSession.Executable} in let val _ = print ("begin compile: " ^ sourceFileName ^ "\n") val initializeParameter = { session = session, standardOutput = outputChannel, (* no output expected. *) standardError = outputChannel, loadPathList = ["."], getVariable = OS.Process.getEnv } val (context, compileUnitStamp) = (if isCompiledPrelude then resumePrelude else compilePrelude) initializeParameter preludeFileName preludeChannel val _ = #reset Counter.root () val compileTimer = ProcessTimer.createTimer () val _ = if #1 (Top.run context compileUnitStamp initializeParameter { interactionMode = Top.NonInteractive {stopOnError = true}, initialSourceChannel = sourceChannel, initialSourceName = sourceFileName, getBaseDirectory = fn () => U.getDirectory sourceFileName }) then () else raise Fail "cannot compile benchmark." val compileTime = ProcessTimer.getTime compileTimer val _ = print ("end compile: " ^ sourceFileName ^ "\n") fun getProfile counterName = case #find Counter.root counterName of SOME (Counter.CounterSet (Counter.CounterSetInternal topSet)) => (case #find topSet "elapsed time" of SOME (Counter.CounterSet (Counter.CounterSetInternal timeSet)) => foldr (fn (Counter.ElapsedTimeCounter x, z) => (counterName, #name x, #getTime x ()) :: z | (_, z) => z) nil (#listCounters timeSet Counter.ORDER_OF_ADDITION) | _ => nil) | _ => nil val profile = getProfile "Top" @ getProfile "assembler" in #close session (); (compileTime, profile) end handle exn => (#close session (); print ("compile error: " ^ General.exnMessage exn^"\n"); raise exn) end fun execute {executableFileName, outputChannel} = let val _ = print ("begin execute: " ^ executableFileName ^ "\n") val executionTimer = ProcessTimer.createTimer () val outputFileName = U.replaceExt "out" executableFileName val command = executableFileName ^ " > " ^ outputFileName ^ " 2>&1 " val status = OS.Process.system command val _ = U.finally (FileChannel.openIn {fileName = outputFileName}) (fn inputChannel => CU.copy (inputChannel, outputChannel)) U.closeInputChannel val executionTime = ProcessTimer.getTime executionTimer val _ = print ("end execute: " ^ executableFileName ^ "\n") in (executionTime, status) end fun runBenchmark { preludeFileName, preludeChannel, isCompiledPrelude, sourceFileName, sourceChannel, compileOutputChannel, executeOutputChannel } = let val executableFileName = U.replaceExt "imo" sourceFileName val (compileTime, compileProfile) = compile { preludeFileName = preludeFileName, preludeChannel = preludeChannel, isCompiledPrelude = isCompiledPrelude, sourceFileName = sourceFileName, sourceChannel = sourceChannel, outputChannel = compileOutputChannel, executableFileName = executableFileName } val (executionTime, exitStatus) = execute { executableFileName = executableFileName, outputChannel = executeOutputChannel } in { compileTime = compileTime, compileProfile = compileProfile, executionTime = executionTime, exitStatus = exitStatus } end (***************************************************************************) end smlsharp-1.2.0/benchmark/driver/main/BenchmarkTypes.sml0000644 000000000000000000000161212050661606023310 0ustar00rootroot0000000 0000000 (** * * @author YAMATODANI Kiyoshi * @version $Id: BenchmarkTypes.sml,v 1.7 2005/09/15 09:05:19 kiyoshiy Exp $ *) structure BenchmarkTypes = struct (***************************************************************************) type elapsedTime = {sys : Time.time, usr : Time.time, real : Time.time} type benchmarkResult = { sourcePath : string, compileTime : elapsedTime, compileProfile : (string * string * Time.time) list, executionTime : elapsedTime, exitStatus : OS.Process.status, exceptions : exn list ref, compileOutputArrayOpt : Word8Array.array option, executeOutputArrayOpt : Word8Array.array option } val zeroElapsedTime : elapsedTime = {sys = Time.zeroTime, usr = Time.zeroTime, real = Time.zeroTime} (***************************************************************************) endsmlsharp-1.2.0/benchmark/driver/main/HTMLResultPrinter.sml0000644 000000000000000000001224612050661606023705 0ustar00rootroot0000000 0000000 (** * * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * @version $Id: HTMLResultPrinter.sml,v 1.14 2007/12/07 09:08:31 katsu Exp $ *) structure HTMLResultPrinter : RESULT_PRINTER = struct (***************************************************************************) structure C = Control structure BT = BenchmarkTypes structure PU = PathUtility (***************************************************************************) type context = {directory : string} (***************************************************************************) fun initialize {directory} = ({directory = directory} : context) fun finalize _ = () fun printTo (channel:ChannelTypes.OutputChannel) text = #print channel text fun makeHTMLFilePath resultDirectory sourcePath = let val {dir, file} = PU.splitDirFile sourcePath val {base, ext} = PU.splitBaseExt file in {dir = resultDirectory, file = base ^ ".html"} end fun printCase context (result : BT.benchmarkResult) = context fun printTableHeader resultChannel = let val print = printTo resultChannel in print "\n"; print "source file\n"; print "compile(sys/usr/real)\n"; print "execute(sys/usr/real)\n"; print "exceptions\n"; print "compile output"; print "execution output"; print "\n" end fun printCaseResultEntry directory resultChannel (result : BT.benchmarkResult) = let val print = printTo resultChannel fun printElapsedTime {sys, usr, real} = app print [ (Time.toString sys), "/", (Time.toString usr), "/", (Time.toString real) ] fun printException exn = ( print (exnMessage exn); print "
"; app (fn history => print (history ^ "
\n")) (SMLofNJ.exnHistory exn) ) val casePagePath as {file = casePageFileName, ...} = makeHTMLFilePath directory (#sourcePath result) in print "\n"; (* source file *) print ("" ^ (#sourcePath result) ^ "\n"); (* compile time *) print ""; printElapsedTime (#compileTime result); print ""; (* execution time *) print ""; printElapsedTime (#executionTime result); print ""; (* exceptions *) print ""; app (fn exn => (printException exn; print "

\n")) (!(#exceptions result)); print ""; (* output of compilation *) print ""; case #compileOutputArrayOpt result of NONE => print " " | SOME outputArray => (print (Byte.unpackString (Word8ArraySlice.slice (outputArray, 0, NONE)))); print ""; (* output of execution *) print ""; case #executeOutputArrayOpt result of NONE => print " " | SOME outputArray => (print (Byte.unpackString (Word8ArraySlice.slice(outputArray, 0, NONE)))); print ""; print "\n" end fun printStatics resultChannel results = let val print = printTo resultChannel in print "

\n"; print (Date.toString(Date.fromTimeLocal(Time.now ())) ^ "
\n"); print ("benchmarks: " ^ Int.toString (List.length results) ^ "
\n"); print "

\n" end fun printMessages resultPageChannel messages = let val print = printTo resultPageChannel in print "

\n"; app (fn message => (print message; print "\n
")) messages; print "

\n" end fun printOptions resultPageChannel = let val print = printTo resultPageChannel fun printRow (name, switch) = ( print ""; print ("" ^ name ^ ""); print ("" ^ (C.switchToString switch) ^ ""); print "\n" ) in print "

\n"; print "\n"; print "\n"; app printRow (C.listSwitches ()); print "
namevalue
\n"; print "

\n" end fun printSummary (context : context) {messages, results} = let val directory = #directory context val fileName = PU.joinDirFile{dir = directory, file = "index.html"} val resultPageChannel = FileChannel.openOut {fileName = fileName} val print = printTo resultPageChannel in ( print "\n"; printStatics resultPageChannel results; printMessages resultPageChannel messages; print "\n"; printTableHeader resultPageChannel; app (printCaseResultEntry directory resultPageChannel) results; print "
\n"; printOptions resultPageChannel; print "\n" ) handle exn => (#close resultPageChannel (); raise exn); #close resultPageChannel (); context end (***************************************************************************) end smlsharp-1.2.0/benchmark/driver/main/Main.sml0000644 000000000000000000000544512050661606021265 0ustar00rootroot0000000 0000000 (** * * @author YAMATODANI Kiyoshi * @version $Id: Main.sml,v 1.9 2007/01/26 09:33:15 kiyoshiy Exp $ *) functor Main(structure Printer : RESULT_PRINTER structure BenchmarkRunner : BENCHMARK_RUNNER) = struct (***************************************************************************) structure C = Control structure Driver = BenchmarkDriver( structure BenchmarkRunner = BenchmarkRunner structure Printer = Printer ) structure U = Utility (***************************************************************************) val libdir = Configuration.LibDirectory val minimumPreludePath = libdir ^ "/" ^ Configuration.MinimumPreludeFileName val PreludePath = libdir ^ "/" ^ Configuration.PreludeFileName val compiledPreludePath = libdir ^ "/" ^ Configuration.CompiledPreludeFileName val USAGE = "prelude resultDirectory sourcePath1 ..." fun main (_, prelude :: resultDirectory :: sourcePaths) = ( Control.switchTrace := false; Control.printBinds := false; Control.printWarning := false; Control.checkType := false; Control.generateExnHistory := true; C.setControlOptions "IML_" OS.Process.getEnv; VM.instTrace := false; VM.stateTrace := false; VM.heapTrace := false; Driver.runBenchmarks { prelude = if prelude = "" then compiledPreludePath else prelude, isCompiledPrelude = prelude = "" orelse U.isSuffix(prelude, "smc"), sourcePaths = sourcePaths, resultDirectory = resultDirectory }; OS.Process.success ) | main _ = (print USAGE; OS.Process.failure) (***************************************************************************) end structure TextEmulatorMain = Main(structure Printer = TextResultPrinter structure BenchmarkRunner = BenchmarkRunner(RuntimeRunner_Emulator)) structure TextRemoteMain = Main(structure Printer = TextResultPrinter structure BenchmarkRunner = BenchmarkRunner(RuntimeRunner_Remote)) structure HTMLEmulatorMain = Main(structure Printer = HTMLResultPrinter structure BenchmarkRunner = BenchmarkRunner(RuntimeRunner_Emulator)) structure HTMLRemoteMain = Main(structure Printer = HTMLResultPrinter structure BenchmarkRunner = BenchmarkRunner(RuntimeRunner_Remote)) structure ParsableEmulatorMain = Main(structure Printer = ParsableResultPrinter structure BenchmarkRunner = BenchmarkRunner(RuntimeRunner_Emulator)) structure ParsableRemoteMain = Main(structure Printer = ParsableResultPrinter structure BenchmarkRunner = BenchmarkRunner(RuntimeRunner_Remote)) structure ParsableNativeMain = Main(structure Printer = ParsableResultPrinter structure BenchmarkRunner = BenchmarkRunner_Native) smlsharp-1.2.0/benchmark/driver/main/ParsableResultPrinter.sml0000644 000000000000000000001042412050661606024666 0ustar00rootroot0000000 0000000 (** * print test result into channel. * @author UENO Katsuhiro * @version $Id: $ *) structure ParsableResultPrinter : RESULT_PRINTER = struct type context = {directory : string} fun initialize {directory} = ({directory = directory} : context) fun finalize _ = () fun printTo (channel:ChannelTypes.OutputChannel) text = #print channel text fun printCase context (result : BenchmarkTypes.benchmarkResult) = context fun formatElapsedTime {sys, usr, real} = Time.toString sys ^ " / " ^ Time.toString usr ^ " / " ^ Time.toString real fun noBreak string = String.translate (fn #"\n" => " " | c => str c) string fun formatKey key = String.translate (fn #":" => "_" | c => if Char.isSpace c then "_" else str c) key fun appi f l = let fun loop (n, nil) = () | loop (n, h::t) = (f (h,n) : unit; loop (n+1,t)) in loop (0, l) end fun printOutput out prefix NONE = () | printOutput out prefix (SOME array) = let val str = Byte.unpackString (Word8ArraySlice.slice (array, 0, NONE)) val lines = String.fields (fn c => c = #"\n") str in app (fn line => printTo out (prefix ^ line ^ "\n")) lines end fun printResult out no (result : BenchmarkTypes.benchmarkResult) = let val prefix = "result:" ^ Int.toString no ^ ":" fun toKey (setName, timerName, time) = formatKey (setName ^ "." ^ timerName) in printTo out (prefix ^ "sourcePath: " ^ #sourcePath result ^ "\n"); printTo out (prefix ^ "compileTime: " ^ formatElapsedTime (#compileTime result) ^ "\n"); app (fn x => printTo out (prefix ^ "compileProfile:keys: " ^ toKey x ^ "\n")) (#compileProfile result); app (fn profile as (setName, timerName, time) => printTo out (prefix ^ "compileProfile:" ^ toKey profile ^ ": " ^ Time.toString time ^ "\n")) (#compileProfile result); printTo out (prefix ^ "executionTime: " ^ formatElapsedTime (#executionTime result) ^ "\n"); printTo out (prefix ^ "exitStatus: " ^ (if OS.Process.isSuccess (#exitStatus result) then "0" else "failed") ^ "\n"); app (fn exn => ( printTo out (prefix ^ "exceptions: " ^ exnMessage exn ^ "\n"); app (fn history => printTo out (prefix ^ "exceptions: " ^ "\t" ^ history ^ "\n")) (SMLofNJ.exnHistory exn) )) (!(#exceptions result)); printOutput out (prefix ^ "compileOutput: ") (#compileOutputArrayOpt result); printOutput out (prefix ^ "executeOutput: ") (#executeOutputArrayOpt result); () end fun printSummary (context : context) {messages, results} = let val filename = PathUtility.joinDirFile {dir = #directory context, file = "result.txt"} val _ = print ("output file: " ^ filename ^ "\n") val out = FileChannel.openOut {fileName = filename} val now = Date.fromTimeLocal (Time.now ()) in printTo out ("date: " ^ Date.toString now ^ "\n"); printTo out ("numResults: " ^ Int.toString (length results) ^ "\n"); app (fn (name, switch) => printTo out ("option:keys: " ^ formatKey name ^ "\n")) Control.switchTable; app (fn (name, switch) => printTo out ("option:" ^ formatKey name ^ ": " ^ noBreak (Control.switchToString switch) ^ "\n")) Control.switchTable; app (fn msg => printTo out ("message: " ^ msg ^ "\n")) messages; foldl (fn (result, no) => (printResult out no result; no + 1)) 1 results; #close out (); context end end smlsharp-1.2.0/benchmark/driver/main/PROCESS_TIMER.sig0000644 000000000000000000000075512050661606022445 0ustar00rootroot0000000 0000000 (** * @author YAMATODANI Kiyoshi * @version $Id: PROCESS_TIMER.sig,v 1.3 2007/12/03 01:22:37 kiyoshiy Exp $ *) signature PROCESS_TIMER = sig (***************************************************************************) type timer (***************************************************************************) val createTimer : unit -> timer val getTime : timer -> BenchmarkTypes.elapsedTime (***************************************************************************) endsmlsharp-1.2.0/benchmark/driver/main/ProcessTimer_General.sml0000644 000000000000000000000146712050661606024455 0ustar00rootroot0000000 0000000 (** * ProcessTimer for platforms on which Posix structure is not available. * @author YAMATODANI Kiyoshi * @version $Id: ProcessTimer_General.sml,v 1.4 2007/12/03 01:22:37 kiyoshiy Exp $ *) structure ProcessTimer : PROCESS_TIMER = struct (***************************************************************************) type timer = Timer.cpu_timer * Timer.real_timer (***************************************************************************) fun createTimer () = (Timer.startCPUTimer (), Timer.startRealTimer ()) fun getTime (CPUTimer, realTimer) = let val {sys, usr} = Timer.checkCPUTimer CPUTimer val real = Timer.checkRealTimer realTimer in {sys = sys, usr = usr, real = real} end (***************************************************************************) end;smlsharp-1.2.0/benchmark/driver/main/ProcessTimer_Unix.sml0000644 000000000000000000000254212050661606024016 0ustar00rootroot0000000 0000000 (** * ProcessTimer for platforms on which Posix structure is available. * @author YAMATODANI Kiyoshi * @version $Id: ProcessTimer_Unix.sml,v 1.4 2007/12/03 01:22:37 kiyoshiy Exp $ *) structure ProcessTimer : PROCESS_TIMER = struct (***************************************************************************) type timer = { elapsed:Time.time, stime:Time.time, utime:Time.time, cstime:Time.time, cutime:Time.time } (***************************************************************************) val createTimer = Posix.ProcEnv.times fun getTime times1 = let val times2 = Posix.ProcEnv.times () fun diffTime selector1 selector2 = Time.+ ( Time.-(selector1 times2, selector1 times1), Time.-(selector2 times2 ,selector2 times1) ) handle General.Overflow => Time.zeroTime in { sys = diffTime #stime #cstime, usr = diffTime #utime #cutime, real = Time.-(#elapsed times2, #elapsed times1) handle General.Overflow => Time.zeroTime } end handle General.Overflow => {sys = Time.zeroTime, usr = Time.zeroTime, real = Time.zeroTime} (***************************************************************************) end; smlsharp-1.2.0/benchmark/driver/main/RESULT_PRINTER.sig0000644 000000000000000000000157312050661606022607 0ustar00rootroot0000000 0000000 (** * print test result into channel. * @author YAMATODANI Kiyoshi * @version $Id: RESULT_PRINTER.sig,v 1.1 2005/09/05 05:28:13 kiyoshiy Exp $ *) signature RESULT_PRINTER = sig (***************************************************************************) type context (***************************************************************************) val initialize : { (** the diretcory where formatted to be emitted.*) directory : string } -> context val finalize : context -> unit val printCase : context -> BenchmarkTypes.benchmarkResult -> context val printSummary : context -> { (** general message *) messages : string list, (** list of test case results *) results : BenchmarkTypes.benchmarkResult list } -> context (***************************************************************************) endsmlsharp-1.2.0/benchmark/driver/main/RUNTIME_RUNNER.sig0000644 000000000000000000000054112050661606022574 0ustar00rootroot0000000 0000000 signature RUNTIME_RUNNER = sig (***************************************************************************) val execute : { executableFileName : string, outputChannel : ChannelTypes.OutputChannel } -> OS.Process.status (***************************************************************************) endsmlsharp-1.2.0/benchmark/driver/main/RuntimePath_Unix.sml0000644 000000000000000000000021512050661606023632 0ustar00rootroot0000000 0000000 structure RuntimePath = struct val name = "Unix" (* relative path from test/bin. *) val runtimePath = Configuration.RuntimePath end smlsharp-1.2.0/benchmark/driver/main/RuntimePath_Windows.sml0000644 000000000000000000000012412050661606024340 0ustar00rootroot0000000 0000000 structure RuntimePath = struct val runtimePath = Configuration.RuntimePath end smlsharp-1.2.0/benchmark/driver/main/RuntimeProxyFactory_General.sml0000644 000000000000000000000047112050661606026045 0ustar00rootroot0000000 0000000 structure RuntimeProxyFactory = struct val name = "General" val runtimePath = RuntimePath.runtimePath val port = 12345; fun createInstance () = NetworkRuntimeProxy.initialize { runtimePath = runtimePath, arguments = [], port = port } end smlsharp-1.2.0/benchmark/driver/main/RuntimeProxyFactory_Unix.sml0000644 000000000000000000000035012050661606025407 0ustar00rootroot0000000 0000000 structure RuntimeProxyFactory = struct val name = "Unix" val runtimePath = RuntimePath.runtimePath fun createInstance () = UnixProcessRuntimeProxy.initialize {runtimePath = runtimePath, arguments = []} end smlsharp-1.2.0/benchmark/driver/main/RuntimeRunner_Emulator.sml0000644 000000000000000000000376212050661606025066 0ustar00rootroot0000000 0000000 (** * @author YAMATODANI Kiyoshi * @version $Id: RuntimeRunner_Emulator.sml,v 1.4 2007/06/01 09:40:59 kiyoshiy Exp $ *) structure RuntimeRunner_Emulator : RUNTIME_RUNNER = struct (***************************************************************************) structure BT = BasicTypes structure ES = ExecutableSerializer structure SAS = StandAloneSession structure U = Utility (***************************************************************************) (* initialize virtual machine *) val heapSize = 0w1000000 : BasicTypes.UInt32 val frameStackSize = 0w100000 : BasicTypes.UInt32 val handlerStackSize = 0w100000 : BasicTypes.UInt32 val globalCount = 0w10000 : BasicTypes.UInt32 fun loadExecutables channel = let fun loop executables = case SAS.loadExecutable channel of NONE => rev executables | SOME executable => loop (executable :: executables) in loop [] end fun execute {executableFileName, outputChannel} = let val executables = U.finally (FileChannel.openIn {fileName = executableFileName}) loadExecutables U.closeInputChannel val VM = VM.initialize { name = "VMEmulator", arguments = [], heapSize = heapSize, frameStackSize = frameStackSize, handlerStackSize = handlerStackSize, globalCount = globalCount, standardInput = TextIOChannel.openIn{inStream = TextIO.stdIn}, standardOutput = outputChannel, standardError = outputChannel, primitives = PrimitiveTable.map, debuggerOpt = NONE } val session = VMSession.openSession {VM = VM} in app (fn executable => #execute session executable) executables; OS.Process.success end handle SessionTypes.Failure exn => raise exn | SessionTypes.Fatal exn => raise exn (***************************************************************************) end smlsharp-1.2.0/benchmark/driver/main/RuntimeRunner_Remote.sml0000644 000000000000000000000213112050661606024516 0ustar00rootroot0000000 0000000 (** * @author YAMATODANI Kiyoshi * @version $Id: RuntimeRunner_Remote.sml,v 1.5 2005/10/24 07:28:23 kiyoshiy Exp $ *) structure RuntimeRunner_Remote : RUNTIME_RUNNER = struct (***************************************************************************) structure CU = ChannelUtility structure U = Utility (***************************************************************************) val heapSize = 40960000 fun execute {executableFileName, outputChannel} = let val outputFileName = U.replaceExt "out" executableFileName val command = RuntimePath.runtimePath ^ " -heap 8192000 " ^ " -file " ^ executableFileName ^ " > " ^ outputFileName ^ " 2>&1 " val status = OS.Process.system command in U.finally (FileChannel.openIn {fileName = outputFileName}) (fn inputChannel => CU.copy (inputChannel, outputChannel)) U.closeInputChannel; status end (***************************************************************************) end smlsharp-1.2.0/benchmark/driver/main/sources.cm0000644 000000000000000000000223112050661606021656 0ustar00rootroot0000000 0000000 Group is $/basis.cm ../../../../smlnj-lib/Util/smlnj-lib.cm ../../../src/configuration/sources.cm ../../../src/compiler/toplevel/sources.cm ../../../src/compiler/session/sources.cm ../../../src/compiler/vm/sources.cm ../../../src/compiler/util/sources.cm ../../../src/compiler/control/sources.cm ../../../src/compiler/vm/sources.cm ../../../src/compiler/pickle/sources.cm ../../../src/compiler/name/sources.cm ../../../src/instructions/compiler/sources.cm BenchmarkTypes.sml RESULT_PRINTER.sig PROCESS_TIMER.sig #if defined(structure Posix) RuntimePath_Unix.sml ProcessTimer_Unix.sml #else RuntimePath_Windows.sml ProcessTimer_General.sml #endif RUNTIME_RUNNER.sig RuntimeRunner_Remote.sml RuntimeRunner_Emulator.sml BENCHMARK_RUNNER.sig BenchmarkRunner.sml BenchmarkRunner_Native.sml BENCHMARK_DRIVER.sig BenchmarkDriver.sml TextResultPrinter.sml HTMLResultPrinter.sml ParsableResultPrinter.sml Utility.sml Main.sml smlsharp-1.2.0/benchmark/driver/main/TextResultPrinter.sml0000644 000000000000000000000351612050661606024065 0ustar00rootroot0000000 0000000 (** * * @author YAMATODANI Kiyoshi * @version $Id: TextResultPrinter.sml,v 1.5 2007/12/07 09:08:31 katsu Exp $ *) structure TextResultPrinter : RESULT_PRINTER = struct (***************************************************************************) structure BT = BenchmarkTypes structure PU = PathUtility (***************************************************************************) type context = ChannelTypes.OutputChannel (***************************************************************************) fun printTo (channel:context) text = #print channel text val subSectionSeparator = "\n------------------------------------------------------------\n" val sectionSeparator = "\n============================================================\n" fun initialize {directory} = let val resultChannel = FileChannel.openOut {fileName = PU.joinDirFile{dir = directory, file = "result.txt"}} in resultChannel end fun finalize (resultChannel : context) = #close resultChannel () fun printCase (resultChannel : context) (result : BT.benchmarkResult as {sourcePath, compileTime, executionTime, ...}) = let val print = printTo resultChannel in print (sourcePath ^ "\n"); resultChannel end fun printSummary (resultChannel : context) {messages, results : BT.benchmarkResult list} = let val cases = List.length results in printTo resultChannel ("cases:" ^ Int.toString cases); printTo resultChannel sectionSeparator; app (fn message => printTo resultChannel (message ^ "\n")) messages; printTo resultChannel sectionSeparator; resultChannel end (***************************************************************************) end smlsharp-1.2.0/benchmark/driver/main/Utility.sml0000644 000000000000000000000233112050661606022033 0ustar00rootroot0000000 0000000 (** * @author YAMATODANI Kiyoshi * @version $Id: Utility.sml,v 1.2 2007/01/26 09:33:15 kiyoshiy Exp $ *) structure Utility = struct (***************************************************************************) structure PU = PathUtility (***************************************************************************) fun closeOutputChannel (channel : ChannelTypes.OutputChannel) = #close channel () fun closeInputChannel (channel : ChannelTypes.InputChannel) = #close channel () fun getDirectory path = case PU.splitDirFile path of {dir, ...} => dir fun replaceExt ext fileName = case PU.splitBaseExt fileName of {base, ...} => PU.joinBaseExt{base = base, ext = SOME ext} (** ensure finalizer is executed *) fun finally arg userFunction finalizer = ((userFunction arg) before (finalizer arg)) handle e => (finalizer arg; raise e) fun isSuffix (string, suffix) = let val stringlen = size string val suffixlen = size suffix in suffixlen <= stringlen andalso suffix = String.substring (string, stringlen - suffixlen, suffixlen) end (***************************************************************************) end smlsharp-1.2.0/benchmark/README.txt0000644 000000000000000000000402312050661606017132 0ustar00rootroot0000000 0000000 IML Benchmark suite. @author YAMATODANI Kiyoshi @version $Id: README.txt,v 1.3 2008/01/16 07:31:25 kiyoshiy Exp $ -------------------- 1, Overview This benchmark suite consists of two components. * driver * benchmark programs The driver invokes the IML to execute benchmark programs and records elapsed time. Constituent files of the benchmark suite are organized in the following directories. develop +-- benchmark +-- bin +-- driver +-- benchmarks +-- barnes-hut +-- boyer +-- ... Shell scripts in the 'bin' directory invoke the driver. The 'driver' directory contains source files of the driver. Some benchmark programs are provided in the 'benchmarks' directory. -------------------- 2, Running benchmark. With shell scripts found in the 'bin' directory, you can invoke the benchmark driver to run benchmark programs. $ cd bin $ ./runbenchmark.sh \ -html \ -remote \ -d benchresult/coresml \ ../benchmarks/coresml/load.sml The benchmark driver processes a program as follows. compiler (1) compile preludes (2) compile benchmark program (3) emit bytecodes to an imo file runtime (4) executes bytecodes in an imo file The benchmark driver records amount times of (2) and (4). If you configured SML# at a directory other than iml3/SMLSharp/, you have to specify TOP_BUILDDIR environment. $ env TOP_BUILDDIR=/home/yamato/iml3/SMLSharp/release ./runbenchmark.sh ... -------------------- 3, Benchmark result. Results of benchmarks are emitted into a report document in some format. Currently, HTML format printer is implemented. And, with "-d" option, you can specify the directory into which documents are generated. -------------------- 4, Benchmark programs. You can specify any source program to invoke the benchmark driver. Some benchmark programs are provided in the 'benchmarks' directory. You can also add new benchmark programs under the 'benchmarks' directory. -------------------- smlsharp-1.2.0/Changes0000644 000000000000000000007155212050661606015010 0ustar00rootroot0000000 0000000 SML# version 1.2.0 (released on 2012-11-14) Improvements: * Functor applications and structure replications in interface files are supported. * Tuned up the non-moving garbage collector. * SML# compiler code is optimized, achieving fast compilation. * Refined type and value printers and error messages. * Inlining optimization is implemented. * Modified ml-yacc command and libraries to be suitable for SML#. * Implemented some optimizations to smlformat. * Added interface files for benchmarks. Fixed bugs: * Fixed several bugs related to functor. * Fixed a bug of polymorphic record pattern. ----------------------------------------------------------------------------- SML# version 1.1.0 (released on 2012-08-08) Improvements: * Functor definition is now available in interactive mode. * SML# compiler now rejects signatures that do not have any instance. Rejecting them is not strictly compliant with the definiton of SML, but necessary for separately compiling a functor. * Refined value, type and signature printers of interactive mode. * Refined type error messages. Fixed bugs: * Fixed several bugs of functor with signature constraints. * Fixed a bug of eqtype constraint. * Fixed a bug of opaque signature constraint with datatype. * Fixed a bug of exception replication. * Fixed a bug that handle expresions may cause infinite loop. ----------------------------------------------------------------------------- SML# version 1.0.3 (released on 2012-06-25) Fixed bugs: * Fixed a bug of type inference phase. * Fixed a bug that some form of polymorphic record selector caused a runtime error. * Fixed a bug that accepted duplicate labels in a record expression in some cases. * Fixed a bug of evaluation of comparison operators with two constant literals. * Fixed a bug of elaboration of "withtype" of "abstype" declaration. ----------------------------------------------------------------------------- SML# version 1.0.2 (released on 2012-05-14) Fixed bugs: * Some illegal SQL select queries were accepted due to lack of a type unification. * Using capital letters in an SQL query caused runtime error when the query is sent to a database server. * Real.fmt returned wrong results. This bug was also affected to the value printer of the interactive mode. * Name evaluation passed duplicate link symbols in a case that those symbols are declared in different interface files. * "make" was aborted due to no rule on .desc files if --enable-fast-build is enabled. ----------------------------------------------------------------------------- SML# version 1.0.1 (released on 2012-04-24) Fixed bugs: * Vector.update caused segentation fault. * Bound type variables in a record kind caused a BUG exception. * opeining a structure containing overloaded ids caused a BUG exception. Improvements: * builtin-primitives are now printed in the interactive session. * link time warning about tmpnam(3) is suppressed. * --enable-fast-build option is added to configure script. This option reduces the time for building SML# compiler by reusing assembly code of minismlsharp. ----------------------------------------------------------------------------- SML# version 1.0.0 (released on 2012-04-06) SML# 1.0.0 is the first fully functional version of the SML# language system. It supports all the features the SML# project had initially aimed at, including: * Record polymorphism. * Direct interoperability with the C langauge. * Seamless integration of SQL. * True separate compilation and linking In addition to these goals we had set, we have also completed the development of: * Native multithread support on multicore hardware. * A fully concurrent non-moving GC. These two feature have not yet been well tested, and are not supported in this version. (Multithread support is turned off by default and the concurrent GC is not included.) These two features will soon be available in a forthcoming SML# version. For the details, see the SML# 1.0.0 documentations. * The Japanese version: http://www.pllab.riec.tohoku.ac.jp/smlsharp/docs/1.0/ja/index.xhtml * The English version: http://www.pllab.riec.tohoku.ac.jp/smlsharp/docs/1.0/en/index.xhtml The documents contain an overview of the SML# language, and a comprehensive tutorial, which provides sufficient information to start writing SML# programs. Enjoy cool and practical programming with SML# 1.0.0 ----------------------------------------------------------------------------- SML# version 0.90 (released on 2011-09-14) 1. Overview SML# 0.90 is an experimental release of the forthcoming new generation of SML#. This 0.90 version is a separate compilation system for SML# (which is backward compatible with the Standard ML). This version complements the interactive compiler of 0.60 series. The functionality of separate compilation is outlined in the following section. A detailed document will be released in the forthcoming SML# 1.00, which combines this separate compilation system and the interactive compiler. Meanwhile, the interested programmers and researchers can contact us for more details. 2. Separate Compilation Overview 2.1 smlsharp command Typical functionalities of the SML# 0.90 compiler command include the following. (1) Compile one source file into an object file. The command line % smlsharp -c foo.sml reads foo.sml and produces foo.o, consulting with its interface file. The programmer can specify an interface file of foo.sml in one of the following two ways: * to include a compiler directive line: _interface "" * to create a file foo.smi in the same directory. (2) Link object files. The command line % smlsharp A.smi locates all the object files referenced in A.smi, links them together (by invoking the system linker, ld) and produces an executable file, whose default file name is a.out. (3) Compile and link a source file. The command line % smlsharp A.sml compiles A.sml, links it with all the files referenced in A.smi and generates a.out. In (2), (3), if the source file references external C functions through _import declarations, then the programmer should list their object files (generated by C complier) as in % smlsharp A.sml clib.a cfun.o In addition, smlsharp command performs a number of other things related to compiling and linking. 2.2 Interface language To separately compile a source file, foo.sml, the programmer need to write its interface file, whose default name is foo.smi. This interface file specifies the resources foo.sml requires and those that are provided by foo.sml. The syntax of an interface file consists of the following. i. a list of require specification of the following form _require ii. a list of provide specifications. Its syntax is defined roughly as follows. ::= | ::= val | type | eqtype id (= ) | datatype | datatype = datatype | exception | structure = | infix | infixr | noninfix ::= = | ( = ) ::= = [and ] | ( = [and ] ) ::= struct end ::= functor ( : ) = Nonterminals not defined are analogous to those of Standard ML signature. They resemble Standard ML signatures but they also need to specify the information needed for smlsharp to compile a source that reference this interface into object code. Extra syntax are there for this purpose. ----------------------------------------------------------------------------- SML# version 0.62 (released on 2010-12-17) 1. Overview This is a patch release of SML# 0.60 series. This version is still experimental. 2. Changes and improvements [SML#] - added static allocation optimization. This optimization allocates constant records and closures to memory at compile time. This optimization is available only for native code and enabled by default. To disable this optimization, specify --xdoStaticAllocation=no option to the command line. - restructured the prelude library to improve performance. It also reduces time for compiling the native prelude library. - rewrote register allocation phase. New register allocation phase is based on Appel-George's iterative register allocator with register coalescing. The register coalescing is enabled by default. To disable the coalescing, specify --xdoRegisterCoalescing=no option to the command line. - enabled generational version of the non-moving bitmap marking garbage collector by default. This collector is available only for native code. - added support for SQL commands for transaction control. You may write "begin", "commit" or "rollback" command in a _sql expression as a SQL command. - added SQL.queryString and SQL.commandString primitive function. - fixed bug of handling real variables defined at toplevel in native code generation. - fixed type errors of intermediate representations for native code generation. - refactored native code backend. ----------------------------------------------------------------------------- SML# version 0.61 (released on 2010-11-26) 1. Overview This is a patch release of SML# 0.60 series. This version is still experimental. 2. Changes and improvements [SML#] - added a feature that CConfig creates a cache file for check results. - added Pointer structure. This structure is experimental and provides primitive functions for C pointers such as pointer arithmetics and memory access. ----------------------------------------------------------------------------- SML# version 0.60 (released on 2010-11-12) 1. Overview An experimental release of a new feature of SML#. Only the source package is provided. 2. The new feature The major new feature of SML# 0.60 is seamless interoperability with database systems. In this version, (a subset of) SQL is directly available as first-class SML# expressions and can be freely combined with any other language constructs in SML#. The SML# type system with record polymorphism always infers a principal type for any type consistent expression involving SQL query expressions. The compiler separates SQL queries and delegates them to a database server. To show a simple example, consider the following an SQL query SELECT name, age FROM person WHERE age <= 25 This is a function which takes a connection to a database that contains "person" table having "age" column of type integer and name column of any SQL supported atomic values possibly containing null. The following shows an SML# session defining this query: # val young = _sql db => select #person.name as name, #person.age as age from #db.people as person where SQL.<= (#person.age, 35); val young = fn : ['a#{people:'b}, 'b#{age:int, name:'d}, 'c, 'd::{int, word, char, string, real, 'e option}, 'e::{int, word, char, bool, string, real}. ('a, 'c) SQL.db -> {age: int, name: 'd} SQL.query] "'e option" represents values possibly containing null. The inferred type is indeed a principal type of "young". In addition to SQL queries, database servers and database connections are also typed first-class citizens. These feature allow the SML programmer to write a typed polymorphic higher-order programs with SQL queries. In this version, only PostgreSQL is supported; MySQL binding will be added in a future release. For a brief description on how to use this feature, see the web page: http://www.pllab.riec.tohoku.ac.jp/smlsharp/?FeatureDatabaseIntegration 3. Oteher changes and improvements none. ----------------------------------------------------------------------------- SML# version 0.58 (released on 2010-10-16) 1. Overview This is a patch release of SML# 0.50 series. This version is still experimental. 2. Changes and improvements [SML#] - fixed a bug that String.sub returns a negative integer if given string contains a non-ASCII character. - fixed a bug of printing string values on interactive mode. - fixed a bug of compilation of polymorphic flexible record patterns. - refined messages of type errors due to record kinds. ----------------------------------------------------------------------------- SML# version 0.57 (released on 2010-10-01) 1. Overview This is a patch release of SML# 0.50 series. This version is still experimental. 2. Changes and improvements [SML#] - Updated parser and improved conformance with the Definition. - accept unmatched "*)". - reject "*" as a tycon. - reject integer starting with "0" as a record label. - Updated the build system so that SML# can be built only by MLton. If --with-mlton option is specified to configure, and the build system uses MLton (without SML/NJ) to compile SML# compiler and other tools. ----------------------------------------------------------------------------- SML# version 0.56 (released on 2010-09-17) 1. Overview This is a patch release of SML# 0.50 series. This version is still experimental. 2. Changes and improvements [SML#] - refined several Makefiles and .cm files. [SMLDoc] - fixed errors in Makefile. [mlb2use] - added support for SML/NJ .cm files. ----------------------------------------------------------------------------- SML# version 0.55 (released on 2010-09-03) 1. Overview This is a patch release of SML# 0.50 series. This version is still experimental. 2. Changes and improvements [SML#] - fixed a bug of parsing unclosed comments and unclosed string literals. They now causes a parse error. ----------------------------------------------------------------------------- SML# version 0.54 (released on 2010-08-20) 1. Overview This is a patch release of SML# 0.50 series. This version is still experimental. 2. the Basis test suite This version includes the first public version of our test suites for Basis Library. One of advantages of Standard ML is that implementations share the specification of the language and Basis library. It encourages portability and stable long life of softwares written in Standard ML. We present a test suite for Standard ML Basis library. Compiler implementors can use it to check the conformance of their implementation to the Basis specification. We hope that this test suite helps to eliminate differences remaining among implementations of Basis library. This test suite is at smlsharp/SMLUnit/basis/ in the SML# source package. 3. Other changes and improvements [SML#] - rewrote Array2 from scratch to fix problems. - added Word8Array2. - added CharArray2. - implemented overflow check in Int.{scan, fromLarge, div, mod, quot, rem}. - implemented overflow check in IntInf.toInt. - fixed bugs of IntInf.log2. - fixed a bug of Real.split on cygwin. - added error checks to Date functions. ----------------------------------------------------------------------------- SML# version 0.53 (released on 2010-08-06) 1. Overview This is a patch release of SML# 0.50 series. This version is still experimental. 2. Changes and improvements [SML#] - fixed a bug of raising Div exception. - fixed a bug of floating-point literal compilation in native backend. - fixed a problem of SIGINT handling. - fixed many bugs in Array, Char, CharVector, Real, IEEEReal, String, VectorSlice, and Word, Word8 structures. - implemented String.scan, String.concatWith, and Real.nextAfter. - improved conformance of IEEEReal structure with the Basis library specification. [SMLUnit] * added assert functions for tuples and datatypes defined in Basis structures. * changed the type of assert functions to return a unit. ----------------------------------------------------------------------------- SML# version 0.52 (released on 2010-07-23) 1. Overview This is a patch release of SML# 0.50 series. This version is still experimental. 2. Changes and improvements [SML#] * fixed a bug of an alternative implementation of signbit in the native runtime. This fix affects several primitive functions defined in Real structure. * fixed a bug of functor management and global symbol resolution in native code backend. ----------------------------------------------------------------------------- SML# version 0.51 (released on 2010-07-09) 1. Overview This is a patch release of SML# 0.50 series. This version is still experimental. 2. Changes and improvements [SML#] * slightly improved compilation for "orelse" and "andalso". * slightly speed up of booting interactive mode by compacting pickled context of the prelude. * refined unification algorithm to print more reasonable error messages. [SMLUnit] * added support files for MLton. [mlb2use] * fixed a bug of dealing with backslashes. ----------------------------------------------------------------------------- SML# version 0.50 (released on 2010-06-25) 1. Overview An experimental release of a new feature of SML#. Only the source package is provided. 2. The new feature The major new feature of SML# 0.50 is first-class overloading. First-class overloading may not be ardent wanted by ordinary SML programmers, but we find this feature essential in our development of seamless interoperability with database system, which we shall include in our near future release. This version implements a lightweight first-class overloading mechanism that is readily realized by SML#'s polymorphic record compilation. With this extension, overloaded operators such as + and > are now first-class values having a polymorphic type that represents their overloaded status, as seen in the following example: # op +; val it = fn : ['a::{int, IntInf.int, real, Real32.real, word, Word8.word}. 'a * 'a -> 'a # fun sumList nil z = z > | sumList (h::t) z = sumList t (h+z); val sumList = fn : ['a::{int, IntInf.int, real, Real32.real, word, Word8.word}. 'a list -> 'a -> 'a] # sumList [1,2,3] 0; val it = 6 : int # sumList [1.1,2.2,3.3] 0.0; val it = 6.6 : real where "::{....}" in 'a::{....} is an overload kind, restricting possible instances of type variable 'a. Any operator having the following two properties can be supported. 1. Its overloaded nature is representable as a polymorphic type using overload kinds. Its type can contain multiple overloaded type variables. The instance types in their overload kinds may also contain type variables possibly with overload kind restriction. 2. Each instance corresponds to a set of type instances specified by ground type constructors and wild card "_". For example, the type ['a#{int, real, 'b list, 'c array}, 'b#{bool, char}, 'c#{int, bool}. 'a * 'a -> 'a] represents an overloaded binary operator having the instances for {int, real, bool list, char list, int array, bool array}. These correspond to the following instantiations of 'a, 'b, and 'c: [int,_,_] for int op [real,_,_] for real op [bool list, bool, _] for bool list op [char list, char, _] for bool list op [int array, _, int] for int array op [bool array, _, bool] for bool array op In the currently version, overloaded operator declaration is not yet made available to the programmer. We plan to include a special syntax for this purpose in future version. 3. Oteher changes and improvements [SML#] * fixed a bug of pretty-printing for evaluation results in interactive mode. * fixed a bug of equality type inference. * fixed a bug of introducing dummy types due to value restrictions. * made type printers much prettier. [SMLFormat] * fixed a bug in handling newline indicators in nested guards. * updated documents. [OLE/SML#] * a minor-change of OLE_DECIMAL signature. * updated a sample code using MS Excel. ----------------------------------------------------------------------------- SML# version 0.43 (released on 2010-06-11) 1. Overview This is an release of SML# 0.42. This version is still experimental and not intended to replace SML# 0.31. 2. Changes and improvements [SML#] * added native code generation for Windows. Both mingw and cygwin are supported. * improved native callback function generation so that C program can call ML functions anytime. * added interoperability for float (32bit floating point number) to the native code generation. * fixed a bug of native code selection. * improved accuracy of native code compilation for floating point constant literals. * implemented Real32 structure. * fixed a bug of Array.array. * fixed a bug of printing an exception. * refined UnmanagedString.export. * fixed a bug of native version of UnmanagedMemory.export. * fixed a bug of smlsharp2exe. * fixed a buffer overflow in the runtime. [OLE/SML#, .NET/SML#] * changed module configuration of OLE library. * supported OLE SAFEARRAY of builtin types of .NET, except for char. * fixed a minor problem in handling a literal in C# code. ----------------------------------------------------------------------------- SML# version 0.42 (released on 2010-05-28) 1. Overview This is an bug-fix release of SML# 0.41. This version is still experimental and not intended to replace SML# 0.31. 2. Changes and improvements * fixed a bug of hiding int values in result printings after open Int. * fixed a bug of user type variable unification. * fixed a bug of Word32.fromLargeWord. * fixed a bug of compiling negative IntInf constant literals. * fixed a bug of equality of exceptions. * suppressed diagnosis messages printed by native code backend. * improved result printing for hidden types. * implemented a few functions in Real32.real. * SMLUnit: added Assert.assertEqualByCompare. * Java/SML#: fixed conflictions between Java identifiers and SML keywords. * .NET/SML#: added support for all built-in datatypes of C#. * OLE/SML#: added support for I2, UI2, I8, UI8, R4 and DECIMAL. * OLE/SML#: fixed problems in passing I4 and I1. ----------------------------------------------------------------------------- SML# version 0.41 (released on 2010-05-14) 1. Overview This is a bug-fix release of SML# 0.40. This version is still experimental and not intended to replace SML# 0.31. 2. Changes and improvements * fixed problems of building SML# on Windows. * smlformat command now raises an error if no file is specified. * fixed a bug of isAlphaNum of LMLML. * fixed a bug of Word32.toLargeIntX. * fixed a bug of String.fromString and String.fromCString. * changed LMLML interface. * added and updated sample code for Java/SML#. ----------------------------------------------------------------------------- SML# Version 0.40 (released on 2010-04-30) 1. Overview This is an experimental release for testing new backend and runtime system. It is not intended to replace SML# 0.30. 2. New features and improvements of SML# * Native code generation for x86 Linux and Intel-based Mac OS X. The native code compiler backend produces native object files that can be linked with C libraries by standard linker (e.g. ld command) without any unusual extension and hand-written glue code. To try the native code generation, invoke SML# comiler with --native option. The compiler produces an executable file named "a.sme". See SML# website for details. * Runtime library for native code. This library also includes non-moving bitmap marking garbage collector. * Experimental module flattening and ID allocation phases. 3. Other improvements * Java/SML# interface: * fixed a bug in renaming overloaded Java methods and constructors * supported java array of float and long. * improved Java exception handling. * minor-changed Java library interface. ----------------------------------------------------------------------------- SML# Version 0.30 (released on 2007-07-02) 1. Overview The major change from SML# 0.20 is implementation of several optimization phases in the SML# compiler, among which the most significant is Record Unboxig described below. 2. Distribution Package The SML# distribution package is re-organized to contain the SML# compiler and its supporting tools in one package. The distribution package is available in the following forms. (a) Source tar file. smlsharp-0.30.tar.gz (b) Mac OS X universal binary (after 10.4) smlsharp-0.30-Universal-Installer.dmg (c) Windows binary installer smlsharp-0.30-mingw.exe Each of the above package contains the following: * the SML# compiler and its supporting library including LMLML * SMLFormat (a pretty printer generator) * SMLDoc (a document generation tool) * SMLUnit (a unit test support tool) 3. Contact information and mailing list - The contact address of the SML# development team. smlsharp @ pllab . riec . tohoku . ac . jp - The SML# mailing list: smlsharp-list @ pllab . riec . tohoku . ac . jp This list is for general discussions on the SML# language, the compiler and its supporting tools. This is open to everyone. For more details, visit the "Contact Us" page of the SML# web. 4. New Features of the SML# compiler 4.1 Printer Control The following structure is added to control the printer used to print binding information in the interactive session SMLSharp.Control.Printer : sig val getColumns : unit -> int val getMaxDepth : unit -> int option val getMaxRefDepth : unit -> int val getMaxWidth : unit -> int option val setColumns : int -> unit val setMaxDepth : int option -> unit val setMaxRefDepth : int -> unit val setMaxWidth : int option -> unit end 4.2 Optimization The following optimization phases have been implemented. (a) Record Unboxing This optimization attempts to "unbox" tuples/records by flattening component tuples and changing top-level tuples to multiple value passing. It is a type-directed source-to-source transformation that does not seem to be considered in existing literature or compiler. The required type based analysis is quite simple but shown to be very effective. Experiments on this technique shown a 27% speed-up in the lexgen benchmark and a 21% speed-up in mlyacc benchmark. The compiler switch --xdoRecordUnboxing=yes/no enables/disables this optimization. It is enabled by default. (b) Record Alignment To meat architecture requirements, the SML# compiler aligns record component such as (unboxed) floating point values to double-word boundary by inserting padding words. This would introduce some runtime overhead, especially in the presence of polymorphism. The Record Alignment optimization attempts to minimize this overhead cost as much as possible. The compiler switch --xalignRecord=yes/no enables/disables this optimization. It is enabled by default. (c) Representation Analysis This optimization attempts to reduce the overhead due to type-directed compilation for those polymorphic functions that are instantiated to types representing the same runtime property by statically computing the type attributes. The compiler switch --xdoRepresentationAnalysis=yes/no enables/disables this optimization. It is enabled by default. (d) Other Conventional Optimizations. In addition to those new type-based optimization, the version 0.30 also implements the following conventional optimizations. Optimization Compiler Switch constant folding --xdoConstantFolding=yes/no common expression elimination --xdoCommonExpressionElimination=yes/no useless code elimination --xdoUselessCodeElimination=yes/no stack slot minimization --xdoStackReallocation=yes/no 4.3 Other Changes (a) SML# executable file name In the batch-mode, the current SML# executable file name can be obtained by the function: SMLSharp.CommandLine.executableImageName : unit -> string option In the interactive mode, it returns NONE. (b) "Shebang" line in a source file. By default, the SML# compiler ignores the first if it begins "#!" (shebang line). This feature is used to execute SML# file in a Unix shell as shown in the following example. $ cat foo.sml #!/usr/local/bin/smlsharp print "foo\n"; $ ./foo.sml foo The compiler switch --xskipShebang=yes/no enables/disables this feature. It is enabled by default. 4.4 bug fixes Several minor bugs are fixed: * Make & install fails on Free BSD * Make fails for SMLUnit, SMLDoc, and SMLFormat on Unix/Linux due to improper newline codes in their source files. * Tests and benchmarks fail in the system made with SML/NJ 110.63 * "smlsharp -c" command does not report error messages properly. * Functions fromLarge, toLarge, toLargeX were missing in Word[N] structures. * TextIO.flushOut sometimes fails to flush the output buffer * Signature mismatch error due to difference of constructor order in datatype def and spec. * Missing error check for a layered pattern with a long id as its left pattern 5. Tools 5.1 SMLFormat Three constructors, MaxDepthOfGuards, MaxWidthOfGuards and CutOverTail, have been added to SMLFormat.parameter datatype. These can be used to limit the size of the formatted string. 5.2 SMLUnit The following two assert functions have been added to SMLUnit.Assert structure. val assert : string -> bool -> unit val assertSameArray : 'a array assertEqual ----------------------------------------------------------------------------- SML# Version 0.20 (released on 2007-03-30) smlsharp-1.2.0/config.guess0000755 000000000000000000012214112050661606016024 0ustar00rootroot0000000 0000000 #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003 Free Software Foundation, Inc. timestamp='2003-10-03' # This file 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 2 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, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Per Bothner . # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # The plan is that this can be called by configure scripts if you # don't specify an explicit build system type. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit 0 ;; --version | -v ) echo "$version" ; exit 0 ;; --help | --h* | -h ) echo "$usage"; exit 0 ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep __ELF__ >/dev/null then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit 0 ;; amiga:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; arc:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; hp300:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mac68k:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; macppc:OpenBSD:*:*) echo powerpc-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mvme68k:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mvme88k:OpenBSD:*:*) echo m88k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mvmeppc:OpenBSD:*:*) echo powerpc-unknown-openbsd${UNAME_RELEASE} exit 0 ;; pmax:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; sgi:OpenBSD:*:*) echo mipseb-unknown-openbsd${UNAME_RELEASE} exit 0 ;; sun3:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; wgrisc:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; *:OpenBSD:*:*) echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} exit 0 ;; alpha:OSF1:*:*) if test $UNAME_RELEASE = "V4.0"; then UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` fi # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit 0 ;; Alpha*:OpenVMS:*:*) echo alpha-hp-vms exit 0 ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit 0 ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit 0 ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit 0;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit 0 ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit 0 ;; *:OS/390:*:*) echo i370-ibm-openedition exit 0 ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit 0;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit 0;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit 0 ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit 0 ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit 0 ;; DRS?6000:UNIX_SV:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7 && exit 0 ;; esac ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; i86pc:SunOS:5.*:*) echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit 0 ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit 0 ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit 0 ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit 0 ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit 0 ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit 0 ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit 0 ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit 0 ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit 0 ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit 0 ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit 0 ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit 0 ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c \ && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ && exit 0 echo mips-mips-riscos${UNAME_RELEASE} exit 0 ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit 0 ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit 0 ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit 0 ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit 0 ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit 0 ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit 0 ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit 0 ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit 0 ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit 0 ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit 0 ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit 0 ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit 0 ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit 0 ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit 0 ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit 0 ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 echo rs6000-ibm-aix3.2.5 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit 0 ;; *:AIX:*:[45]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit 0 ;; *:AIX:*:*) echo rs6000-ibm-aix exit 0 ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit 0 ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit 0 ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit 0 ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit 0 ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit 0 ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit 0 ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then # avoid double evaluation of $set_cc_for_build test -n "$CC_FOR_BUILD" || eval $set_cc_for_build if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit 0 ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit 0 ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 echo unknown-hitachi-hiuxwe2 exit 0 ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit 0 ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit 0 ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit 0 ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit 0 ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit 0 ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit 0 ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit 0 ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit 0 ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit 0 ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit 0 ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit 0 ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit 0 ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; *:UNICOS/mp:*:*) echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit 0 ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit 0 ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit 0 ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit 0 ;; *:FreeBSD:*:*|*:GNU/FreeBSD:*:*) # Determine whether the default compiler uses glibc. eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include #if __GLIBC__ >= 2 LIBC=gnu #else LIBC= #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` # GNU/FreeBSD systems have a "k" prefix to indicate we are using # FreeBSD's kernel, but not the complete OS. case ${LIBC} in gnu) kernel_only='k' ;; esac echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} exit 0 ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit 0 ;; i*:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit 0 ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit 0 ;; x86:Interix*:[34]*) echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' exit 0 ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit 0 ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit 0 ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit 0 ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit 0 ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; *:GNU:*:*) echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit 0 ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit 0 ;; arm*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; cris:Linux:*:*) echo cris-axis-linux-gnu exit 0 ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; mips:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef mips #undef mipsel #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mipsel #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 ;; mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef mips64 #undef mips64el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mips64el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips64 #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit 0 ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit 0 ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit 0 ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit 0 ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit 0 ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit 0 ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit 0 ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent # problems with other programs or directories called `ld' in the path. # Set LC_ALL=C to ensure ld outputs messages in English. ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ | sed -ne '/supported targets:/!d s/[ ][ ]*/ /g s/.*supported targets: *// s/ .*// p'` case "$ld_supported_targets" in elf32-i386) TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" ;; a.out-i386-linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" exit 0 ;; coff-i386) echo "${UNAME_MACHINE}-pc-linux-gnucoff" exit 0 ;; "") # Either a pre-BFD a.out linker (linux-gnuoldld) or # one that does not give us useful --help. echo "${UNAME_MACHINE}-pc-linux-gnuoldld" exit 0 ;; esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include #ifdef __ELF__ # ifdef __GLIBC__ # if __GLIBC__ >= 2 LIBC=gnu # else LIBC=gnulibc1 # endif # else LIBC=gnulibc1 # endif #else #ifdef __INTEL_COMPILER LIBC=gnu #else LIBC=gnuaout #endif #endif #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit 0 ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit 0 ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit 0 ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit 0 ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit 0 ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit 0 ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit 0 ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit 0 ;; i*86:*:5:[78]*) case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit 0 ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit 0 ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i386. echo i386-pc-msdosdjgpp exit 0 ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit 0 ;; paragon:*:*:*) echo i860-intel-osf1 exit 0 ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit 0 ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit 0 ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit 0 ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit 0 ;; M68*:*:R3V[567]*:*) test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && echo i486-ncr-sysv4.3${OS_REL} && exit 0 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && echo i486-ncr-sysv4 && exit 0 ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit 0 ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit 0 ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit 0 ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit 0 ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit 0 ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit 0 ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit 0 ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit 0 ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit 0 ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit 0 ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit 0 ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit 0 ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit 0 ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit 0 ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit 0 ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit 0 ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit 0 ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit 0 ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit 0 ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit 0 ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit 0 ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit 0 ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit 0 ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit 0 ;; *:Darwin:*:*) case `uname -p` in *86) UNAME_PROCESSOR=i686 ;; powerpc) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit 0 ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit 0 ;; *:QNX:*:4*) echo i386-pc-qnx exit 0 ;; NSR-[DGKLNPTVWY]:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit 0 ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit 0 ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit 0 ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit 0 ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit 0 ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit 0 ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit 0 ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit 0 ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit 0 ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit 0 ;; *:ITS:*:*) echo pdp10-unknown-its exit 0 ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit 0 ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0 # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit 0 ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit 0 ;; c34*) echo c34-convex-bsd exit 0 ;; c38*) echo c38-convex-bsd exit 0 ;; c4*) echo c4-convex-bsd exit 0 ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: smlsharp-1.2.0/config.h.in0000644 000000000000000000001505112050661606015530 0ustar00rootroot0000000 0000000 /* config.h.in. Generated from configure.ac by autoheader. */ /* Define if building universal (internal helper macro) */ #undef AC_APPLE_UNIVERSAL_BUILD /* Define to 1 if you have the `ceilf' function. */ #undef HAVE_CEILF /* Define to 1 if you have the `clock_gettime' function. */ #undef HAVE_CLOCK_GETTIME /* Define to 1 if you have the `copysign' function. */ #undef HAVE_COPYSIGN /* Define to 1 if you have the `copysignf' function. */ #undef HAVE_COPYSIGNF /* Define to 1 if you have the declaration of `CLOCK_PROCESS_CPUTIME_ID', and to 0 if you don't. */ #undef HAVE_DECL_CLOCK_PROCESS_CPUTIME_ID /* Define to 1 if you have the declaration of `fegetround', and to 0 if you don't. */ #undef HAVE_DECL_FEGETROUND /* Define to 1 if you have the declaration of `fesetround', and to 0 if you don't. */ #undef HAVE_DECL_FESETROUND /* Define to 1 if you have the declaration of `fpclassify', and to 0 if you don't. */ #undef HAVE_DECL_FPCLASSIFY /* Define to 1 if you have the declaration of `isinf', and to 0 if you don't. */ #undef HAVE_DECL_ISINF /* Define to 1 if you have the declaration of `isnan', and to 0 if you don't. */ #undef HAVE_DECL_ISNAN /* Define to 1 if you have the declaration of `isnormal', and to 0 if you don't. */ #undef HAVE_DECL_ISNORMAL /* Define to 1 if you have the declaration of `signbit', and to 0 if you don't. */ #undef HAVE_DECL_SIGNBIT /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H /* Define to 1 if you have the `dlopen' function. */ #undef HAVE_DLOPEN /* Define to 1 if you have the `fegetround' function. */ #undef HAVE_FEGETROUND /* Define to 1 if you have the header file. */ #undef HAVE_FENV_H /* Define to 1 if you have the `fesetround' function. */ #undef HAVE_FESETROUND /* Define to 1 if you have the `finite' function. */ #undef HAVE_FINITE /* Define to 1 if you have the header file. */ #undef HAVE_FLOAT_H /* Define to 1 if you have the `floorf' function. */ #undef HAVE_FLOORF /* Define to 1 if you have the `fpclass' function. */ #undef HAVE_FPCLASS /* Define to 1 if you have the `frexpf' function. */ #undef HAVE_FREXPF /* Define to 1 if you have the `getrusage' function. */ #undef HAVE_GETRUSAGE /* Define to 1 if you have the `gettimeofday' function. */ #undef HAVE_GETTIMEOFDAY /* Define to 1 if you have the header file. */ #undef HAVE_IEEEFP_H /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the `ldexpf' function. */ #undef HAVE_LDEXPF /* Define to 1 if you have the `dl' library (-ldl). */ #undef HAVE_LIBDL /* Define to 1 if you have the `gmp' library (-lgmp). */ #undef HAVE_LIBGMP /* Define to 1 if you have the `m' library (-lm). */ #undef HAVE_LIBM /* Define to 1 if you have the `pthread' library (-lpthread). */ #undef HAVE_LIBPTHREAD /* Define to 1 if you have the `rt' library (-lrt). */ #undef HAVE_LIBRT /* Define to 1 if you have the `socket' library (-lsocket). */ #undef HAVE_LIBSOCKET /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the `mkstemp' function. */ #undef HAVE_MKSTEMP /* Define to 1 if you have the `mmap' function. */ #undef HAVE_MMAP /* Define to 1 if you have the `modf' function. */ #undef HAVE_MODF /* Define to 1 if you have the `modff' function. */ #undef HAVE_MODFF /* Define to 1 if you have the `nextafter' function. */ #undef HAVE_NEXTAFTER /* Define to 1 if you have the `nextafterf' function. */ #undef HAVE_NEXTAFTERF /* Define to 1 if you have the `poll' function. */ #undef HAVE_POLL /* Define to 1 if you have the header file. */ #undef HAVE_POLL_H /* Define to 1 if you have the `readlink' function. */ #undef HAVE_READLINK /* Define to 1 if you have the `roundf' function. */ #undef HAVE_ROUNDF /* Define to 1 if you have the `select' function. */ #undef HAVE_SELECT /* Define to 1 if you have the `sigaction' function. */ #undef HAVE_SIGACTION /* Define to 1 if you have the `sigprocmask' function. */ #undef HAVE_SIGPROCMASK /* Define to 1 if you have the `sleep' function. */ #undef HAVE_SLEEP /* Define to 1 if you have the `socket' function. */ #undef HAVE_SOCKET /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_MMAN_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_RESOURCE_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SOCKET_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TIMES_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the `times' function. */ #undef HAVE_TIMES /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to 1 if you have the `utime' function. */ #undef HAVE_UTIME /* Define to 1 if you have the `utimes' function. */ #undef HAVE_UTIMES /* Define to 1 if you have the header file. */ #undef HAVE_UTIME_H /* Define if your system is Windows */ #undef MINGW32 /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the home page for this package. */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION /* platform identifier */ #undef SMLSHARP_PLATFORM /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Define if your processor is big endian */ #undef WORDS_BIGENDIAN /* Define to empty if `const' does not conform to ANSI C. */ #undef const /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus #undef inline #endif /* Define to `unsigned int' if does not define. */ #undef size_t /* Define to empty if the keyword `volatile' does not work. Warning: valid code using `volatile' can become incorrect without. Disable with care. */ #undef volatile smlsharp-1.2.0/config.mk.in0000644 000000000000000000000242112050661606015705 0ustar00rootroot0000000 0000000 # -*- Makefile -*- SHELL = @SHELL@ @SET_MAKE@ exec_prefix = @exec_prefix@ prefix = @prefix@ bindir = @bindir@ datarootdir = @datarootdir@ datadir = @datadir@ libdir = @libdir@ infodir = @infodir@ mandir = @mandir@ libdir_smlsharp = $(libdir)/smlsharp BUILD_ROOT = @abs_top_builddir@ SRC_ROOT = @abs_top_srcdir@ DESTDIR = target = @target@ target_cpu = @target_cpu@ target_vendor = @target_vendor@ target_os = @target_os@ host_os = @host_os@ BYTE_ORDER = @BYTE_ORDER@ NATIVE_TARGET = @NATIVE_TARGET@ SMLSHARP_PLATFORM = @SMLSHARP_PLATFORM@ HEAPIMPL = @HEAPIMPL@ EXEEXT = @EXEEXT@ CFLAGS = @CFLAGS@ DEFS = @DEFS@ @RUNTIME_DEFS@ CPPFLAGS = -I. @CPPFLAGS@ RDYNAMIC_LDFLAGS = @RDYNAMIC_LDFLAGS@ SMLSHARP = @SMLSHARP@ INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_DATA = @INSTALL_DATA@ #FIND = @FIND@ #WINDRES = @WINDRES@ #CYGPATH = @CYGPATH@ #DOXYGEN = @DOXYGEN@ #EGREP = @EGREP@ PAX_R = @PAX_R@ XZ = @XZ@ SMLNJ = @SMLNJ@ SMLNJ_HEAP_SUFFIX = @SMLNJ_HEAP_SUFFIX@ MLTON = @MLTON@ STAGE0_COMPILER = @STAGE0_COMPILER@ # comment out the following lines in config.mk (not in config.mk.in!), # and avoid to rebuild smllex, smlyacc and smlformat. MLLEX_DEP = $(MLLEX) MLYACC_DEP = $(MLYACC) SMLFORMAT_DEP = $(SMLFORMAT) SMLSHARP_DEP = @SMLSHARP_DEP@ smlsharp-1.2.0/config.sub0000755 000000000000000000007340612050661606015500 0ustar00rootroot0000000 0000000 #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003 Free Software Foundation, Inc. timestamp='2003-08-18' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. # # This file 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 2 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, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit 0 ;; --version | -v ) echo "$version" ; exit 0 ;; --help | --h* | -h ) echo "$usage"; exit 0 ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit 0;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-dietlibc | kfreebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis) os= basic_machine=$1 ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | m32r | m68000 | m68k | m88k | mcore \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64vr | mips64vrel \ | mips64orion | mips64orionel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | msp430 \ | ns16k | ns32k \ | openrisc | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \ | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ | x86 | xscale | xstormy16 | xtensa \ | z8k) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* \ | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | m32r-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | mcore-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64vr-* | mips64vrel-* \ | mips64orion-* | mips64orionel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | msp430-* \ | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ | xtensa-* \ | ymp-* \ | z8k-*) ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; c90) basic_machine=c90-cray os=-unicos ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; crds | unos) basic_machine=m68k-crds ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; mmix*) basic_machine=mmix-knuth os=-mmixware ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; mvs) basic_machine=i370-ibm os=-mvs ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; nv1) basic_machine=nv1-cray os=-unicosmp ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; or32 | or32-*) basic_machine=or32-unknown os=-coff ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; tic55x | c55x*) basic_machine=tic55x-unknown os=-coff ;; tic6x | c6x*) basic_machine=tic6x-unknown os=-coff ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xps | xps100) basic_machine=xps100-honeywell ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sh64) basic_machine=sh64-unknown ;; sparc | sparcv9 | sparcv9b) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -netbsd* | -openbsd* | -kfreebsd* | -freebsd* | -riscix* \ | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -kaos*) os=-kaos ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 # This also exists in the configure program, but was not the # default. # os=-sunos4 ;; m68*-cisco) os=-aout ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-ibm) os=-aix ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -ptx*) vendor=sequent ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: smlsharp-1.2.0/configure0000755 000000000000000000061164612050661606015430 0ustar00rootroot0000000 0000000 #! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then _as_can_reexec=no; export _as_can_reexec; # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 as_fn_exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall # in an infinite loop. This has already happened in practice. _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME= PACKAGE_TARNAME= PACKAGE_VERSION= PACKAGE_STRING= PACKAGE_BUGREPORT= PACKAGE_URL= ac_unique_file="smlsharp" ac_unique_file="src/compiler/toplevel2/main/Top.sml" # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_subst_vars='LTLIBOBJS LIBOBJS BYTE_ORDER EGREP GREP CPP HEAPIMPL SNAPDATE_RULE_ NATIVE_TARGET PAX_R CPIO PAX XZ INCLUDE_FASTBUILD MLTON SMLNJ_HEAP_SUFFIX SMLBAT SMLNJ INCLUDE_STAGE0 STAGE0_COMPILER SMLSHARP_DEP SMLSHARP OS_TYPE RUNLOOP_DLDFLAGS RDYNAMIC_LDFLAGS A_OUT ASMEXT DLLEXT LIBEXT RUNTIME_DEFS AR LD RANLIB FIND INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM SET_MAKE OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC SMLSHARP_PLATFORM target_os target_vendor target_cpu target host_os host_vendor host_cpu host build_os build_vendor build_cpu build target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking with_smlsharp with_stage0 enable_fast_build enable_thread enable_native enable_heapimpl with_rt ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures this package to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] --target=TARGET configure for building compilers for TARGET [HOST] _ACEOF fi if test -n "$ac_init_help"; then cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-fast-build reuse pre-compiled assembly file to build SML# --enable-thread enable experimental native thread support [[default=no]] --enable-native enable native code generation [[default=yes]] --enable-heapimpl select heap management algorithm [[default=bitmap]] Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-smlsharp=DIR bootstrap with existing smlsharp command --with-stage0={smlnj|mlton} bootstrap with other SML compiler --with-rt try to use clock_gettime for benchmark Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to the package provider. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF configure generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using # the include files in INCLUDES and setting the cache variable VAR # accordingly. ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 $as_echo_n "checking $2 usability... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_header_compiler=yes else ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 $as_echo_n "checking $2 presence... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$2> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : ac_header_preproc=yes else ac_header_preproc=no fi rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( yes:no: ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; no:yes:* ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_mongrel # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func # ac_fn_c_check_type LINENO TYPE VAR INCLUDES # ------------------------------------------- # Tests whether TYPE exists after having included INCLUDES, setting cache # variable VAR accordingly. ac_fn_c_check_type () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=no" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { if (sizeof ($2)) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { if (sizeof (($2))) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else eval "$3=yes" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_type # ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES # --------------------------------------------- # Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR # accordingly. ac_fn_c_check_decl () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack as_decl_name=`echo $2|sed 's/ *(.*//'` as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 $as_echo_n "checking whether $as_decl_name is declared... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { #ifndef $as_decl_name #ifdef __cplusplus (void) $as_decl_use; #else (void) $as_decl_name; #endif #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_decl cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_config_headers="$ac_config_headers config.h" ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if ${ac_cv_build+:} false; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if ${ac_cv_host+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 $as_echo_n "checking target system type... " >&6; } if ${ac_cv_target+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$target_alias" = x; then ac_cv_target=$ac_cv_host else ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 $as_echo "$ac_cv_target" >&6; } case $ac_cv_target in *-*-*) ;; *) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; esac target=$ac_cv_target ac_save_IFS=$IFS; IFS='-' set x $ac_cv_target shift target_cpu=$1 target_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: target_os=$* IFS=$ac_save_IFS case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac # The aliases save the names the user supplied, while $host etc. # will get canonicalized. test -n "$target_alias" && test "$program_prefix$program_suffix$program_transform_name" = \ NONENONEs,x,x, && program_prefix=${target_alias}- test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` cat >>confdefs.h <<_ACEOF #define SMLSHARP_PLATFORM "${target_cpu}-${target_os}" _ACEOF SMLSHARP_PLATFORM="${target_cpu}-${target_os}" # Checks for programs. ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' # Extract the first word of "find", so it can be a program name with args. set dummy find; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_FIND+:} false; then : $as_echo_n "(cached) " >&6 else case $FIND in [\\/]* | ?:[\\/]*) ac_cv_path_FIND="$FIND" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_FIND="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi FIND=$ac_cv_path_FIND if test -n "$FIND"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FIND" >&5 $as_echo "$FIND" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ld", so it can be a program name with args. set dummy ${ac_tool_prefix}ld; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$LD"; then ac_cv_prog_LD="$LD" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_LD="${ac_tool_prefix}ld" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi LD=$ac_cv_prog_LD if test -n "$LD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_LD"; then ac_ct_LD=$LD # Extract the first word of "ld", so it can be a program name with args. set dummy ld; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_LD"; then ac_cv_prog_ac_ct_LD="$ac_ct_LD" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_LD="ld" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_LD=$ac_cv_prog_ac_ct_LD if test -n "$ac_ct_LD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LD" >&5 $as_echo "$ac_ct_LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_LD" = x; then LD="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac LD=$ac_ct_LD fi else LD="$ac_cv_prog_LD" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AR="${ac_tool_prefix}ar" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 $as_echo "$AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_AR"; then ac_ct_AR=$AR # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_AR="ar" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 $as_echo "$ac_ct_AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_AR" = x; then AR="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi else AR="$ac_cv_prog_AR" fi #AC_CHECK_TOOL(WINDRES, windres) #AC_PATH_PROG(DOXYGEN, doxygen) RUNTIME_DEFS= LIBEXT='a' DLLEXT='so' ASMEXT='s' OBJEXT='o' EXEEXT= A_OUT='a.out' RDYNAMIC_LDFLAGS= RUNLOOP_DLDFLAGS= case "$host_os" in # *cygwin*) # DLLEXT='dll' # EXEEXT=.exe # A_OUT=a.exe #AC_CHECK_TOOL(DLLTOOL, dlltool, :) #AC_PATH_PROG(CYGPATH, cygpath) #if test "x$CYGPATH" = "x"; then # case "$host_os" in # *cygwin*) # AC_MSG_ERROR([cygpath is not found.]) # ;; # esac #fi #AC_SUBST(CYGPATH) #if test "x$WINDRES" != "x"; then # RESOURCE_TYPE=rc #fi #AC_SUBST(RESOURCE_TYPE) *mingw*) DLLEXT='dll' EXEEXT=.exe A_OUT=a.exe RDYNAMIC_LDFLAGS='-Wl,-Wl\\,--export-all-symbols -Wl,-Wl\\,--out-implib=src/compiler/smlsharp.lib' RUNLOOP_DLDFLAGS='-shared -Wl,--enable-auto-import,--enable-stdcall-fixup' ;; *darwin*) LIBEXT='a' DLLEXT='dylib' RDYNAMIC_LDFLAGS= RUNLOOP_DLDFLAGS='-dynamiclib -Wl,-undefined,dynamic_lookup,-flat_namespace' ;; *linux*) RDYNAMIC_LDFLAGS=-Wl,-rdynamic RUNLOOP_DLDFLAGS=-shared ;; esac if test "x$RDYNAMIC_LDFLAGS" = "x" && test "x$RUNLOOP_DLDFLAGS" = "x"; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: settings for dynamic linking is not specified. interactive mode may not work." >&5 $as_echo "$as_me: WARNING: settings for dynamic linking is not specified. interactive mode may not work." >&2;} RDYNAMIC_LDFLAGS= RUNLOOP_DLDFLAGS=-shared fi case "$target_os" in *mingw*) OS_TYPE=Windows ;; *) OS_TYPE=Unix ;; esac # FIXME: check how to make a static library # -------- Checks for SML compiler -------- SML_PATH=$PATH SMLSHARP=./minismlsharp SMLSHARP_DEP=minismlsharp STAGE0_COMPILER= INCLUDE_STAGE0='# ' # Check whether --with-smlsharp was given. if test "${with_smlsharp+set}" = set; then : withval=$with_smlsharp; SML_PATH="$withval/bin:$SML_PATH" fi # Check whether --with-stage0 was given. if test "${with_stage0+set}" = set; then : withval=$with_stage0; fi if test "${with_smlsharp+set}" = set && test "x${with_smlsharp}" != "xno"; then # Extract the first word of "smlsharp", so it can be a program name with args. set dummy smlsharp; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_SMLSHARP+:} false; then : $as_echo_n "(cached) " >&6 else case $SMLSHARP in [\\/]* | ?:[\\/]*) ac_cv_path_SMLSHARP="$SMLSHARP" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $SML_PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_SMLSHARP="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi SMLSHARP=$ac_cv_path_SMLSHARP if test -n "$SMLSHARP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SMLSHARP" >&5 $as_echo "$SMLSHARP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$SMLSHARP" = "x"; then as_fn_error $? "smlsharp command does not found" "$LINENO" 5 fi SMLSHARP_DEP= elif test "${with_stage0+set}" = set && test "x${with_smlsharp}" != "xno"; then check_mlton=yes check_smlnj=yes test "x$with_stage0" = "xmlton" && check_smlnj=no test "x$with_stage0" = "xsmlnj" && check_mlton=no if test "x$check_smlnj" = "xyes"; then # Extract the first word of "sml", so it can be a program name with args. set dummy sml; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_SMLNJ+:} false; then : $as_echo_n "(cached) " >&6 else case $SMLNJ in [\\/]* | ?:[\\/]*) ac_cv_path_SMLNJ="$SMLNJ" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $SML_PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_SMLNJ="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi SMLNJ=$ac_cv_path_SMLNJ if test -n "$SMLNJ"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SMLNJ" >&5 $as_echo "$SMLNJ" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$SMLNJ" = "x"; then SMLBAT= case "$host_os" in *mingw*) # Extract the first word of "sml.bat", so it can be a program name with args. set dummy sml.bat; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_SMLBAT+:} false; then : $as_echo_n "(cached) " >&6 else case $SMLBAT in [\\/]* | ?:[\\/]*) ac_cv_path_SMLBAT="$SMLBAT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $SML_PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_SMLBAT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi SMLBAT=$ac_cv_path_SMLBAT if test -n "$SMLBAT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SMLBAT" >&5 $as_echo "$SMLBAT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$SMLBAT" != "x"; then # convert drive letter from MSYS to DOS SMLBAT=`echo "$SMLBAT" | sed 's,^/\\([a-zA-Z]\\)/,\\1:/,;s,//*,/,g'` test -f "$SMLBAT" && SMLNJ='cmd /c "'"$SMLBAT"'"' fi ;; esac fi if test "x$SMLNJ" != "x"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of heap image" >&5 $as_echo_n "checking for suffix of heap image... " >&6; } (mkdir conftest && cd conftest \ && echo 'SMLofNJ.exportFn("conftest",fn _=>OS.Process.success);' \ | $SMLNJ > /dev/null 2>&1) SMLNJ_HEAP_SUFFIX=`(cd conftest && echo *) | sed 's,^conftest\\.,,'` rm -rf conftest { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SMLNJ_HEAP_SUFFIX" >&5 $as_echo "$SMLNJ_HEAP_SUFFIX" >&6; } if test "x$SMLNJ_HEAP_SUFFIX" = "x" || test "x$SMLNJ_HEAP_SUFFIX" = "x*" then as_fn_error $? "\"failed.\"" "$LINENO" 5 fi STAGE0_COMPILER=SMLNJ fi fi if test "x$check_mlton" = "xyes" && test "x$STAGE0_COMPILER" = "x"; then # Extract the first word of "mlton", so it can be a program name with args. set dummy mlton; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MLTON+:} false; then : $as_echo_n "(cached) " >&6 else case $MLTON in [\\/]* | ?:[\\/]*) ac_cv_path_MLTON="$MLTON" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $SML_PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_MLTON="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi MLTON=$ac_cv_path_MLTON if test -n "$MLTON"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MLTON" >&5 $as_echo "$MLTON" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test "x$MLTON" = "x" || STAGE0_COMPILER=MLTON fi if test "x$STAGE0_COMPILER" = "x"; then as_fn_error $? "no Standard ML compiler is found" "$LINENO" 5 fi INCLUDE_STAGE0= SMLSHARP=stage0/smlsharp SMLSHARP_DEP= fi INCLUDE_FASTBUILD='#' # Check whether --enable-fast-build was given. if test "${enable_fast_build+set}" = set; then : enableval=$enable_fast_build; test "x$enableval" = "xyes" && INCLUDE_FASTBUILD= fi if test "x$INCLUDE_FASTBUILD" = "x" || test "x$SMLSHARP_DEP" = "xminismlsharp" then # Extract the first word of "xz", so it can be a program name with args. set dummy xz; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_XZ+:} false; then : $as_echo_n "(cached) " >&6 else case $XZ in [\\/]* | ?:[\\/]*) ac_cv_path_XZ="$XZ" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_XZ="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi XZ=$ac_cv_path_XZ if test -n "$XZ"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XZ" >&5 $as_echo "$XZ" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$XZ" = "x"; then as_fn_error $? "xz is required to build smlsharp." "$LINENO" 5 fi # Extract the first word of "pax", so it can be a program name with args. set dummy pax; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_PAX+:} false; then : $as_echo_n "(cached) " >&6 else case $PAX in [\\/]* | ?:[\\/]*) ac_cv_path_PAX="$PAX" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_PAX="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PAX=$ac_cv_path_PAX if test -n "$PAX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PAX" >&5 $as_echo "$PAX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$PAX" = "x"; then # Extract the first word of "cpio", so it can be a program name with args. set dummy cpio; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_CPIO+:} false; then : $as_echo_n "(cached) " >&6 else case $CPIO in [\\/]* | ?:[\\/]*) ac_cv_path_CPIO="$CPIO" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_CPIO="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi CPIO=$ac_cv_path_CPIO if test -n "$CPIO"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPIO" >&5 $as_echo "$CPIO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$CPIO" = "x"; then as_fn_error $? "either pax or cpio is required to build smlsharp." "$LINENO" 5 fi PAX_R="$CPIO -idu" else PAX_R="$PAX -r -pam" fi fi # -------- Checks for multithreading -------- # Check whether --enable-thread was given. if test "${enable_thread+set}" = set; then : enableval=$enable_thread; test "x$enableval" = "xyes" && RUNTIME_DEFS="$RUNTIME_DEFS -DMULTITHREAD" fi # -------- Checks for native compile -------- case "$target" in i[3456]86-*-linux*) NATIVE_TARGET=x86-linux ;; x86_64-*-linux*) NATIVE_TARGET=x86-linux ;; i[3456]86-*-darwin*) NATIVE_TARGET=x86-darwin ;; i[3456]86-*-mingw*) NATIVE_TARGET=x86-mingw ;; i[3456]86-*-cygwin*) NATIVE_TARGET=x86-cygwin ;; *) NATIVE_TARGET= ;; esac case "$target" in i[3456]86-*|x86_64-*) RUNTIME_DEFS="$RUNTIME_DEFS -DHOST_CPU_i386 -DMAXALIGN=16" ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for native code generation target" >&5 $as_echo_n "checking for native code generation target... " >&6; } # Check whether --enable-native was given. if test "${enable_native+set}" = set; then : enableval=$enable_native; case "x$enableval" in x|xyes) if test "x$NATIVE_TARGET" = "x"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported." >&5 $as_echo "unsupported." >&6; } as_fn_error $? "specify target platform by --enable-native=." "$LINENO" 5 fi ;; xno) NATIVE_TARGET= ;; *) NATIVE_TARGET="$enableval" ;; esac fi if test "x$NATIVE_TARGET" = "x"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported." >&5 $as_echo "unsupported." >&6; } as_fn_error $? "specify target platform by --enable-native=." "$LINENO" 5 else { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NATIVE_TARGET" >&5 $as_echo "$NATIVE_TARGET" >&6; } fi # -------- Extra switches for developers -------- SNAPDATE_RULE_='# ' if test -f "${srcdir}/../.hg/dirstate"; then (test ! -f ${srcdir}/RELEASE_DATE \ || grep '[a-f]' ${srcdir}/RELEASE_DATE > /dev/null 2>&1) \ && SNAPDATE_RULE_= fi # Check whether --enable-heapimpl was given. if test "${enable_heapimpl+set}" = set; then : enableval=$enable_heapimpl; HEAPIMPL=$enableval else HEAPIMPL=bitmap fi if test "x$NATIVE_TARGET" = "x"; then : else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for heap management algorithm" >&5 $as_echo_n "checking for heap management algorithm... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HEAPIMPL" >&5 $as_echo "$HEAPIMPL" >&6; } fi if test -f "$srcdir/src/runtime/heap_$HEAPIMPL.c"; then : else as_fn_error $? "heap implementation \`$HEAPIMPL' is not available." "$LINENO" 5 fi # -------- Checks for Libraries -------- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqrt in -lm" >&5 $as_echo_n "checking for sqrt in -lm... " >&6; } if ${ac_cv_lib_m_sqrt+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char sqrt (); int main () { return sqrt (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_m_sqrt=yes else ac_cv_lib_m_sqrt=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_sqrt" >&5 $as_echo "$ac_cv_lib_m_sqrt" >&6; } if test "x$ac_cv_lib_m_sqrt" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBM 1 _ACEOF LIBS="-lm $LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lsocket" >&5 $as_echo_n "checking for socket in -lsocket... " >&6; } if ${ac_cv_lib_socket_socket+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsocket $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char socket (); int main () { return socket (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_socket_socket=yes else ac_cv_lib_socket_socket=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_socket" >&5 $as_echo "$ac_cv_lib_socket_socket" >&6; } if test "x$ac_cv_lib_socket_socket" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBSOCKET 1 _ACEOF LIBS="-lsocket $LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __gmpz_init in -lgmp" >&5 $as_echo_n "checking for __gmpz_init in -lgmp... " >&6; } if ${ac_cv_lib_gmp___gmpz_init+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lgmp $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char __gmpz_init (); int main () { return __gmpz_init (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_gmp___gmpz_init=yes else ac_cv_lib_gmp___gmpz_init=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp___gmpz_init" >&5 $as_echo "$ac_cv_lib_gmp___gmpz_init" >&6; } if test "x$ac_cv_lib_gmp___gmpz_init" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBGMP 1 _ACEOF LIBS="-lgmp $LIBS" fi if test "x$ac_cv_lib_gmp___gmpz_init" = "xno"; then as_fn_error $? "GMP library is not found." "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBDL 1 _ACEOF LIBS="-ldl $LIBS" fi #AC_CHECK_LIB(dld, shl_load) # for HP-UX ## cygwin has dlopen in libcygwin.dll. if test "x$ac_cv_lib_dl_dlopen" = "xno"; then case "$target_os" in *cygwin*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 $as_echo_n "checking for library containing dlopen... " >&6; } if ${ac_cv_search_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF for ac_lib in '' dl; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_dlopen=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_dlopen+:} false; then : break fi done if ${ac_cv_search_dlopen+:} false; then : else ac_cv_search_dlopen=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5 $as_echo "$ac_cv_search_dlopen" >&6; } ac_res=$ac_cv_search_dlopen if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" ac_cv_lib_dl_dlopen=yes; echo "#define HAVE_LIBDL 1" >> confdefs.h fi ;; *) ;; esac fi # Check whether --with-rt was given. if test "${with_rt+set}" = set; then : withval=$with_rt; { $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_gettime in -lrt" >&5 $as_echo_n "checking for clock_gettime in -lrt... " >&6; } if ${ac_cv_lib_rt_clock_gettime+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lrt $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char clock_gettime (); int main () { return clock_gettime (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_rt_clock_gettime=yes else ac_cv_lib_rt_clock_gettime=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_clock_gettime" >&5 $as_echo "$ac_cv_lib_rt_clock_gettime" >&6; } if test "x$ac_cv_lib_rt_clock_gettime" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBRT 1 _ACEOF LIBS="-lrt $LIBS" fi fi if test "x$enable_thread" = "xyes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lpthread" >&5 $as_echo_n "checking for pthread_create in -lpthread... " >&6; } if ${ac_cv_lib_pthread_pthread_create+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpthread $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char pthread_create (); int main () { return pthread_create (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_pthread_pthread_create=yes else ac_cv_lib_pthread_pthread_create=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_create" >&5 $as_echo "$ac_cv_lib_pthread_pthread_create" >&6; } if test "x$ac_cv_lib_pthread_pthread_create" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBPTHREAD 1 _ACEOF LIBS="-lpthread $LIBS" fi if test "x$ac_cv_lib_pthread_pthread_create" = "xno"; then as_fn_error $? "pthread library is not found." "$LINENO" 5 fi fi case "$target_os" in *mingw*) $as_echo "#define MINGW32 1" >>confdefs.h ;; esac # FIXME: check for method for dynamic linking. # -------- Checks for Header Files -------- # C99 headers ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done ac_fn_c_check_header_mongrel "$LINENO" "assert.h" "ac_cv_header_assert_h" "$ac_includes_default" if test "x$ac_cv_header_assert_h" = xyes; then : else as_fn_error $? "required header file is not found." "$LINENO" 5 fi ac_fn_c_check_header_mongrel "$LINENO" "ctype.h" "ac_cv_header_ctype_h" "$ac_includes_default" if test "x$ac_cv_header_ctype_h" = xyes; then : else as_fn_error $? "required header file is not found." "$LINENO" 5 fi ac_fn_c_check_header_mongrel "$LINENO" "dirent.h" "ac_cv_header_dirent_h" "$ac_includes_default" if test "x$ac_cv_header_dirent_h" = xyes; then : else as_fn_error $? "required header file is not found." "$LINENO" 5 fi ac_fn_c_check_header_mongrel "$LINENO" "errno.h" "ac_cv_header_errno_h" "$ac_includes_default" if test "x$ac_cv_header_errno_h" = xyes; then : else as_fn_error $? "required header file is not found." "$LINENO" 5 fi ac_fn_c_check_header_mongrel "$LINENO" "limits.h" "ac_cv_header_limits_h" "$ac_includes_default" if test "x$ac_cv_header_limits_h" = xyes; then : else as_fn_error $? "required header file is not found." "$LINENO" 5 fi ac_fn_c_check_header_mongrel "$LINENO" "math.h" "ac_cv_header_math_h" "$ac_includes_default" if test "x$ac_cv_header_math_h" = xyes; then : else as_fn_error $? "required header file is not found." "$LINENO" 5 fi ac_fn_c_check_header_mongrel "$LINENO" "setjmp.h" "ac_cv_header_setjmp_h" "$ac_includes_default" if test "x$ac_cv_header_setjmp_h" = xyes; then : else as_fn_error $? "required header file is not found." "$LINENO" 5 fi ac_fn_c_check_header_mongrel "$LINENO" "stdarg.h" "ac_cv_header_stdarg_h" "$ac_includes_default" if test "x$ac_cv_header_stdarg_h" = xyes; then : else as_fn_error $? "required header file is not found." "$LINENO" 5 fi ac_fn_c_check_header_mongrel "$LINENO" "stddef.h" "ac_cv_header_stddef_h" "$ac_includes_default" if test "x$ac_cv_header_stddef_h" = xyes; then : else as_fn_error $? "required header file is not found." "$LINENO" 5 fi ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" if test "x$ac_cv_header_stdint_h" = xyes; then : else as_fn_error $? "required header file is not found." "$LINENO" 5 fi ac_fn_c_check_header_mongrel "$LINENO" "stdio.h" "ac_cv_header_stdio_h" "$ac_includes_default" if test "x$ac_cv_header_stdio_h" = xyes; then : else as_fn_error $? "required header file is not found." "$LINENO" 5 fi ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" if test "x$ac_cv_header_stdlib_h" = xyes; then : else as_fn_error $? "required header file is not found." "$LINENO" 5 fi ac_fn_c_check_header_mongrel "$LINENO" "string.h" "ac_cv_header_string_h" "$ac_includes_default" if test "x$ac_cv_header_string_h" = xyes; then : else as_fn_error $? "required header file is not found." "$LINENO" 5 fi ac_fn_c_check_header_mongrel "$LINENO" "time.h" "ac_cv_header_time_h" "$ac_includes_default" if test "x$ac_cv_header_time_h" = xyes; then : else as_fn_error $? "required header file is not found." "$LINENO" 5 fi # POSIX headers ac_fn_c_check_header_mongrel "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default" if test "x$ac_cv_header_unistd_h" = xyes; then : else as_fn_error $? "required header file is not found." "$LINENO" 5 fi ac_fn_c_check_header_mongrel "$LINENO" "fcntl.h" "ac_cv_header_fcntl_h" "$ac_includes_default" if test "x$ac_cv_header_fcntl_h" = xyes; then : else as_fn_error $? "required header file is not found." "$LINENO" 5 fi ac_fn_c_check_header_mongrel "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default" if test "x$ac_cv_header_sys_time_h" = xyes; then : else as_fn_error $? "required header file is not found." "$LINENO" 5 fi ac_fn_c_check_header_mongrel "$LINENO" "sys/stat.h" "ac_cv_header_sys_stat_h" "$ac_includes_default" if test "x$ac_cv_header_sys_stat_h" = xyes; then : else as_fn_error $? "required header file is not found." "$LINENO" 5 fi if test "x$enable_thread" = "xyes"; then ac_fn_c_check_header_mongrel "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default" if test "x$ac_cv_header_pthread_h" = xyes; then : else as_fn_error $? "required header file is not found." "$LINENO" 5 fi fi ac_fn_c_check_header_mongrel "$LINENO" "signal.h" "ac_cv_header_signal_h" "$ac_includes_default" if test "x$ac_cv_header_signal_h" = xyes; then : else as_fn_error $? "required header file is not found." "$LINENO" 5 fi case "$target_os" in *mingw*) # mingw does not have sigaction. ;; *) for ac_func in sigaction sigprocmask do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else as_fn_error $? "POSIX signal functions are not found." "$LINENO" 5 fi done ;; esac # auxiliary libraries ac_fn_c_check_header_mongrel "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default" if test "x$ac_cv_header_gmp_h" = xyes; then : else as_fn_error $? "required header file is not found." "$LINENO" 5 fi case "$target_os" in *mingw*) ac_fn_c_check_header_mongrel "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default" if test "x$ac_cv_header_windows_h" = xyes; then : else as_fn_error $? "required header file is not found." "$LINENO" 5 fi ;; esac # for dlopen etc. for ac_header in dlfcn.h do : ac_fn_c_check_header_mongrel "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default" if test "x$ac_cv_header_dlfcn_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_DLFCN_H 1 _ACEOF fi done # for poll for ac_header in poll.h do : ac_fn_c_check_header_mongrel "$LINENO" "poll.h" "ac_cv_header_poll_h" "$ac_includes_default" if test "x$ac_cv_header_poll_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_POLL_H 1 _ACEOF fi done # for mmap for ac_header in sys/mman.h do : ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default" if test "x$ac_cv_header_sys_mman_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SYS_MMAN_H 1 _ACEOF fi done for ac_header in sys/types.h do : ac_fn_c_check_header_mongrel "$LINENO" "sys/types.h" "ac_cv_header_sys_types_h" "$ac_includes_default" if test "x$ac_cv_header_sys_types_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SYS_TYPES_H 1 _ACEOF fi done # for fpclassify for ac_header in float.h do : ac_fn_c_check_header_mongrel "$LINENO" "float.h" "ac_cv_header_float_h" "$ac_includes_default" if test "x$ac_cv_header_float_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_FLOAT_H 1 _ACEOF fi done # for fpclass for ac_header in ieeefp.h do : ac_fn_c_check_header_mongrel "$LINENO" "ieeefp.h" "ac_cv_header_ieeefp_h" "$ac_includes_default" if test "x$ac_cv_header_ieeefp_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_IEEEFP_H 1 _ACEOF fi done # for getrusage for ac_header in sys/resource.h do : ac_fn_c_check_header_mongrel "$LINENO" "sys/resource.h" "ac_cv_header_sys_resource_h" "$ac_includes_default" if test "x$ac_cv_header_sys_resource_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SYS_RESOURCE_H 1 _ACEOF fi done # for fesetround, fegetround for ac_header in fenv.h do : ac_fn_c_check_header_mongrel "$LINENO" "fenv.h" "ac_cv_header_fenv_h" "$ac_includes_default" if test "x$ac_cv_header_fenv_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_FENV_H 1 _ACEOF fi done # for times for ac_header in sys/times.h do : ac_fn_c_check_header_mongrel "$LINENO" "sys/times.h" "ac_cv_header_sys_times_h" "$ac_includes_default" if test "x$ac_cv_header_sys_times_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SYS_TIMES_H 1 _ACEOF fi done # for utime for ac_header in utime.h do : ac_fn_c_check_header_mongrel "$LINENO" "utime.h" "ac_cv_header_utime_h" "$ac_includes_default" if test "x$ac_cv_header_utime_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_UTIME_H 1 _ACEOF fi done for ac_header in strings.h sys/socket.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done # -------- check for C language -------- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 $as_echo_n "checking for an ANSI C-conforming const... " >&6; } if ${ac_cv_c_const+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __cplusplus /* Ultrix mips cc rejects this sort of thing. */ typedef int charset[2]; const charset cs = { 0, 0 }; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; /* NEC SVR4.0.2 mips cc rejects this. */ struct point {int x, y;}; static struct point const zero = {0,0}; /* AIX XL C 1.02.0.0 rejects this. It does not let you subtract one const X* pointer from another in an arm of an if-expression whose if-part is not a constant expression */ const char *g = "string"; pcpcc = &g + (g ? g-g : 0); /* HPUX 7.0 cc rejects these. */ ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; { /* SCO 3.2v4 cc rejects this sort of thing. */ char tx; char *t = &tx; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; if (s) return 0; } { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ int x[] = {25, 17}; const int *foo = &x[0]; ++foo; } { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ typedef const int *iptr; iptr p = 0; ++p; } { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ struct s { int j; const int *ap[3]; } bx; struct s *b = &bx; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; if (!foo) return 0; } return !cs[0] && !zero.x; #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_const=yes else ac_cv_c_const=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 $as_echo "$ac_cv_c_const" >&6; } if test $ac_cv_c_const = no; then $as_echo "#define const /**/" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 $as_echo_n "checking for inline... " >&6; } if ${ac_cv_c_inline+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __cplusplus typedef int foo_t; static $ac_kw foo_t static_foo () {return 0; } $ac_kw foo_t foo () {return 0; } #endif _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_inline=$ac_kw fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test "$ac_cv_c_inline" != no && break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 $as_echo "$ac_cv_c_inline" >&6; } case $ac_cv_c_inline in inline | yes) ;; *) case $ac_cv_c_inline in no) ac_val=;; *) ac_val=$ac_cv_c_inline;; esac cat >>confdefs.h <<_ACEOF #ifndef __cplusplus #define inline $ac_val #endif _ACEOF ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working volatile" >&5 $as_echo_n "checking for working volatile... " >&6; } if ${ac_cv_c_volatile+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { volatile int x; int * volatile y = (int *) 0; return !x && !y; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_volatile=yes else ac_cv_c_volatile=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_volatile" >&5 $as_echo "$ac_cv_c_volatile" >&6; } if test $ac_cv_c_volatile = no; then $as_echo "#define volatile /**/" >>confdefs.h fi ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" if test "x$ac_cv_type_size_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define size_t unsigned int _ACEOF fi #AC_TYPE_SIGNAL #AC_CHECK_SIZEOF(int) #AC_CHECK_SIZEOF(short) #AC_CHECK_SIZEOF(long) #AC_CHECK_SIZEOF(void*) #AC_CHECK_SIZEOF(float) #AC_CHECK_SIZEOF(double) { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 $as_echo_n "checking whether byte ordering is bigendian... " >&6; } if ${ac_cv_c_bigendian+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_c_bigendian=unknown # See if we're dealing with a universal compiler. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __APPLE_CC__ not a universal capable compiler #endif typedef int dummy; _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # Check for potential -arch flags. It is not universal unless # there are at least two -arch flags with different values. ac_arch= ac_prev= for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do if test -n "$ac_prev"; then case $ac_word in i?86 | x86_64 | ppc | ppc64) if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then ac_arch=$ac_word else ac_cv_c_bigendian=universal break fi ;; esac ac_prev= elif test "x$ac_word" = "x-arch"; then ac_prev=arch fi done fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_c_bigendian = unknown; then # See if sys/param.h defines the BYTE_ORDER macro. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { #if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ && LITTLE_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { #if BYTE_ORDER != BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to _BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #ifndef _BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # Compile a test program. if test "$cross_compiling" = yes; then : # Try to guess by grepping values from an object file. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; int use_ascii (int i) { return ascii_mm[i] + ascii_ii[i]; } short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; int use_ebcdic (int i) { return ebcdic_mm[i] + ebcdic_ii[i]; } extern int foo; int main () { return use_ascii (foo) == use_ebcdic (foo); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then ac_cv_c_bigendian=yes fi if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then if test "$ac_cv_c_bigendian" = unknown; then ac_cv_c_bigendian=no else # finding both strings is unlikely to happen, but who knows? ac_cv_c_bigendian=unknown fi fi fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { /* Are we little or big endian? From Harbison&Steele. */ union { long int l; char c[sizeof (long int)]; } u; u.l = 1; return u.c[sizeof (long int) - 1] == 1; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_c_bigendian=no else ac_cv_c_bigendian=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 $as_echo "$ac_cv_c_bigendian" >&6; } case $ac_cv_c_bigendian in #( yes) $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h BYTE_ORDER=Big ;; #( no) BYTE_ORDER=Little ;; #( universal) $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h ;; #( *) as_fn_error $? "unknown endianness presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; esac # -------- check for C functions -------- #AC_FUNC_FORK #AC_FUNC_MALLOC #AC_FUNC_REALLOC for ac_func in \ ceilf \ clock_gettime \ copysign \ copysignf \ dlopen \ fegetround \ fesetround \ finite \ floorf \ fpclass \ frexpf \ getrusage \ gettimeofday \ ldexpf \ mkstemp \ mmap \ modf \ modff \ nextafter \ nextafterf \ poll \ readlink \ roundf \ select \ sleep \ socket \ times \ utime \ utimes \ do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done ac_fn_c_check_decl "$LINENO" "CLOCK_PROCESS_CPUTIME_ID" "ac_cv_have_decl_CLOCK_PROCESS_CPUTIME_ID" "#include " if test "x$ac_cv_have_decl_CLOCK_PROCESS_CPUTIME_ID" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_CLOCK_PROCESS_CPUTIME_ID $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "fpclassify" "ac_cv_have_decl_fpclassify" "#include " if test "x$ac_cv_have_decl_fpclassify" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FPCLASSIFY $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "isinf" "ac_cv_have_decl_isinf" "#include " if test "x$ac_cv_have_decl_isinf" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_ISINF $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "isnan" "ac_cv_have_decl_isnan" "#include " if test "x$ac_cv_have_decl_isnan" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_ISNAN $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "isnormal" "ac_cv_have_decl_isnormal" "#include " if test "x$ac_cv_have_decl_isnormal" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_ISNORMAL $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "signbit" "ac_cv_have_decl_signbit" "#include " if test "x$ac_cv_have_decl_signbit" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_SIGNBIT $ac_have_decl _ACEOF # FreeBSD does not define fegetround/fesetround as library functions, # but as inline functions in fenv.h. if test "x$ac_cv_func_fegetround" = "xno"; then ac_fn_c_check_decl "$LINENO" "fegetround" "ac_cv_have_decl_fegetround" "#include " if test "x$ac_cv_have_decl_fegetround" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FEGETROUND $ac_have_decl _ACEOF fi if test "x$ac_cv_func_fesetround" = "xno"; then ac_fn_c_check_decl "$LINENO" "fesetround" "ac_cv_have_decl_fesetround" "#include " if test "x$ac_cv_have_decl_fesetround" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FESETROUND $ac_have_decl _ACEOF fi # -------- Finale -------- ac_config_files="$ac_config_files stamp-h config.mk src/config.mk Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by $as_me, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Report bugs to the package provider." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ config.status configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "stamp-h") CONFIG_FILES="$CONFIG_FILES stamp-h" ;; "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; "src/config.mk") CONFIG_FILES="$CONFIG_FILES src/config.mk" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_tt=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_tt"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS " shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi ;; esac case $ac_file$ac_mode in "stamp-h":F) echo timestamp > stamp-h ;; "config.mk":F) echo timestamp > stamp-h ;; "src/config.mk":F) echo timestamp > stamp-h ;; "Makefile":F) echo timestamp > stamp-h ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi (cd "$srcdir" && $FIND src -type d) | while read i; do \ if test ! -d "$i"; then $as_echo "creating directory $i" mkdir "$i" fi done if test "x$STAGE0_COMPILER" != "x"; then $as_echo $as_echo "*** NOTE:" $as_echo "*** You need to build stage 0 compiler. Do \`make stage0' at first." $as_echo "***" fi smlsharp-1.2.0/configure.ac0000644 000000000000000000002703112050661606015774 0ustar00rootroot0000000 0000000 # -*- Autoconf -*- AC_PREREQ(2.61) AC_INIT(smlsharp) AC_CONFIG_SRCDIR([src/compiler/toplevel2/main/Top.sml]) AC_CONFIG_HEADER([config.h]) AC_CANONICAL_TARGET AC_ARG_PROGRAM AC_DEFINE_UNQUOTED(SMLSHARP_PLATFORM, "${target_cpu}-${target_os}", [platform identifier]) SMLSHARP_PLATFORM="${target_cpu}-${target_os}" AC_SUBST(SMLSHARP_PLATFORM) # Checks for programs. AC_PROG_CC AC_LANG(C) AC_PROG_MAKE_SET AC_PROG_INSTALL AC_PATH_PROG(FIND, find) AC_PROG_RANLIB AC_CHECK_TOOL(LD, ld) AC_CHECK_TOOL(AR, ar) #AC_CHECK_TOOL(WINDRES, windres) #AC_PATH_PROG(DOXYGEN, doxygen) RUNTIME_DEFS= AC_SUBST(RUNTIME_DEFS) LIBEXT='a' DLLEXT='so' ASMEXT='s' OBJEXT='o' EXEEXT= A_OUT='a.out' RDYNAMIC_LDFLAGS= RUNLOOP_DLDFLAGS= AC_SUBST(LIBEXT) AC_SUBST(DLLEXT) AC_SUBST(ASMEXT) AC_SUBST(OBJEXT) AC_SUBST(EXEEXT) AC_SUBST(A_OUT) AC_SUBST(RDYNAMIC_LDFLAGS) AC_SUBST(RUNLOOP_DLDFLAGS) case "$host_os" in # *cygwin*) # DLLEXT='dll' # EXEEXT=.exe # A_OUT=a.exe #AC_CHECK_TOOL(DLLTOOL, dlltool, :) #AC_PATH_PROG(CYGPATH, cygpath) #if test "x$CYGPATH" = "x"; then # case "$host_os" in # *cygwin*) # AC_MSG_ERROR([cygpath is not found.]) # ;; # esac #fi #AC_SUBST(CYGPATH) #if test "x$WINDRES" != "x"; then # RESOURCE_TYPE=rc #fi #AC_SUBST(RESOURCE_TYPE) *mingw*) DLLEXT='dll' EXEEXT=.exe A_OUT=a.exe RDYNAMIC_LDFLAGS='-Wl,-Wl\\,--export-all-symbols -Wl,-Wl\\,--out-implib=src/compiler/smlsharp.lib' RUNLOOP_DLDFLAGS='-shared -Wl,--enable-auto-import,--enable-stdcall-fixup' ;; *darwin*) LIBEXT='a' DLLEXT='dylib' RDYNAMIC_LDFLAGS= RUNLOOP_DLDFLAGS='-dynamiclib -Wl,-undefined,dynamic_lookup,-flat_namespace' ;; *linux*) RDYNAMIC_LDFLAGS=-Wl,-rdynamic RUNLOOP_DLDFLAGS=-shared ;; esac if test "x$RDYNAMIC_LDFLAGS" = "x" && test "x$RUNLOOP_DLDFLAGS" = "x"; then AC_MSG_WARN(settings for dynamic linking is not specified. interactive mode may not work.) RDYNAMIC_LDFLAGS= RUNLOOP_DLDFLAGS=-shared fi case "$target_os" in *mingw*) OS_TYPE=Windows ;; *) OS_TYPE=Unix ;; esac AC_SUBST(OS_TYPE) # FIXME: check how to make a static library # -------- Checks for SML compiler -------- SML_PATH=$PATH SMLSHARP=./minismlsharp AC_SUBST(SMLSHARP) SMLSHARP_DEP=minismlsharp AC_SUBST(SMLSHARP_DEP) STAGE0_COMPILER= AC_SUBST(STAGE0_COMPILER) INCLUDE_STAGE0='# ' AC_SUBST(INCLUDE_STAGE0) AC_ARG_WITH(smlsharp, AS_HELP_STRING([--with-smlsharp=DIR], [bootstrap with existing smlsharp command]), [ SML_PATH="$withval/bin:$SML_PATH" ]) AC_ARG_WITH(stage0, AS_HELP_STRING([--with-stage0={smlnj|mlton}], [bootstrap with other SML compiler])) if test "${with_smlsharp+set}" = set && test "x${with_smlsharp}" != "xno"; then AC_PATH_PROG(SMLSHARP, smlsharp, [], $SML_PATH) if test "x$SMLSHARP" = "x"; then AC_MSG_ERROR([smlsharp command does not found]) fi SMLSHARP_DEP= elif test "${with_stage0+set}" = set && test "x${with_smlsharp}" != "xno"; then check_mlton=yes check_smlnj=yes test "x$with_stage0" = "xmlton" && check_smlnj=no test "x$with_stage0" = "xsmlnj" && check_mlton=no if test "x$check_smlnj" = "xyes"; then AC_PATH_PROG(SMLNJ, sml, [], $SML_PATH) AC_SUBST(SMLNJ) if test "x$SMLNJ" = "x"; then SMLBAT= case "$host_os" in *mingw*) AC_PATH_PROG(SMLBAT, sml.bat, [], $SML_PATH) if test "x$SMLBAT" != "x"; then # convert drive letter from MSYS to DOS SMLBAT=`echo "$SMLBAT" | sed 's,^/\\([[a-zA-Z]]\\)/,\\1:/,;s,//*,/,g'` test -f "$SMLBAT" && SMLNJ='cmd /c "'"$SMLBAT"'"' fi ;; esac fi if test "x$SMLNJ" != "x"; then AC_MSG_CHECKING([for suffix of heap image]) (mkdir conftest && cd conftest \ && echo 'SMLofNJ.exportFn("conftest",fn _=>OS.Process.success);' \ | $SMLNJ > /dev/null 2>&1) SMLNJ_HEAP_SUFFIX=`(cd conftest && echo *) | sed 's,^conftest\\.,,'` rm -rf conftest AC_MSG_RESULT($SMLNJ_HEAP_SUFFIX) AC_SUBST(SMLNJ_HEAP_SUFFIX) if test "x$SMLNJ_HEAP_SUFFIX" = "x" || test "x$SMLNJ_HEAP_SUFFIX" = "x*" then AC_MSG_ERROR("failed.") fi STAGE0_COMPILER=SMLNJ fi fi if test "x$check_mlton" = "xyes" && test "x$STAGE0_COMPILER" = "x"; then AC_PATH_PROG(MLTON, mlton, [], $SML_PATH) AC_SUBST(MLTON) test "x$MLTON" = "x" || STAGE0_COMPILER=MLTON fi if test "x$STAGE0_COMPILER" = "x"; then AC_MSG_ERROR([no Standard ML compiler is found]) fi INCLUDE_STAGE0= SMLSHARP=stage0/smlsharp SMLSHARP_DEP= fi INCLUDE_FASTBUILD='#' AC_SUBST(INCLUDE_FASTBUILD) AC_ARG_ENABLE(fast-build, AS_HELP_STRING([--enable-fast-build], [reuse pre-compiled assembly file to build SML#]), [ test "x$enableval" = "xyes" && INCLUDE_FASTBUILD= ]) if test "x$INCLUDE_FASTBUILD" = "x" || test "x$SMLSHARP_DEP" = "xminismlsharp" then AC_PATH_PROG(XZ, xz) if test "x$XZ" = "x"; then AC_MSG_ERROR([xz is required to build smlsharp.]) fi AC_PATH_PROG(PAX, pax) if test "x$PAX" = "x"; then AC_PATH_PROG(CPIO, cpio) if test "x$CPIO" = "x"; then AC_MSG_ERROR([either pax or cpio is required to build smlsharp.]) fi PAX_R="$CPIO -idu" else PAX_R="$PAX -r -pam" fi AC_SUBST(PAX_R) fi # -------- Checks for multithreading -------- AC_ARG_ENABLE(thread, AS_HELP_STRING([--enable-thread], [enable experimental native thread support [[default=no]]]), [ test "x$enableval" = "xyes" && RUNTIME_DEFS="$RUNTIME_DEFS -DMULTITHREAD" ], []) # -------- Checks for native compile -------- case "$target" in i[[3456]]86-*-linux*) NATIVE_TARGET=x86-linux ;; x86_64-*-linux*) NATIVE_TARGET=x86-linux ;; i[[3456]]86-*-darwin*) NATIVE_TARGET=x86-darwin ;; i[[3456]]86-*-mingw*) NATIVE_TARGET=x86-mingw ;; i[[3456]]86-*-cygwin*) NATIVE_TARGET=x86-cygwin ;; *) NATIVE_TARGET= ;; esac case "$target" in i[[3456]]86-*|x86_64-*) RUNTIME_DEFS="$RUNTIME_DEFS -DHOST_CPU_i386 -DMAXALIGN=16" ;; esac AC_MSG_CHECKING([for native code generation target]) AC_ARG_ENABLE(native, AS_HELP_STRING([--enable-native], [enable native code generation [[default=yes]]]), [ case "x$enableval" in x|xyes) if test "x$NATIVE_TARGET" = "x"; then AC_MSG_RESULT([unsupported.]) AC_MSG_ERROR([specify target platform by --enable-native=.]) fi ;; xno) NATIVE_TARGET= ;; *) NATIVE_TARGET="$enableval" ;; esac ]) if test "x$NATIVE_TARGET" = "x"; then AC_MSG_RESULT([unsupported.]) AC_MSG_ERROR([specify target platform by --enable-native=.]) else AC_MSG_RESULT([$NATIVE_TARGET]) fi AC_SUBST(NATIVE_TARGET) # -------- Extra switches for developers -------- SNAPDATE_RULE_='# ' if test -f "${srcdir}/../.hg/dirstate"; then (test ! -f ${srcdir}/RELEASE_DATE \ || grep '[[a-f]]' ${srcdir}/RELEASE_DATE > /dev/null 2>&1) \ && SNAPDATE_RULE_= fi AC_SUBST(SNAPDATE_RULE_) AC_ARG_ENABLE(heapimpl, AS_HELP_STRING([--enable-heapimpl], [select heap management algorithm [[default=bitmap]]]), [ HEAPIMPL=$enableval ], [ HEAPIMPL=bitmap ]) if test "x$NATIVE_TARGET" = "x"; then : else AC_MSG_CHECKING([for heap management algorithm]) AC_MSG_RESULT([$HEAPIMPL]) fi if test -f "$srcdir/src/runtime/heap_$HEAPIMPL.c"; then : else AC_MSG_ERROR([heap implementation \`$HEAPIMPL' is not available.]) fi AC_SUBST(HEAPIMPL) # -------- Checks for Libraries -------- AC_CHECK_LIB(m, sqrt) AC_CHECK_LIB(socket, socket) AC_CHECK_LIB(gmp, __gmpz_init) if test "x$ac_cv_lib_gmp___gmpz_init" = "xno"; then AC_MSG_ERROR([GMP library is not found.]) fi AC_CHECK_LIB(dl, dlopen) #AC_CHECK_LIB(dld, shl_load) # for HP-UX ## cygwin has dlopen in libcygwin.dll. if test "x$ac_cv_lib_dl_dlopen" = "xno"; then case "$target_os" in *cygwin*) AC_SEARCH_LIBS(dlopen, [dl], [ ac_cv_lib_dl_dlopen=yes; echo "#define HAVE_LIBDL 1" >> confdefs.h ]) ;; *) ;; esac fi AC_ARG_WITH(rt, AS_HELP_STRING([--with-rt],[try to use clock_gettime for benchmark]), [ AC_CHECK_LIB(rt, clock_gettime) ]) if test "x$enable_thread" = "xyes"; then AC_CHECK_LIB(pthread, pthread_create) if test "x$ac_cv_lib_pthread_pthread_create" = "xno"; then AC_MSG_ERROR([pthread library is not found.]) fi fi case "$target_os" in *mingw*) AC_DEFINE(MINGW32, 1, [Define if your system is Windows]) ;; esac # FIXME: check for method for dynamic linking. # -------- Checks for Header Files -------- AC_DEFUN(REQUIRED_HEADER, [ AC_CHECK_HEADER($1, [], [ AC_MSG_ERROR([required header file <$1> is not found.]) ])]) # C99 headers REQUIRED_HEADER(assert.h) REQUIRED_HEADER(ctype.h) REQUIRED_HEADER(dirent.h) REQUIRED_HEADER(errno.h) REQUIRED_HEADER(limits.h) REQUIRED_HEADER(math.h) REQUIRED_HEADER(setjmp.h) REQUIRED_HEADER(stdarg.h) REQUIRED_HEADER(stddef.h) REQUIRED_HEADER(stdint.h) REQUIRED_HEADER(stdio.h) REQUIRED_HEADER(stdlib.h) REQUIRED_HEADER(string.h) REQUIRED_HEADER(time.h) # POSIX headers REQUIRED_HEADER(unistd.h) REQUIRED_HEADER(fcntl.h) REQUIRED_HEADER(sys/time.h) REQUIRED_HEADER(sys/stat.h) if test "x$enable_thread" = "xyes"; then REQUIRED_HEADER(pthread.h) fi REQUIRED_HEADER(signal.h) case "$target_os" in *mingw*) # mingw does not have sigaction. ;; *) AC_CHECK_FUNCS([sigaction sigprocmask], [], [ AC_ERROR([POSIX signal functions are not found.]) ]) ;; esac # auxiliary libraries REQUIRED_HEADER(gmp.h) case "$target_os" in *mingw*) REQUIRED_HEADER(windows.h) ;; esac # for dlopen etc. AC_CHECK_HEADERS(dlfcn.h) # for poll AC_CHECK_HEADERS(poll.h) # for mmap AC_CHECK_HEADERS(sys/mman.h) AC_CHECK_HEADERS(sys/types.h) # for fpclassify AC_CHECK_HEADERS(float.h) # for fpclass AC_CHECK_HEADERS(ieeefp.h) # for getrusage AC_CHECK_HEADERS(sys/resource.h) # for fesetround, fegetround AC_CHECK_HEADERS(fenv.h) # for times AC_CHECK_HEADERS(sys/times.h) # for utime AC_CHECK_HEADERS(utime.h) AC_CHECK_HEADERS([strings.h sys/socket.h]) # -------- check for C language -------- AC_C_CONST AC_C_INLINE AC_C_VOLATILE AC_TYPE_SIZE_T #AC_TYPE_SIGNAL #AC_CHECK_SIZEOF(int) #AC_CHECK_SIZEOF(short) #AC_CHECK_SIZEOF(long) #AC_CHECK_SIZEOF(void*) #AC_CHECK_SIZEOF(float) #AC_CHECK_SIZEOF(double) AC_C_BIGENDIAN([ AC_DEFINE(WORDS_BIGENDIAN, [1], [Define if your processor is big endian]) BYTE_ORDER=Big ], [ BYTE_ORDER=Little ]) AC_SUBST(BYTE_ORDER) # -------- check for C functions -------- #AC_FUNC_FORK #AC_FUNC_MALLOC #AC_FUNC_REALLOC AC_CHECK_FUNCS([ \ ceilf \ clock_gettime \ copysign \ copysignf \ dlopen \ fegetround \ fesetround \ finite \ floorf \ fpclass \ frexpf \ getrusage \ gettimeofday \ ldexpf \ mkstemp \ mmap \ modf \ modff \ nextafter \ nextafterf \ poll \ readlink \ roundf \ select \ sleep \ socket \ times \ utime \ utimes \ ]) AC_CHECK_DECLS([CLOCK_PROCESS_CPUTIME_ID],,,[#include ]) AC_CHECK_DECLS([fpclassify, isinf, isnan, isnormal, signbit],,, [#include ]) # FreeBSD does not define fegetround/fesetround as library functions, # but as inline functions in fenv.h. if test "x$ac_cv_func_fegetround" = "xno"; then AC_CHECK_DECLS([fegetround],,,[#include ]) fi if test "x$ac_cv_func_fesetround" = "xno"; then AC_CHECK_DECLS([fesetround],,,[#include ]) fi # -------- Finale -------- AC_CONFIG_FILES([stamp-h config.mk src/config.mk Makefile], [echo timestamp > stamp-h]) AC_OUTPUT (cd "$srcdir" && $FIND src -type d) | while read i; do \ if test ! -d "$i"; then AS_ECHO "creating directory $i" mkdir "$i" fi done if test "x$STAGE0_COMPILER" != "x"; then AS_ECHO AS_ECHO "*** NOTE:" AS_ECHO "*** You need to build stage 0 compiler. Do \`make stage0' at first." AS_ECHO "***" fi smlsharp-1.2.0/depend.mk0000644 000000000000000000523163112050661606015306 0ustar00rootroot0000000 0000000 # auto-generated by mkdepend. DO NOT EDIT BY HAND. src/basis/main/Array.o: src/basis/main/Array.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi \ $(SMLSHARP_DEP) src/basis/main/ArraySlice.o: src/basis/main/ArraySlice.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/ArraySlice.smi \ $(SMLSHARP_DEP) src/basis/main/BinIO.o: src/basis/main/BinIO.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/Word.smi src/basis/main/Word8.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/Word8Vector.smi \ src/basis/main/Word8VectorSlice.smi src/basis/main/Word8Array.smi \ src/smlnj/Basis/NJ/cleanup.sig src/smlnj/Basis/NJ/cleanup.smi \ src/smlnj/Basis/IO/clean-io.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/BOOL.sig \ src/basis/main/Bool.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/smlnj/Basis/IO/prim-io-bin.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/IMPERATIVE_IO.sig \ src/basis/main/BIN_IO.sig src/basis/main/BinIO.smi \ $(SMLSHARP_DEP) src/basis/main/Bool.o: src/basis/main/Bool.sml src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/BOOL.sig src/basis/main/Bool.smi \ $(SMLSHARP_DEP) src/basis/main/Byte.o: src/basis/main/Byte.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/Word8Vector.smi \ src/basis/main/Word8VectorSlice.smi src/basis/main/Word8Array.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/Substring.smi src/basis/main/Byte.smi \ $(SMLSHARP_DEP) src/basis/main/Char.o: src/basis/main/Char.sml src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi \ $(SMLSHARP_DEP) src/basis/main/CharArray.o: src/basis/main/CharArray.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/CharArray.smi \ $(SMLSHARP_DEP) src/basis/main/CharVector.o: src/basis/main/CharVector.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/CharVector.smi \ $(SMLSHARP_DEP) src/basis/main/CharVectorSlice.o: src/basis/main/CharVectorSlice.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ $(SMLSHARP_DEP) src/basis/main/CommandLine.o: src/basis/main/CommandLine.sml \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ $(SMLSHARP_DEP) src/basis/main/Date.o: src/basis/main/Date.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/DATE.sig \ src/basis/main/Date.smi \ $(SMLSHARP_DEP) src/basis/main/General.o: src/basis/main/General.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ $(SMLSHARP_DEP) src/basis/main/IEEEReal.o: src/basis/main/IEEEReal.sml \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/SMLSharpRuntime.smi src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ $(SMLSHARP_DEP) src/basis/main/IO.o: src/basis/main/IO.sml src/basis/main/IO.sig \ src/basis/main/IO.smi \ $(SMLSHARP_DEP) src/basis/main/Int.o: src/basis/main/Int.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ $(SMLSHARP_DEP) src/basis/main/IntInf.o: src/basis/main/IntInf.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi \ $(SMLSHARP_DEP) src/basis/main/List.o: src/basis/main/List.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ $(SMLSHARP_DEP) src/basis/main/ListPair.o: src/basis/main/ListPair.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi \ $(SMLSHARP_DEP) src/basis/main/OS.o: src/basis/main/OS.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/BOOL.sig \ src/basis/main/Bool.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi \ $(SMLSHARP_DEP) src/basis/main/Option.o: src/basis/main/Option.sml src/basis/main/OPTION.sig \ src/basis/main/Option.smi \ $(SMLSHARP_DEP) src/basis/main/Real.o: src/basis/main/Real.sml \ src/basis/main/SMLSharpRuntime.smi src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/Substring.smi src/basis/main/IEEE_REAL.sig \ src/basis/main/IEEEReal.smi src/basis/main/MATH.sig \ src/basis/main/RealClass.smi src/basis/main/Real.smi \ $(SMLSHARP_DEP) src/basis/main/Real32.o: src/basis/main/Real32.sml \ src/basis/main/SMLSharpRuntime.smi src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/MATH.sig src/basis/main/RealClass.smi \ src/basis/main/Substring.smi src/basis/main/Real.smi \ src/basis/main/Real32.smi \ $(SMLSHARP_DEP) src/basis/main/RealClass.o: src/basis/main/RealClass.sml \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/SMLSharpRuntime.smi src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi \ $(SMLSHARP_DEP) src/basis/main/SMLSharpOSFileSys.o: src/basis/main/SMLSharpOSFileSys.sml \ src/basis/main/SMLSharpRuntime.smi src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi \ $(SMLSHARP_DEP) src/basis/main/SMLSharpOSProcess.o: src/basis/main/SMLSharpOSProcess.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi src/basis/main/Word.smi \ src/basis/main/SMLSharpRuntime.smi src/basis/main/IEEE_REAL.sig \ src/basis/main/IEEEReal.smi src/basis/main/RealClass.smi \ src/basis/main/Substring.smi src/basis/main/MATH.sig src/basis/main/Real.smi \ src/basis/main/Real32.smi src/basis/main/TIME.sig src/basis/main/Time.smi \ src/basis/main/OS_PROCESS.sig src/basis/main/SMLSharpOSProcess.smi \ $(SMLSHARP_DEP) src/basis/main/SMLSharpRuntime.o: src/basis/main/SMLSharpRuntime.sml \ src/basis/main/SMLSharpRuntime.smi \ $(SMLSHARP_DEP) src/basis/main/SMLSharpScanChar.o: src/basis/main/SMLSharpScanChar.sml \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/SMLSharpScanChar.smi \ $(SMLSHARP_DEP) src/basis/main/String.o: src/basis/main/String.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi \ $(SMLSHARP_DEP) src/basis/main/StringBase.o: src/basis/main/StringBase.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/StringBase.smi \ $(SMLSHARP_DEP) src/basis/main/StringCvt.o: src/basis/main/StringCvt.sml \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ $(SMLSHARP_DEP) src/basis/main/Substring.o: src/basis/main/Substring.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/Substring.smi \ $(SMLSHARP_DEP) src/basis/main/Text.o: src/basis/main/Text.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/Substring.smi \ src/basis/main/CharArray.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ $(SMLSHARP_DEP) src/basis/main/TextIO.o: src/basis/main/TextIO.sml \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/BOOL.sig \ src/basis/main/Bool.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ $(SMLSHARP_DEP) src/basis/main/Time.o: src/basis/main/Time.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi \ $(SMLSHARP_DEP) src/basis/main/Timer.o: src/basis/main/Timer.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ $(SMLSHARP_DEP) src/basis/main/Vector.o: src/basis/main/Vector.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Vector.smi \ $(SMLSHARP_DEP) src/basis/main/VectorSlice.o: src/basis/main/VectorSlice.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi \ $(SMLSHARP_DEP) src/basis/main/Word.o: src/basis/main/Word.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/Word.smi \ $(SMLSHARP_DEP) src/basis/main/Word8.o: src/basis/main/Word8.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/Word.smi src/basis/main/Word8.smi \ $(SMLSHARP_DEP) src/basis/main/Word8Array.o: src/basis/main/Word8Array.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/Word8Array.smi \ $(SMLSHARP_DEP) src/basis/main/Word8Vector.o: src/basis/main/Word8Vector.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi \ $(SMLSHARP_DEP) src/basis/main/Word8VectorSlice.o: src/basis/main/Word8VectorSlice.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ $(SMLSHARP_DEP) src/basis/main/binary-op.o: src/basis/main/binary-op.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi src/basis/main/Word.smi \ src/basis/main/Word8.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/binary-op.smi \ $(SMLSHARP_DEP) src/compiler-utils/env/main/IEnv.o: src/compiler-utils/env/main/IEnv.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi src/basis/main/Word.smi \ src/basis/main/Word8.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/binary-op.smi src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi \ $(SMLSHARP_DEP) src/compiler-utils/env/main/IOrd.o: src/compiler-utils/env/main/IOrd.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/compiler-utils/env/main/IOrd.smi \ $(SMLSHARP_DEP) src/compiler-utils/env/main/ISet.o: src/compiler-utils/env/main/ISet.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi src/basis/main/Word.smi \ src/basis/main/Word8.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/binary-op.smi src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-set-sig.sml src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ $(SMLSHARP_DEP) src/compiler-utils/env/main/LabelEnv.o: \ src/compiler-utils/env/main/LabelEnv.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/Word.smi src/basis/main/Word8.smi \ src/basis/main/SMLSharpRuntime.smi src/basis/main/IEEE_REAL.sig \ src/basis/main/IEEEReal.smi src/basis/main/RealClass.smi \ src/basis/main/Substring.smi src/basis/main/MATH.sig src/basis/main/Real.smi \ src/basis/main/Real32.smi src/basis/main/binary-op.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ $(SMLSHARP_DEP) src/compiler-utils/env/main/LabelOrd.o: \ src/compiler-utils/env/main/LabelOrd.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/compiler-utils/env/main/LabelOrd.smi \ $(SMLSHARP_DEP) src/compiler-utils/env/main/PathEnv.o: src/compiler-utils/env/main/PathEnv.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/PathEnv.smi \ $(SMLSHARP_DEP) src/compiler-utils/env/main/SEnv.o: src/compiler-utils/env/main/SEnv.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi src/basis/main/Word.smi \ src/basis/main/Word8.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/binary-op.smi src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/SEnv.smi \ $(SMLSHARP_DEP) src/compiler-utils/env/main/SOrd.o: src/compiler-utils/env/main/SOrd.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/compiler-utils/env/main/SOrd.smi \ $(SMLSHARP_DEP) src/compiler-utils/env/main/SSet.o: src/compiler-utils/env/main/SSet.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ $(SMLSHARP_DEP) src/compiler/abstractinstruction2/main/AbstractInstruction.ppg.sml: src/compiler/abstractinstruction2/main/AbstractInstruction.ppg $(SMLFORMAT_DEP) src/compiler/abstractinstruction2/main/AbstractInstruction.ppg.o: \ src/compiler/abstractinstruction2/main/AbstractInstruction.ppg.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/compiler-utils/env/main/SEnv.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/systemdef/main/BasicTypes.smi \ src/compiler/targetplatform/main/TARGET_PLATFORM.sig \ src/compiler/targetplatform/main/TargetPlatformFormatter.smi \ src/compiler/targetplatform/main/TARGET_PROPERTY.sig \ src/compiler/targetplatform/main/TargetProperty.smi \ src/compiler/targetplatform/main/VMTarget.smi \ src/compiler/abstractinstruction2/main/AbstractInstruction.ppg.smi \ $(SMLSHARP_DEP) src/compiler/abstractinstruction2/main/AbstractInstructionFormatter.o: \ src/compiler/abstractinstruction2/main/AbstractInstructionFormatter.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/compiler-utils/env/main/SEnv.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/systemdef/main/BasicTypes.smi \ src/compiler/targetplatform/main/TARGET_PLATFORM.sig \ src/compiler/targetplatform/main/TargetPlatformFormatter.smi \ src/compiler/targetplatform/main/TARGET_PROPERTY.sig \ src/compiler/targetplatform/main/TargetProperty.smi \ src/compiler/targetplatform/main/VMTarget.smi \ src/compiler/abstractinstruction2/main/AbstractInstruction.ppg.smi \ src/compiler/abstractinstruction2/main/AbstractInstructionFormatter.smi \ $(SMLSHARP_DEP) src/compiler/absyn/main/Absyn.ppg.sml: src/compiler/absyn/main/Absyn.ppg $(SMLFORMAT_DEP) src/compiler/absyn/main/Absyn.ppg.o: src/compiler/absyn/main/Absyn.ppg.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ $(SMLSHARP_DEP) src/compiler/absyn/main/AbsynFormatter.o: \ src/compiler/absyn/main/AbsynFormatter.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/absyn/main/ABSYN_FORMATTER.sig \ src/compiler/absyn/main/AbsynFormatter.smi \ $(SMLSHARP_DEP) src/compiler/absyn/main/AbsynInterface.ppg.sml: src/compiler/absyn/main/AbsynInterface.ppg $(SMLFORMAT_DEP) src/compiler/absyn/main/AbsynInterface.ppg.o: \ src/compiler/absyn/main/AbsynInterface.ppg.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler-utils/env/main/SEnv.smi src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/absyn/main/AbsynInterface.ppg.smi \ $(SMLSHARP_DEP) src/compiler/absyn/main/AbsynSQL.ppg.sml: src/compiler/absyn/main/AbsynSQL.ppg $(SMLFORMAT_DEP) src/compiler/absyn/main/AbsynSQL.ppg.o: \ src/compiler/absyn/main/AbsynSQL.ppg.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi \ $(SMLSHARP_DEP) src/compiler/absyn/main/Fixity.o: src/compiler/absyn/main/Fixity.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/compiler/absyn/main/Fixity.smi \ $(SMLSHARP_DEP) src/compiler/aigenerator2/main/AIGenerator.o: \ src/compiler/aigenerator2/main/AIGenerator.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler-utils/env/main/IEnv.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/systemdef/main/BasicTypes.smi \ src/compiler/targetplatform/main/TARGET_PLATFORM.sig \ src/compiler/targetplatform/main/TargetPlatformFormatter.smi \ src/compiler/targetplatform/main/TARGET_PROPERTY.sig \ src/compiler/targetplatform/main/TargetProperty.smi \ src/compiler/targetplatform/main/VMTarget.smi \ src/compiler/abstractinstruction2/main/AbstractInstruction.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/systemdef/main/BasicTypeFormatters.smi \ src/compiler/yaanormal/main/ANormal.ppg.smi \ src/compiler/aigenerator2/main/AIGENERATOR.sig \ src/compiler/aigenerator2/main/AIPrimitive.smi \ src/compiler/aigenerator2/main/BinarySearchCode.smi \ src/compiler/aigenerator2/main/CallAnalysis.smi \ src/compiler/aigenerator2/main/Simplify.smi \ src/compiler/aigenerator2/main/AIGenerator.smi \ $(SMLSHARP_DEP) src/compiler/aigenerator2/main/AIPrimitive.o: \ src/compiler/aigenerator2/main/AIPrimitive.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/compiler-utils/env/main/SEnv.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/systemdef/main/BasicTypes.smi \ src/compiler/targetplatform/main/TARGET_PLATFORM.sig \ src/compiler/targetplatform/main/TargetPlatformFormatter.smi \ src/compiler/targetplatform/main/TARGET_PROPERTY.sig \ src/compiler/targetplatform/main/TargetProperty.smi \ src/compiler/targetplatform/main/VMTarget.smi \ src/compiler/abstractinstruction2/main/AbstractInstruction.ppg.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/aigenerator2/main/AIPrimitive.smi \ $(SMLSHARP_DEP) src/compiler/aigenerator2/main/BinarySearchCode.o: \ src/compiler/aigenerator2/main/BinarySearchCode.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/compiler-utils/env/main/SEnv.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/systemdef/main/BasicTypes.smi \ src/compiler/targetplatform/main/TARGET_PLATFORM.sig \ src/compiler/targetplatform/main/TargetPlatformFormatter.smi \ src/compiler/targetplatform/main/TARGET_PROPERTY.sig \ src/compiler/targetplatform/main/TargetProperty.smi \ src/compiler/targetplatform/main/VMTarget.smi \ src/compiler/abstractinstruction2/main/AbstractInstruction.ppg.smi \ src/compiler/aigenerator2/main/BinarySearchCode.smi \ $(SMLSHARP_DEP) src/compiler/aigenerator2/main/CallAnalysis.o: \ src/compiler/aigenerator2/main/CallAnalysis.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/smlnj-lib/Util/parser-comb-sig.sml \ src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/systemdef/main/BasicTypes.smi \ src/compiler/systemdef/main/BasicTypeFormatters.smi \ src/compiler/yaanormal/main/ANormal.ppg.smi \ src/compiler/aigenerator2/main/CallAnalysis.smi \ $(SMLSHARP_DEP) src/compiler/aigenerator2/main/Simplify.o: \ src/compiler/aigenerator2/main/Simplify.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler-utils/env/main/SEnv.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/systemdef/main/BasicTypes.smi \ src/compiler/systemdef/main/BasicTypeFormatters.smi \ src/compiler/yaanormal/main/ANormal.ppg.smi \ src/compiler/aigenerator2/main/Simplify.smi \ $(SMLSHARP_DEP) src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.sml: src/compiler/annotatedcalc/main/AnnotatedCalc.ppg $(SMLFORMAT_DEP) src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.o: \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/types/main/vars.smi src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.smi \ $(SMLSHARP_DEP) src/compiler/annotatedcalc/main/AnnotatedCalcFormatter.o: \ src/compiler/annotatedcalc/main/AnnotatedCalcFormatter.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/types/main/vars.smi src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.smi \ src/compiler/annotatedcalc/main/ANNOTATEDCALCFORMATTER.sig \ src/compiler/annotatedcalc/main/AnnotatedCalcFormatter.smi \ $(SMLSHARP_DEP) src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.sml: src/compiler/annotatedtypes/main/AnnotatedTypes.ppg $(SMLFORMAT_DEP) src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.o: \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi \ $(SMLSHARP_DEP) src/compiler/annotatedtypes/main/AnnotatedTypesUtils.o: \ src/compiler/annotatedtypes/main/AnnotatedTypesUtils.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/utils.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/types/main/vars.smi src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/annotatedtypes/main/ANNOTATEDTYPESUTILS.sig \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi \ src/compiler/annotatedtypes/main/AnnotatedTypesUtils.smi \ $(SMLSHARP_DEP) src/compiler/bitmapanormal/main/BitmapANormal.ppg.sml: src/compiler/bitmapanormal/main/BitmapANormal.ppg $(SMLFORMAT_DEP) src/compiler/bitmapanormal/main/BitmapANormal.ppg.o: \ src/compiler/bitmapanormal/main/BitmapANormal.ppg.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/types/main/vars.smi src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCUTILS.sig \ src/compiler/multiplevaluecalc/main/MultipleValueCalcUtils.smi \ src/compiler/bitmapcalc/main/BitmapCalc.ppg.smi \ src/compiler/bitmapanormal/main/BitmapANormal.ppg.smi \ $(SMLSHARP_DEP) src/compiler/bitmapanormal/main/TypeCheckBitmapANormal.o: \ src/compiler/bitmapanormal/main/TypeCheckBitmapANormal.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/PathEnv.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler-utils/env/main/IEnv.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/types/main/vars.smi src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/annotatedtypes/main/ANNOTATEDTYPESUTILS.sig \ src/compiler/annotatedtypes/main/AnnotatedTypesUtils.smi \ src/compiler/runtimetypes/main/RuntimeTypes.ppg.smi \ src/compiler/runtimetypes/main/TypeLayout.smi \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCUTILS.sig \ src/compiler/multiplevaluecalc/main/MultipleValueCalcUtils.smi \ src/compiler/bitmapcalc/main/BitmapCalc.ppg.smi \ src/compiler/bitmapanormal/main/BitmapANormal.ppg.smi \ src/compiler/bitmapanormal/main/TypeCheckBitmapANormal.smi \ $(SMLSHARP_DEP) src/compiler/bitmapanormalization/main/BitmapANormalization.o: \ src/compiler/bitmapanormalization/main/BitmapANormalization.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/ord-set-sig.sml src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/types/main/vars.smi src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/annotatedtypes/main/ANNOTATEDTYPESUTILS.sig \ src/compiler/annotatedtypes/main/AnnotatedTypesUtils.smi \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCUTILS.sig \ src/compiler/multiplevaluecalc/main/MultipleValueCalcUtils.smi \ src/compiler/bitmapcalc/main/BitmapCalc.ppg.smi \ src/compiler/bitmapanormal/main/BitmapANormal.ppg.smi \ src/compiler/bitmapanormalization/main/BitmapANormalization.smi \ $(SMLSHARP_DEP) src/compiler/bitmapanormaloptimize/main/BitmapANormalReorder.o: \ src/compiler/bitmapanormaloptimize/main/BitmapANormalReorder.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-set-sig.sml src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler-utils/env/main/SEnv.smi src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/types/main/vars.smi src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCUTILS.sig \ src/compiler/multiplevaluecalc/main/MultipleValueCalcUtils.smi \ src/compiler/bitmapcalc/main/BitmapCalc.ppg.smi \ src/compiler/bitmapanormal/main/BitmapANormal.ppg.smi \ src/compiler/bitmapanormaloptimize/main/BitmapANormalReorder.smi \ $(SMLSHARP_DEP) src/compiler/bitmapcalc/main/BitmapCalc.ppg.sml: src/compiler/bitmapcalc/main/BitmapCalc.ppg $(SMLFORMAT_DEP) src/compiler/bitmapcalc/main/BitmapCalc.ppg.o: \ src/compiler/bitmapcalc/main/BitmapCalc.ppg.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/types/main/vars.smi src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCUTILS.sig \ src/compiler/multiplevaluecalc/main/MultipleValueCalcUtils.smi \ src/compiler/bitmapcalc/main/BitmapCalc.ppg.smi \ $(SMLSHARP_DEP) src/compiler/bitmapcompilation/main/BitmapCompilation.o: \ src/compiler/bitmapcompilation/main/BitmapCompilation.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/ord-set-sig.sml src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/types/main/vars.smi src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCUTILS.sig \ src/compiler/multiplevaluecalc/main/MultipleValueCalcUtils.smi \ src/compiler/bitmapcalc/main/BitmapCalc.ppg.smi \ src/compiler/runtimetypes/main/RuntimeTypes.ppg.smi \ src/compiler/runtimetypes/main/TypeLayout.smi \ src/compiler/annotatedtypes/main/ANNOTATEDTYPESUTILS.sig \ src/compiler/annotatedtypes/main/AnnotatedTypesUtils.smi \ src/compiler/bitmapcompilation/main/RecordLayout.smi \ src/compiler/bitmapcompilation/main/SingletonTyEnv.smi \ src/compiler/bitmapcompilation/main/BitmapCompilation.smi \ $(SMLSHARP_DEP) src/compiler/bitmapcompilation/main/RecordLayout.o: \ src/compiler/bitmapcompilation/main/RecordLayout.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/types/main/vars.smi src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/annotatedtypes/main/ANNOTATEDTYPESUTILS.sig \ src/compiler/annotatedtypes/main/AnnotatedTypesUtils.smi \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCUTILS.sig \ src/compiler/multiplevaluecalc/main/MultipleValueCalcUtils.smi \ src/compiler/bitmapcalc/main/BitmapCalc.ppg.smi \ src/compiler/runtimetypes/main/RuntimeTypes.ppg.smi \ src/compiler/runtimetypes/main/TypeLayout.smi \ src/compiler/bitmapcompilation/main/RecordLayout.smi \ $(SMLSHARP_DEP) src/compiler/bitmapcompilation/main/SingletonTyEnv.o: \ src/compiler/bitmapcompilation/main/SingletonTyEnv.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/types/main/vars.smi src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCUTILS.sig \ src/compiler/multiplevaluecalc/main/MultipleValueCalcUtils.smi \ src/compiler/bitmapcalc/main/BitmapCalc.ppg.smi \ src/compiler/runtimetypes/main/RuntimeTypes.ppg.smi \ src/compiler/runtimetypes/main/TypeLayout.smi \ src/compiler/annotatedtypes/main/ANNOTATEDTYPESUTILS.sig \ src/compiler/annotatedtypes/main/AnnotatedTypesUtils.smi \ src/compiler/bitmapcompilation/main/RecordLayout.smi \ src/compiler/bitmapcompilation/main/SingletonTyEnv.smi \ $(SMLSHARP_DEP) src/compiler/builtin2/main/BuiltinPrimitive.ppg.sml: src/compiler/builtin2/main/BuiltinPrimitive.ppg $(SMLFORMAT_DEP) src/compiler/builtin2/main/BuiltinPrimitive.ppg.o: \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ $(SMLSHARP_DEP) src/compiler/builtin2/main/BuiltinTypeNames.ppg.sml: src/compiler/builtin2/main/BuiltinTypeNames.ppg $(SMLFORMAT_DEP) src/compiler/builtin2/main/BuiltinTypeNames.ppg.o: \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ $(SMLSHARP_DEP) src/compiler/builtin2/main/BuiltinTypes.o: \ src/compiler/builtin2/main/BuiltinTypes.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/compiler/util/main/utils.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ $(SMLSHARP_DEP) src/compiler/closureanormal/main/ClosureANormal.ppg.sml: src/compiler/closureanormal/main/ClosureANormal.ppg $(SMLFORMAT_DEP) src/compiler/closureanormal/main/ClosureANormal.ppg.o: \ src/compiler/closureanormal/main/ClosureANormal.ppg.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/types/main/vars.smi src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCUTILS.sig \ src/compiler/multiplevaluecalc/main/MultipleValueCalcUtils.smi \ src/compiler/bitmapcalc/main/BitmapCalc.ppg.smi \ src/compiler/bitmapanormal/main/BitmapANormal.ppg.smi \ src/compiler/closureanormal/main/ClosureANormal.ppg.smi \ $(SMLSHARP_DEP) src/compiler/closureconversion/main/ClosureConversion.o: \ src/compiler/closureconversion/main/ClosureConversion.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/ord-set-sig.sml src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/types/main/vars.smi src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/annotatedtypes/main/ANNOTATEDTYPESUTILS.sig \ src/compiler/annotatedtypes/main/AnnotatedTypesUtils.smi \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCUTILS.sig \ src/compiler/multiplevaluecalc/main/MultipleValueCalcUtils.smi \ src/compiler/bitmapcalc/main/BitmapCalc.ppg.smi \ src/compiler/bitmapanormal/main/BitmapANormal.ppg.smi \ src/compiler/runtimetypes/main/RuntimeTypes.ppg.smi \ src/compiler/runtimetypes/main/TypeLayout.smi \ src/compiler/bitmapcompilation/main/RecordLayout.smi \ src/compiler/bitmapcompilation/main/SingletonTyEnv.smi \ src/compiler/closureanormal/main/ClosureANormal.ppg.smi \ src/compiler/closureconversion/main/ClosureConversion.smi \ $(SMLSHARP_DEP) src/compiler/constantterm/main/ConstantTerm.ppg.sml: src/compiler/constantterm/main/ConstantTerm.ppg $(SMLFORMAT_DEP) src/compiler/constantterm/main/ConstantTerm.ppg.o: \ src/compiler/constantterm/main/ConstantTerm.ppg.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/ListSorter.smi src/compiler/util/main/TermFormat.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi src/compiler/util/main/utils.smi \ src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ $(SMLSHARP_DEP) src/compiler/control/main/Control.ppg.sml: src/compiler/control/main/Control.ppg $(SMLFORMAT_DEP) src/compiler/control/main/Control.ppg.o: \ src/compiler/control/main/Control.ppg.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/Substring.smi src/basis/main/IO.sig src/basis/main/IO.smi \ src/basis/main/SMLSharpRuntime.smi src/basis/main/IEEE_REAL.sig \ src/basis/main/IEEEReal.smi src/basis/main/RealClass.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/BOOL.sig \ src/basis/main/Bool.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/basis/main/binary-op.smi src/basis/main/Array.smi \ src/basis/main/Vector.smi src/smlnj-lib/Util/parser-comb-sig.sml \ src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ $(SMLSHARP_DEP) src/compiler/control/main/Loc.ppg.sml: src/compiler/control/main/Loc.ppg $(SMLFORMAT_DEP) src/compiler/control/main/Loc.ppg.o: src/compiler/control/main/Loc.ppg.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi src/basis/main/Word.smi \ src/basis/main/Array.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/Substring.smi src/basis/main/IEEE_REAL.sig \ src/basis/main/IEEEReal.smi src/basis/main/MATH.sig \ src/basis/main/RealClass.smi src/basis/main/Real.smi \ src/basis/main/Vector.smi src/basis/main/IO.sig src/basis/main/IO.smi \ src/basis/main/Real32.smi src/basis/main/TIME.sig src/basis/main/Time.smi \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/BOOL.sig \ src/basis/main/Bool.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/basis/main/binary-op.smi src/smlnj-lib/Util/parser-comb-sig.sml \ src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ $(SMLSHARP_DEP) src/compiler/datatypecompilation/main/DatatypeCompilation.o: \ src/compiler/datatypecompilation/main/DatatypeCompilation.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/PathEnv.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler-utils/env/main/IEnv.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/types/main/vars.smi src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/recordcalc/main/RecordCalc.ppg.smi \ src/compiler/typedlambda/main/TypedLambda.ppg.smi \ src/compiler/datatypecompilation/main/DatatypeCompilation.smi \ $(SMLSHARP_DEP) src/compiler/elaborate/main/ElaborateCore.o: \ src/compiler/elaborate/main/ElaborateCore.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/compiler/util/main/utils.smi \ src/smlnj-lib/Util/ord-set-sig.sml src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi src/compiler/absyn/main/Fixity.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/elaborate/main/ElaborateError.ppg.smi \ src/compiler/elaborate/main/ElaboratorUtils.smi \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.smi \ src/compiler/elaborate/main/ElaborateSQL.smi \ src/compiler/elaborate/main/ElaborateCore.smi \ $(SMLSHARP_DEP) src/compiler/elaborate/main/ElaborateError.ppg.sml: src/compiler/elaborate/main/ElaborateError.ppg $(SMLFORMAT_DEP) src/compiler/elaborate/main/ElaborateError.ppg.o: \ src/compiler/elaborate/main/ElaborateError.ppg.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/elaborate/main/ElaborateError.ppg.smi \ $(SMLSHARP_DEP) src/compiler/elaborate/main/ElaborateErrorSQL.ppg.sml: src/compiler/elaborate/main/ElaborateErrorSQL.ppg $(SMLFORMAT_DEP) src/compiler/elaborate/main/ElaborateErrorSQL.ppg.o: \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.smi \ $(SMLSHARP_DEP) src/compiler/elaborate/main/ElaborateInterface.o: \ src/compiler/elaborate/main/ElaborateInterface.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/BigInt_IntInf.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-set-sig.sml src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/ListSorter.smi src/compiler/util/main/TermFormat.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/absyn/main/AbsynInterface.ppg.smi \ src/compiler/absyn/main/Fixity.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.smi \ src/compiler/elaborate/main/ElaborateError.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/util/main/utils.smi \ src/compiler/elaborate/main/ElaboratorUtils.smi \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.smi \ src/compiler/elaborate/main/ElaborateSQL.smi \ src/compiler/elaborate/main/ElaborateCore.smi \ src/compiler/elaborate/main/ElaborateModule.smi \ src/compiler/elaborate/main/UserTvarScope.smi \ src/compiler/elaborate/main/ElaborateInterface.smi \ $(SMLSHARP_DEP) src/compiler/elaborate/main/ElaborateModule.o: \ src/compiler/elaborate/main/ElaborateModule.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi src/compiler/absyn/main/Fixity.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/util/main/utils.smi \ src/compiler/elaborate/main/ElaborateError.ppg.smi \ src/compiler/elaborate/main/ElaboratorUtils.smi \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.smi \ src/compiler/elaborate/main/ElaborateSQL.smi \ src/compiler/elaborate/main/ElaborateCore.smi \ src/compiler/elaborate/main/ElaborateModule.smi \ $(SMLSHARP_DEP) src/compiler/elaborate/main/ElaborateSQL.o: \ src/compiler/elaborate/main/ElaborateSQL.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/compiler/util/main/utils.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.smi \ src/compiler/elaborate/main/ElaborateSQL.smi \ $(SMLSHARP_DEP) src/compiler/elaborate/main/Elaborator.o: \ src/compiler/elaborate/main/Elaborator.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/absyn/main/AbsynInterface.ppg.smi \ src/compiler/absyn/main/Fixity.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/elaborate/main/ELABORATOR.sig \ src/compiler/elaborate/main/ElaborateError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/util/main/utils.smi \ src/compiler/elaborate/main/ElaboratorUtils.smi \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.smi \ src/compiler/elaborate/main/ElaborateSQL.smi \ src/compiler/elaborate/main/ElaborateCore.smi \ src/compiler/elaborate/main/ElaborateModule.smi \ src/compiler/elaborate/main/UserTvarScope.smi \ src/compiler/elaborate/main/ElaborateInterface.smi \ src/compiler/elaborate/main/Elaborator.smi \ $(SMLSHARP_DEP) src/compiler/elaborate/main/ElaboratorUtils.o: \ src/compiler/elaborate/main/ElaboratorUtils.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/elaborate/main/ElaborateError.ppg.smi \ src/compiler/elaborate/main/ElaboratorUtils.smi \ $(SMLSHARP_DEP) src/compiler/elaborate/main/UserTvarScope.o: \ src/compiler/elaborate/main/UserTvarScope.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/elaborate/main/ElaborateError.ppg.smi \ src/compiler/elaborate/main/UserTvarScope.smi \ $(SMLSHARP_DEP) src/compiler/fficompilation/main/FFICompilation.o: \ src/compiler/fficompilation/main/FFICompilation.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/recordcalc/main/RecordCalc.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/types/main/VarMap.smi \ src/compiler/types/main/OPrimMap.smi src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/fficompilation/main/FFICompilation.smi \ $(SMLSHARP_DEP) src/compiler/generatemain/main/GenerateMain.o: \ src/compiler/generatemain/main/GenerateMain.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/absyn/main/AbsynInterface.ppg.smi \ src/compiler/generatemain/main/GenerateMainError.ppg.smi \ src/compiler/generatemain/main/GenerateMain.smi \ $(SMLSHARP_DEP) src/compiler/generatemain/main/GenerateMainError.ppg.sml: src/compiler/generatemain/main/GenerateMainError.ppg $(SMLFORMAT_DEP) src/compiler/generatemain/main/GenerateMainError.ppg.o: \ src/compiler/generatemain/main/GenerateMainError.ppg.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/generatemain/main/GenerateMainError.ppg.smi \ $(SMLSHARP_DEP) src/compiler/loadfile/main/InterfaceHash.o: \ src/compiler/loadfile/main/InterfaceHash.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/ListSorter.smi src/config/main/Version.smi \ src/compiler/toolchain/main/Filename.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler-utils/env/main/SEnv.smi src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/absyn/main/AbsynInterface.ppg.smi \ src/compiler/loadfile/main/SHA1.smi \ src/compiler/loadfile/main/InterfaceHash.smi \ $(SMLSHARP_DEP) src/compiler/loadfile/main/LoadFile.o: src/compiler/loadfile/main/LoadFile.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi src/smlnj-lib/Util/parser-comb-sig.sml \ src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler-utils/env/main/IEnv.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/config/main/Version.smi src/compiler/toolchain/main/Filename.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/toolchain/main/CoreUtils.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/absyn/main/AbsynInterface.ppg.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/lib/stream.smi \ src/ml-yacc/lib/parser2.smi src/ml-yacc-lib.smi \ src/compiler/parser2/main/ParserError.ppg.smi \ src/compiler/parser2/main/iml.grm.sig src/compiler/parser2/main/iml.grm.smi \ src/compiler/parser2/main/imlLexFun.lex.smi \ src/compiler/parser2/main/Parser.smi \ src/compiler/parser2/main/interface.grm.sig \ src/compiler/parser2/main/interface.grm.smi \ src/compiler/parser2/main/InterfaceParser.smi \ src/compiler/loadfile/main/SHA1.smi \ src/compiler/loadfile/main/InterfaceHash.smi \ src/compiler/loadfile/main/LoadFileError.ppg.smi \ src/compiler/loadfile/main/LoadFile.smi \ $(SMLSHARP_DEP) src/compiler/loadfile/main/LoadFileError.ppg.sml: src/compiler/loadfile/main/LoadFileError.ppg $(SMLFORMAT_DEP) src/compiler/loadfile/main/LoadFileError.ppg.o: \ src/compiler/loadfile/main/LoadFileError.ppg.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/loadfile/main/LoadFileError.ppg.smi \ $(SMLSHARP_DEP) src/compiler/loadfile/main/SHA1.o: src/compiler/loadfile/main/SHA1.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/compiler/loadfile/main/SHA1.smi \ $(SMLSHARP_DEP) src/compiler/main/main/ExecutablePath.o: \ src/compiler/main/main/ExecutablePath.sml \ src/compiler/main/main/ExecutablePath.smi \ $(SMLSHARP_DEP) src/compiler/main/main/GetOpt.o: src/compiler/main/main/GetOpt.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/compiler/main/main/GetOpt.smi \ $(SMLSHARP_DEP) src/compiler/main/main/RunLoop.o: src/compiler/main/main/RunLoop.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi src/compiler-utils/env/main/SEnv.smi \ src/compiler/util/main/COUNTER.sig src/compiler/util/main/Counter.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi src/config/main/Version.smi \ src/compiler/toolchain/main/Filename.smi \ src/compiler/toolchain/main/CoreUtils.smi src/config/main/Config.smi \ src/compiler/toolchain/main/TempFile.smi \ src/compiler/toolchain/main/BinUtils.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/lib/stream.smi \ src/ml-yacc/lib/parser2.smi src/ml-yacc-lib.smi \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/parser2/main/ParserError.ppg.smi \ src/compiler/parser2/main/iml.grm.sig src/compiler/parser2/main/iml.grm.smi \ src/compiler/parser2/main/imlLexFun.lex.smi \ src/compiler/parser2/main/Parser.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/absyn/main/AbsynInterface.ppg.smi \ src/compiler/absyn/main/ABSYN_FORMATTER.sig \ src/compiler/absyn/main/AbsynFormatter.smi \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.smi \ src/compiler/types/main/VarMap.smi \ src/compiler/parser2/main/interface.grm.sig \ src/compiler/parser2/main/interface.grm.smi \ src/compiler/parser2/main/InterfaceParser.smi \ src/compiler/loadfile/main/SHA1.smi \ src/compiler/loadfile/main/InterfaceHash.smi \ src/compiler/loadfile/main/LoadFileError.ppg.smi \ src/compiler/loadfile/main/LoadFile.smi src/compiler/absyn/main/Fixity.smi \ src/compiler/elaborate/main/ELABORATOR.sig \ src/compiler/elaborate/main/ElaborateError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/util/main/utils.smi \ src/compiler/elaborate/main/ElaboratorUtils.smi \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.smi \ src/compiler/elaborate/main/ElaborateSQL.smi \ src/compiler/elaborate/main/ElaborateCore.smi \ src/compiler/elaborate/main/ElaborateModule.smi \ src/compiler/elaborate/main/UserTvarScope.smi \ src/compiler/elaborate/main/ElaborateInterface.smi \ src/compiler/elaborate/main/Elaborator.smi \ src/compiler/nameevaluation/main/NameEvalError.ppg.smi \ src/compiler/nameevaluation/main/NameEvalEnv.sig \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.smi \ src/compiler-utils/env/main/PathEnv.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/nameevaluation/main/TfunVars.smi \ src/compiler/nameevaluation/main/NameEvalUtils.smi \ src/compiler/nameevaluation/main/NormalizeTy.smi \ src/compiler/util/main/GRAPH.sig src/compiler/util/main/Graph.smi \ src/compiler/util/main/SCCFun.smi \ src/compiler/nameevaluation/main/SetLiftedTys.smi \ src/compiler/nameevaluation/main/EvalTy.smi \ src/compiler/nameevaluation/main/Subst.smi \ src/compiler/nameevaluation/main/EvalSig.smi \ src/compiler/nameevaluation/main/FunctorUtils.smi \ src/compiler/nameevaluation/main/SigCheck.smi \ src/compiler/nameevaluation/main/NameEvalInterface.smi \ src/compiler/nameevaluation/main/CheckProvide.smi \ src/compiler/nameevaluation/main/NameEval.smi \ src/compiler/valrecoptimization/main/VALREC_OPTIMIZER.sig \ src/compiler/valrecoptimization/main/utils.smi \ src/compiler/valrecoptimization/main/VALREC_Optimizer.smi \ src/compiler/valrecoptimization/main/TRANS_FUNDECL.sig \ src/compiler/valrecoptimization/main/TransFundecl.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/types/main/vars.smi src/compiler/types/main/TypesUtils.smi \ src/compiler/typedcalc/main/TypedCalcUtils.smi \ src/compiler/typeinference2/main/TypeInferenceContext.ppg.smi \ src/compiler/typeinference2/main/Printers.smi \ src/compiler/types/main/TyPrinters.smi \ src/compiler/types/main/TyAlphaRename.smi \ src/compiler/typedcalc/main/TCAlphaRename.smi \ src/compiler/types/main/TyReduce.smi \ src/compiler/typedcalcoptimization/main/TCAnalyse.smi \ src/compiler/typedcalcoptimization/main/TCSize.smi \ src/compiler/types/main/CheckEq.smi src/compiler/types/main/Unify.smi \ src/compiler/types/main/TyRevealTy.smi \ src/compiler/typeinference2/main/TypeInferenceUtils.smi \ src/compiler/typedcalcoptimization/main/TCRevealTy.smi \ src/compiler/typedcalcoptimization/main/TCOptimize.smi \ src/compiler/recordcalc/main/RecordCalc.ppg.smi \ src/compiler/recordcalc/main/RecordCalcUtils.smi \ src/compiler/recordcalc/main/RCAlphaRename.smi \ src/compiler/recordcalcoptimization/main/RCAnalyse.smi \ src/compiler/recordcalcoptimization/main/RCSize.smi \ src/compiler/recordcalcoptimization/main/RCRevealTy.smi \ src/compiler/recordcalcoptimization/main/RCOptimize.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/types/main/IDCalcUtils.smi \ src/compiler/typeinference2/main/TypeInferenceError.ppg.smi \ src/compiler/typeinference2/main/InferTypes2.smi \ src/compiler/typeinference2/main/UNCURRYFUNDECL.sig \ src/compiler/typeinference2/main/UncurryFundecl_ng.smi \ src/reifiedterm/main/ReflectionControl.smi \ src/reifiedterm/main/TermPrintUtils.ppg.smi \ src/reifiedterm/main/ReifiedTerm.ppg.smi \ src/compiler/reflection/main/ReifiedTermData.smi \ src/compiler/reflection/main/Reify.smi \ src/compiler/reflection/main/PrinterGeneration.smi \ src/compiler/recordcalc/main/RecordCalcFormatter.smi \ src/compiler/matchcompilation/main/MatchData.smi \ src/compiler/matchcompilation/main/MatchError.ppg.smi \ src/compiler/matchcompilation/main/MatchCompiler.smi \ src/compiler/sqlcompilation/main/SQLCompilation.smi \ src/compiler/fficompilation/main/FFICompilation.smi \ src/compiler/recordcompilation/main/OverloadKind.smi \ src/compiler/recordcompilation/main/RecordKind.smi \ src/compiler/recordcompilation/main/UnivKind.smi \ src/compiler/recordcompilation/main/RecordCompilation.smi \ src/compiler/typedlambda/main/TypedLambda.ppg.smi \ src/compiler/typedlambda/main/TypedLambdaFormatter.smi \ src/compiler/datatypecompilation/main/DatatypeCompilation.smi \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.smi \ src/compiler/annotatedcalc/main/ANNOTATEDCALCFORMATTER.sig \ src/compiler/annotatedcalc/main/AnnotatedCalcFormatter.smi \ src/compiler/annotatedtypes/main/ANNOTATEDTYPESUTILS.sig \ src/compiler/annotatedtypes/main/AnnotatedTypesUtils.smi \ src/compiler/staticanalysis/main/ReduceTy.smi \ src/compiler/staticanalysis/main/SACONSTRAINT.sig \ src/compiler/staticanalysis/main/SAConstraint.smi \ src/compiler/staticanalysis/main/SACONTEXT.sig \ src/compiler/staticanalysis/main/SAContext.smi \ src/compiler/staticanalysis/main/StaticAnalysis.smi \ src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCFORMATTER.sig \ src/compiler/multiplevaluecalc/main/MultipleValueCalcFormatter.smi \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCUTILS.sig \ src/compiler/multiplevaluecalc/main/MultipleValueCalcUtils.smi \ src/compiler/recordunboxing/main/RecordUnboxing.smi \ src/compiler/bitmapcalc/main/BitmapCalc.ppg.smi \ src/compiler/runtimetypes/main/RuntimeTypes.ppg.smi \ src/compiler/runtimetypes/main/TypeLayout.smi \ src/compiler/bitmapcompilation/main/RecordLayout.smi \ src/compiler/bitmapcompilation/main/SingletonTyEnv.smi \ src/compiler/bitmapcompilation/main/BitmapCompilation.smi \ src/compiler/bitmapanormal/main/BitmapANormal.ppg.smi \ src/compiler/bitmapanormal/main/TypeCheckBitmapANormal.smi \ src/compiler/bitmapanormalization/main/BitmapANormalization.smi \ src/compiler/bitmapanormaloptimize/main/BitmapANormalReorder.smi \ src/compiler/closureanormal/main/ClosureANormal.ppg.smi \ src/compiler/closureconversion/main/ClosureConversion.smi \ src/compiler/systemdef/main/BasicTypes.smi \ src/compiler/systemdef/main/BasicTypeFormatters.smi \ src/compiler/yaanormal/main/ANormal.ppg.smi \ src/compiler/toyaanormal/main/NameMangle.smi \ src/compiler/toyaanormal/main/ToYAANormal.smi \ src/compiler/yaanormalization/main/ANORMALOPTIMIZATION.sig \ src/compiler/yaanormalization/main/ANormalOptimization.smi \ src/compiler/yaanormalization/main/StaticAllocation.smi \ src/compiler/targetplatform/main/TARGET_PLATFORM.sig \ src/compiler/targetplatform/main/TargetPlatformFormatter.smi \ src/compiler/targetplatform/main/TARGET_PROPERTY.sig \ src/compiler/targetplatform/main/TargetProperty.smi \ src/compiler/targetplatform/main/VMTarget.smi \ src/compiler/abstractinstruction2/main/AbstractInstruction.ppg.smi \ src/compiler/abstractinstruction2/main/AbstractInstructionFormatter.smi \ src/compiler/aigenerator2/main/AIGENERATOR.sig \ src/compiler/aigenerator2/main/AIPrimitive.smi \ src/compiler/aigenerator2/main/BinarySearchCode.smi \ src/compiler/aigenerator2/main/CallAnalysis.smi \ src/compiler/aigenerator2/main/Simplify.smi \ src/compiler/aigenerator2/main/AIGenerator.smi \ src/compiler/rtl/main/RTL.ppg.smi src/compiler/rtl/main/RTLEdit.smi \ src/compiler/rtl/main/RTLUtils.smi src/compiler/rtl/main/RTLLiveness.smi \ src/compiler/rtl/main/RTLTypeCheckError.ppg.smi \ src/compiler/rtl/main/RTLTypeCheck.smi \ src/compiler/rtl/main/RTLBackendContext.smi \ src/compiler/rtl/main/RTLSELECT.sig src/compiler/rtl/main/IEEERealConst.smi \ src/compiler/rtl/main/RTLEMIT.sig src/compiler/rtl/main/X86Asm.ppg.smi \ src/compiler/rtl/main/X86Emit.smi src/compiler/rtl/main/RTLSUBST.sig \ src/compiler/rtl/main/X86Subst.smi src/compiler/rtl/main/RTLDominate.smi \ src/compiler/rtl/main/X86Select.smi src/compiler/rtl/main/RTLSTABILIZE.sig \ src/compiler/rtl/main/RTLStabilize.smi \ src/compiler/rtl/main/X86Stabilize.smi src/compiler/rtl/main/RTLRename.smi \ src/compiler/rtl/main/Coloring.smi src/compiler/rtl/main/RTLCONSTRAINT.sig \ src/compiler/rtl/main/RTLCOLORING.sig src/compiler/rtl/main/RTLColoring.smi \ src/compiler/rtl/main/X86Constraint.smi \ src/compiler/rtl/main/X86Coloring.smi src/compiler/rtl/main/FrameLayout.smi \ src/compiler/rtl/main/RTLFRAME.sig src/compiler/rtl/main/X86Frame.smi \ src/compiler/rtl/main/RTLASMGEN.sig src/compiler/rtl/main/X86AsmGen.smi \ src/compiler/generatemain/main/GenerateMainError.ppg.smi \ src/compiler/generatemain/main/GenerateMain.smi \ src/compiler/toplevel2/main/TopData.ppg.smi \ src/compiler/toplevel2/main/NameEvalEnvUtils.smi \ src/compiler/toplevel2/main/Top.smi src/ffi/main/DynamicLink.smi \ src/ffi/main/Pointer.smi src/ffi.smi src/sql/main/PGSQL.smi \ src/sql/main/SQLBACKEND.sig src/sql/main/PGSQLBackend.smi \ src/sql/main/Backend.smi src/sql/main/SQLPrim.smi \ src/compiler/main/main/RunLoop.smi \ $(SMLSHARP_DEP) src/compiler/main/main/SMLofNJ.o: src/compiler/main/main/SMLofNJ.sml \ src/compiler/main/main/SMLofNJ.smi \ $(SMLSHARP_DEP) src/compiler/main/main/SimpleMain.o: src/compiler/main/main/SimpleMain.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/config/main/Version.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/compiler/toolchain/main/Filename.smi src/config/main/Config.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-set-sig.sml src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IEnv.smi src/compiler/util/main/COUNTER.sig \ src/compiler/util/main/Counter.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/toolchain/main/CoreUtils.smi \ src/compiler/toolchain/main/TempFile.smi \ src/compiler/toolchain/main/BinUtils.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/absyn/main/AbsynInterface.ppg.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/lib/stream.smi \ src/ml-yacc/lib/parser2.smi src/ml-yacc-lib.smi \ src/compiler/parser2/main/ParserError.ppg.smi \ src/compiler/parser2/main/iml.grm.sig src/compiler/parser2/main/iml.grm.smi \ src/compiler/parser2/main/imlLexFun.lex.smi \ src/compiler/parser2/main/Parser.smi \ src/compiler/parser2/main/interface.grm.sig \ src/compiler/parser2/main/interface.grm.smi \ src/compiler/parser2/main/InterfaceParser.smi \ src/compiler/generatemain/main/GenerateMainError.ppg.smi \ src/compiler/generatemain/main/GenerateMain.smi \ src/compiler/absyn/main/ABSYN_FORMATTER.sig \ src/compiler/absyn/main/AbsynFormatter.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.smi \ src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/loadfile/main/SHA1.smi \ src/compiler/loadfile/main/InterfaceHash.smi \ src/compiler/loadfile/main/LoadFileError.ppg.smi \ src/compiler/loadfile/main/LoadFile.smi src/compiler/absyn/main/Fixity.smi \ src/compiler/elaborate/main/ELABORATOR.sig \ src/compiler/elaborate/main/ElaborateError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/util/main/utils.smi \ src/compiler/elaborate/main/ElaboratorUtils.smi \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.smi \ src/compiler/elaborate/main/ElaborateSQL.smi \ src/compiler/elaborate/main/ElaborateCore.smi \ src/compiler/elaborate/main/ElaborateModule.smi \ src/compiler/elaborate/main/UserTvarScope.smi \ src/compiler/elaborate/main/ElaborateInterface.smi \ src/compiler/elaborate/main/Elaborator.smi \ src/compiler/nameevaluation/main/NameEvalError.ppg.smi \ src/compiler/nameevaluation/main/NameEvalEnv.sig \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.smi \ src/compiler-utils/env/main/PathEnv.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/nameevaluation/main/TfunVars.smi \ src/compiler/nameevaluation/main/NameEvalUtils.smi \ src/compiler/nameevaluation/main/NormalizeTy.smi \ src/compiler/util/main/GRAPH.sig src/compiler/util/main/Graph.smi \ src/compiler/util/main/SCCFun.smi \ src/compiler/nameevaluation/main/SetLiftedTys.smi \ src/compiler/nameevaluation/main/EvalTy.smi \ src/compiler/nameevaluation/main/Subst.smi \ src/compiler/nameevaluation/main/EvalSig.smi \ src/compiler/nameevaluation/main/FunctorUtils.smi \ src/compiler/nameevaluation/main/SigCheck.smi \ src/compiler/nameevaluation/main/NameEvalInterface.smi \ src/compiler/nameevaluation/main/CheckProvide.smi \ src/compiler/nameevaluation/main/NameEval.smi \ src/compiler/valrecoptimization/main/VALREC_OPTIMIZER.sig \ src/compiler/valrecoptimization/main/utils.smi \ src/compiler/valrecoptimization/main/VALREC_Optimizer.smi \ src/compiler/valrecoptimization/main/TRANS_FUNDECL.sig \ src/compiler/valrecoptimization/main/TransFundecl.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/types/main/vars.smi src/compiler/types/main/TypesUtils.smi \ src/compiler/typedcalc/main/TypedCalcUtils.smi \ src/compiler/typeinference2/main/TypeInferenceContext.ppg.smi \ src/compiler/typeinference2/main/Printers.smi \ src/compiler/types/main/TyPrinters.smi \ src/compiler/types/main/TyAlphaRename.smi \ src/compiler/typedcalc/main/TCAlphaRename.smi \ src/compiler/types/main/TyReduce.smi \ src/compiler/typedcalcoptimization/main/TCAnalyse.smi \ src/compiler/typedcalcoptimization/main/TCSize.smi \ src/compiler/types/main/CheckEq.smi src/compiler/types/main/Unify.smi \ src/compiler/types/main/TyRevealTy.smi \ src/compiler/typeinference2/main/TypeInferenceUtils.smi \ src/compiler/typedcalcoptimization/main/TCRevealTy.smi \ src/compiler/typedcalcoptimization/main/TCOptimize.smi \ src/compiler/recordcalc/main/RecordCalc.ppg.smi \ src/compiler/recordcalc/main/RecordCalcUtils.smi \ src/compiler/recordcalc/main/RCAlphaRename.smi \ src/compiler/recordcalcoptimization/main/RCAnalyse.smi \ src/compiler/recordcalcoptimization/main/RCSize.smi \ src/compiler/recordcalcoptimization/main/RCRevealTy.smi \ src/compiler/recordcalcoptimization/main/RCOptimize.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/types/main/IDCalcUtils.smi \ src/compiler/typeinference2/main/TypeInferenceError.ppg.smi \ src/compiler/typeinference2/main/InferTypes2.smi \ src/compiler/typeinference2/main/UNCURRYFUNDECL.sig \ src/compiler/typeinference2/main/UncurryFundecl_ng.smi \ src/reifiedterm/main/ReflectionControl.smi \ src/reifiedterm/main/TermPrintUtils.ppg.smi \ src/reifiedterm/main/ReifiedTerm.ppg.smi \ src/compiler/reflection/main/ReifiedTermData.smi \ src/compiler/reflection/main/Reify.smi \ src/compiler/reflection/main/PrinterGeneration.smi \ src/compiler/recordcalc/main/RecordCalcFormatter.smi \ src/compiler/matchcompilation/main/MatchData.smi \ src/compiler/matchcompilation/main/MatchError.ppg.smi \ src/compiler/matchcompilation/main/MatchCompiler.smi \ src/compiler/sqlcompilation/main/SQLCompilation.smi \ src/compiler/fficompilation/main/FFICompilation.smi \ src/compiler/recordcompilation/main/OverloadKind.smi \ src/compiler/recordcompilation/main/RecordKind.smi \ src/compiler/recordcompilation/main/UnivKind.smi \ src/compiler/recordcompilation/main/RecordCompilation.smi \ src/compiler/typedlambda/main/TypedLambda.ppg.smi \ src/compiler/typedlambda/main/TypedLambdaFormatter.smi \ src/compiler/datatypecompilation/main/DatatypeCompilation.smi \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.smi \ src/compiler/annotatedcalc/main/ANNOTATEDCALCFORMATTER.sig \ src/compiler/annotatedcalc/main/AnnotatedCalcFormatter.smi \ src/compiler/annotatedtypes/main/ANNOTATEDTYPESUTILS.sig \ src/compiler/annotatedtypes/main/AnnotatedTypesUtils.smi \ src/compiler/staticanalysis/main/ReduceTy.smi \ src/compiler/staticanalysis/main/SACONSTRAINT.sig \ src/compiler/staticanalysis/main/SAConstraint.smi \ src/compiler/staticanalysis/main/SACONTEXT.sig \ src/compiler/staticanalysis/main/SAContext.smi \ src/compiler/staticanalysis/main/StaticAnalysis.smi \ src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCFORMATTER.sig \ src/compiler/multiplevaluecalc/main/MultipleValueCalcFormatter.smi \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCUTILS.sig \ src/compiler/multiplevaluecalc/main/MultipleValueCalcUtils.smi \ src/compiler/recordunboxing/main/RecordUnboxing.smi \ src/compiler/bitmapcalc/main/BitmapCalc.ppg.smi \ src/compiler/runtimetypes/main/RuntimeTypes.ppg.smi \ src/compiler/runtimetypes/main/TypeLayout.smi \ src/compiler/bitmapcompilation/main/RecordLayout.smi \ src/compiler/bitmapcompilation/main/SingletonTyEnv.smi \ src/compiler/bitmapcompilation/main/BitmapCompilation.smi \ src/compiler/bitmapanormal/main/BitmapANormal.ppg.smi \ src/compiler/bitmapanormal/main/TypeCheckBitmapANormal.smi \ src/compiler/bitmapanormalization/main/BitmapANormalization.smi \ src/compiler/bitmapanormaloptimize/main/BitmapANormalReorder.smi \ src/compiler/closureanormal/main/ClosureANormal.ppg.smi \ src/compiler/closureconversion/main/ClosureConversion.smi \ src/compiler/systemdef/main/BasicTypes.smi \ src/compiler/systemdef/main/BasicTypeFormatters.smi \ src/compiler/yaanormal/main/ANormal.ppg.smi \ src/compiler/toyaanormal/main/NameMangle.smi \ src/compiler/toyaanormal/main/ToYAANormal.smi \ src/compiler/yaanormalization/main/ANORMALOPTIMIZATION.sig \ src/compiler/yaanormalization/main/ANormalOptimization.smi \ src/compiler/yaanormalization/main/StaticAllocation.smi \ src/compiler/targetplatform/main/TARGET_PLATFORM.sig \ src/compiler/targetplatform/main/TargetPlatformFormatter.smi \ src/compiler/targetplatform/main/TARGET_PROPERTY.sig \ src/compiler/targetplatform/main/TargetProperty.smi \ src/compiler/targetplatform/main/VMTarget.smi \ src/compiler/abstractinstruction2/main/AbstractInstruction.ppg.smi \ src/compiler/abstractinstruction2/main/AbstractInstructionFormatter.smi \ src/compiler/aigenerator2/main/AIGENERATOR.sig \ src/compiler/aigenerator2/main/AIPrimitive.smi \ src/compiler/aigenerator2/main/BinarySearchCode.smi \ src/compiler/aigenerator2/main/CallAnalysis.smi \ src/compiler/aigenerator2/main/Simplify.smi \ src/compiler/aigenerator2/main/AIGenerator.smi \ src/compiler/rtl/main/RTL.ppg.smi src/compiler/rtl/main/RTLEdit.smi \ src/compiler/rtl/main/RTLUtils.smi src/compiler/rtl/main/RTLLiveness.smi \ src/compiler/rtl/main/RTLTypeCheckError.ppg.smi \ src/compiler/rtl/main/RTLTypeCheck.smi \ src/compiler/rtl/main/RTLBackendContext.smi \ src/compiler/rtl/main/RTLSELECT.sig src/compiler/rtl/main/IEEERealConst.smi \ src/compiler/rtl/main/RTLEMIT.sig src/compiler/rtl/main/X86Asm.ppg.smi \ src/compiler/rtl/main/X86Emit.smi src/compiler/rtl/main/RTLSUBST.sig \ src/compiler/rtl/main/X86Subst.smi src/compiler/rtl/main/RTLDominate.smi \ src/compiler/rtl/main/X86Select.smi src/compiler/rtl/main/RTLSTABILIZE.sig \ src/compiler/rtl/main/RTLStabilize.smi \ src/compiler/rtl/main/X86Stabilize.smi src/compiler/rtl/main/RTLRename.smi \ src/compiler/rtl/main/Coloring.smi src/compiler/rtl/main/RTLCONSTRAINT.sig \ src/compiler/rtl/main/RTLCOLORING.sig src/compiler/rtl/main/RTLColoring.smi \ src/compiler/rtl/main/X86Constraint.smi \ src/compiler/rtl/main/X86Coloring.smi src/compiler/rtl/main/FrameLayout.smi \ src/compiler/rtl/main/RTLFRAME.sig src/compiler/rtl/main/X86Frame.smi \ src/compiler/rtl/main/RTLASMGEN.sig src/compiler/rtl/main/X86AsmGen.smi \ src/compiler/toplevel2/main/TopData.ppg.smi \ src/compiler/toplevel2/main/NameEvalEnvUtils.smi \ src/compiler/toplevel2/main/Top.smi src/compiler/main/main/GetOpt.smi \ src/compiler/main/main/SMLofNJ.smi src/ffi/main/DynamicLink.smi \ src/ffi/main/Pointer.smi src/ffi.smi src/sql/main/PGSQL.smi \ src/sql/main/SQLBACKEND.sig src/sql/main/PGSQLBackend.smi \ src/sql/main/Backend.smi src/sql/main/SQLPrim.smi \ src/compiler/main/main/RunLoop.smi src/compiler/main/main/ExecutablePath.smi \ src/compiler/main/main/SimpleMain.smi \ $(SMLSHARP_DEP) src/compiler/matchcompilation/main/MatchCompiler.o: \ src/compiler/matchcompilation/main/MatchCompiler.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/compiler-utils/env/main/SEnv.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/recordcalc/main/RecordCalc.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/types/main/VarMap.smi \ src/compiler/types/main/OPrimMap.smi src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/typedcalc/main/TypedCalcUtils.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/matchcompilation/main/MatchData.smi \ src/compiler/matchcompilation/main/MatchError.ppg.smi \ src/compiler/matchcompilation/main/MatchCompiler.smi \ $(SMLSHARP_DEP) src/compiler/matchcompilation/main/MatchData.o: \ src/compiler/matchcompilation/main/MatchData.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi src/smlnj-lib/Util/parser-comb-sig.sml \ src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/smlnj-lib/Util/ord-set-sig.sml src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/ListSorter.smi src/compiler/util/main/TermFormat.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/types/main/VarMap.smi \ src/compiler/types/main/OPrimMap.smi src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/recordcalc/main/RecordCalc.ppg.smi \ src/compiler/matchcompilation/main/MatchData.smi \ $(SMLSHARP_DEP) src/compiler/matchcompilation/main/MatchError.ppg.sml: src/compiler/matchcompilation/main/MatchError.ppg $(SMLFORMAT_DEP) src/compiler/matchcompilation/main/MatchError.ppg.o: \ src/compiler/matchcompilation/main/MatchError.ppg.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/recordcalc/main/RecordCalc.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/types/main/VarMap.smi \ src/compiler/types/main/OPrimMap.smi src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/typedcalc/main/TypedCalcUtils.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/matchcompilation/main/MatchData.smi \ src/compiler/matchcompilation/main/MatchError.ppg.smi \ $(SMLSHARP_DEP) src/compiler/minismlsharp.o: src/compiler/minismlsharp.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/config/main/Version.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/compiler/toolchain/main/Filename.smi src/config/main/Config.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-set-sig.sml src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IEnv.smi src/compiler/util/main/COUNTER.sig \ src/compiler/util/main/Counter.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/toolchain/main/CoreUtils.smi \ src/compiler/toolchain/main/TempFile.smi \ src/compiler/toolchain/main/BinUtils.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/absyn/main/AbsynInterface.ppg.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/lib/stream.smi \ src/ml-yacc/lib/parser2.smi src/ml-yacc-lib.smi \ src/compiler/parser2/main/ParserError.ppg.smi \ src/compiler/parser2/main/iml.grm.sig src/compiler/parser2/main/iml.grm.smi \ src/compiler/parser2/main/imlLexFun.lex.smi \ src/compiler/parser2/main/Parser.smi \ src/compiler/parser2/main/interface.grm.sig \ src/compiler/parser2/main/interface.grm.smi \ src/compiler/parser2/main/InterfaceParser.smi \ src/compiler/generatemain/main/GenerateMainError.ppg.smi \ src/compiler/generatemain/main/GenerateMain.smi \ src/compiler/absyn/main/ABSYN_FORMATTER.sig \ src/compiler/absyn/main/AbsynFormatter.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.smi \ src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/loadfile/main/SHA1.smi \ src/compiler/loadfile/main/InterfaceHash.smi \ src/compiler/loadfile/main/LoadFileError.ppg.smi \ src/compiler/loadfile/main/LoadFile.smi src/compiler/absyn/main/Fixity.smi \ src/compiler/elaborate/main/ELABORATOR.sig \ src/compiler/elaborate/main/ElaborateError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/util/main/utils.smi \ src/compiler/elaborate/main/ElaboratorUtils.smi \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.smi \ src/compiler/elaborate/main/ElaborateSQL.smi \ src/compiler/elaborate/main/ElaborateCore.smi \ src/compiler/elaborate/main/ElaborateModule.smi \ src/compiler/elaborate/main/UserTvarScope.smi \ src/compiler/elaborate/main/ElaborateInterface.smi \ src/compiler/elaborate/main/Elaborator.smi \ src/compiler/nameevaluation/main/NameEvalError.ppg.smi \ src/compiler/nameevaluation/main/NameEvalEnv.sig \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.smi \ src/compiler-utils/env/main/PathEnv.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/nameevaluation/main/TfunVars.smi \ src/compiler/nameevaluation/main/NameEvalUtils.smi \ src/compiler/nameevaluation/main/NormalizeTy.smi \ src/compiler/util/main/GRAPH.sig src/compiler/util/main/Graph.smi \ src/compiler/util/main/SCCFun.smi \ src/compiler/nameevaluation/main/SetLiftedTys.smi \ src/compiler/nameevaluation/main/EvalTy.smi \ src/compiler/nameevaluation/main/Subst.smi \ src/compiler/nameevaluation/main/EvalSig.smi \ src/compiler/nameevaluation/main/FunctorUtils.smi \ src/compiler/nameevaluation/main/SigCheck.smi \ src/compiler/nameevaluation/main/NameEvalInterface.smi \ src/compiler/nameevaluation/main/CheckProvide.smi \ src/compiler/nameevaluation/main/NameEval.smi \ src/compiler/valrecoptimization/main/VALREC_OPTIMIZER.sig \ src/compiler/valrecoptimization/main/utils.smi \ src/compiler/valrecoptimization/main/VALREC_Optimizer.smi \ src/compiler/valrecoptimization/main/TRANS_FUNDECL.sig \ src/compiler/valrecoptimization/main/TransFundecl.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/types/main/vars.smi src/compiler/types/main/TypesUtils.smi \ src/compiler/typedcalc/main/TypedCalcUtils.smi \ src/compiler/typeinference2/main/TypeInferenceContext.ppg.smi \ src/compiler/typeinference2/main/Printers.smi \ src/compiler/types/main/TyPrinters.smi \ src/compiler/types/main/TyAlphaRename.smi \ src/compiler/typedcalc/main/TCAlphaRename.smi \ src/compiler/types/main/TyReduce.smi \ src/compiler/typedcalcoptimization/main/TCAnalyse.smi \ src/compiler/typedcalcoptimization/main/TCSize.smi \ src/compiler/types/main/CheckEq.smi src/compiler/types/main/Unify.smi \ src/compiler/types/main/TyRevealTy.smi \ src/compiler/typeinference2/main/TypeInferenceUtils.smi \ src/compiler/typedcalcoptimization/main/TCRevealTy.smi \ src/compiler/typedcalcoptimization/main/TCOptimize.smi \ src/compiler/recordcalc/main/RecordCalc.ppg.smi \ src/compiler/recordcalc/main/RecordCalcUtils.smi \ src/compiler/recordcalc/main/RCAlphaRename.smi \ src/compiler/recordcalcoptimization/main/RCAnalyse.smi \ src/compiler/recordcalcoptimization/main/RCSize.smi \ src/compiler/recordcalcoptimization/main/RCRevealTy.smi \ src/compiler/recordcalcoptimization/main/RCOptimize.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/types/main/IDCalcUtils.smi \ src/compiler/typeinference2/main/TypeInferenceError.ppg.smi \ src/compiler/typeinference2/main/InferTypes2.smi \ src/compiler/typeinference2/main/UNCURRYFUNDECL.sig \ src/compiler/typeinference2/main/UncurryFundecl_ng.smi \ src/reifiedterm/main/ReflectionControl.smi \ src/reifiedterm/main/TermPrintUtils.ppg.smi \ src/reifiedterm/main/ReifiedTerm.ppg.smi \ src/compiler/reflection/main/ReifiedTermData.smi \ src/compiler/reflection/main/Reify.smi \ src/compiler/reflection/main/PrinterGeneration.smi \ src/compiler/recordcalc/main/RecordCalcFormatter.smi \ src/compiler/matchcompilation/main/MatchData.smi \ src/compiler/matchcompilation/main/MatchError.ppg.smi \ src/compiler/matchcompilation/main/MatchCompiler.smi \ src/compiler/sqlcompilation/main/SQLCompilation.smi \ src/compiler/fficompilation/main/FFICompilation.smi \ src/compiler/recordcompilation/main/OverloadKind.smi \ src/compiler/recordcompilation/main/RecordKind.smi \ src/compiler/recordcompilation/main/UnivKind.smi \ src/compiler/recordcompilation/main/RecordCompilation.smi \ src/compiler/typedlambda/main/TypedLambda.ppg.smi \ src/compiler/typedlambda/main/TypedLambdaFormatter.smi \ src/compiler/datatypecompilation/main/DatatypeCompilation.smi \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.smi \ src/compiler/annotatedcalc/main/ANNOTATEDCALCFORMATTER.sig \ src/compiler/annotatedcalc/main/AnnotatedCalcFormatter.smi \ src/compiler/annotatedtypes/main/ANNOTATEDTYPESUTILS.sig \ src/compiler/annotatedtypes/main/AnnotatedTypesUtils.smi \ src/compiler/staticanalysis/main/ReduceTy.smi \ src/compiler/staticanalysis/main/SACONSTRAINT.sig \ src/compiler/staticanalysis/main/SAConstraint.smi \ src/compiler/staticanalysis/main/SACONTEXT.sig \ src/compiler/staticanalysis/main/SAContext.smi \ src/compiler/staticanalysis/main/StaticAnalysis.smi \ src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCFORMATTER.sig \ src/compiler/multiplevaluecalc/main/MultipleValueCalcFormatter.smi \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCUTILS.sig \ src/compiler/multiplevaluecalc/main/MultipleValueCalcUtils.smi \ src/compiler/recordunboxing/main/RecordUnboxing.smi \ src/compiler/bitmapcalc/main/BitmapCalc.ppg.smi \ src/compiler/runtimetypes/main/RuntimeTypes.ppg.smi \ src/compiler/runtimetypes/main/TypeLayout.smi \ src/compiler/bitmapcompilation/main/RecordLayout.smi \ src/compiler/bitmapcompilation/main/SingletonTyEnv.smi \ src/compiler/bitmapcompilation/main/BitmapCompilation.smi \ src/compiler/bitmapanormal/main/BitmapANormal.ppg.smi \ src/compiler/bitmapanormal/main/TypeCheckBitmapANormal.smi \ src/compiler/bitmapanormalization/main/BitmapANormalization.smi \ src/compiler/bitmapanormaloptimize/main/BitmapANormalReorder.smi \ src/compiler/closureanormal/main/ClosureANormal.ppg.smi \ src/compiler/closureconversion/main/ClosureConversion.smi \ src/compiler/systemdef/main/BasicTypes.smi \ src/compiler/systemdef/main/BasicTypeFormatters.smi \ src/compiler/yaanormal/main/ANormal.ppg.smi \ src/compiler/toyaanormal/main/NameMangle.smi \ src/compiler/toyaanormal/main/ToYAANormal.smi \ src/compiler/yaanormalization/main/ANORMALOPTIMIZATION.sig \ src/compiler/yaanormalization/main/ANormalOptimization.smi \ src/compiler/yaanormalization/main/StaticAllocation.smi \ src/compiler/targetplatform/main/TARGET_PLATFORM.sig \ src/compiler/targetplatform/main/TargetPlatformFormatter.smi \ src/compiler/targetplatform/main/TARGET_PROPERTY.sig \ src/compiler/targetplatform/main/TargetProperty.smi \ src/compiler/targetplatform/main/VMTarget.smi \ src/compiler/abstractinstruction2/main/AbstractInstruction.ppg.smi \ src/compiler/abstractinstruction2/main/AbstractInstructionFormatter.smi \ src/compiler/aigenerator2/main/AIGENERATOR.sig \ src/compiler/aigenerator2/main/AIPrimitive.smi \ src/compiler/aigenerator2/main/BinarySearchCode.smi \ src/compiler/aigenerator2/main/CallAnalysis.smi \ src/compiler/aigenerator2/main/Simplify.smi \ src/compiler/aigenerator2/main/AIGenerator.smi \ src/compiler/rtl/main/RTL.ppg.smi src/compiler/rtl/main/RTLEdit.smi \ src/compiler/rtl/main/RTLUtils.smi src/compiler/rtl/main/RTLLiveness.smi \ src/compiler/rtl/main/RTLTypeCheckError.ppg.smi \ src/compiler/rtl/main/RTLTypeCheck.smi \ src/compiler/rtl/main/RTLBackendContext.smi \ src/compiler/rtl/main/RTLSELECT.sig src/compiler/rtl/main/IEEERealConst.smi \ src/compiler/rtl/main/RTLEMIT.sig src/compiler/rtl/main/X86Asm.ppg.smi \ src/compiler/rtl/main/X86Emit.smi src/compiler/rtl/main/RTLSUBST.sig \ src/compiler/rtl/main/X86Subst.smi src/compiler/rtl/main/RTLDominate.smi \ src/compiler/rtl/main/X86Select.smi src/compiler/rtl/main/RTLSTABILIZE.sig \ src/compiler/rtl/main/RTLStabilize.smi \ src/compiler/rtl/main/X86Stabilize.smi src/compiler/rtl/main/RTLRename.smi \ src/compiler/rtl/main/Coloring.smi src/compiler/rtl/main/RTLCONSTRAINT.sig \ src/compiler/rtl/main/RTLCOLORING.sig src/compiler/rtl/main/RTLColoring.smi \ src/compiler/rtl/main/X86Constraint.smi \ src/compiler/rtl/main/X86Coloring.smi src/compiler/rtl/main/FrameLayout.smi \ src/compiler/rtl/main/RTLFRAME.sig src/compiler/rtl/main/X86Frame.smi \ src/compiler/rtl/main/RTLASMGEN.sig src/compiler/rtl/main/X86AsmGen.smi \ src/compiler/toplevel2/main/TopData.ppg.smi \ src/compiler/toplevel2/main/NameEvalEnvUtils.smi \ src/compiler/toplevel2/main/Top.smi src/compiler/main/main/GetOpt.smi \ src/compiler/main/main/SMLofNJ.smi src/ffi/main/DynamicLink.smi \ src/ffi/main/Pointer.smi src/ffi.smi src/sql/main/PGSQL.smi \ src/sql/main/SQLBACKEND.sig src/sql/main/PGSQLBackend.smi \ src/sql/main/Backend.smi src/sql/main/SQLPrim.smi \ src/compiler/main/main/RunLoop.smi src/compiler/main/main/ExecutablePath.smi \ src/compiler/main/main/SimpleMain.smi src/compiler/minismlsharp.smi \ $(SMLSHARP_DEP) src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.sml: src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg $(SMLFORMAT_DEP) src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.o: \ src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/types/main/vars.smi src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.smi \ $(SMLSHARP_DEP) src/compiler/multiplevaluecalc/main/MultipleValueCalcFormatter.o: \ src/compiler/multiplevaluecalc/main/MultipleValueCalcFormatter.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/types/main/vars.smi src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCFORMATTER.sig \ src/compiler/multiplevaluecalc/main/MultipleValueCalcFormatter.smi \ $(SMLSHARP_DEP) src/compiler/multiplevaluecalc/main/MultipleValueCalcUtils.o: \ src/compiler/multiplevaluecalc/main/MultipleValueCalcUtils.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCUTILS.sig \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/types/main/vars.smi src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MultipleValueCalcUtils.smi \ $(SMLSHARP_DEP) src/compiler/name/main/GenIDFun.o: src/compiler/name/main/GenIDFun.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi src/basis/main/Word.smi \ src/basis/main/Word8.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/binary-op.smi src/basis/main/Array.smi \ src/basis/main/Vector.smi src/basis/main/IO.sig src/basis/main/IO.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/BOOL.sig \ src/basis/main/Bool.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/smlnj/Basis/IO/prim-io-bin.smi src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi \ $(SMLSHARP_DEP) src/compiler/name/main/LocalID.o: src/compiler/name/main/LocalID.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ $(SMLSHARP_DEP) src/compiler/nameevaluation/main/CheckProvide.o: \ src/compiler/nameevaluation/main/CheckProvide.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/PathEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler-utils/env/main/IEnv.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/absyn/main/AbsynInterface.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.smi \ src/compiler/nameevaluation/main/NameEvalError.ppg.smi \ src/compiler/nameevaluation/main/NameEvalEnv.sig \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.smi \ src/compiler/absyn/main/Fixity.smi \ src/compiler/elaborate/main/ELABORATOR.sig \ src/compiler/elaborate/main/ElaborateError.ppg.smi \ src/compiler/elaborate/main/ElaboratorUtils.smi \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.smi \ src/compiler/elaborate/main/ElaborateSQL.smi \ src/compiler/elaborate/main/ElaborateCore.smi \ src/compiler/elaborate/main/ElaborateModule.smi \ src/compiler/elaborate/main/UserTvarScope.smi \ src/compiler/elaborate/main/ElaborateInterface.smi \ src/compiler/elaborate/main/Elaborator.smi \ src/compiler/nameevaluation/main/TfunVars.smi \ src/compiler/nameevaluation/main/NameEvalUtils.smi \ src/compiler/nameevaluation/main/NormalizeTy.smi \ src/compiler/util/main/GRAPH.sig src/compiler/util/main/Graph.smi \ src/compiler/util/main/SCCFun.smi \ src/compiler/nameevaluation/main/SetLiftedTys.smi \ src/compiler/nameevaluation/main/EvalTy.smi \ src/compiler/nameevaluation/main/Subst.smi \ src/compiler/nameevaluation/main/EvalSig.smi \ src/compiler/nameevaluation/main/FunctorUtils.smi \ src/compiler/nameevaluation/main/SigCheck.smi \ src/compiler/nameevaluation/main/NameEvalInterface.smi \ src/compiler/nameevaluation/main/CheckProvide.smi \ $(SMLSHARP_DEP) src/compiler/nameevaluation/main/EvalSig.o: \ src/compiler/nameevaluation/main/EvalSig.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/PathEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler-utils/env/main/IEnv.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi src/compiler/util/main/utils.smi \ src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/absyn/main/AbsynInterface.ppg.smi \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.smi \ src/compiler/nameevaluation/main/NameEvalError.ppg.smi \ src/compiler/nameevaluation/main/NameEvalEnv.sig \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.smi \ src/compiler/absyn/main/Fixity.smi \ src/compiler/elaborate/main/ELABORATOR.sig \ src/compiler/elaborate/main/ElaborateError.ppg.smi \ src/compiler/elaborate/main/ElaboratorUtils.smi \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.smi \ src/compiler/elaborate/main/ElaborateSQL.smi \ src/compiler/elaborate/main/ElaborateCore.smi \ src/compiler/elaborate/main/ElaborateModule.smi \ src/compiler/elaborate/main/UserTvarScope.smi \ src/compiler/elaborate/main/ElaborateInterface.smi \ src/compiler/elaborate/main/Elaborator.smi \ src/compiler/nameevaluation/main/TfunVars.smi \ src/compiler/nameevaluation/main/NameEvalUtils.smi \ src/compiler/nameevaluation/main/NormalizeTy.smi \ src/compiler/util/main/GRAPH.sig src/compiler/util/main/Graph.smi \ src/compiler/util/main/SCCFun.smi \ src/compiler/nameevaluation/main/SetLiftedTys.smi \ src/compiler/nameevaluation/main/EvalTy.smi \ src/compiler/nameevaluation/main/Subst.smi \ src/compiler/nameevaluation/main/EvalSig.smi \ $(SMLSHARP_DEP) src/compiler/nameevaluation/main/EvalTy.o: \ src/compiler/nameevaluation/main/EvalTy.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi src/compiler/util/main/utils.smi \ src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/absyn/main/AbsynInterface.ppg.smi \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.smi \ src/compiler/nameevaluation/main/NameEvalError.ppg.smi \ src/compiler/nameevaluation/main/NameEvalEnv.sig \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.smi \ src/compiler/absyn/main/Fixity.smi \ src/compiler/elaborate/main/ELABORATOR.sig \ src/compiler/elaborate/main/ElaborateError.ppg.smi \ src/compiler/elaborate/main/ElaboratorUtils.smi \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.smi \ src/compiler/elaborate/main/ElaborateSQL.smi \ src/compiler/elaborate/main/ElaborateCore.smi \ src/compiler/elaborate/main/ElaborateModule.smi \ src/compiler/elaborate/main/UserTvarScope.smi \ src/compiler/elaborate/main/ElaborateInterface.smi \ src/compiler/elaborate/main/Elaborator.smi \ src/compiler/nameevaluation/main/TfunVars.smi \ src/compiler/nameevaluation/main/NameEvalUtils.smi \ src/compiler/nameevaluation/main/NormalizeTy.smi \ src/compiler/util/main/GRAPH.sig src/compiler/util/main/Graph.smi \ src/compiler/util/main/SCCFun.smi \ src/compiler/nameevaluation/main/SetLiftedTys.smi \ src/compiler/nameevaluation/main/EvalTy.smi \ $(SMLSHARP_DEP) src/compiler/nameevaluation/main/FunctorUtils.o: \ src/compiler/nameevaluation/main/FunctorUtils.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/PathEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/compiler/util/main/utils.smi \ src/compiler-utils/env/main/IEnv.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/absyn/main/AbsynInterface.ppg.smi \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.smi \ src/compiler/nameevaluation/main/NameEvalError.ppg.smi \ src/compiler/nameevaluation/main/NameEvalEnv.sig \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.smi \ src/compiler/absyn/main/Fixity.smi \ src/compiler/elaborate/main/ELABORATOR.sig \ src/compiler/elaborate/main/ElaborateError.ppg.smi \ src/compiler/elaborate/main/ElaboratorUtils.smi \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.smi \ src/compiler/elaborate/main/ElaborateSQL.smi \ src/compiler/elaborate/main/ElaborateCore.smi \ src/compiler/elaborate/main/ElaborateModule.smi \ src/compiler/elaborate/main/UserTvarScope.smi \ src/compiler/elaborate/main/ElaborateInterface.smi \ src/compiler/elaborate/main/Elaborator.smi \ src/compiler/nameevaluation/main/TfunVars.smi \ src/compiler/nameevaluation/main/NameEvalUtils.smi \ src/compiler/nameevaluation/main/NormalizeTy.smi \ src/compiler/util/main/GRAPH.sig src/compiler/util/main/Graph.smi \ src/compiler/util/main/SCCFun.smi \ src/compiler/nameevaluation/main/SetLiftedTys.smi \ src/compiler/nameevaluation/main/EvalTy.smi \ src/compiler/nameevaluation/main/Subst.smi \ src/compiler/nameevaluation/main/EvalSig.smi \ src/compiler/nameevaluation/main/FunctorUtils.smi \ $(SMLSHARP_DEP) src/compiler/nameevaluation/main/NameEval.o: \ src/compiler/nameevaluation/main/NameEval.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/PathEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler-utils/env/main/IEnv.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/absyn/main/AbsynInterface.ppg.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.smi \ src/compiler/nameevaluation/main/NameEvalError.ppg.smi \ src/compiler/nameevaluation/main/NameEvalEnv.sig \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.smi \ src/compiler/absyn/main/Fixity.smi \ src/compiler/elaborate/main/ELABORATOR.sig \ src/compiler/elaborate/main/ElaborateError.ppg.smi \ src/compiler/elaborate/main/ElaboratorUtils.smi \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.smi \ src/compiler/elaborate/main/ElaborateSQL.smi \ src/compiler/elaborate/main/ElaborateCore.smi \ src/compiler/elaborate/main/ElaborateModule.smi \ src/compiler/elaborate/main/UserTvarScope.smi \ src/compiler/elaborate/main/ElaborateInterface.smi \ src/compiler/elaborate/main/Elaborator.smi \ src/compiler/nameevaluation/main/TfunVars.smi \ src/compiler/nameevaluation/main/NameEvalUtils.smi \ src/compiler/nameevaluation/main/NormalizeTy.smi \ src/compiler/util/main/GRAPH.sig src/compiler/util/main/Graph.smi \ src/compiler/util/main/SCCFun.smi \ src/compiler/nameevaluation/main/SetLiftedTys.smi \ src/compiler/nameevaluation/main/EvalTy.smi \ src/compiler/nameevaluation/main/Subst.smi \ src/compiler/nameevaluation/main/EvalSig.smi \ src/compiler/nameevaluation/main/FunctorUtils.smi \ src/compiler/nameevaluation/main/SigCheck.smi \ src/compiler/nameevaluation/main/NameEvalInterface.smi \ src/compiler/nameevaluation/main/CheckProvide.smi \ src/compiler/nameevaluation/main/NameEval.smi \ $(SMLSHARP_DEP) src/compiler/nameevaluation/main/NameEvalEnv.ppg.sml: src/compiler/nameevaluation/main/NameEvalEnv.ppg $(SMLFORMAT_DEP) src/compiler/nameevaluation/main/NameEvalEnv.ppg.o: \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/nameevaluation/main/NameEvalError.ppg.smi \ src/compiler/nameevaluation/main/NameEvalEnv.sig \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.smi \ $(SMLSHARP_DEP) src/compiler/nameevaluation/main/NameEvalError.ppg.sml: src/compiler/nameevaluation/main/NameEvalError.ppg $(SMLFORMAT_DEP) src/compiler/nameevaluation/main/NameEvalError.ppg.o: \ src/compiler/nameevaluation/main/NameEvalError.ppg.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/SEnv.smi src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/TermFormat.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/nameevaluation/main/NameEvalError.ppg.smi \ $(SMLSHARP_DEP) src/compiler/nameevaluation/main/NameEvalInterface.o: \ src/compiler/nameevaluation/main/NameEvalInterface.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/PathEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler-utils/env/main/IEnv.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/absyn/main/AbsynInterface.ppg.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.smi \ src/compiler/nameevaluation/main/NameEvalError.ppg.smi \ src/compiler/nameevaluation/main/NameEvalEnv.sig \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.smi \ src/compiler/absyn/main/Fixity.smi \ src/compiler/elaborate/main/ELABORATOR.sig \ src/compiler/elaborate/main/ElaborateError.ppg.smi \ src/compiler/elaborate/main/ElaboratorUtils.smi \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.smi \ src/compiler/elaborate/main/ElaborateSQL.smi \ src/compiler/elaborate/main/ElaborateCore.smi \ src/compiler/elaborate/main/ElaborateModule.smi \ src/compiler/elaborate/main/UserTvarScope.smi \ src/compiler/elaborate/main/ElaborateInterface.smi \ src/compiler/elaborate/main/Elaborator.smi \ src/compiler/nameevaluation/main/TfunVars.smi \ src/compiler/nameevaluation/main/NameEvalUtils.smi \ src/compiler/nameevaluation/main/NormalizeTy.smi \ src/compiler/util/main/GRAPH.sig src/compiler/util/main/Graph.smi \ src/compiler/util/main/SCCFun.smi \ src/compiler/nameevaluation/main/SetLiftedTys.smi \ src/compiler/nameevaluation/main/EvalTy.smi \ src/compiler/nameevaluation/main/Subst.smi \ src/compiler/nameevaluation/main/EvalSig.smi \ src/compiler/nameevaluation/main/FunctorUtils.smi \ src/compiler/nameevaluation/main/SigCheck.smi \ src/compiler/nameevaluation/main/NameEvalInterface.smi \ $(SMLSHARP_DEP) src/compiler/nameevaluation/main/NameEvalUtils.o: \ src/compiler/nameevaluation/main/NameEvalUtils.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi src/smlnj-lib/Util/parser-comb-sig.sml \ src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler-utils/env/main/IEnv.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi src/compiler/absyn/main/Fixity.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/absyn/main/AbsynInterface.ppg.smi \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/elaborate/main/ELABORATOR.sig \ src/compiler/elaborate/main/ElaborateError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/util/main/utils.smi \ src/compiler/elaborate/main/ElaboratorUtils.smi \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.smi \ src/compiler/elaborate/main/ElaborateSQL.smi \ src/compiler/elaborate/main/ElaborateCore.smi \ src/compiler/elaborate/main/ElaborateModule.smi \ src/compiler/elaborate/main/UserTvarScope.smi \ src/compiler/elaborate/main/ElaborateInterface.smi \ src/compiler/elaborate/main/Elaborator.smi \ src/compiler/nameevaluation/main/NameEvalError.ppg.smi \ src/compiler/nameevaluation/main/NameEvalEnv.sig \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.smi \ src/compiler/nameevaluation/main/TfunVars.smi \ src/compiler/nameevaluation/main/NameEvalUtils.smi \ $(SMLSHARP_DEP) src/compiler/nameevaluation/main/NormalizeTy.o: \ src/compiler/nameevaluation/main/NormalizeTy.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/types/main/VarMap.smi \ src/compiler/types/main/OPrimMap.smi src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/nameevaluation/main/NameEvalError.ppg.smi \ src/compiler/nameevaluation/main/NameEvalEnv.sig \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.smi \ src/compiler/absyn/main/Fixity.smi \ src/compiler/absyn/main/AbsynInterface.ppg.smi \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.smi \ src/compiler/elaborate/main/ELABORATOR.sig \ src/compiler/elaborate/main/ElaborateError.ppg.smi \ src/compiler/elaborate/main/ElaboratorUtils.smi \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.smi \ src/compiler/elaborate/main/ElaborateSQL.smi \ src/compiler/elaborate/main/ElaborateCore.smi \ src/compiler/elaborate/main/ElaborateModule.smi \ src/compiler/elaborate/main/UserTvarScope.smi \ src/compiler/elaborate/main/ElaborateInterface.smi \ src/compiler/elaborate/main/Elaborator.smi \ src/compiler/nameevaluation/main/TfunVars.smi \ src/compiler/nameevaluation/main/NameEvalUtils.smi \ src/compiler/nameevaluation/main/NormalizeTy.smi \ $(SMLSHARP_DEP) src/compiler/nameevaluation/main/SetLiftedTys.o: \ src/compiler/nameevaluation/main/SetLiftedTys.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/util/main/GRAPH.sig src/compiler/util/main/Graph.smi \ src/compiler/util/main/SCCFun.smi src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/nameevaluation/main/NameEvalError.ppg.smi \ src/compiler/nameevaluation/main/NameEvalEnv.sig \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.smi \ src/compiler/absyn/main/Fixity.smi \ src/compiler/absyn/main/AbsynInterface.ppg.smi \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.smi \ src/compiler/elaborate/main/ELABORATOR.sig \ src/compiler/elaborate/main/ElaborateError.ppg.smi \ src/compiler/util/main/utils.smi \ src/compiler/elaborate/main/ElaboratorUtils.smi \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.smi \ src/compiler/elaborate/main/ElaborateSQL.smi \ src/compiler/elaborate/main/ElaborateCore.smi \ src/compiler/elaborate/main/ElaborateModule.smi \ src/compiler/elaborate/main/UserTvarScope.smi \ src/compiler/elaborate/main/ElaborateInterface.smi \ src/compiler/elaborate/main/Elaborator.smi \ src/compiler/nameevaluation/main/TfunVars.smi \ src/compiler/nameevaluation/main/NameEvalUtils.smi \ src/compiler/nameevaluation/main/SetLiftedTys.smi \ $(SMLSHARP_DEP) src/compiler/nameevaluation/main/SigCheck.o: \ src/compiler/nameevaluation/main/SigCheck.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/ord-set-sig.sml src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/absyn/main/AbsynInterface.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.smi \ src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi src/compiler-utils/env/main/PathEnv.smi \ src/compiler/util/main/utils.smi src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/nameevaluation/main/NameEvalError.ppg.smi \ src/compiler/nameevaluation/main/NameEvalEnv.sig \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.smi \ src/compiler/absyn/main/Fixity.smi \ src/compiler/elaborate/main/ELABORATOR.sig \ src/compiler/elaborate/main/ElaborateError.ppg.smi \ src/compiler/elaborate/main/ElaboratorUtils.smi \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.smi \ src/compiler/elaborate/main/ElaborateSQL.smi \ src/compiler/elaborate/main/ElaborateCore.smi \ src/compiler/elaborate/main/ElaborateModule.smi \ src/compiler/elaborate/main/UserTvarScope.smi \ src/compiler/elaborate/main/ElaborateInterface.smi \ src/compiler/elaborate/main/Elaborator.smi \ src/compiler/nameevaluation/main/TfunVars.smi \ src/compiler/nameevaluation/main/NameEvalUtils.smi \ src/compiler/nameevaluation/main/NormalizeTy.smi \ src/compiler/util/main/GRAPH.sig src/compiler/util/main/Graph.smi \ src/compiler/util/main/SCCFun.smi \ src/compiler/nameevaluation/main/SetLiftedTys.smi \ src/compiler/nameevaluation/main/EvalTy.smi \ src/compiler/nameevaluation/main/Subst.smi \ src/compiler/nameevaluation/main/EvalSig.smi \ src/compiler/nameevaluation/main/FunctorUtils.smi \ src/compiler/nameevaluation/main/SigCheck.smi \ $(SMLSHARP_DEP) src/compiler/nameevaluation/main/Subst.o: \ src/compiler/nameevaluation/main/Subst.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/nameevaluation/main/NameEvalError.ppg.smi \ src/compiler/nameevaluation/main/NameEvalEnv.sig \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.smi \ src/compiler/nameevaluation/main/TfunVars.smi \ src/compiler/nameevaluation/main/Subst.smi \ $(SMLSHARP_DEP) src/compiler/nameevaluation/main/TfunVars.o: \ src/compiler/nameevaluation/main/TfunVars.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/SEnv.smi src/smlnj-lib/Util/parser-comb-sig.sml \ src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler-utils/env/main/IEnv.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/nameevaluation/main/NameEvalError.ppg.smi \ src/compiler/nameevaluation/main/NameEvalEnv.sig \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.smi \ src/compiler/nameevaluation/main/TfunVars.smi \ $(SMLSHARP_DEP) src/compiler/parser2/main/InterfaceParser.o: \ src/compiler/parser2/main/InterfaceParser.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/lib/stream.smi \ src/ml-yacc/lib/parser2.smi src/ml-yacc-lib.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-set-sig.sml src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/absyn/main/AbsynInterface.ppg.smi \ src/compiler/parser2/main/interface.grm.sig \ src/compiler/parser2/main/interface.grm.smi \ src/compiler/parser2/main/iml.grm.sig src/compiler/parser2/main/iml.grm.smi \ src/compiler/parser2/main/imlLexFun.lex.smi \ src/compiler/parser2/main/ParserError.ppg.smi \ src/compiler/parser2/main/InterfaceParser.smi \ $(SMLSHARP_DEP) src/compiler/parser2/main/Parser.o: src/compiler/parser2/main/Parser.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/lib/stream.smi \ src/ml-yacc/lib/parser2.smi src/ml-yacc-lib.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/parser2/main/ParserError.ppg.smi \ src/compiler/parser2/main/iml.grm.sig src/compiler/parser2/main/iml.grm.smi \ src/compiler/parser2/main/imlLexFun.lex.smi \ src/compiler/parser2/main/Parser.smi \ $(SMLSHARP_DEP) src/compiler/parser2/main/ParserError.ppg.sml: src/compiler/parser2/main/ParserError.ppg $(SMLFORMAT_DEP) src/compiler/parser2/main/ParserError.ppg.o: \ src/compiler/parser2/main/ParserError.ppg.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/parser2/main/ParserError.ppg.smi \ $(SMLSHARP_DEP) src/compiler/parser2/main/iml.grm.sml src/compiler/parser2/main/iml.grm.sig: src/compiler/parser2/main/iml.grm $(MLYACC_DEP) src/compiler/parser2/main/iml.grm.o: src/compiler/parser2/main/iml.grm.sml \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/Array.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/Word.smi src/basis/main/Word8.smi \ src/basis/main/SMLSharpRuntime.smi src/basis/main/IEEE_REAL.sig \ src/basis/main/IEEEReal.smi src/basis/main/RealClass.smi \ src/basis/main/Substring.smi src/basis/main/MATH.sig src/basis/main/Real.smi \ src/basis/main/Real32.smi src/basis/main/binary-op.smi \ src/ml-yacc/lib/base.sig src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/Word8Vector.smi \ src/basis/main/Word8VectorSlice.smi src/basis/main/BOOL.sig \ src/basis/main/Bool.smi src/basis/main/IO.sig src/basis/main/IO.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/smlnj/Basis/IO/prim-io-bin.smi src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig src/basis.smi \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/lib/stream.smi \ src/ml-yacc/lib/parser2.smi src/ml-yacc-lib.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi src/compiler/parser2/main/iml.grm.sig \ src/compiler/parser2/main/iml.grm.smi \ $(SMLSHARP_DEP) src/compiler/parser2/main/imlLexFun.lex.sml: src/compiler/parser2/main/imlLexFun.lex $(MLLEX_DEP) src/compiler/parser2/main/imlLexFun.lex.o: \ src/compiler/parser2/main/imlLexFun.lex.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/lib/stream.smi \ src/ml-yacc/lib/parser2.smi src/ml-yacc-lib.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/parser2/main/iml.grm.sig src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/SEnv.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi src/compiler/parser2/main/iml.grm.smi \ src/compiler/parser2/main/imlLexFun.lex.smi \ $(SMLSHARP_DEP) src/compiler/parser2/main/interface.grm.sml src/compiler/parser2/main/interface.grm.sig: src/compiler/parser2/main/interface.grm $(MLYACC_DEP) src/compiler/parser2/main/interface.grm.o: \ src/compiler/parser2/main/interface.grm.sml src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/Array.smi \ src/basis/main/LIST_PAIR.sig src/basis/main/ListPair.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi src/basis/main/Word.smi \ src/basis/main/Word8.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/binary-op.smi src/ml-yacc/lib/base.sig \ src/basis/main/Vector.smi src/basis/main/VectorSlice.smi \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/TIME.sig src/basis/main/Time.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/smlnj/Basis/IO/prim-io-bin.smi src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig src/basis.smi \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/lib/stream.smi \ src/ml-yacc/lib/parser2.smi src/ml-yacc-lib.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/absyn/main/AbsynInterface.ppg.smi \ src/compiler/parser2/main/interface.grm.sig \ src/compiler/parser2/main/interface.grm.smi \ $(SMLSHARP_DEP) src/compiler/patterncalc/main/PatternCalc.ppg.sml: src/compiler/patterncalc/main/PatternCalc.ppg $(SMLFORMAT_DEP) src/compiler/patterncalc/main/PatternCalc.ppg.o: \ src/compiler/patterncalc/main/PatternCalc.ppg.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/SEnv.smi src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/TermFormat.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ $(SMLSHARP_DEP) src/compiler/patterncalc/main/PatternCalcInterface.ppg.sml: src/compiler/patterncalc/main/PatternCalcInterface.ppg $(SMLFORMAT_DEP) src/compiler/patterncalc/main/PatternCalcInterface.ppg.o: \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/absyn/main/AbsynInterface.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.smi \ $(SMLSHARP_DEP) src/compiler/recordcalc/main/RCAlphaRename.o: \ src/compiler/recordcalc/main/RCAlphaRename.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler-utils/env/main/SEnv.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/VarMap.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/typeinference2/main/TypeInferenceContext.ppg.smi \ src/compiler/typeinference2/main/Printers.smi \ src/compiler/types/main/TyPrinters.smi \ src/compiler/types/main/TyAlphaRename.smi \ src/compiler/recordcalc/main/RecordCalc.ppg.smi \ src/compiler/recordcalc/main/RCAlphaRename.smi \ $(SMLSHARP_DEP) src/compiler/recordcalc/main/RecordCalc.ppg.sml: src/compiler/recordcalc/main/RecordCalc.ppg $(SMLFORMAT_DEP) src/compiler/recordcalc/main/RecordCalc.ppg.o: \ src/compiler/recordcalc/main/RecordCalc.ppg.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler-utils/env/main/SEnv.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/recordcalc/main/RecordCalc.ppg.smi \ $(SMLSHARP_DEP) src/compiler/recordcalc/main/RecordCalcFormatter.o: \ src/compiler/recordcalc/main/RecordCalcFormatter.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/recordcalc/main/RecordCalc.ppg.smi \ src/compiler/recordcalc/main/RecordCalcFormatter.smi \ $(SMLSHARP_DEP) src/compiler/recordcalc/main/RecordCalcUtils.o: \ src/compiler/recordcalc/main/RecordCalcUtils.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/compiler/util/main/gensym.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/ord-set-sig.sml src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler-utils/env/main/SEnv.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/utils.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/recordcalc/main/RecordCalc.ppg.smi \ src/compiler/recordcalc/main/RecordCalcUtils.smi \ $(SMLSHARP_DEP) src/compiler/recordcalcoptimization/main/RCAnalyse.o: \ src/compiler/recordcalcoptimization/main/RCAnalyse.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler-utils/env/main/SEnv.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/recordcalc/main/RecordCalc.ppg.smi \ src/compiler/recordcalcoptimization/main/RCAnalyse.smi \ $(SMLSHARP_DEP) src/compiler/recordcalcoptimization/main/RCOptimize.o: \ src/compiler/recordcalcoptimization/main/RCOptimize.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/compiler-utils/env/main/SEnv.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/util/main/ListSorter.smi src/compiler/util/main/TermFormat.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/types/main/VarMap.smi \ src/compiler/types/main/OPrimMap.smi src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/typedcalc/main/TypedCalcUtils.smi \ src/compiler/typeinference2/main/TypeInferenceContext.ppg.smi \ src/compiler/typeinference2/main/Printers.smi \ src/compiler/types/main/TyPrinters.smi \ src/compiler/types/main/TyAlphaRename.smi \ src/compiler/typedcalc/main/TCAlphaRename.smi \ src/compiler/types/main/TyReduce.smi \ src/compiler/recordcalc/main/RecordCalc.ppg.smi \ src/compiler/recordcalc/main/RecordCalcUtils.smi \ src/compiler/recordcalc/main/RCAlphaRename.smi \ src/compiler/recordcalcoptimization/main/RCAnalyse.smi \ src/compiler/recordcalcoptimization/main/RCSize.smi \ src/compiler/types/main/CheckEq.smi src/compiler/types/main/Unify.smi \ src/compiler/types/main/TyRevealTy.smi \ src/compiler/typeinference2/main/TypeInferenceUtils.smi \ src/compiler/typedcalcoptimization/main/TCRevealTy.smi \ src/compiler/recordcalcoptimization/main/RCRevealTy.smi \ src/compiler/recordcalcoptimization/main/RCOptimize.smi \ $(SMLSHARP_DEP) src/compiler/recordcalcoptimization/main/RCRevealTy.o: \ src/compiler/recordcalcoptimization/main/RCRevealTy.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler-utils/env/main/SEnv.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/utils.smi \ src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi src/compiler/types/main/CheckEq.smi \ src/compiler/types/main/Unify.smi src/compiler/types/main/TyRevealTy.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/typeinference2/main/TypeInferenceContext.ppg.smi \ src/compiler/typeinference2/main/Printers.smi \ src/compiler/typedcalc/main/TypedCalcUtils.smi \ src/compiler/typeinference2/main/TypeInferenceUtils.smi \ src/compiler/typedcalcoptimization/main/TCRevealTy.smi \ src/compiler/recordcalc/main/RecordCalc.ppg.smi \ src/compiler/recordcalcoptimization/main/RCRevealTy.smi \ $(SMLSHARP_DEP) src/compiler/recordcalcoptimization/main/RCSize.o: \ src/compiler/recordcalcoptimization/main/RCSize.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/smlnj-lib/Util/ord-set-sig.sml src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler-utils/env/main/SEnv.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/recordcalc/main/RecordCalc.ppg.smi \ src/compiler/recordcalcoptimization/main/RCSize.smi \ $(SMLSHARP_DEP) src/compiler/recordcompilation/main/OverloadKind.o: \ src/compiler/recordcompilation/main/OverloadKind.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-set-sig.sml src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler-utils/env/main/SEnv.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/recordcalc/main/RecordCalc.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/types/main/VarMap.smi \ src/compiler/types/main/OPrimMap.smi src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/recordcompilation/main/OverloadKind.smi \ $(SMLSHARP_DEP) src/compiler/recordcompilation/main/RecordCompilation.o: \ src/compiler/recordcompilation/main/RecordCompilation.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/SEnv.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler-utils/env/main/IEnv.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/recordcalc/main/RecordCalc.ppg.smi \ src/compiler/recordcalc/main/RecordCalcFormatter.smi \ src/compiler/util/main/utils.smi src/compiler/types/main/VarMap.smi \ src/compiler/types/main/OPrimMap.smi src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/types/main/TyPrinters.smi \ src/compiler/types/main/TyAlphaRename.smi \ src/compiler/recordcompilation/main/OverloadKind.smi \ src/compiler/recordcompilation/main/RecordKind.smi \ src/compiler/recordcompilation/main/UnivKind.smi \ src/compiler/recordcompilation/main/RecordCompilation.smi \ $(SMLSHARP_DEP) src/compiler/recordcompilation/main/RecordKind.o: \ src/compiler/recordcompilation/main/RecordKind.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler-utils/env/main/SEnv.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/recordcalc/main/RecordCalc.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/types/main/VarMap.smi \ src/compiler/types/main/OPrimMap.smi src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/recordcompilation/main/RecordKind.smi \ $(SMLSHARP_DEP) src/compiler/recordcompilation/main/UnivKind.o: \ src/compiler/recordcompilation/main/UnivKind.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-set-sig.sml src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler-utils/env/main/SEnv.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/recordcalc/main/RecordCalc.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/types/main/VarMap.smi \ src/compiler/types/main/OPrimMap.smi src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/recordcompilation/main/UnivKind.smi \ $(SMLSHARP_DEP) src/compiler/recordunboxing/main/RecordUnboxing.o: \ src/compiler/recordunboxing/main/RecordUnboxing.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/types/main/vars.smi src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.smi \ src/compiler/annotatedtypes/main/ANNOTATEDTYPESUTILS.sig \ src/compiler/annotatedtypes/main/AnnotatedTypesUtils.smi \ src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCUTILS.sig \ src/compiler/multiplevaluecalc/main/MultipleValueCalcUtils.smi \ src/compiler/recordunboxing/main/RecordUnboxing.smi \ $(SMLSHARP_DEP) src/compiler/reflection/main/PrinterGeneration.o: \ src/compiler/reflection/main/PrinterGeneration.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/smlnj-lib/Util/ord-set-sig.sml src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/compiler-utils/env/main/IEnv.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/TermFormat.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/nameevaluation/main/NameEvalError.ppg.smi \ src/compiler/nameevaluation/main/NameEvalEnv.sig \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/types/main/VarMap.smi \ src/compiler/types/main/OPrimMap.smi src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/typedcalc/main/TypedCalcUtils.smi \ src/compiler/types/main/CheckEq.smi src/compiler/types/main/Unify.smi \ src/compiler/typeinference2/main/TypeInferenceUtils.smi \ src/compiler/absyn/main/Fixity.smi \ src/compiler/absyn/main/AbsynInterface.ppg.smi \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.smi \ src/compiler/elaborate/main/ELABORATOR.sig \ src/compiler/elaborate/main/ElaborateError.ppg.smi \ src/compiler/elaborate/main/ElaboratorUtils.smi \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.smi \ src/compiler/elaborate/main/ElaborateSQL.smi \ src/compiler/elaborate/main/ElaborateCore.smi \ src/compiler/elaborate/main/ElaborateModule.smi \ src/compiler/elaborate/main/UserTvarScope.smi \ src/compiler/elaborate/main/ElaborateInterface.smi \ src/compiler/elaborate/main/Elaborator.smi \ src/compiler/nameevaluation/main/TfunVars.smi \ src/compiler/nameevaluation/main/NameEvalUtils.smi \ src/compiler/nameevaluation/main/NormalizeTy.smi \ src/reifiedterm/main/ReflectionControl.smi \ src/reifiedterm/main/TermPrintUtils.ppg.smi \ src/reifiedterm/main/ReifiedTerm.ppg.smi \ src/compiler/reflection/main/ReifiedTermData.smi \ src/compiler/reflection/main/Reify.smi \ src/compiler/reflection/main/PrinterGeneration.smi \ $(SMLSHARP_DEP) src/compiler/reflection/main/ReifiedTermData.o: \ src/compiler/reflection/main/ReifiedTermData.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/reifiedterm/main/ReflectionControl.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/reifiedterm/main/TermPrintUtils.ppg.smi \ src/reifiedterm/main/ReifiedTerm.ppg.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/SEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/nameevaluation/main/NameEvalError.ppg.smi \ src/compiler/nameevaluation/main/NameEvalEnv.sig \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.smi \ src/compiler/reflection/main/ReifiedTermData.smi \ $(SMLSHARP_DEP) src/compiler/reflection/main/Reify.o: src/compiler/reflection/main/Reify.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/smlnj-lib/Util/ord-set-sig.sml src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/compiler-utils/env/main/IEnv.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/TermFormat.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/types/main/VarMap.smi \ src/compiler/types/main/OPrimMap.smi src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/typedcalc/main/TypedCalcUtils.smi \ src/compiler/types/main/CheckEq.smi src/compiler/types/main/Unify.smi \ src/compiler/typeinference2/main/TypeInferenceUtils.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/nameevaluation/main/NameEvalError.ppg.smi \ src/compiler/nameevaluation/main/NameEvalEnv.sig \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.smi \ src/compiler/absyn/main/Fixity.smi \ src/compiler/absyn/main/AbsynInterface.ppg.smi \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.smi \ src/compiler/elaborate/main/ELABORATOR.sig \ src/compiler/elaborate/main/ElaborateError.ppg.smi \ src/compiler/elaborate/main/ElaboratorUtils.smi \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.smi \ src/compiler/elaborate/main/ElaborateSQL.smi \ src/compiler/elaborate/main/ElaborateCore.smi \ src/compiler/elaborate/main/ElaborateModule.smi \ src/compiler/elaborate/main/UserTvarScope.smi \ src/compiler/elaborate/main/ElaborateInterface.smi \ src/compiler/elaborate/main/Elaborator.smi \ src/compiler/nameevaluation/main/TfunVars.smi \ src/compiler/nameevaluation/main/NameEvalUtils.smi \ src/compiler/nameevaluation/main/NormalizeTy.smi \ src/reifiedterm/main/ReflectionControl.smi \ src/reifiedterm/main/TermPrintUtils.ppg.smi \ src/reifiedterm/main/ReifiedTerm.ppg.smi \ src/compiler/reflection/main/ReifiedTermData.smi \ src/compiler/reflection/main/Reify.smi \ $(SMLSHARP_DEP) src/compiler/rtl/main/Coloring.o: src/compiler/rtl/main/Coloring.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/smlnj-lib/Util/parser-comb-sig.sml \ src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi src/compiler/rtl/main/RTL.ppg.smi \ src/compiler/rtl/main/RTLEdit.smi src/compiler/rtl/main/RTLUtils.smi \ src/compiler/rtl/main/Coloring.smi \ $(SMLSHARP_DEP) src/compiler/rtl/main/FrameLayout.o: src/compiler/rtl/main/FrameLayout.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi src/smlnj-lib/Util/parser-comb-sig.sml \ src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/systemdef/main/BasicTypes.smi \ src/smlnj-lib/Util/ord-set-sig.sml src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/compiler-utils/env/main/SEnv.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi src/compiler/rtl/main/RTL.ppg.smi \ src/compiler/rtl/main/RTLEdit.smi src/compiler/rtl/main/RTLUtils.smi \ src/compiler/rtl/main/RTLLiveness.smi src/compiler/rtl/main/FrameLayout.smi \ $(SMLSHARP_DEP) src/compiler/rtl/main/IEEERealConst.o: src/compiler/rtl/main/IEEERealConst.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/compiler/rtl/main/IEEERealConst.smi \ $(SMLSHARP_DEP) src/compiler/rtl/main/RTL.ppg.sml: src/compiler/rtl/main/RTL.ppg $(SMLFORMAT_DEP) src/compiler/rtl/main/RTL.ppg.o: src/compiler/rtl/main/RTL.ppg.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/compiler-utils/env/main/SEnv.smi src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi src/compiler/rtl/main/RTL.ppg.smi \ $(SMLSHARP_DEP) src/compiler/rtl/main/RTLBackendContext.o: \ src/compiler/rtl/main/RTLBackendContext.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/rtl/main/RTLBackendContext.smi \ $(SMLSHARP_DEP) src/compiler/rtl/main/RTLColoring.o: src/compiler/rtl/main/RTLColoring.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-set-sig.sml src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi src/compiler/rtl/main/RTL.ppg.smi \ src/compiler/rtl/main/RTLEdit.smi src/compiler/rtl/main/RTLUtils.smi \ src/compiler/rtl/main/RTLLiveness.smi src/compiler/rtl/main/Coloring.smi \ src/compiler/rtl/main/RTLSUBST.sig src/compiler/rtl/main/RTLEMIT.sig \ src/compiler/rtl/main/RTLCONSTRAINT.sig \ src/compiler/rtl/main/RTLCOLORING.sig src/compiler/rtl/main/RTLColoring.smi \ $(SMLSHARP_DEP) src/compiler/rtl/main/RTLDominate.o: src/compiler/rtl/main/RTLDominate.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/Substring.smi src/basis/main/IO.sig src/basis/main/IO.smi \ src/basis/main/SMLSharpRuntime.smi src/basis/main/IEEE_REAL.sig \ src/basis/main/IEEEReal.smi src/basis/main/RealClass.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/BOOL.sig \ src/basis/main/Bool.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/basis/main/binary-op.smi src/basis/main/Array.smi \ src/basis/main/Vector.smi src/smlnj-lib/Util/parser-comb-sig.sml \ src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/basis/main/VectorSlice.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig src/basis.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/compiler-utils/env/main/SEnv.smi src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi src/compiler/rtl/main/RTL.ppg.smi \ src/compiler/rtl/main/RTLEdit.smi src/compiler/rtl/main/RTLUtils.smi \ src/compiler/rtl/main/RTLDominate.smi \ $(SMLSHARP_DEP) src/compiler/rtl/main/RTLEdit.o: src/compiler/rtl/main/RTLEdit.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-set-sig.sml src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi src/compiler/rtl/main/RTL.ppg.smi \ src/compiler/rtl/main/RTLEdit.smi \ $(SMLSHARP_DEP) src/compiler/rtl/main/RTLLiveness.o: src/compiler/rtl/main/RTLLiveness.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/compiler-utils/env/main/SEnv.smi src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi src/compiler/rtl/main/RTL.ppg.smi \ src/compiler/rtl/main/RTLEdit.smi src/compiler/rtl/main/RTLUtils.smi \ src/compiler/rtl/main/RTLLiveness.smi \ $(SMLSHARP_DEP) src/compiler/rtl/main/RTLRename.o: src/compiler/rtl/main/RTLRename.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-set-sig.sml src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi src/compiler/rtl/main/RTL.ppg.smi \ src/compiler/rtl/main/RTLEdit.smi src/compiler/rtl/main/RTLUtils.smi \ src/compiler/rtl/main/RTLLiveness.smi src/compiler/rtl/main/RTLRename.smi \ $(SMLSHARP_DEP) src/compiler/rtl/main/RTLStabilize.o: src/compiler/rtl/main/RTLStabilize.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-set-sig.sml src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi src/compiler/rtl/main/RTL.ppg.smi \ src/compiler/rtl/main/RTLEdit.smi src/compiler/rtl/main/RTLUtils.smi \ src/compiler/rtl/main/RTLEMIT.sig src/compiler/rtl/main/RTLSTABILIZE.sig \ src/compiler/rtl/main/RTLStabilize.smi \ $(SMLSHARP_DEP) src/compiler/rtl/main/RTLTypeCheck.o: src/compiler/rtl/main/RTLTypeCheck.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-set-sig.sml src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi src/compiler/rtl/main/RTL.ppg.smi \ src/compiler/rtl/main/RTLEdit.smi src/compiler/rtl/main/RTLUtils.smi \ src/compiler/rtl/main/RTLLiveness.smi \ src/compiler/rtl/main/RTLTypeCheckError.ppg.smi \ src/compiler/rtl/main/RTLTypeCheck.smi \ $(SMLSHARP_DEP) src/compiler/rtl/main/RTLTypeCheckError.ppg.sml: src/compiler/rtl/main/RTLTypeCheckError.ppg $(SMLFORMAT_DEP) src/compiler/rtl/main/RTLTypeCheckError.ppg.o: \ src/compiler/rtl/main/RTLTypeCheckError.ppg.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/compiler-utils/env/main/SEnv.smi src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi src/compiler/rtl/main/RTL.ppg.smi \ src/compiler/rtl/main/RTLTypeCheckError.ppg.smi \ $(SMLSHARP_DEP) src/compiler/rtl/main/RTLUtils.o: src/compiler/rtl/main/RTLUtils.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-set-sig.sml src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi src/compiler/rtl/main/RTL.ppg.smi \ src/compiler/rtl/main/RTLEdit.smi src/compiler/rtl/main/RTLUtils.smi \ $(SMLSHARP_DEP) src/compiler/rtl/main/X86Asm.ppg.sml: src/compiler/rtl/main/X86Asm.ppg $(SMLFORMAT_DEP) src/compiler/rtl/main/X86Asm.ppg.o: src/compiler/rtl/main/X86Asm.ppg.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/compiler-utils/env/main/SEnv.smi src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/rtl/main/X86Asm.ppg.smi \ $(SMLSHARP_DEP) src/compiler/rtl/main/X86AsmGen.o: src/compiler/rtl/main/X86AsmGen.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/rtl/main/RTLBackendContext.smi \ src/compiler/rtl/main/RTLASMGEN.sig src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-set-sig.sml src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/rtl/main/X86Asm.ppg.smi src/compiler/rtl/main/X86AsmGen.smi \ $(SMLSHARP_DEP) src/compiler/rtl/main/X86Coloring.o: src/compiler/rtl/main/X86Coloring.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/compiler-utils/env/main/SEnv.smi src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi src/compiler/rtl/main/RTL.ppg.smi \ src/compiler/util/main/ListSorter.smi src/compiler/util/main/TermFormat.smi \ src/compiler/rtl/main/RTLEdit.smi src/compiler/rtl/main/RTLUtils.smi \ src/compiler/rtl/main/RTLLiveness.smi src/compiler/rtl/main/Coloring.smi \ src/compiler/rtl/main/RTLSUBST.sig src/compiler/rtl/main/RTLEMIT.sig \ src/compiler/rtl/main/RTLCONSTRAINT.sig \ src/compiler/rtl/main/RTLCOLORING.sig src/compiler/rtl/main/RTLColoring.smi \ src/compiler/rtl/main/X86Subst.smi src/compiler/rtl/main/IEEERealConst.smi \ src/compiler/rtl/main/X86Asm.ppg.smi src/compiler/rtl/main/X86Emit.smi \ src/compiler/rtl/main/X86Constraint.smi \ src/compiler/rtl/main/X86Coloring.smi \ $(SMLSHARP_DEP) src/compiler/rtl/main/X86Constraint.o: src/compiler/rtl/main/X86Constraint.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-set-sig.sml src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi src/compiler/rtl/main/RTL.ppg.smi \ src/compiler/rtl/main/RTLEdit.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/TermFormat.smi src/compiler/rtl/main/RTLUtils.smi \ src/compiler/rtl/main/Coloring.smi src/compiler/rtl/main/RTLCONSTRAINT.sig \ src/compiler/rtl/main/X86Asm.ppg.smi src/compiler/rtl/main/IEEERealConst.smi \ src/compiler/rtl/main/RTLEMIT.sig src/compiler/rtl/main/X86Emit.smi \ src/compiler/rtl/main/X86Constraint.smi \ $(SMLSHARP_DEP) src/compiler/rtl/main/X86Emit.o: src/compiler/rtl/main/X86Emit.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-set-sig.sml src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi \ src/compiler/rtl/main/IEEERealConst.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi src/compiler/rtl/main/RTL.ppg.smi \ src/compiler/rtl/main/RTLEdit.smi src/compiler/rtl/main/RTLUtils.smi \ src/compiler/rtl/main/RTLEMIT.sig src/compiler/rtl/main/X86Asm.ppg.smi \ src/compiler/rtl/main/X86Emit.smi \ $(SMLSHARP_DEP) src/compiler/rtl/main/X86Frame.o: src/compiler/rtl/main/X86Frame.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-set-sig.sml src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi src/compiler/rtl/main/RTL.ppg.smi \ src/compiler/rtl/main/RTLEdit.smi src/compiler/systemdef/main/BasicTypes.smi \ src/compiler/util/main/ListSorter.smi src/compiler/rtl/main/RTLUtils.smi \ src/compiler/rtl/main/RTLLiveness.smi src/compiler/rtl/main/FrameLayout.smi \ src/compiler/rtl/main/RTLFRAME.sig src/compiler/rtl/main/RTLSUBST.sig \ src/compiler/rtl/main/X86Subst.smi src/compiler/util/main/TermFormat.smi \ src/compiler/rtl/main/IEEERealConst.smi src/compiler/rtl/main/RTLEMIT.sig \ src/compiler/rtl/main/X86Asm.ppg.smi src/compiler/rtl/main/X86Emit.smi \ src/compiler/rtl/main/X86Frame.smi \ $(SMLSHARP_DEP) src/compiler/rtl/main/X86Select.o: src/compiler/rtl/main/X86Select.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi src/smlnj-lib/Util/parser-comb-sig.sml \ src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/systemdef/main/BasicTypes.smi \ src/compiler-utils/env/main/IEnv.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/targetplatform/main/TARGET_PLATFORM.sig \ src/compiler/targetplatform/main/TargetPlatformFormatter.smi \ src/compiler/targetplatform/main/TARGET_PROPERTY.sig \ src/compiler/targetplatform/main/TargetProperty.smi \ src/compiler/targetplatform/main/VMTarget.smi \ src/compiler/abstractinstruction2/main/AbstractInstruction.ppg.smi \ src/compiler/rtl/main/RTL.ppg.smi \ src/compiler/rtl/main/RTLBackendContext.smi \ src/compiler/rtl/main/RTLEdit.smi src/compiler/rtl/main/RTLUtils.smi \ src/compiler/rtl/main/RTLSELECT.sig src/compiler/rtl/main/IEEERealConst.smi \ src/compiler/rtl/main/RTLEMIT.sig src/compiler/rtl/main/X86Asm.ppg.smi \ src/compiler/rtl/main/X86Emit.smi src/compiler/rtl/main/RTLSUBST.sig \ src/compiler/rtl/main/X86Subst.smi src/compiler/rtl/main/RTLDominate.smi \ src/compiler/rtl/main/X86Select.smi \ $(SMLSHARP_DEP) src/compiler/rtl/main/X86Stabilize.o: src/compiler/rtl/main/X86Stabilize.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-set-sig.sml src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi src/compiler/rtl/main/RTL.ppg.smi \ src/compiler/rtl/main/RTLEMIT.sig src/compiler/rtl/main/RTLEdit.smi \ src/compiler/rtl/main/RTLUtils.smi src/compiler/rtl/main/RTLSTABILIZE.sig \ src/compiler/rtl/main/RTLStabilize.smi \ src/compiler/rtl/main/IEEERealConst.smi src/compiler/rtl/main/X86Asm.ppg.smi \ src/compiler/rtl/main/X86Emit.smi src/compiler/rtl/main/X86Stabilize.smi \ $(SMLSHARP_DEP) src/compiler/rtl/main/X86Subst.o: src/compiler/rtl/main/X86Subst.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-set-sig.sml src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi src/compiler/rtl/main/RTL.ppg.smi \ src/compiler/rtl/main/RTLEdit.smi src/compiler/rtl/main/RTLUtils.smi \ src/compiler/rtl/main/RTLSUBST.sig src/compiler/rtl/main/X86Subst.smi \ $(SMLSHARP_DEP) src/compiler/runtimetypes/main/RuntimeTypes.ppg.sml: src/compiler/runtimetypes/main/RuntimeTypes.ppg $(SMLFORMAT_DEP) src/compiler/runtimetypes/main/RuntimeTypes.ppg.o: \ src/compiler/runtimetypes/main/RuntimeTypes.ppg.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/runtimetypes/main/RuntimeTypes.ppg.smi \ $(SMLSHARP_DEP) src/compiler/runtimetypes/main/TypeLayout.o: \ src/compiler/runtimetypes/main/TypeLayout.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi \ src/compiler/types/main/vars.smi src/compiler/types/main/TypesUtils.smi \ src/compiler/runtimetypes/main/RuntimeTypes.ppg.smi \ src/compiler/runtimetypes/main/TypeLayout.smi \ $(SMLSHARP_DEP) src/compiler/smlsharp.o: src/compiler/smlsharp.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/lib/stream.smi \ src/ml-yacc/lib/parser2.smi src/ml-yacc-lib.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/ffi/main/DynamicLink.smi src/ffi/main/Pointer.smi src/ffi.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/config/main/Version.smi src/compiler/toolchain/main/Filename.smi \ src/config/main/Config.smi src/sql/main/PGSQL.smi \ src/sql/main/SQLBACKEND.sig src/sql/main/PGSQLBackend.smi \ src/sql/main/Backend.smi src/sql/main/SQLPrim.smi src/sql/main/SQLUtils.smi \ src/sql/main/SQL.smi src/sql.smi src/reifiedterm/main/ReflectionControl.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/reifiedterm/main/TermPrintUtils.ppg.smi \ src/reifiedterm/main/ReifiedTerm.ppg.smi src/unix-utils/main/UnixUtils.smi \ src/prelude.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IEnv.smi \ src/compiler/util/main/COUNTER.sig src/compiler/util/main/Counter.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/toolchain/main/CoreUtils.smi \ src/compiler/toolchain/main/TempFile.smi \ src/compiler/toolchain/main/BinUtils.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/absyn/main/AbsynInterface.ppg.smi \ src/compiler/parser2/main/ParserError.ppg.smi \ src/compiler/parser2/main/iml.grm.sig src/compiler/parser2/main/iml.grm.smi \ src/compiler/parser2/main/imlLexFun.lex.smi \ src/compiler/parser2/main/Parser.smi \ src/compiler/parser2/main/interface.grm.sig \ src/compiler/parser2/main/interface.grm.smi \ src/compiler/parser2/main/InterfaceParser.smi \ src/compiler/generatemain/main/GenerateMainError.ppg.smi \ src/compiler/generatemain/main/GenerateMain.smi \ src/compiler/absyn/main/ABSYN_FORMATTER.sig \ src/compiler/absyn/main/AbsynFormatter.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.smi \ src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/loadfile/main/SHA1.smi \ src/compiler/loadfile/main/InterfaceHash.smi \ src/compiler/loadfile/main/LoadFileError.ppg.smi \ src/compiler/loadfile/main/LoadFile.smi src/compiler/absyn/main/Fixity.smi \ src/compiler/elaborate/main/ELABORATOR.sig \ src/compiler/elaborate/main/ElaborateError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/util/main/utils.smi \ src/compiler/elaborate/main/ElaboratorUtils.smi \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.smi \ src/compiler/elaborate/main/ElaborateSQL.smi \ src/compiler/elaborate/main/ElaborateCore.smi \ src/compiler/elaborate/main/ElaborateModule.smi \ src/compiler/elaborate/main/UserTvarScope.smi \ src/compiler/elaborate/main/ElaborateInterface.smi \ src/compiler/elaborate/main/Elaborator.smi \ src/compiler/nameevaluation/main/NameEvalError.ppg.smi \ src/compiler/nameevaluation/main/NameEvalEnv.sig \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.smi \ src/compiler-utils/env/main/PathEnv.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/nameevaluation/main/TfunVars.smi \ src/compiler/nameevaluation/main/NameEvalUtils.smi \ src/compiler/nameevaluation/main/NormalizeTy.smi \ src/compiler/util/main/GRAPH.sig src/compiler/util/main/Graph.smi \ src/compiler/util/main/SCCFun.smi \ src/compiler/nameevaluation/main/SetLiftedTys.smi \ src/compiler/nameevaluation/main/EvalTy.smi \ src/compiler/nameevaluation/main/Subst.smi \ src/compiler/nameevaluation/main/EvalSig.smi \ src/compiler/nameevaluation/main/FunctorUtils.smi \ src/compiler/nameevaluation/main/SigCheck.smi \ src/compiler/nameevaluation/main/NameEvalInterface.smi \ src/compiler/nameevaluation/main/CheckProvide.smi \ src/compiler/nameevaluation/main/NameEval.smi \ src/compiler/valrecoptimization/main/VALREC_OPTIMIZER.sig \ src/compiler/valrecoptimization/main/utils.smi \ src/compiler/valrecoptimization/main/VALREC_Optimizer.smi \ src/compiler/valrecoptimization/main/TRANS_FUNDECL.sig \ src/compiler/valrecoptimization/main/TransFundecl.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/types/main/vars.smi src/compiler/types/main/TypesUtils.smi \ src/compiler/typedcalc/main/TypedCalcUtils.smi \ src/compiler/typeinference2/main/TypeInferenceContext.ppg.smi \ src/compiler/typeinference2/main/Printers.smi \ src/compiler/types/main/TyPrinters.smi \ src/compiler/types/main/TyAlphaRename.smi \ src/compiler/typedcalc/main/TCAlphaRename.smi \ src/compiler/types/main/TyReduce.smi \ src/compiler/typedcalcoptimization/main/TCAnalyse.smi \ src/compiler/typedcalcoptimization/main/TCSize.smi \ src/compiler/types/main/CheckEq.smi src/compiler/types/main/Unify.smi \ src/compiler/types/main/TyRevealTy.smi \ src/compiler/typeinference2/main/TypeInferenceUtils.smi \ src/compiler/typedcalcoptimization/main/TCRevealTy.smi \ src/compiler/typedcalcoptimization/main/TCOptimize.smi \ src/compiler/recordcalc/main/RecordCalc.ppg.smi \ src/compiler/recordcalc/main/RecordCalcUtils.smi \ src/compiler/recordcalc/main/RCAlphaRename.smi \ src/compiler/recordcalcoptimization/main/RCAnalyse.smi \ src/compiler/recordcalcoptimization/main/RCSize.smi \ src/compiler/recordcalcoptimization/main/RCRevealTy.smi \ src/compiler/recordcalcoptimization/main/RCOptimize.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/types/main/IDCalcUtils.smi \ src/compiler/typeinference2/main/TypeInferenceError.ppg.smi \ src/compiler/typeinference2/main/InferTypes2.smi \ src/compiler/typeinference2/main/UNCURRYFUNDECL.sig \ src/compiler/typeinference2/main/UncurryFundecl_ng.smi \ src/compiler/reflection/main/ReifiedTermData.smi \ src/compiler/reflection/main/Reify.smi \ src/compiler/reflection/main/PrinterGeneration.smi \ src/compiler/recordcalc/main/RecordCalcFormatter.smi \ src/compiler/matchcompilation/main/MatchData.smi \ src/compiler/matchcompilation/main/MatchError.ppg.smi \ src/compiler/matchcompilation/main/MatchCompiler.smi \ src/compiler/sqlcompilation/main/SQLCompilation.smi \ src/compiler/fficompilation/main/FFICompilation.smi \ src/compiler/recordcompilation/main/OverloadKind.smi \ src/compiler/recordcompilation/main/RecordKind.smi \ src/compiler/recordcompilation/main/UnivKind.smi \ src/compiler/recordcompilation/main/RecordCompilation.smi \ src/compiler/typedlambda/main/TypedLambda.ppg.smi \ src/compiler/typedlambda/main/TypedLambdaFormatter.smi \ src/compiler/datatypecompilation/main/DatatypeCompilation.smi \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.smi \ src/compiler/annotatedcalc/main/ANNOTATEDCALCFORMATTER.sig \ src/compiler/annotatedcalc/main/AnnotatedCalcFormatter.smi \ src/compiler/annotatedtypes/main/ANNOTATEDTYPESUTILS.sig \ src/compiler/annotatedtypes/main/AnnotatedTypesUtils.smi \ src/compiler/staticanalysis/main/ReduceTy.smi \ src/compiler/staticanalysis/main/SACONSTRAINT.sig \ src/compiler/staticanalysis/main/SAConstraint.smi \ src/compiler/staticanalysis/main/SACONTEXT.sig \ src/compiler/staticanalysis/main/SAContext.smi \ src/compiler/staticanalysis/main/StaticAnalysis.smi \ src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCFORMATTER.sig \ src/compiler/multiplevaluecalc/main/MultipleValueCalcFormatter.smi \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCUTILS.sig \ src/compiler/multiplevaluecalc/main/MultipleValueCalcUtils.smi \ src/compiler/recordunboxing/main/RecordUnboxing.smi \ src/compiler/bitmapcalc/main/BitmapCalc.ppg.smi \ src/compiler/runtimetypes/main/RuntimeTypes.ppg.smi \ src/compiler/runtimetypes/main/TypeLayout.smi \ src/compiler/bitmapcompilation/main/RecordLayout.smi \ src/compiler/bitmapcompilation/main/SingletonTyEnv.smi \ src/compiler/bitmapcompilation/main/BitmapCompilation.smi \ src/compiler/bitmapanormal/main/BitmapANormal.ppg.smi \ src/compiler/bitmapanormal/main/TypeCheckBitmapANormal.smi \ src/compiler/bitmapanormalization/main/BitmapANormalization.smi \ src/compiler/bitmapanormaloptimize/main/BitmapANormalReorder.smi \ src/compiler/closureanormal/main/ClosureANormal.ppg.smi \ src/compiler/closureconversion/main/ClosureConversion.smi \ src/compiler/systemdef/main/BasicTypes.smi \ src/compiler/systemdef/main/BasicTypeFormatters.smi \ src/compiler/yaanormal/main/ANormal.ppg.smi \ src/compiler/toyaanormal/main/NameMangle.smi \ src/compiler/toyaanormal/main/ToYAANormal.smi \ src/compiler/yaanormalization/main/ANORMALOPTIMIZATION.sig \ src/compiler/yaanormalization/main/ANormalOptimization.smi \ src/compiler/yaanormalization/main/StaticAllocation.smi \ src/compiler/targetplatform/main/TARGET_PLATFORM.sig \ src/compiler/targetplatform/main/TargetPlatformFormatter.smi \ src/compiler/targetplatform/main/TARGET_PROPERTY.sig \ src/compiler/targetplatform/main/TargetProperty.smi \ src/compiler/targetplatform/main/VMTarget.smi \ src/compiler/abstractinstruction2/main/AbstractInstruction.ppg.smi \ src/compiler/abstractinstruction2/main/AbstractInstructionFormatter.smi \ src/compiler/aigenerator2/main/AIGENERATOR.sig \ src/compiler/aigenerator2/main/AIPrimitive.smi \ src/compiler/aigenerator2/main/BinarySearchCode.smi \ src/compiler/aigenerator2/main/CallAnalysis.smi \ src/compiler/aigenerator2/main/Simplify.smi \ src/compiler/aigenerator2/main/AIGenerator.smi \ src/compiler/rtl/main/RTL.ppg.smi src/compiler/rtl/main/RTLEdit.smi \ src/compiler/rtl/main/RTLUtils.smi src/compiler/rtl/main/RTLLiveness.smi \ src/compiler/rtl/main/RTLTypeCheckError.ppg.smi \ src/compiler/rtl/main/RTLTypeCheck.smi \ src/compiler/rtl/main/RTLBackendContext.smi \ src/compiler/rtl/main/RTLSELECT.sig src/compiler/rtl/main/IEEERealConst.smi \ src/compiler/rtl/main/RTLEMIT.sig src/compiler/rtl/main/X86Asm.ppg.smi \ src/compiler/rtl/main/X86Emit.smi src/compiler/rtl/main/RTLSUBST.sig \ src/compiler/rtl/main/X86Subst.smi src/compiler/rtl/main/RTLDominate.smi \ src/compiler/rtl/main/X86Select.smi src/compiler/rtl/main/RTLSTABILIZE.sig \ src/compiler/rtl/main/RTLStabilize.smi \ src/compiler/rtl/main/X86Stabilize.smi src/compiler/rtl/main/RTLRename.smi \ src/compiler/rtl/main/Coloring.smi src/compiler/rtl/main/RTLCONSTRAINT.sig \ src/compiler/rtl/main/RTLCOLORING.sig src/compiler/rtl/main/RTLColoring.smi \ src/compiler/rtl/main/X86Constraint.smi \ src/compiler/rtl/main/X86Coloring.smi src/compiler/rtl/main/FrameLayout.smi \ src/compiler/rtl/main/RTLFRAME.sig src/compiler/rtl/main/X86Frame.smi \ src/compiler/rtl/main/RTLASMGEN.sig src/compiler/rtl/main/X86AsmGen.smi \ src/compiler/toplevel2/main/TopData.ppg.smi \ src/compiler/toplevel2/main/NameEvalEnvUtils.smi \ src/compiler/toplevel2/main/Top.smi src/compiler/main/main/GetOpt.smi \ src/compiler/main/main/SMLofNJ.smi src/compiler/main/main/RunLoop.smi \ src/compiler/main/main/ExecutablePath.smi \ src/compiler/main/main/SimpleMain.smi src/compiler/smlsharp.smi \ $(SMLSHARP_DEP) src/compiler/sqlcompilation/main/SQLCompilation.o: \ src/compiler/sqlcompilation/main/SQLCompilation.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/recordcalc/main/RecordCalc.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/types/main/VarMap.smi \ src/compiler/types/main/OPrimMap.smi src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/sqlcompilation/main/SQLCompilation.smi \ $(SMLSHARP_DEP) src/compiler/staticanalysis/main/ReduceTy.o: \ src/compiler/staticanalysis/main/ReduceTy.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/types/main/VarMap.smi \ src/compiler/types/main/OPrimMap.smi src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/staticanalysis/main/ReduceTy.smi \ $(SMLSHARP_DEP) src/compiler/staticanalysis/main/SAConstraint.o: \ src/compiler/staticanalysis/main/SAConstraint.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/ord-set-sig.sml src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/types/main/vars.smi src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/annotatedtypes/main/ANNOTATEDTYPESUTILS.sig \ src/compiler/annotatedtypes/main/AnnotatedTypesUtils.smi \ src/compiler/staticanalysis/main/ReduceTy.smi \ src/compiler/staticanalysis/main/SACONSTRAINT.sig \ src/compiler/staticanalysis/main/SAConstraint.smi \ $(SMLSHARP_DEP) src/compiler/staticanalysis/main/SAContext.o: \ src/compiler/staticanalysis/main/SAContext.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/compiler/staticanalysis/main/SACONTEXT.sig \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/PathEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler-utils/env/main/IEnv.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/types/main/vars.smi src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.smi \ src/compiler/typedlambda/main/TypedLambda.ppg.smi \ src/compiler/staticanalysis/main/SAContext.smi \ $(SMLSHARP_DEP) src/compiler/staticanalysis/main/StaticAnalysis.o: \ src/compiler/staticanalysis/main/StaticAnalysis.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/types/main/vars.smi src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.smi \ src/compiler/annotatedcalc/main/ANNOTATEDCALCFORMATTER.sig \ src/compiler/annotatedcalc/main/AnnotatedCalcFormatter.smi \ src/compiler/annotatedtypes/main/ANNOTATEDTYPESUTILS.sig \ src/compiler/annotatedtypes/main/AnnotatedTypesUtils.smi \ src/compiler/typedlambda/main/TypedLambda.ppg.smi \ src/compiler/staticanalysis/main/ReduceTy.smi \ src/compiler/staticanalysis/main/SACONSTRAINT.sig \ src/compiler/staticanalysis/main/SAConstraint.smi \ src/compiler/staticanalysis/main/SACONTEXT.sig \ src/compiler-utils/env/main/PathEnv.smi \ src/compiler/staticanalysis/main/SAContext.smi \ src/compiler/staticanalysis/main/StaticAnalysis.smi \ $(SMLSHARP_DEP) src/compiler/systemdef/main/BasicTypeFormatters.o: \ src/compiler/systemdef/main/BasicTypeFormatters.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/systemdef/main/BasicTypes.smi \ src/compiler/systemdef/main/BasicTypeFormatters.smi \ $(SMLSHARP_DEP) src/compiler/systemdef/main/BasicTypes.o: \ src/compiler/systemdef/main/BasicTypes.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/compiler/systemdef/main/BasicTypes.smi \ $(SMLSHARP_DEP) src/compiler/targetplatform/main/TargetPlatformFormatter.o: \ src/compiler/targetplatform/main/TargetPlatformFormatter.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/systemdef/main/BasicTypes.smi \ src/compiler/targetplatform/main/TARGET_PLATFORM.sig \ src/compiler/targetplatform/main/TargetPlatformFormatter.smi \ $(SMLSHARP_DEP) src/compiler/targetplatform/main/TargetProperty.o: \ src/compiler/targetplatform/main/TargetProperty.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/systemdef/main/BasicTypes.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/targetplatform/main/TARGET_PLATFORM.sig \ src/compiler/targetplatform/main/TARGET_PROPERTY.sig \ src/compiler/targetplatform/main/TargetProperty.smi \ $(SMLSHARP_DEP) src/compiler/targetplatform/main/VMTarget.o: \ src/compiler/targetplatform/main/VMTarget.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/compiler/systemdef/main/BasicTypes.smi \ src/compiler/targetplatform/main/TARGET_PLATFORM.sig \ src/compiler/targetplatform/main/VMTarget.smi \ $(SMLSHARP_DEP) src/compiler/toolchain/main/BinUtils.o: \ src/compiler/toolchain/main/BinUtils.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/Word.smi src/basis/main/Word8.smi \ src/basis/main/SMLSharpRuntime.smi src/basis/main/IEEE_REAL.sig \ src/basis/main/IEEEReal.smi src/basis/main/RealClass.smi \ src/basis/main/Substring.smi src/basis/main/MATH.sig src/basis/main/Real.smi \ src/basis/main/Real32.smi src/basis/main/binary-op.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/TIME.sig src/basis/main/Time.smi \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/BOOL.sig \ src/basis/main/Bool.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/smlnj/Basis/IO/prim-io-bin.smi src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/basis/main/VectorSlice.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/config/main/Version.smi src/compiler/toolchain/main/Filename.smi \ src/config/main/Config.smi src/compiler/toolchain/main/CoreUtils.smi \ src/compiler/toolchain/main/TempFile.smi \ src/compiler/toolchain/main/BinUtils.smi \ $(SMLSHARP_DEP) src/compiler/toolchain/main/CoreUtils.o: \ src/compiler/toolchain/main/CoreUtils.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/Word8Vector.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi src/basis/main/Word.smi \ src/basis/main/Word8.smi src/basis/main/IO.sig src/basis/main/IO.smi \ src/basis/main/Word8VectorSlice.smi src/basis/main/Word8Array.smi \ src/smlnj/Basis/NJ/cleanup.sig src/smlnj/Basis/NJ/cleanup.smi \ src/smlnj/Basis/IO/clean-io.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/BOOL.sig \ src/basis/main/Bool.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/smlnj/Basis/IO/prim-io-bin.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/IMPERATIVE_IO.sig \ src/basis/main/BIN_IO.sig src/basis/main/BinIO.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/TEXT_STREAM_IO.sig src/basis/main/TEXT_IO.sig \ src/basis/main/TextIO.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/binary-op.smi src/smlnj-lib/Util/parser-comb-sig.sml \ src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/config/main/Version.smi \ src/compiler/toolchain/main/Filename.smi \ src/compiler/toolchain/main/CoreUtils.smi \ $(SMLSHARP_DEP) src/compiler/toolchain/main/Filename.o: \ src/compiler/toolchain/main/Filename.sml src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/IO.sig src/basis/main/IO.smi \ src/basis/main/SMLSharpRuntime.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/BOOL.sig \ src/basis/main/Bool.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/binary-op.smi \ src/config/main/Version.smi src/compiler/toolchain/main/Filename.smi \ $(SMLSHARP_DEP) src/compiler/toolchain/main/TempFile.o: \ src/compiler/toolchain/main/TempFile.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/Word.smi src/basis/main/Word8.smi \ src/basis/main/SMLSharpRuntime.smi src/basis/main/IEEE_REAL.sig \ src/basis/main/IEEEReal.smi src/basis/main/RealClass.smi \ src/basis/main/Substring.smi src/basis/main/MATH.sig src/basis/main/Real.smi \ src/basis/main/Real32.smi src/basis/main/binary-op.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/BOOL.sig \ src/basis/main/Bool.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/smlnj/Basis/IO/prim-io-bin.smi src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/config/main/Version.smi \ src/compiler/toolchain/main/Filename.smi src/basis/main/Array.smi \ src/basis/main/Vector.smi src/smlnj-lib/Util/parser-comb-sig.sml \ src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/toolchain/main/CoreUtils.smi \ src/compiler/toolchain/main/TempFile.smi \ $(SMLSHARP_DEP) src/compiler/toplevel2/main/NameEvalEnvUtils.o: \ src/compiler/toplevel2/main/NameEvalEnvUtils.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-set-sig.sml src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler-utils/env/main/IEnv.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi src/compiler/absyn/main/Fixity.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/absyn/main/AbsynInterface.ppg.smi \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/elaborate/main/ELABORATOR.sig \ src/compiler/elaborate/main/ElaborateError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/util/main/utils.smi \ src/compiler/elaborate/main/ElaboratorUtils.smi \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.smi \ src/compiler/elaborate/main/ElaborateSQL.smi \ src/compiler/elaborate/main/ElaborateCore.smi \ src/compiler/elaborate/main/ElaborateModule.smi \ src/compiler/elaborate/main/UserTvarScope.smi \ src/compiler/elaborate/main/ElaborateInterface.smi \ src/compiler/elaborate/main/Elaborator.smi \ src/compiler/nameevaluation/main/NameEvalError.ppg.smi \ src/compiler/nameevaluation/main/NameEvalEnv.sig \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.smi \ src/compiler/nameevaluation/main/TfunVars.smi \ src/compiler/nameevaluation/main/NameEvalUtils.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/typeinference2/main/TypeInferenceContext.ppg.smi \ src/compiler/toplevel2/main/NameEvalEnvUtils.smi \ $(SMLSHARP_DEP) src/compiler/toplevel2/main/Top.o: src/compiler/toplevel2/main/Top.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi src/compiler-utils/env/main/SEnv.smi \ src/compiler/util/main/COUNTER.sig src/compiler/util/main/Counter.smi \ src/config/main/Version.smi src/compiler/toolchain/main/Filename.smi \ src/compiler/toolchain/main/CoreUtils.smi \ src/compiler/toolchain/main/TempFile.smi src/config/main/Config.smi \ src/compiler/toolchain/main/BinUtils.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/absyn/main/AbsynInterface.ppg.smi \ src/compiler/absyn/main/ABSYN_FORMATTER.sig \ src/compiler/absyn/main/AbsynFormatter.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.smi \ src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/lib/stream.smi \ src/ml-yacc/lib/parser2.smi src/ml-yacc-lib.smi \ src/compiler/parser2/main/ParserError.ppg.smi \ src/compiler/parser2/main/iml.grm.sig src/compiler/parser2/main/iml.grm.smi \ src/compiler/parser2/main/imlLexFun.lex.smi \ src/compiler/parser2/main/Parser.smi \ src/compiler/parser2/main/interface.grm.sig \ src/compiler/parser2/main/interface.grm.smi \ src/compiler/parser2/main/InterfaceParser.smi \ src/compiler/loadfile/main/SHA1.smi \ src/compiler/loadfile/main/InterfaceHash.smi \ src/compiler/loadfile/main/LoadFileError.ppg.smi \ src/compiler/loadfile/main/LoadFile.smi src/compiler/absyn/main/Fixity.smi \ src/compiler/elaborate/main/ELABORATOR.sig \ src/compiler/elaborate/main/ElaborateError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/util/main/utils.smi \ src/compiler/elaborate/main/ElaboratorUtils.smi \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.smi \ src/compiler/elaborate/main/ElaborateSQL.smi \ src/compiler/elaborate/main/ElaborateCore.smi \ src/compiler/elaborate/main/ElaborateModule.smi \ src/compiler/elaborate/main/UserTvarScope.smi \ src/compiler/elaborate/main/ElaborateInterface.smi \ src/compiler/elaborate/main/Elaborator.smi \ src/compiler/nameevaluation/main/NameEvalError.ppg.smi \ src/compiler/nameevaluation/main/NameEvalEnv.sig \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.smi \ src/compiler-utils/env/main/PathEnv.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/nameevaluation/main/TfunVars.smi \ src/compiler/nameevaluation/main/NameEvalUtils.smi \ src/compiler/nameevaluation/main/NormalizeTy.smi \ src/compiler/util/main/GRAPH.sig src/compiler/util/main/Graph.smi \ src/compiler/util/main/SCCFun.smi \ src/compiler/nameevaluation/main/SetLiftedTys.smi \ src/compiler/nameevaluation/main/EvalTy.smi \ src/compiler/nameevaluation/main/Subst.smi \ src/compiler/nameevaluation/main/EvalSig.smi \ src/compiler/nameevaluation/main/FunctorUtils.smi \ src/compiler/nameevaluation/main/SigCheck.smi \ src/compiler/nameevaluation/main/NameEvalInterface.smi \ src/compiler/nameevaluation/main/CheckProvide.smi \ src/compiler/nameevaluation/main/NameEval.smi \ src/compiler/valrecoptimization/main/VALREC_OPTIMIZER.sig \ src/compiler/valrecoptimization/main/utils.smi \ src/compiler/valrecoptimization/main/VALREC_Optimizer.smi \ src/compiler/valrecoptimization/main/TRANS_FUNDECL.sig \ src/compiler/valrecoptimization/main/TransFundecl.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/types/main/vars.smi src/compiler/types/main/TypesUtils.smi \ src/compiler/typedcalc/main/TypedCalcUtils.smi \ src/compiler/typeinference2/main/TypeInferenceContext.ppg.smi \ src/compiler/typeinference2/main/Printers.smi \ src/compiler/types/main/TyPrinters.smi \ src/compiler/types/main/TyAlphaRename.smi \ src/compiler/typedcalc/main/TCAlphaRename.smi \ src/compiler/types/main/TyReduce.smi \ src/compiler/typedcalcoptimization/main/TCAnalyse.smi \ src/compiler/typedcalcoptimization/main/TCSize.smi \ src/compiler/types/main/CheckEq.smi src/compiler/types/main/Unify.smi \ src/compiler/types/main/TyRevealTy.smi \ src/compiler/typeinference2/main/TypeInferenceUtils.smi \ src/compiler/typedcalcoptimization/main/TCRevealTy.smi \ src/compiler/typedcalcoptimization/main/TCOptimize.smi \ src/compiler/recordcalc/main/RecordCalc.ppg.smi \ src/compiler/recordcalc/main/RecordCalcUtils.smi \ src/compiler/recordcalc/main/RCAlphaRename.smi \ src/compiler/recordcalcoptimization/main/RCAnalyse.smi \ src/compiler/recordcalcoptimization/main/RCSize.smi \ src/compiler/recordcalcoptimization/main/RCRevealTy.smi \ src/compiler/recordcalcoptimization/main/RCOptimize.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/types/main/IDCalcUtils.smi \ src/compiler/typeinference2/main/TypeInferenceError.ppg.smi \ src/compiler/typeinference2/main/InferTypes2.smi \ src/compiler/typeinference2/main/UNCURRYFUNDECL.sig \ src/compiler/typeinference2/main/UncurryFundecl_ng.smi \ src/reifiedterm/main/ReflectionControl.smi \ src/reifiedterm/main/TermPrintUtils.ppg.smi \ src/reifiedterm/main/ReifiedTerm.ppg.smi \ src/compiler/reflection/main/ReifiedTermData.smi \ src/compiler/reflection/main/Reify.smi \ src/compiler/reflection/main/PrinterGeneration.smi \ src/compiler/recordcalc/main/RecordCalcFormatter.smi \ src/compiler/matchcompilation/main/MatchData.smi \ src/compiler/matchcompilation/main/MatchError.ppg.smi \ src/compiler/matchcompilation/main/MatchCompiler.smi \ src/compiler/sqlcompilation/main/SQLCompilation.smi \ src/compiler/fficompilation/main/FFICompilation.smi \ src/compiler/recordcompilation/main/OverloadKind.smi \ src/compiler/recordcompilation/main/RecordKind.smi \ src/compiler/recordcompilation/main/UnivKind.smi \ src/compiler/recordcompilation/main/RecordCompilation.smi \ src/compiler/typedlambda/main/TypedLambda.ppg.smi \ src/compiler/typedlambda/main/TypedLambdaFormatter.smi \ src/compiler/datatypecompilation/main/DatatypeCompilation.smi \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.smi \ src/compiler/annotatedcalc/main/ANNOTATEDCALCFORMATTER.sig \ src/compiler/annotatedcalc/main/AnnotatedCalcFormatter.smi \ src/compiler/annotatedtypes/main/ANNOTATEDTYPESUTILS.sig \ src/compiler/annotatedtypes/main/AnnotatedTypesUtils.smi \ src/compiler/staticanalysis/main/ReduceTy.smi \ src/compiler/staticanalysis/main/SACONSTRAINT.sig \ src/compiler/staticanalysis/main/SAConstraint.smi \ src/compiler/staticanalysis/main/SACONTEXT.sig \ src/compiler/staticanalysis/main/SAContext.smi \ src/compiler/staticanalysis/main/StaticAnalysis.smi \ src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCFORMATTER.sig \ src/compiler/multiplevaluecalc/main/MultipleValueCalcFormatter.smi \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCUTILS.sig \ src/compiler/multiplevaluecalc/main/MultipleValueCalcUtils.smi \ src/compiler/recordunboxing/main/RecordUnboxing.smi \ src/compiler/bitmapcalc/main/BitmapCalc.ppg.smi \ src/compiler/runtimetypes/main/RuntimeTypes.ppg.smi \ src/compiler/runtimetypes/main/TypeLayout.smi \ src/compiler/bitmapcompilation/main/RecordLayout.smi \ src/compiler/bitmapcompilation/main/SingletonTyEnv.smi \ src/compiler/bitmapcompilation/main/BitmapCompilation.smi \ src/compiler/bitmapanormal/main/BitmapANormal.ppg.smi \ src/compiler/bitmapanormal/main/TypeCheckBitmapANormal.smi \ src/compiler/bitmapanormalization/main/BitmapANormalization.smi \ src/compiler/bitmapanormaloptimize/main/BitmapANormalReorder.smi \ src/compiler/closureanormal/main/ClosureANormal.ppg.smi \ src/compiler/closureconversion/main/ClosureConversion.smi \ src/compiler/systemdef/main/BasicTypes.smi \ src/compiler/systemdef/main/BasicTypeFormatters.smi \ src/compiler/yaanormal/main/ANormal.ppg.smi \ src/compiler/toyaanormal/main/NameMangle.smi \ src/compiler/toyaanormal/main/ToYAANormal.smi \ src/compiler/yaanormalization/main/ANORMALOPTIMIZATION.sig \ src/compiler/yaanormalization/main/ANormalOptimization.smi \ src/compiler/yaanormalization/main/StaticAllocation.smi \ src/compiler/targetplatform/main/TARGET_PLATFORM.sig \ src/compiler/targetplatform/main/TargetPlatformFormatter.smi \ src/compiler/targetplatform/main/TARGET_PROPERTY.sig \ src/compiler/targetplatform/main/TargetProperty.smi \ src/compiler/targetplatform/main/VMTarget.smi \ src/compiler/abstractinstruction2/main/AbstractInstruction.ppg.smi \ src/compiler/abstractinstruction2/main/AbstractInstructionFormatter.smi \ src/compiler/aigenerator2/main/AIGENERATOR.sig \ src/compiler/aigenerator2/main/AIPrimitive.smi \ src/compiler/aigenerator2/main/BinarySearchCode.smi \ src/compiler/aigenerator2/main/CallAnalysis.smi \ src/compiler/aigenerator2/main/Simplify.smi \ src/compiler/aigenerator2/main/AIGenerator.smi \ src/compiler/rtl/main/RTL.ppg.smi src/compiler/rtl/main/RTLEdit.smi \ src/compiler/rtl/main/RTLUtils.smi src/compiler/rtl/main/RTLLiveness.smi \ src/compiler/rtl/main/RTLTypeCheckError.ppg.smi \ src/compiler/rtl/main/RTLTypeCheck.smi \ src/compiler/rtl/main/RTLBackendContext.smi \ src/compiler/rtl/main/RTLSELECT.sig src/compiler/rtl/main/IEEERealConst.smi \ src/compiler/rtl/main/RTLEMIT.sig src/compiler/rtl/main/X86Asm.ppg.smi \ src/compiler/rtl/main/X86Emit.smi src/compiler/rtl/main/RTLSUBST.sig \ src/compiler/rtl/main/X86Subst.smi src/compiler/rtl/main/RTLDominate.smi \ src/compiler/rtl/main/X86Select.smi src/compiler/rtl/main/RTLSTABILIZE.sig \ src/compiler/rtl/main/RTLStabilize.smi \ src/compiler/rtl/main/X86Stabilize.smi src/compiler/rtl/main/RTLRename.smi \ src/compiler/rtl/main/Coloring.smi src/compiler/rtl/main/RTLCONSTRAINT.sig \ src/compiler/rtl/main/RTLCOLORING.sig src/compiler/rtl/main/RTLColoring.smi \ src/compiler/rtl/main/X86Constraint.smi \ src/compiler/rtl/main/X86Coloring.smi src/compiler/rtl/main/FrameLayout.smi \ src/compiler/rtl/main/RTLFRAME.sig src/compiler/rtl/main/X86Frame.smi \ src/compiler/rtl/main/RTLASMGEN.sig src/compiler/rtl/main/X86AsmGen.smi \ src/compiler/generatemain/main/GenerateMainError.ppg.smi \ src/compiler/generatemain/main/GenerateMain.smi \ src/compiler/toplevel2/main/TopData.ppg.smi \ src/compiler/toplevel2/main/NameEvalEnvUtils.smi \ src/compiler/toplevel2/main/Top.smi \ $(SMLSHARP_DEP) src/compiler/toplevel2/main/TopData.ppg.sml: src/compiler/toplevel2/main/TopData.ppg $(SMLFORMAT_DEP) src/compiler/toplevel2/main/TopData.ppg.o: \ src/compiler/toplevel2/main/TopData.ppg.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-set-sig.sml src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/absyn/main/AbsynInterface.ppg.smi src/config/main/Version.smi \ src/compiler/toolchain/main/Filename.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/nameevaluation/main/NameEvalError.ppg.smi \ src/compiler/nameevaluation/main/NameEvalEnv.sig \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.smi \ src/compiler/absyn/main/Fixity.smi \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.smi \ src/compiler/elaborate/main/ELABORATOR.sig \ src/compiler/elaborate/main/ElaborateError.ppg.smi \ src/compiler/util/main/utils.smi \ src/compiler/elaborate/main/ElaboratorUtils.smi \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.smi \ src/compiler/elaborate/main/ElaborateSQL.smi \ src/compiler/elaborate/main/ElaborateCore.smi \ src/compiler/elaborate/main/ElaborateModule.smi \ src/compiler/elaborate/main/UserTvarScope.smi \ src/compiler/elaborate/main/ElaborateInterface.smi \ src/compiler/elaborate/main/Elaborator.smi \ src/compiler/toplevel2/main/TopData.ppg.smi \ $(SMLSHARP_DEP) src/compiler/toyaanormal/main/NameMangle.o: \ src/compiler/toyaanormal/main/NameMangle.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/types/main/vars.smi src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCUTILS.sig \ src/compiler/multiplevaluecalc/main/MultipleValueCalcUtils.smi \ src/compiler/bitmapcalc/main/BitmapCalc.ppg.smi \ src/compiler/bitmapanormal/main/BitmapANormal.ppg.smi \ src/compiler/closureanormal/main/ClosureANormal.ppg.smi \ src/compiler/toyaanormal/main/NameMangle.smi \ $(SMLSHARP_DEP) src/compiler/toyaanormal/main/ToYAANormal.o: \ src/compiler/toyaanormal/main/ToYAANormal.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/types/main/vars.smi src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/annotatedtypes/main/ANNOTATEDTYPESUTILS.sig \ src/compiler/annotatedtypes/main/AnnotatedTypesUtils.smi \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCUTILS.sig \ src/compiler/multiplevaluecalc/main/MultipleValueCalcUtils.smi \ src/compiler/bitmapcalc/main/BitmapCalc.ppg.smi \ src/compiler/bitmapanormal/main/BitmapANormal.ppg.smi \ src/compiler/closureanormal/main/ClosureANormal.ppg.smi \ src/compiler/runtimetypes/main/RuntimeTypes.ppg.smi \ src/compiler/runtimetypes/main/TypeLayout.smi \ src/compiler/systemdef/main/BasicTypes.smi \ src/compiler/systemdef/main/BasicTypeFormatters.smi \ src/compiler/yaanormal/main/ANormal.ppg.smi \ src/compiler/toyaanormal/main/NameMangle.smi \ src/compiler/toyaanormal/main/ToYAANormal.smi \ $(SMLSHARP_DEP) src/compiler/typedcalc/main/TCAlphaRename.o: \ src/compiler/typedcalc/main/TCAlphaRename.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler-utils/env/main/SEnv.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/VarMap.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/typeinference2/main/TypeInferenceContext.ppg.smi \ src/compiler/typeinference2/main/Printers.smi \ src/compiler/types/main/TyPrinters.smi \ src/compiler/types/main/TyAlphaRename.smi \ src/compiler/typedcalc/main/TCAlphaRename.smi \ $(SMLSHARP_DEP) src/compiler/typedcalc/main/TypedCalc.ppg.sml: src/compiler/typedcalc/main/TypedCalc.ppg $(SMLFORMAT_DEP) src/compiler/typedcalc/main/TypedCalc.ppg.o: \ src/compiler/typedcalc/main/TypedCalc.ppg.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/smlnj-lib/Util/ord-set-sig.sml src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/compiler-utils/env/main/IEnv.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/TermFormat.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ $(SMLSHARP_DEP) src/compiler/typedcalc/main/TypedCalcUtils.o: \ src/compiler/typedcalc/main/TypedCalcUtils.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/gensym.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/utils.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/typedcalc/main/TypedCalcUtils.smi \ $(SMLSHARP_DEP) src/compiler/typedcalcoptimization/main/TCAnalyse.o: \ src/compiler/typedcalcoptimization/main/TCAnalyse.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/ord-set-sig.sml src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi src/compiler-utils/env/main/SEnv.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/typedcalcoptimization/main/TCAnalyse.smi \ $(SMLSHARP_DEP) src/compiler/typedcalcoptimization/main/TCOptimize.o: \ src/compiler/typedcalcoptimization/main/TCOptimize.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/compiler-utils/env/main/SEnv.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/util/main/ListSorter.smi src/compiler/util/main/TermFormat.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/types/main/VarMap.smi \ src/compiler/types/main/OPrimMap.smi src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/typedcalc/main/TypedCalcUtils.smi \ src/compiler/typeinference2/main/TypeInferenceContext.ppg.smi \ src/compiler/typeinference2/main/Printers.smi \ src/compiler/types/main/TyPrinters.smi \ src/compiler/types/main/TyAlphaRename.smi \ src/compiler/typedcalc/main/TCAlphaRename.smi \ src/compiler/types/main/TyReduce.smi \ src/compiler/typedcalcoptimization/main/TCAnalyse.smi \ src/compiler/typedcalcoptimization/main/TCSize.smi \ src/compiler/types/main/CheckEq.smi src/compiler/types/main/Unify.smi \ src/compiler/types/main/TyRevealTy.smi \ src/compiler/typeinference2/main/TypeInferenceUtils.smi \ src/compiler/typedcalcoptimization/main/TCRevealTy.smi \ src/compiler/typedcalcoptimization/main/TCOptimize.smi \ $(SMLSHARP_DEP) src/compiler/typedcalcoptimization/main/TCRevealTy.o: \ src/compiler/typedcalcoptimization/main/TCRevealTy.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/SEnv.smi src/smlnj-lib/Util/parser-comb-sig.sml \ src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/util/main/ListSorter.smi src/compiler/util/main/TermFormat.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/types/main/VarMap.smi \ src/compiler/types/main/OPrimMap.smi src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi src/compiler/types/main/CheckEq.smi \ src/compiler/types/main/Unify.smi src/compiler/types/main/TyRevealTy.smi \ src/compiler/typeinference2/main/TypeInferenceContext.ppg.smi \ src/compiler/typeinference2/main/Printers.smi \ src/compiler/typedcalc/main/TypedCalcUtils.smi \ src/compiler/typeinference2/main/TypeInferenceUtils.smi \ src/compiler/typedcalcoptimization/main/TCRevealTy.smi \ $(SMLSHARP_DEP) src/compiler/typedcalcoptimization/main/TCSize.o: \ src/compiler/typedcalcoptimization/main/TCSize.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/smlnj-lib/Util/ord-set-sig.sml src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler-utils/env/main/SEnv.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/typedcalcoptimization/main/TCSize.smi \ $(SMLSHARP_DEP) src/compiler/typedlambda/main/TypedLambda.ppg.sml: src/compiler/typedlambda/main/TypedLambda.ppg $(SMLFORMAT_DEP) src/compiler/typedlambda/main/TypedLambda.ppg.o: \ src/compiler/typedlambda/main/TypedLambda.ppg.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/typedlambda/main/TypedLambda.ppg.smi \ $(SMLSHARP_DEP) src/compiler/typedlambda/main/TypedLambdaFormatter.o: \ src/compiler/typedlambda/main/TypedLambdaFormatter.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/typedlambda/main/TypedLambda.ppg.smi \ src/compiler/typedlambda/main/TypedLambdaFormatter.smi \ $(SMLSHARP_DEP) src/compiler/typeinference2/main/InferTypes2.o: \ src/compiler/typeinference2/main/InferTypes2.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi src/smlnj-lib/Util/parser-comb-sig.sml \ src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler-utils/env/main/IEnv.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/GenIDFun.smi src/compiler/name/main/LocalID.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/types/main/vars.smi src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/absyn/main/Fixity.smi \ src/compiler/absyn/main/AbsynInterface.ppg.smi \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.smi \ src/compiler/elaborate/main/ELABORATOR.sig \ src/compiler/elaborate/main/ElaborateError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/elaborate/main/ElaboratorUtils.smi \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.smi \ src/compiler/elaborate/main/ElaborateSQL.smi \ src/compiler/elaborate/main/ElaborateCore.smi \ src/compiler/elaborate/main/ElaborateModule.smi \ src/compiler/elaborate/main/UserTvarScope.smi \ src/compiler/elaborate/main/ElaborateInterface.smi \ src/compiler/elaborate/main/Elaborator.smi \ src/compiler/nameevaluation/main/NameEvalError.ppg.smi \ src/compiler/nameevaluation/main/NameEvalEnv.sig \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.smi \ src/compiler/nameevaluation/main/TfunVars.smi \ src/compiler/nameevaluation/main/NameEvalUtils.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/typedcalc/main/TypedCalcUtils.smi \ src/compiler/types/main/IDCalcUtils.smi src/compiler/types/main/CheckEq.smi \ src/compiler/types/main/Unify.smi \ src/compiler/typeinference2/main/TypeInferenceContext.ppg.smi \ src/compiler/typeinference2/main/TypeInferenceError.ppg.smi \ src/compiler/typeinference2/main/TypeInferenceUtils.smi \ src/compiler/typeinference2/main/Printers.smi \ src/compiler/typeinference2/main/InferTypes2.smi \ $(SMLSHARP_DEP) src/compiler/typeinference2/main/Printers.o: \ src/compiler/typeinference2/main/Printers.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-set-sig.sml src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/VarMap.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/typeinference2/main/TypeInferenceContext.ppg.smi \ src/compiler/typeinference2/main/Printers.smi \ $(SMLSHARP_DEP) src/compiler/typeinference2/main/TypeInferenceContext.ppg.sml: src/compiler/typeinference2/main/TypeInferenceContext.ppg $(SMLFORMAT_DEP) src/compiler/typeinference2/main/TypeInferenceContext.ppg.o: \ src/compiler/typeinference2/main/TypeInferenceContext.ppg.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/types/main/VarMap.smi \ src/compiler/types/main/OPrimMap.smi src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/typeinference2/main/TypeInferenceContext.ppg.smi \ $(SMLSHARP_DEP) src/compiler/typeinference2/main/TypeInferenceError.ppg.sml: src/compiler/typeinference2/main/TypeInferenceError.ppg $(SMLFORMAT_DEP) src/compiler/typeinference2/main/TypeInferenceError.ppg.o: \ src/compiler/typeinference2/main/TypeInferenceError.ppg.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/typeinference2/main/TypeInferenceError.ppg.smi \ $(SMLSHARP_DEP) src/compiler/typeinference2/main/TypeInferenceUtils.o: \ src/compiler/typeinference2/main/TypeInferenceUtils.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/types/main/VarMap.smi \ src/compiler/types/main/OPrimMap.smi src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/typedcalc/main/TypedCalcUtils.smi \ src/compiler/types/main/CheckEq.smi src/compiler/types/main/Unify.smi \ src/compiler/typeinference2/main/TypeInferenceUtils.smi \ $(SMLSHARP_DEP) src/compiler/typeinference2/main/UncurryFundecl_ng.o: \ src/compiler/typeinference2/main/UncurryFundecl_ng.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/util/main/ListSorter.smi src/compiler/util/main/TermFormat.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/types/main/VarMap.smi \ src/compiler/types/main/OPrimMap.smi src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/typedcalc/main/TypedCalcUtils.smi \ src/compiler/typeinference2/main/TypeInferenceContext.ppg.smi \ src/compiler/typeinference2/main/Printers.smi \ src/compiler/types/main/TyPrinters.smi \ src/compiler/types/main/TyAlphaRename.smi \ src/compiler/typedcalc/main/TCAlphaRename.smi \ src/compiler/types/main/CheckEq.smi src/compiler/types/main/Unify.smi \ src/compiler/typeinference2/main/TypeInferenceUtils.smi \ src/compiler/typeinference2/main/UNCURRYFUNDECL.sig \ src/compiler/typeinference2/main/UncurryFundecl_ng.smi \ $(SMLSHARP_DEP) src/compiler/types/main/CheckEq.o: src/compiler/types/main/CheckEq.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/compiler/util/main/utils.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi src/compiler/types/main/CheckEq.smi \ $(SMLSHARP_DEP) src/compiler/types/main/EvalIty.o: src/compiler/types/main/EvalIty.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-set-sig.sml src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ $(SMLSHARP_DEP) src/compiler/types/main/IDCalc.ppg.sml: src/compiler/types/main/IDCalc.ppg $(SMLFORMAT_DEP) src/compiler/types/main/IDCalc.ppg.o: src/compiler/types/main/IDCalc.ppg.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ $(SMLSHARP_DEP) src/compiler/types/main/IDCalcUtils.o: src/compiler/types/main/IDCalcUtils.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/types/main/VarMap.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/IDCalcUtils.smi \ $(SMLSHARP_DEP) src/compiler/types/main/OPrimInstMap.o: \ src/compiler/types/main/OPrimInstMap.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi src/smlnj-lib/Util/parser-comb-sig.sml \ src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/ord-set-sig.sml src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ $(SMLSHARP_DEP) src/compiler/types/main/OPrimMap.o: src/compiler/types/main/OPrimMap.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi src/smlnj-lib/Util/parser-comb-sig.sml \ src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/ord-set-sig.sml src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/types/main/OPrimMap.smi \ $(SMLSHARP_DEP) src/compiler/types/main/TyAlphaRename.o: \ src/compiler/types/main/TyAlphaRename.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/SEnv.smi src/smlnj-lib/Util/parser-comb-sig.sml \ src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/utils.smi \ src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/types/main/TyPrinters.smi \ src/compiler/types/main/TyAlphaRename.smi \ $(SMLSHARP_DEP) src/compiler/types/main/TyPrinters.o: src/compiler/types/main/TyPrinters.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-set-sig.sml src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/TyPrinters.smi \ $(SMLSHARP_DEP) src/compiler/types/main/TyReduce.o: src/compiler/types/main/TyReduce.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/SEnv.smi src/smlnj-lib/Util/parser-comb-sig.sml \ src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/utils.smi \ src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/types/main/TyPrinters.smi \ src/compiler/types/main/TyAlphaRename.smi \ src/compiler/types/main/TyReduce.smi \ $(SMLSHARP_DEP) src/compiler/types/main/TyRevealTy.o: src/compiler/types/main/TyRevealTy.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/utils.smi \ src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi src/compiler/types/main/CheckEq.smi \ src/compiler/types/main/Unify.smi src/compiler/types/main/TyRevealTy.smi \ $(SMLSHARP_DEP) src/compiler/types/main/Types.ppg.sml: src/compiler/types/main/Types.ppg $(SMLFORMAT_DEP) src/compiler/types/main/Types.ppg.o: src/compiler/types/main/Types.ppg.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi \ $(SMLSHARP_DEP) src/compiler/types/main/TypesUtils.o: src/compiler/types/main/TypesUtils.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/ord-set-sig.sml src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler-utils/env/main/SEnv.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/util/main/utils.smi \ src/compiler/util/main/gensym.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ $(SMLSHARP_DEP) src/compiler/types/main/Unify.o: src/compiler/types/main/Unify.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/types/main/VarMap.smi \ src/compiler/types/main/OPrimMap.smi src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi src/compiler/types/main/CheckEq.smi \ src/compiler/types/main/Unify.smi \ $(SMLSHARP_DEP) src/compiler/types/main/VarMap.o: src/compiler/types/main/VarMap.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi src/smlnj-lib/Util/parser-comb-sig.sml \ src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/types/main/VarMap.smi \ $(SMLSHARP_DEP) src/compiler/types/main/tvarMap.o: src/compiler/types/main/tvarMap.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi src/smlnj-lib/Util/parser-comb-sig.sml \ src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler-utils/env/main/SEnv.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi src/compiler/types/main/tvarMap.smi \ $(SMLSHARP_DEP) src/compiler/types/main/vars.o: src/compiler/types/main/vars.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi src/smlnj-lib/Util/parser-comb-sig.sml \ src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler-utils/env/main/SEnv.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/vars.smi \ $(SMLSHARP_DEP) src/compiler/usererror/main/UserError.ppg.sml: src/compiler/usererror/main/UserError.ppg $(SMLFORMAT_DEP) src/compiler/usererror/main/UserError.ppg.o: \ src/compiler/usererror/main/UserError.ppg.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/Word.smi src/basis/main/Word8.smi \ src/basis/main/SMLSharpRuntime.smi src/basis/main/IEEE_REAL.sig \ src/basis/main/IEEEReal.smi src/basis/main/RealClass.smi \ src/basis/main/Substring.smi src/basis/main/MATH.sig src/basis/main/Real.smi \ src/basis/main/Real32.smi src/basis/main/binary-op.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/TIME.sig src/basis/main/Time.smi \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/BOOL.sig \ src/basis/main/Bool.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/smlnj/Basis/IO/prim-io-bin.smi src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ $(SMLSHARP_DEP) src/compiler/usererror/main/UserErrorUtils.o: \ src/compiler/usererror/main/UserErrorUtils.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.smi \ $(SMLSHARP_DEP) src/compiler/util/main/BigInt_IntInf.o: \ src/compiler/util/main/BigInt_IntInf.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/compiler/util/main/BigInt_IntInf.smi \ $(SMLSHARP_DEP) src/compiler/util/main/Counter.o: src/compiler/util/main/Counter.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.smi src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/compiler/util/main/COUNTER.sig \ src/compiler/util/main/Counter.smi \ $(SMLSHARP_DEP) src/compiler/util/main/Graph.o: src/compiler/util/main/Graph.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.smi src/smlnj-lib/Util/parser-comb-sig.sml \ src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/compiler/util/main/GRAPH.sig \ src/compiler/util/main/Graph.smi \ $(SMLSHARP_DEP) src/compiler/util/main/ListSorter.o: src/compiler/util/main/ListSorter.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/Word.smi src/basis/main/Word8.smi \ src/basis/main/SMLSharpRuntime.smi src/basis/main/IEEE_REAL.sig \ src/basis/main/IEEEReal.smi src/basis/main/RealClass.smi \ src/basis/main/Substring.smi src/basis/main/MATH.sig src/basis/main/Real.smi \ src/basis/main/Real32.smi src/basis/main/binary-op.smi \ src/compiler/util/main/ListSorter.smi \ $(SMLSHARP_DEP) src/compiler/util/main/SCCFun.o: src/compiler/util/main/SCCFun.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/ord-set-sig.sml src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/util/main/GRAPH.sig src/compiler/util/main/Graph.smi \ src/compiler/util/main/SCCFun.smi \ $(SMLSHARP_DEP) src/compiler/util/main/SmlppgUtil.ppg.sml: src/compiler/util/main/SmlppgUtil.ppg $(SMLFORMAT_DEP) src/compiler/util/main/SmlppgUtil.ppg.o: \ src/compiler/util/main/SmlppgUtil.ppg.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/binary-set-fn.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/SEnv.smi src/compiler-utils/env/main/IEnv.smi \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ $(SMLSHARP_DEP) src/compiler/util/main/TermFormat.o: src/compiler/util/main/TermFormat.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi \ $(SMLSHARP_DEP) src/compiler/util/main/gensym.o: src/compiler/util/main/gensym.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/compiler/util/main/gensym.smi \ $(SMLSHARP_DEP) src/compiler/util/main/utils.o: src/compiler/util/main/utils.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/compiler/util/main/utils.smi \ $(SMLSHARP_DEP) src/compiler/valrecoptimization/main/TransFundecl.o: \ src/compiler/valrecoptimization/main/TransFundecl.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/valrecoptimization/main/TRANS_FUNDECL.sig \ src/compiler/valrecoptimization/main/TransFundecl.smi \ $(SMLSHARP_DEP) src/compiler/valrecoptimization/main/VALREC_Optimizer.o: \ src/compiler/valrecoptimization/main/VALREC_Optimizer.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/util/main/GRAPH.sig src/compiler/util/main/Graph.smi \ src/compiler/valrecoptimization/main/VALREC_OPTIMIZER.sig \ src/compiler/valrecoptimization/main/utils.smi \ src/compiler/valrecoptimization/main/VALREC_Optimizer.smi \ $(SMLSHARP_DEP) src/compiler/valrecoptimization/main/utils.o: \ src/compiler/valrecoptimization/main/utils.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/valrecoptimization/main/utils.smi \ $(SMLSHARP_DEP) src/compiler/yaanormal/main/ANormal.ppg.sml: src/compiler/yaanormal/main/ANormal.ppg $(SMLFORMAT_DEP) src/compiler/yaanormal/main/ANormal.ppg.o: \ src/compiler/yaanormal/main/ANormal.ppg.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/compiler/control/main/LOC.sig src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/TermFormat.smi src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/util/main/utils.smi src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/systemdef/main/BasicTypes.smi \ src/compiler/systemdef/main/BasicTypeFormatters.smi \ src/compiler/yaanormal/main/ANormal.ppg.smi \ $(SMLSHARP_DEP) src/compiler/yaanormalization/main/ANormalOptimization.o: \ src/compiler/yaanormalization/main/ANormalOptimization.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/ListSorter.smi src/compiler/util/main/TermFormat.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi src/compiler/util/main/utils.smi \ src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/systemdef/main/BasicTypes.smi \ src/compiler/systemdef/main/BasicTypeFormatters.smi \ src/compiler/yaanormal/main/ANormal.ppg.smi \ src/compiler/yaanormalization/main/ANORMALOPTIMIZATION.sig \ src/compiler/yaanormalization/main/ANormalOptimization.smi \ $(SMLSHARP_DEP) src/compiler/yaanormalization/main/StaticAllocation.o: \ src/compiler/yaanormalization/main/StaticAllocation.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/control/main/Control.ppg.smi src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler-utils/env/main/IEnv.smi src/smlnj-lib/Util/binary-set-fn.smi \ src/compiler-utils/env/main/IOrd.smi src/compiler-utils/env/main/ISet.smi \ src/compiler/name/main/LOCAL_ID.sig src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LocalID.smi src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/ListSorter.smi src/compiler/util/main/TermFormat.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler-utils/env/main/SOrd.smi src/compiler-utils/env/main/SSet.smi \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.smi src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/Absyn.ppg.smi src/compiler/util/main/utils.smi \ src/compiler/util/main/gensym.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/types/main/tvarMap.smi src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/Types.ppg.smi src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/VarMap.smi src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/EvalIty.smi \ src/compiler/builtin2/main/BuiltinTypes.smi src/compiler/types/main/vars.smi \ src/compiler/types/main/TypesUtils.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/systemdef/main/BasicTypes.smi \ src/compiler/systemdef/main/BasicTypeFormatters.smi \ src/compiler/yaanormal/main/ANormal.ppg.smi \ src/compiler/yaanormalization/main/StaticAllocation.smi \ $(SMLSHARP_DEP) src/config/main/Config.o: src/config/main/Config.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/config/main/Version.smi src/compiler/toolchain/main/Filename.smi \ src/config/main/Config.smi \ $(SMLSHARP_DEP) src/config/main/Version.o: src/config/main/Version.sml \ src/config/main/Version.smi \ $(SMLSHARP_DEP) src/ffi/main/DynamicLink.o: src/ffi/main/DynamicLink.sml \ src/basis/main/SMLSharpRuntime.smi src/ffi/main/DynamicLink.smi \ $(SMLSHARP_DEP) src/ffi/main/Pointer.o: src/ffi/main/Pointer.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/Word.smi src/basis/main/Word8.smi \ src/basis/main/SMLSharpRuntime.smi src/basis/main/IEEE_REAL.sig \ src/basis/main/IEEEReal.smi src/basis/main/MATH.sig \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/Word8Vector.smi src/ffi/main/Pointer.smi \ $(SMLSHARP_DEP) src/ml-lex/export-lex.o: src/ml-lex/export-lex.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-lex/lexgen.smi \ src/ml-lex/export-lex.smi \ $(SMLSHARP_DEP) src/ml-lex/lexgen.o: src/ml-lex/lexgen.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-lex/lexgen.smi \ $(SMLSHARP_DEP) src/ml-lex/ml-lex.o: src/ml-lex/ml-lex.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-lex/lexgen.smi \ src/ml-lex/export-lex.smi src/ml-lex/ml-lex.smi \ $(SMLSHARP_DEP) src/ml-yacc/lib/lrtable.o: src/ml-yacc/lib/lrtable.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/lib/lrtable.smi \ $(SMLSHARP_DEP) src/ml-yacc/lib/parser2.o: src/ml-yacc/lib/parser2.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/lib/stream.smi src/ml-yacc/lib/lrtable.smi \ src/ml-yacc/lib/parser2.smi \ $(SMLSHARP_DEP) src/ml-yacc/lib/stream.o: src/ml-yacc/lib/stream.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/lib/stream.smi \ $(SMLSHARP_DEP) src/ml-yacc/src/absyn.o: src/ml-yacc/src/absyn.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-yacc/src/absyn.sig \ src/ml-yacc/src/absyn.smi \ $(SMLSHARP_DEP) src/ml-yacc/src/core.o: src/ml-yacc/src/core.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/src/utils.sig src/ml-yacc/src/utils.smi src/ml-yacc/src/sigs.sml \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/src/grammar.smi \ src/ml-yacc/src/core.smi \ $(SMLSHARP_DEP) src/ml-yacc/src/coreutils.o: src/ml-yacc/src/coreutils.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/src/utils.sig src/ml-yacc/src/utils.smi src/ml-yacc/src/sigs.sml \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/src/grammar.smi \ src/ml-yacc/src/core.smi src/ml-yacc/src/coreutils.smi \ $(SMLSHARP_DEP) src/ml-yacc/src/export-yacc.o: src/ml-yacc/src/export-yacc.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/lib/stream.smi \ src/ml-yacc/lib/parser2.smi src/ml-yacc/src/absyn.sig \ src/ml-yacc/src/absyn.smi src/ml-yacc/src/utils.sig \ src/ml-yacc/src/utils.smi src/ml-yacc/src/sigs.sml \ src/ml-yacc/src/grammar.smi src/ml-yacc/src/hdr.smi src/ml-yacc/src/core.smi \ src/ml-yacc/src/coreutils.smi src/ml-yacc/src/graph.smi \ src/ml-yacc/src/look.smi src/ml-yacc/src/lalr.smi \ src/ml-yacc/src/mklrtable.smi src/ml-yacc/src/shrink.smi \ src/ml-yacc/src/mkprstruct.smi src/ml-yacc/src/yacc.grm.sig \ src/ml-yacc/src/yacc.grm.smi src/ml-yacc/src/yacc.lex.smi \ src/ml-yacc/src/parse.smi src/ml-yacc/src/verbose.smi \ src/ml-yacc/src/yacc.smi src/ml-yacc/src/export-yacc.smi \ $(SMLSHARP_DEP) src/ml-yacc/src/grammar.o: src/ml-yacc/src/grammar.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/src/utils.sig \ src/ml-yacc/src/utils.smi src/ml-yacc/src/sigs.sml \ src/ml-yacc/src/grammar.smi \ $(SMLSHARP_DEP) src/ml-yacc/src/graph.o: src/ml-yacc/src/graph.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/src/utils.sig src/ml-yacc/src/utils.smi src/ml-yacc/src/sigs.sml \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/src/grammar.smi \ src/ml-yacc/src/core.smi src/ml-yacc/src/coreutils.smi \ src/ml-yacc/src/graph.smi \ $(SMLSHARP_DEP) src/ml-yacc/src/hdr.o: src/ml-yacc/src/hdr.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/src/utils.sig src/ml-yacc/src/sigs.sml src/ml-yacc/src/hdr.smi \ $(SMLSHARP_DEP) src/ml-yacc/src/lalr.o: src/ml-yacc/src/lalr.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/src/utils.sig src/ml-yacc/src/utils.smi src/ml-yacc/src/sigs.sml \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/src/grammar.smi \ src/ml-yacc/src/core.smi src/ml-yacc/src/coreutils.smi \ src/ml-yacc/src/graph.smi src/ml-yacc/src/look.smi src/ml-yacc/src/lalr.smi \ $(SMLSHARP_DEP) src/ml-yacc/src/look.o: src/ml-yacc/src/look.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/src/utils.sig src/ml-yacc/src/utils.smi src/ml-yacc/src/sigs.sml \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/src/grammar.smi \ src/ml-yacc/src/look.smi \ $(SMLSHARP_DEP) src/ml-yacc/src/mklrtable.o: src/ml-yacc/src/mklrtable.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/src/utils.sig \ src/ml-yacc/src/utils.smi src/ml-yacc/src/sigs.sml \ src/ml-yacc/src/grammar.smi src/ml-yacc/src/core.smi \ src/ml-yacc/src/coreutils.smi src/ml-yacc/src/graph.smi \ src/ml-yacc/src/look.smi src/ml-yacc/src/lalr.smi \ src/ml-yacc/src/mklrtable.smi \ $(SMLSHARP_DEP) src/ml-yacc/src/mkprstruct.o: src/ml-yacc/src/mkprstruct.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/src/utils.sig \ src/ml-yacc/src/sigs.sml src/ml-yacc/src/utils.smi \ src/ml-yacc/src/grammar.smi src/ml-yacc/src/core.smi \ src/ml-yacc/src/coreutils.smi src/ml-yacc/src/graph.smi \ src/ml-yacc/src/look.smi src/ml-yacc/src/lalr.smi \ src/ml-yacc/src/mklrtable.smi src/ml-yacc/src/shrink.smi \ src/ml-yacc/src/mkprstruct.smi \ $(SMLSHARP_DEP) src/ml-yacc/src/ml-yacc.o: src/ml-yacc/src/ml-yacc.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/lib/stream.smi \ src/ml-yacc/lib/parser2.smi src/ml-yacc/src/absyn.sig \ src/ml-yacc/src/absyn.smi src/ml-yacc/src/utils.sig \ src/ml-yacc/src/utils.smi src/ml-yacc/src/sigs.sml \ src/ml-yacc/src/grammar.smi src/ml-yacc/src/hdr.smi src/ml-yacc/src/core.smi \ src/ml-yacc/src/coreutils.smi src/ml-yacc/src/graph.smi \ src/ml-yacc/src/look.smi src/ml-yacc/src/lalr.smi \ src/ml-yacc/src/mklrtable.smi src/ml-yacc/src/shrink.smi \ src/ml-yacc/src/mkprstruct.smi src/ml-yacc/src/yacc.grm.sig \ src/ml-yacc/src/yacc.grm.smi src/ml-yacc/src/yacc.lex.smi \ src/ml-yacc/src/parse.smi src/ml-yacc/src/verbose.smi \ src/ml-yacc/src/yacc.smi src/ml-yacc/src/export-yacc.smi \ src/ml-yacc/src/ml-yacc.smi \ $(SMLSHARP_DEP) src/ml-yacc/src/parse.o: src/ml-yacc/src/parse.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/lib/stream.smi src/ml-yacc/lib/lrtable.smi \ src/ml-yacc/lib/parser2.smi src/ml-yacc/src/utils.sig \ src/ml-yacc/src/sigs.sml src/ml-yacc/src/hdr.smi \ src/ml-yacc/src/yacc.grm.sig src/ml-yacc/src/yacc.grm.smi \ src/ml-yacc/src/yacc.lex.smi src/ml-yacc/src/parse.smi \ $(SMLSHARP_DEP) src/ml-yacc/src/shrink.o: src/ml-yacc/src/shrink.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/src/utils.sig \ src/ml-yacc/src/sigs.sml src/ml-yacc/src/utils.smi \ src/ml-yacc/src/grammar.smi src/ml-yacc/src/core.smi \ src/ml-yacc/src/coreutils.smi src/ml-yacc/src/graph.smi \ src/ml-yacc/src/look.smi src/ml-yacc/src/lalr.smi \ src/ml-yacc/src/mklrtable.smi src/ml-yacc/src/shrink.smi \ $(SMLSHARP_DEP) src/ml-yacc/src/utils.o: src/ml-yacc/src/utils.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-yacc/src/utils.sig \ src/ml-yacc/src/utils.smi \ $(SMLSHARP_DEP) src/ml-yacc/src/verbose.o: src/ml-yacc/src/verbose.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/src/utils.sig \ src/ml-yacc/src/utils.smi src/ml-yacc/src/sigs.sml \ src/ml-yacc/src/grammar.smi src/ml-yacc/src/core.smi \ src/ml-yacc/src/coreutils.smi src/ml-yacc/src/graph.smi \ src/ml-yacc/src/look.smi src/ml-yacc/src/lalr.smi \ src/ml-yacc/src/mklrtable.smi src/ml-yacc/src/verbose.smi \ $(SMLSHARP_DEP) src/ml-yacc/src/yacc.grm.o: src/ml-yacc/src/yacc.grm.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/lib/stream.smi src/ml-yacc/lib/lrtable.smi \ src/ml-yacc/lib/parser2.smi src/ml-yacc/src/utils.sig \ src/ml-yacc/src/sigs.sml src/ml-yacc/src/hdr.smi \ src/ml-yacc/src/yacc.grm.sig src/ml-yacc/src/yacc.grm.smi \ $(SMLSHARP_DEP) src/ml-yacc/src/yacc.lex.o: src/ml-yacc/src/yacc.lex.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/lib/stream.smi \ src/ml-yacc/lib/parser2.smi src/ml-yacc/src/utils.sig \ src/ml-yacc/src/sigs.sml src/ml-yacc/src/hdr.smi \ src/ml-yacc/src/yacc.grm.sig src/ml-yacc/src/yacc.grm.smi \ src/ml-yacc/src/yacc.lex.smi \ $(SMLSHARP_DEP) src/ml-yacc/src/yacc.o: src/ml-yacc/src/yacc.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/lib/stream.smi \ src/ml-yacc/lib/parser2.smi src/ml-yacc/src/absyn.sig \ src/ml-yacc/src/absyn.smi src/ml-yacc/src/utils.sig \ src/ml-yacc/src/utils.smi src/ml-yacc/src/sigs.sml \ src/ml-yacc/src/grammar.smi src/ml-yacc/src/hdr.smi src/ml-yacc/src/core.smi \ src/ml-yacc/src/coreutils.smi src/ml-yacc/src/graph.smi \ src/ml-yacc/src/look.smi src/ml-yacc/src/lalr.smi \ src/ml-yacc/src/mklrtable.smi src/ml-yacc/src/shrink.smi \ src/ml-yacc/src/mkprstruct.smi src/ml-yacc/src/yacc.grm.sig \ src/ml-yacc/src/yacc.grm.smi src/ml-yacc/src/yacc.lex.smi \ src/ml-yacc/src/parse.smi src/ml-yacc/src/verbose.smi \ src/ml-yacc/src/yacc.smi \ $(SMLSHARP_DEP) src/reifiedterm/main/ReflectionControl.o: \ src/reifiedterm/main/ReflectionControl.sml src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/Word.smi src/basis/main/Array.smi \ src/basis/main/SMLSharpRuntime.smi src/basis/main/Substring.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/MATH.sig src/basis/main/RealClass.smi src/basis/main/Real.smi \ src/basis/main/Vector.smi src/basis/main/IO.sig src/basis/main/IO.smi \ src/basis/main/Real32.smi src/basis/main/TIME.sig src/basis/main/Time.smi \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/BOOL.sig \ src/basis/main/Bool.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/basis/main/binary-op.smi src/smlnj-lib/Util/parser-comb-sig.sml \ src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/reifiedterm/main/ReflectionControl.smi \ $(SMLSHARP_DEP) src/reifiedterm/main/ReifiedTerm.ppg.sml: src/reifiedterm/main/ReifiedTerm.ppg $(SMLFORMAT_DEP) src/reifiedterm/main/ReifiedTerm.ppg.o: \ src/reifiedterm/main/ReifiedTerm.ppg.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/Word.smi src/basis/main/Word8.smi \ src/basis/main/SMLSharpRuntime.smi src/basis/main/IEEE_REAL.sig \ src/basis/main/IEEEReal.smi src/basis/main/MATH.sig \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/Real.smi src/basis/main/Real32.smi src/basis/main/Array.smi \ src/basis/main/binary-op.smi src/basis/main/IO.sig src/basis/main/IO.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/BOOL.sig \ src/basis/main/Bool.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/smlnj/Basis/IO/prim-io-bin.smi src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/basis/main/Vector.smi src/smlnj-lib/Util/parser-comb-sig.sml \ src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/reifiedterm/main/ReflectionControl.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/reifiedterm/main/TermPrintUtils.ppg.smi \ src/reifiedterm/main/ReifiedTerm.ppg.smi \ $(SMLSHARP_DEP) src/reifiedterm/main/TermPrintUtils.ppg.sml: src/reifiedterm/main/TermPrintUtils.ppg $(SMLFORMAT_DEP) src/reifiedterm/main/TermPrintUtils.ppg.o: \ src/reifiedterm/main/TermPrintUtils.ppg.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/Word.smi src/basis/main/Word8.smi \ src/basis/main/SMLSharpRuntime.smi src/basis/main/IEEE_REAL.sig \ src/basis/main/IEEEReal.smi src/basis/main/MATH.sig \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/binary-op.smi src/basis/main/IO.sig src/basis/main/IO.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/BOOL.sig \ src/basis/main/Bool.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/smlnj/Basis/IO/prim-io-bin.smi src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi src/smlformat-lib.smi \ src/reifiedterm/main/ReflectionControl.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/binary-map-fn.smi \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/LabelEnv.smi \ src/reifiedterm/main/TermPrintUtils.ppg.smi \ $(SMLSHARP_DEP) src/smlformat/formatlib/main/AssocResolver.o: \ src/smlformat/formatlib/main/AssocResolver.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/Word.smi src/basis/main/Word8.smi \ src/basis/main/SMLSharpRuntime.smi src/basis/main/IEEE_REAL.sig \ src/basis/main/IEEEReal.smi src/basis/main/RealClass.smi \ src/basis/main/Substring.smi src/basis/main/MATH.sig src/basis/main/Real.smi \ src/basis/main/Real32.smi src/basis/main/binary-op.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ $(SMLSHARP_DEP) src/smlformat/formatlib/main/BasicFormatters.o: \ src/smlformat/formatlib/main/BasicFormatters.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/Word.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/Substring.smi src/basis/main/IEEE_REAL.sig \ src/basis/main/IEEEReal.smi src/basis/main/MATH.sig \ src/basis/main/RealClass.smi src/basis/main/Real.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi src/basis/main/BOOL.sig \ src/basis/main/Bool.smi src/basis/main/Word8.smi src/basis/main/Real32.smi \ src/basis/main/binary-op.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/BasicFormatters.smi \ $(SMLSHARP_DEP) src/smlformat/formatlib/main/FormatExpression.o: \ src/smlformat/formatlib/main/FormatExpression.sml src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/Word.smi src/basis/main/Word8.smi \ src/basis/main/SMLSharpRuntime.smi src/basis/main/IEEE_REAL.sig \ src/basis/main/IEEEReal.smi src/basis/main/RealClass.smi \ src/basis/main/Substring.smi src/basis/main/MATH.sig src/basis/main/Real.smi \ src/basis/main/Real32.smi src/basis/main/binary-op.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ $(SMLSHARP_DEP) src/smlformat/formatlib/main/FormatExpressionTypes.o: \ src/smlformat/formatlib/main/FormatExpressionTypes.sml \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ $(SMLSHARP_DEP) src/smlformat/formatlib/main/PreProcessedExpression.o: \ src/smlformat/formatlib/main/PreProcessedExpression.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi src/basis/main/Word.smi \ src/basis/main/Word8.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/binary-op.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ $(SMLSHARP_DEP) src/smlformat/formatlib/main/PreProcessor.o: \ src/smlformat/formatlib/main/PreProcessor.sml src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/BOOL.sig src/basis/main/Bool.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi src/basis/main/Word.smi \ src/basis/main/Word8.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/binary-op.smi src/smlnj-lib/Util/parser-comb-sig.sml \ src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ $(SMLSHARP_DEP) src/smlformat/formatlib/main/PrettyPrinter.o: \ src/smlformat/formatlib/main/PrettyPrinter.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/Word.smi src/basis/main/Word8.smi \ src/basis/main/SMLSharpRuntime.smi src/basis/main/IEEE_REAL.sig \ src/basis/main/IEEEReal.smi src/basis/main/RealClass.smi \ src/basis/main/Substring.smi src/basis/main/MATH.sig src/basis/main/Real.smi \ src/basis/main/Real32.smi src/basis/main/binary-op.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ $(SMLSHARP_DEP) src/smlformat/formatlib/main/PrinterParameter.o: \ src/smlformat/formatlib/main/PrinterParameter.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ $(SMLSHARP_DEP) src/smlformat/formatlib/main/SMLFormat.o: \ src/smlformat/formatlib/main/SMLFormat.sml src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/Word.smi src/basis/main/Array.smi \ src/basis/main/SMLSharpRuntime.smi src/basis/main/Substring.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/MATH.sig src/basis/main/RealClass.smi src/basis/main/Real.smi \ src/basis/main/Vector.smi src/basis/main/IO.sig src/basis/main/IO.smi \ src/basis/main/Real32.smi src/basis/main/TIME.sig src/basis/main/Time.smi \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/BOOL.sig \ src/basis/main/Bool.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/basis/main/binary-op.smi src/smlnj-lib/Util/parser-comb-sig.sml \ src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/Truncator.smi \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.smi \ $(SMLSHARP_DEP) src/smlformat/formatlib/main/Truncator.o: \ src/smlformat/formatlib/main/Truncator.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/Word.smi src/basis/main/Word8.smi \ src/basis/main/SMLSharpRuntime.smi src/basis/main/IEEE_REAL.sig \ src/basis/main/IEEEReal.smi src/basis/main/RealClass.smi \ src/basis/main/Substring.smi src/basis/main/MATH.sig src/basis/main/Real.smi \ src/basis/main/Real32.smi src/basis/main/binary-op.smi \ src/smlnj-lib/Util/parser-comb-sig.sml src/smlnj-lib/Util/parser-comb.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/Truncator.smi \ $(SMLSHARP_DEP) src/smlformat/generator/main/Ast.o: src/smlformat/generator/main/Ast.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlformat/generator/main/FormatTemplate.smi \ src/smlformat/generator/main/AST.sig src/smlformat/generator/main/Ast.smi \ $(SMLSHARP_DEP) src/smlformat/generator/main/AstUtil.o: \ src/smlformat/generator/main/AstUtil.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlformat/generator/main/FormatTemplate.smi \ src/smlformat/generator/main/AST.sig src/smlformat/generator/main/Ast.smi \ src/smlformat/generator/main/ASTUTIL.sig \ src/smlformat/generator/main/AstUtil.smi \ $(SMLSHARP_DEP) src/smlformat/generator/main/BasicFormattersEnv.o: \ src/smlformat/generator/main/BasicFormattersEnv.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlformat/generator/main/Utility.smi \ src/smlformat/generator/main/FormatTemplate.smi \ src/smlformat/generator/main/AST.sig src/smlformat/generator/main/Ast.smi \ src/smlformat/generator/main/FORMATTER_GENERATOR.sig \ src/smlformat/generator/main/FormatterGenerator.smi \ src/smlformat/generator/main/BasicFormattersEnv.smi \ $(SMLSHARP_DEP) src/smlformat/generator/main/Constants_MLton.o: \ src/smlformat/generator/main/Constants_MLton.sml \ src/smlformat/generator/main/Constants_MLton.smi \ $(SMLSHARP_DEP) src/smlformat/generator/main/ErrorQueue.o: \ src/smlformat/generator/main/ErrorQueue.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlformat/generator/main/ErrorQueue.smi \ $(SMLSHARP_DEP) src/smlformat/generator/main/FormatTemplate.o: \ src/smlformat/generator/main/FormatTemplate.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlformat/generator/main/FormatTemplate.smi \ $(SMLSHARP_DEP) src/smlformat/generator/main/FormatterGenerator.o: \ src/smlformat/generator/main/FormatterGenerator.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlformat/generator/main/Utility.smi \ src/smlformat/generator/main/FormatTemplate.smi \ src/smlformat/generator/main/AST.sig src/smlformat/generator/main/Ast.smi \ src/smlformat/generator/main/FORMATTER_GENERATOR.sig \ src/smlformat/generator/main/FormatterGenerator.smi \ $(SMLSHARP_DEP) src/smlformat/generator/main/MLParser.o: \ src/smlformat/generator/main/MLParser.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/lib/stream.smi \ src/ml-yacc/lib/parser2.smi src/ml-yacc-lib.smi \ src/smlformat/generator/main/FormatTemplate.smi \ src/smlformat/generator/main/AST.sig src/smlformat/generator/main/Ast.smi \ src/smlformat/generator/main/ASTUTIL.sig \ src/smlformat/generator/main/AstUtil.smi \ src/smlformat/generator/main/ml.grm.sig \ src/smlformat/generator/main/ml.grm.smi \ src/smlformat/generator/main/TokenTable.smi \ src/smlformat/generator/main/ml.lex.smi \ src/smlformat/generator/main/MLPARSER.sig \ src/smlformat/generator/main/MLParser.smi \ $(SMLSHARP_DEP) src/smlformat/generator/main/Main.o: src/smlformat/generator/main/Main.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlformat/generator/main/Utility.smi \ src/smlformat/generator/main/FormatTemplate.smi \ src/smlformat/generator/main/AST.sig src/smlformat/generator/main/Ast.smi \ src/smlformat/generator/main/FORMATTER_GENERATOR.sig \ src/smlformat/generator/main/FormatterGenerator.smi \ src/smlformat/generator/main/ErrorQueue.smi \ src/smlformat/generator/main/Constants_MLton.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/lib/stream.smi \ src/ml-yacc/lib/parser2.smi src/ml-yacc-lib.smi \ src/smlformat/generator/main/ASTUTIL.sig \ src/smlformat/generator/main/AstUtil.smi \ src/smlformat/generator/main/ml.grm.sig \ src/smlformat/generator/main/ml.grm.smi \ src/smlformat/generator/main/TokenTable.smi \ src/smlformat/generator/main/ml.lex.smi \ src/smlformat/generator/main/MLPARSER.sig \ src/smlformat/generator/main/MLParser.smi \ src/smlformat/generator/main/BasicFormattersEnv.smi \ src/smlformat/generator/main/PPGMain.smi \ src/smlformat/generator/main/Main.smi \ $(SMLSHARP_DEP) src/smlformat/generator/main/PPGMain.o: \ src/smlformat/generator/main/PPGMain.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlformat/generator/main/Utility.smi \ src/smlformat/generator/main/ErrorQueue.smi \ src/smlformat/generator/main/FormatTemplate.smi \ src/smlformat/generator/main/AST.sig src/smlformat/generator/main/Ast.smi \ src/smlformat/generator/main/Constants_MLton.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/lib/stream.smi \ src/ml-yacc/lib/parser2.smi src/ml-yacc-lib.smi \ src/smlformat/generator/main/ASTUTIL.sig \ src/smlformat/generator/main/AstUtil.smi \ src/smlformat/generator/main/ml.grm.sig \ src/smlformat/generator/main/ml.grm.smi \ src/smlformat/generator/main/TokenTable.smi \ src/smlformat/generator/main/ml.lex.smi \ src/smlformat/generator/main/MLPARSER.sig \ src/smlformat/generator/main/MLParser.smi \ src/smlformat/generator/main/FORMATTER_GENERATOR.sig \ src/smlformat/generator/main/FormatterGenerator.smi \ src/smlformat/generator/main/BasicFormattersEnv.smi \ src/smlformat/generator/main/PPGMain.smi \ $(SMLSHARP_DEP) src/smlformat/generator/main/TokenTable.o: \ src/smlformat/generator/main/TokenTable.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/lib/stream.smi \ src/ml-yacc/lib/parser2.smi src/ml-yacc-lib.smi \ src/smlformat/generator/main/FormatTemplate.smi \ src/smlformat/generator/main/ml.grm.sig src/smlformat/generator/main/AST.sig \ src/smlformat/generator/main/Ast.smi \ src/smlformat/generator/main/ASTUTIL.sig \ src/smlformat/generator/main/AstUtil.smi \ src/smlformat/generator/main/ml.grm.smi \ src/smlformat/generator/main/TokenTable.smi \ $(SMLSHARP_DEP) src/smlformat/generator/main/Utility.o: \ src/smlformat/generator/main/Utility.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlformat/generator/main/Utility.smi \ $(SMLSHARP_DEP) src/smlformat/generator/main/call-main.o: \ src/smlformat/generator/main/call-main.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlformat/generator/main/Utility.smi \ src/smlformat/generator/main/FormatTemplate.smi \ src/smlformat/generator/main/AST.sig src/smlformat/generator/main/Ast.smi \ src/smlformat/generator/main/FORMATTER_GENERATOR.sig \ src/smlformat/generator/main/FormatterGenerator.smi \ src/smlformat/generator/main/ErrorQueue.smi \ src/smlformat/generator/main/Constants_MLton.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/lib/stream.smi \ src/ml-yacc/lib/parser2.smi src/ml-yacc-lib.smi \ src/smlformat/generator/main/ASTUTIL.sig \ src/smlformat/generator/main/AstUtil.smi \ src/smlformat/generator/main/ml.grm.sig \ src/smlformat/generator/main/ml.grm.smi \ src/smlformat/generator/main/TokenTable.smi \ src/smlformat/generator/main/ml.lex.smi \ src/smlformat/generator/main/MLPARSER.sig \ src/smlformat/generator/main/MLParser.smi \ src/smlformat/generator/main/BasicFormattersEnv.smi \ src/smlformat/generator/main/PPGMain.smi \ src/smlformat/generator/main/Main.smi \ src/smlformat/generator/main/call-main.smi \ $(SMLSHARP_DEP) src/smlformat/generator/main/ml.grm.sml src/smlformat/generator/main/ml.grm.sig: src/smlformat/generator/main/ml.grm $(MLYACC_DEP) src/smlformat/generator/main/ml.grm.o: src/smlformat/generator/main/ml.grm.sml \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/Array.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/Word.smi src/basis/main/Word8.smi \ src/basis/main/SMLSharpRuntime.smi src/basis/main/IEEE_REAL.sig \ src/basis/main/IEEEReal.smi src/basis/main/RealClass.smi \ src/basis/main/Substring.smi src/basis/main/MATH.sig src/basis/main/Real.smi \ src/basis/main/Real32.smi src/basis/main/binary-op.smi \ src/ml-yacc/lib/base.sig src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/Word8Vector.smi \ src/basis/main/Word8VectorSlice.smi src/basis/main/BOOL.sig \ src/basis/main/Bool.smi src/basis/main/IO.sig src/basis/main/IO.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/smlnj/Basis/IO/prim-io-bin.smi src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig src/basis.smi \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/lib/stream.smi \ src/ml-yacc/lib/parser2.smi src/ml-yacc-lib.smi \ src/smlformat/generator/main/FormatTemplate.smi \ src/smlformat/generator/main/AST.sig src/smlformat/generator/main/Ast.smi \ src/smlformat/generator/main/ASTUTIL.sig \ src/smlformat/generator/main/AstUtil.smi \ src/smlformat/generator/main/ml.grm.sig \ src/smlformat/generator/main/ml.grm.smi \ $(SMLSHARP_DEP) src/smlformat/generator/main/ml.lex.sml: src/smlformat/generator/main/ml.lex $(MLLEX_DEP) src/smlformat/generator/main/ml.lex.o: src/smlformat/generator/main/ml.lex.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/ml-yacc/lib/base.sig \ src/ml-yacc/lib/lrtable.smi src/ml-yacc/lib/stream.smi \ src/ml-yacc/lib/parser2.smi src/ml-yacc-lib.smi \ src/smlformat/generator/main/FormatTemplate.smi \ src/smlformat/generator/main/ml.grm.sig src/smlformat/generator/main/AST.sig \ src/smlformat/generator/main/Ast.smi \ src/smlformat/generator/main/ASTUTIL.sig \ src/smlformat/generator/main/AstUtil.smi \ src/smlformat/generator/main/ml.grm.smi \ src/smlformat/generator/main/TokenTable.smi \ src/smlformat/generator/main/ml.lex.smi \ $(SMLSHARP_DEP) src/smlnj-lib/Util/binary-map-fn.o: src/smlnj-lib/Util/binary-map-fn.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi src/basis/main/Word.smi \ src/basis/main/Word8.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/binary-op.smi src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml src/smlnj-lib/Util/binary-map-fn.smi \ $(SMLSHARP_DEP) src/smlnj-lib/Util/binary-set-fn.o: src/smlnj-lib/Util/binary-set-fn.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi src/basis/main/Word.smi \ src/basis/main/Word8.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/binary-op.smi src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.smi src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-set-sig.sml src/smlnj-lib/Util/binary-set-fn.smi \ $(SMLSHARP_DEP) src/smlnj-lib/Util/lib-base.o: src/smlnj-lib/Util/lib-base.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ $(SMLSHARP_DEP) src/smlnj-lib/Util/parser-comb.o: src/smlnj-lib/Util/parser-comb.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/Substring.smi src/basis/main/IntInf.smi \ src/basis/main/Int.smi src/basis/main/Word.smi src/basis/main/Word8.smi \ src/basis/main/SMLSharpRuntime.smi src/basis/main/IEEE_REAL.sig \ src/basis/main/IEEEReal.smi src/basis/main/RealClass.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/binary-op.smi src/smlnj-lib/Util/parser-comb-sig.sml \ src/smlnj-lib/Util/parser-comb.smi \ $(SMLSHARP_DEP) src/smlnj/Basis/IO/bin-io.o: src/smlnj/Basis/IO/bin-io.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi src/basis/main/Word.smi \ src/basis/main/Word8.smi src/basis/main/Word8Vector.smi \ src/basis/main/Word8VectorSlice.smi src/basis/main/Word8Array.smi \ src/basis/main/IO.sig src/basis/main/IO.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/smlnj/Basis/IO/clean-io.smi \ src/basis/main/SMLSharpRuntime.smi src/basis/main/IEEE_REAL.sig \ src/basis/main/IEEEReal.smi src/basis/main/RealClass.smi \ src/basis/main/Substring.smi src/basis/main/MATH.sig src/basis/main/Real.smi \ src/basis/main/Real32.smi src/basis/main/TIME.sig src/basis/main/Time.smi \ src/basis/main/Byte.smi src/basis/main/SMLSharpOSFileSys.smi \ src/basis/main/OS_PROCESS.sig src/basis/main/SMLSharpOSProcess.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/smlnj/Basis/IO/prim-io-bin.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ $(SMLSHARP_DEP) src/smlnj/Basis/IO/clean-io.o: src/smlnj/Basis/IO/clean-io.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/smlnj/Basis/IO/clean-io.smi \ $(SMLSHARP_DEP) src/smlnj/Basis/IO/prim-io-bin.o: src/smlnj/Basis/IO/prim-io-bin.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/SMLSharpRuntime.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/BOOL.sig \ src/basis/main/Bool.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/PRIM_IO.sig src/basis/main/Word8.smi \ src/smlnj/Basis/IO/prim-io-bin.smi \ $(SMLSHARP_DEP) src/smlnj/Basis/IO/prim-io-text.o: src/smlnj/Basis/IO/prim-io-text.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/SMLSharpRuntime.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/BOOL.sig \ src/basis/main/Bool.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ $(SMLSHARP_DEP) src/smlnj/Basis/IO/text-io.o: src/smlnj/Basis/IO/text-io.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/CharArray.smi \ src/basis/main/Substring.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/MATH.sig src/basis/main/Real.smi \ src/basis/main/Real32.smi src/basis/main/TIME.sig src/basis/main/Time.smi \ src/basis/main/Word.smi src/basis/main/Word8Vector.smi \ src/basis/main/Word8VectorSlice.smi src/basis/main/Word8Array.smi \ src/basis/main/Byte.smi src/basis/main/SMLSharpOSFileSys.smi \ src/smlnj/Basis/NJ/cleanup.sig src/smlnj/Basis/NJ/cleanup.smi \ src/basis/main/OS_PROCESS.sig src/basis/main/SMLSharpOSProcess.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/smlnj/Basis/IO/prim-io-text.smi src/smlnj/Basis/IO/clean-io.smi \ src/smlnj/Basis/IO/os-prim-io.sig src/basis/main/Word8.smi \ src/smlnj/Basis/IO/prim-io-bin.smi src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ $(SMLSHARP_DEP) src/smlnj/Basis/NJ/cleanup.o: src/smlnj/Basis/NJ/cleanup.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi \ $(SMLSHARP_DEP) src/smlnj/Basis/OS/os-path-fn.o: src/smlnj/Basis/OS/os-path-fn.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi src/basis/main/BOOL.sig \ src/basis/main/Bool.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/CharVector.smi \ src/basis/main/StringBase.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/Substring.smi \ src/basis/main/OS_PATH.sig src/smlnj/Basis/OS/os-path-fn.smi \ $(SMLSHARP_DEP) src/smlnj/Basis/Posix/posix-io.o: src/smlnj/Basis/Posix/posix-io.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/Word.smi src/basis/main/CharArray.smi \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/Word8Array.smi src/basis/main/Substring.smi \ src/basis/main/Byte.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/MATH.sig src/basis/main/Real.smi \ src/basis/main/Real32.smi src/basis/main/TIME.sig src/basis/main/Time.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/BOOL.sig \ src/basis/main/Bool.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/IO/prim-io-text.smi src/smlnj/Basis/Posix/posix-io.smi \ $(SMLSHARP_DEP) src/smlnj/Basis/Unix/os-filesys.o: src/smlnj/Basis/Unix/os-filesys.sml \ src/basis/main/SMLSharpRuntime.smi src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/basis/main/BOOL.sig \ src/basis/main/Bool.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi \ $(SMLSHARP_DEP) src/smlnj/Basis/Unix/os-io.o: src/smlnj/Basis/Unix/os-io.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi src/basis/main/Word.smi \ src/basis/main/SMLSharpRuntime.smi src/basis/main/IEEE_REAL.sig \ src/basis/main/IEEEReal.smi src/basis/main/RealClass.smi \ src/basis/main/Substring.smi src/basis/main/MATH.sig src/basis/main/Real.smi \ src/basis/main/Real32.smi src/basis/main/TIME.sig src/basis/main/Time.smi \ src/basis/main/LIST_PAIR.sig src/basis/main/ListPair.smi \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi \ $(SMLSHARP_DEP) src/smlnj/Basis/Unix/os-path.o: src/smlnj/Basis/Unix/os-path.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi src/basis/main/BOOL.sig \ src/basis/main/Bool.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/CharVector.smi \ src/basis/main/StringBase.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/Substring.smi \ src/basis/main/OS_PATH.sig src/smlnj/Basis/OS/os-path-fn.smi \ src/smlnj/Basis/Unix/os-path.smi \ $(SMLSHARP_DEP) src/smlnj/Basis/Unix/posix-bin-prim-io.o: \ src/smlnj/Basis/Unix/posix-bin-prim-io.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/SMLSharpRuntime.smi src/basis/main/IEEE_REAL.sig \ src/basis/main/IEEEReal.smi src/basis/main/RealClass.smi \ src/basis/main/Substring.smi src/basis/main/MATH.sig src/basis/main/Real.smi \ src/basis/main/Real32.smi src/basis/main/TIME.sig src/basis/main/Time.smi \ src/basis/main/Word.smi src/basis/main/Word8Vector.smi \ src/basis/main/Word8VectorSlice.smi src/basis/main/Word8Array.smi \ src/basis/main/Byte.smi src/basis/main/SMLSharpOSFileSys.smi \ src/smlnj/Basis/NJ/cleanup.sig src/smlnj/Basis/NJ/cleanup.smi \ src/basis/main/OS_PROCESS.sig src/basis/main/SMLSharpOSProcess.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/PRIM_IO.sig src/basis/main/Word8.smi \ src/smlnj/Basis/IO/prim-io-bin.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi \ $(SMLSHARP_DEP) src/smlnj/Basis/Unix/posix-text-prim-io.o: \ src/smlnj/Basis/Unix/posix-text-prim-io.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/SMLSharpRuntime.smi src/basis/main/IEEE_REAL.sig \ src/basis/main/IEEEReal.smi src/basis/main/RealClass.smi \ src/basis/main/Substring.smi src/basis/main/MATH.sig src/basis/main/Real.smi \ src/basis/main/Real32.smi src/basis/main/TIME.sig src/basis/main/Time.smi \ src/basis/main/Word.smi src/basis/main/Word8Vector.smi \ src/basis/main/Word8VectorSlice.smi src/basis/main/Word8Array.smi \ src/basis/main/Byte.smi src/basis/main/SMLSharpOSFileSys.smi \ src/basis/main/IO.sig src/basis/main/IO.smi src/basis/main/CharArray.smi \ src/smlnj/Basis/NJ/cleanup.sig src/smlnj/Basis/NJ/cleanup.smi \ src/basis/main/OS_PROCESS.sig src/basis/main/SMLSharpOSProcess.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/smlnj/Basis/IO/os-prim-io.sig src/smlnj/Basis/IO/prim-io-text.smi \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi \ $(SMLSHARP_DEP) src/smlnj/Basis/internal-timer.o: src/smlnj/Basis/internal-timer.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/STRING_CVT.sig src/basis/main/StringCvt.smi \ src/basis/main/SMLSharpRuntime.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/SMLSharpScanChar.smi src/basis/main/CHAR.sig \ src/basis/main/Char.smi src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_VECTOR.sig src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR_SLICE.sig src/basis/main/STRING.sig \ src/basis/main/SUBSTRING.sig src/basis/main/StringBase.smi \ src/basis/main/CharVector.smi src/basis/main/CharVectorSlice.smi \ src/basis/main/String.smi src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi \ $(SMLSHARP_DEP) src/sql/main/Backend.o: src/sql/main/Backend.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/config/main/Version.smi src/compiler/toolchain/main/Filename.smi \ src/config/main/Config.smi src/ffi/main/DynamicLink.smi \ src/ffi/main/Pointer.smi src/ffi.smi src/sql/main/PGSQL.smi \ src/sql/main/SQLBACKEND.sig src/sql/main/PGSQLBackend.smi \ src/sql/main/Backend.smi \ $(SMLSHARP_DEP) src/sql/main/PGSQL.o: src/sql/main/PGSQL.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/config/main/Version.smi src/compiler/toolchain/main/Filename.smi \ src/config/main/Config.smi src/ffi/main/DynamicLink.smi \ src/ffi/main/Pointer.smi src/ffi.smi src/sql/main/PGSQL.smi \ $(SMLSHARP_DEP) src/sql/main/PGSQLBackend.o: src/sql/main/PGSQLBackend.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/config/main/Version.smi src/compiler/toolchain/main/Filename.smi \ src/config/main/Config.smi src/ffi/main/DynamicLink.smi \ src/ffi/main/Pointer.smi src/ffi.smi src/sql/main/PGSQL.smi \ src/sql/main/SQLBACKEND.sig src/sql/main/PGSQLBackend.smi \ $(SMLSHARP_DEP) src/sql/main/SQL.o: src/sql/main/SQL.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/config/main/Version.smi src/compiler/toolchain/main/Filename.smi \ src/config/main/Config.smi src/ffi/main/DynamicLink.smi \ src/ffi/main/Pointer.smi src/ffi.smi src/sql/main/PGSQL.smi \ src/sql/main/SQLBACKEND.sig src/sql/main/PGSQLBackend.smi \ src/sql/main/Backend.smi src/sql/main/SQLPrim.smi src/sql/main/SQLUtils.smi \ src/sql/main/SQL.smi \ $(SMLSHARP_DEP) src/sql/main/SQLPrim.o: src/sql/main/SQLPrim.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/config/main/Version.smi src/compiler/toolchain/main/Filename.smi \ src/config/main/Config.smi src/ffi/main/DynamicLink.smi \ src/ffi/main/Pointer.smi src/ffi.smi src/sql/main/PGSQL.smi \ src/sql/main/SQLBACKEND.sig src/sql/main/PGSQLBackend.smi \ src/sql/main/Backend.smi src/sql/main/SQLPrim.smi \ $(SMLSHARP_DEP) src/sql/main/SQLUtils.o: src/sql/main/SQLUtils.sml src/basis/main/GENERAL.sig \ src/basis/main/General.smi src/basis/main/OPTION.sig \ src/basis/main/Option.smi src/basis/main/LIST.sig src/basis/main/List.smi \ src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi \ src/smlnj-lib/Util/lib-base-sig.sml src/smlnj-lib/Util/lib-base.smi \ src/compiler-utils/env/main/ENV.sig src/compiler-utils/env/main/SEnv.smi \ src/config/main/Version.smi src/compiler/toolchain/main/Filename.smi \ src/config/main/Config.smi src/ffi/main/DynamicLink.smi \ src/ffi/main/Pointer.smi src/ffi.smi src/sql/main/PGSQL.smi \ src/sql/main/SQLBACKEND.sig src/sql/main/PGSQLBackend.smi \ src/sql/main/Backend.smi src/sql/main/SQLPrim.smi src/sql/main/SQLUtils.smi \ $(SMLSHARP_DEP) src/unix-utils/main/UnixUtils.o: src/unix-utils/main/UnixUtils.sml \ src/basis/main/GENERAL.sig src/basis/main/General.smi \ src/basis/main/OPTION.sig src/basis/main/Option.smi src/basis/main/LIST.sig \ src/basis/main/List.smi src/basis/main/Array.smi src/basis/main/Vector.smi \ src/basis/main/VectorSlice.smi src/basis/main/STRING_CVT.sig \ src/basis/main/StringCvt.smi src/basis/main/SMLSharpScanChar.smi \ src/basis/main/CHAR.sig src/basis/main/Char.smi \ src/basis/main/MONO_ARRAY.sig src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY_SLICE.sig src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/STRING.sig src/basis/main/SUBSTRING.sig \ src/basis/main/Word8Vector.smi src/basis/main/Word8VectorSlice.smi \ src/basis/main/BOOL.sig src/basis/main/Bool.smi src/basis/main/IO.sig \ src/basis/main/IO.smi src/basis/main/SMLSharpRuntime.smi \ src/basis/main/StringBase.smi src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.smi src/basis/main/String.smi \ src/basis/main/IntInf.smi src/basis/main/Int.smi \ src/basis/main/IEEE_REAL.sig src/basis/main/IEEEReal.smi \ src/basis/main/RealClass.smi src/basis/main/Substring.smi \ src/basis/main/MATH.sig src/basis/main/Real.smi src/basis/main/Real32.smi \ src/basis/main/TIME.sig src/basis/main/Time.smi src/basis/main/Word.smi \ src/basis/main/Word8Array.smi src/basis/main/Byte.smi \ src/basis/main/SMLSharpOSFileSys.smi src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi src/basis/main/OS_PROCESS.sig \ src/basis/main/SMLSharpOSProcess.smi src/basis/main/OS_PATH.sig \ src/smlnj/Basis/OS/os-path-fn.smi src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/os-filesys.smi src/basis/main/LIST_PAIR.sig \ src/basis/main/ListPair.smi src/basis/main/OS_IO.sig \ src/smlnj/Basis/Unix/os-io.smi src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS.sig src/basis/main/OS.smi src/basis/main/PRIM_IO.sig \ src/basis/main/CharArray.smi src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/clean-io.smi src/smlnj/Basis/IO/os-prim-io.sig \ src/basis/main/Word8.smi src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.smi src/smlnj/Basis/IO/text-io.smi \ src/basis/main/STREAM_IO.sig src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TEXT_IO.sig src/basis/main/TextIO.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi src/smlnj/Basis/IO/bin-io.smi \ src/basis/main/IMPERATIVE_IO.sig src/basis/main/BIN_IO.sig \ src/basis/main/BinIO.smi src/basis/main/TEXT.sig src/basis/main/Text.smi \ src/basis/main/COMMAND_LINE.sig src/basis/main/CommandLine.smi \ src/basis/main/ArraySlice.smi src/basis/main/TIMER.sig \ src/smlnj/Basis/internal-timer.smi src/basis/main/Timer.smi \ src/basis/main/DATE.sig src/basis/main/Date.smi src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig src/basis/main/BYTE.sig \ src/basis/main/INTEGER.sig src/basis/main/INT_INF.sig \ src/basis/main/REAL.sig src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig src/basis/main/WORD.sig \ src/basis/main/binary-op.smi src/basis.smi src/unix-utils/main/UnixUtils.smi \ $(SMLSHARP_DEP) src/runtime/heap_cheney.o: src/runtime/heap_cheney.c src/runtime/smlsharp.h \ src/runtime/object.h src/runtime/objspace.h src/runtime/heap.h src/runtime/heap_bitmap.o: src/runtime/heap_bitmap.c config.h src/runtime/smlsharp.h \ src/runtime/object.h src/runtime/objspace.h src/runtime/heap.h src/runtime/heap_otomo.o: src/runtime/heap_otomo.c src/runtime/smlsharp.h \ src/runtime/object.h src/runtime/objspace.h src/runtime/heap.h \ src/runtime/heap_otomo.h src/runtime/heap_reppy.o: src/runtime/heap_reppy.c src/runtime/smlsharp.h \ src/runtime/object.h src/runtime/objspace.h src/runtime/heap.h src/runtime/heap_malloc.o: src/runtime/heap_malloc.c src/runtime/smlsharp.h \ src/runtime/objspace.h src/runtime/heap.h src/runtime/netlib/dtoa.o: src/runtime/netlib/dtoa.c src/runtime/control.o: src/runtime/control.c src/runtime/smlsharp.h \ src/runtime/object.h src/runtime/frame.h src/runtime/objspace.h \ src/runtime/heap.h src/runtime/control.h src/runtime/error.o: src/runtime/error.c src/runtime/smlsharp.h src/runtime/exn.o: src/runtime/exn.c src/runtime/smlsharp.h src/runtime/object.h src/runtime/init.o: src/runtime/init.c src/runtime/smlsharp.h src/runtime/objspace.h \ src/runtime/control.h src/runtime/heap.h src/runtime/object.o: src/runtime/object.c src/runtime/smlsharp.h \ src/runtime/intinf.h \ src/runtime/object.h src/runtime/objspace.h src/runtime/heap.h src/runtime/objspace.o: src/runtime/objspace.c src/runtime/smlsharp.h \ src/runtime/object.h src/runtime/control.h src/runtime/objspace.h \ src/runtime/splay.h src/runtime/obstack.o: src/runtime/obstack.c src/runtime/smlsharp.h src/runtime/prim.o: src/runtime/prim.c config.h src/runtime/smlsharp.h \ src/runtime/intinf.h \ src/runtime/object.h src/runtime/prim.h src/runtime/splay.o: src/runtime/splay.c src/runtime/smlsharp.h src/runtime/splay.h smlsharp-1.2.0/fastbuild.mk0000644 000000000000000000000305312050661606016012 0ustar00rootroot0000000 0000000 FASTBUILD_FUNCS = \ check () { \ echo "checking for fast build on $$1 ..." 1>&2; \ $(SMLSHARP) -Bsrc -nostdpath -fprint-main-ids "$$1" \ | sed 's/\.smi$$/.sml/' > fastbuild1.tmp; \ $(SMLSHARP) -Bsrc --sha1 `cut -d\ -f2 fastbuild1.tmp` \ | awk 'BEGIN{while((getline < "fastbuild1.tmp"))h[$$2]=$$1} \ {printf "%s:%s %s\n",h[$$2],$$1,$$2}' \ > fastbuild2.tmp; \ trap "rm -f fastbuild1.tmp fastbuild2.tmp" EXIT; \ }; \ compile () { \ asm="$$1"; \ sum="$$2"; \ sml="$$3"; \ smi=`echo "$$sml" | sed 's,\.sml$$,.smi,'`; \ obj=`echo "$$sml" | sed 's,\.sml$$,.o,'`; \ test -f "$$obj" && return; \ test "x$$sum" = "x`grep "$$sml" fastbuild2.tmp | cut -d\ -f1`" || return; \ echo $(CC) -c -o "$$obj" "precompiled/$(NATIVE_TARGET)/$$asm"; \ $(CC) -c -o "$$obj" "precompiled/$(NATIVE_TARGET)/$$asm"; \ return; \ } # reproduce text to normalize line break characters. # this is an workaround for mingw. NORMALIZE_CRLF = \ normalize () { \ tmp=fastbuild3.tmp; \ for i; do sed -n p "$$i" > "$$tmp" && cp "$$tmp" "$$i"; done; \ rm -f "$$tmp"; \ }; normalize fast-all: $(SMLSHARP_DEP) $(FASTBUILD_FUNCS); set +e; . precompiled/fastbuild1; : $(MAKE) sources case '$(host_os)' in *mingw*) \ $(NORMALIZE_CRLF) \ `for i in $(GEN_SOURCES); do \ case "$$i" in src/compiler/*) echo "$$i";; esac; \ done`;; esac $(FASTBUILD_FUNCS); set +e; . precompiled/fastbuild2; : -awk 'BEGIN{print "/^include.*fastbuild.mk$$/s/^/\043/\nw\nq"}' | ed Makefile > /dev/null $(MAKE) all smlsharp-1.2.0/files.mk0000644 000000000000000000043565212050661606015155 0ustar00rootroot0000000 0000000 # auto-generated by mkdepend. DO NOT EDIT BY HAND. BASIS_LIB_OBJECTS = src/basis/main/General.o \ src/basis/main/Option.o \ src/basis/main/List.o \ src/basis/main/Array.o \ src/basis/main/Vector.o \ src/basis/main/VectorSlice.o \ src/basis/main/StringCvt.o \ src/basis/main/SMLSharpScanChar.o \ src/basis/main/Char.o \ src/basis/main/Word8Vector.o \ src/basis/main/Word8VectorSlice.o \ src/basis/main/Bool.o \ src/basis/main/IO.o \ src/basis/main/SMLSharpRuntime.o \ src/basis/main/StringBase.o \ src/basis/main/CharVector.o \ src/basis/main/CharVectorSlice.o \ src/basis/main/String.o \ src/basis/main/IntInf.o \ src/basis/main/Int.o \ src/basis/main/IEEEReal.o \ src/basis/main/RealClass.o \ src/basis/main/Substring.o \ src/basis/main/Real.o \ src/basis/main/Real32.o \ src/basis/main/Time.o \ src/basis/main/Word.o \ src/basis/main/Word8Array.o \ src/basis/main/Byte.o \ src/basis/main/SMLSharpOSFileSys.o \ src/smlnj/Basis/NJ/cleanup.o \ src/basis/main/SMLSharpOSProcess.o \ src/smlnj/Basis/OS/os-path-fn.o \ src/smlnj/Basis/Unix/os-path.o \ src/smlnj/Basis/Unix/os-filesys.o \ src/basis/main/ListPair.o \ src/smlnj/Basis/Unix/os-io.o \ src/basis/main/OS.o \ src/basis/main/CharArray.o \ src/smlnj/Basis/IO/prim-io-text.o \ src/smlnj/Basis/IO/clean-io.o \ src/basis/main/Word8.o \ src/smlnj/Basis/IO/prim-io-bin.o \ src/smlnj/Basis/Posix/posix-io.o \ src/smlnj/Basis/Unix/posix-text-prim-io.o \ src/smlnj/Basis/IO/text-io.o \ src/basis/main/TextIO.o \ src/smlnj/Basis/Unix/posix-bin-prim-io.o \ src/smlnj/Basis/IO/bin-io.o \ src/basis/main/BinIO.o \ src/basis/main/Text.o \ src/basis/main/CommandLine.o \ src/basis/main/ArraySlice.o \ src/smlnj/Basis/internal-timer.o \ src/basis/main/Timer.o \ src/basis/main/Date.o \ src/basis/main/binary-op.o BASIS_LIB_SOURCES = \ src/basis/main/binary-op.sml \ src/basis/main/WORD.sig \ src/basis/main/VECTOR_SLICE.sig \ src/basis/main/VECTOR.sig \ src/basis/main/REAL.sig \ src/basis/main/INT_INF.sig \ src/basis/main/INTEGER.sig \ src/basis/main/BYTE.sig \ src/basis/main/ARRAY_SLICE.sig \ src/basis/main/ARRAY.sig \ src/basis/main/Date.sml \ src/basis/main/DATE.sig \ src/basis/main/Timer.sml \ src/smlnj/Basis/internal-timer.sml \ src/basis/main/TIMER.sig \ src/basis/main/ArraySlice.sml \ src/basis/main/CommandLine.sml \ src/basis/main/COMMAND_LINE.sig \ src/basis/main/Text.sml \ src/basis/main/TEXT.sig \ src/basis/main/BinIO.sml \ src/basis/main/BIN_IO.sig \ src/basis/main/IMPERATIVE_IO.sig \ src/smlnj/Basis/IO/bin-io.sml \ src/smlnj/Basis/Unix/posix-bin-prim-io.sml \ src/basis/main/TextIO.sml \ src/basis/main/TEXT_IO.sig \ src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/STREAM_IO.sig \ src/smlnj/Basis/IO/text-io.sml \ src/smlnj/Basis/Unix/posix-text-prim-io.sml \ src/smlnj/Basis/Posix/posix-io.sml \ src/smlnj/Basis/IO/prim-io-bin.sml \ src/basis/main/Word8.sml \ src/smlnj/Basis/IO/os-prim-io.sig \ src/smlnj/Basis/IO/clean-io.sml \ src/smlnj/Basis/IO/prim-io-text.sml \ src/basis/main/CharArray.sml \ src/basis/main/PRIM_IO.sig \ src/basis/main/OS.sml \ src/basis/main/OS.sig \ src/basis/main/OS_FILE_SYS.sig \ src/smlnj/Basis/Unix/os-io.sml \ src/basis/main/OS_IO.sig \ src/basis/main/ListPair.sml \ src/basis/main/LIST_PAIR.sig \ src/smlnj/Basis/Unix/os-filesys.sml \ src/smlnj/Basis/Unix/os-path.sml \ src/smlnj/Basis/OS/os-path-fn.sml \ src/basis/main/OS_PATH.sig \ src/basis/main/SMLSharpOSProcess.sml \ src/basis/main/OS_PROCESS.sig \ src/smlnj/Basis/NJ/cleanup.sml \ src/smlnj/Basis/NJ/cleanup.sig \ src/basis/main/SMLSharpOSFileSys.sml \ src/basis/main/Byte.sml \ src/basis/main/Word8Array.sml \ src/basis/main/Word.sml \ src/basis/main/Time.sml \ src/basis/main/TIME.sig \ src/basis/main/Real32.sml \ src/basis/main/Real.sml \ src/basis/main/MATH.sig \ src/basis/main/Substring.sml \ src/basis/main/RealClass.sml \ src/basis/main/IEEEReal.sml \ src/basis/main/IEEE_REAL.sig \ src/basis/main/Int.sml \ src/basis/main/IntInf.sml \ src/basis/main/String.sml \ src/basis/main/CharVectorSlice.sml \ src/basis/main/CharVector.sml \ src/basis/main/StringBase.sml \ src/basis/main/SMLSharpRuntime.sml \ src/basis/main/IO.sml \ src/basis/main/IO.sig \ src/basis/main/Bool.sml \ src/basis/main/BOOL.sig \ src/basis/main/Word8VectorSlice.sml \ src/basis/main/Word8Vector.sml \ src/basis/main/SUBSTRING.sig \ src/basis/main/STRING.sig \ src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY.sig \ src/basis/main/Char.sml \ src/basis/main/CHAR.sig \ src/basis/main/SMLSharpScanChar.sml \ src/basis/main/StringCvt.sml \ src/basis/main/STRING_CVT.sig \ src/basis/main/VectorSlice.sml \ src/basis/main/Vector.sml \ src/basis/main/Array.sml \ src/basis/main/List.sml \ src/basis/main/LIST.sig \ src/basis/main/Option.sml \ src/basis/main/OPTION.sig \ src/basis/main/General.sml \ src/basis/main/GENERAL.sig MLLEX_OBJECTS = src/basis/main/General.o \ src/basis/main/Option.o \ src/basis/main/List.o \ src/basis/main/Array.o \ src/basis/main/Vector.o \ src/basis/main/VectorSlice.o \ src/basis/main/StringCvt.o \ src/basis/main/SMLSharpScanChar.o \ src/basis/main/Char.o \ src/basis/main/Word8Vector.o \ src/basis/main/Word8VectorSlice.o \ src/basis/main/Bool.o \ src/basis/main/IO.o \ src/basis/main/SMLSharpRuntime.o \ src/basis/main/StringBase.o \ src/basis/main/CharVector.o \ src/basis/main/CharVectorSlice.o \ src/basis/main/String.o \ src/basis/main/IntInf.o \ src/basis/main/Int.o \ src/basis/main/IEEEReal.o \ src/basis/main/RealClass.o \ src/basis/main/Substring.o \ src/basis/main/Real.o \ src/basis/main/Real32.o \ src/basis/main/Time.o \ src/basis/main/Word.o \ src/basis/main/Word8Array.o \ src/basis/main/Byte.o \ src/basis/main/SMLSharpOSFileSys.o \ src/smlnj/Basis/NJ/cleanup.o \ src/basis/main/SMLSharpOSProcess.o \ src/smlnj/Basis/OS/os-path-fn.o \ src/smlnj/Basis/Unix/os-path.o \ src/smlnj/Basis/Unix/os-filesys.o \ src/basis/main/ListPair.o \ src/smlnj/Basis/Unix/os-io.o \ src/basis/main/OS.o \ src/basis/main/CharArray.o \ src/smlnj/Basis/IO/prim-io-text.o \ src/smlnj/Basis/IO/clean-io.o \ src/basis/main/Word8.o \ src/smlnj/Basis/IO/prim-io-bin.o \ src/smlnj/Basis/Posix/posix-io.o \ src/smlnj/Basis/Unix/posix-text-prim-io.o \ src/smlnj/Basis/IO/text-io.o \ src/basis/main/TextIO.o \ src/smlnj/Basis/Unix/posix-bin-prim-io.o \ src/smlnj/Basis/IO/bin-io.o \ src/basis/main/BinIO.o \ src/basis/main/Text.o \ src/basis/main/CommandLine.o \ src/basis/main/ArraySlice.o \ src/smlnj/Basis/internal-timer.o \ src/basis/main/Timer.o \ src/basis/main/Date.o \ src/basis/main/binary-op.o \ src/ml-lex/lexgen.o \ src/ml-lex/export-lex.o \ src/ml-lex/ml-lex.o MLLEX_SOURCES = \ src/ml-lex/ml-lex.sml \ src/ml-lex/export-lex.sml \ src/ml-lex/lexgen.sml \ src/basis/main/binary-op.sml \ src/basis/main/WORD.sig \ src/basis/main/VECTOR_SLICE.sig \ src/basis/main/VECTOR.sig \ src/basis/main/REAL.sig \ src/basis/main/INT_INF.sig \ src/basis/main/INTEGER.sig \ src/basis/main/BYTE.sig \ src/basis/main/ARRAY_SLICE.sig \ src/basis/main/ARRAY.sig \ src/basis/main/Date.sml \ src/basis/main/DATE.sig \ src/basis/main/Timer.sml \ src/smlnj/Basis/internal-timer.sml \ src/basis/main/TIMER.sig \ src/basis/main/ArraySlice.sml \ src/basis/main/CommandLine.sml \ src/basis/main/COMMAND_LINE.sig \ src/basis/main/Text.sml \ src/basis/main/TEXT.sig \ src/basis/main/BinIO.sml \ src/basis/main/BIN_IO.sig \ src/basis/main/IMPERATIVE_IO.sig \ src/smlnj/Basis/IO/bin-io.sml \ src/smlnj/Basis/Unix/posix-bin-prim-io.sml \ src/basis/main/TextIO.sml \ src/basis/main/TEXT_IO.sig \ src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/STREAM_IO.sig \ src/smlnj/Basis/IO/text-io.sml \ src/smlnj/Basis/Unix/posix-text-prim-io.sml \ src/smlnj/Basis/Posix/posix-io.sml \ src/smlnj/Basis/IO/prim-io-bin.sml \ src/basis/main/Word8.sml \ src/smlnj/Basis/IO/os-prim-io.sig \ src/smlnj/Basis/IO/clean-io.sml \ src/smlnj/Basis/IO/prim-io-text.sml \ src/basis/main/CharArray.sml \ src/basis/main/PRIM_IO.sig \ src/basis/main/OS.sml \ src/basis/main/OS.sig \ src/basis/main/OS_FILE_SYS.sig \ src/smlnj/Basis/Unix/os-io.sml \ src/basis/main/OS_IO.sig \ src/basis/main/ListPair.sml \ src/basis/main/LIST_PAIR.sig \ src/smlnj/Basis/Unix/os-filesys.sml \ src/smlnj/Basis/Unix/os-path.sml \ src/smlnj/Basis/OS/os-path-fn.sml \ src/basis/main/OS_PATH.sig \ src/basis/main/SMLSharpOSProcess.sml \ src/basis/main/OS_PROCESS.sig \ src/smlnj/Basis/NJ/cleanup.sml \ src/smlnj/Basis/NJ/cleanup.sig \ src/basis/main/SMLSharpOSFileSys.sml \ src/basis/main/Byte.sml \ src/basis/main/Word8Array.sml \ src/basis/main/Word.sml \ src/basis/main/Time.sml \ src/basis/main/TIME.sig \ src/basis/main/Real32.sml \ src/basis/main/Real.sml \ src/basis/main/MATH.sig \ src/basis/main/Substring.sml \ src/basis/main/RealClass.sml \ src/basis/main/IEEEReal.sml \ src/basis/main/IEEE_REAL.sig \ src/basis/main/Int.sml \ src/basis/main/IntInf.sml \ src/basis/main/String.sml \ src/basis/main/CharVectorSlice.sml \ src/basis/main/CharVector.sml \ src/basis/main/StringBase.sml \ src/basis/main/SMLSharpRuntime.sml \ src/basis/main/IO.sml \ src/basis/main/IO.sig \ src/basis/main/Bool.sml \ src/basis/main/BOOL.sig \ src/basis/main/Word8VectorSlice.sml \ src/basis/main/Word8Vector.sml \ src/basis/main/SUBSTRING.sig \ src/basis/main/STRING.sig \ src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY.sig \ src/basis/main/Char.sml \ src/basis/main/CHAR.sig \ src/basis/main/SMLSharpScanChar.sml \ src/basis/main/StringCvt.sml \ src/basis/main/STRING_CVT.sig \ src/basis/main/VectorSlice.sml \ src/basis/main/Vector.sml \ src/basis/main/Array.sml \ src/basis/main/List.sml \ src/basis/main/LIST.sig \ src/basis/main/Option.sml \ src/basis/main/OPTION.sig \ src/basis/main/General.sml \ src/basis/main/GENERAL.sig MLYACC_LIB_OBJECTS = src/basis/main/General.o \ src/basis/main/Option.o \ src/basis/main/List.o \ src/basis/main/Array.o \ src/basis/main/Vector.o \ src/basis/main/VectorSlice.o \ src/basis/main/StringCvt.o \ src/basis/main/SMLSharpScanChar.o \ src/basis/main/Char.o \ src/basis/main/Word8Vector.o \ src/basis/main/Word8VectorSlice.o \ src/basis/main/Bool.o \ src/basis/main/IO.o \ src/basis/main/SMLSharpRuntime.o \ src/basis/main/StringBase.o \ src/basis/main/CharVector.o \ src/basis/main/CharVectorSlice.o \ src/basis/main/String.o \ src/basis/main/IntInf.o \ src/basis/main/Int.o \ src/basis/main/IEEEReal.o \ src/basis/main/RealClass.o \ src/basis/main/Substring.o \ src/basis/main/Real.o \ src/basis/main/Real32.o \ src/basis/main/Time.o \ src/basis/main/Word.o \ src/basis/main/Word8Array.o \ src/basis/main/Byte.o \ src/basis/main/SMLSharpOSFileSys.o \ src/smlnj/Basis/NJ/cleanup.o \ src/basis/main/SMLSharpOSProcess.o \ src/smlnj/Basis/OS/os-path-fn.o \ src/smlnj/Basis/Unix/os-path.o \ src/smlnj/Basis/Unix/os-filesys.o \ src/basis/main/ListPair.o \ src/smlnj/Basis/Unix/os-io.o \ src/basis/main/OS.o \ src/basis/main/CharArray.o \ src/smlnj/Basis/IO/prim-io-text.o \ src/smlnj/Basis/IO/clean-io.o \ src/basis/main/Word8.o \ src/smlnj/Basis/IO/prim-io-bin.o \ src/smlnj/Basis/Posix/posix-io.o \ src/smlnj/Basis/Unix/posix-text-prim-io.o \ src/smlnj/Basis/IO/text-io.o \ src/basis/main/TextIO.o \ src/smlnj/Basis/Unix/posix-bin-prim-io.o \ src/smlnj/Basis/IO/bin-io.o \ src/basis/main/BinIO.o \ src/basis/main/Text.o \ src/basis/main/CommandLine.o \ src/basis/main/ArraySlice.o \ src/smlnj/Basis/internal-timer.o \ src/basis/main/Timer.o \ src/basis/main/Date.o \ src/basis/main/binary-op.o \ src/ml-yacc/lib/lrtable.o \ src/ml-yacc/lib/stream.o \ src/ml-yacc/lib/parser2.o MLYACC_LIB_SOURCES = \ src/ml-yacc/lib/parser2.sml \ src/ml-yacc/lib/stream.sml \ src/ml-yacc/lib/lrtable.sml \ src/basis/main/binary-op.sml \ src/basis/main/WORD.sig \ src/basis/main/VECTOR_SLICE.sig \ src/basis/main/VECTOR.sig \ src/basis/main/REAL.sig \ src/basis/main/INT_INF.sig \ src/basis/main/INTEGER.sig \ src/basis/main/BYTE.sig \ src/basis/main/ARRAY_SLICE.sig \ src/basis/main/ARRAY.sig \ src/basis/main/Date.sml \ src/basis/main/DATE.sig \ src/basis/main/Timer.sml \ src/smlnj/Basis/internal-timer.sml \ src/basis/main/TIMER.sig \ src/basis/main/ArraySlice.sml \ src/basis/main/CommandLine.sml \ src/basis/main/COMMAND_LINE.sig \ src/basis/main/Text.sml \ src/basis/main/TEXT.sig \ src/basis/main/BinIO.sml \ src/basis/main/BIN_IO.sig \ src/basis/main/IMPERATIVE_IO.sig \ src/smlnj/Basis/IO/bin-io.sml \ src/smlnj/Basis/Unix/posix-bin-prim-io.sml \ src/basis/main/TextIO.sml \ src/basis/main/TEXT_IO.sig \ src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/STREAM_IO.sig \ src/smlnj/Basis/IO/text-io.sml \ src/smlnj/Basis/Unix/posix-text-prim-io.sml \ src/smlnj/Basis/Posix/posix-io.sml \ src/smlnj/Basis/IO/prim-io-bin.sml \ src/basis/main/Word8.sml \ src/smlnj/Basis/IO/os-prim-io.sig \ src/smlnj/Basis/IO/clean-io.sml \ src/smlnj/Basis/IO/prim-io-text.sml \ src/basis/main/CharArray.sml \ src/basis/main/PRIM_IO.sig \ src/basis/main/OS.sml \ src/basis/main/OS.sig \ src/basis/main/OS_FILE_SYS.sig \ src/smlnj/Basis/Unix/os-io.sml \ src/basis/main/OS_IO.sig \ src/basis/main/ListPair.sml \ src/basis/main/LIST_PAIR.sig \ src/smlnj/Basis/Unix/os-filesys.sml \ src/smlnj/Basis/Unix/os-path.sml \ src/smlnj/Basis/OS/os-path-fn.sml \ src/basis/main/OS_PATH.sig \ src/basis/main/SMLSharpOSProcess.sml \ src/basis/main/OS_PROCESS.sig \ src/smlnj/Basis/NJ/cleanup.sml \ src/smlnj/Basis/NJ/cleanup.sig \ src/basis/main/SMLSharpOSFileSys.sml \ src/basis/main/Byte.sml \ src/basis/main/Word8Array.sml \ src/basis/main/Word.sml \ src/basis/main/Time.sml \ src/basis/main/TIME.sig \ src/basis/main/Real32.sml \ src/basis/main/Real.sml \ src/basis/main/MATH.sig \ src/basis/main/Substring.sml \ src/basis/main/RealClass.sml \ src/basis/main/IEEEReal.sml \ src/basis/main/IEEE_REAL.sig \ src/basis/main/Int.sml \ src/basis/main/IntInf.sml \ src/basis/main/String.sml \ src/basis/main/CharVectorSlice.sml \ src/basis/main/CharVector.sml \ src/basis/main/StringBase.sml \ src/basis/main/SMLSharpRuntime.sml \ src/basis/main/IO.sml \ src/basis/main/IO.sig \ src/basis/main/Bool.sml \ src/basis/main/BOOL.sig \ src/basis/main/Word8VectorSlice.sml \ src/basis/main/Word8Vector.sml \ src/basis/main/SUBSTRING.sig \ src/basis/main/STRING.sig \ src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY.sig \ src/basis/main/Char.sml \ src/basis/main/CHAR.sig \ src/basis/main/SMLSharpScanChar.sml \ src/basis/main/StringCvt.sml \ src/basis/main/STRING_CVT.sig \ src/basis/main/VectorSlice.sml \ src/basis/main/Vector.sml \ src/basis/main/Array.sml \ src/basis/main/List.sml \ src/basis/main/LIST.sig \ src/basis/main/Option.sml \ src/basis/main/OPTION.sig \ src/basis/main/General.sml \ src/basis/main/GENERAL.sig \ src/ml-yacc/lib/base.sig MLYACC_OBJECTS = src/basis/main/General.o \ src/basis/main/Option.o \ src/basis/main/List.o \ src/basis/main/Array.o \ src/basis/main/Vector.o \ src/basis/main/VectorSlice.o \ src/basis/main/StringCvt.o \ src/basis/main/SMLSharpScanChar.o \ src/basis/main/Char.o \ src/basis/main/Word8Vector.o \ src/basis/main/Word8VectorSlice.o \ src/basis/main/Bool.o \ src/basis/main/IO.o \ src/basis/main/SMLSharpRuntime.o \ src/basis/main/StringBase.o \ src/basis/main/CharVector.o \ src/basis/main/CharVectorSlice.o \ src/basis/main/String.o \ src/basis/main/IntInf.o \ src/basis/main/Int.o \ src/basis/main/IEEEReal.o \ src/basis/main/RealClass.o \ src/basis/main/Substring.o \ src/basis/main/Real.o \ src/basis/main/Real32.o \ src/basis/main/Time.o \ src/basis/main/Word.o \ src/basis/main/Word8Array.o \ src/basis/main/Byte.o \ src/basis/main/SMLSharpOSFileSys.o \ src/smlnj/Basis/NJ/cleanup.o \ src/basis/main/SMLSharpOSProcess.o \ src/smlnj/Basis/OS/os-path-fn.o \ src/smlnj/Basis/Unix/os-path.o \ src/smlnj/Basis/Unix/os-filesys.o \ src/basis/main/ListPair.o \ src/smlnj/Basis/Unix/os-io.o \ src/basis/main/OS.o \ src/basis/main/CharArray.o \ src/smlnj/Basis/IO/prim-io-text.o \ src/smlnj/Basis/IO/clean-io.o \ src/basis/main/Word8.o \ src/smlnj/Basis/IO/prim-io-bin.o \ src/smlnj/Basis/Posix/posix-io.o \ src/smlnj/Basis/Unix/posix-text-prim-io.o \ src/smlnj/Basis/IO/text-io.o \ src/basis/main/TextIO.o \ src/smlnj/Basis/Unix/posix-bin-prim-io.o \ src/smlnj/Basis/IO/bin-io.o \ src/basis/main/BinIO.o \ src/basis/main/Text.o \ src/basis/main/CommandLine.o \ src/basis/main/ArraySlice.o \ src/smlnj/Basis/internal-timer.o \ src/basis/main/Timer.o \ src/basis/main/Date.o \ src/basis/main/binary-op.o \ src/ml-yacc/lib/lrtable.o \ src/ml-yacc/lib/stream.o \ src/ml-yacc/lib/parser2.o \ src/ml-yacc/src/absyn.o \ src/ml-yacc/src/utils.o \ src/ml-yacc/src/grammar.o \ src/ml-yacc/src/hdr.o \ src/ml-yacc/src/core.o \ src/ml-yacc/src/coreutils.o \ src/ml-yacc/src/graph.o \ src/ml-yacc/src/look.o \ src/ml-yacc/src/lalr.o \ src/ml-yacc/src/mklrtable.o \ src/ml-yacc/src/shrink.o \ src/ml-yacc/src/mkprstruct.o \ src/ml-yacc/src/yacc.grm.o \ src/ml-yacc/src/yacc.lex.o \ src/ml-yacc/src/parse.o \ src/ml-yacc/src/verbose.o \ src/ml-yacc/src/yacc.o \ src/ml-yacc/src/export-yacc.o \ src/ml-yacc/src/ml-yacc.o MLYACC_SOURCES = \ src/ml-yacc/src/ml-yacc.sml \ src/ml-yacc/src/export-yacc.sml \ src/ml-yacc/src/yacc.sml \ src/ml-yacc/src/verbose.sml \ src/ml-yacc/src/parse.sml \ src/ml-yacc/src/yacc.lex.sml \ src/ml-yacc/src/yacc.grm.sml \ src/ml-yacc/src/yacc.grm.sig \ src/ml-yacc/src/mkprstruct.sml \ src/ml-yacc/src/shrink.sml \ src/ml-yacc/src/mklrtable.sml \ src/ml-yacc/src/lalr.sml \ src/ml-yacc/src/look.sml \ src/ml-yacc/src/graph.sml \ src/ml-yacc/src/coreutils.sml \ src/ml-yacc/src/core.sml \ src/ml-yacc/src/hdr.sml \ src/ml-yacc/src/grammar.sml \ src/ml-yacc/src/sigs.sml \ src/ml-yacc/src/utils.sml \ src/ml-yacc/src/utils.sig \ src/ml-yacc/src/absyn.sml \ src/ml-yacc/src/absyn.sig \ src/ml-yacc/lib/parser2.sml \ src/ml-yacc/lib/stream.sml \ src/ml-yacc/lib/lrtable.sml \ src/ml-yacc/lib/base.sig \ src/basis/main/binary-op.sml \ src/basis/main/WORD.sig \ src/basis/main/VECTOR_SLICE.sig \ src/basis/main/VECTOR.sig \ src/basis/main/REAL.sig \ src/basis/main/INT_INF.sig \ src/basis/main/INTEGER.sig \ src/basis/main/BYTE.sig \ src/basis/main/ARRAY_SLICE.sig \ src/basis/main/ARRAY.sig \ src/basis/main/Date.sml \ src/basis/main/DATE.sig \ src/basis/main/Timer.sml \ src/smlnj/Basis/internal-timer.sml \ src/basis/main/TIMER.sig \ src/basis/main/ArraySlice.sml \ src/basis/main/CommandLine.sml \ src/basis/main/COMMAND_LINE.sig \ src/basis/main/Text.sml \ src/basis/main/TEXT.sig \ src/basis/main/BinIO.sml \ src/basis/main/BIN_IO.sig \ src/basis/main/IMPERATIVE_IO.sig \ src/smlnj/Basis/IO/bin-io.sml \ src/smlnj/Basis/Unix/posix-bin-prim-io.sml \ src/basis/main/TextIO.sml \ src/basis/main/TEXT_IO.sig \ src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/STREAM_IO.sig \ src/smlnj/Basis/IO/text-io.sml \ src/smlnj/Basis/Unix/posix-text-prim-io.sml \ src/smlnj/Basis/Posix/posix-io.sml \ src/smlnj/Basis/IO/prim-io-bin.sml \ src/basis/main/Word8.sml \ src/smlnj/Basis/IO/os-prim-io.sig \ src/smlnj/Basis/IO/clean-io.sml \ src/smlnj/Basis/IO/prim-io-text.sml \ src/basis/main/CharArray.sml \ src/basis/main/PRIM_IO.sig \ src/basis/main/OS.sml \ src/basis/main/OS.sig \ src/basis/main/OS_FILE_SYS.sig \ src/smlnj/Basis/Unix/os-io.sml \ src/basis/main/OS_IO.sig \ src/basis/main/ListPair.sml \ src/basis/main/LIST_PAIR.sig \ src/smlnj/Basis/Unix/os-filesys.sml \ src/smlnj/Basis/Unix/os-path.sml \ src/smlnj/Basis/OS/os-path-fn.sml \ src/basis/main/OS_PATH.sig \ src/basis/main/SMLSharpOSProcess.sml \ src/basis/main/OS_PROCESS.sig \ src/smlnj/Basis/NJ/cleanup.sml \ src/smlnj/Basis/NJ/cleanup.sig \ src/basis/main/SMLSharpOSFileSys.sml \ src/basis/main/Byte.sml \ src/basis/main/Word8Array.sml \ src/basis/main/Word.sml \ src/basis/main/Time.sml \ src/basis/main/TIME.sig \ src/basis/main/Real32.sml \ src/basis/main/Real.sml \ src/basis/main/MATH.sig \ src/basis/main/Substring.sml \ src/basis/main/RealClass.sml \ src/basis/main/IEEEReal.sml \ src/basis/main/IEEE_REAL.sig \ src/basis/main/Int.sml \ src/basis/main/IntInf.sml \ src/basis/main/String.sml \ src/basis/main/CharVectorSlice.sml \ src/basis/main/CharVector.sml \ src/basis/main/StringBase.sml \ src/basis/main/SMLSharpRuntime.sml \ src/basis/main/IO.sml \ src/basis/main/IO.sig \ src/basis/main/Bool.sml \ src/basis/main/BOOL.sig \ src/basis/main/Word8VectorSlice.sml \ src/basis/main/Word8Vector.sml \ src/basis/main/SUBSTRING.sig \ src/basis/main/STRING.sig \ src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY.sig \ src/basis/main/Char.sml \ src/basis/main/CHAR.sig \ src/basis/main/SMLSharpScanChar.sml \ src/basis/main/StringCvt.sml \ src/basis/main/STRING_CVT.sig \ src/basis/main/VectorSlice.sml \ src/basis/main/Vector.sml \ src/basis/main/Array.sml \ src/basis/main/List.sml \ src/basis/main/LIST.sig \ src/basis/main/Option.sml \ src/basis/main/OPTION.sig \ src/basis/main/General.sml \ src/basis/main/GENERAL.sig SMLFORMAT_LIB_OBJECTS = src/basis/main/StringCvt.o \ src/basis/main/General.o \ src/basis/main/Option.o \ src/basis/main/List.o \ src/basis/main/SMLSharpScanChar.o \ src/basis/main/Char.o \ src/basis/main/StringBase.o \ src/basis/main/CharVector.o \ src/basis/main/CharVectorSlice.o \ src/basis/main/String.o \ src/basis/main/IntInf.o \ src/basis/main/Int.o \ src/basis/main/Word.o \ src/basis/main/Array.o \ src/basis/main/SMLSharpRuntime.o \ src/basis/main/Substring.o \ src/basis/main/IEEEReal.o \ src/basis/main/RealClass.o \ src/basis/main/Real.o \ src/basis/main/Vector.o \ src/basis/main/IO.o \ src/basis/main/Real32.o \ src/basis/main/Time.o \ src/basis/main/Word8Vector.o \ src/basis/main/Word8VectorSlice.o \ src/basis/main/Word8Array.o \ src/basis/main/Byte.o \ src/basis/main/SMLSharpOSFileSys.o \ src/smlnj/Basis/NJ/cleanup.o \ src/basis/main/SMLSharpOSProcess.o \ src/basis/main/Bool.o \ src/smlnj/Basis/OS/os-path-fn.o \ src/smlnj/Basis/Unix/os-path.o \ src/smlnj/Basis/Unix/os-filesys.o \ src/basis/main/ListPair.o \ src/smlnj/Basis/Unix/os-io.o \ src/basis/main/OS.o \ src/basis/main/CharArray.o \ src/smlnj/Basis/IO/prim-io-text.o \ src/smlnj/Basis/IO/clean-io.o \ src/basis/main/Word8.o \ src/smlnj/Basis/IO/prim-io-bin.o \ src/smlnj/Basis/Posix/posix-io.o \ src/smlnj/Basis/Unix/posix-text-prim-io.o \ src/smlnj/Basis/IO/text-io.o \ src/basis/main/TextIO.o \ src/basis/main/binary-op.o \ src/smlnj-lib/Util/parser-comb.o \ src/smlformat/formatlib/main/FormatExpressionTypes.o \ src/smlformat/formatlib/main/FormatExpression.o \ src/smlformat/formatlib/main/PrinterParameter.o \ src/smlformat/formatlib/main/AssocResolver.o \ src/smlformat/formatlib/main/PreProcessedExpression.o \ src/smlformat/formatlib/main/PrettyPrinter.o \ src/smlformat/formatlib/main/Truncator.o \ src/smlformat/formatlib/main/PreProcessor.o \ src/smlformat/formatlib/main/BasicFormatters.o \ src/smlformat/formatlib/main/SMLFormat.o SMLFORMAT_LIB_SOURCES = \ src/smlformat/formatlib/main/SMLFormat.sml \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/BasicFormatters.sml \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/PreProcessor.sml \ src/smlformat/formatlib/main/Truncator.sml \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/PrettyPrinter.sml \ src/smlformat/formatlib/main/PreProcessedExpression.sml \ src/smlformat/formatlib/main/AssocResolver.sml \ src/smlformat/formatlib/main/PrinterParameter.sml \ src/smlformat/formatlib/main/FormatExpression.sml \ src/smlformat/formatlib/main/FormatExpressionTypes.sml \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlnj-lib/Util/parser-comb.sml \ src/smlnj-lib/Util/parser-comb-sig.sml \ src/basis/main/binary-op.sml \ src/basis/main/TextIO.sml \ src/basis/main/TEXT_IO.sig \ src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/STREAM_IO.sig \ src/smlnj/Basis/IO/text-io.sml \ src/smlnj/Basis/Unix/posix-text-prim-io.sml \ src/smlnj/Basis/Posix/posix-io.sml \ src/smlnj/Basis/IO/prim-io-bin.sml \ src/basis/main/Word8.sml \ src/smlnj/Basis/IO/os-prim-io.sig \ src/smlnj/Basis/IO/clean-io.sml \ src/smlnj/Basis/IO/prim-io-text.sml \ src/basis/main/CharArray.sml \ src/basis/main/PRIM_IO.sig \ src/basis/main/OS.sml \ src/basis/main/OS.sig \ src/basis/main/OS_FILE_SYS.sig \ src/smlnj/Basis/Unix/os-io.sml \ src/basis/main/OS_IO.sig \ src/basis/main/ListPair.sml \ src/basis/main/LIST_PAIR.sig \ src/smlnj/Basis/Unix/os-filesys.sml \ src/smlnj/Basis/Unix/os-path.sml \ src/smlnj/Basis/OS/os-path-fn.sml \ src/basis/main/OS_PATH.sig \ src/basis/main/Bool.sml \ src/basis/main/BOOL.sig \ src/basis/main/SMLSharpOSProcess.sml \ src/basis/main/OS_PROCESS.sig \ src/smlnj/Basis/NJ/cleanup.sml \ src/smlnj/Basis/NJ/cleanup.sig \ src/basis/main/SMLSharpOSFileSys.sml \ src/basis/main/Byte.sml \ src/basis/main/Word8Array.sml \ src/basis/main/Word8VectorSlice.sml \ src/basis/main/Word8Vector.sml \ src/basis/main/Time.sml \ src/basis/main/TIME.sig \ src/basis/main/Real32.sml \ src/basis/main/IO.sml \ src/basis/main/IO.sig \ src/basis/main/Vector.sml \ src/basis/main/Real.sml \ src/basis/main/RealClass.sml \ src/basis/main/MATH.sig \ src/basis/main/IEEEReal.sml \ src/basis/main/IEEE_REAL.sig \ src/basis/main/Substring.sml \ src/basis/main/SMLSharpRuntime.sml \ src/basis/main/Array.sml \ src/basis/main/Word.sml \ src/basis/main/Int.sml \ src/basis/main/IntInf.sml \ src/basis/main/String.sml \ src/basis/main/CharVectorSlice.sml \ src/basis/main/CharVector.sml \ src/basis/main/StringBase.sml \ src/basis/main/SUBSTRING.sig \ src/basis/main/STRING.sig \ src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY.sig \ src/basis/main/Char.sml \ src/basis/main/CHAR.sig \ src/basis/main/SMLSharpScanChar.sml \ src/basis/main/List.sml \ src/basis/main/LIST.sig \ src/basis/main/Option.sml \ src/basis/main/OPTION.sig \ src/basis/main/General.sml \ src/basis/main/GENERAL.sig \ src/basis/main/StringCvt.sml \ src/basis/main/STRING_CVT.sig SMLFORMAT_OBJECTS = src/basis/main/General.o \ src/basis/main/Option.o \ src/basis/main/List.o \ src/basis/main/Array.o \ src/basis/main/Vector.o \ src/basis/main/VectorSlice.o \ src/basis/main/StringCvt.o \ src/basis/main/SMLSharpScanChar.o \ src/basis/main/Char.o \ src/basis/main/Word8Vector.o \ src/basis/main/Word8VectorSlice.o \ src/basis/main/Bool.o \ src/basis/main/IO.o \ src/basis/main/SMLSharpRuntime.o \ src/basis/main/StringBase.o \ src/basis/main/CharVector.o \ src/basis/main/CharVectorSlice.o \ src/basis/main/String.o \ src/basis/main/IntInf.o \ src/basis/main/Int.o \ src/basis/main/IEEEReal.o \ src/basis/main/RealClass.o \ src/basis/main/Substring.o \ src/basis/main/Real.o \ src/basis/main/Real32.o \ src/basis/main/Time.o \ src/basis/main/Word.o \ src/basis/main/Word8Array.o \ src/basis/main/Byte.o \ src/basis/main/SMLSharpOSFileSys.o \ src/smlnj/Basis/NJ/cleanup.o \ src/basis/main/SMLSharpOSProcess.o \ src/smlnj/Basis/OS/os-path-fn.o \ src/smlnj/Basis/Unix/os-path.o \ src/smlnj/Basis/Unix/os-filesys.o \ src/basis/main/ListPair.o \ src/smlnj/Basis/Unix/os-io.o \ src/basis/main/OS.o \ src/basis/main/CharArray.o \ src/smlnj/Basis/IO/prim-io-text.o \ src/smlnj/Basis/IO/clean-io.o \ src/basis/main/Word8.o \ src/smlnj/Basis/IO/prim-io-bin.o \ src/smlnj/Basis/Posix/posix-io.o \ src/smlnj/Basis/Unix/posix-text-prim-io.o \ src/smlnj/Basis/IO/text-io.o \ src/basis/main/TextIO.o \ src/smlnj/Basis/Unix/posix-bin-prim-io.o \ src/smlnj/Basis/IO/bin-io.o \ src/basis/main/BinIO.o \ src/basis/main/Text.o \ src/basis/main/CommandLine.o \ src/basis/main/ArraySlice.o \ src/smlnj/Basis/internal-timer.o \ src/basis/main/Timer.o \ src/basis/main/Date.o \ src/basis/main/binary-op.o \ src/smlformat/generator/main/Utility.o \ src/smlformat/generator/main/FormatTemplate.o \ src/smlformat/generator/main/Ast.o \ src/smlformat/generator/main/FormatterGenerator.o \ src/smlformat/generator/main/ErrorQueue.o \ src/smlformat/generator/main/Constants_MLton.o \ src/ml-yacc/lib/lrtable.o \ src/ml-yacc/lib/stream.o \ src/ml-yacc/lib/parser2.o \ src/smlformat/generator/main/AstUtil.o \ src/smlformat/generator/main/ml.grm.o \ src/smlformat/generator/main/TokenTable.o \ src/smlformat/generator/main/ml.lex.o \ src/smlformat/generator/main/MLParser.o \ src/smlformat/generator/main/BasicFormattersEnv.o \ src/smlformat/generator/main/PPGMain.o \ src/smlformat/generator/main/Main.o \ src/smlformat/generator/main/call-main.o SMLFORMAT_SOURCES = \ src/smlformat/generator/main/call-main.sml \ src/smlformat/generator/main/Main.sml \ src/smlformat/generator/main/PPGMain.sml \ src/smlformat/generator/main/BasicFormattersEnv.sml \ src/smlformat/generator/main/MLParser.sml \ src/smlformat/generator/main/MLPARSER.sig \ src/smlformat/generator/main/ml.lex.sml \ src/smlformat/generator/main/TokenTable.sml \ src/smlformat/generator/main/ml.grm.sml \ src/smlformat/generator/main/ml.grm.sig \ src/smlformat/generator/main/AstUtil.sml \ src/smlformat/generator/main/ASTUTIL.sig \ src/ml-yacc/lib/parser2.sml \ src/ml-yacc/lib/stream.sml \ src/ml-yacc/lib/lrtable.sml \ src/ml-yacc/lib/base.sig \ src/smlformat/generator/main/Constants_MLton.sml \ src/smlformat/generator/main/ErrorQueue.sml \ src/smlformat/generator/main/FormatterGenerator.sml \ src/smlformat/generator/main/FORMATTER_GENERATOR.sig \ src/smlformat/generator/main/Ast.sml \ src/smlformat/generator/main/AST.sig \ src/smlformat/generator/main/FormatTemplate.sml \ src/smlformat/generator/main/Utility.sml \ src/basis/main/binary-op.sml \ src/basis/main/WORD.sig \ src/basis/main/VECTOR_SLICE.sig \ src/basis/main/VECTOR.sig \ src/basis/main/REAL.sig \ src/basis/main/INT_INF.sig \ src/basis/main/INTEGER.sig \ src/basis/main/BYTE.sig \ src/basis/main/ARRAY_SLICE.sig \ src/basis/main/ARRAY.sig \ src/basis/main/Date.sml \ src/basis/main/DATE.sig \ src/basis/main/Timer.sml \ src/smlnj/Basis/internal-timer.sml \ src/basis/main/TIMER.sig \ src/basis/main/ArraySlice.sml \ src/basis/main/CommandLine.sml \ src/basis/main/COMMAND_LINE.sig \ src/basis/main/Text.sml \ src/basis/main/TEXT.sig \ src/basis/main/BinIO.sml \ src/basis/main/BIN_IO.sig \ src/basis/main/IMPERATIVE_IO.sig \ src/smlnj/Basis/IO/bin-io.sml \ src/smlnj/Basis/Unix/posix-bin-prim-io.sml \ src/basis/main/TextIO.sml \ src/basis/main/TEXT_IO.sig \ src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/STREAM_IO.sig \ src/smlnj/Basis/IO/text-io.sml \ src/smlnj/Basis/Unix/posix-text-prim-io.sml \ src/smlnj/Basis/Posix/posix-io.sml \ src/smlnj/Basis/IO/prim-io-bin.sml \ src/basis/main/Word8.sml \ src/smlnj/Basis/IO/os-prim-io.sig \ src/smlnj/Basis/IO/clean-io.sml \ src/smlnj/Basis/IO/prim-io-text.sml \ src/basis/main/CharArray.sml \ src/basis/main/PRIM_IO.sig \ src/basis/main/OS.sml \ src/basis/main/OS.sig \ src/basis/main/OS_FILE_SYS.sig \ src/smlnj/Basis/Unix/os-io.sml \ src/basis/main/OS_IO.sig \ src/basis/main/ListPair.sml \ src/basis/main/LIST_PAIR.sig \ src/smlnj/Basis/Unix/os-filesys.sml \ src/smlnj/Basis/Unix/os-path.sml \ src/smlnj/Basis/OS/os-path-fn.sml \ src/basis/main/OS_PATH.sig \ src/basis/main/SMLSharpOSProcess.sml \ src/basis/main/OS_PROCESS.sig \ src/smlnj/Basis/NJ/cleanup.sml \ src/smlnj/Basis/NJ/cleanup.sig \ src/basis/main/SMLSharpOSFileSys.sml \ src/basis/main/Byte.sml \ src/basis/main/Word8Array.sml \ src/basis/main/Word.sml \ src/basis/main/Time.sml \ src/basis/main/TIME.sig \ src/basis/main/Real32.sml \ src/basis/main/Real.sml \ src/basis/main/MATH.sig \ src/basis/main/Substring.sml \ src/basis/main/RealClass.sml \ src/basis/main/IEEEReal.sml \ src/basis/main/IEEE_REAL.sig \ src/basis/main/Int.sml \ src/basis/main/IntInf.sml \ src/basis/main/String.sml \ src/basis/main/CharVectorSlice.sml \ src/basis/main/CharVector.sml \ src/basis/main/StringBase.sml \ src/basis/main/SMLSharpRuntime.sml \ src/basis/main/IO.sml \ src/basis/main/IO.sig \ src/basis/main/Bool.sml \ src/basis/main/BOOL.sig \ src/basis/main/Word8VectorSlice.sml \ src/basis/main/Word8Vector.sml \ src/basis/main/SUBSTRING.sig \ src/basis/main/STRING.sig \ src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY.sig \ src/basis/main/Char.sml \ src/basis/main/CHAR.sig \ src/basis/main/SMLSharpScanChar.sml \ src/basis/main/StringCvt.sml \ src/basis/main/STRING_CVT.sig \ src/basis/main/VectorSlice.sml \ src/basis/main/Vector.sml \ src/basis/main/Array.sml \ src/basis/main/List.sml \ src/basis/main/LIST.sig \ src/basis/main/Option.sml \ src/basis/main/OPTION.sig \ src/basis/main/General.sml \ src/basis/main/GENERAL.sig MINISMLSHARP_OBJECTS = src/basis/main/General.o \ src/basis/main/Option.o \ src/basis/main/List.o \ src/basis/main/Array.o \ src/basis/main/Vector.o \ src/basis/main/VectorSlice.o \ src/basis/main/StringCvt.o \ src/basis/main/SMLSharpScanChar.o \ src/basis/main/Char.o \ src/basis/main/Word8Vector.o \ src/basis/main/Word8VectorSlice.o \ src/basis/main/Bool.o \ src/basis/main/IO.o \ src/basis/main/SMLSharpRuntime.o \ src/basis/main/StringBase.o \ src/basis/main/CharVector.o \ src/basis/main/CharVectorSlice.o \ src/basis/main/String.o \ src/basis/main/IntInf.o \ src/basis/main/Int.o \ src/basis/main/IEEEReal.o \ src/basis/main/RealClass.o \ src/basis/main/Substring.o \ src/basis/main/Real.o \ src/basis/main/Real32.o \ src/basis/main/Time.o \ src/basis/main/Word.o \ src/basis/main/Word8Array.o \ src/basis/main/Byte.o \ src/basis/main/SMLSharpOSFileSys.o \ src/smlnj/Basis/NJ/cleanup.o \ src/basis/main/SMLSharpOSProcess.o \ src/smlnj/Basis/OS/os-path-fn.o \ src/smlnj/Basis/Unix/os-path.o \ src/smlnj/Basis/Unix/os-filesys.o \ src/basis/main/ListPair.o \ src/smlnj/Basis/Unix/os-io.o \ src/basis/main/OS.o \ src/basis/main/CharArray.o \ src/smlnj/Basis/IO/prim-io-text.o \ src/smlnj/Basis/IO/clean-io.o \ src/basis/main/Word8.o \ src/smlnj/Basis/IO/prim-io-bin.o \ src/smlnj/Basis/Posix/posix-io.o \ src/smlnj/Basis/Unix/posix-text-prim-io.o \ src/smlnj/Basis/IO/text-io.o \ src/basis/main/TextIO.o \ src/smlnj/Basis/Unix/posix-bin-prim-io.o \ src/smlnj/Basis/IO/bin-io.o \ src/basis/main/BinIO.o \ src/basis/main/Text.o \ src/basis/main/CommandLine.o \ src/basis/main/ArraySlice.o \ src/smlnj/Basis/internal-timer.o \ src/basis/main/Timer.o \ src/basis/main/Date.o \ src/basis/main/binary-op.o \ src/config/main/Version.o \ src/smlnj-lib/Util/lib-base.o \ src/compiler-utils/env/main/SEnv.o \ src/compiler/toolchain/main/Filename.o \ src/config/main/Config.o \ src/smlnj-lib/Util/parser-comb.o \ src/smlformat/formatlib/main/FormatExpressionTypes.o \ src/smlformat/formatlib/main/FormatExpression.o \ src/smlformat/formatlib/main/PrinterParameter.o \ src/smlformat/formatlib/main/AssocResolver.o \ src/smlformat/formatlib/main/PreProcessedExpression.o \ src/smlformat/formatlib/main/PrettyPrinter.o \ src/smlformat/formatlib/main/Truncator.o \ src/smlformat/formatlib/main/PreProcessor.o \ src/smlformat/formatlib/main/BasicFormatters.o \ src/smlformat/formatlib/main/SMLFormat.o \ src/compiler/control/main/Loc.ppg.o \ src/compiler/control/main/Control.ppg.o \ src/smlnj-lib/Util/binary-set-fn.o \ src/compiler-utils/env/main/IEnv.o \ src/compiler/util/main/Counter.o \ src/compiler/usererror/main/UserError.ppg.o \ src/compiler/toolchain/main/CoreUtils.o \ src/compiler/toolchain/main/TempFile.o \ src/compiler/toolchain/main/BinUtils.o \ src/compiler-utils/env/main/IOrd.o \ src/compiler-utils/env/main/ISet.o \ src/compiler/name/main/GenIDFun.o \ src/compiler/name/main/LocalID.o \ src/smlnj-lib/Util/binary-map-fn.o \ src/compiler-utils/env/main/LabelOrd.o \ src/compiler-utils/env/main/LabelEnv.o \ src/compiler/util/main/ListSorter.o \ src/compiler/util/main/BigInt_IntInf.o \ src/compiler/util/main/TermFormat.o \ src/compiler-utils/env/main/SOrd.o \ src/compiler-utils/env/main/SSet.o \ src/compiler/util/main/SmlppgUtil.ppg.o \ src/compiler/absyn/main/AbsynSQL.ppg.o \ src/compiler/absyn/main/Absyn.ppg.o \ src/compiler/absyn/main/AbsynInterface.ppg.o \ src/ml-yacc/lib/lrtable.o \ src/ml-yacc/lib/stream.o \ src/ml-yacc/lib/parser2.o \ src/compiler/parser2/main/ParserError.ppg.o \ src/compiler/parser2/main/iml.grm.o \ src/compiler/parser2/main/imlLexFun.lex.o \ src/compiler/parser2/main/Parser.o \ src/compiler/parser2/main/interface.grm.o \ src/compiler/parser2/main/InterfaceParser.o \ src/compiler/generatemain/main/GenerateMainError.ppg.o \ src/compiler/generatemain/main/GenerateMain.o \ src/compiler/absyn/main/AbsynFormatter.o \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.o \ src/compiler/patterncalc/main/PatternCalc.ppg.o \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.o \ src/compiler/util/main/gensym.o \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.o \ src/compiler/types/main/tvarMap.o \ src/compiler/types/main/OPrimInstMap.o \ src/compiler/types/main/Types.ppg.o \ src/compiler/types/main/IDCalc.ppg.o \ src/compiler/types/main/VarMap.o \ src/compiler/loadfile/main/SHA1.o \ src/compiler/loadfile/main/InterfaceHash.o \ src/compiler/loadfile/main/LoadFileError.ppg.o \ src/compiler/loadfile/main/LoadFile.o \ src/compiler/absyn/main/Fixity.o \ src/compiler/elaborate/main/ElaborateError.ppg.o \ src/compiler/usererror/main/UserErrorUtils.o \ src/compiler/util/main/utils.o \ src/compiler/elaborate/main/ElaboratorUtils.o \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.o \ src/compiler/elaborate/main/ElaborateSQL.o \ src/compiler/elaborate/main/ElaborateCore.o \ src/compiler/elaborate/main/ElaborateModule.o \ src/compiler/elaborate/main/UserTvarScope.o \ src/compiler/elaborate/main/ElaborateInterface.o \ src/compiler/elaborate/main/Elaborator.o \ src/compiler/nameevaluation/main/NameEvalError.ppg.o \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.o \ src/compiler-utils/env/main/PathEnv.o \ src/compiler/types/main/OPrimMap.o \ src/compiler/types/main/EvalIty.o \ src/compiler/builtin2/main/BuiltinTypes.o \ src/compiler/nameevaluation/main/TfunVars.o \ src/compiler/nameevaluation/main/NameEvalUtils.o \ src/compiler/nameevaluation/main/NormalizeTy.o \ src/compiler/util/main/Graph.o \ src/compiler/util/main/SCCFun.o \ src/compiler/nameevaluation/main/SetLiftedTys.o \ src/compiler/nameevaluation/main/EvalTy.o \ src/compiler/nameevaluation/main/Subst.o \ src/compiler/nameevaluation/main/EvalSig.o \ src/compiler/nameevaluation/main/FunctorUtils.o \ src/compiler/nameevaluation/main/SigCheck.o \ src/compiler/nameevaluation/main/NameEvalInterface.o \ src/compiler/nameevaluation/main/CheckProvide.o \ src/compiler/nameevaluation/main/NameEval.o \ src/compiler/valrecoptimization/main/utils.o \ src/compiler/valrecoptimization/main/VALREC_Optimizer.o \ src/compiler/valrecoptimization/main/TransFundecl.o \ src/compiler/typedcalc/main/TypedCalc.ppg.o \ src/compiler/types/main/vars.o \ src/compiler/types/main/TypesUtils.o \ src/compiler/typedcalc/main/TypedCalcUtils.o \ src/compiler/typeinference2/main/TypeInferenceContext.ppg.o \ src/compiler/typeinference2/main/Printers.o \ src/compiler/types/main/TyPrinters.o \ src/compiler/types/main/TyAlphaRename.o \ src/compiler/typedcalc/main/TCAlphaRename.o \ src/compiler/types/main/TyReduce.o \ src/compiler/typedcalcoptimization/main/TCAnalyse.o \ src/compiler/typedcalcoptimization/main/TCSize.o \ src/compiler/types/main/CheckEq.o \ src/compiler/types/main/Unify.o \ src/compiler/types/main/TyRevealTy.o \ src/compiler/typeinference2/main/TypeInferenceUtils.o \ src/compiler/typedcalcoptimization/main/TCRevealTy.o \ src/compiler/typedcalcoptimization/main/TCOptimize.o \ src/compiler/recordcalc/main/RecordCalc.ppg.o \ src/compiler/recordcalc/main/RecordCalcUtils.o \ src/compiler/recordcalc/main/RCAlphaRename.o \ src/compiler/recordcalcoptimization/main/RCAnalyse.o \ src/compiler/recordcalcoptimization/main/RCSize.o \ src/compiler/recordcalcoptimization/main/RCRevealTy.o \ src/compiler/recordcalcoptimization/main/RCOptimize.o \ src/compiler/constantterm/main/ConstantTerm.ppg.o \ src/compiler/types/main/IDCalcUtils.o \ src/compiler/typeinference2/main/TypeInferenceError.ppg.o \ src/compiler/typeinference2/main/InferTypes2.o \ src/compiler/typeinference2/main/UncurryFundecl_ng.o \ src/reifiedterm/main/ReflectionControl.o \ src/reifiedterm/main/TermPrintUtils.ppg.o \ src/reifiedterm/main/ReifiedTerm.ppg.o \ src/compiler/reflection/main/ReifiedTermData.o \ src/compiler/reflection/main/Reify.o \ src/compiler/reflection/main/PrinterGeneration.o \ src/compiler/recordcalc/main/RecordCalcFormatter.o \ src/compiler/matchcompilation/main/MatchData.o \ src/compiler/matchcompilation/main/MatchError.ppg.o \ src/compiler/matchcompilation/main/MatchCompiler.o \ src/compiler/sqlcompilation/main/SQLCompilation.o \ src/compiler/fficompilation/main/FFICompilation.o \ src/compiler/recordcompilation/main/OverloadKind.o \ src/compiler/recordcompilation/main/RecordKind.o \ src/compiler/recordcompilation/main/UnivKind.o \ src/compiler/recordcompilation/main/RecordCompilation.o \ src/compiler/typedlambda/main/TypedLambda.ppg.o \ src/compiler/typedlambda/main/TypedLambdaFormatter.o \ src/compiler/datatypecompilation/main/DatatypeCompilation.o \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.o \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.o \ src/compiler/annotatedcalc/main/AnnotatedCalcFormatter.o \ src/compiler/annotatedtypes/main/AnnotatedTypesUtils.o \ src/compiler/staticanalysis/main/ReduceTy.o \ src/compiler/staticanalysis/main/SAConstraint.o \ src/compiler/staticanalysis/main/SAContext.o \ src/compiler/staticanalysis/main/StaticAnalysis.o \ src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.o \ src/compiler/multiplevaluecalc/main/MultipleValueCalcFormatter.o \ src/compiler/multiplevaluecalc/main/MultipleValueCalcUtils.o \ src/compiler/recordunboxing/main/RecordUnboxing.o \ src/compiler/bitmapcalc/main/BitmapCalc.ppg.o \ src/compiler/runtimetypes/main/RuntimeTypes.ppg.o \ src/compiler/runtimetypes/main/TypeLayout.o \ src/compiler/bitmapcompilation/main/RecordLayout.o \ src/compiler/bitmapcompilation/main/SingletonTyEnv.o \ src/compiler/bitmapcompilation/main/BitmapCompilation.o \ src/compiler/bitmapanormal/main/BitmapANormal.ppg.o \ src/compiler/bitmapanormal/main/TypeCheckBitmapANormal.o \ src/compiler/bitmapanormalization/main/BitmapANormalization.o \ src/compiler/bitmapanormaloptimize/main/BitmapANormalReorder.o \ src/compiler/closureanormal/main/ClosureANormal.ppg.o \ src/compiler/closureconversion/main/ClosureConversion.o \ src/compiler/systemdef/main/BasicTypes.o \ src/compiler/systemdef/main/BasicTypeFormatters.o \ src/compiler/yaanormal/main/ANormal.ppg.o \ src/compiler/toyaanormal/main/NameMangle.o \ src/compiler/toyaanormal/main/ToYAANormal.o \ src/compiler/yaanormalization/main/ANormalOptimization.o \ src/compiler/yaanormalization/main/StaticAllocation.o \ src/compiler/targetplatform/main/TargetPlatformFormatter.o \ src/compiler/targetplatform/main/TargetProperty.o \ src/compiler/targetplatform/main/VMTarget.o \ src/compiler/abstractinstruction2/main/AbstractInstruction.ppg.o \ src/compiler/abstractinstruction2/main/AbstractInstructionFormatter.o \ src/compiler/aigenerator2/main/AIPrimitive.o \ src/compiler/aigenerator2/main/BinarySearchCode.o \ src/compiler/aigenerator2/main/CallAnalysis.o \ src/compiler/aigenerator2/main/Simplify.o \ src/compiler/aigenerator2/main/AIGenerator.o \ src/compiler/rtl/main/RTL.ppg.o \ src/compiler/rtl/main/RTLEdit.o \ src/compiler/rtl/main/RTLUtils.o \ src/compiler/rtl/main/RTLLiveness.o \ src/compiler/rtl/main/RTLTypeCheckError.ppg.o \ src/compiler/rtl/main/RTLTypeCheck.o \ src/compiler/rtl/main/RTLBackendContext.o \ src/compiler/rtl/main/IEEERealConst.o \ src/compiler/rtl/main/X86Asm.ppg.o \ src/compiler/rtl/main/X86Emit.o \ src/compiler/rtl/main/X86Subst.o \ src/compiler/rtl/main/RTLDominate.o \ src/compiler/rtl/main/X86Select.o \ src/compiler/rtl/main/RTLStabilize.o \ src/compiler/rtl/main/X86Stabilize.o \ src/compiler/rtl/main/RTLRename.o \ src/compiler/rtl/main/Coloring.o \ src/compiler/rtl/main/RTLColoring.o \ src/compiler/rtl/main/X86Constraint.o \ src/compiler/rtl/main/X86Coloring.o \ src/compiler/rtl/main/FrameLayout.o \ src/compiler/rtl/main/X86Frame.o \ src/compiler/rtl/main/X86AsmGen.o \ src/compiler/toplevel2/main/TopData.ppg.o \ src/compiler/toplevel2/main/NameEvalEnvUtils.o \ src/compiler/toplevel2/main/Top.o \ src/compiler/main/main/GetOpt.o \ src/compiler/main/main/SMLofNJ.o \ src/ffi/main/DynamicLink.o \ src/ffi/main/Pointer.o \ src/sql/main/PGSQL.o \ src/sql/main/PGSQLBackend.o \ src/sql/main/Backend.o \ src/sql/main/SQLPrim.o \ src/compiler/main/main/RunLoop.o \ src/compiler/main/main/ExecutablePath.o \ src/compiler/main/main/SimpleMain.o \ src/compiler/minismlsharp.o MINISMLSHARP_SOURCES = \ src/compiler/minismlsharp.sml \ src/compiler/main/main/SimpleMain.sml \ src/compiler/main/main/ExecutablePath.sml \ src/compiler/main/main/RunLoop.sml \ src/sql/main/SQLPrim.sml \ src/sql/main/Backend.sml \ src/sql/main/PGSQLBackend.sml \ src/sql/main/SQLBACKEND.sig \ src/sql/main/PGSQL.sml \ src/ffi/main/Pointer.sml \ src/ffi/main/DynamicLink.sml \ src/compiler/main/main/SMLofNJ.sml \ src/compiler/main/main/GetOpt.sml \ src/compiler/toplevel2/main/Top.sml \ src/compiler/toplevel2/main/NameEvalEnvUtils.sml \ src/compiler/toplevel2/main/TopData.ppg.sml \ src/compiler/rtl/main/X86AsmGen.sml \ src/compiler/rtl/main/RTLASMGEN.sig \ src/compiler/rtl/main/X86Frame.sml \ src/compiler/rtl/main/RTLFRAME.sig \ src/compiler/rtl/main/FrameLayout.sml \ src/compiler/rtl/main/X86Coloring.sml \ src/compiler/rtl/main/X86Constraint.sml \ src/compiler/rtl/main/RTLColoring.sml \ src/compiler/rtl/main/RTLCOLORING.sig \ src/compiler/rtl/main/RTLCONSTRAINT.sig \ src/compiler/rtl/main/Coloring.sml \ src/compiler/rtl/main/RTLRename.sml \ src/compiler/rtl/main/X86Stabilize.sml \ src/compiler/rtl/main/RTLStabilize.sml \ src/compiler/rtl/main/RTLSTABILIZE.sig \ src/compiler/rtl/main/X86Select.sml \ src/compiler/rtl/main/RTLDominate.sml \ src/compiler/rtl/main/X86Subst.sml \ src/compiler/rtl/main/RTLSUBST.sig \ src/compiler/rtl/main/X86Emit.sml \ src/compiler/rtl/main/X86Asm.ppg.sml \ src/compiler/rtl/main/RTLEMIT.sig \ src/compiler/rtl/main/IEEERealConst.sml \ src/compiler/rtl/main/RTLSELECT.sig \ src/compiler/rtl/main/RTLBackendContext.sml \ src/compiler/rtl/main/RTLTypeCheck.sml \ src/compiler/rtl/main/RTLTypeCheckError.ppg.sml \ src/compiler/rtl/main/RTLLiveness.sml \ src/compiler/rtl/main/RTLUtils.sml \ src/compiler/rtl/main/RTLEdit.sml \ src/compiler/rtl/main/RTL.ppg.sml \ src/compiler/aigenerator2/main/AIGenerator.sml \ src/compiler/aigenerator2/main/Simplify.sml \ src/compiler/aigenerator2/main/CallAnalysis.sml \ src/compiler/aigenerator2/main/BinarySearchCode.sml \ src/compiler/aigenerator2/main/AIPrimitive.sml \ src/compiler/aigenerator2/main/AIGENERATOR.sig \ src/compiler/abstractinstruction2/main/AbstractInstructionFormatter.sml \ src/compiler/abstractinstruction2/main/AbstractInstruction.ppg.sml \ src/compiler/targetplatform/main/VMTarget.sml \ src/compiler/targetplatform/main/TargetProperty.sml \ src/compiler/targetplatform/main/TARGET_PROPERTY.sig \ src/compiler/targetplatform/main/TargetPlatformFormatter.sml \ src/compiler/targetplatform/main/TARGET_PLATFORM.sig \ src/compiler/yaanormalization/main/StaticAllocation.sml \ src/compiler/yaanormalization/main/ANormalOptimization.sml \ src/compiler/yaanormalization/main/ANORMALOPTIMIZATION.sig \ src/compiler/toyaanormal/main/ToYAANormal.sml \ src/compiler/toyaanormal/main/NameMangle.sml \ src/compiler/yaanormal/main/ANormal.ppg.sml \ src/compiler/systemdef/main/BasicTypeFormatters.sml \ src/compiler/systemdef/main/BasicTypes.sml \ src/compiler/closureconversion/main/ClosureConversion.sml \ src/compiler/closureanormal/main/ClosureANormal.ppg.sml \ src/compiler/bitmapanormaloptimize/main/BitmapANormalReorder.sml \ src/compiler/bitmapanormalization/main/BitmapANormalization.sml \ src/compiler/bitmapanormal/main/TypeCheckBitmapANormal.sml \ src/compiler/bitmapanormal/main/BitmapANormal.ppg.sml \ src/compiler/bitmapcompilation/main/BitmapCompilation.sml \ src/compiler/bitmapcompilation/main/SingletonTyEnv.sml \ src/compiler/bitmapcompilation/main/RecordLayout.sml \ src/compiler/runtimetypes/main/TypeLayout.sml \ src/compiler/runtimetypes/main/RuntimeTypes.ppg.sml \ src/compiler/bitmapcalc/main/BitmapCalc.ppg.sml \ src/compiler/recordunboxing/main/RecordUnboxing.sml \ src/compiler/multiplevaluecalc/main/MultipleValueCalcUtils.sml \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCUTILS.sig \ src/compiler/multiplevaluecalc/main/MultipleValueCalcFormatter.sml \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCFORMATTER.sig \ src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.sml \ src/compiler/staticanalysis/main/StaticAnalysis.sml \ src/compiler/staticanalysis/main/SAContext.sml \ src/compiler/staticanalysis/main/SACONTEXT.sig \ src/compiler/staticanalysis/main/SAConstraint.sml \ src/compiler/staticanalysis/main/SACONSTRAINT.sig \ src/compiler/staticanalysis/main/ReduceTy.sml \ src/compiler/annotatedtypes/main/AnnotatedTypesUtils.sml \ src/compiler/annotatedtypes/main/ANNOTATEDTYPESUTILS.sig \ src/compiler/annotatedcalc/main/AnnotatedCalcFormatter.sml \ src/compiler/annotatedcalc/main/ANNOTATEDCALCFORMATTER.sig \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.sml \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.sml \ src/compiler/datatypecompilation/main/DatatypeCompilation.sml \ src/compiler/typedlambda/main/TypedLambdaFormatter.sml \ src/compiler/typedlambda/main/TypedLambda.ppg.sml \ src/compiler/recordcompilation/main/RecordCompilation.sml \ src/compiler/recordcompilation/main/UnivKind.sml \ src/compiler/recordcompilation/main/RecordKind.sml \ src/compiler/recordcompilation/main/OverloadKind.sml \ src/compiler/fficompilation/main/FFICompilation.sml \ src/compiler/sqlcompilation/main/SQLCompilation.sml \ src/compiler/matchcompilation/main/MatchCompiler.sml \ src/compiler/matchcompilation/main/MatchError.ppg.sml \ src/compiler/matchcompilation/main/MatchData.sml \ src/compiler/recordcalc/main/RecordCalcFormatter.sml \ src/compiler/reflection/main/PrinterGeneration.sml \ src/compiler/reflection/main/Reify.sml \ src/compiler/reflection/main/ReifiedTermData.sml \ src/reifiedterm/main/ReifiedTerm.ppg.sml \ src/reifiedterm/main/TermPrintUtils.ppg.sml \ src/reifiedterm/main/ReflectionControl.sml \ src/compiler/typeinference2/main/UncurryFundecl_ng.sml \ src/compiler/typeinference2/main/UNCURRYFUNDECL.sig \ src/compiler/typeinference2/main/InferTypes2.sml \ src/compiler/typeinference2/main/TypeInferenceError.ppg.sml \ src/compiler/types/main/IDCalcUtils.sml \ src/compiler/constantterm/main/ConstantTerm.ppg.sml \ src/compiler/recordcalcoptimization/main/RCOptimize.sml \ src/compiler/recordcalcoptimization/main/RCRevealTy.sml \ src/compiler/recordcalcoptimization/main/RCSize.sml \ src/compiler/recordcalcoptimization/main/RCAnalyse.sml \ src/compiler/recordcalc/main/RCAlphaRename.sml \ src/compiler/recordcalc/main/RecordCalcUtils.sml \ src/compiler/recordcalc/main/RecordCalc.ppg.sml \ src/compiler/typedcalcoptimization/main/TCOptimize.sml \ src/compiler/typedcalcoptimization/main/TCRevealTy.sml \ src/compiler/typeinference2/main/TypeInferenceUtils.sml \ src/compiler/types/main/TyRevealTy.sml \ src/compiler/types/main/Unify.sml \ src/compiler/types/main/CheckEq.sml \ src/compiler/typedcalcoptimization/main/TCSize.sml \ src/compiler/typedcalcoptimization/main/TCAnalyse.sml \ src/compiler/types/main/TyReduce.sml \ src/compiler/typedcalc/main/TCAlphaRename.sml \ src/compiler/types/main/TyAlphaRename.sml \ src/compiler/types/main/TyPrinters.sml \ src/compiler/typeinference2/main/Printers.sml \ src/compiler/typeinference2/main/TypeInferenceContext.ppg.sml \ src/compiler/typedcalc/main/TypedCalcUtils.sml \ src/compiler/types/main/TypesUtils.sml \ src/compiler/types/main/vars.sml \ src/compiler/typedcalc/main/TypedCalc.ppg.sml \ src/compiler/valrecoptimization/main/TransFundecl.sml \ src/compiler/valrecoptimization/main/TRANS_FUNDECL.sig \ src/compiler/valrecoptimization/main/VALREC_Optimizer.sml \ src/compiler/valrecoptimization/main/utils.sml \ src/compiler/valrecoptimization/main/VALREC_OPTIMIZER.sig \ src/compiler/nameevaluation/main/NameEval.sml \ src/compiler/nameevaluation/main/CheckProvide.sml \ src/compiler/nameevaluation/main/NameEvalInterface.sml \ src/compiler/nameevaluation/main/SigCheck.sml \ src/compiler/nameevaluation/main/FunctorUtils.sml \ src/compiler/nameevaluation/main/EvalSig.sml \ src/compiler/nameevaluation/main/Subst.sml \ src/compiler/nameevaluation/main/EvalTy.sml \ src/compiler/nameevaluation/main/SetLiftedTys.sml \ src/compiler/util/main/SCCFun.sml \ src/compiler/util/main/Graph.sml \ src/compiler/util/main/GRAPH.sig \ src/compiler/nameevaluation/main/NormalizeTy.sml \ src/compiler/nameevaluation/main/NameEvalUtils.sml \ src/compiler/nameevaluation/main/TfunVars.sml \ src/compiler/builtin2/main/BuiltinTypes.sml \ src/compiler/types/main/EvalIty.sml \ src/compiler/types/main/OPrimMap.sml \ src/compiler-utils/env/main/PathEnv.sml \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.sml \ src/compiler/nameevaluation/main/NameEvalEnv.sig \ src/compiler/nameevaluation/main/NameEvalError.ppg.sml \ src/compiler/elaborate/main/Elaborator.sml \ src/compiler/elaborate/main/ElaborateInterface.sml \ src/compiler/elaborate/main/UserTvarScope.sml \ src/compiler/elaborate/main/ElaborateModule.sml \ src/compiler/elaborate/main/ElaborateCore.sml \ src/compiler/elaborate/main/ElaborateSQL.sml \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.sml \ src/compiler/elaborate/main/ElaboratorUtils.sml \ src/compiler/util/main/utils.sml \ src/compiler/usererror/main/UserErrorUtils.sml \ src/compiler/elaborate/main/ElaborateError.ppg.sml \ src/compiler/elaborate/main/ELABORATOR.sig \ src/compiler/absyn/main/Fixity.sml \ src/compiler/loadfile/main/LoadFile.sml \ src/compiler/loadfile/main/LoadFileError.ppg.sml \ src/compiler/loadfile/main/InterfaceHash.sml \ src/compiler/loadfile/main/SHA1.sml \ src/compiler/types/main/VarMap.sml \ src/compiler/types/main/IDCalc.ppg.sml \ src/compiler/types/main/Types.ppg.sml \ src/compiler/types/main/OPrimInstMap.sml \ src/compiler/types/main/tvarMap.sml \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.sml \ src/compiler/util/main/gensym.sml \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.sml \ src/compiler/patterncalc/main/PatternCalc.ppg.sml \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.sml \ src/compiler/absyn/main/AbsynFormatter.sml \ src/compiler/absyn/main/ABSYN_FORMATTER.sig \ src/compiler/generatemain/main/GenerateMain.sml \ src/compiler/generatemain/main/GenerateMainError.ppg.sml \ src/compiler/parser2/main/InterfaceParser.sml \ src/compiler/parser2/main/interface.grm.sml \ src/compiler/parser2/main/interface.grm.sig \ src/compiler/parser2/main/Parser.sml \ src/compiler/parser2/main/imlLexFun.lex.sml \ src/compiler/parser2/main/iml.grm.sml \ src/compiler/parser2/main/iml.grm.sig \ src/compiler/parser2/main/ParserError.ppg.sml \ src/ml-yacc/lib/parser2.sml \ src/ml-yacc/lib/stream.sml \ src/ml-yacc/lib/lrtable.sml \ src/ml-yacc/lib/base.sig \ src/compiler/absyn/main/AbsynInterface.ppg.sml \ src/compiler/absyn/main/Absyn.ppg.sml \ src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/AbsynSQL.ppg.sml \ src/compiler/util/main/SmlppgUtil.ppg.sml \ src/compiler-utils/env/main/SSet.sml \ src/compiler-utils/env/main/SOrd.sml \ src/compiler/util/main/TermFormat.sml \ src/compiler/util/main/BigInt_IntInf.sml \ src/compiler/util/main/ListSorter.sml \ src/compiler-utils/env/main/LabelEnv.sml \ src/compiler-utils/env/main/LabelOrd.sml \ src/smlnj-lib/Util/binary-map-fn.sml \ src/smlnj-lib/Util/ord-map-sig.sml \ src/compiler/name/main/LocalID.sml \ src/compiler/name/main/GenIDFun.sml \ src/compiler/name/main/LOCAL_ID.sig \ src/compiler-utils/env/main/ISet.sml \ src/compiler-utils/env/main/IOrd.sml \ src/compiler/toolchain/main/BinUtils.sml \ src/compiler/toolchain/main/TempFile.sml \ src/compiler/toolchain/main/CoreUtils.sml \ src/compiler/usererror/main/UserError.ppg.sml \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/util/main/Counter.sml \ src/compiler/util/main/COUNTER.sig \ src/compiler-utils/env/main/IEnv.sml \ src/smlnj-lib/Util/binary-set-fn.sml \ src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/ord-key-sig.sml \ src/compiler/control/main/Control.ppg.sml \ src/compiler/control/main/Loc.ppg.sml \ src/compiler/control/main/LOC.sig \ src/smlformat/formatlib/main/SMLFormat.sml \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/BasicFormatters.sml \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/PreProcessor.sml \ src/smlformat/formatlib/main/Truncator.sml \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/PrettyPrinter.sml \ src/smlformat/formatlib/main/PreProcessedExpression.sml \ src/smlformat/formatlib/main/AssocResolver.sml \ src/smlformat/formatlib/main/PrinterParameter.sml \ src/smlformat/formatlib/main/FormatExpression.sml \ src/smlformat/formatlib/main/FormatExpressionTypes.sml \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlnj-lib/Util/parser-comb.sml \ src/smlnj-lib/Util/parser-comb-sig.sml \ src/config/main/Config.sml \ src/compiler/toolchain/main/Filename.sml \ src/compiler-utils/env/main/SEnv.sml \ src/compiler-utils/env/main/ENV.sig \ src/smlnj-lib/Util/lib-base.sml \ src/smlnj-lib/Util/lib-base-sig.sml \ src/config/main/Version.sml \ src/basis/main/binary-op.sml \ src/basis/main/WORD.sig \ src/basis/main/VECTOR_SLICE.sig \ src/basis/main/VECTOR.sig \ src/basis/main/REAL.sig \ src/basis/main/INT_INF.sig \ src/basis/main/INTEGER.sig \ src/basis/main/BYTE.sig \ src/basis/main/ARRAY_SLICE.sig \ src/basis/main/ARRAY.sig \ src/basis/main/Date.sml \ src/basis/main/DATE.sig \ src/basis/main/Timer.sml \ src/smlnj/Basis/internal-timer.sml \ src/basis/main/TIMER.sig \ src/basis/main/ArraySlice.sml \ src/basis/main/CommandLine.sml \ src/basis/main/COMMAND_LINE.sig \ src/basis/main/Text.sml \ src/basis/main/TEXT.sig \ src/basis/main/BinIO.sml \ src/basis/main/BIN_IO.sig \ src/basis/main/IMPERATIVE_IO.sig \ src/smlnj/Basis/IO/bin-io.sml \ src/smlnj/Basis/Unix/posix-bin-prim-io.sml \ src/basis/main/TextIO.sml \ src/basis/main/TEXT_IO.sig \ src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/STREAM_IO.sig \ src/smlnj/Basis/IO/text-io.sml \ src/smlnj/Basis/Unix/posix-text-prim-io.sml \ src/smlnj/Basis/Posix/posix-io.sml \ src/smlnj/Basis/IO/prim-io-bin.sml \ src/basis/main/Word8.sml \ src/smlnj/Basis/IO/os-prim-io.sig \ src/smlnj/Basis/IO/clean-io.sml \ src/smlnj/Basis/IO/prim-io-text.sml \ src/basis/main/CharArray.sml \ src/basis/main/PRIM_IO.sig \ src/basis/main/OS.sml \ src/basis/main/OS.sig \ src/basis/main/OS_FILE_SYS.sig \ src/smlnj/Basis/Unix/os-io.sml \ src/basis/main/OS_IO.sig \ src/basis/main/ListPair.sml \ src/basis/main/LIST_PAIR.sig \ src/smlnj/Basis/Unix/os-filesys.sml \ src/smlnj/Basis/Unix/os-path.sml \ src/smlnj/Basis/OS/os-path-fn.sml \ src/basis/main/OS_PATH.sig \ src/basis/main/SMLSharpOSProcess.sml \ src/basis/main/OS_PROCESS.sig \ src/smlnj/Basis/NJ/cleanup.sml \ src/smlnj/Basis/NJ/cleanup.sig \ src/basis/main/SMLSharpOSFileSys.sml \ src/basis/main/Byte.sml \ src/basis/main/Word8Array.sml \ src/basis/main/Word.sml \ src/basis/main/Time.sml \ src/basis/main/TIME.sig \ src/basis/main/Real32.sml \ src/basis/main/Real.sml \ src/basis/main/MATH.sig \ src/basis/main/Substring.sml \ src/basis/main/RealClass.sml \ src/basis/main/IEEEReal.sml \ src/basis/main/IEEE_REAL.sig \ src/basis/main/Int.sml \ src/basis/main/IntInf.sml \ src/basis/main/String.sml \ src/basis/main/CharVectorSlice.sml \ src/basis/main/CharVector.sml \ src/basis/main/StringBase.sml \ src/basis/main/SMLSharpRuntime.sml \ src/basis/main/IO.sml \ src/basis/main/IO.sig \ src/basis/main/Bool.sml \ src/basis/main/BOOL.sig \ src/basis/main/Word8VectorSlice.sml \ src/basis/main/Word8Vector.sml \ src/basis/main/SUBSTRING.sig \ src/basis/main/STRING.sig \ src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY.sig \ src/basis/main/Char.sml \ src/basis/main/CHAR.sig \ src/basis/main/SMLSharpScanChar.sml \ src/basis/main/StringCvt.sml \ src/basis/main/STRING_CVT.sig \ src/basis/main/VectorSlice.sml \ src/basis/main/Vector.sml \ src/basis/main/Array.sml \ src/basis/main/List.sml \ src/basis/main/LIST.sig \ src/basis/main/Option.sml \ src/basis/main/OPTION.sig \ src/basis/main/General.sml \ src/basis/main/GENERAL.sig COMPILER_LIB_OBJECTS = src/basis/main/General.o \ src/basis/main/Option.o \ src/basis/main/List.o \ src/basis/main/Array.o \ src/basis/main/Vector.o \ src/basis/main/VectorSlice.o \ src/basis/main/StringCvt.o \ src/basis/main/SMLSharpScanChar.o \ src/basis/main/Char.o \ src/basis/main/Word8Vector.o \ src/basis/main/Word8VectorSlice.o \ src/basis/main/Bool.o \ src/basis/main/IO.o \ src/basis/main/SMLSharpRuntime.o \ src/basis/main/StringBase.o \ src/basis/main/CharVector.o \ src/basis/main/CharVectorSlice.o \ src/basis/main/String.o \ src/basis/main/IntInf.o \ src/basis/main/Int.o \ src/basis/main/IEEEReal.o \ src/basis/main/RealClass.o \ src/basis/main/Substring.o \ src/basis/main/Real.o \ src/basis/main/Real32.o \ src/basis/main/Time.o \ src/basis/main/Word.o \ src/basis/main/Word8Array.o \ src/basis/main/Byte.o \ src/basis/main/SMLSharpOSFileSys.o \ src/smlnj/Basis/NJ/cleanup.o \ src/basis/main/SMLSharpOSProcess.o \ src/smlnj/Basis/OS/os-path-fn.o \ src/smlnj/Basis/Unix/os-path.o \ src/smlnj/Basis/Unix/os-filesys.o \ src/basis/main/ListPair.o \ src/smlnj/Basis/Unix/os-io.o \ src/basis/main/OS.o \ src/basis/main/CharArray.o \ src/smlnj/Basis/IO/prim-io-text.o \ src/smlnj/Basis/IO/clean-io.o \ src/basis/main/Word8.o \ src/smlnj/Basis/IO/prim-io-bin.o \ src/smlnj/Basis/Posix/posix-io.o \ src/smlnj/Basis/Unix/posix-text-prim-io.o \ src/smlnj/Basis/IO/text-io.o \ src/basis/main/TextIO.o \ src/smlnj/Basis/Unix/posix-bin-prim-io.o \ src/smlnj/Basis/IO/bin-io.o \ src/basis/main/BinIO.o \ src/basis/main/Text.o \ src/basis/main/CommandLine.o \ src/basis/main/ArraySlice.o \ src/smlnj/Basis/internal-timer.o \ src/basis/main/Timer.o \ src/basis/main/Date.o \ src/basis/main/binary-op.o \ src/ml-yacc/lib/lrtable.o \ src/ml-yacc/lib/stream.o \ src/ml-yacc/lib/parser2.o \ src/smlnj-lib/Util/parser-comb.o \ src/smlformat/formatlib/main/FormatExpressionTypes.o \ src/smlformat/formatlib/main/FormatExpression.o \ src/smlformat/formatlib/main/PrinterParameter.o \ src/smlformat/formatlib/main/AssocResolver.o \ src/smlformat/formatlib/main/PreProcessedExpression.o \ src/smlformat/formatlib/main/PrettyPrinter.o \ src/smlformat/formatlib/main/Truncator.o \ src/smlformat/formatlib/main/PreProcessor.o \ src/smlformat/formatlib/main/BasicFormatters.o \ src/smlformat/formatlib/main/SMLFormat.o \ src/ffi/main/DynamicLink.o \ src/ffi/main/Pointer.o \ src/smlnj-lib/Util/lib-base.o \ src/compiler-utils/env/main/SEnv.o \ src/config/main/Version.o \ src/compiler/toolchain/main/Filename.o \ src/config/main/Config.o \ src/sql/main/PGSQL.o \ src/sql/main/PGSQLBackend.o \ src/sql/main/Backend.o \ src/sql/main/SQLPrim.o \ src/sql/main/SQLUtils.o \ src/sql/main/SQL.o \ src/reifiedterm/main/ReflectionControl.o \ src/smlnj-lib/Util/binary-map-fn.o \ src/compiler-utils/env/main/LabelOrd.o \ src/compiler-utils/env/main/LabelEnv.o \ src/reifiedterm/main/TermPrintUtils.ppg.o \ src/reifiedterm/main/ReifiedTerm.ppg.o \ src/unix-utils/main/UnixUtils.o \ src/compiler/control/main/Loc.ppg.o \ src/compiler/control/main/Control.ppg.o \ src/smlnj-lib/Util/binary-set-fn.o \ src/compiler-utils/env/main/IEnv.o \ src/compiler/util/main/Counter.o \ src/compiler/usererror/main/UserError.ppg.o \ src/compiler/toolchain/main/CoreUtils.o \ src/compiler/toolchain/main/TempFile.o \ src/compiler/toolchain/main/BinUtils.o \ src/compiler-utils/env/main/IOrd.o \ src/compiler-utils/env/main/ISet.o \ src/compiler/name/main/GenIDFun.o \ src/compiler/name/main/LocalID.o \ src/compiler/util/main/ListSorter.o \ src/compiler/util/main/BigInt_IntInf.o \ src/compiler/util/main/TermFormat.o \ src/compiler-utils/env/main/SOrd.o \ src/compiler-utils/env/main/SSet.o \ src/compiler/util/main/SmlppgUtil.ppg.o \ src/compiler/absyn/main/AbsynSQL.ppg.o \ src/compiler/absyn/main/Absyn.ppg.o \ src/compiler/absyn/main/AbsynInterface.ppg.o \ src/compiler/parser2/main/ParserError.ppg.o \ src/compiler/parser2/main/iml.grm.o \ src/compiler/parser2/main/imlLexFun.lex.o \ src/compiler/parser2/main/Parser.o \ src/compiler/parser2/main/interface.grm.o \ src/compiler/parser2/main/InterfaceParser.o \ src/compiler/generatemain/main/GenerateMainError.ppg.o \ src/compiler/generatemain/main/GenerateMain.o \ src/compiler/absyn/main/AbsynFormatter.o \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.o \ src/compiler/patterncalc/main/PatternCalc.ppg.o \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.o \ src/compiler/util/main/gensym.o \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.o \ src/compiler/types/main/tvarMap.o \ src/compiler/types/main/OPrimInstMap.o \ src/compiler/types/main/Types.ppg.o \ src/compiler/types/main/IDCalc.ppg.o \ src/compiler/types/main/VarMap.o \ src/compiler/loadfile/main/SHA1.o \ src/compiler/loadfile/main/InterfaceHash.o \ src/compiler/loadfile/main/LoadFileError.ppg.o \ src/compiler/loadfile/main/LoadFile.o \ src/compiler/absyn/main/Fixity.o \ src/compiler/elaborate/main/ElaborateError.ppg.o \ src/compiler/usererror/main/UserErrorUtils.o \ src/compiler/util/main/utils.o \ src/compiler/elaborate/main/ElaboratorUtils.o \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.o \ src/compiler/elaborate/main/ElaborateSQL.o \ src/compiler/elaborate/main/ElaborateCore.o \ src/compiler/elaborate/main/ElaborateModule.o \ src/compiler/elaborate/main/UserTvarScope.o \ src/compiler/elaborate/main/ElaborateInterface.o \ src/compiler/elaborate/main/Elaborator.o \ src/compiler/nameevaluation/main/NameEvalError.ppg.o \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.o \ src/compiler-utils/env/main/PathEnv.o \ src/compiler/types/main/OPrimMap.o \ src/compiler/types/main/EvalIty.o \ src/compiler/builtin2/main/BuiltinTypes.o \ src/compiler/nameevaluation/main/TfunVars.o \ src/compiler/nameevaluation/main/NameEvalUtils.o \ src/compiler/nameevaluation/main/NormalizeTy.o \ src/compiler/util/main/Graph.o \ src/compiler/util/main/SCCFun.o \ src/compiler/nameevaluation/main/SetLiftedTys.o \ src/compiler/nameevaluation/main/EvalTy.o \ src/compiler/nameevaluation/main/Subst.o \ src/compiler/nameevaluation/main/EvalSig.o \ src/compiler/nameevaluation/main/FunctorUtils.o \ src/compiler/nameevaluation/main/SigCheck.o \ src/compiler/nameevaluation/main/NameEvalInterface.o \ src/compiler/nameevaluation/main/CheckProvide.o \ src/compiler/nameevaluation/main/NameEval.o \ src/compiler/valrecoptimization/main/utils.o \ src/compiler/valrecoptimization/main/VALREC_Optimizer.o \ src/compiler/valrecoptimization/main/TransFundecl.o \ src/compiler/typedcalc/main/TypedCalc.ppg.o \ src/compiler/types/main/vars.o \ src/compiler/types/main/TypesUtils.o \ src/compiler/typedcalc/main/TypedCalcUtils.o \ src/compiler/typeinference2/main/TypeInferenceContext.ppg.o \ src/compiler/typeinference2/main/Printers.o \ src/compiler/types/main/TyPrinters.o \ src/compiler/types/main/TyAlphaRename.o \ src/compiler/typedcalc/main/TCAlphaRename.o \ src/compiler/types/main/TyReduce.o \ src/compiler/typedcalcoptimization/main/TCAnalyse.o \ src/compiler/typedcalcoptimization/main/TCSize.o \ src/compiler/types/main/CheckEq.o \ src/compiler/types/main/Unify.o \ src/compiler/types/main/TyRevealTy.o \ src/compiler/typeinference2/main/TypeInferenceUtils.o \ src/compiler/typedcalcoptimization/main/TCRevealTy.o \ src/compiler/typedcalcoptimization/main/TCOptimize.o \ src/compiler/recordcalc/main/RecordCalc.ppg.o \ src/compiler/recordcalc/main/RecordCalcUtils.o \ src/compiler/recordcalc/main/RCAlphaRename.o \ src/compiler/recordcalcoptimization/main/RCAnalyse.o \ src/compiler/recordcalcoptimization/main/RCSize.o \ src/compiler/recordcalcoptimization/main/RCRevealTy.o \ src/compiler/recordcalcoptimization/main/RCOptimize.o \ src/compiler/constantterm/main/ConstantTerm.ppg.o \ src/compiler/types/main/IDCalcUtils.o \ src/compiler/typeinference2/main/TypeInferenceError.ppg.o \ src/compiler/typeinference2/main/InferTypes2.o \ src/compiler/typeinference2/main/UncurryFundecl_ng.o \ src/compiler/reflection/main/ReifiedTermData.o \ src/compiler/reflection/main/Reify.o \ src/compiler/reflection/main/PrinterGeneration.o \ src/compiler/recordcalc/main/RecordCalcFormatter.o \ src/compiler/matchcompilation/main/MatchData.o \ src/compiler/matchcompilation/main/MatchError.ppg.o \ src/compiler/matchcompilation/main/MatchCompiler.o \ src/compiler/sqlcompilation/main/SQLCompilation.o \ src/compiler/fficompilation/main/FFICompilation.o \ src/compiler/recordcompilation/main/OverloadKind.o \ src/compiler/recordcompilation/main/RecordKind.o \ src/compiler/recordcompilation/main/UnivKind.o \ src/compiler/recordcompilation/main/RecordCompilation.o \ src/compiler/typedlambda/main/TypedLambda.ppg.o \ src/compiler/typedlambda/main/TypedLambdaFormatter.o \ src/compiler/datatypecompilation/main/DatatypeCompilation.o \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.o \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.o \ src/compiler/annotatedcalc/main/AnnotatedCalcFormatter.o \ src/compiler/annotatedtypes/main/AnnotatedTypesUtils.o \ src/compiler/staticanalysis/main/ReduceTy.o \ src/compiler/staticanalysis/main/SAConstraint.o \ src/compiler/staticanalysis/main/SAContext.o \ src/compiler/staticanalysis/main/StaticAnalysis.o \ src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.o \ src/compiler/multiplevaluecalc/main/MultipleValueCalcFormatter.o \ src/compiler/multiplevaluecalc/main/MultipleValueCalcUtils.o \ src/compiler/recordunboxing/main/RecordUnboxing.o \ src/compiler/bitmapcalc/main/BitmapCalc.ppg.o \ src/compiler/runtimetypes/main/RuntimeTypes.ppg.o \ src/compiler/runtimetypes/main/TypeLayout.o \ src/compiler/bitmapcompilation/main/RecordLayout.o \ src/compiler/bitmapcompilation/main/SingletonTyEnv.o \ src/compiler/bitmapcompilation/main/BitmapCompilation.o \ src/compiler/bitmapanormal/main/BitmapANormal.ppg.o \ src/compiler/bitmapanormal/main/TypeCheckBitmapANormal.o \ src/compiler/bitmapanormalization/main/BitmapANormalization.o \ src/compiler/bitmapanormaloptimize/main/BitmapANormalReorder.o \ src/compiler/closureanormal/main/ClosureANormal.ppg.o \ src/compiler/closureconversion/main/ClosureConversion.o \ src/compiler/systemdef/main/BasicTypes.o \ src/compiler/systemdef/main/BasicTypeFormatters.o \ src/compiler/yaanormal/main/ANormal.ppg.o \ src/compiler/toyaanormal/main/NameMangle.o \ src/compiler/toyaanormal/main/ToYAANormal.o \ src/compiler/yaanormalization/main/ANormalOptimization.o \ src/compiler/yaanormalization/main/StaticAllocation.o \ src/compiler/targetplatform/main/TargetPlatformFormatter.o \ src/compiler/targetplatform/main/TargetProperty.o \ src/compiler/targetplatform/main/VMTarget.o \ src/compiler/abstractinstruction2/main/AbstractInstruction.ppg.o \ src/compiler/abstractinstruction2/main/AbstractInstructionFormatter.o \ src/compiler/aigenerator2/main/AIPrimitive.o \ src/compiler/aigenerator2/main/BinarySearchCode.o \ src/compiler/aigenerator2/main/CallAnalysis.o \ src/compiler/aigenerator2/main/Simplify.o \ src/compiler/aigenerator2/main/AIGenerator.o \ src/compiler/rtl/main/RTL.ppg.o \ src/compiler/rtl/main/RTLEdit.o \ src/compiler/rtl/main/RTLUtils.o \ src/compiler/rtl/main/RTLLiveness.o \ src/compiler/rtl/main/RTLTypeCheckError.ppg.o \ src/compiler/rtl/main/RTLTypeCheck.o \ src/compiler/rtl/main/RTLBackendContext.o \ src/compiler/rtl/main/IEEERealConst.o \ src/compiler/rtl/main/X86Asm.ppg.o \ src/compiler/rtl/main/X86Emit.o \ src/compiler/rtl/main/X86Subst.o \ src/compiler/rtl/main/RTLDominate.o \ src/compiler/rtl/main/X86Select.o \ src/compiler/rtl/main/RTLStabilize.o \ src/compiler/rtl/main/X86Stabilize.o \ src/compiler/rtl/main/RTLRename.o \ src/compiler/rtl/main/Coloring.o \ src/compiler/rtl/main/RTLColoring.o \ src/compiler/rtl/main/X86Constraint.o \ src/compiler/rtl/main/X86Coloring.o \ src/compiler/rtl/main/FrameLayout.o \ src/compiler/rtl/main/X86Frame.o \ src/compiler/rtl/main/X86AsmGen.o \ src/compiler/toplevel2/main/TopData.ppg.o \ src/compiler/toplevel2/main/NameEvalEnvUtils.o \ src/compiler/toplevel2/main/Top.o \ src/compiler/main/main/GetOpt.o \ src/compiler/main/main/SMLofNJ.o \ src/compiler/main/main/RunLoop.o \ src/compiler/main/main/ExecutablePath.o \ src/compiler/main/main/SimpleMain.o \ src/compiler/smlsharp.o COMPILER_LIB_SOURCES = \ src/compiler/smlsharp.sml \ src/compiler/main/main/SimpleMain.sml \ src/compiler/main/main/ExecutablePath.sml \ src/compiler/main/main/RunLoop.sml \ src/compiler/main/main/SMLofNJ.sml \ src/compiler/main/main/GetOpt.sml \ src/compiler/toplevel2/main/Top.sml \ src/compiler/toplevel2/main/NameEvalEnvUtils.sml \ src/compiler/toplevel2/main/TopData.ppg.sml \ src/compiler/rtl/main/X86AsmGen.sml \ src/compiler/rtl/main/RTLASMGEN.sig \ src/compiler/rtl/main/X86Frame.sml \ src/compiler/rtl/main/RTLFRAME.sig \ src/compiler/rtl/main/FrameLayout.sml \ src/compiler/rtl/main/X86Coloring.sml \ src/compiler/rtl/main/X86Constraint.sml \ src/compiler/rtl/main/RTLColoring.sml \ src/compiler/rtl/main/RTLCOLORING.sig \ src/compiler/rtl/main/RTLCONSTRAINT.sig \ src/compiler/rtl/main/Coloring.sml \ src/compiler/rtl/main/RTLRename.sml \ src/compiler/rtl/main/X86Stabilize.sml \ src/compiler/rtl/main/RTLStabilize.sml \ src/compiler/rtl/main/RTLSTABILIZE.sig \ src/compiler/rtl/main/X86Select.sml \ src/compiler/rtl/main/RTLDominate.sml \ src/compiler/rtl/main/X86Subst.sml \ src/compiler/rtl/main/RTLSUBST.sig \ src/compiler/rtl/main/X86Emit.sml \ src/compiler/rtl/main/X86Asm.ppg.sml \ src/compiler/rtl/main/RTLEMIT.sig \ src/compiler/rtl/main/IEEERealConst.sml \ src/compiler/rtl/main/RTLSELECT.sig \ src/compiler/rtl/main/RTLBackendContext.sml \ src/compiler/rtl/main/RTLTypeCheck.sml \ src/compiler/rtl/main/RTLTypeCheckError.ppg.sml \ src/compiler/rtl/main/RTLLiveness.sml \ src/compiler/rtl/main/RTLUtils.sml \ src/compiler/rtl/main/RTLEdit.sml \ src/compiler/rtl/main/RTL.ppg.sml \ src/compiler/aigenerator2/main/AIGenerator.sml \ src/compiler/aigenerator2/main/Simplify.sml \ src/compiler/aigenerator2/main/CallAnalysis.sml \ src/compiler/aigenerator2/main/BinarySearchCode.sml \ src/compiler/aigenerator2/main/AIPrimitive.sml \ src/compiler/aigenerator2/main/AIGENERATOR.sig \ src/compiler/abstractinstruction2/main/AbstractInstructionFormatter.sml \ src/compiler/abstractinstruction2/main/AbstractInstruction.ppg.sml \ src/compiler/targetplatform/main/VMTarget.sml \ src/compiler/targetplatform/main/TargetProperty.sml \ src/compiler/targetplatform/main/TARGET_PROPERTY.sig \ src/compiler/targetplatform/main/TargetPlatformFormatter.sml \ src/compiler/targetplatform/main/TARGET_PLATFORM.sig \ src/compiler/yaanormalization/main/StaticAllocation.sml \ src/compiler/yaanormalization/main/ANormalOptimization.sml \ src/compiler/yaanormalization/main/ANORMALOPTIMIZATION.sig \ src/compiler/toyaanormal/main/ToYAANormal.sml \ src/compiler/toyaanormal/main/NameMangle.sml \ src/compiler/yaanormal/main/ANormal.ppg.sml \ src/compiler/systemdef/main/BasicTypeFormatters.sml \ src/compiler/systemdef/main/BasicTypes.sml \ src/compiler/closureconversion/main/ClosureConversion.sml \ src/compiler/closureanormal/main/ClosureANormal.ppg.sml \ src/compiler/bitmapanormaloptimize/main/BitmapANormalReorder.sml \ src/compiler/bitmapanormalization/main/BitmapANormalization.sml \ src/compiler/bitmapanormal/main/TypeCheckBitmapANormal.sml \ src/compiler/bitmapanormal/main/BitmapANormal.ppg.sml \ src/compiler/bitmapcompilation/main/BitmapCompilation.sml \ src/compiler/bitmapcompilation/main/SingletonTyEnv.sml \ src/compiler/bitmapcompilation/main/RecordLayout.sml \ src/compiler/runtimetypes/main/TypeLayout.sml \ src/compiler/runtimetypes/main/RuntimeTypes.ppg.sml \ src/compiler/bitmapcalc/main/BitmapCalc.ppg.sml \ src/compiler/recordunboxing/main/RecordUnboxing.sml \ src/compiler/multiplevaluecalc/main/MultipleValueCalcUtils.sml \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCUTILS.sig \ src/compiler/multiplevaluecalc/main/MultipleValueCalcFormatter.sml \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCFORMATTER.sig \ src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.sml \ src/compiler/staticanalysis/main/StaticAnalysis.sml \ src/compiler/staticanalysis/main/SAContext.sml \ src/compiler/staticanalysis/main/SACONTEXT.sig \ src/compiler/staticanalysis/main/SAConstraint.sml \ src/compiler/staticanalysis/main/SACONSTRAINT.sig \ src/compiler/staticanalysis/main/ReduceTy.sml \ src/compiler/annotatedtypes/main/AnnotatedTypesUtils.sml \ src/compiler/annotatedtypes/main/ANNOTATEDTYPESUTILS.sig \ src/compiler/annotatedcalc/main/AnnotatedCalcFormatter.sml \ src/compiler/annotatedcalc/main/ANNOTATEDCALCFORMATTER.sig \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.sml \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.sml \ src/compiler/datatypecompilation/main/DatatypeCompilation.sml \ src/compiler/typedlambda/main/TypedLambdaFormatter.sml \ src/compiler/typedlambda/main/TypedLambda.ppg.sml \ src/compiler/recordcompilation/main/RecordCompilation.sml \ src/compiler/recordcompilation/main/UnivKind.sml \ src/compiler/recordcompilation/main/RecordKind.sml \ src/compiler/recordcompilation/main/OverloadKind.sml \ src/compiler/fficompilation/main/FFICompilation.sml \ src/compiler/sqlcompilation/main/SQLCompilation.sml \ src/compiler/matchcompilation/main/MatchCompiler.sml \ src/compiler/matchcompilation/main/MatchError.ppg.sml \ src/compiler/matchcompilation/main/MatchData.sml \ src/compiler/recordcalc/main/RecordCalcFormatter.sml \ src/compiler/reflection/main/PrinterGeneration.sml \ src/compiler/reflection/main/Reify.sml \ src/compiler/reflection/main/ReifiedTermData.sml \ src/compiler/typeinference2/main/UncurryFundecl_ng.sml \ src/compiler/typeinference2/main/UNCURRYFUNDECL.sig \ src/compiler/typeinference2/main/InferTypes2.sml \ src/compiler/typeinference2/main/TypeInferenceError.ppg.sml \ src/compiler/types/main/IDCalcUtils.sml \ src/compiler/constantterm/main/ConstantTerm.ppg.sml \ src/compiler/recordcalcoptimization/main/RCOptimize.sml \ src/compiler/recordcalcoptimization/main/RCRevealTy.sml \ src/compiler/recordcalcoptimization/main/RCSize.sml \ src/compiler/recordcalcoptimization/main/RCAnalyse.sml \ src/compiler/recordcalc/main/RCAlphaRename.sml \ src/compiler/recordcalc/main/RecordCalcUtils.sml \ src/compiler/recordcalc/main/RecordCalc.ppg.sml \ src/compiler/typedcalcoptimization/main/TCOptimize.sml \ src/compiler/typedcalcoptimization/main/TCRevealTy.sml \ src/compiler/typeinference2/main/TypeInferenceUtils.sml \ src/compiler/types/main/TyRevealTy.sml \ src/compiler/types/main/Unify.sml \ src/compiler/types/main/CheckEq.sml \ src/compiler/typedcalcoptimization/main/TCSize.sml \ src/compiler/typedcalcoptimization/main/TCAnalyse.sml \ src/compiler/types/main/TyReduce.sml \ src/compiler/typedcalc/main/TCAlphaRename.sml \ src/compiler/types/main/TyAlphaRename.sml \ src/compiler/types/main/TyPrinters.sml \ src/compiler/typeinference2/main/Printers.sml \ src/compiler/typeinference2/main/TypeInferenceContext.ppg.sml \ src/compiler/typedcalc/main/TypedCalcUtils.sml \ src/compiler/types/main/TypesUtils.sml \ src/compiler/types/main/vars.sml \ src/compiler/typedcalc/main/TypedCalc.ppg.sml \ src/compiler/valrecoptimization/main/TransFundecl.sml \ src/compiler/valrecoptimization/main/TRANS_FUNDECL.sig \ src/compiler/valrecoptimization/main/VALREC_Optimizer.sml \ src/compiler/valrecoptimization/main/utils.sml \ src/compiler/valrecoptimization/main/VALREC_OPTIMIZER.sig \ src/compiler/nameevaluation/main/NameEval.sml \ src/compiler/nameevaluation/main/CheckProvide.sml \ src/compiler/nameevaluation/main/NameEvalInterface.sml \ src/compiler/nameevaluation/main/SigCheck.sml \ src/compiler/nameevaluation/main/FunctorUtils.sml \ src/compiler/nameevaluation/main/EvalSig.sml \ src/compiler/nameevaluation/main/Subst.sml \ src/compiler/nameevaluation/main/EvalTy.sml \ src/compiler/nameevaluation/main/SetLiftedTys.sml \ src/compiler/util/main/SCCFun.sml \ src/compiler/util/main/Graph.sml \ src/compiler/util/main/GRAPH.sig \ src/compiler/nameevaluation/main/NormalizeTy.sml \ src/compiler/nameevaluation/main/NameEvalUtils.sml \ src/compiler/nameevaluation/main/TfunVars.sml \ src/compiler/builtin2/main/BuiltinTypes.sml \ src/compiler/types/main/EvalIty.sml \ src/compiler/types/main/OPrimMap.sml \ src/compiler-utils/env/main/PathEnv.sml \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.sml \ src/compiler/nameevaluation/main/NameEvalEnv.sig \ src/compiler/nameevaluation/main/NameEvalError.ppg.sml \ src/compiler/elaborate/main/Elaborator.sml \ src/compiler/elaborate/main/ElaborateInterface.sml \ src/compiler/elaborate/main/UserTvarScope.sml \ src/compiler/elaborate/main/ElaborateModule.sml \ src/compiler/elaborate/main/ElaborateCore.sml \ src/compiler/elaborate/main/ElaborateSQL.sml \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.sml \ src/compiler/elaborate/main/ElaboratorUtils.sml \ src/compiler/util/main/utils.sml \ src/compiler/usererror/main/UserErrorUtils.sml \ src/compiler/elaborate/main/ElaborateError.ppg.sml \ src/compiler/elaborate/main/ELABORATOR.sig \ src/compiler/absyn/main/Fixity.sml \ src/compiler/loadfile/main/LoadFile.sml \ src/compiler/loadfile/main/LoadFileError.ppg.sml \ src/compiler/loadfile/main/InterfaceHash.sml \ src/compiler/loadfile/main/SHA1.sml \ src/compiler/types/main/VarMap.sml \ src/compiler/types/main/IDCalc.ppg.sml \ src/compiler/types/main/Types.ppg.sml \ src/compiler/types/main/OPrimInstMap.sml \ src/compiler/types/main/tvarMap.sml \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.sml \ src/compiler/util/main/gensym.sml \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.sml \ src/compiler/patterncalc/main/PatternCalc.ppg.sml \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.sml \ src/compiler/absyn/main/AbsynFormatter.sml \ src/compiler/absyn/main/ABSYN_FORMATTER.sig \ src/compiler/generatemain/main/GenerateMain.sml \ src/compiler/generatemain/main/GenerateMainError.ppg.sml \ src/compiler/parser2/main/InterfaceParser.sml \ src/compiler/parser2/main/interface.grm.sml \ src/compiler/parser2/main/interface.grm.sig \ src/compiler/parser2/main/Parser.sml \ src/compiler/parser2/main/imlLexFun.lex.sml \ src/compiler/parser2/main/iml.grm.sml \ src/compiler/parser2/main/iml.grm.sig \ src/compiler/parser2/main/ParserError.ppg.sml \ src/compiler/absyn/main/AbsynInterface.ppg.sml \ src/compiler/absyn/main/Absyn.ppg.sml \ src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/AbsynSQL.ppg.sml \ src/compiler/util/main/SmlppgUtil.ppg.sml \ src/compiler-utils/env/main/SSet.sml \ src/compiler-utils/env/main/SOrd.sml \ src/compiler/util/main/TermFormat.sml \ src/compiler/util/main/BigInt_IntInf.sml \ src/compiler/util/main/ListSorter.sml \ src/compiler/name/main/LocalID.sml \ src/compiler/name/main/GenIDFun.sml \ src/compiler/name/main/LOCAL_ID.sig \ src/compiler-utils/env/main/ISet.sml \ src/compiler-utils/env/main/IOrd.sml \ src/compiler/toolchain/main/BinUtils.sml \ src/compiler/toolchain/main/TempFile.sml \ src/compiler/toolchain/main/CoreUtils.sml \ src/compiler/usererror/main/UserError.ppg.sml \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/util/main/Counter.sml \ src/compiler/util/main/COUNTER.sig \ src/compiler-utils/env/main/IEnv.sml \ src/smlnj-lib/Util/binary-set-fn.sml \ src/smlnj-lib/Util/ord-set-sig.sml \ src/compiler/control/main/Control.ppg.sml \ src/compiler/control/main/Loc.ppg.sml \ src/compiler/control/main/LOC.sig \ src/unix-utils/main/UnixUtils.sml \ src/reifiedterm/main/ReifiedTerm.ppg.sml \ src/reifiedterm/main/TermPrintUtils.ppg.sml \ src/compiler-utils/env/main/LabelEnv.sml \ src/compiler-utils/env/main/LabelOrd.sml \ src/smlnj-lib/Util/binary-map-fn.sml \ src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/ord-key-sig.sml \ src/reifiedterm/main/ReflectionControl.sml \ src/sql/main/SQL.sml \ src/sql/main/SQLUtils.sml \ src/sql/main/SQLPrim.sml \ src/sql/main/Backend.sml \ src/sql/main/PGSQLBackend.sml \ src/sql/main/SQLBACKEND.sig \ src/sql/main/PGSQL.sml \ src/config/main/Config.sml \ src/compiler/toolchain/main/Filename.sml \ src/config/main/Version.sml \ src/compiler-utils/env/main/SEnv.sml \ src/compiler-utils/env/main/ENV.sig \ src/smlnj-lib/Util/lib-base.sml \ src/smlnj-lib/Util/lib-base-sig.sml \ src/ffi/main/Pointer.sml \ src/ffi/main/DynamicLink.sml \ src/smlformat/formatlib/main/SMLFormat.sml \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/BasicFormatters.sml \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/PreProcessor.sml \ src/smlformat/formatlib/main/Truncator.sml \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/PrettyPrinter.sml \ src/smlformat/formatlib/main/PreProcessedExpression.sml \ src/smlformat/formatlib/main/AssocResolver.sml \ src/smlformat/formatlib/main/PrinterParameter.sml \ src/smlformat/formatlib/main/FormatExpression.sml \ src/smlformat/formatlib/main/FormatExpressionTypes.sml \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlnj-lib/Util/parser-comb.sml \ src/smlnj-lib/Util/parser-comb-sig.sml \ src/ml-yacc/lib/parser2.sml \ src/ml-yacc/lib/stream.sml \ src/ml-yacc/lib/lrtable.sml \ src/ml-yacc/lib/base.sig \ src/basis/main/binary-op.sml \ src/basis/main/WORD.sig \ src/basis/main/VECTOR_SLICE.sig \ src/basis/main/VECTOR.sig \ src/basis/main/REAL.sig \ src/basis/main/INT_INF.sig \ src/basis/main/INTEGER.sig \ src/basis/main/BYTE.sig \ src/basis/main/ARRAY_SLICE.sig \ src/basis/main/ARRAY.sig \ src/basis/main/Date.sml \ src/basis/main/DATE.sig \ src/basis/main/Timer.sml \ src/smlnj/Basis/internal-timer.sml \ src/basis/main/TIMER.sig \ src/basis/main/ArraySlice.sml \ src/basis/main/CommandLine.sml \ src/basis/main/COMMAND_LINE.sig \ src/basis/main/Text.sml \ src/basis/main/TEXT.sig \ src/basis/main/BinIO.sml \ src/basis/main/BIN_IO.sig \ src/basis/main/IMPERATIVE_IO.sig \ src/smlnj/Basis/IO/bin-io.sml \ src/smlnj/Basis/Unix/posix-bin-prim-io.sml \ src/basis/main/TextIO.sml \ src/basis/main/TEXT_IO.sig \ src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/STREAM_IO.sig \ src/smlnj/Basis/IO/text-io.sml \ src/smlnj/Basis/Unix/posix-text-prim-io.sml \ src/smlnj/Basis/Posix/posix-io.sml \ src/smlnj/Basis/IO/prim-io-bin.sml \ src/basis/main/Word8.sml \ src/smlnj/Basis/IO/os-prim-io.sig \ src/smlnj/Basis/IO/clean-io.sml \ src/smlnj/Basis/IO/prim-io-text.sml \ src/basis/main/CharArray.sml \ src/basis/main/PRIM_IO.sig \ src/basis/main/OS.sml \ src/basis/main/OS.sig \ src/basis/main/OS_FILE_SYS.sig \ src/smlnj/Basis/Unix/os-io.sml \ src/basis/main/OS_IO.sig \ src/basis/main/ListPair.sml \ src/basis/main/LIST_PAIR.sig \ src/smlnj/Basis/Unix/os-filesys.sml \ src/smlnj/Basis/Unix/os-path.sml \ src/smlnj/Basis/OS/os-path-fn.sml \ src/basis/main/OS_PATH.sig \ src/basis/main/SMLSharpOSProcess.sml \ src/basis/main/OS_PROCESS.sig \ src/smlnj/Basis/NJ/cleanup.sml \ src/smlnj/Basis/NJ/cleanup.sig \ src/basis/main/SMLSharpOSFileSys.sml \ src/basis/main/Byte.sml \ src/basis/main/Word8Array.sml \ src/basis/main/Word.sml \ src/basis/main/Time.sml \ src/basis/main/TIME.sig \ src/basis/main/Real32.sml \ src/basis/main/Real.sml \ src/basis/main/MATH.sig \ src/basis/main/Substring.sml \ src/basis/main/RealClass.sml \ src/basis/main/IEEEReal.sml \ src/basis/main/IEEE_REAL.sig \ src/basis/main/Int.sml \ src/basis/main/IntInf.sml \ src/basis/main/String.sml \ src/basis/main/CharVectorSlice.sml \ src/basis/main/CharVector.sml \ src/basis/main/StringBase.sml \ src/basis/main/SMLSharpRuntime.sml \ src/basis/main/IO.sml \ src/basis/main/IO.sig \ src/basis/main/Bool.sml \ src/basis/main/BOOL.sig \ src/basis/main/Word8VectorSlice.sml \ src/basis/main/Word8Vector.sml \ src/basis/main/SUBSTRING.sig \ src/basis/main/STRING.sig \ src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY.sig \ src/basis/main/Char.sml \ src/basis/main/CHAR.sig \ src/basis/main/SMLSharpScanChar.sml \ src/basis/main/StringCvt.sml \ src/basis/main/STRING_CVT.sig \ src/basis/main/VectorSlice.sml \ src/basis/main/Vector.sml \ src/basis/main/Array.sml \ src/basis/main/List.sml \ src/basis/main/LIST.sig \ src/basis/main/Option.sml \ src/basis/main/OPTION.sig \ src/basis/main/General.sml \ src/basis/main/GENERAL.sig SQL_LIB_OBJECTS = src/basis/main/General.o \ src/basis/main/Option.o \ src/basis/main/List.o \ src/basis/main/Array.o \ src/basis/main/Vector.o \ src/basis/main/VectorSlice.o \ src/basis/main/StringCvt.o \ src/basis/main/SMLSharpScanChar.o \ src/basis/main/Char.o \ src/basis/main/Word8Vector.o \ src/basis/main/Word8VectorSlice.o \ src/basis/main/Bool.o \ src/basis/main/IO.o \ src/basis/main/SMLSharpRuntime.o \ src/basis/main/StringBase.o \ src/basis/main/CharVector.o \ src/basis/main/CharVectorSlice.o \ src/basis/main/String.o \ src/basis/main/IntInf.o \ src/basis/main/Int.o \ src/basis/main/IEEEReal.o \ src/basis/main/RealClass.o \ src/basis/main/Substring.o \ src/basis/main/Real.o \ src/basis/main/Real32.o \ src/basis/main/Time.o \ src/basis/main/Word.o \ src/basis/main/Word8Array.o \ src/basis/main/Byte.o \ src/basis/main/SMLSharpOSFileSys.o \ src/smlnj/Basis/NJ/cleanup.o \ src/basis/main/SMLSharpOSProcess.o \ src/smlnj/Basis/OS/os-path-fn.o \ src/smlnj/Basis/Unix/os-path.o \ src/smlnj/Basis/Unix/os-filesys.o \ src/basis/main/ListPair.o \ src/smlnj/Basis/Unix/os-io.o \ src/basis/main/OS.o \ src/basis/main/CharArray.o \ src/smlnj/Basis/IO/prim-io-text.o \ src/smlnj/Basis/IO/clean-io.o \ src/basis/main/Word8.o \ src/smlnj/Basis/IO/prim-io-bin.o \ src/smlnj/Basis/Posix/posix-io.o \ src/smlnj/Basis/Unix/posix-text-prim-io.o \ src/smlnj/Basis/IO/text-io.o \ src/basis/main/TextIO.o \ src/smlnj/Basis/Unix/posix-bin-prim-io.o \ src/smlnj/Basis/IO/bin-io.o \ src/basis/main/BinIO.o \ src/basis/main/Text.o \ src/basis/main/CommandLine.o \ src/basis/main/ArraySlice.o \ src/smlnj/Basis/internal-timer.o \ src/basis/main/Timer.o \ src/basis/main/Date.o \ src/basis/main/binary-op.o \ src/smlnj-lib/Util/lib-base.o \ src/compiler-utils/env/main/SEnv.o \ src/config/main/Version.o \ src/compiler/toolchain/main/Filename.o \ src/config/main/Config.o \ src/ffi/main/DynamicLink.o \ src/ffi/main/Pointer.o \ src/sql/main/PGSQL.o \ src/sql/main/PGSQLBackend.o \ src/sql/main/Backend.o \ src/sql/main/SQLPrim.o \ src/sql/main/SQLUtils.o \ src/sql/main/SQL.o SQL_LIB_SOURCES = \ src/sql/main/SQL.sml \ src/sql/main/SQLUtils.sml \ src/sql/main/SQLPrim.sml \ src/sql/main/Backend.sml \ src/sql/main/PGSQLBackend.sml \ src/sql/main/SQLBACKEND.sig \ src/sql/main/PGSQL.sml \ src/ffi/main/Pointer.sml \ src/ffi/main/DynamicLink.sml \ src/config/main/Config.sml \ src/compiler/toolchain/main/Filename.sml \ src/config/main/Version.sml \ src/compiler-utils/env/main/SEnv.sml \ src/compiler-utils/env/main/ENV.sig \ src/smlnj-lib/Util/lib-base.sml \ src/smlnj-lib/Util/lib-base-sig.sml \ src/basis/main/binary-op.sml \ src/basis/main/WORD.sig \ src/basis/main/VECTOR_SLICE.sig \ src/basis/main/VECTOR.sig \ src/basis/main/REAL.sig \ src/basis/main/INT_INF.sig \ src/basis/main/INTEGER.sig \ src/basis/main/BYTE.sig \ src/basis/main/ARRAY_SLICE.sig \ src/basis/main/ARRAY.sig \ src/basis/main/Date.sml \ src/basis/main/DATE.sig \ src/basis/main/Timer.sml \ src/smlnj/Basis/internal-timer.sml \ src/basis/main/TIMER.sig \ src/basis/main/ArraySlice.sml \ src/basis/main/CommandLine.sml \ src/basis/main/COMMAND_LINE.sig \ src/basis/main/Text.sml \ src/basis/main/TEXT.sig \ src/basis/main/BinIO.sml \ src/basis/main/BIN_IO.sig \ src/basis/main/IMPERATIVE_IO.sig \ src/smlnj/Basis/IO/bin-io.sml \ src/smlnj/Basis/Unix/posix-bin-prim-io.sml \ src/basis/main/TextIO.sml \ src/basis/main/TEXT_IO.sig \ src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/STREAM_IO.sig \ src/smlnj/Basis/IO/text-io.sml \ src/smlnj/Basis/Unix/posix-text-prim-io.sml \ src/smlnj/Basis/Posix/posix-io.sml \ src/smlnj/Basis/IO/prim-io-bin.sml \ src/basis/main/Word8.sml \ src/smlnj/Basis/IO/os-prim-io.sig \ src/smlnj/Basis/IO/clean-io.sml \ src/smlnj/Basis/IO/prim-io-text.sml \ src/basis/main/CharArray.sml \ src/basis/main/PRIM_IO.sig \ src/basis/main/OS.sml \ src/basis/main/OS.sig \ src/basis/main/OS_FILE_SYS.sig \ src/smlnj/Basis/Unix/os-io.sml \ src/basis/main/OS_IO.sig \ src/basis/main/ListPair.sml \ src/basis/main/LIST_PAIR.sig \ src/smlnj/Basis/Unix/os-filesys.sml \ src/smlnj/Basis/Unix/os-path.sml \ src/smlnj/Basis/OS/os-path-fn.sml \ src/basis/main/OS_PATH.sig \ src/basis/main/SMLSharpOSProcess.sml \ src/basis/main/OS_PROCESS.sig \ src/smlnj/Basis/NJ/cleanup.sml \ src/smlnj/Basis/NJ/cleanup.sig \ src/basis/main/SMLSharpOSFileSys.sml \ src/basis/main/Byte.sml \ src/basis/main/Word8Array.sml \ src/basis/main/Word.sml \ src/basis/main/Time.sml \ src/basis/main/TIME.sig \ src/basis/main/Real32.sml \ src/basis/main/Real.sml \ src/basis/main/MATH.sig \ src/basis/main/Substring.sml \ src/basis/main/RealClass.sml \ src/basis/main/IEEEReal.sml \ src/basis/main/IEEE_REAL.sig \ src/basis/main/Int.sml \ src/basis/main/IntInf.sml \ src/basis/main/String.sml \ src/basis/main/CharVectorSlice.sml \ src/basis/main/CharVector.sml \ src/basis/main/StringBase.sml \ src/basis/main/SMLSharpRuntime.sml \ src/basis/main/IO.sml \ src/basis/main/IO.sig \ src/basis/main/Bool.sml \ src/basis/main/BOOL.sig \ src/basis/main/Word8VectorSlice.sml \ src/basis/main/Word8Vector.sml \ src/basis/main/SUBSTRING.sig \ src/basis/main/STRING.sig \ src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY.sig \ src/basis/main/Char.sml \ src/basis/main/CHAR.sig \ src/basis/main/SMLSharpScanChar.sml \ src/basis/main/StringCvt.sml \ src/basis/main/STRING_CVT.sig \ src/basis/main/VectorSlice.sml \ src/basis/main/Vector.sml \ src/basis/main/Array.sml \ src/basis/main/List.sml \ src/basis/main/LIST.sig \ src/basis/main/Option.sml \ src/basis/main/OPTION.sig \ src/basis/main/General.sml \ src/basis/main/GENERAL.sig PRELUDE_LIB_OBJECTS = src/basis/main/General.o \ src/basis/main/Option.o \ src/basis/main/List.o \ src/basis/main/Array.o \ src/basis/main/Vector.o \ src/basis/main/VectorSlice.o \ src/basis/main/StringCvt.o \ src/basis/main/SMLSharpScanChar.o \ src/basis/main/Char.o \ src/basis/main/Word8Vector.o \ src/basis/main/Word8VectorSlice.o \ src/basis/main/Bool.o \ src/basis/main/IO.o \ src/basis/main/SMLSharpRuntime.o \ src/basis/main/StringBase.o \ src/basis/main/CharVector.o \ src/basis/main/CharVectorSlice.o \ src/basis/main/String.o \ src/basis/main/IntInf.o \ src/basis/main/Int.o \ src/basis/main/IEEEReal.o \ src/basis/main/RealClass.o \ src/basis/main/Substring.o \ src/basis/main/Real.o \ src/basis/main/Real32.o \ src/basis/main/Time.o \ src/basis/main/Word.o \ src/basis/main/Word8Array.o \ src/basis/main/Byte.o \ src/basis/main/SMLSharpOSFileSys.o \ src/smlnj/Basis/NJ/cleanup.o \ src/basis/main/SMLSharpOSProcess.o \ src/smlnj/Basis/OS/os-path-fn.o \ src/smlnj/Basis/Unix/os-path.o \ src/smlnj/Basis/Unix/os-filesys.o \ src/basis/main/ListPair.o \ src/smlnj/Basis/Unix/os-io.o \ src/basis/main/OS.o \ src/basis/main/CharArray.o \ src/smlnj/Basis/IO/prim-io-text.o \ src/smlnj/Basis/IO/clean-io.o \ src/basis/main/Word8.o \ src/smlnj/Basis/IO/prim-io-bin.o \ src/smlnj/Basis/Posix/posix-io.o \ src/smlnj/Basis/Unix/posix-text-prim-io.o \ src/smlnj/Basis/IO/text-io.o \ src/basis/main/TextIO.o \ src/smlnj/Basis/Unix/posix-bin-prim-io.o \ src/smlnj/Basis/IO/bin-io.o \ src/basis/main/BinIO.o \ src/basis/main/Text.o \ src/basis/main/CommandLine.o \ src/basis/main/ArraySlice.o \ src/smlnj/Basis/internal-timer.o \ src/basis/main/Timer.o \ src/basis/main/Date.o \ src/basis/main/binary-op.o \ src/ml-yacc/lib/lrtable.o \ src/ml-yacc/lib/stream.o \ src/ml-yacc/lib/parser2.o \ src/smlnj-lib/Util/parser-comb.o \ src/smlformat/formatlib/main/FormatExpressionTypes.o \ src/smlformat/formatlib/main/FormatExpression.o \ src/smlformat/formatlib/main/PrinterParameter.o \ src/smlformat/formatlib/main/AssocResolver.o \ src/smlformat/formatlib/main/PreProcessedExpression.o \ src/smlformat/formatlib/main/PrettyPrinter.o \ src/smlformat/formatlib/main/Truncator.o \ src/smlformat/formatlib/main/PreProcessor.o \ src/smlformat/formatlib/main/BasicFormatters.o \ src/smlformat/formatlib/main/SMLFormat.o \ src/ffi/main/DynamicLink.o \ src/ffi/main/Pointer.o \ src/smlnj-lib/Util/lib-base.o \ src/compiler-utils/env/main/SEnv.o \ src/config/main/Version.o \ src/compiler/toolchain/main/Filename.o \ src/config/main/Config.o \ src/sql/main/PGSQL.o \ src/sql/main/PGSQLBackend.o \ src/sql/main/Backend.o \ src/sql/main/SQLPrim.o \ src/sql/main/SQLUtils.o \ src/sql/main/SQL.o \ src/reifiedterm/main/ReflectionControl.o \ src/smlnj-lib/Util/binary-map-fn.o \ src/compiler-utils/env/main/LabelOrd.o \ src/compiler-utils/env/main/LabelEnv.o \ src/reifiedterm/main/TermPrintUtils.ppg.o \ src/reifiedterm/main/ReifiedTerm.ppg.o \ src/unix-utils/main/UnixUtils.o PRELUDE_LIB_SOURCES = \ src/unix-utils/main/UnixUtils.sml \ src/reifiedterm/main/ReifiedTerm.ppg.sml \ src/reifiedterm/main/TermPrintUtils.ppg.sml \ src/compiler-utils/env/main/LabelEnv.sml \ src/compiler-utils/env/main/LabelOrd.sml \ src/smlnj-lib/Util/binary-map-fn.sml \ src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/ord-key-sig.sml \ src/reifiedterm/main/ReflectionControl.sml \ src/sql/main/SQL.sml \ src/sql/main/SQLUtils.sml \ src/sql/main/SQLPrim.sml \ src/sql/main/Backend.sml \ src/sql/main/PGSQLBackend.sml \ src/sql/main/SQLBACKEND.sig \ src/sql/main/PGSQL.sml \ src/config/main/Config.sml \ src/compiler/toolchain/main/Filename.sml \ src/config/main/Version.sml \ src/compiler-utils/env/main/SEnv.sml \ src/compiler-utils/env/main/ENV.sig \ src/smlnj-lib/Util/lib-base.sml \ src/smlnj-lib/Util/lib-base-sig.sml \ src/ffi/main/Pointer.sml \ src/ffi/main/DynamicLink.sml \ src/smlformat/formatlib/main/SMLFormat.sml \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/BasicFormatters.sml \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/PreProcessor.sml \ src/smlformat/formatlib/main/Truncator.sml \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/PrettyPrinter.sml \ src/smlformat/formatlib/main/PreProcessedExpression.sml \ src/smlformat/formatlib/main/AssocResolver.sml \ src/smlformat/formatlib/main/PrinterParameter.sml \ src/smlformat/formatlib/main/FormatExpression.sml \ src/smlformat/formatlib/main/FormatExpressionTypes.sml \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlnj-lib/Util/parser-comb.sml \ src/smlnj-lib/Util/parser-comb-sig.sml \ src/ml-yacc/lib/parser2.sml \ src/ml-yacc/lib/stream.sml \ src/ml-yacc/lib/lrtable.sml \ src/ml-yacc/lib/base.sig \ src/basis/main/binary-op.sml \ src/basis/main/WORD.sig \ src/basis/main/VECTOR_SLICE.sig \ src/basis/main/VECTOR.sig \ src/basis/main/REAL.sig \ src/basis/main/INT_INF.sig \ src/basis/main/INTEGER.sig \ src/basis/main/BYTE.sig \ src/basis/main/ARRAY_SLICE.sig \ src/basis/main/ARRAY.sig \ src/basis/main/Date.sml \ src/basis/main/DATE.sig \ src/basis/main/Timer.sml \ src/smlnj/Basis/internal-timer.sml \ src/basis/main/TIMER.sig \ src/basis/main/ArraySlice.sml \ src/basis/main/CommandLine.sml \ src/basis/main/COMMAND_LINE.sig \ src/basis/main/Text.sml \ src/basis/main/TEXT.sig \ src/basis/main/BinIO.sml \ src/basis/main/BIN_IO.sig \ src/basis/main/IMPERATIVE_IO.sig \ src/smlnj/Basis/IO/bin-io.sml \ src/smlnj/Basis/Unix/posix-bin-prim-io.sml \ src/basis/main/TextIO.sml \ src/basis/main/TEXT_IO.sig \ src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/STREAM_IO.sig \ src/smlnj/Basis/IO/text-io.sml \ src/smlnj/Basis/Unix/posix-text-prim-io.sml \ src/smlnj/Basis/Posix/posix-io.sml \ src/smlnj/Basis/IO/prim-io-bin.sml \ src/basis/main/Word8.sml \ src/smlnj/Basis/IO/os-prim-io.sig \ src/smlnj/Basis/IO/clean-io.sml \ src/smlnj/Basis/IO/prim-io-text.sml \ src/basis/main/CharArray.sml \ src/basis/main/PRIM_IO.sig \ src/basis/main/OS.sml \ src/basis/main/OS.sig \ src/basis/main/OS_FILE_SYS.sig \ src/smlnj/Basis/Unix/os-io.sml \ src/basis/main/OS_IO.sig \ src/basis/main/ListPair.sml \ src/basis/main/LIST_PAIR.sig \ src/smlnj/Basis/Unix/os-filesys.sml \ src/smlnj/Basis/Unix/os-path.sml \ src/smlnj/Basis/OS/os-path-fn.sml \ src/basis/main/OS_PATH.sig \ src/basis/main/SMLSharpOSProcess.sml \ src/basis/main/OS_PROCESS.sig \ src/smlnj/Basis/NJ/cleanup.sml \ src/smlnj/Basis/NJ/cleanup.sig \ src/basis/main/SMLSharpOSFileSys.sml \ src/basis/main/Byte.sml \ src/basis/main/Word8Array.sml \ src/basis/main/Word.sml \ src/basis/main/Time.sml \ src/basis/main/TIME.sig \ src/basis/main/Real32.sml \ src/basis/main/Real.sml \ src/basis/main/MATH.sig \ src/basis/main/Substring.sml \ src/basis/main/RealClass.sml \ src/basis/main/IEEEReal.sml \ src/basis/main/IEEE_REAL.sig \ src/basis/main/Int.sml \ src/basis/main/IntInf.sml \ src/basis/main/String.sml \ src/basis/main/CharVectorSlice.sml \ src/basis/main/CharVector.sml \ src/basis/main/StringBase.sml \ src/basis/main/SMLSharpRuntime.sml \ src/basis/main/IO.sml \ src/basis/main/IO.sig \ src/basis/main/Bool.sml \ src/basis/main/BOOL.sig \ src/basis/main/Word8VectorSlice.sml \ src/basis/main/Word8Vector.sml \ src/basis/main/SUBSTRING.sig \ src/basis/main/STRING.sig \ src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_ARRAY.sig \ src/basis/main/Char.sml \ src/basis/main/CHAR.sig \ src/basis/main/SMLSharpScanChar.sml \ src/basis/main/StringCvt.sml \ src/basis/main/STRING_CVT.sig \ src/basis/main/VectorSlice.sml \ src/basis/main/Vector.sml \ src/basis/main/Array.sml \ src/basis/main/List.sml \ src/basis/main/LIST.sig \ src/basis/main/Option.sml \ src/basis/main/OPTION.sig \ src/basis/main/General.sml \ src/basis/main/GENERAL.sig INSTALL_FILES = src/basis.smi \ src/basis/main/ARRAY.sig \ src/basis/main/ARRAY_SLICE.sig \ src/basis/main/Array.o \ src/basis/main/Array.smi \ src/basis/main/ArraySlice.o \ src/basis/main/ArraySlice.smi \ src/basis/main/BIN_IO.sig \ src/basis/main/BOOL.sig \ src/basis/main/BYTE.sig \ src/basis/main/BinIO.o \ src/basis/main/BinIO.smi \ src/basis/main/Bool.o \ src/basis/main/Bool.smi \ src/basis/main/Byte.o \ src/basis/main/Byte.smi \ src/basis/main/CHAR.sig \ src/basis/main/COMMAND_LINE.sig \ src/basis/main/Char.o \ src/basis/main/Char.smi \ src/basis/main/CharArray.o \ src/basis/main/CharArray.smi \ src/basis/main/CharVector.o \ src/basis/main/CharVector.smi \ src/basis/main/CharVectorSlice.o \ src/basis/main/CharVectorSlice.smi \ src/basis/main/CommandLine.o \ src/basis/main/CommandLine.smi \ src/basis/main/DATE.sig \ src/basis/main/Date.o \ src/basis/main/Date.smi \ src/basis/main/GENERAL.sig \ src/basis/main/General.o \ src/basis/main/General.smi \ src/basis/main/IEEEReal.o \ src/basis/main/IEEEReal.smi \ src/basis/main/IEEE_REAL.sig \ src/basis/main/IMPERATIVE_IO.sig \ src/basis/main/INTEGER.sig \ src/basis/main/INT_INF.sig \ src/basis/main/IO.o \ src/basis/main/IO.sig \ src/basis/main/IO.smi \ src/basis/main/Int.o \ src/basis/main/Int.smi \ src/basis/main/IntInf.o \ src/basis/main/IntInf.smi \ src/basis/main/LIST.sig \ src/basis/main/LIST_PAIR.sig \ src/basis/main/List.o \ src/basis/main/List.smi \ src/basis/main/ListPair.o \ src/basis/main/ListPair.smi \ src/basis/main/MATH.sig \ src/basis/main/MONO_ARRAY.sig \ src/basis/main/MONO_ARRAY_SLICE.sig \ src/basis/main/MONO_VECTOR.sig \ src/basis/main/MONO_VECTOR_SLICE.sig \ src/basis/main/OPTION.sig \ src/basis/main/OS.o \ src/basis/main/OS.sig \ src/basis/main/OS.smi \ src/basis/main/OS_FILE_SYS.sig \ src/basis/main/OS_IO.sig \ src/basis/main/OS_PATH.sig \ src/basis/main/OS_PROCESS.sig \ src/basis/main/Option.o \ src/basis/main/Option.smi \ src/basis/main/PRIM_IO.sig \ src/basis/main/REAL.sig \ src/basis/main/Real.o \ src/basis/main/Real.smi \ src/basis/main/Real32.o \ src/basis/main/Real32.smi \ src/basis/main/RealClass.o \ src/basis/main/RealClass.smi \ src/basis/main/SMLSharpOSFileSys.o \ src/basis/main/SMLSharpOSFileSys.smi \ src/basis/main/SMLSharpOSProcess.o \ src/basis/main/SMLSharpOSProcess.smi \ src/basis/main/SMLSharpRuntime.o \ src/basis/main/SMLSharpRuntime.smi \ src/basis/main/SMLSharpScanChar.o \ src/basis/main/SMLSharpScanChar.smi \ src/basis/main/STREAM_IO.sig \ src/basis/main/STRING.sig \ src/basis/main/STRING_CVT.sig \ src/basis/main/SUBSTRING.sig \ src/basis/main/String.o \ src/basis/main/String.smi \ src/basis/main/StringBase.o \ src/basis/main/StringBase.smi \ src/basis/main/StringCvt.o \ src/basis/main/StringCvt.smi \ src/basis/main/Substring.o \ src/basis/main/Substring.smi \ src/basis/main/TEXT.sig \ src/basis/main/TEXT_IO.sig \ src/basis/main/TEXT_STREAM_IO.sig \ src/basis/main/TIME.sig \ src/basis/main/TIMER.sig \ src/basis/main/Text.o \ src/basis/main/Text.smi \ src/basis/main/TextIO.o \ src/basis/main/TextIO.smi \ src/basis/main/Time.o \ src/basis/main/Time.smi \ src/basis/main/Timer.o \ src/basis/main/Timer.smi \ src/basis/main/VECTOR.sig \ src/basis/main/VECTOR_SLICE.sig \ src/basis/main/Vector.o \ src/basis/main/Vector.smi \ src/basis/main/VectorSlice.o \ src/basis/main/VectorSlice.smi \ src/basis/main/WORD.sig \ src/basis/main/Word.o \ src/basis/main/Word.smi \ src/basis/main/Word8.o \ src/basis/main/Word8.smi \ src/basis/main/Word8Array.o \ src/basis/main/Word8Array.smi \ src/basis/main/Word8Vector.o \ src/basis/main/Word8Vector.smi \ src/basis/main/Word8VectorSlice.o \ src/basis/main/Word8VectorSlice.smi \ src/basis/main/binary-op.o \ src/basis/main/binary-op.smi \ src/compiler-utils/env/main/ENV.sig \ src/compiler-utils/env/main/IEnv.o \ src/compiler-utils/env/main/IEnv.smi \ src/compiler-utils/env/main/IOrd.o \ src/compiler-utils/env/main/IOrd.smi \ src/compiler-utils/env/main/ISet.o \ src/compiler-utils/env/main/ISet.smi \ src/compiler-utils/env/main/LabelEnv.o \ src/compiler-utils/env/main/LabelEnv.smi \ src/compiler-utils/env/main/LabelOrd.o \ src/compiler-utils/env/main/LabelOrd.smi \ src/compiler-utils/env/main/PathEnv.o \ src/compiler-utils/env/main/PathEnv.smi \ src/compiler-utils/env/main/SEnv.o \ src/compiler-utils/env/main/SEnv.smi \ src/compiler-utils/env/main/SOrd.o \ src/compiler-utils/env/main/SOrd.smi \ src/compiler-utils/env/main/SSet.o \ src/compiler-utils/env/main/SSet.smi \ src/compiler/abstractinstruction2/main/AbstractInstruction.ppg.o \ src/compiler/abstractinstruction2/main/AbstractInstruction.ppg.smi \ src/compiler/abstractinstruction2/main/AbstractInstructionFormatter.o \ src/compiler/abstractinstruction2/main/AbstractInstructionFormatter.smi \ src/compiler/absyn/main/ABSYN.sig \ src/compiler/absyn/main/ABSYN_FORMATTER.sig \ src/compiler/absyn/main/Absyn.ppg.o \ src/compiler/absyn/main/Absyn.ppg.smi \ src/compiler/absyn/main/AbsynFormatter.o \ src/compiler/absyn/main/AbsynFormatter.smi \ src/compiler/absyn/main/AbsynInterface.ppg.o \ src/compiler/absyn/main/AbsynInterface.ppg.smi \ src/compiler/absyn/main/AbsynSQL.ppg.o \ src/compiler/absyn/main/AbsynSQL.ppg.smi \ src/compiler/absyn/main/Fixity.o \ src/compiler/absyn/main/Fixity.smi \ src/compiler/aigenerator2/main/AIGENERATOR.sig \ src/compiler/aigenerator2/main/AIGenerator.o \ src/compiler/aigenerator2/main/AIGenerator.smi \ src/compiler/aigenerator2/main/AIPrimitive.o \ src/compiler/aigenerator2/main/AIPrimitive.smi \ src/compiler/aigenerator2/main/BinarySearchCode.o \ src/compiler/aigenerator2/main/BinarySearchCode.smi \ src/compiler/aigenerator2/main/CallAnalysis.o \ src/compiler/aigenerator2/main/CallAnalysis.smi \ src/compiler/aigenerator2/main/Simplify.o \ src/compiler/aigenerator2/main/Simplify.smi \ src/compiler/annotatedcalc/main/ANNOTATEDCALCFORMATTER.sig \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.o \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.smi \ src/compiler/annotatedcalc/main/AnnotatedCalcFormatter.o \ src/compiler/annotatedcalc/main/AnnotatedCalcFormatter.smi \ src/compiler/annotatedtypes/main/ANNOTATEDTYPESUTILS.sig \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.o \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi \ src/compiler/annotatedtypes/main/AnnotatedTypesUtils.o \ src/compiler/annotatedtypes/main/AnnotatedTypesUtils.smi \ src/compiler/bitmapanormal/main/BitmapANormal.ppg.o \ src/compiler/bitmapanormal/main/BitmapANormal.ppg.smi \ src/compiler/bitmapanormal/main/TypeCheckBitmapANormal.o \ src/compiler/bitmapanormal/main/TypeCheckBitmapANormal.smi \ src/compiler/bitmapanormalization/main/BitmapANormalization.o \ src/compiler/bitmapanormalization/main/BitmapANormalization.smi \ src/compiler/bitmapanormaloptimize/main/BitmapANormalReorder.o \ src/compiler/bitmapanormaloptimize/main/BitmapANormalReorder.smi \ src/compiler/bitmapcalc/main/BitmapCalc.ppg.o \ src/compiler/bitmapcalc/main/BitmapCalc.ppg.smi \ src/compiler/bitmapcompilation/main/BitmapCompilation.o \ src/compiler/bitmapcompilation/main/BitmapCompilation.smi \ src/compiler/bitmapcompilation/main/RecordLayout.o \ src/compiler/bitmapcompilation/main/RecordLayout.smi \ src/compiler/bitmapcompilation/main/SingletonTyEnv.o \ src/compiler/bitmapcompilation/main/SingletonTyEnv.smi \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.o \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.o \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi \ src/compiler/builtin2/main/BuiltinTypes.o \ src/compiler/builtin2/main/BuiltinTypes.smi \ src/compiler/closureanormal/main/ClosureANormal.ppg.o \ src/compiler/closureanormal/main/ClosureANormal.ppg.smi \ src/compiler/closureconversion/main/ClosureConversion.o \ src/compiler/closureconversion/main/ClosureConversion.smi \ src/compiler/constantterm/main/ConstantTerm.ppg.o \ src/compiler/constantterm/main/ConstantTerm.ppg.smi \ src/compiler/control/main/Control.ppg.o \ src/compiler/control/main/Control.ppg.smi \ src/compiler/control/main/LOC.sig \ src/compiler/control/main/Loc.ppg.o \ src/compiler/control/main/Loc.ppg.smi \ src/compiler/datatypecompilation/main/DatatypeCompilation.o \ src/compiler/datatypecompilation/main/DatatypeCompilation.smi \ src/compiler/elaborate/main/ELABORATOR.sig \ src/compiler/elaborate/main/ElaborateCore.o \ src/compiler/elaborate/main/ElaborateCore.smi \ src/compiler/elaborate/main/ElaborateError.ppg.o \ src/compiler/elaborate/main/ElaborateError.ppg.smi \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.o \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.smi \ src/compiler/elaborate/main/ElaborateInterface.o \ src/compiler/elaborate/main/ElaborateInterface.smi \ src/compiler/elaborate/main/ElaborateModule.o \ src/compiler/elaborate/main/ElaborateModule.smi \ src/compiler/elaborate/main/ElaborateSQL.o \ src/compiler/elaborate/main/ElaborateSQL.smi \ src/compiler/elaborate/main/Elaborator.o \ src/compiler/elaborate/main/Elaborator.smi \ src/compiler/elaborate/main/ElaboratorUtils.o \ src/compiler/elaborate/main/ElaboratorUtils.smi \ src/compiler/elaborate/main/UserTvarScope.o \ src/compiler/elaborate/main/UserTvarScope.smi \ src/compiler/fficompilation/main/FFICompilation.o \ src/compiler/fficompilation/main/FFICompilation.smi \ src/compiler/generatemain/main/GenerateMain.o \ src/compiler/generatemain/main/GenerateMain.smi \ src/compiler/generatemain/main/GenerateMainError.ppg.o \ src/compiler/generatemain/main/GenerateMainError.ppg.smi \ src/compiler/loadfile/main/InterfaceHash.o \ src/compiler/loadfile/main/InterfaceHash.smi \ src/compiler/loadfile/main/LoadFile.o \ src/compiler/loadfile/main/LoadFile.smi \ src/compiler/loadfile/main/LoadFileError.ppg.o \ src/compiler/loadfile/main/LoadFileError.ppg.smi \ src/compiler/loadfile/main/SHA1.o \ src/compiler/loadfile/main/SHA1.smi \ src/compiler/main/main/ExecutablePath.o \ src/compiler/main/main/ExecutablePath.smi \ src/compiler/main/main/GetOpt.o \ src/compiler/main/main/GetOpt.smi \ src/compiler/main/main/RunLoop.o \ src/compiler/main/main/RunLoop.smi \ src/compiler/main/main/SMLofNJ.o \ src/compiler/main/main/SMLofNJ.smi \ src/compiler/main/main/SimpleMain.o \ src/compiler/main/main/SimpleMain.smi \ src/compiler/matchcompilation/main/MatchCompiler.o \ src/compiler/matchcompilation/main/MatchCompiler.smi \ src/compiler/matchcompilation/main/MatchData.o \ src/compiler/matchcompilation/main/MatchData.smi \ src/compiler/matchcompilation/main/MatchError.ppg.o \ src/compiler/matchcompilation/main/MatchError.ppg.smi \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCFORMATTER.sig \ src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCUTILS.sig \ src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.o \ src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.smi \ src/compiler/multiplevaluecalc/main/MultipleValueCalcFormatter.o \ src/compiler/multiplevaluecalc/main/MultipleValueCalcFormatter.smi \ src/compiler/multiplevaluecalc/main/MultipleValueCalcUtils.o \ src/compiler/multiplevaluecalc/main/MultipleValueCalcUtils.smi \ src/compiler/name/main/GenIDFun.o \ src/compiler/name/main/GenIDFun.smi \ src/compiler/name/main/LOCAL_ID.sig \ src/compiler/name/main/LocalID.o \ src/compiler/name/main/LocalID.smi \ src/compiler/nameevaluation/main/CheckProvide.o \ src/compiler/nameevaluation/main/CheckProvide.smi \ src/compiler/nameevaluation/main/EvalSig.o \ src/compiler/nameevaluation/main/EvalSig.smi \ src/compiler/nameevaluation/main/EvalTy.o \ src/compiler/nameevaluation/main/EvalTy.smi \ src/compiler/nameevaluation/main/FunctorUtils.o \ src/compiler/nameevaluation/main/FunctorUtils.smi \ src/compiler/nameevaluation/main/NameEval.o \ src/compiler/nameevaluation/main/NameEval.smi \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.o \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.smi \ src/compiler/nameevaluation/main/NameEvalEnv.sig \ src/compiler/nameevaluation/main/NameEvalError.ppg.o \ src/compiler/nameevaluation/main/NameEvalError.ppg.smi \ src/compiler/nameevaluation/main/NameEvalInterface.o \ src/compiler/nameevaluation/main/NameEvalInterface.smi \ src/compiler/nameevaluation/main/NameEvalUtils.o \ src/compiler/nameevaluation/main/NameEvalUtils.smi \ src/compiler/nameevaluation/main/NormalizeTy.o \ src/compiler/nameevaluation/main/NormalizeTy.smi \ src/compiler/nameevaluation/main/SetLiftedTys.o \ src/compiler/nameevaluation/main/SetLiftedTys.smi \ src/compiler/nameevaluation/main/SigCheck.o \ src/compiler/nameevaluation/main/SigCheck.smi \ src/compiler/nameevaluation/main/Subst.o \ src/compiler/nameevaluation/main/Subst.smi \ src/compiler/nameevaluation/main/TfunVars.o \ src/compiler/nameevaluation/main/TfunVars.smi \ src/compiler/parser2/main/InterfaceParser.o \ src/compiler/parser2/main/InterfaceParser.smi \ src/compiler/parser2/main/Parser.o \ src/compiler/parser2/main/Parser.smi \ src/compiler/parser2/main/ParserError.ppg.o \ src/compiler/parser2/main/ParserError.ppg.smi \ src/compiler/parser2/main/iml.grm.o \ src/compiler/parser2/main/iml.grm.sig \ src/compiler/parser2/main/iml.grm.smi \ src/compiler/parser2/main/imlLexFun.lex.o \ src/compiler/parser2/main/imlLexFun.lex.smi \ src/compiler/parser2/main/interface.grm.o \ src/compiler/parser2/main/interface.grm.sig \ src/compiler/parser2/main/interface.grm.smi \ src/compiler/patterncalc/main/PatternCalc.ppg.o \ src/compiler/patterncalc/main/PatternCalc.ppg.smi \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.o \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.smi \ src/compiler/recordcalc/main/RCAlphaRename.o \ src/compiler/recordcalc/main/RCAlphaRename.smi \ src/compiler/recordcalc/main/RecordCalc.ppg.o \ src/compiler/recordcalc/main/RecordCalc.ppg.smi \ src/compiler/recordcalc/main/RecordCalcFormatter.o \ src/compiler/recordcalc/main/RecordCalcFormatter.smi \ src/compiler/recordcalc/main/RecordCalcUtils.o \ src/compiler/recordcalc/main/RecordCalcUtils.smi \ src/compiler/recordcalcoptimization/main/RCAnalyse.o \ src/compiler/recordcalcoptimization/main/RCAnalyse.smi \ src/compiler/recordcalcoptimization/main/RCOptimize.o \ src/compiler/recordcalcoptimization/main/RCOptimize.smi \ src/compiler/recordcalcoptimization/main/RCRevealTy.o \ src/compiler/recordcalcoptimization/main/RCRevealTy.smi \ src/compiler/recordcalcoptimization/main/RCSize.o \ src/compiler/recordcalcoptimization/main/RCSize.smi \ src/compiler/recordcompilation/main/OverloadKind.o \ src/compiler/recordcompilation/main/OverloadKind.smi \ src/compiler/recordcompilation/main/RecordCompilation.o \ src/compiler/recordcompilation/main/RecordCompilation.smi \ src/compiler/recordcompilation/main/RecordKind.o \ src/compiler/recordcompilation/main/RecordKind.smi \ src/compiler/recordcompilation/main/UnivKind.o \ src/compiler/recordcompilation/main/UnivKind.smi \ src/compiler/recordunboxing/main/RecordUnboxing.o \ src/compiler/recordunboxing/main/RecordUnboxing.smi \ src/compiler/reflection/main/PrinterGeneration.o \ src/compiler/reflection/main/PrinterGeneration.smi \ src/compiler/reflection/main/ReifiedTermData.o \ src/compiler/reflection/main/ReifiedTermData.smi \ src/compiler/reflection/main/Reify.o \ src/compiler/reflection/main/Reify.smi \ src/compiler/rtl/main/Coloring.o \ src/compiler/rtl/main/Coloring.smi \ src/compiler/rtl/main/FrameLayout.o \ src/compiler/rtl/main/FrameLayout.smi \ src/compiler/rtl/main/IEEERealConst.o \ src/compiler/rtl/main/IEEERealConst.smi \ src/compiler/rtl/main/RTL.ppg.o \ src/compiler/rtl/main/RTL.ppg.smi \ src/compiler/rtl/main/RTLASMGEN.sig \ src/compiler/rtl/main/RTLBackendContext.o \ src/compiler/rtl/main/RTLBackendContext.smi \ src/compiler/rtl/main/RTLCOLORING.sig \ src/compiler/rtl/main/RTLCONSTRAINT.sig \ src/compiler/rtl/main/RTLColoring.o \ src/compiler/rtl/main/RTLColoring.smi \ src/compiler/rtl/main/RTLDominate.o \ src/compiler/rtl/main/RTLDominate.smi \ src/compiler/rtl/main/RTLEMIT.sig \ src/compiler/rtl/main/RTLEdit.o \ src/compiler/rtl/main/RTLEdit.smi \ src/compiler/rtl/main/RTLFRAME.sig \ src/compiler/rtl/main/RTLLiveness.o \ src/compiler/rtl/main/RTLLiveness.smi \ src/compiler/rtl/main/RTLRename.o \ src/compiler/rtl/main/RTLRename.smi \ src/compiler/rtl/main/RTLSELECT.sig \ src/compiler/rtl/main/RTLSTABILIZE.sig \ src/compiler/rtl/main/RTLSUBST.sig \ src/compiler/rtl/main/RTLStabilize.o \ src/compiler/rtl/main/RTLStabilize.smi \ src/compiler/rtl/main/RTLTypeCheck.o \ src/compiler/rtl/main/RTLTypeCheck.smi \ src/compiler/rtl/main/RTLTypeCheckError.ppg.o \ src/compiler/rtl/main/RTLTypeCheckError.ppg.smi \ src/compiler/rtl/main/RTLUtils.o \ src/compiler/rtl/main/RTLUtils.smi \ src/compiler/rtl/main/X86Asm.ppg.o \ src/compiler/rtl/main/X86Asm.ppg.smi \ src/compiler/rtl/main/X86AsmGen.o \ src/compiler/rtl/main/X86AsmGen.smi \ src/compiler/rtl/main/X86Coloring.o \ src/compiler/rtl/main/X86Coloring.smi \ src/compiler/rtl/main/X86Constraint.o \ src/compiler/rtl/main/X86Constraint.smi \ src/compiler/rtl/main/X86Emit.o \ src/compiler/rtl/main/X86Emit.smi \ src/compiler/rtl/main/X86Frame.o \ src/compiler/rtl/main/X86Frame.smi \ src/compiler/rtl/main/X86Select.o \ src/compiler/rtl/main/X86Select.smi \ src/compiler/rtl/main/X86Stabilize.o \ src/compiler/rtl/main/X86Stabilize.smi \ src/compiler/rtl/main/X86Subst.o \ src/compiler/rtl/main/X86Subst.smi \ src/compiler/runtimetypes/main/RuntimeTypes.ppg.o \ src/compiler/runtimetypes/main/RuntimeTypes.ppg.smi \ src/compiler/runtimetypes/main/TypeLayout.o \ src/compiler/runtimetypes/main/TypeLayout.smi \ src/compiler/smlsharp.o \ src/compiler/smlsharp.smi \ src/compiler/sqlcompilation/main/SQLCompilation.o \ src/compiler/sqlcompilation/main/SQLCompilation.smi \ src/compiler/staticanalysis/main/ReduceTy.o \ src/compiler/staticanalysis/main/ReduceTy.smi \ src/compiler/staticanalysis/main/SACONSTRAINT.sig \ src/compiler/staticanalysis/main/SACONTEXT.sig \ src/compiler/staticanalysis/main/SAConstraint.o \ src/compiler/staticanalysis/main/SAConstraint.smi \ src/compiler/staticanalysis/main/SAContext.o \ src/compiler/staticanalysis/main/SAContext.smi \ src/compiler/staticanalysis/main/StaticAnalysis.o \ src/compiler/staticanalysis/main/StaticAnalysis.smi \ src/compiler/systemdef/main/BasicTypeFormatters.o \ src/compiler/systemdef/main/BasicTypeFormatters.smi \ src/compiler/systemdef/main/BasicTypes.o \ src/compiler/systemdef/main/BasicTypes.smi \ src/compiler/targetplatform/main/TARGET_PLATFORM.sig \ src/compiler/targetplatform/main/TARGET_PROPERTY.sig \ src/compiler/targetplatform/main/TargetPlatformFormatter.o \ src/compiler/targetplatform/main/TargetPlatformFormatter.smi \ src/compiler/targetplatform/main/TargetProperty.o \ src/compiler/targetplatform/main/TargetProperty.smi \ src/compiler/targetplatform/main/VMTarget.o \ src/compiler/targetplatform/main/VMTarget.smi \ src/compiler/toolchain/main/BinUtils.o \ src/compiler/toolchain/main/BinUtils.smi \ src/compiler/toolchain/main/CoreUtils.o \ src/compiler/toolchain/main/CoreUtils.smi \ src/compiler/toolchain/main/Filename.o \ src/compiler/toolchain/main/Filename.smi \ src/compiler/toolchain/main/TempFile.o \ src/compiler/toolchain/main/TempFile.smi \ src/compiler/toplevel2/main/NameEvalEnvUtils.o \ src/compiler/toplevel2/main/NameEvalEnvUtils.smi \ src/compiler/toplevel2/main/Top.o \ src/compiler/toplevel2/main/Top.smi \ src/compiler/toplevel2/main/TopData.ppg.o \ src/compiler/toplevel2/main/TopData.ppg.smi \ src/compiler/toyaanormal/main/NameMangle.o \ src/compiler/toyaanormal/main/NameMangle.smi \ src/compiler/toyaanormal/main/ToYAANormal.o \ src/compiler/toyaanormal/main/ToYAANormal.smi \ src/compiler/typedcalc/main/TCAlphaRename.o \ src/compiler/typedcalc/main/TCAlphaRename.smi \ src/compiler/typedcalc/main/TypedCalc.ppg.o \ src/compiler/typedcalc/main/TypedCalc.ppg.smi \ src/compiler/typedcalc/main/TypedCalcUtils.o \ src/compiler/typedcalc/main/TypedCalcUtils.smi \ src/compiler/typedcalcoptimization/main/TCAnalyse.o \ src/compiler/typedcalcoptimization/main/TCAnalyse.smi \ src/compiler/typedcalcoptimization/main/TCOptimize.o \ src/compiler/typedcalcoptimization/main/TCOptimize.smi \ src/compiler/typedcalcoptimization/main/TCRevealTy.o \ src/compiler/typedcalcoptimization/main/TCRevealTy.smi \ src/compiler/typedcalcoptimization/main/TCSize.o \ src/compiler/typedcalcoptimization/main/TCSize.smi \ src/compiler/typedlambda/main/TypedLambda.ppg.o \ src/compiler/typedlambda/main/TypedLambda.ppg.smi \ src/compiler/typedlambda/main/TypedLambdaFormatter.o \ src/compiler/typedlambda/main/TypedLambdaFormatter.smi \ src/compiler/typeinference2/main/InferTypes2.o \ src/compiler/typeinference2/main/InferTypes2.smi \ src/compiler/typeinference2/main/Printers.o \ src/compiler/typeinference2/main/Printers.smi \ src/compiler/typeinference2/main/TypeInferenceContext.ppg.o \ src/compiler/typeinference2/main/TypeInferenceContext.ppg.smi \ src/compiler/typeinference2/main/TypeInferenceError.ppg.o \ src/compiler/typeinference2/main/TypeInferenceError.ppg.smi \ src/compiler/typeinference2/main/TypeInferenceUtils.o \ src/compiler/typeinference2/main/TypeInferenceUtils.smi \ src/compiler/typeinference2/main/UNCURRYFUNDECL.sig \ src/compiler/typeinference2/main/UncurryFundecl_ng.o \ src/compiler/typeinference2/main/UncurryFundecl_ng.smi \ src/compiler/types/main/CheckEq.o \ src/compiler/types/main/CheckEq.smi \ src/compiler/types/main/EvalIty.o \ src/compiler/types/main/EvalIty.smi \ src/compiler/types/main/IDCalc.ppg.o \ src/compiler/types/main/IDCalc.ppg.smi \ src/compiler/types/main/IDCalcUtils.o \ src/compiler/types/main/IDCalcUtils.smi \ src/compiler/types/main/OPrimInstMap.o \ src/compiler/types/main/OPrimInstMap.smi \ src/compiler/types/main/OPrimMap.o \ src/compiler/types/main/OPrimMap.smi \ src/compiler/types/main/TyAlphaRename.o \ src/compiler/types/main/TyAlphaRename.smi \ src/compiler/types/main/TyPrinters.o \ src/compiler/types/main/TyPrinters.smi \ src/compiler/types/main/TyReduce.o \ src/compiler/types/main/TyReduce.smi \ src/compiler/types/main/TyRevealTy.o \ src/compiler/types/main/TyRevealTy.smi \ src/compiler/types/main/Types.ppg.o \ src/compiler/types/main/Types.ppg.smi \ src/compiler/types/main/TypesUtils.o \ src/compiler/types/main/TypesUtils.smi \ src/compiler/types/main/Unify.o \ src/compiler/types/main/Unify.smi \ src/compiler/types/main/VarMap.o \ src/compiler/types/main/VarMap.smi \ src/compiler/types/main/tvarMap.o \ src/compiler/types/main/tvarMap.smi \ src/compiler/types/main/vars.o \ src/compiler/types/main/vars.smi \ src/compiler/usererror/main/USER_ERROR.sig \ src/compiler/usererror/main/UserError.ppg.o \ src/compiler/usererror/main/UserError.ppg.smi \ src/compiler/usererror/main/UserErrorUtils.o \ src/compiler/usererror/main/UserErrorUtils.smi \ src/compiler/util/main/BigInt_IntInf.o \ src/compiler/util/main/BigInt_IntInf.smi \ src/compiler/util/main/COUNTER.sig \ src/compiler/util/main/Counter.o \ src/compiler/util/main/Counter.smi \ src/compiler/util/main/GRAPH.sig \ src/compiler/util/main/Graph.o \ src/compiler/util/main/Graph.smi \ src/compiler/util/main/ListSorter.o \ src/compiler/util/main/ListSorter.smi \ src/compiler/util/main/SCCFun.o \ src/compiler/util/main/SCCFun.smi \ src/compiler/util/main/SmlppgUtil.ppg.o \ src/compiler/util/main/SmlppgUtil.ppg.smi \ src/compiler/util/main/TermFormat.o \ src/compiler/util/main/TermFormat.smi \ src/compiler/util/main/gensym.o \ src/compiler/util/main/gensym.smi \ src/compiler/util/main/utils.o \ src/compiler/util/main/utils.smi \ src/compiler/valrecoptimization/main/TRANS_FUNDECL.sig \ src/compiler/valrecoptimization/main/TransFundecl.o \ src/compiler/valrecoptimization/main/TransFundecl.smi \ src/compiler/valrecoptimization/main/VALREC_OPTIMIZER.sig \ src/compiler/valrecoptimization/main/VALREC_Optimizer.o \ src/compiler/valrecoptimization/main/VALREC_Optimizer.smi \ src/compiler/valrecoptimization/main/utils.o \ src/compiler/valrecoptimization/main/utils.smi \ src/compiler/yaanormal/main/ANormal.ppg.o \ src/compiler/yaanormal/main/ANormal.ppg.smi \ src/compiler/yaanormalization/main/ANORMALOPTIMIZATION.sig \ src/compiler/yaanormalization/main/ANormalOptimization.o \ src/compiler/yaanormalization/main/ANormalOptimization.smi \ src/compiler/yaanormalization/main/StaticAllocation.o \ src/compiler/yaanormalization/main/StaticAllocation.smi \ src/config/main/Config.o \ src/config/main/Config.smi \ src/config/main/Version.o \ src/config/main/Version.smi \ src/ffi.smi \ src/ffi/main/DynamicLink.o \ src/ffi/main/DynamicLink.smi \ src/ffi/main/Pointer.o \ src/ffi/main/Pointer.smi \ src/ml-yacc-lib.smi \ src/ml-yacc/lib/base.sig \ src/ml-yacc/lib/lrtable.o \ src/ml-yacc/lib/lrtable.smi \ src/ml-yacc/lib/parser2.o \ src/ml-yacc/lib/parser2.smi \ src/ml-yacc/lib/stream.o \ src/ml-yacc/lib/stream.smi \ src/prelude.smi \ src/reifiedterm/main/ReflectionControl.o \ src/reifiedterm/main/ReflectionControl.smi \ src/reifiedterm/main/ReifiedTerm.ppg.o \ src/reifiedterm/main/ReifiedTerm.ppg.smi \ src/reifiedterm/main/TermPrintUtils.ppg.o \ src/reifiedterm/main/TermPrintUtils.ppg.smi \ src/smlformat-lib.smi \ src/smlformat/formatlib/main/AssocResolver.o \ src/smlformat/formatlib/main/AssocResolver.smi \ src/smlformat/formatlib/main/BASIC_FORMATTERS.sig \ src/smlformat/formatlib/main/BasicFormatters.o \ src/smlformat/formatlib/main/BasicFormatters.smi \ src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig \ src/smlformat/formatlib/main/FormatExpression.o \ src/smlformat/formatlib/main/FormatExpression.smi \ src/smlformat/formatlib/main/FormatExpressionTypes.o \ src/smlformat/formatlib/main/FormatExpressionTypes.smi \ src/smlformat/formatlib/main/PRINTER_PARAMETER.sig \ src/smlformat/formatlib/main/PreProcessedExpression.o \ src/smlformat/formatlib/main/PreProcessedExpression.smi \ src/smlformat/formatlib/main/PreProcessor.o \ src/smlformat/formatlib/main/PreProcessor.smi \ src/smlformat/formatlib/main/PrettyPrinter.o \ src/smlformat/formatlib/main/PrettyPrinter.smi \ src/smlformat/formatlib/main/PrinterParameter.o \ src/smlformat/formatlib/main/PrinterParameter.smi \ src/smlformat/formatlib/main/SMLFORMAT.sig \ src/smlformat/formatlib/main/SMLFormat.o \ src/smlformat/formatlib/main/SMLFormat.smi \ src/smlformat/formatlib/main/Truncator.o \ src/smlformat/formatlib/main/Truncator.smi \ src/smlnj-lib/Util/binary-map-fn.o \ src/smlnj-lib/Util/binary-map-fn.smi \ src/smlnj-lib/Util/binary-set-fn.o \ src/smlnj-lib/Util/binary-set-fn.smi \ src/smlnj-lib/Util/lib-base-sig.sml \ src/smlnj-lib/Util/lib-base.o \ src/smlnj-lib/Util/lib-base.smi \ src/smlnj-lib/Util/ord-key-sig.sml \ src/smlnj-lib/Util/ord-map-sig.sml \ src/smlnj-lib/Util/ord-set-sig.sml \ src/smlnj-lib/Util/parser-comb-sig.sml \ src/smlnj-lib/Util/parser-comb.o \ src/smlnj-lib/Util/parser-comb.smi \ src/smlnj/Basis/IO/bin-io.o \ src/smlnj/Basis/IO/bin-io.smi \ src/smlnj/Basis/IO/clean-io.o \ src/smlnj/Basis/IO/clean-io.smi \ src/smlnj/Basis/IO/os-prim-io.sig \ src/smlnj/Basis/IO/prim-io-bin.o \ src/smlnj/Basis/IO/prim-io-bin.smi \ src/smlnj/Basis/IO/prim-io-text.o \ src/smlnj/Basis/IO/prim-io-text.smi \ src/smlnj/Basis/IO/text-io.o \ src/smlnj/Basis/IO/text-io.smi \ src/smlnj/Basis/NJ/cleanup.o \ src/smlnj/Basis/NJ/cleanup.sig \ src/smlnj/Basis/NJ/cleanup.smi \ src/smlnj/Basis/OS/os-path-fn.o \ src/smlnj/Basis/OS/os-path-fn.smi \ src/smlnj/Basis/Posix/posix-io.o \ src/smlnj/Basis/Posix/posix-io.smi \ src/smlnj/Basis/Unix/os-filesys.o \ src/smlnj/Basis/Unix/os-filesys.smi \ src/smlnj/Basis/Unix/os-io.o \ src/smlnj/Basis/Unix/os-io.smi \ src/smlnj/Basis/Unix/os-path.o \ src/smlnj/Basis/Unix/os-path.smi \ src/smlnj/Basis/Unix/posix-bin-prim-io.o \ src/smlnj/Basis/Unix/posix-bin-prim-io.smi \ src/smlnj/Basis/Unix/posix-text-prim-io.o \ src/smlnj/Basis/Unix/posix-text-prim-io.smi \ src/smlnj/Basis/internal-timer.o \ src/smlnj/Basis/internal-timer.smi \ src/sql.smi \ src/sql/main/Backend.o \ src/sql/main/Backend.smi \ src/sql/main/PGSQL.o \ src/sql/main/PGSQL.smi \ src/sql/main/PGSQLBackend.o \ src/sql/main/PGSQLBackend.smi \ src/sql/main/SQL.o \ src/sql/main/SQL.smi \ src/sql/main/SQLBACKEND.sig \ src/sql/main/SQLPrim.o \ src/sql/main/SQLPrim.smi \ src/sql/main/SQLUtils.o \ src/sql/main/SQLUtils.smi \ src/unix-utils/main/UnixUtils.o \ src/unix-utils/main/UnixUtils.smi ALL_OBJECTS = src/basis/main/Array.o \ src/basis/main/ArraySlice.o \ src/basis/main/BinIO.o \ src/basis/main/Bool.o \ src/basis/main/Byte.o \ src/basis/main/Char.o \ src/basis/main/CharArray.o \ src/basis/main/CharVector.o \ src/basis/main/CharVectorSlice.o \ src/basis/main/CommandLine.o \ src/basis/main/Date.o \ src/basis/main/General.o \ src/basis/main/IEEEReal.o \ src/basis/main/IO.o \ src/basis/main/Int.o \ src/basis/main/IntInf.o \ src/basis/main/List.o \ src/basis/main/ListPair.o \ src/basis/main/OS.o \ src/basis/main/Option.o \ src/basis/main/Real.o \ src/basis/main/Real32.o \ src/basis/main/RealClass.o \ src/basis/main/SMLSharpOSFileSys.o \ src/basis/main/SMLSharpOSProcess.o \ src/basis/main/SMLSharpRuntime.o \ src/basis/main/SMLSharpScanChar.o \ src/basis/main/String.o \ src/basis/main/StringBase.o \ src/basis/main/StringCvt.o \ src/basis/main/Substring.o \ src/basis/main/Text.o \ src/basis/main/TextIO.o \ src/basis/main/Time.o \ src/basis/main/Timer.o \ src/basis/main/Vector.o \ src/basis/main/VectorSlice.o \ src/basis/main/Word.o \ src/basis/main/Word8.o \ src/basis/main/Word8Array.o \ src/basis/main/Word8Vector.o \ src/basis/main/Word8VectorSlice.o \ src/basis/main/binary-op.o \ src/compiler-utils/env/main/IEnv.o \ src/compiler-utils/env/main/IOrd.o \ src/compiler-utils/env/main/ISet.o \ src/compiler-utils/env/main/LabelEnv.o \ src/compiler-utils/env/main/LabelOrd.o \ src/compiler-utils/env/main/PathEnv.o \ src/compiler-utils/env/main/SEnv.o \ src/compiler-utils/env/main/SOrd.o \ src/compiler-utils/env/main/SSet.o \ src/compiler/abstractinstruction2/main/AbstractInstruction.ppg.o \ src/compiler/abstractinstruction2/main/AbstractInstructionFormatter.o \ src/compiler/absyn/main/Absyn.ppg.o \ src/compiler/absyn/main/AbsynFormatter.o \ src/compiler/absyn/main/AbsynInterface.ppg.o \ src/compiler/absyn/main/AbsynSQL.ppg.o \ src/compiler/absyn/main/Fixity.o \ src/compiler/aigenerator2/main/AIGenerator.o \ src/compiler/aigenerator2/main/AIPrimitive.o \ src/compiler/aigenerator2/main/BinarySearchCode.o \ src/compiler/aigenerator2/main/CallAnalysis.o \ src/compiler/aigenerator2/main/Simplify.o \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.o \ src/compiler/annotatedcalc/main/AnnotatedCalcFormatter.o \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.o \ src/compiler/annotatedtypes/main/AnnotatedTypesUtils.o \ src/compiler/bitmapanormal/main/BitmapANormal.ppg.o \ src/compiler/bitmapanormal/main/TypeCheckBitmapANormal.o \ src/compiler/bitmapanormalization/main/BitmapANormalization.o \ src/compiler/bitmapanormaloptimize/main/BitmapANormalReorder.o \ src/compiler/bitmapcalc/main/BitmapCalc.ppg.o \ src/compiler/bitmapcompilation/main/BitmapCompilation.o \ src/compiler/bitmapcompilation/main/RecordLayout.o \ src/compiler/bitmapcompilation/main/SingletonTyEnv.o \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.o \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.o \ src/compiler/builtin2/main/BuiltinTypes.o \ src/compiler/closureanormal/main/ClosureANormal.ppg.o \ src/compiler/closureconversion/main/ClosureConversion.o \ src/compiler/constantterm/main/ConstantTerm.ppg.o \ src/compiler/control/main/Control.ppg.o \ src/compiler/control/main/Loc.ppg.o \ src/compiler/datatypecompilation/main/DatatypeCompilation.o \ src/compiler/elaborate/main/ElaborateCore.o \ src/compiler/elaborate/main/ElaborateError.ppg.o \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.o \ src/compiler/elaborate/main/ElaborateInterface.o \ src/compiler/elaborate/main/ElaborateModule.o \ src/compiler/elaborate/main/ElaborateSQL.o \ src/compiler/elaborate/main/Elaborator.o \ src/compiler/elaborate/main/ElaboratorUtils.o \ src/compiler/elaborate/main/UserTvarScope.o \ src/compiler/fficompilation/main/FFICompilation.o \ src/compiler/generatemain/main/GenerateMain.o \ src/compiler/generatemain/main/GenerateMainError.ppg.o \ src/compiler/loadfile/main/InterfaceHash.o \ src/compiler/loadfile/main/LoadFile.o \ src/compiler/loadfile/main/LoadFileError.ppg.o \ src/compiler/loadfile/main/SHA1.o \ src/compiler/main/main/ExecutablePath.o \ src/compiler/main/main/GetOpt.o \ src/compiler/main/main/RunLoop.o \ src/compiler/main/main/SMLofNJ.o \ src/compiler/main/main/SimpleMain.o \ src/compiler/matchcompilation/main/MatchCompiler.o \ src/compiler/matchcompilation/main/MatchData.o \ src/compiler/matchcompilation/main/MatchError.ppg.o \ src/compiler/minismlsharp.o \ src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.o \ src/compiler/multiplevaluecalc/main/MultipleValueCalcFormatter.o \ src/compiler/multiplevaluecalc/main/MultipleValueCalcUtils.o \ src/compiler/name/main/GenIDFun.o \ src/compiler/name/main/LocalID.o \ src/compiler/nameevaluation/main/CheckProvide.o \ src/compiler/nameevaluation/main/EvalSig.o \ src/compiler/nameevaluation/main/EvalTy.o \ src/compiler/nameevaluation/main/FunctorUtils.o \ src/compiler/nameevaluation/main/NameEval.o \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.o \ src/compiler/nameevaluation/main/NameEvalError.ppg.o \ src/compiler/nameevaluation/main/NameEvalInterface.o \ src/compiler/nameevaluation/main/NameEvalUtils.o \ src/compiler/nameevaluation/main/NormalizeTy.o \ src/compiler/nameevaluation/main/SetLiftedTys.o \ src/compiler/nameevaluation/main/SigCheck.o \ src/compiler/nameevaluation/main/Subst.o \ src/compiler/nameevaluation/main/TfunVars.o \ src/compiler/parser2/main/InterfaceParser.o \ src/compiler/parser2/main/Parser.o \ src/compiler/parser2/main/ParserError.ppg.o \ src/compiler/parser2/main/iml.grm.o \ src/compiler/parser2/main/imlLexFun.lex.o \ src/compiler/parser2/main/interface.grm.o \ src/compiler/patterncalc/main/PatternCalc.ppg.o \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.o \ src/compiler/recordcalc/main/RCAlphaRename.o \ src/compiler/recordcalc/main/RecordCalc.ppg.o \ src/compiler/recordcalc/main/RecordCalcFormatter.o \ src/compiler/recordcalc/main/RecordCalcUtils.o \ src/compiler/recordcalcoptimization/main/RCAnalyse.o \ src/compiler/recordcalcoptimization/main/RCOptimize.o \ src/compiler/recordcalcoptimization/main/RCRevealTy.o \ src/compiler/recordcalcoptimization/main/RCSize.o \ src/compiler/recordcompilation/main/OverloadKind.o \ src/compiler/recordcompilation/main/RecordCompilation.o \ src/compiler/recordcompilation/main/RecordKind.o \ src/compiler/recordcompilation/main/UnivKind.o \ src/compiler/recordunboxing/main/RecordUnboxing.o \ src/compiler/reflection/main/PrinterGeneration.o \ src/compiler/reflection/main/ReifiedTermData.o \ src/compiler/reflection/main/Reify.o \ src/compiler/rtl/main/Coloring.o \ src/compiler/rtl/main/FrameLayout.o \ src/compiler/rtl/main/IEEERealConst.o \ src/compiler/rtl/main/RTL.ppg.o \ src/compiler/rtl/main/RTLBackendContext.o \ src/compiler/rtl/main/RTLColoring.o \ src/compiler/rtl/main/RTLDominate.o \ src/compiler/rtl/main/RTLEdit.o \ src/compiler/rtl/main/RTLLiveness.o \ src/compiler/rtl/main/RTLRename.o \ src/compiler/rtl/main/RTLStabilize.o \ src/compiler/rtl/main/RTLTypeCheck.o \ src/compiler/rtl/main/RTLTypeCheckError.ppg.o \ src/compiler/rtl/main/RTLUtils.o \ src/compiler/rtl/main/X86Asm.ppg.o \ src/compiler/rtl/main/X86AsmGen.o \ src/compiler/rtl/main/X86Coloring.o \ src/compiler/rtl/main/X86Constraint.o \ src/compiler/rtl/main/X86Emit.o \ src/compiler/rtl/main/X86Frame.o \ src/compiler/rtl/main/X86Select.o \ src/compiler/rtl/main/X86Stabilize.o \ src/compiler/rtl/main/X86Subst.o \ src/compiler/runtimetypes/main/RuntimeTypes.ppg.o \ src/compiler/runtimetypes/main/TypeLayout.o \ src/compiler/smlsharp.o \ src/compiler/sqlcompilation/main/SQLCompilation.o \ src/compiler/staticanalysis/main/ReduceTy.o \ src/compiler/staticanalysis/main/SAConstraint.o \ src/compiler/staticanalysis/main/SAContext.o \ src/compiler/staticanalysis/main/StaticAnalysis.o \ src/compiler/systemdef/main/BasicTypeFormatters.o \ src/compiler/systemdef/main/BasicTypes.o \ src/compiler/targetplatform/main/TargetPlatformFormatter.o \ src/compiler/targetplatform/main/TargetProperty.o \ src/compiler/targetplatform/main/VMTarget.o \ src/compiler/toolchain/main/BinUtils.o \ src/compiler/toolchain/main/CoreUtils.o \ src/compiler/toolchain/main/Filename.o \ src/compiler/toolchain/main/TempFile.o \ src/compiler/toplevel2/main/NameEvalEnvUtils.o \ src/compiler/toplevel2/main/Top.o \ src/compiler/toplevel2/main/TopData.ppg.o \ src/compiler/toyaanormal/main/NameMangle.o \ src/compiler/toyaanormal/main/ToYAANormal.o \ src/compiler/typedcalc/main/TCAlphaRename.o \ src/compiler/typedcalc/main/TypedCalc.ppg.o \ src/compiler/typedcalc/main/TypedCalcUtils.o \ src/compiler/typedcalcoptimization/main/TCAnalyse.o \ src/compiler/typedcalcoptimization/main/TCOptimize.o \ src/compiler/typedcalcoptimization/main/TCRevealTy.o \ src/compiler/typedcalcoptimization/main/TCSize.o \ src/compiler/typedlambda/main/TypedLambda.ppg.o \ src/compiler/typedlambda/main/TypedLambdaFormatter.o \ src/compiler/typeinference2/main/InferTypes2.o \ src/compiler/typeinference2/main/Printers.o \ src/compiler/typeinference2/main/TypeInferenceContext.ppg.o \ src/compiler/typeinference2/main/TypeInferenceError.ppg.o \ src/compiler/typeinference2/main/TypeInferenceUtils.o \ src/compiler/typeinference2/main/UncurryFundecl_ng.o \ src/compiler/types/main/CheckEq.o \ src/compiler/types/main/EvalIty.o \ src/compiler/types/main/IDCalc.ppg.o \ src/compiler/types/main/IDCalcUtils.o \ src/compiler/types/main/OPrimInstMap.o \ src/compiler/types/main/OPrimMap.o \ src/compiler/types/main/TyAlphaRename.o \ src/compiler/types/main/TyPrinters.o \ src/compiler/types/main/TyReduce.o \ src/compiler/types/main/TyRevealTy.o \ src/compiler/types/main/Types.ppg.o \ src/compiler/types/main/TypesUtils.o \ src/compiler/types/main/Unify.o \ src/compiler/types/main/VarMap.o \ src/compiler/types/main/tvarMap.o \ src/compiler/types/main/vars.o \ src/compiler/usererror/main/UserError.ppg.o \ src/compiler/usererror/main/UserErrorUtils.o \ src/compiler/util/main/BigInt_IntInf.o \ src/compiler/util/main/Counter.o \ src/compiler/util/main/Graph.o \ src/compiler/util/main/ListSorter.o \ src/compiler/util/main/SCCFun.o \ src/compiler/util/main/SmlppgUtil.ppg.o \ src/compiler/util/main/TermFormat.o \ src/compiler/util/main/gensym.o \ src/compiler/util/main/utils.o \ src/compiler/valrecoptimization/main/TransFundecl.o \ src/compiler/valrecoptimization/main/VALREC_Optimizer.o \ src/compiler/valrecoptimization/main/utils.o \ src/compiler/yaanormal/main/ANormal.ppg.o \ src/compiler/yaanormalization/main/ANormalOptimization.o \ src/compiler/yaanormalization/main/StaticAllocation.o \ src/config/main/Config.o \ src/config/main/Version.o \ src/ffi/main/DynamicLink.o \ src/ffi/main/Pointer.o \ src/ml-lex/export-lex.o \ src/ml-lex/lexgen.o \ src/ml-lex/ml-lex.o \ src/ml-yacc/lib/lrtable.o \ src/ml-yacc/lib/parser2.o \ src/ml-yacc/lib/stream.o \ src/ml-yacc/src/absyn.o \ src/ml-yacc/src/core.o \ src/ml-yacc/src/coreutils.o \ src/ml-yacc/src/export-yacc.o \ src/ml-yacc/src/grammar.o \ src/ml-yacc/src/graph.o \ src/ml-yacc/src/hdr.o \ src/ml-yacc/src/lalr.o \ src/ml-yacc/src/look.o \ src/ml-yacc/src/mklrtable.o \ src/ml-yacc/src/mkprstruct.o \ src/ml-yacc/src/ml-yacc.o \ src/ml-yacc/src/parse.o \ src/ml-yacc/src/shrink.o \ src/ml-yacc/src/utils.o \ src/ml-yacc/src/verbose.o \ src/ml-yacc/src/yacc.grm.o \ src/ml-yacc/src/yacc.lex.o \ src/ml-yacc/src/yacc.o \ src/reifiedterm/main/ReflectionControl.o \ src/reifiedterm/main/ReifiedTerm.ppg.o \ src/reifiedterm/main/TermPrintUtils.ppg.o \ src/smlformat/formatlib/main/AssocResolver.o \ src/smlformat/formatlib/main/BasicFormatters.o \ src/smlformat/formatlib/main/FormatExpression.o \ src/smlformat/formatlib/main/FormatExpressionTypes.o \ src/smlformat/formatlib/main/PreProcessedExpression.o \ src/smlformat/formatlib/main/PreProcessor.o \ src/smlformat/formatlib/main/PrettyPrinter.o \ src/smlformat/formatlib/main/PrinterParameter.o \ src/smlformat/formatlib/main/SMLFormat.o \ src/smlformat/formatlib/main/Truncator.o \ src/smlformat/generator/main/Ast.o \ src/smlformat/generator/main/AstUtil.o \ src/smlformat/generator/main/BasicFormattersEnv.o \ src/smlformat/generator/main/Constants_MLton.o \ src/smlformat/generator/main/ErrorQueue.o \ src/smlformat/generator/main/FormatTemplate.o \ src/smlformat/generator/main/FormatterGenerator.o \ src/smlformat/generator/main/MLParser.o \ src/smlformat/generator/main/Main.o \ src/smlformat/generator/main/PPGMain.o \ src/smlformat/generator/main/TokenTable.o \ src/smlformat/generator/main/Utility.o \ src/smlformat/generator/main/call-main.o \ src/smlformat/generator/main/ml.grm.o \ src/smlformat/generator/main/ml.lex.o \ src/smlnj-lib/Util/binary-map-fn.o \ src/smlnj-lib/Util/binary-set-fn.o \ src/smlnj-lib/Util/lib-base.o \ src/smlnj-lib/Util/parser-comb.o \ src/smlnj/Basis/IO/bin-io.o \ src/smlnj/Basis/IO/clean-io.o \ src/smlnj/Basis/IO/prim-io-bin.o \ src/smlnj/Basis/IO/prim-io-text.o \ src/smlnj/Basis/IO/text-io.o \ src/smlnj/Basis/NJ/cleanup.o \ src/smlnj/Basis/OS/os-path-fn.o \ src/smlnj/Basis/Posix/posix-io.o \ src/smlnj/Basis/Unix/os-filesys.o \ src/smlnj/Basis/Unix/os-io.o \ src/smlnj/Basis/Unix/os-path.o \ src/smlnj/Basis/Unix/posix-bin-prim-io.o \ src/smlnj/Basis/Unix/posix-text-prim-io.o \ src/smlnj/Basis/internal-timer.o \ src/sql/main/Backend.o \ src/sql/main/PGSQL.o \ src/sql/main/PGSQLBackend.o \ src/sql/main/SQL.o \ src/sql/main/SQLPrim.o \ src/sql/main/SQLUtils.o \ src/unix-utils/main/UnixUtils.o GEN_SOURCES = src/compiler/abstractinstruction2/main/AbstractInstruction.ppg.sml \ src/compiler/absyn/main/Absyn.ppg.sml \ src/compiler/absyn/main/AbsynInterface.ppg.sml \ src/compiler/absyn/main/AbsynSQL.ppg.sml \ src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.sml \ src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.sml \ src/compiler/bitmapanormal/main/BitmapANormal.ppg.sml \ src/compiler/bitmapcalc/main/BitmapCalc.ppg.sml \ src/compiler/builtin2/main/BuiltinPrimitive.ppg.sml \ src/compiler/builtin2/main/BuiltinTypeNames.ppg.sml \ src/compiler/closureanormal/main/ClosureANormal.ppg.sml \ src/compiler/constantterm/main/ConstantTerm.ppg.sml \ src/compiler/control/main/Control.ppg.sml \ src/compiler/control/main/Loc.ppg.sml \ src/compiler/elaborate/main/ElaborateError.ppg.sml \ src/compiler/elaborate/main/ElaborateErrorSQL.ppg.sml \ src/compiler/generatemain/main/GenerateMainError.ppg.sml \ src/compiler/loadfile/main/LoadFileError.ppg.sml \ src/compiler/matchcompilation/main/MatchError.ppg.sml \ src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.sml \ src/compiler/nameevaluation/main/NameEvalEnv.ppg.sml \ src/compiler/nameevaluation/main/NameEvalError.ppg.sml \ src/compiler/parser2/main/ParserError.ppg.sml \ src/compiler/parser2/main/iml.grm.sml \ src/compiler/parser2/main/iml.grm.sig \ src/compiler/parser2/main/imlLexFun.lex.sml \ src/compiler/parser2/main/interface.grm.sml \ src/compiler/parser2/main/interface.grm.sig \ src/compiler/patterncalc/main/PatternCalc.ppg.sml \ src/compiler/patterncalc/main/PatternCalcInterface.ppg.sml \ src/compiler/recordcalc/main/RecordCalc.ppg.sml \ src/compiler/rtl/main/RTL.ppg.sml \ src/compiler/rtl/main/RTLTypeCheckError.ppg.sml \ src/compiler/rtl/main/X86Asm.ppg.sml \ src/compiler/runtimetypes/main/RuntimeTypes.ppg.sml \ src/compiler/toplevel2/main/TopData.ppg.sml \ src/compiler/typedcalc/main/TypedCalc.ppg.sml \ src/compiler/typedlambda/main/TypedLambda.ppg.sml \ src/compiler/typeinference2/main/TypeInferenceContext.ppg.sml \ src/compiler/typeinference2/main/TypeInferenceError.ppg.sml \ src/compiler/types/main/IDCalc.ppg.sml \ src/compiler/types/main/Types.ppg.sml \ src/compiler/usererror/main/UserError.ppg.sml \ src/compiler/util/main/SmlppgUtil.ppg.sml \ src/compiler/yaanormal/main/ANormal.ppg.sml \ src/reifiedterm/main/ReifiedTerm.ppg.sml \ src/reifiedterm/main/TermPrintUtils.ppg.sml \ src/smlformat/generator/main/ml.grm.sml \ src/smlformat/generator/main/ml.grm.sig \ src/smlformat/generator/main/ml.lex.sml CLEAN_FILES = src/compiler/parser2/main/iml.grm.desc \ src/compiler/parser2/main/interface.grm.desc \ src/smlformat/generator/main/ml.grm.desc smlsharp-1.2.0/INSTALL0000644 000000000000000000000413212050661606014534 0ustar00rootroot0000000 0000000 Compiling and Installing SML# == Requirements The following softwares are required to build and install SML#: * GNU Compiler Collection (version 3.4.0 or higher) * GNU make or BSD make * Standard ML compiler (one of the following) * Standard ML of New Jersey (version 110.65 or higher), or * MLton version 20100608 * GNU MP library It is required that Standard ML of New Jersey is built with target options enabling legacy ml-lex in CM. The following tool is used to build documents, but they are not required to build compiler and runtime. * doxygen == Quick Start $ ./configure $ make $ make install Things will be installed under /usr/local/bin and /usr/local/lib/smlsharp. == Configurations If you use MLton as a Standard ML compiler, specify --with-mlton option. Otherwise, the build system intends to use SML/NJ to compile SML#. $ ./configure --with-mlton. If you meet some troubles caused by C compiler, rerun configure to try to compile with another compiler. $ ./configure CC= CXX= If some required libraries are installed in non-standard directory on your system, you need to specify CPPFLAGS and LDFLAGS so that compiler can find them. For example: $ ./configure CPPFLAGS=-I/opt/pkg/include LDFLAGS=-L/opt/pkg/lib On Solaris, not only -L but -R option is needed to notice the library path to dynamic linker: $ ./configure CPPFLAGS=-I/opt/pkg/include \ LDFLAGS="-L/opt/pkg/lib -Wl,-R/opt/pkg/lib" You will see all build-time configurations by invoking configure with --help option. == Customizing install location Run configure with --prefix option to specify where to install. $ ./configure --prefix= If the --prefix option is omitted, /usr/local is assumed as PREFIX. Things are installed in those locations: /bin/smlsharp SML# compiler /bin/smlsharprun SML# runtime /bin/smlsharp2exe.sh Standalone executable maker /bin/smldoc SMLDoc /bin/smlformat SMLFormat /lib/smlsharp/ Directory for libraries of SML# smlsharp-1.2.0/install-sh0000755 000000000000000000002176612050661606015523 0ustar00rootroot0000000 0000000 #!/bin/sh # install - install a program, script, or datafile scriptversion=2004-09-10.20 # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. It can only install one file at a time, a restriction # shared with many OS's install programs. # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" # put in absolute paths if you don't have them in your path; or use env. vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" chmodprog="${CHMODPROG-chmod}" chownprog="${CHOWNPROG-chown}" chgrpprog="${CHGRPPROG-chgrp}" stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" chmodcmd="$chmodprog 0755" chowncmd= chgrpcmd= stripcmd= rmcmd="$rmprog -f" mvcmd="$mvprog" src= dst= dir_arg= dstarg= no_target_directory= usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: -c (ignored) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. --help display this help and exit. --version display version info and exit. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test -n "$1"; do case $1 in -c) shift continue;; -d) dir_arg=true shift continue;; -g) chgrpcmd="$chgrpprog $2" shift shift continue;; --help) echo "$usage"; exit 0;; -m) chmodcmd="$chmodprog $2" shift shift continue;; -o) chowncmd="$chownprog $2" shift shift continue;; -s) stripcmd=$stripprog shift continue;; -t) dstarg=$2 shift shift continue;; -T) no_target_directory=true shift continue;; --version) echo "$0 $scriptversion"; exit 0;; *) # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. test -n "$dir_arg$dstarg" && break # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dstarg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dstarg" shift # fnord fi shift # arg dstarg=$arg done break;; esac done if test -z "$1"; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call `install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi for src do # Protect names starting with `-'. case $src in -*) src=./$src ;; esac if test -n "$dir_arg"; then dst=$src src= if test -d "$dst"; then mkdircmd=: chmodcmd= else mkdircmd=$mkdirprog fi else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dstarg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dstarg # Protect names starting with `-'. case $dst in -*) dst=./$dst ;; esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dstarg: Is a directory" >&2 exit 1 fi dst=$dst/`basename "$src"` fi fi # This sed command emulates the dirname command. dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` # Make sure that the destination directory exists. # Skip lots of stat calls in the usual case. if test ! -d "$dstdir"; then defaultIFS=' ' IFS="${IFS-$defaultIFS}" oIFS=$IFS # Some sh's can't handle IFS=/ for some reason. IFS='%' set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` IFS=$oIFS pathcomp= while test $# -ne 0 ; do pathcomp=$pathcomp$1 shift if test ! -d "$pathcomp"; then $mkdirprog "$pathcomp" # mkdir can fail with a `File exist' error in case several # install-sh are creating the directory concurrently. This # is OK. test -d "$pathcomp" || exit fi pathcomp=$pathcomp/ done fi if test -n "$dir_arg"; then $doit $mkdircmd "$dst" \ && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } else dstfile=`basename "$dst"` # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 trap '(exit $?); exit' 1 2 13 15 # Copy the file name to the temp name. $doit $cpprog "$src" "$dsttmp" && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && # Now rename the file to the real destination. { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ || { # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { if test -f "$dstdir/$dstfile"; then $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ || { echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 (exit 1); exit } else : fi } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" } } fi || { (exit 1); exit; } done # The final little trick to "correctly" pass the exit status to the exit trap. { (exit 0); exit } # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: smlsharp-1.2.0/LICENSE0000644 000000000000000000000273212050661606014514 0ustar00rootroot0000000 0000000 Copyright (c) 2006 - 2012, Tohoku University. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Tohoku University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY TOHOKU UNIVERSITY AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL TOHOKU UNIVERSITY OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. smlsharp-1.2.0/Makefile.in0000644 000000000000000000002002412050661606015546 0ustar00rootroot0000000 0000000 srcdir = @srcdir@ VPATH = @srcdir@ include config.mk include src/config.mk include @srcdir@/files.mk # to disable fast build, comment out the next line @INCLUDE_FASTBUILD@include @srcdir@/fastbuild.mk MLYACC = src/ml-yacc/smlyacc MLLEX = src/ml-lex/smllex SMLFORMAT = src/smlformat/smlformat NEW_SMLSHARP = src/compiler/smlsharp SMLSHARP_ENV = SMLSHARP_HEAPSIZE=128M:1G SML_TARGETS = \ $(MLLEX) \ $(MLYACC) \ $(SMLFORMAT) \ $(NEW_SMLSHARP) ALL_GEN_SOURCES = \ $(GEN_SOURCES) \ src/config/main/Version.sml HEAPIMPL_SOURCES = \ src/runtime/heap_cheney.c \ src/runtime/heap_bitmap.c \ src/runtime/heap_otomo.c \ src/runtime/heap_reppy.c \ src/runtime/heap_malloc.c HEAP_SOURCE = src/runtime/heap_$(HEAPIMPL).c NETLIB_CFLAGS = $(CFLAGS) -DIEEE_8087 -DMALLOC=xmalloc NETLIB_SOURCES = src/runtime/netlib/dtoa.c RUNTIME_SOURCES = \ src/runtime/control.c \ src/runtime/error.c \ src/runtime/exn.c \ src/runtime/init.c \ src/runtime/object.c \ src/runtime/objspace.c \ src/runtime/obstack.c \ src/runtime/prim.c \ src/runtime/splay.c LIBSMLSHARP_OBJECTS_COMMON = \ $(NETLIB_SOURCES:.c=.$(OBJEXT)) \ $(RUNTIME_SOURCES:.c=.$(OBJEXT)) LIBSMLSHARP_OBJECTS = \ $(HEAP_SOURCE:.c=.$(OBJEXT)) \ $(LIBSMLSHARP_OBJECTS_COMMON) RUNTIME_TARGETS = \ src/runtime/libsmlsharp.$(LIBEXT) \ src/runtime/smlsharp_entry.$(OBJEXT) ALL_TARGETS = \ src/config.mk \ $(RUNTIME_TARGETS) \ $(SML_TARGETS) \ $(INSTALL_FILES) all: $(ALL_TARGETS) clean: PHONY -rm -f $(RUNTIME_TARGETS) $(SML_TARGETS) -rm -f $(LIBSMLSHARP_OBJECTS_COMMON) -rm -f $(HEAPIMPL_SOURCES:.c=.$(OBJEXT)) -rm -f $(ALL_OBJECTS) -rm -f $(ALL_GEN_SOURCES) $(CLEAN_FILES) -rm -f minismlsharp @INCLUDE_STAGE0@ -rm -rf stage0 distclean: clean -grep '[a-f]' RELEASE_DATE > /dev/null 2>&1 && rm -f RELEASE_DATE -rm -rf autom4te.cache config.h config.log config.status -rm -f Makefile config.mk src/config.mk stamp-h -rm -f precompiled/fastbuild precompiled/minismlsharp-files -rm -rf precompiled/$(NATIVE_TARGET) sources: PHONY $(ALL_GEN_SOURCES) runtime: PHONY $(RUNTIME_TARGETS) install: $(ALL_TARGETS) $(INSTALL) -m 755 -d '$(DESTDIR)$(libdir_smlsharp)' $(INSTALL_PROGRAM) -m 644 src/config.mk \ '$(DESTDIR)$(libdir_smlsharp)/config.mk' $(INSTALL) -m 755 -d '$(DESTDIR)$(libdir_smlsharp)/runtime' $(INSTALL_PROGRAM) -m 644 src/runtime/libsmlsharp.$(LIBEXT) \ '$(DESTDIR)$(libdir_smlsharp)/runtime' $(INSTALL_PROGRAM) -m 644 src/runtime/smlsharp_entry.$(OBJEXT) \ '$(DESTDIR)$(libdir_smlsharp)/runtime' $(INSTALL_PROGRAM) -m 644 src/builtin.smi \ '$(DESTDIR)$(libdir_smlsharp)/builtin.smi' if test -f src/compiler/smlsharp.lib; then \ $(INSTALL) -m 755 -d '$(DESTDIR)$(libdir_smlsharp)/compiler'; \ $(INSTALL_PROGRAM) -m 644 src/compiler/smlsharp.lib \ '$(DESTDIR)$(libdir_smlsharp)/compiler'; else :; fi @copy () { \ if test ! -d "$$2"; then \ echo $(INSTALL) -m 755 -d "$$2"; \ $(INSTALL) -m 755 -d "$$2" || exit $?; \ fi; \ echo $(INSTALL_DATA) "$$1" "$$2"; \ $(INSTALL_DATA) "$$1" "$$2" || exit $?; \ }; \ for i in $(INSTALL_FILES); do \ d=`dirname "$$i" | sed 's,^src/*,,'`; \ copy "$$i" '$(DESTDIR)$(libdir_smlsharp)/'"$$d"; \ done; \ $(INSTALL) -m 755 -d '$(DESTDIR)$(bindir)' $(INSTALL_PROGRAM) -m 755 $(MLLEX) '$(DESTDIR)$(bindir)' $(INSTALL_PROGRAM) -m 755 $(MLYACC) '$(DESTDIR)$(bindir)' $(INSTALL_PROGRAM) -m 755 $(SMLFORMAT) '$(DESTDIR)$(bindir)' $(INSTALL_PROGRAM) -m 755 $(NEW_SMLSHARP) '$(DESTDIR)$(bindir)' # -------- implicit rules -------- PHONY: # force to rebuild .SUFFIXES: .c .h .o .a .sml .ppg .ppg.sml .lex .grm .lex.sml .grm.sml .grm.sig .sml.o: $(SMLSHARP_ENV) $(SMLSHARP) -Bsrc -nostdpath -c -o $@ $< .ppg.ppg.sml: $(SMLFORMAT) $< .lex.lex.sml: $(MLLEX) $< .grm.grm.sml: $(MLYACC) $< .grm.grm.sig: $(MLYACC) $< .c.o: $(CC) $(CFLAGS) $(DEFS) $(CPPFLAGS) -c -o $@ $< # -------- runtime -------- src/runtime/libsmlsharp.$(LIBEXT): $(LIBSMLSHARP_OBJECTS) -rm -f $@ $(AR) cru $@ $(LIBSMLSHARP_OBJECTS) -$(RANLIB) $@ src/runtime/smlsharp_entry.$(OBJEXT): src/runtime/main.c $(CC) $(CFLAGS) $(DEFS) $(CPPFLAGS) -c -o $@ $(srcdir)/src/runtime/main.c src/runtime/netlib/dtoa.o: src/runtime/netlib/dtoa.c $(CC) $(NETLIB_CFLAGS) -c -o $@ $(srcdir)/src/runtime/netlib/dtoa.c # -------- executables -------- src/ml-lex/smllex: $(MLLEX_OBJECTS) $(RUNTIME_TARGETS) $(SMLSHARP) -Bsrc src/ml-lex/ml-lex.smi -o $@ src/ml-yacc/smlyacc: $(MLYACC_OBJECTS) $(RUNTIME_TARGETS) $(SMLSHARP) -Bsrc src/ml-yacc/src/ml-yacc.smi -o $@ src/smlformat/smlformat: $(SMLFORMAT_OBJECTS) $(RUNTIME_TARGETS) $(SMLSHARP) -Bsrc src/smlformat/generator/main/call-main.smi -o $@ src/compiler/smlsharp: $(COMPILER_LIB_OBJECTS) $(RUNTIME_TARGETS) $(SMLSHARP) -Bsrc $(RDYNAMIC_LDFLAGS) src/compiler/smlsharp.smi -o $@ src/compiler/minismlsharp: $(MINISMLSHARP_OBJECTS) $(RUNTIME_TARGETS) $(SMLSHARP) -Bsrc $(RDYNAMIC_LDFLAGS) src/compiler/minismlsharp.smi -o $@ minismlsharp: $(RUNTIME_TARGETS) precompiled/$(NATIVE_TARGET).xz (cd precompiled && $(XZ) -cd $(NATIVE_TARGET).xz | $(PAX_R)) (cd precompiled/$(NATIVE_TARGET) \ && $(CC) $(LDFLAGS) ../../src/runtime/smlsharp_entry.$(OBJEXT) \ `cat ../minismlsharp-files` \ ../../src/runtime/libsmlsharp.$(LIBEXT) \ $(LIBS) -o ../../$@) # -------- source code generation -------- SNAPDATE = \ snapdate () { \ r=`LANG=C hg summary \ | awk '/^parent:/{sub("^[0-9]*:","",$$2);print $$2;exit}'`; \ [ -n "$$r" ] || exit 1; \ d=`LANG=C hg log -r"$$r" --template '{date|isodatesec}'`; \ [ -n "$$d" ] || exit 1; \ echo "$$d $$r" > "$$1"; \ }; snapdate @SNAPDATE_RULE_@RELEASE_DATE: $(srcdir)/../.hg/dirstate @SNAPDATE_RULE_@ $(SNAPDATE) $@ src/config/main/Version.sml: \ config.mk src/config.mk Makefile VERSION RELEASE_DATE \ src/config/main/Version.sml.in h () { echo "$$@" | sed 's/["\\]/\\&/g'; }; \ sed -e "s\"%VERSION%\"`cat VERSION`\"" \ -e "s\"%RELEASE_DATE%\"`sed s/+0900/JST/ RELEASE_DATE`\"" \ -e "s\"%HOST_OS%\"$(OS_TYPE)\"" \ -e "s\"%LIBDIR_SMLSHARP%\"`h '$(libdir_smlsharp)'`\"" \ $(srcdir)/src/config/main/Version.sml.in > $@ # ---- autoconf ---- CHECK_GNUMAKE = \ ($(MAKE) --version 2> /dev/null | grep 'GNU Make' > /dev/null) \ && echo 'This is GNU Make; Makefiles are automatically reloaded.' Makefile: Makefile.in config.status ./config.status Makefile @echo 'Makefiles are updated, rerun make.' @$(CHECK_GNUMAKE) config.mk: config.mk.in config.status ./config.status config.mk @echo 'Makefiles are updated, rerun make.' @$(CHECK_GNUMAKE) src/config.mk: src/config.mk.in config.status ./config.status src/config.mk @echo 'Makefiles are updated, rerun make.' @$(CHECK_GNUMAKE) config.h: stamp-h stamp-h: $(srcdir)/config.h.in config.status ./config.status config.h stamp-h config.status: $(srcdir)/configure ./config.status --recheck $(srcdir)/configure: $(srcdir)/configure.ac cd '$(srcdir)' && autoconf $(srcdir)/config.h.in: $(srcdir)/stamp-h.in $(srcdir)/stamp-h.in: $(srcdir)/configure.ac cd '$(srcdir)' && autoheader echo timestamp > '$(srcdir)/stamp-h.in' # -------- dependencies -------- depend: PHONY -rm -f $(srcdir)/files.mk $(srcdir)/depend.mk SMLSHARP='$(SMLSHARP)' \ OBJEXT='$(OBJEXT)' \ $(SHELL) mkdepend \ BASIS_LIB src/basis.smi \ MLLEX src/ml-lex/ml-lex.smi \ MLYACC_LIB src/ml-yacc-lib.smi \ MLYACC src/ml-yacc/src/ml-yacc.smi \ SMLFORMAT_LIB src/smlformat-lib.smi \ SMLFORMAT src/smlformat/generator/main/call-main.smi \ MINISMLSHARP src/compiler/minismlsharp.smi \ COMPILER_LIB src/compiler/smlsharp.smi \ SQL_LIB src/sql.smi \ PRELUDE_LIB src/prelude.smi for i in $(HEAPIMPL_SOURCES) $(NETLIB_SOURCES) $(RUNTIME_SOURCES); do \ echo $(CPP) -MM $(DEFS) $(CPPFLAGS) $(srcdir)/$$i 1>&2; \ $(CPP) -MM $(DEFS) $(CPPFLAGS) $(srcdir)/$$i \ | perl -npe 's,^[^:. ]*(\.[^: ]*: *)([^. ]*)\.c,\2\1\2\.c,; \ s, /[^ ]*\.h(?= ),,g' \ >> $(srcdir)/depend.mk; \ done include @srcdir@/depend.mk @INCLUDE_STAGE0@include @srcdir@/stage0.mk smlsharp-1.2.0/mkdepend0000644 000000000000000000000557012050661606015224 0ustar00rootroot0000000 0000000 #!/bin/sh [ "x$SMLSHARP" = "x" ] && SMLSHARP=smlsharp [ "x$OBJEXT" = "x" ] && OBJEXT=o files_mk=files.mk depend_mk=depend.mk dep_objfiles () { echo $SMLSHARP -Bsrc -nostdpath -Ml "$1" 1>&2 $SMLSHARP -Bsrc -nostdpath -Ml "$1" \ | awk '{sub(" *\\\\$","");sub("^ *","");gsub(" *","\n");print}' \ | sed '1d;$d' \ || exit $? } dep_srcfiles () { \ if test -f `echo "$1" | sed 's,\.smi$,.sml,'`; then sedscript="1d" else sedscript="1,2d" fi echo $SMLSHARP -Bsrc -nostdpath -M "$1" 1>&2 $SMLSHARP -Bsrc -nostdpath -M "$1" \ | awk '{sub(" *\\\\$","");sub("^ *","");gsub(" *","\n");print}' \ | sed "$sedscript" \ || exit $? } ALL_OBJECTS= INSTALL_FILES= GEN_SOURCES= CLEAN_FILES= read_smi () { \ obj=`dep_objfiles "$2"` ALL_OBJECTS="$ALL_OBJECTS $obj" obj=`echo "$obj" | awk '{a[NR]=$0}END{for(i=NR;i>0;i--)print a[i]}'` echo "$1""_OBJECTS = $obj" | sed '$q;s,$, \\,' >> $files_mk src=`dep_srcfiles "$2"` case "$1" in *_LIB) INSTALL_FILES="$INSTALL_FILES $obj $src $2" ;; esac { echo "$1"'_SOURCES ='; \ echo "$src" | sed 's/\.smi$/.sml/' \ | while read i; do test -f "$i" && echo "$i"; done; } \ | sed '$q;s,$, \\,' >> $files_mk } echo '# auto-generated by mkdepend. DO NOT EDIT BY HAND.' > $files_mk echo '# auto-generated by mkdepend. DO NOT EDIT BY HAND.' > $depend_mk while [ "x$1" != "x" ] && [ "x$2" != "x" ]; do read_smi "$1" "$2" shift 2 done INSTALL_FILES=`echo "$INSTALL_FILES" \ | awk '{sub("^ *","");gsub(" *","\n");print}' \ | sort | uniq` echo "INSTALL_FILES = $INSTALL_FILES" | sed '$q;s,$, \\,' >> $files_mk ALL_OBJECTS=`echo "$ALL_OBJECTS" \ | awk '{sub("^ *","");gsub(" *","\n");print}' \ | sort | uniq` echo "ALL_OBJECTS = $ALL_OBJECTS" | sed '$q;s,$, \\,' >> $files_mk for i in `echo "$ALL_OBJECTS" | sed "s,\.$OBJEXT\$,,"`; do case "$i" in src/ml-yacc/src/yacc.lex) ;; src/ml-yacc/src/yacc.grm) ;; src/ml-yacc2/src/yacc.lex) ;; src/ml-yacc2/src/yacc.grm) ;; *.ppg) GEN_SOURCES="$GEN_SOURCES $i.sml" echo "$i.sml: $i \$(SMLFORMAT_DEP)" >> $depend_mk ;; *.lex) GEN_SOURCES="$GEN_SOURCES $i.sml" echo "$i.sml: $i \$(MLLEX_DEP)" >> $depend_mk ;; *.grm) GEN_SOURCES="$GEN_SOURCES $i.sml $i.sig" CLEAN_FILES="$CLEAN_FILES $i.desc" echo "$i.sml $i.sig: $i \$(MLYACC_DEP)" >> $depend_mk ;; esac echo $SMLSHARP -Bsrc -nostdpath -M "$i.sml" 1>&2 $SMLSHARP -Bsrc -nostdpath -M "$i.sml" | sed 's, *\\*$, \\,' \ >> $depend_mk || exit $? echo ' $(SMLSHARP_DEP)' >> $depend_mk done GEN_SOURCES=`echo "$GEN_SOURCES" | awk '{sub("^ *","");gsub(" *","\n");print}'` echo "GEN_SOURCES = $GEN_SOURCES" | sed '$q;s,$, \\,' >> $files_mk CLEAN_FILES=`echo "$CLEAN_FILES" | awk '{sub("^ *","");gsub(" *","\n");print}'` echo "CLEAN_FILES = $CLEAN_FILES" | sed '$q;s,$, \\,' >> $files_mk smlsharp-1.2.0/MLton-LICENSE0000644 000000000000000000000250412050661606015540 0ustar00rootroot0000000 0000000 This is the license for MLton, a whole-program optimizing compiler for the Standard ML programming language. Send comments and questions to MLton@mlton.org. MLton COPYRIGHT NOTICE, LICENSE AND DISCLAIMER. Copyright (C) 1999-2007 Henry Cejtin, Matthew Fluet, Suresh Jagannathan, and Stephen Weeks. Copyright (C) 1997-2000 by the NEC Research Institute Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the name of the above copyright holders, or their entities, not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. The above copyright holders disclaim all warranties with regard to this software, including all implied warranties of merchantability and fitness. In no event shall the above copyright holders be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use or performance of this software. smlsharp-1.2.0/precompile.mk0000644 000000000000000000000726312050661606016203 0ustar00rootroot0000000 0000000 # GNU make is required. # This file assumes that srcdir and builddir are same ".". include ./files.mk SMLSHARP_ENV = SMLSHARP_HEAPSIZE=128M:1G SMLSHARP = src/compiler/smlsharp SMLSHARP_DEP = all: precompiled/x86-darwin.xz \ precompiled/x86-linux.xz \ precompiled/x86-mingw.xz OBJECTS = $(MINISMLSHARP_OBJECTS) \ src/compiler/minismlsharp.smi.o SMIFILES = $(patsubst %.o,%.smi,$(patsubst %.smi.o,%.smi,$(OBJECTS))) SMLFILES = $(patsubst %.o,%.sml,$(patsubst %.smi.o,%.smi,$(OBJECTS))) precompiled/ids: $(SMIFILES) precompile.mk $(SMLSHARP) -Bsrc -nostdpath -fprint-main-ids \ src/compiler/minismlsharp.smi \ | sed 's,\.smi$$,.sml,' > $@ precompiled/sums: $(SMLFILES) precompile.mk $(SMLSHARP) -Bsrc --sha1 $(SMLFILES) > $@ precompiled/files: precompiled/map precompiled/ids precompiled/sums \ precompile.mk awk 'BEGIN{while((getline < "precompiled/ids"))id[$$2]=$$1; \ while((getline < "precompiled/sums"))sum[$$2]=$$1} \ /\.smi\.o$$/{next} \ {sub("\\.o$$",".sml",$$2); \ printf "compile %s %s:%s %s\n",$$1,id[$$2],sum[$$2],$$2}' \ precompiled/map > $@ precompiled/minismlsharp-files: files.mk precompiled/map for i in src/compiler/minismlsharp.smi.o $(MINISMLSHARP_OBJECTS); do \ fgrep " $$i" precompiled/map; \ done | cut -d\ -f1 > $@ precompiled/fastbuild1: files.mk precompiled/files { echo 'check src/ml-lex/ml-lex.smi'; \ for i in $(BASIS_LIB_OBJECTS:.o=.sml); do \ fgrep " $$i" precompiled/files; \ done; } > $@ precompiled/fastbuild2: files.mk precompiled/files { echo 'check src/compiler/minismlsharp.smi'; \ for i in $(MINISMLSHARP_OBJECTS:.o=.sml); do \ fgrep " $$i" precompiled/files; \ done; } > $@ src/compiler/minismlsharp.smi.x86-darwin.s: $(MINISMLSHARP_OBJECTS:.o=.smi) $(SMLSHARP_ENV) $(SMLSHARP) -Bsrc -nostdpath -dtarget=x86-darwin -S -o $@ src/compiler/minismlsharp.smi src/compiler/minismlsharp.smi.x86-linux.s: $(MINISMLSHARP_OBJECTS:.o=.smi) $(SMLSHARP_ENV) $(SMLSHARP) -Bsrc -nostdpath -dtarget=x86-linux -S -o $@ src/compiler/minismlsharp.smi src/compiler/minismlsharp.smi.x86-mingw.s: $(MINISMLSHARP_OBJECTS:.o=.smi) $(SMLSHARP_ENV) $(SMLSHARP) -Bsrc -nostdpath -dtarget=x86-mingw -S -o $@ src/compiler/minismlsharp.smi %.x86-darwin.s: %.sml $(SMLSHARP_ENV) $(SMLSHARP) -Bsrc -nostdpath -dtarget=x86-darwin -S -o $@ $< %.x86-linux.s: %.sml $(SMLSHARP_ENV) $(SMLSHARP) -Bsrc -nostdpath -dtarget=x86-linux -S -o $@ $< %.x86-mingw.s: %.sml $(SMLSHARP_ENV) $(SMLSHARP) -Bsrc -nostdpath -dtarget=x86-mingw -S -o $@ $< COPYASM = \ copy () { \ [ -d `dirname "$$2"` ] || mkdir -p `dirname "$$2"`; \ cp "$$1" "$$2" && chmod 644 "$$2"; \ }; copy precompiled/map: files.mk precompile.mk c=001; \ inc () { echo 00`expr $$1 + 1` | sed 's,.*\(...\)$$,\1,'; }; \ echo $(OBJECTS) | awk '{gsub(" ","\n");print}' | sort | uniq \ | while read i; do \ echo "$$c.s $$i"; \ c=`inc $$c`; \ done > $@ ./precompile.dep: precompiled/map depend.mk precompile.mk for t in x86-darwin x86-linux x86-mingw; do \ { \ sed "/MLLEX_DEP/d;/MLYACC_DEP/d;/SMLFORMAT_DEP/d;s/\.o:/.$$t.s:/" \ depend.mk; \ files=; \ while read i; do \ set -- $$i; \ asm=`echo $$2 | sed "s,\\.o\$$,.$$t.s,"`; \ echo "precompiled/$$t/$$1: $$asm precompiled/map"; \ echo " \$$(COPYASM) $$asm \$$@"; \ files="$$files precompiled/$$t/$$1"; \ done; \ echo "precompiled/$$t.xz: precompiled/minismlsharp-files precompiled/fastbuild1 precompiled/fastbuild2 $$files"; \ echo " pax -w -s ',^precompiled/,,' -x cpio $$files precompiled/minismlsharp-files precompiled/fastbuild1 precompiled/fastbuild2 | xz -c > \$$@"; \ } < precompiled/map; \ done > $@ include ./precompile.dep smlsharp-1.2.0/precompiled0000755 000000000000000000000000012050661606015727 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/precompiled/x86-darwin.xz0000644 000000000000000002032343012050661606020307 0ustar00rootroot0000000 0000000 ý7zXZæÖ´F!t/å£ï9‡ïÿ] ߈b5á¡øÿè$©µ´‹ÏO;)z¬Ã¿Õ?”KÄ/0çânÞ=ÚOnݦ<ꛢ› IKw\¦³W"‘yÂjê2ß[Gš i—‰â{™ç•Å#Ñx)m×e…h“ÿ¼kù:³‚pLygîÎ$ÏT¡Aàí£B×äö¿Ap'sãAJÚ÷7eŠ8™ë—О†~n‚1¦ÉBÎ’¦½»™6ÍV_à£môj)r{=°š›óàómsØŒÞð,/qÏ•ôö°ˆrÞ WCSû Ó›s=BW>H´Ô¾…@{„•´Pc9³ ÔŽ'ÑÅýòãçš(ÎÜHیǴI†ÅªRe?^®z,î¤^W¦¾mç8$“Hy÷ 2a¿þ“LÚ²K› Í;b+¼Ô1SÛí*¼…ÔÍ#pòÈXÕ'úÇßû7I a6Ÿ\_0ãutZ?ƒÇ­ªJ>€,…ûœ¥Yÿ?QõrQ»ƒ÷‹Q]Æ‹û°Éû¯Ì]lQø%4¸Î»};=?kµKÌé†BuÕM¢u-  ó繺¿Þü7¿ÕZÑL²ñP«ÀI¶KúßÓr¼e`šÂ‚ [Aìon?ÉØ°C`€y¯¬¨ï61Ë4;­[Ãbvœ£jù¦P tµ^™ýUcµÙå< 6›Ø ›"óÝŽc}gšˆ{=…éy&&Sà?úP‘bm ª.àÝB…ܯ¾#Yr]äv־х+ð7w›ókRWuE¸; 4þ ³škîcíþc‹Ï»›‘èv_ ¤1#ÿG- £•ÿbs}Œ¸¯Ž~‹º4öð´Y•Q;j±¬z-•¾×%CúŒ¶™-àEsüq΋ýê2î·µKƒ&C’IX„]ï%¶¢¥iaEuøåÔ®áä™ÈLR8ÓÍw4˜V€c½‰§ýÞ"^ñy³êäaT){«f2_+AÈîè#Ðö¯à„KCÉu6,L;A4ñªŽ¥í”¬ú ''©¹ÍlIJá…«`ëÒô ¥=STTÕö?uõ§ó¸Ãk€˜¡ùv$70ð@¼d­NÒ dûl¾%"Z´F$Ûæ{ÚÁ·ÃÝ>ª[XÁ!¥}Góâ—G ÿ¡$T @>üyêcþ/cîþ±<ÖdÌ<û9½zoßï±ô7€/íìÀu~/F¬µ¢!þz]ŒK> 91Ä\´FÀ†´^ ¿63Ž¿\@ÂÍäø¨¯ 4o¼¤XÕoS–špmѽØu·–¤ŽW ÑæD®x”´g0ØJfêØPq ¯_¯Î®Îv+:éb57‰Í…P” ò¯žÃ]ž #sññ¢øçQ¨ÈdµQR©beȺ†1HL{h¥ˆÝn¸å·!jô°…’('¶uÍ#ü`TøQ4Lk~SœJ.a+þªÂgº;v? œ[´ X/W43“æ#gŠÔ®x1Öë/ãÊVâKñ J™Ë‘é"^«Ï¸›FáZöya­‡n£Äh¹|\A¯„Æcr¶Û=(‚ô;~Ê,ø®‘FÔ5(3éJ¯;”Ç+ z"ä¦=ñ… X_~êU{dJ°X^”©ñ²8¾Xv*ˆÌeÃú-ÙÑ#Wu½™ˆå3jÂ|Á†lôlÍ!–ª>™N"VÖC}'­¶ÒrÜ)·îTÍEå;œ?±`Û„j`½ãojþu?$î¦ãŽ:.úÝìy\Wª ýÒšt.Þ¦2U˜öˆ±戵Çt[^ï)lI‹Q5†ÄÇi¯¥Æ&W6?~›Ì5xrÏ6AßY/ÜTÆÑ¯ûžä)­°ºJïyŒáÒW{OÅ®î+·‰æ@I70rIã*·/S¬w9Ýq¹ût`“GmÒµ ’ÖE#f·(óˆÅÛþk´¥ v ¦|í Å-?íŠÚà¨93cytÖ@ö2Žä͵i¿-éè½t U*ÄÓ>·ˆ¸K)rßË(ù)\fS¯æïdÙAµî…¸IÖÓÌ?A겂{ÊZ [»DÑpZÑ`æZ[¼ñ>½ (I1?¹S¸ÙÏ!A×ÕæS«!sfÁÑDDž*¬ä7Ys˜«€qа׬nwz1¡Öp=:ñfoE²¥ Ž)ú RU4·¥&íéÛÛ–iÕ<ëa°³®ˆ|¿/ÄwÚfWq¥ïÚjå(uxùa½ÂçŸï§´•¤-/.Ëž%™j¬ütûZŽLd_mær·aúÞ|ônþu˜lõÈ¿±ÃÁ软“©î}Bbu!¯ùª„Òò¤$|±Pävºµb2i„õN­ê¶‚šI/ÿè—¤3±·§Ñˆi¹hA‰ZÈ3>'ƒ`ì _×.o7ß‹ zpUäNé32oN>c[’gº¸Èõhd3óRÇFÜ\‰ÚBôÊʸ$ÓÚ)èšßxt©c2ˆ¦Å™ü|Cnï—SU#ëÖ¨Ñwùýg¥G¿Q}ôs´âÔM®ÄfÉú ØÏïùS*/|zü:s–2ø3o ¼eÝUøV× ÜáEà‘™)®^Õ¯é€'‹!o ïÓÌ 4V4ã» ­PîǤ2P ê=ÇMë_‡Æ®“¦ìþPz]:¸s&¢[5_£ù‰†Šú^çûïºÇª•"ΘKðñ]XÙécäNÉÆ,AFk§ ƆáÔ/²ÈÇÒZg™ò¦ï%A‡;pØË8à :ߨ"<†nøæk͵öÍü¤9Š÷°$™¬y¦ï¹qgß—¥õë¬ñ·Ï Ý€ yÃNçÙ«Ÿ¤Šë—wM,×Ìœ•‚<ïjò÷»–þCfÍì$lJ¦éÔGf „T¡Mà7Š—AÎøS';Ñþ_1ûôá‰QsÛ@h41Û74ˆÌ9lop™{ãEíÙ' t¡††µ ±¾ƒÅü˜0Ý/ãr¨F]ïÉ®ìæ6m¬r™;‘cu4Ρ’ßXȼˉf x©–Rý[ËuãWxäL½ùª¡G¼é s+ÙnÄË´‡ˆü?)(„tÚ‡©aktÕ(Vhg.mU…²6 ;L²%}®ŽŸœ,÷:7ÏĞͬLÖjWµÒƒ;^DòüñÊ1gg'‡P©¯›ºKÓ›L3½É¯S>ò*>²›åÉè·9\|ÊÑrs§}½Ê¯`f9cÅ`&¨‹³ cm"<Úò¯F‡`Y7tÍ1dÒ*¥q›.) =>éÌ*âÌ‚½ÁÀ0]—eYwïþ©û³Š W¶_äÿ–ÿhµ6*5‘DuöµL¬qž–Íq·<Ð…º.g D^(*ŸJªJ·Èìç&ÁÅ¢£óõÛíŠÍùkÍôðVòPþ‘®7Ø׿I |q9½º)hÐ9»®dÌz%lÍÑ\#¹ÃhAñlÖv#]Ù»®¼§8ø}yÜ ~#q`t0Z<ÏÛoüJ5MeábŸ¨ÝöLûѤ$ØÊâħ܌«ì[â7¨o.¹'“ûÌH¾UÍÔÕŒÄM‰V©4…à>%'V Ü@£³Í:¿®" öäZÞ(¥ 9cÈ{ÔËj#{‘]eˆã9 Žý" ¢³š ì“Óòâ_ÿ‡ã£V—/Ó„ƒxÂ3@’š0­pàçp‡ JßÝ&•ÈòKw "ÚïaUgRL&P|œ¯H£ý¡QP›^Ð/çªÀÏ%:² Á0¨f0ò|Ñ¿µ…GøE¸›+tά‡?£óøöùÄRZ¡kŽRGcp“„FSžPŒÖ&’ÕŽÔÖÆ±…/ón:ÆÖÓ¬(+¾õIæ¬óbûaB*}rO¾'È&yùŽ¢Â)$ä£ìP¹R-†ê?æar2½äcê¤K(1"ªHÚ-´?ßËEH¶‰-•ÄJ()~}8m ˜²øÖ2>–wí.s.Þû³’8W‹*ˆ®W¹ðùò„½ ^k•¨»yo<•\̹Ó'ìÏѾÅNïÏ–Y÷ÆP³õ&O£zÎÚg¢À·H×!ï³:¶ß×g"ö<3æTŸ)×9üq`½~d”‡˜xã1z–÷T8¥¤=yF® E‚_¿N…o/£ö¹AË‹#zÚ ýÌø Ô5BŸÚS¥³jïã‹©K¹8t]AÎA›-È”O€)gÌomñrØd°ÍŒqZ0I§î+˜ŒÚ{3{¶M†+I:rR­#î‘â|}b“6\3_â7œ Ó49aÝÎs¥<>ZE99Й‡²ËUbL[ßíÑfÁ,¸Ùï{ASi?èÝÎÓÚ´%ÛÂþÚdIðÆù=™­`J{%P1Кw¯hsÒÈ¥lD.쬘¦5^Òw]VMû@ÝHÿ^EiýK*až~•;vÑ·Tã†ß—N‚ZKjªµ1<å½£§ ù;Òù1ïØnA·Pnñ˜„MÔ+k¬¸:Š*,d'wpߥPqÁ[‚¯Aca?IŒéá®íý;ÂO÷3wz9v&éO–€c÷d<u°6ìq‘ÖYØ“^6F½^S×™é£gߘK4†‰ÿ_Hdwéãu)Ë¿²jv§lï׿C©’Êù<’b¨JÖ´±>%‘Ç]cR È;ûxÿQ p¦©ª¿ºbÕ; Òm›â£¨’ÄÒƒÏ@V‰ ²Ú~Ic²öó%.Ðt^6îsäqÖnã˜GŸ/þ´Y\,þI±îö“€—ó‰ö*¬ÞˆÚÃèpÓu¹(‰œjò·¹3*>~Üv5óö‚fbª@£ƒöHÀHqQ½™¥¥õ«àÔG§ßGsîõ‰¤.Á(c Ñ4ó*¬ «:’Á“¡xè6çü ]ØâƨÔodÈlË2j>ÑŸÝ4\h·_Ô¹ë”8iö!âv€Ú;æ™o½Ã@¹á>Â.ÀšÎ-I.?œV™ú^-aI…+l¡­š;ïO÷KÑÀã×] TqÉ „3ÆúyzEe #&=¿µºû˵ɫ°ì<ÏK(™ºàÓ&¥ðÑ­Ôo|úÎp=Œ–7#«ª -^ß¹™C2ð: ¹Ç7Y~»ŸY·<@ñ¬À%'HÞè—ÆaUͯɯu¤N†•‡]Æ*^êætx]|Ê»° ¡ìÿTÂ=ÞPUØ ‰#1ÛaRY¤AðТmŽÖÛÌ àvºüùà-ÊQ»ˆ~ùÒÍ‹:žàžƒc®PÍüÈÜD’æ^!™ÈžRêfä\—­´:Šâ>Úõáò øÚ†s·¯¾ØÐ…`ìLÁ:L>yÂøà½ â¢'`Gß•y=×÷¸=ÝO[‡ˆ›–J®4ˆü2êAnp2ÔÝöZ×®E^¡)aþåœØÓež¨²tÖá„&ûöí½¼ÜŒ¼IÉF.ŽIèþ}ú£ñÌö¤õ:¥›â=6ùþ؆E£÷\›åsª°Z•ùîÖ±A6â§Ò /ì S ñ&ý䬯¹e6tÀØÎÙ/Ìx'EæÎæÓ úœ?>®çwöâ’‘åÒùN,K'íLŒþŠZñ{ÊTéT0gT)ØÅ}ûrc«yÃ÷«þJc[b!‹Ýœ»üp×ÚgËøŠ%ÂöT~€ jÁ‰°½}Ñé¹…’þýsjbSoa«ž{Eè~ýO'À8Ãwï%gò>ÈA¨Â¿qŸE*Æ=®7c‰‰KúÜ\¦rUs³0‚̇VÇMkG}J£ly ðšM©Ñ‚Bk´”FkkôÇÛ@ }0¬¥ùC(nìsÀ»o 3‚8ZÜ é)î•æá*‡°‡sè:y[¡\?aJ²¸î„iàT«Õ—^9hþ'²¡ÛÒRpÄ7N£¶ç ¼‹áéˆÃkØ_›¨¡,~rßu61Oã4ºA:H¨wU}$_E¬«UQT™h?öá+ë{ôú—pe„³Ötˆ‡@ ¬­ôÉ…a¸±LÐäy{R¤£V¶·b˜bNB‹²eÑôÞˆÝé”ú5<|FÇ (,c>P8Tà~¢m¦üöú@«˜\3F1+nrû6®šd™n¬}•P˜®¦¦.3‹»F?f`V±ö'$Þ*O>œñqÈ$2ã…fLmÝçIðÄäÉ€DwjyX~æºð‘®Mæ]¥]9­Z#GmöèÞ¶+Ï%ŠëBµPa†PÈ@fV#{#¸Ž«K{,Վɸ/37Öqú;¿Y)Ô9ÁÀùäç`åÍ„æ÷ûRþ¶gE!Ýóµ^ø§<ÏÆ…éŠs_2’Åï``A‡%‡Ÿ¤¼uÏb[9–²Á w ï CÈÛ½ßcG¦ImiɨDÂð3RÁ‹N­÷‚'ŸežA| Wý1Lû‘~ÄÁ&Øè¼Hî\ÒÀ'm¯p«¶RÛ¤wÚÂãñuû,©-ÆÑN~ÅQ†«'pï=»ïçÆÖ}n½£Ìä£Ú,hƒÈn J7¥8Ö`­@þ‡ù†ª!uaþj™gTævô„ÄNÏUöh93Þ)ƒL€9'œ¡ò‹xµ•#"äw¡PTsyk­¬:üÅ\0#šáj«›!ïÙ D†|-ùEF]¯ŒKwA²¹¾<éáÓù¡ì?`ÓÜ£`Dè*k§ycf‹0‡€)>‹¸f·Uuïõn˜t¸»Í^u@MžáåðX XH)êzC=š0P°N/ C¬ÛÎö0'KуÞ0ÜæA¯~°#°§Z° ×jŽç¹—]Å>¸TiÍSýÐ8h ºöK?hv·?äèÇðØF§Št׺_9ÊÓ¿´HŬǕ¿†•ß çÜ> R„'ÿ––™ê‘ðIõ?–õ.Ó¨%QçnBž„äÀ-*™½H¼1 #Ö çfÔï¸&·¦`ENƒ3|¹)Úö+™·Æ›‚bÜÌžDBmh( °Ð3uÅÔh1™[õŠ•’æÓö 1Šl›Š/¸ƒoâG¢qC‘sÀŸÏÁ, |k5ÖªhÚY?§œggo[ù\ˆ+\0n ~øñ¿`¿ÊSƒ›PbÜéÂÉ{áêü)½gìö˜ ±¦4Îpøìøf ÆWÃ`ÝuAñò…/Z( ÿq¯qÏèIDñûÁ´Dû,/˜S’TtV/Á ò9Ë%á+ ÈvÏÝ›Ü;TG6°d r¨ ò$»ô+i›ŸÓ¿)̽‰–Ðkq"ì._¾£·V{'˜¤´ªÁ†uD¾#øvàF`±\ÜK°h- Ý·$ßV…J3æ€1„]ŠÙ žÊ‘Ø¿pzì@Oœ·=ÏV¡gDà6éªn÷ÜE¬iZÁÒ$ä¾ö÷*žUjÝòDÜ‘·=UáÞë]ýÓˆ,ûI²`Ï<>$,|ˆòahŠl¾SP+¥‹ƒç)œ“NÚÛ[æ(ãG½à>dÆuÜDOIï$30te=/gš‡xâÝ ‹ w/ò˜Õ–åy¯ªÐäL#ïËûXIÅ£ø`MOöùÍaÉ\û²ø/ ª×nsò¨ì¥$ÚÊ–Ÿd'$(\tÆŽPµs løkVËaÍlºžKS\},ðõÑÐçÀŽj»]:¢#` Çr½¶0¢g±êvºßj¾²;anz}ÕüFOµæxÓv5ØŠœþôàð•øYYº¶kë;ÿ!7V“={‰%<ŸŽ–ÜiÇ ý¦¸Òϛݩ‰yž%È'¤½»ú²']ëÚž±E§X;Ò²©xÜ% ÝK€‘?Û’ŸSgT]‰W—Éó2ŸK/H™½™F[­=)š2yý]Oj‚–L\ÕÌ÷ÖuÝh‚q9ÝÖ£§í¥ßZa:ÆÑÉÖÐßo¢mvjšÇh”íVXXk6'äˆYaÍ“ñ‘‹À+5ª$b]fE×ÍŠw{¿)Ce* ØgŽîuAqBƒõÜfÂÀY¦Z”Â%ú[ú>ì\P@ÂkÈž’oO3Š`A;ÜÉë8Á.Î…½¨¤VŸ²ÅFð O¨º……òWÑsæzôg)Év.¡:UK'^#BÝ~ðŒ-·P¿öÐǦlµìHÉÿ”„QRÏ@/¯#>à2ÿ¼›(ñ­¸ë^ûÜ•hY°À*M–¢gè‹ÃšSèx{æ›f%føË^KK'DšS™ÂÞUþ_߸%íæ e¯¼ÄJîÁNV­ûäGþ3ÙÄ”ôk«T`ò©y¶7. ¸KÏùdêuÖÕ%=ã ˆÀˆœQäˆn 1xh)b:¼ ¨{dGÃi²•û}Nkù­Ô]zóß~襱*b,R“¯U“Èñ$ÆFnD†¾k—~ç²q=ó¿æy Zê\¶Ù),1Dò±êô€Lß/èøæ§ªy¾ í;‚„RÖCÿ 5ËhßDœ`†6L–G½áàïÁçw“Áç¶9Ê‚ •‡ºÔ®“o[tŠë\‡gÓ¹#£ûõ *ÛÜŠY‡š ÑÁˆ!×ó65ßlÈ¿õ¢õØÏ~Ó¥† Y’×Yxôþ€¤Qâ±é' fÇ ðY8¶U/ƒð½.%†ªBxW֗ˈfÙK([!Ö‡ˆÙ÷ð]þ˜]€Ò…Ø(Ú¯\ß&¡˜ž‰ýjå,î–_<ÂRÁ1Ù׉Óê×Â9ʨó§¯mZ@µ£7ÈEdì#£ábE™£à·è-˜os2R=¿˜¥Ég{ xw ·é.<¹SDø^[z<ŸÃl¯‚ /~6breºÈÌÓy¼‘2NK$h¡èÓ¨´ð©$ ÏODÔN½ü³ÒMã}Í¥Y½¯Ë¨Œ¿+¬µ+è*t P’ú%>gÉ0(Ëi4ž¹L ©¨ú²¬‚ ç"{ã ´sÞ?—/å´ØÆ‹ØîÆÄ@)š#À ÑSLnÑrpž?oñ=åq,`0>ß¶²à.v*}i¶Ä ’»ç?2DDa·H0ôø~PL8Ñ#íGåòп"±P—œ¥Nå[pb‰•ϬÍRpÓn‚±‹Þâï _¦,üb-í;ZgøÎ·ÝçÎæÔ•ÆhÚœÏ$\›ó¸ÕjìYUlÝ­†Æ{_ßÊûí€`V—¡nê¾@ÉMj?ÆÞZæR¦¬÷ãv·§uAõ¬ úÕf±xy0:S¦ QMÞô8 ÁdÃ{Øþ:é…)r†!û½é´ ®.Lä=zý,‘Þ¼ép«æ Ò”hDUšÔ’ô z¥üþ̬#2Ïh«vL6'—¨¶å2ÉÞŒ«æÇÐ-á7aV ŠÜ<…1F\50$DheÉY…b¬‡(÷á×øêå®~øèá¢|¬ «µ1æðbìî}aBüߥ2=ÅXó¤ÔÝ­ySÆÈ”è`ƒ©°xZv¸g€! ,³ ?òõ£³åbÁú5@€Êùžîñw~cí8Ô@E95÷?ñ½w·°8úH–g{8èÁŒ£l‹25k¥´:£[1E4ßb;‡B+c2ŒqXZ¡Ú0M#ÒòüôŸ4QÕš—iŀͿüVÿëí³ês)=v•"Õ ¬, °3—'DSûRS£ñ–d¾«vúo^ÇÚ?i1ÈÛõMÁ@µÔ¶8|¾™k¢tà¸Qd® *¯0âéà³—üZ‡’I&Æ™m Gvà^F?ßÓêÔ…ÄÑ¡±E&îù7Tîýd^M9|t÷éMë5-o`²aÚæ\8‡Á'™:VÃÆ— ‰§tžkÍL‚6¿nŠcÙp\Õì×ê×£‰5Ö¤¤^M•^´v‡¿ôÓõ&*ÛÏìí]”û˜Kà#Äâ>ax•#)õ«‘PÁ$¬ª&ùA”x‰Î/}»(iËMèFä¿3Bꆼبvê%‘~õ^R俦Sa<®8Aœ»3±RšWë8?ýS75)̱ xŽZUmW„ºrú ¸{‹â7T¾Ì+ z&øËw‡|W ‰L'“9:£v‹¿©þê™ò¦·]§w«hBÖž«|KO =¯ø÷×ûT‡í'CêE^zÐÚ£x¶‰¼œ™6y·æ*° üåÑ yìÔ —Ó1sn—Øh¶Ã¸Ý2¤¾Z+äõeéYÿ¡n¼¶<Ûƒ»ÉFÔ{”õZŸMF¿^Rf‘¹¾‰´É‚%K¤w£¾¾­áÔ…°ã•9-`),É ê8EKƒ…)¯}ðÍÊZÕÝS: C(äc¡†TÿH‚]­´=ž —XÐ-óÇ%/*È…l]ËK|ÜÍ sö1 Yš8©~ ß¡#lUep}#iuêâF¤›Ù%žpò³àh}RÃ|>)¤J£·LI„ëæ¶^TPrFÂaáGùŒ[*¢µ>òÑy*kYJ|ÄïÂʹœÂúaLnEå?X—ÎÈ`ø¼ w“y“ƒoBˆ½›£o4ѰgÊYb¬?éïîd#bî¦2ZÒ…²xöõŠv×ZÎçˆ@ÉØÉFi˜×8"S*Û[öq£%W›o“²uJ¶êÝnçÃÃ.BʹÈ<C¡„™ ‹pБOËÏꋇ4Rr©µî宽0˜*…ÛÖ=ܾCt(P,*µŒ‚º7ÓS’´ÑÊÖüIßÞ½a"‹¡u¶FG @è" »£¡àæ>W‰£;mæÕá ‰tÈ­Õþ\ÉÔuØØÑ°4¶ÌF}!ÿÚ‰±‹­¡¸R´$näbŠË;öáËø#2]£l02z Ù—†UiOýh@µ’üòjX(Ÿ¼L¢Y½­@ÎV!È?‹K'±ùþ×dõ‘,ªæs™î—™ç§Þ˜¯Ÿ{Ànú(iSx±†=‡Ì¥w; ' Ë\^h§À^nÈe‘Û\';Jö UA6Z·vê¯8,}L—\AzŸj†?¥»1à’|€d&Áë?œò¤!ÿÔe•«ƒ+Öè±ÀÇ› zóFy‡{­3@âÑöOŠ(î½sj4­¼—7Šx*m#L_S6ê·Ä1„¨P¦ªOjÙB› "–ÒÂ×ÛÅë.V¹êž-Y£És$iÛÃã‚xÁ[_@>Ue® çr­Úl_¸) TxGöú;–û}YOcz@ Rœé:éa”øÄK‡k¥CÁ_ᛩ±÷0Uq|?“½UŸ%V5ø‹œ¦úF7ž£¤úžóÇ«süÊ-´äæyGuq§¤³PÙî¥7!1oèb/:n¼ã@잤‰ý¦ã†ˆu®u‡/Š,*–qó´ï™ŒZÐón"†H¨`<àMÁ¾h72(ûŸP.ikGÑ=Þ»¸›ÑC‚CÝ“žÇÓ,ø­PŠ=;€¼?"ôÕÁ6Ÿùè·.u¼IÛ¹¢@û{²·õ™¾ø¥ÚC-tLŠÙ~¶ý¢Z5ÕATê—â¸)ÝÛNÉ’DHƒ€hXÖ§j8hôî¥éTyfGè³ Ù_HÁ4Åàw)Ò¬œ?‡¤c®Úç³c…e®C¬Ûa6mŠ•¢YuÊÊöDsÚFTÐV›sUü§‚G…–ØI} ‚Ê3ڜˠ÷èÄvÉ¿KÑpó’ÙegIí äÃ~•á̃ 3•f[s"l—ÒTÏ5XÇ…¦»Jõ¹ã€Ooï”sz»À‹9™Úväå‚ì'SúªÁ¢‹fë«§_xt]"fÜ®a6Üugê Ñ:ÎzN»N“ÇÌOÌ܈šÿ¿K 7VÒ¸aÐ7´è¥ü‰ŽÎïgøª‘¦›©LÃÁ3/]ÐvAÊRÓܘÿì•‹QÂâK‚Rތ¼ÞÙ_ûºg!\ßÕ i¨)0ÙÚ¢YaOLφ¨Î&ÔR• ‡PùÖ}¾­ åŵ‰¨ è×ɉµMNw‹Ô+ùkŠ×ʶáÚëõÞ1àu‘ËaÅБ­4·[ÁlÝajú:Mˆ»l¹4nlõ¯H¡$fK¾Äͪ‘µTwR>\;šù3í¿UÛÞÕ2ã8ìuý,N‘pÄß»eÕp•¹~W’ LÊ~xM)S„”¢ú“¸W\;©¨øÛ­X¼®ê A4LeZÏÁà ó[%|¿‘jr®©ÞÿÜý^¹CÒ›×  RºÜ hüJ p¶§ý[-å. k tK=8h`Z( naúâÑúEÂ;)Mµv[©/ÅÔª‘J§êöÎŒ§æ¼ÓÒëoÀö/xñ„ãU^ÕE$Iª¨b‰Ç~›׉ÓZ‘¼q IÇfáÀ'÷'àX§ß\"×#cI§håk$®*N|Ðm£»²\:@qYPø5zN†Í³Êð1é—²NP9T <¤ÌŽô@p§‹ Á;*G[ðÕR ñœ=‚á7kåçúþo7ôœû‚ c%æ‚öž©aÁÜi˜cšËÀBb®³ ÌkÏ~`ke„x“FN•`O+MÁtãc—F§ùéä0¹K1ï^_Ÿ.8Äî6B%Pcš$^Íý{Üiµ ípXŒM㣲e›Úž¾7÷_"HÔ24^­Ûå*<ʵú­…u.ÝB¹;ÄFµ»Qddš¥e ÇípºÎ›|$ˆE°O†Éïäç¹bÜÑ·è¢üà?S¸ËkGbC ò_Æ>¸=š—,î$µþNè-\Ÿ>‘QXþ‘ekÄt¥iÅ€¤ñŒ·Ë—Api`â­.‡°_Ë=a_OÝ¢ò´c^\صÚ™•jT{Û´ì”Òr|Žå“ùÛ–^ûÇ?qøzâ>IÒðdc .f«ÄÕ¼uéõ-õRäjÆd½=49ú‡ùóß,H~Ë­ƒ¯~vˆŒEã>AØÎÇÌ#^+ûŸm\UQtèJê eÅ?Û¿¬Í ¥võMuVà=ÖÇö¤9;mÅëE§¦uCq}´"œ‚¿V.Ã`*ºì0²Uy/0d:%QI>¸ÇU\€g¦íëïÊ8¾¬;ìK(¾Ï®¬A~ÍÍÀr·쀢¶cI¬·d^Å;ºÕrYÔm(7peñp5oö7Nkfð-©!°LnÇõ‹'ÑÈ—ØãÄçšR"3Sá»K–¾ß08Ã@ĦpŸ)T?-æã½E×Úâ¿QË'g›ŒÄ(ØÚ¹¡hÙäÎ>þÑ"Q¦k[ûø•´ [ íÜÏyrXù¹Ìã—ZÒ{×ÐTœûs¥ÕÏÿ´ä!œ¬‰ ¹ž»þ‰õu*Äæí [¶Ù%J÷/¡ºhè²(‚ò÷ÖùFH™šPfF†@kC.@Å(›7ðZÅŽ8Ú 8 ‘¢QÆ©gv±*pƒ:>ެf¦UƾKsS9ÿEÕ{⊑{w¸@1¨`Ç8‡®J¨âÆ)ʨ¼ôEnÛã A ¹x_.Í‹L½ÝªÎ|H?…>tak/£F/¼ãEW¯…~Ÿ~ –,9®<ɳXJ².1ÊÕÐÞÎû€.*-q¨q’Z>`´ýÿ§·}l(×Ê3Èy)f§¹iþ¡ŠTÉp’9V¬0ê]Gˆ)cKÜù§.é­È¥ò:\sƒí‡4~½šNБpÒǹ±³¤U§­q÷Ç(i HÝÖÇ$ü*!nŸá?ª…ù~`„÷3&Ü—óêiòœç8—ÉbÏ¿úÌâó°`ÔhRP—U"^çœÄW Ô¯á¹lÅžÝs¾qÅÌq$lÃüPå¤îæ;Yƒ6_Xܳь +ËÕzH²w`Û]øERof»1ü±YÚHʬ}Ö–jï÷ø,ïUŽŒfsŠ'{¯}N;"°šó'oH3¬p× ¡ßWA9ç>â_܌ ážM™õKzMº³“ÞòÏçkΕ7­Sî…â³|V'"Žýÿ2î' ùê®ìž¾5r$Ç6|“Ò…•ÖI]¬`ž IH†ÉUfÓ^Rjxn©µ4wõØb"¯úNóðìS“õéd…Þ}Nèq9:E9øI´í„“ã·,7h›Ý{Œ^C JB±Ôt69Už(ßA)vTmØÅƶ‘)åY„ðŸp•ת4• ÷k ©¹bÙ!ð!¡éIÇ×ð*³îê2/å+‡ö¿òäž^cúóp!´=65}L§]ðœûKÔAÃØ#†ÇUM«ÌiUü|…?bs47™½ø¨àZéìvT­E¿x¾ì>þ&¶IWénÕ°¬$&÷Ö…8Üdã/àÓÔZšb?Ïo;݃äx—dtŸ zi8Ž+(ÅŽðdûU!‘¾$ÅemNTM3(o'ÅÁ«‰2õœhVóFZv+so"ÀãéM3Ø|vÐóÇXƒÝ‹×D}¾bh,ß }‘<[Ï'²a¼â¿)Õ‡.ýûs¿Ñ'—Ö«€gî¢Ú ¶ì` }ywõM"&t§ƒ…ó S1·¸4¥Ú‡lß{Õ:Àüáñm=¦¨Ø)¸@¾ö¡¤òILN×Û5ßNǹù<žÃ˜Ô¥Ô¼¡*±‹¶ô%¡²*ϺYÎ/ t;°•“i°58¿Ä*× ¿üŒ"o,’Q®Äe»\#nL`]Ó! ãuÌYÜ´<¢Îf €7Z¼Ìº<¬`Ž j~®:z !ºúéK5Ê¡8àSãµRZ¹;t†Å ܆W W2Æ,¬Å¢R©NÒªM_ßøÜZwmå7àªÞ…øàŦ#ª¹ÆG…i¼~…tÛ wýöÎH´™+µÞŽ(áÚ¡r³²Ôlä¥~È‚ùÈÏZK””L¡r‹fouZ¯˜°æ•ËšäëØD‚Âä%¼Šx&X8в–£Yª{<Þ%üƒ1K8H°Î#ÈhßM¬bRänl¼ê~H8ùvè‚‘ü>'½¶GJ‚ÇÜîƒc7Þ>"µæš•Aä|Õ„y™ê•múéŠ •¯Û _RxZì>A<:À»fj¿<*ºOÖT|Ä~Ã;á€üææb21Ä|…0º’Ç:]ºqÈ>·¿h§ÔÕ–òÚõ…ÕFÌÿèaƒ …ç첨¿)ZåÕͱ±é–Õà_m±»á(sr€ýñ¢jCšÔíƒ×ç¥\ÏFȈEqñŒ¾#ÃÜ‚ØK‚}–5 Áe³P“ ãÝ»Èx7˜ña´I¨¨RìØ<Ð'Cèiýñò#· ù¹DT§ìnã8¨Üvë?ÿ¥²¦„lU:¥v³1”L§h˜ÒdTGÿá™´¸KÕ£ë·Ê·Åóÿw²£’løµIE"û:9Aæ]ÄëLn Eé…<I@dþ…¯ßÔ0_a1Bƒýéæõƒ°-å•¿¸õKŽ-xŒL'V(]lî6ƒÇ›5»ˆºЦÊê>„w& Ë+CjºCNµL\¡)¢ÃÊW¦e_$¸a™îŽìÕ ijðv +äŠí¤òËkF÷‹šFo1 “Ó3y¯†D¡\ôYÎŒ–¼Ì3Á°UnÙ¥J8Ògˆ Â-#‘ÁñÜ$t>¾d¨¸xˆ½ø~tï›/WM#½õPü^G”C$¸_ xsÍÕÊ< ä—…¤N2¯˜hå°…Ø6Éí[Ô!Õ>šç u²ÃV™4 ¡•ʼn+±<.°‰±ê,‘tÏwz;Á1õ«Ñ”p—ý˜=fà:œfúÚêó)”©öL!Þó†Ab7dÎo¢àîÈ*2¸EáÞ™;àn‡ù§“L‹¨á­±oßQU©ûïyžt`ÜŽu<Ðxþ9eKfª;Š^T½ˆ&Ýð€à[„ó¦iÁ:·Á0H©¡ùêq«éÖ®¿t‹;ÇChR›ªBku*ýŽé\ÜÎo7ÏxÎHTÙ¾‚F޶íÝc€Kéx[ Œo/š€ò¿N4qî¨Ll¼ŸÄq® z;¶@÷…o¨ìÒ°fƒçT…ž8]Êîâr3z®Äœ6ØÐRRûÌ'ïZïÔþìÁÑ&p:+y`ó²åÔ¼€Êz}v"”sÏö|K Bz:é1\¥t4µÝ+°çmUN'ŽWr0¥Í mù4†Åéì*!Â]ã~B·½‹|Ñš$Ï@Y´!š±eE|iQyop dxe‚f%B壼diiÛXíÃçì5Ì} ¸·®¶¦äWGŽH}É47“lé ›#—< â–ÜÏÊ\þ3á£I4ã̤'ü÷°LÉbq];àv]¸ßtÖœ©OÌ^é"Â9L×)L¥kÍ*C[õIÃÙ%¦+œ^±ú¥©Ø&%¥òp(– ›ÓŠ¥Ÿ]Îù\…¯M‚q¯Ç"±õ•]é.GêD1`à¿ü|òks%”/ž§Êð›¸gÄÙ)A1TÁæ/“´ ´ ¦¶#pvw]ùµÊŽŒ…¨ ß8bÕ7Q6ñàÉ~·—»V–7Z¿î ÚUÛf ~Ó1²lc6([YS1ÖQ¦ñYF=¥üöX‡€žÐŠ‘\NºÉ&ŒÛ…ðäÒI-—_{,HFQ=ójäKÏç“ YÈ-VÁ6­ ÕÆÙÛ(ÜkìÔ°×ÛAZ…i¢¯¤,¿§…„Yd_%U36÷ì{ª…ÜO¾µà\˜}¸¹ô½²‚¨o—º@\5yö“üÚðo~Â(Åê#¹þ¯»0/6IàâÊ–Œ»€Ö‚×G$’ŠêE³où]4ßÁ,g~Y?ÛGÄo¼ñµKSÔ?Dš÷Þ 6øA°1‹Ë åDŸ¨W~~e„¸ÀE¶ÓœV~@ñ×5éÊù€ÞØ¡ìò daÿ#ÌYiD^žÂ›³̶E%Ñq&È3Fê.\È,n`Ð.lòó©~ç·ˆUöT8…pºÊ± Ö¼z'¶Á¶,ɹÌL¨m°zC>þ?m·>ÿ” ¥s@­#åŽÏZPì”e×) ±’-jðƒŠá‡ 1¡ÎãqŠuëPmnô«ÆßJWªBO\m‰Ép¦ê‡èr;$ŽZ ǯµÇŠR5¿E9„Öˆ®b†ªýÓ/ .ïÑÜÍÍajX„0×Czk¹¢ÿ‹ê‘ÜÈßûÔ^72÷¦¬–I48ibnB(+<Ň$&ôaÊÊû´²›å9Õкʒ l¬³a¢4v£¢p-wX[˜ÔL ñ}bŠ:K”ºÐÕð!F0­ùsï‡î¹ô‰èK𥕩œPŠÅ±Öû+!&WÞy§îÚ U•Ã,­òëý z9  g,¥í—À‡NmÄžnK”ÊÇþuu=Ûê)@æ\KCáp—'Õ+@ʾgØVa[£z¨Þx)îïÐÒÊýQ#! Åû‰6V#5½Ð QôL_ÔyøùêŒÅôP(~¹¡#\øë ê!xdgÖ:åfÖœ>ÿ:¢¤u1úH_]…4d~c(Œ„º‰ybA¢Í€ú›†ž÷c"uU¾CcS“…eõ?"'Î&•7Aâ; è¥ÝŸmWA Í»!\m¥+”§ßCHÔH¿Kˆl 6¿ Qsága; š©ú¬Ìµd 'šg=œœžíõE»¹#åô Ÿú›Ðªü™A€û—³}‘àf"G ~±³Ç‘÷à®—HÂkX¢ÀaßnB@C’Õd‘Ü\v¦ƒRèˆ\îÎ,¼øÐ£7Ä݉=!ó6Qœò›ÙbqJûòáõ=´ª4šºyp96„%¸&³«Èêìë6‹À&Ê#[òÆK©¶µœá¸²iݸom7ãZ\BAꯠEÒïD0η˜PvÑ3 gË¡¸4M'Žø"=¶>"‘Uf²$z%úk…"Ûó3Wó{Ñø©ñ­d÷L?—iïQMGùçÓ%Õ¼o&ÑåOa#Aúç&S&T/%—lŸÅlX‘qÏg8„"aBXèϺ¨Xµ2Í7þØ ¡/+Å ÜÊlÇ­å|.ØÈËç­euJ{'j7¶§­ºh¹~™qšÕGEg±¨ jr¶·ìA5 Îà㦇K<ä0Cá?ˆ®®ôn»Ì¬†÷ŸŒýÅŠsai}žƒÅc¬öÐÆ°/ñs=ºsÝPÕ(ç…ûfèfîé9ÑÐ3%ó>·çlÝ}f/ŧgãã'ÍæeÏ[µ³Ç ç|Q>?,UîñÊwùø¾ö± ¬%Qµº÷f²uÁ7¼CF î0xƒ­øX]1°âlSŠDF`+ ç²¼t™¢s3,§î«ö”­ocjT ï°lfðpGcܨ¼;íUà b$ý"ìÄèLqÑ1 /V½|/Ô嫉¼<² zþ–öó#Kè›Ñ“Tj;Ä© ¬¶µœþkvLÓ±øÐërÍ•”ËL/9Ó3:Q˜¨· Ù„´$²Ÿé”gÛ÷Fï›Â)25ŽÚ–pJYßÅ"´!hù’ûˆˆLB5ü–¼ÆK B¼OÒrËʹFÄF¿è¥Ý"’Zý^(¶AˆbÝf'›xߟ~–pfÏc3k'úD·]QؘpRðU8#ÀjðAC_~^³o϶¯×]®"vkS/!®©$S„'žT` =QÈ»ÂG¬n .FdzEu>`Z÷‰T8[i½CÈÜÍì¯ñ€$¡—·ÄUxþÓZqv°,ÙQ7p†¢ Ým§Ò(,¿¢2± 32ˆ±¨™Åò¯€ùáªcPɦ1A–0È$ Óp¢täÀÙ÷ÜðY\Í<}Ù¼Ñ-R_Çiöd-V=¨"§Å…=WÂÝVÉ€û×`ÿ»sŸ¤Í½.“néëcáTáðá|Ø Ü(ý¼™¬Õ]ŸÁ>œÂ%ŸÝ—Iñp†.5)¦›"›oýyÚ»›£ ¾o$RZ6…<>õ$Þ++³IÿѽÍIæùy¥¼4‡C®®0ÒpMW‚•S\* ²O‰å,lÃc­¡Ìíƒ?Éžëÿ€Šµ‰= ö‹‘þ_€>aÂŒRR”°ßè´´R<Ñ«È:Ó>ƒ¾³T¼Uì±Ò8ѽº TJµ$wð—¬óFS©Š¶'¥*=˜—;qôÏÂÝïnå?qX^öÑî_¥u'µÙºëç  É•ïÇ#·àØ___j»ñða_{/}bÈd!úÀÉ_2¤ãlðýÆÎKtÚMUjô´1b€ºŒL‘%ÏMúà*7mAB‰hªjž¶"À^ºxÆJ€«XÒ4£)°¯±}³âSÜòÍ£Ù(O*T hا‘À¡:\ñ=Ê£,å=ŠnUÞÙÉÞT¹Ž®$Þeå iAG"ÎT'v87èá“&‹@èãÐN®ËžËÏFy?BÎd!:í,s‘æ*82¦6fÁïÜÈÑÓ½5Hã­©ZMa¸¬69€a fv É-ÓH±v;e¿[øUˆ,œ¬¤5ËB§ë¦1Tz‚ÈqXj”œºToa>•¨›û3é_ÄÓ¦W™>€SCo¥Iä_Ò¼ýPî}cöQ§P  |•eñc¿d)䆯ÿX"õ«^QÀz¡+–ÕF`DlJ{‹ÍbCõ€—YE¡h™ö’Ã(-öÕøZüBd7…A,%¾Ëš7:HŒqeé’ÐLü°ß!/5“Ko-:3¨ÝkæyiЈ‹ÛŒ–xûüÐ:¥=ów ª®í¢<Õ­3wµJ[[&`³¨ÌÕ±¸F4û#Ý]ÑOsäî,#޼ßx1]€Ί¾Ò~2_ÞUée¨¥A¹ii3êtBâµ)Þ2w=Crí®Ìr>{Õp˜#¢„µkë>n«“ãÝÂGDŽ*Íq[“È ¦þ²Çí€dk{ä䘈8¯²O÷ÇU X) ­Ã†í¹¸œ@qïϾ€0¹…½KOüJz#Af~_˜¿*Ó If½5ÿ9!Ÿ±Îe:*[»‘ŠþCÃ÷j éµ¾§° ,TåÝß0»1×YØÁÆMU’øÊÅ6Þ ÈKv¼Ûa'uWB|Ÿ„{J2‹.½þÒ§Îüeü.›{÷°‡Ö)ŒNê:Æà9|\ÌZ0„."· m檺˜7ÔßÇ!õP®'XtèkñAX$ƒ›Ì]¹©ÅªY6NF:QÏ) Žsüé>þî_ÿSP­Gm L\Þ ÉCgéLöAKEÍî…úo7Ýz¾³Ze®ªˆÜ:Ö¢—½%½@\ƵbšCf_¨ä£=ŠT±«µÆÔ—E † G¿÷1…M¾)[.b;w…¶Ûã¤Fç‚,n|Ä~¸ØÈ‘ºufçÄÜu$v®FX«VmŽ@Ò¹tFÍçô•†8Ò§ •^‘ö|-TÀ¥…ÆÊ³@&q޾¯xV¸¶h7=®AvŠÿ!ÎW[]ðoÞ­¯uêoÓ¡‡‡ØÐÆa&©ÐÜé5eàlóYí¡ÜüÄ­Üs>h§ER-¬0– – ¯ªÄ„çé{ó2 ”®ñc VA‡jØ4b­š|†TÀ–aü> Å­çÝGDZ|·j½ =7ãÀæuÕ¶ˆgŽ>Áˆ®vv‡ÏªpkhIÖ3™TÙiGbÂÜ8$Z=Žý6ˆ “ÛÝ…ªôvÈæùà¯Ó¥è$˜? “¢.Q$Éý*û[&;v¿•ŽÍ]k¡ØØ€ÁÄÒíûBm|°Sk澄óÎñÌ…pµ¦3Áþ°œFÄšé@*eðrù@‘RüqX–é§øù|-û‹,m­V¡å |ƒwgßÖm¬c/šk¤ú.Oð…ÔŒš+F{]·Â¡+jÈÛ‰ë€nç„q&Þ)˜Ë·Éò—´iJ™˜BCߥÅ"»ÞE m(?Kî~E÷TÀ•}Ó©ãxÔ«Ó‹b±{8«eXy3 aÓîeUjüZôkq¤Òðw:/€5¥HÊË:”ÂaÀj.‹ô“ÅEMw,7^ùÓmÕ"ZV5ƒ°HJ'ÿŒóŽ @z(…ȄݪØ×œPGêóq·¥ÿ»¶O“T’0°b tãØò:/™b/J4FÂN;daÇóÝO®VÀ €ÃhGä³_ûé0’ZAИŽmøaòŸ¯¦Qxˆýˆ.øm’8²<žì@&_ë+?ps]ˆcاi~:Öº“>.%ùÏäüÌÕ@k™#¥ª¡Íz€®‹ðÙþà´˜ßz»LìEzÆ«)}éå!ѧ™ÝÍ~!aë!ÉcýôºÜ¢(E)ñÉHÂÇr`È1¬z·òcPƒd-MÆÈ¤{uêf¢!nG{ê bPum%ÔXÉHŠ u¥{F÷˜Êâ–|Z$ÝoR…Krx{­y·Eêuªÿ“› ¹s½û±^û«A”÷¼jƒ»gÖqV/ç….Ò0à‚Æ>;EDí†'ä~ˆþ¬¿Í×1.?Y”)è2Š@Ü¿Ê< µ”í»sÕ•éP¡` è§æ´yo!s·ÐUPsÚB÷ϰöü8iˆ^ÖZÞi-ÆWke!8௎ö0d@[í¢u¿(’qæYþÂâôNÇòÖñPCrÏÉ‘8±ÿ£QÇ$*ôí鯾\¾±9†Ô]_Ùg¶œ†fEoþá“,>äÙdR~xzÆxHjk7áÒåàðŠ€:yñõß²»!”{U”õU_Õ† ! —³¡Ôì­¸ª‰s‰(ÞB¾y¾±7ÔÈJ×ôÕ‚ËxÏ&8oü˜&"ÝTìàK9|¯ŽÌz¹Œõü$ Ð[#ûi[‰Ä üŸŽŒ¶ð-é4BT9-¹bá „a×h7PÝ+ÂXúÖ†,ÜvsOjû,z1b.ÔRÛ}† ‡˜íÌ#FøÆ5ÑV¾:3þøš LO±þ7ˆX<1'ƒK±ut¥|ûHÿïsÜõv‰”·? ±D‰ÉZ QoH‘þh>nî¡z-Úg™‡ëcÇ1Û°ö¬×7½¨Ÿ}ìvp X¨:Odug´èÓÃýÜ,c¿pu™§,oi¶ašëd7Ù)±6È|!Õј `üe¦BÏ„®MDP°÷Å•×mLòC/î³’S¥¢ÒtXôž‡§Í`#Ÿì7-°ËÊ\"Ǭz…ãL`èª!÷,*à“´þ{£dÑ‹ÙúݽNR݆‚ÝFÖ}¸Y-k0H“8î]ŽlÎÍåo…t—"Í”1S >tXçHr­L"Œ<&Ç!éÎxM„oϸ\×?CÑTÎÓŸ†70×ÂîRÿÏl²ô',®NMˆøævݘý3"=l윓-ÑpækUÅàrË þ$dƦh뮼Ò1dzí*t‘ ® ”Ú®!yŠû/Å M30¯€Q‘åµpÉ”RÒwsçqÓ®T«úSǽìˆïFcL¦Ûu­o´8ç º"ê> ª¹,…tD¥*ªô¼F[/PÈ0±™WóSyÜoÛ€Sâ×|ƒŒ1Àá,×|„ãiüÍÑ8>nŸé¹ˆn˜%‰V@d‚ ySª¥¢©*7õÉrÑç+d—øà×/«?eOË-Zv»I™7ãŃ®Æñ›)(ð¯‹!yVöåR{à¬åöÇ”ëkÃ8c™J¯^S¼âžTD€3ðyCa뮡 ^ØŽjš}Ó÷WwÕ!’ü¢ËwGB¯óGÉ‹Y›ÖòÞ}mA͇¨È—„Ñ}àúÉÉ")¤¨æÇk¿|?uî>0ƒBØBÖÝ‚J'Û)»zìM5÷1¡¢fÖ¼ÓÌÙå öb`Q’‚Ëô'$X¨éP® )VlœiJ(³‡Ëíª¡ûÀ¥dÔ…jU)|'`¶_yš[‰ÉpÜ;d¦Eoü'®·xÀ)Ë >{ßU*@,%Ý·fÚ†J,Ôd,iî~!eòÎ-Ý­»™ê(”QdªgfÍ—\½•3ÚËj’¶ÄtP‰" Ëâ;ÃR¾Ä”5_tt“›2'q5ÒÕ)NAóínüÂnøô¦3 î'N Ho¯MÚbûðÑfÕ‚äYr/æí5÷¬"­Ê b1·Ã ñ¸*ÿð;ƒ!ß±ê}—’ÊR—¹aŠ ™}„åÏ!½µ¤Š«¾¤"i¤?É÷|"3§ ؃6(i­Ò"Û Çñ=°>YœºÛº$E:»qh:.í‡C½4£eÏK÷I¼%•¢…G ™Óî·ö°:ËY`M9¨Ãͯ˜»FQø 8s®o*êÚÙFRòÙeÍm±—û— @”eÄŸe8ÂW+‡aŸ¯G 6¿ÎÑïùêñ6‘½ž²&elÇä53Þ· ö,Þ—þ¿Àš5•[ñ+³¬ì¹¼5¤€ø!kõp#梤áÜwãÊûÀ91-}\ÐtŽªŒ@–•å"øfn•UGœòÛ¦ø‰°H^pÍ¥‘ }FÖ·÷Ŷoj“§‘œ—v%£bžÐòàTq M÷9 ¹SYh2Ï}°ôï ©åK‘ýÞR'D¡h,âÀ'š§Ž‹§7ËetŠú À|¼S'âx²’­çס©ÏEghëêYê«<¨G§WIO´Ô†þz˜8A¼{™!c_@Fä¥Öwê‹!&¶1˜÷2;ºŠ,„ÇÖŽ?w–ÊÐãc¡dâQ¦Šµô$€ª`6 ë'NsVaa¹M¨§ƒØìŸúŠ.¾éÿ}ZHz83'îãýˆa#üP/‚„ ÕÝ nãã'ËÛ2wÂé¯(¼cTmãÆZ¶ˆ?;<€ü"¬D±6%ŒB«½¸—ûºôœÆ‚èfpÒ Å<™wXü¢wÂ(>ÿ±1H©IJPÉÅa@©ª†ä!…Ñ0Ðj‹H̰¢%RW΄<³]j{|ß²Ôf_‡ßk}#¥û-ÎOµ»¤nfòb¿‹ýQùa|…#¹&R ÄµåV] äÈ Žf÷IPì|Á bù×ù@Æûà1 ›ZŠƒ~ò1§‰’w|û"Ä‚ ¹ ˰³|áíð1åcVЙT$[,Œ92¸ti#bº„wS%WŽaô“%t>.T YÂ*æwî¡^t«æ2_6Ò;hÈK¬äv"ïæ;eLnA¬tvݹVª%H³þ ïãS†+×Lg¯ùpR¸ƒkÅZõ¶ÛR»Î+â)TúâѺòü gAôÎOp«…ôÕé4ͼpŠ z1´©‹ŽÆ¥ý¤ÎU†/ÅÏ5•@ë8v>Š7I°qE¶é@ýWP¿°YŸ;°£“§2Ž%!…í}4½|Ö®Îêh“=v-tÁlQ )–1% 8”M™?†‰£€ø.×(„BÊC3¶õxV~áQ5< +¾ ÇEv­ÚxÞ_T‘<ÆG™±aç‚â¢Ñl5ÕŠ¾˜$v¨…ÃIøÙ5_5F¿¬É9ÿ®ØWx8ûû7²ØxôŒ.]7§ûéõô§:pÅI]ßKOÅÖV‹Z×[NÖÝVY gƒ0£)Õ#åˆwÂ,ÀwÝOØW®9Ÿ#ñ_þD±+Pžx¬ØK‰²ô®öI~ÆÈp¡Ý~ŽV’ñx~&LˆùkŸ!žëúx"vËÇÆµ Ú‹´ºïÔÒ"‰lÙ¸ýÅwj D†{Ì)‡{­œGd)~º¯¬yV=XÏ>"o÷Ð>3öXüA&¼C9šuôSöŽgbÉ´À‰æ5Ã. ´$f zý¢ãþĸ§`™ã²­ðÛy,5g‹9=,‹¾ß˜{@ÿº"-©kî…æq×Á3€ŒÆ§Ž©=êYðy·²Ñ#J¶t(+ÀÔ5³‰ðæžK¦2𿣉QÏΪf žZÕ%€ tò®:È6ˆ_þ|·‰ÎCÍ€Aà­Û@5®Db‡šÆV] ˜+âÊ.ptÒe§:÷2·¤˜v-¾l„2±D—_KÉž" h ?àÉ~ Ç$ÇI”S„'ÔuÇî¦Æ¥"‘Q,¶äyöu‰„xi‘‰ ®gNòû¿m Ì—KúåïD/å¥×Ô™9ÁÊOçä(«3Ö°ƒ9ÄÐM;xŸ,Žxÿ§×xºòŠ7ë F§®ˆ™°â„0¿´Uj1d¦f?D¬j3]òõ°Nã±op“JßÇT”]^á¸SéØbÿð~‘P‚‹Ÿ(4é…‰ÙIçË$üÖ¾–d à¾ìÜ- ŒŒ'·KEO2niÐL}y%Ô7«5UC$ឤ¿>¹Æå.`0Õ¤n±°íoßY˜‹²¹ÓJ¥çy-BN¦óôá<{ôF~ŽÄüüR·í¨.pu\X’#åW4oEÜÓ)¦WšQy¡‚¥¿þ MÀjæÔ‘l¹ð&¡óuù&׬}ò%q‡Üa/¤,^»€úÛ<ôX—1‚×É«Âgyr ý3û*rrǬ51·Žd—] ® X<5fQÁ»žJ"JûzE«$qrɰ¢þ¨Î˜é8#%{(Ж=;ÉH«Èûkn´lwJJ?±Üš³sñ˜˜cPðVßWIq§å®“©;Rø·a9q:ÝMÑkØbµÌË@úÏj< Óû{Ë ú·jÄFHˆíiÀ"wÝxUÐÃW‡gÒtsUá>Òûz‚ dÿfõpæäKµNtpÊIo£ÜvCµìóµz®Ô™ÞS}|ó ‘ý‹ÕñV†þŽ`#Î!ˆk7り‡èe3çj5(<Ș¿áQòqžàJ/OEÞ»à@ê Þµ w¾Î“QÃË[,)±æ¢À_ŒG Íyc4N·ùTäýÿ,ê.Ÿ?¿†•¶¸y[T¼M¼¨HÚ;~öa~‰ëf3r‘ — pH¢õ­ÈAB,U +Jx,ùÄc0Òª< x¢bL<Üß+ ;ç‡À'JUшLOôD|Í\<¿3+îÜ46£>ôø¿™i#óG—=°¤®jæÉoøòOèºò[¶ðúˆ'›G¬ß²7w‰x"puO„žÐ–ì>5dÔìa<‡ô)Hß¾aÕ«ýèõ]ÖôÓñIÕ¶År§5PŠäÈù¢næ9Å)ÄÛlü‰ZŽcàq–Ìdâ” _7¨ŒC8[樲Q²f§fLô—ÛF]þ€ æ$ìqr;#/‡ûKžßsn:à•y"ûŒv…“YF¢¸Ò¹JcÉ9[Pÿ»É~ô¸iÁî"ò9Ó>‘T¹åÌ8¶7ÎÂG¢ðÏ7¼Éʘ”4_æ&½å¶Uþö-+é4¦ ì~Š¥¢lF1Ì$÷#ž°nj ÄËûÇ-Fç©Äÿò¨æVù ¯ÅÉ.PT?·.-[û {›ue§U RG-%‡ŽÙìÊ+üúÎÚR_ê[žBÿA¼gMee­Þ½Ž>~–ErvÖîTÑ“%)·K8¼ñŽÈÖïÉ›2$£OØsp¾ î²ïúUxC.Û:Æ’d‰ðéÁ<Áö8‹Dø›ˆã×T^S~NÁjqw¢­E\V&Îy ¿™Á*R…¥† ²ƒÏÑç¯èö”Ö_Ý]ÂE![¿‰ëÖû…i™r ‡†ÓÍFÀC<¿¤„§îB$ެÉkHa€1ºm¨äà„ínÀ¤8Šxz%@ëêéw¾ÂªÉCŸÕ8ˆØª'‡“Û÷âšÊ2y‚"æ3Oô’^•X(-’ƹ.f?Ã\$š ä —< ,ý#s$*´É^Á¿_ÒC‹’Xù[ôåá:Þ¶wí4çQ?¸ððzaú±F»®1Vi#Êe"„?b¾Žsäkxºqåw¨ ×€æ“O ´I`åFøM†c’ lõ­föª­H+ <ÅËzaúU~ˆ‹mÃH(«l¿Œ(==Y$¢¬±ó ‰§G½£‘Ñbõ‰¼}p&-ˆå±Æ!c.iµsl0Ç;Ÿxù¯ŸŽþ©¥µ±QéR¡Çµ…Tˆ+u r[>¬³{^½#itô÷ 0Ñ«O`‘][ø×ÊyðuFø/)ÏêøõAŠpô0´o€[œ$ ‚£ÜÀ%YI¥ñŠË˜ÃãE[%Gé2…fÞ'Rþú¼Ï8"¦Â5ꌎ#àÃh ÷?Glõ´V|Áß/øDasœ0"9Tt`êšOâð ~篽ðç’•¯ u0ƒâöÆ×áDâ?à ûdÉ·ƒ%ÉèEÅÕrPÃ"4¶CÛ„¤Úž©e ŒÅÔ{ìrƒŠµÙ“¡Æýnƒú©Óm—”ªŽBo'WâUqç€DÉšñèœä «]Ôñ†r}lX.u¥5þ*’‚œƒ”§3‹5½#Ä…´’©º§áà“D3“¼ôÊO¡µ›\VãÝ"E†hŒC£é‡¡ë'«5 [Ñ8±DWÍ}ŸÜ^ …ëº;n‚½Rl0ÌéšDBkq™Å©çH_Gü'ªÇÊ¾Þ ¼‹~L0ítÄ È«".¼¾V¹ÕquT³ã0dj aTˆ †FðöTD+¥¹+uR®jKôl…#VQü {9b~fÐj  ïC xêP±Ü @¯B’;UTc}!ž*û“Ñkî~qܹ6çÌ,x^6Zx&Î5ÂÔT¾¤*8AäF5B„H°¡i-{Õ!¨X?åfá•™=Ú ,/…Ì­Q¤GDxykø¬Qe y ‹–{ÀvË8ˆÕÞæï¡”-®—Ôù$§•¹µÙˆ˜cFÏ‹u.:µì‡IñÁÇxîp(ßm- è-xöD½­F’\ã 7Å2¶9<;à!ÎÕ=áãJ&Ä.k¿4šX šÎmî{K]ùR£å‡’Yƒs߯ĬkðeìÜh2U€k6áË삞ÊOM°6hFsôGôâW¨lÿ¸™â$¿›€I+X,éƒäûŒ0û‘C"žn“rÊæha~Í—1˜‡I+W ?ÅÑ5: ‰B- áõ*‚ÅòMò‡Q ¬ø&¸x$¤ÌwØÏ|É®16¡ÖyfbµÉÔ’Ö:J† ÄÁ^¢]jÑfÌš=-Ö‘-µÒÞ¥®ú˜¼ù ±)£|÷ì ¬½YD—è+/&M§H³ŸÜ’lëv¢P¢éã“PK_UL…q[²ªÒ™«ô¦56M˃ `g¦°ê,úfTÕ´%\LCj´•Ùò· }øX6'‘ÀÑ< Úÿ§ÞÁúP²?ÈÏ )™ñí‰Þ8N;¹Ë=³¨ëØLX¢U…É`Úchí’BòBvÿ(šôy:rµ(ŒQ$s™ÄžD0G€-Ê)ß·>æ¼H–Z»*³Á@ëÊ친®ŸÓà”Ÿ‚¢ÙÁG¸¿ú? Ks FÚôøå~6¼þz²¯¿ÖVÃf¹±’$~pœ`î€\+ðC½ÉH1ÚÔÌ_»Ð#ØîÚáí©–Ãµ·OššMôT?ÀéW§ © V‹.šFó2¼¬W•“p'o“ ÂØáœëgEMÌøLjAzFºþ×>‡„½&­&}ÍKôüª3t,s”Bاko\­ä…Ørþ#ÇHÝ ú%DÖ'ÞzŽçIí!5úble||LÞxlzMêZtœ&?jRã WI¦)œ`ÓMp±õ‚PšÈý5‡®©êfÄ_K2kZ0¢N¶6n26’µ†ÜenÀ™grÒ²ò‹À‡BÉû”“Ú§• žJ×÷·pý5Ú¢„2 ˆe•¯^>Ò¶>æölis„ôK0î' ÆÑ7,xïv=mtq÷àNƒUyÚ‘ý±¼ë*Q[Phcûx­ÔâÖC´¿ë«ãã ¸ãã'ñæPÌiê‡T^Õ˜IÕ¯ü-³xjß–÷tî@‡õ›µÝY‚ø†SÌÃçudÙ‡uxÚ?[†óõƒÒËŒVæ'¦¡ÉÆ@HYu—¼ë*'ðU+(L¡5eo]IÜð*0Ç*ýõÙ©‹aéP°¯pª—ž„±c{À!„€‡±<ÁèôiþÁÑ>ÀÐL@5$ÇCPw‰ÐŠ‚Ô\ ;ßô$ …ï÷Ô¡œp½dœQŸ`¨YÃßþœ¤øÄ¿¢§ô0éJØÅ<ç1ãŒ[ ÚN–ùŒ¡þu1ž½7>D5WtŠj¼‰•àŽ}øø8DÑÁ¼/QÂ/Åí,P±ÉæfN‚ݪ´s¯ü¿ Rà ׅ’™ÿïöödBûÄ yMÌP¡¯ 8°‡ž²1š3˜TÜ@g­T$ñéÙVž3ùx'áWS?xI#â1+K碳Uú¼åŽo%îãh}J}¥ fC¸L‚Q¿Å~ÝÇ”ë6Š#Ô€ZÔ2ht`¾å®5?&¯i˜Ðe*gÛéÁ$2éìž[Ãp-st_âIan¸gvñõT¬§^9;}OœÀÕ¢s?Úz8ãG»níê±áÅí\¢x¨o=Úä¹W»Þœ*ÞÏopž0±Ðvøãsšæ­ƒR4yBLÀ,RëQ>ekÊï–ÆmK¥-óCÕð¤†Þ¹pŽÕ&o‚…ûàºk.Üyôýº•½Ws(1\\ü.ég®O·¨c(fNÔ93{²> Ôc œw:íB48×.cD˨pvDqfXУqe!…ÔRò+/K$YKZ€fîð,ÛÛ`¤„V« ¢L;ï£[ÄK¹`8 Ÿ,±»ÉÝ ›á#Dî¹Ð…U› ¯Ô§Þ~ž?7³àw4ƒ„BsØ%M,ÊFHq˜ñLô8/Mû·J¦. M £˜˜Û–†éÁj¹ZhÈ©4¶,3Ь"ø'(Ò#4i€ýG9Øq”¬4“…ìîŠä' Q„ô}îù+GVpêqX‡7‘£·<¬ ê€gÚFjzF™òò\Ù oêΨH…-®_À½¡bd Z}J C–‚U¦²B¼×,_Øäp¢¼"޳»Šž¸]€˜D!Žw䛤™¯r*,aýž/žEZ <?î-ÌÇwäæ™pÉü)ž"g@ÎóØþ 1!¨E²j•OÖÀ4çšÞ uG<Èz¾àìÜQ&‡ê½Í©ãOy<š³óžj"¨8"˜iŠhŸd­9+JY¾àˆÛO±™¥ð±Ü XVPø¢mÛ ügžÈJÝ®Cé\””Yû•íƒã+fÁaê[9²v¿ÕÃ4°±ä–ŒdÎ=”Óx¥OÑÏ ¡ £ÔÑ*‘M›ZÊú™ûÈqûÅ÷àÍeêùH¸]Ãà`C`È”ªÌ`i%;hÿƒ„¦DEhƒ¼ßÒX® /ö2<¬þý'n˜Ç9¹C*½¶u³?Z)•máç*¢A?¾¥S„Ü=!Vr5|wÝo ¯†¬¨µßï?²|Å‘3N•¹‹U‡²EÑÄx#úuŽñGÞŽÛHÌ¿ž+ ›7²¿%Uàö] %5ËbR$Ø0.,áM@–)Ê$$Ða›²<Y×’ÜI3&éï„¨Ãæê@ñd NþnV¨wì¥fÅÛ(5b†Ho‰ÉbQUÍÚZ÷ÏdÊê&ÎþÃ3÷§\Âhì›wO\¡kY£Ô ¬©Ó@ ƒtó†|ñ'†ÕžîþÔm±<±rCì×®  VÚdÇ®qvÝȪø‚¥püÜ!3¥¯ÝæfI£z”þâï6'·šh— ™ø°4YûF<^÷7WÊ ë:÷0Fau'¨ˆe­4žæÇhAÀho´'füå6¸#NÆßŒxÌ^š„(öIë™0÷=ÙÉ ³ÍhTÿõTЭvNö±bA™öÚ3oQì:2´,y­T7¯n@þ‚um½GË;éÊ2¢•é˼U`\G¤–9æQNôGÕUiVw A¾À7åÕ°Ñø -,¤Ufü6©K Žüø÷È îRÔ’.œd,Ѝ²€k äÅÛóãC÷,5èÙèMv öiÈöEa“hÓqî+-jÃ*>$f=ýÞÍ&Ûî@Åz{„~^eиáòeSÑÄ œ[þ)÷JµÙ}“ÇÓ"Õ41®l ¶4!‡5·NF –ÐÁO½ŸÖªŒ’Á[M©Z@úøÑx¤i±)Ê*m·¼ý‰d•ÇdÀnûcu½÷+¶Ÿ 4š÷=« Øðßnø}h:Ú.Ôþ6 Ru c¶g!nŸ‹fN·HßÈ`>úPgä¦>!Â}iÑJ)gìÆv˜t6Ê(ì`°í2ÛÛ›“ýp…‚º~8rV¶_Hn:u.D³!üÇÜ®4}¼ÁªÆ#Qv²˜Ve¶J€Ý qrÜl "»«Ui›~%´§ïðbÁNÑMñ¥*dVä¨qµfÜ÷úñ$-ŠuñÂÆ½4Ú—µ¥Æ 9¤…FªÖZ× Rc „ÓGgÉÙß’e¢‹¢¢ç}ˆO]DœýÓlEiÐ+îÈnJÑÏé Äüþ^PŸû¨c6?ÇóUž¡VÀ Ü3 ¹D”Ÿ #ûª…E\8å9 ð kÐ5}UXNðè»ûäDŽg.ôÀÇD/Éòćh‹YzOC̽ êEg•Ó/»Q?7I&öáÀÓ­©>4hs¼þ ãUšIôÍA°!⤮ÃôɼRuû&TY¦õ7,@¹m•Xg€DH¤ë‰²ð^óÞy¡Fsg9:Böàjq)Ñ¿mL>u-ˆ¥4Cã}Âýþ(QÄàÓN!^½ïr)ŽzXš¬¤#ã1&yÓ°ó7-—d¤¢…<‚Ò¡‡°ì“­Ìr‰ÀXJ[!ZmΛÙ!¡bµNY/ˆÅ[xmÆÜÈ»„pöÕuÛŒ‰7R˜­ ¸4âÜÄpbÕ B©K‡Byø&úŽyjñ6$¥ËO<Ú…RëÝÄñ¥¤ó\׉¼XÒ¤DȹpJS? £"ps¦|St•Øib¿P»Ê­öaLÅ/»Q óWÈXe~a­’Æ€=æ(H#ØN{òIŸ;â.bì|>Cï.Ê`M¤¿…>u«­ù”Ád ¸@&#ø~Ž#ç 6·šXý`€—ÕXòæŸÇÉ<%Î$$éDåLƒ´a!ff{úËHúrý2tâ[ŽBÎeåDcŠ:·ÐÖÛôÞ“Åz…STÿßr°íšÎhÄ›UŒµ ãÇ[˜ü¢<.}ÿè™ ÚÕaOV´R‘$‡Nb§ÂU kL³{†-‹™€”fI\ôC̛ԟ;‡L@É^vÕ9eE]XG[À„²âÒÝ—™ü¶ $qžW´— ~p$›ú:æ@ì–ŠÝÕ¼3<&ÖUíý ›«t /o¾?Vµ«ÏI u£}².æ2ô"‚ÏMOƒ‹?y âÁ¾ç™ë~¾þŽn é”Tj YðFëù³§†MS9Þ»¾Îê_Æ<ç«ÛiÝeòÑ&†Ç28duÊCÍLþ°üh&Õ›Þßprèâ#ó!‹|BˆsZŸU:g+çäÄ&²ÿ½TËï'lþ{U×i/^ɬ&Ûk ëäôÃ5v­ªÅû{¥¼“ Bì7±uãðÑ5 a³ “ nb&’ù€(\Ñ*°.ã½0üi=gà‹ø€¨¶B£é@£ð³ÝtÑ}þ¹UðImL˜? ‡aÕw_Ÿ zõêðžK¥¢TÝŒ‘D—ÓÚ¸§~QÒ5>Þܸ¹:•‰Ô޶—É;ñ%Îh%C£|ÚÕŽæ´ ¡æŠ¥Jë)v¾á=cW&àâæPL((³‘bLÎPÈËÃæ¼öïâxOuì$ ®æ’/Í“3XÇøã|I+æ6q'Á’=-Ó''§_„s@9b.纠äÖÜæ÷`.ý¤ÞCás÷féôNK ^ùµ¢Xwµ=Ûüa@óK¬M޾‡©Iw%‘Û¼eCŽ7Ò)ý×ø–ïðÞ ŸvôðTñé^©vß@U“{ä}a2$,’ ]iïB<Ëm‡¦qöNƒS"¸zd—½X[ÏxïÀVQîÉøÖ@µ/߈»`T}ÁúÂce £ÖªB0rß\ýÈâ>XÞ¸Ú>m,àúó8ÓñØu(—Ê‚¬r^—z&¯2ᦑÂõu aÙU©šá˜IY;WÆAGÆkEZ­èë™7¥÷C=‡B+(²Ë÷‡`ƒ± †“StÒªóVXÓOe?ñ؋޻&¬RÞâú¹¸SÜã1§S¯À—[od}ÓŽ>g#S. dHOŽq«t~Ú±gîü¾*„'Ò;ÄÇo¥— ºª³y90ôz[ëçB&l{¯ŽZð&èü°¡˜ç îª,‘bË!å'‰@f^Ð ÄsQá×å%OhϸPÑBaa°Ë¨v›å¨“Óû|2å›1á~]DÆ5ÒÛ3( ô„þG $o™[0K€DæWüÓ9GQ}%ëU[ ¨ÈÆhE¯p›sõç ˆaÑ»{RÈ—îäLÿ|jëߊ“8h¼ÑNƒhµ°b"mB Щ$LDZÞ5T·Ê=Þæ­ËÄkÛ«,ß ·œS ÿwÉ \Þáû4Sét%íœÓèúÁwðEÃA9Äñqõd ¡¨ÈÜCçñ ËœTQòvùà©2²Î-;,Ñ(qvX‚¯VokVä¹\Q–•övoNK§ƒÌW‰ Õ½#t;”£º¬× q•*#]éÌ&@ÇÇR{y#r{…Tÿ`B®ðŒ@%õžÎ2n!Âd8Ò3WË£ƒ÷¢.0gÑ?ö „Árá­þWU,I‹/¬’jsö ,Wµ¦Z¤Û-ÚÍà žÄItªJ«]Ù»ß3[žÌêì"B 6¯ûPKH[òc\Ŧ’ã°ð¡Å­ïHמ .Ý|ƒ ¥&/ïv&ùXÃ$_Ô%3ù]â¼$lL4^»¢4ál$ØåÅwŸ;béPÇ]["|Ph‚Œ+”{Œ3Rºed\½’ßé +:æ‡XóQ jà™YíÖ‘ŽÐÿôÐÒ£l®’W$ç ŸáFÙÃ9)ÚQØ×ò{(Éñ‚¿}VksÄv\Ö”RÝ)2»ÞC×ÎUШ¹Üô Zàù¨yºS…6¾º‡FÍ"UByÄý}—_‹Ð¥º®ËÝ<¿ fЪ eP½¤—zOò%h!¤k[ÃFΖ-šL•V}jŸŽÿ»ßød‘g!ÞJ; …ÿkpÚ‘30ò/7/°m!}©1^{¬VIÜg yF²5J3¼e@5Œ’ü꟯`¹L ô¶;g2ãÂC¿|‚¿¸È!Ö9ÇŠ Ìœ‰NƒÈÜáTÚŒ ýÖcÓ£Z)€t¾ï\³º±¥[ö^ÒÙÅólá+.L‰ƒ¢ îV°Ô-˜ra¾Ù8ºhÀá ¥§‚Z­Zý„K`÷ìë&ÞÜà}5p}4e¡pð@W¸¶ó}E©[tD¹CÉà õc„Å͘‹¾‚¹€5ÃÎN §ãRÍ 7U5¹j™ß¤%Ä,[˜¢.w¸%!wwëlØrÕ„FÙæ$ʦ+B~±>I-ÊáSÆH}ûý)µ™:D–õ0…êî ‡£4)˜a¸¼¶çD µ2Ð;¦¤X,$ˆñÓ•)þvã`@…Þ3¬³‚û¸ã5&FÊOƒœ¨ ƒ}D¥®]H)_‡ý|IF$–^7Dê­êBJRLáò$ÅäÔ®6Õg¡hš«]þpê’› ÀÇð|‰ò‹Î’’LºŸ™j¡Ö«ÏÎ>úÁñiÍÐÆ©²fõÝh[i 1õ÷ ¯Ñeÿ!\>qÇ&dôuNâU¦|‹*1§h®›£ýº õ€2 1µw™uÀW4{ö–X{j­­p§Šæð¾w_醗BÚ'-_µ5Ç}@†ý†§öj¼âNQ}ë€íÉ)áçPÜÄ4(šD 86o‰ü»d–œâ'÷<ª;«z1ö6M>päÄ¡ÁõHÞ¿Eüõ&öº1„Âo¡„‘çÃ4åãXI…çK¹÷Ç=Z à¦;›Ž– ®…‹WÇ' :n%Ú[Í K "x“Nèµµ<ØÍıGìY£‡h)¹2íwB“Í×Kî÷±ôÄüÓþ£8(¾ßRE¦áH^ŸW7‹ ^ÉäÃy®†|kFjõO™¼h”ï;“oU6ãh˜9l–ÂæŸž¶ßÇï8æNLïVúlŸy¶_‘¿ÜµÎ¨Y)Pãñc ð^S¹ìæùÿ#¶§S­1xŸFTÕqÛ“÷æ¤$¦6—‡O*Ja±/|yq‘ãæ¤› —oÕXÜbÅ xïTnv2~e# qʃ©ÞzrÿƒEë#c_eëðkû¸ÁùA\ò™….KÛRØÀpø§ÊSC[8À+²1mìþž©°a˜Ї5†’he@F6^UùzƒÁ·”@åˆdY`Q‰2ÓÇPÔŽ+^H*C¹Å^ê.# àÏÈjVÉó3¿š1X†RO^VU‡+[J@ì,q–Ð…oÆr¨H.¦ªõh¿š·5L>¨l)Ì­zÜUöªåýi/œ ×”nýúNºÁî펫´ût˜Ð£]x0²ñÂÜN‘ï‹\,¸âõL[ÃÖ€0Z8p/v}í‡Ôær¯lá,œ³xxCF—تÛ¾e_.1~/Qä¦Y±„¡¢ú£Ê;°½7á¤7ÛøçB¼ùêHYNM¤TQ8¨Ým؃ÿÅžJËm`ãöò¶4¼Š’q¢P‹Ã{*Œy×ÜõŽü‚:ìüè)_žâ[n 7Ïíœ §ÍŠs^ˆÙ~~Hù 6£7Ü} ¶»"3¹ØŽ Ê1€ž<‘|)ûËA¥3 ”‹D{~Þ¼a˜w"h âjK3#—#l9á á›ËH/‘´_HÇ8ùëÏ›Uµ¯[b´«óýØÛÿMMãX¤¬OS*x;GÚkŒ%ä ¯†ÝT@ö®Ã$XÕõ.+Í eF?-Y†SŽÁ|<*!†XÆE;|å(ÎËù$à\OÊMÔ‡…öB@e·×¡\/YCXúv5Ž-ËTœ>ÄT·£Á®÷†*—g|òr¥û¦fPÛÛePÌ>ÂÔŒÍëðJÒ¥fkùBD‰iêªä †¨ 'a߯ö“R´<FèlŒ÷Ó›ÁËÄsÍ£Mý%EÎKÖktßfU, !¿[ú#@˜ù¨€¡C¢ƒ2 Yj±7¬–9Ñôá—sß›çòðÔÌöùR¹øÊî$EÚîjgÖÎö©cñÄå°ÃSŒå]mÎÀ·"®D}­¼J£ÛfËŒlW;A[õ£vàrß(ž4'¿“]ÿ}?±Ð¦¡)ó·ú Ó}™—ŠmÍ{:çóS02ðºÛ o[ÉYµœn¼ ­j4¸¡8Gîg}®)´ªÅêí©ÿVŠž1µ—5};Ñ¢åÐVM¨i' CÅw@*o§mSÖ0‚Áñ£©]»¬%¹a•R•û`­ïÕ¯"ö¤4@<"3?˜¶vT/Óþ>€a ¬Æz»S‘áIw-Í_&å!®uq:Sj2‘#KOøP¡èÉö(K“â Q L9R^ªçqðƒÈi8i…´Ý>Üo©°X¶%Õh ÉV“‡"öO Q}‚tEÄ} I™þqµ:}l öt÷;®¾š 8ƒÝ“)]˜Ï°fT.i j3tÈAR8Z ë¸ó¨ü_¤\lšwv»4¯‘Õ [(.®V¶y¿ðê~Ç=,°Æú ôC»¢ÝÀ™De14Ͱ7åAË–Zɳ%5‡Y?nŸy)¸emŸ`y¼˜+ÜùÌéš.’áÓsºJraò—;®ùÔdIùªÝnz" HíåGßÅ"h£¤ZÑDÍ…L\Ö‡3ýÀ´[ÉØÁT¦‡Jã‘cÖ“&W´†äàõOðí…z8-ч±»~â±û-Ž1¯¦µG1`ŸûœZ}>°¹¹´‹—Û„°èò—@ßS(6,.ñ7ub¿b ‰ŸÈpØ’smí>Íýî:ÍøøÀ2—0þÄo¦Æh£5ôÕOÐDêg1lQªS• \Ù¼Ó‚÷ÓüF'¿tÅ*þj2V/¨'…ÒÛ üJ¨„!VÝe¼äÕšýu¨XÝ Nx†} E!Ç·XŒKÅBI-·ì¼*>H„ð-j]+8E'˜oŸÔUÂFÕè>zIæxEr¶ªx|íµÀºWF.Œ–/E>-Z½ÐºÈ·³ ëíNý»¸éðtèPeIœí,Ù&(½Çnñ›L²Y(8•¿áÜ­½=rÔŸÆ"ôêy£¡Wò¨!ÌççmSz­–ð6Éܳ6—]Ô7mŸUr·Dph™·Èîy©?žÂY1Ïawò¯<$QmUw†V]Ø B‰Žëšû³Oæºø ¢Öæ:XL¿ƒºaXFý`‰q©¦[Ó½ɇ¾÷ U/ƒ‘VؤŽB9¶í%ÿ/xyØãDæAýÿÿËóˆr™%UZÙ?÷¨…xó!¥EëqDVdæùy9ä¿gõÔ® Y†¥g¶îrI¬c..Tš/4ÖÙ4øÿXÅnY‰û]ÅESÁâg/˜–<ÀƒÆV9I<z­<ÓFÔHêÎoCE«¶ÍÇUYgÇ.ëŠN3 Ã#w…;m cƒ¶ä©ÈÇ­¢aºæ–l±˜ºI~ÿe\PûÂãÑS‹†)eS&_åB³C˘ w»¶ÚB—§.{q‚.u‡J°²Ý0$EÔç܇îçBµšp»e UÜï…kÞë0H9¬€¹-ê_™$Fù§©G/ø'•9›©"è«û™Êõì)§šW~1(yWè£(dW™z¦_^$<¡üæf∲7xÆÜ¤»v'{Ôé˜æÍ,TÝëA,»F1°´û<’­À¹³‚Îsû&LdQ¡o¯¯ô²ž×T@¡È¤pÆA&qË]4²$*Û3"µJ.!—7Þ‹<¦¶ˆØlqù&õD¨¢É¥ a‚š;ÚDó$õ`-kRˆø"Ý ÑW“2@ýFsÜ“×ëì“j¹ ÞÈüì¯ÃvtÕK6êÂ1óYØ &7oφ&€ëÌúͼ&Ðî;NÐL¨ äÂÔ3ið+DÄ:•Ä֙ϟ…Dlm”"ç¡3#Ò¡þfþ ¿Âj5æï/`§¥LÛ@¸\ÝP1‘éþ=9,p\M«y„ö··êQ±ùÝýŸ!ÎщL,zàrÎ ’½LpT*X¤ß…å.Ö£®Ú?Èyâgìm«,õBÀcÿ€²Èçü ßu«fˆ›>½`O‡rªâÒƒ}ˆãü$ë4‡àdºi.äé¿éضP,t¢/§»Ý˜oLƒvî¸ÞÐŒ”ÏñÀdh’Ç®IÔŒÉ0ùÌY…¼åLJ§TïdL­úÖ.d”àr¤˜,)¢³Î„6± J›çäJ²¦‡‡›ò„¥fçte0såG½­èH»[ãÒ"tª›ßŒT\U<:-ÃþQqÐôÁý@®ÁöHöƒR/Cû¿ *5kR5–Ü_quþÈGÛóuA¨Ê‰ç©³ FI…ÙbÈêÊ_ þžÒZújÁÁ”"tâv#´/µ-ÃÑ{4ª] ]Ǻ5(yǾ¦·øÐŽ‘;î£VâI—¨s leØõœ·ÈÃ$ûδ½²ûìŠmÑ^¡ù ópôõ·›I…(ß·½evá‚0§ÇϽOlˆJ~UfIÝ+,Ư5q•0_3p„KÀ»nÜc cçK-ß)ÃHÏ™¨¥±om²*NqFCŒQv F`ª}õØ·c ‰»5lAòð/_?%xÝ‘ WÌWNr%§½ÚÀ /ÞlI²­*Äžâ™Ë(RiÌ/`gåò À^¨<Õ4]¬´÷¾¬=zG㿽¥Ô¶ÑüäQ9÷=YÑz0_{`}@‡¬‰z´aì 0 Ö4¶ñÿ ˆƒÿìÞ{ù_»2u¹üÖå±¶óûÅX² NEq}fYÍ0ÕO>LûåÿÓUÈ~N$fàDÅŒ™5bLa¯Ei ×Jï§¢‡W%:ö6.HR†^›„H6Å?GƒÖKÒžjòbÈÚÊJ”ð.àÜY/…xE |³dƒÐ˜&ÔD)²k¸O:y‚=„@-Vg$#/SËwÁYgUôg æmÙ 4W9Ë,ö±pA£ìbx/* A#»§ÇP@KnBÀL¸èØ®Óe>ÐRNíX3Teeˆz¬ð¯ú ´[]s'ÜGé¥u!½tÅ*Еޫ´¶ÜíhŽ k¦x˜‡(•#u?2pîÍ#ØaE4 »¢âA¬%Ü›Û~>Š[uáé®j.R¿t˜“UB¬gæÑXD¸À/ªÁBuà€¡ špIÇò¾Ò÷¦É+˜|å*DéJ2­!Á \ŽM;•åı›ÜÏn/<'ÉèJÈvR£ÑYzIeûP\#óAÃÇ팢“Gÿyj£ÉÖKÔ*Ö#_Ê©P‚¡ÔÇ/µåAp~ÏVc/ LjLË¢uíÕ‡ÏsT-nÞ¥ÛØ\×nßÍn ûÚP ø (DÎ\™«å;-ÚBœ¦{.ƒw^ÕKPºoÜÏ“ÜÚ¸ïÕ¬¹K†g›%4¹ð0Ûªá¬^泺AŒ(˜m© Ó¼TK¶õ|…;LêàÍÍÈ,œ ‡>—ÞY|9uE“·7Ý\ª+S]òäy€ÞB0uP7˵fIÌ=˜‚Ó,Ð.£á· “Ãqk ÇšGs\Š…ºÆR(Þ 1xêhȃ!™"å`ÌQBL6?AQ—Q­P¿q±¤¸*ÿž‡z o3ãhýûyŒ” VíYc´(bKX$Är»ÇËušF‘³½zÌgdƘ¥ÂÙ‡X9áe¯‹?²UfFxPÕ*›1µ ¯“[¦štT£”'µò'vGÛiÝš!ÿ”–¾„­¹í)-{ªÜÌ4ÍÜÑGf‰ŒZä/C+`ð­KiˆQUZR=cÂ/)̉<æ–æ¾Êœ» ˜½„ÎY#㜤ÎûGìİê†MÂäð6µå¿z÷Ö^\ù¶–ĵü‘€VTã>îÃýÍuxìgq¬5³¥JïëMjÁÙ©‚ïå/óS‘ÊVGEôl™Æ¿ Ây”´¹€Ò­©¹L—wÿ E™X…¸ãŠì¿ç¢>ÏÆ9Ó'¥Ï|þþK¼(@ YÞ¨*³ŒýÚÅô©u;ð‹Ð¯F„ •ûæ0!%š±…QpEÕtV¨0Ÿê«q†‘Pr='צuBws V :šÓ_‡ÃÚ‘‚â \œKrÝ&”L¯x¾˜Q%1œøÑ3ŸºUõánì(ÀßÛ?8é2!H|½:„Ï.ï—¨œ°¬¶^*[Es@—üê¤Ú)¼{Ë…i@5¹ñ•¨ûÒCÈàie–‰ùxPÑÝyÿ‡ù2^®®kÃô§{*Çױؼ·j±œ¶à´º“…&FËI§Ñt®ï02ƒ©¢u7òx¡{ NG¬W¸^g”$‰Î—³-PiBG ™X]Ög1;wNß·4¨ôý5ôcÌKR{6ÿœÜú`@Á!à?šú%œîÃøÞí+Û÷;Ôûù¿Ùb™SX9¸ÈafjªjÆÇ?Ü¥Z¸gWQjà¡Øê£mÀ~dŽ÷o§Ú¸“ª[›gùºäKöPbÙ7ö¯ lrË̵²6¢*³î/;¦•3ÆËGN1®ëØ;ß'CîÏÇûÒu‚&6jÚ]¨m9¼ñ…a¤‚FwR>ßÏRºŒ®†H”AêéU$#®Œœ ¼ÃVð¥Çw( ÕÌs?#A+e Sñh´ØÔÖ&E Üá]‡Ï…8ò¦ÌI/ˆgÙD¼ç}Œ6Q ñFЧ =‰‡2©x÷‡ßˆT‡SHÂL4¹þÿÝ%Ú5%Ї¦Ö]8®h‹Ê}»<ùyk´ßò¾ù—µ{Ì(²}Ø©Nk÷躵'q;îf—^㺆&µh³£  ‹yF5âà®™¢%,íf&R Ø;d¡¨ &#æG‰Œó丷Bcå®5ÜÏ‚4Äsnêª"ØÚ·…jüR[óô6™ëÔ2®õð/ ,¤ûdÕRg m˜ñ=3†D¾Éð¼úÛMµQÏ4ެQ IÅ0õ>åeÙRe’^H2úX²Ô¨Gò¦OMØgw<úr+„5‡§iÔoˆß£Ó~¢ReÊp’}Yzs[a¸…ðîæI­v¯QÌ´ Ù ãjóû ¨¿Q‰Øl9öîà¼.Ó6ñoy•y+4=”EkB’Q*˜\]v£¿ù–¬¹”40šâh˜ƒþ‘ÿYînüYv}MsqŸ•|ÝU¦ ^qTãWž ™q¡Z^¼°ˆ Ösó0D';RN§äµ°+k ;Rö¹(£‰â 'S^ü·¿X¥Ô~Rµc-ž©þõ5”~ž^~PiÞ‰–ù³J#·Å‰ÿÒf¢·øÊAú-I¼ü{Û´Zðdã·sN‹ÙÄ´Ç×­aè§:ãfrïÚÂ7N1%pMt{7ñªù\¾îæC·éãË‘IBf š :l09l*?ä[|([|,õü\:†ª¾u¿B±8Üj»inµ³Ç £qðpa "Lë‡d ̯£dé¿d“Vcμ‡Wø~I3«B”í¸›ô#œ‘Ôµ€ ¸ð‘m¿í!ÎÖ/ü#‘žÐ*–»ç'ÁY+†w~é®)Fd/ vàçÏ—¼ìû ©Ý—æe†‡Ä£Un{µÝ݇ƒ¢XBñ½¡ÌÊ) €ƒ}îÀ€r¤Á“±óÌìԯ鄢8êþòp;Ÿâ¼ »utª(£}irÏøÉ ~¤0"M“µÀtSCD`Õ0Î;f$?©ýxj2âGœ¢½€Oo¤²%¶x&? ²AKªÝpHd” O±cÑŠ>ºÊ!SDtŽ(_Aÿ¢¯½Ò´§ëþ¸ÿ(«âí–‡iƒzEXæo\Pœ8¶dìæÉ˜À¼öõ%\uá–)¯»ò$q¦%’ŠÄ/k½MòÞo,,hÊq@Ž›—×s÷n]0èÈAò_æ4q1ǽxâ±Y”‘íoµ7'öëiüO ÄÈ´¯Ö¨Õ>y詃ÏwË+° v©d‰ä-)€»‹{;Frhúù?fŠâ`òé³Ý4ã"î—%âólãÈ¥"ã„ ¹;r=kÒÑpµIU+-Ä¡8Ü[=ÆU'ÌÀTJª,×M)ZáÚX;Œ8úe)*£›Û¥W’£¨åg`€ì×öØÔÇ;‘tí³%þ2-C‰ã ®Ž: i@ÂV'lÁq3jo0»Ïe?а€k~x¿$­™ú «žÂ T:™éz¸V©3ZÛ)ÇaŽç~ø@”Çdz©“6"¢fî®)®žû³w…Êñ¡c‘-£Œ»t4ãJ¼¸pçóì™õIªî|ªW`ÁÃmެ¦Ibù¬¡ß”œ¯ÏaqWU|~Õj3w3¼º4Kð µ:Ínc)±X¨%ìQvß¼_lîj§cµš —‹5P¿9Éå™ òÚwÖ¸–WßõÅ1÷Xg¬&ÇÜ­PË£"†Ï$bwÉDߥzpAs·àPÿÕêL [ŽÝoï°DdÄ~DhýBþ‘­:„ß6bŠ­l<‹ŽÉ©‚Â˜Ú ¢ÑáË7¡IòÚÑ®þ°$޶Šóè<Õ‚â ¹ zTP…Bù–¢5Qù©Ç•4Zü†e×”yR¯f‹g&Œ·4ò¹æÇßÄTzû܆Wsºþ€àµÈã`wÍ\n2£=Å;ƒ„PœøCT̨ôÅ,Oz&˜Tâ¶WMþJ¡ÌnMž4S)€°½ño}âí½öjb† ]yqÔó]ˆƒÈé¹Ð¨’ ³t˜\ÆÚ<—4%S|n­€–Ô×/vC–˜8–#rh®:mà[åòÅ1ª(…LB(^^êO7ÿÒOæ¼LN`PÁÏ›3ùÉ •0È Ó¾,7ËYK(Ƹ^«öÕ„J¬Ì* qlol©ñˆiKss˜ÀÆÓøk 3¯PGÞën•DÎõJh’«àp5~𚌛h-”âõ%ÞWYnH#Ÿ ³™' qça_̸k#±f»‹ó˜ºÛò<¶^lWg¶2ÀΆ“Š[Îû ü¯øKb÷C&zOS¹qæ¨ëœÉUy:ÌaÜe”Ó‰Ö쟃FòÑÄj‡Mü£^ú¿F®ÍÌofT'Ž ^®MŒ³¨#€‘yÁf@cd¿€3v¥ŠÊ„»iÙÄòÂqâKµ—L ÅWÖš3J4Qê3ùd.æƒL‘š91©³$g†ì¬¸×¸r tò†~MÿÑt;" ³çG¥JÑ6áóOß5‡ÿizÿo&iýf~Ä •Õãòºø^XˆTÁÌ$™ºcê-n'é;zPI^†[fû4<:#©™ šÖ´-ÀE`1E‚GšÌ^™. ›És·Õ•œ^Z7¦…xÎÕñìOå~,8)jëlç4`­üù‘L‚Fåñ;™¼0ljïç™õ…ÛUÌg6]Ýɉ?@Yß>Ì{ÏYIþËÃG̘¾n7¥;—žî \vǬ¡E°QQ¶£8–}Ía\ÑÚ€›¨¤Bj~ka¢º€:UÓßÛJ±Ønæ> ðÂð:}յޗÏÁîC”XŠr­ã´Ïpé©KÒKu°Û½ò§8¼²SJS­²%­¦êû ‚9Ft£hÀQÐZ}OíÁˆ4A²šÌ©;U ß7d-,+é¾[»Û¯«h´j«¦ )>IXŠ€Ç–fxníu¸xå¢Y6ÁÊÀ„–c$7O-lbFÍKçkSNs·™iì¯û ¸`Çà‰|¡zi¡E§HTBB/”€‰W£×nl&[A‹,ÕvÔY”“&óÔ.z´ì‚SNRÓȰ1  $F  #“Ijyµ9\…õ.JÔ«3ûag„±,q´qnb®–÷voÓ8‡ð´¥Ä¥p½ëXˆbgT2_©ÿ¼å¾fsôÉOÇd×hÊö†Výä5)4HÙê)JŽÉÖÁQ!6GžÌò0\qO²ò˜°ðgIõ4¢U³¡#Ÿáñ8ÀêõëiŽÏpÀCÛ­_,œØ¤°²¯ €ÓŒÍy†´“úÓ´­%÷Áz"©ßH†%ZŽ&*é!tÚïwPqÒÊOfê (åw0ÙˆÓ°(M@]g—±âxJf¿ý(›wL½>¦éYWçy—DŽ{·(‚+RBZ‰AêÆ6KlŒ†UìQ5Òn‹¼•™kãÉÆÅð±ÕÓ/”ä(„´—¯jÙp˜Ú—Ë…¸¼žP<ɵç-S˜¢8'µŠ#nŒEGM…]¹lɧ€ K ­îT:_a¼ï“ƒ- OVêº_uøZðÔ7£o¥Eþé>Z·êwý%f|ä'Q›ææ%$9ÆÍk ÿZ\uX üþUæm _ókP>'Á¤YXe pEä¤ʘd©hñœ__|fù#K=aRëg¬Ê•¢lv&~¼Ø¡õ©‹pT“tZ@ÃØTÚ¸%#ű T÷f¢°Õâ…yup›i<:C(%ò} Èc÷Žãïqj&Šˆï¢Œºcð«æù×·¦óÏ{ØcèÓÝ`Œ\7yJ‚ •d©ƒc;f7™J   Æ• ì±ßã)¼ƒCs -cG¶l˜¸ù\c}ÅÔ½hϚͮ=X©`¥°õ–Ø“úsN& ÑòE׃–Å<=·9ݱ°®zé0šÅ•[¹»â(Ý6ð­ÿÎi,9$ÞPÏp/Òqs·£ù}1G,ÄÀB§þC‹ÇÛòø/åË„g\ݼ3žuEñŒ.ÞËhò‚v0-Í+…^òç¿cpË“ÊØ>_`ÀМûdc‹°Èï]ìu8êHƒI!v‡×$h>gA`îŽß6zº«wQøêÕÆÚš”xAŒôoí†br>õ¨ÁÀž¶ç¤qâ¬I ŸjÍ;ÓP@SÙß‚p˜Vò=OÖ쌀œÁ‹6ŧ狻ãfNÁ2Àr´ lù3»ô¥%]ÜHT·’»Æ®Œ*áÂŒ$3“ÀlT¼Ïܺ˜Þ’i@Ý–.§xLBôº.tz !v7ä% ¥°@6D²å×ïׄn PWsó’òÍ-TñI(WcÀÍ;ƒFæÖfÎ3hNÓW£z¢¾Ï<ö9ÚLèv{óæJ£fSŽ5½¸:š<ääœ,¾BÃ3;¿4V¬ºw3îÝXttÁvî7 °HÀßüd…±”D€c;4 ®óoL JEÛxÑ=þúiÈØÍ¥uÇ ìº®~Í^‘“_!) ݨB¾a¸<Ê@ÑÝw¨Ñã0’ —UMÇ’•;Îü¨¤àΙ›AÞî£ ¾/yÕXE¬Ò,Ðí賆–mEíl(ðRrÃËäNÊ4Ãõl÷³°ãÄI T– ä2y3¡kx¿lDøXñwlf’†'SšPEÀX`5]z’¡N‚Ãþ˜²  †öMœs~QM[A H¥'M­Ú*W}ŽûÖ©!âÖJ[6>¢Ðò8µΩ$y0.ñˆ+ë÷–I2 ´:u¯Ù!inæqiKü8;øº„€%ë=+ÊI¡lŸw5ÞÕF§#¹.M=Ñ¡ío.è=à£Íÿ•‹2¨fBûö„x%Eâ€G(nz4ˆ´Í”¡Žª¹GRJ%«S»-´PÏWZºwçÆ»÷M u³TÁª]¨¿[Jû›‹iNñ¤DDr•U¤¡Á‹/]×óÎÇüE¦ß,ßO Žy¼Xhu*A‰w7ÇTÎéíXŒ,¾#Ö[ëAl®'.cÁ'½ 3Á´fÝæ°¸]­l^£•h–Ãõ'ªÖ¹füÌ#‹0C!Ýç«O«pÇΩüZØœO¹Áx+Ø™ ÕÉü’ç̵`kMt'rSA穬 ÌÀÎHrè“XÍÉaŒ®aX˜»z@‹ƒ«ËpÜßdÁs>uÁØçÇy K¡jü³,à:[mÔŸ¾Ù\¿F·óÌþ©UîN¶cÃmÄÿ¼|!ï’Ô¯áø±Aðb[ט–¼Á®¦J¥15 VIcÆuGxv×Vežß~2ˆ©“§úö"|[Ü cùwþå©·¸ ësö¼²­¼ÃP;ÈésQ ƒx9·{ÕŽ>æH¾Ùåšþ#Ý×R™M«³Ú7;Ò­‹nôã©<Å„$V±ØX#5Lþ¯R€jJµGEY&ÑÐ3¤A…lpU!²®¶xW†Ò¨ÿî¯xc7†ºa4ñ*¦ö„ÎKOL+¦ïõ<Ö®ÄrE¸ð×0ˆO2Gøhf;8‚ =â¥[?dßî.ïÇTÛ{ºo$S{¸ºÌ¦/ §òIÒèàðãÑ‘¸IŒJ/` ¶iž5;@jéÎáåM¥¥*VcûÄš‹-óŽŠæ.uv ¯&¬¨N?s ­âRê UÛ(**ŒÙß‹Ú×:‰k&æhÕµ'Cª ì,AZß>.˜s}p„ƨÅñ3ªÙô 9EœQ®¶m@éц^â Í}õOYÛ†ó3syy††dVDuœª5·Á‡é;ïñVÿ×Ë%¬.9z y2ņ`ìýu„Wk_²c™ðú£ñ¾ =TüY*bìXte'¥ Ã< jÃ"‘´ŒñÛ®¸¨?½ÞËQ;xÒ]«Ö6pʪ4?¥»¢“ZÙU-º?-(]Ö´Ø*&mš¢Q."‹8pdÃÔ:âæ©-—BȯN)ZàíŸ;®È >ÅFQ•®þ²§ÏSòÛb#40ñQ’êñ.éžÉ*t7µÐ³\%šNKoEã9ϰ jK–{áAÒfàWgÅû“Z¬KѲ9’”ï#ª'2¸/ކlÉø’£Éº~Ýò³h–ÊtÊZ!tÀ|™dê]0cn›ðdsù½š¯ ¨5`xl:ÛfPªPµÕÖ1ÍäàLY+R±®|Ô|KFï ºihu§×Å¢bYƒ\Rš9jáÿ»{ úg”e¯1òU(ßµÿþˆ·¾½ßMdá·üÜ·ºÞ¿¹G4S·àx4"ºþ S²)ž¦ˆæÇD ÒdÑVʯªØŽ´rÝÕû@x1쵊ÉkÛè½C1'hëò§ŽFm­/ŽÇÇ/ðxá•©:© ã@¼.sH É ²JHÿr›&¨ñu4eß ñSjëFä_¢¯~©Ú¿‰ùóM\ P …!š´xµ!_.®ÒWwIà*w0þlÑfÖâKÁ}¸"bÙÆæ;fÜßá Ë*ûEŒ*;3NhhGÜl“i`c”œ®!Íu£6v†jò $;‘ô÷ ¤›:?ÑvƒCÔ?¤œ‡ el¯â@F•mÚì,ºÖ¤ù±ýä+ñ¿TÎ~ü˜š¹FRbæŒûžÍ?V½¾BK0¢_-DEœ ­N-'9G_È+ ö·À÷X–ÀäiÛºö‡ ·ŒqàxÅl™¼A.!HÚ©Í|âÙ^ÊMc ¶ÃïsuÑ{ZÀuµ™pa"õäüŽ_•…lpˆXQ…L S™BÜoRW¦7þ^Ö°c¸o6å ±}Ó!&®|$YÌ^0?`qÌ<štˆßíš=(ÀJèmÕÅdšFÐ`…èËn‚kÕQ-ãdÌL‰n¦4ëz “nâVð¸H€¡òîY‡0LÃÃäöu?kM!‰g¦Ku‚ìvG“Û‰Eü¨L{ŸaJ±CßWÇQs˜ð€ûæpCBbî.ÖGËÈRŠJ"†dy²µDÿ†LÍ œbàžï~ð½vIX¿ò¨°=˜ÐvŠÙqªàwß7>Â$¾X‚sWS*†ê­×.:Ôˆ$¾$TÝÏ©hM`QyÇž^HR]wyžÒ¾éæÿ\á™bÏà”Ýiå¸[?Z¶T?™øàHº‚—fþ'ÒZ"#¸saÂx¼/ }Íüͤ1I?‰“vo&-*Àª^*ATUÌ7‘0>¤M…ëeñ,òˆ!Vä Ä#áI§ð]™¦ÙèéÖXY®>3á•Þ£‚b½6ÊpÍ„C-nü÷é’é÷%JT`LìwQ„v“41‡nC¨þèÏ&ÃZ½næUÞq…XâÆXصM:ØûíÝÄ Q \=þ³Ë åB»/$yi$ 覠€\,pÈŒVþ ÉKK£{BNÊÑ«7PØüͱ¼)£H~ÕÆÈb€é:¦;Îxi†u¬:Fwš c O2ˆ g-ßéÈù6ÅM7¸õªü¨ŸïdI¡§z6ß0¦fÿ¤ÔS¸þZW° ¦«Ë˜ƒõt­Zʼíû÷ý΢՗‚~N”aiíÉ>8°o‡NÞžúwŽŠ1|%Q~Å't ·Ê±P€Þ/‹ÿ‰šRc´†J8ÁñöîÛm€ĆýöતhæþYÉ2äÎÓ ÏýlâTfô|à"KbµÐ^¯ cÓAHGxacƒNˆ9£¥€N©€Zó¼áâXjǬa¼JàUAðÅr0xyS²wIÈ1 °¬IÒpÄ$ù Oõ[» ¡ÀøÐmÇÇj±4mkFL ûÑè¤Ô¶ƒb~:É«ûˆ/@Ñö‚wd2Ð’ROU>…yÁ68"Ñ·U¢1%”8žfÞ²a†Ãªyñ/£5éß ’•m³ˆ—w!d­¬¼¦uÅ)Gêz½u“2½¤“NÉÑHzal ^Î zPÙYɼmÁ»‰ê’I¤XÖ¼#Œ8ìú÷ÿšû;åN­Ãh¶fxîèl¢æ6óàX!˜îüj6\—(!—ÏÝÑJ XIi¿–}Ú›è°{·óðŒ3Æ«l)NÓöú­8ÖžW"M»îÞao(„‚oÒWH´ìIøbO¿^‡~Ûf<ó|±E£g iPYóNQËøÇ(éŒDiIMhÕž” xïË%û)¹˜!¨ÌáævªÄ²ÿ»¨ÿÿéÄ×¼úbÝ«S‚_YÎtviwz’žÿØméœÀ5\F Õb.uÞbä!o¥Öã_Ý¢× ¿˜þψõÙŽs³ówωÌTi”­ÐøP•ªO¨aòH–T½»|¡úÀ¿´Èþ/0DYk;ó8™º>‚;ˆ£Åt[l7[€X'ýßiv®¬ïI ún zÈY "_*u§9P‡î®3&Ù ÀQá82æXø TÞKA;†PòS‚Ø›†¿ÃaòAWp¼açÇ—2C1^Vp|1‹(äøçµ´ÉrZá©Ù²yÚøÓXk%ïVâéðbá9ì€/pâ UÚ[®º˜‹²O/ÏSuŸ)ZNK¬ tr:të…º„Âô¬×=í4#_ÃÕDï§À•ܦ}ñmdßœÐ`ÌŒMZh¨í¥6qvl´êîÌw„zLî[ƒx ‘çžš˜§&RÁsB޽åHo‚Ÿ<~û ¡‰ è%ïXU2кOh‹rÀàÔß`+ažë—XÆ;&¥B­Î´ÅêàEˆh÷¨"ø;}¤-´õ]ìK÷Q óÜÿGy©˜"dÏ{ ÏÐò‹Š; +g ;ö‚M»ç ;~Úª€eÇÑVl=“g¾kîÒõúœ³jJ¥‡t_Ö+ºTÚ ÜŠ­l´îÙÎløµRPVܶÑåÊÕTÏf€Ã!ß=+PþHšˆ²Ç¶¥ ½úoÈy÷ÔsY÷O€¥&i@޳ÜÄ d¹BÁÛýÞn©n¥ª…N¼F¾ƒD¶??(èñŽÏ_5ÌdUu]~‹Î—ÝÈzÞýRÉ;è—‹I‡*«$mnŽZlˆêeÕéFER)¦t‘“AY¥×vÿejO™+¦|Ã0§XP?jsFƒVr¾ì*@÷/¶åuÜK¶NÐt]w×…l¯ôA~àOÎs‡aaÀåì6…}BálIŸšÛezzñ$pLãÜÁ”Ìmç0`[°^¯U +âg]=åi¹O ÞÒ•M=ŠûÏ© ì@^Ÿ¯"o¸q_½£Íï.›Áe>Û)˜ëyWg †‘h Ä ®`Îe…-² żl‡»"5=ó¦HYñJ+ò/s‘¾KG[Ø{ÆÂGIžêuÌN î¡%"• Ì# xíj)“ÄâÀ¸“Šc—òMñj‰ÎK±g$¼ÂSè%Pޤš$ÔY¼·P4œÓY䌌߬5yH O+Z;•fÐ9Mf¶."1íËüÀ¿2“®WÓñ—Ö2¬ÐL÷6^>"S¬='ò ¥H¾NðÅR[]D;_£e Ÿ«zN‡˜Ÿ8Bƒ[€Îä†|(rK5…!8üøý™Sžk]Ö—Ñy tii1ƒ-Ao‚Ÿ‹U”cÌÓ¹œfãn˜…Ï3ÆÇ/¡Lñõ»›v—Åb uÌ[bO© °Œ§öks8çËó;¼}UšT«íU„n‚™ý'€ &¶@£ÔN'Zz»öà³rh-GÎDú‚üä®ãù :BYŸÄ`š¿Ž;aßHP¹a¦ße-ù¹UÅáÖ°¼i_zÉT=;Ù­Y•‹UePNðƒ…H ¶‚ž˜v}´#.ZÇp€æ­òéàwªba´‚÷0¹W£ÍÿÃHЀÃk“ËKýt€ÀÃÓ!E¡$^Û!Æ&¼„‚KEÊsàOJ³jÕn/wE.w%´ÑŽc#KÃÓ `}{£ý¶ÅGn°›ÊÔlò¯È¦ê…¯f ¾ŸSŸë’5׋ÎmÅå>ªqЙóúB…€¢hVÍšÑ964D ËÁìÅ[¶òE³ ßÅýF5>a–†³]#u«ççÆ‘#äK³.\@D§©¹ß¯±‹½ €˜Sá¹±35šp¼ÈcàTÀ´µÙ«ï‡`hWäYÞN½gfÏ?—]•nƒy!õrmÐØpÙ0¨ZXQu‡¯‹ ¤(Vs{Ä$—${à'<À©з-  ÞajÖ" =SlšQ@ˆ$¡©4aÙûæ¿ÿᤑ$¡ýbq¥ºFg‚œz‡}ç2Î ¸S¸÷ã%Þ ˆ–æ’’ßVëp¨}þÈäù á$®QR‚#ºá’\pHw‚j10ñ@^ÎHó¨vm[V¬GšB£ó[¯„"K.iÛ‹k¹{Z¸pCwixE²UÑ)~ª]`½[®®ÝŽlÖØD:XL«(ÁÎ#"¤¿(- 8áŽMìlyÜÊvü¦»8ء„vÿf<î_É{ÑÒªÙ¾&Þj;ñ¦Ø·‘@ÒÜ[fÉ{`1p=ß|˜wHWýÌózw»Èðr–Íâe˜Ï–++ñÖAA°>íÙŠ©fª¬Çî „uó)³ŠPóŸ B–Än¸:å“‘ W¨¹EÒã’Y#¦!L¯:’5.Jê…¬|Ò…ýgóhâ·nø_ä­5ÏôxíÄh¤·¥þ¶%î©V¥v=ó“!mŒExó«z33ˆ.ƒšfæ.`4–¹&ñ‘‡å@¾ý7–+°gØ:¤€‘Ï~?èÑT`ìªÍ LÐã…5Êìþ šeÄEpø×:<ŽE‰Õñ;EèÎÂÛ.fýw{{¹°–xòª°÷†B;÷©h4¿uˆ*Xú†YxÂú›ç#Áæ ƒø¸ý2¿(lgƒecõ®"yÇ¥e[š©¶ÌÆsÛ—Öó“1~j쾓 PS®˜ÿJÍÎ{l8çÓ—­] O#°mc ¯9¹ì ‡–¸ )‘U¶^æóÃEÑ¥y;³ÿ ˜ßn¹÷<ôBG»Ë¶.ü²æ18NÛ½ ü9+ºvÁŽ¢U@]ZÂòƒr3OFÉ[ä’±ýRO³ÇI ÂXÿù?–x†1j¢^‹qDÆ#õrJ$Û‘ínF,“¤ÌÚµL1ÐÐé9ÿ¶;c̽6c»‚ϬºâjÖ»H¨o£ÊÉöO4N縬 31­â:|õ§´²Ðo•<÷×l™Z/maç½îƒÁ~4VŸ•æÕM’•9PÏô pdþXðms‡àЉ‡¡·ä¹8=JHÄäo–ÇTf$ŸGk¬5Řú™Ô Ò¡÷I‡RD)tæÕ£më2"ÐígX±ÖYßÀ59%¬^R܈`ÚÕÕO4+uu‰""D·%]‰ñýÙä2-¯‚wòxhˆôMîÉű­¥ÏYÃO_C~ tºßË„vXÞÉ,I‡ÉÄùˆ‚@Ç\ƒÆøo­A[M *5qšìWr9°ˆÚ–ž¸ÖO?Œ1i+ýsjÓ”q¯‹„¸ºkÖãà·ÛØrư©X—WÂÙèv—D¥­rVÜÏmù0ÔŸ ÿž£Æ=¡Oø¹q‡×Ë SB‰‹²´h¤þIÕÍαµ'j¶¥ò‘ØúIN °qô\¬0₼#mË‘ý>/¿KZëQBüáw‰ºÆJ’†˜g9z¾^âÛu]/Iˆ§\Šnª. &xÚlÛ¶à=G ÛÛåhÚú[ S`ál:7P= Ó˜ûæ"«0ûÚ(v3DõQ¯²©JÁ„ˆÓÍ6ó¸Fõër3šãÈ3Òâ¤`³®$“@Ò ¢%Ð$ êêc8émÛ«nÈð¦C- ôÖä¡%mRÇVg•#B΀à!(NpJKô™2w^V¯uUVÃèZî†;ôʹí‹98;èQ—-8­ wQhy{àxºŸ…ÚÂXs˜ ù5°E"d—¢û:EŠp©r´Eª+j–Ö™]£òÃ탩€Ýôlܵ1iW‚•˜Qòz `Ó8-ŠüWCw«yw¤Xý)PèûŠ=å -z‘z¯±›Éí«ê£%¤:aþdé­/„á©¿^ dè»ãAg{K}ÚduW »–¯ ±pÿ¨ßdÒO«z=mM@`þUDe%?Ê<£PÚâ– Ñ7ó‡:ºKnbBÏâ½Ð{ÊlÍ@ÐTzãÛ¤ÝLõ@Òsï]Æv®›‹}H 4Ê™°?ŒÊ[ØêŸ·œ–•ýÑ1Eˆ>‚ZŒÝSÁ áÒ’£2+qgqö9¿xGRYn±:ê¹Ã¶Oâ'æl„3Žé´<Ç+•@+y¨,€Gýâf œÙlÜÐÒ Í.úÞÎU PkÀhFñûÎÉ\ˆzÑ•Š\«`Ç÷òÍ”peÚž›_žñFKß°uu%xÎi—¤™à2ÝÑ^|Ul(&ËÇJ‡uÉ0XœG×"Peãq›[»ÅãúnLÍ]¤Ã|¹fÍèçT°³ƒôòòUÑÛ„7ý\ª¬èYI £çùêx¯Øe\ð¼Ü®,["Àÿ£Ý…¿1Ô\5eDƒ ®ö¯ÌãÆ»uÐ]Úa_¦OOÛ Îö\2¤…?ºX(O¡¤KM¤¯+°¹—q‘[ÒH]‘ìÚ{‘nŒ¯ô§%0ðûLþøxñ:I^7Jدǥ#riÆÿ;1Âf g91þÑökVF‘º·1ñ¢¢„hl 9Ê4¢«}²&ISÛOŸâiÜ-^/q°Î‡´Élvƒ¿~˜ˆKy.jb§šãüK%ö«~›Ý`[j,ó}Úî—!ýX³»"5Hù^7ûÕøw2–Yx5ÏÊguHR/·ôø>8aÏbnê9Ùø¬-El@¡8œ ÷eä }HSòNœPá*ýÄ¡ò×—Õ*Œpô¹ò3Ù¯±üÔßš™×çêy}´i÷#Ìø¼Ì©¦nµø¨Š:‹ÔeÓc h†Ê8ÁºÌnL¶¼ZµÐß–¸·È…àƒ’®+Îàüw–ßeLC%ÆÙ»ÎQä(;åQÃþ“úÜè°Å3¹±—ðQÜLiHàix•OíBlÉÏðª°õ¼‡%qðáéE‡ø~í·—¥åþŒy¿G¡¦^l¢æíÈ´#/Ïœ†\ôkÿÁï€ðˆ ¥ðå‚t+ØoëÁ´8bSÑù x«1yl˜URíÎ&8.cW‚s .hË7$I¡uã?Ü×xAà÷³r„ë*¥CÁ—$õ>³ Ÿcü©™AÜC p²k«ý@Ý ;É?´D׺¹I6Ön†±ÿS9>º A+CèáS«gÅ™ °íY” ö9qeŽði+v¨w žJΣ(dMIGïâH2†¾hœŒ™Ùt–ˆWMÕ¥`LÚ¹½bÀΕLñ06O< Äëoâ¬o6JìI:n†é²Û±E nóÚ‚”"ªYfAÝ„]‰;!ùÕ4z‰²pYàôt{%Í\ìF”¶Ò¾Ëüoý©G/jprc€N Çž-\U7X_¯¸®näáþ_*,-Ù¬Œz ½rØÕ˜Ç*}JÈž'0SR:¸yΊ09e¤EÄãû¦«VõVæa_Í¥”¤ì¯[«Â«]™ê× ÏÁÃ+´ÕmŽfäÅœyÒ¸"8'B¸­¿u-Š8rè¤.Œvð®‡|ºyóè×w;ÚHÙé‹ìÜ• J‚ž%9ãmFþRt0åÀZ£8ñ#¾Sj½-m«š,ÛÄÛõX{a¶%ðï,úìÃ~SVAYî›d‘ÙòP瘇êõ‡6dm©i‚(Ÿ¯ÖöŒö083m ¬ŸÕi  §ÒÎö W…ùÿËUÆ·¦žRÈE‘ÒÅlhê —Øa“'vSûõ+©2P± È ±™[çvt9 Â1e’Xã®OF­¥^S‘U†I¤ž»Í¾ÑnfyÚoót¬Ç8}+â ¾É`Eùþg2ù»¨õ¤}þÌIn-hѰI¡ú£hÂ¥«KÏ^mP'Rƒé@ÅÀ^ŽÂV%WèEx±Ù;)Ö˜¨k®Å‚~¥¦òÙpÏ“½‚ÔÀª¸¶h󅎳ÓhàRC›~s¹Cv|ilY¯Ÿ€‘ÓfÏ”P鼿ËßÆÐ¡ÏÔ÷çëÁEx2æùOÛñغ„Çáõv v6àïfÓ[ú~X!°LƒõÀ>{ žA‡°ÆGõâ ¹ýLÈJ´Ðw­Ãn™2Š‘Ÿ¸¬i:ŽŠÌÏ3˜gXpYàoÅS;þVu÷§|çQr¿®†+Û¾vpâ>$®ä8o—u@Ñ $[â›ù*ÖUµ ׈¬T0ï艬¥J±_ W4ìYò$4ý¢wQÄ j\’ˆ‡vaZÿüÜ®ËNZrl± Ò6“}@rÄ/7„¸ ƒŽ .± µ”«Â:ÊÀx;R¿4$–néÞZûûêâux•^Ë5Òé4#H,\F.ÑÍ¡Xà,ñ)qSpSAÅÆ…Åš¼ô$4…_Ž©Áµ)õ†>Ìœ¬«ïú! k¦¬@¹5sîÒQÆ&¢_ÆÂ3Ù€Z¼wà—}:Ô˜ ‡Ã…gTù¤Ö2§I´môt)|Eãñ±Õ•«º…Üû2hTÛÍ­¨önFð­=…óö1E0IrÍ`îW¬ÉfŒ:£v ²eŠ‹°û²d·cèùÿÊt`ˆ['&*sG»ö~²‚åéÀàÕw1A €Ý ã¥ÞKØ3`+oá½)iHA’ˆé2“]\츢G²"첞áÊ)QRbüÏSmð›ð;‰ÿ²·"g<ë“áŽçŸCåßk$zÿCÁlDWÁ[ã.„‘°µ?þuý—{½ kÛz§ öÑªŠ‹K’eô«xà¬êœF©u”›lãUQ”ß^™ÊÊô·¶22uJ^*Ù‚¬½¶ŽÏ‚¨Š‚ûçvÀ|æÊ*Áeý¬¯þµ©é¡Ð¼%žcφGžùçï¡òV¢ˆp‚eî’ß¡fë¯fx`¦¯1í#dÐf†éh–ì6€ù3¾¶t…˜È­¶s¯Gw·ÐpF¤ >)k;‰ƒùÏŽ¨&¥>&†háU#q²O]*ó¬Bb(å­h桪›°V“É¢‚GÊÆÖ&Õùz6Ò€ËRÉyX´·d• †"¨,·ö;ž p/þf–‡¨ÏDž¼äÈ~[Š–9[0S¤9~}¡qVÁÝ%+´ÚжÅSå™ßõµTùFÈž%ë5r_¦"•¥¶à;Œ†Þ¥ñ*Øì¬2®_¬w˼©ƒ¹Å&b˜­E0ŽzeñfÄÿå*hhZ-à®±”¯J×KÒ÷¸ûš**ch¹yŠ ðûŠyªò­—IóZÙ’’«¾ùçý!3{hœZ·œÕ%Ž›­Å0jÛß|†È mUÜ,A–y»5À¸¸þ–)XÎ|îJ`~Íü ë^3¼°³çŸBT”(w|§y¼W¦„Òálç·w pº"bÌfQ„øÒtáÜWJ\=§”Y³ˆiÒõ…JëƒuZLÐX¿Iýâ†4_o]Œïé ÎaoŠj[ô‹dÀ´ƒmë†Ø; ¥“…é>”¾6••&JŠoŽç2ítV\"<±JÖGPuê¥ C õ/ØEá¿ ³a,*^1ôYCcÎ@—|Æ|ú¹á^Ÿ$QùL~F_ƒ¿|ï¹Gn¨ƒ®Jí×oK~õ›ÙyÓ ¦ï¡ÔRã ¢$áB„ŒÙ! hHÜ#ËЊ€ç`Iƒ&%z© ã¶=¨ ÷îŸÅsÜ]’Pñ%çë‘sB5 ¬½uÇkø®AŠ”Gx\EÝ?‚œeÔ¦úyÿ“1Õ¨9À£CŠ®ï›ÌÙí¨>9µ‘Xä±áñ/ƒ@H&ª„à&«‹mè_ÐΊӣQ‚Ëט”<(ù¼{ÿëD˜žÔ•æ_>™¿Phµ=Lù‡ÇÐ:;e†ú=¬Dù‹¸ȽU`–Í÷º\=ŒõŸ/tgÁ?KuJ²†­s§)i'11”°—žž´³€ÀÐõ%l‰³W¿ºPQSy í2·šýz̤-õiùRò«+Ø#ü6lž³@G„‚vÐM'áIQ‚(WªìÁ¦«äñ³µÍæ OG—¿é—c=@neyY²[º‘åÇõúŸzžC}r`ckö"¬QëTªªô Ô×Cþ~¢0þæÃoI±_óí;-;ìø!€¥{¸Ó ¶[KøÐRB ŠY¿Îx¾¸sMá³Õ…Æã•ëD;^K@ô6°Q%s#ø¸©ñrÃÖ4JOêAݺ6è4¯¹ÙË:?{Mˆ^õªW‹l/¨ì¿2òÍÑÂ\As^Ýýßt»B¯ƒ«/FÄFºïâ•ZÍÉß; 8„˜ãÿž‡ýÜTpU7?fÔ IØ9’k¯‡šÒ¶ä©°$ä«È Í8Á …hÖ‚ÖÕoäSŸHÀ~>|éFbŒâëù/!óÜ{fš=`ß YD»¹ëÛ=Êû½ƒJA”¯JîPæzÚ—ÑÝ û|QÜ(„½ÁýEНãZ$¥‡E{þ¯{÷ÝŽ1— ÅR6lÍq I ¹"wUŠ»¢N>Šò1:ÿ†çÇ{ÇÚ<8¸Ã?<0¹ò;âýô¡¨ÈeÉÑÔÝ9D%qˆ£åM¸S³Â$b6Hôòð#Ôr £Q“†sÈ‹B‚;î|Thsz}tEB?]©&Ü•‹íä?*Ls´ÌYy® `sBýÕAtÓVÞ _‰…Ö‰!Ðï”ѯIÒ'÷°…E“4ÕwÔ€uµ €òÀCà“µZëX öL¿x°p¼ñ¨"ê3¬úS–¹»„'¾Öá`J4¼Ättà5hÄßêÝ%LâüíQS–Ï>ù÷ówai•P Ãojªb>;zWr«ž/ë÷É©Þ× lb€0 ½tPá·Ôåžz?PT,¸T¥}qI‹Á1Ífýérzõ ü÷9çËcA¤'l«¿Búðîj¨1r•¬pj¬áYó9ÈÙAl´ °q8Ûe'F’Nêm3Á,rSÐVÐø(®ß\] Ç÷ß·"òwf-G^¢kÏœ‚š ;x˜¦Û Ì:F³HLÿ¯êpjüa•޶RN¢ð .tDdõ²eT ¾ %=kÄ5°‘ˆf&ÞqùšÀJÆç?¦¡ã‹UEPÊDÈۗѾÜ0§AÞbYý€uVû$Ž{¸ Ô•,>øn¡|mëUÃseXM°ŸÞÖ»fàøàºÃˆ7¬f;‹Ç’*ïCÅìx2(i¿(^#Žßù(Úô$LÞ ªsËhW¸Ïã¤óŸ a¬aÏú ]&·ïâ’¬º¥¨¾›ó3Â%Åë ³ÔC-â)“E;SËýšxoW¡8ïã¶_d©”‘%u%ÒÓÏÙnƒ€ÀÙðscâk’íÁÔr»(µ/›=XgW¶&ÓÓp6€{É'øäEüwþIÔxöË?”öÝÒÍÀð¶’0¨äÓt9™´gÄÆk+ˆ ×Óy§#!N"E¼QSs·ïîa0 ˆ9ÌrtÓrµêxœec4‹ÄŽ» òÿ… ?j”ëÛòÃl¿äE¦}R™×›³ó[;}aû΄‚l_е߳tÕON6Û¦ùÆ àìig¬à.±Ndb“%ç…’Hë@iF>Ý”nà÷ÖZsÜíÖÜDΩН~Y~ ž9º!µý§\uẼ(ÁLjF‰¡]0gfÊÓÙ?»Üë¦åCÚ'æ€Äx­R/Í `5 b>!‰Œ¦Òy9F£žŸ»xiµ/¹¤t_“…Æt02ã8·ÐwFŸúf(üzŸz<·f»œóü—Ͱ·—Õ :ôóizªy7±dÏÖŸ9•½V…Ã[¶lQRq.ŸrØ~÷’X9 {"Ž`­R'pÒ¢½íë¡–;ó^%R]? ²5fæ‚5®ÿ`¸‡–¾1Œ¥:Œ+äœréÞÖÌ”êv'ê’üÖ z#n~ êù1§k,SQ÷ˆBª)Ãçï7ܯÓUá>cŠd¡˜õ{|&RR¸z#9Umüwv¸¢ã‡Ÿ‚jø·rš_p0:çÉ\Ü-f ô¢îˆ‹ª¸$°°¾ò .p—Ñx-•zŽ/RÜ¥°Ô§/e›P6"%ãÈùÒ;¦w-°  ‰þÅ!äÎFØ#·îñ$=¡ÜƳåHIõŒ" ½ÇÃ=j À¢Å“ MÎT¥ 註ö©ý˜®`ã¨ÒQ@ ZÝ¡3<§”º^_ÍWyØjiŒàJŠ2Ff_sÒêY¸Ä·l¤Sô­˜Ÿ\^Êç‘|ËRJÙâŠøa­|3äýíÛ3¿BÙ"¿®N.b$eɳ;Cüá´ÞäX¨•oÓ·MÞãÑᦻ¼ Åh)ŽŒAÔofcWÝ,‰=ÎõêÄÝýÔ[à”–4re«NÕŸ!R r%3LÌ’ X…Þ ù#9£V¬"£øâë`EГМêüÿLc¾&<÷>ý´5½ü»š¾á³™=åð;ú ò³0…nAÊvB‰ÜÿÅ©`¶uߪ¢Þ:T~qnín¹£jèëë|Qc¦ºZpE¥ñ»â]di-˜d^õIflY¯%7”É·_Òh µ™ðÊDæñOL-¸û-*©@S×!;T/,%”Õ›vŸ$AåÎäg&û¯¬LÚ(^ á4[Rs´s)vHžçêäJuÓH%"7“Q‰c ¹¼æHâvu©`d°Òh@òxÓÔjlõ)Ø^°Š@%;MÅ"Wݹ½PB¶CfÔƒõ4§šXÌ뫤´¹²î†pl!{r¦z²À >ËR¥°Ô'·× Fô*Án|‘øf˜™ýáйI¾²µ~j_Ä“·Œ»«ñz°’€Ðl×® SÞº©Vø¢Hö??å†Ù_à9±Žqt~÷K°U_¹ånZmÄ(¯{H¤?o¸S@ð„„Pâ†ó(ÉŠ• CÖ üa÷͸éàyÙ0þ<{ùT™{gö´CSõD"锰̀Ŭâò]Õ gîª-äš ¥K™¼Ds±(C9ÀëZ¾Û£:;øó KŠÑ¥fûdjE˜d…pO»µ¾A䨙o ¼æx!Þ„ä‰)MÜGtUÅê¿QHÁ­H4»˜ûÅÛ QræÍH[¦q‹ÐÓÒZ«|NÚ¯)aÕÅUÿTg+"Ü˃*¯ë»Ve4”“Wž÷›Œ©KºÜ˜fʹ5ðè»&¾xÖ]šk6½'âpŸ ¥c©ÜØvºhu¦á1Ñ"3ñŒ^-¬é1[.Ís­Ì²ä”šwËö+iÚ’ïà '`áÒÕP}ºÏø¯½wúʼnëí9|² ×Q^P¾.Á7cTLæèìÍñ„=jØ(èåwÊ›½¥¯ÅF¡wQÿQ>/Åë@Õ²“—%=eU1a ù^Kn†GBÊëZ¥ô#Ò`›{§¶w¶qŒÅr{µ±g½å’ùI¾A/%Èÿ>#¢·ÈdDɉp´w•jòð)ë‚™ldWÂ-P~ ™šÚ›ã½ mZ©êý(©ˆ£ïÒtå2p[|±XZi BòïÌ«gµ[¦ðIÖÔx4;XúAÏâUpŸTJ¡Ñµ2›jƒT0‡Šß"õ£«6§ÆÀt&øOnkë16ÈösÜ N7ðð¾%™Öfy¤0}}À¿!m¦­• TÜü|#?ßéÚq†È›Ó[Ÿç'dËEŒ¦—B_‰%úºã<³éQZÕ ÿ‰Ð`'“¸šG01 ׫ÒZ:áÏaFCÌ[^•îÑg?º"XRº%¡TNlu` Û…Ö3»Žhš«ó¥!”¦ü½D› ðƒ'åTã)0Пt‡×g÷6Oïå ô|è@x ©R„±.”ÛA´Dl8™¦Ú²Ë¯p…]~Ö[cìfocB%Nié".bÍÐ2CQÔH¥œÎC¦¹™?ö†ê«TL> G²p0‚v©PXAºÞ@ç”>—TrGvaö]ꜜEE=?³¥¼Í^ E_ù¾ÿpŠ|Ugom‘Ê¢WÈXJÄWà`O!µ.¥T©æ”NŸ îjªUsçsÚ‚g„@2Ý'ŒW4ÔÔ¶…ˆ…À[Ðzäl4Ý*(¡ÜãTˆ¶yÃÙm„[ÇEjW½dk'ìc†óÒàvXþ]{ótø+Ä×EµZÿÙAïÿl\LiÑòw%äÓY,)ì–¬´?‹×íè)b,‚M–žíß"$bQõõY˜GäŠö,ÿ}Ô6Å3,Óƒ€ëh@ñ®J`ðÒO‰ü3 §òƒ^IM`…õá>,ÒÁâ;MT0!‘!ÞRïq®”O|‹þÛ•1O¼ªúYZ~ ‘<æ`ÜÜ ƒ1<…{Ëc$\¹?¨Ùú|Î[ Ýþ~u8ð+Iù­a÷ÒôÝYÇñèhË—ÁREœ ·‰nXEö‹[·nŠ'œí·±c5âtó É—¥[2ÐÓIËÏÜ} ˆqá•7rÉK˜9> Ô¨ïß™áí9Cd¯rŒ*gñˆÿRSO{^Nç¨9põ:¿ç«¤ò פÏêvB@YëÝ®y"üÐâ¾´íBÿµ.С2ï·1¯Ù*H$é;Q¸‚ìYÍî…’Xç¯Z²L3.Î÷¾T7©ò?±Ê¸ô«ïzª6$¾€ñ•į K’”¨MLô®â½ºµ}KV#½á Öb-Ç%òÕl€IúÙ‡SÇÃV„8ñ7‡0/ÚLzfòÇpÆà$Ø-…ð¹HÓk¼yzÝ]´¥þ]>I´D—|Ô(Z6¿÷K˜z1¦³u‰àœg·c74°WJ5coo_£Z”ñµ‚_“A%¿ÌLš5³úiÀ-ÿƒ®—êÁK;E^á-é±ÎAÒOÉ«º›´ô("~¥ßý&å~D'uÎS[îûèÄcVœqÁ£°.¯Í% ù(œž¦Oà6•5Ò&ñm2nAid·ÐQ.8¶Z*‚û~Ru¨©ºdälŽ›ÿTùèίÀW2 PLìim §O)ºœYTzo ‚¾ X‹Ç9š6MWëq>†Ûûi-¥ÄîÝ|ûv€:<ïFÜìÜ#æ·î^iñHbŒ¦> ™?óÈÓ©tœ„ƒUV=ºPlŽoIȸÉñ”îÇà>lñ¦²nCýB¸N†îÔ…ÿÌ{DÃÑÖîwcÑØ]sWÖÛòFʘÐÐbToÁ~°çÑDWÎB¿ÁaÒ"Æ]q–´&àŸ;vçdrlüÒuÎô¢m°( ñ³å"5ü"ipîÔ0áNC¸²¤'Ããú_¶£õ’9ŠMèYï=°…«)”_¢.uD¸¹²L¹ ‘¿s¹ØðÍÖ\Nú;ëÌÖ‚·>uÚ¯ œlcW+‚Àjˆg¥n¸xøÏˆOF¾ûaMÊ«…°SÜ3’ö”‘b›ªøMûòjÿ ©ùäJ›·Þãj¼A6 02n c1òêA¸ÖÞÏÈTÂt™['‰ü@ÿ—­Zβü‰±$ZÞ•Uf9ß ÁøFôO { w¢‚€,š·5î•Ë{¼ù¼ˆj>sÕ.±k±Æ¤úxÆ<ÛÚˆ$5&YÌolI{Ùx{GêÑžÙJãJ×HgYIû{¸‚^ÁÔÔ²Á¦øŠGż3/Œ¸ÏÔz '60‰Xº23•Là+Çß ñ¿³"Q™)±xŒÇnt½@ìØ³é,.%Ó%@`/ fV>· 2;²Sî’±,¬}Žw&u„¶•è9F×g]iáÕ¸ˆy*$Üs3¶S<¹ =N†¸}µÓ]³©ãÚžsa1a]kIý™Ç‹ú`Í.²böä÷*3ÝG-ØŸÑÁ–ƒëUýTsÌoøPò¬uÑ £Œ9+?Knlp¾ ‹›ºÅR#º5éÚË2?ÀõŽ¡ºÊÐ3õŒâL’*é0ÇUª¢òjcNt´T¥ÍóÌÏ1uÒÍ-°"l–WÒŠ=be¤þEq†£1{ð8h”ðV„<¢? àè3ÚøQ.ªGäPÚo¤øÑÚE·F » —_ú“‡Im§[µo¡Ñ}EÞ™Sñ|×ð«å+‘³)×3Äg[_o1ȃÍ_ð¯ÉáO7BeÒ‚ð)Ø'ßÁ[9IOû儘p‚`!!®\º|öp0÷™Z}?«šWñrŒ.üñÂ\]³2˜³ÌùR]*ÿœš£vÒ"Â^£vú‚Âb­ËeSżh‰1[­šN͹˜¦‹Á<#-®åܽiеû&¨°<ý#ÙðÞ{“¼!*.$#Zõ€Ýþ\ÞŽ‘}‘-–âE˜šø­.ì¬)÷×ú«ö»OÖàÛ­,߉KQsú¿ùá`2¨8Ä@x.„?{Á%ûBp˜4 ;¨hPÚÍm2"OÊl'Ï¢'Ž¢gôêF« 檢 Ñ×1.ìá ôVÅ˪¿¬y[TÁÍ… ©“¨FíÄ!Ø‘Ai£ù $ä²þKr6 “^}Cíìðmݸk1MÛçwJX­kžôЭë@‚27y‚£êºkË^Cm¶+UÃýËçi‡ÁˆÆÓlĤ"` IÊ3m@óÕ›1`$q¤IËÎŽüE¯¡8Ÿ•˜7Uˆô\lûPüq*v¯g—´°¿h±ö:N«©Qˆœ¸U’·Î¾kWwÑû+¥Y5!ﱑ- _~7P£¨CV.Ⱦ‹Ñ(¬M¶\ظ¬éÎz #wí{°KbÕu ƒ·­²`¶ZÅTó1¥ÎÈù^{+êÐË’6ö6þ v…x¡'¢E ?¡è’NzÁò¬øÂJ¬w uX :ŒõÓz¶Ëîi¸`ÓÏEvÖM«Ò!û›ÙÄÏËŒ\+TÃëïñ€£0†ÅqØŒhDÓˆ.F‰Ñ°rer-‹Ð_R3gÊ ˆ¿æ)$ÛFJã©LÒzWÌi„WȵaD‡æ"ËWå*¶^Ö­dâ¸ëÛè鿏œ©)I!¡$ql¾¯FTG¹„¡ž¦¢%K}ŽóŸTe?&@±Š&KÌ›uf¢  þ#Ì6)½˜:7|TNËËCŽg«í䀿»æ"Ò^–“:›õ°¡˜î·ÃÖ¬pŒe<ðXI¤W©(ðòÖSÊ óaÔ®Š0šgS¯É(9Ulrn€µ*úOÛDýïmÔñh«s,ýq0âÐN&8ë½™ë) ‰ØV:Ãßô@Š J”©üWËý(¥_‰w’î Õ`³ì¸þRΗí]£”Íùµ©aW‡Yà3‡©¶vJ INqÛzRp&Èp_9ÍÓ(!¯ÿXE ’qÓ­°»68ŠÌØÒû¿ì¦³Â“OkÕT:˜Mk ‘⽄¦ da`ç5cú¶¸t6by#‹eÝø7➯ûÖëW¶ì~ÚˆŒŠèB³ Ô&‹bŒ ëø.„‹õil['<¶'ôw¤«ÖXÄŸ'l9¹ÅWÊ%ÀÚ]¤¦ªÐ%"LjxÎ/`Ê®dG% Yöÿõ4‡;@˜CÙÇ™DdwŠ•ô|ò'}Öï÷!tŽ,;Ù‚ãçj Pœ8Y[ë6šòb®2 þíù:9“ íš¦âÆ]ý&—þÏEi¼µªƒëaÉ(ÞÍG;šóÉP«àsgHçeØÔ~RÀè‚0dÒù9#=aÀLci¦sŒ·Jõ yFýãmg{“)L¥?< nh2ƒÖø SÉèÇùâ U”m»økÙX¹<3%]xûm×wÇØªéËaÔŸ(ÃÞw³ÅÁ¢Äájc8¾AèžÌ¤[V 9IÚü çö‡1üfß+é«WôÕ f-á;kÝ Ô14m Éq^ý Vä®V£qº€|Jy F½jÏÄf³šJ˜"ޏäyµŠ^är¼©Ã2¦½H0÷±ÚYÝ Æ• ¦–>uOfnÒÉ[À鬟–6|–IÇ^ l“Ï‹ ÈœàãŒJ¥[vý¨s|‰s˜&eõpqA7œ¶S¸CR „´½òâqL ä˜%lRÉ£šl(r¤p¸‰=Cûž·Ñ7د,/|£âÁ¾3ê<&¬üç,µžû°g 1†Ô ò4çËîª ÿR}¡›Ö{‘ÒO‹•Ô¯Йì ábßB¬ãú€­Ölñ”[E ¼CÔ‘éÏÐ·à†’¤ò OÆSóË (N¨>4Q‚ÇOïY¥aëo>l–™àè_m¡¡[ÊMl†…¡lyI^/>T ÷ÊÐËü¹E–Ë´Ñ(þä°xPþ]jm¡Lüîœ]ijJSò#ȽüD¢iƒO Ù÷S p³Þy]þ÷ü‡ÏÇMýçàæ c>Ö™º¼ ®‰W¦ßmx“¿Z]^YürfJ·yCŸûwO™Œ‹â6Q;F!I,´I˜ê2*ËJBñ6ÜaQ3ÑE0‹Q„õ7Q ß™—I`˜GލkªÁ ¶v©ÑNrˆ6° Ôˆ´ùgçK8i’ÕíW‰`è«­—p ë{áÔ¹q:ÅÉÜH%k`CëäÖj‡sS‡»Áô’s…+ ?œžðœº=‚÷vÓzKCô“Û ü¥U(7-¨Ê‹'YR£Ã°h~*ü…n {¹·¥Ì&m׉ž“nçÚŠëX@†À¤}‰ ?•;ËyIÖ±ƒútLÃt.¦§W›+¦~[ „´¿Fm§Aå¦H›tÎ8]–EbOº^}SòèÞ‹’×ûQ1µ!WÚH?»·ö¤²Û4'0ÃO™¾Éáà•ã/O*Ýr)˜VÿÇ<¿v¸’DÆ‹KÚÇü]ñ%wÝß>ÜÕË ûYþUnW°÷z¦¾Fö ¢ºð[·:©Í ˜ÏûA½ˆN;’ÕD'1ë !îvû(jà“(Éoö딥®™½ä³6Ö::Dj f4åGµy“;€4×[”›J¦¦AŸ#ß¡<*¤·ž8Òd%Dƒ7Ìøþù1ìÃ{Ã$Ø Àö×Ëg¼õmä”a¼ÄJýknƒÏªûÓmV1¡ÀåFƒ%,OéX ½¬ÒÜTHþhíúŒ_<Êáæ›Û,ÁË©êÝÛÚ~»Û±­‚õÆmâ™°Rá¿<0wÅÖQ¨µA¹ÔÓùç»`ócÜÄíœ,Ù™Àï¢ÜàY^ãådË]ÞèLõbbÉþÛ“V<]Vff¢ÉMAQýMR¸à’Äw´DK-MB "é(3¿$ž°f[^ÏjÓŽàÓ-„¬„lÞÖŽ§Ú%ÍÛK/-¶Xg¬•Žr)‚“Ým£í,™|Uï€0—Ô±|\Q§fšÜˆïÏp<¦î ²_“m÷ÚÏ}ð1|D/Öj}ý” 0ÊÞ$/©,,LÌûý®¸³PåP¯ÔŽ€ª^˜ûçÀññ¥L»ÜE*W„˜ä›I%âÓ¡.2 üJMvIûR¹N&.Ö÷+V7†µ'©ù¯eæçì×9b˜¹¬YÇtÍÓA¥š,E »g{ÓôV”Ãi¥XÇžf÷=Ÿ„î˜bã yŽ$Zæ­ mÍ©Ärù/’…¿<±ÇDu‡Ämúœ h¬·£Ã82ÊŸ\'XŒ¦I2Zh;×#˜ÉÃ=ͬª[k­;}VÜ=`0æ=bO˜„ }Ê ã0èL¬Ûk¤ØàUò"d²¨¬{2\Uü>±Mh <ï\/oYdôh³ÆdÙÉ"M´ä|裾†ÂÍA_Ls0¿Rƒü£èOºi“úŒ¢É_íèEÄnL{rË.§Ð磒´&œk›ÂGIoC€ŘÓåÜòX¼*ÿ2!ƒ |¤ŠçALoMªai¿Šé,¾J”óödήkbdz¢$§JCO`ÍM–‚bœœË„߃û­{ƒÅïÓi÷¢)´VŽ@p%gÇ.4±À´DVaÅ:çQ‡Ï}‡30x:oCˆ:Ku“é$3júmèÜØ`¦( Á=‡(½aG³{Žo*P¦K”Ì?Ü&2àÀÙÖÑ›@ ~áF‹ËKjì°íz€8Ómˆ±DE|°#7]CvķȽÌZÊúÉAÕN‰¹e˜¸T(‹':Ÿ;¿÷pæ·Œ‡€˜Ó0Ÿf}át\À }a-;Ã`çüJDŸ( êJ6±à¶Êý‹CÅ- 2l‚qêå7¬SüœíE~ñd¨0,øºo÷×œÑ ^ÏÐoëÉ&ln¡ËÚeˆßlU^ Äh?3Üâsˆÿbð€Z6Åú‰âôãG½?KèNèøøµLúªßÛC Ž»¨œz$’zŒ­‚ˆ‹”\hìu6¾Ò—²æÇ±¦…ï•óKé3»9Äߣ¹OÉS†¬4·g.ƒö€eîS&ç/må8å&—ià‰„ÆÂ8üòDMçÞ á¦ÍéªÓ—?éD6p…héHÈ»Í룱|)_Êqb¶ÝÕ/oß‘­‹èÄGI—‰¸"' %ä¬R äóAj¶Øä~ÅÇoïÌ飳úë>—å/"1ö®’Ãx¶„vÀJ"hß0oŽã)a6ñµâÈ~ËÂûƒÀ m.‚Ž¡BÂk‡µ|t„Èá8ÔŽ_Uì{„Òõß^uþ­")ƒ+[zâ¬þEÞ¬UZÁÿAv6‹¡$ÜÈÃ@ìœÅûÂ…@ô- N÷$8ýKÊ}åaÒRü*#"6Ò.œ8¸íÊyÓ¸qoÔóø'°7O#¾4z%=€ÇnòÌ/šn1I–cbáÛÍ;fÖ+s2’"ÿ2¨³·Õd†Öò Qñ¨Gû·³úØ# èGN€öTYºu¤j¹t”„ç“,€õãìHk÷.™`S)Uêlz2âèí—ߥ[Ž‹8`‹\fޥ説߆ˆÅIôX9Ç´µ½'_ƒ_×ÔèÙO|}™X3Ñ[15R†óEÍwTž÷dÏW£<ÙF"mˆ­—cÞÊfWÆw­›ý óCå_$"ªk€¥ñv¡º0V¡*¯— ÎùÆ#´zÝ4öÇ(ÛÙå+–E“ ÎZ@ø×ifŠÕÓßËÝî[¯WÙwNQ Ðæ'¹ UÁdjpQú¾d=º  Lˆ¶çä<ô%"ÊQZ ¤ð/ÍéñH’Ž?¤â;˜Î$ Îi5 ŸlºVü†Ø eˆ{TC?àÌæ|&eÀ '>ƒÞ¢\{çc·NiràŸ½á©{ 2IØ2$€øjGIr鲃æ¢SMs|g¾‹ÊmKOjdMÃÒ‡œú¼.#9Êç4Ö7Q ŠaV£HÎI–L A=—œ€þÏicÉR) ÄRòÞ+ÚÜc™û!ž©á4Kü)§9ÍļïV7À’Þ6ŽhîÌÿöa.È}×…tùò*¡šOó%^G5ûï-)‡Ì®1î§q[k’*Âzì½WŨ yr|X$/¥G3ùպŽ®‚d! ?²æ2÷˜j0Šõx8ÆÅˆs•SH{Ý…`â^o¥R\—žÌÕ2’çjê ´f^’c}5*²úÖøqB¿±Ö¥³®üÐH&DcP}›â±¶…3¢"³o½{Ð©ÛˆÈ ):_4µ¾B ÓÙ)/S©ºËã«@7ÞT4<Þý, 7 áHr6 zî/K{XХɑ«s7u8="ò–çt]üý7ªÜØ¡™uü¯›§¼2ƒ–1‘Üñô蟓ʭË/âo»}:HlY¢œa¡[ Tä‹Ëáj»Ð?¶\–o÷N/\ó5†u8aç KwxJíÖ(ÃÓ“MMË{²ò`”²*¶ƒiÖ›f‰Èñæóý.—Ûï.(-ðø¯*©Z6ÁO,!”cx;R]ýEžêD(¬´ÙÊWûHŒ:vÊízÏa˜qã€VM,"äZàÏË2Kã˜gšFÕS4’¯p2vÚ r6ÄÇr" —'Σ&ý³ÓF˜Pœw@« )mƒ„›ñX5ÇãÖEóý.æù×€¥¢MQJTÀ‘i›P^ÇR­˜'Úè«(ª >ôÊ<óñ“a‡õôÇ\¿ŽÌ2±#¢ë‡ú$BF¦aU~¼ì a«ëÆ'Tó^ÂøÙIÏ< ™áÕÇï·Ð[&‚v·Ù¹õbÚä.eè™0]«X°³Rü3]Þ„@%¯ÍµbˆFl„ÀBùñuà˜Äê_`0˜Ý>Ü63d÷dEÙxSLçƒÿ¾Ø…b¦ªS¶:jX»’4ZkèH™ÌèPNÖ&ZÀÑÚ7£¬zçsŸ,á&‡bÉM™¯ ú@RŽc4þ¨pY<¬ƒ./Û™#ßGSfh"R±ðÔÅj“VX¹UW)IÅøŠÑJä—bbÄG÷Õ9È ¾âj+˜!“ŸZX‰^ïjÓq%ÒÕå†>ÀÛn]œÿ±ûÍ-Ôì|›{‘ (T:phu‰(Œ{ÎŒ”6­²/KõÎl¤:é\<>Ò¯,=uHÖ0^;/¡oÂuäù{’§Íh'v@E–­I€ §-›c„‚5°¯–¶hã_ Wš“K}‘÷«1¿á(&È®ìºØ1Â®ŠžŽB«ÙRõ‹gx­?ÌSTÈ6aÒ𥎙³U™GÐ>^M\¦¿ôu(×–#Ì£ë±HÿäjLác§ý±2I‘™´lÐý»•{ÉK‚Ó ëë_Õ»œŒ|¥VþÕ6ÕÓâæ¹³_Œ$l®3}æOÇ¡ùãt <> Ò¯ªÀ¹ Cz¯<‹§;È¥zâkʘ€VN ¼8 ÊÚˆ…èÃÊösÍÁ­/{P '©3ÚÃ{ÜÄIï3;ûòÝÃÎæ°Ò “SaG™‰6+Ük†›“‘ X¦ yp_U»Ö×_A^çßBÕëm4?Ç’ìˆzì_}ºÄZ|„Mò ªxBn8üo4uØÍõÎÀ7΂X–õc &(ºZ:´v©Töÿ{`tõt!8 ©ã‡Ìj=G›¶¤*{‡¡Pþ6 OÑÔsѸ$d?÷²ljÊ[ri¹¼O+ö*nã/–˜@Š/02šé‹ýÕi+_YnC?¿‰ñ@[ªz&8µEj]5?Wø(8CîÌ`NF%ˆÐpŠ'ÏÈL*vFxJh+j6õù[(&ðq‚XèävÉrQ@áßÞw,*Ê2²c_³B2 ýo4 B$×@ZWù•Ĉ”9;9kOÊ\H´€çAPοÈÑæ…zÖÐ"0ê꬈۸0¥®ÌG0ÛmhMyÑΨ ç2·hÌy RÃüUà~VK¨ŠYóÂ:Õ—3¶PHH÷¢´y÷+ƒ3;C Ãóâ—µxdZi+JŽ:œwÎÚ Ì8[j¶2Ö¹Æ^òÖÚ«Ç“³VrÕ¸DƘÂQ½%ëX*õ׉`›t䮉Gìà$F]?3½{¹&Ö;šRüdüWîƒ@@ br}¸é ßKí¤„S‘h±*D°¨e±…僋¢*F˜×xÉk= ÇPö=QûÎ’Û$èÂô5HÞ}FÉ„L-¤ö-Oj¾¿²žÎ}— ]/˜‰ŠÍ€›Pú‘8^ ÉgÈ(£gŠ<ò*+„÷f¯áuOx¼že‰ù“ö‰B=РneÔoù¦TÉDç̳GÇâ™(w“ ë~œSx¯Ó$¸$DâAˆìÖz†é Ž‹lNjQ–ý$§â‚RÏ€[GÇ*³jÏ`93|êe $Ã.ð—lÀÉóyî1_Ž"),¯Îx÷ÖöAiáÒh±[×÷Í /3e§ åCÌy¡Ɏøò“–FO~§0”•xº¦dHÙÎê¦=ûÞ‘èFKQ×f†GKŸS_«™ïœþÊÈzzÍF3™Š…Sg;ìÆ‡O8ƒ]x\_!kCΤtívJ£öòfç‚å®ÌŠ¡j8Xl cò GÕy› ¨òqIƒ½+ˆggçNIŽÚ2ÇyO,d}é_tж‰î¨±n¶ßnÏæ¨§ŽÚ[0^5%ø³‹ûá– ¸tð÷¤Ö¨„r'”òçã„ÞzkaõlÏ M-À9'~§Uåª@§¦§×Õmýk†õÒÊ0<«Þ"n•5æH8옓»ßß;ô†‘éµú o–«‡1ŸŒ­£§”t\>BÉÚ¬ô÷Û¬Çuœ’?´ÿ·{¥Y„ÏiE¦Tý+Ûüvjž¯u´”hIa\ÃI£;]àG>™Ó.ÌÖ5Š”˜f"ÝÛª¶*bú¬8ÅêªqÔ u&?S>o×|˜"“Ä/ƒ¡*ïÙ,•ÒrsPÒ½\îJfëÇå/þ8õØ”™ÚŸJ~ù’»"ô!5«ùçÈѱZýuv½¼Ý7&|…ÑG3ØÄABñ¹Ý2=(Õfîùf2Ü“ÛÖ’2ê;ÞæËü*4Ùù­l"=X·$Ú}`æ8W¼©½ø,W«h­H”50{K¿ÿà+ÁÔu‰|¥ÕtŽ‚Š|.¹û$eQS{Ô±¯¦ÖyÖUÁÎÓgx·h#1€ô‰IÞ˰ú2q¥3DŸå©ˆý4åÖ}¾L¤‰x òÿ>œ¼&¯’Cªà ¸î‚ÓE爨u†vÐ{k“äøáÆ ì‡OtÌ[¯œE4à¬îœ­¶&÷$ŠlÓ+yâÉ79(9NFm0C'¸¥%Áò.6X¾ g5©ç 9;;¸‹ëAŽ U ¾Æš¡òè<õ„/»ãü6¸qrÀFÇèz¹WUVÃÀïäfrÓˆ35aŒË¿0PVªB:ðd‘éR³æãÐ •EÞôÕ·µ'næãô=~ܹ#¨|íX?v¾’^äõ&Ûñ™xåºÄ—_ÝÿVêtÿ£X÷¾NxÐÞ‡¨_­ çº‚$ ‘r¬]$ ¤¸ˆZ¯—Fǽ9õe_Æœ›Äš•{½/Ý5mß;oH¾qÏ«²¨½œ–9b1zI©@ý‹bIU,m›RÞ›X1ábD×yéè`*ú¤ÉŠH[äîåRËéµå=â®Ì2\ŽÕöÔÕ]*_€ì,¾¦ŠS•Ÿv<ƒAø¶GظÒê3žñ®[ ¿søöÖŸà±Lâ‚™‘ÖÌgzóÎo‘Û Õ±¨Ÿb ‡c3 ÙÎW¸¡ÿr×H1Y‘â¡È±£lƒ¤ç¼ØÄò¾&" ÄÎ×8Ðí ànhÑ·‘ìÖ¸‡DiCÁ„žð ñ €™p5„Ò)¥ˆˆ÷ü³ž&Ôõ·k³Þ‡ò‚k“Z×9Ó‚•{ŒRÖGqaPi™ôÿQT–1ðbjˆAñ|ÄGZ~ÅßâÉ®õŸ FmÕSj"SÔ.xßóº8þû¼§ (9©§IJ…)!¦&w‡š_PfÙljôOøfkõ#)m*ZtÔ\RGH?þµ*Îñ~õ[)íºøhÄôi1R.s5ÙäY‚XåÂ'ÇOÈ‹é‘*@’ëõõæü‹¢EVÆ”Ìñ5 ¦ Ô›°a©-J„äÎ!‡&u]B»2Û]‘@ý½¥œù5áåÜŠ¦,!=,$Q‚DG¾¸ß1eóȳô/]8â‹ZûÑ¢:f÷fL‘‰å<üË©!°5¹4ZîtáÜY ©µµáÓ¸BI€œ÷ÄùZ°û[ÈU#ÅÔΦîT©×KŽÕóÆ«AÁþ©#ROQ¸Pï·Ù<)¥ý|Gä\GOmÜŒEdßK¹8h5qËsâ¢Àl w8.®#««=Îü±/ã'ˆ,?„»=jFàñ¥½*<Éæ·WÝdù`sóÅ/–¨M±×gŠNw6MÞhi _=ĉ®E[ã¸%o"cX6¹ÅŒ†Ÿ£DŽ4F~u=ì!yŒÑP¤´Ú¨ø¿œ8‘[‹V BD×AZ*²n´/;·KvtæH¸âyŸçöAô¤ÿ~j—øãÈ"£ºÓC}l;"iÒ­‹‘³.ƒÃ¯Ë1†^˜îLFdƒ¨–_|Ú1˜Ømòƒj1:%ä¡ü–'Â$'-m[Q;>qýŒ Ï®¸žyß "ç1í/¤¥ÒçƒZKH–º\L>D1Ê¥n.4°+$u}8R÷$›<„ˆ'D¯Š#zvZ’ìEÌa­ÃÔGË’Mß®.ÆëuëÔ1Í ÆÌŒ–æ#§ï”-ÿ´îÌC,~€¬Ê©íT´‰•õwqt±::\^.ýÿ4þp¦#¢åúl9ièr¶„®<‹ˆ)„Œ¸¤ˆ@ŽÒŠZº¹ñ,k¶§ÏQÕ5.E‰~¯{£ð‘ûŠE™ÅÌ—³èŸïØ ‹8Që}; ø)©ÃÙ·øä;-­WO²?0tí¦oíOØefq-Sv™µ…üA#ZZ5<ÌÀár¶ýgèÇÁf/•ñ´£p†gY¹ïŸ”laÜI#-ŠÈ àù‘¾–\{§¶·`B©þx±@„~Èâ³gÇŒ6¸á8›íçœàó§*»îFÀ™Q=,¾øSyÞ”Féñx!x7âYZuòêˆÿ–ÚMWk3•ô² VQŽ‹b­ì’ĈÑw¹—ADNz|ˆ!NÔì–' #/–€aJO¯ÕËתç*—  Äø+¾ç2wŒš‡Zj]}lS‡èl`’L«e WàTOÀX=+kÊfÿX±›” ŠÜlÏ$<@gÍ,ŠiYÐÔ`N2ºX–øT{»H–iwlþºÜ‹(×ÖÚg;!3[~ ?}⊵{°r'SV1 dÑ Ø?.?r‘îèÅübVù·UÙ½So7Ãý‹²ô^´ÓŽNC#ªÑ°¸x¥‘ŽyÏÇûÿc¥DY¼ˆ£=õµ¬c³€`ýA[á!½%ðw•—DDÑ‘ê+æÓ`ËlwÔ‹#äÕ8-æ/b’1AåxœæSbÛêòÒG’#­`2Ȭ‚´iF;9'Ír‹*;à<‘ÆØ†{œ÷•s®S¸úe âûðãþôä ß7R¨FDû. œv$Ë·äøvÞMU@¿Ö£ÐÛï-XÁU•^_]»~šE¿\á^µh¬$ÜZ‡ž¬¢¬ «Ü¿Ñý¶Ôþ´U媑ÌûãØ&±j«2ŽæÂ¼ëª!’Íþ¶”-Ùo‡ Ÿcšätoú7æ›w×€>mV+¤ÓGIš/³ã…¢e˜X)VFÓ<‹"V¾ÕŽºÇ©W_¤;VŒµ³®»Âß¡ÊqwŠíŸôrƒLŧ,kqP'¿?Ýÿ¿‹Àvyª¡ë˜çÿÃëàܰaaõZ:Ã(éçñAüpÀ|ªMÖà…(7+óœV ·»Èª6à­òf)ÿ“ë ±’äXù‚V² †%fæ(%n®;×XO§#-8R‘+ÍT|¦{eˆ„<ÁM³[6/¢ÌXÀÍuóA¹gBŠªn©Zü’«ª9µ6NÓOugÛÛö讆T’Ï€ï­>z;ù÷ü}ü@ƒ“r–dÅ!ÜX æh•Ÿÿxáa‹‹UíV>½ÄîŒ=°!È(âY+}r×E¤(ÚmÕ1f­Å©f»‹õÛÀ„Ðgîh \d„ £xgoŒ¯ª*ýÔ]V7À’á[¯Ä:/Ý;ÊQý2'iÊ*kýîΑÇÌ8ã2·`‰¨J˜Ä@âý"ÍÇ=à\Èç‡øŒc%Ó-{ï$!j­UïÚÝvgõ½¶Ú0VS♓ƒeFTÅg¸K¬f–]¨±ßü†f囃÷z½E8顎µxÉ·}S>˜¯¢²ˆ¯* šK¾ì±ƒ‰È–O¤qügSߨš_zÑÝ9Ô&ï¶}ÓÒ| ñ’û+[²ÆR5'==kÑ!ü"à1áF*PÇ»‹íK;³‘ØCCîja‹nýaåKSâ»æ•°?Šâ‘yO-‹¹¤27Pã2OKÝç`fŒdØc¬M©]f¦ ¬WN¥ë}‰\üÁw?ìéAç64”ý€öÑ™Ò&“¿}sÑJá”eŽŒ—â$k\¥8ä­øc§NúW<ÜWíê*Gñ]߇Sàƒ±î$ÉCEÆÑð>‘áeþ+9 ìlLíIÒ‡à¶Lxþ›ÍáÓpÊ”´ý1 þžé«tÄÆ¡yåL¯ø§&Ôçý ûFß~ЇHÂ÷ÍõWãh¡†í/I}¨g]í°RŽâqÐZé⯉"ˆöîÊÔeÖjýc·Xö¸0j]KÉÿû4Ñf§ÔaôôÏ©° ìIZ- :ϪÉñŽ—F·hz¡aÏ(:µÝ´É;cõXÖ KÈU]w™.]ÛÖlÂ/SïÌžÓ ëäœIH{‡Ge:JSîQµ“‚1"Ê‘ú Å’Jð4RmIg+̾ŒW ÷ê°ç©}Ã=À¶ëiÊlb1¶µ+È Â[6ñ¡Ùlá …®A†nbº…õ˜áßRÐ"çDнþᬒMÁ²«Q(í£Ëóäþ¶!k¹y±`ŸW¿¦q…"Ÿ‰>AÆ@8ø>;k”ƒh§ý4¹ÆÌg˜›Ö°ÆT®¯­Âë…‚ØWöi\ô' W„béÒÜ]x‡yç¿ñÉb3‡Õ°¬urõTÿÔT2ÁiÍuDóA¬ÁjÒ^wªõí“g)ðÔXzY×M¡­R¼Æ–ÿb÷é¬Fdõêd¶wfÆìôo@[OZ«tlBjíÑÿùtQ±Š°ÔÏ ¿g•í›^ˆöú:œR.íÑ% AžŸRÎ~µvª'pmX‰²…ÎÙÕ=á¿¢ÅùX )C`âZ¢€~¨pS¯= Ù£†Xx@¢ž”£eà“b‘à"s =ÙW ¥ÛÎ^ÙÆ"¥ gÏÓ¾ÏWýŠÇÓ|­%c ½Qd»Æ‹ =ÿÌ–ºB'g¦iöd³uâýªÇj ï9w¡•|ÂŒïZB÷ÂpÄÎñ§ôMFø& ¯¬ów,ø ”¯~r-Šaçü½kKõàmØ•1Ò ùÈ,q@ ö2Ä Ê«6]_Qy­¶ü¾ÄH…ahè ™ê¡#ÙŸx¥óíŠ/,)Ü{³ée¢\Å÷Y¯%\äy4¬Ÿ1Ï-q€Žœê“ø–¡0Ð:dc9ç€ûáÀlíUãw»½“žøÎj©Ö?û8ŒàPË$!ÝÐWpAþ)K°Ì¾®t…‡ÃTN¯ÙðZr)[âPz@»øàG*BóÖE0ÔJ‡+!‡U²UÌ„I¤=&F> ªEÞpÌŽPüWh»,•Ãç6ÿÈ`óD1ø\ç×<£ø'à£è2wáºswfÉK!‹<ºªaIzÛZ&lÙZô)5ïãÜc áéBŽn(~Çô~°0c¨[ËÚŽ<—¾¥»x˜ššú -@ ~™C' ·é¨°wGcÚG VÉ0 ä[ÁQ<*¬iÞ¥{YÇSnY‡.ê:ÆÖ1Ò¬æü)’ÜÄi<Ï?¾°¹NRáSühºý"¹µ?U‚á2ì£Ójöß’‹!¤g…å^Æ¥ñ—>eœ›¢LÓÕW²in2SztyÞÏ òv¡Ã™Â‡bZ+fC5 qM¥Úµd®>öãz¨÷lðT䨤ÜþË|n™û£Ê&â»`›“ÉŒ™ãÑKœ>o»Ú}±6o{äPÌß¿T¨…OHðEÓÆmI~äñr3RÍF§MAû•oD‰Ö\Іc°å0à´«ÓÆ~DßÛHly@ä~@'¢9@&vŠ5(m }è r‘ÏM)0åíÆbëÆâ4Ôî*»uŒú½F°å î ›Øº“)Ò.^¿0˜ÉjçôÕ>œ¦ÚDz$>HˆÛi vƒ†C7áF…Ù'hå^Œ R‘3ø´…~G{ÜpÙi! Ür~úŽ ª%³ó¡ÒÀùˆQP—ð­‘.D»v[‡.` T]¤*Pí9í;ö#…PGù››Ð\GÞ@ç÷™0Í¢tõÔÓa3w.mŠòñ/õkŸáL®"¹žyÅ31W`"ËE¨þPo« ¯±ˆ‹ Ñ¬„*mZP!€Z—ïœÂiVý>±},¨qÄ·ÄIÂOAÛ¤C¬Þèes»¢€ÇøPè×VLzÁüÉÀi ®n Æ?ÇfZ®"ׯl^/WŸç¾o,lŸ¡OËû£ç:p ô Q*``2¢ÿ*ߪÿ¸? ¯ú¿UËìŠGñ]`J&¼rH`z¿0”²DªÙº€8L'D„§Ïc¡âI6‚rŸÀY]QÕy¿w$®û"[RãK_=Q€’†ØdËg 7Ø “Nä P|±€†¤ì-o`ú¶¾‰ë‹|ƒ @,ÉL6L…®·ìçóÉÈ ©õ‡gØX‰ã–¯^K×]CÏÿ­8GÎ]9ç2¬²£ä?ó±G ¬: ©ŸQ`g®ÌÖþr§ú +*Ô—c Ï%ù®7ü´ïB7ðp%í¸ŠeLiD7WuxLå»uõä@y?«E@6Pƒ=•àŠ|J«ë#„ZQ”Ïíö:ähÐ#Ìé+En»OŸ¤i?„œ+)7Ä*ÿUÓ%prpæ ‹Í[OP@§úê,L^ol¸ÛràˆšÞ-ÿSó5ÑÑ28ÕQ™TÛØ›jqZ#q1ÎýQþ˜ÌTɺùF”ÇMƒíe?¯Sñ³¦DV˜s—Iä66ã,Ÿæx6ƒ*†Ž)}ûCí¾ê+±ì9Â]¼ê`¾ú»%ûcK‹×_zã 7pýo’Yvß,‹åKá(§!ƒgˆ ‰ÂÓì)Cù¸Üä)ÑüM/Õû_Ä·²pP¤2^À|½þ¸ÕÍ4í»ôA!ŠyÆH³J/t4XTíÛ2kéÆÖ÷ØC³;p¹@~R Mýd9ÔÀµVX(±ƒ·4a«½ñƾKx Ú)ßÐ.ðXrsœ+Ž v| Æ]±ü±’<<`P“Éâ”s`dòø«p’x'$²‰N~î§Q(º…ùÀ‚UPÝ&™ )£ž" ÀmxžùiÚè°Gø|}™1nõ-Õù'˜O“N—»2'ãF>ô®Ûòx§®oP ðºªuXÝÃ[˜& ƒGÎÌg‡fÏ* Š,ŒQ‚Ä8{j" «ª( pýùÉ€DÖÇòx\°vþpäÑQ§Rß"½õûU°æ cräÀ³©ŽÚ„1û¼­>ÕK «eä‚Ó^9à@!™%k†Zdž÷ƒý| kÏ“ÖKðŠh…êUµg;f8òªœt¢ùv®P‰Ø¸ç€û–³{B"*•üM"ØpRo c`°»V¤ZöÀÛzú‰î£¾ô^–¢y£±bIvy褫üÛcïýð›´L ßÍÿï°Uú‹=ÚRš#W6ú»^8å4\ÇÅ牞8ð‰—ߟ›k£È<w,PãvX«_üû¹Ú4­¿9*/Ô;ìzo]¬€Dd„ß^彎w:™Û¥ @2½&9—Ý`OW`™GÍwÉÏAŽÔ™µÎ8ê¾ "šDÜ<§5N¾ú2³jÒG]+Š/vúw:RKûÐA³c–Òì‡D×0¼>+ñsMk0Q×»:Uþk‚4Å’{EÉÓû&+ŽíÒJF”Ó:Éö$̵ÕþúˆµpÓtœFéóº»d acJa(¥#¥©cll%”VêC΄î÷dL–Dÿ„"õ‹€IÃЕýz_ÂQÇæxάbÉå·¢w—TüŽU¾ÚÄ¥é÷ù1žlê)$÷NŽ­„¡÷’¶½HKÃ×~È¡ë„|U·h´Ó°þ¾B µÞÝ]þŒ€eÜ62eÑ 5ª­SêEÉ%gL>5z>>¿kÔ´±b&@-똜o¥×‚ö §G4A·x<wÊ÷³MèÌq¨ˆçIVuÊêf.•§ûо«h"£-½}uz2à|ˆåÌFw}WC7Í#q?Þ¯<%ƒd\\œ«ÜZÖ‘Ò¬”ð›Þ’ôïFÓ*-Y5ú7ªÀü‹(™/Ëz›/úøšG>]ò|Ã/ÀõvHhMžFäëÌÍ·+ c‹ÌràéBl?R9]€"·“S;7î‹„0AYÓoÂj®âåBG>Ï”'è 2ñ¢å•A•gQãZ¿h8…e_/ÚF4­ÚZÛhP®ïè+9›-«A4ë–å-†¥0#ö€uæÆžÍž%O̮߅#çÜÄëÝ/’b¦ÇÙŠ‹£¨¥¿¢Â ïGªÓ{·8GËèç:læƒ|눆Q&訢‰ôw®º l_ûAÛ¦þ 6tì_™Óœ¯Â¹¯W€2‡.Brdð' vé¹ÌD¯f1)Lbod‡—:H$T“Þš{ø5o"¬Òßz¡$0¹VŸ[[d¶íHuuU“Ε|ixY8t\w=õpûR£ÀMdZ)“_Í>f)n‚›ˆ›C´ä X½‡!îY!I9õÒ©ðôÑh7=GÁ¾V…1Àü`—ÃéfÝùc‘ê‘Õ©ç ì–ÒtŽ.ˆyv̈n»¡Æ‰Åãe@w' u6ZÛ2Qªïôp'V.iYöØaT9…ÁÜ—‰ÙÚ[·8}Ú\P+_\æRvè:ï&L=kvfõØ8 b â¥J5/L¸”©_ŽFÓᓘ±|tYÜ/~±ñéFIƒ‚|’¹ßf/px%÷ïéÎ+nSbCj궬Ò6ƒ„lÃî×gšuÜd=ߟZãúh¸«½‰î¿_o¥½¬Ä®no’/ÿ(¿ƒy\ø"+X­È€ž@äì¼ZA¨ 8µ+Æhñ01YBÖù}„FÀ7¤üÒmWÕyÑ2¨ëò¦¼µ‡@WdÁ"†ª©ñ&ÑþÈ1W¸}ódÌñip8ùYध å²äÎR;›âÕ?!N¬Ì g'9epÛ{Ú>àý*€{9¾v¹¸ÁG•œ¤2a¿‹6uøT…OüÚ$ïú¡ï­(1(Õl¾†ˆ °—”±hCÔ—åî‚§SD°ãá¬Ò2Õ £’:8åà­ìXt'þ«l8  a@¡Öè]k%Ð$öèžU¾9¨Þ&í3س;ø²[aƒáûˆ±d ¥®Ë¼áÜ!çÏÐ<-‚’h8oÐz¦P¹”«ª¼™AX`èh«LÉV¡?¶M÷1i„ô?K®Jø–{Ö)ÆóÓxÐ}*€ïbÒ¼wê^¤Íɿ툇e¹B§€Îþª‰~ƒ" Aü“/+M=‚ç–WŽÿØÑ”F±ì÷ –ÙŸÄË­ÎÂæ±Ð –”][Fp ;£Õ1³åHF[èNœß x¥ TiºØŠç9?§‰'^:‰5fÜpÒ™²{ÖŠ¶Ä¯Â[zÁ|ë³—cë[£Ç–<„Yd°¢Óˆóî÷Rc“Ò<ÄÚHœ1Ãû+Ľ+Öã @ÐpôŠ˜CµEU2BÌÝL{ >Ñvü4ùÈ—@eXäëØ o.ñ•Mç¹e²WIÉ(©é(/˜…æ©3c o’®žÅÿpKç·Ó~:‡J)ö½w¯ò|§pè7li˜ÓsIØ8>ˆxÇÝEÜWž¦zŽu…¿t„Ò ¼^Ü”ª[Mˆýâö/ØV”ç=’¹¸OO˜~h+A¨Qy§¢;bM(†¿O:K×­,Ÿ­h’tq+³Cp«Ì‹â›Vóï{xNzøÿ(Èàã nVuÓ¿µ‹n¬ìS)uoVÅurFë\_Etˆ­*°ꌺ(I¹ %ã¬>éɧ?§„¨D²Ø° ¹:g{@II /Û*LÎÛSå"Êð‘+ Ä=¼A¹Ð#'SËîÔ\‘Â(&f³XÜ=:nsG±ñph/cÃäfxœCgìè~¡ A&ûâjæÅË7«×8i Öù&4z (y‚™ðW4²MåáŒ!ë–ü¬hŒphß6é†Û1,“ˆÒŠ· †¶ãÊ Cþü±·;îLÔøË|WŒÈ Š“ v²µ µ·eQÁGeñ ‚YO¤%z ÚI=xª‰Âb°_Í‹³—+“ÑŒ¼î‡9ç=]ìÒ»Í`ò}׿Å9úú…Ž6ä ¤ä]¦Ö.B~.*øò„~ôÈsÖ){@63@¬áÙ43T”±óË ›øƒ+? ŸÉ-P×°±gõýÞÌ—^kf *‘W_~ÃKäÅ”Ó,Ô¯ÎQ³Lg·cè™™CO­þß«°’RJ¤‚=­¿ ÜœƒU½aÄzƒÜQ .E4aC½¼g ¸Os.#sZsÒŒ¼^±«ŠñTdaþ}QA83WkG¼ÊID×*'-–þ÷¡¬FbˆÝtL,¹î¥¯PƇ—¡áÇZ…'OžoG €Ó¬Z››‚eéA9„"ÿ ‹]ôÙäçph‰îÙê¬=ˆcPuûU>A^+è(Óov-ÙdÒ<ëgÅ0_mCU5ÓúëÝL3º£9ñÕ„| _­ˆ71?qJq*Éçà kÎO|¬–?×:A™–Òå™—CtFøšjè?smÚ1‰#Ft¥¢ÁÉ7”ûý6ì1y¼m;M.¤ˆ*ì\çýZ ôí t‘7F)£|IeÙùï4¥*2Û ó¹65‹aÇõ æ.íÜÛ{ã& ã†E¿á-»ðâ8p»v]«ä& ¢–ïœõŽ#¹=°…¼Kþ£M¬qçX» ^ƒ®-Š^G/Üs$3kZ„ŒÒ^u%®*MeO&kôV•&„î’;ê(_ED>­r1µt÷Ð(<³¬ÑâíÿÎQÕ!Š`ÏŽŒ£®7¹øÚ 6ÄÉ Œ-¸A}9甈¬”j,æaÎì8›R\ŒØ{´Ä”„ê ²LG¢ ë7hâ4jfT¸ ÒQäM™ôï{áÑÐÃа§¹V ß׸_Sø>´¡¾’Òö Í«3Üœ0ƒfÛÕxTz·Žœ^འs´…Î>ó¬äÝoàmvŸ¤Òé‡IæRÝ„s_É2Ì'0YWK1'°ÐÍ1 h 2-x\8“EòâHäã‘§7þíˆè©@QrYêbQf¸ÆzZöpšÔ¢–‡MÓOâ o’׌Ê'ÐͶ¥1gàüP½ 3à)62¯+Ñêïê:Oi4ÔÆ.…]Óü½ùË •a®Ôí¡>®tÞd€œ«‘ )·Ðâ`Çî™###{šÕm‘ßX,BD:'‚¾ëa·¿©éÊqœ”‘hñ @ñ}Кz¾eZMò…ë]5)ÿ#~‚/ÿ›ÿÍÛÇD«+[ÃNßÂæÖ¨^b7‹hîåq)‡†Ûâz½<èÏZFXTSëÝm‹“ÆÍÇv9^FiL‚#A»NÖßxx:öVR.Ò[l„–ìÄõöd@ žlÁ.Ù76Ûg.;Æ«¼µ´´¿­ûŸk9øÏŒ„š Ù6Ä"YFéÂ;‚>~à N š¿×¬1ä4ÕAå­¾œ±ì’•¹R[˜ßùZÈ™ð„iÝâGÊÒïžçZê>°°ú|îV\$¬í'ÍòÑHñݵý¢¡|ÞF82qœÜé3,*;õ6ßò«Ûκau Èx¥5‘´àMþ–dTÞU«¯’Â’„ §¼1|FÌMè^£µe‡Â;«aua¼0söã9ýýÎZb!„âã):©À±l‹—A‘,O +õFÅ=²ò¿aðY ã“žn1´4m#W¯`çø-ÈÅ«p~jroo]‚ý§Ø…„žÌ„RÚÀ¾ÎrTð+ŒÜ†sÅâzó$`Ê~äDymþotœß1C©zp¢rìÅÂÔ@ZzT/™¬»®Ðn[çNê™!ñK éP5q=ÌØ?[ØÜz¾·œ±ýì3´1KnŽWÑïú(˜ÁÇßj”ïg½áæ3T…›0’ñ–è–Mà­Û ¿eIý°ÞηЀè[w×­Í7¡¬êýn[®©_qÕ²‡J¹¸œ”õO§-¦|(NÅî¼_iÿ±£Oj$õ·ž °j°Ppª'gÎKQ?¼»_Tðøîv&ᤚfÖs T'nemèq™¾f†Ø-µùBØ @Ñ/áaÓH¤ªò3Û©ürN[êo)Q9#Õ 1t< š>ó{ãÚ€]í¤ðØÔÙÒ¸ ÍÂÝÈ´EÑ‚R59_ yÕ]Yåh¹zÊF§¹ö<p]ðZ Ñ_2 P]ƒ0·¨/­]°&бnà+®ª–S§ ¶,fìôC²[½úÈNú~ý×*OÕ˜›-¹ã$¦ßÎ!ƒ’Áó}¢¾hŠÁËx.•h਩Р©t»/ÿøÏ ê] j2*ñú)Ô:•ÞÚ9y_\–ï-2ˆ¢Ÿênžƒ5œ4§©°˜ÏhY÷mµOg]RÜŠ¥š“ª/Ž´z$ÊXB\Ýæ~Â9œž>")üü¢ì<+¬ßEûuõû*Õ,ÒÂíç:A Û C0cšŸ|$sª#–ÔÆQ(ß Wþô¼¤)ó)ö–¸³hÀ_¢J°¢9Ó­Ÿø„^™3â]î#ª„m÷jSFVçTèrÙÖÐù˜D=f|½~éQ~ZÌóL…Û¹½ÙiÉ}«U½Ý’¥dΩzÛ³½×{":Ӻ௢#£àÕרMfoa¢%MïJOIH#ª•0ŠuÑCBò]6½“#!aɹÐMi0Ôtçâš §<̈o qß-߆ß/ ®@3cZèKÜìz0‚VÇ­@æEÙ­Vhb†§¯{¥ÎK3b¾Ûrqgq¿—ÛZjÚjR7ÊØ¡EkwÈ\šE#–P¿Úpw.r9×Êü°y4SÇl-ñó?…VFíÄf‚ÑËúÔåßDoŸ’{žâ§·ó–5 ͦYŠÃ_tTƒÃeºbÔÈg=AR ã·Þ›Mp‡ä JÒl“FaFègI®ªD‹¤‘*G¯ßµ#@#[ŠyFªˆ™OEÍ]0â¸}{±;¶(…Ç@óV¿BÝÛ#ÇËGQ“XÇ1f“¡\ÀwKA:ŠG&žè/“Ìú·ÒyœRÙ[ý8kÕq; Œ2Ñ™ÙVF¶=si`Š´K…”Źéîm%HÞ!‰`J*‘ƒ€Á:jB^¯ˆK K|LÜløQÝoB¡¿¥K¾0V¤[$w7•aiO«[“0?†ó6D{Ý…§[éÏìÖ ûäÃsã7lƒüj‡ú¯qyBKN‹âLÁÙ¦u¢9ΦÒ•¾¸åý&µ·¾àÕòc‚Ýä |ïÒ)˜uTÝyF‚DD•2@IÀ‘«|Ï{šl§±æœè÷8ÆaR­pöOjé×ââ EÏ¿àr„UEèLßÇo;H£Ciqg¼ƒÒ ß”Ôé­ø@TWµ'†[~ñzÖÍÍ„ ~c6ce›Š×SžøòZMsÞé1ö‰¬ÙªL&˜Bý{ÑÜ`9/¸¤1Û\%ùëUÅßÿŽöÌk5SÄÞ(ÇÚŸƒøôÍ…ÕÓ×LÊ·³8³"½ŒICiÎË9½³ÿMUAD½µÊ2¸vsÜÁòª}%mõ•gÉwv@¬aAØÆñè;[òÔ+Þ‚8­ªÓ“µ1 ˆò!­¶Š×C‡‰YGëe*òÄoLÚ8H.]oˆO.3¹úÓ>¦–SëhŠö±Üt„F¸ýZf©pexW¤8ZÙ~k6ìjLšL8÷_°øÎWrÜxXZÇ 67›™Ä{ ÈWuî\ j¤¦éU+ïwÌcøŽ¡ÙÉÅÈï­ûº­Nå~(%èÇ«ÎZ!uUð¾}uC ¿¥’/¢Ví„‚gzy&ºFUzÜòIüèogM+>WpD BŒ•ÿÄš90åì•15†Cÿ¢"…w/(ÇGóÐ#ç¾=í_óOœ¶·-×EO/ºÿB/RÖýaª Ôa°—œßrâa`·ÓÙÏ~2/• —!¬¸AÞ8t÷¦/4*¥Y ZœÑÇrÚã×Ý%›„·7>ì§ãöß&tÕþ!Ò4?õ'®O©AæÌWô%؇ÁS!Yö@PCîHg;í·ošƒV-ºUŠ#‘÷˜3­~®_t¾ô·¹édåÇp¬0祱ûyèâæL'þÓ5Hù|å¢ÐÝÎêòw+Ò<õ4Á–ëbÜP9§ŽÀ…z†—úÅvþÉyºÇ_‹%XdÉVÛ¿SoXÎØ€œ¸úì®[¨r›w¿ƒóÑç ÅiÓghù@¶A ðæ1•qÿ¿el4Uµùž[U—ø…'wc¸Ê^I/ƒmŒª“U+ (è”¶7݇x‰×°*,ù¤û|ÒG*³;ÝUP"ßX«àØKÁÝmøaÉþ˜B›0Jhà]OЩR&è›áVy®Ï›Qúä$÷ꕾ…'謻6Up˜± H d¤ïþ”: v çiÔ´&{ /ñ®[-iïO¶¹QÀt}EJÃè~ëÜhÙ8Ú? ¡8ˆ2r‹ó¡ë׎M „þÈ;é¦íÝ—œ[ɦØ92)7þb@øû gñöÁÉ]¥)dã´ß«ªÚ€ 7·'õýŽb9ça¬…+t¿Mô\»:Á]dQ›ÀCÓ¿B_Kâp«;™ég€úŽm+ë$;ÈŒ3( BA&Gx.Bwé. €TH9è[ѪJÖBŒØ;RÒðÚ•³}fÉhZ¼ÆŠ‘Ÿ>V¨+¹–#†܉…mš ¤çXz›qÑÑ[Ì`[ ò Ð^3ÔQ.À®µä„:Ÿ²`™QƒçÀýên©EûV¹=on½nÌùYá{Ù†9n¸ÒÒ¸‡½a<Ë6ÜöƒLVžæ3¹é /0| 3àÛÜÏ5uàl~-0”‹Yž ´ïUXÛ¢•Ü{ÜÓ©,qÞןF¬¦åßWw–¼’þƒÏ§ÑöE×Ü'f¯’·;=†!èÜœîš`À"‰ ¸tÕ¾\Á³?ÙÓ‰?}u”‰rá!ÆÚvåTÃi¼‘Âõl†*&ö½eÏ(ŽÒg“Á* Þ±z@ÉèGòEΑ­›®þI‹{éÀZL÷qJÍÚL_êÙ„žŸUÝC&6ÒÛæŒ—éb€ªZi´£ˆ\—d‹°3_¸%î»ÇÑù~ ¨€@÷Â/ðD ¬ÞèœÉ…#{tÍpÒÅî ¨· }yT²õÒ°äazV#³ nÄ‚æ¦oÓÃŒŽ#òÞ¹äöD®[}0œ ::m­®Wqˆú‘ V.6‡@ HŒ5 ØnH–èBUÃ}©A¦Š^vóáý} w×€ÈUýˆñ!öÚÃ'„á’°c²k$Ë}_à†œ8øG¼TSSíÆ©Ü0rUs æF’¬ÎwÏò)œÚ‘Ï9x÷lUÏáµ¹{X~Ò±Una9pU >ëØÓn¦i)g«Ð[ú;náš‚uWÑ*ÈÊ£µlÃ!Åï—W.ÂX·“ñ éòÖü½wW¿–v«à0Çt•EzŸH^zQIUwIó~ðª,Â?¼Ë¢Äã?2r®XÔ\py5ËÆ¥2ZÍ,•rs8[ƒ5gÊA½]€7ªË ×6…±p ™äÚ£“ñç!¯Ç.ušÓNų¼½V&<æ c©Ï@Ú¢—¿Ò'(¡ÅT†{ÀFõ©lü`%Aº5…‘µudYAM,çðiÆŸ;HÙ|†:¡9êÎ'çÏãÖeåòàª0"2É× c&„°1÷7㥰}¸ Š5¶:Á6ÒW·äàó¾ë%Ðæ”àG®p͈]æÜÅr¬`ÜWœƒ pNK‹DÑ Ÿ|t,ˆEÞÇÍý?‡Ôé1´ê¯é1²§¥ØÛ™Hj?Äì‹´=÷‚1 Vöyœ,2Ž€c¹ZŸÎ« dÆbÀkÝÄûçHUQËàÖoëQã«ð£Üˆ62§V:ª-ïúè—]2£lií#Ÿ·øéeÔ¥ƒý™¡µMQIk¯Üý>TÈ™»J––~r#'°Þ—:¦’ ; Ñ—üˆ³–„X sS# ãcFJ^ì-ëm8n",P…y¨Î¨$¸7JÀ6ðßyvÕ'º5“ᚃaÄûn²D‰4Ÿ¦8¾Ý»òegF&Û7ë,°Ó¼Dfã«Õç`ý¬;yNûzÖD®ûV>xcŸ½í£Qºœïª©bvJŒMú|Ê3æÝqFà `tÝ÷2¡²å‡ð`òù·—B-q%ãÐ4‚ùbË ¥æ¥;êa˜¬*_pdùÄô÷§ÈNÇ~láhœ”Ô{Ä(†¦ K£N'r—µàBÐm1ìj›W?tmëþ?zG¡p“ ƒâ¹fÅÊÁ‡FÊÇkô™Ÿ×y„p’݉á'ŽÜë=9y,kŒ}˜¶óDZ ¿Å¥?¤wÅ$ò‘vï®±¬}ò •«Ù…ïÆ Žç9Ù“½{ÇIŸ¸± ñ„jœŠß‚AÙÚu :BØ,¤'¹wcYÎ ;È› Ø…Þù`¥’®_xÑ¥ ë’JUo¢ tüZ;샟Ï>jÆà5rÆû>ø?f]…ûª"| êÄ@ëx°n}+n¹e¥&íŒ-ÊgtWN1qª‡O&䡞>^Š™ýƉ´%)ë>§u–·M±ï/CéÀ‘P-êñ^ÃÀª¢™â$D5žmgý&jÊ÷÷J€ÏÜÔìÄL‚a‚°oÕuQæRþdÔEve(t{xzßňSF™¹?WVÿC‡]~H"“Ã’bëôåø2r¹Âóö´G¸½ ˜ÐP¾!|ýl¥ë!*\~‘³ðâDR;«@.óUÿö™^‘õ¶+ho4iº½ÄÎÎ3Z±¯MàHö]¸(£¥˜JBÍ»½Àût×ðmt˜åIì›t^RcÍIº†× ´ì˜ã6£© Øž6éOêÐ÷ómÌt—L.cª›&¤'è”æ ‚=€_×`ßåûûDà °`Ì*ª\üö;ÍØo+ƒÿHsÁprUP1½”NÒÐq—)êNßÁß"=Ï"â qÐÄD#Ó¾´ÖB`€Åç&Àü‡Ö™Ì´†ƒ‚&5jºôÃû¢B‚F*?©˜çÁÑ}]ˆˆüÅJzÃ'…wJ£0Èøx4<;M­– ŽÆ9l-³”8.²SéUÕª=x³ÕV,idœºÒ²Ó Ñ…:·iVãÒ»zÁ&‡Ö¦x~=Ëw«ýÙ÷U|¬t2”"Y *Ç…M`¥÷óÙìÅc4Ã}©ÁýÖy$*jÅ` ûÜZÛSŽã•R?`uDDZðN5÷Ú#lÿ&pyí…'SªVGY]'g¼Ô=ÀWüõ@¢B¸Ñoâ,"dÒ«)WwÄFÂêÐmÜWþ¬ÜS‚syÖGÿR‘ªñù™ðŸ[h“ØsÜ-Q Oº–ù6¬Ö+Uxï´]û,˘ø;^5fže/¡À; ™_—–®iÊpX&þÃ:˜Ñ µ¨—•›&ò· ÀÛÕ†Gt¿Ð¬u(ç¸ñ¼ o.ÞFGGûbá2Žãˆ{ü­¤9J|imìúp…Â!I†zÞùyæ¥õð´B©!­«Ž¥I8áˆds“µj{ü(%?Gø“óc+ênÂãëR²‰oQ(±´LèA5¾„j ZkŽÉ³ÕÚQ?ÒrA† 6V˜ö¯E±#Ÿ4*ýüÍ_-ÃðºÒ¹f¢ ÐN• èzo8… &Ô[E¼œ.ZäehûÁlV·DJ·úåÒ½M¯NÔŒnÉÌmÙ#•…©†™fÍF‹Ø÷O·â%¤o”Œé¹ž‹ ü}î±½Ÿ4#ôБ»5O³•#¥˜¡“)}4 •0cj*g’[éØëÁ.tòE’QV‰lÇÏãJÁJÛõ7èŒÎÓ !«Ç6C•‚XÚ‹ÄÏ5B\fiA$Y!.s—ýN÷ˆe(ÓÇC!µÕôÃŒºµöá¯apõnçý`‰¨kõVR©<^¿ÿ¹ ÇMû©hFHÑ#}=Râ̹óŽ?Ã Ç—ÈÆýx’%X"È~·ö—Ä€ãŽ^»á>€Ý1|EüŸJÂÜ\‰øØ>+µõÐ¥¶‹áØÕ{²Å’MúÅÌ#&tå¶Céź³Pˆûì[±kŠûø@‹xк×ÞìŽoÖO’ƾPnôŽÕîŸÀWn)ÛÍM‹fŠÅNYëÎk"õìøÏ À¾¯mpòè$A7Žçbé›DBEKà,¥OuÖ]í®Ëw"AÑà¹a]{ËÚÛáDlÊ:æs¢6¯œC2È…Ûcóge$æ·x6%¢ÐXFQHÕ­yöo9EYWÒ©Ûòè°ßgÛhG©‘á‡êÓ»ð¶9‡kvŠe¤Qö/”Onß_®Óëí±³ßa8ïý‡àÓé hØ5ª Ü:ZªcÂúš( Ùˆ•ȯ¬§Ìë ÇRáàÊ»`¸OëqRâ„ÿCMŽC}¿)¨såÿé€ÉãÁ_O ã™j¸ƒøžbÍÜ5aŽl#¢ð@WK7ósõ°×Á]­›Ú¯GÞ‰±Ïa7N«¢CTøWdYoÿÆ‚þfÙhG ‰·q»dBwÉ×1dã‚w´ñÉH…§_.}ê[QKHܱ‰nšƒÇÂô¹‘xpk¡¹ØäûžaæoZHø .å¢W€vœÉ ‹áGo/Ùô£ˆªšüÛ‡N£«†abãR2Çç\ÎsPš¹°M“þv½K¾|ÏW%ñ”¡<Ü`i2.É Ç?«v£2²€- ¢ÈÈAg]x¾_ý\ U•õâ¿:1¿ÎB‘ƒí\AèV€j­ÜIT°¿_úRY£; w,ø*ËWdI\¾ÝÏw~Õ 9<Ë@’Ú7N”Õ¥ ­³ßý)‚þTËN:}(åè'Ô‰‘#5îI—Œ :-¾ìqX,ÅÈ|ÚqZ`G³)V}——j Ǽ³¨s'Sk€N´D)GcæÐÅ™Pbc{¿!£viÈ,®š3™pkMbÃ:ærì¬/òÎ%…ÓF½%S#†ÈW_:Õ)¿L¯i"¦3,YíUH”ЦTÉHp…‰¸—µ©ý‡·2ËlGá“Oý–2ïWèQžúXs’Ïtcºšx¾YÆ“lq 7‰Q÷p‹Ž´z“«®@ÀSwsÚ~û ’@ óÖpÙ¨vî«5õë8oXÅGµkô1þ5¤)î.@lá<ÿé—}¹‡°?Sõbâ*,Æ[×uìL¿„LF¹ü°Yße¯ ט3,ÍMî£ãîpjŽ~ª6¼F£€¥¦AËÝär•硽ùª68·bñìðÏÍqÅÌpQE+äçí0BîÞéáÈ™­èÜO7^òžO#yØèõ\íüØ]üø,Yoªòޏ1"¾½H_ÃC¬!uÕ² wz€×7iLB…Nñ¸3²lmfîíw­:Tˆ•¼ø‹@˜'Ä•H¹Ì`£ÿûHGÕŽ[_‹¯EDW  °ÝMÛ‡÷ßÁú .r O×/?@k´AMµˆžù¢‰.yœÔrFOÐÒZ¿ŒíÓÄ»?Wugp¡‡~¯¨¾8=Ô`ð‚œ*^¸‰Ô%;<·ÁP¶TÚÿM‰‘·1=Î'µžM zs}5³êê]~T>é»hÑm·¨}›÷Ý$µ.JAçØäø>ÂÛõ¸ 4žÒ*\>8!ï[²áJ©9^;§<Ì/ÑZwK)ÝÑ£H„Ñ´‹C|øÜ¿Š‹åm»¬í:–¢8p \Y¾»–F‡hú2X£Ê ›Ö.m«þ7HtM2,ŠM¬‘où2ù„OÕÙölwœCŠ‚ðÉDy#"ò}¨vsu±l¦ÿ!K"\¼{fgo²^âÚ¾Ùe0s²RcSüƒç§·0ÙPvt%é¼:Êoq¨c\8ðé|iÀÕßÚ€fä¯a˜s¡¢#1;Mì) 2/•Óuú ¯RÁ6:`Ób$l0ø È$‰ñ"Ûu;ÐE>‰²GÈËqè—ê䌴¡¼ÓÄF/}›ÆPeÖåÎÅ#ú›ƒQ%ÿuaµy$¸òT¥™_=Þþ,XüçÌ«KJâÃõ»fûÔ2zˆnpK žÓàÐêXZ?Ä÷ÑÀpóãôp&A¡ÜŽU´SAÃ>xœj ýûCU" ëèçëÌ äRcA±+!ÆŒ0NÊYõm—f¬ˆ¼ëh : ”ô;2ð¹s[ôB}Ë(¯ùs@LI\‡1'ÊI{2áÙ—Öm¨4:rL‡;íÀ_8¨Ø=h5îc ñÖB-Už×æ{Ÿæþwú©f©~‚­®è¡yÄŸüÙm»S©5gDC’<ݼÐÎ>DœÈJÐôtø¥Ôž/$|V¿9×g^…}Åž$xêjb¼ °õù€ÌAÎmùÇR¯ÃðyÛê~VZ̈˜¬ÿý£’nÍB °áE° N @6¯XivŽãß½žjm%-È´C˜Ÿ‹—¡‡l1Cº%ÏmˆuHÝ/è Ðáø~É£)ÐóS$XkŠ=îŠÓX€6–þÈÑŒö’úoh#ãÚü:°fH‡f¯ÅaÊSI¼+Û(&ÿ*UË·†§`Úz8˜WÙ¥õ솪F(OeP¹ý¦øžhjœ;¹õÓ1ª¡N †Å.±çú½¡‹>¸c‹¡ÔÚÎÕJ•¢ P-™×ˆ]fîN££dGz×âœ`¼•;„›~€€ü¾§†Åc% VÜ~é7`fµÈþÅNX„¤o?ã­2¸GCm)÷ˆjãUuz$K^%|ìpæe¾ñêJ+‰Â£ ó4ý¾²¶á2Z]•Ëá6@d ¿öpMŒÿ™b†B”@\ Çða‡£É VÉ™òvç1q°=òÇrÿ\ž§Ï-XL($‚Ç4r”è (O·Îâ"*Êö:‰Áéùâš¾Îæú=÷œîÒ½[™Ê]'å1‘ÀŽâ]4ˆ°÷œ'Œ [Û7SÑ?_|†'ç<ÛýóЉ7ïäZIAp”vƒ5ù5†Y<©fÅʑ–Ì!~~(ºó T#Ã#oÞÿwöæ ׄøPïˆË²õ÷Ç2_qœÑ2sû˜Î$ï:TÞEX¢Aeˆ+d=F°-“{Q’r/ïgÌï7aCKÀQ¸>á‰Àãj’‹m’NipðçèoÚ‘7dM¯Í¤Û‡ià=Ÿ£”Ð<¿RájƒÆ…kgÕ Ds±©—3õ¬äÛ ¢ Ý ¶’á`VꦧžˆzC@ÀÝ„€½þ€%ËU¶^þh G£ ê ï¹€ÊÁk›@Æû{¶ •D¸î6ø0ôc`‹|FÑo~˜Ùþ{<ºÌTšvh4þ¼àŒ±’ƒ/PIdâtá€L%•%ô²«]üÊŶNî“<#æå%¥%}–5’˜ÿpÙ¸!Í ÝÏ€%kŠ&šÁè eá…3WÈË2±o¾ž¼ûÇh/ã°þá3Jíw¡$ÁÚfNj<—ðâÙÓPš´ #R¥ÊpMfü eÂIw<Õù”eü÷”3áŸCšmhXy¹Ï!eÕ¾\ª%¦ì'&Y²Våj¯ƒ#Ù’ ›4“¼ë{?Ïôû÷f\âý¾¾éõŸ­ð\izÃë'!_ÑÚúïâíˆQ¾ki(—ùãPåfy=9ËòÆý͹1ŽN\:ÏVBÏ`Y%71y‡^T;·B RHD×(„œ_x+õ6"…ZÑ«Œh«8zÊPºà„ÔzŒNñ­”ØmòÊSôCÄžG:goÓÒÊ_ªBv7YÝÜòlÇýYÖòo·`l× ¿>&å°\6Þ‘ˆ[ñz ï ðËÎæ}¤””(w6 1÷Y.#ŠùØÝ1€‰çhßtaôÛwu¿%ò7 «!î °$  ~Õû¬'Ÿ-{9¡:D¦xYØ ‡n6X?a§î¡`Öº†Ñ¬‘ e[Ý‹‡´8Å›‘$ý¾w¾‰úˆUë±r‘Ï?CºT¯&„¿EÑ,d¨“ÂìmÇ|þa×SçàپݥeíÁªÊA_þÓÏUð…êYÊåó}È,6 w?DOQw­ruºé3‡Š?ÿ[¼øþØNè<þ‰šM»£@UËa¹c_g›œ_¼ZgNâÊޏ«PÕîrN ‘KO¥èë§œ¸;¤å|·‡îNk(GèäÁm¶¨’„‘VßÐWðí"ÞYEÓe±l&¦²1ýÐÇ›Xä»f%ú%ô'…G~|Ãc̸Õ1 ÒØdèá?Ï­ å%®Ó3æN†ò̤‹•hPjxÄÕs%´&}-wFOGà^¨œÃ4ÜœøsG2/~Ù#rùįtx¼¦œy/ÅÇ0”L÷o „|Ó:ÄïŠM-Õé*ƒòf: >—ç/„ ÜoO±T›X«;®ð×m`¯8YÇtt/Þ„ùœÜ’P%ÔVØŸ´AÄH¦|—vÜGŽjñ<ÿY=\…슬H‰p y”nýÞqR-|õWHµûu'?£¤À(;e™Oø%(£:M”$„ê\ôÆñˆ¦ÒÎ&‚±ÜÛœ^åáØ,W`Jqƒ8#›h3œì-œ7W¼Vꌚ<f5j†"ãÕ5,øÍUò6£ÿè$°¹ÖoMóÛ›JÙCö˜¯|쀬gë¤QEÆ!;9O|šÇkoᙽûAÁÜÎytç·ßÐu‘*œU¸l„u:ôjÈ@`«Îl¬ ħ € =N¯…G]:¸ËSnWá7AýT¤ºf6§,-‰ì†F þmðÙPH ätNòÚikƒw¥%¸g¹DQ äï9±o*ZüòP ZÉ9úzÒ3Kyƒ^ø+WÄ!4ˆJ³ZÐÐF¬•ú55$‡»M‰¥æ 5Œ—üšÀ75ÛµŽòÕ]#YG,¹~!í©ô˜ žbPøÕ¬Ø ÌÔ²Áš'gíšj,? €´°f§«Ÿ_Áß•§û©¥Ú+—N û;@z’™—ïÑ´ ºíª%"çê"*µÏµÑ×Å]7êZ8`µßc÷»wŸÓè•9 MX¦¿P’q¹^l›ÙŠ4Œƒjí nìHúÖ™?Ê·YõC‘ [=FåiBÙ–ãš¹C6=ƒƒ«¨º¸ˆÆ 6Ü2±$z0y]MFž.Þœ¨‰áç6 ¾Z¢XJ.—›,iÏç˜íP¢‚‚wqÕaƒø–²*½}ãPVü‰ ±ÉÉF£N }f]…)~ rfòªËc ¤ÞÝï!•±x‚_FIW÷ô È5ZÒRà™<œ‰ò‰u…g &ª¾ÄËâ¬E¨ôüäÁ-ýé:sà”Έ¸ó•pMÕŠ&•ÇE”iÃ0Ö´¹ …†}/æKœí4ù TÄx6$Û°²NWûyÁç^ðà6¸@#úÇ`ç5½ù¸`¼3Å í)‚ ƒRÐçhVFh™È—}Öc¡8ªÕB¯ÿì ‚OÛaŒº>’½<¸9V– Z«œ¸Õ6³ØWYÚº›*ª¼<ØššãëLpwO7ZŽŸTßýrŸ 1(Ì«Ç M,¶@â ô^+ƒ 4×¶á2‚¦Îç±~•Ź^£në.îš1I(ýý§ûHø*­#ìOßnHL«I»Ø‚€€iV#.“ÚmÓ-ÿ…S¬H]s_G‹^“PQÕ´.,瀼ãkÅ8ï™Â_îµ—*ôqÒd¤Tï¶H£6 WgB&_'ºZ»90D É¦˜HÊ÷¦z/OþŸY_G¤`Ón°ÎÉT2ˆ/SEO¡LoX‡Á¹¯˜U¿Ç8 ÓÚ“x@bn,þß_L~^àU©Ç‹c â=Çg¢Ý¾àÕõé%æI±ò i‘gL¬?ü¼_·~{  -q‘’7ëdÔ¡Ä1ü¼»!°aˆ•Ÿ"[D7(±F…)0!´ŠôG1ëx½‘ׯα7á}”—íˆkH·T´u'ûîܹc¦þñSáQHlÉ4®Š ›µ¹ê÷#åA`j<Õº_ >)~GxÅ¥½C;õ‘I9MÌYîÆ$¿áÛNþÇ‹çKϾ–ª Y™]*‚ÈÇMœ‡ê’¹Rü‹Î¿ç .âSo{ëè—ȨCœ+J²OJ£Jô/ÄèÁßIê–[ù&žAµàô*½XÜÐ9§ePø~Q_EI@Cj]²Ã»®ÿ+Dr¢Zø¢)â7Þ}•õëDªyðO‹Òöb;£ààP¤Fßõal6ü ‘u{ü˜ûÞL…pÖ 2ø@æÅ¯¤·ÒžºÑÛ‹;ò*hxÃÀ½"'P}å\½Zü6QQÊV]ˆÙÕîçåeZ*-1L ¼1Ú:1õU”|Áéáœ>8Ù|sÉ,æ¿ëš— T–ïñU ¾ËRyDúïÕœbmGUÉãôC&Íq ƒ6eBÆ«ôPÍŸñ©å’$¹ä5X6ÐÚõ¥(•îawSéúzëLÖ‹y:вòO½a:‚éèmwSÖ «ë•naª“C°JoßT÷Ǩj¹îœ¥ÝGÀ?£átÇzR;ô´;öNÈærß[K˜¥Îš9« ›¼¢Õ²kvïJöVÿÇ‚íñ?ÉÛ”ðe®A]ÅS&‚©~…aawè˜.>ÕŽæ{ÆCø<í_1 ö²*b?®(¼‡@¨‡d£ƒé»¦ƒ.ösΡVÙ=¶y ù¶Öl×£êÜ\ÇÑdzt­§ëݲ ™€gnVÝh£Úˆþ£z–*€»* x „&‘Túž3.¨“Ü Õ¡ŠCß\E• aÄy™gpÆDvÖT/ÏSçP;‚Äç MƒŸQT—¨!M^ïèݲ‚°öòiOÉS &ûx£z›ú¡E‰×>º(Y mÏÒÕéh–ù}xRæ'êE™û~Ü[ öãØK2P]¬ a«I&¢ô²Bò¾ã0Œ œ¶«ùÀ¢ÌVFX­¦—šç ‹ ¤™J…ÿƈäLTCä„ãe*µ–;<¸càÏIŸz€A^­¬†ó%éGŠû®Òš á)îw𒪙‡\_ñŸí¨ÊÚ CeNÙ£ˆZ ÜöüÙÜJÇðovc¾Aëóõ¹XG”½«$fÃÍû jƒÛh nÅÁè¡buL¦¨Â3CQ=^ü[1¥Ù”ÜvÉr³²ô=dó(¶a) ^á=Û­§â/:×´-§»!ºL:²I ¥´(ÑR>uðF@’ÉQ,›ø Ö‹ê“@bÀæŠ(SÕ ì¥ª”ðCª†™æ5Üš)l[Œ³9ÐÊ*- ¥{ýáæ¾3Q³»QÛ5´ Bšº9;ŒÊô!Å>hZÃ_.çï ûwæž™Rë¶Ãát¯|â;ØöCDLhʰÉö5èïs¤,îIƒw"×­[3™aâG\œ8k* m刢Læ1›üØmU<Ù >ª›?½á ÝçòÊý&ÃÕø4=Ï®‚0xbf*ÑÔ$5ά}a€{ê‰åײ4 ÀÆ„Vi¸–›×hyK³Œ`íÉ®B.¨%¢·ãrÈ(°@=hŽO©üÛž‘¹¹ÑjÈÑ+31Éa˜"§+=&Hä v¹k°Nxy„/·íq>vž©%WëƒÉ‘¡[©¾ZI1çG¦. :Ÿ^ ¤ÆcéO÷ÖË/™ð•Neéb á¥9Zr¹Õ?gXë}P ]3žUv¨¤ëƒÞ20…V8ƒŒjShÞð­Ê7f–nÅ›ø)Žà‚e›ø€¦‚`œPTƒ«àŠ?i ºÑj‚U÷øy‘8½ f”<=â•ÍŠ’‡#2#Ý ãózŸr„ñ)Rkb‹à:«…-·ãIÕË—)4Ý“ü¢·Ë¨¢…O:,ÏeGÖ,9ƒüRØúÿù÷ÊÉ% #0€PdÀè¦ðA¡ €ünÞÜ(Æ5¨]U-åaSe>K©ÿ¦±T_+vLÍè •0?­·^SI(3è8ã´Û7ºÏg«Hä šsÜͤ³o ô/PFXmã× SêœkJ¤ÊØ×ŽÅm¶¼vH¯8Ö‹˜Âï;ÔiÆ ¢‰ÞD‰@ãpòÞo B"ª‘û§>Â6+uvÀÇf¶fàXPìbâ—xÖd}²D ¾[‘£ ?‰„­Zy}f¨üëö[ŸöÊÄ[)¬Á²Ûˆ…'ÐÅÓ¼,rnÜ Ç­êbÿ)!“ee¬:é-‰öԳχï8i£\’:Ò½'¨ðãˆaײs¹¤ ­…DŒ6ka²H+òk›˜-4ææùÛbŸŽt¤«ûo›gø=KŸö³í4æÙ¬§–x‹85ëå€a ÈžÃiã(úFKvœ¹ålUr–¬k ñ‘'gÉ÷g+ðÿÓ2ÊqJ &ò)Qäqñ?ÕRJ |ŒQÞi´-îCõ Kh@š½úÐÙÁU¨O»§tìߺXß²å1è x9{ÛåW‰ê¬J+ôo×G tÀ9sä.Ò9)Á‹u¡Ës¿§DÉ0jñÔ¸PþúEN&ˆƒäð±Á‘ù;úSÎù=<9~sD9.'mö š—´³¿æR­ ä<”%oßÝœ§s¤Tàì™ Ò]9ŸœÜºÓ—¥ygW_"¿†OÆþ¢FŒLKvNõ[‘èžÎõã_Kõ9Sy½¯^bŠö¨>-ŸnÐI}}&ºé“ïF€÷«ª{nR•vzLp/Ô°:tþ‰Ë\Y'”•ÜÌ“}@x¥G h‘Ä!oúyŸ^êmR×!l‰™,z¶Uf¶­x›ªI­¯§¬Ú½$]ª0sPóÓÝÿôÏ"¸t¸`Žl=uÚ¼-N})çš?'®Ú_ÍÁ¤c±Å6/)B Ü-Ñ‚é0 Vòpü4Í-]ylÚ÷Îý¸ ìZØô 'E~µøê¹•'È[–p^ßΨWßýË&Ê“·~eiÀ¸‹ˆî ²0uXûÌM1£Byhˆ¹¿Ï½"áêpZìËlD ?5õ\4z=æ sô5ážœ¿„=èpÛ´âJ\ÏÞû'xa o#­X#ÅôsϘÑ%5lC^îÛú€O]Ht¾…Ôó’“-gÇ£ü? Lþ m!˯٬証®2è÷¼<ì~xy7‹FkÖQÛÎéçÄW1$Qhpë͌@\¤’©ò€"[yÝÉÇaˆÌõ¨F%’Ñ.7†¸N>ê8ײ—dxﯯyül±§ºŽ¹¤uoWØ^R5ºA£¶uK0 ?;›!>y(9Ë­{ ƃ³·ËÐ>Hµ×£;  n[J'Àÿ[Ûîé-$õÂ=<Þ(k6‰˜ò[-“Q?šGAyóàÇ^³MOâdF— ž Ž9,ÖFµ²#3zœõÎý!lçãgóM¿W,ž°p9Z>5õËNŽ›xÚC8d‹Þ®EÕçX"_ý22Ìh[7ÖE—Ÿ ‰YÌ“{g–¯LKÏ‚|›ÒG|Vøjfò&ûàl&š®ÈÃìrðÎ÷Ìç’ý®;î)Ý Ìí¼ü8.8^0C¡Ÿ”ÌjFôF v#ô•ÿcSâ7Ô4ë–[øÿP)b‰P"™õÐÂó‰i.Iþ=NRE$mÔ˦ތôk}Rçï¶«÷a/ã1u‹wÏ õÝWšƒ¾$R»£– »5ºÅ#iéV¦­ XnpHẂ2€•_R>õ"çAé;×Ç.Êùd'¢óM4Îàä~ ³Ãkak}«Ì&挫½þ¦:ôˆ'Ij:Óž |©ÒPëªP¹ùÞŽËb<:Bé'W. ‚óDoØTrðï%OH»¥v‡‹gaíôíKõð£Ý M†WJéqø‚"“6Š—ˆ Ó;Ö¥b!¹%†‰R=Òƒé „ö×Ķ>¢I\FZOYñöø1:$ýNc;<#“RÒfµöH½ª¾•îbxÒ23Êdz# ¾†„P¹bå8ô:{ùVÞ43ñ®˜^j5_Z¾ëƒ5EÄ,ÇÃYFáÂÜEóK™"VSoi|sÓN¸U=%{¢ÏŒN¯=`ý$Îä絕ýÖîó6}é¦G¥6]þÚZrHGJ>ûÓeË‚_ Àد-X¯‚úsÕ„ )ç˜w¡ˆTBÎ󮬙ìñ,¹V0ãÊ!Uo1nI#¸ÂødO¶ðª:M,-Ýc@VöΊ®hH¢{š÷ÑeÌÔ®ÍSКNS='}µpmLb¤““u=¡cÉ] üþk•TÙÝ’¶PåN´ýa<¡ Œ7”ÖÏCНQß‹™›ß*h— ( Ÿ³K3·ßèž_x O@+Þú#;zEsëÖ&/$ümyÕ˜G€½ó?&ò¬…TÉóÆ\ïÁá°‚7…t%xiÑUŠüþ %…ˆLÍ·ù¸N< ZCÁ;Lš^vÎ#Ñä°Ð°š˜yýè—KIš,Á!9äUkVÑV;ê"›Ì v”"¸”£É4Žô 1†”±“Ýÿ¡¨Ñ€ÛÓ߈úÈ_d2T­RÒÕ Ÿ—Ì.£¯„{üßÖ'²a牞­èàkÀb(°²Ûª·.ÏV¯}¡.XõgÌ‚‰þ‚Òz˜ŸÈ tû¡¿¤!ß-WŸî&4RŽ ñ¿A¹Ñ§qþWØ7Km–‡ë©¯uâ.F>ï´ÅEXóu¬ÿå`òê]øk¬†D2,Ì·Ê_ Ÿà¯Wô׿ÂþÖvOº(³ŽJˆOZ¬Sµà8=¨Eé²jV˜®»SZÌ‹„“ ×1™I7öðQ¼;sêódb:ô¡öò\Ÿ¯ü*ÂòEE†PñÀé% ÛýH½š¦ EÂe?/Rb Á™ÝQ];Ó?nôØ*é ytqŸÕ Ú-“}[8ñ’ý·ê°ûÌùË|’‰=¼`û £ú ‡•·“&‡özï¹ÏÊlîÕ ×;Uµ‚8,Òpæ m•ý½¾âB½’ë‚ÍèÚ¹55«£ü#_b¦‡êÌ@&b-WÐè:ó‚†j=б@¯ú"G|¢—²²8>Hš÷«úê àC±£KÍE_–…iä¢ú4<Ž•4¶Ü¶äùØBùsÝl¡ü´ÎxÁe‘ÉXڱCíXöKd¿>ä‡ÓnõïDK?=D.vi¾nFÿ{®Þ%sEú»A§ çFâEø³á—·ÈËFû1, ÷;C¤gö­É4àòˆ’G)¯*§ÑÿVÒGá¾$2Äpè­+6¢9l´[pÛ,Á¾ k´¶‹N,([ð1`§²/P‡ÂÀš×e·F5û€·zVšõØzša¤ÎÓ¨F}ðŽ„ûSlé·õNƒŸãtI F>JÇ]ž¨WQö“âFVPZ­5 L¯’š|eù Wr+Òp¥Š× u)wÊ÷愨ažìx;Ùn"ú*²ÐšÏlÑk.¿1T QZ™0›a‰Âñ?WÄntz*n±Ñ+Þï~¾·¬TcÄN#¡¾âÁ¯/¦rSN-·Îh¨KZKn£ê0*~/9îÎ× ??H©1jͲ\æK»—åB]è158CSÝ4T'I,ã'ÙÆÀ(¤Çž#ÕQ+x094[2nwÞüpw¹ÉC»¼µ×íHŽ¥â4ÔÒÇRlÔúcí…’iN1ì-›‹j ÒVhø¿êhÜk¢~œð–‡ð2¸Ì¾§2ˆTŒ”ˆ8ùIbl4¶KY€/ ²€LÖØpŸÅ Þl»Ö­¦lƒ¯/}±7Bßžâc]j…xç¼q²×ƒ0_zÇá.¯¸’mˆ7ÔÖo±Z€ý?‘óÑS ¯ƒšHp _¤ºRΙ®XU`JbÍÓtœ' ¿Þù»—àæ¼ªèáT¹ú¶ãéõO¬ô ³  ­Š3¯}×·8Ÿ?¼æ;‚Ì*^µ8°Ý©“(}Wõ«ƒêEàÐÞm–3ÆlߤõßWÏ üò¨èìºPl/¸ÒãàÜ7^·ÊùüÆoi•c$BôŠuòwÝ7È ¸T}ŒA½9΃زƒ‘*zŠ o·ðžêÇØvÛ?š¿uÚö¨vèrß|*îe£Éé®ÉIšitÆŽÃ*µÜÍUÓö#EÑhÙ‰Qñ;^œBþŒÛ¨Á8Ì¿³Dõƒíä­œìxÉÐ~Aà(<0"8˜ÞPNp·½Ý›Êô·3·*lC<µUKÞÔ¨&ûMiª}Ö5˜¶ëœf7Îé1ZJnÒÓF®°O2¡jצ¾bQ)ry,ÒHMè\¹ÂÕ˜”Pb/áv…°~;oi2u%[úfôba‰ú`Ôô¼blÎ{i­ªJâSùf§!5ÛL…×{‚ܾ¿Çf&“Cë¢ð†äÀ‘¹{Ân;¨ ˜8OoÀ^YʶNDöê…VôE }kQÕ±MåFDc öynµ¬ÅEÒÄG´·ÒkÃdªdö¨¨ôóÒȯdÉ•Á7M„.Hžø §0íÀNokk%¸gš5(Ó>—‰,.N³¼At~U$M’è8ÌNÂ÷R°@‡¡¶îœ¼ªz)Ù0ø¬ÉBß›ídÕ9&(#Ò*¿îÇœ1ÑÝb>÷Ñqð^t¸´MyûeèrR.RU câtÕ‘øºÚNíÊþŽIB¿`ü}KZym3JuòŽ‹ë«ÈZÕ™?-ÈM¥ä>þ·”º>$ç³! 5!‘$Ÿ’ÌäÕ,"a¼7¯0F°Yõ·^ËØ:˜0z•ä™y?`ö7]¡sÈ:‡ …‚8pŃ5VYHßpí ›ìÛÇtñ¥{ü\1jLBûaïêþ÷W˜¯ÔÔu”¼úG>^CI}Ý,‚ÕG;®"w½ÍV¢ýö_Íâк.IOŠuåaq’ãò²bßT$Ú“ÔùB†r=’@o™V6ŸÀ¿žMh­6'•Ž‘È–ßÔш¿´Ÿr›½£äúvD\B¼Õ±¹œx‹Íe[˜4dsÊËiCÏ&ïw…]/#…'Xˆ«'ju© °]p!™6öi¶ÙwxŠþ7Óˆqm·q‘lÞbë-|9$ånF[aJ?® £ÍÿtŠ÷UÌ@¿\ƒÚ\¹½–Â$•ˆÝÛ’2,b–;ƒA.q]]¹Ø œ-×}+m©weïU'wæì}çªTcº¦5ƒI–86¾z©¶&#jH…•ûÒUºW®ëX;©2¸þš¡ü\ü!Røí±‹ÝòS亣n#“yÈQ×KA¯ ëmÜ{NŠ,›3ºivÃF›û|o¦¼a«¿/0½ ó&ØÜ ÜIo­ý!¼Ÿàè($ë'þ àx!÷ÿv†ßÓÆKô8wïÕoˆÃË/½äâZ—M¾d‘#ß%u0³L?sã„öÜÎ"µ¸wà}åòàû$quã—J5äv ÜþÈðu…½iç…GdJ8KùÓ;8!¶­Æ„ìY6¹WrvQ¦’Ó}üNßÔÿ–¤z´Ü¢:ð¡Io£ Fµ¿¾r—ů`¹|[Q¿_{ûÏâmÊ$X™¤îóƒìÐ8ü³Ã†\Œ'EņÌ0õ§Ò¼ß‰ d“<¬ùb±QÇê&f4ΧS»|Àëõ™`#~•“ï²ì8"Êé•‚_î?Õç쨣¿¨ÇR¦SÿTANðp5×OqWî d»T2ƒ– ŠØcÿðñ e`ÃF`­«8\Ò*Œ@#y~JR»t^Zïî#:ŽeÜ=¡‘_D”Îæˆeò-wõC­÷ ²Ü.ŠÀŒ‘O@NŽEzt– kÓ—gãIŽÖ¬ºKÞ4Õ¾£ˆš…ŽÍïR:üÈ+}¼æ­ äŽeeS?ë%Ç’°KçÔÕÂyT©nÆøì°«|Æ9ð‹/n;¨g ð‘k©@# ÀœŸ¿;­»¾CUlbúf »%…ˆ4ð4 -› @¦€õd9Uæ2žÏࢳYÓN"Š<­…¨¡£èø>×Cu¶Îr駱ÞZcp1¹ú g hbê½Þ‘¬«—W휓Îl¡j\<9áåWû,ÕkT%˜„G^>0(fïÄ wÍyæin¢Ä1 f‰eþÎáä˜u´¨ôB­ Cïj~X–_õË*eOqÜÉSÔm¶_~ZCsôØ{†³}b %§O{;Þ8ý)z& NìKø/ÈÔäI;Ú§2h×üƒ(‰Ç²÷ù /N¹aÂÿë¤W„š5ðDMÃ]v£X·7pîY%`)hZX§ ²z9Ø„éј›ÆÅü­ÝžÀuC<Ü¥'¤Z¼¸eŽôK^ë]HÞq;÷ã¥jÅÈÇ>îUE˜ôÊî ¤,2B.a_<óáH‡,¨íšj™øCè*õO‰Ç×]×4ÆHzòÞO~ŒÙ á¾e+}¼k“—¬ –:ùyWMÌír¸–íÊÝ©á3ad‘ŠðHLSPV·3<\¹ð Ô¾^  ˜ðÇ12¿J$Ì/0x- DëJ3û?:¯÷ÛüÆ0¿'ó[r°“‹}&CÎh•œ‡g¦ôÿöHj^9'ÿ†=hŸ»qxöt^Ï gÝ´¼:±’ˆõ2뼜jßš­aQêÁ,Z`S›2 b6Šu—Há°CÇã˜nÜäY¤òmÜP½d[ðÁI9—:¾lÕ±q™ a„ R\÷ ŦY•”×ÐxÅUWâþ@?KíÛm7L²·¦aBIင éñZÍ2 ë~®êOx)ï—pX²›ÆjÜŠ9„Äá¸?ÆØÿ¹‰ÝâV§íðGóò5dº´Q ç+ö=¡'²½¬Œ Oé³D⪮]²·µAã,ÑRGøÔ•[k\Ò/–àÊYŠÍþ`ŽuËU Ó¤ Oô:¶Ñ‡uÌž¦o4ª’ìb#v2Ûî.GRàêÉ>«W<“»"£PX¦ÁprŒÚçGÕ×wÍ¢”W‚%ž’éò4S_в¤}4ÿ¸ë ›XæÛ PZNj |v²gŸílÝQ«08úow®‡ÚtôÜ-;‘ž¯ÅbZ7/NêcuÕqóÁ‰(«ò ü­+mÒrüY+ùzêBk0ÐÆ·XV§[ 7_[òžûÛ˜Þäe„#° ÀH0É/‚‚†DØábÝsqÔû¼SoÈÌ©ÍÈ‹éÕ¦íF|;>û‡†ëa<²~¼ ´Œ9KPå×;w°·ŸyŒ'ëi&Lùm’[JIt"Üd;j^¼´‰­gVÛU0ÛLÝß2&\˜áè1íAÝñŸÖ9 yÎÙ¬S–9[?¥N½>ê©AÖa‚‹šÝ3±ê7è½ÿyÕ¶n;nÚÊÄ·|Q<0÷k-¸¯·5µ"¥2¼Œñl¾vMõM‡mFwÓÜyÿÄ ›Uœ­ñâ©™A)ŒPÝG-ü§o°Xquv·¢Ãgôe‡D@VŸgk÷d”ajj ËD}}NyeØrýÖ³DüÖ ˜Ùο*Á•8ñ“²&Óƒ:̲>,Ê·ÇÞïÎèk¦6”T?ZšÉg½â%^%³µ ÎB–ሩ¡×³dþ•næa8°˜3™ñèÅ(¹àæóÖCž#½[ߟÓ"µŠQ3þ'«MúÎ@è4=4\ Ãõ@ø±‡¶øã9þ£`ays<'1­yT,“xÕÎ)—¬TTÁ‚ e×õ/¯ó7ëAaÒš±‚ÓÁ¤¢KÐ3ðfVο²ÌSš±´šQú϶s±ä™¶ªŠþ°øM„Šª+Ç—“[Zè…Œ1M1Ê·RepÔ(ý"@lÙ/6¶¡¦5æáÛx®)zoc„ª|Þ‰†íðÜ÷pX< Dª¨,ÄOÏê¢Öw’¦Ãþßê}6N±`¹+šÝèü[?'ï!AµŒãƒÊݹ¯³[«0˜»ø}>ÈØÅIr¼ÒÀ¬†ÖÓHN‰W£NÇNÑí‰w"Þc¹šÅÜ*(›¦áž¯!КÐô ­]zmƒë쌀Â[ä`~ñuYQÖÙÇsý=ÚÆ“3óëÁù–¨.=‚Ajó ?µT)G³| "?޳î~@€àÛN¹ÎD«Ï‰ T©£7‚lZ]9øtÂkò¬:UÕù6Òî úr]Ò«·{UEAvpS¼Ú5!©ù£†»" J‹^Ž;dpÅÁY- óiЩ•dRRL›éX#(vœžò|rèWkLÝã;HTjþóÌ5‚;ÊP§*kîD[h¹7×ÖZÖW:¢R¢å 7……ê¢ Ý­ÁT.ý7äám;c™2ýndù8Nþvf¢;b¿Ó×ä€Ô¼E·=ã÷íYU?G—ñ5BÆÉƒñÖü#Iè‘uœ¹Åž.׊‹i©«éRmÚºÑ4ØQnä;|!ÖM*”Ý÷hws ©‚u¹Pûf)È0¦g¸Wh”§Ãþ¿Èˆ`cÝWé6ü !îì`|èf¸ª1ÙðÆ)@t‚©ô^çùÈ¿dN‘Î`Ô/¹¡lÊ(_ójê3 }0éÜ,~€d´ð"‚^¯!’ÜϨh°ÒÞvˆÝ9ùèÒ}ß‹²õ-m(ŠiFiO¨w Ùl4d•ŠêÒFfõîØCnÍÀD¬;9÷ÇÌî|ƨø} MUF¹¡©A‡IŠ'¬j‡¢YÍun_ê€TñiŠ–ün^ý÷É™i^§ó|MYy¥=ß@|Ur<|PPU©DêÔ¹þsWO,,1ávþ5 # Œv(ÝT,ž·›ÚBØAï*N~«Gã”TnS–î. µsùkûeк˜_{$ñVA¨ë}«m1ù7 [ò`·áúÓü”™½ÁNi@o‰ü@q…£)–S˜JÈýjÎNÌr€eýLìÿŒ¶MÎÝ9Ñ%ekcH7R°Å¥šîdY’‹€€#e¼Ðe;Ûg4ÍpÝ”€ Ò›ˆœËIËâÓ—< 8³ dxìB:Ÿ/ŽÝôŸåÈø #"KÜ Wñ¡7å…U-¿ë'^A"ßyð«Q¦¾þäGûM“iÓ‹žöp—ûH–⾈Ƞ…¹Á„Ÿ‚Ͻ¥GŠz¢ÅߺOJ¼;ixº!PðÎÕι¬ñ?èèï]ôÀyþ«xЮD¬T› îÈ(îè)8$ûëÆ1Eä±ND©¸Uø²¦<öl[ 2ý²ôGY¯Øâóí%!2ÚöÖlx&wò°‘/ÄçR¬‰ê$=FÈÓ˜¶d ë#i´ý'Òë ÉõúD̓‡~‘Ÿz*Nä|YÍšå–ƒ€©†?AT˯êR/´ÕóÒ¯Þ^ÚV>ÊKRmy‘ ·¤ŠEk¿ð$TO6 ‘a±¥.‹ ¾‹üè ±V¡ÉÙÇpÅÎäPíÈbK“p¬ÌÇÃîJFÊÛc¢íV©ø UGf¢Eï÷• )VdsŠ0äx®=±~„ؽaüÿ¥¨°ëLal ý»®Ý-è"²BJ?exù@Ëâ Ô˶ØÀ"“GÜqÚA›£½™Á™–‚´n¿4 óJ ðùËÕ•_àaœq±†ÇG~Ïèk—¶2,j”ù7Moµa—)¿ [!EM¯­ SñÝIÙoƒøÄ•rÉòr×›¨Ç kyª@×zb)1d‘(U¹ö\¦åžº¸.fÚI líÉÛ9‡’1öÑO³ÐªŒ[RIt štÂBá¤ë‹,ÎÚŸ+Y’û¿ÙŠÆ]S}ãpÞ¿ô’Û*ËòÖ´)/óx·49w Ó1‹×âÂË…íG\b‚4›(^e͵zzùÀÈ,ÜK¯V~Š[*ëULÝë öu>ßbø}%:ÝfÃ0‘l(8ö€£ñ2ø&‚ë¢oا-à …K÷ý49ׂ&âX‘ŽâÈmFÄɰÐZ—O+Ól£1¼k©¼¹;’Ú³ª†ZÊh×B䀇 0*0!9t´sQ!ȼ W#‚¯Îk•Œ ÈÍú{p½q¿9§y9Ò3v̬N}MƒÄtX˜ Põö€:ð5W–a'1¬©ò±­UbžÝþ!hé¼í& Ê{Ügh"î˜n”Ú¶ÊwMÀƒ /,•ˆ1‹Š,¼çiHç"¿BQ¿pÖgªíÁÏ‘š6.–³@Þá¸V¢ð(ç# “¤0&̱«ÈJª}£i]8q^#–”ÁÏàÌ…{¯s¦4Pb¡O^4ºúwôÎÑájÁÚXm–&Mò6 ú‹1 Íûêt­×Þ·+¾Ö»Ó<éhγ|ý^±[ä,àZpî»à·á—ϨIýD>º©ÌŸÌÚxoeüµ>õ.é Â…_êKvÕï8• Òúì´È€0Íö¯ƒ!KETáÔ­ó¸ø¨#%çgÎ)¯\ò‡ƒíÕÏRvHék] [‡åšFüió==ŸEÿñŒÀ ¨žËÿ´Vs'd³o`þÐ@õM׿ò‘d ôQÅ|Sèay¬zfußO²+®§`·LikÓ©éR†*ÍN¤º3c}ÍM 2` G5„/”’še(¶ ³§·ÆÄN¥Ž6 Ô`«Š( "ÙE›c*pÛLôId8,Œä $rÿ7œ|?îß‚ª‰t÷±y<‡ž/Ñ»×°w ׋wJô·µbÓÇÉX2±ë…r³¬^œh úð28¡sA‰÷Ö{NˆÁørP޹Ù÷I«^˜UaL3¬’›,ÈÍëû¼ Ú`u1œNýî×\ÓÈIŸØˆ¿· 0g«<ÙÛd4§þh9â×C>ûu]FšÊösT0¬Çëw· £H7šRf0ˆÑŒ Ñ ! 4½ÝU¨Báyn$Iõƒ+«k—®f¦ÜogAq3þ½©*².ØOçcMLë†8Í¿çì“uœ=iÌgÓÆÀÍÁ›Éíøˆv ^ð™ÿˆhôÛh,·apéŒéð£ðï\ì¹,¼VùÄÈÖz)ºF‹è$¨‹V¦;„…º9Ô¸^yë=M¿MÑš)#5>âÕÞƒo°¹@¿`\ å å=ÕÆ—ðÃAçxe¨,5?ዌ€åBI'žÉ¦»ÀÄzwuö5ƒ•t ûT?üF%ÈçÇR k‹Ÿg¯88rÁa¹¾›Û?:UÉ¿ˆ;5àà“´{n'úýóOÿêpN¢ŽSP-´~½‘$ézv°æu™Ïr“øê}yƒvÐZ ?X¦²ãχþ^N(õKH#…ù˜¸Ÿ4¼Hó‡ñœë¼r->ܾö•pàÖKq”v¥D\µ+ï6üG²ÿèjå%_ƒ¶ÎisO{3ÂNœÌ‹àÒižµ“vÞ|¦o¿wÝ-Ãæ=TûhøOÙ¬6u´›9¯‘w"À;²²8$.”<­s|$”$É…LûþGο<’7¼™e<EÄ˧i]~úÓŠ… öV¤¹\ØrJ›¶“aÂÈœo0mƵ…"ãC~_Õ@²jÝ]à ©Jqâ:—gY{˜MhoÞ¾»¿ï79iÇàoç“Fç8ö*Ž5Õç„¥­ërëïCìÇKWj}bê/ØzÞpÜW=רA³hœÐ—ÌmlÕÓ•%xÓöõ‹?„½¡ë¨ÍЧ"†ŠÆ/z«Ä•Æì²Ú΄­²iGnäXÍÌÄþƒÝgº‡ÁÓNFErå‚Àú›t3¦Öuˆ~Ø¢:UdšP[CT´Ÿ2(HÖ-s&LxÊpÁ6Êɼ Ík ñ¼õŒ:SÞ…3"TGH+n¥Ææõåó¸Å:AǾSÙUácëf‚V¶#?õ2¤‚·„ÿÚœ‡áKªäÛN›|”Õ볋Þ/WTÜñXÜ@ ñ* ±£Ü.2h#ï‰ê['#ÌfNj`M‡ÕJÿ bwê'êPC/z&ßCq•ï"*hÌ?ËØº+×'ùDçžlÝÿiWÓ[w ¹îìûä±9¹ÅÞ‡ë=Ì`™.Â4®|g”»x„è¿NZ¨í%ÇQl­í¯áÿ–*]–¦Ï;°¾ÐïÅÁ¯]\Ö=§^HºÙ‚⃽ 3íV´…jØá¹eöÑs{‡=•R*ç%×v|æ>ÀG3&…!,tœë¤û=L.[…ï?³sûÚ‹¹ý@Å”Y=5Y¦ÝÑI¯<ÿ¯8PIH"œÖWêéB(#¹ßœà3 ®‰8VÔ±õöè¥Rî¹mѼnûD±£ªáŒöÇœò&¡§±Ä;{@Ʊ¢»-æQüǽ‹Â‹Tt–9ÂdNªžýˆœ ÒÔJ•ø>YAK5/È!ø)ߌ…ÛRÉáŠ×º¹.ù ¾V Õ-©ÙóòBiýô‚fɨ¢Ô…–«mËŸ,›3/hÆeH^hû–ž$аçRÀfÕjÁ¹ÓŽ{$4Î]wR¸:Xs¥!çÍÅÁ£OÖò¬mÁÎM]ê¾F`›Ou&w¬LEÖà²|zu¥¼?£Û?N¢ÉvNŠÙÙL}way‰– ÕÒüÇ›l˜¤¹orI¸î¶Š_QÏ~_¼`f5‘>þ§É2"q*ƒ¤ÿIÌ{¾O=ôú8ˆ¾œŒE4²vR>çµ"(­I ¢Ù'‡¶Ù×î,Æ2xgÀmÙ‘^5Y`n€ÆŒ‡¢ ®ƒy~!¿[XI¾D{Á„m&$³˜»ÛT.¹Sc,| )n¹à ´«aœ P){¯üÛ9ûe›¼9g¤  Åª­¼Õ˜®…êy”—láàbHvç)‡>Õƒ5Ší§Ö¦]wîäûŸû…µu_{“Ï~Eï0 ;¼ãŸ¸’«‚¹þVSC.Aâ jq% ¸Påí­f2RZ5Söù#Z™’£8F,÷A Xu+keuA¯D}˜võ…ŒõÜ-=Ã}ûœ[®ŸaX½uûüÞo ˜$]kJôJ1‹J;1Ô-Ͻºs¬ÌÑkn5ãau¯¿÷Û‰KÙ‚ˆrè e…?Þo—Y~Òñ›÷è¯J?šÈ ÙfƒðÎÕŒd`G­òþÐÌPY•óƆBJÔ]ÇŽ‹ññ§`¸)^Ú癉=ñ{¹Å!½N¦GQߢCçÞ ´Æ~a Y´[«ú3«“·(….›@å­õn-oÏÞK!a–ïŒd®fìÏ…L–” Ï&çHoºsß±ðöÚ´÷yqKúÝo;‹±$9Œ#–š~G›ÿÂT#“$Ü‹”ÌWßæq•dôØ_ÅÜtÎé…wà¥z\õ]$ CØH¡½t×B”[‘Ÿ?¢øur;±Ê}$v¹z½™¶ ¾1Ù8£ÌºõR¿ 3¦}Œ˜xã(¬|Ë!Wÿ‚)w €†Ë ŒZXA`Bl‘¡æ’¤‰\h–\ôÙÿÁ ­3tçø€®>¤ùø'#PäT/01¯NÞ2qMqqÅ£zíQyÇm×_½/£†[¸¨Gçj0KŽØŠ Ó¹°˜“5Ë 4‰‚õŒú…Xo­4½þÍCUÈ>JÉG7¹gŠ­‚xR“[\ƒIró<•òê#¤W?µ¥M ±´‹t˜‡q5#qÇb¨Å2 ªù—¯MK1ì.‘}¢Ó+êÀqÏ)(WÙæÆZéçÐ*”«tï‘›´óM=§ÐœXåíhúXNãHp¬ê)Àzí»3«£-‚Ú;î\>Å`oþüÛn”Õe¼³èÊÙ‹¼v߬Úq›ÈH‘KDZª0@y– jH"¼­h«[åjSî„·§É>GÃz¢PFmæÖo>¬í›ÝJ5Ä뢙·e0)*‡jÉ©ô©Û®réjh%×H†wp–t2_ÓÊñ¥?q¹ðØO‹9…¥©îÌD™â0Æ¢vfˆ+‹ã¹5oæ‰V¯¼û–âŸÈ/oµ_å;]þ2;®óœñ½)Tz#Ñ"Dl¹HÎ3$I­W·Ìº/UÎ}™¯SoöcÑ !ÜÝ1ö†òÕt¨˜ý?½F TŽ»\UŒªåóµþ¨œý"*ƒF‰F•ÛIƒü}²4¹Ê{Ò`’šB jªOb^©\à á¼þv¢qíÉ /ldë*Ð9åêà 6Y÷MŒ,‡ò¬A%îÕPVƒ”3ñû‚Õ_všÆLw¡‹K EVîÒ®ü5¡Ð®|Ri‹k"¤l.I>”ÿ8@L®WdÈ ‡¾úv§–%Æ1.& x©¥»û5ºòXüÞT2ÅÅ\/d†\'3î$"µug+X¼1™p#o1Ÿf¨K] ÕUß jÃbQ à7°Ó~Ë¥<äW¬MÂ;º© ݇E”ØÃ5#½Í)¶<ì&¾&î©ì³׈³%ö¿h>V°ü‰òûëZ¶*È[–Â×Çö‰}h=k6Ÿ+x„Tÿ ñcq K2D˜'rŠŠµúq¸Û’“žQPÏU±MÏ9HyU¾°å üå¹Ñ}Ü“  ð5®Ù$áýÙà-ÂpÊ2oø¦‰søá‚Þ7®~è0$§}·O!¨Ytnæíæ÷EÍȨ¡þÌÓ9ìú»%¾·(–ñú*å€3 #LTý5›ÍëˆÀÍzñ:H{KòúÂx}‡±ÅðHš÷ïf·–~?ý­¶©ïÓ(3[=ÑŽà†Apj®ãá¿ë`ålЦCõÿ‡ZBT§×IC(È+Jþ÷ÀKv»á–•Ÿiñ* Hål«'a@KŒ Õ±?dG så¹À›ÃJ2¯Ë ¸8i<Þ€ǵ’U ?ž·ÏzÈ$;l&3fn…üy9Ý ˆ‹…¦S™|b§‡›`ãkµ5ÑmXjX°¹ù2ÙQ±qCè\ ldWU†åB6 w)i¹¾õ]pÖÜïªãxîjS+ò*¶hŒ¦Aeh–ýÁ %dÊþjÔNcT©ü@‡Å9ÅÃÿá*b€X=mq¥s”kÊ{Þ‡7z1 h]Is`’eš³åÛ€ (ÓE”)È·dNã@6VÌÈjÿ M»ÄèÝ4Rèt^‘/o½p³&߸¼6và ¾ç¬I‰åHyÌ=ˆJCÖLÞ9¬ç¾êJ )ôŠ÷l>÷ TóY@©ún˜ñx²27[ݧ|VýÙYgk­=t¸\£Õð‹>”9ØRפ}ªc÷ìls/ºqäŒú>7œIóÏÎ"¡ŒÒ+¥–">ˆèUÙ¦‘Kçß? ¹êÌ)¯©ç©í$Ù=”á[…Ã$cp 22Çq€ÊñX-þ=檟ù‹ªc!"B…„ÊE¾7‚=šl§©~ɳŸûæGUPUsýdǯ§k~ºJV{`̾ݢ’­ã]Æç‚ËüA3™lòßb®ø¿©øð¹bå›KÿˆDÏ‚9ëÒÙõΟ‘çè‰PTZ1^±VÿعÍ1ñ<í ä6‚ÞLŸ~ó²h;%âãé¨z*dÐÞ7ûÀÐzü“CX£`ØûÁÑa„`¿=KµÚé9m8¤ÝO7¥4pD0éÈ•·ôÆnÖx -4¢™oHw¢zh › &ÿLÆ-þ"!´G—}<=ߊ,³¼ÅuV*0Ü¥kLHQiÉ%Õ0íйmìpïkÑq¨hzLû*òŒQü^Ih`»åävN3àõî&àú+5¼î%È7ÚˆA®wl5M'yhß\s~º+4 %[óçuëh‹­ˆ4ü$Š#öEÌM™¡â3Ñ8KÚþÐÛΟ/¼šUʉ¿R×ï¦ à¤M¡¬ª9!ˆÁg<8J>$‘$œy¤î×ü¬(ÈúÎÃùðY‚<4gØ =ÊlÉFñ:ˆ^[»ÀÃ'7xææQ®ØìBH3 P„L o‘oHqùV‘o5þ=ºº£€þá]Jê–ÊžûôðPüÜÃ<ž•CªÅî&âþrÅ`˜Èŵû%¼¼·bˆÍùøòå¶ž[.>k·âz§Í‚â@.²?_Ä<%=§¾·Ðð`í*ìÓÈÒõ®%Ëlú“ËJ=­‡Ë2TÈÓùkõ‚Sz~ü@Ðɺ¥Å®ÓMYªUÂ÷.1 äçolÄ9ÜÆÄéq³Õ{Ó¡|«YÆPÇDx—©Õ÷¢³¦†¡¡X0ÊWVð'ÅND\KQà꟰z‹„n¡ ÛQ6TðNŠ0ãCͲüA{ÌŦNrùª^™ °á$¯zz ´éx5‹×ôÀ‘©EjTëå)&ðôŒ—`]J)Ö7Ò£J3€Þsâ ôèüŒ¸ G*qÖs­N¨]3ܳ׭¨m©,ÄÆZ#ãx¦&tUTÄF=04,΃ÖBkžÄ”‘Êìî¡¶vQïs3ÒŒ*+¡ö°±B5ÇíJ„Jþ¹«9-f­S¾Y–ë¼.«|™MLq&„û‰žuc‘Ècf"ŠÀ7KªµGýû?àïQ­âRç.,w ¨¤„&zÓ#ùö¶ ¸`Ð\£áülh¬´ùñž» Î]›vå9WcÉ ¬1·B’‘‚.A±/oz1£©Ðg£ó¤’†Šƒ<™ÎØ’4G¿‚fx05 „@NŒÙµn7šr‹;7ƒ÷ôJ¦M„‡ß ¤;Qu«‹º‰x ñü’)Ú¡£ÉX `æ/3ºl9´¬7Óù´rÇ™+Üß®~Fa4Gñ}[Ë”CÙöoAl+O0†Ñ›ÉÈpÊÞ¶Q—PL‰ZÔË¿%Æ©·u©L32Ý¢„Ùù ¹Öè4ÒoHZ¸JŸô}“Cóoæùš3bPªOWy狊õç8¼ =×= …Ø‹/Aƒ)Å3ÛÁÍ¡·$~ЩâÈŸã:PöØÎ¦Š¥œMWý>d‚¦}Õôµ¹"8íÈN/5¶çOÕÇf°ë³4jƒ¨1¯Õ%®ÏL©/é$;¤¸#\ydå“’ë…Îa ÄûõF”YŽ­4HTóo4ÄT%åA €XÑÂ>ßžëçäßx/èÏÛ„‚;TÙÕô+>íp[o£ ¾C.*¼ ÿ“eå¸ß5l¾ÚåÜðÆýCåññÕ?<ûÞi†}à0Át.í{­A7¿ª0qåu¯Íãîµ!Š7Fm-ÃøŽŠÁ¼‡ãßÚš‰><ŽL%èêÛáv‰»2è£Ð½EוñöÊR+ÐqÊ•Ó(òhu“,x…°œ±ÌùûƒR4 .Òžv3û#(/€€Ä²HÔK®µK‹TF"ᘡíõÒÞ(‡yÞù®6&Ýþ}ªôCO ²ÏáÁey á-àÁ³¦ åßÁ¤^©Dµ”ê¯4ûùÚ!8ú¾ìãŽÍõÎ}H‹ï~f‡ã~ª‘=²9Š×Ú$»;Š«ÎÔ“A»­Há01pI£Ü 0Ø.m­‡ù§—¶ha y•CÎ\´ÙòñŒäïçMÑÏ몷=¸Æ’  Ø´û©¨¬‚Æ(s:“áõyQjƒ©¡Š–Dß ‚¡îDëb)Ž—­oÁ—/G®2-~ ª3‘³=cíØ™ÜÚQI)è< Ø‚và6€þ[8Sv©çºNy@"VŸ¾ý<=Â;XÓÊSœ“è“IÔéYTÄz÷L™†"54Sæahr/fA“„¿ÓÖBñ„lNbRŠ(òÒD]„2¾Šû$$rŠîR¿ÌZQå·í¯Dˆ:¹´É ̬—Vè9:½ O8î a.îYÖŸ>†\ØîZÇUŠû–"=g¾ü)ˆc'dõ5X#Y¤ô©¶Ëxœì˜H}+½™ c=œt¶“þ…UÒyû–µµ4O€«²Àß´2qx”:½¾èz§á¶Pz^ðjØü /ô4„ë±Àž­h«.çëbßsƒ‘|ήû“^Îj&ìâÒµ+êÙµ˜AùÉšÛ°Wn¬Ra ÈPsÂC’CôšR7œŠe?¿WlY“… ¤RZ2ãùÁÉêÌ¿"°¾ŠÕúµ_ þÌ @gŒ-$Ç‘aÚ·ó `p×uIIšrn“!I^2#9º7@“×Bηð¼„zã˽õ=à±k­«Â¡ó&uIŽÀSc%¦ñ`ݲãìn(°b5_~Ô&KᎳƒû€ùð9îë ©²®´næUDr7ÚºóûòWž¿=b¸ŒUAu9•—¾µž•xcc5ñYÓÇ8 ÄA¾¾!Œ½U\ËQ»0Áoï}‰mòâ«oÂY¶WØðMrGøÓºƒ’¨ q¬AÂX}ÍÒ$²¸ÄTp?;¤q€§™Ê—ôpÈHl+ä%}Gm%jÒáŠõZê‹ cç´)¶MŒÐóLp°Ï…ꀢ:g XJßìª3úäs”]¹°ïÁ\4Ý<ÊDÈZqLry¼H1ñ=F”˜^è·+b½£º"â|]“ï"K´ÝVR9& á<ƒà§fµØKM6½ÍI]<ÿã×S¦óW«,,‘*Æ{›Ð“É’^6ráô«!òÓ‰u1?K'uV1Kñð O¶Ì¼‘Ï^s+TV/ mØ,‘ˆÜ˜@eü€% U&²A˜¦ ?‚gk;׋îŠýòÒ†°°S€¨³8ðnÝ´ç­žéCËráñ›£úw ‡Ås‚%ÐóZ²WŸ 2^†ŽØ‹¼Öt¡nƒ*ªiÞØonb™àFÒÃw5‹iE’†¿Ï…àºîò!žqåœy¬UØe)jÑáM4£ÐEKéοeÝ2Ù3×¼> Ñÿ"ŠK Ô` › ÔÄ}åa Yh{.Y‰Æàš4^§âk}ªEA{•ý¸,-¤c·z¬|zñ Äöð£E`wõŽbÍRKû•"’Z£Þ0vf$lˆW¨s§^½$ÔÈÅØÝÜfpPZµM6¬“¡¯ :ŒÒ‹ÈîÖ*A ¾T‰©KE~Ü M!Ëè×¼þØÕÏDâ“°­³³ ›Á},×W*‘Ú(¯jÀ0u˜vtÃÿäÛÙªíKŸM©­ý¦1!9“‚¿ÐåÉå`„F|P';½j¨ Ì&”6¼ÊY±? À 1ó‰¼7¡¡^Twš!êä[I¹8hpÒôÌÀ'GË*”à×ÇiÙ•QCŠV'V5J’Tx< ÊÏVÄꞟ´Æ<§>cSJLpÆ/Õ½Â2J‡Éi’Íö…²9Yå¬ÉN%íõ”8u·ÐÑ€ÅÂfûÑÿz}¸Ø Ògï¯3Y¤ÊL(•Z\k/6nlÁ»%2ð¨°à:ä™>˺:I9Êïªa¶'Š/Y÷µM¸X±Ri”—c\rÁAmrŒ"TO¤™sÖx(uÁ²ß'4ò ÅSb€¨>¡q‚ƒ"µÄ)$jí£f<ësð‰ ¬3jzIò©(óùÒK¼•YJF´õ-É*O<~™Ö¿sAí=U , rˆ7XßMÅ>äP'1Lx¦´ç\¿uz»¼•À٠ǯn\]*4ÒV!K)dc[ÆIŠ¥q.b˜»Ã£~àÃ*‹X¹µÈRß{/brQ¤õ¡ñ¥T_~ Œ,©;DCÕìà®°@þ«»Àl³})}1D¬ÿ À$#ãçqò¬¤ë^µJ*®Ô¼}G¡ó_ù«•J3S• ͪ^ƒÃ8ë¡£N%qˆ+ø²:oÍVhd¤ yÁ®,»]£0Ø:Ô›#þÔÌV¢8ï’­ÀUÙ©£ KÚ½G¡œÏÑÍúp(0Ú(¬4 @íëäaB‚~$?¿—^§aIð„|ÈhÏTbœ‹q Ü,ýFP‰)ôS)³q¼™½€¨tŒ~ÛJ‡õJ$P­A,‚‡éáo“!–ŒŽ„@Ø<›g$3[9qúݺ™°ŠZoTò åØRñ\þTÍËSòëÞK¨[™ùe— ÃÉ1˜A„Î6¢Â~)‹˜’ƒMT¹§÷èðC¿Këü úØ$À2ýÍ<ò-XL ±gŸéÑÉ,ç|Ýñ©Ø¯Zƒfûx³ÕÔPì@®'-‹rÕv‹OC„ÅV6oÈÓ=i>÷žƒÍ #ó\èYÝ#ï÷ðyZaÐ;l§SÛB ¯­˜¦w¬Nªej áÀƒÝ¥…=VH/z…øäÇð¨ôÞ¿î\å´‰gµ“™k[w|?s*¨äÖ9¢¬”޼Zj%H|0ç̓i!µ®©•ì?OfG)Ã…ë“’è›Oˆç3JZõ,­F‚Å/¼E¿óQ¶/a:¯:#‰°ˆƒB<š\ZöZ ž2JÈIŒ Fš”'¢:5Ó5„™Ã1µ]‚XW8Š¿vÍëeÄZ|àˆ<ÒebDD<_œ!)1Cȵ¸à`ŽÔç$¦…˜ÊdÕ¬Ö ôCÒ )5Õá®› ÷G–9úŒŠg;OÛd¢ ÔT£ÇtÑ1eµ”“ïGÌã³ Åá¤gTÕ ˆå¬’¤D †¶©-+WáÔ_…"z»4ÒÜ ]yäš9?~9“§ÎI”‘ z®›:¼];ÙåsÊB‡†qƒÿ-[pÜGsžÎõÁbSÑ8m«L'\ÛˆÉ1o§®v–ƒAÈ-ÕI;¬œ ª¬ý¸0½éäÓùŽÕ‘•Õ‘ÙÕœZ°aŠT=@^rÏA;oxbèÿÀä•÷H#ײ¿ºê 3¯“ièÕ䊰Ý_²•úZ)Õ£~½5:mfž SNñ$ 0—jL¡¾-6Nçê†tê0 ®U>Øñx“rq7Ùì{ƒFÑ*Z Q›mä¿(?„ÛÐTðåšÿÀ¡böÏLKô·Ê¶æÚ¶~ƨ/£¨ ú£LY~f¤à‚Á „& B6TدæùGŒ· Ôº‘‡Ø#F=ASFvŠx2v î8ËÞ'àÄÎà㙓âë@“{ÀûBtà× sظ?R䳨â‘óiN˜7ޝbÈœ•t·5XÕôqFˆY>Š^ÂÅ TCà×AJIñ™ýßi±-ÎI0 Ÿ­d›å”²«’^â`?Á?íë ÌZ:Ž…ÿdVv‚^Íy\Ð7ºh5=›ä»h½£›gÝãR`Ñ0ñå×®QÁ[w%™ÉYBèÀÈ“‘MŽÕÇøÇ[qÂÜO!9\Íx~ž´í¦]¿©w¯Þ€ÛMi•§Ñ=„ª£‚XQþ›K~„Ÿÿ‘óBO ߘ –F‹½ e‹ª  ¼¯FÕeçr¼Ç¨È>1_7îæÙT7#Ššõ뿯öª4u!ÁÿÒÈ¿ ¸.†uJu7«1Í̬©õ|‰”IÙúc’êw ʉíÈBÌ3%"÷ È7 ÿË;^)éVn(½€<ÍsÐL#,$ñáJYý‰²’/x2ºçj -àÑÑE,I’ãnüÈž‚1 äÒùª7h¨²æ, nPkßÂð$¡12  ê! ¢jOœçŸÂ`•±V‰H±Åäùç­~»ÀýE³oîÌîxê/ïÆ ”ð‚ÁûaàjôðÊ»_(Èéy94â·T.?X;™C¥F{"tDGÑ3D¤ù |.zô1¢s½þvQè™’Lê…'‹Ü$K|°¨ÃaŽ8m²$àÏ1VæO’›%Á»ìd pU”iËÓ^Y~fb—P®þ3Ô­¹¿§ ¨/«Iß½Nõê{?€$àmœmCÆ™Ò`ôoûúè°MÖ5}XÇœ »z>^V¯ìÚz€Ãá~Áä’Š°Þ¦ðP£Ä8Wô9+/Ñîð¢V,Ûêx˜ô^[̲6öoË2YÂ%ØgfJWSo¦ìüŃ7r¤èÿwïAˆè²ÍÅ:b2ó¿vý¢ÙG7¤“©Çög€Áï1ñ “´^š²çæpýéhÿ€·Šüébè]$“JŸ·ùíÅÁÁŸñ…õȧ4ä*é¼»šØ×(ÈM1úi=ºõ#7›ž. ï ×!›Ì6Á¸ŒÞbN¾P£ÎíIXkZ¥Ê˜¦Ò©ûZaˆY¨Dœjº;Ú­ÈîL:/Œ XJþ˲É"nÔpI3C *ÝÅW{›È!#ˆ–Vçp²+Ú¨lF¯iPÙ[ú™þ±$z¶^žEzªb:2(L ûØ4u³°)í/&GÅ´[¹Q$;BÔìse¾bŠ Ð—%CÖ!G„ìï†ð/JYæ]Òmà¿e…?^÷Ö,]_bá`>ÊÊ[ Ì‚Á#¤«ZƒNe×yb¯ívŸSû€âá^/äúDâiPëõ yÚœÁmœ/-Öb}À}  z¬GZ=1 s<1éǧzNí ŒãõÞ²8ÓìÆÑû§•¿L²4‡¬¥ ì¾ÓmÙùåZáÄUçê¥Xî)‰•L¾CVHjåïDƒw×ãrÙm[»UðOÔ~kV7X#"H`G)¿Ýù8í‚¡›ù®Çé4 ûxÇ4ÄýñŠŒ`hCÙk@â–#f¡fã»Õ±˜dÙ^’ }¢˜mÂg›Éô-“ UI‰seGÐÂêq×¼´¨µÍ ¾ó¸³Õ¿Nè—,ž"¯Ó¯Ϋä‘uxÇMtkDBɬѲÈÔ6|‰U îŽ|Eþ,Àg‰Â¼f•¹Â¤.O\züáex¦÷\úuK‡w@J†ép#T“7nå)4üe†Œ…Õ}–5àΦ´!íÓß:¬.#ö}/M7"Žqææ¥n¤lÊØ¼ima/eZ-ŸÔº8Å!ÞÓ`­#ëìŸà¼˽üª~S¶TÄ{>›ðbt*2ã•$E¿¿Ý…¯Añy»6µËÔ‘t‘j*ű‰ù£Èó‚ ƒ÷31 Ù¢ÐÊ`wЬû¿b0š@€ åšÅ#¹;‚mŸ*ư;]Ê£ClºWà «ZWd÷ËA{ñ kl‹v W"_×p”žn@ j|£zRÛh£yz;ЮÊÝY§ß¹ ÿ}»$vyí5Šò96#¼!YsÝM+«@H.Ë‚õ(æ{DJ9úÎÚýËwº…$gŠ‚.cœä>ËIœÅ“"ïcþ¡‘$L |ý6fH)„ÜønX\•uÊ›ÁèD&ª˜AQáý0§—2°z³!¦UÿWÞÊðÒ¢5Ø⟊cTß!–„ð<Àå¿N ‹•ÓÕs_íhaLª¾…Ȉ­°û_KneÇ"! Ï ¡íñQVU×G1Æàg—v•9ûm—Ú!Ãú:Õ!ŽÜyþ=Õ‰v¶]šK|3XÌÈuä )(1ÞI ì:@IÀíBiûåÉ¢ÄÌ*¿õo“*­ÿåÅn"R¡ƒ)OɪƒZ wÒZÃ~‡Š®6a^ü¶Éîܦ§›ÜÝKu﮺¶mTœßËñÁWøh¤•Ý€ñߎ‹4 §œMˆÂ÷Ë¿è¢P‰/È£)@æ7Ð/ÒW×’·ÄÄÎå*fÈ–ÚOçmY#…§sIÐb yôB7ØtQÊ!M{-"Ëéåá♸ù8=w_0ùu¢¡„l%2Áéé½1à¿^ðŸn’XFë «ƒ­ŒÕÖñãÇû9ZvÁÌ­äÐá­ÊÊ;›ô4,<-‘Ó~€…šòº›PãºÍBl.¼ÞV„•ŸÈcÍ/ Gþèc"+Z·Ôž‘ñl…*.ÿ d¿÷¹ñjçJÂNã`_‡è¬<Õð“\¿/„˜¾\ñÍŸÈ&e E2¶I£µñ­ÅÕ¹»°Ê–+pý™îlÌ÷ Ò… üUÁ¹y-«oZIh¬xÀÑׇ:›°È¯‰˜“ÍÓ¤ùv tÜ_»Rèl›ï]°BÇ’Ûb™"˜—nÚzP_cz b£6øª€ÛR¿Êglpb/7PÉŒd28c'{±ãâ4Ñ÷òÉ+ƒ}lŒ¶ŽÉÀ"Ty•¨’];Œ÷Wð¸Ü±Çh:=[8%£@“UEOe{+iz_ÙáêYÁ+ÚÐzùäj3¥§Ð„§;¾ë6 Ž+ƒ•‡½Åâ+4…Ûö©ÊA«ãÔ4škñ =íЉ/y–‰ÅL‰¢ÿÁÅâL··Ø]ޝ|@ÒJn5§žu‚ÐQ²ÝûIÆöÞ°¥…ŒåÌ'òrûb,¸7mBM™ ­«lô¹‘–›Ϊ),nixË!B>NAlC¯J”ß̪kÇ-rˆÓ†¥Ö¡Þ$O7ì]V7ß÷u=YcøRžé0·±°R=RIg-áÀieùþÚ߬o |¾ô|¯pòßÇ6z:X †µf­”4û&Ï e¬3yÆW€ü`NƒÐyÚþ¿.ÚQ…µ8ÝCpsüaÑV¸CÊuá ]°£Ó^£g¤¨oL­\—ÏESè6:¶Ûé—T\è4$áKÓfÉóã»ÂŒbõÃ!sOGß^LNhlªAN/‹9¢s¯sÏ7ë‰m˜ö»qKqÚAûÑŒ Û½9ö5‰#Þ3TÜrü(9{‘jC5 ïÔ·v/äh€r –.¤AŠÃÁå:úÿ&‹Ÿ“5èŽ.|år_»”‡`z%CF›¸ÿ^2Üýõ! *ðˆC'ݸÁiüG(0‘¢újÔrý'ü8»/u&2 sr otDäx× û+Á²Qúln–¶¶îÚA•똀¿ƒfêز(Rƒ•=óOz“>ð”î’§ÇœBíÏ/R@ÚÜE©LFÎ3;ü¨õ+õ<»jlòð6Öì-íutÉT_×N¾9Qà†¢¡Oø0§šyÉ_RxV"&®”[`Ë÷7鬩˜¹ ôp<þ!døˆduù<£FP  Y½È˜2pÄBÿ¯3 ï=RºXGP& v|³ç‚åÃ5˾âÓ~ɬöâV4òÐg–B¤¦\‘|cèÍ~ ¬cõçñUQ£õCTµÅœ½•VÜäS‚$[ÜûÖ”Yܼ}ì87ûÜ­öW.•ŸøôR¹6óµEm têÙSX€q³XhDV‚eQúæß‰?Ö³µÜ0Ð'Jd@©Idð!„>ÙæñÂ[Ä?nûs‚ ÷dØH`xÞ®Õž7§¿ öWäz¦™lt’¤Ö éç{j¿0šü§S—³|#ËJ¼ GÁøÛŠòi¢R6Ð,ÎGêt–¥ÞÈ QR䌟ÍýO”5¾›!ÚÛSt-UüÚ½Ò oì.0ÉúOb#]ÅW"xÝSžlâÏ?»)ËæX!âÞDV±é#µe%ÚÅÔÁÞ}̌֊/¨¬úó¿Á‡BXjÓ¨á[yéà«7ЩIjRXÊ” 1i¥󇫨Àôƒtž¯4™¶ÜùcÈ×— w?Ó/X£¨²rž(K½šÇg¾$¹ÚD´­\¡–+„µ§ê@C¦e‰ã†þÔ+ñ"øzû¶E]È¡mÙØZm¦Wj%H'"2’h^Pz“iKXÂþëØ)ã9š9šg'µà¹Ìd˜7ÄÂ,Ér¨e¨¹£‚~±L3›}YxÄòê&?ÿ ?î*ø»2ÓýLQ¸zÐc 8ÕKʬ¼rV؆#t¾ÒSñÖ‚šKph kœRV ßD¥—ᣞ,ËÊoJ• œÅH2¢2[„%N/{ƒnɰ7‘Î<«¯*hó—×h¡š켕.ýVÙîèö(…>›.ÜÌä¦JOÑ\ëÄÅ韕Gq[•† A› <è¶šDŒÌpH¦ô,ÄñOöJ-*äb@¼wQød÷J“9¸— 2ʾ•Žtú ÿà‡@¥v¹Ð¨C¡VTˆ@Âò e;Øœ&¢2W$õC!Ï« äì§ÒDÌÆ:.LëW‰8éæ;²žI”pÈI7˜ñk%RHlÒä£0"O;!õtÇhº÷Žìõ˜_Ü-ª‰‹c‹¸Ál,(«`sD/Ò!¢tˆz-RÇf¬©Ò«ÊFö¥‹ó»­›DuóÀ[.;l¥å˜¸— XñmóóÔaßÙèõT—á ] (Æ©H€™i¢A°…u$ØÈÛoà¿÷ÞCÝÙ Ëf 6˜LHl»ºÁRn#¯¯Ø„ÁI&›]"³ ­>9%à™NÕü‚µKZdi&Š‹r#²I1úã¸Ð:Y›Å°Ñ€ý™¶ñ Ÿ5Íeï¡MSÿ…æÄþZóØr”¡¸¬Yu%6Dí\ÄNƱm‚ã£(ÜZÛ¼C«×Π¢™|ÉvãˆU²H^G•gëØ‹\ð¤àÍwÏÔ“Ü郡Ç!"Ù²þw‰ó߇ð HPb„Îôì´.HŽ_ Üåw¶ëCx3¥ÚB¶aÀiO,àڌͿhF6‘Çý P®y|>ž~ç|˃ ©~‰¬ŽU‡æ™Ú|ˆ\UR°ü'¹ÊŸÃíôâ[¡‘¤}urS¸ÕeHùX¶…BïÖ_X†7µ¤µ +TI¼•æv9YßON‹õå;ˆm©Äråøf[¢øøÜÏÉãƒÎîfF…’.)É膪ÆjèBFÏâV˜ÍðÍ,ì_ó}f½·v󚓌 º[ \[¸]\ÒLßÊ/6«k»'ÚITMfày"´íeôÏ4Pï14A‚³]ƒà‚Ñ-i«a¦Œàœ: äKã4@›Çm%·—ýˆ–ˆïÅû˜©“ðèb½Bqªvf`ÿà«ÆÚ àù Z^™žÊátí†~‚5ñìvÏ÷’j‹þ€]÷F”Ý*zÚ ·S¡’ÊD\>­Ðû:´üm$VÚ•3Œí·™ùÒ4Cî;^¹Íá×£‘/ƒl¬à5š³jZ4¾Ç&fhÉRdªÆkU$"ÇP¶PæéåSÎ(ȃ‚·k º‡…×è:ñ‘xnÂYëSL¶@”XY¥ßR*ÑÂOr°"GÑ0ed$wË’W27 Èÿñ±göQ¼“^Uˆ¯GÒˆÍú3×›NǬˆôÞD5.7ðD؉Wx¦†¤OÍÙ¶-4ZÕÐúÚÈÛÍ0#x§å©˜2É‘¾Zp¯¼âMÂ^ú‰=`ÕXIhÆ_r—÷¥ó%@¯ŽÖ>LéñEˆG@‘Ù´òö^{/ضÑZió4™K'Y¥|Œ.ê:(¾eéF5N¤9aµMjß:¨yCÔà㯾ÄûMÙ¹ë1Ë0­¼‚€-zEÒoi!Ýpöƒl×nÚåÈ}¤0å’¼-ÉÙF2×6J!WfQ/o’ŸæÌë¡`ÏëÑŽðuÊ®oéôÁ¤sºdi‚5q[ñ A§ÆfYðÃcL 7Ë9(صÞUç—/|û”UˆHç€÷½ƒ g%æ]¸jšÊü¤†#Hž\42­@=U—àŒ¤¤-°wôwÿX5b$¸ŸXÃÎo­+Bëw-™ Fí M½Zó…3€=È4ÜóÚ£¼Â~ذº†ºöÿGô›úÓànzowaµÒ ¸„ 0 DÄü8"Õ¤k£8\ýÜD¸Š=&Šeí°qyžsBÖrÕvIFâ|Œþ>œˆNbeñrÉ>­A{Ú‡GˆxÆa&¥H U¼næ4¨]OÓ•fÀí cø¯Ü?¨vë‰ÑýÉ”+õ‘ƒ)@¥ásÐÄ’@/ŠœrNÞiÄ^ð7”oeÀÖ%DYg¯È? )Éšy`Pò5õÞÜžÊ2iŸKš:æú¼—¼Ý&P¡O¾í:Åj‡ -ìG#Qr E‰bjüÉŽJõ²O²€±–>K,ÜŸã+ÓŸ«_¿iõ(`· &³½Õª À}¡¶bÅêD¸*vïÛ*”‰}ĺêe;¢€°ñýf#zMû !Zb†R‰¸ÓÑý)}4¥Æ¡l¤Õ|t绯Â×y·àç¿<¿]$Š„h }÷ ã¢"Å67+}þ•]'˜·xþ,{–´„)Bÿa-j¥`S?—3Ň ÅöQwí·Æ-˜VUVꋲ45Õ°5\Mª!X–#¶V‡zå þm lÁ~˜­…ªÞÇ Pæ8Â…®Ìp!“X Þ©ÍÃÓï»Ö £fpX$Äb‚·¡ûÙ`½V:ÅT Ÿš‰/WT”dôÆ>kI}ž½‰kSzR)ÓH|ÈŠôä·5‚Ë@Ÿ(<ùùÞ®!ŸDa\u0\¡ð®džãûQŽ@\ØþÎFäòj³ pf[^:¡Ïo-Ô¦y¸“þy[²Î l›žþcûJÕ+7€ž‡©Ë>uòûÉK‰vÓÂYÊéL•‡µl²‘“µJ»'}JeϘ–ø#[¿o{ôb£ç¬“Û”†9B°åC[ø¾XÓ8g~`;¨îEZš@æY¦4œe]vØ u"ÕØY³ad‰ç_£t ×£bR$Ò¦n¥ì,8úX[fâéƒ'3 àt“~Gü˜ÿ•fN¤huˆÑr;Êü½6V$R;A‹ªºòºOÊ91'ç0ÄN5àæÔ?ß*ëxHï£Lö•±@SW9ÝQ·z¡šœW"dµUS÷{.‘V¼Šaú>“íÃø x…Ûôÿ"Fo¡¦ZOw ¢l®ìQKf\Ii£ä"f{zP•ƒ¸<†X?roJÝ…6ÞÐát˜+v†=p㡃¡¿·\{JSFª ×' gðqуïhKéöøCÜ$„ä¡D@H¬œœ|ÕW†V¢º¾Boô?N1žš±gÖ ö-—½Çé@E„*+>ž¨pI~»àby_IÈ£…\¾Õ!…-JYÛuΠ8=C4_™|ÐTP%¡Aöê–•r’FÄKîáØîw:q2Ñ­Æ¢æžKNºÀ:BÏaXCßÕt<›Ì°p ^®ÝmŽyü–OºfV > hç^þšhy6u€×f {ûð!T¢¬j|Ê?çö´ºþ¾¯^¨„$ºaQ p]áQ¬­ÔoÜvDO“1ŸÝTplNó‚cþ¯ºÌ-âÀaV*d„Õª¤8Fº¨Ÿ—‰¶at‘žÜªý¿Þ$ŸÿO ¼ƒßGÀ/EecÕJfÕöt|äH©äd×^Ö6øå‘î3eÑkÙ.¥ÅO½8½õ‚© ævßöB÷%…PFn*$ E’²óRq 4†F#: N+þq³ÖÓ¤ïç Ã$ÒÁiõeTôæÒ kA:‚Ψ&¼ÞÆÆB_;åXDîñB,Ï¡OK' fu‰F¶ŽÑ‚ (óípAʵUwTONo%ˆVÊgµ†ÝÐÍ„ ™$ËÖÃiF(ÃW÷GþRel[Ê¢K½† #\’­#GŠÛD½°úÐ5ålŠ“ÒÞ 7&ÄDlATKäº)3Öxfm©Ë¯!ü1†Ï±RAš¸Œ áè<¯õÈa|™Àpˆ=ˆÎ¨:ɨÙÄEÞ‹8µ ÕùÑ¥Yj #²ú ‹’Ðz¯q^Ö«Xí3W/ïÏ­4Z]l´±ZLR7áÔÜažK )jÆCÞ1æSœÞšîGo‹šïE0¶B¤’g¤w ÷ÐÛAwV¹,€ShZ ,U=;<µ¦ƒrᮢ¨e °”{ŠÄ1‘zÐ>´èò0&F ¡6[$´C}êaŠôÁ±%Üç°¶9í7lá8¤6§ ýp՚ﺭ]ÇZ`6U$ù=&ÀKñÑÆ™™í5Ôw>L´gÍh§€" Z’OQîï¨GÛÞ«×Æ×mdã Ô—RÇSî´ ƒê‚Bæ˜|íYw9ÿk“ŒKÙH£»²Þ/Á8³‘5…6Žßùmvò>jYlžS*¨-ú=]*¶4lsôÖ~œ†OL“–˜Ù\RωþÑœ-f^ØCO’{:Ô)º”qJÇþOÇü„@ÔëvIíTB;çT;•‡¿ö4pîã²÷oAÚñ9#½ÙÿÚGEW eJƒ’éX¯ÕO ŽÏ‡tóÙ‰äïܤb<+¥ÓÕÉÂdOá)»¤ô8#ôžjö6‹×Á×V꫸¦ ­`ßH1VPFÑNõQ€]~ Õç#•±ï½ñæ@©(ÚÈùïÔõp‰­¼ÓUÙ9ºÛ¾ïÕ°V®lœ-Wf9°B<2GØT±Dþ}‘§!INÁ=DÖ# .ˆR(݉ì g.e°²œZÕmé^R6~E¾É=ö–€§‹ÀéÂk Å‹¥.§µáah‘px~UOt'aÅä0ØC½HØj¹á/Òè}¬D3öï«ÓÜ1Ö/e›Kd·áV^IÓ'?>ß4¨¡¼Ü5J1†áCeF#’–n’&ƒÓÆs°×¯„C¶\ûTY³´*yAOgÉ*2¹ô44 µ°~¸mtÔß Im¢“¨x¿|7γ[€øŽÈìÍ-Y¾änGÌI¶ d·Çšp`ë³s~C}!O€\Єíbv }O¶:%úy x¤>XðΧöKáèÉĘa”P Wy‚Ð/µF{_«œÌ~j­•9S1¼,Ì àöoïîçdðd»]ÜW¤ÑŽJ”ĦhUýéRÚó_ËëÞ8žâ4·¡°}:Hn²Y™†Û£¯€ï—Q>Ý?ÖR¯Ÿ<*5¾‡ L¹»Z8 €…‰¸ÕFTvyxªÕc¬ªŒåXXûYÁ›Î--èsÑIàð#€úéåo1Ðåë{×Åy¿'“f(LaTøy()ÏîÅêäÓ`Y 3”‚fIÞo,„ûߦëâ‡ß1ã.ð*6 ? íú=[¶¹áu%îЀy=$”»5u}¥ô~%I¡vùKaÖ%Ÿ*™—ŠÑƒ±à»&JH`ò»GGyå¶g»–@£W³b:jY\A¦w¤œˆzÙj‘ ƒ æ<ÛlT«¤8&ŠóTv®Èƒ`l¨dÇpqûÇÅÉ-P¼Ò×][!ªµXΫÕ7-àæWJEžŒWuGÊC‡õ;!eJldHq#²•تì%\ãéüN‹ô¢‘LbÜòœå§P“ Ézn\À ­Ž\ÎÞ±TxMzC.fGÄt»¬LÉD­ç­Î8]÷¹û9õ³’õ´—MŽþv”Ÿ>9}íy«J¯í±¯žq˜<ƒŸ=dªžë•ä—(áw˜"ò½SÁõµœD¡ä4@»‹Qk*Á#0ˆ'\{ø~„ÿ&øÏ»MNJžL3ˆó²K$~ãÂz[ö†º=ÊQ7<žÞ°À5¹[ÊÌtÖIñäöŽ&ñK?y>™*GO¼Eõ$òú/½(óÔ :( s”ŒxqÇö¹ª^ò>„ž~b©uÓÙOíö7Áí GÞwyÚäU¬uàŠF‚?á' î™ ÂåàÊT@¦¸ˆ²¨iœp!‹@/³ì~¼~=u(bÝä5?m¥† ã½ùoãäµqË9VEñœ¸ŒötŽDÇÐùèTqGàÎpÁÔ'VÁJQ †'G|ØÌÓ~Â5‡uÖ)õëŸËÒ”8g(ÂaØ3S«M!:ËŽ­ÁŽÅ³·UèÎä?žŸWØ@FòHø=ÿPpÛ¢×/çWI³mÈ¥1]à Ét>åâÔÁ½¾®\[<(àþß…ÊôâÔ&‚¬‚ ZTDJÀ«¿F„ŠUúáΖmp0Ÿg Ú‚ÄJ" d}ŒÉCÎOf ß â „.F·ÏÐoÌda6 "«¡VzÍy9Ð 9¼:íbr¥Y©äþÄ€\_±¶•cr'¥Ì^)ý!ž/ÝBÄ$á;1OˆÄF¼úòæáMËèY„`# ‹lî8+Õ Sj¦I5U)ãŸË°Øê×|º> ÛÞB%_]—Øånßëè}!DÜÕÇd-Uë.¤ôl=ç® JÖo:õ€…n$…v.™[*'3T•ù‚6ÿnhž¥j™E/í»±YþœïJ¸ã“B‚r;Í‡Š§qgMýÎ×ÑýŠ ®u^&Ðø™³ŽKñ®ÕH· ‰D wXNÞƒ¾áf?§†$‹•0ý@,Jç«Æ¥×ÈpmqBu3"„gå3"²–Žè‚ABW—íwG5À‚WÏèã£ÁåÐ(¯°>]Y´¼$% ƒ¼¶œ$äÔ£ð™õÝ OÉV  ¡M#CW*¥w÷©ªnÝŽAÍ=^6z·•k›WÕɵCÅ8A8k-’51^)ä%`¾áw`vnwJ‘}¥Ýîñ#.x%‰üÓâ·-·ó¡,S´gN4‰uMIþó”àÊã7‰uQý™ÛŒdcVY[_˜X3P˜#+¡.‰û…tZã0RZË -Ío¨–ijj;’«…Á•úÊÏBÒå“À­3£óvK˜ïƒê(YüéåÖ$¤½ÝÇ1¤ÆðSÃÃn·êæó ÍTD¤(‚“5_ºìÔÅN%–Ì@pÍ[ÊåOîu ö“€T—´æØ+Á 1L€6êàZßrç^µYÌÝ}ß&TÏ´öê'—X1ô6cwbv بY ã¶B2ƒmFýìe/v@cîËÔʦ$m&íëÎh™"+aQøS³þ héã&Ú15y»b6œ\ÚIa^P:™ ¼ÅŠ‹#’º b¢Z~Ù¿ÛžðH§çvÚ{?í­û4æÇ‚IöàF²‹)V>y÷%£°Âä)'hQòƒ]ѼLÜ#k_J7ݯŽSzWÒҮߦó)Ù!m¢_-TíÊÆ¯á~%ø˜q¥yË“5kKèÓ[¡þ£‹û(Ý„sÛòfÙ `‘æÙ‰qŸ/9çéiG|ïR]îe‚:à¤1a[›VKÕèýÇFc“æ/äOlçQyìÀŽq&ý‡Hx63ŸsF¨§ 2G®è¸ªuŸGO3Ý­¶vàòl»Hâ˜!8’úéÅ Ý[ÝL.ÆêÓ¡îŸÙ‘ý-±Ñ1}¯ þ,BÉu\˳“dJ™y(†!P?Ý2 fšJ…ÍI‘»XÁ.ÒOB’Ìg’ÝŸÉ&Ï;’CÍ¿»‚HŸüÌÃ_lLQÿ]š«LWkåÝ¢7UûƒÃ¼–TR àwvióá óØ[Œ)W‡Ñg­1Gð {ÛvOZ«‰z\·ÒÕ~F|}Ónd èµ-Ñb_XrBlšr06«©¦ hê¬<ÉtŒ«–Çv0Ï’6Ä–×é…>£f6Ÿ.aI§gG@CÏ]®/¤×œÿÈÚ2T•üxA[0žÛ\ʲ\,h0€Cì©·áz÷-‹†Â´+xìÅp ZÇÅP 'aES•ß^<Ð×ì‹ÃzòçwìN–,{µ ÝÔŠÐðßh~Ðù_êç…iTέCHÙÉ'¹0ƒR¹ëÛÆ0å”BNX1A…§è^téã÷·ÅÚÖhÍ9ˆœÕwûÊ3 ‰|Tu²ò¨÷½ÇÕmàã¨?œñžù4ïq†}>€_ Š1P0w¹±C±î'œüVü _‡G†ƒdIŒ¦êÑÐqô¾¾'´ŒßúF½üRߌíóùøÕmÞsáxËH„ôÉZýל>V`$÷yЃ•?6¾Ï’Ý#…¢A=Pn,~'PŽò>r.[E(¦?ÿ”ºƒ.Ý Õ—Âü+= ¶ò§ÈóB…o˜™–[ç -±!p2µã á/ð  û|èþ¾RªÏÇüu¼™[Єµ–ƒºÕÓÊ\fz Dãë…B·ôÆoÞÙcˆ:©÷ŸÀ)[¿*!Ìõ ùô&— \¿p£¾Žo¹Ï¿î¤è#èO „úYú=G¬\ì®»<¼cœ¦c3„ ¸Ÿ 'äùí€X–!€dð} ã|b„¯ßºÀ›jÉ- DZ³ GØÄaj ×pxI\ æƒüæí ùo„ªœ>vÓ9“½_eF>âx`qžnFfüƒª‰¾È=2°¯PâRFÚíÈs~ÿNº›hQ»Â Û'‘ÛEÍqõÅÀÆðU™Úûç™òrDrPðaDoRI5‚d<)Y,«;a‹NÃŒˆ ‘êhòwÐB®XvøâfæìÛ,äoô¶˜ð°2…æ­¼¥Z¿tʾ¥vÆ­g”²Q¦IlRSÇ#vTˆðå§c]ʬ˪˜·'Ò³DLl‰ùy‚©(Ô[’XN¦+·ŽæJfbf Ñùö8¥7錋ȌÀ£Ÿ„$NŠÅý­Úñ Ià.FÙ¿è6’`÷)xUåPøo¶™A%T;˜²¬‹z¬Š=Õ µÊ›÷€:aK…2Ü*aÓ$íUñ™L% LÈòG¡A">¶ö°5Á|ÈWÊœꩽçEhg÷þZ;Tk€ŸÐÝ=fáóª|öaŽpøäï{¥|˱>på=ymm¦§å’J7™{ÁebÖ{LzÆ=r»ní‘0êÍ¥æšIÈYúǹÙR} ¿Ëj¿•8É‹JX®jUƒÈa4åÄᦸg¥ÇYRseA8¦þ=~!ºô—íÀñúzS€˜d7 Œü±1‰Ê X¯ÁT1~Xôj¸òxåš„­êœyÃMaSÓòFϥêN¢¼§Sç”xÝFØÓ‰ÌÌïœGÉs¨ÈVwˆÖ&ò˜1Ëýg” \­‰¦ K»qÁzfHxBÌíÁùZ„BtþšøþQËXa­ (QƒüפÜØÍ°Þ4òY®Ý(¿C¯$7]­ð¤aà)°»Y(M®Ád^¼˜P$ã/²Í"SÐÈJDŸ áÊëL«ò£ VWï¿+9óñ`í‚/ªWÌÏȶ‰8M–¨JºQ½!¯9«¾D×°8»ÈPÃoó®¬ §”ÀÞõPT—†¿í¿õý‘9²—©à€zÚ$öÜ1±¸}ñ&ÆÙ–g ±ÅÛ"’9ŸuaÑ,¼Ô’" p°}âíŸ-Ìei u?N‚W`&£aXA Œï¦ ?ñ6ªn´Wøþ)µ , ÏVhf¾WªªuÉOöbu9±…r³ðòš‰i•‰ óÕ[uíFô…$5™¯Œ6pÔ¢åŒd¢4üzÞžÞ jk†1BÿÏ{'³nk%®2áÏ}_‰¼VåSX¥Ã=Ï²Ä²ÃØ\·¿àIvq5£Éa"ѵµ§QN_†b«X´Ê0!áüTÊín?ÿÍm¹€ì|rãÇZÏ(Mϵš²Ê_ê¦}¯Ï¥€‘ªÑLH@ÜɳÜ9v“3u‘lŒ"€P©]:ÀL«ns Öº¯ ¡\‹x†Uøb‰è_„":÷µuÇ®Åó²aÂÚê<À‘¼Ž3š«3Nˆ2eá SDˆyQxÁY= ¨lú:${—¼s•,§~×u®×%A¡Ý„gºÒºâÌžMAbú<¼6ʲh”ué5 c…ã‡ÀË9…ÿl£$¡×bAÈMîè(9«£õL©…°ÊEz«™-Y°K¨×¶9hßi†NÏpKÚ¯ªÂΪ<…Êèí”Ãß}Ëg¤Z¦ˆò{²Ã)_%òY?á…ðþ–SírSݺö¨Ä—RHM:Ř›{#BM‘spÏíf0éf=ß,ŠYQK® JÝûj¤ •cîù¡;3ÊÏ~ó%Ø&À¡–öt¾™ÎµCñG’Ò\€¬KQÝ‚`f£è%ÚR«äµg÷”÷ÝùÍ"‡>Y\ºÜmÛÊûAó¬ê¡×T:Ôo|woõ‡ÙGŸ¬Âï@ÙèTüFj˜ÁñAñ¿½Iüú´íôÚd7­ÙÞ>]o+H¢Û̕ﷸ,ˆ·’ŠsÆä¯4ù,ªùúM‰Õ=³·.»5éôJk!Ú,±ï#{}TÜFÀî°ƒÖ¦,WE¸‰sGGdÁ•£¿ïDí‘„iÆJºKy¿BYC·KƹÌzv„!Ib‘!#¹re¦ŒD0¿Ù5à¦#à®.wräÎç ,Çœäߘ¹‡òþoj*åV1mïN› ³z˜ÍqöËÆâ~ûj|Ç´B¤gý7`»ïFûWýT;H!wåFh>¤ZÞåh®Öyþ5dÏÓ©’Ê pl ¿YÈÆÄ ÷g†52Þ[àmÀ« 3Ë[ì[H…UËU©pçtL\¹Ú_/Û{ø(е×Núj.‹} •/Ú–Ë4ø™\¨ÈŠçs9»2îBñü¬rÁ.üÕ(칤‹÷ÛfÝ•†Ö(êJ¯“JhD!±ÂI JÃøá_>?Ëhv!ñßÔ>Ÿ2XØ@É?Ì‘£ÍI„LI›é'W1uN(›³x‰î.ñÄ’ýGÂÍãtFKÏÛÍŒ0H8÷ÁÑGdDÍŠ”ˆ_RÙ ¦Ž®5ë‹4vvÃ#‹^Nңżjµ_ŽP0ÿî.¦)T Îv1D!¢“¾^u5"«ºWD$VQнäa™ÒƒiŒ˜)·[„ÚM1+­·Â‰§C•·õFέânOÇÙ²rGBz¾-Þú— VðoTZ¡iŸC}\úè^”B±ÎÏ>óºZÒôÿ¸$½“÷Ôžµg†n¡9öK™ÿ‚¶saâ®[¦M¦-oïðµ0½«Å5ÜM ó]ûþÉ¿HO˜ýIËXXÙ©Îm¯«S`­«dܵÃIqº$¼Ôáñ²¡ª#P¸Î¸¶€yr£ƒ;Ò‘_dÒB(–í‹äê™õR–ÇnôÿØ·Qå„(É Öx(Yª Š?›ØÞñ•X× 6,¯Ãû¡ÎQœP^ʨœC±¾l–½¾‘•ü”—)èµLÊht”#iPä[–×Ýõ+3Ý–msíL '̘Ø)ÐÎÈíðI[W¬™!³Ó¤ ³Á:š;à´æwQÄY3F» :þÛ)ˆÑTy>|rjPb<ær=hnJçcÇ;¬}L£ŒçÎ*wïgÍ)wn!UÌF§å´dáëÇNúxœžOJG¼‚i^/W ©J õÄPQÆ rî‘92¯-?&¹ÇS(¶´kï%Gh~èÝéŽS‘)ŠÐ _e…‹šd.,üÿ” ÷x‹2M—õ„Ô«((íWô1¨ëQÙÇ@Y˜ÎŽf6†ïo†äÍ~sÜ…¼ xÃZGO J»œDá¨Åϼ¹KQè"¥R-,Ä6ÒÈ…ýý¼®3ëKpxY%všl”j È£zŠe¿œÌZ<°ƒFWÉî;‰ÁÎñmM–MARϲ“¥Väï¶ûG‹zjq›UÁHžòØzªÝÁ÷3¤ò/Æ —ŒúëëŒ5hŽ¥Ý©.TüPÒµxO̤‡Å ÄÓDß̾ôoºCãòÈ’Â>¬M¸Çjë9ϵR*³÷¢¸µ–ÝT°×k~¯LFP *7\ë¥:ŒIÃS'aÌÓ²*Úª›Ã}hµøkqÀKÀ‘.Ÿ†¨Ÿ— ´$ÄŸ]¸MQ²±Œ?Þë‡Ù¥ çÎÛ«rÖW¦i0c¹ÎZ_ëÕc–8©D,•ïu¿ ´Eù¹Apën|?_«ˆ…Îï »\¿¤•(Vi·y}½|.Ê@%™q. 8¸LèMîcÖ÷Wª»“] —ãÑÓåHXxç$–f€9¾!€¼…3GÒÄ¡ŠS}°CRò —¼nÏé£/ šœçfBÜàCc›îÕAÎ <¡^ÖQu Þ2à×îóó®)s4›õ¤ëÉ]Ÿ…˜Š›åÖ²bÖ&ƒây96ÿÆ'ÍÚ×£¼Ö¨ÐÅÙ–P":›#‘ZAg* ŸÚë¤6‡*Ïî#k¡eåkZ‘àC´JÁß´™Ü¶’ßÝÉ©ûX#¥ÇÃQ#ôK¼ýBéÆÞsW÷p׎•ÿðr1*òåÊ «%ÎwêÕ%I§b›-H–Ì3~à ~A*ÕÃKÉïMv9O¶8AÄ­è0OT ›BÓG’¢ÕZò.Wèïú€cÚ¡³8ûZÏm½Ý_UìTa3Î2£nk^ªúëÇ#Tofa91)â>në鯂_Ll°7œ›ŠcL¯òSKqK™¨ÍÞJеEI]`‚ߤÖç3b¢ôÂENÙÛYÇPqGƽsµ:›E¢ãÕeêÀbü¹“Z½Ÿ´¿ÇhX#ÎÎ*K”ܤZÕ¨ÝDŠªHZæ-ܺŽXY©Ö¿ËÂc‚^ÉGJkþ<œlõ©O–Y›‚¾»öê”LLä¸U¥ô‹‚XïïŒ` ”d&ÛÊb\„ øjº»!¿#HÍ¥ô¶j3gÜQ›×1xÎŒÑ!ׇqü­ÚæqtbÌK@Ï]ƒd[öÔHO`±+&þ´rNñx¡>¨|ý}ÕÈë “3CxíMÅQm¶µOU0ÀßnÐNkÁeF(PB¬…‹:„HmH ÓñhfÈ1³…0üŒ‹«a&ro1zèÄudð¿ÿ2£±žÕFÆt*‡— ‹¶ë=–!+°Ï¬jûP»U·óÒRºxÒï+¤™t8”èƒÎ$Ô­¦—ü ™þ&œàîf;edŠc…ÝÚ̆æœDÙÌ},ÉçÁÞ›>Ê7”æ’±$ ü1Äf€ÖX]ç¦ ‰5Ûñ (˜vêâYœ ÈI¬ÁÿdÈIÅÓXI'({­ç«:V³Aiø“„•Q˜•e5ܤ™þ~ôN-S®’•B¾×>E@օͽk@@!0¹ú\uÓSìù2¬Ï±í&*Cõw ­„šQ³äk€NõÄÛ‡pÞ ¼4ƒ¾†g¦ GUÍG¼?rŒ°…> û,À$qШ†õ‰æÄÌÉ–•Y…š¼ÂÌlޱ~xû\¼c;°ÒÔX%ÍÊ0c¡ùåU¯8ÿ)ʨkê€ðOApvE*±r41âZê_¢:ÊHc@úƒFö}Uß:µî°Yì/¿ñ%п|*d«[ ž»{v<œôÝ ç8¥wjWÔéw»¨áÉÚX¥s‘ÀU‰G¯áUº·Ivþ»ës‚TS!†SîÅyì1WçÂ#C{\·hŠfçßNJ ðÓ:&TÅ¥Q×›cR4u)E»Ê™k_jfÙ³üÿ«1V¬é.0ÊÄrÒö¥z“˺~×7ÀUS)˜'å0h£Ï[¾€jFë¹6¢ÏᤠŸˆ{’KQôk·¸KðH;É7¾þ_­Jn +ƒþäÏ?ým CÈ^˜1ÝM1x¤^ ªs¯’{'Ë@®…?ðÆçx…d½nëûò ÉœV¥u»9½)qMl3 ‹xÒr& Ù Ûôé«ZŒó“Ñú~fÝ3OOSp©—jË,RAËãwû"¿,ˆ 8,‰|xï´¹;¹âIí‘?•¹"ˆèˆNïÝŠÓQ¨ÄoÇ@9ÖÆ¤€ ƒ¸"¾D:LKÒªòÿy)Ìk3^ŠçâHCõr|w(¤±ïò¥g•d{ºCbmîôþ6Ñ3×ó?­h°–8Œ‰½ô²OtùOc1 E⽩)LÓÃâ?xú„—îJ3æüµa€¶t€ªà&æy_Êrð®ˆOÆÌ5Nq@Ÿ[£šóÿ⓹k¥ÖgžÔÇ`É([k.`+½øG²„¼SÛÒìjËhV!R`°Œs@Tú@ì@Àw’†¼V‹ì(“ôT©åÕØùfvkQǰ™ñÉZ¹À¿M'јz:+>ä_ˆ‰-=ÂÓ©õfr¼<>1sûÜ»j6ÓtŒ»þƒkSò‘‚+â+BÁ””ˆ0Ù›'öMKt™¤´¡(B*§BŸGb©t±i«¿;›Ÿ9¸–ê"_ÍP;»cFt¢Znb< ¯þa>È]Ѩ.µ ÄêVlß½R€E ÆšÖòž§&á&KÒbçŠð³:}Ý1ÈC ,k\qwÝ«œÃÙí0ª ©é²îG$Î:QŸE°[°‚°¹ø…‚€¿[öúÖƒw‰PŸPz(mµsÀîæVhçš'üÅÉü’#¾ÊF)žŽ²çQ P€ºA £`>¯gÍJÚ_ þߦ§ ⺚èN©‹Ÿ±¬G³t§Ãб|¼R¿ºnÌKƒ]íí=‡à „êóÏÓ’ÁÁeGvÂÊck¶«,HȲîÚ7ÁÎð:Ö¡$â¶Ç¥Ž.ê ¹ö?¯Öf>7ìÙËB˜ÝßEq7lÁ1”<¥;,片Ô;Ý^ÔSãþqQHNNgZ}vipc!Ée±ã¸•~£+úuteBD¦cáD¾°<»•®×;¸Ã9A«vàp[cx 6QJg Çqí}vÏkÔŒšË¸w) J–âMŽ—JÝü–šSÕÃfã"Ò™*ˆP»«ÊáÅn³»p,œ*3ÁüßクªÉ…žÔ†Üi°Ñs@Õ>´5ëØp0Z„ù2:ye¢ÿ^<·Ì= ¯¾ß§M[ü4åâ¿ÕÂ÷^düÎÍù¨yˆ{)±þ4Í®Q Spw;¿rë0LÛ87a óqX¶­QƺÀ;êdZá…±år÷D€åÚ}ÚáÑ‘Ž¢ò:>(µÍÝÝæ¤0´¹E¥né—!Óš1RK\·è0”iV´É²'NJÊð#Ÿžî¨ç(žJSP h!A@LȰ=Òc”f'‰ÏÀaK_öSöGõZ–z€ê±KæŠcî)ñá˜Áâ]^ÁKýЪ­®¤åþ{ Qh\¼z/6K@Ms­8·xO ™Û7VÜòH~ö¢£ ›Íž]¯7H-• s½S÷¿Ár t¤È„áLQu~¦Õ% @äÔy’=äXY;AmýýÎãëhîÖô·¼xõžik #ÔNˆ¦Ç¡¬M‹ð—ìÌeÎŒêW(¸îõå9ìC2Ec±ƒÌ¹/MF”°áΜt©öß ¶-#r5ÖrÄ'!õ™æw˜©4{jEmhb:CÅy CaœÉ¾Ô[0Ü.AˆýžÓ3`yk„’éI Ã\)Nšb< U÷ 4تÌŒñÉ)ÔNvü$¨Öð‚~”ud9Ò=Ä‹ ¯å‹Pçü2æ«jÏ…ñú˜ëRÎ:ù™Ï<#4 '»Ê£kžÊŠ3ƒözÇãȉœÃK$<Ù ÃM<ð‡°|ère1ò}2ɨžº­ÿÜž/³µè0ÃÏtbÌÓrž>”*-lô[MßêciX”ôgá´@Óâèîn¬(šåHë¼TÚ´›D‰ŽÝè$ÉŒ’YŽÂTèÚ‚^5‡y pä >%L)üFòê*1Ó4ó#×fXÝô}˜ü9Ø‚?´\7‹X\m/¼- ‚B­› ô<—Â!øõ½ÅKò0}·øQæ³V]őڱ·²ÐÀ™ã}Ëôžg¨þDŽ›Ö¿Õo8bê†7–‚ï0úØ4ƒu˜Š*#IœŠ ò±½<{'ÞWÿD—å3Ã÷ÊJÔ›0`º7Ym”)ØTLzF›žÌ¿8¥­œr5Õ¡†á5!TD’ÒÖ ›?s9ýD&”h?ÆÇ1º—ß_½o!ÌœÛã4ˆ8éÔ ‰HN¸­'¯ìÐéüD¡¨dªÍQ6¸0ŽÔÐÌrÀÒ>E Û…|˘ÈìŒ1¶ŽIdR?3HF·aóñ1Ýåg± &–]¦D÷è?{É_AP¾™ô z(±ûZ·dJÉÞMó´£ê÷ÄóUìeGòìΚ·WbSdlÜ䈆ÃcÅÈØ§2”±»j[ Þô÷ÉcÎé–é•Îæç{Ž6v`äåßf½Bˆ&ÚNàä—f×$õô8‹Ï$’³-i/t´¯¡Sxz¼÷TÂAí›âpâ—Úú\KŠítqù‘LóèþÆ«³YÑÎ`úD%'ö%¥ÌðüÑ–c$%bw 8x—$Ý4™iP)ÅÁ dÛ’µv}?ù›§¦‰ò´2­:nZÞMü|QæUþ°ô“¼—4¡µÙqV:r5ÐôÌ®³ÒÊIƒøW…ÿ&t›ë¿sÏb¤…ìÖ(¤[bû‚0ו±±y%£™ªv{ívÆ÷†Ÿ{ F€©}8ª`Q;±Ñ[zAˆ]D+Cã:1>XÖ…• XRA‘nB,yât­C™ä:•¨|Ó< &¨ h¼ö{­žf(LÓ8µåé)‰DàÖ~ëä2”$bO+x¤žÊ¢G¨»w3‡´þ1S~ÖÀ´ï*(àÃ(USsñ*GìDZ¦Â¸µÊ†f„ ؉j…»|“šC;ÿ4)ÌåqÍb§>cùé䔕â} ×q.”i–!ÇOÄO¸—~ÆžXìq…ö0ˆ<…!ªÈ—°‰ì°™±í\Æ£L[ovлÀè­ò>‘êØxÿ/ÈW'7•Á2Wüýý8ä:NX‘ƒ¹:c#†»¸©JRk†Y{‚Ebx}›x[†:»;¯Æ á?ÜÍ”}å›×!@oç»ãÙ‘æJv86ø`,æ!°ßluœ/™1yBk4ÓŸßRDŸJ -YãI@·ßÿ¤•³nÛÛ´¦õ(ðBÄ÷!‰º½ÀK û#¸P~^o<·á”™Ç€¦ßè¹?Dë‚FªíúÄÀ&Sç·Õ¸”­èŽJ¾í^4¨-èiÖvíUmhô÷ƽ3/ñË´õvؤgõí 6x¹÷ó·ŒïI$GÀßgçäóM4gŒàþ·cMCHoüY°ÓEHÚ½B×dYÔX·¾nóWj¾=´ õÃÇHºÆèš™»)âýo8´ŠaBkë »uŽvl\¶u"¹òШxŒHÇ°Š¹Ïdä¯ú7æ·™ÆØ±¡Ý¼2ó>_ Ü8Ü’ˆn?‹ ª¾ÇHWjõ*o¸®êÔ‘:ý»Up-±­<*A(ÃHHÀAU—€›&k“^yÄo f~Ô¤…¸ýÐ[LÑ»t,!¿Q/F½\'}ÇáJU² ¤”…Ã>õ@RÑ =ÚáTÉ_!q†ŸN’ ;™ ëš?²’ÞÓ0ÌÉð~gj Wå¨Î¼$hnCˆçé€.i˜ýœ×j·C©üÅ=ûeˆ/F3+P# zŒ‹z¨°SæC³òÐ;¢„Ä3Æ|q ´e¾Aâiv•(‘jå²{T‡N´ /IQ§Í»/e LÝYOöÐ;Äì”$%ë\Z'° ¼À„ ÷€û€Ö¢þ^µèØAIo…  Ì tüÈ;%ŒF û»¨ât‡è†Ê1XÛr쿨ù¾ô¶^C¢5zç½?ªë“ÕŒÞ3S©è£ƒd"…ÿmê5°† pH”­/'´¸\P¬®ŽT×”ìûÙ“‡Xxr{­W4Æ­ª°GB²ÐÙ´øŸÂ Æ·×¡LŒ'.’bºÑöâ‡é@£ü ¨ÜC'zÅá tÕör¸öLlf@sg§å_ùtÕ¶ H*üú~Ò‚›{ÃjEtù#˜æ ×K¯Ø½h¸&€I"¹º‰5â ¼Mç1°2©ômËZƱÓ#×|¢‘]†• „’@(iº ñÁYŠòr4gGHäŽC˜¢Ø^îÄœZr0ÙɬH’4Î×ô¨— .­ÉÃÓ©f^Ît¡ÔB|WLØ~y|(E»žÀA‚ލ<3)+سh0ÍœB b6—òª¼ôÍ;üÏ„¬°†Àî™ü<œÄ“ëQØÚ³š$°ýµš^ÔÑuý¡ÕºðÒ¡Œò6ƒBú½>í*<ëÚÇÕ¦$ºÒUjâQUwƒBüA­Ü\¦›¼Ý§Újײ d#wÇUKy÷6KܪçZ’˜Æ¦&µ¿¤ÛaºGí+À~šä¶£ìt¬Ô)í"‡5¼ƒµLS)$†ú@£ýœÅw>¿’N8g[ˆ[#Í4DP›â™M’ìôÄ›pD_äœ@™>p¶ú*•Øã€8úì‰jïëÒ›Ó“óœégH¼ß¾³c»™P5C˜g°7„7îØÚ;×Rü²âÎ-–õ_\*¡¡²{9½a[`Ît#§V÷û‰¦˜¾÷˜jKgb‡™Þ÷Á“bëV3f|(Y½èÿêÂcRÀÌ¿sׯýØTöìæoõ}ƒäuN©«Íÿ@1󨓥¦ã\É„]>iñfv“|yÛ*é%/}$}M[ÀK=RùÍUòÑó׈8¡M=X$S8»"qŸC£þ„jéP}3(cµ—^ ¶Šlp»ä½Äð2ÝÈgáT”?i†ê_¥-%ÎÇÁD!-Ãy®ö•¿ÄºeEñªý)íT My7¸ÝZÿ(¹z@‘iî펗¤9è\‡·ä娱²?¥†X´ñ£4,¤*Û|oróømùHˆl¸«·hÁrãÃsî@A©@Ö[PžxG?ÜÖ]!WÖ¼¾Íܘä…nx/ò–W4'ƾ<¿¤xakp'×VtÐÀîš—ÉžU§2Þ±ÞWÑ;d'# ,ýç)j”‘¿lÑöcê¿âÝ„ªÐ%lýCáKFíôkë’~sžNâdI_˜pÉ!×/[nÒ™ï‚ J/…»çža áÞK*†P1{Í$a± 1™?Ù€ö7Þæ\/LW²¢¦E®d3vÙÉÉ3y¨‚ZdùgæÃ8ÿ'S¢– ûPjdY =éÖ­ÑRÒ,c#Un$RkF2LoUNØè˜ü30èÈ=Zˆ÷‰z¥5„:Vµ¤­;³ËHŽ€;sYŠS<¸Ì88O*æ…R‚ö¡;¨"Tp^ˆÓ¤ÂbbD¢Tè|BåZñw3„žç3’žKàn ²>½ºZ¨¡œtò›ÍT¡W#7Bȯ¬ŠâÖyudcéjõÈh‡ÅåÙƒ”ôïmŸB™päZ©öüm„~O9ö«h“©~’‹åj\Ñ3¬“l+6…´¼ú¤(§[—“ð±ƒÄMCp’é%,/–Ç-–=ïE÷„˜oRU!øêr°Ÿ7EN‚è_UŠl9²BíÖ24—ŠêÄAsDV(hûj^ºeµ£&cňˆªàW#oæoM2 Pð¨ôË~öLi(0®(Õ:Åï\)&Óôüt7Y¶…! v@sa4S½‘7BÞ%C¼ÂG{–¡¬µZ á‚öDJ­¸ÚyÉØ}=ÚçÃö:!…ìŠAbA?&g´ÁIÓaŒÊO½ÀÛµ}¼R݆¨Àe¸Âüdí^»ßÙŸÆEå%€Ëü÷lÖ$àY¨’ïrÖWÝËËy¥çüÔ MŒâ|ÁIxX—wƒX³J_Ü*Ps«·¯[fŒMQP2H\X¦ÛÆH î›$¹ÌLj3âÁň!†Wi*TÖp&·Uéô~學ͺ1·: ÒÆ{kMWÆ$!¬ø–­¯ŒE»·âýº­§ë‚ç=€FS~˼m¼P¨ð%øBáÛ¨n)ã Òd{‚N$¤çô_ ?.ÔLIÛ»¡§hp‰EßÛ÷ / j”îá.†[] õJ·á´c¥p@É…ݧú·¾-”MJ<0R¼·ª4•0Á°-J’Çà]!¬6yKÂ#Ìò{n¥|_î\ºÎÎüRPY·uÖ3µÉ¼2S;T;b{ß JQÐÁ(_pÍzS(a2ßÌ»á AÓð~l/m ‘=j§Îœƒ2À>7¿ÎÛGó†)Ù ÓÅ™ä©Ãë:sÜ6°kF~!¿òl¥ÿçÝW#é_õü4œ–ˆ¼$ ,° ‚¾‘[±©AËA– ü2Ù/I“{1ÑÓöÀ °à(ðfž~‹d]¡© <íÕÜש “*Jé ªG²ý#S_´Þ"“U[yÒ·-8ü¶Íñ ' æÏLõ.g~ʼñ*³*>!ä@zÅšpîãÒ%ÂÖ¬¹hž»Nª‡TzR]—ØD´Ë¿8ʄʋûd[Ÿ".Ëø¹”ö¬nÔ(íÛä÷^±0À¹³Ý¥N‘øC.,-¹Ä‹X4»ooÀÜìÌêkËa×¾VNt;OÜŠ?Á!æmkˆò¾˜¦h¯ŠµÕ°ÕP—B&Ï…ë󬿂Ä÷âv»Iš©"ó7Š8ÝŒ—NÇáDÛP»¾‚ƒ²·öüQO@j†Åç=}Ö(á;å›Ôy3@tÐlMiùŽï”ÜíB8¬jAÞ^µêöŠ[ïÍôÿ4¯öi6Ç«öµŸwtÀ¶R³ÛCL,ðÓGSx0ÓŸ ë0/ÿæ+¡§6³4±7^LåH°2,ºÔsAÏbÝynƒ7oÁõSñ÷‡Eܹ=b*0î …Õ‡ˆý‡{úT½¹à €W“TÐöËØŒôÉŵn6ä}™zåößøîσ×ÄXQ„ñÚWcqt@÷¯e dE¢Þî±÷BOÙ̉Ÿé¼‰ÓÓ:„Ûwƒ}°\_Ï+N=}ŸO2,E[c÷!k 4”‡ëaß oÛ!Og»‚×T] @Íø{sŸ+a"Ö’{E«ô!š³3F”îû¨TèD äD&òh³2ñ÷ÏkMcCœŒ“‰wp‰8w(ßð-m‰ÔÐüaƒM7ÝŽúŽ0¨Dµ×6ó›²V‘¤ÃX!ÍN’ûüƘëÜæ"|k© ‰*bC7É"~“þ)ûAéøNä*¹{–Ô˜·ÔG6¢Î“±òœó›å HiíýµÓó1¿(uª|X‡žþï4àì¾ól•÷ÓŽI¾P‰#b ¼ÙÈVÃ.L*±¯…\H éÚp5 Là%Ô£öŠz 6l,ª9ÿ€¡~ ‡ÒÎ âB,ú„;§ /@мÜg4(©º›H¹‡5ÿd'ÚèªszGØáysufUÔÏñ¹«‹ÑæÞÕô^“S_œ‡þÏÔ k/OϳWùÛ†z£ôÇ{vÙ„„ÉoUJ%è(åu:$€}ø"¢˜¥„ªºg béÎÒi7ï )ë–}¬$‡¬,UA;¤ÙU«ÂG™äØ\*|Mt§9“ÐÏ ¼«PÏŸÕ9ÍîÞ›¥‡OÐÌAÉK~þx)É n>}øo«úƒ¶]L¦Fšb†ðÀ6†GÓÕ˜C°úhç\˜Óõ䟙—YþÌ’;ŠLz_÷dï*?)ÏXtšæuj¥Ô&i+y,¬15`ѧÝbÞ鞥Ë!ÁÒ½>·ëã –šÆ‰¦×~Q9û*­ïú6c~ûÓµ=½ŒFa<]ï[Sœ{@VøH b¥A² êq¶ÓžŸáðQã·^léEñc•¬mà<ˆ.¡$ºíñtxÐsXË ¶VôžÓÒfßOhè‹a-G0í²_cÙêϤ4-Z©ýØ-Šô’›»lì7ÂcÓÌ~Y)Ÿ9‡©¡µ¢dË´‘hó™A¡ ®Gâ§Þ6ÃËJ%ÊIc`J¥âÒö@‰ÝÀÌX`Toñ0Æ€ª.â)aóì5ªj6åê‡GnÁQ5Ùÿ Æ1}ÚìÐÚ•Jx®L ŸRGè·Ø5[ÏùÉÚ®7fÎb…±=óÑn³ÙëÜxÞrOÌ3ÙO.šÿÿ½‘›´$†‡,9É#'|CDžãÝ)(øhý轆çÅÈoZÞçê˜^NS˜øc "È™Š§m¹nE@¡<4‡»”áËkúX³Å`Òe¤¸¿ù§W˜YŽeqn#ÍòùGè,æp Œ-‡~þ”âuý©P2®ÜÞZa”¬ØSŒwĨ±iIùƒ@“À DFWܞ祵.¿Òk/¬G½¯íVfËóáL|,ú…bêV²ÔM‹4н'àê0Û‘&‡bYk%ÿ!Lœ¯Ø%ÿáš;%>D‡[ŽÝž¢Þè“SB­Ú4£yOÛ}?°Q@Ö –º=B}~ˆ,Tß/²ì¶X¹'œ³WÁ¼} mi¼“iׂb_í§Á•̪Ùr໌¤âI½ß*8…º?3;!"› ¶t¬jç~ÙVÿÓ±³Unê$ï`gcàŸ_àj>.ªuÞ+¯îM`9©h¼ ÿu_N‰°2ðf$b0Š~ší…Ñ%zjˆå…9ÅÊÀ½„']£íCª0bŸEÙ> ,S#W| Õh1q@eÏÄI3_i¶—oõþé*.u»½j೘·ÅæÉ•ÕùÇÑ[nDG3zàü¼}BëM$2—ÇÉ ™V¹tžü­¦Êâ±ÑLŨ”3ÂSVÒVÛ ÈÑ´BV|`åýdƒ¼ö¡\Y…¢¢ l€žl¬À1’<ìQ0l¿$rñzË„ ßà µ§EÅŽ‡Q«["äCT ¢9îEÿ†-†|–ÓÚA$w#šÊ¾²Þe?‚RþGL½\‚é’蘇U7Z:sbK«ÉtâÚÙÔD,À?š-J| çÁN§ÿ’Ø(©,¹zžººS: ‘5Ñ »)FîÛˆÒixr>G—P0ˆáÃñ«¸ç$2@ªûÍõklpÖâ%UÍ^'Û\‹ï²½¹@]!ÖKí #¼k#‡úé¹KgŠ(^;/þÉIWÄ`ØYÍ0‚ÏœÙ!0Ä¡6Ìåd¸¨ÏKŒ]ȯó|ŸÔýˆÞ*½• ç—‡:}w¾ <æ™àÆóì#I¤ojIΟ¨Ï¶F¶¥§u7bÙaFè«õmhÍxÑT<(“eBv˜ò„+*g‘O0lû~ɱm~tºT_;ZFš7'uHþü+U‰è? Õþ„\ëÈe-Îàk] Ó„ ƒš{‰R†ÅÂù±F94À™_ëç+|‡1NyÆ›V¯. ³Ã¶zëØ¿¢’„ëëšü~6—g®?Ò8Òà€ž¾è„šZ¼¸(Û¹ ˜Ž0ËCäÐ{3þâQÊ¡Öì©ØvýõˆF‚Ôm-Ê÷÷hžçY&Él@6Z,­ÑuÒbŒ ¦ÙÝa‘§rLáë‘qL5a‚•ŸŽvr†¢W¬Ûoxß^PõéÜå혼6ÏY\rLíïtoïÌ}¾˜âìu¶çxB.V;ƒ¿Œ`ûÇì¥yuUiƨ8½ôÞÝÙƒ –ºÈ«g6b8Î3 _¦b"X$WÚ?žMúm>²@YÉWÄÿÝW£þädŠªŠ·TñåÆÌJ@ÓŠ0ËñQõo+õfWˆ?U¥öÅ 3}HG ¢Â-ör»kˆ5Ñ­P§¼Ô¸¹ Z"CËÉ·Fi6`ö¡/ Â`E¤ò^Åö9NõK„±ðpÏã÷ÆQSf!zA~×:@¿E†äª±íqd'Dž|tçyV¹¾g‚EÆmlÙá=<ÁBfZrxUî·TÃå= ÷?.R¬9ÅyÀ}A§ üqk5“å}âòms«´£^æy,0ªó¢°xHÎ[YFqà^®Æômñ«®z^‚e¿ùð‹¤ÏÆð÷'ô'HÇžг½Úx@±?G_sÝj‚dÙɆçB>Ûïpo`!E u“&À)ÔR$´?¡æ¬ÂýФß^ôЏmÎOŒ†›Ædµ&Ì>tázuxãW‚¾"Œè~§¨ž!éa–®tå¦Óðêó’êÅ9´eåN‹ÁÃ/ÆÞC’§Ç×,%رU‡óA :u¦Ñ}œMR`¦¨@HxÀ+ºé ÿ,¡ÿ|0ÞÍ”r Iu•oZ›½6Á*í.[ɼ`™Q´pÇ9ؘ@²Ùü¬‡àÏͺã,Z;ê^üœçýhÚ‹æ[ÇÈùÚé<ü™°‰;lr´5Éý*¼FVYZYªÃœŒôº-v>©r±%E†Ÿ­sæÇà?F¼¿øÁ_¶Î--—q¬¤¦Ô™‚òÐ^Ø·E:‘Eɰ&WwN³.í€Hšp nTp@þW¼`<¡Ø¬úûwìßùún[©/+§“û޳KZ<ì5VÃ]¤/S¸º¼(p‰úæefpSÂ!, ‚éÙçS¸!ªŒH&¢¥|ÿÒȈCB„š±ã¡)Èy®ä!Ù§ÁSƒ+“2p;ŒââM›?]ô•Oqøn#¥£@p¡'TD©çb“Ç6£Ÿ…ר ˜É@CŠùÌeI‚åà=~_¥#çȯ•=½Š}Øæø|ö° ™ï‚ñú¿Â·ŸEziçÆ”Â_dQ»Hû#tê Êmò²“잉<¡Â1œUäÐ@¡6#œô“aZ´cD•C¦Lûa]6ʸ°¬ÉåÄß!ô? œM˜.ßÔ€¸'Ï=@ä3H7ä4d¾ÿ¹Yx5CÄG!´‰L?yI›ŸÍ°§î›ŸëEž˜Ãc];ôàKÚB'¶…LóSÿ+›EPWù§¸sõ´8Õ–Žç*¤Ç–GÕ³íÝâL0hW§¦ýýÝÌ«8°²_]«ÝÀ´ê<Äœ ì­jN1 æQJ˽_hîŸ×M/§õªS‚Ö})õâ+Y*…{¦dzÙ°´îj²{î¢ ÊêvÙtºs£Íý/P×ï-ÍSìP - Äý¿?ÈûÁ±}ã æWË…5lô¹ªÃn¦_„•ËÄÅ<•QÉ€žC=Q¡˜ m/ÏXï_¨®p­í 5ÝAu~|$Z5º/8{y$ÏPáwsíùŽð—K8]{:ZÛ&"þŽì|jëùÊ ¥L÷cŸ!Âä´zî;‘6}$Ø‹ç8J2‰Äè~Ÿw'”FI-ÌÓ„A#EÀÄX­cØySy@b™d Rèû9àÐgøÎVR&4pàF9§#€p,—ÅŸ]Þ‚»Ÿm €×aVN¡ì[œ“cŽYÃ"?ê|·/«ÏsfCª˺ÜÂ:–Iª–jBÔ…ã3éšC~íC؈¬GßûrÈuü¦á%Êì²Ú%øÏ Ò#Ëtß~IÍ©é%JK2f%7ådÝvl§.dŒŒULÖ“©uj„ÕzÅæ]¡õÇ'A†oZæà'6ÍÿÄ…ä‹S3šÏÇ&7§ó§4ï<5‘óõiÖhGŒæ*œu‡Hç‚ô2vË×Ó_WñŠÙq[µCsùöó<Yyô>Æ™˜ÌÙÉÒè}Œ8ð¾¼Áp†¤9hö !1Œ‹ëÐå´­“1<„„ðÁVE4òÌï¸û(ûž 3Ç$s$Ù™ œL¹“{Ú«à¢B#Z§è*DñŽƒXdžµ•Ê>­ŽšWŸ˜Û7á—>)®j^3ƒ?_Î6!Y="Õçm|3LΟïPA(u³§¶ÏÛr+tÊìZ‰C¿[;e{ä/Ü5Ë.“XJuzo—Р)Ôxoúm.ñˆJœßtÝŽPÒðˆÿ ²vÏ.åüú“£p #S G²#Y[;%ü2hÐw}'DQéÏð Jÿ?¡Š´Æ<ƒE›Æs;–«Ö° u}Wá²'šð*8#ÙR^ŠK©eˆqïßhÓHàòßÚ{p&fã¸Ùɼ¢Mü.ÈJŽéÎnqå¦ÐÆÛ£åoý.÷vRœú9']ôÛFà¹Ï˜Ö÷‹ @²‰ýû9g|&¦b¹b:ŽŸí¢TsÎhëØ0EÊZÅIzÌmòèC\ë %|]Ç ðÕ‡nHÒÝDÊ ±L gVÆWä*õœ^kÄ6ÅW…1öo™^üh鋺lÇ4›AWOm¾4ÿÒÎ öR/4i"i†ƒ²$ V·ˆ¾ Ò ÿ@_ð_>J DÛvÛ.6j~2ºææe5x\u†%»þ?òUiDh#7£c¹Ëb–’3¿ž"§dÁ`í¤ßγG-R¤ªa¬A+»Îäš4¤$àÝh%‹Ž§‰K=Ùô¯º›ä%6û'ªŽÿ6Ø 7¶Þ>ïQ¥Nfùp$ë–? ªd¹ãK-_0:ÃÈ3¯Ãhx ˜_¦y\#ƒHŠÂˆ¨Ú†»Ô&áß¶*‘KÌ©ùØþüªV#¶@–»·鼖ί-'بmaW·èŸÚ”­:ûxn¤Õ¹`•M*êf7ß0ò³¶ q7ÖåwÃÃ^cˆZð‹€´NÂ8ˆ¾åVT•C+ f@øŠëW°©Ö%®ÅÎ.·§û}b«N]vûøèÐÈo3´ó¿Ú|r“­¬ èbψ/Ã0¿*e„Ø?èE-~ÖF¼k²âj/µpRp·Ìçí <‰—¯sŽ ûò«®'GƒÙÒ¬þoèð ^g]“sÎÀr‰¿kç‹kA÷2ɱÀmujéÔvµ +3;P˜-ò¢ÏfK”%¨!NTÆ©wztÔ³*žY/ŠiŽ·!MäűÚÅ4“#d;KUþЋŽWieÂ^’Âqm“¹vdÒ#ÑKJ#â²Îþ²!i¨åoïìFG ÓÊ®U¨@ï$–ïÍ7‘S„˜Óëøàÿ} ³ç8dÅ‹©-3`ØÚè­‡UÅ›ô Ö½ÛgÎ]ôZ½êì×$dLp(#…}ù…`OÝ“~hdËåàò¿­1ÜnHü PôñÅú€º¾/PÖAuØY[þ å ÇGå ÒI‹]׿Πj™¥¥‰GñY^ÐŒdB WÝ)rÛÝI,`ýÖ™) þzÉÿñ>m—Â¥`µ÷ŒÙ×7 6¸òp eý”xß–Ø\Œ2Æß²Ìª$]O{ØM{HéJªQ€„‰}8Þ-f.òòžª  )Üö}™3 °—±+4î%µéæ.6ÜŒyaHÀ’èqaóÙùðYŠ4/.ã˜1¨ à~¯1ÝÒ,ò>ÒÚ²cÅWQE OѾE&v#y!ÉûI.Élù€WþOyÏ«_’C%ýëæó$›–»W¿¸ <Iû„NüÂ~ ;muƒ0åB‰1‚ó£]Ê\í__¨ –â*ê; v€= ”üT'·_ߟ=äÕÞ¤(¦;y=žÒ­'¡Ú“BwQ«£–—/ºi„^]½Y‡Ö:N‹¼W_瘳Á!« ÇîÈÅ“<}ÑxÜ0û›±wZÒ€8Ö1.«a+¼­*™—-NÝ 3hY+Æ’3 ‹«îeÖ¹­»Ñ‡ë<D™ò²†T#©ß“æ†hÊeÈøì0–‡iQqm"ÞbbÓ«Œ²føËèjºíóQ{QR€«5››¼âRËP÷ ÜK"£ƒ~êA&À‡P4Ö`=â’T )´}…Ð;[½èŸµ½§XµŠEŠ˜Â‚li¥W8äÆâÖ" ëfIž÷¥ÇˆFpÜ­zªqdê0.;!øŽ;Î-YNÒ‚UÀ5[bê Bz1Nû(h3î2+HÀêJ?w –+¼œ»‡«¿e¥Ô!.}ËÁ@J7• Ã')·ÐèÙð×ÌÇÇó€N«*̤Ç>È¢óçáo.ŠÑ‘ÇR—ÏTñµb\ÂÏÎæƒxß±û0×G·;’F.×L—"X|Ì&$*F ;n{ôMB¢EÃðv5V¢+S—â'èaÇՕצ¿l§ñRzs ÊqŒt'gfèÓðå >\€YÌ&r™õ ªˆ|wÓØ;LÈò}8é^e?ûÚ“u±éJ;w®ç KÔuL•h¡ÜÆL0ñÁÔ\¯ìA36QR[äŠ2TX8Qœ-d¦j¨ì~{‹rxŠ|È9[š$`íš±Nüg¾ù ‹³­:b»¨i[ÖXsßuv­VÛòwËŸS‰v4wa|¯52æ RÛÿ¬€ OjáLëEž~ ¹¡Ýqt–†JÆë«¡ßo³dâ’P[·]o^&ÍEåß,ªë)ƾ6 õ‡"çSv?V\§Ðÿâ:m~ZÕM¥=¾Ò 3à â¡ÒuüØðáË9ªçS@(šƒ¤óÍæöËz'ŲЫp»ü€$î6S¶ýZ¼èå=»àj ƒzoÂ-.ødéÖ]üÄð¢àCA-9ó^Ê>IÃÚ^] þbHÓ¾ìñéæXKâ½ð®wP–“™|•DøB*Çñ”?=¤%=bü”I'‹U±úÖ8O|ànyZá»ùC^ˆöKÅÂ7tüØóœæ±EÝ€erü[Ôì@àïE½7O—¬U %-ßñJ¬ÝN½µÎà±Í¬‰Žáøº\ ÑwKü3ˆCtŒÇ‚Qð§´b†í:ÊVqB§ì(GçÕ5þçx¶p/ÞE ác5®™æì¦×iÊÄ¿7|àgV¡,ÔÒÊ$]¾¥‡çܶ%´^áG¤Š Ë“›ˆÿ&pÈLó}4@vµÝWIä<ˆ :öX¹ÎÃå¢]9ðù·Gààd ïÕä`ÿT¬JB|õp‚–q†TÒKí@F}îäï]@»T‡Ê¬ Ž×@yÛWÆÌK«N"“žÂëBþˆ–‰\ÎøÕׯ‚újl³àvëU¤^ɰˆ©¯Hfre™’ÔHtHW´›H!ÃL~ ÿn_>ÀOÀ‡j|:—Fþ lÞ}˜cT¸î*ŸÊ mÊí2-—! K±÷/Uyñ}S{±Ã}MZìÄ€P8…!(êžùòxÿН»“^œÎá ®®#åI›t‘7Kœ—Uÿ•5DÜ`÷aÆS¦(½éYp©J ÿ ¿íIbÍDmI ¤{Ù¶¸IQÎ<¤´„‚þÃÑ> ù¼¸  ~õj A}•­ßÍÝZ¶ÑÊ ¿H8Ϋoé½*LZ| ÓÖ`e7‘Ìùì r ¥ó•.4EØãZq³0ê¿O€h>ÄåRÀÔAÚÚp‹K’ÄV'ßgS‚+ß¹lSŽ„m6›6ÄêxX|‚G´0Ÿ5=<!CxÙð×!ü_«w”Órƒtb6Ua9ûÁ["‡°í€áßv¨[³œ'Û#”©‡‰mɶDùFÈ®·Ñâw™žSùØ66¸ct„Æœ]³á¹'s—6×î¼-L°5 c‡×gâøÀ3›æ³NÖZg3¨êdðºú?QW?ó€³W> %PŽÏ‘ûbO5b¾I0sG;lO®»[Vƒ‚—}â!ý{ºI=âÞ)c­;5af¸inl̇ò8JºªçÊñIöƒË npš G^o¬àb@ÊB‘ßʼnrVðÇqoêÙN¶>w¦´[è` Þë¾½?‘ùÓúʸ¼—’J…ª'ËÏ©hgVÔ/d¶™˜,ȶ„Íö¬½ËZo÷FtFž(žØ±½Âv¾o[a$ㆃo«E•ïàÀÚw)£òhþÒáÎ$i0UQÆK¤ÛyN§§ýù !?¸½´Ê¦WÕ\‚u•”Ë&§Š•ߌíT©#®5qwØŽï2êÇÒð V`¸bO/8 'Æ/4J‹¨/õrûÉ)&LPð£'㔾ÿ£½”ð&Ȫ½ß:×b²‹¨6ÏÎTÞ”>¨¿o,{ÚB‚w°ÆH÷ž°\þæ\Œt˜â0|1WO½–ᴀ﫭$ã7+?º£*ÊãòÛ:= rñ=¶ÃŒÄXFMŽIl¾Ñ¡†û¥¹ÖñzOvÃ9®E»Áx¹º­?³o›. ÈX‹½{vF›w@lÏðÈ3tÙ4‹NKíZ¢®yòòâzU‰C EĬdŸnB@Ï,=Ãå-RÆûúŒŸ´VóRçîðE•’è:gÐ “6¸É-é7š'Ø r“IÛý·nü/Þ«TÍÞz|úÌ‹!A÷åh’®  aàO¡X©3eú°Â-M.“zŽöö¹aä(á»49ž>B½µl/ƒ“ %É)³ŸUöW¢‹:epàܳ Ë IèŸBïÙØ7]á7ÑûÖôã07'ý sä‡.ñ'Uö÷Úõ¥ÍF™v«µ9Ú Wš Ÿ¾êWÚë&[ô´‡­Ì´y»ŸÓ„éÄÌôŽkó¬]GÐ-qïI©Àø ?gÓC¼Öî/ªdù™]ƒYª"KZXÉ-]׊­‚$‰.;¤£uø‰o¢Xëd MÞå ¨N@1mÖ/v2t²$¥íÙˆeÄ®ö" ¯ŽÖ‹`‘oéäì'b®ì¤?[úêO÷_€B.LH€ ºç‚Ÿ»Æš3)b{g"†¡¿ÊâG9š·KÄá}ÆÃlð¡ý HØÀ†$ì@©ùV± Üg+Ý,ØÇº«Ü§ósµ>Þ¼kL5ÓZ‰””š…USöäøŽ@ÊÊ~¾4CÀ²ëäø\‚èy*L3£™MjȲX”‰õãøof;½£¢îü®¥€b2‰ìw©¯aeÕA<–ùá<ˆ´= LRZä<{L ÿ>4bÝ-w–Êx³zVû…Nû‚ÊQˆB5èp;ÓoÞÞÁM=#[£¼© RѬÈH Š^LIp$/w`m3s×G¿å¤¹l|(ïöš†¡m™† /ç ›ÊFýsh9òxç÷õürd)˜-Æ r-ßÌ×D×)”ò6ðÒЈŠ¨2ØÊ.„à¿‚4á3“×:ÏK[ÌÚ2ÏòûÐá;–úx=Ë›¯óÈ‹·OiŠZÓñp¦\سÄB>‡þa½ÞK#]0@iÞXxR¤\ fAK鯕b•ó~[Ñ8`Ç¿aH1ÃÆzàİR=¼ï`}0Э·ˆjV0àh5«•‘°š”¡QÆ-ë~Qbÿ°qt€›X€ö÷ý[ž¿ŠS¢ÓØÎÕ¶É PÉðëÅU¯4e"ÕßÔdŒ9‹ø@Àkš¨›A‚¤¼y ¡N‹Zh®e«ý\r\>p('EúoÕà&÷—߫­ijgc‹áøˆ–¾¾ÕÙ ùÅ °")*{„¤»ØNl5µýžó ñ NÅÊàXG¯™‡ÎÿÇ9ÿm=?£€ v.åÆÞ½uoéÀž`Z¿0µ¤9áIrÖýZj†YAüœEˆÜkë{ا¾ÉÊkn½‰Œ5Ï2SŒþ …‹ÀòòoS·„ãWtÏÕí~tµ»l‚øA¤jm…™"íh–k.v:Ã5pãr͒оàT#a‚D€ê¿MTÚ@ ùézÆá®ˆ‹ˆ)#£et‚ʽg¤ä£Âhµ¼LÓ鈡k¬ …މOØôö´½{iùÛ ˜4ƒ‹±凰Qð1$öÒÅÌ|~&¥ì$EŒ À …sˆ˜úÁ0…˜Änû‘j0KuÉòé¤M0>P•’ñ·KRfÊÁ>êG%¯¨F|:ÿ<ä”]¹Û;sm ð˜¤ÚÙ¨^$À>ç—}xEzèÕ<ì~+^Ú9¥¤D¸ì7m«f¶~¦—ýêè‹J íb7^šÑ²«rÄ-^ÿ´MlÈ"ÿ r± V‚3sÞŸ1jØBN#/î 5ßNüÜ” î¯¼——ˆéäýc#l¡$Šäæþ˜Í~öÃÇR½‚Óo…´‘MVfÓžä®}Ÿ±%<>p"Ùª£}¢xÌíÿ„°b•³,f¥Î»q“yK€Ï¹Ÿ²â†—§øl½žd6Äà9ŸÇ˜€n‹?Q‘å·%™j¼IÆ~òΞÊCe®‰0î(".ìIíµÐ©¹²ä¹ql"ÙªÒÈ ¿IÛ»#ÊÆéúüŒ 9…¦nDòˆß)løñ×ʉæá2M‚‡”%к˜aý@šÓ¼u!“³,G2Jê@ν½i9aÜèûÏ·¬û1'°Öxb ¬½°;L?%ÅkÅôvŽw¾v bîz¶l­jCÿODä÷­áž‘s4Õ/à »÷?ü€žÊéÿtžüAráeç>ms¢•îÈSÊõ¬w¦Þ·¶9Å+m±9› y¢å¥-Û VóOx€brÃT†âDUÝåíùpaÏÿÿ‰…áÇ9øŸ‘ß,°¸ù“×ÿY“×›µ2ðmÙõ¶~qy½ŠÀñ‹ðŸíãǘ¹†`ÑŽÂpØ¿rÆ€}åÐ|ì’UU’µÈŠiKR’i¤!´cS§M]™uq¢·"aÒÑ^Ôn"¹r-'k­?B,©ÇáÜ mà4¿›üHö¦ú}Ã7……§ùæ@nâ"bù ¿ØL⤻ j;`Kš<ñѨ˜è|±Þ¥ ¤ÍƺD¯¦t ‰ ¦ŽÄÚcsÁp“Æ<;Ã3 ´÷>í'Æs0ÞjÙ_jK‡)¤Éóœv3 €ò¤Œi%FëøGÏ: D*Î Vämµ²3š ÂçÆmb òi‰n0††<àÇLšº9÷"oo¯¤•û¶¹õ¿j÷d êt²ÚJwáGÃ[ñ¯…­²|(…ªdxºQžºÒP{ÅÊ®b,óeX$Œôz²ôÆ®F *à³·Qzr<á}›-Tâ} ~¿+™ÇÓ€aêk‹¾õŽh5?É‚ê_ÉÆàªòZÛa×+ß+…L2Æ“Ctxª Ó²v(¢Ÿ)ã²@€eÅÖ“D•ÂJðÞc"c,‡ÕSèáV)ÏĈ6/ΜÃíIÒ¤È϶)"j!Ï/+ûJΙ1Yé@„6 º‚r‡¥_¶0¼>ŠÕ.[¾D„‹]Sÿ™ïÜ(¼p]Í^‹åߟc×±`ò©3aà$–‚©×K6) ·tÈt²9E=1¹÷ζwÜ—q6—àE5ú<óDåFsui(xžaN³£5Øé|®³o¯#&êªmbâiBýañ[¥Ø¼VÉÏ,d|MNGÞ¨ÌÑýaèE˜9ökk|ýÉ,É‚E™1<’däâ­+¨WBh{¿0¨Çh„}ާ(>‘ZŸ‚¢‰?cILC6 ¤ UTMƒ †.UÛ¡6°‰ççª×‰êf¨4Þ YOy.œ Y3ØL›„]­A™/¢Úî_Q»©xÿõožžFW¾rÖë¯Ì¦qr¥Æ­z×°Òç¤)_]yB&‰td~çК¨)0Êy¾±§hërçIsvÝâu•Vv *;‹ÀõíJ[Õ'îäÇV /ÙAeÕ@c*XÕæÕ“³Pz¿¿³µYÌWI0?:ÔF:´ÐòâäÊm¢š‡wà˜rµÍINûQcW÷Q:4éžEM‘ÓÌwFú‚f»&?úÖ±'%Gt´wp[ü Ql»wðíó_ŠTS€ë1Ö"Э\sîa؆?7úk³ûT"­Ô:8cæãw}TŸv–å¿Üð¹û|C]`·±´lkÉ‚5åN¿Ívj9iƒ¯$,’¯Hç›; $Á‰¨8]vôwž¦W|¾žˆÛyô&¶¶ I6=_[â!ê*@V?yÖ~VÒ‚n¸a}3¹,="÷ÖÁVwбKä­Šø™JÝÊk5Gý?eÙ¶?Á‹Â™* ©³+”;²?¤¬í$½ûÙ¨•L‚hÎ7Ó´å;Éù8»â4VÏìàOQ{›’Ãz€wjø0Â9L†Cnû™š’©-M¸mÜäíµ² MAÛóª7§±5Ã9‰8ƒuoêms¢¥ÁU/òó™²}‰‹õ 8`,ò÷ ½ÛƒEr³,îÐÒa÷KçCR÷XÞXqaÂõ(ðmiÛB_†ÝE÷¶_4_úƒÌ0ór9;CƒÞ$‡“?¼öqkA娕_ „âu!nH×-Žƒ4{Mì‡ Ôs^Z›ÙôxØèwDC;ÂmTÌ0nÅ-\¨yâ©î%ìäP¼ôŸ¶ØÃx|¯ÞüToùNzêÃñ]e‘vñ©/Jü«M˜–^†³ÓÄSH¡,ˆšCúÍ`ž²–®Úæ¢FÙOMfîu‡~æñФ’¼ºã®1$- ûã9n VuŽ}Ù"ãxõ‹7ÉÛÏÌŒëƒ-4ðËãÕÜFäNêùÏY™^è%ï4¨écÂáØƒÝ;8Ì›2´LÉ1“>ùבdÝ@e²Ä‡ÀÈ=K‡ÊG^Àeàݤ÷’ITø`¾)Üûf£²»(€ÀAÕ€C£fy&u@&o]\•’ŠN„DÑ%fgÁ˜ ÎM)¾PA€îõs©x½eÒÕ=[#Ý/}>™ $Ú²ut¬cÜéCˆ2'è ›‹9m f°ea¨üÄ=j…¬¶U¼Í¬ÑôΚWªrh#é%9¹+7R¸U`YzB»›w›4à•£Kä‰V!Cb{/‘Yjp>.\º¬Tûâ};óüq{Ÿ N(!Úkòc²‘X›3of´©x‹M×d›JaÃ>¹3Ô!Aê1 —*0&‘ØöNÙ4¿s»äÿ ˜£_Y‘'éË7£©ÞÓüíé•&ž³ŒœêÛwv ]ßëUHN¬W{ íëÏ6…µFÅ»”oÔö¢`”'ܵrúYÌeÞmA{†¨ôÜèä¹VÅÌç%ú‰«Z¢[„“÷C´4k‚ðÝ®Ž•ËIÙÕ1Þ˧"°4Ëö!NÏå«"Øz£Î’hÌFÃk“²ÔÃHíx9ð×™$`'¯$°Ô »@d!jJØÁ-r÷ ÑèD ËÐXQL†§åͧ*`xýË èçh‰T Xïë½O«ͤÕü:U´¯Âv[GŒìÄÜñ­ÝIq­Ä¤$ʸ>·op:Òâõ C)DÞðQfÒU9 (5L'YíìA´­Rjt‹zsCß‚¦RÝ(á"ÝCÕ‹\o–›s¢$Ó×&Žö¥aB‹t<,©cÒk]­žæ –9pVRÄdÝÜ~5Î~~˹üeFrŸ!?ð‰3W­^®|  M‹o%`Îql‘šþU»‘à¾iÑ ”ÌýÀÛQ‹Dí#ê*ÊB8ÇÉö=™H9­› \J¿.6Ý.5ð!±£Ãmä̕ꡅÒ狯”ÅV¹Ö ïŽ*v€1Ù…BÓ¹…¦Hq¬{Ü%V6_Ź„[ö‚ӹ2SI¨‘ût‘Rˆg‹ÌÌY(¸‰<“ö_m_ Vt·£ Ê㉠3¼f oå&º ¶…ŠÜwÏ5¡©µpÙ‰‡c'Üiãø`ÙµÃòrÖ ÛÉO3£ä9޼¡­,rÆVžz#"EþÉù¶l¦l">ÉõêÃ,O t¬ªQó§–ß±$h­k9¹GÖ-Ä ƒ¥¨Æp=×é®RA«ú¨)« .»|QòŸWŽý7uϦh'v9™gàYû¿cAµH¶JrRhm¡„òdÍcÄ]ÐLlÃ@R;gØ6UjàÔÐTycú‘ꈠ3ÖäÚRS¾tj@Ban sňf-¢þGì"[àH<ºÏÔ‹Y2]vƒ,ŠÓr›"Üëlz/òð¥Ù”¬˜Ž+5jQ%‚çá½Àó(¶r ÊÐë]O„„”ËckYÔ=X9FÎsBhYåòï{$ëFl+€"Ka%9ÕÔ±HÜVÖ¶ŠF<¿1ëĹôåH‰’Z`ÌZ_;%ÙJ¶—züø]%=ó†©qsNPÚåô¡¾º/ $L÷á6bÅÏ2Â]$Åß/lÓów®¬´×ú8ðmØí –ä±vW^óDÓÚ±rà+©®„Ä­/HPëø!ù…gòdLBqzä|©7÷»‘ÀýVYÇÇW1†Ø)¸0¤\–Ž…:3ÓƒÙŠ,òQ Aæµ™”?MmÐøóüœ:ôÞ"±Ïjß b¼šŸ*%OÜlé»)Vì·€ëùAz˜Pþ†*³”XiÑRÜ­j¦ú&,WŒp‡’ûÆtämò6”EÅÁðø‰‰Åd}õwЮö÷ßà¤\*º”­>£K~ý*¤zdãyüËA^‰--ÐøŽÏ¤ÖðÈwžYdE“Y)¹yZ ŸfD`nßÓ PJ½²UUƒvcëÿ*>ð/]ôœqùû¢­ùÑ º[KÚçˆ= ®êNv›"W <ølb4&h0X޽‡¶Ç´îIG•A/BŒ—fØA5ñ @œÚ…”ÿUW -þÝr”¶ãááÀ ›1¦‡ÅÁè?UýhF…wÈ(äñ¦ä¥:©æ§%©É^¡ˆ³õ´HÔ¢Ô¤*jnÚ<^T°ÙÛE‹Êf¦žØ€Kýs§òSÕ|$T*7uYZ ¡«ÇBžIý©»æ¡[C 0iæÅ$rƒµv’ábÄðM¸y}—ÿàJ.¿ª|'ì²-KÅ'œKÂý§ÉbvWoÅSµ‹óÓV6²j½tÆ9÷uVÇ==“NÊñ£âgº-ºíÑ´>Ð »e,€Mƒ×5äßð«¦Ëœ”pÑ B—ôÁiŠ~ñ¨¶y·ÕcˆLv Á¸¬:v!%¾Á$iÙÆõ¼BîŠ:é[ ñæo5&h DÚIˆe`òÌË—ò:Ž,¬±žDaÄþe._à(ª«Þq@ gâ£*Á‹P;㵯tCr àŒÚ¡XÑPBåi£:¬].ZnU‹?ï exóä =+ôÈ®Õ~4ý%’¯ÿvÉ8Vî JâÕAD™Ù,4­7‹ê݆„1.œw:˜Â% ;bËXIÂÛ´2 `…¯Ç”ü2E#K/ùXHZžz\Ú.ºKxbµÕN°V¤o†lÍ ;º-XtFìVx¹hˆvïbûί¨Aaí¨¢6¾ŽÇæsØ$¿æø\KµO‰î}f¨—^hLN_Éâ’UžjnÝUÜþ]Ë–A3m G˜ðU‰'~œ5ðÛY9Y[‹Í+æå’uÑ­á;ÎeB9Bÿèþê¬ 0Òy)Èõ‘…â&…2’€+>ôÊ8^›@¶çEf_]Å[9¶¶Ö˜\9oÇ$þ'9/,­¨¯ÿ;&ò_}¯À^Ú!vʼi¬}q¬})¿„ ¢¦ñÞˆ°i­”ãFÁ=z>Îvû^‘—»þšÛzæûÖ±¼œŸ7º.¯‚ÚÖEé%À6ƒ9(• Ÿ7™óC{ÌmѳJˆ -ž€²w1Ë PžçÔÎßh>Ü·è2ðB‡ßèÕô…€éJ \瞎ˆsÜÔó6Š@g. D¨ŠqCu%3ƒ³A†~„ÆJ êœõ­é ØUi¤êÒÿðqU¢î<ð`>Í_ØËÌþìHÖ X©²½ÀßÙòÜVÂB³Õ"Ø0@U_JÍžR¸{å3Èèïe(Dµ£¶“îIÕ¼&²L“3V‚×Ë5®~ktwÍ0<7þ ÄåpçEj’k’¬t{€¶`M·Î#’õÃáªÅ×v¿À<ŠÚ™Uد€³ ÷ê²½KÑ’øä¢©¼øeà¢æžH\]9Žq”J–Ç1ìJ7f„ß´õ5›e,ŠŒ%†yvÊ‹Vóc%¹ÓõvšQ©™ëº Ž®è”:æ¯3Pgì¹â#tÁhý¾QÌ+í<˜b}XÄ6ï(ÊëãË$ïHˆgí°ej=¾ß 9H-¸9ÊQ‡°HÊï“ÄðÌ5eJDâ±,» jz@8g°ºÈsQ#Öâ{/uSýnþºF»2VÏÏ ½IóËçÆÏŠRI°=á ö/2ºFÊ^¿#qEªªìáªyºWðñb:}8(n,(a't]çÕ3uE`J›¦ bŠµÏ¶~ƒØÓQŽªq?ªç?FÅ““'LË&·‡{ ÒRδå9– QV|&a¯ðŠÆ«w=gY°+>›Ãî?¦Úú,G@üy`AAhÊ’áÞŽŽ!€—DP~3IŒ`‚× ï–‹õN>œ´‰ÆQ$#«ŽìŒkêÿ†L;“º¢=N0’¯áÔÉÌ…j7o1*^ȀبQ¸ÔÚ=´6ïˆOš±O·° WÈìÄ™éîÐç1‰.Öñ€0š§/EŸ0_puÈ])§(&,4Øóö‘àlu¾:OÕ¦¼[…á-e¯ý0ªw+Žêbv8O:¹Rô1MúXÌ8ÏO¯äa=¿i9œvXÏùõ IP£ÈôØmêÀ(wºk)÷²=oTŠ«¾nË­1ãŒÂ³i ·/ˆÇÈæåªSOmØt/õ5’[ä#2Ô•±è…!Ñð ”%|!Я^:¹l%­‚þ.Ý‘‡í•ŒE^Â%ºATÁdjbŽ>Ùk¬¦ðí3V¬C)Y_´fv,;â h²¨œ ìvxügÅù0œQ™$¸W@ Öå°Xt‚E4 v]ÓìA‚Š`ý2[W[¹]a§fíÞGÏMˆÇæÐŠ„éŽ«Êîóö*M…ßk$+´’7Jôl ]9¾í¨C€›®E¨œÉ8-Ž,EvÐtq®¯lMÑðu`ÕV„‰@Biæ%X|”îå„‹~ä¼3bˆ?¬Î3 sñJŠA:ëïWÖJe²›‘#3k¿Nhl“‹Ö#íxd„JÌ-BLû|æáf^u¡(/˜"fÔ:ç¾IÎßhMõa…Ð@‹Wk{„¾à€™ ¹n›#u}´§¸ÑJ†ÊX-Ô¬©LîǾv 5ª©£ŸÓCíÌVŒÅ¦$»¾¬Ü®K‹xÜ•hÿ UjŒfR}ˆj½mD* ¨GQÒûÓqçe\åeÔ1YØ¿Ìi²9¯]åY~ìõƒ“J«fÄ9*¢2 VÕ°¼W‹gs YtnÇÛã¼J¢.ÔøOðäVÇk1ïyÄQaÖöR@¸âñš0Ùý\Cè¥(ÙÝ娮¦?’ο´X¢å«eÔýÙq r؇0Nâ@ûv`d G¡±³ÿs-- [I”ã¸õ둜 /oœ¥Òaìv<_§uUm?ìfÆä cQÈð‰›4«åéÉyG? ‡ÕŽ¥¯é•“×€Mœ[*{Ö÷:= f‰a4‹´Í­Z:¸UþôXe¸M-EÁÑÁÄpãù°îô•ØJ^p]¦BCnx%DŸˆÓb7‹nþE,3‚¢6ß#)2¡ôS7Ù£ãñûPÎŒ½Ã5Æ¥Â,€’•é ·”°;8$Íó üðúLå”ê ’®œ¬Ñcã&„KüÇŽREÛuëi„¾¿+—šŸO0ö÷ŒCè¼A"ÖSH<[1•íšò_›$´Rëýg9×”ÑPÃ^ü’܃µ†%jçÜÆPYdòµýèàìNWòGðÑ• -eŽÓEöf}YYZUÝRbÍÕÙN0»xS]š·l®¸ˆa"È@ImIH^5ˆAlZ½Æ"qPPÐxàu¥UwÆM€¦ö÷Ë2|4qÊ]ÎS>ì+£€‡®ÄnMaÓ,iàÅiµ,ñsæËÕvnÏ9¸oEt U.#ÂuQŒWýC«j´¨Fh„í(çZ=zhÖ ó’мÝKqù;Zó@ c2¿ÛvV7Ã%%BVå1Ä [¢è¬¤oììš›*œŒQpÞÊè™ÇYð5¨Ø–r÷FGâE”]´äfRvÜØÑ™y‰mê¦q 3h'âCZæ¤Ö™ä„Ä UW—ÁãŒ+Ûn€P±KA¬Zq?@ÉEà ¾ø #<(IÒšP6˜¯–Š[ò‹úgÐÌú¦ùt?¾Ð7D4‘Ë}دA¹¾ð¸Ê18²$®K]óFj¿ m~¬93PvÞ'ÜÛá+dµƒuúEŸ[ɱ:^³¿$l‰„Ï "Ûäfµ|ú–úõscÐV43b|æ7§0µžD í5áÖçN{@}3Ò_F‚ËйoGaáô§¯¡—é•./ò·T3¼|ñŒsÔ9õbN]&tæy3 |~C#©Ö¿›b‡C®ËÙ±Áë]¾øší9°›°­-Üç./·T©½ÓÓ\B4údd5Ãx ÓÍØ`bÜA¦¡‡ .á­Y%«+7èña"`qÃÂÃEæ²Õ(’†$ÆJrJŽ£Ì] ÓÇž:ÈaR` v<Ö5“8¾™ñþŒÖÛÍD3ã“¥.±²€åCÙzht?…V©ì^Òi|Ü(I-ÌläÝZ³cÜ ™öñìPó‘$î™m<âíú½¦«Tÿ½ðt~vMëóâÒX¨nÜbü‘%˜VÚ`àæOÜa³šÁoŽ·êÊÛÓÿ ÈÃsƱl? ]—3eãô¯¯„û¤C} Ñ´‘Д‡­ töYœ2b™¢ý$ÚOqùKÓê;–SÈü¶Ä´5“9`™û%̆ISÝë÷ÏȺ8šºg«Ê¾é¯@&4Nêôv‘þ¾Àã‘“чs8Y²™]%éÆJ+H˜3‚`-Aµ‘.L¸w^}}þó‘[¢ àÁù{B¾zÙ Îù4£ƒ—°û]k«§5Ûé•Çw_‘ƒÁîTˆyáV!v塣̄Dd8{ƒ;7¿Ãß¶v¢«,U9”ç3ª÷{‚,¯1bD‹0_JÕŸ{¸ü¤4fÜ6äOSÓR„ r¶d©"$`ô©‚>¥U éoEI ¿Ç4AßÍÞAÕbÝ*챃°x«|dÆ4=ºš!SZþ¤Ž fª/é™{ÈÞ_fšÒ¥-ù7àÕ’¯â‚B¬¥ðd.–h‰Ò€o¶—0îKµ¼L:›œlÊ(<0ÍÑÖuË)ú\œõÿ…í÷ŠUREüÿÁ'·ö(Šý•ÎKÌH–±â÷Çþ`+§9V~-Ÿ’¢hÈ€{a¯PµwøÃßG·¨‚Äå‚·ŠˆRÛciã_§Ø«j $W±.\–ßš‘ÓhG¼ ësb‡}οü;êÝ­ô­(iÏÑÁbŸÿ¼¾ªù—芒»p;ØÎÃrÍHôûSã¡F¸$X+9iBˆÖ—"†Zb9@Œls4=?ê÷¼4BZ /‚•ÒÓ’¹ à~ ±™ßòÐC‡;®Â acœè¼,IX%¡áºð¦õfÊóM¡L_HÒ¬§T:l¾.qÁl1,U?NZè໓‰ËÙC~P5ÙÍüKB¾,¢äž˜Æ« ƒ1wSÒGCZž9„’¸yì÷¨݆†TJJ1ªÆLvtïÉÜc£ ¨VÏAf¬_3±oS`Uó©³k2= X_á–Û­îæ§­Ä!·ø&¶,äOëààÏ:YÅ:Ëã‚©©ÆÛùìŽÐ±óoN­{¹u3ÃXWz2ˆX¾ƒìuqXcØo…iŒ×N…¨¾é$>{ì­'J§áˆg—,Œ÷É´Rþ–ÁUö°’]eô©ãþ»õj§BAZÁ`…›&)CV1êŒxåß<È]$k7»²`ÐÏîÅr/ŸÒÄ8zn;«¢lÍD_ðÛp"H—·žL+°'Ýütnøÿ£¹›óJŠa-³ñÒ)Õäï:‡ƒ"ŒgMªÙÙ8Ý-F½( ºrÑ@†~›1Db/ŠWÙœ¿¾¤øÙȉJÐ:k دC@d€ZºõŽFÊ~h5[ä”}¨Ëí`Åœ´íȺƒiüø`-p:èÌä SÈ>hÀ` âÿÁ—ÿu®©ÑêE-›°›’ëŽ9Q̼®GÞ—v‰Ø>R‚«”;ê篖O0À·‹²â7¢ Ÿ=J7Í5‘Ašî³'Íë;º5˜Íjh_< H—)EBCû~LÓæÿÕûŠciì\ƒG9ú[5“_ËÀ~wº˜^>†à¿lΙ¯ÇÞˆÄr@_¢ ËŽPP<) óT„åYá— ©Ð³–Ыo‘‰–k½}` wûS¶¿{ˆ­)þƒú[߀¾€ärý^žÔ€Õ;,ÑâA¬U64>A#þ˜ÇëÇ£ö¶zDÁ$ÂGëxƒ9|ªM7Â&ºþÀÓo&Ü‚A Iñ¨O£ô]®Ûy^-z¢`¢#«AÓÝû¾W:΃Q÷“£y0ù‡.'‰±ô"?¡qÎx!(êýw«†÷/8Zcz†›,›îØxý¹þ—ªÕ12Q »ÎG¢¶Ëà'¤Öÿas97´¨ )ÊzrþjÓ§Úe;/…=Ú(ÈæšnRÿ=a1Ðð£òÒ¤Óñ½úßaºR〛¬<Ë8›^ëÕ¤Ê>­‹<8hÄR B„ŠðÏhYçÆ®¾Ý²oüËiNþQJZ·œöbѽ Ôr­6ñ6\Êã>Ž‚^L½-=¼¨ØƒˆOäêƒvîÕh×$˜yCÌÙÔ”Žç=0¦÷¯Õ2S#£‡í&BW«÷CÇšT¸Ýž ‰‡iöûä¬ ñ_Ø/—Þ š$A4ŠäªMHi³ ó³H.îSoï€í ?™ Õ¶Û»E%Ö¢|ÅvÎvZæ¸?Å@Ò{ÕSV0©ÅÇZë$i©Ö>µ(¯ó±ì:qbáhœ»$þs«Ôœù$Ü?'l‘ô ®=ŽXãºõ k5¢AGŲ̈@ø5fdë¨c8¡¿—dÉUpº¶Ú5 Æ™åoÂM,ì9‘OÒÅÓN\Úè=ƒ³}Ññ˜¿”`¶hÙÉ>d‡÷MëdÈ…>Æ85ϳ½#§7hmñ?ó^8Ž+ýD£ÔžEJÊàN§Ã‚c e¿¶ÔÌÏm ؃S’x~üÕI‘¢ûä–­ÃÊÇòõ\ÔV†uRÀ¤%ºTŠãj–} ¨(Ôøˆè!¶p®.6UtŠ˜M¾z@(¢g¯!þ2$ô s»›­”/…:¾ÈçòÏ“[&½,n—]Aª½s•°ðj)˜w6Ha|“òÄ7E³ i¦%Ðûà¨m¢b¡P…1jÔ ë¢CP°6˜Cªj|ªjÏ­ÜZ¨ Õ5¤À¨ ›–fˆò¼Cv|µ#,×5?÷çv•ŽÝ<”dw›¼.–Ÿ}/ÞŒgêîþ2¨©’P2’¡Æž¬þ‹nRšÍ¢ƒ#O}ÛM=Äráª{T¡&^ÚG*4ïÍqVJPC”HØfÌÅV h¸Û/ÙgÂr2çqgH‹ ¦U-cׯµ˜w–ñÐ{¦ßG}Ò7øÜ7Ë X’)ßhÀŒ‘–µå?fÿs„Ñ$©Èq !’:Uh‘ဨb#›ö ÞéÛ€ †%ü,§6Y‘_¤m<(Um3?âMAøøS×xàY³34:Ì"²Oi=EFvµ?}Þ½f{Zrûª¡ b,n™Px‡9ËüÿÜÖ m Ÿº'w·Í¯§tJÙaónú Üѱ¤Á¿÷ÿeÍÐò~Bnm¬Ç¨‚Þ¾PFv¢Ù¦jd_O[¸†×idXÕ€Y/êv¶Iö?U«³€CpýtÒgheC:r VA™ Ó™TÆfú/èÍÖå…h m¶záíA¹ÑLª`›v({è)Gf\°¦Ç•|§¨qyéø!&bó·I®q¤€ò^_iMp 0íaç/gÌ&Gǵêé« 4·–GC…×GfüN£š¶¿’ËðQ°}Gó]ÁµU# °„Œ?šGƒ[lbà1ÝXëè$-t‘j¬áu]vZ’L\ìn+Š ¼†Ù˜ ?t“Pº?“1)ů¸é㉄O¨Q~%kh– ‹t vßJ¹²a9©ý¢?dÞ£dµÇÃUžóG؅ɱÂYÖ íÖõ öÕPxÓ$Låû öHÏH,ÍŠh!Yð¬#[{ްkVj!·éëjšä±h¿•Ò(x­á\×À|àøõd_ rÇc„¿üÆ?§Ë§òlÎÄþàëô‚‰oO½›u›SÔÕAý±ÅMé,”|íä)½Â®KÎY“¹%ÅÝ8Yþ&æoö,4öJ‚L› ±íg¿ö¾j¹eéO'_UÁ8˜.k/-. ÏNÅ´¾kd¢B¦˜¢ÎgÛÏÁ};èPdâÚ†*ÛÊþæÉ»Þ=²ÖõÉ8¤âJƃž¶%jŒ¤ªX7±ðjáé¨3¯hæ¦öDÝ#î3EkÎïƒ B1Æ8W?ÊÜ2‡àǹk6ϺñšŒnÔY†„|¾jçÙîÍ9óqºýv¦Ó*µz pþrT4¡¡ÍÞ$@ˆßáœq½L!AƒÛB©X‰éhð rÊÌ……x´¯F\˜’Oöð;Âk~Û†yHV¨&UQß]MbÞ˹rÌ[ÁŽõo^’ÐÛ xoÓ¦ì<µ%oÄ7Šù¥ô´HÈaäAÑŒž®"^ò· ” _Ù`äÓyóI‰UDÒ‚¬Ê°œ †^ôK\ÉÂÅÉ¡TzEÐòÃ[‚[žBT{/"IÒt)ƒ’SqíÝ—4#ð¬C>c% !©Ã.S8K{&o΄³Ûu}"’it’Ý'ZQ UbæŠã¼³kU§´5Ñ•6Òv÷r9 ±%dlÃÎ&iƒe£mìŠk½¡Ž#{Ò‚LfÆÖóE¸&1¾ÀO¨1ìˆ.¾í؇çѬ†œqÀ†±LæS5åzzM™Iöqºîÿ€!ÛŠ×F[må›'u†:¦I+‘¡-g2µÆ1/™ã½¥Ù;àÅ$ N;?èÉÁQtl_ûàõ‘ÊbH?üPf\ßçm…çc¹ˆŽ¿€ùÄe¬Äáäõ_s8ØŒH® Ü賨ñÞ¡iNra@p6u%ßgÍ]•+qcû ›ÉJ@ê%vjÜÈ'ÿgj Ïs#ºõ OØÏ|é…þ­öŸvy«ÐéÁRjí®|y2£ÞÇP,£MÌm6ÙÀ©ô¥ê.k‚ý7k):`¤ZîÒÌŸU™«h%Ã5³k„ „¤T)—?(qÙìuÂpëQ2O-(»o¦‰2‰©Ñ–ú“O5‚RqézÉ#XV( e€5q‚3b ?ÓÕf¬»2­º/[¬˜ ˜ŒÅk9(7î¯/œÑˆ[ ‘4n;E¢Ëà,c95¿–oΔ‰¢Þš›ù¦ð¥SÆGγVžÑ1b´Ø ÌË£ï@÷mzsd¥:wÔi wÖ;u9?À†íÚ‰´Ô·WI®ØÚmž£PS´ Ú]ÙhÍúžÀ`b‰/‡A»‹ñ1Î-O´„.!mÕ‰}–ßùi¡`a6 #óº+`V´“&í(k¤uüw!¼y†£qDÕ)ŸĦqN15¥f’Ä] ZG”â™SEרòäÁ úÖ˜‰º1ć08êLÚ2wqÃ2æ“;ö>äo[m[¡º³@sûM4A‡³”"ož>|^iÎÎo°cöNòë𛱨þû¨3‘F466g`iÃB‰ýËjW.}«˜.D¸HŒ&HÔPŸ.î4œ1¸i«LßzwáßMmŸö³=cÈÂuJžh|Òªy0°oP£ˆA£¿»¨Á‰Êåù§=óhÿ¶ŒÏzHÍ _MhXø>ØÎq. Ö¬ÎsÀ o~âHÖ'~£÷Õ¼%*§:`§€—ÇzŶ˜¶Òœ„Ô܉[«ñçî~¯­8$±²¨Üj•ü„¶F€-ùTð" ´oü®®¸Ýˆ¾K¥nÂõUdbb¼n3jnƒÜf$\%Hu=›Üý+bÊ•yL»Ÿ³ém w€1s£Qî +JT£4i’טö+ž¡ï¿L¦ê7‰vÞW “!ì jsûö ›¬ñ1æ‡ ¡ŸÅl‡–¶Ë(wæÉÛ½MŒù,§Œ¨ÁÁ‡dŽ.¯¼g¦€_ü'Îü"ŠÇ@%ÑpwÕ3Å-”©DQöð?xUÿs~nNba¹X1EE2.©ß;û9(8¸ &( €'HÎ)ÐÑIE¸sÔA!57Š,‘f©lä/a”¸küŸ +ì‹Géóï‹>â”×*Ö$ô™gÕã ±(Sïe[Íßðõë× ×w{}îöŠ—E$…ÏUKÂpÒ“)J3®€†±#»ä2Ê•×5ýA+8 ¿¼xýØnÏtC’ iæ¼ 'í&li«{Á×'!MüYª½—N'?ì’„œ hçðöÈ5MimlŽfÛ Í™‘,€WúøLŽ”œž% `lÕ^U£d©³Z Ò¢Š °0æAm±ÇzG‘Uä|ã È(REÎü7z!èVÈÞ¹Òy(Œ?²›s~”hD!($ÙâH¤+Ú.°dæsÖ±(„›Ê­)ÈÏ~fÖÉB†¥fe…¡¡:¨ÁHƵᱴ‡\|#J4uЫ"2rÙ{{>§²nÿÛHìg,ü·o6ÀÆjûÂk>?„Ÿ~šF ÜÁþ&Lèû,^!Fûêœvv[w¦3aMb‚Å* ïäþ|ð9² Ñ+ã¯xÅ«BÕÉÚRׄ§)ì¿vÀ£O­Êæ½]¡iY‡ÙÌ]áYþÇzíËRmkú›‡ % ‡ãŽÏo>Ál—e²Ê‹)TÉbÑ(ËH1Éu¥$lgù°@`4œŽtßNê =Cx©iôzˆ–¦åû&ñî9‹E$*eÑ ìa.ámP=í¹1çqäâEÔGÈ•ý Y¦ÙiE‹¡7ˆÌõ†Å!J‰Æâ,çäÄtÚU1%[îZ4ÃüóÞ ñ^–OþÁÔË\MŒ%vz€†¤ï=îâL*³×d€@‘W0uÛŠR]K¤„_²£Ov…ˆ4œ Ç‘’jå#Ÿ H´úÚ&?'æëµó{–ƒ ߈ױšÎ–E©Òȯ©¹±PiŠ‚â–øÖªÌ]Åô "@ ·±]¦T«Ü¶ŸÊ¼›”Á-äÎ]ÂŽâÝL€GQg‚<ˆŒŽÉ¦µ½J§…™ÏGœ¤w4>=æ!±0A1»òÚÄüK„`rkÖ8í»–_i +Šæ´ èï¨äÅ“Q–¹S‘¸Þü£¦=„ Ýï]Ô :dÖøUíö¹ù:Ëæ¡§+®(­¤ó¥ßÓg± ê  rÇœý¢°þÒ܆b§àd¥KЮ2×hۃんO2ËJìðÛÉ£zàøìœþ3` ò§uîð’¹éd!Ì1!ù]r!ÌÌ?/‰éVóW(µ|™î|Uª·¿³Í|‰¢ê~*÷s"9O­‹3è4·™¥ye 5J;ÅnàCøõLRšÐdõÕf7¯4©ZìRi¦w£yä²’šÁ†‰ï›.’ÌõBADy8ÑéígÙh‰>‰¢F÷ËIÉñ$`2qê¸kkß%~ŽrÝ'Èdšgšú¿¤ñ%i3_~†`™âÝqìªÆ·¤ w8ŒìßmÏ“ &Ò¦(YI/ûaÐöyHì¥AóK T}oe2ÃñÖÔxxl‡¾P\®LY×~^øöŽÝjj=æq˜PŠQØþwÊ\ƶ÷>‚ôŽt‘wiæÂ@VßnÈd}Ò{ÔI.)ïAˆtƒ{<ò©¾³Nµü>vMLwÜÃØw;ûm” àX‰ë„˜˜+3†É»äºëf†‚[ÑÌDxà™ À\äèç»(oDQ¿wp+nrµoóðVØ §X>@¥‡$i.ï2….ó¨-"g•º²„¶½ÕksĶüU[¸1§/1x:4ÞþÕq€ù1u9É|[¥hð @h ºÆ‘ÂÍ©3©+©zeŠ’àgÜ! øó±9#ý†ÈêOæÌøúl»6D…@;DKh®ÄÔÞ¼™Ü]iÑ•scŽoKä-0«tî /§ÏÁ†<ØðŸñ—N\!n ­ä8 m©rÿŽ­ ¾OEÒŠ‡f O2$Lèà–*3õFÙ v´õNÜ•ö*#‹@µ-í§1êè®,æ‚ýY¯˜xõêgÁÇSñô8癥§‰œå<Á\^°§ëüßn@©G0¼„ÜUš¬ªqh²ê/ÊÚ ½ÈÒœ_ æca­ÒÄ1­Uqâ/÷´“UÀÃGè “´A£©3Õ¡~pÐ œAÅÇ¡–ïœ]ür_’41ž$‹ÌÀÇ%,•ŽG¾Îy¼´Ç…†8ÐÑ™Ðåñ¡(+Ì<äD(ßUÓÉѽNN¹¦QY³×_£@Š-jW9a‚XEõû‘rUKL’“dùfØpƒ^±`ŸnÀVÊ|õÌ™¦üá¦ÀFÒ^¸MëòçÜ.x}AС³§²<® gÆò!RÃŽÎï´lAF2ÍÆßÝÇ(îš„ß7IN9yM¡:d‚Õ*f''[ll ¬É;KÎé –©ƒ˜%âߊV–á5#¶’(Êû\>¤Ì \ƒÄ+h³Åc¯Qži^Œ0²‚yK#Õ*ì5zÕ95>—°ºÕ&çu.)}!Vg°XÓ¸8­ýá%zßR@ ‚§ù.ìlak¡«xA|)0—4ÎWÄPhÛrÉ<éu€ÁÍèô.—º[_‚Âg†Æ]|PÁñì! /qŽÖ÷vã¨8ú7ÆIè}ÞkÕô´´ >x"»Ž/!ÖZ˜4 ÈbJ#ÝÁ]ô_D©”‚ž4¾‹ˆ“´Xó]¹å£âê¼rxïè8k‘7‘Ó4¬!4UK{2p®toó ˆr ,¦Az`Tû}Ô’i~g_s¡wá!p¯V(Ï,—€Ž‰ÈËn&¡CÎêùÀÊ.Diâï˜eýä|3U˜fÊqÂ]ñ·¹ÀUn/´‚íËò"²öëxà+›HòÙ˵9_@F ¦‘"ÚoÍÒžŸBÓsìüM²²ç«é‚ÚBÄgùJ¯ëзÐr»hhÏDί-÷  Aá@tS"ËȘ3 8!‰œº%S<åÈqGO)ÓþD6š€‡>¿ÓÞ²6"Îà b­„X«ê(F$åß"/A™gu*PÛ-®"9S]ÊÏM‡’s3¾4?ZôGݤfƒ£.ZƒJÝ>޶² E4»¦ mIé5¯O†™ÞÎÆß ëJ — 7zaEŠ=ýõr*Þy õŒ dí‹`Ì>uîd#ºKÐæ_µ¢8©–óœ™|(¡z8' Wî[K£º«¨,cž²ˆ„})=ºeš4ÉujŸhφ;8õÖqìl¿Œ3<‹cHÿÃcÚ€——û͌䓆³1¢Ê?ç ×^Ê‹:{˜¬ð ÒïŸÚªFÊüp6¦†Ò·5–Ê¡²6ñ<áùtD(—ÅXpá9CÅíBf⪥2SFWc¬p`Îã”Ç«ÁDIÁc”…ïe‹ú §¦ I(ï-”õGx¢Ìy¤”à¦_0C´ l¿C jè]¸>r¥fç%†Ê,åjG²Ï‹ÞœßÅ™1u“5Wª³Q£rá7Üã"AP¦S9Æ{ H¥lê ÄA-ÄK±A‹)÷P“ùÒ]ããº#èµTîRÞ›k·£9 ·BåÿfäQ¬r°J®¥‹°´ô{–W‰ÁsKM3º<˜é®Î޶•Yi3ýhqãL6:0P0oŒZï¯ÿwa2+¢/ óÁó€}F¯žiŽå‡½îCÇÊ>?*C"ˆWCÛuÕï]lc_ø¥ƒÝN˜>€"<äÔèç[BeQÊÛµ Éyæè»®‹'qg`Ðliò²T¿ï‘‰72Ïù M¹–±kÑqžz‰âáÅBLPJ-”Lb“@òï`*_»af–¯8 ¦@ï £&Ä”›)XPq’èŸNˆ¾øÿy<٦㡦¯ù`Â’žcÅÒù°ÌѺB-ˆ1hhÃh‡”¸ÎÞo*ì÷H€m1þêê8Ó4á\¨¹¦Jfš#FhÃc¿Ö3²UvÒ”š$upfüwàG)=@×ö^YÞü­E€­®´ª8Î-ÉÂ0ÿßéÌå`W•êÆŸáW›Ü‹iXB•Ì‹½¢ç„¬Lg>õjN8Ñ™¥Q®”*±Ð…,gW Ô¡›7‰“Žh¥òƉÂoKÃ^4z?qOÆnÙ#½@LAγ s›5ô…'ð§æîG$|ËÉø2PŸÃ±¬*RîT]P OH>Šø.¿³»È§¯v6|yÆJÜ—ä¦ g¸¿†*œy¢â ’+µÔ‘:úÄÃῆຉz•¸+ Z•œùc!‚E}¹¬ë–†Þ„9g<؅ȱc»YÊín;q3ô´%d‰‹½8s•ÿüSh‡™›Btä+‘óÊ‚²‰œ‚Ÿ1)˜„Ù”ê—áCõq½%qm©y™\ú“Þœ,.Ñ;ïnçê_Y2c[07™üŸ¤.ó”•œŸGÕƒbŒàÑ X¨¼W~+¾¨¸ÐT,p©0—ÌkçX{nu^ì§ÎKŸÍã­U»n©ÃÜüÁlù§*½¶0ðfÁœ¯åVLÜýçr¢0ˆÄÁѳ_~¼ ÛŸ8Ù9â-‡ð! 5?<5Ä­Kº™À-?sKi'îw¥sS!ÿS=cCf¢¨Ï°ÎàsøÂÅ×øY¥h„kIðƒä}˜eà B3üº¨5L´ 4o‡¢ø1tG®\]oio—PXXYFogiÊ–&´÷CÁ¢]¤]Ïþ„¡ÔìJŒó®Ôí«tÞ ‘ l#t=zàiЬÅ=HË9fð!)Ú_¿vãÙmSoÈÒ@8®wyuüñO·(ÉÃúø Ü…O,›Oi’¢ï!+úyÏ$äåO¥ë$ÖÃOD9âÉ“.¨hÁÒÀYLdÓX.Ö‰ÿÔje;´è¯M±¡1ô=PÍÞ†3Ú “ìÍ_ üI’÷¿)¡^â+Ш 'à0³q¾#^s-–=šU_•OoJó L„$8AÇ0׿ØÙÞ«²šøEèUΛ fŽšh®o¸á¦Ì¦°lòÆZ’‚äåÞz]UŸJýOïéáVðÚ(Së„u}#Üû¾£VÛ-uÍSL—Çy9fp;|Ò¦Z¸äÆZ˜“XÅ?oWrÎÖPß~hãÏ6Ã’oä¹p%$µ”}2b$Cïƒ2IŸ¦±³/x‚JŠ‹QúP.±š£d Í¢“aŒÞp'DzåŽZX,ÂÍ^y\hÑ@ øâoYu`¸÷1+¦áq+ìWå†){º”d‹"ênêê+ðdíG’Y)åãBÈ7%4ÃcñfÔ.WbèEð‹<ì^yFãPÖ‹D%ŸÝ®„¦ §€ÃLOQ“MÈ7ù%AÙî Ý@±á`ù´z¹fm'>¸—ËíÞË¡ìû7ÉwE›•$ï6‘îÜS—ý…,°EjÏÌ~bÊCŒâÚ©íNmïò®+ÝÂâ?ÒÄ‘PÜŽ±áµ-²Ÿ{yÙß\—¼; Ü{EÊZ‡’Ÿ{© lÅé-NäQ§ßÓ2Ж²¼VDæŽIí8…Ö«€‹%p¨èOC.%÷-›/gN.D5méÝÀYûÏjÀL¯dGuïãWÖ½KÈÐj®¸8mõɳm|ómµª’gqs f/;£§l½žTŒº¨¸topïŽx`Ýï7=Ψð„rNt=S!ÛŠaæ;œ"—¤‰, K<÷­&/ȇAªÛéÃ_t*¸¤:—ÈÏÀÛo¬~âν¾ö4Çæ~¤{%Þ¾²©•ˆ‘1Æ4Ì€&VøÆÓæÕÎkO˜-ÂG9Âf+ź?¾·n¿ûÁñ/ÖÉi¡  …¶r¼¼«¬?Úþ¿ÿ$$Â’¥ei³Nl8·_ÁhÚÔ×e*jõá¶v4‹8|€Nî£ê"˦âÊŸˆL ¨Û‰žôZ\fƒ_>»¿yÏÝ×at”6/çbÈ团P=Ø|¦BlˆeÍk}ƒÂ}X7e ëOõOÎ _±ÞÌ•Sԇ܊¥»¤W>^#•ÿÓu8÷äò¬BJ½ Ô¸j÷…ªc‡¬¥ËÄßPÍÝÄê×—)ÃõH̸K+wo¿¤áí—!iÈ?R'ºÓãÕ®ö‡“³B˜÷Wâ^öƒêÌx‹¥Nš«™ýÀ–çqê *¯IàÝÈa<É‘[ÝSµ¡'‰¼¦¨Ñ*‚ð±´¥-­Øcãêªþ8C‚¥cÆ*s…ôˆÐÜd/ˆ}j®êòi“½÷„F38˜Íâ®V?.&¯¹œŒú„Ó®„–,³Œ}ô³ŽÐ±ºrÐna<&Gæ»Ék‹ÒÙq©Üæç5÷š<"¾ y(ˆQ…{RÝMñѵ¡¬6ÁôÑÍÞÏ­¸>pÔ|1çÕ@fn‚˜àÐ[Ä=Ž&69àk¢*v6F ¡ÝÕ«kÌŸiTOŒú­÷Ì$|ÜGEed¬° %×SyEéîi*ŸfO.&ÿ«b[ΰ„÷[Ä!\ÔÑŒ?Þ«L©Æã7²ÙoõÒáRýgD´[-—ý(xº˜<çõÀfÙðµoãÝi±`5˜7Y‰o·Êv¨É‚²nDŒwŠ:ƒ-³ž¢`ÓSÎýÛ‡£Š «z"\0w!ÏçúÈ»)oÉÌ—,O/fé^ˆáè úÈ•ÓX•ÁÄ8*8Ýk‰˜¦bøZÔF²4ïÅÄJéum+׿Àl—Î¥ÖÅëRÒ ·¯)KÜ='Ao²Öøíæ>v'ÂF2×ãk¼è¹#bºœuéW2îjùÒ*ªž§=ùú®6­Mµ`‹L 1áê©GhªKf÷Ëb—ÌûB½óx‘Â;˜rÔÞÝ[¼®eàœ®ÍÍü/ïf‰r­ÌOê}']3¨°ÓäNM6V‚‹ß¨µ™åø_3¿·ïXÕZX ì]7þÓúJ}(òQ6È…éL™üò/ˆø/k.SCÌ«aò:¡¦±{½>ܤOMðˆ«ç3w+7á@xÕ€‘ûÇœF]TáÊЯxÆO‡Î3ØÐ|ê˜k[»ìbÆéDÆ¡F‚ÓŠŠ–ÍF¬UÕÈù(Ù&m£^ö%5©í‰Irl.I‚üQôÏÀÃLßÖãv€ˆý ÀÝói5 Se¾XßßœÂ{è—-%³ê)µ5ü¿s ‡7».¨·`z{·Çú ¼÷ÙPo .ª³«ù¦buz'ï l–U@Ó†Î5©ârZ,=ÑùaÕ{P­˜ÿ}®ŸP6”ÅdxZFÊQésΦÞEUÊ¢5=Gö ÀC³p.ÞŠžþpŒ½ÿ"Cò*A¶zwP¿7ÕyôÀž–Óäoí9ur—Xj_|ïAž…gK[§~¢tm*çÇ[‘¶RGƒÿ2{” Š![nçü€"]sC¸ƒ6ö–ÎxÎØ™ìMM&xD˜EðcòŸ01.CꞤñÎI\Â0_üà‹ÐN2]Ä̸,nøð|[з2­-¯ m³cÆfêô aò. s’î…ÈW—OEÏí#Ü»‡²êÀ³î@µ¤ÝD.Ir•iÞÐý÷¥«8ê¨$ Q¾”è©PšDårÓ»ÍÇ2/ЬˆEN€ a÷ê– O…̺#Ú[d…ÅVÛL‡óû¢Åü+o<¬ÉgÌi)€÷§¼D’;aÔ[•ïÀ­ÿåúx;9½âñ*£¼–˜oUìÉÖ¦Öãƒy˰ÏzñÆð‡ëE¶rä¹ö®¡‡œr˜fW—ËP­¥t²,Ƴ­\Øããæ T[Œ³FÊŠ´žDR'Ý9È zÍõÛ_#ç†h¢x•÷×ÞâJ:TEOØŒœ=¾M í‚!+‰K9·%¯‡g•½e™ Îk|Åÿp¿áQfÆ… DðG¿¬–?ÀÎtìÒw±ŒWÿeB_­Fï yØÌruNðOúòÊV&w H>NL'bxÍ÷r°“TT)žÒ+0Cî$síÍNü|¼1'ªtl¹çý7Ø‘; Ê‘8óB«—Ò•œ GL3æšE䥓—¸­p%·Ò 9i½¿0…‹´t!oÝfÙ½y/žÒ8vóx ª–ÁWcì8eóyá”ó†v‹æƒà„-c>lŠçGT;2½ŠTSm@¹lBøœ?Ü@üôբ⥇m¯„^yH9B9[¯Ø¯‘–U}˜’Ö=Z¾'û°Ù“}é]/÷€€ 7˜,+u'FZòõƒT‚—%ÞÉ?vÝ8ò¹…>–¼CøÄñ«:n[ ÂäÐäê‡aG´Úhz¢tx×6„îFÆX=#Zlo6Ln7«OµQꋟú©©|§’&m…®‘$äßEnÕ•ÙŸåØf±·ôVÆX¶³K 4@ksôÚ¿ðnl>¸^£Ïþš^'£2×{(f¼ÅÊÊBFÑ‘ë®18}}epÞIoB¸y!ö/”ò,î¹'……* ¸žPõÝ@~fɆ&²¬wU² ÔÀ€“ü…ŒêÉÔÒÊ%Òûl"%h XñÈ<­Âóe¾>N{g…§û3ïnÏýQ'Ûåâ¥î)#h™í4yB¥*äÚã׈‚Þ›bÌF ù#m«é™.Å4…9¥=ÂTÒ¤ÑH+‚àÇÅ\è£sv6‡nè—Eƒ‡âÿ[ S€mÆøûòæøwÞ’/9”ð©0è†ä}[:Í’ÄA!¼aYú²l %›`’uQNçð¥ãœ Úv/9 ôáô¬X¿ ȽÛ[Å S~×óùЧò-ÄaΦ …oC<ÒÔÇÏö ‚ìó‘ìŒúC+@uý‡yˆ¾“Æç.½Ë<Ñ d²¹­éˆ+M4ݳ­õ—T™2MjCen×3„9EE 9™ì”ûþÌüÄS⨂>µëæ4T‚Ä=t.‘àw‚1Ñ‹—B+íÕ²8Í@t2T×áÏìÆÈnHÍ(“›Bbú׋R ßç5¾Ž"ê`X–N´z®øç.BëKåg4:ºDzͤÍæWûµŽ J2¦A±3?îaÒ½ ëS;Ä äw›#«Œ¸”¬§n$Ç…ÆÖ›GKÉ‹2Åp¦ƒëK.ty¡ÐàðIHm+ö6ŽìµºÈ+ÑÑ7o›÷Ø+dqàKp6íŸÜ »u{ ¦™}çæ¨K¤ù©gšMO†Ò:CÔ®špÍ”À„цF2Œ{ }Vˆ˜Ä€=ˆÆÙ鑟ÄÞ#a™ãWÝSkL?½Ø6{4`_ijRÞrñ† Ù̲ߠM‘‰T¤u ·WøÀ‹~Ø+/2éF±®é˜†êEî—øBòT1ÑQ…d7\†pƘ.¾[ŠøY'÷ë-»&÷óh{äu1П'9i.ÙH£›9ÀXï{× åÞ0 @Íc2ï‘ú ‚¶â8`¹F@=4);BÏ£olÖ¬EHÔúÌO¾WR¶o>ÀÍÚ9xGaššHv-®¦iTDð®zuß"êùDgntì1ÐÁ.Pwñ=Lo‘þ­NfÓ-–ËÊж¡êÔnŽ•Šõš‚PSy¶xxþrºUù£×†¬‡¦Ï­úÁ;¹$Ùòn¼"¼PˆÉºŠ†Kð¥;αê9„9 Š'š|× …'»È&êÇáKs¥q¶½t©àÙì)›TÂN3DƒÊ°XË3 ýr%t#©T:!õ½ pοd0K$våm*Fg+ZÄ•ò‹¼”RÚ¨?ö2å“ÙlsRY;ì›ÊÞ¼hàÈ`pÖ¼ÅëSsF@"ûJŸØ°Ø›­¢zLm”çS¯œßq¾= t‚<ª)…ã·7" ½$(ÒphsˆN!c-‘EkdVÚšVðy²øD•)ÎýwI>µÍ&Ùû)Ì Žô´4xÖkmÿy!±U-¥vÐp'€ÿÍù˜O§)Ó?L»üêŸnÕ”1Bêl]òRôæ­£{`ñ︞ò„ÂàÛ4§”ºW&FÌ#šñrqšÜ%ý’¹Ú¢ãIÊ4¡)s'\IÄ?(;-ùg5îå° aˆbê–+ߪS’^K)2ùUkmªyVþbôaþd%Ÿ•,[åû”ëLfbpÝE`mE5ù,‚¼á«½ZŒ»B`ÙM¼úƨUb±Œj„åT´f)Þ±Çpv;¦Õçb|¥—`';ÎS-÷•›û‘ìkJV~ea¥€­¤ãŒÏV>'U Þ…bÁá +µ^IÀö±Í¸ôz <½¥)YÁ•Š4æ´+!ä‰E{LÖKë ñ •åò¦ Y¨ôŽSÑ…(:íe þvÅ”£‚L…ƒ.⥛ãá#æ(Š#+D÷igŸ@ ª~ÛœµÙáuj³ðŸ·…ÕK½5‹ ¿àygL³CÜõ”–õª¦þö9jq“Qz -®Ô‘‰‰vjW:ˆ3úâzøýˆGEé—ãUüq°zƒW.%¯_$·P ÓE¯¬I °ÿJ ´OaâhÚtFßí)LkÒVhl°?ñ xb´¾§#fž#AÔµÄcÂ_!¤,¥KÊ%fçóÏ/÷ErØmóÐ Âuz™#7ùû¸#Q/èüŠyŸ¸LØИ'V1-µ¤úšÙ,I¨xµtð¤=…$#ƒžU[©—úôøK¡‘êv3þÐq‹e5+ VïèZ áÿl‹ ’wM¾]yMUÂD=”E“çó{ÆqÀø4³"¼øä!í¹_SëÚYø[áI'¿î®Êü3MĈ‹ß]¼(-ž®ÂжŽt ÄBKøw0¼ƒÔƒNI’™=›Ôd 0JÓƒ_Âwèņ‚ÛÄ€ô-¶¶XFZ‘î:Ô†ãpG(òR\ ò ø¬¤‡Ë„ ®6-…¬÷ìKÛmmÂõ(ÊU*z»†À_»ÓèmWöÍ*wEèžñxií§)ó(0ÄËòΔß&®h+ù2ZÜOñ‚§þ!ý>q¸µ2ÑTéè”\Ç~8ÉGu’%´ Êv;ÃH“ unh%½°¤ùÙ.†oçv&{$€T¹÷^¼)!¢qVBÝ«t꧆Œ|þ·+Ǥíò6¯%]±åÇVÀ×;¼-;Õ±ãî‹ì»ÁpN3%p`ð?Aÿ±Æù0åøL† î{ð1%ìH†UÝ|ô柼#¼5ÄV9òÓ:ÍÁÉÙÓ!ÒJçGöôÈC”Ȇ2l…þ‰NáY¢,ˆÃ9ƒt×ù_¹ç…o‹TTñÚÔlÏqP‰GIå±L~Ÿcñ/é>Êèxüie­.Å;g4:|bP>õU<ÎÔåƒHI´Xý`°¿li­§œÀo'*0¾EÑ“ÜÎ-dùÀÉô ñF½e®Å%O©Žu†“ç#ÀÃú«óÐ Òvî°Åȵ:s•¤ 1jälÇzëvè¸QøûÓr~–Òv#ܱT\±ºrÂÉnÏ_÷g§0zæ–œþ“@÷@"©M„Lâ3 £ˆ×[ïœHQ '¤`¤Q*Å9ÔÅ÷o„–hŒ —_Ãߘÿˆâl(R{ ¶¸kkH¶Ž+®œ–YIÂj»ÿQ…Ñk}øÝðé³8Ð[!Å<¤šÓ€Ð« üÖ{AÿÄä÷¨ØW»G¥ãO‚mKôyÔJ¹¿ÃmBíŸWuÈøRÚqtÍÿì‚kÃ`hu¡Ocvòˆ´¿fªˆ½ò~²Û&Sɾ.FÍÌ%QŽßKJá4f$Թ uÖ]”©ùÇÃp‚+%ÌHùc•-·¤Lëæ6ÙOOŒ™b2ÔDàZ—GÀâÎÔv7>ªÔ1‘k•8¸ v‹¢cp£Ùå¾(ÃG†T:³ÖbÊÍ?àÂÇx²ÍuÐÎÍw@ÜÅOÿ? I-8Œ:X v:B ×[Uyw—TÜx4~„¥Ø,Û0 Öjôûâ&°ð›Û#°ŠÁƒfS2 3ØaŒ=ià[é¨ßý+,Ìy½Á:K‘{&i\P­J¥»¯r5vZ±Rõ¦‡{$É2Ü5jq‰ðšú0jaý¨ì$_dV;œ‡×èË»„žç€@Ó9’”¨È…m˜×l¼uÙ6i•TUw.}>’ó ¶•º‰šÓkÐcß;!TnŽ@K´ÀøÍ­ñ  Ò¢ö‡;ºã?ÕÉR"XöS“B“H[ÍT‡i,#µ•FòÂíx‰Öš9‹K@¾«ûø`ûÅ¡1¿<-bºâÃ\ëÊ9Ë+cë“iØ,³-ÑË€¢*¤Ý@ÉåÅ 'Tz€K?@©WÿÅât;W>=§áœˆ4eºNÞ†>¬ù[ð«A¹— çžG/fÀ7pÏïlG´dG«XÄõyê!7©Eúg‘Ñ” ÚóœIKªàË ñ ’jé§@èwœ`<{%w*f人öK܃‚½w±ß¬Î)³O’O΄ó14ѳI«²êÏíg}®Q.ËNÇê_òèÉV‡–]xA›û½7¹e[û­M(oÄ"#ûVþyÊk}§qB–'5±äß}©©OåKt!«ÅZÎòJC®zªX¿-&5­=io#Ÿ÷Ðý2»ä™åôû3}]¼TåK‘LÚ†„Z»ÕD•Is¸; 2¹Fœû.0ÓT >1…þ´„|Á’' BmbæÈlÁ<¥?Åó×Ý_°Ñ®èá¶Ó¨:?òô/):¥âã¦/à0Ë´N4L› „?]*1ÀÛßxÔa=ï«ÂwÏEŸ+çÅŸùäºf9†Ÿ\¤T£~¹I» ˆMƒ‡+0s*Ïß7<_ÂVfÿLÆ]fèz³‘+ßÕ}“re½¡xlTjB¯ã³Æ~ƒ”ÿ5ÞJ{L¢GËõW¹¢ µíŸ‚Ê¤Ô¬Š¥a«„2ì´Ã6$fì×RïØ}mñó"Q™®ôŒýØŸC‡(í2ìoOVŠ¢Šô”F|ó N½…†@·§¢_va ’-v$½!;Û|ð÷‘¶žÐ¬#~_À°‹&³ÁÔÿ°6£è0Ÿ¶+@Ÿ˜—½\Mî1ëLà…\ãªEvȇ૚»sÓë³×d,}Ó× ò{ñ‰§ÁvÉßš†ÆŠ ‘±ló9 É ©Ø¯P”¸¡úBóä‹!‘߉R~ÙÅÆ®”ïüŽ«Á¤™Mæ+ýTQý=¸[•kºË ¿ãÜ>ÑQ‡I7ÏM½À嬊­o CöM+òöo{iäQ€BÙ=Öñë¡!âÿ9 M£Ç¯Ý9Öò¿³UW7Ö{g· Þè“Xòeþc?•‡5”ÀùCËB\æg±ãjÞ±§ŒÍ Òæó‰$k Lª± M€>Œ®T`Wxò`Þ–F*O”K˜U”j’wÈ5Øf$½?dhÊ >|ID×Aæ9;¦æP†m}ÍpUn ç9Ûûl¤”¯§ç/ÔW±ä±ú©ãØeO¯à_¥2HÄb?Nx‚tSÙÁøÐyïÁ\˜)ÔáÕFÜ`5Qâ.ñJXâ øÏܕՠ+§ðR,ÙFÝØ©„“Tõ¼6,Rg7àEÿ1¢ §Õ`õüÞ{§l§¤'Þ9Ê9çÙuöªÛJŠ¥'W¿DÒ…TÊÅàm*+Ìš¼®Ïíd@f *>;û…ÿeˆÀ™ù’6<Ïþ˾j¼yà\îtÆ|ü†ÒÑQ·QúQ+?éÒÎòúÛÈ¡ÐkêaÔ>ׯmÂÑœÍå…ÖÿrÈ$‘±ü>²ÔÆ¢¦0jÆ÷ÞÚb:&IÈ«+Ô[Š7n–ì#f¤Œ8ŽÅ­ãS¤70úâx2 n5-&š­RF'Òˆr±tL6¥¥`pP‚ÓŽèAÌûŒ¶!ÛÞþ?§ ”â\µ‹ª}Ÿ0s༣ž_„jƒáEO‡0ßÈßU`®†äàû‰ÿQÜM .èŽD­›ÓîâahÕ`Zp_VÔdú!ò¶ˆjDþ]{NZp¶Å;ãï7}5X4) T;$ÚFO¿Ûœ¸Nº3rÐލ£¦­Î» Œ;ãI¹†k?ËÛ%ÐRü4bûsqÁˆYõ¦بÅ.x+pWüéo€äa¥en08Ò†±c5£=ÁxŸÓô?c¸LIÔ#®:çlqi¼­Á-¦_¼ÄBf»x“Þp7pìµ´1nãS™p,6*•„?¦m8gþè! O5ùï Xˆó9œ A ¯ 蟬~Å?¢ªî¹"zQ·t»•ãxE5kXµÏ'ýM÷ Ùpó q¢›ÉÚÎp޶·Ä¢%{†rsi?´žT5xË †BñÁ·Š³l×>ûC¡0˜š@tᢆU@ûÃwã5m pYæZùwþ`1Nì&H­µ¦ñwâzRSZ6/mïH°#‚r7Í1ŒÕ׿™ó1ýqÜF€Ÿñ¥$#bþ}M³žÑDXñÕ/KŽÛª*F¬O}™¦}‚Õ›.¾×ÊÕ´fO“/©ÑN±#(37_|_[5ñž /<~IC-È£0Âý%gˆ(e.뼋Ä>‰‹ê‹¬4˜Yq—_ kÑ9z‘‹ë\bî§ëÇT½Ih&@(HéùV¢°µ4#,Þ{o6R”•!—Þß_ëÔ;>™4`j‘÷Z—õfw¯xTzX'Œ/ú[yU“›Yί×÷º”f`Œ§´¾U<éÒ_[!´¬ü“}òÄÔE”âù®‹!Ò—øI5½TJ´›Xà×b*™•Èü3WðzGG–“\dлÌ“dÑi--«¨ËGv3Ò£÷=nX-õp àÅ~êÆTß©qZÂRŒþ r@ÐÜ×_½Õ|'OÔ/uå±?áÁå#ÈG—àp ûÃ]½¦uµ–¡ àŽpžky­}É*½·ž¤jôón~??ú/'!¹Ë`k}>÷5]/ŸãOç²¥—.ó ª¬S‹&kªºì=bÆ‘2îÛB°½þ$CèàWiK=ºñŒÂ×Ad[7Žó²dö¼ôM¥ôPxÈUiïØû7âGßÈh_yHp‚wb™Eæ[R¿Dfëh¥íØ^ðv?(«• =Ö~®»“Ë¿cÛsq¼°‘ºÁØãó×÷-ÜO‚S-÷%ÉM Új>ŽxŠÖ…yéØ~¨ùM®Ù6ÖÓ/¸Ó7H©Oý ©Ñ««aÁŠÎËŠ[Ø¢ZãH8û®ª¶+‘8TšI'KÙ¶Ku‡ŸSæª'm1‹‡²j·)UÚ/<$ª†¤>ÙLJ0ÿ"mœ”*ò·0¡ùïs t£¢:÷®'Ô`9èö¶jÛ´¢SfJTs*JÆË²Ç Ö(J5v[§dŽ?ˆã׺å°:˜½«BWØ)¹Cç1hlTHµ#DŠ[˜q¦Æi‰¡Éõ¦RäX›‰Î‚TXš}2C;‘nÂŒxâ­hÅš ¡[qEåXWwbæÙ%›b¼§Ö³£vêP>vA‰ë4`,ïç€KÒ¾a"U¡Q¼Ät¶ Ó“ õ÷!AÙæŸÄ›0ëDÕßàèÅÚa1ÍQc¤ÀeËþÖJPm9nEF“Yä…ÑxH¾W«_Æmª§[Ömõlx”»3.eËR ØûŠ‹[¿€–öô:F©»$V¨ŽCÇÝ&/Fnˆè#N:þüs t{[–ŒXr­£þs]³,«2.®òeÅ¢Ù5̓¢÷¶ÂèPõ@C²RâÊ>/”mLqœ¿ ß­$} ;«ÌUÚrvzd¯=îùz}2Ü)Ãq/RPéþpâžXkG@WVïÕ_kfKÕ›-稧ž-¶$f€Û·zÚV :úÌ3Ã.ÆŠ®JÈ׸÷àðmY¾×: f„HŠeñ¥ÝHÙéýXû퀀*j£Ñ_IÒ•Œ°m¦Of“êå$ é#™·á€b Ë#}+3ä×Üã‚ÜÜCgóK„0ÛgRpäÖCߤþŹžCøº¡€>f^É Ð͉IK9§¨ÊO†»"$Œc?4"ÝSÇ~Ù|££zÌÕ>2WM?IkbÒÏø5;9uÐËþÆA0(Ÿ¯iYêz- ãècFE¨c³ÐPÕüXõµ V8ó,©UjyJ´'ûÇŠ F…íì‹öá¬Ñ`ÜC(G!&ã˜ûcÌ‹—ÌZ/qÕã„0óõ+Ž¢Þ'‘!ãñÐ?qt„O VL¢½³ô•|Q¨ ´ôÑ’N/ï˜êFçÙ(hm Òfô+vÈhÃN»("pöìRï[Àºê–×™pcmÛ –c?ËœùáŠ<ôoCu6I;¼»¡íÓRKÕ(¬fÐH–5ÙV—Ùñ­vàLoäŽÐ>1*]ÚQ ïT€ÐSË^&V»ý†£"•^'-XƒúX àãw4ýYÿm5}“< .ƒÝ¡{Ýo[A»žÂÏ©3¾³Zk×­,ͽRÛªeÑK¼jœ¨ .þyuLȤc«âýÉ;ØÅh‹q€R©uÈ£[ЄÀžµVÂó÷žÅÀÞH†zØùÈ*®ÎÖKÖÐ=­ù.ÞÚbêî°|:rÂÙƒû‘A1}š¿ÇÓ$d#µJ³9UB' Ó©þD|¼Aã#ÆF™Èý^÷ Ž¢E¢ŽÆ,©Ì•þ•çõbÙ8’ÏN¸UƒKÅÌ}ãڨǛí¦Ý ý[s®æK^_ƒ±$ú²(q{"˜’UªÞÔöé™’¸ü×Ð ãìÉñJTfÚ¬wŽžbï¸ÌïåKOö9†‡ºQ…ª×À”ËBD—x¤ëñ%Ey™° kK¤éQYÙ>U¸[Ï]Žý€ë:­Wÿ؈L\ùNHà€Ø8›|è¯ënG<6ízèç‘ïJ„«6 Y:ü¯í­Êïn­%BµÎ2–ç³5×+âèñÑÓc%M®sì4±›!Ëþ`¡×¥Q‘¬zÿ,"/¥_:@Är9~h>Åhûç€D-ä@‡=)"Ò>à;AÃg£õÂ9B\ï†UPµx}O*Tú^^¨Yce3)„C$}´<ÜsöÍó=ßý8ˆñbözªNj€UŸU×MçþÞÜ«à+¿K­ ¼,VS¾¸ÜÃU’5­¸Ñ%ãÇŸCéÃ*äGâs™²fntÞsߘTÉè|VÓcûj>øßàé·˜d$Ñœ]ÙUf"sµ~‚\U@;NF©'ªÞls.©bÇâ-ÿ áLKmaÙíõõL%‰ÜK(k¼…ï›=ŠZLI%lù±å·ÈÍ;ˆ*ã,Åì­²L!®‚Èy'ðÍz[sã"Wi"ù< ¤ì@ kpޭƼ•ù¬3­ÍÌyDÆ.ÈHwE©¿`§¨Çát9“^`ëàHõE’ȽÄpZ€¡þ”þŒ¿RÿÆÈ"*ÔiݘÇôK…PŠ;Xx_tÅ.d B’Y>é±k‡]ŠÜlîVˆGÊɩϙ±Æ(Ø—™bµ,)_Ì9”PÄ´‰i¤zºµÏ¯U½~åy…a·(Ǥ'µý * h‰2Ûö8Ô¼’^ ƒ^Ö^‡ÁgT ø?„‘õ…Ø2W¶“t‹¬•»“™GY&>=]ð#ºj}=LtÄ×N›xo¦F²ÌF$w "˜—•Îôíº:kµ»ÌýÚø:ÙM'¯Sû|]”çš'ãˆPrMt½ck×Ge ,¥±ºMô Ñ+ˆ[Ðy|·*ò¾ÀÀ±ÛÅ9æˆmg³iaP5ÛFÍXëKO,qwsO}˜rÊ Ö£“ÔFÜ@É ttlíRªšEu ê/EGß#ÿ9 ƒ—–ýÜLÈ ¶­µ„öõõ¡ †ÃÃå‚­*ú<ÔI§zSEǹ‘UƒÊzc>¬ó%»°Ï÷ø¤„×<à `Œc 5ÔÓÉ$žÂo±&«ìA‡B‰µ{C ÐbÁo¤¶iWNé‚%Q„´¤’a>‰¨ËFðÐ}ù"ËV+Û"zZ‡O^ ^D°—¹¥[î>ôPï!16×ÄÊ눑À!G©0ÖmB÷pÍ£ðrUD­âNf±ÊuC5@¿ÁœLw/3ÏóÆm-b>Þßï!à£ÓìA8?öá°ÏAQðõH™YA6·ÏD†k¤a¶ºj†±Ý3Ë¡Ì^tiS§/þ´TK­xØ)jR¹7k¢@œ2ìÿ”œ"CZˆHú”ßîlü<ýXÐb?q²ÕFμœIz«# 콫ù÷³®dÐT€v5Z xTFLÕã+žÁUªÆ ñ=LPɯ‰{)":gú.fˆË!üÚ‰-ÙÎx~fkÓâ‘fÔßvÀÍÌS&(Û¶ëKŸ–ÇöÿéȬQU‹$+É‚¢'Raã!mö éxñùÿ·/{7)áè~n…m"§w™ꪘ{~:Òj~Á¥æÄ¬Xjô™âEŽV«˜@‘{TNH0Þùù+ÿ'øEÀÕ'’ɵ(ôþ,ßNu`ˆp$sÄ6½~[‡“ù¢VòWŽÝ¯ËA­NÕhxäoÑåNêŒnªQµh$Ttákµoƒ7of­ÙèÐià¾üŠ8U¾£\ʘRµéõ@ÖÞ’™k‡&××RºÆ½[ 8»hù~ùßÍ­ýðS<ÂwU©€V6¬@´¹ô¾=(÷97ý0­M6¨9ÿ;ÌEÇ×ÓI"νõÌø8,nuq®íÇ(U¶ávt¨ú )P Ôf7eWð-//ÝAùu±Lî„OYÜ÷nüpJ9•’žu¡¼(,lóм Š=£‚pþá?'©ÅôÛÉ™IUâJ”áq,ZºVqÊ£bŠU’»ó+¡^„JÎýÍËÌR÷O8[x_ޏˆÔVí*î¼;­  ‰ŒKÙßê-p¬²…Áb¡Ù–ŠƒÄG†W3'{xô0PY“^÷¹`#ýc#ÖÔ䈨%­«hU²%†ökyÛM;ÍÄ€tÖûh—·lVò#ÑTÞ2;nÛªù’æ¾x3E"Sn©ì$ÿÄ,.lƒü“ËÐçr¡Þx “L¦@¾£·\ KnœÊŽoãV™šÍKÍ.‘H.;=)™a‡Ì¹[ÂvC™ïx‚ÒwkJþV¾Ï.kƒ$&Íæõ-sàӉŠ´8’Ùl‹Õmñ+Š=‹ÁïÌaº Ûûó3ÃãÄ._ã.cêâÁp‡Ð¸÷Õ)‡U Þ‚˜äÂ+*z]jËÞÕ~5ôºäÌu̸ÏKQ²¸ îåeK9aD0»B.Øj›Ø5ô}Õ="AB~òRl¡éŽ_†"ªøäJض6ÓmF*„J ^pnßAgbhÚô N4[0JÉ–ÛÐ_‰Óít!è¸.|Óè–¯Üy‡Zƒ ñ鲇÷*Ê 9UöEš¾È¼ª· §Ý 5c¶Q—ùEù†Å!…Ïäv´ ›o6nìÌøZ1ÁT²ò€QA,ÌGÊmR|p_Ùɸ ½ûvFÈ+šÊáNdÑ: б'½F×ú$(ÂA— óƒGè—sŒ ­;i‡]2ùoȼå$è·M†‹ìZòšƒÿ-&‚•¢¿{ËWIîõ8œ;‡]P?®_ÃÇ÷3b*͆éÔÎõOk<´gQå‡]TÎ;§F¶ °>Ëí x °$\™j†ÓVTõ-Ñ=ŠðTµØ3èÐ-Ò«äy0YСõÜØ‡ù-ÙAqX4]h˯œ…Qt(ôD˜·^!¨ñŸf^Ù?è“îípõKÆÐŸóäñkþÞ¢µòñÍ&š\;ì\Y[ß*ÙxG„kO?j:íç‘>ÌãÒç:ç¸7KÜ­s²`›>l °š©¦µ}Æéòký[ƒ_°à>Æd¬S‹ðæÕïaFŒ÷»!}è´¡*‚ìiœê|ÿAP -(%4³K2õL—º^û°µ‚¨ „¦q|ÇYïQ6Ì•ìê}&Šggΰ%_|O »&^°"¹ÆÁºŸ®âÍ()ø…{#â)Õ­˜!«Ý„,&Ù¢5Ÿµ7n ÌUŒR.•tO -œ*=ŒXØd=Ó“üõK$­R½@¶ƒÈueZƗκÐÒ 7šúŽtFÓ¹%-Vc?ó¿Jq»ºbàçþÊtˆ¼açñI§á%FÍ`¦¡2\ÚXø¦ƒ‹×EJ7—ÿä\ËDåDäs‰EÞÅŸñyi`M2Ê•é°z€Ð))lûrtù©V.W÷²µMc²_¯Ø`2ƒ›ó…$Ä'Ü3s‡(ü—¨2÷g, pR—úÂZµ, Fê’éù5¹EKüvt"'ó€à szô0à=,ƒÍ´iðX³±……‰éãVÔ/Xêr³¤Ôã_—d›w´_IZÓNA±ŸaJYT¼ÄI7ÆX)›˜Ix2VÆ=¤›X×&~¹N§û°»)¤^µÏÌè‹÷ÇŸðƳg¶Ë4#0ó6-cêýu#ç\v&Hñ¤Ä ·}-9AJΈaÑ*œ‹\8~JJ^Õ\ª¬³+ßÍ–´•hLúS=Û÷a©{Y2np?´«w¾–Rb§åò/xn%·¶I Û:„(œã…J‰/ý]/á¨bàò©´aUÙ m,wã'™CRGfªñôöã,"Ë´†[GÞºâ Üâê{´šw›­aOŽÅ³®‘u€#(#lc³í¬¥ôÃ`=ß¹Œ*¡4ñ«gkÛ=‘ʱA&—®m/Vjz©A@}x¨ØüœFn|&¼5u{^rHäø )V×6ün¦V]¨< Â¥·¦ÛµðŽFîl-éÌ¿ù¿× è³úXŒ =ýNæÉsž½Ä˜¯+åx¸¾kI_Ón&1"•j‹]€„TÝ7ØG¯,ÑÐá}úIê…ä<*ùô²JáÏ׺=G×’”˜‡A1Ñ¢pL¦XÄJzø ›†¯átÿS¢'|/»u—l©òÙ€Þ+füÞ´‹¬½;qοL+Ø}~÷|–3ÇÉÎöÑVNGÉ0¨ ;ÎÆIø“‡yÈ.þ$7púù樵԰3[|)â¬,7®Þâ‘õfþ„ÝbO3ju 7Îò=îYÔà ³‹MU99ÝÅÏáréø¥Phä§íçi_´·Ì°qèêY›BðÁïlÛú‹E¤(ò‘èBHñ?Ãl,ØAOε ‚ïZ÷‹É—í³wigD¦*5yùÉz]Óa[7RÇfÌX5*âñØkË·¥‰—5Rªô<ºOäC—!¸tÎIÎÐú# ‚&³Hy†íá5¸uÀŠ=6ògRGáµÿšù?ùY‡­hÞ‡áEÞæä@¬çß).µ0…JÜžö#=].è<$•´ÿÆ&ó®|z÷`h £”žÅ6¹ß#) Tø9†;£[W§aW—¿‹­Q´0±ÌwC°#Ô°ÑšDÎwãž©µtÃÝÌ[} UêïqÀwU@+®ÂŸ/²â€v„T¶•áˆ#8~ýzï»åoò;³Ñ†c[臭öšA#5o¾)Êl¸Œ x%Û'5fh¹ÁçU6nÀÄì¨ é60¥‡¶VWœ”"ô6tI9Þ¦ ɧ"ßpßµ+ñëD…ŒbÌ_Ð*ì-ƒ"Ò „–)ƒ>ä"ÁÅWÔw€<ËËKi‰’éQÕ䉿ùì«—â¤ÈªóùÙ\ØÓ þ€³¡ ÚYâä¤A˜݉¥·+ä}  º¹Ád:! ›fæ/ÐW‡ N0¸¬¦í€atŸ…áh4 ö½žfã«\ªY¥ lDX¿ÎRg'æ}¦'óQWÆP)¿öò¡œú7‰PÈWj¬ÇçÖ!­¯á^Þ+¬¢Ìܶ=Ö¨_.Ü•`Ÿj95XœA0©óèà›æª®IxsA˜ÂWYœ‘_Ük{´¤ú5I¸«t992õ¶ªl­ÅŒQ©Ú]cçâ]ê– -¬%q&B ß²ø-ø·ÄIH ©Àžhå2~PKІh]ÔyÕPã{Ö ƒù1g~€¯¹!×,mÛ|ÊÚ^w‹€} š'Jsµ [ˆ’ÜÕÄËÅß|‰²' å|È?[ÆN–}·³$ÍsÔõ“]&Æ£ƒ)ò ²­V ”åu‚Mö\¶ô*´Ç,F_‹'å °‚‘el] døÜìTøø¤¥¥ÀõZF75#ËEÙ7†ÐŒQÌ3âfš¶†jšÀ?“Lªö‡Õn,.cˆ,WØ)Á¸Èeq\¨ßiÎ^£ÛšU;r'µ˜kÆŒS讵&†kI¦TnqæKN“çy°Ž¶7ÃÖˆAsòæIŒ­«O]¾»LšŸ¸z®XV~ò4‚×ËU·¸X åb¦Z®z ÷H‘3¶à¬$jZe:‹Z(–*¹t˜¦‹­ÍSNDèøß,ñ°>⊰ŒKdÒÀ“Z efª0v¶¶laƒšªØªDHÓÓ²qy-ø õˆðx4x)ŠÒIÁƒôH#½1ÊGSJÃíÞÑÞ¹Æ*õÖõb"Vbš0ÙJ„ Sg¥m^Ø›y,Fÿii盾ÒíݪêÕ›IU™å„ »)Kõ7ÝPyh‰_Ì~˜êe°8R¥:ŸK;ú¤ºtaí"Ì©Ú Ýèe181ü>Þw aóWõv3Á'EUZ;wõæ1JI7þ 2Pz õW.b?¶do>Ê‚±q—¥Gì6Ÿ¦v..Ñ–€â¢hØðÛLÙ]ùj2LeîKÒø°-D»/Ò–9ÚŒ‹ˆYŒP%øõåš{µ]‘©á.î.ð¡¦?Ù8ŽÞpÜ.d[€Òï¥T`¢fÚ[F‘(û:þÈú*²øR‚¤cYcÙ^ aTÀ¾Ý…G8߸æN™Ñ¤¿&µ_¿\ţQfá}_… ¯½çv[TGvsºC£Å­¤ìIdž@°’TEÐèÔÛ‹µ•×F ýÊ/ôpѵ&£åSÞnø ¡Vô'Ëño†ÃÞ»Ðä' K¨¦(û`sï±t”UVBXÁ~a 1¸,¥÷çîFnî?g˜äëÀŽ›l?òX¦’¶%ØNl)˜D<ß" KãJ?½ÐàE“kœpá uk §ë-^t‹T7’¤ãŠ1>ŒG©[¹JlÅÙU‚<¢[ž“Áü»ôºªÂH‡º¢EP¹+,‚.χܭýÒé½¼äHu$”Í?æ9ï‚T>É+’sd¹[^;Ùm/$»s”挕m+»,Åæ´Mí ËÌ~L.¡ÌhÇe×äL]«Ô€>½`TûO:OŸ(?܉3îÈ …†Ô!ìæEÝ0-HbmYi#µÆÇçð¥&LJ(Õ %©(Gù‚ÎÁý#UP‘½†…wqýDšú´†ÛæuH[Ž{eäÍ Ú™˜74@2@® §íÂÌ:ùׂ%òˆéh†Ûïºä d¡–}Ç0 )(šhâç3¾(ا'ûXØÖKz«/ÝïÄ~Š’BžðzâÈ .î< ³]Ù9ís™K™Aù›¹H†¿$àUˆÈ½þbáƒ;Ì¸Ôø"¯aÞäëd’:FoCc6ˆ4(f~’µ9TQWyöÔ¼Ÿ§€•¸Ñ+ä¨ÊöGíL'û\KùÛ.kLFõÃÒ”TPsÁµW$»e%Ü~ΠÀ“Ñ»ऄxøU®ÕAŠ¿-»3Œ†Ë„lÈlà])`UI3dÉ6„¿x‡®’V®êc%+ ÖºvÔ‹Ö\Ï«MZ¢|0%C¤Ú¬ 0…/þf;FÆÛòÈf¡æPü-£fC!Ðôr^¾ˆa³/Ó<”¤ö®®+ÔUÁ55iÌ®NÇ È7Ø­=‘êáúéxhWE\3 Ùkúß•¢Z„V„–£æËNñ?é‡)Š/ÇâÕ<² 0Á~Ëo uŒœeMè"=´þUÝ?ý۞͵éЭ®`§BH¼9Ë(ÔÉø4韣Os¼ðÀ ìµnª’kQ’ Šx«¸¼Í‡y‘¹“ „ôèô•æÕéùSû}¸Hý—6'4¾Æl 1qÅ‹þ‰4-$,UÑÀ“É;ªÐÆ ^åÑ9›Œ8;îbb²?ª¨Ù$õ†¸ûfƒ¹õš3$³O.H 쟮µ2ÕÎÇÝοÒgãªR¦—Uñœè÷pþqEW >m_’=‚,^gONˆYÕ§CrüÕÐS#xG÷½Œe«:ÌÛiÇ&!Ñ’ ì¥é.Gº3†gsm’—?*hГøq¯¼Ò£ó¼K07F*F"­²P× ŒsB¡ß×]Nš¿Ø¾I†ö1gc[€?r¼¤­Â}݉"Òµ Œrʃ‡Hwº,Uks{56šSÖ2f€â•ÿBeu×ÝÛoã+ÌÕtM4Ø¥+Ãuã´+w“ØÝžcä_í]p—´.~—9ö½,à‡Œ kˆØ(¸éüƒûI´ýˆõgSTÜõ“¨%I'$•CimØÜ˹„dRÀ0]Ôp{,Aoƒsžïɘœ€š²é­°™hW¦}½H"ù5òãÕû·0Yè´ák´o€²~Ó)™ûwÝ^ù6³~ãÐkŠXôèAfýtaׯ­‰Ýp¯qöÅ7ZÖ︜f!mw¤xÒIA|œÏé…&^ÛfõI×áXå4¦Øñ]µVy½çYIVt7´8äScò±‡öæytÐ&DuZΤ,‹»˜˜]9B9ˆ£õ|>ûÑ‚„ÚYÜ:¶"%Z)1”*¨/ Ónò˜íoÞÐy{šžô»­Jã gŒº¡â¦á¿ý`à,1·íÐL:ú †s¾5Y}Èç‹sÞÀ’"êô-®ªuºmUÏèœÓw(Í+ø™’)¡ï·x¯çIÑ#ÿ«ó˜§#Uh|2&¼•̶à¡ß‡G4h ¿¹ÏÚ@ *}êX3ûõî»2“Ë% !„¯¯áQìRªYœ5ì>ÿÓ~ˆèRw]3{ËÒ[ÊÔ.ï:txøEn“3WPQ¹œµ->–—CZa«ãñ}á‡*ºÔCE`Ï¿YÝs㘊:Xkv.2¿í ÄÏGQV‘©.üI­úX¨Æc•Fi/²(ûÙÌö{ûnõ<Ò ¾"ft6 ¨Ðhìûá1Ö„Ô#™óŽv-ÌfeÛ}pEœ,îbfŸKÞ'ò@ùŒ`7*ôH©lô³yfi‹Evò>ëÜ(yn¶WV*à<¶ºú:?©Û¡Cï¿‚¥fÚÛêÂîˆâä—;<¹~ƒtøÓöX1·ap5vÓ+Ã÷E„Epìkeƒe;½“$ì•#òëN*{¡•áBMݶ5¶®¹24Geû0“í—F&º_ŽrTÿ@µ7BÙ¸•ðÔÆU‹´\Â(¼p·Cð:S6KÛLp_õ/PÒ å|öóCçô$€d¿þQŸàòŸ\-ú:§+÷œÉæÉ}ê²›ÿs7¹£dy©X¹ L)> ˆczqý sŒc8øñVŒ¶^LüzO?’þS¶Pê=нT¤³n³Þ!Ÿ‹P©¡U²æ³SFNQ‘èdjv5’yíTÇéS?JËkÿ߯}Qr.‹R e3®Òå3„4©ìEƒMž>‹hˆ§ó‚W†¹ ¸y4ɾaÎÐÜISªép{Šœ ±áòØa4íµá—].·ð,²›Ù!E ,f?ÁÍ¡7èä³Ûf"¶wû=†Ú²À,‚óežì2YM¦ÚÄ+üÌ0Ó.;èõ™? >YaÅ õ0ŽeìÜÂ{tÿk»;,ñ íÖ9¢.E y Êó#ãc« ´‹$ôzf=èMYñEëäL6Žÿ»¥ nk“H¿&Y²ÞN ÞÂç]DÛ‹°Å‘8®ÇúÓ¥dÎx<àÌÜ×ч g Qé#¸Ê?c] ŒóAQÕå¼(ôÃï“ÛþûápjX¥ÕÄQÐfÞm”B—ÖJ(CÔ ô®ž’¬›|ÛŠ­^pu‰ßo ƒö*m@Q ŸŽ9Õ>´ªkãuHü«ÿÉM1îŸl»U¡ ò¥Š˜ògÝ·AU·z½¯™LÌKNl;ÔßÐz÷¤ EíÚxºÃˆ†Fï‹#é!œ×½-Ëùo?`˜J²+”;§ü!܉ûË1§5¼h ´¥õ:Í''eÇœ¹Ÿ¬ÉÚÇWX>íΗ¢¬X™…ìâµ0οAŸ.r¢ùìõÖDZì£ÃÇ|%úùªÏùœQÏ6VknbÝ9ÑÄ~4_"Z ¤@üqƒ¢¸œ]Ù®Ý'ŒÎ+aí)’Mÿµed3 ÂV2@š@Jµ÷ÉN®ˆDÕàÜZ‚É‹I…´%n'Xú 8š,“¢J°FöWV?„eò›jdÐ;­7>½M©ô¾¬è2¬‘Ô•×^?ÃË›¸.¼^¼d:&IòÚÓtÄ`Èž¸?¡ŸÍÿ5ªAa6“õ„+YÔ7lÂßïÏþÃ!}ÐèNZ Ð+Z²À²Â–3n=8²Ú¨aU$H´¨B³¨úRßüþarBðg™b‹Ž³•l&uuãõEðLkŠÝþppANë=QQ‚‚}óÁzº‰!Kÿê˜2ƒOeY°W4W¾U}¼÷‡òl|P›0eY3orÂÈSÆé$iO–(މîp?˜œÖg¦Ûô¯ë;?7ÏxÖ—áþ6‰LÐöZÐhEÁ¨ƒ †°<Š 6ë*sÈ>QÏÇ4Yà¤ÛÉ] ¼4Ÿ«žMóQ°¡¿mDµ+÷J\ró öDX þoÉÏ }9~J/' QSô6ÊzwOH7Gï§Y!ì  …ÕôÛ¸‹é %aã#es>qÒÆmhÇ${ñX Èem…rÂ^ÌÃi'ZãbÀRüC?²ë†¤ºžé±±´Ï]hFiÎfÇÊíÈ88ØNÖžƒGüÙ¾¨\ëÞH,1൜mÿŒž¸iCBƒ_œ·˜é5ñ‹)OŒ™v8 ”«å_?a èÔ3‘'/[§7‰»Ÿæ«3ØÖ4ÔÓ;\çw6õe°Ïþ‹y¥#Í‹ñ¹…PÓ1j39” ïâàÚp~8É}Rj K9GOÎÞ¯ªìÁYKËŽ>Z 4:ŒBœa›øÛ™Òä8Ñ}Iû«=né;ž°y/ŸÕJI(ZŽÚT*W°PT LÈMyJ„jÏ“ªtT.(0‚ÓyÑ›ÿ‹ºñ¾sïE0 M=«†ðÁ9½eþÕÙUÈ€…AE6Ø=üE/$´-×w›:ÿ¢ßÕº—yíé?‘U¨Lˆž†›91Уö.û4l š¦'–Åæã6Mì®ÿ65ÖñHÍ9b$Žo6‘<Ô^ÛÍÁ>ÿøkpÓa†>Âp¼ƒü•_C.àøXÓLê²úA&t\dÌ¿0KH×ýƒ#Ö*£$¥9 ¥ÓåCu@žBþ ˆ)úsgl¡VJ1’©àøõ˜ï+èu¥Cj¸¨Ã\7µ1®ºñkŸ:…6g•’ÕAÍ^öy«ü•Jgc Ðíˆ÷æ³02X¯Í­‰fíSZ˜ŸUg%Ò´¨KŠ /¼„×÷æNÎ#³³Ó¶%³€2ZD þ§Š]]k`óGëFÔ@—7ðå';¾ÕZ{®qæ> {€ ôC¼úþ4®#fÁÐÀC!Ÿñ›ã³°1¶›Ónf=i¢É,+lįø‹ä5áÖHhýÚKtÔ­:Ú•ŽºÃ’ñïaùñ1Ò¿P­¨¹4ã¾´2gð³#g½ÞÍ"ɸ4ýÏM¿Ï‡M—½DN¦ÿN F/™ºÞö†UÝL ¢¦¯–áŸë¶’¹‘HAN×Ï&{Qˆ#m?¤á‘;<Ëf7yn*­S­Ê5kâÁr Û)bêó€)"eI÷gس¢ü™½V¯­ X—U°íøZY#0Á]ír#$ªT°LãlúG²WžM Q¸Wetò†÷, ‰}¨Z†ã~ÀþqlSÉ©uÿ ±Œ;¤,´k蚆 ØÚ9½·0Q6ò”‹²2BrÖÐjžìMµkåJ³-⦚ÒU×çÊêzXH0ù_ás†¡ò/°^¿I•æ‚[·Xà ýçPoIÓé2¯ w>9~¤›³Ñ‰¤9ó¶Üw*»Î³‚^äž;cˆ/€û38æ X>ÒT{¯‰Ïž0Zsï6.¿x«ÁÐÁv²¸5ráXÍÿ²Ë‚Ø‚«4ú¡ àñ~^cdK𳀬ø¿Û4WOÀ "~~Jo4_ §uóŽ“Z!ëE!dX‘NÒôýX¿>È«ýžÎÞ/!—Dжƒ™~zÔÙ¿8€$ô[ݧ¸g´äc ZÞslçýn3×gkÏ?Zhh=ùUådÃFìóuŽ&ºÑäg´ñ ÒÁ=°‚OD>æ—Z¼Ã@5¥¼_W{µ|½AM$㊠®Ðíc™…P]üò«* ‰ÝmÈiÍù0r|%&”ë¿‘ÚŽUÐsûVФE{ŠùÀßX”º´³ ŸKÆvšb— ‰™ ¥›Âj›Õ$”É…¹ˆÑ‰3âÌOÌ"ùs°^¯%¨Î0îSljªOù­æë(Ü®bá0ƾPÄ„®FÎ@瓨9ìæMð‹aÍï’å…$ÊŸêíÀ¾ …›i»PàÒl—õ&>‚‹Oè53ßJÿ\õ 㸨|Hë…±pVæïjz‡e×2ÃdžшöÙ¶% ÎvoÞ‘»°kîØ–¤«I>–yIµAEÿù˸Ì iâN6Hî[æ%Ü+“±HtÖgbïö/û( oÛS áZ±ÝåÁ¯·8qЖ—2íã߯L‹´ÉkzTÚÝÏg8Â=k)&DºäãtbSõnŠ? ìýÌOC€oÈÅØú 6”ä„fÈõQ’˜gPT±FVÁºÀÅÎò@970õìÁXÔ…Ù›Äq‹y‡\©<0+ÈGƒ¸’>"£ió=Á²GÔ {·B-ýÿÕ8`ýçïp;:0;ýŽ'³è½’àŠ3˜*º_H­ï¬¥Vuöî Ì™àˆ¿‹DÇ–â\Åh;m(å2Ï~jãJ® 0-ùU ãMd£ë~±{±I”PŒ1çAÖ5̱e!='$œë(KÉU ,TÀ“Ã8ÑZa2´V¥¥‚a¬ƒGd0ßÊŠdÎôÇ#ɸö›¢«¶ùoß‚õeCe >•âòçVs€¼Ãf­ý °É{cîÜi·’[Çêh¨PîÉ^ʶ>þÊìêXo3¾yÁõ™·¥j,ÿùÏ£ÆA¨£Yoyåþø>5ùÞ™×60ÝÍ»¤£ëGw+f3Þbr« ÍdzZ‘_jrPÀó+üAN*éÿÖyéõgK‰ƒ7È÷>­éâV±<_w+xm{Plî ”ºs½NÐ,Pòoob¬ïØp rö-¸o?Í91 lX0koCãÏi7. ,Ñ4s)ïð)À\h†‹íIHŠØ‹gg­É:¿ìü-ª0W·Á5 ! f.Lŧ”ƒn7Ç‹œjß{³àg?)]¥ÆÖx®†ÔJ‚䯂U'pÕûoÿ¿o9̦>°¶ ƒ†Óà ÕH&o/ ã´l¤'¾?”ƒÙêNú0ˆç˜MW ú‹Å¤ËóD–ÙÛ,ícz…ÉÑí÷)ÄouéLÀÚN£¦àMæZp |G SO$IK|»ùf±ß JÍø8ÌÑT¦)¬†·{s-‡Õºÿ""­ËîXLºóÛÌÊ\.E'tµ©‹ƒ W_cÉÊÆœ‘Ÿ€†xô}ûÞò² 4™G “j…fb“ÏïþfC ‹ç¹sDÏt ωVöTOQi´I&L·4Î’fßc˜½¾_æ–çiʳ{„x;;ív‹ ãóãÆ‡è3{Ì: T6«WžŒ°¹õ‰¯LÝø¡Û”P* Z›”dbø©3lss”‘s½u«ñºÎ}Ô‚Ýä]pè{ˆk4^„°ð|Y<ÚªDÞ”êþ¯¡¦0c‚O©Îo·¬Ú"¦víÐá!Ç:WúŠ2Ö%6Æt›lîfwà3ØŽÉþ÷Œìé£!ƒ¡R(ŽûÜ4êSé*ȽäœOMe– ½\\—âŒi ˆ†O6?!Ršc¼´ –©pzê1ŠÅnDÖ ¹)"0†VÏ’C¤ÔŠBÁ67ºô6¯Œûã#Ô(€4Îï8Ô¨]9ãrqÕ÷Þ›¹'Ñœ÷[ÿkÈc}l”r ]«³›K¹ßç¹ö’Ù7¼Z\÷#Žs™`ÇåÁV»5³ŒÅ_¹÷>¼qV…™ \ Ú—Ûà -Õ¼.„ÐÒFëxþÄãí»:®†žRÔøºce|ÙÕK%®¸X¾BsáN¤n!>ùPš€Wbo¸0·'›“Ýý•Œ˜½æ?0I-âhGê2Y…pƦ×ôÎPW¢ð¹ßâ_è€{¯;Ê×}õ:ûÖä«ô3yɯZ×]ô@Í…=çÑ!ëBIJÓðx·.¦w´GVPŽnH=M'«Pb㎞¼¤tíßíWcƒ@ ˆœú[f³ C—­n¡^Y«¾IÞã–nˆäÚ=«¤PÏß'øí © »ûcêý ®C`L¼¨tµHUŸµÌ0#è¥úC%òÀ­ÎPvôÊpRôvå!N?Z$OÙUÜ©mg©Âõ!4‡NÅ*‘Â<®Ù‹¼Î?ôöŠyç²TKºŒv‡#<èžä½”áß`Î…Ly$.7T÷a˜™Ñ*ÈœX*:CÞ}tlïòüwés,0‚üÌvÔ\ò•lSÚsʺDíÜÑo•Ì}â¡¡ív8uD[Á©Y]<×] Þ¾7T²ºe]j³ÿ—1³MÞfÜ©–Ñ»+#Œ]p§9v¨ÿ6aÔgú×ÈëêÐõK“EÐâèŽø\,KžŒ®Àû“‘+=/ 8”ç¾ØßùäíÙŒ îDÅeéðR¬Y$þ’ª±ÏñZ²iyKKj¸,'ÙÑFŸ¢x›ò&ú²Ùâ½oª¨ÐçÚ[µŒ€G¹Z #3ùî9ç:JèÎK½ÌÑÍ{Ã4‰…aA3!aÏE{ðˆQ›ÇŠ¿bªí–ôoœàiKÉtGÃêKbt:²±ÀĶYœ86åÚ!N1J|Þ¯ÞĉÁ† N' …äQ þ=š7Ša ÌÏ^¡M­q/ç:/}Œ^_GŒ-táXáO ¸(·»$j <^“h ÷.£^²F}ÓH$yDŽšnÎRaHeÇÅáÌQáÞ+¡èb‚­Äðf-ÃÄ¥Œ¾Ø‘rA áytĤž¦Îì ¶Y¤XP¯yã.hSe‘•÷µŠ=E:T€šØáøäIí§×¬ïu`~E« Ó…§8ø•#¾b=:˜†~nŒ¨êÖ°è÷(ÑÙņ$³O ¯1‰r;¯ÅªÉñ€þÔ˜Ã.t]K/p>‹œVˈ}]ް».vh0ŸØ¬ý·û~üŽ'z6 «ò'нGÅN&1Î| û„ˆ‹›B%G˜÷fк :`ÌÄ¡ù¦¡®YNZÅÿk´¡¬Þ²‡CV„ŠÖ¬qvWBCE?ªÕÿkTŽPZ¼œ¡ÍÓW@üé#N÷l†3rmh¿©ø|!=Œ ŠBÓ9¢µ™[Ö@hQÙ:Qu‹Ù#6…Š´l[žÒý*J8OQQ±úX+iÇ4Ÿîu~ï6šqÅÞ âNvCohûö4IÐfNE‹èÙüdó™>w耶à*7aé#”òîÄòªøžÊ¶îȆt­ÏÌv¶´Mc8Iv2›ñ”Hž-ñÏ`Ÿ]³•l#ÐŽSzÌéHImgØfL«ß¹Ø¤QRÇ+ãÏIhSXzù§ktðeŽ/iw.X¾œ ,dF~@¶ÒÝ´BèsGƒÕªù-ËâÝÊ„Œç ûøä˜…ññ°(,Š/¹ÊÐ8ÉÚŽ–<¬"¿þRÆ—u¤>°LàÜëÜgΠM‡(±Úô–L£I½³ÑÈÉŸáÎêá!ã»ShÉ_T,“f‚O¿—Ôoá8ÔÕõ+…çßQ,¥ø.ÛK:öØÚgù»n œš‚¯èEÏKI<þãHՕ鵇~dmÎÌ~·ÂZ6ô)óÀ.õMðr¨Ý—ÇVŒÅK,í²^üä¶yx{MäÎÑpƒ I5uî·/¬à¨Œ'ÒA15 Cáó ÂbÞxŽrýçY! x“ G’1â·j„˜1œCCíêË…<ƒ/,ïþäÞ%]È@R†¤JÁ‚CøÊÕÿwäÞrÜ?PÆoã[2Ñbøë¯~:Nþ‰g¿m,Ãñø | ÷^b¢jܸÛ"¿”Áî¿6¸Sƒ›ý¸dú*Ÿ/(Eh^wêåÚhŸäaµ¥=È2UnÜKÎ7Ü …ˆt”JDØ<ß*°ÄöxÇt]„Bµh›4=(Gh Ašnp¤‰}Ý:,O…õo—X)NÏÛ̆=;ÒÒºÁÄL^)FÏmžV/Ï•:²19‡žÏ5ÙÞ.@‘ꆰþËÆ3ð‹û¸Ð9b°x1X×ÙE€¼QDq½ÔÑ'Á\uÉôÁ•ònÝ­’¡I‘ÖÌéìð‰<¤TVÜ&ÅÏz †ì¯å!/­úþ$!ò(sªäÛ‡Äx ºKîÀªâdç9&Ð~eÚ‹üðeŒßsRØœP‰¡ —kèî6_Ž]03ƒNëÂH¯Ã"\… š»9ñ ÷þEx™mù+•Œ*¥[OWÝiØl×:.F±ödÄí™ú WÅ¼ŠŽN,þpɈ‚Ì9[¡EíÚ[4ðê Ù‰»ù›øi‡nåÇ÷”/çé.ÜËñ*¼ÔJáö·¦·±ñškºIÚü­ý;^Å­%€ƒþ’z|]ÇOe}+Üu'‰|³¾]kßÖ°Š´c7âªY‹Þñ¸ ´ÖØ#ý¦D"¢7¢‰Ï׺¿æÎ‘'/>vò,ýº ͉CC·ŽvÝ«ôè•¡‡ëÿ`Ü-*FU*_ïŒëø/e³¨?"ÿ_L•úÝWD6¨Ø£Ø´ C€jKJ+;飦ãI÷Ím>9‡¤dk‚Xt°û…HÍö-VúB $P‹ŒMúJ!ÐeÆ:Ú?÷ ³gìtжù)”Úèd[õç ¢TÚa€(x»÷ôL‘@†®¦¯·d/º¨%ëÄ6¯´ìP’_ ð–ü‚«É`Ä ÂaI¬Q™øH³å€o©9óK&$]¨ká9¸£¦=K2{V1†E¿SÓ(Hç±FL‘ÑÞÌ­‡–òÃÌ%]á%{& Î…=ø‘ó X¾Ò[È[5°ChãŠÖÆ>œ;ÝÐveˆ×@ù’-Iдt­#þm* ¼°–¨¿Q§ Mw`vóa9ÞÐþ›0t¼€FHÉ2FÒ`| s,v¦Çľ+¿eœ! ¢”«RXË”¥„™¦»`+µ;tȹ* .! ×÷ƒGÉ^¯”öʉ‚1¿çcò~‚ÏJ+Ø1àà€LT„ë‚R‘ºÞ™·#V2Œœ“¼‘HƒcBZ(&§ Ü2R¸è_„Þ)bÃÑ F JJ;¨·ÁLåw“¨‹Db…(›ht­¦ó‡BΰõèÕ›XýéjGÕ¬åm°o¢´óû h5ëbõV÷Ž=Vc±|9ˆGf ,­ÍÅ*Y« K|ãÏZ­¬ˆ€€Xµ‰oÜô!Èïç_Ë8£Ø”KVÙtý¯—±…'PL‡Ó!]¸V—#»ªE8ÇPŒxgEƒõŸ©£càůU HP(‹g—›$$Ìø‰QIÀZB<7.¼SÀ_$Ù¬?ÉQÞš'~P‘Mž#Õjeô”a.MiÞ•å°}¼©-°Ž‡=Æ4Pe½0€þ?¶Ljêý`ÑCÒ ‡*óæ'/:a¾Èå»Fdפ§«ˆo ³Ð{G*§fó¡\M–ieac ó{·š¯ Ö9ΓävöŒ2ÇŠ6…Óš™UëˆNlýeð)\”ŸOl|¸&¢Þ¾•)qNXa•ÏÑhÛ•=Œ1dɡʊ ¥å˜ }óžÜ€Éúìü˜ÜOo³ÅèÝÐ`(@·2Äň6%×®ÛøB™7»´/¿,úZ±y˜þN]h ^'£bf=óùÀçù‚° lEݪîÜ©ÜN¯¡¾be Ñ';3ÙNļg“”Nçt$‰p tÀ‘ýVJ>VàÜ!¢½“Ýp|§¡C½?ð-Ö‡múÇ6¨"3Nc_÷ì+• ¡ÑéñÈ:uî…zÀì:èŽ0?rkä)L½ül’lê%z »ND„?ÖqÇÑ rfP‡…OYIZlì/›ë+Ò¹ ö®éjÿ+ÆŽ³Nkøùcvíú ¶(]¡Ø õ5’ö)~¼o3âD¾¯›¿¡ agÑàê“Yˆ—ÈvAg‘žt†§ÇâÛ­î5Tub«ó\¯‹.¸¶õÍ­QLžº?ïj›‚cÇ‚ÅúâsŒ,Ìv_Iu‰ïz ÃvØ ‚ö8ºy•>`Ðæªó»BraJ|ÞƒxM`ãl[Û!«åƒ™@¿`øºûš È킽bK‰é\ vé,yÆpøžñn¼=ÌøÄ’h÷f®»Æ·¯4s Ä%þ$êí𦰽|h‚i'«]¾Rʺ ù$°s6åÞLÈw‘µ¡u>iXÿÜ÷V©rötuC‘‹òÙY ˜ÌøÄ½€úäÖkÒÏTV¯Fˆ©7WìPÒÀe# txC×·Ó ÕÙ5„ [ÞÝ»FB‰? ÌG>]ÙNF&v&mÉí0iôÊI$êT„^«áƒ·æ× ’zãX1«æ)±‘ÉfTƒ)ÏQÏ’q4š¦Þtìžò ÚçÉu¸» 5¬:p!ó S`™±†…²±«$Øœ+RµËÚŠ K m-c°Vâ‚)7õ:ÑNNª9K^Yº¬¥Ëù£´ˆœ@lІäê^ùé¾€)\ÁÜ¿$júnnTNí)¦Ôû£2ƒÀÈd­Çô ’=á•}]Ù#R©hÎô‘œrš“U¡„¥'”p£’ªsÜPŸ8&ÒQWµ( —@N×&p ` $üã/Óð×Pÿí¥ùrýžu^ž1èiRíò7Yš•X>HËJ| ìÄÕ̦WŒQJ«wþ<ø7~¢S.¿>2&ʉúfÙ­¶…XU¤G Æ8ä*…zìþ×ú9MJ×s¯ðÕ¸Íu™h¤¥\d =›^ šŸ}K(Øû}”ßÞ;–­ \Œ£9¸#Þ–s:9NÔÖÏLæÃCüÊõB1Ãj™ï ß)—áÚK #+Šƒø“¿k>~œc2×öÏÒ<}kxˆÎ#¬dc£´LÝèL_„(\í4ŠÖÞ#ÑòÒ×Ó5É„=?9nîÄ/·ê6#ÜÏPg©"•¤ FõÀŠáÀ«Km}ILõ!I댒yþÙ»±Ï’¾VVÝÇ=¾Ý* «²pLe3Î!L`ϸ§OðúN†óä»ûÖÅ¿p5þ râÉ¿:0ŒÏ±¤—ùÜÀ ¤<Œ5K»K@¼Ã¹Õ¨1Bw—Ž¡5!8nzùêšO=ìÞœ×Ûa¸vÄs}®œ=º“ü û4¿í½Ôþ¿¥ËßÚ¯2ánØbÄÁ<¶mAR½•¯ü–¨@·¾ü FªAFöoô`¨¬Rï~„~‡³¨Ã ðdr7( "×ZwÖ=£¸å×´¾lTC‚ ÛQ˜™x‚Îñ:K~Á»ÖóÁ\‹Ì/«eòPXþQÞrÙ> è{¯Õ$îXª¦aoHÎýÜ€_éÃÕ™x1ÒŸ¶´¾›:¬œ 1(E H=qWC?#+)æÎeÆUñðÚì]•ëcë˜J|fN…L¨Î1`!ÄKöµç£==X”`–d*<êÏéG5j­ŒjsŽ ëÇCÞÇœB˜Ê„m,R ô”ù£ž µÝÕLkSzÌ0Ì V¨"¿^ ê…hz5ÊâÇ9x×[f]6¥?ïçê¾¼Ù§‰ù[~³F·^¾/lÔ¸Ùê“‚@ð÷ŠxJ::À^-L©?'Ê_ibÜ)xâ¼!3[–PìÏV @¸C-übÔbï˜nÝMë›õç|¼b&Ô¾õ„mùëÒ§@Éì==€»Y0I7{‰Ç‹¼Õl{‚är±2ÅîšMúÓYÍü9ñ”M¹ƒ›2#yåâÑèR”:8Åáζf£¸k 3Ƭ9â«Fà‰Ãà¾\22,ÙdZOÜŠx|…½e{8>KËÊÎV~ÑÖ»ÖiÂ$¹n•ì^Ø4<¦Ñ,DT 7lµŸg`6Nyß,Íen ¥E„À9=ˆrÂÀPÓ•µ é Üj{¾ëeytšÃU³ÿ^©ˆ륞à,ã’î<¾NY¯Ù4i.Øígéã¥jI $’-1ÃÓ‘ªÆ™2mÃØ£SPÌ«`œ·‘Á•WlãP·¥Æ;2æò|¾û."‡+ÿÔÝÀÑɪ!¦…Ø!ìk»$ÐC«e×d9±PðŸÒì He „ûä¦ ÖÊ[±¡,›–ÓƒŒ¾‹¤–ãÀ9ªi {¼”H šd¤‚ÿ©±}ûF™ëƒx¾ZÀ“¿Ù>"S:›2Ö»¦WØ?’a²2d(øP6¢ªn‰ÓýÆJa.d¦=Í8w®p'Ÿ£i¯ ‰$BýœR6iÈù†V=ñ®p˜é›_þ„‹Œ)C)ûL¦åý6=\S潯öWº4l›ô°U­éúºÌ0ä=íg‚E’ÍàÈ‚o BëX‹šBí}Š<©XËßÁ¤Õõ5Aª¥(CöX}R²Î*ëmñ1 ”µ(¯žüËSó*×_Z©jGÓ|‘H¤WO|Ø | $ûÛÙó-àaæ£CØpN4Õ´QYWÏØ”H3RNß¿Np{SÇEyôOΚÑÔByTàŸOf“ׂXÛðuüâ¸OYà7‹Â˜+Ø™Zþé×z;:âÙ³›#îþyäÀ Zʼ׹җð´Þ(*§é“Âßn¸ÀŸ Êtø¡Ùp²[ l˜„g«ô6"ß×£¢yâ鑦RrWìçzý=Ûä’öìõÓ)J ¥ZvUj¿Åi‹BI%Ó÷O˜È¦ÔäºÙîÁ¥Ä+ÐAÔÍ[ס5žÂÝž:ä¡ìb.c3‰%tú§4þèM6ÂÛ©M[>](©ü]“N|8 {æ«äÄôZr°Y,œ“rD©uÒÛ'--6šùèA‚NŽ¢òJ/Û]‚ÝMìaf·oåa+#›É‘n{Ñ.c cçž„™ <^lèµ4t•N:Lr 6°@â 6€ð¢_ê:~(×DªoÀÐFî £&¤ßuÅz¢— Èc·S딵wÓ”,P-—dñË]”+{åþf#¹ßÙøÓS¡yXãše¥~o—š¬–#ßň ›µõËøŒlÕeC‚Žíƒtë+ÐÃUý3#ý—ÊɵbUÕŸ·$jfuö£§:à‘Ðݯ"øZÖè· ô×dˆ­‚­p®n)ò“9ß G’Çùì^´Ê8# w„4fCU/ñ1 cAÁ}£+üâ@‘ê¡ÑßdI €ŠVK5lAYšŽÔ0çþÆ hølŽÁmˆâ¥$cÿ ÈŠÿõ;ôl¶*W*‰—}K'R„RÞ(äwá?Ûó Ž·¯»©âFœ+íš ä¶bËYþkå5IOnK!®we3Ü¡ý¤ÛòUï™ÜÕkÄÏÜ„¨)¾M^‰`’!oU™‡®ýk)û‰Þ/ð2bEÄ,‰Ó/u¡¤ †Ú,kkAè= µ“Q´¾Á ÍÓe/ŠÖ†Q8üíâL/OÇ¢-ßßÈ1’]=жWöNR/,É^Eã" Çí&U3=wÚMû¼Æ¢@»é@x…OGÛÐȯ¥äÝ|;X?»9˜“´YåÍ b»TO˜ã½-½öu+ÿ!^þ»DU¸ª*–Á®bšð’'ÐËÜÆÎ2:ÁÌßÞʸv8Æs«Ñ Y¸œ·ÒЙÝE õ†´ Íw˘Vz…ÇD³'®##´X½×uƒ²Õ¯ ã½szNKáæJp^ 5¹I}g>Ê®‘ÓŠ”0þ/?‡èc»gt —î )r7KIµc9U½1¼u   ê„gvÜø¹¤æ½k.—í‹£¡Çò'¾BßÒ7‡¸ƒ»ÝM'ÏOý *KƧ|oÍ ÿSÙ¢Ëñ¯†ºôýÐjñ_MV6•hͧµwa¤\ý'a`,ñÛAùÏWˆsfe–Õ|k³é‘ÇgkæßÔÑ×UtUË–Lè oo}®ôMyUœc}àçùVÞBj"v_û4ÔßqåH Øh™mOë8z‘Y¼O%Ryœ/ç¦Ø‚úðé~›÷U ¶S<èß¶2oNvלÍ»F6ütÑ ‹7‘JèC±L:gDþÓNZˆy±“EáE×\{(çžu&Ä/ñv,|Ÿ!]1Acà‰¿B×t Øå_0Šþó"õ¥÷nåü2㈭õØÎ‡n¹UíQ$¡+Óîš\•ýSÛ‘øîûäÑ67(r€ÑÚ"ÚÀ¿É ‰ÇÛn_JT§»Úrs–®!^~ÄyíV•‚ë)š¢a} ’#D þŠ"ÅowI¤yÛ—ùž·aê 2%ïݳ=ãIJùgõ¸Û~V±2a(bG)B^7|&‰§Î H`A“¶‡ÀpL›¤\«×·Ù×Ìçf„ر5Óª–bYŒ[Ñ îòµ/œwz³öH0õª`–1í¶¸½LÑ5“r"‡K•1¦Â “•èñ[Õ:"4ãêkŸÀ‚~XGÑ R}Mdœç<ÊlÙpX]ºÒ¶RÁH˜óÏsD–QÔóÿ¶ïKHñN|{ˆ/™<*¨°Zì ÿ 뾉JÄíu÷Å>c±ZXO%¸•jÈùr»Ú¸™—FþüBÉá0s Kï‘ÓB‡pØñœ;=fN£-e¿îvII.!°§!AI ÒϤ¥lÄ0v޼wñpñ°Ÿ½_o˜#"d›F¼Zfú°«K9¥qCïn ½6YŒ7Ì¢˜‰!(ÓMØ×¼:{¹¶™x¶’ÙÎõóv¯Å}ZQÌiB‘KÔk¿nè.8íQ{7lp‰•õS°`Y„¬ã„ÿý"œ×Ðá^îù·óˆ‡5ÁžÃÄ{Ç%®sÔ,Ð"Õ h °€•xºd¥øÒÝXõÕký˜03|¯;'«¥0G'¡uäÒTŒ…àíÅ —>0 ‚ÞˆL‘!‘ÄÃî…â—„*¥Ü?_½4C>b+”€&3_mK‡DÂV¾{™:{’ô½hSà}Ãg…dL1À3T¹¸8è^QéE'×™P Ïêdr§8Ó¿e°:¾¤qžÇø?áR )-Ñ΢øëläo¼%Ž­nȆ¦îà®GåGåKÀ"eG¨„ªðЧ]R†á l@+:—.*?ø‚Á;F7¹&™<~³ô뵆PžÈ~7V=ø¾†‘C†ƒ‘jçE¹E¼Ì?Æ—a˜U^ «àH3#» “ö„Ñ×…ü.tk¥ÖÂ1u4->tÜ XÜæ`üf|Õí›9$k>?åœ)¬06¹€H§žE΄d<¢Ô™ULÚ§œ³™{ÈàÂÈý3»Uy#{¥¯É,lJP=ñOM<Acݺµœ€W"dâBF𸹤÷qÐÚ™ÃNp\¾Øç…°;ìk¿Ü·Ëʲžmþ ÁŽñ Tß~U·Â°·®ýß®(p(aêm½Ônz6Jyø¢XƒMrå¨:N€œDIä€å½±$ËðC/ñ²õQ<_†­—¯TvXïó€ð/qâÎQTbt†À:HñD ¾?鴱à ‰B¥¸¬·p†Ø«ü[@ñ"|æKÌ<À{g%ú&vþÙÄqVÅf,ž!Ÿ?]Çš ì ¤L™(ª‡Å™ƒû8lƒZœ8Äé½A O ü‰PÎÈ<ØËhç³ËÁžBž¡«uó~ìN™º¡Þ›ÐFˆ}“ÓÒg?‰Û*8™o?ÚïU½‚¿Å†Þ©¤ É2Ñ}obM;Op&nR$=7r@$äb ÊäÂÇï–ò/%ÃTö¹c³ä"Çäû©„=[퉨÷úÚäc¸Ó¡±pÇÖ ü6”(QùæS¼GcQÌZбnððð}Žê4Œù}"ZIäà?œ63§ŸÙz· u)…ª éÚ€àò@¤¸W´j²1ƒ½Q72ÐñnìƒW.3þ•5Ó}èLxœ.³=TÂ6hyfQQÇ£¤Zî1óØ0»H}Ð?Í7uë Fƒ4E” IEˆÅösœ²æØ¯é#^‚RuÞb»oÚ5éE…ä3Õ¥˜Bª¬G2Ý.P%•ž ÇG]Rÿ³ãyrHCâKŠ]¨F×ÄœÆv(%öÒ˜B¬Ú¥l´?7]d»=<îÈ('1ùïî,Z²´ÿf†2ÐÃŒC…bá´õ{P]÷í “Ô™§Ó™*AdGu`)—wP ÆÉŽaðäR$K åUIY¤«k”Ì~Aü,jk¤lÞõž[©1…›Õ±sñ 7ó7n®¿a(&+“làûDé8S ¥‚-®ƒé ‹d÷ã¹ö^)X­g1ï«Àá eì¿2iÚ‰±â-Í«´íeT€;fKধ³*r´k–±;^Hñ¶ãÝÔ°W'BæÓ<é9©­ì–µ/BÐ/}O0-rnQ÷iÔkä“;¨Õ§ kÆ%ÔYºów÷­«¹Óè=íl´uE\Øzp>_Ã6Å¢'oiÇ®®>g÷PTå‹»Áíh=¯[§5ƒ „1¡­è;Ò.Âv«ô~ /-ÔÓ¶ÞÐúkù`ÔrN¼¹»>ÖTÓå -TPÚ”1IÁ9G|¨4ª§ êu³=“{uÑZKÒX¿‹‰ŠÇÆ'’d±'7gòBs"KœÅK•ÖN§¨É¹`ä®GEƒ4™×!`›P}»c´(×Hͧ4‰)‹âË?j >.¾ÔdŽ ¾]wô‘²Úí*£YMX9Ta*ö _œdxé‹=üÃŽÃÞ­Å3gT`¸5ZÖ¢`þÑœÑî{—}†j?É­kä 1`³z5¬&ý3ϾTÕš['2Qûž•‚¤Oƒ;«Ôïõd¶þåƒ}kbŸk¸½Bºç;ÚÙ•“ƒ"»øÏ¥0³rvÞ%—-?ؾÚäá¾ÇgdÇ./ºfIš3ÞÒ<ÐAÎÄÇlô!¢Ð$dPU§«P±ŠÌMHGñ¦ýfy$vÉyɽÏ]„tæÇÒš3ÅœNŸ™” µR;˜•0‡#“öÿÍ3¤`•qÛŒMk¹;Œ•-íY³Áç:ûpüìPW„rvyµ [r‹nÑ–}(wQ˜|×fÛf6нð¹úi}Ï"mÙÌYdFLß¡›~èL;YnyÀ|yÔà6Ã-À>k1˜£þ²¡e³)Ó@‡?¡ìæû(àîŽF´{¾§Ñ¬”|¸Õ]]Äè…7É–•Ü4Qt„Ù Åý/ƒ¤l‘ØŸ«—#·!j6b!î*ª9ÆŠÍRú êZý&vCÛð¨Ü,Ä)ô߆ü,:ˆžÚ^LøK¾kGý_íÒ^¾œ0``ÿáùÃý®&‚€a9ÊäPçm™b€34´)Õ¥Öì6{߬”Iz÷®Ó<ê(ãÅÙY–¥*ÝEoúÈÅ\b£ccˆ*^‡z*oË%ô_*_Ø@P§ŸÜ´=ù†*Ã"ËÊ)e+ó“ÑeÍzÃH^^ØàýëÒBw )ssL«2‹Uµ•Sê)(Êq¨s¢2>Ít©Ô—Zw© ãÉlÐò€Š¢q'› /no1Ômµ• sEö³ãŠ“oAöB›°\y 8(iÙ^"[ÅŽ‰ã™ýmjÏü+nÖ«M¡–=º³NŒ™À„8Ù­€£à­–IEbà ¶+ÀbfÑfÓ†€Óíâ°C/qÄùºšÇbR“¶{gÕÄy-„kÜ,Òl褟C(ΠÄ?. ï/Ÿç(sÇ‹ñé< ‰¢Ipùx­I3¹L®ª50øbà?ùþ'6Û„tLÑ©¨<4ñn Ù«Þù ãÈïi ãÙf²ôò!ŒH{ž<í''Dá'‚mù™õö; D–?ÞÐ*ÜÊx4^z¾\"&áßLJFu»×ü“'m’öâ<ŽÁÆ'"Ü¥øËßËxÍ'è´¾â+{ª6¿^‚ª6€ÆQê1¹±Ä3ØJÚÌ­S}IH5¼ú±h„ìÎ?§¤Dª94ô½C0YÕbP¨Ïzþ+ Ô#÷s7¬&K4RYHÁ$†¾­×gȽ0#-‚TUk«¿è1ÀBøéÞå³¶ó,߀æ}qÉý,Y”ú_œ67 2{öÒ«•É: :êHâkm\l‰:Ý“öH îÄ(8HꦨךãoÇóå(ùù@ÏÏeÆIjG90ì{î pß’¾š«HBÇè;$E96ÿ{RÇö6®ÚI;ÚG6ˆCRåC^3”†tûÚæ¤ï0Y~é~£[tÆŽ¸˜š¹}XRoÐ{x±£½ýòLé0Îk/½\feW uÔqÉcIà[SÃIF6tº¸<sÆcøu²Á€I$œFù_#ªi$¦´9Ã)J(ßȱï,ŸØ"–Ç<@Y€r”÷º¥™Ù[e¤á¸T»Û= ²U³àÎêãéNÅ–1pè*›cëáLHú 4{3µŠrœÜºaJo¦BzŽ’‚ÒkÁ á·ÝÜ.±ÀT*Öá-gçæ Äos-gØ©zOçÞœuÉÙbÎïàÉÿÉì&&úª¢u3¿Ò>O^ŒOEBº }“sÚ‰}C Ôç­¯Ô¬‚úÃc~÷ÛêPÌÿ,ÆÏŒ¨g†šðHæ^Ù¦ò±> oWbc'yڥΩ™k·´%Ñv›-”âõÅiÝŠ§:ÿäê8#4š×¡Å{RAG#+amŠ ÐÄ!à‡Áét“ÔñÁø—+à~Ž]ò|rñÈ!ö¼_$XyØÚŒËrlá½1à ;ýÓ;½u¹¹çÉ­ Lˆ®8E†5¹Ð•OºånIs¦ž|¯‹üÏ’‰à×Û®ldiùPö—··©¬ÒUÇ,[,Òs¶ÜL)¹öLê忾òxP÷•uSG'lB±\Û+ÒŸv?o3¢qÄÒJÝu"¾ÍZa{Æ"PWË™êd9¦Ùn÷·…×@iwlLÖ”ã­>›·Õ¦äî°ç³Þ>NZÕîŠñNöâ8Yà*¼è³Š3o;Ìc ÿü°FX6ËkˆvΈàFç¿29»Ð÷ñ¶±¢÷FƯ{µñrGá10b¨;΢»À?!ŒIͳÉ M&ò„ZåΠ6< ä–-œÈM‡ê~ïÏÅQ €zôhaÈUê] ñmŒ|½Å,¡~ ˆó  ™¿\ þt×¢—“ÍdAfìϰ¬P÷nÍ?ˆkÙ¶æ o´,r?¹nf+ÑžÖ ôO!hmfeÖàŠ.Z´ß‡QljãíÊ⫱­4qAêO:DïNmý¹ô÷6B«åš?Ï¥níè^<5,æêS@]°zŠr èƒ:LðX`à £'‘d±4JÛ<ŸGõŠWJYóúõ¤¡)“ÁåiE5웦û‰j“éÚí: \/36hx ¤Ø1ÙZØŒ­ÎT­r0Coû¢y,·i¾~_WDÅöÜ`|kªÈy;ÎýhŸÌ؈שY#²!­Âu9 Ç2’ò ±f6Š7“’ÓQ»¤·‚bF{¸çm"rrí.¥Ð=¾"iøJ^>a aŸYŽr%‘~½W—n“?ãÖýìªG ÑéëÔªHã6Œö·;Û1Cß*ߟþ4ij¿¿Zí—­¡Ñ[ƒ •1íü>ñXšÆHY8‚ ë- Êß1ê›ò+0´ûó¢ž6™l§B^ß?Ù6‡Š.J\ Åï¬áxǤ›Gnà.Ë äÍò@»Ÿt¾÷™EyºLãYÛG’=Æ÷#›ÈÍhŠË"—>U4y~Ç$W&û0h~_÷ßœ <9€–>(&€i‰y¿±‡üNx,béݲƎØË R?ÈÅ[µe} å\#“÷J½á¥µ®òή“ã†sJ½ØgAçU#UíUSž ©“÷ÏÒ”(´—6¿q$UFM#ÏéóÇWx¦Ðø#Â& ÔyØ4Ñ ­°˜Õ–ÆHœýM¾qF|Ì.BÍVÉÆu×%×0åV–.v˸çœùè5J»X!\Ük™ó°`Pz€t6oñn!"±n ôü¥ØDUìO­+’PþTÏŽ´‰Ï5žwúçXo;-r´¾™ã’SúÑÅïcZ÷åi‘I"`€Â÷¨…è‚àúÉQÕ<ô´Q,ÇháçÇü“‰àbàù4ù'Â2pâ,7µNÂïXj °ó¨4¾X`¾¤ŽGèì0ˆ×ˆx— ¯ë`=ù:|.ѬÓåžÿË>ˆ¹ÚãÓ @v¢´9ƒ¡ø¿Ù£û.…¤ªEšÅ 7GmaK^–<Ì+ªAß®¼%[$~‚ÉȪ äR~a{¶¶ñô\ëãtÉñ‡rïtZÎzTìE™g ™2ƒú¯àšÙ¨ü$ôScgÍÜVÝÿz+ðË Æ* ‚·ÕóâÕ¡=h&äˆ@Á"¼"E÷…‚ñ½ç¸” ¥´øªk˜ËDJvÁ}ÕJ3Õ ¦×Ê;®1Íþ)¯;º ïгKD©ßc"Ýʽî_¶\бç^Ȇ95·; ¡(\‰IE¨ØSÑô8ͱ0m(öûЍ­¤I΋Çýž-,UthSùþÂ|3„"%X‘<¾ùc9öW5 ddÅÛ[*éU:ÐQ¯è뢄†(QZò{Ô«ÏëÂc¯W0_å@ñ}¿!ÿŒ…6ßžÀ©±HæøT?8UùÂUﺲjÊGÜjPa+>Ÿ¥&Eû žqÅ:Kï®ãYF:óW·íjâÖûxvÜ«UÔ"•›tîóÕí®Ñt¦¤0×ñÕ÷¨¾‰€‰c:+µ|Î ú^½~ì¿Ý„Í›`/R(&ÁÈ•p¿eY»%H}Ç>ù—Kñc¥8ož\‘B¢·fh„JüÆÎMY5¬¿jóŸÌ9ØšBÚ ÉÞKÐÆwD“¼9SO_psG·E$I9÷5©„y94@ÚÑßÔ¼<} ø}@ÍýœêZÁ wxX²Ï$vÉÏZ½ ?àÞ¤˜Þÿ7 ô‡¾óµR™ì£k æüs=àmyü x»‹÷ìbH–Ek4×>_Œ¸vP#¼ŸòäMqm©}N˜¼m®êh$9'«Â.ˆ}ør¦Ú¢º<ˆ"¶þºï†ÿo"\¸)§9yÚ~T‚ "Úˆ²£‘Füÿ±q«˜P™n}ëH~ƒ óJ/\vb@©¿a>;ש ½îcôhDŸê,f!n$­¾ dTÙ Á¬›µ„ìÅ¢Ó¾ËÔ.ψ…”×zþ°íé NFJ€ .³ŒMgý kÖ’§Òb'¾¹í«d´UÈdd±•î–vâK'Å‚ñêŠÖ—®{g³Úàà$:Z6ÌZ‡Úû…¡S¯*±p“ΉšµÏ\kƒñ6Ü|ãŸZ ?ûåÆ7%öî=Ʊ¡8¨ë<=s1ZŽæ»ÛM= yÖÙE0é) ^|ÑÂbÀ´W[GšF»q£Ùgå×`ÉQ*ôíKÜö*t•¶ ÅîTfúd¹- šQÄ*9)Jñu‡Q¤JqiX¾ð¹\=Zј—¥*çØ¢îÊ‹0ú)š¬þêhpÉJtsy¨Vß  ‰ûð[Ÿ/Ï׿£2o¤¾Ñ…‚¨ãof»H4³pˆC¯ä¦Ž4=#g°{fʄիŸ<±G+Ü2€íR€ŸVi 1‰ù^UŽ €*Ž7§uÊüöŠ„"ˆÊ(Ä©HÓ{[/ÿáK3q‘ —D÷ùnp«»Oc(çŽÇw­ºjcý’º|d‹Ÿˆœ…r9›1@S‘%D™Hßó«uÐ/Ïx{e½ËÆŠ¨·Ç€ÙºjGÒmÅFªhóà™/ÕÙfL2Î`þZ»‚™™³Òën%µcí-|3äµ”©8¦K©m{Üz·4˰m)šŠ>·¥%…d"²œS"òúL¿.b€Ï– 7èô½^¸`cì…`M‡gÈÕW?7 ý;^޼o¢À•åàÃH–¡v%64G͘ÍèÁ±ÎÂ;_–pªyºÍãÐ-ê×Êû}Ñ6ßìÿÃH)W33$Pòy«´æ¡v~q¿½Ñ“çäÊ?Z/T¾»)ÍÄct„Z˜wà ä="€ùÈPÖ¢HsK°¸”Æ'I¹²¡.WæµM4®=Ú*ØÔ/Ç,A‡F^õŸÚ¢¿yõßè:PsÇϲŽÂ‰Aó¡âΠFËÌår–ÃQº/ÀœÍ•²zò°ñAˆ}uÛë,|ÞÀC†/ ~òò !Ú^5}¸Æ ÕG´çj¢àZŸihµ}æ¬K`«oï£ Á\¥˜Dæ²pJuÀ“aý8yŽ@œ5¶»õÂÞ-ô­;Á*cM/"Ë9—F^bÃ_¤ þG‚šíê?øõ0_ÒÖ¡=1 ƒ%Zö_&Ûæg+×Ù €„¦}tiB†òá/$› ÈõI¿jŒü¨N˾ G½H èmi»†Î;Æ ¹ nÖ`ãZé# BŠý÷!Æ¢økÞ¯Ö{'ûB£ÿÔå }¶*n–“ÅøŠòÊSì[Ì¡oÏçTx(@ÝQÂ*ì£Ýæ@ xùú³õŽwèš|Ö¼Ÿ.ý!â© N^£x¤6X Të”ìÀÂ4ºzâ¾¼O¿ãн¼J›yÝW*‘ ïR*èÚ\ÆÙ2Ô: ©"ö„©")NȼúB@G5Š6eß{ÃqnóMç³2†‚@éq“!¯*Æp„?ÁØwŒçql~~Æõ[‚`ê§‘Ö³®o€‰.ãÛ~·;-’é~0Üw¼!%EˆÎðxÔ¨Ð|ëö¬÷Y¿¦îIS™å'VžŠFâ`k>æ´¦S¬y±d½B©íŒÐœ ÉFýUù³VÆŽ9#ŸÐBvCVR†Q¶Ü,3Ùn Õ+Ž™²VK]Â%¨bû¶¤'Y”ßa‹iĨ›·äbl[ŠC¿™[*¿°À¡l·:Q:NwÔü{;¨™›Lb$I¡É®S´¿Šö“õ#¾Ô–>»,Ískúô¨ôkVù±ï#,‰B¦=°¦SØá¦q ¿Xÿ["®¶½×ÇmS~h«7ÙìܹsäÄÕ> ­T®Py‹šüp_]'E$Qª›³É²0l…9°—•©)4ú¾Š÷©6•#ŽÒê—©õ'¾Ž¬ß.9±öX»kþ&Ï%¾õ¨n/ñ6 ¥ù¤ƒPÈq_$- P±í |ÉlÁÅ´BR8‹3•2Ž•¥f^8 =Bßýtw~$3ûJx@gHdÌ.cAïÅmqÎÓQsÒÓM—Ga`úR•QÞJ^º7É8?qÆHn)„„˜Ê'šœ—w¼”ÞÃ`µ4ᓎí€Wè½YH>ð¤áïp©×îÛô‰7_±$ÙjþÏÎ`'&¥H#áPÚ$/+•ß ÔÊ™"PÆa±œZwE¡¤ j *˜0go3Y&z¹zj%œ659C£Ç· ?Ï`jBݬ<õ"‹U)÷|[%ubº7.27ºßeûÕüJÕ¶r6þóä ô”)£Oö`ÑUb}’M »½~ Œ¨¤õØ0o+Æðß}GNLþ4›n§ÙGÒÈùØ™VòF¥€òi`õ’Å&w«Üb¿A®u`*lQæ reJ_”ü¿ÝŒÄ–'i*¨k,a·£tŒ3p'qåà©ì$7¦âGq­ö©Ù»ýÔ1­ñvUàao±×»š|qý›ï míCù_#‹©Ã«4YÙ×ñ»ߑ@Þ.à´·)T]Ë?yÆÚ˜jsà#&ø 8z¤l-žÐ×?.˜—ƒoiÇò|\$ºõ­ƒ:nXom¸Kâ eØ]¬mŒw›ï›02\½õL¹y^E Õárª6¶ÃšËè•MÆ¥ÞY[#.ýòÃÑ.Æ4ëŒÛF‚°‹€ÓáFæ—»ry8JLh"¤íð)vÖöYò¾tÆé¿=h²Úù$ n†G…œ„˜sdˆg®0JàUC IMÌ¢'ž…³Ì¶Â;x¦x‰ÅaOJ`ç§ùîÞ”ôq- ¼“'Ntûí>dýÿ<¹«òÈ!šÏö="~hò|“§Š¤Lò µ¬HÅïè)¹T¾«;°ªžÒhŽ‘ùëàÝS¹!9UžÍË\'¡LÝýZùF)9fcgHðê ß 0¼}+ßm™buî8·ÕI}‡¡ÒtïV•UÆ–$‡n"w¸P´1PžF¾Ó Žlöpäͧ •,5è¶Ye¦ôÜü”ežq—ÜèÍÚol­c0êÄÿj9³\i»‘>6b ²ô÷[Õd´ƒÏ tFeOÒßú(hwtQáÏÁo[5Î@½R6(pºªçö‘v¼³ü-\ìØÞb·É"'޾ ã¸Åc…÷ó^ÎX`ÊØãìÊ—WG(а”XÌ–¾øNÂSô7á§êçd”æ'äbGíW̨Ð|$ÝiÉñÝ¢ÄÇÎûúòL•²»×Ù Œ'.Åü¶BDK§ ”†j}©†Y¶ÉR½ÀááÛÿU¼“UÐÉÖ€Éñ ±ãKÔµ;Ÿ¯›Ç£Ž–Û<ÿY_8.)„aÒõ2dŸúœ‡àq‡œÝ î©©©—åÖ.ÂoÀüÕé~]d¡` ©°Ÿÿˆ$gÄów™~¶'‡y­SãùõÕ1éuý)Ü 8ÿùsy'Ñ:ÖEŽ>0©5D›L‚q˜Ä½uÑ,ÝÄRA}ù%ài«vƘJJ``Ÿ<›÷ ¸ œ1÷záP.‚›êbHqA ›;\ÁÄŠ»T ,%›tºo¯ Âh"­BsIb–ìæ?/æ&s1 ÊTHk]“”·ƒ¥¹f_‡¤©cØîÆ´³ªè‰§ wÄ+žI%Û›±eª;Æ\„&îl¥è—4ŒbV·k'!e¢Xzûì‡ KN%MÙ2ìÁ%Ûϳ`ßÎÊ©2w“;ËÜo0·þ“„ ¤Ù@ ç‹›Bߣ÷&¿Yëpçíø^$h)IçE®2/ «‚÷ ’JÖFÖØÜq—`Pk{Š}ŠbþØ6‰ÿB¥ {Í9ÿ·È¤î[†§WV‚ž( Ɔ‡9„ä\H"®UIv¾ñ†;d˜éæýådÁ âuBV^`·úòö¥Ö{ŠþLÄ)»g*¿£ì#È-.–²¿YQûÁ¤—ô5}Ì+b®ùÆp—NDß°yÐÒ7=¼ Y| ³Úq3õ Õ,9†ÐâÄŽ’0iÈ7mH|¥©ÿíÈΠ½E5o–·yµÚU@‚žælÐ 3ìF”9bRÉ©ÛY´®S4AöÑ®U€x72Ý'zókŸgmT†³ÉÙŒ™+™p8Z2²Z"f2ÐÀãò›m=‚H3˜îÍ=ûæ™Y:°äÜ…G´ÜË<·PduŽÇl ±f˜èfÛ¡+úøáøeóèÝ?ÿ–C4JÓA󉕨”wº‡™êsØTŒ,LQƒ¢½œã ´rœø{0 ¿¢=ˆ52¨¦Ü`Äó“½hŽÎS°O]ì[ë>·Wk»Ï°âÙMØ4P D9¼Î”=Ê€ÑÑ(è~(*É€¯²ÆÞ^O¼µ^"…,Þ 1n—,/îúªlœQJ§:‹2çlå³±…èfSý•‘» ñ¯ÆÅ²¬ÁPe¬;=Šv ¡Ú'~cP:n[Ò¡0 ;oöGÙ1‡Eèéy—œ+{MEåNá7ll,\f¯„tM¦V©S‚âjÌ—‚•Íú¾«ñÁ…Ë‹RN£_@™euB8@¢ÕœRÅ<¤ 8bíw LV(í>x‹y¿¼žì Á×õ†¡úøSº©WDÙðˆ¸riXM† ¿_³ùÒöpír4 1©íL³h“Y]œÀÂ¥ªa$ØWðÝØÿ†$¡°fy„y›ó,lyâ&~ 'öÏ´N„¥=Aÿ¬ ñçB©3ѾBV¬'šÊj$Ž,Ùm¾à=óÛE§>…8Yþp2Ð}Ñ9Ó$d'y­ùÎØJ”Ð6 Õ~ŸÐÔñE“ª#ˆëzÍâý«êþï2]Ôåá¤Hþ+ä:X- ˈQؾ,)©EÖ¥uz©–ÎVbºz÷N#0Uf+ÜîËß4$+1¿ë8ñz}–NXqªë ×ghf°½h¯(¼Îx,Í9ݙɱí6º)ù ¦ü„²î =@lË[ÿ!›ÐO~Ü Û# ßÝèÃûX®jC¿¾Ä¬‰ïNdá, uOÄHiÎ ðÈ=ë¶³ýwQ>ÛÜÖxäy­¹`}júaŠnÎÓLq ýÚÝà ä¹s»üA(?‡6ry˜èR$&+Ö„º5[Û !{–g‡/ÙZ1Ž}¸@4A ~ذ ƒ½bÚßàr“Ä wøÓp£? ©íæèøN;YPS1ùœÅ"Gžd ÷ñHEÓÉd‚•ÕÌØi¶y¨‚®’Êù‰kÊý,¸~Z…a—öªOÏnù]y‚íAÌÉœO|Øû;ª!y¾Ÿ¹'ofÿ·í÷ÉŽ2åÝ!5q™’uÆÓ á™]A‚nm·V…#h°ÇŒ½qžõ‘ÿ+UØìŒâèoOÜN(šç]6{ùçGJ 8¿xû@~hgçIS×p30Ȫe=¡ú5[­Yf+£¹‰a‰A ¥Ôzù|±KX¡ÃeÊ*¦¿_]Ô Š†¾rælÈP7‘éáà™éxaB§.¡07'üé»öð?Ž ^.2ÜÐÌ>üæ éœ^DA˜A솲Á1^3 ¸ûÉÅ7¯¦"$²ûкJÈH>¦¤q3?2‹p “ÒBæP‘–š_h!‡8PK/õAø‰k&‰9Áª•ã _Þ•Õ09Vß ˜$,(¯Bê‰ 9žó^?_†·¹ç7´RSSŒlCª÷Ç;6;235¡ˆMŒ¼‘+Ä(v8”~ڱȧ˜€A¡ššãuÇ˱nRq¢~Å^M]8ÜŒ„=ÿx²äŠT…¸²ü/ü$(H™ø““ýL0öŇœ}¬ÊABÙ9(¾?DZpZÌMOGH#õFe&ÿçߪ8W¢´!cF[žsšTŠÜ¯)šýÅ‚$<nŸqÝ1±VtZi ÊÜÚoŒR¥+y\î-6Ýê[m‡+ä¬ì¸Å¤já…#BEíë8`¨RÃ5yÑ©J½QÃ-¤"GpUöFCNò–šÌJn‰ ù‘„5ÆLÅ1ë°`%Yšå–tþöiĉÛE`+ùÖg ¼ûYkúѨ͎þ•ʇ– ­ž(FÊ]Íá?Aæööå½-OX§Á¿<6f¯¿Å08•DܦGñÓúž%N2™w Ÿ»{*›÷•ˆ—¤Ã~§h¬Ç!{D[”péò"¸Õ8°r¡ªhFSâeì}>Ùßt ÆÔÍÏK:aO¬GˆD#ÕÛ…R,ĸó.×]ÝŸÝÂmÂd¸URnÞ%Uû¼`ܘSìšà·b¸t>ñV\¢~^³A|0¡(¸D‡2qbÞçx¸q¥k‚­¾:AÚ÷¯ükZR*Çñã)µ8ÎÅ}ñÃØ€4<ÍCC^mÖ¤w—) P£ 8ëf"só+Ͼ8 èq@¯Éƒ^>1Úàâ´e î!ßQò.rà×þÜ‘z)ìc!ÄT×(Þ¬×OÆÛ—3Çžî[!Qû5…XͰæ—BKb¢~±ÆU@å¼äWO¬ã¹óYìïÀ‹‚Ó‰è¦~$õK¥‡Óï¥þ_¯1’Ó“ãKùÂ"çOî„-½wï’N!¢ÿy[”D—LÐófÂ7(m ;©!ЃÃi÷ñô牴ÚQèhÖ Ìè)7÷ôø¤›7S!M4äÐpúf¹‘.ßý.œñ\ë‡"ïK‘ÿûæ–ƒ’S—/Gq{¾‰Sé$Ø£³öÈèÎP˜NŠLœÙø¦tÙ»¿”z˜-ã>àš}Ø$Ôæƒ1¥t8鵌aY=¶ˆÃËþ‡7eÞ¤9v–ÁBL×[Ѿ¹ö(W.ãH û¸vÓÕ¡ˆºÝ)ÌÁ6ßqbúÏFl‚X ¶½5´v’–8>¾¤;݉Gë? `¯,– äð2iZ”>9ƒ»[Bň™k¨éÉ›+ƒûo=Ò§&HÒø“5-°y—n½2s²3b¿PIMßá§i£c˜:’{5êS|›,~NbR¶ttˆ”á(>ŸÅ5Ïo vi.xŽÃ”ºÒù†¾ *Šu_ó £É»=ð£•ê:C·´´Ûvaýö¬¸íàûåft“eL’UrÂoä÷öTKgxŒYùo+ÇÒ| 9¡U¶£‰?óTbú=Ðdo8BW¼±ê÷=i)ÄRë7c©sV¤cÎA£d†wT_N$Ž_"¤°É™äôÝU3LWc)˜Ræ[ j,q¹Kض{I~ä¿Üœ×|³:oA—ã¿ì賺énËì§ã"ÅÑÎ{dÆ w«›?kÞ –xB=0z½%ra¢Ar\`¨î›`lUº]d£•óر,B¯ûÃ×8ÁrR0!|×¼(Tñ8•0BQ£Û“Œ ' ©êaŠ,ðÃ÷*–â¹ì«žÑÛ8‹†ÄÜß¶þ&éþéÃ[1 é]Yª©þ *].Ò§·ž¨¬í{žAé\ 1ùCùVýýmªbvíX=o=èU:©¦•Õ3ê Hº¶‚ýSKq~bç²wQ/%ÏÅÜC“GCÖ³h¹°‹h |›qTøÓ{œa¡O„/eÛâ$»Ï¢ ã¢ŸE¯·Š[Ø4¥ßÙ¶cwT˜éòº»‹9ðΨ0ÿtÜ‘˜¾ë)!šÃ…QbXtÌÒzaÒ‹¢"f ïoŸ(”Öó{ä]'Ñ€i²>¯||f~J@Ûë«-Ä-á:dÇ,q6¹&ÑZHç Gø·W%¥ r«˜nvòÈêOüËW§ò•*ù߀†ÐÆÂ1Ç'fY©<ôŠéË)V( d¸5Hl=DK± P‚­ÆØE5âž›E«ÊN|9™ËT*B«* G.e*“G]d&0ι4@ÕÏ%¨ Y›oMœfþ_w¾3˜ Uå‚p»Ö|I•µÂmÞ#§ zUvŸ‡hiŸe'PþFß:1TÕ*Ñ;_ü•;Áסتœ`°Û03¨´¨ÝÁÞ;œ_æzÂc¡‚¼<òÔæ|<è:­0íN^Š¢}Y¡"!ºZ.Õ£* sã]¶¿+žá±eûvëô?; •¾¤Ïœ_}/HoÿÕ Á%d2õs@Å‹WÍ8€A€žÖŽýôšô»Õ{æ=¹"WÀ5vªTxoÀH±©¸{\êð—ßyÔ Ùë· En@>ܘÁ D-£t°¢Ð†V~÷ÛÕéá£áÜY?–$ôøŠ8[àªw½˜JÐ&=_4%|…¶0éD³ßäë°î:üƱÓ#iêF1—Ö¡‘¨Í}Ê?ò—n§:—£Ó#CiA93"úXϺQö4¾¢×€O_HÕ8¥e$¯¦}Á!,“Õ ÈwÔjŸ㻀˜dÕÁ“áÚœ·B”ô´Hè%a¶šŒq¯ë]T@êuá´C¤õ¥v„*¥“¹pÝkzÊVœ±TqeÈÉ`Y'.D1‰C23^ßV³*÷þ#¢(oi×/ÖmRç\¿èÂèe&Ù¡è¹n£˜’†ï¸”§ð¨ÚëhÓk‘ 8âÚP¸Yàu€¦M2I')$ìøÂ6P£ñÄ‘©—á#‘M€üï”»8ûk6¥”Ìk]vI>FÕó²Úy "$gèÁFÎWÃ$Ú@#)o§:À ô€A²>éœh‹ó P]Dª#L™à‘ƒJ?£à^¬­´¥ªþ´”&—[á=µáêEáS¶ƒ½_’³‹[Ê+Iµ6Hʈ´·näÓ‹^KIó!GÙ,æfµ—`+·k¹L“,³ê®gŸÁ1+‘ dÎÿ¨Šykë;Ï8hJ󑺯H†®:Ïã7×1@8lR2ÊW»B,®C³‹îÍÑ%¤Aˆž´HÎýJZñ›ÎÄÙ†—Þà)ìO ¦¦ rìú6¼, _JÉçì@{Òý.=¡!àQ‚®n<Í…ÁŠêè-C£l9b©wõæ±°w¨þ'Ù¯Ê%Â;5ù<;_>´ÆYsóžuÚ ¨ÞåO†«SÜR$Ä»Ä CúÞò¤Ô~ŠÂ‡ËX’‡çÑ£Ž‹ÔzÝZæð4œ¸Ó˜Ao¯ü0š[¶ãKÁÀ½þ|à;&¤½éd|=½V³Œº˜”•…ÊJ‰íÝÞo:´ÍdW2¾ê@ièrÙʽévœµ21M²@f‚™”1žv=`DÄ × õ­ƒhM3V éA‚ªäÈWŸeï¦4EáCãûhÓØØ‹šXT§ ý”‹ÝàQ9ÿ³€¡üXâúk0÷ ÕêðeB2 $Ì~‡–hÙe4Ù`1ÎD–°ëU 3‹bùƒ_†Ùœ`ë=\Ö¶OØ&fÕ—º‹ò†­27—–$Ùç4Û"É u7!ÜðMîw@YÝ6‚ãŠLÐ+À;>óa) ÖLaAƒ‹LÒ?õ´â‡cŒÈ¢å¶l@Ò’0Ž˜ývè7} ê ‡¾^ª—Ì&œÙËÑoè….¸Çg3†°éšj7·ºì Äöž·–ŽuKc;×9§¸4¿aJí•»©è£«@ËÉ6^­'P3Ñ Üi ^ … dï—&†ê\bÉÓŽ»šó×l|cïįb9¼?Æi_}ã²8vZžx–ônŠØ¡dÓ­ùŒµùAUõãÃiúñ †?¡«îtÖ+Uš–&¸œ`aC+3ûÓûñGgÛ_xªzÑì6³õø‹ñšPO‹ªi”–¨Î"g™¡)!¼8ºàèJjÄì—œ¶)¯à …é1’óØÜd ¿A®íßQ‰™¡‹óªi‰ © Âh—’?D£—ê²ñ†8.Cp²ÊÂ*æX1YÓ”j39ãžuimHú㢤ËòSÇ~„5öÊT´ûŒ§):./j«0 Ä­&ÜHÌ£ÑlØ–'Kõ(KºÐòB…üS$VOz>Sì2MÄèCíucJH×-V xØ®à©áp${Ïa@*Cpžì‹lÜŠž|j:0ÖÂÉÉê+•P (Á@ëºî>öL,¥˜ÖùßN½n,Gjû±ä’Ü¡‘VÆkÉS•˜ý yÞ¾Xòá™Äbçø.à(žæut0„„ˆ·Ž÷Ç+r‰.d/îÔ.°¾ÑcrjF©_l`~šºâ¿&KbÎsæ/qׯÞsßs4/ #€­wÇf+uö”ȹ‡Ë߈WÔ«¦UÊT7Õõ7Y÷Ådi¡Šj!Ä ×:}hYãT¥5L¬èK*¬ŸZS!/²0ÉaÈüŸëê-ãÖ°–/¤NšÚp±·‚–[Ý ºñÚ(Y:¡œ|<€Ô<¼+xJyÝH'ƒÎïËÍoÉ xÔ ˜—­,ͰôWõñÆ›G‘\J'`í i<èÀÉÙú¨Û`YK#)Y‰Ÿ*} ¡ú Ü Ù×"¿Iç$,|TþkÙi躪öÖÖ±h ìôXŸ#'¨ù=Óí‡Ês´åÜ1l¥ðÉw‰FDã’"€Ò{”¥À‚·»ÀQµK¡—i·Bý8÷o ÇÝvbU›C:­¢šãëËÙå²·\¤r­=z¢zýù†—õEÅJ^XÃ(6?5±5èžÚúÊuÖì“j­€äwàš^Gp§ÞÙú> ©ÎN$‹PŠª9Þ›_Ê¥Àr"Ÿ-pF¦ }/Ðñž«~EÁ¯˜ÀEo~“ÜÜê­8¬h º5´ ‹]æg¹xOÕ€î]AÇcsiaÌ1~t5ðIt²÷’zFEåIËÏ«Ÿ°HAÒtÞØ«&ÖUÝwœh/jgU¢èHDÜ}¶iŽL ¨‘ËRá#<™|D•bM+Œç_²Ô’ÔJ¸u¾˜’ÚBúš~h¯%Lb·ì£Ík¿%’£VªT G¢ ¬®§½õhû[>Ä£ýœÒ ¯´ûdöÔ¸­ÆØðñƒŸC(º‚¥ÃlEŽ-'diÔw†žqú|qñ>2Ì×o¸ˆrú/8^ø‰›z$9…þ-éCc(ôøˆRÚ°õug¼œS“h?ÁÐ|´a¥@¶ÖmÊŠƒã~˜d›…Šv Þž@}°Lç«NÐs9ø}šà®Wó’¿t‹B¹N­Üÿ7…Óx¼-ήesÃgšÊ¦˜¿Eü=wËøz‰ŽÛýòÿÝ÷ëÇ¥ºLè®B½­³u/s@PŠÔëÃÌÓ' ”7Gw-ú;zúG³ß ̀ᚠ"‡H¥íHˆf®µ¶¿-ãmè¿ï—öœcÀ$^ãmÏà²w*­ÀõYn0˜p/e 4ãê/Ð:²´1œœ⫌+PGŽÉ}\ë™!Û»bïb‚§¾_~Å4F±@ò$õN‹7ôŠõ¾•q³K7ûDžÑ9ôðÑò]¸ËÔòìâ…«Ÿ6BÄ¿àwþÊ+*Ó~¤T·Kk…Œ{›ÉT4ë>¥ r9$äÆ3&çL½«<,üE±q[‚H:¾_Cý•ìþø®$·Éê¿MȇoMÙ:~ibÏrƒEÜŽT Áê½Óì}_ašf‡{sNU±…9~Våû±ýúç'©ŽÌ_;GK—.¨d9ÊãÚvC8Vª‡Üþ…ÛGþ掔ÖRnY½¾šˆŽÀýj‚‚3Xõï< QÇ‹FŠœJŠˆnÞøSUI8ÏiQ)B¢÷^¨¨„\Ô¼“SÙ½„-û¯_š<­È öÞΕú¤½@J3¢iÝÍ@£vÞÌèÂ(mÅ@½ˆqòUXC¸'渦þà;…Î+–@’[fžja©ÇiäèÁy°‡Êƶc”L¡UêÚ–e eCeÖÝ´g÷—të‹ÏÐ÷ŠzLŠ}Uü´}õX¥Â~þ7ú·Dà »×²1‡Ù‘Â0áä†\/0 &ŽÑ壢å÷ìu"ÙÇss;¤WÄ[pÉl&Öʃèø[›»Ñô NÇKâ§$hÑŒºêö€Fð!C/ò…ølÕ;~ Aëf'ÆÝżٰÒ í2dV©Ó¸Àic*46¸ûÕ%Sþmü7î%ƒÄÐ@¹Ã¦I}“˜ôÀ”VàJÞóKÕÞ\¹—ªbç‚ù'ñùÌUIìß 'ë¦VvšËÑ·»(ìñ»Ž÷v¾]Ä® /@<¡šªªlÅ!98b쎷Xáãhh¦¸“4 òm«1<³n'‚‹kJ‚=áèeõæÂÅGév­­d*šY˜Û[­Ý]«šYE^µ XxºÎ;çg_ ­w½Lö„Ò×|A³ócác1,ëü‰¸FESUÎe!,OùGŽL ï¶ŸQr}Á%¶ ¿½Ð§óÖgܵîq"';ä̃¬Ž$Ùcm½û:-c®Zpõp%´ÏÊ5Mš¢8hEïN^ÚAwú8èñN{#¼j*hôŠ“½:Qí>¡¨/5 8QR6 ªÓɹvLê|¡h\Ç¥QAz¡ r lÎewîIæ±£\’£Æ"<èñ!ëó+Ó”¨€ŒºÄ§·I ¦W güõDê÷îÄÒ~?fùnhHld; ã)Í+ºÔç_ú%o/s¼XýT$Á^B ê4äN!] jQÃÊóŸM“ùÊ/J¥ƒâÛµ\¯•VŽ— g ®ƒ&Jv«Ò˶ù$$ÐÅλaOÈÝn¡ÒØh£b9V1^,ØmRöJWXüÖã€"\“kÓìI3VËÃ÷Y÷åa»Ÿâu…¼ og4Ö0ü¦`*†Ç„¢qn{ÎZQÑUµ#–ï렋蓙ú•ïê™J1¹Šü9¹ö˲Ñ<ðl÷XÓ¼kW=U`~óç›ñ”÷ðú Ë[7¹$,žŒÌHë?Ñ€¢ 6ȰþðöjŸ sJeYÓrÓªLýôœÈnÔÎ0\, ñŠóþµ›Äð*éµ"Ìê"ާW{'Œ>`—8ìóx‰ìDˆ¹wÀ9 UÑ£ÌG¥‰xéÖ*GQPІ¹%Ó”2íHJtÕ›©¦]btb¦ì³T­ˆNûê?š!ÄGAÅ4Iµ‹ÁmŒŠÍ‚*í×9¹|?ÅfJ …d½ ¾ æÐßÍÂ[íÉ‚â|\Õd,¸¡Kö¾å£Ð)­ž¾7;b+1•©O£Õ"Þ¼Ë ‡a¨k”Ç<ƸÆJ{™.g%ʦqË#KS§¿ " µüã_BɸU^e¯`”ΩìŠ9í€DðL¼)<6ñˆ€¹M’“Ï'z_ÿ4Ù„Ñ,œå®G&¤·0»vdOäà 7–9€ù¥uÂ:rO®ý]Ø2‡¬žÙi~~ ‘˜µ#3 iŽ0ŠÝ9ÕŒPn®rq¬ì½bõ™SSÓi«rø¬»Ÿ’ĈŸc"ÔùtêÒ $À«Ù&A%öÎ<-NêÚ¸¤ö÷ k¹h*pt@= q?ªcŠñ±Éf+[&Å©Îv, Éh„/x˜écû°nÜë- ­ErÛŸ:{mK\ë5®¼Mâ*«óçÁ~m÷Í÷¬},Þ]ð©«¹”+0'~ù‡¶íhyG^7öb–ˆÉõ8u=Ni$a¹pZ¼Ø9nNÿ•Od1Ñ6òi¥9˜˜ã÷SY:m«°¯GZÐEç÷H¨¡fˆ’ŸúVfC1 @nöoC>ÃABÎ8|ÊÚo¼ü©Îj¦fõÌ–P…|½ðB=ë+ÌúÃd(#¤s l›c˜vÕŠ„Êóâi¼†A¦ÜôØ·=8͘OdöÍ2;OkóöÜZï‰p'þ;ÖÍë]Û"å+¸ƒ„¤R^ÄÛ¿0©‚Îg˜~¢.ÑlÊ.74 þ[`ܲn%(Hz9F/UαÂÜ)µj4V©ñýÜEl?d‘´>ª‡ÂG¦×ˆ{óÆˆ®æäËZ9Ÿ&®2]Ò}Rn@ËÞ†>p»ô¼D¯õµìæS¢ƒpï4Ó!•V[ÍpÒº!yÅà‚ò"8ºM‡3سæ-›$§O¦y:ƒj.¢! T74WCg&¼'É+Öî GY³ŠùóRÞ¡R¨:Õ¿i4dTnwÌÁbÀÔÔ(ÔžÌβ*±\¦ãlŠ‚Ä÷{ÏÉ@S°:°SCnq2ìmÜ®Hã{-ÍŽÕI…<ýoá1B(† ›ù£KCyx›5¼w¹Jƒ¬ò\[ö/Àÿù& _ µ3,=£-x,€(°ê´íkµyõ²B{нÒv,½gýÞo˜´£ð0ñëÊÁ1_+ògFÊÌUÒÍè¦ùЛ4ÅÍþêöP´hóÒ÷Ùm¬Nù¬Á8û’Aƒ(ã{È8Bi¶Œ ØKþ"Ÿ¬ ÒÊ(ðê>…qœþêåm”ÔRêãš9ÛI’Y›±mÇ]`炯Ú0.› gÙꦕ†°}Ç¡_DUÞiåÅ¿|j1¼‰Þy5ølBüž­8…“eÙöt~î&e"Ù­e£O°”ðb—¹|ó‹°4‚tq¨ßžIÍÊ!Ç94(’+‘ïÌá{× ¶L÷ñŠûöÎ, Ämšù(Hr6cÏC¤Ï,–ºÉ¦{5Ÿ4gï1¤å+sƒJ1í²²®lÙ¹tzqÏkZ¶)/y7ë›ÆãV½A3¾˜ü~…¹×)¾,þH§Úù”}Ê  w€ÊŸ¸ÍcPQgŽí7ͦwwGC´ÿæI}wJ±Úʸ¡Ìâ”?Ìn>«Pz/Ââ9† 5J„ÃUïŒ~XL‰• bcj†#¶Û :™˜‘j(pO0 âÞÅ»ÈÈŒÒl¯k€è_iVÂÓÆU¸·Ö„Ý7ÀëèãUÜ b.W6 –Þ™Õ=’@&_¦1té“'S=о]é}§±ãäºZhµèìŽA=B3ËÚ&@ýÃÖr3K漕' ú¢‘bc§ô‹#D‰3/Ógt\PŠ S«x|ÎVÇRµ´éÓuzùãô±‰s†Œ­oºõQÄÕŸvvçÛá]¶‘а4"”ÁP­q<1¶ÕšRGÌ‚žbm®oº«xÝãƒÇ #ûöCVãâÊ{ï´øídÅ‹ûPq¬×Ø\Œno ¢ÙÌPê ãzÜë¥ï¾SUPvÚï°¼µZäwe'ٮ˨èr1Ep±q¢iÆ’2Ô9K¤Ÿxý^ %*,&hàØ°³¼vBÊpæ>*CN Ë‚¶³Å]ÔžN*p `e`ƒI2×ÍÅñÀÕØþxÓ¹d3ÎðS²Y_‚OX¨}úöê@¢)%SpÿÓ:§¢,¸2wùÃåº#°¼CЩ[á…4Na =ÌýË…³õÛ`2Ó½%ôkê´«–AÑDñ„j1{Æm¼ +Y²Ôá$[XÍ ü£¹Âš\\ÚZU1àÇ m_Ì.š±¹¢–ТƒÕÞ±Ðnÿ…ÜÇd)Ñ›q}Ô­îõç¸a‘Õ*6q$É™ k ó{3.ÐtÌ[sãì­ ÑtÊDݯåS´DÝ4“ *û2©°OQæÒŒôNü\·×±ë jé>Ä´À3ޤ€8¥rHD}*P-¾ÿ"nB›}ðßøÚ›ÑÿâФ›qð†ô@Ì{¿u¶ ‡Ž€b©‡ÆWY![·°×Zi7г;Õ¬R2=ÃU}4ÌÝ| T<»9~æÇ‡†OSü±êTÝ©µ–Ñ–9ñWwѽšëV=¹È=.7xA(k á1zŽ‘ åÚûÍë “~K:i9Ž „g&¬@ cúÚ¦|*œêÿ[M-,í …àª¶:`M™SÌ+*k§$%i¥FZ÷zª§K"Cx6z Ǜ־kàõka²qç›k†¡26µU‰ÂÅ6Ì Æ±…oø¸½f‘/uöÒ§6ϛ֔p %TÔØH wK|]UtÐ 4 ßU+`>)àDû¼ÀÓdÒ ã©°·ß |yŠ5W¾>ªž<¦oìkÎ(Ñ! dKij¬w)Lî_V좊R†b¸~b¦aÎ }+âO0ÑnšOm$íxLn¾aÉP¯-±ÍCט›«¿ÏCÊ$DRV‚ÁÈœ}$Ä7HQ¯iB!ÚO=[*áF™€ÍËÔ<'ÝáÒ; 1¼™|. ,üžëþÀaúï¥ìn×32›±Àà„a:âÁfÂÔÚÓM§Ï|üß‘F7ƒ¤Ð*9‚'ð1Dª÷>Tq¶’¢Ø0ßXÚZB{.âEüçúâj¼+¿QéR0J! a©_Ù‘c| ·YeÑ$ n+Ô¡ìì%½“ÊÅ»}hd¡gDïr ÀM ]…ÿU @Yæýá·vÍd—b{~ÊÿŸz>"'ƒˆr¹ÝßÎ>`º~¯#«(D¬wKƒhœ¨¯ìnÿ.`D»öÞý-X—‹QÀ¾<÷úɵУ•yJ’£›?± ‡Ò¡—I¢†ÃÒ¥ø‡= è%zÀOˆñ·ïԠ롤 Iþ@ó+Ä )î*õޏ½®à.4Ý}ÏÙ©?ˆ|0?ÂÞv·â%F‡ügaU‹˜ñÁ§ë%®¤TKþá¡ÔÆëY!Ùb‘í£¥ ]ñvGˆSpJÇÁÀ»Ï§¥®QNÂ.0’‰Köx+-‹˜`Ü«± ±vX혭˜L6v¸EüK+¨ŒNMøOjdBjÜ$ïæ–1Å3,ˆï›6²#À SÃéäY(?R*ؽƒëõãþ;Ád¯J³=ÁéÙ¾|¯yqÜ óµètÀ¿ 󃣀ôÆ'ÿí„PàP’Ý)Zw´²Uø@ÏTÔ—$®§”7 JЖ Ä’.,.i¡hú•òuXߟáµýWÚö9³teAg×Wm'+$ý× àhÆIÖê„̧@0îÌ0>Y²ÔP¼£žëHÕÖ«pYܺ«nEú…KÑD¬ïò–¶údt©f€#ê´Ég»TP h<]ÖÄ!ͪ½öÙïo¨)æ( 8 #ÍÐÊ—æõ ׸~Ö5@!•pŒ’ƒÚŒ+$^ÝÒâtj"/¸óCOêÏ$l‚—ÞÒ®}€0¬9—§¾óöÿCZµýV’A|`l±ÖꇕbãhÊð¯Â@ÁFTQF@%סr6~V}›úAˆÃ}¬0üÊàøvC ìø×’¶+)ëW ƒ2rÀ$‹\å=¼”^(Å'_oaW¼dÂúépšûfØL7ó•E”ˆÞ˜5aá,ûÁþñ¤]Ôˆ¡bA›žÛ‚³4kÕM‹(´¶’AGÝšñ€ÿ™Ž•ÓÔ‚UÚª¨;ô4—å:½ªÛÑ¿I‚ ?‰+S™g¬Þðu–ðW«w¸˜=E\f\8rÏüLo•Q§o§÷Ÿ4-óŒ-Pð£ÔzÞÛÔ©LÚª³ÂßÚ2Þ@u|Æ D5#Hâè`«–Ù"E,QH©:æ‘NÅ÷"(žK Åž¡ƒ‡t€1XÃAš“hÀ;PšÞN6*\†ʾ…d¼Â÷Z‡—¹1àh1óT˜r>xÒ4c'­•öâÚæÅ³Æ4q¯Õñ×C|5&£UÊÆ­GâIœÅv®†éÑob¾GÁ²¢?£í€ª`’U !~â×^v-2%æ7¾"w ™ù Ô;ItÐ6ÿóðÄ=ü™÷Éç<¾ùÏ•í êÞŠ¢ñ ß@¬Ÿ|׿HYéû<ç`¶ 9ÐHa°ÚÒ\ îä%O9`Ôƒým6ZƳ/2añ* ¢×i=,×Cu:°½‹ú$Õgnõamÿ.¨{å²u¬[õ¾E4㌳uó–·ñ<ÃüB³Ë)í*®¼mˆŒ¿IÊtìxDäÝ“….;iûÇâfGPTiI”ÄG*2vÈÂÞªyí®9KátWÕO,öEضqø¯¾2þh3‚ÕQWø%½,âÕ“/XûûdHš€çª³~Ã@ÔìTõŽ¿ÓWɈ¹Ê!WÉ”h™4³gç(Ä9=þÕ°Rà”gÙYZ)¥‰"GeÒ%a<’ÈðòÔÐÀ•¢Lù¤ð ^æ¨gA>¼˜ P¿òÍÍñ|¥¸ÁÞAEK°}è¨\=£ÄR _h¨¸ï“1—è¸#h/'HÌà•7žŽq ÒPÛ¹¾¤Ëa˜¾SÖûÄŽêµ)캖'»zk«éÑ|[)½6–=0KÛ’\êË“¬Ãóz±™‘¾jˆšÉ“¨ ÷­1ýyS°µccùù ¦}m¢º{…’7eïXq÷ÖGoãvÜíˆfIE:R:€Ï[þc³H|ŽæÓî·£ÿ"h_"axöhWbŠÚ€ti‹$‘¼! ‡¨ÕX¡Å}åx νjRõ½8帗36 ˆÑo{DÆýB`“Óɱñ'6Á‘¥Yš8èÑøÐÊÒEwõ¬…§›ÉTå¾^Æ«¾£e|ð=%°ÛBãS¶j=_{ò? 8n­Õ¡÷'—XOeü$Õì¹iš{•ßå{p¡™6R{üðW±ëM÷õŽo¼<¿a—Q Óºæ|›’ò®ÆrÌú4@Nkkfíú†ÏÈ#¢Š:ñÕh¶×5>³‚È:èÂ/`YRŽ@ЛI9¼«x½n$[A•g¸g•qM•;M„JG˜ ?÷ý:æèIÙW0ñ.´wQøèõA0¢;…~ÌËJ„,ò±Ÿ¹½5¨M»ŸÆR7·dÎ÷|ó b§P‰”j¿‡“òlêE÷¢Gm‡¬1&ü—Š 6^Hg€`{6älÀ,ŽH²êÙuŽª, ‘)8ø^SG•°ÅW_ ‰Úª]÷:ïŸYÔûÐYg£¶'6õÁÁ9ËÅ;Ñæ˜¶È¿çA*òe©/)J_^³ xm¹ýЧì÷‡ êñ½¶©36F8\ᦶ£ùÂìv=¡¸€#ÌþKîäK’²šÀzñ%»}®Ù°Â~fæeøŠ ”02ºŠm"ŸÄŸìùøKihU2õpm!®\;UŸÙâï ©°UÔ«š;Þ±´ ÝFij2«›øô—=õHIÅ·!´§Ãpƒç®; y1êî!1å‹ä½È;¸øû«OE>ÏhgéoU°ð¬ÙÞ=g*å´.o¬YL™éL¹§røºgÃß™cÑ=ØÆ‹“OÁÛ:þ`áéõëûyª|¶Æ°`É6†)+]þ”‹<È¿‚Ø¢šÑøÒÕ‚O;IÇbˆ¢Ñt–*ç'ÔQ” ‚ÖÛxy ªTœ9¶-'Ð2r\ËNAö\aòÑq2*w¬ ŠdÞ¸’Ð`>ÅÝWÖ@ÃtOöæÑãe<0˜’!³%CÔ3¥=_/~_6…qí~:ÕÎ/”Ò+ D>Ïf“ô²îfËvç°¹Ãö¼ëµ¨³ìtÆBÚ².¾ŽdÙîÚ¾b=4;k±ëDL—Úž”:–“) ˆK½púé®öulÌ%ÉíóY~scÏ ° ñüzÈhŽ埑“A–ÁÉ!¹cÈWiàoB¶CÐîËźG%žïÉù®ãEËW­ØChW2}6©¾ø5Ùéøã ø›¬ _RmD‹ÕÖצ ñèàí7‚0Æ’*íRˆQ`Þ_ö>³eV ÿSV2Ìò`ß_ê›ß§›ïC–9–LùgùR…Ì…hE¶N÷=%»ë"F,ß«¶v¡è ¿ghZ9d[„Ñ ˆSyKw­²÷nÐy)¸® ü)âÒL¦ÿII#ý’~'Ì=ÙØ¥âŠn‹yÊÖχå¬î£ ”Ç¢ÿr°á>§†mªMî‰<aÚ¦é_ü ÝnØ€±ýÆ#,¾±ð:£ FçièuúG=}5€-C¾>Ó~p™¾2ö_Àî0+vˆþJÏ»ìTÉXà,•“?¦Äª…ÊV"Ëŵ B òJ¶o­¼ ˆ¦§}6q¨<´tÌw0ž«â*_®NÜ(/þ;P™ú¶3íoOY $d]­; ï®~,°Ô~'w8‘•.|Ëét;gsÐ÷×–Ê&=2Ù ž~Ëÿ(t­·Þò´m;å‘§wg•‹@™yùŠÇ“2תsÚ¨(ì@{RnfšâD±¨íK³_mÕWªM™ãNÉî· ½Ï¶l'ºA«+X8cyÅu2†¯Lˆ4¾ŽÖvuÙiû6ð°Ñ” ±^ÑÈß~§¼l¢+IHE>:V¿l©ðP™ïTÃnZ¸'’ìj1̉G_’¶Ö¯è†f"µ“ЇÞÔ‰º8G¼1ç¢/yÕ Õ`ۭذá,C yþ-*ï K´îÖ‰¹ÈðÐ@äxO½®=]ï :cÆÔ»µ<à+¶° a”L'=†¥†Ù»³RlÌ~pq–/ng1^úró>Á<#o˜£b.eîGfíH¸-þExa;yQžÊžýüÈyQfvÿoP—îø«%Ðb/{CÊ_²L …MAù#èÌwŸÈM„ÿm&²O[Ú¥¤ãAÜ´FîÖ;.*ëzqŒ~Š¥—­'8”Ôµ…z×1HDR´#?ήýdÃ;~Y~q)ŸÆÙÍÌÝòÞxKjB¶¸íŠg¯Úâ…%^Frdµ2_Bãêdöà1 Äüf]á*çi ãçöYBÕ®¢§oŽÂ¨+ èÖöS®üÌó¼¹EµâˆIÛ¸%Ÿ-¡$>?·õflJ:Œ0a3S zîºMÎÖM×5®oýÍÝò•wÖ¦eõ!Br4¾+F_!5ZÏ^ dæmÙu…Õ%¸xëZŸê(f>}'aØ|6ƒÔ¨¹r’ʘ¾¶RUÔûç;dA-”ƒ3õ£„ïS¥æwPòóh@ç.gQÀŠU…Gýù 'Ð3 µhÈIzEŽø‚£B­‰bä Í˜#QQÒ¸¿8µ-6Úª¯H~ô€aañʧП?íÏH-ýgÞ9Ú"XT¨û6‚ÒêöýB.Ï£ãû.'"ÿà){DÁua´–öñ½ˆÍ:¹(ÏØ«>Â>+(žû¨V¦w—$4§z9ãÖëó+ød"¡ì¶­›þ 1›?å6ø}6ßõüÀ(»àgŠŽ¨§(~NÍ}eÑ"~ñ´ Ú?݈Hš Ó„‹ça»ðàuý ÓÑ¦Ïø ü23vÆ–ô^ûò¾Æ2jªöf¿¿Gí­aDãm»À ,%íüÖ©°6´R‹]&AñCêà»A»cK»‰¢T‰ʪŒV’€—Ý?‚ØÑ/ÎN¶V¯˜ Ò¥]UQuÛ‘Í–À“¸¯ Ê‚sØ*î*+S¿À¾"žLu¹ i—[þWu½€+š¾»É[§z»Rˆµ%ž9¶bÙfPÿ¡‚œlä xÓå7/jyo*Œ¬„ ‹&»‰Š£g Ûÿó tTmµÝÁ¨³ïÅc) 5\zcOs.aè²x´×o@Gå 1±¢ö2¥¶Ût“2ÀÝQd¥I(„âJâJï×b lðÐö“/ mMãοlž‚÷v£çbë"7%󌕻ºÝ0H§¯4¨ê\ï^±m‘½Äe”€ÆMøãFèûg+ý¢¼•  Zºy3ÌÍr;”‹Ëç%©æBÖœÅàY¯÷¥Z½"¾ãøˆ‰ÒR>Á‡ÌMPÚ&—= ·<­aŠÒ3oãJ»Åz\¸á<ýš:*€ÔÊ0e^Bˆ½Mj…uìó•æz¯”J*ò¥¦‰EC‹n9 ¹0/ÊSö‚—w¼hŠ5ìé”î×ÎmëÄf )=àãйCèOÿu~Þɼ›$”ôÓw ­JYZÕÝãL"ÔÀ™ÿ*Q7íJ q@ æ,‹>O¾­µ ü`бôí|P>n“¡Ï#È’â|$éV-Ð7ƒ­*$JÆF büpϽ9|°o@å€Nb?„~]ÑWuR~T EÄœv×ò˜¯Û§ñ­0º21| ê¾wÖ IÔxÃ>6A‹æ¢Ók1è=‡Cˆ¦c.²Uð"1àÏIÌ€§kµÊNšõÛë‚ïŸ6 „™3ËC9QcN 9ŒÒQ^ñæ±øO~Þ¡¹ðn‚s‡è˜r*ÔCòúbžë®|ÛD¸-ÔÒCÁb,ŸƒÎäFjI¯ –VŽÂF-$47}µ*DåYgcò¦ª™1yз©eùF÷.]x½•=Û1®¥‹BÞçØO!RßÞûùZ¯ëgµ=­‹‡ÿ~Üé2)Ma˜Hu ܘÅRÀb‹í<ÿºˆ%UÁ(6H²ÿœ(#ÕÉßp¯yß5+…˜EîQÈ#Ÿ¢L…zË™ (òMØzü¤ÃlS‘[à[Õ¯i+‚‡D¸bwïöõÅŠ¬na—­AÛ2y°y#z0¾N®Ì:-òQóCÛÏd˜IR2¦Ó9/UÆÿ‘cD=Å~hîzýß~¢gy0RšÂ!r¯ãß‘0Eèµwzx“0L@@’ [EniÇ’ÕJ3àØ±ŒÄ77G‹b‡t*‰ø a„T µžU§Íª@J´»2ƒ¶µØwu6…@0ØEÓØÝSâ8âÁŒÜao Ü/¢^ñÊä-yø» >¦-p+™BÙ?YÅ]Ò{‹†Ü”ÊM1C °-Z! X¯‡å7cè‡4`Â`Ò­k_œx\ug˜® 2uŠ@å")8’CŸJæ‰ÌCSáø1ŽGk¢"·Ý{1Pä*Ú`Ó‘ŠÁø×à껓N)‰ X¡m ]¡êG‘)t‚EÍ$ã7}”,¤YƘ|”>éYÔ"46z/B¤ý—F)€Þ›Ç_4ãg‡³]…xØ&HŸjšNßôµX.jë³—í¸¨KÞPL…ÁSð¨à;7‰jVò(P·¸vW2»µ‹†#½SF $E’wÄÐç˜ ø©×@¢²Îs¾eõªUøžF¶Ù¤· +ä” ÞæMr}ŸOÖhÚòA»ÖŸæ=làÐÆ gtÉ(vÒòwܦy2.#ÝuP"K§–wÈbåëDo¯qÞ!Ì6#ÅØÎë©ZìC-Wýàè©™¥ü­ex¥üéŽ÷=rpW'× ç9±!àKCDÑÁq™|§ÎäUæ¾Òô :¦, í²4Œ'0÷°îX\ȾÓÒÞŠ…£® »Ôâ%äl“N¼1 ˜Óïñm?ƒLʎµ‚Ç¡Ûè£ò#î½ÐÕ ”%":'„¸Niü24ÝÕj"Ògd©¤²œ‡$½J|ºW,ýG¯ËÇeN6w^ö¥T—ÞäKG¯Æ¹mwõ•b*¦qÅÉ'O¸A‚0€xø—8‰¯¨0ƒª@ò†ó€zMl]ôBtÓ|TØqm/éëš'Õ—Äh=Ïúßno EsSÏ#…{X÷£¤ ìµ´(p̸ˆsZØÉ,W„Vâ¼px$š¶Ä U‡©Àúàw’²ËMÊÆÇŸ+u?‹ÌÁfíYs}Øì•×›¹ŽŽ@묺š°Ö¶±Å­ˆ?”ÀtÞ«ÁoV¢G àÔ›ö©¡ž-O1¿tcê: ¼˜x~38дĉ27ˆÂÇÎÑŽîÛ•‹‡•¾&ÍVPÿÚ—¼öPÁn%ÛEÆ!ã½hrüªMÓgí_Í®‹äÂñæ-Þ mÁ‹•ÊÜi--ã™ðµÒu”²žÂrܨ;¢A&¥œ]sf‡½ÈÔt ¢ì¨÷^¿Ó oAÚÃõ2«ô(À8E8çô‚DçÚyÇØÉLúû‹º9åBÃùíc¡œÓ*~Smè]¥~va '´-nÍö’`5vdt²g \s>^øî}#K£D!,i ‰L'¶y"óXÁþËfíÙÆžu¨m{¬늽Œò0ëbÉjCd¡¿82þŽ@u†ðIöß—$ŒK~•;MNx1q`Éòò×ãÉÉœ…@êžþ‰’9éˆtâ>ÈÇAt°g]ÎniǬ#'÷Ø”øëÅž¾œGðUü`ÎS᳨ºñ¶`¤çÆ-åc=ë‘â\pmÐü®÷àBÜ÷[$œ”Y˃LùVDì[ Gí¢™Yú„Á²ø…oÀ(Q–_8?rGƤšñ)÷f4XJ@O•OºC<õÕ¼tê×ÒSS’×ý±÷|J›5;± Æ‹{ 7E\¿'fá`Æ$³°éè=¯EÓ !Ĥ‡Ò›,ð%µõ¢öƸg¼ºŠ,ÚZ"Ò4µY Ìá>&õ´gÈÊ‘ÉÌ÷Z›QMƒ ¦ûÃï/s_Z‡Fá4üªÏisè’²¬Õ~ò”;#~[äÌÙRôs£6lšØ¾õÄö56«†[2'ø]n¿šÒ€+7‘)NS|â¸ßLŠÿµ $÷fo½ 2³ô\¦'S®6ô÷\ÔÕì°ù ùó›¹”tG0xI¡?®ª(¼¥õ͓̕Y ®©¯¾ÂÉø]¶,[Jy61¹õ‚ÿïÅ2H Fw¹3èZo’@9%ùý¯æïŒ»½º‡OY„xÉ:^§ÉÛÒV”3Φھî~Xo»¢P·—ÊgÍG›”ÞÖöœ8Eìêæ@§/Z®ýgÛó ïf!MøÃ…^ÿèü/¨CYÖð+Æ™wLÙa-.›!yÞ& h[æìïSûh8<Ì©ës$(òMÀ ̼—ª´±+LµrÙ/^ „ádB2ìºg´öõËö1ž*GÔ?k6Uh‘ø¹÷¤µ˜YëYܹ¥Œ&½©Q ¸qüÍ7ŸgÚ Cz+îI] ¾½œ>vhÎ~ cwëÆ-Ô*}ñÕÅFX7I9«VîZ±çÝ¢qÐÖî8ÍÖìË‘n±÷ä!^“co:âmåaDèƒÔ”˜è„ç1@ŸSÄKönOXæÛJ3èö{Þ_gÎJd©Ò‡Ó¥ =9çm<ƒÛÜÉ·eN¼íF*0”)ÜóÜi•Íh„#^æè¼s0dz@îµÛàM™!®„ÀÇô öìÊø[çWô§Î}¢<ËËö,g3JÚ¾÷–¼ëÏâHM߇ö*Ä`W_þ~söêÒãÿ¼ÆqTEn¥ÑA‡ü!æí²ÞýùjwÌ·©_½¬Þ‘Ó_›_Hröíóù¸mÿVýùišÛC<Ñ † Ê-)ŒÚah&Ùhîˆ+9l ½VÉîäªí电ZaœÖ—øZhQñJ㶠˃ *Ó‚‡¿ôQˆ* à±Ä1}#øÜ©œéã3ßÚgÜ uãª~úÛ½}ò™¶GŒ¿Z¥EÍ‹GáÿZÉ©íÏ<±ˆ¸r95x28‘ëx?%23é?Ñê7ÌÕiêŠ÷[•֡ƒósQðþ=ŒÍ<ò$;ÑÞ"]gµÐ%¬=F™¸kùZX{4Ê®ÑjaÐéb'Ü/匠#Àÿvw`¡ˆ.&ÈñEW7 i»b«‚±•6¶dpj»@‚µ~òã ×ê³*¿y²²«×*Œ‹»nd3j‹»ƒßÍøOÔì°¹ë¯ÂÕÿKî×ø!ñEG´ŒEqG-ûù2çYw³Ûv³‚ù›óí¶vJXÓÊÁÜ]O•âN…éDßUP‡´íçfBŽ“'£ùæ|PÙÒsª@¦2·.)¹d2ª—`e ïÕgùR§%X0oRÔ»A%sMŽ?åQvRƒ¨ |yH¶Ïe`¹¨.']óƒEiМî¬(‘ìí:¦Ë Ùø€‡ý tû›fÔ®þÚÐj•_2øà„u38iˆp³Ññô 3jÓ¼@c.äû,Ý@0ç {GPZHÀ2ØÝ?|fé_ùu{ì±ÅM@D«Âö/ì T… €6÷<ã1b ³zX=¢ýÏê—ÍÈû"ØòT”§_Õž/û6ø'‰‡ö™”_VŠÂÏ7=‡î‡ô=´„?}CŸûùûmžLiì1‰¯?‘f­FÌ̱‚Û””ŠŸ£iS'üèÀ)`xÌŸæ­QÉÓ—ŸäÎ2]Ë$gØ@Ž]<M~àˆ®â}ŠvO~:2|‘ ý=NçÝBh^BþœÝU™ Ñ¸Í µ.èSu Íσ,ùÛÂъˉ%òLI‚k˜S Ä»ñlÒ)8/Êm¬¤£/æŒC#úGNÏr3ŽprcÆz€&„Êðy@Ö(7SxX_F"‚UÄU&éâ?a•ͧJ×í-É îþ!ió>÷hN,³ k!ž)@f ¦1q‚ºŸPßÄ–$ûþ™Üb39÷DÖž×}ÎkÕ[¯Lý’#sgu?óÕ®ý*ÀÅVN2dÛx/ÚÙ(„ÓU4–ÙH5 X|ïB õ),Ь–¼1H÷°*Ü"!4Ûi¦hgðûê))ÌîS²ÀFD±ÆÞ/!N€@‡\ *·Ó{øŽYEË âFþÁ,–œô'`!íCÊÿü Ioo0èÖË”4Ñ×´ï£/—T̆‰c΋œô3Ý CÄ HáS.‘UOé£ìèƒ(7®6íÌÏò®Ôse `QHó‹OsUÿ°-«ÜíÛS‡t¸v£ûL¦½UC_W=ˆu“ç¯Tü:ªæ ñs>ŠÞY—´»+¼/Ô šõ5›ül‚cáÍà±¶×'¥cÎ_×.­xȦ¶È»äÕ›?¸EŦB¤òã2+‹YI8=)NžZ×>@Ÿtš”Áÿ«$D´õi½þ1™’­døÄÊêUMß]Sö›•b6ø¡ž¿,tù©ä²¥‡¢‘ßcï'I{Z³‰\*íÒ–J°Q/¯»¶%b¹åô lå #ŸŠÅ²x' ëÃTAàðŽ2ƱO_[ßB¸|eæµJ*Ì>.ä%{6ÿ¥§Üü©Q¨Ö³Ñ5XÇ’Ì’µç¡Ož—¡@á¶C¼o †ìBͱØ^r ½Ô€‡].¿Øò™õ7Fi0 ´{t!Ùnöà|%íG¹:[¾}·ú–©|(Í(&%àçñeèÌ‹*äBÝ)1-\ã©ÊôHÓ³HÕ@V}‰E3wÜâß8ËYiíi ’0ný•0ä´/u´SœÞÛà#±[»ö0(©üå õ}¿NC†¨?żßfÔÐø£Û>Ѫ3W†ZZ/s31S{y¼‰V8Àz€é e@iÄþø¥6®',üµŒ@8ÌT’ñ9éÖÖ7´ZC$¤© «-€y{óé‡üáÁöRŒ„c­f¨{(Òtð½³:²ìÛ§ô9ºÎÙªæó99ðxnJ%wQ8¨ ç%š}AÁùÃ@ðã» “éY• síNÉGê¾ÍÃË“ìQ™žqô.ÕGùˆÐÍΔÀ»µ=G±Œì·ì=Té«òpGQ#™§zCÑxƒw~Í· úÖ^U(梗§\Ã9&ÖY&nQu[V•3áó)ð"ÜTØ2¯€ŒÛˆM)!ŠH7Œ¦ ü[1~ÄSzoãÜZ-6Böƒº;wI§%Ô“tWîð(ýqrDßçOÒ2S÷ÆWt;UMÏKæ¾M}?ò&cH=dYH´ÑhZE1¯}“ZßtÂàLAÇ·œ eVr9fúEùÌbf(ìøhÁsät0ëNÀ{ÛØã¦ -¤¡¶*|5÷ŽÃè4×;—ùoIª!×–>XÙ}ÁæuS8Ü÷Hf—“ŽëżŠGk˜ùáÜ>‰Ò?sŠô1í¶Ü÷מÌ:>?º{ ƒ³”jåË/»;eP•¢›úÚˆDŽ‚¬¸×ùúká§¥ÉÎGº!EþeKÍ5›<Ó÷f0vùÖRÈ$¸Àötù![D›äQDz å]P'>£}ƒVŽ1±ªôýb8½hcŠI/§Õ„&Ë^‚(Úc—-#.7é Q~9ÝFrXEEհߘ ;N(~QDôÉ鯥l9Ì$6šhªà¦Ú6T47–dYaé†Â%ž’cÿo–„!¼u“øñT²}>À>¨ ˜Ó–Í;h±”X•ÙlóÛh º !Ÿ²þfu¬,˜™r@MÇá˜"6ú³]B×”Ó÷çù‰c€ù‚¯&.Aª‘²: Ðë´Ò\©“ÍÛhtÝH]“Äu ¹ ö¥÷.¥É?£ ªŸîMÓIpôÔÈ.î¥Ô¿stý¾ ¥–âdæ9ÇDí6ñ!õ¶÷ŠÏû3S»hÉÒõ5 ¦›%öÖ¹èd€†ËNSý´Ã ¢ãóË]!›ŠŽy@i¯ïÀ´Ù±ÆRÏþ¡vy (–=žî#Èén¨÷‡¼ã¿AÅ ÉçÖÚz\!ÝbÏ9/Q¾Òo‹*ʬ°”Ñ‚9ÝÜJ){yl,ªÜœg²õÃÞœÌHñjšòeƒ0Ö<ø%ÂÏ0¬u;PRMsÅ4gÝMG¹Ú`ƒxáyÂSd±ÆWr|JD<Iá²ø=-¦Ò™Ã?z3ä¿ét°:-#–KÜj@uÆëÉJ²ßj|: vÏøxÜDXCææS^ÀU©þè˜ \²©úVø/"èÿA»¦*â³ø^=Áÿ]ŸGÓÚAÁËýRÜÏn¬Þ;Û/E—¸rá÷Zák!&Òú/Lc½W~¦Lnì‡2Gõ)5QAf&'íqzãc(ßÓîÑf˜zGöívgMªùS”¯RvlñzYGüä45° JnéÀ¬æù>Æöõã9[E‰ŽJÄgø ¿÷ÿ°“ðQ•=ø «ŒÍ“ ÀÐ…—"ö§>5/²ìD¹ó ÝúbM:[•ͯ`Êš"•nÌ>žà%h¼1é,A¿×æç‹·Àfäkù 8]7…{„ÒW·GZ¢éAÕa¡K»8 …6y¨VŸ˜êIlVcFt·ª·2âÆhœpD jâ"܉F"u€3õ4ÄlU?M÷óÀôOZ‰ÓÂÙèÕ^ÎsÏ©‰…v3fvɉ÷”ÂÄ5%d»²Á}ühÚµ¨ù*š@\C;û Ž¥Ó7ÛfMAl8ÔÝR 8ù*[²¹6µe™´~HÞ®2ú!cjÛœîZÅh Ó ARñÝ#8{¶ö+0í\qÿqNű„’ š|«‚¾‚4<](ÛÏ´7g¯Ü+—¦¼óFéf14z¾!èkÖ®ü^(àlAcÃײ27JE¾¡Ñr€‚×Ï,»Yªkù%üxŒ?¾ ®+í³ ¡\ÜÖ­Tj>5·ñ~Ê6_æŠ?ì­StãEÔ_ž+y"j‰›ÉCf(¤טQL{{Þ·êÙe#W°q¼MÄæ¡¿òz¢%ÓYI+çÄŽlìÞ.Y—~XeöZù»]‡4uÐËÉì½6*“LýÄb²€QÔ¢À=•ˆý¥4‹V’m½¸½¿¶Ã·¼¡âò.OK”м½eníh7ð™Ûe(@‹Ø³Á a Ÿ6á4ìDµ¶»Át2/ÂÑ=ðRœœ«7Ù½lãIòxˆíäªÙœkvÎ8ø&¼‰X“þεuê‹’ùZ@…¿Áð=4Ç ÿÄ:Å€„Œ¿ù|P¶/+üxüH1üð‹/¢ÄÃ8P¾#t2;Œ5+j}®»÷—UÖ}`Ü`FG/€Ù?6.¥òÔzFobHûÑÁÑmú=|DäåËe¢‡Òx‰¾TXäÜ †—´¿U´ØQãûvþDèŠÝ^êõ`ñÜŠŒ‡2)`tÛ5Ž1Ÿ¿$0JVÌÁißåf§o«ûE' ‡ŽT$4‡›Ì1žw 9§™‚¿‡H™qïvžÛ­4ÞÄý†¢²µû’z*XXm<8 Gƒ±±A•N‹ï£J7HSæO]ð7ÜTî×¹RLçFG“!ýRY×y¢cKÉu§R¡ô!İâm.Ì!O›“Ö®­†§½üäP-ÁÊÛ„D%áÆ“)Æ¿ÈE?ö¢Öu‚»¿û~pþ?œ¤ Ï‘ É–Ëqê Ýk†\Ÿô®Ž8Oçïå®ÖXü}÷ê¼x MÅýû™æÝ;Ü,Ê!Žt«Ï6˜Ó65q‚>zÜñs¤ŸÒ¶T#'DRBƲ2{éí.AY©x+=;UÒìµS¸1¶ú pòÒmY[ÞÞ3ØT}S² úìáòsχŠI&tŒ‹8éËs “йËeæY‘z}žÍèÜŒ_žA±‡XÖ'Gbé…ít]õîã„xûï¹QƒùÑ© ªU¹´H9H,\±¾ëŠÙ!¿L!¢ÞÇÐòsZÿ2ßSÅëèjîî8ø|·6¯NÎÎÓLï0â•/WåHT`âF…b ´ –°—ðõ AÈpþÆ•ì2»Ûh?}?B¡)kÄYLš±Ì{æñí;‹¾÷—;¡V•átçz¾Ó1—©hí2€tˆ=Úñb›åáàâ"<ú€¼èưÜ^ì˘þ'¤èCãáG£‘@P¼åâ]ÖöÂp¢(T?´Wòzj`WÐÖ°i[£;{R§6i® æù'6ÞI~ý1 ?·$›­êE+Çß‘l‰6šÇÏ€øº{mG0Úç£Þ ÉÚõN¶–-öð@ãbºt¯µ‡ï§…'Æ!w¥öàkW´32cUÕì~¥ú¨”¸2ml­þQó¯á¿ƒ]ïÛ? Ok¹×0ijŸêªOß²ò˜/–$+¯áM.¢K#Œ„æ’ÐËêq)†!ÇôÕYC3ò\°Vp¿@¹ýSìL —“Ü{q8ÝÛgò*Òa)Vj”(©šS%f'£â²ûj™ŠH³œ³ä#ëCwr7T:ÖÞà`N†¡:5±sš«záe“‘¤ñ" Ññ¹9±gàóòNQ³Cå¡iÜ»vR϶Xæè{‚Yõ5kC®³/õBäSž9Þ)§ø–À_ŠNñpv«-68’SÏ—y¨ÅŽj¯¾Ø4mPâ¾[þËêÑà)–뮃I¾+XŽ(¤ÂR(,|¦Ù"‚öѦœ%çhN¢ŠüÆÉ——âØhÈ7Ù º…ÓÂb'Ðu¡#—:Óͦ¬ŒÍ)ÈŠgÛ¿¸Lqr°NÂÛ%S+_=d“ž}µñžâ}¹4kŦ8› 8ª§ öA"U›FÍò$ qÀ!º,úÍ[4çS6XÔv±²PN“?·ä~Ù7{w:*oÓ ÁDÑÝnUã*|ŒHÃ÷¿‰+0ä©|c:b›$¼]EmüJ»óßÂÀ´>8Šðœ*¡0u\ÓÿÜkÜÜÿ8xÕi0¥ýg‹"Òì:Ù^þµª!r®_ˆRmÖ¯¬Í^G gÜ=s2·”"8´Nâ‡Äd˜‚E©ÿ™ŠKš¸ÔÁ›nG¯Ñ VoÏìÙ…Êw8 7§ß€®©Ä€nxÔÑ P=Í3Š‹!Òuóààê€e)ð Û!ÓL½!n X`ó\Ò $k0ZQ]êäîo¡›çÄ;Ø@ˆä9´íØ*­S ¶½‘½)Cçñ'Õw¿~àmŸô¹ÏF²œ&"¼I& 2Óvì*~w¥X?°p™.™Š>{Þî›ÎV5QŠ Õ’K`èÃ6ÿE²YžÝ7žÂ!= Xi‘ÅèxaVœTO|ÓYÙš3£Óö'R35¹¹Rq~ÁNõ/çÑö÷#ht=’9 [MÔ›EûæD˜ýº Be¤ýTè¬ëP.dúÄÂÿ N˜9}¾ýb È›\µ)äÒ ‘ `8nGrÓ5WèWSšÔŽ®Ò%µOíÿtñ  ¨Ù3“÷—äÛ¬Ë4BŽbˆ7]Ïä)¾(Ó>ñfNÙÇWÞé8ýT€Æ™J']¶‚¤Ï"íµx˜Îô™hÙ„éòbíoV‚£(¹ÖçQv¦{]–?*‰›swîF‚ÿpê 2Éš& Úô»¤Aº´oWv)BÌF:>¥è$Ày®Ò“a!T, Q=liÞÌŸbý&ùgjycôãÞÏ~i Íò(ѾF«_Éæ;hú"n/êLðpÙ³Š9A„Å)]´ûUOPµ0¯jØ7uWÜ9«ü¤j ôf[ÓV…xäFæ”C‚ixñ×…ßMCz6n΢sI&ÔôL=¬»ÒZeZ¼NéÕêßH0²c˜I‹ ¬lÕü7–#½áÐ$™(À dãnT±N¢ÓB•KCÖýRð™ýHBÓ%xAóà,†t˧‡«xäjãÚh¿ä_ár•T1Vô:ñ•yþ©PV„aÆæ:Jf½äßò^ï97>=+ÄûýÏ*?~YU)½b‘êÿ(½Mt‚Å#ßN’Ie|†4Ï8F¾3aSL´¬!LŽÖi}´–ÏwG„¹,œùþ?:9'oXb; "{§1p »ZêÆÐC£0„ —™³Èç{k‘I‘(NГ.Wãò4?3rá"·£N)3U©÷ü÷E$+Ü»ÃcêsLºŽ,]@xÖq8æz•ô|š²6c%q;ùNlÖÖhpPš /“QÓ<«ë [QþËM/±Q²(ÎôNC$!< m«¡ªî`8É?FªÖ'Ü?ìèMNö'È/Äv&¸J— ƒJ:ªeüUg5£¯¨ÉKúdÈ¥õsö†Ú?•åüYéó] ¤rÏe®,Å«ú³¬jTtŽ•+A£“ãÕŽ`¹=Æj›Âi×ì‰ÁDòÓ@[EÙSh<ýØ´FÜð±˜n3áSæü*2*Á«W.oHõ4w0äs>ÞûÑäá`Mïr@Wø¶'œ&,9 #š†´™> ‹Õ%åê&DÜ(¹É_¥–êlWEg†xÍ’áù¼í‘K–þç©*Ý镉\P_„—ë»î׉œuít³³[A³;3_"æ-ÓœfÃyJ8„¸^aìjq³ŽJ½egÒžõâÖZ¥K; @—D„*VVéRz})‘GûS`›Ï‘(]%pº| öç…yÐh­÷ZA`ðžØ¬††‚ËšÕš2Sª½€™bˆÆV#{ot>åNÙbUHRÍ,ͣТÊåIJ^á7Ò>hNÙ0%È›‹3þ \œy¥3nç-–Ù½ð@ÖÂSZadíEèD8zëUu‘ô¿Ó¯/ÙóØð1÷z•¹îöªÆîj3ãuúÇ59`éü /Mƒ±étÅ+DíÔŽN9ÏV)´:’CÒ¡(€ ÏLtìê8SA ò¾€Cå‰nx[;‰_«*Ï,¥‚Ñøn¡eÝ–µ0\³–Øï$ŒågÏlcxWqçË> ‰›g§%lê3“° Ëè’OÂMÿu—ÈU1òïÚïŸfOÎ5®„-|4,Q×J­o*aù°AóŸ7×Zù²ZDÞñ˜ŽxQ=CÑFØi¯mB¥·dç ¡i-:‡X}çzk®íøYG‰¢f%’JTÇbKbþÉ|eÆÑ4ÈÀuZF†»ÃR÷ù¬¸äŸ HϼÇÃ÷Ñê¶}Füwï9vî{Ìúµü(·ö²ìIïõЍ.·Ï¦ñJÛ1Õĩֶ–Æ4_ #7%2|³ L]¡¦†"P–\æÜDx=(5Ág³¦Ä£“ˆ¿ý0F;'‚®w[i[}‚õY ì,ý*Ã{ÐJÿÍye€vz{0E¦¨z§ï³?¹½†kUøNP_¥*1É‘HÍ ÿ0¥ÌÊ6’^å ²«>÷ÖõÓ)1ÊÏ™«uíô9¸<ß½: o0QÛf~ãWxaÌcëÿ(¦ª7ÌNC«j«¼;èâÇŽâ‹6.®Ï]/©Å0µ‚Ðe‡¹±ºœb*`u'~A§2‹ÀôµÀ6ðÛ6PßD®¿= @y+ij¬ŠšÓL_HUœb*U>á5;ÚBÏdÁdq»êEýQ_°qŠÌœLw]ËÂÊjÀ>‹ÞÄÝ8LpÝŽÏg ÁA­ÅGªpæÉeÉ4‹6ÚƒŒd MëßÔÈ PSä¸v&U- ê•MàŸ´4ц)ºÊµmð%Õ²/ó?'6³ƒÝv*ÁžÆšÅ!9n@ñŸ'T×;#e¶›0ËêCíˆè§„@À«ÿáW »1#B{Òû8±®‚‹h×LŽé9Ïa6F;®ýLå'Ï;ý2ÎpŒ«È°!2blƒv´þñ¾ðPàξ?$Œï·>ŠåSNš¯xP9—ö…Mëu<ßàqªŒÍ/ðÀ¨?Ûa;RÂ7¡B_ª°J=”<Âyò0#Û•g Ç>‰¢à„ÅW¶nÑ®ä¦-µ°[±“¡ ËcB<ºÌ¤¡tHâe^úe³=;±â¥èð~ŒéÜ 'ÿìEèïï‘ZϨ|4W’ðõJÖãGù$šÅ¡ÑB¼“=9NÄêèz†ÁÉ-®Nø5eL½V/”Œ 5ÀÊÈC)eèÐ\†Õ𳸠KíÉr’NM§BŒf)€Ú‚Ú1߃9ìý-8ßɆ^Ü[œV fK]¤¼Qd‚x5Hq=ÅQ-EM}ŠÎ¢Yò¯ù­9UÏÎÏkèn >²šx›Æ6%—§k¸ï%¿Ö…-BÊ㛤ÿ¯ê¦ÆÉ?ÖâƒAø$ø=pÛ©‹$üDbØg`»6•{å걑»Ä¸` ]U‘Û³²ÙImsÔߟL}K˜° ë@´öt `í•æp©_Bi»`czÝ4S0¼þèAŸ1 U1¯j‚:gr·ýàÊÔ$Mø£ymV<Û´>!núä'ú¹[t.K€<â4®LéÚµ˜ûž>Ixú"rœùhíºáàü¾:øG¬¯]ð;O…'d¤á7Žê‡!ÃM­ƒŽ8¥§´ŒÙûÛîÖæ{2óÈ”Pž¿z­8·2׊QgšºÊv'CªBcâkŸì‘c¿TpÛ‹ï­’Ù¬TàœçûÊawðNþåj¸ýM(±¬¦BbOÇpaØïc™i•‚0˜à70Ö¸_“Xä^c‘Ý"=èI_üëE—?àg¥Þ=CõŸÁå6 ¾%Bluù ®½wéóðÖ¹$zÇÙï°ÍÓ¨k|,ëHµZ߃Ôá€cvlË­È©9°H«Y@bî@÷>@>‹?ÊúÑS@( ¥‹¶‚üÃÀÇCÞÔ;ó‘ûÈDà‚ ø¯€-¼ad Pü–wZ+ÐÓì&݉ZJL’C¨šêÔ[iðbó^dºÛL©'‹ìÿꄯ‹Œø~žnÄÅË݈m ½½}VýˆœgUú©È‚Ô˜¯pÇe Þ€‰çûœ° œ¯há­°é*‚¸ëU_©›Úhá•·þ”渻‡èéNG%v%-ÉÇnhSëvõ;0ÊjÑLÜM“ÔHgë.7©€à€0>ó'+ÁÜQ»b·^Uç5c ŹŒì²LGòÿa:=¼r¢Vp­á9Æ‹Ÿ÷(ë‹Æa¡ø¡[¥ïѤkYÆŒMkãxˆ¨Q‘‰·‡ìØ™ò%Õ{¥šÍ)T«¾¯§ùÀëÂ7qÈ¢[3c8MØ’v –† mÞÌáeÁ³Òêhsm‰«ÜR‰~ó±¬>DÜsÆ%R’]:½ŽbªÝ°¡»:%r†jδ¶«êÙLMe9+!fútlêH®…<»z6ëÑýûJÿ‚h"Œ‘ª!Žák‰óÜÎ^é̆–ÒÔG‚¸(Ê´ó|©Ú—•Nð=ûd?™?÷=}2ÖÊ*qëÁB só¡>9 (ƒmNÞnöÐeÃÿ” íá HÆÑM”U›KB.yZ$ô¨}¾¿}Ì,G›íX›ø+Ý e`¿G$\Çæ–µ“YñÍ"~¯ß[Âqÿᦠ/Ì>ŠjÕ_lüMC9^Ž8Úv 3‚ 3ØUî,Tã@¶L  ´®Æ¡~Rûf¢›ˆS¸|?ˆÊ¨˜1Q‡Ö$lmÑ%¼àUáÊH°sc ‹M‚l7¥v¯bUÓ¼jÓ!ÞŽO¡ fhÒMâûI’øËIĘÊõßh¼hœ) N²šêù‹ æçŽlËî ôÈu D’é´è XGíöú¿ãz·Ä Úˆ žt4¬E"¼€;š ‰<¥üÂái¸oµ€uîók™i'3 #š±ÔüŒñgܹ –”øÞ¼AþÐxº˜¯@rèÏ‚'åÃbz ã:F[_{רzÃý_Â…ŸÄð|yŠÇD½ßRùÎß»Óé¯@¬ {“®³Nfçój*¨øIÃSÞFžØCQí[a>È&/½ÍmÖ=»Ë¹d²êæË©FÅi8á`c3á{ø~”9;>üŽ¿Þ\Lèî(Ý¥óUÜ–D¼ÀÁ–dÝZ`ï›ö,¾ÕüdbèÇw-vã?z(iŸ¥ìœýp›®_/vJ2cûKÜÒ#¬_ÕÍÛ!<-£Õ†Ú´a‘ei}Ì‹ðê¶ÇÌvezÉòßó«É°IözØóokLs‹»ÑÂÑ"A-°SÆzf³GOZK±hý{}í¿Ý¡ùc¶€ÀرÃL{|ð“¡õ0g‘O#R¼ãïvÛÿ8¡´äOÂcHáénåÍÙ„+B¬ž4ô¸d¡÷-¦³c¥.á”´½œ6±7Üվ̳õ\óç1^!ëzvÒ1î1‰Y®[¸ޤ¬<倊ãž¾g$^!ñ’-â9y›æ‘tç^O¯ØB ãŽî;iàž¸Mð•Á¿Vèâ𞨚ÿømk¶áÝ}>¥Yu}÷eÕ“îËýTÂ0.ëL¥Šêf…Ùì„Ôƒ/ÚJP™0/O8ËÖL gÒQw „8þi½°úMáJ¢p«% Û%Ân²<ßK®ÏÅSò[qòß“Nä`B$"¥Ï‡v`É+pY„äì"SX£‰!z&² U ÌXÊÞ&î0ͰÂ{)èäד€çÿrεz­@SªÇL£«æ‘›鎔У“fbïãSÂÖ’Mù‘o ޸ϕ$£ö;ñZ¤Ã×Sû-‘ýi¡·y˜È· l>öw·}*îqìm_î~ý®Öä1ŠïS9ÀT/Ók)'P¹/¢+9ï·¥*”´|WÀbA32¢.êWÎ ¶G„ s .·1‘ší½Ú É{%ó4üq/©m˜0ÌöüÌ”úXŒžÀ¤]å:Ì]ФüÑSÌ&ˆ›Ö½»Þ•Â螥}tÔÈÐÏ„G‡½·Ä¼3:î…@óƒ$æVt¯#±ªYE‡=‡àdÔ›y0 ›(‹µ¿*ˆIøeÀeÅ!W ­¨¼þýÎNTÙ^EÞ¬Bð΄MÛ÷úËýŠÖl Ÿ :KŸnð«™¹ò¯mÐ,»ŒTÕ‘ëô/(ç°ˆW"íÆx-•s4ªôœnâæŒ–F€D±Ð>¤¿*ßô­-Ì­þxÀ¦TÝ…åkMb²’ÚŠôõÏ;t2Új ûG™—•QÌŒF -œ¶r×ÔúÑ|öZ„þ‹¢r¨@~²%øÁtíÕ~…´ò¯©ý°TB¤¼ ÕQg¾\²Š8ÛV½ óÿ6ÍÐâ ¦¬O(@ Hjn#Ågc»‹¨›¨!ˆp*á¼eW{ï¨L€C[v‚hÈäÂi(ïëb°sX +å‚О¨ÑA-K’ÕÐ/Ïù.z¯²Fë%Qæ)rË(?:Vͬ7=jƒs¸ÉiÑt½¬7¬¾Þ‰þa S&ÁZ]‹¸ýØþØ‚®OAº r:A¡T\ô3¸çm¹ÍÄ’G¯ïîÊŸí}ü¸ ÙA†䀼-Æ&熵Ú¦YèИüKzÈ™iÆÈžN?ñQ6Úô¬`< šm­‰% °|Ás_NƒFÚýÿ‰BI ¤›½Ú[sØÖÚ+¸O¶áø£Þ'×Î/qcÐÀ)”ã33°§Îª$oõÜ8qѵ®ÚÖFÝBŸGc^ŸÑH…ÔÁüø©ö®aDeZ÷•ÉeB.ba<®YŒdšX}"üVÔŸpx¦ „|DTÔk¼H³@ƒ>þ$þßnð¢.Úœ²è%†ñÞø¡à‚†ËâºuÏ;“vc8Ú¿ ·&C(âïP3£Y[R;¸µ`‡IÅþ~©? —ڛȑ: ¨ê ©^ÌÏÀgž{€“,mR¿þËèFQÊÓꉛ}T°YÃpÕUª~ùÅ÷ÄT?÷YZ‚‡ù lXÓZOcgùo–žÚ™Hã²y«8rK)ÚùëWh"!9Æãe_rî÷V}¦xš‚Ÿ!~dF–¾Cg.w‹¡I¶b¨!OVÌíX[¥7plͦˆ`”^¯-†óiWì ‹ÓÌoœ¡ÿø[üÓo4ïxÓ±µpüƒ_ü?K-]Y'tPw"±‹3{62þêN,”Öü8WÁUN«£é&MÒq„EÑCèZ¨…óŽ1}g²¯QÀ B¬îy»Kùïã ÉlH¾Õ3¡Ü„;“½3ÅaæÞ#÷)†Ÿ$âg§d´Çƒn娰ÿÉúýOjRL_å\Ò—‹·²íÔ?KgØðâY*Gø>C'0¦3Ó°:¬P“ùK–?Yø‘ Ý’õÚ!LŸÀ6ü'¾)d$ÿÚ¥×ïLSÜ#ê[¹R%µô ]†Í9">ºã'õð<•œ ‘­GmVçAVoGHÞzÂdÑ8Ôµ£ö¾ ü÷¿´Ê7"æM±À˜ÄðãâtSœÔ3𿤅Dá.ü+f˜|³w4˜ˆzIö ÛPëL‹µqÒ'›Ppbvr[r”W¸!2¡ŠÉ€ï‹TsNnñ” ”@™rÚ`ã¤S¥ù1äÈÁrÑvä3aŒû:>­É|£È7^mã’à³U ™^P³ÒêÙCyÑÙÛ·¶JÃríÓ’ñœìâ‹ä{vÒ–HÄÄ 7Iª@×#7hù#ê¥m’4›n­ZìÛýº×[ˆÊÞ++µXŒ¢1bþkÕ!¿Ù³Ä©.»äF[ÐÆmVÕ˜äkÃ*$ØÛÈÁü}ŽàÙ%•á4^lƒY,šŸ^Ét~8ø(‰y"eÅöê§arð&¼Øíßn/ßäC7µ¢Ž-Í‚—X‚ë-ä^v÷@w2‡‡2Rª²œ£T­ÿu¤:|q”J–àFX·T }èE¾‘¶?/˜ç(´VgrDl a ëÓÕŸ>áÉÐz„ú™mY¥, èÔmËCz¡ ³WÛ¹ìJo}7×/<™i·[É“BòÏøŽÃÄVÖ~Åhp 7w‹[çŠ<~b+^süƒ¬–¡ QAFbò1ï {«,ÞÐ]‚O›zM­vÜyTK¦—¿º¤dߤ=ì~cµA9mŒˆ„ÌÔ¼»wؼ—º¶XA Úæxÿäbµ×<ÔWP4îb¨ÀW±E½¶/#° ÃR!]Lö™!EáéßɸÁL Žn7A„Øî‹#¨QHöª`í›(°lªìgþà cŸŒVo­T~šÞ  @jyKg=×:E6uå0€µ"þs€¨¥HNÏDäÎÔhX ‘0B™œ®fÊÝ»ŠXƒ¤ˆÿÌ|‘ëýÿ%.¶1pŒáuP#Üßž÷+á ¤tI€2 ̉ ÒÀï|ó—yöG¤Î%§y¯e½7˜‰¿Þü–héaÒW°ƒ³h &^˜• íP?Æ R0(ûƒ%ñݨ.’u¡„ÙµV=µÖÇêàÔ„‡¨"à0½ß«`OÆR¶’$˜œ+â6×XoK ýõƒ Æï0¢7N­ÃEZ[ÿ·C‚-øyh«E*D®ŒäÊÅWs/8Héé¬4WJ›ô#HñO…oßœirèoÆêÞgF¾ ¢*u{À²ÄQâ7ÿÞ26Ù¸6Oi?“dNæhî äbnŽ©f_¨0§ÃíHaA3qv{<Ý„ï–^àMÃ`<\6Z”¯@V´§HB~ÑdW¦è/N[FÚ™_ #ÆîšÜ««/ê¶Ñ}tÚí¹H‘Jóïi%J7t#fÍ+l›„‰Ô¿™’$)ã°ó¤ ðÙðO15hXºÚ‡¤}d¦¶11ZÐtç³_ˆ±ô‚Y €ó¡d–Ðêcáù“Gž|kX/™®&ÿÂúDùUxÇÒôõ¾¿8H{iSZ×´,Ø¢0‚v±£Ûì-SmìQî° 'Åâº%A”‰öMÌ®d–yø¶®~®E6„Ϋ0‚Ç¢)@¿–º11FϵM˜FBm:¼N# îÎ4üYzH’õ¢6R阚Tx ÁÓWßu×tŠ9´²,:Eh”H.x¾ù½ÃvC/%ᳺ’§ü€•Î`;KR5›j†°@ Špu!ÕÈÜrgŸf‚Ö¼ FÏŠ\q2BUµY üûâϺe˜Hº1×u「ݫˆuÉ‹™XU§“p6eÿ‰á ©Ñd½:xøÿÍjûÓÃ}±šì©¬$ô‹¤únÔc½|ŽþÌFõtJÖ­ï½)¦/Cj R…ªþ8œý_,òïÖø¸âűïÞäÅÒfóFÙ ´6¹ÌbÚw”Vº+Aµ._t¸Ä’òv6ÁÓ Á‹Õc… ò:+»¤hvm˜<ÄÒŸØua8p¢öË2ÏcÿY˜;÷}Âp,R"8pùÙäüæýæD^ÙxÝðhe*…|ûd ÄOáý0UuÛl–3#¸w$«‰cµI½—ná¯û®*ñ„®bÞ곬ª¡R‹¤7ƒåÕR뺉s¤OßÏ[ˆuÙ)íw–üêâU4îóƒ66©¸êKe´µ%ôm&J˜ñ_š¸ô~àœIô !9(µ±V;†>DQz )Š<¡p¤“1ƒ›m²-®§úЉåâM %õ SBÔÜ8hmðŠ‚V•ñN•è1µç}ÄÆÉ›!ûi?O íc9|ÒÕû j¤\?5ÁœQ뜒"¬èœvŸéãáVÆ’Ìœ"¼è‘äÿÃ]osP‚˜Ž½}éߊñ„\FÿWÓÈ£Nc0†«#ÖÖ4+ß’/mS½êaýÿû=Cý ŽçZ†|±æ´°†ƒt=¼»T]õgý\3kI‰tµÏÄÐÇèˆj„VŽîŸWN`Ö„Ñb—U'Z&Ý£ôñ€.8Ø“ñ‡Ždh¿uÂåD­^”¬¥^ˆõzÓ[ÌQ€â+µ±ºŒí1áÎØ© Ó€9m±¤h+ô³vÉF)ÀT”SvêK.,wŸõw½x]YWò,vXÞªoí“cIhõFõ•£#ÑœÒ4éMÒ¸‚Á¯ª%õõóéÿ%ôŽ(0¸KFwÂQŽ\dPviüfÄÁý,¦º{Ö˜Náï–Á©2#¸ËoHðé¯h0`Q3Bµ„É ¤°Œ˜ÉyLŒÊ{®ÔÅD߬E2_w+pg‡+i¼egxì2&§Äßã‹ÍGjC¡ãöHob 8þ±×óóüØŒ?±< à£Ô—!¢ÿžd"±çã»—Í@j : š1ÛØf¬?Æ2?a‡XžäÀ7˜V/‡€L¿íÚBn%&uÞ“ékÙs¨ýÿ·wÀvhÁ>ý°o7’ •ÈáÞ ö"§¨‚f¤$© Á5ÔkÍ`UôfJáª{wî]þõ>%”ùtià>éŠoýd£Û’6Jåì[å P 0áÕÐdR÷\Aÿ ˜2m‚ïLR?z¾QhØ:6¼5ÔR%À·RÑo(À²!²¾öŸì“â SÍbg´Á“AÜÔ°AÔ9m!êá’ܼ¨ˆ˜ŽÁ®4†ˆèù0b{²µ% è¤ÑƸôƒøBy¶;ï}#‚d&]Cã‚í‚¢ æ–€§=\$aÉ£_R&æÞðÿ`j¸ç­UR.Û0¾¤e|>d£ªèIÑ,tËþe³–HÞ,ø\mrÈWÃåUcµ&E4¯i²Í(¡«E”ËLñ:<º¬ÛØjýY<ø®9U€0Ù‹¡ïè AÑ `œóæºNŽ"y`7çKBÿÆènÌ’lTiGFœCN[s^/ uæ{£úò(pÉ´£5 ’%!,×8&Wˆ P@C³ÆªíhÄÌÁ7¼)ê Ëgb@J="ú,XΠ=Sm%µLo)²i ÑùÆ’ò¥€šiô¤†Bç2¨2$²¶±±Mƒ&“Bî Šð6œ³r£S¥ãax”•‰Ý½ :ÛõkÑè·B–”gÝö$‹xsŸJù°d t&v«F|àuÁ-ô^î/Ä®öqª•SûÖq¾Ãî›ÄˆÝïa`íÿ& ®ž§:˜”Ѐo¥¶É¡»•¹&AÐmÏoFý+8ÉU‚´¸§N LH¹?µÖ‚—-•Ã8´HdõclR'?¶˜gV÷¾7Ñ(–¡´–›~ÀPë8FÜúi˜.û]Ë\º~TŒÏP¢oðNÃŒm˜Š5éæÆê…€~Ib¯ÖÒzþ?sd ÔîÞ² ƒ•îÿ™Ï*ƒ‡½R§¸©}„\­&—†*2惺/¿ÃáKºÚ'~;‡ Œ O^/ÏŽT뢶 ¡u½•Z–K¹'0’£Ï‘i(S„Ò˜Yà´b¾Š;ÚïwÕ¼<¢x©ßç$ß ·õW>À­›%,Må{oy‹dhAÎKš` 2)ÅÆpuWèµ}]¥=ª„sâØÌ-Ø55ÙÛÑTbñ¶®Fý„ANmÎ'†ƒ´ö{Þ–®¼ckíjf>w½Ož~¹ëfèÖJx€iV $8VY~sV@ W¶$½v¶6±D‘âJgÑ›½8Ep¾ÀúÐsß=¦Ø× ë>L8ÿó^¤åÜ®8÷'>Öiäó¿%ÞÌöÿ¯ïÞØp‘™= n9CD®¨‹ª8©»RÈíGF‹äð [2.úz‘à1äaÏ <¬'|…b`®î,½Ä RDªjúŽS„˜Ø5­ý×íÇe=„¿)£bf£IGûê-v")@ò™ñHÌ•H‡U}VäBŠä}òO ­‡ÎõÊw-eçà;ò²T¤Þâ%"T/Û{eqi9ÃqäÛ'Xâ*‹ìM"óÄTLÒdX!EÝI5&ÖÂÁ®½-¿ÓÔ…ÏâÌÜ4.­¶­ÔJtJmn Nþîꥫ¼ÜÔ7õ™lðˆ¥µÑsa1udB=°îžï«sO÷6gšºþ:¦É×Ã(©m+pç{¨ÀO æ'ƒ?8¤’³é°jÇÄXù"² ߆åÜ{/‘þ°°Þ«QqJFéCj5éjE¢ÛQ½©Ô,ILéiõæÖ "ši÷çöul²ÀvÒU¼8Å®¼ìùù´“’^»…è=“¥,Ölº¤¿)„>;”ƒ¨‹«â'À}ôä™ëÈ´¡h3mþò‡P'®=X­(æ³{ö64Ät™tTlMü²Ý>Äæ‘ܱÝ&̉§%è,ÄG¨Î úif¤à€åma_®ì ó žüÈ…3¦ž¡µÞAÊW.}1o•ð vetçÜâ ®[ç|©î  žÃº×&e«¢éb’#c}¯ÝàJ Së7¶ÉÛžyUˆqYís­D¬2sÒª0!ù‘!å]šÕËñ] Ü3±ü’iêdˆnZU0n¯Q_`a,)ë[Üy3¸‚\µy޹ÅGáRöüÏr°udJÊZµpÈù;¬á±×§/ªä4‚íÅ£©ó4W©.ì­é#Œuòªi*žÌ™Ó„·KýºÕêô߇w/›[’àx³iSg{wÈšðуÁ•çb^1z5&‘®5ˆ+öÃOhØ N5q*æ÷‡e­çÏÝRtlÐÂR{N]D@©Ú‡`œoçÙq8„a†×¯¤öÙñPçó¥*Š˜²­«æ-}«¬NúZå’ЧÜ'„af`3¤Ôƒ˜ÊÈ4 Szë¿ÜáÕÕ[Æý(Á'ÎÉ14wËSÎÓ\qö1<…+‡}RWéÌå«oqÚ”jLŠˆØðq—^Àã‹ZeÆÑF¿¥M»}L´>JÂgØt)¯'Yç™WÃغÑ­U‘„B|“$fþÀmô´ k¸“‚Ïýé‰ ªç§ß¾9†Ã ¢so^öÏñZw¯& 'âõÅ€Ãý'Ú3èÃÊ-¿2ÑL¾t‹ÔÃÑ5SÂsÈõîÙr Ý 5` ¹ÎpÂ,ípÆV(«žìPßF‹'Üvœl%aEs" ?û•…"ä  9=òaá«–·2ÝØ¡üÈÿ5vàåBO(aOÜ/wŦ6~©¦æm"—É” ORQÑiñ'*©½.η´‰yn›Ú+ÀÝN’¼·©õU1rdÖfJF“’0ËÏèGâHý—³qjuËqJEÑVzùY¼~MñÛëÎÅȾ'âvV‹æ¶½¡>e÷®=#Œf,kƒó‘qk L&Ÿ? ô¸ûûænë0mymóp}‹÷7yŠ]×jxûîR-8Ôóßÿ»R½Œ¬.°Âq{§=ÔÜbk3|­5¹âšë“é æ)ꪄ–\œ¢. l£©œ¹Z†" ûö/NÐ¥ëÿGnxXs„™uÀ2uLúÄŠðÇŽG(—³ï1!\­wJ×ÙÑ%_Û ›§¾®aÐ~äJYÒ±…íl5YtnæŸ6zÍQÌ744¾!”ÆÅ–ÜJî}ΈÖâTW*År|ð4n]öø*d " G•XCÊÝOüÙäƒ|@¿Ey?Ýu˜_F%½TÕSþJ wAA–ø[KŽgYNÖÕZéjdË÷ŒzÉÇzüŽÓÔödÀcÒÒ¼ áï:,v¹Ø±‹‹1¢Úº‰/­ß‚ð;‰aJ ÿ_³3 Fj#5»öó'SJôÝSÄ_C/³…ýÈüˆóï§­íÜ> òÉ©^Jð`êuÒä±½­%;Bšèü“gé@ÇîýuµòžÞFV¿íŒ.†®Î². [žß³’r!ïhýîùpsÏ0\µ°èñr¼ç$J"M°þåêTÁª€¡Rã+<5ÎÏA†ƒ¸^8sš…£—ÿXÅÚÛ¨ÌúÀñë1Z/w„òâñ2\žê‰ï²3’§È³øµ%óÏ#Fî4J“FùR¨Wg”4küjj ‡¥yDmBr¶G•Í<›rg)Z`¾±œØŸû aÓ_ÞŸKeZx½©‚ ¤ ø$Ý vƤڲq/?V åØT|Â'÷aŒŠé®vçÞè l@¤ÚÓÄG4Εt–éâ$Fl?ì1ë¹kL„Q±@NåÚDËì§ p)ô?ÉÊSí 9%›©tPÑçú&U< gj¬’]E‰Í=RÓži1·Ò0îäkçý •SäE}8œrøæ|àî‚÷ÎKÑ« h¼•º:I}Å#yn(ÁÕt­8¦áñÉÐ&Š$`PT‡>Æý»uiy˜Àµ /C…‘±¨Lç6¯™©$—šA)R Sß4v"¦þ¢z%›ˆ¢î(AÈA Ì½>€<ǸÔ4€Iµ2Q§…Ñ=çkrØò™óÊî“>é™à)ùÅĬ WâhÚ”À§sÌÀ˜÷à•àoWJ†„áÚuÖ÷ŸÎø2R\ßKO¡;^H»ÖýÕ¼fÄh\…÷‹M §G¯e0:Ò”<×_îÙEß½uêâFoA¬ Ó…kW•ƒÝ´‰qµ?•70úŒŸeüi¼¡òøÞb}e# ½Ž"äów<¸~Ü œ m ÷h(=«#‡ÕÇC ŽÎA^tWõ`[²¡M'T–…a1TÒ#´KïB²KýÌe§÷ ³W´´.ÜÈ-j’ob• qq.D~Úq©óQ\dÉxIg1½‹ùå«§4·fZ¹ßDäw_Ô÷ìFG¦WÜÖx#ÕfÔ  •eåu)‹‚y¸¤9?Ó¸%6AŽC(’̶]ÌÄ>§õØ{†ÎŠ'žhX{Œ†ž•`Èš‰%‹8ê!Áq€qŒþdç~JèðZƒcJ×þȘT¡š:ÊÌPáͺH4¶Pòe¨Â¬Ý¤;çP«v¨ÐZ¨Øðþƒ3tÝÇ–ægôw†óTþá0bž¦v`.FÐ/"¤êŸ©,µ_†„è 6&gŒ®ÛUW;fí­$dÒÆ4 拳e¶jE0§÷¼¤gSj++T®E@’Ò j|zpí,k„/÷ó2ÑÑáp×v÷Š*¾ brJŽbh­˜ iØ®·¦ŽÜª­uâÎÁ(mÛ½9€‘Ù›#¢ ÖÈ0_mÀ³NàÁtÆÞÞ´üƒ×˜.¬QÝ/pz‚pü£‹‘+ÀjÊç¡èï/…¥9 ´ÚŒŸ‚w»<¹7)ëž¹tÑ–A€ïkwÑLpbbƒ_áslUë¿ÌiDGMn—ÁSü°È'¬—€Ù±„x•¥¤Ò“Õ†—a®dbfPwÿéänHiŽzÐwÝâÏ·—º°×U•ô!e–Úa%Á'7”ÀU€™èPæ1¢ÌˆîNâéÇÇÅûý9¶ÈzKá ñqÎØÈvɾ_¾#”NÜ!£¤ íj}˜¹ø¨è{L‹]‰–Üò}›ì{ŸAJ0Œ‚ú–Cë½ÄÔ?;oežªÐ§Qò8¢¨"“/S·b Íi²ûV,ß/ƒ]ÄR7´*xo[ÜaB®Y27Õ· +»4Å®Œí§û£¬Ç'Gí&ùÚÿ\0iÞJø<‰‡íÂb’ ÅÞ#k•ÛŃh¼²&5 .Þö[gMõE'xóŠcx`²{†p áU ¬PG·ømB ,›Ÿ,Eç:Ç…(-¶œzµÕ7(×|‘Ç–Ú/-W¸7 yª·¬î‚

üêF6³5št hðüæÍÔ`ΙpaFvˆ—äÚEhäD š1MOáÚÊ Ní±ÔkÖNª å”™è[á@ÅHa¨N0gÕ£Ðܻ؆õk¥øÓÆ¡‹FÕ®üÛÛslx6¼À3‹ã:6Õ …eóêXÜ‹<±ãkž´9§^ôÁÅ—*8kó"ƒ†1­vi\¢-…>ŽhLsùœ÷i¹*'åpá§Bd­îÁæßg„M O_ ÷Ð4èXׄ¡çÒ;yž‡Q‘RNhùOGƒyªù=þKͧ7Šá½æŒå‹ç“ýH$† ò‚™Âô>µÞ4mSf®cH ·)Ø«¼*–QMÖʯ’Ùå+«Â:Ž‘JÓGŒÆ¾ûéóH_ÌùÚ"r]ª¸žËšýhòä"p¤[lîϳ¯ àßœð¢K¬˜¶“l“*(šDm¸‚^Ðt‡D©§S¢{€,§.OF·‡;{ ÛþÃìfÕh£Û&£—v‹‹OêbÜfY]&CVòæ¥Wë ï±e—ÜB¸–}:Ÿp'xNâ& GÓj.&²¡VRß>ˆuKƒdU¶l¢MØô…⢧¹”ÐX°œ8(? 'òùþ? Éy‚ÑÞRÙHsjnEêu4ÃçùùÈÀ"_ìp«M‡ú÷pGN÷¯@¦‘öŸÛ4Þ¦ærJõмs+IJŠ3-†…èbÀ…!£Ñ&?(+Æ.zk°Øâðã1AWËžêQÙ[ÖƒEŽ£?¯H=Þ’ªª©›+8“†ÂðfÃx¨P^ù@HbXáuhÜj2ŽË@i'±.JA°úF5mËm¯G¤Êåá/{e&¬*…k³6S ¦7|6a‰+MOçÊÊ<¥ üu¼¿brÄ2훯Bж\ôÞZ‚\áÇt‡Êù«d¬ä–|/FÒe¾»ÙMßlââ"bù/ô&ê_–ŸÉO?™|…÷ÜÊ"ÚòA@ØÆß0æÉÄp¿ês9hHHóÊðej¡˜2 )á4$í’À楂ҮދN*‘“–«dú(Y E{ê¥Ú¤©·a—(ô$"? à¼Ø­©Cj넸‹ódH4iSyù;û?±(žeyÉÛ¢è Qþ„4( Äñ@ä÷…ß‘ŸÆù­•QûXæýpœS "Tߣ^?[ƒJâX\à˜Îd¾¶Ôe²,怬:œ(î‹K*„ú‘޼òU×’*{Å’õ:Àð°% ê–C¯?Áy)~ÜØÕZqUÌQà*dC„dÄ3€¨(« Š´“Ì® ¿}V€Ü½lÖΤ¥™ÑúÒãU3q¢†F_\1KŸ}nÈø¶ÐípTr’•­Ý¿sò{´„+EÍ»ÿïR‹ Y¨ªü&ŠˆrGu–5¢h1h³‹‘ŠÅÐi³èßÎ=þ%Š…Go—r6w„`qêh¨|ô¤6edµð6º¸ L_2Íp)äóãê϶ohdÊ~ Ð>ʧ‹ìÊá²xçQÜîãbC”,PŒu=8Âzò„¬ˆƒÛ.¤yY¼ÈÀ_¤$Œ›væ`idÏŸ(eyY+-H³ÿœŠÃÕ¥fE³Rh.ˆ$E_%Íic^xZ4¬ö^I:FÙœâ0¿,g³†t‰VRsK[»Mpm=I“뢅séc'ØíwŠ7,þc$Ö^+ËÒHi‚oõ¶Hv´”dF„k㘚Ë`¯:Y½D#1àH•H$0÷?Æ*l¶ÙvoÂËG`sðèóŽtp>ƒ«™ø {ŒúÐv®³ðâ°°™txÏ÷€•t¢”ÎHCô"a£èe;´E˜iÏPQ)—÷^iv$;}(=¶&šô}¸z|es­êã¹ëHañ«g‰¯ñа7Ø›d•%¡^°m`ÒBþý¥—ó'F ÉïÖÉQÀÁYé} ýæ~e]žU«-G“¶Û–³}5͘fMG¯À¿¦ç½ HØOÈ^Xr”y5f9uˆÇ´®^ 1Ãpr˜s›r²—º-¶X7WGDC¸f¼SÆù¸ÖwËPVH`£™‹)£‹rÚ# ÄÕÄæ´Ì'„C;]Iž\j85Þ/jý0DõÈ­)tÙBðœz07ŸÝZ"xm¸½–EW„ÈÛpñÓrú3Ò)âL* ò]Çv\cÇTø ÔIÐO}¢>`9ôŠ1ºµã”t¹{ªí ÛËõÛL>Fˆ¢Ü·&»¦–1ï'>§Þ¯ þ+ä†E¼»ÝÓL@«ô;4vÍ‹1F1ƇêM½‚X9{ÿYí-4˜²a¼åË,iµ¦FWn1qp9ŽÕ2´-´Ôªæ83û|%4‡iìKÔ÷çöœ?½à7®‘¼}-†ˆØ.L&J7¬LBÛõío0£Õ+DAÅÄah%Õ€g§îH”…“ìsRxQcºðòôo¶éÝ‚|¯ºz¡.7ÑWî_l.”ù“ÕeLîÞx³O»Ø‘ó)a^÷¨aì¥Z|½B¬Æö_Ê7vDáE*ñ_¶iH$ÄòÔ;Ýg\Œ…@Ot0)ß`¾ÔEùçðÙ°œnغýê>œôQ¿†6 ‘ædJµŸˆ¢?>˜;á'¨#Iư¯kñÛ#HÈJRÔPí“Â.Då{¨{Õ%BóôÀÚzébmª@2&é÷bR‹ÔØ•¾M ³µ?WDªÚ¶xl"Íî4é_rcby6:ÁsŸú€T½ÒsÝ­ñ•Ÿ×¼uR¿¨<`DdZ*Ðyª'/y¼‰µü*Óaðú0?ù…›Ëþ£±á»¬Ú .‘Ë™‹jIt2¹íø‡Úé¡´É=k~ÏU¥!`ÒÏÏÈZwßL˜4PÔlÊšaÝÏŽÞŽ¬ÖÙø{„“ŽA]F'€†$O_ÏZC —5ŒZ%d©3É|6y¹¹§•'P&Ü嵈ç³Ýwê?áÌP² –µQà»®Šöì íæa ô­w²¨@R nÕJÜàþâÒ·ñg`#TÕdmŸ“#«hr¥8vV,Yç&%„`º oðRXXa$KÕƒ%à&© ,pIVŸÊñwÿÚ6QJwá\E{•2qfÖûþ§Ôoƒûî3-$öÏúMvdÇ>.Ã}DÄàM|ƒÊ2P;“âkUDD}åû.î¦p%‘d¹ç0—%¥Ã6–-¯õ‡åf:ÞOZeVŒÀFÅÏ¥¢ucè]'%‡´» ýùµKèA àk=òãß“^ý«_¨5 ÖVžÌMÜE'³Gt6ŒôÍ”aòàùÊ/½?Îc˜ßk0‡²£¼g_Dxš;FGnc)ΗÒ6-H-”“¯ª{éôú{ñ_à“”¤å ¹  ܘiÓ.P¾<æmáu¾ýò¸‚œºÂõ*&ú¸{žûª/y盨:bŽÿ+²ÄYðGE{F}{6Ó¨±è±çrC!ó5D ¥(TèðÅHÁ¢ý%‘† %“bN¶XÅ.Q¼‰² Ñõ ø„Oê,dáGOðüÑáÚPÑİÄ0^k¡=‘Ê’ŽÆ¼ç’oI׊—Z¿;œ¿w•N¡·Ê¼1ƒ¨=Ó&e8´·C 0£0¨u±Fºß×4e¸«¨›íºK\òåÝW É@Ìé»…"'*+SíÝË®Šñíè?z¸j Æú¸3:ˆ­.²;PÌ/7rˆ² u` è@&Í4_ùÐ7´ZcRH…¡„Ú²}°ûá|ÅþwFãVJÌÚóSy¢+•Nu22åñÉV€rÓÖ3IÛ€&ÚaµñyœVe˜×ð±‹4(³ pÛ¤(î½ÔÙréÔj¾$»·"P[R²®*EóFôFŸ½ÝGàsÉè,†/øû:Á#ìæ'8€à¬+5IðÐeƒ­ßÝ€Þ ð_9½a”|—\yW•ŽÁyB±¶¥G¯Ha«iÊåŽDª'Õ;M8ú¯i:/ËU~÷|åûL]ÄxβªýZêŽE)g¢Ü4ñEDƒTƒÃàå èéV‰>ÊkV§4þ¾ÝÁU'èÒåUÓª["–!Ë%ÓáÍïBã=Û6«.L?T¦Ë•=e@CïKì.ÌwèF‘Qú¼åPØêL&þW³DȬ‚¡*ã¬ÅÛ0€CCx'§mCÉ"ùò?#À´=¾Õ0†ÿ3Ø*5ÚÇTø”pXÑSû‹°³º\¾®eñ9°.FÂÑ(‡ —Épl+ÎKWRl\B¨&'ò`(§>q껉ÌÒë–¡="­™RÌuB ÂjÈqç|05`VRÛ-m6œi&ö霄‚Mì'ö¥ ÿçœj—ëÌ”gc­„G[üf…xgýE€Ó| Ä93°öàñl#¬WYZ›ÆÂ‹Ñ[^ÆPÂnâÔøoh¾«‰µ Vðö'udàt¶›‡³+Á7R²SQö†aunî7ý¡ÎmÞsΧ&ƒx¹¢¸ð•@Ž£×Fa9î: gsÈ ¥±æ|Át C|@¢çï·;ÊÂ!¨TR?¤0·¤R ÿ;l®!åãÙ£xMv¶²Z8{W‰6÷ÁŠäç’ñ5 }bý6`«Ù•®dÛ qÎSvWG?/O¼‹¸Ým…,ôšMƒçÉ9¨u–8"é*º&Å©c!•ƒæÎäü‘Ò¿¥¶MB|Ƀ1•G ØALNb¸ØçÖ %ß!º™«‚ˆ Õ‹·×òçê~¶ég¸ŽFÆ”ÛÛQÕŽ>$Rþ÷)Î}w§ Õð !á?OþÓ?ø—@x0ѬÀ2I‹Â"¾í³HƒûØ~¸³·%¥¼€T€Nq·Ûø„ˆ¬Æ×¬ŠÆÊó{’`®/˜l<7W{KåZJ \¥Ä=,íÇCÖ¨xï³R¶¿Õ´¹0Ç*ÖaF%ŠŒ{Û"ä¶KDvÇ‹Ü=ÐÝ„\£®Ò¼„½£²Ð¶5Uù€“q ¤JÖ›üêáŠ@±í_gùs¨Ëf2hQ“TÙš¼ó=XÕfßÿôqŒeÜÖXš"­Ÿ¢–2á¿1—.ö!mnY±ðÓ®õèkƒ‹‰;X;1O0gΣy{üX1ôeÝHT4JPJ#Ó²žo~5×´™ðœ›r³jÍ“/û11'>þ!ðj]ðg¼Þ¶Ðš‹õy_ûÁQÇÃܽo¯…1-Åàª3Þü8‚ÁdEø°U‹¡‚BÐLUéÜ-]K—õåß [ÜZÛ^·TUo­òŠ‚B™0+5-õçäª" 7ä„ÉØq-STS³¨ÐʘmÕB¢Tl~ÛÓFµìíQI¯Ì+V  ¡ŒjX<¢%ºÿê%ìíʘQsW€@uTÉ1ó¤Ì~ò9/H ÔD  ê~J}Çu±'ŠÑȃ×\ÀïOÞ48»¬î”‘M‚‰ˆww¶RÓTO4üê¿Gª±~7¯á²ßq&Û\=¤MFalTpcæß%‰T·s¹Ùuõ…jÏN2ÛO‡ö.VÇ»‘ù¯ ¯Ç§Ö†šÕ…U b°@2°·°¶xvÞ î¬öHú 함p%‹u潑z¶Y´pÖ èŒN˜X­|y6¹#¥@¡@D«Ó5G3e1-ÄǦ‹´|K¡0Bƒ´eNëñz@e»Š€Áÿ«¨2~×Ñÿs4Ùô{q C¼…¬ñT¤oŸA/¥`v–‚l ¹[Ré–¼²µLV¬«ˆ2võ“¿u'çÈ·YãþNnŸj¨XÁg^£Âe¶-3`Êq>ƒL‡’œVê\ÊÃÇJÛ¤ÎõÌ <ܺ»)fi’8Ê‘E{½[û\ Soq¶ˆÇÐ+¾h½„ù u²»å½iêsžqsó3ÞlðÚ»BÑ¢"•ËWnA\Uœb}÷YÇ’w®õ—G O:Á±}Ø–¸µQ{ið5!ô(Ê L0º­z‚Ü•Û3æÛY`š²†t…7jЖ•ÿè¨"Ïš¬Xïx3T¬ YÕX×`‡ Ô W â×ý½‰+„‚º9¨Ë|ÐöG%McqeiƒéXp r!öv*žàWóõ=$ÿ…HW˜Ï(pÕ¼“…]ÅÁÒ²hŸþªgôy¬‚½8D桞PÍ+=öZyéJ‘ôâU$D¿>"ÇqBÙ)‹,ึq£R­ñØ¿lAiI¯ÖR²ÖDä~ÿ^ÈS<Ïò0üߌÖ16ôðÏn½#žÀ\¼Uæ¸ÿ}¢„Ó8ŒÌžˆgL‡ÉA쉵+ÛNßþû(±ÂÙ`¯öH?¹¬Ýá –°k D¨KuB² ;Àž_Ï Ú`¬‹ä”3& £ß艹Ž~úä ÖIóÈ—ó§“±>†§†[g6¬°QÜÚr€ 9eqà”Æ»ÏÊ2“c…—@$9Œ§¬Y‹$6“àïïì–ºç»áÊ×TG»fJýkËÝ„Ø (22€ášÉWáÁ ˆ¹Û0–™ —Þ:.ްrÔÙµã†öÿ¦m²\€ˆF­}jt³Ó—뇨ޱvyI.HUïW¬—|S„áÍoÑ–TGà·œÓ+™í䎘lqIcJ“Fï÷úŒÇù\Ê­ÿÚ9hóæó}Αôë_‘·ûzaTõ±XÉß|R•×ôý ÉFÄ¡e‡Ü°Š•Bÿ;4EõR±]U¢çòyyá|ˈl@‰¼ÕÚÞÎqý+-VU—¸bãÓ@Ÿ…Ý=Ì1áX Aös«Ÿzûü%îä!úQ›–éA’i;.Àj¦û¬¸úãrF^K„‰…g15þ8ýŸ5øÔ'w3ÍXüv­1‘£`ü“Û |T1æK3^‡‰(æßO^é2tòÿ^ðØÜ²À_µÀh ˆ«ópm'f½§  ß£ g´u´¬”ÞS7b†#–j¤<‰ž¤ËÄÞAù1QÜçCpÍàS¨îió^hV¬»ì’òŸ.6de&‰²¿8úøILEë„éí¦Û?…°éê¶`бR…ø¢Q=öÇJøéæ=1Ôõ\…ë”Hü˰œ®%è¤ë=á_Ó™"éË„ê/•™ j?³ßE'!·+·©Ö‡ŸhkZÎÃHÄmjùy«ö,­îÊ.ôg<’&c(OõAeΛy4ËüœY©ˆ…{!#å™çšÍQøâ\®0—Bq3@LbòÅ'Ó"µfžo\Æâç`A„kûÔIG+˜«É)”à ™¯ìþÉù¹Ø_…ûJä⨮ÔyŸ.³‹\QÙÓÍ?b„áF{vîñüÁÄÆÑuºþ߸hKKöxŒLùàè ù3#9ðñ žqløé°[gcô=bbÙžR\Z›[Ú‹›˜XÈ}ä +h¾#ºŽÿhGM[ó–˜·ý£ÓކNŠàŒ!rrRÊ¡|ÃL« %ÍèÙ˜¢›°hI.{(¦õ†Äo¸Mú»Ô<  H$aU2ubÒaU;o`ˆ¡×&·ôÊ ‘:ˆ¨¯‚Ë_­<1ÚòUE"!uæäD³&DÞÀèÙÞ“‡,¹ã%&Ï;ª,ðñÐc®¹"T7\ÒéWÛs@~¿GŒ÷|žìÝ »vû°PóÓ5v+…ú± jÏG¬0"ëÒ’UŽksÈ«Z5 !¨è"¿ªGþ¯^ØR¢,ø5Œ5¦ÔYôÔì•x;UÌñº œ€“qó—ZOºÚ–Åi± õ¡Ä^x®©žÍéD;NEæ=.ô.ßâ @ÄqôÖÓ-׌¬Vϳ ]à–åPH¿?â´f çÞJ ífOèM‰ôªù Ž„„AçÝçfkmónB¨ ùòfZçO~_áÙ‚Ë Qž“ _GG¤³³ØÔ™ß¶ò”)N¹R“0Ó ÜßÝzµZ«Àž=jÙbœ+âÚJWë­f“ÇàB/2—ÜŸšóš"Ì¥da}Ð" )[zÑËèa¹J™õšÔè‘hÿšè{N˜Y5CƒÐ1ü=EŠ;ºŠ5Ù”Ï}pÄ\x£I$£“nÈdóÙ\7gã@ñx¾9žËµ,èéSSÞ‹a³nªòÜt”z¡€>i²„~8Za ö_g s® *}º:‘õRh¿%+$¿{Y pÄÚâ—PÅúO ›È68÷‡ìqÚ‹oD÷]ÄeM"‘…jžŠ¸fb–¿¹F~ñÂsÃ÷~Ô´…V¿Ð´_Hª²E {œ~?Œ©xhOÏ–÷ ¨JÓ,,†‹–…b[  KY¹F„Ë™Vä}LyáÅp»ê ðÙ ÿ£›¨"Í8Z*¿SCíÜ3¦”ÏìÒzpDa¹NÌNVïZ†²„Õ‹lQz:’¾Z¥©&&ë§ÿÞŽO°S¾ð69Ì.Gs¶ OÑ,Ý:¿›ëæ³ØTÔ¯@W‹%ìš}½#BU"çÓ\áø=«œm¶ßÓ“½J>ÉzCžÂ}  W¼x.°öî€B[K0ÚÇIEká býºLÆÄ»-ùl•èO­þ5vÔÓ*x¼nkà>çKZÒˆÖx×[¼L<_·Hm b n-­GÈSêìœáNwŽ…Ê’?«;Åo‹›-QúoTV\tË·•¡Çñ¾¨âVè,Bp†·ƒ/•ž-†Ý0pOŠ´„ &·8<[\U)¼ÑJT+‚l&%x("ôp‘-R -œŒh:ñ®*Ï5ŒI@=,²;—2«Žø'ÎÄX ² ƒcÍfn«"ýçŒ\ä«L•¹ÈPq{íâ©ÇìúÁ²"X –s3õh¬²ÏM;¿Ëâ uø‡œþœWƒ@(PÎìø×Gj°ÿ6àø&úÎX¿~Ù¢Jœë¹õƒ‘ïmLOæ-"DžîÍ]úâ´ž‹Ð„Á¸–žûQ_øRPÏ:°¹¤d¯rœ‚镵ÙWÀPÁâ 0ÍW\ãàAM·åŸ¢DvŸ^&$Õ“ÑÞOR!ðsõЃ!©M©¤_ íkF˜‹¹l5éE°BÔ‡å ‹Íçïhoñ]\,žÇâŸîÆâŸ­“áÜÔÁ@±y ¯>DÎïïœYG# ²Ê]žÒk«{Í£s&’Â^DA!&aS‚®ûùÛcè%¬ÛÒ8ˆ»£aÉ„]è‰ø_%öõ÷¥Xý&úM‚ˉnǘ¶Y’2P”xéɦ­ªñÀÿ"Œ_‚@´¶3§fÑcV5ÁPÿBa“!þþX*pè K-§Ë‘«$“£‘ÝŽÛg -iË«s£PqÒ¼8Ë±Ô ¶b¸ æHLh6‡døG5Öç>ö¶ãˆ>¯ÅI‡D‡†· KOÙ½4ë¿[Ï ý{´ŸàlE~%›0‰¿ü'º Â6Œ „¸m1ëCO'¦ÍS!#þµÕÂç;â켸¡,K绣;™eÞ·J8D¤á&bð¤y¢Ä€bäâøàŠDE7-»B¾a:V&88o«ZÄ(«EîÌ»¼®ñQÃvf#ï•–°õÆ›Ôf0„÷Öé„KXëEê—fm' }i•®·…)V4LîÓYÜf>¹B÷ õ†Z`Ç)ÛÒ¹w¯ª,%i'C%CÖÚ˜]Å<‚Ó9rSTây+¼ •dˆŸ´I¨“™ïLJ ÝŠ¿*dµWëíÙpň[U®½L(ñû+³qõÊ%ÀEPͽ ßTçâ[a`F‡M+¤s¹Sü‘Xóâ÷ cÃÕ&ÌM>í5c»3ª"Q%zm†-§´ óœë븕5èÛn²÷‹(WSûìŸdÆÔaµ^¤Æ#Nupšé ÿJø\Ƥ³Ö¥"ÙS—ô4Ët< §66ˆxã…³›BWœuîˆRdò@_PUhf$+ÈrîJŽÈ K˵-í:ëc•wTtÛ§@¬±(. k´mfªŸ')r¦LM‡÷}-Ÿ§YOK”Oj]Yàv˜]¹J†ò?ÉK2€!¶ ÜjlsU^¨c–Md‡ú*Éên2 ^}Ó ¦‰úS´d‚ˆ‘B¹Ïh%!?a0f…ªÇ²¼e{±Bõò¨…ó^j¯ÛÇ»<ÌÇT¢²:p:#ýéÇû…§×4FwÁ5´ûÕ‹MPˆßÊÌ=8·ÜÐE,håF 5ɦ”ä‘NQ^ÎVR¼´Õöœ<QZ˜¼Òb5 eÍðòŽàÉDÓ¯b5Ì8½ªÍ¶ò²È3íáVåE±æoXƒÄƒ¿ö;š&2ŸQíïû}!Î{ã’])`É*öÕ{æ%\£°¨_y þú+’}u°Â 9&ð˜<@ˆM®vÔ +­¢¥$ÞÌq0íëÌ2=%š³) ¯þïâú¨§aífËOƒÉžJÔêè3¹úmJ+™Æcµ¶¬˜>b-8Ù¬w˜f¬¥¢XBb•aË:CR7 Þ;QìŇÜÃ÷Þê†>ê"8Å!ò7eO†à tmF™\…íSdÚtF"ìÓY{ \h‹šÂ”`¥7À#Æ`JÆ3­@TdeVœR"†ÚÓÝÚ€i]!$Ó]òÛ¿„EÑ Z^DYÓ ï¦R¨~“¯Ug O_íÏè“tFÓìÐÏ= '™Œn¢5p¬¶øÐ¿üÅ¥hŠ(».›@Ü þó rý­ZÜw2~¸]%¸^Çß²aÊÓ«Ÿýï¼)²î±-»ÃE­ŒíÙ L ³éúõª±VMòÁ68–ßÔ@­Ín² ƒ:Ii¼ÐIàüH1)êì‹bæ¾ä !.õPM,wòÞé-µ,$ºFO¦Ên»é¿&Ó)"¢a|Îe¾-ô$µ¯jyqë_˜è³$¤Œ3ó r»s¼cér{‡/¶NŸØ%Æð¿ŒB}eñ‘ürÚÅ©N_-Šñ%.&GˆðÿBÏÚˆÎèÏ«­Ö‹±É—Ní¥}—JÃÿˇxú¯Uà‡QRË U —KmÕ6si¡«ÃÆ&…fI½khɈTµK6õƒ‡Z¿ôcël¢—b 2,Õôó⩽hûvY6öxPï}´ÂS™)Áͨ]Ò—¾,4g‚ÝM®p/s‘„­³¸—Çꃬ€Ï]YZ ¡¾×iÖýÔ⽫›,›™©K¡€[yyâc™,Ó#/&öVCëÖ} ©««C@S‚§>-:‹ì!7ÃæŽ±Á”ÿƒµÑ ”)Øü-ï°‚ìåQÔ~-Ùóå£Ù‘¦¿ò=`;ëWŒ{ü_™«ì&uTÑ.>³6gd¸òïÈü„;ªÿIì.]õ=•gb»%kLî>¡HXyRÜ‹õ‚½ä5Àœf2“ÓpX×0 íŠ0åä[–t7o™Ld¥P¾¦ ÑP8çbð–ʆÌYB(Ó5ÿÝϰHù<óP…3oŹÔ9ð„9ÏßéI<äoH š{WWb%žÒ~ˆâ}tŽ2ba]¦Z!Ù÷óœÖ7T›­œÙB7lätªÎõ¡é¶ÕâMw@.b÷®IƒÎ:4%”t£grÖhŒ²Ïo"éø(ÿ¾Š-E/ëóÿÁA’ec;±l1#5‘aNÔ);?â3ZÆPˆX®v{P /ƒëZ®ð»Y*K.mÞ¶wsCI.K6„Vhcøm $î$ß‚Š²Ð›aÒÅÀ=a4¿€A©©ƒÿ5ö¡uù‹6', ø¥F"[Æ2BÂéËøw b<÷äóH©˜lÞ†^„eÛ×:º£œ^å]c›–D܃«ëX¿nÎÎÈ…ßD˜]s=¤ù›W.<Ž—B‰’ö§œ»‚År©CݘªÓ‹©OØcó‚âÒUnÄlè¡>W¶zJO`í-—ßãmùŽm œój~µVvÈŸ‚s(å}à;ð Ãï#Ù:w“˜Yn·œ‰ :€©¶írÂtblþÞÔ¡Œ7סªÅt3`MâMGÁþóÝ(;AË D±ö!çäòð‹`SS±OKm[Cˆå³*í< ‘ÂD:gûÆbu—„]¶¼‡TVÝØ‹á ¯÷¨Q½µ€'Ð}{6ÃÁ±³ÏÏ·Ú‚ÈtnþhôW3°R"@þsxˆ{ Ä@õcqÖwkæ9Îd-ÚÛߌ|E+©ëuÕŸÀQ˜3[¥UÌñ'm3ßÃSœ˜hC‚û&ekx5,õŸVÂ*³ÉÔ^ Ôët\„ÇÞÄSCQvΧîÅívÓägý]²õ°s‹}F3õRal®G;Ctñ¢·Ûl‘\¹*BJú2~A5ȉἤHâu˜zÏRXe“—Ï(Lô¤hYLB¹áÙ뻌FÁ½ˬN\Ÿ]à_ä‡ÙÛÛÈ÷í˜é‡T³Böù69[‰%ºCI€$ÀGƒ¢ÏôRÊ–'BÛ0/öµÂ»¬gïCÛäñ{ ŸŸâ7êK†U^~’ÓHE×HpócºVl™èÆ 7ýAÀåø¾¤¼£Iô‡ºmCËrFVsCŸ¦ó¼¼ó(ºRcÇÐHŸžÂJ†#2-¼åyª~ERZS<šK&{]ƒ=¹ßÕ¸‹`ð†ÁÈ…÷wý€¡îÄvgYÿí¨ß:ØI2:_:½!ÉX#zxŽÏû¬lþ€çÙSÄK@¾Úð,ΫҘûÑíõbŽÍyІzÿtº&®¸ZK¿çoZWïetçsÉpT'®N,Hh~&4G>ºaߢÎjZºØ‘`,}Ì[£e*D*pÙÝ@׌<•Îô¸(v6ïü]È+zC}ÕE}2­¼œ [ÃgÓoW¨°—’5–SÿÜૃ×F¨8k‰Õî+%¿MÖºñòñK‰$EJñ.}ò]™ÄCåävׯ‰ß“?ý5».Ù+Ñ4О¶aÚ¹@+ „ŸÊÆ¿né+ bå3ýµ_“ÄôïÚ]cœ´¡Ûw•˜¨®|%w±C#ª`Î9×΃*¯Ò" Þòo¼P̸|‰©§ !“£Ìn±&z °»_XDš˜®>&¯ôgwRôú¸£º>3P,› ~´àæÎå(‚]DhIa²}2ó˜XÃWëó3ý"Jö›úéUÒH,«šL>感ugá­Ê§`úSoÛ÷  ßp($_d%„„Á‚y01ÂYžž¼òò'óûŠY"V¼GbÒL×™G+6NÁ.òh”ŽÊ[ý®ËªV‡ÈTcB04J5qx+Ò¡•š°•t80æ· e|ìóÃ_tÑýôÉ Þ¥ésh(üç°t#ÑïÊ}ñÏœo9ñ¹|\Å"dxÞ¬Í|!å†žÛØ°8nFL“ÿyX·¹ìtWŽí‡(Õ),’3ç.„v¤ïž ²…¥M@-@Á4<ÇXbៀ¿ü\·§œTƒˆhþÌ&çp"¢š®kpÍþÁ£sa;|2F®—DýÛ“?5âǹ ¡· `ÖeîB‰ˆu»äñm£•®Kîb.˜[tv_¨* â“Ä{ÜšÝ ¯p Q|™h<ÊAã:œ qd´Új¨Ê“®Ô€ü ¢{ĸ;uо%ÿµQ"+¡`•Ïï_¤Ã¢e™‚ðÎ!¡67„‰ý1S&ÁÝεÍÝB€"wã_ù9ú‚ ió1}‚ޏáyÉ©gán–GîoDËÕ÷2ÉŠUIfþoÙ ?éÞe™”9´¢!/3Ö(nô|¦Ñ´7A5êdMO¿P¬ZE ?¾6'œ–•¼Œøxk%åk~o¸ ÓmÇ]Ø,ý{è'å“|wçõNÚÙ˜í»i¬¨Óu6îÌn%ÜŠõ“,£GFÐ5 |×v”©ï:•½Æ øoc€(uDɤWj 4ÊÚp M:qÞÛ|rÚ×g"þô®Ú¹³=PB ô¸@¦C‡äX+‘ À$û5n¯ñÒ¿°ïì!c¥TïUB‡¥ÎÀªXtÛAYËk6*Ê™¦{íÆ‚-7GNŠÌIøÄ©Jèø,äJyWPHç¹iáÌŠé¹qêjj|´'rYW?¶=Ñwæ˜IÓþïSvNŸ¼’ fÖ[¤,#ÂFŒÍg_·)åUÁçqkãÅÜÚç·ÃºœU5Ì ¥ÊÔjKêwÕ5eµ¡×Ãe£YJnwG'‘á(2·mŒcþz¸ÔÚļÖ4×~-8î·Ñà ‘iºm*;88î\<åŒë(Fs¤QDäF‚Ð „m×fú-M@ 9°Uœ°r{öÔF+Nœo%ÝžàâóHƒubkG¶PEy[ªe½mª Šìû ÷¶sE„º¼ÓjA—Æ«_®0‹Ê|ö‰š L€«ô4ý–î‰1ÞÒTæ ‚´ìŒ7H¨™Çȧ”Ê'¬)™†÷”\vzR9ë§#Ïã…N…|4±IÏ_hœÈ-T±­Aìjô ¡ 3Sx™ÙÑÔ²fw]€+)©IÏm‰Q/Ú>Dz†cÀ[¼Ê˜Ä ü£ü6o2RÜk=Т¨o*¤n°am!J¢§ _ûì$øÖÅ ;úø£%òS$r©ƒYm -Ô %QMžn¾"šN÷&)€ 9PAÔÁ8q“é»߇ gÌN̘sÔoù|8²Ùy6ä:KAC³eêéòÖýÖq2óì0žr6?¤Šz®t!móþ5’êŠ/X4~Ù¿ÉVíÛ£E÷zOŠên® WJa1£¥õÚr`)žQ…ú›ƒžÌüЄ§éŠNnM dW´æô•ºôbu¨­‚»ã¢MÈ5͸'|ìü݃ò­.pâÊÆºŽ½rìd/A¡@ƒoÅ"×a³ÛkÈW‚¤†#vˆÐÙ=¸¯1_ïÃ9ô{°úßKdòÈT?Y>«žT#u#Op¯{Jú€»eøœõ®a[ƒl’0̰háUÍuÊcà.{&êL‰SÄvð/¯WpÀÛüø Š\‘âf?r†>}‘¢!%h“õòHŽyò-JF]Ú¼½â‡„<ˆþ™Ò°Þ¨z­ÛröW%ÊႯ–ò$Ò“â|Xé1ðCö¨"€½ø ˜ˆR–jè„„Zem‡ì›ƒQÇwŒó/øttˆÂ‰]ˆ­AtÉT¯ÈÅ~!kQ‡É纕Î;ÍŠþÌ‹I/^“ò=GÀî–Bw2Ò}% Þø¾CŽúXº&Ã:¼‡œ¯jMÄÄõÌÖzùõkc­È’Ä»8ƒ_’ý(‹dvã9²¡$À_x©2I¬ÿ%Ý]õðô@GY8ª}ŽÉ0a.T´ö£Á;’*dN›V)ƒÚ[Tòq·¯[؃k²%õ”IrÕ;ˆìÒ†^B&®h|³&^©‘uqvýK¡ºtìãf-ż© ÛHžQ5Ô}Þuư?EØã ³ÖO6öñ¼sñ‚øÉSù²xêÃï»ý Ø MfÖða u )à ·‚9.YòÕð,¢CˆXÆ9zIÎÃúÐ/˜ûÐ,} ÉÐ×ô,!£X¿± Ë Õß«SÄöÕ¹˜S7&3x»¸ú'cÏiWÖd äÊIĺ¢Ðl/& †7ÕÜ(6sÛÿýYäm‡Qú¸þÝ%’Îåç²5ß|‚P ”ö‚±?°<j ”’H‘¶•YïD¾ÖŽÙ@ŸÎzÍ·÷”Wó þŽÒ ‚2GŒºb«%…Æs#kÝ+U(9ÃMùÆ·Økt´PFD½vÐÅÎ$"1ÚǨ²-”B¾¯Z+€h®4ɤ¸1ø8ïoLR 9 !v˜áF ØuøîvHœR [üûˆ sô/ÂvžõÖuhSs(gæ£I#S}àð/€Û%64ÏGîPÁxˆ¢ï€“Çg)Ø.ìT_–Ñ¡¢‡ afXË5¦ÆÙôfÙós×;îL¬]*8®­=í½ŸÁ,Ë”˜yP#–§‹lì®n*s—Ï`ƒÝ ú`~ÈÏÙÙ½y´A6à?¦½ý6†b#©ûa3yånS+îĎ˯I²ož^—"•oéerIÃN¡þR!¸ë™í žÄ™Ìm.‚æǵÌÓÕ³à‡¬‹ 5@±çv³lHíþ•“ѦŠ@UpûÉ”"ßLTáu²œ’xJ¿ž†ƒ+y”‚6D*»ÖfÓÆŸŠ9·÷%ˆŒÐx£W™v…T¬¯"ºCdmŽgYÄcÌQ¯5kÈà×T‰%m¤{;a3W<–Ŷ]îbU™2¦öZ§5>å^7§tÕXIþVø¥Ñ4y£ÆºŠÕK`a&Í/ÅyiêôFǽx'§'k€*IÊí¤ÐïkgLΖ"Þ}ÿtDÛÚîÄU_E6IŠÑ‘@õ©öçqèaïÉoDæGßõðêwA*ìÏ6‹® ’G{·ù8XMSöÓ+؃¹0ªE±¯V-¯®ŸIÜÑvk¯­ü³;sê˜^´°mvª£,'¡/ú¦Z øo;hÚ²Fæ³[r¯òÐw™·UBnQS…ØŸ7 Â‡«¾gþ!1q­Û¤NaŽ„…ŸŸ Ð9ð«w⋊iy“ ÖC‚ª£Ü‚R¯ª¸UI ÑêbpŠ@L:T>ÙÆÏø§F¶ÿºŸÿda&gKXîëFåN‡Ú€™%4hVÐSÇõLú‘E‚ÐÒ!SkÞY–|ÿ1v½éŸ9g›Xbc$Hu‡0 ¨4¨3Âul¹H6e’v ÜuP^s¥+S×Ö Wßì¬^ÕFBêýÎ T#˜ öð\Øn½f„×:+›&’wܳ™—4ýË,<ÛB¼@3þLt"ÀqÌ?ºXxt.»õq-Míõºª%†)àÇ\Áñ.òø¬ˆ @Ìí«ÛØ¥:½I¦Ó×!²Öðìv™”¡i"[Jí.3—Ç1²˜l²|þÐU Š®_A¯—zSVe¥8½vG——Ò®}/S³\αŒè*›æ(üR‰\ üÔü[8Gäu—;8Ö{jM Ï¢oHŠw•fßœyyH¤8¡C0õàÔ°‰Nãg5­ 8*„[îɱ©®³ÈFªlIÊþÙ™ûöÎïô–`~‰úz±B½¥äÝvÊÖ”¾Þô˜R‹©˜áðÙ¸(”¶%ôÇÆPOúç‘Uz"” …•¿à7DæÎk#,ØpùQ¥5Ôö]]?!ÁǃJJ2½Ð0ú»ö:o24Ž8`/ aSæÙûH}ªóÍ.®Ï­ïjC`†ªQi_dë¿TS7A›ÁåìÃ)´M`Â# !\®õ¶ºuý«²óÁíc<ó…e¥ÜÄp·¹€5’bQÓÚ© Úùø*àä¥Ö9õ1)ÂþÑè_z¯:–‡©!áF¼¤5r˜Ì½óóËcêIgíàŒ¨[€ú“Îl=~žDª`’»!»7ft)Ö»"j¾ï÷s:d ‹d®:·„Ÿõ÷;C‚)QЋ–)ÙôH_¬42aÞZ΂–]Û™E¢è>ø¶gy'§ªµ%‡šX×ø@®j¹¨©Éiœ}jwüˆV˜êc«Â˜$¥Sê yxT~æT䦜o?C*lðOÒ{/i¤Ô<‰Â;Άf “{wç5¾l«&¤.dcRúòÛµ:µ§ºÀ(4 ?k·4•%˜iJÍzäÌí¶‡Îß&¾ûFlEw°…YÆ (¬?FDÓ¥›t¬žý?Òœµ&OÉöô¥GMJ€å®2ÚY§l jL)›ñ÷™jÂôe, ©×ø?¢IhW>»LSÃu²~i›ä›¬Ü(s€Ÿò0Ù&LÄ †½ö®”»±ÂR¾Vèµüè7À×­–æ à NÙ6ôå©óÎÒíÄ‚øP+^÷7^y¿ó;üO™t8>u±8‘†xŽó+Ç¢Íî÷b‰ë¦—K¯]¡·Ð´AûS?ÈÒñNÏJŒ¤—Î[>–7ÿ<µ÷Öp^ÙX©Fn„!­Ô¹¤_¦˜±‹ÛÓmÅThOÐ \?¾¬¾•€sû(FŠ7Öd ûÎÈËâš|ÆÆˆQ8‡Vޱ:çÛYK9‰€á™{ñ¢ObYgMK¤AY\lþYDÒãŸ*ïİDž õ câv˜ÁAA”“a‡Ÿº_8K÷5y2•~«³JçÒX%a7ã”p'•XÄ0ðZNÅÝ7iï›”Á]™Ò†…#D'|ÝG6*O4š‘¯nYßi°€©ß‘á$Ù›´%qýG¾dÁuä©ÿOù{Uˆy10Ù±§VÏMO7’ŠõÃÉÈÓùÐ{€á*„‡Þ|ý~gøQ­ã*E¹k]%9‘p]ðbl"<ŸÄó«<›×cûàT³¬éØHÄ5U•Sw/­¾t|š¯Âdåf¢\&Yxø¼ÑLÎîjûÉævã †ÝÞ5ðûýÈŸ6Iç‘5¸}Ó† ™Ø»jž£¦‡‚ì/ß1È?dâôšRâ¹9Œ¢@0Lð¸C¿¨¢Ó^òÉh8cMì¨ÊGIo„æ»kø¤v‡à ÕY裈€^«f ZÄìŠnÓ4h&Õ ÷#¸|m5»—lñƒlRK+(HŒu2ªÃë*Ó¼ â^ë•IÛ3ŸÚÒ ö ˆ)Üö¸b‡¬ï8p¤ÛÞ}ãŸ%b°žpðAu {Ÿ:ëøcêr12æ(q¢»FH^u}²Dó„¹ÍœÙ¿€Ÿ3&ä5§Ù…óð‚ 7êVöJJ¯Ç-Ø+”ªø”(¯ÂR›ñÙ²?Ž[éöM\Ç¡ì%êÍÈRʪ,;S;Y3'®¼*â­ŒH ¸`Fã6 ­€óR$sèW­o¢Æ WéÉÔEBaßü}ó®up­hJS‡¦«ð_©f,£ÞŸWæDäöž¶ª5ÂV± öyOFµNѾôãªË¸ŠÎ#ŒÃu–CM¤¬Yrb;g÷ž“Ž ÔÇ:x¡…íäâ ”õù‰e¨¡‚KM¤f©KèD$«»½9}Sy™k²Wêy/MŽ‘Âøu¨œF`fßìÓYššm9\’)¶Û-´èOOôÚÙûˆ1W.7r¿‹ª]x!ÿ NÔ@tIj™ctPdЍŸTëÀI¡j…íiÜ8ç8„*ìýqÓÞLå£åˆößâõ$‰;ñˆ¢>¹•Càö­bñÙ ¶îØ}Õ×/¨x¸ëÅ)Îôk ãšm%Üñ3Bš“–8©™ÓMØŸ4®;¾¡¹%8]^1~…–%’*80=vŽ;‘º&n?~à—KÒˆUç‰AKÊyOF5ÀŸhlYÊ¢¹x_ko’v%ù.Q&P‹vB—zAG‹–ªÚêĦì¾ò½?º±X¨)ÒY”Wì¯#Á‡¹ÔÚüUµ·‡ûÿEå3GØ*¬PPG»c`×÷ý ÓÝ0MáÅÕ&™Nú!¼Um3ㄨ ÓuŸÖ8ðÍÁ=+'Öð$ù‡âL˜t×J{&8¬ïxR}ЂrCœ½‘Uópû‹eßhñ!o4¶0ÍN¨åŽÚèû¶×Äœ‰m·bjÖlƒ‘æÒ˜‰0õÜ®ºŒ³òøF|cFí óQ(ÿø!1¨Á¨bT¸‹µ+Õœ ûÎÅàƒs¢ã&G`™òУaÞ¿ ¢žžä·Ê€“ŸAé‘‹]gKZ¡ùéõG·Èæ˜tÖ¹(ÆÅf‰D šWB®âLäyÎjtÜ'ÙF(éRí¤ñ©¼¤é«Õ¬}T ˶ ãjïlloãÀ¯•Ù\°hßIeuHLÿʪөé~^íì^žà§O±§vÑJ¹N.›ŸnmòN'¾–áAc‚Ox襹žƒõ C"9å‚d52éÜf˜ÉPͼ@˜s(£bîbdÆh¬æuf¦%P¬’Ü[FjšŸ»½Dw°÷ê~!a凇*{W(´Xañâ¶R°..}­VàT×¾æ<© ŠÊ¢³`òñ‡^ä¿8 ð¶•¦ðÌ&Žªƒ¢eGš@òÁq643HÕë-µ{µÿÉ›íƒìü!žbiõÏ3ÔÍú Ótè-œŸVç‘.LaÖà”žrk „ÄÍ$#)´ûbë"¸|ŒÆcžÆž#MÚâí´FÑ{ÒçF†Wþ»’¦•>œ"OexÙyøkwѽY±kH±C ÇÝè/Ÿ; MÌÙ]÷û 2O<ܘ7íœ÷ ý‡FÉoÁë!d$S$^vX0û]ùèøÞJ”À½¸Jé|»i‹8“Ž¿¹‘†´E#á(~uÿå7fç•Þ}ˆÀj­ÿ&užâ÷Dù%<+,µ ØI‹g4¦ AÒ"K±.äP5¤ùªæÖÐxrÜ /—‡ÊC”ìÌó Kèšá†Oö’~”‰9—®²®'ó¡&Í |‡v(ýA>êi±€%±\TnEÔNw©vèìX ¦ÁEj¹à0£2ž§pº6l`],ÕØL®Hâo B`Hæhvp÷"XTi¨_½óÔºdÚ"Ò,¼GxÐl;Ž”ˆt,®vâ±owoG\W!eMöꊶlò€ÁÒ9ÝWÖ+{.EK š¡²ŒÀR†ÇÜ2›xÅÌFÎ *Ý"ùïj"¾ÿd¯yòFq´9¸Ë(£ V§ãÁúr‰Ák†J­J*‘ÑÔ„§ÿv¤Ö“ë O/í{“@º•çcý®î#×à´HŒ±Mr¾*SšÈí>ÌßÊ©ØG BW<ÊMÁp½³9nÄyì ·,`®cˆLy»Hs†úÖ'ÞÂãIÐéEŒÜx>˜7$Bi%”‚Býêè°]ÿy´™Ô7(1Ð/™*ŒJ†£Qb·ê#Ä›·ênvâTYuNýK’¹RïW,âÚ®±Ã'y‡ÖƒU r)ŽªÕòØ  Ùßö"#Ÿ¯˜Þ‡gÌ‘^yMùŠ_4&hÚ—(ëiÇ•©KâS¢”ȃâjÙô,Ng—úRŠQØ<\3ĺãao·&&À íÅk2YsñC®Ž/|n3³—"ƒ¿âÊÛþO»rÂÇ2 Tjjhó.¢·Ê3$[d'­µ•!<ö¸è?"¥IµÝU:—°D2à9$T(>£0“¬¹lãñQs¾&§•”àç“Ý¥qó”6‚0$EÙS‹„(GŸò ’õ#VóÛ(Ïtí.p 1îØp¾¢ÈƒQ6}Ç&YÑ›'%œA ÷ !}Ïu4ɯµ*ÔR‡G4ú†,Çж ¾vÆV ê냅JbmF~lT)J[‡çD¡9 “21"î›ѲürN …ä±¢³i¸úDb$Ø·Ù'À›ÞVðÈF¶3î­œ¹¢¡]Gþƒž½fKìèµìFof™Ç]Ô_â ˜A¬‡ ûãŠ6®;œZß®HÞ5.7¡=3Ùq…Òû- „É3é8´†š* øTj5Åü$—X xzÐ2IÙ‹kÓL¦á”³ÊâRÂ[m¢$Y&L¸þ°sÕYùÎ3Æ<ý‘Ž•\ÕdÙ)B„í*±Ë ½¼Ü_Nèm}Ëu[ø—†|jµQ8Â=²ç<´îÎùˆÚï‡%6õË´‰—p»Z:U$eÒÅ Ÿ.,‚PG€'ðmfiwݶZb‘®O-„ÌT„[¾¥à žx}D‹j-Õ½ìðÜÛæ!¦ e×}æ®°™h×Ãyà¤<ÙäìҢ¤Ôô]W©+ïãŒí÷ø§Þ’Ë¡€™2A±¦køRJÁ^uœ–ÁŒMV¶¦^¨Ú—&Doš>ö¯¸¯ÞY=òÑ¡*ÂÕžgô÷îZö½úÀ•÷Ãä%¦œü°é‡£%Úl*)Kro­¶ãð}ð[ÊD¼…¯YÒ»r‰é))à^Ð z¼]‘wUkïçsÏó¡KæDâìèq¸ØBJiDI ´ž¥J¬Z <ÿžc¯é·Í_Ï(>l"ÎV©d‡ ôÊ©˜ó4ε„â !ê6ÇXÖ¨×CÃàj$3ßx`2ƒnÒÔ‘÷Ÿ„’Þ4+˨ÈÚ€tZ×.’­äì{$\enX<—©kÕ³PßÊ|Ã÷JÐßÂߌ¢ô7¾`Ôq&/JñÍÂ'O2¯A™¾mñhwqbv€š>€ #èÿ„J`F3r~ήڪ­3!{+ÁÉQdIó–Å`vÑbPégTO˜USõ JÅõ¹óô– Qzé6Ó„¹Gz¯9Øðìš‹yÃ[u­Q/\{ï[5bl„‰ŠÜvꫨ¤©ïì³Q³ë­+-±µb:Á¹ŒëŒ¶qZ WL,óäµ*-ø(óÊ.¦‘âbÛù¬“5,À‹**çw"ñ]w èU¨Ö¹&¹=aÙ\ª˜¬$uU*•7„[Ÿª‚®K1R­)Êæ;mzŸÌÐéôâ³Éܼ—Îo?ä—Y¯†Ñ ²Æëµ±“ŠE¥â.ÙUò‘‰6ÆÞéSÎ`3Íî™DsÕRy_à ¯>ž 5F8NÐ=àmÊ©§En7»éƒw©»ŸŒNãÞª’noÞ¸ò¶àé—•Áá„è{¸F­¯âTI ÛY1¦?¼ëÐ1í¦d]ûŸÄÐ¥¯ aâü‹)ˆ8°Õ~Ÿˆ;­Œñä»9³R´~¯÷µ{|?&LÍB¯C£ØPÔ3‚é{\ÑSà,‰A‘I~ h ²wßFìØuñ4Î^2H»ŸÜo@šJ~¹¼òö;”±†µº8¨°¥Þ­Ò[ŠiÕÒ™Š>gJ+¦1TÅ>#à†¤RÄ”KÚCßÁۘƉ3¢f®ª¢ÿo.Ÿ1—ä¿3p:l¸íY¬"³Ä0hôh;zn³ÂN;@G|vÆ`·àJ^÷ŒJ…¹]çEn+·ûì þ›pŽØ]÷1…ŠÕâL¥'^ÏrßK–¶eÚO ¨– ¼Â÷ã#-µïx¥ ØÐÂD{6#@¢ÍÖzš:g4Ì®"®Å0ƒ¡ˆƒñÅ u‚!²”û¶¬d7s)Κ"ŸTsÊd:pÉÅ {ÖAS‡ žalz>ŽPtCØÑŒF6?<žoÝ4¤«––Ú©˜D2C:¾óàßmPñÜö4,ˆäÇ\%ô“5[7,ö'²)9£?q•ù?D`}™êH.âŸá$@–›ïyŒë1fi‚šÖÛúƒçó2ÉУAò?ìò’H —r壉 v»Rk,ù*9HÏmû¶Âí)t_ã`5Áoô¡ýNv…õ¥ì™* ¸‘÷$‘@I±ˆÃÇ-[Â)ø2-/£ÏŠ@‘ÛÀÈ>…ÈèÕß_߬¶ ç :žé¼ŠœŒ*Mm÷dd i¿UbæJnJÈOfî%`\BüÎrŽ"¥E KÕ ¥‚L¬8îB'y­Üil³ÇÌPŒZJ} Ó{GŒrðOÔòÉnª×*>µNJ-m¥óM¶p±c,ïœP|+ÅzÀàœëÙ›ùŽäÜŸOÆŽ¬À%9Ë3º6¾9c›¬†)È)Þ†I;¹ ˜¿¡ßÒh§•=Y(q`¦>DŒùYÆñð1H2p„Úr²¼˜ú>ÁÅ"à8%š:p™Çp,©«] MCñ†ÌgåÃÕ¢'„­ö¡ºj²¾9vê™Ì>ëY —zd« _}kå†eÛ¾o¡ß«Q麆SÇ©ÌjfÓÔïdÆy‘ãižÇ¨×Ôl—¸ÌÚ3yþçJ š@Hã$CÚUÉ”²ÿüÉ m"f„pZÕÓŒ¼½±Ý]*î-.£°ÇªNŒiýRPÁ’ŒmLE³C_ÑÂßH :Ÿô±g0HŒsŠ­|ÈMÒ?œWµÇ3a•Ø ë±I)©û=­w9Oì©6}éÁ˜EÛ€]cÞî¹æ8@°ÙÚ„ËxmÂ@NŸ ÜàŒ…™xvY©‚ðÇ6B_{·© qNý^ùʸ—å†D›b¬íÃ6£…]²Ä¼pÍÅñªv/¥ÿ`„¤D§®57ÊeFÆz¯6a$¶GO!ž)ªóüݬ7ôM<Š÷})‡Lf…@ƒ™†ÍFxq~r”°9hŒV¤^vžºRNn8îxòÉ_Ÿ¬¯§Uõ‚±îŽ×ËX#eNç¾u#êb¹³}:÷kJ}Îýd‹ØöÒE©Qõ§˜Ú¾0 lW)ÓMÉèC•=ò (ä ƒ ––Ë~hUžXF‡ýÞ…Š9ë81½ìebÝ€ßS‚Öå{ç]NR±`†¤aV[TˆE.Jåù¿*&Ó8ÜJ³öÜ·›<“3ѱÞ_…Ö×íýøÃÞˆXÞ|*¯ÒdóE#ñWêI†Þ¢K°7ÃB°–H.‚úrý˜js}»;‰³”G¦Dœ!ü¡e«ÉÚnR +L”ÁE<¹‚[©"8pI–ãQ»Ûìè2![‡§­Jtp1ý£å±Ó#\sØÓ+ô=NåJ3Gj_Œ¨­‡xnp7ûpià»>vkçž»#Û©)2+g"$`›:©©…J°;cÀ\§K !‡`…èͲ;œ[8þ4Y³F¶ÓÑ;–aÿá¼ÞKËqLF;xoë`£dp DZ6MPŽsNó@œ«Áœ•íÒ&ðú~¢Zžd䯫ViuÄ­7ÒÄ0Ô×~Oýùb‘Ãœé©ø^é ¾–¼PSÓÇ ÈUƒ•.Ѝîéú7/?÷O'|hÃ˘}⑆âɦáèžÏ:Q~%º¹š©ðìÝ’ÅF¦\änQ#žªÖ£ f¤üµ´X‚i¾3ÝŽJ‡k‰ó„H 3+hÄB2Æh iñ+Gf»Š­.¶É0À„@6kÀÝ÷ÇA+ÊPµ3¾3òã3s•£òã>ÎÍ#kÉ“²$³’q^ýÍ…JSW§jô!Lò€—ÈÛ_•Ф›.“ŠqÝ-íÙ&HºÄ8ŽLU°õ<×<4¶d8j0<é·wóÞ8©Í1çW@^4þ³ q‰¢>yÒÚ&—Lpl'‚Œþ-¢Žê¢Û_ÞFŒ£ “ÄR¶6ÄäRìMK²D …o»+$ÄJ‹?¹’„ë[>G)ÞPv†ÌÒïø·x?/°»†â“Î 'UÒƒì6‚ø\…ÅWkýòkû @H¬刼×£‚âPÚuí@Þö­m Efx˰¢X'RÂ_ç™Ô%Xù+îŠÂ?j(H8}Ö¢•üU…íáZxTÅåÐÌÂMÔ—‘O6&¸Ké¬d}ÄÐYÌILg@ÿ¿%ËõXIRB¼>†l›†¿Ø^·¯ý‹àP(VZ£aQ]DC†8š9³Fz¾Ô«‡÷t0G:{Q‰³%ˆ.ó0ÿI#üj·ÂhƒÚˆ=:¾h2Ä òÓºéØRœ¶ŽqýÄ*¦Ï©#7ÄÀ¨‹l§¦ˆ¼ãÄÏD)ˆä¡ˆcT½įp¼ôf¼‡*êï¡ìÚä¾ 3yE2èÉ*Œ›ÎåာUÑ›Õ/hmñ˜Íf Nƪd[Ï'Êw.„%  [aWS{æàv²Ä?º’£ÉI÷DL4¬¨+:þH‘3åWÚÀ²j@·º:3òóïÜ@¸¹…AZÌ[[ÿå®t#mÜ<óœL%Ÿc¤Õe×€½­Kwt€rnÿxÙ}^•¼>£‘äIˆÄÉR©)ƒ7­nWO†ïr­Zu'BÛ`ÅPDžz‰¡×#"Äò4v™õ„Á¦C ü*tý«˜­‰gê‚í8èÏç8éÌ®¨Unó´·íß´ ï_Ÿôòò.CobšRV™•ºj òH+~'ig¶ƒô8SÃwGA>‚¹…Æ´Hv„Ñ [k܈õ½Ñþ湄2 81sW¶HÝÕ¬& 9‰ÌëHɆyÈëÞ qfíW{¢{L¢¥LB-©ÎÊÂê! qÀÛÏ“vpxüêØHÄ—ãÿÊ0i*íî§Žäyc¥ƒówdî×›(«šÃŽí{ª~íù½l¾Z2 /þEˆl+Ñ”ŠmæÓÓS—3.o^ ÄöôܘyîÚ”–J‹Å T„÷¯ÅDœ¶ê kX=¬£š‰ ²§ÀÆ\¦×Yc A•e¹-TYðä*mƒ.Þ.Ä–Ls„RB”pÉ}¹`w(ÐnxÞÁ‡ !Eâæ‹iA~$¼RJßÌ`®"ê~ŸJ³‚(¥ï‚HËû“³[0‰“=)ì-dZ$å2ÎGC?õö¼%‡ ÏšzZ¿%¸*Uû`߆Ùöžɺ@½—#‘Ï0èæ¡•c¦ê/p?àqrQêä8ÞÿרVü2PÖLl¾0‚JXKÏ&?ä£îŸÐ‡ÓCÙìà7G˜ÙªÌAª(Ð<<[ïã!†Î­oÁ?G³q¨‡¯2mð"ìý|zÇL ½äƒå±¨RÚ×êú€Û€%,…[лµ3׀ż¨0܄ޯM oÕZDL…kŠ…èx£|”ë›sËËõGc&eÞBî„áæ–OSa¼0;L£ëÕoçÅ"Àù9Ìk pû{À—Çšf˜Àµ{žB}µ†¥Xô-¨êm·¤ïã«ü2j~ä\Ë_5Zκ(ÌwÎ [ß2@œh}_³þì;à{k΃NÖT@þV:<â+è¢GfÊÜãü+Ô÷–ôiô¹o±zP]¬SÉa¬7ÛÒ Â¤³C" x3¦.똨,IŽaº-æÁ”7,èõ#»d‘»ýÞ’ó6, ¬âjÞÙ3&|ÄCiœx´'â´ âÁ ¯ê[§ë8€¢B‡›©=ÕK¶æ{#ÇOè€ÃÊ¿´½>Šôx9ø1Z 2äh=ÔZ§-Ž9Dη`UIÖ+CYw÷-¨|³¾S%ÁÈëú>\H¶¡»Óø©Í´&qÓ¶q¯>ܬʚ§ÉÉ«œ*N‹!Ø'#†Ì=Ãëÿç€ä4À\ü9Zì˜:ÿçøøóPd‡<ìqÔ<Îɯ&ä˜tj®žBjèZKõë8 Ô± €î¦–ÂüɇG„Iw˜8ÆæÏu…£®èõW¿Ü9A»ÊC)=É3ñv 3Ëànt™é“Rºi¨Ö ¿tcŒdž'_¼')(GÓ*à8Œ«C_0,V˜¼ƒÍk‰ð=Oa/§àFD‘Ig+dMè”SßJ&Inj‰ÚKSV=ô{[ôÎA¼.Oú†ZvY Ø5ìÌ%¨ƒjOR„ŒRÙÿFµåRjÓ ½Š†î &çs_äñgR=¨æS)‡rÑþLaì }Ò©fxù^ ÐÌh̰¨W½©2q .³›?õ:oþ)w«¢T"ä„©NºÊ”ûGn “–ëêÄó¶Ç~Jï Ò‘Eã‘II]Ë)‡„-GSqÃOùäöD˜”½CÁ*zóCþþPøêbôm£‡ PË\%Gñç*Òð¬93°d6é-#šp¼³Ì‹H+RdÆNçÄóh/è‘Þo­$;¼F)QWn:BM‹Íå“‘µWU7Ò€d8:€AN|[ÅöÑÙúÎ]¾ ½r23Z[J‹˜€{Ëò×ù_¼?–lú'ü•ÚÆåt¼ç‹ñ.AÓS§Ì¶d9G‚B ½Û$g²ìÉ DŠPh3 ?ˆ¤-uG1æ=ng(xÞ½JðO}xPU©Ô¼;8ynû˯a½ÂÃý³¢¥Q‡êjú˜&ì1RÏC´w’”líE¾Eõé‹€8=[pD)8„.ûíÑ>t¥Ü@"0–¾Ô+Zëã%ZYá"IækÓÊ~ûx–!õK¢9öõ•à‚Ít;Ꙃ>ò>ip00¿“× Tˆ[rš–u¨ßg;3šJ¨Ñ^S½C Ú®“€R·ø,qëp’Zj©§ ‰±Ÿ%‘©]ÓS¾ÅKO$‘¼k<˜[IõîÊÆØŸ£l£§ðÝHÿzÙå Úí¥arìÔ"™à±Ô÷{ð–z{Ô³ ü/'#>Vùx‡MWì—!9ÐVÔUÖýË>'ˆŽ>uv [’<æòj›)&€Ó=ÔA•6’åô‹$½ÄÃkè ÌCÏñí[šsMBŠ4Ø_èÞ+1óêÆx0×ÜÇøþ ÄBg%2ìOÄΊ(…UÊJ(4uùÌÚ¯ŠQ2~ðná¼S>k£œä@8eÐTÆÞêG:ÏÏf麰n<‹ ÂÂ-^fªo:ØCíÊ¡wrŒiFðä™áÈÐG Vffé÷íB\@¿©`¡dâ3¾L5¾…PÛÖ1$’kû‘½& ‡çfõeÚ.)-×aÂû¡ÑÆÖ87ža­)ÿéï¯Ç»t2NÎêD\uP~`xEÛ™ÞéH¯ôøœù¤µ×ÎŒsž1͆¡Ë@ ÝH%á·¯úÞ-Cogȵ‘ÖSÖ.vÈ ºV^~»”Œì¦ÇCÇ"õ.¡™>‡.áĹճkÆs«T§1tà@n‚v€ö*\“‰§ÈììÌ–nÿ.BÕ[Šà¡÷Œ2J„™À-4Å¥J \t‹dd©Îk\˜Ñ˜~Ìßa^[ð-5Åse”›UJèÅ#x‘h³F»kmßm ;–ÚDç7¿v2UÀÂÐe‡O¼ã¿Šj~òûàøiÂ0~Õ±XÝÞ _äÌ`ºÉIæ}eA "tòW -³Ðü¡x´žù€oE%+.³Ow,:æF®±*F3®~ɦþC~ËÖ§ yöƒz„cëúl”Šë)?2´ôÁ×Âsš,Õ%á¯JWsxZÈ·U"kS00' )¤:Ah jÎnScŠïikïV92&BTóU"È'5ÇŸ]1§œXò†5%Õ›)}`èh“”Ø~¤®C›ýÏÉåêþáÀ/ôÄ.¢š3çDÞUñÿÛ´âB^˜áT¯Q’ lkv? ­üëh혳„ÙÏBvTMôÛMŸÉ¹Ûðý˜òÒ_°æHoCÂÜ ëa„ý.äH!B\·o¼ýŸLôt½”Œ,»Ðõ $¯¶ÂœŸQ þçžsèñøR¨72²ùƒ‹â›‡aKMÄ¥¿–ÀU8ÏCXÆÕVLàNÏÙ3ŽE¡„i¸Y&“j”cF‰PçÃî›ð"ÚþÔ æ› 7üM h»‘ÂËb§ßXø6T:æMˆTüúY&PÕ6…"˜`e_¨¶—‰€ ¢»ÌW89ó±GŒÎ‘ ‰YÚZS¢8ÇfìéÙ¶díTÏ(&±4ZŸ, g3cËÊYŽûÅ ý#ÐÂׂْεÑpó×Yû®Y:éCg<)ïP½^y÷hL# 5áçü¢=²Êw‘ª=a!I»{*úPs™½–Ð NP?OärçÐÕdjÍd¯^†ƒ_úÒÜy²‡Ñë·Ù¹¬ÀÑ·(&•{8“úBªÕÿ阻ÝH»hÑΰ]Œ!\஘›{Mþøñج®À¬ ù_ª 5jø¹‘ÏÿÍEöé,Z›ï+þ(Gj¡‰@Uð†è† ×ÒÕ€¦|çpHçüXšq+ò¾ákË9‘õö\_©Ï&f“ç9•óSÐ6«&ŠlIë«z¾ªNS§Ÿ›ˆ½Í™ŸBÉZÓ“p6DVö­Ù ñ?è¯'Åž¿yÅéCZÎ ¸žhg9/o‡€AHŒïOí{Ù`óý‰–]™‘z¾R„$¿h÷Ëÿ‰MFôŒRGÄÂŽ:çG€4̾|XKíß.•—ú&  À¾‡±7UZn¬ø…iŒ—¥R²1³w!œÐ¬wTõG [æm³eÕ²[zý3»ùøöIÎÓz~¥i8uÎ8^?oŒËÖN“¦.”߸û„ë^8Ûy‚í³íÅ¡¬ÿh¢PÝÓ~“«¶³ {O û|²/Nbx\q¹‘þ½ K©7d—æG9ôØî4fù¤—k£nàÃ!Fy£l‘¾äW!7;Y)¦ ÆÍÁ®ýñX `¬½Ìĉ«’Ÿ@ÎÚÙ€Î#Ž¿ãÖ-©&ÀIÔ=™Lù@–芼iú8°“ºZBMþ—èê\ýl{Ö¯g”៪Š+m t«ly1Œêl ^UÛÜ4¸Fˆ„åtÃ`Þ;õjç4Êðæã~Ó4\2Úñ¯oJCÌp”÷äÃuùx Ë:ãg–€ KÌÖ·v aV3Ï× 6ÐÄç)qQ=¤=òòcÝÿA,I¢Ç£D¢ôöJ‰mÚž…¨‡5Z™äSÀß\zœúƒý.%?!Ì ÝÏe=E=x…&Ÿ ïZ‘ºÅ8G?]Ba¿y¾¶½± ^Jé.Ç»Œ$¿.Ýâ6ÈZMIº¨ðàv„ŒÉ^x’A¦0ÉÏ's¤~ vÚ‰— ”û &æ‘ÌgËù•´Hf{¯ñŸbfç3e·ŽÜANPtÞ­pç»nÆþOãÜ«àÙcŸ…;Œ8­g4Áùkö¯Å~@ô'IÓSÕbDTÑæB¿Ê·ß‰z +oe0þ…×¢²Ä¶.ÊýÜë¨hOž_\¹ËÕm §®æ&±´½e-Œ¶†ÖG\?à·I¿ÌA¦Þ=¿¿MFÏ}†ãЮÂr°R˦ÌÔ¡ÀЯ°x[ñkùµÅ(›¢yåÞ/Üã;>tO]æ LجßJâ½4òs¦—ƒúJªqD›xí sü‰p±¬#c?£ ßœe@á™âÆ—¡‡*’.jà¸+ê ¥à¿áòѹæU[>o ×ôMù·RSŒ£n‚ôˆŸn1¼_î_öîk ûò§ML3¨z½ˆü³³lB¡,í5I¾~š  ê’®bl#n½^?F®®ŠW´æž§yè2³ô$—réÇós;0Úº?xvêéxfÑsJOOY«Ûù¿¤&ê¤5ÆäU9«M†¬áÎgŠlÔÞ| ð¹ ¼VP…ÜJÑ%ߎ²dÕ¹7; <Ï;¸&ïÎþ¶çoP9ÎtÃé± Å® ã‚ø:ªZk—ÿ&ZÁdÔµ\=Ð&ŸŸÚ‘pÙ¿UðÆ Øηˆå"MBÃ…1’qª~;jšž¿}™Ò9FL9ÖS„ýVŠàÔTxG:í&L"™L£Ñʯçþw”ÄÁ`Ó—õ8 Ú~!9϶òí|Õ®‚OéÆö¥0ÁÆ`+-Ù‹,’ÂÁi)Žñ˜úŽ˜‰¾Ï‚¤›¬Ù¬¤«ÌL›%!‚÷½ìuÅ~§¢ˆíŒ/˜»$WC‰ßµù䥛Oùi{ô$9ñH$ŒXØyqr…²³=˜Þ…F´ßÀeà'î ö,(S|sGuÉRÄ ‹§n„=ó"¿VuñÖlÕ´4{‚­üH—B©¦ÂÆDê ^ðÐI\P°8©U׿lã…*´÷<´u‹EbYÖÞŒçäŸäÍW½ÔœvŸD:a–ÜôK1iÉñK@ÚU÷ï”:Ÿ(LúøkèÆâOä™aH³«±[J^­e°~¿zÏ3µ¿“½°ñœ:t”ðKˈà`=“u˜¯­} ð(™ÝØžp}UÿJ˜ZFÓ«NÂgTBãáŸfKåPõóÒj*[±möþ†’Ÿ†²±±4‹Î¶•IŒÏ4-‹Mcgº6N‘ņùBRz'&ÿµuÈ}3XSÿ3î ¶?À‡êË>Â=o)y~ð›ÄLVh7¸7‚ؘ÷Wôïu3¯‚ ÊŸÁª%ˆ&~} póE|Jåñ0sIlèH’Õ¬µŽòìãp•AgX…3a€ìËÃòCÞ}s¿Q§t$Ötý&ùðT'šcY÷ѷ֧£¿QÏVôßÝÉÐÉ#M¹±&½IË‘š¹å]£mnvqã.•p€×,•Wòߣ )Îdr& É"@Æ„½ñOá‰LsR†G4B F Øö•3®ÒA dÍŠ,åÊŒ­tY°Â8Ô!¨‹½tZV2Ù´ |&Síjƒ>xâ”`iµ¸qô¡D œààvÃ3…ûqWI ÖàÕþd¼X%ÙÓZkLÑÃCͽ±ý®{Åù í:ÖQ PîQ/St5¯æï|üN9²eõÒ[߯¡µó.CºÙ¨>¾¥C¤,fî`¦>«+RðKfh“€láò#åw Ö„žÃ{÷À¼qEåÍÔ>bLcÜÈý<í9Yè¬xƒ¼•œLÝÔ:ÕSj:®»&&p½ÛÉœ,­–0iÔ:—¥g¡qœ©Ó¨kíZØ6@$Û¢©ÊÁ¿žÙZÔ$4˜ìû¾˜„­]}AMÄaˆ>;îX«5SÀL+С^ñîŸö{ƒ2`¢mAqÚÈ[À¡Dx;ï˜dWûÔ:…‘ÆT¢ØÐ½ÎÑWŠ–àÖÆ2ì±x.ˆ²å®¶—!°Ü®æªÁÍb¯hI Ì$+ñI]ÞÏàº0Ù Ýò9#”jä÷³œhÌgl%òÁÕâiâ-(¬ÙùõøÌ Õ® Š­o„^J`ªZu©MÞ±L•4g퇅M(Xƒ>÷!¯ëÐ\ p,FÖ Á- …¥´ånqözßB6-›t%ŒØ½ø_ô³‚xä\fQ2t…Dû@:O¸±,‹ÆKR½ym±bb‰ÚùrMÌ剪uíE`L8À,ÎK»3·¡ ‡zO¹kÚLšƒ­£FwNÆOÿÅ*cÅ lPÞ£¸*wXâæŸÕ€ÊÒHžwä²¹Q÷•Êö½7æ½Ñ§áü7¬y+‡Â]AÄWNPÛÀ%ý%´]²øJAÑÜÂuÔO³Ž¢×i¡²Ð»h Œ¦×ï¤ÿðBºsª™Ðœ6Þò-JDîå•frm˜õO}F½¡3'k€}‹79üM_<àOë¨Ð:ü.1ºÛQ¢K6®˜ÖUz—Üñwª“»íìm2ÀŠø«}4€=ôœ5ÇaÞqCìÛ5½®YÝ º,ãµwÚã» ÞA)æOfN"‘ÓUÝjÞ_ŽV¶žýê’ÐmÛ¬¬äÙÿÄã-Tb®vÙœgÛ©¬ÊK™-€ Ü´œá‹V }¹kÊ×ʬ1HÁõþóòçæ0¬œ!>ˆ À¿êæíMI vèÃ!B ’¿ÔÁº±Å* ÞnÀQÐDÍh‡üaq½ûZºú#aH¡IJTxÄ»²+ní¦¿E}”“±ÛæmAyzu€BYK„یĖB]Ùuµ¶=Ž%."J¯ôý¬¶°ª¶ì¥Š}­$Sϱ’M#=DÓArÒÝnPÒªPVúÆÑÁ$ΔØFÇGœ–¥f el‰–vÆÍŸI¿ 9(4z]×4 §hØÓÖ¬$â6Ê~Ày¡U`@ë"7Ôº)ðÒp9ìF™$߬¹vgá##qEá°~µ6ÃÛ“Fà_ÅÍ«—EuÈ» #ÐÚÀx;L?IOÅh}«HL—Ð8ýØiÙÏ›‰¶ÓQAâ.XðÉTe8w¯Ÿ‘Ul>Êo‡Ž³{åõuïÖ»h¢jûÅkôP‡,u«qëŸ4Ë„Ö/%‚öþÑI§~Õ“I,s1Ó±¦Ž$àüÐ+€âøÓéÂEfíª9û5?ÀŸÛ mZ‹È\B¹w¦Üà\—2Õí¶/Ð-®|${`Êkðåš%E_]rUÙLñj˜¤>¹ÈÖÕŽ©B¯v#ØÞÄ—`¬·¤¼ù< ÀZ­„c%Û8,mm-rýh¸ (¶¾Šíc©eÆgt\ c—:(1¥>“Ú÷~dzéSD‹ C˜ÇïC¸ãí—äwLÏ\¹¾d=:•ÞìH.Ûý£×A’fÉȦRÕ²¦l} Úþ­üzáö”qýk Ž×H9¨¦&Àj#ãË14ˆXålBÌCA4꩸ռýíâæ»°i:‰°—‹A1:5æ»<- ×®~a÷d§,i¢Ždnm†¨@ÿ|ñ¤¯Þà9„„ªº«¼‘ÇžF³³Ï†ÓOpmžf ]s8LI›q‘ÍW!>]›SL2Çs:h â´té6Õ#ïèÞ™?`úúNxoãð¦ôkrÍ#?ÞRª×ì™c¬N¡1Œ§ÐXc S­§ÚÎRÌ–¾8×ÛfkNo.ókG9ª*Êxÿ8#8Òü'N¨L$Tø¶æ’%«©Üæ}XíãqFù=ü"ÔÙ<} ÿDÜ÷þý0ü3ž#×h–‡!^¦]!-ï<°Ë*›&9§šçàq]ºp‹‡úË]ZÛíôÀYÖg#±쥒  š¥@ùl Üq¦/ì¦=O+|sëiÒÌÙNí»Q_qYÈkL#ì»Wó9ù²CßûªhÈÊZ½ë®K9X ’ÎÄÆêñҵƒÈmhØâq¨(¿® ámœé²[Òx`ùŒÆ¬Ž«5m ÝH=¹æ±çy³1ï’Ø\°»½$‹HxÞÜð{ün5½oÖ¡ûû#UK&¥6Ðêô^U½ŸÌ‚³¶Ýï˜¬à ‘ÝœD'4?çÖPj01欯ýzIö¡‰åN‡šÇò… é-€+F®kL”@„m„Ï‘:gXKVˆ˜94™‰ãΡ)ä˜Á.ƒú¦.Ýqü–¥™‰yufáaËÞõ»¢YJï>|’Q­–Bî›Öº$˜/TFˆƒÆxçέȄ²«Î`GX¨!O à"'Õã‰Í“pÛör4ŠtùÛ•Îq]ǘí†JBÎÓ¾ ˆc:P˜£Ø¼ábñâ}œ^~¦(úTtñdQ –( )¯!Ù­hX>Ž3ÇO•MÀeÚ˜lJLTèÜO‰i Õãz <•md’·ëjuìóùÆk9€f諲0û¡žùjÀÝËB°¼Ú’Û…”ë‡;x)px¸Ìe´£Ó6Mzg"³Š¥o@˜è㤠F¦i̤õS¥Av^øyM‘t´éú -*”ÁMb^µòœÕIj’Ú¯¹ˆ™×AcÞíBU%ÛàUЉ«®›yƒ~ˆmk†4Úöw"ÍW„²þ­¼e&lRÂÖóŸˆcx§ã9&Ã|Uu¿rMãþ— xuTº“;!€‡Cý$—ØÀ>6(I4èf\–=zFæ×5¬•Ž·VQý¶, ÷yÌœ9јÕ@“”Ékfôe°mrù' ÃÎAç­â…H&¥ži íð <怾RŒ ¸*¸-À‹L¼ßö÷P.~bEÀécï:®I²’¡³|kâø…ÿI7€hØÙ…èĹ£š¶–ŠDª{öøúPÙàR0;U‘ªîû9Hüsf—@C%»we8Þ‘iû"½é«Ó?®CüC ÷𤀸øæÙâ¢éèŒÝoèR5‰½¡TËË0˜‚Nº-Ì$T%ޏ…¡¥bÜÖUÇ"’·ækˆ²TÈß­35ÃFx(Q¸?o÷e`,œ§A‘î«ðìèi›™À°×3×42>lb2ÅŠÖñs€ƒ`vÓúž¥ÒÚ§ƒeÜÁ±+wº‚Ó•ÝNo@á°OWb'`+½ÙfãºZ‚·Kƒïø¯©Îà\<ª ¨kKׯ0nX=‚VûÃpû~¼Ÿ€QÀ¸Æü%Tv³ßUY’ äÉ ˆ·x>ÈW‘xl«>qfKDœ=b5øø”ïÞãø-q´ÈÆš5בä¦6"m]a˜^ÒA£W…%ÝõSÆ• ¹"fæpz"ã„­êÕM˜]¹> @²¬Ë¾ÜÝ@³´¶3fõü“;–Së×ÁAc¦Ä¾0¢¨°’_ßÊIþ:˜Ò/|œ[½e FÀ’wð¶Ð-ßäc™©Éa[ô…ÝäS˜Û<ôtÇd8ñʼn‰ ª#—–›¬yD òÇä*žœëIÝSîÁ¬ö/¶liN£Þ÷ÖncßÅÌ\ä)…ñ±î \åéyÁ¹k<4ª<µñ%K8–Üoƒa |“¹™5¼à0R¤ÍÉ{RZ!~­}¸’› \ò<(†¤JË•†/ÚÂëÁqSO¯¼ÍÒnÿ‰š¹Í½Ø¨ß¾édd*Û©èI9yH³‰ß"f%² ·‡”™‰Ôq=}O%ÔrOêµ±x¾­z¶‹ _”S û“!K¦³ÿ™‹ÄŒÖòÓüï‹I[#óJˆWßEn'¼æŸ¸SïWæTð7^Vò‰ùØQÇ … |Œ“²~«?TPχ³èãWT,¹OÒŽôh(%õt̜ԧb©ÔçÒþƒ~l è¹YˆÙ³ÖÐ×Ò±¢~oM‰‡.„†È¡œ2O0µšµ•îp®ÎbÿOþÛk¹ìäȲ{‚µ»¦\/×äRÚ…°ÂT¹ðà°žsÒe<4‘ó…sê©„—Fø¿°”¿Õ:§~àkP•"çÐp˜ÆËŒy`Æþ65®<<@Uñ<‘ÅPUUpp’s)öÏÞ#ö5h«)+°l`D›eí°+!ZŒZQzØ 2ý(XƒDLp׊"‹*ÖÆH|Oäîfu¥elB˜)å¡ZÈò¹Ì‰‹±j•brí )z‰zR¶£ãß:Ë›(œ8«Œ:ˆ bûNfé}ïHÝ]W^ŸîîVKôæ˜[NÙŸ²"ŠìW´ï\49M40«?<¢‹ÇP»7 å-}t[ åU7Ú¸ ÑŠFç‹ÑAj9h¿¸‡ýÜNäå~¿¹Ýïɦp‹OOãB¸ÔL<ØÅ Õ$³gÔ—ëCæ’|íôt‚Ô•u@ñèüÛqD5ÂïkšŸ4|ᓉf~M£N;Ï*@œõŠI¶ ºABàXŠt4 BçoñeÎ4ËË4}+ƒf—ö’FÁÓia1O¼®¤ }bˆ •šl讪Ïü¨{¤> ”·Ì‡$çCPó$œ…5©Ê E#e°k 1W,d¹ ¼üx© jiïD™½ji(ƒ÷Óº0[v°qZpf>Eš `CXQö9¡>´#ÈÎ,¯!þÆŽ>»”ï¶C;Vyó€øüB÷¼^0öÝQºeQñš±bzn¥g7¯iW|,²ÉÉžû|æÍÝúé/¾xæèˆ¸{3ÕmÌË <ö™Þn¤$›zu£‰`úâ0d¯^—¨b¯¿S:YA¹¼åöUR£VírkE­‚q.×QÜ5É‹ö‰'UšQ+éÎÓŒéÄNsÙáʧ÷\ø xíPÝY{fyäÒœL]=· «ÏðS¹©Œk’7éØPo 0Ç+çi”(ùp<åÌ~}/z8UÖÏt¯5¡ˆQÉîϸKv ½õ>‚¡Å‘)Cl$"ã„X¯k’SÓ)¿@«^:6å­§¢¼I˜lw£ˆûbø64’©‹gãVØfk÷o)KÅÎA-ýÖ MŠ(`Ž [â!ð¥í‚ôWY‚m°m±àÏK,;#võ\&*eMk°›gƒT~½§ç#ܺa»”èCNþS ².e`ËaF04={¬PדÑ!KÉR ` ¢³røõà )›êçAs¢ÇJ8ïš ;³½5ÓK8…S1–ÀÁ>õqNò(ÎjYÇÜ VYƒ%zyF.1ý«­£àsFðkY½S홪C3gŠûM¦e(\<æ$D¨Ž†m¼­¬˜C\MvfÒ ¡Þ3Ö¬»ê¹OÜË/#FýRðÕâ<0Ç6ŒôÁ·þᯅc J•¬þ„ó¦zÖvlù$êî¶pÇ7Ow̺!În¯“kš×7!ØÎÌ6Œ±otÀË dËë'¢E®½vC%Ñz&Lv‡Nê‘ý’`¸W>“T·žÃ<¤‘²f´ØÓð|õçN­RýqÚ_«ßôimï'¥FX[g€“ª„GÏ¢pÁJr¯@g.lOKH½ÈBú,V¾«YÈ}ºZù­¬5x“ÿü[w©€]m;?EôÖt[Æo5Ú}p¢…XS‚!ÓW´w’ÔÑRIQŒÚ®a­À"ÑQ%¹Ï_Žìß´Gyƒ£7ËeOªOŽpæA{Ô¨¡îW¤~©ï¬û•*lnqàm2Ñ4VðPŽUË– ŽgÔehá›ä˜Å׊Y¨Pý£D³Q®Q€¤tXúÚgÞµ—Žz¨à†w qóa&â´Õ+Ó9—8ãK­Iô3OnZÀá{A%uÆ0‰@bÈ9W£3tG¼¢ÐïÇÿùNg7“ø”‰ý[,€1\`<§yl°“Ó#ú”~»ž×d˜úWSÙ–ECdŸ*ŠL` ?'Kª‡cêIÛˆ™¼„]V{¥îân³kï¦I5¶//T·[]’ _˜ÁŠLÒ•jÆa¢•ŸÄ¿7ìØ3Öö/Æ Þ£6þaš¡Kþ=?óïþ¥(cø‹4–ãEëÔ\´ËæêÕîs  ’I)¿\7f‚¡UZ,J{æ-ûÐ|a_E¾”TB†þ!™•._1žÞ-|RöÇ< N½7[ú³Ej.è¹½JG×Û»º§E±ÿÔñæYu ÿ€¤U¦›¢ýĘí Ĥñ²Šq%¡Z÷"L[-­âè8ž_ÇlæàaìèS€Ð¢…p^ ÜrÍ©]%Ú6ñöH%–ÿàm³ëŽó®çóÃÀ•=ÐV-j ,”k?t>ì•YhÜV@=Ä{»²«„(Á¶vIMD†¼øaé^pf^ì&{’sUâ ° ‹åCÿÖlÆA¸Nº]',8Z7`}AZÁ]÷7/5Ü6‘7Þ€p†ÃåaØ•œ•HU÷N87+ÆHÓ¿ÌÓ“E5øÙLìÉJ(Ô×ïH°‚Â1ž˜Æ#÷Â?G´·ÿÊJÌ>ªÇ^~£øUí8v/Ù½+º@‰;Å † ³&IvÛ©‡¯ï†•œšåÎ.òÿ™²AÆfÝPŽ£‰¡ø:×÷^»$NFÎ%ýëð6 eeÒ¸Ò¹¹^ ‡¹þÛoVmê)JirL²Ô;€ˆeÛØ»òyÝÀ›Xôƒ„î»/ µ‹o Âm/Ìd1zUá žúÎÇ´H†™Y"ã0»#°Û‘cžrß0v¼NÉ ‰¥>d.AI®3©˜p5ȺRy¡.ú*˜ã z®u½W)¦Ë¢ä£8/˜=j¦«€™õ4‰^Ù잸™çd{¸ýi¦ØËÃ?ªxƒ<~¡c§?ÏtRôGÌÓæ0@ˆežC[†âRWm€)¹~.Y¢cQÔÚà ʪO°ð ~‡FÒ";dæ’Ĭ.äѳüȼ<õÊ¥ o4ûÛ#ýaühÔܼ{_û’l‚®*Í rÌUӫꌙGGfús*X›ûœ¬Mõθ»êðÚÇðá®Ð¨jÏÈq¨Ø§}Æ­øÓ8o©¹º.í&À„‚Ñ’p:A¶Øw†aÝÒ Ÿp­ÿ­ó¥T4/‚ÎDæ®Û½«?³Ã¥ÏQ¬U%÷õFxQ¦¦Ôòi_‰+UHïò¶\…\¨j3¢¦¢µÛ±g`Þ·©åŒR©íÈ)eÊnh––ˆV¡tiÒÊe }üxPOãÿ4‚â¡&’R=:R2}ÑIëúØ ™lfw—š!x ;óNEĘ÷ˆ„ ‰A%”©ÞûÿÜ«ÐW–uß\[g¬{1åâùÍ¿¬xÔÌŽy›}=2ZÖG'©ìâ¡î†0Û)É>Ì›ÈíõWõ4¯rb°) bÑE°™‚úyJÕÆ$RÏøtïyÊZŠ!í?׽ނž¢9ƒ(Cé%]W5å?âm¤¿ñœc «æ¿oÈZ¹‰Î(Å]hÝ2°{ÏŽç?˜ö¸Žß[þt3ùä¹jÓlýZþç=éÁ2vðC?‡y+ªõ¤ÐKùÎû+¬GÏ wœ ¡CèæÕ=YÍX=M$ZÒwžûjí]vÌqòÏ'Ò&oz×” w+Œï¸¦âaw|zà M‹„°o®¼¦vøðéß‹nvº‰a·‡¾É6OµEÎTV“A{[vH`5‹"R'ÀtREãÌ.=ŠòC´¶Ýk—ƒÝKÃ¥«-ˆ™±Á:´+Ô/ÈÍ)C­BÑó`i£°d pð3¹È¥ ×Ãô`%ûRÜÉODFÌ7a%nꗀ˪–&²šb1‚ G]U‡¨s‡ï'óAœøûGu0ø£]§ï¥×\Mh¨´©¯«ƒU»7‹Ì»÷A…¢ÓÆ“ x®ÎËÿY,°u»ëw4ç)d–_œ†H[¤Šò·YkewÓ,z|$¨{†˜9ãŸè_dfj½_Ö¼$q,ÿ£6ÿŽJ~®É@ƒyoµÉ¢ ”ý}8äÔÁ~¿Hxä(dèý;˜•csÞ JðÒš‡òެíUîž²ªLo¿ÏÒ,·ä?}O:Ç2ïËÑu"©TÚjÍ“‘Ó†Jª‹'`Ô+ yþ.Ï62qçØip¢Ô{ã Kt¼wöi d Ò¸ç#‰‹RÌ9uŽ$ž€ë¯ìβ£O†$Y¥|Æúk U6wIMÒý`í´ :yx•†ÏKc§|×úìNLv!òÇU¹1£»ç¼{ò§çÒØèDìe“Ò –lqV¸€ëA2Á©ö\wwÒËd š|óÝ@;ô¨Ô‘4´Û´+{2úæ\Ô7ÆC¾wŸ—²æ!òЄI·ÏmdÃ<0hM1ËÚ:“ÍÕ0±¬µ” åÊUÁŸƒ­µxÚÎ ™Ÿ/°Im-H ×^Êq…΀Ý=ìÛÝ}@øÎ½ÑèŒïÄ«ß`=6Z~åyæ‹®…dÛj½dïùýY¤¬Ét]RVÛ‘M ÏÚ«î’XÃ`uÑ$’â×ÚŠµ¸—rÑ•·ƒ¬ ÿ–  ¬i¨‘;†!|bH¬z\ñ‚„ ãͶæþ±“ÍèÎ 1fÝêÔÿ~3¨¼Â¹9Áà¹3mÞb™œžô€6cg#›zé“G«é¢ú– ` @boM³Ÿ’ÏqšÀÔ·’yPHl:HåO5{X2®Ÿ JaÓ©oýiU y?ÁèŽ'[«Çë&o¥ãò„cc|þ]'64ˆTPì1$œoAA“'IÇwÞQyúŒÑ€‰^{mºÉs$`r ÃfÍNðN4UnORQ¯èÖYÖ ±úZ š#$W?5obZý³,ã÷žÏ_0m‘*tØÝo‚®Ð »¶CLÐp…>¦56±T°Éš𻣦ç\ÍÍ¿n³^ê[û%=ÄâΆŒ¿C4l»xÆ1ûS½8þÀºÙÚÿ$#£cúíbë É⨶¤RåP$éïÄZq¯æßà €fêÓùØKY¹sôìVö2Úï¡3Ö±¢ªçÓ+(¡¥îÕ NEG t€!Ï|PÄŸ}Siªg$Er®À¬ÑDÇUÿžªáÿ}l«|Qyä äø†¡Ç›Rgƒ¶‰Aày¦vAç4©XºÙªlxú^®*]Ø®‰’ÌòØuMuÄKÙàžë(äÄcúi70 ¬uCê1µ>ôȳ}„Z }úoÒí]•Å4Ž7>²Öè¤s#x4ɘû?*-)ZÄOCò !Ì1UJOÿi¦¤IýV1f žJ²^Ei–wzòp²ô9¼;»(wqC˳§8˜®Öžnim¶?R ù_8RÎÛì06sÙD—~í=ï«­–Ï;æ§½ÁNZöls—Wýµ$MD¥ïž°~9·úÅ"oØd²½€1o™ øÔvV‹wõø)š½hŽTYTbêÉ ÷"—¿Æ³¢:Ýí6‚ŠaðîhF6u͘’žö3ßIeJÓ˜Æ$ ,Þ±!H jO¬°Qß3öFK»gœÈƒ=óîE{Pn΋…”ÎÀáf-}ü!z†vÁ=hJŠº¤lMpøØd ¤àgKg\ÀÚ”Dº5­îjüÝÓ+LÃ<‰B¯Ñ ”PûÄ_Å •E0¡tÄY”wÐoi,&ù‚¼MqïÉﶺ)(¸ë}.EöCM€Pž°d1*ñmü¼ViQ8Z‡zº3*²}¯V „b-™€ ûŒsú k­£@0k†î‘®©„¦´‰ßcõƒº—UAnáâí/n~=Á&ž5…O?žjþ¨míz…O?·¡gðçh»bL_XkãºÀ@6-¦b}¯ ®Â+ÄÂ{Ò ÓðšÌ¤Ÿ·5‹¶”ª7†N4§cfJ`j^^3ºŽ­!¼ƒÆ¹ï¡]Ä|¦I“/¼ ñtÊ|„žTk6º¨fÑq‹+¼6bPU Yþ¹:–ÿçDµ3*Æ@KêÐ$¯Òì"IBÒà†Çøk…?„^»‡±ÛJ¶ÐZ÷w—=Æ':íͱ¼÷ä-´Í\ç« 4íúHê¿îõ$Áÿàcd¸ ŽlJ ,Ššq?¿ë¥ì4ÔÔàEý‰gÜ‘vuóÍ«Íg᥻dæ4÷›E€ðzáˆÉƒïô5²iPߊBŒàC¥Cÿ|ºÊŸ%|¯õøæ‘([WŸhcr›ï%¸ïÙ Žì"b°C¶¾×²<ÿ(\¦¡ˆr»œi 0éUÛsV7_£¦ãüK³Šg„!*žÃ•`Ð?(öº‘}"wj.FŽÀd-€wÉYs6t …u%œT2º`1C[¡tÌ­ÓÕêÈ,.½±ÇÝ2ƒ¬Ó>ß51UlŠªØæÇI” •5p¤ÆäºÊuFƸRM²Å™ëÜ»æÀëÓª]ÕUœ5Ua´‹[R$‹õ®CŠlÂò©szÌ áTQ¤M64䞸ƒÕ—ñ^+›`££mÅZàíÛf£øq•9nÈäÝ‹Ãß ¹.frÏœ´oá¯к‹Û¼¬pœ×q44ú#Î\¬ØžsÔþ£’<Áqx}×®i§rfœÞma’wÖDXÐ>˜ò¶¸YklMx®DS*¡}ŠC~è<£GãÓ©æEsaIÔé3àëÿÊ®‚˜V4ÿú絆4¶ŒÑÇ{À­ôßP±ëœVÖ¯ÜÿɃ{MóH Ü“}ób¡î3vë¡Â‹ù“©C°¥·ÇfòßÇIY„*¼Îb*»Sì%äFÏ–C›zrå!8©Z[FöÅOÕira´1öý”ùà T%ž²I–6þôÈN9én—Uz oQ©÷ž‰ŸŸA@±˜]PC_ôMþDpwV©wÁs¹¸u\¹ ‡Ôbc-Ñå–'ÛR"‚…âIC¿Ö¢ÐüÀ€4ûü švÎüާHó‡ÛmJÖ<Ê:žgnŽ’süü?²<`PׯºS,å~¼ØÕ‹Çjµh×åói‚š¾@1zeU=,ÀUé“ÏÓuÞ½/r~Ç„Œ`Dv+5ÊQ®°3^Móf™«–¹%5»y˜ÑŽ‘u) Õµö–'Ï>ãQ­ùÃ~Åúe<ž%\|¾>ͦ¯Í¹Iv¬g§œc‘êCû˜i­Tç¥À/ˆ÷É1_Z„ßnôÁ>ߢMÌo´LáÂÝŒ ÒE¤¶fYæ`xdþ“rkƒÔ“AhB@|ãÍoÔì[ÌàS'R°Í»¡NL”ñ˜A-dð©»:m¬ç§|ÅUì>m** ‰ô DYèHâ&@ª JaÖ’}ýuøG*-ÒŽê]jìzð¡“Ά‘!YÑØì'¶ŽG2¥±&éª z|Šz/ÆYªìÁ‘Ú4‡æÑâ4G{ÏÏÃÑ0E)óS#Èäã÷ø¹JÛ°UZŽ&Àf?o?®“È•ÇD:`öâ‚*ë”0”˜£ð„ËTÀÛ® Éa¨(æ‰oІ‚ç>Áhí‰WgØÌEXõJ™¿ á"Õ"Á¥\cºÇ¶ŠJajfëy (XH»xÉ%ñ(­œ`B¥×zÓlj=΃6Gz{nEˆr´ƒBð̵_<ëÝšõr‹°GG͸HIõd„T·æMšŒz¬©« XX:KëbúÈsþà­’Sá帇 LΟû%X>Gb†SÍA9|Ö‡29è³â–6GÚ-ƒ!¨Z—‡Á",¼ëú©ü—g¹Áiýc„LÉ.¼Ôß³"E!ðäÒugÿ+s 0®Í®:œ#Dᙦ 1q³³Ëu½y¶Ý}&WMÿ¥¯/ü‰=+ÐͼAíü'C—@¥£$R(l¤‡ä{ñ9)…iz‘ñ~”KTŸ¡½R$„k_h"BhFÒ¦LuÀ •Úi¿4×ðÅ1ZF“Ùš€sûȬçç*@˜”6ÛoŒ«÷«V«‚v$¬pÐm•Ã%Ã5ê×R_QœüIŸ‰dŽÜFú”Ùú.ak°·i‹ÅΆñ8>#X–BP%àʵðÌÉãjÇG cˆ'’0Ü„rß5†,D® 燵h©ñšã€´=gà…Ž‰…"¸"Ã* ¦ŒÁÒ)mKr–[2oç¸$qpÌ” “žRh4›X«â"S“XÓ×my"çWÜœG—Þ@Ý«rU¾.8pNéÚF„ÚØŠx:š<³+U[¶]ºIÄÞçK;‘” kE D*LHtÉÇ™ãŒ+7ÿfæÈ}Ÿ¯¾Ùóðþ™=5°×jšö|ò½,Êô' ž’LjmZÙĘ0hë’øÊÑEÇ]QXœõî9[÷2C÷µÞõŠgñ&d®‘©†ÁK u?ciê[qË;_æ§ÄÄ1›â<€ÖË6d|ÒÐr{»¢½w»æÀºAÞæ±£ZáúF}Pm?Õ,Œøé{·é(ЈÌê½›ÍÔNÃwˆ.XšÙJ'i ‡«$LTçßÒ©(Ä|´˜PãÁí®>Ó¢Eô¸%¡¾çy¯8Ä„›‰:Vï—¯kˆgÃw>º›ö-Åzò¹U•&ô:HÃwÞŠj¨!Óª…«·ÍYزDÁi¢‡†«†®gûì²ä4Ú÷‘X(¶|ûàΜ1d§³Œi¨âGi]¼6Ea‰ö’¤ã}›ãü“£0Ñ}‹‡a>D&BdM S·CêR@pÝkþ—¼ÕhßéA4D bá;ó}G%õBjC“]¿®L·¡‡«„töyÔ¢h‚­á6¨Iò.Å“ÒPçGŠ›úÖ¯&Î_Êâýgù…°1*«ì¤]¹º;×ÞM{©²s}¿EÌi‰¡ÊX«¤u BÆ7n­˜ðãÔôßm”àj¶}Gz©#ËÌÑ 7Û?Gô¶¾›zJÍÀw€,.®ÑÂ~>ò”^ïkïK >ñ ¥¶ Ђó@¿K{IÅ”1¥„!*#²áѶïÆSô}RN [\€'b=6Ùñ?¸n2àêŽu|Éö=KNÞåYÃkrhþXîvxjä:ûýŠ$»/]Ûlç%wÌNUVX ½Ž›Š8ÀýïMV×å>ÄÓ¼žaâu§ª;”DUßùÇ…O­AG8M¼É#¯=ô„(B¹0¤p}1Hs”ì3ÎÒ}öëx·‹W"B–k;ΗEk½9„tzѳ"<ÖPþn€Ò“(ă }+~“w$ç°ÈT`Ñá$Xwµö±»Zx ØI°±æ‰´éâh‡3VF²ïÂ[iÕq ·§f\ÜѯMA²ó1‚ídÍÞÑ@UFqãЉÊô“>acüujb|g"À€'ìúe”çwJ›Ö,ìw{D¶ 8ìÌ«‘¹“=EZL—4&×*Åb{Huüy õ~抠Lìðûy• PÃþ¥p\‘ã&…ÑœŽÉ2ýέ´^aUô#Ô±=ÃÊa¬#Øl'¦¨YÙÜ¿Zù™òñ´ àõÜÆ²…10‹}@§›Došó*Ø9‰Ú´ýÖsªp‚—MW½xG œ—¸,[Vá;Ê« x½Ê)>'Ù‡±PüA9+vÿ¿ØÖšRX­Ö݇2=­tDZd J±ôRÓU)¯k¸†O]fðçŠ0Ùˆ%º„&rYÄ3×ÀôìÆ—µ§ ‚ïݶXÁ9—àÍ7fk ˜ô¾ÅD÷#ÿuðx CÉû¯w–®Ý¬¼~ê=ç"´ßc²b¾†Õ"úÉÓ\Ò¶ ‘4óäŽGIME£®ó¨¼8bQßòo×:„™ ¿Rš²Qïßô] W2™™Q‹äaÚÜj²ïE2çÃOòŒš•0‚¿Z6JtÎK{$ ½ª$‡¦†W]tICRÝãL1³zÙÊýÄ©Ç6ÄŸÚÊ`¯B ?Â5ÿ¨4v&úçs oŠ]!ïšvC7v5ç³µ÷¬Ô7BÇø÷qC~îì§]›‚%þ ¡¡07ƒ y‹4ͳ 8«:Ò!Ý,…üŽòRÙ߯&² i­òFÓ"×#¶ ȪN"+êÓAH…wŽåhÚùYug²6UÚYô잟Oë¶½!ü©®a­ÇîŒbZóõ±¡Ô ¥–ú™ã¦ˆžv!fòV*G²xËw¥L‘ìØ;šÒ“Zߟz`8/={Àȃ4òç°™MÖ©ìÚ´TYÇLðªw lƒ$^¥æ¢Æwš·ZhvëÁ¨dè”÷c `ø LjQR"2ÑuÁ¹zÞíÍ@Œ å,b=ZíÌH“â¬PÇò;æÃdÖ-ÁãYí§¯iæHwr“W%a`8¯uêÏg²[Œõ€yƒ÷voÆÖÿ¨àýWö"J,ì«¥¬‘‚uÝoõ¬­øÝå‹ä pW¾^‘,döy3±ÝËaæ;¨%ôâÃF4³¨_ ¶»X)°í‘9²öYð[Á…¶‡TT]5j¼¤ˆa¦¨/È ¸f³ ØØš\.Ì3Ƽl8Aì©Iµ!¦¯Iô5q{ß©r%ë~øÁ¶ExËl¯OŠÜsëƒP ?vîi‚/a÷óº¶!=\C ̪Uó1žª44%: ¶îwò:øzSÅýBsp÷ö?6Û²ËçP ì\YcRmžÀû ãÍ2ÕÝ1ã›Ç[â¶§0;60rwû¹AB&:¾Èl ‰†ºÌ²ì;óÎW=—¼ø¦ª£Þº/îRW/2‘–åràê•ï ¨€G]K¡Eb‡6¼*¿‘‚šÔj¢˜t=\QÕµÚŸc>ù¯_¥æZßæÇˆƒçôð>ÀÍ@9²AY\kË’ÅI:ÿmÂ<Õ#o ©õ:·¹­ÕÕ,‹úŒæÊz¸èñ=`×Ú†¸†ì§wXýDÖѴ̓óá«ë‘^+\I?è×W6®”6 ( ÏZøÆ‡£Äq•q0º»R×ól˜Lƒù¸Ýâ©óÈ” C„’ò?÷²á-<ǪÄxüÒôr*¯y€ÎL î0y5ð«ôênw=[«ˆ:¯=âq,î8×Çh]ࡱ²åAäžR‚žA$Aãº2æéˆ*ÈuJ±ÆÛ'—VA:ü…¬|îm.;¦IÕÂë'½òyð'Ð/[Z‘ÃÑ6OãÄé§)Ha¡òä€ü(t`š¯šÂ}hEÀ!BÂ=‚oþ‘HÚúMˆàN4N­ÒH­,EQ€ P™:Ç] 9¸°Zl1+Ö…ƒ±†³ÞfÛ¾åå{3ãws[;:’,Öß®hkWIp`RÏïY³Ú1¯ÍŠ zæàF¸¡Wº*?Lyò¡5kMú`=éÛûC•E¿3¼Æ‹7 ö÷ŒÏ¿ýóc LVJ" |~®&4ÔPH:žkk$~Rƒqq\³¬:Ý 2¼EvBƵRæNY¹óÞ¯¥§Ã®Öm¢¸ù(~¢þ½Q!c8ap¸¨4yö ZÛâ|¸ÉdörI|­ês&`-U<%?èFx£„<}µo©ê¯Á° É¾¡ Â}É«9Èäþ ï *\iûðºÖ\ÞѰ˜ý¦ÜÉÌ¥2Ï!ð©’ƒƒÓœPð¥rLO2&uË¿ÚAF“µ¨X.‡Ó¾–éQ LÊÓEÄ`²2þgÍJBÁíaÉýj”†æ£n·ìœe\ª· v š7¨å’#Â?ÙyJ`ª ·µÕ]uÃ>•iÕi sŸ×€3xI9]©ûúüQ:ŽrÏ|ð$Nñ™4` N3Н&6(øª9¬®MyÇ¡ìùTÇ2ž…ÒǶÕAõŽö‰Ó^—B½ð¬Gc >”ø°Ž•CuÜ>$õ\A<|öä˜û,Í aÛkðKŸ!鯜ŽôõTÑ)©õḾ9’ j;8FWƒ zÒ­´%÷ÜÛf…ô,ÎnŒ,·Ýtæ)yؼô‹ž¶ÁKKyOPºôO|%Eg ¦áÇ|³â °W9­àÉÝÀîƒ"uk¯dðë—í¼@ùÝé÷­ê»M°è ˆ*¾¹ŽHÒå8· ¤ÅM YµšÖ±ü ¢H¡¼Ò}_Éñ1ÓVhCÚ[u"ƒÈoɵ>~¯BÌÀ© lˆ„Ö%ò\3+2ž6—¸!µ„^]Ñ]ã˜5l˜³½—}ö¿ØfÝTûáPRˆŠøZhZ±‹êþS弿ùHÞa=Û…9[bz}I: šßÆàv@iÃÅP×è8wáü¦ž#„KŠ•à¾XO¥~À.‹ÚÞ&½Ýâ9°¦?xþƒ„5ö§çYu" ÆýHˆFÈöµ3ͳƒ}¿FzƒA¸&Iy¯¾­$>¼v9Í,ñt)ö¾TòN˜X¬ñ­‡¹­èœš›Õš P دsêÖ”Ÿ‹Ñ3ÏLtØb! /]tÕž1h‡1/ðSÍq¥¾êÔªä'k·¤ ö~­Òcë:pè' B'dtz»V(‹§+ªj›ü¢Tm>/ç+:–unÆ•¯­e/—·¢ŒÞˆQމ2”òeË^1)ž†ÍƒïÀ3ØV½ÜgᆵMe·&ÖM…^6ÇO³ß íÏ7qé(@8ÐJþTÜt¶\n¼µŒgÝû™÷V®´†¯Õ„;/cNë¾ä‰¤ZÙYŒwFWéW(K Î/¨¡Š.ÂP÷; ó¬x7Ë÷™UƆSSêDsÝO±ÿ¾û†t7 æIøŒ"A_÷Q@Q'E®Nr_¡oAº¦1 ñê[m­¯Õ½ñ¯ôÍ)¯ ìðÀ†¡[t}ÆG¢173¹]¿y¶Ûí9wqÜ•­“—»¬ßœ”þ)\ž¿Èº{ÙÉFUJT·z äÞf¢"ÿ9û¸՟ _Ò€äò%B¬¥¬„Ý(Q¹ÓíRðt rû¶ó+0& ÍzØH¾´óÆYåÓ \;~q\MSaá ßÁ ܵgc0¼IÛŽHk6'3j›¹yÊ¿ìZ "bWoáËU:¬Ú»N޾ʶˆüª^vöÅËåÓ 3‹CÚ—0Šñà`Xîø¤\ÐÙœÛ 8FÙ´2‚©;ÏŠ`(Íz®í žZZ¼1Ð#ñ‹AЖ¬Â&6M $"6a*G[Ü$èJÎ õi.s‹8¤‹+AœGdÓ†ìê´F#D”·Í¸9^~dÖ}„F)ŠžÄõSš#oÿWlÀ˜¾vLe;€ÈôÄÃW²1(qW‹N,ãÚàûÌ&Ž Ûâþ2ÏF98ï¡yÅ }ìC¾ÖúƶÝ+&…×l ¯@‰{_"B´¥šr9§Â†ïd”I¼î!ô¿Å!÷ô¸á­VâGkZ¢#‚›•tÕ^Žé’ËÅ‚&”»p¯ ¨ž±kmxb´ØsP a)0An¶ó­e¢þ%Ѡ廨Ñ`ó§·ç8Æü7ì¬ œE¦”Bâñݱ&³¹=7Ó…>¯rºâþ.ä©oŠÇ€í†UƒžÒ€ºÖVÆwKĽd$v34ºéÌyï•*ô©­zóþ—GÂ0Ö5 º‹+´Ž>AÀ.\™W=ø3Ë`gRˆÝ¼tŒeáÓÊl=D²ð×Ö÷ô·­ fˆ})]::Z&2ï>}ƒ±"rÇ«$GŽ ¯ã¸ê,_nUxÐQMæT³¨|€"˜Ø4°û£?H¾joå?¿]Îr^Rðj¾4Ä2míÃÔo2Åí´{ïáeZ¼U©£QV=ü£³Ha¯9ŠòAºú÷…+|>õ­UÙņ¯–ªq?q;›Ù/F3H¥;Ç£>kŽ3䢬Åj× 3$ÆÝŠ@àCíîÉ®–°ñ« ß.GrÈQ_Ü®0À`w>&ĠƤ?L˜•~7øœ\vxaà2â`<“—>” ëÛdæXý餯I¯i㪭]†Ç±O4ONCg=ŸO,µ@”Ç<ãw ÷˜¶à¤£“ðtOä3¼cáR«¶¢©ÇºÖV7ÎÈ%þƒå•Þ'g pÒffúÃü®7c ’”˨Q°¿ä£Óø„csÂ4àÞ Fš³7Ô¤ÌTXaàDSw”Ël™ßëZ˜>¿U©í_Ò.mÄ]Œ¸éç~ã)1Á0AdÉm*•y|\lG²5Cê–£_ä3¢Cpìð.‹×´(Õí^f?0v8é©À—ŒnYú%1ùÂÕ_;D6fgÁ‘бö¢œ¬Ût:Qäýœ¡+>ÕèÞ @¬f >è]a:–<”ÀŒ¶¼'•ˆÚ%J‚ 0ê[‰´Oöž„µFz¬‚›¥• Pä¢åÿB¸ñõôÍùÕÀ×} ‹6Ь¥à7S7ø&¢‚Ö9Óæ½Z-ާÚtÄ €þ½®Ååøs’Æ©—¹ˆU»•áÔU§ÒPWfI’jئB¾ 猨O^Ï´ îÚûö ñÆCý‡­EJ#Ê‘äñi;>te¢66ó[û_tƒ©#GHvzêô8¤¨3œHøn&OÂ÷;©æ{Ù6õ=o —l…§dÄdŸ¡´ÁÜÈw¦й&B9;0Ô‚}»Ðm¡¡ ͨ"×äá똌Ø Ú¨„b¸µfB‡_RÃ2—´Q2ÚW˜@#À5].¨‚–›œç„H-³zúhÅÕfF!èëýª±¤íK$®äaª9+‘°Nàhký4pÄñMcðqAF¼É¾êlÚdίšU §‘—JÓÂRåKþ‰¸Å°Eî~ØØxpZ"d‰L*PÞñH}Vè»òÌé‚ÂYÚ¾D2ºú¶8aÀäÛR#,+W^?\#ä°$75ÎpŸÊž[–AÈǘmíê—…g Ç÷§Ót•ðv(?5»ž:Æ7êq<· ~° ÝöhTàv›šú3ÛI 2ªL_-k±”daÆThS«ô ê¢ÌÍ%)É«ltIåBêKU4-B(¸~&üðµ’]VØ=Ú˜˜§¢Ú/Mì¸K(?PÂâÛ½P¶E¬C‰|LքÀy[¹$h"èþ9À°Fï+okeÈD鋤ëßCß{Ýc·†ÓÎ÷4ŠT+ÎQKt ôËÒý•í©/äÁI³4*zŒÞšï ³’°p ¼¹¾kò[ó¶WÚ‹îçãìç–BvX‹FöU£½ÕÝÓøS¹ï 5á!;â¡-oD¯/£’5ìÊWç²ÈÊî8¤ôyNŸef"L  J"JÍ‚¨’²B’zÿ˜iô˜ Í%Õû³;Ñž¦y³ÇìiTÍ#aK¬¹8±ZðKWé ’D×ߤÃQžÅûÔWG0‡Ä <„×Pƒáž`m¯t2Z&°Uˆ¯I Æœ´¯$´Ê/da1è!a€Œ2‘Ö>F%n¡"ÚwüŒ1×Z–wuèmAÌÒFø°ü·TÈz¨ä>m /*cŸçN¡ØÞ²ÔZüäk…ˆ{ªÿγËb—»o Óø¥:Mîùj%0™\Á@éæ I³4NkÈÕ|N^3> äl‹7¾<%Œ$#5á½"­ÉœÖôƒð›£iEMÖË¥RÇ”#gý‚ÃH1¹´V‰G !IÕd#¨ÆæbôXCc‹£;”TÏý°!_l’dáY7ƈòý1ûÙˆ_'£Fü^²Pm öñžNÊÙõ¬’KXtu79.‚È/Ïd:deVÂS†yÛ¼¦AwaD“Rðiî?ë)]Jý£M3ꀙÁ¸"ÆŸA Ífµ2lz$Ujºã²&§Õò= ¢ ‹â7¿=ö ç®ñ趬<•ŽîEÌnÕVjŽ Í˜¼1ÙÇs+Ò@ lö âÕC}ÆÕâãÁ›¡:&Ð96ól˜GÓë ÉàËo|4äE/zµO=p[›¿ƒEÎh;­Q¦ÅÚdþžã .²ÆZσ¦þŽȘñ}³ÿÅ–x+¼˜3¢´ëìâ®—}¶Žä­)# ¿èªå¿s’ùÈãÙÝç‚‘q¾"b»·jµ“Æ„èܺ§Q¡ 5÷¾Mgýx°j‚§âÏ”‘E7l¼{ÌRú³`K _œ ±P¸‡,©x]OÞΓ›êdõê6í·<­à‹â„ ªõ»R4ee83c›$©þhªáX)ªY•¤–4нvL»¬°Ã\®Ûáç|ÿžu¹Îm™/„xêæÉæ¼ö“Õ2µŽŒ Kˆš"·}/›œ5ˆîõeßÖ£ž{7×fgƒ¢@ºsq¸ ¯¢˜¹o—¿øÚØ—N­/¤AJ£'ÛIB"arTü›^>ç®@^ÜÖylé pàú³]Öç†ÿÓ< ãQâ>Ûf[sci¡º[û=ã)TŠËÛ ᛦqÏ3Ô šQV›Ü 9´Ãe·qp:9¦¡ E; D»Ä;ÿyB„ÉúÏ §«„ ÅV×AŽå¡Ý7H-DJ\-çªçŸ•/P7_æ@Âà»cJnW‹f¡Ü½A¬M’šR8h²(Æq<P÷)lw.¡åàήø4e¸A†„Èb5ÏŠZ é²»ô`lÜÕ“M¾³ßTˆ¶åüZùu6”O0MT7Œ‡§–5Åà?ðk¤ª3påÁ$‰Õr7È€HIZm¯F+”²ÆtjsнðoovcI2`qà¹Rª&>‚*‡0 ýIù’ËI‡kLA†–±pïïH&ÉÈî·ê@p:µš(„ ·M2.ø¢z—¡;B1¬”÷öÐ;(RÞ1Z ïÀ†þçÞÈomÎþB$5Þd‹Ên؉¥…âijï‚xç.ÏÝÃ×nQÆ?ï~¯–ê_ªÀ]$GÿuE¥¹Æ†-¼Ð*"7‡òÖ& ʹ€´HNYâ>‰ Û4KHñÆ}ÔSŸÂ ’R¹—¡Qr/q²ëêƒR ž×àõµ„&Ê”@À™4BÓÓÍ*Ù€ôBdßÏöÿNÔ‘kÍkN·þ†¿!ŠçeË%óÒNÉèí"†øæÛìٹǙ„¹¸Áññ1 scÓ‹Ærãt?'¶§‚ Þr´1üêÓŸq´ß™.ZreÐÌ۳Ŭh¨w ‹Ä>~?yž±zžó…`¦§¹]£)ñNÔ‡jÍd!ARyÓ'îœz6 ‘?r˜­Èï«;Œtw|íãGùŸ8 „Ë]épþî±þ²Ô’óiÜ FÞÞ’äYžÜ=ö0®ñêä+òÞÇÄ[²æ«×lÇI®"ýP¡“Hµ¹7A ¹å|Ò# ¯pÿg¿Ïb÷…øVK;†ëI®Jxqž~%¼B‚ÛlsøcÁ!Àv€w!óˆ1´gx\Ï9d&,¿—šdLÍx=,Ä™óùÇ•cÀö yÇ<+lZ×s‘5.5®p€ä¸3ÚYÖ˜¶UF湆øc Om™÷öñ¨ŸÐ¤–³‚ÎFtL¨ ©ÞP=^qŸbW¸T T‰9•Œuç( ›æ¤M;“ÎÃ_©¶×­µ“H?wQÁ. ˆ±:¾o‡;WÃͨ®®»üZ67¾8»þþÓdH ¿ŒÒ¶f…dzÁ{CÈIÆÒþDSç¤V?Z’UÚ6´XúV‰b(O°içr[Ø4àèƒ~©»Ž—ÀòDŠŸrßmŽAIKì6ÂEÜ2Úz÷ÝžæüC*z˜-ˆÀFˆ€}ÐÐ.tú9¼‚$KxŽ[­§Œ‘hdÛ«7„ï¿ öÕ.3XšçkúÂé;Ê $ä ñMd“!Á펙}b)ÞFéýùjý'¶¯,µ“ôc²_̪E3ËÍo’ZРû~ ÖT> f®ÍMQ;Ü%Ô“PÿLXTGŸ‡¨Ù¦è#­Žƒû€Ócá &@ŠVÓÑÔoŒs* ú2V}p£3ÑÌá…aìâýƒÊèÏÁ4«Ø 纅‚„Ú甸ýBÁ¾Êĺbaîý´!×%l¶ú~uTª’›1@qÖÔŒ2ÂtN.([¤Ë»Zâ¤H(§,é)î§z»·”û»}n½Vo ’/Ä[|ÚYÒ#Þ)M°¬k¤ ù{e|ˆbÝØmÇÆ)ô–Ws|ErÑI(Ï脟2¹Ó¥~ºèBvUëím7p’ c0K²ÌÝ^!M„¼²PCñÊÔŸÉrzí\k’QÍFÏ?Ë5NÝ++Ǽ]–n<ò­’qs69÷cèR’_Q~?Ú²¡‡Èwk Vs«+X}õ¿µÑϣʂ’*m™æ%á.ýíû€%e¼M:0Bð/Ûz1Gò$‚IÀésM˜¸‘>!ŸRù?Õb¿šÐê“åuƒþÜî»eX…<%m’(èIq¤ÉüCàò*r^3Œvÿ[“×@²Àïñô±q'Þß;Ö˳Vëm†GzÏ«žåþƒ6—§ÞŠ@æ¨ÛË¡åœÁ{Ž7–n~à,W( 1œõØhœŒÅ¥2:Â<ûFtYð^FùÝÕ'ûQ)6¹×µ œÜr"·;½;/¨Öo¶#ö%9‚µ¸šÁδoÞ -êŠ;S𦾽XXAØ©(AÓ0¯ 6W|¢fuKᆌ)«>Z;slŽ…rÓLax/úÌBm„Îm-pmÿÁ%H (VVñÜzGоÙ[†ðƒë8&såÑKí7ú›b48»Q²ûÂ?þñ’îG¸ çÿWƒâx*‚œäçìä¤þ1¡¶ñôÒ7Àð0!kË(‹ñ ÚÏ‚c¿ÛgÅY21›š£Z‘ÚH¬O›·å…ïÿàJ7gíY£àt:ë~ ´ìôíòø ]2èH —¿hö ß ”‚¡ñ)ÙEñÀSé [¨ ÿ÷ÊGCz4n·‚M-±¥H)+–AzšO¹&ò59±Æ2´„™þ w†º ,è5wšêƒè5‰¼†Á¦•³ Ö(€Ùh·+ÇEw sgœx9|+µO  ÷Ö Ê³7çÁi_p{ ÇeÇnÝÈ$F— êsð.UTˆ€±Ð¢…À4e¿3»š•*%Ô#Ê68Y¢ð($íæ{²QÀ!Q®<¨Ó\j:¥qÙÐÑL'ŒØSlX>±§›¼0õ!cr3ÁUW‰q€«‡AZÈœ/þo í º\ º+¤Æ%‘,ñÆVMèLÀQM~B¾Ïõ<³€'š³bÊÈÇÃ1LÒ–÷šô£bu±å,šIƒ¸^!³æíT‘TcñˆA*xñM7R¶1qõýÙ‡7}püt œÅðݱèEï£Kéyå„"Õ¸}yºÔµq#6è}sÏÌ}åQ æ‹Õî—"¹M¤‡ù}•ZÓàhKÃßI6Hˆ¹!•iÕE¶'Ï»Zœe™XÜ"Lf,"©Ïb;U Ç^@4–K>w ¢µŠà‚,†ZÿmÞ¦‡òˆÛËÌ:ÑhØg(Ã\€Fùš3ƪŸña$/qµhaVI‹ßÅ _·&g‘Ë’! öÏý4:× R#ñQ_î÷ˆŠõ$Ja­ Àœ¯×V(._­úñ´yfð+ᣩÿ³ju”êLÝúZm“‹º“üJ'dpZyV¡¤Z@¼4©Ù0»‚BµöŒÅ­C÷²˜—š3CKcX‘î4ÕÈÉ“`¡ò(&¨Ì‚s° ä×àíå+¿iÔ›—m[äÚZŠl’3¹h)Þ(‘$,?pÄiN 9ûÃfüW³ƒNÅ¡<:0N'¡N‡ÆôóÑ ¾yß¼ò£Hÿ½€¾l¥3ÊŠ_`–gÞÂ$ïÃhîÛ‹(‘ÝÏ _è-?¢V ””¥v¯:i-M “ÑþVýa|AÎb|æµcF}%Y5í‘+©\‹¨aBã3B/‹Óýp¡:ºèBJZåo·éÒš`oaüL1gmC=“œgig§18œ”Ž å‚¤Ä²yL T/žRqƒ[Ø€eÓ]l’øˆ[ÜB¤sÇ®¸:­døÆEÅZÂæ¾ ü(Ê¾× ôQ%e¨}[ê/ÈdJˆŠ¿ÑŸ^N°¼v$z—/Ô2_æÔr÷]a®b”ƒ¹Û\²åW~Æí³¨Ê{NÍÓ«ÈP³‡EdŒ²»­Iƒ0(“MßЙ–Y–gãyjZÕP#Jæ•rË4©Ê”1ó4ÑiØ8Óo¹ŸŒ lÑãšÕEç³ÑÞ«àö÷af%jwàÙDm(Æèémìû?@Œº ·ñI\3mh“´Zð¶/ÖÆ†iÈà“Nqoý²A²[úˆ,û&žâw¶Ü%šÓÆJzC úÛÕõ×¼w¨JFé B­ÌkCG:È*Œ½Ã›Ì­2«÷Ïz MSÔãG½q"#ý4®É}¡žÍHÙwu²ÿz1˜|Ñôg`M“޽uÁ ¯¼«Aƒ$ …”S8RÝÂÙ°‘«òëö2X(ùvæ+ÿð~bå¼- Ns+;G6WÛœEuµmé;5%´šHðyôE¤‘aaVRé¹RàšXD_i§ƒîêXÔ¶¿å±%z®n†ÁZÓ•P‡}£ø¤ßògò:±bå|HTö=q+¥³ktÁ­À«à­ˆÙ­øƒ‡| ^c¹~Ñúï'ó.L¹òXmt*Â#~Жžäþ;ÒÕ qA3E7æï ¦ð ÍÖQ®À”¡ë½+a»ðG½ì2ÙKg¬Í@‰›ÀTëD}‘W›øïQç?³L’¡sF-u:z‰MHršMýýö‡ÒSÄÂÀªò÷6“QH=¸?’ŒeÔ$£ÏÝ%(ºo‹{<΄Oůl›'×ú’½€õ±¥`2å v>Ö»>eTåñêÖ/ÇC!°> Xšc!ÛxÆBNÐÑXQÇFLð ‹CàïÌ÷ø}¼oýE³Ü°-5&¢M6ݲUù»£ÉtþX©¶WJ—q„@Ñšª@äË€/-ÐÄëœEnÒV‹{µSGÓ~Ál*7Þ8 ‹¸*ã‰iSN‹kž7D“•£˜t›9Q×cƒÑ¿h»Âè÷UÎs¨óo¹ˆøò¢]—¹íeÐÎKÁ¼Ìá¡åœG,ý±F_qiÜŒÇ<¬Ë_½Þ}pàνç:DÕм&Þr7qïÉ¥£¸èû³òÏ_±«›È|Ïy6ÒÚU9G¾öj½”2xÆ4O¨ _¡&ÖÅæÝm¬Hèg¬sɈ"0«*yïVÕ°³µ}{šøªc[m¬Üåì½&C!ÉT)B››hÞ¸Y ñéŒËhöéÑØ ¯úb0Q‰Bk”"'." ¨Ðͤõé²rÍeèÒ1 DÂÍèTXÛ¿P {í 4÷œrˆ’ÌöGߊ(L÷«—ÌåeßEõ žà”"ÕÂÑÐ-˜=ï‰ÎgD¨‹Ä¿aúÓ¼A$qñ\þ^ÿÅC tPx)sϲÒ=µHz9:«…þôM+÷!~޼˜¤€°@dnîü|,•Ù~{¨©™G‘q¡ÌÓ1 ’¦ÚƒDyjÎ×F¹Ÿÿ~w^,Í1*®éÿ%­©ª6£^Žãõ¿´ÐÑ!§TxáŸS:“^C?Ó©‚ðÖE­m8í§ŽZ΀G!Iña¶Åb¯&Õ—©èk±~2»,î—)†ß0Ó+Êò|UdÍnWOÒ!ß>Õþæûwo˜ýIÚ ÚÍÊÌ”NxÔÈ%£êUa_ ýüiyé¬}ºœy·IZøÛ…\Lêü«ÿ À±ÙEY3#I9‘èÈ‹' =’úT2òC!Î*™Rô² ªèàQÏÏI4H-$?ú õìUóãëñ›GrçVM¤" æ¡P„HìT*ïTI¥F«P±*+fVd¡õU¨ š9Jì”Æ„­Ù ™‡€ÉÍBÛùU—g‡XãŒ<Êìùe‰lø§–Úÿ”¹íÚºf#xòÏâìg ,ÇU¸Bw*`vyùb<ïáˆ$õ7.ëÌó€àœºÿc]‰ [ƒÏ/@¬©µ°}Ä Õì6XJ)ÈÎiïø+£0°ÄÜ5ù‚þœögëm10¬òh "<6@ÕŽ"¸)ý¹!´]X¸?ÀØÛ׆QØS>\^,0Ê¢qIZ ¸±ßù?ÒêÇrpN˜UN‘ÿI£Ä† ¯ãIÐÈ·0Œã@Ôàº\3VaOgÑ‹ÈèWg pŒ:UØ ’§ÑOà ºúŒg{˜ËË5|,\V´ÉÆãÚÓ`ojFx‡ýz$ZCÍW™Ö # µ z0Rp¹VF<„¦Ö>0c('{Ÿª[·Ýå¬J°¹àªnqX/‘åÙK.~|Rûø-æ'M »ê”ÐÆ,®gù]œ'ˆëóå}ÕÁra®÷Õº_Ÿ@=‘þO€&þ6ËJ?K-ë;õ®„³}¤†ß ÊÁL$ÌL‚VÖµÁ¦³X'%:)µÜÐä®·Fß)i¸Qðíä;æ,{›@ɼ·Hó tãH?e¬B=“½*ÛÃÆ,úF1p|ùíH Ò¯ð‚©Ñ¥Zk2P8jU7‡—@ðÜ5Öd<­u?ì °B¶m:àþ–Ùa$e©×Üv³nˆ¾Ò„H->ÿ<äIä”ufN°„î}Ù&‹yh¬Ÿºg¦÷ <å¾ö'lÅ3ð†_AT¬¢ù7”Þ¨Þùl¼û˜è¯1®UåýgfðM!›à¿zžâû=!ç§@L/ÓÍ:ÒájJ#©.2ƒ?n#¸Ž§QZš¾k稾 Ø‚;¼êí¯˜#h.>¯Ï½zi c<çâO€ŽÅÔ#¹éþòV6I³p±¹D #tyþ¶rüzd2}ÝUúÄnxž¡Î÷CÈMÀÓ-2J´GYsãíOȉ¨ÙOJÍÚÜñ#Ê}9d§ð¦»0YKØ£ÚŽªÿø(œì,˜¬{ÖthŽ]1¾¨ûÿœµ·‘ÑX."B»ýc¿ä¶ßŒÆð£H¢@Aó|í|ëG뻳g²M û'ÓÇï=6© hdvBàTÕtØ ¯·‘'@½èy•­¨¨û~p¼Ô…™'`°‹û¶búƒ,¼Ï³; êWÛ`ïàœ˜²‘÷‰±ŽoŸùa®f¼r±DÏö«";ÎU7ùÀ°Êï;Ýv½ù_À¥³0zy”¥R†L8»¸êPs×!æ;ÌøIkóYCûhnûùfZšâa- ¼¿ÍÔÎ.S¢–âÇ„˜õºþ#çmý‡Žè þ9©¶ê5M¢!ú¼€¥Q³[ŸQeµëâÃÝ?U"é “Ûè¢Õt:»sÌ2Ÿ@õÎ>í?š”ô¹¢ØC†-*ëM“J¼X £ãZÏ•­j[“'ÁñþÖŒöT¶„eÁ*¶ŠœšÖäÌÏXìSÐ ›ü=ï5üN´1E…ò¬iØ2Iþæ}¬"møë‰Ù³ H¨›SD ¥-—0aa€ È0 OÁIâ Qw8-<)ÝŸ­Qa!ÈdÕ•r8Õ–k¾džÂßßÝœ°>ÊH”ƒ»}DI æîù– à}Ð ÿ§šlü$öÑp²ö FkÓ{°ÇÇ%”ñ¥£Ä á ÔýþÝ¢SEò‰ˆä «ýÌL@Ðßiÿ–ýC·%Æ<`9[„ëhq7=ZØ*Нâ½Nôò¾ñ¡äpï‹óioB,X~‡ÿMç¸rò Ä%m¦­>g³¡¿&g&H©`v-ñ(lJS«Eüo4˰¿¶ZÜÀ¶…¨åN]âdÅïrVo¢¢·ƒÓrá †P.öYI1}zEmðà‘ºdF€•“šN[¯®r½Ð1XþÙ‹LÇá¡jͧ¿A2éKÉWÉÚ¹Ý^ÛŸ×3ì.XÀUAOBdð\T£!û)W6„]ÕoÆ7{ÔÝi˜¥FÝÐõ{Æ#B»ƒ˜øãlî7^‘ÃŒ×Mw`#ý×· QY{>-™?¾×_«#€—5Ýb†î&‹ÏáÜpÁsTí$ƒvÓœ³<´ÃÓ6uXwA±F]V7{a”´yù–@%q%¢í÷×è(Í¡Ö|¦J¬Ç“ú§í6wì!I…ÍqwšGAˆ±6èöB¥.iŒ¦ÜÜÁ r°µ Gúß”òíDIC48ùYJc›À7²%q¿ýAæÚ ½€TPæèŸ-!eÎæ¡nVB ™?í*CšùìÕ1ÛR³E¸!‡aÊê,#º??Úþ}N‚ù*к÷e¥Ç\1[.ü¢§ÂS?›‹tÎ\A9p-áxMH€¥:{µ²6¦MR ÌWB2„NËܸû+$íÌ–wR¼]ï€pæt&d ®C*7Ò¹˜ëóxº…Å¿ ߥ5ÃX²ÚW¶ÔþØ‹>ÐxN»£Ò8ñrê¾RVÙ#áÚΈ¦x!FÝSØÁYˆÒšþŒ¼õ{ï‚`u£K­Ëß—ÄÓ´ ãµ)r<ø££÷¥­`WÎl»üÇ %t åÎå.[©é?âlä–à‘˃jŠªx Ëx ¼åi=-Ä\ Š`ݯü¶K¶Å=]6cºÚY'c”¨ :a­bNëôà¸EH—Tì°~”;΀~\ºÚ œfY¿d´V•ÞÐ;=Û¾ã.á¡ík°­¶NB;~^3aÁ¶«.I¦šDPg™ˆ£¥?ñhàÔ%iÝýšQx5 ºá¦n‡ŠÃ §9k¤0Âßòônxj€"³û‘9#„]M¯<—¹«öfÅ7P»þ#§ˆ]Á×üs(¿üý„m–cÓâÍÆ/§œL8aŠÏ6›žÚ9ƒ¸ú4åèô{´ã$K¼ÈàcÏÎÎØEs M!gáâ‘· §n½¿¥£nˆ‘ï÷©ð¯°îûÞÏ#+£$‘…O‡t9ÅÖ¶s"õC @a5Î(èüäMõßbኊzaêkáçggö#OÃUæ >­ÃZ–Õô€=|zÌzô|25IÄ©yJ“ÄØß ö ñV•Ò_ϯã=p´o·ßö[y”7Ý9@e±-=Á­ ½4ìÁ¥NEBÏ:̃Lù6~;¥Ã †ÎÑ} þXa MôĨåˆÙíú¹!Vß gÆŠÊX_DRûž«„ÖKå°+¦ -Ô¹Ÿ‘óçZá4÷€åËîêu­õKô |Ün~L·¬ŒsüiÛ6,“ñ Œ6Ar·ð Ú§‡w=î2c&›¹ÕÖWÓ£ùwÿT€Üe¤nUg·u®Ý<ëEJOy.¦DK«õ’ºÝjì™îK;kœ1¿èÒneñd•‰Jk ÚcÖ¥G­Oi,yÃÆ‹pSÈè‚~Ò¬Y{˜4;X—#_íý¸mq*k÷[1· ñdv̼´º“­PGƒZëÞ@Tײ²¦Š®ï~G[ëR‘`Jà“§š2‘qÁxm&%"zìJG9-o±Š¯eû_â„\“Û&?ûÇ"r\R9ÏÞ UƒVr#Љ/8Ö|8®º³j ²¢y™¾-³ ®#PŸ~ºƒìã7nѲWƺõ5q±IQŠLlã䙀0ãDp´WmãU+}¼lZÇâ‰ß€&>t×<ÿ‡žûQì]ñVug´G]…5…F^ÆëøÄÇdfÞG<”‡Ÿ¯;Þønª·k®nQÕc?Q÷βøÓÆîá÷Ðë*{$<&濚—Ë¿À'ôœô=¿7ŒÌt)¨CÕj8ìà®K›>£®+b'ïú½wNÇ8Á£“=eIlŒ?)Å]—2¸äìŠ2Ì[?ÚbCšÎ èw£ÅåLž5;«Þ› xjc‘À±»ú‚ª{uŒ0{Aß|„â±7k"¯â3 ý!eVFÖôUq´OH¶}ínô°Y§zoÒ¨æŒ ¥aOd*G‚þ`&0+ìtå4[¨ªAò)Õ˜ž}šyFʈïÛ¶ˆÃ¥ëÚhd3 ÊØD9“;o™@Kùù žÞïáãGÒ«kcݰNâ¼90-Ðá(œñ¦íkçÄAÚç…BÛ¸/ÌïubÆz…óö¨Ø_>Q¶ë!%Àç_×–( ½bœÛn. ¹Ãú§@k"ž))Á€Öh§¡ëàú~NŽÚÆN4˜/¶Ö”€@<º|Բܶœ83óŽ=¡FÙ¯„ÇÆI#Må¬ð:»Ü§æxá=crÔ\ÿÁý’ßN˜8'ã{0÷fvû7NëÿÍÇ‹XÞÆ¢)¶Õtè}Øó‹eÛ0œ’gž%ä¾}«|ÿ&ZÜÕë]mÇ ® v){Í-u©\5¢í'J¯æsÄ,¥z²17 áZ2ß®«+–5gj^^$óè‹Mɪi‡ÒW꘎Ux°S™k4Ÿ6e³$I/Bk±Ö€ì¼ç ·Õ‹;{Ý@–e•ë5§‰& IßZ¶YJÇ?z(Š.KÚ¨§<1Ê„u@]BikíÇá.訉×pÕ³KOö]2»Iv<·Ô_Š6s æ ž ¸>ú+ØKZ·ßöÌSvB9Õ_h‡¥wÜèÆôØ®[ù2mÓß|÷€ï7Gï`lP³WX´”B/»¬ó ð„~¬V¾¤OÿsP±ÞõcTuØÍ<ÇPe¹Œœ—P¹KÛá×BŒŠNHòiç~´³–×\ê?ó‰ZÄ;\e!Ò|²’ivë0ü% DE‚Šœ³e1›Â§8¶ÙÔg¢N“ ¤‘c±,ãÍX3ÃØÁæÏ6É]/äòa/T˜ Ñ ’VËʰãÏ÷yÃŽ©ÁwFëÖ–wõÜ÷~íÒiU˜ö6ž!Á‹êBE ÔôÑ&í|¯ì,®ÈW?ÆDw!J†»ÉƒÔùù‡SŸ+ôëú¯aumÈüs—–Rov'’Yôþò9Œ‰:]` ª7ˆaEãÇ(pdÕ£'3*Æw…b¡2–½V ‚ØÂh˜Í-€)Ö)²½¥w&û/9Œè½WªŒû@ö¿/¶ÙõRò–„¶øàû*¶só*¿H”YG³ŸÚ­¦Û< I•÷ÏVÚ4'}4¿w~׿ùg@.“ŠÕÂZºI½¼œ‘v熵ßOr¬*é»ÂÀMþÌË”É îu=;µ¸á➖ﻈ:Â<ö‹7òŠ–ûy²u€—‡©bj’Õæ> ¸þ–ú”øƒñâ–e—g®­ž—êt~Ñ;ï|~`ÞΪ¼CW¡7èVM5*²K*íÿ¢Å°ïž@0hǶöéíYYæ:Yˆ…qÞn¥Àó…J—ÚyÖ À'nðØ#ê%.9ƒb¹ËAhP ²[\ >–Ô] 5é™çˆåÂÛĘø5ÝœÉCýÔåÈ˦^Ïî:ž‡o5׿†È’øhÄ}aªü½MÕXv™›Úr˜Ä¡­;‚1`ÄŸ"ý‹–Í{kÓAí@«bÖŽ1J…M(›Û|MFÄô­Ylø¨ 6$=}º`´§žFõ?qÏguZ‚@Ë¡> ‘¥ºËqÙ È®s~¯’Ÿ™î^\ý£ù0f¥DoíòÚè‡Ó2“ov…\(nJUñ*t@h3qiíëñ{€9²’_1ùíßËÙGŸ¶÷ˆY%(mvîà?Æ©6É’os ­¸otíYuW¾•ÍG$`ä[%û-°O£ÙýÖˆå9­³j²[Ë#_2è‰%}tw~9FF`j‡AðCÐ|Ú<•ŒL’„tˆÄïþí+GÛÙä…𔘋’þ&¥Ã²‹´žM0A,_À·r¢št+ÙcÂûTkíÅ„SƒCq ù?ŸÍjë5ä–‘ˆ‘Êÿ6ì!èT׿jhQùvª‡ Κ£ÎûÊLHÉÅUšËɽwz3gD#m¯JÂá–ÝDi»õ? ²ZpSV˜%jªzNOYå5Ü—ßçv wZ_³¨šˆŽ'LûzB’F{.)t‘Ú>¦*F]\Š)eâeâ]”lï ¹3ÞEg¶æ¹.Í^`€Ž ç̼z'Äá[@‹OT®‹K-ë=Òàv ” ( |c>¤ý;æã,ß¹%žz# w~©õ™A¤>Zóª>ä{ò1òÈʘSÃȧCX0TL|ƒ€ñå!ºçÚí¬¡Ù½œöo}fj¤Xé4[ö™rÖkZå²i«[/‰†[z²‚W,ë÷»Tï•ÿx¤FF„/”NûhX¦÷˜ÿN»Ö2ˆKi)µYá6 ãÓ΋!âöÐU¾¢©Ü6)°™o£[9§Å“ø8E1”8” ¢Ây>V[g†Òçd¥>P.+°ßÿÇ_I+°ÍŒùúÈ›ŠÔƒ¦PÓ”2x¼®¡wÓHÁZwåy÷Ñ åZÛë º¢+iìVEógÁÖ¼^\ýf/í{+ø ü,ú§ln·"IJ´†óuFf¤þZÖÔâf\FsW>“Ì4Lx1Ë»ë`5m뫤".Eò™_3ï^» "¿RÐHñäÓbèD´ð,66ÁTz‚Nj»ÃˆN3kM²ÓÊÕ¬T ÇIrˆÓ§¥.0¦+ÛÝ%§ë=Ý8z¶¼J’ŸÎ˜ƒjÜø3-á•<"«ñ¯ñ½ Üwü ~ðí}æ¡B=á‹$è”Ôsó×ç EÕú~·i™L"Ä…m»˜ÇË·ò’A‡]TeÙÆaš½â•'·­§Sa›Í rÍÓ¢OÂV‘ù &wWiŒ©x1vÚl~nµüÖ?z§4ïÙ­Æi/µ>dSw7ªT¤l yÃ¥¦ü…³Ï–¨Õ§¯øÝ†ö± !"€J`Bž¯íülODË|ÿ¡‘ú˜LñÃÊb ™;IßåÒå=ì¶ê±ÛǸ釰i¬¢´Ý²Ö;;^|¹` ÆÛnòç‘蹄[íÕÆÓ³’ xÈúC¯eð ©ìÜ;Í’™}ƒ§7É^'U Æ:Š6óʪD:/#/±|‘Ç1¼à³üJ|(ÑXs’#ùe0؆ù±„õ·-P½1ã”ßEwÉÚÇõ´ì2DÞ„íË~aÚ¶ÇØ´Ò|zóiL} Á‰âZðNÀ:6™Ê‚Ëyδ³0åç…yü1goõ¬”ωuæm/7↻`Ôò€:á x‡K« ¬€s`Áß?\-Ôy*fSÅBÿŸ4ðè7ðÄeÊǬŸ‚ œ¶Š²M•3·RÜb¡+¤Í™H8ÃÔ0T0ÓÕÕº©hS?Ý-ÛeÛ¦¿Ú j`Pl¬™7܉ Œü<ÄÆ5 ×£f Nä æÁ™®‚»Î¨‡±¤—Ê&"S®*&r>?¬ÆHÜŸ_µâéºçÀ{wo(™.€÷åæ®ûuÂöKˆy±þ¹ûtL©´NòÀhMÉXñbh5±GgW¼Á«ÄÃ2ûÕPˆŠoä]KÇÿ&®_ÎôIH´–[þ*jCþÇŸâ ßLƒ%Ó¤LâÝé æ½>‚¾Ò¨×áÆ‹°¬¤¦ÌFZ ¨²8%ÄCöœž^ˆþ,]UÝ© šRI1å<Ëãù‹GÍà¸}‡ä2Z9À4#¯gUë×S[Ÿtš ^ø]Ž9~!ž‹¶WûÃ);ûÉ«}þÕ.–Œh öY||b¤²{íëÆJG~uƒTj3é¹3„K t›†¼˜wMwi¹V\Ä3S4°’8i5æ܉#»ïƒ/"ÛºÓ/Ÿ9%Þ NÞ<(Io±Ó¹q@ëžùô4Ü ›v¤›'͘öÍÏО˜ËIÚ Ðõõ£¥¢Uûò:¶j‰¢kB$Õo¬‚ª9ØÒ'¯÷ϛЯ¦ùÜ+‘ݦ¹ýÕï1Pù‹°uV@kB =‘¬ C”g3yûæ°]·(^œA-?’-T4é„)z¢ñù4ÝÄ»;kŠÚk·%&Ëâ4§ôéÉ[™pSÐ#r ×£³_ͦz{ÄV*£„‰!Q°ˆ‹7·Íuìåè®am¼[çÈ ô7 ò#±m18‚ä—Û1é9)’«Bé×eäï]Æ·×SÊË;ËdÊû z)qs™£#+–ýܯœ²‘~…I­y¸²È'V·êàÃtä}) ÉPî~Òf·«‚ÐÕÐÊéàXqìÒS±Î†cŽgå |ˆ¶ŽÄ›þq-“º88äf¶H >à Ýõ”„|Þ‚{Ëᬟ IÁM‹¯Õ¾êÕ ²³›=ç”bxvÊ6gÆßó´-ÊÌ‚ôêôëïuþ†ËÜÙæq¼·®“ ì:(ŽnÜÒ$µÅrÏŽ’NIø h‚„ÃÀШpY‘#UìZ–5†ë>yì+âàø¦ú8R™ýsKB{ˆ8vÄ8lFbú¬S°œ—çÑ„”úäœeç䳬'—þŒ´hU` ‹á#Š’%¨Ü«‰ÚÓW+ñÏ>.RÔmxj!.çi7 )ƒìÅ[7M!@ð.¬À%Ò…QTøi_^¦`¦‚ e b‹yŽê­Ù\€»…>¥ë"+Î`¶–tî%„<¤ñí/g`þ˜[4ϲZ™d¥H|ï 8Ië²–^Kï¯ëjÏrmvIW?ísNîƒsŠ3Œd|4Q„åþè¾÷¡zg·Ÿ Ëᵸ”ˆɰ»:B…èõ/eÉ^Dñ2(“÷«<ÖÐ/‘#ã̺ôŠæ Àÿq/f ÈÇ@Õ‡M EhÁ½‰ÙÏ+ Ë>=ÉŠ·ÚeÉæ‘‘zª"üè)µ…щºˆ„ÜÅVVÉí5¡³ÓsïYäèä`*5¯mQ¼Û)l¨jZoèT8S_&ŸxO«L$×ñÆ â?™Eâb佩šM[bÅfö𜸈çÐo{àÕqF×Öcº_îkò)¡[gGšÅ1vqÎi\Ù'ÐÁØ#°…ؙßôlŸ6Ò±Ø9D\}úY7åß¶±ö1_q“‰ëxÑ’Llïþðv³ÅŨm) ²ˉcíFDƒ“jÁP¥ÖÕ˜,ׇվϒ Ø€F¿nÓ@‰$žX;úX8A8 ûYѸ,®=¸OØ5UW]©Ê »?ÚÀoãÚ€D~»«²cÞБ µ|a%ÍâRÕ.Ëö­Õ¢a³\‚ÜÖ ¡Vмw©šå8¸Ÿ`™.3ÉÕTòUå¦Op°øH‘)ÇÞöS?!ЫyI$ަ| ÎCŒ&ÁÔ12ØÅç†ü\úEL™†æïµÇëÓ¬S¢!Ù?G¹Úî,!– à?)’ à2+D~£‚+epXçîÉ{ξuòˆÛnEÎÝU@SáAØDEœÐú:€,štÝä¬Èï¼à©g™ÜάdMO£½aGóü@ªõ<÷›UÛ ÿÅô.qëÐ:!ÊqsjÜà_ß;uäêL›¯)¼òd9¢ˆkꧤ;èÎH½ƒÊwgV4"«GÂ*6gb9߯*‡=ÞÒÊ5o¥ö¿!•½?¶’æ1+9 ”‘YVh =Á`pš0‹Xëѳ\‘™9Û¾ÙÌb­Q v¾3~ŽüìŽZ¨wÞSò¨KGùÿ ië@ø¬nvÖz¦fɵ TI5ò<Âÿ¹†ËðJû^‘*¸#yxÙL­sW¼~zn&&aa\ÔsÁxÂ%‰áܳ2×N¿Là­êŒ|­lð_wÕBöpÙ;zZä¾ðÆóÍ Ro}p{ ³U?™3tm>nÌ:_>ÛÅш6q•ÖpÓÒN¼Ó¯)á Osê%€™"±=ðb{(0ÿ ¤ŒÿÜÃ%‡Uh¯(âhã¼ ÷HË:$Ÿ{ô,nQν’Í¢:~Z ÃÁ Lhdù<ŸH"~"æ‘›_Kë¤ã›Y?A•®D‘ÛN6N(D´Ø€ûÒð±t>.SÌ~ëõ‡µ+áSÍ·ðKÓ&CŽ4¹*ùÞÙîGBÌïl8*E‰JP ÙyûiÏñs;Yц5ģϞ÷!‡Wk-Ó‚ÿ^6­×>Ú. $Å2¾(ú.8X/Reíí3!o»þ,ÙAd}2z+¦LÚËr®*Té¤ Äügº =#¨žÝM“û $Hw.•zMŸ1ΰߨ%1pÞ­¿®²u3™µƒ¤Bé¢>7HÌ­ -?CŸ„„Ÿ€š¿@ر¡G„—?€ÉF¦ÉL@_ÀcÉà ˆ ÖG-!Ϫ:ô2‡ÎuS¬èzíÎ3IÌè9Y^ÙÔ›û{ s,‚$ ê¸âç½#¼H¾69PB”Ü^ßÝïVKQ€?t‹…Hµ€‹8Yh¶¯ã樢Ÿ6e~oJA1Ï`à¤,1!Ö´û—èÙ—“†K–áÖÕol·Ðžªíº5@¯©0?{Iz9Äj²Ïâ˜ÖÊÛ³^Ø®jïŸ9·‡Û°ŒÅìø·ºµR­÷"?”Ì8pïш óЄMé§™â=`šï!¯`‡66¾ïB^&g$.­S Çh¡i•Mè<Û¤Øþ?„ 5;¬ªw8G·¯¢|+•ÛꦾQÙ’»°;haÕQâUâM‰Ö•H!÷ìE¸ºM@Í•»|¢ ŽØx/`ÍÒÍåOìÔ¡ý7ˆrÌDT-7Ì­×[ÑüŒÄöPñžÐ ”*›Mï!QÑéØ>È›ÏãÛÆ¥ýÊ‘¯˜¿ÎQJÊOÿŠ ¤l#…ÃØþŸML¢Pž¤:Ã?¸CcG¥äÒ¯ÃÑVQ&#ÜRžÅ·­((\åÞ´À9>p‚¯¸9®¯>Ióœí»æsØx?7_O¿QNV- "€_îîPQ™ñw»îÂ`w"z<Üo×è l±?soåÊ]½¯ èñNógĪía®|Pè2(sÞÞQòb?ŠF¨šu‘@²‘ÎS‡oîÿwß3vDQ»Žu;d&Ìöžj!†¯¼KJfºªv²…W€¥áÞ€úо'+"ƮԵôÌ%Ñ9W™ÅtÎ! ›O)aJa‰«®„Z•!Ý7FÍ­ÁWÒ­óL‚Ä NÇÙÛ n=YvyB¯ÿëx)*dÈv7gÎÞJÓ} R}½î¢~©ÉóaèÐl¸l¥ónŸž€ÑÍ™ü =ƒH dCšDºX8qLü&m‘ÐÌrÌenxîo¿0ïr¨¤+øçM»Iï+Èz¹YëVj{\Š)϶(º¿Øy/ä>àc¹pà.ÄÉ­0\Ã~w§ù|©ÆX«<‰Á³Ðöo,ŽäÀmÿ±ÀÏD}NM¸Œ¾iË‹Vð½×¤Ì?fõ#¾ùX{4ò[¥E³hzˆ‹š6CCÕ»vŠÑgøÇpùÆ $,°þ5“‡€‘Äø‚al‹lE³ô’6¬–ˆÄÿSúEGá9H\¹À(Û™$L2Ä#÷j›Žµ-Š¢õî(ÖˆñœÞƒ 3É/þ{]˜?Ï9Ñwžœ‰Þ;J5ê-­2¤Óe²j5š–åfþTìríMòâÔ²¯[Œ,O_‘ Ä 5 d•8%rú ê¬og†FQzú€ôéíjtˆï`Sâ *|èÜØž”ꜱÀ»ÀLN6|‡¬Ạ̊̓;éŠ2®x[€N­úŸ¿{¼A®UÛu¨zÂUÙ!¾]ÞëˆÉF™-òAÑ B̘ ÇÀÄÚt+Ë·ô Šþ.3¦ U,âÓ&ðàÂ;³‰»•付?n³ùÂðU—Ú¾ŸM„¤ýz°y¦HG¼w$ƶU7wÍĆs+ûƒ~¢Í¸Â!JšAO%@4âN%ÿBÝÙîd, ˆR1ütŽç‰õûc•ÁÕXÕÿ„µ£?ãò•˜ªù‰UætWñÌÆ»…ûƒ=£´X$Öñ÷×1Àâ«ÔÌzƒÏ,uWÉÕõ–l´ûeÌýdŸ”•)1Ây9ø"„À, ïU5¬nGHÁçŸq%äøÐlެ²Ñ+™à&”úv|ó©™¿‚œHcIr/&ó< ï8|e ñ$õêhúà NýiŽžšÕE}Ó·1[öºmÉ«ýÕ+Y7Rçn‡hþ‚'Àç{8ž(ÇòòoÕ–@Q\£Â,êò+Ø3¯¥w?Î._ NÕì`þž öþn­8?XßkƒŒe]€@v»bœÚW(üÏîi@´ßåô)Ü?9øò:’äƒÊ(ôxEšòöM~\ñ"úUèœÖ™?¦Ð?J Ý]pØ4©±CÈTaÉï Mìûª¾³Â¼ø×”µRmÈFikL=^FÖÆ!^SÉ‘!•(dËq·o9‚9Zkó0»Åððò_K˜y$mNH~²ãûGÎýj3®b›;^×ß[L2õë¡åäòÁ‚Ààlس˜ÏeË‘TY5qQ»Un#¹s™|S^ï“^SY¨;¡`b½Í%¿VçgWî£n½nT>~KDŠÈUº~þSXZ¿ì}‹DøRC,¦þxjÜõ~‘„ÿŸyˆè÷ >‘ð’¥-©}ǘ£®š%×úl5þ¦;K.©Ò¤>G•´ÈÈP˜hž"îí0¨Só\jJ>å${¿·ùš‘=ñoÃþ0*ÛYe¥åy£è·p{ )µc†v'éˆßÆ—à±?髱Ä$#‡Ûÿe\ËLx&7ƒ…Ó¥Ïá_A¿6ø¾W[ôÙÅÎTÁ?%ÀF/0™xØužòA¦/‘Õ*Æn4¼NF~’{\L1>(x`Ý᥹†D«¨:+®ã”CÂÍCîÃÈHª@¢p9ÉÁ¥æ~iV“ެ õvÚx|%PcUij¾ã‡4L_ä] ©¡Av1•ë½…’Q·Ö))¦‡£)šÍ»1kÎíØ€"\y³¥>þuâjZ•SCaÇÍjMeC ÜöÔ't¥¡€†æê"ïŸÃDÖäÀ¿°çšÎâIB®96³ç­eH°Z¤@G׫‹°Iô™ÚCx†ˆ’‰Dûvƒk%1G͉ñK,ðû”²/Û3,a®9öN ð¾u¤Zý­q5`ÍLPiª´Œ¸¹Œ²ËªHÊör>ž×4 bÓ O0¢BK¼Îú±ú}‹Ëî–¡7úÒüaý?Jànœ&u.w›6´\ ²§Jh”‰'±ðêEOÈ0NÑú²Ìöó›Ù^EÆ}^á•gväb3€ÀuóÌ¥Ò¿œÛCãnù “äYÃO$ñx? õKö¨‘‡6wßAm¨’ßÂáhžv±ïO_ÝUnEJ;?7Ék/(rú~OÇD­àê%Õ j³Ÿ¯îez$#Ð~—«FLJŸ9 '¿,©ƒ$8<Ũ ÝÀ w¦ºË¶ÓØûÌDwù‡¾FëXž£šv|æ•°+Ùr<ÕÂ9O¬¤Ž€/,wÿeGr)EÌhL˜T¢—ëš …Ôr ­Í~ã>•õ‘yþ•6)ã§Å6òy ÿº;š~í<¢o ¤Õã‹…ý†$Á»¶\Ï™e3Mé}•‘3/Ž@V” O§9ã¯K€+²ééàh€SS2c¨Ãÿpw-B8e¥浦á~ôÓÏÑÍ ˜ÖÞ¤_ÁUÅn`Œ§¦ÏÅJÓiÚaÇJë’P" Z ‘ÕT*u2Kú?š#=CÚÖ ÌÍ ÉòÈà º1ËÁÅ/oÐuœP2ÝìþSãD/ ®YÆpôØH ä¯èÈî7gŒJ|’^Ü5ÿ¿møÓ°Ô^6›Æ›¸ŒºÃÀŸÃ" “Qôä(¸gjíÅ¥…éïE*ÃLÎs$$nMitÐ’Æ${„/Ë~IrîìcÊÏ*‹6ÿ®UýͳX×I«ô€ðŠ'±"-ÿ§œÏµÒ<¾vVìá) ½Qöèv<í c˜¡¥¹Ò«·'Wü5]óo£K½+û íàQÖ·> „´˜/NT¼;f¬(†Ìß8w»C‰ÆdL }þY`xŒ>K«}Ê居 íw%#å&V¨?Ï9 ô(™’öäÚ½À#LJ„™_’÷ÇË8«à+ï€0××EÓ˜[ì±ùЃŒK,^¦¯½úŸB7¡±:Ö?;Ý.[>É(:üã¼ò4þÅßÅ\é’Ÿ˜øâbdÿ´Ëƒ™A]Kº_hÓ5`áS«ÛÙ*¶v©kT”€94æ”јm~͈x\,¨ÂÖO&î ®ÐÎ^ʉ]½.ãO¤ß6 ×YQðÆb–ú<ÉÆEÉÏýáLx'‘ñIÔ€®5dvS¸ÚË÷¾ë Ó”Y‘%*aÿoÄ qBÆ7qéů…ZÜÇËûT¾“þYå î*VVΫL!u“ÑØÐôî{}z>ÈÆ˜¿Œ:ú°x a> ÷ïe ” $Ô1ŠohÓºC›+³¥ÓØ2™E¬VÏ•‚ÅäŸû !ÀÞ¾¡uzqM(¿ n^›SB„˜ØÒg5b´?Þýê¶‚ÏO\ÊŠsÆ.ÈÌç뇯z®²µÌ;<=þœ™™ý¿ ›ÔWžts]°|¨Ç X3ê1:¼‹¼,` ØÖ4]eø­7ųSšØÒÉRˆrkhè¶Ÿ[C53¾ ½áÃtïq„éRŽÏo¬7Œ{¸¿TÿÀK!'F.ú¶š. ó_ïÓâ¿|Šl%(¢Þ{Ê §+‹„i.B²» ó0á™$¢9~>¢ýÅ`3I4W…7X.$ÛmP¼»ìÐêç­ úQû„FZ™vy e*CÞ³SñéØY¶ö-ꕼo @&m6ß5zÅŠA|yçMB몤ñ~Ü8eZ V01Ë„­‹—#צϚÖe$‘ó8)>{§ ®ý€2Û6d„¼ÃT&9^µ}í?Øbòl%¢¡´rxQ¾nqe–õ è0Ñ;[Zm<7œv§*bŠ¡{NnBº·¯d‘¶càÎ1=|Ndy6ˆûªßª…Äqx?ÓÆ2Brž'¤6áë…=Óm füBt°y÷›Œ¦ÝFAúÍãáݺ‚» ˆL. ýa™ÁövæQÖ»bøÛ¡W"¡ù (Hõ诡+C¸ç9O.ƒ=¤RŒƒßy`×Ê|ö'ÔÒÁ¥©~ A@òšP`Òì&ÀÚ(ò´¡]C°Ò™vMÅ9ãþHºš ;Í!Ò÷¶®ž‚•v§´7÷+Ìa!¬Ûĵç^vÈ€bç=öÏ îr‟aNÉ®èñç)¸·HQF™ ¬;x,J5ÝqÂjC—6ˆ:G?^•Z5}`Ymõeâ++Ìë—Tí€l`2¡=»f§ñ AÞñ:Ïï1BWqº|VÝC°È8; „ðvÂÈ$ËâˆÔÀ’—b.*Y9U'K¯™g>O9‹]Éo‹+çW·¦é¦Œ6 Š*b1Y0õn k$ž,f‰˜o0eÏèò÷ÔôÞO|qØgÂÛóS9a §êŽ'5÷À\¯Œ•Öœ×ÓžC$î@J‘»#*,í¥ÿº?%¬î/$Òè'ÍÄïp”X¸[Ý?íÎktKo%:}hNÓr"ÛPŒÒzáïÏJ]eÕ~\A³à‰ ŠÉ@'kum¤¿ä?ñNz®%S›«øŠŽ›ØÓIÐf~%™zêO qž:Ïêƒ1ÄÀcs;æÅ–^î²ðÅ/ó"«iÇ’Š’¾Ü0)±íÞX`Æ“þÄ¢|_—Íxös™ÆâyøŸv›Y@6¶ÇFD”¬å+‚Ëø¡xrq<ÙàkcÞ*²Œµñ™2·肦ûóŒ7_Û4g.¯´ß?Êbp©ƒ(šìî êR6%R"Q³ ›7ðZ¸®—ÆFÝhªcÌ]ô·<4!A~¡K ìÌø×aöWÓ[š°$rªEo!PaÊ:Ïô솛ÚŸ†ØÅç]Šg—&ʼdRe.¬/A1¼fvŸ‹%ˆ: ¡oî˜%ªqú¬À}1ñ¯]£c;CžjÞn)ºÜͯ¿<¸=pªõ™÷±P´Fwø•¬Ñ"iÚþþ¨Ï–7É\ßÛcÊg h ¦9º¬}âßû Äzã0×BTí“{Ènˆh:ÅŒ•ó&ѧ•:öÖÃÝñîE¼˜csh!S‡ýÄp6Ù›*UH×wÇéÏÌyOG»Úñ ý—VŸ-vN¯³ToÉt5Rö¸u>ñwf˜•P´„W$b‡|±¸Í´×Áb,65P¾©é-¡‡uQïKó©â˹K@ÒÃÏl‡¸bOÈ¿2Ša¥7~˜“x>F!3 #VxyXälóÔ¾õ8Ré݇U¸äèU¹Ž-tð}GžÞü ·âÀòÇ£¬wá^›èÞð-Qq’ã  /Ã3צyŒg bu&0-‘”ëz ¶W¶ÿç •sŠ÷%ú œ†jc[(ª˜¨ý›t`ªêe·?ë1fšFK‰¸Ô±X—síüMË)Ç%È•š½9¢0šJf–3‘!jB¨#VrGGRés) ½ù`x¬XMnïAò|Û’OfS 3Ê@Ô7§ Â+xD§ªÊÕ™õvv1ÒR4Ñ¿ ©Ê¢–?y°Ø’“ʶ&˜RõxH O¼ BÆ.HþX({%¾—nX¢ÑN îÅl?w‡óÏ.q ^˜9‚iĨZûÍštó© lL%ê^ÖWå"–1‰JJóäŃAúZ|?™ðæÏÞ±®Z4C#¡.ÏÂ9^-Å“hÒ{…¬VÅÀ;{S€F‘7[£ˆ@õqcûCT/¹×îË/x¸ôŸýÜ IAñ«DI—äk¶uŸ"s0óÕÍ*@ê¸Y-µ.£ôµA§0(|•ë ,çe©Tš‹K´Ì‚‚ÒÓg]ùœÌE<&8ÆÌ]ä%ÀªA×(5;Û£Iéû|Ãæ`¤/ú1»HÔwï!õlÿOúK#†è%·³Ëó)æÝÁÛã¸õÚAÁf$£(cŠ`l©õŸÝöÝœ¯Í÷£>ÖZ7¯•7…?s)\8ÿMüÜe«Úˆk¼â­¦À/q·}ªD§Ÿ¦:’ß²bÇ soÃkÖÁ=„jÜ>ëfËÈdÅp‘½¶2+¿B|ÂIð¢ÔÝ»yô]!øLG«Ödq‰ØN—ShF>Ø¿à’8û2XÆ~ÒÔº(áx Ü Ô‹@‹ãNºÕiõP|_ðÍL”émö¡-ØZáÌˉ£Ã~TÅDY:ÿ€·ç{ŠÄ¯Àö"—ò4† vÃÎPnÉZ®jû„pèD‚þ=jqͼ|¬2àF‘ïëk/m»i¤7HB×®FvînÂÇÿ²'r«Ym aŘK¶cS ¥U(¢¨Ñpð– ®5ß&ùJÅ­À² Fžlµð 9~âÞã =¥ÉÚ.Œ2ÿERx—êîP“¤tÛ¶$êŸHéá' :{¾™ù!K¶˜[AéÊG€DÜgžŸ€rçÒ¹•ÇE÷*ìI®îôQ)r^Wi¾âµË籓ÚÖK!^X¤Z¬æËzÝXõ®FVÂ"’—Jê ü,F!ÔöÓ¶mÈÙ:)³:À?$™Üz2&_aIÎEóô6vT|á­ò¬uä˜ûõÂh¨ÇZWÎu_xËß 3x’ebS]°ŒÍÒ‘üRùe5ÈI±kð“gcðÙòìÃü¦øœývçÈÒ)™¶/^]8kL8É’Â.õF½mF流Õa1åþêè¤Ù†ôvƒýG§^[ÂTÖ¯ü=ø=ž&힃P¹Èß‘÷ØÅ€F?™EéSy_Ýêê"}ôjšëÓxo¸ÛÕŸ#™»[újR‚,¦ëJA(Žq?Œ´íD² ò'ê*ŽÿÄn¥³2ZS)D«8Qlà}|ù–6̆ˊ~™¦l„Eµ’œn®pãy­ñ³ïvÃ1Nÿ7Ö;dÞae%Alä†ÂBÓŸ21TK¨Ì•ÿ–aOªy6omQ8“’?í<ÑÐOº¦ ®Mx÷'ô4eäÛkú޽<\­ìn´ì 1·ðõ0…ŒÐ&R!byFÇû1qÕñ“[XþDÝÿq ¯­Ôª!Û{\nµúƒ§%“db0¸ =òumàRƒ Åœênȯìq…ËR›¹Q+?i  q¶Oú¥ú=B[bÉ2 >É©2Ûï§ÀÖ"ßæ±¬Ó'µK;“÷€Î7O×aV¯äÓí7ÁPþ/ýqW¬¨=ÈÎÎæðÆdíÕEgÀ”Åȯ„æ¶ùS&§Ñ×PÙ`“rºå”œCCC;ò #p‹@rLa9}¬}\¾[§=Þíx’ ÏZ«Åå‹5‰Äí NÿBƒ)ÁË”»@Îæl*ÐM/TF0h(¢èä®§;?u:ô3¹M¸%ô—Ƀ%Ú7ˆƒ›üã·Âz4±,N¸ÿ$ ‡¡¶êŠéä´-žÙfü‚Ví'Õ9ª“›G¤&f|’ÛÀ*ƒ¢ Æ»1R4ŠàQt«•”ÂV%1Y0ƒVe¦Uý7\hLˆˆêÁgm1%dÆŸ4[ä“R´t[Óùëw±kñ, 1=:±TÄd98é4cÅh غ8¾b™áM!ÿ¦’O¥×£#1ó_lCï$§ºæŒ°±ß »¯FJÁöÙÃÕÓ<¹övªùÍ}€X¼3?^äø`I0x#ôßÄ¥1(¦¾ðEãèŠ ³—{½ /bÒJŒžG;ÌX·Þiì¼ÈÞŠmžT'÷÷<mÑÿº¾¾ ¾Å‘ø] l8?¥ïKôÅ™úÙ—Z'U¹½m\‚#ñžpUÇ@æLŽg·!l§N´ÓcPK±ûÝ|-±»«½»ŠXש××7áÆ¤èE`øfÂ… çv¢"Æý¹ds!8å%(D²vœo4¯¨8ñlo§÷NôJaøçÂBªµûaÛõYâ¡S]P1 ·æ•ßçC´æó«Œ/ ˜ {Au…[¨¨¥åqBÖ¿¡}˜OüD¼e€®UÉ©RAÓMfŸû]G»ÎM¬–ž¤ŸÀðVFSx†Ú‘óTõÄN-v"U5#[h:Õr}è9øˆQXEL4t™ǯ;Òˆìý­p¦1l©jTÛS©”£ ÓŠ:ýlk2ÿbûœé'O0W(´{•ƒF«Î!ä*¼/\Ä”ûáÐéúU²~s)l±}Úq„ì¸ï J¶R71 @<×ý,€­ûý¼¡C@<“[£rcT?IZ3kL¹´$†¥ûâ”ó쥄×)6M¢ß–Z¿Iy¢#Ø!æKÎ9:ù`·kF6•-¶CcÿT ±Š÷²³ŒDÊ6µOÙS:9ÌÛ}äÛ]ßJ4o/ëPzí½›‹Øfsd)íËé'ÜðWÐ(Ҋʬ7pGò³µ,Æ õôø7ˆµ¾¥¿<âü Ÿõ߉ŒÚ¼Õ¢Â# ³g¾ 4/Äûÿ>¥¹·ÿtÀ#…Pz’¢ì¶< §bKáLE\òC2ÞbTà®PgwÚ á ¸ý’6ͤÛ9õähq3?>tD³¨\CC´ãÌüÚ„Ÿ_/;x©€Îõ—ܽH¬³ ž’‡'>ù|åV0˜÷.)‡ÚáqÒü`ïÖ°ÙW“Y^°%éÞ3]Dr0=é Õ¸ö¥)¯ Ô~lSmù,>odáƒì *;ð,!æcé‹WAûžê;rƒDãô³¶å(Çj nÞε%8˜È¿mUä-âþU84½~««âÔ»p¯ûôrž”’>ýŠ¡ž+f—V$˜Ö`8i)~ÃHcÕ]3ÿê @Ñ]Äé!A wÍsí°m¡\†ãÁÕz¸¹ÚU(n²G÷ ê•öÁà¾l 4ŽßÄu&v'ÒÔ$Ý1ÖFïíuÂy:Ç<Õêž~níÎîzÏ&~1.û©M y ÔÏjyÀ%À¡uý6ü†Ecy|%YªVÄóS¬ÛµÏäeµ¯c²Z¨™þšrU ·æ ‘a„#¼¦o†Cs\½LxxQ%MÿÞòâ†ÅUçþŸ¨¤®äÀéûM£Æ5§»gÆX]èÓvFf  Z {#~v¯‡çvª³‚ (Iò22·äëq¶Fó$ÖïãÄ X-µpb£2ìq-åòD/'’P›̬÷¹sï Ô8Bž2ô1Yé=±1H••¶ÊB¼}£9êD»ivœ¨PÜÛ#®;Œ¥lô°NÃ(÷½ð]¯ËS…g!|—¾_ºWôã!´)âá×Ķ™{‹åÝf÷‚ð4¾‡^+ßJ†¢^WZà}š êe6Âá½ù?G16oȽÀ„Êÿz’ b=û†G>‡"*¥Ø„ëJ"°Z»È«z5 kk]Àí‘0æ ¼@ήÆì€ÍÉùÏý>±\6ׄ.hÏÃJÖI±WåÙü¨áÊ–È#=ÁpÍþC?ÿÝkm·O|»1¶ƒ[Zƒ§Æ0Ýðýå铈‡‹¢ÏPL£+_˜™£Záõ1 †ZÕ0a˜Ýd°{]ø¥ýÌС‡Fq„$´e·!˜gü ßÔâbÐø¦Ð'¥8p°§á™×Þy¤=7œû"˜g6-"^uäô¿éÂ"+ÎJrlëoÚ£È`¬­,Yäɂе…(.ûïµ"mà KzOÄÕ i¢öŽ´ëVc×X¦µ[£‡6ƒ €’îo´°ó5%˜½Ä~£ÄCë¹J^ä0¥¼Á'2¹S×@#ÿ@%Ú"‹ 9:™kº™1#$)—ým@0KøyN\€ÎÞ`ÆÞÖîkHrÔÄ|™1ÃuJÿ©®ý{põÇ6‰%3P©aplJ¨6O*¯}:m`EqÝËÉ 9 ©(4ãr@[#‡IÃE‹Hc˜5ˆ0 ^ûpÙ¹œàE¬AÅ=¨iìsUk&— V g¬4OëÕæK ™…'8ìû&²(îJÔZZbÛ\J³“y“oÈóQ7Z]Æzjm…Dã±²Ø_Ôb(0Çõ æÁ/VŸok¡×ïËR“ß]^{û¯¡ùƒ;ÎQd'A8IKB1ðÆÃä™1E–8ƒLê+Š ´ùFˆ»ð ŽiX^ö¥ºLIªCÍežz¹¹˜{? ÈFWª ìÿ4ºÿƒ+íÿ³,R³Ñ24«”\®®ÂSê±G<œo¢WùRZÆ+Z®HÙagp+6í™(ûÐo².Äž®jêtn_ç,0xn±8ˆôÅ£$Q+%:#,iWi™€RzzèXÊ3@óѧ²O&qrõ‰Ð³OäÓé.Á¢Æ}½X5DŽ,FøžÌÔäÙ Þ¸ 3¿£(¿k²3ñªiaÛ¾8©¦Àj6·±Nzv§É?åb¾öÒØRZÖºª`LÑå'C²°y»¼ã[-Ttƒ…fТɲ.Ú»þWŒ¶(Á°*Ê%˜Z—} õyQLP"ÁB2q¢ÝOùUÚB³eXÈ)û³ÄÐ"¨›ßtb+îùÁ$ˆ¨-à}†º¸ÅÙµ½¹ÙQ"Sº>÷E¯â7ê›Iž,Ô·TEÎo é¨óÊì¸×%‘ß®jÇPt´„ì‡É9ZrS6á‡0ôvÅ()ã–ò¤ ‹ˆ:é!ìÈkÍ‘¯4øSì–¸D hŒÞvOH-*OÇ=ð5HÄ…ø¼ç– z§Ž+î½°ïMžêòj¿7ÿœµGnÕXÓ/˜ÚòÐyŽD øp…Xö¡GÕr ¨tÚ qÈØß©‡öj,‹C§…Û›´¬ÿÏV³´CåKƒtDIoÇ'«ÏoJ§HÏ|ó¥A9(Çð¼)§Þ¥õW½]Ýi Þ<—vø ºÎiÓt‘X!K@§põ€ÄÀ¸]Ya Ž9tÙ¡*œOâ@4è@*AÂÑ4+8ú;ÉŽ>ê1vƒ´tóà Ú"T*ÿß]±rºýG_•0IŽÙGà÷,Úî4éh[oéPjý°²;¼\ùÁê-2 ØF·‡dìZšÎŒÖ“?À¼zssÖ*O6ÏÔI›¨Ù]š"ð™@=ܸخæv}]b3RwËËêçÿŒŠ¸¿%Fµ2Ï_0dbÈâ7š§ýØC–§ÿtÚKYÕb'æA†¾¬Ã™ðriÞr¡—!+T™¼ïÊuLÞWàfÞ94ò%¡·Ø®¬‹¥rÅüY°JMNHÍ‘©ü 6ËIGê~wÃ\Yë"É#V›¦Úê(äëË;ãö~Q ŽNW‘ ‡ÄƱë,ƒíl>O¢D LÇ#‚…OøHÔ!«Â‹h&ò×£Nú哬LÜ“‹àÃàD©vŒb-HX¼"m&–Ípk™½GÃk3{wìaû'“¼ã(‰¹þ¶Ü¶Ü…MÔ`vê‰TÌ55æmw .H¶Õ]­{{{‚´ÒyôÜÿ fº€aófšOÄD?š¸Ô€ZnþÃGœO¼š´XéÎ~€™žêS¸ÿ!å5„÷A.­GÂSb™d’Œ×;>€ÑÓã׈„Ù'l« ‚Uʼnuå%¾j«´âŒÕt:mÉ·²¬ï'´¹4äW ]‘„’™.¬M„½à•_±ƒù¥ð&`º¡Ã,É*!gÒ7·">¶ì½ 53ôÒ¢Ê,1f­sáqЈ¶@ýÿ®ÿgy›Õ2²èäëðÀ/ƒCÍöô2|íþŠËfiÎD—ß;y)vÜ¿9¸ XNYcƒP8OêuÅvŠ’.Jà=Bbï|žó ²´6ùPàäbÎ %š§f° żOª™ØÑdü&G„ÓÅ;lï¯Ù? kX,äE“øÕ+(Ó´huÕÒÕ0SÎ0 Œ·e¿t·‚ñM¶B‘á>Ö ÊvÑë¡óAèeOC†º‚d_²Šd_BÓk¸3{ýî!Úás|_'Öˆ–Ï’,cÆsâ•Y½&ÿ ¤JØ-,F oËÍû`©ÒÀ´¦Ab—»ðNy64}*pûhÇ:ñØ|ôžœ+ÎëZmÈhó—å¡ðåŠyF—¿þáß2‚_¦s¾7*°Òð«YˆqßÄVøJ]q|( ª“à\t©¾5Hû¶Ï?–±bIØŽ(Úíá ˜Eˆ<-w8Ì_kÄ/\ÚþÖ&T¿`gl%™Nô"U3ª5p-ðÁ_Š2£xÑ«kå\«!9mFLÿ‚)ªø¤ Si"®)¥ƒˆøfå^>‚8#äà:>Íaù‚ñh—Ù0uµ [#ŸµUiýŸVž(¥$(¡ÆÈŸ¦Cˆ‰üCd’Ô:Ž€çëF$‡lW#϶‘§×0½÷:‡AX®?hˆ\¢Wiß™‘¤N á†ƒGvP€éD‘’'~ª”_󾛂.ä§5 h¦ÄYÓN§$tæ ¶fAa¶5m!›Ð”á­0¾¨nö9@ÅÆpÓHK ”PüÒ‘WÕÝlxé2eµw´§}K±¥&çEð|ÝàÉÉ„”ëª;¸±ãþEWöUy§áùf²pì÷úq` ŒðÖ†yµ³Õ;ÿA¨j¢§†”Ç>­Ü9t ëÞÕ*7ßñÐÕ"²/溂¯Â7nrâŠ1¹˜Òì±”óŽùš!øÛ³ð_}qY­-S­©Àƒ@ïr3ÿÇÜW´Âü1ßð)ŽÄ)ãŠ0½«±w²zÚó¸ «‚z|uðå/1¦º‰È«Ö,J)+Hö…$9ao¦õàŠ×ýXÆßÆ.†î8G$HÎ ÛsœZ:í¤0Of*ŠCãêq|^¤¶Z~h¼f¢ú™dõ>!8#•BŽšüæ°«4_GcEòjkÑÀ(Çqòä¸TérþÙš˜”1Åkÿ“Úù Fq½X¤šñ6{´ }YàKÆHÝùÃ_&ÝÐm‹´(ƒ ™üÊPX§H§…Ëp¹j,Ñ;ÖÄZü2É"#êÑód ”¦Š:’eH ‡9T{•ròÀtJãwµ6+.OF'øÛÃ6I×ÇR&_Íö‡õ%ðCd"-{-/×.¤ÀÙÉúÃ(CEª$Ëé>yv#_ÔH–Oû+RU ¦æ—Ö¾7Ñr»[€•\>öœs,—OÔ¡Qï}É13k“;îz˦ßèÇM$ñQ¶;¬úò7à\éÉš1c0¥êa@¢CÂù«¶åÂxn¿§t¼Ë‘+{«âL£§}8Ž7¦›ˆ²L{ù±Ó¶cé*A•S›ƒõµýsŠP¿¤ :û­µ“ç‹1L¸h!¡Ÿ‹xØ-U»] f6‹“¬é Õ!4pûV¹§wô^7\_±Õ§)ÇXr—á– ]¾–/µæ0ŒẮ2ä®× t蟮žcùÐPߘµglð/O†å¹-ï{¿èã¡A›x=µª¤2ç8z €W¤O•œÄR/FZyãQ\Î$+D*Ÿßþï—•´“2¨{ sâKSë:£‰o‰ļuEDl•¹éÄ3ƤäcÙÙúBuoÆR*"4™¾óÚèR7O ÃRz¾!ñ]ÉtŒ”xà:ƒæ’õU«@?-@¥æØËwnL áøŒ‡l®²T0’aÛœ%ç2 {’/¡Ü4XÑ4Jú ‡n7×Ó®sϦtÙé%ÿŠŒKDD-$i›îíìŒÀP›˜—ï°d,ŒéoÁß}¤.Æ ï\8”–¶þæ/CÕÌä+‚7Ô{­ê°ñu=87ÛX7×¢Qþð§ët›itÚ×br€Î9f#2y¸sá8ü{ÄŒÔr}¨_§Áx-Bd®ÞåK!ݧKµ¶’4[lØQ ð*×pùÆ:;qMÍ&)UáøZy>ˆð쇈O‘G+ÆdÝ#Tm»Pw¼+°ÚŸ~7ñêU•øTñ)Øë)ØÚÃvqç¯X ×iJ`tU!”QØö¼ÿVoZ?³gÏ'f%%Øü]ÑTù1ê+Í(k†VŸå*U•qû7€ÿ´ç>G9‡s¡wÁ+<šO òþß ËÔÍq:¨¡cH çÞNJÖ +xP‚õ(" qÙ-;ø¥!°Çs'޼JÑâ_ŽE©§´M¿ÍKõ€f³ÀR­´ob¥mo“5”ŒÔ’gÖ¹X9×»|ÝcNšC/ʹã#kËL(|“±af?uɵ¯ÖÄlÆ"w*D§±c™âÊŸðhŠ”isND+P·ã!†`÷Öæ,×ñ»ë—i¢Àvn®]-ü2©¦òutn¯Ä6$wà?¬"š½¢ Û~­Œ•02°F·ï¯/Ÿù£3ü•ĸa.ê&<Ò\Í— V‰E¨Únºâ Ç*§„T}xLÅö§BDÙ2D¥`yìV™Œ ƒß75äAap†pZ4xJ0eó:ßf†¸ãêÌÔs1™¯¥kyÑm#¡yl´²H‡¹B¢ý´tN@¨Ã÷«Î¡ :ðYw\›„ô µËòç/ó5á;&³HiàdCÑWëŽÎãt£êIþŸŽK¬¸ÆóËðääÙ;ú–‰4Ãÿ Š˜!±Ïx‹{ï«yû9u;ƒS©êäɉ‹^ãÊE¿Ê363ò$k=†Ñ¯ ™5êÄcÏ=ìþ¹I{PY‘‘mÂkQIJÏ>ûîxc~iY0º€}Ä+d=dÄRÚ–«†iè0®Q½áC  z§ Ë #:Ù<3¤§Y–Xƒ5vw;c^Ȉs"®‰‚LÊ£t$¥iè‘» ð”e‡êüócðărA„5ND |ÆÜñ0F§&t›ìpò 3©dzîk£ìì’x³ŽœoŒwhÈöÿ ‡Å—Ÿ_bb8†»{"*èXâh7˜}ºÕQ¶Mí…Žc½3‚÷BçœÈÎ]³ð×,®]¤ ¢ŒP_þŠÀ%Þ®”/pZè‚m¶ƒä8ÇÞd½RfJú¤ B4e“&7˜¹K”ö£FdJ‚¡‡Px™œo£;›¼y¡œófaÞ  Iqãƒc£¥¥ìV<Ìþ§v΋3üaisÞÇÈ’>‡ P^ CœÊ.ý°á¾©í’n³#AËmú¹4‰uîtÿ/‘ÆAAæŠÊ´*-dŸº~ö™È(³þã?Ð ÁfÍÇ4…n =ŽŠ+~êâðüµ9™]wBW bhE@þ7Jò¼Hh,*»ôhæù?­Eü¹¶ô§üübÙqî¥W—þìõºV¶r+ÔY’™sÅàh™‚½[HÄnV$†å=# Ò•–t…r—kv v®ï'žI§ª”$­°äÄL„=û½j ;ËI7 øDœuQ+aS<•&t–ãídé&ñw¤ý b6ƒwa…É6Àíœftvˆ“…GÙæWƒxm„¸­ qk­Jx¾/÷›PeGB]4/r|æ5LòÅ/SÜLÖ°`ØŸv*)ü¥ÙîÆ-ÅËBÀz‡9ÈÛêååÂ\ŠLO±ñ³Á‡?Ðp£$¶ƒ ›&ñ3ÂdŽ;DžbvYã·)€cçú'bÅ8Ë7ªn%+ÈþAÊ’ù­J[äQ=7‡Àµež,D o,ø©·ßøï…—Ý_ئ¸9 ]ä“Y‰H „yôûÃdó§2Ù£ÇðfúwK"S”Fù󦫳ú”¬ˆaÊÜâ=7wºýR"s¡‚n‹/Ì‚ øè}¬á)7Â)¼mµ'„¾ì:Ù[ÉÙ a@PÆØò“4½²iÎiAÐv‘.EIÝRy €1/ f¿A”q&R º÷áS{CõUh"! ïšžYt¼ayC8jñcy­pEŠ»å„[$X)T‘kñköĈ7Åî2Ô0µNfdABùĸxQ|öT ù9Š2’H¹*à¸A€Ì'2^F§Øº’iRݾïÖ½®€tŒ³³R½Ø¥%þCÞC¹íUUšÇë¬k}»s³¾ÎU/ÄTÚ¤óY-µs¯úŒâù²¿=AÒ¤ù$(ýˆÆ¨Êzøbô“ê3X çë„Q\ޤ¤ÂÍÂJ^Aªµw⇞²T¼yq³´“Ї4Ç0¥‰Ìóä8!Nk‰ø£ko:­.ç{¼z¬d¢Iµ˜MžÓÐâ3NMÓÉGau!6Á/4±cho”AÌbòñ¡“éۀɶ–Ì›­9 ù “¶k–&=£f¯eKÕ8+[éš%üРп۹´N… Îñ§~ÂqGÀ‘íõ^ôY8ÐAÉÖ”´"#’_Ðni/¹ë²Å˜”‡LPÓ±Ð4[¢È¥Éä Ácñ„b±žqDV$Ë݉æŠÑÅ”Üûâ jª•¥¯‚ÍñÅŒ{ п­¡~yI&5•&³Ä+¥îÒ~;t:<¤u;VðÐ6îë`Z-%ÿ:ï$51O,¢hÝ%5T}OLÔÆM½o·¤ýo•4_(XÆ*Ó6ž ï8Y° %ÖÜÿ‰Îç4è‹v7f¤¡`ü /OÌJîŠ8ò¯ãU·eÕ¹ h;–g@#±qy,^¦ôÔǦwÉèÄ·LIÈ Ãò¢CF¯tV©ÀiBOr÷Qû`¬¾®gF¿ÎuÊ1½Kÿ:f,Báž§‘å~yÁ;AŒÏjSÅ7 ÒEcQ¿¾mŸëíbmU.O¥c鈀Þ‰Ÿ’7X¸ã…("”ªz«¯¯ I/ŠËU8‘¬¢h>ú'}`NÝVö¼_©G9ø$}W¶VçÇ›ŒéßCîTþ•ëq+êÏœÓÂ-Öh9¨½zxçì¨3Oj ù‘ïÞr­ñ®vpYÌäÜn;•ñÞ;×Û›×ãtC&£(ìl40ˆÀCÝ™,‘!iÎ)&eP¾tzFÍxÈfŒÕá²§šÃ溰bù‚û4f#òó޼M®Lô(öÍ’'8w°ªuHðhÇüµäQ6è³ Ö¥ :ãÞøö›Ÿ‚"´½ˆÙП™Á»ÊBCæ—`Æç#w©ˆÑFjÖŸõïC©Lw“È4°¥0¿¶È#:ΫžŠu½2× YÚ±ÁþOϬ›æ.© ]…Þç'¯¥×ÎÏ(P%µ=®OŽžvݶxu{ã¢qIÁSñënc˜¹*I ¡{V/D±DuníõOˆ{ùGÒuSÛÓÒºYUb™1q}œéÙH&)-æÿŒf” MÇ/$T b•B<áa’ƒ½Üh^û"]\­—ýˆµìI¢Œ—“¡P÷ì+Dî±+û.‚ºjBB…ž(G4cYÖ† gS¾ý'Ö¥ûDa´k9Ôfât =ÒW¾i’ER¨ìî-ò‡­Ôæ±PgOý}¢U…ÀÜp+0F~ç»I“€MN˜\—ûªÍ£(M–BKyH!=ÉÌ¿/ëaÜ""ƒê œ! vòÇ t‚Œ Á8<#)7‡ÞÒ€ÿj¾„¥"Àn|ŽÉJS™¾•Y<JƒDy­gH¯tô’õ˜©8zé°f¦èà6fµ8 xËe¦¤ÕÚ@ˆ_)}ÏŸÚK‘yû²7a) (]á;_Œ› ÿùq«¶„$¦¶1…*U÷üíד ’ľóƒÒRLf”¡7ήl÷ 8RtÆ•g…<«hQø7<6! \AFļIJ',ððç×f¸n­¬'1,>ÙT™±D“Äm"AÔÁyLL…i ṕîuæ² Ú»ŠVÌb1úÒ íîb˜ÕÊ‚Þü›"b/Ö?zÜy”¶²†E:[F áÈY)ž lMeU69Xä©Bä˜ÕèÓL Têc ¾!ŒC&-º$‘g¢¬þœó¢A%)\æQÁ\2p‘ظ‰/Ëî©¶T®®`t"²÷ü <(zÂrÓJ”CTgÈ”â[;”• æhàܲ¤ØYi6ŸÝѱ"úÙhSÈÈÑ` 7¥=÷ÜwD¼IGsêtzºéÎç²Ó5‰¾:iu…lXŸ©‡Ž9•ÐþQ²‘°A®£ž~gÔ´zçTåÏîüWº{\6ú{!åVá)Yc8ˆÖ¬¢à%9¾»èÅ ´Ü|¯QSÌÓn™)`v?ÌÙšKÒ†çYÙÏ<ï/©…#6åë’Î`HF9¦+šñ"À‘KåaPRh…Áæ:GFØ!¼µ†Z{Œ'eÉìO‹J‚“,p£_{¢ªI§<õftÚ)Ä$,+)×LdÕ'tôÚ±¿FV‹zïc÷9”ëù$ìóA/zDð©ˆW‹ZÄÆJΊªNÜÊŸôd$ÛN/„õb'‡äëá\á~áæŒˆ°z›j õ³™æÝ_½y ÷ŽÊ'ãuãÓßÊÙåaÀä“…¾ç-ÆÇõºÊ}º:#~IBîna¨ì–(½±±0vüàí¦.ý«ŽX[û “ ½ÚD¯¬ìÂÄk[//Ÿd¾Šõiênæð»&X Ú牣Kâä÷B™õ\Kw9<$póÕW„¥q¤®Ý .t@ÿ®:ü>u£<¤SSuéŸWåy‹U+Фÿl6^$(¬É½‘Š³Ð jyL`Š&€CòæÔih'N!Ëdl¤ÌHàE‘—ww,ôg…þ­¬rÂá ä™'ç‰ð<¥úpæ¶ÞÒ(N’'‡@õLü¾áHµò<¾¦dA Pƒ% ¶ÆzÚš6ì¨hö9ûÞ\YŠ«v,‘ò´Ž?õíÔo‘9¥ÜÙú ߎ< Rãw„ƒ…eÇPLàêL4£1NµçªñÓð+°iãJ}èu샵zo ZÒÑ«KB°^wBïqÝhQ݇–3¬Á,Žq¾A šËW:1Q\jÄV`6h¡AŒÀ´„®[ïì»S"–ÁšZFm kmöÿï©ÞÒcõ®".4Æx®pðòìòZ0õ¶ŸIŽxcìZi`+“»Ü ½+î¹>Ó[6ÄÕvÈ,Þ˜•%cÏ`°(Ð÷K)Ó!*œ[­°Æ5çzî|¯kË•N)ÃStßʬԢg` ‹­}þÕw;;ÒàÝ© O3ÿ=¡§×c«ð¾Ûí¸Ë¤¸Ôàâ€s<ä¸÷ãÒŽi¡(5îr”í4aK~Ôê<èç_ šÓ‹á†Ÿ}“<}·~Õ`5àò}}º0²F(ÛµAóFš¡ÃôÌ‹A§ÓÐágô Œ­ l¤tÁN^$p–Ýè‘:÷êãiW_ }½ ³n‡{*ýšû ÛL¼š·0æÂ¾C—Â\ÖÆdÿî'yKæV!R§ôá#­ZÕ\´UµjF5¥1¡5hü/@l›Oœ«²ybl¦‚®DPk𧀆Æ&×'Zl´§ByÙû«¡p8Ià‚;9~…y$qn‘ 6K¿Ü~3õ;Nðí/X~„f¸ »šÒ àÎiª›$AQjUÁ[>i—ŽÁT¥í„Sä6ŒU Œ‹¹’‹!ê@;¤Î6I˜¿_P·”h1%ùé€ ·žÖ_Z,µÄAÿ¬5±>¸ïÇÚÝ4eŸ€œäÍë9±ñBlÙ í +~d,.Õ5Z 1…X µˆí¢TãáG5+סA¥…Ïœ¡i`ôo§töѧ·;áSÖ0³Vcøºd|™d‡º2…·b†¥(AÌŸÕÂåŽ[VìÒ/4=è° 5÷ê•Iáì”À»ª*ÈÏþ"Ã^æRK[Å=Mfî‡H®æZ! ÂÞJÞ¥“¹ågwZ! ‰yÁw1È»¹ô„®~7¬O…ɱ$³lm»Æoô3L)nvk±ëmŒGeŒ üÛºd›štòEQ~°»@‰Ç¸_XÝ£1¹(X¼Y½²0slK–YIž÷BžÑ`Q™ÃN(òÞh~ת1ˆÍ;ôä7Q,”LÐdAÁ+?º•OïsÕB÷tE8)§¢W~¥VÐÙFvðε‘&÷/¤WžÂi_>Žî©_3Ô >lZ/ùW¿“£ºº’סŸŸ¾»3ÿšœË¡¹môߊyþ,!+øþ@À8¼qާñ 'ûE@Já éàX¢b³ÅùÓÐGÍŠGgãÆ }D T”2)™I#«·ÄfÜo¸£Gî¾Ïè§ æQZSéO7¸ýœ:Mâ9¯© ßÛÞò®¤j<Ô´i$ži]_Â6&o€mÀžÇ]þt ¥€úƒâ+Õ5™=fZeú ¹èÏú¡Ïrk©§¦*KÕ[{ÈÇG—gÿCæh¢‹ª´K„±¦"5ÝÑï@ðd‚É^i†ˆÅËy®¯"i0´‚° >°Q`u<“ZÆÝ¢ÿPƹr»ÂÞW´‚|Þ1Û?çëî}QÃЉ¶#tGûîbBt¥•u•S»ÎèeVýýö †ëönÓŠñŸ¦—Ó äÅzZ¯2gyÚÉŸt>i7ùM,/êî~ÚštÜÈÑ:Ð!·oØJ€µ›´¾7*¿ì;ÍŸ™»´.t2Ú+OßÖò›©×ȸ’þSPòû¶ÚŸÑa„Ÿ@Ê3¯$ˆÄ.ñ Kÿµå‹'Ü N7aªçª-Sr´˜D1\ tü)½ ‚ÈØ¸åDGÁ˜@óvÉ’€#¼ή*gáä{Œ¦¶E9Ì|Feñ©~ÉßÀ :˜NYr<—–ª¦X:Üz²~¾L¢Ày…á–p cÑ—Ÿ¾'‡Œª®ôÑÉ«Çb×énb2"©sÛЗҚ㩭™ðý–1Êq‚¢@Ãø¾Ê’¢z§v<‘øø“ší#€R|"‘qáúÇÿAçü•Ð6±Û s¥ùMõ¾D¡àrRÊ> Q ÍÐRFÜJdâ5uö‘GÉwÑ^a“ºàÙöŠØñNû®Ê _ÏQx†ŸÃ…½Ð'™A÷¾qq†g ÑÆ¾þ«‰zd¥®Ôp{‰ÉRÖ re·fÚh…˜Ö?TýÓçzÉ„Æg 8¾‹MÍÿšê"Yoå´&ØB„*XÂÕÍqåJ¦~kÛîP¸ÿDÀ¨8Q_H¯+xcGYê‘ñèo¿_Ç"‹v(´¡ÚÐ_K©ެ«œcÏ;ú&†Ô^«§Þµõ¤°åûcðT᪽ i…óŒÛ¬7›CõÒès. +MìÂ]Ë~¦Äéš‚*‡ýçÑY´& bs3þ ñàÏ‘ÈÏ3¯»àÕ7É»¬¨m¡L7aDö˜ÅèrÔþ*IÕ‚ í Jë \»‰sfØq>ËÕ6‡ºŸœbN¥lÀ¢Ê]$+µ›œ $îÊî)T‘6ɺ!˜ ÛÁ ¾ £ˆT›uê:ÀYcéL޽ü˜Ü÷œ†âcð4×9‚zy*Ҭ㢕‘ª$I<¹2ÈÎ̵_)@‡Þ$ó=ŒÃ”7ubª%7Íòp¾BÓ¹íÇc.œ64Ã\<Є‰ -å÷)(?8Ú6Æ`Žz"ÅÐÒ[*ýÊ|y]¤íÐckç‚dŠÓ1oÐþøDºAüzúv½Å¼|­¿ç¦öXá'Ý\r…™pŠÏþ[FdmÙõ E”“4°ýœH vQˆ‰%Õ÷{Ø4 Ð þ¾“Ÿ5q¯©EÇÞOv°þ‡RŠ]]ÿüÏ#¸É5od@6ÿìÞÃH ì ÷…ˆ7ïŠ9œå@ªÝËDÑ{vPz¬3?— ;³Ì[|æ>Hf}Íã(Z©çn%¬Ãjÿа*ûñÔ|þÇÍ¿¹"—ý6/é,ö¯vQ ˜ €Œ—2–Ö„kÜ{¶V1·LrYûÖŸº?\}[¿kª/µìÛ ¨÷Z#Ùß?3˜¯ 5³,û­ÐÉg’³ùgu ?é?Ç­=³¦6kWbJã]õpÂŽâíŸ6Å÷”¾4£^×snõ¡”$Óñr‰'×P™½Ù¯AÂ8ƒÊ&hZêÄïPG5°øàÌýhqÜ©±e@Ö‹ÄÏÒ©ÌäHÀ9îšÖfNÒLÁn|òQ‰ÄolSGvQö6íÛxãŸ;{²5+.ëK4åð”S×p|ÕYŸ/v£’:þŠDÛ7ÎsôÖ îbÊS©9jCiWìròŒ§à(•Ÿ¨Ñ«ÊnÄ®æËíí†0k0¤çty ãy. "…ÿOó±€+³_Xö% :Rõ+# ×"Áï}ÿðå&ýªÇÝÍFWÙmH„³p œäÅmòÚq&é?ƒÍྡA/j{2W<÷vÌ¢ž4ˆ…;JÞíÿ}9½t¥ø³ƒU`.D€¶CZzå(~[؈GAúž)*‚NoÇÀgº‚T²Žz;Bµê·(F¶à±QԼȲQlì{!‰üU¾3 -½¹§ßoùv•F‡WЏG-@Ô¦¤£(åG`\_#±P òÓâÆC¿ÓUF¢á¤Ðu±,–àNÈ&¯¸áŽvý„ %¯^Qè~Y7Æj»"}õ¨N¶"µ!LÕ–²îÄÚ[œ7©¢‘UYKO,~ŽN¤h°˜¨g {\Ÿë»Ñ»€ù‹Q)nŠ${òÇö¨­uìq$ê™ddO<Ó;Úy…”'òhÉ ë'—©Ð`x(—„m5 a&dCŸ|€þzýæÎªoÃ^ÒÌr üÛ§ž\¿À³G‹Mt󋞉¤ c–Ö†Üà,Ä™à+Hú{XêîCÏÚ©‚:*„A_ü-6œ++ÃåÜ D±»¾¢šŸ«Ë¡Õ5ÆÅºÐz¯Âi$œÊÊör‘0¿úò^5pÂm—¯T¬Ö*}ù„ %Ñù r·DÞ¶&ÚÖªjÈ–==æ²oƒ"1<kŸvËû–:Ù,ê§¿O†F4tÓ:ùlKÁ™}"‡µ{TæïÊo=hJçL•‰c7 íYªÙ¾yÕíQ$¤H¬Ž BÍ„Ws›€.£?SÔqèê}d¥ä©d¨X§:­U¾²À^ 4›ðh@…¢’©äd€;'“Í "!õ]‹Ú„FKønÁ# PßxÂÑ »ÖQd}šÀQ+²wuÖZGé蛉‡%˜iŽÉ„ü9ù—‘#…e97S7‰êdâj™â<Žx –ða±Öo° ÿtûÈœu"Wc©á Ñå¢Ù qÔŒÉà§ÚpÓj°l‘U°" Ìyó¸²O³Å<­Ó¶Ÿ¥ ±Û‹¥..ðîÀ=QærG<•ÿ”›eìBÀp>¿\0w„¥ò.ÚRòYí÷ \8¦t¡J‡V_ÛÑ'Ô…°5L–JNÂ`œETƒ*W)åFXZ Íiá¦Ö8/ãF~¹_ªܳSÑÕ…$.k›šlà MÉã·>J5aZ{†Î=7©¿‘y¤$›„XݼÏD»f¸·5­¯6 Kºè²Yfg£AEaåÙ£ßL¤Ð$gÞ2©sß{À£µ'â\WÐC£ »€ß˜Jz8T¯°ñb‹\Ë ™§^Ç©À„è9§†¹™zA͉#SÉ·vW;t å¬NÝÎÏ_xmÍë Kv¬6Uäã>Å6å'ê%2‰Q…¸ºé‡xî¤þ{Ò¯T^$ n ÑIŸKéh3z>Î L6à—¬ú¼aTŸø2Î¥&GJ/jFO;kõgõ(ÿØpAËœs©À«bèŸA1½ª²³ÅjöøT=24ewÒÖ1Z4“KÙÙ} Úwú¢¿P3ú£"i†f—À½aÌm»é‡A+„‰<¾?¨ßµ·7•”Ñ–ºÌsÇÅÔBu%V!¬uL‹7cÛö3`1ì¦F.ÿ¤bêö ߉ÊV5Ö·VÒÊ9,6†ÑÀEýzZsæ-ßý¦–ê™ÔÊy) áÌŽ†—Ì· ÔÉr+9|=ž;‚ù#p"^KÄûŒ8z9íôÀk‰ñšÕ YvC,Œä¦ÒÛˆîÕû>El=Á{î&{º˜ñÉrþŠ?h÷ûnléMKyFãR›Kó+”º¦³â—ëò–ÆK¨P<«›$³\¨/½â±´ ——­V+ŸûžÝº¿Î7ó‚œÜÅŽ%Þl2¶Wl¬ø4:z²-®®\ãÏ›ñâÃÁò«×Ùèt¿£|‰ÞsÇN4öæÙ|Z Ì ²Ò§]¡ÌCeæÕ#þzÝÍæh²_K J¿ýÔQ &åÉ j)·5 ÆÚ#íù È“Y¥r§HàÄ ñ§q+RÜÂwß¿V¡"|`“RO2ÃcºEØ>À»ôÀ¼¸ž’Q…¨¿*‡Rb¹w¤Þ\«,û?æpãÓͧ º‡mkAk~ïtÉÂÙÌÌŽ6¤+g` |«G^ wqø_÷PXýÀ-LŽâg>Ì¿œÖ½zœ _m†Ó~W>R¬ Û]õß/[d«“áú*BŒ&L6C¿6•ÏÏ|~©&A/›4’lYý6»ó7ëÉö‰*.ØBã Û£pû7y„÷;Îù€EX F†iµ-èp{ y‘ßY€oI àû~uß6A´+=<Šuji‰zùñɯ‹´ˆ*¨©ÆÂqæM?8)ÆOBý )=Kÿä$BËïÁ5(Øž(âÆ:;@ $¤þR¥uæ9Öcœš\j@*¤ÞW¾Œ‰¦Mg• ˆ :æoîŸÛc¹@M°¢©Ü)ËgF ¨(Ĥ¤ªâó˜ÛñWãåÙ=Gd\¯àˆ^ñ )Þó|˜nùVÛÇ XŒ YéYœØmÞ 5­8y `´;Ï*†³¸gO [ªGÈtMFg_Oú“C<ÿÆ0°Ó¼~¦›Ø#„žþ®w/žPPÿùÜíõËþ+k1„øó¦0ÝÀ>/ç$ת?7uÍP‹§ÿoœhE&Ú¶ †óÏíÁ~:a) ®ã¸e9b-Ök™ÞÄYê0ËiquœïêÄ­âiY°:nÅr‹¶:ûDôKyÓµÓç^®¯±H`€>ÎÙ¾¾Ü‡´vwØ%±PŸ6î9’e}GüKÊN`ÆF¹ÿëUP<ÔÆ>¡³±‘Ñ,èŸ~ûkÌKS:Gæ-­IGÛ±}'³%¬±×jJúz|”Niª’¼ž¿¥Âúµ”HË3¡ŒÉ¥Mô‘ød/ °·j2˜$ž¾ªVûbQ†~ jb¶_Û!ÙOÑ% (vMiWï-lÿö㪫_°ßâN‡@At1ã7¼Güh"@§Ÿ"°Ápþc­e€!õè¾D% ²®ÓßœRß­.ÿ\xîV .Ôç!Y^!îÐ#ê™Õ›gžóé¹õXå:ÅyJ]'×þ#päB °g«^$(€™I†ânlÃkÎÛ¢õ¨nô#héÏ“eå©Ï±?á®ÒÁ¥ON7²Z¯— a‚\AaÈHÕLšèKZÌ 5"ÙÞé3@1E:ÍÁ¡òi®ëxŸ}x¶‚ú)i^ìK½Çe‚ù±åmzW ,³Ýí9ÞN+ΤÛ\xleŒwØ5™âY$Š v2¨ÓU¶9£¥Hâ—È\*̤–‚xh Þ+¾d‰°š¸iLxÅ\å˜àЙW-ÿ­z®‰gÿɈÍôî–ò wuV¿ ú‚x ä;!Nºžž„Ïôr«Ìôx‹ hVƒm—ãfÌ!-f a1ßY=DKÕz$€:ZâÚx0¥vdË 1—ÑêºU“0)ÎÄ&µ xj#ÙG—†žG—åù±åòì:_£œÛ•²¦8 eÐB *Ñ}A$˜JÕ–}pî9ÛâR׋éj”W¸“…Pœ‹·éKŸÙ´¾íGø 4nK±c>$]Ìdvíxµ˜ì™‹Ó_ïöŠŒ¶A3Ù6‰N”¼ã ãÜ)Ù÷q ²¬ØEõ¡ê¶ô‡²A¥NÑûA‹LQÆÒJQ» 1·¯¿Ø‹@©H•O5Òz‘”~lchLB®2[Î!¨Û³ÜO£í ã4«£ ’Œå\ýÔÕj¬Ãï©ÓÖ¾ÃkΛ#^HžÊ…Î&Ì"Á)¡õÑz8ÇP͹Y§ )º„¿ê=ä~Ý>‹*=Ì£fá&Q-{}æÎ³Yhƒø'G ¨ôaT«fýîd11Fž²ºKÌà ;Öq“³ý­Uâ€Ù[¢èÌ0läiÝþ¹¡Bïu±|61^vW[ ,G®DâÆÛòuÏë…>NïíÊGkeMU߀½C4¨þÂÉx£IØ[^uiË ÃëÏ•[ 74ãÏÖø3€•0Õev¥×ËåÁZÂHnúÔñéâëøÀ‘wF8îk ÔF$ëŸöî Pþ{¨2lß $ʸ1vPÏðí’ÅÖþòªâdc‰ø˜^ÒDTPaÍPŸ—Ú45ðƒ¢õZšMœvGé&s‘Õ^²fPþèÆNMï¦1é¶.ô‘@½Ë às}/°KN×?eTAvBdÖZÎ’nN<v ‚ŸpÀ¢¦èa­§< ™y_Šö%ï0lÛ çf“ñ™´Þ…(¤¸,KÌC0h<…Q”Øè'ÖÑÞ9PZEÁP‹Ò­Ï"ó¼3™ðˆ/·E~Ygz]Ǧ™³PuÙlÕbÛ“ÛÖÔèå =Q¬aÍI°•|;IŠü<@ád[í*ÉÓœ6V”d‚ÿÄßOèj-ÖÒ‡…lίcÛ¦–³y3üâ|¹¶erCkh›¾1æ|/Îò¶&ž+þWS' "eÐQñÚøÛ£‡gÅ”Øø‚§ßV`²Pݘkó]2+cÌ .twh¢áõ¥¯Ý•:66ðoÍš¡ãÉGR4‹”g~@˳SÕåÇ í/ùMR­«ÒÌ«tûœo¡ p7» ö!Ë7ŸYõìnd)v±~wjÝpJîÝ h‘²4z±÷ †™ á^.ÝÔ¥O9»‚.j“fǸïv]–ûÔùiì þ~ÊF…‚(‰cÆ>mÖúæ‚ÛDc4†¿Á>Ÿ!p„t˜ îžÃK±„¸Œp?mã{™4PÄAëE"â©|¡¹QЪ üM”ü1Suù9‹¹»ØÚÊÖ;ÄJEºe¿ç>"üGžƒµyn”édR»–-6ïúô8„XwÎ?+ñ¥a‹š<ü”0—³ôÚìÚ8NÔUÄÅËæ$jûN—^ìBuÅôâÐSicV"Ø»Ü:†5¶”„d°ç¤U¦À(ðk•Ž+ãŠÁþ_B×~~ËN¬†¼ñEÜ6-: ÂûZû†îe¾„Á$ÓDgOhBà‡nös4¤k³‹´¶iºA_rÝÔÅ‹‚AÍïÅ…¢%/2ýPšX²B"ájD„QŠÕ¸†œín“Ÿƒá˜j½#r!rºš :šŽ^Á X–ætß®—17'[¦)d—‚ËÔ)r`æÎ&•î<ÁRûÖs@_ÎëÁGBØ•?–Ïu©j´D“ü¸DÁ,³’9°â¥<æg8¥¤Ì_–e¤ç;ïMÖŸÏ6'T0ÍòŽ W±dƒ¿‚á:€UÉY 0G¼ëRP¶¾Wqð{X+}Üö¼8Ù5B}¨òƒ”ŸW·2m Kì.öuží'ZýÙ‚™A!Àª/¯6è–?à‹S‹Ùu<Œ! ; Œjá¡{#KØÂåø @~{UòÈ+-¼06^>û™µÝ^SæÚznœW}1l_m""©¾jI}²@òûGÈjÁÐgwY‰cg*1Jò%€oÇ*ºÿ mÓèÀ$C!7ËÆ[8?’_”ìÿŠÚšœÂÄj{3!à]p0š:îE &_æ(ÙgšVpä{õ ]h³Wksø¥ªRŒ%Rð…GH«µ‰e'B µÛ±ÃÉF„'¶\(¬ OHÈÕ(”'¸KÑqÛröRÖ´¹ò¨Hò÷ÿlBŠõßÀ¹]" »ˆÛx@d€“á mí\ˆÉ±JUåZÍâD‚‰‚°XZ¯) †Ð·l‚6†ŒÚèk?•pã<°øqö_÷MÔ`#øá¢Ú¼£Í™f?EÍ]ñ›¶'°6ö‚1ÎqÇd•Âíµ£ê@A¯·¶{7ÑÐ`X®`È…°™ËÁ¤%G®©ÅFÜä9Â’ˆÊÂðÒŸjcFÞ˜¡m:#³`Ô³²0˜ ç SŒÔy4o–NÕ”-Å?•Q#ÇûzEcM÷}ukì!•º5™”C¡S€3Køâµm[†T[¿˜;¬¼!Ò'×gíüâŒùq™Ú[ˆ”’¿-6Ö%Q`YY¢OÝR‰›2{˜ç.y¸è8Ÿ”àõ¬½°ª ¿åy¹”‡ð(ÃÙ–š}ꃦcî(«,ŽW›6fôe¡ðÀ@D—~!H”´—°ŒáÓc:9XBD½TÁ âáò¡æ1¢.blÂiQ0MÀ§»Ø,Ч\ÄÞ1è+Ma>n'cùCšdÙØÓ”Æõèwé),Á¼=嬵ø.þå­oí.ÿR‚‡Í>ÊC›Y’Dj4çÝŠ>UЯÚwV^mRSèZìñü#TcIÂÄ Êššš%Ûý‚öã¿8Ó`BÔTsùJ¿ÝràFFŸO,äÝÕžÔ¶Äó^šÄc¶¤ÿ|’úâ¸6 ¹ð~ÀHøë…ºë8©4Î1ÔáÍà/úQã8kÙݤÆo]6táÖ©ÏüC ñEì^¾{Ö5•1åQ˜(¤Ï)ÔŒ‡ÿ‰Ïô†ú†‚:§rß⡽FG\KŸpY²Zóp “u{ͯ-¾á¬ÊˆZñ¹zû¶Äm1‹µ[èn{˜œž*¦tÖȱ›wíhNw‡µË·%hš”åNWc}ž ŸP~Îðn0è=ɧ~H‘ÙØFQ‚‹ cý¹g!$–Ž-£Ô¶Á:óGt½ gˆ »ÓèymÈ-ðzyÕm³-µ•Ä.•ÂÖé³±Ð~ÛSÊ:º8Ÿ>êž„3>EBY¸òžCâ•Y*C,•ñ£Êà€¿%S+;ŒîU\úÍB¢ö¯ZL)>gê ÐæèÔÊ£Œ<ÆÇ¢ }HUÐ0þ]þ•Õfh·Ðw«dúDÒåZÏ·e¥ÀA{™vºt¦Ï–X\‹„õÿõá¯,O¿my×ÊY˜—b Þâ·Í` yÇü@RÚ7£Æ®JdŸ™MÏ-‘­1¤±·:'ÅGü´'pØX1—FŒÅ¤=e2=/*ÍKÕw=Üzò°BÏ¥¬Ë~ö_K#Zs,‘óëX;“'ø.à<Î^ðvÒ Çé7lT(´l}©<…‘k‡Ž=­à_§±$Q“§ôh|dnšFcç!³º@6Ù'"$¼¯¢±Ì«Ьýzrôp.ÀLfÙg¦Ì^jK©´o†4þó¶Ã›ªê~ÓN06ØÅ}jz—½xGϲ4د]ð5Æ·èÕ b`*†z¥¿$•ФΌ|£~$lOü«{â e63\+æ?Zìþ£gµV7êO0û%Ó¶l˜€‹ª„´‡€%ª†ì¨”óŒuñ8ÞìžØH:Éæ·Ï4‰\dÛJ¾ HÑj.BØŠþêŸíºÞ)³7¶m&Æ÷?*¦„*ï´P>xÙ-Y¾þ‡õÀÚâòú>øoL|b^7È0¶,U4xf‹“Ãé=lZª§É׌}ãðl’'Ñhk=h!_–Ó‚¬1•|3<ƒ„Ûój Ià‹»ð^ÃÐÍÖˆ¯Ê¶ÆíþëIHû¸:èî`Î|¨½ž. îÜRóZ"ŠƒÂ¼à+ƒ&kÅv9þbÙGo‰w­:®’ ØÞ¶sz<³Sr½úf7•&Uæi_ëæúƒåšÏÆX+­†í`ÏÂ2bÎ4&6ƒÇav?âc4cÓs]hÑ7¨à¾nÆÔ}½ÑKl2͉çÞ¼öÉ–n+™ˆÿL¤ êVÆ–46Ú…G ê,›ºî¸…4ëE‰#myjÞ8c[é/¼{uíŒMÔ…„ÍjRy£!jêå+\‡„éÓ el³^ês¶èiè íÐê)è=BõMpÙÍÖÌÓZK¯AˆšÂS ¦±o¥•ôao×®ÌCÈï ¿¬ &Þ!Pºü]£&`+Ì¡ÉGV#eÖÆI œž.@»å7KZr7!û$ˆÙD¨N=A~ª¸E? öÏÆ³êŒ¬ïƒbû纠šêÛ¼3xk¥Å(½ 4áó›˜ P³c]<ÂŒâ‚çýµDš.þ í>‘1'úýΣ9–ù¤…—±Ÿ 1ú£Ö ,0ÄåÏ,ÿT8ä¬jGµDEâç)®]OÏXå †µeÇ Ä¥ÂxÝÛZÆátõ©ðŸÀëÛÜ!IèÑâýfì')SIcþ•K8)«D±3w2GŒh~ø-“Î ý#÷ä’ö’ ÕªAP&ÿ²h“(UÌë9B|wÖÀ Ó¦²% 60y'tae‹ç²önÐ.ôªP#渽LDúÿ[ª»Q¥=Ú¨Ï|UÍîæt©Iàä&Î;xV~“ŠàÖ¨ Þ?èÛ WÞ‘½P-(¼%íyDCx[ìTÊÑ{$­çzÍ‘î 0ÀÞï¯Iq´r%v0á&d`|-HYäDtŠ¡çT$êYÈZc¡—yASœ‘é »µæÒ× îÓýx©ÁÎÅ™gÚÆ&¯ˆ¯SÒÓ žöž¡—K)ŸNDfÂ…¾ niSÁÍ|Î…Êáñ‚ßÌB ŒÃ…ee.—Y:á]øÙp@ÐRÞþϤz뀨!úþ YƒŠø[ªéŒŽb'† }ç®RWJšw )fß’rg뱉¥ã™7f)}Þ¿ƒùØÎ~¡ƒ0æÅ=É•jÏ×ë…Pæß“üøŸïŒ™æèHÐ^¸”ŒßÕá¡{B¨Ög 1A 𛋨ҴN„(żãÖ}TÛåÕÿøj‹ºÖã—>²^ÏNÚ—þc7ºK>—e‡”h²[ S è»§6~/ g­æå•êœ^ÈFòêì¥&níø=Àì¿ /”Í ×0´Óñ H~ÝV”x“í+"ß_ýœVçé+„áDÔM±cw´ùúÛŠ’}Âê‡ðÊ¥¡Ý›“ä\wâT27 »ãÈ®ýز×5í¨[ꜛLSMY…d8m¿ÌŒoúQÙèx#Þy0ì7ÕÒ¹=èÒ–¹¥f%iÕ˜ŽNÍQXYуaZÐ FVfCe+ˆN¾©0›Õú ±x—?Fšvì<Õ ÷o(\VèøˆË/ä±ü8|}8DW¿ÝØ“õñ ÕùiÌçkpݪý„€ÂÛ!³ŽþÞ‹ŒžÕòÔ+Sµ{þ-à }8£ñôø.¢àâ¾ï0û¦ÒãþPÜ0ï{®Cdþ‡tÃæåt ŸC… ^¼áoÀ‹)Kaߨ cÞ2Ùç«X¢Qøp¤iv¬„Z å—t¤QØÉçáƒõ«‰† ³ºiŒ<êÛ5àl^ï[ÉÖ߯rïYÒ#xdöñˆÚµ>š8ûÇ{e(âÙ‚†fn7‡Šøj£B5³®„t´½cÙLâ+Øù8û Ά, 1HÔo¤Õà=?A¹f=ÓŽJ'윤^s IwÁßåhù9ÍÂ/pûXóDùüS`ûB!¡|$[Õ–H¶˜qz ”#Q/V:×'šLièï'Ç”wim//Oã±2œ®øl§…_ZÌ(@uÄ‘ýw`U¨Jµ(º–ôAA4>Ç#´ò“û1b%0 +/™H>ª»0ïF>ôë'­‹«gÞœq§L/‹Ýµ1k]š!PŽñ]=ølò ŽŒ–ÃQL¥Hkò4Éåš%«žïZ\ƒü׈ìþÆqªÖfnE¤šÂ‚¦uÅc’nH0Ÿâô€s™‚w\ÁëjS" ·¦jWj1nø7ï/ÓR¨Å«áxl—ÖVÉA„0\zŸ¯Ò€wœEÅþ³Ü¶ÖP Ü M—Ñú¶ªÌ·Ò—jE£ËÒ íÉ7ôîËö½ýC#fðªÍï“ðJÇ»“@L*r 8Î#)†Í€(á:³…Õ:7ÅŠ^ gå¥/ZØÁÍ®úðd“Ë×}/ßæDìOøP¤Upø2B¨®X\ö‘w¤æZ³¬5™ ½§ )ºÝ•!SÜ6û(šÛGš5ÒìµäX §ßúàøt{òË΋‰Çéõp–ÉÓw¤Å""ûèÃÄäL)ã%Ìø¸À¥Íÿ£ïHé\¹--ÊäRT§?QœÍZ±KЉhŸ¶£SeR›Ñ_ÈÿpdNô2wwóM¢[ã㖖УνРò.}'³²£+²±aÈÅŒR§³åYNÔ]§,®åÔ33Aàˆkm(D7Íä¹kö¬êhK½t2ƒÂCò9(kň•³ CÚ‚¸;±þ÷%¹€ü:1ôùé!m×Ô Fã7ƺÚèÈÐ Ò‹Œ‘NóHQGèþ¼éþ]·Îƒ'R"b9¢KMw±Î5Q ‘‡Y_hÁ°mgŒØþ_û-HSȘž¥1B=¹Xr¦aÀqP"a?´2æGëÝ¬Ûøu»D¢¨¶TŸ7:(@_§Ž®z÷Ô çd·õ“اä4Q¯º¶ì>k¸ž¹°ÛêéßC4U%Óñ–š¹d/°My.3YáxËë¯JÇÝa[ÎhÀ{í'ZùË¢±wKÿ~ù*õª£TžÉMãé§* 4ÃõÝiþQHx7pgà#ëç&•ØÕå¼_9òójš™üx›Ÿë45‚-p·:Å oe.ðƒ°Y>w•NÞm~ňÂ:ñ`[4Ÿû¥@©˜%ùz®¶À¥)úüêRû%#Vñnj˜’_|‹Ç¶l†G“^l8+§  …ŸÕB“£èÐÛ½ù¬÷;ùæV žùVáî *ƒMFd¾¨ ø½‘‹7ðl±· \Ÿ?5ÐÿºLÞ«y»”_ ¶’´bW ˜¡È¿ÜX9§V4¸Úu'–¢jfY"ç‡À&!Z÷IQç½?\¾P¶‹ÔÄö>Bö3›ÐHÁ£¼Âxw6‘΄° oŠZò)ér_‚!èâJ{vÐø7 <À‚|ú‚_cz{ÆC›/â’b?Ø,=E1•œªÒæ€R l÷ç'æ‚t„K$ PÌ`ª†z` bg央È÷6Çë}¿©ÁOâºë€Jcî}ªgÅΞ$s½!æ¤×r6)¼/z‡i!Z?y<½ŒS—ZíÚ ª|Ž $,ü[rnq^^dWJ#Fõò ¿JŽ`Ç̸#yŒýöÀ¬Þ1¹UlÅ(× ýú:hçwìq^h?"GñÕK¡¸o0p •7A†ù‰o™:‚¬Þ¾ÇÖ¢l9FÆŸSËX`áДLuñQ½¤ ô }ÐYªŽ¡\Ö,IŒ>,›ƒ(9+ȧU)Ÿ²ÒgƒôzÇîQ,¦_!]ˆf‰ ©Ý  è*͇7±J({J4]Í´¸‰owÑÈ1 aå:³àppLÑ(¼p¶ëó„;éÉ„ZyÊ®¯ØŸ¯|PÕ]S ¼ Úû¬¿ôì^AóŸÎtçÇ*rÿó7Ý h¯;b—´Y(A £½¯£ƒ«ï ”ÌüÍ9FÃèí§zcÆ` ¤:w}3ŸlÃNÞÔs… F Ïlß´Ïsò§m{')÷Õ¼kžæk©.‡ÚðÊe¦‰óÐd£>¯Üü¦;ÝK| ~&‡Ñ[`{C)ÈwJMÄ 5Ÿ;jjfoÈàtÉ å(]LhÇ©z5EÑoƒ¥Ýlœ™K% £ÒU%ÞWEÙP°CƒãP¹\j qç*·ÜÜÐÚñ²*'c„ õ…Ø%eUUkö”Ö¦Ýây‹c8žð¸2ÒŠ–ø…®_Uák5rÓOÝn6îÈ„›3Îè~ó§“}¨°’xïÕBÑq³8:¶I;äŽRq»{bäÐWk³¤€énz•äÁÕ…@D‹ ¤k+mÞþH^ jÉ_aŸÑÔEºÅQ~åÄ+·;ó'¼#‡½Và@¾ÕÕ6ˇg(9¸1%´Ò€’ÓÑÄè¹NFMøë.s÷ˆýÞ:ð#¨Â?˜?Ð9RvðiÑT%xØ;ŠT»<âÿÿ¹\t"FÜB3d1Ýb„”öˆ›…õ§~—,2L:niyÒ·šJFWÊ•»wMËœPˆMO $õr7EJÎ&^ÿÄ3($Dƒ1Ô ûŸãF°¸ß{Ttˆ¿™)埭û”j4yÉè*ú ËKTÝ%¬Qç“ë÷œ5äUëÜNfÊO¶N¶À<{ø5Ù=RÍPcá_!†Åñ =Å×5âVý¿|üƒ­ÅÌÝ–5&v¢[:6er{$½Iépr4X÷¾Ó„WMP¬_!1M=æ¯7=ƒ>§ROS…ƒ©ØìD;!Ùå…@¬\ø,u×ì/7ÉÓ²NÍåOÕÿkð-aá“ñP{B²2¦ŒË^àvJuö=–ŠªëÕ=QÅÿ´Å÷\\þo +YàÑ80Iý–ô½´—¾¼6,*^ÉŸèF:¢êuD¹¼N«+ýE@@Ü.Í©ð\bÐáAÓQ\°x> z}W°íXÙ¨+‰ŠB±·¯‘ÒBE\ hþý•ÙÃp“¸)È+â{Ÿ8ºÌmîP8Ñ[þÔX“Oð]¬½¸j°aÂàÊÅœZ1RÎq³'‘‹ƒ< ‚Ýë»ø€d5‚9RÂuïqwáDj]æ%=ߨ/²•¬uÃ^ oÐhº HF½{Î!©ºYj¬¯Ò òÝMJ» xýQ ÛÓ¶4&º–x4éƒ/AÂlNCZ’7Ò³ïrI†:ѦD÷“[fÛŽÊ鎃 ÷áèš„z&[$Ìï¼mËÇ&Ü]Ö{Û×µªMœga;+.Ávü¼I]‡‡ÞçyC“ˆ fîÓÇÓ&,¯¬NºNÄêÅCöwv ñ¨<غØoòpŒçnKH•&ÖŸà µû,)½°è2Ó9îËßýÖÊÝ6UÌÀñŽïQšÚxÀÄûO‰IæÅë±?u4CÏ6äk¤?nêγ^ô6ç‚3èÈüiäcíyâö)9’À•°›!Nh£ïFhr¹±äŸf;^ :`:eÓ] ÿg¿HˆÐ·P_EÈÆÇEëp•¸ G9™ ÄqdPXHrô1k’ÂÊU¸s“€\ñÀQÝ­¶oÞ·`}Éx¦8AšQ»ûOÏžOºˆÂbÔKe«X€ˆ«S{¬Ôäf ;ØÜÑíU¢ëÙÅ4±#’ºV= ­ÓPCü ÛÏ3î¨ö*(À*¯go&/y`ÙŒR¬òÄ­ŽŸÌ-?ÒÕÍT±n4Rï¸ÝÁÍš v@´õh«Œæ,j˜Àþt–Ӊݢ¸OX›.êSSõ?©‚±Wq£ÞèwÀC"³({8“MŽ|Çô¼ ÈjÙ²íDoÃw³ O»{õ-ëM®ïêõ‘±5ŽD&de{«‹Aô£íoÖqX5œ>XKƒþMläAÖK¼Á¡q£“3BÀµ%¼s¾âTó‰z”œ¶H3éñ¥5 È­0‹ñͤ -Uîå¾hÔ[?¾·Vé8 ¯BªF¾uõ…š\Ü7—¦ØEÂÒ7ËŽ‡ŸŒtœÊ4“ñ'7åà\芦üŠó)—€Ç_~|TH±ÄS†û£CÙ®ž^7™ž‚KȳÄ^çLm÷1:z9FàOú¤¯ …«ãfè„h°‹ÊrУ í#‘¿\à<"&FCÁHþ«ï$X¥p¡RØ[RŠæk‘ÀT¹Õm¯9w>ÒåTQÑ‹RtêTÁsºM«óPC`N!Œ¯äÐk'ôÎ( Wºø”}nÊ„lÅ´ùÉÌæä7›‚•‡¿³ÊUeú½½W‰ñ%ÆY˜Š†|í%Y<û Ò*÷ó¹ì°BöéVesâ×úË'·ßÓYÁ;¹íœc»#ߥæÅKàЪ=óÄî•§¯Æ=vk-Zp›»…ß¿’¼öŠT¹ÍYkl¥ ¤Q,šï´mþ.Ù¾ùžò²ôm«¦ '>—¾0Ê$ñõn™3á@÷n=×"Í æKÌ¡¶ôqðrÛâa¬ï“6Ÿ=›là"¬¬è´Ûá?R\¡÷n€y¤óÍAË;Vs¨Ü÷§s€›ø9úšÄÎóäv *dÇnŸ ßРݞ&_Ûø ‹':TmçZãc¨ÁôÿŽŸ0fé°š’؃´S Ð–°rô­š,Œš"ׯNšÝ -C} TkÆT³(71Fâáìc½ê(;–¬ð›ݧ„6Þ—çø TÂWrÕƒñÏg¢;†9ÿE-f‘ƒ›dÔ‰«ãYŠøSçØ‚åÕ³ŒMÚòC™{>y-Ù²ÅéY[ÕüvlÿÉû Dã­o Q-UHÏÛ°ª3Ì;‹d"%Š’Úû”(77ÄÛˆÞÕ%©ÿÐîâàÛèÌÆ˜Ýõ}‚r‹Æ6ªÙ’VAIü¿:Ô’Õ'ËM5S¼Àøª¶Žr±ÄèdSí([Ÿ‹¢ëË«¶?»^~!ûÊÚ ¾ÍZ'®ð„ƒ‡ ¢¡=ô-íhå·rsñ‹:Jø¬Ð.Ø-­]8!ÈO7¤œÕêD !p!ÉíäZqI^€¿„»(«ÓH½xE/ºpËꋌyÿé@âycÛˆƒ9>w¿R1Ôåoœ¯x¶tƒ.²Ïë<Øl‚b@Õ[š*r¦gK—}:ÜÀÿ­Å)鵆B﵇èƒEë&uäQö‡(H¯çæì·”/Žžá̸~œ ·9Æ–% Àµä¶¨ _7ßtŠ{ zžÊ ÿ[É„½JB-­uü-Õg€¶Ý˜GeŠ4&×…Ñ‹wXª„×qÛ8¼Äe¥W¾Ê¾.œiî7Ž~!eÞ¹="•Êñ›“aLß4+QÏ­5–a˜­å¼qÔë•~»íØË v2è“rŠ5ËßÜ/ãw¯Û‡9y‡ h˜ÍÇ›ü]¬Û{`œ>ù>›Ó\·Qb@709Sj®¢j(áBþ:‚-%5)Õ4¯ ¦-Qà“X2Áú¡5ÚñVØñtJöòW6, 9¥?£»Ò¹œØ\‡C –4Å\$8£DÒ"6ÈLÐgÌiãÅRNÓÏzŠ€õøÁy_Õ¾àƒ”§›XcÄaU8¡þÑXž-Æ‘A¹­´ã¥þ.Îa#ïÆàîž-Eú2‰ëT? Ÿ¶^`æ=Ó›·ÊJé'Å!ê#vÉ¿õØÇ¹¶O‚vß}èqJвú{+9àCjš&äS¤°¾V^†Ä¾Ç„rú!²@\q€ñþÀhP”7råG³di)²âþ Üü ÷|Îîñδ…©µu˜\J"` \Â×yUÕ¶¤ôNšéÅä‰ôª¯áç ÇàÐ-g0xÖj8¡þ Ó Ê}ØpŠÈmØ?×Óž¤á×ZƒÐþ6Q?ÃûI¢¦fO’X@~\ë§Uþª… Û3¢#iøúâ=7¤Œ`Ù¯­GGxo?š—tZ ÔÞÓØórß”—óÝ…ú0³B"yjt½ä#f’ØÈ”/»ï¥¯SÈ*x3H˜Ì8 H°WX$X @W·Å/»„p]7=³½¤ÚN5PrøX} ¥Ð£@ÜÂbʶdšhЮäWAs;~¤ *z{ÐRrÛ€#3ßJ1µ9ÓIf“İÑ~«åÆàG•¯™”Á%J„Cãä ìÖ8ª`Ë/MòÇ1qæs(QHåŒ&ÃWŒ»ÂV|OlŽ¡™¦wP*Ͱ)¯@ ›ÞAÎÜ–Ê7ã›ê+±U›ñŽýŠRWÚ%~jÔG3 ¯=@t­—Y¤·¤ ¯@n“ç¦$íÏÿÛ%ÿÍ>ˆ%$Žt°ÇÓrë£31ñqÅÔ3xý†–´l%Š%új³l=s êm9å7Ãzf© © ñœ ?£zÍØu¿  Y„ãÉüÂãK6Ñ|'ضÅð@ÛgnÌþÂÅåVTk& ä¹s,ÉÆ®ìŸi¾-§å"Ò(KûQ®f|°ß[VvqÁöW]1Ln6åðyÞm­EYòQ;tRhŸ0#µëŸ-'ßnÐvÓóe_I1M£Pù\åÞYêÊ ªT2&ºÑ§ùD I¦íÄ„æ¯öUókhÛNÿêo>5íŠAÝØÜÑBá)ebS]è¬øK¯ÞiÕ`vÙ:Šƒà!ÅöÀˆÏW,¢Ôíê’Æõa#&úïwy°«ùpmZÎËJ/±ñÓoÞŠKåÓmâã-ÎEC™ö!øáÝ«å ßKôáÉín4bÅ>èÖ{1)edwÅ5¡Ù‚Ý´€9xÿ“°–±Ý“ä)†ÅV—¥ÜôÑîR›É`c©"zÊIjI%pv‚@ÖÿÛïõžkB\ü¸JÅ ©Èp«ŽG±ëºÁsHš~Öˆ´‡ìÞ½‘/ |Ç5¤,öÛýÛ*è•b0ï9n ~Å/ì89{ÀÊèè#îlNÉ)È즘#ÀY2í±P•I.ü9‘ ˜¯6´÷P"Þ²- ¼‘ER1=¾šö†û}f<ÖUÐþ02€eì×G`êå`NÈMuêâÆÒ(†ÿbjF]^5—öÝ|'!¯–7*²Bòé†ÌÞè"Ä)²åé ï}aþrsL81JÔú2`‰ôáÔúº¢Â F÷>”Ý-êaÚšnÌ< ´ôVÜb8S{à5Âå+ò‡Ó<Ñ5ØU¦uÇ¡# áÉ#,$ŽHv{ÄïŽ1œPûr€u"Ñ¥~¼;»½¹ƒþÎkבÞêç‘Ä™us›F{Ž  M ¨oå©üRñ?Ì+UX+$è2•Îá¢v¥›æó"ȹ+ç01¤2Vd,ä`‚MÚv €®Sø™ÍjsÑKÊ«÷ÁÐÃô]›ñ5ñ£mmb\ 9ÒÐßm+ u¢û2†@ê[Hó([/ù“òm×òˆcèðŠùŒSo¤°(P¡ *Ð*Ù8æ~4 µfäYß&¼MÀÃ&P¢¬ŸÝL¦ Ô­ 1¡‡ÉhC·û!ä¹ ñCâÏ òÅuBöx¼8´éHó™Í“ªŸN%¤×‹ûº>À)%`ÚЫ± mŒŒ"„);Ïh–g¶‘ô×:á*yb±SÊ„q<ñk×qWÇrÓ( 5&'þŠ…w¬ô§ó£lÂÂÇ.D“èN=¹×íA‰¹) U5G¬qIˆà}}ç­õ96ýG¤óîBÆ­çóö³Ã{Úr]×dì³ë ³h+-1Pí­OŽ4ì@¬®æ‰¶Ý¬!gK[u¿UCU6ó¶ŒCo­‹ÍT¥pñ[Ä1¬Ô4.ƒúOú8JÁžìi¿«:WêŠÒ•¼ìª•Ÿ"‹<Îë?Ï·<(»³À=kã?Q²Ç¶xóbZÉ%zÒ»£/;Mc¤üœ2* :wh­Ã‡»5dù 4ƒøgøÂ‚d@ 솞@#WÓ4d[lÃÃÓ–;µX“PãÈ b¼ #Tc¦^åº2¸·Œ¢ÚáýjC‹2ý—¼Z‘º øž†÷ybã(ö|Á!ŒqêÞÃR°‡VÌ…`žÄÜ­þ$C¿Ø’Á8SO7£tø' cM»=·ŒÛ‰'V£ïJR«¼Ž¥±Kõ“uN‰¾¨GO ;’x» Ãñ@"gâåÓ"WÌ·¶Ÿ'zñ5gzMÓ˜Ìè'þ°t×nûƒÃp>ÉÄí%%tþü^þÊ[ÜXoøë†uTö^ §¢NÙ4ŸÖäCvdú,«’ÔøEÿ{è˜!¤’z‹NÐþdØÃ•êW1çƒÿ”»©S¬ûJî ÙXÛ~³‡ü cw|³Œð¹GÞ¼bRr\ÎïEÊÔ’JJ5ñ´ ä·ø‹™ ÞoY§s¹ ‰Ï.2\Fðu9fŽü')~zNNaëq]ÙMø Tbó—¿<&)ä!¯3R×Ò©ºÉíÅœVc×7…åßs6Ý%·ÅqKóüήš-m,÷æqF+WùüU^ßE/8S2­Ò•Ž]±®KÑõ£öØïkÕÀ|È)ö!ØEˆ™".GíÕRƒ —Ü ¨;:D÷2+žªªtN… Î#jÑ"ä™§[ˆ>°\YT¬r÷4Mo†Ðz·±"ïô4Ûs×§ÁÔƒžÁ'ʽøf“µ(x«¾Y“/‚åšOؽ(>7H§eÛŒlòа÷J1yEøHÔ˜Žó®ÁÛGêmf¤^uÚéÑ™„‰AˆÞï¸ÓY`Al«Ï‡,õAcxâHYý%TääIbD3Ù:Õ­Èôtî\䢛SøíÊÙž>¦v3ääÛ#xu :‘\Zã 2†É[¸å…o*ù‘Ç—qéTz& ^tÓØùš–M,¼*:]ÓqMܶÔûòš³ÒPtÕµC°ù•šË;.1~lÜ—¤RýÝÏêÈ! ”}Çíÿ@¼Q~8ŽÇzBãÓ,ÙYz )D(}xU3gÆ´Ì#Q ÚzѼ¤Á‘ró…†ûµƒ"‹ErûvèèŸ`˜©>ælgAo1`æ_– :N¥Sùbœjo¡–蘵‡fŒá¯oöËK‹ÖÂÁ Vº’ïz;Â} t+ÅéÁTE³”÷uïÝë'•º…}¬Qc§YÏ^Nß,ÜÚø ðÕ ËÒÞÓµê‚ÖO7±vJQØøˆ[ÂȈA¯ðZ“"‚ÃOÛtò,ÎN^…¥;¹ÄAzïµüO̶>£Ó¬ÏYGs±#èbVТhöB5¿Öåÿz'—#îWHúEK)ï9\òAÍ3ì/·‘âcë`"€0ñ¹ÃÔ"U.ÞØj™÷—Ï]g,kÖûÁxÝš_ºÑ‘Þ—<”‰ º@yù%ÿ4eìÛ¦üš#=áÓ-‡Ñ{·¶Ú_ !u™§aQ‰®¥$Öæ ãg×dL~^\°àZ Ž ùöC†+3Ÿiñ> ëùxà28Àø×¥pL˜œIãØc±,ŸûŽâ¥‚Íê€Y"]´ŸüËa¸¯DÓ³5‘?v‘7 ^”ŸŸÊ0 «;!—Bqd]t,ãéb-É[Œ7MÉ €z0Ϊ÷{æºc¡S'ºx6ö²4¼ëëõ\õ6ž÷Àq™#ËÑL—Zè ÐH9JS‡ïU‡s ´I$·“š~ü5اÛûLϬ”`Äz#: âäõó}ЇW¥hüf_¦Á¶2!æÊ»ó÷#HŸ¾ƒW{HªBè‚Ð/”´"VQïî$Kœò¢i"Dýƒêtô›UdQv‹÷*À®»ËþµŽ•³ç”4=áäÖyìWµÈ /& ¯™sÆ|i“¨›©°R“¨¹Ô)NËÓU)XPeP4îúŠŠ`¢h®ô^éå‚çÄh œKOÄeçec -þ!]£¤xÎM'­wâ@~K0éS7Ýp.ˆ8)²·rÂ/ 8É­ã. ´umCÚìli)ZÊNO´ß×Ad !8)·‡Pá]^Š*bò~ŒÕ"Šº90o‡²ÚŽôÇäË/‹èÎ #˜Xù]Ø,2Uõë¢ê¦¿UØÃ&s4j²Œ|hL‡ q¸aN·5M&Þü•ÏÜau Mê3CðËÄwRÄhù†Y(?°§Yò"ãhwÍSðïïúO/‹Æóg˜@Ó'è%(t´F¹©—q‚yQ!ïNªêFÕ lNóWwSŒ}AèN® Xÿ•pÍ`פ-dW¢Ñ EÌÅ—¿ü¨©Îå¾Ô}p¼Eú#÷À\C6`Ìëhñï2²w:÷â»_¹U’O%[Z݃Ì¢ºS¸ Ê0µ27ÒäuS±ÈÓ(71Âþ¨ª(îëÜõ~Ú<˜$µ4ûÇÚU Xw‡‚x×ßh+•*Æ6ƒÂXÛ;Á™¡ 2²‡ÊÅ+aòobÑì%ŽÇ¬.ŠyèȨ3d ¯†Nõ\äÂâûyVþHRVàLŠ{Ž<¤Ôüt²«X:Ö¹‰[3²´Âçæ>b=J|2`gi66®2ßlõ¥ Ÿ)”þ#t8°±´Ru¾q…¼bÏÔO#¿•&7 p ï,)@©.F}†%a§$⨶å^훫Ëãˆ%¶é€Q˜í] ýJä°ÁWf±á™†[Y_Ç8rªZ¬ ad´Õ‡ ¢(e8ÀoQ×ÍàôbܪqXÜ*ñùK¡¬ºŒû(dâá> ¿à£?ŒÊ„Ãe;|Æ[0& ¢.ä­g΋Æ6‚l'òŸöϯ`îëkæ;B% —ÿ‚€ÅBm—^n/ßeNJu¶¥uPM`{ÒNŒàÊëEÁèpá.òdvi³ë9†gS6•3‹(~’ºøU¢õ§_Þ6Î&9—Aà‘ïëÊyXpï î~µ?¯ê’¯Ò±<…É|¯?–íÓþº ÏþXæN h/öTî3γÅGodíì˜öFäž;ÂÚ컲WƒL2 åèwûNª%÷Üfè.ÚË;²ƒp”Ú¤€œ…Љèê“Q½a?½¯iãàD]©D̲{ü$µúƒ— ªAé‡g,H_cV.õ¯¾Â¶G‡…RÄÚ‡Ü3# Z-å·‚•HpéËǘîq*;D$Hºjw¨>x•MnMùF=_œåòŒH?'µ—HÒéÓTù1œî mF®Â†Äg9({ £-±hÅ9kà+A˜%²Ü?O@ƒöÛÑÒªÛ%n=”½X<C#hn:¬CÂR·.Äi€SÒò³‘¯õÐ*eHÐaÂícmÙ«q<‘¤ t±@Ž|Âò½ó½YÙt«y,í<ˆ3®—9{.¯[ë“̺Nùý'êUÖ,tªàU+S·IW8ñ~´ r)FQ·Á M7ó¸× mý’t°þïpS¬¢E/ “€[E´ô±‹ÿ ?£Ï ,ZJοXˆ3Ô)«–^Q"4£‘4™NEÿEÞŸžh䟬‘|÷U6ä•ïNDí;´"ƒ “)Q¨DðTS mRg+šÐú6(²™ºUS:M°!";7UyÒ¹YØú0ër}‡TÞŸ?K$ ¢{Çk¾0÷ú/›,$iÜ¿—”&ÿ©è¬Ô¬„åSíªˆÉ,¤L¨˜ b»€í^ëÏzBbw‹På-ž…­~…cÑ×µLPa Ô­®”/1ü‰¸á¾¯ò ÓO, ɯžf5ºõúˆ…š!prîÙÌC'£Aú£Ý»À¿źmRC¾ ð§~‘ã%ˆ°ñõ8‡¥Vøé ¿¹7¨§ÚéíqÇñèÁ¯ÓR;t†£ó~ªjZþ¤ßÀDa8Ù„ÕKàûÆ~ô“ýÚåçÙ·çÞµªª&W•Š| G‰o#2¡g‹=µfË\3b½a°HW"¶!Ò[cÁõˆ`µ|WM„˜Lº£HȲmªÆ'ª\;®, Î ­^vÅYIìE? j¨Q˜áøîÙ‡¸{°êuTñèš´&ö:*(&öÅh=VUävÞ³ã¾t‹u>áÐTðEÒ<Æò8¨¶*6ç‰ówŠŠØLq!“§ë'mi`G7{WëÍÐãÆ–V£ž’¼‚ºê#Ä6k6»v—MZžïu›§¡Ì× ÊI¡õÌ‹´-7¬Ö1P ²r¾ŽÕØ_Rä’,Za˨¨,¶“Þ¸5y¹.Î>R"k«Ž•³ô¿›?Ñ”.¿ø¶{'|~§¶«âý8¤½Õ´}„6~)QK:ì¤ÔŒ'Û…ö¤¢-DœXHP·¾wÝoZ%cq¶™•¡./¿I®Ä»}®r>2E<¢‚ -Òà‹qãò€èYÓøDî¤neúµ wû˜Ž[kDÈp¥ùbDuä¼–Ê‘¿§3ªjÛžÍê¿Þe ´hi[†è­1 ¸»Ñ++v) (A‘²É¡MŒ+Øh§HºìXnLSz‰aŠ ü»‹1z>ã>ðûß6™û´tóh¼ZÍíTiµÓK®ìý¸»%L›AÔ•˜ŸÚÎlrœíÚBmâ lƒÏkÈ þÒ!Ûû)/Ÿùå©aRpÇ<ÂÐç]¾É¼IÒŠ­ù| Zæ {?9}„6j;äyäñºBiíHÔ튔é!îͬa‡8ñHèºHÔ=¸'svÕc°¾¬8\Þ˜;Ã…T+íDc€‘ QØ&q«âÄÆšHºnPL#ÉÔj\xŸ?ÝÏJVã6…gb]¦½ÞI+÷ÈtÃÛ[õS£B¥Px‘È´„’·ôùî˜ú*‚ŠÕ”p‡¢SÁŽ^ˆ •ÞÞ›¼²]ëlFI¹GóÕ7ß3äÁª,ÑŶàmÊdó"h“â¢Öº"'%q;ï Û†«×ÄÙͧ ššá°Î|·»¼9þ÷ Ì^ÖPwñnŸf¸öŠ-‰~Ni¢ísËËÞ£XêÄÂ>õ›Gsmž_DöDg}ûå„h9Œ›OºO1â.Îøû5Lí2ýn‚œ‘A¾ÑŠU9òì·¬é$9×t)«LØ–µ-LD >IÀ—g«›K¥X¨LeëaôV>äü¶x]=ýReï‹jGh#_&™P#·RÕQó“•6iÿ§Ú=A*·–VÔlš©þ²c,÷'›F ·°«YeÉ óVé ÆüÐ[¬×®haR7“¨!§Y³YSX¹6Ç%óYÞC–fäÉcêb¼‰rïV.V]`1“ê£ÞIPEÊQ"Ø«}š|2œÞ»wÕ-‰ò/ÌŸˆxPþFö'Ÿ“'ØN0 ª~eP1Â7Ö,ÐÂZDG¶¸ƒ¿Ê>>Gùý"i<*¤úœm´^G ð±_%M¢*p{-ÆF’ ćWú±•1)&öz3„]J3áA¢ Ö ¶7LŠŠpûy¯‡á¦^ZáÙ “!„-¨]Òc«hF:½Áÿ"Ÿëf|Ìn¼N²ö`{R(µ„¶EhJß;ü2›¸dT%êZMKå;¬2íIt‹¿fƒ®A_Qûê豦ùJ:}RiµÛ»1ïø[~@}'_Áë”,Á© ×R§w­½yÄo5z‡ft»»rFø¤¶ Hé1^~›^Ê0Þ@j“ÌwôÚËARY›ô ëi±ÑœñoM€>&Ģ\tš’¯(’‘H±×Ö§.c-µ4íƒZeûzëÀRº7×xpšPó\Wf$3´ô’Ћ.±÷v¶`¥X7]aŽïööã¯OÓ§'afP¶(×ÌFe ;þ6Är™º …Âct‚] Åüø2¢| ØßÂRIèߨÕyçi:ÚŠ[é•w©UÕ üI¨’ÄÄÔDƒ´ºaÊb00K$ cMÌ©Û]0Ù¡´-ËÉ#‹ÔE’íœÍ Ÿ?$;¸¬Í—kGÛV£G½€‚,P7Ñ~–zÄ÷·¸aÚ¨ï@ˆËRÜÇ^ +ŒsïôaæìÑ»Š4—œ¯¨œ.¾ìñY­öŸÝ+ZOe÷Ùëƒl&$× /8®s>Oöd¤í”X9:¯õ· ‘»Y 9ªõ+Ê«~~.k½åm‘w©ÃwÎùc˜‚êõ†#ó¹ÕõÀW`ÀGéÖ´˜‚ FwF}¾¼µêøü–7e¾=/Éøª–jÐ¥ÅIÈ&Óa¨î%™ª#ÙŸÂjs§¶ |±'‚¥§¾[î‹ ¶qá±ï³û,e†Š(‚_wdòÖ!$®Bô[GBweýl¦"1ø½ª±(w’tNÖåÜ=Ë/yQå~å¯öšy]é½±>ÑWC2º/«(d#Iµò+ú—µ¼šÅ k\òšbA¤¾˜úµ*„Ä‘1h ]æ[ž»¸2:{E~:5Pñq_¬ç š=÷ý /ñÕ7_ðÉ]¥ëëßù³q˜áËq“Qû˜ñéJV|­3w¿ŠYDɯûâœyždEî-”$µìØÌ’`I·ñö³Ì_èóO‹ F`d¤ú^âIbÊ Æ¾6…¢]W‡ oËÊ²Ž ×@á8®²ÛË`„Ã'ÉùVb|o¢jýõñ±J_zVdubA 0©± >¿—ħéLêJF}KN (Íâ.ÛûQ7$!„äãðz¡Gì oÉõõ^ÝäZpj¶6©²ä.Ò5È4h‚&¨‘£ÙjvÁDÿÊŽJ–*QnP;>a¦Ñ·XåXëê}1[I{A‚`þóÆBCÔ©;MVx»ks¬˜¿Ãðže-ÕäñjƒHŽªÌ76²¥>˜ñÄór4Õ¹‚5wðÀX8h- ŠR'd”‘bÍÚ0Pg½ Jü“-ªš\|•óÍ¥† %sIå>$7–K²úðé>tÛBßFigÈ-¢<Ð ¢¾©ÏýOÂ2Dº]19Òzn‰ 4} Í=÷”œxýlW`ÛÖ’µ`+BU.o¡¯e›4Ó|ûˆ¬Ô„±á÷ÜrªÀTp³„3’Ú„’*=Î~öÂvª¾ÅÜVtƒ¾³œoË;º7+;¾oâ8æK!š¿èFT‘ðjõ˜ôŸ8Ós#· $ž $B‚ž†§‹‡‰õ:Ô»ñPÐ[߃G*O[nóðõ+±ëŒ½öèp‚éþå d[GßÌ݉T÷6A$íN_¾îÓú€ŠÔ27úQ‰ÙÌW`êÓ©E¯PÊ¥¨ˆÑÕ‚<^öUÛúÃçS…^•Ü¿ ½}—±^F`Í„°¥v‘Å&K¦ë>xΨ’Q¡EŸ‡¢pwÝliŃJç^ÅpɧÃý^šÈªÞŒ(–<µî˜Z wb"ýôrˆn3K60’‡Èf °Î-RfÉ´=êù?w×Äyë!ik¿ºSéP¥¾iä‹6ˆpü‡¶(J5{:J%Y’¬”ÎÖ#`¦Ã!õÄL—ëþHzmÔ–Zâ{Ýk–ôé|ÑLTE±iµ¯?ÂMO•7E™9ÿÜŸ[^ÅgÅ7Ïõèü|’CŽM17ÎZ {ÎßÉ—;ëf°ßÒ-ŠõYP]’÷y%äþk”b´89X€ Û5¡1úOl_2®z®I È&˜ÆT£ ¹×\¶[:A+›˜>I£j?î¥Ý ¡=áä¦<âíQyòYÊ™-3ÁÜÜ̇­”‰pñ囬`‹WS•k³âopœÕܸj _õ1«XWÑ 5; u¥èš=Ü®Å]I€‹³Øž{¬ƒ(3–jµÓÅûC §¢rûð}¥£_R"㯇m\,T*E¸ðí­ ¨8~ÂOzf•dÂízÃÐIºÑ•€Œ’œ ñ{Âq9¡Ï{\ß×ÚÎÔ×T™z~šÃ†Ú€Ü6âÔàS#ÕÌcÇö©àoÒ'ƒ¼ó¬Ž][ô¸Ù&Ž{®ÂÓÔ‚}ý뮆in–s“ؤ£¥¸PÍ=×¼¤Ì+¸ãÓÁ>¨|ÅšA§Æ×(>ÔÉþZ0­Š#`ÀÒ ›güôø‰ó7×í%ݫğ >@o¶™Z¿,-6Š‘òޱEò–ÑI²±l³fÙo}碘Tÿz¨H^d]JT¼»(|óÎÓèv=+‡ÂC|ô¤L"êÆSÑÝZŒHÑo¿M´7 žQá9u™¯¸—€ÞŽ#$‰'Øáœ¾ýßšoŠVqü£¸Lø ô’‹É3J$ãÝ0C©¦ÎO†XƒÉ4 ÇÑJÆ<‚AWŠ£X·øé\SkxËŠ2CÝ@½h‰^ÎÌÞ¹¹ëEaz{9GÒ{VPè&Tq3C³âµ1·t/šMR"Ïßþ¥fŒÇHвXM? bŒE­î0ˆòS`V±4âa¯dîÃðbC‰v,;å”°ÖÙ[~ò4înU¨þx*\†¥®©jnp¿=øÜ½óJعößS·»Týh‰—ÊnBβ5}¨aÆ æ43$îè¡Óq%ßNà#‹ï9ÅåßJ.ÎÆÇ™³¼}iÐ%Í$زߧJm\Í’_‘#cq´™Ç`±Á¥-ÇíöУ’Ъn~d“}zÙ¬ a¦¯.óÿ/Í_sÕfƒIɲD˜Ô}œ.9‡@+þ])œhÕ3.Öy¡l<ÓW^俦Aêtzàn’¬Zâ"M&ÉM¤cݶHZÌj2yŽ˜UQS[t‘æ|j~ÛoZs£”O=€ÊU|ôˆ¹ªhPËrPöµ&³ò…wCÂf=e;Ìf¦ |ð”еÿWøòùçúª)úí»é=Ô"ÐÉ¥ž„.%< ‘ö¼åÎ:/z½RÊ[€ïÚÉ\ÐÓ@)c?ÊÅ~¨#3Vôî3ŽÂ쀴KðÃOê°v=™,9=Çà‡ˆ·ºÚêÖ2ÊbWÛ Ó2ö¸0œO®Uå¥ÿŠdN^úXbÜFþÍ{yVwW#KÍ•Šå·´j>Ò"õ‹ò±Ÿ*t_¾Bd m݃‹ ÀUþ*¿z1yÓµ÷ëÈþê ®Ìöÿféïé_œÁ«„¹.>èñçpk|o¤ô•Þ¤„kzT òx¿³Ñ*2Í”À÷µ`Yžžp›«*ÄÈ])•)ÖŒo–<*ûEV"oŒ©­%¤§R.Å,á¼O¢7Šð4”¡Œž™ÔúÇ Rû“^ŽÚP´O9ËU¤9g:*Gr=߃Rrw 0ÅèËRÊR‹umÅŸ³]0:ÏKg"æb@Øïâ(ÆèvLJ›‚2¢ø’ÃX\l"'œj5o¶—‚v+ù'Y5”‹_´Z—›¦ªuC}‡b¬Š™âq³†õFu.'KÌ‚F;F‘E ±ûËa(å_ðÿÃÈ]Õ÷iÊ!ž‰N ÜÌ=ÿÑ|?,ŒFÍb1¼¦Äó5t¥*ܬbÖg»|,ÅÉ=}6w cQnêÞH:¿j?’d [Oo“äF&r„¼?ä¬è–B_>Ž ´;׈Ê/b³Y!±Ó– —7ÐÏ«ˆÎ»ýL fu‚Ìã÷T¼yiqËDO\JM|lj°ÖÑv;Æå¡‰²g&’hC‰B’E­ŠÏ‡¼@ÇÈðqÚ³ö y·MBóž ¸*~ƒ0ân¹§(¯c|<”㺟Û> ÌÖ´c¦ëásyÑhÍxqÒʘ¯Û`|ÒUµ /Sô})åŠT¯þCÇç äÖ`š¸m³®v)Ô••‚A„˜D­óÌÅ|…!`Ì”¨Ù±òŸW÷Îçp­™‘1îuÕu g™ì$Òçú¥h,ÍŸ©XôS½}Nê›]oK £.©‰¡»6a~Äê`µQª~-ëû_.ÉrYz'®ú ¤öôÒ¶«ª·gÜô[´Hç¡VáfæzñOžÒ”]pºœqÆN*Ž1~ 0aúH×qÏÕ{[´Qx¥`¿zs“=j{)mãµ€ùã«>™±SPdÐÄÏN–ØBãi_zðv(O¬‹r°ØúG@è)ñœi‚v~wæë ÛsžGz +x1£ÿVøZ-ÍÑ~Y…tùâÛ"þyʘ&Yˆ‹Ry<»ÊùÖ–éôÓ+5)ͱwýñAã+«œ1¿‹à7q:±fO‘t‡QZI>gNNGsC¿€lðÉÅ„ˆ»Bœí6mlØNSh]ZÐ ²8_ç-Sâ^ãð’ÚpïÞW¯”Û=ë²ÞÀÑF-g9Ó°èG"Cò³9-N/5xçôýcâîŠ+w^!ál ×f.l&†‹ïþ¾òŒ_iæ9Å.ì aÆÿåã›ÑžÏa ´ÒZÕIÝÝ/Lþ½Rä2™{¾Ê50M޲W}œÇ0ê¯Pt% Í…;I+,'Áþë’à̈w}Oü¸ÉΛܡïîÕ²¨,«#¤Ø=ßGÑÀ7n¯™lXeNÁÇú× a„5µ$ÇÈtÆy²7%”Šýä]÷Ž™eoÿãþÛ ËV¢0{¬2ä•$ÂùšÉÕ™¶õJ™;\†€ú¶IRÈéžW+"‚Á]:C?…HUº¦¡“cäÄ€99ãc÷>T„ÿŽÌ›‡upf$’.J±0VDÏWó,ª¶ÿ<8êlPx~ä“¢œ¨®H±ªã¯$$Î&Î!}¨÷Xj Np]omøA7™Ø¸š1†7¶™ÜVöT{àóòtŸ"aÜHö*óštÁ›†Á…¿_QüNo g9:GŒ´… %vœt7Z6Eq}õ,î_¤¯ÚˆŠèt¾œBõ^É[KWjr¸P×o4›ÌŒy÷╟¥%H3àiß»ìcªW›b5tØKóS¢‹±' ‘‡øº(\ß9ï“í¨#Zë ^sЙÀg‡tÏ‹ùòHÝ¡•<ω+?"ó•=ЬZ1鑇¯o~j*ÇÛ?¸Ká#.:ý¶tz–Åóˆ’â¿Êíþ.£Úzs×óñ¾7¾,ì¨FÚ÷òµ±´ä‹_ùÌrƒ0ð'Ø)Ê‘jS¦X±…4¾¾—%„7Ý¿Åäl0”Y*—y§ª2A¶³â±«*Ä¢þFÕ‘ç.%C“i8nß6)J¿acÛ÷HÅÇÁ´—;ËÞbçh”k1'”PmŸú±ü0Ù7¸H— Qì& Üý¾Ü†FÓ7”Piy7¬¢ÇÂŽ·¤ìªÔè=!¹ÉùÙ¶îpÔíÉïOîfOTÞ£=jJÀ›ŸÚè÷¥%u{ºþ!¾~jl 3ã7U,1x‡ù°:A÷!˜/J½1‰Z[7öƒz%P‚¶vÙçÏZíá—ܳDû1Z inŠ;5ñb¦£=>-6ªõïVõ8õƒDˆ”;H§s¯±jØ%’EVܤŸÒº¢†ý¹#Wc;¤Õ¼ ‰‡'ÉÀ5ÏVòµR—GÝ—îAßòfç=ð*#ãƒæá@ž.Qe¥~ë#/|„q)® àp‘>sQòB“ð% ¨A Pª LŸ ‚m÷Ã!’°ÓA;$òesôd°p±¼FwY”LQ6%ÚŽªŒúã5­Ÿ/PœS7†’¨¶ñàÏ“ñ·’°_9êuùÄ,Þ‹gZI ÊÉBñ†J5¶­î¼½ÒI*;­sg8™áîOjK©–RÝÈÀhÑ­¸è¨üþTÌåÞ²’ Î+ÔvÜ媛ÚﶤéY$†Àkóéñ\™^¬·«ëFh2·œHå€L3^åÂÙ­Eϱ»>ÏN¡´SâK渺\S9„†J+þ¢‹bâ´3>7Ñ:"Y/M’¼ëŒ}`õO¥5:§U”¢N^ɾÕH—$‘"z—Ö ö>êôÆ£rfŽ$÷]Ž)±=ÀºmÚ„V™ÿNV‘¼öÞy…þà~C`Þ÷]fu‘Ÿºw¾èÑÎí-V±rQ6¬<$ê¥j}á ´Ò?Ä›ý”©j;[6¶ð}v¥œ$¯Z72â (“—t´v øšW `ï˜àwbÃJóÛ`BĆNÕÕ©+ìgß½ûõ#?·rð4©Ç‡@k¼( }ÉAþÎg#d«ë€Wô¢X€Ù)yæ5®.¢CÕÁÐÏ4‰Ñ,~öùü¢Fº5´{‰ùÀß-Ø,³ÍljîßÕ*BºŸ;p=4çbTDÖf“CŠBsÊby81tžwz– ~^P¶©ƒ>ôãu–P¶øójRy-I÷qUö ÀÉaÙS°OêS³”]ïÝ7®MFˆxßC9ºö¯Sè‘kƒköW%¥2 "‚ù™¯TÊ.˜³X«Õ¢•ŽéÄ“Ö_| ¼‘ÓS»‚@jqðÌД…8A"*±×é~Ú|’›W™æáhzw Ë?%n’}©¤ÿŸ˜D¢Áä‡FO Vÿo¦ ÃïÑoñ|Ff²­ì”iö†”ø|ÒÕÑþBj–¼!í'ç æú:ïà¸hî|6Mn˜wÇ´j‘Ûɂ߱©–…À Ýo"¶û@ƒ³a¸“´›ƒe| ,MHPZXÏ}l–¦Ê3»‘FBóÂÐtö¯ñÍ5Uωžiš¤‘ˆ1m×ËC‹ãBO½½’ ù¢øö †`„oå…¡ÍN³§l&*ª!îÞ·¬¤–+«økÑ7 ¨Ýu ÇÆjE̲©Y!/ÂeÁ`)Q¢b1št0£Že‰ ã‰.žOì ä-€æ“†j;ˆME%}å]o¦h!oâ™}J°›XÜdÜÃu7úYl5ï½§€û TxªO‘ p·£–(¿j-´-Ieï>ø…2&©¯>ü֢ʮH¼!dîÿ׿ï’Þ¬ü‰WäÚƒ•/½N®¿a€˜{¼bsiiŠ¥­¸)§ÍŒ…½/ð&‘«Â¦Î¿ÓkLrIes6*JdpÇÅap¶Œƒ<›ìLåzøåóeÓ¤ÖHæIùk§A4bO‚̪ÖtpÓÒ£(ˆxÁzÙ) ¶lH³ŸæcjõTjnîÉe½Ñ‚ºê«Ø‰ÆAð³A®¨9y[êhôƒi*áu&ò_ÑQ¶©% ¯@N†1°}¼&c³ãwœØ+Êö"JÞiÇQ›yãX&:Ñà—¢ÕŸ,£Ê"ˆE~z1ÆÅ3‚Ó Ê/ÈuìÁs‡ ¨LMˆ¢’»6¼Yšâ`C¸ …kûøÔž/‡ÛSFÏqQ —S¿%>brv¢ž@#&A»â½\íµ©¥²ÂæÞ6/ þ¼¤«YÈÈ!L ÝÏâbÓh‚os¿rÖå¼ÔN+ù÷³´ºßé”ÎÔ|ΪLþ¸ŠhטÂî¼²©=ႜÂuæ­ý)ò2l²ÂæÅÛ¹sÇ!øƒ=|åfRñï•—5ñÅB}²øý#"is¬GíŠGöS§îˆµôo@7U_ðªÝ\_tؘxdÑ Ý·¦ÊôrbòC3~kÃ2a& Iª ¹H¯ŠtÇW­ÐÕÀÂGÐ;+톯k÷ãßý×Q)?B¦ƒñï ¡/÷Œàð®á†‰ I¦«Þ¦Å‘|/ìæ­, …ÎÍíúååýd䢆wÃOï¡&f“åÉ¥TJŠŸ5ViiðGÂÉåGÌüäØ dd¨v£³«¨Ê@Üš3Ñ›ë[c—«”B $0èèa˜’¨À»2ûa~¯s’€T Ú21„Í løæc “ràéÂ@DÀg !=隀§‚/‰µMÝx¡™ «üšß ÞMdŸ .slÕÙ…yIW<;PZ"›¢ê“Ø_|@÷y‚†¶ãÂoä–:=Íí`r"šõ{d? ·¿ÓD1Ì”ƒerhœ“¸î{P߉‡+H†‚ŸF›\ 7‹Èä&ê¤ï*!ûo%æ•#Ìh;ÛxÂÛÁaŽÙ}]–®£âÖ¨:[¢3ÊG訓"‰öø#EÔRmcM"¥&-¢ÏHÉÝéw¢°àlH¯Y•7Ž5ÁN&œZä eœ‘¥“;ÿ˜O¤Ë¥›ÅÕß!uÃ!P¾£ ±{ô¹ÓYƤÍ øa$ƒZ;y ,Á鋲·Ôä錶¿-‚¿ª»`œ›(‚­ÆÂZü^Ãd]‰¶àÁz@œR¼x’êÃ" êOætX±VÙ¬zå6–WPÈå…ašÈ‘)J\X‚êmÑ;ös L©ëùš¶«š±fçA,œmGßpìŽ6÷GZIˆüª²H¾sCÄšô`>xÒ+ÿ¢úuŠ‘¸Ãÿ©ƒ‰üûƒ¡ü’>xþð7Z”ú\’•LL÷(ÿ¹'Ç£Ú 3Ãêè§ÀB(s~kˆ|sºÖÑ–Eäë‹ôë+™¸wJmýjimNGç<Ø f;À¹âA6Fšl¢,^(Èzé žðZ4%dÒcÀRÁ&Ö#$\…hv8q½WCp®×&Q®˜Ž£)V܀Ϭ?wJcñ¤GRi2Ø$”É›õ˜½”>âÝ?0œ‚ä^i U2;3Ée†á¹àÉê‡ËŒÆeÔóMúæ#ø¶{”J—JqýÝ+võÖ•5µ½Åÿ‰•ÞÓ¸®FJ“ Åè²,ýNJ»/  ñ¹d*§š:¡ ̸teæ–Êù‡‰øò°ÓKœ¼¿;z¥dÿà;€:éwÿÆEaÓ·åþúDB× Ê½aÁ,”I³.þ#›LRƒŸžà!Ý –¼Ñ®Œ6èc&¡¤6>Pݨ’EÚÐÒ“™3w~´ ~KºÙ¡I§Â4ŽïéZKÿÅÈòí›§ÏÞ@4]}…¶™Ò…—HŽÄl.Ôìà8h²Á2(èÙxé ­úlíðíäÀAPZþŸÉ)RÆÏÁÂâÅŠ›‘pO|½2K8Zš 'ñ'×#QÜ„A5Ú†îð Yv¾‡ìBðýC þ¬~%0ûíÜÒ‚[ôÜdbˆÇ^³ßµ?ˆ‰ô´ 9Ä:\%UíZž‚)óRÒ(YjÒK¢¥%ŽÀ“åÙ˜ºáÀyvb™·œ©:E‚>Ü)qn‹ ­x,kÚJ2œ¤çp¨7hdòÉ5tý½)¸ÙÊÔ¬Úµì«LL/¼5­ÑoÑâ?bŒ}â¢TåX‘fŽ5yì*É‹{ãŸä‹ æ°âQÿ*éEù+ÒrE»ã’ C¥ÁÓQ?H€HÀCVÁ½Ïóè޲f?ÝbI9o…Må‡#µ¸˜3¦ƒnB3êcù:þÔœ!8"«[pXSAíÚß™x‚Q̓”±-I:YèÄð’%ΗBDÌg±îA÷%,K"°û n—HÅ®Š<‡éŠ|šGd1Þ~*‚~ù3$M¾›;2þjsXëŒJ$’|©×m¦ ÷úMp0 yEË4cÇðÅ6sùº^»_¸Õg åOfVKÀ—‡ÄÐêP‚‹Ô9ç{¥1Ž˜Xï}]l¤ìU°•‚j¦D!xöå´äøæynÁº¿>Qöçÿi°äQâvÝd†……̉n+ØhŠtºš»ù”4Þ=9,@¢îˆ_Vª9Gš=`G\éY WGŒñõtœBøœñuNÚÓŸy24C£µøí_CœúÒYu%¡\–o¦RÒY~ø-”å¹ÔO”*¯*=ž#Òg¡bÚc1w€j–Ã}­“××"bìSM„G9¥°\píËj8Óˆ pfLÏvpAþn"8ŸŽ¼“Ú­#p°~ÜÃRF€ûlåܰÊN-¦DDì¥Ö£ýœŠ&yªå Š„¨xÝŸMJ,Ð:RBM°P{µ„rvQ—µðôc^…D×=rIº@xÂ.#+¨"iI¢•RÝÓn¥îîW²¾K•,¨ÊÚ3¨·åµ®¼¢eÌxŸhmCU·K'8_*@;’ÏÚ”:ùÐ×è½|CÜm¡ÊE…裉3óÚ…™Ùk\ üHsY›Â“ÅŸ{6~O}»ª\g£|tÒÔ3ô\éSrèÒ ¥Úw…2êa ¬ªbxF`î†hEªUí¹X4Fº Ø]g6Åu Z‡C4 Äì1 #9òþ®éMIãïñcÃ8È9§«äzòÏ5ÿj£¯¦ë¤&ýA&̤Fšž¹ÇìxVëKfþ=µä$#–‰ Rí€DŽüâ!Ï©©Mè:õôkrFq;”©ž>:Yz¥…)Îz‘ŠwÐþZˆ™=Çó³PÌ­YqÁ‡á%†ÈèB¼C|Cýå•ÁÔÅÖy~Úþ´úX¹3¡YX/Yª/b&I \ÇìRaa,Pˆ njH—érT½–â&6qLaZ¨deöjUÓ˜œÊí5Yswõ’_ú{Ax¦gÚ¢K’WÛJ—À_Ù ^>‘¦¥¢€›oè˜Âj¶NzV6¤^¸ ÀA¤É˜Nßi6uš¿Ö|8ëÍX°nñ›sÖ²;26×Ü“ƒÀóP>M]p®Ž“o±ÃÛäØ1CÀÅ©¡Ê-I”?"ö¤œ’v‹æÒX¶ƇV´çŸ'!…°Æ*Wp¼’Ý@©A«û¨ñ@åg ‹hÀ³@ÊžÕ1“a)hŽöèKðLU=©X+ÝFà‘lîüÆ=Zµø3Ú^­¡sÏó‰,ù™ÑAì3 'ɳ €àŠÉÌxGú…¤ŽŒ¯3yܘ„<ˆ‰¨ÞBÍ6QѱüÖx¦8Tò‹TyÄ–1­±X2vï4F³g;*ÿ”Œa`ˆÃ$uXaóò" á­£ةМ_mkôä¼4½Î®„œ}3UQ‰îp˜m§4—×;ä‚yG«¸“®æ$–¿1èÒdõZŠÙÖaAÎÏÜ&D–ò=¨G'8[Ž£Üâí½ÕYèð'F²0_“Ÿa‚!§g;À%ÿIŸgkÎïÎýÄßç¨.ôK².Û÷.U\Ú,=.)ñjÌ}á~q·]FUs©ÏäHÛ–epZÎqÈ1¢Ü¡3§c:ñô±œù¼cðeîrXŠüí§œò·MŒM::Äv{„Y‚±–‘Ú’ ‘ØqËÌZ Oh¤RͨÎ^ü›æ¶²®­£MÜ“m8 B2 ÄÒqè¶Ða˜6n5Ov#C5™‹BXzÔ=Xêšõj-‰¶ž^Ï¿• àW:¡²õEÏ„ó[üLýë—â€|Œ‘ôù=H7Kz©ôÝXe”éð<©*ï´ "7€?* h3ƒo#Ñ^y9}BM œn©·ÉÜàX^óƒ.…|kºä8‡¤ÒÍà0M»og k»ñ«/>ÊRqÉxí´º×v*I Z!/#KpnO°!›;6‘s»YuâyéRl6%•°|šLby=©¥‘ý8D‰ÈÓ ¤²²Jl$.ù†:%ð“™ÑÛTÍp8ó!áâ- Ú m é´#Á½îDààqÍ@ýÇ,dc¸Nù7H¢¾¼ÁËTÛÖ˜ÍÑ9a‚Û"-Êš¯§IšogýìŒe},Ž“:Mw¼[¦LWOùW4åk0°1àÿœ—¨Àœfé5A2[Éì6œ€ÀÁsìæ|lÃÝ’cå¾÷¤r6rD˜óÅàv8£RÅ{¡‰ŠÈ$ @3®áØ‘ÉnìM¢N±¸+vCtq#÷-%è^4]g*°E.Í>‡Ñêv¬3+vÓN â<;òïvJ†EÖh×2œkk+œ`ªØ^L²÷§Eô~ðÔëoÀV|œÅIÁÈ¡DÞ­/Cy|™…‰§iIË£Æs©r•,c'ü) ^دˆ›5ìçG²1¡•þˆ.¾‡»þkàÂü-ÊZÝql·¾žîÚúläøg_p>+誣ÑâQPŒ“¾`Oô|–)ɪœ_,N#ô°38Oþh˜NÜÿÈϨ¦l)Ë®p2öÍù#¡öàãlìÍPQP$®~98F ³ÇJyä,¿ÔU° \= ¼/ÝyM+3ë7ûå”ù—¨Ðx€bë2«e±§±)#f¹4~]¡¥òÞƒ•ê5ޝÏÕ¦ÌûÔÆ ¬¤¦Q4@À¯¨Ì‘0蟯=¾\ŠƒÚ€yŸë‹ÈÒŠOf¯×ž‚ÚJ ó‰öMçWš±]Ž­]ÓstàB¢cÔgÌ#nhQ”aøz.2îÆ¬^'šÞ²1GZ°Ÿ«š™^_W®Z³@Â×0¦a¾:Ò4!^a|÷Ù•» ±Ç«vÄJøÖw™¸Ê<^ÕnŒó‘7ÔL£TðŸE¬©k×—¯Eæ#Ê ›.+PØËK–¤TupCoj1y0nžy+’°K}}µ>‘ŽîëŸ<Öªü*ô˜EKpÓvæÅ†B³~ƒžhy­‡#¨Ÿ\a`‚ œx·¦V‹…¦ß©<þuµ k¼3üª=7R+¢ZGU×½'•9ÅÈà´Rø?wÜö¹r€U‹K›k‰ƒÿi{öcJæy³Ñ£ÏÜBÓOKzH2G»ZB4tZ˜ Ám-´âˆÿÊrvÚöLÞ½w‚“M6ðv¸ÓvéšíY™O‡vÚ›^ ˜ÕRo4‰,Nt@8¤ƒ– E?Óx÷Ž …þ¶›D=buÚFՆﳕÐsæZ3ïisÎÙ¥¿a¨*î†ûsú¹Ab™‘È#•ïf’K kN¹MºÇ”ñ¯ß¸ÜöD5Ú‡÷xŽ}–¬ûIòRÞLFd.èlkè Ò™‚&Ú»²v^¬j‘• Êù¶¨pŽ€ÕÈík˜ÜâׯiËV{qÇLUwÊ›b»·²¥[Áp¨SH¯€ÀygÈÊUVÆ´vñBö=~PÝáRé«}YÝ>2׎,Ǭð#··ÀÅàˆñJ¶³wûÿ™^©álši¿KyÒ6@š½è„ÐC3ÍÛ3RýQ<΃‹S]¦~„ëC8ûúŸ›ŽŠ”©Ï0Óƒ¨ÍÞ8 ¾b Íp¿ž£!öá-‡G+ 1Ðãñf‚Ìó>3Q–ò Žï襌ÚyQšÛÿïoö=Î+ò=y~(ÙTŠš}4âˆ!P<€–@(¸!T$Âx“0ý"àѱk¸ÒMr€©i¬6kNq”5¨Þ”¯.‹EôóqÕÇå„®sGƒ‹ØÿXÉ«*Ü¢2vb³§O·ÿ•‚°”ú‚G²ö x¨ÍàÖÃezïÑIKOÕßaÁþª >z%c{ûªÚ¤?pû{…€}ô“ë’@ÌÎ2&Ž„ø*UìD•-OMˆ-;¾£ååÇœêh¾삃¥á×>Íh"`!Íg5j+ B&²Èv ÛWQ*†rLês×md7&Kºÿ7ÙဠR6P•ß´;lHaš°>Kü_Fã#7‡Ö8‚íYâänÐi+-WQŒöy+ŽŸ­t7p}ûÒÙ¸ìeLO* jè,Þ?ÚÞE³ì4kË´ÛÒ³hÇÀ!ôÝåŒù,˜Ç ö- ìù!¢1ní%Óú—%Á0«äÊÄ÷“"õƒ•|©‘¥àи3Ø”ª„ü¿´SÝ.¯4ñÝeÿ#ÈÞº9˜ITÀš~L~íÇðx?}ôa6âž+Ä8ÙØ r±€ü#t°‚#+2ä„Éä¼'í©¿Î:åŒ *¥á‹®ûÔak/H,“ù¿¡ü)ã 'K̈&®\¦ä­Îæxc;i R©\­aBr˜ê)–aկ׿ «ª·ÄAùUÙųyé<ö²IÂL¥“¥!qš‚6Ù¦ÈÒQâmÈæÔ—Ýo!f xIù“JèzP¡h T2îϸ÷-ú‹×Y[È@ñ%Ö'é.k ª-™¸ª­&F¿¢ÆEàÌ[Ê5î!½TZÛ¬bžÃž±Òúæ×ëAaµ|¢TØ­[è/õ?pžžl)±™¥ƒJﺊ“2U\>ܶ_sqDÑXç#·éÄ<Ðe`2¿J,‚«@èe¶D…+ý}¬%X´ƒà¬[k¶‡/‰Ó ½–ì‰Á=ÊFÉNÔT©©^:]¹¡õ;åêçŠÉÙ¥#¯èî{ÅÝá&°,ņËÓlj—($c#­¥«v»ŠéwdaŇ~þ6ãiæX$žƒ„ÈݼüúÄ׫ÉÓJ´<]ý=À¯üÛ¾­4¹ú$Eõ¿œ€ãÖ³““‘übnr‚}¬ò©ûxÇVÑ(©¢ñùwxOëžd0Ì©â}.5sÂÝÏm4ÁœNÒ4öý1¤ÒâZÜö ÇÜT uq¿©r´®¦&gÀ°3òÓ¤)Xìö<í²@˜F´7ãìH½.÷e:5 ò!‚×có•[Oç V|ë,*c A’ÉìH„o$ Êåî-­6óô´ƒ3]ÓÌïäjSIAŽ™ªXd¶€»@Óž=Ò,H`Ũ&Ûì6sîèìg¹äĪRÒMгëo•JÍ<ƒ+«¹¼K •u;ªì‹k‹=Íþ²kõê’ÂU¨È"Ýî€3íVom²¶Û¤„å|w%u('ÂYrÔݲû'sÐc$Õ哉ú®½ SFƒÙç=ã–hÎ&™­¥3ožµvƒ°fìøÅW]ç8ƒÆ¥¾Í‡ ²ã„Xî}Û±•ÝÈüßXC<;i¹8ž Rü´m[¯8×@×_ñº’«Ü ¾ )jÓ5m‚¢j ôyЇósÃe­ã}¤Ã·{ùÎŽŽ•Þ§R‹w¨¨¥¬lÙxÀñ†oZåZ2p©Ñb7¢ûÏ>§!Òá·Z]²ÓòX3Å4¥¾†ûù­ó¿¿>¦\³üŸ¾>ÜA“²@᡼„«¬þKƒmèý ½ÊÌÔÓÍ<&Žrµ(D ŽIܶÆkè4òó÷h`K*€Ÿ"<´ž,á?Ù»ÛRÍšNÌ-H£âRu=rÏÕÏ‚n®>°KàvTÄÑÊ>×í%Ú`£ßËqKþ3uÏbÜÐ:ìY ÖE=V¯QC…¿@׉ ùŽ› ¤§•)´®üÝä-)Ébzµr0»§R"Ŭa"MòEœ™6GÕAk0 iý¸œuð­LÛ’uwŠ»¸ ŽÀ ¼æW-àFÇ×?¦‡½‹–¡Š•œ /PrþzP/ÉXe•ä ÿ¹dÉäåuÎ僻Kžï°¢‰ÍÌ4ŒØác´ :r$‰-‹é%>õT? }hQSjaƒÌhIô•w÷ù®©)?tõˆÑ•àn$wÏŵ »~àÛ çcLÎݲççD¨î‡@~ÚQ 52̱+?³§=æ’Åâšþà¼î€íåí “3iDëx’z䎟X`ÊñXô„å à&.Ð:¯æV±'«Öžóö»Œ²¶)öhW9­øØùœ%ùt¨z¹r«Õ+ò´a‚5¤n^è¾v*6Ç¥+ÿz—ûíµzËiÑü‘é½#mC—’´_ïk§è+V~_M»€«DG*“1޹e2Côß´sCY¯…Kú]ì¢1"weÁÜe>Hˆï³{×”<‰â­Õõ{¶g«'Ið?7i¦8B´7÷Êb†ÅÍž)'Å>§§yeIX4’<¿ˆ1TÍPÒ&`ÀC•ºl‹Ÿ§wE”GÌ®—ªù e5ÑR9h¤ð[Žq˜¬'׎¾Ì[CcAuïÍè¡NõXøqÙýQæ +_³¸ÐÄ™;U¸ÓöO'Kï/tô° S¨A§»/Ø™oµ&AäNˆzàW!ër4ÀäÄÚ¥NA>ºÓ2€Z –Åziö‘`ÿFƒ‡Ck¼^ôæû~Óëj£9ín›{ºðmÔt”q¹¼";\p¥_ç2rp€°9Dæsª}HA˜±óùÖè¾ü!óß÷j¸ð¤ŸñWwzû€œþ´ë£ÑÀj M5¿œ;a{¯P€ŽQg+3‰§stª"yOÿÖClSSyðŒ“…L¦³~‹§Lˆ”eBrTσ|ÖQü?#¥2jcž²PWücìA×f¤õ€Úï@ð?‡³€\òš¸_¥µ÷+€Ù®àLõ(!Ô€·ð×j‰l­¡éû(œ¢Ø¿^«lPÇ“7úïç­»ØÙ4MŠAªÈș⟚¢þá¥ãù!ò1·OØuý—w0ÄúþÝu¦wsOWÈ/,§×ºË¶z¦UÔ•»õC\S5•u·9‚-0Ö¿FJºÔ¾D~!á‚ã…K,Ôõónt)¯tZtAº†yÃl@LL£BLDƒ ÈŒz¾ïf„ì%~óÄt–2tW‰ À5A&x”ehÞåŽ7P+)©MÚmE¦F¾»üñ¬¿.+kh£x‹µ¬Fÿµæ5“ ÄçaÐp˜àÛÛ†ŽÜ .±¼î)ºîÈ4´<˜xéVÎ_ÊD+ßõ_êU?ĪVœz)Ø%fŒGÔÍS¤ßí³ÉÒ'ÏüÑÜôÞ §åoê­.Úà“ðql¾àBPp'P\«F\wœâ×ñíÇ»¿%3ßëJãaºž·CÌÖ‰ñæ .Z6TUqVøÍìƒe#ËÍj•·ütêWÙˆ¤ù—|ƒ`u…ùâ{[pv~àSw‡6ÃÅ?*¤B|%ÔÌJl’oN6»é†G9«¯Ì dÄÁÄæ7Ys¹Û•ÍÚK¸)Òtw½búV±^TCZnŒ’f©,M±M]X–BÉ|rXóÐäð¿FT Õø8àr{E‡<,|jW°’›~„7þ¤õ)îÇdÁUÇ\X®e3-h‹„øÝÑ×¶ šrÜva+Ú™6EI"´?$žÏ$²ò,4u7®-né—J³VNŠ]S­Fèÿ–þ°z ªçUX÷»4G£PX—N'åÙ&ºwÙ…|ene ¨/Ó¿ý§( &|Êj>t¾têX¸?„B4ÛÙ-$× §ÝÈThCøí4zr`k€[£×c«´ûwZþˆŒø2°iÙÏ¢¥|sà_ª> ƒβ¾¿äa™]Ûæ3â(ƒDf»ÔÞWŸ>¥ãêÇ'õ{j'd¡A8Ñ«Ài@5ºÉ%jÇa××ü/$Â%Ê·Ù„´à ªë¥Ý(˜ÌaqÂÖã&¦&% ^&"Pú‹Àî϶˘ O¤p¼(6Îõî­È€z‹×:Ihµ]É_¼ßš¢öË"‘1Iö™…»ryä¿aBË®ýâ&ä.n` ÖF5 ˜m]+Uxj;¡gàÆ8‰Ä3,£ ã™Ìàô2¦TõõÅn mÁ6[52§±Æ­ïyß{\¡iMPOõ>EÓœV_ö°8Èû‰=‘µbú‡^æT*Ž3œç†×@0aUSâ6kÝ&ÜChœv ±>JÈêM2kZó4Ñ7а5ätÓŒg"IQLJöÛÔ‹_Ï/4"~Õ1sñ@ð½â¤®ÉÜÉfŸ‹ÅM)¤ÓûŸÖ8á9¢òK÷SØL…zsfípròÞ$RÀmûâ! ˆ§U"öAÝI«Éɪß‘Ž 5.w°>zFÅ:êúQêxÛ—v°€ÙYXZ‹ZaùMÒë‰Ã*iTyrÜðè¸AxÄ2x²¹=c7Sø’ñ'Ê“tÔ)éøpDúóv'›&šáb–j1~/%‰i<éaÅç:µt«4µø÷å¬zkÇ’†mïþrÝ?$¶• ÅSyÈ»Œ2h×BNaG+.»Jí%ë¤ügU¾³´m]UüŸœ}t¦$ó…9…á$‚Kþ6á_⾤BõÈFäY…w+JT\¸_ør±Á˜= 5Û+„†RlmÛ%… èá²Nüpaf°0)Ò.ö¯2¢|Sº‰Vl“Ë  Ú»†äáãåƒÇô>ZQb2àõÔ<5¼\b»ú&VH 0[Qñl C4ývzëÖê‹ÄÛnóðýB81NRËOÔiÔœ@bpteGÏÞª2öY†ñXÿiÕMZÌæ¦‹“²ùØ€ž3ºž‚öôjÞÑT’[-/{‰ éß@ƒ^EXÕ=ùAI}™rË[ xqòZƒ†èöo¤d•I¬©·P¹kýçÅ¥ÙQ%5ªÄè…Ûq‘•n–„Gs rýI ‡4ÊK{%ç™fBÒʾƒÊ€ p C{'oV@õþÁÝxšÍhu¨h_) âF7jÿ«ð«tö/:˜ù%ï4@"•¾GGÿýBR²Áo1ïðµ–ºÿ)YWé${(̃Æ]cüœ8$ÝpbÕ|ÚÈú—]ù´ˆ°Û§+·ýÛòÅ·*y*]~Ü‹hÚP#Ïeëª#ÐÞáR³–ªÁ~»nKa_ :ý\PŠ×ðEtð¸Ëú·%MëÞŒ”ÄRS6*® rG¿”lø†»åä§h/¥€Ç–ïï‹sÇ1ŒV]Ð:û™Ù$žÏsK'‰ž¿ìbÔ”éܿл˜Fì K³rÂîYÔ}tÏ\B›æã’Ã{'6U°°˜T @ 2  'rÔq-¿.²+–µÂø0î¶ø×c?n·2h‰è$k7·HŠ^È ýD†f…Ä’ ¥ŠJÕºD_F±mÞ…8D éŽL@õ…E±OóæÚ YݸîæP‘«ûø¾’sR¿“?q+ ”ÞêWaAÆVÒÒ¥¿ÕGa]aˆ6o|ÞzÙ!,¸¦ŠáeY*ä$‡éºDÇ9ß]kÏœ’Ó#-,êÖ”4>œì—|ÌC‚µúþd}í¥›'Ó5=™Ã®ÙÝ‚¸ª%ÐÚÓT‚€w®JØ™+óä>ãMÌ·¬”ò;)‰‘Ĉ^„*{ØM‡'|Y‹.W]ÿ3h¢íIkDÄ…Ï-,à3F…–½Æ¤Ý/¬àÝš_Ó+êØÉ¤M¨Îõi°…§ìæ å²ÏŒÊ) í&ðªÖg-–dlÀF9DT{Ÿ½ÙÂ0µƒAá³ ®ä¾åi7‡»ÛàÊqñîtl:ýµY·’mH<ð­ðcv[K›ísƒŠ½‚ħ?`[pÚð‹áÙò +^ÂXKy¿ÂÖý £·!ä-t˜š8BÒL÷,ßx™“¤©›7XšÄËB ¿y¸²\ôÕÌ©“m¤s Pzº›0´†iéƒÈR£ƒWË/¢j¦¡éÁqe®únj6I5å9¯«úfóÔŠŒ¸|Wšý³h ŸÎhõÉҢΠ£ÝVÕËÖ:õÿoÖ"¦·K»V탑‡Ý,Žô?ÕaÞö/RÀ·rg"¢;ª)XEÃÖEÞ°Q2.-à(Âe^C𻹢(!EõÄ¢,͵ÿ£’uVÉq ,ë†÷gµeB.YÞqK¿½‘0*²1õ(ÿ wØÎ½H>@;ÁÅ’ë¨Ifµv¤BnçÕ¾^DG'Ò:ýïÆ)á¤zD—ª—ÐÑQ0¬mHký,Ö‹Új< ºöÜ?ƒZïôŽ…üßµ[ªŽ‡Zò‹ÌÉ´ äÁf(²Y7é!1(©v'9H ¹ÛÁÝ›Ré*qŽìq]W8Ùg@ÖDEáA‹jí&åµÚU@]4ùVÏRFµÀºàÙèߣ$†{æ™*Þ D;ö÷þOó4å(ø‰¸ØÓ×"´‚Låan}1ƒ¿“„›êÔ²©Æ1[Bî".’ïT¿Åc—’;™ÏqVa2P=¼ùͤêvÊíÄàPça`ãhNMbc T3YJ¨9=êë³w…H—Jï—×Òê–Á¶|p¤ZZ©'  í;ô¯ªeÊÃH‰±Ô7†Øœ t`ƒèE]¤«a¶#¢ig‡Ž_Eö3˜ýÈ[Z÷šÕÕ¼¿u'‚\ä)ßsîh®ôÕœ¹Ë§äãÿ)²=ª&ŽÉþ…©ùt€\Ž’ŸðkÐdgrG«³)JDN\³ñI/vHÇ×÷W3ú¢4Óø­:ØÀ@^_J̱uJuDÐ'UAè€I¾Œ¢88Þ+‚Y»‚¸²GЖ¥Èì×™Јƒî°hJ ×N ž\pkßå¹Éáîu•«ûb¨ÑÙþÓ˜$–eGÓ ã6'›TÕÅÂ÷C+Cc4¨ìÚ·ØA–™p$ ö)ÀñÅíÖNµ&"ŒS*}&Õ[.@ø’ÛdÓ ž§3çJ2¡É×ÜI監~‰D‰ÏÚoJ$–~lÔLüxÛ§ö `ék3ï…]WÕjÂüá5ÉÎæþ#¥€fY s¡¤…ÁKÔ)ïŸüQrfôaä›ôD’\鸘9¸j&m2Èg‡—nÞ—í5šM¹`øÁW9ªçDÕ†-odYŠç„7…K‹žðþw& *’{ăÃÚ*\«V7†nOÇ)ø"¢È·¸'V€ —˜>¶{$;3AŒááÖ{»–ûýß‹B|aÿž©›·WˆÚ¼hÍ[ŒVÁÙh˜9Ø[n¾„<±’¦û¿ÉêœA#›Ö"YÔvTb‹)»d~T iú9AÄ®ªC‰7sÆ0‚óõ¨kž’6¹f‹ò;Nþ*9ñ†z¢ fˆì¨¢°Cœåý&¨ý·Õýá²nªa¿aLÉjÎ#qö1†1 Óî®nÏņ‹(¬1O…§b¾/â«hÚâ,õ-Pò/ö²;DQ2P4 wdk¨æÓPkKyU0ßô@ÁÊKÂdYÙÄ¥{mh…³Ó`ä&âëõyörO-«q§)pÁyc¤m(‘Ý'Ô¿å¹5älå•6V-ñ××8ò72ˆ+fE¨žÝ”Ì#€¤%{í a p{Ÿ¼ %o–ó¯- ˆZe!joëmu˜æ=—kÕ•Ê=Ê•ˆ’®»³¢á5%¥_­Š§P5ПÎÙmÃ*SíC‰þ³ÊÕ„c–2:Ââ†ñ Lsþ·IŸsŽêIµÙáö•V‰{?®%Ýd…:àÞ™–ÿ²ŒÐë"ÒÖiÞ\—WÞMS¿ÑÑ{aNÍ~¾>./>AÁ‹‹Q<>NWä˜Ûj®jbTq’øa¬; gìãy~ î¬CÁ*¼é2/ kXøág­ yi¡ýiwå8ô¬o‚îktà]óÑ»UÕC)è°S¥&£Œ¼ ¸T‚Wð|!ëQÉgôµE‚8 ?¡\t_êÚ ½sÃϯ]§>¢æzNÅݹ»ö»8¬¾ˆ!ÃPˆ*7!ÆÍF_;É„Ã1ê[ï¶¥Žyn¤píÐÌOÐ/‰ú "鎉»=‹ÙÆ¡¬±t˗çBd,¸ä•\Ýzœà¨@Þ N˜õÕôUQ*ÉÂ_ 'ÇñŒÀÑ6A14þ…•¢ d”¸Çÿ¨>7à'ŠŸ@Ø\÷òL“_ÏM åPpíî¶qbg FoËl¡7l0Tdï5¹žù¾_cø Ô‡¼ ÖWžºŽº"€(T¦Ì" p!è뉎ô@®XmbX¤üðóEÝiƒ§·ÖñcïNǡ㺲U,q:I¨jš|ØâOßñ 6eÄÙRITày«§øÀgSmûôÒ¨¦š ‰)t¸²,G câà¿@æ9ñ;ªêU™ÛÄÔ Â!Ô\fb&•¨f*0‘Óu+|_#‹ŸÓfópç«;`{u ¡@6Ùé×{˜A™½m°ý“½ŒT•_ñÈ·SÁrǵ³tÒëþÚAH™ÌùmÒÓjÆÅâç$årü ÙK|eSˆ1ÐL‡'öùGF\ ~¾°ŸúT MYc†©ƒo²3ìýH*’ÉpLá´0œ£½WæÒËŠaÃÃ*ƒ{ÌCfHT!sé^3ˆ?ëÌ~9š|ÓÙopóë•$Ó9è0 …¶B±Z;N÷?HÆ–Z)Áµ×eÎM%4¹Í<Ú*S"jYЮÿŠª5L(€m}ªK•ê™æØŽð|ËgA²×ÜðÌ!„1qP*òw+¾-ÞÓ7‹u)z?‡<»ík]JíEë—9TU Œ—+ä„þ´t“õ¼è}„ÂÄÃÊzà Q~eƒa¨V<ÿžãCêÇÅÚøH¬fЖàt.«“r0uW‚yŸ _Õ=sŽÂûÍá¥ÕI+~Òu®´LÜN ÏÙþ­VêÖóqu¯ã¤ëŸ”G´º?ìg§B“C Ý8îl~¹/bà¶£wÐPŠüs]¥d ô‹7Üz\wÄ™OÁq*Í•.§" ?aouœÖ€ëkµ“e×O¯/c-¸ÇŠÙSsK(#ÆÐ ±BúØø•9)GÙ"‡ú¸üÉ’8jÎH™‡åȃå^4Å‚rä×¹ÍF©”‡¼‰BÏ[—7õä!d¯2%á{p¦+¬Ý¶¶½"$WÌ*ñÑJÍðåÀý¡&xvê:3÷BÎÿï¶¿*!o-ô`F±:²€1i-y ?àÈ-z[Q¾³ÅÙ‘í¬¬ŸÞ­<7Þ.ÔÆ—×™~»€`ó~iQ¨j˜`@Ÿ»e¤1›fUBY÷T§Ç6Xjs%µk г¦?È–¸ù¼2ÔÎÂü¥÷^D[™ì^§WæE×8Èo[NÕÏr©wz¤´]*î­á ¸8±Û­u9ì¬ìä5ÐoçbÔÄ×Hdìl€ìYOiU{½í,|À9!HŽnÊC‚`mP€²§²+^‡’ÌZEW;åσÂÍ|½Þ+`}¨ áËqSÉÁÝq|j®«ì«ÄÙ×ÔOsBÖ[Ñg†õKa•¬½CdVtÄ·ÍxÙ7R šçñÌN×åí.ŽüJÎG|‰(è³ÌÍCrÙ&ƒ Á'“†5]³l%Ï­4ÜI•¿Ìü´){‡ M óÓðÁö­«†XpçVèµÝ(ÄðvLsvHöp LVÊœq5míO 3nšTÉ™hÙlôg|ò‡b•àxu(žq¶T'4´þâ@¦ögŒñÝ=çX§ÃhÊ/´öÅ£]àQæ4çÑà‘rEŸÍæÌ.`™¸:‹µkV©õ²©ÂÃáÝø; ÔçyöRÿ1Ù¡î=ÖŠ£3Ö-°Õ@o µqßÁ™dΓ:×öæDrÚñí»Ñ°Z#t£g<ÿKËIï| 5Ç”+Üôè‘zTôÂÔ¯Çãå.ú„A§DÀ”f¶là§?1|€Õ§@qÿÄ µöY \ò3…–ì1 à ÿ'bfCŠÉ ú0Œ Á8@è(ÐH™o¦¿ÁÂüº1Aá¶V—òÈK%Pî ÷´dåHõàb »ÀKȦj‰HŠGÜÓo2FfD±…b{!dŒ ìU'+.+›îK{ë¢ÏÜê«Y!Å4¥-;|šd»=è³ ¦yÞVÒnžl±XL7)ÖZò=þNìͧ3(CèÉf1qØ,+5«˹¡L­ò©S%…#ç óäWr@ûÉ»qå­›€ð‚£ø*K‰)0¢î1¿¤¥ØX\­¹Ô®dfy[•ÁúbPd¨;•„óÓ‚,BS„ÝNÒ×£Eà˜Ž qü^93Ê#F·S•‹Ú0µô4§€ki•ç=‡¼ hn>^`šBjýô9ºž*ÒÒŽ¿Ø˜#Iå2.ýêoùxI¨ÇN\ŽCÌ–ƒÉýñjŒ_åiì>‡Gã…·#´Öv ñ‡M#®V<›è A×Ýcœ™¬éÙ›‚`ºè˜á)­bb¨ó°òa檙µ´ŽZ—<„j¼ûê£ÁÉA¬aGl[±›@沪XÓeþþا¯“SãJYI5c—¹ ÛÅ+sЩÂÕ‹s¶±í¤Úð7ú/‚æ]•¿G Þ€c[§€ÅF-„êfRÔ™Ÿ1‘ŒY4kݹe(׉Nª¸*¿ÐÛ:v•,©¨¬ÆÔ³²ƒ a´æ¢ô¼;MmÇláˆiˆ(&÷`mô³Šàµ´5µ„¿†¤ŸŒ¨;ÅG§Í$]Î:±m¯Ê” 0oÑu/›]ÊŒ²Û›Lª*Œ™"{ê'—bŒë¡_k„-Öµ“ªXÿS2ã}S–#;D3³ È*©<, ¤j‰&y¼­ì#ï Ð~»l^z(ÔKæ83¥”ž·F˜äYí®RÌÂj«MŒ21ë»õ-j¯%„̰˅à{)>¢îè~õ(^jœdm$m¹q¶À2o¦®sYPô[ùã·MAøÊž‘<%c¸èÈ ðF6’I:mò3ÃVÖ Ak¦'2¼ÏPdÖ5Õ[9!-12¥,Ù§ªa{Ù³'Õýj¿´™$ Óf"-ؤ©ÇGvðÖSÏUæ¡, ­•ÇJô‘iIÊV*ŠUðçüÔTÎèø(ˆ|È4Ønå¾þLŠì,ÛãRšBÆu[OQ¢ãG !åóqË}=¢2ü,ã,œ’¿&´ûÿÂù¢Ë~Qsí¢?!aN o¡5Î,²˜'@‹?ú™)Ñ/¢~WÅȬ¾£žIÃ$<8‚pb¸<Ñ8º¬Êé2¶ê·‚œ@éfpœEÈ<4¬h£l"·#K>‡žÎ©ÇÌd†#án4˜ÿ}~=‰ŒYìóT>Ó*µVÐS¡~$G ’ ‡ßõL=>™ÁR«N:zhj·#jv´JÚÒ¬ÒY˜à·ØÍ ¬‚ýã¹ú\;£y}+EWõëI±—/¼~¾Ž`Y¹ LÞjÇ¢8s‹r6cžM‰ô¨zìçŠlJM!ÏQ“ŽGK-sUí)râYÎP5-êlÕ}º±ãþ¬_ÿ‹JŒÚÜøÙ#j|id½sš>¶š.¹ÒC¤ÎÏ­*¬MS~Èð )\ë ³Ê» n–R8ÿ¶h½ŸØ‡D…Uï:Ôõ Ò·ë kÞCÓw‹C^$Ä䦅¹‘“}ÜâÆÞi@Ÿv"*byÌ [‹5Ø21w} ¥=m“Û’VW6T¹¼ÕÛQ;&_Åúõmù™Êþ"tcC´÷½ãQ·(ØZ(•ôæÚ{““¼gØÐ-H.£èmzî˜èU¶9¸žÌÙÈW®ƒ)zàQ°* N¤fÂïÌm ˆG†x…Ho==*9‡#’“†Ê¡íÅUÂÂ$Áv¤ º“XòÿìÜx=¿Ö,QÖ¸bͤº=¦/ëi£G\Ã~ЏV˜Ô©þÈ=2 ÀW)ò£ÀN Î3Bè¨ÿ'Y‰X5 -à^Чù…)¿R~á)Ùëpèô‰!È£òé9Ø&è5[ €w½aÙX…ât­ßÝBÿô}ÆêA¸±ÈXafÖCI:Ì¥?þ`„$9‚eŽ€t¢Rò}Ÿ™™:“A¶-(çôj‰}aÆÐFwjEêŠRÀÃoðT€Ø›;‘Ö®QÞ¯Ž°þ2? Ô¹„f¤©³çªÆúËʱÙöÂG÷w´0[¬z”AŽ{ey¨¿ù’-“wÁ© dæãFͲ¦æß´·oKSšŽXƒËôV;ðÎõám…êq¯§2SŒ”5:â3}„ƒšù>¿5c¦ Ӈؘ՛Þ#2‚eqãÔ€â6êÃ1]õc˜šôÔ÷Lm‰7÷0ñ¸m›Æ.®òGuIlGÖ6áN´¹<Š“ÁÎ5––®ë–ÔŸ{Ž´§…* ¯‡óYŒ,²î3™Ë HƒŒz%kŸr·5[éWWÈwºÍý˜peQŽÎ¯—<34xtÑG©Š1‚½ø‹Ë¶Ù`î~:Ñl¤ä¦ÌÏ„+¦.‹-áíª:‡„q^Š/%îVñCÒ‘”QÓýYçŒ#‚Ÿœñ_GÏeº[O¼t»†„Fñ…ûŸ·‹´o©~_†´6z¡”B´ˆ#JÖ½´@§Ù•ø0Ó|íÍÍ pùvhc|còNhË•”Ó1X÷0ð??‚¬låbB9Áf¼ 脯M+I‘Ôú|š-’œ§`ö–L›‡S×4¹áj XëˆxšRnLÿ]€!]æ,fÔ‡ÓNI|tÌmÆæŠÔÓ=p2s`œ?½ïÉ¿ZSO¡’MEïdœ'ÞšÕ‰ê€ò¼õ#t—S—Z÷ ªÂ?S´[‚13P £QZ³ìŸ ¢¢ˆ¨Ò€¼4Ü«„ÒAG„á:"‚?CSìœ/qÅ0“c€5ì<1G°….9¨‹ço¶·3bÂkÏ–ºFqÒ»õ€—¤YλEÑæ!éu +»÷Ã]{ÑóQù.¾'§¿gцG ðì*o\ÞåŠê+¸—s2Z¶+„BÊá,È%#rÈ×ú/”¯ò_õ·U>È¡A§RD-ò£ÕM‡ø±?!Ül_ßöw/–:–ὤADü+?*B&±êõ¿‘6ß™… cS ‹S%ASÖ¸izõáK?çAþÜ'ÊÎqágfh3(ÖÌ$Ø`˜#/Yölw¼@ÍÜDµÈ—FØeà&¿h0˜Ÿª’òãÞ¬s5ÞÎÙe‰i«:¼yX'šããääê€LŒÌe&ý ËF&ëJJì/¶ÊÂlƒ;ër!Ì øæß²ï哆åu({ræóQâkŒæ²ÎÈ2¬/»^µ²v{, Fcò¤VXÕqÇg4ç3ÝJ˜®à­±´}Æ&Zû dc\Îâ#fBDëÀ”‚x!½½pJ¾Ø”%¨6Õ¿QÌF(§§1ä…¾,'ŒaˆôÇþª¾åÃÄŒö$+Iš&Ô=I#|Î8ìh¶±¥ç[39MçK3 ¤»¡ðý±ÑiöRd(‚êØ}^Ý2E¨Ë=/'%ÕÆ2n“D"]Øá~½ü„/Q¨ð:«t„ y†-ÞÛ&•àÔƒ²X({y»KöÙhšÁ¦\ÔU´ÖåƒúúÎ’B²×™<—ƒeMþOÏ×ÎÀo^µ³Â™ù¥!e¹æm'w,À¡D‘ò„Ý<GŽ/ä£Á@Š <$ƒš_šñ.rÖ°"b™Ýeçx8Yã ­SCq4ýŒ][°’cìƒN)ñÙШú;伈·-M¢”ƒÅûDÄ18ÕIÀ·ã¯BÒ↪äÄèáÏö,.J¦$TÛ’^`8¸˜pNä<¥9œrÏûÆ<™0…“–2†ßÀ6ÓÇŒŽZ9TƒÞ„~ªB5v„7ó«m‰úÂß ˜˜\Áx`¼#D6tÔZ[+ÿ}‹.¥Û:º­Õ­QØÉ#uy†øyT5¸ŠÏIjí_W«æ ëP*ב­,ŠÆãŒ¼¾“ãSªáî h‚6½»{A¨Ÿ†Äš¸¶þLŽÆ[WU3 4ñô_e‘OÉñp;ëUå_ÀÀ0O'0‹B ›p¯nMQV´ñºu‘¦»¿˜ÉZÃD8sìnüÿLonýÄàMfX½˜E>>͆Þa”Û( {†|OÌ×Ó©ndzŽrºáÔÜe\ž0_æ4——¸Aœßê)2·çn­%’1bBw|çåH€'b¤~9ÂÝWÿþ:8Ú$öeˆA]õ@Æ‚7÷]/Ts}s@’ï|4-õù¼TMša¸¼5ºe D&‡–ßU…¾hvt¨3ä•­@ÀÊ—ÿt“»n«„8º"ëX]´•ðÒàå“‹ÐmÇZßÂÒ˜ÖÞ¿?A´m/áAÚ|Ä{³ñÜúIp ôyö1×âÅv7w ø®!¦H œ5™ÿ'FÏNRH‡€xÞ¸þn*es‘s­Ê¢†BóŽì~Ÿ·øÅ#òÏÌ Œ_á%>g~. ÎÔ.;ÍDñ‡>Wçh¡9ÈÑZæðN‰—:´ª º9k8o‡Â9„joÿH˜þjÒ^Yî° É©â×Õ<êjÃÚsGÅ¢b8cM@Ø¥ ɬ†Z‡ºàDr\ÄJØ?ëÚ0bAuý¿…kmà që$60›”pd¶É]*_“bcÑX½$©p!Ó˜¦´ÀtÍì5“ÃGí>Ž.o¢7 ô"my„Œ­O0ô5D?`Zæ®Æ';ÌVz9µ.ú,…¢©@™Rg&mWí2)KrAQMîâ‘ âç©À[h6h´¿|–z®äPÞ{ ø¶ÍY¡©Ç€Z&HÁbÝ7gÙ‘Æ4B•úÒvAç9Æö Çí»h`ÙØôî-lôžL5ôé_Ä(æö-{ÃÕ/ª·L®e¼p»Ý9%ðÝ]Wsp…ßþÔSªþR™b›s}*Sȱ’à•!òc1ûyt¥13ÔüïÈãöÄ mA#ºôùé'pò¯©«¶.$k1åÖ’a\ËÀ~¢MÆüºS­@®v¨Mžáq×eŠÔ-¼rãXDÈë€V¥œŒ?Šø¬6Ü™úKÉXئHq!}ÙIýP‚.{’ÒAÝ+âpM3“5[k~Á„5¿õ ×] Øûñ ”Î ó€ð`ºñ”žDûƒ°,}®CþTWN=yõÚÉ,`ywj’¿€‚¾Œ«ÊêB œóMéýÛcš£¡J‡”•µšl‹íx2Õ@ б;À}×™Çî v^pIÃNêüGW$-;q*·í‡YÖÖÅt*pašY¯&e$!pHѤ M•vh°Îë!¡(žQ^ŒÛ‚*G×5C€ÜâÞlß`ÍßÀ„G:¦ëº¾cÕA™¹Cï›;Òô¢G?ª WÁzVk+íÿ/ÉÑm+p3»¡ )e¯ESôM¸xÎsÍ0ÕR±ƒƒ­ü ŽsV­å€ôîü)ìsÙTk\%½Ô¦"×óÕƒê¹^ÏeRÉó˜°œ’‰ò5çdáÙ’Žè€mMC‡¡ =Ø(C©DÛ>šÉk7[³ü«$~êÛ˜Žè6Ý6Î=ïåÄ|µf¡vI«¬iw³µ"#uô•LI}CÁín¥ððŒN ¤¿7pÎD…SU£Úä~%#ç?Dnã!JЇÿ<,Jô4_‡²p@ë#O ÀG†Òn–/ÃÅ=½Ùñã™ðx¹wcpä’P„ ú‘ùJÛUúKwMÕ¿0,88®â´­ò^Õ 9¿Ý( ž«ó ›AÛ`ü  ä@Å¡FW_^Ðý ¯ÍÿYr{-b‹È¯Ò°\5¢õ.I!¯³Ó|Ÿ»ubTãÄ^}÷(J¯_õ´*®¾#$–¾A .â'±D¢ÞÙv h12õžZ@àØ¡­²‹ù×k? Hà]D^UœqcÉ$ïëÕ»¶Pe@FMcŽ8o6çh®û =׊ÚO4J’¹&6¬t¨½Z8709 )ÿ_-·ËX”TõŽ"%´úP‘+.å`KŸŠËúó͌풷ÝgÇ–(‡2¥kËV%ý”“Ç=¨°l­Ó·) É™” X%˜zORýúëÒ,50Ï<‰ÀH'ÞeDiK0?–Èÿ*È.Œ£R®ðo‰ˆjÎ4ob?$Ö‡ÔQ)ÉœTNÖÑtÀ÷í¤>ì$#ÚZ,¾ñ[¬¹Óó{I2ù[É·È÷‰c ¼mlT°Ð±ùµ ±ð§@“’wÄm©ý;Ü9”*pl'Ín±l&ñ~öÏ• Vîg'7UÝ-9Îõ^=èxmAÔ©¤û÷#,ÿÔlõúPØ,«N[§E‰8L½ßëŒÚK w[7 ¿„£TÒ~={ÏÇÖ²%¯ÇW]S°’6(;,ËÝ̯lÉhT Aô˜é4¢y·šT5Ap}®äë­/3lUÝÂÄ.•kÖÕF—@DGn³…ùœªŒ¶€(X×Í|Òaüù¡ð‹HŒtíûÀ‰~,˜ó>úhGƒÑʉ <Ûs¥d/£ÎÛ–Ž ÀÏ’«Ixý^€ 6ÀäDkät8ý}×û.=>¿ø‡Yè‘t,3PRYe3Ý+þàõÙN+º‹tá60tz½]×I_äë°µñ°9å"µ±°CÜŽè!ºY2¤"’h”À°>G4ÇsxE¸f/Ëy(ŠTE}Tm”f…CSùÍKlWUÖL²xû¾¡^ »KQ,ûG˧h$bËfÁ86ôÆPòO×Úª‹ Eü· °–7®5BÐ(gøS„‘Ï„æK &CÀNùÀ¢îºVÿMv­3ïÚê‚÷U“öOïÍÉõ {ç-¬n³ÌåaA“ì»y~w#ù§¸›q{w2šo/õ°-<—^št`wrNy_f[W º»Ii€?îÈ$*¼7óD£ÌÔVó/ëØ“¶Â!´ÐX0[xµS$E¤Lª&““ÅX\º 8"©¶Ô´§ñŒÕ—Ÿ4¹¢\€¤Ó÷%Sý“6W*Ù1ƒÞZt†Ì‚Àò"@̨ <‹òì™Ì¹!§³ÀöGxãÇf²¹7ÍsKÏîSCAÏ>6.Âg74Ç`újϼτ¿šXwôvÒ yI„ PQ¥8ˆˆÃPøØÞvNM!–wÕ.ªÒí߀Z-ªÑ€@ œ&2 _¤'†èÄÃA‘ÞÍß­çJ¦½¹¬sæè<Âňa­;î5²Õ[½þkR*!,%¿‹-,§Ä6ïZÌ)tê˜b÷ r‹žUt˰EÝÜaºRŸÚð§íÍ¢ænPZhŸ²&öߨ©z=C™›FyP£o• Ãvà)œ(B·óL¶é›ÕÔg@x3ÒV7CüŒ# zƒØŽ0g^ø;Tµ DÁ?Ù­–ô*t±®r>ÇN8å°ô9’MÕì°ž|ãp{l.#T^iÉïJ‡@y|ršiÛf©öæd«J›X¡®[ “YøL©›UÄ­R0¾5·@P)eO—|ƒ! 0O»èú¨ÊD,ìDûÚJOö‹h™ÞÆèÎö¨µõid©Of²O(œ3ÈÂÎå÷Kqà.=à\ÁÜÂÔöøàý~cÓŽ3ìêëŠé`ÇqJP~=çru®ØŠ”ÀqCÎö=À\Dÿ¨Ÿ¯à©²¤ÿ06ÇQÿs¨VêäpÛÛ±ý»A¹§ÌÆ„hbÌオ_ ¡©gôåú³ÔýŸ¹ÞズÃô‚;jQ!]ËY0’ãªÁ2V¿Ù*Ëir'ŠXÚj.²q¢B‹!”ã'Â}!sßbNhœB6(êjZÕnld†e©™rXyÇàÏ<†Ò–º£ 8ü¡c ¤ÚO ¿èWÑy<}¤[(ë%)k2Ýs§¶%_ù*¿ûè¬s|]Ó` •ãn%pˆw¤_‚kÏ»ôjœ)¸óÌÚò#ÄŽý¼ö8@öµ¨mIeU¢;ãH™dtê쑟 Ü Ï@áRª rÂO.õá/í/i›B4%î ´•3Aú1ú޵0<ôϦu³-l;á«]UP¾[ú†r5ÌhxƒD£ªÂ[‡­¼dZnaseanTjð ~;Ü«»bj÷²d–s¶í¿ õ)r?'9ئÿúÉ¡¼_6¸ D›‹5¶ÃmÖ4'<“ºAZ'kv¤g|Ï„r†r— ±úíaÒÑ^ÛºÒu³ r}Ĩ¥D!n9lP¢þ’U ö …l/¯äÄL]û:"é/î!ê]¢öÉËÚPÙý„Ö¸ìr³€¨.@ûÁ¹Hˆƒ¢Gæ+ +Ã÷”Þ:‘s%nJLè7’>‰‡hÏYÐ6©©1ñ^ œÄ`Á^–ea¯ø18á:^-¢Ûíÿ½‡As|ŠV±gqnUè–cœŸ4žþ#3£øègÇ…ô¡W/QÛ) ¤V¥­ÇºYO&½Â[ÉbÉ=Òšv…|­®’ÃŒÎ\™\‘v9,SXkÍ?Ûº‚øJ5Bë©pb¤ˆIzuJ. êÌ °.•uW÷|ESäãí­Ë¨õdyE±¼—óXÑgæ@Á môÈж®­öÐySjÙ$N¬`æ+zà›<BÍ+ p™ÅyÏÆ*ÖT…f…‹‘¦y΄cµXn¼ L9ž£2ÙæÀs.®6)è=Gd0tg[5J²î2×)Væ{>jàdÅÎ<èMIZàM~(xÞÜñ±´ ÙhÃ9¡çê/`|­nç Z3ƒ„²Ô-"Μ&øOÙ(ßçú©ã§PîÙ¤ý3—3Ôð“+ð8ª1ìð ˜ýažs³&ñwFå¸Wâ®-ºÅõdßÅ”ºÉÔL臬tš´nOÂï´Çšâòȳºì:ù-§Ö!g~dh«Ô«¬úªÔ4”"›r¸S‚ßà„¦ç“°Å Os?ZÁ3«ªr!?~Œ$ K£·!æî>©\㘹 :ÿú .¿Ô5_êYtb§™¨¤7¹œ[‹`q)wå¶ ˆÜ–ekêm¼¾‹NÚôRÓö|A†o8m>‰üÝ/r• J­‹:™žÊB âê¸àf=ׯw|3fÂÒþ++U¶¤Ò¼˜Ôæ4HÈåÂ’ÁÍ(¥>î[žÜK‹D¥[s¤´7ÔÔŽŠ©}Øå56ãJ¿T–p¶of¾0Aè5Ÿ‡@ö`5e¥¤=EH@6A C¸S“)î}#ì"·IS€à¯>|r¿uU–oW¡÷¯=¥ø‚3cW@Ë%C_h—®f©èØ{~Ñ„Ó'çÝŠüí¾òŽù<ﺠ[MÅ´hc¾·âA2“á! —/#Êi«§(­@‚^«IÔ B"oD÷¬¢Ø,W>Ðt,â‡üOõ™`!$NÂür&ž‚·†5lù“c1|ô>ºk†‘^Ïj^?Ç÷lWqÌ0=àÎ~ÒÊØ–¤3íŸónœ¼mÛ}jexôSÅÃHצfŸçW›ó°Cé Ê ×V&S9'µndG1J™ÁF®ÑRÖ Ÿd5˜År”ôð,âWkÌÆÉgkUPÌæß//…²|Îô ň8ÉÔó÷헺נS•äág½ €9 ÍR3TtþÊ—n ÜÕí_í OåÈ÷í=ü{HÛ*’ø£wepqï=+) Ïz:Ycv‚ O ˜mëmݨNKîF/1¦—«mXê.&ç2Cƒ4ÊÿêNEñÃܢέ®¼ËÄàLœáðõ;ô¬D«—NcF_L_0~,4VˆO#zºNÎl,n¯LO`§ |ï2doŸ0j™iF\—£Cùü‚¹—á§,|Õ²dö‹u‚i;Œ 9p¥v•Áâ1SkGú"÷9i:—2«# þè÷Å?FÓbÑÐeR½è@˜Æ¼Sj4¸ˆ¾ØV“‚ xçžJ9\sÃÛ+vƒŽ]‡~Í!KgÉŠËtTÕv6ÔDÝhKC‰6éÞ? Ç‹¨¯á&«ÄØÌ jŠ¿-f¼ÜÑ3n2‰WB…öÇIw¢fÐøG´*šøÑȯ!ÁgývÏ$ôŠõ4Ü\VöäøÁ¼ÉÍàîÌ¿|Ú‚W•hc“tø‘ýâ±YÌ@¥—œP÷sœóÚiÞÿŸUp=V ÁíFàÝ$¨.SJ¼ù¸•÷mý'\¥MT2mzMxBápv¶ÎpÜP€¤º} ‘0M2M>Ú a’1÷»ó¾@.%Í(NÌžæxø÷µ«"\k(îr#irs¤xha8pâ°ä9‰Êp6—x¯Ð‡ÞENsµÜw>ÀÅ\ʘV¯I€u$_á¥XðùÓP‡l‚ +ž©T4€ˆ iÄ“§ÂŽâØHŒ)'±®‡°L…ó™#hW¶ÜàØø¿Á7¬<CÂXge}x18(T5¸i2¯$ Û§dKä¯u$"sWe=°2.ì|“r­µ|§á^ÆR#³-/W›§Òÿs1>9À‚k7þÛv€ñi9`â±T#Õ˦±>7/êîå*îÅuMt¢Ìåx+- €D0ã[ˆbWB “žD”´l@„ñN¦iŸm¤eº”¹yÎл"ijY¿}âÛAÔ™ê\Ze˜“#‡.p<¤oí%Œy¿<Ò1@Nc'–!¢†W <+ „wpÝ<¾ ç)RÄ÷gC:&"àH¯Ç>M™ÍéLvÖGêß2zØön»ß©`&™óÄŸ®t)™Jwà4W2äùZŒUodÿ|„Ò”W„p¨ ¸2ýÆ!^ø{¤V¢É‚îM”Â.ú\sÆÏ,*nh¸·'“D.‰å¸l¢üΉÐ‰¨w Ø`Âç÷̦;÷¾+-“È´G8AÊkâªÑ2ƒcn#•70Ed{‚! M(8vz a5ÿì}q¯Ææ§¡^«Ÿ«a^F£¶dsìmVÔ¯²Z£€3éS ÂÏ‘71øvïÕ|à1.qEÿ™AŸç=xBX¨ñZH^Ö®!§?úzK‚CbÓV:ü(’WIukÎ*b0“AÓœnƒ\³««-€Rj !5ˆI öJ4Ò#!,íö~´€ˆý‚—Z“6éPõŠ9E,³^¬27XS@#ZcJt:¦•Ã"2aÖª©öÑ¢BêúöBÕ+œh¸æ£ÏºNK¢Ìp;N—™a£èàuê™JEiÌvl(é‡ÎÓ%íý±€äbRèrŸ‰ŽÚ$Î_Oó_6G¡ ÄÁ‘Há-(£áN“¾“ˆ‰÷Ùz°ÌÒHÓw±½d†á?O8"™òÐFHØúú\‹aìù™¦ W^gu[õ¾hÏÍ ß)/æÐûëì›_âÙJìæÍeµlÕËlV6s˱‰‚Ei‘˜ƒž úhÛ§/‘Õ6”¾ãøLa i-‰oäÙ>Š»J({’%Iâ¦ÓNLL™£ýЄnRƒYbN÷n Ñ3bs³èWƒ‰Î(F†ÚW6á`‘ÖMÌ_k™`¦‰`ý«æT^÷S«V¡L02RŒ"ôAÁjñŽ æ±:â’¹ Â)Ì+°…Â."Û~v}y, ‡°)¦ J$êgM57¸<ˆS~±|4®ä?ÎêJkðÝ‚ÄúÖ Xäæ®¨ð½d׃¿¸"ŠëË™Üõ%ÃÂ5Ä»?¨¸Üüñ‡ŠÐ·nŒ§‹ÑÕðt¹£×xYoAh#T&ÖAy)E#ÌK,h€€+æÐûe½”ápBéUœAWŽ—†¦ e˜ña­XI kC3…ƒ—ΧV!º©<©T†Ø¢Sã :ÖßlTšTª•“°é§ì3"¡™Gð×åbk‡DËÅñ=Ê (%±ð`ÃBg¨¸%•ˆ.çäò 2Ó­UÓ³÷ Ûï–õØ30Áà¬gÁ@Ú}†Ü)míÖo!ˆn\”q\¡|9jùÞKÙíMˆ‡Ï±ÌfÛЊ}G´Î\ññ Ë-ÌcfÍ«à(|xxkhóX Ê;%‰_ŸÅ°¶\½ø êG2‚£T%'oNm1a¸Ö‚VÐ s ù.ók'M3¢½ˆ—j=.=‚˜{\–Fçý‡A|Åý}RN–ÝF•]©)´>ÖIŒ’B¢+н Ir±™I?€–ô?‰|&,Pà»æþÔÿ® ßè8ëE³%ã›äcŸÓÎqtƒã]hš!?‡ýšðJG¸Õß@ê›I¡U'_Š¥/ÚŒéødœÝœvØQ$òÌà©o5ðÀŒ °V»ÆÕ¿ßå®DÁ¶(Å…ÕÇ£I6'$Tóýs ìÇpiJ£ðMÀ·RM½–…ÐzAÊÉÝ8ä넱/ÝœaqÑXlJ¼ßwâ$»°oG‚ªÊîxó¼Uýó†®~ïˆV‡zÕ囯7­ak²M^dPT%Ô€(õ3”¸9nç‘D-H2¸¿ëù¨‹qŽh×?œòÝoç, cÖ'•0 ¹/ì>ÀÐŽŒN=¼«—Šëè…•ŽÉ)Eûû4I¢‰Ô˜Ä×÷É!°Ô3ÙzÔ!TzJ>es$øFn{JèÉCÓ”ùthè+ Vv9µéa¤#”FÈ%4"B–/ç›t7 æÂYNÍ“ðŒÚÂAÙµbl7§æù2e÷Ò{¿úlcˆ–á“ôëcøÖ˜·aû\ø¹w!o¹þªé•rÂ{½vD'# ¾ÑeÖ½º‹ÅYã$9àk:;ëÀ€ž­ì"Ø¿Lh(» Ð<Ù°¾sñÚú‰ù«VXÚ¯UQV›6}è‰1ìŸõã»Ý¨÷™—Yýƒüš^Š"·š,õ‹ŸáÖý!¨s]SEjÛËùj†iƒ1Ίºl uI¤ÓÑ$èp<»œmŽ l}<¥· KÏX'0F©†ÐÐFö.7š£Mü( (Äcjúò‘DZ’w0À—Ê@%Îñ+ Þ H®OË+§»Çè³®æ¿ÇÑT„®nÿ²ëÿ°¸ë‰µ@)›Mäids£û6ÿ"ðE‹Ñö{|ISÜŒ]êò»ŽŠÍþ±-ÍcÙ²mâqøÄ¿„9 ë_¹¶nRçVÖ"¥N÷éâ/æŸ3ÆV•àÆ0tjä8 -qqt÷Ÿ/¬-iŠNݸe/Ÿ¶ÿa— g¸@œÿðå+Îýû fãÑ˰t)B(úÆðÖ 2œÈ‘F®´0t@D4¡¿ôd£ &„ŸôŸ©\?MÈoª,Û3@ÕA¢Ÿ¡VùWÓÕ6"¼/¸\èJUËŒhüÜgTšî€IÌ0—ü=œâï‘3E¯JW¸9ÏÇý—ŒÏGJ½ë¼Ä*2RÖ$·š’"t–=ª® ¼—{ëzšRÜäòmLËØí ÷oV窌—¾‰ÇŒ”?Àœé—`m)Án.&øµúeÈPÂJ(ùà[«¾³‘í0ºìZU‘Bn_´kß_Vwèbáå8j:*ÄÒHcZÌ5V"½\Qp£È bÁ…ŠþFj€†mU*;@9'TôFù¶Xž¶}B¤¨:OhkvÜ`Õt ˜#Ñ¿qÜãè]~^mЀއW½sPs€Âä‘ Œ ž÷›éœ`ƒÍP;Âêj3=.xÆ©d œZe"’>Ò‹-iœ§‰Ã.:N—!81‰{T‰›b‘ëìÇ5ŽÑmqmJD +l$À×q´,¤M„Ï %¼àZWNƦ1.œ¨4md¤v·Ä‹ ¤ؾև1ºŒ ŒÅœïz‚üDtÙ4þgvrÀA´‰Ú¦Ãäu{Ô#k¦û¶mô®E·Îa9ç[6+>BeåOíÇnðýøÚáÀW«š1Oxh8"ŽçÙ´.m¥Ñ1.Ë€äÞÂ÷Ê~‘HM»ÆL*FP¤cÏtöJIl‰¾¥ØÔX/ïLhüQÅ%wÞU¥þÇŽ˜L8¸Ö¯e?ã4½´ãÅ]øP^`ß'lƒèé¨r¶«Âgq­Q(dM’+»ü`Ò?2U}Íý¹„ŠÆÕäÌT¥ˆ‚Lc øfõü˜îø'˜^n5A/Øz%ľ殂p›ëŒsF¥ÇÀâ5žÉUùž“ÎÕëè=™åÐi£nÐ×Oz=EÎ+ŸäLçN·  ç9ˆÊ¾Èÿ‹+ܬ‚MÄî¯nqhß«!!ÿ’o0”ŠƒyÎÝÛê©IÑñ6¦C'ÝÖw¨¤v¬ÆñíT÷ðï#vªh}’¢Ò==t·ÆÉæ!y ™É/ùã£ÍOŠÍЂ~Vþxû!BàÁ¥mMŸ;½Mg#N†}œØºAÉtQA‘bLþÂ%¬þ¾}a°ÜPóbœ‡×@ÔÔUË-Ó°ˆ¦]’Ïä°îŠ‹”xÕ/9 Ú›s;¾±ÿ…k¯ÏîÒ4rT»6ˆI9à’µßâFØÊÂØ­‰eú䥸0ì™ÇV¾0ä­°8®äõøoÃ1ëB(ý˜¯­< ˆ÷Wu³#î ]¹\{’Ѓüö½… hHŽB±Çî?ªÞyuS„8T4ÔÈÙTvbª¬S:Ÿ­*†‚º#»"é…#¤#ô«9îþ2§ËP+‚7òŽÏý­mJÿÏK*¦½¹ûFõ£óh©:íw[VoÔdS2·§C^R‡‹«™‡Ç¥Ïô³¶H>¼¤ ¬Åì •z 9–ÑHžºØÅZeæ,fõþ°;|:„ùWéz>·}½(2`R†b–¹»Fä°›º}÷­Å“ ü&2ôz+HóâÑî5Lá£Ø½ÀÛÆ $HG㙳µœéßÖûÞßÀôá]¶œPQH@YÖœñû‘ÜùӱϬ¾{ç>UŸñ6"bªÒÐqކ%÷TÈ„ Œ­¹ â¤¬Ñ *—^’½ôt¥§í¥þ Y òá1¤MM(ðryRª[\Î`ƧtKÑìÊî-<]îùÖä(¾©çÂ]döÊ9=¿QÎsØw‘Çê¸ÁŽk¥ûy©'_diò·6šrR<ØaŸ-Á1¶%_ü×ï»ÂçƒÔ¨*#S—Ž=Éo†ÆK{*ÚÎS»VÜe6Ù§U~]`ß¡.ÅE i>E>YcÀ÷ËòJKŽ4D›ªôãò:Z€æ žÉד˜"’Abz²\T߆«†Ö¹Ä¥y‰œrTíp+¸u‚Â6-‹ нõ]®®}ë5CN“ R"œ~¬ÓÁŽ|Ñ0•iZi0¡[V‹¢HC)"ˆ+LÍY8Ï„pa:>+1'Ȳ(÷>fr²ª]Ö„Ù`+À­[ËfY#’ fŽƒ»„µÇEʆ\3óTd´„¨ÇÓMêâìÐæÍæ‹™óª¯2²@žEÏ)CäDÝ¿‘Ç>â ê ø&• nÒN=]1”Eu½æ.¯c Í×gY­ápzó]ùP>eTî:N2™…$öŠ¿€âNÖ=rºiYeÒá÷ü²eÞÄ'a¬~¥F¹†süûâíŸ,&„ðO5Üå¼NÜÅ4‰"’å´ €l–^îËH ™1˜ª×}ñ=oLïeÝC±F8|#FY¨<ž3¦@‘ÃyºãÀ åf«|4fžÊønwˆÌÑšñ¼usø×Ú¦ø\*‰Ñô ‹å¥Àn“¦¢ŠÏ*‡G]­‘(¹¯èˤürÚBSudO‹2=ëj€ç\®¬vÑ¥n”ué¦Cf^¦Ã"A 9%›€t¨gˆÁ†ÌÝ®ÈѾ›³9º[áœÓ–ñ)¼ÊºØ¢¹P”*‡‘pè" Dž°m†°#–íï‚ëÈ®ON÷OoW2¨Ú[ÙðPƒƒàr|_å“Ö1áÓ‚z#·×/S¦°‰¿îÓÌ›ƒÇY“Ó5FXfÜsÛzûá7t´½cŒƒ·ûTeWâÙ;Õ(3R„±ñqzɹ (…X?hà²AcƒÿŸ‰ÐMô2jŸ^“:ˆeíˆ$»åe <ävÖäU)I!EO”˜é«÷Iöz'6Ê}S (Êôv_.mÈîlæs„²‰Ô¾‹'ìñ¶qkÏÀ)p£6?èéaöãj1×ÃinྠÔö³çÊú±0hÂB¤hÀ­T¥ÎOáx@Ž‘‘žè5'ú–6WOX6*ÿ—Vf—ÙÇyÅ9—XÁp,qô°Ÿ}À‡nCª­? êvAõG67UšS,h|Jc²EcQ+¶\%袚:ãD›Ùʆf”lÏ£¯ý(«±Óoi‰œëµT¹UÎJO’4ß‚ºÍµïlÛ@ìAf=qû“À'wá.jn­“AeJýu|•eùºä–ñ¡K¯®n_Ö1|¤³”ä’ŒõùTZM4j rÙÞãT¯^,r¿­Ì¢ØqKÞbšeµì1ÚW®tÄ÷®5A_jvŸ”ss’7X™±<>ùëŽCcIŽa¦ ~“çgÎõü+A>µ7³ÁÅ‘ cíX ¢÷6–ø9¾ÈK0NžnHUi–ñõž7Äå—ØÃ«ë“Û±üm‰ïPàIOT (šîÙ¸€@õëJ½ZŸ]_nV< ·ldß%m[µáZa¬n«ˆA¹®–¶Š»V¢«f“Ÿ±΢«ÝõxvÇÎ;µ%±|í·:fYCc¨Ñ/u ª­p9úl#:s3‚8£pòC^Œ 2ÑwòØXˆîBeâ)˜¦µD&Ž˜ð§qË‘F÷l\áÀ(È÷½±¤"n:„7K˜P7c• ©»Iæí"yÅo}3!kÛ’•B ý¸Ä}ŠÂ˜ÒÕ0„Fí¬Ib|Í",©ýt"ÖÏèKŽÔ‹ a 1bA§¿J—‹Œ¨UL3Ærê'ÜÓGÁíêeÌ[Y>wõn¼Œ`†(i¼#p”‚ÏB¢ý$ÍÝœÐY‘æe#1×Ι´ìÊOjx2þ=™|ØàL䯙_@ÔM.JêlãŠù”ÿ¨…_u6VIEúäŒ3…ñ×ÿfy5¹tO)$Å+ À rî hÚ¦<œÝ%¤æI^ZcÑ»áëxãôvÍÑÐ Ù¸¿:‰Z³Óg³¢.¦‹ö„÷S¨Ê•ùO"^YÂÖ-'U¸pû =lˆut‚fd› ´©%!1ÜÕ+¡­ÜC¶­)JU#I®XºI3É×5Í2RÆ«ø1r3˜¶A?Bô<¦{mV`‡…u‹’DsºËà¸RLF±mc+¡í€-ééϧG^f!~ïeÍE´–k€„©/!3+îy›´ì|M]P{´ð`(î²Ñê`wüE—ü)pæ¡w½P¹¶Êû@G?[RÒvEòU[[P¨j‡0 qB!ªÃ­Êáþ/mtçt’¾Š-™ºZ³½Õ‰”Fü‰ìWÈ±ÐæŽG‡s¬gº F\žåÓ–·)=Ã4ÃõNÚPKLbA&Lˆï*ô{ÿƦõÜÙ”™N³èC¼\›.â-’¿²'óF»¦ÿ¦Ò¥Îˆ*TÂr°ÈÍn¶½ÉüQ& RáºZ¥™®|ü¿epoŸ¶×õÕÐà)¤ºe1éh z·n2@×kt ‹æâô»áþºÿFÙXõÏÐØn‘ºÝ'“hoœm]Vnäÿóõ vgr3lÇtÞ„B:(´[ ¼p¤“ ÚEM,°ÈÁ¿?WZ¯k‚Bÿ)„­û#wî(z7‰­²(µkdA=öP¥2'¾îz†J-‘cÈJ[šp?+îU4¡e‹|æ»´õ°Û¾˜<ˆdb>3/D>ÌŒZàB*”MõxÁŘ‘Â/k„Nr=õ}µ¶Ŭ¼ó Á*fFˤ•œ± ®×á‡Ò‚M¼ohk¤×dBEe•ÕtÔÕÑ/}ß7}ø¬ë˜8¥n%"óã…ÅÖ„§ ½É£¿`¨²B§Xþüƒ‘[ö°K8ÕÖXÕ^Êb¢ä4]Û{Áv6×àEA\8iTP,BA/M¢:6]ȶ߉éíD)½¢©óŒ1vy˜[7àXß$í…‘¹ïjƒÑffTêL„l±Å‰™|=…ÁZ‘¤Ž;׆ž©X,“lzáÞ– zn1/8•È©CòÁÎ –5 »¥úgWËo_vÁÁw²»µ+-éDZºešOkoão±Û¿§%-„?þ4§§™Êog’¡aQmÏW,úûNRâR'ht=#Âüï4UqÑÇvkŸCä™Í¿Å©YGÒàw uGz$~$ädå‚òâ¢þÿ_÷¼˜"Æd(ü;VS2ßh›–œ @DVï¾|ãHŒ¥p7îà¯ìVLHW#-æà°Kçñ"¹ntSšÿYBí×êb±—stƒ,è• M¥T¤†Þ¬2q齸d"^LÑ'e˜¥¨ÅÂÞ Ap’‹èSõ¦ ~+,1ñɯQ–¸ fµ§ÇnÉ|;¤M¬S«ÖÍ;‰f|ó9q/°´p©˜åŒ\[ƒ7„™ÄÕ$rKK½]j°S — Σª››·ic9k“œè¦žA2™È9bló\…; ñÙ³”ﲎ~P’’¹Öd$”'¾,z ÷ù.8þ\fØ2hWéNÜq]ü¸‚ÖÓépÏÏé:c;¨M¹üF4}"‚ á€J'¦´ÇŠMy›ð-¯¹3òh}Î0ø=êy0Æûsp‘Õ”D§¥l¸Ž®ÊUR[ë@ÔyØÂM_£š= å 7†„dn¯ŽA`¹Y±«áSxgûO¡ùÌpªž‘æ‰VNáë?±šþ d]lìIª¶›@¦¯bNNKÿ6§Lrwpú‰\Ž PýßSHY74ÙÆ•Œ€Ñ×dBšÉÊù"öEÙæ¤&@ÀGÚæ#äÄÞIy¡Q¤ºqèû&¿æ 1à-ž_¦væ!‡Í›>©³6L5ÜãùDF¨û×çcÂûb<Öz^fK.ˆsÅó®¢[ÿ6þLBGÏRYÄ€ŒIΰ‹¶Ï]ç/c#R§îÉPà*)ê#Î}[ŽÌd¸.Gt^CÚòì-2|¦« S±B¥éSv ýf1fÞ0ÙÇ£Rè¶7t:s®øv»Éä(¸¡ûÓ°áüM¥Lžvšm =ϱ.´pf€{Y^Œýh›"•+h$ëH°Õ¬UûnÒpÿC«vn~›ÆøÂwcôŽ£Óª-F ÌoÀT*×Ôpt9ÏŒšæõnT6Ý…[Ë›)¢ŠGŪðAk@yÅ`V¢¹ë áÌ3üÅ*,}o ‡œë.»¹ãÃü•9Y?‰3:n³ó od ?å’ÎÁf¤coÉÔ91£=6¢¨ñ§wzdD wË çýÔh`¦>’NsME²3÷¸^ÿ<†Í‘H}pä˪8÷`ª5ý`õóG1ÌQ¥eòãáÛhö²÷á°i·¤W¹•Ôe¤¬ÅŒN°sŒRCÕr.„æHöÿQlêiåh%-tI$XŽM»yìdó%™%½%Ïu|Ú\].a_›»ÝXËÜæÝnHºE£ƒµ5üÆ3Þvõí¤ûL@ó$²Ëß…• c (¢‘…3Ýþ§NL|tnü¦` 1Ìâ¸!fX6†ºÖ×Õ÷ŒqHõcŽä™WFÄ“Ù<¿‹e…``.KÌኹ ÈâõMFð˜9.7›©¦£Dµ&]ÅßÀ@P×G’°²2áÁ[N'Ú>}9æò›‹¬¹ƒ÷÷ç 8Òçت!gŠ®–ÀåŠ"1¶%0iÞÑïÕ_¦y@ÅjO^Tí2°ÒÀpÓ°@”OµªÚÚïæeÉßT»ž¥ƒÃVye¥W¶jøÖ»¢ îÎ0§MÕ˜ëzm%ccZCBŽ-ÊàœÖGn—¾g¨)ÄÃ>{š¾‘añu6´Ì$¡–z£_omGÑÝ΋QØ£›M¶RD”`w%òÌW}üËCŸz§^°L}þØôÇŸ²$fڀᰶg—l‰št†àçü{ñ QŸ»QIé¥ÍQ&IN©~.ßÝuìèð?‚åÌ–O¾ñ^R\õn@:?!xHEØ™Öæž¢£–eþ-î‡ñsû=y þð·bÒ±®Z¤@ª91ýàMÏ.Þôgªºüܼ‡×#ªñ»“Šˆ?ÿOý´SÐR¯V{j'¬ØZ–‡ÄQdºí»yÊ'Hä”|@CaÐßb0üA†ÉŒ¼h~L”ÁŒwL"ðJÿz…œ¯ÐNè¤{{ûÇ= N¶Ûeó#a!G Æï=ðs */%æ¥áÛQPÔk—yŽ‘0$DõŽŽó-ñ¦Ùv3€LjÀ@—kr/#ÏÛKꬆ£æi¶I'“Ø>Ó¸/ZD|_"¬¢ñ½Âÿ–×¢#8Tåj\+þËìx–×O#Òê!è–Ýi‚Ú}–÷¿Ý5tþxÓeÒÀ2‰CR„Ð¥j§²¨ÎGJh#õz‚UÔÃÉ«¿ñj¸Ì‘£FY3•+˜ ¹'K_›ÂÂ&š#§$EšÁ÷M¡É_Uõ™ZÎ :ù¶I"²‹¿îÍl³a/ÍÇàÈl’2z•øíxÏ“¨0d“ÅÇ‹SWn÷½ ­{… XW²ê“=Tšr<‘ûæ\p–7ªTŠêiÁä U“AŽÑ°&ÎOÔÍÒ-bxñˆ‚€ðÿ4.LwáÑ›/1SøÜeÁqÄ›—xvŒKĦQêç8Þ<ÿ/…ÉêR Oý|O‚Üë± ]{ñÜÕ·„£t->ÃdJõ`[pEÁ+Û3Óh¹=– ù?õ¨‹úÀ{¥8é!·¦ -ô±üßêî(˜9‡vZËæÁJúß¾ ÒOrVR£>Yñ@…“Ü3f²“tÇì=€§ÃéœBp”1UÃØ!”Sôi)ó/ò¯c}(–Úí•.Ä”¨à]Ä VüÞTM Á‡Ú\y椭{汩?ŸÊâÈQ·õV¹ŒJYnžó4TSÖ˜LL†³ž—uÁÁ(ó²«ê~)ÆhÃì€P¤–J¸/þxÍÄÆ{þ@”3lÛª1˜J•¾Ý“l²½Î­. ‡€|~²@à PRH''E«e;2!ÁF+G¥ŸÑöL p Á@/å–%eJM,ä+X&ì¢g'„ÿ•®å¹=ÁO}ÓÒçawä`˜ÍŒç9*‚qÓ.ym®s(à bwˆ}дÂÀf®Mwçĺd+iíDUk˜¤¸:¯Éwê†-_åµ ;ÖõÂ`- ¶]°Îÿ}3–ßö¹‚ü˜ À!\«Ñ_yæwyS.гÙwT!ƒ†Ü’«·^ñ79uÎ/ÄÏgíÁEJËðn5ò|Å8[ÝÎ Iÿøµ_ðº:\Ó¸9tW(äuécÅ3’ã»?„ÿUk°4%Ù8ËìÉgÓ;Aï÷(DëTèv·F/CxîaVá²–» i•Μ>%„ô µgIœ=ñ QÂo¿'tº¯f± P^Žß~Vf¦ 0½ÞHÌâfOX27µâH“¦£)ÙOøÍ‹ ;JŒzŽ[Õ:è·9ó u°©òÛÄ%ì Z¶tüÄʼç[#Ct$¾#&ÑBc kì)€×#1BÈàAøÑ€™PZ*øä½TÑ‚™ŸJ©"}ؘZœÃùD†âÈŸ‹ -`¸OòÛXÍ:Œœ+Úu%­ôTØ í[)1ùhÈš8 4ú«÷¶fæý­€£·®xKþ{¸4Yz_i8¥W€lNœNM÷JûVs]RÏ’³Úº0; Q†Œo]Á;½ëÕÌw[r˜Y2Ìv-Q)€5S»Ž’¸›S*ù±Á’H_YZ†¹W‚dÔ¿È|òÊVºÝ½ñó³Üæôá¹N!O \d(åç^«C:F)w}¼)±Ê¬.y•Ò˜¯_‹yÊ?P•Øó²Bùò¤lØgñ/›Èv‡Ý÷…ÓB(Þx嘆æîv©ŒÃß¿’ä⸪2Z q¶{´‹Ÿ­Óð6àË.MlÚ‡V³Ì® ÄЈð\ÎO`èöÅvÍžåý‡ µykÕg¿­ƒx0ùÂûսߔ> GGi=€Sì™KÒ‰M3Û‰ïÈ(õ¥`;¡‰káÄÁÅÌPEÓr;>ÀÆ71!f´Òýž¦YØRȺjlk÷jíæ1joH9jƒÇ5mU;]wEÝ‚x[–:ú•q}8:Âá«F3&EâI¦ºùÁ Syì€ÉìK6 _ÿ:~…?¢\µÍåh—ú" U«ØH…„Ad/–LMÔL PÙ~ecÿ;ÎŽ¸S–Æ}~ˆBb°_iž]q];FÄàh¢ÝµfÑ’Q)èkº%‰¤“1fo;ñFö¹IGbfDV¼Ø I­«É…_¢þ’÷}SúͲ­ü»¸+ '«Ð¨ÆxË™›d¥n Øx/QЬ©e£X§¿)¦<Æ$f¾‚±èç—ÝÞ: æ¤Å8Qñ˜<üžü:‚LˆµÁöìà/(å¬bF¢uÆm‹Kx¨oü›–dYÿ梨¾ D×#”`׿€ °Ç=ö޼˜š3Å”Qw‹ç) ˜ÀH)‰=™*pÒv†[¬‚R*|5X¤9öØÙ] %y@.Ó–t¡˜ï¤ Lòù¯ýsV÷.-ó]‡Ôx6Îâ)ÂùY,þMG¨†°‡m·EqÜ™ ºå¨)ã‘T@…¶—g$¦ô,Ê›Nùjïç°Däöão²ÞX#ÙD?Ö²S,…‹%Ñ»L{ùpjG9@@ |h·»ãÅérCnÔ¸‚ë šÕ·Ûp[ÓäW¹” ‡û…ßåɘHLÍNÕÁeg>dÂÊ gR‰4Û©b§‚ï¹Às½!(e}í×;'\Gó’ÿS¸:vë¯Y¦»{ ~E^r]¡]¤¸íâÒÊV˯Êi¬>ç+Azä3{çÊü1ˆó¿`Ĥ´Á¸Ù(¹ñÓÑÁØC;Ö(ij±ùÂC€¨dúTCšp šxl«Çbñ?°iš@QàæÁÁàTSêósÅPÍÒ8”&]ZuÁP«›r¸Õ%ô¦!PHp°0‹÷,ÞkÜŠ¿(†½¦#°–Ø9Ò•ÿŠv¹]l÷œê>ÉÖþ—ìĈq°öÌÀö%E4Jîv|ƒ³VØ'jë^ÙN1pÐÐ<7©ÂcØoö=³R˜ojý¼Î-Ž¥ü$CÑ”ÀRÚ]=§´.7áÙÒr“¤G••ó²4˜. 0gýÔÉR½;1üØÄì6•UìÎqïê-Ç1×Ww’æŽ{N’íÓΨë¸ËS$b ÷,â&/ø á›Íþµœ˜”ßè8òBëíË×kÆ%hb×8¦\ü›ÿ†ýõžp¿öHÈò¬ÓB.J•Îv·ñ곇Wœ¤ùbµŸ2¼ê›sã‚#%?u€äPüD¤œXüCw/=1‰vuÕ§QÝqóº ¦Ø;Ó‡x† Ðù­ ÐƘƪ0êÕ‰<_ÝÁª1qÝ­¾Þ±g¦Kc%¹X¦>¨˜_Ö´´l˜.?ìÑôûœAXãÆøœíÝÂjr ‚Óºä€gÝ õDÍÅ,-ÇO;N±]]ÇʼnÆVœ_?Ž*@‡ïÉz¡³É‹Fø—È|nþ[ŒÐ£Œƒ–çò Då1 2Y›”-—z #–'¢’œ—õo™ù¥Y=›™Wü–’Ì´)Ÿ­ÜŽý±uM6î$A·¼¡äÉóÑ¢¦tL¾àBlJã˜7çÙ9/LdB™0Þ¦™}öúŒƒxfÿœË€ ÑøÖˆ"ð¥y;©n̉ošÀæcKÀ¦Á´¸Å µðI©²´¡WFÇÃ/'õ¦þjÈØüßi¯ŸÈ•ÔÊd§ ò¦Ý›ê•3.ÕœGq4xXê¾LbÊâÓœ?µdçìé[F‘Kc„T N~BXýÛOŽão|áVÉ€¨g6÷éÞ}Fl•‚ËÕ•ª‹Ïñ¦Ô åm4+{ú¹Å+P°)k~|ŒH©ö;3Î$ê‡ÈI¬*·eHn£O¿< öE–OÂÇèßÏs=§Ë3­ «pwPÒbžuWÅÚò… 誆Ʋqo¢mæÃ? ü¶=d *5b XzÄ¥¦m-ºO"].¿ ‚rÁ Ïß?ûj!'­M•Þ¦$â[¸릎% —5!ž(˜ÛV3‹¸HÀß©•›Ã‘aòï¿©/é5$H²C}êÌ\Âàþ©"Lêmãbç,}Cf •gŠ2ÿ»I'™ h’¸vÁN[–î°Ðb×Å^&·ÿÙͧ¹D'¡ŒøP‘Ïa8WËL±J±0ýy û;h€A8ä팢ª]²´¬îœì†jµiW±S1éé¡v¡ì`V8Jœ.KGœïÀ ÍN¥ŠJ¦ÔÀ¡^´&†OàJQ‘šÏQ·](z½—I". _}¿ÍåïïO®’¯^‘9D£|Ñ®ÙcQ¼èŒ)ìþ&acÓGM†ˆÜHqà³ê(¶Ån^ˆ1áîSÜÇpâ+fòwÐ|j«öQxÉÍ/ö•!Î^Z_P\b ƒäGJÈñG"AìZT\(éñª6onYnà†=C%@rcše#‘bos§„™_'Ø î«„: £«L± ñgãÿ²e_!£KAþ[Å­> *¹:ù]{Æqì·`¹Ô: åñ`ã»ä‰ §ÒŒ/ýá›§H\¾+Õ?,©.Þ·d‚¶dÅû]j ¹Ú-³¶Ñë­âMcáp_Ëä{¸–ïH­c Á´é¼Í¤£=ÕM×/ Y2ï*Û;+I‹.£‘c×úè«Ö*lc1s^þî…6Í$A—ì+`(.S›]æË÷9ÿÄ;݌ŠaùÚGlš¤þN.D["S•¿£á•‚oëL¾¸† :s–TͧRT¦‡h‚3ckm°S”¥Ñü5š ç´ü_K•n0Wéªgçz¢•l'ï΃~ítS¾KŒ¹‚Xxwì4Á;x¿08ó±üzÆx]1Ïÿ‰gë²Ê?T–­›.ê0‡—)cr•¿OÁЂ.g¡"3N£?ù4$Úiœ¨ãC=ºµa•¦i^ŠI .™÷O³4qaðJ‹x'N’ÌûQ'*Èm[ÿ9Ú¨-E´µ” %'çŒW©8É~U¢S‹Äh­Ïœù˜8b2˜Ýž º‚° Êeõ•.p¿:»ëÐÐØN&éu¤‡)N3ì-Uj°+| ×,úhÔ(Zµ®ì‹ìöûÝîü×—ÆWœ$>Ö«€ˆ÷vÝÀg×ÓáþËÙ›|N•ßWöát£ƒ+…çóRÿ­“zÐ`¤Ó@íÑ(5Ä#§ù2„:À¨1 -¬%7æs»åK0¯›7ò’åòy>ê: ŽÞ¾NÂæ ›²¥×ö=þ†áT4jmò¼õ:A¹÷£ôF¤?*|Ÿoù)•ëâMj¬Îxx–i»9=ëoêÅÝ'àªyHøÄÔsPö#f x íUT¢xŠ"7Õ7X –ÕBA°‚—çÒ¼õùP?1_ðïO€µ|ÁQÈ Q;Éã»:nþÍiµ+â11±Àeâ‘î…ˆœ 5™Ã†AÙŠÚ+KQV*¸ñWJ8þÃ*˜ëàÝFÈÊS)v];ª¥ BEÂåûÙÍ  8´ÜãGø(,Ál¶ñÆ©Vý ƒ&¢UaÞrše~Q(J\p‰õ!èò¹ÂÑ^%|ÃÒ&¹*Ú˜9¿°9Á„¦§˜I¼BãÑØ*†IäQ_& e¨§Û]E2ÍGB¥ÑÕPnÊþÊ2¦»qaW’¨¸Jál3F FëÖìÈÆÆg&Ft@O}Ëj ê Ä‹ùR÷íh7™½žšÛ–™•õ8ä`(+®´Ül6„°Uw7¿úg¾"¶¦^ói±ŸAüƒ®õw¿ÈÁ*\ ‹§l±D°þ²ëe"/¹IE“dÏŠÁ ¦Jζ-›èûÎÊKÏ^ž[^ˆª¯7•Z¸%#6¯¬Ã^ºû`¬ò¥î— )ê7±°wˆK Äa±7šè¤®ã Š©Òþµ‘+Ô—%Q…ó6~íZ#Œø\)\rÃÒÄ ¶ Ñ/e_è— †ÙšÇ§Xøy)þwç»§³·ŠfäZóØ«þ²!«,€ÀGVHi5‹=ÿ/ Œdºñô‰l·Q» þ¢§¤`S•‘4nËÑZ;Îë9‘XÜä_qL ‡8”§MFcò5Ýl* »ë)yЙ4ÒÁǑվÌDXƒú cH߯Pa$aî¼lÈÇÐàWHÆ­Û3Ù‘ÝlG€ÈÁ¡ª×,h¹\r‹aoëÑÓÂëqí–|f÷ʾ9É óG°æ?-#šA‰8K×í e<=ˆQc­¶ö!ž¹%KàøœÂ3û.Œ”„ É8“tml¹( Îô'BeÍr¡:á ù®3BäOØC)1¹+Ó†‹i5CU†Cãàaê¸.úarñ•‡+"A´8!²•lXÊ›ù ´Çu(Û°ço´ rÝÁânk[;tY¿Ðíu§‰ÎaS¾F¼5¨~á\†+¿Œ@Ö¯½žðª¦³~z/¸ÊLëü[ýNž?¹(YPî~„ÜÄ iŠ(ÔÔ1b[To?2Ó«®j¢ò•‡%†”¹ÍU¥Ç¾;<…Œ¦í-Ça]øçN!æ&¥S€‘¤ûE£¶uùiŸÀ/s úAÀ »õswt³ÃTJÓ¹Þˆ-ž8Æø3óYiÑ$ëíøBw†ÏŽ,Á–ñ=Øo’ØS×ë+Ó]ƒ-¿l!¶;-UMÂé–cÕŽ²À_ò[I¯´]Â6\ ¸G‡Ðñ4Ón¿²!óNih×(ŠK}ŸÜÃIæ2»nrˆü2MóßK‡/&é¸GF¶X¬ ’ íÍ6Ea9÷™å0š0‡v›‹ñ .vµŸšÀë™Âp#¹«ÛXˆWk%-IbÜÉTpæví'pKÈu´ûK”½{ò°ð ¼á}ã%¶ Îó`ZáÙMù…Ç6j-ÜÆoOu9ø¡‰áµ®×æÓŸµm1ÕÉ Uó Ú‘EºmüÔÓUFY¬=ÔBÀ“-ïÀìõ—"tMè·§‚S&ß4Å`F¿ó2ÿ¨ü Þ9Ð$%Òñ õ^5^× y…È_6Séµ ƒp´_?ËÑÜqµNä_‹lÇù™-ֲħ¸TxJ‰?aMóÚÐ'‘O÷äM‚+lšu»ÂŽM Ú‡ã.cŸŠ#œZ“çxnV=@€xU ¬uå ¼ß(©”2f xbæèFÀ— %ŽdßÛ ñþhD5QÇŒrxvõdÃHqfsfûGÁh–M€BI@BÖÍMɨˆø´W’@#ÝIùJ·œdCÝ$VÿÅ0fm§Û`/ý•“tã½ÀBΫ#‚Õj9ØmŸ%xö†÷ž¹õ^½ü²7Íy:(âf+EÚìÍäÇ:B1ìÕîzfJ/NóÛ_èÈ•Å]¾’ /;‚Ï!¾±¶D^÷MÿA@‘è‚Ô—áðMóµ§—À»±á¨JyŸ¹ì`0†LªH{ÁÖ}ÂèüˆLæF½¹Bôçáƒ$4d¿I›wIëÅb2ݹˆzOÊO4n­_có9q¾ˆ½éÓF`‰sŽO{59ÔëyŒ°"Ç¿ïμ®O½r®¦ª'Ù§ªÂùÛxQ<~u»”[ •u€Rž6vp€‰À“-#ùÏìyŒH£ /Œ &„-œÃÉPaÿ“ÂÌs¿Ú%À nô;†1ØÝ|×ÈÛS£„˜Ú<~â ¤»›zr´¸¨é8Ü­µ¤áðÞµ—ŸJ[‘Ñû¦ÝPað28‘‡ôëø•;v² …5ÈRÎ"„'ôE2ÕFÑîb#ðîFÑ¡RÓéãÍ™ñ9¢E1ƒ?šØßÁáÈcÒ‡Õd ¥ãÚ¼v‡h—óG}<†?úÙ´²¼1÷Œ¾d¥‰ƒ"Ƚf€ƒå5-ëøRù‚4E…~Lûž¬qME%²§c;{Áw©•‘KG:P€täs¢‰nAVo@Ñv›¶…b¼û o=äª/ 2оjÙùGmøcå‹ ~¨#–/ÆÅ‰>•1l}-s¡Ó-FÎeÚÈqW×ÑøCÓ5î«èaôü¥ÕÐ8³©ºÎg%«ÖºhQœÞ(=SåÔ¸Œñ ‰c½s£Ê³ö8å`À¾$˜ý“KV79Ž€ˆGh„‰ŠYß[YŠr¶¿Jtý :P)¤°±;P˜â%ônâºG‹òäNC3?î´2,ø]}V°ïúi8sœoh+¤G~Gú_> I1ÑÿëÈ‚p÷Ğ㩚Ëî+˜ ;`”žù£gœñ™ÚÅGXŠ£DŽ _C /+ Q‹("ANÒùdÈÛ0"DgHlaâÏ—Vn¡½Äy•¹¶0C^òž 0çå]ȇM—6ðn„Ê©×džK ËåLËA½`^ÀߕУZ»«LwŠÌðê#QvàÄÜÍ‹p—: À½GbDž˜FÀ_ao~Š·­x% "Ó«Þ›ãÝB'Žqæ¹ ö‘y³º˜© ¥€zËlç‡ç{Í2*]fy²ŠQ.ž‚Á\U‘²=8ˆUËã-2ÃìÁ êÖF›²l À½[ÚëÕ ž÷Ÿ;6¼F—¯ýZ_½Œj7 Y'zºb>T÷)íwèYç°}S-"•yg«å/j'pc‹ÅÜ;"Hì¥ñ(áêNBx=†ÜB|#¯s8#ò|Ф!GgrGJR|CŒº®þB.ʈ}("ʲ !ýo·Õñù¨ù¢H³8¥üñ °:£k=„‡5ÔXR¾f'‹bÿ§îÕÆ¯ \йzU‚‡xŠ™S‘GŒC:á¿ÄÊ­Æ/¶¡õb¬+ø¡ }Š„G-'7¬ Ö"øÜ}ðBfž@k˜°øh†Žùˆ\: ØUˆ=<¢h‡ytDP÷J(Ù´Ògh‰w‰VË4Sr½„8ÙjƒÇˆ®Ÿeøñq`")fhìƒnR#%•G)Pžg„†Qœ“ ý§»Õ‘ô[,CöÝ”'­¡Ãö+GJ“cüeØ{‰½Åá¤þƒÝÈQÓèo‰&´Ÿgk/ /Ž£¡þý£éšëª‘ï!S²ò†Ÿ7@vˆ*­FY®ž¡‡2ðشb£l"Š7žˆæzq\ŒHà‘™"ïÉé3‰gX^Ì“…Iüg ÎÛc ©(fn¢\o}fˆy®ç­~Ô±±³L›c*'©}Œ~IúŽºZ{'Aone83«Ò ä?nœ+ÇI>­bU>£Ékð›?˜äÄqYRüzwî¶œeB®´­ XÚOùÕ8Ͳ°¿Á®ä€í:¹Ð ,@:&Çlñ1‹u)mUYòhäö&ÃlÌn‘^4Ó…&D3¼̦ñ;9EV0v«y2­wô1®©ì…ŽoõÀhY¢fí2äãéf÷9{¦¶+‚fäò¬È fÆÑêpÔ.äjL6128~΋â#üÀfèÒwç2;dlȘ{,2ô~bŠM´Æ©Ý’0•Dyο¶ëukg6*îb;©˜U´v6’WcÒˆ}N_ÔqŒ1î ·« ìÌë-³p†5–šQá[œn€‰±M5¼ºñlâû Ÿ¨ßñ%ðxÈã=aÍÔ.¡·^|…‚ ü©¨ÕŒ¬c*’¨Þm97ô†ÌGíÄódN¿ )ö¸ôY®ƒHÝa‰]žÝPôŒ{F²ñ*²q½Mq(žóÙêU…þ ËXZÂ/d]2¶‰‘íÏ7õÿåYÔ”©aƒªŠ-ºÑlësƒ1¨îÙƒH[—ÇÍæF‹ÉûL‘¢¸›öJ¥Í>#ÿðW…só¨w²¾|;éôÒFMˆR´¬:²èö¡T‹áúHÝwåWkÎB(?ùŃbg´iMÝs¼‡ÊµìŒ„ .ÑPJ¢E&d«ø®qç.ùxQN¹TêÊŽmP”f±è$ ¤Ýâ“"¦Úyó}ë~ •KŠ‚ì²­Ê=j|.!ƒ˜ eÂuF5Ô"ßTÑŽÍqÑ—— ï͇z£P.ŽIÁFñAX›/wè›õ1®¢´¹B]ûš +m o“Ð ªô…u´J»ùJÕ·ãô¬Îæotv³3SL°Ú„1 Ę©EŠïé§tIA=C”’mŠáøS­+Û¸Æ>”àã9 ¤Æ§ò¯O¤ÜÕ>­X›"þ<)Ëýë›iŠÅö¡ÐÑ©F×jfæã±ª¤ðÎZÄõ0ýiÚ’ú‡ºŽk¶ýâÑãˆÁļŸ^¾Û@¬`î'{S<Œ¤Z£v§®ÿeçûq¤ó°ßŽ+þáí n üv\c¶¨#O@¾>…¨ K‚¸‹poH,€4ênë;9ï:Ï¢àö‡Â}®} 6Õ,â}€r°Sg¥¯…«Éjà§›ïQP»¹×¿n'”A…ÎŒ*:µߣ(û4açØ:­/[5ª/¡R’ï$±î=Ð#…Œ¨YÁ G39&¼Âø?_‹sç6Z­Áéîq:ê(Jb*"U|EDb‡ÞGX°âÓrz K(ÄTñ[:ù݃G|аÎó_”]„ªgl+QÉ•Ò$‘W…I¦Úv¼WE ‹‘. –¬gcíÃ’l¿–8 q/ª¡¹}ÃÞ2ÚL¢ò棯ÒëÞâ=Uå‡ÄìT`æ×QÚ:­Æ ‹G§ tEšCª#:?j\&ɬg(c*¬Ö²El€ìNJÖÓæß»“?ÒÇÃÛf` ×½ @œçÔ™ùÃfˆ£Òìeõû(À›= óôv±`µ|ióàÏK¤+°TŠÜ=óu’ i]\Th|)½‘,»Þõ¿ŽÁw5öUì㢉ñɯ 6ÅŒÀ_±1üMAÀHêS¿ê‡Õ]¶ÅTTZ<«úúöb—*õŠ ¤Õ(ȶ¤8Ë9ñ"ã‘–Ðæ'é·bb{`IȲË'Fƒ„8r·éÆcNÚ'Ö§…XÊ?2ân§~ÃB®¼Þý9ÅïïÀi‚EQ»7t*¼÷.°«´×&ñHˆĤ´(|ùÚpéå‘ñgmA ,µÞÍ®ÎõSöNÆ.y—”Ô×+AÊnt˜f;ßã¬3ŸÚi‰&?5=ýF¡›o…p\UŠluà 6o,+ÙõG²Üy¿‚\ÈÞ|J­ÿŽ×_NŒ7ÄɲÀý›«~Ž g&ä&ÄȦàtKR_À"< mö\hë 熌™z9n29/\¦se‡õïWçZÓ~b_‡‘!&“hNóà «þÚCh)?¯ñ.ýf³×ˆmŽ%'ÃÝæ}ÿ0ô‚“q¹‡þmB®ß^wÔ:êærf Їq§·Þ"€rí;[¼àn ¦~ûêuS‹Ÿ•"eâœËÂR+Ûmc)à Ì,vÛþçÿ½Š;cÅþ>q¿¢]«¡|C±Èû¢cAú¤BÛ\_›ÍŒXªö ®îƒ¼ÕîYÃëÕ)5ˆüA'j¨§V*¿CÙÐÀm%Bx·¶%¡.Zæäñ¨¸WÌñÀ‘ó†£ê5»"õ^Ó&³2‹~7‡² ɸpdʤÇ2ŠÇà´Xùä’›È#öáé<úƒOµ”*zO•ñSX¹*ú—^¶C»õ>Õonåš×¿{™µkXæ<ÄõÏ4>,jðVhK[y[§2˜¬4¶b8°_jôðZðºŽLò dûwUôµ†ÛŒ@ |hN(ª„Ë2x¹¹üthiè£ú®k滈6,¦˜² üƒ±ŸêÐϦžÎ#}LÚzz 5ݪši[¨Qþ<›WøB¸Îivä²ÌM'@Z÷åƒnHÝ×`e,yæâ.sžÃ¨hPÕæž-9tUø—6‰5õÙ°´Y?zC1Ü< 0mߔđûV!‡ÀæÊ@ø€Æº—Á„gi~5èIÞ‘=¢|Š)€†· DDdc*’SÏÀó‰eØ¥›ãVQè{“9nŠ9bKç@˜ÔÂìÎ9{wH$u8ñ„~ã{l•o™·Z¼Y™+ \e½{üÂómäxTwµñi~ç¾eô*ß‹usfŒ_a:¢Z$Æ”ê¹Uè˜å‹­S«ÀØÊ v{ûÚ$Üï©Jhî0º=z]ùßõZ‚.¬œy–ÖåI;1Nu)àöZ·¥³Y>;P¹’º`§¡Å[µÒ’÷OðœO°ºÓ’½9#o¯ï©™1ÿWR°þ:¡ÅŒ~NÎ)¾ÖNêô qeb½+ï·WÄÓn¥úÕígCŽ™43]~°e­Rx²Æ ØWŠQU &°sE¿ª™îI§—¼ aØÐ”^Ü|šR}ò¹Ë×à&uôü›Ô[òÁýò¢_гUÐ`‡¾MXa4r"?È[#z»PZyMi¿ƒr¯¶)þ“}Z–¬°x6œU«'ÚQnÂ{¿Ç î[»U1‡±˜7±Œ$ãU-4Ûé±”yÇ="EÍX¬¶×L«¢J¼'æe$DC¤MÝxÃ.¬ühÞWg: #zXß,4r[¢k«¦LÐßI¾zÀèü@€2íYl7pV®ÐïsN=Äa¢mÖ@Œ° ®AD&²eDƒ2P­áûìóO*×JjvÐ"Z;Ì_jN_w½ªÜ½™bJéœ?%Û«s«%èþ“ßhÝõ½9×÷ ‘Q¹8øG@¦ád••\{ÊTáfiÄ‹rBÓ„ˆ½ðDë4¥§,Iê·ÜF–òƒ ,Ï›+ä‚tœ©ñ7 ¼[øÖÎõL D¸<óíé=¢*醃„rRäî‚0H‡à££6ºž ­1ìúMöîªYç+ŦžÛ …[ç®Q؃Ìÿ\#¸Ø^{< eÓ*°<"éáú1±Ò†mKš§™!‡ÖÃP&V»ûÓå5¬x¬ôËy%&#;ØËú¢½•¤Ôe½gÖ)::äBjÖåÕK¸Ìr´ª0ëìôèfè½d2ò4<}Y½ì=|¼B‚h·È —¹?0dJýkÆÌDÙ´,ƒÐô»3(7yc§[óuÀ;wÎJh†¿µwgãão[¢x•blÍGûIÈQ2ÛE[-èw÷P2K}ZXA‹`êòýJ%2Wã”CÈ×,}á´x§÷‹1jÄÊüipY§^ºÝ5b3΄„eßÎcÔ4Ž×ìïÜòu’.íñ^V’ ¦MÓvÇæ„7'×dNÊý†‹à*G‹ùf‚2—Ó…0W^:ŸVS­TŽS.çÇl±•]à5Kz´’IÛr\SL)®já{¼HŠs³pWvr6@æÎùä‘hé8Y¯óFºïoqª}ööYâNÄ9©{-úILå½&îk6t=p ®Zá«[›Èôä ã(aq*CŸ7/a%d v„"ÁfþFЯé7ß%Y¼ˆi‡úí&$T<§á^’à”™¸Ýó¯äËZ7 Ä{‡'*µÒB‘ª?ƒi£(®¹v+·Ïl¬1ÓtúàÁÞ™POßÁÁÛ6ÍJv?^ôïJgIö…eEþp3E«tóóAþú0‰¦:åäj7²˜!CÏÆW-¼”°JÒHåS²4›Ì]:ŽZu–ÉZ?A°íÛŸ8%a "¶ÆÖ•rk—ýIŠ‚RÉ"¶Ù0µ4 ¤I+*äÚ›ÆñÆúˆ#6ü¸Ê/ßõÖp˜Ue×WRöÏEÅÆZþ .Á{1 ”%Ë…6ÜmÕÆù­½LSgפ®q¢Æ8;Y ÄO ÷ÿg÷@tRê^0ÜYl*T q8Jè÷øð7Ò-"ˆ7 `õø¡”ãîjÔ ˜ •ͤGˆOEtLÕ~<íô¡we©žJ% ÅýT—a÷ãDÕÙ¥w¢,˼½ì½T’ (̤å¨Hs•³5x‡žZóöŠ–E4+I 5 ¥• ßf* ŠÀ#pR†,õª;6þ—2¡{Ì?¨ƒ©¨p:xoØ1e¬Òì®þ}¼‹“S™Ÿá[ïühÑ÷÷ÁTÖŸºvR›`Ä_Ívè<[¢®Z,3°ð¬Ü~/@Éÿn›y†„·A¥p·Ú"J[9~jŒsJ–³Méß䆨OOºle—Îê,Q—\¨ªT¸Ã;"¡YLŠz)~4Ï.Á¾tf4ŸþÃG ï•KÎt‰> !ÊwOE i7 ±>ubìâÁ>›ø¢î1[ÞjB€hE¬Q9ùÇιĦnj0°°Ý˜Åñ×ÄÎr²Ó®6 6Ç‘0-°Û^Sz”"æþ²7û÷ƒ§äí‚]÷ø³×ÿÜÉ6^r•çŒÉØ;"$uŸ>âpê˜ÒB[IÑý ¸m1ˆßÙÞãÏÃ^©ñ”d‰ ätœÖÜ5ô<¸6®|Ôp~ÂÓ›Ugúf—ÇF”´ ò„VëÇ{ÀáÃ|W¶p X”Æ&0jm/IÛ‚úwÈc½F‘ùÎÎñú§1ÅE›Ó_¹…oÝ:»ÛÉ ¹ÿb”«;ǶHF_6í ¦bë668¹(œ§5áxRe’ðEäð–béá5þ×i~'6véj±ØÊR¤+¦Ïê½ÈwjâW·“ß5³i颩Ì;¸fÆ•U6¼š¸ÌT¼²ÛÚ3™§*>×è––åCþäm+ ª!èD™ ØuŒí2Áš³tÆ~ÚI«M úgÓÉ6ÉßÁp ó1›è  Z.bÀ¤7¶ÏHΙ¯ÜâÎèpØújêHkÎþb—Õü‹+%ðŽ……[°II§ªÆ£¯À(–߆Æ\‡ê1h‰ù·3Qs!‡Ó}ð–‹© B=o…̼¶ñ•iu,Úðf>?ž§€þH§9£ ®ì½Ô£ v‰÷,sme½ƒg³MJ'È 1E¸Vëþ>»ÚMºß††¹µÙÍЦ¢>wCLIÍ"ÿüJ7j ]d¯I¾ÑDðù†°êÓ‰>±RØÒÁ´ ^T(Ëìû«"•¾†¤ ˜CGeZÆ·rõ&Þ‹±¨ÄÙ-–ΡF¬IÇÄ,›­DÖó¢ßšûBú50¶—v ŒË‰òæ³nÙ˜)IJ§·ûƒYìA’¶ÌDªŽ£ðþF»’'Ž…AóÇ«£zð–6Y®›t꣹ Å~ñ)Ѩò™¢…BŒseÉ'vì!!™÷.RD–13Ö†.–³%Êûéc Z¡ÖѨäNɃ}P$'é)h§ßö-¶oÁ¯ ~ñ`ü¤œãNtÎ$|Õ'˜°ýœpìâ¶\¿—:ê]Õê–=C&¼ERT·}±OyS´sù½1úw[l#¿äyï|?v™gªˆoxÐóVvg.‘Ñ\n”ºðpö@,É59ëçÑÜÛ°ïäñiUÚù?þ[Í‹Ï7¥»(p:Š‘z&çc\O„:½7=0>”==0)4ûS¬‹úŒ½k 5º€žC?ü-D$Äᑊ€G1•ƒÃl}á×á ›:¸¤Þ|É«_]îš1H–è;"þsPí5=,º xЯ+ØujK8ŸOLÖ˜@BTºƒu=žÇk|ÐEû“³gxV7 ¨ìò»ÆH$A~½Ö§¾ ;µ0ÝoÂîG“í\nÑRýßøÆípµˆ3éÂ>`NTwMKDqúiÔ³©Ž–=ûX*ÅÅ©¦ÁÎ2 ð›¯ÍSB AEÝêªÊ8êÈý_ç0|¡v;P…N.;&ž9IÖÚ7´]Q€¦‚J‘M Ü/w¢®ú¨àHu“•½e˜ÝE2§Ï™¼¤‚Fm˜–‡µµfa‡AøE8&~ü\¬4¢©8>Oõ§EÓ;^ï_.YASBÑe‘P¾äкJ!Å“åmöa²À;>i»G¹é?˜_`ÐÎu@®;ÝÖÿÜ©ï ·’"ïíÝõèÝ0\jé´,?üxã{‡-œ^YŒ¯™7NVÁg3Ͼœ†ñ ¿lq¼?‡£ŽÃÛV¥ ã^@DÞÿXÂtXů C+ÿuVqåf“câñÔi²¨¡,V¿ã×ïÿûÒ§gÜu4ZºÎu=fÌ8^BÊ×´)#ÜAqÖ%’ ¢´,# ŒrøaàJÓFI±[…ôa7Ä©hÄܲ0Õa+žÃßløA7~àxõ=õ‘Eñ žLf"ÏÏiT®8'Á™ Rç³áÍÌ@qúk£Äðñ¼c¼®!¾Dó£žãõ5,'õ‘¾cË»ZOÆ´,Qpò3|Ø9Ïxž[ î/œË|HqƒX4Gæ^Ð4ƒèȧÇpÁ,¸³ÕAN| S¯r'¸8ûÀ· :Qâ„Põµ˜3¬Ùц^²NÚëYS?¹ó}ðÑ-‰Üé%™ V P-&O²Hv/I¯x.”´†Œõ¥ð§^ªd $9 1"^2cBø3V‰.íÈ£@û@Fî,.f)?“ôãiøï¬“ÅV~w– 'O|ùbH‘û9†YÆO7ê‰ ÐnBÖì¦ÕxÁjà',újö˲b²±P[¶£ÎŽ~M_ÂâÅ3 Š­(øËu»­9’¦ÑwtT)å@E9Œ½J7­žË‘$ã&&U€z3cn°¥´ÙGP³·U^@ŠR^†W-ᓪ'!ÑÿB‰ÃdÃýÀÖ¿ºàzP¨Q'z'gZØ*\H+‚˜Ó˜D•#³í¾ô÷œÖðÝáÉ=„•ÖˆÀm‘DÕµÝ e½h´sÖ< zddà0x5¤›:@Á@PÓûÜŒywÏ4ðù–r Q¤üè&ª±±)S¤q#–¦\½öRµ|gÓ2MÌ={:Í„o¢9@…90¯m<èšÓÀbS{ïÊfhkÅóX#ŒiÈ«ÔüFn¿mÛ«ˆü*#°ãr ]Ý>|N1_;¿r0$Ų ÙC2ÿén6'‹‹0Ýô­ àäb§><󛮦Å&›Ý²gÀBÔÚ0 º|§úü¥mBÈBuBÈí'ÝšâäPö6¾Æ}«X€%±·øùq%fÆ9˜ϳàïdD5Öà,(ÃóTf÷B³ «WFøï€h.¦kG=xYõÉ<QýÕżÈOÅ'T·î°hVÿf{”³‘&ùU„Œø‰®Áwp•Â}ÿˆ2 -ÉùiÄ*•ÖßàSô5¼ßÆàÇ6#ÅÜÑ$Õ±x÷©“/Všø«u²á7“Órw±uf·](-?íþÇÿÜ>ÒÃ\gá+ÎtYßÌzEO5\É­gGñž áƒêõ‡´ó•ßõŠÉõ«?÷ø[…-‹eê’˜³S>M ÚZmá]ó'+Oç ?1Nr<öå `MÍ+Þó}òz5tù¦Ó í§åµOÐan'Ï~D£trs„ÇD……ó¬<Åš´¼O÷=?°Ò<þœcûJSå·ý"ƒ[ÊðÅzan>ö˜ßÏ.¾ª‹Ö`ÎWC#à,õ5ÈMMQRN¼_·dv<Χ|àý^ïm¢2Jf„ÝL\É«®i)BõöJ0fHxW Õ•_Ó6£ïÚ§jË”¹œ¥àŠöInAŒq©H¨Q®àº—‚¶áXüyÅB#Xf+o µ@rUÍ@œZá|žc×:z“ø‰™ñð‚½{eQЕbÆ¢¸&¦y[DNMÝPX®9NbñŸ×Îïdxêó}-"tlþL9¦É™½ œeµVû& ¯üTCØ·ðœIiøÎÐ÷ró}L#Õe:Ø4iÐV‚YµûÅ‘ð«Ã1g¤S™åç-;‰ø¹ÿûÞMMOÑ{û{Ÿ"ÞÑ¡Pゟ~Œ¸û>zµ¥ÚµêPtmH6ù°$Zb£ c·«ÄÅ@ÿG¹4œÇw؈j–(ÌC2åS wZ øÚ]§m&èGQLzÐ4âgaÐÿ=¸½®wg—æ½÷[fäã]xÎDfMMYÚ!•iÃ8K÷&kLC_ pk:‹ÄuØàá[Ei]¬u ­p°ôܶù)jîè¨èqA“Ec%14Å! wÑ  .…¤pèB{Æ\vºgÔÌ¡ÈÄ è9— ÷àtüQ,#6³™°|‹lËv¾†'\q¥êDð—+:À½t´O·F±EPŠJˆ÷§ù⦛قP üÌ.Õ ‘wóiüùÌV¬°\š¾yž ³J%Îðוּ5ªáµC1u?Ýx“Ä&–šÔ‘±çžJ¯†¶êå”üAc'ßOЯˆzr¬^}ìÍ!Ð;¿8¹_Q(‘Ii N1h²š ¬¹—Î`·ëÄ\ÔÜŽÔSŸ}¢ÿ2®=£1Š*'}b¾¾Ó] ;˜!]ƒCiJSzÖ=j$Áïf‚7ûÌÜOœ±‡~_3äË•X¯Ï¾ÖáξcJ}ü2a4QÆIä‹ÃÓ·Íw„Qð+ŽÔ›µÁEêü#†º¾-%hüÏÆ+œ±s%o)ç<ÉIØ€ûÌÐU,Ÿ¼8SÏi*¶SÇí½9À`a{ù)ŸÙ!2/‹ͨËBúÂÌ#éf°(×sI|ׇ±5 £¾R”Oó“±6°·¨‘i&¸…yìÃTóÑ>®wJ|;l4ý„ù_7`71éþÕîW“ç¦X€Ê3ö}4¡Žºê—ô¸Ñ¼‰·½ø Á,Ç•Z‰è~QMG¦,õXÓßoüYGNí+ÌI°à{púyNûÀ¦~uÂ`ãV ÷¥E_­éÇ8ç°e9£!K/YƒV™lL˜›ÈÇ¢¾»A¢,ßç§¼0¢r"t’Ëô›r>s´ßŒÕeªåp€4C<¡QI´ŽñSªaìJ¼ÙåEnR–Ö<‰À‡­roãv}"@|Ò*¢T€¼<Çy²ªIc¿ètóùœ7k¶±ÃÐtA¼><…|)¢0gAÖ¦Ajä¶ÄÙÆ£©šuøÑŠº`ÅεøÝJc5ˆm´‹,x׊{kvÒà,8¸n!Nšä"Ûß³ŠÿÚ ©äPkGêóùq“‡!yOÇEŸÃ#uSQrËU;§ ’ÄÅECæ ³ÓIz¥Î£bÕHá¸íyOZO¿P•ø¶…r¾À„R¹ÿ…H¼¢¾$×èâ#·ðM‹íü¨Ô)ÉÕæÑ °¼×a ÒK¢´c þœo]«X9Z6Œ€3üjr¯ÐKÇØ|i´NBk5ºÔ,o¯z•/ í¬#Öª- íæ//ج ±J6{_Âí©T@ûx_òéµ¾.j·I· ˆ>?”,•š]-ç2O­Þ~sf¤a×ø¯¦“‡¯Læ»r:H„zZÛÃlKó`p-ì>3‡J`T(ÄÀÒ‘ãäå/ì[jf#øxþ¼f'ŸgB·¢,ø5гØ‡óˆ*Ñ'pƒEÇ„6-ÉÊ‚X(¶ø½:_ñrž ±²ZßÍû;kÁÇ^ jÏœ¤•5UKJyû_â9ÚZcùR”ŠA×WHõ-kµÅ7VE;ÈFnöç§-¯‹åÇJfÛí+€æreä¶X/‡þÜÙù̼;ƒ’œœv?o`›ÂÏ™âÔïUmXLöS-£( 0X›ÒîÒÑl›Vz¶—l{:…ì$«õŒZÝný‰œ÷“BõÙC§-´ ¬}_]?5&«ê]¥DìášMŠÉøqÉ~Ý] /0.wP»sØ\*—.rmÞ_µžo&š—x%•Å[±q]»ÐÍ ð¾´ æK–ÌUrò °ûCĈgŒ#_×OÂŒŽ£]—~›|°a膲H–:&’Ÿhf»ó ÇŽ¹fšØø+•=Ô-ßÁ}ƒ#h‚EÔå[™¸¿“©8ëgðÈ©cZ|WsÊõë»-TÓÊú8`4-36µ9•Ø1Þ{Ô¨‡‘Œþ(:õßDÀÓI¤wØßÿÔ‰®Nõ;.!Öv@gÞ—Â~c’qÚF–ÙªTÕ GnQÚnÆ®ˆÐRÎÄëÉ÷Â*A[—: ‘°|5.€‹gªrQP$Ósî~UŠX3.‡™S{úWt¡º/´õžüúåR6<¾äž¥…­ã§Sf‚ÿë@ùHK¸xà‰'Ãd–(ÀCd.…1õžzhϲV+¥õFâ.Lr‘(ë¿}ë°"@á°AÕ[­6 ôW¿3Õ¼‡fæ.†šÿ@H;ët«ÑgzÖÝ¡IÖ{Yå$ûM€Ç«cGÈYVt4hž–é¿Ìp»Ôü¹ÇÞhxvP–6äþDæmX ðüÛ-+O™‹°,tÀ–{ðã„{òňpÿA hLjû’‹DLoQv„9Ö¯$ËJ÷C6j¨ùg×OO¾fó NI“eåÆy\ŽÛˆÉ lºÛ§ÆH66»ŒÙoqàí þÓUÃýòÕ_Aæ2‘n½Dú(š×R§«5åÀùßÔkÎueê“[å:÷ µLËôÇzü‚ÃY*é™õ~z$ã B‹¡²ŸŽÕå¼ÊŽcJËöXM÷ºbEáâIôô|Ž¡Q¸­À Ü)º¿ªœÓ‚¯ÉåÖD"Oj@M“¤¿V`å+„bÆuËždn©`ïv}´0é1™ 'z;¸¾æiSx~ ­o“î€6SFÓËØÚ¦ž›Å‹f×ÁüwŽgæ³BÖ aÿ«M“Å)Mˆ¤S6ò%Àå©Ë(gw’k”;Š—K† ãœ( J-·×‰bn²3pwjd²M÷öù²Mqã!À"ÿx"*ÝΆ›“;#Kžó…ªD6éÕ<Å<ÓÎR£zd ¬Å„ài ãÛ!gÆSb–j‘÷ÈÇ˒ɸµA}íKjm 1K„”3á›5Õ‹¶æßÐÒî   ¤VáYYÔ2,QÉJkˆ’ý»¥CU‹âfD`!),–åÇq”MàüÝùÓt)\ºÏ ñ'†s°C˜‰(£$½~ðyâß|0FjÔ,…vÙÄv‰Å®ÇÎÒðBêÒ¹~Piý=6™Æô‰šÏü /_%YËÞê·‰¿d˜ £Xñ3 ÙöÞ …É _–Ãq"?uÃÏч´UÆóQg?EÖ¬ËËA¬šÞ<±:*°B[k"0ÄOÉ,Œ²&ê®ØB ZúBB’ÊÛB³‰yg ²pfg´Ï.U½…ÚH„àÒÁç‡ÝZµé!‚|ã²ùO¼¬žýJ‘mI|™âÒou@£'Š›àf¡ë<°°ÐUYÁÛäÉé1F2rtÆ[‹0 wë>¥¼àʆµ6¿·³oRœ€¤éÌýï×~å–'6ÁzlXɧìþ»æÆ'(ÿ3Ïa(__nT`*yËád÷a<’0aâjˆ;¥Òà=Ô†¯ÇÕ}¥ÎžÑÕ6¸*¡Ï2fŒsz_§T7òÉxó¢Q8Uî1;˜þïË®RöºˆõS4Æ$þ…†PRm¤%oäm8#eoVeÓ’?ÊRq°Ö5ùYY‡˜dtÚ|ÓôñQ]v°‰qAvà ?¾×R¹Á’èþÿiáWN ?Û>—ŠhÚ?wäÔë/éCMiü:WCÚ®ùD«µnîŸV-î`ïÿ~ºR·ál×ͲÔußT’ÕúZ˜s{p‹“Ýw‰d¸Ï,ÌÚÆz‚½¯³4yª7ÜükøG uí4o‹0SSáGR· zÇñìëòµë5ýøÁ>drvBBhUHÂr$â!˜õ7?êž9‚BÜí uÿž¤FÿíÍê¶H𢠗Ù":–fWX-Æ›ùöÍ ‹PiƒÊâ;žbóùoU]‘dMb¢Üíek‡ä¿|[S%7Ó¹AÎhŸRL'7ÿ¸?ü‰K£/5¶Ï£?0Ïó©y,ia7ãJÅ#-p~4l6Y­Òºf^i_òF8½üŠxªE€›îŒ ?vc p…ùW·²}ÓeR™nÑàíç³UVÍÐ1’°B™W;:zò (Ÿ¼TÈŸ\yßµ_B•$H< H 攚iÞfx$kÑ}‰˜ðø “U‹õ}å ×kç03ˤŸÞÜú»3— ‚€«=+¨9Û_ÌqEÆ #»±‘gçÎ4¢ÀÐäÅÛx04Z·2õ=(5¼Ãÿ|où ݽKMY(úk”½íîcM `ð7"”D.ûàw§!›å: ÜB5Öoì$'T6ŽŠ;Vo½N;;-näÿAÆjVÈÓÐMÇó”Vø²yp$๫À‰AŠ÷Õß½_ ,àWi݃ ÜèÙª/ÎHÞfOœÛH ÞÅ$ãݨ†TìfÌ[ËÆâaÊû|ùAGÐ|îz1Ë5ô¶÷êëHÝZavut}¬ï´‰òŒ8+°6Þ=cåÈ4ðìúîFŠV<Í‘$€,h"G¹Þå|k;p"ìi&ô œÕ©E`2ÕR•éYŽlÛôÖ—jš8—A°-óG2Ì:&©›ÛÖQ³÷˜¦Q詸fJ!éÚoR«2ñS9Ý&rή¾:–Î}RðARb(Po¹€y&«) ò 7sÃ^d¬ÿK냯‚´ŽpCx%b±ðì©óàØ ¼ÿAxÁþaPQ(`‚P‚LPÆ¿kàÂôu¡·ŠáÙ¾$Ì rL•.+õõàæz£[nl~CY0JöŸè¶ö\+ ¦`W²ilØYË0ÌzÞö¡‰S€eŠIOõAè9RœŸª à£ý_—n<ópä8»ç´JQÜ0APC …)L²9Z¤ø«ç¿6™ø¡ë §EñH&‡©Öâi ~¸6‡^Sùÿ@³¦_{å¼XFVDÞÏãzøÎäø¡oì½›Ðƹœ‚-˜lÿäܽÒ0ÜŠÇjǘæ¿'?‰a.x%dÄ?m·Ê¡ø4^éÖ-äÄ×rÈ~ ó4 ÷2Ã`êÍvBp§éO^x4ÙÛ‡…%sýŸ>NrYߨäÒô)?½ øºòãÜQi=N°‚¢K‡.Ø~FõEu]$`jzUÚ—bùéePÌ¡LòýèϤÅÖ×”b&;®™ñ¼]Ñ‚æ/¦Œýo UoÝÿýç‰Ãœç|:}™ß vu$€Lÿ+©.mÚ‡Ÿ)™ ß®’¦¢ëã#{ªµ‘Þ~˜ÿúŒZ Õ•@èÔªkC¬£ËUÍß^ÏŽÅÑ;: FÎ2þDBNG.ƒaϵ3þv:yza– J>V¼]LƒbòOÀ)²ÃùHýœdF·Îf/‹B¶ݶƒŸ;˜êåw‡ÓK ¸g¶a×§e°µU|à‚{ÈA·ßr_ö¤—€ÐîC?m1ÀÚµ_erûÖv“ò܈l™%*<Ï]fH¢(ÇDÇÒ ñý¡XU̱U\ˆ¿ÀNþréQBQ Êøf8hÏÉÑìÏÇþ"9˜ž×(ÏåÕ;Œ>f¼'@’¬Uî C_ÌDú‹CÜçù˜™É‚ þòÈÜ"ìM„$m0y ðökõ °è†+:;  8Z5’ìƒ|‚ÔÆ¸*>äûµ2 á‹0%¢+ ÖÏœ‡š`L“àødb)j[‹ÇðÝi¦)¶mQ†M~¼Š7˜XQ<éUçèdÖ»Õ7«cþ³lŽôØ Qîy‡Óò¾Í'`ª)Å09ÞïŽIï;ë1e£JçŒîWך~úWˆäŒÛ}j~еÑK•T ?m¡">èdGSÿÈGÜ8%7>ÅcŽ™Ì…ïöãàzà É·üÂìák3æÉ﬷ãV·²¬ùß”}™çIJùÙS=|«¡K€pk„¡õö¸èPàæcõôªE€=n&_tÚ“AåD®jœÝDÏ@[»8Í¡ƒi/óoi´}ûU1ÃiH¢¾ož¡©qt léÉ´y!SWfI!“âŒd,˜+…±×»è UZ †®œÂJ"®½Û{®òSLÉ&gw òXØNäJÊwá´ôÏ“ ІrÓ'Ta8k DvÉ9² ƒ#méø« ‘q.")Û£ºç)RkŸù×&¶žpbõ”Á·+>Ê,èZÞÖàfdò;,Êd¸:¸l/¢f_kà~%€Þµî„ö?Ü -ó³7‘™,ã Çà¥@ŽÎÞ•5Ú|¸AÜÉ<ð>áòO@ï¿1›âÖ.¹ÚfîJ¥ð=1˜Ï<п„Ž}Ä;Ó 9ýX:TeG33z&ñ _Ë!¤…¬vlÒ9z ˆÝèáßýç FŒv§Õ†}™×;Î 1.+ÿnýҽ颛v/Ešÿø uK…ÆF]<ál“äpºÕ‘S£,‚£éÙ~&æ õUHÉ€B#‡!Úì¯Uÿ¿Æ¯tYe Ê=º(¤e&yR2r'BËÕb^̵_S¾áûæÕϢʞ½¨ùÀ_PKZ¶¬bo,—®&ª¯J-òî±Ì2]î¡{ÊE‰qÂ(â«øˆ4ÇÃàšq×}nÔˆ!jÉQ#A²(ôÁÅìJŸJ[Óåú†êø­œèa"tbhbcS×áaR:Ë/&+†?2é[Ûã"ŧß,âŠqÜŠQcPà—/Þ.¿j$Ì Ñrá Á굆 w]WiúoƒtwºFêÑÌ/–XÙÕ6õ•×>¦]¹­ ¥@«,©ãÏã/éãJ(^j"³D®7g'·Ý€…žþ'¸‚E3·£‹2p;]wÃ%ëp}ö*3ÄçÏ Rˆ§?3:z¦ï‘n ’„­ó˜~<²[Ž›«›ÌçáɺØ3s#{Dõ,ðÕ,Ø®6ɲطºÆµ§fæ—ªºûš;ƒº¹;`‘ßR5 ¹ôqc¬×¥«R÷ËÞ2¿ wö4P¾Õ°èttœµÛ#['€O,> *~V@´ï ƒïL_yèµý¯E•ãô© ÁÂûÿ†\ 5ŒLSöKû!ÎB]¯=ÄuƒR¸¦Èl"7U— ³ÜÙ´&«ð†„:Š"¹˜M6cnKòƒÚ4™úâ>³ÑV(Ì|IJ—ÓÆO?x_p¬2Îâž(Gn>Üû¦ÅªY«I +X'Á¤R~pà ö]{&rÏm :°4ܼȽ¡L=–+f’Ã.Óœl $ˆ:‘ZFÆ$w;™±mÚ „.ˆÑ-²eÙŸ|ó pûÆ'w"ôšg©ðiõh LhžVàd>O_€c4/q×z 9QgÔÏTÝ1 ñç¡TuJ.D4)ÎT&ï=.Iñ‹—­“ ©ÏÅTªEœ`Â!«sTE3î8°4>…&ÞX[î¾YÊ{I~æÅ/Ëal·p•z‘D/[K%©t¤1cÄúT˜¸X*—ª3ýrÚ³r(6!3¾z«³I«ª*)w¼;æR%0o¬ Þjãr!õÎÁŠ1ôO÷=Ù9'f=Bç Z¡]Lˆ ÖˆZqðÏó´y>½À“CÈøó FU݇¿¯dnïçÍê}³¿õºoq*?»G²á;¦£îfâë)ßk†_EýaGE1©áeÉ2|ìýIñŒÄ Y¿Ò”RDó|e2ìŸ9ë”»Ùe0µ²c!ˆ…M¯„%Ï7µ‘¹ßÍ]ô{(Æ”z„æÆÐ îÀ¼ì7^9^8kÇK*œÖ6uÍž|UDš*i3~yì¥'ú2$G×çV°ÓáSFèî¶PP&È/îZæ¼ôzµý×¼¢Ï¬0uÝ!Hë7ßX`;c¾0Ïë>¿D–¬|ôPXŽÃÕkPêÓ$Xö.`ˆás2îTÈ’½»N÷“&8~Û4g *”ÖÊŽÐnŽ¢òº~E¤ìƈÂáNy¤®’òÑ¥¨°z:Þ©ÐS œË¥Z€fmÇAÒiúà*="îÀ®„ûf¸§ $*\·§öÕöP vzpfüÉ^f‰‹®ª9µ¯“6¯æ6âsú_$„ ™ºlà ÈRbd·è‘ÃZ;À®/5Ò’uL+kûF‚°×8ÑÂ9~ÕºzyMœ-nŸjG-¢)ÿ8ÒaXߨûR`çG¿}êC­·Ÿ¶æ½¨»Q¶‡9Èeî4û¡QäÝñXn®€—ׂÆBdÔCM²,ìóª ä÷àVE/{hâœ6CJ¹?35ê‚ä#ˆé>ëOÜp-ë±géT1 ;ã¹RÀ ¶Œ® XmºÐàŽ”…¼ÓªÇc9e«mž·ª_îƒk®WX”ä‹É|›ªÏÿ·‹³³¤,Ư “iJUôó*âhü£Œ$ªfåð-Ú£ İ"÷Xr¶’gSªî™XÝ_ë´:ϸ‹>•Pg¯¤Ìwµþ6ˆ¦š3㘆ûk" ህeáa "qz{ëÂH ˜‹Œl»bÍ GÊÕ¢›X4ž¸-  {«7e£\KlCf8¡ß¬Ÿõ"àóÀµƒ÷ðâ ìÐ_d„wUyÁ)sã/TÑj¤¨ºöÛÞaÆëù‚†ê½ÌB–ä–ddßãÀA 8ÉÔ¦©i*O͘<žÓ!x²Ùש‡‘`E Õ è--ÖÁ¾x,Ñ9Ô:¿Žíš‹îAÉPîÇCá[ÖœÓ4í\FäØ5)4š˜a]*q¤wB†êú¢p,¨Çߜ݂Ôç3Cž±†ð¥PðJvü=©<=*M%[2F÷ õM<<8®°g­_{pBšfCØzõ%ž«8§Õ®’|¨N1 ÝÕqm‹4lf~øS¨!ÏtN23Jú6&w­ R¸¢÷1U>Ú£Ÿ'åU–VÑ$£@'òŠUÝÿfÚJÿµO.“ó0'Wæ ù…úŒÑ^~êÔ&4…öc?Ë7ªöU§±²CŠsá*ÌEú=~wdÇÈ€J‘<ô7í‘ç'Åyñük>æ»`[¥š‡¢|Þ=ðcÖg>Ê_íñö6Ç’­Û ¦›«–ú‹R9± |”Ù“utpþÛTP$„Üg˜fzÒk9‰àƒ¿Úš{kOBÆá-»‚9ùnL«ÿrÚÇëõúë|:ÙCU¼Ä®ö†°\~½`zòܺhlW·dôD¨=ÎŽœ ýÔá>_¡6쎳ú‰0Ûj=6ËìôÐÞ8ÿÂÛíݳ´ÁËK‡¡&ô™³4Kcfœ9‘G"ø«¡þ$%‹éXÿ ‰NÂ{Ü«µÃOomµ¦L]KlkûÝ bñ*·ÓG¨„âê @‡Òó÷ë ƒÍT7„úf½âiÐr.éÞÀͳ÷ÞÖ-ìOýnªhÆ&z¡;[ø¢ÐØÝÏðõmÿµ* ùÄ:3tæc‰e:y†ý`¼ž€Ç’uóˆ=Ð×ЈWª,¹&¹šä‹zWŠÂ³eé+—ÁÕÐo.Ž:“«\?ï c V¸Ë„šÝ>ÓH"݇íaö•SÈ0VK®êzaœã—† PÁIEhm®îw?ï´% (Ó êV{ØVYëÜí=#Õ{×núéÔa…a?§R‹zû™e÷Q.¾‘.|‡WÓ¶Ô-å´lÎqpe ŠÑù†w‡”á^2:~ Wz¶u£_BcÈžëö¡ †“ÑÍm£îô@OPâ¯[¨.U!—Ññãðdb ­M—›ýžåÙŽ´Î1W±å 8™ü¡0U_ó MĸéC-¯H±+“ÓÉ V¢®u‡¦pœH'¼‚æžv´}aCt?fólF™^Ðû·q1c…–r¦Ç,ÈáuQýëö¿ì´»&~¸fípSJbt!ö~¯ï‚ñþnñ¹Ðä¶_Éž T¼°ÍVþ€/k¡èR|£ßå§ê2“Koç¾Þ>±iîÑzÒv² Ì&Fµ 7LfO™ë-4*§HÍÿ[=ç½!ÆÃËÛú¦Ÿ äJqôjñs¡üŒ—™wߨë^i'ïý‡’žŽcnj«„­7Œ1&´IApµ¸E¤wÂ`j¦üióÃ:²ìÈŽîô8K_¿«3ùÎOcñkÄÎå9eUpÉk_5 è㢿DºÇÚ¾åì¿ÚY\²ãŒÞs/ÿ»Û–Ë#±')iËÛ­Ôü¥ô9nZU6k:«nnÉ.5¶ÉCäxBלr—0šÊëxü6HzÖUÏñ«¤?¯.+.üº»·6?»¸žQÃ3ôÒ‰H£ &zäv]{2ÃÎ$šž¹KgÑÛbK¿×Õ›)73É8,¥$›C°9}O,•6®’Òé°Ê)}½Ôäc(šýwç[´5<[™Áa½iBâÆ7ýÞÙ‰¥t”¬ß ÌK^VªB” Í-"0àÈDf1ä~&€î¹h˜sõ‘’„ã] l ~JÁN×Fû‘ŠB~x&°†Qá}7šQ [Hƒ¥Â0éBÍç|ÕX j¦ÖYèÕ$‹ª]ïOŸ¿dÈ™%Ýûø±ö76SKv³}†ü—ögçÞw©Ã>£o‘u·Û£ƒßv½ŒÐå/à=²…_@£IµTz ¡_–uýò‡¤Qá=‡BúÌ®ˆJ©O²°Úî‰< )O€÷U†*´²]·uF -´6ÛãW?¾ÃÚßKÁx3ù]xbjœ¸‰"Å>–Ùù[kéí'lYàÍöc‰ä}Ø K°0€Nò*­PŽ–aÃR±ýºO®¤¬MÙní&Ën¦|ÆK؆¼;cA©Ûÿž>þjÀ_½›*76ôŽ€Æ„™”¯pl—:-Ñp¹´Ò’2û±!2§+ô Ý=zoÅÑÝMŽ>¿£U§ó·ú‡d"FÜG[¥ €Ñ$žWHQÚ¢ ú µ6SÍõI+v`Šb½æ> ì/«ýýË åþ®ÙâmÍ ÉT Æ7»¼çXÌD\,›ÄÊÓ±É''¿¨ì'žþ8:sr¼Ðããæ«;1íU•°ÜXHw†ûa7ÊìëfSüDÚŸ´œ}áø3ñXe½“ùwz“ÖšèŠr« b‡ÂãñF +j,@ÌûVrFJçß•³Ïƒ‰öœú­1æ&Tf€Úº—³Ù- «º•‡Â’Î[H¢˜T‰}ñ|H?<8=bÒmL#O–Aõ 4°®³Ti³D¢™AxÿŽ zvÁ§‚rjöÕë ’ÕÞÅ|è£ÁŒN%Ñåªêa’‚+äIJ‡fnèÆC†n¤Ô øklÔ°ŠñúÛïÌ…mž#[äd•×7€°v[Ì~ àÈUI›Õ±ã6é\2µöÈ>îºÜ=ÐhK>†ßâêý @=€ˆ~>ŽÂÀÂgHääZ¶AÓÉ ù"‘NõCG”aß¿Å0OþE„CÄÊ5ÌØ+¢ÿIW b벞bµŽú #âSÑähLSwÎÿ·ü®·™Ä'»Ð¢ ‹ñJÝ;'´éǶ7#<Ï(Ä$Ìú®!­Ç#ôÉ5½>e’#»K÷® Rr‹Lœ:Áeõ~J%k5'žckñâô™‚My¶Ý“&wD‡•í3f·Òq4+ë‚&fƒöáðÛÁøÔ…)ÊÉŸ JçZsXFút´×‰¡rØeßÝ!XjE©F…,\+»À¥ÌßÖ~à鋺Wá&Zvßé·X‚¤¶]æ¯>é{–¹)­ýã¤Ø¹K|iNŠÕk(C‰>ÊVCû6’—·ñòóò¨/^» _ ŽO°¿ é'õ´œ¬æ¿ _ÄÑ¢`Ù@kÔ*_Çœúj,›nXÏ—d",ÿÆWq&ß&S!2YRä6ËêóEfãÇ»è|ò&H®œíKT¯pW—$Ž„¸"è¤S †UȪØ^õ©Í(éof(ç`j½uþ :FñE‡ÁÚ£àe3 ‡ÛKÄ 7ØÃ-n uƒ„tDVa_†дÒ(ÉarGbIÓÞ·¿H[¶q¯À£Ú½+¼äLCã¶µk¡â4XHraÚd°!]»A_2æ7èk}ArC}ÄßôRj!ÏeϨ+ŽêŸwèìØ@‰d[ôzÔ‚+CdûÍò]ÏJ†F=e{üòÊJ¥ÇþoéxÛ˜O™#% ,a4E„ EÍaõt£Zwû¿qžoô-…dWOôLúTvsÂ’lq»öAA¶bsKä#äõ‚„ÌõUžxãñ¼ÍßedÕ¼¯%ÒÏc@:•7†öO“»Õ @GíÑׯ("¶ 0Ýÿ2ö‡¦³À­d³jZ†Á¥ÍЯ†ëùl#<ðEÒT<¦ßî©fOÒ[É…ÇîŸÆ@‡ƒâTÆu+øðeôU~xé&ARtðª*žÓ:=gDˆaáûÀ5‡üPõ7áeõ*qê󠛎»ªœáªÃþä˜ô¦P?NÍd–ÏŽ&Ö‚‡ D_HG!áeÔ,³¤¹ÿè–µ^J7IA‡Ÿþ°Ò_ízÄâM ¬;ˆuÏÆ"ŸÅ ï\‚‡Vžz8haRž•Jˆàò÷$)Fû ÆEUE-ü÷GP†Å,µp ä ¶€µvñÊÆ~'ž‡ØKM×Z¡7—m =,keÞNgM¼r­Ü)"Ÿ=yϸÊ;wØ;{5õÖÅÅØûA… i»ÚvªsS+뀺±`©g¸§74*N¡—8t©éÐì,ÿ¿D¦ñT0?h·Ð‘í§æŸØüºî%z¢ôÆ–D»œ¾ìòµŸÌë4fZl|¯µ ¯ ÷ñØ@ IæËÖöãðyq_¤‰Ä7ƒ8šZÒŒ “´ü°qÛòoü‹caÈÝÐØ¢‘,qU%빌r1 ì* M •æžxH•ÍÉ’yTßS åYßÄëàn.ëÈ3ØÍå7x܃—¹e™ýM3°¥ª»'¥*,kß}ºÇ~SAw¢ÜÒ“Ý]c,y: u¤4Ž×D|ŸŸ%g>ò¹ß|ÖPó¹´‘ü0ÿþi¦†V¥/ζg¶o×ZNgQ¾íw0ÂÕ«¶¤òÑk7ê¤`_AXL¿¯S¤;Ò©D€xÞ\ê@ºw.qªŒW«ƾJaƒ„ óI]8¶_Aõ°JH|+÷²Q­§Ã6éÓŠ!ñ@¶¾8$ÃÚ¸­ÈÖÆc@æ@|⃓”Љž—ÀÊ77/mÒÝ„ñÄñ'/-ɃSAXÁ©pb'zåx¡Í*Ë×å™ä8¸–œ§¼,§)ekѤ­•35™X(°nL¬w0Ò:GÍ/ëíŒà[y*Š…E…¤¦Ê<ÀžŸ„“¯…´V÷QèsR÷eRÜ/q`G-œ¡¬ùì³§h!3ê0KÉ®ÃÅñb¤J­ š¤i¯5÷‚ŽêB]ŸX§.E¯~>æ2©6ÿ:ƒhV™­î蘛e~¨©ür6Mš¢˜|åç‚ ñú+òáBv3éh–;ÔY£ÓË"¿ÖðèSÝɨ£çÓ?B;©Úñ¨Ø~ó]¿ýÉ _ÜÃ$$Èc;k¡!Û#@²ÍÛ&wˆL\OƒW¯±®Õs÷¿0áĪÝ)©à" :m4&ö–¡þ4´dE¬\â.³íô-Ÿ%v¹ž= L(Ãß–Í™(è®øÀÕ˜%²·y3ØË+Šðú?ÁÕm¶ùD’’U!ŒÅ g#¬[kUkQN¥þÒ2% ëžLé…)Î"mäB ¢¼Û_ÅÜkE%@‹Ê^3¶¾r™%ü{t­ +s0–ý]¹€LÌYܹŒ«8hؾfà ö_×]lôx±eäº|Âd6?`Ræ*δ1ø¢€_ë\”Œgºp˜Éblô†—bWš×ùÌ'ñy8¹=‡Î=nþoPSö½c(2ô¢§·NQ+¬^=ý6›“¥rqL-턼©îôÂŒ.x#V]?u÷?Œk émràñ*Jᄘ‘‘ŽèVÖC¢%:¸€¥‰óÁÄ`«¦ë"6š°uÍRt¦þnIÈ…—¯й‚Ó¾ôCué„ËS$ŽeânÝý¯Ã§íMÕ^¨•>ð|¿ÕÐö";+rŠÑ·â'ÿÁÀï“ÎWÉ;&VߺA\ß¿¿±zÝ3äÝK®0{!Ç×”Òu?k•OMÔÇVTȲôX:¡6ófc„…n©coÓ…ä’Ùä=;3}ÉÿwQ„=ÏØWºðÌd“ŸâäãÒj®"|«È­Ø‹øAÞ¥˜Ð ÍÙÒg¡, mÌÕ.¨.d—½œÂ59j½ö«Õ?¯ü PYÍEjóéÑù,¡û$\a¬Ú¹pŒf££Ü€,&G2†ÕAÌ2’ECêTb˘r–q8 ã¼çqÿ˜)ø+ÌHb¶Rt|HÆ~¯"Só ¸UÁgb3Ñ$Ìå²Ö÷ÇàÔ/Šgnn2­h©S©õ‡lÕ{q§ «ÌP²_“5€æ ¶è³jæ-¶d“c Å™BqL ºmñ^xXSM6³ ‰›Í"k!$¶¤ëVcݨU³=fGµ6Áþ[TOBh%›Ä¶¿<·ƒÊ<å¨ü^ÚBðéNPW‡H–Ò¤˜4l! †—dzFç‹«ˆrð²,Ùï©g¶Óv)Ðaâ§t¸ÍÄôQ¶¥éLlþ~£o‘:ǰóó[ ²¥vT05%|ÈMæ’D0÷ Ž%;|M¬`§¬TS†¥Kæì‹à–³w˜sBåõ>ÓÂßÚ°™óû¤X³ZõvŠÅÁÍ¿)×hÖðJcÅs l%ø*ë9¤I¼íÕÒŠ*eè‰Ú&ÏjtzÜ0Gúwó"G#6‰Œ¡Ð:Û•Êßb ‚c!ÑG›øJ²P‰—oÒÞÅíWÇÊõýÙç•nZá>>´/@+ š­ îEè¡êÖ²¸JKŠ é˜W‡¬v\YûtÑõ‡,3+žV›Z棯2Hl➟ÌLZtG<›sYiïÒŸps"´µ‡mÅ¥9+€3/£sœDdeÆ¥c¼ÆÆ1îèF/º&CÛæc,®iîK‚Êê½í y¶×ì¥&—òÓ>2ÓôW6K`Øã·<í³{PÕ¥3NI7èf«ÝùÓ¸}åÐxµ¹¹…{ΠSÉŽ¶Ltæ~£Ã%#>ý|’¤ì HEÎ$¼î‰ÈÁ¾Ò˜ÏÈ¿x€¹¼ˆ¤]·¬Nà6´PD_lÈ'Ìc¸É~Ä–7>(¯ {«ˆÔ'I)”=À€è#ÆæêCm‡¢ïoþ†‚DG0VO˜E%#ð›iîSDµIP(ðiQu´Ÿ%TÙ§x˦¢»ÏË¡Ï0«R—§&"ô¶ÒÂÊ%U‰èé6Û,3Ì”RèGûÆ5…+‚ua…H"ýƒÐíÚE±)WÖõ¥ 6s=ú°‚âIg þôgÜ2Ö¡ûò=%Fz`Úîš¿×#—)ØûVÒ  ¯îÝ©0YçölNB®×7_Ø|[mð.7;¢éø·ZŠ—¾øk±¸ï)îCYz¼AÄ®bíU´® é)òÝ.¯™—Èbk6Iûä\í þeËmŒ»ì·™&Â\ ù‡xä\¥a¯?öÍ÷i ý­e’¢TÒÍ0‰2©óün${ (¬‡û Šœ×GÆé^¡øEÀÆÄºBJÉC÷0ÚŠ¥†ë÷íÚ%<üœý~ Å•Ç<~]ÍA—Êdþ ÙïÌ¥âµjØ—™\^A¹=çÑl S€ÆU•Y ÿ¦ÌAߣ“öLË<ä½N`hÅäl_3® B&®“èDì}nó Ý–ÌŸ"#^‰ÌúÂÙJgE¹ûëàÞsËÖyÔۺ뱑Á¥ÑT}–îÉì†áþ˜éÄV¤çÉÓÉÃÀ¢ˆ¾Sˆ¦JzÄžÍâî®aüî·\ë adV3c˜”©m(ãr*½Âhôw.u‡Û•Ì_’z 5[eçh´É¦OàÍå&˜ÅJÅ—ŽxÌ>}¸ñÓDuŒÄÕo+'Q‹ôýGz´Û—MŸºA’½£[RñiG6*Ó±*>¦aˆËš†"³LÖÃlÿ¨OÔÜ¥WÇ[”‰ÙÌͱÅÓ›¿AÀ€Ü%xQ’fâEG7°Ãnv¿Q»~§æžÏ«ÚG ‰ü¶¥/:5_Ôh–3Íý¢,¥ó=ªßÍ7áQ„[¥}ì/¥O¾Nx_f/˜:¼Õ†X\ŒÓ=²SL×ýµR+0}5½wÛ˧É|;/‹1ø)' '='uA!ሤîâyÞ–X®J&_nÓ/Qœ÷ðnc¯`(©ü‰¿¸¹Õ¢4@Qº¶ûÒŽ””èM¸ºŒü»¼-^À‰È~˜'X¨¤ÌNªÎ]hÚÆV>D3àK £ H•€"&BÛó!t l¼ôe¸«eX6:ÑòÚ‹ê> ua†ð·úî‡,ð^ýzÒWíìö=ˆž(pƒ2¬gÒ^sd§¢_§·Ò‹š¶2»”øuãn«ñì}t©˜æ:cà`H‚‘FL¡ ô4¡q°§]9 ‡ÌA 4 q á-Œp[ÿE€Än3Û½¦Œ?Sœ¶¬±ƒÎÖàÞ'^Œ¦¨’Y<ã‚®ºCz5'8:‹|ß ?3‘Û¡jEi9ŸdðïÅJ6~ìç²Û]}nÚiv5Fç{DñóÿIJö>9'm&IEJt~õVû.Nà¦Ïë_‚p˜Ý¨£E“»l‡¬q¿= „yc.®hœ‡J _¨Lži€Ö[ä?<ÐuL«öl¹… ûÕ"&iwSýp,-d畞üðÉÖµÏ|ÝÕb$§òûòíH΀}cΡEiØ ¿‰ñÁ£ô`@9˘³´lßÃÍèpY:~÷ç`C!û-,§ÒîÐà-/:¶L˜j¾tv»UÂHòk›·kÂß´~žî?Yvé%Æ4„ †ÝnÓxý³²ä¦ Â‰(³Â£U¡Öß;޵v Ý“N´…|³`!ѯ­¯¨|Æß©º¡r\žîJѤÛ!ç/X3üibRêç *u—£‚˜eÙgÀ´~X©"g€ TÕ<ÝÕÐP&Ÿ;¸k“¸0ž'–ß@:0¬}åõ̸Àš`Ž©¨?X°tËþ±¬ÜE—ìõÍTSÛÓ£FØÜõĵS-Æ¿CK@Ÿ”zµÈõsJÿÞRPÝä¡‹d›µèçó‚t›Ÿ·z¾WËÁ”sc;Ó^”ûÝŒ ðÉå¢.ÞŒ” Bû›÷^€ÐH¥,|Ôzýmq:vAÍ7û ºL`nï—-³|e1+ºŸ|Zâ2Ó'&³x î ßýèLt8}LÄ]M«P^Ú¤ `LºË Kn¡S˜é‘ 9_Çz¥E%‚}•ØÖf­ðë»øÿ\m•™Jêé!{¼½eñå+&k›tД{»ûâo <Û¢”Åq—r¯âç¶÷t)MEîâÒûÎÈú©9"ß;nÉL|¨1ÍŠ‹[ûfЪ‰Ájm°Š¥nŠàQÈÛ°6 !ã×.XÀ!E™¥Ïì“}Š$ÒÓÂ-m-ó·:!„(=SzÃ<ÅMÚ®1 ZUŠò®¿º®y 8g¬+W¥‹êã.›½g#Âö½ˆÃJ–6]m]>»º¥@ì«zþŸ- ßÝ£²ÆÓP'K‡+¡M¶%Y+\“ϪEø±Þý÷’´2tðz ÜÆl^]² ·%(ð*Ý2Ÿ!Â'H^qýø}ÓMZŽë¹¨ QÇÃ/ A×\¡.Ù¬÷þmwžàư†<®<–QzÌ;x  o’ÊS¢bÀ«¿¢_ŸRã|Âôد¸ÜJÁÚY…å½¼E…¼®a±Ý[?”ß2žÔpé]¶˜a™¨–¡Y8¶á{dI4N‡ŒÙÌçk¿q^ÖßÇK¤ê‹ýõ“·º’ëùlÿó‰Ä‰#ûƒdÞÚÑY8]ëãjdö<ÇS8ì^Ö6w·Š4!ÞŠiwh¥¾±ƒDD@b+K¢zë(A%¿eè‡]€1Ññ¸×åµä˜ wÎôR1t`–¸²‘°¶GѦ]‰“J\÷Lo?bjU­ŽFº ©ðNßœô¼ð6œz}Í¡s·Ð\²QÊÀw,£üÔ툶V#¨rÏœ–mw^%ƒ „Ôß…D€hõÒ‰ûËö¥M7¾q[tØáÝç Q€ðĤVôŒ:Å ËL ®ÏFåw‡b lîL%YÜ'ÿäë¨'¾>‚¶jDÑ/}—NJ%êîâç.Tã¢ñbÔþ‰ý¬aCƒ4^1^À_ûi7^i®¾üüoZ€€ö^„ÆÂy7È…kUç=ž/I, hjîüõè¨OuSBˆaáŽX§³ž«[Blš³.žJNùt5]&é6×si^›<¹·•ý«äðîH<í1,Ò\Æjû¸®Á¥Šl±ˆ7?î¢WØœwKMÛÿ:Êf2’š MmfcƨçÏŠ´ùNíäjÖ\çÆI¼ÈÛ#$ož³!²Z¾¾sêl–:@è¦pnĪpüí‹Ûšþ¤\ÙO|Ý ¬×—$;r.6<–°Å™Â‰;F—OGpóv=ùÑöy÷ß(*²pPƒ~;ÒW#Ó†gKFzˆ¿Äl¯Ù:pW,‘¢NÌiˆ{+ ˆoÓn=ÌÅí„?µNðþ>)hïV³Í(Zâ· ¶ä¡=‹œVˆL¸6ÑÒ 8_QÏÄÞ`ž û’âÛï_L‘pì7°yœÖÎÿ‹}Â)'Ç/éüÕiË`€·\{÷Ű §daÚ? Räue Ué1SÛu{MöyÑý±OÈ›•ìÖÒpÕ­V¨/xÒPÙrýÌk8b¯Lyßj·&’–&+É »Šœ|5ƒÂBÖ»¦†Áès0›9 庭ä`/Ïuè¼¹P÷`K’-nE¢sœÜ‹)HÎZä³1çâ¶y$·€ +S"[Ä"5h½PÝ͉óf§ÏAoä÷ËA˜ø.ÏøùBOã,+ !<¥§6\Τ×Üšg¿m_+jí±‹Ï>§4º]éhq5@]DäŽÓ;ÃህÛÑÃÀH 8ááYQá)%É$^‡/³hè/ç8gã^˜(°'´ªOzGùÓ¾js:!Ä€ÿ27RJ'Å@{úNBMÞHm'[éêñ¦¡Ï,®5ÒuS¬l©[Pùg¯\Â߃mþð_q9ÑáDµ:os“~Õ$bÙ¼7Ì×xJßÈÆaŒ«îO0 0wÛ†ýåOÄ•áê§_®ï_\±7À¦"Ñ%®‰!¥!rȶÅHE_qR¿V]a ¬éQšâ“*Ê̽ö‚¾hgM½ˆýµhÞëB|ºÐè gJ)sÉÛDóm­Š»íBµý¥˜æPê&\éK–ÕWJ òˆöË×ØÍªªûì…s)½y(rºÐŠìÅž‰~9a埮¥ý€êñ¨EÜa¶’±¼ ûãLLÒVW°…‰öCJÐè Ь©Ühi|†Ý¾Ï©¬)jq>ØS?…Qœqêó–óØkÂ7PYCwSB×ßÇ÷ä£ï¡•êY—=|`vzÚzawÀÉ5í9 ½5ar|0§è{™ˆÂ-ÒÐ&Lþ‹†‰"IY{ÌŸõž—ˆ|‚òå@ÜGjkö®ooÜ¦Ýæ€,õõ;s—=Ãn«:ŠžëÅ(‡tqKý2=ïÏÀÅ™½c‘*]ÜàM—¦ÃƒÛ'ª1º­ÈUÄúk ¯…âÅ‹W$~ÂÖWÚ4TNDº}Öƒ=^q‘cþÐûÓÅ#&ªZœmyZZüËyÎärBYÐ¥o—ÏÈçÞþCTà…m B$§lbFS-“=ŒGÅÈ$i”æ‘Ýç¿è?½Ï>ÖÚ¿¿i<€x€ŽÅ:GúÞ¸CࣅB¢[9ÐÑò«Ê¬î5m‘ø#ûÉóWPå çŸèÊ_|9à–“Á©ÌÀ.‹‰ßÕ9„QsÐã\tþŒ×<¾×òu&S¸óÖOìå܆lúL¥»D†=Ó:äá›µŠ¿«šH(ø‹êáÂ7¥p¯4-ÀbUÉ¥2õíj¨¼óD9S<µé‘; `ÚÍœuöäT"&GÌÚNe*9ÑŸ¨¯ß–¬ÈHHmÝòÐÅ”kÉõ"( ¤7ƒŠ-_ZzœakÈÊ%Xíî%¥o5·í_ÛNÙ,â´,¾á jfçzmn w Î3“h oÁÐïÞpü ä¼¢„ߟ䉂ú}ÐìÇÖ¼1mX†i) U¥ªgñDÍ1æäÞ òrœ@É*dw´0—{<ßÀ°š÷™ù7Ýöûþ óâGþ‰½Y‘/Òµ-²gÎvÀwpälH´-y;R8Zè;r–È&ý— I„Á¶)×yo|KXþU”\|ÁC¯p= ¡\XN;tÔCÑÚÏo‹"$o; ]† #€Ž¢Hž®á<ÝWÛõÙÐõ®¯/«×¶s¨= M[ %--m÷.ß'ÉvcJíνފZl“SoÔ7GRÈUëa43ð(Δªúx w†?U2„¸G@RÛß]—g¿£["DènŽ6ÖÔ¸ ßÁÏEŒ|Š©ëR²7þRðœÎs7Q³k¦\¼j´ø\…$Jrsß!7×W6Ct’ìðrƒ¹²‚Ü&Ý?¸ÜÚm´äÂëÒ×LÍiÂ-å%ãœO°o+å¤-Ð6;…®¿atšùnÍ¤ÕøÁKNL…»ÇbÄ,Ø? ¶òí÷ ɪËp~aÔì“‚¬›‹ˆ¼lo×ÕŠ—Æ ø;mbQLÞ]_F‘‘a4쩲¤ÅË|Äü*txwEîadÁûŒ7É6CõjùÚ¯&ÒO9Œ ¶ÈÔki_÷õ²Ð5j¦;¼%Ê@Å´ÒÕU[W¡ð´”K# MgZåßaé‹ñ êÉ)U4JŒÏ“gi8 „=¬  t—@Á®Ürb3ºª† ‹Y^£+Üó`YJ´ÃÐ’¯n5Dýê@zù…¤/­÷ÁVËFÈm=zÔ1qt݆ƒõ²Ù ®õý Ü„r™ eU>Ì·ƒ8Z‰þ‘í»I?Xåòc:”è“õ‘Á¤t³aÞw¥6§8‡d’>’=Env¸FôKó.Îch'Ë@“_ÝkJG¨·ÈÎê ,þÜ.¶ä›üZ„SÞ»œ´ü¿‘çÓ·ín'_F‚÷YkÚ 0]ÆJÀ°å¼üµãÛ"|‹}k|¨CÛ-ù&g™Ý] rJˆs5 ÚöbßpÀÿ-HĈúÊÜ«rðH ·’¯Â,xçÆÚiž¾åI\)ƒPäþïÏ0«†}0Øcš«)=ÌßPw q"àÉY!ªø @f7¿ìKy\š.ÊXµï‰À¢Q:?[سÿPì(ƽÌóW~ó|KcÆXî€ó‰ê¸H©„» bεp"üi„Ï)à|%ã¡@ÿ•ØvD=‰'ðá7hÉttú æ+\Ì&à $}ôЄUƒ;w¤Öߦøð<;Ðcù.À€ïo|TYÀ~?¬ŠC€:ù9suó95%Ò£M}T…³jÃßw³3jÒA>*¾aŒ“vYwïHÊU/ºº8>bä¦ik¢ €ÀƒÎжç„å­Ü—¦8ªçÇÝí­YOÒ'0­ze—žå¼VÄ©køò4Ã`з[Sw¾ËkÓ„FÌaó1Šî™j6Œ:6ùú«ÇâQÖÖê í MA1åš’Z;í÷™³D"æà o$íZ,ã}Rþ2=vmS®>gáûö¼dg&O\† æ Æ-‰Q;CÁÅ­´Û=œ®£i ~0/KSUüS"‚ó]. ÍR¬s¦w!H¼³gÚNNrP5"·'I¥äž¾9WkÏQ¶•ÓZá·%´SÈÀ~xŒ€CnÛ4ïâ|̱9Ò²MÊJýlï)uJ.BMÐwtÀ§ÍE.OåV9"’SY‰mÜš§ƒ$¿+—áVùÝÐIÊb“ >Ý-PpŠyìe¯Q9Œ7tå7%v‹e…ÂN“ô_Ë@ÀŒŽsèkTŒ–Œz%Üõ†P‚¼1ih$Ò³#Àlgá¾$½ÿm§‚ØÒæ„U!ì(t F21kd:ç8Ý©ñ'æÕ{'婳&òØa*>ºŽ—o»i¬’ÚaªZ±Ê奄óîª)¾_]|ù0Õz¥•æã£à ë‡þ)BSü=(ç„[!"HI÷ÌÍ¡¥iŽm›ÜÖ, Îñ‹oSje˜;G°HàJYê+j tLjÔÈIÖ7cñ²[Ø~¿‡'¬ûÖÜ¢g`¾á>¾V‹Öb´ã•¼ËÇ㆞g¥;­ÀL!Øx˜Ý/d’²›‡w;zsùÔF²b‘º¢ãH3¯Ûÿú‚•m1/îÊP-–ÛÔMe+K!E¾~+–_–.>¢›Kwg4}aóáLáøîr•m WÎ×ûß?æ+zC'ƒâ\¬æyRÝa£Ž&ÈÈT«…xŒ¬Æ.Ý~3ÖÒ÷¹dznʽ›I8ƒâhÒ¦J"ïé»ÇŸ‹67†!aÜd¾è<«Ûb€¥ïÇ'óÁÎ~®ani²­ ¤%Ad¹¡š…4ü,/O›•ÏšïQ,óhBÃà òöØSâ¿V1utןà‹Hu)ÔlŠà÷€¹}ÂúÌ™¯œûèÚx;^8õ}™=Ý»"• ‰üÃ{¶ðB»ÉŠ­0.„:P6•ÜýÇ|I­GûÝY™qÖDÒúÐc2Ò:Çün½a¤ê ЬÝ$ïínÜœ*aT¬¾«À™@¶g”LèŠheïª^²¼œù!®Ý•(ˆÅÒÍõùn8t¼ññÿÃOðIÕCÉLt[°ßT†yõdÄqSKîvóñSK21›OV"úÿÀCpÓ£ó_ôîÑgBeÈ9r…v–j r‹Ÿ^êR²Td9«þr<‘ {Šd¡ÚgBŒ|MÈêZaÉ^s]Ò Íø&9§Ý^ö ÏõÞ‘É6 ¥Hf¨Y» ðZör«ox'Ùoï*¤ÄMïa •’ø*ö{œá« ECÎk‚®  îŸ›ˆ¥éŸËd`ª¥,2 â«ÎRy~ÎÑê´9ËUDÒ}€Wç¡%ׯK ÄFÎÄ®ŒÝ1ÉŒ¸®ÅBäŠ!ÌÂz}fëåÖ»Çêý‘»Ûq×rGËyŒ·©Ÿïþ ÎÈ~wlyp-Ð=æÜ-,¡©àè¥%4ñY Š:\\i»!ÞØy3Ž:ôíêÓ´ýþt†°zB 4Àpò§ò¾–´‹éôBCX¸@Þ²š{S`½Æ(2 ÆIõ®}jMwθ +ÂbÜõ@$,ø¼Y ©­}c<ü:…™µŒÏN•É’¾Yƒ4þ6Œb •~[r9ßç° >’µ`r’mœsèRèžô vx³×V}‰²¹aï~8ˆÅܰ0¼k®)¾GfIÉv7¢þ»ƒT÷| ƒ¨á§eRÆÕÚ(oñf'úÛºfÅ _oL±Š[µLŽ Ö Ù %ay;V“ž"PSvY IÀ7nÛVIèUºVdÆ£scL€|5ÀÌßJ ¶=a$`îOow“5Åj˜Ø`~‚Ùmµ97~–p²¶ÿº¥iq±Áíú¸ݪû34ý¡Zœ¯}G‡ZÐßù’’J×R­2è꟩#^Uåk(Ùâ`Ôx*¼Œ@4áÈF§ÁZ~Õ1Ç®lÜwHk®¦®çÆ(,¼“TÐ`]ãoÃàó«ðªðvû]ò¹ý¢‹£þ˜Ñè³¶r'ÈèðmŒ¾À¤5£§ð‡¨Uù¼³•+9­ý|k«.A%óº«þ žžÖç£zxéįe\&!4vŠ”£?ÓÒ6=Åï¡jJвyj–‰X–D÷ö$b§ˆá˜€ ÿå¦xF€6Ì^ß Ež%&ú5w Êwüfö¾ÐR‚{OtÃy÷÷À· GŸ2z8ÒÏ-~­õk@Ï 9me3u*}¼é N_n«!²³Cg=*c\†Ž­WxF4F¹ÙC-6²rLÿÇg°‹¢h}3Ã춘ù ²¹ª& `?>ÄAp¦—ù½ÃDàA…¡2åþ«j6Ò•½Î÷dúŠÄhƒ ÕAw̤ñµ9MrÅßü—D©ZÛáGÞXlˆyŒl¾„d“]¡é”Ò!2¢˜ãž·ô~†~ ±¤S³Î·›Vžáê‡O²•Ñ{ªÀ”)¦>¶—bL;ÕlcI/ÞÍgýi’ŒïˆcÓlÞ©¸ÿ¡ØÙôÎRÉÌžã·OüH€ ‡Ñ‰RÊ.Œ²Dx'Kn`uÊ”n_!Œ"âNÀ´y0¤í2†jø²…­¹ðûª|ä³Y5 Í_•‡øÂDå²C©8Ìf¢ãñú ¥Y'V¢‡ `³¾myÎn£=Ò•P•¸ÔF±0äe.O½Oó-q(PtEwíÑýòH7±_`ÀA¶šG~êXºÜÓ³K…²ÖC¯âˆ]¾ôҕȦÅÈ0q¨²E}„ì‰Pþ‘“O˜ ”³yS†.Þ/Öw^¦µeØ;k*—#º;¢­pDCûœø·Æ|š ŽäsûßYIç§%â±àãòE€Aôº+ Bd2¡^KF€”ÃåCJá´ÙZj“²9¬µ ”JÞ6.²Ò©ù˜ÖMlÎf†ÏO( &™Á”l©íܦ ­•s¨·Êz{èÏ·Òê©/a¨Q“¦vž¼xeAñKJMM­âì¾–1+ë8úð E©,Ǩ‰‘CˆÞ›KuD† _á3®ÎÓÚ’¥eÿwr9ÕGgÒß:Öz‰6ã<‡›kp915TÌœ¾nb8ígZ/cÝúÒƒ…‘[ÁÁ !"ðÈŸzd=ã¶ŸÙV÷-3:~ZÀVõ„îÁ°P¦ÿbDVG<8…¯[úž©hý ýÏp–;9S‡ä¯ž@8ÿ¤Pì1âÄÑ[Yªk5M.%8íÂw„?uÍ"âŒ`*¡¨–µjïÄ?Übío %ÔàÐ*ÿîÖn0‹)t¨õSåðá:N@6­|¯yDiL¹{™Ó}àj¬Ï~AÖzâÎÊ N/œKŠUнQ¼)…É‚gµo™Œ9à•›(ÄAq²›LO’sÄ•*@T½2›%Ëus½1œôA‘VسŒ”›‰"#äfïÚOÚ¥>é§vE©3rð¡è6ÕC®ÿÿë#ΰ`‰Ü.›Põˆ6¸·‰hÐR€§n°qž±s´×2çELŠ’¢@|‚uÅsªîöN5€PUodÐÇÔHã:VŠ™0ÖÝ_^u;~‡ÿ@uüè‰^¢€`4$‹¾y줋3臂l œ¤Ë“ñ|ç‘ D?ƒJ:ìŸzz¼©»#šÈy é&•Fr^OÃ’·…Sðþ?7» á‹gkÕù¨d{(MÊ¯à °€ýôPY€ø‡<¦ç“O-¢ïD°%€ÚLbÂRß+Š_Jàè,K¨Þ ‡ Ý&F'š©Œw|6umáý¯íÈí™ÞÔnùOž]H÷+’êÒðyAÿP†j y­^–¶˦0 ç[PIàè¬ež'ÿl„ç„L ;`P.¢†ŒA›ô¾ÔT/#Œ,´î3}ÀsÕ˜¥3!C+k§Hv£:³Œ'[QHÎ ©ÞhnõÀ«<,½½ýÒ²ªœë— ~„w£”´ïÿü˜.ÕŠX}†–'cûðgÛ¶Øq¦ü|NÊ£ÙÁë=+€é?¥Zµâ) ¨hmF<¸]åYM—ø>%|÷Ï22 ;¯\™F4¿œ¤Xn†ò@-w( ÏZºS³k«æf |ßg9ÄŽk ˆEöš¦óÈæÉR’Žfæ]’Ò^…áV§‘Ó§ô’ÏïŒU£ºx}ã®SçL£¤@Q`>œ´èrO¨×õÑÌ› ŠÀl’q«{w^ŽChIâ©q |Òì ¿|«¨þGöóȦof¦¼,î¢ÐsI»¥fyÆùK–¸{lÝfãçq°üèßÓÎXØlzö§É·²` þcK¤žP€or:nºˆ‹ÒLHÓau°¤N·Ïü4»|ø:Wˉ’âx®{‘¸»II¤ºEe´5Ä à¹}&“ÆÕ­XåC7©oÙl[å÷_­'ç)óY¬­Ç†®»™NKZ>x’uÇAÑÛRîI™ CQ†íÔzt¸ ïsJ\èóÀwÀŒ·fäú‹\Tc( [ëC±BL‹‡êÆuêúµî÷ñuB©(âSýÒ™j©´+~ªA*“<Õûû>È·âTݘ—¶J´yžýPäIy£Òš¾¸K\æd%çã§©•ÃvÝkXÕDÔi»I<£ ƒoiùÕK#Ã…BÀ5;.¡›ú8^9Îá#Vk°?«0AeÖï “»®Ê„‡ç@‘¬Pìì¤)8ðUaËÌVrÑcÝ;MƒuLIõQ¿$F‘‡i9Ö¹2­}8ùÕr[ëóQüõ¨3•£w“¯Œèï0ˆ^ʇ|ÞURX9â÷ñÑŽ&mn~È^äqKWÍ€¯@0Ëuk €âÓ, YðÜ3&¾ù«’¸¦ó¯Ù ˜9Å4æ ´Þ{Ï[i!<‚uŠJdX ö¼U©kQo¯©õŸ˜ê’Ž˜‘…^ãC2N $vÓÖûÅþˆ_¤[¥00Ñ"‡ÂÕÓ >°Y„µ8¦išµõEˆ®Ÿ¾Ð…+þî€ fÎÚm<S¹\½5¾ ûƒë'¹ëYâ¾Ïð†Å„Q`wª’Àbêl‘«˜|=n:\NÏ´.\¯ÝSJµ¨Ñû ™Ö$Ó¹À>e³5\ó³T“4ÀŠ›?(u˜/ 5Ó8cNAÖבï‹< Ò÷ѱì 8ʤA¦¼ŸýèŽ[½Hf] Ui% ’Äì³núµ1Bí©)a‘DŸ6±{/ist¶‰™@Aît¤Žô´ q+†øJ òc©)Kó_a0à("‘7ÊG|Ó®;Dë®IÅD0›¨;ueœ=ß'Õ&êÒ ã‚|¼Îëò`ë*1ëÍ×¾6÷×ÄÏä-¿gJ·žoª;›CSIÅ틘l^Ÿ+ªÉt®¯©<îàä&·€ 8Yµ¥M:¿òS•NcÛˆ¸y2¤{ŒQ.Ît÷¥{l´Ó”ìg<‘îÜùn8¾_Û¢y 4_~K×Ј¨Y”»fçÈÇŠYòÄ léñ…’váëW³—Ÿ±qfO:–?æñE{ *.ÅD!m·_Õ1ÁŽÚ¬YÂ^fë Ç›]9h{Þ¯ÿ°*¾åÊ\I—!ål5ò¼"pW¥þ?bó¥›t«¢%>渪V,†Ö.b÷GLŒþ……œ5[Œd‘ÿ¿üå~í=ÜjÖ±«h Ü]¾E矰ҸNæ„BØEš/È Ò)a¤RŽ6@›"ß×µÿÇÇ=hLŠ´Iß苾¶ìÌNv»XhB;|à·æ6'R¦Xâ2•ùù³ºAE«ÓZå«Èó'Zã$t#]3)kî> _3äÉ…Õ‡Üq“r¾ÍLE_nÚx‚j0z ß juíkVNÊùàÉÛ£ÎQ%øk‘“ø!1ÑͪÍzõg'#ãN~ß9§ 믟5ÂPôo!ç­*õ^9 Ö‡ý%´;žN²¡rþÌ.| ²ÑUß®ð£ÍsU×b}bÀ¶Ú@£]^¸mÔy`°ä)’IQ¾Ë¨¦#%àÙëiÐìA#dn«Uý“ý^™Ÿ›0@À€ŽÕë‰Ã­®^ýS“n}qJb n'•W5`§È Ãög¸úܹØÑ]fû•gpPEt/ J}j2_?L Ï+gðQ&õŒýbæS¨Z¢ìáh784™Åa©„¥ç°Ö¦É›Kîé=¨}8âO{dkb29^ï6ÞÈm¸i$9ïH`å_ûÆÄqMxP½j(é{b{YòZŠ Ti™P8çCûªH­™à€ ´çLn1\¦ŠB>.œUÖçÖ.¾àX{C^ÛyweÝlUWÕE Š¿ŠxéØ.}Tˆê‰0Þz:µ·”X÷ vK3"ä­›½ _êÂ䜙ß3³Æ’(ßÇ9PËÅež¬2aW@è”r…qÁxõ.ÀˆVN á¦óWd[Å‚©Z¶õ7õ“‚¯fŸõyuÙ\þkêÃÝ6?Å7Lþ5æa` Ð×s¥2"™¸tCÙ÷¥m-Šú:yàßuŒC@î2'À¿@;‰`0–ÿuª¿ÑNÛDh¯’5µ´¦ä£) Ê./XR|±¿÷rK-Ó‘7 wœ¥1NWÜaÈ?S'kÄ„7 ÷#°¬‹Ìú ®mÆë#L‡“–8 î_dÇ7ÛdÓH ÝÏ0pÃqD² Gõ_ûïWË$#ïc’§g(°8 _íTÈUšL£4Ð9˜m§:ü“šXQ[6`¦>¥žÎ*…ùàõõ*PUæ@ oñ¨†qFYoÔ®ù“ˆË$5ƒ}á<ÌhKjå›jLtKäÉÔ¯…z!5õnµü%Å/¨·¿¢KkÈ´(\‰ƒah©.¯Qè±s6è|"Æœ¥þ:\{\¡m¡…ÿ§zq–=Xu¦¶ $qK,L¦Ý°ßi>»â®ôúã€xÚ/Þí˜ã]´Ý¡û~·COäÛí?Ð"~T&ÇÅ´…`î´äÊ= _¥*ÓÎl=ëÏñU†»ÆÓ¬³ß‰Q8à -¬~.NÄ 0De­K EZ—kõ”k%¬å¾WÞ­ÀhwJ6O¯åëÞø†’ ØO<Âñ‚M]´¨Õ·x æ­Å `ä6\õ[À&,ÆL‡Ñ2Ú„ãåoe›£çÂLþ1E‚væsºkÀ ¹¬}#[腩剠›È¦ï íÿ³ ÖYÂŒ 8‚+®­]LW¨Ð¨¶†¨®ÿ]«oø0MðÔô£¾CUÿŸ0•Y4«¤~OgMè+SýÛv3Ü“ r̈¡¢XËÄ×Y¾Uè·6È%­dXØÌË·P̵ #¹ä’dpjü)Ú‰ÕÇœó¹’Õ˰á²å7{6»BªáŠâéBb _‚k<>×ç.—RCÂýév†“>7öHìLT…Î3ŒµôEƒïe0ž¨IZR„!™Z‹odÕLÛg$OŽŠ2×tƒ@"ïfuM¨ÚZè/ÅÝŒšáP9t»OÁv ñOAš Škø.Ñ‚|M&ra®ð ‘þÎÌ 5î«ìõiãår%.ì$ÿ|è5"y.|¹ˆ)îÒVäøŠ<l´Ä‘hé'É»ä Ç ×­ÅéðPó|¥®|…S"VÒzÌ+÷5ç­õ]ƒêœÎ¶Òæ¥_á‡VB¢“ôŒ± jY»×ª=”p¸{ëû@]ÐhîÒõÅ5uoÊ?/|¥e=Ξhêgު晖x زÙ| †Ðëê⌔ˆ{yŽÀ0O±³sŸP Ø˜M¦ÃôŽL‚ÿX±ý¹Î6v’ëŽÕßäq,,¬à÷])`EÆ›P¦ªó^XÚÁÁ‰V0Ðãö9޶²”Wÿºá<ƒþnäán×)Àõæ*šš\ý3ðcü±´Á1k†{Õ;òÝ,êa(-O¼p»nÝÌÕÛ=?ÈÏGßvœp/:¡{¦) ðìÛC¹¾|“=ã‰>æ÷ÐÎï°Ñ\0¥½OT„]ƒDÿ†ñ1áéâš–W<3VK«•ø¯ã3j[]Å%y•3)¦6PCR"-£Ö"ýn…LX„à9lÏÁÔŸñ7aø€¬6ùßB‘ ƽbÔOŒ õ РpöŒ$¹QCò Ts‚¡ÞZ¼hOOøeŸÐ=[ÖHSÀÙÜ/£chÐCI÷ϯøqû<€0[ðç…'súµÁÇ#h• ¯H‰ÏÁïu„žu ñ6«±g6Á7À%ò@ÝàÅŒŠiÅš”Xê`„)Á•ÕQAPS°¦Ót’}Üü×µªSŠð˜FÅñ_í¦äGÒL¼ÚúÓïS dwK¶½Ö¡Ì×£Á#V.m$VÇ¡£qÓ î/1p™ŠýÌ‹`º19Us„|bC„Ñ<{,« Åg–žLŸT„{Ñ­ô¹t_ƒA»$è9ñ;j`”UËÛäÍEMIÙêv?¡sHÆGTJFö  èp,NAÊ›Yü Ûñ^¢ícVr `ºdãËÆ’(Æ k5Só*0÷XX²âëÆâlK¯ø—…„ÍuF 2œ´ «¢çâ;¬Ii(\þ2ØE™Š'‘©Ènþ‚Ý7ü1uÑB\@RŸNù˜>Šº3! ^»%IÀ…Oh¾=ûâu ¤i‘yàt±ïZåV«Þ/Y뎃¹õô4E‘Dñ~[i¡š¥VbƒYE²å†Zš ëÍ)(¹°`ÞXb†%¦‚3‚1§4WÆ Ž_ Nh”‚³FïöÑ_ ›¶‰Í’-gÌV55Ù4u«ß´ãðÊc°Àu1uíÑnª䨎aÒç‰ ”‰Bý8…D}…¨2\Âå[©"(ä6¾ö–¶ö6_Ç™be\Yž+aÚÖ3Q‹E¢VÜeÍI×HÞ™Xî¦|okÊdÌÓªðÒ‘À4t›^›åjÆŸÓ7v_O¸¨ÈÆÜíÊj2â+#—੨­Zw| ×(÷Ê.r îgUÑÑGf( ¦¨"Q¬h¢ýXF#¸Åk ý«Ø¸ÜK%ëøNæ;®šŸ šÿ­Òv Í…Ògȳ†¦}Ð8qg‘-5M <î¡0ÕçÀ5Rc1 Kh=, ¦ÄÃõ’ÁCÚ‡keR~3Âw s„©iêñ[«ËDRÊÛ].WâÂp2äÓ“3+Ïz§òáYßKþcr61#,%k¢l¬—J¥s,¦`BÕc kxÅ&ðâØ^÷¶Sù¹½=Èã{ÿ÷e× ù\c1Y¼Re§+b ±T'Õ^ BÕp×>Žù9í€;Zgc´œ›n7| b&¨òn\n†X²ºÞE$°­5¿tg9Ê¢q;Bïzf²Iù‚j¬ÖÊ¡à4yñö‹K4ì; CÛŠ…¯ÃÞ+ñ ï¡lŠ8SôRM²VÔQ–#iè´ÂÑÎC¯Âp¦|¸ý8‹±þž*&G¨%®ªÒýFò>h£¼—_ ÅJe™‹x–hUЦ]§¿ìèðÅ♎Ͳ&«™çgvûŸZËè£Jù˜‡åÕäŽaë=>ã«øiƒÝxÃ,!tÞ:­C Å—F€®(Xÿ×tst5zë0vs äXÊ™g4öÅïÏg5ZðsÃK9V!ÖlSܧqšq§×p{‚¤c§’””W¢ãÇz™™pf|KòêR‚›6®ØÞ9üuéìÄoÓy|ÚIÍd’*½Ñ~@#t( ?ÛÑÑ}ÁR¯0„Ó°¨ÒjÙaÙàhVRêæ¾šjq€ ±­n¢\=S-éÎXô]硊ExŠʬ*¾¸­WÜ!°«þ²óÍ )2ÒÄ~Øß“õor×;DIR:‘ô[ÖŠuXí*=]EB8¨L‡¢ãû.páÎÔÙÜõrð%3å0…üqýAê3’JPs¥>³Â°ÏÛºH?ì­Ý/ÊMŸºå?–àÎÖöçèD\5T…0”_ˆX|ò[àüè8»ö·;gu˜8ôðÇ_áË^éݹ(î5PT)–Ǘ½gWô¨•)Yê2{e½º›Þóù66ÉaBqüZa†šúªCäNWïÞ$(+mÎðn‚™b;¬:ñ Ó.s´I)‡´su&X›uˆ‘ɈÝ.AUm#å6(ËܦV¶¿èí°N+–¨ÆuåG<óŸ mšˆA• Ò‹K[Ïú#]a×Úœ}bÐ>N‹ð©“±Cû)‰ù’Žòûª…F ”àËËw_¤«Fr#Æë~9q‹=¥){!—/^Ï{Ò9Àå% }¬H&À³—‹ZúRâÖðÔ¿~:÷¿‚e—¼Q’N²6xc¬gpÃû¡qØ{ôœ~íõŠsïže6¿Mõý®¸©<Üj!ò\‚”ÝN3•3;:´'MÝ¢Iâñ~\âCsÂWµÀÄ©T¥4-D‘Á¯d–B9”ý^ì=›4v|? ­‡­½¯ üXK¯NZEÕ¹ùŸ©0yWa]}¸¤»š˜Ë?ÚcškFÈô(+D ¬.Fé¬j¥n3½ YvðÔèP\@U‡ÕxómRä¼Nö1YÑÑ)U¾±)ʇÎý4„¿ÂÈÄ8*Óæ¨\Ìe—€AÆ"!&²²5`š:ˆ(K¼Q(•Aüzv“¡À%ÂïŠP,ù‚Ï[¥Â¨³©:þDz­ÒûÜ«Ð-vqKå5Þæa§Iò±â“[ïA*Óo9{ÞU0á^œ‘¢{›–ÎbÊÜò»yPˆOzÕaV¶¶D”7Žÿ&~Ÿ9t¿¯.eê„W-aø±µUo·…?ó¸B1ãïtà®{˜î“û¢1¸æéw(Y ¶’íF›¹ˆå(>­Fšó•?Asã4]Lw¶M~_ý ,2M¹µ÷f­¾WŒŒrˆeIöìsø”†"ÿ^ÐS"~WZ_ÂIô?Z[êÒêïa¾¯5×O9Žø7ð´¨OyòS …®×šï®ÁE.óèZl‡¸)ݘ^e'”¨¥lfzÏ|¯ I˜©€ùÙg;VG6»~uXLo‹YVÝâ2=NŽø›[7À2’+ä×m=Cc4g¹Z#ôbÄ›õ*­‡¡¨ã¯F–Í¥,es(×O½.‹}1 FÏÛ½³N_Àû]eÉPµpÓ~ȸg ¥A Uá›Ñÿ¸3t®ñꉃK˺;S¯3(}B}ƒ‘­ÇŸ©€f2ήks³ÚÛX”ÔûëXÑãàQdlèVžŒ¬KZ÷UèB+V·+‹ÎACÝA}£\ £kÇÈŸ(JŽ2Îñ=Ü“YåÈ-4˜‡÷ÛYò¦(‡Nà|ž ¢%æãRÃXñeÛ™²«òSÝüý£ ÈÃõq~v;Åð …¢<‡!‹5ÑLD9ƒ_¬î÷r°ÆXñ‰X{uÙN6XdR8Û8K1ê.E2ƒ€Ô§ÈIO]cVŤ„'SÓ,¯bËqÒÿF3V‚¡?i÷µ‹0¢öïˈ1u øµå Až¹…º±¾£€Ó©°öR³["`Ÿƒ2r¦|ït-䱺X—=I¹,Pö߈'EZmÑX›hE¬æyèM•\èd¦Á ÓPÀØGV!ç SObZ†@¹V Ìu¦"M˜-ˆzÚ©Í?-#;'09ë…f#®áÁ•U;p´€®'1´#µ-è´œ«¨^_Ã*rÄ,÷ï¾aÝuÝ"ȇÏå\VÃ¥÷Ky?üƉdºòÜ­iÕ¼ÒŠâÒ‚*¦Ä2“lëüœ}8ÀIÂ=h°ÙÃçìЫ.'”ñÀ¥¨Trä¾ÁD_|D^¹áþf-û%k¦Û¼&BÎÚ%~5•ЪÛK,õß³‚"°Ÿ=VŒòlS¯Èw…3^kçº+ú¢«‘sð¯¹þ·BÚ¬'„ÙBÊ uRåÍmé芒ŠzC2Iy×d߉uÂQÖG‘¥ÁeÍú$K_ e”© =5ù•²ožV@ø\ΤguXÈ:ÿãÓ/}ùڻͬT¸ûkólÁ+qkt¬8‹ëÚMÐ03XÖZb~8wý+ʹ‰5އQoòîtpâä ÑÉ#ÇHBîÆ“\)Ðl€Ä¢Ó§ÞK-w%—¢ï‡.ÿö<­ÿi¯ O›Br" ­ú{®ï>IXe»è]Í>Õ›5ϲЎóc-šCäO«IØ$ÒXH»OqŠ¢[N¶^ wc!g-Í$l_·üVj|ÑaªSn¯c\òÄ d“qÈ=þy¥ºN€·…:%Ë·ãß¡YÀ+‡ _ˆ7Ë«T.+ä-Å/Ôåߦ{i5-Ɉ´LL“4¦ê ãcõ2©F‡ÙÕ$ðNCøòN×<¥Mêç<꥞H:Á%}á7O$F(Ìöûàv76°ñMŒ«Òã,a{º= >¨ïÐÎÒ%€‰hºÓDQDz;Hwb%^íöÐÅ´ã!8yòYU_Ùo ‚–ùsÙ|wt…ß$’9ñmõ M8Miˆ(0[_ ‡­Ó>*é³’‰3ì<Ãɇagi)ÍÔEm?ñz‡ûLlÈÊH–¸“á^¹VÈ\‡ó^ë&‡µØØñjªSÁ¿&1&ÌcÃæð¬-¬oÌàQ¶aæè›:þ*ËMÿÖÂÝ‚×_³ ^Þ”à÷·zŽ0I½ug]þ8æ¼NÅùDÖ1BLµ‰1Pì’ÎÛ½©G‡¾ç_+à/o½ V¸úT’µ_ôvb ®é9J‚ðX"êøú9™roöZ¬g€›gß·1÷ò(ª2Ã(nÙì‹·Û1µk"o·ß“z·ÞîïÈÈQqž`æ0˜°ž›p¸høç‹7¿5]t‚ó½ß&›Õ§Íd¥²Öu^ºÊÄ{û‡¡5™‡5[šò¬¬=Å„f¯oÒ í k&âOY ·ö“véƒh0×•Šƒ®¡‹”Ší»^5Ë9r§Œ^ÏÒ8òX´"áÝM1>lúˆ,9,×û— ÄK×þÿf¾Œ¨1´_Õëc8CIŠé~Ðí÷,‹ëœCsʽ7)a 9Ï«ŸZå+­£ÌÞž!íER}@[ÿvBoŸvj— ˆEä}lY ”OŸl=5Æ«‡Qìcp)ÔÈ dZ@og'-º'¦¢âÇ€êï€qUð–Iƒºó¬Q‹N9ÊOs ¶wãC]Á«Ê€ˆ ÞgiJDaÙö}E}ãt:ˆÙ~…*úP€ÞOÙ†Ôa~.¢VKËV/ûÚÿ=½\®¾|—ÂJ‘aLõb[íº]È—ÒŽÚIö‚ùž~ð¦ø”§ú~ØH'ÒýÇyO†§qG'D°Ò@ˆ%"í”ýOò›¤°h€ßüÄ}êN’ìÀÁZôM!ðÁEtPC­X¯Ë—šõ€­'¢2ø¶ælazf³Në‹ÓˆØÓý |å–ÓzZhØÃJX}Úc41§7 1ìîSDœÊîE€¡#4bÁ¡="Àìžß²yÛûÛÛ(sÓ³¥cŠjŸÓçÿfÉÀùä Æ;ןqš¿Qxj˜åJ«Óx©êmX?dó!’v|!˜Éÿs½ÙÈ›ÿìA,éTz¼eSÚN{ä˜É0OJ8#ƒ¯iÙGƒÑ™Þ¤Ú±*…ããFáXè뎿š‰oXøS Çáãçµ\PÌgS+_Óƒ0aÑÔÓ¬œY} s†Ï¿ú€M}„±Ä-Ò—¸O„W$¸‘$>í–+Ó´ø„X¢a©íQP~ßÞq®µ³:²î¡C•vÜ«T꡽k~6¡É„/‹EÕáÄI¯u ŒD8êu6ÖVcGÝðc­ eû¨i¦¥3çÞ…»-éÊØ7T¼Ô q¶[±]pdý ÛhøI½w¶dŠýÆ‚b€H† (?1€½U¶5S¡E(O¨N|Wµ¥ÉåfuÖœR¤%ÃKå¾Å}cˆ°,¡¯7e-ÀûKC½‡7;4]º†á“ãNßOèŒp¬Õ±5?_àâŽu‰ÉèG¢´&Ò/–€u+õ»a~^îûgŽ£WôS7,tsOÞåa -p¹pöéü‘/uñç©°à_eÛñSÑÑ0÷õÐ ô¹í­–V#i°b›}UÓ©ªN2Á_øjY0 #¡áSUü&m"ÆÕïIŸÔx,º·kt3B(|S1~•n\‰Ov ü‹áïg#NÜ6í ™°¿bðà¬Üç4Žî½ÛwŸ¢‡«aKµŸ¢½ú·¯‡u’7´ #­ÄzŸèªù…ô-CžP;üy³a—Pîì¹&€!=«`Çó}lý ÁnaÊ'ã÷b«¨ßÉb“\ú+“Tà£äžéû(íÖ%Kue($%T ÌCû|Mrl‰æ%)äd¨¹ðƒ2ioà; f¿ì_`ÕÖ  —º¹“Ç(Ùå¾±(B¼­ÒT¦Ý¼øªa<x—oX7ˆé öH2Ì3Ñ-µ>¶˜Yr¯º» ³˜Ã­û³ùÀ,*®hk+°. w, úúÕœ¨žK6ÎAf§¦'ZõÆji*„K‚wdpN¿–Ä spVã8iXs„ö”nºÔ·—7·ÑS™w%~¹Z*¦,^;¹nô+è´ö| O—ÄåuþÍK_·ÔµoìÿJÐݼY;"f,N:=–¬N5Fþ¿Ñcê—œA3G§¡žxRg§XfÁtsn@ç(aÐÀm%Ë´œ”H§ëÄ™¹áµüO(ñ1Ô«Õ>‡H65l@`ì,Ë -än ÈübçAoø-S ¡þ’éb…:(\¿žÝO¸xêg„î-ÞñŸÉH¨CŽ“JìÓ88ÃøB/öÌÕR²îðG@`™‡^=`ƒb옷<ÿÌK’j4LN÷ùæ§à2èk+õíºªé9sú‡Ã6ÝjÈõ* 7Ã_3×+ ’#¦Šó£ÇÜ—eƒ>ãÓî÷­üËLvKv¡³2sp»ûøtF˜à^ómþ95’Tg;»X £^rƒ¼-ž£é¡ çô”Nú]RƒÝ‚×Û‚Ü7‹Ãßs ¢Ï3ŒÏÜ}%spbÛJøÔ'ñ±íý5™Båê±aƒÓ­i>Ó.Ðõi_ý©6w/“‰I-¨‚éNOα¶“»‘‡<þ̶Åâ(§DØøýQø^ÔÒêLïߎ!„Þ™…Ü`GPosâáu sf•ÓÀ´&ʬð*†.µ äh¦ù€[¨Q³çµ@WW]Ea…[®D…Tn´‹Úñ5ÎôvëðJ‘˜…„jZ‡{Çm¯ƒ•0ø3 ô1«!Êù€„&!ýæ—r8E¢¼sÄ«† ’>H2e—cùwP(ߦz†W|wHp,%Áx¼‡LD‚Õ4<#Ù°Íx%h³g¾¥…bzü¬…7oª/’¯y’Cg-{«阌QîÕ䪼Ò0o6~j¬)uˆÇ|_‹ÕI2|cžnÒ]5€Â-‚?«ÇÇО´¦Á ˆ ŠØXå2ÓÆÿŠ?‡|‹ch —.$ì¬?k³Ø7·ñôÚRì¿Äè]1È\Ì\5ÜÓÿ ­¥ 0÷H±ò2N˜jÓÍaå`)ô]Næ<Ð Fê1\*O뀇Áo+൤w‹| üáÿ Ƽjˆ|°EPŠ.ÃõÙ¸òöˆâèÀúvôù5«×„ßÞÚdeòþ;sï$€Tsüñ×± 8)D­¥Ëµ»®å</¢å¼€ùHÇ.erB­9ºeD†ö×(2_Œ Wu½IÝ™è³Aùèz(0éþ§á;w¸>›D,¢ÈÞ¹ÿcÖÉ|Bôã„ÞL>üWR“Y®2c“vŠá¾»4·Gö®ù¹\0Ö¯[Ùtˆ+¨ÆØff4ÞÍñÙ¯Éõv¿_Þ5»h,lHDóëù˜¡ƒºP¢ßê@/qåÅÓne™.ðŠWMÓûTS÷àÓꉟnïÀ ‡iÊáÎÍO`jËÜØäsHaZˆÙŸ4lE@€$ã@#ã~øÏò*~O™Ö'N?pžNC8wt‰Hmêò9kÅ>Àpó ˆT¨2åÂÜhš˜î±:2ÌÉB¹±3cOYYgJ&Ç Ñ»ÎVz, Oj´±žð…b7c ö¾19ß4£ì3*ËÚBþ™Áïl$vuŸ%Q ñU©?ü½ïZqHßÇÓI¨Ä2¨b±Á… ýòÇ¥Y¶Ón"Àe 9 –±SÀ4)£Íì ÑOq×l‡Œa&€Ê'ç·bç²zñíëjƒåpÓÙ¤n•@‹øÂ ¡Ú@oæ2fÏEGš´ŠŸ&áé Í£¦YGú94Ÿ¯’ Æ ó(´’¡do³óJ¯‰¾;8£D•5DzÎ,²ëÊI1|âïN‰ÜEžGÝ&BÜŠ¿ýÑoaªÚÝ€XÁe¢‘O$?ÔcƼÙó`˺œÕ ~¤/½ãVãG=ïuˆÒ!9Úšm ­†#»íÔm ¼y-[/êÓþ¥ï/’&˜ò=Øþ ›œùáM^|ÝS ¿£ªë}Š|3‰‰ -UVÏÓËå¶µÚ¡ö¶ªD"½WµG‹W±NU)2áÛ25À ȸoUi|6ò F8´Þ…—¯Ç©pçûòz(ê]GtŠkWÂA@vmû³·tüØ®ðÖ¢ííæS‹¡c®¨gT“÷JfÜsëA0›KUñXƒÎKÍáAÒag©LLÃø{£§m5ßjfÌõ—a‘47À Yýr· ³€•uãBE Ž“Yæ”þ 9o&.ÐâÛ®™{Kx"‘óšó©¹¬ƒ°âR½ûãrŸÀ¨:p–ü»hðt×+Ó{’qÙä_…}©ª|;²ƒ–œu±L¿V벨†wÎÑc®uëkÌïˆÖ~6²¼ëÓü°ºöèà6qí¬ð’4@,’Þ|êêÒ‰ÚŠù2 –nî<ÄpsÉ8Ë^y-$;"o¡œHÜßÄUhkp#—=¤2‚hòQNÊ ¡5[ « ò@©ìK_›z)ç…”Ý~ä 8Ñ·›{Ûh¬&ï—˜Þf²Ôoµ“v:±÷¦¥œþôú“‘è¦|6}â,!MÍÕµ˜1•mbmýä¿.´¹Où;uªi 8·ÃmDÕwé4ó¤y·èZqÈ) y~ïß÷{¥ćXW -ìsidêœï4~­U2z%%íªñ Cy¤ðV•ó¾±2 NRIŨ…? §q;ÈVA³žHõÎè£b'e?kgü fm›õ*"ªòºï²lþößB×.8ôŒ Ó‹Ò?¨Z!t¬JÚÀ ;ð/  @ã“%¨ü{ 5±[±lš¬?.ž~6øêÕ¥þàsEÌÌ´"/‹[s=+lRéŠî"݃Áú@˜o¤È˳¢`£qÜS›M¦º¿«Ê»ÄŸ.0YʧbT…Òæä¾ù½9á—}m½„,I×ɧÒ~¶ãlô¶yÛ︾ ëJüáß ö•~Æ}üzˆ¡"ìÌøŸ,²}î\Vð'«ô“ ®#·þ¨…¾;@èÕ˜–ü9n’•9Õ9رå"}ýÆOÃâ«,ïÊFNÒVûjŒäÎáº5H¶u 5z²ž˜§ÏJ¹ è7ˆ‘ŽýcÙÊ.æ=ÀÇ·]–ÞÍ<ªFª«qãû“_iNIJá`¹ì2ñËç°1Ä^ ð ¥:ä¢L¼»lX G%…–Í¥÷±V$ßÅigl˜Úp_åãþ‘Ò× IÓ>g"]Q çä$Ê^ÇM"Z0¥Æ´ < ºö(¹MØbØP¸I0MÉöjb˜Ìˆvɶ(õƒ­“T/l_É«­2vô‡Ô‹÷¶0dµ•‰=\؉ð¸60ÖØA=‰c¾?‘ ]^n¢Mkw[F—â–¼I†fs±­&w~¹Õ‚)SÇŸ=‡ì±üTpDì,‡-Ö㨼â„5Âʎɛ䉵4ƒ >$1Õr¿|Z¸‰ê²FÃþTP³½MáNüg˯ã`|ûÀÿ^¯¹¢oS o˜6r²ñµ|r¯˜D›ûþOKhÃ$°KJ.üY÷…o}ƒûžKø,¸U¿šžNê‘§ƒ#¸™0¾ ^6P8Šò¥'×B)BÊ>{—§!¥Œj›sñ‹Kf;·)±Ô‡×ù´;¨S¿8y2 ‘hL®Ýÿ7EäJ¬sÏbaáÓ·³úŒÆU10äœbшªk`#:Ì(©Ú2@#•ï¤e«ÚËÍ1 ‡C¥ß1Ez.—xã×>KZg‹bé¾½‡–ŒYÆë:Xgר·‹ÔßDÞv« 8c|YOÄuè¡VGÔÇÆ‰>¾aÀœêÛÝçGDèêƒÎ."ã Ý@3‡nºk¾B[,;ް fçïì%ÏPü4Y²¸Ÿôˆ¬î˜8Q–¢ÎÏxl¬„!%C‘=¸ÌÒþÜÎÿwT4bÑÊΘ7º¼ÿÿ·0Q×4nœGjAg´"ótËkäb[”^݈ͳ@¤ÝÒ§ Ì¥‘úËÄ xˆ!Ÿˆ»ŒÆ=muÚù…;ËBÿå&ݘâé1+!Õ°&ϳÞéÛARIÚÂß:ê~käö9VÎøDYó„ó0k„ÆVÌîV{“iìŸgQýL IPu¬ñŠÐºõ<õ Ê.U2ðþ\<¿aØ‚¹ØÒÜc¶Å“°dP­ ë$ˆ,ñIò/H hì¾[ÍÏ9[ϻғ¸ÿÀú øl±*M­²Î½2!ÞØs÷9ÜäDöS,ó)¶þþßÕÊB¥ÚLJ&Tt.BSÆJ¼÷ŽÖQB!˜Ù’$yˆeSlòôx&.{Ûì•¡³n=p¿Ù¬†¢ª™‚¹Þúe¼9:±“\DÚÌ¿ŠXbý HÄn>½å†xAۈнÝô6¬Û-¡±©²91JÓ7Ûš5è²èƒ@í¼©PQWÿz®$LÔöÅ?Àñ ~..È ÒŽ 95e£òO‰v/¸öŸÓ鑘´¯æÈDjì_0d,²¤€qõ Tõq€·Lû8$àY@ç; æk(jvÜÄþÅÓÐ2¶*‰ÿxä è(?µ‚ñöecló„¯4FS5XŒˆÛ ÑS½Œ>ÌîǘšÄ„³§G•30ŠúͱšDݽ9âgür`Ùr˺*^zw7AÀ,å`àþ¶þOº>7­Y<Å­7èR9Oò±§9_ÿ™°m¤GˆtÖmý°t%b˜)ÅI!yâ|«ÃéW*ÚkBNcãÑžÊ[ÎÒZsâôø¸Äçp ´ñ!l¢DN „øåhd˜*9_Âý—@ÓÝÊÙñµÕ¦š¦k„j› °â¨e¦vÁø†¿Û)iÁUσ~抻B6ÆÓ.›Ô˜¥½÷Ú&ûQ‰ÃÐྋ1t$ ?J±ñº úóôæWï7ïcÜ®›ÆÚ+àÈÀWÊŠð½KaÆ&,æO²ÓLбZ›´”QZÊH=^¶Á^Êô £Z ø„Á‚*xGÇ’›LÞÎãš²Õ ¥‚&Ÿ¸ ÿ% /%#ñŽ{)µ|2žgPQJL–¦Ï½…êÌ-=G6aöG¿Q(ZJ;FјøÁÒ°ÑP<žÚËBÝß&˼*;iÖÛ°P2ý9å “nD"dœ¸Ý3F¯’_x“2.“Œ&h5“T¬õsAË ÐÆa¤Qõ\Ù5#½”_Ô¯‹RÄW'½*/ñšõü¤%yýpÿ¨ÀΛ.Å&Œ±"‹t~Lõ•OŸ=¼ƒRòxmÈ¡MkßdToŽñ¡WšÇ,oŒ#çy-éä¿r£­x”£Ø7#ðœœÓ?¯»äò—ßÏï×õ4—ÙŠ@£Y”J>–‘Ä÷‚‚*Ò1 "P[K:Ë­ þüH/„Ë~‹·»7µ: T£™ŸGÞŸ½ Ó/m,'ºƒö·þkz“à' R)d.våDŒH^ÊM0–åЋ^nÛýÝYœ žøh‰˜”%Wr¯7Ÿ^jÚƒ¶Æ,Xîç(ÆÝˆ¸æ˜Ch<‰¥MÌ‘ÄüšÏX0•4µ7¨H¡±t`@+¶3‹‡ª9°ËC|™ïBœ!½Ô,†“EÛ±ê:WàϘڌVÌŠ³ß¦ÖŒz7°S—æÚº©£U ׫ì˜î–ƒ¾¥’û@›}‚§ß9Fnï)Ì¢½!N3à¡VÕÂôª!8Ÿ± ¶1¼Çî}Æ>ªÆXTŶCÖ4dÒûà‘&ó]p ä|þò“«çá4Ò@Ù„/3T^’Z¢}¼/ÏÃMRbÐC —WÓú—åhÔùËâ…~Xzè€Å¼øF±uBSs2‡$FÒO`O^x';ž²O!ägéj膕ž˜4í”QøPŒ„ hl©N©xN ]»«Äç—wuÏ’~1*fé–æìYúxî¦01f»¥uŽý,;:<½ÿŒ ™ºêÀ‰|É<@¼KL‰˜M×/¼Ôã“W•VÕ³Ø?±¿>ÇäÉ E8Åû©@Wl/l{V—'e õcâÿðñÙ‚9*ÖúR¿Ôš1­Ÿ^0»`':×gÏÑw¦µbS³É¦#¶Ýg}Í›;wì?¬‘7tMðÆTí±?<¹ðò·Œ~4„šœâ±Ë ÄÄÅÀØ3‰ïON(øÔ+ ̦®Væ.A+îm%ØŒ¡{ÔܯÍÉAL{Õîb’Ó,·TB~Šq;yï{5žå­ä†‘|ÌÙY2Ý-ÔFŸ^ÍQJði<¢‘—Äá×[tYÙù°Â(ùüUœ‘bwŠ N"“Dö"<ÑÝýªMš Æ Ã»ÀIGM¶í mÊÅ+Ý×»®+(HÉz®0Œ/–ôF >ÒÐý{jAâ/H¤¨j à³v õ-éÝLñƒ°ýx¼¯Á:¿Š‹Mú}¿”³oâ,æfÃ}»ßÚ[ͳ²ÞüXc…ú¶ý:ŠràZsšÉߨâ3ÏïE¹ê+_€‹9ø$>7Èï}ùÂCð¼ê1/øcõ‡Ç,Ù5Lî9læw™v·ÞÛo5õö.e†$©͇gõe×UX‘yu£D‰"íËØ’gP(e2íìo©}Ô¡+?Å“z950^A³ÿC2¯h×ÍÙˆPÇu`S_‘7I~ò?c´‹²±ñ>µ¯\2Ñ›¿hâ7¯vL@gàYÎvûHÛ˜K6Ö¾ù…;²ýJÁtÝhXgJñrÀ?€ø¢–‚ìÄUÄ´£¸Nðú°òW%¨Áb»…0ãHV=VÄ«?ÃWžá ¡íȬ€sI‘(á©­›ó‘ç.Þ$#õ€¾8BªtvË·”¦ ®Yy 1É ?æãÛipºÈ0oÓÉÏ-1¥?xG¸4=ÕÛ ^»c‹ÀÓ]öiôOÿ¸G9øÁDññ 8ÔÍ¢ñ]°µ Fâzÿ†ý²x¿ˆqô4W»ÄÞ›Ð÷_¯}÷|§)ºþä]*ò-²Ì%Ԍy¿«i~þ(ÖO£¬LihÇ ’v—œIk Ñ,D·ÙÏíoag^ª®ƒJ¨kÖLA¯Ú¼(_º]eÉÊOGK³¼œ¶›c}„ǽ}¯mtV&5¸ƒ(i¹÷ý<Í`8žrVNý]M9B"ºQƨÑ=”1ŸëÊ‚d5Ó©Ø!”S~1\kK'0ð®I;ÜB´•y}ñT°W}ë`³­dX€˶fß9u SÍ’¨âï<¥@‘BlÈÕ mLÄ>¨ì è:HsäJGÀÅtm–˜×é‡Gß…‘e@M«–lÇîw‡(m¡Ì3ŸúþJ¸³¿ëR®Ív‰oÄÀ×JÇxÏý—%½jŽÒò\XîOÒõi¶ƒ4ã}ÊXR€ƒˆDO â#ysä÷â“/&{*Í “;žMîðÐô¸è=cÛuhñƒ@Zàù¯Ü;0ÛÃg°kv ÁäŽá)·Å¬BÍŽuáM`®(ÌžÒ ÖlÁéﲕª×£¦²™¼<Ò‘è)Lh2ø/·t×Ã<Úl´Pš¡¤8ØÚÙ‘F±¾*8çdÖ2)/5^-ïëª|Q3ó¨Û/BsuœõIå§l¬.ºOO^9莘aáLD2„1%I]Ë«’uø¢ RMEÎx ÀŒ+/ß+s3…¿ÙØÑBü«®LFGNÁ°ïP0÷R‡Õ“‡1õ'&×j°©›™øš‚×t-Œ!.e£J(ÀÓ\®jÙ8bùbMØ«í®ÖO?c-ãµlƒD§ŒDv?i¾ëC3ZçLG ÇÌFä¿>ÞýqÁ[ ³¶Â-ÎôÑR) KþŸ¨—Ž‹0·?-A!·öq!íÌ‘±íäæÛ1S0)ù× Œ&ƘaOîËÖkª47sຕ©ƒZ¥f  /7³·ó¿{ãP«¡Ï>vûImW>S²ö}Ö?u ‹t¢‡“`¢ÊîÒ|cû$q+å¹lbzÈ»Lϧ³*·`óõI%‰pÑ­¥¶Š¨ ³)ìëœL~,Îë'3m7#YþB %'/D~µjGì…åë9Œ‰³ÀB7eãͺ¸šé4<&´ùØ â;?†Á ,ïXÛíÒwoÝõ¡bk´U† ‹u¦t)ä3br _k0„*Gúé‘í€áðpÿ^'sþ‰¤¾Ÿ‹’IÔEJÔyåu¹I$È› …$€ÛÓjG¨¥ž?•Òó†­‹Xa}ºR é!šÀF>bÕ!F8à…B{q¬ºÓ­u³½ƒ Ö.|:ZV9aÙç €†œÕòœV(G ž€÷Û''qþJ èg¢¿ÎŽ%«5ó¹Ñg±1vŠæcë¡îÙä¤wp)AÀ”‚ ó¸OR …w€£YÄ¢Zàÿf* "—¾AqÄøCQ’Â/ à< .ì¡&h g 7Ë8™q¨´…5Kä+ƒú¢-&¸zm˜ï U\1µ–&Æ,Ñ”i²Ï1‡®vo«Õf¬Uò. B±ÔÂì;´ç†s£ÒRy ƒ®Uˆõj/–µd½ÿk×Ëÿƒñ«ÁPz jr¢¥¤ë2"iW{äšvUŽº¶?Õ9Že*«œÊnwÆ>dߪ¹Ü¯Ü„²ÐvõÏŽ³møý\¤Pàëg¸MاRw=ñ*N^"åÎʲmi0DRè‘lAâKj¨ _äc)¡ƒ˜Ûù…]îYî»Ø’ƒ.—p—<¯ÞðÜÙ1{Î]_Ĩ¸ŒÕïy4âèþ‹}tã‹ËðH]ÍÆÚ&`é…XÂZ'›%-ç½be|Á*`Q3‚`Ž„¸‰6>ËÊ¢g׌oÔlº»4=WÁœ;!'ct/-<+¼RQ5@Yöõ«­ê}LòàžÐB`«Áç"âfM‰ –,aÉHº(! ¾˜9cèiÒ ŽÖbGMÈ ¤ìxONýŒ›Ì‡{$#9U-ìö6p>šö玟LlÔ3þE‘n:Ö¥& $f-ŠÄUùà›S¹CyŠÙH©+LØK‡”Òžrl©Þ&tZuöiæ´YM¢{牡·÷ñ’å“X±æ´K9ö*âÿ–D:³OÃ:ª€5Òzþµ¹ÕÐpÐZI€Õ‹þw³F€ÑŒ“4ƒu,¬p]…\`yçyöv à»ù3ñèS„eDtªiê+~ðØ=; – åî³Â·}c…¼¨p-R1þk3ðÙiÛ4 Øj\cì2ò&M:OH$¹%g‰&•á@Ð}ú£¤Çc›î‚ zÔÐýc@°`T§á„Ò;K°¹Ãž4bíqlq‹Ï@6,s‡"¡EªùV º{ ©íEô˜k÷Ìq›ý«•ÈX"-aÊÝ©:ù? PhSH_Mù«ªwó Çðbm©í]'æ¿0 À8H¾!Pòºô·z2rÚi! M4) ŒœÉ™ìº{ï YÛá¶ù°yê]ÁÑÛ³Iï€> å‰6Žóe‹ K4Ò5HY ûКõ”¨¼¾;\@e\,>Ípç £ó„*Ö„þ\T²T/O Û hՕ䶨 ´ßÖ*âãÏ<1r=«P6ž.š'·M`vêwíº~2PmycÒÇkZµ›jݯ Slð¤ß ̓PrŒÊ}åLÁÖ4n–,M²8Õ¥nqƒCÂc4Édv§êÁ+8»Ë5“Y.QZs¥áhZVZIkEjÛ—pŸ|VÊHIQQ‘Õ>0+o|¶¨6.™L3ì“\`×>à¤ùj9œšÛ‰}spÐØ0˜§%à\ÛèA¦o ì+S÷\^±‰Œüõ€I œÐ6Œ@€µýšÑuaÒ2ÓÛH‰Ç[‘ÿ­¾f¦òì0æÁ}ÚÁĈ±„m ùïL (º³ë Má7kÿþÀ®ö5;'S¬Q©Æˆ÷‚˜ oÛ±}N4ÃJZíásÒq%±2=h 9·“ÌÓè¤Üò†þpôrª1wloÐÁ³Û,—Åv=µM²!5PÒþ¾Ã&“‘ª¹`þ.7”â¶u Aýw{±MÑÑmÿ¥Ö†4‰•g#Œ—Å>¿éf™Ç{ µYq¼í‡…U—2¦¬Nî )ua±Cžœ4–™•¸wõ“—Ôd“ˆß¹šU˜wˆi0φ¯¶éø3Nese±œÎmÒî—…Jç_ÿÀ"¤Ú4ÅõʘҔ›£˜|+Û<Œf[‹Òuø‘ý'ƒaÛý÷ôc/õv‰ð﨔šN7ˆÃŸáﺃx7 ´ÐÚ6D©d*ýψ³åt3y|ôଆ/Z ôx&ýÖ‘ò1\§™ ”Ã9‹uÅ)vÌç ÏÙµøÝÈj„KÕåç'Å]ª¾°~~CÖÂó6ýÎã 1 q=²Ô¤s{žÿ|÷BA.n†ûéÄKõgÙ’ŸJÞ«M&¾NB)GÃTTómŽU\$w¯aqŽþlÓ¢ú0š_®€¥GÃP¸KßY¼¶qš6ƒßoq§;5ƒ°¸îµ‹´±°zPç/ ù€ëi1ÄÚÛµ°Éï¼D–Œæ{o”ûÔPÚ CF§fUØ]…E<àZåHWn×÷jÙnøq¬»xéÔZ‹=7…¸„þ‰4ˆ˜+'‹Ý)_-oz=Mµ‡|µOÐIAs‹²’û.*Gý¾œU$Gyß{K¾˜S@½ZgYOˆ…ñªÉ5ä*ñÙX¸¼r‘|{^(Ï0e¾$À{NP»£þüø*›¤¥«Â ]1@2“ãHLÔ\ÆÖÖ"ÑE§«$ǘ=7d. ÑB˧#Jhöøha¡ú»¾f¿öûûoº’ŒýÏ/A•Ö:´ˆÒn>ê³Q;x–khЮ†#:»¼ëÁCHåé)= å ³#Rü©@;za±˜Æ@U¤áÇ™ôðæ>ÃZÄ×îóF»ðü½Wx> |Õ”U6œcÓI`µGð÷&Õ!Èà@™ ˜ajÈI]1‚ÝÎ\©ŽÍ`“ Æ!̸9gÊâjM^@~Zêãs&‰<`•Â'½©wPŒK+a¢Q+ñŸÝ:2 aã(ü”£þ%$H-Ï÷ Ür"îý¶I‚u47”×ù2š gÇèÀx¿’£l0…ïÊ!•0Í‹Z/Ä>åÞÇÅtn ¹Û8€º¾«É0ñoîÈ»Aå®Ô­Ò÷±ÈPÈYŽfòimD¬[¤^0¾¯.àÚ#a{÷å¸r¦%P; 8‘+¯ºùOê ;z/?úŸ©îé_®¦aÛ¿¸=)8–…çÇD+{ ⎴úøŸù"¨*ÔN_OÐ_ƒYl4Ò.÷Å™4“òÇ…Ë+æá¸d¬ö¥4»ß'«oø‚Ì_ð¼¢ Àu¹…,ÎÆ'bSìJ+%rE:+ÿ3äÅ¢5/%ÅLm§sx‰âæ[ÃV¸™¥ã ï픸ýÞ1ã8+°í!,Ê(ö§¦oE 8&°Ë–‚o#ͳ];¹m‚òJĵ·ó~›àƒp±ºñ«zÖF_‡Òm5ÝÆ_‹ð-θ7Œ À‹_=Yñålµ%7 A,‰üý8hÖ÷ì8Ê®±öØõ¹‡§“²4&4ÍÆE™]á}iZ¨xìÝívGfZ]s†.e…?¤8”Çÿí±D°™l ¢ yÞNºð6^ÂrqÀD^. ar”[ „öÒÚQ—$“¥|D9øŽ¿ð¡‘üOÌ!΃Pú£/íMö–}Ža”m`¿+Ý^Êpq&"¹˜[R›hykÑøxœËÒ¸y³[k_Â\nØj¸ïžV™åÕ©W„!Gì{v2“A^H:Aÿ­õŽÈÑ#sÅCý+Ö}À”ÔñY»¶ºï€1X[lþ÷ZÔ±ÿeãUøo½.¹3\ûˆÒ*RL¿'Ié/#ÿÔHõƒ¤Crvwœ0°NŸøœ8’òºxI¼(ŸÅ5é°¡å4D‹˜µþŠ#@8 À$w+‚Žc)6£h­ú[$Xd™²Á\¤ h¤2à‡ëlÅ _«B=ýZœeH¦˜~ã.Œ\#¡™)ËuAR$R¥?ªOÝI~ûÀp¬º?y°ŠÐÒ$º|¨ãêT§(5Yo_nO%ÔÔ9|RÀ_r¹XMð NÏ'õy>Í;üô2R‰ÅÏ)Ó Å©/fžfþI8D1ŠöB äw,3²X[ý¾×Úy!;Ræ£Ó«k”Ë·qoC—Ãó7T,ðì­¨yÓ‡ÝY›œ(:›œúµËÅG£dšdõ* w]§µÖö؃Ó,ǤT¥‰Ì©¡ý ÒRò“ðœ~læ|FzÁï)eÜrH/wèêj¾æ?åR ›#”žï–)¤n Ð|Û‡uÚyŒñ©·Ø®±Ìa´x!™‡FnEâÒ®7îܾvÄv6ÝS©GŸ"Ò¢d#Œª­{v$6ˆxÍ:úuì;u…ªL£o¿4.P\Óçá¹²¤Ù*7Ó·Ép\ùµ„%AÑ…pãk@R›ÚoãfÞóÈ‚EC>Â}í™VôR[;ã~ÿæ]h¥/Tk½JF²3ÏT¹ Ç23ö¿7ƒƒs’”C×–NÆâByƒ¦YÆõާ®jµ·ñ¹¤l)«õ®!2²ÈÄõÿéÑDèÁ»7æqÓÁuhù𠕬ƒåMýÉ> 8œtXÛ^+›¯P„ˆ üºX~¥¬çH#~îÓ"ÆïEÑŒ©³iì™ç^U˜)K’q”~ÿVÕæ!Põ.n„sB¥c±Ê'xÑ7ÙQ /HÇrãëâ~}hû4“šÕŒ!}öºÒ(TVPÉ›«¾¨ÂTµJhê1FšN‚ÏØCÉ,Á¥­±:Ø©Ú8&QlŸþм¿ ã1Ìëá@^‰E\Ë!Þ´ï«3;/.Ë?£ºFwé÷ËŽˆÅæU1²ã!«ˆ…†¬> ­žàýßÿÔüA•€Yg‹«Ñ~ð¦4y8ÿ%Né<ÁÖó)|­ÛÞ—\W6ÐJo¬TÞZnËÕIF€*)šæ.¥•’˜9À4r3 ‘ÊLkm¯Ã9ž§¹bVçsÅkˆ#ÌkͰÇÿ*e,;ù"ûî‚$jç—D‰öFuh ‡˜¿¤2ñ‰ÐZçsàŒû!4ªÛu2#÷?ȬÝ<î›ß«ÑdÌEó¥ø´¶£œf=FëêzŸZE¥TÖJx!8²E‰[–,yi£sá|8{`a¯ÙXKcx ûL‰¶wà˜(ÃZ¢¦3÷ÒÇÑtëi6™œ>Äõ³óbpìb °[N0¦Vy¥ˆ‰Ý×^‹ê‚JÍ-áÝ„N¨Ø·¨ÑWÛ…1}¼ÆÎG~©~nWvhÈ$VÅ­7½ÄxôJ[Þ¥|lLãJ†›fËy!EŠözù‰/•Çä·zϘ#OP\n35—þ¾w½ˆþ©RU6¯F+Z/WR<ŽÕÎeš³­¤´»’1•ö,…úìˆtÌû`=g‰G¿Ýcá<±Ç…ÃqY£Ù`7[(—ƒÈå@×:ÀˆwlèVØõበJhªÅ/Åݶšk†‹‚³®K5î±J Xék)Ú^è!O‘Óg@å ÷ˆsN®+ý^¤òÔ_ʃ²«üµ—‘uÎ7ŠßÙw7ª—akoâß³ŠÍ×{ª¬‡Ì*ïΕ;w˜ ˉž´¿Ihaù%ó9ßð!åA*Iˆs¹æØŽ ¤x;2f©Deoý½(lºà¤èÃ_¬©^…¸ÁÏ%¥ü…Rؘ ™#ÕzŽÿ]žÕe¤¬Ù¤‹á›†,Úî®ýñùéßÍÛ\è7Â[aœ½ÛQ¢u¹a£¡sñPÅø&Ø<ÈB’ø`ÀÍÙ%mŠL}óñ¬\3a¿¹»?kgÎnÿ ŒçóHXðŸÁ|òWT¤ mÀX4»þ]uûRj˜LÎ"¦>§:•ÚÈ%}_ÆøwÁú/Uñ Í~C›‘U2h"§½kazz9­Ù;Šûœ|ÙÜÖõ¨\N+­Üj¨¹ÏíïíâUïþUL…€å³æÏ1oüñMyæ0Áóßä¤^ô‘‹ö­; Nv/šå© ŽÃyþƒÐ_[åˆ;¬…HðTÿË^yÔÞã§çg¢9‹`ô<\ìt<àŸrøÍ¿—– AÖËzÃÏ”‰hã–Ãdz˜/Á>+T{ivhìð÷PÎö8°;Wý¶‡¶ÑMöö"Ü+ÖÄÞ̘œ'¼”ÄÄÇŸ«[ *—ëªxÒ4{›ù 1wWIàFsÛƒ9Zé‡þØ=ôË]Ê“àËË•‹iÑEœÖ~9Õnß —6ÿº:Ä#f%ã¯ö|æ ôIIˆ‰ I¼>ñDà5Å0Ób_–bk‰·6‰„ef¬ÇЛ~iÞö|”gÇ¢’Fk×QĦȕ¯!L¹É@í|‚¸Xƒ7È(¼XHà Ôã±¹‰~¤;Yvï'ˆÃGdÏtþë¾w¤JàÄ’Œ~3_„y… ôŠœ]íþÝŸfÍ䛚í0üu¨-ìÀ—%EÁc˜«°¦^.4žá \Ëy|âå©Ê÷0À—òQã?ÁÑõu ÍÖOòC-Þm–Òf1¶ »hc m@Ž“jˆþ½8âî=ˆ ɪ0»×ÏK,rðÞ7ʳÉÈS 7¿vD›fëÅ’Žy’ãuÐO\F/«¾mÌ£½Fù-”ñÛXBm¼ñÉ7$ç»À2";ðå¡Ãqßl‰4µ½‘…j­wzÑYÞì§ 3vÔ®GgLâšôP[äûö/Ó)5oWö–¤ Ä°L¡II'4ä~EÿÀ^cɘ(/q&(ï ›2€ñ¹ìÐ䵸üÚÏt/¾á¯Ëo»xfj¢wîånÆP}`2\Õá_= ‰FŽªC\õû¬78 ’þb@ ÊoϾ)jª°Âã;ãÜñu.ˆ2÷=Ðft>ák$DÆ9ÓT*–» æácEPh¯˜.{Þ-6â‘’>léòÒ•ˆ·©0²—³Æ“mCÌ_UöFÒË4Æß?-wKƒðUõÖ-r¨EET)‹,?9Ë4µñÞ¢Ž,•úiOÁîCm ="Ω’[ƒ¯ÜS©×ÍÚýN†)³|QŠâ»2R…kKû O»wýú;ôÅ$§¦¬KŽÃúœõ&P“ßÐÞÓà>Ú¦œI¹Yǯb‘†eø4b¦g°‡>|…NWS°íùå ÜæˆÕ@œÔéïIé¨a´'Œ j‡4a =5çëµ8B­ôßù×kó㺤sÔ„×¾)ئ/¥Îþõ&q ÑLë %¸«¬¿vO´hu=ÉÉæ>dŠqÔª° Œ`ïÖ\ÖðQöQמO¬ýéÖÏä ÇD?Æò ¨7¼ >:Zù ܺå!äýFõQÃ÷‰¦ùéÁ°ã‹\¦ÈõÜCÔ÷ñ\9äùtsÅ+÷ƒf]\eã¶À{¢°’o1æZlU9zðñƒ©Õ8 SÐ#=cMÚ·~Ð&²³“4ŽÜ ó©w†É’>Ç<6 úPŽçZ>@³*t˜É•Á<7·I Lj–W â,¹¾F­²áC­y (<\+±‘°¿Æ¯Q[]ä÷…ßjc#k'{¥Ù #ÈÏí{_Q¢×»ÐÕ÷‚~ñ eŸ2r¦Ë/”°ñŒ‡ ž›¿ö)"$”è¢2Ý’lDÕlí–¹êº_È4$³Ñö¾éAMEñ|®Êü•¯S*P¯zrrâ\üfÈä ¬m¢ÖRˆÄ7=€cêj”èçHÁ°zî·¹Mgv2fR2Ó¶¿¡ÙKiÛYuÊM¤Ô;Æ:^©ðÍÛC‡ª…Fmü5GÃ=¨ËÃSÃáøh ÿBôU9¯¼Š ìVð©HîsJíÔ‰uVÌmöC‷ ½£¸/>qÙÁWâ'¿ïž“bJ§UíÇGFñQÁÓEfjæ=úè  ÿ®}åJݘ±œï{Ù+›å“×õ-“P"ç½-º˜èmAÍäç'ñp9ùÛÞzx÷‹5ñDb¥àŽüÖt~â&~XÀ)jZàB¼?$èÀ( i¸ö·pWÙù‡_Tö™§è¡2(>q³€>ì2³ZDbÏY2¾Çȯô3У°0ËŽ¹ÑùÝÃ8îó‹׌אַñ¶§2˵Z‰¯¦Í v-Ï@M½ÊlÃ/ä¸úÇr›“€›\¡‰2Cè”F¾;è€Â–rZ†üÅ{RÅån —ýùå¤YÚ¢ü+¯ÅÞ*Y‚ò9 7#R±ÝL¨5ÏZI™«yRA>“‚t¢D¿˜J÷Îç²mòD:¤¸>ž\¬ sÉ-.%êrV³|€]g‹!`ªy_ãRå-Ãÿz9 4ßÉt¥I µ ¯)ˆ2Y¡ï¡=Ï(œ©êîö–ä2]ׇF~žN±©þÈ`M4ðhÿ¦ãFÑAÞ=õìb21d¸Ì] @ ½i\šê[ÏVªpí?Û‰*Ø®bS»½íkå'–ÆÐ1`tûl{¨rK.˜‡’Z™¼³csõÃrÏÒ øƒàÉp/¼&ö€ i-쟅5½…#ß;ê Âj 5¨Õx(* d‰±?,{Z-.lEÖr¸ Ïþ/\¦Ì°i -Ë L ±Òð]øW[û"e«ž'Pãã2¼ï´Xß59¡l†÷\Eý Í-ô»²ºÝ,êY×ã­dm GßŸÙ ÕøBޏícζbËè-°˜˜_ZÖ |7Õ¤|þÝeÄ!­ºaä ¯h “cwiAÂSPYïöƒ ÂÉ ºš Àå è:ofç/ 6ŒR¿7ð±Yj,Y¾%ÐÑNo¬Hw‰Xʾ÷Ól×þ[Í©öq†ÔìÑhB‚!u†ÙPÌ:Ê!åæOZ”ÖzhÿhÃ÷팊mÙ¼’Ä=•£—Æw›Tòþˆm7Š©1\»x5XFêSèPz÷n”öñn•z×{xø7@ìBpmÖP¦ ìÏäÑŽ€‰çàñ4˜l€i£µ0¥^!˜à¯M„Hó3µ‹ÃÜ“½bWdv!öS›îæ :ÞíÔzDªE˜¼Ðʨì9VRFGƒhsü÷3³Ã©}sqÞv¹@õ^ÿõŸ;pš„™ ·…v¿pžùG®½õ<4Á†žü:ñðØ;i‰âÆLïÞ3W󭙣ÇzÛ%‘m`õw’³¢E}¯°& Út)|*Ï„™N¤•N5íÑeH5-|t/S4Ò s}Løä7Â0^ øG¢ü;õÛ/é_b_š”n§:ó5µzM¥¹RÿeÇÄSž XUYȯÅñBaË@Q~LÉë² ¨?£¦%N¢XÍH‹¿ÎBk¾Â#` Õ8€‰õ›Ô\uæ—#$œ*º£8S>o7*y ú…™h1…VvÊ)û Z'TMùÖ÷®æ—Y¬áŽlŠ–!7Æ'+ M%ݧë'Å×{¤ÉCks~ËLnvF“F{íÂÕò&rÕa&Ó‹y$¨°Ä-3O>·ö3R'’܆@çÓÖEûñ˜›ÁâÐàÞµŠOùû·d¤z­¬´ô—jù\ŒhþWÖ JðÌB úX,iâe½“šÚË¥Bddû';Çc7ƒLŽ>k†g¥¹rˆi+CÌ7X}›®t é?#û~*ºñ {иϸµÈÏ]  €ˆÁòP°¼­ 8á鸺uQ­Œøð¢§#K½?ë è0}þR·ÖÈ­a*:</~.¨Ô òìO±Ðˆ g;ˆºKŸ_­õoƒõ8/=õ”{–÷VfnKcrÌã˜`@: :iG;]r”PýUUãß@Aëš`,nÝha`!z¤ËBN³nsš¹l)/93•ôê¥|Õ˜©4jÑ–÷¶¹‚8ß8˜îÂ[RílzTã~§˜bʱd™‰ý3ƒêW.ᥠLÀ§oyYÂ,8œìÙÆÅaô2œRsüÚ ÓÑ*Þ+a«P­&oiZº åÖo~Áü›ÐÙñ–+Û¨… ñ\ãžšô¹s"ÌeüåtÍu“c™ì&ÏŽzÎÖôÓ)(¨DsL#uA¢®]ÖK±Ë®ã0®t§ky{KóRø@¨3­(þäõÅh¹Pl~þº¾:º9tp„à»á<ËÞÙ?%ݺCíóh˜J§¿–“³:az†:¼ßÚœÄB)w·ó­äˆ}ÈHÇ{°+×háâ;÷öžì4®_gÚîI®èAùÖû²‘ШõLÚ‰"b´HG’ÇsµdPšå¦*¼K— 8)YǪØß3¸2ãCÞ'›;8c•Ââ« GóMŒ--×§ªEcoýN®M «›ÌÝB2 &>û3#!ä^¯j}ëÖ×A2‚–AIÎÐåÐèÉÃéð²k'’Ùö“o‰¢b”IÈ¢Í@µ8Ô܄鼼wJ°ú9JÒ8X²7o7Ö¡?ž‹÷!;œh +8;¹ ´%øeê¢>Š~UÝ\aþ[¥ÒÂOì·®øÚa ±®Ø¥¡º“pwNél‚Y¸}C-niÏÁÛ‰´[õÎúRÏï…ˆ]«_G"£e$à8­©’ÝÁG‘ñ„É=ˆ ÉµH1‰ÜÿÍR™ …2Û“pê ÅîyU|Lǧè²Pö‘~9L<æçbö"ˆ¥%®‹<“t@б–Y£C°˜bÀöi‰mÏÆ:Jk£qmäëäµGÈRÖyÜóɃÛM]Ä…þ®ÞU˜UQŽ¿¤½1«¬\³=Äï¡*µh€e•Èj>*y˜˜ZL?$…?šÕÖ¶EÄÈôjÆE¯ÄkÔwãÙš\ÙÍO ËàM¢¤¹¹{ÇÉyà@Œð6µwðŠõ@ç¹{ûhœëÐsˆ Á‡Pŵf{?¿q~¹JÏ!Ƀ¢E09wè 8+zıš2/Jqd õÞ+›ýM(_»ð" T»ÑŸöÀ{°£¾µLÞH¡XO °’`-Ó³¿U¨ ñ&¹®xi^C×:ëkxóJ;sÓGE×µ*¯ðÍšµÒPg÷Ã8HËÔ‘|“ZAògHÝÂþ³µTB´Ù oGþ.Þ¢äΔvnÜhJüú§Õ^”Ë1ÎÔÕ€ÎÞ¶vÄ}†ÜI¦+­‰+–»ÁVñsÑi¬ñî•$-¢çÍÈ=s‚¬ýeY¾7«I …ÈíWèeLólYQ_öËÓ67‰¡"¡g¦R¸š¯r< Êìâ«/ÏCLJíÚUÄפ»ãäÁd¨Ÿ38Ó*vÓF° RŸý`uô¿ö{σ²mFß^½x~Ú­¯NbÂË  ‡ŒòiÃ!y»äZÙ=«ib‰Ç€ó58{ÃþÇó|C 4´ ÍyÞœ!=ÆtÕ¥º0Lz”l&Y xx`gàr׫‰ÏE‚z1lÊ“â5öG¬k2¡h¦Æ«ù‚$Ÿ-—Á¼ÉzZõ@æQ„[¸f2!{˜=c¿L`"°¡q®Ñ3/uo–Ê'ÙûD¶Õð s¹iw7-îÎÞØ¬4Õþ„í@Ç" ÍËIļG[ZtÀm*¨ŽlíÉ€þíÔ‚¶6U¯_ØHá{c£*vóóPÊÚ‘µ\Ï}7.wÐ!Œâ¡Kâvç›—[9ý“xÃ9ö5gFÂ0:Rm{´Fs NǧT?îÌfö«‘8{+Si,Z,é?I™óÖXwúùJ0¾ô*œñ‚mmÀÌ @&¿³™˜ºÌõ…ä9(À_lAý„:$VŸÛº8äC¼¢ýãñ ìè Á9ÎÃ'ŒVsI‰}à ô¹wbœN‹¡x(AùUít¥Þn$âô*ñøRÞ«÷ÒŸ;` >²ø¬ãÕÔ8V“£gKI"LꤤäŠ5É›ýÙ§éÕµ´ÜNàÍÊò±êV8IÌ[Á<§lÒhð»†fPU§#(Ds<ÂFÁ‹/oáUJL¥%Úf½ÒbŒùŽh¤ÝÚ¹>„›ªHlÑÒ1#‹"ÂÁ¢Ð‡¢ÿðdŒiÄe,%óþý„ T2O1#ÖpÌ}|‹«Œ^ö&—ß«xØá}æ$JBHö&áSZOù !XÛãµ 5õM7P¾4O ÅX4å±O…ðV^s4˜)Ö "BêI=ÙÏÑúiÒ›T%‡Nè6ZD?³GÕåB»ÕQÛuÑ72·_ôË!{§á z†sºy+‚~î<Éa»=3yfÓ”ãõ:†FZ÷_+)|qûô Q壥×YÙŠŽm€–!íÏŹ^*6ðöŸ¼´>u×UúkÎ@dZÿx ϯ¤]»xy³JÏS·û( ¦«ƒ†?"+@î« ŠÁ ¢ôïÁߺpþ”6ì w2KÙmð±¨ÞæÙÝ8ï½®n¤¤#dG²3ÍM3Õá+šžEzñ 9Öí(Ï#òF…è¬> öÆÒÙ§`ªà ÷Þ—>rJ Ï²¹Æ¢áDÅ‚$ý'ât?Öíþ FûJäÝÃj×.þYhå‘ìZïû"¹‰—ßËhUW ßÙ1á8w/AŸÒŸó‘9Þk ´Ó(–ݽ\ºˆQÕnjûÞ'°µñ0R”œIÂÊ7_r¥îª9aàº&¼ã‡¤`›í7މ,bÂÀÉ’9Û“äcI†ËZê‰MÆCâ÷‚øYާÂìÙ{Ö·ó.÷ˆ§é/ÀìUIok•ÀzøÌ%ÊãDÀb[  äð ‰ ½Zóð÷ÅHm'°ò|`T\8>`Ӿ؈ù¢6yÐ)™ûàÀåo‚&A­£ÿÊàAz–»-öçzÍð.tÇŽré3!ßĺ °AäÓAk±TÝ”‰0ÐÞó'åCÿ8ÉhLÿ|Ò}ó$ö2ÖOto³J÷ÃòCØ›Ðó"«WX,’ç *#¿z×f`÷Ä'‰E®@éúB ˜mâ›|@ ²óþ?}™oÑ’N_Áóë*±MÀy^n“ û^c—+½MŽG¾úƒõS!œ(’«ºvH'ìb¢]au#°³ótÐ5¿ºÛšpúë¡Ð®7¸¦¥Ì»j•"8*Ðþ¦£ ãÔƒ;¹8½Ü†ÊX™;)Œ–9â’d²íñ-±ÐaßÀ` ´(ž°Z %֨΋”3C`­”4™»É85n»à †kçà(~¨‹~ §?àõǸ”n!´ª1s6[0ÌóÔÙ¼ÅòÓ4Jö+Ý ¡µ[Â%iþ²ë:A?á#f“ÆùÄ£‚ˆß'\§€¯þ“P–?EÓÈ.Aõ}@Êa¾Ù•Šqá­JéQeaÂ{ ÂÈF¨e»Y¬¹à÷è¢A&[mTÑÿBâÈÉ}¸ˆï L1Y ÍtZˆ©?(#eC¼ö‘/Œ‰½×± œÅŽ"Ôle“GبÙÇOêD:AyŒœìüÅP~ò] Y{¦s *»î4QÔ2×îÄ~æTî,ÍË\UëÜŸ“Hæ„ç•o>úŽ= öä¤çÁ­??4Â`Å)§¤$sÅè0XÌÉf¾«‰ òãþ¨yƒì~¼ð“Ù߆r>Tl 2ø£ PËöoh£—J`XJÏzS?Âû¢¡Â©`î»s>*ÚÝD÷÷uÌÁ‰Ø/z‰sn×ó(x4¾®z­‹y|.î‚U6Wš /›$Ñœ:¤œ®qÁÌNJ̳KëÉûJ™>βöˆÛ,«£µj©eZX‹á‡2øÝ¼û Šíê+ šRxÂöýøÅÝúÎ¥ _£ ªÜnlÇÁ 1ݱŠŸ‰ðä2¢zi]ûÀï&B¹TÝ ´¸¬ ÿŒÏ2ฌA)ÍGXs Àæþ¬ÐÎÎâhÇU uÐ;×O(LzJ»;¬Á†2c{3©«s6¹?9ùÕIÑ5Ôªan?Ýåç!^”¥£…¼00òh}‡Ø¾É=›*Ïæ®ñò—D§ÚŸ}ЛbôâÒ-’‰<øxuå ô>L‰àbÃÀÿ7ê ZT dŸäëÞ¯©ÂŸ¸zx2‡ln½Ûí _9|uK«ek8b¦\{_GÕ¦’I mOåšµ±Ô#-\¢A²×¸Y1¨à^1šH&b Ï$5ŒJ%hÏå®W·xi2oí¬á ’±àM›ê N>˜\ÒÙ„¥ÒM1iS—à‚í_@±7QL\íéÔÐ ^MëÐ/¿B‚gë›ãêRh]æáÿil%ƒA¦Âzê¢K5©Pýõ;÷«oœßÐcef·•LÙi‹:<p©”ÃçAƒ=ŸA¸`«é ÊŠ²|L8Šy"Ú,E“CÌ Q?}å¬lÚs‰R<ÛhaÍ ³ÊMþ̯¸÷Xñ€èþÎ¥±ã̪ø”‰¿s2-Q¹úš>Æ‘ `ØêÏâqÍ"£D–iE‘¬ÝûÚ(p¸·õØ¿°¶ÙÆÌ Q´:òíG|¼‰Õ®G¤Ì 5æ,ƒµX-ÓcøjØÀ…¹óDÍGcIewî›øDÄ& 2|˜sŠ)笕xÙ̹¼:®˜¸•™ dV/#jÂ&ßàóá–Yø´Ç¢Å5¿lÆY[3<˜5ˆNõJllm™©´Ä«!­¬’a£n)~¸–nIÙM L§_ bi4‰âæ7‡ø÷\1 gœëÍÚŒ0Cè;ó—âúHÇÅSf·Ÿžþxðïdæ<ÀcÆyѰ…ˆ%feÎQ¹f•áSñ¸3rnS kŸ3\èF¶â–ÙÀ€­ÿ¦@'kŠÁäøôÿw7øÍy&YŠ•´ž5¥P¦_6>M?L{„{`0ÑäL¦jB‘å'8î3éú þ}QÑ µZÊW* eT¬ºr„‘Þ¹…û`6µwÀI ϰã,|L¢šÝ¾ ”ˆ‹T€å!‹÷° 5·&zŸ‡%-É…n8š¥>Á7#¤H gw@TiÉð‹©!R2†KG£Ô磌dŽ•J@ ¿ÜyT`ng‘½©ÆÜÀµSáÁÞ^ÁƉ~’2Æe®ÿU¬w¼oØ4.õÌ\’+]#ÐÞâÒ韩?ç>Œû/ß2þJÀRkÀî©®â|%&àL«po8î'åÙpÞ$sEŸ£zËÍôõRØ¨Õø|í>æÌ¿î»¡c†ÐhìQ»SàLqä1$ƒÛØ ÁÚ»@×áü0(oË“ÄP' $Ñžri¬~ɦûÁ%N&o’…¥@† CŒd¿Ó:àÔvÁž gÚƒgüQ‹¡²Ên}˜"­³öcUYû±:„Lu±V)RUµ˜±37nÐ'¬]/Bs ¤ƒÇ.<ƒGüQ FÛaÃ8^¨öÝYéÔÏîücqáYø±× – ý jˆ‚Z92Íq`Ï€ý{¬SAÔ•q…â¢pu 11~w¦¼|2HДԦk…ôžJóUpmiRà©gÝBK~T³üåSVö~«E; míxW"pØŠ…sŒTŸª³$ª4cŮίºç}ßåKá‹èÅ †7’™AZ™qx¬w€æ‘PoþQd@Np/£ ÙiõL\_}‘ÏGÓÎ<ªk–%HЮñã½’ß‘jÕVš¹±WcrŸ`ävÂÖ=ùB]2 ­µ¬¥Ö‰'eü9¹¢u3DM°Mž£ˆ³>Š yº4’šuï¼'X1]Pukr6ÅîÞJº=2ãs˜ 6eëäñ§ ¤Ãz*p…+µ^Eí“yzÉc6ó64Ï É೩ÞÕ':ߴˤl-±Ø?=omÙפH‘ wètÈBÒqpãþQ×ÒÔTô!¼Ýe-ÛÏäDZ¹R *"ÇtâNÞ"Óð»×ÈÚC\%¦xõï•Ö(¼Êg®[—¿¢¬Ú…Psº>SJO>|bZ5£ãŸZ4åÇío6ðJ‰Çvíâõö9#¿©àe/ñÞµRZ3-X´¾³êL¨h +ü÷¢íŠb~±É+>]v½M«óïþ]Þ„iA‹á¢Ddû\y~ä–ý§Cý…Ús`±61}ÁAe×TÒ¯?@Œ|Œû(OK[6{ûW pËñ˜¯)oÚ¥¢ÛuúHŽƒ^ÕŽ³– ç2—¡cu%ÀaÉaœQ2-)ªØ¿0‰ íõÌ ì/à'O½aþ÷¿×êÆŠê´¥Àæ¼öî¯2e¦zž½.»s~«ò Álcõ;sòwûo¢À«†º‘ÜjUÜ^»_¤¦:ìšXî£&H´¤j¥zs®|ö¥cýüØ?·¥HK» Gª‚“{àq* ìi]OˆA™V¾²¿ 9_ùk\»`ó¯L~TŒþ¢üИË’C™ãxDÉf+èGÁè7Ô±Ž{¡¢yØb¥j¹ãr+{Aœ¡– X'Â6]ÌÌ8ú¿ O†k(L;ü/ª 5å—¿¿Ê`fÌ>¾}¦Í4<£ÿT}—}´hj_ 5Ù ¯ðK&¶2Yæ€1D¸ ; ˜,w®%¾˜½p,šfŠ.H¢9ÿ/›ÊÝ2?¹èi3‘û{A-•OÚ ³ßñJ(·Ÿ7YøS'æ—á I@—óS´¹+YPÔTm†ÀzB”Ñïû?Ï¡~}÷ñZ¨¸¼á?Ï"H›±W¿P;oÝ%£»\ršwLIbö#z$××sR± PmZ3ãžh¶À“QVƯPZýE¨i@aÅ=JR&ƒU‘Cw}׫=ãªTQJ›#1Uœ³ÿ£AºkÞq¿ç‹`Y•sìȬlQœ–Œ|S*úÇÈ)w]Üð @H røO´”ÀÁÏ>×¾áQ S„´ÚL»Ì6io¹;k ù|_¢ÅûzÓ-‹¤8.)I8• €¸R0[¶ºß°T2]>A5±-¾ sâªkÅb¿Jc§!!Z–%°—šÎ>"Îxx^xjŒœ^-‚)@ÅIJC«L þJ‚V pv½¡„(HS@C>Þ-¯T]«›¿:O4Q“®»Á£Æðîµ¼íM¤aD N>,]€ÀL›©ÔyŠ’ohÿ–h¶5UÐ ¸À ÇäžáПü©JŒvº„Üü1Ð*Ƽp²vï— ‘=D¡ ð¯’ä0†úÈ¿ †©ÇåmSÌ|PÚ­èÆ9NÔ7ôêäKž›µç‘×÷ë¶®L¼òH™ŠL¾FMÛ†‡Ôû€â¦MiŸ~ÞË„8°P~†R¢¤lŠ·8‘±¿7å³…meéäÏæG t©ãÓ­UopÑÞ8+£p«mL“ªžÅdy7ÆÅÞ­&­WÚ~–I™zâv×Ä¿ñß…-³6ñVï¨lŽ!ÖÑmÅà§¿[äõ1€¾• Hñj‘ ÇBµj(¥™’ùé[ëâëâ#)tŒ|.²`¥>Ü´•Œæ"ƒô¡N«uêE0N>Prµ_{Cä™þo+P̳¹dÚn÷V,wÈt=!ðFÚ V(]{Ф%I÷&M¥&uÛÒó?‹ø.Û“Ž|ÊM±é™XÊÌyTñÊ8 ÃÞšÀÎßË–Éù4Ïép’SÞÞ¹úZP¾Xsš>ûbüƒ u8r'EÌ4Ä4ÏÜË _“—§ôHPT{w´É}K/bj'±´ßƒ{H×îc«7bæ3lΘæ<ó”ü›|Ë]åÕMnÕu Xæ_ÎyÅï'“J±{Gí·ùB”GJ硃½W–ÇøÓìšp}ÉP 2Èùü´Y¨b[‰é¼ú%Nq)Îï`ÖŽÏÑ/77þÛì*G$uÞ—kgKÒß ŽØO…I?¢ª ãVwÙÉþ¸¾žÈ9ôº˜%¬yãwÀ°QÑì^¾Eå˜ïç?hÞš8KM c:Ö[: mõ†%ßnNrS‚5Tq[€avzÏoÈ~’¾3ÿí÷pÓFCFËÍ =HgtÜNÝîóMñšßzð‹†*û,íùE÷×”dDö°k™53ouÊ,=”–À»8¯õ”vtxb–‚!Ù•ñò€E„åÝj'~pêI%½rž£Ö[‰ó –y”¹ÔJ•¢jãqè>! ÄÐI&=hŠ8ô—…Ýíò’ØSL_w\¿w´a!=1^ÍìÿkmU*«¼ÂûHq_aø%>ÇÕä6Þ²Œ`;˜²̦£ûK ‡ö%_ñb €¼ŸÇöŠ”.*£síAÝX2¥JuVÑ íe6e¶Ã>+¡[ ôC_·å+ÈABÔ‡‘.w»ÚÁ fD!Farñ=ì;QÀМŒÞ.õ{Xz¨ÏlQÑê:;:N`¸„-4]«˜_²¹nØúÍ®Qˆ ‹ƒÞþL1œ, n‘Û¼¤å¼à¹0”¯ ðóü21kï‚Îc$Ø Ò+K Ѝ÷É.1d­ž[!cprªðû!šžGw_P›ÑzWØçÀ>k>^»Ú—vÇçLTèGì÷l³(‰æS",œX ÎÅš† eT`~«¦Cͽ¿ÁDtù£}UôyÕ%JXÃw­©™=­®(r d…“¬wùtÕ×ÌÜÉM2I¥œß‚uDûÊ¿M +Ô*"Œ‚KÌ_Ü»¾â»~X±ëx¬xþæ^¾ÑyiûPù…„¾x½3èRDÄë½ÜLPbæß¢ñÇ+Q¿øÇhþÔc§‹gŸsÀu@Ö3ÊÙ1ªƒãK¢ë9¨FY‰ü¸¼ÃòZª¢CÍa­suíÏn8fÃ/B¨ÿm°îø@·ø¥9¸Ly ,‡ÒÃ!Sù¢~Y¦•ŠÒêcfüßÀR˜‹BŸ©s,öL~UNx=;‹åºÑDæUŠëV—º¢?±R¥±ÈåU‹÷ ËÄžú‰‰Ì Û›fg¥Ñ~}ñ¿šðÈuúÄ^2)^ ‡ãÓë‘Uúè®×iÕû¸3^‚Ù¡û!>‚VeϳKŠop=Vµ/Ã[S+¸SdšˤîC¦ ÍC9éáaIr”ýXÏcÞ|`GÝÒŸ,Ë˼—¸Ûú?¨Ä}†Ò(ÔµŠILEçŸQ­,Û·To|ÛýYò:1ª5Ú`Z418h=_ךç0Û4àbQ£¾‰"1K÷úöÝ@9ŽLãõGë¢^þ9&ŽˆöqðCV@i$;¸ð ß™ú.Y|öÔ+×aY«³_èŠ/,#w#á”8Õ׆! Oæµ– \äY›XSûʈƒÊÊY7$°ã-ésUÍÆp{äfqÚN:¼2‡]–Ýç ­`Á:jaC( ½˜\0©@˜‡Ic’ן̡ůxºsäËÖÏã–Êao·ü·*Q$žÎ¹â&içé].y²¦—ÙìAó@â¶!JÀdùæ5ºì*1À_˜äwº3³·“P1ÏÉ¥ãV\9?ç@æÈ…ŸŸ'%‘A¬YG‘ƒíÚPt¯c„啯+–ຌFÒÒ¸ 9Í©¥/<¸UîÇ•3yè (ÉI³D;±âjÖs–)Jž)ˆêÁ9ñ« V‡åÒc'U«_ _²ÆVXJ¶úbéërQx}]_д9Û3 _lÚ,‹Cb×ãWuuŒþ×›6޽äXp3þˆŒ%ë]›ó–¼°î Ñ]c[›0ÌêŸÞJöôÌvFOÖàü‰Ç™¸`’'™O0ÂþÀoAˆ%¤ã´ÿ¥Ò±ÈkB}}té"Uªmˆ6Ò™:záR~"öà .óê¬AÜLÅ`ËêȨ7Ú¼©Üçú²wRÿý i¯Û°ÃðþƒÓ5:nn ^=Ÿ×^…›If9aZM}ëˆF8u:5±µÈ!7»ÓêÀб"t¡c{©WŠÔKAjŸa÷H=5¶Qê—×Ð]Qdm][_‹Æ©ò<ª8’H¼‘·ŽÝÎ^è|~Çüößp Â2"ÎYõêªñ_™Æ;~ìÑ[Ë(&fب'“‚þQ&NL©ëŒ d˜A…Pp>#ªÏ’©÷­Q½öóGHñ?}:ºÐ¬å£ ØßXTŒG*;,eÏ™‹Eî±M¶„‹!Vl‰@îÿ:Ÿa]?†9@>ð;e¶ïù Ë®”¦3š2_¡‚ö–‘-ºíHÌU†å(ÈPúÍ¡ÔýgŽ ¼mÓ™0Ð{ Ab`¾»úŠVî«>ÊŒìÙ´±xˆÝ¶ÜjÖ²x󴃹{“RÑçÝÁ=Ä”F=[Ñ›@*¤ÏÊBÀÓ½:‘“ìÜRrNÒqÌ´elþ# 8X–ÿ/U±îƒntõ¾½'3`[ôÓØ³|Ž¿iÝÕDž•ºsé›ì9.创Aa*(b"8ÒÁ\Enàå$ííZ7ÀUuR‰’²"FžH½@Ýš@îÆ&Njңæ—ù3ò¤¹zU?“þND˜å~5"jã°ërå· ãFÚ]ìjš(€­ì$?Ô¼Q.(‡GÊ«ƒè¢óe·FW=’å*8o¿À<•ì§ œè†f¶)\ …À+—0\j0]XêdLSû¦Š tš¿èwÙgå…‹b{wÎtÀçr£6 ñÏpAÔ‰ÅÞ’ 6„ÐaV]žë%‡t1>ÅuYˆ@S¹ùg‰àƒãHdß·¼I ã…Õá;ý&ôع›µí@4ð¦vû@Ê ¦ÞîÏ xêD¸:·øŽ¼÷¯Ø&\ îhmÚô¹†}O2Ç,¤½£f¨vEËg“_íî«sÜ×™f`ʈx÷T‚L«G t-ûÛr 7-ÀCþJ„inB{ðMU1õ㨹<æP7Vm¡©-THä)ó¥Yü7EH×ÝÂ-VW°kÕ½É[ÎV”šþ1IÅ>¼ôÔ/o†{yJäOwï‹#Öó®ÅÄÕ!Eÿ´³Ø©{²½&{à Âz £Z9@H@›a£ôDN,2@û ºŠÙ]#Ä@#•â%GèÁŒ5Ú>G(6¿›`ü‚nÊ­å"Ã3tMd1Q<[7Ðð"´s—È+âe&ç¯rF _hN2Éø‡ RdÚ)Ôòeörò¼×Òò˜#”Õ «ë¢kõT é{ µÄæ\žµjl‡î7âå¶òjÉ9:ø&dçUUšâ/( nÞ'òEË^¡8°yÆŒ–P[ßö Rê[<ÝÏÖ›€a„ØÓ¾Þù9ੇX} tÒø¤àUŸÍéˆZbeóË‘7N…´óã‘ð;sALv• òü¸5Pö;ÓÙðG†‚> 'v×¶´´÷]; hˆ¸ê‰=j¸hÁ¸hK…¿5éPÚy¿p¾¢Œ >³•Ñ>çy¥ë÷"ž‚cz‚p¹H_R22ãaÿƶ|âØsøî¹›ÃÕœ¸¥î-ÿ~šÅÿî>n˜**ÇIJHÍ]âÍÉ’½™2µÓ,ÜÙäN³h]Î"ª¸=õCšr•K×Ýp¾IóF}B¾z4Ë…ÿChdÄû…lˆ[Dþ“«óþÕJǾ͟pÚ[‡ê(“¾àdS£¦õcí;}@ޱ3óú|žÆd"Wó“Ò=0­¹ûJä3ó]û gpµ8°¾tG¶?âÌf™Ùyccï·úû kEݨUè˱€ï*mO†n™¯Q×s ìÍè„“´õ{éÄ÷=ޏ"_Ù%Ä<`Æ(!: WjâFÊiáêâ‰H¤ò.îÖÌuÚ0èiæ ¤lK•šµ("@Uño›a{8~,Ó{J4:Ê.”ÏyÉfÀ~*q;ìNqðþVÂd—‡+,¬¹*êýlCÉ~DÜdé»%LŽèž®œÛ¤Tñ^"'ÅG‘NÀ%“w²E°nÝŒ CŽpùálç›ö-˜tPéñˆ7qn¹{„ÆTÆÝv=„Ø„‚ë:ñáz©s'Û¾uK ¥æŠèŽ ÍëF‚*Ð.°=˜.Uu—Ÿçú)ð¶¯f¥âáý‚Þ"j©6‹¼×6CªÑâá4ÿ ü£Ð÷- ¨1'¼žË„`ðÏÔ¿¼Ô§ÚõéüÙ ŒôD–ª·VþþÜÙß8Ζë3"¤Ui@Ýð–?黺Ds%ùLü!d•ÚY#RÎóBÏ@R•ç¶ÿ¯Â†õ¿\¦ë¸ ׄ«l%+¼fFƒd:&þÁBÔ¸º,Jïû?_#-/Ç{-SX7ºìGùjȳ̽Nçê2÷ÆÅ»\üd*ÏÏ“I›9fWVÛFKNNšµ\Ÿn´ÆãW¤ ]ëK8Ä¡2l?±bš«d»;“ ‘µ~àuÆ:Þeã*EûÎæx~mQ ÁóÕÙ§ BՉȬOF(¢ßûödîÝ \©ï¥ØÜu•/Õû!·êÒr»’§ðP†¼W¦+•#¥%\ÓYœË§¼ìOqùÀ›¾¬AÉ«÷øVùþuï±Ð(¯ÃçacÜ” êž%“r"¨ÖrØ h#{Í€)'¸>¥\´ê.¯[ïÁ,Ѽ89`eªÐü¼¹†éWXå/¨R$ô9É ×n£¼«8MŸ1¨[ž͉dÖª}i¦ÙweÊ&ŸÎðþ‘XÖØáåRSÂM¡Hg}nÓ²›EB´i5“Îä–¯“ypioÛè\ïHÜ48x‘¢4reZ¿fÑOài!¥ÜfÊýÜ£ˆ˜µÛo>ükÔÈ^d,…Ù)¶‡³³V•—ç~/œ#?å*$Èe5úÞ:6wêèQl§Ý­ƒ p®;E«Ãá³TàhÓ&ò… °µ§¢®ñ¹WHŽt¶ŸOøºþ5…KðšS•ÅíGÔ;eÉÆ¬ð[𡳋Dí;µÓ™Hid«F:“]8l%•cÍ(ûVÄBÚh+* œ˜¬ò$“Ò³Ø~Š9pv´ÆÆsY·G:õv­ýwuåǪªøž‰!­pí {ÑLàŸè¥Å_Þ ÑókÇûuJëy銛Iɇpû¥¾€œ¿˜1Y\sÈëMhºÕCÃcU¿éDPX…e0­i] -Ç4…i]øXC-ó/³g²žšÝ[ïž:x0WnŸJ™Ñ ö þÏ,1‰Óä~Oò |Ùw§(ñ—’Å€ì¸0ÑGÇetÃÒàÐÎÁðn$›d9‡Á¤. ÂWõTŸp*ê÷Àö€ Ÿ°‡4_®Y¯ß+•"bn¸"qöA§ôààiÒ½°)ÈýÇdÖwäh&ØŠ›¸ ¦&ÐÖ^·þ¤g¿µV9êü!ÍFÁ ¢c ÌŒ£<ÍÖ¯¸Ë¡f3î»+A!JBmôJßä,"µï† =«´h+žƒ –X…ÌÄ~:ÂŒ@D9G3Û¼ícdìÀêªë~æ¹Ù‚ËDÆ&¡Éò\ÝD>“°‡Ë9ÉqF»è-+g50£v·Ð÷ÀÍ~¶k…‡KˆjÉ£”@nãn.I.›/zž £xµ r·ÝÌ~›"rl4f»e«ÑM<œu¿à?_dÀ ÃÉä ö[½Xe¶¾$‘™Á ¯V+ÑÛßâŽÂð|úžûtTéE$,¯ˆ€>¯8¬?Óg¸ag·<4=Q}§Mͽ嘡b,Nð¨‚Ênff¨ïìÖÌ34x›žœ•ã).‰k/>¦‰ä`d£ÍP ÊLŸðß•›÷@Ã%£mRw¬Â2Îïš t°ÓsŒÙÚ-Ôþhñ ÇÁtãj ÀH òÕß–¨™¼žÎtÔ™¦¨ÞeA]X4ä° R”:›ŽŒ¦1Ž"†ûzÿDáŒü ùKðãý“r„µ-·Éwýéz%¸ƒœ4”'S ©“”qT?êÞˆ—à©Ë#ß$ˆ Sc«M³YÎÍ—ö;UÐêæd޶¶ ¶{¾$Q¼’29æ&7bÀ°žÒ$ÇÌ"~[$ì˜+‘ß¼HvÛÞ ËyÐ7Òø+ļïB¿TjEbý{÷F«s†%›VPÈH!/Kõý0 Ç Da2§èÞ.‚‘]6ÐVéø«;Zp?Î<Øn_FdP¦90kœ“ÛÍh/cZ²hbA`³Ölc®ï¦ø'êûc@gúÅRçÑØm ÖÙŽ58‹ŽøËôý„V©èå°øÖ½ñYKp‹!û©Âà1Ó V´¶Xe|;ê*çùÏùYû¨'Õ»æÒ¸ò¸È•,ܺ„Qzµ:Ýp†ñj^u×Ãô×B⫊§M­{ŠÜvw›Q5øA@/®f%.D¼‹ ÓºÞÙ£üï)Ž…K@P3Ιw=ò¦þ“× ÙóÇCœ1wFí¶§á帳Ó™áA­mʵÀpÈu¤ RÇú=*AÕH,~ÂÉeLô.¶ãz}øc[ýïÆØ Îc¾01Èd½lÍ­¨‡{úý°Ôâ75UbQÆÄˆFûñœ ER÷‹‰ßz˜öf0|$R©Ì½ÎCŽ ®H‹¥»?اÚño‰Ÿ¶ôY J¥OÍD¢y5‰olœøËn™}žÜ‹‹ kÉ“^ÍÏà–ÔUÑfÄøsfG‚¶çǺl€;`û„Œ,`Ýí1p0¶‘¤B€ ,·“xÿSãKVÚJOcS`CËe—?SÚýÖòÉθ©Å…³À„¾ 'ÃÞš×ìu’Ÿ?0½Ž›dau×—ÞdgÉÔezFü€Ü;3WJÂi¹uäôlÕîZø?=ïyAaÀß㸢žjèz²'/¢8^$~$…Á5bÖC3¶-žú3ÞþVRñƒ @s‘Ï"D³]èN7ËúÀìJÐx#û¾en•sBlr åÆ пõâuŽÜ÷‹¥¢*Š£ÏZô¾%$ؤûå¦fÓù&,Eu²ô|øK̘ÞF]j‹-XüÝàtƒÍ{;(òÑçÊÀ}SÐ=3g+V|QÜ.‚ÅÂÅ,1SN•  1¬Ì¯µ?ŸpQa.ÂZ1+Ïìp÷غjöùÊp%—B f1ÌnšPÂ&Ø·´@áqH+ZÔ]T³ºÖŸ£~r¥@oc ö>¨!ÅÔ*p›[Ѿ‹ºr7R-‘Ú]¦VÓºí Ìr®QîÜË_UûCgËÃjƒCÞë ›òpâ–j«žõaÍIB˜w;ªâIØäß &é`vúzˆI€‰1œØ‹ýéP“Ã÷@f¼äüå?‰Ó²…š€¾•ó$ˆš8n®ÉOQ%±.P×ø(½¨–ë 4瑆#läaghÏr›bÍ¢r¹}Œ çȺÈÞÞ+§ñŽšØ,tÅʯ€,I¹À…^¼zá“ú+}b#RÚïЛÅû££Çßb¼Æ&$x£9P€ôHz]ÝûNü2:Z@{˪wU€E¦èÚo ¯'á_°ªÆ8]Ä7ù†sxλe›W€îÙj0–¢r¿žf‚§“»@±x&r‡o¨=^8Hi üÎD’L5)±†/?Ã1þ¾G6“(3ðæêø…¯f8÷`š«:eÍpSN`±Ýê‹£ñ÷^ g† 3q´^Gþ,ÞhØ£iUKÅsïéþöèø)£Âp¬¢WĘÙ3*€ò¤ÏòY‰+ì]ÅÃX&eÿ<ˆneX¸ßp>\kÂÅ4 PÞ/h­¸µNV{ü犡)³¨íàˆîõxØC4â6 `Ç$~QÓóê°6FËÁý Äó" ²¢¥z[|0 =ß2HUó›ïÅáÁ¡>ˆg&j0 6±º{ªÂ xõ¢/™š÷u%1¿˜ÈÚ§$¸“YU­îÉËkm$êŽþŒÿg館æótÍ<¯í &L‚k¯v Ô£ª,Ò_CÊ£1›nÔÿK=ê¼µ%øõ/,ÒÒ[k´âd.CÆ~‹‡²U”ÈšqéÜGnWäýé“k~g³½5gÈs¬=©ÞªûqýÂHÕà®·÷~P2*ý°qå ž7šÒÛ¤3ç–éJ¥™]"¦>!ÂF(½¦øÊ×ÀÖ¾`”¿Ú¿#ç¤<Çu´§ƒvTÿ†*ºU¬ª#ìï}=€í|l®m”*mÞEàâF÷ðþ‚ Ñ{TÊe Ûr,®Ä¡†m;ô$¤nÌÄÿµ¾#DKUÎ%³Ê7:çOÈŽ¬™˜8ÝSáPp±V=÷x@µðÎ+VE³˜ß@¦_Û®eUu£PÃÖ?VÛnK›Ó%`š Px‰Œ,æH££äý"”<£ê²Ãª+ÚÂÕUBÕì*Ä9(1H9~Q £ý÷ó¥2~)] D’ëvVÁ%=³Ü“;è©ÿ-°/©¯QLµQ>Ÿ£!óZGÕr±Îîp_ŠwRº-ûÎ/‘ФAjÿºÆŽÛ𫳾¿”94°u°´püš=ûUtèšOºËȰQ²ßÚxÂ÷&yE—#É.’ï 8®-šG3¨ñtÍÑLGAÇåa]é^ÒÛŽÊAR©¯>¡û}ð4ý-1îü×kq?m&çÛÄ¢³äÝu†õYï\ZT_Þ”xÀLr;èŠäV›Àãˆ;Sâ.<0=‘ƒúÖDåf\äL mä0R„jîç*›Ö}ç~¸ê|ãbüO1SòÀÓ'u—d™Ø{ÌUƒ?é.ã•ÕB9¥'Ã#ÃÚJv!I.Ú-M¾Ó´mJ£ôJï]¢dPÈã L¦%ŠH–àÇ®7š×Vñ´¤'Ö¬ÍRˆD&*–ú& ›Ã(4gwÆ b¼\¥Þ)öõsí³ö4¿¶­±<Üäµu›³Á=òÉY%lO&%Þk”ü>ö,´ ¬èÿ‘o~*:€- ¥«‰0ÒÉ,‘¸ibr‡ ¬$ó’à8c,ì‹ ºÊy7ÁJHâÎlBÚÐj+V,s¢Ãoš$ÌcÏ{2øZ‡Á_5ä+Ô׌Ägù´eq ÿÝäOÓ‹UázËGVþn>u‹{SÛVÇA3Ø–q)Êž,×?ðÌjYŽ>øãU8y¥fÍUÄG³±:Í8¦»çíeüwÔÆ= 5ËÂürúD‚ÞÉ]yþ…ð_í9¶½O'ÌÅFO¶ˆ'°TßÁÚc‰jî@Õå©ZõÈۙധü q}`C‘Ìþ¶šæqyæûjÿ 2i4Ÿ¼ÚÖz<ØHjS}Õ$òСP ŒúsEß&Pï[J0Ì<ŠøHwT|hgöéºaaÖg?“.‰ËœÿŽBYc²&kñ¼d¼Ùõú½4œñÅNTóeè DzùˆãZMH6Ë«G¾Üc5ÎWž@7KëYDAb1Y)$¨ý§R“½ÁÙ!m˜ëøéœn_qÐû§^Æ'?†É•œF.7‰øa²ßDk< b\O¤yØlN»E†w>KYÁâóôº«ùw«¶°“µ7šNå×û¢zŒOò|ÊW¬ È+U¶ÜiÇHF <­3,ùŠ÷ÀÏtݪ±Ü[›ûå ³bð;ÍéÊMÉ|¾æ B·üDÕŒLþòGÅ®^ªI æ§ ]#S9°%Žó“¶<å\d:å#Êù݃ñ(;Í£Í΄÷z¸Dªò>ÿ«Ä¦éºÆT7¾ÌÆT½…ª!M‚ˆã£‡9Íð|P£Åø5<õž68€)Ôw5(Œ5N÷=׿sŸ¬¯O’BaWQ¶õUúo¯×†é)‰ +¶’™-÷×·­îÒ,'òÂ%µ]ßƦ %aIþ‰êîÖ;p·Îì>ßíbXÏ>6Ré¤5›´ ûg`£Ká1˜! •é$(¬j˜F,<./Šª6ZÂ*b˜·ìÄzaSºŠ¤P1¡ô$¨hµúÈ€‹dþe_+P]0XpBYIÇ7‹zoÛjÆ–|¼ðБéšö¬øÌò²Ï[¦t"N2ýJ·×›ÿ×XBÞJ-eÒ•ó2Ö~ µÎÞZ=. £l‡Ô§ðöŸxÇÖ˜=3Öw&̺÷>' }!dA°ƒÑ£_^ÌcÐy&é‡ ÀÜõ‹±‹€ûø[_‘hl¤p”qà@³Ý#OÓò·ëU0ª{/ÊúZ|†û§èiŸ[‘ãÉ7¦Í¦•z€ªM’í>;h¥‡¤™ÊÎÞ­¥TÜg3¯‡¼coÙ÷›ƒn"ÅÛ÷àÙ´TæŠY¢‘3@åkHãá Y £ù£VHÞJŸ‘T &  óF èñ¶IL@ZƒÂ â¿[WDMøØfÁ)éôw“”â9a*Àv½kêÎFm”‘óÓƒ$ãñÞË*=~Ly-÷Í´ C ,_~ˆËz°gHkZ[Ë$hœÞðCøàÆ,QÁ³‹9BKنɘŸ.¤–Zò9Êá§Ù‰6ì\^ sÉÍw¦Š'g¿bÞà¯~öÿƒ±Jû¦:hã*ÓQò ™`Ò²1U/µä•üA6º©Ñ-Uk™‘Ç,RxZij ÒBDúe(Ÿ%c’ØР j'ÇCHx&|‘œø¯îðx®Ó¦M° súI°D¸"öÂ;ÙÆÎ U[½í—ý&Bv:¸J?Àã°rè¢Wõ¼k>wÑñº6ÄÖèìI—ÁüÚRðkV}IüVôãþ¹¤KÌÇSš8’ÎoØcqoEÔçw’zOOÅu•w#[3×m>?Þ°A5\Æ=¸¬6 };¸}ãM(ôpgäØ5Sex;eþ’þ6Á4úg­Im›“¤!xJŠ'ðêÙxñ]ÿx V”•%`•";{3ÁV{DÛ“šäïz\Ðs)2sÍà ¨Ä7ÄØ"@ùõUãOI¨,ͺ>F†ÈS…–«¨±­ødï#íy’é|€_~w‡¿†‡.…qPª?>¢€£\ s·’.i>9Zô•EßH à¶²§(jÁBdä=6Ùá›bYë!è(¤Æ)…'QRL^"ÕXi/äò£jfË+°¿ZÉî uG(Ÿ•$4:Þš\tþdòA]^±L§Lo± ¬ã–Cš,+ÏBù 0 8Ì3²6ÜvûImLu‰/¹ŽFÎþ#g¬K£EžpòQÁ†q¾ATýoSÖ¢…8$Êâ1ÝCŠƒ,†Y¼‹u3£‚‘PÀ©J_ÃrF,©¶ï!"^ϤÝÁ“Eé.µß`g{ñó7»lÊhYL‘¨aà¡ØÇátŒdj¹n mûkôNÏ[¦]o3b昱bá…ŽâŽe)¢­>Nî;@ÈlJȸ¹NuJ4­ ò8o¼¶ß¹þBG Ýá‚Éœ%*Ðàh¸¬òTŒÖá`êÖlp»â+ÑÓK$@œ<‹Õ]3†;xõMDºh$ÕHZcÕ l³›I6*¥{ºœ9³j>ân|#ç×ûàk~A‰_¦­à’™…ðM=a`ÒNÀ³ÒæØ‡­ϳ%U(ÅÈÆV/Һ˲ťÊpz>†:nq˜Åì”" j“KwqH?>Ù©{ƒ’=ƒä>–O;”¯c±2ôš1¢Nôò0ÛË){(D¢ŽžûU¦ò+‘Ïk×&ï|7ZHâÉ”9x’Ùµ&ŸcððOʉMˆ/0 rs5â}‡ÄêŒW"J$dTˆœ?fxnµ‰ÇŠÊí‡bï6§®ƒñ§xÎ,±Ô:ýcÖ +ÏP†‹\ÃôØ'L8|‹ðµ;Í•Ï÷Ò\=“JÑ#Ç${2?ÙaÚ$œØ{¯à@Êç™ò*¡O£ºiùÏKÔí@áÁ úŒ¯3 Tì.TSÌÒZíbÚj|´:­£êJ­GeÅjj~6 ¾Á„P €³¥£eÒÛý,¡o™Àw§ªüÙƒ:ç­ep Êþ:v· é|´…Ò”Äð@8¿yøêКºæÃv5ßÞ¨0Q´k¬êG•Éñ ½‰8œÑî„*¹òH?Æ–8-ÃfÅ%XÝ;Ðजڿ÷Þzÿ¦d¹î×UZñŽ%Th³Rá[ $„Ûxj\¥±Ú? Aø6§LJÃÏL̚ʛ^ÏR g‹1´:ìû.äf˜¾Þ^ô€)NàA¦SØ@Øu.Ío&ª¡9>sê9m[sÕß–ÕW“„1—®¡ÍQj^aá„/Ô$FØ¢Õða×Èú,‘b©3PšÝåœ<²Ç›+‚ÜÜåbØì&§((ÊÅãP5¼NœLLdGØb² ”¤sc{…udŸtab°=°¼ºbJxÕ±ÊÕL- PMT94α±3;_Ú›‹Úª,<:óÄv¡6;rhnP\å ¤ã½•JQÝ 2AXM3Œ ®±Æ'E"rðÎ0r¦+{t=ö©,i °Ô-/êüÍDmìЦó G{ ´)# žVÛ&S\›(ÒpžeØ¢¤s²Î½š|BÖåîB냻€‘èSÁ›bù"t1FÕ¯¸aå6ÛÐÈ ®d?m¸Ìðû´° bôÌN¤r5¸¡ì¿¿eܪl[w* ¶@l‡Ê%•Mg!ör>H³þ¥ê-‘¾íR}µ'¯’µ½úÜò ô³êÊ©ØàÈ»ZÜ#ÍÉöÎÈ]3µý­4v͇œÅß® 'oë"[¥AÁ­v&Kpeå@…õô+EÞõ¿œzo•] ˆ>»Z;‡Ñ[­pÛ¥?÷Øþý½}¬ÚÍY¨¸ä#l? DšIl”V¯—?ì꺗§‹ø}ìŒþ 7Y^i,¾÷þ@å ]Ï¥` xŸrÍôãx í'”HÞš™è/“[f~§¦ëµ5©RV¡«0Gø~¨{[9܈‹% ¦ï—M>ËåÀLZÈl–ÅÊ705XûÔGÉl„Hu3V Ú>;¤)Í37Æ_ëï${í(ËîÚÿ[Kߊºìçh?r×€S“˜Ñsè®äŸFd錙tÖkF20ˆ~ð¯w®YÖäôž¡:½âŒˆï~ßeÄ= 6XÃŒ`Œ/ãUúÝXêE¸,¥+ƒ"ª%q¯æ¾ÅKë‰iÿiš¯Ä@sQûЉ*ŒÊ=^žb³ÄN4¶*°¯á4ß Ÿ]AÈ\äTŠæ§¤ƒÍ‘‚)Esƒ©‹-ìò‰WoïÿÓqˆOd5龜Àžþ4頻6£Â_]­Ê•¤œ[£rÁ~A’e¡6@Á8&ÈÇ8Fä@fléœd*-ÿÎköÝK(ŸQVCQVŒ7 ãÕ&X³¨Øxü¬ÓèwK82yºXÄÂÔ†ø…hhuw<•F0!Ø <­Q–Šdb•˜rga ¸’ æ9¬2G+õNO\h–hqiüŽ‚If´I‰Ý5d}A«üÖT[3 —¦ÏÀZ»QððÔmôyrswtg4ÇDÏ sì݆ƒök‹®V¯‹ :PHN?ƒÌ¼ùq®ï¸™Ò j®n=,bœAœ‚+álìi xý ¬GùÖãå©ß-Àoþî—‚‹î™OŽ šTžÖB´ö¤4NòS8¿`7¨g‡Í¹Ô±d¼s7º‘+m¹¼øæV¡Í£Ø†•òð×6â„÷fA;«.XcßfÒ`é­ 0Ü ß4Fmvb=ªr.顯Ø4±--hHU¼ë‹6”ú¦ÏÎ,ád  yUì„8鑽ÇÈÅ… «Õö5o·Û–^VU§u?}d« _<çàœ€áÆQ‚w<°èð5ÛW»o¢ÊȇªFšeƒÀi]!év{Œ’ Jùe¨¦$E,-Uã4S-…í´ÚÍp ÁžöåÑŸ‰g"ÔÒÌÝ"iÆŒoœñà‹4¶õfãèsà·6îMÅÅUÎÂmôZ4Rá­JΜZu¢jqŒ¿ßMî¨i_©ÍNp–còa—³—2•Jˆ£w´B©ãC+2—iÓÁ›{×ú=ˆô@h1 γ;£«<¤!ŽÞ ߯ŒÛáø™ÓÅÏ,û-VSZ‚2L÷ÃIOÇ”U†X÷#Á~“ælaBœ øýé:fè6¿$á5sÜ€Èâ4S”‹Ž¸×+w¤€Û ‚­4ÒÓÅ£ObÉñu¹"³ Ï2Ô¾B¢ U¹ªˆæ»9i—Dïsø»*Xö ٲĂ#‚œòŸŠ%¨°Åc2¯¯ª :{P*üM¼éó <~ ‹ôuÝ':ZNWq¢¬%]b³ó8+*‹ïšËð¶ÜüÏ´.ý|–¢šA ’fŸü=[¶„xbfAol}òc; iœu{Ê`Ex®q‡¸cv °m ø ocs¶6åy¥†]{y×À~B µµ­gd–S*@ }ö׵楡S#­ïªŒçÄ^õ™7¨]úM^æ!«Â}Q«âÀ;nKÒ|Û`›×Yh¤Óö…gË÷+ÇíÀ$äs ,å4C0ÖÕIÔ`T«×GºáÅ>Xg1Øa ²áŸÎ5PsÜo×>*Ùü㸬HŽ‚ŠÝÜ Ä„mùP&åЫim!<<û)ß`û¸ŽVéµB,C°ö NtJqB;ì‚ Y¸~Fñ×’úaq›¾NÔ,ÎD‘sþ¡Ù°sÉÙ<x%ÖŽÿ¼ÃÚû‹ã)ÿâO äùJ¥P‹.Á§àg½ÚŠß’u‡$2»‰ÿæ§k–Õì cp©s9Øzi4)î¿WÒ×Î/ßÉ’ú§ÛyI¥Ó"Bg¢ŒjÌè6ø-rUý‘›(ªõë^þˆû™4ÜYÝ-6ž|ÎNh¹_Ò–øDÑ6É´gÇl?>Fß)9Üz«³÷úv™jCv¾3¹UCYpx÷(•ÍØ°#R|O†Iøý ô¤bY¬ßj£¼½é®ù›ºç.e§—e»;ý†ƒ>LÄšUÆÙqZæ[Š«Â_º%o«Ö*z' à@¸}1¯•á|lÊXßµö˜:$öXÅçP~ôg~Ö²«áØQH# {¾ ÎÕåŸÃqÙšyu|« ŸjKKø…3ÌåÌjTµ²Ÿ.½A]pE >g–³ô¥áÁI²³™dËÈDX¢Q›É¹HÝù‡eÀЂIwR_®,60œÑ${4û%nUÃø74C.‡ê©nj“b:Ÿ¹d+ƒ ÿ/¡x󇃠ݽŸXK î+=sΓ‚+ÅŒI<(.…“²ln³ÛhÐw{ÊÁRa‰¾7ýæRòÓc]¸_4¸7]ÁN7ü‚‚Ó²jß#à÷+½Ê!à?üuAþ‰$ž}Œ?FШˆ=ck'nIl” D>à™ã‡S!±ïe¡ùÙaF~Ø?"^…40bóoÀ0M+x”Çá߇)ŸqÉì5~[-ª¨sxŽìF ¼+õ'˜Ck:[ Ù6ó‹ÏAã>a¼! «£ãí.øršTlü¯'ã¨[ãÒ: º9×.æžï]Ÿjxí(ºì.Û©Äu&c5¬iÔ¬ªaÇîÞ@ê$ÃÅöê=&u…3©ÝýÄ Ü6[ÑôêW²5ÕôPbŽøB¤ÚXc©ÑÐŽv°äo[ÝSË%žlZ'ÚyDüŽ„_~ù“©GHŽ©I\ã_ɺ¶Àe?ŽýÖéÝB>`õVÖ#‰Ë(:¶ý!XŠy¸l¾-àôáナ…DÎÓ=O½RI3fk¾|‚ÉÕ}‰m®RË&LŽŒãöœV¾"ûÍÜ‹¢S21Ï2Fjó{áÕßî;Xx}Erˆ  E¸kPæMÀ:[¯!š³ˆtô¹ÊŠ~ -[|òJ׿½Y\æ6ÞQ1=q½‹±%¶Œ;܆€¨äÂXfûV{ṉzè]Œá‡ðz9ŠÙ„­ºJ‰‰w¯$ lÀA8®$,™‚ŠÒEN ˆÂ»ÿ¦ªFE|7 ŠZC+|6ô• X_²ª°*ù|aÅó#ÍkÎĪˆo½>ê6îüRÅâˆq»“ÅЧ~¬—w·"OCªxþ?{Ðm°€å?UAËmÔñý$ÀP9Ÿ–fËéD\ìeE¿áñPéÇÑþ¤9ÝäÀ™´DÁá ñœÔºÕo°G¿Òam\Ç•Šµ[­ÊRp(Ë/ºn[‘9RU©ÏòHdH±9ZdŽƒÚ áÎh‹Gnt„6gÿ÷@¯bI˜nà.¼áŸA3X¶Õ»|Èÿ¸!­—P_ðuœØ£IüÓö0q$ÒÕ€~Ý·¯#žiHŒæÞÁÍwA4~ý˜*ooáË]æÂ¤ÞwÙXúr%ˆ"nQì`ËâÔþÁÀ%WJ R¸(D¹øi·½¼q“¸£”#}•”›aŸ/¹t±àÕCƒ†ÇjÝòãÃÙ‹\J9ìÑ òVYî¢ûçÄf:Ѳž›×XLÚõr;rR$"ÕêïdæhÅÌwá™[‡jó“J¶y|œ:ûñÇëàÜ“˜º¤’;ï²k¥ø£TÄH_2ÊŽød m½¨XŸpüôÍf…vž>pl߬œ+‹˜.Dg©ôC¢!¹Šeá³Ö¢;OÃY‡ña± N³þ—ء݃†À\3öíül@ô>?‚Ézáþºw?¹B“6/œa‚‹ò£÷ŽÛÙ;Žýt§byŽR¸."Ñàð½¼I)úÊìÊ›Sã@ýÉ÷ë[ér¶)CÖ2?$§d¸œiæ´t`ê¬âeMŠoçÚåÓ6 ŸðOHÕ·fˆ/ÿÀ™ÆF“ˆÚ¨^Œ G :Å¢ƒ‹‘*8sFKµÄÂs´îGL¡1 >}.*ì y… ¢X¦TÚ¤¿†ÆˆÍ3¤>ÙûÀ’¼"ï¼QàøµÎ-UÄßžÑW¨âÐ03JÀô°u«èúÀû2ô2Îå-Ds8½ÍŠ’—Á…‘»f{þÕ™+šŽ)·¬.gŸL…X¤œ:Éõ|ïÒËUv(ïL#ý-ã² tŠŸªx]OÀlë'õ¥ „ó Wßüwlu‡3‹ÀLf_e˜…æÃ³=äÖ˜È× G"°®—Ê͆ÇÞ£ÉI¢ø«-׸¢ä~©pÔ®¼˜Ú=N)TË­gs…îÄ( üsX7…L¿ŒÂ°›Ap3Ž{,aƒÉ máE&ëK%¼%kR‚¹D§»4°>8åÙÛq×X>Ÿk¸Ítƒ1ƒVŠ“ßU™…¦}‘³wÑìj Ã×çe“z+Ké-üÅÃåxDtp´»ë…:}Qó•ôÈàÚÃw‰YøÎ0m>@¹”dD~Š$Š›:ÐÒ>‹¾§ìdC ä•:G©¹t*mEEEس:ëEÄYÖ!š"A¤£,6#fïuÉ7=<5Ô·ÀA¯‹ :gàÌçIÔhÛ)itE;äDÄ0&펭!b:Ḭ̀¶óÀ3¿Ž“2Æ#¾‰Ö'ì^-ž±Éy» 7ÜÂáÿi"t6d ÀFübÀ¨\ 5UÒ+CŸNÆ ÿbYN À†‰óÁnø?íéŽ-{YÓFŒYº)&r´©24 ì HÓœhxq>U—“žðÑ{ªGpmS*?—Àí(z÷"¦JÖÁ®ý=•B­ÑøÎªXñë®Ñ01Óu´°¤† ÌTn¶†‹Ó¨§£Æ5©‡ÄK·ˆcAëÞÉ(¢d¸Þ¯Uéy*$¶HºðO§1ÅrW3~K4qÇ€"ääßöùiMSæ>«r -F…Ür¶Ä ¼Àoe2eŒ4mŒ †Ø‡Ç hºŸ ež5vx”­¶í¥¢Î!꛾ˆ0.è4´n†óÆ £sJ BÖkBWIÈJ®5>óPìÔ[Zù E?o+JÙî/»ï0/7˜éxmûËÝ–Rm8¸vÞ]Oÿ÷ôÝî£?v?̨"ªös&.ÔÙ ï·.¿N ;ÍéîT×nòæë# à6'âCáÑÜ*ù[ÙOL©6öÙ­ÕXO9‘+lÓc(’K}è>kzPÇr¨Õ®ùuGqö»*WqfæRßÛÚèŠàǧP°ë¤sç°pŠò4%XôÏBÚ—«n e8)€O½ì5¨(â :üóó⌴jÃ(YVŽìlºñ ‰… k»ÆŒêRÔ#Ô':6ØÜª­ìÓLÖï|-öAx†²“Õ1Û±h æ¢o5îkÇrµ7ÉÒyl,¢Ò4êZ'Ë+7v¢ÓiÎoºḭ̂Fà¡ Ä“¸„@4˜‚}AחصՕ»)Z÷Ù ²¡6z˜þ+UkŒÙÃè”ÿ½ E«“gmQÖ†PÂdi…‘Rðõ§e†B/d™{Õóeh3$C$¯Ò G>›ïp‡C 'íXlõuJ±{gù¾›nßyg€B UDD_åÒ<€Ì ¾Â†HõöÖãc‰>E鉘lƒ*Ñ€¨¦ÊD0®f‘=Á%;¹ ‰ãžç:7àfNÞeáY =-„^¦¡8Ϋá8ÕoßlJÒó€‡MH<’1þ¬ø@:Ú‡ÞÖ™2†Éx£ã%„è;¢g1_q*iÑèØe\t’stà—¹œèÃk Üç…YÉîÔ‡ÍtWIÊ}§ð 1Þ#uÓ|ßH†r)"T/<­ÔfÆÓC?aÇZ¦³næ–Æ0ÍI&°r.›$ùw¢ÜNê;Oî%ñé]J[În2µÅ°)Ø¡%î.]ŽîXZº ùS.?/ÂÏÌðæ1‰sôÉ"áH)þœ@&N`¸}5T¦…˨Èß² GX—Ï¿*wÓ(­=šºFš×¹RÁÒßÅ$;©ØÈ”ü~±_Zèd0ý¸ø†¾ãAé½;ì)Э“;–GXÚÿ4PÇ,æõ”N2ÿD½¶²e-ܸ(¤¯{@¢eCh#¸å0ÿW&ˆÈp唿É}-÷ Jý.S½DQÛM½rã _ÁíúŠ%õŸ™å}¿àLBTÍî·n…û¾I­¥*‚››÷ §²Ø0&´†g鎧$A-Œp ^¤‡Éúm¤Óns. X¼`«ùB¦b-Ì:LLõ¹$c°rl«hö ¯Œ÷WÖ²,-A4?»HµŽxƒÏ‰‡ÀéÇÜËÕ³w!“î 4Oر_îlF7ÚÁQòÙtëö–·kqptȵõ»µ·-œòÚÂW`F¦à¶màÃ$™×t5þ^|Œ†¹¢¼{¹èÑqKrƒŒÆU …âC©€ïSæ9‹å—2n(c5¨ÿNpxÞ?ºX•“5x-tµU¾Ã°“ÚAïu*Æú£l>¬6e=&¾4ã!ã^kxѼ8§Ã)3#Pjö…W ® ÿ¯ ÌÀáÏQžðè6o™ D7^"”ü¦(Q#5\áÄùVŸ×@P´zîŸjUÕ5BÅKŸÝ×aФåV‘pÞׯØõ³ÝÿöQ̈xLôö¥~«#P¦éç¿rA#¥ì•&³5ã¼ð© µ(*‚¹ý›Ò¤×4>‹ÌM›âY~:Â~ëwfXñmrøû`ìqÒ°qì ¬ŽVèÁ<†Fg¡+fˆ]Vóh 8f ‰Ú¼S­ü‰ã]Ã… aIÄO æŒ|?¬E`_BŠÍ ý˜FUÀ¹…–<( ßRƒ™ö?žtÔþ[=w×G¤Âw f%í3¢4&Üé^v£ÏçFS‘{ÀÒÖz!ûÃIozу‰]Ç6ûuµkøb¶vH1‚p’…h”¯N!³_¬S™p£Èf¯¿W~c?ÐLn„žÎ?´šTQIÙšqMíBgHµ©™Â#õ£ž1™‹sLÁ³vÌó6'ð}+‘^Ó7ÑÜ3#B¹ÌNüL«Ÿo?¡nÍ +¸âÝø<Ø•Ø/îˆÛ ý0øÍŽœ…„þŒrŒ¡ýióHNfc¾¨ŸrˆèTè ùK[úèÞªB#úM‡¨àku³ÎQÅø·ËÍ Å ,L2ÇÍ%ëêÉ „O;õ®)Ñ賈¬CX9‘|…W¾¢³çÃFêáuÚ(§NôÈTHõ¤Rˆùé…`?g 3gbRk·0[?ÏGTÛjîÛfû(Iô¦U΂oË^YÎ]¿ZÔ?aŠž‰6J÷µ«¬wKÛUÒ+îNWR¨Á"bh®ö)$».Ü »¹½³Qp‡8Ú¥æÒüÞCßתµœ(Ù0¤ðé™É*¡ƒºÇäbºgø£*Ù?£?g¨lL‹­yÈŒö_¹S” ‘* ™·~1;Miö¤ÿéäC¢¿(vüèÏÕàHvZéq½7E·“ŠÆÊSYØçïC¬6}ò\ ’™²¸ËÛ4ì|0{æé$9„G÷XŠ÷÷—3@o¸(^‘{òÌû€½à¸'N*]ok9/KKàËÝV ö%ü[„ÖfÝ8U`¶þ÷J‘ê'σŠ-oäøEÓ«"b­¨v\.ˆ5HÀSéæû¯äYÌ ÐiâèÁJä!ËÛùÑZ5]×ë<ÂBSÍÖŒù…{ ÃWÄ3Þ:¤ÁúçNžLïIéÄ à"d(øç–‡p×§˜!ÐYù†+ƒ ÷ž¬ý¿ ¯ñLè+Ho5ö—¸\ð ¥æd£Àn¨²çîgïe¢6òðwç£7dµD­ögÌ™â OÚŸÉZ®,t(L X0GU•îå> Îm6í_k”¦¶˜°5pSX0‚Bžëçõ©6âóJxÕgá`x±ëU`´ØÙí¶ï9…_s)~ ÒÝi(}縣x –f²†z|A Sõ)îZ%¬Ò=Y=á^_< 4ºàW+͹Z×µ Wøóø.ŠöØÊ™µ…ž&›u8çÇ¿sªÀâ8ÆfžøNg5é5P‡—/×Ô©rB ÇéjÑÝ(sõa¾H­ K¥üÄcJT ×NY¦‘Ù¯DQÿN=(ËcÌÏ(0—ëZ:gR!83DÃù°¯¿Å‡2ʹÍk}zbå…Lëô(-Ù¿ƒþLµcÙÿÜÁ‚T@ÌÀ&‰Y <«GjWÑaÏšyÿ²6¼Þ·P‰ßûDÃi܆š¨€ö ŒÜb®ü.ÅÔOqô|}%0Îýg¿HÍPÞjE7m³7F… ºƒ/ ­ò[‰^¢ñNßÛ‰c1ôæ"—7V9A½i±g!¸4Š»çŒ5z©± š€¡9”Pû-zhX%=_&¯:¯t½r@Ù -e*¡åU%¢ ôb-1cFÉØw׆öòH‰s _suå–†‘U_‚œl± "úM–²Yª”Ù’iÌ|¨l¬‹SQd" Y)æ,Qj›'À5‘ lLcS=Þ1»˜F+m?ÂÓˆ^H©|¦-;ZúVxEvQá“÷Bû`û(Owu;þ¼ë-³ÑÃõÕÙ4nÊððom»ö•üšª,Î;ù™ó¸« ªpCðÈጺR?g…xÕ8üXÍ‚„>ÐIK]¶Ò‹u9Æ„!§¢'Ó$wK5FCøyÂ{ÇnÀFú½Þ1+ µ8ÊânïuÊLÌéRޱVµ§-´ÜÓaß Õ`’}dλì”0˜·ú”˜‚+ŸÀ^ ’®kßgùBRìÀcù‚2uS¦çb?¦ tó]ÔÅi²eM‘¢Šx2(íý,ç¾îøaÜï‘×ùUÏBÞ¤‹ARU*Î"B}8Ûu¾*"ÿ”Ù1±¾Õ› 6DzÝ墟ýP&SˆkïXŽ´t"Û®(órÐ 4éßô=<Ì +óâBdæ0—äçGíù²Ó£ÒYÚ\t„KÐu2_¢&›Ðkl6ÅÑ,„U¾X‡ ‹˜(}M¼ ZlCn<èãòÝB»Vò·ãëp¢€Bíä‘4ÿÎúñ3^ߌõf8å¥Ô?¦˜ºW¯"ø¨×B±¡bCí”TÙÓ^¹swÓG=µd’çäıHiRø´‰’©õ©”œ%&>«‡` n.ÍU™í à‰›ßÈâ=¶ÖSÏFˆò¯æ6/‡ƒræ„ÆBüiü\5$R’ÂØVá7ù-‹‹yØX°‹ÇSP\Ü$dÔÈc%µ9ê,ª´ô}mk¦ñ2qK#C’,¾É“ô¾+i§:¬žG¥/ˆÏñAIœK“ãó³d¶¦›Æ;UÀ­W¦Ûð¯@s$­2 –Õ¯¢XÅ˸6a½íN2Žr†¨Ü…¨Š`–%øÿC‰p»ÁÕÛ +VÝÞLÕTwÈNbvðíð–B+ávrK¤ý´]eäe¤®Ø\.ï}ŽÑ툒.üöVxÆ¡ÜÜÿØV˜~ßž &Usað ÍÕbúÿíÍã…/Í[²HýÄ&µ._\võYæÒËoð!îÞ³¾4èÙmŽõØ?4ÚWú¯¶­«ÿ½zþfðɸߜ`‡¢6’’ÐÃÐx¡÷~Z nêÿܱwbÕ™EÂ@s=YýÝ—v$Å4_\é?ØF¥²â¦ÝE¹ak^m·omœZn\\oZ§Š€fö.q T‡EÌC»äpq­®£ /ƒ¹QšM$g9¤:6½ ðЯCf· “HgaGߨŽû_SGôvsÕ ØätyU^øÃd;Ò6áÄ_ðÑêÌ'OFDþJë42ÄSÖ9Ô§FN®û¼qZ+1BØ84Þ}£rÇ-² •ðm·Í‡é Pù¨Hì[Vœ¦M8‹Sm}09«I¦Þx3*uôçæ/üdŠ.IKÉ醞¥OfN¨ó;.£Ïè`’ÖL}³9”ûœ¦¬¹~«ÿ”@&C/<J¢ëÕ¶"¬¨1_`2GgÔ.x—w^=eÐýÕ÷Â? I×]Æ„žPùØTí¨b綦àB('²<£!5-ûÜý†VK •øL'·}Ƴk1@· +0ÿbFËVsèQë22òLÊ~ÍSÙ Q hD?Õ4mz»?Þv¾FKhL.2àÏi37ú•ÖVéeÆË!!ô¾™óþ.4eDÖ'F£¹l#8£òÊi3J®%ÆÀ+,Øé¼? 1ºa]æ3ŒÚrþ™}s‰6H늽+­0S„ Ü\ÞÐÕ\~—xdúðdf;(O0M–Ä'ËÝ c`4”€‡Ê}1È(ì$Λܻ0úÃmBƒ‰¡7U¾™—ös¹vyü­Ë¡w© ü˜šš,ô³Ünx[»ÄŽ-ÕAaûÒŒ‡Ásæ–$CJÔŠÜ÷q-mH˜‡-[Êí[¹¾do$=̉õ¬ãj~㣲¡ð¾ÓºW¡û| xvàĨލû:À!oÙ9±—¿//ÂÅᎷ}’C†~34å¿¢lû—ƒÏïÚy*ˆÔf\‚ñ:Æ)ºü€ë‰T¼×¬ndÁ­h"èu°¹óTct·ƒyXùlÈÍ¡¾ ÀHæ-‰^lwºæ:Ñ"8þ¸±(dA>§ÕÓè×zÙáp²<ÖcÑ’] Ö‹(=@ 'bc¶û¦ïÂÖ'ZwçV€€{îïºCÍ ʳ ì{Î^î·ó·œÖ}™Ž|ðÅ!€,8p¶ZôGÝ*xÖÙ=È*p¾I-øe‡|G˜pº«ÖlÀœæOK»÷ ‰u;O©›jyØÉR9,ãi ÚVHB&7nç¤8kÛ(Ç#·à29=R†ð‡{íHÌ,ÔtUQ@³ $ÿM›œ¯ü2Ü{À›  ñ…ƒÇ­Ï9ßæä{d‚ô½] þùu:ôÓGèdKhs{ N[•Å÷ÉÈWûÐ %ù.-`rç¹WÑä(’µ%Ça‘ó„~Ü`uxó.X«>WØJËaG‹IÇz;0¤¡ Ú5†;"ÝX4Z§×Èä? Þ¶®[‰U:tÏL£ü¼ýµŸKÀÙ„|8ç\ö×-±}+—ä?æbð9õÀ€Tu‰ò®¶Ã‡Û´x…rË•ÇõIlµôáåü*vUæÆF˜}ivìMÿ¡t~°þrwŠªáÙò®šÍßô%®hö"¼}§z3䀎؃ ÔÚFþ2žÕ_I N( Ž/¤ÕôLºFVSŧÖ1¾lÿ¥%!C(<禠âv|G(ÇÚ\œàlÐfàQæš~“[y9I‘ÝÚ,L¯G}§¹DÀß4w•kf°"ž’pG«¸!^˜;¶)„ê¯k ¡cårCÉ;?¥—t9“ÏióXÎÕ¹nÃ˃d6½¼Ô²@A+/c.`¡Rm‡}ÆI;Nán˜¥¦':*zö?nɃʄKj°Ÿf½‡›d$Ù %LýÕi©+n÷•ÊÇð§šù’R—¡0ÒµöaÝá^Ý9û<±i~#\§Ö*Ai†Ï"‡3g'î˜R•”‘lÛõŽ2”«PV‚æ¸íTд:c8x}¡TrÒq¬ßÏÙÓŽ6ª‰cDáA8kÍ¥J©YÞ¢ÆÃjcäݼô¯§áÉ-„Bš„? M,*ÝWØ–º»ã=¥jj"¡Ü«Dç»àG ÆV!_*%@SQäpÁ@4"2ý°1žî4∔"âýT⾌N/ä—nòe–Và[·üQ»‡"€#5#˜å^WÚÇõD.¤Ï_¾Èmy23pqƃ¾i1úà%"d='R%éË[mº§Iòw|jË»²—åèj*'a—"YºòˆÏsönÊ ŒéÒÿëoš¿ŸÛ$dTþ%m¢]¶È’.AD®¥ôu¬%µ)^ḗ>W­IqQš€ºîJ Kq9Ä¢-œ°âöDÀÇ_Âj¢YàÊ+é,Ñ[‘Sľޯ@LâôªÝeMÒ쨼g ˜ ¹W¯/…ÄHçðd g²Àßµð¿ÂŠ^–…ÞP«,› `µ”všm_Ál«ŒXHûå”[³ÀXýë°çÆå°èúñ¡ÎK5DñiМ|"'ŸI¾€ó“¡¸ýóÈQÉÁlAxdœ¬ÍY˜­svî4›çUñä‘M«X™¾æˆ°¦å0<ø"vÏñŒ[ü.¸ÇèSÅ#cHõ®3õ¬r–OBé¡Üc™--¹ÀÈ7 eÃØ*ÝÔóÈØ£?•g"ÂÅ6úõ2ä9^%¶ øOCôrU¢ñÿÅEòú9^ ¶¤Ób¥òÁ,ZÀ+ÀÌï©)À^õn¸—ÄÔÛGlTv{fu[OË[ÁDñÊ.×Òüfíl³~p¤Ù“¼wTUäèq¹ažÈ<0CWó¡pùÀ¢À8G1:Z‚¡y¦ò•–°þŨÑ"$p×7hºØÑñ`”K‰æVÛHu³L†n"Î#ˆ“E+§1ìM²f“õ{Žâ`qmÏr±;˜Ðf¶scèš­?–!Ʋ¾a2€ —îpùwû«·Hð²Àd…Ñ£A×Rq‘y":Ü·Qi¿š)šPš UöuÁÈ®ü¤xú “p´îY•õÏcæÂÈ$ð¨ÃЃ|+üû$¤÷´÷ ΂iòËþýÉËvbß’  5…†: @Ìwo(PëÑí‡úÊÒd€[özðtU¾ž€¸úPÿ<î2Ãäç„ìóŠév€LQND Ä,Ë£?¾UÏšÈêþ%i©…š¿û§ØþMOÊS“ÚýJí4£ðªu—ÜòD|1œx'!‡Û’îi¹w£B£€YM’¾I@›”®ìR?Ѳ ~wþÇUÑÁÙ‚•ùªÀÏÖíýáÖùÅ/Ú¸ÑáðV@å?}“äîáÜ-pæL¹ò‹{ñÖpW½8Š|·NÀv’ÃV)ÆØ]þ«WéÎk0;O±Vs­«ËJÝù¨§AÞrhÑ6E9ö89gî' ¹p“sÝ9{× ´âV•ò½H„™;w:†}òèà6"ÿ©ŸÐ‚kŠÖ?Õ’V˜¤< }dL@>DfMM}1*.ˆ¨i/LÏðÜêÞªBÇi";{€ ¹dB¤gTSezÍ4Oþâ¸îÅMü„'Ú´‚"žö(È5áçD­´jÒsÕ#¾yl-Ë”„(»=¶jdjâ.¾Ý:,vŸ—}eeàc3¦T<`1Æý°¦§Æp†Ä¿ÙFâ{TŒbŸ^bÐÚP]xUîÀ¿—`@ß$Ë(h’’Ï@Z„ðÍ«{Îy%„ý£«1¶íçÓ¨8 ÈÄ>GWÐþ<ŸÛ¸,7´ÕcP­°2У¨w4o›ìê&E)óOAý³Œ;Þ5Ù–>¨K©_ÛiAˆÐ=cséÈsëf—aµU\MÇ("Qbc ‘ɬ;3´l§>Ò Ôv6¶”Û%îõgOFäv”–‘«z&žçnñN, D`|•ùùág[f¼sD,ø›…6PO‹gµà„< 3¦™‡LX·%VÖ1lÙ!þ:@G÷ƒqèb*Ê!E0R75¸i¾l $f'  V¡ïJ6¥–}…u胲£øè+J w} ËŠM´àYL_ièˆB&J¡#N“å(UÈÏÛ ½­_6˜[KFN €.‚6gtê];\£dV&ó¹£ Úïa_èûK›ùÂ,8¢nIàå‡%¤R]ÒƒÔ!Tˆàž,ûÒ QÙ(¥9<[±~ÙH' P7O;PóÙ+u©tÐ)fÿ"£Á=óž¨ËBG`+aŸ"½¬Dª«rœ“´£½®"4M²YüÔP3aÓkRê86ë‡r,†d%͘¼ ºð½œKdjI¹OV+yÇÈj……\sãÔ½5GÁ±Ë ÓíJ±[ç«%õ¥öº~^й¬ ´Þé$[Y˜ŽàµZrïih6ÜÇÏ™½-ÝKFB’ÎlÞ¡i6ü)7þß {Ÿó·3«½4 çÂÑ ¯Ûšß1ÞðÇ<½£~g—éÞ¢©{µÙ(?[ ÿþk%§°•pfÙ|…äµb*å%-pÃâs¢Š¢G«4¿tm“ÀÔp÷*'ÆÈéÇ$CÎIéôÉÂv ‹øní’a{ º6P,o]†Öüî+ÇSxãX ´ù÷Ñîæ’Aºá 4Q'<Ô±å•èÃA°2…ë¯ä,Š"-9»Ö_`Á’c<&Z«gH‡ðÛ¯>8òÜ*OÂJî3‘-¦\c"ñÀ5Ö§Ú*-)±¥Öçåç$h1aG2{J¤ÕÀ{©%˜pÁ”Š¢÷áCï×® EÕl¯ÔšáhçÅÓ1ö²w}]›*êE €¹Ùø=ª³Òl:¢pIÂÈÉÌ1Îý.¦ÚC³Õ<Òom€õ ŸÚÑb‡ö¬µ¢YUÄH ñòxðóúDÃËü‡dvÈé—LèÉçÎü"çš >¿‰,z‡íÔ?äM}‘F!×êäë€êqtó(Ê3JÛ(¸¸u àêú$XŽã(ì«÷âé·s'¾”Ü>&P"Õº>„ðf`…ÿ—3P{ïOϧG÷õù?ý´Ï1î~=€þ´¾¾li}f±·™ß:šfEj†BC]døˆÍ ]H¡!§<¢µ ˜PÃÁ†ø&ìµ§Àús?G‘VÁ+¾W…¿áîG™@Ì‚Wìºa7c*Yf+± ¥ÈÞмÙV¼Ð1­©kçl°m¤ƒin×øÇGAÂL}`0£ –³p@Ú´NŸøé±'4uù¥C¤Þˆ‹Ó9ÂM.‰½œáDЯŠN$3 ípñ‚ µ÷R" ŸŒlåSË7´æ•ˆbyëÃE0D4Z.é\y âøxàΚpG’<¸ÓUˆy‰Oå%ánñšzK(0ddj¢¯D´aê.ÇúwW¿ž‚¾äCT%2b¸´²÷káz0Ê1Ï.ÅÛà€ „S©‰ê¿Ê-ü ­8%¼RÇØ0P|ë{˜ˆ0ax6Å̵ÌÚ0y6¢ÆÀ¥àû®HO s¨Ýç8@m‰òîœNT‹•Ë´oæ(Ÿ —˜Å®&2<æ?aÀK¼ý I{®ÖÓVÉÅèÑîl…Þ^N]Þ7„•ÎÙ=°²¢r†dîlsK¤MKá,ù>bØ÷—„ä2TÁý$“J‚—‘öµ;xL^;7˜²LGeðþ—¯°Yqó{âõ„j2`o"¡Qi°Æˆoª´ò€&RëßJ'h]5I7yÖÚ”©ýØá:1±êæ÷‚™Ö݉‚3æ2ñXVXPH¡¹7“F€þ¡)Ì’Y]@æJ«¼ëÃF>xµ¡Á¡EÔæ‡Á\³;G²×­£ŒŽ’“åq|#èIZ‘÷¶…‰ÀTéâ]õ}ηI÷£óŸ;3ø0ÚWƒ8t"{æÞÍÜbIÃ%%ÚoP0î,ŧžUfT­³¬óZ =v6GOŒÔÏåDÖpþŒ ÌÀ?üàJ*O:Ç^ðĺ Ž8õk¼ÐU¿Œ1rž¤¤ÀƒfÉvµ³œµÏ÷™ˆŽC$¨4{f_ÏUïßH³ˆÿÖ.;×õÕR]?§ïEµê9èL4È^$ ì¹°Übˆ~x3Q~8ùJúƒž¾¥O+ißoªu yS‹ dߦ©[ÆŽ²0¸£V䠬Ŝ¯Té·F+Q9b»¯¦ôù˜)é­Ä2Ï…©Éïð'zÝ‚ù ÎzM)?äÓúhâíWîß¼¬…Æck…!T2ëP >wP2£ŸícêX)¥9-A!µ•˜wlWûJçG ¦$Xç *+|A{X˜œõNIôG|¢Ä1†‚§°{CÇ%9qƒ!&M~”· PÜ:ÍåÖÄkQ‚=.y÷”2pEêW`ËVe¨ën»ÀÍ ~ Á-Þ&¬xä`²Òn;õLNÕÒ¢®kÆ"ÍÒë( NDwqº¼‡#øzÁö¤"|~¡@.Åw`@ #„°‘˜ÒRΦßrcA«¤ ¾œF„¦’%4#é¶·– ?GÆÉ×­(ÞÅðóD~ÕzVËîëîa Ip»Iw"e¸æs®‚ç"‡è’ô¯(F>.|Ž ‘1J²ZsY(KÝ0"t¿ê3 0Cx½±×÷>G^j!í„>.δ曣ܪԉ""õ¿lÓH‰ÙHLtÁâýÂýš2Õk&Ú:E]Öé†:š’.$P°éð§¢Iâ%d\ÿ7”!@çæ¤B³ºÀm‚Ö>•s ™Àß“ßW›¡õÈéÿ“j, ½ŠQÓ]pk‰vꬭû]åèÖ+'"<øéq—‚­y•${ÔLëf$êÝ«s¨¥~ÃFxªW±tJ!”™ Òs~#áñÉeïþ¿ãå3ßH¹èè0>¼È÷‹A Þ–XB¦¡æî¸^Ï ß¥ KrÖöÅ_§:ú“…¼Aá0Ý^8®ÔiLæó)$T“¸†Û}mëE#V=ò¸Îý‘˜SÞŽW?J5‰A¦Y jxö%5߸š°J‰o¹+î&“Ǻ‘xÏo¨?Œ¾å­xØï 'û2ÑBªú $)µU9q ‡±™.‰»úyy=PŽpûìèJ}ekVG\g"zª5î#»í;+ñHø—+mïô¥”öàÒ›ãÅŽê¤=ÒØãø¬gf[µ“lÒ7û—Þ›¯,ûÀû]!lŒSRO»èÿÍ…ž÷2Ã,ªB¾•·2š,‚i1ÏOýa¯ á•´å‚Vw=§€OkáçEÁ?_ä5 v)ÅEQÒ:í‰,¾Ç%XŸÚËÕ¸7üž¿d;‰V ³xH="™ŸVaHYnI ¿Z—77qêdëåD¼¤E¹ Ì Å–$Ö6TU¿mx1ûÆŒ·ŠWìægu£(¬U¼¦z+hÆnBfKš“™xf"d¬: @Têjdù¸0ØÂ‡A×ÊŠx©rkv `AG×Ožßt™Á¥ȸýp‚£aY˜JñÎHl„IDfþ¢µÑ5kŒJ&“ŒÄ#çœQf®Sl“X‘l¥§\Û:ûàjå%´‘—ÑÚ-4^ìRÃSØeØ[béoî>‚þ¶gÈÖáåÊIkŽ*ÀMUfzõ‰5["c­aALi× Õîk 3ô ./ké3é$ô]œw•ñK·¹¼{ojD†èíGi1/Ww‡*»o(Hkp/y©EÁäï#ȸþ{êÃN“‡Zix_Œ'¡€ÝΆ”¤:+v÷’O~êéòìOò`ùøÉPéú˜Dqt¿w8.òÖ'ü/wË Q”G»ôÉ•ø¤|(äŸ Cw¶3.(ÚB“"1ﺒòû‘®©o%c=y»xyvVL(ph¸Ù¼jO ^`ìî 8Ý̹¢mxS_ yÏÍ Ÿ´[|CÞf]Ûñm0Xhõ‡ïˆ%ðý2kRkO£üH†ëžoõ,UÐq›%w8**‘Æéete¹h¾¼ÄVÙnŒR0ÔN¯ÙjÕI˜(óA™2W8˜Î —s=ÀJ,W¹u_x®¾#šÓúm¯‘(Êü¶æ\PyÓ!WE_¯ á`çb°:\Ó ²9Ãv} =tܰ©2ÚªdšÆÕr'ú÷Þºré[R þ\Zkܾùè¬ ìº^"J…<ÿo®m#]Ô¼»˜¶dã¡’¤?í.NèALpåÏ `ß ³š›mt}½m& H¦žàJóçbiw[Àwwº¤ëLî’`3¡G°úO‹[x¨ƒ/û©=r «Uï»Ñ‹ÉK“¦]ÊÚ rAΓqàÌzC],Ø_£“ y8ÒdeŽ)>ÿšµ¼~Ž—%}·xâ~®Jqs2ö2«·Æ·ýQQ˜ÓšH½V*¨o(*föjg}™eÈðåyøŸjf´Aµ'h`;…à¡Æ£ŠÖ§Ä[útu*ͲHù5ë}†éti’äÊuoýGmëÚê2> >%Ô9±«¾@rÙ)§ÉYÛ<†3vwT§KóQßçA[bz:Ô‹Ë=nÒ%6Ö ˜GmHq³¯ VÍ}m`\5)ôÄ¥CHðc^aÛî• Ä9-…à"ÿö&k,u9)į”úþ\R¹o9 Wàh×û£—‘n¼äVÞg¦=MÐ<ÜC@Š u1¥m?O\+϶†wÞX¼<ä/ÒØ8ÿ@†”èú·½ëZÑʯ#ùØW_%UXË·4ã˜üŸ¯J'®àùiB*ÏGš\>x ŠrÑ{3¨–”×ïU´Ö`äAÆTÀTg—¡:€P»'¿-}í nÿ €«wØQ½Æf ¡Kò7*Þ36âu:‹Uð”äzóœÏáT ÈWÑÀ̸þ¢J"å8÷Wž³à›ÖƒŽ%Â~¼–aßâg(äGù-#o9K.VÔxoBÎdʽ³=L鄬Í'fÃЬ„Ì‹ƒ'Gï±¢E#>MýO“²E©¬7ð_ò³52Mžû²L‰™~©ºú{ˆ1Tôúו’#´tBÄ!:-¥ÓV\ýûEm‡¶~Ž)ŸYø´Jæ1 ¾O]k†K ¬ã¤ßcœJ wá0*ôRÑ8rRÞg£¹–Ì–„ñ‚í]ÖIPCÖ7A.õ,ˆ4GßB¾¾rj6Ó {\;ÅcÈ éù|žãxøñ4s¨Òz‹ËþD÷ƒ³ÎÃw~ͨ7Gû½çتãPº>•Ø$‘™‹AÊy_i‡ð8\$óÒmëƒ1ñq(ü±ÔgJØÜ;a—Qì #´Çœä™ìÔÐ&1BÃÉ]븄nhŠ lç—# }öŠ Ž_Ã=#ŠÙ ˜"0å½&KÚv3”ëÐ¥øGÑ‹žxðm®®JÀƒ¸²Y;NHËr­µD¥š=ïìÈ%ƒš±ÆEMìÑ#¢ h<b}ÏÕ;ÜQŠT»hƒ§”O}ªl'¢ò{Ù2 g*vÚe¥oÌ3YdX;“^3óõ®.–Ã'0öáÄõw<º¯p:ÂÂÔК—¹ÉÒÐuHj2ý‡tÞ3ž£û<[±„\±K´tUŠƒv7ô“|¦#ä;KdÁ¤Øý™z^¬îLu±l¸ïèºbx‡Öc\­N¬úWîÃ5ä Éi]›7æM°µ› Åâu`müGâ4N°8·- Ù­Ñ¢ìÒ`&©m¾9‘¬ ¢Úªê.EÇ$ý>Œ`~¨Ept …1ÙÏ£ ¾ª…HPÔ¬Jý|uGúYÕàÒIE¬sŸ¹¦†×À 蕭ÑÒ*ôëõK…ç“…Õ?v—¯dêÀÞÿx¢3H=ó–ï­l§J¤ù¶×–\Gü£y§Í¹­ãx=x =ÞKoô|´ÁE˜ á÷´/œ]®"» @tdB¹Þb=Ym¥<Ç 5ô“%’Œ3ØE7þ7çòRc9b&mˆmé˜G¡”VH_­ú‡ £˜î¨“Àà)&=2By sØgã²Ë9¹‘ˆ˜ÅVÿ«OQ4§W?KÍܦ{oª‡ÉÏôÃàÚ,ŽÿÉš°1E¶W,“cÿêÉ7ô 9ÃjWÑU™ï„»Hãç ij¢lÀ°´¯xðïà±àûd´ÙþI\ÕfDLYaÝ-À±§*Z\ v¨ÇX¼b‡¶ÿS‹“¯5F¦m ÿ$ð±›´YÈwàÛ¬¡©FxGß¼H4ÉâF­× aœ÷Jh)@'‰ Þ”BòŽÄ›[mªÆ’ðÉVT’àŠrXÒê#¬ÌwÕ0¬çA ¾FGœ`Iãðâ^E,Ûk߸Þp¦Ñý{8!ß{85„¢¤[8ºéÓáDTø{,8¹’/‚6©LE-ñÁžò[ÈÕ6kk¦­ –ùä8ÑF‘ò²¾¸nq< ’m „+~±Â×=HSƒnÀq©“s…û¶Â”iâS·¥ñKbã b²"ؽÍ'Çn—)8 oŠY9yŽ·-Q“ˆ(xà]¡›çµóA»O6Käf%ƒ GÌBhªÒTðª²Ä5ÉèAßÌ æjOšŽŠìV„ÃÏ‹@IW%¹+tÌíûé­LŠ˜R†0èDåÜJëÙÅ3¨ü!«K@¡43Œµ0¼³apy@¼‡‚ã­¢5ÿF_¨B_?í8ÇòEV3Zºxhîäijb›·º"c€Z-†(®¾ü’„Ì\;T^iA\´âÙÆë‰“E´'ÖÓ4öµ.;êÈ´ƒ"I„iQ ÷[:¶[œ–ÄûVZŠ˜Ufà{Ë¡Èh…À¶>+VKoƱ…OíãÃy*ßQe:ªµ¬Ã~à2 ÑAA­0}]]÷B´x’E<ŽÖP„®z}§f¢ÚõŠ*¸©m—a/)Æ"]}±ÐÞ ·å #æÆwœ«Ñ–5 ï‚Îgq¶Ú0{¢=–ƒ¿(ÉU >z†‚·ßGƒA)p“ÒœûsEg8ö‘‚tZFzÉf˜fºœÁÝ"Qþ!éÌI8S»o13˜%·á±2ûøR9™Ÿ2LM©BiNvýçƒXXyõ>ŽÇÚÿ¨ªç`ͦf.-´™º‚woYr]V„è7©C”¿+ˆçlÕA¤Æ+ûZ~·§A)žæËÇ«ü»_tK'é(K]OÓRV}÷úd̺[§^P<©³,ÎB11Øx‰=YCËôp—ͽ"PÝR•(Iî }AbMWº«Gßzßù˜‚+õ¦ƒªõÏ<î¥!ŸÓãRU¤Ü']ôØ€2t•‚a²ˆUb-# þü ‡sp¾¦…¯3`OÿžiNÜFÑûjA‰~/ z<—ç¼ê É•Û?!ý¡P™MP0ú‰p(ƒ'Ö"EW˜º£ò“0—@,£àÓãÅÚTgÖW6»°4ï¥à†ã0­¯õ£à¡ß í¤ ßÔ>¨æ‰¯õQzJ–½Z ¡ySv¤T“£uHBugÒãÛ¶?ó†¢@bÒ†vï®!QRù3N»@7«„"ÿÏÆéò‹»]л“ì®ô“Š!ûL…~š!lWÖ—|ß”éèúøNˆ=u¦»Da¡ë¹\ç£E–ê펀5Ç. ´vë„,¾ì¶ÁÒz¿å»cûP“Cå è¯0#×Úâ*Jb,k órį˜'D|u5Ý4u‰7øÐ¥¢ ÍÁ&ш(N`¢=¹A SFøÇ<¤®£ßâaW :™i”„ 'X»¢íÉ’p>|¢F@õoêÓÉÚÚMß¿ª`]¶Ž1n¦.WAÞ.¶ìë à 7‰~?7ðüÞ¦ÛÞ—´Oî Ç'9±z•‹,t‹¬Ry&Ä"$³ºó€o8iý†Itõ¡{¬6Î𯰕õÝ:ð¸WFÝ_‰|¸°àpÀ+uäµ¼”I,_Ë‹›ØÇ$;÷Á4ëi+ ˆ¬¼);¢Èç,Z=~C~Þ*Ù¢ü°wéÏnñƒÈ§¼4¶MŒZ?wþÌ™—MÀ)òÎ ¸Ì™¸J1q¤á“Ë[‰OÃa° 'áï TqëÌe$MËñ É$'Ã;HÆ2n„[Ì9%“ìÿ k‹²Z|œØ‘õ|‰r–ß)®'üßD·/Î S 1¥ŸÁs¿3]{,‰.½bÅgÑ]©X&"^m.ð0ŒéYƒÍÇ‚ï‹Q†âŽæ aï qln•l q[H1û÷ùX`Ø>:÷«¯÷cœ0tŒŒ„fG@û&\RJøµA¢Ÿ~“X”þX€z …NeØí­-õxztÑÄÓM²Ž½w×3fÖH!h p/[÷;°0Ÿ¡ï] ,‡¨êž07ƒßn«ý’{ÒC'ÇD5Ï;ÎLË(_4—ÞY[Ž3†éÝáø3-…ú¯ïUsw@bç"ûˆ:ååƒüÁ|A)f+ä8í†l¤ü‡Üa{õz…š1¸:<0ñ ÏÓ²»ŽEÎŽT zz ™[ùÒ-Õ¼áÊx¦ƒåW'7r"®¸“Ž ˜\ ~*Œ7‘pð䙉z¯úé^˜ãyÈå®êKˆ!ëÔ½!; Ny5Ѳ´¤5»$w “» zjÞçÁ†ÜLÄ×q(¢µ:© 1Ú>FŸ³+@…=aíô£rGCÚY˜è(DpÀ¾N.WÛDô1VÈÀ‰ú¸zY›nå2ý¯‰æÓLØËà*5ö̦Ţ=¤LÞ…êûí+9F¡ßñ¿Æ·Ø6ÿºçŠ/k Y¯b`vß1„\”°*z[ú3Gä'YÙC8¶üYŽÁŽ…ªî„pá9Ö×|Ó(˜HO<æ=å蟯ò¬rZë‰üøÇES}Á꣇¬JpuìDlYâ|‹Q £gáC˜É\æÍj¢‹DYè £ãð2a´õ6XÞe;Õ0 ±. ÿçWÉ·Ho»›’Ž-6È%‹£–Ð ¬M×DåÞ“µ8Ó©?†«ò‡§SÊüwa¿„‰Ÿ·[4-)ì ì²T}#LÇQEŠ{§ðÜS¼w¡˜ÙT‚3ÊôÄž 7#œe‰»¾ïlÅúQÀM‘mà^ýLÞ542ïD~|÷=x'KÍ­òfHvä;yAc¨ãni Œ8QÑØñ(ÊW±+ƒ3FoìÄ 6ž2èßk+þ’êæG³ã÷Û-ø{‘)ï÷¨ìò¶.›¸qú«ÛÉ,§]s\mû‚ΠW•yá#Û^‰¥œ…ñÜ219×™×ÞW‡ ð½àªásÈ®VSøZ­•Þ/Cåa±½Öà[ÓN°ìíOÞp¬Ÿê…øˆ›KãþÍœéàk“Ö-m4¡óI¨éì݈J®J€”¦¨1±Å!+¦' õ¼I„¢;Û”Ò_j¹•ËïG+±ênûÍ[íO– ¦ ¯ÜQ3±µÏQåèÀĠįôIáâ8z"82U 1»ûOaŒZ€ ds¨¥mg¼Ý`7×<ÞãßÉm"*‹Û«½*X—8¾6ãx9†ÿ”Õ9Oøá$Ëîùžß©Vhü~ýKΞ_ÙJóJU°³câ£ó7Ÿ ÈëRh [ÜUyì§+¡þÙîAC|Ô<~ENvf([Lä¡‘GóäŽ?›<»¢ò€mªQêa= n'û6µNáC4BßÓS: Ì• cæÚÚà;¬Ñ7c¶/ã?¢iUÌpØiN/7½žl®¼ÅðÍ’ÈSë$Ò5Å+b”]Ûï]Ά‰`±ØõßÚq²WŽ&wÔ%GO"W_§j=–Ôð1PLǽÔ>ˆù®ÑíXÅn"è¢>—¶†ôd½W;ÏæÕ‰)·67-‰Ü\=1RýQ.KRAówl+é7u—ÆN*Ç ü½[g²žL»i¾T ÂÀB*Þ÷&;ìÀxÙ—.ƒ§2aÿ\gmV nº…Þ4QŸ_žƒ‹,G³3˜ç)0† B=¹Þ9…c”ô†4eú&È.I³9ßyn.L8ÉüÕ†ÄoWô[ :—<Ž ´¨u¾Øä½€Ã#¢â1Øzå£ã¶Ã×$|e:Ë8i¦ä#´ØÜ )<ÑxlGÚ“èos‹ˆäI˜“¯ÀHaõÚâ]#òfÃ÷Ùoø´8üµó8ë±|Ê«$“Aªws—JØ* œü"q›’¨xLkhãUúôŽu7vÆ"ÅÌ&é+°’ž‹¨­Þäú v­\mƒN^±aÁEâDˆeC’®Ò…£Û3ý,&(y !Ê:ÿ‘¯ù„¯èæÖY—~èb͸{ûÇÅ {tV‡â1vŒ%Þ}*½¹  ÏÁ˜TÇ ‰ˆ`&!8- ²Æ/ úïg=U¬8‘f)X7-4 Œi#U¸â›Ò¡!Ú‚…'FdìsŸ…hoOa°(Z%dç—,áÊ!zÁáÔðX«z?Y+gGÏ+´ÎgŒ±Ý§°RY>r×ÜH®Ò)ò‡œ ÕİÂ>­§Dç­ÄÛëªpcÎ(\²C¥“Y˜æ•@2«—m< Õ.VYð´ ˹¯‹:“ïtòÕá\*F8é`¦ø>À)²7>è¹ðœAHšjVsõv8WVæcŠ¡r]÷[ý£Z\«HÙ[gjeܶ!K©t+(ïTO¿¡­¤§êTÓî@)q%Ñv1ÆýŽ\÷|KpЋë¦íþG~Vئ¥Ds 4bo(Ö*e`¡6í(ñºÂ¼ ¤$‘Úš]èY n#×öÜF°v‚ÙÆž>—4¥˜¬j*`ôÈÌ’PHúìO= DgÀ‘öNí>ÉL§#Ìv꾡MFóÜ¿O*ZS‚rþ×Íí5• rÃIÛE+»ÕüÛh¦r yjËXJ9÷¦gwzA­²¢ÒxÞ«oYBXYI¤* ¾”æ×Äs­,ÄØÕ'¶A`xïSGè·6þ'€awÃhü[O-(:¼XÀ¡®ßÙKìky;¾‹EkSQ~¹E@KGª9}n°‰ Ùâ2v9!uÏ[Y+»#Ý.­Ü[s]ÎÇS¸T[Ü_HÜ”kT‘¨]©´¶ŸX˜%o“v3NÃ$gÞ6Nufb%cÓ¡ŒÖp7u²žü5-4A¸¿IÐŒî] "wl± 9¼ˆƒNgèZ·RV‰é+ì5ÇôŽ:c3VSMé°ËòÐáÒ6l,jµB³¼Ïæi{•CØgÌ.¤]W¤E/¢I ã êóÕàŸÀÊÚ;7ƒ¸ä+„?<æõh­Šv¼×1P@Ý/Ú&["ÈŽ[çLÕë>ÀOÀ*Uõ%7b•Âp|KSiáõ@ÒQUÛhÕðwƒkÁÑË ¥ÃÒSAß»tÍüô‚<*åo`GP•¯Ö8ö¼Á“GåvÂe‡ÃRK4…â!¦P,Ê=$諼äw™O¹©ÆŒˆî½ZkÕ‡g1‚÷ñ‰ÌãuJJUL—ÉÂÉÁïf[ÛÍΖ;±¯ôx£B Hõ—‰ÉöÆ?Õ‘*¥5¯ž…˜1¶™E¥%lîõ©F#BVìkáj”qŸØ¢Ùm¯¿ÓimSµ³Î7áºEž›[#·ŠZf̽â%0QœÞÈ%ƼQ.ÀãO Â}N®À7˜¡š½ãûÛS˜Ò¾ï"j^>òëÔ3²ùÓ¸AZÝoêl"w:dlÙ ŸüË–úV1+¼Éé¹h%`º µ‰rÃ,·E—{M¬pÒ„þ_2ÜÛ1¸øùqè©•}oo00Q!ÐX“*'è2™±à/€ôª–INk;æc+Ó¥Ÿ¸* eÄé~óók÷PBáØjEÞÛA%E>ó‰Ý”-•áÔƒ…E ¼SÔh¡6­ì²H¨Y7µ¸eÄCcªëžWØpî¯]c 2Ë wÀOþzUˆõãþç]Flr eYU/Õï, 0\ú™7ÆY™BW]i|{¨‹§üîR(aÌÁÙ¼A*½´.3¸_*Ã$NžØ•`´kÿ:Ô5ž˜ú¹ þNW%„ŒÂÜ_³ù^ LVK9oÛ|’õ°©Bz‡«(!2 4ß”íÑiCßü·)ö Ç'g6™Aá/«–µUV¯[0 ï'\f­?ߪÖ[Ïë|` ¯•Taû¿×®¬œ7K!ÁeÞ"Ø£ýP4~˜ƒÙø•<¿OVÊl#tŠàÿªŒîÛ!C¨>uo hªÖúþ–Ÿ™Œã¬­Qya˜Uü±ElÀª}|öí8pÈò óñ´™_rÉþk¨òñͯóÏ/Ä Çȶ߷1ˆ”ÒÂÐÛÝ6PŽÕ´¿^”ben<ˆ¦?‹ŒÏ ô_Gû×Ї571.ßüÞœ•Ø-ˆôÙ†ãív § ’+pn°Ð(v{òù‡!OQ.ÜqW ~Ø ?=Òìk•Ù.Žhà…O¶¬8Ùâü¹ eïõ§Þ~†ç=ËB†±<èvj“MjH ^ÌMÃÎ/ªB¿­„`G-¹Z§îŸKÛRõÙô´¬x†­ Ïöµ”t®ß} gm˜¬ïî÷úBvpç‘>ˆ„]X‡Sð%ä æÜJ§y3“»®¥n²|ª”E ö"økl¾ÓvÚ­¹;t†®ycÛlï“™'¨%Y¾ª½ÌöK—uªì!æøßôQ¸¥0iu«Å‡ðÔÚ¸Ÿ>N@sßÂì—~¹&¤šÌ.kS-SÙ\ìà‡Ú‚ñµ ŠgΉrÁш£:ôoÿn _›:š&Ül+KTðÜÜB->‚¦ûinI:Ç=-qš±y€gÂ@4BÞd·wкÉ.¸¼ÁN`‚`wŽ„ *,x Hp•/ñ>P48Û'ü´<¸Üwp—eÁ`^‘Âyæ<ËÅnã ,í®J[5 ´!™‘1–h¦Ž^Fúa¶0š×&FÇÔËl~ÝvZ@âÛ|?¼)Ñ„õ¦Æ¤žÎù¼ yþÖ]j³ÝÄû‰U裼icK>à“zOh+òÛ|Ëuá„Eó/xc>õ¨rIFY­¹n8 ƒ åÙ»siµ°'­ Ð?Þªå–;€†ÑÀ“;g ™Èr× "êv»æi›×Z~FþKû·›]Š•Nm(áÿœwÑ|!Nœ/š ou˜«+é —(㘱Ù_©°kÎðÞ«‰&eæó!é³>Xc<š*|s''Þ ækâ:á’ì`¥1àýÂ0‹û©G¦£ *y<ˆ9cúdämC%g¨â^ÑÔÆ³öt¶Ú¾kf8Ñðö,í{㇛βé?t¯µ3¶ÓJtùiWÍ–”gÖ¥ø °œÛ¡1+ÉSµ¿*FÛJ®P‚‡…»lØTÖÉ;ŸE³”½mîI6Mñ¬b§ÞpúºšDl•'ìÜ•¤¿d’ÌåS‡*¹g«y@ÕĦZVNήPt˜²!;cU°yI;¡¥c ·Ë'þdÑÖ3Å=‰i«ù/+†Ò„}á@x¸}ò#Ûïÿd$°£^qDú‰ dˆš¹6™£&Ó`£A>íÁ„ÖTÕ1/È&a«¼‹ S?3ä?­T€²ä£‡(|ù)[%• ˆá)~„!|¸³Íl×'6—S"E"ؾ™Y(ˆ»Ä vv ™k_cÌJK.¶°bÞäÃÎñ1ÇàÌÍG@»Šƒ¡ø6xu’Ù‡'0.Æ0Á¼BK ²¢À¹"ˆ(ÿ%]òñj’p ¬&¦ˆ’ùY¥mQ­fc0ŸÉ¨n:çxÀyNj|hÎ<Ðð³@ðîúQ”_ZK©ðÜìÒ{ ªŠqà:{äßì¡^îpÇ/Þ0;A(uœÆAVå5÷hw±g[­ LÉ:שÔwˆ\×û½JÓvâ¹6[;zûB™ŒâN#BòvW [ÄÜq“hÄøC@cø7ñ‰Òñòþõî#äü<M}ãwl\Ê¢Ö4HпuYIíÄ«KiºÉ^Øz+!?W·È¶›ÁaùþŸÓ0AůµP‹Ä¶&ºK¡YdzWK²¯À¦ XÖÛâÈB \¥jC½®GŸsTõÿ…:e£:ªÌÁ0káM6·ƒYÅÂÞw…˜òúU¢µJ¤P^ê„ÔL|fOD,Ë~ÞÄËKÄÅÖ•òÒH+bF†øy}Üž#Šýå_‚Z½­ŠÐ„®Ý²² A2§)Ý·±s"9£1Q¿]ÁªTb+KîT' ŠºoŒó“o}v½æ^‚ÍŠûµl Á<ßeQ RGfA^‘[î¹iP.•£¸%¬¨þ2£^M™ÚZ!Úpˆkœ8R}›NÁªëyS[·­È­çÀT¢#»ž²wŸ°–0(77-)¯y­Õ›Aª ÈQ¿V6™%Q±%à–쬰۴KÄÚ󙌑b!âCÅ"éP\Òb°²‹¥•} Cç­ò×ë›Å¬ô óÔù¼&ŒÐnÇôäH¿¯Ùþ±í½Ì1 P®Ê"_ d¿UsÇ `÷“˜€¥éT.œE‡3‘™,«¬«²ìC(b±}îÜVe_i(Ü÷$Ë ”l×ÀýÌuÚt,oU)SŸ<ûê‡Ð9'À¢¥°ŠËó¹å&‘G•,MêðbUaßL*< ¥&B<{>†i5˜ºŸ È\ÖPP~€RjeÛ¼ƒe÷‰ä8fškÊž§úl• ‘W,‰Áªò±›>mØ©ø~«ÊGGŸ{RÝàä 0ò¡:_ž™v4g2“ÐJç§À•«;ÝžññAD£Äê¬^#úxL®¡Ó¤#X±5ãNsß3oÁPS"ÎJ•­|ºQolWѤø§NÔÞ ¤Û9‡“‰óÎÇféq¡â¼h¶„mÂxö? ãÿG^ð¸g½ÙÝæH˜áR¾ÉzôÞ¸ÌDõ©_‡¡ÿ¡£™e#™àʇ¿ÝÑ¥.zó¥]Žóç®õè ã+›pÎå‹|û’eqá.ßcæ~pè†ï¤â.¿®‘l`éáâνÍQßî šR9멯!B »:›Í5(Åï°®áAL|NïŠÜ )¼ÏìÏjÀ}T2fqv¸ø ôTüû ¥­(â‘•aZ VIUµºLÜî…>ë»äE0ó[,¥ N[N‚aÔn6Ï­»£¥˜%¾ñjšBÚ˙Wœ§v°¥O˜Qt%wË>?òá5;–©°ÒeÑe&—'(ÈÉ‚«'Xöi¼š$ïzRçÕX ÍNŸµ‘‚·»ôíÚ`CˆéÐQÏV„Õ‡Cޱå#&ëà%Ÿ~1Ʀ\`D5ŒJFÞ<-‹ôÀ;w”HŽÙyÞ>„=…°/‘î #_¥™<;þóž‘éû1*£Í«ª(¨ª<ÓÁPçß´®†&©° ?“Ø/•¥_¥4lƒ £ÿê— ÷ÌaóA‘•¿>†W 3PRi…æFñCaßkR“¥)›Ô+¤ÈBګ㈤„oSèJ2Çq“笷H0†äaö§ÛFÐ'G&šÙ°„Õ{¨])‹ ò Näê‘áT·ÕðP)Xd²¹˜“¦BÁn¹¢ìƒo ɧOgÊ-Èm¾ý«ÎW®_8¯¸|>xÉœáyK5Æ Ì$DBßmfTÕ…ñ‰e)U’ø;ÇúìAïúþNåýc“ó' ¯mþËâÞKëR7 êú‡[cŒÉbS›­3a*ÖXãˆüo¦ˆšnõÄ ¨*’]Ð÷DIÛ\stSG;(,–E宎‹ç±Ûƒ³ø/YZ@iÆ×äHoRû8<(ÿ'éÊ‘þ¤®p °^ßͽqpA´•FËÿ<3ì0"€Ðèó‚Gf9ûCšºc8@«|§S_`“ÃÓ®ÂZ«¸@¬éDõ±öÎdV¨¢ÑìB\yL>*š®30½åDY›ÁÇÕo¶¹x+ø©$‘+V,¤Ÿl¨ë';Añ|œûâÜS¾)¥$þQ15Ôè<÷?¿>Hì?¯p¿é¨ßç…]ý·@MÌp­¡Ö¯,‹œ'³I¿ô³MÍJã©òéLâ°1Z^n#¸®ÏEŒ]r[v¤sY•Ò%iÐw@ñ†SË﹜n#™½Ð‰@‹…8þ±·+ÑAÊ:O¼“ÃSý÷‘²Æüó›ËÎW2øó­õl‡M„Ó¼œ™E-pŸVÙà„T"Ðì+bé'û ¸$Pí^aPK5eÂîÛ”üÚ_ÙqÎþ»TŒYǧùIOd)K4ÿõ¤.¼U’á )åÀš@x ž1Éq!ܧôI€“õ†¯ºÚ×ÕJ/)Hh“İ=)œÊÿt3T©x˜bKOœù‹A_cT¾'Äê{±ÞÃÃcœ"cëbÂNQUËf‡*Ñ)ÿB2. AÜíƒÅñɘºN ÖÇ wP`K*QáÀ‚É:äqOüúãàì:{è æ¡n?ó&¦šêŽÆñžìXü~nÛÝg`XÁ%z xHÁC98ypÌT¨KâÊç"3'@’³>Ì¿(SÌê=FŠªÝÜj†1®bº1Ç|²Šò¼¤Š ›ih‹öÏžß‰ŽŸ© ‘q0ª9ÑøSpï²zÉ—õëñ€yrw93/:·™V~fgß=dÎphQ?`L]ò«P*¸ò-Q÷MëynšK¶.•ƒï¶žÌ FËöwøÑiQ3!P] z?E>3Ÿ@‘<¸ÑÖ¿ímFòí÷i/+ØžGì袉âpËõ„dGéJÊ ²ÞH8Ï ò|V¶-²rîB7IÃ’ˆ¾?à#N` ó>¦•xŒ-Ã÷XÚèú\©~"Î3^è:Õa#¯éÊP¾îþñGCƒ/_|ˆ¼¿Šb€%äûæ w%Jm“ûÖ ÃÏ— Ÿ…e§+ìÎdâÞŠªºLÓƒ^` î8ih Ö‡²lÖÉ”ò¿7–ŸA:÷©îky†pbûdK¦°ÈJ‡¢t²ÍdrâÃŦâv¡uûJìAvuH|¤~_éR¤œöü;é$kÂ<ËNGr´ªDZ¯æîý„­†ôÎ`ÅÝLøÚ¬Óy|ˆFtû‡ƒér3ØÖU4C_k{j»(BWâQ’`2òÄŠO&aî³o½µ¾%m2À×4›U¤í&çîx,û÷bJ0¢ò T+z[t$»ƒÿí=¥œž´÷ Œó³â0©'¶ÔN™U·©L&¢{“?pà×ëûÛbV ¾¢°#yDÇZ‹²;ó®Ñ5×Õ^‘Áظ¯-Y9ÜË™áó_NÉb1h±³×&K‰S¸Ž_‘”?Œ|%h;œ3ij“u%=g±œé~6{/úÂqq7] ´€ãƒ¹¯Ö v‘ Ûïë1$AO Pz¼cRÕ¶ûsŽ»õ|oÌ%“€o¢ %Ua•BÏq¾Nª^¿óµåV{¦Ã(%£ãh*~ŒNù†Ž=¯> mYh¢©TôÛLÝW¥Q÷mô0PRï¾F©D^·MQ±€E4BÔ—N±ã8Óx(ܛߖ,®È¢g‹àŠ •rØî8'.Â<&à€’¸?‡Šf¨ø¼êGšø1§"Û+Ò0ž£:‚K+YÇ0œ§iYJãXN‰Žf'Á´°%k  Ùe†Žßð‹ÐœfÂS¦À/JºzÅòaPI©[Y-0*¦R‡DÕÛç‚\εD#Ѫ?¤¢Ê„|HL¨­¯§öÚÓšÔs[t¥ƒeò Æx+çàZ!!?¢Âa®W§iË]¦®-/Í…O[³ÖÈ$©`t½DøhŠãvúfCxÿ@ÁR¶Ã¹ôùõwLÎ;J"', Svp4ô7ùLOp£ÛÕà$§Þ˜ú ™"l·ÏOí´+†²c­©Äi5>Àß^°oÚAÛ¥‚e£Qx?ÝiøòÏwn9ïGoAì —ü=¢oJM^õÜU/¸ÊÜQ…É€½­aV‡OiJ ž7j“qH‘ÑÏÕÕ#n ˜X*Å|Ñ"ìðÚMÔ~Ç£Sç»þÇíŠ=O1-ŸÖ Äsë tôý¹¢uü"!åóÓP4Ã’Ç~­¢ýEŠ®à1É*Sò-=uQX’?oXhâ Á…o«73ôႪ«.xþ]Éí4)%•ö<cÈ—’¬h'^c )úl®L5øF¿Bs‹ƒ›ho)påã.®4ÙUг&Fvœ ãbQ'ßvì¿PAODIAÊr’ä‚Ùÿ‚ͯNòª”Zõ”²2] 7¹ñ=åtÜT‚),@¿&)ÝE,dl…Fþ´¸æné9†'#ÍÃPÆ/[‚½ŸhËéq–×3ûk1Úê½´Kâ…ðÃÈý›üÞo¥ËŸ Âó7GéÏÒJPok´í,ü!Ðpêtí×Ùþ›ÃQžP‰¬ÝñiIˆðu»uÐ:´wÒ®Idë¥)™˜ªבShwFÉÙ™”ýPªT0\ÎV!+I"Tºc~ÅøÇÂM5`ì#*‰“ʈøi5#kŸü R3Õÿˆ=0\a3Õìr7nã¹î÷éF@lø*š*ÃN;|U»¸³0'å€å()ƈ/ŒJ^ á9Y|¨ÉXúBOǹ ±4UD$x¬[C@KhIó8ÊRB,|’[9T((ËzÌsžn) ăeu&g‚Hw‡I]Ý,·˜2*&Îx*Úñ”ƒ˜´TPFÖfrÆî:ÏK  ò>@‹Ò¿Þ^¯.S‚™(~G̬À%æÔ©?*ƒtø|yÃbÛÖwÃp²£J2ØS+ì£JX.U Üd‚púPr¡òš¤ôíä9q|H/&¿6xÒ<*÷Ò•nÀwW5Šp°ºc¡€Žà¬ Rz9qïêH·UËuŒYƒþ7 ÝÆhËÒ§2@{}>Ö­µ{’ùÂ$_Ðxõ¢v-ίóÆçŠaÙ^Z²þ«`¯Í‰^£y¨Âbìèã<·h“¡ÌM¦0…—vW[AgPµªR|? jú#vš•ˆp~ßbcÏû³¸¸Vê< ò&õž¥»ÍûZ޶ úŸ‰„ÿÅÝæÎNXÏý‡n_özØHËï‹IÍÝM)Ó!g¿c 4î,-q}ÏÉãý—æŽ'§M©Ôe=w‘Í4à‹ÚT¬¯Ûò…:­€NHø1uÌøÞ$fI:ñ*1{âšÈÈ¥Us1ÊŸ6|µ‚U.“/šè¬áƒü—MÔÌËEÑ x³|޼Þ8:î´°²ÃY…俜x¤r’YËÊâW.7˜1 š`áãøqªv2~răüÔ¡/T~"½+˜ºIe¿ßDRâ¤dÌLŠ8æ×uß~äa­ïÈácu±= <:›>ÙêOÕÑ¥kè…âs„Ê ` —~ƒªO/DLâ ¬Ü3 X}€2ÊpYx9Ï÷ÂmšvùŽN×Ly^E¥ÈX ƒ°ùV“O²„Œ41*91i(ÃO2\ÞmeVÕ-þ‘ùxæÚQW](_ªèÃ6v’’RºI.'â¥~U'"'.™qʳE8ú²!O>]>ePŠWºd­2¸!‡%gZ”gÑÃï´6ʽ|ÿi<Û B.4I(&zº[þ¨È=ó8@’¯Y]–bÔ~Ð.Hcý[„¿,yà® Þ]È¥†:-ì7Ô!úKýqs˜£}×*†!adîAÄo¤g?ÑÖ½‡µÅ{ø>n]½Lö`s0Ã&Z(„¿®£.岓´\s+»¿nD÷´Íó »'|ÖñðA)4¹8G·t0ªIRÙ–¾e cXû$\œ‘†ª6ËìÈú0¬I}rðê¹P« T{¹z$ªO¥x¥®âƒµ±öca°uÌ}ƒg͉¬éçóNõÌÃU Tâ'¡‡Aj£à Lâ¿3Ïkù^–T#ÔÉA€ZÑC°üëTVîÛóÙJSÏ£Ûàr—´ù·õ5õŸ˜g=ži·¢x/¿ñµXaVŸ{2^à½QºRª=_øH™vW‰uE G&xøóϤ—ýà‡Öá§ :äË%L!˜BŒ=€È…Ò5±uºÁIˆ^&Ê}|=B·[ÿ}©!fžFçJxŠ“æÙ ¬,žÃ¸z®•*œ=e©Sl› =¦—F!¨IÝ)mrmãØi0,˜ïß$ï(®5b-óêhÙ¡ÆÊ³Òsã‡õÜ0xôñ¢!}x®Ô` uŸcg¢ xaźK8‹¬GPˆZH·²:V‰^»´Ã®à•Êšý‹”-Î>>$ ”z­ Æh-Á?@Byÿêæx‘°ÐfÜkøäWŸ#Ðö~ÏbXÈÄ9廢‘£u©yˆ ê´ÔŠ[ßß¿£ž~ûr|L~{sµÒõPOavp' ¦\Õ¶à~·~šà\¬;M ¥«¿ª“µÓ .3ª‹'®×>^×a­~4 rÇX7†°Ñ®mÀvmÞ&2$‹à?2}»ÜE3JC‹r¸WBñ(iNtiœ3Çõæ¤ê+S!žWß1fãºvxá œs'Z!ó±käØu Aœ}kL¡VvÊiÉ~ïcbÁçËÀ ÍçMqÌ “}ô»Ë=ÆäúŠ"Ë&j<õó…•Ïn —•Û,‰Ñ ”£Ñ+ѹg:3íϺQˆ¼‡5=Oƒ±Uœ_#ôÈÈ-%‹½Ìcÿýƒgë®úa¸Z‚ÔO="ä.…ÕÔ€JÈRäý ßå´Í ‡jwÌ]ÿ |½†@ã±ÞY¹+ÐLTËŽòùDLÉMƒaP ùHiý7dÃɇESôe®-t¤î?ãüN–¯úuFÍÃËÉÔ‚•“÷ ;Y¯4ºcǰä'èÖ«+—¯%,¥§ÄT:ÿU2ì³Y•ZKIÓ”?¡Ø¢Ðßô•ÇŽÎÌVs¤K¹7>«w;¬þ‹†a‰„V| ~bÿWŠeúz¯ê]tü»è¦\ :K xݓҢåëH' ä+-7Jf?Bä4r‡„+R£ïÆ–T œ[áÙD-,—«¼ä}.Tª­þ¼Dx+&$œ­ö†!›…«ÿíä6uA`ª ä5\öjÅî8ÛûÌë˜,îzí*¶š`ç¤Ëʉ`£Õ'oŸuü‰Š¿U¿|jÙIÁf™Þ+0ü K-öàï,óLL["HRÞ ±i*y|@¯^vÝu¤,§dáÆÞÀgr ‹÷®g¶‚™IR]Ö9D0Z µå|ªL«Æ-Wýµ’Ïó¹¯K/ºnG.  Xœ’ŠÊÑeÀLI´ã´v†l­T}d‘»< òçÊæÇ·3¤f¸}õ èÚÞ‡"·íñ%‡­ }:‘~CEd¼P-u9l¤´¥î‹,Þä«»›¢Îª¶?V–¦ýOC7Q")•qÊf²  …ï. .ùз1ò3 ´ê}  ýÜ%R ñƒ]©k$6džË[0¸Š4hÎ n\ÖÖ„æÉA¥ B(À6n 1| ‹¬x8 ¥”]òõ)èŽõå I•È\¶Š¥Çg¦–—,em¡ÂpYý«ñg™$ø3’CDýhþÄo±¸óZh.@}Yìܯæ;è =‰Íóù7¾@{Ù…^uåùé-D»’гÿåÇõû.y£ø*½zç×l¶W¶Á4OT:¡Qµ¦Þfä`òÌWm‘Ëpì¸ûÞ—ú‘›/!ß”Ëì³´TW—¼GŸ%°ùXÆËykhdrxŒâYxœ¹wëù„ÑD­²ywš%_ꨮTÎàßí.¸(®îT“ç[íü‡žOzÿ¦|]:gCZÙ0\ì^)eÉG|V‚lat{eº™žjžOµ‚}K8Êßµ Ùˆ T‡ú ƒÝ~ôճBp¦UØîÄŠú™¬~SºfgJÿ¾¬Au»zñ¾Pòý·˜àòÃÍTÝUü3,BŸP3ïåVô‹J€ßÔÆ­‚:µlOyÇÜ^þ Öç²y^g'>1K@NÃEÝªÉÆ­¿ì¦Ô@PMM…v•-J›90ÌzÛgv'€óësíëË%gž‰½ÿIW»U#QLI´’Z*ÊP !|‚ëIS›çU.Zíð%k¥úO£NK§nf§ ²œk¿1ýy)^Däã‹~ì‹gáÞQªÐŽ‹_¦ ëæbDˆ[.dWu) åóî}Ö{x$põܺnŠ| ˆàÆ0|–¸³Øóãa!är$[[.¹DŸSŒlê' ˆO-Ú§ÛiŒù[ ¬Å|èú$IA! ÊÎ(?‚[7Œ£ÃQ“íQMiH¼®W.UŽ¥‰á9»ØXˆ†…€æŸÊ΋À³@U˜*¹_À€cuåIÞ]m˜é²»¢(žË4rûð&MRúÈÝ2°!okÿn?`ú5Ý}oïŸwá_Ñ5è0x^m°x#Þ’…J/Êl@À‚·úˆ#÷&2d¡w™ÏZÛõá ܕƒj.¤åo/é(éRD× à«…§—¾½ˆb[?AðoÆ´åC¹ }‘!BÇý)@Sêå‡nrÃÉ{‘ù{ÄãDêpì¾Ö™Ë®7âC!¿¨#÷»\—­Þw=aDñ9ÎñËi–X`ç‚®Ìî-¼‘­ÅŇôQBW´]óÜÏHƬU~ÏåY5üȹ^Ç ß X»é±+¼Á*°EóàíƒÛ(P¢$-~â ÿ*tè14?#Q=Ùéa*«Ôƒ…m7¨›­:/йÞÙM–^/²ŸC¤hm‹–e¸ÄÞôèºN°¥Œ6aÖWݹz©[X­´©~¿«ç‡–21/ß”9ÊB00³:íÓÙÂ.éíyÛ 'IOO!d™™€ZL³ïQ2„ÙâsÐûäî1ÞÓ`+Sˆ«Œ1Ò™øJ ƒ×9¨atâÅ ÖÃÔN3ÄÕzÐ]«ŒåªýÝJ`¨h.ñçøe áp»ÌwƒÖô‘úîõé…6Œ—1b¢uïë¾'o–3py‘"ö4Xl£-B©hÓ¼³nTq»œ%õé—î_©ª6¼©Ù¾†C)SEÒ9}±ñ#ji˜‡ Ž&ÝØµYC‘WÛ°cßa‚˜˜“üÔ?PÒ8†Ò‘ù1(\·u–{}·w®QâcB±5K¨8®ŒW‹`êƒ9® ™UNÁi[ë:ž% *î©—i>îg@µúhñµ®åáîªåxñ¸}„}nWû¸¦ÅØU·˜8&b#¯(@ò¦#µIMo”ÈÔiqî:Äk¸B§muºm|ô’jƒlVàšy/À'h²SîªßÇÏ–¶isŸ¥µ/€•aö5Éâ{®iúl±å{S[é¸vq1cÆ(ÆO Ú0Xy,@ˆQWÆ uÊÒ\IS¨áqí|Âi?Ýcg¥³²ùªƒ2ÛVn‚é¶‹ ;zÿBˆn¯ÑܼZó~ʆ¢(Ù!7¦MˆÁ×% ¦´ù+S.©Å=Æ›{[ËÍVvz´Í%žGTû}<21pšÚñ0¾0J²§<ÓýÜÌ¥nGð@€ƒ ?ÂWN¾×.ó Ø Üþ?’m0 :‡5_ŸÏ¦Ç’Ö_$ySFœ‘Ú:ŽÏã"åÔרã# QÄÒ¤¯} C¥‹Í%ZÇŽ˜N.,ÏâpF)-ÜÓÒ/"Û"cí-cKx¯ºãJÁŽÎ÷LñTÉÑE{áTæä¼@ÖUd®¢"Yæmv¶*FJx ¼°DR ESpÄ懕ïŒÐE^ s¤ñw n kÖ?¼žaå8²*óñÎtÓ7Ü[/°ñ8•8¢r­y¿H W™Ð¢:^”æÇ4· ¢îot·åc«ÆR“ª®²³‡„(€Þ¿íÒ,Váh£rWÓ»Kw;+ÁŠ¥RO³ÈæQò„²Eî'ç.5! V¾jz·vÂÓ÷m½k Bè}Q·ñ¯i¨Êœô³']7ªí¶ ךê~CßÕÑõI2ÚÀo± (3jei?wøï^i¾–Që] ²‰D XË¡Ü21Vâ?zc9=ËÝÊÚ%´x*Ep‘ÆÐ»‚K ÕåÅ,¹'æ=ÖÔ4JìêúbFô!6š¿)‹©ÛÝ 0VI0·§ýY štKzh·5þ²nÞ'2;^“¥¼*`¿F_­fËßÚ`4·­ý¸!Sê¡ãÙÝ ÏÁ[¶Šþ4>_tLô¾BÆÇM_n¼Å†Í>“¥õò(dÓ:óUò/î,wÍ–Ÿ§gAÜQJC³0Þ†8ƒ¿Þs£ Þ‹„ÙnK@¦iZí´“¯/(8ø‘f†ìO0iݤ-Ð$¨bjý]}™ù×óιÚm,ɦYlY$áS™r²´(3P61ï |·ñi¥§„‚—I³!çSù?¬ˆ8Z¯ømÈÁ“4?îä’±'µ]–x®Ï5gS²‚ÓÑ«R# Íè„VArl â¥xô5MÃ>aBbPÑ—wQöÐâ'*ösEëGO…ÏNøÝ43ò¼îíŠÍ(Å) Zª¡‡Ð¬3·w©l83àáU y•Z“jæ‰ç?žÔo¨XË+±Ñà„­¸ o­T~‘Ž^zGËzж>»mµI(c’M}ý$ê;^é;Àö쀠+©˜@Ñ"C.dÅ„‡Ê¡È÷¼§8Pò]á˜y*7K&c³ìGO+PCpöZkn=];G/ÓÖXÈ͈vk]Ö刦e¸Ë7q°/NÀ‡‹™Ñ*Ošú§5)g/'ÚþˆxµBXcP­6¿KR\´Ïròvõ`t8vá‡CxòÆÌ~ȈºÞÏ’™O\©yP˜7¯1‘y …&À8•µÎ]Ùù=UWKû’µ¬ƒfcæ»!ù€ß/|Oa ¤œRº+“)™ˆ_)Ôbuø9k梂 î9(¨&//öº9þ[Ya埤*ÄVªy³ÿ?ûËçl®8Ɉ6+GÃ>Ù€¨à‚ùMQ5Îwã¶—WÑÁ\rHé¨m6µU²ÅàÅnlZ-Eü 6ÄŸˆµ™¾(÷ø3qòú¼g`Qf’ÉY‰¨ÀïÔT­hëiÓí(Ó‹=ëE­)B‰êGš—Ü©ZŒôqDðë¼Nb=K^ÅpUÿ´#m›}*åÚœ‰”°¢[Ú§5P߸D¸hŠ-Ëù© 8OE ¶¥.†l”8ÊF®VMʽLáJ Bs– ј;Å£'²¢›Õ-–6Чèd±nœÚ_p–c×½èŸ8é¿/¢½wó`Ö °ÏÖ‡ÈYÄ7‹}ÃF9yRî%ÈË ½P–Ê%+3ù±tUAJæ¸Yd>¥Ú4ŸtŸlÑp`C誕¼¸®vA²˜†¾“SA®§›š-•§˜¤,ž‚ˆwýl¯LfEx¹»]`HBNeŸúWûåá˜:—œ<ŸO/º‹1À¼;AÑ™ß)Q© ”á½®Š~ Ùq7û+¤ nS¥o“ÖѺ¾©nƒD}ü· §ÌÅ.ËÔHî2’S•ª~×ÐÁ ôÂè`(ôoÝ*Ä1 Jš²êuˆUž-ÄoR¹ÀVqz ¥V^,ÏÆZžVì}uZeH ßõðÔ†6.…¾Ýh‰¨!Cïi­N)á}aÍaqÐwöÌc3MåB†f‚SG'UC ”?ÿd‰ m©‘D)Jë®”fÆ»jŸ¦ ·óßáØßMÙí$LAB·ªŒ Âà MdË™maÝ^QŸUò )„úŸg2pZ ζ>D„ŒŠ3Ç©Ÿ¿0€kþÞ+ÁJs}x‘ÊBâ±€îy³ Fô<è¾|!†Á@ŮŠH¸¼9ÂÈ•? ·J¸_¾&è@ –Õ+HtfŒ³xÓ~§ëÞ¿‰°œ½ßQñ<™l‡…nofº=]¼Èª¥àR¥0‡~¢!ÑÊ+>kgÜeRDôjYqÞCéJñÎïôpfü-%µf¥EN“ÃTž0ÄÛUÓäjÀ1¾ Õª¨üqÂ$wŠjܬÍÀ:¶)–>†=—0^GR)RΉL˜§'GÀûÙÖî~ú=êUý‡é/<'ÁEö·Œa~L³¥¥ y4_Óˆ¶½BÆ«ó.}_[ß'È3Ú¼8Ütƒ&ÕB3¯I¬I¼Ã1Õð[2¸Ñô¼gƹ:š—étRèJKçÌ ¨2|Åðo° Ü"Ñú”™Š zØïô AxFŶ” 2I2xÿz£¤æèd›œPXjWè‘+ˆœíëºxêÅ–âGo`’{¦Î‹ §)œµZšë±…šðÿ"?½ (‘¬&?¬c» ] );+Þ¡;»¯oôP(جPgù3ÕËYe÷öWZa.w¾Àqa§]ø§””|øT(PFSP\˜ö¬kçÓ¶ i(¯üö,aÅL;Öi6²f5—o8¼¾9Wvüç§Š›Øq’‰Õ7—é´vw¤+×D&¡‹R¯Ú«ð°ú:ž` \)d| ÉGóÌá»·ÿò~'1g—´ÿz¨JdbýÞSáovà4vÿý‡8\€ˆ©^b:ûo¯[{Ž%bÎiïJì¦TÁc£É.v ïÜÕDa–ÐN5F@#¬¹ÄÔtü‘£?WtjݶÒ^¼ÞÎêÛÛÞžv¥Œ b¼¿$zShMhåSE=3È}JWs¸ÌàŒO{À:¨&rç¤\/ì¡ \GmÕ„E8üGÃb¢ù'¬×¡¨!R‹q냰&²Ñ/Üæk9YÖ¾à6YÎ3ÚƒøµÎ¢¶õo °kWå†,êzü똕A+X¿§ƒl4JŽË´Æñ$;'Ñb§30[ø±8¡F’ú¤jhGÞ²éÎW0Njª ¿]ŒÆŒ$&d-d\¤µCTˆ ´µ–½diZeÌê/q?q·Mñ4°U¡ö‹ÊÌèÆM,b³“\UwYþøõä˜vŽIˆy¦Â8s½[,~–¡pÖä~»aFoÙ÷ Ð.£@K=DÂcd?ýØÍ'^yå:ÀóÄàéþõ¶$ÛîN…î¢â$ï?ûô?"¨•gŠÌ–»HOy= yxcǤ¿ïiy”VèøöõmÚ]^?çæn½á¢ŸåœWm&þɲEbÍ£As)L2X¯”ÉWÇùñ?Wï£Û\Ï; }”¨Yu\(iËKÙéÑüQ'Ö-¿ÆY&iV³hÊö¹W>ø^=Ž7ôòÙš®ËºFJó„uŒs D³Æ16ºy|ˆ3#HÝè7™k´}æ2èÛ@2½äøº€Ú Mn§q½-þݙΑ«B.©•øCihÔüó,¼ÉèLé³l ÷nú£¤€ÕhRÀäD@-$ŽŸ*‡­[Ѻ‘¾‡ŒS§ú-p;µ‹V N«O>Ï*Y&Nª¾¸ÿ]Ÿnƒoç(l5Ž5uC™h¶rþL¬1®äéùk|êƒ%w‹,ï"A•réZÚ4 O­ãDlUÁžîxæåM=€ÕúÊ© ûL h\±E Mz )©öQ BKÞÒ 8¼W» Dúl¶Êufy0âæY”þê/v‹ .ã××yï¦;57ºt{ žªö˳ô:*Þ§È•·ÉôÂŽz*e-y©/²è§Ô]E±5?Ú“mô5,È¡íñs‹5Ây“Ú*(¨×Üð¶\”È1Ù -k3Õ¶'¿G†çO¦14 qÿðèÞã£#e[æ°ä> Ï<^ ¤kyÚ^Àë¾Ù(C­âíQ|¦E³…ΕÁ¤´A?‚™¸ê®Ã-ö)Ì"˜ÐpTñ Rº¼0–¦<ž'R@?ã¶íf£¾ùM[ÿëÁ~â©5y鲋„Âyl Ø¡¸%x´ÆXÀË•;ðÕ°SÎW©“ç3UÁ‹Yq2.ÇeéÙÚú÷Ð#GÊo4õsmd–y€?©CVN-ÉóÒôšÏìIÒJŽ·ž¥ÓØkù«QÌ*¶2‡>ƒBãSDË–ÉDý*W_æ~äëÜŒ}k÷›eÛª UŽ·ä~RYàZW5‰E½[S@BÙúäèqËKûFŸò;ÛÉþÅ‚†µ×°>Áyš¾*ÜóTð>ð(™¿oFç Á¹ÊJȰ¥ ^÷YRÜ™â n -ÎõöúÐ ' ¾·ƒN=SžŽ\äö > ?R¿Ñgž8S]OW×Q3Ö{çÌjG„H=‚èÎ8X# @ؘÄö ‚ÿ§ãô䆣q—ŒŸ+¤]»Í•uXD~›[ ~œSÔ’Cƨ/(î@‡ÒÛ/œ>]hcR%5Ô¸&÷œ!ÌÌ ˆ [¸µ´ã·KšbHðYÎFxnÕwWÀš—qÛâñ°…MØûâ,ÿû¥à»â$ñÒl$:=)ѕɠÿ7ˆYO¥µšúí;3 ¯„]ÂVªF“£Z#MÇ²ï ¶U¹0H~H((ÓJ”­ÂSBÏc=¶ºÔ˜Ø1\Né÷é”^‚w[nÓ[é¿Ûsgª$Hûú­ˆt-ËñµÔ¥ì·Ã_ï(¦YÏ ¶Ö3ë Sóç"tSÝŠXX¿lÂàŠ¦Ù˜´i'¯& ÇGA‰cYW'ŠË Br¤DÅâØ­+§ÍP~þj³¹äÍœ+„ë`x ±69W´ª‚= m³¢Ñ±Hý’¢ÀœàmÙ‹ÀÌœÉ$ñ=Ä`IÌf ÐéâËP¯û3>ÃדˆcËô:þ×k{ ¡Ê–n1ª£›dVˆ?WOé\XÆo„5‡¹bY9øÜî3–Ûì #›zº™<\9^<ÎXåœAÉÃ݈¹•‡y®´ì\Á,ÐkJN)¹ ¥> ÆÉgàüW¯¥+#´ð±bAWÖßËÍ~šà¡µG’Hu¿ìÞ—šÔÐI®_E>ö4Tµ5 DÚïhÝûYLsôá9IÑÆZ˰OÁº‚ƒ£Cí©7QŽ^>0 N“6e«ÛðLß1åuÓÑ$1$Ìî#*=­%¹­„=%‘:CÎò¦Æ=Ÿ¸¼7òÖ0@j¨.k9`êRøX!o3Ç\#~¨Åb&P½/h/ GÓäŽ]Ù8¿ÇÒ€E$"­äú¡]þôCd6Õ|ôï„òIžÛäx’?Yv^õ…ú4ÀÔ·Ð7o ;¹2~>YêÈð^lÙë-eVdžPëàðŸÁ¡Ø› ²þð0È-‹A3ÖWmkÅòíIRlLéûÿ)ÎÊ‚˜oAa»¦žÄã×Ù¸_‘ÜV¡ñ+šžÑzðëîv°Å’u‘í²3¬Ê(y@¯puâSFŒºFäç&w¾ ßõ…¬_² 0}­ÊÁ•×ZŸ'>')ü ÔQV£ÀîlM\Dud¹)€áhÈ5¿I¦mÇxãż±J!…Ó¸š îÁªdí!r}¼ë³p‘OG‡ûWH÷œ3Nó‹së⋜’jT`W_‹TPFU2ÈDœò}gÊŃlcp¡4 ,©j»(㛬Lž…ø¹­û[—«aå¹è!ç°ŒÀå~­B ™°³_ô]2°s'm´»‹9iz³´åÕZôúau“È/` ñE|Pš¿ßüêH¦-:ö„s騾Ýì“íÇJZÌÎóO‡9Ç’!U^Ò5ÚÍÞ&7°“d]yÛ/Æ2o;˜â}›æ¤Ì« ›|žhM´lRŽþ¶’ á;¹ß\þ›ZòöÝTÕÊVpj€r ùóD£Llv Æ`Õhª´$3y[2ëøÙª#¯ìpå:‡n›7LJQM˜šÓ&t ?8½­u—›p5v½$¸ç¸Ùž•ŒÖ‡FÈ'KJÍýÙë$ܹF<Ù—0ŽEoú2bw•ÆMM9’#eø [aãçÉ>ÑÒ0‚ÇÕ¶´ï,TkV€cÇ*?ë» ghU(¨cܳò&€ê9½ 3»µÌƒ&ŸÛÈt¥Öxb§þR{ Ž|žVÅ÷F7\òWgñMô·ª° –gEi927»œiÐã𘽶àqú¶þ«bqNèù†?hãYSZézÌw}ÀcBð äS©8Ezªüõ‘ råsnsó½µs ¦‹z uÞ#u+Ù~ÜKu2 üã@=üT Nbˆåµ#á´“]#¸˜ß?zlV¾Sô¨¼æ 7‡.A<¹kSÛxð M|j†§.%r„j×V£kŠ7çÊc} [®ÃÌ•>†ÎàúE~BGã盩t|KŒ¤„4¾¤ÇTŽ{Ïš)áí’9ÇÛ/WüÝ»qªŸ™QytHl_¥ÑCcºžŽýÓŒ«Ú€¥[†!œƒ'U¹ÛðbÀß;: ¿?AÜßR¦.ýb{Ãtƒ,Ÿfèœ&_%N\ ÄôÏx£,ûô¢/¡ž¢FlfÌ'M;mIyY¥ÍŸƒ,îÆÓBP>ê>,¿tþ§2wý1‡¨l† s‹’"¼=@_Ð'ô“ÓBWèh©T¬V:qvý¼so\ôç!”¼ƒÊÒìôQó³{‘³€PU¹UÖè¨Õ¶H$X#¢'M@Œ¡óI¥@ÛŠ‡Í'ô vø½ôQ™8 ˆÚ=^ÎѲ£E¢/Uäò™/î›à{ÀÔOV".Å+ˆf¬/½CѪÉ[øØE‡š*Å1»“¯¼©™á…œìßžêím°R•j¬“a¬å ñ€z!á.$Î }ŽwŒ¡-ÙÑWÄý\è`r?´ïšHh¢›^¯Iü¯‘%3íÞX¶Y“õn“·ýŽXåˆÑBzžŸ©ÜFt¨ñÊ›'¶µÚQöMžò¡\jxæzæR2™RÚŸ@r‚hWºî‡)ÂqiW!R¿$ãÑšÏKÊ’)͉lƒ¥oe“á:âN¨ˆ¹(ñ–î>ÛJe ­â |B`kKº¯yQËɆì?ñ£ `³i¢Ñ 5Ó7æj©Aöõ"¾ý7ƒs|ñ^ð'.£j±…+iJ7¤:ýSÝMö' ¨º¦QzXó£³x™ˆ)43nõ~®î0: Îi •.°Ë‘4D=cç ˆm0ZCg¢Ð;w,ÎŒÕ$Êcò NË|¼ÉËè;Ñ~HœÌÜCUÛNº}Ûäóöe–͸?tŸWb| ŠÙ¨7 Z†»£ßáAï¿=äK£è•d63 /¿È\‹òá´—¤„?v¼ü4¸¬÷ûB×/ç–ö’×h·É‰»õœÿÕøÇ¶õäødáä‚èj–ÞkÁ—'ˆ-¯Ñ£Ìè–«ÃØ¢È&#bàÙÝBú‚}]í)‚ï$è)V­ó/¿¥Ò| Ç%œÅ"½s#´ ½<4 ‹¶,$oM!:qñüX½9TŸ³_b¹…Ï[¼¨®‹Q¥x¬OšfB‘‡EI„^ÑÎæ~öIæ˜Ñ]Š`ÚÍU‚5‘4²cªf„E_rL™¾Ò7öÖïzZNLBÝëW6ˆÚïŸr¯;t˜lि…k¾®ÂÈ­FÒ+n)mË¡)^âÀïö+ÿvË^Ic„8øÌGk´ê‘­µ–Øã¿Þidúd† M{Ó…‹JZÚg÷30o)hÝÄnö¤{2Ëî¾÷{Ó>¾B<÷-zsе2y‰Ø9 Ñ9í9b‰òêÊS& ± ½Ç¿´²…W®Ëé­¦[2ÔXÍb…†™ÒÐgµþ»UMÄ cVŸéÇГ¿„Õb§=adG^ av«F¹â>аäzÐû´Ì””g„óÕ]iûµÐÑ‚X„jMÝŸtåz¾H¢‹ZK9eòHLZAå©k5—N5¦ÇZ%Çó×› \«èÙËïUÇ¥0D­ƒ³Aù2J«Q_¶lQ\ÓWLAAS.³1fàmN~<Ýq'Xî #bl'´¢Ì1ÃúTïc;×CƒÒ‡±ãd…B:®¨sˆ%Mrßn21ÔúdÄï‘B¡îÔmJzСø`kF¸ä–ƒPf^ìWîH‚ß)Jwciá.‘ú¡ Ý¥Ló‹àä}=ÐJ}Šäðña®Á¯Õóç`Kƒjü+? bÑò(‚–ÍÇÏ?q¤»'7cö”m‰}~,Ÿ‰œtN(ëhíñ±¾OɪÅ"½xÞIÑT·=Hv¾€˜˜,ëí©/ÜNË¿ZqY4EÚC×&ÕÆ_bEuظª+P/àþî0ô,KüÜ7ÑMÉs ¸H›U1ÎrJ ^½ûв•kM!ž­ñö.¼R¥/F$Ø~J¼ºVŠß°>‰”X“å:¾cz ” 25–*ÞÊ`ê,u,l(ó³<è3áHóõáÑhþå‰)ëD|„Q®î;b9qßHµpaPN #&-¬¹Šzv¹o$`R1?ïϰâmv8”7Ü“òÞëskèªK ¬íSCÝq’ê|Ú2·k–”FgÈ.’óHK“)ÃønPãëÔ—"n¶ äÐ)†3@æ}¾§Ï\¨–vU÷0ù«å•'ƒÉø7Bq‹&1OíY’ù^Ì— ^GOfº|“ÓÔ_§©…Ác@=úr!«»Wøò „¾ˆO¤ƒ(ÝÓc'•$¬ÙÅÑùÎâ¡ùìì^$ÂæjRñÜu^3B¼OÄ5)VþfO«­jÙ-z~AAÔËNZ²\­4ã冒àß Ï1 {¼n[-qü¼T»ãs-¯‘h}sálÅûº¢ô´¥ÿ1eàuøE^D˜î¨:Å× R&ÈyßsÛœ³Nõó,Y ë€îWnËš„Âçõî ©hY7ŒMÒ>óeDã;»¶ô\' ¥¹Ðç˜ ê¿<¬:²)ª@Ý ~Ãh£ß3Rþ3ž~?’5ÍXÝ‘u-šÞaÀöaÚ¥¸þFÑtÅ ¸Íõ4¥û„ÆÇ¬K¬ŒÜh>G-0.œ÷MËÝ3™§›Àæ¢ådŸØÅÃìó¨Ò«h8\õ­Åe,º$%÷\¥%ˆÍlâañdx-u4“Y»Þ[‡ko!&Y©Mº­¿¨« >œ/[A,^ƒÑAh–¡JšT™yÙ¼Ø&UÅ&—G1íªECÈÃï¢>ñ/cXÔõ…Žôv‘ì±9Ýk 2ûŠ>÷|Rc; *%ã%úš$ÔrdÛcY#xbý¼²6´<ç—%å½ôªgÿº»øg kåIH³+ á¶Ï“ø~Žj3,úP?[Z ¢©²–ãÌ?ùÖ`1eùOxËž¢† tÉ[åV•äÓ¬¸ß#$V$3W› gëOŸYOl Áõ€âK?1Q@\wîô$¿Á2¾Ð‚à2Ëd;W¯ýÂSF*M>bŒ_õQêjKü|ìr ‡œE£ãïkM§é‚ÿp;7¤aÔa>¡øÆxEø­,¥È¢·S^þ¬'¨@ÑöÒ¥OgW÷g6ã †MAæUÐøVxˆÄª–÷»‰˜zsFv\’<¿OüÜX©ÑiA0µ°ï¹xpßnÝXÏñ$Öú°ÔrOT£‚4jýJÖÅ9mucß~`gÜ´ÖÔæµÌŠ1‚­7p5LRê¾{Œ ßÿ°qM÷È_ø·iU³ë†˜fÆD¡Ó2:Mdÿ«7Ó„Äã ‚!¾’öè'‹pt21ñ+åà@"#"„`…3=<ÍTZmýà@“_úåêy‚Öâô§Å$ViÕmŒLuyÌù”›-SP;öùèŽýBñsÕM§ðççRž<‡ì‰Õ¢2)€~Cj”Sí[Û6Ïë1…­u1õM€Ll§î»®(ª˜ô^ýÃŒ±ZÞGtTõsC Dƒ1 Á"Ïzáøiݦc¡é:3[6·dd“ßCº$s&1ŠfVç.™KÃL-QŒMÔJu4‰Áód½°q»»ñXèø§_Î!)ò‘AÇDf4@ š×’æNÛžï>‡ ŽNžѪp]†¹#Œ¶÷2ͺ4ovúS)æ|:œw^׋¸þ¯T>è_æ>Æ=‘èá¿ËwY­m„®ý²×à$m6®#¥#²Ð³‡=áí¶>HZ$Ò–,v¦îˆƒúch_KÈd1ñÌÁ8SYn¾Ý)ö§28Ôïäyhæüa°vþ.ù^¼¼S“…°ì+üyÀ&F@ ZVhþe[¿¤~ÆÈýëØ°jéŸì¨dzg%áÆ„Æ ŸÓ)éÉŒ™‰wìHPˆ.¼mª¹¥·MtbçDIkŒ™¯¾~ÑŠœh(FÂEÌqÞFÔPI@øš±¼ß Ë5Ä%î‹óP!ÓŒÝtä'_´èf†%žÿl)U´œ”Ü˰-¼EçŽ ¾¿®Ò4ûǸ™ÎxVZù n©*’‘Ñ#™>52pÅ>µÿJ)@‰• W$¾zZ{ÎÞ{ËvÄ;¤+åÅòò•·Ý@½”ÜùÒ5Þ7t› 9-àÞ¡Ô2oy¢ôý±¦E¹ÙeaËÄÎVÌ݈zoÓw¬ÉêtÇÜwµ'wvîФë7ªxé³ê8ê€:·Î}ê·êƒÁñ'™^¹(þþÐýÿèæÉïìGz4º¹+ïî½Ð ës_%¥ç¼âßQ0èÿ¿ÞF“œ=ïçîÂ6ZSsH/ü-˸úQ%ûpiGà~„³BCæ’ü=,öFç·ûøjŠ78s=mž)ïtv>n8νë“Á¼¡ %/•>kþg÷½Mô<•• •`’*í~ÔDâ:+?SîÉ6‰@.¡)9âZ¡Œc340+$aN^ÏN,¸Û¡—‹4>y˜×»ŠÍ¸Ð h™½þÊÚÀòüÑ˜á ™.¨b ½ŽÓDšý™oHY)­6:}n¶-¥ë CA鸞j;)aóÔ´†IØÇ Qï‹j#­=¢©ÕaSì/(útõ641}ÚQr°Ù Ë ò‰Œr&›¼´@w­ óÑ#Ëêaú6|~TtÇFö9¾Zd%YC W.Î1ܰšxú!ƒkh[ È›+u€©vËåIÇÌÑü¨¢@=,ŸªïøÅÇ:ïaAh‚U'À:e¢r=ã½$ûô¨›5ïÎð3nx‚Ú=B0ƒ…ÄÇŽ¥Ö*K£æ|ä™8P•ÄØç%ñ†ûRëL,¾ õË9ž"(o‡¶Â®ï‹lE“Å+s„ "õÅ ì…âÌufn\ÿWeAXìI$½[&÷Îx–ÖV!SÒwf<œ°ú”™?ŒǨC+¯Rw¸âƒ•¾Y`UR2láž+9q.pué\¹³!Ú”äöâÉtWQ ©ÈiÁоàpÎÏn?EmÈðU¸UÆAbêNæv¤å컢|JÄ>ú ƒ˜Î4¬ý¿0¸mke-±”þ²Ê^Tò=¾‰@03ˆîs1CåúÌ2ò…ˆöáoÀ«ÌóL¬m©,‹þG¤§„°ûRSåh‰Ú–H’u†è"vè— CÚ ÷Ýd &ˆ¸Öä,ŠØ$åéƒxûz…ö³3i·u/¤ï.‹k`S!³ž³0¯¯Ü²Í§H wÞØL(ŠŽ«°|Öp\ß\=öµV'Ä8"›}Bãµ6Íx†ugëá€ðs~iƒÓ°¯à/IïÄóûs¸q]|zÔ1ÞØ ½(™ ^bÐ(ÊC\fÅ´voª¾s›ŒõC«‰+êvu,9eàH²“à+|”ÂwØ?!F†92Tôƒ”UJ cX`{d£zêsÝ< ŠÍÑó»ãhŒnƒã PŠâýÄN +bFÎÇè0Yug.K¾”ìfÂBýcCw|¦Ÿ%û:Ž©d²$ën'ø«ißYµ™òn,ãr>p7ƒBR³3nÅáúšòï9Ow{ÆÂL^œÁ>¶r†¤<=K!¸€g…š…ž¨²‰Fwx¤ËQÀ+w®Æè~S®üÝÖ¯`XcŒ¢Ï¥¤5<,Ÿè,{ Ûß6£ÓG¯Kr:¶@X»æj!a/ò$\΂’Lk¤÷íøÅñôÕ†Q“\óÑÒ·gy/ÎßÒŠÙi¯ÝÄýþ[ª!i'·GâTj}&ŽEƒÅôâüËUmØW5#SÎú„›¥sì ›!õ6ê˜É²Êi|_I÷ûžšÇÓP“áÒw|Ôìñ©ÕßR>h>_B{ü/@àiç¤:>Äxf 5££Cñ_«ux" ¥[$dÏÛð…B±dé"û{žL:Ê{’i¼£c\‹íp@Ä-}Ô‹¹0௽5ÇYWB‰Û‰0Ù GEOS‡šíA¨A‹“?Ze7òê³p‚Õ7è3~ƒxD+°¡/àA‡P{õòK‚üµ˜àÎOˆ‘ã(úó>Ù7~õú(œéèYfip]5Po—„mÍC(&\—nfŒ—y4šáî`„Z#å0/ „¸W—¾ õðKºH QNÌùÇ0²d ;Ø»CJí_Ÿ{Rò°N|®'±-'©Òÿ¯ôŠõ1é… {:±¢Â©ÿ¹ÚSñ²\š™ö½æãØ>:†¯ˆ±&}ûéNupCÞ” ÏÁÕ¢ y†ùq;–ç­*þ#®;ü*ï¼ßÚÙ/VŽÍŒNÜÜ’gäTûì·øïi°ºñ®s÷ ã ª˜Æxë¦}Á.1ý¡±‚Tš§òM,`F"J9Í6˜V$gàÿG”…2àšc±­{§‰„Á;àC$Rûž IË>ÉÙæ—NΛk|ˆ#þ½·ºœ„Õsš-ðüî’²¼ï¶¢ AFWó¡—·0%HÚ¢f‰ç \ó¯íãôäóbŸº’óç#45Y³R¦íEЬªí`•νu³¡`Á²c&y›ß Èð ç)Ÿ9ûk"ØÛ:fÔ-7ªŸ½ÿñ"ËÑéº×:²­Ú>A†‡PÉ}§‹nþüƒ`¤«ÇšäV¤£GׯÄu­/—G5E9cåŽA™¬TJµ†±n8Gî*?Èô—ûíkhCà” `+¹†…rïH&þ¬ËlKÇ7C¿éž<âò™îÉï‚ÜMtµo4—Æ4 ; (Iℇ¶µ|tCÞùþVJOÊš `š0¨‚Ã~¹ÍU¯ z0eqLV¦é>rò Þ¥ zFl%týe~gºê&‚æÛ¤ÿ ²ThSt¢¼5$8Y¯$7÷Ô&‚Å›3E…d.O8“”H4öŸ{—Ýš² ŒøªÌÄÈN2‰–f¾³æ':òØÉawžÏÆÞÈõ˜õpë6,ÎÛ.$Œæ#ÈTËŒBv;„°^l‡/ßõ“Zî¡ÝÃá@LZ?På$›zŒéÓiR_«ôFÂõ"Ÿ¶atã¬Ú²›aã/Ex 8æ#¤Ñ[ÌMt1ÅHê«ÜŸ!;Š6|T îB]€´, ­¡{ŠöiïeùHât¡krcPB¨'±®¢šåƒêÿÓM«š_DÛz•a¨|åVTi»ttì¬c•òF°‹ ”;º ¥Ë±'ѺƒàYÝ's‹§d܌Їu·­øÃ_eÄkñ±¨ÿêÞ½Ì~¿¿ØŸVä ûÎñ\ðF{ßó#pøWä8òÓ†žðE*Ó¸£Úå,$K— R³N3{¥¬×ÂU4ÉC®¬ˆ9Ñ“Q¸¶Ó…Š&"&á8ª`ÈYàRÒu~â}âÃUÇ=%ݰšðD-Á¡Í°}A†¤ ‹©û¾(™´ãX ~–^7'i¨ ü”Úê·™ÒZF+¾¶_{ÐXF¼ñ–¾´b>¸*Å'ðÚ¤ZÝöèêü%É£ÑîZ ¹~ì„=iÙÑŒl(À«(†¼o-tr¿üf½~˜(þqm7âÙÀWé’f' Åãw6ô/øŸêˆá%Á5fWŠÃ>F,>£›äõ(Á2})jÚ0’+Ï&3ð’/Uv¬W®¥µx%pÏ_:x÷ãìÌ0ð°§&®ˆÏëê£wèUØÑ“§ Kþ”*ç4x¨˜«Ò’ËU]|®·jiïÆ¼ۇôFÆ](%|J ÃØ)->ïùÇC0$é á‹,!^„Å ©GvÑCSmf2˜åƇöÔB¶þcOÉ?…ûóҌؙŽÓeǼMåÁA‰±éî’AÛK\77^E“Ù.’k¹Æ…VI±Ì½Ñн¨…5Šsô‹¡Š|ËÇ)Qç÷õÆrz›åÿyý9Ä)1¹€ƒNhàÜcH±N”u»ŠšÖ¿>7•ÒuU¤‰Ìƒƒ3.‘ÓSš=™<§•£P쨢<9~#ÀWþ4=TÂJàCqúÌúëCö&¼±| žë®kð| ÎýLzœ­/p|Ô~²¡êà”Ühꋈñ Û;J ¬$ÏÜÇ‘ë*X~©½»tãj³ †#?Ò¡í…hŠ '€|;+X… 7gB¿¯ 3€×ÙÊ$F#ÏKyÏÕâå¾KI¢t¯´¿0;{À^¬«me°± ¾‡=–p‹m­Ç[ÏZH3+0ìýºïô{ ˆd­Ž ðÏ­ýAŠÜ¯Ÿ¨ý4×ô©…GôË9wsôÖjÉ#Ÿ\ˆÀ±+”wŽEop¢z‹Ôc|%¹¡eöT ÃU%Ài+:+@½úcñ%Çίé,Ã198Uæ:Ñ)m;-‰O2š/H9RAC#„m·àùDsÁ8ýmçå]K™!)ä  Æ@%fmýÜV÷ĈåêèÕ‡)¥¦U ‹ÕEËù¤BÈRËUàÀŠŠ|Î;y0V¤"§«Sp€‡HþœŒ^….nhß›}×l™i/¹¬ˆÝß6XNu/&kóè2#CœÛ_½x~йx/dN{ນò+†¾Ž«Ê:Í›&¤N$/_è>ä¸bÖ~´_ñ¾œðKvmÊ\KúxËþµv"ýÞØÖ0Œ!í¦µ«rW‹Œ.¬ìn?Ê@Ú»Yk›ÿ¡Ó¡Ur1¾¾§¬>¬’ñÓÄ6<É ÍxÓqß#ëÏUóÐ;µ:CÍN;æ´88÷â€ñí3˜\"Œ˜óoCÑQ9´£ßóˆ:8€hi·?œë ”.T™…Î%àO‚|ÀðŸ|çÉÜŽ—§¼"S4eÊ&´É%™iITä8öÆ$g‹ž©ÁÎl6÷5 ^Ý_EžYà‡%É¡Q¯êRúêø¬AÜ<Ì…]´6"±ŽHøÔ4¢Ž¦5ªñ­6÷ì@ÅfPw%å\?;÷™ûQZ\.ˆÁ fxL.–\„C¨SV[!¸„at4"Øöˆûwâe ÙJÞ,¡ÕB@†Ô,z\™«à»t5X‘0€Y醃hW‡&$Wl˜FÛ‘â  ½x=nÇÊq­à]ºÏÍ3G3K—bp:”6õc»ØÐY(ókAÖ ÚAw³0ÊZ)HH="È-›ÚfÈê<ýìIRÚûQ9Îx·ÞXÓ•D`I‘²(z`Ýæîskû£@ÝPôt‚vrƒdàðÌÝ­÷ŽÝ>ìxÓ …s³:±Ê—k©Å ózk è&ï®ÍtXnwç—HÄ©H±QÁJ"fì~ó%zLýÅP—À׿Ž$hèoÝŽjL(»ö›§ú¿É™õSëY¥Â2MŒñ‰¾ ËËAC«IyˆÈ^6€“º?ï™õŽ-(HÀ¸Š••Ì^œ"—˜¿Ä/•ÙL›ºÕÒãòˆ~7 2»UܵºOȧÞb€‡æ ÛKÅãÈ“g•Ø?²x.Ág ,†„d;'û$§´¨ñŒ’x©=·r]¤EÁ±8Rè;ÝB$Ánû5^(uãSŠ65Ì–Âf ßô;G‚©f“Xp®¸8Ô÷έ‚JF³º´yù¼][#Õ‘N.W[*§¡#åÙ‰Î3Àb ?¼Ç¨ÜWŽ #<(cß™IûÔF·£Õ³Ž&Zz¯c5³-ÎÆ…®˜U;“µå^IéyÛËqØÓM`“i&¦ ï|MR«òÙAá͵ŒËßm}·¯nzaŽu¯ÅjuRyºI‘rÞUêí´Ý¸“ 1’Q×DÇ õÕ’&Zøè"„¤FB\.Ô=%À¹­q¾Ø À¾!+ïèˆ+$6øèïbº†ªº`2þ2=Û9e¡5ec«‚Òeq਻Þô–Íi1ÏGÏc«Ù—ýr¼`)~lË’­çvÝ´už‚ô*‡ÐH )Pù˜•¬¨œº¸Ø·ÓOŠå Ë} ]`<Á»i¿gç·’\c@ØIÀ!–7580Ş˕öŒšíÛ\~Q Ÿuûnº˜{rÕ\±€54°V츉#åïió–~ÙÚ =ô¿+Ë[žˆ vy”œštéë'îÆÅîFD¸R{ižxÕ4DGŸÐfNÏBc*–Z®\ŽÀÍ"}l>`o7lLŸw,æÖÂ;>cEü2vÉß«Zæ¸Êè„×Õ“n๼Œ§ <ñA?õÚ$›HŽ"ý[Gû²Ô"ðÄS꙽ÉÐ(•CãàäÏ—XÙ+Ïû'3ù¹¿ëÙÈb›´$ïÜÌ 7/²ŸN‘Úz^@°`)!º.a»KWÇ·uÕµ„ë  È%›@Y¿Mv”û]<Ð,O]×EýˆZçå‚ûD5!Ù5Ãå<Ò¨Û'²šØRV}‘Ÿ+ΠùIN¯ñYá-?!NEãÉMUCÈ]gs/´ôVm­ç®Wi·„õ"30þgÞ,´; ©ùÁÔF(m´{ët¦¼Ó ³w:'áS&K Y'ÔÙì áÓ´Ee7½ '‰g‰GäþÓ„ñ#òÚCnJc× ‹YÌÆÏ©'o¬-Vxúð]ŽtŠøð6B„p ô¦[œ·kfVña~¡ˆDHx™k æÃ‰öí´‰à±9€žÄCUÏ"Ç»†6 "„Œß Šn,¼pO>û þæmÝäÒÐ ¼1!TÿÞò:ê JÞr.©!$J;ÈûÓóå³Sò… À™œUÀ¢æÄ+·óð<Å `DG磘cLx2²Iâܸ5 Ø >LV+”¸4jÿ×ÐÕðE/ý´“eÀÄ!Ÿ äÛœlj¼Ú{ËU¤çhÅ•Ÿ@äE"•j´Ë)c‰·Jî8 » †\’Uï‹Räv¥ ¨üFÁ‘½vò« Gpn™E½X="p>µ_îáÅôû±˜Þ…‘I÷Ú)Z‡Øžªw%êõÓÖú:JDllkà ßÒÚ”4#4{Ï;l&-6¸²ÖCTãÞˆµ&!MXýI=–OLÀ2D\çD€€)Ѫ Nˆ$`qÞ¢cÿf ù˜) \€ÝÔ/ï&œZã2ÜV rüó)‘¦×”—æŸã\Ï!yŠ»H:dÝv8²rþá‘R(hç!ÄÓ$®?L­ð.ÿ&ñ×N­Ê¨Ù ß”“µ¹a†½ÃµZõÅT’•.…㥻 ƨ'Ì®-)eÃ:DNÿjù­ ÃÝ™è€hmh•u4ãáí>~.¹Iºð+æ=å(Iñ:Ò+ìMq#pR–4N‘À BdHßü[‚BÖtÆ"çÓî¼nê;sïÓÃò}·z$I›¼˜{ïni~yŠ_ÔéæêxÕù÷KÚu0ÒÁéÊÄ“ã—ù2ƒ$žÞ™SQª0ëc%¹÷õ·)l#Œ?/ó†Óiéi‡tÍø“R¸•'ùY}Z-±þóPì™ß‡¬“0b7¡”Ëu‚ã J¢µ¼Ñz÷²báî,jRlÐÜ#äÏlâڥ蠖Š'(†z¥`š³84Ì̈IhvisLæ3-iubåk·î¦Îb«D)aÍHýrÚº¸¤üÅ{DýH¥UÓ+¥d'õƱÈu¹€ÑRÊSõœolÞôQdx'ÔI=k«t˜Ð+Hê$öžô˜6µ®íÕå&N’hˆ˜F*É?Ьæ›‚=mŽçv&>÷!sDîá4 @ ׃@ôèé¥+Üs„¤°Y®a*SÖ ûO}bù&‹¿Ž•-?²@)• uÖЛØP×»‰²8ó¨ôŠ€4º#ð»½^Rnª a·(Å#ÍiºµPÐÇî)ÎÎÈŒ+Þ²§÷Šü˜l¾âCºÌÁ¶ÊHEàVœ “Á’$Ð_nZÆâÈ’Î%¢Y„Ýxá‹÷M]÷{5½íXûàÀ²Qއ+w>ì^h$º©v™³Ùß^ÊùL鎨˜)›éêÖx@Š\4r¹Ý %Ñ<ÍC¾‹m¤Ôo11`}λû'ÿ³æÒðR°¯¼ s:Ÿ´f]Ì»:EÔEéÿ& ±Q»O¡6ÞÅz­FÁôÆë XÑN‡e•êÈÞÖ•8Iè ëÏi@.æ³F7êÅãÀ#'Ò°õ‹È«¿sÑác}?I |Ù†eš lÜ`‹&d£8qÑå©+Ì‚ÁÛ—ã[ÛgŒÃ j$Ä0n0¸ñ…Ë@}z '†êÜËhJ0˜Ô@íÑ»£ë‡ô¬êEw:âW¡¯½ôÅ/ÚóYžúä­h5EC·,lÁUe±6k*©»ˆüGå±£ps\C¶ÎdD¶ÓA WÏp2쉎¼ aåùw^%ˇæÂ°fpIþ Hg×ÌxüdÁDU‡×álSÔŸ.\‹_Ê–kmà+”Hžc¤óÎ&ÄeÙ)ÜŒG»ÀÝ`‹Oc•TÂÜ´y4FÀú7gͯ‚ì 7ë륭¹Q‡p-Šf_ü`Zwƒ¨…‰¶èÞAÏ¥RnÃø«L7KØ7Ùež´&uSaJ<±’©¼ëÈ«©?o'Xb|N–ÒÜïÝd˜—éW€A¼‰æ@¡÷” ½ ÝÒ•®ßåõ¨:ßxÛ¸Ú5ú˜þ;xqxs#[Ùœý»¬QËFx<­û/6§x%— móG Ã…Ã}»ˆ â„Ü÷>YJ髸Zîßu¸¼öæ"7šl½.g ˜sÑׂ)hÕŠ]NˆN~âr[îS•š¥”ö‚%oËÍŠ}&¦Ã÷Ã祅ñë&F•{hPæ œÌt/—ÚiÅ›Ør¶<ܲ) Ÿ8OÉ#thÿtˆ~IÝŠ¼Ç£»¹¼L˜D:ë-eú*_æS{EÞ,n'í4ßúIÚú‰o*Í›dK­Ò¿ÞFé»2™Ãˆx¬òn|û Y7Ÿs°Ôsùm¸ÒäÔÑ+}9\(:Ê÷b}!ªlDþ·~;n¹ŸæÙŒÎ• ^p†û2O&lB?A[žPâ…&©·éë€4Žãn//hŸ ¤Ô–n qõž“܉$ð S6™¤ÏɨÈÉΡFø¯%vMëgÔ–üݹ™Uª›½<߆õ(“š«Þ²bmatÉEc¼‚]5±».Çü#™Â9žf§ºZq·‹ø›¤\ÎOXë(™=-ƒ?‚ëÜ7I¥ãïlÞI´ÙÇ4Ë„{QXFsN§ ùîø\¬&‚M9«zæÖU&ÅD8€^Ö@F:àäI¾ü/m)ãíVŸ ³Å¿!ë…©»:ˆIKqC¨R•ì7y&€½ 袦|€-éÊõ©½Ÿwéy|,¡±g³GÕTu¸²N¥øÓÿqÊdnQ|<úK/rš£ú–c-ÚåÖwAó_Öç†:Rz:JZʪà{3!w‘|öäí ˜ ß騭ðc1p«îѯ¶'ÊÞu¶{_g°v“X(DUò÷÷¦›æÐÀ‹‚nøD¢¯m¬«ùæÿô-é’¢ Y+¨„Dî",3ójëK îÛ›B£1s~$9Ÿm¿²N¾½1¹„?±I:*tº¾¼Ì B ïcý±\¢Éÿ §e†"Oê*×­Ðs`P™™GŽ‚Ç4ÌlAøf×õyXv'*tíÃõL4 s1ARy¬¦Ž6y©ª+0Iq™ˆ×¬v¹UãŽÞi‘É‘_[ðH•€\&oôO ðqy³p9Qòôj7 á]Þ-V©=§ŽÎqÌÀA{Õ­?åœT‹I6‰K픕úA1%ÖbZ«Ý´rr"¢€!d6P¢Ú{Ïh¡ÝÌçÙ»Öƒ5ŽØ*“?YÂ1°"mQ¹¶s¿´ø©”60ºº†±kOލºL÷”±¡Ùö"ø¸Ê/lVë<%+:£ÍŒl1Úû·L'©q<ȇû<ŸêQ‹ƒF qC»))ê=ɪ9z¯¥&—§e(á¤kôA]íz&ÍêÍs)‘sɶ«í Û¡æù™ƒ4…ëbw%aŽ¥%Y6‘‘oG(=ºÜÖ5È©¹¦ëV+–‰ÙHA°Ü¸¨ÇcûÅP';ò‰½fÄt W|"›;!tç?.­»’PW‡A­ Þáÿ%ó– Ì‹b ð6Ûhá¡T¾ˆv=v§ŒŽ›:£›irX£™N)ï¼N:x«¹Î:[U˜½V G×ã ’¿…³?fLoÍÙŸšªyGD<ÐH’:`Ú÷=ò¿%C,)Ni¼RVRDøÜƒdö^$d !¨J–Sê·á¬+õu_• £ 8zZG77 ÷YãS¼˜ìðdÊÄ„{تê{«xƒöìî—F¤Ó%­]+ú·âÌΧqa£Éò‚Û-I";·”kæu{òØÃƒG%©4;ªMH¯É JYE0“î:Fâ`Î㙲PG†jóX’E üÍbÃ?W*ƒÞ˜PÀg›Æ@øM½á vd¥CçÀçNTM fq²²v¨Üù‡È> E®ËÏŽň¼È˜N”V<¯V˜ÑúLø¹GÙÀ6rÿ'Ïdýø1[Ì @ä¦á ì›—¢è'çÖ©ËÏuܯK•Ïy=y&DzÝù hÉŠvTÛ*©9ú‚þ<èà8>¯¥V¤€kXd& ­aR–—ö(¢ÃÔªàG¨„úþwðä°´©ÿÂzjeaÁŸS?ºÚl‚UŸ¥˜¤W&@ÖN»Å-{·ïô[X]¡ƒ ]ÕžJÞŽ™²ž”ç£Ç;Æ%ÃE83ÔϾƒ'¸Ÿ³†Õü¢zŒüsR‘q}TÞÆ¦(xÙBlg¼H¾Q,€õŽB‡É­?ÐW4±’0ÐüõÒ0·v¡E¾.KšŸ›Ô7ýîJ®þÉŠ{Ïš|´Ø@I@Auñ°Õâàªv¬àîÏø…ïn‘ï>\ð<"hÁúÄ ?b îÕ¾ÞP#œoÞR$0fœ£ƒŽàZêVÇÄ€^•Ú&—ŸÐxˆìK?wü•x|ñ² C{žcAàÙÉø›‘Æ$RD?Ü:ëŽ8vzhyÛ7@¯N3Áø¿5l缯ŒøÛ¼~àˆ±0æ‹y”"Låâ§Ó?™è »Ó ؘk¡‰¸7¹ Os·x¿sH®ÓÇ•ò<ð!‘i®¦^ìõžðaY‰Qc¾ ‰ö1F4!ú¸±#i³8“jpû’U¤ ØÉê ]ŒÈ³½Ù±›®ç†L°„ Ñ—ÅV¯?œˆÀšˆîµß¸h›Èƒ˜"„[C }L •%ØÐ°ŸíàU˜P¿E®.ÅîlûZj`ùä4tZ×Mw””'—o»z·¢]S›üf6áhäxÊRò` @•4L·Ë[Ò/Ú,Hí0z‰ðýµY"än§TœƒÖõ®RK 'o­-, |SÊ| :îûᙢ٨²o ýú:y)OÐÁ²ß^«Êë5éåFçÑT¿îp°Ux—–¾ ]R‘%² ¯ξ¿T·Y'çJz†J~ yáœyM¦F²çÇGì6VO~ÙÈ< Ô[ 0‰©ÚmÚ`ßrðS{Øì¡oç wŽÙpXiÿÁ!bn$’˜[^Àç½6êáñCSÀo—Ê;ÖvÍè>‘(­SÌ'Pãg¾¾×.^ÖÔ¼ðÏæ¢ +Èålíeû©Ód3k 6ž^À¡¼÷Ç’åÆØTFþ0øÅõù*é$ÿ*fW¹4C>Ímb’*&ñ—üi6îÃð àšð/EPù”ü@{b5m‰GñûusÊNå¢¾Ý ù¾Ç!õOí¨ˆ~î†t¢ƒ¼Rl£ô0 ¬Cvì:Ö•0IíGïmĬ4ôÉç4IÖx2Tñ^Ä«ØftíºòUì¶#¯ÕS—ï±ã³˜%¼åœy>´º`šGÿu€ãVÒgöq*ä O“B?äØo¨ÓÉ7€A€RÑ[sG)3 f;)@Áéb)ÃÀº›…aåéXÒ~Qöª1¤äóñ±~ÿq‹ÜMb0`ÌùjWˆëéŸßâj#e æÖ»'ìŽfJìL4}÷ç™·dMUCgè«ì:)#¿lxv8A]nÉñvLX«U#užü5¶"ÖR5|”‚ Ðϸh+Ÿ|=â²>¼ %Pþ‡_S]¢Ü¤±Â*2éþÅôM´¿GiÞØµóÑ‘áÝœ[Æß€0ß-]c†E³«$"|\­7‡ú¼&ÚŒ•Â|l.ñKÛ»{Ð[‘ã;‰Àãö§ÔöÊÓpÏ6U}ÀÿŸŒôz¶§'ÎeЉ.c@%Õ4¼µÏõÛ˜Tl1”ŽÒ€æGØX&ZÄL›å:{ä+•õÍf[Ò%Œ{Ús㕃Øà.[xëa¢É‘eß‚Ú/i‹HF³g”ù¨2õ›TW5ÛO׆rîXTTsÊÚƒ’Ôh™ø[‰È€€[ÓK*u7+ ˜Ë4œ®’˜Íb\Ñ‘mRG†ûÑi¡¶Å˱5%ýà`Ô„'Ф¸R½x—0`6Ð…Ì-¿˜ç¦$kˆ¢¬USšøŒR#xÁõè„föŒé¶¶>È©:ãà+ IóJ=?ý:’ôà7¤Ý–ÍzÙ춆kÿ‚šk±„ñ4«”à«ó;†%hš]Ì>øº°ðçjúnºOùÒ4gkßcÇ‚Õ:©Ò,(Å¥O=™b^/…_axvµe ùAÿÞ«NÑk8ù!'IVC3Ñr­Šñj ˜[–$6B_˜åƒ,º—‚«›gÉœD6‰*E Qáw­ï-¶A¢Y¬´<ÍK¹Û¼• Y[j®ï»ÆËõ.…h­YCSÈ›i#/õ~ÖFQíÄà}“(;¢OŽnÏH›½?6 +¾§d¡Èl}¿cX5{d €NšF„ ì+-¾!Š«ªÐÿ˜"LÈZQˆ%ËcÓ[å ¸™"ά$‚Zœ5b2do‚âüÏD›A'PD‘\§ë"ÊêW.0‘êý/8g'}ÒV‹ËåŠ!6r¾>7»£O¸T(PM-vøBA€pþ'¦Q‚tr:naŽÇˤ„Gîö½¡RÎs}À.½™¡ÛÛÍ¢ß9­\3pŽ˜!î™§5)œ.›³Ÿ'›æõ÷S‹œQÝÚã°Æ d¢âgŧ»„ð^ˆQDBâÒtWiiÍËܨÞuÚËCk©,kWÌù[óø;W$km w¼IïÐNœÓŸU©+‰ÓpL+Pý·–ì02 êôc|¸Ë,¡d[juä˜eZG*3¨ÕÀžM9Y,y²\iJ‘,d 4 ®-¥“[š!ÕR·q4a„ê¨Ó„ °WXõ$•²ö¡£€SÆóÒò#s ä¨ Á°ô8¶²÷暻姎64޵Ŕ9épUÑÏÜaZ¿ÿ´yßmЫ û¿d´Ý‡V£Hì^®…†Z°ÈoG;ïPLqÌúáóK¢÷_/,XºÄå(+ž$äyªê[î›n«i¢dÁ H$ü¬´¹Î%_©+A”[Òðä<©ð¨f€ä _¾ÆÂ…g—TÿwðÝ{qó€ttM/Ucâ‰ÛX[s×…,Ñiµ×ºö{k±ÍjÕXÆ>¤[!ý–élõ“Ú|Õ¯*hèO¥à§ÖîŸoaY3¢ß ¡²:™‹ŒcĘÊãÒ8^ªOtDUAç>ÇêjX§G†bg?š;œeý½Á^·V SAPÁퟜƒpžÛ7¥?íçªhiÆ£]hº[-c™5øujðžèžêDëÚ9êÍ/©<€îa¢´ ”)6èïˆÁ–c?Œ½£uÞV |Ñ ÏÁCÑoÉ*ðyωxŽ,ùÀJ®c· iíímǶÇ0{'-g¨:}qc‘Ô®¿ÞyÎ>Þ.W ¦l›Á€“D­ˆæ›^ ÇM?½.ù–éÚ̯s æÑ6Þ8<…¾ðÅjëÝ\JW6ìÓo-n"]žZÞòcÖ÷Åúä+ªc΃ʈ>”Ѝ&½On&|w3ã"=ŒiÅäÛ^ue`µ±÷fÖ!Ñ`ø.¦D*6H ie f„v|›Úƒa*û9kne%ÚYZíE5Ýx¤ŸÙ­Ôq9 #QнWsÔJ ªÆô/Á’–âßP¸Å2] Îÿ7Ì ¦Ø){Û»nÌl´šY¦t%“𵛓ì[ ù þmãÖ;¤Š¥!ØQZÈÌÀ‰wdÑÝŒò”7«Ú Ÿ¡¸ÏŒóIÝþ(‘‹y Y3aip£#ø~îŒU·w?ªÔ>3bÓœY-fÒ)o¹¢1Új1?£î{Ê€-£kÛéh9#  ÷Í 9«rõ±G÷תá°µW(Ÿ"n«SÚ ‹³±¤ãvª§ál-u,ë¨ ivÅG@(X·g÷e4{Õìåþ±™6S³LW¡žš¿3ZK¡ ±c<·ÛE/ùÎì ¾% ÖâS"²àu3 %@á‚nL±â°¤€ˆ—ö·Ãê·©ËìêXu@èÂg4{XáAùÃëÇY-Ø‹YoL§iÈQùïR®ÖeOºq¼ÍõͨÿJ=gÐA-ž"meø¯áédbh‘wZòÃv~ñt@èôd‡¿ Kg®™.r´äAbÊ$ï]Ó^щ×HГ)òIõ?år<2ê 4—ãòµÛqñz5 K€Üá–ò“›wñ3IÝ`‘õÚ%³ä>ápÙ*H)í%€Ô¹[úgBé¶+ W€ è2,·tG! ©—m{ûfV ¯fdo$óWÌÞ_K¦âöâ-3•“mÒ¨§³ bÞ`+æóƒWñ x Ù’íNv&©ËHê91`Þ¡%‘WS8÷-ñ%°¾i»-ÆÀdò®±xΦÄ+¿¨¸Oë5Ïf7YD„hÂçÔ·ùœÅ=朵9 5{Û¾Õáú—ЯûƒÀ|æ@øâ­å-]±ѶþÆÓ¤û½»‹|·×UJPš YÙÆ³²Öç|¢'V}ÞTƒ ©¢Øp>…„³ RÔϳž¼€‹ÑÔ-À–ŸšÓÝyQ…ÍÃàÈ (% Ì_Ð?Çöû±VK¸9ßÏ™”<奈ÓÉÖù{ç´DNwëÿ„[’›h“ô“8èU.ˆÁh8p¡w>ESoÙâKID©Qü0[¡±×†© ÷¢5N)>꧈tsGÝ(€{Ÿhµc¦@%ËA¹ùk¢ú­ËßÃtóKèC¯[/îÉ}(1ªK€!ÆÀC2ÅÞ¶¼Â{ƒä¸Öi)m‚ä‹V1ãØuÀÞù9΢õ‚¹h ^¤8%¿Ë9 û¨wk‘%•KV~LåLg'4MÂVä{ô{ÉY¾Æ¯æêeÙþaç"Kƒ–’°w¯²Ú‘ÜzòNÚaï©5 Ýa5>®ƒ´ˆÚ©ã뺟%Ü3ÇÎ[¯‡Š ý:VË¿0° ­õ}9]ƒÃ]µŸôeZGz± ™êÕÔ ›gëFµBryd¯*jXN¸s€ÇNý?‰µó©ƒãu(ß+‘Ÿ$ŸüX=›&L×@ ÖÍ×6k»Ð»+ÕnþGÏ4Ï.ôJÄU€Ï^UvqÏ¡¼ -(©šî¸ÅJNG $KúøÉƒG 0î-]g@ìåù®×OTˆ‘ÏbÕ÷O pPrÃÉP6l6܉› Zó˜g¤5´’Ç Åëò²êÍ¿WyŽê6Lø‰mwiD:—§¥÷Z°{„®O$y\¨Ô:îxKx¯n„Ôl§ÅBÓL½Øö¬ŠôCúA\Ì%¬©Q©'Ðê¼>·)Öaˆ¾$Æ«¾âN\.íW¥é€ Nf&@FÿÔ«ê(¿Î̇@Ë„¢oú¤ßǾ•g-uzúîìú£©ø!­ž¸åZuRVùM b|Ò˜. êZ”e•á?n ØS2¡3(îÏyl«ý%ö#?‘ÄH8 éu{YCliïXð÷µ ¨é\“LyV¢üàôáp[Ô°¨i-dy"QNžÍ)"diw®'PM3+±9}K ž«#»;í3›ws¦4Q|JJc¾>†ÿ0ÄŽ®ò>P19ã´mwNÍzûñ1XlydØ¡eËêCú²Ç£±8 ÕÑ£Ï>Ù1>©ÃŽ ­fù\¼+›_O‰iÓ ºø¾e㑨QÊÜÛîª[ äUH’¸ÜF1c‚TXÅT9ç]„ÈÆY<c ä&ΊÇV“!JŒýDœ,¿ íUÓE3¾K ëÛ“ô„{VEBµ¶$EÛô/–Æœ\{&_€ƒï+5Ч¨§“ì¬0[—¤E‘.´¾'ƒ•žVUWƒ»$Á¿ºgò¶¼· E]Uf³wòÁké¨6± dcæe{¦¨ŽÉšŸÊ­Å—øàϹ½•‰xA…uì "n°IWè™ã/(ú-Pº8Õ¢x Ê]ÞèY½¯’棸_#²¿—ŠnÈö¨*È(œ‰Ù¾|h)ÈÔ`Ùhè¯)z‚°±aÖ¿Æ” bÇJ‚ntãTX½ Ж%šÑ5}-Rë»™i:6æw¢ŽAÊ´¢ó«9àRf[Z°¢˜Ž¶¢@·k²“V¯vàh8pþ^'’Ó¾ìß v3 ‰'k{AON.Ý §sfGyÒ*ºKJ…¢73ïÇ¡î-ÊÊ{zdªVøþäbè?³\Éë—BëÕ i^6ç³ ¨ñ |&my`m /Üeoä¾ÓAœÇAÖ"€w³l˜\0ž3›èAPͺßfáMCZ”lV~J¸“äIÎëGšøÿBXÛ‹éÁ÷­âÐ(ö–1D|êÛÆÃcG;ûmg/˜^¸i ‰œíÛš:vúÛcõNYGá~o&©k¸ŠrLƒû T­®€‘2ÏÛt7_ò.« _î¦2œp[‘¿Þ{?Ä>; >¤ó´ûšÆû[ࣼ$ áº,·[97ÿ,Ì ßØ}—PÖù5Œ—x¯Hßr®±µ¶ ¼œAá]°zr¹TôÐ\ý‡½¾²÷Œ 1ZÝŠè©rXæß@tÌÂÑèò“ô“à÷s„Í+bH2¯•Õ¥±n°Ù$ÊOÁ›‹€1Hö¥vãÏú.ñ¥¨Š4!â[ìPxPx{¦ÞY Ú7ˆ¤yT¼v¢µ:Ðrûbº™(?÷U+ƒG¤*‹rº2WL°ÉC¹ÐFÉ'¨ÊP¤ïo‚VXûƒ]ÇØß» ®'MYÎ*ª¢D-eåpBÈWzX­Ã§@¬Ó»¡ÁbÂH3"ƤBWsï€AGC⎈šl9)›úØR1dë¸phý¡xP9?o}û´P¦î# ñEX­¦·uB¾0¾Ë9O}¦Û=¨hQ0Ûò ï³ù¶]byE„lзH Ql¶–†³X«æâ8´ &Ä·s¦K0È|øý©ð Ãñ¬•×Ü{^;•ô°U§"Ô[Œº·ëÞ¸'‡ÍÉ?f„äMÔÍó™ÿL›ÜïL3ôrÛ®ƒðø±èh²…à›™gd÷šS%Pß§ûc­H~]µzTïÌa§^4âú8.Œt6ôÛ°7 Š6Eë¡®§ó¿Å]ugt/ö˜ÔFüü 0ðæI Å´µ.'7µó«"f¦‡è•xÜà²NÜZòI EÉ@ö'ùX,-“ŽöýÆüKã<în³î‚;o´ÄÎëR(µ´á#×~ ææ DÍ£¡çо¶JÙ?-zྋrI¿¤n?z•{¬ªD›zœ+åT?áQïÖQýÙïcù ‚f0 páºãg>£3ï|‘c Ö‰uœEйUÔÛÛ󺽇eL¨ëþ>¤YÄÇÙu|ºå5þ}væp:pú¾¶b7'×3_ìéºV[}Nî×Ù|-—4RÎoó¡|ŠF>Ôçk{æ^¼*×QÛ²dÎÐ[˜„õ³fÅøzÐÕpeZM¤;’ÓÄúnA·ÆrfL‹”¿þ`1zÙ™¶.-Eµósd\,È|§92a›\ÅùµVá]SÞô~Ò-º'±]¤§Gl:áš¡¡ˆis´L åq§ã¼Ùf3õ:yxrs‰èªübZnœóSñR¯k§‘çæìØìH>Þ·=Xò³Xc ŽGg‹0^Ñßž „;ÜŠ&tëÄ&¾7tP¿ˆñ쨱¼ŸÎ,Š%·LgÐÙ¨C9”$hð{ê§ôÖúª¹²Cô »µ-¥‡RÂf3yz„o~eiò5¸ç€$2úsÃ‹É ()¸=aJ’ðp€… ø¤Y©³™æSíO‚ Hõ/ŠèÏ­;.k° òåaËcaU–ºöª‡ñ1Mmo;Ní·x”[¸)Ôüø¡gS"±þ½ó(•ü¢"Ž_8€°Ø# XßäBÝŽE÷Øg–ƒ$¯N o» ^ž& )v ]=Ð;Í2F}MpY§3Î=@q‚LŸßÏÞ€cþ¸6::07£»\ô$ÓñŸÍx±Ù!&F?ÿ sõÎ_î<òú Êí}ñœüâܲ-C±ç£aØÁWuÚnˆÔYœÛ]wŠ™šªušMܨɷî¨òìC*©ô;*X¾¡æ[´A©ûI¨æë‚Qáòñ^èva #‡kŠÐ‘/(ñsâ.+ÉÎõ>@†e>,·^„7‘'er%:–“½ã´J~š-õºadŽÜGÝcl.¢L'Ëb0îvà3‘[Iã9õtAT€µYÿ%ÝøQ‹Í©—*R±·FJ•Xî³!Œ§‰þˆk¹f7 ÞäBþƒÅAùÆöƒµúšMiÅV<–+Ëö ?[™z(–A£èê°~±¨œ„^‰Ÿ6Çfs d›HJÕ ^_vº~î?ž º”2-cÆžN4¥äRÂUaørŸ ­ ÈJ6Ü/‹·‰í®n*ñ©p$æ×fŸãhnMy¹‘ï4.À ŠN'»˜WyTDuMŠe›Ù0‰9³†ò>iñª 9ÅípèÙË;È\58EBL /’þ‡ ‚F_M –w÷yÓRs©y&ÐÌH—yæ¯k†§¾ Åô°ž¥Á2…õ•‰K¸·ídrj§6Þ½o¡¾º‘)–5™Gé‚X¬ŸGhyåçkn8<4€h¹iQÄAF™ï)¦mH¦oÐpUvÚdç\ÊëÇ-œ^8F ?Ï2’®~=JŒŸ‘LÈå31ð¿>'¬éÕ¹mñÅ8}Rw3Æw‚­n!M †ùB«Aý2«5Ìò¼Æ-^FàÞØŸÀ87, `yF~[ÄŠy ÌÄw‚ ´ÄŸö^]êE²ì¨¨RÐxhÇ­º5¿¨šl[÷Û——Û¾i>1/TÇ‹¢Ù ¹'ñŠñ̯1ÄÿþÃ|­Aè-ÌÀE10vÊÒÒ=¥•ˆ)Wµ³Ù5t uÎÖ…öž‚Áì±°àÕŒ†R€VªãQŒcÔO¦q,…Mzê½0«¨Êp¿ˆy’ôèäsJDB¥´$Bµä¼û³Åù/Kg`ìwµÿ°š;2äï0€æ¥ÎÑ@VK®‚.íwÔä¶\{?%ÓçÞ~™_ÃC®ëŽ }·“=”ˆøÉÁa^é!ÿÞg ò§ úçJù~ë¿7}c&e!´:KceÝ—~…úýUÝ` =—¤µRXSêúJ™ÖÁß:Tü«i`Žgä×åÀ{<–[bšÉÅÍ $LWoÍ-’: ¹\_ðՓаÞU:Í}zÇcö@Q´Ä ½‚Kb Îæ¹ÉÙu|q*–ŸD Óik]Ã@ô²/˜„wþΉkƒâØFî!Êéf(еžŒøTTœ EØVãG)Ö;°ú‰]Œ%ƒÞ3Y)Ïð‡¸BÅ[šÓ&å QÄ{MÆc欥©Ð'¬Íwõ«ï=ÁBÐæú*µÆSswMH²½]¾oWA­ªn©ä£ ŽÛ–¤\ýÂŽðã²î9˜¼·ÀD¿ÂÙ=ÄV‰£î!v? ‘tõÂ\`4C 4ðRö•-¿y˜JäÐý©âdT€åͤõŒï¤vØ.U% ùÖ‘aYQ9[œê§Å[s­7ÉÑêc–¯Ñ»”zO”«oÿá kòm`k”õ0Fw¾-?ðÉ_bzÒB®YéÏ3-p¼Íz™õ” im@Œ„†ä¤T„¦»«élÞÆüQX:ÅúFŒÿ])ŽŸM|„·¤qÈ—_T‚äÈrámËâ¹7|Fð¦ã¶Ÿ†Ï²Ëï5í…Š/Éik„HXq=A×Ó{’ “üWpÝÕæšVbúù@ϸ ‘†}|—/²¿Ym±q ¸œÌê^ _8}2€ÅžlSv¼ìi—Í¿1©—¯ÔÛûÞë¨yꪀ«iÚ&*ýÂ+ìM,…znÝ!Ä’C­X. äÙ¤ç¦yœ¨õîu€l~R7#áþû4AÛÏ1Žƒ‡™ ±û/#‹~†-wE)¢ ¡fÖVOM(£ØÁ¶ÃC^±¿îÆ6ÝÛã„;z«×t¼'"$Iýyå@ò?$8R°«…úØîrÆ©ù¥}U%ýó)ᬠЃyèPð'|¦š'U•ÊpÎÈï*1áÓyÔæ«øVOS¥dh¤Ä¬«¥+†5djžËNY"gF{Í¥zÏÓ¦rÿßc êXˆ¦Ç ˜LBËÕˆîòœYuÒÕ!ÁÞïtA.‹µƒ%'–?VN“ÂÓQþÔüÁî²å†ž Ï²RŽˆ×n©yꨊÎõ ["Öú'CVT ã̆ß, LÕ*Õd3 Ïj Ù°µ¨‘Á™ ÿ³Ñ<œðùŸ‰Qj˜£î­ÂEKYVó¡SÝ|øÎsˆðléÛ¢êf¼X"üoœ…³ÐÏ(%ÜöמÄû)Ö oJJWp÷˜{ ²‰TXÄ‘¿h0P1WL¯°ì´Ž!Û‹Öo»­ëÃîĪÁ#ÇašŸä[Ë9ÉëBZWOÌ>?Û×3žJ$táQþÆÁpjoh D½­D<ˆ@³SBìEÜ{@_FìÞ/^¨"#°Í`š$ǽV‚Ø·†®Àá@“k%qrže¨î=æ1©áU2A…^¼ðð‹…¯a{PwøÇzPáqK½Rö¡–ï‡ãêê “¼÷°ŽÝ¶XÌ©:ón@>÷?’ï—„š}°rêKC.RB‹7b¨ Ëï5‘ª³~s·Åvò%~ 9¢Qzc]!®Þšò0B¬¼ØÄ>ÚˆY^ÖÑaÉÒ˜¢L æ°q­€M…ÔñHÆÁ%æa±èr €´U[›Ž§–P 칉–ÉfR:Â>p[’W®\çqEo¯W˜-Á3k ,*s×´;¥åd‘¾¸yÖ+ðmê‡ñyÛÒPÐåçE Æè½ý+.ŽôN°öà(šO¬bÝD’*‘ªƒ[¤ IÞO‘ÒÒt„²8B»ô–½/[º*@Æ æ–£2¡áñ?QRä;„3ã"‘çY¢Ö%£š*#îE`Í j&¶iSQØCž ,E‡`’¹ÇP«YwìåGf—å)W­ÒæÍ£døPÅ/’RTâ?Dõ›ïÓ[ê½2ëÖ>XÁà;úq_t¯{ùσ\]%.°Ù˜ÜœeõàÆ‘ÝŒB }êÙ‹>§žPX%^ÿ¼JiHü`;ûHौΠ ?¹ŠŒ™'«ÔF¢ùÞ’õhÆÊÙW1Ðæ³ª áuÒ{”NÊ0QTãIÁó$ªÙå(nÒ?u¹ºå˜LŸÂ>†ô…®õ«¾fзU™ðe™ôìpŠ—s”œÄ‘àu8ШÈ_ .~z*=B2K3ÿ>¨)Ê[/º´+\­xüŠH†M¬aÚØÊ’:7ÝͧBå!iŽ=,0„žP]&[9MþÔ~µï¡aäÍ×÷ËòšfßÉa€Í±l‹ý-ÑBsŽVÚrüÈVuªCªPéeUXÇsA‘ÎNù0þŸN}»³Î Æòœ4ŸË;MÀ6æ9¶Ào÷ø/¬E2—Í⼓4…Ô›&ÿ %(ÚHÎV(ÓÝcO¹Y……Œópr5CN`7£R«òÍKZ«¿¬ í¢_p©º[ŠNO3ñ³©ÿ3³Ò€: htì­°÷gWÓO4ßaðJ/¿h©Nõ•÷Bcìi9a¹ûàuù¿L³?>g/(GÃÛ–XûV‘Z&ûø€V j+¶kHWÿ\Âñº<ÍÄí³-)Ð-“ýÜ­Ñö<ÊK‹¯¿]­ö”›@ÎÔ׊E,ZG0¬]kròÜ…&“ƒÆ4š—Ù»öq×TäíÞã÷Cþ Ê2©rÃÚé‚:‹íká·™jƒ˜S‰JÐb(_Éijhò–ýyx³ñ£Ž¤4õ&{òN>ø_¶å*>®ö´s©6IøÚ G·ÅGÁÔ›<4¹1~ ‘æ&m­^ipÍ©FšƒÏãÛ‚õ÷"LÆò»¡Ö#ùUñ…Òðu°Ó ‰— ^ø³‹S+Ð? ©Ð!Ç>«P `ü3ÜÑ>-œv:ÁÎ"ÜÁÝIÛÑL‘OL?–XšrJl]Q²æp‰ÀùˆÆ-OËÔó¥YGŒÕ¶ÊHùëÎ ™+ëÂlj _Õ&gŽÓdr‡žÐ$é¹×ró¸|Ì.Óç¾ü ÞÍëþDýˆþÞóTÅ:&ÇlÓÛ^GÑ®¨;â4ÉÑßZÆ!5§)K„%þªJµšŽ.DrRÎgéÐÃ%Ùs=qž¹i”?“øÈY0Å }f…{ŠIeˆ›ß#·•ÚáÞGHÉ"V(VøñJ6ò2]¨zªÛ’³ÏL/TòÁ}©\ÃDjd\ ) ÓP3'!:aÕÍ&üùp%ïÁ`pËM¹úá{ÞÜ'!Mz¬ÍßB7‘Ðnµ’plVV'çbœ ó?¯ØŠZ^-tºMÜÁw)Ãî:c«± ôµ²y£—XümhvŸVÇIi7Úݺ»$³ïºBu`”I{dP5'<÷¦ãÐ{¢>T‹þàtâi€yôŸ˜ú7; –˜äÌlm‘B™ÅÓÒÖŸ^ cߢdä§ëÊÊßú˜¥ÚdK²~Àë“)ÞVMÛ˜\$õ8lô÷ÿÕSYh‚áãe. àÛIQÓÌ$)£÷æH$G¶]§’ÖŸ¨ÛôÑýà²Ê´Ù8l“edÇõô—úåI·ëÏæ¼ÑÈý~Æ~¦ §.þ«dÅÐÖ?h[¼‰Ò yöåw[SﳡÂÔÓ<ƒW¥'RbÃÖ=Ý)+â1‘.]I‚Ê›B3Kñ±uÌ™àù¾rSX_0 ™Åìת+íÙ«GÈ?S[‰o»¯bO¢¹Iñ7®jŽP)MuªË9p\FÐsóÎG¹ç±„óØVâ3º?nTæ€U À/Kó&$DŠ=ýB-º æWAiËt w=ŒAJ01T„¯læt V»åWî, s\bÖûM\ëWRA ûTÔ8õ‡ÁÄ„æ<Ý¥¡'´xq®C«ïSžCVÃJ\·ŠûÿZ…’?„3ÏPûÍ÷uBD6ÄBŠkK§a  ˆAÂÚbïý\Grx]”:«W Z¢´wŸ{·£$Þ±ð*[ŸòeÍ}1ž-:ÿhG¢“!>áwŠ QÿÝzE·“ Ù‹Ž³lQí])•lC¼'û?¼çä_Oa¬ÐjÂ5žg4(üs ‰CHµ7Òæ 5ÓÍÅ%ò˜µÅ ­1+œ>-k£¨¿Ú½ÿ» ?­ÀWè>£›Àµ7Z™*mž‡ù?í<çN!œ@ZNÿPÍœý7ÙÊy™T†oì,.ÏF9G5 %F¹O ¼wÑ¢™ü;ÈŒ¿›^Ÿž¯ gÈÎõiÎ rö“P‚´¿çolO…MMÛàÚ§•Çý^¤aíŠIg},LntPý`Ò)ª'R›œ5å Àv!ãr;4ñrdÍ5!:x“ë‚|ϸf{,ÀÎ8î0Ÿûq\£ËFÂöuãµ¥ÖkõMJ•„êEÔXŸ*ë·Hm÷%°×+°|ðLµuR|àJ\Eú„nI2°„è`qåÔGbª¡qó5 '†ì\”;…¨î=Ç¥aC¶R-ÀÊ+ý(+©Aؾ÷’a; ¬°A^C<ùý%Ç®Sñ®bˆGÙu7mTµ|#d‰Nã¢ý=Q8ˆr£ÎjLäõÿå%Ô¾[ ëñ",û…&˜„éÑIÞ<ÜgÔ7RnaÔ8.Œ;ÿªŠñ¥äÆåIíW wuT:…ËÓi Êý!ôФ9Ñto·1btÎâ G7óeM”ÅHOØtz2•’Svy€Èë ¸¼WbŸr€.í6IAýòŠ ®"<ŠáIIîèÉpñ’3ÝDT‚ßÕ5pË> ¬;E&lºkÅÆàäaT Vß™Ž#2Óígƒ¨`ËíÞô#¿×lWR·ÁåøÖóe÷³c5y¶+ +kÝÅ7ä´}µ'ö¹ åwàYž`JýÅ)-äA@A¤z"&ƒ—/2‰t;aa¨?æA‘íss÷6ƒ‡J©Žro>rtÝè§xw¶8÷-&ôç-ðzÌk(¤bûx­CrŸ<…vÿ¤z gÇ TçË7(u@H"žÒzCÕ'â¥<“ÑJ‘b áÉ[¥ë&F i“îi¢¥›(ÖUª¨j‹Y"ä§d|…¸XÑtÝ/«¯;8_uuV×Ò‚{«§-C¹2ïgeÜ‘ £Ì„h‰K÷p•3墨À‚ªªn'G3_ Ð;«’„ˆó Ø‚þp ý­[X8tã’ãV–wŒy/Á2®åWO°Y÷v]¤BúìwY’ ¹%tø¹Ö –ä͘‰ìq•Y;&Ö¸Ûˆ³§žP}“ ñ¾ï³yð!=•€d¨L HcTN^&œ0´Ï?õLaÅÉÄòtÕTà1A¬ƒE¡–6œ t˜½KCfpÄÕÅŸ6^kO¹êµ6W 7ƒ2]ÄÉm™%þù±Ì`Fò»m¹}I ä툌ʮÿ1G§U¹ÊˆJù—S¨˜³Yß„ùhÞѵòIáÚq:A–v¯‡“ÚJ Oh'È|œ@g,CaV.½à¡´)F8nß;³w3û—z¹oBV&Fý.R¢¯·Øî¸ÉõÜ~ÍÖœ´Ø1±¥IH¦Þì˨ä!øÉȺQƒZ4w“JþUd'š¤þˆóÖÂ>˜§;mÉ»:Â$*>ëQÀf›0À¥l”ã¤ïunBË‹l½Ïþûœ¶œ%Ž'¼á¹ÿÁnpf­<¥màFÞbì W`û4ƒ‘M¶ðíÚœ–Èò»çÑ£¨Ÿþ@ˆ@ž‘×Θ;ü;ý)UÛvùD( IPtaÛ¹í!N ®ª·•ÜÁD (èê-‡ôG‘cÁ¼‚ûíC ·#ÜñçÜ;­èU¾7QÓQ>[¯ÐËÛñ3潪p/¦‚TÔ¸²¢§Ã”çš =Šl˜Mƒ Ššu)Œár¸4é£;,¦ÆÏïV›-2ܶiçÕ;uèékdB0Õ#c—ü!BÆ›7«x&Ûbýf6zZ€Ä—摆dEšç;L:%oËÛœw÷lßÀ3Ⱥ¸°É #GýÔÖvó…û$•áT‘›C†‰‹!ÕÛôx"EK«š]i!~œgû—£ý´ÎúÄC飿T÷m2]L§wž¬¤«ß¤çßá£õàŒ_%d›cŽ•S¢4ÓAk/R…wðW®u ázÞ!V/64¦Ú%÷¶¹ûQ‰—)÷#X¹K.Û0œƒ6:ßãôÂ$™²@OL¹¡z|åìá>ÒU¦”EmuyCˆj±ÓŽÌ£U“~Åš¨<£µnœÓ,´S‡ßmSų̈Tµˆ_&’•4ÄÎ6Ds6V ™•T*¾Ê0*—¼7€5#"‚o­½ÁÉj"4©ó>5Yub“ؾŸ¨†‹ÎX1è¢ Áa5²ÈÞþº…ÙHÙRá7Aeä“„k}e®¸Ö9¦m-”Å?Ú°;3ªf3vª"‹Gâ%~¼†¤…ôë¾$ÐìÉ^šÞ~øqý#ÙkWÄëf¦=—48®–ÙÍ*/Æ5Ä Jc÷èæ”[¤0’&€N¶›«4„pá.qËÃ8Ù}ŒŒ¿ÓZ9$\ó"«Ü,@m$w*Ógúè¨ûÒâ´¬ÿ6¿{Ÿ×½œÄÖ£U}Ó{„Ï’2åôg¼ð$KzˆŒ.À°SG{ç}ÓêÛ¹Mb¯ï?‹jq%5êq—íð“u»ðƒQñEÃ$ä¬ù5ÊÜ–îì ´”˜™¥ÕÁ­uƒ{¾Œ¦¥˜ÙˆÇ!…Ït˜ ñŽœÜ} (Pp¤£øWR†fèÄ!èþÀ{ß.íë±Ý’Ö‹Ç÷©žõ@£ ÂV½ð ‡Mj¹¼.ÀÀžswH[_:O%Èò)¾Üce­“„=Fô¾áªJ²˜QÜÑRj€ †4ýI3Ù€n&øZü„z—–-EMF\mYüàŠÐ-é%k[7F ž®š¨6oò\ow¦©~!×¾ùseîØ“<$ˆÞt%2E³tÆËÉ(Õ©ðÓFhC3ÑÃ|zfIU÷”^¬VoÁÈñøìܱÜà»ê'ò@8E†œ©F}¯ÌLf JHºÙ‡p^Æ*µqŒûmç}=w0TÊ0_IX#ƒ}to6¡£XŽìHnö×A,VÄÔ-8⃌ÈêTÊ{›F×µIðh”¨³òT#’ÓäÓ˜é8Éfx{•rŽ ô’œœìFXåy÷=í3š¶e³? P{šÜú!BÔ$QœÃÜþÚï€ÔAô8Ô$oï…ØÈ´x–ñ ‚”I_YÐ/¸êÀDŠk-àˆM¯JLô‚Yá)—᪞+[?x.žv›Ð²óf4GýãRéìNº–WÙµ‡Z[Š‘%a‡’Å6Dç×ë‚_Ëg«1¡‘Êksx¶:Ö^ª#2ÇVõH™•4H4s>ç ÎÿK!Ë/Ë$oqIx¥þµÿд¥•¹h®mNºzŽƒÕ3Ê”¶î¢AMËœ„x?VvÔý#v«© ´¥¦6³.’E»$ïí‚¥†ìLOŒR.ùt‹A÷W,üÁÛ‚ ì’}ˆuI¯¿C^áLˆV§&›Ys.{}Šwñ”j ±ÔÉ"4a«´Ò¦zÁ„è÷øÃþ_L|šS£Z£6Ö (]*·HÊErD°Š½¬X*>dž0½¢çýË Ò|0XÍ ¼ú^B=óo1ù¥ZVëÿ;(2ª&ɦûuMh”Kå_u ®m±r]wOÕkEü;¸U ³ÅÌé¿P>”ŒÐ ÎoÃ×oqq¸üúÇÞl¡”™w½R|`dÜ×¼ ßÉQž†WmœRP±9w‹óï1¼Ò¨ªêuëltj—Ø·EýQÕÅRD öãt K[Ï×L³h€ÛÛOŠl¹6û¦-¸" ÙìkNépﬢÄ8ÑfŒWéÏþŒ<ÑñVTò÷ªË^¦PQ|V­ýÈ ŸjýB#´HÇÊÖ@Þ÷X³èCÞpåE%w¹—bå«DC9¼t¼4|Vu'M:çyðJs€–œ í>ÅýG38mP?=Ô=èè}Ì9aĦùWÑ>Ž"ò›ÍÓÉ‚µãIØ!?õkøoºœÃ}¹íÎ)Ï ™éë“ ?ºoxZúñhãÏL9ÉCñê¾®½$ŽßbÅ®vÙxOŸ¤´‰y"£ûÏ( El®ó¸æWZæn5øª—[sœ7SÍ ˜L©˜=û+ÀWP1t,ŸáYK.“¾ií°A9ŠKð‘yºˆM «†o!bŒµKɉ6èqZ6Q7iÇ‹åÆ#¯ˆà–Ó{ã1n²æüqÿºŽ~ãÁsZ$þHiØÿpoKöø5WT×Ú 6ìd?Ï!D ®,¸ß«­½žÞÍ> ZAïx`?}2@Ú“Ñ3<½R©Ï…×qÊ­ñ£2oBÆ3}>SµR•ÌIµ…8¥¤_AKÛ\8Yw4œã»IA¡…¸âmÇo³^]®zŠDÄӲ˩Zç *_-ZŸ3yÌúÏOaq¢oÉ NEïcZ`)Ž)’Á5éØ!ISøUîíÖ:¬— –¥î!yÉaYÖØÞ½J¾ÌÔz¸¶•ñX¸#2'ÑR…7™Žz9 ië…µ±±˜ärQN3o…JRX£äù[÷ÇLÖ[5´¸UšÅ)žÂÇ:d¯D/è§x>0©WLs´¤¬-ÜYçh“«,7÷ãfZ\Í‘hëA^KKÇs¿×æûþ6ˆ¿&P 9%€ÏÄ)Ñ¢$Ƈ'bãÁUQ*ºûTÃ>Í Ÿ¾ ÛEûu•\aøà,7d:BQƒ¢fkCx…q> ڱΌßjµ¹'ÄñC¶¬BŒ‚ÙwÇ'ëW}¢¬ï2TðâÀ ý?Ó?0ÿ¡ 'wL[è¶'×ÀÅx㚦Âd‚õË ˜­°ÀãÓ<¦ù'ç¹?ô5rR£’¥hb-A‰a-¶bÕMî¨j·óš2kkFtŸþ6emÌçξ;9ÏŸ½‘Êb,ÊU&#‹š¡±à=ÀBò˜—Ú"ƒÓ·üé§žWŽÞgå(6Äg³µÀøòºÆ·íƒ‹õ—V +pª NŠú÷ŽO3Àÿ¨Ìì2ª'ðe´a|¸îl,ÛÁ "¹H„¼I_3sH^N‡³jòÞZ¶ 6s…–5ˆßCàÄ>~çS—àsx„‹@ð$(æŽWÊתÉPÑJ#nÜÈê—f¾7¹å‡oÅešHÆfˆ¦>¤÷Õå#ߟN5n‘’—Øÿ4!qÌÏ©¿ÌŽ@š:²»3šÚ¾›UTèÅ„¤cç”Ó ˜Œ´÷]Y©ÇïcX";åˆlõ¢Ö®‚ƪ‘D^˜þ:.S‘àÞ¶ó”*‚ûpÀ¡‚àÚÛ: }ƒ£×¾ÊkTìc:'¿:¥š…NBìX­¸˜ü_çîg $Y]ÃÈÀIðSóØS€s}Y`vIã’Õ‘=F °Ý±<7¶è;MÚh`wæ&zÊBUArðôY¨[ë_ãQvÄ"¸¸CÁ¢& gj tÞjUqƒÏ‘áz×Ç܆۱G^­bæ¢Á€á-—Þ®»è™‡+,Ñ ~îÖï«ýº—eÈNú%Cý[Ìòö”T• b¶Ü0 ;h‰à…3µ6í{Æ~Jæé7€¿"¶ %±”4|Õ’å¿8œŸÎŒ©Q•o>YÄï»7 ™V_Å÷ax¡¾'NHïNf~u}Q#lš‹z^ôy–ïK¿\ÁõÕC–UŸ#TЦÖCšnæJòÝçeünn4‹±ö°]–ÞøÍ‹ô‚T¡õ*Iš;_”ÁÕ´•’ÍÔŸñK6e'Rˆ l¶a´mI…ß)•Aw-„Þ|"óÿjSuZ|°² 1d*.þxG\~$¬—p—Uû½6ýŒË |ˆ:3‡ïYýàqàefZ£˜¿Ò0/‹¸Þ²ù°ÜÕ«˜Áì·ÔÓfPcæQ$cd8s6—¯ìÜt)¹KÖÀd‰û*Cå&Àv¸›ý6Ìz9_PŠÇ'¶‡û26ô~ƒüãʾ¼¸6²´×y_»² 7 ήÒwFŸeB_¤¯’7{kb«ö¼S-8qý$æPÙƒnúWv~ §v¹fÇà‘•öD…XÒ€P]ÍÊ¡ºó,ÇõÕ¶o-õ- ÙÀQëA×êˆY0}îûwðàË /†»m߈‰çòpÉQä®ã΃­¬þÝE‰T'Ó¢±î:8£“¹â0oò>¿t™àj ejæŽë Ò()o×Þq0à^/žéÄ¡X†I/·Q8†©BÅ"‰òs}X°7ZgtçΆÿç1K)BËÇÖèO$®“¦v›Üƒ½niûž.Gþ6ž«®°Ù>ÊJƒÌÔ ]ô:°Ñ+:<õxÉÈÄqœMG:s²i@¬qzë…„0²´×ÉÃéžÜÐ'-¨Í¬¡X×e~jlq1q*ý[>Ïx·,\œW‡âäþÏ2*¦Å:>û6]ÝHñ•Ö`ÇÝ ªv~(x\PŒîÛ ]šwÆ º4óã¾Qˆ#ŒyGJ8N£ÚÖSÿÀäóÇ–@&Š$T5X'z%0õ63a$?åé7Ýd_×?1‡ðªâÿ­:Bìî\°1 ‰—ÈÇp/WYoŸÑQ<ÿ•€hÛ¢W²pfÖ7\úVãG^dD8É«$eÍÈBìl)Ó:PÔ“¾CºÓP²G4„ÈåÁµ?íglÚ4%X`ZãnÆ‘`M¤C¹BXÙçô{º’¾·k,¿äY{%5às©j”Ììn÷NÓ•ÿO7BÝß|ËZÌ€\'B†]-ö]ôž'”DÖC1n߉±¸F†Ö×L’:Õ¢ã^›»YÖlpñSÕP2<Êõâ*6RÙ4W%8FdŸˆTØ“qĤja“^%Ø+“nâè)˜Ð²ç…Þ쨆 €ÙP&ÑÈÕJ–bE¼îap_Gô¶sDåŠpᙣ…ØT—]qýèîõPOø.€‹‰’›ƒT?¬æíc”³@‰òÖSww52òÙ’_°”ÂãGNH߀«F#Ó¡´RÊÏwÙ–øÁ«…ìJ]TéÚ£õÿ¨¦êÛ-pZXAµ\Ï _%5§]¾vD–ð¾þ±åÍYS1Eyg8cnÅÀøÇè`#f=©‡4€¥Á¶ÍX×r-Taßàþl™I‘yÖkìKKFì+ÃXÙ=¡MŒ5ÆÊ#þJÎ"wÿôæ€Ç+éÏ—þhv\nEBÑþÄ,WÒ k';vñïzöèMD¼0E/Z'—‹Ž`îóMšS7"‚¾i°"vC=UiGÔ{îx™3)ïŽªÈ °<1”U ±6ÑOàîž>:ÿpŠ+aÁÐÒó°µÃ-Ûƒ ¤÷n„µ£‘“"¥ {Ö3o ÃÌê#©Bë/>ÛÉç­½ƒ’ñk]þT.r\wç1§füôø§¬yäfUØB¦ªF ˜9UC4d`ñ>øØrÃ<)µï¹‰,r§›Œ îÃyrd6ˆ[ûÐÑ——"OT’‡ËÛñ"ÀÀÈK#éª ÁŠ+8‘熣;§eÜÃTJy{ôý¤å3Àýò‘/Obâe(ݺ ÷ĵ\š¢çtL°)ŪÊ`Ú¿üá¢û‘)£Ì;¢ÉÈ&áŒK;“b¤ŸèÂÖ)ð!C¶ Ñ;’€ò²Ôö°×äÊËïb!ß–Ôoÿ뙥nýl:[U©(éDf"ìKý$ª±ûš ÒÃf­Þ}ŸõŽžÏzˆ“ãØwèŸ3»ub%·””±Ðâ¾a¢“{¼|Yj; +õ=2ν,tÙ›—?]›â'euD³ÁbSÚ›m_f±@ÐýìÇu&ÝhÙóýú{!µ3_æß±Àú÷4¯þXK3$Ÿ-¬‡ÃhN ¤áU…nŸ6Q•4S+è«*G2`êâæ]šîL€BK6V?Ø_侬w)ê Œrù«Y™¹º”PŸHЦRðêh™ÐÄhk$;ò£ôA£Ï'À‘‡bÂÇ Ù~û9‹¤ðŽn2¼@G€ï 9²›ãÁ±‰CnÐÞ¿Ž7ªfO\/cXª#±«<Ôì\nÒ%é ;ä™î˜+…u1A[uÍ䣷ˆÑú˜N£Ì£^t?³Ñª¡dPØ\YƒÙ(Øù'¯Îà×¹õEKã%cäˆÑö‰nM™5;r0w³½¶-ÿrø½ìuº|@VCF2æ+ ³¯JJa¨'õ"P3–Wð)ÌîðÙ‰‘Àž·Î Šã*ÆŸîv ^×Óç¶Î$–8Y%àò<'±hÁ%°ƒÏt(¸¦ =5€úq¦ƒaðfÈSäÙ±:MùyÖb|ÍË_ƒ…êN´Œc(žäÎØVzÛ0Žk¬?òhKaí\ÃŽüÑÒuYÙ””CRbòý¾ßŽþ s÷_à8-e8“éݳ‰ø ÈÑB×OjÜ;·§ÇŸ®÷ŒÌ,¹¿½±ŒÊ“aµÎcyË¡>u~6§"·Æ³OÔÛå,2Ü®tsöÌ.¿Þ×ÙGõêRcÝ–)eÍh?‹×\èÈKL~¬Pó_ã„|V hZRKFEpólµä¼çDÝyÞÚžN'(â±YŠ>–XƒoöQ!ÎñµÒLØ;€á¶9ô$B¿"å·4ù»Ås½çÔ ¥âàñxj»Ç?2­saõãý¯ìª ꈒHÖ{Lyq‡¡ÜÛZJ™¡‹DÝcL€þ¢|ã$&n6Xªób^뉹nDh­ñ‹ðfˆ¿É„•rP¶%Ô€‚¹§¸X÷'ta¹m+\C_¦4s:’UDâZƒ´®ä°^{¼Æ õdE­ÌûØfäO³n“ŒXýdüÝÏjØvLsm©m=E3”ßA4÷ Iñøe,PZ8®è€&} èþœÕ'ÿ$ÿ÷5¿ç êñVbqp.lš„BýÄ?VšÅC4ºÂÞE±2 mê_%[ ø  °Ú˜Õc•K?‘ª\¶Y½Ú5'#œ&Oùg™9„Y>8hË®ã«Cà.d“iþðÿ} ç—Me|`¨¤Ä#ÍEVð81õÀÉ·®¹õ³šžp:dì¡gZà‡ÞÝÏW«î dwÛ );ínv¦ä¤’eúÑK¾&Mt¡LüÊ/?ŽHÝõUøÓâæ©ÕT’ ¼˜#x•†'¥‰;ýÝX:8QcÏÂÝ÷oO†×ÿ…+^>Zw[½ÎHI~±ÁzÇ+Їzps‹ïw”÷KØÏ¥%ÅuS—]©4#Ÿè@T}8YŠúýeûù½RýA-/N¥8ö1§ j!Óp1VuÃoˆ¨%®W¢w“ÈgFo®Ÿ7ô‚€I_J‘ǧ‡¸é1X7&¦žß[.`.­ùx¹Ð®½{ßW‡Æ¢8²˜ø¥ìj°µÇ6Âlc±Ä—·]Ë(tp?_ޝ±†Ú‰J­ÀjêQKœæÂ¤­æ‡J»ОѼ3ìÛ÷oùKø ÷ßcPùÊWy+œN­–ÕîV”r@a_(ù (Ló5–쳇ó–5D`dQ±ö1¼ÒÀáH»Y«Ý¨¤n x„œÚCÕ2^Æ%(Í9å Ç€Ñ ÁÃiÎúU»l_·þfM.¥õmÎXµÆ6â"˜p¸‘vkÜ[¿IŠ®Þx¬9F$ƒÑÉRIz@tÔî.êZ$úÉÈ÷Ήœm–ÐÜ4HÃ,e›ÕÕô´TìáÙh! Ý<ÄòˆIÌÞÿôYë|Ì,݃“F7²™Ñâ¦ù4%Í6ögwŒ°|^|M,ù¯”4€ÒËÓ:8ž>#.hO7âÞ^Ï·Ãþ%ð]8ª7¯!f0D²Ë?ã:Îë<&Ÿ¾ã ®Ëð«î!ØÄ®8ª_òl4#ӣ¹•è: ¤CÖ^ºÇ´ïÇÖœ•g•í©îh4=¬mÎãü¶ãºùddH¯‘Ão]R÷æð„¤Ý/§înPF˜Ë/ŸDõ (éöCê Ô%0Ýà¦Þ%±¨ê|¾m§½pþŒÐñcZåž‹>ä\ˆµÅæøiR'4¡éVÌ3Øü•mçz²«)UÙD ÓÅÞk…ǘ£A°Bü—5Ö’{^Ú÷Ò?:~^]m©÷^èW;"yÍ*«§ò¦N>|Òû#kwÝãÉ›q1²!øø} »OêG\ÝM>䯑À»ïlÿ6M‚ënÿZmOq2ý5&GÒ…!Ô¥$Ìò~ÀIcÓ•kÑP­ó(÷²ž)&ï*Cu9ˆË…“Ý`ß=} åL0(8Q@€'usÔ6”\²¸ÁëN#C76 s+´W4QŸðæ÷IÏlä‹*?Ÿ,à´@/lXbp«L>h„¹ 0ñÄJå,Ýü4L•L­•ö™Ä@MhÁ‹éEÃJÓ Â—+r³#e*´P×;ȋm(]ž©hcs9x£À]öï£KSoõ›½.”Èìbíªá攸høšüÙ» È3luÏ”Ç çk°x5VËÃðj.ß±Tƒª=?²—º À꺠2Ð%´ùA%á•‘GZ²ƒ&©9æ"™*å,iûeÕ-áòE%«–Uœ§‘Cbq Ë"³×:—ÁŠe Æé¬ Å›Òp³$îœa$>…†ÌPÝÊ¥Œ…iÒƒº¯ Aä·ŸÍÚìÆüøL2”¦az„FZþE\=ÖãX÷ ü$ÉNAÚæ“ÄA ì„Uº.\ÉtÁ/ŒcERÒGùŽ–Ú +šÝs¬ø,~¡scG’]Í_µµùˆžÃV›lê}ÁÍVV>M¤C÷‹M§`ëìBwgÊËP¡Ÿ%ÛDÄŠAE»ÆC¤÷í(éÁP 7w'楹ê#E;-oày¨Ý?8,|‡H9ý$ݾ»v$»¡Û$‹P:Òð¿ŠêàÊÞtòk]ཆcJ³­ÇqÔUÐ&4yB%€áFѵ¹3%`ãf`Ê™õ¥œæȲLºêë¦Z»Gýc-ëÐvº±ÌgâÙCg™=››x¯©*³ðQÿÛ…¦ƒ™6Î÷W¤•àíYu RïÖ»˜AH{g5}!Õþ‚©ýWEDRmR7WÀfüF=·¬ÕÇž\±Ú…ì]ã‰2õõgôwî'¤ÍVÛ`áSb+ÂD©1Ò'þPøØKÃÛi , ÀXý!­{åt©ÓIÎ¥‰Ñ?­°‘¯*íù™ƒ8ò2´òÔ”Žûåê¥%†n¡çÂ-$^{fbfJç ô>§‡Š_í™—ÏtÝv|ì›yåõQ¼jû\v\“›9óïúõH),}÷”ŒœÇj¯)W·â…‰2GtÛpºj[Ãá]`;1 íCGlýJót„nªš[g†þÑûÞ)‘A;Ø6¨î+¶ºÆOo…(°“U€„ì”®³“«ŽA½^“žÅÝæy¶õü²›"é~n…­[nÏq¸ÃÄœ ßܾVQ>°€¥ï;(˜/­êÁÜ9%ÿC°þÞ¡&¶áO[MœD(ˆ’W¢Ú›~V£ô‘±Oü4ô"ïì“§™›Ðjfª AµËX;Deóo•·¼rì~WÊý›|‘ «µÙ¤ÄkYzä¹n!bWA¥Yfjç‡Á¼º)j¨±å jy4ðö ɬÌÙø–.ŸÑq© é aí¾U_½Hz:ùšz¡pbuÓŒ'tPAG(î¿h#UË#j~êO~¨ºK—7E™$£o,ÛsOìÄA‹’åó5ÁË™ž«^V.!ãGs˜åËDç•Gšöä(Ò{+•§Ú›LËÛɾg®FveÖ±ñ¤>ŽÍ•Ûmƒu™EÉð$Á¾Ì ^m¢µ8]ì—ª®T8ÓÆ i©.2©ÖPšWÍYzŽ²Ñ»JH?· rf¹o»¬T¦·è Ö„µ ÿ)Ñ#[ÙdüÍEÈÛ íub@xUŽ€:÷@ëÉÏ:ž4æƒßñWèqòÒòðœÂïäÙ@ÿ¶û)¹0f´»7b(RÒ\H©Þü¢t ùÔ2µðQ`ˆ­çÑÑ0 b|³çùQ%±z' p‚D©¯=mÂÞ穜@ìµÉã´±\¶ue§‰–©Óï€T;r«ßgÕŠÚè*5j!ùðÊÑïÇ#ýdxYï¿[é[!‰¸!Úàø–'Ö„Ú5)üyžðæC¢\ÎÔ¢Õ»«1d؆JâP‚.­c$J¤/GÐzpßX4KC3ö飤˜*"»”Dtl’Ê,ýн$}¥ Þ.šÊlkJ–fFÝgoÔ=E[*5jΈò<;g °R•€ª Tæ÷B)më‰å#D±”AÒZÿ·ÍÁ裺»Yµ¾\ý|KãÅ·àɨ0X˜ÈuÏö8nö]Šª¥˜B¬Ú’$Ü:k}Ø”õ_e,TI–Ưq{îdBœ% ñG«FyÂή.TYnöªEo›UGfÔöð<ûI)xäC€ã¥E_:ÅT·wýÁjßõÚý‘lIMe^ÀíÝ{{ήó,ùÔQâ냄—›»TÓÇunª³¸Æ°ëå:£‰ÔÔýÃ!é(½·x¤ì»j•ǢƯš26­LÞòÓñ³N¨£È2n %·œD©£¬qà€³ö¥ç¢ž’zHè¬"šû…;©ÅŒmzúëÑ­Y湈¼wIËìܪC9Žâ’¡ˆ7.u*ß|o|«â÷Úð˯Ÿ++,¥ÇϦg#Œ—Òc®' "‚“&V(Èâx°R=íŽk™zý!æ>V@uZyßS‡9è©Ñ}3äß…&X:Ý¢].8v†R­,vÅýÞ,¼,o•S°¤‡ÄQúqååœï˜¿òio‹…˜‚+è¥Ý­ZwIÏÞUT q=øÛ‰Yïf—Si?ÔÊq0Jcðì”±m¡EÔ][à -suÒƒÄ#å¦{ÓÒGjà سÉÊDÑõ PÓ“»ä½3Ö°BÏ\ 4Ù¾§Ôë Ô°—àšöÐiÙ@ÂSü´´æÑëØÄ6D Zeofn‡$¶ÄôÉnÊÀ`à4ø)äJîwR2@g}™?׌]ë=H™PÀ>Vê £vVuXùzÝÌwðI?oPLÊ:ÏœÔêÅ27Lš“cs!=õúª’§@™.i|õÈÃ=}»d²I¢(êóZ£‘ñ)ü‹:‡Ýƒ(ºƒô߮Ө•0×ñZ้f9¢Pþwܺ.œºÑÎ%pið®Ã×+·!À">cráÝX]$O\û¯É2³Ì£õ"ª+¦{'äPANÙÙä£Þ¦ÍT8º±¨CböîˆZM'údT”r‰“]ˆÅªÖ—Û죮·ÞþÞ:•¾t[Q«0¤£P¹~Sx±bád=ënV4õá-h?uÔ#™qÞi\Ϭêâm¿·AÉÎH©(Ð8¾|RTî~õÃZC”­ O. 9žSabU –‘…–PNØm6á8¤v˜?žð%= Ý7Fø Hâd¼…@M^5â_ùZLÛ?Ζ׾t¥}¢5ÎKùP;ÿè B¶å×mÐÄpagóE–¶˜Xž,r!¡ýç€ä~÷h kñ7‘Ý©ºÕ37jLzPx˜<+¼áÿžL´4§í2  ÕÒKjƒ…¾-&›8úêÊ[*3õ0½CìÜaƒÇ/KQ¯iXVk¼­°É‡èÌO zMÆNHèü@Ùù3xÅÓ+aG«'TèQ‘0ŸÊ]™#­RÇ''þÕmŒm/VÈOÖÆ.ŸR!Š l”Êá®[üoØÌiåóœäAïþZõö·zÞu¯u›‚»;ÂFBÄî¼-d@ýñ‹Q‹ gl)Jü»€nVL°aNè:À.£q[¯Mu·+,'h)”‡g[ó%„˜Å®ö|óór`žç^qŒjáA[£&“2ùÉ@‚(„þK¯gô„ûù„—Æ*.öVâ~Ö7ØcD‰žƒ³›¿0âµdojM…¹= {DKù‚p±oíj/gm|r5ÜtZJ%h‘Ü™ÐÝ|®-’·§hÄ; uÁXâsµÜõé%¬î Qñ× ´Q>Ú[cÒ?3ˆÅ!|cäi¸`i°kPüÏoûbòõ3Z2OÕú¤nÀBV:Y0(ò6&l’ e|`àN¦nÊÓj8»%ѵRÆr’>A±Ÿ!C¡æÃ«U羉@À†}OjÑîÉ%ÔãüfŒªˆA×¶Ï]ò¢ŸÌíÕ`ŸŸ+ÐZPà¹p]ËD+ÈÙ¡o ˜Š»‰……Vöññ'2ס?6^Ä–~ÑÑ„yi ј"y1žÙ_MT.Ûš¼ŸÚ{•“-©ÆG¢¬$©‰¦âÀ‹µ^‹^™~vËÌ$aÁàý1EÊœ/%Å>âÌm|R„ëgÎMùSŒ›ïêŒ|ZwÉ[1'ÊçEW•×E¢+±çÈHãZTÏ6j-ßi†ê<tU³; çœ‘@¼ç™vN|߇&CßYîül?߯Ãý3ðÆŒ¯9d‘ó½ÀÑ| `‰‚]Õ;µÌDʯW<çÛ½ßÖ¡ÇZ#¦äÇ ‹î²e…©÷%tK€w[¬{K>LέµýîïªabSó-€WÏŸÚ““{ïþ O–õËk–¢y N$€@#°¹¹Ÿ(ðF˜Þ“ÑéôÐí«sÀÀÙUJf垥˜ë2›ÍÒ<®©¥U¿|¢†É+6€¨Ñ=ó´õ¯­“T;7ñþ瓟.2Ͱ­½r¤ôP#‚Ÿ“$‰¶3õË%¦-µ¢×ôªGã0ˆ_Ö(Öë±0¼ôba´‡°Ð”s B'šPJZäÃØà-Œ]äbNÑãÐcÏU+ïK™1$¯ÀTÍa`œ@§¬;Dï”¶™é۸ȊƒÜ&D¶¨lþ/i Ã¥X`õ¦šÇ‹ôuü‹¸¤> ÝÌÏF³b ˆŒ—\+Ð(Ûœ-Þz“e¢›œ½\fä—IÌÿàe™ð@¿²´©±8ÍÓX©X¹?öÝ3"ÊGÿ¢Yë:ËÃôt¶¼œøû$E"í–Ö:¨JHE ”Óx«C¬9) U¸§à*›ŸZa"©Ô*-[N¸YY¤3Ö¸™‹F?ñÐF¶f4çëçò~¸@' ξðWZ YK@k»9ǃÚˆÞÊÎÈ!Š~ß¹DxÜ}A´„Ÿ)]³€zÖ-4êêp žÄ²+lúéS6 †#Aʸj­]¡Kè5(|tÆ(«}„sô‹kiϰ*œß=Ô¢t²†y}˜¬cc¨VÄgZ%ïRrÖu\;ÉUæS— _$N(Bß+ôÈFÕ³ s¯1Ï.‘9¿²±«ZÞêP ›îa£)¤8ð,ý´WÌ–¯?”ɸdž\|é°ÜÆÙVúƒí €Q°hzôsçúH—"Z÷¡¹>‘¡0B²½¶Œøð—ŠþâWÖÙN€ìw‚j±ö1p]^¯D­K&Ž~ŠèoŽ|(ZÑ] ­“¹©ÆœmTC%,ïâÌÖÈЈ§^”¯Ò\"ݺùÀ¼M¦õ,]Þ“äöוš>«Å¤bÕYhnaæÀStM ýàŠ?%¡ú"àj¬U!* Ñ4v†‘ÝÐD^ð°9ó–#Á¼žë0vž3ÙEyÓgÇŽÍs’Hä©å™ò2hyN5/RÜõ–Sáܤòv~`€f~‹¶êÚ~-o¥1©T&2b&³"¬ë&®Y|˜Ÿî{ gTМó9z|K{ê¨× ´«PLa~&°.ÄB”ËÑù•ÆbÀrœ pÀD) <^»Ã»è1ôJ’Áy‹¤2)O}oŠ; %Gu5?^"Ü×`© Æú“J!.3Ƹ(û‚š®a*I6W6º¡]|»ñZšîO$í©8_ÍPtjÀ Â*‰žœ™½¶ü[¤“%®ö¹rõV¦p9®ÚÉQP}57>@8ÑòÖ¬*kíVº>T ‰Ã+ „åcлÛ<õrÞ‰N´o™‰×‚O‡{ëc9û/‚ -šzÊ ’Pø³0ûÛðô|”Á”L™¤EZ¥ G\ׯÂsF†¸mt@bÿ¾ŸÞúY$"&^y(3€4èÑíQÜ–ï>âz¬èÄÎÇõº£¡0ùÉC‰Ó ‚ïR}[¸-²Ë)w§CÂëTJ€[åUÈ"RÇÜ€ØQÍ™˜eX¤—R}ÛFQy–’ϾXâ 5‘òL(móXÓKëûž…ûŒõ6v…û(ÅwªžóƒI($ú•c½Ž§d4ˆ ?¤É ˜Wß3óÇè€g¶Òw#^CÎòŒ¨DšvÞÇÈ›ýÚîŽd+÷^@ŒlE’L-™W³³˜S 4φj¹#êìÌþ”ÞŒ.8¬ïçE&AÍ ¿}yo{>µÑTáúƸD‹y;þ£RŸŸ¢â U³}å|˜*’÷\6#w^ï+|æ2šï,̈°Ž• æ„” ³;ú©.N nuÄV:Ÿ^ã&¦.¯ãŒµ¨êÃà<½XÕ s?Àvcõ¢~.+„ ¹éý‘û‰–\²'g~h‡ÍNví~ éó ¶Ä‘&Píô¦á…ã Ûkm„qÄŸ€3„•g€˜¯¦4þ;t‘˜?%îLàÏxEXtpÑ'´È~'u Wž§–5±KÔCæ2r–®• î»pk²†¾îñ*±H¤f!ròÄDŸt“‡ÉÞs@äZWÑN$ìUr¥!˜$`!`7zö<šN”ôšCÜ]“rÏÂÝ“Ÿ:Âð󤀔I¶ŒúXjgO$â ò¹ñ¦^ÖäÁ{ô›lÛw#²/™ÇÉå*³\ðÈírTEÞÇÁn…Âirº¹ƒGC6±ÉcvÖM¾¢·™¹¿‡bÖ÷Ãöd4äÂëᡈœù¬hc­ˆ¼Î{†ÿrœ» Ì1±¡ F&ÖnåGܧɯ kÐxðYº¦„g’Ýî—ì”Ù¡ùº÷œÌ¬#ø¤à–Ô¹©-$tò"€ër-øc:£2xy8÷ZÙò°rOå¸v`†æŸQˆÔ5$âõ캵p ‚„5y7ãõúr¢×¾j¹ "&ÎŽ¿ÔóX»K •Á=¦w&¢Ñ¿·ï/ó}Ãr+/ùÜ~&§•v•>Òïÿf>%hQ-jMR.÷½e9N¿¶Îø`Ž<ídˆŒšV‹ Ñt޳ý™¬ü8ÏøxSºÑ Î̤§xoVÅW“#N±›÷ÿº-ç²tˆpQo2ºS¦„…Þ%±.ý#ŽLìf±‘¬M‚b¦3®Üü{SCª^9¤±»*o3–øÐÐ(mBjMÚ#]þb,BòŸuíÇÄYþ˜£h8‡< HNÙÜÜ$XÊë³ý¤+R|áÚ 7ã¡L¿šRöì`‚” NsÆ0"6k>)/¸FW-eÈÜíP?”ÊDs\Ó;zÜÌCr¼†ÞÖ Åùå÷U€7oÝ4Rùšs”ÂAH­ Óµ½·L€ÙÏ×|beª‚!­þé 'ôåT‚v߈ÔCõ¦Q€€üüâÒྔí?5ó; ìt©Z´ôéƒÙ–6S¦Äq޶_Ù|Þ.mx_ý§“~…Òï«Ø¹sZ»t})â—ঠóÚ˜ !ü?° ?é.à -÷ý KÍÖR«½Žó“¥ñȦ¢Þ¦7RžäÆâXí'¥ëé—\ëjÖQ\Œ^¦ƒ+˜;`åZŸõ«i8ýT×Ö± D’Ü J”#+¨ÖÑ >×— âÀúSK‘ê5¾ÊD`Ð)8iâÅ2í7/b¦‹'Á¶—¤T–å0(µã×9bm³›©ú±çŠhÖv×ð1ùn^t~ž«ˆÂ«ßú2VGj4~ÐEOÎQ¨ ýÂŒgQçÂßíE{­ÀKÇÖ r(Cí(^ri…;·Q<Ü&Ãï 0lQ¢)‘™@øˆ®i½xý v¡É ®<ž‚;›ÔÆzcÓŽ[…vV ôÎb1 'á ¥òã§EaùI¨§Î¾¤'¡­áJ³BBÎ*x}÷né™Ä.oE‡?ñSí.íì±zÚa)ågƒQÙ>*{à'‹Áìj«å3‡ºÅåfÑ*ñ6yĸ!¦ ã8ßùý-ëÌ@hv'êq›¯x×´¯éVºçâ۸0òPM¹³í¢ËžôLU«7“œ¯zÔóÌGÝ[ÀÝ1s™6n"¾}ã1üÄ]å¹I2åÀ.ãf™WÊ>CˆËa3±ÉÙT†§Lçf:†`üƒ5ÝðŸmÞÍJÂ5†ñaE³€ì8M¤Œy¢.pSIh©ÙÒ%#"¥¸JIÈ·ªgd„Ìº×øn̶8VðeÛo~þ%6Bñ¶½yk¯+ý3«,3E ¤}Ò~­ò¿ÞJÙ˜ÿƒ$$¤Ä:ßãÕKÙgІjWúâ,5`?rç6i[ö>A)…ÊCå0„8y:Ó1„#D*•%Ÿü¼:“*]³äûË6<µ…5'í´Y-×.CIz9Ìa¿Ï‹Í ¥ÕõÓÈ€ÈìúÆ¢B'ìY]÷qÿ—‹Ðnd–ż±ØÏ²³d‰}%G-bk/ ÷qÂS¶ˆÃ3ÍØ/¢÷oò>¥Õô¨«2b'{ŠJdBïc¹kÍÞT’%ÑHߨ¼vKÖjߺ—á øBôÞ¶úA¸©59%'Û2EG=ýØTöQ€Óóõ#µÿû›8é ‡T3fij—‘ÏÄ–äx¤å —ÙÕ e-ñ¹QƒtÀÅ#Èš2ÉpäÂFG$-={X }¹Y¶1†{² e’è'Þ¹A7°Ä;û ݇jÜU³7¹J2Ïo°ª}±³–¾5Ûž3\ÐB¬|¸©©3´2·–Ì¢ÇMEñóäc˜ ‹wzCË’†8)^Ë, (¾ºí]bûVjV %ìJI‹‡ÏÍðnó³œÛÉ/`Cjɪ;;(r@Š™6 ’{Ô£@}­³p£Ó×hפ̣é¾ó`ѯ Àô¯ª¾‹B:MÊpšb㞀¸ ÓˆÓ°†=na­iÁ{Ï®ÿ¹Å|˜å^ž5…6YEjYc€×,” ¤œ£>4Õ¥Z˜‹+ÞÙÑöç˜6¿ÃwÕ™No=£‚p¬„Yȵó7Dkqï€n”¼âêà#?NwYÞ0B=ÿ‰;¡ˆþ¶<`¼U“‚xÀ=ÿí3¥Ö~2 ¢ öáz»¡Œ3„B=µ]‹›qŸÄíÓL—¬±ý¼)—x–¥Á÷Çblôâ<ÃSÎÔ·õuîùvjK¥ÂÓîß ™_B&©z…¾E=­Ò†té /vÄ—W÷Á饬žFl´æÈ ¹ˆ¸å#ÇŒÞBôK[md{é¦%83b ››P$ÖÃ8áèé ‹ƒšFñ;†9>l¡7™rUg 6²·œ_3©(ú-W0gOè>£QàHŠØÒÈ1Zé6°À}œ"B{R.2A(ãçÏ£<’{ú•Ÿ«ퟘÅߟðKæy5t#±;h;ˆôG¨TŽûg†¥NcõcåfÂÍy™J‰÷JÄ åôZÞq¤ö_i¨z®í‘ã{ì‹^wÀS‰<²\-’$å"™š7šÓ^-Ϋ–RFãîì¦ îÐʰ’âºwö2¹o ÌÐæÜÅÅ0ÚQnNÁò¤zuàŸä»J­£SN*¥biÌU0%œ¤ð¨U¥ží¼(¦æ>ÏbnVq:Íå[¾Ê³üzÐ}qùO^ô[Éñè·ùK@y&1ž6Ž¿cÿ‚¹Î•ÂeëF«ÇÆÿå§WÀ“Œ¶²*ù/ÀŠÙ*Yâå–>å&ÃCw±01Ýlá%Zs(Þ|×=‚»6ú l&•‡zÑvv }Õ~B¬G~x:Âô•¿EGn ‹.ÀEƒ;U|š:]îJýa‹l¿«AY‚jDæ…oóx@꺨D`Ÿm¨­n*Šêˆ½)T?8‰gÌ ñ ¹¥ Ô6kÈú+@'Ënä¸E gZ¶x²æ¾ºAjqGȯ¾£F&è¢&7“J^lãžiÛùƒF9fÆØ»³­+úœÈ®Ô˜h©8­Z´®Ê±1¿¢)"å¹Î¶¢Pgœb¤ÛëD5®)C"ÙgpŸJ¸-‡†¬ò}:ÀôÌ ¦~J±”ÜÝöÌÜBœkTä 6~L»æDÓhÜX6g¶ñ°”GUkg+ˆQG8!pÍûïB!ô®)ߌE³üÌÐf õõË­m˽¾²öýpW%IvG z¹¦“1k¶È)²WÆÙøÑKë [Kv÷/Õ\¼ÌYýáhãiÇÕx_¹Nö¯ˆà¾V`sˆ£ð› ˜f:„XÂS üB–ÞìcWmæ‰ zd…ÒYµô´ÆêÛÓ0Fh÷<ç2Fˆâã¸KO|©|øÿNTÚ< Ã»ñd9ô¥œ5ôUÓð093[ºjiÚŒ?æŠ ÃyRf§áåÇ›>>ÇXyž*©üâhXR3âí+» f|…û&ò娑qnÿ,\N¦PÀIÿµ*f„r>jm?;0‚êÕ$¤S¸¡­& ÎŸ ¢VCÆ?,×AXÌIΙÃ|Ü£,GÁAEéS^ÛèmË2@o¶¨VÌÊú…ÏÑ&áºý)"Däoa¤þm6­í †eÙ9¥ýAÖxvX'KЊ–à?jë‰Hî&Å.žW~äÝ« ]3‘õðâÈT‹—ˆ¡ÔŒ¶äB­tæÞŠÁó) QŒÕ½ úúÐr„®;βÏðü‡~Ʋ î[“ ð;“ýâ‚öòí>øþm,úòƒSÿ«‡–Ùä$)ÐTHž{ªÝ}çàè¼X«|;z¦2Sœwtpû«…w:t¼È&!bgt69wTÎÞÝ&½–™‡¸"¹˜Ÿ“¡Ø€îÆðó €j¢XkVRZJl„†Íß? ¨/¶s@¶ ÿ!Ñjtê-à½r_Ž"¤¿ë@…ßýû:w8•ŽºL’Ǭa=5ò[­À ôEwùîBï`¯©Å¶¡éýx7ùŠ­Õ:ú%¾ú[+7.•G £‹#Häö¤CÏéQ?ÕTùˆéåŽ$57ªÒRhÈud¡N«IÒ2ŒçG- Åb3¶î·+îÏFæÞK×%Úäc}ÅSÃqxE8p·e!Êt·yøáιÆï”vYk¤Èdp¨ú”)$†ƒcr}: ШüS“ɺZÞñÖVçÝ\Ú+Ô¸Á´”cü%wk+°ƒȹ²x$cúýÉÝÉ‚¬úG¸ÿtþ-ìÜ™x™1\"’:œW¬Õ1ë Ö“à&U^95Ç Ê3f¦Åœøaj2>$ ÒJþj‘AÇ(æJ¼§†l€¯~úɪîñNxL±(lh°p`w݇:Ý~œ µÛª÷…C)lñaƒ_ êIm _<™W÷së¿ù”Âù‘ˆã RÉ¥§Ž¾®Ø=K9DÄ–E>œ5ñ[¹õQšéµ7³bBßjQðÖ>þ Ï4Þ ­¬вÎþ|éëã–ô¿¨$˜D?ò7'í¯¦…ðA8%Gº «ˆÓÛ e“ü«]üHàØˆu®}N´ØØÊìÝ›¹J§y÷º{š-Ða-ç÷¬!‚¿b1È2§êÆåß5hÒUˆMÁ³ßNŸ7ûq×Îsa5Ù}ðPž¦¥ÞÎodf @FvŠ˜Áë@ÁÁ¾.õࢉ‡¡7·ôt'R §1›"†^x¯R%F\Ë­zÅ2þµm–³…»Xº¸´y¢/)Él×"ø»W,¸ýSö®wϵ5ºÒø–D%hANnÌE¥‰Ç”ƺà—=Ö;…¿-rç“ú‡'â2ì-Õ}òÒ¹8~7óA„_y­êÃ=¦íßZfu‹x4kÅó‰4ŸÃMxŠÒナÉ"Rê ‚­áQÊaÉÑpù}ª7bÒJÿã‘ÜïÃ>éXëeJµv0)øƒõvX)î»z™ ôà2ˆÀÞG÷^¥¼»Ó€¬ áà£;ÇJ)²jI¿Êü™»‰ Ïw¦v0vÉ>¼8ïà`Vöå1±}%OAñUïÆ© á:¯€‹õȸc›Úæ»HØF£¶ÒaÓà;÷•JšEÐñàÛ€s]»Û¸ˆ´ŸôôéöÂ9_Uë§!$ضe^g$•õ·DAßþïòò$Lj-ékT—Sx¸š&Òy\ü …<†b‚äØ å¾Y“ù©ˆ¦D_´,nÀ ɤO½¨ýù|…Ì ŽŸRÞí¶—|zÂAò6¥þÒ•% ¡Ai&À¸*m'Áø¡Áª Ë¸["ÿ¥ïÔ`—í¿_ :~ ¿×ê¤ I}½@ÿF]}fUåÚv>÷1 £ÓÂg.¯…É<±ùR"¼D¾<™/¯"𾬔¶ à;`zQB´-EI‹Õ~¬& 2÷ ×v6Yi›@,ÿ- ó»Xîs›2Dæ­kÌ DPd{ù| .Øò©ÊÒâ: ¨+Â>•QKŒ$p¸H=©r".hÓÏ!ðÞ ¬Œ`‰3€7èÂLÛÒŽÜõ[û-,¢ÜÃnžÓóÀX$×[ÙïÈ»‚Îõ«oV+‰9G“½ˆ—]Yß”a÷Vˆ¶pÜÁõå"Ln 0*è7ž\"Õ1……"lp¢²Þ—-³¯."½©™©‡â¿Iyµ«l’t`ž¡À­‚°D‘Ð1€†Ð®Ð#i„/Ï®O$ùyýìÊg6M›ÙhX¤¹Â ?Ý}ÊŽ2Í÷©)¨[Y‰vÀa hÆk¢B„l¤—~ÊaÕx¡¤ùB ÌëÛW“˜" ÖÇS/øÁœFqvŠèW'À!èænù2T‰×Brå§:e´nªkÀsa ZSmÿ ‘ “˜áXZa ¿»UÁ² *7v…F‡HD1& R¹‰÷‹ù¢Ôh”–É)0O}·YÕ‹uݹ—÷#k0yèÈî“ r6f¶”.`²éøR¶]ý‚jÙß ‘õ†xhÃVÑ”AˆÂþ<ÉèÛç^†Ï’±µk{Øþ­›àû‹Þ£=Ÿ9‹1 Ĥ ?M(~~3üNÃÆæäÛ’Ézl.u1¶øÈå˜y¬âßìUmQà4ÅmÇ•ÚkšEòÛ}ë…A,¹7H5NYZŠVå×Àäyñ¦ËP•ä; çàËq‰Esír†Ì\"€†¨Ôh^í gð‡¼ðÚ`b«šìN)QQá%af@F‘øTöJ‡Ü[ŽçŸ·A·´©*Í`J¹öþ5í]ä–f.=„trÀÎÞqˆàÀ¡ó.³ÊÑáI&jí§r0n/‰;ý‘lcI ®Â›@‡9Ü9N¹zhs‡]VX#cºÜàþ•¤UÝz«ÿÄø¤àißÊüYØà=ò§ìå˜W}³ý Agg׊ßk9Œ·lú p+çd»ü÷o‹iÛ°êé–"rþO‡TÙ«·2v¾£BS¯.Èë9£y$siïOƾ‘®ÙMÇE Y}Ç´çA=Z`XØ)fµNÄ´µ~f˜Œ7\ábËâD5è«Z¼<»#f4Zƒâ¹¤g,¨ds»«9þožaLÈyn3Âp‰mÑëÄrÑçÙó ò0uGtY“T8·4+ã)ÊÏΘl Û¿’ž_(gÚc'¥X£—#©U’“·°þdì}&Ê ònóØ žã´WŸKbûkþO(‰Ìá1‘òk«ýt ma=veG#V˜¾ijeg3÷Ô#õžkR.5È1ÂL×¶ù—."^¼ìÓæüE©'Ú:ÔaÞT¨¦Ýpí2£ëˆÖs_ŒeäG‘óB@d^ÙEqZànt·°ßOäW±Íþ"ÉàÑ蓳 K)X6¢˜°•ívÔ¸Ì0´~¹QH4Ú(cüÒrb]Í™c|-[²ö„vá1¹<ž“eþ]Øõ¥à)í 0KoäQ{9jE†Z]E@áÜýâ˜s ‰U¬NœÞΤn?~€à®bK@€Â!÷À1T¥ U°Ù1ÛmA›ø.E³=dÎhÌí)€Ô3÷áô—}D¿•Z¢æ>£çèÇìW£çt;‘œ«ɦó‚T>½cÀwÃ~CNIœ­ä‘©'r] Ú¦¶¬qâGêÎiBü^ÇB¢´ÀŠ2_áXÎ]{Ã{@|TÏ»óö©ÿÎYô¶÷‹”W*¤%¢ ÔjXN";šÑž£ ¡Í‚èœ €W§‚ì¥L‰¦¿"vBšòøÃÒý¡°3Í£›ôX@ »þ`qÓç÷~à"P5€ôÚ•™õŠxuýÏß÷+Gb–Àãq™aÂm#K¦Œ€œ“Cx¬õµ˜ª @ÝÌæ@Äh×°§"o¬9})Ø;«kѰGeÃÅnú:æqt¶&íç¨äø‚[zĦ֮ç6ר‘@áJ3êT¥üØ’ƒ¶”¿* 7ÙÁIðçM=ëV%ÿ^ÛCŸK üâqŸA‡2 ÎvíóI½N›z22R|”§9e*\”OS#³ßÌ€á&>áO»žÝ({á_‹5拼š¤ºg W+˜2´7ƒIEšÐ9 ;ñp:³1ý3¸ýihã"tùZF@¨Ìu)«ÝŒ››†:¾¬ñ»íCp''5±âK¾Ú_Ï„æÊè,ªP FÉX‹÷Ð"ýã¤DÃV]K.ñþÀhtp†½gÏKÄ ]üPå >¯,ŽMK‘—T€#Å[¼_a¦:ï¸:$a’‚'ÆmÔûÇD‘±*ÆÑöðzÀyð*<­.úÙõ%”uÌíg-ޤŒ æ ˺àØÛÍ·ôß ]eÚÇ Ô ©×÷Ö*)w;U/C'XZ/?»”Úx¶­NÂʧ9 ÝìI#¤?BÖˆßþ…{~çîI§ÜLÖej¾ÓNêäÚXˆ«­GëN’¯,ƒTÊúäš ÷Exî%ÿÑõ;QG¿–AqêóO F}øÄÑ©rÓ ã¹«h` 4ëW386¹E„À¹îLžŒ¦¯„øQ¯Žš$ô¨T¢ƒÓï }ôíO»Q.#Œ ä´U„²|z饬æ\(®…ñ.¿ÅŠ×ÿaõ8ã¿Ý¡´†A&ÛRUb|UÙO†Ê«¦DHd¥Ÿ%;Ø‘xUÅæ7 #R0CÆqØoŠókœs©Í…‡ºú‡<½z|`À.®‹0âMV¢æøh5éð6å®Ãÿȱz{¤aÄžd$™@Þ/¦áSJýg<›f#ÐŒ¥[K=ØZ3³h}Æõñ™¼L¿>‚²#·RÞ—^JWÿBåeIíýmk£ƒÿ¾ZÈ;1umuûÌ‹´îL&–ØòçFÎQNîzí•S ¸ ]‚éÕ׬JýÜXªZ]íd/¨zIÔ 1­éß¿xá¶3¶ø_¡Ã¨|…u–ýˆäJà ƒ/×4ƒG]Ê0ó,€Ìd­«œuŽªð>å‘‚ë9ȆÊlÛe«ó«˜~G¸ÊµLh÷|0WàŠö `ÞƒÆè:‘ÖÑÌbÃ-›ß&9l‚™oE~ 4ᶨS$OuäéºjCê?Iš¨æ,ÇLáÀÿª±Ò‡aòüà×L³FËíœfY 3“nmÃðÞÏÓ˼`ž‘˜ºß7Z,^&üZÈáOàͳ½6Û/úÈŒ^¦éªñä?·Mßà OVÐsÓäv$#û}ï™ÛïðÉ©ÆXc ½fxÃb¸©DnµgˆŠ”2@›FQwôk3ûà;JZ1åÊžÈg«FšŽ­íŸØ¬© í`rr‡Q\™ Ex^s†à<€u¯œ_¥"Ÿá=YAdCow1,ÏÚ¦4OBQÄq².z¿Ð+’p:nÁ¢æ‡¶K5¿êd?É ;•RœyguÀØ´æ_ßöSXŒRµÍQ°}† ³ ¥L‹ÖÚ8N£˜ö q>ÔþSzýÊ€–¬¢×:PÎ!+«Í_÷ÞE LÆ_®D0ÐàäŸuÌdw„ÚT™3“)6iñpŸtß)Ú -’õ¼ÊçÔíh®ì6.‰šŸ&´Óœ¸òQO OùÇðI÷gè®à”®Wšz3ð@½U³ö^­¸^1Ö~àÀâö¿rOšöÿƒæÐB_wEACŠýz,"÷J´Qí[P"}6É:eɶ¯Þ¼°$Øæ¦Ùë>°^c {,n/gøH]âChB ¼¤N8™âÓ­ÄoG,ú[k=IUÉ+¡ÔYòp] "¬÷˜l.£‹¨0¿Á%2÷εªÇ4¬ÀQŠŽû ãq©'ð zÚI¼3¡IŽë(Œ!-µn9ÚJg.{RÞK踆ĂjzU”凼›OféáÜܬ \ rvÊâG0 ÊX¾ äƒ<+/û_Ÿ…>×€8_W 1‰Âã{vt77H©ÕiVî^!?.HifͶQÓgiBg0 ¹xú 7¬³XCÅhlØkšaƒ¦FÌ|°²=‘¸€ÑÜp B|=¼ˆÅ²êÙîx¾ÇF”Š:<•Kì¤ýº´:UšT]âíYßJ[ƒ’o,˜X2y >:¤Å,Œ'Ÿ#×R¿ÅKW.òE³gôÄå »åP5¿!¡<—?wvZb¤¼;Ë”†óÂcpŸ°­ŒÛ@»Ç—o"6æß–¡e‰h2ż^üªñÀÄ † )R/ &b8B=ôÄßJ›]¼_Q³û”µ„}IZ¬1ñÄÝGçUËð çíÊß ÚíY™h8×ÙpÓrÍ>Á?‡ :3¾ç >ë•|zŠ–˜_ð{ Z¾8©Ë‘–uµ¤ Ì©kìHøuiMóÀUM¦-}û’/žØW²}N;ú'Q©—”¬Lvæ'Óø£Ú+R7¾WÔÒmȯw©‰‰DªI-P™ =•ÞÄ?P7Ÿ˜HŽýÒÐÌŠ™c¬”þr#X 0ˇ-? ݪ ¯ÇDîXðÙ/¬c¬R„%ˆ{`ì4U`˺B©,òa {œï6q µò[ÑËC]ÀC3jYLç3§œJL±ëVñÙùžQ]Ë5¢)BiÖ£&27¥ê>打ÈóMÀù"BD˜×¾ÄoáwdãhÏëPÞÏËìÖI¨_ç­inÜýO«ÌR}žªD×b¬óê;¤n»y¹ú´d-gò&šq¸1Ðd—  ‘A’ÑSßê.Žé§>s`š?àá½ÜzÈmäÌ/Èø­„yPíߘxÊÌ¿ò~j¾™vßÒþ‚Ú$làˆA5‹×É®N™¼EïcÚ[„ó/ÙhÎ+·“g`¦˜D+à húD‚":h.U…4X<1ØR‰Êbu;Õ½ vÈòlœb¸ô5þ—fœÑYª ŸT‚ŸãbÙ+‹„Š Î1‰–küA¸Ž¨/´ÐV¥Î8„g%Ù¤ÿWtÂy’ðÄÙÖÕÍ,qh0òz9£¹G¤ÙjÞ.®cvx*EÐÁÄÍ—¾hÌÆqo_!ÐVrN?=d€jIÕ}›èíy«ë#¼9–­dÏ¡.ò÷k&U™²CÿAHÆeß5ãÝ ¼Màáûn¯Ì )Gi¢,àÙs/à¦Î¹Çµ*¨1yÞ'K…* ‹ór}›kDt“ÂWXç¼Íæ-‰¸­NšqÑ0±ŠúÙŽÞá÷:òoËé’‰^k5¤L'÷u59Ëüëßœ=2ƒo‘ ¾oçð¶î¤»H Úa߆4°:%ewý h'‹Gñ³×iòE窅o&$jø¶„ –¸wy0Pó%Mû°ØÿÈ­¹‚…Œï߬<2¬Â× AüÃÈY4L›­+Ó¦bÌÛ}KÛÎ;ƒ~œj‹…¿Ì¤5Z=†}i2ÝZbò;ÏÛbiÞLûD#fÂ…GŸ¬ÃQG+÷§ä˜yñ¬‹œ48B¤½]ŒË/íÝE_)c  ácßg ¾ß°vqÛiäÉÐYù…5Êò‘¹X݇ÊÄæ~›Þ9Š«%-Cÿ}i9¤ì¨ ÏXø:Þq™±CñÂDtÉbwl‡õ»@/"\ìÝä·­<ÎgÑzÝ{¥.QnEŒ ²ER'b*_Å·°À«‡ˆÿºƒýü¸ b|\8=ß lµå©{ºù‰}Ío°ä¼ ä–ŒÅêU¬Üc(D˜ (/#ÑÀMùóÖÈybÿ;O}o•–{‡Y¡ Ü•&RÀÄ×bJkÕá)Ç— í0æýôƒKøUxÆ~e‡öÛÑ ³ˆÅ îËxVkYü.ÀÌq¬‡²lö ¨ÙæÇ”ó²è;$•Öv}½îåLyH‘TåJ¥­žmW1¥ÅkßSGôZW†vÜ, zÎâçýÙTó; 8fw5` }%ŒZù‚qÞì´™hνHÇþ1¿^S-¡Qb®.Wš;µv3Ç®y×B&¦¿Ñ€_½/áNë¥_‰GÝ®ü¬•ÏêRä~ŒK:4i5n‰/g0a=#Ç6MÞåaìr£®Æöhʯ¥µÊ {ûj´€€'"Ü[$`íÒÿk¸$ðÒ6'6{sv¾/zD?óÛB O'"n˜Ü¡_y«onÓSº61‹—w™<)~³øBrk˜ÚõíaꡞžÖ¿mÄRZ0}.Ez{ÏPr×®\0ÓrÁßO9ü¿q\MM¶ª)ª‰³H‡›ðL<¬M!=yCY•Õ§‹ÈâKa¾EÈ%5: •ÄŽ™‰*]¨Ó‹ó•å¥5gD…¤'ùGñ®wæ‘iä ¢&"JâT‹~ß?Wß„Wä b>‘ïe™¤rÁÚKKþˆjÔGãbã†B¿L@ú×îc t¤r ¾8ýo+¹lSÑvDƒi§Çk¡røn¨y0úæyH¢†zö]Þ³›h-ªJ~j¿‘üQ¾Ó¬ÔnYÈÖ«´(Dg‹-è2Jñ“nÒ§ÍüG(3Bžðìn(/³ûYÖ}ð”! œ|UÖÍ0v˯x3>4z'Êë´{o­PH7m«1“u“L“ŽÇ-á°•ØŒøjÝoÃdŽ>¤W=ãSõ~¦›ôM"7ܸõB±\õ¤xPôÖëo"1å0Áf@PÛ«…ÉÚZÂq:›¬Ϊþ‘  ÒŸˆÕRuÃ86¸Š5EµWÞSìN–OÑ$ Z’*ùôÂ=ÿ)½µ›¨KXv>Èz—Ð(0ê-'llõ“DÆeÁ Kòz=|bã>@%ൿw³(<$J¦Ÿ3ÞÐc¨1~Dm•ŸŸCfÅÐX¤ãZË!‘›’•z”½¤'ºDŽ¢O4 é:I|«æN”¬yؤvÍè-[1ÎxÂ6¤ •µK>§jj's—NÒÒùÆŒõ,¬¾=fª"dÎN’¡Ï.ñ‹‹¸öÏãJ+ìdæFz¨çBn›ízCþ¶Ú‹™|·Zü Ä‚¼¦eø‰“¡¾BQlñ¥vc4´L"64Ñ‘<mÊ2k)ðX•3à­­÷ÞoÉ‚Òçýôa#¡”ÕãHƒ£iψ±5ºÊûö`PžÚ4¦мKü*ÅŠAÙn r/ß,5à­p0ð¶–p•¾»e<8¤¨åÏô 0á/h㌺zתËýЈ˚{Zó÷äëRÑžêù ·q€w—Ö:ÒÍeN£gK>vFîêÂþ\ OŽÿKVh4+#‚Óéµââr/OŽx¬¦I}]!NîÁ™ÊÔ[_žöÞÔƒ²3„>72ìàË4>÷mA—:H¿\…ð÷³Iö1§W³©ÇàqWì óìª7|_8!œÌ(¶žo!aX VßpñÖ_¿Ê{Ë;óX|é[>u9¬ìÍ/ÁpZ÷R3ÇŒóMˆBb«³)AX¸ 8æ€И]Nµ=eYÙ(ÚY\ e[åÈ<7e'Nœ\A_@=ÀÏ…Ê5¼ŠÌ¿HìïŒ|%•^+R ×F Ë%µZNª xa`Ðg>­•$¾­R°{f?}<ôå}TÿžRI‘ƒ:.‡cN¨ú@uò…ã@×aÐ\¢¨HqñD^ ‡‘&ݧªaÃ_¼µðy67‹Ã”ä¤/ÜUcXö—Э¸Æ„ÇJ=ðsü/;¯mY¹!+;vÙ‚SVû†ƒrýœüT‰ùf+ïIjõ€ü,8™>l hH¿¡á ^•èvyôá [ìZqÑne¾Ò|›MÓ y:΋dð•¦lj(m™hçEZ„;DMU¤››LãfÍPH÷¼mŽ»î¼Ô\«.àÚ]6s/Ùe-š0³T»Šªô$þ™ÊœŠðh…4`ŒƒÁ_•"~à~˜*#0»™¦ÅÞÑdô¨ s@TsôÏ}sL‘ÕBŽ<9ð2ìE¢|`V!‹5@*ꌾᎬ<ΟeeE€ÍhÄN,ƒ*]jÀNž}¡Ç÷TB!­âùR=§çw¢lf:¹Ad7Ò’YtyR'‹ ê0‹°u›òçõã0bwh"ä1ßoM•Zó}ÊÞçûþ·91<çë?)—?†qQZö{P"ЈÕHäYrþ„ìTÛ½l Éļö¶\ÿë„5/ {sÌA¨ u¼>½3Äh=Q…yMOá}ðŠÁsÏSÈŒ%8¿³òÃÔa¸ÏI’;¶%È_0à“yñæR7»y6Vá+Å­Å ¤nèˆuðÛª-äR4¬6&iŒ6ÇJ3•ã ®–DgÂ{/iDvû%¹èÁW;*pl̇t¯%=õp®ó/ø D%õ¸»…4vc¼ýµæ0àîïá«ô}Œ2¿C¸Í{IqËÔt S_xœuÐ@Íýî¾ã °°Í:^yr4ô\7IkJótlk9Ǥ¼hù¦M —9 LC‡W^b9H°NÖïun¡ZÖ@ü=».h}ZéÃF€±ÛV¦’”ÁôX‰¹*[1ÿP‚ ˜¦ Ÿ—¦’×豸ÌÈG p~\•VNÄè8qr¾ô†Åk5qãí.KGÕïq·+w˜¬·p˜ÊÌÎÅ+&w™?ƒµ=d8ƒ! (œ£Dî,7HA/YØ|IÍÏ6Kþè<÷HQL‡e•`¦ `¸ƒ±#›Yµ‚÷þùFÇx–éTþTGNhs wM3Antµ(¢x²ÒàLÀŠ©³8ä|•VS= ²žg”õ™ÅµÀVéïügç{XÄyÝô©ó5sÊöQNŸfŽu6¶Å¾¬0е«K.–Lƒ'ñ*ósK»ëä ñª!~ÙÝÜ@w:’eî¾Ùž­](^Ó}7&4 ™OA–æûõWðQèså_œ-£Óa–Ъ?°‡= Kãæ,†üêÈk¾®Ý Øø6ëvw›w1«o´Ê›ºüz,¢Ú‘Ë’f¤„ôßâÂ,érQ×9n.?,\ëÇÍŠå²g Y†'–[%¦CŒØ “ÄE{[û=ZöµÒõ¿-©z´dT…ŒþIïmf`\êÖÊÔ9'†ÙbZºw›391ÀGX¶ðßxO2PHÊÝ£N¡i(7ZVîù:qó÷A)°+.ÆnÞàªG©^lÒ{M¶+bŒ³»0üZìG¼ùÀ¿i›ÖAxIWÈÚB•Ý[e6‚ÅqúvVîÔ¬Îv!m®ày¶Qå‹Ö`Ù#u99 ›T‰¸m¢¾”•|%„ÈÏbLWŸs @Ÿo“ËMbS÷h™ž4ý VSräæô ˜ðÀP œZëסÊüjè2“sÛ‰ˆjEŸÒêAÝŠŽAºD‹£=¬¬å§3¡¤®L]¯ŒEƒ÷ÈÇÞd8ìÚåüžßÆ!jâÁi+d½z,ÐÛDItä%Q¶Œ( %rhð£gŸ·”wFX7¾Yy7k–D´ð¤,t¥ˆ¶bÝ»s*ë¸!JÔø©»ˆ’;þT}ìc‰j«×žºº1GÛ§Npj+Þï®êóX*8¨²Tj\¹ =p@:F±{у‚¦1„Çõí‹“p•]PæSòžk’EµÜ¢¤+î5͉ä:ÒŽ–L»‘”ûc;!¯ìYÞÖ_ÉtØbþˆ1µŸÙe ÆE™Ýªõ…“7íÍ\mò¡zN7CžÉ=^0çZˆl MÒx4f‹pÏô Æí´¸/ • 9ÖAQb.DòœLêKÚÙí±hó’Jð"¥y@º¨œQ5+¤ §8*gÈ–ú)zv—6:¡øº-®¡ 9ÞmL‹VõÌõ¥1V>Ül]Lr.׈óâ`ÿÎ×÷ £ Z¾G|áæ¡¨Ìb ­aM_&‚ý-K¸qGô 6màT©|u Y¹É'´R¾€cYãÊÔ,Û*ÀsÞõ€N`lBÿ™Ø ÑïàÒ3*Ë»ÐYCÞd#÷ ‚Òˆ4ýþk"J¢Aƒ6 17êÓœ«ÓûìUª‚f]y)ܳ°e^ •Û Jì¤Ä¥æ™J¼lj ÷"$@Rƒ'ˤqçr‘ÚìðÕajk ™Oç ø{þ‘|Þ«Þ¿âB)€îöë}h(UÁ M­Cè.7×_³ìXã'üdœ0«Å€ø¦ 𶲇p°TµÕC`”ºõ5箢Z·ÇŒ¹cñ2èÜ0ˆ—äW§3–ïOà¦Â£¤q¤;£‹B02ÀAŒë]èÈÿT"ñö¡œä_Ð¥§»z‚„§ñ4†…u³o´˜)D¹êK¡p«@‰î1‹’w!°Ë™¨JK­ipâ!Y7º +!“¸*êÿ7Žq뇇톗#÷ õÍŒrçY&ï­fßt¼–9r–J¹A š—cOµž÷ïGUv¿`Iížs+!å¹'5Ks:ÌòRSK)8C\ H„q%C½,ø[\l~¿ò¦Z_Žì¡«Œ­-6ÿ'ƒMaÛ`žIÏ5Êñ‚ÿnn/Ä@îÇ© SŠ›¶¤J.ÅLM–êYR(hK*žòΦˆ›liS½ -í]ŸØM’wíË ›`õ#Ñs˳ò½GfÖèâ8¤h@â@xñ«r Äñq®Jþ/ì’6IjŸƒµ”×AKCÍÙéò\íÆ_’ÀÈ€X?oß•T¬ö'³±óJö‰Æt-FÍó¹²[ð­½2ƒú:„í9« î8æ)&Ì÷ùš×‡]¸C¸¯ÔÑεˆyåM=I ¤˜sVÍÐú±øÀP´;ùQÀÄÕ°×ô®-_ØœQà Ä«õô'ô«öç`ò°ÅMñÏÕÜVôÙí±5åå¢z"@UØžLÁg–®U˜"§ËYD«ð¹¥ÿ"^XZJS„©Pí`³¾þ>Õk¼<œõAHH±é¡%EÖ7eï@ÙÿÌúêG¢£üäYJ6üá³P'£»<ÕŠÔ“ÅTTUOIãd±Z’À5™ß ':“ãÀœ'Ìë¡™ˆ#h³³¬Õqü„J諔ƶ” ¿ LvØ¡¹‡¢vFød'·_pìò¾ Ý}ñ,ÔÚÝJŠ÷wš½u]UaÍTD.õxÿ…ØéìÌh,7'Bu¤iE婱ß3AÌZuŠßùb•§«Z.]Äj´ “~(ÙÇvh8åšãÙšäœWvŠæ³>‘Í»É#Õ%õ+ŃCÌë„ÜDBúEÔõ`»•^‡òB!í ÅøùkŽ­÷¤\ë ïφ±È6 ¤²Ž6=DŠAçagM0ÎìZ‘繉˜x‘aÓ»õ©/ÚT]à/T•C1ÏÛ¤GÚâb4yÀÎá‡ÍIÃõ{ª¬Þ«âžÎWò£T‹Œ@q['kCs G2rs‚ìÁÊ\ѰúyÝš£žêR"± œÎ\NB¦z»gZe©–zVjcQ©¦O#ù¡‹|Xç;ÀúÔ°·ÔSE vІöv¸tó¨8&û¥ »êü6~ €0*)F&@l9©YQ¬ ÜrÙ«ÿýz©Ž=ÁÍ$Y Ãl Fág+Û9p¹_¸}+ž2=ü0JÂäìðÉ›¥i‚9oNšÒÏMOE/Üî¦ ”•ûZÊß .¢™? ™P|;ÛVßóè?~_”¯e×ÒµàŠžä*‘/¡™k¶Q°ij‡VÝ')AUM» Ó˶¤»ôSš{IØî [£bÆCV,×^gˆ ò$^S7™ý|SÒj‰u©•¼ Ç sð:Þ“(ÏjŒÑÉrÔ«P…†LÜ‘ÎóACSx JÍ(Jo®Ez-|0µ­¹º“‰nG„ý½}ê»$hÎky zé•}ƒò$÷‹ƒ8ãñ¦aO­?Äun¨… ºÏWµ™è ,ås¬,Ÿd©L—ÖbÞÃyÆÉ#Vx€›ßì9–} ý¯õwY¯:>EŽ×ðë?5xqÞÔ§_§¡\›ä‚•}Uf¦Êï^ð×ù"AuYü¦o…àó5ˆó6©³Ù@X(°è“ÔF¦Lc´t†òã­W[ÛYz·ŸùÜqdA=Y`ìí}U”ƒ!,ËÈÒkkË49‰¸ßS’ÅÀ½Œâ‰~ðu¿Âõó¡lpXòZ2ID×<ÀA²‘âü9ñtù:—"²:SÇ<‘XI(ÓýøP­}ZxŠx\™àAê$rÒ€k8wÈIR¤¯Ç®oS%£ ÊQZ†ÀF×;?ðç—mŒD‡ìÌcÐÂȵ M ·[ÔôBY× þzeÑKBx¹I¶†oÑ`\ÓE•ÇPÓ½A ,ˆÓlM.‚y–õ΄¶nFÅ,ž[iɤy”G«à Ül¯8‡üMøpôM#*ñoŲ)«ôè ð3f™9=L^R.lÏÅÍϤ\ÅPçy“é³Ñ\ÐÀ®‰®U±"0¬ ÉD’ítpŽÿÎl0Efµ9Ç}“¡¢)‡–+2)ã5%:ñ¥Ý±ªÄ æ\¢øM7)Óå`fÊY½´žhЉÕA”âáì{äÑäN÷yP-¸›×… èÅä¤"¶c`V“®¸}%!Ý–+êðØhÛ„*"…º°¦"guþÉ3¹ xW§'•mÁ6Pz*• P‹…­\+.t^¸VË…Ú|×H³|š=UqŒÛé” ºrFöÔ÷0#ÕH±_5û¥~ ¤_ñyÔák÷ÐLÚ$«±»h¡±3"Œç¦2ïîÌ;¿â™ˆ°my Ë \è«r‰¬ý¦ŽKý¤ÚXªyDq_ ÈC™˜ÞYÃxìb­ 3g·gEåä3Šñp^Ñ”¼½(É[éˆ1˜„t¯[ÙÉòAÑ阷tž‰€…*ŸO«=šBЧ™¶î©;ŠÁ¨É›×á?²ÌúzÜø2Ó9Wæ×¥»i­ éÚr:-nqŽ×=ŸO&’£¯™1 lÓA|ÚÁ¶™å)-ýÐŒâ Qf´•av˳ä.?æRì=ðØB«°dÄÃ]ñq1Y +"¼Ž’žË+ó:d…“°A7=Øj/¶ÞÇô È@p[éîÓ Æ‰±ûp?öÿí±¸_¸2êm7\éÖza„K£· TG§õ)~;è"eø±ÉÀÝEõzú„§÷aö]ƒè{µhh¶”òà_ „TË–úÃèÕ¸/0O…iU¶ºyî)÷[Ï@ô /»ok÷méaÜ“Š*Gm8ý˜ŸÉ<âX,úaÕ_•%‡-Ìb.÷y¬½Q;É2/¯—ì¼'…]€èœÈ/AŽiÒ‘ÕjË${Îï=¾ÍÈí®˜èPæ!äÀv®CA¦"d·Qîs ãuN+T7iý”X6a3@äNü“ŽôâúYf‚ó"ZSj** 싚 PfÊgÚ6èìzºÞV6¿?U^DßðhI’ãAÁV ³,æC•ÕÍ“EÎMñÉ£.OZ{F¦Zå±- #­…r-Ë\ë'pIE¥ŽnÈ<6:"ºïOÕ*P× ¥‰ÚKÖ˜Òà A!¸û6ñnÁ‘M`³4Iׯ©•”™¼ý/'r=„ 66OKä OóžR°œ(\UŠîø­gNêA9ª3d¬££m¾yä aóÎùk› ¥«ÀÅfV5bÒÕ™šp)±’ÀRVïpÑNù‡“ƒì =ÀãÊúÛ÷’åùÜ}ïØ\{u¼6é‡k55’ÕV±¹FCÚ<5ã-ü8_….h+î‚{HäµRè`,¡©ñs¡¶³ûD ¹s4³ýEÁ†¤¯´œ.LÓ ‘C!¯JsælA¥øH–BƒgÝjéuv”¸3qìMÙê²éŸýà”AÎÎ}Æ÷ÒKÿvâO"r§üä2}*Ç ˜lMC*]gœb"/$oüXÂáa)¡dMþÇ(Ðã?°ÇÔã÷‘.•(ó8úkÿÑØÛšdCtÿôÑø}š¡pȇl¯‡Æ§‡¹T›áæpK`´~Ee½eÍT¿’5¶1†XüqL  QhkÎ[p;ÜF®S°¼§§pàªÁ{ž…™wºø%íç¹à´Þè ibÝVñ!9œãú¨ìBܵ5¯<”éÕ©ßþÕ/0#}æw‰‹_!D„eÄ(·B–5wþ<ïFNê ݘ DÚÊbÛ4x~!æÜ7…Ûiĸޥ:9ïduAy1hš»*]´Úÿh?܇²XÜ^t€Æþ.¤BXL䯳6ÌÈ-ÖÊ<+p1 ³áW’eQÂè©4Ðyøê/¹Î¸J(GQ„‡%üV!ã ÅŽƒ2D” NAWž—½öÆåùá'¶ÆT)¼*p‹ 4tŠÅÖƒëÓô|¿ÛÐí¨eù-R\¢ÐW}Ñvf;Pâ^†NôŠ·< GÒx4N”[†ålbºÃq Ÿ”Î öc…2F6[™¸Î¸wØ7õ©aÑ€…EBÓpŽ)üÜ;´­YäyÓ•Ç@Æã諜iXб†º»å‹§}V?pâ¬ED†° ’4­º9~Á÷´»ÖkÁð¾äº¶¶íÙ`}ïdƒDùož†`ªÂL×…Z2_ÊH5¨bO6X^@EâqÏí…Í:]Ö*ÔÑaÍ•´9#ˆkx<-êíÉ«÷eC4.Vy«RBþŽë^Œqt™·³ ¸î1‘Ýzb{2¿‡¦Öü‹éòIèã®=ßøW¹ ¹2„ÒMßF½ßáïzKoÅ®kk&lÍ2?ˆ8 \yÉ—BÞ²[¡‚>‰5nîñ¦^åIÌuÌz;€,)Øæ*;ÆFM>Ž¥ÓŸ0I»&(ª…¹|ATæBœ&ð>†bä< è~|½Sã„|µŒï:G—æÏÉÆþP¼>¾ƒJ}×}¬©CóMNÔØ8bƒM¥³#%^.*.ô¹¸!­cm} vLõõ×¼÷§©ÁGv$d&Eªù\f݈ƒPT·,4º—13ŒäfxU _A„& p aB¬^€{{ÔtbrdÇ ü»€ç?{¤ë>1`é'7Z+gvÃh¦?cü×W¹­ŠFÌÿ·- Sú}:Ë|Ö´Ú´Æš—wè YÆñÂF;çf}P¥]Žˆºå6›Óq“jLÿôà•ØŒH®òŽ|*v‚±Œöܦ­v6ûB:Ø£ÉçäY#3Hx.:|BNé­py£†C8´œý§¹´Zpö¡°öH}nšŽÒcqlÝ’¹’Ú/™gŸoù‚µ«nÊn³þù;BÞUÝò0ƒ½Ðä$×ÈÄp®¿ã­g)Ì)—š¿ 0ŸI!³-¡ÿÒR_j–+C%Fð̧¢Í"… ·-JÇžšâz ù“ jêµ|ZwñEc DM)/}Õˆ¶Ç–Ð#êHe2Û‡òå_9m©Á¢pÿ!„§œùæ›]fOà yåxƒ8ó}¦<sÒ2š åþS÷¯ÈíFÑ‘êô‡Î¾<šSÃ^;þ#òuž  _ˆ¢[6 ñ—rjk¶Û$”+Wòoô f楌ñ„B³]j·™ç·nfÿÈY“u‰·A'O‹6{‚š$_ïhÓ"êlJ[áüŒ+7,lPwÓ#ðÀBë8DÌPš×ø{öQ¤B±¢‘´i mÊG©hOAþnâw™£f¬Eàcf¿@ôÛMmõR»ÏÖB2B› Ù¿Tuµd©Í¬õ¹:9#ÒV¾ñs4”tKŒ>B-œîN½¾_eí[ín÷ $òrx»bÊ(²{˜BTT˜Ô{{.ÈŸYÏR׬srYŒóUh'¡Øßy¨mæõH<´ ?ŠyN–CYºjÀò¹Ÿú÷à.0’„û>~`‰½°¾É$@æ#(¨ˆ?H§Àâú"&’ûÝáèâÞà÷Ô¸º_Ïtdpº¡j@q&ÖzÍÚ}R×GÚLÉÊYM*Ê40E˜&.dèȂyèéÇ›OyžÇÄ€|F(¹'ü´¡ÈÕëàÀ8T¹lŠýæ(oŸ~?åb\ñUÒFò§q‹½øˆ×¬7ºŽÿÃXæû…Œ`µEeC²w¬-{,Ø|G*ë"<ƒ-Gà Ö9nU‹Íe‰ Û’<øE»¼|‚E|~à{qGÿÌÕgBÎâmn´ oN¦ÝÛÆô RAè¢s°>\jr"‰S»ý#t^flP.ÀÐʃPn¿¢týÚ}>÷y‰ç­æTû5W­YçI÷joá4FÌ übÍ\i$|—é˜/Y)?_)ÌŽ NÑ€J•ˆ7dPÔ„\š†îuíå8À aÌ]Œž®„XVi†„Þ‘ ˜ÚðáyóhcpÑ8PIvøÜ™ÿ”*ú=°S0ñº¿Ç„è`]žó‚€Uu¤ÜMtFÅ5¾°¾‚ ý9 }p1Ûlï0(«ç¾Üq&"¯óz/†–^Ö%ÝÃsÆœÉé™2t]XC†ß„¯’£=óNg„qå1ûp†h¾sëþ–Pü¶Èiƒ˜•}b"–î`|oµµp»}>=’Ô¼0£­7u´ãx¢šOŠiä›Y€ã_EþC2wµÀ»›ß°A* 9=À4v¨œxrÐvd‡2BÛ²µ€-)"RU€Iqƒøêº°;s¢mo„°sÖC‚sz¡5H“‚X#ÑFZÕ] áLûü¥îOï¸:ä,L¬ÌÜÔ¿Øï&…ǹ)„ôIÑðÈg¤"ù–@–©ƒDÿg‚ΛÔS“Û(àšk'( êÐYßÛ<¿p2Ežžug ^ù"§ñÀQºQM2«_5·˜å7 t¢äT£2"®ßáT<¸hã£{Š$É·õ‹§Yɘ·P&žÝ*¡P¦‘eh_<º¦‡Ô…JñŠÆ4<»wû´.qîîbd!^¢b"šúËO':ÄƉqmV50|Rî[GQ¡q¸ÊŒ÷C.w%Ó߷æÜô“…ŽXà@LŸˆ®Ì&ÀQ'KÁJù¨¼U²úÓØWœ(¨7"$“KÑÄè¸8†Ýî>Š[Ú üWuA÷ÇmIÆÿÉÜbÙ¤ K¢ÿïàWm±bFÄCLl¾‘YÚùT‰ÿ*opœN%bJE•Ñ€÷¥?¥F$ðP¨´Ô‰?G@Þºy=É  ¿¼ð:ã·’6­ 8jŸÏ(À>à]º¯Ì‡# gø¿V’¸{âx‡mËSQɽr@¤§õÉ%0·owÑh0ž%¤É¨fUˆ†!4¼a´F±ÀšxœËÒQ*ºí‘Û4~Ôµ˜s`È#x;µyn>¯Kì‚£¨ôa|m*‹2›Œ–ÿØ/p"…¨%¶ÄÙ;T0àÕoûÄòg›£ ×¬žQ§®.ÈrftѤå°rNk-m &iQ]wÓ-“êJ‚¡´·¶L0#WZòä( g?U íÉ•ÎØ3ÒÙ`ŒY®ŒÇ55?Ö'A£·øž ?Ô®>s¸S zïd>)H½«tŠvšK€êS0³XÁè$ˆ$ÃL_ÏÓ¯^˜– Èå€n+ã[ÎásiîR8¿À71Lu>¦']÷Eóv°¾ôŽüN’΀ù ¢ÿÎPºý"Ùé㇀Ҧåä^áÞè™ÓèšÅi¤oØntõU¶”JËF á^ƒ‰1Ýõ«ô­ûÏBºæN[K²Ö´{LË5Œ4Mò²RY ìÍ@­;àBkfYpËñ´äÑ4ŸLç3£"\«˜#FŠþ¢p{žV©;w… :jÔÑ,TèLßÕ'ÕhÿØþÏ©¤:Ï 0$=Mî!Ç^Mr‡z±A׉¿HO,ÕDƒ&£(­G›öû©rJ mŠú*áåùAœ]/\¹4£«öŒ²>ñ%™Þû<Š]Œ‰O|¦©Š+CÚDbT lµpn¦3ß'cë‰ pHd¦õà8™ø–·_Áèo¡?zWûõ~£*Æqðb]vú‹yi—hÖ‹ŽòŽ´Ù¯Aë¥Þ'4û–/½z‡Lrù÷q5¨ÚçÄî}ØÚe/Ìžšßø«‘¬€‡§©‰5‘’üÛÜ©ð¤á›¤Ã´™ó„ö©¾¯VªOæZ:[?&%6áfÐ{ÿ"TN32Uï—¶Ä`ì¬ßk)¢™ÃIB‚Ò€ÍȨZ܃¯³>]ŠhI,×hÝ_ŒÅ Z²˜uªŒ@¨ºf*cvO«S@#`ß˺ëªCÇ9^®Žéä²ÝG? €™.ùnƒ´“€?ßæj†J¹Þën’YèYã×!´+©e;¦»Ü‚Jƒ iLõfíußµ¤\ÔzàÑN=,¿4 Œ¤Y”þŠÔd¢„XÅh“ZuÞ¹¦ ýF;Ê-4.6höç|˜Pû«–‚ÌràZ­Ü㜾'6f*ðX©T q"’ ºŸÅ‡Ç&Çìýs²Å1­5’k"üíØl§¦EG{'9S¸óج­ðMuí_ÿ}cÅuSè».ó`âv‹eÀq—ù¯é¢£f>ÚosØ Æ7Æ‘Ú4¡NÛÀD`MœhÀÀH‘H¿K«×[{3Yj2ÂK)]BÏ ,·s}Ø®vÏ¢JS  ÖϦ)^‡_Šñ`Qæ-BS(ʃ­d…VÑë¿«Þ퇑ÃGœNk—€‡QaÔ©Ž9IWCK\ÏPºLw<×9aˆšÀGÎÓ4‡12·ýþ ƒòÀ°äéÀ Dž&` þ£å9OL‘¤6 YÔÁ˜ÞÔYøL„ÕÕÉ e{ 0n Q —AQôDB½ÆÝ'mR«Oðe×PQÖCqî=,V¼¯›{T?šÁpG —;¹?§ ?¥¼}‡1jìs_c ü"¸WÍŸiõàÈÈÛÐEûF-%iЉ­„FqóÆÜwQ$–™(}ðÿUãY¥éìþNC¾ž#¥”µxàòf2ª-ÏVõzÕâ¶öó{P‚ÒÈÔ½û;cWŽ{\Ôƒ0¨¾4 ‹Zå¿ãt],éÕ€½võòA]Ô˜¨¦6pðà¢v_§g%|åJ]±É0×!NB{pu}ÞF\°.&ó1¸(½ q­Âëá§ÄÊF9ZZ³šáU^ÁH˜¤:Z Ql›ââä0ˆzúã r½,бq%ŸÏ*“clÿ¯‡s‘K“¤ d‹}¥·j ê¸{^aá&_ƒ¶†Ÿ·vR€±{-ì%I¼ëÔ‚)$¥N1,Ø—«7«âÊöŽíþÙñƒ„)Uè=ùß‹ñÌ¢XÊ7 è2Ĭäð騲|¹‚NÏ¶ÊÆ2wxj´Ïÿç°©¦A×R$-=&Á‡ë—PµƒÌùV*à:@ùÛ‡Lª¬†UÍvlÕ»ó)‹Še añ³ljå$³ùU-:$@pLßy dT?¶4™\4… ³C&`Ä^Œ.ÖŽøø)<—êä^¼žþ=†DlF (@ô;µ¶A>áÄh Z•ùp[n2º,~uÇyœ¾¶Š'¡f!|4"xÚðò Q³çí_´Ö×mfp7Tú Ó²ÑíØ%y=Þ™a¢IŽE”²Ây¦%Œ¥¡ñÁŒÄG<ÛSO„ÊÔYøé|c3‘#Î#Ïò*$Œ–þ¥ìWÀ¿¿N+ î=Ðö˼e€/x‹ì;0ò?J \² ºe]â„c†ÎEµ)wRš€xmÊÅ£¬#ß’ BD\“ÅÌi¿ÛèÀ0)Ù¹H ÎíH"0ˆmŒ«rðõ˜ÆÍœ¶Àǘٵ\›K5@++VŸ¸è>Èv#;öŒÂÍ—ô€Žç"RJ)ùºn,‚+ÞʺÚ.ÅÅ›©L°0F~ –õ>Å—”LÀÈ:Ü ƒn°§£ì¿’n¹•ugW¿EßÄèøÅi%BcÀØeêô % lîZrPü¬3Måv(®vYáñSxJ–ìý[ Ø] Ûî›b”tèðö_åµÇw*mÑë×JÒ¡p8ax&ÛvZO]IñüX¸¸4h„¤û6wÇê˵¾ «ìÚ¤¢ nð’d².@¬á?VsÛ0LÎÿÑnX Gh—?×K+Jš€Í´õø+xÑ(.WÎ']À ÖëiЂh99Uó¾¿ñÂbÆæ|-²³pâŒ?îD¯E$Y5Ëî­BãQ>*Œ¤’ÃÔF§6gê—yx[ â[އ¸PH‹oÖ- Ó‡ÖTãt}Ãy;‰«”M/æV,æ®ͺiƒI&7•D•²Y/ìæ ýŒ$¯šUšÈ«†šI\dô‘ÍÖ`ÝY_´uE¡m¥ÙFÞë ø0-iñ;­’XMìĘ'ÛyйžàO+¡{‰³?uï ð—`Š‘¾½¹‹¼/ZÑIž‹Úe­!äß±C…]«4}~­˜@×Á†Â=25¡@ûÇOk RÈ]ê²ï '§/Lwb­Ô©Í©×¯ôÄ7­Ø€¸˜½ÁŸcÚû–g:Iȱ1¦Š’Í./÷Ø¢Ætì?ûÓÚ™ef«×Æ ZVC…˜q§­Î„ލ‚£b‚L½¿2ž\â¡ÿŒ˜ßÑ¡ì¬ ¯’f‡|ÓA­„qyœ¶§SKØ.øÛmãìy§pöûiâÂæ›\¼éì2ÏÓ‰=(ÅÇy{ò’Ohψ¶­E[lH‡/$ôæ6/Ð>­Íã¬Hשù–+Q øƒÔ˜;ž·ÂRÑ¿{=дý÷A/>Ý/¿h¾ä¾fÔŒnÜv±;DÀ[±¶×¡_¹|ô<»²g©‰7ñkøòUwVO•ÚlãwÁÞ»úe(çî›b¨EÈç+ÌàÄV„3ËFàÄ‘˜ ¢•ªhHfJ‰=¬‘Þ4ÿ–Nýp1»]èâŽiTâ×IjN·sÝ _ 2]ýÄøý Íw«)9 ©@’r€‹ËtÊÝõP(ƒð›¦. ¢ÄBÂa×3||±Û«ÊëdËŒDV#Ÿþ²Úylù°Æý)Û-dí1¯§ç Þ›çCÁeCœîóè“Zç~s¿øé58…ùÑM^ ƒÀÖ|°ù%‹°þì=älh5Íü$awž21g‚·ôÆ´Ø„ ø¤3ë&AGù ôº­Ÿ‘¦N™ßcL¿Ão ì0‚H‚0Ͼ±©Ñù†=î켃µaÛ¼ÞáTò1ÜâªÊ¥ds¥¶ÉJÅŸ¿¼{^Ü)µ[µ7Å;lë1¹¨i‚êͱ[è½Zúf­É8ÆÔaðäZ§ö ]¨£fn$Üô_ãUE¸dNá ötJuŸNñ8yžçlgºÂùøÅ• j`xϲeiôò<œõy¯j†®=yæg´âÛBmY<ÞÚvk9¤ÝZM…Ž_i§gU£™]~~ÄÜßÿ{+bÁ7ÇW6íj¾¢o l†üWÍ7æ,9:õtÚ…fÁ8òãžm›Ø¸_Ô݆Xyn”$wžRÓñú?5…z¬(Ú ò)œ(µ'*™oJܼ.)[G½™TÊ6OÒVÉ3EÄu]¨ñ‹"yþ@u8zBã\±¯ýVQÏÒÚóˆÒ¨E «Üœ*ŸÄsbfcLy};ñN·AtÌÛVlì 7¬Ž¥¼‡¬¢-“ B MÚ{äÒèaS·¾Žœ3ø¿sþ)»CúW>Üð7¥¨W°M†¨ÿÚºûýT1“†Ñ¹‰,x ‰æoÄ5+4qb×€E¹îŒÿ³‹›õ|f<Ù<ÒÎá@Ÿ«VMÜ–édBt| ö /ï &DФ`^wÉåJáê>˜2»«üðõéí µ²Ùí€ô×0yÏ*ñ¸¿‚Å‘„p˜¥Øé¨«–€þ#ÿ…R•IYLŒ>ó<¶¼Ïñx«63íÛÏÝê;9`®ßýZÇíñ¯ˆ†¥x¹ŠCäk“Q¦ž§Oº5ðL˜ç`´ ŒÔb6ó Obü§'ÄèäÍ‹{ߊcÔ†ñ™Éä!]q_{ïØç"F5è6UH”€ñ.]­rUðY/ƒ>’é2tMv¨B–§0Í ÜÝûá TŽSz/WÕkW(µÙ”,{®ÖfÍÜóiu­ÍÓDÇdweTJ§·Ö•KFå_þê¥t†ò´ÑX¨Ê“vAéýÑM‚pîH5@QÌ÷y×ÐøÜz,FýTº&ÚøàNI•«/¦É‡Á½ÆU T̘©å¥ç$B¼d»“=DÏ2Wc­ smöûÄØSN¸n娒ž±§X*žù`zW9òß&c¼ô ãkÆ–ÔôBÆ(¸Õy`Æ5w{,9ƒ| ¯öÄpÃü„/ø©ÅQ¢3U6@’0ÛÜp“²µr—mÍÔþæqžKL”‚Jÿ¤wè¢.µˆMI¨–ü‹kÐ[^ǾþlÍ=„aÀŠ(ÚÜØƒ¨ämµ€ÃvF"yaŒe1Ÿ)èW·£%jiÙ& m¯ÿ×+APæ6G` ü,}·Ë ™®cͱC Ž´Wh±'´¤iýäa*E…Á }"“ÄPRœ*KŒûÏÿBÝ NAjº8Œr,ÕKf9…%ÖœuáùU© 8u7:Ït‹Ë¤¶Ëþ°Ó:ÅÙ÷ÀÁ‡–$ n‚L¡Â.ãѹ(¯ùü98"}‚ò^Ý5‹ìµö>{'g‹/;ȪáËcdUÜ“¦[ ékc5œR†ó¼aøeì"®hft5Æ•íÅ‹öC‡Ÿ¦ˆ·ó­"E;çû™:Í“¸VÓ&•@À Eœ™Kóç,'Jˆ¶¯Ž,x7”nº¢5zRc¶›.g5mhðÉÏ'};W½*bB½ð®<«–Ä÷LýùÓ&A”1³ömƒí‹ÀYCpÍîz!# †±Û%ÍÞyFøŸf-Ÿ?EÔö‹­¶³hU·¸Ša²(Á®+;³RX3AÙés²à·Æ•eý½q&G¬i§ÖÁÑg«•jê Z|Š;¦W@Cý›‰];éÃHô$16Gî Ù^ î'F†Õ)]2÷=„¾¡@Îy1ã"̈™yÏ1³wC$ÕêÄJ#äΟìÞU-’í"@§Ç¹êr“…ö~㌱þÿ«Bl’6­è¹k»XËï"ðoÛæàÊ<Å* †b=iDWuå^´™LØ*Zƒ÷9­ívVtèhP/ŽO¸òš¯ NBÿ€j}Ý@n¤ód¾ÉN¸²[& Fó$ܬÍ-çR_eâýÒo®¬“=?P¾tKÞ¯¿ž2Î5ÑÐh¢Tñm¸×ßÑ œ{]Ьo-ÒLÃk÷QæÆ®®ž§î?|Úßi›À³ ÷òc‰² è/çuYbpv–+¹ŠÝI>V‹˜b£@•çL±••ñ^íݦvSrRΫ˜q[ÉG\þ²aõæ'?»¨ Þ¢POa´ŽåSÉ!aÝ`Ö“õ½ÜÂE-=)‚¶G%¤”ÏÜt¥ìKGY“ä~¢\åg‰„Ë즔'ñko÷wñÿª¸gFȯyú ÑÔ®üÔ]é´r¥ŒÌ±a£Sä~¾Í¡“¼/”S€Ûr$Ó.PÖ÷à2˜%¨Î;"'õÀ¤xŽ ¼z¶v”ï'Â9 Õ’*™æWüµìV¼9dSÿŸŽê‘ê:äUwÓMáD¶[8sŠp ‡srõ3‹é”«˜~ ˆÔ(U¾ ÀqUB®ôŽ_y†Ô|.ÿðÛü¯p5 >MÖñ¾;1BŽ{ž\¥Ä@ÍeY:}F*Ŷ #¬9ë> âTU|Ÿ½ÇF°tÁ1£Gi5;^Ú*JB7Z¦øóìDÚSÒ ·Ý‰!Óq_2>–{1Ð mØÞé†Îòÿã#^ä„¶ücÅ×^vÔ4æ•8þ‰ó!¡¾±$…«äöñ\Râ<½¶[PË‚Ïþ'ÄŒßÝ;+X~óçQ§» a ¼«Ús\PÔdtÒökµYs\ÙÆ_NåkhÓ[*,d Õßv‚cšš™RÄÚÇI¼dðK7 Üñ¿>ÞG•¨|‹L#=q_‰¼q~ö¦õq‚_KÁ¥èÎŒ³ÎÉ×–šÂíùd\=ôHÖD^¶4÷h5Äöì+Õ¡’/q”Do™ s{xRÔóô H>ÿJö !£Í gGöäž±{»ˆ¸f‘žó¬0ûEöfk¿Æ«Î”¦Þw­mûŸ©×Ñú3Ž, ©FìHk|5Õ¹«–w€W&©Ó²¸¨güa‡†Žò0ÅÞ⥶„¼gp˜™Î›žÏ‚UÚë^µÿ™Â TM¨¤ üùÕ’ÕuGß%Î~ÇN³Ê•+¡¾¸vûwÓDÅ( °Má œç8 ¨Èεÿ’‚$ò7Šš…hø ˵—ÑR0íD–xØGI‚:"pÉ>“MÞ 5Ÿ•íЫã<Ð;Ò&bz¯"Ú®êë}%™:U«±²L0|ÀâN)ɮ/ ÐÇ2»«"†~ØE0´l„Ù] û—©Øøµ…G™Œ$sæ5’ѵÆûq¢Ö¤:JpQG"yKOw,Z‘Òaø[âÝ×|Á!ê_Ðz¡Â à¢áÔøWTº{†}{o©ªì%ëèóÖÛ1X:Œ½ZR·FzZãP9“‡ÎzZWóótþEsn5ÂáÃß+©îSk¢ Æ„EñÅǹÞQ2J¨¹,Xt"v,] 5PUÓ7>ó^A£aQò¬ùšë?n©;ýY%”¦}œß®`Ó Œ¶÷¨8¶ç$½ÔÌâ]ö0­W[×»‘ÞNŸ“ •(Ö°(Ù úëÎbâX»$“î„ l©\ò€ú†0÷Èý˜y²@Ì1ŠõEE©£!”H%tºx”²s´?'ûöS6_)Ýâ í*»-™hO’š4 릭„¡(âöyÒ4*qØ..Hôl6'B.¼Ò õƒs?´Õ—'Í–mò8FB9S9 ãZÁ‚JÅÖŒ«NÎ w”ª(|û ìÿ¸etd¿/Z8 ¤y}—ƒ"i¨Î$Ì«*/èY©¼z° Œ£í¦ñø‚{™kõr ÇQ½=æÇÖ÷¾aöΤ£üÙWr+œ±çMdã –¬M­6~ž>NWìⵑžÃˆ·ùT‹ânviÂlÈê„:óô&úl&×®—J÷†ó­‹$2«‹°õuÔÂq NíßÇ/»¬GèHœÞÁÃë#í5¤¸H “渺?.ÄÕš&ëd,pÃNö#wz¾’©À_:´¬DË‘âI”ù,]Œ3Q{©Œµ£ƒìÆYÕ¶¡ø«¹›šÅßôýjßjsµl:K_å«.§#¦ÊDª-— ‘ýÿ›<ÞÀ¹ ­OÐBûM"H§KàPMwÚ€Þnþ¾ßhLñнÏúà|‘ßF ’lߘΌ‘0'Ó,üÒtJí8õæâ|lX£e2Ž$ÈWÒL;zhf+¿ òŸœ@ÿ®ßÇÝô#´ƾyÂÑf?pIðv;Œmtåa8õ‰_žv¯9£QKKsj\Ao$B™£Ä¡‡ 8Q;ìÙQÛ²J­BV6y1ʇ¥Ä«s¸c5zäû2¢þ)!GÚWÆØO<Š G¬ ¨ ñ®vÄ®FF¥Re†-ÑIƼÏßôDîć c?[uË Ö•_g?ç}~´€‹ë !Ÿ’{a}­Š—bÿÌN¨lö <<„_Ö¤GèsÒáeœ‚Qƒ5Av˜›–ÁfÑæ\ÜþM ¤Â`n&Vyùb릟ËmŽD/96I\¡©ë¼Ö®ó8ºoÚA©ØÐáOÛöà2X Á×ÜM1N¸¤á8 Güˆ &QÀ¼œèdkÓ~¸› ÅÀÀÕ éä·.¦ñU1x R±XM= mæ%°¡çN–ªE~fã“8Y.¤RÐÒßa;›WŠýµ¾¾ 5Ò ÞûMAäs# ¬óOJ&só±ñÀ§¨T¯}×Z§y4gØ Ÿ={È=JWæÖ§ÈÄÃ>bϱ’%ÔnîRiô£ª¶Îo—å xxVæZO’Xz[]%á`?(‘i§u)ƒôÕ¾ý?ùóša uDžrŽ~Q±¿Qj2OTÛOV*cs}zªÎª“ÖÊ÷Æ@s5-!ÎèeY#«dŠ>á ’<ˆ…#eÎ’C,s…O æ¬ íG–û–407ó@gd ÆÝDHÊwûtg(Té‚oøNï?ùzíÉjG(ÚÜ”^Ì9“ð)@îXÚ‘e¨fͤOîsìêvùr‰I'Öf¥Øæ8µ;C•¬ãŽyÁ¶lªz¿må×_¸’L© ʇïW ÝJï—WèîÊMŽ8,N‘2¾¬WPR¢ƒUé9û_QÒ†×}é聾EdJ­ÍXÜšc:ò¸{àW桊Ë;U@ÿ2GµÚÙg® ² ½$8m ³åGtG–êv7ÊÁ$’å¶Žµ¯§$ºÛƒ÷AÔéuÖô¨gÌ1ZÝ=5”võ÷6:‚±éŒÔøÅZ[—Hu*;ª"šçžë5ô®~ ˆ³ÂNÉçøç’«+Çè6rÿ×íõEr¸/Íis’´xÿêÂõ&úÁÌÈsbSÚƒë•gÈŸcg¬û!X÷ñ‹Á7«Ç(`[zk—?.å3­4e§Ò£–MÁ=E®¼„¢MçI§h“k!!¨ˆêLã,Ü‘ó¯M¨6j_m—g×aàJ}Yô–çûõ; oˆiìöb!½ùäý¶ÿ"½w¨}H¸Ø±,=^m7¦·<¸ô*ÊzZ‹Ñù‚ õ¡®­—ñăŽsèâ½ÝUgqzƒ'fǯØ}é@­;v Á,4Κý|¤ÅvÚÜ&¦!‘^†¥™ž&Rp'K©Çõ,gïg«¸¿d„Æ aê,€+äT‡æSgÌlU4Íbô¢Äyþ+ßøñg¥ƒ^ÐØ ~ ¨ã.þØ,=£î¾ÎÀß^ Gl¬.†I8o2#ÍRL1OQÙ“%ù0Ìzªlࣉº fú’ÿjÙIy‚]Ì¥¿ê¢øN0±rí 6"Wž?Æz¨©»ãnB5‚¸ºXÕ~dR׳Ú{ÎŽÝ+˜ÇsãîeßÝgv™¤¸‚b[ËÖ„êxtˤZ3»èÝf+g;;ÉôáÄ5YBº¿"í}γ¸­£BçÒ%úÁ W’çÊÐýõqÓ46¼}dˆ8°ÃºBì«ÃhìSI9`ÒÔä5Ž1³¨ï¸XÙçëŒÌ¡(k§^¾|7—Üú+²»ö?DÈu|1ÜS=Î^D¤¶É ¬ld¬¤+ˆ³ñö,°²UÅhÅù<.÷³u ay9;…ÙŽ:$á„Ò4@˜èäXŽçþ]þš©9èægˆÇ¥²wÑe‰JöŽ%ùŸ*£5a¢â1¶‡ÓOÙõéï¬#x|g?qâß±ã þ][%2‰<’qÿ²±}=´, ™â=òÖXÈ‹ ÑùYœÞúx°„øÃ¡j˜V,B˜³sf0uÿ„ˆáŠPâç+Ÿl È7H¨Ý¿¦ª³ô4œÅþMÇ rÔ?G£/Àh‘,J§³C±¸‡ô °UP3®NfÁœhäYÔ4L´Õ‹‡,\^ ˆ¿`s'gÓ+cð׋èÚyÞêóeÃ[K„Û‹Yð·¸VÊ—ëè ‡<³zze×@½fœ¥á^:ºÒ-RÕ3§ö¨GÜ2%B‹dõþhåÆŠ 2 ÈñJ@ö¤¾ùU†-ô-N(ái¹‡—ƹ¨6s8ÃüX”ëôÊ¥3˜Óô“#þŸa(àïQµ^ƒ’`¤g–†ZñÎòlý뺅õXŽ![+qÞ•}úå`FŒÄˆ¦–”¸ò}k€ß­yTgq*|`šý>¿ƒÒO0—íÒæ³Ÿ¶~?³¬åc¶útÓm<Ô;„£1#M ,5éÚ8 UnнhÔ`ïÓ%0ú¾lŽ¢’úÄÃvìüÔ×C5ÈÉIÁLmOlÒUôŽ¢z?;8õ'Ä–ø¯jbÉ^Ü1úèŸG ü=·ÒyRÒü"3ÎHRD€ú¤f T±£žZ¼wýª‘,·B·ü(_âß}͇°+>za:ʯlS±^e¯– ŸR"]6Ä¿9¼å_Ï|9léH&€íÅ'ïŒ=¤æ'¢½J6³PçÄqæì›kí¥x¼ÂÒã»ËQù³=¿Á~.Š)Ü€b¹¼"ŽCõ€|¬UäEš»‚)·ü"8@hðN |ìD"é:Òé‡Âfþ2EÈ>¦É„¸LÆ0½-¶—.LééŸàa—üÊWl!î ôp° ­”Õ®®â‡T¡07*ý§jòÒ®ßΓ—ö ¨E׆°ñ£xé¹+8 S(úM¢óž¿¼1éÔ‚Y5­í2ÿ­Ÿ¢Y[­á@’ä=ï2Áß’ˆü´Y’ÚuBB}´®Ûe FÅΦÍ3ü(}÷tÃþÓÐûá&–EZKârÈpÃŬ<·bç\qyåP‹ª¸¤ˆK{eBƒvÕøz™+C-ôäômTç˜ ÃîƒF^x%ÚÏ­@¾Ñj>Žù-.Ô>\;!ž»cü p øqù•ó€Ð,ËÅÃ…Çæ:8ò Ú™BéW ²A÷qµì×,ËðõõÌÐbb÷ЮEO˜¡á®¶s'¡Z. mû™ÅEüjLk*¤­]ùëQjº/œÕ¥m‚Ak^†&ĉœïNÛYTÎê ¡wöUÓZ” A¯o¥Có•+>ò¹Æ^wØ~0÷=¶HŽw˜@fÍ^ýé¥üÐP€VçK8Ï ¤ó;ËÄSƒß¯\–Å…CÈÉ›ª­ Ž’®@c<”TŸ)ÅO†3È|m§B_k å¶ Iõö‰=Ú¹òU¤«‡€†þîWª¨üaÙ‚CFÚ"[M["”8’[Þ“¤YÛ%aá‘‚Ú‘'†eéªÕŒüûúÛ\ºõ7&½’¯eq“ÍÖT,Æe‰ úí ª*Ï3zÈ^5¾]d¨.&ٲ°±Gjaö m’>œWÌ äÆí¾Â ªßRáÁv½žÞêL\Æy!f2}÷¥¦”øì%¸Öµpâ[‹Óv?WÙ0œvFçû%ŒÐ@ˆ(&1­þ)†ØòŠŸø´¡[h4X-¡Ê{@Ý K³R†.ñ=+íö¹ß{u}µ¯4jTÂ\2¢‰›Íçyfôl#;ÙM·5]N#‚cyY®Z6 ôª<•Uyõ{oZ÷^®€4Iirbæù/ŒF‚íÝ8‡¦\xð¾ÌÍàùÜÎÿFs&sa’ÔµÉdu˜§¤xPÚU{EʱÓ1’]Cj‹ÅÞVµ¡Ãù×L\÷bÆ8MÆhÓ *ªNñÃf?FÇá´@êþQÖac€C.4ÉÊae?5Êûæ[­d6‘1GÔJƒÿæ^I` vò¯×ßè?: Ô‡Éå[¤Éb¬]º&½é[_ùUòÔmxå\͉YymÙ´¬­N[4Ó’&è+ò$éÆ1¯a@Ô9e|«B‚†„#_ìÍúPÔ__õë\¢èÍh,·Y€Æ8„‘ýŠK¶=¦0ƒ|È£%.Ï¢¹9í ›2}†€©bòp ]"?A¾S ´Ö»9"£ +_Y©ã¡¥[€”CÙc•†üÝûÁ[–æ ³~`žûv€¿Yäs1Ž vþÄÞ‹s^}Ãýˆ€¸<^±¤pq‚ÜÆi÷­âTñG#zнÆq5}|4žáUš¥–7½€ "ûþük9>¦äY_«Ç"i8uy ì¢õ’+ ø ú“EÈRªô…ßL®Ú¾W¦‘ÕkµºxËæÔCõ/€-v¸[cáäøsžÎæ¼H~QBA£œÒ¢c¶rq¤Ížj޶²2V‚Á :Ђ€ðTý"½ ŽÈ–Y*Ò_q¸ïrk3ïG“ë߃º½ŠÑ ®ÒIÿ ¨uO÷¶ÂBÓ«Ž¡£5e¾2–Ûxñʯ·(¶Ù·åˆ=Þ"A% ßǪôχHÝéÁ.ÒÇwù5‘#-î4û&u’ªÌQ`2àŠ¥…ˆÝ1‰…,*#åxPâý¡½¯æó]ÏÂCBÁo’ «G¹'J„÷.š{6§Vz‰Uc÷Çè–£z湎À[#¹q¹š±ƒÉ²¥ßÏÅÀo˨«aH­ûhö^êhíºêA,ÞÈÞàüX¸H’5¨Ko¨©¨ö~…8•˜ØIŒÁ£ÐãqxQIrOœº:)il§™PRzµnPŠ&…²º‰•g}@Ê$i '$£3W˜ÌìŒJK ÍPÿ6’ ²ÚÌ׊ÏÐìgÕÜå¼xáœLU«ˆûò&ºG¡¥Ð2 suf^ß;'ËZÕîpaÿìzº¢¤d&™nÒ3Ió ¤Ìfˆ =$ƒðY7GïÔWÌêìèU¼¸ ³a·®ØPFÅx/ô×ù+нöŠYçe’LýK…ê›OÑSˆ‰VpDƒ‡Hî¿2Ë¿*­“wßp&¤îL›¡Û¥‡ÀüõZüÛvè¯)hjZ ‚/UïP¿Š€èU>çpÍHô¾¿½KÝcî×Qcz¸]ÞÛS{E‘glµ˜Í€c>ùñ|´ƒšØ-¢Ž‘ -Òú4Fq3gÂ6dë“1ï«15æ=ßçάî|ts5ÊJQŠŸÞJFng_’NŽb‘ &ª‰‹¸{Õ€V¨™k£òÕàrô†EË v¸%˜ÕU·’ÖÇ~·d™°YæÝ3[Ž“[ßräƒ"£hýÚ|0ZÚÈ#/óm‚2J@š«màÄΆHÉCi_ FŒ]&BÌ­1N¹7¨õ´@¯ºŽ§®œíJ€°dû“'AÍh‰žâÆIF‡êYïrñâUXwª ø$mDZ7?3¬Ñ‚ð㩾Ú"F﵊o{Ê­Ó€{{wƒÿt ‡_ì„[_Ö ‰¨•·.ß…²§tÝ}ýwÜâç‹oÌ:(¡ÓÖW•¸»¥Q‹j;â°Æ*½‰wƒ …Sc~Ý.)`´¼¼ÄÅóöZ&¾‡'® fâ³=!‚÷£½S½à푇Q¹3ÕûTÊ—oÉ„¹´Å#4‰¦lÔNˆYòlÀ˜´Sø 9<ñÑípîâá2¨ðæsx£âÖ£´f]ó¦ˆÐQãv”L•ëï¥Þ²ýÁA–J¶Þû•öˆtëQ-4Wà1/ÅNÝŸ¥;D{0·5·LÔ$%"ì “»´í™_¼{Êøª‚ÙϘ¹ÿœYØ+>+‹sà„ŒøÁBèÍùÌ*$–Úë·W'>Ïj#†ëüǥƺ±Þ v#¶VúÈ Âòs»Úµ ¸ÿðUª¨0ìÀ x³îi"õÌw‹^ªÕd°’Õ´ÊØÏ¹)uöüGeh]ó'pPÂD¸Tˆø4d×ðÍÏ´PpÞH<½«ÔˆQ!œšÝn»C;¨ã8cLF&©zEþ  !Úö$Š·%ãwIž`F1Ö­b±¶ x¦Ä,‰Ø·tíÿ.)~xå8°è«WFiH³b˜Ìsßiü† ¹ª|vV6~M² VF!ééV6JÞpª³ƒë—²ù©¾hÚmJ¡-K±v)¼Aq€?³éê¦6@?i®‰¼G ‹Ùº¼b]]üŒ ÝÉ&¨Ÿ[jX_fN¢/g ¿£Ï¥àø¥~àmŠNúAN ›«–K;u|R¹¡}˰wrp Q‚²b÷‘¨{_†fÈ•óa:†ïº­rÖÜéáÂH“˜!ؾ ›8°³ª’Lµ6‚¹3¼žqz­rCquF.?ÊÏN·è ’”Cm{5Uò‘&8“ªÖÎìdõ¯æŽçX’C¦o6›DaÓeÈʵ¨Íß‘Íÿ»Dë-#®¨†ãô7=ø$Hâh ¸Ï®¿²įÕ^ûº^Ú]àÕ£Ð:áÆð©£o}à¦K\fîIÔ(XalëÔ? co¥—ñ[§W\’¾úùˆuß:ë ’bÙD9‡?Øø('X’–V†lY·PÊû‰Au²8ÒÔ<è3TÄ—ïQŒ ¦Š!šÊÀ R!Cî/.P³šÈ Œyú¼õ|uL ž]Â<È@æ~Þ:‡á½®];MÃe²ªtµŸç¥Zº¿L¹šh•žL ˆV½ó9cTa/úË4‰‡kk°µÍÊX›˜IšÌ‚ñ½l~çƒdµ,‡:5¨\°t™ÕAÝYîòœçñòOÌa`Œë§±_¤1¨ÅÁHyÿq$ÉI%ô´› ôÁ6&S—Q䳸Å…`OÀØ 6"–§«EDÕ—4zbè÷]Øô«ÝñE<3Ź‘¸ía1¦%óÖa.Œ&åo¾à^Y~–-ŽÓeC«ê¸÷â´h}ßOîí¶Ð5èTX43ç•¡Bz‰/³Ü ó’Ñbf4(24^| Ö=6.ÜÒÂ#xÄ}+WÐÄB½fBth€}')C²p[DóQÑLè6(lèIµFzÛøÕq1ª&yÈ"@'”tMp¡ãÑNÀtÔúÙQ'ç]ÏJ›x-qa˜,å‰>ñD7Ðv;`ah9‚¬Ò«GßHÙ”1üðè/¸0Ôʱ$#g·—Vx¯ðÕaü²$Õ.|¨ª”ÈVàk™Ÿ`éöp㦋Í[Ucé ã€l²‘ ~õ’øo{0¢åöܮᖖ,^”öñá7ïÊ('¦Ãé¾6/—«lÃS{?Âîaü¨ÝÚ¶ŠÊvD¦v´ƒÿt¢kvdOõ.¨ä ‰¡^¯°ˆõ“¢8“ƒsøKciò Z–ÈØÈ(ÇSN÷7M§ÆYÚðý²þÚØ¸Õû•.kËýÙF§&î WÛî¡·Q†é³|ôQÚZ¤ä’Ëèæ¢QL×UF ‹ ÷m+·áÖÛ öžkѳKÂa÷ÙÑ“cRTa/ï€cýÃl¥b¡L!Ô¹ž&s­µ™O×€K¢ýì ƒkÉï—G»S!iä‡ý©t¹åF[\"¨:d³(­ðMôxH4”3”ÙØ( *–œ•º·›”àé?¿‰ík¼×ËÄoò±‹ó»©È#Ã3•¾3nSôþÃé–Ç® ˆßyƒQÔ$¹Ý7ÏØ.·ùŽ÷“»Üé%ÁÐÔJ'¹/¤JŒ¡ -³¥}Iø‘˜‹\ÏR7À‘y€°zÒtR¥‡çæ…dp´ƒrBöÊŒ`{<ŸQ’Ó0>úªg )À-ßÇÆZÌ‘˜TàË“êÞØ­lÕ¼õ"x×½?˜;cyÚ*I Qy ^#}ŒÛ¶O,¦4´sîyqj ¨°Åí€{Ù__$*T¿AtV'ðHĘÅÿyþvwÆ[é–BtŸ®öT½•§êÃë™Õ’výE +^ÿs¨:>ç‰(ôg!Ø4þÈÄŽâxæóBL1+ µ`@¸”‘„¾óSò/¯± dZ”¡BÉ£>–ê˺i³‘Wh™ºù ¦«»Ý…™°župp9íOïŽ4\Ø=²äó,&­c<-²Ê•¸¥‹“•:"«ÿõ×ÑAê'£G‘ÂØ_òxÑËöùöÁ’°9ÒÃ]}o ~ xyžx*Aé#niËs'€*Ç@«Aòù~Äâ|§ú™¯qÆœïB]ÕI »î`Ž=eqÜ]Cþ…NŽ€Cÿ&^dDwNûKw*Ë®ÚÚUÿK½#ÓÎ-Uô©$Îâp<ò=ì‹™‘ý«)ÚŒ¿Ñ?¥³ößPg uZh jïY2‘ÛÌÂÛ½nᣒŒÊŽ©^Ìîçá&AÔp/!9æf}†}w‘4$f¯kjX)ìÖPãÓOWEïKzõ/ZÒ@ý„ËÈΞ>Q¶*¦ŒäGÚ,öKîPH´1Ë®1¼¢Ýé+—³òæà+/ËÌ Aq³ßÝD*íH€—£kàšˆ¥Ú”pÓk/¤y$ kÃwý}’>.ô¥¤Å;ú²ô6&›l—ìn8®©LŸ᯿ ƒGìd¼Xú k"š'¤Æ~Æ…f€ -þ¿{¶ ¢­ àèdrVĨAt~)dŒë0¦Ôç©]Íýzaå«7±Ò‹P¼q Ãx‚D^OxK¡x¢½l‹—dù›ém¾aeÍ|Òšâdyí]£ñG´/_Ëì\~ì¹ëLß+2 =ó['¦ÇÀ…õÀ“²çi·²Þß’®¯ {6Á(ëq(*52Q =*«À+v?Twî’0P8bgŽÏ©¼=£F‰ÃÝ{Z(;0¾–䯿¯ WŸâtÊ3J²'óPÞLÅsÊc}D,ÿšv«Vª8–ouÆùdpÙòUÃkÃ…þ¢~Ÿ–$‹`3-C®lxeïÖ,ç$”óãÓÐè&ÇÒ…¨ÈwÚ\¥øY‚—êéÐbfNŠ–çxŒëðj¯ôS‘-…óQ—ž-?£AcJb5ÔdDš†"ŸHã5c¥ðÖŒžTõ›B÷Á'7„ÙÎY—æ¸2†?àc-Õ[q¦(¥/é¤ÓI%þZ˜/[{ÅxÅ“¡ßÎ}õnàëËé .…õDGŸ#D€ knmûÑÆ&¶æ cÁz!gÐó­ãøY)¸¬€úmÝ7Àˆ{ʪÈ@JÒfžçFò24m§ÅK]Tîá]°­X@=L0šX£TÎ|föïo¢Yúû<”›ð?~57Ê0úæ › í|*ÉV¾ïRó1åeZ*øÛ™s¤0€M+&ëg! óò›B¤!$7Ì2³Ò£¨Øåÿ’Pº¸A¾z —! 㳺^ê§>œ`îù¥âÉßÙA h¯^rÝb‘—ßV]¥KÍâÊ{îYÑ€‡R7WŠ?VyeíÔ³h›é”žï¶Æ”.°Ÿ jœ¨A›¿y#jöbfêp3à »ÍÏzS×°˜LÍh¬¸Ùçƙ﫱mûƲ #žpˆ.¸ŸË¢’µÉÖû¯Õ¯ `|¬ø„ 6óÓ¶BÙr²›™A®€±{,>èŒ(6ô’¨÷ uÛ€Oú 4:«Á§ ˆØxÂi×WºT\G(¦5<‚ªÿɺªá™Ïƒ±d,µ1Ç™”Ô:Ky9“Ó‰ê†95Šßë† ž-QpÒ ña/Ëèmž…TîÝ>ƒ¡{XêkXRˆèœÇæȇaF¹æõC4›üïÎUJ®d{ºÄ[M¾Fò1úR¸ÞVqêVYV2 sÍ9À”œJæt/Ò QêÊàt‰ùˆ¯\NÃS®‘RGù˜¿C†nù ×¶ÔÔNÝMAÿôÙÅ®c=µþùœÇbIWäP僸 ¢Ëf1™fN«.Ý.@ô0sþ—\1¥ÌNMÓ!”U”“ª·¯¬ 9-:3ñœnùâX2¢T2­ßU3¶Ô©¶è²J›:nËzçîÙS:)B®eÓÓÜC$v…žn\ìž>pdùw§òR)’E¼Ç6è$BLDOÕ­Ÿ*š ù½í,ÇwFÞLŠø¬õZ#¤ #ÚÐ o)©=“ÄHtüJô»Ú3‘ù}Ü· ; ’oZfo×°[î?½µF©îh5õfƒóf‡ƒÿäœÄI¸„7W÷õ€±û: Ž~§/Â8ÁÅ!YøVÚ^WÓƒ¸¹qYðÐrš¾ÎØ¡–Îa¦ÀZKÁhpY žå–Qn”™\\|i#dÒ‚¨¬âÍÎt“w„.âpç½B´Ð“ã€Sa{dwÍCvtpP]F-‘¥ÕÃHÖj'TŠé=Œj±×ZèÚyëb’DðqS½h²¯g®±sòÅ5‘¢í½ðAQÊ)BE%– ¾C”RN×÷ŠriÕÜx[Ìa³d@@ï]ÔaOä®@"ݹôg•¶Uxˆ«‡ú+Zb‰rêc l‘×oŸ-;Äõ2úêÿjÖŠmnž€¡¢±ÂHL…§mìÓÌ#«Ûèƒïa:mTÿ­+ùÈAÅÛÁº3N2ÞïÛ]NVÀeä:OG&ƒp^D_Ûüe™©\ðŒ'ªÃêí®'9Š òسá°x]bj|Ðñw0Ò½¼\æ7¾ùŠí{¾¾©ÔÐ|"¶ðŸ¢¹k²Ú>CiåADÁåq•»|Ø›6¬ú!;sÞX×h-Ûc§Ò#. ÐY.? "ûðòZYé9­ùqHŠ*c„îYÏ&\_å“aùÀÓ)Ãd†«@°à¦TÏE6)þéá&ND}À®dŽSÂŒ±2–ÉŠC»²¥èŠ åfF ¶'†œ8ÛÛùaˆ³Ó2ˆóB|C[£oÙãß‘–öo¶JÇ1Ð ÿËI£Á?®F24e­Ï7ñBû¹¥~QŸ7MµÒ­ÃŸ%¦ð´Gdt¿Ï$ò+‘ü¿^¼¥ì¤dcˆŸ3®Ü9Nq†æÊņm¾›vŒ˜hxÃClœIšÎqõ5ˆd ™âgH!å„© „‰" –Ê©@â†ÛòÀ¸æÆ[£¦ Ž‹èt':~[ÓmDhý{‹S† ‚Ä”ÑOKì¬Ä$¯_VÛGÆ»x¸I×ÜYãì6XõË>5§È,Tübx‘™Âñ6)v6Ydv¿qåêüµx3ÁNé BdË~U[!š¦íE«S¯®î°…eÙ•¼®Ki:y£Mi^ÙVa÷wvã!ÌüÒôü±kO¬Ÿz*ðíγøwwô°¼^–ü¿Õ¤‰Çžºj‹a<­ÇHJEUdVB>b4ºfüNî2©Ïê:£¥µ®›»¥k꟬ûéºáZ¢F‘Q«ß.Ùm‘0‹°æ~Œ¢GMÂÐ%âTMñËì šß¼ÎבL–!Sj^£Èxqhîå¢iilkü@1yÑ3ÿPßüsJë]ñsÖHBCu¾Üzª“¡~ž¦7r’µ ê©'~±H8NÑO·Ø[¢¸CÉÕ>õ `”E鿯4]+P‡Y•–tÓºp ¦.\}µãÎÃ"¢R^FcÙÓúz†å6²w=ÝXG¹ÒÌýåVT0Å}\ŒUíŸ÷ÿabÓ¼ÒTŒu½exŠf<Îs¨è©%˜Ÿhy‚Zý¶]š= ©Í\T äOÌ~_‹¿œ.¼?p¢^ãÑ©ZëïDßKðáQ;Ë"ÛS0ö9¶ä³³¼ž‡?ˆ°[™ðè7k{»TàßÌ/ÀjÞÿ–nÇÓW¸EVF-¦ ºM˜XÕ4 þv»Ã+äùi v+mÙΙPÇõØ~S˜wjÆwHä‘ãò¦Ybÿ†pm6WŒ½ Aó}“¶¹Vsd­¨pi¦þöÂë.Í4ˆÄ“Ž\)ð‹Ïl{lnNŽå^s˜4þS£"ŸöˆòÁ>ø)ºèGø/Õ2{@õ ±³3œw(zÎÿ¸Š·¨/Iãt/»b¹:ü(à†˜CñêÈ1“×€°ä°müOÂP£}h2ìg[ÆàÔÓDo—9AÜc¡m]@„H5š 𸰦Œù§½ì=xJdF9ì­JN5¨Œ®6î6H´Wæäù›|¼µê¿sË~Ï®½²0D(òzeåJx¯)µAq­Ü=ãÒIÔ„)“©É ™|1aãen¡5ËáˆYÎJ\æâ7QiÑ€9›/à¸6›l'h9å±AÊ­d7ï¡ŽŽˆí T ¸ä7‘F}Í£w©Œl+nw˜­,üñY`Ì×þdîIðÉÓѯ(¨F¿ûOÓFÜÄýŠû—v ŒJìU”mÉ“Ö,ÈGMÙ «¸Îœ¯ÝEŸ` µQ…YΊÞy«¨~wÃ9áß©T'áè}ÃkÛ€³züX-z‹Vr'2Š6!k2†¼´l!;‹¢(—œžrFò)\…h<ß?à†Eæ}¯žcŸbƒR(ßr©½µ~Ø¢syZrZ†ÚñãpèÆoƒRð“Ÿf¸Y‹#D›œ7K¼*z”ôÖ ÝÇ[&D6Îò‘=Þ¸ü#Óðbþ†©A ÝF¿ü™z#T>WsïÂfY¾™’ÉÐ (ì'Ús/âÑVí ÏWVóCaNSãØ«Ím öt•¦z9À¶°¹$èÕ¥iVä»R[ï iÒ#¡¬ºOÛØæ!™Z˜ØÉQfúaí]AJ+«^gX 🵨™Þe¡ÃùóÉöŸe:uóý‰Ý*IÜHƺ­NÏÚ×w-gU‹ËU:OWëÑPîmGÁJÛOGÜ@ê!1?bä÷¹ã˜:¦ž5ôï©ûÊ47kZÝÂ&GSFãgì÷ÍÇx –[sJ@&¹ƒÈøC0|~{ÛO.º^2u-[8Ñï,$zöt_Þgu5 ¾_&Š^šáRhN©”š[hjÙËU ¿ÿ™yY©ˆ ²äîU%:GÍ a¶GŒ•¬C¼ò?í.·ð%zäO,ïM‚ªíï€j|epbÑîåÎ:ô¦ÝHÙwÏîÃ?“ýFZlqm+ ¼Yâýqôc1“ÑÙSñ2TåVYË£ö(ã°ã=´x•U}*¡$5h²“‰ƒKH;¿ˆí9n°eiQ ᜔†·$f/¡Y•#rSÓÐV›¼oû—´Š¤x­H¤äScÖs„6/'û”ÏÖ¸zäuw®/éf¶AÂ¥¯µªÍõ7 5_–NOÒ}úat C²%~ÜX£|d ¸nõ‚SF¨á‹þâ‰Ürqâ37€òF´ ǘ˜‘>ö•³^-¤øJ…}ÁnžmùÅ*È™<°Òr‘¨È·ÛdHÓ•À²VßÀ½úúø”€~ûìmæÌÿ0jøÊ~3å\À-ÆÀÈŽ{¡ (Gež-w™‡B€[Æ<íH¶<;wFïä5¨k‡w¿€šFÉ9§@MåmÓ©2•s©ý|ïÔ@ØÀð\ІÄl:Vò;†aÈ{w޶Ö\Ë[Ë^p4@êcËd ›NN ±B”V€8wýtdúï(¤ŒÝNÔâÝ/w+„Vûc8ž¾•–ûju]P –ÀnÁÈ2¼w‘–ü'@ÑÀµmÃÔ·(½5öޓ߆?¥»ÿ€‚¤Èð0*˨:ø;-ñ }»Ý±=v‚#õ(ø[æŽà™6€<Æ ùpNYž' ±Úì‹}Yt`P‚É «åÆ ëÒKío‚®:ØÇiñò³r³pXzD€TèúD‚‘ ›€3<€ ±XÞçߤI2 ^T.PÕC¼¦öBó.;}Ša]ú,¦ Æ1µy/<]kiíQë—®Z ¶ÇbD9(F,ã0ì6µàÕiÐåÄ¿¨™§¯é eÑíE5¾VÞ'­&¦öô Î ³Š#¡E¨\;¾Ñø?zŽJþ‹¨mí¿“˜Jõ`úƒÔäU G3B‹ã£Ìæ[nýrÉÆØ¹”ËýVâ?9é•Èé C¹g¶—ÓcÒ`F*¯¥Ûý9ÆKwYôUÍùE‡´Ø LÖ­½…ŽŠ™¦Aöa6U®Tª `6æÆ8—$àòg?ÿ ¿æcÖ!}a¾óåXãHrôuõ—Msq£Ëyʶ:{îÿ|a­Ži«%ìÿû‘£1Ù{\ÛŽÆ>ÞsÉã8W ”ÄëβL‚•nìvVK‡Ó.`W®ªV—ƒx™ügLL£k/H}§ŒQ<@‡¥NöNXÞS›tw³à¯Tã”eÀž¢¼ ñé}t3‰nõ-4§ä¹s{ÓQ“2(¤Dj>Z«®ÃÕÒ†)éGÈ w…Š-×EÜR]í÷í€ÍÈù ¨Ô`“`X ¶l¡x/zÌ3ú›“ñÝ·ž¯ ,÷·#„?Õ‘¾@n=A˜«¤NÖg¾6lw(øÁò`ÛÛ½Zs¶€aqUŸª@&%uFð™»ñbùF´+"$ÞˆÝsÉrøÅL4B¦‹Ðîçô*v"¬Z¬„—}Øx2RÿdN¤žOa‘ÛpôÇ=Çy¬èE|¸XJŸA‚‹´Åæö½•ö”qƒç®7A¯f1Ä/iÌDS uÅ9W!^ßœK¡ð·ÕC £yU a(±Ç‹o¿Ñãq.C‚äI~44YõpÉrªd#À}ŠUKÄ#Ev`âEÑm-C§MËvh¥lÞþR§Ÿ„Ï:ÛßÿÚεð¾`¡ƒô’FÁµʰO°RU¸ì–ZQäÅøùxê¥ùû×£Rz7>ZƒV¯nÀ²Ï[ü0}¨‘`Ç‚•¼x㲆4íŸ/afƒûãˆç™oc•¦j.zù¡© ÚÔÚÁËÑBkW¹sW„öíïájäÜøYú‚.6à ÞìH)Ȭ¡‰š;%sµèé2¼ŒK“aFXí¶|Z(6ª¥Æɰe†˜n¥ŽWNycÁ½qôrL+ñlh×uÕëN)è,ö•Þˆ'² ïÎèº?+Âk¥ ¡†íÚ-,y?ž¢z’‘;Ž]é»,ä«ãºÂ+ƒ/º@˜4IM*Wô3qª$Ï×]¨ñÆ-?ƒ³¬/\¼:Î-rlßüƒÁg½Æ¬KTTæz|ŽÏwhI.5Ï%…èµÄX–KÚçž± ·nREf‘qÚc±5¯•Üv‚zAmf~2êÏ·¢PˆT¤]+¨Åà䨭ñ¬]Q\Hjáÿe-%$–5×·±ãÝ+á¸vöŽÌþÀb#&Ì•µ©Ž¾§ EnèCÏÄ—â»èb7ëŽ~é“zp€Ò¶Þ®6µ'¿ÚŽ¥òrÇàÀ9«RzøÓt¤Ó— 󣹞§6Ìp-Á|‚Ñ|`P— CÝ'”Ã`b¿ÉîD˯¦y+©”wÕ²m³8He£§|Bü<Ô>âùžû¼H" ÚЄêoØ#E—G&þz­2ž£&q²•ï52žT‹lˆ²3€ÊÁxr‡Ot™”ó~à ¥Àíù-ß©2ò }ŠLœùlNìóƒšÙ[‡_ƒc³)ÙÙyê V5#Ë4w dA»õ¿O,‚Ñ›úÄõAüÖ4Bª)e¢u¼ 0ëæš…ýV"™’lѽúÝX3ír­k3àtÒÏ©uóÏVG=à!)¢w| £ù‹Ô¬ÂZœVN‹Ïåîc¾ùJ<ìÖ“¢7ï™W˜(\ñÃ÷V+%r>×f-ë7‰¸²aŒÿ»¸·µЕŒæÇœæ¨9ð‰z"£â–mýÈ gP´úø´b«„®p'‹ÙY_ ç¡«JfUªJ!|~Ö∺AΕhŒíöuc&䯸éNË™LÅÚáN@ŸÈCŠà´·‚]ƒÏŽ[)ÚO«Yú&3]ï"©ª_aÈí¥ë è#!q],b?¹ÔÇS¦o¢~·Úþz‘Áû±¯ì§ÂVýø ½¢]ê±ù£.ÚÎXäF©IG@'¯e|V›'Õn5Q±×ÿM…’OǨ”tɦ+g¼qê"U”v;HÐ9LÞ#öý·f˜· …Ÿ{`Ç”[™t OÙ¥@Ü;x㽫ˆ l&A¥1ÙÔÅ@ÚfÒé ¥!ñ‰¯Z6Np7¤ÒHÚzG«TÌe`?a0þ?ñ&mE8) ¹Þ8½*¹u[.ýû˜8qŠ| ‡l˜€âÉ?èCýÒ”÷k>@ý²Ó¬_kO×qþ÷+m‰Ø&20²„?Ї°vè©°”2 ‰ôË&A¹H*è€ù?š¬Z­þ¦l{KéƒOp¿Æeäœè¹ÜyxKþZóÞPÿx»DçÉýºÐ“Q)?UInaOæ#¶>Ùa¾™'Ë@ŒòБ±øðºM/_A\Mè¾8¿ißKx u¿Ç °êöb˩ũÔ>þÀrýyOÕv÷•B>¢DvmC¬™[Q…®·ê¾² ŠÈÛ÷üµÌÕR¾ZE:¸}` ú¼›’M¯ðbƒ{GºÕ,mMÉI;éç2¤f ü±çÅQî·JDù1C6ò>­ŸŽ´yÔ¤+¨õ¡M®fw›ïA¥Š[½`6RHUHïø Oš³{qÄ1·t^?Ï0Îõ‡õ0PÒ‡õv[)Š#XGñFP£S8I#ô„ÚÌŸó¹ ‚?9ÁBÖêܾø  ²4a>°T_œò ž19dß‹Èv1TrPˆbüI‹Úe_ì³`|çÓøs¢¾ÝÞ}{ºªOvtñ ¦èrív—6´Lî™öð{Õç°™,ž¦þ„ÏJÉtQŒñÿ×™âJm¸L1ÙÞ_ÕQ…Z ¸׫å#“”¡!î¸nâLGËJiOý6-sýÇ%ð’€µóª(­œé†"Þ÷ÚýYˆö,;BÕn®“¬È‹ëÙÉ/}–§}c_[ ôEèKöä²-r£—°u¼Šºæ,ô§«öè·9TÑùnŒºÑÈr¸éŠI¶ߪ ]ˤ¼–¡©Éõ JyOŽ M»Mb{L\$ ]”Ó{ýË °?>©ÇÿþŸ ÝTWêê• }8æCÓ›yDšE–g¦¢/n Ç|'.þî–×È" <sVÌïz(Ð8 ^dÖ…\/ÕÝ8Û ökVI=5°à ‡ ¸¬Å2q3[÷âýüÑ­GsKX€Ò±Êå‘aZã@ŒENíeÎÜÀö»ÍáyEØ7JF–6«»áVþ¿µˆv¼D<Šã©k5äE­%ÂÁü{ ­R˜ã––€ÃöqëõgKÜG¯auÙŸ¡³¬¯Ö7>ª:ì%{!!'ØòÎkÛOöÑ6ì&y("ªW>“ø˜¿\ r_¡&;¹,zŠ37.Ì*JVxð*TÀ[ó°³§—®–Ü3 “×»:SãîðƲûæÅU®šFƒ O×AfYõ0 n%TJçMÑï5äFå¸ßíå²£ìΆ1=½¿˜4³Ý¬2¦!6,¦­yÒ½/‡“ñ]R¦ÝL©J=Ù•Í4F,Ô2œ›éœõ‰bÏo—&vŽb¾qÈ·^¬h 꺃·.i2#IPö¦ …Ùa&Æ9PƒÆMA콆Àò*'íˆcãÓÚÍŒ7ÿÊBäœq`†A5f/èvG&ýá%kœbÛ©¾]’?ÔÖ¨;¥[,ü5µ­b_Ât³t@Ãí—ÿÁêo”ÁçOnÃÞ5vA›6š!{'Œáÿ\Y½°ß¯n®îÏßk?ãX‰“šêŸ!JQ7†B$$3XËEõdÆ@%Ö¨*úH&ó–úÎÉÁ>ú§ƒô*°¿ygäB«µî–o–—Ý)[ªšé Èí>OþQÑTØ„®f=ÊÌF¼„¤3Çòûp:Xˆ®ã(Äïy`ØXØ&5—WkIPÞo%€@} 2ˆ{;ýC"‰ì;t' Üþð¦â váL°™ÇÀY(© 4Š.cM„·*b²«d¿pŽKLlFÖEÕKå4“|¢ÔÆÂ` Y\®Ãˆ4–äÉÐ^ýð‹³–ÆilÇq•Õ„„TtPCµ,Usy¿•)ý1BܰÆ\>Çý%Zc€mýM‘Âå?1µE´¹¨ÍÁ´èõ <£cs&q”£U±Ùè²UˆRwÎ-Þœ>Û˜¶q–ÁË®²“’áÌž7.Ïï:ͧ—9²ÔTxŸ?3»7ÝõŒå`e’ÿZï§U®È[–)¿³WùªÂ_<"Ð+QƒŒõœ´8F/•É®›µÞ Ô•¤w2=×ÃUêgªÊØ®S4rYÏ É?éÇn!ß{W˜BÀH<ÿJF2ÍÍäÈö¨Hb?À½Ø?o܆–Í?Ó’iCV…9HÃ¥‹( ñKe šÆÌËÂÀ¸ÂÆ$$¢¤ÅBîö'I'€éÇ0%A;ÿ›aÕoý¢©»zЛù¥ôÖj&«ŒŠØ¨­ÊÚmn‡h®E'âÊŽù®Øø­Ú's>×Ç88œA¬zi_4ç„STdðA¬8/þcÒ)‡ ‘À7HFëlôÖÓšÖáÔv+oqôæ[uKÏõc ûtB"ÿD\˜ã@š™Øj‘0’UJCÉrµË¨›ƒ(^äŒ ¤Õm33ƒÃYý7ðÄ[í$m‘ëkgL[ã+Š÷P æj!tZ®ÒÓñêa5Ëòh,¯ùãýn÷`I¬Z£Vöи©ªeîY…ÚîÃäme€Ø£¯‚ØâqAºS¦ª„Iü$ÕO<š.ÃÀŒÂCæãêAEŸa¤<‹¢Û •ñ%2š?»g>oßúkxÒ©Á·ÈH}(_èË·ÇéGTZ®ÞùA¸SNBnqt•üv/wù[)ÿ·%bC?}_—Ù  ³)[¶eE+åÅ8{Y³ÉšÓ‰¨D4¶Ú!&zAV*Ÿ…‚Œä^+]ÞíÉ…C`¿ ª?†q,–E,l¦?cÒµ}å=Ç‹# Ñö´D(^*ã¬ð‰ö` ÔJV„ÍÈ}=äâ`| T•Ì5õ¢"ñlŽuLÛÑŒFí4J–iÖp£S‹—ݬ1ši,øâ?^7)nJR™~‚ž¤Z£r_¦Syƒò ÙÀEÞÊœ³qZØf£»·¾Õ3¢]˜³ÅزÃN³rbª»âÛ*|[ŒWöìDÊSfØd?ç48lÇ£„´ûÑθâþ såBoŒ\x€IÚÓÝ^­3^#v*”¨¡O˜ gH´l⯠žS¼ÄÞ_–d·x»ˆ_E:FßÐÂG‰|ìt"“,д¨td6 3¾¯·ø8‡³¡»´óЪ@PQHÒP¶:‚—>ÒþxD¢cS4µð²Tà€j!ÄÓÌìaÙnf£SåÙŠøÃ%©$&çáVÎd×ÁO‹ïGÑ=n«[ÒÐ|=ƒiø¬eÜ “”ñ›SŒêÖ¸ú)#orWü9 !íìE¨¿‰kq æÆÍf Êçï÷-ýö ŠØÃ’ò#;’ùìã™Ú<Þlç2"é»P‚ÿ·Mï 3 ½O¡hdSæÉÇæº;i¹‚º7èw{G¡ÓS/IÕsR¨éë7‘·A¦ÒoÌ/Ę27\d¬@m‘! £Œfå‹M쪅éëëm©Õ©úBjnyНœ'¬öP†Í¨0æ—ˆ•å9ФTÿ 1Ióð4 %'t $ÇégkQ‘ˆß ÌG{UXÈç9|×§Kø[Ÿ<­Š*=muF{Š-«6Æ ‡E¾—Ý€%ÜÜìš•å¸aÀËì½ÃÇ×ß胥«3Íņi90ÊÂ=¸×çÍñŠh¶’è/C—??iŸú—½ ^š ß^:c§“Wƒ!ßà¿Ô5¤ÍÊâ2 “ÃÅ­!ï1gÙ#³ÖÑb.ºP:fЭêTEmD^>eºû¶¸¤øk ôiß?>+<h²Á‘®J71¬-îÜXü»óÒ½Otâ(!ÃÐä¢Ãh».Õ”›õ1-¦ ÿš·y¥”FkC$¤‰ŸK@u]ŸÌ÷\^N­Fò’¯ŽÎ(êÏ#™ª°8Œ«ü(^Ö8¬ŠÓa±æÕVá_:·©Š ‰RIhàР)gê2TZZB‰‡Æœ]º‰hjAÚØ— ìO¿Ü÷D*Õ¿˜ìÙÙ>Üò—¹Ù,ô Œý÷õe$5S¤-ê°ìÊž§b•|üš¹F¨IÈ”¤¼#µ*¶†Ð;® ܾĂtú¤v?¢pe3ÐxK¾¦ÄFEx¶¼ u0êýÚÚÎЪ¾\½3”ªµ·ç¢|!¶Ί~®‹Øs<}\Ñð³ ›ìKœL:xõ©R —bÅÔ>$4k«·Ñ=B>Ýû•ûkéMÛ0GivÖù I†9º*®êT˜²ïËž©¡"gj¢b䌲« £ÅHy´Ûu\°zCßç%*}¼á ŒwÆ=GiߘõeªåñUå¤â3ôOÇ@Ø÷D‹Yk‰öwX mnÓœ˜ðkõÿ!e™ fÍ®á^W‘j•Äo÷>R¨ÓŽ»jù_Í3MåGtß„ÛZÀ!h;‹+c‘sŠÿ³×@K¹¤‘oȆÜíPLàÍ`™½›ö1åcäÉ´nà4m¸-Œ!ʹFSdqa‡ã©ôgÉsU­å©-êã¯edo-1y^Í£¸¿.í|ölXÆHs‰ (LˆO=¸ö3ÑôoÅŸ/ç窩]0K)dZX“/‰>òØzbòbÔ†¼ BÅ9ê9*׋Q={4¯;,t0y âU©»i"ã„ñÌW9gÇsÔnƉÑÓ¶6ùÑ™„qʲqãˆËgásV…´¤µ!X€î=w\dµÿ‚è³!]ó¾+^A¾]_ç ìI…ý;ÊÊLlãb ®Ù¡+g¿è ]<иêùc¯Ú1Τ•+Ù9`.==¢…ˆ;“h}xjèÏDêåТ‡cF(a1»§¸éjJ Zý£fNEôŒëçaÆ·¸ïw6$)¹Š7~ú]„ÖÚ=ûqË`AaOZt'°êôä$xvfd6ÜâŒ!¼ó•d@{­eŸ ªª‹»)ü9Hî¼J4ó¨¡ÙPØû¤+¸ 5ÂZ©Ûëö´”'¶Xo4­¸ªmøëçZZ"‡=Dtþâd®ò0Òxþ˜,HŸæz~#aZz¤)¥lúú>P;‚²ñ°Š¹&ÝÓRê žâJTÇ,Ø6 .GÚœ\nÍÞ–à8æ"“8d<{ñHD®¦Õˆ’¹Üž)wθ݅xÙ•|ý3Å­î"5},LéÏÎ`gÈñZB0ÐÚáÄ+$×yV©b8à-«<éoŠb ç¼Ò¦'ê¥";NÄ'²iÂ8”ö³2ÕÛ]Ù/?–R‡ûx­js‡÷ï9BV= z*Bqoh`›¸T¬/ü¾þ‰+yм†;ÇÁ12DDakb[Áè|ìuÞ ©yû%Ÿ¯ãåsõQæ’Z­£åTü¡þÓÒs^½x«×¥Û!»°Ìt]šN¼[–ªeR0 ,-?úuiöž·AéË<ï‡ãX“Ô¬Âꎳ›^àÇ*4_4TÑÇjƒØViB8Z ßÖ䎟7q-·?Ä—@=¬Ë×ZÇéÚ/?p–wÐÜUÇŽ"<¥’¯ã–ê‘"œGƒô4ÊÖ–]õ¨î Ep ]ÕÿʺüùLÛþ|Æï ÜE:Ò›nÛ~cìÃÇ­MÛ9ofA>õ²q%hؼ|c7Œ"eCtÂf†æ¢|S >VÜ‘Á:@aÔÍÌ0‰7^íâí—"xúº‹Ääô]fTm8æ²+<Ëöض ò‚óÉCïâ (…jºÒ¨Ã“\÷J÷ÀÑÝÀ½†§€À1n,c:J#>Š«Õ; »goÉ›ŒZØo.Q038gŒa¾¡rl“V×Q̱7Zù Í8I“æDÃIÅ ð¿ì¤*Qe‹î²;3ú´ »(Õ“xèï^gz$Z:VóPÔ\@)‘K‡øã±húC©ì“3Ë|'FÀîxû^ÓC·Í¿…ºpƒ/†êº5ØŠŒj²ƒß_¢9ÞñmÊÿ›üÃX¡ €æ†ú¸V9Ÿh´g´°~3P€4šøšóoîÏù{0Mnmô§>ÜR°R”òŠ+ þ‰ÑiÈQ¢ SO6ÓEédWc±s uã@wh‹g°8öÍòÈ“ÛT•|‹kxÀ-‰@Ïã‘ËÜià€œ;®ô³&8î›0ªY`ûÊ<‚"\É8}°ÓŽÙ?#f ~ ö(tîܤÃ^oÎ0QióÝ»kÊð)>ÖÅQ° H+’O«~+W«XÅX¥¨BT×™!ÏüŸDu´äñ| µ-¬ý\ÁæS‰í'ïAŠ"ägù¯ó™ŠÆþÞ+¤ùq¾RC7{·Äõ„è¯eâcí hT}€& ì&És²ÏÓ:t¥ÿ÷˜ÓE¥]YÅ«ª$AàÀä~V qËôÕ.0yi¶NX½Êªö(Éðv±M—]îGÚ•£˜è:Æ6qAç©óЋbWÏ¥”µ*-SbÃ_NßÐÉ¢&Ž{E¬yóóO«M˜Ø¶Œôû‰ðq)òŒp‰RLÝaÜìÁËþ A€ËÛ„ºÝž®ƒYISËW1¦S 7Ÿ“Ž ŽQ÷+·5…NÛ±½R–( oS2¦GnþÎeÏ(=êv.ÚDÉõBcÜÁlý?â×ÃÎwšÆ8á¾™;¼ô…ý}4“u:Ÿ.ÈRÎÒŒ\5‡úÞ+¡çæ2® ÍØÈ&a 0wö$žy왬j+Ij©Òw”q¼éKo‘}®Ó¦¥¢ŒD`Îq+`“I‰J+˜·›¤œ èÄ Þe 9O9Áiô?qP…÷å Ý~4Ë$dHäè׎p»jÈ0à@"AËîpµÍÙaļ¾BXc±Nš¡Ã é9Œ]´ªió5ø@ls;º­*‰Ä…Á¨‹Çf0ÉaXt@œC X7w;¢nˆÜÏxˆ´•Úš!\CÐ*1ѸF—FÛUm= œ±èÉ›ÁV¤óˆtú‡ØÞŒÌו! nøÕm@(EÚ­ÿ° Û{@Ø¡ÕûABŒ,<44+ ·ð8× C@CÓQÎ?…ÏÚ«ÇŠÌ*iÝH1f¶Ñiᤩ úRÅdö{G€6㓟Ö/úT -wÎF£[ìP¸åQ;zZÅŠ•ûgߥ<Û‘¢k­ñ·¥ùs”DJmqd&´”$–ó´­Øx–ˆgð[Ð~߸=;Y`±bîAÏý.gðY-B8cHøVÍ¿¸2*U€L”Wþ°k;ÛéÏsòþ×y‚™šZ>ªÚ\ÔJx•ÚžÜüðöè€WðD`FÝóï¼xD È•£I÷9ßXÈõåO-šæ†Þ9D ò¼yÀOòÝ—gÑ6r'|¾ëxu²6][ž4¬ŽßÍÑF{@î»]ó ̲8ŸÂb\Í%A/«u cqf5ÉmGBö•ÀhÙœ§ð†úc°ïܹýt×ÒrÜÕåc…ó™Ú噿~R¦Þ 9äçèo–µ*=QáÔq9)͹Ž4÷i_wXÒ˜”c yê”çR‘ Ðk½íËízpl·ù»=È£îgZÒ›z4Äý"‹ðÈã=ÀËdÐJºõ¸ìL5‘æsätF®oÍRŽl'¯ >ÍB[¤^·ŠÚ‘dœDÌNà™\ŠÙ×lÍœZƒáÎq;Âb‘övÍ ŠüQóÌ:„¶¬3Œÿ2È©½Їûíó O‹Ø8ÊÐTpù¡ïCÐ@D,ŽgT:Œç€íYÒ¹MµÚFRö^e³é²+%wX3éæi¨­Y• –§åw±C"ZôS¦ð†Ûú¢tç ¼_f‹ÿ2ÊÞLð €k–fBsÕ¨rë8íŸÿ¨ìê•U{pš'}zš×=kóù¦AxJ%“ gUVè&¼mÇþ‚7zÔ¾Šc@oúˆ~H/X³w…‚ |§º(7ŽâÖ H«»B˜»÷ cKPlØ¥ý›‚³"ÑKß«'*ì Ì4lÆFªc[Ö“¶†“'ôÛ‚ë4 êÒË„=B×î£v=¢öz±-™’£AüÅm¨ðÅÜþèóP #,D‚…O£!—‰V5%/ÊÌQ„(WœÜÈÂË*µ…ý)½÷m,§|ˆöÈA*‚…˜…­Z`ñEIܸð”3}Ó‡!›§]b„ŸÿßYTH¿xä…\€iúˆk‹~µÁ̈x¤¡×«ÒB׊qcèµåÞx'—yÄšØôÛ9V¶WÔ½ˆí#HÆÜ¸^äš²¨™øl~ ^[¿ÛWW&½ù½Ír$ÆÝnŒ½.ëÓRDÞ’aÉ8¡Dæiô¬d‚ãƒßüƒÊdjwùs‡cÕw²K‡™®T¤¯ûx&W¤”ÿ2‰hä:0V«Åé’‚_žÖDñŒé»c£N:K w¨Ú;ò$‘(­º/ñGm’æOkÞv‚‡–ç3—ëòþž4 ¸ /b¸.oVçv‘¿Q¶Y³rùÁÚ¡ý{ÌÑT£¿}ªGr·Fý·V£êA½ç©€&ÔÅR¬õ/õ€LöÙIzÒ«]ËÐØP¬=],?ðbFeˆ©ÖZnIÏà bjîá®}Éÿ<Üû‚tñØ¥>zwà²q´ði"¶Ù5+Fî”´‹]¬ÃáÓÄç 1¦>d½‹9ß ¸°i×d÷ƒ¸› Çd0ÓDÿâàá8IDÖ¾¢˜Xþ,ëÔ–IT£í¾íèý`1í/iwnŠÀT„¬*á8¨†XéDáçævÂKf߸¾jˆ{µ|åq¿/Jš"þĪ–ÄúÃ5P ßÎ = މÐf`E=gœ‡C:^Œj}ú4lí­Wœ©øº›jÆ/\( ¨˜ñú:ý;š¢ÿ$²pÉ:¹šùg4$¶­MÛ ²pG¨™0Àv¬Æ ÙW‰ùs©Ï,'2–¯ù9R>Eâ¤'Rë2|j¼r‰²ÏHe …ΠäóÚÞ¤Ö̦¯Ÿ+idrÝeiÌbglMΘÓxV€üjãÒWÞôašä’eìP¤G¾ ~Í9.~«¹±ÿ+éé%}ÊãLÿ;Þu „ª##fUõ)ÖÁ 7Ђ#A‡–ŰbúΘÌ[C•Ë"6‹t-^T3?þÙžð¡fm¬†×`”ÝÌëTðaåçN}å³k¤ßEréžåL‹ÝÇóóÉBùò…ã,§™‰Î®7ÊŽÕ[®:|Xj÷K/lå¦Ü«Äh“5èó@éVè›ý_pEcv‰¿Ô5Ý·š…éNŽÍÆ|â~jÒ ìOøkÐhP ›È£SˆÛŸõñ4@¾ºÂ˜W*¾5„“ô‹o ?/G…~9&IvT†â<±^®íd§n /ÑígT´`Jñ]¿iŒoæåID(LüµψB¾e„ŒPƒF³–“Ž)Ò"Vp ˆv¨´É9Pw2ÊM蘩/ó"=’‰ewŸ.)dÀß[} —½ëWR.YXH^©Hsn5oží/ÎïÈK–²R®Õšò`éªxƒ¬8ßf|Aù$ ÛÒ0c÷Kƒ-té:×åÇÂ(9?R¡"ÉYô¾Ì”CÑ€‚ЯlWßì¶Ò/1òNí¯Ê8€â‘£™¶œ›g^l„€DZŸþlðG៚«|–-‘´²Ý6­|G¡Z>®ßó ê«*×…+"Zû ®ÛMÀumZ{œÏ鵡åžÕÅÿÊk`ŸøfãL¤èxo˜ú¢‡5–û8ÓMŽé‘g½H„Ú©wí PŇöû¤ä -bàŦ_\æœHWÿ§AÅNõÁÆlºfßÑ7˜–}ïkƒC?¯$Ôí¥80þéy·ýmk-<: @Uqiĺx«&¢£3†[³îÏQʤ…ÒjÈÀ¾4¯¨æy‰/R&T¨aúoâœÏ`˜ê¶=)}+º¡·ÄæU'ͼX±l÷éoÑ TÜr0º ‘qó½†åU°Itî'wÿ¡“Å ®ŽûÈ&|dvö¤|ôŠ¢–bH0~Êñ…ô/ö)ÿöx¶vØ+™Â‹azP,ÝpgKcÖD¶¶k—ˆ£Nrú[þA½«FK#ðŒË=n>ÐÏ”>–¡ ­ÆC½ÆDjwà]7ÍA)ù€}ÚÎ×èý¤B§|1HÀýâÀÚO¼Fðç¢üÃS<úÚ»5Ù ¤CµðÿÙœ¤µ½U°ól¤ÇÖsÚªníÞlάÝ/Ô¤_!Tjª#á_gl›ß…zM±_cé[±^¯[zfkzãScÅÂ… 58¸17Tîm„„V¢‰b©E§v¾ ´PúE {WMbϘ$¤ŸO(ÚÌ4FªÀVƒíÂv Ëiÿ5ŸnCRM4‡¡ú‡˜‘˜Œ&½ŒFž7CÄ €qPˆñÎ:·€r….¡è’^ˆmx ÕÍ6³É=>W-ŒŠ‡í î:rþ­u&a:*‚Þáвb_,l‰ïÑ‹T5WÞ/©0¯î“b’Z-x';k ØÍʘm-_ž%kó5{3b¦Ãð|¥ÙÏü…ˆrû¤cB¯ B­$±›Ã^æx>§l*b*¿WyÿÎëPýןÀI½ó«u¬aæº'ês l4 21AŽ:Û¹™Û'1T6ÃØ—¢ª>|>ëâÐÚGZgyÅÕØ;³·é)SÞF’Âdô"»VÐ€ê¦ p¤dàúŒ±NàŸ1K¨æÊ¤À®çWÍe—…ôgÕ\ûb{€F<ã‚©|¿AÄ*ÑŸg“-3U†mæØ]?'ÓIên¾}»tÓï…™ˆv±‘rs>*×€Dðeî ÆËí 9üPâ€iÞ`+ÊÚ‹¾¤ô^u2)å|[0hézLVpdyà1»v&HäE@ÿþ†®Ÿm”o³é2^§[yZhJ¢ØsV*wö¹9›*_b/Ê¢—Š(íÒá™3RÍt%äÒÝÿzëIŠO˜Tí\ŠýšçS‘>zÆŒUõâ^"ƒÃ†q^›*½sn7CrÅ‘¿WÊõ7'˳{öކ7]öÁÑWë…¢a ùS.ïÉ?<¯æNü—i¿WZ3ϼÙLJ|öш—£%‡ bŽ H67¥iSçÖmGr'ôÚ» 'Fß¼üdì…¯kmA¹^OŠðñ´IC.Âó´ª6âE'úûŸÚ^ø Æÿ{M7ë}Éí4úNÔvÔ Èiª_á0ûn¸Ô¬4øÇZ™2À6Ž«ªúÄûøGû¸ùÙo-Ÿ ›e&(PñFñT1##ãa­Ö#£VȰ§•œ"Ftù [®£M|?x…c—]ðÓõõõykž²¾*+|5 d†1 ¼;Ø,‰8ßœqõJ<=ÊF ~Ç™žG´á…äʹl`ËggƒÜXÔ;½‰˜Ô˜Bn½¨Ìn`,Ä-ûŸÈÄ/+ÓETÆ×÷êé©£B–7úQ)Óo£B4ÓZ€¢”{æÍÂä™Ñ:c¢:¬÷dËßÓ1jœoÁÏÀRTÅ*¦d4q ë€8%b»Žg\ÆMD“&ÿ©qÆeQž vVƈ ¡Ì³4²pË<µz”¨mxøÛéYZÏ8êIõSüѱB´cÜJös´îðQREh{»Ô§¤Ð^[(”*íü]]=ç.H¦™M.¹¯Óù´‰À°ýë åTJÍÿë:­$]~ai„kŽ Ý.§“#þ4øç/cn¤ž¤P ©Ó >mŠI=îR:¼óL÷—“VÏE·L'K[[‚ÓXh˜k]² JzzÙ¾ñ¬R´ØãóWÚmFe=þŸz×èL_ÁTÊm¡+ýõêÏ ˜ Bm?Õbˆs5UØß¿o©6šO-®âí!d ë|¦ëX½³ÕjÚá64½÷ùgÄRítyKÕ¥1=BËQ“¿‘¬#â;ŠmØi‘¬q´õd‡GXŠ«}^ª˜Œ$L½ƒ¶øãªˆé‘ÝWwŒ5ÅG¢¬7ìà¼è"¶Xô–?ð¦Nº°Ý–×o®_“VG(DÌ­ ¨$;'ÃT‡‚Dõò>3Gx2F–…ÓCòl,ýÍÿ$bG[qÊ‘ì/&¬HURqÊèÛ±ýEDŽ-5Ì0¶üVƒÄŒ|b"ÝuÝ‘Ž“Ú¦RwÜ*™ƒ¬€x®›OiËá?iW¾Îˆj¨p7S¡ þKlß.ª-P+ÇtlS¡5éW$W|Â9{èe}¢¼èæ†>"6~ŽÆTWÕ ]\å]ZéõÂõZÕ.Ä·§ä^ïaåÉjœ¼sòswƒ×œäRÎzâ¹$¸áB¦—£æƒ§D¾TƒÖ‘›·•Eûù›ZMÎ’ªñR™ËnZošV³Èø;áÊåî>쬅„›%\s|bI‡4Š=y¾¹ ¸jª†VŒ¦mªû©rÈûwÔ€ODs© ,½¾™6WøJ¦ì´´Ã*¸6òDñ¢â@Àn‚ÜIê\’¢Çxè´Y…a üâÓ_Άhk î@.È;0­˜¬ =3aB'.$»ßùŽ41¢ÊF•Œè6 ‘ ã”´0±,{«$õpª}xŸ\>×`O€Ž&§0ëíöÊ‚WgôE"~RÛ²•LÈØÌ—‡Z%ÁCM7r^ ý~Ñ€x¢>ÉK¼…œQ…fsà~ «ã•LYjü˜âúSZ„Wãov .H(+ª©ë\‡©¨¡$Kë=…¥ ënÈ.êlï’>ðñæÚx´QqÝy=Aß­Bþ9,¹o,ÐR$õ ™»? UÆiÅ赯Z”Ô¹ê»tèò{¸ýd Kœ·ò¡ ¾ ¹¼± ¤ËæaÚAÞwÜe?Â/rP=-(‰ogWÛ„1‘oÉS7¼ßÄç+=WˆQ'K8;ã:ï¼RBü§(+Ý}¢ÄvVš¹A࣭ *ÓÉëWÈ“«ìýS;z\GC›hó ðƒy/ ©»D©Žxð­ß/C75­Rë©k”u2³yßEÕ¡HûRúzDÕpd£8ÝkÅ=MÕ8p¤¯Z¼¿¥ùî›[Ò‡/àëÃx÷#¸;ÇÖ(O¯äü‰ßzï<5‰ ûÑXz®ͽ‘Š(NÓ¯ i«Òˆ×¶MŸ$'§½5ìUS¶iN E‰ Æ›³}ïú-Gè-䌠tsº …JùL³Ï£œ† ¬ÅÉñx…¦²GØéj(3];š÷!ïD®8ûýB@‹@{á$«ž¿O5à} 9 QS¾xÌYv‘‹™ çp2¥óQ×= š60±êv¥¢5$2Þ³$,ä.h¨…R¦æ›ƒYy]æ(ê=®{íI”#¢–S–e¼›Ô¶uS—Zô¤ý%i¥¿1sö~zàW¡üi0ù? H™×8Í|SÖ&ÕÇ·ÔÌY“>ɬ.ÕV)æRa¿mÎy”çªTff¨ëá;zB<¦Ý~ƺ'§L Ð0ê;ŠŽ9ôl—êjʲçë=¿_o.Þ½Ò:²ëü­öª_ûivúøõ¸Ð3®4¬ˆ>:C·€¸¸ÄelÚoÅ50ÃìKÍ|3LA¬‰Â˜íAà 7¼í .ïô OÔ ÑºLA•­¼ÎÊœÚóL¥•{l4~­ÍüGRŠÄ¸ç¢¾s½??|Ëë8ïŠÜgYDúgùÙ Àà-P¼î± qJÉ4ˆŽ0ç3ä{lâ—¹|Ï¡žpýåtkžª»’V‹J-¢8ˆbú륯6S­QÏÅ,–Pý‘èÿ˜}Q_4h=Z^ƱoÝ4“Ôt鑾kçÛŽf}(ëó‹\¿ó?2ÏȪ²´šcdš£´±Í®¸!ÿúŠÒÕñ_É`ï,ÔèGЉPìùé}8ûªìAá)¿aðoÅ_ae4Þ"FWéHŠa´¦±ekM4 äÇ‹n¨‹¡¸9¥ 0ny­–º_J×~ž‡HÒŒ)¹¤ÕŸ"W(Ȉ=ÜÄKKà0QV9#šEÖ÷wHÖñê½J6(¾ð“‘½hÛFÞ6+ã¾N±;Ü}¢=¨ nÛÔËÂö`9ãÄ]éP9í»Ÿt;Áޏ°Âì¥Æ;ŸUŸXyåjŒ¥\T›¿Ã3Üœ‚¶_Î*8³×ö™‘5kªc–W+wH]eWë:/ï…#ÀmG –›9ûÔ*‰ ìk!曨âYŒ¹ñýÿÇuþ5té퇻ÏhØÄÛ[t~ÁæÃj;â§#[7a¥/¶_"ÉïÊ7¢d ^7'˜Â‘m'×g7JÕ‚Þ½.%¤¢/šD[Ÿò±<`9ÂÑØiº_g­ººí'ƒ­Òúu–R«Ó(k£5û1àâèo»¼ôh÷]´‘²ÀbO{mÊ]ÉïzÓ)±šÙëÙkëo?÷‰vW)•6þãjsþ,j{dÃÄ,"‡¼ç@™ë2UJÙƒ²ü ¶Ø²HãchCýY ʨzÊTvu4]¯ а?‘}¤e± óAYïü5Ï“´×YõÞ2q}LžèáÊÛzÔijd7Á#r€EŠp&°©yd*3{-9 »¶Ü?½¦9úp£ýÔEeÂSH÷‹`5ÙÊ'ø¸EE¯.Ÿ`<ÑFëðê&ð²¤nÇ ên‘Jý,¡ SWhÕö¤à†T"9ø°²PÂÀÅŒšÒtZA$€=¦©ëûÍD~GD‰ë"Kh1×õ®íEêòGŠ*¼ K€5¸]Ue§¾%ª1ŒuMÊ´ar¼~!Ö¥ rsô%ÐR´ãpÌÉ‘ûGáp¶ÚÝÆv ‰ŽI ›ïMú=Îl\ŸäLûJC³ãëôÔcÚKÚ[åçqÇ~·`Ý[5ùÖ Tì¨6Fß ïœ¨ÀX¡:7 “DÙˆÔQìd6+±tžã–ËØøá¯ÃDÆœ¿ ñ£¡º9yshòò_xWí,ªáý`ýº˜ÔDCÄcÃa¿(¦«’¨`Ë#ºë<ÓsàƒS´L^ÛÌíÑè6jdäü“µÁ‘H=#S3+MNLÔH±Í Œ_/¯Ä±úÑ fêOIõÕQ|˜[ø$.;+Z™_&oKMY$#ÝÒ—Ï3TÞìŽNðÂW¡/-ÊÞÂZ^,‚L¨s¿¶˜ñépÅ)VÁk6ß½–êÄ˧­9„®ŸàÙÄ›}#0¿Ë»‚µþÒ¯gË1N|Ë? G׎ùhÄÙ·Ç¿(9ɪÄ>Ÿ<§<ô³ª?”NåŸí4õW@upKN$ÐõÛQÌ1âƒ/>ü6Ë±ÏøŽòYV.çKC„> A¤j³,!ÖK„VOõD0|Ÿõ;”<>ÿÅá/WcŠàšú~=fÀÃÉð„_ ][BL,«1.¶%Fu¤!3‰Õ&T?DI1®ò™¼3cõ¾½!6Ǽ¨xýÝ }e%~d|¶ к½hü6G\MTE ôÓXL^¦<¬Nj'ýŠD •Æç’Ô®6 —§ƒÂ*´7ÏÛ RM}bEü‰š•‘9ªßõöXtt?îSKÂ|/ê)3.ªô/ùí¼ F¢÷³+pˆÏé0þû$>ÿf³íö(—›êkp[G`" iW @]j“HK8ÉnÕ¥XÇ5‡ÿ(¦n’ÁúÍ^Þ{ÁÌ©ëÓO¥ÀU±FmÎ L³3ÌK^‘Ò–5P>Œ~I²WAV¶š GT4O’9Bã¾GI™¡K±ØÒT¼–7a‹üÝÂ3»ÃÕnÔ} É-ä U“¾2='{c¢ïŠÚ76ÔÈ€¾j¤H{árÑ'¹»0­`b¤iÈj†yéí(ˆp’î4øˆŠî<¡O!{› è è¥|9‘”À÷mëpgkS™ÅÎ'ÿ²¨=Í>Åë¶î ÏÞºŽ1F!ûé$é H%ò3ÓkFŒÓ95˜yåk4}ù”m5«Oq¯Ü1o"+¤LvºSIÞ—ÞACÝk{ûz8Xžð**ÕŸˆŸ£»·›F·¡sóE˜q_É'̵˜y~I™ÞiæÕØß´(àkum¯ý|^®Ð0²ñ 0;†ÛÉÛÎB(ĸ0iéB*YkuÙ‹÷½Aîz¥WÕ,þ2wfÀ3ªâ°ºŽ”©èÀqþʃêáS÷:wÅû˜hù¡ —Ã…ª¤¿øð«U¢‚óPð =Õ«GKhõ3¢yÑÓƒåõXçiDµ9ÈB«I7%»"'V‘Ñ-8Éežbýý'pVdáe÷¬yõ.4ÓÒfvCù¬t >¨Ú$’.‘òS}¾¡WetøD,Aúïöwpïõà%ßð/øãöXZ,™¹CD/!Áσ½ð%òg%ãP²2ìa] [êÜuo:—£ˆþœZêÏŠˆh‰þ¨ t¦ h’6SÖ”ád»æ\„»v›Tj*ô¢¾ƒ³.›ÞîØí#N¹—:Oß¼âÂ>ôøºûýÖýnÏíZ•äVÄõB[1[8ÑJÈ+;¥¨ã°óVæåÏîN#ºV:ºÉ¸åólj~ÿK3ÿsp¼3þ×Ô åêúD-¼áé¾/ÃðíD5‘˜÷£~‡ H†Û¸dŸp±H€„ô}ЭmÂòªF¤tôYÒ64¤«ÖsXúÙŒÁ6_Ÿ\¸¦° ºT~èè̲ 8`Ò/Iõm_~X¼“™)Õ™êIÚ Š÷ÆÝ› ¥½ôÛÐ)1›z¾gÙ>µQI§cˆ:&¡³­úgý"Eª9:íˆLPNÔ®ÖAZÿ&7ΔƇ2”Û\²\Ï:e¿t c›#×?d¯,þÝó×xRsž¿éL¦èÅ‘ØÀíjgèHå!1jqýñ,ðmÊ»½ü.iãöwð¼>ctý~y¢Íª)LrÝõÃcë²ýÐc'I8,Q+.5ƒ(І”Ïr¼‚EØ\5B\RÐ]¤H4µÄ,Ð=wýËôïjá:€#(­¦ÿÊWåuùf.mñá1Nû]©'jP»T.¸p·¸ïÇ5 Nõ÷%öm& š¥ùl×dWY}o’’bû’g<šÝü¾ê Hy„53¬¸†-&:¥èW]ì¶zº­nÙ5éáÅGÎ@ã;[ާyC¹ ;»Òo§±ºŽzóDµ‡“DñªWxV•b4‘(v¦Ië»}ÏI²¾³DŸLÿîø¾”‚6 à³+µžX¸D F;G<õbº¿KŽ-K  è²Á('Ê¡5æ’"—¸ TTY$,úy¨üã¥ßA %Gå|zžœË9‡ « ]üœ'‘Ù‹ª>%F,Ÿ¤Åýöý£CÝ¿µª}_Óßü6µ h^œ4Êч¿OÓ£ô› ë¾)#Føê* "gc Vc¼ŒµöÓFúé SH-ãz㈥‰ÉN¹ó)œÿª¨žÙЬƒoëôú¼¬Ò›Cöì£ÔË|M…Ûí>âÐP2ò]\r°@b‹(Ùk9„ÕaAíÕJàViŠXá«îw2‡P*[x‚@•«gxø®÷ôÎðvjçýA~ÛB·Î¡  ®7n@ &Ó+¾œ¸”ËgT˜Aé2(¹þ£çñDr;¥ö8é4úëèLªm© æÕéYV2P‚öåÙX%)Û˜«˜X:ìçàé’S ^ýp×Q’ØÝ]Œ ÿñ¼õlÊ„¦~PŒ‰E×߯êÆñæ×²4p€5—Í‚«.àsù@úxú.,äŽfÿ)ï܉¶M¼à"cò«Ìx‹½#%#ˆá>ÌR޾£¾WãÊjdc°QLý²^ Î5=XÐnçu"˜sÕ?ö´ÛâE£OåÇ8–i/f»$?ô?r LQïžeÏhu+ *=üor³\$µ€*>­V蕱§îÍ%CÙF(À¢ ¦èÛ³kKjŸÜKîa³ €š¯àÓ«‚fJ[¿Ç«…ãø ¬'==ùòöù’ãâ… NÄ©„òM·ÙçQ¬M†ÏžV]~„AŠõ{+à[üŸh #ÂnªËð)üå;ú˜ELí@É@yÚ­ÿC„Ü[Cï{~n狞,½ÂYç€Kç%|G–Q¦…›¸eý¤Ïø]lCâ\â#¶œîÂCÇùÀ9ûÖCÈþ`¡›³Úªß^Ö;ªŸvÍV©=|Ÿ–[mC£äIçxÛ\äMí]ëçlýÇ+§íO‡@ ‹I"‡¢:W‚ãU¿KUܨ’[äZþn‚Xf5È±Ô E]ÚÓHUoÀME.J#÷œ”!N¿Òµh=¸F‚D8Lã¸mmŠEyËÚY®ÑEÈžKfRÝæŒ^–zm´$ˆª.ÈkOM§M‹diŸO&˜]ÄÈêåAœ}ºÌäò¿5Çî#aqÎT‹ëhaMåW°æJf\>ã„tæ°žç/¨Óÿ;B¨\³ñ6";Ô:¬G—d`y=ƒÊšÛ…‹ä¾4]-µWXÃŽß¿ö˜¡ R°ƒžQØ€ÌOÞ*{ØŸ–â?6ƒR"ùÈWú}* ‹ lµ¤)Q³Tù€/”ì²+﯎әkÔ¸ò4'­£MfIˆ‡LÓ—Òºg' EÉ£ µ}y^€zF«_pï%סà‰WKº+›AXÞ ÈHA÷þ”»G“Ê uí'péc䨪ü+ù0î¢-Êe]EB»¼ÚŸ„×;#ßiÒ)wÕ틹ק„“Ýê%ù2ý¬ÈN¶¨]›Fÿ:¿×fŒùÐC òW·a-{º%ŽºÓp¾kGf¾ÏÃÜà®~ö¶cBÞ‰{e5Êq_±ÓLwûÞÐi¬&‘kJŠA~‡ ™[‹j»@’"?,ú>”+…BÌÛTÒb1›@’Ò~™¬‡Ž——\²h¨ â´ÏüŠúÑU±¹ÐñŒ"@¢§JˆJnX>÷ehœH*'´u>Íùõ}PA™uˆm$üÆÚ Õé8°Tè=æM ‹ß¬jG²5pzwö²ÞU¤w‡5œîJxëOŽÑ@&¤ò¦àU¦‹ì3ºVœZ ƒ>ka"„dåÛo„D6³ØƒÍ`lQÍòÇ4S}MÚ‡ySÖéÛSþpVM[øžé€âŸ~["áz‰jʉ´®y/ËõO³èÒ&:ê^ú¶;íYÍëhVWúÊÆSL³øæOíô:*é ùÚtíî>¬ˆ {‚a²#wÅM§/°aÙÙ>Úœ´œž¯úƒ SGIIV ¦Ûhº¼?$qãh¤Û³TV`7»ËN!>$a]5sŸD²ê`çÒîcßí?±=\jIÂéË>êæc‡´6¢÷-ÄÕ À~UwÜaÃ6rüñy~v¥$‰wÇ–ÝþÎß§dsügã…ô2R¢Ž?Å! q¯ÄÎÑOô‰;’¥ÓÍQÿ± ªX’ÖUãSŽÇP×ê]¨ÚîE Ø­D¦—)–ÊsZ-мôÖ!?ž+þÁlêÍ-r°°j5pKù¦ÇÖˆzçáÉÚ;-¹ûP¯Ç™_ˆ¹ªÏá¡zÍeXá’;R"«î…(»Ê~ëC< EiÎÒïH6V˜' - §Ö=ð-í'õ»A» ÿ@¸›lÊ®º_UP÷>T—£\é¦T×cϼé°úÓ›ZÚœ(Õ#ºô`>±<èv¾Ô÷ Aø— VÇÒûÞ{œ[øºÜ׿iÍ]¡þ7t÷¨Ô#Õ {2Z‡ì‘`ÁÊÑÏSºT×ôÔ´³xÖ <óLRâ_(äëãæ²ü88º@+ìuÎîŲjÇy-[ÉßÊÕƒ*Æ¡e|>Ì©TW­ê’qÍ] Ð~h…sn¾,ô÷ykUy|“†œ‚¯O5ÄxÑ`§p`bi6w\MΜ'lðaÈþŠõf†n–Dæ¬í_I¢ï-ü¤E•µu†Zh—æ¿~ ÙÊü÷Vb~-”º´x–ßòO¶Ú¬šÏîýæ¬Æ f2”SNS2…ë‹Eã€4 ï¬W ÈíƒÆŠ¢æ)$…ûµ÷'©=;羟ò¿¯yÝ—.â2çNˆ¬±L'†wO°Œ=”kÓhëZT¤?_®Nº*ÿ³xH¦2@†(êÏ×ÂÁ^õ›ƒÂM;³Åó ÂPTÈú)ôµÂçÁs¯[ܯß‚µ¶·e&OÜMôC˜±’ÚÌÈ¿$uìlÇÓXÎõƒ-ñ.ÑßyMvK†¹¸zo§Ë3•ScæQ·@¿ÛÌn¦ü lØÜŽmÏš\]ɲ7öJ˜pÞių1zÎȼ¶ÛcºJíÓwÿ‡YÔhû°D …ø,’2†Yx›¹Ãð[Œë_ÕÞÉðh(ïNw«¯˜ Xl­ôн*-Ÿ2(ˆOÒ+¯ hܳ3}ÍœèxÌ©²Nëmêoºá†.ÌðñêƒMB±÷%Ê:SóH€Ù°twÆm©äw††k>ŃúÍ|œœ÷ŸSÊ£ÁJ´Ð*“æ&!éÇ×&|c†Î}àm& 7lèb&Œ(Ô HôqF\.¦¤@±±tÓÕ>"Od“7ä8̰Â?ç  ó§õQ"¯Y«‰k0YtˆrÕ,Ø|ˆÿ”ø¤‹g„E7²OÞZuзv†™ÂF —¡ >¶ùAãF6Ùæ‘1žÛG÷å¼é"fèi¬f ²â5ÚÛ;â–½×ÀP7ÌÄ¡9××€£¾¿-Gj/ÝÑ·T7ABƒáÛµ!”¹®)ñWû`ü ^ñRåÉu×úãÞ1r£Te´Ì*“y·ÖH|-}{p³ÚKG®:V5:rÃUTh°’ÕØ±ÀΣ‹=¼AÜv8Lô¸§iÈ$²BífÂdÆûÂ’,àÅ%6nªõ*àS©»Î¸†ï‚ÎgkÜÿ …§*(7Ô*ÝÉǦ-ƒzç—:pœ_S““(6/t¨|=-Dî,èn¼„uÂZÌÌåñK™CƒK ~ຑa(Z®K·wÅ2îÒK×1äl¯¶¼öäÊGjÛÁš E<3Ä ©¤§<ûz®QB-ý» tÎrí»@FÇD9àƒûku§fáî/ñ^•O·ÍÏœ|†º»ÛØ Ø>ªJK^Æ u_®ý"wú_O>øóQjw·\,á’ ’çºîͽZt £Êi6Ìм¡˜N¸ë-ò‚…NXòΊŒ°ÒÈkßi¥»ä!2¦C°¨uWËîü"œ-i-äXE~ïIó° D§Û sE0íuéu_çåb'^GÝk‰6L©°b@ž¤¦N–úÀk=†gÓ©G`FH"çx ¯ì"Ò1¿L}pB7ÅÄY”ÊÑ–>òDgÿ£™›§‰ìÙeä¶™ åêlÂý°á.*ãñëŒõÇ ÀƒÑaes¸]ò0õ‘PâÒhlŠ›>жH1ãéˆsÍꬿ0§½ò†|tlm’®>RO0!©)¨ÇÞžò©Z×Äéc¯[yÛÑ „€¥s)œv.ùóþ=ï•™ã*‡DRZ8! ÁÓãTèзÚ#‡Ò!ö ÙZå‚¿íL¢¸Oé´q€RÌÑR­&‡ô%ÅY-U1”åšœ¬±KÎ?{8gp.‘&ƒ½aûÃ->C}63`ü„d²—fhä(ùRçׯí â•»j<õ32QÓgIæÍe7zQµ-„ö3+̵¶~…(ôøíIäÏã”ÿW•/N¬_­­R]ˆœ;.D_ôöS!úH[pÔWgªxæsš—mî©)« XÕE§KzŸÞîÑN×Ü—§ëM<­/(·µ”;Š[˜lIwÓmŽx.gÞž~"ßÂ?›ÛF©M?îÑè+x¬•Õ_7•½¦x˭›ÍÖ94Ã*ŒF¬¢ÎmJè¿ÕVÃÔ“1ø¯hAÈ7ˆEd÷¹h‰Ç¿½µŒÞn)Úј¦ã baK°ÿª¤ {\ù˜m8ÛiEOµY½§(iRZëöÓh‡ŠÊü…–)4ùÎY*Y-ÌdÝŠí ͬ³¹Š¦*«üç6‰¨ýôû#úÝ+EŽC)? a&¡§K‡f»ãâ®ò›«Úåý*nr­äK<˜)lýŠž:-Öò†¯æ/úüð8öœT7Li‚+ˆ`é³ziü“óRÌx“I?\jeÀùƒ‹¹ãcÛÚUŒkõHð"Ê_ö€ÿÁ±ûD°ÿÌ–²q«‹_Öõû?ROÛåä³5Âk ÈÆ˜ÖG^Û ÞžB pcâ89ÁNã@d°•}‚öÅt@]LÃð¤Ab0¿éŒMÍQe$39µæY»gùŽZøÚƒÙ/¥­«Ä¿O+æ(õ‹ûNôÊ4$Óµ±ÄU9Š{å…`PMckÄ4{N³¹›¿ÜÊ—:Ùª…#Ž&MR)‡À¨èdÛ $„ Îãý옚í:õ§!á f‹¿}7—Tþ±`®)¡yÄLKÔŸ“Ô÷…°"¶ó’ ‰ùpè6¯>¢…@ÎaôY¬·v· ÷91Ý`¹“nŠÉA9tEž®ê·â·âŸÊD5ä938ê߆ã f¡’Ý5AÞâ“||Çè_©M¯g\˜:¯!J]\ ÈÚòÕZ„ «W¤ÞÀÌD›ÁÂ)¤BðÀÁE'¾Ù_h këÉÁ}ã Ø’ Ϭ2—Ì%Ñ/x§jëG½åSì÷ªt󉞉îå´Vs4ü„0Žq…ÁÅ•½ChÝCÚ– 8¶æ~¿j±Ñ3åÏÑ€º2m¤"Û,¹ÚOýàVøŸ $qq¯ÖIÌ2É£¯fs£¢¼š{BöÅh.ÀÎjÑ:#Ð3=„-ú! R æoŽÜ”+™]Â!Øë™G†V‰ó~ûsª_³'ìÊ1ZùÜNÚŒ{•Noº™­½XíX`çvkÈh_T§Mw¥mmó7§‹qù§™ÁÆDa$E4×é{(oê˜ë &‡nþÁFM· 6h 1Ò*ŸOd…õ5Äö"diänu€:L!*­‘f÷l¨ÞüøóÛì<Ê9+@×ÁG±»[Ä YÌáÂZ?WÚÞâ$‡u« z.`y@5áIïÛxoðßo ˜QFäiéû3Ã:I2 ‚އms6U r·¿a˜7½|('e´Z >‰s¥®×G¢¦üø~v5Jy(j^ãÚšËLMNÐEð(#p/cí'ô’—G…ÙÄ*0(ýãó¦Ë÷ˆ1d³ôà =SbS72ë­´géu¯V.„ÚkršNd¿ú=˜¸éÿ†v¥ò~!YÖú[b2Z’¯[äð–]^@)^ÍòAÃÒÿ) ìÈÝ`‡íJ¬ÂS ±rôß ÜŠ2p¯TÐöfc¶IéƒÎÁbÏÆHÓ¬Tàϧmz›Ã· ¶ìDÀºþ±5AþY 5þaò@ñ±Ò½=—z$DQ_óyG/‹Á^ª1z%Ó“>ò#Ž½Ù«ÖŸŠ+K1idAâµÓ‡#ÄIººï[ùlƒ¼ÔÂFTúsôþŒÇkµ3|yÑŸÓÉVý'2 G|ˆôlÒf“CþDý·Ü§¥Œõï¼,* 9l¶ý¹Ï5ì|×0…‹ÈYÁ`óD‡^f•Q󸝡FñÍÓä—ÿ2Ú§ E‚­þ±·’"ª4YbÙMªZqEŒëLiì•ûwPNêž‘iMØ#‚M¿ÿsŒhóF;H—Þ¤4×ËÆ ýëqbõ~ï¹yOò™CuÆè ,:Ÿ¯5¹ñ”±Útû¤ÿ!š¹ÔVÔõÿ•$‘’U’A~Dz— Ðrq“RC+ IRØ„Û-íß¿6ÊGèØ½3–«Ä öô‰a7æD+ ½r´ "tGF&à¨`‘ hä2Çûs$¹gL×sh¹qÉÿ´YC¹Ç!îîÛÌðO¹Ö•Ÿ”¼ãx²ÏyŽœ1KW¢ÅÐÄ»À³úîŠíz€Ã¹ú¢»­Bç'„¶?cÕÿsEõC\ôpù;Uà ¯'§ÕIøˆ,pKzwuNótzñ:GöÂý!¿àð…¬©µO:"þÎåaÌžÌÌɸ© ‘`TÇGF³K(B­ $¹Ö†¦r…ˆ¥Ý©’ÛñNF/8®î’-£—äÔÖëÿC¸ŠJNZw Ö¢çÂ܆Fò¹i»u7rÒYùtˉ¨—æ=þþ Ë±àŸlñ6­‘Îß­èÄã8A ;hŽaLºñ¦À¾³úiމ«ËáGdûÍz áOÞ8pz—Ý–hSpnnx÷Dõëø¢7)Ê)¨éÊŸCz½Zˆ(77pm¿ŸoWâHM˜¨qË‚Kù €_$)¶û.§‚ävѺB}~BÞ‚;të¿Ú:´!ûkN‚ò¼7ÁV1³D)±à²0õ ϵ“Ü)ªzr.9_ ZNÒè‚S¤È­J*Jx»{̇ʸPûˆkH®‚wšµ,ï—{¹³Ä"Úʾ½FöYš„˜#Á›g¹xâ–u9át¨~šÆT-=:^í…Ù|;n?>ÄϹ²³šŒN–X f;Ð2’+ÌNViÇræ fb¹Š{›ýB6ˆFÐTZ{¢²sf¤‚ (á~ŽûÝb y µ!ö*CÑgNà¢"ºÑbŒDÏóÆ}ûŠr;t`'n±öï,/h<½éü‹z>Î?Àà̓%ÂÖ„vÊS*> ¢Ø›b–§:ZG˜¡bÄËжhÃ4oÙo<éöÑSÁ¿p¬¬Ëßê¦w§çß™0Zù5jk;{Š<‚ÑŒíZ_ ”+å~ß?Æ~WÑo/¦ZCúÒ)Ð×PåÜ‘Ë-¼“ÊšÑ^Ü» „ê©ó Á¥³1º‰ŠX’Œ÷ù+Ëß—^õnÌÅ?Ð 5ÆõûIíƒ6“mØ:E²²,UäA² O^9L§dÞ˜oêª>€Å5'âàCö²(%Ç”nt˜‚§êv»Ì8ÞaÇ’¶ixü}È2‰GEø·s'åÿpÉ/”âÙ'kSt®ÈžÝðÐÙÿaÄS08Ö°©CsîÔiꙪ–o‰Hr–îz~v\§éwÕ‡y6¨:MœV˜Ÿ…;e„ùCõÞ{±Èig ‰~L`+{M‰çËù¼’k¡ûöCQ:!œÁyõ´ éòÍâ)ùˆ^n£"šbdQ~üïw¾–™Ý^í½ó‚…©úyâ¢ÜÖ)"ˆ ßµ,~û?·çÆ ¶µuç1†É`À<îty^Ò»ÿ’G¶M Á×® ,’ÅJ:æzKOX–*›4‘ÞÂSdfê_øGfrËìô osð#gÆ¿ÌuäÚBõ£Ýžæ9Á/ýugXu¯Œä '„¢¬V+`*÷-oxhî­mÒè™ ï€í°NšRSÅùR¶w—]E¶ÊQ^“(„*)’›Ð«Š¡!î䜻Ó§%rCг÷£>^ëòZ]D jçÅÊL“°×[‹¨ #;„‚Op¤BEÒ EQjá£áš¸½ã üÇ)È kzÙÛ?–ës™ÆÂÉRwš„ðšÔ¥2XùŽqóÙ’… ú¤ŸM¢‰²ŒÔá•.w§80û— O3¡zôåKKRTž5µÌÒÍ¢$ Ðüô¼¾)3EÕãhÖ«‡~Þˆ¦+ä¼%#öÚÅîo\¯{äý|êcà‚³ M1¯÷ W”ô3¨! ¶]zí¤´ äwÉ?œ®œ$q\25â•îBôÅH ÃÁ—Ω™b¢8ï°¼V´™Ô5À"ê¯z°UCö tP!Þ~¥4ÛÛ+Ÿ×¢„…X—ùQÁ¤>'1ØÓõÛÏP=ü±úÔ¦ _"*Òg¸zgÿ<–(UÔY]ïyòë?ù}w9õÔ ‰Ø‡t‡| /t‚Ž`’oa©²ëûœÕ ‚ÔCg;¼@6Btþô/Y2Ië+¨JFpa2¾Äd&TÜUt#(k{ÁaÖÞûeÑÂ{ó«•Go™,¼ô ¶áe°2Ì`œøc’#ìÊB³SÒ¡å £ºƒeMlAéP£”NUDjjÇGS¡Í,ùxÉëGª´‰ÎÅ»¿D>†±l¶õäFJ&G"ÖiGÛh]Þ)ø{X+3°Å“žg#j»ô'“FQÄ[оÐOè­( ±¿k^Nf¿ÝÎð¥B{!;WͪZñÓƒÎ;±pM¬¼YD3ÇLŒbަòMÃñæÅõÄÔpX·}C¯ˆr¸{~ëf×CPð¿áñ+ôtª47¦m<ÿ€rû_šôEí‘eÉ;”Ó8Ì‚#‹l“]Š'úü§Ö˜ÆF5ßÉyõ—Áñ¢j/"^·}9q–ö|2›ÇOyìØèC“8×xÿÒÀ)št’0Dqó¸õŽÚ`fž²Áâð‚Ò-]O‘þürfsó {xÿ—ƒœWeOãt’ïPR‘"­<^(moüû‡™8_ƒRóP©|t’,­ãÏåOnG`x²€À´Š€–m|>9Vz2°Ù§_+5 ysx›´íÖìeèå§lƒB²a ¹™ðàL¡’»ÌèrYx·\v|¸’•©Cº™‘è­¹îZ†¡•®4ž˜±©Ÿ€Ðå>¥44·ä-ÏÚ·1áX]ù»Ìî›#kX. yµ°C½À”éü¼Xë¡ÄNØ|¸˜äL˜‘=°&€7 Fé(+ÓøLo›íÂ}¢ÐÖØ>ˆ‰é€¶ø@òò$,š©tñH\Ë'þGÅË’ Ú¹YÿˆÂ§|¸X؃Ù$iRÃàd;ɨۣ‰(éø÷¶ˆé~R‰™åÖ*±±‹ C(Φ:ÍžLc`[Ü!c‘ͶPÚß?¬&§Œ&$â—HóαDä€òz?SµöÚbæM8²[ÃÞ 3s rbÀ6r~,q@>ª8ó¯Ç΂Eó3˜áî’ï® Î)ô[š£‡ÓÇÃçq2ÿ¼z…ÆGÀÖ^ž¦Qî/ƒ¾EÛ®¬*ÏbqXy’ ÖÅ[ÒžêëÙ#ë-ƉéѼ0Æï¯‚Ó±$Þq³¶qwU˜ä£XÇßÇÛa¬`Üí­7 ¾7¶;0µ‡†µé…‰O±Ì…ÍLúú$ºs‡ÕCõs²Ë>»qìJâÕÂIhi*_›=öÍ–Ù´»@"xÏÖäÚìd„1–…3(öÔêIá#&¶"ê¬1ó‚Œì™‰ÖVE UýÍ Zì±? \ŠÍçá•H{1{Iäþ¤.ËIŸ«Sñ,€È:úž ºãåÊ^áÖQò›øØ–ÄXŸ}-#9î¶w>¸ê,èf³¨œÑl*™Íá¾Ý£òâÅCƒq)QkG#  d ù»†PºÅMç«i “Ü»ˆÈÅWÎÝÇŠmŒ¡u’زQ5MÞ€éíç ³ý¼ò1>¡E~pÃȳ¨×xðþŠÅ@ÚRïÓ&‰ª¡|‡,½ó!Ìú˜bôrê>=>ïúPξq•Ÿ\ òÁýÔäݵâÙ‹™}}ìåk/wìû4·3„ ¦G„NÖý(éã áJ€{)êuZEiécµ«ÔÞj0åx±õ£W¶“¼dØ X¶Û,òÚXq(¥T¿‘èã:³=¨Ä¿ÔòVÛàœ> ¿r™Ã\¿^“5½ßvªŒ‹£øçé·CÅ;ý¨‰‡·ºÂD=I^£pkÚŸ Qiòz$Íÿ4Ú·;˜¹›öo ©a“–ÕUòèÀ¢ÈЭì-éû²ÞÇÙp£<ÁðÀ4²Áv.&>Ø(Æ7¡¸Zƒ –w—´ÖÆZ– 4ÿûü5 ~F·gd »gò˶@0òõ&Þ±Ý:©úòÚÒ˜<ôðð#ÁObìÍ ³ ™lÉ‚ÈÉ”œ\_²÷M^îÎéóäYá‡wÒ”ÿ›U2Ï “C-îJLjE:ùÛŠÿéŸe4ª–[’>Æ›ñušÆ‰ßE•Z²šÀÄ¥QL£Ÿ£þýå-ÝIj3Ó†Rr¥yó’ô¦°¼å²FönÿЯ!ñk˜ ϺÜóÆhºtÎöâüÉÀíðË×µlÝfâûikQy« ©Ê¡/†*Ó<ƒþôOÝUS{唢° —°ŽÄd÷fÜŽ’Ô÷'‡šó7xž-ð :7¼h31~¼¤D78 A¦Álë_þïGaþ®Ƥçka¤“¥ Ç9IxèáýoGz V¸„¶çñ^nxfŽÉ7KîP Gßá ¥¹ÝÉ´¼®jÖ¦Ý9Ã*&Õ§>hbF;`z 'Ò/ ! ð¢5'ä–£š!E6tä|OoSÍw œÎ¿h ò2ÞPF4‘޽î´é÷ QĘqì /mh·'P¦ÿ Y=ºZŠ0eȶ´e3„òBí«,×YéI0Øò I:ÏjueL.Ý>5ÐuðÀè¢ñ©BäÌP…ª9™•Ö>uqtg.µ€zÁ$Ì7Øs@D6“G™Gϼ¦žy¬4ºì—¸°åvv‡Ú;êÒps5é E¹ EFÞPáÁ¡‘?¤lËü Ø-š&cÚåEÔ˜°•™ºj¼Ž˜-‡’¾]ˆˆëþŸìÛd”{þ×ãr’„6µó%{¿=ú"J»—n ˆE²üÏŽáua˜s5o]~¨Õá«k©IPíÆ^pÁ “\nt†* ŽÜÎØC²ùj3žl.âãÎŽôkË2IvJñÔÈ0 Àò½†ÄbxĵÛ*![zÝ aæ$Sh4€å´ Y&¥>aà˜ÇŒI<Å8ÒìÄ]v†/Þ'ZÀ²ú¨H°±hÂüh£à"œ _¢w GiiRy]¨uýJÕ™"ýò×^-KXéüåªm[â)xW¨kŒâè ’9 {3²!ÆièÉYD7v q˜ÉZ;]! …(äO ~™±)abpJYïræô)üÄÆ?@6~‹± QäQŸjhXK;Q.ÆKÿQÉéò¬­ÙG˜BÇ™º¶Ó¬„ûï„/nb{냕2~]VªüEÕ=-ùIÀ{«K™H&hÛÍò<¢ó&:Ì¥Ÿ–ÃÝ€IS3¢÷jggÈ4˜@Þ’¯Ø©SP3ì´[Š¡XËJ¢É°H_MKøª Î3LK„éÎvö7|)Iã2¹9ð2,ñ8B3q¤HUÎK8†ÃÜå¯ äÿªÝ0¼ óSqgCŠ×<-ÆZ“¥ŒL½Os3ãw¶“„ä´jrSASĵ¯Á  aŒ^jbdåÜÝÀE5® %y…ôsBÈ%Bîíù$ú¡uÀbŽk€"Y KßöÆS”‘E¬à%8ìNýÓsÔ±Ñs8ô»pá*If‰\aƒxäV]¨O^nû¹Bf‰°S…®jäSAçoïÚ•á=É»Ç5uZ2ùŠB+¦Èb¾RÁƒ¨ºF¥Io/šö;Êíg‘^ AkzG¥H®g¥ÀÀ˜øy ‘{2ÿñ2%3Úî1LíNUVbíFÝ‚p÷ŸÉ ¦LU}PÐCô –Œ85 '¼„ô¿®¥õsN?–\%kQ¢jü×2àXï\ùšË÷ÃF~'Âÿ³/ê—–ÕÈ☽¹Žµíç âð OÏ”}{6]’˜5z¤¤²¶ÆœåF¶:Ô&Œ´ Ró‚ï>wͯòþPuwÓ(óË­›x‹`^^ðó‚: ¡9 ‹utq¥Œ3܃/J‚$§ Ùu©¦ÅwœØbZêaÑDz7¨É묜Ûžç¿FÕ))˜ù~Wær¯kmÜO<çÑWrÅCª9$nL+γ©þŒ|øð •—üàBoLÿÏãã†úµH=WJ²ê0Q#˜’G8Y7sý"¡¶À‚u€÷Ø!í°A"ÈUJÇ9S™‰ïó?÷‡¥¯àgüéü ¸­Ïæ( ‰Qöý¢{©Êsén¡'mhk'̹¶%ÙìP©|ÛÅÇb%Ï¥\!à:„e #¶nÏôE@"9´ïiäRäz”ý¥ºEoÝ¿•9ÛrRdÌL€@⌀¦Ö–H¨póÄÏ¢§…xõR+çC]¡ É.¾]ˆ¡©$–ñùYþYK—qp<ûšMfÈݽOoðúîÈèBE›‹o,÷dî@$EÕáU]æXb–É%‹„œôIm…z ŽbÞW‹ëS×…; A^‹V|PÝR“ô“h ^ÈßuM!Tækýl˜\q}fq«ÿ˜ ˆŸtòjJ¼ÚÓ«¥*ÚŠ?ŒzÓ:šÎA®N§c] ­+È\Î:l-gÿ)þ¢•ú-s¿“Ró}¼C:½ª§©s”5=vœýÉRu([I¦‡XÅx—ú»gMòßÐ Ñæã#µ³GØ·/UowYš4JÙ|Dìù-ëgW…Ë0+(Xľ³ÐMBpÝ©•SB¨=íÚ"Â}pȼ)¹“Fä) ¿ÚÃLch àYTÊ2aI:)DÇ%K&íWåûÎ6Œ¥/uFY{}c!ó,³¦örEÚRcõ¥à/Ò±J_˜Y›Ÿ¶•¬xX‡]Ål¹‰’'Cú¯ÒLwŠFàÒUó@ÜýÝão^Ü´3‡òu4Ë¿\R©A‰nV´sŠCGûvk|‰45P®7³©ÉÎë¨îÈ)OèÑŠœ±z85“ñRç%~cÌXÕ44¯5V•ŸCºÖmA±‘áN5×PÓYûƒà õ×F/ Þ ÏÀ_d²¸•;.èåV¼oÈß<:˜$õ‹ž'O«)Rá?Ôñf¯/†ùxº÷J#·‹èT …i›¾Çsbf&á}‘ º^Ä u5$½ŠVaÒ ª|kqß`çOèRÜÑÈùiãùsïB˜ÚÁ¢@¼>œ:ç'8«‰MÅ\÷rêûBýRºJøx(LbÑ-–øi³¤”»á×d«@('rlZ? žb—¾’Ý*ƒëãGÙ:ÔïÅp¶O/s27y‰½.¶Etv ‚ÙN¸Nƒmwy«ý½'“sI4†.Rz©w ìj)"`áUQZx­¬}eNZåtóØÔj× tBK$læácÔ]®ÑCKd°Ñ_Zå—¦è¡ þ ËZ¢e¤He°D•Ì ÒeÄž«bÝœbˆa‚O_ïIÕ'œ´¾§qu¸Yµ¢°áÖ› 2 Zcfû/ ÞT†LnÄÝ$Úž5UÔ ý'¼¯zt`ÇÔnɱÆéÁԻª…yMÕ1/pªé!h;™uET¶ìÜBšÑ©uwž”¥ýeZ eŒ,; Jta¼Šfka²Œw>TeuË-Uc2Šþêêkh¢o˜æeŠ(Ý#‡û8ƒÀJücùÈ!½â¡Ç;"Žf8qNåÁàA¸?‘Û_v!s%:ùi¿ûèÌ›?§8ÿ N#„îÏ€Ÿ]e8 Úû¹‹8|×› ˜“ñÀü(²å©vÊE´u¸MtU5VŒPåx'c*Ë|ùzÏ*öO ìà×´Z² GðžÞ€¹¬ÉûjHv錔¥¾‡ šÜ‘[Ç„[côÂÇå x‡^Rkiû­‰Ã¿íláv|*h=S%‘ß;o‚LôdßuüîêUI:ƒÕËÈF“ÿÔ׌`¢ö(“ÒêT›+–*"a€T5mœ*ÙšÝuLêoÏê/³O]ûµW£óv­§Xü´_ýªn›.‡´ÁÚÑšŽÏ^/CþJ§V4Š>¯ûËßœ`ʶðUE €a÷ŽbÜäaŽ›UÞ·e'젠Ϥæå蜢a¶5縸AòÐhHõ»œ©*¥‹´.–Shù‰`¢h‡¿>™Þ>x MÛ&qŽ67”öÝu­Áõ¸û?YU͵Ô5TAà´°Ç8­…£ä­¥¿šÆ‡{éÞd¨®ê)nLȲEð?3à]-0~>º&•³ÞN…”Èù‚{W"L«4.ðzˆñѰKK›B‚ó8¼û ï}- Í1 I%1#Œuyþ6^«Á*7)™}”ÎIø’º~==p¹¬8v¥ú¾Ý´Ê·[æ€ñI©,V Å`qZD·¯ \-;íeM~êÐ0_OÀ`ë³) }+ÏšîFe~žLkD·¨ÚÓØ0q£öÆøÁ‹íU1/Qöžß"½t$Eõü7/,qÂ6âG¾ ²=-jÂo„ŠFÆŸ(cé‘("jÐÍ–0ßXŒ†tØÄÕÊCI:þ ~¢ëã×=o;ºÇtĪí÷!Ž)¹úÿ‡îšÃ¹Õé½èoíÄØøjqnéËžÍè‚Ùf讑)»]€+N·V4ÜÍULNú´ÎËú Òr¸‚­Ô>ßR>Ȩ2+ECy˜ÛˆŒWÌ=ºÕ¤™+$û9òÙµFŽîB­&?‘ …¯`,Úðõ÷t¥+â:÷:>£îSXO/N0-…q©ïÆ?cŠÍŽØÝZ D:–ølAiµ|Œmœº÷A¤n÷£ óã ²‹ˆ‡ÑÉÜã4ÓÃÙìH?|`‡ZLáëj}?‚åÆ{íS$‚ƒZ3È{ô¡(ÈùiÍU2:q9!==£XCÝCwêDÆÁ>”Ó+Î)Öõ®Âáðܘ«ìNš'˜<áäU ®fбXÈ–¿9GV¦óÝçËC8ž½¥óº;?ZxUì‰g!—þ u½EÛûKÒÚyažS9u©“pö²¨Ø·s‹»ë~K=÷ø gy~›!b²SªõèyC ð0{¥@ȆƒåðÉ4ÈñüÅ»XJŒs}Â2Öu1ÀDÞŠþÚBÑfÎe"á‹£\ËéTXfP^p%¯ÓÉÉ‹ºãkÑ‘C0MKضªà¡Ïø¢hÅïöäH’TMùÒds}c1X|ÿšÙ@¾BcØÅ¿e‚qo~¹?MÎÜzö­Gp…‡@¿™“ëR·är¨E•›ûJ:BÞYÀéãÓÅÒìj˜úîõ¸vÅA´åº›…Ôhú Ûä⫨‘õ½®™ópAn¼–݇o~!âTì:ò ½ÀWÝÔg¤6âjÜ(ÓPð„µþýc„HZh-4x)©eOÜi’‡‚´–°´rMÑ2‡k’_°xk<È~†çsgª¦‹6ÊéFŽ4q»âö™åÓm<.cŒ`s86U µüU}ÜŠ×"Wf§áì…5å5ô¬ˆ&þ]ˆçæÉtš‚NꆎαµÓm€ƒ&•[Aqdx«à¡ò€¸˜“mÍe`ßã•SÄQ5)ûÐò§¸ø.äÊ¥õ^/cÙ21Ac§Ym?BôÐúç”=cX•ðf$\p{¿ h¨½Ew«ìñnšFÊç/µ.UŸŒ*úÛa&¯Öé‡"aT³Lõ` Z!þ™#ÑNßò’&°¢‚²Ì×—ó¶98¤‰ š1à» JyŒûÉúÒ“ÝOQ“Ø4ÙŸEc;å”Ä¿êôÁ;Ëÿ¯Ã¾G$á%­Y/°ÂA]ZùýùݲÛ^ÀF]™T4Š#®ë €?‚œã Iyò öeiTÜá!™vj§ !•–"‰¦·h¡$vA^ð2fïÐx¤±xø°Z'y‹ Ä-ŸweþøÓæÄ˜£‹þ±ð!þyõh6µHŒ}îuñ{ã3×–dMñ Ýb_1žwsîã׿wEÊÏÈ6Û¯ý€×Ý jå¦Ê¼ZD}Àñn’Æ…±Ò£?úîD-µá'ó3Tióò—¢¡2$j7?…#8„è€ÁÁV…VAVž®Ž¿cû>Õ\âˆÖ+Ûïȶ‘W1ØÒµÊ…z{úàU#¬4¿j‹*—‰ñèa†1šv*=3pCE#Åd&úéVàTù¸’Œ³8!Ä¢9è k¡YSœVÿÿ$¥þw°ã‰ÙQòý²^ º0 –;Û£Ò;ÛóŠâêA¤*‹íµoû‘ñZ¦q†¤7I üž´n’EšIÆÝ3Ë®áº*7@zãúPo§9,1YêC§{ô{j¶Ë[Û1ÉK\hþ/vêMqJ|œÈ6+AgmÀ´.àz BmcÒž ^wH~3{T‹½úÅÁöa.4éi÷ÞÌ~±ZF¡h?˜=NL÷]@¼|LÆiTý¦à´U" «Æ õI”å-ÍðWAž6@(ÅÅ,Æò*j/M ,6+ì½ìo®$é+ºœ/µ=éÅ_;#€£DÛqЭRO¶ D0PÆY«ub2…Y“ñ1Ö¿wíž“vC‡KÀ9Wk„OáëÝ‚?%—árR/ßKÏw# ³GÏjÒàO†å9jƒëܽy$µ#<µû&ŒZY¨&DU³Ë)ôç$·…ωôã%*xlT½àÝ»Yn÷Ù¸+Ôaz·/‹¯­rÍwUÿÒS2ª‡ªnHS ‹¯ ìo=çú•j‰Z2$J™ÞbêF4ðªðEu nósgGî–sNcAA ?qía8ûM>\* ‰æ¼º¼£¾$CÄ2M‡¥ÌŒŒ3tyOSD¼ô¹no•ìP1Ü-­Ö¹L(l$Nê«!ñ–÷‚Öe]›æ`„ÀÍ–m®òg—hI4L=§Öøh óa À#q“â%Ú!w]ç¼Ö'å]”Osx¤îo" n;ª¿é{¥³Ûg)ÞÞ~I .¯‹ºû@‡¯Û¯…pvÞrœ`ñỞ͠ çme]ÆSKûUR”c^T'»Û¸·íÛŸ^v@²UÙжÐ9i@w¨"-³¦w÷h0?å.±ê\"®ê“YÀLÃctÙnÇÎícövÍØþÊUhâf4é"jÉIdü§ó4µöž=`+¨ .XÑëÁÅVLÅ.^´ŸÞâ­mùùfÄÐàð}¥\THa æØ _Š‚ÖŒ‹§ÒÀ·É}BKúi{oRÑ:ŠÛjÓvNÒ‚>@øTÿ?R=kG»ôÆŸ‚¾% 8øTŸ!)hIW2¾VOÇ:tYÈy c~å òr,G?#SMTúôŵÇj¬X}eí::p+ üx·)S¬³„½É [ÎËÚÂü®Ä 9œ dÞÃ~@Ћ,»¦ÆîàUšëÅ ¯µ\±^‚ùÛ¥¯OÊžö3Õ ëH¾!s°SêÍ ö¼ÞAÙÁ7ì=òCB¼`aM „n¦_ðßwI¬Ö§Y[©“ÖnJ€›eÔ"/Š4ë44øñ Ъ¡sÜÎ>Ë¿šýïànÇ7¬ÕÅ{üå<Ä‘T5€ÿf˜ïZ’±éq—G¿þÚ‹œØ7Ÿh­ÇU7Ÿ>hcs:9݆YËøs¹$}00€úX.ÛÉvs†bëPA1ùŽqþ¡W¹Çß¼®ŽtžØþ(5i'J.ŠÀÒ䫆0ª‚v¼úäZ7IŠ›PÅn⮃|4x ½Â8ë •¦ØMÅ<ÍjL!ÝË­\/€¥Ï'Ì7l F½9?f f­¢äuÂ-ðËBeΤ"ç¾Sù„>Öžl 7Ý:÷³øîD”L¥ ½ØŽ9÷Ì¥êÛ‘úHîÕ†d=7Æ8Œý4œ2žaš+ÎÆtH’»èôY–Yši,S¾42¨i×K;]¢èiØ:© ó yAD+Ñ€ÇO5Ûžð—‹HJ?à±_Ã9âC~‡ëlÅÎH’9ijRÝêa£/<ë“=µ¢Þ™ü‚Ü!\Ã) jââÌõ–•«óŸ­ÒÁŸÅ dæ=Dóz›òò¹:!q¸ H'Œ6ZÜ”Ó÷¡-»66@˜à ¦é>Ëä}©fhműwÛES QÌÝÿ„Øo¬è³¥IÕò‰e ›¡’óñãÁiÉ¢«;ùïð7®-|˜˜åa1fO¸ù¬=r¼×Æ¢‡Ûð¬ë#DËîcÑÒÅÆxîˆoš£<ˆ‰EiÎåQYþ682жÊPÈeU¡ÜÍH«o}ýo NzKm©ÛVšÜ–&¾ÿƒ,¤6ÀÑzž¦#Yç©}D=ý©Ö‹7Ä<ûâ¢Í`¼²Ø©¤h¤.Á±Ów4|Ë]Å ¼' MÓæÓZê’ÊŠ[R* ‡QqÖŒîºþqްô&x½»6Õ;ÕÞ(¥ &» ñ&0ló›´Ú`ºâ¬¥ Eoέ9½ ¢ÖaXÎ%„—{ŠK;X”Y•@ ýh¿1)GT¦,†R[J÷R¼æ8lÓN02ÝlXêt?fp‚ͳƿÊA;ÊZˆø4‰‡yœ±û¦›žò6_üøL%m=EÁ•œÜB2+$&¬]m¯;Q„N·ˆSxé¯ʱ‚“®-R†+/˜¸Ó¿PèÜfBf[;#zÝ·m’’ÅÿéWŠåéß•%¶FøO¥!‹úÕ¶MÐè0áà¸2Zež¼íð èlL„ßÙOø{¢×ø—“{»10³í‰Ï|*Å¢~/œ¹üÀC_FàÙ ÞUî3”që×B8þ2xÅb2a,´RUØÖEVE€¯ 1~ʯirCÁüzKfÇ$1ŠFÎn%Ø:e¨iï+·³Õ÷úL× s™¸Úr3Z°tnü룟xê$€!; Ú~àQI•6%×¥©çR  ¥™4­ÅäÌÕø¬+å>ÿ@rß~8é*ðU5U2¸ŒÇwXqó#/å…·¬!Ïæ7Œêáb¡ŽƒÂƒÇ›˜{H[G‡Ÿ7óïÓF²•ÏFÒ¾~ƒõ5BAX™sšƒ*ŽisÙK–GgÑð±e0À=üÎÞ¬¾Kµ)G‡i,1 ì©F4ÈÈÍs‚™Fv¸ÔýEÎOÒMY¶Êà‚‚Íü7Gp’ ¤lÄÕ·)êuÉeŠk$0)~Íñ¬ˆœ°ekƒv šò¶6)°–²bw#›=ŸµÆ‚÷§µjG¡$‡Íãéo%*Ö5Úˆ!—•çÔ(JWœðú‚ø[*²³‘Ñ,ò¬ÔÇ(T•U GwB ªñü¬¤ïI{ ;üåÎöóñèPD½¹­ÓH/û_8£Âh`ñe ¬ÃÿÌz<ƒ!ÒàÔ EŽ»þl£¦vý寿ü“q(é&~ÐT¥îDOª°‚é8ª”HÍŽ/ðì¶Çý5»ã8µùFÞ…Üÿ †mx½ú{UéŒUøÎ,?UªN£ŒËŠÕaâá Ž=¢|ô³9%ët ΀¿äe6ªP UqP™v Rʸ^‹§ ¾Ø£8V¢ŽØ[>¨Nºƒ‘i( Zeó 48–Êâjc•†ª0mΆ&ËI¡³6t—P^:0>$û¹~üYptlCŒüÙŽt’)î€:ÚéÆr|F|.áâOhù0ì82ë¼7$÷^² é°˜¤ô¿¼«j‡é ø4è’ °æ­D0ï Aª`‚X¢¹¸l»JË=ݦ¦Û¨›ÍŽàµÍÒ©48ž^!³Mþ(®‚ yÂ)Ä5Fn?«Ó£Š»^­Ððl™ˆ5*D>G¥”vﺡ=kÕ& U°u~+{Uåb;ñ;-p üâc™8¹ '.Jë}ðµeÉìô­´•tv?è‚§¤°ÅJe[«¶ãS›+u+FÜPx|zð kdÊ›“BØÞŸÿ—À)*‚íéW9Ô-P¼õqðfYøèH=µÈš2e¯zQÚä×µ6‘9´Žœv¹N%5mió"ì‡óæ]«‘ócCßÞÊK#ˆ§| ‹}V>úŒè2Š”T7t6&Ï õ:|7$\[ÀBkA?üÜÉT³L‰­_^ t&þ5Ôgaݪy0yûô&/ä6UMoÖQKýšT$¬ d0H¤&»õÞªø¬e¨j¹ù9²ï.œôi]¶tõ…ÝU1zX"É]šž ¯«R~²óùEý´ê…Ý¥HT±â(£f?¤6ü4áöˆøÛ/¡¼½üÅcÀ Ú¾·Ã.þæ×BÜÇÉ™š4wî¾uÏwöýÒS˜@«):ÿ®-dê Á¹3cz|Ó+fªäøû$=ÙÞßdË×S0í¢‡Zdf_*è©?Þ^5¿øÁXç_Z5ñ|µ-ˆfÒ8œ1š”Z–Ð=h…|;³X ½&a«‚¦Sê©a8¹ø»z °ÝÅšßDÓ)¹Å¼‰ÇWL±&ÁMÐ%bG¤­ÐF©ÿ…CV®†síÌgÏh‚š—n@ÛTâ £µŠy™ýûÄ\ë$¼Û™lòé>s)}„>l å±)y¬rÙÝ @^ Øæ!föÕT£ÌöJ+û N!Yÿÿ†)ƒª’ÿ ³Á># &ƒšø_S[š€˜k“ÚÎ žõ„î¼$¤¦<¥üBœOu|w+8sà: –aC¶ô4Hhx÷œ^Ñò½èQ<îଌ:)7}[ejÙ}ý˜ÅÃì¿\æT­Á…ðô‰×c/=„Ù%’w¼È)äg#)wBu(|Ê•î0eGïŸî„¸*ø‰IYôÖ¡¿°\ÿU¡¹õŒÛ(¨,ÐŒ²’ AS#qJ­Æh¢›¸%Á™*cã›ù¿ßh%1 ©»åì¹Jt–Ù£„ÚèÄuÝ¢JyÉóVÚ;. 1éTUv„»K_”•"%‚ßFn¾Qx E#Ä‹úóÿ®1î±/èrÙÒ#‰\Ü“†êMêš?$ØoÜn;}žx^eF.TņiZnä•w—…ƒ+.9¶ñã]¥×8¿E«¬¤Ý?ºôjDT­Ùwˆ> ;zoõºFZ Ø!!;$¾}'{¾[î˜Ãp½•c+aG°ÅIaÏ}Žc’€«Ûi½ò^°‰•)¤§ÝtÖ$d1»Á¤§M kéœ+7m´þ¿—í¥“¦]ài«rÊ–ñÖO!Ãʺ’“C¦ ú!hnObýCbÊ)µ9c…Ù;OE{6°úú` 1öùˆ¹Ç|P HEv•a~Œ÷ÒXÓÉ¿qXÎO#‡ô ±„ É– ºÿCn`+y)*Ð~pÏw_Y¿ é„yªªî¢{Ö?@)‚PüŸEºX`›jަÁ¶ñM¾ Š—ŒiŠ ëÅù}ô¾–; ²óèj5jÐJ74ãú75:l»GÂF¹ˆ<#yÛQ.JæÜ„1ËFŸHrwùßL¥œuÝþh‰ÐBíþ ¹Bð* ¿Æœ¢Šõ¦0Y·ãüO›þ–“vçeó8‡¦l ÀPk̹RÑa9b ëœ;ÀÂãEó¢w]2ûå嬉ZÝ™ÅyKäs,]†Î³±ÓÌÑ¡>¢ejZ³Zì{»ˆÿÙÙà Ò‚£Ip$n·ÍddZ ‹¤@ ù®H}ûãs²îZgÔÙ. Ì^[D “ñ^Ó;[°¨+¡@¶)WûlX2/È3}‡i©MŽÃtƒ€$>° FÀû¸·¬û2âO¶[!àÌÎY—‚© Tµ)0jBãK£/E©Ü®Á‘‘üÃT£Y{r2èñnƒøÄœ¨£ÑO»Ð†i÷Òd‚HŠ:Èt^ù[ÃMÏQöÉOÔM7{Ðg­Ía¦²Á>lÂô®jÍŠKZÌ&Ò¸Nû—‡;‹‘̘㯠9Œ¶µ kdÁØ¢áÍ‹êúuÒ Û»@v'xk`’ËhBM(Æ%>V¡{ƒLjçŠöº·P’Ý(—aˆyÀYâ­A'Ípm\ÖA©Ã3ÁÌŠ{Ôs*܈ÅÏMoõ÷â8Ý.Bøbzž¿ŸYáÍdì½elÌZ9ÕØè:6„Ò `6⣣ÓõÍ6]J QcNÂct[zT°{¸UÏ/zäÈ7˜„Gh”‚QÞg^|"„ƈ¿m ãWíL ;P£8²¶½ÖÖ™|Ïù€[Ùg ÇD†á­×v;sÏ¡6†à“€/ñkzvã³Ï†íe#ÌK`<ãèýŸ"Öðä>åñŠÂdýŠ$­ôÁñ•þo _lb€ã´ÆE`…=ùœ[<ô È„ªÝˆ¾”Cb'ù™ƒßýõ5 Á¦½Í¯·nñW1|;×¥wÏaöèßD¢_jêÍü^Π{jz9“Êð0Ùˆ{5µ<›ƒ·|­ 2µë4†ýžN›¼¹>/CM1C.“ˆ±¤‹ “VÓ¼?Áÿ#Ä Á¼E0¼?=eEÕœæ<ÝQ"`SÄ@3œ|zGuÔl[:w´áÀݯxŒ+‡m§yƇ%,àVT†_­™«ŸºÎ"O Ò6-Ÿ6KEŸ·žpRF®Õ]lߨ®Rúû©ž©§ÞäXÓ¦A€«‘÷>ƒã÷Z&Wvv2G–1>DYrLXcË—òFqqî˜ }Ì.ôåÞaù0”R!Aå¾hw\Ú#i¤Š½’1ãã£FוI!eC¶›í<_ÃÅ㊉RB‹@F9Ë¿“3ùÕŸ%–ë`<€œVi+ú„ñ›!à ºõ7 T™BF#ˆ±X ¾Ë².ÉÅR,¾†1’å\ ÁÃíØ{]“ø¯îÒß$×ÀÝ'yÄd”(nCá9Ï«¦£‹…;»€5\]¶“u–]µ¥Lž1—J‚Wƒèâ. ¿Íx…J’j妌ç‡*>á¯ÕÒd3ÈG!•ì™ ²äp:;3=òn&ܬmÞoÛ¤½CJð³ôvªX7¿0Í—d–ª_Õ•ÑâNßJÐ" üÎY§sdsèQO>¦LÜxŠ J>ï" r…6X{ôÉ7Ê&y YgqøJvÌñfèÑ2Dþ©´…`àaÇ+rߺ‡9fÐèw _މì;xvînG‹¡ì¥*ÝÞä/S…‡ÿŒP9~LŒðBç¹èXÑWW–8f2ÀOïQf"ªëˆøF¤—T³Çb‚OH1T¯V›–ÆÍ=n•›x]ÉæÖzd’'åÚÁC™û­3‚êåzc hæî]L­7W?ö¤_ã‚#ùE£òŰĻ`3K5U ´RÞ©’T‘Zj"ý´fV,bŽâ?ò·iú›¶ VsóeÖÏ\™žrÑO)kŽæH¯šÅKe©¡7d#0-ÃÙ[¯Jñ”…­ArZ…½t½×3´:nÑ3nÿP7¯ù&We¬ J Ÿh¾ ÷\ƒ—L£ Sk¬BŽÌ ˆ³mL¥^FIz¼Y}Ï‘/-SÑhjè"\Ñ|gŠùWª(s«ƒxvYê…äöNˆ";Fnµ\ÖMt‡s†çŒ?͇†£s?ÿ^šÑ&9ëͩɕ4˜‡TçØÃ³<ÆŒ¾£™­ÁÐ%%…þóÐY=üÕt1ÈXYKËæžj*ú¢hôßð”uÜŠä D¢ïóJå8ÕÏ)<Ó… Á`¬Æ“F>P”K¤ðˆ1 i¿Û¢v{ï¢ùÁ²i"šf$ü"ø¾ŸïwôÑa½o³œ57ðºìPPë3\ë[©ö˜J—@u¢J¥êÚâdJs.ÇÈw‹YCœ­c£Úì¼ qò9M­B®¬`´€¯dláè¼¢yz¢ƒ(ž@¤û 0 4>V8è‰=|oX<ž`ñ*\&¬×B#4AЉq+®d²@¦N-2&®¾²Î,E…‰'ÂÖÈŸ)¿È¢>E°r A‘8ÛËýÃ8X*2¿®Â ¸´2òÿ·»&ŸŠ¨”›ÍµD¶T×@8r Ì>zàQò‹…in†(êa“BþIUÖë‘™Í8Å1ðPIéŠ"Äç[ýIjÎmLÜËèó¼ ~é´@ft•ÅM¬«Ý™2Ò–øEŽˆ;lô]ÂÄÿâFßÒØÓÀNPA5Th³Õâ^J¬·nWÉ^ 1Çl†Lš/ ‰¾wÝûjº;ÿÑÆ}9ކ‰¥Ðé¸buQ³ö§À!Ž8C2ý+¹¬÷ÇΠ&+¸Î¯¸N«ð{v쿀Ʈ‚Í¿Wg4Ï#\-®Ð© Ú¾ü,^Ôbï©d<ÊO6*3^ÿâqL(x°äøÆRjþé@`x@W,Ló²)8D>:%À<#OqËb§GøxK(÷&í5„X «]òòúE ÑA“Þ+ö$¯w˜yˆ×‘z“÷I_ø²à"Ý4…~QÍæÛÕÌfÊ—@ßrX}Ná…EµÅÒ˜¼ä±PÏFL|HI©3鄈û¹:è:xÃÝ9ÄŸ–püS®±)`U~u™c«Å¶F´v<ƒÓ ¤4­À=ívâE4ëüáôð='u \v ¾öb N9ìù p£´óçŠIxw»HšZöõ-uÈOÑóàˆJ\k* ÄÓ#3D<ÔSäQù’±^a>ÖJ"mïl?¶€ÊòW¥quÎN‡û0mzMÑ@(UÊzî´çEÅÍ*]>¡åg€üÛy¼´!¤â^ª@ÇJAû ›±¡lmë:¿ÜC=š\#y^u¤Ýn0ÂŽÄOŒgBÑœXc¤ˆk¦3Ú‰ï1RE¼T8bÌλR£m ’^þË:òu,OŸÔq¥ƒêûí ©€>¾†Ù¯’¼§fõ ×±œT9h=†BLÝ„…S€<A»!k)T¾²8r´ÑŽtµ}ëk„Lܹ»Ñ١ʆ̕¹±¬H’¢ÆZôg]{Ú½hfñ{ÄHnÞǪ¡n» ɹtÒ|¸²óõâó‡€_^øÌÛ’ìÿ€ÚÙRgÓ‰¸i@|éÃIÿý SP u-‚{:Ë}è:ÛÖÓšpŸ"ÁWªñ¦¡Áർd„ù^Žmc´å½\Ôr)o6%‰t[FS· ¦Œë8 ‘8òaÿéaGY†ÏWÿvPuv¨²Ü§EI9>!¹]1]QŒß/Ø™Á( ‹ÝùHâ`yÞÉ­\VQ±xy˜‹݃ö¶ ¹x~Øc«­3‰ròÛ>QIö*”}"U·ê.°ˈÌÿ±39a£ÑJ‘5”ZÙ~mvžtCÄ鋪Údp>Gۣƅ‡ŒdýI×3¬"¶[*~MèîÊ‘—"B¶ZÔ^ïÿ¶_òù4áŸ/¨þWØ(©YœÈcÀOÊpçÌKŠUoïØU¸‰£J¿qµ°T‡ü4Så ûÂL‹i¼’šEܳ’ó[¸nôó€­Ì[rÃzưˆ¡²Ä¼>Çá〼ˆŒ†à2¡ B¸™á•šüai®…åV²¨ÕûVð;»¥q*¡ÁWÙ\¸Ÿ$ø0Ì—“ yóÇòd¼dG =8%ǰ!!ÐÖfYh¶þC«8Ê}ß@ÆRh:Dhs]!ù¬‹~Có3{–úîVa àÞêC*Ç´Êæn,4Ö(CZÞ=gÛš@^ªøæS‡e¾ƒ@µùƒ(Àà¡«q#æ2fçä);‘×ÁZo„:\jZ6d¾d`¿ä›²Äj5<—2 n²ínÓOãPð~¨Õ5w²I )ýÜ¢Ø# ”Çó–+HaßYa»Ô¯Ùb˜Çiˆª „ÐÏrH`–kG|ÈÆ'ûÆÌ:¦µ¹îÇŠüG֯ؽËäc²Ýl†ŽoÚb@óDW³S@½ aUøh•©GþÀ,vCh+¨yɽ[š'?ç­÷È9mª°ªNlÉêð†IltŒË5V€3fkâ(hÅrµñ¡$»V\øžÀ7ú˯i!æ¥güèi§ KØJ&.õáº/W¨vcmë´Ïaì--ì®H/™à’Á÷Ð'¬W£E'’O—;©µl£~›ñãeø xÏÙM“oì9ºÞO9‡f0J£©;EU‹÷ÕZ™f媫*Å‚:¯4t&¨â>~\3!ÏÓ^[ý$Ú£Ó .)+HáúÏdíùf/›(ö¼¶gyIa½or1F‹‰G–w¸ùàLE–Pý‰ÐíÉ|‘KWÕxn þÆ$©&HxøîAïkÞLæy‹aXj{ñ3TÎ1Žðµ ú#ïVZJÞ½‘jÒJÓˆìÕþà§@Ü¥§Žsþ_2- —Pœu$íM®—J9ÔœŒ¡^šxë•ÌÁšý‘’¾ç¾jOAVh›r˜2÷Brîš*BrâþuÁz$)÷ãNP"¾Qߦ››gÓûçBEÿ&¿öÚ »‹twÛ{Øb¿@SŽ®‚Ø»”¡¥ ™©ìù¤w¾e"v `$B°‡¥£`­Ø@ÆÀaqë1’¬€::ѹ Ú*ËG¿?åIàp{ríïöáQ;¤À˜Ÿ ‚GNr9yRãj³Ô Rxn‚žÑÞ`NôájÅ)DÿÃW50;1’´›e &$‡3;€é©“7TœA"*d¦ô#lþX>ö•Eø—iª”‘^Xn¬Æà MÛÅE‰Jf|Ú &uh„×ø£g™ò%Ж³ò ƒ'º€*lUpt!llmÁðý–œÐê.p÷açíR•hœ±çª$mZׯ7A0…. ¬9Ug2¥d‚ùq¹ƒàÙÊÔn«ÊSÅV]˜„(ǫǿfx•„Wñ÷ºê‘_K+ŽÝStÂ'&Ôä‘ü2h›ÞlärfRÝG^C½W’©‹ó·›  m13guÏ„ãBÉ"âIM1BaŒsz>ÂdJÕíÆ'÷f°k58—@£_éJFbîüÒÅùª)ªð*â°N\CÑÇ£'8Z•z!ʰuzбšë°Y%l¡Èë!WRé€ub ˆH±‡ ™­ÆD÷vÅ7qÄêˆñhÕB+Tüå;Ýõ82`ˆjüDÞçšÈÚ 8p£1-”­ŸGÞu¾íwM©ÙeÒMü6•nÎ$&‹ÒPèdÔ{ Ðä©bjµÎúLŸ¾áa N §Ù÷Q|â?|ôÞFþäyÜË퉰èÿ«N¥MíD¡›¾Ðß»‹)VkHÅm’ˆùe¬ÜÚÏ™ 3A:1i*4U5Á6DÃ#ÓHŠ}KÚ-ZÇ'ðj5¶uì¯<¥fGöÏØîçî5o{ (;&ë>[7k Vd›ïû<{SlVç^lÑÕúmê ÈK˜‰MHpöo¬ÑtŒ‹ü—òÁTÂ77"z§:¨A’ƈsÚ_>Ù% .(P bç©EP«ñ±ôEæÒ° 2’ª&J G¼›ÏøÉž¨‹- n@=ZYée$ý¢ “Ž$êEk[ƒ+&¢áªF\>gµ(–A2 ci4ƒÂíÙqÁ¼®} ?Çšô%±JÜcêòuEcîGD‡ª…±¹ŒNÞë‘’SrÎ Ðð-DÇÍ]TÙžñ˜6 š #…˜„œs'*S$\Ú‡R=¦¹qÍX™L;:yzΆæuð42ä‚ù‹ñ°^°ÚYäÎfOAƒ(Ðz¥ènÐ#½Æ Ú6ºacÂð:.¹K>BBè™b‡Õ>à8”(dðqÞs¨»5Š¢ìG??Hzÿà| ¸^¯qK効_¶DŽ&ÕÅO3Côh·nTxF© G&¹Q\ÈÏvŒTNÍ¿I7‚J!<:Z›Â뮪ÔÚNa›Û®ªh:+Sï-Û‡šŸé;ªD:\(ðLs‡è,ÚN@hI›Ö;CLäÿÚûŒjn K‹£±I´‚Sz)ëé¥|¨±èúOFJ Fɸá§o`@ù 'Ú¿©’&5uZS„8‰—æ>‡W)H‹´w£…Û® &3þ,¼—b€·4Æ#ÉÙôÿ»caÑ U¯ˆÊÂ5ÞdØòÔˆ1ÃqR\ïÅQƒžõ®™F/ôspx ‰;¡›ó”N‡ýºUj³"=*B×x1nåX&£ùõ‹Ð{`ɉ–P’i¬¶Ñ'ÿÔ%û·"xâ¶Ü‰Œ´.´³ÇßâT« –M'h“úg¡¾ê7CÛ™þP4Ù¡òt€`_æ:~ቖ>Q@‡}Ûø±+RW}#7Ü]äþ€&«³ß€‹°›Ã.ç7Z¬7ÕÎ5IŠnKH–óÉŸ k /sQCÁhEݽ\ú4A2WD¦ÜÅôI%GÏùì±µˆ‚aO ËhL{ öA2qìÕ!¨¼D§5q[¯òØ¿ößÓáµDK Nþf#JÖ§W¾ ”©tkÓÁùýbÿú—}D³k)¨Æ•P´/¸DÞ å›®†kIâxS„ÿ±;ÐQ¨¸¹GüûÆtUtŸ(m„ècÌ—DhË©‚òWonâSmY•Ñ,\Z«ÜÇàÇXÜÍ­ã ¢Ea&¢q´iÔ ÍiåÆHÚëSrÈéI]œÐåA'_v4Á×J6Ú¨æájþÀ ÙLâpš¡{AcÏ'3Á)x}ZOEqØ(ýñ¡îêK´œ· †VýkõOâ=`¿Š 6WÛ­áL-ûu~)Á2²ç‚6*¢nÝä0be‚j”–g)Š6pâß ªS7¨ b–“.èB˜­~Ý¥lG™€[“+¹Â=†AKñõÒf Å&>¼Ÿ é°¨…±8×ÑÐ-u]M;µhþ°håy„h09ð•«Aãì`«Gj´ü&Õo9z ”ò¾Œ•I¡ tyHÙŠßþƒÖ†÷ÎûÂ-8=liÛ¨n\OÊŃEv@8VL0ðßxc¿Ö}65 œþ;¨)Ù!=Ù‹“AÚ ×ÉœN¬9šŽ¯}qB)»\æ æŽ|‰n Œ  íÏ©i¨­Ÿ\´Š.„×Qe×$¤Á‡uå#S‡YÁ-ÿZNUÊÌáQIáÚpà,1Qœu—U$"Ì@Å‹C¾ØÐ~V0êbÿ‘ѱ¼û‰ Ý:¬¦²xU)úšŒ§³pM«$S”Rk$½ÙÞ—³Úè 2 ‘6ùÕhŽÚá k{×¹q#|‰] "vÞr¸ !M¬)ÀÉÈ K=‡0r)?DìÕu7m{-;p§1ÃÐ~}2&0bÂNrÔp{çâtð ó{X5ö±¸íõIjdr™½ °$$¥uI–V:WˆŽ@–Ž´"*åèk¶73¼«;ŸàYÆê‹ÆKœÚ{¦TÌê æ†Ê-ç¢2Ü„*I†?ã•*$áþk™Ôv;„ÿ…bøÏßõ¤i4Åæ¦•ÿJz€µ| Ý6ÈSmåóc3BR{2§\¦SiZG‰,8RK (mÆØ]×—Lᣤú§ÅXóÑ4/Ð,¬Z’Keâ\`°—à2À-Í !yWyÒ#Y2aÇ DE|fÅ.µÇ(‘¯ðïS—A’+<¬?ö\¸bUˆóËj—Ћá„V‰?øC â¾ ¾Ð\Qðå÷Š#^EÖyf ·ìº™¾5SF`Úzþÿ@ã? ìÊ=¬ i‡T›bá¹hAØE=`Ð4ú"Š ”¸s?½c ‰Òÿ—^Ôqnæµh[§?¿Z‡ÇPbB•'ÓÉ/ ö`Åo"ç*H(oôš…ɽ]¦$èAÇô4€y£'Îûèヽà–ÚŠ‚ƒÇ`±ÇϽyO¸õ•43Dž•rˆ]oòÄxµ ¼&CòY÷)úЙŒÒs‚"Š›òo’F8À/ø°ô¨Hf‹7ÑÂ*ö$€»¨ ÍtN[H\ @æÚнØÒ½Åaý½v€?õ-–÷ ŸQc™Ç ÷ðIc‘†Þ¯jœnÖɬÝ.®xƚƒàÜœÔ=aOÇýC¿^p3 #bÂJ^VÊ¥³â ¨ËÁ;Ë?k´ˆM!†R'Á0Ñ*áú&^ Ñ–yÉu'™Pš—­n¶Ár$`˜-¤=ƒ„6D—H`a>MÆ>›o5ûtKã‰ôÜ)ãý:ý^ÖËŒj‡¬uÃ&íÛ0ò£¤¬4¥àHe#}&{Tbiïçóù"¥$Õ(šJ‰L˜b^Gb÷èalz:ud!@W@¥ö (F%ÔY×½çLàf$Ù„€¨@8;˜ÿ-GÑXñ4ÒÐË™T–:z›Ì›fñ½Iu!³ ¸:^R{j¤UÑ!î×? è“5GðÈ£DÃÓ-ÏŠ!iÞCš¬­@07«zè;†Û©‡êú>ÿ¥3Ó¨Â׫õÇ!$bîÃeÕ۔˒ÀNÙÉ™ñ׎: Ùë‹–mŽd„IÓW½+*ì¹\„ùþ †EÿÚÐêÖóäSä‚€IE.O1e*¶ÔÜ”Ãf(b»Šü¡Ò·Æ}àdM¯^ÙFfoi¯Öîѳ‚žÕ}G ƒÛ Â?Ø$…[à3<á¶~&ùÅjº ¼£k’Nˆ}†«†Ûº¾pà?ièOTæÖHÌ '˜aÕ3Ð3nø¡c!T§Ñ¡7½wä\g€âŠC¤Ô¢ü¼´ÄŠ%J\+‚ Ó¹¹Þšw×@LàãMtë(¤ŒzÎD6`ZY 2x^…À÷I2÷hâ ÖK.d¨1àç¥þcµ–/É -þÊWu¯•(]ÆÄÍB/†©ÒÓÞôvËša¨Ç¼íàêâx¥Ck‰üV[nwÁ#Í'L›GËÎÌ<åtªÌv­=Vºê“(\¹ŠÄÄÇ©¾rëÉi"Ü@Dkï¶_9?ZÆ  ¤ÈRJMnœ…ìRƒëX‰ì~œRc¥­”xÍö+%A”ýcgn¢˜óù\êƒs6ô¨yqäà1R¹5ܱI8³EÔ•@W½ôôþ I¡GYý@;Vµ@™#ûÔà›“¨÷¢‚‡ˆà´(vj½ZEèSˆ] úYU ã(ós[×Üæ%G^ž4l¹° ‘õ!’–4ƒ=í3žïÊÀ çk½ÁÃ9×Oádäðd©Æžœ‡äÔ¥MÀMyîàv*cÆÿ[Rð\#$;ò¤gK±Qžh’,£~ÐqHÏbh¹W™¦"ý6Y>…àq}Ï&,2™Þ÷G@z’䈔c¶kpo#š­¬¿¶d ½–‰¿NZ/¤CÛVZµ‚Cäaw6ð:\ÀZ3–ŠÐïY×ÚU×ß¿¼,«B¨LÍ»ƒ]GpnEË*úÑ8 âúÄqVb!ò„ý‚&ðÎù£”e ck½€ð_ºi2­ $á¹D«ø®EiÄvýôß?èJˆ!¤xÔ@Ü4qœMÛš´Oka %øXÚh¤…ÿΔê­Ê¹4Èæ™ ¤F¦øˆÙŸüõE§Ï©·XÄ{dµÎÎvf S£”Zˆ ajc¯ŽzFVµÀø×vLÚ¿õ‡+/>äÒ;R=Åû¬ûtßÕ4S²øáw3ÛöÑMXÚE¶TbÈGüjáÚú‡6`œAƒãåz[B…$—@^ ´ž§ÁØ„ Š¢a¾*|þFA‰à~N=jð=U’]РlÕë†ÁéÆƒ÷ >ˆÊãé—éŽåÅÊ»k¬ºÒðéú™µß‹$ yÕzZÙ3Î{†ÎA\7’@›K:ú=¦ ¹Ýgz®øï:ø÷E‘G-@ÔÞ_ß]L13Tµ.¢‰V‚«áÚµ†r˺ÂÔ-½ôð4Óìä®­AÓŽÑ­¿sËØÆ= ¡.¤–ñ‚ÙœŽÕÍ~ž{/°ýZ6ÃÜØrº _ëÍÿ>š•šÄ]R­™úuç/¢áeè}Æ Yk‹÷ã05w7l\¢ÿHaÞ9þ`Ô¯öx¾¹‘ýo]¥]Ñòqˆ½‘ $+¼X]å–W òqŒ™õòФ÷q‚§^a$p°—DÊà]'¦ÉôˆRò$ê¼N:á„;ãÇ Þ7,ª´21„“lB,Á„G]6ú< ɨ°ÚsÂz5¹(ÁÞÏøG‘ÎõÛói»xP4VºL›úo @–^~{¾¡TÖtÿ)hþlƒ—MlMô´¼&h¹ãwXVb܉gœ8žw{{1ý® —ÆéÍ-òÜOZFøÙ¦¶ghœ j*œóO¬h¡ÇF¹Ý£–/–J“T¸„õZ¯°åNWÁÏN¬ú hMˆ2Æ…+°ò6Qežœèñ'„ÁÆS…µ¤ý”Ìd׸Ëc…¨.ooe:·âË7[Œ¡½VnrFfø°j5åT ~—í x^«Pâ]ã%s}.l¼¨šË¨›”úК~šTýìþ¯’Ñ4¡1°¾Ç<W…õÇ”óçK")>#h‹-¯6à0á.ˆA iQPÁv¾l*ϬF ñ;1c’¦/m«r.0L~ÍœwSÝwÿ*nù£Ù I¹Èð´Çh#íݽZ韽ö‘‘°C<éS·÷ÀïÜv]M>À»oñeÓ5<e¦Í%|W@1䌨ퟒ¬|0voJöò¨ºÁSÆVY¹„ÑÞÓ.K0Æ—ÊPÑ(%ÐK(r<9úÇ~éÅ"E2>.Êcm¥x_¶TLû¾µOfÑSýò¹×é» ‰=ÅõUMÄ à+êyqïý„§´(ªí ü+QÍÁ b€þ ÇžL‡wóò«ùV`&•í³:ˆëiævñ°J:ðUâ½%¤C´!V(çÆ¨¾¤ÜÑð>7¹Ï‡ ‹~a‚äRæ`+Â¥Q-œv;òm*·©-úÞº^—"•Ý’ee%Õi3@íÉã^YÍm*5yð·RpaŠíwí­r`§$ ß7 ;}äÉýG…ÇňmÝ{-è1ôÍM9R®^‰¢ ¼„¢ŠR¤Ò!üxŒö_ÚyD@_ÚÊš;ñ,üfçðvÃ}ÐÂ-g?çr OjÌ¡ |­}é·\˜Ý¸V®¼`RTVó3!yf:fUg‹RC4×’§Ô _•D(úÜÜÅŽÅ~KêØ«ù<¤§ëI¥F–)v пh uüë·š±ðëŸèÿYC ?Óå276¢ÓÌr-§?¬a‡V;jÄ*øÜ[›PDÎöq»žÀó§Òðߥ“ ƒ¹ž™[móâ'Ÿ&6ù-1æ„‚må7ˆÛ×Ëj»íA Ð` 0³Ë’Š AOö¤¿Õ¦Ìô†e²ZŵȾ|ÀÔ‘zjËÈÃõ¯¿u*iÄÈÀ‡ÔãƒÙÁ†8^Ã^&° çÁ¹Tã$ƵóÓ\õ;!ôÉ\ø o’éÇ3TZŸcU +z(bLXâ§Åñ*RÓ¶îM¥ï<âhæÌq.Uæ—‘å¬>æ›ñÕHíyà¡P~µ|5sÞLy¥“̼µ%âÀG¿Dm—ÏÞ½ÚÝ¥,NëwÓ@o¾ž£©šfÉ(%!ùÝŽ%§½ÝËc»Ÿ@5ºƒu^|,!¿î+B\¤øÏpåúë¬ñ¯Q·œžÈÒ”† @6ÑZhö8nSÈ_9§Ú…Ix~ñ¼7ЭýóÓÿíN±VqìOYÃäÝ\‘éSEc‘U:‚Š(ü#AúÕyl+:ÉÆƒ¾›ý¹›C¡Ï|ˆt•Їw¦¡É´ƒB òôÍ ýbÏäo`ºÏ[Ñ3òŒ;Tã^–ñ–Ú­ÝímwN5h‡@a™)âj‹Pv%9·0–§ì¡}+Î\ưÞÓÞDNÁçRŒ8¤˜‚rà3¾3ÎÍdýGŸ²Ù†™›ßûº94+)æ”òëî5†ÄÜÓbî†K!§Õ–¼§ ä¾ÍdðÃ.žÎ8xN‘x w¢f„4ä …ààèoAýtåݸëD*cËòÿ`ûÇp¿Ö1}•ðA¥b,˜5$w*Ô›©Yó×–¤ï×h\cSàå~¨5“UÁhSŸgQ¸`]£æggà·\*áÜüóN »Ã»©ïÊÆ["¨ÃUå¼ï²e-—xÔç5ù¾üÅ+{ˆ3 9¢B›Î=ù÷{5²¿¾^-?/ë0Àc ¸Ø¡4FXêæ ØP( ùÎÁ¡°/\» ¸°¬GEsõ¨k²ùeÔÿ!éé‘2ææ±‡Uj UGJ½Ë+Ý{MêÜì‡uîý¤8…›ž›ƒËA&*íÔñëæ›ú.ÕilæoêÌd!ìõÀ'@ /²á…Ï}[nФm—ÜðYº®Š^'¶Õ,úlj-c‡ð\¢HËT¹ìëáŸlÑtkü&ÝPDÍæˆq V×_!*”­°cE 6å¹ò¶i/­¸Ë ­ÀÍ(~ƒ±Zâ+»ÑWáO| •òÑ’ÊùËÙÛô8ù禚 wiÅf¨ž°‰ãÄÿÅkçŠB|–vHá‘ z–vOÅàšg Ë™ ˆÆãÝÄ u7euÓö>í•]ÿ^âOgöŠ:°pò˜²\Êv¦’Ì®µHך/ FãÞG~ì•\Ãà%PîjæÃèjGkê³%!pP©öº=ñ¯´ 4˜lÛ«N—ÍüÔ\Ù”ú©ž 7e9ÂÙã¢hçK͈(S_6¹H7/Šaœ›0´øè\VrÂ1À\ljrú©™/D‡}|ð¥¶U†)G7Þ¢ø {&©ÌÍ6š=%Xœ'þžò‡IÓ¨M­ùõH“4Û€Ž3%.@Š“VþÛî +žŠäç±æ“&.­ —UeÞµ\[æd‡R—3(™³Dµ@õ"¨Qt1ÐÙbˆ³ÁÆuÒy ¥E<&ÌÐáj ™ÊÁH[Tç¥á$a"<Û(k2v¾­¸ÓŠVÐ7c€E ÙPÿö®éúÏ…‚ESÛŒ&Y©$ß'ÉÜàa0V£á¬ö†ZÍ´Jévt©ÒìãÀd·¿MÍËf¿-ðS¾øæy/mRŠJ’ {î,N—ŒTÄüèéCDŸ«O…èÞ·3ûó:ÀtÀ¸ŸïN׃ i,täç’VáBövÈJÂf8ëÉ‘¿Þëcž!«ÄÊY-ŠöK‡×V¤Ý„úØXÜ5ÉØÒ´[…m^¢;í¹ ­±œÒLí[Þâ:CBÞ&¡kè§í/ì„€§ÇœÊŽAú®nwé…žæh‚ªWn¶Ž8uï².Ì·Ìç|è°OS°±Oϱ›©FéC.8eª÷y[Ðu«óÌ)%/# fBÍÆúõd¬Ä4ÅŒ SRõ&±ñå´E•ÔÙ“Ì?7´…‰Ø+¿<Àú_‰ÊL/”œ·™ü¯üÅAÁ´j04åЀ×14½³»Ãìšßz!ؼ íñÇfÄzGÞÊ„ðÝø\3ØuiJLÛÐb²Øý£ãÐ[maDžs4a©#]žmå¹z –õaV}9l¥Ï—sQ/¤§¹ÂiІÃåœ†xàgWàä­IÓ<¼~‹×¾m§>& ÕZŠ—vÝŒ<«Ôê™Yê”Ãrh÷3\ã—bÿìÁ„1¾7}4ƒhwçÒ,&½‰j4ýWhÄ¶ÍØú‘´HIÜÕXÅu¼Ì¶õ’ɽ Yëðýåp˜£x%C§ÿoBÐ@”X M¥/Á—.õXt°<7tîKp™jSNk"ݧ[±.YÞÜd!ט›Z¿—½D7Ö…LôŸeàí/77BU”]4¤‹ão`Í9C\t®‘>99î¥·Žª¿;¬OLÆà)Õ#Ï´–PUXë Wœ¶²ª; &³ðÎŽÐ(àŸËR¬*LÏpõ–„p°¥é)rgÆ{­ç3„©_[TƒušËêa në<®ûýg=í¿QBÕj[*D×F…6¬Ë8n÷ ²QДSñºü»D þ··¨yð›ÞÊfÝ9mù|@Ö¼~u¬Ñ÷ÛG “¸îÉ”µ>,¼—@>°A˜¯)Ѻ±càÛãoTü£.c–½¤c‰¼…ýFQ6xáµèô“rN-u4Žá¹ß·îåª=ïêH£hÃ2ÚûñNNmÿa0»áÆ/Df PA%=a‰%“õWúªGzÝcïóñÞå0°˜#°a÷?ÓttŠ›¸´1[ÌמÎÀÜùãFÇnFÁQÛæpž–˜…Í?ô²½¸ÿgBüÚZ7è€Z°YÁÞ”A-TÐ'Äú#ÍÓNìeyÓ™T.”×sQ—Þ]UÅ”/e{öT‚wRyK &øûxd—³Ó<ŸhÁà~‡…ŸˆPA}–D®ˆ9)¢o:‘Jò ’´GáCÁ·•£u«YYþ…îže(p ŠˆGrõxÔÃܾV±ïX¸™6öÛŠÂà)á82_Eµâ ¦5¾?ßCz$uÝe‘ÝÊ5ïvQNôDŠÐÉÕñØoæHÙÒ}î†Fý„}PRh‚%бTéÚ“ì>†‹Þ“e«–¾Ø[S­| Þü·Ö+x²¯R 7Zì …sÌnù²%Þô4ý÷G6ŒugG;L¢;+Vn VŒì% Ö]”=6š “µ?˜öÎÔEqšiió¹´¯^Bxª»&ûwʹqÿξŸ;ÍAÅ ŽáQ!Õ¢¥Ãü95Õ3MMÆÈ Þ½VzENòR\±œN?»më‹TÈÿhÖ|e›ÿ…A^c—xP!L…Ñ+T2¶êìý:7Uë+ •M¡Ïé¤ÉgaÂÖÉi[O¤ØìEåÜñ(8]…×7jÜ·lM^ìÌÉÜŸŸR­°`Œ¬½9#NÙÀÀãØý=÷àû @!öB¢Bê°´.%ì¤Âˆ°wì'Üsäºéi¤&;ˆ?òµ¡BÅü”n•»;=ë®í™ºQÁè^ë€*’ž“J_4x!’,Äçµ}ø mßc}«^ƒºÁ-›è¢½S1¼ <LÕ†”ú i_t"i²àI²‹1æ"ì*¸ðST–€WŸ¦úyÖ‚maÝqk©-X÷‡xhµjß›!`B¶ÇœÉÜ× Rjø6‘#Iõ¿]1ôÕp`ýõL‚ K¤b^)ØPØl\„q€=ñÎh€6n¯ ü0ÿRKq™0U×·'î›f‘òÆ#_-Ò©r’•:|Ò¶© |XDG‰ìÊF.UºpZœxr®O—Â`:±5×^z^ä—ƒBƒòE)/†þD6~IY¤ÝÆPÒÙ%°ÌS['‚gˆôÎ&8â7‹Lk±kÍ¡N£RÓÕ”ðœð%rñÝí’[ùC‘´è.úê_#ßÎùÿÍ]¾uðÌÐõ]õòr”NÑS>$¦©6žßFYºølåÅRSöB`‘Ã8ÖËeƒ;k©WpöÈkªó‰‡Ùž2;&Ûtà 9îÏ*~ V.lôt»^jÙV ^ì̺ÆÉÎ<ï»™òÛ$¶Žáyã@ëj  þ£pÛ¡å‹3wäpq§‹[Ùº_î¦E f”ï¡ œ›<ä0KïAö°ÿí•ÃOú¾Fj2ºQ/`ãÅæí á)ª«_>‹Y¹ÆÿpàÀC€õ~åk/Íıé5·©¹Æg3k…€N¨ì7ÐjÒô3bøU$Ú¥%±΀S.ASŽ[úת4eo•!GŒ¬øíssDX3bº=à¹&‹†½½zù_‚i(Ϩ½¯™{u#é:>ïr|%³Ì0è2÷¢§¨À}ìÎvô^å=X3m yY‡‰8ð2n,…¼þÓ•°r—YŽbšFv]ÕJh[¢‡«‰æR¿H­j–'Ú3/ T ésg6g½#×¼Gûj²ÄǽâIÉ3d·êÜÄÈK4…·òÙþ›uV¿!£¡2O!.âí:k.ì“ëÆ7wJêõûqù‡Åسá-Á^üMVÎÆÕ=çqBŒ Dºh£–óªÀý59˜Ü À±ç6JõµLhe¤ .åû[ðTw76ßÖC¸ˆ–bl æÏ*úøä¶ÈWŒÝplâ°RãÀWq¹©þÄW‰]™N{ÿµs¯+ äÙ3+ zÒ+qÒ¶MË×íO(Üwó rnY±x™ °æ~ªøÙù7[^]>Z°ÌÆ$ÞgÛŸñøõW¾§‹· Ö…nõÔµl#Àçιs;äÒ%›|k!{ÿX‰ÒëI;¹Ñ+°0Úô†¯f¿aæ'ñµê¢õ‚K51ÅâÝm|~œ<9€E$ ¸f“‚GÍöä1<þ†áçÖâÈÍ›ÁÜP£0ìNÑjþS#Pu—¯j®Û{:Ö èW8ô^Ã1ò­¾’ô’tô;9²«i%6ÐÆPöªÏj*àÕÌÙ ‚¢»Þ·p˜¿›®;Ûá×Á;{,Šd«7ÄÖ³ñ^EBº?SU[ûÑUŽ™]b²ç…ÿuvPéálÓ˜IûË8þfÛG|¡]½;Ÿ@¦{-*m9ý¡ç Ï!^™Zø€`3î ¥™ ?«ð«x„E;Ó¼BÙò,ç–º°{_Ø{†Ž5:ûæ+(»´ê‚^YáÍ‚p]ç[ ´•“HpÉÝgj.DTá‹â¸ìè…G×po ½&‚/¯d·<¹®°M|§(â9´:ã`!Npš9ÿóÇK¢n™¯/‹ß;"‚rù `Æpè –‹3?¨Æûï%c9ÛÀáãa»YO*8Éqðæûl‡ÕÞêþ^ñŸÖ ò€dácé5£ò‚Ò¥ÎÙkUç÷CSÛ‡%]ö]”ùÎ;Pià@$ðRñÄ‹\ûˆæ÷Oû¬Ä5ò”»Å¿Úüëºùb µyí¬ÆŸŠÔåd*àÃL'{ÿ©=Ȭ¥ŽÈcêD_ˆœJª °L¢ìp°ú ÜæšÒ {¬ˆüTñ }Æ»~¬6'˜|œ;þò­ ¤ù#ñ£r'™¢UØOÛHþ‘³¤j8:*ij¯'Wˆ?Èx/ßlv†)ûñ³“›ÀzNÛÄ(dbu_kʾ4Eƒõ©ÖÕ|Á‘}ž“ók€‹°ob;¿%i©‹Ü^dÑF#§õÀ»Hï#lÙ‡@ a¨MAŽ{dñ~U^?b§Ogøtc<|"a¸wo8K _¨}bªæíû“ωŒ”¥ògÒgà}L{OBÅšv.Ê>¿La€7çkãfá í<}kýêJ0 žÆïÏATÞË©PWºÚ²#úÐ÷6HöE nK!îcô•×@4Öa}6…¬‰ohÞ9Edƒ!ñÊJ(øÇ—Erü³°šŒˆÞûº¯<៲ù$íý æ…„}°És8ÿxØ™ý‡:j6¹Å6B4á %7³þryÒ@Ã{0ê÷E£Æ ÈcŽÜ–'ìœïÞ¡³¯Óáÿí/ÿ@µ¼RiÕ/»ÁT*lÔÄÿ5ò‰Á×dû_¬¤N}“à’¦|œJX^sC¢5yq$ZOvaU8ò°½Ø#uñ蜔ãÅÍ `דD˜cÓ¡EãÝóóH¥©Äqðæ–ÒE¦t Y#à¿v‰û…é11å„9š ®¿\>8nîG“›Œ=ßqdt¯4®ãƜր©•Àòµ©"q†ÑE´?ªp,ØrmHæq µÙ1ÃBV¶‹(wðrô<…ŠT_¡?O—†9Éå­QºÆ²îŽ^«~6Èê+üèéÔUݺ!µqò¸ÌØ`—NA6Ÿoù¦3£ð–/¤VÆ9Ã#›ªÑ¶ÄÎW^ÐUZ&¹‡¿˜D-Np¨Ð±]ü¡e ó­®×ßûßX}etz”ʶ¸™ «p*õžÏõ¨Lš ¡6ë/üLþAûìÂ}om£‘0µçÛsÏïsúÏ›MU €j[Qçv¾à£oÃñŠnÿO}Ñ-/ ™c$6ðs^Ñ ±;cÚ†­¦—ѬŠçðÍTÇ‘·ýA9 Óô5€ßÂRIΕf–úÑ[9}/Ž`#"5k-ŸëKV65 ¤i Ì‚ø>æâTþúÒ?wu|’Íi@P–4x2šÀ8çLÎRTö·ó6ˆ‹×iŽV~åAð§a"Ñá,“\ž¿2/ƒ»ÇNÒõëëã.‹o—aviæ°üÇ Â‘Â¯S³ä¬/±ÆvŒÊŒ4““w9ê‰abgØ füyIEʵмìî†Hʱ—½xI(¨'¹jvbÊ2€¸ú*8V'¼% @b&Ï/‘o'È¿Hi¹¢,÷¶˜9=¼9ì.ÖÔâ£0L eˆ…ñ0=Çèë¸SVìe:ž0Uµ°<»ÿ›…[{¶-nï#ãÕ ‡c‰p-Âàätd˜r7Ç f%w"™Þœ²+¯# *9Þòñ=Øs¦)œØ% ©Zª+ìdÆ1ÌB@é)l ¾Øƒ4±êÖ‹ü”÷v?‚=¢ŸWÒ¡•ZÇ ¬ŸÑ7ß&Éð«žúì¬k<©'¡»ú6p–²¿A70Û²¬Ù‚æÞ „g㡪~mµÈrx5Ò~ʲ@Ž0Wòךƒ+%ÊÄÿzØþ¹‘ýZ”ãQZ”r<,H26™kŽÔ4F›]5ºÝ[ëŸxCQ`®[½íîéU¥Î˜ßÜ[î®ýð.Æ0nÌíüv"ÊÌÒL‘|Áçà Å^vf_{G4u»šè—ž‹ÔàjßÙàdÓù\²BÚ†¦0 ‘®Dµ E`è” —¶TbJ¹È€ô7-Ê+r៴"J“¶Ju.÷!®(…Íf~å‹HR:ÍnÃdý-.Ÿ.ϾóWÀ9Á¥Ò™Æ3ç%SN95eŒ’"%rMàðöñkÏÞðÝC³Ø]00W¿oŽ7ÙŸUCrß‚Ôîeƒ ¯¾¾á)¶³÷qÐo¦’ÏÜùH,Ö¼öû<§ùx´ÖûZ„Í7UÍâ` Ž~ó‘Íëxª}^@H$žóT¦#‹‰®üø¼Ø9Â̬þT¹Hj¯wF³ÕKI¡4¥Õ¡¶DÞݳäyOfì{a%2Px@8šê6}‰úZ˜a~\yWV¿,”zФT" XéÈÔï; }^:fwë¶éoU(•Êæu\üMÝÇ¢U­õÉh¡8}%Û‰®0§½×°ï³Ì}©UtÀ`?Ëß°ÓYG”\-˜jVpõòJuѯAö|yðÂ>$=¡ðþ¸r{ò/ÕPî"л L+v¸ê @QãªÓ<å ™c!Ÿã<>1ìsßøãmXˆñ+X“ÐtWÚ78~÷÷è$Ž–¥(³ti†˜£ñ½Vƒ5OceóÄâj0M‚daÇ»:a­ E%GÇj0UµðŠë°Ú¿¿×»äÙÌy|Iˆ%k4%›ÃV37 ñÃnðkÿÈ[¸.:)}uÅlÝ—›YÇ£P›a½€tœ‰yñJD˜qÀè=Kè͵ᇯb§ãˆëÜý:´`å±iEC/Ú@5¨Õålì¯ÇGwÆ­Šp‹Ë¸\¢Ú­|9ÏíÐÆú^Ö#Éå‘¡²ãé ‰A›ùz 4@`…3Äàœ'iûŸI,Ë Ê³ñX|ÙýØ‘Ü\óJ=•ì£ ;ÿ_Þ’GŒŽs²ô™)ë'Ih„‘tÇi»|E¼Î/4à÷ßœ.”dZϰT[±ôAœͬr¢¶?Â,-êÁ˜‡zTÎðuFh#yA+ÌÕã¿Ý•Ò®cÈA«‰»µ¹eF¤«{i)}>­ò]ˆÆOÉ îYà&ÒN1Ï5i „¥}Iþˆs{{óûRžGˆ¹Ôø}Ry–ú ̹A&ĽF¨ –ãü™±iÂCvULC‘e|>+ÇÕ^)®Hb>¶Ò",H²h >­ø«¯wuª;¡Z¼d´SÆ›À¼sô2Iˆþÿõ)·´O5˜?ÃÑdÁ‡8c¾ôD`W¦ŠÇ–­ùïz©ÑžöQÊÔJ챆…á'.Á†6¡¸Úb˜L¸Ä-`îCÓ„¸šmà´mÓ÷Ñ¢~µI¨ëöVû[z©N¹ü@¼¤g¢Z ý&*›<‚7§ê°p„ÌU"ñlã²û­Áz Tç„ +€b⎙pmIë$."2©ÆÕyÍ’h  Ëe-¥¶WÜ4ÙVVHå+^ÂPa†¿õé<,ç»2ß²Uà|®c“™‚9/K—dšt@Vª²-5}„]¯Þ ‡’Kì^W±^Üë*\Ç Žg¼'@Ù›±É±Ö’¢¨"™\$ÝZÇ£!²ß̪Ñwö ·¬«qÐ^Ý(.XRé(dÞïÕÚX«Ø"mjÿºR3¦-¬Û› ±þ6kè†:‹H1“Ó 7]5&:y¸C]•w¤Õ‰éYSÄÓ‘“ v«®N…sê‡TUGE-*k3þÜÄù@KÎBRƒQdù1ÎÐDæÍR2ªîA¯„ ˆÌˆò³œ®W Í[ñ¬­Üds,àk€Ï¿Æêõ•Om¨Ô·`‡BC`…£| ØÂÖ[©sxj³8Ö¥Üïnf+ç©“LÆ“Šœæ ¸ý[T»ï ÷¢©+Oñ€NO*ª–øä<"á˜VîŸ7o‚ç/éäKIíùóyшˆ´S Ñžßûr ¢ú6(s=¬¹aùk™{|1…fDÂSsÙ=LÓõ€EÐ:…È\è?8Z=>Ç8¨ÍÄìfÍFjNSÌz´öàÕv®Ô–T|ôãeŒØ5·ºC"y?r Èñ‘ösÇ+É o|`‹cšøÈ ”®þì*Nòzt"ŸøOWâŒ{f/Æ9#i9-øÍra4h—_Ë€ØkÏr_«ù$1fŠ?V !,µZ‡ñM{¥°}kY#‹Ñ!9¦è›b¹I2oyüêåeiaÙ*ɰøìB>¬‰Ík\>¯ÿûæxîža²“¸Û¡Þ`oÞôxLíýý¡½†&Ť½OþÂ0Ÿ.‘¢5Þ‚'9>]z•Ü\’”ðÍ!³Q|ß9¹l¤Â4w:ˆÌQÆg„kÀC§]YÏ*Ëšä2!p×½è ¢#­N;U–‹ä[Ü">.ú¦+؆GÀÞCÀІ]tý‡ec“¼÷õ%ÿ#:%úÙ3Dl§½ $,´íN39ìTöHEó­k`¤Ö²½ÿì ¢QVKL¢m@¯¨ù;\ž—²ÊèØ«(7Ué]”è´Ô+›þZàžr¶»ç£˜µ‰Óªó½ãåBÅŒ© š7 L\…/³1î!=¤áÑãi*#‡èuºH¦sµ¬ž\õ;ZÉ l‰’ÿ Pòƒ†~ùt1°7ÐÒÎI‚h‡ˆ¸wþB³ml•¡wQåvß*®n ­ëõ¢üMIÉŒÓ>9+ñjØ!H^çòŠÆy4Ý0E܆2´†¼–9´Ù¨üˆoØŒAÀ"¨+Ñÿ™ž›êìÆç·F$·«£°ºÄ Ù…wƒ¦IZ“¹««¾dËñ$–@*<¹PÖ¬†MYs7Mg~1ÊC-8H¨Çõ‡…•`[×ïè~òxúvÛ’wa²å”ìO§ Ê&9}5à±³<‚T¦¥²LÃrê.2vphjjË»‘¼Ìð½`V`Ñÿ¡þ C5øì—ÝZtÖz>Í“²e|ù„LÇö!í ÐtxšWX3 ¬}4ÿì.»N¬$ÓØŽ÷@íUèpXÖé6b9\úNŒcÑÁû?„YçÜ=·¥€Ñ0kdDê‡ S¬UàˆÌùK…Ãa(“ÅqG°G6<]VÆÇã&? PI×xTµ ! åÕÈH­” (ÝG6‡±¦@òþ‘щ~g©! Œãd7ì­à9E@˜± ÜFùØü\5ƨàõÉÔªD’žo˜MYzpÔ &R_DÕ›ƒ, ÊZ®ö˜j¬ÊBóá1WöQßÚ~)(\ÈG^7§×eÛàm–ÐZæfIÝ’[G} ò;ú²âRE  §ü«m7Àõ•Ø*À%Ò«(Mai²Õ}zXíÇ“²ÇŶéŽyÀÖ¹ÏÆé\QP8Fd¸xwbmbAw' îåç‘VÞ_l`ÔB.>9}¢I‘Nù¹˜¶^6Ší Æ×ÞŠ©ˆ9ŠKóPu‚íÆ<²Ê?Ý¥ ÑâJ’þC‚ªaK`p× 3Š—\‘Þ­ì^€>|MHÄþåa=>ÔŸ§àA±(ʆß8G’«ñý1¯M6,â)O×h˜}üuÞaTF“£ ìŸ EÜ[u:’ÒÔ^YLEqI¢qØÌ ŽQK¥Wm¬±(Öz«BÝ$PÊ>j`Uð&N%h毲Ҝþç—ê¶õ‡¢u±rwwâ®-ÇÃSÀFúÔ¶¢ÆO¡â®*@Åù©ªÛè’4–-â þ#ü±®<Âòß÷šxÎB×\€‰|Âkg™Ërûi”ÈAMü¬'ûÙEqsß,<>šP9¶?7Ie=XΛª‘¡ÄRrÎFQïÂå£\És{¬ûkúĺ° §G&¨5ÛÐKŠoù—áTÙuà-FÚ¾TÁC™^<;ú„âׄO8 ûTî{™ ýz,YF 5ï·Æ3³QåüÉÏ1š1Lï µX—Äÿ§’Ù6ÛqNíc½õò™ÿúÐ\m¯]9çÄÏ0Ößâ[-<§Vì³óL{‰Ìã;ÔËëÐzY£t4s·"M`€¸‚,Õû/½ÅðZY{¤,€¦;¾šÒÑÛv™ ºø ›a1üÍu›{ºª™¸¯_âçbõ¨˜;¸pQ٠Ȇ>ýå+#ú4Fs‹œ×_´B;ŒNêÅdž&AÖºL>žb¸ºÎ~^¸‚ôh:.‡L‡éfb[1¤ø%;’ŒØb‰µ¢KU”*£æI*„;ß ¡4Q>ÊçV „¥Ýû}„–Wa„<¹oC=©é8Mýû ÏMC;ÄÂ/oóT¯[u&Ôû•µ(UJ-BG¤ò°–¾9²,Y…O§mã9yÆcµöÙO6/+`HùÖçU´L{q#K<5¥ü2ªU`¿\'ÿäÁxç÷Gçc¡ü}þ%,Q»„€b—Ês2×úÿÀu%æ"šÓcù\Wf“<©î‘ëÞR‹6ÿjDè_4}MàH ö‡Ôø%VŠ[ò!èØÜaEÔû˜š4R+'ѳ‚Oqª{Uê@£•°¦‰I.GIcéïüÇÛH9q|F)Ô´ö±2w5›â |œ¿B|ü—^x×iœÇ€{…ð°hÂúºÜà-óFk¿>¡SðãôÜKñ+ÄíS/ß(ZdžIC¢• pTÄbÕ­VÆÕ:ÀÛŽÎ_Òà£%ˆÃ…ÿ¸¨$Œ/6dÁF3™.JšUøªô;Š[1|¶°&ÀYˆ U¬ Ãdôn”…I åºúcå—òü‘Y‚Ûq5ùü³ã…9 VŒ úì^†-n«¯Ù3.âpO¯¹·£˜$Y ÎòFpû•óReZÂÉ .=˵–UáWÉ/ÇBÝØ-5F[ƒ[®½Øß¼œ¾}o{' .¹R‘%oÍ篽¥p,%¨¦€ýÊ0j/îK¬ùW¼Z{òœ×£ÇÞÄnµQPUw̱ûæÁ%âøä“j¢šS¸æ”¬à·´.yÝÏ^ì&Õih`,ë‚Ðüó8„Áô¼vÇ@´ð±Vb³®f×¥î±|ܺ¥ØSáJ@n® ÷lØéäÖTî·½…ÞÊš¥ä[ˆ»aÌ/¿ßâ§#Wìõ8ˤJ*“Ó.\å¿ÆSD)ín~Z~ðç"õú¢S(q¨Õr×ìäM@Ûzµn{)D‚…_v + s‰.›à$–WÝw#W”Ý…0$’ñ¥ø<>ã<õF뺢YÁZ™Qëí¼e9ä‘k¹/ùžR#G¯l”ȘfØ‹WgùSÌíñ\Iú<9ôSŒCø¯KªŒºzYy¬Ol-TÿwBðç…M÷[9‚%¸P¥ô™›–¹ú'ìQš`iVdZwœ+×!¦ÒݾuêŽØ!^†sÊrgâò@­Ûª–²Ï ìöoŒš¶ÑÔ‘Š‰Ÿ5=®½ëJÓŽª ·4.G]Qò“?}P@8Œ¦³ã,y|Ö~¦¾‡,¥»25Â#þ'ëÿZ°~¸ÀtÚnYMè¬×.uéDµÀî.¹<é™8wCõ“w O¾ qèqü[Ê[¢á<â;í2æS _ àAޏ”žÍ5É ð)™ìY)°FvoÇ`áé-9+[j¹×¨X_#2äGqqÜ\«DFfû>ÎÜî…ãYÀlàu[ºŒëpQš²@¯±Waú+ Òw]*®†ò(
XÆ`ïü¯ž¢!÷;äòIöÛwO¿Eù*ƒ;Iשjòßm–ÝžÄ"d‹Ä/éÑ’m™r5œÅnûž¬êÌDÜû\<'K^ý…Þp(0Œ,IêÆû¹òA”âª×ÿ 3¢$po&î3i/+`è](äÃ]ða^§Ý¸XØùéËÏ|ö'…¨Ío.-¹Ð`@ê–“‡íº{ºéÝ>Û¤HkJỤ̈̀BÝæéœV4i¥žðJÌ·²S´ O®‰³íIz…`€?g¸.QÜ 7&Táݱ6¬£ <^2Fô“W@?¿ÕwuíÌ‹ñí)ùu)ãè,ÎéB¸…¸õoðZ&ÀUlœ½!®o Í‚ådG¢1P<Ÿþ¡p² 6JœÑö$>kÊÇÎÒ. ëœZ~X e“Ù+&h€$Ч -c¥R§Üzyµó§mÇö ªÛ…µwGGâÈ#j2bðà~ykǺ%åŽ-i]Ñ^›²QS,Âã©z²„ÿrÃõUçya²_Òat3¼°}¶ZÁ^¿AQuIAÖϹ[÷AòÓ«8YÖZ£+}1†Å‹ž-ùIá1!ãGêqñÉ'Ÿ\ôsc7& )Ïé3µê¾'6ÊÞØá0Ew³ sÿ”µêdÛî ~0#÷è‡`hƒIPÓHÂä½çäÓ‰¶ÄFëV#¨ ”ë™=3›ü'äz}7Äy:¼ 8ö‡ÏvÈZ Ágµ7›ÁTŒ` ¸<¦t¬Ð䛓Øhj,téÜ«ådVÅ0VM=ÛçôйG]:œ+ŠÌ¯ÊÚP¥º('ÀÙ²O>ã:^ØEZ¥^y…bÌïóç²îB ÜIé€mŽÈ€«lÔ­ÌŽ9P˜©œ*TæÕJígÂ,Œåáï6§±O0q«“÷Z‰—LŽA‘A}¾lù!!²rÉ0 ÊZò±Îµ:>·u¡™ùž( 'rE9 )ZmC¸«>üÜÀ †ÙÒèy8ŽEdµO忯wSTö#¹ÈÊCâJt/©…ùÜõÀQ±–ÿ …œUS;»dA˜œüÍñCÿ=ؼ$V€õ,;[wjøþ1fÙО’¾Ù¡ÙE¹é‘“6kÊ‹³æŒdÊâ¿¡ ÚLG‡À+§!8®à÷—‘N ¸«æö„›²úg=A؃]S›Ä»Uýô'XOkg?%˜HåíI$Ë<Ë8˜ý ËLâLfØÇ_ƒ§À•™;õ¢w,zYÿS>âä'N¯–·o¤ß Xöï^3v\xsB¼µg ±j<„%^pE¹*‹æ%rÞéž6´úakP|¶´k¾·Vão¶x}7‡Ì"­^Ýá²ep[Ð\á¥I šáQ}좋!uâ:ÜÁÓ â“„Âíè¶ÕìlÿZÑøDì-oÙE¼0Ùþ›{ÁûŸ<0ž(ò€þ-"L¶LnzÜCË@“ùRö}@­kâ°ýâµùRñÖ«¸ÃÌ\š»À¤!û3TPË]Ÿ)ƒ{Ï–1ˆdÔÎ?GÏ@0ÌÝ Á©Qß']9QÚˆEÔ‰ò‘•K-ƒ ä¯Ö/Ë6sw4§V'ü€‰,&#]‚5n?e¡¥”FB@ßò²”¾ y”¸šð2\øµE¾)êƒÿ=ÿêl¨H7õèóűøL¯xq4ôЖlÎ*PþÈK„,öèŠB&ÇZŠRy>pvyHéLc¼ëzP€œ§ÂteÆø‰J¥Å] qÑ¡\ÆŒ­+‡}ò­]÷M¾½¢)ûq‚Üî{¶Ö´Ðþÿ¿Þöª ½(°.áAC€îƒ–Ó¬ñ|ÅE²fs©=qÊgÇeî, ŒJõú % 3•(°*®Ï¡ªBgðDžr {qþ{Ñ"byžSO‡bhÀܯ¢ù&îüŸºz9‚öCÆaãØª-ò~¹À¡öòݽܲÀnÐ/j¶dn·Tv|umœÅ¡ âî{Ü?ž~ ›M/Ç ý¢8E?PÂa`æ~âCŸ)¸Ïò òç•@m­coï?ø'È'ЉޡÔ»+W¬äÝç~)Ë3ÚØúµ¹=)BïB‡ùxFÞ5Ÿ7JkTí}ÜaîŠyÁ M¿`o„Wf¶=¸f>ÛýŸ˜¯©û œ½•8€9Ð.t<ʃD¼o”ÉÂUDÖKO õ'íÏ0"%Ü“ óYÜm–å]?«p^U¯lL}&9 Dã‹)–]1H†‹ûÆ1¡R]‹©ÜÈÕ¼M7ßQˆ¡wø›´î„ó§4À)FÛúŒÊYÝŤ Wn5>;lžå;ïªÁxOoh@´°¡… µ»:¼÷r–}úq¶ç júAH›Ãbá)‚—>2UC–ˆp~-&~魯̗ô€TŠè¤¿½Ô1Ùöpg ®fææ.ðWaÔ<;Ò~—úÍÕF½ªŸVÆ©/ãÂ``ʘ´ êZÊã9’üa1¾˜5êh÷2^Ì0É¥3LgX·Á"¸å*:¥r¥èeFú(ã;wÜErXO©gvàŸ¾äØt5ó3ȧ_Ê.,ae,€{š0F½ÚòãS½ê¤øÄs`^L€ÛÚ`ùÂuÝ2Û2å¶tà4ªzsiÐûà˜ÔáN½#™cÿ’j„&XXÎF3ë)iÚ¿ãÑÔ‹Éé5/8Y|H)ËúÊÔ/%•줺!ØÉ¥$a˜kˆ5­èΖl.užáÚÆ€f²¸Á¸2p-;ÄFLÃ]6µvœïÈ€!‚óÇVë3AmþopnëõxR²$ÖšåQ8êòãÉͨ1!T¯2Ë.]ÙF hÂ~šyMÍŽß ŒßdÙÛàƒ6™N¨áñR̺ï>o™pú5H ²!É®õXJš<Ýjº˜óò¶a7ë¾Ié_ÐPYp¬Éîáeä®XQ^cÖÂ6«2÷+K‹ó-CT¹r Bî½ 4¶Ä_€ŸSD±{Hcñi Î|âÁö!º¡®W9LWõvª<+b7½gc±nì[R‡ÉíŒ%?L Þ§×3ë.ù£Þ¥ÎK;¡ÔÒQÅ!d9áDÞÎd á*š}Î6R"Ïu\žÁÐÌ«·:ñù³çö!Ò/Ä> –‹•]{fšŠ—´vF½$Pj¼úGSg¢‹Sb©Ä÷Vþ¬lÌä65бx‚¥lc¤¾©‹ù_¯Ö”iBAÔB¶ÇÓeÖvmÑŸ†ˆîBÔ½Ø$z€±œ~Nn(¥(B.Æ–Eg4s&;4Ì;ì•“OæÖ?G$'²…/ë!¬Râl‹8¢‡ìÃâþ3Rÿ`¾f7íµz¹Ôb€ VAÎr&‘ã‚Ì–Åü3ãsßuó—ÿÀà‚…´ZÎÅAd°Þ³jTËO8"Òd ÷1égž âõ)”ª¢áͺÔtGü?Aê ×þ[‘ï] ³%û¢¸Øÿö„¸±¥X˜¿Å©U+LVqÐÉkö,¦RL0l[Ù´¹“|ù¯µ‹Jøs®-g£ôÉçV/‰Mb@{[E=àƒÕ_‘ñ@ìô±3Ðë ¾ébD ¬R¸s6jè|GP¶¨¯J& œ¨$ŠçʰÄ{¼èµ‘çÉKΪú²~™¸÷äDÀìÿ©mðÄûZ´T£_<Ç6‚*íßy‚iç"5 ¶©ÙF;²^Ž‘$X']ßÙìTj%ࡵrgé;düÉô£"Y‰BQ 7}ŒÂ”\‹ÖHT$þÍæGÛöÙ)]ÍöÀïÔJ/€¯À9Š\Q:+ð„D©"PºÂF›ÙöÅÒ TÍ}…ž 8¼Ùyª©óBѰ?›¢c¾öqÇ+R}¹À³)6÷ÝÛÆrq££íÐ [ÎÖ€Rˆ;aTd[$Còî'ðà¾ÙíáM\ °Üà p‰ðz²½a=H,{|Õ;càs…$ÌÖJK’{šÂ][ž'†I•ß,Þ?£P×M÷o»~µàw«D‘Ḿ`°RŒà°IäÊŸƒ½‚C¬ü¾Î0Nnlñsâ®ì!I¹äW}gØ­És}#°õ¹<}µì*Æn::ð(ÒßÞBMØP2{¶Ì†õ<êCž=^.Rðë[».Û=Ž7xv£$Yh´Qßrç™p%+ám‚¦ûPÃIOòç\|­ÒA—‡z¦´Nå.Óã_F¦hÇezϦn”/qZ’Ö»,Õ¬ÔŒõFúF¸$ãCN2‚4 úfè½°fU2©‰D=ÑòGý;ÂÀ>Íöö[±¨#›"X˜Å›;îk—3¥*:ܹ}82ò&®rÅÎ%DâÏÁTF"ºø2[~fíñ?½Ó;DÌ"5quš¡”Ud:¾"ßÞO‹8…rUX‡ÿ=þ€¤Õ^.^äÔļðƒóáå@¼#¼ïEŒ!,ÜKë¾(.ðd£ê‰ñ©ø|ÁSÛžÉÁ¬yª…EyÊêËÝɶAÓN¿W–¤>:¬ üˆ†t}²C/ ×°; þñCö7§¦è'Z‘Q§?®QW³Ð irO±Ï`Ã/žp3Û][ Â]‰ê]5†’‘°ËMðUÄwò+€øM,™ÄlÏ‘æà‰¶Ða€EZn»ç»—˜#›†§ŽpeÚNúþ/RË:cœ€uj´%eÝX@'Xˆ©îÞG0‡@I€¯Ñþ¾Ùöµò>:Ð=ñÔ½„hb‡G J°dƒ¦w¦ÜF<ïWú¯™*ÊÕÏ!°·}±cèft•æÇ׺ÈY S’˜Òz +_:m–PåkÌÙ,c¤zvâ³Ø½÷¹áëä&ÌÃÚ Á1$Tøȃ1ÜŽn6Á•,Þµ^α{ê–]r௚Ú­oÒ‰D·\ßTƒÉÄ‹ì«þç«6§ÜE3Ëþ—ÁQÿ ”¤1®Ž?`}è´ç— ŠMï¿©GDF!wBYôÁ!þñȕ˜v,Xu|¤~{dGUøçÑ¢b¾µdJâó«#øN /ŸŒ”ñ,°G‚h€ ì{¦¡wÊ.X­Ò`&âô;š¸¹îÿ¤œü=1­|±Ãðlù&ž¡ãì%+ñ­\…&Õ4l¯³(ÙvLè­™òÔ8õ#t­7Õéï·•ö]|y¡~#;|)ó ÌúxPŠv—ܸiDL8©¤D¶œ.¯@+섟¦yYÖ:©‘ ïBÀ\›ñ†=:[Õï{Ï­>kèt:GÅkçv9,WQº3ÇÖlh$§·|Þtò„ ³éÿ¡2Ðch3tÒL™šw’ÖŸÜm Ml7ÁÄiiøç21Ž…ðO”¥Z:ÕI´Í~ßÄnªãÓüŒsFbyrås¯YàdÄS¤Fz¦‚ïz~(8«Š7e‚¹Ûúàíš8ë’s|É=|véHóƒM€[Žjbλý1Q"zɲ¨eB/]š•ŸŠÏ̟̆u\¼¹Ö¢ƒÁ53ˆÂÇ«•:'u·¨u6ZŽT^hÝíý…6È8NϲÓ( áº—#Œ¸âùf¥J^ÿ椞™îàmƸs7ÛsßL͵¥Äq8]Z‚ŒÏ_,$‘\ñh{Fd/9Œ@ž\=ˆ„«™ÏƒM’ýð5T³°@âŠ|ß&ËD›± ò ›Y¡B•ðTĶ?¼IiNÆ-Ë>~_]ŽÎâyk¡OE»zÕ+w}âÛa–,±ºME–ð‹³˜?G£k›2•ʨY„¯ß¿6It ¬ØÕ6ì¶kGZ¬ŠZ“cËë¬åN=³ãKŠd†Êb^^gJ47õ­¼Ú+˜Û—rÉ!žf"eìOiãVÿ3˜&´ ¾ô?†–¦úR”E׉¬$;ŸèâW¹AJ’çt;5ÈÀ¡ï$™¯ú<(*̆ÖðkÄßSã%g7Ä;í„Â"Ø€ì zDGðmÌÛú P21ºŠ<ù×´:÷”în€G[…ëÊ%''I.ï8>Å[ŧõ 8Ÿ] '`䦀U×4:eg¤¼›K” æ_;ƪ¯/‰ G?)#ƒ|¼Ò%tQYdK&K³çÅâìg|ciqìe.«Zp(«ÆÝ€5ä×+6Áü»!MIÍ|#âE/¨(n¸È4î±Ðñx×Gh°# 'i€ZŒ,§ø«!DDž×ýZlù¼½#~úŒd‘@étjOöJÀý,æS+¾Î mÉ̱Œ_©P2še¸žÚ´àâúÉ€l›C£ª“vc@€è¶hÿ$![ =¾†æq/q .I$¸HTóð=¶¬‘}ØËñ4Žc 5ži5#+ÊõÎîå¸Î‚Á ñ Ó>“ôœE»Ekc4ôÎ0H§rÞë…¼ùy_F5.Ó`×AqóÍ"¬ †o¾Ä]¾Bi%çÛI+eŽ;–?²š|€Åk HVÏÚ-é1cÍ„ÌižëõÌp8-·]QÁa¯h•8V_|"0(É;OŽnègí@¡#¶¾ÓKWC¦Ð×2Ų¾îº:ǼÝJÍö¤iåÜŒ/22ÿçØúX ]ÀtAš¦ýJ*s¸+D¦‰›«ûBs×ÓÒ¤97ä(ZÂl íjºL8 ¨+‘{ãq»•šž¸1>‘pÊ@ZËcÆA§aznÝÎÝ•ßÀçªëjQ=M^< õê}¶]ù|Ž‘&¦4æµ"%W‡˜­ëüÏȵ¢©Å õ–`_L„ú4mH¿,çq-í’«üíbí#È'Äøk®Åï#'J#‘ èÔ¦á4Œ ÅuܙηéùÍdÿWÍs(¿¾N¬œz€@uDØåªp>CÖ#½ùè«;*£…sÝšþÛ B®Š¹ÕA?èÈÞDÐÐiÇ?4¼ÝüMêbÊ1ÂeÒI–Õp’®«›ÈD`«ýq7cÀÞ½P²¤Nín‡Dqͼ>ÒÒ‰+ÛמmcÓ1¯³¾ú¿‡™¥ÆÄpÃ`ŽGæ‚÷ˆd/(I³™Px;µêÑ+qsÍ!…^í Þú¿eŠgxw·ùçPLWXýòtÎ5H“t#€º°¾ô¾ ömtv\{žõ"—síV'1l_@ïm%ÝE?аÎÖ)—j#™iP¼dò¹®az9ë¥6—Õ`Î_p®`Sûís«þªšHÚæÜÇ͆íP@ ‘/‡€ê¾}B޶òƬc‰þj y ¢vC{¡ @ܯ¼ 2åüZ4Ô³ü^‹q'„XûƉ¡ØàÛ¢a/î “˜g9õ›„%P¸ªì6%™Lyœ×gVp¿‘_ÕY6f³ìÕ@±„£Q zÅ3ÖPaI(Ý€®_0ØNœâ ¯I“¾?ƒÿm6hII)à­8 Új\Š÷MbJ…-þå|†˜ËpW ’UæÒ§Ý0 {È€JLÉR|°TÐe½rçqùæÅD}|j&ƒð $,UJÊhÕyëJOeÒš€@½B¬Y౯U#¹”ÊD„0€Q¬cÙ ¿²ýÑ>T Ö«0ŒFhó >õØ«"Ÿøqd ¸÷…r8nŒ8:®˜cf5:„ë6»eÕJÎóZæ¾õgÛüsÖ&}‘Xc%²¹Iˆ  ös:çNAá—Òך¦JÀt•Fæ ¿gýd2{W×ÿJs• …Ž…$,¦ßuYÔÄ]þP‹&­ß†½£`â³>’†¡8Yý7Ù sž¢>MH3+˜×7nZjBv¥¹¡°›>ñû×fƒ"-©õø0é¿Ç‡ƒàŒÌ‰œRêj`Ôܬð㕹@¹·vq@fµB%}¡À3OB3"q²ºSÂ6;*Ò¦ÖˆÞ̆‡ç"‚*2aý Wò‡k4;ì¥Ù]”|·òäzÅzçl¬ÊsÌS˜®MÒMÆ¥­¯ÙO,ª Üé$üþ1z–‹SÞL ‰a¥|ÓIì×1w…¤=‹Àè“d1/'Œ? Œ(YjG2)øKJö¿R~$hqÎ ÐÒ}Û{pmvš¥0èÄ,]žò¯¼Ë¸¬é FØâ#­=xŠüß+޲Jzn…Eõ¦énUÑ]nÉ Ã`›øºíyÿ¹PxÒ;Î`Ö+kÏȶIÏJߎìJCw5 €½³qjLmO‘dëö GÇÞm_óË™EC[1LPÆ) “­;ORªèZâ ²;ñGã´ŸÝJê^ºrsNˆã8HJfð3)7VºšÅkV@Æ ªãÍç Ìú#k>ÁP^0sâ÷ã$•í€ÍË¡–ÌÝð ÿ×_^Z%BÜ*µ œšžƒí6ø Ž€f¢)ÊïoèGü5z.ËXx¶uwÈg­`-þ¢s¥®¨ü§mé×»ä8Fu#ÀÙz}ÊÕG®kïÕÙ‡ÒMsˆœdØë•ÉxúÕe´±åÆøné,W‰‚ªEÚ(þ?ðåº#aæš§ñ5m(TÕµW»aôfüøÚc¿ÉmªxÅ—MS[W•BTtvkûµfí•î?] w±ÌÄH%¦÷WTR÷£B_I4îÕ®ç/`Œ)!zOõeôžtž¤>Ë"ÜÕ(qÛžã¡Ù”8iV³ø_Ó@›(N÷¤M}žùÅå䉬¡×BÔüØÑàö 4Û›‡‚, ´Y"‹½-Nƒ6 4V$¯òÄîâ¼|ú£j˜µiY-éðHPÍü†u¹'%GàG±æÈ®ø‡¶½õ¶j­õ#ÞÐ_ðÁ˜`v©uòFÊ’À¿ìûÆ>5IR4{lñk²¤|Ùï´’ ¬ª‰„D¯½žk¥Å‹ –€1úòÇSÕªäÓµ¥ 5° –„ß?-™/öx”ÉÑ ‹â‹®ö°­=À±ÈÖ.Tø6H׉|– Y`!:w…aÅêW53¾›YÉ®ÀÈÓÀÄl yÉD¼uIùRcØ::OÚ;¤X³°/Ó÷’„å òŸù0ŽiéYX2%ÿ/>ZBÒ^tùÅætÃ6„ Ô\Th­žÛkøq&“`èè>?{]kØV<›=ñeÖ;†-ÕvÔ6!ÎüLÃ^I ¯è ÿ!küò|æ{Þ}‘1A¶À½ýD›D¦ÃÍ®í¸?.¯NøMÙ۽5#èLüµI6êÛ÷ß0ƒ“6cØwC$‘åO A1:v˜Ew{‹…/ø:óƒSK‡3ÒŽ6J{e=H¾,[å —£ÜÔRuâ Î;4®ÄÐì´^Ë Òž£ZàË´½j[ù`=Zh,Ie"©Ž«¼jĉ ·þõ…G⪗ ßÏtOÁۆܩA¡†¯DÀ·•Vqâ<â€åð^½.t»½‹L³¯NÖº¯ ì«_ì;¾ºw´PP‡Åøõ­¹ô×â]X¬«½¸F¤Ë©c|´ «ÇûÃíÏQ¯n·ƒQôd¥WÉ<dŽKÉ­Ö?¥º÷€ËANm×JÜø¼,YÄNa»­ÛR€î Ÿä ;èž±z´}/X¸Lë?5D5u½àLºD@ôÞRéŸÙÚß]‚|;$ùúQ‹ÑWífë’“båªðÜåg=‹ªûµÅ™)¯,èGaï´bo«©¶ w.)œrnrù µ®ìC?v퇢Ù)9Ø* ‡µ×sgc&(¡Xâ?våû{™é¨¼?9#ÑW'úžëFNQU!¢ Ž–ˆäŒ„ƒ{£)É ©'ñxÈÿ5P,ëÕ€T{¢æ5Û<þ=[*e 3dŸå¡ÛKe²ä¨ÃIËi§DK-–Ta*]6pËj{Qê”Ù)Ô‰—ÖŽzc0~éÄÎËÚ8ó2aÀõ ñ×XÜÙœPXû;ti×Gxñâ ÿŒ´PXRéf¦º¨U*K¾WSE/9ö—uñüËŒYw[䳓c“g(d[9ši<†…ªJ¤Ë˜hÈ¥ 0Ö ù¯V˜ãxoô ¢s^ûR8Ó¼¦³Á£c _)ÕeM_#˜wIœ±»Î ‚Ä{ û{nÍ÷=Õ~¶4 ‰Føª+pV¤…èü2\Ûk­¤¸]…V}7¹´¼TÚ½I£R;¥»·óÜ|G'ʇÿÌÙœï˜X‰˜øÆ¨B!s‰Lš2‚)± %‚:±Ìey™M7¡2f À#Û»^™#þÐék8Á«åüÂÌ]啤çQb2x\*d Å®¹ëØbËìßë>å¹ ºF¸æ@øe €–p^íÀàˆ˜=Ð{éú;„Š:ìðoÍÀ?zˆ…ô/|;&Þme× aö3Ù>ÔøÏø¯/Bë´’ž"·£bükGÆÈjm3)~– GD)¶8Ì“”é¤Y@[QtŒ×ç$MFD¼CMƒ¬¦f싈Ó;‚æZ™­pmw?‹±W Pdñ’…ž”–ɳˆ›˜»Ã÷vŠv8¬è0z¿=J³r]¯Ía0P¤S•®ÀRùä]or Ìñ_£„!íLÉPRšð}Ï6Ž— ZÏ`a: kçF•—9Ü2LTÓ! žäg%³댸óK O`éߦÓËÇœd¬Œ(r4e"B<Šˆ†Ÿúµ¼à #roÛâ³%øŒ{<Ø)oæ•ÜöíL½ºx•WR¹(GùÀø¯GëÃç§4Í+ÇÑ'^¿Õ"grR$½ªÁÝhŸ…°Ì_qÔ†ãY VÙaèÃJ3æÛYcÔQÄw™¬üïCÕíÂêhÿƒ¢‘7ÉË]\5Âzüˆe1…Èæ=×”½™ùì²Þ§ÚpÓé[ñ®«é‚ð_† »‰­¸u1ÚìĬ*Éd¬Û×;ËhENt¶)lBS< ßËðTzý+P)œ1l¯ö-õISfò8ÂoŒg+¦ŒfµœA1+:Lè:5Ø*ÜØ£´v‡ ¦·Òö x½®¬M8‚Õ™„Sf†‘<èÁ¿(¢%,é'ú”Ëò `2ÄÍìõnù¤÷ªÇßcÏä¦v…¼P¥B¤õÃ1£Ðf 﨡¸·Ã5´jüjŒ^µi…!¤gFñST ÕÑ17±[ú«ÅP °S¨_O”óÏe"ŒuJjö°?Ƕ¦¿´èSâ}cŠ¢È¤ƒèÏM S§…3/Ð¤ÝøÖ««I—”…›Îý˜äf+åÙ›,\/dÖðjnšuöW̯éY–Ù¹š–Ï5Þ³ÐncÉ÷ S¬n4Íœÿ=·»u ³ˆ1«ÕÔ?²#DÀÞ&*¢9Ζ*ưh]„Q+6RÄJyÐ °RdM ,8e¶kÜ&ãlqp5‚¹À·Z¹c)xñ ô6ŠUÊ–Ý)[™ð‡ƒt‹„ ,ýÎ2|úÀˆ"Í6/ƒ£÷{ë³ô㊠)F©ÍGt~ƃ4B—¸;+«*=4î0…M¿Ý<¼3ê%ƒD31$`D–xD§ãXÊ“´ˆ¦~s7æ¶²ßÙöü†‘¤Xo 8càþÑx7AƒkuåuÒŽ¡$²ÄínÞE.Oàenºá*K `RBl0¶CÜ ø±àåWYXªp•+"_9,6àø6(š9m“³,àÐHÅ&Ús9ÊaFJÜ ŠßFðŽÝ’H²U>Ü6Ò >‹æ0( bo=?Hc®O PÌň}4JvËîGêTÑóò³óTF¬cv)Ϊ¶×»|ÊÆë\]FW ·ÍÍ)©ÄÔ´ÌÆ,–}1™çIN1 ·$V÷ÂFá˜ÕNÂ(PC±6Jsn3‹_Å…™Ÿ×kðÝ2¥m„‘ ¼ŠF¿ýë¬ãZ®¿'¾®G÷ÊS¢ Â=ãô|äXO‹‡Yº@í`3(Àõ»‹.¢Gã*`‹ÑÒ•/U²ÕÄ~¥Zבogº ñÚ@š›lÛÒvHº0¸„*ž’µ¤ø·…• bß~ŽiÐðJæÄZ ->W—GõÏ,’qx1»6.3ï’R^«4ËOr$š8e I‡÷Åülòµñ9ƒúJì(âü)ÏKæØÿØš€Ð¿¿Æ$%»§öl¾Û…ê(fR&‘E¤|”›mS.;\‡$BGÁ[EC‚ãw!È2¯÷Jp< jüR.Ð]FB¬ñwì9ŸZ!GØ$ ^ jzxiƽfcÆ·¸¡@8ûqXzáîÁY¥E‰–šdA1–æ4¸ÙÄíL]ÕCÑsuÀBÄûåöˆD8TÑÈÑŧanîí¿ï¤t} ÂH««Õ¡æS´hYJbá1­ÚÂ;i,E“Ób¥¹tТ£^öȽ~"/hc®>‡Wõ³×ÅëúÌ’ëK»¾š^Á4QÀqo #˜[~»æôçËœyI6W2(ÚpŒz*²!b±zWƒ±7äb™´ÿ©p°”ÑÕV íù+¨ÒÞé0å·àøëœH:ã$lÈ¢hðU~=$ð[¡x)õŸþg ìÁvOºü 2qÖ,ÿFzQ"ÛÆi¢µ¢^Ä‹èG)´ìD¶Kþ‹GÈÒ¨Án8‡H¿õ´ä ³ÄÝ„‰=ÓMµ`Vã¯+Žï„°÷…É—Šo!\‘䌺Üéæú¨5‰Y­×6ÕíF9‹yøÒLÓâШåÎÓ‚¥?và 2Öôxì®å{ V»óFcR¢o·™ž¡·å7-_ €ªö–d©hð:¬—]œcÓfëožPÂHîÅ!gÆ›—[76#! 8¶¿ÄÕ„¨}oâ;ÆÉ3(ªÕït¿I߯T­º3ôDšœï¤‚Q€'ÉHû+¼ì­¬Ål‘\§û‰Ú$Ô.fe,}5‚D$‘:ïÿ—}þ†þ±ž~%JfSr„c‡I,yOBrÃà Â“sð=jX †`SõÏ÷%ãæ(úN{¯?Ýœö%6ŸöÁ-·/¤¯DýKghqÙ­@1˜g,ºË¡kpVûgã’øÄœôܯHã¿™£`¢›L¯°MPÁ·@µRzêýt>´fÙô’òX0)8RسKÝâQÏr%Ty[>‘Ô" ‹Ä¿um´„IÛWcæÐ ¤m¤Z™vÑw ;ƒVunVÝ¥Üç4ˆ1"±]¤ÁûÔs?§‡ðèNäf³½ªÒàû€®"Y¸(†Ó£‹ú:†Pïíð×µN“͇M´«ä ¡±D]ÃêÄS6\ t˜]œNÞÜ÷>É-¯ÙÞkÖÆ}âÈηDB?Ñoa¾ÎHp7ò‚9±Þ€?eZÒŠÅëÖBÈ7¢vf€î6.g}WÀV@T¡ÇTuž¬/ÎÑ–§Ý  Iªõý™š#ܤR{3¸ À¨¤%B\4jJpùtN)Ë‹Ê3>ÀÁ äÝæ¼=iI4¬™T“#°µÑ™¯õªƒ´#‡a c=¨üBIЏUdå£&UTR=•8o ^±m`{y¨mð"eÿI”º{ò5ÜäÀSèž*òVµ’ ’üŒ¤¹ìY«hß|¹©8ávADÑ$»ÉìË“Øe`Rr)Ìÿ"Ë×"$o©‹‚ {Rч¨!NÖø 4Ú3Ê‘[ ùîY¶ìÞÉú!R*€h·»P+§Ûk¬Esyµ   òÀbk%íÓ™ßTE‡þŒlÝ’_Q)§QµA’¨ƒ[=”ùæE¸™»àvxѺ D°q>ί„Á׺AÍäL‹ ,”-qøE¦è‹áÖyþãÐÌh®ôc,%rö…F[ȸ~®äY&‘G×T9ËÜ®-j` .-Ï(ç“p ±‚,jÊ[µv_iyœ=ƒrÒàSþôx÷Ö%‡OœSQ˜ÔOñ?XHdzn©úÞµAf¿ÝúìŽ^ºêžÅ Ùv–pÐ'åí£E:,ËŒTÔäÞDmªG÷‹A£µä¼Xö¶Pe²<&c«!Œ‚¶ñå}ì³çßÐð“bå½g¤¦¾áx>ŒŸeBë%ù\1ƒx³¨f3£"DQˆKhyq.Ëÿ2*†oùëYÝÄaŽˆçN´Â‡[¯Å=‘r—µ EêmÞŸ×kµT}‰E38}ôË8+ OÌ¿-Çq"l–ÒzåÍÄtÀ’¦P‰ÈåôìMÀÄ“³ÏÏp‘ª6"Σ/JÑË40ó=¬¥˜vÈ Ê¬/âŸÁ|ä…Xi©Ë\TïÐÏrô3wãÙ¡ÙéèŒv Z$dþ°7l‚Íå 1RK‘z÷|}°® Ú_éô#㥹Pwn7Ný¢Ã¼(*Û{«†ÐýKê1‡ªÕ=ÀNV0&ŒMþN±„‰XÀÀ—P H5Ï.-õ5:Ö·½¬,À®¼•ÉGƒùÐÍ[.’?´§nŽâÝÜÇA¬œ`7ÃýžÇ­’#ñ劃³âtWõC-,ôGÇV…›êÅ:GŒÚ£Qš³BMë« e΄¾‘ À‡‡`Q}›Þ×ò2ÄçUv7œ²O¾kœS•ÆÄQ1(´á¢ÔÅy)²ç¾ü•RN÷,'-ZYô¢lãr À°=HWAh ”ü!Øj‚D¾Ö»è…Ø[lnp’žþ0€â¸å´Ÿ•/ͦ¾»íVRká­‡â*„™i}í„þê6ˆD¥ÆUônúpî“úõLÛÛ>jF»·cï÷Á>HÍö ß$ø¨s­ä_yìäÿv,¦iï€ý°úRN×\%V±ô:œk‘$ŠáÇ<:1ð#Q‘Õd°z££“+ÛI°&D¤'p|èÅLøìFѽ5EJ+Á›E‹å`F4êô One ‹¦,‚ÁÀPhþ=^BæbÊI‹òç?~èö±¾ËÎzT’AÇsã7æåJ©õÝ‚:Öà5*‡ÛP$*÷=fŸÜùäoÉBÔ=zŒrõõbų«iæǿ‘Sàƒf¬—4ÊþÒ8Ü4Ñ‚bU‰Å¶4+@ÌãÇE‡?u¤ÿ mîÊ•ÛöÙ¶ ÂÌø•½Â4è#Ó'^è©¢8hõîvðA ví y½dkÄN¬ÝN~!‚gmTædúeÅ o}܃v‘=Po“øéH¥]÷—Vb£Dè´ª‹îût»€?/OtìŽñ‘L1ÇýáÞ!ÉÖÅÕ„güOû*, BÆWö=82ê`Жs¦{Ñ…1Sgƒ¿èè£ÖÖDW yr7(]âןÊà h@­í{p¶¹Î*«º®³¥ç1d#ÊǸ*5%±ñ°ÓTøÍ™iÿ[*‹·Ív·„)õͧ÷bû |¢äHVM‰E[¸5>eT%ø@ýå¤3^ΡÌÉ 9EmV`m¥ªoéÄtCû¼hŽV^Þp¼SýÛ¹5HöŸUê[¯ï1aX!‹ü2&H­JÙø.1Î é–yÙE} Z‰Ñ m‰«þï2¬ ¸’ù]˜lËŒ0–-r-Õ`«â»ymâm™C[R¯9ÂѲ¼ÙÈ1|ypn(3>£TMÍÜq$¶ 6ñTépý”¹?Yl_s‹`÷nÆŽ'Eb]TeŸ›½U‘ãüHäK´gí'툾zöõöì}#–{ÆÜÈÁ«Š­Ïãþ“QWijտۼ¢~ÿà™ÝßܾİþÏvîï\vœUv³ù¹ãÉ~.,¬la•*ŒOúë/ß®$= D-É<cµº•5Âdª[¼Ö‚…÷„kn/ˆ„^ ªº¯*õžÇnf9°Òá<>|}GIçóĈžÙw{)çªõ%5_1]¼‘s¸„²÷y¦Špµ¤Ö¦ËžŒÐ&¥´wkÉ¡öcQPÐìÈaÙ!>ß6çÎ;+!u8O•x}ñ¬å­ˆE_ÚÓ…]ºnJ5Ù"³§È}†º~;榑R‚ÜDJœ-ð,ÑÌ9F€¤)¸†>£/TUèó÷24ìgžçs”% ”„}Üiråï»þì.xbï¶ËÔ–úÊ}€r8-·Mtj`Ù€6é}Ѩ‘‘,ëyE¼¸Å¿É¹ €ÅÄéÊÉZkìd§H´Ë­ó¬[ ¾‘$üp7«õEûÁ79,²Ü]ÈTèüKí'çt¼ÕÐ6÷ÈJeÖ[¸Ôg\¼²ck.9'Þ&y3ªaf'·âμ«ˆÉ"]EL¯ùíÀ1â/æèÕôn=8Nµž]·Öö"ˆå·Mgµ\ÁßTgŲWµãÚQqÙý õWm({Ê?šºÔÏs x 23¿é¼´´¯jÆ}g)iÖȤjëoÜ1cœ”8#Œ ãH•{È:™=«ŽBª¢lÜd+ÛmRçŨØè[9tOа ˜ Ô=y‹¦!iÐ(½¸]¢žc¨”'ÉWÂôzQhÎ×YÌ™»XÈ4ìÀòcÍy1žªd0î³cf»¬ÓdS`@í*%Þ]-æþ¢·ù@jÈ2" fcY6tø]yË'ø'¥v<® R©n8“6/âKþ$úU-à÷F'®œžÝãt–6 @¶6<øV_ìõîâ·)ë»7Ã˳\ð¦O\¼^ §OÓ#B²kíDòúüa¼ÕÖ¢¼%¶À˜ËÜ]!˜ =a'7gÀ 0Øwñ$ÀÈ50ǬÍ}·ì•FWkK+Bè)+þÍ%º„ KÛkϯ°YcßêîjøEùZŸjN•-@£,ÊZÁƒ¾\_fϽ}d}0û¾e¼ªÓ¦ìP=æºÄå±%¨i~eßG¶£Î%fxºõ¯Ìñ»S¼Cw´,~„{„re7Å s”AÞñZèj2Ýw“µÚ !*+"¶¯9A§Í=$DŠ,t2“[÷{Þr[a Ä]9™žãoPô]!ØŽë" Ò¡²^*s·ó®±Ï—r½"ôD ¤ÍePo½¤%ecùo¡ªg)á%ìd0¡£Þt›Û‹$0³~J²ÂÛ»|I1™¦¾‡S%ï[°zãI)†Ì‘ ¯Æ4® ð·݇&Øæ"mŠ“™†;-ôNU5í:Só‘öÜFÛà^¯Å1Oã ¬isø°=ÌhÙ¤ßwùjSŠ‚°LÛ1={ÜP9r¥ð*DFá[QæZ¾hkÑN:½“‰ C¾bû_<Æ^ˆ“”UæÀ*ΘD”NZŽ!”ã¦OrS@#–¥}pMÑ%ÖΗG܉•Œ`¶¶¹?ŸÅë¢(h\nÍ=²ZËÎ÷g„›ñ ¸ÆåÅÊ&¯®S/rZ<¡VÐà†Ÿ,Óu«ÿô¿´U¬ü TÓëœíæUåÀ%÷R7É ¦›Ì‡ø(.™o#ÕL0×r4JôVœ}“d‘§_Ù4áq@\a¦ ¿¹áQ§.sB…ìS¦>]ëûMⵈ( hm“ :ew¤ eÖH÷k²Eóã_@ˆ¦Å½ÿ}Å6ó¿F†ÉÃ[´A jî]¨QM—Ë/[$ŒIrE6Bõâx¦4íˆcáÀ Š7C 5IuÜ×I*¾bÿ¹áÐçHàW•Ž£SbFr Cˉ;N…Y‹Øð-¤Ï³€gI:ôôvÝâÒAZ(,ºƒOyÊUq_̾î“yÿ¬Wù:Íöóýÿ|1â‚:Ê9•.èy™Óm÷¹±QùLRüýÁÒÔÖ2*{i?6t¡÷4Óð…OºvÈÙó1>?ýÍøñJ4)¥P*âæ¶!ß6>Ñ¢&p‹ÖDÔýЧÅM5•VXPÀ0ïðÕ´ø“n ³$%²ä­ËïÏAМ4Rý¦Ì¸59=J¬¨Éº“Uw‡˜‹¿.äc'ÎLrf1/_Áßǵ ƒbGB!/AÙò77›œCØ@Æi; ¶U„‡œ¥”ïBTNϺ×b%̾~Q75AW6=FVDñ“O¾uݽ»|ì «k;*YJ­÷O2À2+¿¨v#| (b‚tæ\@½l"žõ(»úŒ‰Jn¬Ç°ŸØhf™lµ®§îzÛòülÎñ>õè}Õ°¤Å ‡Ûýe} ]÷1Õq¸wMºœb|Ÿþ´²X!ÛNKO¶*ßä5ð7Ö nê‘ÿ.=’ɦJk–Dö“L­¥ÐN@ßåþrcFý½e±õn›B|Úþ¦¤>¶‡Œ¯U5Ö: ÓÂtßDÐ5GØ·'£E Ré¢ÂÏ€E茖 †^+“w7­‚žˆ½Ä¬‚Ƽ/‰8­Ž¸]ìc%„ (u†fÆÑàù,<çÄ6–§3FÏ\Nò‘ª÷޽6®€½Ù)Æ®ÂrN Û†ÙËÛ¿eÀÿS‹"dà5§F ½b7X©ªfc®>îÌ û߈Ríq5¤oeÙ‰»+¿ ]¼#oÐþè)º?š)G²{Ïĸ‚ ¦7¸s8õ¾>ô±ä͘!2Ï…#½Ìæü»%÷¹Y{W®ò©¦¨H[¿ÄÁKK¤{· )«|Š£o•Y¯ïŽx§P› ³¥2‡oï¤ õçÒjÁÞÀçÿÍ}™m¨½.»NHC; Æ n¼Å ¶5LÑ?½oîé£D¼oì}I5Ô¶Hùlj¢²uÐL]äáÌyÙ¼Ç ¯,—d-U’g“‰|ÝILÑC7ø|ûtDÏw#²ý\™fo±ýüÙIiHˆšÞò_p,ce“H Ï‰ÎÙT˜’ü¶UÞý=ñÑnÛR}"ùŸTé¾n@T¿nþD=ý¦¸9†OuŒŽn®‚ô˜%‹HäÐC}ˆªxÇ,Ðbã3àŸÃô«ì¸KZ]ø¥t磣Ã*Å}Ùt‘Û¶D”ÌÄ6Ý!Ö›v;Xè•Z½3'Íéý?°Të`i‚“ž¤שX³QSr#ZËËSº~<ˆ˜j #¯jK¸»w\Jù$Œ‹¾ ·HÞ½š¸ÕÚÃ6ïg¹7Ý7jL¦Áã(Ð$¹$l8º']w±Axˆ~ËNx[SÍ0JÔ•GSÊç„™˜á%B‹nLñž8ÀÉÃòÃIwþ-$Dùéâpÿ;îð~œ£–i¢t’ƒ…lQÀIrDõ«ÐŒVx6ÇÝ[åqBt£vhQU<^g^»=#­Õ×»¶qñðÐ<øÎ"š;„úÖŠR¼äçDuŒ3ÚBïIЧýôj!³™"^º·sXM;¾2f…@”£¢Ýg’·Oe 4¯ƒ¹™…ÉÉúà’r‹éáöûž-ëÐɶkl‰P£¹ÌY o2#ètþcòW}É<ßvÅ“ &GEµiÅél}È@ÄÒÎXµXÉ%üÝTj5f‡h¨OÇq½”áïBµí©—ÃðQÛ­€(îa²ªwguSnªHH¾Uïá)¶b´½% ••FZä˜êA{,¥di§l.o5ÉÉ®YZȦŒqƒÛP*·æbQš¶È£ÇáÜ?Q,̽ ØÐbh¢€gÏ–lºì 눹{åIµÊ5íaÝï ý'†xÚ‚óÂÎqMO[r„ì§!kŸ§UW ÿr°VôÖób×¶ôÑ”Mûò¯PX b'Ë$ÍêÂ6v´ØðÊØ¾$ ¸¥~99m’(q× ÛFgÔÊþp$*2žž»×ºHcl‡o`%¡R?àÊdi‹5iœC·VÝ;lûïƒqˆÚB5ø¿Ê䵊¢dãŠ:רzÊÄÛ, mÎî|פ! ïÑ!ØýVwtžà¡k±à.¬ª/Oñ6gdëtÄîsIV3Oú¾vdªvÈ÷~ù Bk˜¦Ú%ùV|«äqk×&b¢èWŸ{ Ù„k•¸h·“­ÎP 4)fª¼¼@†Ù§b§XËÆ…xÇ#'‡¿Ü:áê<´šÃ‹¯!6b§§Ý ¢÷Ànb¨þœ´B‰¥·uø©Â^› /5Ù.Ú;{PÛÖï3;t³@?»êá —°Ô&n‹GÚf¢ìè×ßÕA´çÊ”N%¿žçºkê~?Ðù¿¡L}J½]…ºŸ?ô÷²§aì8u#Ïöáž\·òFÆ¿ çp¶¨ˆÎ/Å̳V¤é8<¶UJ—ô‚·‰=äÅì©ú”+Ë|´YQÍÞœy”Geä¤[¶µqà9¨'‘_'O·B˜¤õã R¹é"$@'>¦œ÷Kíü’±zu#´E-Ëb (,@ÐÞ@c˜4ƒÖ튦Ì|Ø81CÅÒ BaKxžÓ)5Od7›R B¹CÚì%ì.¡&ÿ´¥ÓúDêüÕÅ©wWFtj‰ò„þH0” ™óÞÇ^ò›Ñ6­_‡"úE_†Ã>Å)_¦b/ˆ_Áš§öó¤¹åK T³nß4EwD©øp=Ù±:6–Û LücÝ:þ̆B‹ÚË|8Õe?²¬vèÀa_«úS9 5½¨>1X77À?‡Î­šƒIØc4¦àjÊÓ/DÌ"Q‹Â¡ãÓìû±ÁRؽ3(šºñí¿ÈÍiýLî~x‹>W%I!|ô8“Ôˆ Zp×b§ òEcÇ¥p^R9À¢Q.‰-p,°q‚f/-Ì`¹¯,/hª~U@ðL5LMÇæž¯)%ßðÉ•-Oþ h¹k§-Ó5ÝÇB$¾gÚá©ÐTÈá/âÉŽ–f†l*ªžàª8‚žÃQëµ¹ÃKÀbuÖc–@,NW;Ã~ƒòWwÂPÕï©{'q›ãõ=Í—V~6Û1X£j©Ràê8Å`Rÿ¸_[¾YcÆA3Ìì(½®:¡NÕ»íR+"û´‘¨¾â|€j²¤€ÈLh‡)}x3°õDª2¸PÝz@_k9Ök‘+g3”á­Sg?Âq“‚CàôLuüø K×?~¸ʼ2*¤ÍC?iÇx”ºÖX$¹³7 ‰ÒVÉSÙ©Z¥Ë²†Æ|°ð8@ÝŒ¼‘yh°ÇÀ‚ÖLƒ“ùÈuäïì¸Jâq%Ä÷“Ý5bT]µ§9SqdŽXJ"nRÇ&[•ÿ :n±&¼ÖâM:k{ïë+p¥_J ¤ÏlÃCiOÇ®ÈÛx€þ¾Ø•}ˬ²£¸Ð®j+Ž0)ò/¥ç ·Ù DùømŸpêüitƒïË|}udצr&M©*éNêvüÿôÕÖ½~¦<{G†Ìr,°&LÂæÝ(ÿŸ NcE1O<.—[,d_˜ ª¹‰QʸÆF‹EïÁÍ’§mpåf»–bƒ)·Uu÷£6©Õ©=ªDNDÑîy3‹Ì»|eÅ¡[ëb•wëŸÌ uMø)–¸_•PsëX³Ãðþ.*f÷ôbÊÍ —p ê_¬í(Nò#y³Jµ ¬±!¢H\$˜äÂS²^Gi Ýº/§â !¢;—Toð þ^î©NS˜}P¥.«o9e4×Ô¶&ã'¯©f¯ÞÃf¦mAaÿÍd„%ÅfèŠ_ʽ ×ÎTf¨Û4¢S´w#(“RµÝ:>m¤ã…ü¦Jè÷—OŸ\ôv®$†5B™šŽú*̉“&æýÎk8Ѭ.¯‚híkýWDVŽ˜i7ÌYH0‰„}c)‰ƒ; ù«·Ð_Îó*ò;á ³‡§R°.<’A‡Å•¬ЂŠ+Ô=Å­Ù)U3ï¥=Ûÿ+ÂåÞÚ½cm®FQ{`æÐXÕ¾»¨OÝY8f(c†à¼•¦–'ŒÊËï¦Í‚¡iþƒÇ*²& ‹ÀT g¿Ÿ¼'|žç©tÕA.®Ñ}iY` „á•|”Õ¸BWYz“(4e çOÃí|?sáÑ<%%ßQšâJçÖ?Î*ElŸÝÇàA{T¢Et•‡3 ×Ò‚$ß´Dæ9~-ÕËJz+6ÿ[\-a€¾Àd8#"ã&Ùz¡Ç­õýÎ5ksì˜@¹ô޵·4- “ÃjL•ì ¶Ø J“Ù7Qá# ?Á Pâ…ï=–,Úå¹VÎ$›³:·äDž÷µ7=½@T÷^.Dv–нÁ˜ÇŒ@´©ì¤Áýëȼ}¶ŸÂ+Y0àö©ª¯Ï±ØÕþ®kÞ€[±jÛØå¥™€  cÞ´"ú.,w;O…? N-Åß¿qïWqµràpFEP^Î"»–¡ ‹í(©@µß´ÄÙ²!³#ä1ÀùÜfå­ ¦í—S›±(D8LEÒ{óFU´þAǰvo€0€–M à¢Ãª•¹þÏÂ7~Ö•î©JÈ~Ú[œJéoéìr·îáœF‡®àçô"÷x«i“¡Ý§¨”Õƒç²;6M¸“ÚÓüpÀ¹ì¦´"йà»f“[_† ?˜Õw•ì˜nKÚ†`×I¥jÿ„Ôyvøç¬ˆÒ˜÷µÅ;hF© ®ô/„œšÂCõ-”‰™ M”C†´VËʇ*7÷d!ü&EÐêg ÞðF¾skÓûˆývÑë–9Ù@<.ÉÍ»‡Ââ­(pt÷öh¾gf½ã~‘Û>¾‡ðÌ~§h ¾ü¡ÊÜ- mÒ*I!<Æ­d×-,Û@°l“àô´ô; P˜|!¢gåJ{mwßÞi.Wz=g›x±ÄÈÛ<ñ‰ÈÃÌåÄGPO¯ð9"Þ‘‰{ìÅnÿZ•’%ÅuO“µ=0ñ»—æ»ãîiqqÁÃq"jQtj«ÄÓ¤+ÿªúc!×ìHqàdnתíúø'ƒ‹Ïi1š,çÆW‹‘ʬlõælc]ÛÃ.ä; &aÊògÀë'®P‘&˹D?ø@µäà…ä´KWójVÐSî.ò«J•ý¤V$g#ÝZp†#˪áéw WɆŒ`g:\'ÚX}1ªY¡ž ûø$¿oá«ÍÅUaB„IdÚœÚLÐäcQV@²èÕ{±êÜ+Rþ(ÁÁù?™mÌÐÿ9´}OõCÏŰó§Wj!½|ëUDãVõóaáÒ΂_`1­jsJšÕxV2?ˆÏ}ÊÝ»£¯qiœÊF‚­ªòü"@+Y®šUhVÓ°ŒIË_WFæ=H3GÔ4Ý>1 êl:/š4 éó ™ø„éO£WAɑͫ/þ·™FRQ®ŽñPgÿ$Þö\6Ýg$ ½}Ïr\´?ÃYL±MìNvÄé]©ùC%V ðM]½]¦AíÐVÛ1ógO¶7Zþ䪾K›`¢ xœ[¶Ø.¶; û! Óf\™¨'XóÁ!º9±¼Ÿ5X0úmf±¬5­ô0 ®Â„ǰ±Du\Ciá¶§.åO„‡<ÁösMäÀ<âZ¹¬F—ŒvÊóŠû¹b#Ì?@?`°mrBBÏ·è|(— §È¼˜õbDî(¬šl'±„Òñr¬Æ”­ã†8oµREؼßXÓ-ÀD·EK„’rôöæn,ûa¦T ¾–¬I‡IKú)¸–pº&¥ë31¬6ñš<êLÕXž¶dÄÕÔ+/Ç3×óŒaÅ ÌFFE섎Ÿøúž¨gWf–ñl¬yt]Û9z—ÿ%@K€§‡µ;nø¡ÚóOºÏÜ$,;xkø•n˜´:!Œž’³Í‘O™¸ªÊŒ~ öÜCK*jÅSúÌÙŠÛÅv¥ÈMâÇ“ÎuðQjQE ”yeNªQ™yÜDæËfÉε4u´RçÛÿôÇ÷½N§Îû±ÝÞbNʨm´½þºqîß„2{ÁdÐ’'/adøû î–þZ$ãà¼ù’}çÉŽ¸RõˆÖóà”¸":Ühúš˜¨ÿjyÅöI1Þ t‰su -=¯¤Ñ^Z•%œÏÒ”™|“5 £ˆó½ëü×éK||ivtñ›²Ç´(þ¢©„õæ>ÛŸOÔ¹žÙÇà×ÇPMgédù¼tedéP˜ýGö6Oû™ýk®ïbß!W™b*ƒ COµýê~cq»-îŠÆó#êÂMÞëY4¥‘°.é­Ã ¤Þ\kŸÔO mªÇ,]5¶/ÃÅ–ªZšå§7ú‘Î($ÌÑ,@§øÑ£¥™^3íâ Û–¾u>æÈ“n„Á5õç´˜õUPyL!=Rûá÷ð¿…tÐ/3Nd¯-ètKçÉækP(xóÇ@¬eÜx{Ñ Œÿ!]u4.N¦Î²pA^÷5\æUÅïŒJ™kø™Í²úyƒ -ü<­Ô²ƒ|ú[ŽÞ&#=ž—W•ÅÒä&”‘Êçn,„GõÀF×hrHâ¶â® 3ð'‡ÒÏggÿ‹ DGÏ»®ôÆÅ犲sH3žG÷U#\F¯ŒñÛ#¯ïð,`Ó™t-𝷮Áº+è4ªØ‘¬­®«Ã]#þO/( Ä’vD[DæŸßLKB*:6a) é§îeÏö £¿S6 F&EÈr2’?”)S|3vô¢ „ HÄqUòÍG™% 0 Ö2Y›bìxä}t…°ÒàEOÊ6(ïpÖ…Ä$äl;w¥$(b®>š&í-Œ4\¡VËõlP𱥚ß> ®2‹¢o»3šUfµp ß'í»?}Ž_Y©W’¿Â(Ci{jÇ_ñH‹×ŒëT¹(×vFW,»Àd»ù€Ñ·žƒì° 2ú¯á±-•°9x¬ji^¬hÃ$ð;Fö.hE:˜ÏýzþϤÌ¢·÷Ü’>>Þ˶ó¤ÒÙÿÂÓmÀ4Eÿëõ×S1Õ"Hx°#9Ysø•P}¥-ÛÎù~'®:p ½Y‹FÇ(9^¬H£!ì]0Ù¿ÕÆ3ìŸ& Ôviujoç; ÐäY®‰‚S”ƒ IhüÖŽòGó—SêÓ«„®/·`†¨#ƒåÜD’>rWjêç‡_]²QZyŒ@R+ï¸ÔŶ=-´‹Î.+C¾ÈãL0úT†£QÓ†hjä’¡» j›Nˆ¢ž7Æ!øðÉ@Ná*u®´wÑ»h軦ÈËÅxôúªzŠˆ\ì.·+nÅB¸^ óà¯ÿ"Ÿè9>"L^©?{Z€X†¸V˜à›FÄGO”ÿýŒì*ÅJê|ÐÝ“ü¸K„í©[Òp¹{E=Çé-W,Ÿ{3F uÇ Ïæ÷ 8%Æú4¼Dx->!‚èk; Ò|8¨ŠA<×¥jéd:ؼõ‡KM"A4cP²Ø AÈ .Û™×V±/ïïYã#xfÔW|;•]bc!ìô#«ã$Þï–ŽÅö`5ÙNÐö¾´ùƒŸ Œ*ž¤PÏY[”þÐ_$rˆFÏÞœç{ô,†yÞî·þŸ$Ðyy¿ÏǪê|.À9T9"Ôáö8ŒµŸT² rµÀxÆ•,ž”­0ìi7êÏ+¶mU/‚€)mãrP1(—Ùqé/Héèfa+O¢¯ál'DŠC²‡ñh <¶gÐ (ØEÖ±S}_$sqÃ_ɃÁ’X–Ét9+gÂâ³`sé˜g(Z*ÅØmþNË’¸R਼WZ*¼ðú6HbIK 6ÍV93œAàGýÜI†N®p[ò6³O*Í“ ü‚oÇ ²B#q+õ_`´ögïMn”¶ê±Ö%)ᦺÓNøK \k…§!þ@(ÊÍ22dyümYQɃ'!×\n¶ñ¶³ØX£"#]ÖNèꫪ ƒˆD.±Cñó/|9åüø_༅«oåYxÓ•Fí1¤×ZT;ÔóþÜ6–ÇÏ$™V ²šzzÿð`-ƒê/½¸ÅlGÌÕe_b†—pÓ š÷Ê5.÷¹·2*›AÄÆnLá_=%ž±S-r)¨ô.w>¦‹à˜Ïq,Iá²-–nP !óúĵ®ò“…€ øz…Iû¹ûÝoSÓ^÷·±Æ›†ß.$>ÚÄèÇŽC̸'ðeˆ±NË|xF£¦ØB?*W1æ!0¦.þšâW/Õgn@î_Ò5uÔä‰`AdÉË».´ˆ |´<Ñ®Ià§ÀIß=d“ Ÿ—øoË‚S=pu7KÔÄÜ’&pSÅê…\¹jäŽÅ¾­•ú{tl§ÉrT‰ÂW_õ)‡ôʼnOŠôoz°$¶ (³uÏ r½Û2þùI¨UNþÜ^ÞðDÕ`ßFŠ„ä”Ÿ²~P }.–¨ñÚzÿ~¦fO&a féÅ0B¬Ú‹ûÖMæ ,ý–£Ç'äS|!n^» '- û gäÂþ*­ßMx¿àVJL`õþÑ@FIß§iDRy’;Ø^€Ûøv¤hì+34™^›¨_žüÞs¯ür‘Ùl2ºLõ+ð¢–ßž¹QúsÐçÂ,ÁÓ A¼=vAƳsÆk“ñ¶ÐQJ~¶—'ÆñÉãb&Ó2ä<ÃÒsGpM7ȉ@š[îèTÜ˧7¥~‰Æ’œý+•oá ñ-Ø»¶911-…J;ÐÜ8oú_ŽyöæÞ¥t°P‡f”f”øp ‹Îs}ãÕ§:=‘ÎØü^$?›t<õ&X|Ó›‹ôÕyEÄÛ®AÞœ;ós7zBùqÆ%–ïç „wf²þ”§ë_-ïô¹ç:åb¾þþÕ8qEº;ù(Gu2:ÈH\Š6¾ù¤ˆžÙa œøB;N¨AÉŸ\#<¦h¦Äâ™ «®‰ÿRD–ÓÒ¢öáp/¢1гoŽÞßå÷ojzºÀöÆÑz§üü`À¾f€^2bÂÏqsvI½æ”Âj® y†®h”úòÏÅŽF¤'6ÑŸÞ…p´e¤g"cÓˆAu™^è"z)³í¤OétyÈ >p·ñ¶ôèp5‘2S/z¡KÈY{_(¦Pšì㨉Çê›A{ªð¢Hz”•}Zòš'•N!dŒjŲ^ž>tš¡?ØŽ^SÚÂ6Sî°êá"\÷í¦·H‡ä2QVGØ•‘x÷±|?JÖ? ³tÞÞk«³ë~¨•ÍìøtÀµÁ ÞŸÉßÕÑF)éÝ—bZš3&%<ŸfPÄÔD\§{Ou®¦˜Ø¬6*iÏ©ôA­t†ÍRð,´qÈÌ ‘ÚÃàÞŸ…?UÜÕrùõ„Öç0Ò/¡]~Í.m `ô—_ÆS ‚«C“»Á¯uyQ…âï [Nia¾bõè~ ë’f1…Ú @`á$2"dˆ°DŒ`Ë[´Ëû+á³Ìc‚tÂW™}î£D’±52í¨@¹ƒdÚ.š÷*kë[ý´¡¼yŸ¿Ð¨,¶×vßK–©Ð%·Ð*TYUĉùŠ‘ÌÞ˜’Ô7W±¿Gö?åÅ”¢©¦:)2Af{ÌÌE›þuƒŠ »TÉò7 ½SÿÍJµê.æ' 0ÝŸWJCu«Ýz¥KN(ºжkñ†˜È©g0Y°kå©,/ƒµíÀÆ*åšdÄ‚ÞáôZÇ ­P¸bØh9±®˜Ì%÷MŽ*ØnÛ.;^/¥JO9G²øÌô¾`2§ /V4……6Yʦò—±Þ0GÙs½Ò£##€¹¶Ñrþlµ–®h‡Ø :gK Ùå}<µšà:FñE5¥ÿ˜È2i¦ä¶çnŽËm¡Ñ¬£}¼|Êì"Àì^ܹ ßL’¾jM¿º«ÔFU‡j4^úYJã|uøÐD?6¬|Ïå+]:ŽÓ¼S}‘ÿã#€z% ·ùC(€·®ÃØžù”‘ܬ„ü sŒm½×¤vœø ìÆ(Ã×qÄ—DŸfÏlsë6ôå7Í€!ùÒ{«l7âàqÍtœ2[)Ôƒ•Òˆø@ˆMÑž»`ž?®’y½6óÂ&?²b½|ˆ2ÛÖ"RôƒIÇŒ 6Bþ8k¯Ï’&ìÃb’pêQrdŸ"^ò à}›¤[26XTLQR…=É÷={ñ÷-V 5te(òlók|Õ»0dL²›¶]Ð’bQ Ë‘Õø3>P‡vóíáøöåïÂnuKHhï}L^¾í(’5÷#BØÆnÖÎÛ:0¿âaRM³**ÜžO>°^GÁ>Kþ ¨¦7²Ù!H¢™~v$ H4LáÞ¿Í|Òe㮦³N|hp±‡œÓwËH°dÊþµáê_ÂòeÓt¾±»žìïØÜº’פ¾æ(«„ ä_q]ÐQé‚)l,šçØ€ç`{k·|’m–;J!‰eŽü ûx³Ç~³õT‘ç›MâÞKuèªðj•›WDÔùîcÂh•ÚçšÃØ¥yt€FbÔZ’£¼¿žT:¶†ßKj²]“šCY]Ÿq§DnK+笴^‰³{c5q¯eÃ'|\Ú ÚÇ¥»¹”¬¿'Ñá´Kuò«ê«cd^ª#o„ÍÉéJ^ b¸ùàºï€sFóæÏ‡ÕµÓœÙ)”zÉúԙǫŒ«`1íÞì ùÕÕ'Ä hî\Ùlçóü"靅йèã(¡ç èuŠ¢•v¾©R‘´7Ùz©ß«™¼1Ĺž5–š;Ÿk o›ÏX@ƒ¤!­î<zs°QC"š6½Òvj¯Å¼áx’©s ­®g¹‘­£A(èÏ7Ø8#QùäÈôA¶'!Ü ÏvL;=|aüû…¶³NÑÐ8Ý’àZGÿvm+­3â¦=²ë81”Uõ¼¡š¦éá¥ù„øón ƒ®tg1 ­ÓÜÐ]ÀI ª<ÕžŸCpGº2w|ŠD»"—: MƒÁ?T a/²¥©Ÿ52´“ü-®ß'ÐXŒ´…sC[äD$cRY9"”sìã<ˆæTù’¦Æ¨„ún, c’J‡ü´úuˆãÛ.ÈÈyϽq°“ë lŸr;4ð‡•Š…h«˜ÝC˜2‚ümýÄÆb a DEÂâ(ôIÖ›zN;¼òpEÍD¢y]©dîÅF(wÔº–‰ãó4UkRÝ={¡Óq¡8Kz•™;3}N³¨²¾öc@”fèëfÙV£˜É…ûi­†ÿLúH®R2†¶Dä‹Ä3îäùþç >'¸ý£‰X¾ÓI?às•ñ¡ŒBãyîÁ™)‡> =Dj‹ëûX™¿€Zú€¦Uðf7ˆâñÖ.çÌ×…œ©)¢_‡¸‹-æ=¹1` d4ÆAê5q »° >ä'ø.±Û§14Lk(|ÿ6†é4*ÜÁcÈ ¾µ+h¸øxµB>ÊZnX)ü± OEIÚ·]ÇeäóÓF&È0ÓJ™à¿¯+ôÿ@ˆh†²PüþëóbAi~MgÎ¥QzèÉewoõ餠Ù(×¶8–› #íW6žªZS¥#³FnO?)¨ñ°%]ÁfHÚé½e´ŸÖŽŒûav¥¤Ìš?©ù]éî ËŠ·\›÷kÒDpªÁ…W Jõ½â·õ|uËúr=x=¿»3Ø„AâµåªTšÔšŸâ€ÿV‰íÄÆo]¢¤ÌÅ PÔ: |:Û»kÌóNÀ7°g^>'C¥7/h¢|ATfDÍ›šŒ‘{ŒX\ÍR§þîPÿyxLô}Á € lv㦛©¬*{Ò kÑÛWJ9:GÌ» Ë}[ÞÅy˜`ï§õ{Hâ_.ó»çzÒ ÚóÍÖBò0èÉEÈ:¸6rÀì0ÇQÆü0ÿ<9¬ ¶|/1К®«IåÎÿ¾ñÂÎápžÙ@Ø€Ú§ùí¶f=%“Þá5vþ‚Æ­´]ò%&·^ n3ày°Kםޖˆ)@Ïr·~ñÔL²œ³ð׆¶š|ÊV Fs4Ñ4HÞ¹R‘b3Óð:Eõ4åLwV ³?r£ô³§WŸ5—5|R=Ql,Š“-<ٺ惊i(·x/ÑSHö´ïQz^cCỹa;!nâ2 )øô‹V®§µ;)g£\oQ9ÀÓßX:ŲóúfÇI(í—ù}I™ì’uBêäÏÝ8¾—-ý~Œ©V´– 샄2Z†ˆŠÔñ:_ó÷qÕ‰]H?Çb, ®ºüXT,]R#K´ˆq¸»j‚„’ï¨2wšïxˆ#¼ÐY†4øÎª§{´µ)ø3 Þ¾¾]LDvï_¢~îq¿©z”n#êjwÖ°¶Œ…©ƒžŒ`Èm"™; ¾où£é«OàêÑV&¢²w¿ÄY+H˜Y¹ÀýFrߟÇW·îíßÒ`|éÇP¿)#J{Ô»Ÿ©I_=\åcàÜJ÷Vð)‘.ehBH–®f#.IÛÞ¥kËôóâWJ€ûÈrp™ûR¶i^¿,%‹ðGªÞ,V"Ûì/ üÝRœ¤ŠUØ`ß*£¯žƒá£fâüfx3Ï"Fe¿©¢ÒÂÎF”ѳ.ÖXQ(0›,cSd¥_µÖ\C€nË[Ê) ¥¢Á[œÐ›¯¸‰Fn bU¨ýÈ|òQÇ ¾„…Zu@wÏj~_.ÕZ9.…ö+²`£z¾Ù“—í!–×ë][9Ïì|<Ý¡ZeâÚWÕî³'5ˆ]™íB,¶›}!…§É/ÆÃ…Æö´¾*IÉŽ2Éžþlè0ðòW‰Xœ‡ÓNÏVïò¬·#*j…¶ÁPl¹r Ân¼€HÀúB‹²Úƒ†yo°¬®=Ëí¥ÓÔÛñ€7ÐW†)CUÝ­‚À4Åÿ#i„s­ÛúuÍ©’­úÐ웿ە5†PÄQ\*òAT3F¤;#xF³Å¬"q¯uÛ¢ÿ¥‘3Š`:šõP b&îê[4³j¨Ó–K?¶õ½u™,pÁë¹Î %ì0cvõÃw6+ʈ÷5_z‚?c_=v¤/(2v½UÎø÷ÜOoÁ×¥ï¿l~tƒ\¼•»-œ2âBîËÆä`>é÷@¬•¼ª¿9Å?ìÛW£5†06E]+ÝŒåzl<ÐþÝVj'ò¿ÛÉ <, Ïs á+l™âúJx$9̤)}º€sÁ ¢Áv&Ô³t› qêz@åyê$`Fצºz5ž5JU°ÃÅbOdp“xLfþLæçƒÀ÷›CÅká§:Ü Kÿ¢Ówòç `˜³ÚÛÀåÓ·X@¶µP•¢Bº"qY+¨ÖIˆ_©ÖxxM›üNÈV6~K÷:º'Õl[Ìž/š‡q¾ö8AB*çíóôë 1ï›¶ã{ö _úCØÂv‘¯Ï‹ áè”æÿ$s¯¿Ç0dÜ'k÷š¿™I‹ŒYµ Š*Ê‘W}iÊé+ÞðdÊFIw¯ J ‡@êŽi 8Ó%¯W¦ØÒÇ€ÿ Pmòð(Œ8Î¥Û=P…jwýÿe,•¦ÞøÊ3‰ˆ6r”*@$ÁçŽðDf˜ ¯C·2¼>ùÞ'*l=õŸm ¯)ÆöCÁ÷2Ü\§gZ¢Z©Nä « W.jô7ËÃwދӦBbQ)€Xñâ’'–Ù­Á¯zž`ë®- ?ÑÕdÔ,©±µ‹‚È?JPu”›3 ‚J5’¤z2ÕH¨¾b«É’¹c5-sØDS¬~'¸´_ÖªPÊdÛñfJH¢?†¤˜Ø™Y­@ 'V{…sÊè$,°BÏán¯8dìGi„§*d5Ϋ‘FøÜ°‹ì:u!9ó¥>— CôÌèúU†‡9С¿Ì%¾ò¾î1½¾>‰lñ$çc¤O²lÜ+‡HÄÏØwž·–ÏB¯4I¬&Ñz@ˆ¯3ÏA(_´©ëãŽÞü¬Oåô -Ô`ñ@†&´ÆhàP ‘éXÿ=ƒÍ¥ûzkÄùC‘ë‚Vk!É4¶3ñë‡ïgUŒÄÒ U§I¹´YËzÚ ßVZ%¯_Ì»õï•(ã’/äf_ã'R.ýñH"’*¡—°Gí^Sup+èUÊhX3gÓ{éÐp—*Çøð/Nvâ+*?:ŸgÕÒ¾b&“ïò2}™èZCûùkQVí8œ féÞ,u’§\a˜Õº©‰éPrƒkÿZbñÈ~òÖuôãÙœÞeÑâ6Í’ÐÆ…rÇ€t0¢äê9ÿ×¥`¾ãÒ3¢ÎcïÕ´m.˜@P©˜`SEG.žÜ‹:J9þÓ¯ÆÚüuÙ‰=–N„ ã˜[ø³, À·¤3Ã:æýº–ŸHM'©A#5¹ )ûÏ04Ì'£Ýˆ2_G¨ ¥­éýÈßc³íø¿tj`בÇ9)GíÌf¥Œ!EPØVõ^ì¸í”ôZ€f2úhi2öñÂ^«~ó?sjUišÑ–œ®Üg?„åç|NÞ¿¨üßË ®šÒ½w|ú¦¬»‰M¢tß]÷€ W|ŽØ€CµB¯…La}‚Á.¸JÕó)0‘%m[vÒƒ0;ó>ÚÜþ|oäµ@b}ö­'m¸Sy´¢5ezQÊ/\LØþ@¡ßƒžg€{o#ª|jÇñÑ 4BF[ˬ6a´óZ‹,nƒQÈb’­øÃ­Î0xFkwG_[|±È(@d• Ÿø„}-ðïW¯…¬xâ~[¶‚èÂ[R³îD3ÌÞê!¶cÖ‰xüëGªnÿªêФ…\Œå4="{Žá¼í¸ÊÏË«&w:Â>{y÷%÷\ˆ¿µÿ® R‚à€æiŽp /¤öDk_Ξ¸®+ %«×«Í©W û²]µÊ Á²HÈŽÍc9¼,[w†+×%6±œ]eŒ"3þò^tÍ_4¾©©ÛíÙùM=‘*‘ªÉU“7:GíòõrÒ fv™ÿ Õn§Ô²ì¼aJŽÊÍD—Û¯}9>S霼¯¿jÆS­®ÑêožA'ŸiÀ[QÜ徇ÕáÔ4L/}ÓéÜ_Æ×P¹Œ˜Œ(’K6tXw-£nœøáj0€Aa™Ÿ³–¬ÓÕd¿‚§M >´³ém@ ]б£t8¬HD:…ÉÇÝ?½ª`…ëõúwÝLGùÐ ˜1Ê“ÇsW–“ü˜‘Ö“Ö#ùªôÿ} ö´–²Ss¸êÒã B¨•LªšmÞAQ¯©·0bçÝe‰f»û8ÇÓîÄTá®býnÄ©üÍAnH¾u#…2 Z9j\õ‰µÿÈj ݵÎ&÷z©ÃøŽñPœ$RI(®-Aê ã5ݺ7­&ÜßzÉõÒ‰Íð6*ÿbŠøƒXÔêOAC`Ãi»ZÉ–¤á*a^h)-÷`½qqkw„@B ^Ƙ³mÙ x›»á襞 6m·~¸  á0ŒÈ%Ô荒r#yZœ\&Ù"Cu»GÄ“ÍÆ³.ØV×Äî?|<«òººwMk ^ÿ¿ ÑE#/Ò~};cºœFr…6½“t>PÓˆ¥Ù‹ŒÅ¾'Pç|8+°G[¡Pæ#nRhö:aÖÊJ‰{ü´ü“øD ¯=þÜ3Y}5‰’}מ\‡¡VSñ…¹íÐfHt„Ñ$=ç\·çr.‘(ØÚb¾ü?»IÀÖ†r)§¯ýT÷gš:®ÅH©7xƒ=¬';“á£Õò¢ïJïü™÷à}£ê‘±¡àMTÉŽòe$Ê2`U‚ã”ò¹ð1±¿¼† zbJþÙëwøZïÔ§e¿e¦ó*ÌrŸ¡Š3ŽBaµIW Ÿ§V.]²XÙJn € ãú÷Šø^ªñMMîeyÔnw"6^ϧ:æ+ÊeºVë=uK¬dÝóàiÞþ7§”ªŒ45ŠøV½irúbÞI‘®>í2ÙÐ’öþ\í˜ËÙ3ÂŽ¡é-õš>vkSR]@ù´å¾)«åùXKºcÇ£¡u6AmC©b²Í>ÛÇÚ¿¾í¢ÇC´Ó=³ï,óäý8”!°t¤¡1),í|_öpjrº°L Y¨5ÜQ¡õb‡(øh–z?>ËóÛoÛ«=ŽËWH„yèÎèJ…èDð5áïÜ;ˆÒÜg¼®µ’¯ŽÒº*JÃhÌ)iƒD£°È×4sæ¢PHð±ˆÇë—Òñ¤ãðLVK§7‘œßîÞ°¿ÅWr@5Ñ\\[â3}P§Ù{¼ ¾}âÓ½ÃÉwLsr£èrŽFG;7¹†#ÅŸƒdK}¢mF0Ë©/%‘ÕÖ¢È,­].ñëHõ#Œ/5LæVBï„ ·¡üW‰åó™·wÔ,¶WûÓú=d¶# }T“Îôƒ ÔÇiÈÐÉ¡£^zf2KsЪƒ eô1”LMdÇ!h´,ÿtUb4RHÂÛà˜zl¬åJ!’Ðojc!OPÚQi‚ûÖ£¹uºÓòW_€ŽòɆõA_?’jÃäгعb†¬Xó ÛÌThI£ê4Lp´;å~x.Åݳðo¬µ%’*íbÉ&~ÛøH ¾h7×-mu¯½ƒ¨&!6‚7Öí½Ñ¦IŽ/{.ßL7ì7,±®Mæ..ìê´ÝòNfCcì}´.õb+l?ô~Ow°ƒ,拹ÜGñPDâË£Hz ™5þwÄ—ìÁÛ¯è(ÎàÞH¡œtÈ¡ªŠC¥ûr—±Øb÷ÏCpçì.×mðÅÚ½Þü>¨4SB8pÈ{&5C­_/ ¾ÄsÄu æþ®øDÌï˜Ö-¤w¯;²½´´r ùA’ ÊÃpÅ»³ÍÊ©ÙS×Usú€Õ ˆ Îæ‹æÓM('E—+ˆ‹P•h|ÇC38<‚€8–°xI{Yl­¼Tµ‰æ×Ð@NÈaÕ¸e9ð-öStWNÉ À<…Aœ Ìy‚¿F~B™Hü쀿x¦*ÝGƆƒ¿ù²"RÅŽ[ö ± ‰áy°Hnâ,ÌïÅÒŸ]ñatëO” ««_ ´Øf™Ûf=‰n=²êiù÷òfиF” žÛÆþìTÃ1d¥ñyrƒú…šÓÛ pbB[é«#7ô@x¶GŒù27ŸztGd6`3’¨°3ÓZuYùræá¤ÚØQ…HÓ¿æ’¡– Bd¶ŠÝ7 —>—Æ3ƒ‚=Pqáâf5“¯u8±÷iݽð]îŸùj'–¦—¶]’IyUIŸ7™éÃû5eDg€Aÿ‹ÓôiI)Çè«ÿ½?R¶)„ v AëPT­&jg»•IÓ 6%vX 4‹¸wÿv›Í€äs¡ž!|v—§¢®K¹¬½>A¥Ã{Çe ;lîVFñ:2‚?úó¤g=ª¶HyÖB4²;_䤯ñl~W¹í vsduBrD‚ÃÔõÞEWÂ@[Éå>Ǖ趛+•ðƒ*ß×¼)º™XÀXÕðFŠ>°n|ÞÁsZeXÖ¹—j8}ŽÿQÌõZošiS¶%_-é—"D­Ï!Bjîùr³^ÑÇË‚3²'…ž'w`nŠÇæX3îÞùƒš!Êdxzj ¿°‡@Æ'>×{@n”fÉzƒ0FþüÕà¹ÓJ³ªk«Y7÷Jþÿ´ 1‘,Hä/·Ô°t„Øeˆp'ü’oÃt¡šÐS]ý…Î2FXà3\-þÀxÚ÷MÓÝ6åumŽ<qÖý* Ó£}ôiç8ƒª 4ÈU RãøOÌ8T”«éܧ‚2™`†k/Ö¤J||›¦¾gÀdeG­˜ÄÈEi`ÎÝò´ÇýMÑšOãØÆ’o&Y§t+ü¿¾¥i°–Þ-Ѳ¾o¹iÍ:¼ üÉÜCŠ[«ÝÑ€Ó…’ë ÏWÚª©ì 3·÷Á+X¨•>”3л¡Vwؤ¤Ö¨„=9/øâæ+1u}Z~j1Ââóúßy#Ú¤â {z÷ > ¸‚Oîð#ÒÞy*˜…rƒÕØÈùI1•Ð?ÒÁ#D¼~¤g•Jj,=¬¾†{¡û¦–Fc½eãM•UøëJpª™‡èòß8jQ?š;kÎfÓš‡Ú8|›Î"ñ}éxÿëúYšò‰Æ;ÙùÉçWÄÁ1y@ sèg 5Ë•+Y›Õ´×h쬇sHâåI]"ãj…ž„I—Ûà(ýÿ„Þ JS|qOJˆè¼ «¸÷ìúÉmE ÐoLÛÎJˆš¶T=*„ÙB«I¸ñ®Þ芘Éñúo°ÄÑ{:݃)Û†{ž`üYžÈ”ë¬a£O†yzdæ ‘ºÒÁNå©Q¾[}ï›hiD °~à±cÙ}ÑRH~­“³’§WÛÆâÞ7V'ñ¶Æ'¶MIç½µ ,1FÜ(dEg"÷LÌìqæCîï‘<ê*Q甎ç³q¾Š'œsf%Œûý2QpÒ÷ñs>è}ã¿×ûÞIã6©6ÝmÕþÒë_šïêc!*ÆPBà "âïu8y]Î1&ÍŒ‡ÈåŽl õ'Õeø¼dL&[‚’Ïß䓎í2Ýk—q Ä X4{Ï´øPw}G­,76*¬´¬ÒQ¨mÁvñÝœƒ‘[ˆ@lü`bšì}N=tñO1D¤WU½@6 ï¼úP€¼·Üþ_Z–áó_2?¡ãkÀÔÛÂW‡öËÍyGÊH¡|Ý+sF—þÈÐHtxö  Õ´ÙܰNÈ Hmd%@£ ‰ÙÀýsˆ;ð-œ™®Mqƒ ­ršGh ˆÔïK\7pª{a¨&–´¶+ëàôÊùÁÁPÄ ™Ø_m•MÍõÂuǯY%`¦sOE“ƒ–@B‚ï`•lå š š~c³±¼áŸî5¬,¬Ö'zc¥Ññ°vó¢É$K„ù¼AXSÝå1N…Ò5f‰©‚­ÄÖ|½°”R¹šÈ¨œØ›‰ M)ŒB¼¼DqÐ(ÑŠáèšc h–ák²þYžV€1.VýBß_ÆÑgzt®’ «ZÃÁH,#UêVÅè$þþ»{M”dÔˆë®[«õ9‰ójôÜú¯zç2.UÉAið=î®…6ÇíÆÃƒ…¦@`ªV[òÜ”Çs€Éîç L~Óƒé!ÏNOÍè+ÖÍÁWŽ~›¥jýÉc ên%ÀÑ´ê©?€aš…CáÎÑ<Ç”j½HAþ¶ÈïçÍ®-Úi’2Ø+9ü¯K>êbæ–|ýÃx 6èâ£6dž[:,¾‚¼S =C^踶AH«<€Ä0Ú è–`ô9ä+•Ö:Ñõ1Zðž]?,d%5FdW§{|Bªaê’ÐÉÀ#ÄéÑ£™ç|Ö%U  ½’;r«ìÚ¨ñ>\d›¥¾ßÞ±×'<^¹Èút{ØG]iÐÙWƒJÁÍÖê ª—!y>×j'Šnªñ«ãÜw¨tMu[²ñ$ÇÁêëËuØn´l+pì€fM©¥!ÍðŽà^I{¨é7gÐ…|™çRú‘3ʃ¼ÿÒ¤Ÿµ ‹Šx#=w ɵ¿Dö;µ8(º—@+jÅÊã§±ŽQ CSðàúþ†±muÇJ9Ã#+~*#:é‰íz¿XF.ÆÚ(2aÝš­²h¼ÀJ!î°”ûNe­Þtþ=„Z7‰ÌTQB4æv®™?(Ìzè1u ’ÜöCäOß@Æù6ß—éª#7hÝhç\Ó*|!¿+Éå<´ôÎÔPÒ—Üzºo0á×îT¯‚ çGMزwb³ŸwFÛ™»—ü÷Ö ÇPAÆKrw›aœSõÀ)A%aÊä üZ˜¢Ádb,î–1&ƒˆ&¦9#D#àµqŸ["ÆÛ>k=T»ÑsÔãÜŒÒÅ;põºe=CtL8µQfÖÉ­­\‚¸ÑI 2¡ÕF|ÈíôžùN«;ô¡bö„v3Ôþ=뢀òÜY©6«6gp½ú JF!+¸ÜÑÇN½¬f’¶Áñâž¿;×ÅI.CZ$ QýnƒƒH¾†-ü`^€ÿyºX²$¢ß¾ !‘õ/ÅÚÄɼAúJ~®sn<6›þÈ8Íe^›&‘æïüä‡w7QZ1ŒÀ›wÔ,—w‡²8y0~üamzÜUÁÓ©Òìå’Œ_ÄÅ—‘î‚]Ë[Ç’z¤7£~%»M‰9É%5Øñ!1×âø[û‘1!YµÑ_?u"]$õŠálw2–È-î¸÷4†AÀ™Ä¢O ûÝäãS¡ºŸ½Ë LÄ b.–¡”ì$i9¸J¿3Þ&’¼„,YCÊ(ÈËø`á®rl—ç‡ÝŸÄ`~?š Ÿé s0Z“‹R‚Â) ‡Õ‚¹˜rz+‹dÌÀ¶ÖNcº Ú9D>ÂU=s=o©‰OìÐý{NÄtƒ R%Lˆ€e<)Éàµ`WÌþ"JTÓ´Umwô¹£iZ¬†åÆ)( + íýàà,Ôdèð*؈>+Qò“û ´ëý\¤³hµÏ:é4m¿ÏDSZ·uUK.Y9ûÇsiÝ©a°…ê§–WW²·É"üªS‘4Û’ÔX#Oþ‰¢Ø^Í`mz¾’åû8­ü”÷[Û.æ&@ùìç±c%Î$é{réÌ9Eb¬ÒUÚ9Bþq}Ïúzq¯ºQ· ÄýBbš÷Q-ß!½í À'JÝÖ8Nµí܊ꉎFxU ©Y‘xUÊÅõœFw‹ã—C@~¹û´wš©ä’kBvšjÅ™Y§\¥`ÆÄ™J÷‹…±™ Ù8ñ×6Ͱs•Á5¼o äö¡ún8ª,_^güe*kÅé³Ï´ºPÖŠêw–P‡¯ŸÉñ; îU<.LF¿l>ó¯zÆšyØ¥[˜E£9–½™ƒVw¹Ò-¼sø²8CÖ‡~R>9Yªí¦FþüÏP8pÌD[=¢ï÷¼^µ<qKêöƒ@§èE/åN7¾ù`Š×>Ö{§–-çœü¨Êžà|`O×Òâ*¥cqÝbœæØäR´Žg{o7+DM5€7’êJþ!L“÷#‚WD&‚ú½Ÿ0ylš‰ë…èy~ó 9bÀ§‰¼PȤ¸KØ©Á h¤¬›€z¸–iÚ\ž]F”¤#:+šÊ>Ú#H¾8ÆÄjv¯‚6$¬< @º*»/‡ìN+8¼l¸fá÷F6íÍÅTóéèÀX+1â¦f (äªY£}ѯ½†˜ e™" ’œOM(úŸTìÇ{·žÐI©Ñœé¸INÊîã­CŒÇVÉv+ 1L%*of"Î7ðuz‹uú”IN¨²Sä´G5Y™ôB’0WÿñÅKÐÉÍóÛ‰´ÙÎ\Ýf€ápüŠ*ú½Y­«p½–;ø¸9]W9¼Þ xÐï[ÝY[.¹ÌŽ _ð?TªLðNkN¶û2éát¿ÐF8ÂÃiáäçÚ¢Ó_-³kp2¸•%âIG›4ÁéYï@¬'YýɈ:¿‹^3{N¹òƸ Ay9azÈ ùäØÓùnvO{j%9_5êxŠrJÚGóŸò.XÓôõ¤½%—Öæ!Á[ꇰÞ_à e`J8^›ÜX:â5 MTW^±âSN—°t~“T2)ñ”º7Ço%_eÆØ`®)gÊc{£[àõô´ôרRUƒYR•A?Ѩ%"Ñ&@`_ƒ)ϪÛþqFm´ªü[pk)u\G2ú`õ§ZäI¼3ç·¿ºˆÖV’Ŏ ˆ®Y0 øGT¢šb‘db="RHI¾o"~—ZœæH‡ÚÕ±‘™* úƒg! 'c‚ÞŸkÚsWÝt¬Pª*¹‰‰‰>ý×Ë™¹'V2Çpú³ÄÕV†ÓýçÆ&¿ï2¶]Ç¡\‘¥ô‹ùxä²Á¬YfvKe!äùÀº›•k·µìm÷C“ÊUæåxƒ[œ0äéÌB}Ýq°x»š„’µîI>Ýq¹ó§,Êœ£á·Pð¤÷ÆBï0y¥“¾¹4šç„ßã&W§ýæFhûºi !)¸âsŠܬk é B\ö½Ôê{¹Bá3e…ŒËeÍTÌ›®¯ÛRŠ«„+Áù •\^/ò¥ïˆƒ6ç“ 2‹K§@ Àálh4ñ½¼ÊT0õQqo¯Â¹\6Oƒe©Ç9N–Ì·ÎØÒ4mhK[{ZãÀ¢[ÎôÈ4x\óNSSZ¢¤üfž'n’NZÍ 7ëõð©A?¤N§]‰¡Í‚J¥š¢ùb•¢ÌrÜ{N´í V"þëÊfBÝʳ«ã§#¬ŽÌ½öš²Qà9æžkƒÝ(H1ÐðEë·±uk¦/óÙwx#%ÿ NôßèÿåO°ã‚ ü‡»®%—¹´íh5)Ïw€ˆ……1PÑZ×3J!‚³sôÚ´‹ÀKâ¶…[[dwžásAë¹YÜ—<}+kC!N-ZPL§Ðp¹^º+c>ëbeß¹<|}•ÂIˊ粸D¿äöÇzÿa²SåÊ 87NÄJ§Ó˜öèb K3SMÕžÌ8)ó&Á)ùB?äyy¢jØ3Bs® Ó, ÙVk×úÖëÙ6²Ù5<ÁÜëè ]…˜&Ï‚ÀTØü‡NMÂýÊxfšD #NxQÔ, @2䓘 y7ý߂俓Ãö6ÊÄžþKìêêU;™3ÛÎfÇÔ‘hŽÀÅÏg|œã„Ŷñ÷Ûæ¨?9Þ8öÄù6ÅÈÑÇ(É?ÎU‘òK¨²f¨ªf.ûA•d_âµN8m Wá¯Ø)û0¶~›#Ð蔹o´÷§R ÍÏÏDqµ~ST–ϽuqL.’ÈÛzÙ`¬Ï#BçFë.íϦÑt•v[œ7y¥W«4œÝ¶äu”?4¿íŦàOèÄÕ˜årmvû*ÑÊMó´…B7ðtùP1EË ÓÖžw¦‡LCw—þYù“&ÝÊXk_ž âà…ÓðÞO}E]ŸJ°!ÃäÏ¡üð–» n¶zU%“òÑ5뇽{“ÖÍßt«¨êjemÒYŽn½ 3Ñó‹Š~áf^¸Lô‰=±î †H³3"áCr¨8àhìµ±³ic˜…´øEŽ:ÈA…‹ä:7àvä œ/¨ôuÏu0ËétkÊHƇ†ùÞÐÌ (›&д„ÖUw®"ó²¡7wzÕj@²2 Ú/v;(ii\Ì%Ï„FL³rn¿ä"þ¶å3äB¬·•w5z,˜’ì/å,%þb“Ò^.Üf•‚Æ1\ƒºÊmh–Ó·äub°Ÿ¸ÆkFÀõ­_õ?u½Uoå^5Oé„?9]dÄhè•›œºg€P„¢„±d&uC\kYî 0Q‰¨ZÈì^tJV~ÙL:ãÍ á±> g»wžNÍi¡±};»kTÓZOµvZƒcØtBX¹lÉ ‡f:ñà§ìh$‰=Ï‘:‡_'‰ªÞÁ’¢õ>3µ< ‘: <±é S›£“·Îì‰dû–ÆÜ?öoíQÕH° Ѹ@ÁÉ{\ àÉ …‚D™–Rνšví½¦Rœ'2FŒÈ®œ­Ô4NR°ç¯’[5 ÿ€§<”´`3ûöb G¤í&\…Óš5Ú +ÍÎÔŒsd Õ@¹Ï1,¤´ü…Z ¥oîY"Éw3¸Ê)QYÓœ èÒ G~Ñhw&ÈF(qå>ŠSÚ˜?ü(Ï`'Ö.‚¬ÿ•b}Ÿœ_ÍÂLF¢Ø´yªô¡ÄwÑ„aTÚ©Š0å‘dØùpzÂ&~Dö{c)¶òlÆ2¨Öo!\‘tçÝ&Ï.b]½®D)ì·où¯c}ê@øõoŽ·ºÿ±–­Ó›)f¡ÎB±«™­¦ ¬¢ÎmY[¤pnŒ‡nŸÃIÏÝÝY¢kÃ)Øû M3”°mf™›“~ ÈHÍ¡Ðä~¿1…´šÁæUº!]ŒxÐø_¯gI(Äû»‡[E?§è¶¦|…m‰ÎØu@É yk¼J'®gÚ*3dçåwMÅHƇ7”†oâ^Jô>£©+?Œ‚™£ÆòÆÆD®,WN_ ¥åKFm^®YûéoaOÀ†¤lŠï;“62Õ¹#ÙpûM‘Ü8„×oÑÃ9pkð\°Ï ‚÷B^óÚ±žGÀá;Úh˜V=[bˆk-[ƒ£à/£-q{åÐØtS>Ó—zzaX•gÍÃÂ7¸œè…T1¶›#ˆêUäZ¼¯7"@ÇÈDÜ%ë<ã8· uðF±¢“?$HûEÆXs«î<b!dãóÀ"ìÛÍ­î>ß)œA yã5™D†Ne޾ 8„9eÈ"¹ˆ 8n@á9ƒbt¥5¥kœv ôGef®¿ó!ëåUì³aùu[àvÈ+¿S-,eë…õ_sƒ%ãì¾Ï#ŽàåIq²0 Æ’x(ò5Ö’êé)דý,y À‚ÌáC¿ßË&K‚ÃQÚc¢×¸àÔcðà¶%Ž·ú1»»0‚,-àŽ*¡m^æ×Í·ep³!¥—ê> föªFa|õ–WÕÙÿÁ ƒ;æ ´)îìÁÐÈðÈ7Ry±÷ih.‘À>ÆCv‰ú(ì­3? æ ƒF Ru¼J”c†cK·0™ß h¹éI‰”á¹?AªšAÎ Ñû畼‘Éæ9àЃÍo¦¥gòö/½ü¡…Á‚Ö= ®Ç4m{B)Ä`Æ~û²‚UlĹ.\Ø–ZüûN°'_ïÔØààuެl/Ðz\G¤R™MïA5ÑÜæÚKîÙÑcqÈ÷Ìq˜oòs¿”Ç8 èl¤]í¦ómÍ„ rÄ8ÐåvÃûP²d¶ûÙ˜/—&Ï•&.îõÆÀˆ±ƒ˜´©FE4PŠ!!¯î‡²–ïLä£U¥ÜâBÆ<×ZÃ7*yÕïxäõS öSz¢G·>ÆN´³¬úS$õ÷ç Ãܤ®€—‘¹‡U¶Ù¦9 räyo"óÁˆ'6ÿ—wá%píX|H+ƒn :œP!„OÔµh»‰±‘^Lwy(¯4ºøìÖßÐ٦ͳ%çKÏûÁ¾ÍŃíf£xss˜[œ½Èlº¿æ¯9?yóHƒð½N’´òëN`¸¿[nã}xÈ|Z ë˜F„^ÿ~öZ&îr8ùš/™õ­êÃ{‚° JC¨á€m}SQ¼3ò„S”†­57ÒÓÁaê+ÓÞ ¨”鮹IKy¬ågÎVþŽ…ðïõe³@é,p°‹ÓC"Œx¸ ªÇA‹ÖÑF7ƹ‚{¾_°fÁä.ŠTzÊKaÅáo¦àΠèC€g—I¥G®jãáv‡oÏÉÛV „¹óM½M!yurñÁ>Î íòpóLÆNº×Ú©ŠK¦­Bƒ¯x‘OU‡ß@ùùis—LQS”ªO¸r”*Xü][‘Úò5BÚ‰¤€yï`5ƒíç˜i.‡ð9³ÒqE›Û¥ÙÌ–u”Ìóš)òZ^—܃+ÊTŠ2¾ßÈA=×`rx™ç ¨Ÿ€³9<ì&‡“ôpå0KÓ¡G›k£¥£0m0¤¨"©p¹/]²ä­”Ÿç"ñM1‡üð'é€Kàã»D.|¼®Rgûé®ÉQ"j‘‘(ÛTSM×K JvÑ0®è5Î!”xXN_UØæN¨‘¬+½K¾õu¬X¡Ü¹|'xFÁ¾–~ðÊ\"ˆh¨ì‹iÐP ¨kÍ)mUÓéN\¶¡è;ªM’S—'æ„D(ì-#àÇät–*EÎ>M~Aí†AžE˜"¥ht›³ç‹Nº÷âËŠÈ‘s<¹W‹)áù>¢ ܧK8¥¸ÏVŠVf‘$DeÒ9î“@ÓJÌWMåS3€ÏÀ æì¯ðÓ!¢u¼’¦÷¦Ò £*ÇÛûBM]W—)1à³üHª÷3v¯G®®4Š`øª^¼BûSO„NäÜö0Ö#›ˆÂú uÏ£%èMV­ð›Â–)ÔLžz…߃Y„Æ@ÎÍâ§ðž4Zçâkq4%Pâ°6AâAn¢}rÂÖWaj¹qŒÿJ“µTPe~¥¼É(Ñ„ìuoWãE%ÝjŸË@ð/+²‘éxw¸oo{‘X'êz›ð´¬]Tع²D±Öóï-œàåáÖÓ73bŽÛÊ7 ÊíJ¼ ®< ­ç½¶ØLr/¾¡p[ÜÀµ¦­0šUඇûl-ž´lç‹ùæx0Ëëu¬*Ÿ<ŽgûîDÈ€B`¤|Ù¡Ý#7Ѳic¯bC÷˜¿¤nY Ê»›øäË2¼¼oì¡—:ôÚMQäs˜‚¹X3¡Y}3²ØÎcAy(iDû—«@ÖJ•÷õ޾>Šè¢zöé¼Ç8"˜„‰G]“ÈzX, þ‹rú;ËA€C†°»|Ž F'¼Ž©_´G½%6BÊ'!Ò¦ñaš#'ËïC“G üá¹} ÍËu€CoüÙÊäcÖ¨^R|€ª©›© ‚òmƒ=ßýóˆWuuÓ.Y¤¥¦ºüQžЈ>†Z‡êyhSQ¥‹|£#+8«l&`”\ o«q‚ùw7ô3f¦ÇZ;p"VùC‹eŸßì tZÁIz/cË3K˵o·ÀN9 ÝÞ\‘ÛSÔÓ Äˆ9j pLÉj!üý\Ø©D=gî,H:÷uCõ«~x‰·äoÃðáù¬Å})Gª=¶Êq®+^–;_.e§M;>~Ôqþóp˜ð.ù÷¾ùK€rHˆää·)¾ÑWtZ}/Ê¡çyÄ•àݱëMJIùŸL¢<>ÆÇQôB¹ýh¿IŒš):@/t •wbѹâìIÖ,g1çÍŠÿµ®Øyw*Dõ…=é:]ùœ »*h‹¦I½EÝl>Cvôó‰þ²§Â×¿àŠ‰cÅUi&RÒQŒz:«¾]õäÎýrå2QTGŠ[Æþ\õ¢Ê6’kËË•¼n ÷”Ò¤•=ž‹þ­’=@ô9müq€y*Q®å²oMã Á Wä ÐO%_„„,oŸ^ÔµƒC·qÿþÉ…{Ì,\O"‡ ?AT^*$8«ð9‰ZRŽYHºä@g¹1Kà“ÈmÙ\¢yŒßÖ¦¥4>*Zëô~ß Ä~Ÿ›jµ#önÞ=L¾ V—6Ç]f›áð¹‡JRN_ôM=£ìX-Æ(`-Öó†o½  †f˜ïгš¸E»#Ûø÷†îOá\6|ª"Ò%búP¦žmðm·=0ç? v},i«‡?Ïï£Y¡O€}èË¿‡ÂÍŒ ÇOj s:nq~{±Æ¶1G‹3Äg¦î¹zó_ÓâžA¶`´‚÷i.òîwêÈ_Q‘ó½í˜1dÌéÖ£ ‚ä6ø_[-œ©(ºÝ%œô^«à¿å¶i°9¥R—Xp¨*« -w8£|ÁË•móÁ^•Úõ”¸Í᎚1Æ1}²s÷*4”fxÿß_ö!¤›Éøñ ºÉÕ³š’Üdp@ò³Y¶1Æ‚¼¤ˆdúB–Œ»–uD£÷uÍrÖüæÇ± 6¶ ñ¶¤ìO˜ƒ¸xá+uѼzþ¨m½À]‚øPp䤈×X‘h·õŠÑÃãÅ]‹¹Dm×ÙùA0ä¨M&ÞëÛø}Vrð©·¹µ,²¦”má±qÉßèÝ 5¦Œ=çWsÐ -ɃY{3ò§ä{—½Ó‡÷¶:Ôº@Ñmê| êÍç;÷!¸eX†™y—ÊèÀÎ1Š÷ZRŠÜ¦;®]¥¸g»»™Ž=•#Jž®9<’ Lq5èD£ÇoGTh‹c†úÓç<{¢rl³³- %L¹ADQòËqTËü,š°ß³ L†(èÿàA½[W»®h„—"Ým,(¨X}ØNšr ‚ÑE!×3‹ \pi’‹á0v)‡XP ±}i­õù@®7ñi9?•ÿ8ôñZ»Æ˜‘= Á›LB¼‰ˆ»¾«ãV43"9ÎEášD¯ßÚ$†âfvù-*ïØÆ-áå^)C6|Ö g„Çö'ó¯ÏVR÷OÿÏßÛìÒè%€\®â¡¥.û½czŸn"ôî@¼~gR =X²ÀóåIì}‰óã†Ò»gý Å|°mÔÂ`ÂmqÜ_ö`ꉟ8’k9"4yŽÀõÐ×éùæx(Gø*:Ìêû†bÈ7ˆI°cÚ<5 V‚¦”‰\!‡žŠÒ÷W…׈¼Ï_š¹¥-…)ÊnjÞGè —ŸfɃ§ÓæÈzÿ- ÿÌäÌóäî û‰ã¾?ÍàßX~Óg&Ù¤Š^{ë>,YçëòÐ,×I Œ[È¢Ö,&Ù[Ù9ëˆÆÛñØz0ÚK`ÃÞ‘•ÈËÂv-âÜ6‡Þ)¿3‚ Ï¡³H¤Ò+òšgWÑéë4Z^hG\ü‹”;zÝwز³ºŸþžámúm­¡px8ýC}Ñ©/çÑš,9@hUhsÞ7ã…é·'qUZÝý/!)hGïBª5é¿-S¾yƘ$žN¤ËnI­@Ò\ mO‘>ðt=BnÁµRæ¾±ç™H±nÍø'Ü$ÎÏô’nn‡ˆwèq‚s²Ì×?H2®œSS9w¥öœÜðµîÝÓÄK™#޽ꀠËӜ̼†·—Y”6¨Å‹Àñ9R€"®9Vøá¢€ôâØ…&êë/ލi²È¶{©oà#zÔÂ~ûì&Î/º‡‹£€ÒeªIø¶Çž÷Æ}‡ Ô„@NÓsËûj ¬Š×Úïû3û/$*6²Á C¾Éš`5 æ¥üʲ–ÃëyÏ@Áý&?±fbÄmt† ÈÎd² †2ù+ÉJ‡›+¸‰ð«û‚+ƸœÄ!¤9OäcIê÷j}¦·¸Æ¨s‘ü7ó<þ=0ÞHIãqNr‹ÈðSn`2. -Lv,„íET6NQ2˜ùI¬K’T§¿ž/voz¢Ê[¶Õ%;Ç&‘vøüýXl&–Ò‡’`ë†YMé¶>«VˆÚ>¥ué­›àR]üN­—§8}§WÕóÌù¿8››¹+ÇëFÂZñݵ/ ü YQ6r¥8úH1@AªCîqLUóL" ºHásh@KÉÜ ²™ß.aèÚ >‘e):oŸH÷á[ŸóVz-ol=اÓ¿:ĵ4­UÜz–™¢]²¸ûkP˜„b¡pÉ\ÁÊHaé—¯dR©8‰w!nd`3]J4‹”±|è)Ñé ^ê Ì¥žpÌbðèØÛ0ÜLôJò”ñÅ™PK¸C5á@œjïÝÿ<­é¯£TÐôÈÁkThÈôu¼æRdqÍuYsàƒŸE€ÌÂðNÕá¾Bip™Óòüµ[I‹h‘"\†–Ûü[¢ZÏìË~RÌgõöf o«I‚Yõfåÿò/ás (‰¦„²øàUœA[Cé­™ž=¬*2ÙOL¼k‡BS¢o8§Eñ”¸Q¾YÓh?¦qÖØv¥´Eÿ©ôM¹äÇñ«—ÑÕE Ti]½Ó®«ç({µ¬w+ˆ¸ÁÀ}ÕoÓˆ?b 7ª~¸xžðÿ7°‰›v¥ƒë¬3mœ%2O36‘–úä •G>¨ÁÜÎ>Àúñ1 ŽŒ•\F±:ëY¢KIÃ`Ïu é>ðF/ˆÍL3̼¢8·’AüÐð‡ævPæn®lª±Ü™<ÄÙÑôÜùº¥´õ°×¥?-îIzXvË÷P û‚_¸ÍÙ´¼ËE„Ï?„ã¾zæ aMä](íÒļʶôQÓxªIÊ“÷»×*7P zÀvÂД{DÄÞ‡¢Ýuü}] [wäQ‹Á ÎXDcw9¥x¹ôJèíèҡŽ<#yY_ÙT :ÜU¢\ê¤H{P–8u•&7ÐÁ·Ó(—V ã„‹·ô2ñŸ¨gt®Lf¡«ä6Vtþ‚±1Ã;²fê–¾ˆRt]“ò{&Ópu.0ÜiKqM`… Adã òò0Ö5ä&Þ&<³x.ƒÃãIBÿ–9§¬/Y«' G5úqû£„Q9›wh*E¹½â§qÖõI!‰Èg¾O–ì®ÍÔêÒ®m4ô}ÑüŽ€Ú»a»šÊ`’‰6ÈJFLoóƒ~"·âͰþ¥l­2F†î®èýËI7„F îH¬"z‹ºpRÒš{¿ëù~eµ³Ë×LÃ"°¨>¹Bu™võ ™MLJµžý²£¦~ƒ/nÄ‘°»iÓ ‘ŒAß=…¶4ÁcL©ÎEÏ̵:JkH;á¢kêý×Tÿ»]x´z1ûð ü^Ûª5ÕõÏû*‰”uÌôÙð¨ñ]heEP‰_³¶ã»d{1 ¨ŸÀþFá¯Ö"D¯kƒò†®HÊAƒû”àoŽÜê¾Ô½uÆEi,‘ýNóaûg˜Œ6T³ž˜ÁdÆ*•Oñv›‚P9ãºüú 1#è-åÏëG»õô<9d|ÚÌ"jÚ(²À<­c+Êø¦ÜA|ÛñÏÚxgû fƒ‰Sý\}zk3¤ÍúuȼtJR¾M¬1û÷¶Oè…¨åðzîpIýgÖvç6MÔdƒ¿Ë Ø+ÚRçñÒø¶ø¡úP4Ärˆ=ñ€ž!€Ñ,ŸéŸYàèÊKC¼%†™Ù;~_{{ŒQљꞋ†XíBÚªV%\núÄRr¶l&Ãmh6Ž:Ríè¤Ê’ëçÉ£ë _è”>ž÷‡lb™¦lâÿ7¿R&¶ív³×h¿ÙØà5œºÌÝ€<fݨhÞÇCÄ Rîž?ÐÈ»µRÄØÈP»…îæ”!U™«tt¶Vªâ;¢ÉÝ*¡™£rôÞµ¨ZØÜjâÌd0t¬rB^þÄ! Ñ8ÅÜ |œ¤B¯[KŽß¤Ç¹™îó7jуt§£ßèHG”†ïH¶x#SöäOÕz Jãç|þÀB¥—ÞÌ‘JÍ˶uÖ!0áÚµbúÚþÙD6ž¤ÅŠÕNP~ÁëiF›,iR9 ˜ÿøÑBbYK«9#Ù¯(zÎ?jÞ€ÂâÑ-Âøa¤‰ƒÇÓAnà<ÒÓËÀ]~ð½ý¨8±ÛpWz+}§Â$¡üeÌJ'ψN7ÄbûÑq!â×wk’1I3Û fgû a?øÆCùQFCërµ]û.*ÊäõZIÓâ©\ í§‘Ë‡{*à p#Ígæ4{Œ:=Ð4àT!+¯pžO@Ôöžóvàらî@R;àÀž ÓÄyÆ“9c,w?$’¢/Q™áz3uLtþá5µ¯þÑÃÓ_Ó&<«Ò7t€w×Q’c,‘ÅÃuûßžÈ"ª’óûdÀSÿbÒCOÀ %Z- Å„.“ê÷€,¸g ʽ8¨‚di÷èÁêw £ ˜úžÀ–ý¥ëÄO‰tŸÖ‰[·DøØK@‹Þ‚Mw—ÆeH¹Y-=#atõPö*¹Ý‘¢OyôµDèÌùýTU&V„ej}Z³À Ù8¢ ›kµBK«l\©ló2øHX¢›$À[·§¯¡¸ü"ÙŠ‚ðÂb`X?¯Ã- wCc9={%uF#ãñÐü…FÍ¥m»4`¹ 1ø1¾µ?-=¬2w(5†Y^7d´1—¢xò›©³a · x¸²lÛfƒrvLÉ0E.pÑvÉÙsoK!eÜ2K>ý'D!8TJî±U§^A]\t5·Sš¸±¯¤ç„”¥dúbbAH/jf9àrΕ'Ñ„` Bî}rq€A¤d?É*ÑÊÚ ôÚtœu¬ÚzÙî$$k0¬-Hw· †4ãñÓÐc‹Ç¸‚ °3©mÒ`èÝmÓÀ߇PnÓæÇ»Œ›^-ð¦â£s:p¦æùIW#õØ’5`ž"”vDõ0E5»Aå9Ú‰[T_þí¼ë…¦£ #!¹lÌéËèL0ˆO¥­ÎxßÝZŸB-š•Ÿçp¢ Ÿ+·þ^¯Ö8@¢¹)h!æy‘AÜ|Û/ÕÝÍ*0ŸmdžTf¥Åž·â‹Åkþp­[Ÿ÷Í¡EïE‘ëÓòÃÔp‹:Id³Ÿ›#NxÛkÔÿãÃJµ€ÍóË!ÇÛÍF#êU=`Ö"À:“تÊ',ÒÉÛL—9ÍÖDŠ€7…vr Ú¼-â&Ѳ–H9YóÖG÷KhùŒm aÞg¬é¶¿›ÅðæáA4.ô¸oÒÓ×¼yÕUk'x_se8÷Ÿ'š—ß i…UÎä‚dˆIcáck¯õD•!“ƒËF—Ç· æK¤ëèà^—®"äÙ:£ /e/bÔ“bkÁV§4- T6ìë,üZuwMÁôŸ ͪoæ—–«Íg À©xÔUóÛÀTÒ³0s²Î×K<À%tq³s„^J‹)ÛæÄ:®›pÈ\ð+ŒãljÌûÛÍ&AÙŽäÒÑ&åE žÆ–Lþƒ 4ôH6(êþÚ•ËJY;N«àrB{lYìOÏ÷«"¶Øq&ì%w”Û+O$ˆ’¢Ÿ …z×ø—²Ç‰à@IŸ?šÌVCz-}é6;(Ú œWã¿ìQ÷ÒâȦ€:åjKíû§ ¤ó-äE8 cO1z%B¢qHiÙžÄal>ÑD›É‹¨¼ïzhíÏf‡\*= 9¾ÑÁJ@NÒ¬ôì½ 1þ A'Cž—6¾¬‚,Ôr\¦»ûŒR²G Ž)òÀŽ·ª±ˆm+߆¤æÅBU𝲂Y†¯äf’ õÚÆ@'´gÚ¬X·KX°35Ûûe¦ßÕé‹ð|3\“HFñ‰oâí*‹¾6ÒŽñz½&dÖä€<Ü/žOŸëáï-•ûÙðYWÜü<Œ+: ï14MámË%Ծ滼Ê6s çrQF_|65~ApäáAFêቴ°z ¸ZªÕˆÌ3$½2r"TàÔYeÚ6TÎuâð»3æÀXÒÇHá™x)°'nÿ=Þtï;`ø3%;nÄßjË h ÜÓãë¨væ× ô+ ê)¼’äS8{àÏh!­i­Œa é‘•ŽÆ¨ºn±IŽ¿=”ñ%ê©ó¯áØïZn °‘*à!ó~çšaÒê©B`㜩‡–ú"¤;ÓÕ u47MÞOoeèÇ"ÝëW«Õm ù@OغF~ž¼—λèÏv÷-=@=qBèŠC£|>þã ûLâ°š"=µ†|®ÂP¡ñD]¤hׂɥ=í¼Cßgà.¨¸W®„ƒúÄïô$øÉí¿dÜ‚Hcž@{qwá§âíÊ”º¹«"ÿ’ùfe¹ÝZ¡Ý-ì˜×Yl_]#ÍâîNŠ©.H¸ð_’Z:q2$ãD¡õß”W–¾¸-ûýÞq¥N‹$—3ÊþAy} ‘¼«sNÄ£Fbƒ’ Á¾B5´þuÒBˆ6Èü¤—±¬.1 Ÿ&ðÃFº ÊÐúx”¼»Ñ”ƒôøŠ…‡¡ðжalîÓ5]UQ½Œ)1ëŸH—÷åôàjÈ&ú=˜6Œ¶F¬šëÔ«•©\É9ô7ÉÇ?Æ»$«ÎWÞ½ žªŒÓM{äË11R°”ØHVÍš-wÿŒªŠ]ìYGc¯áEE‚%òhù_£Ÿ’¯}]8™~ª~Ýû¬J" MIøM•Á׊«>Õ.ã»Ë­ùÆÿX×·Ÿcè3ZÒ¯;‚^[ëÕjù‚ª Kq^îK"ßÓë2š¯¦%Œg‚LßÁl~æEo¤<8ß‚ªÚáT1˾FjÛ+Qÿ>ˆúÐ:s³>” kb:x4»ÕSÜØ [Á‚R?C`ÌD'‘PÖ3K€NÆÞÙß&?ítlH¸xm.¢댂Àƒ£éFínkó±Ö(á V`—RÔ¼†Q$ñ§ØŸ–”ØQñ:¯ZKm¢XA¬3jÝ ßÈ„–ðfÉà¶xê#¿¿K)ò×h<‰Ç;Ñ™•:£Ò Ô6vƒ|?ä¯^,Ø Åüþ¨ìŸ³)n–Å/tÅ·fÚ¼j±YQï$4’¦ •LJ")“¡µ’7úxÞ•éÃNC.T‡ÚöíHtÞ¢­`Q}§?UÚ&›¯b»35Æ‹çh]´®¸ Û¶O¤`ÊÚ>­Äy>‘9¤g‡G%¿­FN!³¡¤0siÍçn<Î{FCX*^¿$2_iõƒÉ`†®ÄËóâŠýUþWt}GÚ•ªem5ÑýE5ë§(u®P¸zíq³'¾žÁš§ú@XM3¦,ÉAœíÖÊ?ñؽu0òzd•ÅеüQß>“RþU™B¬±H66.Ía}!v>;qLq·_H|ÈäÔ:dv¾Ñ¨’pgåQápzåu®À\ØPÖ) |˜p}ˆ³Sªúí‹Wƒ‰è=Nq¤„wDªÉaœY¸Gpû*|716e€QºIÀ³Ï]ºB­Ý3}eýNïö©A6÷þ­-SÔ‚jÈñ ^9ÙR@Tµ¯Rã@…*À#Va`4lŠB†ÀÕ@õÌ—·/l)úYÆ‹ú o5»ÍÉÝeìý…¦•kwükþyŽîVê|‘0¡ý—0Éäô5KC‡±íu§•2†cÑÍR$ÃöÊk Û2 D3b#dhû›^UÿÍ{NPNæàó@n,zÑ.P‡—XeÔm)ƒ§ñÍúÈ‘¯f£dœº´»¡· òêaÌFÎjd“. "Tû—Ø^C™4€®"F©2ªEx.S‡:©·;Nð7×lÒ¼r•ã#…¡ŽåŒë ~É&n·w{B¸½!xžÚPùóÖŸ[ø–ˆW–+Û.ÒB1müÂI7¸pwªq5ó‘ïBðè*²òõŽ7Ïùl÷Š~³›±ÍéCÒõ£ø¶€I0ÖêƒÿåäLQùìm¼÷’Ÿ´À©½}÷?Ûç(~‘g|yÑÅ (“õh6¸W ~T¤·³^yŒÖBT5¾àñÃåÚÓöTsÎíÔØG?ª‚[ŽN¼w¡bñIC¸R(‚ñ“¤9O 56Qzåóø½`V”§640 * ‡÷¤ ÒSõQ…nhz¶ëA¹'Ôˆ»åT¡òR®4²ˆ³÷ÐûüꊩŻäó[X°¾D`ÛS}òrÙ­à@©­çƒØŠGq±]Ä\C—†ÐÓq×LÔìŸ.o­Ì·‰Œrû’\èAAúsaøPcðŠ›—"ôøÊŸúEiÑ7ªlåLøŠÀJYâϙӧdo¦£‰e†–`!ÍÜþz̈Èb²¢bZ‚“ oôiA^2ýªâA!Ø6_ƒTSJ„Œü¼Ü0ñƒ³õáào”±‘bZ¢ÃY˜±ZÜÙ¿NI '1PíûY5ÕKx„ß¡W¦œFÜÙâ?¬·"ÈŽŒØ÷¶±hWvéúŒ%%…õAŒ]4€Q=Úlªœnàæ\còZzµn~ ú‚0m¸eøüj~›•~s±' “dJ9v‹OòLì%¡OæÙ-O-"˜I,ö2…³7¢UöZ>4„bzÒ´ØÈY*\ÀVäð+Þˆ¼ÐX£1Qœþžî´9%x§p¼"`£D)plg´Ã¼†Úrï%©íÂsÆZ7XÀÚ=·Êâ€Z’묭{»º‰4 Y4¿0èùN³­Cõ£ª­í;Kô¬—æºX¾ðÌ[&Õêà‡óAWñ‘ÔÓÔà ¹t5ËÓˆÛÇÇ(Y}¬ÎAðéŒhå}eû}$œìô㘠µ~ðŠýµsh(ç ß~ô³ø—d”¸Æ›Ë‘ù6 ~ra¶fÏ“ƒæåš›ƒYÄÉÁ±vqW¶kŕƪVåù#P2ŠQ,“AŸÁð!ñnC¤ l"Î. ç,ÄÀ»eª`´:—çé‹—èíœÝÎÊ7ìü¼Ñ$n†}vÑÞTtü\ª*š—=0„ûÿIŒ_äé˜Õþ¡É^I|.r©ä=œA¦ŸŸ¢Ï=â>8AU €­e`$VÆõR<©pÇ®—(7Ý-R$âBûëuš™x¡h)»×·RÞ\ãÁ×FöE7ßU_(gak…ÖCmw»é @ÙBàÕUšG{Oaö +¦éΊf奿ÍÌ?ìwvCØsðêÐÑb@ìWDÕHÈü› o…O]¥®,f(š•„/:p"·èÿÁ~ßy<ýd•7rÖ\eâÊS’—¹{k0#nޏ™e§ÂsNËCœÔy‘Ö>ú£_•J åLPxN\»Ñô ŸÃòŠy ·šy°¦W¦éu=ÒÖ7‘¦ ÓÞÅ$T@Œì(×#¾§Â²ûöú ,@Ú‹Í­tÌ?wj-;4‚Æ­8(fÁÅWq3ð €ÔÑ(L<·…hH¾Ý'ßlÏ,5ü¿ÆÏa·Rrж©ÀdÞ=04Ž”lL+Æ1“»ESerPÔ½ÕvɧˆuGÞæž:ª¿ßY_S&Åvè)x:°øfS.n&L³5‡ˆ}Ëö®s |ôül†ÏŽ"û'x”˲j×à¿nûzù-)èr.”¤d³"ÎàÍà-óÎÁDÕ]’Ï"¾£ª¹¦L/gAÃûó¹*·¼¥d÷÷Ý"VÎOG)¦¶Ùe8é6sbÅf½«ÂôI o1líAç×÷¨j¸qn›ýòi.&,ädÖ‡§ÔtÆI’ðÜU–¬Û> œV‚ XË4…× ÌÏÙ7‡¥¨+%e=ð•›2R÷d£\UXè[¬öˆ~nô¤»yð– òx8oß0R’£ð×éj°H$ÓYeˆÎe"ۿ眤üdÇJì"|µÿó€Äù&h©ÿÐ=µ$«ø¥óH>j V¤Ì•ô¹k{vÌŒLn×”Î)UC,3âõÊCc|'ÉŸ˜¦9/|RÑ\ò €þDoù¨0yžNÍnfE?šàO5r%(ûƒ-À·œ©õ{:¡¹‘ÅtÄ©¬ò×ÔýÐj¿œÐíiƒù“¾óãÅ`ž´~þÉíª`¹üùÊ‹®Š‰voÕfŠ—êŠ>.G’R Þ4 aÙ2‡9 £%Én¥ð¸”"* Í`+xИå8<´‹èkp>J²/ÚÌãS²ŒÀ7²¢vm߯VN¯òªÛ°˜^+ÿÈMA£#&é0™óç™þR ©ÜFa­mÓ¢1¯Pôïôfë¬ü¢EÛAŒRÏZž·ýÕ6üÁâ¦èó+BÞ:š•îµxIÑÙ4W“2ûB©E+—9«X·¨vFmë±RM˜‰8¾KwþÏ+7`uf½>—µ(ŽÄØíSô0D¡^žêZÕX†ü`âX¡–ÿ+NŽ’#óq+®’æ‚Ü?æ°–Â5HÛprÔÁS‹Ê½!D)°ŽU¨èM<¦Ñ©æ1âYy×éÁñrÅ&!Ià€*ÃÂå4±ZB©Ã§=1 Ó¼²ºŒî\‹Z dWïDŸd P¿EÍá·ÏLU_%mPã‰P¸u[£^+ƒS à—h|ÈrÛøà#aL–]OmØÏÀ^ÆËiAPk7Ìsœ Šì§YúhK‰ðDTŒÜqÓüËF‹0:Ík›:B’@sÐŽ ”àwO¢j‹"tñ"‹“ e®¬kPm@&ˆêŸ®¿, þ¶p3 ëç]¨/ ³Ôç¾óÄ ùûÃj·nx¤Ãi^ ù0/af÷°ÆkëI“,ìË æNäa8ØMRCG£"ÉRýÀ"ž  ê™ µa`ЦUcø8°s_̇³×¬ä;ÍXýèþƒj…a©¦‡Ò \aþK3ê3iòz¦®J³,Bª ø6 =¥m¸™†6í Õ{")žàÕ=ÂPfd®³ÙÓ²½½C¼Ô‘°ZÒŠR·SŒŠðÿ+‚¼!ñŠbæž¼@—!åKž°mCØzvɧ[ß°àx©ÄÀöáìY±ªÞß0´³ /UÒG>ø“½3qö¡&}jö¿·ÊÅŽ±‡í†FC]Ü—vdßßûm£‘ 2 …Ÿ ‚©äí30L"o¼þ€ˆ|N‘:•rɤ_ì:sƒá_ëŒYÂàÎW«/t0ˆkù¿¼ßc9§5+0ÔìšáÍ h Ùâ£nýójdý€á˜‘n&@§ÖŸƒñâ\Ÿ³Ü"*‡lAœþ¤íîäkʯX¬pŠªö®€J*êK‚Ol-¡>r%ˆRÒ4ðݱetà”í×A*DöË?À¶<öY`99£O ëð=±!Òž—CìåËâc»½\d¸Ì9÷7y‡Ò?­1aGïÁ†Èc ±ÑÒuÝïÙåÆ^ 3 ÈD¬Ÿè‚ud5l/!Ó$V•þ¨lj¥Ì°è­ sIÑŠ÷ïC¥–‰÷¤­—™ßa6 ip­»`¸ø¬\L—5A;+¾ä|þ/w~Pç丹YÁõ‡Ï„i`¡,mœ£éùpEà׊y;”…-4iZ²I2RxÑ»Ð$·‘81wHƒß^‹Hm–Æ™ÈLq†M52¢2SȤ͑g€Æö¸þÀ[rÿ4ñvô~ø¤€g1â¥'PǪ‰y/XPH Ʃɻêâ{Ž=Æù€¸e9ÇúÉ4*»26£šk4 -©94©í¥°Ñz‡™š†ï«Úmtvmßyo1¢§?—*-7æØ=ôÛÍøsLŠFëb–á¢=Ö ƒAë{“@­À.‰|Ä}¾i]Ÿu§MAXÝ*ÿËSgÒØ0ã´&Af6ê¨ij˜Áh½}@ñú—ÆÌŠ >î>û¬;±ð&‚b{ &ë‘´ÍÞ·O„Ì o\[4¯*Hr££ÿ uÖ÷pTXÒ ªp3ÞGzB½†>ÃyñaÙPvµiUFËqàGŸÄHè„ÅQA°üWc¢ÜëÙJç:éŽh†'S=Ií ¤ÃízúÄ»o^ÐH¢Ì¨y}×ïö”r;Ci»º@mŸC&ñA~±“g$-Ù½r‘´4åé4Ë{dÔx߸°øÌùFA#^7¦/Qâ¿ÁŒ'¥ÔW¿Õ Xî8º°’cÐf8Þ#„½ÃqC| ['±I@KõºAqà.ß…¢}^ÿ¶¹9ÉÔ ð@Nx(²c©äKű]‹n2ðŒ$ÆWE&x`où[`ÈrÒ¡Y\š{‘À'œv@f:ìcsÆôÀ$)‚ègb+†MÇ¢ÏÄF#/¶RûG\¼¯Ð<ÀEuæQ9bÿ`‰p“̆F Êp ÐZp—²h,¶±Š{B‹»G­rªL>Uù˜è‘Â@•Ç¡ý¥T8Ï þWÙ¦Ó¥ìOÎU™¹}4.á\³ß6=ôïÍ›í>Â$ž/`Ý~¨ƒ,›ÅѳE"µ üïÎZêÐå6Q0â£qF :ª2ãˆV`Ê[îvr.Iùú¡$ÖÜp¬”¤Ë2Bé™\.**ÐücK1ÅBàF»¤4oª8ÚDðò刢‡‘ÿÚÚ_¾ÅÕ‘F½ÃÉx‡e%Úñ¤Z&Ü‘-¶œw»ü;ê $׃þçŠy!"~ž¡v¶3à ‰h¼4JŽù_HH¢û:jªª¥­]ä ¿‰1œ —Ý¥Mapã×Xá|]³ñ»)¥æv÷ú.7Ö´{ GþG5—RWµðÑßcà˽ңï+Çq+i„.e¯XcرqKåŸË„ÕåUK2a¬º.¦+æ2mƒ__×öÿ5j.XÚƒµµÝ´`£ÊÁåíï`ØK«Þ¥Æh\Æ‹X­¢œ_¦çdضÐ-3ðþ˜mú¿)ª?ú`•Gƒ*/ÎÝP%EâwëL†Ð¬’êÙ-·~…Yiã†ÒaÐÛ¥ÖBíuÿEˆˆG C÷4¹ †’&ëq®]8~_•ë[3GºðÙÒëÛ|ƒ*‡sè7¡2jñŸ'×:ÈŸÿ£·œ‘Ýñ˜²°fê±!nÎJ»ÒÿÊ¡¸É~Ûø㑵¸»yÇš´êtõ ŒÞG™ §—êgZ™ãÏwYw—¡17𳡚÷ó‹x Íxå.¹‡,rþì)Õ” é™°“Xe”–ì½ÁOʤ¤oE}ix8.ºuÿ~ÌûÈ"Û ñÞ£×ÀÞ_k5ñÿ¸žp­G•pȰJ犇‹¾zdÑž9ñ8RV8§Eí¸ ”á;F|ÃíJÛ”ˆ»‚â¢Ï(³/ãÉGXhñæÅSq>+ÌW89,9†\š½¤õ| ]„‘^ä—¨—nÙ±ý6óŸsO½ðIü¿¦É‘¨¾Ò2ô˜Ö1üL‰UT"Ñ4?ôÆØdö9ãcR~†Jºï¤"gu²Ahœ|,9«p]ü&(ó¸ÖÕí>RA‚Ÿz¢¶O½ ûÈ(*È9ýîÆŒ™ìl2ûœgÜ!ZÖX¶Ënw ƒ$þ;%ôõ`¼Lêò­%ýð‡ý܇Ñtn®qÎïù©¤Ä¥,!ÖHU %”WWY–§KZ›&ð›<‹¨˜WC²B±“ †RIÉÆgôÞ>2ª7ÉÉæ9 –ð¤Ú›‹ÌO䙵¤jy›%´T³A»+z©ò%GHª¹Ú>Õ÷¼KŒ§„ ÒÜ;z¿•,㱕ÖÿåßÁ¥@®ÅHƒéº ^ Õ°ƒ’ÈO7!õ –vÎ\cì‚’¤§îضA òÖ jU^‰¹ :‹¹42_üø›&2 FÁÊ ƒ±]Ë£¼µó·åyÏgx'%E)‘q’°"UƲŒ‚jäÅw °€N}m)¯áܪ¿(‹dØ‚PØ7eª]q.öt5ZଞÆ~þÆfgÌíOq×È Û5z,#|ÌáeäÜäÚ†Ðã=¼>žU²øÝ§•… ¬¨½S éÙ!ðrÛò#oµ•3xÚ®¿KÃZœ„çù‡Ÿa1%)¸‹ƒâáo{Æè¸~Ùcf͹Kàr”ì‘û±òæ ®“€ hÎA^A„ß±VO'‰G™¶r\ EmïðÖoÇ›¤NW]‡Fbàà‰xº1dtÈÕ;R‹ûû€ÍŸ ãÿé;M±_O=±ü«°Zþ¹(ugyó€Å¨ý4’<ÏÑX¬5Ýc­•R•«ÎÁÌR;\ñ)o–1a ­•Bëï]Y±Zj­{aAHºy2ïé’.õ<É._ÑÍNk¢±=e£)§ý³X£®È¦pmT´ö€’LÆ1¡"¡þ9yËí6p¥*áÎàf3•4^†Ln»Fà0‡åKiRïꟚ¦3Ås6¡ßf^˜l /£ëßÑtÏ0¶Š*o&6º˜oe¨ìK .…t ybœ´ÔÕëú÷_¸q¹¦z]&kÔEàš5u)Ý4¬íÎ'k`kØ…³6qÜWPyòèFÀw Åö®­Plr`’¤ß”^*-VØzCÎáqÝ^Ý!¦Ê½ÆÑ¬°W,¤0Êü•Ùô!PPc+ºü˜Ìù/Ϧò7%ÿ¿c¡0lôþv0˜ªNwìýߨ7µ¦Jó%d²¹âl¹ÝÞt×ЂÀ÷SYßAE€›”2¿ä>“@ÈÚÎ2uÝ’ùAq&[!9|R¢çbk»+eOeŸÌ`Ý-ûÈOÛ$Cõ%/ÇRªbÔÏd*öfK8ëR8ͧ^¡ÈÈz¯Ã`W˜ó»xªØ}l¨êÐ#•ŽPpù¸ú¢^É(cõ"NÿÝ‘ßá1_9mK,ñ3V– .:†!ã»ñ€: òË^T±R·ZÅvÇ3¡3¾}FòözX¼+$Çâ†yò!üú6 k"”?nB‹2J“oçdðË6¹‹µê‘·ÁC4:[9š>‡ò*+¸d¦!Xvÿ‹…Ö9ŽÑ;¢ýX)›ô:Ÿ{TpYP  á£b ¬“ Ão&ùI5qIrÄO% AÔé¹G‘ wë¼$S ‡}XP9’Õ¿xoRΛzc ö‹Oé Z¹ž!ôý³¡ tH7À?yd½$–À^#õgC>?ß"‘e±n°²úŸ9Öqª.2 ,±³4Yöä4°æñ½ì §Ý‡y¹®Íô2NIKÊY3uGèÌó ï~ˆy1Ú¬ÖØêÓß”ý: Œað2!…;(<:wV‰ œ˜sÉŒ€:Ò¬m_EÖ¸Ùt1ÀÒõ¢´‹P÷«¼æI¬¯÷ÿÍ%ãÌš”Äg)_Co¹èqª¾ŽZsû§]N‰#¦ ò†Ô7ç8¯ã;s#rñÕ´¥ö(cçk†çf#pN~µ+N¾µ¸ŠâUŒ¶!XLÁ0üiò ÆÑnDãƒå&ã×þÀ*‡—§ëÛQSá3y62Q{ðWÒ0Iåÿ™Ûó¼{™&€`‹¾ze2@„s€ä#ƒý¢¥¬A`Go¯Eù‰÷¶fá*þjHHyvŸw‡¿ÿ«æî_…idêüédߜȗú­?2è ¤gîB–â ²,ZÈ Íþј“‚ü#_§‚È[¼õ¸bõ+ŠŽ±^cº× –¼ù(+© ±køñ¬ÜÇLbÜ¥@´8êcG+ü—·:#±ƒ–~ÇUÁÚ°~0ë<œÓžª:æ^Ø5AšqH½e¹P¿*UÌÊÆÌ%æ©NÉ\¶Öž:zÝÝÜe[ïíJö°Gß§ º?ž¼–þ‘léXXfÇ.<Í-/Ë\´·‡÷HåWùàä]g§rH—_[Ä­áqŒôOáxUrhàÀ¤“ŠæàÕß › uŒ¨H=ÇǯÙ¦Æ[72*’ƒÏoÿ§ÐÖ¶ÄÝïê¤$›Ú¼Êwúëä´{N[lÅ&íB©–&ê‰*¢y5Ú¥;yý_èÊÌ 1C”ãP-+ÆXÃêþ]„×€µ„¹SÁK>£dΙE±ÿàˆa‘‡O`þcdÚ UˆÜöÑ›DôáÃnâ ôTá/ä‚(]­`|çHRÆ\®|D ¼™þÆ(”,ËDž”A’nÉP?ÏîGþ SÈ;‘ëq:Ÿ ¢Û_:ŸDàe×kËÌü"ÂJzðózIH‡°ê}ètçw¯ÞðñBÍE}6é7áwUgöÛ ójqÙLÙ¥íÅw]+ìóPûS x>ÝôÝ (†0À „“Ys~•Ά¦‘}xm=Ëuú¯ìÊ=´¶0Û´‰euÖð}‚\¨ðÔknÖZr£°ôRDO Úoæ%ü䵦…*I­2 U{0×cÒ¬0½èÿ×<}»ßÂQ„¸:ŒÐâ_óëò„`¸}B¸JÇ8;ßdØ‹¹IÄ&É2œrŒ=ü™@ó'㫸P½ª¯›%|y9ÃÓ–íåăC5®8ÄÅW¤÷Ò˜EÓ¬<¸º‘/ËhDfl¾ÉMçõâþ×›GFÑm·æ2g¾º–BÐÞ¿\._oåx0­ÏW#ŽªWvU%Êá Æ.0$ :úøŽ/» ˭ȱƒ»êb"š‡…»p¥—²UâÐÅtO¢æ¯à h»³0…ºrOj¶2ô˜3†*ò¾#ñ}zÅÖÈô5ˆþBvò{³îî"F­zc†-#ؼÚuF§G!aF×úp‡”kð—ö,PµD)7Œ|Z\Q¯ý<Œ>ŒßÊg­oùú…2¡(aáœꃜ‘ ¬1¼ôO3ß@´È>‰—˜®ðPv®‰QËÒ (K ¨Á«ëd¡­Í ÎñiHFsÒÅ«h±˜`…8cËãϪ@×nõÞWHnÎ4;âR×í3žBf“?âû80„¨Qi¯Æ®¥‡]±6¥Ì$f=_8ùþ­ï2óÚMâ(ü¢"_´êÍfÖÛòõP6Þ³î®}Ëõh¢VMòTšÛz‰Ã N>Y¶¦•Ö¦äE7ì\VÖŸ0jÅÕ ••ã…ª[1š%¶ëÕ|y&kšâJìÖzh Œ‹.Ïl,·PòùåÄ2 Jý%EÍ›Ü8C @ÚiW µ½{Ìénéé›äØaFºÆd4Žª$èA|‹…UÞ!„©†`ýAï—;ÿµ³:øä~q°¾Ç¾DdŸ[2'S]Ó•÷e,-´p¿ÈV“—WŠ* ½sª)ÙÍ1Vbˆfe_©ŠR3O ;Ã’ìëáÚMKqƒûë†cUXs¬Š(XpeQ=eQ—’™ÍcÄÙJ(äJîÄÓv:|qIJºQÖCu¦Àó4†eƒƒé|j…D05V¥ù$þ«TèmZRë±²¯f+aÛd¬¯$€jîV Ì„—u}ÒeSóâ[1$K~Xö”ï˜_¸—é™*„ÚFö¤ûUÒ qb†^­à¹…W²š>w×ÔýŸˆ .ÖËã)—Ä”—Loòl¢€À•LŒ¤øB7GaÄϪnöÚ.Ùã©:d‘lzRL1cÏßGœðÏÅ·,Y]¯ˆÍT2’gˆZV+OŒb¶,Êœ¤~_ç¼h¦Ù¡¬|Vgw@Y¬û‹ ÚÉ爷 Ð²šue´ÓU~õ­R`C×bèxw’Ï^#‚¦þ2r“£9InYNÂÈ;‰9Z»ŸÖdÌHØvóÚcûõ<Éð-¡Ó™±ÄÑA49|¿Ó8P–·ôf¹¼bÂ+²çKk}ÍP›Zç‡ÝDÚ7ßxâùërTtüã}æ/±Î[¾o«Ñ²Þ5Ë/ÀŒ~ï X¥¶Ëqàw˜;MóAîeÏÀ’ΛGPÆ¢w$´`ߨq‘¾gÍݶäw2 †])O)ø&¼ì«&1Puà¸M‘èV©Ó«ÚméÀ¢£z‰1ó]r&¨f!ª´·*äMÔ0Ó ® {@×úNí_’¹º ÚºIשÑ-OŒžÅìñðLù€].™FA“øîrSU2Ï`¶­ÍdU^hë²f`ê]°Czô2#ëÚý †8Ï‘]êM¥–,— æˆØ°¡-Ò•ÍêK†lCVÀÏ#eÝ‹mÍñÎg/@ÉV‘6±A•b.X&™hP2'²ïÜ„Wò£¤a7]ƒILù{\u+o¾rµšu6hA‹h„ðÝ‘@­è¬d݉Áøçô Â:ôpšÐ,uЪù:$âQë_¨àÞø•ÝÞÁzT83 ®ÝPm- §Îµ :?.ª¬ìÛÅÈÎ/s5v¶÷A iØó˜sNU±_Só¼­*žeCó:èj;,|½v¤uí( Bá·CæqJhd¹ö)»‡î—Ϧ½Ãé‹§žD5˜RIŠOׯ3Û¶-€w¡¯É[ ¶²¦ù€%" !_¯¼Yñ½N7xã™fV@mF§ñ]ÁÖ­1#jŒ¦šIèû#*h2­óNO#bhö¨\31$Œßài–¼—:€­p%l[ö$Ôš.&^Y6„êN_Û•×;Û7öœYÚ×öÖï片& CL½u¢ƒ}vZJü÷3†ê„¶±¬3fRŽz XDÌMBÕÑ·Þ&Õê–º¶ñ«0þ€u~³ê,7Îß4*ßKüæH4¬}RHt±ƒÜ€²öŒ>žix’Q–¡52´M?™/1V?¬Š\ù=PŒ]²qL”ÜæP¼2óÑÚõzõL:ðzÇÔ•ÌQ;.'ÿ=¡¿‰‹2Í·RøoØ0X•û”>-ŒY‘œQÎÖšlYÅdDÊ9|"ÜKnÿa=Ô¶(ù…JŒµÕÛ|ôþ=Ä–ä76M‹ÀºV<+ÌÊün¤ž!ÈËI˜îîÚ"™Ãs>gñþû©G€t@©¢„‹`EèlË.a„_.¸À*ïÛˆYO8x¸…™ê·3Úfj:×ÁõÔÓÍ_,g#A)¶Xœ\ ÄÄ>¬O2ÜvÀ!P""M9¢¼Jó'Ñ8t7¤oNÓ’@#ï¿ÏžFôÀ½ÚE®øŒ"¬®Fp(Âm¡ÂTá}Z›€wtæl­DÖ™ëGg.>\ûîÆ{†Äjq+Òì¢+vÝ÷ÈÂÆºùIîÇG÷ÛÌßì)Q2B1áíò?Y$Úœ)´½e"¥§¬Qvz<7nxĹ ª0ЮÈw.ü'G_©êߎÝDFÅv;¡ÎDiõÇ Uò‚ [CG*°£é#^´eý2Ž^}èÙÞMcPÓ;î>×r˜²Â«6Ýü‹Ü8®©¡m ½à¼…ÎkŠ|ï,ÂUo¬ZW'Ø“‡Nã‡e€³úúÊöE$¡èþØ<,áôxÒ]‘2 ô;$ÏÛïëø7`´;ˆRâ}ó±?v¤r3Ož½ê¬ü»\Í÷ý± wK:oêP!£A¾ù)ÉGúÈåóÞ%bð;«h¿}¨RÓâ‚Ïàå]š¹R{]lN0ðT]ÆÒÕüÑ tv )J~¿@¾ûOçvn$ÿ@;´#à7Ç Š“O·JÍì5ÍXaþïÏêl'žÅƒC°Ñ v³ßÉ?ò®F7RÔ•?ÞJ‰³“óìÙ©xöš÷`õ§¿p˜ðI]^{&A¹O¨ÌÛw ^ëâ7±’=+6Ü ÀÁ»ƒˆÁéõB'‚³T[dmÍ¥¹+݃Ý"} ¨mH>Þ@0– ‚«/‰wEáâ,>ÎH‚gKPö¤TßÀT¼Á²ÛUbŠPÖ àœ;€ ó*²jGîJL¾Ã¢fl*°‹c1ÊÜGïsЭI·@vbo-F•Ã=ÒôµÝãWŠ.þæŠ^·fûdÈ<'!s¬†P®hu†}“¥ '`3ʆuž€ãO2è´˜mdRŠEüMp{˜iÏ€ÇÅ—X™‚Ἄ™-°~jƒh‚Â+^ð>¯¬çiB\Í!XWšŸ¯*^4Fð_LWѤÀ²Ÿ®þ<) %xkûBtŽÜäk!ÇýÀkèŘceô.‹F”1Ú¢áAhHˆ×´WXP»ªabåEO·ªÞ@ÿO†›§D:ÍwE}¸,‹b.•%QBîû;“k}©Õ‡J’Ôå,ªßDkÒ|ºí®ˆåÓAÌDZø¤ÇòíO>Û&á½ô“Ì߸â=*Ç õŒgiE:ð_eg8©¸öù¾6ŠíÀ@Ý ;Tñß°¹ ò÷•¥aï¶G &åŸç@ —9¥ZxprzA}_T€×]Q>kÜÂ!?MºŒ_ ´Èج›¤9èv‹Æe Û­†„ý±EN²õï5‡¯tÆ(úg'áW<BoI‡*5”æO)Ž/âjp¼zˆqÊm‘u‚'=ùÿóž©9§$svüR$³öŽâi‰¼½b­ó±€Î‰ÿy fæ£ÌVãð®×<ôæ΀Wêa•ÄÞÇÆÇ`'_û MôÄÕâ’Úï½ü'VÎV³ÕÔÈu¿¼þ±'  H`ÆåìÄÞiC©›ö€‘Ë‚éü7Ê¡W"#aôfKnê›1„L·F ôÿË9Ääy-£ڦÐÝšÕPwz…ïg»ÏK†–ˆ©Ár³·¸äÎB°3—M–7V#ª2T†=.›ž³uóÚ¦¢-TލåF›ñªžÃÛ¬¥~Ù¤¿ˆ‹s§ÂϬ[V¼ y2¼pC”å¡)>äB‹Mtž×ÆÝ¥Ç$DŠH?{xÎÕox&å öTãÛ>ÂêÅ)l•qk—Ì}äûo,}Öa‚få'~å}ÝŸæ·²nɨÏópDÇ}„`'+z§ŲÏ7¡:‰®`=Se0øÀ9ò׎Ýí|éNÃæ¶¾J>ûlÂU«2_ÝÎyH$«i“íS¦dZ‡cH*ÞÙ¤*±A¡á„Õ5ëÛõžC IcëUnp¨õ Â1ÜEçU§1ˆ£%-F3‘£JœÀXhânÇ&‘ÖèÕ|t‹•¼‹€ÄCÓ·8±±)Ã7 Z”"Ð3ê)Ù˜ ¯»“A<yÐ>—"óå('…¾½†¤Õ~ÓË‹={âKÆpyºÇ\ Ä×#Ý|ˆW/WÕµB½2 bqÂ+¸âc<Ïb¶ ®!]t{Šç•ðc£VÎÓ–Xˆ\øFùTÅ ý\{P@8/l’ÝÖíÏ5ªaiubR2Úi ËvésiXáÁC!ØÞ?Ž©ã|–>@ª‰§MvÕâ[;t0cš_ÂÌ—JÁoêÂPzÈÔe›P.˜%ð'hRhä|ñƒ¸šw1cƒg²úò_ˆYê–Il6ª¹‘7B©2ÆRÜàü¹ïÌ9N£Ô¤:"Ö ¥5jçÍÓ™ :±qˆÜÖ+­‰VV˜ÎvÓGÖç„û­E|[ ?44…«¼~ºwUÊš¨>–9勽Ö@ †_–á¿-‹Hzf¡¥Þó¹‚]Ô·çƒäŽDÕeù(Ó¤Ôb~¢ 74V&{ì;Ç’âSõ<]¦à‰ß_ÆQ'ôÊ †s9=hzyBþçš•Ôf电<à D瑵Ôu[VÛfS¥uIý=¹ó"³Âî^=çßÜ‘~ݲxtV˜ù:b;Œ Át$^ÌL¶šÃ; }<»úÝpãå”ê-×áÚÐ áøÀf§Æ¬u3ñĘÃuô–Ä·DDÉ ÚŸ$²+ 9% 3Šé =šþquuÎÿ7R”~Ÿë0I`˜î<§ÉÖfEÄÓ=U÷Ðn¿ Òr½½J!—Àh`Î89ê7ügC«c—HágmA«6r¸wJáIóê»Z3}²à£òU­€äy‘ ªÜ¡D¸²7¯’ëÓ÷BIãΠδEOyÆ…ÁRYãìD-¨¡¢&þ´·¾ik”¡í¡Ê?ÆÃà¿‹íÕ™¨ò•¤/ŽvMÕËìAAÁÁ…˜Æ,g³[±Wô¿øà²YÀôòY1¹ân÷ÔPJ óH™f†eÛ3à¥d\$9¡àLs?ܪ"ÊÜ1Ø@Â3:fÑœòZv×Áb™k__sïu}=:%Í*>áü³’`58ÁUXXI·@ÁqѺBl<ØŒ o'®Ðìî9Y‹ú¦Ï²HQ?Ò¶©Õ`7t0>“Ž£×±9{cLOhjqˆ©ì¢ª‰Õê«çìéòö¸\zÁ*OÊ«²åÒâpÅN‘Q«þÆ$­`˜/•ÒœÔy›¼ÛüíT`ÅYúøçâð^‚•a3$ÃAÂ2Ì@>#Í—õUä[?9äOüe£ _’h»ô+‡Bÿ7`s²(.ig‚Ï—}-±É@Ï.²`JáñÄCëÖGiœõóƒ·–`å^öë@ :pJ¹xˆ¼(?égÂwD^„1+ÇðXŸ;ÐÎJp}é½ @üή~¾9oÓÛojŽ¡¿™*¶6{e‹Ì„³•øicØéÊd6¼ ÒxÁÒQý]ÒÇ0fB q¿d¦¼_aíÉò«ag\ù!{ã%õ3hµ¥ázŽúJ ñœ(·í”G·~ï1Æn€È»¨²5Y¸Ó*B¥e£¶:y$ð÷o²&Ñ{Dµ:<Ÿ|í&…\;¢Ï^™å"´uZ{Fke¨Üöf3‘ýO¡i»XÁ½#è"OK‡VÓ`£öøñòY‰¶hGTx°Ü´øÐ)N€ 0¿m dZÓ…UugHÕàú˜ª•iH`, a¡¹QʦhSo`xÊoä®Ã–ò&ç(Þ ZsôáV¶ùT$ðä–@£ ÞV%ÜL$‹LaÈÙL/J7' 7§Ì¹ÒøO†•oaoæ.P§;Ÿ y×Ðè;C˜{V[DåùQ=¾²ƒ‚®•m„ý`”…óŸ·¡´þ ÕWyù¡!Ã$N>!´øŽªÜðïl#è–öqê^uåȺ°®`Ú2] xCÐáËOÂ`T–nB#0ST /ü —ŸLâÈ–SEŠ#«ŠÌÊáí¼ >õ(\ºiï°zÄ9^tñ³ÉšŒrQ·3«/\{ @ú2zrÍ~‘”ˆ•ÔzDoVÐh¦ë½*tù4Œ`W˜¥R~Ì¡%é\ÉF^fOå{y Èå¸-Ãc›ùÚtAÑ P6{p¦5…Ĉ \Ì:Ã7‚ºäæ¿q0±yü¨´h Ü!wð¨NbÅßT[|*êY—ï=Œ¾û2jv(¿Ýo¦08ò ·]Ù0a–¢I-ZJdHÜ §ƒÆÛŽV{¿ÌE 쌃zFµ Ú»(6«ÞóÕKJ›¾“ÎZQþÈ„Š L-3ÇS¬”&à ³odÜ"‰Ö#2 Y*dÓ@ÿöcáS +¾dȾû9ÖSxÕMáD¾ÑcòqFŠTÉÖ¼ }Öwj½Z>Áµ®Xâ°F÷Ka‰Ñ{tEî:îþr¥Å}Ç=3‚ :Î{~åvXëˆ Ï`Ožy}Më»>XfžJ€i³@™X÷„ªŸ„læwLÆqvF} ”Å'©uÀ´üuK ‰)ÖÛ;¡¬óÃ%|ú« - ÷Jö•$;¸Ú”u{ÃÏgÓ:á¾·‡ÝöÎ4¶y_Ü:H鋳åµ³æŒx¼ôb£*W',YnÝÈñ{‘içÚ?ó;Ùpmynó©˜O pViPw·GVù‚Al&¬HÁɳ™’’:©›:b% ÔltuH›sòt¬Ü•"‚¬Mƒ¡%¥2[m¹bî ¤†J&ôëwÝ3+ž}톮'3H0i#¦ãŸ`4w¢SU ú»É>‚ž–ìAÎ ÙÉI8OÞç)ѽ3Â,ölÒv*–s³°ì%ŽÓtõþ {q3þÄóá²DŸsãã‚N©ðaº¦êÙ|ZöÕÈ&t¥h ³ ]ݵ$¸v$™¤òŽ{1m¶œEgÓj(¸­Ö€Ú‰ršcÿ<üQl“˜UgT– (QŽ ýé®h·+¤f;×öíM!ïߨï·®w-3Ói·¾9F(`÷zH^·Ñ6’×~ëwôÊŸÛàÒµwí\EWQÃUPŽòÃ<ó9uBUZ/3 ’ûER¿˜Í&ºË¤6)ªºUždû»SúðÇe+ÿëO‚9èT&uöN†¿Ò^R—òR2>Ò&‡º%Øýð÷ããíhÀ—¯S)«D~…Jm™éà–¼ ®ôî=í›…›Xò…¨@Yôt[ ð#²º-ü¸Rn­5®ëUA‰±Ø‚ª2wÈc Ûr"IÙ)†T(N¯0tà¢m®“‹î)òŠ7‹Sò$\òqvï8- ;µ¸Å…;‚§wwUêö`j·,q™výH:º¿SA ‰hŠ(E_X.\H 7¤A ¹N¥–œ˜ƒ-Óv°Ë£añ·Î¡­mâ6«m) ½´eh/÷ $ªië"•Ò’|–vÉ0›Í³cïj³°Ô^ø[{‡¥<é›};¤§9îE" ª5bž;ûÈS '¯8WÄXs“ç6ìcˆÈ­7µ¦N£‚#=3ëêßÈHÄÀjS{?ˆÖ-£ÃV©í‹$óÑ•JÞŽMàÒ†‹ I†ÝÁ¤¶•Òg…›ã>Öºßì’~÷1•ÕÚ-{ŽÔ¼sd·ô[ÎX­õzÍs,Så9Õf¤Öv{ +é*±î:xå«|;“•Èáž”ò.â°Õ‰é%ëíó:@ëÈ•Ÿ^’JØ’æZðB¤æ/¯æ‚œË­hJSìÕ‡´ýŒèXXœ16’É[1ÅÄ]#˜Ó°²JùØ0™:Iýyý”Ça‰]ÎÂ~/æV…h ý03ÖDŠø»gû¯ÊÜ?Í'‡pÚˆ´»£ˆ­bŸ4=YFt-ÿRÀ'èëÜ7e†ûQâß¥æ ¬1h×Y² 'Qÿ Æ +úí-TË…ÜÅ8Ì’Á1ÛWA1~=• ²2›4¾¥ƒ/&ôÏ9ù2ÝõgÔ/ì»9Jب/.ú4ö3Ýɬw‰$$”|-ÂXMq6 µÐ&„+Ó_ø$³µC®ñfðFa7¥÷6lPÀÔ²h“ù©TIký™ÜTßùZ¬Äʦ/Ùg˸Ã1…Wd4, ú£-†5‹UKþý·ÜL*6Nk¬ nAÓ|tÙ‹/„OÄñQÃÖ}¼€¹Òè Ø7¾—Ëé•¡ö`÷I`÷ (:83þŒàõ”Á»”| °aõ<:²þ"ñÓ8 ²Rüé’lñ,“XÝ ›^ì9{t4)>вjÛëfál—a·c;òFÔ½R’êá±JxAcMâ(o-À,jOH±0¿ÿߎM„"qÙÈ…Èž}G*²ÇÚId ~X@§þ(6Á¯Îq®ûçä´n6Í{±`"¾Í=!°ÂQå>úÓ¶üÞˆky䢛F1Þ|´´û–kM%+;4–rw×/Q+rüq£iÿÆ#æ9£¯Ÿ‡À\´-è?°ÝšP-´±º{êuÁ¼™•’2ë%$ïÒŸ™‘^r ;ÅÓ-Óú¥bz:鿚ÒQÿ ˆÞ&*Y~÷™€-Âh_ý—íʼÆEÍÖ½©4\ó£ Р̉¾Ê Sç§}Q\9Sû–ÞþÙµ:²HÑ}°˜/viË(rϯY£6ü²ó4˜=Š3´£lpR6@ÑÅP@Úæ¯dÉj…ÿíäÕ%YÕך8¶ÿ%‘B³sÆÎÞËža-M%™»}ü•ì UÙhÏOªåè“âÎF2eú•¶¾KBnR­š•”1-B6`}` s4<‹R^…Çô€%©šVè¦sˆ|²-\ÿqVZG;#J«Ü(Í-?gieò*in§:¹Æ `v“dr6öÍøìvËD×X_:ƒ…Íø”N…´ù¬\‹¯®¤ëÍxô/JþÔ#.ØiÊa‰fUìðR%ÍyÞŸEhç™7¹üA\ôÄïÀC£‚ùwCãÚ« ‰Ë­å~k{^*òœîlæ¿|CÒXv$]Ùƒ|˜Q†µ³OffFß0ÕÓ·"‘ˆÈ¡Ä4¿­\¯ùò虘X¨1õÑKÚ1‰Ñ6ì@Å/¡¥›Œ—ìkeFÂÛbpŒ1ô° üß [º&ñ{=VœâIÛ×F¿zÙþ­Îñýþ)×Üâºb+´yÞŸn$YA/ Eh1áŒ*úIœdå”i|.¯ëTCÖ‡¡—ïÚÌ'´‰Tý h„Oâp^â™Ì…ÒFÛ›Ç6âüñ(_uð5WZ+'a5?ó.}â­>‹Ža5²&g1œúšF÷›VS©yÌl•%éÌ|ÉW(\¢Èì<â½'o±L$îSY®‹Ùzœ+F_¥zf¾­žÚ–>I­ü:ض'6,2Ÿ‚|^$ªŸÌµ.=h$b6ÎD†"óÐ ÑÛ¬°ìØš°É‘—RõÙh‘9%Oäçc‘n袤 áÑÜžTõ¶ow¡CôÚftüL½&ÍMd½¹ÇÖ§a€÷pHaâ¡’2ë ¸Y@ÇMÜEôZ¨ûÆ…ýÈ €xK%²7HE¢_åUŽß_5À¾®¾zývëÔW„6§‰‡ò™ÃÁ‹ál¥"ÃØQ­¶E*DRàÖûn[úìf½©©g1‡õ¥Ú«¹Õ®6 §Ô8;2r\œt!nŸ•>«,ÓÄëë+½q™>äŽL缪R~Õ[ï¼Lè.»ÈÑ-S#E›à¿¿8DÝ\جڰ¶»a/uRçMOX“œG0¼åʦðj:íqëíUB™Qï&‹&1ÿøUIäýo#ù5±A¨ÄV¸©s¼â£/eŸLë @Yôõq)X …–îsL3”Rh·º e\„šdÈÞ ¦û£¥‘‰˜aú RÕî”þÞª²H½g –¤¤hk òÑÞFàr²0Ù‚8k}6fÊA„ iQvQ²CQT¦šJÛyñ›Ú fpÔ˜/“K ~8E&WTÙî–ÂÉ{j i¬^›õˆœ¦âi]©Ú2œ^¡_s`‡˜ %¢Ù]'òNkÝ¥õl’~¶a™:xCX7¥Æô€\äÙŸjƒyºYAò1½2zJùF Wǵ ê|±q—Ã¥Ý,©æo–¯f›TÔÚ%Xmj«ï pÅ«ed&™å;§GvFÛÝ6°8v­÷¨¿–7 žOg?à£W/¹ÿú,êIF‰@y·ÕnyÖèUX ,½:ê`¡ˆJžÐGe¿W(ßÖã‡év4%­1ð‡; i–Lœ¯ð)A&-ð¦rÀÃÅ©UÈ_aQM:M‡ ã"+Ò¹ÀØ•‚µ!Œ¹ ÖsšµÖÆC‘ñnÆÃ4¡Â'ÕùÜ“аº4–(Aɦ:G§ÚçW£9>ì« ‡¿¶õº‚ §±û ù» T@_Ní#ÁQw•®­_Ë\þ"…s¨3 ÕôŠ©$ÓŒE׫È7¼NCÅeïè¯Èk¼ÛáR¬÷§uýS[ê>!ašä³Ýq{èt¨Jþ%ÐT²ômѳ ©¬¿ŽÌǦ=TØxvÁ9ÞÂÖú‡_µ7ƒëXË»ßv¸¹ÏnуìINâXœ‰^¨² &Z³)ho,´ÔLÉqD=xêËèð€F…±£ÓŠ&ÊîõŠñ¶<ö 4ÄÑ}Ѭ»Ž{®öØñ húüÅg¾Wƒ¤DŒ;iÖ6û5ØJbD[ÂųrçýÛ0m€ £h9EÓÞý(¬ªLO°Ÿê«¨hHõ_YV0þõ¹’»¢pËêo³|v.öf÷†°"ºÓÚÖa§L¶ÐÍgãýLvŠCâ| ˆFú­ÓääXšu=ƃþ‘Z–¬ßt ¾2ë6ée“>)®_ç`N®0ÖB>É:úm¬OWUv¶:I&ÜÒÚ1ú³ß!™äŠÕ³2[HõO—÷Þ’õZGüM+Ló˜ yQÅ¡yí…<øJF¡oa)Ò_ ¹Ux¿íŒ"šŸ0–oDý–+œ“Aüêiчw^?*Ù-é®ab.¾xX6–#©P$ K€4Òä1?E}¥UW àé¬ï¾7·2ÙM|ãäÐ`!ˆ&Œ‹é›b¢¸@Êdåê^~* 6ÑÃ9.âlm.'Õl ª‹G{ÜžÐ}QtPÐT)Ð]Ìš…kŸZÏàÿž_ïY-\fùß9:feâSÄ`í™i«/È 6yböÃF1{»Ò”oãl… y|x£Uµsª!Mã!{=МVt"&$½²=o–ÒteD™*X¡8‰fî) %Sƒ“¢¡J¼à¾ÃW ÀÊ<›|°ñ'îdnbyÔ]~ ÿ²Ç5«î.D¨ Ýá7OÚAû¨Åû‡ê€Ø[\o'‹JäÔ…Œˆ~&N‡hpâ­¸gÂH{ |,v,ÜÅ  Ù”vÊaãÑ ?Rê`-U¨JOX#;6áÀc!ãÚì¸Û(ÌE7u ›¶70ÒúLÜXdɸßåÅ4@/ÄÐ2 ú®ìð÷Àl»õ bZãÉû¦’¥æN´* †Úb>S™ô÷üâ`´ZšèHsh¡ ªÎƒ¿€e3I¾wÃ[2Ì8½U´.2@R*ÜpÜ HŸ’O4Ø$[„ÿùÆÑ‹„Ëñý`×¹'Èp/[€l8/½×¸‰siº‘ÞBp`•­T8u¹%m*áÔ<·Wí ™+Ó¥{š'YYž{Y¦ ÃeyŸDënA‘/[¥!ÙûN1Ÿ“æÓþ½’òãQ®®B«ÝõÜ4š«P »8ï©Âsè\^¬Ó>×™q~>‹WM|èKŽë¥ÉrSÛ7aØç§À>Ûõ®_ÝâNcO%6p–f©"µn‡G#ìô6‰JOŸ…^Ò³èõmÞa]ÐFlÎ6˜_Ð].‚¬¾|*·FÁ´sÒ·öÓYHŒ `gÖAÒ¤»"Ý€—Ë©™åô…ʸçã Í‘(Ïù&fõCáöÊý„É2P.¤Ô¿fn¦NŽ–û­Í¿X¿!~š=8nA–·8}ï{påD”-徉×ÈŒ)P§3à?«}aü¯Æä?‡]þìŒ;í‘ê~Xa‘H±êuF˸ÔSE $£¢Ml÷¨ ‚†­™ŒÈÕu+ëL7ŽÅ: U^ì(~.´âh/ëZ÷§ž-½¶ê²+ø¾W‰3³ÎÏÑQ–m×{Ð’ÐÝÒ†Z:ÐÍÖþ´–àøÿGé mº•yFñù¾LC; Ú/c>vøÄ›–¦oa÷[I·!IþU–89ÈÛ‡VixvõŠGÆ”ÜF{ ø´J}Yo—Çø3¦2XL­rÐÐvøÂkì2]‚D¨ ‹¡à)fõK…ò¾ ª´0ÙØ];eªÃŠô då|´®•ùÄDW¹VóÖ« òf$®ÍX›xÑÃÆÕö §{Hë_ÿéÏ¿Qt6ü0‚£ÈüP iR1ÍTî£F8wyŒ°²2È‹2^sü>©sÏHNyßXi éù0ø`ÿƒXIµ|Á[è­=úòŸºÂÆ~ÿÓò î÷½øTú`7¶Gä€ýiÇrÙ¿†Š1žÈ%?LµŒq”Ü™àîù#¾û)•™ˆ`‘‚aÜ÷ ”vÀ»ˆ0þNá_ÏÞ~'ß]lŸHýçL–ÝË󱋞FL$y©X2à Ë| TÔ¦@±”—ª#¶ú´fñð|ˆ;'Ãuªøœ¥,|ÕÃ/2q.ð {a›Ę tâgÃ]O0èòæ Sùç*9LsQ÷ÕQû·RôVíŸñóØ^ŒÙ ôĬ¶ìµÖ\Ï~gþ 1š#†Ð´åWÅ¿BýpÂQ‰€W~¿×ê‹î1*¦d„À¤y½}K7¥(§9ûù´ø¹àóc*f£»G=+ﯳœ²ÞÏz"-a\õsø{ûM;‘Ü'XŸJaÀbß,%¬†|w$ nN~ö;™Ç —?¾Q5«¢ê‰©@Hm'A°Bµp;±h–ê=& äKuøÚ:<“Ú ™VÖç/8øãåBÁ n-; néub!/ ý1¡ ¾òØlç­¬·ë8aÜWj¦Ð% n:›ÿDÌx~:W>zâ¿vµd×añ8-OCô¤™ášŸl65NU§=7MÝ9+ß9ܱ9$ J—Ò³& V4~ÔÊFOj9‚ÇÚü ì·<àwhÈJðøx )Fp¬üqvûÌZ„‹ÌÓd½Jà휂eÍ&HàBÐÝù>Í®¿.IK¨B`ôËÿÕrœ":^üÄæ|I•%·Ÿ¿$‡70<.?Ø”Ã[)ƒ?°‘Bbý—'7J7:ôïΣU–ãôÉI+%eaÿë6þ©o¬ù RÆ¢sœ~+fœvÛ/BNºgѿԺi„`š˜¬Çéìt€)åQ¶ï²¤Ÿ¾øÝzÏôEEˆèîÇ3‚¯3ä3­èŽ“ò`êΰ®Í2ÿ(޼®°Â*òýŒ>LB¯•¸SìCÞÝÛ¡(ÈoÙD¦ŸvQ¶óË6_È t)OL3 Àè½E€I–î*µ…ó\ëæ«DmØ©K̯*ŠFWyÛ*& d°~ŽþKC®hŠ`Pká=+m¦@¨ÅÅ{C_ýxèÃà¨=5¤7ŠÔѵ3˜ÄP*²?è)§Z …õóŠÌ–¶,PÜXÒÖ›„­·ñ¶E"sP ½òÚ×rPZÓb—âõ’,Bp3îA£)ýô:õÝ&ì5Eqñücob¢v7úEšÉ±Ž£¿óÈw–O¼J»Ô}µ¾U‹Û¡½ŸôMO΃°³ÛÀ€•b=Ðw÷HµXfLãxÐJR»Eªêî)ïV¼ŽWQ´eAÌ¥šh“mÖѽBeŠÀŒÈw20’Áè³Ù5ì¨ULÞ>ƒ'©õ³ó0r’—|ëÀ;V/éV¹(MÁ @ª¢ÿÐ.WÖüC˜UÜ[åü°´œ¾=Ïã§ëÏýí /ô@´G`±ªÉc|:“Kí1²æœyÙ¹é͘1pÚV÷ZRƒb!P”8¹(/:±­iQÂ%·E/¬nlò!47©Ò”ATÒo´–öÝì£ÌéäÒ¿‹K>u‰=aP¬ÆÙÙ°ã)ÛS•~_.Ãɺà;ÍÆB "vêoÃë×F*AÖ…ÿ†0®J1…0¢O1À³“sr€€•é’‹øŸ°JæV®øŸÓ$4BM“”‡lŸ~%Õ²’–oÙlœã;L×É‚qÕ¿î*b«êÞá0h—¡è3JJ ¥t°ÊW °eeUÍ œ%D@þù%·„±Æ(­ANÛ†`3ò;#œÙ‰B"£KŠ3OÐm-ŬÓW:wCÇzáÐŽŸ+þ>8vKMëõóà6ga&‰$qý ³D½³O\I…ê(6{½ÃeðûZ–nÅRâkÙ‘û ¼HŽáÎ3%Ũ5wädQ¯¾Ùfi P¡½À7*Xü]%³­O{Š8¼ãB×4R£Íß´+Q™5ýÏ'³×õ”ûŸ–Vòìútþ‰GÙå8•Ð ¾\ºjDé¼b‰k¯þoÚâ9t“øÂæ(©'íÆäVWÞ&'U[9Tí9N’¥|€[bž«¿ÈN:ÛIPHXSÃZø”™´ù°±ÌhæS÷dÞf3hkëÊ&4€v…9¼C™¿øHõÖ½Dý’,zìÚüëIì ³,ë¾ÈgOW½äu%é\‰lÜxÌ7/¼¥«–| ¯˜Ìò”ô¦mü×e¸Î!—mØ&_¸…ëìÑžJÿµJG<;W]¥©Gœ¨vNMz­}@~¼¢Èh/³Â<½³C:GŠ’Œ<2 ÀÔŠ(Y|³@ãÑ4.@'Á:aï⋈í> õ'uÒK r*áB ¡ªq¯á1¾Öð4al²ý³!KÏþRʼnÝ$æöÚ_õâl r0æ3Lgtyí¤ÍµÑf£ìz ¦VoAóœLFX†qDú2Ü..æíÊYw(jžbYC#~Õ"‘SJù,ÉÃíë…ÊÆØPåAF5ÐO8'å­=HÀÙÁ‡¡gvdÉJX$ÌŒœÒvbÞ<¯S䲿UóÞ…³ W=Á¦.&*)bmhÑ0ý®å?î蓦ZSWw!¸7´ŽÒŸ‚at»wÍ$IÛjåe"jaš¼×@•`ØžþCC³éÑQå™å úø_éCü=w5—òÊÝ(Å[)+5¿á¡+Ú¸l@õþ#Àů ¤‰9ñ™~©ó´a%RMõáOM6;Áñ KFè,ò¢Ä[.аmˆǰ†ˆ¥”@T&J|žäC¿ »}ÄŸO/Œ`Ìùjž¹ ¾^Tfe¦;ºec‹¾öùSnÙû ssuî:Ìñ*x$xXÐV"©µƒ—hÒ ”¡ð)U`•d)»¾q®õóŠÉDæþ5éÍ$ˆ»{úenÔÏý§¯R3ç÷dùãïÉú[)§¼p9Mç¦ €–D«þÁÊ5ÜÿL¼ÛéPÆê'Ötˆ–§Dûa±/I¾Z(z±ö-ÍE«²œ>þD%£ãùà€“×#E æ\ü9Ø{²;. ˜Z‹Ð¡Or¹â×ÕáTzbɹ4ó84ð’sz a_º?e„Ùc}½ö“Ñ+“vbsÂð4ÕøýU9+‰[= ³_"ýw»ñm¡ 4-Œ)åãzTøÀºUl»ß±8-Ä›Œ§5ô¨)_›¿q%¨îß!ûQ'Æ´R­™Ò}0·#ÆCÇûrV(„¦¯¯ç zYŽ–' P¸) Ysâ&}b›?)±^ù¶-à¿O¬œƒÄY6Íeúy@Aÿ“ÅqØŒWÅ’¼ èóÖW<ŠIšª z:˜BĈv• ¸Ò_sàòŸpüGÞ—šT9øe–4ê?¯ß|h!¥AÒéø Ž&ñÅ;ÉLü<«–‡Åyp”@#s%þÔBá#¹˜r©Õ;^ÝØ°‘›O¡+ÅO¨4îÈ:”·ŒïRá)ísr×9ØxÂ÷áÄD7`ûLŸ÷x“‹”_¼Š—OH<¢¦ð éüæcýä‘?óï<¯¶ú}¥N?ÃÊŒ”ɰVaYbž`Ï«í:^:#µy“ÈaäÊ)<ïç<4ð«›iPp›ãTùâáA1*ZG^Ž @°!PNA"0Ü5?<âÅx"K¶çøù/ÜG=Æ>Â]é !EK+4;;uÓ$i5y²ãañþ¹(óÉËhA-iNNbØp¹zÝ9}k¾©}‘ «<›IÛMk4h‹qÓ¨ðî„gcÈ?iÃ#ï%ÂÿÄX޾’† oçç“MX«žž@ëË¿6k]ç¥+ €71O1hhØ~'ÇÎ  ¶X¯ïމ óÕɘçKP² pRWIÆÍ·¹”h+°¿í7çõ€|ã=É—1^¬sªÍž 䣇ŸSRKÄ‹î„éø´^0±qƒÄ\›–ò}sø (æPÿº€ŒñOŸ÷¾0åÌÉëÐfÈ/Ï »ý¬j‚° ü†–DF–8IËÉüü팔â3X£°\\ÉZåS½ÅßÄÏgæ7¸Urš?uѽÖnOÕy¹š¥Ÿˆ …_îl—[lös_Ë­[ãÁîˆ÷ ŠßpÍvi=Òtãõ/ÏõQ>…ËÄUϱ˲ˆhGàuÛdD5°ÿPgZBðÏÉñ¯Ë<&»F]éÂþŸºìâv¤=6“ÌO¢8l¯m{†£Ð/}u°¹Ób÷« TzY…Y’‰c7œËëšx8™M“²{öšgÌ4‰}4µý”£òçÆ«oÒ¡£Ü¿÷¹ê‡û˜4kÆ@'Á/æòÂäÅ{TArZSùI3ŸsZüo|‘Ø…ö®ÜàåzÊ;7ÍmzÖÈàgW¬´‚¶ëmÝ*ê3—â¼Þ*ËŽZß÷\zê„Þ°]©Am!cÒ³r‚Ó²ã5¦Áj 'R‰?)ÃvI¾ÉÛ3­݆R²¿‹ú4¢z;¯U4% ¸c;K;WlâòJ3*çÙƒïÌ÷݈Èk†ÿ¼ñ˜Z¬!,·ñë´ÌQª ¹¤E¿¤V¿Tw=T©ëï(zl3¿éoÒ¨ *ˆmE>ùJ8E Gç~:‚w–ÑÁ>ž˜æÂ—  ùã^WK=\ V,A¥<—ò¶Dq¤*‚ÃYAí@ù›Ë_èŒØm67•ùE¹E_C}aÊKPBE*~öu?^8n+Xe‡ØÞˆNœ½…•Åâ_%ÉrF¨Ö6±óê°kÏáÃIqQ ·6(Npyóƒê$Óá/UÍX$ÁJ=¿òñÕFpOÁG±2³DŸÌVÁsB‘KŒQÎqì^º5¶>±Ç¢ÀUÀX4ŽOQ|ß³'ÿB™y;†œüöB“NÚyHÝ#O‚€Æì›jãÌzÀ©µ¨Ü5гò:k™Ñ>Ôã0"ïþ&2"¹ì%NÑø›‹˜Öã)}ïÇè|Ú}¶‡›Ô¡Æ¥‡`œþn ÊxáúŠÁ¡n:çôyîf²,ÚÈz·(³‚Åã@h¿ÉY)îOŠ»îfaÈî_–]ΰ<œ¬Y'j°sùóS¬€Ä[0çC1 dù€­¢}¨ %ª0ôwœ`¹ýøO:;Ó¸jÐÇó›ìË‘ô=Xýïm”Þ:¾Q<^~Ó}mØnï¬<¼GA  Þ¯cêôB ¶B#é6ÚÛ¨yí|×Ò"͘óÒt§uî#N<#”b¨3[07ls:ù3OÍ®­j¯MëÌ›\’Ú2*öÓO Ó*}Ô›¯D¥Ã¦óä}GÕ³ºkºcƒ˜Ç&©ê=þ¶Èwxa `3rZ’RŽƮۓæ1gà’!fI{Ý0I¸¹Ê”³Æ–(‰_XÕ*Û”ÅÖ·eÓ&‡ž0½ÙCméësÂ÷ƒWL7IÉy’›Â8´Éï*Ðé¦õ–¡Ù_Ö…ýÌk!ç:)ët00i)=çÎQ­Ç:†ýE_^䙤šµÚëßã®–¾GŒD÷p§Óöç‡ hö…‚) X­)ò2ň¥‹á¸:}Ý!æðˆóÓÂÜ¢9Á‘fÞð¾Å6c#îíîßR¨h½V–Øí_5ÉbýZaEþù”9lÚéãeOÓn£F¬õ/2òƒ ¥•^dHˤªÃ‰ ôqã$9—û å–¡;˜wxOUa˜_yŠüd´Im%mÀSÄÁbD›§-ìØz# À÷%ÛͪÏb6++oe²<ÏÞ ¥²'¶à;×* Ä*¹4ÈÊZ, ½—éì b¾¦¥¨–¥t°ð$Y\8ÛŒ‰Ç&‡ƒ];yyŽn½nÒ¬0œ=SÖ;ãlÙ‰tÒêwýZ Yx¼^ÞæAD×{”ðSÒ®†Äeß1§zA¡¥¹óGž¡ðêëPè µœ©3¡Å]„T¶üßÐÃá›dªî«oZë×ZÊ«dbõå2P-_>¼žìjS†½ŸïD炪«¬'êÐ\ãȵh쀼4±,؃ʛÕÉ·nÊ“ke-ŠT%/ˆØ•(l~€Ó(,罡æp¤ÆÝwCÎrM=»gµÔ>'ìþ£$ˆ‘‰W^ ´‘-~Ï«;Ëk2å˦¿àÔ–¶Qxà‚’TBÓ{Û˜µÃÿÝå­•7ßJ<)hâ¾óH¨•bàPû¹9O“ÞjµëD-âï¬Ä¬-.yíÏHêÖØÆ[Ö !ó3~™ áÁEn:w8³ÆšÒÓÁT{ì•‹ï#haϘåæ¾+bÛsé&™UÖÐN(È-®ç{8ÂBÃL}·\aÈûú>øjbä!”‘T:få/ÐÕC‘òB-Ÿuqâ±Lrà9&€IÍ[|Òu=†œ}€Î 7H @êÊ¥(ÕIsED!ýQ^ÖÆŒø†‰KÁƒ'ÔùV>4ì¤÷sÕ„í2Óá®É£ó xåæ›Üm½‚Zš‡™çÄm蓃+JêR}ºv³Ûd^ïÆÉî–I‰Ÿ» *â5×§b¥¢åžï'ªÍó pÛFœF¯öЪ./P@ ɨ®7.Ñ$~þÃnñ÷WwÍ-ìáT|Š|Œ3 1Ñð<\ÓÑç¥rWpŠ‚Üsß‹ÑÝqº-;=’o`ëö½i -$$¤­¦Ë{½Þôœ ¶LNËëjù9÷v”º±F¨uÜ£2»¶Ê’ä}¥A/€j»ÎÛ`©§çI©bZCé°Æ.äõbäÒµä³làKÿ2ëè&ÑtäðõTtzÀQ¿xp/.'·Up®‚[ˆ?îOöåäàuD *y´‚„CýÆicbÑ>í{^FÙd„‘Hÿ…·aüƒ`4Æ­ê(Ò{·S×?øù;÷9ßæbô£¤¤ÅTú€:tßBÃ2(t Útú–F>_ÎÒ¥§×Î)q·¨V—d×$æðÿ&ßऎýåJ V]ˆ|R濜¸ã¬bóm^Ì—1ªíôÀ¾|ŸŠž)N–Íè}× ÀöR-G÷>v,BuxኦB„ EAÝ -Êz/KU=8áš.íö Dܧ8­£‡‰“nrLJ7z­Ÿ€içÜ'X#Úà!r3eS¸±Q‡L³ ý„ÔIgG°ÖVóZ_2^c0¥nV8yžö3Y`ö#¸QZ ‚ÝÔ¦•ñf?œ5¶•ôžš,ÇõíH»·òAk](ÍîÿsoþŸn\…(ó¡H©NüK‘ƒc&i‹En»7»ÇŒ =ò‚àO©‹^Çf˜üÿºa-\'žóÍ»SÃÁ÷Eh– ‚ÿ{S½N§à•›ªa"Xömû.ã( äª$8c‚%—Wen;Ïüöawû wKÛˆÌb¤Íz[Ÿkï«ÙWîzZ1 ©ï.¿6À zU/óÝ)¡»ÖT\ði´ äÑ`5ƒS4©D·ûr„Åh Qô¥ iÏP}á’ÒÓðùõsx¬›]Vu’' àr´æöe+ŸÍ ×Iè{`‰Y7 YûŒçʰaëÖenÞ©yjéù›‰'´ˆSÌO¡Js‘ç? W·ú÷C»è ³N QÇgzu‰V‡‹oA^Q[Ùeˆå! qÀ-Í -jù[ /ØùïGlÚ)â´vô¹~xá—gÚ;¬(ÞÄkw\þ|ÈvFÆXWî‘â`‚vã§ÍýÉÀ¿êBÞÀ+Â^Ú,*—èN¦Ëªëå¦.ï\TáÉÁˆH«Pþ/An)†ŒŽCÖövÙ¬«`ýÿ;LµÙ6îyÿ tàÕ±w%Z=,«×„ºsCrb†Vø¦"Ü¢°«Óaø pÞ$PëàÃØ=nµ•ÏÕæ¸%üoÜËkÌ!YÚ# ÄKH0K}~‰Ié,±wôÉg}Q’iœ•ÑÌHJx[ íFvpNb8)TFÅ\_ìŽBC£Þv¤z§}^5IÌ2 ûØU–¬÷¥;ùås¼g—KÃ2ꡉ”Aüc•} <È" ÆÇÖ¬‹iÈÄ’>ß[´BÔEÉ•.%ð×hË›°p‹šô’Ãî?¹ú C ³âkˆ0M5­VÌBuìFK“¶‡ƒw;Ý„r56øëÖûÔÆ®Lˆ¤­™{¥epâðwª÷“}9#ó¢ûÉÔ‘ë‘4½— Œçnð1|²Ð!Æárá8Åò³ÒˆÛx™ÇZFÙtMïïàûò›YgåÜøÍEÙLÏ—;6™ŒLŠ€ô)jW%÷pÅ[ý\QH18çir¼º*rç·©o³.áZň*Bþü…²N>©™5Q—ÖyÝ•9ûñ ›qHÕÉ&ÿ“W†«Óã›ì‚å³ÕI"P¬†$TÙȲ°˜§{‰¼5ˆæé“$¾—D½| Êê—y34júÆ%X¦„è»ÇLÃW³Õ:šðioÒ yѾØú¨eur€)…‚ƒ\ïž:êÉÛP”,É'R8´MIgq´Þ:>ÞÓðgP!:bSÆÖ¥¢Ö nšbð¯ŒD¤§¿ÅLóQ'®ÂüÖ™O¹×¸! |¸˜QÁvYv¤P0^ ¤ˆ1 ¢*˜‹)ïk£;t—¤ÔlÉ‘ VhΩhÛÿ<­FÙI=ò…ŒÆEÏ7Ÿ¥YZG0L´*3ÐØxÉ/-å‹ÂçE`õâ/Û·\P…NŒ¤h³=à©É›!ŽU «Eö•s}ÌòñŃlw]¸ë;hÓK·ñ}ýTËuéléé)?(^›—ðšû““â­Ma*-VÎÇ+¨û„¶ â«DÈ´`›Ot1âÑéÿ"* ûç$OTp'd`GPÐ*¥§Â—hPÐD)Øt–êÝû9 š«˜¶d31·a;*çtŸ%ëÌâpï<@»ãjƒ/‹ÛùܘQd½Óޝþ?Äfî,‰xÙÚšºÐ7‚éÅÏÿ„Ú‰‡‚Ok—T@Y~ K’UvEr’™×tL2do"¸ ävþÉqšVto'VÀMÀ¯ /˜'?£´ÔIïD?¨Ñœê³G[*åa–Å.·Ù€Œ­J¨«ã-VŠ×þ=8Ýw¿À‚·© ÝL"ãUVªÞj§ 2¯dËt3A1{è`è¿ÅÚù碖Ö_WʉJÆA)jŒ{ðΠ쌩Âýhû6¤4¤ÉV–'ûn»,B¸½´¼™ú¡˜f¯× šÚ@ Æq%Lzîc5û±‰y‘XËv 8ƒ£FN{kœä{žß‰Ý$%Y†n­ µ*eǪJmzZf¯Õ¨‰¾ ÿ›1$l(žT†n¦Ö¸Ç•†u[@zÓ”q¡a{¯Lg_þ­>3Ø%†?¼^™9 F6& ¾²àÐäÀôtê5OÜšR­Ö©ö÷ä ×M;ÔbÒ·ÛqýYAñ%@‘³¢U–H‰íå2·n×0àŽx*y{‚Sႃs-Œ û€ž­’²jÏ ”3&h|H)™­2M ŽD{iÍîz½d²yEàør‹­“ùzþ³a3WõØÏ9U£ÅÁwc7O‹(íHÇ ¾F”¤ŒC*wîtþ ë=”7Û‰ßNÿ ázQR‚ÒKÙŠø÷Ù}^EðžÁU´¦ã5¶îEýµ¢@G¡2X[ìLG”éÓvÂè~·\Nñ¥Rìûÿ/¥…L“^F‰ûÑha€ûN s°oç°-ùgk#Ú…I|è ìxâhT;i¥„a1Ìlž?7n`ç!¼à¡ù^_[ŸFŠú3/à cÜÍ}Ð!€nl‚äC1ø²üT0Ü"t{½0`|Inà6ä½; õ>®¡÷ˆ)rÀæhn»ÄÔ¬üÊzáÄ-2l¢aü2Šç¢Äš:ÕâG¡¾²½§Jò &)eóV|‘3Ìäå~{xÂèŒLa”wnþW·:´ë²`°êÈMO<+G²å“à|¡H‚V-%îò%zF[ó©íȤz%žw 2 _¡bG6•‘š- D†–«G¤ì#ð‰)ÚEla‹‹ÞçƒüÝYž3™gW>Yo@ó~{à]n.%¸î=,9T/Rç(&?ž[¡W§´fÀ³Q*vж={Õ|¶üÓÕŠ„øtÛœSÃșߠø+'D´Ðð‡±ò:çW9+ùÂï+'~µú»¹x.wû2n&¤Ñ¹ž¼ ÆÙÑâÝõkR‹†äÜvÕ|žS«=+÷ÿñ…ý=ãHŒs… çuq«»ÿ©Ü\¤¨b@ö’N =C/óY­8õßZ}F@ÿ‰«¨¹Øû‡ê—½#¾K²$ì„Cˆ2B¡õÊc³€c?¯êF~Nµ¦zÁŸŸåâÝ—t¥)\7I9šÎÍŽŒ‡›|oßa쉢ì^U€ƒàõ¢>QA/S:qüá*Üè 6;nèü³Ã{šéG!P’®ËÙ¡€庎Tlj0²¡'H/‘˜pIðtPc˜=73ì'  ¥•À}ÇuöXü»Ü ÝnsÐõŒÎè×< ýy‚ê¢8ܺ8µ)¨‡lˆž ûö…_ìhÄ'Ht ,_‹Rßâçù¹ÍÊhÞØ@Ó:mÍ?Ť>Ú#‘>êÜ›Z‚uå»#žQ…†*èŒiž¾ÄDl”¡£$®g2p8´×¢—&]|€Y«ºë_ÝZ¥D¸A‚¦žíKKêµíP;_<L3¿Iùô†´(×ï0,ÄLw"C–ùЦoÓ+Åï,;”Ô¾šÇ´'ɨÄÝuhËz“ö ¦¶£Q,Ô+á¯Ñþ‰ ÷ƒˆõï|FkäKÍ)<ö—ÜáÄ1P²36æ™%ãü+PìóOÉi,8&¦–­|ÇÄ_®T¡·áÍABÄ’À á—ºÒ;ltôÚtN/CVF—˜.ˆëÝhß ëz¿ÎÎ)q Ú~™:ÈbÓéÈŒîƒôÁý¼g^ ”¦+$7æÛÈB_e5,>çXáÚj<,‹Ì³ ŒG‹†ß™1ýÿÉ÷ÆšÁÒlOß{šû]ï0Ýv•ÞÇ)<›u µcM!dýä±®Ùü_ÇEÊªç ¦$¤PÝ4èÜŒ?˜YXw³RÌ$_[¤¥ŒL'Q Eæ–!Ájšª?Ô†e9=2Š 0;‰dP?ѰÇe˜1LR†¿úsy4d@¥` òALXúõ+ÛzޢȣEÁ9ûÅ~¬&:nÉ“-]ߪq‡‰mÁ‹}U=ÀÌÇ#6ùUßœüåÔ?èA±D`Eà LLŸ÷vÂ3Êï~¶Õ«€ª:‘4»Iµ3¹ýV!K×D“][9¦î¹zà nì<9Eʳ“{y\©°X¡ ȺicžNaK×/BIk0* Ïǹ!ûÖXø¦*®ºÛ_)_‘Q_Ø:Jé_†s(`Ó cäàêêêµ_ :Q íHÔÊtg¦?8òÐKÊ ï2ìã2AfM?!»JÏÆ]÷iߪ£[Ã={c(JºgM•ìvŬ-JÄÚñ×ýbÔÎÙÏ9€v”a¿M£%kr2ØŽ—Öqê™/ Ôî¨2z`·õ¢ÚŽ®lœóó¶Ù™„…½T߬mÜH ¨Ð‰dºõ©—ý9êöÉ!˜ØBfR±}ëËxYÖÌê¨xÈi€ E<^À5×%ÆïhÞ½—++*¯Ã–oÞïµ<ï„n‘¨Û4ÖpÎ"3Œ®wxê}ɺ³h´fuÓm|å!ò—áõÒsn0ωwIóùùº+ѧ£m~£hvoÖé¯\**×ÎmS=ù'ÀˆÅ&ü;!¸*Ùõ‘Ã.pÁçÜ¼Ñ ÎÞ¯ØQpt_Þ^ “<³ÜºU€Ñk¥bOÝþßÖ†#4γ Tâ/g±…(Ö±^OZá¼~m­ã¾Q¸!ܺeÅÚü(wxäÑ:¯bÑ‚ ¤ ƒ×ÕIôè)†È"ñ牑\uZ µ»A­:P3U ¯pK»7$9¦¯TØ”0j—°Œ*¶ãšR# jÇ%,5ÉhEƒÇŒ÷Ó7ò«›|æaXžÈõë§?/£ÿ(Ý›ÊÊñv%;¶ÁëHMX1„’fqŠ» ,_šQöB$w(ü%g¶m1#Þêf÷‚øúyï@?Ámò¹s9›!ùµ@ ñžŽlŽ+¿?F<×ñ¿1bÊÝÑt̨C®_å綨Oå†Y¨1ãóãÁ–Ž-ˆ%w†nóÙS"ŽR:ÂH§YÑ­A>_n§„àb©Aª¤)Û0OÀÚ¸=#èGäY•ÒAR³`ˆÚPC¹1Œý- [ü¡Äüyb*É[ñ;Wټ콶š”[°;ÆM‚4¾”Ä B´\¡H¼²”ì¬âl Ëp†[j÷Êàsm¶OO÷O‰Lüd®ë‰•¯¯’o\å¥ÁV0w{bÈ0ü§]ä§½ºy¢Ô| ,Y¥UƒKûUlÛF’EwÐÍkþ›ÍiÊEÉæÖN˜¾:ùR$ÜjhÚS±@/ ’¤¤!éÌ®±o9½_@ÎÙ ²”, eL2Ž­b?¸Ó&×àÿ©-î÷UU’8Á’ÛðÐAÜlÙèÈ#o£9(lH¤àQîÀ,( ¥åÈÏã;÷ëììl¶laS·qX‡3rî,‘uDïp\%Ôm½V\|Î! È^E½à±.kc6ÊÛá÷¨AùMAfÚŸþöÌ÷¦• •±69ÌáÑv€¥%$È+€ñÕ(*eɉ>¨V¼cx °l=­S=uz·´¤røxŽs…ˆL¸wºÀŠ‘½©pÿÓóN\‡ÐèÀþs@&vЙ2*>WŸSÌG3ua ÒMþ½ }^9+¨µþçQœÎí÷ îí'…u0êñSÖV/*#¨×SôÏðò»ì0mîàÒ±2„fC›¡Xè”h{K—ZßW§wûŠÛµ™ò·¶ÿK êW­ÀƒkŒ(Ú ^ö .×µÉ /Xü²ÞŽ}f2©ÞrØ":›ÌÒiº`_Áiº¬ÁÓ{ËUô„³èá—È÷‘”ɺ¥4L‹+¢£ Ú(V‡cè‚„Í Ã‚@׸žsH~¯1sH¼à02¥~&\oÇ瓜œÞÔC‰>&fB‰xàðA|M¿gµìKqL¦[¶ø:´„’7â ÓéiÒ¦¥ÅÈU¦ö4á+› Ài—±ŠÍHõB°ŸÒd±—su™Xëhð§ÝøôÃKçqZÿP×Úw í#3éb16?7x*м­0ã=ãâ½âPk@'YeVp¼@¡›Xy‚X’c§v’zqm5ž†¶á_ÏHØf DÆkzŠ4µ­^m7¸—Ã?¬¯ã¼ðd²÷ÊÌÍxÊΫ”Šþ5Êç¨:U,:P·qÿž‘¨³{3ÈmÑË(ÚVºûåW\:á€%ç=àÙp¿+¬§L¤;m®€êøO´€ avèá.šçæ{wN‘l8À¬«{š7••pÞËÖ9 d/³iS6€*ôŽ:`Ô¨JÏ™U‡$.¾ŒRDþGWc$Ùª­Âôî†Þ*Cbf)ìo ê&ì#P™/°æ3Yû6ÉoLwëâ×ëoÛ1eþñs$?Z®XwÏ“w‡Ñ†R©áõ‚]È”éé3Ð_KãPuEÞ#uß;õŒÿRˆ¶:±ÀÃÛô9šsvhU›V™4$à°>dB³,9(§g w5eñê³B]3Âæ(š |k3I ¼ÛwÏ rÃjv/Ä‚Ç.É}À,ST)5@I3g*çüÈžîóàÁJbT à¾RºÙt²§M_u"?º¼H³læäÚJ$dvÚŸa Á=À¶ÑMäÐèØøñ…]Z“rLª#¥ÙÕì:¦+¸VRJ)ôØÿÙ´É&.è 6$ò€9æ/«$PäP© ¹DNÅçÈQD¼¢çV®OXœ’>_GóÞÆžëzûLaeÿuj\¨eiÖ7?>g ™JÛ!†Bm$0Nábl?z„8xP9¹?…5©~€Cæ°òÝù+mý¢ÒV ]ãY @øåÔéPŸ¿ZUe0X­:ÜŠÌ:5n¾_=°¼$ïÂíÎ6{g{+†?Zß²(ñq;õ3/rª¹Âž †×Áx]ôpÌ[úʼnª°ß_xÀï#œÏa¯õì¤L:úæ"¾¦8|ma“BPK×mÌóåÌb–½®¾z*EŤ¿Jœ‘Šuw´óÛ¯Ž8¬wÛ92VùÂYÏÒ­ÓÅTö»`&/– a© ã7‰<ÒÊuÁP‘¨[ª¦\ñ¨e0ZˆkJW±ßvãÖˆÞ7ôu¼-½Ì‘pÊ!h`ÒfêO)ž7µN\œÿî5ò¦Ô„¯gLíc—{æ(Þk2ðù…@Ÿ98Ò/kÕ ö è~ |¦Ú©‚›ÉˆšHƒbˆÎŸO¹ãËáQî8TÌæH1¼°÷W9žj‡9¾¯îþhèö¬ðnß’Š÷¿ˆo£êÝÚózh¡ºÃ«‡ ÿ+ù,ÊÙéìy–`1Я¦êBƒDé-„±gåÜ¥sîþL>³©ÍÞ_Έ0ÄöXX/Æ[ ^Þ¬Oç7_w²&†`•@Øi笙z¹“IŠÕI3ì¯H»¹ÐHcɘ˜¯°^׺žFJQT"oÎI‚¢Í÷Ó²%J0VPAÈžw\I–¤*hËr©ß{a'CvãíÉ9³eÁn$”™:~ô¢:'ö›½ôþ«Çh;ˆÄVÐp‚G`±1Hœï"¨tŽÞÂzZÓÛ. UN}×$ScgEþÙœÅwlºôó^À|ži9;ÑÆYÚ½lozX›á»`¢6\ eˆÍ“ è?.¤ÔI í f.˜$ƒ¡j:Ì©ÒìºHÊL$ Š@äK÷ÕŠîVh˜m\ç¿CE¹"S!¶{|ãqzÅý«k¤YØm ‚17…mޝW‰¹ ÅÜ­\•vÿ*LŸèµ÷PNZÞ—‘ûFÂ0­÷N+é]R§*åMîo…ókœµ#¯®f­úñu§ŠU&–«Ã­G)¸Q¡VQÞqT¢²› zúb ƒ}’0ò§|™FgÝGeH×ß¶[o€LBYGgØíšùk¯ R'KµêŽýd»z +¶’m‚Ö¶}W; kÀãž%j(HÌqOý`åmÅJ 08>ypŸ-Ô^–Å~sá“ûs09ú‹M ·Æ^Ôæè×ʯ÷°Eü}Þ$nÝñ&¥ÝUüì8$hSò§€å­í£Î²6]½ž‰Ï”PÏÃ3Ä KT®|¢‰ùm6ZÉgp¸ÀôêìÕ•»ÍÃ(êñ¯WŒê3L¹¹:„à|™ŸŠ-š܉˜¤?¾çØ[ƒñ%é@ ¥ã+Ç>ã¡åv­é¨ø»N*]ÚóËÝYZRg©LßFW‰¨A@\ÀÙüväÜå©u-òÇù/aè2G1i|¾øì˜±ý_ 6Oï[ÚßÊô˜b †Ô>ìTM"t=ý‹ýŸ.!Þã”Ä(`£‰¯fJ2ãWI%¬Nâ áî÷¤¬ƒv"¸ V¿ÓºÝzœ´œ½_wÛÕqQª·¿mº‰­'5nјȂM‚èÑ2ݸŸxVš)Å+HïBÕð)h€L³vÙ-”£sÊy`ç\¨p• Ò>؃ œ"Ɉ3Eé>Ÿø‘j`lC—É…3&*yÍÃJܘ^d^XÕ´ü;RÁæâ,6ó—u†®>8£¸“ú¦vñ›ª‹‡¸ßÖ°²Hä'•ý¬Úòï$†â/vDw ÛÉçæxTBS ¦CÌÂýh¬ âK“¦Ò¾g\t7­e1Mø@mÝ™«×Œ¶AYM cÁ)€4-Ž ,P• =E–µÊV3‘ÂPÅdŒì3¨õQ½‘¤{ïL–N Z³43ù(Ñ‚iê%‚xä¶9üÖŒú™do÷ÆS2}@Âh³¡»õ¥ª=ØUÌ£D—æþö-Øâ) pù à{š+t<‚Ãý¤L÷ò]¸r㯡ûiä ¹è‚ý¶Þ^Ä]s’j9s!L{r/¸}û›ï¤?p#Þ8§* #R÷<¶aQ×>ŃºèÅØAkŒ§‹Þ=œ7òæävžTûñ´E¦]íTï”úVHsµãq"F4Öä¥õ™hN€Ÿ¦I‘¨â\e0w—Œ\ô¥ÀØÿõlº<ÌÍŠýÈw*N‚¨ÆºïûýOHsöü5¦t&(äu †“/Ú>ŠIêÿ—bÏh£mZëÌ´ùÞáôYd"£9ÊÐêkYXbë*º¦WAk3C‰ÄûâQ\ÂG¦âL®vŠö"‰D›þ¶ÞNÝ2Ø€±“1§[¤§Ë+9»»ÑA‹|Ê:Äómÿàü¶0ë¸ê×l§:Fý§»K9®,Ô^cÙ î(m3Û5„츩%i(;¼r|~2•_ïé,^ øë`¸5Ê98ge©,€™V®|b§v‘Pѽïm¬ ê£Ä½w}acC‰—¤.W“‡7áߦÈÓBɺ2~Ï—Æ7®=»s©7û›úrëÞÍ·ñÅ爹2]ätH*Ì¡#™_ïµ$ù‡äÞ†-˜œÃÝ:9LvtZÅv‚)$µj¼EcbòúLäéBPGýZˆ Yɺ¦$™çlzÜG^YH5O¿â«Ì¬m4¦û sv,ÞõƒW—øsHGó4TìtíÑ.ÐXNžn1>²™Älð½§v´Ë¦È&ˆŒŠ”ZÒw”JÊ((÷ò Á ¶‹î@Ê)?ði8űm)~@#ÊN¬<-Cü˜/<TAúÚâ\ùXð£ÛúZqÀÇÕ¯ëTj æ'ë†Û,Ô[­n1* Sväcʸµ—j*=´Šf7ó~ǰ@´v_œäòcãø ûaß{égT·ƒú4›l¢}ؘ£f“‰¯CÇöIÕË¢Õ#£&™‡ð²ØðfgÅù Œ"Ã¥8ïfÒ*Ž 6#|غœË#/!¹¶zDC¦GʼjÿLCªÝW6ÓIfŽ–oQI #qAÓî)0”p䈠“ €i‹MÅD÷)¯b†FŠ$<¿¶d£Ê=Éï6&Vh"q„…µc‹¯Jh/]EŽ*+ÑÚ$é@4d ûçl( € ø–¾t‰ Éa·„ôƒt°ñ~z5`HùÛ9úr<$n+U³+ømø5ŸåÁÊ—„ÛêHáÛß7ÔŽûðG‹d-{øj}ƒ­ô‘úÎùr…ÐÉ«¸úã·è$J2×ߦV®fÞv…GŽe³æ÷ç÷Zþ{ˆ;p½–V`ë\æÞ˜Tà›É4;Û|’3‰^õóûv" ¹½”$ú5YðhÙÿåÕ#ö=‹±—½bRÛÍ£Á*Va¿¬†bߛ熽ü ÀlÖl‰WU«#úk¯óæÏ–‡Lý©˜üöSa߃˜tš·Â¸÷f¬¶ë.æ,v­#¼R×ñT ʟʽlŸD¤> }yÓÞK8fªí3iØÅ÷1O˜‰TŒ?¾FçfSoyù QXúa½… µ` u6רLí(Kç³5ÅX»”« Õž¢ÇxÆHÉR›Â (97êÝÌ<±^ŸáÛ›upeÊ |>+Ñ®s­Uhóл l>^£y ¬!75½Ù›ïÉŒ¨c>T󞼬Õg‚±…Ò½£vRY2éEÑ„4·–grÛ}°(7þ×3 VÆ/{µül‰l êϘ‘¡K5+óctß±%3kÁ,Ÿ²ÿöÙYV¦‡ ¡ ó¯¸ô΃Y[ÎW`ùž–®Ì¤Ýƒù(‰ñçD9µÿá¿@49Ĥ>3°ròë£HîoÍ=ä0Ö c®^Fãɦo§f⯄¡6?S#¬„æ™Tð/àXu–½”Œýõ9½ÓøFEztÔGï„Uߟ½”ãu ¸ƒ© äõæVóýì+liÇ «YˆŠèCb‡5¢ýjÈ¹ð‹ÆºKqyr3=ãTõ‡ð3îÒÇß·¿Â£ªz•u¤ÞöHx&O–^„ N+µ5dž»ìÈ›“e,-’¨3E¾A3Œ¥áZˉ~²k/êjk,ý¤0èÝhã"4T†æóÚÑHfÌ„pñɢƲ<°‚0ïß²]ZzšxÓµ»÷TŸ.:±%GYQÙzË$ÖìÎ@ Fæ˜8+hR&#-<~cG1wæE‡Èñ¨?Uðîgð<.O’™µ/ Õ’t¥uàå4Áª{¥z,Œb$7Œk¸ 8Þ3iOðþûÙƒøXxü!Íî$‰;æÛaE¬{ô–Ðbï3à¥P·iNd®Pæo½¯```ëÙdÅkœ6‹g"°í\È;¼ŸrÍ—ÆÏÕÕyÃ&™77C/¬æJ9{ 9”NÆ8ŸìÈ £ïF…oñå¦açÚƒ=®&Z0ní ë§­ú€Û©w®J¦8Jwè—7Zâ-{xõùD¦N¾¸.hðLì ´!ø —ôbÈëúÊÚj ÙÁ°G¢ `lE×¹cDiùøÂþ½}ÕÃÍ·ÈfuW_þ!Ø<ø®X Óz¸&¸éÖ`m!–ô*ðó+¢Í8“-Aî8*0F¥…eGs cïï%µëõ‘¨?Z*®0;‡QpS5xü“ MÛÏï?Û iÈRÚnòe½Áf­ærÔ¹¸~9utÄ&pHH€×xˆA%­j?¦-ör}¡—-Åeà§v’jÝíýŸÊ‘Ô?šá%dÙsh—£póI?môú™ á4³ üÌÿ+Բ淳°©ês:QTxò¸ ôâ\ÖÆ¾t •RµÏ}Âæ¯¬ôtΟ­Ј”]&ó=d´Yð?eÅ«=¨a ÿ#¡Ýd--{ J®vÒÊòð?&¯§ãå9tÙUma 2 9“Í·øÀúÿãaPðSøMNmĵ…æÌ£¶³è¹LjG®s7e$_u,âúá tþy„X0E.—4Ǻù²hÀO´]'â+>I¦Sk;k[¶ºÙ Û†°·3¯d>ˆ}av~þÞ\Ê| šçþ² ÚÎNZ3¯ž(!åÆâ}Ééfs„;/?Ÿ’¡]¢ÜîîF–é›7¬¥:OtŒ“šgZÞðQ i@myŒéG/³3–˜IÔøµ »$ÕAU‡ Žˆ0[×&ûHË€]°RÁtidö„,·lD‚ïÅ3ZeoèX|C'{‘1Èw6¸h"¼KžP95÷†œÛö_iƒž7Åȵúe-YÓë¶œÔßÈÖPdzñ»»”ÎIeûA¡ÉäLeDš~!wœë6A,.+¥7ù@ú”[ŠÓË^ÒÃÔ¶k}DpÙäo@COÍ9$;Q=¼½1³2#ý (çH{,.;4ü)V`ô›Z¯ÃùyH®%Ì\±duQ™ž ¸£˜‘„¿™»iÁÞÎXuEõ÷,0!ì×ÎLƒñ;ïèÂ=ÁIú•‚ÓårâÄ Ù8ï”$ ÅM~nõ˜îè}/¿(‡|hë=Ç>Ø0ùçÜ•A]ˆ SÃçðûtSs[`c‡°MF7g¯“6D–ëê w´ä—ÀÍ2ѦF)mƒï⟗µ³y ©<îlºY& Îü(*¤q ‰ztâ9e‰y¸$§3…0.j ´e´¶`͉ƒsúl›×Z  Âü+ß {©®š¡RÈø©-\¹QñêsSUJK…4cÂÂWôß§)b@û>*u²“vº*ŸV"pqrµn×— ½— HvÖø6 ©Ý8áû•&:ÜÅ,Ö[*÷…-1öÙ,ux%¿©A8‘ÏfU–wTjŒ ®¤˜ê³ÑÏën óÏíÓgq_o<½ä´Ìwüæ „ëH"p`šþe9ú6sRYøí˜ŸåéÀÕZ·À÷€%4¡4³¤’®l†¤‰Q/ȺÿqÓåRS¸3ºþ/IçYòUh¾²2÷úý×T×2qĦ·CBà»'Áà|±hB5¦Z¡6Jt¥o0ö_KZ¿!Ì“o«œ}VkþŒœ…®µî8ØÐxQÛdë¦*+Sï+Ñ?›ß‰—Ãö}¯8IœË;O|K;ot%GãFdŠl#Ðn"”ºPã7Å>ìõ ¬n[ o$«Q„ÄÈLOm gÓtagt´`zè¯mêØßIu-“Ý1$dͱ/°i^æèr„fŽ¿_qC“ÑoéûƒÒ„{woIÂÿ9’£A|<¡$Q OÐR“%µ½›JaxC % ÎÒ˜xÓÜùŒ Chðẞ@ì§óZ<³ž]GŒ€H+$»ÒyŸ`ø7ßå÷n4~ÑÏM©æ­ª´™ü‹ÄÂÛÞu çe…v]3ÎËÁ™#ÍP{æA*G¤–‚hÛ²—‰iìmÃÃ`/|Ha,.‡ªngrÕó}1?–>aþk=‡L*ØEÑvÓ'j¡çÀ È·gê¦O"\¨Ý6ùxj”CXD¥bï]œ “Â]'·¾•êdÉÙo4ðqE…mpz›ôi‰žƒöÿÂs(+I˜8 ò,|€u‚í‚ÙñÄíÿrWÓ¿GiAö:·6MG´)„Û ¨(×qbVTSÇä‚‹³r ¼”%jUØéùIåÚº"dûc¶SÚm©$¬‡}¢Ên‹ë÷óË‚Úæþy¸Sª³ƒà÷×ëaäŠÙ#O(Qß©:/ÄðÓ½#³ 'Ä/]ò@Ôa—=êð™"“äNðŸ×ó¶û«¡Ä¿ŠÛÍëI¤¥óï%–ù–/?ÆËûÊ-§åêtaßE{ùž², lkµU?¸)þHö ȲYóå-Õ³ O5U’ ƒ‡À•à]aeŠ—kß3Úxû«™Ûܨ¬%¾ÛE•Ãâ•Ûöh¿±!{Ë ùõmìPˆ!ª ®pŠú=nz­‡›v‡~,+‡ÚŒ"Ï;â–óBòQ¢²n©¦.Й´…šÒƒwPÁ½ø¾ÍQ¢ ìdÙJòN»I&²2&Ážzc€W!Z>5Ã8øâ#N—´=È?Mv-{YÇük92GvzlXЮ뻞^z\§ÿÇÿ†8ì;¯Æ“ª[ŸEzu*°QùI¾T[‹° ÖN0wzöŒ?ÐÐzN×ヮkXÀäÕs³ÂÈ6h’hŽìËjrìª6Ê4@GºÍör¢‡—ç"½§Iw|õ¤/@öMÍ~/·¦ tÈcÒEà…¿¾ê©0‚ê-¹ppV"õq–¹fýP¥ÜõsRÿË–OÝŸ‚OÆgH6ËzGS^'uQ©"Úã~‡ÍTb4€ïhvFd…Ý´ /œZ ÊÓŒ÷­ÄeØ5”‡º ™|›é+·;_Q¸éYe_rT•ŒøØÊ\*rk9~0rôŸ ÿÉwå‘–òã À`‡ÓÝ2z­¡Ó-åïF¡K\µ;BbQ¦,,R›µeóÅøtqNAH¸†Áö_‰*a\Ó#7\L)¬*Qï ‰ÚŸÜË@ö%¥Ã®¥QÊ÷`{c®%ÏÜZjü¹±„¹¬ù aoÓy:!Dö8ܦþ¾мa°vC7€iL”íâẻ>:(þÿ[Õ³û)ò–”úQ§² ‘öT×Â^\ÝìI )‘(^íh¬|ïUÁ“Xº@¯®ü¨£\ÈéSÖÈ·o¼dvÐL”Ú]Ìá7.å+ÏQ;ÈåÅ8Ñ6Rx⬤b® w97¿hGIíÍV¿Õ>'´Ü üä,„(24Zê«~T‡¥UÄ¡‡exͽÝ}—»…¢ ªÄ,iI¹6†O´FG-W×[ùº,ÂÏ_߭Ȇ!%Ä#¥éOÊ0®„s¬´™o=^ˆI-rÔ€Z‚rÜþ4™¶ë xÌ÷ቆį<²ÌÿÒ<›4 6Já{‹±e&½A{ÁÝ51$%¡…:Âd^$x?ðOcѺñ‚-^yâìïqà¢(*9ÛÂbXþUMâÝthž¿‡ÇŽ(`DŠÍâÁ!q‡÷âj½á'ï¯`‚Ô±9SI½ø[ô|%}‡`>7L⺀ÿ´ñ^ˆ^¾_£>§öÏ FpùÄN®œK{uÙIÿȆqܨH®?…T\°ÐŽ‹,žæë¥h#C†špvª}šj[¯0ä-`Ü’¨Uöø[¿wpxx:(¢{òÃ*þÖ “ý@}cî³;¶^½ÊpåH_cd…j©¶…þÛh·²üIH[š¯ü„÷¿3zÎ'3C2˜Û+H­½-‰Æ‚gÏÁ"õuíÛÕcOH7χÍ*4!­’<%,›âÌ‚—ÖŠœ¹Ík tpS®á\|¨âÄîL“1æˆ ¯c§Gºî-<ÛHž‹¬Ãå~bLƒ›Y|$©îŒ[#´ŽÑÌ$–ÓÀn¾a¥[+—15€T¨;b’Fòh`_Ì"Oð™ Ò­Éãß­ˆ–U.ƒ­6°U¼ôV ˜ çîa(šqaž@3Õ¤ž ¦ç™h¼-RŽcßÑÙ e²Î,…ÒW #énÞ§…M3%)7,N< œŽ…RÙ‘¹VŒ™¤O?‰ÅXèÎ[bP­[Ú0m1TàÝ”š÷‡½ùH(Cý®õÞóV…åÃ)¼IÐÃ÷¥Þ4"ëî6°•!âÁ¨—² “R Û‘ŸÃàW *âtWÓNQeuíaɹ¡ZkIb-Ÿv€¢à³F.S-6³ß!GD,e:#&4-Â×5+ሔ(‡ü_ÜÀhî0fOFÞ–Kzy±I¡¨BŠD ž"3TÈÛ÷Šýó“—Ù+ì€vKû;Âΰ©– ‡¯Ãg¨¿ ðä§ú†.BÏZüÇKu¤Œ’èÄ->­óÀnè”å±tåûCÒ‹ —MâfVq‚vÏÒóÕ¹¬åâ1¼—¶%]&Ÿ¡Áãµ0!ÜenëÞ6-Æåu±:2°»!ÑEÃÆŸ–jõ“=ï¾¢ñÉÙ0¦TlÛ?¢jÔp8ø€ë6©•kV¶²:À¤%ˆ¿ý£}y—¬úi¼RVmßm§¹VZ'ÿÃÊ£›Ýà€n2ÂÀiiåÛŸ5e¥çú}´,gÔ£Õ«UFÿ&ž¬¾=ÐØŽîÒ„(‡šB‰Úº¸£šzKÝõYS(ùe–’»ŒŽînPÐ3³ltá©4h?>TŠYíºD_L¯Û+lìTu¯7èË×}Æp}¢³¾"è…¯„ÎWÍ$y‘vΣ§p± ¬Gˆö©Û:°é¢ð"Â$â’ÓÜ”u(…ŽäS$ÊüçÄæô’ÓBKdy/–h Ä¦}0Ðÿï?M ¬Ü&°â3ód î‹Ä‹=”ض4Ö*×”1"ü°Ëhˆò—ôoª¨HÃÏI¾p•œ®sðùsDñ.ß… §-¼ù¯31®X¿ÍØ_í ܈•Œ@>ãpdKÊ,ñg«váÆÍè[hS˜<^¤Ÿµ^cWîŽ&¿è§EéaêB…d‡qma`:AÛ‰‘Í¢3¸—[©´6v€1€˜?‹'XVjŒC{¡qó ~ò­_³šbQÃd>/BŠ9w!âÔç‘–UãKì1…“9Oœë‘tÐŽªÄE]àpå (à)õºKAÿ‰.l¡ôl·™’Ò¾böò{mí¿‰*쥒ò·í ±ïGÙ“¶Ím·H â0²=‹á8¨^)êI 4æÌ.kßG9³—]F¹fcH-R:»cŽt£i„.iË·úÊòÁ_vlP>_ÝC(¤þc}l ‚#´±kJ´iÉyÀº6¤e\ÅÑ£âv0æÀÂÖá«*}ÛŒ/ë²»ä|R‹x»ÖÕ4™ß¬\¬â]'-$-ºÉ.a<‚"í½–¤­ðÖöx(w ìIX¼¢m^“»%ÂË$û‚nZµ¨&&§sŸ‹ê~Óz·^¹â`Ÿ@APH¤Öˆ„ô{wËGôbrB)8øV`U -unE=î<‰‹ÃyÀ/˜ÁÅ,ÇïP•ý?g.'R#›H²c5r: U¦ÖéŽñ1‰ê5Uh“–rjñ]¸Nœ,Ζþ5žÑ{ J™ÿã¶É=ª'rgùfýÔë F´F¶·ýš|zŽ 0\ˆœ£3àm EþSý¢ 'g’;;ØírÙ7Gã_,rMJ˜Xã>$ï° þæSî )EÞá‡ÝC8{a[–íäpx\å`ñÊJ_/¹XW~],¹›qQú˜ÝZ ¹97W4]ò`O,=<ðWÄCëAdª§}ô=øu#…dŽ€­êEz(SO‰B«Hœ;‡’Šž‰ÜÈÕ-Úµ¬3q{­šü`¼F î°ÅÆ¥¡IÂÜrT_oÁÎÊacÈè1 ÃSDä „Z’ö²è:á Œ*´*Õt È>ñÏÓ/ÝÚ±–jÅÜš$ é£áF, èp)Œ‘vKœ¦ÞÞ‚>MÝ}º3 /g¬è4*áËêïën³Îü‹yþã9©U¥uu»W ú·7Á÷§Ÿba½£/’uÝ{7éÄ4[ Ç}Ê °#TNslR3`øEÞ0qn3Šrã¨ø3¤Üüü+˜ŸL¯»øüZƇ€“±Ø_z±(eýðkð½˜9ÂØQ@öK#²¤¸ÉRf'0×þÐCW­ŠÖg>9|Ϲ¯p  ›·D@5Ý÷â-²û3¶a¸UÜVÈï‹aã´é°b{©’Ljw> ÙÁ+º¡t€Dm¢~óJB€†¾<Úk ÈÀ®V~“ ,WddŸ*©OâœüŒŒ™Õä=;g&ä}¶ê­[>°FM*½Ñ„õ™üß–‚ ³zË­ËxÑG÷E}ÞÏïÞ$E´á(®g³y¥ž*yóÁðjÞigèLpuSÁ(Á.j,àÍVXSÙå–ìOûÁJ©€”Ö¤åÿýbŶr¥nëzÈ:T øìöëL_Š)žZE‹K8· ?7åÎøœ¾ÇAFÌYF-匤m4$õgÏ£¾XƒpHÍæ­øÖär©ëСT¢>fäDÿáÞþzyRÿk÷úþ7{aF4e“ä*f·uï;ÑñX¼»·.–òF¸Œk0ù˰$ôœLF +¸j³¥UWÞ¤íØ›2NÜcÐ^2ˆñ/tR¢¦ô½Ëch vµ 6£y÷p2¶/tu+˜)ÛÝAß×áS,X“ílõÌÌÍX·UVŶÅ묦—èN«|œ¶¢Á.u¶·üA6ý˜ã2èðvèþžÉÙÝM¯ÓêêVáäõ½;ä§ Î{p-l®º“Ž^}Û$àmnNV2sÁÊ2ª£ ]³ÆÁ5Õ˜X9GÒk…×E³§z™feçY¥CN¹ª=„ 2u‚TfI›±ŸQ晀l¹æ´ïV‰ àl†ÙaæÊœéÈÔ)‡ÊK~VφHàCE‹Šl™×Ët³Î=ÍvAõ!ðWW0ÝÖ¸!•SZX6™°ØM>•eëÁ% uNÃn¸žp€X”9èé Zä››¼åØA/mMãh­¼÷0”¨‰,ÇÃc\î|rñÙ­”äW|¼nɲ _9F:×"ƒ1vBH~u:tŒî°…g$YˆFgÐŽ…‘EÇ‚EÁTÑ~}½=…ÔÀÛ³P˜Ûì‘{ã×À+r,Ñl ’`ä¾!jI³Å¯Rå׿Å#ñ#d½f®º:8º¸æÌ IüåÔÂôÚ˜ì]ƒHú‰¹ <Ò?Bßx sÌC½Ûœ†+²WíUÞìËh\òø]TCÂÙÇ ãé§.<(À"Æ‹.äW~^½¼Æ—þ¨ßlVá}Šú­™UR“(ϲ~YCì®±ñ\Q4ÆcUŽ£VÇ5ŒdsðvÒãçp¥½®&+ 9š #ϹËN97-1Û.„[q H… ´ÜQoŸh‘|^FÔOØ_ÑÿqÑS=|ì5!*XI¹Óî©z»<”¢øCJÿ±Hö„Ô>z$á ÝS Éà¬8ÃhËs“àö÷)±K/\·êE¹Á€o­oýCzöx62ó¶“ÄNM ¦J¯Éý6t|VÊ(!9Šð¿ç:b˜†<¬¢ÒÂËf*K“Ú¼°ÙéVD9¬b_!Ý<;ïô@?¶RÜdñ9÷—Ñ}~Š”G~Î~Cq¤ô*¤nZî&ãä…¡Çj›^ 0‰ÉÌe«ÅZ¦‚¬ž/x)õhغå·Dá}sLzèK‘Û ›Šµÿé䶦å±'çú±ÖmÖ¯$›íÝ/'e¶‹ïòæq¯káES¸LUŒð±âwbyïùøZ‰æ×X:q˜&Ü¥‚· Ä*ÎM*Ž9Ö̵ãK ÝXîL¨­˜ä$£ö€ìœ>‚yí¨°ì…¶puvÆËw­7 ‚2‰bµ×âó*J5—_øÍ­oæI›mÚ²˜‹%ÿÛu;»XPÝÜ s“YûgB)ú§*n¨t–Ú, ™*Ö†áÆóˆöX`V!Í~<¢Õ¼‡!U€ªæJ÷`ºGvöÅGb…èùàk£…Ôu×Ëëz¶’uó'™®{=|–?d¼ûó"M‘¹ÔḟµÈõ‚'`« ¤X3Üð§’u‰T>Òz¸­X-)VB%È}òÚo+Nî´ÐGMz9¡U‰¸ÇêÛSgYr¼ï*—?a„J2†àm]9ÍŠ¹€ÓUÊK)ÛÇ<Ñ£(R1\³o„™œFw…á©ôlf< ü¦öÝ] RÇC9A.þD0HvÈéŠø¸g!ã×(CȰœR  [1Þæ€Ùhú 7_töþ8¯×Ãïc8nlÆ«éÆß§F/)G\+ñÿu7ÿH{]ÿ,à—^˜#½ ó–EÉ~:~HÎâÓáÌzP‰¡eÑOìVt~K¡K _y¾Wæ¸V›riì¥?> é…wÐü˜ñω+±yøEYÞ^ù¹­Z.­ºYíNª3©¹ìÂ_5žƒOäÄk³Åp&FìÜ€§ák¾o‰#UÄj–BŠ +£Ô™„ŸÌ -\o^Þˆ¼‡~4”ƒ&`$mÉm’G0ê ÃkÅÂæº0ÛmÅT{Õ¹y-˜ÆºÂË6”0˜aÎÿej7õ L^ãx‹¥:Ûf¯XÙÆN4Š=]øþOO öh¥îª ¿ã6êÐmðl_-2|CAä„ Ý¬O;3+˜£SÒï½pï.}œþÖAy×C²K»`"ÚŠmE†üìI–=å#×Gc JÖw-G)Ñ yÐäÑê0yÈD ô1f¤Žˆ_Ó†¼/¬ù¸ÛïŠ$ «vMÉ Ò9õp…‚—xâLx/z¯´gþ#Fqú#ÎÀ½Ü³O~¡PãðZ‹7Á âîŠ ÐSŠ÷×6íq 5·HzgÀ*§¶8ް·bÄQà]ñꨧï¤:Êf*ÏS±šÐÂÈtûLOŤÕÿ)…Æ? ðG ¾¾ ¦>(Æ÷^í*5ö \%” Ñ Ë5;sަ´çºSœo^>K/³2tí.§`XºtYûµ½:GÏ LÑYßuKïÎtÔŠ*5¯yü#^Y“×o^: ®ðºÛjØÀqæ|ØxC_êQïUÅNŸDÊOÖÎ/!ѧà†¦‘®ÂhÄK ˜…š¥?ËÀ¹nhåÈdÔ!`Oîj ’˜(fDÏÒú²Õ \®î÷–ÿ|RXßfŠV^ýìô/§“hykï gP‡ÀoÚ$­U#âRà`Ͻw™qÒË®ø ±1S´xÚx¤ŽîÄ#’Ä)”Ep#ç.KQ!²*vum˜Ð8‚Êy„óRI^Ü9R–ÒBIÖåhõÓûøÕ¸`O‡D”3É#§ˆFQXòŠh× Çðd½¾Š6|AFr'å<ýLÙ-#d†à³Æ£¢bm4Çûé‹cí«ÿw[ÈG¶¶^+éZ‘^–ã­z0Â#åÂåß_Ð7kÆé¯µzòI]r¸æuÿãJŸMÕPfÉmë„–‰!õ¥œëÕ—Ûèž_PzpñˆX[3”@Yà$ü–º:4‹}å½Ò°·ú4؉SŸÙ©Ub49äôu|2g·k¶Ï›¿'<&ÑdͯŽÃðß ¨ÒÄ4pµËI·¼¾CºŒá¡¨Ã6$[&U·«°%ŒD©O@˜ÿ°†0Õ2–}Ò89\ë1bWͼ|ÍÕoO˜™LÏXÅÂ|x±ÉHáêÀwU<°ZxΞcBSuÞ䢖BŸ¼ª»œdY¥è‡Å w%˜%Hyjé.yñ{IÐÍÇÙ.çÁ•b¾dí)ÜžæÜìv¿Ä*ÅÀ§€·Â¸'ð—1T€LÂ<d*3¥„8¢ñjOˆƒ|ß}Lw`ØÈJW¡Õ Q=+ lÏØÓ»´£ÉMäPOD¼EæY F ðáNÏ^byÚøÑp7ôH¯¶ÈEàÍKn—Ž·ø’§’â¡sÍdèë¢×¦¡èÛ¿—‡#‚‘”?:®7ÝWf9¡ÎT™†ÉUUE9I]šm$6îU‰vXù11}ó¿ÎÕ Ïa<º€ÌjŒÆJúR@Ñ­ÔбDlq±Ø¸½mø™Ù ¢º'8 .K‘5®6ùý¼Y~9©Tq{«ùz­Ý#„ŸÍ)§G çvã”ã°Â…åñ@A´+ù2F¹ù§B)èݹK5h,W=—´\Òöý­Œ¶€æî…ÛÀ*ÑØÏ²Ë,7ÕáHÓ½zSѦ&Ž#ô‚ŠËPw_=Q[˜'ð!´ÜÆZ”1Ý·{ ŸÆÿ×ë†%ƒÕ€ã¸ëÈLI=¢æ®ü´ºCê0HR, pæ&É:PúÄê#žÁŠ={ìW’)˜ÿÎMWr8AF FÓþÁ œ`Î:uâZ8€|ß"%プMf¼IEß›µ´Ö¼  $eçqãÄIntíOèó:¢3Ÿ2Q@J‘|£)<Z ÑŠš£Jk…‡ r«çn1ñ¶¨/Œ™%ùFÕØ}hÉŠq ¶Sèú‘¨T›ú5g8rŠAÞ;KÌ8*l€Öboì„Ð6.†»—¿{è•<³4¯_\‰í¾”ƒ5Uœdò¨_[šÎJR¡µ t¸…_‡€¹@õPÕòëLþn¨÷9Þê?ý`pÅìÙ÷#ý鮺`UŽÃ‡9¬¦]¯K‚Ð‘í’øÊÌ(½¢ÇƒKjÿß”»W( ·<“ 4F*4°û÷†N¸ðMhÊÐ×|C1…ïGõo`Úù0ܸ?¸ÊH}5~~âg7Ü nÉ2yQ¥Ñ¤¥ñVd•ˆˆ}dèGëu©Ìéõg&0x¶ìå\˜ócx5;û” ;.TáFØõ`i -KÀÖ°ÙåuÛé ™×øA>²zBŽ™’Ãm øÕîDô³ Ïõ†?GbRÝcß‚·Ý$šÂÈÈSH‹òDée»ÉüûIŒ¤ëðãè’Ì!—þ=ɾo—Û~íòá?!½£ŸÎ˜åõgŒü  Pì<êK“È[šmòòØQõà F¨"M–Àµ(œ‘•ÌÛýF¦+ã ‚GœÞñ£éáíxDÓ–+@3ç±Ò@QÛ,WÂÿæ-`í(7T¢jÁßÈ'¦åé?²K_×-™­bm¨¨‰ÜÖ/ƶ¼ú‘KÉL\DQy&ÎSôKÏ5¬T$§Ì,º¹¿Nc>3öb܉Šu% øj)Fê˜ßU˜!²×”`ºà­ Z$à»HÁ¨Ì»ÅÅà—¼Çm? ¾/µ;ö.$t ü‡€<×Vƒß)Gœ_³b|ý•îˆ{r•Ó¬}ýÅ‘²:‰úaç Ùä.†˜ŽŠ<Ã[4§ëûaĬ:ÛæuðÍ[7ˆUŽ˜¸›ÙG6ÎöóµÂ(©r Æ4€ŠÔžýö’†ÿ ÍÇ–´küá†wz¤™$×\pL[ëED’æVªù€¹’}Ÿæ”ßÀr/ùR©mÅþõl‹®Tº{ TéÚ%·àUŽ/Â6¶ N\Ò‹ßÍÕÚ9…xÖau4l_½R¯ûE– §žvZ÷t¦÷ràxÉB‰´Ž‚U­i3[n"[µÓ¯›—¹>7•%XØ“˜Y9Ø$ag÷¶Où$K~VÂj}Õm¢Þèˆ3XF£î×)ãCD™ðÂìÀ°ÀTÒSSNù\S{Atcx˜W÷@6¿X^Zh´]¥l³ç–õŒ:])ʼԺ7j«A^ÈÛ ÓOºà §ÈPÈWx‰ÐL1 zF„Vœ®ŠŸ“3˜]±~ÜAbXžX­õ"õ¸GÔd>¡€3€ðާ™ý;ÐØê g% O•¹!RñMP;ä*Äþ‰ìAΡJ*ë'é\;öh[?@„Øbl})短úðG<9Up×Û)6Æhìßȃj3‹ÆåÝhK=GXŽÆ%^}é°mìZïŸtt–Jðž3è“ì®E…ÝÈjαÙ79Pë‚MŪ|‘yF—äÌrX¥PÉœ’éµesŸ¤d[¨"uDgñÒ/fß™º5}…=æ(¿£~,QÒ¬¯Ï~kÔE¨G6‡°ŠYKF+ª7©½¾QåLÇO«-¥ç„¥ˆ¢óf• l ãݾT7|¡ÍÚ&i¯/Œ—R<vÍpw_Lš·Ôæj>‡áê¶^zfËŠ¦*€ØÍ…}ªÞ¹9ŠNƒäïAzá>/דÈ?ˆdôíMvŒ4,>~£Oî ÷£KU65úž,ÇÑoøŽa#LÞžrì:("°’'DYÜŠÇŽ[ÂìÓíÉÚýgDeN.Àe¤Næ»ais²©'èSpB>ÝB©jöŸ·GÚ¢û›RãâV)¿\ °æ4±Íh•2ìÞs)ó‡.©ú»³û4È"ªpÓxÙ `yÎf_«T[A Š;›‡Ã D¼C¨E_3‘›²§AV¥1scsíMfÍùLqÊÌä^¬›É;’äwZ¶½Meû.}7&%òJŽèŽÃ©vØÅt ØÀ»°TYˆ<±TÊ©R7ù«{÷͹bJ3³¡x«koD²ëãÒgrê‡&:Ñ]s†nE$8¯”Îé†JM+L>Ö7‰¿Ö³Ô-öÖl¥œo}“ÚÃÔÌaéøHƒ¨þ ø÷¥ ÔÓ˜±üé=åN»É¶Qf¤A©é¸J=h%[+µ 7l_мý蔫3üs#qlUìiÛj.=ÈÁäU7_ĆL`u ·ì­­žÑ”[yýós²ÀîrHe êÐõ=†Y*.Õb/¥4¹O½²%9ª.èû¸¬*ZŸÃ¥-ðˆ: ÿ²Þ|é 8#_{ØhMÖëFÜ_~µtZù| s• ®šçº¬¯rˆ‰$$ÐZYQ4ËÅçUH˜GÈ‚LgœšWKÿ;Û„`u_¬lëÕH†CÁÓ¼Ø2®š1ï3µ*:›¸«­øsÐÌÌçnÛûX‹|Qg×8âài8®,ªAœ””ú‹5ûñÊ­œ8ÃU"vIÞ %;yuÌÜbX"­ˆÉØ Eà-hõï#Ø5 #{1V•6¹äžº ådƒwbé}“eÒõ…ø—¥ü¶; ‰É~»—²&b%xuHá¡zµhrr¸Ío}›q×ô­â»´å#ÉÆuö ¡bN”{` Ø‚«oA'µ ÛXßmBq¾2îj2c ªÄÓy”¤¶«~NêOñ. Ø+“’rYG©½O]‡/6)N¸rþCÊÅ+7Icƒ°`ÚúZèwm û\„£îÒf†ü1^¿{§v³t!Œ’ßXuÀøæUžº'-“°ûЇ*%« ïéMZÀ‡óÅ ¸E™ÌQ…@-˜Ê¨çU6F¸ÁÿÕeMÀÁ[Ë-´×.yÇFö}‡uDŽSù.ÐWDôå4Á!U`$öFÄe‡ãa Yç ÷2ˆl0¿—ZPÚQ™\eXø‘ ƒŠ•æÙžô˲˜å·V¨™ãOÆ×F®{ãz:<Ø ©Ç”÷ßO!H±þ‡KsìÕíVÀX)¹ß@+ë‰PãÊÉUüíMP|B=Æ(ƒ£×æÙÛÇ<¸*KicÒ™Êî\çSŽ—Ê’µ"Ýšz—€À #Ù°[Ú áîÖ-öŠ]Bô“Ržª¥œß’dô{ ˘PgµŠ6nŠŸÐóÿm˜´W0/S¬W(âHÉbŒ¸‰GÙnÖÎ}Ÿ£Ý+®Q„ ˜Y Äó d''w‘¿Ä»÷?À‚*]ÂÕÍŸ±ÅY Ó‘5æ1û†:Û Wâ‰{QTë›ñвþVˆ3¹!|dßI…EïÝëÈÞbLKóøûœÐï–r‰#4þaàÁ–®$=4Ó1; J‚w‹ê=2µYZVkË€‰0Ç)ÙÑ ÉF»¾ŒqWÌ.£pP‡À¨þƒØø¢7ò*Ä)“´Ë‹çL6°© Ì’«Eo~‘¡ŽL×3|ÖJ ³¿Yµ7½mê#{/ÁFШeQ¤ß¥\̯ÀIÍí…N;Ï¥*°¾yC=K´áîô ÂÑÀÝ׸§ÜâÝLJWN¾_ £Ž?xý“u´¦‘Kv”‰Q+¦*M;lD8´Eå“ëÛO±ª•A0í/TwLè4ø/AìÕ%#Ma =gÿ›Áy‡X–ƒK9tEžÔdmMiüzSåwç:èð ËÅ‚©ì_‚µ¸»ÐªªÁ=lˆ!#tú9 5pŒÔ‡Üç³ÓŠ·)MÃ㨺îƒ<8oO`àå¹&õO9šˆƒ:ý4|ÏD’ÔDÀå&#:?üJ*N”aòÇmb†ŽQ.‰Y,yÁ«zÖFŒÁRPe· ~h@¢ÒL‡áò;Ê£ˆº‚í˜%Ãk{Poè-A§IÎÜ#Q«ÖgGU|ƒÿû8 Çï: ^ö%™:4ðÊŽÃ>*_LmÞIÜçgyóѨ ¤ÐLíΊNK¹e7•³~†¦mîyÍ;¯ʦ-¡ã­`GÀRþ»ëß.à€H—àÒ]0úÄ€£cî¯l0õ–öïŽÜŸªn‡ÇÀö‹ ÑâzL%ØQy‚2àUbÕ‰Ofr‘’Ûs½Z‹Ô`ÁiŒg’°íÉ µ)8—»«·K,3S[*ÿþ?ë½æpèâ¶Ù•*°’%…CJ€À–wGÖà€MÕÄ—¼7\»Ç.öödÊãÓœêÞÒ`r,ä4šÃ>0Ró!Ce/†œŽ]EÿFvŠ%Ësˆ}³æA}FKuÙ6ÚúŒi_cÞ[ØŒ&Þkƒ @½tJŒžˆ’’òFGü~(œðYØ´Ôî­T+hèöñOØ²ŽŸYŠê&±šX\÷ù¡v3 uCg.sCµ2iB÷‡îˆÈ)ð„b» †8Š~’`‘¸lÂ$I4,ÇUÅñ°éþsäíÏ ™þë™Î –Ûò«è)·5}oÒÌ|Ãí€uG¸ˆ¯¾½mzÍE2½vàv ´¦j MÛΚͶ“}ØÇœgÆ„•_F ÕöNà@„E2þ-¢²ù-§”®êÂ6ñ<Žñ¤zYsBÏܪ¨%†‡<ì ,Õ×§'ÉèýÁjÖRðò æ3ˆ9­’¬¨Ä6ñŸmÿ¶¹½vžØ+ì¯îºLi2 [`ÓuÖwAíP—Þ…eZ3“.Ïõ°§9ÏV†©áãŒí;¬+Ó6o¥}r4µ·ºÓ®\÷öëf#7ÜÍ»Wš¬Q…Ç´Õ©'(SFº¢"–ª£€˜†Ã4-¯»ô±¶Ij­„ÍL©YŠGiAvB˜‰çÛ§0¢fëéð¡j2ÞÐ /œNÒÔÍk%®jµ‰ùÞvOQ èæ2ø`•‚¯OÙ6“D#3)í=•òPD:‹A¼0`¾õVlÿ”ž›y…WÓ9O‰p'ˆjûX!®/ÜÀ^®$RGDfõÃG\ob$çÓ6HéQ¬›gE®‹Ö茸Á¡Lº…M¥Ø0îF“wª$/¦Hú^sƒ2aƒIožeØVSðè_=[ÓÔgÃÊfieñÏ5½ßÀnìímnüj#œ@1ô¹‘Øf+»Á»¢AÉl'>>“0‡Þ±èRzãÅßГŸ‡)@ßüs`.´ Ý£©!¸O°OuPqu=%Çt ¡£iÿoT,¶TÖ¸÷D]¸gÅζ“«'²ÁËrnv‚&é´, Èxg½ÔnF‹»ÂÊfÒ'̇¿ÑUfC`2whWËìD[«€Iô˜[˜–Ö¹kÑ!ºZämþãk½¶Asã÷‹Œõö²»™ŒJ½¤A§ºeÔ#—¾ñlw8\!£^RÝ0ydò"dåùv\ºúuo]AÀ»#4­?€ICáâ­°GkJ3¤-²¬ÉWûCSõP¡ ˜ÅiÓ­©/p…ÉøH9Ù I®aÀ.+$$Ê/ïØË\š2 a\MbyZºfÃÏœ‘Å£ß$J:Ì”jd†1QbX¸îAT´äû3;<’ŠF‹Ù7ýÚyWÃÆœW&ùËe)º À  I¨V‘Ðð; ™?£ó ÖÛ¯þ e&á;\¶˜:|?õ¿;”è"OϺ©ü6d™.zWïV(\Ÿ±¡¶Ñ:Ú€)õÑÚÞºLU½ûM¹£û6™cÛÄbåÿzœ~U 6“Å•>rŒ+ĤtðZ×.l†#8JŽ÷µ÷†ÌësíñøÄ(}bŽeÔ¼10þ_µQá„E8êBp8f–‘%Vžg¯Šñ‚«(¡ŠÏÁÏÑTUÁÍE· «á÷CÅE?âñ!Ýþ!~U… ŽâˆÙ‡³â¦í#9bVJ[Œ'Ï@ÐZ¦ÂCB²ºE´ã²  ÑùOnšæ‘RÙÇÃù…8- à¡S*ùÅm¢´dÅÊ×–ì̈ûaCäáLÌåƒ;tÙÉglõbLJY¯íMDzâЕ„ƒ-Ñððþˆ3öóiJR%S/BÉ©Åh­àšÌ=ÇUþŠ+-ò1<à =oç‚]¶`h'¡…ÍKÅF‚§jÅea>˜çÙc‹µˆ˜¶Pî!ËE-6†L4ø5—ùÔ@O–I097RJ| ø,¼<‚&4³­]Ǹ²a³USø·3x)|V:[º$¶¹¸\Þâ¥ììpy þÚ» !ãi2 Æ÷œ§»R¦53ΰeÓX@,rÑ)6|”èÖ-;ã¬ðésÕÐ|ÞræÊPÿ-ÔC îVbn;D9PÖ%­O-XÉ"¼kÁD8‹òé,5ŽdóPs‡…s"n#jQ‘£ô Å8NwÀó¿ÑH?:ëÖ–âOWY½Š´Ž¯Š6ãníÒ&øZNp·Þ7VYr`9Læ4D€}ñ=åZÀì£ýÒíä WĶh 7"ýKÚ½ÓUWqlg]•Öè&:$+¼8 <Ëb>1È'«¹5wÌ#æ—¹a\Øl?GWù룱˜Cž «³xÉ‹ Z•q1Èyêëº+s´žrzŽ$øÙDDÅKßMÓj\Xª_‡„Pµ¿ùBJ!蘚ø­\`<¬kHZ¬K-h9F~MÃY׉t^†˜}™7|+>¾8\`è ‡CÒƒD=ŒI¼ÓL…4g›þ'ÕÉ8µù-÷ôaßÔHº˜Ã(ÁŒgÿÀ¢Il(ÜÐ;„Á'ÌV…¦z3_J©ÂCõ“Ó’=l{l—&& Êã é8gúKI¶±´sFLo4iô#GÁ1 ¸ìHw G”1õ€å8=¯¸°‚8€e!ì XàÔeL\—[=D]ά@ÍT¦ÕUOI{#RŽH¨'‰Òep%ãø¿MÅÕö3¯54›†ÉRXxñÑÍ6Eky¨^5øºØê]1]¤/›³ÒØ–µ}±Æ)/{0<Ÿ$no|–T‹e!“¿ÈZˆ[Z+,~–[ۛÕ3§Xî-åÈDM4нé¬ï$ÒÉ?Ìß(!ò¼©„ØnKú7XšxDC]ÀŒ‘8“|8L‘zêi-UžËIÎ|‚”“;HF½(VÛ‡iÁŽ R£a%”äÐ}7µ5ANß+RÎ*øäÆ9;`•vŠÑ”Åyâ9&ÒÎS{wòâ"{¢5LަLg¨ûÏÅ"‘ì¼Òr-Ï7¹(VÀTwã ‹;€rÇÍð:7Ì€F‚ø'÷•¯n“ô7»%ÉÉUc}ìAT+æø¢/ô°è1Ä|?mÝhšÁ“FÝÃ>b~a>uþ6•©ìt²‚CgƆh í·›]ìIÍ¡CâÓâËÜAbi] F$€^¯qäko_–}®åýJŸ[i¤8¾âØR’†»Ž'ȧŒ,ƒ9żo@Ypî‹Ü³ ~:Ý€m¥#j÷õšò¾WÿÊ΀È%ESH8 iîMÌ@D=eäÂH)ïÿÿB?9¯ #q2šÓÕZæŸÂܶýi¸|Ü,”ñm§P7à•h²p•´ÌPïŸ*½2f.NµÈœèκó[‰˜™üçÌ˜Ô t7ŒCYù¢í^ˆëkgî|g~3Q˜× 3á,“«•òܪ,Ë9Ðiùø!Ý„›k›¥²H{¤ýxÁ㞯¾7pUºÌ]­ àf…ÀP²n3'þfðäkíD€M¢Bã‚î b’23÷fC>‹®&—Ù°&¥¼PHMÞ÷³R2Îî“qéUC—i±3ž­ÑÚõ&h"\(÷0p*º¨âÅp>Buòμ4΀®Ï_èg¤çùœès¨t!íÏ·b«»ÐéMñ|ÊÿTØí'‡Ô·ôÎrP4@E Ÿ˜”¤ïóî‰*YÖk¤ò‡ên³dkoXLEæ}ຫÜÀøñv3ÂÍ!!è ¯#CÒÚÎì×+v8¬©7(·©Û&>\hù¬·ýðnŒ‡új3„Ù¼žù#‘{”•ÀfÙ!ÎÉD•5Àeˆÿñµ¼àyPfi½Gh´o<É&PŽuØoÀ3•‚ëÔ+ìeTR˜—0|-Ð*ÉB¾×îªq×ïÓ>«>”Êíõ-$¡¿øyžó;†çÍëú ì(Wo] Žðý@ž.µn¼BA«œ‹PuǑûŠd‹ÏãþÇðQóR{SÞÕ J¦u(ûmMåBIìè߯0†ÿæƒÓ®ü¥Hïðúk–z¼rz ZüT•d4j¢ê£ è ­Èʆ,`8=z»ö;MiÈ;g\O6ª{7E’M0‚øUÕ¡Öš!“¦’tg…8¥¼ùBÖi¿x~-±..(f¼”)ZÀ-¸«Y³Îè‰fcpãùý²®Y’Äòz êûôD Uf¤ UèŠ]~¼Ãlò óY±›¤\hZ°V @¼.ÈéÃpT,­zè#Ä3±ŽPãåùKÌÏÌWy%l"'o0;)ŽÇð¸R )æ^þÞBYHÔsí>m1×7]@$ÿuÒ×¼ú‰AìGßýóá5Ïž¤EÞ¤˜…¢%žï‘Š©2ß¿Ýؙ͞(JŠLv£ˆíaºuƒB€`áC½X´s]\USÄ/Ð`Äùh3>ŽñJ©ÂÆ.  þ{,cù‹sÝõr‚JĪ¥@¡wê¾Á $ÝüYÜÉ Š¹üÀ0&ˆh÷×ûpÅt“èkœ˜‰««7äâaó/ÐhCCCÝ7‚¥ÌUþ PØ$cmöX££Æ%tN;¯F@] ´0ZBìSY»n‡®MøG’¿»Á's…ö9—®FC_G*çÕ¢g´Ç·˜ˆl#’3/v®6#ì·i±ÝÞZ ÍëÝŠðü3${÷«/‚de+o$Øl‰ÒÈÚwH•š Ž"Ë‘>Ť9ù ÛA¿ÇÅüè©vR¸:Á¯EÜß§½€«ªÎ"¥I·eRnÀ¨JSYó}·”eùe;'³ûió'(žÛÁhe/yeñR1o!s:cBˆLðèlÐ[Ž „’€ÉÀíC)§åa©^k“Nm™±DŽ]©y€'—Ö¥¿ˆËòŠמ‰ÜÞb¸çkžÙp\ çIG{x‡H ¥Âe &Û•ãȧý¹ì™¬^R#þü§±|æg5ðîvPïµoTèÇ’}ñ.¾ÜB….CÖŒ7Cs¯öÞ +’<Û}xò¨²«ÈZ'¤$Œ «Ôi뮦‘ÝïOΟoèú'Ï~Ó±Ñ)«ý™Ù§^Ñ… Ï?^?¶–¼üåP[Jþù/Ûœíu4aj-¢ÎQà´ ™o²Õ Ï’Ö³¢ŒAÌšvÔAÉW‚ìa+¼E®^øHš®Ë•¿ ,õÕÛÊ´4oì5þØ‘…­ù¾}ƒŽHp_F‰<—Ä+ý•ÜÍÍ®"·ÂQ­yÝ1« ¯Ú»(Ña¼\ÿôm+ÔnkýiS ^£Rض:]íÑF=7“Úe«TIÖo: BIn¥½÷hò±YÓÄÌ‘ Ë2PjçÌ(•g·Í"}¿Îáè+Go§oUtâ´ËW’~ !D½¼ð0«dˆ-ŸF>š[È+†¯õSeÎ| OŒml<³KÊÙâ6åGm|oÍ^èúÙ ìPçÑKdDÁáh£dJm¯\í·‡O*¸ÖÃ5Ǣذ¢é@“ßÏr¼E´Pág+V½€È˜ªsÚ˼¾aØmäÉðõ ø4Pdàn"^¥ô(’}È^n[Uäý4]ÒOMu輊MUb©õ ·‹[~ûâ·‰ðî”x7ƒ£áf>Êÿâh¸öÍÝ€:¸Õ™û}Îfë-¿ÀQ•nÃàD äÕ•xù×ôà•¨Ýu¤gÎ=Àö˜d؃Lo¾"äÂj-ˆE>åâá©–Ö÷×ñZ¯nàülVƒèäZœcJW¶ß·aE ± ºÆX !–Æ4$Û¼ÁºGÂó»TŸãŽÖt“UèÉP_wëÄì»NH…5ðá]a'äQ·x‹’žv$’zšèظÎÇÅ\ÆÅ)X.'V†íЧø kOUJ…;W˜ô¥"ºD-_†TÇVj7²§®Í°¤ŒÎCãäÑ’I¬|¤@  ¶kLvr>érN“BP«¦’5âY¹ñz2›OLïS° BZà-œÿ‘jg0P÷ ˆÆ+0Ù¼›­ FÔLxÉÆðô5 ‡WÂlÛÿfÂí,\– ,»)l×ý žógÒJ´TÓŒHzÏŽvUD5T0àÈ\žçåømJØÒ”OؤÂr€µ;¶™¾®ïdªþ0µÈë ó>~ñf¯,IŒÎÔá*f-Nö^RÓeý'OËŽq…W®á´š°†^X¼Ÿ‹s ¦½!€þpjˆåqÒwœ÷ƒÊ“œã&ð=ˆ¦²c2k\%zW¥Zžô]ù:fzÀ£É„‘ ¾@”ÈfÕp–ÃvŽh>Yª=ñbQ t`»ËtÈygªŽ(É“Rªy±ú8矓5ùÅæÕüYí[Õ"Ùk4ÐòŒ¦m¯x•‹½ƒ¬ƒë¸oå@hàšŠŸª1B%YhÇz÷ϼAÿ‡CyÓq—ò¬š—)0ç†&žÙÕóg´jLŒƒ†^ÊTí` s½ VÊ è%ºªi!¯ÎLGšp¬¥ž\“Jy™@å@ÎŒõÆ’qõΪç(òÑ\Tr CRR;pßW= ß• bVjg~ÿf“¢uk˜ä÷DÙÞê)%™CQV­j©3ŽXn¶|`ý¦j“ÔcM"¼Ù¢û! aÍÿœØ88²‘©=,ë»Y‡áû7:°×“‘!Nkdý—CýõúR”‰ñàã'B¥‰PQoï …ÃÁ'NZ3vRyÎZ•V£-Ã+ˆW;Ç6‡¥s*£öʃ!ÎæÚÜ$;|Ñ㯓"r˜ky¢ž{ZçC¸~ ¿o…ÐHìéžU „þ/*ˆ•*ÆUoý/,ä½³02A—SŸO³¨ÝÄ›ÝÒ¶ÝsÄÕ±»Šc׌2‘Äö|üï%öm¾m¿Wñ7.|%l´7D¢}ÚþkP‚Qî0›NòíšúÉYËÑxZ‘\fô¡û$fç^ªá °AÃ…@ý¡Úœçfñ"tb èvãkB¥Í:€À[^-4$Z; M䫳V~ GCë?ñ k ̇֔ORæ¬ UÎn2”³À“LVNؼԦ(¬²¡/d¥ÌD®C'óÆL·öK `äöE`kœCRé2«ÚÄN5¥u2¸hj \ðL¡=s¬)4|SoT…ñqA’Q9>¸riŸ²hÞsœ½5}/Ϲ¹LîÒ®Ý9Ò÷oÉÆéoé¢I‚s€ñœ'C}ßÐÏ×Ðk14.ÉT}:v޹˜N8LÊ(qׯ`m7 ÃçóF—EÛnýEªAÊãþÓxaŸÅB0õo0SÝÎ,'Hº 4Oz0íϵƒµ9³TÀ7&¤äýnÑRJÀ2Y'kÇuë†$¬Ì‰àÛø™eàüH¥GÓÔÙq®O–‰UÉ«õ”ÑÀ~Š`øt–é]7/bpÿŸ¬°eÊaRfBòŸÃ2¥Š®j;ý(ze6¯E7ØØžõ§%Ì‚»kc‚µÿw°ø•ï«< CЇ•RKÄ8u¼ÉR…H¢¸Kr•QΨîeÏÕu½6xn-8Þ@xo€AòÜaCþ~¶ó '>0¸³‹Á¸ú»ÇÑ+¯½ ¨Ž %G©ëã«Ì³ý 2@ÚüÀü0z˜‰¸-ªb%iÕê&‹9œ¡Ÿ0ˆDN~Þ=¬ÙÞ} 47€Wß9E8À`Nÿ”þÖ—£-dœKÖ.SùÛœ$ƒdÐÑŸ>r[P‘Fñôw߃œv?†¹ë>·@324XÙ@Ò-£Mî·mœø>€¡·8Àì°ËˆsjkÆŸšÀ){ÔD·™o]ívZ†íÂÀæ‹M*¸uZösãlq„™1à÷ Ð©OÒ"ðO« wïC¦2<“ìQ¿ã>9•˸:©žè“v9¼]h•qÓ¯>û›b›1Óá¤ÀŸ·óÐn™â ùj|hröÂBQ†CëFýÕjdMˆ¥Û¥œ7GÎr‘^¹d*¹´ƒßš‚  Š´ ¥Lª)·ÐåG«ê<»•Ýë²’>rã‰ÊûõÇ;‡¸ˆòzWánzJºsMÜc²×V cRQò˜6ê!¶ iSfý!CÄ\3ÛøvAݸ›âÕlsØ>x™¶ 9Uz(¢ž Øj‹µwõJÕßN41Ò’ü)N§ÙDó ù‰Bžy¤È†IÍê}#òÞ¿?‹jk‚ DÉß–ƒH Š'YÖ`Íè >•PôòèÊ¢ÿPDI*¶Ðº&—ôªšÌ{t–ítanbÂj(ä~yKx~вsû?™¥•¡Kœ›%–yvƒŠž  UUø{íËtƒµà‰^p—/¯:Tˆ]{¿ìbÀ£gÆ¥¸«_@õݼ ›Ñ7N ðŠÄ‘f$ϰn ™Ó*BtžZ.Óuby_4±˜ÿ a?“¤þɰûÒ)/§/bAîåþ°# Ñ´‰Q wÍýíÙêf¤ôsSþ4µÂòTÇ/¢rµ§¨–î‡YÛfYN.U” ^Àu‘ÈãøÒMbÒÛãŒ8V]~üy ºùö,²‚X³ Q"êï ú¯…4ì‚&R+Hƒc4§-»Ìþ!NóûŽN#4³Ù™û蜛c³ <3¼!®<­Šú˹M'îg¥ÉÖ ¾ß´©‚¬$‚„#ék„sÕg(Ð oR¹C„i°e„¼¸R=ÁKg¸‡òÎ׸³…ÜæúbvWÕñt&€ Oa†6ØW ¹L¿üy KUŒHæ’.5s?«­NÅK¦dµ’í1‰nßÛŽ– U-Œë§ƒÊ UžæUÉ_Ú…ŠÞe> nÔa\„§>žïú–sûÒqƒÀ« Ä41ù[p9œö<6–Ñ—ÃØÍ‰Ÿ,”äígT´ Œh1@NÒ¶ÊÇ{9À+ÛéuS#ü%ðT‡˜üû¿Ö”½ŒJU$¼¸¬ÕÓÄMZ2Þ៑e%>_tsCÜ 6sÄóô7)·Q-¿‚§’æ#¤Ÿ£Ÿj´ëa·š–g›:Ï·,¿J- ¦hÇ|Ø@É$ÍÛ16àxºS¬¤È²ƒrãöS}õýP:ðiÌsœ۴἞\¼­ï%^©[¬Ð£…'w—Ö~ÜŽÿ³ž¾FSÒý¨Þ¯wVqD\U©k1"¾ñü7,+BºŽUö‘"aªgùÚ¤_j(’w ënÇžbmY«ñPO}_éDã¡3ä>åþÜÒ/~/5D5cÔq­óÎËÞtTãlÛÁWd}T!´ÄyŒ9ï?—î ÔÚ>ÏisàlÊRruþNäAÞ¦èEo>.¬²¥9·¸S‰97@/ÃzëB¢§ðKÊ|¹i% r¥uq‡c¼G¦-Q³§“³vcÉ€€çAI¡Ô7.רA-¤e–Óù/z-¼Ý7¥`ͤÇõीˊ¡CôñÐÜÓ¤àÈço@Ýr)%ãšÔæÝ2ÓsclÙY.›òjòÅ_*çéÞŒG³â)3FˆëW”‡3œÏ^\ú¹zåk ­i¥aÌfóV l÷߯÷Œ¡AnUúôæž‹W6Stÿñbœ¥Ìº œ Ä£yYFМ)oÿ'lUlÌàç€7'¬ûqÙ æós×ûµ{ärNM€'í¸ªu½eX´ß;ÍçB?]†vjYÅAÍtê Ä¥H¶Þ' ³bÓ¡‚Ãn¬â,™Jò@:šzø+«òø錹Ã̰gÇÌ'VñUVÙ§€µ ƒ.>톞œÁ¬$„_P¹?Ék‰2”$Kig­ S÷Š—çüï3kAبB› áµÐ{âgºÔ¥[«X4e¿F Æüb|šBŒÔΨvN°ƒn–Å䈌|0*V´ ˆþEy*‰Aø“Ë—Ìûõæüä3ýA ‘og‚0^ð¢–Κ™c•¨6šÇð¦r(¤7ú®´®ØÎ„0©!ות#ˆ-/Šâ­R´¢e1 ‹ö?±AØ÷¿Þqµ&@2´ÎÅ¥¬§ ÂÀýéM,Û0™m3„;lSÿÖ5¶²Ë*Ú¨ð„Øâw¾c¿ tQyˆÙœµ‰…ƒ|]‚ÑÒ…Žàͳ8 °]"&Å»NÏ*1™¦•óm-Á€4úÙUîlÉj“¸¾8ýw%æ—pYu/°ýóýµùODb~¬Q…õ9¼¤›ÍØt…l G†m^n‹üJÛ­xÒa 0vÿM`½ÙÃ7,Ý>L/MÐ:ÅÃqÞÊʯ>mœìrÒšh«B•\µæ|ÔÛÒA†ë>/”ÿzS˵UÄ'‚d㮈„ Ææ<+±¨ò¬pjCw60ý†o§ÞEÛ´¾làb\G-½“U¬•ã:ôP¾ìàJ¶“¤ƒ‰Àæ ŸQÄ’ï }¢×d¹FT[þÜ7ý×Ñ/Ä* £{ ` ãøV£h¬bЙ¦ ?ÀìY’å É™·ÓÍ"Wº{ *˜Ž–7°â¿•ã4Ù±˜ÊvÇÏè"…° Àý_µLHò~¢EšYÎw„ð§› àWF:qûm^ã mwXh|“׿U?Nz-±ÕeD@õõY™r¸–«ð@¶¾M§Ò¯q&g*äÑ:ÂfËQQíuèÀÑýŠú¿öhÞï'X9JA:\ÐT~ùXƒyJºi­&ÑÝDçGqºm:BLqʲ„âzhú[½ÒWÑ¥ ÑOEtíTŽ(³¼M‹Æ@æ8êã6Õ?ÛôIòçz¢ë…’úÖ¨/²Y->Úý”¯ä“Y¶bÇÏ Ú±¸¦2 "ÄV+P@®ùHGÕþId6ÌØÙÆÄ÷¹G“â%Ñnló.!Í0WtöµL£¦ˆ  'vsÒÁ„õÁ÷Ú72ÒjX9回 ŒX÷«µ$ƒ>j´Ã@¢÷;GBûdL ICqáöÀ:‚:Û‹Q³U–ÂpO :z¥«¼u𶬠6uÑ–©ça7¬—Ò”¤–×,eÆÔ³?µЬÛ"õyú/FŒ0?º¿QG>ÞÇn&«ÎA¼«l&Ë¥âS Å’üÞUþ}Ü1”؉Eï´/Dyg8?üK–ä9M݃;2V6º@´x¢c .8Ö´C²sê.È £óÖ·µë1 Õ ¾ "af²®2‘–sxؽ#ë«h÷¯MëñWuKƒHIù `#m8EtjgøÔ0jôó2W[0/?M¬þ©%L?h:ä¦Ä*B ¾:äoØä¥’ìÔ¹“ãø¯ñ̶¸~ÐCTÚÅZÖEüzä&i±€!9~æë¶)æIù`ÖÈ0›ÃFÇ|åcôÒ&+YЦª!ãÄã$‰I‹ý?žj_ú€ÝdòæÕk OׂXÙ÷J`kixoª'þÞvïîí¸Hu•Õá»Ç‹„‚Š4¶Hì©\Mø9Þ·©µÂµâ^ XEÞŠjB MvØIGÄÆ¡}ÀÉ‹·N’Ί“<—OŽ—íË€Ÿ Xï&ú Ï¥w›[ÿ›ÓŸ§â â[·Úÿue[;ŠºÊ‹JOŸÆQV½8”ƒ¸0VØÄÝ9ÇgZ^cöÑ^WG†öK]pÜ8š{¬¸¬Í·c¯ênÁóŸ7i@£FÙ$QBÚ€C|“·ìM°qÏʹ5¦p, L‘©”¨!yÖ qîèÚ;ЈšþÇD;b~œß¨:è°Èv©OÖ¹‹ã0Ô:ÿ-±RÂîfÄyÅ R§¶6Eñ”ƒµ^6ÏôfiT%­P‡ŠåJ«PzyÛ²¯B¦d*ÕïC‰õÀÕWœ–|—'Øì¡aB«j‹ÜÉ×ÎÖÖwT¿·ÀKö䆭 ü»Ï'׬ʰH•_[¹+ªwäo–¨g3Fþˈ3ñè5Cã91Ôå…]›çÎ|uø N($/‹.]EÇÏw aǹþd­×ì×ì»|ãik¾…_ÂÿÝâ-2ÆÓcÚjXÍI ä²ÁñSœ“·ÒlÀÒ^}D~m9„ jGÌW€¢Ñ®…]W ØNÀÔk6°7~˜¬:“­Ø®Eø>VS¤;‚P$' Áéãc©}¹¥Û«pºvjLîü-cÀÉj²”Å!(yh]/Î5Ým~¸f*)+Eù˜;¼„¶8ê•<Š“ßRP­¦Ö£6¨0òÓvtŠolŠ,Æýœ×¸¥9¨6šx }·´Ç1c¸dåÕ¢‚{Cõ =W°ST‚˜}z M’ä~“U–ÏþìKF«04\n .P^µ¨iC[9WÝŸbû°£ƤIŠ'd©ù„Š;Ãh›¸ƒ|ŽL¹¬•²2« œ™&mžÉ y &õ¤&&®gÌ¥œ 4)¼+mʺ‡ñ#©Q;ÌÆáxׂÔ7g›E²0¡ÂʆD¥ÁU@‚Ò»Ûï· ])5•”ý ØŠ@öží± Ì¿µ™dC´Î¼è t•;:Éiû8ð6§3drºa™AÌÓ»qãìŠm× «fv!:ÖÍ %]ñÎu8%Ãòó6¶B0 Ñ»½“ÂQÀØwÿz;Š|?_¹eÞ3¼ƒù]ñÿö-Èkc ½¡í—Ö  ÆT!Ú¿Q–…×÷ r•6|«\£57‡¼[o+xYìšL˜ç Iü Pú׋í^%X3bÖz–]9uQÑÈXˆÇåe #rÕtNÁ«syfCxo9NÍàB¬‘~ÿn! U¡úó!Üó ¦4‰7y¨$–í mÞÿKz½ÐíÉX½œU{®Z*ó+u{SÿTtBW‘}÷‡¨ÕA #êõ)%v(ò•uÑÙ³é¬EŸþй¢ÂÀ.Šì<Ôÿè\Œx{t‘²*ÎÏÑÀÚ4{CÿÄ3v?ÍxðF—%Hw‘^šÅxuO¥7ï oO ÝňYàÔW£‘Åü z¡Œ¤¶è›AX`=—U0oœ“’”#ŸGPj|k}c;|}®MáY³*”GÆ9‘:"b­ªž9Êâ« 5äÚO\/¦AþW\í‰ô 'bšYŸØË7Øñ$ýñdèòjc8¿ˆÄËn\¥U;õꤛz `Àø´æñÞrãÝÈܱýö_ÐÂR'½t¿€ºJ­=Z!g¹Z®ôïïϾYʬ¢T©ún¥ñ¸;óÊãÐÙ¯Òù’å†R[b-ŽD±-]t —ÿs”ןÔNÞ¤!ëß8åA¨ý{,[wæê2Y(½œäé %þ[| Š…þ»ØF Q1¼}ª¬Ry…Ò=püTZ  ã4ôg|h@ÍE£ôî]ËÜ€0ÒÀe¡šŽ¯‘›T-žEW]³ÞS®9߬¹ÛFM„KÄ$æ£#šì‹—À5òÌüä$ò:‰‹Gï©ïúý¨ôìÐÄ\ÝZÂ(ëûàv—€ì[¹Ü9 ð÷Sé*×ú]úƒØŒ¤¿;]Y„«„= úÙJC¶>æá¹qj@Må&éž\3|Ó˜æm„_fq4šKƒÍQ)€òGÇ ÜjC,MrC£}š Ñ›…e ^êóÌŽýkn×Äî@âlV;T=S eHIN#½›,uÝFó‡õlà[chQnUÉMê:‘Ç}àzcãŸv0€Jû †3hë8q˜lÊP#uî¢%Jm§œÅº$¶ñoVÎöš£z"MÌóK‹5òÙ÷d¾˜/Hz„”ÞJâÝiôh¸n½4„M­÷2¶ª§¢xŒ2Aåô I÷(Xò‘Ã+ûý\œa 7ÿ8#x+ù6‚™-b宩qBôå[‚à€o\j§À³†£‹kЛ3­—TIù+ísè)¦‰düÏtÄø[^‹eŸQ½2_„lÀ< §•…È5nˆ:¼K>´EÆf¶ŽOGЀ! _ëSþFÿí,u×ò a˜³ø(»‘TAÜ¥ñz¦õf µoþ,{h¿˜íìz¸_¼Ò(«4Á6eIwdÚãTV¦Ätí¦b–…¹êµdŒŽX{`U¨–¹}IebcíqàŽG-]°ø§°7$z¶òòf†ák†KšKÁ¼öFT„|7Em0e S‹6xªýHâçc ïO±Î2h?^ï“Ëe €qKøx¸¾=(cÉ. Õ´ø D”ä–p@@M jqï÷|üa®²Ð(¯dc–3*ª¹»¡}Þÿr¶&«ÉúN„·[NÚðT{‰4â?)z+×ñl­ZØZÞR*wä{Çê)é„ÉÏÚÕXúC_–㨌C‰5¤)?X¶7¿Nô=?·©OÆVzž†»n5-ûÀVóX0ë¸s•_D$÷ }`¤¦6£I` -LÑãyÃðP¿í¶añ§Ðù/@õF“Ññ‡jœ¿qÜQ‡|ß ÀX Öññ¯ñê±4°x̺üÕ*%©ÀzúöºÖщšÇQpúÁî³Æ\ê,k¼6R™ ¼'¤¸îèÃw Ya-&ü¦7Pg©J~Û~]RkN*¿Àp8»­ëk¾ú­C_¹,želOã¹»KÝ ,üSNX§BP$Qýìòa±ú'‘-15–ަV™hÖ‚±Äo€ÍÇ¢fK—ö²¿D~ªñØ'¯"vޝ#lʵG{YèýQØ;añ…þ¬4-Ò`@ìµ:r©[ž3Ð`4ëpŽTa ˆE…­²e\ ÉN•6ýñ?!‚IÎ-þ`³°¦P»Yºá Î wmª2°¸;î:Õèö†7kwF¿fÀülîën}ÛˆôsJt*“é‰ß_ÓäæÀXp Wi—÷;pc±XmÉñ’>ÀÙù}]k¡Þs„ë\qˆÈªíPm@¯–•WöŽDbQ¥³y©wHÅ#Kü!݃§ä<¿NóÍã÷æ íØ¦uÞB¡ïÈ›Ôåkwc:yÒ¸WXÝ‘$^³bp(ÙÝKzʆÕâyUëì"D¡žR)—Hi"ª%-˃'(Q©øGx›/÷1V5sv÷ç­å,ÇÅ4~/“ÍY7ü ʿϠɣ‰°šÛÛÖ°–Ä;ÿÕF2 ˜Êri> +Ã\Èêù[鳞A’]4¥“ÃzÀ€«™#ý,Œ«òœÊéoÓ9 d0'õˆÄ†‡A®¦~¤FêÌa0¼À!ºš‰àfaüÛ§7§ÀŒFsÿ¼úôºeN4 ñ“G ÅŠB=¢}ª.· dWvýÌBÞ1\¶<¬p[øÔw‰µ//ˆTß„——¼[¬™p>€Úݪe}›PMj˯kB"¿ÅÑ®/‘øïî!ܧ„ë °sJΫ§.A¼÷õbõÙÕs:2›¾!ˆ!àqW̰IífȬ‡ΟRýÃæ[07†“ê«¥˜ù1¥ *©mõŠZmp¯FñÏh؇éh`µÜ¼Çåm“P­ø!¦%sîdÇ«‘/.¦£5»"¬àMÚÏÑŒœ"¾Mé™m´¹d{¥8P:Žo”DéúFª4Þd?ªÏ¯fHËU€Zôî­)ž TãÄr¹ö+ðõÿ‡]ÂNÓÓó3µݬ+ñÄ"µ`¶›WÌ}òåK”eYàŠXSó8pÆÁjjç´*67ë~B·EyûêÒT$D”Z°Þu‚:¯7ÇÀPºaï4×Õõr{A3Âìà†ƒ>Ŧ·¥XNˆ›•Fs5t°¸Ç»î§3ņoºÑƒ¡ eSŒB¯ßñ¨ïß±|(=øí﹡2Ùxx;öã „×o¿˜1LéÞÛ„{ü± "o‘w_Ñ(î Tš³4J„ÙÙE&P+=t¨H1Íñ–IÚg¯,í“¡L‡'.í+e¤q:P« o•{&{ y¦{ n,{po@ÅøB®p‰#¿{EãÄ~Æ5)ÙñúÓd,Cî:XøÜ;!ú¸†7Ño/2ü%Ý¢Øèl¥€2læI˜ŽÈÎX‡Ðx@òÕéwKv~HWTZ"ÙÕrø•Ï»¯.¢QЬeaÆy৆°(;Ñ 0X.‘H\©³^»ýÐ.èD´Ä¨2j¢pKòž¼ÏeÕ¿{Áël•8…Ôd›ã>¸¬ÏWL—™²®¼~©jF êÅmCêæãê@9Ò²‹»ÿ¦@½¯N¡$ìÏâŒb™»Ͱ›µ·xÒÊ7šÒn|œ×ÍEýÍWÂv‡«ÔäqR/¢í|)Í÷ƒÀ¯Vÿšõ;b‰:XØûñÛWØûûÊ´>g *Ó Þëp±¥HS€ÁCiàŸ0²êÅÇá@5mçh°.ý¾z¤Í^`Dű|˜r aÚOOJ×Ì8’-Ö“¼õÒLhj•þ,tXˆހ ÌÏ›ÌÏ *Û(á×¥Ÿòîð‰é)³½æ?…j‰C—÷W¸Ôß;E: ¸‰Š¶`IŽÃ°ù=??‰'°Êãéøo,þÔ#d‚ Çñk×~ïâèC—¾º}¶¨@SÄK‚%LbÆLQºœ_YUPh?Tâ­i6fü¦âØj ˆB.d"dZ¨ÝÐYù7¬7 GuOÙ'’O¿±úÚrXù¹HcJc²e gO×ñT¦$Ró/¶¸ÇlP_u[Ó3GÆÉмt±v†<Äm?óÇg÷GæžÉ¸YBÖlö9; V¤Œ©Ð&v°(JÚ)ܼ:CWÂ:=ìfÙ¿@Iñ½Â"f!°u3¬Å׈Ê6^©Ç¯ltØ`:¿Íë“•\þBŽÆ¾ÓPº·¥ÈÍJ”HTιò«‡IªÕ@Tâú7&Æ5 aõÐÛUÜ[#)µÝ>6Ä1bqWrX@Î_RUÒ1›H¹Œ‘íÂ×Í™”ŠÕ£²A…@|äÔùHÿ¡­|ÿë(zŸéø¹W%š3Ø*ª’JÚÛE…ï’>A#s®²è´`0'ØìuÈÄ» ï„'ƒ7/jï§›sHåØÂ Gǽ¯Ä—Šþ\X‰N–¤OdUªUÌ$sØ/”›²?÷d5_>¾øå¡AåܪîcZ;© §§R><µ›f Ú³ÿ¸Ìï@kôUßaH-çuM~ûp5Å2ãC7ð²œSã[ wÅ)½( jsàGGö²òwçJ7kwX_u·rb3¯)â„9¦…ôœèy¢ÅŠ\êØC%@l³ÏÂ_"ƒ7Ú3IÌeuØÃÜûbA^ µ„ã&Ñ\p‘ÆúçŽN(‚Î5?£i›~uiÆÃþꇞ«¤~º%ÇQLl™Nh?“ù-ó¢DB=Þìéiz ‰«ß bV©)Í„þ~Ç©w¤ÎØKüYžfʶAZŒgçÓ+ÃB˜èT{†øÙdÙ˵ÈT© ¾ôf V´Vq1«ÉŒÈ¾¢ZšÜCC AÞð®þ&ÏV¹Í¡I{éýÕU¯¾uCžµBp¤"ƒ=SÖÐŰ2Ïñ«ÕÙ<Œ¥C09x‘²;##ëv® K¯OâÈëqÕLˆ=ã(Ž‚n)Äþ£ºêRx‹º|‹˜FEP ùžÙȹ+DÀf0wÞ«3pxí²¬Ãvüq4V§vöðÑEŒ9l­ ]%¡\˜ç§¸Šü8áfÏ6í û>[UC¥2C ­†Sq:”äHg­X„´ƒ“ã³d6¥Ú¥D~ gDg[%q¢kHŒ ‘±zo Š ”ăۙC.d– »E”>ØV;?¨C_V¿˜+%¬S, œ»óÿd`ª¨ë¢: oœ@/AHò„ö›|µ‡„ôMø+ ÁkÝH\«(Ì{ˆS¢ltS1T_A~ëcƒþà6îI¥×-o“LñÓCª»*†È65)5li¦íÌ Sf¦xÿU£dù0Êbr^¨Ý4©öt#-ï«ÞñØ1D$Æ3Ʊ"ö”ª­¿Ôܳ΢LhX]ÅX¶¯ðÎŽö…¼‰ÙÈ ¬íUÇC|ž‚—+ŠHelJà´åÇ?ËØÈI¿ÑïNnªb@=rf‚4Zu͸éÂÉ”$ £ëšæ²Év™"5F;ú…¨á‚þ7k ¤Ya{Ý6‡®««W¢Ê6Ü¿U`áÞ—µ¶¡ÍÛ Ö2£ k“ð'bÂXIÅ«îǵ¿4»¦™x#÷¸>*V˜Á÷~"õôŠCAðk+|ñ$WÈ}!³(“Œ‡Ÿ ¢)h?*Ž/ÿ#Ü–ónÎmkñSrþìš4–Ž"p€wµAU`#NÏ…Ñn@ƒ–Ç"¹¿v±mîmÐE°@ 07D.ébÎzãÏq'ÛeJ SqýwÔ“Jì¯| @Äî¥q´–«BòΞ•Œ£\6ÆÄ–µf”Ç*~Ù×}>Äá8ò mþWøÁAªó]<×pkÔÜ?"­X7éŒü=kÁ©ïGººŸž°q}‚SD°©·ëÜyLvóûÅRqAÇRØ[^¬`Àr¹bú(‚?Ï/ÈݯöÑÀò%i*ïgw~G¸R¢B6‰./dY“¶ïv·ïú¹‚–ÒC«1ùØÐ1» ¸Ø{»Ý›&ò'ç2ðÎ0 Asàa´*ÌÊ:Á~2ó¤ÄÏsañœ´¹oâ8‡Š.á.?!pFU?ÌÑgZ ¡‹ÚÅ L8èÎÞ­O^ÌÊ:2A©]ÝAjÏ‹„\}+„x>]ž*”'T©> 5Uׇ†ò¸€EDay ª×ö=žŸÊÌb‹œnuáÈ:Ò½-±Ás m¢t­#Y²À‰Ùà0Å2~5O±I±qÆöì‚ö•*Á•³–LÃÖ\©(pÙÎM‘†¯·”W%f·ßݼ»Èu C„"FºÉ›|ûŠ(‘åã¯Sþ`óœeީͼ}ÙxýDÔ#V#Üöõ|Œ‚ìš÷Ñ7ÏìÓ±“dÄ:_üG€Þ€³¬\‡<Ûûa”o‹Ì'kþÑŒ’Y]nl"–[2Ú*þ þ?š7œ/,$\ˆ‘h9.Z—îþï¬Y£øŸŽ©Ipjh›‹ëL’Ô9·04Þ(å:©&3:ΠDz#0ÊÜ(MQýˆwVüd3åt?ÈÖ¥ÐC“+wóÊéÊNâ,Z­i}õR¯¶é!N.5/cê;‹ÔÝjJUps Þ…׳Rv‰? uš£–úú¬^cw²/7¡îžÕ»Ó3¬M[úañr'Ý¿·´¶9§cß{ú4­~åÆ -þ$ P¸€œdyŽæÆP6ÊtË©Àg…Du<6›º¾/í uÝ2‹^»­…Ĥéœ4Õ剩Å’—¦ôÚžf8(]3ŸÕgŒ”Õ•QŸ{I`_EêõvD¼%ƒ'ž™±Ÿ-¡x ‡êà°#ŒŽðÂ"žÜ@Âý¿ÇŽÎVq°×²ö¼3O-½wŸËŠÙ¸ p°¹ÖFÏö˜¬2 _³'÷àû¿¶÷ÌNyÝ(.Æ©PP·Û?¯¾j›ÌW¯ÅT±–E4ÝØ%‘ Y›»'’k€2™¿;[Ýî #J­i‚DS¥fÕt)×xÌ•Q¾eï³4ùÛs‘”ÒÞä¸Û @¿Þ&o'Ì Ç-h{«— qKŸŸB5‚ßx¶TÞv h´Ãè7ªüW‹?ý&_vŒ“ØÜþÓ…£czgµÅ}ô/ÓëY¦Â›‚«£Þ yÊêÿm›aª¤ÞÃã–i'FŒÝµ`Y¨8bh=ýûgOÎÒêçLúæÊmG9X“Ϲ¶°?QQÛêhKŒY¢´ÏÎ7áIíÓøª‡«Â"4¦÷=¸KÐO±q<$0Š­Ë³QÐ-±ø?7cÍxýøuN™;Ϙ×ó;ÓÞÂMžò_Âùޤ¼ÐXß{$ÒÔ€øÿXxç7Çî‹$22\aÚiÔ ºØŽTñIµŠ``=êyéÙìbå‰Ùà_ý«ŸàKÿ÷¡í#IÆè™9k8#`Qš ’ÁDDfL3²g65É)û­ËÜ­´‚à1ŸãL'óXUäj„ûo™È€Õ;oј_þp,9;yuõš…SÓýJ‹ãðÍÝ’2ØUÀÈ´H#«Á»U–Õ!Cÿ‘Â__•!ûogÏ¢ý¶L/œýxìðŒ™Ç€`”ôÿ`°»¾AŠ»5¤p—èK&f-¡]&öƹ¶w:E`ŠÓˆ=>µ´ÇoØe Må§ßuÞ—~,÷&…ËJîXxŒ«½u÷ ”á¢Ê)äîZ £Àp.»q ßq&]“0¶ì^ßPHêï CŠuÞf« †K=áÍÍ tK¨V“¢gˆã… Y#9&c©|?ÓÛ¤L„iÏ?µËnµ$oÌ~âyd©›+'ù\–þñºÐ×ýœ.]w‹ò<Ñàa½ô-âÒð? 3tÊiß„t#å)˜íÿ!:IM ’ŽBMÂò5êC& ØgZ¸mÃÆ&Èa„ Œ,”è€h7½UY?A‡»Ž”‰Ý©6óܩзÝ[½‘rìwMƒÚÓ êKÚÑ·¾ëi‡ÌvZšp.èŒ<žXÞ¿ œV;(bríëEÐó.Ò7—ý¿¤Ú°^¾ºÓb®»ö§QQý›t>±©ZM¨½<¦¬¹ ýl:¶Ž.ß…Cb,¹²(Ûu“ÙwôÉFîIHŸý!’ÚËÿ­¬R‰’P‚`aà½ï—Ubzgø“æ~– Å£u1èzZû’ÙÑ5{ŒÒÀ1ßfÓ6 (rë“òƒ•cUφ4|Þ+>Ÿ¼ë=^šö¶ÐÉXp‚È3«W$%½¼qÜ35üWÕÖ…>fïjnÂÙf—o»­wÕ£Á}NVorçËoLR$ãJEî{¡¤Iã'ÿ%ª ¸¤=È®n‚S¨›H ›pr=ŽÀ((ßþxÿbÏêyoÈV¨°M±´ÀÛöÝ–|]ïg:–^ü¹#x*Y‡} 4¾¤9µ–)hil¸KsW`&Åù"òԋйcù"â¾#îOÿ#¿MždôŸ.“ àùÎXäëq€ŸÄ;šÚlç?€öl(74íÖ3æwAM=áÌC/©ûœÐ•>rà䜙ë*x^®ZäøT*Ê©ðø±ÕA÷âûÝ0'"³XLƒ"Áש­›“»‘ˆv|~wÀr®qáA޳±.3¨€¹ˆ.a‰c\‘9z¹L€j®¨ê¯8ÞV¬ZUÜ€ífvbžŽä®:åtüZßðãe¿>JY„âÇåö¬ãk/¨Yöp%@îš|øã€—ù€{äàuø¬veÖF4nViL—ÿL‚üAÜóÁ#cÍ µC¦{ŒØ¥–Ã|kF2‚ã,­þ´Ù‰¯Ï#äM\ÏOªY¸Ÿ®£Ôœ4Öäo}ƒP!×%ò†¨ÖcÕ@Yÿ<Ê1–Ÿ`;HZ)$Çû@S±ŸÁˆT‘.gæ#Ÿ$ â>-Wùn‘ PjÍÝiùMBÈŽ‡/IBdåfG ±­± ›­¨ŒwÁÕDL²’Hëéɹ·O´˜yíã"ØÛ]‰‚R©l¯Ã½(Ì_Qëó@~;4Ë™ %* _–QTí‹À‰ÆãnÁg½*X?>uä)V|ÿ1×Ô?E£ÞÚmUEYIZ •¬‚<íŠ3óª&ê@4È£½‡¦YÚX zUë̪þS u›d|ÿœ l}mçèrÉÅ3aNyw²1ßµ‘Ì?eOVc ( ãÁ©!B ²’Ê]s«Ëã’5ÏÐ!½ð÷œ[ô/Û» øXQ)$_MÎD£”Hvwÿ4QhÂÛÔ“c&ÍK›«…Èùõš'É"«qAŸfQq×ÓN–OJµôh °%ø çCzé€ù-¼ËæÜMõ5–;Æd·Øµâ]ôWª”ú _á§Š©_98o5 ñ(þ³¥ÈòÓ‚:M.!+^Ì@b2ó ,×ë’?T˜ß0yRà{éC7[—!)cG÷h4:äOK>ÕïR‰ˆð6J^H ºq­*Ó3Üô•hØ[u³þü-ÍU¶XÓå䋽€ ìWïð`QsAÿ·QÛˆüן±kú øœ8Ì’ë7êí. Q÷KH™;ïÖÞ£§Ì”ÝzðçƒÉ9_³krñì9rø"SPŽ: ƒFù¦¿ 汎ëé@]-ÈN:Fn·Ä¼ó®ôsäã[R׸ˆŸñe/9>–.¶ЃúÄ„ []#úÀŹuÈh A5¼ì›V2k“@É®ºÞút¶Ø[£•m²ª¼Ù}ú?búÆd€‡ÍU÷ôì—A{‹c}0¥2ËÚDôl%w|²ÊÁLÇ1$7ºA ŒôQn·Ê4Á#Û礦¸'o,Ü­³K{ýroÛmx£ÖHërObÂ(úiÎןÇdyþñ )«ÔL¡“ky_{\8g:2ý¬qŸ¡Õ³Ú"Þ|¦ô`Ô¼û“ØíQå&EÔKY^j€÷ëNY·±A.4.#¡æ£ytËX§+@TŽ÷ÄÒE.6f¯Õò%%ôXÖ¿CÆÈa‹˜mFowÈ4`>íÉ{ ØRñ ¯Á¸ïÐb`8a„g,]‚.h>ºuc•@3~ÃíE(Fª,bN¼Gógxµ˜qÕøPz=—-ÙÙÛ’]¥°>äï­H†Õe.9 3Çê»zlÏ#Äé§ <ý pùÖÆ“x”ö¥°á¶^ŒÂ»ëöv}[¢3”§±ªB 5 ûø|ï_JY"x¦`ùÇ€ ÐCºáüIÕDˆûLÄžp³—6M~V,6ù+‰l†å68*5Öœ¡·×š~ËTyõQ 8‚V¼¦,/b±÷MÛù;Þëhó+yäì>1¥¹÷õ¥ñ©ÐF‘ñy’v§fäÒrìÊuœ‚r¨vÕeKEFZ¥NžÑ¡×V Î¯R $/HqxÎ]!áSÚ•{YaŠ4L°rOMö¬½Ó´}^¯ch™Ú‰O›/âÌcL#Ä¿1ZÑÆ%6ËÃ5çRs’NTvû’©½ÿÄN¬6óà³·¢-ÓšôdH6S;‰ÆcÌÞ®lÇN•9 CÏŪHÈ€1È-‚d0µTÑ)Pµ[:üh/~Ì~‚žë5Á,¦›$ˆÆ3#4iæŸWïu†ð¸·4Mè>ÜT0_¨¦iÖ40Ĥñûx™D(&ñ“ãªá­Ù¢- Ä’ˆZâ^ñÞùÊí"ù}2Âøìãü¼Ê–š÷¨&•&XSa ‰Ò‡ãDÛÍZå>4Ò*WV§6àÜ: \„ÈŸÔ¯ßl^N'Ä¢Y]2—KM¢Kx1Õ±0¯û‹=ðóÑ‘ôÿ7Šxç:h”² PâeÌú.Õª V^RäQõ6œƒÍÒ&/ûÂÍ~w‚ÇR„ê´âBÐŒ>rgˆ ©)Xדߩmć$&ù¿oeË]œÐ‰¿æ¸”é´¦¯ùCuŽ5D4b´‚^Ëc8$"f»ãÏŒ¿’Ö­èt†ºÛtÀâÅG¥uË€G^| Û”TjzŽ2:Æ.j:ë'Ïã\Ñ:šÇïï®(õÓwÎË(‚ž2¶Ï ÜÖ˜ò_>ýßà(ÉFn1Œõ(›Dsê¥9ü²¡’š¦ 3‚xݯ¬sºÍì´- à«B;÷YIv—ºíÎQðL”TÑ ž–´#pÒ¾‰ªS±@¯„öµM™ŒÇ­#¤h¸âüóÃ뻊EÉ[‰œùß&ŽÆa´`qIž­ÏÊ|¼›yÖ¾g«.÷H«©E|sŽPm¢Ô¾ÍBçÚP–p®x]]¸Ê›pS4¹tŸÑE?K§dë?Ž–¿˜ß†MÈC7 ´£‘ýô9ä„« †=ÕÛ¡K ÿ° sˆÁýsBdoP3I;àT›èùØÛh,íôÂÒ”*Ûš 3 KèA(o£Á´úŠÆÛÝà€0=_oO‹"¯XZ¥p¨ù%§ë«?ÃO™]y…ùJ$ãÏÞ+e×îrm ”Wó¿)¥µCÕݳ3qlMÄ즛ëýZæCòªQ)$>ÞSLd¡<¡‰ûßLIføòð1ÃFåDÃîX ý¹½\¥‰Ê`åÒþAJµ¯µü¢ŠBØN@ÂíÂ'Bâås•ê÷—xa+ÕÍZÁHƒÑV?Ì tûäGL.P0r°µÑw©ËSV`×í|ý\uJºâ†Ë‹Ÿ°ª$Y¶_x]ú÷ ÄÃP1¶„TN¦í`n;Ç·Úü]g…ÙÙlÀ•¾OG•5“+ŠoâÉãÈß>Çpç†z ÿg_ª*”LN:€·69VûUÖQŒ–ná.ÌnDçÞGȲ ãnJÏÃ4,¹F¾^„âKŸqÁ3˜F"¹s•|Ä:SÄ×ünžL_xŒ:¦–,Q`þV!‡Xâz´õmàw¢ÍìÃÁò%Ú¦>Ð{%z_E/ÏÓ³[ûÚ%p—+Ù ˜Î‹Á ö. ÝMÇ`­ß<úêB½‡àµµë‰X‰J½Ì*'ÙÂzg¼)ØÁ{Üì ºVC1~@´~¢j(TÓÓÑÔÿO÷ÁÓð¹!F¤ÿ©¥-$ÜÙª“ùD}VŸ³Ï):Ý ¬iª=B NÖ#d·\H,ºÍ¤•XПà (0ð¢¬ðW–Óeó#ºH–áOv,þµÜÛcÑß'wº´·pv×·åpºHª˜G6v é _“@ûû;]Ä.ðk}r•rؘG7€fª‘×QŒ/Cm ÑaÅvó-€%%¯Ÿ{¹ŠE¤· bTW£¸2‹Èyl‡Q“Ù±€¤¥ëÚm CÿÜu=çÃÔvl+à©4Þæ&[è?Hœï`RUsï0*]/ e7]ž½W9Ÿ5NõÆýžÕ`~:Ñâþ8 €ÇÎÔº»%ù©Ö\ö¸Ò{]©a< žÃáªnØòlÛÂÁ¾É¶ØcÜÐ7¨‘$­&rL.mo %Y­’­Óý-SEÿ6xû(öYÂ¾Ç vŠ3ÃMØFe[§cˆìS·CÝèžàÙÒôÜ ©n·,~Bu½®òCߊÐd¬ù2÷Ž&øç1´z¸„ž‹ _Žûø=4¨ rRP½QÖ_ùL¿þê»6m¨*òDqUyÍ AVÍ7åâuú„ÍõêII™Ág+ë³=€¯‘C ]1[Ã]·uxéÇÜ]ÜÊÜeÌ|HKö ;$>QÛôiÊúÎô¹šå)>éRC|“v°D#ü«q|nÉ1k=—µÌ.AÍúõ ÍÃ`Õ4²8Oާ™ ëß tn.G!œkÁS¼4]+Ó«Äq3Dh¹„¸||þN¢úÍÜ$OËv™QÁ¾Kñx‘Àpâ]°çÇ_Wà¼üFCn³ø]Ï.–Í`Þ7êâ4aà„|eøøhÌm\h‹ ËËOª¤ë`—•(1}—¦A5£®XZÐN”EŠ"ç¡ù ÎôSVfá7ksü‡¯\ùt—š'„{ßk¨DjÍFA½£œ’‹X%®çÚ´5·ù¡‡¹mʆuùqª »ˆpƒZj„ÈBã^BËY•×860ÍoJ’A¢¥gV]pj3/º0ÒÌVÒvŒbÆ–o •J©L¹ ´s"¶íÚG7çNMH³âS:¬<À«¥R¤"Âê+d…¹Áås}P³,Âêè+Ï?C™"î¼ëÕÄD&ëöÿ†Ùƒd¼Ú©§N¸-ÿó ¬WZì‰DÆ­Öv b2~=ü®#·ãƒ!­˜h«ò;`š$BŽîýµœÈ6*f[~r’¼çt=ôìäʃz :7”º+ Ö ^¾ gÒ˜x¢5h3ç2|{¨GUr~š?UÛÕøãÔà i3š½š2ýû½éaT+Š 9«êpiKc4Ø¢6b÷¥= OYKàýe‰wÝTíNª ‹Yž LÞ^àÄGû7¦‹*GáøL¬é7ç-A}­Å¼’z“Þå?·¿Á–¾OAèi·ë gJqI3¾‹5T;¯rï䱎qÑJ¼’üµÅŽÝsiÆf«¡Züª–|Z.dÑ~Õ—žuÌŽ'Ä @€ü£§DãÉ>%Rc‹ï{5±#ÈÓYÙn!ánÛk?«Ú/+f³g7-5_$h¡¼GÖë°Ó)“™˜k°“¾]}Oèw;Á›ÝSòÒ*$ÞìÔCŸw09÷ª[ƒXÏÕ„ ¤û#Ž–iĩۄË?ó`Üë ¯Ä¬Ãæ*Üï ï€ÞÇ!ýF¸¸iî[Hk£›dJ­Æ£¾¯‚o?• ²éàá šw˜f…þ¨÷d!Ïs­Ø€ušYß‹x3¤¦EáûõÉez_Ñco³ãtQ 7sËvUm~04ƒŒ6C1ƒA¾1åm$íÙÁЊwÊø1»ÞñóóKó(æ¹m:¬ØÖѧA¹îv•YR´³e%VåÈp="dˆv£ºë©ëG§*‚4š³N´bá\‹Ëâý„´ª=Â40ø.­–ËŠÌ þ…Rk:^;ßÿÁ¤ÀïÎ’å©VÔ4 t8è…{p勨ª¢š¬®3©?Š]¶< ¿¿ ô|[ÀÕd6a\Ç#s-«K`$íý›GpUɩ濜]±™›M}äü´¿09®Büž|x’ë¡HÁ §c| ØtL:©¿Íh´B¦8är«t›sÊ$†íG^Š_¹ 'º–íÚÒ›xUÁå6ƒgÌÿC@¢n9ÄS'%ºà­ìù¬å_û-Q‰~í¼í.½|Lcì3¤x#»}.u±»¼#e{2b ÖÅîǦjä‘ñE¾îØýé)0žÅ¸<ï-:„=jæÊÇ-+•øu¬$ÄÜÙÙÕ»aW€¬LóX Ù»½Ù‚ülŒANáP„‡¢‡ßô!”D'Œî…o_*ÐÅ窶¸=<pšàiH!'–;#"gæïlÑÇQº„mj¸ßIµ L×pR{v "ÿ'ñÕɸÓpÈ(ðÕc¡ø~eiTT0ú\ðÔ] n£p½ „ÎO{¢LV;Sb cQ‹kìípä¨97~MžTJ¿y¤mž÷þô&ÿ]?XÏ.Ùí «5Ãäç†4Jz©Ä*3_tuHÉA ŽmUãÖÆºÂå)§ó¹«0çÀKY¤gòÕÐ4Üoý&`‘[Í DÜ›€ÁÙ`§Òƒe´z cœ oÚœ‘©Âiì1²|µ¶Rª1 Öi”l& Ë9š˜Xµc/Ö(!šFËðra™ÎÿÔö¡ ÁÚˆÕÂr‘ƒ­*yì^ËWÚ;‘É YwÄ¿"ol¯¬áW S£¸f{X\ö€6o€¾û‡²“æAÄësMË!YðlßZSšë*¤v)_ 0C±€\—ž,õrDA-¶PkpŒ”h‹ÙÄ t^Àæ+I,PIü©Ä÷n²¢&= ²£¾ð§A ùÂ/pZ|ÏðXµù8[tKÜ´¸<5ŸҋÙeK¾ò™YA¢ª™_]¶—Ž™é­ˆº—⋸è>P§õMw¥ÓkçͺTÊË£ë²=Ì’1‹+Ç=¥tß7iÖãWÄ2ȱcß•µ:¾ treÊîöÞI³UÏd5·ÔÖÕñ5)ÓkÇtÓ¬5\Íam.‚(ÛCé…?.Ì\èÑmëBÄ(C¢âyo4:€îC”YVêݘóîLàt'v ˜™g×4`£€rÛÎó™#kêgø¹bc;ø3ý €+o'G"ëÞÈø±ß — 0'zíVuRYʳ– V ‚dÂánöø[%cÒ”­_‹Ð  Hü¥f7<µIíœÚvW×[u}‡™€áý|~jÿ$ NQ¤äU}²1ÞQºŠŸZÔb*’òÏΊËûVÔŒ½6Ø"ÿ}¸LD”b²¥$f$"¸báî,5Y«kMfKG? fbñu"|»<+.æ1"ÙwÄÁÄ^d¾ÁËZùPL2æÑý0ô8àD>PD7KóS¦š8YòWòKO IªL{:‹½‚,³ß¶ƒá‹°àYa…ŽÅÜø¿éÓ ´1˜(²×Šªwœóšˆ<—)Дÿ tÁOöo’´j¹Õ† ªð8"6äÆß8†”XÈà'4öšf”¶»Ëàeg ‚áx/Áê$ñ{OÉsÇ%𕻀`t'” ìdªL\ŸÌ6÷ÛPr2—èJs—±¤Ä’vŸN‹ Kí#l‡ñJOÞ‘B¾f¶®Ù ykúx,„>iþì-F _ (íbkósŽÚ.wv E`­p¬Õ`ícz´Xìµ·…6b~©Ô-ÎÕpҫô1ƾT^ ÁkM4­™æó”x°>˜Ÿt”.N“/¥æù£ómZAóríj¤Âb þo4¸Ž*:ÐôÓ- ]ßÙ.šw|â±§6›}¾Ã” p©õÇUî[ºx&ëaSëÇÄJl,£’¤ŸØ Rþ3[Ïžk‘ü)O®_kÇuƒÃÀ¾T´¨(FÍw?ÕŒµç'pwÒÉzI SçÇð†¡û×hâ£_¨@;Îjüé ¯2… å¶ö»¶¸ 1mJ@´þ•F]V`‰8P±x—äF}ŒéCàù…q›ð”þ¤7?»ç­Øy¢OÓˈN{'€ë KkÜöóöï&XV¶ð®=š¤XŒ3nÃhGÓ•|ª"A‰Â/_œ8Èèÿä¥aI¡Ž¸æä}ü˜D¡éÙ'Êå bÌÉa_ 97øÁã·P¦ˆr’{ÿÄÔú<È¥¾œ3Ƀ֜?ç—‰Ù…Bž!, ±¶jÏ4 ðˆï/,ÁÜþã>ÜX »^ï3—BLQ‚—øt?ÀíOØO¤û!ÝVÉn íÑ9û$²»hmzS«f€:¿H— ]=7÷ÈU nŠö-ãŒÑ‚«n‚Ÿw Dè·à}ò'š‡³^åIsõ` tÏŸÛÑz̦Aaz÷tUh4ªüÜÓ,ÌõfÎkÚSŽ¥{[ò1H‚ÇÚ“BjÂôÊÃ@Ê@c_gfaλt- äiÑJÛ°жÿgcYוâ…sFæb¯xíëê|ká†¤Ž¥Ëž‡0}]Êb^²+eåC¬00çÊÛÝH½¤3^(K/Ŭ* ÛîŽÞ† €FÙþÃÈÅoï6·ê9ºMYJ¨ë‹ÂX˜1ñÆðû‚ap G™ˆr´˜ñß Eåø#QÒJ¹´Ä78(ƒËM0")º;ФyNpSþ•Ö½küßml’ú¥ZS~ÔŠn=†õ@ÈéYQp†:>€?x ä…‰§ÚŽ@x9̱̿8’FÎÊ¿­sF8ÙšÒ€¯ÔuM…x›Ššxºeè©ÆáØ‘oÅ Òß. O)|:$°£™§N:i{ÒuÐó‹H‘˜@¥êª‚Xü»\\":ä‹–z‡—ÎÛ )TîkÏÕ#œ«´Á±Wu VâŽ×Ý/ϼ ϱ„á•…fséo³•Ý0 ÿ¸ûu÷à¨9éKRóà ’ìÖßEH³ û3ý{•’C™„Ô+¾a œÎAú­.4ãyâr} ­Ô­ò-Mâ/Æ-&±w‘H±™‰†È¦×ô+“—¶ }WøËW¬%<}rE9ûoÊE2bzñ¼-ÙJFÑRärs$~F¦f…±"´V„­d®´£Ý0~³Y\=\'!ûÜÊ^ 4‡LáT†òCwGÉ4Çõ3µtPí²bZ ãÙ®øYPÛÃ_#ð†NLblÝ>Æódè<‰ît+šŸo_“8Øo¶O+T{ÿ†*¡¬ymqš AÓ„ì¶ø•ä÷c]¿ÍS§•€žä7m>]æíB BËõÉy~ÕU¤B`sĦc…\,ÞaâUäEÀWžÅ ?‡‡hõ§7Ep‡¹Xál£3‰œ2IÙ#åe~¸³[ÁÎŒ©ÞåU›T·ïåŸ3g¨¢²áå¶Ìíá4 S®JÝ«ŽªÏ«X«ÚÞ©ôÓÙñnZW•óK¸rªy6uÚ ×sf|g0 ³„ì\x·1ûÀYm·žï[ب]B›ÿ‚ 5øÔ¡F"öò_º….¯‘—tÐu†p?ãeÖHãf pE—þÐÚˆbvGJà]â¤yLÙÃè©ËrO"mìªLJZPÝ%_Á¸ŠQDæ Cä§j“¡EÜK‘†ÎÚªÞœ:Lï„sQ•ÌÐÒU0{$x»…ÈåŽÖðg¶ÿÁ„}=¯÷Iˆ¿¸DÈÙ/’—¹Bº=™"e­† ½L©ždƆ°üdÚ£;¶ÆÜd 9p”õ¾ö¸çž¨ëàv¿’ƒ¤Õü(Èt©žT p:af Ž_ØCfx"Ãw¨œ%µLª0~¯ í&-Üþ@h?#¸ c[1DÃHà]!¹Ô1…î¬HË_õNß°³Ÿ(²íš©˜R…ŽoÐå»X ¨ljëfÙÝ©tm¤ÆH[”â‹—Úo«¬-j­¦b¸mÕz$è\2ŠÂñ‹vˆAA‰«gÒIP:‚°ÇîŠðd®Ê©Ù„ûÇ„Á¬ž«­{0ñ¥0€f92Ϭ#Ô6È™óh"…JÐã¬$÷å ‚C趇6j¤5Øu@â‹“èù”ñú¥fÈH6IXñ³“¶_”¤ý:¿˜<Á>7ŠÖœ…¼d’!Äš~Dàfu~,ÿ.mŽÔSã­†‘ãÿ‹˜ P©{^ §ù¥BÕ†‘}ä.…Æ`Šˆjá\¥[ +ƒÃ"BjáêÁ´û4Ll§NOb6H¡Ác`I[ìmDg1­€˜uYñÿ6JÝj±^:®†UX† =ä*r.,òv9d¸æ62èí;M-Îa¥c½3gsqÄE7B-í.‹%¶ë¢õRþRr­x !Ö%ÏØWë pL¾!!4’¤9ëcpDW^\%ß»^êxÃ3%]n6DDoæO£†íwâyJ?¦e {tNb-0 µ‰ÿªip{/‰Áà!oÖ>T :Û ?8ïÌÌ¿\ÓsY`unr¡7ÙÍ »$c£c/¼ž«P)™Â¹\²Df@“·æaâC€ÞEu(Ë«E¿Ü¥oáMMZ£ w:ñï°,!¡'â™PW‹#î+{˜R:s’Œ2)‚s AáG­©ÁK°í #Îê9fH¦yó*îYÊ3«ëÕŠÒÆëó ¢I‹ÊWè]mA•2<Þ* Mƒ¿X;2àë?-4Á5µÂø£Qw`3Ê4 mŒ›†œ8Õˆc4s‚Sš«œï ;Ñh¼ÏÉOÙïsŒ@Ìç1.ÍÊÔWÑîEIRr4? ïŽ^M\“ä ÎÝò cE˜FŸïÁÖb%V2¶FP÷{|˜DuàN¡;&ù0…¹†Xäö».ÒÑB5R@9g‰ T F Ý ‚ç„Áª½lŒð߯u“D°‹å®ŠˆòQ¤M^A³›¥Èùˆû¡‹…ݰ ”¸ì –ÿTF ;Œƒ«Ô^.å®JmWôkù†´¯Ê/Æí.¹­ùäÞ>8þVËôúü‹ö”xU>É:l½9%g7䢇€h!¬ ýmx’ N2ŒÝݪ’ÓƒHXàésV¸žIÃ9òÕ% ¹ï WÜÄ#”I$P“ǨɤpŽÇï§xª›kT^ÙÞ¥£=šÖs—Œƒ!®&Ý/d‚1 /üª[" Õ²‰ÓÔAFrá¥éÐÿL¡P fÃí’T3–2'àU‰ÐóÌÅ\ÿ-Bq0¯sz1¼@ŠZþ%äëçKê½PÒhCušÕ“)yÞSáËìôá;–Ö8wEý <‡9}¶Â°Õn×q@UH‡û$TÎg´Yž¿åüN2¶ ­ päÀ&‚q^~5s誦{#–Ek'´Ôy-òGܧÉcw+DÍ?ÈZ@_f¡x’qddãÎÝæ­}YB¸‘Gn´¶§KAë«â®= RóÜû/º3*NÁÝž$cR'QžeÖn$íÐÓ¶7Úná8C†c2fÕzákfsP=ܵ§ùG;©|}ŒV¾Ñ™Áª¥mÆÅл­!f1×O¦×A½s"ü½âRÒ&‚m§E7ªD‰"få­p—&¢rø$æ­Íáxú5°Xä4èßä msN’Œß1¹ß›U»1õ­n ÞgÒ0KìÊ6¯ö–®™Rס½Ó¥%ëõ".õÑžÊNëé1A{ªÆ¸Q,w­¨þê–´‰è4Îí€?ˆ`DbË_œuùÙ@ã7qƒ€Œå¬'Š "²„&ÿä|kuèdbuXŒåmäáÂÃü3Ò±xÁíçFuæâL,’…_Áöºh¸ÑEÀ Ê¹Ò‹Ø(CæO!AŒ´¸íÛäðut,øX8s ÕôÝ=åÝ57Åe¾T¤‡( ê—°u†ok{ðŒ¤ÐfY–}iüƒ¬M3 ~_)}ÏÒ.ãÿ ˜¿q)lí´ŠB‚-r™ žr`@ô¶xÌèƒb'rë!1QôeªdNO¹";ö=ª¥ÄÞ£ºçÜ"¯£¥3^Íê`êÔOv)g÷¾ ÙÎ‘Ì ˆI*,1$ d‚KN­9ƒW]”×£<—û뽇urµdiú*ìÍþ)Ò<šŒ]TÚ–UV±- ÒðÛ3>ƒ}ÛííªÏcVNødq%|˜¥h0žÖi¤JŒ}¶š <„y\îa±¨Ç7W6iî˜S›d·/‹R%‹£¥ä6Näœ@2æãÿ*1|šÖ½ ó8ÕšÞ5­a¹]•´±ºì7Üv°X|DYÃá yHýJ?ÒO#úƒÓ°lé;¨Aì„F¸…“òZyôÜ/¦[ºúÇ+­)†º$¸%J6f…+’2!L‹ï$þðy×Ìßðx¤™jMGôfd…È<3@ƒ°]#l;ê@€àÆUßíåŽJ±1<θJ£¹ªrÒ1òûsÇb)QOÕ×MUkG jŠ-Ðᙦi߉ýŒì-öŒ}(ïí¹é¦›Ó“š4à;PÔØS鯧~pv7ˆa3[5 ä›CÊlÃz0!û 7<_cpÚ<¯7ŽuµEÌÕXæÑî±O Ùz-/ÙQ¾Í:u¥€±99˜%UI—ixÎjÖ{ÌÉ@‘}êx£¶ÛçŠ b•©c=*|]c\^ÜDryúm Dþ\mì QNÓõZéèªLdöw¾Ñ‰; D¯D¯TNÖkPó¥§‚É"L–ŸºÝK•†ƒ‘T†~Zí!fÉMUŸ·€y楈+Q…ÓBÔÞp¿:½¯o‚ ¡¬I. `k¾Ý`&ŒXå”Ëx`§2ñ{á7G˜Å9ÑKs!ŠËÏóµÖ’ã[”!ûZèüÃÝòUý¯®šÕ®+d)V¤½ïo¹ñ¼ê~‹çA­1½Ã¡ µõõðs ã4_`àEcDƒ˜¯Ìi”/¿û!L:M'ºÐXÌâ2ŒàãšIü<ánœ‘Æ´Œ¬Ðx°ÁXÁöÓê/ ÛÎPš`´Ès/ä¸""ùæÜœT%ƒÄíÊŸ,Z{‚ºrtúa¦q®1ÁÞ“ jo x~XÄÍ“’®ñš…Wí³“ñ> °OÕÅ:˜ûÙÜ<ÖœÛiÄÈ8 ÁëmZGyžà•V$÷Íö¯Xó…a;Œ’kz¼æ«ŸC?ì¤Wsð;îjÊê:,2žøn9Å5£«’F-Á»íúEˆk‡ÍÌ—Qsh^¾¬hÅÞ·ü é¡&e|ÝŠ?èI’ÉœõÈÈaë[ŒÒ!„³Qš’Ó$HŠà«ü7Ž—R#rÚûy@V»|ͦ¤ª¨öŠ<§„¹8•ÛG ¶&ªÄå¿úé6 ‚T±Y2HÐ €µö}º½éÝgé•Ûr¦ÜR3à à eaèrŽÒvu^Yâ¨y ª¬Eæ-;>'Æ¥gZ$W‚…1Š+60âq4bÇCÄ$±M RÅpSú¸Íj÷S?dSÕÏ£¬kÁ+WîÞøâ; ™‡íJ“…×⇠nÒø>uÙI©ä¤‹ý?+©êÀv ~ûx”•¬ ¢´ Ão ܰ\þµwp;©Xh±@¸W ïÂñê3ÙÚ<ûk/ø’Œ2Õp äÄ?0-îÙØì”ºMöß/ˆ€Gfš4ÐËÞð ]ÄØ?¡¬.Άâ±z†éˆQ`oÑTŒ?ÕëùõÛ_–KÇaŠ­-îš®› $ àÿY:rœðó«HhöKœKʽJðdétQH¿hŒp†çÆBçë-‹èWC €œ3u9öTO)9Q—*sÅ›¯2Õ‘÷}I£7vŒ”—Ö“Â{z䩼 d Ýž;pá°`ÂØa9ïh¹l?`eµ/úQ ó3å‚D!1®Ï}VZÛê/zßø)Š%Úóy—Ó.ªÕ~÷è§%_1•þI&…–ç>0„¯÷.4’ÐyV—R±j9/ÒyàA+xä%·(жiðÙyRе—Š'ßÉÿi®ó®Œ5¤»iJp&l²úÑbÇ9$8Œ44ðÕ?ã%ÆHR©õ•xl_.JµÐCÕw*À/ý¿ ¸¨–m¾3¸®[!ŽNø”°FÙ Û‡^µ»t(ˆõ`|.S³ÍÁÄüΣ‘¬}uuJsž7Xv¤Ô.ŒŽÊÄüä"wgƒáëÁ‹ä^Œ¼"ö,Ê ¿¢¹ëþ, ¯îˆˆõaco0·)òµ²ð°ÿ7N^u¤Ô»ý,&ºåK"c<5 Ì…š0Vƒ¸Tð)-ðÍ©“«BÔÕ¤Ûþþªj|Y–µÒT±Äó ”¨VËJ~„ ‡#óD‘-)dUÔÜŽ€Æ?x®Û)ÕpÀAk-›t•È$R{̦FuG›EG/FµÄj>ÛyDyµkN¨`×…‚½™¢gWÝöpùu)í˜à†[˜†æÞË }ûsDÊ)¸X2Ï! i¼ÏöŸýs>¦@Ú"Û»™mËõlvm Š¥–1FŸÈ^&¢Ø>`6;9.n_ C ÆÊ¬ûtU99ŸÊIï»{c×VHBT©r£ª ¹”@èúìøØ¤üÅòZ… _øG½s"Á:n÷VEà…;eCÂg©ëQRfÇ‹˜ô"ëÎÇTQ™ÐÛïÍ=êe?æõð*‹÷NbÔÌ¥9œÁf\H%Ç—!i¦‹š^mœ0I]•ˆí5LÍ3Àôµ¿Vñä8OR›!•Aææí†ý••j–·&QbNØÆ‘ùÖ/¯ÓNëjˆoŸ1üçùx®½íp?—TºÑŸ‹q5¥Öß›Çwï=CèÎáÀI…‚ûòàWŽ}Gw$o»óÞ—ÃŒ$-1UVž|Á,9éJå[z‹$ž »|N²ÄFJ«ëÓàLè´–¡A—~üïî°¯D1P5ÝI¡“Þ '-OÕ×.‰¸–¯™ »Xkc|Åò2²¦ÍEd4if¡êA¬Žc%¹Ñfý†"»—8}Ïó‹ø*–­Ô·J@âVìo’à©wÍH'LÕ‹öªf é30Ó‘h±zÕéñ– ¥g½†×‚gY<@%ð-gT\ú••†jMa¦’î÷‚6À@+\Atþ—utŽ9VJh‚’çŠà:(š>WA´™Úyì—nÒÒ˜¦Ò¼àÜÞOY×üY|ãgLÄNk%öîBvq)¤à“Ç\Q¸zÉN^Q÷ |QŠåq­¿N)L² Q.ü´þ&Ôm ø'ˆÑ „ >…݃÷† ‰x¶bv$¶Tó°)ƒªcî½ìt(é]ó§Ô»óJzv㪠Âk–ïËT ‚ÙÓ‘¾¨¥=ªìpl%Ð"ÜïcHãP×_Ýl{Ÿ[¾Ñ·ûí4:†b!êi€f“-¨wZ.Þ æž¦G4‡ý›.}¸?Ae†¯áöyÁmWÒÂxi‹¾ÿÊ-ýï]¹oY•T]³¹SY„„Èjì‘¶êV,LKÔaËeî0ukÄZ@I ìàxpS–¹kÒB/uE’Hï)É6ŠƒU«䮦{ô-ÂM«yb§W2G ìÅ㹇µ½ÆîÅšÕôäñ?¶Ô‡oMJh‹K}ba~Zúc–¤Šè~ó~Ââéxe zÔhu»!îHnÛ•’ø¦…€Nf˜ÖúÁjö†}»/ðbŽõ»À[„’gáví›”¿Ø+¿Ÿ?È×*Ø‚oUîy´ÀŸ_”pÍ~Q²»ÿ¶â‡ÓážM(Ür¸Ôš}ýyX;£Ï_4ª¬EÙ8ÊÜœd”¥‡¢"ÞLv†ÆÀö¼HòÛ vå¬/;Ú?¥ß|Ÿ=îÖîçÚ\ÙXÆšQ©x`•e4£éYE­}.Ë>О‹­3·Ý BCF)wÄ­Ú¯ã‚:»¢ïÄéÛ¥a]’”ýÙý¨ÕµSdö ¿èÔõov"K¯f?Üu3Oí­~ª9F­zCB<}ZŠ{´¾]Îøòhd4WæÖ£xë#"]M-G|ƒQ*×Ë$´.l—àÔG†;a“"”ë8·GZñ§7}œ¯P›Ì¤M· €BÐÉùãc<îŽñ‰oeê9TÙw¤ý¦ÎÆn=ŸN°wÕ´‰AŠÍUÇq§ŠÙwÂ0'âÍ_Jùœ÷ïþòô`{,*D¦ª–¦åœrå{Í름آE½4óG&«–â+†¦qùæß¶ùø`ÛõXI$ƒÇç$yÓ{µÈŒÑüRL°.°÷Ú•%ê³Ge7õ“ÊÒ'9“‹ŽÃ`ì`eZŠÆžw±ýkAm ø£´nãÄ-ü@Õá÷ÃX™¡¾_X£ì~ñÉB‰D 4B³*ƒ¿²d>Üv|ÝtªªµáW0v̺|OÉkt«î ){ª‡jD.é®Òbä°­2säØ¤Äš”°ðZ=ÓÕ`è½ñN4™ #ÜÙBJ‡É)å K#óC‹i™,â­¥×a2Øc„¬!Ž1›sõ$EûJÎãc=ÝZŠ‚8>”~˜3ìQjôeV$…¹ûÙy'#ý0KÁÃ…Oh¦Yù®Âg†ÃøÉZ²±#ZùsMÛ‰ÞÉN%×w?9aßÂi®`¾-Çý„Þ/ áºb¸™ ]^{è  sšáê6ÐMzYJdz±¯°,ørÃ>Ž4„ÕÈ4Æ@Ø3ÞâØ:ä(½“ôM¡%Ïã{:i¾ ô«±’‡ìŸ 4EPÞÊÀ– ÅÚÓñûJÇ.5òúˆ*«šñ…Ñc¼‚¿l½Ÿ{ÎÄJåòk e0âu7LcÛÔzÈUôN—Þ‚'c—p¥ˆCk{2ªƒ¸æÕç ʧ\$I8»` ³Òî¸K\Ð)¹HvlhBýûljÄ-´ºø¼Àcæ> l”Ô½=¯v: §¥y‰”<´Û!>øBj7mº¹f6*#“§"ÇÂFoJè©})=çêòm,쌡?f”‡O[*1|¾Èc×Á¸ùˆ¿à2±V¿µG ªÄÑ ý ^oZH‚•“½kH%J&! ~eëV^ÿ“ÔQâK©kÉWÁ³#¿CUðã¡«º»Î,|8žÉ‘g»ö°cĨ, Jj‰ùt:4rwó¸óÀ×5G%ÒÌ!¯² ý°S’†û ÁÁ5#,U˜za4-\ÁüÆ Ÿv­ ÏÍŒuÉÿ0èMðÙ–µÈì̽ýU()c©ÒwÜ o®TzKÅ©õ¸ÓZ^jxzKÂu©Ó< JWèŠ~¬€Tœfo«truOïë©›‰Ï YLª‚âaB n04Ä©ƒrűÁ§vá¶Ü„Õ£Š8í|‡yWW•[Rþtf@¬7Ïtq·&jm?^·…6kÀŒº–ÿ£8ÅoÞÕ?þåпXZC$î·~ÜõRÔ- y>ø09% ž#z³ŠæÆôBMþFŸ¹-”|-IñÔ§0½ßÖÿÙ ¾]g¿±ݬø‹Ü ½ovýqrF„¬%ÓKv£ñ!ÆÞ‹àJ¹Zð„Ÿ´ÁÐÂJøtr¶MÑÅ¡w×B6J÷:¸;ÖÊæÍÞúž¶0¾s]Ë76OàDF‚ü`@¡Ea¦;iÿQ5‹l¢qYf.Q«Eûëtòœ.:"Bq¦`¢®Ò׺ÏÏÑþëD¢ÅßðÜ$ÔǶëêãwMÎ’Æð û§û‡Bå÷&FãµÐ\äê‹í±¹¿Ñ½ƒá#løŒä–Ͷ¢c.ïƒFй›×âs?V†k{¬}xH?¯£}"ÞueßÓ¬Ô€ÚϼÁKªëß߯•„ØAÀ+ÉÇ­(sëÌW?¦´âZ~óFFFŃëÀzl;ž»ÀJŠ~t³5•é¥::WÐuøÕöòQÛMùŠÿŽìý:H¯"G‹w‘f9~G%`²0ëHEÔžeùþrˆ­>*HÛØàŽ„Cýužƒr7O~ájaüd‚c8P¥µTI8¢£ Îqì.•?Îý›Dò}B·Í•ËWÆ Cg±x”¨ØwiÍ8£-ÊwŒ´÷'8w<àÄJãÖ5ØwèÜšú“ÚÉJWM-Í»N2;:ÎÚûÀ*ÃúµÉb^V:èh(ð‡ú,ôݺõä£ÇÉÎ%¯ýy·üH‰¨dùáUi¦Ò¥Í}þûaøNÙÆòkÕæí/&PsÏF‰åwŒ´²®7³±jK–и>Ç©ÿÄ #ó\y'au}â1»M\$xC{hùæD:ç$‰Åª%;´cûŠ*«ËŸEIxœ4ó ^êßXÙ0½QȨ\mÞm_îX{ƒ~_ÆC—¸$iÙ†‚)wü1%· R(ü¬a’–K#ØÃ2Q¸úgæûŸoS‹á!h8Rмë ûM0¾,+4ÜEIMàÛþ–4 ¨Q ƒmºw‚ŽJ™ Ô!Ÿw»n…í±çk*ý?Í BPåî‰;¡¤4LZÂBÅ'9æå¤SŒT„MRF‡ÁO¿™ä‰Ï¤×=öîb$Œ^ñšhlÇÕœ°$P£‘ŸRùˈUë4K´7 iTêÌ¥)ÆieÔ‚o×HÝVHôìkã uæäPˆh!˧㟑GLšö× + 휄K‡Þ]|Õ•*°Ÿ{2+ºÊ)úǬ*‘´>?Ý €–ò¯qU‹ƒgg½ÙŽñã‘?··_Å$_‡Äkoýï°Éów)ðzÓ^ª¼.ÑC¸8Ê#À{HYwìK­ý0û«/Ýèø¦¨|ìÄ¥¹¾í—p‹?OPp&@s™±,jdE‚¯…wøL»4P8_«*çg35ŒR¤³ønïËi6¦éŒ]†þ»øycžÝÎÑûP)ùdé4ç°Åø ' Š’Ó Ö¦ÒÔ¨ò‹ÄáKß¹¢ý›¸"™ó›<Bɘb Æ’¼se€F¨”¥â¼=ÿ"¯Lа¹Ý}ðé۽ŀ=$’å¶;o~TTæî¹.Ο4ººDÏ•Ýß›Ñ:kIÄè,×ÓSÑ~ZFÔBçÑ"ÛßOׯÆcí©ë‡a‚ǵî["….u{!&$:z¼#ÐÑ¡qx:ô L$)îEöó±Im§\U¿ö/7ëú‡~r‚æüFÚ’¡‰:G×fæ}Ò ­épØ/¼­˜FUóuV> ð(è‚nE»sö„ÅáïeÊjWúµ‰sM<VÆXŠáÂôÌOr–ÐX&Ö^/Ú‚k "“ÞD·ÕÖ¦V÷e'‡K +²k~¼¤cÇvc÷€¸u<ï¶Ýé¦YœÙE]Öw\ÞýMéã¹)ã¼8$‹ZŠàî×¼ G`pö3 ä®ö‡üÀ@(”,"Yyu_S&lí z 0/þyÒ׈ q-B@ã{Ë :˪;ñò¹f×îsõÚ"ÀÉŒØXí ÷Äå‚hCl-:ê ŽCɹûâ³ñá2¼¥,Ô`dÞ.x*÷1ÎSÚé(H·ò Dƒ°0s›W½`ÞËö1bJØ”‘dÿ]^TLÆpÄþícoCÙ½iq_$úA üJåü}PžÒmÓäÃ’{‡–>Ð~ú3œ*@òAtíyÃõ£¼G4 B¡yA£ ¹ÆÑ”Ïí£µí¬HÏÆ…õ 8bùäÚ”«VŒ[ãÇÒR{ª®znL'™–Ìì[ EÝ~à¹nWO8î0®·pRòd²’(¾²Wúy\WÞ&RF[)C¢…¾´»r—ízÜÕº“¶+û£bùîç¯\Cºöä„“×dœÜW^èn{S&Ê@ PGÙɧ•β³3´xÌ fòm…„ú”P¬â‡(²=´yN™Ù­FÓÀX »!êöµC'1Ï`ôiå3ú€)5¸…8g6ت{ûžD¾ñë¸ø,×w>0Z£âgUÅÝ(/ ”_-KP¥÷ì¸÷°gÁ)'Q.@·)öñÎà ~Fs_ËX2á,ÓgF¯Ö'5þŠZPÍ©—y*x†>;rŸÏŽž…jGõ8´*Z£Å-;nThسÙ¿¡A*·A²Ê(ÞÆ\?Æ{s(Qéw‚ñ\ ‰ï ‡5ô‹-IzÚÿØ*Çl¢ª»n4hû`Ò|{óù„o°ï£ýK§ôƒ·ƒdšÓ“5´hÜo¿Ôåç~®4äò›/$Ò©ñ·WTà$1nïØ\—d•+~O9n…çHÖÎ!à¾w}ç+ælÙ?‡9ν‡ü2U"v“«–ñ¬˜XZ‹o¾æï>†9©q3œ÷óF‡"ˆ3ð ÛÔ:?úЧQúFôÚ]>ãp.Á…‡ÝAiª‹^i7…‹¤ ¸ÛÛS².õŠ©ª\ŠžlñØø}:7ÆeÔ»Ûì¦wM-_'"/RÝC¡¬ƒÌD5öSKHŸâ@«‡Áè¶g|¯ñB˜ °)ýÚÜ —QLì9E¦»[ùˆ²2Ê|pš‹<öéTé 0¤ÐþÝ.¢s$ÊhÓ­fÔ9äDY'Æ“š¡öþ{ÀOó`–þUÛ1wÚ0¹ø¥ÿºÝ$m 3• 'gÐÔ¶¸ŠÔšlœ\³"åÁÙÊ%^?˜ÐžÆLö蕸Fg}DÃ[G&/[Å21ˆP€P}~£_¤{½ˆOZáÁæ½#Öœ7æßaÏ­?â”êú• ©kíÛï=¼•ŽöäWz+|0@ó@MØU†B½ÿj6cÉ #“‘i¬kOªédÃM ³éÉÞm›žÈýÓ ˜"t—u½ì+f?dÎ$ÒýUSzIJc#Øtµë웈Ôë’¸ª‚ƒ˜îœ(à?'ýYYŽ•¡ec+Õ‡=2™=ÿáIÎØ™’N§ w*6RÁ,fë —Bî®ß#Y_¼¦ËÍg¼Ï\…<_3h¨jª‚û+&OFÂ`È‚ ËH‡KÕ.{»òb–Måtb´”ÖJ•()ˆÌi.ÃŽUs4€õÒÕ9Û±uèf;þËÓóW j\ˆkžd"¼’ &TÝ×Ôwq£  “e-mÂܲ$i‡ „»”Cç0¥½Sêfìß]ùj Ûð›Oóôz$Û.õ,Å™o}îyÑ ‚}"!¡9¿É©üá Ø{$é%Ëa}Nña"c×çÚ6¬"ýŒþl'hßuQN¸ ø(¦ÖW²þ€­ !_â$QjºÔ^¡>š*|lõ¡œ°Á'EOŸƒž»Nb–MÍËn…þ¶VÕð JFå+K¡²ovˆ±]*~‡ûï‡ WsŠE”w2q®O@‚¥ fóTêmW­­X½ÚdBÙ²ä¨vWfÿ©ÈÖРƅоšŠÀÖA½*k²E‘'Xdz¹ùCÄ6 žC™­O‰&¶½)½BaIä>ØÕÚ?ñÿ^NäígÞ ü“Ïi¢  f‚…DÆ«É]±vâI?8Ãð¤›Îs!×YB„b hpŠpÞC|ÿéòZQ kÌÜÕÏr³¹b]ó½×žGnOp'Ðàð¬K»‚­ƒòÝö…&w6_Ê‹>™Ü2 ! g,å«é 1égm(3Î?ÀŒ®mƒ‘¢cÐÎì–q>Å/V3ù­ZPU”€ŠÚã K¾6:‚2P…2¼ÿ-Î+m툓7À¹Õý $|¨Og$±<@² ¥ðÛæ†O#…³¸Ó•ñˆèûkuTmØ'6 ËT·¥ìÍAu³v«=V ¨Z 4hgÀö˜YW#$ƒ71è÷µªD<úr^ðn/Jâó–ÌT*/¡¼t’á|Ow-e—»K‹cþh†a¥a|Ž;»—{ïn3š²ZëÓGØ 7øÝŸ(.W9zÎG¼ý÷Àx21jÜJÈ‘ï­*ßí_¶Â3eÔN˜|®]ׯ°Wa8Ô6Ï8gÙÖã¸ß‹ò‚ÜôêóLõÿ§ÊBÿ|={ <_XW42£?îòÝo'Ѫ!ô¼ó±XxÆv¶.3îfMñyFÂ,Çß:¨×“’œ­‡4S„Zm6É#1ƬäE`{¡]ƒW?YŽA-Amͳ2x—öe8ý¨¬nÚàGù'+ðø3Ig‡ú°¦ZíûÚmá…ó[€džÛ9"ny!#õö«C¿ÀñsŸ­8ßk,~šË5ÇZÓêtù3ï±fÜb7Ü5Ÿ=9®øL/[Ý:§Ëx}SŸ}þö` \ןZ­YîSP˜Ì3íûj®DÑVE÷ç¯{„×;wøÉ¡N4ŠÖ‹³B5n̈öÒú3ôÁ;,q1§‹Ö+‰¢›²9mÅc+ò+Óg”ãHyc õ²•¾ãâŽãš–*·ÄÂw"ÃD.¸¿6Ñ@àH`í¥æi~CiŽCXHð,n‰žJ³]òb)p1Z§T¤´TP£¦rP.ûa–tpÿMÞ_–1ƒ×ï.ôB[C¶éÛÊW½+Ým¤ôÖvR|X1Z¸À={¥‹ý½#Þóy{rU†g @z˜`{ò‹¶é»QW­ýö$ö$A;Öó“S É{1º”W'^mO‡–/} JŒø$Ÿë´]¨‡»¾Igm‡ÛB9ýøàÅÎf0¼AÉd‚° Ã6ŠpLô›qj«ŸÜVÕ{¦S¿£¢õ‘¼f©¢bÖL2½›Éôƒ°sJYŸ0ÜÀT9jƒ#XT‘s@®GÕŒ¡v1¯(­VaÆÏ,IàÖüp*ÄT×ÖwNS‘P¥B¸ëö‚5ÉæÂ*2G’;7·À¸[me²÷Cp˼ù=¾Ùll[An#‚‹àŽÚM`Í}V;I3£R[“˜h€’#?O‘Ãà8£ïw{ÞÅö[çɨ®/Ë›}ìÿÅ—v°\B ß7g¶V—Üϧ·pàtnÓßÿÇ:Ø7¦$áp½ ŠÌ— N´5K:’PQ´%Ó¿»Y¿”7”»w Ñ—“èºò­†+ A p‡Ÿî ŽåËN®6éî>8+ùOÏTtt;²ÁþLVÑFT ª#+¨™é»û}ôÁ?D­ï¾dõ®ü¶”Ç,o×Wå}°WÓZÀè~ÒÎnÑkéÍÄŸOO/¥V¥ð!Tó¨z)2»¾\3io¤—êµï`B]Ñ—øn‹‹’¹ÿ¶ØÇ†tÐkëfY¸E¿ƒ%ØzTJ~I4‚¢-NæúñEXÁó½—à-q(œû¥x9Ün‘¿4ÈèŒÀ“ƒùÇÕ“?Ø f•M˜Õ. &ÞÏ«šÆÿ¼æ,匊ȗÞ§np<©3½#mAÃxü=eĽ ‰*õ}ù¦G´2Uÿ{…SM¹º–#ôTèüÍØÌIí©ŠÐöO©tÓ’5ýUÈÃTü1ƒ¸Bê‰(*¬ª”‘¤ŒÒU·Ž âVWÛ¤¬7ƒ ð';ÖD†ÅWû:;j¿Â€ÒçT³¢á”g›‡Yáæ¼« j|óãž’ý a!:©Ù%„|Kö21)q¡•Šrñ=€?oܲ¹BŒ=£¸XÅ_–î~[9ZÍhéšÄôúžs|N›&Ñ0:!¨¥¸—Fç=RGæ\lWÀü Ýa“Ê|pÎüL&†!pŒM…F4¦¨G×Ã'üÑl/ªEŽ^çBjò/&½öE†6Ó<ü ¿åkM­ùr ¸e–ø5´bà<­øRí!ƒÁ$ËB€étfT1D‚HL<¿ã‚% m˜cÂz÷š+ Úxt¡ÕMz »µ¹ô1KråÙ­U˱¬½y;wÐmÞUIà§[ªT¡:‘ˆ¾,™»MÈ//Hr2ÕÑ€!ÍôP »2¯³‚VCc‚ý6Ð8k˜n(×Úè‘{€$y¿ðÿ Ðá–](æËÿ•ûdT!ì§} “<~F|åXÞ&©£¾ƒåTÊR¤6äCëûÕ/Ý-$'Æ|t0Çñ8x¤ Œõ{o¥˜(ÐÌ…&ƒP“)T£'ÑUŠýî{Ì%£ŠÇùkEØl?ÕrVºg&do¾)r%£âø¶o1W¿ MÖB53ÖW™ãCä.‰Fƒ‡ÝïÞ5G‚U5qD•Øû÷”·„jc Ðç+uÐM# œHôÙ 6¢ŽšzÖ„•ƒ/÷àvP¸ƒA¯@W°¨Â×è„…n·¸ž¾}Ç<¸`b$*©M¿m¬éî‚4ãdzG’„‰G.Ñ+ØAÈy¹I6>€‚÷¢¯Í;ެ³%èã$ÀJÀœgÇø0¡iö4ó‹|õå&R5ä#NÌÚíWÜTÆdb¨>«:6þ¬¾ÄÐI(>Em©üÓæÿÏöê¹ây[ú>vaJBZÅa˜¼ú•.$ì¯&³éј޺ ¿ Rp§@ˆb³àú qWQ'¾yµâÌÀ)¥ì¨â¾íVl#·i;"ƒÌS”—çN^w¢‘G72i;¦@|™ÇW½‡Îmð9J…¢&ü…×­^ïî l¢ €„ò¢týtp³Ó¶ÌX•ƒƒö*uo«¢TÍ… ÒcZß6Ø¥µt롃ÓO%uâß-³ ÝšNiXo dœ+( ÆÃ³ËõfÚGå˜ðºî³?W‹-==˜‡§geel-“¯ÅÜŸyïV™×KáߘVó½Õûû«ÚyÚ- Ü„…>£:ÚåÒ’#jŸEã˘óŸ·b&±©’ A)¹ž»v9,Üe4ÕõezkÿhÎ#|ÿMÕó„ÅzÝ õ'j‡Ü­Ó'ôÑ=žrªúuƒÕüP$yªÛtªqÎÀ%µÉ1µ+û©Æ Ÿ"Œn4«p^säL£ó!X9¤ô.vŽeÖP6LUγ ÿÄòG/QjW«ÂéH‡šR¤”Q­2šS•ä½Oì);ŽïžÑºË½,ˆUÅèiz•Uý—#‹‘ÀÏáö®—–¤•Š&‘mŒîÔæCõy‘šW7+¾ZœiÒ¦*û²aAüJ(Ê­cÍà;¾è æÍÄËÁ¤_ÆËï;î0@¿3JºØ9‚N:¯Ÿ…Þ¼Dªy›ª¯è¡æ£ðæÕ¿çÃ/ ˆNFùoüøe¤÷wjø7ëÉQ©åç)±¿¦k{ßãÅMÁ Yyߌ m, (ì ^ÏE†›¾Ë¾äÏݶëÀµnÜ+bÝÇnÍs¬ íþñÕ!%»2pvX¯‡å”ý¸âdã Ø=ˆÌßù9€ýLù_xeÌz|úŸf•;.–·ÊũӲ+˜Øq=Í´Ø;©jNK¤ˆÖ¬J¨€À*×W _4L½éG›BT¼ÖÒù\ê®!šãRö+ãBt}OðßOª¸‚(ë8ŠÍú{%eÒ““g7¥¨N µaï'<ªüÊŽ1ÍB.$TÛÿL>N"u\wkºæ.á Ÿ ˜ø³ªv Ñ« 8KsPÍ:Êè3P÷ƒ5]‚´úô9‘ßVbCÏ[TùŠÉº0¯¾Ûa~DdÎG¯ë:‚é…¸YÔJ\¾ Þ,ÇR9ul“W®U”kP’66–Ò¢¨yOâN<’ÅŸ:—Íë¼9;üy8m,HÃðˆ.R|ˆ&±_„Ü>$HRH»mÚ|$¾i/ÿD/Ú3˜zˆû³b·¥9(²>WèP߸œg¼Ø„Í>|Eh)oˆ»âëoN eª9`2ÈY•¼éZ‚£Í ­KZ±c©p"6ma¨eGJhþïÜ(ËÍØAìkÖOÖï¨*çj+4.ÒroJÈnÀ‡ö. Ò}4­D3l½j‡¬)ã›XCm ­œ=å&‚êe²¡¼ÕAdrºŽxH‹ %ĵ•'¿À Â<óˠ넯„¢Ê{תÜJßàu7A’çê ô^e–ût•êôáñNSÉ @㉽…hùÂK G!—Ôg :’wŒ¡ý\ ü8å'l1bi¼â6"xµ£Üy‚«d4Ý­`’©!iç…܃Q$›o“2˜¼!Í£ý ˆ¸ŠH®iJ9..0*«WÓ´ xéëØj]1O‚ãíAð²<ÄzlñvKyüœÏ®~\ï]©å”Éž»lÞ7ž|‚Òüør!Ã<Å‚ ¬nŠxÚW+³‚ö¶&ˆâ*˺û­I° ÓÖN•£ ñS1Ê®nò¸Y‹íSû`#ÞËl&^ÍÖ¡X)Öò Î1ËñSâ¤Õ‘bƒ=†Ë@ZñD†EÅkˆ¥NÙKÒ>Ï´Ã¥dÒUÕ„}]M7çÊ[4u{¨U`ª]@ú`THé9¹&EëNw)·y¨Å9:¨I…Ô==œý8ÜU‰£%ëÁu’Åz(3ìÈ÷°Ù±¼¹vÈÌ®ìPXÕÔÖý}[mFjÞ'mX—u¶XÑåLºç¬CÍ„{ѯ+™àœEµ§¾fPÚ èÂj«ÔÓ`vÎ5—ö·”š*ì©©•&ˆšpÀƒC†ÁÄš´=¡‹ dñ“ò¬ºKí‡Ì¸k ñ˜ÝdÜWž5ºX·­QÍ Ú³ç áÞ(ÊìÀÉ'Á IÎ>@~Ð!¾7¨rüyDaÔiÕKÏzßoÐ4U§k.|ôbélbUûy2¨·Õ Þ£Í&à¶n˜¨+މRÿÂ1ßçå÷HÑîỄ(¤«'¹ãÏÆ×z#±™vŒ’“¥v~ÑÚ«aÍ€1ÐÉ;{*[Mg¯k2]Oœ¾ê™cpìf—Þn8.{PŠÛÊsbӱ늽 ÐÍ7"ìI@f·on©É*§Ì&Y‰\Ê䀌SöÞûÿt ¡Ú|N¶VÚ;ä¥\Çz$ «W­–3Ü´âÀÐszýGësìKCÞÒ›¦GT5«$ëÎ9r'´wØ99¾nçÔ¿Ôønž0Q°Ì˜O:<5;±„ŠžKçHUDŠêV~ SV›çajL7ß9«Üpá6›õ=éF#:Lð°g:ÿ׆}‚|<Ð|8²cf“¦ŽmÒ¸æcÑoù-X#i1¦3Ò?=š„åPÖÝW}*ý¡}õ é\ŽŽ³v ¢ðO˜xí™á.qr9¶cÞ²zÌÌ€ Å5€f!§£|øŒ ]X²ÆkÁ"õ}E=×23ƒà}§“©`E’5DWhÏʾßmjèÛ™D3Îiµ·X±ô‡îØ™ !ý’p¥­ë‚ÚÉ9Oúíã4Vã|´ °ßà¡ó[6AŸ©ðÏé™ï@šÂÇA6HD¶õ`8ÃÕ£Ô¯Ö`æï{5÷a±íP@]”4—/o™§X5 B_ÄòNé‰ ³ó™KS%ʤ’µ»])ˬWÄ;/AøÜ¾ï–‹?ªb÷lïöllÔ=¯=H“±g…m9¶®¤”V•’ËÊ…j{Á6h•Éí[§»²‚sÏ™â'l@`Ùו+BQ*¾fsã=7Æ8zËlþ”¹®yRº2ø¡_6âl‡l6’©ïö¬"|Ö4-Âåu²ÔœéÍáÏÒY)º‘ýdYïÓä*žædا•€–Ðã6m¬!ZA™ôfÎHtE±o²-x|šªR´ú“ ŸŸjAèwÝšõx…´’ÕUXÂ*á=ªáô§Í ƒyÜ8L‚¯?GœÙ´ÜiϼHxW?OÈú^ ד)˜>mw˘ù³•uøwþ¦×Aã ¨q§9.ƒu ªG5šÿ«Væö{ÐWÂZ¶îzt[¾°Ò Kin½W*«Ì@Í]ðQ†ÙFL£ÅLAb¬½V »Ö$Uº®Jžì4‡6_ª1¹iÒ¤£Oj˜vùsg4ÝAP¸ñ˜{ËøR¤§=†x¢B°ú…„ÿmXÁÓ¬‹ùÆ4êèBª«¡sK¨ÊªÄ7†Pžb¥_Íš#®3ÒS:ÏCDEkzVK14 ¯98À‹Çü6jT¬¸€kƒ°Yú¦ÌNÜï÷ÿ»{Âpô< (”‘+¶Á˜3"§…ûb‡£ñÝ|­ÍÊ%5–”^Ô$qVÌ“Äîø™ÒòBy(Yž§¥ï}o`¢ÄÎ.Èú[15%Oyá?‘M4”e€Üf/ Uµ»1z¢¢w2±õ¢pÝG•ÀÀI D‡Dí#âq ñd>0_k1|‘g ¬Ü·¸5²±‡ „\fo Ì:w‚ |3ßhË6ôÐböÉÅø= Âé\søÈÐ!"ÆÙ¥D”'l•Ûôïò«ÄR4ÉŠ¶&%´‚¦‡/Ó-pgùu¤ÆƒøÐ’¹ Í­\“`¤¸A²*áî¾’ç_M5É3[ï@ÊÑ‹´ŽÃNúÖ'ñBCƒ>ww¥ýL‹eÏnsÚ¯ ëD(›z¸4¡>3š©š±,joNÕ[@zÌs1›€V/ƒ–1>ñ‹Ÿ¥ÑH<˜€#ƒÔä\Ô¾ºÀ¤K͸»°’¡ÜòVã¶m¯1Y^*í© Ý}÷•qîê¹(­!%Ïabá«NG\(¶˯õ™$¸hq®¶,=ð‹‡xÑ þ²€ü§K2Ý•›X9kJäxt̨•LµVÁTœÐ•ºš‡̧‘ÖÄ©ÞIÁsJ.ÀüT§ÝGýlb/~Y!Í'àóü÷bcÃðßîÂÞp°5 ¾U|ƉyÑÚÀɎ怋ô„ØÙÏæhy÷ù©PC°@ÛhƒúíѺGÍ9뾜éX6ÁÅ £)¬Rf㌳HÖ>Þm†Gùã!šŸxhãñ4ïûª?åEÈG2,ÜÛoè”"¨­Ü¼ä¿J.¾ªý²:–S äßâ¨èìeÅh"„²o?À•ú½gÝ$áÑ%*í³C¬$Ø»¤ž}˜½­û>ó2p²<·ŠßO§½+åÍŒCßä_YžÐ¤6Ѧn'\fJ¡Ÿ-™äN$LPª·R=ÿ6=Y,'U (1lóz\M ìÒÕdÂôHœÎ/ž ÄÜœŽçõʤ¹b:q’á£3khYäº&^ÏÛ 0Ç‹H—.j߬ Ùê°qÛ³+« t]¦mLã6Ì$^ Àäñ5Úbi«D…2 ŽNk¯çã^ËÁ8x/•çó¼N wïµÂQB™!I@,x?>ô JT½ê‚,)Æ7Ž’4í<`›ÀàVZ‚yr¼sBß”D±º9› 5&r˜ÞXO2¿£·òMŽYíL–zN·©,ÕLaÞ+ >mgŠˆæ“R}aäZÙƒ± p6fôAY^ïÒzY~9k—1&”ïDw–6ؾŸ$gÕÉ~,ïV°Â:}$W¢-§–ŒÛªÖ @ÇnêîÛþæ¡ÛÝE “䫉 Z‡0u&æ=²¥ED· ¯[¶`ÌÚÚ¦SVtÑW5E MJÉDê§ÝÛ.¡L¦®Ã6Rçò§uP´ÂvBIŽ#NK÷õ “S_–¡€®Ñ`$}¶ühv©½ªmªÖDú ¢ïþ13+£4ÂùBþ–ÆIðžRßœ¿§™)ë2-gÀXcGÑÌD+ï°¤¹».ZÅI™½© ýx|™ù k]Aòœæ¯€Œ…ýíƒìq2à“p‘VfƒË¡J§Ë…[Y}u™+“÷ΈÉur:@pg3™ý…;m]ÔŽ§¾BqüÁ ôã„tÐS¨Ñ¦yUg«ôôMÄâÇñï“ÑÇ!DÜ]t5Ã[Yuü͹•XÈ]YC™Œ­_ €‹Ô öÒîÞá÷Âi‰k #õ r¦‡£ˆ‚êYÍx›¿Ñ¦¥Ä‡dkë} m×Îç7ßkšt³ê8ïÀWzÉũò˜±Ò9Þ^oSùwᄽäLŸ)uÑÇÙò{bRü9ÿùlK¨°Áw¥7bö%*Ê+‚:QP0”gÕ¬l_içƒæ˜ÞºE@•àù;ø‚|°rláe”¡¡Øúûx=‰ ãÝâ¾~Цˆ97I¬m÷€d2ÿßô×–ßh‚§3°EެøÎcS‹rnD* &©‘jîˆþåªNuãÖð͆õªÂq.Dƒ‡,¤¿ñ#&Xã‚¥†7Zz+h§ÕÃÔ‡®†îˆ¥XæZ``áúцåËìEµ;EXú°ç¦æLä«o7UŸñ†9%L •G廯¤«çõÀ†Ê ŠJ®›I¿ÚAÎeÑ:9´á6aó¬¬Z…·y¶h a‹:ì½ß „ãÿ†×)-“[‹#*Ð=Í)qØ-1š…¡B³‰QÑ|-ðŠ u½ü×;'!ىⵘ4±bV¤¿W£x(•|äöXçAà)Küïû>›jc"WY€'Á5|Äè »•ãjq^¿ËQéY µép¸þ2`ånøÍ›æêGc÷_&Ãrñ." á¶âñ5ílìg9tl °ùCé@êðNßæ éÍ—›ÄZl÷ƒ˜  l¿Ö7Ýàž ƒG@äXŠÔûY'|Ôýˆ$\b”|Ý;¡NŠ´Ý×r€Ö#&BEMÏ*ýÀ¶ÚZ‘TÀÁF#™žÂßw ¸†yÖÓCX•„6J1V¥«²œô4éí¹T™þÞÞ¸Z€Xãp£ëùæïÔ[ñÿ¿B•Ç]1bÜÆêvˆÐLœQçìÍš¨v¶ y{³hÉÄõ‚Ï—†ÎïBÞ‡lͰÅ&cõ°ä‘¤s²‚˜ÆˆäÓpsð›Y‹'mxâ2Ìë?æãÂEe=J(ž>2a4§±'@·>¾L@ÊLŸ†#8½ò>€ÀVùe$<$ݨ«\ËùDˆäùEøÖÖXTN5cÛ"áQÏBl\Â;€‰°W,w¦ÕDT!€vv9ážÛkµ­†”ΧR[¹ë%W¢‰•}Fú œ³Ž¬ä¶†yYô¦ŠdrG48:eÎJhM>°~ ß|Ðù¡h1uÖÔM•B䣮¼Õ[ðݯåNêE«‰w@1 óS¬p»×$øT¤‚UgÅ÷a6–ò€ŽXgùg>HM^ž¨ÅµhC‡Ã–EþÎýƒC»&©»&jë0tû«'gmX°…­£Åµºü ¨ Å( ºû«%ÆÂ¿vZ—&ßi$£h Ž âjY“Ê€eð¤ñ%å{>žjdØ1>‰¢¡©- :Ã%6³Å†m3Gyé{_Ûn¬·ãtç)ÝL˜R<»_ ^ŠÅ³gÚ‹Šx–­¾áÕ5|*v²ã9SäH)¾ÞÐ6b¶Mœ¿›LðEñIàð+†ŠÆÁç19z¡Y¯Œ•¼/Q~¨@4Ñ-†Í2MÌÑngžšPêxn`È(&õ|f·U†\L·êäñ¡W…N¸ç•G‚òyá¯ÉªéüIQÝâø MÆ"²¾¢¥ú´lXÏ€¸o¹S³`ô䵯IاŒárØa%¯ÊÌ’7E¡H¸úë26{úŠÅíµ²SݹñBw¶™ñµŸ@n'U­}|@ŒŸxšÓµð¢îöÖÍïÿ‹%9Ÿ»‘ûÆüG›Á# %seÖFOâçM¥Õn±XüqÞŸÛ­’ uˆÃO¿¬ÉDÁM?bœþû!ŠSs‘dÀL®/&‘Nö–†ÀÙ.Ïë¤-øáٖٿ©Žc^` ÷ wêºrW-å¿Uu¬÷u0$9# T)âzžRs:¶ü†ÇM¹w“¸úù†s¼/Tç>ŸhTx‡ó–2.à9ˆ‡›¸ó×é}¸Ø oñ™$(„ä)fɱ|аºÅy^=ó°ºàøay&6ž¶{IÜ'\¯¢ë¼~çl0…—Ñ«ðÜÊ—ªÏ,Ý;JoòÒ $›VÒ‰áɉ۔n²åzØEˆû¤~u=oxñ7Ⱦ—†Ó™ç‰}|Ÿí±½ò@qF-—{1Q*´vx=œ<{zöó4™Ôk ›£ I§eÌ•õ$üĸ)–€ ²ü èÝØ6AVù#_X’OÞgþ#6,Ìi ôÙCµRð ÎëS˜ÞÚw±´ùâw’QÓožèzª!,#«eaPÞéZ³Õ|V߀©)Ä dÇF†Ù\A† ?ÿӱõR¤c=±ƒ—hþŸë~îN‡³ö­‰.÷‰ð”ðDL¾âý8w€çÛۡɃ%Dæ›ÉšÎÁ0Ö7Õ·­®»¥ÿiR ÉÒõ™‰‚ÿÔlú½Uë)¾†æÖgÝügÕc¦aΆˆè1ˆÇS½¿‚6€>5€AÁvR4+8gRà÷¶§6ôÓ›g´®¬ ‰ÑGÅÖ2Xº*¥eÅàâgv¡Wz?}ÊžÛxÞ^oÀÅž.®î;k+;7úØPY.~Гéï›A;·p&„ôð+ ®~è«=ÈyaõͶW-­§çŠq|7 (ãKµ‰üò×#/[Ãlù…ïMÿô1>I!ùüJÞ¬bg‘el7]Wfkkå7Zˆ'ЀJwefs£ þEvT³Å¡˜Þ~0íiOÒlÆl€½Õuþ»Ê}„ž‘Mª›]£+(¹9Oy5ªS]€zVùá1¨ ”oeõ¤_:;÷…cëŒîRv"óÒøÆ+ò"ª6ߟ¶(45Éëv H‘:Ì€9d¼¼àŽØ'N¤"¬v#ŸmA#aC9»½Öâ3êøÅ-³à™ÙÂ-mZ…e]¥ž•gºÒ‘ò“ É.0 bC“úýæÔ<‹’¨s BAÆRg çI‹{=³±G`Ò•§°ˆã­i{êª8[ƒqU‰“çÿ·ÔI^¨0 –²àÏëÕ«¹ŽJ$ä5n˜r»F–_]þÊᡆûx ì&E˜r'—ÖjÅ#†ËØÒ|E9ÓQ¥›z×pœ?rº$Ý^ê¦|*ÏÍ-Ä%Á¿›\-ïw¦èf ø×Ñàjó2ù—k³’HÛ{ýν­Æì•QØ¥JäÀìÂOæå€Dt¹Ö§øé°#¢I•‡Xi^4ó¤l„ù ëœVƒä!àgµ·`+KAæìö#ñ¼ŤÇ+¾àud Å2ÖöŽM—ßÖè‹0Ê`lÚ}º§ß@ 6Ýfî;“ØÂÚW ‰n!’aljµ„UÚüW*2T©êUØÉñ’òá³k0‹Vm›nÚøS2eÎ{…iìÿâ¤%‚o.C<Ÿª?¶.á|nkoÐÏú],Aìß+ÕèÌ`@ú¦mÁU ¶yýºs µ©²@ ñpTç¹ w^‹ÑÉ ·`|LÚR”…S¥Å;¹(¦è<'“ ×Ð$%™¢€Ò²ˆr£ài×V×ð´ 9N<6%—ŸÒýÚlê´30djh(IÏþôƒ–%¤³fX“Âúòwl¤l¶[¨6¨óE;£hÆ3ÒŸ ð$hhy§Û䨲1Ò28ƈiæóÙJ»…ênHÙžª‹§äkrÇÖ}xç;7j½ÔàïÎÇQº‰æî—lQiV¿°™Ìßì%•ô7Rrê. X¬5ÓË¿€RÌ96¨_cn mD‚*½pÉ»£u;‡°‡Ù °Y]õĘ2q6ÆOuÐ;áDöÌIl¤º}“˺˜}Tþ*jU^õˆ âáç«"âDh3Å=¥d³œÜHK<9á‰ó¿X̯ÿ‘×€E®Q^±F­³¡ÑÛòÙèó[âÍÙðÑã:¸sÙ<´™EÕ y¸5¸š¦Û$¡?(GæFë¢bÇÁŠX‚fe¹¨¯{ÿ@LÒÆÿñE>øj]v~Ƀ9ž: 4 9-\ýü`ä݉ÉGþ[Óiw·Q&,‚r’wS$0LÕvÊœzȸ¤Ï/P‰E«È8Ï/"&ÀnŒã¦ÏÇ“ê•Ø>¦óXX+FÚÍéáæjÇŠ°ÿw{{ü kl8üÿú×<ÖöU,}3,⥴®¡Åé(¼—\NÔ`ºŠ˜Ä-æ5¬T»ã“«ªâÛÿ?­âÓOPÞ>Zׯ³˜ÞÊJÍ8z ®­¢Õ`mYüÚêܳÊhW%VoþQ?³ÀåÊh´÷Óˆh¬š» Lò­£! ô‰<-À\ƒ 0ÝMÁÓ9k×qñ²ñƒÐIl.`‰ÚUijm-Ó[è{¢M# ·ž`¬W¡mxÝ„ ô s˜¡ÿS…WÛ1˜5ùör„ôÖûÚÿ¨p1(°i^VŸË¿ß%65æ l@øÇÞ…³‹RðÍöö˜-Î 0wáÚ+„rŒi-ðqe-Y‰ME<rœÄ¯ý”ã4@<:Ž  Æ[fu`ߌWO|Ðç®AÓ 48’Z¸kJ[‚}á•ào`h&‚x¡¶®%Ìßÿω?àO?Ю·ñü9+•L¼ ø@œÕã«u#df?”¬º8+)T©†€iÖ: aeâÚßpNuéÝ«èÀ½«:D|Ò¦0tÿ]®SYŒð÷ºXi¥Çx®#NÇqfXBšŽËm->ÑžÒ%Þ}ŸïtŽ_A!žÆ/_§ä?Vóè$ZÑþºbª¥¸aö½» "e}±îÐK îèq?ÁÙE‹’ Š—Ã‚ý‡a­à¹¯èÇ›u5“$¤|Îñ72ÊÿQÛšC‰¾ý ÞŽþYysÑÏþþÜ”ß|‰)U(­à]ÈA`Íc—61LàŸÍiwoT%0(UùF9¦U…¤”ΖñÍ‘‘‹ÌVTÄ«j`‹bnЃaÁg‚ ÇaNŽžéë±Äå)Ç M¥ faÊ!·mB¸Èo4O“++lµmƒÍ…áb˜ xìCòÍÐjh·2²XI6à˜¯ÏRw®¼0VÜ]CZÉMÈÚÝê=KîÀb¬wÀ [ÚP‚r.JÎVCBÁ®AN¬ŒåþèÖU°²+ÂJé¿€rA©î*sÇ…´Û'HéQøÏ×` ·4aó¯ÆVÑI«‰ÚûI‚ËC#Âê¦ÛøS3V‚’¦ëóµ_¯7®&bк ;ÈŽ†@º1œ Þˆ YÏ~B)|³šÀbéi s,ëÅ\š^’‹h9ðNgoVjâ?U°J|Ð+„IŸÖrÐŽa¬ô<.t‚ˆèQ%}BßtP@ Õ˜Õažöñ®7Ò½à[Ñ-Úž ÑhÏNVõá ûgÁ¢Õ‰„­É$øOîƒùO…ÒjVM°@kÏ Î̤,=6j¤ÄAåÙ,­‚h\Ž™eê˾›u¹U*ûȯa¡¢üˆ"úñ·Â$W}÷§@òíDþßÿúͻޫá%[ÐÝðJ[ñŠëا[$<®ì^gaŽ¥rljÈÁ1ЪìF7J¦f:Bd»T°îØ·ý"Ë„PÂ’w® úÎðƒN½ñP€¤{„øÚt¥R÷fm‚éåÀÈ҆⯘֫d™˜i9ÂÂ’C˜ &¶5YèÕÊrÈÙ²É$hê7…êÖ.#¼§êƒzh{ >™®çl¯[ª…ÃNqCŽ˜BÄ\Ïû°r”8ËÊOL[㛦ÉNÁÉËz‘ÑM1š…Å˹„%Œ¦ÅÅ=ÅfŽ¢¶jErü¼ÉŽžd¡,ñò·å^#Sw·ãPsÖ&ÚÍ}ˆ{9ú“Üå˜P.ß³Z/Í7ˆj ߣi ‘;Vò·¸gõ¤¬ò܇äI&üÞuÝ¢úêâlöö^«ÔyÕ4Î…pÏJNø›ø;oC§£o¤%VùIÞ}ՙغå‚#,'9úi%¶&Ýß~…+½z?ƒÙf¨xc.ÖДǘkäÚR¾ ‰7 {×ÛŸiD¢°žtƒùWYzó_zéï2—.QÅzx÷¤ÒŠ"ƃ€å_ö¶Äðþ¢Ì7†‚ù¢ú¸'‘Å%ìKº w¶U³Ìlj«ª¤»Ö„Í[„ =[P2.š‹ÖÆE=5¥ ,ðôøu¹÷¢>vJµ‚lZÁHXø ]-=îÈͶHúî{ø:» ˜+•¸¸Ô5çêo ;]²²Y‹÷¾ ƒ™žÔ¦SyDU쳯öý†âæhô2JKÖ æÜ¶ QÊdãVEÏ ýtBW%ˈÍåLdo»‡gÖÓ0×îb’[Œ‡ªØ3j7ÞvÆà°þ¼Žl3’>qn¢*¼ƒýÊe$ãV€hmÒã½bz»¥¤d3Âëüꙑ’tSú0M?Ôa QwZ\ÀÄ)rà­}ÏÖS//ƒÀÐ%¶)‹wXÈP`bË:úñ똞.¾ÚµšCYÙ\å¿bü!]LèàŒ¼êËéS7R0­HxBÔ˜sW;•ºFžFKLÓ1Ög[QµÙ |pÆËÇ­Ó.[R\­~‰Ø¥ÏcÏWoëo­¼DþI£þÐ`‰è‘p&F;“íš Ö‹˜y«ýþÙn¸-BéáŽ[ ú Õd­ ‡æ WsÉÞ4ìP&u¢}-°`Gÿ=4ï jb—g"-ÇÃËôÕ"žòfð5ìâÀÂ¥³ü=ÏçÈäç;jÄh3 gq+Ь`DôÓåØ 'd õ‡ã ©èA‡·³X3+ iªè´zÓ0ŽóßnîÄxsHå¸ÑÃqžçýß)óßêŠBq' K)«3sŒ°Ð-WŸøUñ•Ò|g4Ê囓‘ø¼ùŸL&ƒw)ž¬,Ç¡ „ Ë3ޱ봄J”ú×mæ(œí$Ž a†%YÓ•ý¯CÃÔ³{A:ýù8‚{}Ùp”ÜÖ–õ-õ-ê¦s»$¹vaÇ5O‹è*šu=eãó×4‰ÀK/˜&úHÕ¼è=²«g‡'u“Û„¼8¦ömFÝÅ64fÀW6nšG÷'.¼Ê¬úìv¸£òe|#¢:×>2Ì –rââÊHƒ=_î×Gÿ}*<ñmàๅ™]•Ä7¯='PªÐ¬*DÝíD7c°Wôúì…À»<; ¢+–>Ýéj ñ•^â€x8ôjqõ£‹œ‘™aðT±k$¹’çL¤.h㔦ڼtNubÔ4&çk”¢páâ»p6Ÿ®,Ú5Ìî+‚µ.µ¼fÚ?ˆèÔõ¯]êVìÊ6Ò©£ƒ¸%òc̱ ϸÜfpð(ì¼h @çÁaVqÝO¼¢9Ôi& œˆì$Àªsc_ŽË'<…7ÔÝ훽“Šº…£¯uñB È.î$çùzZ£çìzî‡ "¦¡…·!’xÞÓÉo Ú¼);â²Þc·'ôBÈ(ïøiã;7™¿›;Î ]³âMÜnø¡A‹L ùqœ3Ȉ¼2¨ÎÀã—ÝzBfÑH¯7±£%üGÉ22¸M SEsÆKjÚŸðÞ}B+Ó²ó+.½²õ@P]=P\‘„^ïG`…pö°,üƘåRþ_o[ pƒ0 •#Ë3\¥Áäºd@L³Ây™MÞu‰C¥“–­à®Z¦ÅÑ걜À€wtüæœ4óDТ\@ìኇŒê9 %Âf*5¢@\iž2las:7::©V Ä‘: vs†Xkn\ˆÂÑMý¢9˜¤åßÂŒF«g©UÍáS2ü Ãz…5–Ï,÷fP ±' žB#![û„ˆ£áâE±IŸ0Öm‹N?m-áçD ø~`!˜À놈T  .òÑÙ¾„˜†dý¢­1ð>^b–Ñ5`ïc¥üSÔâ-S¹_ÙúŽ blOTNÿâùœgp{÷ˆãe z\4x$7Q‚Ê$T´o¿¨•8Iô·„²Ð½ì¼_ЃŒ­½¯¦8ƒ)!Ê |,ßòûuU»ÃíšÕ#º²m‡è€ ýéÓˆ¬Z'±¹(D "^± 'ž:kÌO°Ó- Z퀋”[ǼŒ&ÍJPnÀëT²ÃÃÿ/—¼³„Ørš*ñ£í^v‡WŸx/ã=y`[ù:±ðßuMà‡#“?c-Ÿ4ú£‘¸ïZ°í¤Á£ ùw,†”bmÚô‚+C-½€/˜£Á¯×žõæù[j$˜u.fûmaÙ1€‹"¹é£ï·dà(j¦ªë.ÛO”˜œîd*l1‹=PqÔ+ê1¬…žˆ•­Psmti3õ¢ðè-lìçgú÷*mX\¿€é@­žïÖà9~2©ro¸üÐìjR¥C*ÔKîÔP}xDhéúD 2 ®wÂÿÛçž^l¡Y7ÍÛZWß’ô…¾8»àJ¼¯˜VVcõð©èËN4%|5ëŒä£ Àª Ž30]Äñƒ¼òN}Úî*¯DÔUIæ Ü‚§¿ƒïÆ-o›gaòž1™ÍùœÎ­TEØËåÈäòSeî&îÜÁÄ>m5ög®$¶K–+­¦²H¯:'ÖPËëãßTâl*hàÂ$±…¢bÜ“,oá´¦þ],Í2t[tZÔeJúèšoˆÅÅæ¬t\—=PRè›ä±[* Ì,üœ\Øc}·e¥VmQ\[©×uà¦à1í9‚m‰ÜkASsRÙð Ž¿z®.dúj>=&b†‹ø=¨·’óà÷f%/‡Wq¸L]’²Ë2 0ÃÖ£RiŠÅÆ!EýõVL‚—ã9…ŒË·ó Ùû´àNkT_yú»0? œé\VŽ-Km'‰ s- ØBž höM½²I=m#àŠv¸÷ï-N m2P(aŸ,L˜û±m¨NºLL¯”:8!ùâI+blÎ7ã´£°;C¦ õGÜþ ‚Ê…ñ£· ÏBav¼¢KÌžÈEFˆ©9[¦"Ôz¨pÛN ׺’–êùÝ\K>«EÊú6Úå<ϦĘv”0Ö +eî1_|÷A ÞûUBYƪv8óGsL1ûl¤C¿Öòi+*fË:)” QÒÊͽ֬zcr¯‹4~aJѽWC-ãǽAB¦£ƒ%tºtA”Ãx«,OŠ`odµ)®xÛèHü1T™wŠÅ½ˆ…Ê ï3GEV¦bº­æ´$ÐÊ®!iÐÜŸÜ©¡tBY¥…!'ù¨i 4ß™¾ZOæ”Æì_”ùÄLz1Œ´%µN8¯ñ­P€®üoÑ™ìÉ·"ü¿ùŠ¢!ä÷¿±ÄǨ¦ŽOJ«Ûb<ÁoÕ\!R¸&Zãwž$¹¦?ö”åYUÅPT1q!*·s 6ÍkŒ2éÌããbŠdârœ¹ƒ†ƒÍˆØ?þ°‘Pî´5ø›Pªp3uÔR\ˆVj@k`(ùØÆ0^÷ƒCΫ' íâï›¶2ÌBS¥[Ž›gzLø©œ€OóÓ¾ŒO‰°êÚ ùŸhBŠzæ“ou9þ̺vÄ@ å> ärøTžút«ˆWáÏÅÀ͵þT&Äú ÏT£“tá‰KÌyö‚YÕ—ºJ„¸'“ÇeÌþáó!÷êæ‹Q¡…^^fë‚W…µEÚw$ZìK•￱Œ-ši Ÿ*ŠŠÉ¹³œïÕtLÚ\»kÙ˜¿pvÜ÷ÞjõÇ[oønÿà®ú˜‘…–$UþSˆšdÆl¯ä1DûÓþ…Ø/ž1böu½#S Ü$}@}‘To¦óßSAA"?¯€R^JÙþ.£_²lß RcSDh7…xW1šIŽÄŠs´Åkéoä«€"³‡“ Ÿ4”›Ì˜¦[8Âý¨$(S¢áÓß‚ÑÌ/­=§ŒìÂwó¤aM-UÐÆ€ªßP~þÇ“òƒºª:•ºÞÝL$’™9üÈT©š&™±®˜bywl8ptmN«y‰Éç÷Óˆ¥Þ_ôÙoT‹R˜vPŸG•¥!9ójTQúÄ8ré·9Ó¦zïþÈ%äp(»oíwã¾­4ùóŠºPh«¼~}ÆæFç4b Î-²6Î(Gò×÷b‡©€72›% p{ìÆÝA`Þ1°ìÌm0Ö‹.Öú£’†`FœpTð²Ò” ù}_ óX©eí¤ÆàIÎMÓÂ"‡ÞzÃ@*Æ ã š±l´áõêäaY™_.z{IÞ–FØUg°XÃx#Z²ÔâDÚ5Ž-õƒ¸Ã) 1‹7Wš5"M´Ê 5ÜYZ§fqØâÛÔ&‰ŒHu¼"›C~eH¼¡Î¢§€•R(ã¢ã2â\j:”¬B÷/$¹Æ.Rñh÷aþ‚xÀºŠ9”d—æÏl#øQxx›}(LåãØXËÉÓ(ú›Fw°Ð†«…¤ß©P5Ú/8HÚ™1Ÿ<ØÛÿó)^›¬ÙþÈ: ·½BM•·€ÉÝM´ímo-þ 6 ¬"jlh¯ŠSn}kôÈ' Âèp(_T4 ÷5ÀZzW¡[:ˆ"dÑÝý;@èwmOkŽŸÍË]ç„®kì½*:b| 5͸'¢0\iÑZ ÿy¡O %wß(Do„5©²‰›Y¤«œßíÇ ÌUŨ’^\zhXÜjßnVÚ™á9#ƒ&X1uQë/ô¢h̘V>¢nb¡—þ<µ5fšJâ†ÄÈÚz2•QÝkÚYÛFà¼H/žcXþÅ£ÁÚ—¿)Ç+Ç-GµWþ¡Ö4x•s¾ë°«?H=x•ÅîgyÞÏÑÕ¾XØG¼Rú½÷;›'>‘~ˆÉ!;-ÎÍ&#d¸XtÑ1W…$J9áð-.eÏÁb*ä˜} îèMOCãÓ%RuÔåUúµrÚþéÙÉÚqJ Œ¥^<ÖõÛôت¯#j®3÷7~ ÛôµŸe¼`%™HÐ,f¾ÏxÃ2·Òîe´¡ÿ®¦}²kùXâZ1¼¶UƒO$)ºX>GcñBÞòv ÕgïnY¸ PS#ª|> ýFÐ~$Ûcaèè:)zù̱ Œ ùð`øàI –®@ºáÚëv忸zý_þ´—dî GÄ7S”«Á1Ò¸‰lBÑBFˆ=2 Lpé ÊñD'nöÙ¡ø›ð–Ôóôg,®ÿЀ×D pËfn½Äí’* Ô˜Õ¹Û´Ñ…ø}!à‚Ê™ eg ŸB;Y‰—+eèÌã½÷1(¤[ŽäñÁYÝ(EÁ˜-·ÅØ-™* Å–8Д6îawv:€ÂDhp'q ~G)5‘ìê!¡\±½2z²ÊKÚñ5Îz†’ïîÖê¯S€1Õ3µ²q•ß:aE®J‰Agô¯ ¯ë_ö‰F«[ï+*$3M™0Œ×éÑ•IJ¾ ± ì €ÒÛ"@Ô…L” ï7G0°$ô¥c­ HJEÔî_ª©tB4ì¿‹ˆnüÙmÍæ¥×6²V9siAOEš&—Õ˜£ ­üä Y(å §M ÿþòûœ¦:VÍ"ïð)ê7ßÔ§a8„\ý¨{Ý›hŽQjüÇ7–ñ–x!ÐDÚ°_ÄSzçLÊã|A"Aˆ…¹ÆO¾®ìÆ^»½¶³w0Ûä³ýT—fž>Τ-›i7 WäUË…-“ÛýÐü«… úöõ¾O°<©Ï0€¿)÷ïµé.XïxTz*‡oÇú~¿Å/d³üšµôbq‹n‘Ÿà¿(ãÄ YÖ8ã$1nÔBmf%^Ë!DƒÕs¥¯ãù³›º‘VT¯Õ‚.owÀÃj Ð4,mò¿CÍ^·ºMÓ‡R:Ÿ̤çé…Ðçì Õ>]¢>Y`Û z3¿jœæ—ø” æÜ£(Ëb"›Ì7vj'%÷úìÐgêó@¹—8@´ëÄ’¥ãŽæ¶Ä¡ÂÜŸ(?ÒîJOKŸ%µžáªˆ-©ï§¶ŒÚâÅÒ“`=úéñ tH€ëHáŽ@W½‹™’{ö6ÎM̶=^ð:%†Š€û•³ìÖÏÄôWýœe;ÂÃæõÿo&ª8«àƒƒ»[°Ñ0*­­r å³ðè;n¶Æ:,£ÚÝ1øý•¦Qé Gͨ÷‡%—;yRôÄBõ«ì`øÅÓ‡h“r=~Ötn:UËÑüÎ ³åãO„îQÝñ!q7ÁPkܸ`±s ´C EŽppòÒ; !62ë9«»5}ë“ÿÃ噿6£tÿjG*=\‰CÜ/2àË÷mÌ’ÌQŠ<[êü¾¯‰â:°Q9Â}b}Ñ@YTl¡—÷€?¿÷ :àÁ±]_ÍFrÃ7Þ'ùø„·9j’¦ú¿8¼£úSEó D¿°–BáZVN¤5âSö^êd˜r:­éŸ‚e¹HD¹c¼¬ç®ÐÙP´¥>í¶úM²ÖÆ>$$EÚ÷sw×ÿË’~˜€—JWyáéˆEéS2æ?Ÿä¼ܧÑ;ü‰Ô¬ãÀèœ0i蛋Æg—ï¯{Ìïû-¶Ñ“ÚÌÍt=’íEý±¿b×0ƒ/ÚC5JpãàoPükêH\‡™sjt9?jÁ»´M‘ÅÝŠ:§ñÍi¬a@ªT§5çêà+L# a2}'ŸBˆ¨¦‡ÒÇ%–9p÷yA$˜ãtj¢ÚTĘí[Í”þu€h›Y\®†tŠ–Ú©y÷áAä¸Óÿnp~_œ3 ŸÑê0þ…úžK'.˶îª=…v¸.äëZÒ3b*¯Ëä¹swU¡¦<®½#Ø‚ÙÚ:á8²Vj—!çêNW@µíØ…ÖÝ›³á™\’™­ ~¡“´pbÊI/ß4SýÍ íúa÷NGH­è|õad)˜¡L8P‰tkh5ï}Ê ?ïcÙÏïî¦È –à'|éz÷?æÔFŸ™íÇúXéK]ر $hÆ0@²ÆÑýŽÚ*õ`PCm,º ˜#e`RUuBU •œÂÓ¯0öFw2ôÏÝŸ-°ªÉÄš”iæO0´qh?Œe{èjGõ¾¨h ˆNîí¢l¾*ƒIsÞ¬ƒÌ 0|ü@~h N&ÊšVWkÑ!°g«G~ °“´;`«2ou8P'Q*Ñk6&\l$ÛþDÍlœŽæÏç ää¯ëqïÄûòÂo¼¨{ ÇA¯à­Û»<둾c`d°mÆlŒæ³&‹ÈÅ `Öó¯ù;͹IcÛHØ|ˆNðâm“ë+ùa<Ú÷ ÏùHdQÇÛ<Êšk‚üMö!ßúÀXä½þ:Ån†¡!s'Nóz€ÝvG2„dȬó»œÀø®€Á8ÌÌ:_·QJó #! ô $Lv¶µâˆú< R•Rµüv;ɰ­˜À Îð(4j"½}&fã„Kbÿó–ýQ'ô¶«m1”#Ç^^ù°ÆäÁbÐtÑÜW˜¡„FXÜÑ"»ñ¾P+`‡ú’zûc½W£r%÷Ü‘ŽEÿ+è(I2yWÊ qµô .2ñ¹|?sσ{T³xAN¶€bIï‹Uû¬ÞÝ}0¿˜Sé8E1íOÉ‹VEŸ©?ðkÜ a;Xveúj’“@£y¥9\íã犘Ø,4Iä“¥]»¤Ë—üšiVãßm"qªÒ;HͤZîRU5ÙiŽÊŸ~šÊM;Mv?uV9p¤ÕÅ)\Äù2jç Zaà ÿaè~ô5wÚMé"Èûö5Ð(°~¿TG-“¦Ý½)•µ¾ÅÂÆ)äRjÎ$pï*§§Kñ %Å@ ú|Gž<.љﶈSÚKVrÝD®oDùÃ%YÑ ì}Ï„\®rvgRN_˜j¢p'QíÙaþij¶Ü/„]Ê<|­žÞ-¿+0F y«çhØJúã±BÀöZ`‰"+I]ˬ£ë¦ùf—‰©ÒèpL´Ÿ ?nTéb„‹»^é-QZ3~["Ò4¬EPo@Ëæ1atºh$?nåK«ŸS¯“: bK¿IÔ«]PïèùLuZyÚÅ=[,¤p¬óº {Æ?ØžCDõ@ÞsrL{.o™;ÇûŒ)q›MGî3n僀>&^î³ü`Qª„ jB®Ak>ýí\„Rй$4Ó_O‰ôáQN‹ÑtìáÀ¬w•$±¨£ÑQ‹úQ©ÈmÐnÈ«oÀ±µžð!)Ê‘¤ m€^`:‹ÖÕO­˜¶¯'‡[$ÈÞi›G¼‚Ê—¡Ë7 ®·QDÏDÄ,(kÊûÐòè2R þãQKâ×¶Ù¸å>Dþ hÙì“§` …ƒR)Õæ¥62î4c—‹—‚i70ªVgx{×Vh¡¸m¤ Þ½»¯}ÔPn]TIïâÖÏ6+{ÌVËŵ¨´ž¢"€«[*°2²È‹‹¤TùƳ–Ï"©8,ó+‹ôsRŽw%ó=ºïRˆ¬AëPÇê/dtyù×á|Ì‹Ræ:›à%.Vt%uî¡cáy¦ÑEùb-cY Nt9H7Yea—4$Óa­‚ÇVqUV¡ùù/ªòŸyn­ÍÞ»»’v•fÇ<í¨©f™¯§ûYž)ßü•³ÌO"OGüüò›–ýÀ•‘qRƒ3Ÿ­âG_Þ°ã@]Ø÷¥—Ë™’׆¬Ûú:òÆÈ<åØI<4y2Aõ›ûž©Écб›Ëvö?š6‘r!ÑXÖ.O=Ïqç8#˜>®Õ;vô¼(z-„ÁCMðu/§ÉN7¶µ }&ýç¿)Å£íßôÊ >pȤò™iŽòõÍ Ý™T'ˆÖ³Eˆ@˜Œñ}¤\L;-{˜ñ4‘-óQiì·|4?T„W¨Á”ž]PcŠm-(¥)f ÅήBêÂêÔãèã´ðk‚§€2ÉjB~¶ø“$ 9±RlS ªlK ð<šA}µlT=„Œ|Œ„&é ™ýÝeÜ'£b+QO™ŠªWØ#†â¢â&W2 cQèþ·œZDn{PäS{/C\Çù/¬Ï6’*"óC´Í5–o„è²%¹)"“Wϼú>Š¿a âÓ%µ%á,\qT_,4Âdñq¼1™,q‚ù#»«µ¿ëì]\”©qÛ{åiz ï´­=A|þ3Ð…Ëcdy—ë˽ÎC–TƒFyU"ØŒ±(бmå°H?¦Àâž| „F='Tã>yφÀë$dzº?kŠsª"¬ð¡žLB208(Ö@Ê[êp÷9•Ôb-à®17CW MmÐ 2ñE&[Š · ¢¡r;ejw0ŽÁ¥7X$ŽžO´ØŒ¾¼Ï;ì¦rbíÛävWhÞó A}“œù‡7µŠ!…ùLSŒƒ¦êOú@r€ås_áb~ë q„v ‡ˆ’!–™Vå‚ÐH˜ ¶d±Ÿ „ üðj?mþÒÚ¸Ö'eeb¾¤-oûÕuŠzILlŠRΙ%–KH5ÌÕ"3*Jö$Œf~sØŽÇñÎtë‡Ë°;©+ñ@ÅmËŽBòbÞXoHê±ÂW\Ó ¾ ± wôõ¢ª€Šú¨5”É_R:‚J~FKðÇ’Ì÷º hŽ™˜,3ó ù®­ÎÙ>YX „ê–;g’誽t_œuì-ÎØÃwaçM?¡›2.œ§¤K1щXEÎò“FHx*ö ¥:ú°N ß„ç|®Q'µn"íã~& ÏJ¼ülC™sÙϽ.hQÆïÏÆÕ»BìÁT?´ÝEÉN4u3¥#òÝ?:ðëGFÏó!3û"J aËÅt þ2V…û‹‚íéF^I§]‡WYæTè]§`CíL¡€G“Ö‹QûŒ»|ˆ§?]tPÖâkÃ3v©9ç24q±Ý%.¢ n(S˃…«S»»»j0µ˜cƒt„°œð'ã·|èáG,ÜWx¾\‘¶ÀÐ즚áY?êu%¸›xÛœ³çäObÐÌÙ7…"»ÞôsÑ8x—2¤á^$º,¾[Rë^V¬fDnëRZOžt7•hd4•‹,ñA;i7¾u”U+ü€¾sŠç+]Ò½·`‘Cck&£KdJŽáÊyˆA׉ F?·íˆN#2Tªz[øÍãP3q—Ê•­Ðj– A0ƒbqCëÑDÕ{vþô)úÞòHaó©¬F^:GKÿÍ©S^¸¯_56T®\°AÕ¢cÏðÀÃ`JeÖ A=‡RkìûBPõ÷`3¿¥.¦ÆÆ–ò2DQ¶dÈðPŸ³¢E\'¸'7¡Ñ5•*'S%jX’õ5äžuÛd•a |æà.‡yÑRÅRâ­íÌ?’<ý›|›(г&>ªñðF €k0\]?½ÅîÚÆ*øï¥»œ¹8A¸~ž€gÈtµÖIå;•UdRdˆ¨Ó‚û & ›bÊs]àcújHùÈgÜ_@’áÿûxÒcˆ¤Ôqòa€0^~-¤ÁV³ŸMw\²/MoŒýö¶Ñ㜄Ýð.íìV×@'Z­~’ cZ)—ëÓ?œ›¥)€¯Ï"ðþ‚~V†=:;ý)+ÐO(Ì:O<ù V-ÅÀµ”Ö\¬Ê‰º:˜ì­á'­ ‚gä±U®Éu¥åÇŒY?z[ Ä(> åã%Å ¨èÙ5i@˜ÄØ*/•|»ŠÌëò qç´ñBožà9@ƉÑ!)Ff{Î×fïî&SÉë– &(P%uµ°a&×=gÞùö;ʹc¢^ëÌcµ™qzüdhÓÌ‘ i'«¾Qó?¹+s¥´UhQ6Ya nàŽ]Âù⤈¨[½%à½'ÿa" d”ÛÜSZ™œ“Ù˜‹ìÆBfŽi𼵄Մ“f9Liù[ì n,oí:u=,» “À÷ ©£zlÒ&§þ0Ô ˜©ÜÄÑ S<>1…Kë·rĆKYÇ0çMn‘Rõ“ÃÔ˜ÚCÙ/t‡~  ¶àͯ3=š­Ä×”‹Lî«"…i ·Ýßd‘CÿV¦bmïí`Äz'O0å+0éͽáI€É»ä„ ¤®£z[,Äå…u>é×›bÕïàxxbF×%épñ3|_†B¨[ÊúR±»™ï/ðÌù‚y;@v.¼›ýØpý×(¯9ëøM»£d<žÝ4Ó 1ý%K·7òjã:ÃÙŸ)šøÈBÒn(í }sâÿÊÂRGÁ Œß®?#™vŸÛ•£ `ÈŒ–´é!aFíüÎ;T¦´m⹬tª‹½‚G’ëY7hÐN³ú­Õ˜ª‹Ð}+A¿EgÞcâ„…úéY ‰?Ëda˜žºmxÃî¿ÆŽšÒáK]Ëå¯<ð,[Æ(ôe’0ëN¡Â­‡«Š¼XN¤VÆ»ðJÊÕ`2òðžåÿïàF‡€w£¿_Ö¼*—0 ‹ä믶5;´¦P<ñ‹–ö{ˆ-ìm¦{®ÙOÂ"ðt½¾x¹Œ,×h¢0}|êžÔ9}P䯆ï(.äSIJ#1ŸÚFúŽYÉ^tZi(>â÷½v õ†þPÀ€.hØ×—ˆa¸°i\f]HøjçËO&·"“9Uœ?¦ŒI3•ãÊŠ  )ÿÙ:ƒüõ"´¶µ‘ÔÈ<˜Dvvjí¡í0Ô‰á]I-bNÚ¥4æG‚€Jô™R_ëy>—ýäRJnG\ ‘î¯öEa˜¬kdX²Ž„çîíäú{“‡¾g]æªúà—@Û:f‡à%a_mq:ôè‡/(D¯S¨õ¨; SVÑÖ–«”¿§Ú”8j9Ånrò]4'‰ þ7ÌÅç&‡I"—õµ8jb„["ÏÕ_}ëÆ¡Á§ŽÿâðoΟy“ÎF1ðxŒÇ ©´éµ?ÈU¶:<`c»Ÿ¡á\SNZy4& •ûl°áªRbšú™º²l=¨Tï¢U•kµ…yl@{±’êA¦&lõ›lçH><èµÑUoHZp¼ÛÞ­ý“mL ío‰ôzŸ¿SióWÇ&‹Oµ,q{ç¥åAŸ~!º¦—³äÉÛwW6&ñrèÜj}jK˜$¯âwJ'M9øämÑO|œï”B wϰíѾƒsýÉ:ÇÎÕ2À·1™ëï3;ŠzÚ¶BñâúµFL¢—^‘»=+¯T9²Q n_8 7±V_ÞP öÂsÅä¹à—`1©“@®¯àrü>JqIþ~°R"´­ÍûŽDª­>’»ïtÐëãPϸF¿7-‹†]Œ©‹_y+pEï^ïd:³y$!1¼}Ÿ<#‡äŠêÖ2Ƈܠ´Ò”@#“ù'™ñ]Õ/ÕaT&0—Š¿“埋ñIŒôÊç¸ûG|>Fzoõ<ÝæwI7OM£Ä:½.•¶< bã©T'ñbcYX# >Ó1S9 G<Â÷” 9ÃìŠÓ@õÇ”"*n~ñuÌÂW°áO²tº'Û 6š¨?‡Q¾0û8Hg£¡¾aW¼qûˆ€¥¦¯ÀÕìÝHÃP;uಽßEAµw™'{´ÌÝöý«.—«ºY‰Ñ&ÁÙ0߀$³ú®ÒZ|ÅÓ}®ÔÀdÙ U9@,O#,q/F$Xþ 0,sX¬U«±V§ruaýåãjæóÄøI-ÈÊîæ»­0Ç6§D,-¦/Ñ7|t.‚ç`FƒÊfá ´duÙÑ©Úè"§îÿJõMMEì³ÑúV,÷«”]üÿ=AÑõ·Ñûo‘ž»Q殯.ÙÝLØõ»ËV~†–en… ºsZ¬~\xÜœf­ …§t=ùlÎâ¢ìT°b©å‚îF†ng5¯8ƒ$>sm™Ô¤,Jª³œ,Ø*§¶Š¦ð`[äÓ‘Ø•±OŽ­)∋?(âG/ãÒA1þ“ö27¼I ìÖ>+Î2»ÅAA|8:Y5¨éüdo^Œ¢OGPÑT”‡lX8Ã‡Š›•…:J¸’ÎR×Ïž´G /KŠ£Ï½í·„y­|6­]ÚPàO¨•ïËhH{>®&ç çSl_ÄH,x6#ßCI£ G¬šîD¸1ª£½Gllò§-½2HCBÁxc p ò¥V’,WåŒè¼Șc#¥¨qÑ|uWb+!`Îxxÿ]Âæš7GÜrJm“ÒÌ–ð¡JÙQ¾™Ø0¹½o¢'¾ns¼¡Ú…©vþÏ¿±8 NŸWËS‘Ó}p9zWAÃFoŒ- ¢òyîy¸þCªÕ²ó¬Ìt*¾ 9î8]hWÓ®$ü2ŸþzI‰¤é‰=I3ºõf0Óözcz音~&IÂå[ØWEÿ o¶4UE¯á`ƒ (¨KÏY”»ß9ãÐÚ—·„®S`Óó0‘}«¡ýÊV U Ð ³×6 @TXûúÚ@Ae¶r“AôâCÜ{Â?Œ!‰ ày9{-öÓÊÁÊS¾]ðGBãÂöÞMÐÚ½Âú/ˆ'¿†UöåÄ$ä `Û¨8;÷‘,‰ªÃ6x×fUbB—«ÔÚþ¯í¦0fhfñûyÐV¬«­öŲyd›"ÿnaµ?2\o"FroÔ¹ðÖŒüatŒ !4i‡žæ5¹÷:¼µš±‘å7Éé¼_¼ptÐ÷SäˆÁ:mÞi—þöBÌܻޣÄî9±M\efÞ ì*¸j6û¨mÿÂ4ÍÆ×‚w֑Ї„—ËtoÉ÷1i Ö¼} ¯Œ uŸ#»îéû%ke/ÓÛ/¯Ðr-hŸÿñT!lrAvýBú&"^˜ªGXΦš®‡*¨÷2€óª)ŸšüF\.4i”wâ¹Lseb¥õ¬wLV¢‡©ïªw䯶ÇvE”ã’LÒ\Ö¦3Ø?€r·º€$mübQGA·£ävçì@ù@wgö²Î¼Ž¾õù"TaAødÜ.Ndz,¶ +x¨˜§¾ø ÇP§šRÙÑ¿·…LúX”K2N'ÈòkJaXÞ‹¢oÔÇšS´,^x{ïª ÔÆ—•W,Ç[Ò)KXÝSFèT²÷A¤ô•{…»ˆõX® :ZdhþÿKÇ…dß¶Çv?´ÎU¿ÉºÆÆÁ À|õÂ<JÇl~(•/zKÉ=OÙ/y£Ú¶ãvn&TîÏ5M³ T°_ÜÓ)tÔ·j[[”åb*¿ö´3@[Ê]p#éñqV<ÃáIn³\€Uý(´1xˆÒüø .åQÏû~»î-Ú|·¤²f3VÓ£´óŠ9 &AÂyú›–ßï¯Õ6·–ØË7çžDØ^kUm=’*z­#^LÊÀÅ~6Ö-S[ÄÙà>ZÈ)ÌŽmù/6˜<žôv½x\Ö^`×i­Þ)-CßÄó‰¡YÈ@Ô£ÕààX•³® í¹ PÂÏX9]„‘ï·Mã°aþÁ8ž3áG]°^¿ÞW/±óc…ТôOuξ7}Lð“Zm÷Ä`®ÑØVMó8Íé^Øè¾Œ¦ÈéUþEq˪ï÷Št!¡vŠ»*@Ác~[¬M°Šæz • ødÁc{eÒ·…Âîà3Ãá¡ÇM¬s¤±Ø¾ Rð%GO0yî¼ÅÖêPÚ …Á4¸5ñ¯B¬âЊ»ƒT˜ÒŠ+¢cÉêmm¥í”á {Ò€G5˜âùÁuÊ0ë ºF^8(Jo®0¿(d¶Çèì¬u¹…x¦jÀeÙÇvv2â̼½ý£›Ò/ Z¹Èa¹‰ùCã|ÁÆŽtRÁA.,Ÿû˜BTc‘^®|Z= ’Ü®:¥ Û­ä[Ò`=“+‘õvÈ gÏÙ~˜J>½ÜF3¸Rz©® ì™Xˈ;*¶ö½1‡cE„ÚŒk@KyÑ#wT¦S…>ó+ও\¸V‚¡ÏÈÖx$È~UÉi8Ý‚ÂÝÛË¡Z§7¤›2Ý÷_©Ü?‹ð 1ÿo,íˆW,Hˆ€ ›ÛD¹YèÌxZex—#4î© ©OiÑÑlº“뫼|áê6Ó"ø(ø-kõ"Xü2CM“[ÜÞ†P‰¥¹üüÝâaóAןÕþIÓp´I>m µÎ)ZXcŸvþ9äšè¼6M¬b‹ cÇQÒZŽÇ)…N)ñ´‡âÔ}@! -*Åâ8õ”×kmn&`{ÜßF\3ïª4ÒdÖTƒ‰@¿E¹¾¿0úXò(¸Ñ ÌBT¦Ðª+Y¶Ò‡OKKÿ¼ïÈÃL÷žðHаD\CzJ}TU‰Õ„[ÈžÀƒÂØ:ù=iqÀ ¸æ³·ÙPû=ŠËq«î%8$nŠLØ–¬èþP)vi¨±Øµµ¦RTÆÙДŒ)|tl–—1ñ¨Ðßn4þÃ`É®›Ú´ÁÇÚBðca-ª-Æ7q­”,rž›1ŸDî1ˆ+&3cª`ÿ„/ï'aíÙ0jIÈÌ+*‚!#ë³.–+=4 „þã8Yu"ãDR , óž½§¢W+VÝ}ÃÜžâä$+]—±¾Õe’ f}ÐÚ郥ÜjÕ Âá±Ê¡F«Ç >uÆÍŠ‹?ªóÓ®#¾•p¬&-JF¿èÙÃ5æcP‰Ä8£x¿ê=¸Ëþa"µ¡ø++.…\NY˜þ ¦êÎÁù`·G`ö&&ËÐ/gE/S÷E!ÚͬWÁJºy"4Abr ³^!ùöi¦úO›wü|¯K&´Sì‚c.Cé÷tŽe %_ •¬Ágo³Ìò·sQ›E1)ìÂá#yÄ)í}£ôÓžÚõ#,ùl:€¥e./£½;dÓ¦›@© ¬_g"ýrm—ƒj/RûË3Þ!ˆÌ«ޝþ66¶ÚWÐÀ˧»s8?+»(‘ܰp3)^\õNoîaâ6™jÀ`ä $9 y([5j¯žwˆÓ½ˆÃ¡“ aE¸âÜÎÀÂ5‰TtK!ýïyQã¡‘ÕYiktìoL †–JvJE'úιfÀ¨VƒªûÆ%¬“IF7º¡?ܰ ‚ÎÔóv>–«w© t ý1doQ°)w‰Ï¬}^’¬ûñ™~ÎàKNÝ@&»"•&DM’Î\à#¸I13‡§á|6ÁÂn©„oâDéÎÂ鸷MNC™k»Ãv²P,ôÀÒ‘­7ræ-Ù_¬EdIû`X/©Î¼sìú}Sé÷;*&CðcÉgÌÁÑ]u™!¦Ð Žtù7¦‰Ÿ½Û-M‹:"°Ç×’\¸¬” ÷ìªÁî±Ï>ã‡üpß“‡Uê€*Q­¢öÅ)¤“DLn0¾Œwåý&i²¬§¹ŒXàÏû‰Òz1ƒô˜5K˜Ò€µ×Ù“t·™l.ÑÃrfe=Ë’rfF®,Gî7ÑZ£#ý\9÷²0MßE ï˜â´~>¢V¡;p -ão4Vîq½]·xNDíIˆÝ¿ÊjY!¤v~&z4^>ÆsŒ?úGxèðýú1jnxÃ_g•óyö­Ü‘þÐU…„.ÒÅKJ˜˜É»\³U칆X.#$„ÎîE¿%&¶Ÿ è„é±êVcÏM~c×A~Ï0;?_Y¦3úɪz³ÕâýUÛï\½¢áHójxÌøJ ÛÆC]Bý’»ŠàÞåàƒ`|•_…Àdv #V½ PZZ_eZ#È)ÇøËÒY"P×a÷ RÊÜŸ5n‡ƒÌ[4ô¾P÷s´Áì•Ü®S¸«Ä w0X““J×i$ÿj^(¼òÝ:ìÈ—-Z$¥^©]6MK&þ$Ažº÷JžàOUÂâµß˜4)ºcd±r‹éUDþ¥˜NJ†êÓoDöJ"• ‡»ãCÍp©|:0¥}!ù®â¯ÙK’Ç´êÝÓUÖH’äP½ùœ§Ær¶€AW £ÇO½à™¦½Ã¾Øç㧆v~dׄE©݆Ò1ówa‘$þYÅ»â%qè?½Œæ¶„è_¯±±±*t'ÝõC"‹¥noHЈãF†[íÞqQÖœ¬@uÒ€¤çî`¢,ÁìHõ¨W1ˆCêoµÓ¸×„åøZ0ÿQÜoOã¢f„%f&v_ÑÖa» :Ö‘œ¼‘iE_øÃš’©~¦1B`ÓI*ÊeXv¨ªÕ|¿ÖO«¥X>qÓF®È¬»²‰ù×ë`ˆGë+¼xêkp…b3Ž_~N‚ñ62 |oMÉ?«O:xWÙÐ÷å9bQtX{¢‹1aº)<=عw2©DÐßHpækFÆÆ„‰Ÿ'¦*tv“VMFÓ‘Tw#’Õ† ¶W`æÅAˆV"ØÃÓvâ†v•ƒ˜ò–ÓSsFv’&j7Ê·3Kå|[5ïIíÀÏöûgײ%Ë‚Vÿ_y0BxB͸".¥ž‡Y˱ýÅPëe{¿µ…äH¥ ªØoã¯>Ã'WÌS 3ʃä–v0‰rm™ï:óûûxrn/‘=pHê¢p9j>¾¢öo'ÙO¦ËŒž,æ³C ç’é÷ÛRSá+!¾.‚‘]¾…­ö0£ç°Ä`;­8ùI@øÌÛÂŒùu]§Kb C8ºÙ< …Ýð7®ßñ×Fë8Ý—èpö€î—[õñö¿J—ßÒÆqlÀ¾V¥9{×Â)€'Þ•ˆ%rÔ¤÷¦û˜6Z÷†y°m—Œ™dõ4#ݹ4Ã\Ïä©v%ÖÛž/굨÷9[î½Uv˜Ÿn3ꃺ²¹r@~UX‘ \ío?ŒyÍXš4XëØŽö³+»Á2 õän@3ËŠëäšœö€žœ1 æz@Üʆsò žyOºÐÉÍø¸Ö²¹ÔzÙüÄ º¨žæYëéŽ UFñäGx×Yäà JQú¨6ú-À(mÂ<]¤ ‡’ŶnÛ‰‡ê NtÐk¦–¸_]†¿sßB•ïŽÌõßÔç´Eðr(}åu!›´$8V™ð\nÛ1kÝA@dYU”ÀLáŽdxðy•§BÇ™,)a|hruŠqêtY·Ð0ͱ¤®x7Æô7ËØç¿?#++?çóëxu ;)¡A× gÂR%A-ñ…Q8%Þ‰°ÅüND‰¦þëÛW¢{˜ñRž¤Ø+Ó´›Û°©æ—nˆ)¢5ª^¥I‡_v’Y3eÞå¡”Å÷E []fðÜTßJw2§‰pDKº“ZÐ+&$Þ# u©zÿXÏV/ í˜ÎY—ˆ-68D‹áêÈóDI:.ÜÆ9ˇÍÐ`IÀfrõÁ*[“‰Ÿ]r¤ \z#^7ê啌¢Ý°ÖÕ „ÐTž' "¢¡4yh+€ßÕú뀺8Tíg XÕ€˜Ï†%x¤¤ñ ¸›ËרâíÁ€d:v3?žÉǵtMhèQ}OG¹QýX*;èdñ_N=ËÉps–£‡V ]Øw0`ZíCŒ ëêK©p5² fŒŠßqÓ,üß~Oцí÷}ÔÍŽÛãe­ .$Å ô=pO×Ö*žÖó»§xžÖý´Ê(®ü9‰”ðvÌx#ÿ-ÑGé/Ûµ—šði$ïEÏœ`¤Ô ³* ´”•ÙOÜÜù &'ÔìŸuZDUý¢°~>´VÐkŽQr’$cz.{ªçÌ÷Œµ<ðQIë– šƒ3G, †m½Ý´Aë£ÖÁ§ %¦Ç}Ç€¨¼Ô•Q©S8d@Bï”á¤"¸¬/†w ÷ê “4¿ ̽<é’#Géb·MÆ$ ÷,çÅÖwp¥…ÃÓExb¬’#Õ§‘Œ/nïj²ÏškkÅže˜ý]¬NÏ'’Ÿ¸Êé$éb‡åV¢ sXmC]¸]ÆÝ“–Ò·EsØ‚²q àÖÁØzæO?6к²—»öüzg Ÿ¹²,Ы­)ÎŹ¯eÀfÀCü_É:‘¦´Æyhó ¬“~änŽûšN\>$#ºw›gÕa¿8B‚mqèº$¦7\-¸§?ƒ[×Oº|3*7-Ò…1;¤aÔå80åü(_>‚. .•¾«± ’iI 3~Ç1µË#ŽE.O¢ [ì} ÌÀˆ”F€a}ønÛÑþd $m)û]Hw®5­ƒvT[ãf@šB¨.¦:§Ù É`:ý:&¤í " ÐO¼Þc¿[jVu¥‡Ñ6µú–¢¸|³Pwî‚t¯óHà«»¾ -½ßâŒÈ%–þzri<ü‘uÂþ"’Ü3~„MW ¢tŸèWåJo¥Í‘ÉXÐ+Œ‘½ 9î:•â&(öðÊÚ^aá·æÒؽ;¹f1-ã›h—8K‚0Kj>Ñÿû¼Öº£L#Ǻ*Æþˆ7f(÷oÖ&J²ye¿º&ç¡?Qù=Wä2ö5u ‰è,uøš“JÚ/$0çØËî;*ÁtX]ñ/)3ãàC‡iü±t{ŒÆóó=ˆ}¥=ºÆç·åBe°DÓ-8ûLDQe¢—Žé£·ð©%aȳӨ݃¸–ž÷ž€AÛÄ×ó°CÿV(žDÒ¾{/ ÈÏÄWýsò°eÕâ¥Ú<äï]S‰ËËÝUù©c+ÒdDRKbÖ6+hŽ6Ôµç)?zË}âñ-ñg¿J&ˆKz±G$U ñÏÓÙµœ½u…Ñ^é´7QK‘ÒvöøGvž|IF™í# æp4oãøã©ºD˜54G(ï`‡¼©¯0£¶®›eAŒõy/cVdžE•™›ÎÚµ;¨;ê~6w&žÛ+ C×ÜáË¿"æ k[NJû…¡›‹I®Î+¤'ÿ“z G¥—¬~w2ž†n]˜ü¦ÒkãªpMö,†ÅÒ`jƒcÇU©~Ï8Ô$ÚzÔAJnúÉ€€Û#¢¢Ó/-š ¸Ü{Ö©¨j#_ˆp´ºÃß7Õ碡ãèôUGê5Îø£‰²‰Ö¤ê÷%^$Ç1(Ð7üãÐV!«bI¤© Õvsƒ„â‘kÙå< Ý6¥B(}j2… µ£—U~ÔI¾?½Z{¥ "+;:8t—=¶ ä³°†näõªMSâhJì’€‹[ï_Y~_ûñ&ö>ø—„H“L v/Ÿð%=b[œ¢xÃiOñ>34weâlHËǽ•I»áåös‰HÓ‡êY‡öM z®àüw‚ eÎk§«6Jzð¥„g?/‘ÜúÿÊ(`z§¯ãÖ›ƒ*¹uƒ:~Òx!GwQ¸DB;‰f½ÌÇë·dˆeSi7ÃàHô­;Jq6º~ç—à€¼rJÈÂ÷"JãTœ;µ¡dDtÌs#R‚ò«w_6ô© e ·OõšBOÞpr„gW‹¸Ý4çÚ~JÍQ”xÄ—^ÚJE‘`xf“7oñyô//N…ª`:Še‘äT¡z÷6ô;có¡ôˆ~gñ2Þè;tÍ@ä|2¨•!ÅÉÊü,¦³cl¨¸GF¡¦á§¸ICü²j ƒžhÅÕ–1qŠòRüÛW3`hÍý½f6úŸ¥ÏV6º¢%VÉýøq’i{t&4ý†DUÀz_râÞX•/4ë>fnP[C9ø3 :ˆ'}ïR;‡“ÈÔœX˜ïË×Àpšyè¬7=zœ2‹ô—ˆýíáÜo©´Êu4ÿÑ>#¿Ð&v˜3b>H)´;•Ô[€² ®+bAÌáÚ̆EuÈJMiêsÑ ÖÿnĬ Ía½F†›xº¬yκMK}ÅKç€O|õ,¶n§ùÄ~ËF5òž¯>"Ž0WÀ,¾Ûp̶æÐ¶?ç•`8¢ìU·áïN±2g‚ön8e>üÍž~ëä=ã;i¸‚àMn…J “°¸½¾¼,!±þp|²ÎÀ¨¼ />ÔÈ:"ãK7ˆP)‚“öÓcuâ‹›ÏA%} ë™3šRJêá¥'ÃëgˆẆu*f¸øH;6€ñÑÿf(V*ãT©C÷†[E¹;>úÞ+$xIóHø½Ç Ь ±@W²Jõ æôzÈ»‰“vq™˰¿Ñؼöt££åWÛ!œùõàÐ)RÚK¼†x]ÙO¯LJ=¾›°íÖŽúä ¾¬@ð2øÈvrEãiøÔÎm¶×ƒXQÆ#vŠ+$0L¹®üxgC‡œÛjt=݉) WbÆž’Ÿ^C;é±o›dŸš¬QÚJ÷}ßÎ\eµÍ5õâ“î‚© ÅL„‘ÕzûÉ>9T1Ø4û°¥Ï, aò ÚÕ]p¾–‰h¡ÔKì .”Î kËe¥ËvS[¬ÜNG†Ðr˜ R1òÉü²ª ÒªOýª¨ÕtÏ—¹Â%ʲ‚«k4 6!{á&ê5Ù˜5À \á^»¾vHm@Ä—EÔÔcýxÉÈ'ž­Bå”Pm¤ÚÝùT£“·3Èùm_Pž!ÿÓ„àù͇bJu=~Ÿ.¯ïtŸ@‹„E·p ¬Ê`ñiT$CŽÎ©†6C—-±El†HºµgKßßî6'1™vïbY<ñG¾bÌFO#,^ª²¯4þL—Ï6Ë^m”¿bdÓ(ÕÇìÿ™]¦qEÅ)øê’3Bèâôß™ë_;ŽÆ"¸žf\JZ 2ŽåV´ ¼rËäÏËbÈÑ­?¤´ÁŽhnD£ŸHê‡Ýô>ço€¥Êoõ¬¼Øp Èg; €ïKó˜íj0>ºÂNHæŽvî¥Ù„OñðüU¢O0‰# ”ƒÕn‘[fѰŸÂjïÔžrŠ‚¬‹þ2ÙRÉþ‹ðøhv W:œ"s7Ä'qaÎÕìšAT颅 K7^>¶w©ûMHà Úé<|2þ¬Ã*(E‘zî¾ÆØ ÜX<•M"= ~tIÁCD‚ÀXõ’ÞëvÜŸ‹I¬pLtö•%r‹¹p”ýV`¿oÅf"Ëâ²I£‹>RÎeÒ¢+¹”lojÜÒp5µ.¸âàVÙÿ9{…qvRÐX ÖædWnH:QÝ9îGCMàûþ©#¢ Ð̦ôÎÛeÉ:q™gžþ"Ú'DC¸°Hæn¦û¾¨†(Q{$1<.=³J5Õ‹›k;À“p\‘5(ÅTˆ§wÁãÁ{¥Ûµj¹2¡•+²™|¸ÓJ+MÖ§Þ‰– Àüñ{â‘AH$ÜtSa¤}Hé¡.žbŒ+ò#yX”t”²Þ÷^@u¸uõõa——Ð yIÜkaMÔF°›IK®¾ˆK,.fjŒÌP›ijÁ+j‰F€ôË"< w\ÉŽÍ5ìiKú·$w‘×½á,Ü…ZôyôZpá Ð~œp¢/>êÀ’}@h©þï€ðãòà{„ãXŠäêŸ7¬™«ß¬ôÒÁd´œ¨¦\¨˜ÈVZvùÜei'Þë!©MénVÙ*ä[šg$œ "OñOfβɀA·í&ç@ì͵u;¯/Ä9&Þ+ìÈ16·[I^B®>š'!ۡѧš‰¹?fÀüT²k=ú~ vÎ7h%[î¸÷7"àî³°¼Ìy½ï%ÅÃS@÷‰ÉöšÁSû›2¾Î-]ÞñÔH¼ éFLÛÜÌ’ó¼´kià³"7"69Ÿ«ãTeP’#«÷: ·€;ÙúÅ ŸÙ4œæ+=Ô¬ch?°ß½1B‹¡âˆ*Œ•’d«ÔÎ( ‡ÔÁh,vLÕ(ÍâˆI•|öÆcG·O†`ӟЖ)OœØ HÜý½*ò4M9Γ"÷(ç佯 ˆ'gñ=^ƒƒan@ýJ°¢ê‚àJD}Þ7šáÃ×Üò¾#š³J•ÚØ0ÐqV;¶7†U!ÓGo ?r“s´³½?Ò"Ž+h®,œÞdðm)¥OR oýz„¶ÒȺޠóvÀžaOîL!õdüyâke§Ý)ØáÈ0ï9çé&L›ënV÷Ä,D ”O~Ð\2Of²[\§z’qƒ¸ÒS6ô—H7t_c$eþ"K)¨²ÿ»iŽç5©õ÷ \ï·×‡O±8—RVˆ„¬†Ä{(Ðxþú>N‘­æ°‡ ž˜n=t¢|8|V Ã/ô}·#×ÎGúÅ­ ÞVlL³¸MP¸….L~¬çzÅ£ Ñ¢ðm"½Ö”¦ ª§í»¹†DâóJ»Æé¥ïtèzúcú‡»2:^û+¦ß¶æüÁiýo8 éX1ð)ÌUÕÞ áÒ=ñ¹ì¾‰ðwÅm͉9ýAKѺ*±¿i­ß”»Â‘ædóO5gÌÛ1š‚ikù9Q=1`»-XR8[qÄ>§–u8¤öIº&! XÃf×—«ÁLϯ)g“]&›³NÈ)Ò¡WÓǽ,’#,.²v2s#WÒx3mÂ/­Â³O?tŒ;·=ĘÑ`?L„v–F hU¯‚)Í7Á -Ó~Árh™xÓŽì®ËÞp ó0ȇ„¢%Õh¡SÏ$N\6°p]@Yp~·¿d¥½Q!©¨ùæÂ'z;ëÛ—t‹™D¦!à/œ[Ø ;nØÔP)úFý¼ml‡Õg†Þ{’0F5\˺ÏbˆfvkþcŽŸK‰F[Þ/𺾅É.‡Çå7xû£B;Cb,4ü)fÈÏÌ'ÍÂÂï:¶Aþ’¿ÔžÎdøv&„¬Åvá&šIÖ“…t¥½„»j½Î?æÏLj:ößï ™‰b_×ß±`Ä ÜÏ&2j ÉØH8„(q$ó¤½tè °h²˜HÝmNÑZDæDããߘ°¹L’¶ÀÎïÿ¯UL÷7À b:>d–"Бò½tÑQbÖ£™’<ÔñÞ¥í²njuá}w’ôÈ |ûLòÉÇžO†Î2v8ÙJ–FÝÖ *·ÜñS  fÉK f!„¹{ B?--kÈvÈÚè©Ë9œ§zçŽÛÙÃ@7ú5!&}RJ‹™‘ ¨%¼tbÐþ.’02LóêЍîZ·¹GI’Õã#CÏWeà…wCl=O4e3÷ɯPAâÌîqµ€(€?hc~˲_·ÞÝ“G†óhäÌ)†µ"ªu“ËðrgÂz¶†”©ÜØ<ù§zže*©s¡=|¢À"=º8Døá[3;…ÈŽ/[a¨QŠ<œd FˆÅKÁ¸e7=ÜHY ›9¡P×c™Ð9¸0!y•g4KëèÙð(¯¢ŸBƒžó{œÕ¥šríÏg »¼.2Qª|/„¢ÓVOwíЙëF»;ÃÍnôªQy° ¤0j7Μ”þBû<‰XN¶µ÷Xˆ}Çߎ2ê|޾-§­’öN•8ùoÇË:¸Lå/XñjÆ,íÄ" »K5“û\êé˜ æ¼?Ìâ¬yn}}Åcx¶u7ݱÐ>RcK+òàäcý‡DBù“™Ot@‰s°ú0ð¿$|‡eÄ ŽÑ‹x†C/¶tÆNG€íÉ=ïDšßø5ñ2ÒŸZ³Å6+Ø íÀà –Yxö¿V˜6íEöÕ!O8HgO²UO⑵C:¹‰A?“+stûÚi3ßâ›õ¤¹t!-–ze¢ŸujSªá0$¬ûèŽP‹|*N{ìa٢µðaˆÎøgah ¢V¢ùh^Aþrìß:ÑNfmÑÅ ÓoìÛùŸÐ5¿Ž+6"y…N›Ø2ÊzWÈÙ*IöÑcMM±ð.ÌЙ!âXC\³ÓÊRÀ "Ú8™»~³NéÉïKζƒM',Ü/tIGø6žÅAÐNõñþ þÈéÄY…ÙŒaÖŽþ•˜OÚ5ý+h\¥cØ0¶öç¨ö]cêE¦<×t2MyáùÒ(!ô¹Ißâ…` ÚVg‘V—Õ.POx¦øôfÇÞ3°(ÄÀXÔü"­J-zò+þŊݽ9;TˆÒØH/ݯ}¦ M: ‹l,Xq»I®íá–jRÔëú@Ë(&·ì–b®ÂíT’µ5Z­™™ Ãô6·ÙÜÉ NS¸¬ôÈ1¢?VÝý+qù¹–„÷½²‡¤ÛŽˆôÚ~”ËKï˜;XÊåM—;EpÂ%¦µ #N2ŸvRj'‰×É,ÍQÑ#¾p¼«J,¼ZI¤õÕø­³¹_ɽñÛ~ˆc¾vA7¼¼DÓœ²¥¹w¤ªxèr2(06m#;#gÙ‰'ÈSBl°·Ž¹¢'kÁ‰ßƒdYIø‰°~ÙP ál©>þÓºýk©Q¾=’>Yà©TÝœE»0ÞºDšªÚ4]\E7Ô åFS}0ò×%:’£ƒm‡<ÕÉBgó`ÈvJö´-—E<€_ÈšF(ºŸLªÆæ#TáçNãà›/~$@sõަĿ ³v€²]ÁxüÔà åÒã®`-Î]X¶BžyéI±Ú õW%ë =ƒÂ “À"Îj󀊶³Ÿ=zSê§ùB ¤ÌŽÐ-Pˆ·Û×»•é¹uO&bm¬ž™ÇvÇYÃp_NxC_/—¿èDÝø«‚}Ÿ³ ƒœÏõ9Ô¡­/çþ:ßA`uqÆ5Ð o\…î&†têö8`3 fP ™CZ¥ß³Dfã„ßw†5÷ê®}DIÕN"„Ķ:¹ž 7Þ7[Áv#™Mˆm že§ÁÖ~œ1Õë38솰RìÁKòI£8ݾâYix)Ï“ï6¯H-B[2MP^†yùWWpLSC%Nà­Öñvœ¤‡TŸ¥¤&u:ŸðžÙvYy¾øHG˜ï7ëuØ%Îâ?ZÚðÔ~87%},X5@ôNч}~`–"Îq·¨âª=áuY^öÄä¸+(¬)Àk á™vÓÖÄ‘ÝY×ÊÍäOéŠwLdf"‚¨ßÛåÀ$´¢Õž£ÒE¼±7¸£ïpéL@…ûï}3n0¢T­ïÔâoꈹ[ ¦WŽŠãVP¡æO'ùìÛTbÚc6“Ì…à lÔÞ ø£ÏÆõ#7ã_5žpöŒbÝÔsõùø±W¥rnðëáIøK¡åAr¦oðw+}¯Üõð‚µæØúf,1q_üUȃA!ƒ2w°«ùÍ¥O·ñ»õ—˜?ùè8…(ÄEs)°þ¿vÓ¤¸¾ÈqÉ÷/‹P ûè¯Î jïÊŠ>V®K%)ï[M¨vH”tÖm€á Z'+þz—¬÷££/T¨‡Ù½G]GÉ'!‚#ÁŒŸÆ\Â@3tðUóuÝWŒøqGâ›Ñê@]‡þ‰ šµ ¸á(wˉÁŠ™,î…ÒÑ>ÏqÓSÝÓår eéFán’ROÈŒ©ºy )iR«=iBî_)}⛳e8ÅyÞwzPõ§¬C•uvzx…`cñ>}À1ÍM©?>¯ÜÝág bO9+¬t¼½«¬S­„Ì@cc¶O|žÐb°áiÊ£®6½ù-õVj÷($ªNXΈúÑkß+o`":Çø#¶ Æjf°8óV^g, ‚Hõ½W¡/¬U!¾<©/w¸ã· ¢-“‚ÑþFõ·F¶a=bßt~8û唑JÖiz¤dèwtªñ Cý(ž|å‡Wƒ´Æ…Ál væ*Å" ^ɲšb?®…7Âx4Úò>8ëhM:ƒ¾pdåwdWø‹ÁoÈ0 ¡0ïúÔ1ö÷J¨`‘SÍáyº '¦ö`¿£WçÎ1ÿ Ð-R5çmm~nè+–ªNÅðcYw`O,_güÊæ,sÁAΦë÷§l»úœs+ž² ûˆHwë…òŸ½ˆB—.ØX;(cªºoØå$£eþ‘¨3@LXbÊ£<2¬÷wPí&[ è$Z–x ÄõçÉ‘Tq9Эöh:FÐ"dx7wq"çü=6ÈáÞç"sŽ%Òú‰äÖJÄ ࢊ¡¬é¬)5_ƒÈС7—‚Eë{sÊ;†ðŠøz£×NÌU­tACÂÐoê…ŽMÐòŽDê)nÞënÈ6M’^´w¢8._F˰-òsÖÃd~Mï¾ýaί — Á%‰¡¿kV=kÓš&0K•Cí¥[TÖ‡šÕm:BŸpA·—¢;ˆœD?ÀäÀ{A¡¾8úÅ‚{ðÑÛÈkŽ­¦ÖPíél ›å‘ ]6—t ™4EaᎠžÙ¿å‰0é@¤“gQuyƒ;“d9>B EËì5x%h°U¢ë^”aßį¬5­„º™4÷Á^{Ш RáBøú8Á÷“Þvù­wV¶{ºQ¾|d¤ßðeò P™‚„ó7ÚÖE÷”àg¶dâžšEÎ}ÎÑ_SíCËÑbBüS0No~Ѳæ2ls«r¡çÌÆYñ_'Ìœ8Çl¦Š±k4pÃe¥)rôÌæÞÊI«D1‚š±ßÊL=tJõgÁü%B6ß*jL‹‡éÏ÷JnüÀ Ï+6*õ¼Š®õV+TÓ§ñš6íaí~¯S˰jvÓ+~«ßAA5 êå…6ww.x/±KÂo¦ ÿiS¬ø$Ì+­ò+U”>É–±!&q¬~ ¢ËZŽ­ÅâŽb:ÎÙZ=ÃÊ‘ý(iЉéFãðl“Ó¦uþ"t¾ÿZ®Ø?§É–ýU™¼š¡¯>úÑo­´,gQ¬)koÿ)2Rc–yAb>ê´Â-®Zö2ÔÃΣ3°¹ùœÖ…óÜ(aÙt€Ij˱’ä>×·óžvGg[Aâ•·8U’bȶ…ËAØÜãUHô«Wàà³6“|Ôú쵨k xj‹ÙîüÆÄØ€Iɱ4+ àÐÃöŽI#ØàŸEáð¼/ë903–™êÍ&#`Ç¿Õ_7a§§c¬örž©qA^¼âÈøXt¹©‡¹ï¼ë¼ç—z_ &¼¢ðÁf­R—eœ÷¾ûq—4Ö«[C¾‡ü4Ý|“ƒ¹¼7ÍeC…O½®Õ @øµ>¦TDi…Ö¸ï WÄ ˆ7(UoŸV5ÇûÎß9Ñž&_-Wä’ÉJž…fÒ.¦ûƒ±J*Þ&׆òýiIP—eYívýÝ)gµJ›VÇù,EôH´Q*Yí@¾õ¶å·ê;\ž/j–꫽¤G6Fù`–ÈY¼k,‹†oÙÏ?ÄÁhOïW~ð~ÅÂ+ÿWñæ¤×ìÛZ ÍâÐÒæÈ^êU~èñ’ŠdÇ@w¡æoÔÖÖ¿õ£Æ 8öVè¯Õ¿z US53%R¡>V f~»ÿ¾w(9–e¿©×OðU§cnj.TºxEÑôT4l€a4š¦«8`DC0¥.6£Þ¹îWŠÏb(`+˜tš d Tß3^b½m;–óØÇ, ºš:­Ë?5 œ²nÁœD¦÷Hå‘ÃF“ý…Ž:wà¡.UíèÆ´!K÷ãiP É÷“Reâ#s2¡Ÿ° #94¯ÍGÍò=öU¤ Ήy‰Zç{“¥"½K¡FÚÈÚþHbf!äq*ýîá§ñg®HßøVqPÔÒXÛ×6 ’ˆVæd¸{y~"eÀÍï8ËwcÖ3ÒŽ- ™J߀9ÛçWIƃߒóÉ‚ìÑâïʶUÌAc˜÷ Ñ R÷\ri71EÅ©rBÇ>bkO"u‹¿Þþ‰Í™"ÅM'á MžÄÝÁ8È–ú€Ã"ß:±H‡†Çñ,Dž°´€\MhšžS"Jo˸$K£­(ïÄÊω•S>7X¬·<Dsßµ2€ÉÊø8Ò°ç¹C h‹â1â.nLVC›fl—:y?zIË•rßœó粌~©°lÚæìKžðëþ6JÐ+rŒ Äz.ú³«µMhsB‡yå±Í0ú¯¤¾&¦‡cV‡3ba®K‰:ÍœŒ.k#$“m^>ooü˜ÚtS¥QØÛÕ{šõp°;ÐõDT° Ck“ƒO)×–¯ƒh†ÎM7ˆÎ]ùeïÚ!ó îV ’x9‘U÷סêÖ ‘ˆ6y߉¡î×Ò›¨,;ŸÙOsÅ3\a·ß¡·9íLî‚å³ÊØŽ­ñÉ*4ÝßèQ˜O´3_ø|þZw›H!>‰'ÝÚ¼–cQ ÷”›ðkF–OU1kªkFLùÏš†ãÍ ÒÓP[œ¤ÐSCkXtøcBF²±‹€~¨±ú:!Ïð‹ÐÊ:Z…U&舾ÕÚ þbx[4ÿZUc«>>¸Wˆ?óq›Þ«3ü[··<ƒÌë™Ð¿åÇÈ"0•⫦>R© :\¨>,“­L" ÄŒ’Ú$«'Q^ ¨ OÚ‚›¾p'ÛAøû'Iš*Që3“F¶;^*Öïö¤ã¾„¥',ÏÉ»wÁë¼ñ0Âg=Ó^_Ë^û‹±œÕ×CüSm`K†Dê¸×˜íIÕø%,¦¾Áµ¼Ò2¥¬sò&G ±± )èÁ7Z^åƒ9’èN3ríÀ[_ BÂcÖl3 +­Äí° ö8ÂXgL8¿èÇ”× b›ÁlIu¹f¾ý‰ ÂOu Õ„ùB6 Å;zφ8Ù:ÌHæz¢ }B.§YÎùpÆ ´àÂŒEe»ì4ƒY¡#Ó¿ÆÁÚŸE?zdE 9;/‘Q> |›O³Hø BÆã©*Gs¢ö:Ñødå­¸Žº÷Õ;ÃÜÔ KÅw8Ç÷Õ…:´b0‹Ê ÃÒe¼©I•5ýÏ‚¤ã«r*ÔðÛ5‘£RïWPpNÞR¤£cª8ycŽØ›r¥ð„Áÿž^ݲip-â¶Wõ0þ¾gOèqTñÖ¯eF±9bîmxF¯ZL,îËá føâçHZóUz~-NÉwG‚D ZgŸº–>§ùâq5ZåÝî8÷bÏs>°„ö•”Ý~àÎj™Ù¿p¥1ü ¿ÒçÏý.Íc± c®oµ@M ¸‘E÷¹ å~pKBo‚ú—Å¥Ãü°ÛK\zÛaµš» ÒQ˜HU¸¦¥dIÇ{òN'dò¬Õ$a3¯¹›ªQž×/Px9¹Œ(%¥5ñ5Ú-P‹ÖŒ”½íEëMn&@f&‘«â ï¥Ô±®7±c”îFªè XïO}ÜC‘œ½ ù[Žù¦š¿õ‘ÜB\áçß§í¯Q|X ×ÙÔƒ/LËô8qu.ÞªuÎé)?4SY'ëæÈzUU2Qµ܇"qý–Ý5›Å°¾6¸ Ûš«Zl³R~Ïùùí¦¡çn±×Q†/Õ࿜ÅÓq Çh´òšÊt–@ä¤ÌL:»¦&’@“ S`1íå…+Ì{çÉÈÇ+üu‰g" /»bÃ~vmÑI@o¿Å‘1{Ôb.xîÚ€B=Öá„#Ðz“*†•¦¨ÊÇh3ªì'å!ó—ýýF¯uù R ñýH«mú€¢ý?Ó\v¯nÖîÔ§u­zì*’V­ûÙ¬cÇIè,b£5J´½cŽâ”5NjkÉÞò¼o)}1 u?û ?ßÞп§…M÷¡Ìi÷<ûÖî/0J”òPÅãXq°ÿøÑõŽI=ÜIWÐ=‘RÌIy耵‹‡Wñ.b‡¥Jœï¡Ù]uá¬9>B\j‹†%¾r¾„ï‘z§H8L¶’åú7µB~%üó ‚jÆHð4ä¶|ýYÊRŒ¼ãÃBÅ:‚+¤›‡mÈ»Bœ¯ð8@®òÃhÊð]/µEW&&GÞÉá¤4þ¢4:´Ãà^ˆŒr#+NœüeàCÑoüÅ7+VÀ ¶ý8çÈ’zšÝõ(¸¤|ƒb¤é¥ÉªK‚»¶õÒ*"뻊ãzŽÆ£#¼è^­/N÷1^†>Õš¢kéË` aµ¿ù¶‘%¼€«Þ†9¯ÛöýÕʼnÊQâ°$¯ÖÝ\›˜ÿp°n&>qÈ-kù ¿˜<êq1#{2Bi@JëK_T5ãí¸nûí‰È-B­ûÏPMT[.‡ަ÷]”èÔ¾/:þ ÐFxL ßLd>zÝöÃQ¼¯4$ÞÂOA_­Ïe²ñ›88§0eÿÛlYÉC3@€óß,¦®‚ó†Ãñc– ïA&z®Ì’[zµñ5|¥}f: akJ⇘Š-G™¥¨Ò“†x':©¯gÕ!WÞ§»õ´µf.òõ+Ÿ}¶ö-fœ‹IöÔJKR´)W,eЦRgþž{Ò·=˜]Mïõ m?—Y;à¬ox,| qÐß°ClüŽ ñ¿AÐE5×ï[­Ñ‚øŠ ]rOñ÷+$ÞK›òaY¡ƒZšzìBµÏL?huÖ:ЛـÁ?Êß%!–O%üoU}ç•¶!»àwñ^¹ªû–PlÒYON‡]Ê›´JH™_ÑÉ F¤x@‘¡Ai|W›óLKØÍÈyA™DVZ‚ªé¼($íþÅ»Rc}ÑèÑ™{Ru´ŠôúÚºƒ=†ž k.—hÔ™ËvOëñ;‚[hCŸžê@½ò±ÈÇËâX;Á9ƒÀúÑs2­ÔŠB×l܇k"R‚c¿=Õú£Gþ…ŠõÎW x²ÕˆµxÕ@šäýðóKÐZƒU™e|5®’ÃßëÏzÔ$EkKý]d{œzPGìæSÄXüX×Ê+º€&U1¡ºö¯ÉÄbµ2ººúh––ŽÌfÜÑ 1g‹r&âMÚða»–Íà7Ì$9]æcÙ‚éuoóq4þðWHòÇI0šÈ·ˆ&œäö–à }_°€óÌoy$r;¸xïͪuÿöMª®5} áÆx0y»ÊÚ¡„Шyø¾&¨f¢™Ù¥£LÐùýáKÜ `›2ÝGö æB/us-ƒ$ÓõHÍ&Ð ¨ \ä‘j{v\vú¼æ@‘ž1éÿ-¢Òb€(ákb¤ß¼±6ÓÑwøyw{2ó¼èØ…vìß6'"åTSƒmPˆ—Ó{ð¾H¨ˆ«z–oàÿ&iagÖ^Æâ$P­ôó¿VÏ+‘ :Ñ^Qü„)¦ÁÔ0‘“ý91œR²ËQ¨žý±¸AÔPH×7žÞâñòVÃBìë*,»ËîáûëLoÜ¿‰Ç`´@XGËŠ—¾8ðÏÏ«ùBÊv9[Œ ß¶'4Ô—HÎðCh’r#×om³òÞô„·#-q(0%ïî‹àq:1€}¡™§¤Ö UÔ2РeÑñ«Ñ%ÖµBÎ8%´™{‡ÇEcÎKÒ^­¹ǨHvÎW¿1‚5xÓJáWêS¤Ÿ`ž¾…E›±æÕÎW¦§Ç%µÄú-^~é¾LÒgbÁ¨îÖu$#eßÙÏPzë4¡âÛ »tX‰ô@U¿“Öò!f€6É (XðüùRéW„F)¬‚ë}Å”*~²ô“fô>¯Õeb§|Ö“1nÉÄ`¾±öw£ž=*OX‚jF2¨CÀÒÍçÎ1‚‡BmŒˆŒ§Û Á>Ò/@¡Èã!)½@3Z±5­ƒW›}’Î îÓ3›#D€^ÒΊ$îYªŸÐAͲá‹ÁìTã˜Pù‹™u¬gxúHQ ^nIr¾×˜Ôéåšpú¤Nš6ç{fü\¹‡Ûù£&à;Aü{²]ÊÂÝ€ædó'Õû™¨21ÆB:V)¢ G¯5íÝñ ÏÑîE³ŠC4EK}LÆì 23ãD<¿R-ÈGÌrtâöÑ^BóNn˜TGµª7 Ù»Šôàüñ¤{-‡1t äç+/«º—‹røhŠÒà¤4æ.%\4“G)íé=FXF¬[ZÙë‡> Â9ùù„ÜBI9ªþC𜽅ÞÿOµÙÅh( ,Üc³[øÏZ ˆ}SÍ›³) Š›Kë2[ˆYFº›¾Éo!½SÂ@*Ëgÿf9ããÊ–ªù:"a¼Dø2øRò¯ê$ŽizóA¢‰ó·˜av]©½¡|\öznwnö —¬ k ~à¬`þ·kwú‚’Šè¯ÏÈwq°ì¼ÌŸ]Ÿ¦–YÙ®å+ÄmZ=ZèíòžÔùŸÙV.œnžx)J¨KKŠÇÿU ¤ß’ÏMû¶–PÄh<ˆ'7׆3Oâs1‚¹ÜÎõNwo܈ƒ¯e¶>›! i–º‹¥lì:r‰V/‡Ú+æåÏS¸Ôd*aV”ø\úG¨Óáã÷êÁ‡ Üøg×’{`˜¢Ù´®h~*Žô‹*ÕŽè5U^Z‘ð¯‡y0^ß{@ëYf=ñQÜ+¢œÚ´â9® åy«c*AåGºŒèº@ÕR!œ·W`—¹p Õ‹âX±fÀá©:ú(&ØaõƘ<ü6ߺš±í[)8&ôZ³¿ccö›ºX4M(ø°vKÌ/;ßZÔýû¤9è4bâ•,fún»ˆZý,e½{ÁÊ€‰E GÙãïj$Êt$Y(³º ÝjO©p»­v«€·¤ÄHÀ ùÙfï3£rãFT%ÐäC^7õŽ´º¸ÜG\}‡•$x›`µiCº\‰dX²¶íÝŽ;}àg‰tæ¡KS&Tv–÷!‹ìIo®ŽHÎ~ÑЀÌúμîÛ=ù¬ö¡ßpZudЃYÀ°Ö7ÉÀDþ;ñåL#AÆêfö0€LùÿìGmF©“š.kŸ†¦ ïþ`mW”†z¼~xûÅàßëQ:€ÎyGá‘”…;­¶EÛÙo(¡ñv OÉKâGEþ8Ëÿ³šZ"¿ÈXÇU¥£ƒ$Fì{d(+Š–„sMúòü¢ôeò;ZâJH%×ö£oE¥MçÁZÅ9Ú×üI^âÔ˜ZD§*p¬uw"Lض$ßWÝWõå¸Ürl© Dý#rFIlÁüûÑŽJPVÈu×ÁÁË´COÞW 'ÄÉjWížÙ–Û= 5Ã2áåÀ‹ Úòpþ±¯°Gî¦ç‹&”3$èê황_µ AòAqi­³}Mî(6cb( _}Uí/™­pzÜ_[ö×ã9ú^°‚)f€éÒ?ËŽYCF;y%œ`PP¸ òp8lüÞÌoVÂNÌœªŠÔ¶‘&ÓÈŠ[¡ñPb÷hZÿÏKpPA9|©[¯…wOnLë•ÍR•{$:æ×F¯nËÛK µ¯äD¢ñãœy7%û¨ùï‚ ¡Jƒž(Ü9BáÔ‹ôL?6ûgÉà tÝM>•"H±:b`BÊú2ÝâÆÒ™ºRû„‡aÍg3·7äØÊ(õ¥-áâ©Tf?ý~Yi¢èøÍÁg£Ÿî[.¶ÀŠ°ÙˆŠ8jýZÇdžó࿦›®¢ªgìÌmHâ`wÊÿe²Ö®$ATpäZ^îàÙü.¨ ¸¦}à.M HAšµ?²[f NO¬W4­<â-ëq»”(¼çŒÐö<ˆî±Jæa‰PR±ŸÑj8|Ñ4ÂÄ¡ç}yÉìŒåÊÿìõ5”[ø”[Ëíì/Ľ+[DziÞÊÖñ7Æh|4Tf%o«.Ÿ ¸Ë|]¡äÖ¶Œ]ÿ2÷>3«ù˜tfßâÞa»ã!D{ƒ\U®€K´iff’lõgw·&¶±·àSíµ^éPÝøærhµ§sðb*ƆõR##^-öñ#¶¨ßÕRB9=+ê7†3J¸­^ ๬„ÿr}{Qéª÷²¡o%Ȫ6^׿ã†ä/xƒ9ê™ÕXQ/ÆÖeú%íƒaôØ`åÛ´ÍöeÅGHø½ðÏ«°Ü'K¢_Ê•$y/•âÏ¶Ž›ŽÅÇÚ^á–§¯ ¸J’’“}Ú+ªiHø&›$DRF;”˜ex'¤HjNpm¸»vò¸P€ñ‰/q²¿Åx~ÀO FfÚ®ÞzvÌ5B)Œï߬—4JÁé,K¹´t<µªMˆž=y–7šÞŪ³–å}ŽDQvh›¦je™5}ò5¸C?ŠäXˆÿH3`De˜Û½6c=h!4˜¤–öuð½/û¯(áªÊ"²³‚/n‡TlÓd'Цèw.jóeÑ«£|»d ¹ÒßQ½à5ýþäƒÞÊ¿ºÖŽ‚íºd€‚œòX1ýòp›¿)3 N+ÈÉ+ÇØ$ý/rjRrtÀÕ(ün¯ýŽ[9Ï:1{›ÿ\&ùb”®‘§~s+ÕtÝ]ç(ÒXÃH0ŠG@Ü.>¥Uò™uS.rp;¯>dûãã-*úØÝW´@ù²etl¯¼ý[5i¬‚ûÄ[J’§³T™@,{‹–züjÇ;2<Å`Kc‡ŽÏ4©éо\ê|ô©:'=6]Ê´Da£Áªb;"Œ&ýìÐu@+eÐÔÎ[~°qµûg†Páž©Â[VJUÎOp ý,Qwä7Où˜gÉTZóB;’#K´±ØüëLwX{4ÕW”Ø…züˆ¹Üre îêù}àÌX‚ µ'~¿½8ñ#0ü9^Áà ªœAÞ_¼ÚÕHnÅò}†¿÷=z\bW®™óMü6ò)³–òƨ€ò‹wÄ„czäi»€s_pÐ0Ùs:Q»5ê&—žæL›ß±¨\è°É[«©–å´Úkî–q¹é¼G[ž ´Í:–µS1“ dx½¶sñ,$U¯m)æBfíýBÎîj8ãéÃN„™°Ò¼èrúûl¢0ˆ ÜWÁ³Ú­™q™_ž8¿kÃ2JÌrpìßëŸùóÌZ#»¨ÍÇ“Rʼnzº”U¬Š‰ÅZ½?EÚ°UTmØ Éhÿ_M£f¸î£Œ e vÒžæÞc(Ln¸½û¼'ÉÜöéúålâõÄ﯂A Êâ“æ1Ù³´–¤[sMîoÝ|÷é½âFcnů†’tèk3Äl·×Þ:þ™ñ›!µÄ™:€X$ÓàplZ7$”Lå˜1ÓcÄ š4ÅffEaÏÇ‘Wjv“²Æsíï]ZPÐ~ýÉáYfšcüÕÈ™.ª{CÇÈßA²Fäa¿š”âzß:Ôwï´þÇÞŸ"µ³Y¹dú¹ïÂFZI{Zé§² £v13ø]Aæö”‘S¯'åaÓñkæ±xdaKŠ…þÈ{ø§TCR°\BWÚ7ü͘øÂÛ‚íWTZ°C~–ò'‚oëD”>µ×Q±ØN—9È@ÅW(ðX RÑȸia\2†¸ ú4®õu¾’Ã{Aä ‡4ÌvÎâ7ÖQ#š„øVí1F…æì²¶¿ÅQ»Xê˜èª¿ùПL–ëðuxú]=÷OêeÑhü6iH›8O)]±– âõ™òòŒ ¹Dù‹û©š•*ý+OaÅŸ6-}CÆa‹°B¾1Á(¤fö›Kþ_ðiÙrè©ÊÞ‹aœ´óšÉ³l*ã“j“cgÏnÆ×*›Ú˜ò¨®¢/ÉúàHjÚaQ?_âL&§ý]ã,ªÂì-`JAâœnÒçéió2á’x©1CY¸1oEŸ?³Mç5’š"ò×4yèËZgpáå›Äæ,þ WÁiœ#s?åßàëJ0UÀ¾õ«¶7únö}õáu}$×`ž—ŠÖpúÖÅY¢¹Ì 6Æ~β*cÆötÐG Fðï›Øa’n3’äÝ »\õцØ|SÞÙäý‹Ó(ºh‰m@-ít»u‡SÇ]"ÀUšÐÒƒc¶ ðTõñmc5P?aø¤YÓ“0Ž.…¾ã =*rÏÓb¬û±¸! ÉÝëDm¹Äž¶iôhë¾¹¦c˜ªä¸RøPV‘S£n.JÐA¡F¸­S½Î0§Cø³ëkOIÅG2Îæ9˜‚Ê=+a&ÕJÌz)óúo®L;|7£”dø k°|Î=؆¯"’“,FÕíü¬ÚŸixó9Æ„çió“'Ü¿ XîæAù9 ¾'ÍHî•ïzì¶ap¹a¡˜ì€úø¿^–ȹm=ÍA^/VŒ/cvj·#zIcºCQp½2|(õUŸ¡ÍmÅÄŒ»‹¢w€Îd—Ä'íWàè+Â5úcêA¼^A‰q‘DÏ¢T“½d¶~ø¬÷5÷Šes€‘X÷× ’¼ãØú+Æ1 TT×·ØP*¿¡¶®“ÌæùS(ןVm¾ü.µKLCµ¦§UEtCœO#Næ0g \nÒ $ûÚ˜YàAíôY£±9ý¨öB¦B =fžâ •望xº¤" "+ÿ<ÙàÅ@;#$QÉ·æERs\ j« €nsÊ PHFͶ!€c±‘LlØ?Ñ Ê¼TÑ pW7ß1>«›­},\±ý“:?=¦˜Y¶QúOŽÄmc‹"š Šk–zö “<$„PH_‘9úþ½´WG 4Fo…¯³KáÒ.¯Óì²Aoâ!ç×%Ñdì¬L&§Å?œ(´õª÷\¹üå7UŒ‹´ÿÂ!A<õ»9.âÃâ•çÎhÔÜÍIÄV Q‡ÞW3ùÏ šI=ÿéÀZ?~µ-0«¾SS½œˆL` ¹1ˆ°ðZéÍŸB:7‹\à!¹ðz2$Ùïλ4®ÂÄÖ6KŽÖ§]Š©é¯0uüÂ`»`¥B?ÿÅùÓÁKá[Ûƒˆ!£¢_÷¶­ÅuÅcÐŒc‘싽BI Ïw}è°¤ËÝÅ„§Å9â ^¬Ep¿©ä6Lƒð$´MªQªžu•hçåáƒÙad*‚ T{¼êê¶õi6ûn~l<ó­¢-gëÎ;¡Yv‹ÍC’‚«áBJï"У ZÂÞþ0 [^>b胳mù9嵸â㥲 0HøFA…„¿n…¿±ú·K¢5‹Òd‹JiÜsÍ)ÌÐ>Ž›¦ÿgð቎É÷ ‰uh-)H×.Þ²õ/êó‘…¼´xÎMõeáû0´ûª¼ÛìÒòÛòT^AETïælŸÛ’± j::Nÿ‚­\‚{N¹´–„o÷IzÄ· 1´±äâ»B ,ök®è+KEÄæ¤hØ.Yëv ¢#ar<’;³M›o¤àÎ׆ê"RÝd”n•M O…0k±ò1è>¢Þå3AZ †Ý/zß)’Ümµ]÷¸yÃqô#» Úð0xúù†Ú¼v6Ý‚Éù3¥÷ ÿxŒ¢;Q½2¡Ë]îp”«Ýä¼n4Ü ùÒrLõ\ï°RíÏÒBoZRõ› æAu4ÁŠv_òuû¶ýÕtàtÏ5óÌš—ùêÉ.ØCs6pd)âCÎ?äÝ¿ì·áµZ›†m½Lò•ö<†˜CìQ d‡ÞIfR|Ûy4mW[ë÷:Û­Ã;†.s0  …Ûÿ î¤?ºqHVÚ½[6Í‘”¡~&Ÿ?6óÏ©QHðºÜ÷(5ôd‡äô™V*áÖ¸”Ý’b3¼1>Ùiñ‚gϧ ½û ¸¸ÏXFÚ ug£6aTrM*ë ¨»º!CªA ¶”´Œ‰ãÑ€ë•ào~a¹ ؇d«7=JàÍQXÌ~|v%¯¥ÃÆÙMKž¸ó@§öÝj—àz.¢?;Î’>š>…%\5‚Ën¿âT"YÕi¶`P#"+WûWôKÞùî8aM¶©˜Óø¦~”j®ÖÖ•âÿ:U ¢yuú²“ÆDÁ¬æ£öàÔK6P9•p—© ›ã©áÁM+X³ Ú“è÷¾ì) ÂÞ/D—Jß‹‚•ÇÁ¸&‘DÁdÛüùî»æØ¯]ÐGՀȭ¯Æ 9Lg&nƾCLµåasð>—:õå4ù4è9ÖÝsË\•›Íâ—éTfOJSÝO-´Šç(}/ä\¦ïºl m¶Ä‹Ø žÖ~·½Øþmƒx„ÖpÿC#¾ÊgìAú¥ª;§ZÞ.F9í[5H/倠‰¹øÆ–« @F’®»ûêè*gÌ(#OuM Vv½N!l,[ d™Ú.ÿzC8_Û=ÐI)Ê„ììQ¥,K×ý™ð½©Êp¯õ‘•v@_…Ev àÃ}ÙHb}~ˆ+¹S3 Îa3W°ãÐlèÎÕÎÍ–Îß@¤Ù3#B7í¢”œ¿¿ÿ{o¨5ÚsÌÁãmjh/sš cÁ½Û&'Ÿ‰ûoî·%­°êÕTeÇ‹ûÀ Ü‚–(È«)µ¸å$²d>³"Š„N`w˜¿è5í,ìQ/ý”õ5µÞ½*Ô¥ˆ–ßhl®UKcÂW§9Ìqsé#ŒÑ›B„ !“‰[¡vT3ÿ–öÑ»  »;×M–Å8Cm1p«:À·Øê;rvS¨ÑÍtG É x¾¼ö·n—›¦lÿé¨ÐÊŸ‹G³kêCO;þ»øÜy‰cƒNé Þ½ö¶¬kšö&nA>a?Ó©KpI±Á¨‹+I z„OÌz(5œGÄÝÁWÂTi!ÖʽºIüŒûçƒÚi;~ˆÅvÚ E¬ \s›"©/‰±FAÉZI4_}D+^™Â€XµµV Ù7&ô@öñŒ7ÐëÀйŸ_¼ƒ)‹–øÿÙg°œ{«ÒiÞ÷饷èlÔK¶P† æE0hcvø¤Dxa„À£×­ ·B ÈdQïÅ´üŠƒ?jZeÕiÇÌ?Í«’£]g ºöz¾…lÓi8®-VS G¼–}µ³\!kÅ@XvÓ({SS^ä¤p„·&Õe½sdìøJ¾2½UËz;¤ T ’a¯n°k7|z¬•ÓÛß¶„TÅ¡lúä‹r-†¸ƒ#\±xÚÍ~„÷¬6i¹0[ÚTD–Ü0Í%ŸL©{qŒö—5d´4¾Yåe哊á(CLë/?s-˜”f"–Ö8Ë ðdL¥ÞFR0eò( i¥º×BCº5íšõG“äcéLƒ9öÓò6±«Ó°Š‚òÖëm[Æ@FH¨AI¢“æÑfLe}l”÷eêv1ö朴[òÃ×ÃqôÈ7gÇ8û¼•zng®V6~¥Žx_<Â!Ûnê»8jpP-òjjÌ •RéaEV§Â ’åFøÁøñJ¡}«³Èî‘ÍÚ˜“ºÝt2Bš}f=õü¿?£ŠcØä’>¾s^톖ŸI$ÁEJ"ÿËp0H7š 쬠ûÈn 7YWp$šÀÞ:%tp9`´nß7‘ë)?rÜXù±—Ù|g¦‰è‰|sò¾¯ƒ¦qž»³!º4E¯Á8“Ÿˆ Á%ž,ÍâD™ Üâ9F.çO 'dx8ïWƒeö)Æf'ŒÀ~9e'lDÀ%Æukc(É3ɪܙ˜ë;œ×Žœ½ÇsåŽÄå‹]'ß>RÚ$…º.sû@»¯VE×ðe¥]FÕìk¦›— NѯŸ »r(•pN" Œü«ûÉé~³“C£V+D}ÒKÐŽíæ‘£JRY`0j^[ö=öŒîï…±†XZ‡Ž;j£Ø ÌQ„A£hŒ_0”&2 ¹µ}Îû“³°¶p+á&¥Ë8͉åU¹Ê#)?õ„zoÄŒç õ^kÌ«ªÕ[ÐØÀåìmöê]õq#Œ¸•bW˜aåÓ+K).Ì&nqþbü)(;CçÇ%³½YîÃBd"=3ˆkè  mç¢QlqGÔ=c`­…á¯}оلíT?Úf„»8E²ØJ~üF"”wë|uõNÿvß­†ÿö0Öo£Õ¸R·ÿZÎÙ˜)Mî§eûÞÇ+ß-P±l—È:™ûäæ\P|o|¾t:­¶¡l§f ßr‡Íå+kC¡°®‹j¬}_L±ð%ÿåî"¿Õß òý†ò°ÁªÉ7Feˆ…Þ‰ i„ÎGÛ‚»à,u>]R,îy3©JÛ‰V®\´:”m@ÝXÏ ˆ€”жªöéñkWg§~‰»Ô®¸CSYMÉf¶žGöŠEýlS0½ÅÙ‰ç$i–.º dž%Šæ°È™›u5rjdª›¢ ;v4e¼Ý?PÉ{ gvÂRbÑýßÙÇV»Ï‘–“ü&jÀtÅ5GkÖõ¿ÝÂ_¢b# ’-b9y6ØýrY£Õên¾¢Ë„pæiÁ^÷TäŸÈ¹…pûÉŠ‘ q«÷t%˜Õ×kzî|ØÖŒN¤_tŒt/M¿K4,v˜ÑïHüºO¤S¨V8kY­µÐÌ]™JÑœü¶ ZxµÍh zújy}É|oÕ›?îx ¢ëH†¤‹D‡ÓÙè|†è×î:Ÿz|T^Í¢ä*Tº¢˜™|ý?~õnjôºç5ãÿ“Ö>Fe‚¨&xú„ È¢©Zðr”AŸO¤Ân·Ñù“Oå«Âm#.Z píu+¾–l‹$RéNÀþ»®‹ÍRé\ëVqós€S$|±¼ s ¶ÏG>îïÚ !­v±ã? ˆáË3µ©ÙI –ï–eÓ&¦c*l« ãG:!И$QRÛjRÿœ.üxPÌå(L䯑‡aÁJA™ˆ3Pë’Ú46%Êùebk=NS….ÓVo_’TúbûŒšD1`÷ÔêÝéÏÄLº ÜEÛ^ٜ욯r´ÌèÜñx|£R·‘5lÿã;9ÕŒZSiƒ{WÛ·€¥ýw³¾ ÀPÐÈkïCë4.¯ zK¾ÈàúmÇiå‡:kìÚG>æ ¡_ybz9‹Z$&îÌüǨ¢×ÿ¨›c&–&tÕxì“#„àY²ÎB2šÎ#ò•à Uš¼:{­ /…¿‰“Ý!ƒ¸èìP¬aãòÇ;Ÿ,?°ã6ÅÄ.Wooª$Á‰zu’áUàŽ/…gÄs:é®^©„²µ™Ñ2“7z4óúßµ ÁÀÃU§¸È)¹;ÒͦP¤*£Î÷§ü®“6Hç æf"ŽnsƷ亪(…ˆæÄõƒŸ/ÿÜFë'/5>2ª(³í›ÔJ§uÚ‘š=î J·è&Á”ÊêG4…ùG?SØ»‡•¬É‘&}Ô¨S&lhê¢5Sˆ“‚›tOal2É6Ÿ(#|·e?\È=ÙgïmIÜ‚VÂÏÄTª‹wp¶óÃ9ü?à ÓA¨£Â¥¼eb±h<,´dõè‰ù‰p;51a%÷ÿ$RŸF¯ªÜl™Î|°J‹3ÇÁ²·¼Gr0%ÃN.j^ï`Xçpuåøþϵæl±ô…×’28«zpfÒm BÜ|¿m¤z‘–äÿ)2ÀU+•¼þM®µ†ÉVà/¨ð`ý’5èR1‰¤” #îÔºÖE†ZUì²_CíðÉc+˜aõl昨1’iO`çl'½/Øú¿W‡Šâî!"¶ŠÁoÁª¸öS‰¯kå]؈Ô5žƒ{RCF9Æå×T4®Az‰ÒÀp mni)’g†;äÙ“(×i¯"ßJB^ÎÖ).”Yièoïðr†åøƒšÕøÿšIs»øu:à$,ÛXP§;Ã’ç…«D‰ÃC"ù¨cnóZ¯)`ÝŠI(»É¶™+m—|CYåSU•ˆ~ÞìÁ?àƽ$ÆìßT—ÊwIîØ O½Ñé÷ŒS¡4R'€À{æ ðK"­Õ2ÃuÎTï c2ߥÄeg¼Yi—ìgN 1j L³îq^lÄ7X8 íªk@à’UuœŸ³<øañ’S¦ à ljÿï\\-3êP夼×c!TYcvÓË¡‹/uéÇoò<ù­-L±Øùv¯J4ziMÑ[:úk¹Îã %yíάÿ´ÉcØ5›¼ó%ÎBÏêþ²°ê4nçj°ÚëÂmÇŽ¦ŸUé ¹D /Ã|_ß víJgìõÄ7GÓÝ5 œŸT@HyèXœÊgþ>ZfÿŒ*#¥»Ï¡0=®(e)Òx|^®”>?{3.ïKGÃnÌÝG/fÎóœk^kÝf†áôz^·§wîŠ#aKtè˜õŽô`qª7Û½fäGeȲŸ-6ÉIîÇʤèIoV¶cQÞϯÍz0zÙj][~nš¥­& [R|d!©§á"Ç*.ÆUÿÖŒHŪ»Ÿ°ˆ«11U†>oË¿x­ê|JdŽŒÙc¹¥‰¥rÎépîÌ•Œ‹yÃ#D‚C£3Á¾4/›T¶_šGÒ]¾ßÍjnI¿b{´€|àBÓù¾¯~ü¬‹Šþ‚ƒ¶Ï£µž-Úé©T$ÈPíÎ.!xæj©&­*9:‘Lõ ¼†”“Ä)2ßøb™ŒPQ|¡å½4](|ˆ$|FNO¹C§2¯Cwe(^6<¥½z£¡ÒOnSåf¿Zœ]0~ù„~CaaØQž‘Z¬×^¦ÔVmbåP/yYý¬û!É‹ga´Èïº,¨VƒTÓ=zRrV’“Òѧ×Z¡}€ËÞÅPc·ˆh.IJÔAܾÌßÓ†; 5“/‰x›Ó1g­!¾¬Õr ìôÍOò=İFõ›¦%>A ØîßÏüË–ˆ;‰¸;¥1i7€ÐèûTæ­¢fÛµ[´^ftø´áð®zåy™Œç†¦(Ø|æcœÖ8çû½áϾ4´½šUUÚFþŠÔ÷í‹´n¶;Eüøo\±Á™¤£Qÿ`£½.·Rö:¡;NCpkLØ@tR`í|ÚÁúÛY{š ñëÐ,ÿ02óþ(˜†/T½=­|È)÷A5V ÏBýÉVŠ~D2|iü¹ø˜í‚ž—ÈŒ?º\0Y2’&Ä?!q7yLÜß§RÃén î¨'­–†²ß©»“•©\ÿªCÄ·q qò™¡?¢EMPIÆ‘GR>Îñ íxSÓPUì€?o„•Ï£v1aÒëª@‘;wR’ÊkûÝõ¤Ì i×ÜsÇì=:.L¤i;àê·µ ! Ââ™N—SÌÞ±ÿ¬Ì ¼¦üc[½~jc³µWÒ:vÌô™¾W˜±âg¶…Ó|Ÿnü‡>» ¨náwé^Þ$‘S²¯¿ùG..鶦(¹E©Kh×óÒ‚xÃ5üË›k—ïþ¹Í0ÆPܤDÎ=|æ¯5.4nkRŸ£ü{<#¬”!’ë«qêÓ qpYä‘önvã¹"Öüµ$,‚€àil¤·ô”Ô#Êò˵’ ¢+’ˆj>1¡Ñ.qñÉZ»w EQü™’zDLb3YHNŸBñkOC³ٜÜ)>œy£ùŸZ kѰ]%®Û€ý²‘Â7zV”4g!Ôð¥gjw#Ÿoî‡ÜgØáùFníÙ¯|úžéár€§Ä°ûù½úò-ä©{Þ·P”¨(.ÈÐàô€ Ó¹K7Pò§¬Ú~ЭÈMÃrŽm{³ø*²» g…¨gñ÷æ T!â•·© æiœ¼Ï!ù»µpÔ‡ÒÔ¸.ïèì^Î6‹€¡JéÒÏ1¤f?9œEΑ•9¦çå¢Ô*¶ÁÀñâ—aö4Ã.Æ¥CQ{‚tä1þZyÓj>ÄÚs¿÷˜Ù+¾: NÊãæW7µàÌê¿l2ÐÏA‘×;i\ëNËvsµï¿uˆ´¼&IÄ5#ÊQìÏò¿n펪KøS%¸+·’L‰»½Än ÞÔdLH²õ$3šjî!­ ëIW*˜å^ß»8û*8qñå˜ÅÈúЏ|ŒIß«ÇÅůPê3áÿ/÷+¯:Y”÷è0L#Gnxe6oñê¹÷qz7ሊšÒ{WLã5®E QE…{=yåÕþׂÂt³àÏcìÀ$§åDKŠ.ØÃDæÍ–{O:[Ö)ˆ*‘c5Q­ÊOŸDéõ¦“÷¢ë3éÂ_0Æüp½—~‰ÜLÝŒé(§yŽßK¥‰>Kÿ{¥0s1aÑœbdAfÉ ÿã÷1=—£Ï Í¿®ƒ EE»°2Q¤ãmô÷ìpHç\ªÉi«î{P1Ï¢b8ç9ö—ª¾^”&W< >üß™*ñ¤‹Ê²¨…»ìâ×áhiö ö¿ÒöêŠ$%¿™§ƒ ,ÌŸA?„ÿ¦&$ÈJ7k‚ЧnÈ+ä 4¤÷ý?¹TX]Ë6§s0Øå"+:O…× ßÎT¯¬äàÓ©•BÆRW»·5j¨<æªÞnšÀ­LBRü¥v.6{QgbÑ~*UM-ø–£–ݨ€C³ˆ¶: ÍýRv½xêä]CYÅY³IVÿ¢FøÚ9Ü®¹w)©Ì–H0å&–!rIzrbùW yZB+Ö–b]ƒÔÏ ðÊËËvô4Ô(½Û’[€Î|–/0æVÈ(V…ll˜8éÊ<t»Òv;=Óҋ髪3‘´²©½—£ BKЦàñc÷Ø3 „Ú "øqÔ8¨‘å†3õÛ‰>lcâ¤#ƒwçð/ëøU“¸t`ÓÚQ‰DðØ££ ·:À§š.Œ§dð®Õ‹ ÓQ>A¯04@±ÕP•Æ cWn†‚_zã!'ù•Ъ÷œ¡d}”Dâƒ("Wƒâ$hN×d+cO T¤Åôx"ùLÊà/®•ªüNÈù2|(.’Á/`Yh 1Öô´ÛGÁ;ZÖ¿"Ž^ý–RDùÁòbH,ü!\œ¿D~ÝÓJˆïäï“ãì7ºlýò¢íP8eã,]-‘ík{2Lß)’w}´3Âwñ`Òl®3Ò³~௷䧦߸B(ëüýxÈrW$3w<_ Ù³vžjÞSÕÌnk®.ÏÏ?o;/u©f¼"¥†ÉG˜ S2Íñ¾8w:‘ñ‘y–.|æì íhE´é%¸$‹“˜+?úÛŒ0Ló”RÚå©Öqˆ›xª‡Ä¦Ràt¤¨ð÷YLéÏúù`òg½S–^ë­y=r4a­Ž½¶´©~á`éû×¾šö¿DoU|ñªì¿Å˜z=K÷¯ `ªB(5uϪw[óŒ‰\T~?Kâ,vdJ¤v9Ýø òPνÈëß|2‡F2|[†ªT@>l)ÇÚã?~ =sDט^±&e¼þ±ì•§®ù$ÀÎ;ÓœtŒî!ÏÆžb:3ãLûE¦ž)‰‚Žª‘\qüsðŽÔÚG}v¬x¼™Hó-š˜ ‹¢ë™xžÁÊ‚˜p+fÌ),ÚmÐÞ ¼W¬€òþ.²ý/Ý"Ï®JGõåñì^Ê/³i–æÃEý·|8Ü›âÚ‡Ð/„*Rº«K I%ûn&Èãá¨÷¯-vü¾³WyŒ®n„W£Vd¢/”zö²ÓñÌ@èįE=¬ø ìDê| _¼²Ž9ÎcÜBZÐGŽZÜ¿r‘ÿ©Ô.dA¾°qš›AǹDuv«ÆÞ<¬œÍ»‡}1¨˜;ªØgëU¦Ùæ}(Ç›(9vz²%¾Tí©cYÝïè!~ t[¨âŒhì¨g•Œ/Ðàa›%ÄT”bk½ªõYeb܃m_ÒŽ­Õ). é“»›ÀJÔ´î?Ÿiô„uà—ò©âßèÙ…ÏÒÚ>ý¶ð<)ç^>3ÞhTS„­§ÿ¸ßÆ@zC·¯Ç-‘ÀŠD’H‹%Þ7_χÿ0€+œ}HqÒSë+$d—¾DAßÙüv‰‚Ó*ù¸U“1¤“+T6ï¬iÍjG=–ü š©óh¯¥jÐòVãøgE@JýEÆži%(©àå~í–Fy׊M}¾‚H/WO„ÄÄbÙÌ™Vi#À./•qúÏÀ˦£ëoÙ•¶X/üåÁÙŸÀdк‹v)ÖSj¶@ûv³æÉ “ú4Vèµ;ß7»4+ö| =°×¨@j„Ñá…¡’©ê][<1†ø'¢žØ<{¤¹¨´ÿœY§ºœ ›È»ÊÝΓ°i¨‹’~^ËÍÈøSHŽg•R¾™TûRVÅ ÇW¶ª¢˜™Gµ™;r޹*[Bà£äÅ7/›;ÏÀÈPÄ¿$«›Cß¾ðIJ—UÎo„bPÒ$ÅÅœ¹ÙÒðq”®øæ6/ÛÖþ4‰¢‚ë­ »#ɘ—Ðã;…y•¿m‰{(¥—X%ƒtK*„ñSôþßFnü 䨱nj©,·ÐÄV‰Ïæ¾ÃƒÏ?ðõ’±¡L6‹'+~[Ÿ‡JÌlZ<Äáz›J³7D?yðá=€Â¸Øš *Ö¼ô7 ¶Xf®°ÃHü][óšsV®º™%óø#Ó>ÙKG…çl0j=¼•>Ø7lt§þUœI°ýÁ^iÁ¾Ô%….|󤪫À Y%¯-€SUâ†AªG-E4Êĸ™ÆÁÄéžÛT~œï2tAÔà “kËøBÕ8‡{tÃä4J€‚"^­íoðe"áƒg²-†’åô(€uj±ÿöÅ6›æü4ÕŒ“;ÿ;Êá›ÝÇ“ñ^¼ñB;\­d¤E†¼YOlÇ*¢´Ð-y;<—‘ŽïÿÖ"vÉø7ñážîg<äSx©ûhàªU®Î–ø§•[ðåð÷I¨$À…~­Ø‘¦÷ÖE I@èJmÈQtâ\بdxìeƱÑ Ï¡bº-MšèèžLzõ®ÕÓ†Íñ=;F]=åø¯"‚ÈÃ×韘:ßä ˆZ1±E¨ÀÉMÉ©ß=L¤ôe\h _]b¨°Ã\ÀõuûYöâÔà@ 5pù™ãñ°œIS¸Ý¨QYκVµŠO"UÛ§{yxE8¢E NøØ+!†L0>^i$hÇÝêÒû£=|T…Úx‚ÿLÖ¿<´ËVjBlrWÐwåJ„ CÀ¹Pæ>JÜ£ï§KÚ·çãwª©Ðs®ç6zøÿXÞ—çåw7Ò„»NÛø"×ëU,#ð¿/I«ˆU:6 ìïÒ,T‚BV { ÖÓY¶m„>Ÿip]£c$;œ¦ äý®Í’;kVT.ïwMÊŸ ês¾WÄQï~¯/Ž;˜]Žø—á ֆʸyCðÁoeL`çÈM“_Ô€@WzeaÉ{¥Ã)ž3‚ѵƒ¯áÔ—Fßjôðô1ˆÑ9Ó×z0õÝHî¼°ÃÑ&Ì6‚«ãª®“Ã>Ó¡æ!¤"Ï󙇣7¯®]8´f‘¥Y,ç˜ 2Ûi†Ý•IÞ· Cnz #©~î)K1L?.ën²GNre[ZýoI²$‰wи¤ŒìRȶ‡8S8mó¹ˆZòVÙ1À¾íî3"¦V„îÇHîèi€×—Œ%üqÉuîÜãÜ`ζ Œ%^ß`F!nøùÎ`fc óP8ΟÚ:²ÁTæÌ_Ò«Â &ÓXôAˆ 4\š+­íj#‘7=Tßå—ÌÏC?` n91ïÓtÁÏtl½S²2ˆòW’àZ[Gd“èðülÏÓà‚=%Œ}‡±åÄFZÇÍäÐÒÇbkîñeçCp?iD¡\Ÿ™«qw"¯•ïüšk@¥]esžXqà0 ¦®DøHžŒ]?Y§ÔJ…Šf/€”½ðX/¤Há*Χçu’tóÜ8õö™“Ô4åEYäT™" µçæöǟ톎îlÕŠâe…“Ëš2ÒâVA‘‹²Dâ%¢¦öƒDT#¹ÂH Åt6ûHÞ®êÒ¹4?ÞûR·Ø•½‚eÙ§ílËhYZìŽúÄbmt²y²ª[,Fovö/£"ƒëx]…0^ Âw¸–b¤ä&{ê^LÍsë7×U‰c¢bޤ’=”„\¸.2ٓƾþ$-J"ïø'ë‡fõÁ7þÌr²ž³/©,y¶fžTz–±7âÐíÐ2wë±Õ±&ë|yyC_Wmðܨ¨³B]Œ¾öðÌÏg‚Ô &¬qÍŠÆïwÓ4ËAˆ>âx´ì%éâ¥CÝ\\sÀ9”ÁlñrÖÆM=mÝbÈbw„B[O·žôÑ#WqB*i©¨«¢º+,‰ÎéVºÌMóµL«’#]ÚÞÃv±™ Ús©…£_ýþAþ-NÔ5äåydFé’¡]oV 22\`iF¯ºo üŠÄ8Þ³0Ǻ©uw(A|9›1¡"$cØÍ«û¾±óÔá3‰¼ V°vÂO0#]+·E]«€[ÕeXèÒFåQ3,Ü,Üjâò‡¬#!N{'ŠŸu cËôI5þª#¸%¹Ðýad¾ßºš›ç5Y•+5r=ƒLuĽÈÎÑÒËŒžR²C‹hýÅ"ä³½EÚ/ù=7ˆù ’ðáú‹ÆoüuþðÌÈ Ê<œ­™)ùP¼8¹´ë_¹ZË.8Z{1ˆF£e;jõ]ójÕö6½£`»r€Û‚RV|élAÃhüºþøp‹‡¶ÅÍX·ïÂMõõˆ’ ‹ñÿÚVMñ¶ÿ]0çÀ\ŒnUd*[^åM ô¶´î?åjæäêVDïšÆ›øÞßëøÙ£^‡¥óò$÷_ßß,áÄþUeó"g“Xe¾§˜àœk©i¿[Õ'^™¨÷{ØèØ3½ØØ‰0»qwËàniur[ºX÷fÇiY.¢ À—Þ))LOð®{…¦$’Âm¶ðPkKÎ0çF"sÀ‡·‹ÚsËúµ½Îc€ÉñY’®×D—¶ÑJ'ñíÕ߸ÉK'“kG ™LZ¿8“vœÕ°Y&*:N·]ŒK!ñª»‹'}¥S¦™Ž“¢ &5,Ñ„G'¯ÁNÂh’Ǹ) ·ñ¿ªíÜŠÊêb"á!yLäÙSâ+{õ3?;«ÏŠ2mÊ›|ç\Øÿ’-çqxwƒ"Íá·±Å-h|ãu·ÝÆ7«ŽµP¯, “ OÇÑåõÇׄ *óCk5´R“¤) “±ZÔ~çQuý<0ÚAz0Ø„P\7»Ç~vü“ô\=Ï­mªëØÆq뾑‹Ù ^„,|ã?% gd>è„>¸ÚZ%©s …«`÷ûž‘8­_|)t§ãö¹7×0©ò(ó•y2<–­L5 oÚWÑY ÁòáûžÍ€Ç ¼ ç¨Å3L¼À+b~ÆÛÿ&0GÎud{`|8bÄ!¡—èÌ`*òˆó¤ö‘ý£Å£À"™ËoGÞûð+·õÄž…“Þêbp% f3²¹°Ÿê×%2+n|:4‡P¾ŽV\¾â0}øís®c8ˆ×™_F:»ðyàáȆ8_Móu2€þ+Ëûi[tj:Z†LIŠGíDNƒ›x>]óÔðÃÌ}.ÌÒ®½–·ÖÔ]O‰mˆšì4EŒ‚Ñ8Og‚Ö“k~+§ý=§Ð¤ÍO?] §‘2›S«…«Ùç0tªmX{ËñqhƒxâcŸü¿ìVØ@ί|Dl-ü¦âÙ]þ´™d= ¸·(wNc+ß5Ù¹/UÎÐ:© b¨ ¦yëm&CÀ””šÝž"®$¾iÝKF7^D¤PÀ°:ÄT ú¯WNõ  nh¢pú-m¬,yŒ¬éÕ{ùç9Y¢#Rç+É?ÚŒŸ”ô‹¥:[¹ö³ U?:¿ïíº–å˜¶Ó2¬'>~j9Ÿ=Ž˜]ã)”ÞLs ­ì,¦Ñe²pp oñöÄ›¹ÖÌz“P¯âŽ.cE‹¿§@J޶£1rq>Ó a:]4ÃVë–¿–QXêzø\÷Ç Ûl?AÊÒYñòF<±®yº±,j嬺àÏšÊ –—V€ßVf¯§\­(‡ãtínÂ\ÐÌîåNh; ~ í§s;R àl¤ö"ÏŒÚîOk¥J;~=ÐÔr“òÁRÿtJšþLƒÀÊ–,éYi Â!ìS[þŽ·1SÇ6ÊLî×(XÒÅR T0@&1}!ü¾?þ[~þ†8Ü&G8ä%…eª=c’õi‚$AI«hÆÚ ºŠØ×½vf›~eW\PfEIWs”ù;è@Î_V¶Kub’[Á­z­,;íÃMÀ?yŸÌB*+ÛÒ0ûf묃‹Ÿ=ɃGÓn‹3: R«½{A)Ö˜wÞÅ.fö!ÐtDÿ'œ?æ¼»] ¸œT ·Î¥“G¶y xP?5VyféˆÊ¯q°ìvqo¥úB­…F›6Ô©+B©ðsÖ($w¾3Wî¬0òÛGx3rßÇe(¸èb‚7ž{gû§t•IGz‹uøKózOž¡©Ïÿ¾QHLEÝt1XÕv~›A€Æ‰±²r@~À9Êî¶¼#Žek[¾ByÝ0Íʃ›´ƒr>“ïe(ÝH‡. <Ø`ÖA•IP6ÊvU­ïªú#Þc}éÑ-Úwé“ëETÃ:á¥NûâT¬Kd¡Ûö…Q:+ÕŒ÷,Ê3À%»|rï ß&ñm7—Ó&÷çk3оàwÕ9ˆoR#EdªOXjº¾o@°9rž­1ë•&ÍϯK.$®EêM„Ö0£Gk0ût?õ÷Õ×þMãã0¼«áÆzâ&±´Ašx*¨Øxv[d Úûñ¿:¨¥'ȆñL‘UÞe’Öoˆ»ìQåðHâÚöêu$÷X—”»Y Õ¡îá˶‘Vvbè»:ý î¯Ð¡#ºÂ\¶aö†CnæÐnÅ®Â`$4¥ Mçvi Óòz…¿‰v Æ]Pfäç«¢ ªÜ’ÿ4ñéú‚ø+o9åÿ§Ë]¾âaSœ1sPªQâÖ¿±é¢µ ²)-¢¼üEöt7¯1-¹üþ9$üåTR„šN|öiüfNÿýoG$ÿ²ñz÷9ƒïH›³=AtFÑ(Õ-f¸éÏ5?ÚA{pýòF)TÈ89 fQäÜoTÔxLkuè}R‹™ÏÖ‰@,Ä'¼Ž’+ÚÍ`(S¦HK\I„“Ò Ëå¿Ëž†ttÏ Yû)w£z¬oçaƒ¸ØÑ¡•x†Áº¢§Â+æ\ÊÔ¤ï Ü s::¢#æŒA5è&Wp;Nû‘³Ë÷üú·Y/°†õ,*ÿM’^™Ý2DBº¿Œ]—-K}Íö *Ç÷ó50vUk׆LÕßWýåÑÉ»²A*_T­‚qºÞSWìþøÑ”Äw»P™XÆAO Ÿë¥J&C­J?-ï¶C¶”33ïZ¨èdkQ•k«àÂÌb—Ô ]·3u…¯@ ÚóŠo{SÑ›Ñ(Pæ'Ð`ÝsÍ[óý­nÝÊ?›5"qU#»o€M’NGŸ¬çIÊgõ#Ÿ ù"¶ óÖÉœ£ÈQ&ÒB¶½sÞJ0£¤ýhYÈfeÇaˆ!¼“àRÿbabÃÑârпÁFc³þÚ>W÷§ÆiV©´'JÃàôÆ®ßnhOÆ@ÄzD‰æfj”ïÔ: gõ{¬Ü#ÅõF¦W4‚ ;™€Œ ñ8‘±¨jC†v#pÖÐÜ'ùx›´»Ôo~ Ðv¤š@½>­Ãá`Ê1ѨƠѢ’îžÇ–0Ã^_«Ž²×@L×X3I"Û•ëö1Mº[±£^vèIÞhÊ·Rû«oQ­Ä*£}•¥ +y°U¤ƒ vi)·ÚüwaŽ zLÂÍ’RøÒnwá'¤ ]¿#G¸}Rùˆ,\¥ßåÞ®Vž%ºBëK+za+îŽË5–"nÞ&w=+TV“ZFh‹Àà}‹¥§/xJÒ•y!½òÌr†t“¸Ç «ßç8ý™POØæM× ÝOœ…ÕGÂ$Ü·Í$n:0ŽÂ…³ÖʲðãGÉÅÆ8¡ó5Àà[ žø´Bª•!N¨Háô¾Ì%‹,é.HrPïh†qcfi¿ëÞMŽÚ~<’¶¬}Tèz傘,ò4Œ¦-N #SyËküÑé§¡m7ZʪgA.A{Iöl+>{dÇ_“Wi'€êW¥à ' ª²4‘Ð…žœ…€ÆÌºD¬ÄÂ\ò{Ì—!Qt;ƒ¸'oª¨L„ª xsiè(·â>¡†Ío]Ö;86O•Dž4G)q†Ãßã¸ñTƒœ@– >wÈÕ»bÛ:_'Vºã v{AL{à”í‰<'ã ž…ùØb›dñ+C7‰€,þDO&Ýww7¯›3/ ÓçØï=› |U¢`^õÎüãpÏWÆÑÜX'Ñ-ˆþÁGÇÎ5ÓG’ð-ËBTBgË8\ ØÛmI¼„™Ä~[Ø¢>Rí‹mTHònq àS.•2gÆ^0Y´]ZWlØFÜÅEA¸ºr.4Eiá³Â]’‰±U-'ÙËËRy@‡!smJi©8†…—v„Û‡–yEZø‹þF²wq-6;WãOàô_Ô².y†>á&õßóf°oC<ŽFÕÐßíU¬ðR sƒ¿^÷;sœ"³÷D`JÜA.é¢Aj {e¼SæÚ^kÉûÛŠ¥Ë.jZ—ûü¢®p¶ÿÊ¿VµwwØ€!ÏÕ’c©ì!Ć´å}1í6¨™du8 :ƒ`Þ\à˜™ûwu„[2wšì¯ŽT=M6Qeû÷ëºÚ³¢mõ±ûE'l@ážØV“e ܦi[†?¹šÐ)D_í”`§X&`¯å¹SZa½SZÅŸþ ùÊuv„D|zOPM·»Å–ç?ñàÿE¢FAGý}ØoãøsW؇ŜŸ:uÝ{^ë¤üˆXë;¯cRW w»Ï®û>̦ ’+-›RYÞŒÑˇµ6(1‘òÚõ ðô»9à¿’¿k¯«ƒª`dG‚§>4ÁIø¨Ju–ù½Ñ3 …Þçq:‡¸×? HÄNš‚z<üšÂ›°%žù¾"§ý¢:ˆ€ ö9š<ÄÎÁ +'î1±U3Àm¿¾»qoQ5X¬aŠ÷îQKU.A,¥õa¹™ÈÀ…l‘yvc$¯—üp•§zb8à‡ ?N©ˆ ÃP[7„‡{†çXA`¼NÃ,NÛ £Ä¬CpØ<BÖPPò™F¯æã¡¡Z ¨«GÑá¸!Y,²Ðra¤&Hø wÈgt ½ÿumܹ-û í)#¯¸­®Y9v˜µ¦Áöªƒß»0Û,°™Âþü-rÿYÞzóûÛ›qêV&4&%?ïº6 _ÖÏàá\½}îEYH­-ÓYÜÚAßßRQÞklGe†ðãEpÌ%ÀV²÷…ò†ïç(D”Pî׎‹Mo%Pyb|õÓˆh8µZeV¼]±xi/>’ö; žŸú?Dœ¥NjtáúšGy9Uv g 5›†fÉ›0þHôl‚5N (ÙGtyc‡$ËÚŸ[:££«o¸ÌJ‘âþ ”ï„ÝëþaVøÌ2ÁùER—ÖuóѦ‡!¶˜×ï€å|ó¡Íy7+Í;P^6ùõŠxiö«<¥¾;½Ð1º…%“¸6>¢%­pü¿[“–d"R‹½ÁÀã–uâûÍØ\ Ý~ÂáŒY §6¥¿9â?Þ=/ž¨_SøQÚ·apç\úã©1Ê&LÇTßîUŒÍ>T·Úð®“ňŠzµÕ*û?1¨ºÐta×·§acäŸSûÉh©ý+È7“ÛˆF,<·Gÿ¥Ke UV†í’Ëçköô5^еä&ÙãòéájLꞈâ$¹q³)éõZÉ¾ä± Ç²®O³´]=­Ð«„7Aúðaû°c®×º9Ä‡ïŸø=ì\‡ÿ½>¡Ä'"~ÈŸêdãÿ$û< ¼ã~艎&2~Õ7LWx”pr.ÄJ^0s‚rX¹0ÎIµ±]b™1Ñ?ëÙ—$í^nPb–ÉÌ¥-ÍÛ±Áy_$ŧyަ_ÂÛR¾¨ÍP¶"ùR;1ÄM¼x2iClDîŠDއ2ÙˆÅÇ®ö`nÜ©²2}—ƒ³.JüÕ¡Óª×Rôí= )¾Rð lÿ1‘HÑpŽ8Q?¦f…‘»O–ò`qiµrjy|W¶ÀŒ&åˆçù ÇÇÒ9p êÀåpbŸÿ…7e‡´·+§ÙÿÐYã†M6 l—5ÚÚçâÝ¢ž¦ÈBˆšô‚`Ÿ´àk/ÃÔèW‹=UJ…À5{¸Æä™ ¸ÕãR$\iüÇ…€¿Yúë¼Îìf–y^íò¤~ñÛ˜›Q½Gί‡è¥‘c¦µtFàl˜y:3HK¨‘4â\íH1¨Ó˜+^LP¦¤­É†±‘˜€xk~f^ kSÏwÌÿÕÇf×a±5žY‰R=ûiÓîFjÂnï`ŽúO-e›f~›ã»aIb1f?‚ýš-³âfº1×±/ÐY#Fœfbt¯6QrÑð¢;q1ëg§…voRØ&”9vÍW…ô‹\¸Ò“}HJZ©Ã¨rÁ³8„–Öß÷mk–ð¦2¡Àh-ÑòÀԻ˰+ŸŒæzÌv×d¼ºÙë°"‡!²g3£ÖiÖW^'ñ;”¼ÿ²ˆ%ÔÈi½P/L©AN¢‚€?ŽGhºåW¬UDÑñ£„+4ùø<’l§C7B5T¤JêœÆÐu 9òÌ´™ï Q‘†ÕrâÜTïL%l6vÔåaƒ’D…T>¿¾+Ú×ßxr ù1M4㑼ÝñÂSŽ2sDµóÞ»k^KÁ'Y £PÞ©R–„™öÈ€2²SVŠ‹÷2Y=ÅJ;øçX­ctà¹ÿ ÷æ1]…ÎÂ+3Û¡F±ñ(too. ¾`ȯõ“jxcAKáNA^´Øê•B¯"®G“ð¬˜EPØUhÈÒz1:“ÑäηWjÈEÒ¸æYÌ®påÔ¸ ½6þ-C !¶réã)ÌÞÈ}ª¥{Czå¥" ݺç­Ã%ª¬¤o$Þ!88j™áÿÔ× ¡ÐÇyª…$/3 -æÙ¨.º?cЄ³/‰T” gÿßx/9xïpm”ù¡Ü>F^ƒ÷ãÑ}ˆ @­nHsUöá£MûDADT™*»?%kQâLAþ½Úïè.)HÏ¡Øö~Ü^6ª=ÿØöˆÜÜFl¶úžÝD(>M0“ú½¤x L<®²à°gÚŽ2–¦n èVö\H· 8%ýKøÚ^¹kgÑoL^­E.û±røw´975B¥+8¼‚^Šî6tËÊi¢—"vpP±Æ­}éºè„Ñ'ßx=Àn[!§ø'ͽnœå*øx¢i4gY’@Ä'™ÄÑ“01yCça—q ®KøÎ tMïÌÒk»ø .¾/W<¨ µ¾ïSD3ÛTxqâô3„<¶u’fSk¹`Ò¨S=6~‰ö¶—H‰(Üq…̶â9qí—÷ëµàÉODÙzpÚM0Jô-dæ&,ÿ­ì†GfÇJØ€S¨\sôû/êòÿÈ@-™M QAjÁ¢ð”ó¤åð¾ô«5*tÄ?…#Š@Da”̈::>ä&Ú‰æ´/Ó.ƒ: fÐÏ÷ºÙ;Ö™B¾‘|WI-¦½äs4¨.yL¼ÒÏ!5Ô¸žéÅ›!E£ªð] —v²¦gï¡ÚZžm­FYÜ`=­ÅŸ†wf“sa’X¡Â-´m8ÿH¾ÆÒž¾Æå" ÏÅØjpœ;æ›ï'Œ<aI÷FªDÛGëÀcdÈž®àÀd✠‡2<µY»¤Y(Gíet7úý'Aá…w¦Ù:ÁÁ\¯k–åñä§2wð,O,ŒQI zc³lÀd‹¨÷ão/ ×áFMÊ ªXÛ+¶·T÷gSê¼(0¦Ñš1A±ö#‰èkêŠ!8Þš²Œá1>¢ç_UD(Ѱ/ù¶œvú{‚fûùpJÐåή¹O^%¥J’mèœÅ—” ¶-sJõ±zöÇlw$x‡ Ù:]±¸Ã> lý9ª=Ó¾:~Ï­¹Ýºv\¶§($ëÒìàÇÙÓPÁšð!N1©ßƒQcüž³,úÆøà¨ÛègZå˜;ÌÎ ëu…ª/èBÕZÄõtÙµO!a£ßwbÈÊ’ªU-~¼þˆJ÷Ž2å–r]Îñ]ê¡}/·áDóÁH+¡ñ|ƒä#é™À[ŠrEýÀRÓDÐnŠçy¬(ÈsWp%M.Èõäp´b´ª-w+„Úß©¹Aw±—ÜvÕ1:OReŸ‡~ßßËÞ6ñ)ÐiÖ{ˆ¹‹Ô®w«¬ ñCZ¢GÜYip¨ž8RyÝE©r< 7%;ùöᱡخpå.=TT¥SþV÷Ųý…~GÞœÛÅt L˜4!’FÁ½Uôþ>ˆr ¬+H[íjÿ.•.vóJìyÀ.¢Lbb~®ÆƒëF Áp‰11µ´öƋև’&^4sø¬4d/ý‚Z:J­ƒ r©Ñ5uGñ¿B§3¹‰¿£~‚'}æyî…÷­nRuh$µ6šòýe•b+3Ÿj£KDLù›ÐÈIäçt’x†åNü(ü»_1½‚ó"bÒÇøQ3¤qœÞ“ÞÌfÙŠ=)ß¡¶"ÔßÀX£ÛÚ›«T¦yäëG#wõVâd¹ªžÅïã!=nèѹYª¼tQPé죗”µøä4Dkð)`ZH…pòsÀæ ß—K/€î%$4ñØVž†NiÒ‡jšÍy~Ž>©-¹’ðƒÉ4+©Kw `ETÝD˜°ˆÊì’¥Ö¸±i”à™i¼b"씤jpýe–]¬ÞÀX¯GµKÃ)ª12Æ[ìUà²=€vÑþFÞÇëÐE¢ìoõ“BäBÁ7æôÌA9gô|œV#ÊÀd|ÿóÑg'9Ÿ‰NÏ^Ø¥U gÄ ó³æt[i¿è©°}°ìéñ¥ÿ¥ çßË_°FO¯ÅY™6Ì’B97Ì{rnÉŸe{ kÿãh‹öÕi*CZ•B®?^ éþÚß1­¬Ù†a">â«v‘¿°èôL· L£Æ˺±Ãûݣ["È]@DÕÂÅsÙ_¹®í¦UĺŒ'R„TÍ×â?þ½ÇW%"CoRæA¾´¶˜Ã×Ëq;ðˆP„¼³]Àwq¯‰™Zr<ñÇܸÛë@<ïÆ]/µÔ¹|bàŸ=P>-›|ºø­påÒ±Ï)2?I/Kø‡_Îí8©Åî™–C`«oà« ÀrΚ¤Ð×Õ{Ä:ëÂÖëe)œß¬–õbR®ãcBW= ²•»<ÐþÜmUž‘Š(çcæ¬ðûî<i£ç¸~ØÞ].þ_äÅ0¬î'¥\B~ÔÌc¼XñîùIÿªSPU&ƒž-ÕYØ/{ÚM”Kwy½ At×ÑO£»Ì+¸aŸ…Í?÷nÚ¾?Ý:œÌ¶ï©×² É$5·›*ÃÖzä ¤”’6d–a`ÂhiÖÌZé¸À¼mô…ìqè¡dOºû8'ŒÖ†QÄjÊÞà‘½éèøJt_Ù4=ðNμ„o_} ¦IåÃjQýÍyqbpROÍ£œJFü8°©ôöJö Ðy[¹Öm7 ‡àŒåM Ã;Cd“è¶¥xY/¶fЧqõžB8Ç0ÂZÅïâºÉr3Ty’ŒTðöfëd„©—¸º›0`}p©i t©¢©Û½éQ)§UaÖ°Õ`SZ õµˆî­¢„òs65-7îìryÁó×»6Nž ©k0b®¦^D+ltÝ&Ù ' Q|=ýìX<îÏó@ uo|ì¹:¸q¥€Á¡m ‰£{6¯¡r¸«d"uFþ¢–$mþñ_ ½Ü¥â¤]‰'Â/¯‹Ð½n†l,XŽJ0ëy­&èèºNº y ünÉì™-A6ú¦Ü­Íë¹îÝoYÉ„64Ò¬ ZëäK[ùe'¡µ¬}y}¡=èÁ" bŸ~´n½ê:í_(÷˜×µ‚x«XÎ[aeÿìµÄ)¥q‹. »WÒ ×ô%š’z0~BªMÔP¡ðœýŸçyÒ¤Çû¤Rã‰fäÜZ&´µqGny~íD1‡Ì"8¤Žþ*Öøø×¶œ» bÚ—ï}¿õ Å•¤²~®±ádïÜ’uYÑ )õøWÄ·ä_¥‡'Uí½(ŒþE¨19;|}Ë´4bPÃSFI¶‘YjÈØŽJF Vog UýÈ!ÐS0:;j´§Léyï´Ø^þ56á8VyâÀj_ Ó·)gÚ›§åœ\ŒÃöâ8Žô'p]ª¨™·*k¥)zÔÛ°¤2ìRÐVJÚ ‡u¤¹~ ÂnW ¸ÀȘÑ!>Í'ËÑ”03ÇŒ¸§F}ï÷äùÉ»lø¡=ŒëcÜ唞oú’jG°?/¢Î$HÕ’ˆ±á0©y:®ÁÊ‘c{E0دñèØÝX ]Ýu†DÞa;Ø5¶E(dì{b¦f_ë–e‘Ù4È™ù¶#´(¹´2 y¥.wõ“Ť?¼ ÄÎpÔë\\ÑĈh‹ŒÂø?©¹P#gt)šx–ê½Ðà)I/?ý<¬FêJ¼ÊÒƒƒÊ}1O„ÏñcÖ%lOÜ?‘‡bQ¸þi`Õ›Øg´$ÿ’Õÿ²NjL#Œ¦™aGoÆÒä_S ÓÃ&W öÆÄ‰øþå†t;NáJ¿î‹Pú¨³Ú3œ`ÁÆÌc/§Ðš÷Ï'€ZœXùÏœÐôÏÈ}t|ÚS«¹")¼ë,AAÃße³<Êàî†l;Wï§Û Õq¬lZm™5c 9$Û‹j¸ˆ˜ ìW4ú=nd ùg†?$jQ5NT¿œá± Ð{Ñd2¬À†^Pgl®æaÞ›Lk;©.PÀÝÍÁL^2H­§0x,Â,QìÙ[Eœ=ÎwB㇛`Lõ§A¬ü¼>Ôa. $ŽQhì  ·;9¬0‡¬Æîˆ“È­al:Nv[b¼úº{?_5g@ŒÙ—f:ƒìÿJ êŽ6 ô÷ZNy–¶5aÄM©Ì#²¼¹¾×LÕ$6̨ªvŸ™®\?ùHE7*sOJ#‡K£âû71_΢õê0à{I®ì"68u’:â¦TFQ-æ ”fP4ŒQ СAèÖWo×m™þÕýؼ6óÌc|ÒJŒ[TÙÓr³‘hçsH£\ ¸Xò4Ø´ ^±”ŠhSÓ»ò}ã,¦Š\vx2îKH"bQN—<_Œv¤CÿÝúDŒ÷ˆ6?¿Øäþî¿uÁwn›Þ ­hÜñŽÖòqqTu[Ý™i-¸Ë®ÃÈs´“Æ|oøçi î BžÎ>(Ìà òëz< }¡ßl D-ùRa¤)œûëëã çkd`çÚ{ s-eº{‰H3|&ø“¥6ÆèìܱɂÐÒ#ƒÕ þû1:ɪJf²ÿ¾©ž¦—äñeõÊyÖªŒsôÛ])Íf]ˆVˆ %Œé |<4R\Ê*„1·íeô– ˆÀde\VË&-]ëOøºtU—Ÿóå «Ã” ÏGA~“­[ðì^%Ŭ>‰fªΰk:šùUnå>CÌÉ-X-Ú$‰2:p(’« †ñ•‰:9§éš åÈŦ° ”!éýØ­z©þÀ¸„­®v1†Úû¶ÎÞ5ゎ ™-ÚG\ö‹­E-öõl©¯žÌáG¥4U…œßÌÍ–¡Åƒ.uqÆÈNu¼`"Sƒ…ésdZ°dU(©q Ѹ ³°N¬ƒL˜-Œã÷<ƒu΃ª¶e»eª¦¼{8nˆÏÄÓ£ª–>÷½·¡h‹€Ty áv,¢bj$ ²†,ƒLÇY^A68Q7{ûC‹?­:ô”ólmÓ¥5®µÿ_iðÇNœÉ†»çMBŠd´°q6Ázhªµ6÷—aAÆõ>0•0çÀaІjµ½b†™¾)»·zU£˜D¢F¢åí{Õè-Ë¿a`qK§=™_‰‹ýZÎy¹O} ¹;±¢OÚjðþ`.¿ø·ØK•µ_œáކš]†”$/ÿ„¡’eÇš Cx,S¾æxÑÏتŽECìGŒKšð7AJòÞ¨ì/Ä]áuÙD1c¦Šãѵ*ƒëîc°%h­u"WË8Îv3ãÚ%ö! ¨aêàò=è96ae­rWYw?¥_P5Ñ2GUš“éi0ǪÕ;µ=#ÒdÛ¯"D80%‡ÑàbPßIH>[™ ŒgžšCÏ›új[ÎèZó‘÷Î,ÊTw7ôß_†ošažçoÞ«ÐA9¼Ê‚«ÕÚú̼ŽÚaÅÚ7¡ßSçóí}$¨u©yRºÉhgçüúÃb£¯’ú-„FJõˆr‘]hÌÿŸÇÞî&E'W-õOßo‚AþFvùvØ­{ǹ¡_GëëÍkƒ’ïûZSŽÈžè%<Àš.c$)wë6€­¹ÑÀû‰É€&*½@çïÛ+œŽm QÝ„ÉøåŽÕÅϼÕíîE»,0\·“9—WÖüOæÁùÂò1–Mg±Ü®×œ›îõ‡ÐN‹ØO’âŸ&dCžÓÉ÷蛺ÿ4ïC%éeDŒ jt6\ÇÊü Sà4ˆ,§‚‘úìyvqŒˆíO¥d¬/Fí$`[jP ‘ÈÄ"ŒTTœ¤|µÔ{þÚàî‘ÓñþèS õ6@üb7ª=P€…QX« ÕK¢IÙöíïÒk8¤ uv ²»ÍUÉÑFJa—MK ^2 P eÔÀÉR-°8$¾•-hyZ¬ÛMH¿LþBä0»b}m@ƒ¹”XF¿AŸYí6%è´¯á(¨*=ܺçË×·Œ[œ›Uhçóª^ˆâì'\™s#÷ã³è9Wú0{§¨‡·r?ìÃĤ².SJÏHè1¦> hQÀ-–7™t`r=Æ Ïu2ÆÁ–¿5ÂHljü»s(Ô<¿šÜ´˜wÂKÌQC zfÙÃey¢ínŸ÷"šª×íyØLI©‰lzlÀTù,Ѓªq)ÙÇi¾É5¡.6ö)'„Ø×áIjÒJî3*f¾ U½ët-p"šr<ÀîxÂÎlƒ ×_ÌOA#šèD'fï»ôCŽDyØ%mÀï“ùnH=Šžì‚vcÁ¹zF&BÞbeÂ$Üøn˺~™ µÛÌ>¾´8_¥GŽm˜‰xV\ØGRÀ¯±ÈžGýGÉg+ÃÔ"³f -•Ù[“E<ÝUë6ô¡†«¨­zkÈêBÄÏ0Ú‘±ãé¤óÍ]I­f‹’ØÇUJréyÜQ‰¡ ïñ®ÚV-Ù Ôòu”ßS˜‹³a¤UtUˆ©<ò›•É´Uḽ‚uûSNFÕHUÜ -……|$ùÁ6Õ’ÔRÌVîÅ…öß>ncàwML"66WÙ >avÇ+yS„ž Íѱñv‰ã]枤CÚ¶jg¯LMwð-é1×ÛRE|¹JÇ;)Û·¼ÒÊSy^B‚*Z1¿²Á¶¡•fç¸f‘ƾ+Ïiî0zeŸ{¯K}L‹ ë[p+RL˜»Ó¥m=kžÉ: ,C0òn߀Cƒ°ÎD9¾ï§ËùƒÇZY:‹ñ~ógü)Kí5ÇNûT¯o`í¦º3œM*æ Ù¤ÿÿ™a!«ãM'™¿n=Þ¶’NPùŒ1;±„÷³ãÍܹ Š·-¶"zôÞDAçv+!r.Þ<Ì’‚µlÚÞŒ06% 6”°®g :,Œz.¡ë@þøHß/8Ô]২¤µ.j ´LPi!—_^¿pÔ2§ˆùV(=¬] „²ÇÈôg†“4´Ñ?? ¶vÑô¾†³gfNäy5α ’Aò0²ëTœ5j'Ž6q« `Ít´ì×òdZÓÿÚ×·ºÐeS/¼ëNŸáŸôýzæˆf…Êõ$NI†tÁô±ä+d¹lðÏ›W M˜V]“±ž¿ödK°ÈjélÈñ7k¨>õ¸oíG{a¸ª'îäBõá«€ù6?"Aæ Sú"4ìïA–ܪKÛÛ(o—tô›Óµ— 3?35Ö'(A}‰Æñ1¯O¥ÇöÙ5ÔKR\ß id”°ÊIóÛsV­(§ltsuˆy¨s’£Å ÿ^g Ö7ÉPY Ë;·.ѤLʆûý‡jä0½¨V’4E†¶•þ¶aX vŠZìí4æùo!ˆl¨ L‘íA²YÚÅP¤J…±?XÁ‚ïÊ ÿãƒ%Yà†\ z;Cä»ÖQeÂëÆ´Ý“Ží3¨ÐCÆÆŸNrרWiZ!ú…^Émfròz…oÐÉÑbMü;A Dñ=r¼ »wËM­Êq·¿³h_Ý'l’騃h”Éh, áC%ko´Bjg¼ŽpØaͶCí`Ì·èô¥Æ˜%Tš°'´®öJˆÜµ«‡1£<Åãå(¬EÊ¥Üìñ·ï™A| ,§â8iÕ£fˆ9öĬþY0PªXîËÈ õƒ½/?…åQ"·Av…¯“Ñå­º¥ˆF»°rR©Wý^Ê_UÔ|ÞETÿüjC,Ì­ƒ£¢½%:ׂøŒÍ`› è· œ ÊRk`]øêÆ>¢VðôOh;êm¹ƒcûUfÇÅÒg]ÃêÞ”2ÓäÕ ,FÇLt犯6øB×XT3€LP7x¿7Xu‘ƒk«XÓ/þ§ŠFŸ“וU¸£Iùû ©Yò›2¥ƒ–÷µß©}œZ¹­Ñ¸SEéàùë$V IV^I1È›T^ïñAGý|EÎÑ3…xºAÞB|Zpv ÒÕ~*ïÛ­2.ýÞ]Á×ÄÈŽQ¡àe’H‡te'­ö«—ï·ybß²D¸ç¯måSÛUFíˆ#‹Á³!Ô¾Þsˆµ“³«™Ð»PrmnªúN¿Q¼"Åâ™;ýAãçøœP±Š->óY4k±†Ô.ä/CUè· %És«úÁ>˜Š @ûBZ]q¶Øì¿ ÂàÖþ”Gæ)~vèÉ­Û’$“PWy8Àhyò <® ºé­¤`~ÉãÎ…Ýì)6îÝÌür£Ö¤Ñˆ*Ø¢tëáÂ-8:-ÓÛjÆ·BþIÑâ’pÞQU† :[wÂMðcôÅf+|Úã _†Ê(æŽ`Rƒµa>aÖãÜ3Žº€Tˆ—‘J1‚[4ü“`¹.HwÖ"S+¾Í5ÎkbÚFË©–ÿæÕ%ñ6ÍõÕûŠÜÜYß*‚Ù¼?Y:ˆ]þPñÒX˜– Q†âÓ•WPËf˜çS¦Û²‹7Tá^;0I³WT`gÐ#.µ0Y Î & æCfƒ`êˆ@E ÷×&k³å謣 `Lž(÷?ÿ¸ˆZYq{O‘©ÚD­VU±Ÿ ¦Q€tGw]Š©\9úRçæ,f¶S•Q|² ›Ïå^Â' N«+,Á#³K—ó¡išk`õ0î¶Ç«˜¯íà}FK¢UÅXÝn: àZÞñ5¢Å:ÍPᳬú—Í_dE I¡Îô…S©~òï@º<ÌIÄ`ǘO%üÀ9q]‚Ž˜N5‰p´Ë€¨¼mt¯›•¼|Èž0]e†Z9ÿa3SÄüX¯1!)¬ ÓemVüõ˜"‚œú[ÿ½xó°>>Á=qÒÂÎ@¢·)? o$`èÁÞÏs3qÞ¯l;ª'kT ú7éŠápca¼Q ¨Ú†` ÒCÇTªˆ}eÏ¢¦»f€ûÍP5Õï>ß cÜñ!(÷5gÊEU Pˆg˜m„åÎkÓn™å· °²Dpó!àל6i©”¶Âauðhf¢T\¢6è¬>ë“{B Ö ¤<ß·;;'Á|,À„Ùª%ø÷Šb)hª»tèÊ}é{Z9•q,DÞ¶gY×@–!|%×:ëDùÛ§BÔ€ñ åM¸üš…ìG©‚:½JWˆƒJ«Ù„$ˆŒ­H^²°½%4Qw ­Pf+ƒ€¿yeÂ=ã¢W‘!.²ÊÕ÷˜Q­iF¹s"©µ5Í cÿDtOiÜV×ÀaÖv>,ä”}((+ål5üÁÑ£lôÐ=WªL’ããþ®AùžDlÔc°ú  Kü$Yá§n„+³0c:š‹Ñ;9q{¼ÌÏŽqA ¤Á3z'ŸûDbÛy ²¾§{!n/5®KóÓ!†;ÆSË8ô,£”±ÀžÙBã Ú-k0(”²Š»„¢ l¨™2¼P>jTå4^dàkejƒ˜¼b’Œw§½v&_sÖà%SÂæÍxr¸ k æaþô )|Qª¦Sj-ʨÞúýuwz]|çˆSL½˜ÙNƒ~ðÈ¿^¸Ù‚òù‹G \RËø…5P!«:@‡"psï3<«NMô{S+øºoK( ‰v0}p§#‡_#‡w/üµ0¶‹S»p˜ƒWîyã˜ÉÓèÉæMtAí iv‚,ÄðšÙIÚ ¶wèG1‚¥úA»+Ô“å7+²‰Ñ­®) ˜Õ(/ Î|ä’ïø†úá¡ÇçíMFGoQÉòºè³ïxæ}Y+m?…"ÃçbÎh¬,ÿ"(ZAÓÄ•mãU ç1Ì’Õ›“ ‚Ãñà>)MÁ±Ež…‹öe$r%é©6êòº9Y]Vùðésˆ›KŽ¡h埨9v|øX³•ü)S8ÁE{;êºÓ{«Ç5i@ûEw* >ªù-'…ÊOã^ÀHÎÜPžËÖ½(nÃÛaÙÖë*]˜y—?jQÿåBœÅðÝ 7mNñÓ%ïá¿Ñ⼇ë@&€ÓŒkÀ Š»,[Žba¦ëRm©f1À®PÜ¥+g§¸ër¤œá&ùqˆFúêŒXdÖï ËÇ ~o„nèeÔ{è±Õ¦‹#Ñ:-¤á´ly EfIO>9Ø êþÆö/¯öG^3Æ¿ çüS´Ü­æõƒVmPtñ8EiMÝGi³Ÿ÷Àý OQ9&Àôˆ#! !R`b„æô’…s>¾ —8——è)ùOÚlE†Ògû‰‡·ÈÈÝeæõ–ªß5ô%$o‹S;A{…‡Fh«ÜÁB4G¦ðê¾ù ±ÔÏ:'ó6vkùÞSgÏÒ¹œ  uÉôóÿxîV¶:{`¼‡~Èð¼†ïF{Ibk™“#1mKŠÄó¼‡2ÆÛÔ ïcñ!˜ÁSa×x NÍr!,Ú›‡Ã^|7À%£¨â¤e‡æ²B¦ ðD5’N*RŒfÐ wLÞÈ!±W]ö&£jG4Í‘¯S¿êaâVz7[:’ÕáI µÈš‹¯_*ô ³yGÀ.ÐÂ^‰ùô6ÙÔã¤sþõl:kè·aþ‚Qƒ#ósY'À^GÔhk*YI»¿?À߈•#Ì•§V ‘d›#ÑIÆ¿°O'ÝêYÎ’ú’¬QF3$ìxš¸”¬ùÝ|ó#b$¼©J¯¸RJ8³HÉKp„ýÑå!Ážômñ½{„l=!ÈóËF§‹åâ}ò@•¬3”Ü“Ò}°äÎï[‘LGÉ©ªÈÿ¦¤âæå‘ÏnK¢}¤V¢w·ž}¬óúûßÛ<>'kwªÃÄI.—¿ïNjÿù,BdðB“—z ’ËÁ<$OChh†úÃÇK¶½vjí7ŒN‘^a¸Â¸«AØ*.é“ô÷-êY%/Z‘ø¤Â»³z´ê·à’ VÞŸ37:/Œõôøº›7ÍS&: 8 é¸~p¸;”¯UO¹ÝtóóO›•-ø ¯ØØW’àÓ+02o{Í’ Þ6ŠÉ6>‡ƒÙ¹MÎ]ºBQ rœ,#¨Õú ºC9ù¶šÇŠÅÁÝbYô»4F:Õú€¨­Žm.¥ýfk¶“O(ÉßÌŽÚy‹°D ·ó‘!¶¢.ÙÝóÛÞƒ¹:InV,˜àÔ2Æty¨Á ótyc$½Ä.Ç´Ñž«ï+#šUYßÇ (H$ˆqO%"¾WDÏ4GìPª±†.ldà÷(•¯R®ç"¥ú;:ÿ ê/cˆòb‘w¥n²£Ñûÿ³C¹¨ºJŒ(Á£eßžò¡WɨVVŒŽ#û–¸ƒÁÁ9 +KÞÜÔAïÄ@½›H1` ¡¹¡w93©ìá7¢_#à¹ý\á­Lxzûî<2 %¾ƒœŽ*ÔSålõ$™šÜ𻽩&LÜNÒ2[×òÿ|.(ó©ov'>ªýã°#2 ã\Ôà<±ÇcȨ¤÷•w²`V½i¢æÄÑïÌø®„6ðNº–¾‹ÿ·d9Í‹Â8Ð#!k¶ÆÙdÞ¥D¡•ª‘sêÌ /x«ôvðô¿l~¨Ð ú Û3aMOJ“æ£OŠÑ0u([5îüôÉqÇT=«ÛD°S©ØÂù_± ²KdsèŽ$^èoI1UAç¡6wàæži2ðåŒôgçñ6g,záíúóÛ÷ú¤±Hí¸û¢øü&¶ŠMˆ|¨€Ã‚26µ|ÿ€F‰¡‰z¹æ²¹ ùtwD¬šê€U°ñ¹kP¤åýxÕ}\i˜„Ê?ðúO÷ìð}ø]@TäIÊ®Ž†ñY ^Æ vAÿþ8+ù³2ƒÞ3úݶ/_âà|Bº3fÈæe^C%½„ OÇP³à3 ¥ÕG©1ˆÔôY)0?x[ÙÁq\ö[¨àn"8mõp^)¹v'QãKÔ.æªæ¨þgçTi¼i¡ðÿ =eÎL¬×hxÓÔ• =Ja§¼jGsZ¯ p5¿Ç”)¾ÀÄ^Õ£þv¨´‡ÍëMŒ xéþHŠ?Bçu楫J͉ø%Ȩ×ô¬›šØ''%ˆzm†|SHM†w¾ñT ÂDpaÁ1¿ãK²)IÔÁOÅpZMkä8< ûX;Ñ1~sl¦¸c‹^¡dþ,ˆ<ýŠ\$á=4©®\ÉÜHM¦ÖÎ4FX2Ùß@§ý)Ó]|Âw°í)¯+öÞtZN¢,rÙ¹ï·d„w” {ãM¾à=O›Ñsº¬ÛcŶ'ÚŒ@š + bTvÒ&þH±£Š¾½™)€Æë¾;[ÏŽšÙ£/! ¶*3òy«Ñâ†>úÓ“´¾€–óWИn¥-óûR{.¸©Þö¹!.泯ӥ×-𔡡¯—ˆðQP†R(ž¼°µ†îV<Á<¹Ì”L#FÞH³i+ ö+#Y)¥Êóæ.qBþ[M›W|›2MÃ-B}';Õ&ó…Çk‘30 ·ÐOæáÚNSwY•â0V@$€°Óò,¨d%GASÖÂ}“캔²Uí´aý´ÞÄøñ«B3W(/£÷@ý~LÖ ‹‘"NнLâdiš#™õ@änòVÅO²¸Ê×V3^7æc¾Ò»_/Å­šª 2 ¬ZîÛ‡ñqËíø‡~L‰mPþal)&ù mAú£Òq KåALßt#øBýñ•°†ß%à`ž¾Võƒ±"°»éö⊥Ž5+¼#ß§õWæR±*ê n‘9Â3ådØD«QæÈˆ$s•¯ßaíühÚE¤ÉKW©ä.ºSe˸IØœ"6RarÉL€K}ï s÷Tü’›ëÍk3>¬4H‰=onñ˜4:v R8G‡ÿ Ì#ŒÓmø%Iç/ٿ쨈È{@“xöêÿµ\¤|÷CZýO€W¨/ƒÂ6' j~Ö³~‹ðÊ@ŒiAx§ÈkJ„(`˘&ØÞ§ã¶hψ`8Ÿ Çd½·™Óx}9.Î]¹}hgŸ—Å“Ú[»ÂÒÓÙFÜ®œÌÝÂÁ>û_VÇ­ØSO‘ߣvb@LÁê?2.âZ=¸ËUÏ4hòS¹â©ß†.wGmš¾{!»~±½¥8'©>¯V)ô“c.nrO"†íå"›y›Š‰E®îÂoœ+›ƒA¥ÇÚxÄÜF|ùí¯ãbcM0y`“™‹b({1ŸjoŽ\™“€ê2ÑYPïu‚?ÈÇ8ÂÌý©C¾XáM;Ïÿ¦E!¥¾WªK¤2ÀÑäž1¯eè¦=ÚðÑdYí3@ÅPŠd°ú45µ× ÎŒp@ªóqÜÿÚ8^¥@oÉ¡æÄYéå†Nó&•é´|„ª½&iä€Ì%<‹¹R.&õo‰U¦pzC+[Íç*¼|U#êj<· í¤Šx›†¨˜MÊî[_œ¨’ôZ¿ÙÜìà³]½|šá\¤ÍÜ”Š¡Ú®ßæ‡Dq;*ê\ÿ¥Ïðï£zP°³ãÿZê;öºŸŸuTónX × ’#1!ÓMÜÙ¸pI6s]«w´VGÖg™‹f;5’Öp#ÒhWÜ’ë„DHó9Öyu(:*©ÅiÑÝ  ›|mÓ“•/Ÿ\Nñ´•- J1ý%!¬ ê‹ê`ä„Cr3()æ I)§†¹…ã_ò ͈֘!:%T‹† °Šëë²B³YD»uâŒjõè$V‘-ƼZÔ2Hìreãá®YS-n,:ós?^‰‘ÇI`ôƒYBBÓ£–ZÐb7É=¯T¯Wó¬_â,ÙP¯ìñd±eòtìæ¢ƒR¼]?¥¼»û°y¼6Áýž—ÕÅAäâ¨xz­UÎ3DÞÖÑÅ(0“Žžã«Í½ ‘<\3ÜÁÒŒ¢‹(‰WÖÈÜ¡ ]üÃݼžÇí«,aS øàjÓ:Ê5Ôg±à:ÉyB:îfg·–õPý– ùýÕŽP¤7°ÕG.m“¯FÝQ0%_Ã_ü³RVEïõ,F:Èw±?æ=º›È·A˜Kb:}ÇþD¬Žjt9¿‹»­Ò‡=·˜U`GPV®\™¸ß“ rM¿ƒÃCÒ LBx:“îS4Dó„+ ม²•“@†Ñ18‚ÅÀ´О¯‹¥ˆ«ê#"ˆ[f¼åÕ ÞábBÂ1*úbæzS´jÖQúaBÓýYRÿÏ¥$+ï!‡ÈbÑiº¥o{~ËŽ£i° zÚÉæ;ð?¬õû'ŒËE5[ÜpÊ2ìM}¸YÁL™¬ú>Ô%&(ûYB>ÓUŽ´{é”aX)ýо/òDÿÙÀ‚v›º}¯uÄæqì=úxõ ø^^-^ý–xðÏW7ã}ÁÙ |P2cønïgŸ2!Çeeâl]h›xŒÈ¾õ/ÙéG¦£ïxºVôõ*A6Þd6¸§íÒGÔE¸‘qá l> ÔàyÂWXºv_ËàÌ¥XÕ¯‘ NìœÍ{ÉjP ‚y±Åin SYËyZÄÿpØíöˆRkȉxYêHFÈ/J73C”~^\õªÂu[=ZE‚ˆ/zÈ·@Ѹy?ùMdXÖÛw¯¤ðkXîž™öB¼)}¯%ß^¤ôÃl,ÑN -b-.ÏÞ¸3² ÒüüíØñ´ïª˜aÏ׆-ÙÀ¶TÏK€u‡‚˜"k‚][û>mõ«›"_Ö!&š ­çMÖø‘¼ýÃiÆ(ìÄY©+HÔfÏ'2MO÷VY!xqûr‡\*ÿ² 1jä½ÅN[ÉöØk¬‡çÝuA÷£Òæ%8&©i@ƒœR*LÌêß·ôs¶ØþtJÐ1ѦäïIÄò\ÊBØjäû·è%ÏuÐF}8oUt%ŸA{·'Mõh÷l\ tŸ? )kIÝœäN[hX|$¦>4š¤ áiCwð³b‚¼ý2+°‹Ð{cçÞð³ß‹çèyx¬ íðàU~*OÛјUç`Š †`ö¡I,Èuëà%d/Óqé¬Lš–½»é5/@E}ø“«¦Èb4Gõ^öül¿ñtþ‡ÚfÀØW2~0Èë^uN4Ñ-8ëÇÞ²nÞ0D»&! |Ô8B–.®hì®=oÖ›C¬b'ãIÙ÷ÌÍ6ðxm!üí[§½KXë:”åpí€â {´<Ï)M:–õ¤è–ƒ•:U+PŽ^TJ²\í6΋£`éC!Àõú?ODv®¿ÂÄíN„½ ®.×Ó­p×^ Ž8>A•ë‡9EoEZä Ï [od]‰Ø‚›Ík {æhᯤº<×÷úJ')’5ønÏtÝ‘ª9êäp6çC÷ÁQàC®²v´`eº®ˆrûWB±aqv§‹cTúFÕÑ4O[¢LRÆœçù$ÜH5¥‹©‘–¸?¼Ç`ÖDRphyûZ_üÿÉq?‹=Õð]ÆI2/Ý%¯á¯ž‚ š:p›¢#»ñ”ß¿/â륩fH0RN#÷PnÔní©}ÕÔF(=y‚ÑBnCŽèïoéÄ3¾6öe†1/\»»ž^Òý*äÔ+‡…¹Èǯ²Î›OV´KS;Pö™£¯qê´XOÆÛ­“Fr¡S”LZñ0ë²ô¨© 9‚<—v×=·Ò}Ÿ‚%²g>ÚY¨gIïøÚVëhJaêÓõ©FyF@sJ$uœX¨Ž8b. ß.ã±ì¿¥ËbäJÃDäœrh|J dDëC9#q«pî½’û›Øñ„ݶÓOTÞh°¸íˆŠ:zf'=ã©Eáº4ô 7À÷„^8_54LL·‚oÕMâäúzn ==¡pDjÄAvZmuh™Z¨.çvzwJ–ã¥sF¤Hç‹©¨Ÿü‡õ´©ÆÁßþ9`¼'ݲ‹y…leå†U@‰Cƒߚ㿘9æÞz~T Ë+/A¶è8ùE¿›”"pbß‹ ¾¨‰ ÍBÛy*j øƶ’ņÛþR£:6¡Î[ž$ažoj¥D|å;µˆ%îÞ3†E2Þ{0æeZ÷ra¬ü_Áwq>•¨æÛ«5ç,`A5šT¿ä4J‹nç·JÕŠ‡f¤p;BX›H€Î[dÜÁLJÍp“¦Ý5 TÓœæYuSyè6b¢´à©¢GfôµðÌy¯â—rC"],t0°ä¦¾L~D3áhô- ¥„ˆJ^<‹@ÄYj#Eûc·!mÝ©‡›œzRšqéXu‘XwlÂÒöQíã¦çYZ_ÄBDšø³dá±à~~´ ÛpÄýWñÞȇÖ]ͺ(ºi—ŒÁW”¼ž×EùÕÓH‚#’Æù6òúã>YyViÖE‡^þ8¶šÝT& O™EÍ‚Š¸]èâ%Y’í{Æ…«$ª¡p² É«„½¼ªx§”æòw¥/—å ªI¶¢v€<yXÊ@Ý6·æc³kb¾s6c*Ûp™˜ÇµMò0Wý7N3h:öeM/t t4ü¡Ö ='á¼x=ùXÑÞùÝz-mG0Sy„¯Oaw\nWõ}Ò‘?–Ssü:k–¡ž$_½YEa µ­Äs¶·e¼O ÕjÁ0Ýx•ÎF´Þ ³|K˜²T5:Ü¡#ÅM­Ètúõeš n¤Z;*—†-“‘À‰A»ÅÁ“Z/‰þ½öfÔæ‡E#a¼Îäï–,ÃH~›—PâÂWL2Ÿ–ðõÇQ…™ÉJuvÂm‰y4±Afæ³ñáÁã:2GÜÆ4Ø#ŸpEÌf±ÈèmÁÝlÞ6†¿-iå»Åb”"ä‚÷ЇÔJšÓTݸ PñüÕí$iCB}¬ð@Þ:QÐ&†µ £x]›þn~úk›°-JH‡Ù}õ.ºÃªÝ^LÂÞ nUÑdV·Â3ðì;Y9EqAu×*÷¿þ„BG´þŽNéc¨è*ÆNÄ1}®B¦Ä&[FÆÃp7eÍM;üLØMâZžžŒ”NµjÄ–¿{¥;GÉ#ÊrSΞ²×Ø·Æ‘ùÌÙGCœ„n)%S:42ápÌ{F"Ip:2ÃÏ ;>㛘r€?¥A!bëMЂ ï&蛀¤¦^Ϫ0¡UR+­ÉH^Ýð±^­Ãî Ì~PDj6÷(ˆqËÄT9 1Ô—,ɬìâ6¤å×ù[ ZΞÊn¼¦ ÆANµ(/…™ü67šßƪÃ:}ù•s‰§F™zñg–ü Ñ74þ®-#™¿W |ÄZ b%Ê$9jo¹È$ßÊwÿþQ°ÓdMâBÿ/B»?Ê2>ñú–Yø]'þa¡™~Æ›u†?4¼$ðk/o*¢·ñ´ûë?P:\ÜZ…2Ca\”ÊJ ÊŽÿƒXÔšv–hŽS ôÎü8.;c!à n‘–o$[#ðb *CÎq£JÍ-Êrƒw‹ D׌3GérÀäÈÿgZˆ¾Ø¶Ñ¶kÔmúÍ~Ì„ï(ä¬Ój»'PMÈ ¥›í`ÑùL+ÄÞc|õýš@’Zºu¢'”UBî µä¤ŒÁwí5B(5å ƒ!·(ŪIY¾š$4…ÔÓ_B×’ ÒÒ¾ž—5®E±ýf-]÷ï7 ±ÀqÑ‚B·2ï ñ¸vTwξSVdQ¿E­4Ñ·vã1Õ\ø´ŠÝ裻ç×ë÷9£‘”çàM—óÈ¬Ö )Zåp¯¥rÚ°š@áÞ}#U¼Æ{VeU8Û,¡d°íAqÚVÆi·ïþcì½æóÅz¢v, OÀιèâsÝ•Æõšy±û/S`½jbϪøz´t”T³Ôš£.ñ(}©}ÙoTQ½¯ÔÂZ³žJ(¨ÑöPwOVãéˆmá D×ü¿ ¦õ\ï …Ôßnúrp}K'H¨7ëØÄ7LÝ™«û ~Ü0’­DˆíŠã+'±ž¾2,f³¾Ý ÄB+ˆ7Ÿ–Ln~±}ü´ù#zÁÁìoEaŸÑQ`Ìl²ú»&PôÔúsáÃÈ­”@Ê€¢‹Oç† ì%ÄöÖÂá~}:àUÍÓÆcõÊhUŽé~2¹4Ìví(¢t6«ÿÈYF«Z&8sµë­sbˆZßb#"t6Š"OgÐôa½ÔÜxI·0‘¤…~¾ .ëÝ/Àæzè—(̱ºÝo»”¬€Â}œìI¨_ }çj›¢µ CŽ7~Ý êƒú¥ÚŸ#Úάë ù4¢ c˜U+Š¡“Ï%&TÕ=ºÒ3ørP)•‘Ô3°2 ¨‘U¡”:ÃØ¬PltØægx#BšÖuàzïSÂX!AiÀwÖnC@5å’¯‹×,ܾâBU;qÜÇŸ¬ž WêÅ}¸/Qg“bœcìc$²³<Ϩ¿'° Ïõ-÷ß’ª+·ŒÄŸQð[ænÒ< ;Ã(Ã'œÍ@vâ2F}s5šnö³õ gdI ÎJ€@#µÇܯ?Û°ºÛì„‘HÚ°ê‘(l$ü™µ¼MÓüÉ/39̸<ƒú¯ÙÂOÒ[xYÙÐÍJq$ßEå ZƒK&¿»egÍäé{ˆŒ„¹EšŒÎ¸C‹Ÿ3²VâåÞG£ `vï‚<›¬È¸é fO¹a:×B²œs2I†(cߊ­½s0Šao¿Ðˆ`JµÞé½Ê'¥„àÊ+,î!·áT1—Õ.¼„fGÙµü§€w#馞\Ü¢¡èô7 ji”ÊfÓ0ðS»”T»ÝˆÁT “wM=³A†Äôhÿ‚îâ$óˆRdž$Ö!¢{erîETbõ屨nw/Çùö§›õ´ÛxY’oßìëíÝ`?£ßÙÚ£u#Cwß½í°yÚÜúÎo½q,uMõÔÑýÃÔç;ûv\}eO9Rèæ‡/N’Z(þŸ`l„‡6¿e.ÆI›Ú”Èí';ʨöüS]$²c}¨©*å¦ó =ÍtµÓW€nü¶6(3Fÿo°ý@~OÛu̳×ûû³šV€h{/©ñ"ƺ;›ðvXxÀ«{öÂÓ…ø2ò­ÿÁ~Ï*Îü‹µ°¹µ×ˆ [ò·¸á !î3ó’v\^œÙnf³z—sôZíS¾*ƒù[ä¿Z×6ÌðÒ¹E¼V§ód§×¨D.(¹€’®Ð¨©'§V¨J õ©ùηÛ"ÿek—þÇ®XûT@uϬm”‚$œSâฎ‹F©ËÓ-§‘”õ”O€A;ùðYYûÅÑššÄÁN Ñ07zÁGD]×–~%ÃŒk}ÀÇiXæd°ïW#‰_7LQ^v_ů)»›Šm#"–—JóŽà_ÓP@‘&ž½ò§b!‰—ã÷Fç$T²žÍV-:AÙJ™ÜJN¦.Òù@ö8ØÙó ð+,ßð3a¦nìÐ5¿:^ $@yIBg|‰Q†íRä_JªÊŒGõáGâ|»¿âWh¦V­†^ß5‚ôJS(3êÊ˰Ó|>u7©0G (Ø÷Û&¯Ç d4%³Tt•®A'OL‡KÔ¡1‹‡”&onìÏ ÿýëD¡(8_7éâ+-Óˆœßn'Hë:—ƒ~™‡¯§€Í&ËHÉÏ饜.!}Ÿ-B-§uŸñà8è5P ™­ ⤶gºÈÇ>8¤z^v+XÜEÞ¤«SÌ2 È=ðT Ç8$Å rä}Í}GÉG­DÞ¯Wý¹O:°[IÁÕNi»LC:NâÈGŒÌk:Y|—ß8‡÷ç_ÜË`~­ƒ6Pí\v|å½ËÛ(;V¤ƒÞé w@r¯!Ê[J; á{룿g¯XcuA*b¿m`£ä¸oW‰¡TKÔð‡çx=Û¡Ô ¬u¨ ’ä:Äwr¥ªºä¦­ùߺþÚÞ¼ž±EÏŸ­Ÿ€Re ä"%w)¤õÄ®ÜAœ}H±I6xªdEبÂÅSAÍ[Ø!¿xé¬2àubàýCåý At‹Ä_ìÙ0ƒ¸OwÜ™^·&Z·Hà¾î;îV@ôz ™§« F8 0ÅËK›fFØ«˜<ûúÞ·¥OŒ5ߥWëL S™Ìý¨êš-á;¡®êæ1¯­^Ö3)Àlgçé$‚EßP –tÎfÎrþÖ„>Ƽ/ Ùw„d–š´þ/Láܬ1öª6ì6HÖÆQµ^î:ÝHP½ŠOQ5ñ>` +š`˜äÜQ™Üc†s¶ò`ê²"ÞYÎzš’3ë .#UäÍÏ_»*"ñ˜~;«7üû ˆ\yî%âU›3iõ›ú8[\FÈ*L™ó«¶}cƒdÅÕÎGÉ„…PQ¢| Õ ˜BT*ï/^”©&®GäŸPƒßƒs‰ÅUňQJ(+Üò:ˆÌښ߯ñ¸Wª7H«Ðf‰L‘ ã™òl-£'Æ4I_çö¶;iœ`Gh hË»O;Yrjx,PCÎR=ZÞçá žÓÚ0Öþ¦· ØË™Á¸Æ±¤…yRaÿ÷¯ÈxC|ÐËIn$÷A°ÚhÞVCÕ’¡}V°¼x îæâ\azÀ´eŠâ ïs<$¸ªiäéÓ*³¨) Æ’u.Z;GüÂzÒ*æ/°Í• ñÎßwöô4"fÈã¬Ó*cÀV®&ËŽqÊ⤠ZC`š`7ƒŠ^hvj•¬¤Tµ§}‚Oð¹ …ÃÒ”º( ü¦Ç &ÿš:«»‚wvF|TúC7 ®¦ÓÅáÜA1´àÇÒ£ômG;mqüŒV â—Süªq¤@#¼YýxR1´MÒgÝtm™?ݹrù(¤Þ3W™®D•IX¢Ê~Š re-î© ÌYìÈ­Ðú¶ž0êÿbóY…/M¹HBä7Ô€cyÃçÞL%µ¢ïô¼µsÀAÐNGúRhÃ2_BÎÞQéâ¾íEÐÖÁT“©B¼ð[.•Èù •”ÛeÛô«ƒ«ÏíÂÀkê¯zRE’h=|k8ò0툉S‘Ð;)p#ŒJmÿ±»Ñ‹¹°ÊZǼgßÙ¹ºÊAÏ{ïº0i«¬’rc ˜ÏÌÑTȪåÞ}túKá9¿ðKô2Š]çPuzCÆ*ß;)„+ƒJ¹”W*’H¶:ú‚wüó _qR´qî'°ÝQ-Uö‹{êŒú,¡5D¾¨’pØÉ%&Ð4¤€ÐÚ²â04b½XÍ' ÙS€”È,vX—kº„6Â߄Ӊ@†½íà+b2•«Ñ$è¬)ÙªÒŒå1ÏVÃÏñˆÂÞÞ~¸_ùd›ö{k­?C«Euð!G•þæmß!‘o… à”U˜i"CYXÑ£<ØQu'ìÖoµ´Ïîï kÏʼn-!*¶Òð˜,{L9pómƒƒÈ§o_ Ü2²Cd}•:KŒ$@Í©dtv&j:bHZ.™P$ÛC¾ZH\¦ñ `º—t¯5Yd> ‚*n#³ìö&=‹ÂÑøo] Ô*yÀõ,ñiwÞq¸íhÞÐãMUOx7Ú˜¥µ®»jPÅÔƒœšKÂó=SNÎ ·ÝL„ MwF;õv¨Å/Z|›Ü‚•¾Ôùeb¯WWi Â"@¸ñsÂ$«÷¾ŸwÞùhVô{A*öAè\N1s¬8`ï‹Tgª4y'ß™“>¤nÚ— $¹lD¤;ÓÃQr€nÃ3o ›ƒk‚  vÖP;ÝKL»9WY ¢¡=ò7†’ÎÉù’)¤lK!}€ÔÛsar_ þx…Æ c{ʳÀ¶d”˜'v Ô~.ÚïÉ}Œ7Þl¸â¾ìÀ—5e’Èz Þ>x‡RÁmí¤ Åäz²¯SÒë{àî9nv9¼AE­DI FÕðL+@Ò£½±ŠfK©Ã¨Œº Ãüý³¸(¨˜ñº-Dc톇$h®ˆîrñ97„J¡# ñ½? ‘Ï%†Ök˜»toÀÜÁôeãg±DYN#õÈ7î׿9 ~Ú¤CH.‰ãÔú¢åpWý…5?ÇAÀÏj$x‡·Æµo; 8¡Îˆi   ÉÎÌ”VfüD%7(Cg-Y)ýñ`*ÂKªCXž¯~#­ ym(FN]¼•݃þÞ¥ ƒ “ž¨TÑ_6Ñ*³õŠ5ÌíÆl<¹óÝwÀ“ïozÝ/1wx8)Ò::ëFB=0¥cyDÜ;Ûö|"W }£BÑ¥ö/Àçããeƒê.ûjáB I¤™ÙS@ }·Qç!;j MäE° ËØ8yðÅ'Xâ½RC?f{u*vîÂ/†=v»ïVÚÕöÀZEê¾e« Ø©jŽ˜¦7 \]m3¹S%”(¥0qv_ãe9`㙲1¬ë’ÌàÖ¿Á·®¶ô9ŒKmƺ“^áÈÿ©µ‰vÇÓ«¼Ö‰ßžµìƒ šõ8ød 4mÝâM蹕aýGƒ‰`aƒê ÊͲ'*÷¸‘* £ªÿõ%M¤wÎZD$jαG§¼•šùÈ¥ê`'% Ñ”xx©:ÿ„Ç—R¡èT‚ü§þsy%ŽgâO¼i7.QœØmמ”›N…b@£nTƒÙ0m­õ¾#iY#rÖŒ]™du?0(—y8ë¡ÞIÖû¼áËJXŒìõ9‘÷ÉÔ Hd±¤Eÿ×Í…ÁVc%ÍYÜÈç:°öÓH‚uM3ç2ŽTd6áËí9²¯ `¬´_j-†Ú¦âl;ó%ÒçÛH[R¸S ¹íèÝØiÞô&öÝ1ZØÄ€{‡xˆ*†ªjD3‹ºÉúŠé˜;<Ò¼Q‚¿ƒ™¬f•z¹+UÀ¬`¡¤ßÎ3‹üVá<”GD—°ä{Z爐ó²y°¢¹YÚzÎU ð42x´B'ÒÎè•f·\§'™A—Ó¾¥*<{?ÒŸk.õ6HJZ;$9 [ :Cu^7:6¼†"mö?Ê~,á)W_ÝJ•qÿlÊ’@.{g-4£êgEÏ>õ'?ܧnR‡BÆÐaB^\i­l0Œ~ïž~‡ù=ëëƒPÅPækégêCâoÍ÷›`Âüûu® îV 0¯ •>Håûh5ì/@]0 ¤V­O¶V%@‚ë­±é?³GŸQöŸU{ñÜ$+â(H9*NµÿuÞá}ãDÿKž(êrON&Œ¼²¯ŒÞ=±sgÍY¦c_ý×¹¼ð*‰ÖÓ.Øœ±TŒƒ¤p~ðò=GoÚÓ'€ ÖBÆ«ðII^Óú…¤òç †^ AŽÙJlÀçàdŨ†òñEEKŒõ¬ÅÅÔ±C<–YÂê|g Ìr¾m73×yõL\©òÀù¡K4»­ù1§‘ZÓeJs -FÍ´€3QÝ#½ýº^¿ýnfîÍ­\Ê}ç§+¹uáû_I‡Y|PŒcpËåûåQûÞðî)Nýb`¥-K«/¤Žd3ýã%oK„ jx•RüÚßÝÁqĶº/Õ À“÷<¤ÃÒ½•!ÕŒ]¨w“ØÛ“,Ô Q60üsV8D@Ž3sO•—¤z* áEã´ª}P±‘C=ón=|=²í_(¦>Š* '~öe’ÔíÉø%^o§)Œµ}ÍrVBÚ´Õ#œx¥c@É(ìêKÞð<ãä…AU£X"d‰‘ü4ñ`o {¹ö'?M†?,þÛzf Äý$5&Â\Ä‹ ¨öຫ¾äƒ~W&2Lô¾½j]Žzd Þøèô¼•¥Z6ˆ_¶b± ´3…óƒ¶áruaе†ÄZì“éÈWÃ[6h%\Iâ{ùfŸ_i-‰E4ÈÎû›-s¶­Dû÷è!ÊÅUcå‰I·2«¯†ž¯"m¢€¨Iôm"Hl¯·jÅϬF Ây¦¨•T™å~šRGW‘Å.§¨ÌáØa!›¦;³o‘HŒXéCsÄ@£ìyÈgÑv=nS¾OÛ$¡;¾¦I×™ÖB•Ú|­©Â^‹™õ¹ø†Â÷ÅB0ÝÊ× SÎáÃùÏ1JQ;,È<Ê ƒQm#É× ™„’êMVØ<Š>%³Z êaÿÜAyÓÁþà‰Š[Gav^åbÆÏµ6ÖóI¿à·0`\áÖ^É—`²"Ü×¶pŒÉÇ~; œ)]&y¯ž_?üq{&í `Àa’ª,¯›6°zFomJ/·Å¼š»™‚˜$˜>;æ±%ECÇåƒ3›¹í /Á=˜·W»¦¸±5½âø˜ Ú&$_șғ۽/æß(S.Æ79*³ßƒ·³ˆù¸‰ŒÜ*'›¨è›¹wæ_*WMbºÍ—{õ( TŽÇdûöiHN*[6ê™Q߈Ùì;ÙŒåöR-O8T9à3Öà =+iî…ΧÖ[jS\¯Ô9€ÜH¢”_†}ä튤ÐÆ%^ÄÐ 6ÌsÂwêÌÂq³÷^SC²®õ/µdu2LÍ»VÂP5R&¹‹;†k•–ºœÒ0‡ÙDÓ%翹=ﱋŸ‚åèÌwÍIç³F°ÄBQø›ÒÓF‹²5s¶#Œ¢Ê—go‚µm zù¼Q.•žqâc“•`˜"Êy"Þ0#îs¼:×Í•”JrÄPŸ)‡Ë¼œ7ý­ƒÍ$Ô"b}þhô0*„œ:ô]xtEÛbtßìT,–çNYŒ˜VgÄŽ»o÷pNÔ"ç5 îEëèšì•›üÉÂç<•ù¼`Üž:|Àýoú•J0XÛfÙè©>ðéyÕ|ÍÞB9ŽÔY± CôµÖö²ï‘I])DOûîž%á\ìÞ D‰Áý8¨Œh)§…Ú]£Zzt{^SÜ Ñ¨«–4­îåÐIEÂB>"㑾r\t3Øa¡×F¶?Ζê’5—ÛT£çó;ª'ÕeÝîAmÄnn·Ç=àÃ0Ì¿uÅUÜ*þQ>Ã6,Œ5©ÆBðN3jv¸ÕxýR†·<ýwq oK‘¼–ÜŸµ¤¹ÓZƒgËACÀå¥ FøY /õL÷r†Ïv@¥ƒWѲõ°î,»ö°'Šï„šMsÆ™ Þ‘î:Tsp53'ÉRtþûü*öA|`&PÞz›~ÀòrªÓ4Nå¬ ~9eêþHwÆ}þœíûR¦Q>îëWñY>’j¥¬ñš¾<V—Üü}›RÀ‡|Ö¯ !Y–oUppÌ:¢¬"×¼Wiý=g-ÐH.ß/¡Œ*YeP›8œê_@çÞgñ¡W3LE™åÛ¨ûñ↲ô fŠ/’Óu»zGfq‘(±›Ø)6ËýQŒÍGé\„åQVÌŽ1ñgûÛØ÷¿a,ô@œ¨é¯EóeÁ?qFâ¿!<ù ð¥V“&OêŸÖcTG{V²xEþ­Vcô=,QÀ¥d@Ù&(Ç ‹‰š ͘w‘.«;ZgP¥á,ÁAªjkç<§Mºrá…Òz²»QU¬ yOIbfvaÑiƒ©‹4–úiå2h‘>¯6š©›l0šÇˆà¿Æób+:ë_ÃMV%eS„¬§Ëpßî¾x-ˆücøFõ¸ýHt ÁFûu£÷ñ=¡V°¤x5äD oSÁ‰Z_|ô©B×Ç€À!‘Íe²Å¶ðÅÖ–DÊ–%÷Œ ÿýd‡l¿£ææÓÕ6òWµ%œ´×–(_žbfy‘ ãhIÑš;'¯ü iᗽ݊e»•²ñµþÌ0z]^õÁé>'k,»÷úãøMå·D‹fÅXYª5vÆÒRuc‡<ñÕõ}lðºQSë 5'½åClrãÐ.«3÷i ‹Vò¡?œo–ºú¼š­|¡hÆêå´‹)KWüÑÖþ3a”!›y¾HWZÚÄ­7wïtŽ\9+ ‚Çì|ßj7×/œ¹Âo-Ç©šÆÚÚÊ’f0 Kie£sŽÚÈ+MÀ:”[ 6¶_ù¢¬È(5†5K˜~³>…öÍ`0I¹q§B*ÓÜTÌÀ×NÓ–æ)–ŽêIН[Ïkbßzq¤Ânæ z*å ­ê^EÜ,Ú~6©¼*ë`úœ§”º›åÚìâмvî?®Ž²B ;Ëñ+6áΉÏIÏFR?§üÊ.BˆÎœPK)ÑVÚ&\ëöX×C”÷m´¹~o© _+ÿÛ£‡R|·¹/rÖs\Gy^=*ô\÷3iÏJ&Žƒæ[Ù\Ùôi€ ©¾d…ÙûŠ÷Ù=ÖÄ×\µ,Ñ ÃGøøM@ÇAy‡ú>EÖ’|·>x,J`<“^[ùCȸ "ôOàQ¨ö^A-ƒòLÍŒIpmXŸ¶ä)'Àx£,]TéVà[X4îTR6Ñ„cHW~àôÎ Ui–Á'®TyçcÊØùrn[_v@ç€l|mf®ú“³X Iÿ¤­(³©¬Éõ'ü<0ºõj øbþîKŸ &`0E¶„H;;=jaþ‰cÚ7_ÿÐý3kÌãÀy‰˜œÉ«è~.ècRWYÀƒùÛäÅL•iþ)¤ZÒ‹à‹›&1~Ê9fß<,÷É#–iΰŒ=t£a=þÖÒ‹Ó²}~”s!¶¿~Øž'OÖJdP¤Ê+¦qVbû?¾[¾²/ƒ “k­öwÐÊõ¸_Í!®œÌÏë ‹Dµ(1èRÀÉKÛE»)1 ½ì ÍJFÒsN1l]„übÍvh×ÞÉ_E¡€ÉðÈwfÊ&„¿Cýü^ªAÍÜÒa}Àøº^ÙOv58±!ÞÙ®tˆ7oßszÂŽ@ꨞgë­épø±áð}ìøk‡2棆j"%->óƒ Ú" øÈeZÝ!uº# ôE륶9£Ü÷>«±ž9Ä!.½À¥%HÛ3x¾ÕEÖ&yÝ|9æ},rœüÍÝy.•sã¯uˆ2\¯X;&U-iÁj21\ßAhñpÿv‚<5-!Vt \ç)ˆéá®Dû&²•MQìõ4\J€ßR@òXUdßæW1ŸØ«æf:Dë™éa8ãóµ9)ªÇg b°ÈÖvö¹ÕnWzX2ƒ€õOˆ8žBÒ°j#Àè&€!žÊÚ4ŠE{;_2õL7¸bHlé¥'ª‹—},´àÍ1á$5=ÙWž8äb›„àèúQ·o®Z>k˜ÔT]iö2a'TïàÌvKOšÏ]œ9=?FÝÖr#-ç!È2ËÞqmÍH|FÑ<´Rò%¤Cg¤ìÀÄn¯ßЃ¶ÓËþ91èhùÞ7ùaãú†|µúë²G®ö—['B‡Ð,ÞóüŒCkk¡¥{=ò òÂÄþY™cáRHcC*bÎ{/zZúâô¾€B(MÀÌ.Ö{+©N#7 Õú²½Õ€0¼ÅZx°•B7Aú/é5\ª7³©.m·1vN~Vº›ãêa‘p^è-£ƒÌ!j€–8§ê–bmú:!çü”Eð&³¬ð$Ť›xÖÐA¹í·5…c¤fÒ¸?ªšðhþãLpwñëp 7ô!•“9ÅíÕ…±&­¸UÓxäB©íø±ËÆhŽ&/ ;€³”qò!èxÞdœãòЗ¸SAwª“Ç77 “‘ „Lcÿù#%ŸEÃ8Õu=‚ é8Xx£»m]!wC9øIR£:ê"#3Ê‰è‡æ¥ä2_8>Gq§^#z6[êûÐ|(4‡—#ih@ÅZ!é²Tι{Nº¥­‚U°Ms}ù¢Iþo:ñžG hXõrÃöè®Õ½pwLÙ|Ço²ø‚xÂŽ °µXÙR™÷§ÿí“}Ä–ë&Zë\¾½uùqíÓ¤MЮ<‚ÚìºÁBHvàÌ-Ørì=X#ä+Õù²ËìÅʃüÞCý*všr«ÅZ“:"„«bUˆe¨ÎB¶_¿d_™ÐY qhÆ6ó×£çª>ùÒtÔ]á.©2Ä’B$í ¶¸Ä÷çOyá>wî¡Á œÿg„ÂNŸÓ éZk‹½w‘9­ÂŠNúÓfTšµ™U‡æÙ½]èÚ¦’Gö—€åÙG± åšO5–6d¢,›2ˆ@ "Ö¿Ds蘿hSÍ#áÉ]¼¦É¡ñ=5rþáge4ÉJI%ƒp” ³éµf,,ÿ2 ¥°<19¿o°zZdƒ=²·õ•^¹âE” ³øòà_ _98·ÕYçõs^i6zÁ›b÷ü.ŠN}{^ðå¸qü“É.!mmšDþËŽC‘seþü]47v+­oJ›´:©â¯F„/~ÌXñ>çPì‘çc^¤]6©ÊÉtÛiùË ã…ª³Pª1ê ¡æ›`¦"&¥°ÏŸ€(¨&Ùí)È45Pö–SS¼mX³w8½Q¹°d±²‹MÖ¤Öj='‰B”ÿ|Ec³'²>:Ày¹5«ËR¹?ï–пŸÐõ¦ý<.\€ ›™e1Œ¿f©’*@,úå>¶ªee®_^gVß*±â«ò‹R1ƒ„1Ì‘Å2GóYr}z ÿò5¢Ê8ï EÀ°”´ãáß Ðt 2ñDÒ“B à¥@u´×Çw¨ÿ]¹TAEhNoŸE†‰XBÙ1Ï+.Z±•ÖycÜ Ï ZÖÉó";]ªÝ$ëœJ±0…SY(s ŸÐë:C¥œ(zÇtŒçßx>u(¯ä#´úàâŒ-A4­p ¶hâouºW7’:ý4Ž9Ú—ôi"לÅÌvåçÜäâBßù I1×uô‚üy¡?½’”ÂÛŸñŸYˆBz5ѱ,(—? ÿ>ZÿR÷\^ôŒ*0dksY‰iC£ØíËKÕ°ËZ·4Ê h«tAé¸ œ×®2\òŒHù î``¯¦hÆe‰’)MÝ.],HƒQ¦(ú~¥k•"ÈÚc¤ ˜W‘øíÂîwb‚¢rÃ1feÐ'”OOŽùÚ3Ʀ•îáãÛF/Ö8†·†Š=öÿsíëyÆ·{mÏ`HUî¯[…Â1q äúí ¨oĸr)@ã’¤&ôÝɃVo,è ¥¥9ŒË‰äM‰D8Øócý{ühÝ/ýåä„J¬ùf7˜™3Úþ™ßøMÖKIÖŸOã~Ñé8\W£æ6¡^ö%$HÉÎin:§Õoùqâñ±aZ{®Ä$’°º‡âPkÑ;?ç›i´Ø| êº;±a.”vHyñ $ Ë•N—&”©h%ÀEMíÌ âÃPËìqLvæE‚¼(÷˜8o°ã¥<~R—£“ØWX ¶1tl3®l´¨«xù.d1'Ù§8¹ëì¬êTGûdÛIõ{3BÈrž—QB¿ŸÁªëŽçN’ÂpêCËM×AÃ_Yçï4Yí¾=7¤rô¼¢ÇLu%`iš™W>ðâ®ëéÃQG_ ÑˆPùáÓNˆž˜‹{u»‹e,®»uyB*½­2š0ºK{gõºúÑîû¶è¾ÇPÉä¨Ùu[\fžî~PŽ5)S“‰.¤"‹Ž;ÖwdX¢Ùî&%'€´ßÞT4á±mV×"óžt[%  „pŒÞ· Å›„u§vØ•ëo÷l7,z´óbPìõ&.›ô@õa¨›Úí× #¾ÜpYÌË‹¶ŠƒÕSëZe±¦³Õƒj FQZ¥>á:°8Ít âríÄ£kpætÞt,rƒÜ/šœ‰ä+¼þÐÛbÆ/ÊKù?ºÚ+$P}4Þm©L6T Üêý·W5¥1¼J,òÖ=Ý÷Œ|ц1À(ÌwnIës¿xíÁá¡XÕÏ4x1†$,ý—”4öó¢iÉYF9´™OLU¨-í¿ÅT4ë×9á%é¶^h¶c¹:@î‹–¶W°L~õUÃÙeÝ´l¹½Aía ÷µâ"¬uÁ5JHOmOI%+éÿD#à88‘nuÄö0]ÊbŠr2w“¾=bžb~è?øÝ˜~e«ê"3G8m|³èó2HÙ³±ð8Hh™Ž…„e(?¹&CCÜ=*rCL $eí:,ÁNŒkµÙ;=‰óÁé!h[ÎÔˆø‡¾¦­¼z®¢Jþ]¨O*«9TὠɬÔc•¡V|æòcáqS”¡2GGAÉÚ¿©¢IŽŸ‰s¶„*µ×™gä…ö‹öCùz*ËÇò¹ Ž+# @lz=^2À]×e½¾ô“>”h÷^5åg4íÂTqGˆˆ¿Éxsy·1:dµ$õ ö ‡@‚aÚ¿@^Þàî…¶‚‡ogÎmÚ‘–å]êvµFU¸XösËY:þ"9B$ à”AW|x‡K–ó|%ürû¯&5¡¾RË«LþLåÞÿàíÓäúÜú\=>! ¥!¹©kðç­ˆºËš$‡CË0äT;ì”­¿›~”²ÑR²Éz·î—.×épõî¿¥k4'æÛ¼H&“ Ÿ ƒ2Ò:ÇÙKÎÛ0Jâ nsŽK•5!è2@ž |ÿÚ/¦øÃøólˆï[ŸO‚‘0ç?{Ú¨Nš¡þY5ä9ýz‡f¯|­ùEa qw¿ tVç–<Ît„D†]uÝF‘¥°º¢+‡Zw±í{4€ÄZ»–¢hé§kÉ Wq5Ðõ˜„kÁ®—NéÍ”Ø`ßÏôѰqƒ¢«© ã£è:÷T?bç€õ‡¨šå8ѯd˜2 %+Y+è$éÕÙ?Ð|»°æÜWq°ºN¿žds,PåÖ–LÔŽ­3Ï:}.ùéÁý[¼ŽãÏBÀËxzŸFáº8p¼|~ ê»ÁN‘‘_…@8§ë f'Úõ9öŽ=ßG3Ìxy:*nw‘¥íÀ_ÓoàË25Êgòbî×àÚð·€Êä0l\³RH`ð] u¥g‘g#ŸFý/°†A”޳q§ Ãx|Z,X2«ÝýL#ê•îY­EÏ9!¢ì‚9Üú”á]Ôµ=³[Þª[‰²t£ž—é€#’d.ñDÆ?)Ýþ?”ï}pA]ñTì8æå"ÿ•î=^T.OÑÊeA¬–½XéT#Ù`)³>\âÛ mnÑŸ JêÆnoäCã§»)â'F㪠Áì‡æ¥ª}! üÅUG‚æ@e}4IôyÆOìlóüg¨¬$·$£{”{ÿµ•ÐÍq°Å v áâá#Š9¥†ø2±IÆù*©é%[ÈÊû/Ÿ …2@ººñüx …ôhÿ8/– š±`ˆïÎ9M Ü[íÒ ÇSW k7ogƒ±‚™#Cè­Eö@òºjåÄ¡y6_þ"5Õ&ªšÕ:Ø,œ§}Â×#Q®z°!ÊtñÌ‘Eª_f`æ'3kuîj<˦$œ)R}ÌP×áŠiÜK `Ù<[H µ¬I™—Ô¤•q[åÒœ‚²ÑèÞ7(¼åÛ#'•(ίøÒ¿‹îæp«n ü¤\EÏ݈zïê´WèY9K¡ÖX+ËÕ@ñw¹<¿FÈž{¬¨š9ÚÝ‚|ƒøÑØTõh‰@éhý¡eX°¬Ê‘Ì#eˆ²Öƒ (a.N\Y¹ Þ}¤P—;“'ÙF»´T•ùíùÙ‘/‡È]Ì ©çàÉoúˆç «šž?­ãÀ.x,¾â‚Ci㥱mÆ]Ç"²ë bY¥{…[¢ÓÒIEü&¿Veó77óêûŲᘘgPeOÜ‚k„ä©ÞXa²{V„> »ÜœËbÆ­A¹7¬ ’{&9¨^X¶‚b¸«WELš¹ÞoYl˜Y)-d¶ít^¼=—˜wfhת q6Šñ:¥SïýÓ‡=¶”[¾YÅñ[Ï/¡ªGGAKv *bÐõú8œéD/¤cFö?¶g ’ØŒÞBþl6öÊÓnwÎWÒ" ¦`î.7¤Üõ•lOÜ1XoMÿ§E8àÓI5‰6lö^4K…ÊÑûÌSî¸îüíMß=}ë,ÑáÅú·zñ™,È|0®µ³Œ=\Ü {2»iÍ“-°…ε*woóª”4ÜÕ•…eMnÖóJX°áîn©TÚW4–Ý€¶JÎ7稻¯µ¾\Jõ4Jn£ÎXL¿7ç¶HIä³Á† €]¢°Áb´ÞT¶¿Ã”èv¢iš4Ù3œçYYÌÛq£ü4*?U¼Áš„—t têèÊ[»––/hÜ„HZõTÿ# áq”ì`IjÓèó¯ü¨ÔI%QfÜÕa!ø+öSMÄt3ãn0m6²œð Çxò ¸;™µº.çÓ³‚»Æ·HÖ®&‘o&»¯TOÞ?9¿\üY¿~³17438¯Åæj>Årä±)®ß¼®YHæÒìU¸”&ê74¤N—[OU'ر۴“3K¯òõ’~Vð©ÍÈVZ¥`ßJÔæ-9·ÅRŠñÒ4^¬Q³%x¼»,üOæiºµ` Ð-ý0‰.®x~¬€ 0n/‰ÖÙÐÈ4ý‚·ŒH¥÷¯—ø¬âÔÆ-gªEz £×ëø{w+3€>–R¥…Q(üªC¶/mCD[ÚFøEkïó‚I'C¨yg~ˆ×>â/v 1D_—OZ=ka°ŠM kxY/§ç¸éù¢ —˜b)¿“=æò£n‘­bã˜ñcļi—G2óS6Ý\¸•­‰WÄŽ…«¬'­Å•{th¶YbÑ6áCmLäò°MWê £+õ|£É¶íºÞ—6àøàYþ ºñl"*9õóúº¢¿ePUzƒ#Äéá( 8©ðuÓ( ÿÄÇ~˵Wå—X$ Ž5yŒ°ZÝ=Ÿtå,_?“iYÅQMŸ µD¼¯†»¡}6$ë7aä¥y áªxþC[‰bHi&+ ³¾Ô«®£2 <®¼Ã”›†5µOé!¿ÒŸb·®Žª`ã½ýVÑSÆ¿»Hé´Å¿èùî7Ï .þJ¦ï®Â®~ñ%4y³ôã/õxEžûwOiG2ú5Õ—è9>-Ø—;h {¼:ˆÌ²ÏЛĂ· ÷eKÜ[ÕµÒœÓ†°xú;“ü/ŽBñß%w$žþ Ç}NŒ+utAcÇàRÉc÷ÕmÇÌ(¨õ¸å.´|~?Û×’¶ÙçÓËÁH—†Üˆ© ˆ¥&övüû´ ó„³Ô.«OCotˆjdýe¬ªÏ÷—¼õf3õ„e‚Ê StK¿²ÓÕ l*‘Y`,ë‡à[ñÊ2ðelÜ«ƒ‡ïmUY‘/ùJÍÝ[¤”„Ôj—7e³Ð ï»™|scòøßz£‘ŒÎ¦_”—®dÞþ 1 ùy4Tœ ³¨Â„·/«Ü$ŸFñcÝ¢p±+°~Ú÷Є:ëIdýššÌϼý$â]&ið¨Ò xè¹Þn<å<^¡@—´ iÀKX£R¾¨„h$kŠÑýzŠÑ, b?ÜÃí¼;þ. ØÍy-{ç4´è×V¨Ûÿ)ûªÎ§{Eˆ!>°L(Úx¼e«kŒÂ®Ý¨íÚØBՄ޳:é$6Ð ‰®iÔÝÔDþ$ZS%YRˆ¢¼aí:nˆ§P, þSØù=#¾uãS|¤¥½³JÙX‹ÁWe!K¯Ý‡•Ò²•0#™$É-´»¬%º5üÌï$'ÆAb>d€ÒŽñ&Æ“é:å@ÈB,Cc[õF’,æ&’ÈÜL;й¤)>vœd0ã…ÌÿÇôzë•('T+éæ¿o§³#Iý&ÌýèÏC©I”~ 4},VÌŒ.dþU^áH‚•£³=©˜Š §õgÒ ³Z°Ý›‹÷¡b©çÃÚneçŒ~ÑHBª-úÒh¿EéRŽn_Yc° hQð†Ë‘Ý9I“;»…ȳy­a{ïGà%ò 2KxuÕlš?\dïýü 9—,:) § †¦BDš·È™# ¯ZY½î~HŽ—aõMþe‘ô–†ßv™ýL=lü_ü© ï êš5Ñ[y7º˜©ü•³ÎYÔÈØk5û´ë­k ­ôBWÃa 3|ëSª)QX ü —Àd×̲@ÍÖäL˜ $´V¶bX¹ÊÿûœÑÀ»† KË 9`U–…5*ë%çã¡w~E”b4Ì»’¦¸¶G[Î,·¦‹=±tIE™A@¤UØúÒ‡:ö/‹,œ¨êðˉœ`ÿU;Y˜ÏAk`î’à #jYÔÌ–gÛ”ÊÁMZ½wžìIðäbMÞžòo×Åt°lö"Pç"]ÊXëS"„Åá@ë‡ÎÆ"‰ùÆG—Jj°6Êô~U áîO û`¯ 4OQPz0ý¬dom-‘N<–¸{y‘fµïø2¯÷q'¸™Ç•€¹®0N/·;£*~Š:î‚*Ë}ÙõÁYò¯“`j w;ÁåáŠ|Ò,ïéÕùÁ~H÷êt€ s7ž†«&xdqþ|hsЬ2.ÂRÈDJîìœ{pWž®Æ¥†Ìrx1EEX[†dѦäCÄ8Î>¶åЗZJƒd¥ë†G‹ŽP›  šBŘO®¤³gŠß¥dŒ|7 ²M,"­_Út–ÆR'œÛ߈Pr®IÌþjÜG$ù Î/4K¾ŽLWõ/p·Á`[÷æàÈL˜<‚ÀV‘QË&&í}…s¥KXõKí}cù%Ô"4%I|‰‚W‰Ħ'»û`Îxðl)9N«žÆì× P<×½:ãi–Eþ ôZHf§}”tÕüžkÑh.ú￸kZ° À‹|u[Qæ¦ÄûÜVà:°ËjŒÛ»‚1bó²—›‚d>œ'þ5÷œŸš*s”ú\MµQ•²ÿ@D4B1Y%;Ç•´p;"Ã}gŽŸLMÛ‡ÙO<*Wíç(L•´¶Ñ­¦LÊ#¦ÈVÔ7Ñq–® ¶WùŽèS,ÞFS<[³ñ/ÔßÓEðÔLWfºÇ½oç4Ÿj­ö ®íÓÇ¿Vx–8®m™pô‹€| dO*K*JAÃæc*°28(±¹ìE†lªÜO|u ?†…½=ãNØd†B»6·Œçþðô8|(b¾è<Á4±Zþíó„L¶ù¾W}˜4˾ö•¤Ÿ¡”$’Þ|'®¹1™á½²+žÆÌM+ó mwd‰CϘµÐIÖyƒÀB|ŽñµÌkà˜á6IÿÂxÈJýX¾»W 0¯O/ãÅxtÅõ°+»Öª—ŸmŽü7vC¹`"•üZo‰¼«>Å.Ó0g¿Ö‡ºW¡í#eCÅ­ÙAòE”:ªa9ª‰µéë½é—ÕLCÌÖŸþÿYÁç9eýþóÌš1ÑH«ßþ1^~½-»[h6ÿ0Œ¼¿,ŸŒ«ÎÑßä1c§÷c‘‡ fÏ—-«:ñ}T6›Õéóß=¿Â2}€Ž„îàû_?`4×°¡,GBMYÍv|nzÂØÎí’^°­KY·¹ø]%dðâ@T¾¨ ±ÕáAáî¢^ÜK¶œ·Øh€ø×¹ûÝümŸ÷þ'à3Qe®)­­ÿì9úž;ÐzeŸf‘© ›âvÊ8i³v' ‰ÂèÊ€"tÆÎ‘Ìδû³Òè·6$|²Zf ØœžÐ‘tÒ*ÚD¯ aÚ}æŸoÔHõÙ®áfGùrÅë¨ ¹êfßM›ý¶º2Œ¨ 6©3ÿ4ÚXOò»Ã…Z_æ„Ø*Þú´Y…1ºBÓ5î²ùF*u¼¢–ô™€r@  g×m"4¹*—S÷"'ÑÁNFÛkclRg‘…{h 6D“rÌÚ¬†šul³Käeà|í~КٞVöXÈ/ÌÖ/}i¸CÇÀæ@– àܶ„ |¹Ïl>o¯0µÌâG¨}=U е¤×_ºN¡zµ¸ô3Ñ«¦^Pwý^6»¶,‹Ï)ú‰YªñÛÊ祲hŽ™ùÏ”Ævû mùª×N6}è2êIó¯Í[mû.Cœµ ÔŠ%¯Z°T· Úžs2‘š½Ôæà~œµ¬>’x‡¨tã—°7P’–zü2>™UXzP0bUo~Ûí¤f'%§p¸Ó7½-²ÍØ–œÛIãÅR^fK…ÓòE±SdˆNµ\\ϪÏð‡ie ÏR(µç¶²…Ã×óŽl\¿ÅÝo†¬|NY:6¿²—d®Jw@1‡ǧçÏUwG°ú2ÝnŸ¼¹_ÚÈðMʇz1(Ù`);ÊæäNL4¶Ëwq3ãk™öÖŽÍWÄýUH<®üJàÿXÅÕÈ1”4øÕ.[«Ô¯è!¯sÞ‘=Fê“| BôaÄ>3*郅{_ÉYú;;7"Û`·X™ŸÛׯØKÍŠòTîéhÖ‡“!;¸›¤~Iè¸pçòÆÇ¡ë#tüfžZÒïöÇwÃÈnZì„P:MÄïDÿ¿íiÂÖ˜—‰¨/»·[0 _IIm„Ö¼ÔÕ ¿ÐПîžZ£Øb· –[) …¸NÞtI#~ÇÏôØ¥'|qÜtCÑu‘m¡‡ûJC+áЉ´LšTù[ìJŸ›ô¿ÑŸx¤Ðý˜¦á””ªy·L'K“‹¦CÖ¹ ›È`Ac§ Aï‡UåÇ\v<Þ6Ýc°E0¹Ïàõ­iϦgÓ¾ú¤A@ÅþAI•ÙôÕª«Ùò<“ZúL2‡ð}í2eœ•ZoKíÄØ­Y«˜NÁ]ÌF®¼MXî–™Ô*¸<ÿ·Xw°¡×LÆáù«Vµµ#†—D‘2¤ƒ÷Ç\>(蘩cýÁ ¼]DJ¼ÌVÊþM«úbûγïªt:W—z©]Dtw¬¶Y’îE§¦^ÒŽ¦/Ki™.YÞý"µÚ ±ÿãÐXÛdƒÞ“¥cØxøkFzhÔ´T?ÏM@$÷¨°…1c®,¾×éúßrü˜–¿"Å‘•yatÅônv=U p’#IðH+YaØt¬iÁÝùô“ÇM©Ë,+ï ^“Zâd kf“#ÑGá àˆ;5"-yY VsGéÿo‘œMcHŸl[¥Z KJ¼…¤"®¤Bãhþàñ>âÍLÜÒ#Õ@<¨À Ü¡^©D->Ljx9aœH¬i̘²¡Ñš„N¹ÎÕ7)‰HÈ7¶“ùÓ†S—­váÄ.!Ìvmmm8K™i®–uf¾¹N¬rÙPéfBý…LZ®#½ÑëÉMü> sÑg@*~æÜ€êM¼»±Ñ`ŒÁÁGŽ`Þ—ÛM+VdLwcå ôžiº”* ~JΠlU7–¶F¥mÅëaÆ#Ÿsð¸LfʤõëÔØžÛ<|1À‘í+£ß׫LHâgg9çøýœc¢=™v,k›©€ß_Eóܙȱ“ÁË74ô¯æA=âʱdÊc€ä`7p=U¹Â]X%€kD‡`@Ùvt_µb„/üׯ†Á*j2ØÇMÀÙ¦<ŠGN3¡UF¨µËø&/*!`þ§H×䞬bKMK 9]§•§Ú°©ûY½&ó ÒØZ=Ú¿½ØN`í ìáY-Ã&XyÈÔ¢)ÓZÅO;q6pEGÔ>é%õš;¼„• tñ€ž®õoúNÑ’›7áµÇØÀ‹òˆ î¾3Ƚ53TR/_3A;‘óúÿj’}¢ Å ]Gû}xÂö–¶è¸¸‘`*~ÛžÙ¯âP¢ê!tÞ ±ßûòþ<æ£È€tíjj þ+5ååPx^ûÁ£ˆ¶ÿLýëÙ+Fß›¾kø)ÿ"_ªiÚ„ãuNGOÌš Î2¶ÚÁE´OÝ}IŸñàrA#c¬;˜Ç–Z¤Yâ­ ŸGõçN‰Ü7)Å17…ôo,sî)Ü™Pæ×Iö©;c*:×I[‘YcfƒÒ˜Ò^/’}}ÆìN"'áðbhôËn£¹t åt`?3üߺ04:C%r9/}¶Ê%A »â ô›XÓö‰R‘-pªÀ§Ö•äRkfŸ”zªì• ÃµÁÌ6±‘Þï:Ͼ¬–eL”ø)%`¡“N¬ðxÜ¥ý]×OÞ£\©=SQ’1ŽÑ:ªWî52mÑR¨eO.IЗ"Ÿ•¦¸,×za|¢çT/˜´V,@Sh°ƒ¿XêÁƒÿnêÓúÒÖ׸¸„ˆz$öá°[ã‚ÙaY¾Nq\£2ëN¼gÄiì kj7Œ%¦ýKªŒ,àùÆIóÊÖ(eî ™Þü§O=ˆ8ÂŽÇ]©"ásü”à²|ky‹_aç}¸²«ŸÉãøöµÊ›)ÁÏn€²žšô&V7bDÄj\2 %˜ùe¥þÑ€'ñ(ê@MR¨`ÁtÛïg€ŬH»d.³ eÚ¯z/5¼ V‚Ú 6Þ}ÚÕožˆzb?~:™j¯nòÚyGvÇCnn&d,9Q/€ÝC"V^¤»ÏQ®£·*•£­rŽ…£KDš7LŸš:ƱúG¡/-¨eí:-å¹B-x~ÒÎÛ¿0V&Ö¯¯kÜݲ<t•Aì“íŠpðfò3 ° Û‘Uë•wÖ”‘H;xÈ#ŒxUðµBS5ÐHOMÊÀ \˜˜ºà¨.Ü© Žd¤ïbù¦îN 2Š]2šŸ)Mt¦êDAm87@9-¿º²²&ˆýú*‡Ì ¸`W!Û þÒK‚ãUNV )YéÙS`•ß]ÜÚÀÔlMSŠcOZƒ§Ž×#7dQK\% jôÖwը垕#öžÿñµ§‘IåÿÿaµÚY"¯gMmðšRõ Ú`†¿ç™ qMÛÐnï2K{»1M#]&(ÕqP-ñE_¹—¸Åútš²ìë!Õh:Ï€ŸŠ§Êb…f‡ -âië‘C±€’5ÕfÜr3Ó çõ.7AÁL§¬caçéør¤ƒç¼šfÿ9Þ¿ê¥öüҦƀ;’&Ð57³Ë<¿ â8?ðëöæ¨iæaçs2°=HQ#Ãçúð.6gÇnÒu2wûÞíwªç¡J£“O5WׄÖàÒŠÛTó 7Ôñû—°»-¢m´4¾x,ôkÇ¿ÚY_rH/ V“åÍ<®@u{ÚÔZ„‹Á30÷o ¬#ù´¦-œ*šµÛ™´ÿÎ% ®è[¿ŽzÁíäÖµc¢Ÿà6`©CÃÁ š´›v÷Ϙfký˜Ù¶'ÝWo”¼VupÀ¤HŽìÐï˜ÞÀj÷{X$|'›Œs =Utåi» ÿ–Ñ?p­ôÎæ¶Å:(<™Ùñ®™ñ”1„:Ö2‰ÖǾºGȶüp Ñ-#?ʸàšI×$k7¨‡¯ë@Ãð‡òÖ¦É>“eÆI9†ü–Rb°Dÿ<ùÕ<â5Õ££x¦L€ëé1æîåÂðûxdøñeYßñÚ‹= °àV{3¨f†i¯¶} ìEò‚¤±Ä’#®¤Âþz5#4žXßÓÖý32]èS±¬”YíDÄýdà ø]Õ=Žïö±-ØÚÒÉ ý`&Ù†Lî¾W(©Ú_mÑuγ÷ˆ_n}0J7 ÍþŒœ ]ðUЍcнpYÛ‡ç?yݬû.É,2÷GAýŒ Æ«!â´aÖ/ɹ±é¦”rn3àÂ'^ù‡ûœ3Ô)<›¹C„ú̆wû2H~mG!ô„¸ƒiuw7N8Mòç¼·Þ´ç·àg‰s>y¤ŒxWê©¿ŠŸ4zÇ븜ÿþÎk“™žÜyòª‘ÊKD‹‡XÙhdÃ_Eþ;>D®Š‘ÂSj^ÛÔy¼ù—ö“ö, T×ö´¤Ãk€—ÄÌÂÛ,jZKZ‘~hš² 0…öÿŽó(I4uA RJRôä&Þ³NáXÄTŸA™Aµq!•Oç-錠S·Èb_$‘UîMv´ ã@ÌÉ=BÜß›ñ€_Åòê˜uòµ…ÞÃ#”ø]ÍÞ4¥[xz[á<„DD;ž+ûöÎXeŒ;Îo}\9͵ã<Nã ¢fÍÈâ·æ?ç.sº…Àû÷“É¢jù‡ñ5å’õ½´¦:…OŽøù¤LíœÞKE.n2“²­ƒª/¿ßÛ=ÌÍAh‹:¹„v@}ïzxÚwdÕæÐþÃ| Szï3< £~¿M5[èÿÉ#”HÉÒ¸”õâáz‚ÿËÚ¹0G)Õù/æŠfnõ%ÅÓÜÒà_ Ÿ·o)OãR¾‰^û|Åj»­€Xù>¢V•.=Y,*íç”G,¸ù`J†¨euT-]•tôQÛP6Ž~ádûñ mé"ÿˆà¾ñv½ áo®º‘æÄŽ®#@©‰Ý€úƒA|äO¸[R޳ü|û`ñÕ5ÓÌQ!—§Tg×ÑCï%L¦À½£e£¨ïp 2Uõ3p6î†ã±æï¹Ò¹JL_Ä/êYdj9âjš—è=$D›AKËCŽ(Çí|vœ,ÊٙѬ˜G©Î$ì)"鉴òßš»9S1=ˆ{̰]¨òî Ï®\ßÈÃæ 5f)°¨šdÏVúsŃ3ªÃ’x"¤s€±Ì7û¼PÆë•ßI±‚/hùþ»ˆç-)±Ê{úÊ>J]#ZmX•=w°ì²œzÿ#µkCÎö7dé>'æL;¡R³œÈ? ±£Î€û¨‹ãüB%˜3í}é]7ÚðLòQU‘ŽÅŠ/ßÙՖ’µçì]¬XOòÞH%¸¾ïR“5•ºwy?+²{Gü™«J™¢ž2«(& Ês T5D çnPap£a^K–ây†kÑ,Ú½R©wØGÝÁ ‘ÓýêNÄP66ÑçG>î`JhÖì,j“ž2sC^ŽÑ`„Àëq?Ÿ1à:¢-AöU‰KæÁÖö[ð j1S^„”²žpöþta‘ùÒ/t&ƒjŒõ±Tå €ÿ+ÆSÓ…'fs±…*‡óÜÂ|,º]þ=¨•åÜ "¡>R#.¶,|Šã…ÀÂè–€¦m:•jÇÓ 2‹èN•¢ÍÅ¥PIYN¿/±¢s‰E—E|¨µ-•/=ó£S9s'µQ–âLß § /jÏÕ¤§¬õìñýÜ¡ÿÛ9@VKýZ„ºš_¨ÖXýï-¼©"#9¼No}˜i{LØñô Õh,Gƺ™Fo×U£UÁ^š[Y}Kµ”‡êViTb5º<¨~2¦jaãZ“û2€ö)Ük öh_‘G^nXÚ€ßíO~ÝÇ›1WÌt,mRÂßÐeöy²r:0‹…O ±)íRq³ÌbjlDy ÉÊÕÕƒ¹ó™z}f¡?dRE@³Š©çiu»Jê¼J³ØÖ*%P®'&D)2ŸræõytÉ.Ïgè‚Ï>#¾ÝÇx úÖØrëVŒ ©ç(iZ7¦_K++p`€JMöÙ–!ÝÌÛ·?Ì3W÷^B“ÌLÚ1ïȾ¿˜WKq¾é¢Ÿ‹?FYÈL×ßßC£«}W™‰ó6\ffËT÷ÒíûPfMfKTÕ>pÁO„>>Åvñ’ãÅ;¾åªU¦Hè”¶È×…ø¼¹vA:ïª)Ex»kd¢D"Dæ!¾a-\ê++4UA"" ×ÿg–þyÓÆ“Õ©ýE¢¢iæ…›Ý1»Èˆ¬¢âiñmší ×’„W(ñ#á@«=¼]€D¸1°ÒÞ½Ð]ýu’Wôn>’Üzz7ÊÌ~uÒz®Q=mâ¼¶õVŠ%æ-i;&žùŽì;x$´ÕíäG¤`ÏËä†ßÜ´Éý¯t7å?É®<äÅ—È"² )/ùÀ< éw¸§¥­e%E¼¼ FD¥~´—Õ´êïŒ4áä‚fëÁOŒÁU&cÙÓNõSôô€…ÁŸÖ¿ìžù;ˆWœž¯mª7Ýá}fQ{ì•E²ƒºÒruàá¨ÚÔzô½P¾Ôâç†`]ÈAæ=· –):‡*‰ F·ô¸JþÑàʼ3€IL11ÿ™Ãýö¨rrD‹åwÌ?Ô¹›ßåºËÊšÖ| Í%w…Ó ¼"J׆u™ƒ¦¶Ì#Y®Ö@Ù¾ ›µz‘9²7ÆT*Qr4AÝÎOîÖÞ}éÐ MؾNkì¨Ú 3{¤Râ7Íë‚øw–v¹O+½ð,]©_Ÿ“ë}ë/± ®nÿ5/×(ê“qèN‡שh9o¦*”™– âQ>¼!×nžœDóPr«É8å“ BaÆááþ^|¾R‡@ä0Që–@ß·A¶ &:üÑ?U6uEDí‚cµd÷ù¡¯ÙI‹Ö>aËìG½Šð™_1<‡ ê|¨"Çäጿ©à>r;dñ?%fS”ߨžêýpÞ0W3h!¦‚eáИ±™÷[ìx‘\­¯} b\TÁQtòÏ-’ˆmFuU5f`Çj-BG‚f.6È‘A¸=ñ2P‚)ÓM†Äì7¥$ÆnˆN}­¡tŸ~?¨Ð`ÍÑñø§…>[vòö¸!űêîÙ Ô^Ë6©‘!±,²I _Ì£ÄYMSí9£Ädh›«hÔ}fVSóŒ ü}øÇ:Yݤ†5=ì&#ÔáöÖþOº`€víZÈ—'ç;-ñ‰fÞã^îP%÷(:Ä×`ó¼+ÔS|“_,"é>óg(‰¢fÖ[Ðh@®¡¿éW?në²Ýk†^9xÏ—[L­AÅÎfòšr±ó™6ò²2LÖ'ˆ²o±Óå´Ë³.Tï·«k8hYå,Ö­„XÑ Æ„»Tžëö"Š.> í÷¬_y¦ý¸è¿L—Ó·k-ZÚèÒD>QŒE¹ZõµuQ¿Iël4`¾ëW\?¼šÒÔû~*¤9ß:5Ða'sÈñâæ2§q>î5­;Âì„BãEØu4è¤â”]JÒPo^ 7Ô”­}iLíõ£v.Ö%²‹a¥© åÃB“ï5¿»F‡ß;9Yï*|åÛPÙ1bO™Yðò¾‹«}ç¯.õBw$ôKÒ歷A ×Ç®RÔz.CNÌ@`õÕ¼ÖÔŒ“Î%S8ê£0¶»™©\ˆLíÞý±0ÖU>yæ.-ÞL¾áÔb¤Ü‹Kw@OíAû‡˜”ăôÛk†Áô@~`‘cGÊHKH˜ ¯¥’s°chL¼¬Jf«¬)SZr}+ûwŽË ˆá&Ã˶ÿG!Êà„^]F~}>Ë㽯šHo]£z’X܇þ2‹ ZCIØ8\š ÆÑ€‚â¦Çêb¦(†›¡,Òc„3‰y‰w,^ÂÊ´ý8~æÌYPQãþ“ Zf‡cöî]¿†¯ƒÌÿä1¥·ÉûþMɵ|TÁ–}mñô²ø3L}Óqåg$ f(3ÈJòTØÎ,éæK>\ÕY˜ô´³ç#_a ™EÆ’?”j\“·çì’~xíø·"œˆÏÛÛ•¥ž†)'÷*ÞÂpÒ¬© ç­ƒÁ¥¤v;Ð÷”ËÐHÿz¯ÔªKØG’‰ÜoIÄÕ­Z¬Ï=‚M¥[«²¡Î…7Üæç ?}†lÓÅ|àC÷_íKÈÌLhÇÁ·9Õº7´»Ï0Cä ,؉»Ï—ƒ|4Ê'üeÂÚêLòb§ëÿ5Üàu‚éïpÎ;ÚÓüuãØ;j»tŒSG#èâŠy‘¬TüÍMÔpÆl»=B |J¸F}âFÓ,l–3®ÊÂ{>v±ÙÝ·ã‹Üøàù1¼`¸Z· =œT É$0åå3³®¾¬ƒ/¨ªšçež£w0eB)ôD\˜¤Scà(úùoxÕg>sqŵ¶N½\ ¤ØBÞÎ |¥DâL"…"r/ l×'#YÓe¢ “ŽSö…[ ð¥ ü&:†³Ã›d•E/ pôÀÊ`kâˆH!I_”Pq ÞÄÓ‚}QÇýÚÒµšCÃw] Ï?„Ç¥åç~ª¬ÉÜT"`t7`Z45¢,eþ' é ÍX¿µap–}«1ú3f¿$Âe0a&r¯d£úåÝ¡–&¼0Ý’) r-Ä#̰gþºÄûÝ nœð’þÎnì;ßαa ÊÜ3‚-# U@GršËz/LŒÓÉMDo¦, zèî+Ý‹èï³_£piW€/,¬?´àP !`æ~ ñÛƒµþÏ7à ÓÔxUŠÉÂ&!º…j¶8RÍxÍcäè’§ªxçúD’š{ØcqÚ úÜÃÔG¸³\c:ނƒ~{ÖE>šÑôÑËž­ÜÚ¥œàia4W >ïnÒ«LaÝÉR¾³ËÜ.|×µÕHáXÎתK?8¬ð•±º‘K—Ú_Ðψ$­/S8ÙÊtˆDi½`0€*ÂkÚä#ÅmTF¦»Jt"}ñ¥wñ>@zü$ÁoôõAóìÌÜé™fì-…+ÊAD2á;ïØÌdC¤A3!Äo¢æÏ5ûyzr‚c©»] »Ý„3ü`‰¾]dúǞηPëœãbWmä+åvÌÒŠÛgÂÐ{#¯íZ5üô‹K-'}0ZÐ öܹžÄZO`× 'ýWeKQu–IÑÍã›Ý}ÌLÝ• èJf¯¬Üï+l·‹³u ÿÄçÑÄ>ã­«TqÌËföUõ— –‡@I#B¹4úÞ‘JE·QY»† 2£˜${üù+Úw¤š„Jh𥠒7º˜£/ÜÚz>wl‡»—hÊ'„´ž’Ò‚•Þ=œil*Z=¸°ÿ‹[¥åÚý±D*çÎv¾šÂדü­jå ^å»fñ$~íë…;Õvç·²À¼ÆJÿç¡"_É•'·RKuÔ¿æŽbÿ¬qôVý¹ñìt^UìZZ±äƒÆ²IÇ:°±HR Ñ-¤‡âÓ;uû™­tc&3 >9ëƒÂ_eØ2´×Þ#˜øDi œã¹¨‡HÂÚL7ZúRªÕJõÎâcmâ²ÌJ¯ëãl{a¼t %;gáö S”Â{Üà- ¶ìðÄiœBä6ÐuJéÔŠˆÚ´Rø~_Cáe£¦®ÿ y!%ˆIyõw+H çÃS¦›Y°ü¥¾9:JÆ9Li G>üÛŒ.DUôJ‚"h×¹ºƒ^ x"µ´Ø.šÉ./8G—“‹kÉK¬¹ã/I³Ê¸øš¢3S3Yñ„Ø×S¯sKú˜'ë+¢ré ]"¿:•!òÒv]ƒ«¡§0[ŠaþÃ9,FÊ®ÒkFd£©œKQyu\¼¨&’ëÄ“­Úí¬» æ`xEDîÍ“—AµW˘ö‚û~›ï0pß PöDÒ:+ÒBO#{¥ …ƒi¬ûÏÁyƒfŠDs‡£<èú£»}JËÇåÁµõX(ävhšyYÄú²¼E~:ñ‘dìCÅÉUÑœàÐø#_~˜cŽ[d¾/çmu…ãnµcv­–žš?[³­ÕÊšûø«±ÑKèò{`ïõFwíÌd€ÜýYÀ %ËuSïCQ¤ zU›»¦ 0f ¾ŒçÉ´-¶Ç;4 Æ<ŸIͶ£Özü’ÌbcúýnàˆtùV‹E¾8¡™Y'™KTè]À ±‹$÷Óª=íP?IY’’k"’Ë—z}åùÚÝ ÎNØ‚É]=z"ÜÚ6lö´¾‡¨ÂõOÅBÞ¹i‡+¸¤…¯nY‰?´«Rƒý*£Q‹Æ¾Ç_æ;L{O•V†ÛÔùš4|ß4zìp“#XuÞ@L½hŸÈâ/÷E.”åaYVRÑg·Ïá“{ª@ jh+]úÅ+€Ó!˜Ëh'*võYÙ†LUu¬*³b²29š 0Ù@C”¤ÁÈäc0¥3#7ì¤óŠ‹añÂŒD…؆§Ïº­(¤H®?QÊ2£Ö …ÙOìb´¸sŽGÚ–™½?ˆoO ·yòwTÑ@9nU‡ò•»Ï}¥`¡cL>ºê” U06;d.ж¹§ÅÄDÆ—3{rjV‚ [‚EèÛ*,ú4¿I-h˜V9™¹‘vñ!Ügà|ÐNô÷ c /ø-ê±®À±›¶`Êa'I@ׯ‰œ‹.·µëÆ/íËàªr­¥8Å¥I¦Ö{w)àÓ•Y‚CÊsþíœn­{ƒBy­ š\6@ïŸ8©Qê33™bŠP‘‹`ñ|øsZØDY ™«rçD¿¤z³,²äø زiJâ]‹Öa*®ÁYb…²éD¸¹ÑøÍPØ;ˆÏÜ“°{—)˜å†ÊoÀ,/l[•ÊŽÅLœ ë×´Ž`ÆÊ@¾Kµ•²jßX+C°é§áØ%æHøÃÇÚD6YœÂxšº›Ò%½Vô‡¡"ªBè&›’%Dqaj%š$6ö¯ÉÇ4Ü®J=…]R¸¼ýñÅ[<‚±iÑr³F4ç“ÅåfF¤'krDU×ú[m=>—W€ŒY9DÁŒÙGT㥦FÍàÌ6Ç,”d†6qkÂ4øÊ²f›!ŸSK§H ™#ž2Û<9¡t=“ƒù îr)Bg¨e?BOvª¢1eaÍäÉ,Þ±(¬½˜‰Á§æä'€JU—Cñ€z"Ýcþ†?ámë­G#jv½ãÉ 2,"‰ÆÀû¢Wܸy„?7<¤R&b=gweL&Ó÷Õ~Ò<óÀf«âq¾ã¡î´ÂŽ ¥E€™ý!_Á“éÝFÎàŽÏ5{Òëkþ¬âîÛ·2ý“A×'´ôèóO‹½ÿæïéìºcbãa8LDÍ8‘yò7g×ÍÂMͰ•Má=%p„ó¿wêÜÔ,%†´‘ø#‡%¬l$•Æ©¶p°ÇßHê©ëŒKôlU!%âiü¥± ÅÅwè<ßÇ'¬ÇTÃû`¾÷•QU¦gèL_•ËTr‚õÖ¾·1…#Ks&D%w\ogµ€Ëo»M²¨¡Z[b:s7Ÿ·’Ñ/üø¬`§uØEMb)d¶@Á^›«ráèχ®ÿ¼Ê>K*JIˆ°>®pebÎi]Ÿ™æ³NÌm”ßO9†à=ë½Iiék¤N$;áNC78è“õdÊJ«ÂßçwÀ÷üYe£Ž°¦òt5.†àÔ'qS+ì“9*ëRÌž™§°Ä;‹f¹îÈ/-x)äsÃeç:%;——=‰s[4ª¼ ýw_b;iUÐá‚[[_Sp5í£â\= ¸†íõW麹z,ž‹]`bá+¦7~<—ôš˜I~QJ¥Lsh¢´go&#©Ò‚%Ѧµíé(>ƒy:ç¦Qò3?nã8^áâÕË8´á½!ÇÍ”Mºð3Ýs80(å¤ °Å„v’ÏÍAž¸ºQÏó¾-i@sG{·WÖé}ËÒ Û3rõ6¡iÏ(ÎÃhÍžldg—×PÁÖˆº†Ñ5r73˜‹¨›Ó]+r’"YNÄ¢ÿä-7ëžw>ª*-.^¹¤Z5Y/üЬµô´ Æ6ñx™¾Å¬Ç~hnœ‚z5¹ÚJ‘±)½†¶÷Ôâ—¾º÷ãÉÄë¬Å|ѹöùeg =ŒŠWƒ8Ýv@ñ%¹8'Xн;ðˆÛWKtV3õλ¶õ=1èüjñ.+N` øÀN€òU r$öRd.Ú4‹ßêàú—œ‰æ“i ºG¾SMĸuo ÜK÷\ðàxqØi$K1Û’£JÿèÄgFdt¾Æž*=¥h[4¬Õ¡zϺÝ;D)ö/Ýן·ûRó%…ÖI~³Â]sý°Ëͪ§r1uNfý©‹±âVóÍ!%^Ôq_ó ·œíÄ4lWíàF>ÄØšx°%ÈQ’k 8)ö*ì(~*¿}€M•ÎeŒ èî§Ô¾–Q” ÎDßZHˆ–c˜wíåó¸m¥¿"(TpYi™ ²Ô×£…:зŠ…f ARÅ¢ë>j¯Óì¨È+ ú”KïÀÙÏ„ÎñÁ×*òØï lZéôE™®º§„ù¬TÇVF1Íw ‚$5¦ý<1ïV"»Å ‚×,Kº}Í2Ÿ]5,‘*Ý¿·á0õÉCßðNiÈb‚äOH ¨Z©:°ÊædkiŽö€T^Þf›¤rY±gƒ3l¥j'ìo©c]ªB×nÿ7½å¬æj¨h$|^ðû&¹jgh#c*ph²|)0¨±Çz£ŸÆbÈjÄnUxé…{X¿³ò‰Ù1^žƒ.PQKÙÅJc_\F@-å;Håû‡I¡ ÑyUum躯ðúI–$V=뾂ÍTÆ‚ôËÈ_’vhâhLeñ]¢ûÆn°šÁ ×+NœXÁ֓߆ I){@ Ci¥C@K‚<‚]R €–6­Ýº§Í™ÄŸà# ï/ø²¶û„líÓs%ßø„k–n¢é€Äl(›c¬Ÿ½mŒ·¼pj¤©šÞ¡àÊHy’¡Œçt WÚÁVÖK«Ý‹fs˜ÚH¤.]9ðuðËÏpQ—¼æD Ù¢nälÌLÌR[&¦:["ŒÜ‰ uy}žKd†%Š‘æhÝrï$(P }»% Ò¯ó) Òf3u |•{[‚EVlöêçÝË]+zÝÜéS{Âz‹ÑÐ1Ë ›íζOF—°ÝMCòÓèÀ9j”ñ…{Xâ"ÓÂEò}»%Š ÐýîHv]Òmæ›a¹Æ=õFÔ[úø¾5ô¨7u8×ïÊ=².gd;]ÚGב֚ Ì¢Nx!jptÒƒÿJ2®nNί_sB—=¬[zò¶ô7ØŒscbU’Òà:Y=2¸,ºúíø&U;oaNTO4ñó÷…( biVÚÝÑÛLCwŠ~×´ƒ #å‹“<(ñ†Ãı,·ÜÄ]rÛí²úÜ¿.†’WÙ\tù0ÛÞgÁY@Ò~Ó1ßq`»€›ÄVlbýBª(ŽieÝÖK(òµéyH_\…ÔfHÇ=ücX#5CÁ¶W¸{Ù2M¸^¼eÛáÙ}ìÞ=Ãh{24@³¼Þ5ËQ¥Ìveá‰Î”ÃJ=úϬÐBNWS§ ÍÎLlÇó¡aÍ2CSOv€tKÖØŒá¬Bézh‘ZÎO.ÇÙTæŽ ‹­QÑ™ iÚ?°G¶fey‡IÆ„±ÜP¿i˜ZÚ½ X·qS9±)¢Î*!I1¾òfù³«DÃx @{bè#D(Õæ!ô¿ÿ¡]›%έgLçïæ`V·ˆl\ÜŒôsÉ…L3 ~Í[òn‹ÙJps—œ1®¶©nšcÈt?Øl•TÜwßÞOô¥N=å4w}±Q׿ñ÷Žº¶{µ$ÚÖc·Paé0¯7ËiƒDIw­9ܵ{M?‹1¢ÏUÖèOQÅ­,®Yž¬ ù¬¨í4ÃSÚº°wM5Â÷hÑRíDX‡€Òï¤uG®‡œO!2;…ÿ¿‹®á¼@Cv¬Ñ8äBŽ—@÷Ó?Ù3¤Ù[."9)u£T©å q4þ=yÇfóXê°j`H—·<&M0}?$"ˆïüÑ@=`·šÈwòxêŒÙòϞɒù÷ä/òNvn­&¶”Ë^ –üÁåËüÙË8¾‘âBä&¿09àyâdobu1çŒí• ÚO%=yê§'ÕáD@xÕ±QõeƇñÚK(2ÂÌvÝM !6_Yœ•íÿ¹Ie×¥,è)*ÿiº!23ޤþ¿‰ø—mï… ¨È[·V÷¶€¦3%¬7Ã×ð×P:2p€Å‰Ø¯Ä‰ ’P;ÄÚJvºøºìÀâ"ûY•¿JX¯ž¼`פ¦‰”a^vñ4ÆÞÌ<€ñ:á þŸKe“:ø+KÏü·qñM‡Â sŒÀ» !Ö‡¾ë'EŠO °XªdMT*Û\‹?»ÐÙ$i]’7=¯^ØÏÐkùU¥ã¼Ð)p\šVÀˆAæà‚sÍMí8*Õs„’(Åy®7d>6>xî€óõìÛ² C§öÜ(€ÕŠB—uG™C¨ÉÙßíUÔ¶DòÊßQ]íØ)zäuáûz…_H„ã‰2#ý‡¯¬½{~W`:ï+5q:¬%ó©;º&~ñF ¸“ òÓkK›å÷(tD.â8z³>"m‚Š $eñ«fÀÑ&#c\ª2 2G¢ï…pË?>*v2°ßÚkß0ËyÛl#mÄUR‰pUªÑÑãÔÐÌÞ›xnÃ"á)EyN¤¹Ã³bei…@MØCƒaëKS I+·¢œÃ<]Qc'ÉNqm9oÿŠ7:¯*J>˜&½W ÷6Zn6¹9®9î¶©‹”°!áèè1-± )Æ%ü—±AÀW2í RÞ…6þm{2¯æ¯'#|¹qûçùÀ¿*™Û_† ã£.HP¹c”¥<±t©ãú}ìï×N~L3&ØÏk  ã!\pMl0¨Xt÷V‰D&ëeœ_£J–÷Ù“ A™èSQOíïCªøúÞfU #¬ßªÒÈžv°õ§ÆóÙˆ€õHïˆ$f*س\ji•iõI¤êW„ð2%ÙúŒEã,íS Ð$>zq|Û×,Ê=œX­];heù¥ÇìÝ‘°IŸÍI-A¥#>¶wÈžHŸFwÚuÜé`$Qî¨UEN»Ë\^cuÄǤ¢x½åmƹý†<åºÅÀ©¶œ©³Õ."ý¯ö´³RY4ŽšÌµþ"©( „Cƒñ‚úã#1FÓ2üÀ•/]®%ç^ή™¡·›eõO û“w,6k¥6Þ|ä„'tTWh»9ȦZ›Ó7È‹dÚø vH|àƒh¨K$ÂÆ cG¨‚ލ7B)-tŽxVÖHÕ¬d¥ç¾ì¯ªŠEx“AQ0ö‚eãüõëUp®”@¢C£¼žª“ò¶[Ÿx1b©Øoxn¶w¯Ôà¢ã:¿ÚaV­I_Æ”}ñ2–T”Í)Á¨w‚jtèQË).m$¬½bkŽwbî&dy†wźWð¡qR3=vÄ~{ŽaTçØÔ ·oúá„|4KªØ‹ƒ'Ö¬žÁ烣P’ëÕ²$Y.ë—ŽyM %qi¬Êk¡Ü—“\qZ©ë¨Ï賋²>æŠ;tì—ËÖÎÀE£i ?Y/®ÑÑ–Wc¾¿¨ ƒƒ¼u.‡¼ÏÖ.Zs¶|œœ©¯$›6ºÃ3Â1®H»ªòò‚E"]Š„½@¯0òÞéÇ~â̪ˆ$`äÁ$ªÙE<6Èf x) B‚ÉdÕá×mÕ:X§Ç*מ­V äväæ*¦Ó‹'C`O$a\—~ÂÝ^;û;ØÂÔ"VÈwÛ ðiGTx¼¯Áèîýו’J«dÄ{º¼rÖ–‚_ת‹}ù›&©‰†eY8›Œrêâ:. iÿ8ÝK3²Ÿ·§î:1uƒþÇò'•²cº!}áë¡Z†}Crë`v¯LULÈßÁj&€[ºpûšÕ¨Êœã!ýr”xu<_®|âQñ×(b´íBUKqÉ¡¬¸kYQuJªqý_ Ê~°NÏ»íe$/pbT}L„ù^­Wððx¬-÷þPüv™ùSë…L¶Éi¢Î¡¢D`hŠ)){ <€}#ÎÃ])S3W·Â:Iu"6.ܧ!×Àƒô’{îºßFë"†Ý…1û¢Ì‘`€¢ú>ü-–dgèáÒ v×Q/r :•eS—°3%ìF4·:ž×³hxàáè@aCÉÄÁ,Þ!c†qÂO-QY5d8q7°éráBî¡zI75?”¹’ÕFÿ°§8x¤$ÝQʳØÿŽ+S˜òÕ'îRQ¤ aæŒÃà ·Üs®wšû¾›v¶éyx‚ë®ÕRdFL~þ…ûJ0L0vŒsËûm´Z/BŽ7SGýýM-IåÞÂÿŽ×­„s4°¢ºé8u¥’¶R·Ò´Ä‚îœãÖ'P :NŠ8záåÿ&ÿƶWMféˆebVjã4NЃ,ùܽ1ÿ ’²‹÷×Ã’$³Ñ¥]‚щ®¦ªWçˆBªÃ7âà-Á»pÛ‰ŒIoìåû2Üp‰~†»|aÍfГJ¢Š†;½t0þ0¡2H쌾1úŽç#°V{!ÕÁd¶…m©QFnPw×¢!„Çsø&†À‰Fi¸6~hŽÕRSþ¬€K½ùXZ3Zçjr ÖÈ:bιs Yç8× öêX¿fÊR³ .nIkMqéì{Øs’µöÆCvLwÅ$­ù.ñxè° wP]Iªd“Ž$ÅœJC3(Ü­mrŒ8–zS¿©³ãElA!ñÏS±uŠ{Pò|§1fs(øž•Öü<ú“U%Õ’çK‚öéÊ«ðñ )'ǺÕóXmšo(Ëz§„;ª¡±0¼Ó3L'FÚù‹8QübóÊÝ‹9ºW—ºÅÖuæ¥yHÒl›5g€®í ÍûUÉîÆVc¯;Á¯´›"ƒù‘ŒÐòJËCÁI-ÎņQ» ÍFXLñ¸„äß/Ò÷ï4 œ|Ä“nAïxÜ‹ä¥Ï*Šák8­›Þ.aE žv-z©Ý^C°}ZÍËïÔÀã˺×Õ/ü!ÔÏåÆ¿ßKZ‡ÖÖH]›ÆÕMqÝÜWÏgöš_çŸ Æ ¬”¨|Ëð #o"¦ìûþð= ƒÀü©íë,¢=…ÖZ¶Uo¬Eø8xµ þ¨~Û4fújqô-:3쓯'kù<c̽qéÎ lÊ Pœ“Î-ô˜?¦ŸÂ¡ac`²0j@™¤ÀEs|§‰Ñ6@>žëZ¶wU›¨é2z¡\;/lhNŽªö_Q'2ÖŸwïm¼g¶vñ¨Ü}+Ï{¾¶l‘+黜Œ“öU•oúBkm ùY$Èm`Õ1h:³ær7¾»·ðôi½pz=žT™ÃMÌx°‚Y{ ®óI¢8&4 GÏôeXƒ“£é7 +oå™OÖ>ôÎÑÒFK\•¢*r|ŽÉYðÄ´{2¦ûË$ ý'ÆI5ëeɘ‘[iÜQlDKw“@¸}Ó÷czÖÛûBNÃQat:öÒ›`”äQ樕Õ_áµLÞÄ{`ÇÙ5'‰X×?×üK8J÷*P­½û¿¹ñäp²ÔZoW ¼²,·¦È¡Ã,¹vŠB/'8W] 6Yû÷vP¦Ž ¿? ä®+O°Ÿì?ãJ)è¾u%ÿQµ…EÙ£Æ*Òâ¨,,!᪯(ªyH ÈÖ@Ê U>ERPÝ¢ÜE“![…;ê&;÷\€ò÷2ÐñIÇ[ø–¤E’~±ÿòÌB-kÏÕ°Çѽ]æZ’šºž %À*öòœÓh¥ƒ»äƒŒ&×M™Í 2e²RÆ1ÇC"!3tZÄB–"Åð–\Ï/h^Ó‡ÜÍ»×´MËñìš0}®WÇ3â¹ýLGLÞCñ†ÄWÃ7g·ïº¬t­Lx‚“4‹ª’ÊG¾®]3-åÏî„‚Nð×èC¤¨XgjuOI<$Æ#_$SP(Ñõ(ÃèÀ Ž^UœkÅq Ä€™bä TX'¹3 XÊvÑ,ˆÇ-ßhZðôgÂY~±hž¯H—ï´À=N2™–³@õgQèͶvxCÜçîàóA‹=NÝç¼sö¦éê &ã uÔêÌLÇ`Ë5îStžz­òœÜ£ßOÂG)÷Ïg·Zvr§çòî­rs Ä{"ÂôØÓ@ÔKP6Xx°šY8`K41áüIñù'‰…1‰1ºïL3„{ë¬róÅÒHñ®'¡5 ÃVÊuó FT~?©›h%ë¤dœò³f¼aˆZr>‡N>Ý«£ÈM×ãÁgé¿y¼ ˆ `d ^“n;Ù/6:Òú¢+i½£ê$¦Vˬ5ÁìÛÜ2úª¹Wqä-˜AÄ¥º"ø-,»I¿a£ò#ÓŸx¦r7I,+¡P¿¶å74wNPEÐÒ’ò€/œß[7R î ?NDBу /syÆ&¤‹B®; Ñp(Â×Ò²ÈG=ê#£Pľ“]룻ݜáP ±i‘Í€ù¥[âBúX Yl9á ZQ¶çt¼¿ª¸H5•Ú¶0•¾DdV±¿aÇl-“’˜ Öd¯%v;o•ÛŠ;“Nü6ëŒAÀÆÛä\,5¢‹„éÚ¨ÇLÛѶx«g$w%!·xœªò(a;ç¼<{C`át4ß7tQ7È<À!SÀŒâÑó:/!‰ˆÏÎM!Uk+V•òENÂßÜò1}à |om×úC¶æiVÄ©ÄhzPtø=˜Ï‰ß]„&Á‰ óC”„^ÐTæqe#YîxEJ³à!"Àšßl–S° íkU(> Z:¯„lÐ"†ê€“ñ;‡Õ;Ñ«lXw;[4Ñé¬à™A@+æwàÀ\jº“__¢mméAb9ê"#[Àñ^”Óa-6, Å™ÞßÉeˆÙjnÒ3ÏÙæ+Ãy…¢rÊO9_ÖëuN³¸Eé=&¾Ôoû $¯æ¶ê¯yàPëîϲÆãW.)î¶UCžãؼ„ýnï2›1´å”Z»¥*ñÀ¹Çe"?4á¥®Š›Äh2+Ê÷~*t#2?Lš¤[B‰<¯¨ÈwW‰˜Ñ¼ë ÝÐi,A* %Q!òê7ú!Ù„™(@»•9¸?¼ S’²R”ÿªÑqð3OcýÉŠ\†É1E[v3U/Á:ŽzÈ0¼’Y‡…b¨Ÿì*xÓ(ÌY#œ' #³kùÐhÓõ2ÅàîÑâÜì %Ä¥ê÷MTí‹i“‚ˆy&X6ù5°#–9i_»¸Qž«ÅE(1íÄvÖ›¸º±7÷GÚ±@å‡í¾Ë³Ðãg$ÕUs ©ën´ÊÿN–<“Ôä?ÕéÌOˆ7+õ‹©¶›Ô­À6ÈÛõ»1™»¸Å›ùêJ•;öàùä·½¦_òér¨ÿ.o<8š73VH4PF > “jÓTA¡csKj{ÒF­3ƒ€•Àäf”8CaAÉÞÑèøþÂŽå ó1Êeð×EÏ?8ð0-˫ۄé]/v£Õù]vº^ädÈ& HŸÊ?ÎîZ"5äÛßÝ[ÿ=¥nFКâI‹Ô 6?l_‚q™ŠL,D®>Ý<ÉÑzˆ6PJÍ´#–oU\$°FAURÆD-î =$ÝNÓ¤sc€ì‡Ë×ÿJéÉÑÆ] ¶Q¶s4å£*sXX èl†BEÙÊ}Kû)Ï\; E"½Ò`×t‘Ö\bÖà0xÉ´é¦bÀÇÞÑÂJ2 ©hÆ•!ÛAbí_2!è—Cp(–sàTÄI[øƒÁ®~ÞÞ}ÊuÕè܈e«à¬KCïu0‰³÷‰ –ZºyÞë4³¬nR¡x²Ä qË/Áéè×AÈlÎkró…àÆÃÓð,ÄðuIÓ{mº°P”\kH§·8†¤¼ÁGÄØb² DyÉ=Õ£"›L马|›³F –×Z£$¹íÔ¿ÉS­nT÷«çͤ[ä·hà˜Am—ÅCšÿ­§¼W"”Ï °ìýV;Ü_p¼¡½€{6»0Šœ„}_åij\¥ê™’D÷ÒKÍŠØÍô‚¼ŽÎŸ-̽yêbâòcœ¡ö#Hm²™™««Yó)rë´0Ž/Vžb‚­·ƒ¾UF½~å³Z¡h~œåôŽñìŸaf^2Å+[Ýür‚#Q>:ѤŸN­rG- Õ{.w.Ž\“¨)¼f®ŠèQD˜b︎Biz% ̯ 5ŽÌÕüGÍÍÏï°!ׯPµÛš<¥0÷¯í~gƒ½x¿GAœ}Ç•ˆ®ëæ=`ØžõÆ LDk>PÜÔaû‹‡^êZoâeâþÙ‹òknžN‡1´v˜…AvqitG\þ%Eªx¯:uÅMۦ櫾ÇU„a²RÐËÓ¾qkaŽ’í.ô‡“Š*ÎÃÿ¡Iïÿs&0g.Õù^íD.ƒ<Ý 9daâ  ‹˜5ö`ÎKcXÎü°Á¾{1ûRéËPËný½3ä£P×áAgÑ 'Ñn£à‘rŽDVP¥L|EøŒyùÞרÞ™g\ø¬og›‘J4Pæ¯W(?ÍæíùM¢Æ“åì?ÔŠ8/]DÝ]å„Ü4±´¼od–Ê>‡hø+ÆÒ€GׇÝ_ÚV¿šlÕ³§‹ÅtEƒ"Gl~Eüç:vÁŽ{ëA7‘êVàÀ4úR„æq2_ÀPf×™Tk9K/ÄL’Â`íi/ýÇv÷µ¸ž7RÏÜL+egù5=¾èÞútµ® îãx,n†8åì^[-& ÙQ°!‰¦­^b^ŒŸ:±i¸úøúŽG6"o½'D<ܳ¦ù#Âùü'ó¶ÑŸ¶>å‘1$fÛ-‡ÉOµ4/­ФÖË‘ +[«@Ôúp²œ±䜵‹ËŒtÜzÛïÁNÉ©¥ÚÈ"ÉFºðƒÚ’EøgÉ~×_u½ÿøø-MN‡Ç[ Û¸þ"~Rdn®z¬Õó‚ ¯ô3ØøÞ÷ƒ¸å:I´輑¦pÛd³W<¶C8kYº“/ÅŒ8?ýŽœE!.¢‘ê¾Ø( ¹>]m"e$óHŸ~!%r9øÌ¾¶ EÉ}Ô´«äjz?«ÿìmå?ÐP‡nÒžÅV Jv¦ÆO·rzžx~¡gU´Œv0À°²­šré J `ÐñÄýÜl+ϤYiYþë†-Ÿ]YÏLF ë;M‚nx®ô Ž\C”ã‡jdUlÍ’ÇG ~h7Tó3¶éðç…®˜r_ÞØ®s(^Ñ÷”ZóþŽÇ¨p›ð£ºŽÝêКœV—–±’Ö0Ò€2jUÌ÷9²uÈVãwôÀƒÐ›¤6`x0KÆãý–Mï‹ó°ƒíEµ"}VFþâêá’ò¾ÛîR Q’Ò'„¹ˆ€?¯&žl…‡±Ãõ6Tɵxg:îöm-WòÇÓ]=\¾vŒ£ê[Â6îWq¸³Îs'uð6!#î ¼:ÎYÊ¥kê|ÈévÈVàýNÊJ“–œc_: v0¸€Z‰ŠxnnÍ©–Œ@Q×ZÎJW!Ø>qâþ32¹ƒQa¤!`.çÁcü©\;Mÿ=޵˜±ƒÝ¬ÊéT¹l«txR¤;3—[Ĭ›`AŒ”ŸZÄ›ìîæÛu8¾âOÌR¿»¿<†+m] M¼žÞ}Î5APj³.”Xó÷æ”I$ ¡æ/‹˜©× Ûþ'±Œ¡þ‚C÷éǾ6íµIÏ™¼ëW›ü¸ô ÊÎëu†¶j1­‹¯ôz¥Ía]tÒÒàÿ!6u~Q2G[ç_>Töý[¯*s¨‚'EìyôÃÖ`ņeúº>Äq_©_ RXˆø¿Å~ä[\Q£[ݺû°ó,Þò2hÍŽ¤`°PÂWáÂ#?‹6–È,º¦#󭤲1(Ù_Òìˆ*ºË°â‰M #xOG½¾ñp˜eb²Bao1ë%‰´«&Úy*û?ÎãY¤Àêtmv\îHݼ³¾ òªßÚTˆ> `üÕ\·m74ÈÊH:jU¸ãíûÝš?ð‚á ÓùÛúÌø‡Zÿÿ-%Ê$ r:áîIÄûï–ÈiÍmÅÖ‰‘OÊúÄZR!úúx@UÝ,$8Œ2‰»ï¬ºhG&žGNÞgp³öblø®ß pNoÛö×~†„E“oÓ¿ÒSsœh,œVê£LHp!ª¢¯&xg8Ï÷ÙQ¢ÑŸ“¨"ý¡”B0¼|z0³•\9Ž?»HÞ» SWúuP$‰Šx›^¿Q©ˆµ­Ð?ÿ©G,źòØ5ã£ßñ…ð|Ñ{c*²¬h•²oˆ€àÅ;y )þ ˆ½/’t[‘%ËËÃŒ]ˆÞÚV©_µì™tÇ ™ÔÊ·õø°ÒC. ßýA…zŒÂ?ˆogÕ‚^y äU\0Bï‚i\ŸOÏT t”ؔۢQÎAOÏ*¬öŸ”7}ÛŽb«Sp¡ž·¬òû3æh´m‹úü1ª|UlP^œýWò¬¨I© ùV½åœÚ(átºbš‰1ÍÐãWÏÖÕ²‚|®F·'n½-ƒ}›ŒzGñóϳÒqS{á1óÁ\ ³‘| õ´˜@|¾WÝZæËN`ŽÀL\eàk@n¡–™Äd°"/ºë¯Êä.‘´dÖŸ4¡W<eþgÐDf10 ÅÆ§,.DÆ$!°†pfÂä"‡fíá1Ê6{j¾òwåÞÛL+~6ÁÀ‰:à(ëÝÑà1òÒÇ“ÜWÆxÆé»²Ñæ(0&X~ãÁS!œ]Mý˜È—^±âÕ(þ܉ûl:³Ø=só\=' Ž)¡¡\ªô[zÓ+ÿ…«xë»KFd+Ô×ë ·0q{•üoи[ݰÈaÑÞ3] Ζ ¶öReK!æì°$ÄŸÿÒgC¸}îz› ;´Þ Ýö°ZÃއ©æoV0—¤¾ÆI•7xÙh·td©*û 7iƒF›ÿÍMŸû*W׀ʹ?ûWv¨Ïd9Mêí]zX]7 ȮЧ ¥»zœ˜Ì_æÒöíQ©5ëìö/™ISÝ£5˜¸Ùæ• œ?£½˜øÚz,Ó4ÕìÕŠxº]„¬(dª$¢,ÆF„ÚfaìüÚänÝmÃwnŸ:œeŸÖ‘k–[ý'.¥WBÊjðnMˈY¥\U{‚€Í‚yˆË%·Ý'A ¶p¹¨C˜24ÊüUââI5’T–â„?—•6{j¶VñãÉž~a ù µ«™Û×ÞÄ]wú·Þ½ì®ËÌÎßpw@± ¬v~Èb¶;~ÙÓÆî‘Èö…1‡C ‡@”YMëõ’}½‘M|<·}q“mËì·ŒB^#ŸƒŸã8AáöÿÓèÁ¡ÃŸ|ÅøQ¬$)ž,êHµ)|U ÷"’îU"Ÿß4·ú¾h} 6oÀÏæû2æ—Ê #êÝÒýÿ=0í*Ú|0ñøQŠ›ø®Ç¼Ã . &@ßLä][þ1Ó±v µ‹’!¾c´à=íæ¶ê7yðúõ^q ã©|Ý?0Õôφ°‰¶ÓUÉ“¤š!†o¥¸k͈DÔ»GéŽc¹ã£ÞžSìÈvI™f‡äq“>¡±Àò$:Ê šÅ²m·¬t<}°|™‘dºWÈÉ©¹[µ#ª•L#H—m«Q˜lÌ^/Q§ÿgØC>'â+ÅùYfìL„øxokŒ|È,[ GÇ9ÞÑ"ˆ0*UçžCµÌ‘sî;ôûZ·¼ âóуùêcZmÃæJÓ-ÞzðccÌÂ˯ÜýA*'v˜¯£ »b)3í.:(̓^Ž‚”‘^¬h8šÕÂ(µ84U§POÐÝq=ˆ`/ÄÀÁ¼Œº}ÜDKGÉç¯ËPvú³–'ÁK(Œ}/Èú+ǃ‚È€F©Šf¢å$z/á ïaÏ¿Åsb{8.òàfdĨ±J.ú$ÌŽ€pO;G^ r>äŠjº»eŸI&N§ºã©Yü\ª[iw‚¡Éˆ`†è„/yXãKøÊÑ+ÿØiõqV8ž¢|>#žµ¨0³IÚoP=Ò_À0Ê^ ÑÝ'õ…¢Î÷§RÚìÔ…ãÊã-±ØÕáGòš *2,ƒCÑáÞï-¢Eó¸Œt=dqy5溙ڈªWíÇg¼ivL ‘Wõæ±ûl3®‡1V…’XP¯ã‡?YbA3Ôwa©šZ ‡ÿn‘äèÞâøJdž"b‹ü #wz§óò8Uv"ÒòB 5ÂÓA§C dõoÉ›[X.]³!H»É·»'XÜß±õE§»@Ø!È —nŸ’)°Bú ¢Ï97ãË ÷ûš„ÍÁ­àò:u^ϾcÈôªöùR‚Þ“ÿÇ‹¶UùGöü¡Ç“Ý&ò‚®?„ÙrHI/´!Þë‘ú B€zZO“¥û:ÅB\ÿr–ÆËó”ü>/Üy-'v3ؼífÎÄÕ1‚D!žŽ‰q™Xåö*•%¼}˜«å#cö“‡Tˆ„5Ä5Á³d“`mfO 3ðPË`šI•†IA¢¯{™è™Lë4ÿG‹RˆRL¸á› XFŽG4£ýPÕ[£€yKšÐï©æB ˾L[Å…61&ªü~¢1k›p²„¼Ë>$€hÅcÞãÆNõ<üÅPk±¦ Ê—;Õø[óÎhy ëåtOAnkåÐ¥?‰ÎZj6ÚÃòTO/À]…WÓgWHÑùÛJAÔ`pÝ*ñ®J*x¾g pM] ³–âŸF¤áOÙØ43|V,ÜËjÈz ¼:[x³ÿ†#ÿÏø“©3(Á(¸︀œÙSñÒÄ.½/Ñ–1°Ö¯[@;ªÉü1G“è¦ú.p£ÚçQY¬»²æ°EÄÅ}¶ 3×Ò É¥2ìH¦xJÈéä¹6èðïJØu¬¹Í<Î{ȨoÛÓCš+³×úë >Ñl'@±)bSS2û¼;ƒŒ¿FSnbn:$5aP€*x Z—÷ |(çõ~f#À¿Xï(œ?ÿ4´ o‡©*r-…AH¸À}˧'¿¯—n¸[ÄüWì ¶#/Éå0Ì%uPÊ—”q®X¿çû s^z¾ø÷ôËÒÙ°BÄÆ”‰ÚÈ+M?ÜÔ¹dn‚Ì2ýAUXçeA6o‘DÖ€J[ëV9ºÍèòØhª@KNžn­§·x8¨CרO\I¼Jl~%€ƒ{X“‰‡k®E'Q—_F%’`¡Xþ Ϙ>T-„Â`ŸG3½²a‡dWß Í;! :é¦sב@å²8\5þã%¬&þA3‚Si#q)Ä;2¸¹•€wE”žyÃÐáññgàòÐiQv­ªyõR΢²KËæùÀÈ †/á0r¢Eö_rV4›E  7j—q%²1°í‹cÔ«"·„ÞcÖíÄ‘ÿ¯Î8~£E%–™µRqn‹–^Aßœ¥æÕ@ªýÿÕöÕwvAÉeªß·úõsnVýf4®ƒ÷ç(‹S'xžšÀ§„MÙÚֻƚ„R¥8jf»Foœãï 7ž ä9€násºÉ~äXßQƒš_V+‚ “Åw†s Zs8Gs<‘`zÓg¿˜š[»[k¦XÇ{½U÷ßdNOYoNÿ‹EièBµcؽ„)™xz ‰:&wêz”±4·jÌü‚×´¯x3¢Áï”âÔ&E÷… ÄÿgØl”—”Ù* {sz 'c´C>~DÚYõÓ%Ý·ÿÁlŒlñgXOÚ³l7¸ë¹¦³sYKOŠ•j«FúLEjäUÏYàù1°Q¸Q¡oCŠ‚Bš†RÀlæ ÓýWîøQ`˜˜Yèl¤?ˆâ7=ò¼žžéÕín„¡Š9öç ¨0G­·nIÿÔZ=Öeˆs%N¢A§È4¼ «^EçOþegÆ`T6=¬€ŽàŒúLq ™´å‘DJU™!Ü’ ŸrUß³ÂÈOž).ÃÔRÕ ›ôÕ™sÆaecaÍA(’ÔЦҡj¢vRm?z?ž}Í–4ÔÒ3á _ÿƒ*L•i#‹t hÿs |ÂÒ52À¹¼½;Ðn›¯ |aˆP…V]†ù¡ðk?ÿ¹XÔ~Aþß©ò:Α*”rg–.æ³$Ð¥L^J›½±jÏÈNˆ, »¡¯ç˜Hr•ŽR6ð±‹)a½ „fèë|Ôu–ÑžàÁÓu/udNf€&Ym鄹%=eáù Ó j÷ú?mš çgIÿ;Ï·™i:6q~²ÎGIâ|í“B׎x¤^˜ÆEÆ÷’ãr"àÖ·è™.“¨­dk·rnn›-•’›)È*RhI¢0’¿%Wdð$c϶Œ«ýKn¾Î‚InÎgs¹S`+ „Í5BŸÇ—|¦ÞÂ[C›´™49ä^ ‹¿kÞqÉÏl>*¯ü#Àe"r}¶øwJ|RG,#>Sgíy5¾b8m =7ÞPñG)W›  ûªø’+fÉÉ‘X/ZŽˆ¯‘æ×£‰CJÈyAœúÇeg#Q×óª=ÔvtÅTÄðÊÀU'Tõ^U‚çht´®[m'>9!ÊöŽãŒóÜùQ‹<1RÓöƒ\®qó„)ƒîÿOåÎÒ½Ü\QÜ~vyb^Â0g³™e"ß1 Ò8QùÕ?´7 +ßÀ a…îØ«®T³RJ+ìá¹¾uH´MÊÌXÞ[ãFAšIòQ;,åHg(ðwM‡UâB<‹"F˜ÞäGÊc]ËöÞÝJ2ÀŠCU_<Ç­ÌåÜ.#Á*äßù†hôÆ5Ó†ÖekodX/Ä"”bš-BÙ ºh Ó¬q¨L•oU“y®ãúÐñùý`ñYQ¼¼]Jv.ðô&®(v Ô8ŸÁG¹Ù6*,E†êgEUˆ”W‚}ÇìcHžfQýü°šÐëc·«}DõŠÚ«,Ô1GLúfå^‰^ •›xrƒHþ‹³%²ØC© 'kÑZß1û\n­ÕÏÍô€@Kb¡ „ãÑI9óګ¹·¢óTÄ ‡Ž¾ÖvT ‘@µ A ˜ Ð)††Ô ÆÄC´ä˜OÙ‘G¶JÖü‘Mú4þ¢Vamåw%å 3A!o%¨•òSÛ'©M×a¬—Í[1‚9ðAZ»1VP° Âélj=¾U™¨Ó»TõÜOYçÓÇI?ÆB†3€wÐú&ÔÕ‘²^Ry:ý¬-PC¼¯PV«­l2°gÅ·C:ÃæJýa+»Þvj2¼Öíi0l†»(„‹Ë&®6e×ù*~uuími›E‘Ma`CÚ²±é~¤0TG‚KÒX#Éô%ÖKþ³ [-馋¿ý°$<Í9˜î–ÃR“Ñù^£zËŸkñ#F*޼Ã¥+ƒÕõ¯("w+, Ú¿Ø£÷T—ñ~ ØÈ?Rr®£÷wÇæm†’¼œ ï†v¹;tD+6 =øÁÁŸáÊ?„œÛÍ+m>sœ&{ ù%”‹m7QS*l¨Ç>>ƒyF6é v&Re¹Vi?uµ0wØŒôÔOEôµåx¡ÐÐÂ[éÐèPŸI¼pæêпû$Ž'<„y§.ãZî‡þ#^¨‡QåέEÍCû#r^ãü}¹qÄ)žáÖJó´•'ßnJ›YË‹8‹˜Úg0Ü=¥ }œ—Í##®ÕÕ}'¯vHOóW)=©Ûý£v݇g{¡aÐ }ζ…!Œ» Nåûr’ª´8ÄÔ»d™°äÈ/a/§Ñrtïz‡j~u:æ›”9»=õŲ¢)R‰Êø33u»É)&–`:§ÍZÉvl^$jN“¾àãVZ¡ÆG¸ø™Æ¬…eª´Ã”‚؃À¹í$wO,çì87ÙúÍ ¦Bøß(%Ð^êšÄôwã•RFØ¿ýcK9É«ñE7ú»ÌdÊ#­¯øÐʱ¶˜4ž•|­eÒPä”yßÀ÷µÖ¢×„cOÝæå°Ùð¥Ä}Ù»=ƒ!’Ö{åffß@™{Ëïáv%L‡· [y„ÖŠô ¼s Lãª|RÀ0Ëàjµºî çLù·RÂYópa}4JW­‚/bßH˜ãZÓêà)E(ëO!7âPy¶!6Ož'Ð;l€¼W0iá#µ¨‹ˆWìL– xÎ 0êÃBÏmCø‘ËøÙ…åÜ‹ÜÕšc¢!©Û—?8PØÙßÍ'“ò-wº7éÖç«õHª‰´š,C¿Jˆù§Ý¬o=éÂ?ŽŠþŽÝò9!ôÛÔ6†mª‰«Ÿ´§/Yñµ>]®”A ¤ŸʳÆÊ­€ðÑ»v—ï—YoùçÆ¼šµW>NÎ\dåÊ7E^Æ/€âñínþn˜ª³‰³ä÷!ÈO¨hJÑYQ šÂÊõ#ÍfDk±‹­Úy³ÚÙѨ õ4 _l•ÑSä˜/˜ŒÃËMxœ¾Z+Œ$¥i–vÅï2ÂLÒ¡Ö4Z —º.ái»æ²#û‚“ 7™+ÈTç°„×î²1¡$ªˆ5, þBR”È®z)•À2Z©™Ò¤dh$„™\f]çµ½/XÅ…Ok&Iäâ–­¹ÙçºöFNûoô<Ýh ÞâTFª|øÀÜ3ÍT*Çvf°ÁŠm®¢cŸŸl~ÝEåAõåh=jy@ccîŽX=møÏ °úÿ8ãÿ?ÑŸ­a¬7³¼¸QM—™ì €˜éã+$?aíÔ(€!ëT ¾Ë~ïi >ÚίC³;©Ÿ>oTê¹b³¥”93|´JKŘÌÞÍrô¢lÊ.ìP·árn°!ñZ";Àf!BŒªdkÄK^w×-Ãã0^s·giµ4àf©æ°'F*røù…H¬‹õºèƒIÛ:Ø‹¦Á¶dBp³”N÷Ø(v¸Kè… ©}àkƒb¦k `\ŽÛ?Ž6Ìq’c©æfPT$™øÒª-ÚúŸ%¤ÍÕ˜‘ã„ÿÔ¨¡O BªÂªª£÷P^Šy%LŸ«â|ã³×dåAꤰG¹Mõ° lb]gApm¹öQÁàr<X7ͱ‡d,ÁOÍÐ +:0-71Ý—.9CÍvN·MÌvÁlQZ;æJÒ-€%œJº0»; •of˜¢÷„;šöÚ2í¢©No¢*Èïæ´Eɲ„F”Ï"í×› #=š»˜ \Fu&>òEÇ3ÞHp¿»¿ ýd‚›á¨v ;í®Y:LaÿÝY‰’«2å _çÿ¤§BR‘‘à$aŒÆÖ<;AaDZÆ t/!£ìkmhµ!8ÞT¦Õ2O¦ùV{kÍ€q§x§&¥ÿ‰ÓAÍ|XÈHñ:óyÞÇmguͰ\¸ ³Ÿr&[‡Tæ €ùÉ$F°´?¡«?.:&mJb'á¼Wg›ãÛQÆ3gÁ¶¬ZÝÕ÷˜âÌÙ„P=¥¿Ž*/ (†ÍIÜÿ*¡¦šˆØkmŠ˜ð^ÃÝ­dQž§ÐP?‹ö©,uI ª¥‹5kŒ6MÆ{T¾¬¬eºËÚz|*þ¥2BaT–Nά²¹&Áë¦ÁGë/=Ý:ŽåîŸö–±·í,ÂÐãA;?`õ­À ›“І'ËãÏ|²xÝ0Cò†hÇ –vó!W–æ÷2âΣ<®‡\ßÈC¼O,.Lëû×=ÕÍÑá\ XáÙûòó±Ù…9l¸5ý{†Èôö“zÆ.r[ kû¥ž2- Ímv‡ XƒnèΔüµ¯E°¢ðp±<%ͤDj‰ŸUsKVú^ûPi52õ¡'!Âî˜ê+.¨(ÝäÁ¯/BÏf[ÐJÿd†6û¨©"Ûúº°âÃÿÇ5&uˆvYwEŸ“{AÊg©™O‰•©Žb#§§´‘Õ·Cå ‰X]G@Ú¥7ówR¶\:(cüŸ‘BÚªÎRÍ-¬!Î6¥1µ@ú-p­ê>%Û£ç¸H¬ôP‘ŠB¡d5¦'ˆôjUT#¼·ä!äÂ@»Pˆq.ß8œv¥§ÚÞÍ(†`‘Š1¢Z‡&@òÌ[îÐX=öyÊg©ÎµT‚W‰G’ø[K‚s,ÒIÍt°Xr}@|MÆ0}ö£6 úÛ1Ÿ»}×ï:«ôô Åygçç‰Bâ¤À[-æ„ÙiD:' ò×\6ð'w5+„fNËm ó¼:m¹‰˜AtÑnï{0ËýJ/ŽÏzl‰…Ð ¿8çILèð†^›‹®S46Ä«| ü¤ä`¤âÎèèD|iése6ìŒ?žÉ}Ñãꤜm ÁUà~Mp+ò}PtÛ:Sïu<¦Väúoal·À>þ©âï žþol«nŸÜ¨1^%cSƒª²"$½8e— ¯™æ¸nw7ýs)Á¨ï÷‡Ã– Wľùo¡oM&-M;mº¥½a2$Sòž?Ò´Ý9„÷áëô J¨áî rú©Ú*8ÜÀˆòh”(vðõ+?ÉaÌ¿Ÿü—ȉ¼s@ŠËà‰»Ãø-Úµ½Î/N4ª¤ºŒu—³œ¦× ÙáGŸ¿ŽHfcÿR:û4ý<û»ß¸QA¾š 8ڨכ:s£‹‰€î²Ïï)Ú9øýw´É̬ðUœ¯¡ýà3iâZ9!†Ô{šCO‚¸Š9”Ý@!U毷-%)†\»Tf±+ŽIHƒzѱŒÃ·ê|ý#¥®Jªiÿm/ÓÉ]ºQ¹æÝP9oš¯V§¢šm7ý†g‰[_(ǽ# .h5-P~´ÀZÈxIŒJ×Ìûzâžüâ§~xüK.Ãê_`lòÃ~VïÁeÒ/p5꽋„ Bòéf×:ͬg±»,iÙXÆfõÙê|I„zh 5öºùÀõÛÞÄç±v8‰_ámLvgþ¤4›u>2¼ L¨ž(޽§w§bäÌÃêPS Ѹņ‰ Ü}]×ú°Ô"Úžªýéã´Q¥ÜY¹àø+îjÚåµÑ Í"Ñ‹†Unv¦qÉW¾V’v{eª‹œá$V:ƒ1oú­¡÷ŽDä¡‚‰ÚãÝͤ Ðlós9þW¤µw8A$xePÍðƒR!YßôññœÆ8\ôm[`byTÙ¨flàY¯¯le­Ô‚Ž‚‚˦€S 4CÒWõàÒÚš)çñ9¦·‚3Õ¿b»Ðl¦¦\Ib• ¯­#ËÛìçÙÛÒ(Û1Q¿‹Þ¤ëîEãܪ¢ jůsúãYd€ýïSÀµoKÊ°êžø8âm}y§…RÃÛ¨[ɸ±3szÌ)ÁbÑWjÖùëÉÊ„¶Èîá‚ÐÉLß!Ã8ؼ~Û4GÐÛDMYÔuï·¬Àƒ$¤U: õ#’U™YÅÓƒr}Œ o9Ø‚f_ˆo x÷¿xéÙÐY!ÒæyÁ‹Ý]¬‡¯ˆh:b¾ÙÙÍäïsËö:!½¾~‰,7qJ¿¡}‚vYëŽs­,Ó´·Æ;A¤–ûXyNÆ‘!.õìðåȆàŽÂįê‡ãü­)#ü%بÓhÓpvQnFšÀn=±¿œêy =ͳp.Eö¸/ÜjCð;úw ¢`úvËA‚o“RYÂ6Ø;VèõbŠìuFðå•Vp›‘‘ :‘Ú¹§}•&-«ÙŽËe)['GA¯½/ŒK±û ³†Ù2B@Rù±WŽ‚ÂDÁÙÀš¬åÛ ÙðNŸói@l¤“ï´ë!ÔÐ’õœ*/š/¸ÁüÍ™ä¹_”Uþ¹XI‡´FÀùáyÊ +iÇ‘D¯(£b5¶nG®Ì«QfµSVýa„Û4Î#£§®Ç÷¨söÅc/²$À˹=ÓúÌÛôÕ«b¤Ií( ÇÂZ¸³JͪãS9bì1¨äL:s±ÝFa<„ø[U…ë3¦f¯ÐjNñd5ê:ùí3HAU³ †%ç¡;äx°ì†äóô}— $†ëÝšÙü«…Ù—Ý0 2$©蘪÷”.~r$$F'æ53:ÙˆDÍ}µb.s‚øRÊ@îŠOùr¶n)f›ê”š9#ЇÔ\nqï/à‚@7–ÄLù'4Wš˜zB)Â~$…ý¯•š`”ô}Øe¦‡b›¨Í—«·ò}{ldóN¹*v†Ì¨ËÔC1ˆöçhU³S§,çˆäéŽðQ}»‰h]H—3üƒû½yòÁ‡è9>T&¥w!׉’Ü:zzw yxTü–é_.oõ‘wŽ0©é =í «Þº!ÔK’F3Š–¢™OìH]\s•*ÁEX.§ø½l»Äií¬19©¬©»SÔ3!‰¬ü›!¤Ÿã¼1_Ðå“7ÖæÂT%Î1ùÀ‘€;”B¥R\PØ{µ^¨€9Šm*úÉô×ο´› ”¦_»U9â’Ò9µ™ÝWb¢6¨;€RÂ/ó¾áif” ™(¾çD熪ј1{¡{»u tm«¬Ÿ°®æ„©ê1öNuŽEª…¦Î›ŠJXjç³a(d çq¦e<æä´¿fÁ’p¤þÀdÆà0™Ì©UÍ{Œ¡õÀ°w?¤ùÙû¥e|‘¶Á è¯[‚—·±YJ^pÈ8SµT‚ž«ÚÄÊ'XÊŠ:ÈmŽZ† ñ¼LhL›{ˆŽ-$¨ˆ!ÞüÖð_nVìdD e¹û/ÃÓlAfqº¸Wí}X(ÌÁüë}zjw‰Àè5t´¤¡ŽPóIC-[¥ä+£Cj(¥[ÛS_¯¥tèˆ ­ZŸ¨O)¸ÆBöÞÏaÌÕ!÷t?kÃèïØ¿w;\TEú‚_óEkôŠJ†÷«‰ã)ÆçÈ2stMÒ†bßJŦ¾­eóW@:÷™Õ·Õ“òì°pì™hÉ;ü ›M‚ZªiÝ)Gފȯ%9)kŸwHƳ}¼ÀMw.Î2¿Ü¼g‘Ï ’g…à CµØ¡¶0Å÷´÷îÄríU»H© >+ú‡ÛË#A2‘=ÞÙPEéÇ{ìB²W7Ø³ŠªŒT ƒýÏèÇû7ŽïJ}éƒX‡Ñ+0â(»–ÈÐÇTS²H(§0+ ‹‹_=Ë©3¹5XÑÒ¨KueBH""‘Å}Å<ÜŠ ·ZµÛ²`:ú±=ë1ŠÍ/C°ï£¶ìº!¿±ÐÈ踣Ànj)(¬É¶T%TÈÚ§p«Jv‚f·!¾¶%%VùۜѦ¯˜8Åê Ûñˆ½ÖÞ=låG«`¹‚ýã“q¦ßûv¶ƒ?òZÖð¦ºËâ@ýêZQr†Tžòúiœ 3JÊ^ QþaPE^žB`$›¥Òs餆îã®XÚR¨ßœ)„ÄTKÕ¼u0ç·û&‹(é ȵ+Í -¥8ælŒ€ó~Y\çr~Ð!¹@ÃS7}²¯=4Q ‘þ§Š2.g²çOGßuÆP®C×£Sn¥%Åç^ùF6ɪì8b˺[]±qèà‘qj¼m\í¼ðl=s)j«(4ëú:¯õÓEä×l;wïhëÛ3¶YÃâÙyºJw½Uš2©ÝºÕH5~QI¦gH{SüŠA¹q€-v‹ägòtK†jã;ñüBQ8D¢Wø@4å#IÅ% Ò#X†µ¼´Týb)~¤ZÝð!¼W‚\$c¦M´÷ù4éNм…J]šSÈ^¯ wpvý8Ê´ÚLõçڀƺÇr¾O#NZ¶ÝÐ\YÁÄVÇ—YZ<È™zÄ/Ž<ýˆV â.ÐvbRM0Sp¥p¬Á6$ªéè29ÎõN™ºøµQR£)6Qö"ÈY¬¼Ì™%Pâ"r0³€ m@CQDâw—պ"3”0AÊx¶….¨qû#i^›F]ÂmÌ ¹ã!Á’%P`wð5 êÔÆ „¦:ÔJÊr”¹Py´Žk3r¯° ÐúÀ¹Ž:T6 4T‘2eǪV¤Ö=6XAÉyÓÿÙÏœ³Æp¸jµGߦTü¸“Á uÛF‰CÂXT 2âO9 醧»º7ìéFS0ñrJߨÚò­ŽÔ§¾RÅÇËH]oFoú¡!l¨Ës TµóÈDD( ÆëªØx;ѯ7GôëFG¢á%õîïˆ}z£|›íbœhÀé×vdÉð$QÑ€ üWLÄcŽŒ"€ ò;ñÑ7ÄÜîuöT¾xóz´…„~ç㣊z3) žK*¨ñ¬VÉÔ¥Qžƒ—V8ˆÖ(¸< F¨„q͸ŠÈ‡€ØIøˆŸB ÏóÉLY¾mìm¼¸I1j,ƒ“öMÿƒ®BhH€7åâ÷õ‰êVq;ÕÈûY¸Ã·g2†LÝ$¢Ô2bs­T‘ÙiƒÑC&¡¿®‰™½4°‡Ä‘¾–»Ç~þ½ «Ü€”ëˆ0vÛÍ5ƒðn }jdÞê¸qÉá»vWié‡3$˜‡i³G$ñLµ´ fïåË…°å¬j?™^~äš ™°õ§TzIÚ@} «+ GšfÎÃ×™ˆ±Ø¢:hx-^ÃÍefdKŒbè!cœX^2±ã˜c÷_1$“/g¢;Æ„Zì±Ñ‰X¹·¦%X­˜ÞöËwZ *€Ÿájø‰)Í:¹±'¬vmh#ëònR¿-Ù7×{6Ça•A§$pJjZhs“ou¦4™ŠtåU‹rj¾Df÷ÿf½Q·Ä*¸¹Þ½­ÕÕÈü!‡ét@{Ç8†_Vÿ[¶ªP9"JþÎ÷WH‚ƒc}ÅF5^6­ÎvVƒ˜¦ã´«ƒ‚rªò‡Àî\“i)ÛS(:$Ÿ%mä†X¹PǃÏ)üΚ¤d2%Ðvjc4NÛV•„àÆ saCA1µª b,«)ë*ä5giø²,Çò¶›\J¦£Óx¡] ¿â¡ÇE\Ã?Q‰7:mÅ(—†?¯µ£=ˆ×éÇSjëÚNñº/üø¿ýeÊ8ô›¨šgž:ì€±æ¤Øu:x…)ž¬îLÏ´ÙXî·ô#bÌÔ!އª=2+ú‘ú¢cOˆ£¿šiLɦøYZ½ÑLIõHzål>ž,×Ǿ0¡Mîõ:ZA0Ó rF)D—­‘eÝ¡‹;…#Ûð¦›h#û5u)‡9£3zhWàP›šÜ»·0kÎ.s¯gÝ„”K5yExFÞnœÕlê¹ðR³>¨ µ&ý+µ-÷Êê€Èá׸B"[XNR¥¥aó#I.1Ö)3¢óujƒ8Þ­) \i=›>Ÿ?;ø-ÄJª:bùxi¸K93c`€ï$Óõ/@#hÝeeÙ° 1ÚmqtIgRBã8d逊öð¢DÝòT‚Û]¦:Ñó³tQÿ~át3³Ò: ý½¸°4'®J×Í©ÞXšÏúâ4ò3ŠT(½7ôÇÍ‚Ê#jzºÂáXuâ8=¯êä'¯—ê;ÿ•Æå"~ùi‘éÔçˆâô÷ŸUºß>¼X×å&6߯îÌa­¿`WíÂ=QÀq[½ëRD}wþÆÅ”wZŸWÉrDÀ} Àødm;– xš4%x ÕQ—4s΃^>‚Ø©Áï/SÙP’ÒPMJ“·y—P+‡²<ÚSöê1¬v»äN๴\¿ð¿?=q®דi mdŽ_àÿú‡ºk§¦'#o…ä¶Ýín0Æ 0“§¼ŒÑ/þ…áœ)„°I¡·”‰äõï²£%½òL£hê³FKý ¼A›];µˆt¨œ'H¹ŠóuÞ§Ë%FD­’òó?{üÝ6r’ˆnð«ãÆZ¼N<<ÙÜÝI+Vþ"md±´' V#<`ì1¨9ÚÛ&u9lçM¸FBýP›Ë¦·OY挀Ô~ÕvÐæï©D†4Eu,õÈ_¦üД+FÖh?°^¨Â#„ƒHèØÉ‘шÅï›!4¤¤×q¢ÏŸÒ¤cRýºWCõ¢ãîÎ*ÅB›ÈoÍçyÖÑ*ñä­«Aç~¡µ’ÒJÕ~j—I‚gRvŠÃ~WæÒ½^!P yŸô‘ùŠ•çÈTÁ¦‹â8º$#¹i¤ÌÀµÚä#W>u)¦`ÊVZ+Oô¦ïÉs~–oéË&ÕÛÔ`SË\¸@)&B¼?Y{’©mœõÄëú%‰?è²Yc2 Œ7ÿÙÓÚ‡G€‰Û“ kfGïÇö°ÌbòÓ{jÒåð:î,<Ý×uÑJ×îC-Ö›+Rzf~Fç7r&ÅŽ›…:Fªl05SXFs¨ßˆÉHáˆØø„" uà¿ÅílÎÿ3Ÿuþ-¼¶ês :²ÖxŒËi!ÅI›ê ·ÈCÃ{—´É;kôŠÂ›Õ9ë§“;q¼¤ân¤æX/†3¼@éŸïùî$N"ÎîLµ»Új»KúIª(¯äV,Öëi’ç` Š"ÔæQæ.e®‚q̶z(3‚ËÛëãMH X(ÕÂÇý¡¦ÁÔûäÎo±ÄÓ7«¯ 5tºo£mð°9‡ ¬oáaoÁm\ë ”‰œºBž¦!²¥a "3­{;6Š · !ëØÕÖ~7ا堂«Å žò‡vßq6n­9Ù¢õ=æky­+¹5òDÍr7®'sãÕ${¦Òï ñÁÏ"XdÂä†âНõ¯ÙõüÎe¸Oáf¡ ­8ÏÉ¡M¹”ë^.­Z$øR8³)GܺUɀЎ=-ñ ­ç ÑOŠ1§ï0°¿H œ ™%´L><¾›ÑÊ£!ªáÓ¥ÄÃUmÒ@p§s·æ„+"Â8y8Áað^ЙíPÀö»˜ç!3d³…9¼Êå?m$‹ŸÚï°i@ø\â¼×TDÙSÓ}Á7 }#eÕ56Túóù܉q'1ïÙÊá$8äöe…ÍKè–¬t]h5Á¤5ã³àâ â\ìé”,J7º*Dø«§fQÚº¾ÕRZÜœg‹TºíÔ'ù힣e€Žq¯^¾4ƒ ÕM ÷pÏJyÖ:î:‡bòtôž8¾Ä@ŸÍúœªÜX£’µeÊÕʆLÐmÖ×)™kA|èÖt/fc:ýùN,Å]véÃÒB?¾ºøBzu}üR-¦¶¾ŸîhŠþá*Ož IMa€Öׯîyg¾À>¾)!ÛþÿáèßÔ¯wMS˜‰Æv30…&]9}º Üdûšåæê Á"¹¼"éaQD'DR@{zF ¯\€††]‘œ&rœö$rIHª` [\ép$÷W“==莞­¨b„Zölý…RwíÈ–\O[™D¡Kª!«i¿tâc1¢º¼Ñæ>±"¥.TŒöK–{½­Ì`_>ר¯‡.-ÿJ!ß*íì¹±­ØHÀvæä%_âþP˜3Ÿ†r p¬‡ƒ·ïÕȬð¨ÎÏ4·Òß)?nò6ä]àg4ˆK)?¼ÄÒì^xS 8/Ê<÷E’>K·¸Ð¢‡în‘r›™ÖVÀcÕ¿–¾öó~H°Ç%:úì$ ŒËánÅðŽPG„ Íc&¹¦é¶D§‚à IК–‡G¾+¬–ÃÀÍ21_O–ÅÐà›.³jÒ“ÇcoVšfþƉ þ/+þs÷É™žoHU‘d^ПJíáÚÒjéÊ%šèæ¡Î™.¤V´’£m«Ä²´¾ªi¾pO‡öSõr9XÝF—×÷>3¶HᤆÓ•ï.- ¯®U¬ƒk29DP®75E{®B\®‚# }z¯2wV©x’‘nöâÞÏA]䩵žˆ{nS¹øµ÷ðª|d$\)Ã"á‚^-ZNh„"b(úGÂMkd6›]¿òè`”‹ß-é_z›Ÿ-瀤 3føõ’¥ÖŽ’qrË'75H[§`[×@BÝ8[ú凒 <Õ3™xÁeYrPët²¨‡Ã&¨fQqJ•–‰x|I+éÙÁÍ”€n>H\ÖY–µw2ÓÐEòñ=PENÝ(ùÞ‘7’‚>TðÎøDI#.æÇ!.`>å”*‚]pØÒ¸š`1«íy«ŒXàG}=F†ÒµY‰b¢ÇåþáÇ„ñ¾X¸‘ÁA¶ =ôT5ä if)m>åÿI½hz…>˜)2"â•MeÍm /DîÓx0¿F¶ZvPqk+qyùíï?8¿mêU-¤ÉR¬ítãU˜}èCTd¿Æm_nÉék;òŒlVŠIz»4k©*8;‘$ÂõÊ»í¾‹Ee%Fþxïh¦pxÿ¶ Êñ•ë}‰ÇÂÂ6i¨XeCh9¯UÕ„19öAq")5;W/#Þ§%¬£!‹«1 ®ÔúÝ4 æP÷t«XÊyFöSaB"„ÇÕb¿ˆÍ† ƒ " 1¥}E¦k’Vœ<=fùF‰(”h®¡`RLȈs­˜÷Ü´¢ |(³µ‰%ÛoF5AìÑ0u ¡*Ð6±ó¤ ˆ_1S,æ@Q8ëpˆW~=‘$cA¬ÿ‰Õî2LU¹ö)¶ÏÆé{¹£3/M’Ü¡D ]@4z–&Á–W2+©fëìÊ=ºŒ-¸ ö¤¬º,äkLO6ß¡J¸_·[†¹èñ öÇV:C×Ûšµ6‡]1¼<Æç&ÀL¬Më¿™eØ ÔÙ…LŒršöÛÚ"1)¦AÝWMsäÊHMF”óÃÃY¥Šé»´A7ƒÎ«-Ä)I¸øÏdÝšd¯%¬ÙG‚¨ w^¥¡‹.~3¯gq½%·3sЛÀsí'äoïœG®DÚ`¯ |šOeÏÍpùÐjPÇLﱬ3IèVÖ‰@4ñ×IÍç?(”l@ùк8éGܬdŒfh q‚u®{Êð`a°ÅÍùZjq¥%3–þµcJÄ}žQVw4ênÄ|)÷|„ƒ26½l{Hï4¦ˆ½%éG ö‘PÉÙxWXÌ’ˆ$K·„¿X¿–ó+0¤Rˆ§5cpU®°òaÏÄ=ÎjãgBF²Êáyj‚1RÖw{[êS&{UêQöÉ–U26Z§‹6áöö­óv \#ƒ³$`®]B¤ðŒA_²}Æ”YÃm`!ÞŽ–ÒopNº^Ç OÊAM5Lf« „¯;½³˜žCç ˜ÁeVOC´Ûýy¥‚ú^gñAj Ï=„E-e`©!ÞVxÕ÷¥}³ÊùñM¿Úþüjþè¥MKTëA³|ƒÝGb^%Ükûma¿4«¥aܺ[~ "Ô" €ŒI£À±†zžþ‰è/V-yÏ>q¸ˆwF[Ûvj%W»a—l Ÿã€ë’b¢@ØEqpÔ«Ž~¡,4ŠÉ½jqgx¨©µ¥¢v#­Ü*²Í¸Yîkö/Ë}uHeYÆÑˆ$«Ø;b–ÊøÚnÙ‡þoÒ÷³O‹3zãÐ<;Û‹ÔQ¹Ï g7øŽÃÜìÀ§#)N¡¤psýüª¾õÕë6óRÉR%h°g  ÑI¦ß(š1¯èˆl÷îÛ'Ñ^¨*=h¢â !"E(Îëöue •PhÕ›ÈÉÒ‡IÂXŸVå•èhC:£y\Så#7kpZÁ\ò©¿º Ì0v~ÒÍO8¨ÐêaÎAb¯…#›Dk8,‘Þí ôÍô;’eïÌ÷{às­Ã¦@žwë,_Ž]87<‹®ô-(ŪV ×Ì5g“Aº÷ k·nC`D×`ε!¸€Ø>;á߈€¼ÜlÈXRíÙNh¥&fi²ñGLɈ%Q¥ú2ŸÌñ]Y't¬=ž ÙèrGþgpL”¤ÚJÌû2§Ñ Y¹3‚€D»eØðb‰iQ±y%·wË–dgu"g‡Ù.² çã÷[£6Û`ñ)¢J®TdT÷ÛÍû!l~Õ½x­jkûÛa‡¯àþX¿<ˆ¶î6r¼Â0¦§Ã±·.¾A®DT¥ ó€zÐJCr®nÏ—<¿µcER½Ñ€ëË(šÿjf"°îã\w$–]S¹”Ø_j l7]É}” ÒP‰—ý§2вélZ 5—S„¶¤b­gùÞ·­&ÐÿW±rÕf¯-Úi/ñí):ÓîéõTöÛfß] ¤›!°þÛ;HP; jüºä°›dJ¯f?ãà’)ÇFIÝ4št;ý5ì‡8BxÀêÌ.“NNI/VøÖùÓˆ£R–/r)ªyÿN|ˆl dÎ÷ ÌG¯ù,e€ÓOŽžH¾ðß‚^ÐoÞ¢ªe]éÜRåa1è0ƒvu‡‘‚Ê+ É®™ðʬè~„Þ½Ä8þ8PE!÷œô¨ ìCÝŽ€èEdçóÙulÛoR2‡ †húp®C gù¦1FC&WÑ“¿!ÕÓaØöbì`ù„àj ,|¶¤^“-¡Ú!ïâÁ—cî@ ®_RÌíT‚´TTÐÁ‰•§_<`Oµ«öDèàæ].Z1BT/Í×ÒïbU¤X¹ÍSy¿Ä®¬"퀅”¥Wc˜ÇªÝçî\n9£Øß!ínÁ á†}ºëö µfµXµ‹©+è"ܦ*'[zÃVŒ’PÝR(GóWÍr2l²“Õš®µŠÓ—“¸½¸N~“¡<•ð”=ÕâÅh9É¢“ Íš«+²O@Y&¢©MŽKŽu†DFuÕ%€Og ÉTØŒÁ ¸ûñ <´—[WrË쉆ã½üRÈ4‚%dxèÚàeúOÄ ÛQ„óó=šÖ˜:I(}p©\çé¥Ù¸îõq?[WqÍÈš‰m£‹ÅÑëð ù`¦ùO.T:¹O¾Ž[…¥½x-%œ#;Ò ú¼é%Ê‚€-ØÏwàñiâmEÛLbÉÚš’¥cÌ8’[OpˆÔ¼­774ABIrГ+ñƸÛd¡³ v¼d²&K#’Û*žÈ}¾Õ¿1˜H'i¢&ä½îã1„Qwlý>ê ÎÈ“E‚ä=R8¬Dx¼Þ0{@K”´Œ¢u9Úy0µa ‰³°[™z~ÈoQcÂP²ª|bž 7ù^Ú1G-r>èêsk¬DÅœu°´ŸÀ0ÈL]¡C‘> ² Ñ jb¡„×3G€*ƒ†¯Ð:ŠR÷ù;'?à QF3Ë@Å('êí‚«.ê†;},Æã•µÎ[U¦ÿÕîÐ<¨¦¸ëòTÆ5°cÔ:ƒKÓ’$Ÿ4âlÛ7K2í®X†Õ¸É$S„ §ÞÀ£g£ó“¼{ø ñÕB6„]à S$· Eâ³'$œVÃæ¨’Ï(Õû &àÍ“6(À÷t¡ènüucÖ)U%&eÂÎ'ÿˆºCؗýT`~Œ8{.ÄUÇðçò Ž½`ψ¹Gÿ˪Še “§Ø6¢:örž¶(a£eóY›z¿ -Ê`»Ù¨Z 4N þ *mÜ™ðØ=Ø·ó­S'³™Ø +m´Jä&wÁEU»±’£ÚÜßjø[7ÈD‹·‚eâÔù;p’â·;Ä-^•GN«—Š›&ƒÔ4ˆžƒeÌðDC—(_©\TšÈ•‘L„ùÔýæê LÃVØêð–Œ7ƒéåýhÎ -™õ"À5 Ód°!cfÞÔRm%”öødû£-æÞnm;­ùµÁ¢— Õ´¹gyA¬ÿÆ ê()ý-ûâL³ÓÜw9@p¤½.1T“$Ýóz®`øo)¦Vœ?JÞÎÖ‹…íÒaÙ¬² _·MVÍG}@:,<‹IÝ!ÃW2 >¸%}øø"\:l¹ª ²tCr@ßs¿…øçº™»ï[mëh½*ÞK.ÙW|¥®ÐŸÅØJh¢ý™|„F_£kbã 4>«ªèl<Ä3wìëy|Ùó:a"Û¹GI›{ÇP6Ãe ¨ „®cúv#Îwo¨×ýºOX¶î='êØq„‡Ð hzÆgÜ`_Ðò.9 g{|d-‘<›ëÔÊ­~2OÂ|ˆº×w¤v‡¿j[è ¡-3¥öëÉR K?M£¹ÙU­ Ùâ~ñÌr¿J|œEÇPB NùéK©ºÏ2Û,IðŸ &ºQm•Ât%…‚¸ˆUHÌ/‘ö÷“#†UEž­Æ=Mç\b­¢è:£ÙB•Â8ŒÔ±=nÁé<&ËrÏòâ:XØùh®°‡ùøQOæ¼Sëñ˨jáíª,à¥Sû;·yÚöPî"Þ* rM¿±¬‘Šg»©Sò;ÐÃÈlOÈì $üŽÒN:À¤Ê¬Ë*ïÅ´Kèpè8¼f ©ß1Çd[ª(à’•KØRÀÚ®Çô áã’1ŠZ—¡m²S¹ÛŒ’‚,cgcqoèÎu%€¨nç„gš-k>RÒX„!À¯2K˜tº½ØàÃúG Gp„AÿsTy³cVÇù͹œö[“‹“pyª @¢°%;2+/7Q¹róŸ{¨è¥öo3'9oÝ ‚Üu\þt˜uÐàÕî2Ó|†_¦•˜·¦ (ñ¸.‡™É-ž­Šàj²¨#7ªö ó7zͬèºn‹‡)x" š¿ |ƒzñpsvÎþÀY`''«5>¾Q X“Oü*ŬþÔ @LáŠw– FÁcwØ}Ìê8á"‡TCž«ïAÛ‡öLy§æàšÎýјo”mDŸWwõþ2ÊîáÔ˜Ëù«­ùsÔ‚œ8î·É]ùKoºq³àëòˆÃcüödv×?yÿD~þo*>_ˆ¤$Zaw©,;3 ›Ÿ_àúΩw;ˆ–’%L9IPe’¾éœÔ±¶# ¨Þ™õT;üy°5ð×X~’p !1§ˆ€hx›Úœâ–9äD˜ž¬N‡é$‰¶sÄ ¸} ”ô÷ÁÜÅaêÉNws†w˽gBÕ’0´)8í8[YèìR“üå4;£*ɯ‡ /þf8¯]{ÃêÙ¿ù~±ò3o>QLô’it”†g›±‘PK¶EÞh$[I<å×_žŠÞÕÙTÛ?ÿEƒs8qJðÔè>ô…F.¡bHBÿé¢ãäw1Ró‰|ÂóʤS„0Rä ¤\ÀHì蓉©)š¥ò«„nßí_Ñ•âv‡˜u“éq­P·“z2™‘';Q±’*/þÍêÇ­È€!ÌoþÚdœè8/+×÷óî.ïiqΊÀÝO¿…lo•©†y¼èǬEÄþL¾ð}_ÚáÔ»hµ.#ÿÙ+ÞtƒŸÇåöõqÅ#4Ðeá aR¶eÍ-a¡ëIÅÙð_þLdUAB$¢I5wnŸ¾hmÓIa')Zn î#=£ìÆÕ÷³+ä=1<ïa>a#Ãâü,Ufâ:>Ø‚a¼ 1â?Mt ¥ØêŸp"ž‚_¬|¸Tuô˹Áö$óCbvøÇ|,šÁ,iP{l}WìmXÝÆ¡ÝÁªÈÛ+Úç—€²%w‚GNéµR¯è'¦û±N§s‹º0QMôþ=½ÃáE(ÔR®-D±]¿ƒ5Ý * SiK N{R–óÉgm1XÁQfµÌOÕ*þÆ22ÍüÕ´÷“˜Ls©ªˆ›»â¢uÁ”¶â­aÀptM.± ƒþÔ6ù©«ßk‡ÒÁŸ8oý 8îE}ÓÚÞô; š¿ÕpKеŒÜˆÙ(Ïß«Ú6wf‹j}òË:×—7??lœœ”D¼&*+5¹Ô«&¢›58:[[9á #f0í¤ÜÈÞ´3¥mØ…^nÆ÷ùx£Àïž2†Z!ÝëCÜÍOåö¥Xoš“µAøŒ\º¾ …˜V’ÉX)éï\8 œøjH̨õ›ÄC—…Œ,‹€Üð…du•qî±C"t¿ãÉ!]‚™×ÈêRy'Uú3Œ)DòŸõ-½,MCEÞDf¡!#t rO åÝzÿ?Ü>Ò®“º [oÿ•;Ìò­rE¦1QŒ|ý}3å÷è+Ÿ€‡¤ß1Wk¤LÃb×=Aì»'É+c4jr¦æÔq„sã¹jØ$ ]Y-åjÿÙèF¶@û¸©Þ¾½NJ‰èÏÍ-C–yT5Y@ÓïH° ÿBŒ}1öþÆ;$ mKãR3Bèøl%p“â/£êD"«jÕAð,¹5+=C2h4Ø”|ÓÐ1Ÿ¾ZƒŠVÌ*ÊãMÓƒ“4#Ù'¯Œ5›ë›‚2GÊ¿=K¢M Àoe¯:+k¿@änU/Y ÕîÿJPº¥`º`€GÊÁ•Ã…JZ˜|qèuº0Ð,Á#œ.Æ»;áð±õ1Z…‡1Æ?u³¸³–˜Z4¼¾#¨cÚú€ ÎóÌÇÃôZÒ}ý„ãk•È[±%TÜX‹sÏTC˜i~2èÐN p@¦œޜѿvXŽïàÅM<0< ŽEHŽNò}©Ã’y,Ê0¹ÐiÊlÚØj®}ef'‰Ëº›G^1á"`å×cJZÎ'<“ùÿÌpع  mçBEtò}ÄËhÇþ¼Œ÷ Z[îӔׯ@+¨Q'C+ùUbᣑÜЙŽË-ß‚ Ç;,kävº¸,ÒÛr$@Ž¢œpÕÅ7ž™[9ÂÑNÃ!ö1ÇüƒÐf‘óòK‘Û¸¥å§·ìÆ·_gU ,V½–˜@V\!ü9Àõìâ áèòU#„xgo ¦œ¿fIcÝðÂk4?Ï-žÆ‰`ÇÒ‰™­ÍGÄA=i1¢îó&äï<ºRf>ó[à׳Yé¦b-˜LŽØF?¼üs²õé—Þn콪àþÜ ×-¶²;ÉzF?¡Èe|,'?}MúøÆ‰N:•ð³=Jcõ€I„ü_ºõ9J6 r›¸rX„WŒãz¬‰JìeÖ 8Ì4ƒ¢#jë@Ûðp·“¤n jl?ÝÊ›¤Cû™nh÷¿H T\*Ú8Paq*8_ñÜŽþɦ-Q6€à².•“ýÀ¹«¼¹ÄnF~­¦`þÌm™á‹š`}´”1±cÒ Ò­ùÌ31Ù)s¶q Ã^„]L!ù£!G™Ú °Sø—VdBÔÔéÓ …hÚéy4â ²5V¶$ßé,ö>j±Ël“ÜG¹Ó@ØÕm¥AШKÌ÷*·²¶»û‹”X±­JÖn^%È—WƒÆB_ §Ø¬¡È½žy'–#šLï«ìÏÒîÃö ˆS”ÐK}__õ,M.<ã^£Mó3¸‡a}4ŒËþpM/QÒB¶‰™º‡˜Ø÷©DNÅî&GäWN%D¦¸J.|W23­YªÖ<›'¤_üX$ìþƒYê\[=_.%òñï2çn08ß0ôÈj·/Of{€ÐSæOl±‰ê*—„iŠËyH´ƒìúƒ)IP«þòÁþneÚà©ó•dã4'™Èëß¡K`g¢-?ÐoæF 9ºþóþ´¯%mÆAS‡óWœÛ35ÏJi  tIÙV_sØÄ5Çâí¿uh>ƒAšU‡i] è$]w‹Þ­Ã”9¹FrØÃŠˆþj{FûÖÜmâä9ìnê²Åé˼Ô/Õ›„\’ÝfSÛ‹ îã–’<Þ±†ð¥Ó£Ù¢Ïuš;àÂú¨;ó2eà­Ya×+µ“Õ»¾ˆ(T*¢“e Öô ¹ ’¢Ô–4J‚½0CrlD>æDøeDh+ðHÓß'/Ëd‡Ç| sÕS/1 #„®oEûÈãóJ™ÝBùÚ #Ÿ°‘Ýä䪳pßÒN€sm¼¾ó¹FQ]ŸY‹”A¼›Ý%õ¿Åàu¹å7Ž0obÍ0>e@㵎>?ÌŸ¸¨9âeŽ4FGÆä&Ÿ­{É*çâ°ò§.Èsª “t¼½žl@aÆ€¸^Wæß»˜ýä]U½ý©¬l¸¢šd€‚‘Ë®–¤í«nW¬n˜»§ä€Z^8Ì †Ž4Eºh ")^^pœÏ®«Ÿ]®íÿcï UÒáˆÝ¡—¬ŽPv‚ô—£ªWeU¡1R}Œ9L6(¾âÀ­~ØX.¦,øÐçÀvzˆÜêÁö36øÝNÙ§¸Q¤WNžHñvðÖÞtõePÖ"<µ@‰(פ'õ…Ø"XŒëˆÓ’dÉ•|×寙‚#Ô6qBMf±:ã0‰ý‡ÍwV€fc¼¤~ziØ׋ÉFÀ#²U* Ç5tÂ?1®Õ ²£}ô]33Å€Ü <ñhŽfåoªöOåÿ0»qzbª89äWî¥ÝðrúS¦n£&Ôá0¸ŒVûP€ý¢ºmcYùãŽßx¹ý±“ˆx¬q²±ÊÿæúRïeÈSöÊ6kpÚ'Öàwu¢hžÊ«{£êm FÀÎãü ;ÙZj©ÎGûWÀS€$Ìý‹ 7ÁÑt@g† G—©gép :¨Ç€»ã«^Yᥢ¦å”Ý’” ¥PÑŸ(¤yƒ»þŒqËÐ;÷5å"E‚é*L´ü£tW¯õ‘³¥Ç˜¹Y*Çè0ì•6U:¹F?G¢s1á­fh~ôfjw6ø=üW«ó´ÑÿihFõÆ~)_å\‘0Ž˜]úÒ‹ƒç2¢×ˆKsÍl%ØÊ?fññŽd}“BýÇʵ³ Ó1Å_¸wüh7È^äC“j–£¶FŽpȱ)ÁëXcӓʵô2qÓfá¦õïå3^Ò¡‹G?B犱M¤í2™ÂúqaÌ&‹Dê¸/˜|  ™TædÓ31±F‘š¨1¹wc±¶¤Ã¼S' À—%x¿Í¨°Û ´fk䀖þ^mÂþ•[Ävü¨s캿t;"sºÔ­3è `91¼Á‚ ×7»q [V§d\¸F;à±iŒw}íÁF‡R¡×Dñ:3‹¿V|‚ms$ª j‰¸Cæ0ÓG¥`ð3³´84üÐ7Àx'<¬Ôü~¯ÇBÙj-Ř]Û,ndѵtõù Èèz|3†«õ…‡nÆ›žxWÊËa–eˆYéÁ}û~ @/ÊLñmB²kÐån®Pi–Ãé/B5Fk*x¾J|m•™Uëÿ$’§iÄ{\žj`™--ÔGJT÷ô_¡¡UÖ ‡’@®~¦0JQ‘囤€ú¦Ê/y?fŠzTšÝ¯ô(…Õ¯r‚ÐâÛœ ¦ ;žiH†=C1êÀ#—äõÎ HÕ8Ò^0 P#õí–çîqÓÀ€÷N9Íßc£¶v¬á$øðgmþ Ãu°²2jÿò$SÒíÇådA·ûWh‘=ÿ•îÅSMg®`ujuerÉÀ´æÄm®FWKWVš5t²Ýç/ô5Íñœœ·û…ªûª¤ÞkOêç½í•^(©—nµBÿ*G~&ŠŽ6Ú»å‡\-h‹I0Y(pw:C‰ ËíPCŽF^÷-io08숀ŽIj±7!–7Ù#çÇìn8Û5C› Š–„•·ZÆɧ‹Á´´›Šš7þJÞlü>[í p ¢C·2ѽ_«DÁ­óyz ‚‹P'm‹²š$+Gÿïcñx-jÄ¡^L›Ö\E…çM“€`â4iÁJ‡ÀNJÁÐbq¯Nï!@à.åv¥ÓñP#&Êx?ʲéE¹ÌñÔ§áµdYb#¦öýï­lø·ç\سûÊŒ=„–w¸¥¶,mjî;oE™LjDE'•¤1ird£ÕüÊ?x ñüWœ5ÈŽÙÄ@'ÿá3{õ+Æ& šâHìûc3©ía%zÔž! ­ªd&¤·õ°Z¼‘‹ç¸øJtº>ïð.š¯]ä=˜¡ˆ]ƒR£Jvv uPóÞNRˆçò‹]ý¯„Bz«€;žz¢we!9ýh†‘Ó-‰•Vá匡œ²Ìð\«¥W‰5êã©i©¦`VŒ“U±Žƒ…#jÛYc·×죦вK–œÄòRëhâÖ÷îtØëZ Œ/\æÅz3 Íz¤úP7g³1\ ®µÑ×HíÈH–îfç™l,_þˆÝRÈvïÑG8$%T½¢•fŠ]ï9È"7eÛ–._zÄÌêÕª‡Ö%‡D¡UÜ#4ÄôYÖK" ºbÉȰËn¢&þÔ-ÿ<)ªZš¦’X/€Ôí1ºä%‰Ö¯`¶€IER¹Úv–ÃåOo¨÷Ís¥Iî¹¶f.1PAÈ~:I Þeü»Iúw@c¢Qñ+¯Ŷ ý,›ž£ÄÉÓ© Û¹G ;] §÷QŸ¢UnT±ÿgFYˆaÛµ™3ð„jd,b¥©ò”2%ãġؑñ›3  Ô9ÏMy™{M~W:¯‰õZ4®`"üâTS÷üÄÐ=š‘ ¼M§fk¼÷'òá°J6¯‚r€7 œQkî•ÿÞêûÇi÷üEar&Œž;Ä%¼s.°uƒè"èÎ~ÊslŒe"ר9Â^s×Ö’ørëI^¾8/²ß:«kIx *^ªUÄ׊ÛÊZ·©çGø¦Œ0½êp@À*Ô”­¿*KïéºÔÚ½¡“&a¦ÁbZLöÕ›ËãɆî;›©k Ë踥㷸%ûWº=ˆ%>åŽíÕº»Ä} ¦§Ÿþ†ÁÕy£v®<ȯùõàfÍÆ”¸À¨Ñk.mAoÛÈLð”"]ÌÿuìŒí6ÎBTRöÚ¢F*‰6&ù€f‘¥¸.³ÝFbƒÉQ¢ðé2Öùa0ËzrYqòaDGºVc]mÔÕë¡KŠý „¦b7ýi²öá}Ü’ƒc–Ä“ ´*AŸæ01½]š6Y+Æt¨2jß”'\Ì—!ZÀAJ^®«ùÖ¹ÝKcÐv0ƒÒtÙ»mðg`€E€» ¦ÅYšéG 3%dJç¿ÀS4€ÝíÆÞ{t=ÆCáW-š¥¦qÔôÀ­™ôr[\:«›/äžÜ›im\¿(þ†[4nÒl5­)*E•¡ræB·f¯+zö µ\V×´¿í;N¨3Ë÷¹Ôƒi>ä+«Ë)O×{ÄŒ—Ë„ufrîlÌ+hQX÷¸¡ž~ †äñžnNDmîòêc¸'ÂÀ.Lú,ÁZdN°J7-nà+ªëY'8U·6¾È˜jñ6G3}³€kæÀ¿J qeô¡žÖú4[á&ã*Caœ( v­ˆÔƒ§ÒdÛÓqWÿÐS\ŸÏ5a>ü‹E²ûËe.D–K¦™xÝ,µúB \«9¥h®qkŠõ™Šd~!e‚I‰6ÞòºœKŸ¥w^2Ü£­÷½*A ͧÚü³Ô&«½•ƒ1wÁ[¥ãÍõZu,s˜ö6LçE«cÀ¦„¥†%¸J¾ˆãc+gûwï–ÿåÀò¡WÇžIR<ë ÒС×N:¥X(zö”¾â-×›˜Þ~.]Ãïÿ‡©ÎP¦JF·O?’¾„µµw«€èšnQy„軞&ì[Ö~nfýÖ]­ \4ƒ×¯Ðjf…`÷’ù9ÃÝì¾,éøëmÅ4|ÑÞ„IP/ÏvpîX¶*´n†¬ìêZ—Ï•J¼/2Q‰~úQ‡T†¤.{´åw%£žjÛ»•¼Õâ˜QÚy dtÓbøVì-õÞ›=ÂùAìÒ‡ò׎¿žvÞRù'w®:m\ÈÜÍT‚ž-¦í—“17ËaEªÔÓ*hlaåò‚;(Œß×÷wÅš0Ç•iÑ¢M°åRÉgøiï†râØÂ\çO‚¿qg MÃ È ˜Ðx8ÚÍ·®Enõ¹êÃ*Ú9m¥ô‚8Å•n0îé­n.»ydX_<¢EÑl¾ï±e>eô ˜ø¥Òj:á;¢?g–Jåz{Eù³?MO°ñ=äÁH¸D [•öGÃUèx•-.á«Yl‰ž ÷ïÏ6{¬µÔ˜T´Ä³õÏ*‘¹@Äß>'–2‚AUµwXÇ6Fç"K»(ºê”¿/\ó”ØÜ“•øþL?çÎ$‡w„»HtG.!}}6Ræ:ïxÅñL‚÷¶Ï¾”yÍ­†žfý2ΪRûS¶U“ y÷8îÀ¡³-4èã³rlËö·ÞÑx ¢;"æÁK F`LÜê ’ÓLÊL%>RUyºjdEŸ•u”² IWÐa<* @¸æÂê¨ï±ã å§Â QZOYE\n¢XMv¡Ø¤zhne"×´ç«d×5ç8û¥õ£’pÏöbVYرl«•Zl{¾&‚ O„"½-»ÞätTÄA‡ô&ÃTìîms#ìlk@åV²òû5F+qÂüg:§þý»,3úõ²¥µÃ ±³ß'©Èµ°®1ÞÆE£Kr zÅ}Œš¢¶I#¾ü¡ô±§ ­¤ôy?‰l¡”®BÒ ã}@êâ¼ó­€‰Äo Hd"°Ví °X“$)h~& Ü*dpdÿñ±$à>¿Ù„Û2&¨£é~¯¤ÍÁ}î;à û"’°þ „Ø–ã‚íË‹¢Q½>ÕN§÷ÈÜ÷r;rPy¸O+U¥„9íq¤†”U~ܯªíò`|]*œc_ßrPÊÜìϪdµNëé&€é¸K},üä$åVïæè’2šµ7dR =e^‚ÑÀþÚïÇ´€¬4žvfæ{÷a€Ù1ÿÒ#²·7YZ]Ü¥Žü<¸(Ù ÷ðÉ–W¤³ÅN^QqÅ¥!"lèò”%{QÛõ-†’Y•È—ä,hš1>(ÿ™\±žŒÈ|j­€§÷TüWŸŽh„Pqß@¦Að¸™À¢cM °Ú€€ÿ¸rU“ïàYf³›å0xÖ‰ †¶ßG—ÆNoÅ>gýø€ÎCÍÃL¤"Y 3¬¯#ZÿÉûÿúlAi7¾soV\í¸©UTSñ—:¥_™I¹ÌÀê œFøâ)i¯/»qž·Tå .Sœ\3^j‘î ‡ ÷`»Ï2õ:f³ÅP5\•=âÕLJ\ÀD¡ÅvÌÂð|^¬NÉb;NåG„˜­_çiÄ;ð²ìÛK~˜îV>[ùÿø¨obøMäE¶n:Oè±V2©¬ Ú^éÛ]_ãoÏ((ë\œüûû¬'j[Õ>Þo`e6Åwµ²®p¿Ð’­Ðxî«ö»œéÇ¢^±«¶í]ÿ{Úø\qó㟦‰q;³™.4À‘…~) âÀxM1 ŒjfÐ?ÕÝ®ùOðÚÎr}ÿŒ†ë{¥@žäæ ¨:`Øå“ckÃÌQžàZÎÔ³;„+‚NŸ½6l•¥ìù½‹âé0nÇÏ·!÷yf{Ô +¹’¤áÊ›õ÷ºvª¢3";Ò¨ï@žâmKÄ“¥ “~2éôК\â“ÊlÒ‘¨JùË7p¿ðøtÛeÌû’™C'×¶…; PÖ‚às:a!ŸÓªÄ:ÍñêÂDÞ ]eÀCÜg0•Ôî¿@ÎwÖ2f³ÈÂóØ¢¥ÝðFÒã$Ü£7òîãþ¢©ÛÈzÄD?vÛêøÆŽHZô˜ÔgiqN×ÀCà Ú”ˆ¯ Š]yÜi¢PŸ]/àÓ¾•Ôzï&áêŠ]ªk@çå%HeAžÆ×@Ó©L÷ÐÜ2Ù *鈃Ró,|Ó©žÁ!—]F_"‘í§üóm—íéž´ôä/±t¨:8|lo´ÒôèÝþõœ¾úáßœ|dÊb¸¢&Äg|#HdK‹Â£áaÑÿ+~T?þÂÔ—;ˆub”À]c Zdš•À¶ÐY@:¶ûf7äIòdyM±Ùê}j#âˉV±ˆNü^Ó©³j¾HæÙŠT5ᬞeÞÒKh«UqÛÅø3˜ÃÄŸ³ä ÖÞÑÃBhž©#ü*sdä6…îñzè[¼¸6RUö–ÿu¨öhY#ÍnÖ‰´OæRaÆÑžÁPÈÑ?C„Ç'Ú‘ÁùE Qœk×Ö Ñ@ªEœð÷™¹>øªbÏ9ìàúY×媸<ÇJ&‹ß6m$ESÀOá›m÷Ê®˜ïÆb–+o×—¬²W$ÝG7«#ü>xÈc¢À‹îð}†yÑå¾Wå_j1•H%d^a0½úÌmà1sfªbÛ¦¸äÀy±’¥ò\â@#qi¢[î·X™_žé“:’&Aa©‚˜ÁS_^åÝÐñ Õëö®&u É¿ ÙÝÒ9N£ØqU”(¸‡2Ò]ð)ÞÄ1T5wD¹äƒ(ÈÊoÐNôƒ©É?¿‡g—n î°í–êMFgØ Ô|kj =ÞñRüùµ.°\¤ó0¿´²ÈFy ó•æ<Z¨¬j‘°±“ÂŒ_fÁÁ™g]>;µž;³ugûœ.‚Ó 3÷ËÒòó÷˜Ä£Á© uÖGˆ#Sqô(.µ¥·¡ibPŽgÁUÿH\/4ã9â´Ê7¶(¿âÐ`ëyLÀ¨ a:MLR¼Þ{Ž¢r ò†À‹>–©uA=0[‘iVá Ùí!zý§í¢k8–&‹9¢Åñôš‚aÑI0p-TGÍÂÓk}ðáÊx5Æ___KULAh¶PeCV5tk$Â×~-J#ð‰™›®¿pâu ðâáxíéiþ£æN¢®¿Ó›í ÁÞv€N&p‡ƒæ<Ð9Ÿ˜q‰’…DÇô{”\Àv+ž~%BXr·4–þŽ{áYRó¦›aŒ ™:‚Œ–¼t&ÀˆÈ¾¸ ¯šü:ºb¡'ñI((³ËZ O#ÁOîK±E,˜ä#[?ÄŠƒgÆ¢FÄUwŠ\ òìÝ Ý^öA*é •râg’Æ^4%¦ïOŒŸ'–°_r©(€$CõÜÊ}oæ(D }+ëA~Å·,àW¤ÖÔ-^¤÷ã 6¶gÔ¯*é~ }Èì>D%fæ•ñº;Q ^?{&SÁ]7þ;¹ëK‹¨hŒÖ!ᮀûϹæø¾É ÚðÌ¿„ CÕ‹=zhÿ‹2é(ðœ+¢™(ò‡R$~1ß"5òø;À.£8­™rŒ‰Ž¤@2ön)GF'éöÍÀ> '›ì‡gà ÎU•çÄC‚ÜÏbŠ*Lcîå&{ц.Fª-sÐàåB‡¿b¿·R+/J£ÄSȃGr°ÅàéžÙA`í¦&þê:EúÖè´™Ž¼±Aa¤# ¾9süç“Dj3&WNŠr˜RÌ `J#rè§Ñ3ô-'Š3=Y…‘òæ…yÖqx¹ uÈ ê²ÀÛó·È¥0#Ïá#Î 4{Ü Ê¿ôŽlèÔäuŽRßO+²`މP|ÒœàD¨áaŠôÄQzAd­áX·érƆ¢3üšp¨ïÁ¨pàL¦öÛí¿ïÌÊuJjDˆàµÔÜ#ˆ&²G"4ì™#õ] -¢d»„VÖÕ!V#v¸¡t™¯ŒºÀŸ…¦š[Ô¸–Y¿lRØ ­í¹JåStÄRl•Ì:ÈEJ†ÜÇ6±¼YÒrD]†©˜¼’•e:\ök¸;ûb^ò±°-1Ù ïçá’|-LªP¦"—ð†t:2 Á²ê]frNIÖ³€R†ëõž±ˆ¥ØB²&G:1òè_³XGÏYT‹Nl[“š;0ÜÇXy&0åø<dÖŽLPÿ䤷…|u5ý>Ù‹Ô½ RŽÉtR€„ÊSÂßVäE›O,Ö°€§óÝNÁ~¤Ì q­w*8_åq¬ Oîî,¾µ:ÿybLˆ„ø‡*¢‡r’¯NXhX­ÚQPuBß™AÌÌq ™ §|]e‚o¹A˾|8x\¶Ç•PøwÌ„D=­!ð]²*Ö±Nϯ\ßP]ÓÄ“A¸ä Æ B!Æ@§BÉ­ )°LfÚ'k]Ž‹6g’¬‘Û ãc5ÍÕ¤v^cq©ÖyÚqc¿b&`Nû`ÝÛ7z{i ²¹;“H^¸ëù%úã%oléœ>&}öÑt¦ù‡Ú¸ 2é'»#gÒžKxtãköI—ç€;ÀLÊÜŒWÑ"¬Î6º6Üs~üÖ8î4ÿ¹ü`1CêJþ„³KAŸ!°ƒÛ/À’¿;·cM&¤`Oç/¸yp„œ/Öó[;öv äúîÀCžÝB B¥ø@MZÊq¥w‰«£ö%üXÚæî´Äéb3þ0þÕω~ÝÏì^¯iâ)_:ª6!C <¥|^Æi' õ Ï=¡_»"Á¬¬2Dhjॠ#|e"b¹_ø¹ñ6GGF`Ï2‹¡ Ø¢m)ؽû¥&¹b;ø%έa+ÒªH†°âøe>Ù~ŠÚhP\»&‹eXõùÐÃË ¾ñlâK1‘¯ûÁïû`^§º£¦Þ/Rvΰ¬ôÕóÌFWN€úÀ¹‰‰0‹0Á›ÐÁ[J-.z<|‹[\4¹SŽi<>‰¼VÒ/qºŽ{m/Ñ2Q»„Ì@pv5¬)èe÷¯íƒÞÆUÓC'B)u¥ÑLù<‚³Ÿíßè7Ìàô„³¯*Ë]Ãþ­^ݯNý¿äŽþÆ]d¦I> ÿà´w¸%6#¸\‡pw ý…¿ØðC2ÚoP|Û8Æu‰M]ô=EíNÑ_€†¥mo'™{7§Ô]ÇlIZ CZ@ˆ­ÿ˜×dò%l^‡Šã•¼ztßàÕºÊI“£ÙÑö©’uáL¥Â̧ö’¿÷oª[Céñ­ˆÂ>¤±³,—ÕÄ {:BŒ B”rmòwóìøõ¿ óy‘Ð%ú‹ÿ†¢M~ˆÚÔ³õȸÕè‰!½Š«[Ëø®$ê Ä”&á÷`FB7M¡ÇG¼»®ÌÄ¥ë7¹ž~ YãÝÞ©© Zú" „{[˜€å˜VÿI°qñC™òµ O<$ › cû] |0”ä³3ýꎺ\€xäü}y´|12¸ÁBòöM–‹àËBD¹1(åbÚ}2QeFz¥(²¯âqÑN‹Ïis£N^Ò‡ìd fÅ’¾Íɦ¨C]Ö:Ç‚¨„.4îÔÊú"ƒnsÞ)RømùÒ@QÀ.{ü0%­0j›œrÃqSv›aoÐ÷ï£S²‡Jj~Dy>6Å–€ª»*va%h•6©†Fo*¥ˆ7‡ó…¨È°Ðeƒ¢yH…h,á˜ÂÀ–„užÿT—!*Å{Z‰ƒ‹ýs@*b¦À›úAÂÍr³ÎÉ{!E'Äì-ïÙ8~ª£F8¦ËMǤŠsàªe¨Ó2\„"®©¬'Ç€—f]MÙbGè,úò5[Joóü•¨‰íÅ2äò˜’Í\ƒàT°êäÎÿrNÑ&\ÌÍà¯\øÂžHAbªM÷[J2!ŸÅÙUÁ-Ä–ÀôÈ¡lCÀo‘‰½ Ýïá3(ÖãÙaªm>—”T BíRR!ë»*çp}I¼G ^li„UžIJßw˜ƒ{DtœJ¾U•À³cD¦ê‘BJfÓYCÿoÌöóÐöíüºÚ9˜ÿj‹D!Š WøkPߎ°k3I/ `b.ô<Þmpô*ˬüN&ÍlÙ$üÐ16Œ–!<è¯Öõü]pb”8C­v³>oñøô»„Þ]o™·t¯óµƒè9^Òà”ù`ãÍ«’:¢µXÞ†ÄaeôDROC-¥QML “ â‡YÛQ›°˜Úsü×™­ëzÔ"‡ÎÉÝã0)ÀúÀ¿©X#²A—BHzo%fÒMµï˜kHÕÄšQ¶+¿Ç´O\‡ O{A•ɾÞõÕ}\$Ì€O©[¼*¤™–Ó,ɸÛòµÿæÍÌ;ÑÖ«ïIuIXä÷y–&—¼KÄ$˜²4t×TΧA‹×k¾ÀˆÇ(¨êÇï÷⻿¬O‰“CxFYåPny1áxª«.ªa ÆËK¹ºYDHôô˜‰å¡šö¥[˜}öVûáE½Z T]ÑÝÅ}+”Æ:}6ƒÀ‡ÉFÃ7ÝýòT¾xÿRÖ]wñ5 2úukÈXÂ}Ûë/1}ÃíÆãÄÜFc6ªýPðN¨Hè;Ëññ, $pÇ34²V Q)J‹P­ƒª1ѨÐý¨SU­s%ëß\+‰’ɾ<ƈµƒõ )”ËÀV“—7ÙŽ±ºF×µîTrÀšú¶ 4oˆIa¿]1¯ 7q e«¸ˆ—·æ.§½Â6H]Åc†]ažM?+ %¹¹‰Cµh`ïV¾cäNuw¨&ø_O9óƒ“8“#v·‹ öpEÔîSÖ;á¬ÉwIÌ Þ±Øf *4,Q^‰0µ•[Pfµºuº×´"t¤ ^ÎB ÿrTV¼2Ñ®Œµ˜kŒ¢qÝr%úÌ2=ynüî—ÿ&œ¶s`ƒ/†K/“]vóÉ÷b¡f(C§Ê±¿*1'¯Û]¹SÙG¶l+è¼þõñ“óîc£ÎiuL°{ÚB…¼7ô·]ð¾ÃóRÏ ¤ÝGO¬ðU¤¢Õ†‚äZä\}³\¾æf ½9Ç4ò" œ\ ÄíyyxN˜+eЕ ?™ÜüiÞçãÐ(FÿWNÃ:sÿeV‹·û£N<,ÜÅ›˜4ºƒÇÀàôV‡Î"U› 2åò†´¢Ìæ„\ÿµaD²ªHâp,L‚×.ð…&Àì€æ ‚<&WQá›žÍØe¾{^ÕÏX'(ò’ÊÃy‚:8ŽIˆÏ…ä§9“Í$ºßÉ Ü”×œlìÔî–ŸwÀlØÚ̱ßõ9C{$ò!D«ÉÏ”¡ú¸ÝBKÕyH*vHÔoâ´¾_GÜ‚ï[KŸ-âÜ,> Ñ…_ XSZ-úDB‹ì“KKîÏ.¯Xiýö>tE'áj~3:ª;ÏvS&ö^8fñà®^ÔÙ'ùÉMf eÅ%Ñ;º£Ò â˜Ð4'5».Œ¥ˆå’ú¢rψv¯>äĸH0˜ŒÚó¦fñ66dë6|9ÒŠ´Q* \ÒŸ À‰áµ(£{_ºFöæçÇŽl)B‡DÈNƒ'næmyÔêRòâz7Ž;YiZ÷g`d ýœdhŠÜ2ºGŽ”_0jS•ì°º‘ì)ÊÞ°Òrb÷@Â}|^&Rñ‘þHd6R”{qI³øÂ™Òp€Hq ËLyñ`@=ìÃqew— ßä+ü#|;A,øK¥a‘ y»„îùÐwÝ]j6ÿ¶zòA‘YÛ¡Kö<ôÒ|:µé¼ANú>{%y·%o ¾dÒí_ø7Š(W¨¸¯;ù´©´Ð+= Ò¶xÅZ¿g6T;4p}Çå•$»« ©l¼¿û_ÏÄß ùïÿ8&5bR1†«ŽÐ7èrÿtèèŸÝ¥ðÓÔly ÁsÚ\;ïÈÁ°‹<ÖS”à¶íËÍðL7¥7©˜q× hß­ôf¶Ì¶ÿ£?h³‡¸†ãº„©'BZ9ZÄÉyH¨âP±éWõê`À2ºF«If¨»ßŧò4ñT¼8l\ nŠŒl¯Ôb`}0<µ¸# BÒÕ#ÊìýC =½÷ŠìÄ!Ðk%XÐ'Ô©ývïóew$P·6«˱ÒýÇÔs Nncó1ÁÓËdÚC¢ ¦ÜœY£¯1­ ×5hó¯‘÷_>”ôȲ Jë%JR±,U¾L­S²Ë´%%bÌLîèXT ©œœdA>°»PÅÎ6qðà rªµãñ!›€S…©¤?Ä1TFiÍœ&ìÔKÜkhÜà¨Ù:Z,GzÔ@ .þ€üÑWŽ2Á@áO=ø7ék –´°…ëó‹¹ê¢G¤$Y=dìûžcŒ÷Ç®ûÃê*êPý@»S«â‘nЈØ~NJ¥2¯c`[Çê0€X„—Å·ÎÊ¡ŠÚ<µŠOÂÄ,‡-¹Xîºðôuïó[ìï,O$m€n§ïó!¯*äTŽd\ÅE{N½jO1}©8æm鄵¸MÝcÉÐË¡¼èœ¹ú•×ý—~‹CÆ1Ïnño-\Øâ‘¦BeóV‘bz@¦<“°îÃ0Â5^ñŠ®ÜÒ¼Š$f~ „XT[F’i‰è¶# òY€Ú¯r}»|÷!I@`±_{ãz÷²èé©z²¦Ï‡ú¥]° Oîƒм Ç™ßXM(ÃSø·±nÏñHAÄâ˜ÙúÿòÆ A[zÁäAOœS6ïIŸÂ7Ñ8l©¹ä’…ˆÚ£êñ¡µ{G\.P}y›;˜ À•üA&€Ws¢Wc˺í_fþ· ÝÎçïñuW\¢7ËäÒ6$ ‡­ßÿ†hB›¸\#E(¦‚ùæö!; pJ,?­:Hoe›IïbWû[÷ݨ#¬îEÃóSÙ½Vi’XÊæ#óÈ›¡.0ï {œsèò`ÈòýêAKÛîlØ”ÑÛx̉~|¼š Ûq¤uh\“',jbí5àN’fp 0-Ïâ7ž²H/7R•ÚJ‹,]Õ|þâšG¶JJa€‚5¼PϽz˜¨Ž³´â,Àò,òžêê¾­lZ½§akfš[^ÓÁí¤‡õ´÷sýõ+ûÉogó‹¤np¾úUÊÌgõ#¨p­èš7gƒ§d×~¬Ê]/¼ìÐæ‹ñf$¾‹3_uùŠÿBßDÿ!Ý=#²™vÖ±™PĪã_AöÖŠàêC’AÈëôN B@½[EÍʉáe¨4h&ñÏŠÓì)“NÁ‡„ʘõ¡3$ÏÖÿÜlûH~=6q¥°Mû«þ-ˆ¿Ç¹†Q¥i{ûyb[:;÷åñwžbQ‚jÕß-±8iÌH¤'®®~‡Ú×ñ†ƒ²QQºþ˜‰•ÿh#´;&Ò½²Ž[±…HŠÂ¹¯¢_íÌvɹ¹ÙLÎÑo7sb4”áyzš³»Ã%k˜˜ m‘„ ý.¬ßó¢e‰4ô¹@ø8? wÎ\\y¯an¼…ÆÅ‚Чt’«âLsø9+PýòÔJÌm«Ø:Þ©žÇº1§M\ëdJ¤/èkŽnÎh!v[N\Ìy×T”YÎÎahb¶Êh ÂÛ\Ø4qu¼â¥KwÈuçÅ_§¹$,¿|…¨5¢è£ß;p2.­n£êÍBÔ}–¾3¶ýò>ê.‘k– “ÂS]X¹´Ìj²áÜgºHö†f'„è€Ä˜; ÑÀ(îúÙ\Ë 8ÕÊÛG|[ê²ýȈÞ{¢ì;ÐVL+ÞRni\iqòK¸é¾äåäJÀÚ¶ëbb.øÐêÚØnÞ2\®ájÆÇù3„ÏP3Eɳ©†®­;xf&ʈøf O¾ñߘ—S:(e-Â,Æî46…¼'|OÐEîwá-÷F~ZIíå\Ã3ó[|ÖGÙ L«7ëwO°üi8ÓÔåMªì_ñX;ï&_À¼\ƒïüŠýQ göNVŒZmZÄlàã㑌­ùN! ññ3°Í„ù!{¯24]Þù®4½î>¥»¿¯ÜðÒ¤±0½ÍI‹•wKþS%4–ÌŽpz†rø&ô%ÌÈzÄ`ןëhHû*§IÁ²Ø3óµÌY×ÊÚ«dµ¯Ay!²lŒ×™ªy@®×8KZ$[&g©·{ñïìŠbŠƒÄÛÌûzÄKc›Ä^š½9;ׯd’Úé<€.Sy÷È,±ñZЭQH îE¢Ó•¿vd×[[Y_=ÒÑ?cÕ$2³¨)æ¼ïmŽëyt ü/Oñ2Û³ ÜÚZ¢Yæjžq’¼QMrK— 2W6oÖ¥J_5u«Ul1®áÎzÀ(^Áæ ଖ.b›â;æãáuz¾ {úžýrœú‹m|‰ hW¤¨1Á«#hñ¿dÀ£úª€-ÍŸç}²ùËD·²»éáÌ$Zx¥êSƒúßY®ÖBãƒ<³1òÜè} ô4Ž•r¶¹Iƒ’wˆä««Lï$­0nµæÀ•¼5æK»ïð•Fg S+—ÂAß—ùúFÚ )„ŸD৬)“7©®*‘F7„¢ÙÎR-ÐÝ8ïÀºšõL›ÛfÀ.Vk‡ÉĽ¿‡)ryž´QEˆ}žQ‚Œî ì[­E Y$oúG˜e¸õ…¥-!÷ ϳˆ€p! Æ •¬BižÞóV äT/µWî%âŠËí‚ÓóÚ œ L§j2kX­¹We­‚Ìb¿5ò- -A?d¼nvQ¨–o%žªJ|ŽÖhÛa]ÊïØp…³3…ÿÒv›’jÆ™ÙÒþØ€ø]™å¢‘ŒXÍ(Ãû1dÇ6Ëý¡U@ñ¹2Vvÿ)AŠ«ê7 2Q(“tïϨo‚°u×Ê·ûQkDØä¥•Nw ¹ÚþÚøÃÃ9ôów.žñûž7,¸á][ ñð­úFóá"flöÔ[q rëaûì¬â¹ô5õŠP}µ³ðJ Ð sY>‹[u=®g¨^¬á@zÏ»!›fA”q‰ÍŽE cÏâÛvr.ùã&SS¢í—>À­Ê–S ­£×Ö”7p=kB$â¢K@ŠAóEìÛ¹«(‡Õ¯"UaŸÙöNØ€0Y×ç U­» àr±¿l¾mù¢‡.—6œ_ØÁj\:ÃvÎè>ëùžXˆlk¨˜Ó͇o—-þ̆b~ÛW¬=»ŠÛ°¾äü]/çEùgÑn ๱“Åú¡y¶ú±Hú€aÀ<=€Õ“Ø…#\sã3A¬]Ë™œ®îSÒ2¹HL7 F0•7¯l@«N…%@t1a¾^#ÚÆWšw%žœ¿£·÷Áçi¦-Ývikòæt7°¾ÇOûf÷°sq™'—6¸Èú#8dNОú«$HIߤ2ú¶á r±ã–´:nOßíËRámy¿”¹X¶>Ö_{”Á"Š¿•ªù ¨BˆqÈaµ5.{"£¾‰´C~ŽzZèG%™ÀA›„78ƆT+>Î!9N†ûýH«Â Ú„­—}™4õtüoĆ´šA]}5.Q5|·A›Èûä–…RX*>àVÅŠ÷ë~4vò¥nŽN[Ä žÍ}²Þ‰oHSÊ\¾Ñ泈JéàÃù Ý÷°jtÿŸ¹x?ež>‚“½±cÙŠéx=ŒS%¸·õ, Ë!ù[2y‡RUÚ—•CAkþ†.J÷Íä`(ô3]èp­ÅÕ›ûâ¹c¶f öñW´|Î1˜‡-ì&;§%ÏÑavñ&Ä®¸KBï£:ʉY.}à  ™y]{­Ï–qŽIï™S˜céº|ñŽÊ\CAö}¢ ¦;³Ç>Î;5Èô¶äÎenïÐIRzYìlÆH;ô#Y†˜÷Añ¾Ö9«‹[…7ËŽçé6ˆ T¯ 2™OI—LÇ:óÖR]œÄ˜u[–մ𨔳&./,Vœðÿ©ï7«»Ê¾x X³ñËâ+ØWXûÝÎ)@¤QQþÀ^îåXœèõ¡óæï?ßVÛ÷sÑç5>³ÖtäjÎÊ/v7l?ƒ6UñrTšÏ ÿã)•I ±/äŠJŸ¦'׬.ì°òœ_ý—e2¤Á†ÞÓè| Ÿœ.»ÓCzå’w+ŒšF7XŽ#-Ùgž5¥ ½Ï]uˆIDù¾¹?œmþŸ)n]:¨Ü½"ß©E?] ”£zf)”áv&}Šœœžòè­â’ø/»¿„÷wß9âÈVEJ0ö«t§*òlIrÕ°eÙ°qd;ֹ四ÎíÁÂû人ÄÜ•J;¶äk:ÿYÔQ®å\  “¿ÅË»c¬ìè¼z!w’ùÔ×ÃRânæQ¡´H¡DXƒ7›‹ny9äÝ#5yˆ“3Í¡Ü7µ¡®lœûÊ Qÿ2$oê)?ÁhÇ'£‚ŽOTlTch¦3{%E–9ø¹Ÿª970šh:fh-Ò‘_‚€I…âÇ> Í£* õjëV·–k|Q.J JüÛÐ$7‹ï½=…læ©A™³X!„™b½”=ÇWa*Àán³jôã§yñ «}µ\t}Ãq‡ ”;‰[|›•—H1ÄŒ•C%EÊaPÕãá¢îw鈑Ӊ鿣;“FS2Wè$ÀïCocæÜaªÆsa2äÜ^÷@¤¹ÈP¨®ïÄÓ î‡h™ Û¸øG=š(-ÊXT)ÇÖ´±Ä¼V'Ù “§&Ù^^Tó )«Ìe™ëŠ_†Îaa&pNðänÙ½lc'0#TOñÊ̺Bä³^ÿxÿ5d¹#¶©Á±Ì§$’Ueßr«â &Yö/îéÀ;qçoRþý{’ÕR‹ÚŸ­£¸U]MïÄcD¯3 À9©PhFB->zÉ$ØñSËõÀ²ó΄ÿ_´Š€œ‡æ¼gã9eÃåô´ÍòxMNÿI"¦˜IÝkšìÃhî&þg]ç²ó;ÿ÷6Žõsмa)†{¬¿0¡y»IÕpKœÁ…1· _½w¿ï#ž£q,vJ‘’qÞ–«$cAèJGe:y‘|cLhŸ<æm—õä›\ÊZ½Á+h×¼IÞ¢]{Öî[1r\ñ ©4»:uªKþćI¾ñåò}Öäµ=ÃqßÞŠJ¨ÇzÞÊ q+Z9LSf dÓ|Ã!e­ÈåÌIr }µÝb8(d!ˆW¼ÙÆá^?‚¯~™x‰D,†²åêÎãÅíÞiË Rû’vap!p6“ö• ¼×ƒŽs™²Üa‰Ù ϧ©ÐRåC~`åb¹rGH úÓ!WyÖò¼&ˆ9*e½5ñ{烧îÌ 9ÛLÄJ.ÓÏð“ä÷¤?áxG‘`~hµ4$Hì m‡xð_Ðæñ•ù½1#3•êže´ƒ«B±© üaLã~Ž­Ò&¦]eWnÏACŸni˜øfG…OtÅE¡VÒGà*LW§ÙQšÀ%Ä-£Dõg»£¹_%ŸÙ3§üpë ´èŒú×Eô@YÁ„äC ®²b|ðÔñÛÂ)4rp¥3ÝîûŒ1K3ÇÚ´/]ÅS¡ÜUÑÆ~‚¡k­)ÐÉ#©î ²e_çù’Ñ̃‚±ºÒÃZÂÐvšÑc' Ѥv€V~@„¶cõ¿÷T'î±|Õ§yò¿¯¦N—q¦}Ï!î¦XtX¤yÜT ø'Çð¡1Anó…G y´¢þé~§˜SK=±‰ºÍµ•ÐY݃–{>áèyå@ó¦G×óÌ%¹S`è²Û‚.ãºî/Ó¢‡–Å3©túÃ'Öò9QÙ,e “ªaè²ñ uò"’»Z1Äi‘–)ôUä [õ°<8ÆK›€¹¥ÇL“È÷mKi‹.œKXÜÂew/ѯF®ySAMØYè¾ßS®ÅM¬zç4Bíà÷lZ£r!@ÕPê³'G;ìõbˆfÀôñ]½Ý—‰Š Ýa€A¬¢œIšÔÊIµ’ýó/<)÷š0”È~,ï#Š,¦š7³Á„ùä¸KÌ_l²=˜‚£ñ@V¢6ù „•¦¾‹´ÄN±.¡]fïd胰٠Χ!ÇaÑ׎G uNU×î*N¤fèʃÖà3Q,€AJ®kØ*øïL§j‚ôŽ”ÖW_›3ýÙÌ—Ÿ)[pêt6É :væoœc½Á2¤§cÌ´U ob uÖËXE•üÛ[1§ k!tÝ6QThô3kºÞ›¸õÕ%C_V­3äˆ OÙ‘_^Ë9aºÈúàÂ)‚Qïü|{<ýÑ|M£™=«µãh’E¡óXne$Ô|72‹}1@k@ŸŠe¼é®¤džD×[¸.Þ’Ñ<¦J˜u²h©MB­ãué ;“nr×-ðÂé…–Vº0)Ø TþìÝŒ½ÎËèG>sj˜¸CF)M”àŽ‚!_/6¼chœÑ»$°Â KÁŒÌ]ò°Ã€Þ å~Dl(´}úÍá“¢¯m©qˆ5+W8ÏXü¥˜²mYmGžê9¿F‹|äSœZ…DMöý`Ó_Ûܼ¥Ú-{`ÄžÍãF¼lÍV­Æ"ú§¦¶“ø{¢1矕Qu™“ Â,~& ‹È æÝ!f¸îWÁá@VN\åìŒËÙ«7ZÔ ,=eàahOnvÉÓ§fûIJ \N%G7¢†f°!ÔN ÐÄß-æa ºbËÛüä|# *AÔŽ‹^ѧAÜ3µõ!:І¨ØtýÆŽvíô»”ùG‰d  ,É%|Êt:ss˜ŸUnÇ,6G"ÖY}¢TŲ)ß§ÝósƒgùżºTiŸÕ¬†1ÊwÐI-åô¶<:]­ä“ ÒøD ;žL•kÝÇ¡DCt©„!U^ab D¡´*åí3mžŽUA {b5/aa Ä†H=ŽÈaGÀæà¢?Ûln–{–“ä~`ñÓ¼k©ë†HSKC¥ùœJ‚C­7^`Xµ¼É3r”½(ªßÇÏ5š@þ®½ܹ`”`ø–hâ4€tóW^ ¹ÁÛ;P¸#p?¦Êï’œ wž’uÅÍ_´à ÆM܈kþ¶=°hânÅÖÎm75<–MÆå gâ–®BùÉñµ ^EÌãÝgWÃl”ì™å©PÖ…gwü7ß~€=UGeÉÑ&} sÍe!8ת:~¥@lr€tŠ/ίØN–Tòˆ0Ùx†ˆ?w5–ÿ«¥â©%>º«;ΔCÄlþíün ‘ùáUÜk¿Co#q”ldÀ〪½vŽ.V^¬(e_–¿º‰´å.0æö̺*6Bo÷Oò‚ãŠäãßU¼{ P1bF§“Y¬ÇLro%Þ[rMP0Ôßi“-R Í)J³àÄ^Ú;øFö+w¡m?AËØGS/è±- Àê §Åî@ ‰kއ!ÿ7w>s“ï ®÷ëÐzƒ/Õ“Æ6|þÒìô¤ßBþÍ¢º×”¶ÔêÛbUöäåí˨‘Z ÉŒƒVRMËòe÷¨Þ®C߯rеhç Í¿›;´¸©(kÚÒªÚ-l¿Ço­&ýóß§É:§“Å€úwmÓνÎÔZ–Œg "ê×HѧÃZä]GP Û©®p½õG¥bP·><ß+õ‹÷ezƒø´Ã…¥nR» Ì“çJ5Ö΋›(Cùj&ÏrYá3º®¤˜´H¦ðÔõ)ÿ'}ŒÚ8Æ2“¤ß ñŠd$¸Qæw ƼËJ[ÞTwdÕÇö:Åòé íÆ¾-ä-yû°€®ÖÌØ›;à†–²h­ÊÛQ`W'ôœý¶fõ7_»æ\H^ýŸÂtÝrmãèÊ–öU+=/í‹­B]î°Jÿ ÐN…týaqœ.;ïQu«jz%ô¾ïtž¿^\L÷Ù0­ø»Ô «d]:v[rÑ}YŠmÌÆŠ^מQ2¯Á☵N^[! ç‰IŠ.÷;}¶a~ >À//Àú-Ê’ø1¥akROH⤬)Üð Œø‘!2„ÉéülVî»õ(ñý(C‹ã¸¤:4Y–YB™£ °ëÖyÔ²úBJ Eÿ”0HOw2DÒ÷Åšoå¿IµÀíé*²® Ê@°m½~ßôã¬æŒg „Ö,ÔCeɇZO»C,å×-›æ>K^‰hy¼Z‰óv^Š!*V::ª™››].Å#ÉO>nÞ–ÂHÖ*kPñÛÖ‹±“CtäÚK#þP=ÿ›èt’l&‹Kk>MÜu¬ÛÿëýãI)T´@eâKAFºÿö0% |IŸ¸žcbmÖ‘ß2¤ç "ð ½×îJIQìxÄê[ µ53¡NIŠ(§Xo·*±ØçV}D“ÁaÚÀµ.EÀQû±øÒÒ(ªpRêV¿û ÚÈNÀRm´tãbàÆà60â|VÈ­JQœ¯ WI2|Gÿiz£ºˆa%@6ìn-:ql=2À¢8š§ Ã(€:’ýhu­ØÖúNWø“†ƒ~gE£ˆ‡+f9·Ò†®!BLsÖdo¢Žzò@pÚƒ´ˆØgÎ4ŸFÌQs Â_èÛ¾‡ þöª`‰y†>r¬©‹—-£†¨ŸÏ'œÁg4èc틎C€Ìñ†új ¹ÇfYì¤i”?|~Ö3ÁröSpŽÚ¸Tû“°2¸Å|Ml y®ÁÕÁ!UIFcwÏ Ìó•£û=w+9‡êúûnΛ:T3 Åw›5άbiÈ+zoWl@¹¹Ì4ºÔ•·8 Ç(Ì`ÈÇE±KeÖ•ñ%7]`B¼âÜ–5¬®U¾ÿ ?RóG}¢ùãÃñỬø#Ó×8MHÚ ®¸j™71ÂÆ‡L‘l B7OÁô'ï)ø±RÅÉ¥q-VU']¦&ÓU@JÂl:ò¨øÙ8„p‡…7_§ªõÔ ¼èO‘,ÉÃèvïþÒ”Ü)½¦MŽõˆ•XBa&=*­'7ÐØjÝfvþº8duiÓÝvzÇ´7vb²M°á¨ý„΄_LÅ…krÞm±"TiÞïvŒ+Ÿ ºæµó{˃é3ë ¢¹HæÒý>ñ±ýëÛ~wÈ’¸BÈÖ…‚Zâ Ïqc˜!G({†J|SíÝ2÷ðÿP[¶gb¸Â¥ªUrôK¦X*÷-ÊåIÓƒ2OòV2aþóÕf+(#AtíY‚¨Zh‘»²£—Ó£D³ôŠ2 O²¬)˜FûQºWìš§£ôŸ=rÓùØR4´MD9Âý⥤¼HWå0ü@X±/KKŒôlÁ.Aï/±tLóÜqW…ÏŽwN wãŠLpà T™;9àei·ÞS¥ó'1Öã%¼—xšjrF}¥Ý¿é@»CèÕMŸšÉ & bZ}7î®ò]is™Ç¾*,ïýÉp|_ìËËR Dÿï%µ¹9íiŸ n¸Š²@Þ®›àÿ¾ ™²ö¾v›Š¼uZÞZ*ŸD‡ÇúŒøgø »æAú{ƒäø¢Bé''IzÓý^‰¯“˜^ç©>rÑQÁ‚½q >é±l"±,…åqé9g&Kx¨6þ7Xn^–šápÇtyÛXÃâ0Ÿf-:@FP¤ÁÍQÞý¹ yÁ<{Êi/‘sÚæÁÒb½ôë´*¶ˆf£›o©Ÿ<“•rã ˆIÇàyô…QÞ‘þèï Š†ë‚>qPå÷Xýã+ïd­`´Aˆx?ÆÐ0 ^êMb/»gIÃe¯¿Ž ÙØ€†ß>Õ±õ[Ñ{¦Öû#ùHW1*OìEè‘ï¨õµ®¹+ºzUpË>lVÚÃu¶˧­M0Às®4V™Ä§Ä"Õ¨¿D¯=ãð‘]Àü ÔöS‘¢n¸ØÁPÿã·Š¶º™ h–9ÓMçQüa#j0ÀžÖí(€b÷©—’ø†¯ÆÒj¤»@?úÐÓuÈ©¬¯Ã¦›½79F]ƒúgÈDÛ—ìwó<‡9@pÖP-»ýfŒ”)z‹'Í¥îWÂ"¹,AWÑ/áàAã'„V:Áwz€[¢Êa38ÂAm¯©|`=/ëx7 ‰?g8Øq0²O´ ZPÏ4ªwïÍåÊ}*±o†o)8LQÐvä€K•´ÀÐê9#ÙþKL±'œ#+î|{¨J²êgÜþýïþš© Ž’>ú¢vß“¤u*=«™£rŠP­±È\¤Œãßᯀù^ZíØ¤à‹"‡ ý¼5ö1Nã8'«æýö¬ów]BŠ;YïG©v o“®©wëo+[DÒHn M‡n”­PœGøÇB—´v&ïîÇ}\¦j&Çi\|õ9±6ä2ÜÉ Ež/¢/”t¡–Eä!@gIÒÚžŒJÿô;½±ÿ3ö 'âÇ×Ú‡V¦\öðÔì[¦=tm?'8å\SæÝt³:ÄÆuãÚKdäg¼h‡š8IF}Ú3(ñý/¶» p™Î`o0k5$’WÛz¡mÈÔ Áú¥ßÁÐB¡é]ÖJ;Š‘‹Ìº‰/Üœ¼JÁîH-Tí<âG9ŸY[S"Ñþƒ´ß_ø¡M=TèºfõEÀö¥·Û$ ’(ÊHª© èPe7ÅxÂz¿›Ƈ³6`Læw’Ì|±HRïLö Ó\»Ç97g©_þîR©Awá þ»8Ô¹ÙU<ŽGnp¦;® Ü`b ÎÖH’]`†x¬púŒéå3ç¥ÎvìÞîÇ­eƒ'óÑØ¾Ùàž]jš` ¡Ák°‡ôÎS uóÓ¿(¶‰¼¬°ø ªçUp=;›±ðvÞ3W‹>CÐ2 mâÄw¸>pö´ï7~§›ùÑ`æÁöù,*]+ç“a_Ûy˜5KÂblVx ¶%(y{ˆîÁ‚ê†ÄñÀå=ï@IL`<¶çâ++è)ŸÇÊ'€gjÞ{}§þ¼TçðȄך´P/ÔÍ¥°©IF.ŸUÆWÁÝ=3w:ªúÅYå$l˜ ‚š»6fõ„˜:‘@½@¿;ÙšÉ F¼Mÿ-O µ°ïçS4º÷:@Ž#XÁ;Cu±ÿÎE//(ñ?Õ,ê0‹Ö$SÉ K‚vÌ ïLœ¦Eú†Þšþá¸E >âkºÞÃNMfV{1øo½s±öf»£Í,ðlnº‡Ð-DŽ}‰ÏÞ¾x)Lâ½ðAnL죰Cú,²ÍcÕôµ¢ªw+j÷*ÎRv•!üËUKS±LÑ¡Þb)ÿâJÒjƒ4Î:»ž>!ñE±ïÀkû²„hð*”{S.´O(ëÖ•òyâ±Æ ?&Ç鬨F~HÊݼõŽÕ!sFÙ$ {™‘ÅûƒC‚öéQÛÇMEzõg¸h.Ø~SÜ\Ïžß¼)Ö·4¹zЀû€~ÁÄ%—çVæd»õó“=VèÑÓÿ˜*”±ù]ß÷ˆç/h%è<¨M–8XFÐð˜w–Öª=ħP³<ö£2_É&(ÐÊÙj^U½÷KÃhT|Nr_@í69d äVä‰öUˆù Lýã]¢¦87Eµêu³vê4õöHÇ…HÍäK{vÂTQuØ[3ÐÅ «øÕ$˜þUõ™jt9CçUbé¤'5ÕÜ9—iˆÓ% ; ¨T¹¸œðµþ¤<öÀ¶›ßÁ*¦ w¼lgkÁô€®Íq˜£±î8†âa]¥÷ÁšanIX Á4½”¥… F¾hÆÚTM¦¯’»!±DÖtIbÛ‰Î+×gUl¯ñé”YãEF«8™•Ïžw´çúe˜²èðSuŸõPfr6¹™Þ/ÒºMÜÑ¢¶5?þ€D9Ñ×ÏÛkw¶«ÿ/öI‹¿Ê,ñ­€½~ö½nÉ¿qaS 4Ô­;µÈð9)r¼Ÿ»»Eaá”üóÞ°Í0ÓNõ-ž^„®ç‚Ø7&˜1nèAŸ€2KØñÕ¹`í/ÑHóoßG aŠØàxÛSqò™’X(>rö‚xª·èvÉ“\õú(›ž­Hnâ¡÷ñO“ð1è[Œ±ßWžÁ\dMF‹éöš·¢M™Ô¢³}²` ç?C|ßνœ?ºÝºè^7«ÓÙQWhFÕÃYƒMËÀíÈÏõÌÛGøåesب!Ä•=¦ +RÓ|йÙBÜý¨ºÈmvkN¡(ÑëÑ„j˜[@‹ß„mœ’Å?V¬TÕËçÖ·° £¼Ës˜Ã«âÕ1¯GF.˜Òý‡‡¾ÛwaæÒßÝv¯zÖ ·OÅ£»öâ8%ñ×ËëÍíQ”eŸ€ä¹\à׸Âô7„t¹©"yn•®º"N> ŠõB»o"x_¿ïÓÅ ê6§ÙØy[],ÑaV_qÁ˜´Ú¦7™¢]wqz¶‘+—¼÷ˆº‘³Sj[g‡ÇÁà\š2ÀŠüÌQ«ÿÅf¡ê$H\ì‹hKBÍ£-Ê?ê¹ Üy{¼‘cÉãV6Žc%oX×gÝõÎæÛa=TO!8O}×¼Î9˜kP_ÇlWöû«;|ÉhqžbÞðGÓZpœæ’X5&Áf2 Ýü† ,T4dÊ™/W‹ã„Ašv:'ú7‡ od îF•“º†n(/‡4£áŸ¬çkâ@aTŸO@ìÔÞ•h¹ânï$+죈3´4ó-ôÅÍ|#r~l'iEZVƒíÐØÂåu^ÇÈ]ìœ ø-m×Ô1¦›©ß »öÇ€H¯ã)Óê¹àVçÊÈÐ’ƒüâ+ÆæÍÈeª#L’L ³%¦”n«Ci9ïË|{¼Éõpß_ŽŠ÷U3Y©è*s…óËÔ7nÇ*X–X=^ñyäÆ=f&tõ+ª—(çQótتƒÝÀc×f‰¢5Ûø„êÿ¬§¤Q~42Lí|… †‹8–ÓCè ÙÜÞªEOlGºnzû_ÉΩ¦‘A™H\–7‡w4*9;pä2 w¡ü#ïÇ Ò¡¦áâ ¸öÂŽ¸ø",Sãu} ºG cðw¼æI¸üúÉÚÁõ3Ê>R÷9$^!¤Þõ\67pä¤îß{ýx(ªÃ.:ð)è–›CÌ£pÔØ@½{ü§¢tÿds™¼ôjLù=CÕ-¤o¯F¯¯t€cñÝË×@¡>8ñ†¡ÝA»½©„äp»V˼Kƒzu#zþ× ºú;Œ”4+¸õ Í¿n4ÕêàQ’moªæ‡ËK¤0“Æë½Ä!™ï’H„‰¬©$Áø<†oöÐâSÝW²?D!dŽàœ@n.€Ø&FgÊ´rÌ…¬úJî%$‘ž¯°K  Ä(Ä–æ…º'®¾eN“PK¾ÓñmÁ•ää{8h¡ÖôB–®ê_ ñGpDºö'¿D¬Î‡ÑHB)4d½e}$.nß>Ǩ⟶É`ßÓT¯ÑPüõØOØA~7V+K¯É_ümq;ÏôÌÊÅ8ÀzKå/É™éG ÑwdPÀ £ÎÍŠÈÃ<ô²œÖ‚-¶?M8›¾ê½zä¸5JÖDÇÜŹ“¹%•ù8w6™åÝ! ±¨²Xʵö ¦°Q˜æ[¨ÆÐîE㮇Ø^öØìâ§Xâ·‘›ç#æ^aßbôp,ì(=Jµý“¶Â«+bÐY“8©÷q ä?—LX]òbÛº Õb¼@\W Û²1z¬î5°Þ——÷!ß×”7’Jª›ãÜ'‹:&èÇB¿‹0›ÌÏ0m¸ËªWÌÕ]àÌë"b¥óÅR*¶ñcÿÊ,_Äu¨èç1m¦×dÉdT /þÇ¿¬7òn÷˜ží„Ù¡•VÝ/EVûž*Õeð~Íük´xÔ¯Y9ä§î–­ÍI+ nŸ œÁñ÷¥Ý–gÖÞ^×’ §BǨ_ºÖggzÖ¤ZK Wâs™¥´Vö;¹næNE‘oãŒ6Â@c5– íý¹õù^NdÖùþ¼:ÌT²¶»¨wPákæzƽB&·‘‰¹)R®äNÈΓ§Ìð ³ë–c—oæ… a!Ÿívÿ;1Á|G†Jò7ù ü*p¨ÏâR²ô +&SCƒÍN¶ýüªØ_Mš´Þ—8Rpͽè¹òN­Ràt»‡eNÔéow]YK¦aõ›–e® C=ø'¤µ¥­ßÙÝ¥CmÝîË&]1ô“Ãu» £]BGÞKM»I`ªY¸ÈI¾ôRPý4 úRÛ³K¢Ý®¼þŒTJtNh7xbaî"C¢s·çDãÒŽÒ(¸ä©©D˜× hqT˜£ñ›”W³¢bÍtŒE‘‘¶È÷ûÿ$OÈÑØ°ä÷ì@“%6~Ú1v‰ 3h¨…f†PÖf*~(Aoog™‰Þcš¾Ü«¾É–(л/A A[e?ý aÒñ\¦˜©ë˜ÉS2µ ÕZÂ6Êj=<牲€ö] ({?{O @ÿ*—â&æÿxn†*ç^Þ³[P@Dîø2™ïk^VéÍ[Ä&¿þÂ4® ²Uê4âóc9Ö[wÍbγ–|g'“œéE‘¹¥ÍímÙ!!çúö4 ¡¡ª½£v´‹}3QV¨´‡öd‘šò‰ ¥×ià] ×¤¶é©ÅëtÅfEeovO OiÁÝMs²y'p`+Ã0õÀÁ@ä.çß](ïëzó(9¸ I9Ý&—×£…$ÀT6ÐiXl­™ÂÞá ) |O‡QàÖ¥ØDNtú©sV6"`e°8½–³íKx=Å¥Ì>¥_¹bTj0/‰‡—ÃÅBtP ¢ÿU”-à(bßÜ_O5kVÿbµ 3™¯|<Ђ lX>*Ÿç= `¸Bbb©£¾VˆËj‘I¤ó›»?}+T7Öôn*dÞ?2]>y4a-$þ+TER2r¼?¨Þ]«¼¿|Ì2­søv¸pìÀÙÏ8>®HªbΠ«H2Òx©OêRõB,Ÿ5æªc¯ö¹ 2èžþ5¸Òç$VÚI¨TQJlgn™ö*ƒšèj¸|½Hoó"³¢ñW•};‹ ºyþÈ«=sÂß{¯ƒ8€õ[Ç€†Á@±º”ÔòÏЊëEã¬`&wÊÈ2 @‘¬é¹??\vhˆ/Ƭ°<sàŸ4‰ìÈL¤ª)vù ûB´)YÔᢻ’8Þëßãâ‘A(ÓPŠÄŒqµ¿ÏëÙE „UeAÉÉK1‘gùôº ‡¦ˆ"”NëSAC’ >ɯb#F>Ž™º²Ùz²´”J=Äì0E˜F\ZípçBÚêúlòS`B,‹.&õµ O»šûb»ógE‘nÉPqÛBrȸ[úìö¯MïŽHU©Ì‘}SÐ\Ò唾©aU²û²™«ežò¬ð;èC"LÃ9^s–PS¡Šäø× TB®ÌßR›ã€HÖ6N06ÖXö ›±%`G4BžÔavô–˖»˜é/Ð¥œ‹2;&“þ£Œj…jÝ1„ÆQ¦uBð·XI„LÛ†`†s¢«Ì—Û4fMÉû$C·Î½UÁ«þ¨Sü·`¦`3øÍ6³5êr:F½ ¦ãŽ„N˜4dtOÒæ= X9ˆw«Ùª•Ú²^ƒfjí`TJ£C5ú¡9ñІæ%sS»ËÝz™]¦ «-4€e¿°\]lÜ ¨Ì8¼T0Î{nÉ¿hœ[5;ÁõCÅÒZátÔ•¡Âš(è=˜ë¨¡ ,m…áäm™‰Òð;I\¶À§ý7›ÐœønCx|V‡§*>do=Å$ª*²ÔAËVž¨œè;1,Ö’ßì¥üä0çH.C—Ã~q´Qd{VVbçÃà±­)©¹‚#W¹7w¦•Bít|Šê þà–/O¢e{šZ;6R¢µBÛiû‹H¸ Å ùFxò\ÞË»÷ !f÷ô+÷%Rô˜‡ë‚ZAÒ,ØÔáš+O͵zÛ•”ØR)Rðy@¬ ¶ß.æK²\¹õ)Š 9·I±èdy«Ã5[öm•„&xtÓYý?(½d[³Ä{4 5°¦&ºm˜¨±ÐV/î@ªü¯QO ”AïM¤Ö÷Ù7I©»p÷Y½&ÿ<î?m˜÷‡›n¥B#‚ue¹ŠÁWÚó*×}æ (‡Ø Ciÿ1£…SèâŒ{¡× Ň–FŸu-v G[’Ø;/‹€J‚y[„«g˜ZÀ)§rìõË‹Q»Ïƒ· — ¨ð ¤ÿi8–®„Ô ™Y x6·,@sæYBÖÒK|šæ S¡.¡ÜÖ8X爔¯©%šuÓ®ÔÌ0²U{F{”çG­$¦Øïå,tñãMoÖù¨Ûv-™Œ¤x²*ŒÜ¦þB¨³]Rôam]«ê'åðT&J:sS€È:dºhDF'ö ë©§wÐÑ*³àIe«Í5vйý§Db¤O±>Y‚N万€é³Ð£÷]ŸÌ‘ E) œZýZEá]§í÷!¯Ð ­(ꨨìÿ,ùI× uù-Ë'Ÿ}ÕÄâµÚ:lýK×^éûâÎH’„iõ{3v‚NááøÃ’À— ÙÈ8[»!a‰K –˜Äe29„ìt·O8šá_A¾ˆäÍɹ_*_ßDépúÿ¼§i.o®gOd‚êÔ«{Ë¡n:Kã'pØñ'º^U9»¤9z°`u”CÒÇQ“ÞþûÅL¬êêâØ`’FüÇòÜߘ%‚ü Îõ}'¹Z}d¡†&IzìàÊEYgÑ9Vl‹|›]ay©>·È¸=NF™üpLr;"¢Ö¨OØî+OņU®0A#4a {–à |»µŸÆSYzOÕ›wìiôlOz¯+Þ¦'°ˆ$à-€Å?’ĘP%:OòöØèGôô5›ˆÒݶ¤¥Ðªèâ\¤¿iCoWu©¦Í L•̹‹9!6ߨk7¿Ö–Ìã×\7Y³É7“ý2>_|ÕHÄýP{œƒÑ[N$ÌØlçÚW©¼ùØB†é ?×}xEÅIÉõ>÷êÂêv[¦ò_8nGû.Ž•øjòý‚ü ‰úGvÇ; - —`*)VØÖu´à# õWo~ N&ÂÔóBƒK{¶ÝµÏÖç1 „àþ]‘·M¾áøK^óY^À'i‹Aèë_VÛ~ßGRÍ 2nðTIøòh_âƒâ :§| g4ÜJ;Å©ä5ZZ>Fi\(·ëxRŠz5lôwM9xÞÛ³Ã: ÷DÁ_ò§ð Éy¿q‚`eýVøZ«md/›Ítqhy0Tå;=ù±z¯*ÇnÝ ~½2Èà6èšYêG ®ãViXêeõ¢—Ë ×pïØ™}'0<,Ä#j ŠÙÁëöYÈéf·C¾'gº¡þŒ€ÅŒ›·œÌ¿æ}‰ÑÒ÷¶L{&€¶fcŠ$×l öä:|˜úªcšmû„w¬Î—UHÖË£åþ?²"d¡k ^{ î…rÍŠuÕÝ©›„Ë\³¨‡ ^-U™!;Ò¼Ï}¬Sˆ-oŽI¤ã¹l¦çæn”Ôé,äʵ]mTWvã~¯/XdššhÆØc½AΑ˜gêÅ «•"Ѝç`Zã„ϪV­cWPÛž–\X%É»¦‘­™—„©)û¯úƒ´ÏßÀÇpÖë¢Âr§|• Šiݤ!Yzų‰1âìƒÇDÍÜDœç‡åƒ¦Žû&~Uå!¾¸ŒšÏ¡V/J×›ñ­ªF–<)rB]¸.³ öm;NUÜÁ:VóÒÞ»‰) \íÕ±8=ÃÆšù[ 6k;CI@vÄýRHÉœÌçÞh¯TX zŒR®C*«- Û´ ˜8G<”µ697JÜ´öO‹¶wÏ×uRÈr¿°ªù (ú",‚¦l…ø){h¶Õ}DUÀŒ€É×ãͬ?é´‚¤ª¾È²Žþú~¼£áÚæËô¦‚¢ÃÂ.‘úl-Å“Ì"`㩃—18Ò17K^Z Ý¥ž þ”7ŸÉáͨ4µ¦¢á©rã¼û=ª«Úçâ”ÝmŠm×ÔKm7Ô+—âošÞŒw-g½Š,Oå"$­•êê‹€}È2ø)æç‹PìŠ56êh±Ry¶/?ó}0¤ÆbÆu :´„²©œ}VSæZßêé@Eܱ¨¨LĆj«Y˜¸¯­cÍc(¤¹¸ÒÀE b‚HdÉö¥ V6/I£’濇ŽýŸH M˜˜q‚Ô×AH1ªÓ­ ýÙg|¸1¿”*D3ö]KÍÔ7N„!¾¨0J¨± iaVt1ôà{œê¤Û®»zìî9çdM¦.¿ØàX» ©Ày^þµ»éLþ¡“Ξø,ÿp‚!9ûc@û“dÐosáÓ¤”Þ×Ì9²6AË›“YV¨(ÅÇÜîX˜ÃÔšÔÂØåèU]ÛLV>Gì²ÍÃßêX8xã!ø žZ¯¡G•­? m¢€u>6WEÙ.CŸ3Œ\Ú‰£ÝH‡ .É’›í]ÒÇ>ó¬i$7B½.·ïAü-eš\O ¨]Qô¤ÖÏ>ÕG±K¿úaL–}ËþybòµhuK š2|—•q«êú÷üÃfïThBkÁ=¹–yÌÖú&„ÆJJŸž»úÐÞå(—”Jø~pãæ6Ì…èR×MSóA­®‡ª–äíàNžØtû¿Fs†¡JóP8}HÍÛî]m·ÖÞº–Èo*ƒSG¿Ê ÂS‚}A÷ ç";àø c¸÷#V¾wÚ²–B£þ)ÔAU3eqá\(—<ÿ2£uѹîêZLöéVzQ=zbÒs]`Ù>ç!Ú­Ê?T¢Ô®¹Ô[I®;×ðæ̲™‚sCï>M<,áâPUÏÕfË"e¾ûf£«ÆèŽJàÿ©ƒRתf^ÿæšíp?³m‚ç[ÀR……©§Ò°ñ´9G*:Ôqˆªï§ÑnÌ9 <¢?XGíÑWU*¼*ºvg X`Uÿ½áH½Ô‘£ŒÎAííbdoÀ ›.Ó²¦è}Žª“´IysQÔx.7äŠN q"Š{ìQïœÑ1$~î•ìñ§a=k1hùêàä0gæ*"¡òÞäT6€p &KíƒX{ž×" ïÍ u¼?r‡PÃo>º¾‚]zƒÞ³È)$ #_þb>ud5ÖÙ‡eë*ˆÉ~öñ!}†¬L*cþ‘_%¼þ ÿãm[ê"Ó×zçñͽ‘Žl½‰{]ÎdZþ®d7š¢xý‡ßó •Gw¸¨ZsBwJs6ú½xf‹Ey2"ÿ%Údiõ~(÷µ GúÒƒFÜ@j€»Ax†Gô¿âÚÉE¾kOQ¥âHô‡‚[»)³‚oÈ|®{Vj4DŒ¹>qýA à´ºt $ÔýÝímæšâ²RùÞ¯àŸžS7‘[ƒ?àá…y”Aø;ÁA°H”'n©ñH?i§NQÒ!— P”b' èóÄp¨Mr¾VÕÆt‚‰š¸Bö¿î¸t+e)žÉ~X#½þµ_¡¥v‹yÓìÚ¾™¤þãÈH%è°ZHX„bŠïGÆ• £Å¢çOö§ˆïrÆãböðŽê~h„fÝK]×·È—˜û´ŽsaßZÏLËÔ¡ë^ZÏÑûåêë…À¥ÉœÿûR/XÄm\5«HÙƒºà*ÝꥎĸÛ»®LaNj*-9•s ÿö?†¶@åzÉKòû,Ë-LN”Po†øõ¤áH!ßÎÜ~ËÒRcÒAµŠ:rq¡@p»É6íçc6ÒÊD3`t)I„¢ôó‹«žææ‘&¤Û„Ùîö«øòƒÚ%'=›1&_hY”}“HiÁp»úpDZK,XÄæƒQ¾¾LIòdӣЊ¶”¨:Þ“w­ËÉ(e)Ûrb×ÌÝé[þ˜ŠÔÖÓp¯¢˜¢wKÕ:¸ž´óõ6|ÀÙSw!’ü>Jøâ»|‰PˆdXš”Oæ:5Eí¯‡˜"¡ž\æä4ŽƒuïÕªYj@Ë #Ä·€™×`[{Tª· ÕhGQN‰’ÚìJ€½Ê#4šÝii3 SÙT i =OZ oèWÓ<€–’3Ù±Îm¨ÂiÝß´Ól5›Ù$«ŽéÇ’|ñº~>§O2ŸÖ{º«ZzW²¬¢…‹Çë„”7™NžsÛQØ[ÚŨ“€Ü6°náž‘ò„÷ú^X^žÇ åeø´¾…‘Öâén²;±ßüís¶·3Õç'H':ðŠÂQѬ?ÊüŸ æ(‡LÜ ·ø<½ªLu+/òækÃõ†Päü b—ÿ}2Úq ?(@ó&’%k_ˆšøÆö1ªžv4Sš&e¸45„ÛãGÜUpÊ ¿^ÍòÞ²´án2¬'ŠI„‘ʨþp¾b÷påaÛä–Èè7ÅÀ_U£­ØwñTe6‘ÎÊ}×ÐÛV™&ÒĽöu Áè oùör’-–dAq»]g2Â…ªÖemê’œ~íÒw>î3§ÌûÖ]϶ÀÙMÖS¨\±¼û^'„eä_˜ê5ЩÙä°é7’Øá‡¤m9 ÔŠlôØv¿Âʲ٪®Sá»?õyÅPdàž«a~Ìu¤ ¦„Ñ”DÙ»~¸.ãçÖ*ÑÉ! ˜ ¯OÊÔÌ êªTu¡%¡ßáCGá¯y_ë¾ÐAøž¯ØÒ3gRásL§ñ¡ÐΧgÏ›­ ⹞î×S|‘Pr$ÏàV?l@='µ¢ã#¤÷ÀƒÄÔÛÍéQ, úõ9ÓÅr†Ï¶°„veYH\ÍI«H+yo ¨zBm@7Õv.PlÒŠ(‚ŠÎ©–×ÒpÞÒoÆ\ëjIÈ™W(—ö¾.S¦ vŸÍØåox5س"^“ÊêÇí#<¬â{¾öô¥Ôˆ8ÙÁü×"•¤Þ ?I%ÖÖLšI´5Ó·¬¬aÄ !ÙhÁÀ0ÅBŒkÕÊê­Cž»‰¦:AÕÆhežËÊJ·äöôøù}擬´uÍšv°ä<þwwË C»–Z4ô…ëùÔÁ•õŠÍgsTN1j„AHs€ÔáÐ<·Ü‰´ê8×öV3ÔËÀXFwù±M¬’Í“ÅF'>ZF,“ÛfŠo±¯´‚ì¼~šZé·­¹ ×YâËÍ›ãul2¦7Ó^"tàb8KãÄ3èÖyÈ¿íQ,XÐñ;Ïw.£ RlÑÍEU·3Ççiœ´¾NaZÏ'>]±â—û2v¢3x'Ôv l“¤õº5° Ýå§‘ræ)5MNmˆú¤Îî˜ÎtIÕ7&áõ1d•|"4W²]•ôÕ *·%-áxìŠÂzÏ_u°ëBàÏ=¾¥»¿X@ÀÎ*ÖÇÐG”™>åz‘î·6Ü}B¾^ì/ѦP½Ã=^ÿ¾ ˆ­XèÊ*Ú›¤AyÜœon3fÉRû¡K\A>­ÆÔ`óÕ‘”õ¯K+ºË#NNlÆMþ/?oýžÀ¾_äÕŒ¤Í <2çK1¶]s·÷º.X`|m:»¾Òw:²ýL’àfâþÂËnÏj¡±ß æp¤ÿ\@9!šå4,Þ*Á‡öAêç¿~ ž©¾ÉèÍC÷|ÐPx'ncß!Ûì‹„P/°?&ÔøëÜjx´z®ŒËkÖÙ3“?x¿×ò",ü9·¡Õ[£ëz^¶Ïà:Ÿ[ÛÀI¸ ¸*«#à˜Æzs{yäñ§w‡ÞLy>´fÒ~.D"Æñö‰ÎÁ&¯MÝÛ üA.–1>~ûiY=oJ?$¶Ë_–ƒJ£«tØ-k0zÎw5¤µä?âv©ˆMy;WêÕEª_ÏÖ©ýþdÖQ¶p[6ë¡SˆJ+Ö{ T$ü÷—ÏÂO¤bUCŸAXn"cñ7œÎ¨-±¢3FMœ™ù]¥%èÃ/ Ðà˜ïŠvn¯Ûõ+ÇÇR¾+uÇhé“;„k‹æ@ U\\«ñ™Œ¢IãÞâx6?ìUŽWúM-°¥Ó¨ïñ>Ûˆ“ ºÆÛÖÝŠ[/vz&DVvñ¯?šÜ*¢CG?æÐõ¼Å ©YøÖ X (~OdÖÞÆ»îÊót* Ü«w~ g¡Õa¬êÿãkÜÑ€ +niO!øqËóbk“·Ô+ñ­¿S T›unö/‚[X÷ÃÙyÌ>äŽÂ’½ÙÐ;ZÂ=‚Ù¿õB¤%i>5•\›Í.ƒýáªé¨d©ÀÍþbm GTKòlÈó­s:°nè =S+ºsU¬ÀÃb‚4V`;`Ô«_ÎÂ9”)o×qSÜ;'îü ÌŸÆÐ-q…¾cƃ%7š¢-à4ÍZ5ÊãF\3[Ž^"îÛé¼áÊó¬g#tTWœt¨ýäÄzJ·é4ê绦fœ,f4¦ŒåØU)ò—ÊQ|7<ߢ9OâMú‰ /ê±´µ0‡GÌ|‡º'O¦É¨¨]e‘× ÿÔÛý%ÑÒ#ࢴ›oJâE=?ا[‹yRVaJœëŠÙþ .Œ5˜ƒúñ(Í–ÿ$Uº4Ý"Ð 2"ïè\C÷Â%¡I#ÂÂn›LA}ð);u ¶ï®¹µ¥’^÷SKC~6¥Â,ˆh"if:ÖÉËþ/5Ùs5G>Ê/ùoãkIY‘ŒgY]¨ºXÒ®¾XÊS²Å)T[VLØIRÕKàC*%vóÀÎå";³½æK“XJóáÕ}µ¹À“…Âáæ]LÍ@"mwñ¨¦ËKõ¢ÊüµÕ÷Ü3 Ä¢óĵö¡Ã3ʯ›R]«è¥”ýa1¥.%¹.v:«Z~õñwOþŒ-3 ý¥<Ö¯ð1/ÁÏpóžU–øèfhËÍäž&ñ}ŒÍÂeÜrÊÒ‡°’ULzih‹ sƒèŸ›ã&m•1b¯Ro™HùMOâ ²-ÔY&}òa™îS®Úz®#·î\¤Ñ@IlM:*ˆ?9$T‘ ©Ò8:R_‰#t|plÍ]Vÿ¼ÆœR&Qu’ù[AfwÄ2°ÏTlóÍò )/.Î_p®'lrÛ Ýeó:k†S=‰•ùßaÁ¡8«ùÍø€&ØÏ^>¼>z©yz« o>/ÔÄ¡"0¬£@C_´<QèlÄ@§Õ>\9Éܯm‰BšFö­—CŽ3}Æa5R~)²äÀäØå&f5óA¨äGÙC>ƒ_§LžD/…Tnÿ.²¸ù ÜVoí5ïyE2µò9r·ÛóA6€Cûï“ÏþTb]MwùÎáâõ𥹺N+·ð1Ôkˆ«hdzïz—MµsùŽ7Óµ&ä•'2³³c¶Í@íd¬ÎQ'1SÕÇ;—Xqš X‹…(< ^LÛìÞ'?âÞ»,ÁPémaÏ5ÖöÔÏgpïtÍéî(&õ)Ë¢:€ Çr€¨oDy¤ä|®?sþÇSØ©³^œý0±˜€Èx´«ÓŸñù<í«¸ÙWj§^´°Ûôø¯ïÃcŽ’±´Ùß´fÄó jDÆIL*Í xIÚF˜R‚™Y—V+s+_T\ÃEŠç®lÌoâ¾Æ0YÃãFÛ ÜR:?L篶ÆÒf!ƒ…–6BhÖZÌ@ÛülP°•¾=õ³þZûÙÏüa‘6‰MY: Äâ|Ì„˜“ƒã5èLšVýfç l®P‡¨†Úç˲½ÜIb€Ó} v;S„ÿ†Â%]ÙÅðèäÉbu½¤×àÖ„q\°¤AB\‡š‚a*Ã÷<©¦Î³ ׳K1£z‡?~õL½D̆¾ s?ö3ExYʬ‡KÜqtš¨”½Eˆ!óDðžb¶¬7[×1½šÃ"°›>ò·ôe¿êz¸Œ¤\p¡x%®SÑ*Ž àm ê¿;–«T†úƳ¾½qjtÝßÌaEmþnÊZÙ¨£óX FšsËÖz8ô¼’ŒKùêéÀßÕ)èa¥ÑNkþ'7]åÅ$j*ž_T¥Â‰ÕäRáƒ:䆸ÞhªÁ¤õ`$í%W»´a:¤‘9ÐÖ=buõ­Þ릶M¯¢eG“C³ß××ÝTßÝ®¢œ5¦Ô%3‰ CKüP^Á”Û`5óídõ,ÿÿŽÌB,;è·¾Û”´â{%Ò…¨÷> ŠëÕɰ [ÈiÿÿÀ¡1*ê¹—ÜgsÏpìì:¼K/ƒøÏ™@¹ShÂþ«ó1}‰ÝŲ¤YKÔª á‚xC­=SJ㘢£B°_y—j«ÈÁohu€MW° ×ÜSz::Îͬ_Š¥OÅK#-ÊPvÒr`‰»Fš4ŒJ“¥ŠPtP#:tòWgü(—~Xë|hHóíÔ4³¡­¹„$M4íõ˜ñù&,ý,fÚ;ØaUþ´-?¬¾45dC‰YÁÉÊ‹ÅëÙŽW(zç­7VÌïÿ§5\Šð?j V\è÷<^Ò}ì§3ðÖ‡Xd†g³æ¡WøBö‹‘ŒnãĽáÎãY‡DÕß,¡Ä¬dÓ:ã›…BïY›vK¼càÐ7vq0ö=—JQ3PÍ€.a¼ 1¦²æ^úÂŒgÏ5š!üÍ `<”«Ó¿l!– @ˆEÎ{C9­$ônÏ?ÆÜ\Å“²¸A_üÄ”?ÈL¾åÝ$jG?Ÿå×½“2^®A2†ë4aÆý5˜‰ÙXZmª5‰?P3¬Øü.}±‡¤ãÓÞ*¯ˆtG*È‹¢q…D’´ŒI·ˆâ=ljùiüDL|µqþî!4î"€)6šP”ÏŽ«Îºå1™ ì²p";Ym€˜£²ƒ[¦pñS+µJ‘/p+婦$k0§ImO |¨-ÉœÇ}/–.°xtŸ†È[»:#¡ÚAí5±}m^7´U…õ»?L9eñœh2Ÿ±~þS ÷ßÂ’eo=òyN“=ë±—Ãg¢lÜH2)! §½„ƒ¹®VM-:Pmâ¿®µéò+âŒTO^†4Ž‚h -‘âwùÊ´…ÿ¦ƒ@I÷¼Í7ãÚ`>w苌7NÚ©ç$L][)Nž`{£iÓ0qTˆ¥Scž^ >í`Ä2,Á2Ì@\J'oÕÆ<Î ÚãhöS¸ÿT©ÍŒ“gT q;©vÑ|ÒWråÈ€îÌ%‰.3.I Ö&óåE}œ}YŒî޳§&É7Ä5Ø[;oÁ­y¡¾ýÉ €`¯›µÖs‡Âc郒«€Ý—ŽÃî,5k]FÝ8Æœý|¹0Åã¹§€Èì"aå¼3ÓäùŸtrÌ-ÃPÜ&¤1ipfˆX„B¼E{;¸¡>!Z†´É é0Ÿ¢e-¿VWxýÂÔ…±á3KºûB®›Í‘ ÌÖûõ‘æw”ôsWòxý¥ 9¿À%£¡>lÓÜæãsTƹÖЯ… s­Ÿƒ Í˵y>+~ÿ‘±×â³€Lh¾å0(÷53Ãt¢æ: b¯š4KкÔ4 k@pZNŸûÂïàqNaOø0!7(ë;´—k¸åˆ-t)g¹DᎠ3ßÎò.>}‰°§bàôžèÌœßÞóé/þÿü]·Å’á=k\m䀣§§"©ÏõYÍwÕׯCÎÙ¸Œ¶â‰Ø.nE:¹ýøíÞ0u+™7x¨Ïe‹†».¹”‘’ebZØü '7¦þ““V­¤ó“·Š÷e~ëw¥”ð•@õÝ’ÞÂ…æ5…‰†}¬iÃ…$&‘Ñ‹Ú4ò¥9¸®[¦›› m¶–,ñ’"ŸŽDÅæç„/UQ¨öcp i(cŽÑr?*™3y¸(ršyö] UrUüGIH: K›û(oDYZlž§,X¼ˆ}Q¸ŠÞ¸ä}ôôÝuiC±U¸ÚçÚ¹Ú:*?+ñïþD‹Ø0оºnÝþßë³j¡9È,Lä䋱iêä@ÚÕ$í…‹A“÷¹T© æ"®…ÁÊi<’Sì  $×ÖÍðÌä4yͺZ§T@m\Žòb D%&N˜e¬`c¤i.’•ËÄw}k í¬ýuTëŒ*¤U6ÛH±\(~!¿®âÎäå¤%ÿnséÑÚ¥Ý8)<eÞÅ •‚18ÌDcpbêlÉ)“ÏÙgF/V­aô#·[Ô"o Üa;~NÉQy¸œ$ ÐA:€VmZÔà Ùž¼HË.écZJq¤£[ªA5 £öžÑAÄ–:ý¯šŠíˆ_‹m\ô}ô4 ÆÆÚ¦ D A$TMâà-¥#îk-ò1Zä ýnr±ÝEúa“¬ TÑ‹\ö¢yƒ5™ €ÏÆZL¢áKÜ9cäG½,PA¡0P“]ËiëäÇÅ÷Ý.}Þ•ï+ç2I#ˆ—¿7ÁrN¿9ˆ-–˜®3—XËj%Mh홇ôý9¤TÊ tñ]ÜH•{(1›6uWÕ·¾K8.mf'Âèø™J®YæÆbïTšŸUZøXÁ®Øêü¥"q>;–\P0ÿ÷B¯>›ŒROmŠøÓÀ ·ÖôÔ…Fí¹òóÈÍSÌb oÙQÃåUÆHó!÷@µ)¹s÷=Náés0co…}&òyùá ìpss ñÞË®ì”I4¡Mu ÂqÚJø+!·Ôæ…'qD;À¥ÙI §ªµÞgõìÐ7à-A72 Ó=¢£Ž–Ä—ò…ô ˆ(`Ñ.F¿Á4 #r""Íx&žþ׌E­,l’‰è6uÞ)ó¬òÌì±E˜9‹=2C„R¸Ü¥)6—Ñdå†þ€•ãglæ˜(j±·ãˆZw„͇¦&}_•ö`eÍ(žŒ…€Çö\y1r™wÕK·‘S°¥xyô‘cס`Á+’8Ø„àBÌ»¿·<ÍŽëFré—©§•/¹¨øm¬Xb€6ü Äøá¹dµüà”ùn -3R7ß;(A×yëæHöžMÒõ ±Ïûÿ/Š€SÐv|x£\ªÀYÈ9-ûé€Íâp?è×é äc¶ÏÇR^Ü4ótÛÁì.õ9ìŽÓÀã;YFtwö^¨øN["Р e%]Iá/C©æ×µã¦Ì{—§‹°éÐà¥ÉRá%ÚÚU0}µ+ÓÒž^2sU•ŠŸ½—(Dxybx¸üßjSÑ™áçS5±bò Ö…ýB‚Ê)¥ýG[ô#¢§Yz¦vFòã#ÁJ6µ¶RzKËÛàç®1Dª«6Š2™칦fqx* Žb°ÌFrÊE:»TÚ°c"¼»´êýcq+õ2–ëA Í=FCR "/¡˜‡=´Ç$wb"Ëá;yòžø‹tÙ¬“ÌÐHŸWAJ£©ï5£'ÆfÜÀò´íšAm^kÇè»å¦¿3;…YU­ÇŸvOqÌ|ÖSáˆJ´yÖÏyª7l²àæ®C×àN~$‡®1—lšú«My‘ “q°Úw3êÇP˜é~åd9“F9Ú:*•ݵ(ø‡†ŸwĪ.â2T™J©ü±½eàˆ¿Ù’»áA¸ÐJ²Žý;/)¼ Á" IYJæøV@7üÈ¥ˆoCæø#ÏÚ#šµ%Þåé-‡øMð@,\̶S“ƒç»û. ðñ9¡æÉRŒ×NÞPásÑÆ:{[0ƒãÍ.Gÿ¯À?qÑUÞ…`Ëiþ]s¥à{½~m©ù¬I"­¨ê†˜Y sk(]IḎqjOþ«sÀ­qô]F?$`E ès'ïzb"ƒÐ¿ÀÛõ!H¦\Áβ!˜#TÃ4(þª´DNÁ=R]"ß¿IºaTN‰·FÖ½Á¯1~Ú1bž{yXçQ/Ч¸òòÒ‚k­]ŸD1.wµ‹1€ªK,Úϳ%® “^—Gü oõËÕßS ÖqDb2»»•Wm$wS¾ãÙ& õ•€ïȯä˜Ý”Ñɦÿo¤óSx¦—ß Õ «Ñ`ßm³$’´dµ·V})ä–9Û;˜}“d­ÎN…¨¿r¼­Ê܃¼JCw ¢JP”_SÈL?ƒõQ;¶—³˜©L^ªS/™ë÷î‰T5ïM¸p™$c0Èjëd›ã—¿„ïªÒu±Š`ß*˲eUߨ´ðçŠÝ¾Õü­tú×Y@6¥©aÜ)ßõÛ€\!+jü9_›ß¼ Èe­a*]¥K$aÑó¾ b¢@?¹‹pʳ!j©€4¢ä§E|H0—ŸÖ@—!˜„­ ѬóõÕDD*X áÍÎsgqŸ!7:‹Äè¿?6=Ò&3ˆFibå´$Åzò9Ðé‡Üaë¥XÒq÷Oí§À! ÐZRÚîð‹¡æDêzuí]¬ê„@ å3‹®©E¬ÆšVÃ9˜sC-Mrº”‚Ï<„/¿& ¤t›dõÜÓÿ¬¼¬S÷&œ&oCl­iâcõf[“_EvIÚ]í ßT¥>èi<ñ䯴ÀÓ²¿á‰coÅ\ªüm a°Ç ¨˜&­8¶ï¥]÷³³‡þ.”‚-krÒ¦Ï'Éð²?öÝox‰‰ÌíÊzíâÞÄ(¢Æu.mÙ´I‡dO§Ï÷ê 9à,ÄÄVVmÛ°uЧb"ŽN{ ŸÕ|ÿ yèÖã#Ì ¶ÞNKnRIRÐTÝó ˆù¶áßí©ùªÄ¿¦"ÈÄDŒSv™PêNõ‘?¹0íò0ëäÕšì¬Õ?êRÕ§‚r%c)ݦ06¯3Š´ š(Œ»­á1_ö&;NkA:àvÖÙžPìfW¬ṁÇ)å‡ù&QñB¿Ez†Î’‰°Él…3P4N® ,¨˜@’w}‚¡É6±xö'b|±ž¾å¯¨h’ ÿLê‘…ø¤Î¡ WUUΣ?úqÑÉxž÷0­Ý2_𣓛¼é‰Ò8°$ì$US Ø`Z.ÛÙ§—„pGD¿aåE žï+pÃyñ¡Õ,O/þw÷-¶n¾/õ‹lšÍ}ØêÉ©$VÚŒ‹R©[°ñI5p¼ž 2o]L–Çm sÙåLwÆÅèôû:L_Fò«a\ñ°(ù“ƒèç ¿¿b aÀ0bó®¬ôõµRMÞ!²‹zkšê‚A#¾°…ƈ¿ÜE'¯gZËZÜ©k;ð`",“$,’jeîíßó_ðl®:|'ÉtŒW}?2o“Rpût»µB‚_7`ñãëÉ õ,KAÎ ˜BÆÖFë=ñ—uè¶öNöœüeBa®Y$èE]íVß^åqvstC–ÓZHÞeÆ–?J1S>Ðe„æGí b!{‘=9“¡;‰¨ÞW†“ØÁK̰‰%”°•ŸgÀ¶ïö¦ÐtúPÛ€Äý†Êï9°Ù˦l*q¥A ¤y±ÁœÍæ?3§Ý!AXúÞAÙWÄj35'þ݉ ÙúÙ`º­ñü-ŠðƒkwBp–ûãà3‘€gµ,…)æ “ Ç Õ]u=˜èG_£Å¶ñ_ ò úGiÎÊ[š€úáÉ×= ð½$JuÖ­æBl©·°³Bšh¹Íáœ}+èÅÔ.÷Zt°„ë+ øƒ´ÇƒhÔ©16{ÅÑ*È÷9G yB9¸ö•ÚJÐßGß:k?5 ãÌPëè}æªôØo <ÝóÂF`÷ÚÒT©wð›(Ç“õ(—æBq@Mà~keÕ‚EðÈŒŽE¦ íêñ9Ÿ$œiìr¡ýîq÷o÷íãÕ9—¹8‘ãâ:aeD'™GñQy†ÜŠ(5>ñ¹DÛêq¿¼õ.„ÃÄ×Ôo{š1³w¿µ©³²¦¼[*"Ÿ©Þš¹6èï~žŸ.O+Ôº«è0y»ì„ÈßÌ¡»QQ‡Ñ®^;?\ÕÅÜ^ù¡}þ·(éòWW5ÿ~fd&QwzBž!XcP¬™›¤ñHvWsϵ¾E •-A46»òÙ“7Ú®ÏÜ¡æ±Ðã±$‰w:µ‚uþ¥š9VntùñÕQ'ñ˜åìbU’=I†"2ìĦô yîóÅ~sCëœ!”™TÉBfw¾Úý £¿ôpãÍ­ Â:ïœGO&Ã}sOÂ^‹Þy¬b,»SÀ±•‘þ™J.æM¢îtäè‹’üp„x7ÀK‡øËrLFF,¼ßY›è4éý'*´±Ì 6ѯ ò8¯»>Ï@i¿gY‚Emo Ôu7iìä•o¹õùúbµ,Ê ÓÌ<Ïýn–0•˜/_†¤^ôD(ªÙ|´5ÌfåwD@ˆC¼-JT2LàaQå#9òb%1ÙéFííLì#õ‹?>„¾§ˆqZÕÖƒóã‹‚¿ÔCS)÷³oóªi¢ã$ ±Ÿ[ɸ͢]T[MÍù¾yABƒÅhß÷§‹©‘4œú ÿ:}¸P°šlJP¹uüÕ)WåÖmÙq–)¶¹k.¯ä÷øœð®Šp"˜Øãý×bï³AšNp™¡?àë¬Ç½Ñúî}Lγ%\Ü !32ëÈË@ë– ÿæÇeۯϊà–쌅àU>“p¨]©üÏl×·ˆF ”ÙÓ¤œ‰d‹üï^ »T³ ™Ý@” 'žâßïê5jÓ®TªQ5x–SÑ(Ë–3œœ³Åá. £O'ôÌs§òqÂäš|Góx GÇJø» ©ÅãÀ]™U¤ ó“”4…Cïë×H¾½ ™ž}Þ TÅK1Þ( RXõåtIw4Ѓ¬áÉ]¥þ—X ˜]E*­.ýÉdD1ëa’• ´³`ù‘Ú “¦àí¾Øµ%¸1ÛB¦ôC[ws}ÜzòŠëSS™"õã`ƒdâÐІ0"|1>pã@Ä™Ý[Wƒ•ZòijI®®r9Ó¶OXåTkÃ’‘b ô2ä²­¢<ÜpØ`Ü&«(·ŒLe\Û¨½<¯¶*ë!<›‚~•tJB13haÒõ‘6SgÉ3Ÿ/± XHÁhÑÀý»´ª“ð°ÉÏŒCÅ9튠ïtü\þ·ôö>Ò«¯Ã׈ÁTÞ?Ê?^š+÷y`ãä5 Óç¢þˆþ –øTm' fãïËž¡”#ÎB¿Fm<¥²¾&™ƒ4%;.;ázÁ ¨}ºx,ú‘»‰q;\oóÔ¤½‡™ÓE¯ŒiR%/S³Ô³yMž=£XZØ_ϯ§XÎ…Ü ÜX{NƒMy8É¿÷ÆMa{J`©à ÕðA¬œyÈÀ>Ì;)&’ ô—K~-Õ0ß—GÍM”˜}6òÖ±2p6ëvÍBìÊ–‘N?¸ÖÚ8îyS;kðµDN^"þ¶Tru4ÀM-£¦6Õ¼´”jÉLšU×B)î, ~ÐñÔ`¡T×!Ÿ†ul[¤û ÁÈŸ›èÃmëèÏ.3Õ§|¢÷îÅjØ‚™´4ÍTX€/ñºÆžÓ›ê¹Yewp¸œo®öXgè`v”M[ÿi:G1¼áñÆ«à*ÛeºË’Õj$÷wçKQ³±±=ZÍ|¬Pðl£’_e£Á ¾€ÛÈ?;ª—†ùaNÔ(e[Ëô\ÀJæ¯5UþùºmÕ覆…Zlk¢’†%´ð ÝQ¢+‡æ c .£’§¾'«Î¶L™:Ã¥ÂÞj!5¢ÝÚº€Ù«öFU‹  Œ³z’=ŠˆüÏ¥€ö2ý½F¡Ýkì>-ÕÆ ~ÿþ‘Kè˜íŸà±L}rÜxÄûÿ}ž¤:ÕcѯqÅ«÷Q“BÊ“N–ýY¦SåñóŸmºá»ñŸ¡O¸ç ¦{Du§ñÃÃ×7Ô9&œN~Q2 I¡^ĨÔ\PøtD7ä8}§(…ÀXcWñ¿„É_æWåÑŒm’E´¦B(gâ¬M-±:çBº¨pÃà ž¢”«f.OçG·Zu«C¹=B5)²'&XvŠßA²2Í®æÆR÷+yà›Ã^&^àù(è3 h(ö«W[~Wg}…–öðù´Ó"÷.lj®ÎÚ…ï!ûu´£Ìû¹SŠðH‡›§&ŠÐôR¡¤ç°2ÇX¢KÑ £y²¹0ì̽ÿë À—½“SõQh ·}ÚjME2UOœ_ÑÊâÄÍnÿPß &~·· +Ì€5ÚL®ê]ËvØÃTÔ„)Rƒ©;d|hçjÖ=Yª+Ócõø|†º|DÁüôa1}¯wíkpêFåT‘ž&ÅCuö^‚§ÀÌžÁ9$mbUg¸¥¶äj"^ # §™£vˆ˜¨ÎþëŠ!9¹øÖARQ#ò^?sÕ®¸6ÝûÿH9êþÑUæåËuZ#ÂwiØæ{UÂ7 ÃôMñ)95d;”™ºÇ2¨¢‰¢#GGò¸j_’fæÕ °ܪ¿ƒœM´¥úf¥Ÿ |™ßrGƒèdÈEà~,˜–Kv’öÑVéžÌÀ2(ÉGT‚$´Áîýÿ‘ø÷"gY^½àu8Ìoî­Ð_o½ -¸<­)\WDÒtUÊ…§gWöÑ<âÖÄìÔà 䗹á÷Ʊ{¬5iÚ\õAœàÈZЈ §˜Å“c‡w…e,é¡U»¹°=ä»ýDE^üi—f&™úA­‹Çö>@b|BvåV ‚–iaî¡Æ»lÖ0Q,y;ZàÛÇO“‹.¬è¹d]T‚¦%u²]/ŸÉuñ<]òTÛ"TŸþE‘ÞTùE¯­í×MÚ(©j$¦m}µ ·¡-W( <3· Ô€*ñ9Ö# ‹¨=Y9º3qÓëXê8ž5 B¼D§ ¨Þ ›CÏ_hG}ž5Ú0BkwtÂls26žüæÐTÂC—Ã’FöVxÊ”V-O¯AIHæ4KZ†£d{:©Ï—îîG­FK²+Cõ¨„–CHºU#>§;ÄÆÔS¬Y®k7ÏãXPWÄy´WÝðSV-•šV,yõ$'-ëÿVø/X0 :¦q"1Oõ¤iŽK8=òÃzy€³7³á»ÈyIÒ¹06‹Kºä~§““"ÛN27g|‚µ†Í8öÁ›ƒa›Ê-JípûÍB×™šW¸Œ‡q3 3©ZAkχ¥0üŸO#'¸v†hå#ðh©¢¤ÄtÓ¼P¿Ê>E…Ç^¸l;‹È[Ä­©‰ æ $ΟhÍ{îÈáYeÛ6¹ñ}…ËKÐÀ’}=(µàc=ßX7ŒS¹¹tQÂߌ¾ù¼î°¦cïVœžS þï]l·Ø½­ ž"èå!×®1å÷‰ÕK_< —ŸhrþNÝ̤á­0EƒÚãî02dMɃeó·,u<·^;ûÊÀºU8ÕÅ8M³TÝ~—Þ5'|F6+&±HâÂ@“·ŒwõR ¿0½:#'ìB-PM5ÞÐ缟ƒ€$A\€ ’äàCI×5¸Uy]á9Z×ÈÿF }%CW~ ¯sCÖ:×$íV6æåf¥ä—à³+Þ`šÁ}V½ L#Ÿ!\ÏínoØ@ê¢2zA:Ý«AÉêZ"ÞãYRùKª Xƒ¼Äü¸íæÞ&«YÒbéA:ÛNBÕï¾|‡5@ˆ©ÁìmY“mWo8× Ÿ/3oPÌj›Å³ðªÁ½tNq3…à ¥&¸!ìgWø¤8|÷Á½Q‰z"ÇpÙ„L¯ƒE¸½Ž[ ¡{—p32&¹ÚÓ$âÐsÚHDÃâ/‰ñåa–ðc jÐS(ø‘Û öY)UöNÎLÎÓb±( 8.‡úi\‚±/¡K@§>ÕMºlÜB_«l„Þ‡ÄQ¬ñÀ!驜> æžh˔Ξw;ð£m\Þ^ì¿ÂÐíi݃¾nÝ/bÈÉsX ŠàO¥y£n>ºS tZ…•”~Qaù‹Û 5h”Sš®-K{]hÓø¼µN¿Ã!dÍ•œ.îžÁPUAæB>+iãSüôEµ_Ù(¨ã$fÀÕÓ\yÇvn ¿ãRÛp3aKl–û„ËÊQØ:Êþe&ìrD :–& -)ûiúªkù( KOns¼‚ºAR0}ö£¥ÁMZ½áÎJÂrR+|HXÓ >æ”D:?à[êá…°ýPÏV1k’cuôðÒûý¯°ëÚ–ªJæ ¶¹fÀYÓv-Ä ¤·$rÃÄwÖ¥,WžÖŽ\˜‚\0ëCM5&qoÚÖÃs)FÙ„-i£cÅø!ˆZ ‘Qt£…”d騘°qN¸àš³7ºpD¾Œ²l†%ÉøÏs°ãJØ,ä³£9+VäP^‘ÜZhú1ñ#×%W‹t›óâ¿ãÖÀ B/D•¹(¤t[ô´oÆ?¸)ôítnƒ úY·‰ Ø ¯çMâÕF›Ð1UÌû™5{±g†82ÐvKÒ½…°bPéQ˜_¼£=%¥ᱎd÷#¸ùÖí×IK “4`|Œø)@J()%ã˜nÌK=®=È,ƒBE(ð†=%\£uôæoÇY¬†`³÷æo‘äGΙ↺Ÿ¤E–†K+-œWú<âYëâ V„Ã!ÿâF²G»õ>ŸP$R*3Vù›[qiÉü›‚Óæ;²ñXº ž'TèÄj*Fh ‘é µFçMu¦«R¥ðè-µè€ÏâŸ(Ox§C‡ˆ Ñ Žÿáòƒ¤a…®±o*fì¾z›…a¢ Æ ?gz›4©ÐÖo\#ü$¥?œ ½€DSÔqH&ì6ÕÎôÈèâq´ö!]r1ø1ÓÑú@”uÑm¤knENáÁãcÀ]ÑBØV×õêÓÀ•_½½©¸Ìï…èÂ<S¿ ¼Ê8çvåB²lÞƒN>—¨ªDÉ=Ðâ*ÆiÚ’jëœdܸFfEªì0ó÷´KñsÝšul>z6¥ø žØ¦†»}¦ þvÈÐ^›Ý¿«kºÀ¶Æ†yi+º/I¤55y¢OöO÷ý6ŽG…²þ͸EÇY1<Ø4v30pŠÝ™_Iéœoýój§ZþÀÓCOmW%»${¹ŽAGllWeÒh¦”Ö3cO[¸“‹D³» ¬ÿÚ©Ñ+dûHÄÀ1Ö›”3³÷3‘K©#=Ù n ,5[¡E‘„D0¿ÑRJŒŠèàI0ÙM¸ŽisÆÌ¢s{L,ž5¸L‘ñÎ*˜à1ס8~Àt|úŒ¬T2‡=û¾¢ç>TG×¾s 3©îŠ“0e=‚ê4!P{(­Ôö³Å÷,¬ÑEÙ4Õ?ÌIÒv;sõN­Ft㤠÷7¾z០y¼’‡“Ù&±W‚ŒÕÍW6$UE®½»œu\•ø2\JhŒ¢¡¥…v“æÀ°'ê{²0ç,a ‹ù>òJË8\†%Pþwcp_{Äîo^ãÕtÌÆÞvI/9¬trúýS)´ìœ!àƒR~ƯöÙ„¥Åð8Ò…Ñsçm/çs!#Ì3ŒÜ Ðû´_ªþˆT‰æ÷³©ÊL¶Ç•ØàžÕS²©´†ójeP<à™ Úle°8iUpò1 um„eoD”âC:N UkYOá~Ô9Üñ–I‚¯-Æ.L÷Ÿ€ÿ~þÇL/jp·Þ•É“Œ¦•äûò:}þz6xÁf{·pvþý‚þÆ@{@¡WS‚_ùß3㎠?Ák·N?·Yz³–™F°~êǦ’± '@%ˆã,’å1ËËJš†MiXÕàY«dþãÍŠMx[gôŸ5 _±ˆ¤Îoš@µÇ nø*Íi(—¤É]²o‘“ çÞãEÐokA¨"ˆÙP:ÀØØPocŸrã ÈÇ`t7Ì.9ךmì F¹Ð»Â£þë€"‡ßâL¦åftNÛå„ÚÆŒ}¶á$,Jý.CâŠÃ/Õ†ðF [‚mGº 8p+õ=+Kß³¢?hHþ%†`­SÀVÖ ð!·ˆBy®–¶K é/n7£é‡NÖlEh§ ó±O ·0 ?y’=… œº=€Isûs ³wƒ&Üޏ1 ù'ÏEÇµÜ šèhqI/TJ­)D«FJ5µÏãT¨ݰ«ÏP4«1:©=RTø´ˆÇ¬`ÛN¨¥`‹‘úç[Õ]YR¬37-fíPçJ@ ­Ùn7-|4'ŽdºRË€ú==œPê;áz&HŒ€¦ ^4V?@†Ì¼6ì]íïI™g`ãýˆPݦ$”Bb ŠFa‚3Q:»ê­–ÿÏøhI“”O‚¬6«°¸à§€ a©Ûˆj{Dž³NÛ‘ígñF —G×*ÙŠˆÁ£êâ }pè<Þ9£Ö¬BS§ˆöÃðÔØ_ŠÔ.>"7×ïÀÂü8š} ž;›bßÔLL]±.<\†ýD.`äíLÕ3ÓPu‚uŠ¨Ý¾ÉSVXøÿÄ{™rmÒD`Ëxñd}ñ¯+t¤0øB:HnER­這¹û£òd¦³*Ãæy9ü£JìR—ð\Í]#QJ˜Ì/'¢j¢0(wˆ©m67P¶ú–qï)!³ȽÕlW4 ¼ëv¯Z–ðAºŽŒ¨M‡‚Eé¨@G¡C•Žá¡åe2G>ÃN’Äæªðw™Ï•$”9rÌ ¾ŽB'³R?w0I†–C L/Té¢ÎÐ;±Vc{“2ÒK~ÔÄQG‰p{>´ (î°mï¾IQ³cÐä°ÆûÎIXHRLGO\ùUføËœÂI¨,ìýÖNÞøÔyoP$¨Aç/íIRñKƒ>º¥#Àß8`x2cï]ÛðÉ^°ŸOÃûG_¹l”‡Kº¥Œ‹å,—º5|¨ûÕ³5L¾pâ("™JÉ©w~ëêga6Ö9›#z«#Ô¥]ç«•NÁ‡Q*=SŒ$ËU'ر¤à«%èñøºd06æ»æ ÜïÑÔµ¨IB²–¶ÎÜ^ÒµÑö¢” ,Ys0gŸ‘Êš3£,k<²j æÊ"ßê°u„*ø«­¨“—J ùÊDÈ´Õ WØ 2e=¸Öô&ˆBRãÉ|{°o² ÔCX[0ºOó·bÿB~bþèÀãPÖq<Ž %G}GCš¯ÈÏXô¶ÜjÌ$uôqLœõ&dÔ••ø›pÒÙZ9“èÄbܾÍà Ã|§ž»6ñüàzw€µg6$'¶2€ðæó[²?vÂRþ¼ê1Ù>_ÉI—ÅÈsWÁgyM(“ç×+«æ7ÝýPuD+xrXUÑP*•b—ÒS[`£ÔÓHûÊWõ¼ƒKë†Gb˜££WÚcs6Hì*cj{ž~LÈ7Æ¡ƒŽFá7—x:µO‹êfÛo-VÚÝ4LJ±¿?¦’X¾»5øåñÉÏ ¤_L4¡¸¡\Ez*œR+o·--D¨ê[ÁšüÒº=Š]I“Zˆ62‹¿£ó)Åê±§÷¯‘â5è×îèÓp\Jh—µí¯;1ýìüÓÛhÜéòTÙÀ q¬Ñùóc%œ©™t¨0ÏZ ÜÐ}J"®+\ß½¯øƒRm¿>¯ñþ}³ú A*ÒY<ˆ/•y¾j†ÆHQœ^QÞT$5EäÆïùüOz·âl#ÌÊx=Mùä_¢ƒƒ®sºþnù€dÒï%–œ îïV¤šà»o±«ž—ñv–mÕ«”xv«…‡ƒ¤%Œ¶Ï£Äµ”CIÄ´¸Å¡úü€ÎJ ¸¾ 1îÇAN¨ê%è÷= U¯S™"½ë>ï†CzÁì+‰“6€BÎ…îÃfÝî'è‚¶›øYúEïs^Å¡èE51ÐÁ(xù‹ x°¨Ë™PÑ©àÏDÒfò ¡Y÷öW*‰ÄÈVH°ŒÊ*{ö¦×)<5žT¿Ûü¹HŒÑ:ªCv ’ ™ Oêk&þ¢ß†X$¯q>]Ãsb·ÓÔÒ³­Ä4¿?ãu^ä;Þ³@²G&q„º‰ÊØ8T=zLϧ,³3y˜p»Ò´äÏ'Q¦Q{d“}{„©Ö•D3´Õ­oivÙ¦Q5”l¶ck*’TaB¦‚ŸÌ‡$H‰†1»¥îRŽ/yŠûX™%þè— ¢)Äú?ƒa0²Dê~n¸š[Ç·Âļó(Qh_ì)z«WXøqM¬Š³ð¯¤‘ö§>¸?ìJ± Q¡}¬ 9ôÈ®ê]uH L‹åúÉ:œÄbaÙ7k6@ ŽW"kò!­^na"â±B³}¤å¼H†;²ÏßʃýÚñvŸ¦dô<´²Ä¥ì¢`È7ÏÅdþMG¡?cŸ˜£ „Àƒ4bbKI¾Ip‹tŽd¶Iåp݆©vqªˆa@ÃRè˜mË { Y^~ECx™l9¸ÿ{`š'„Þ§2ó­‚Ç cŒ¡§§ ´V†·²puvK“`8ÿÁ)V‘+ ãëwÈøÀò3]¬°HÖ†Â| IÆýâéV8džø #AÈ5гdÁ­`„ƒå¸pŽEÀì²5÷vEW\ºûý‹3{ÙªÆ2’¸©ÈeC-ÞâT¿G¥Mé1žØ1k—°‚ã_yÖzRý4ð5ëÔ´ƒ»ÒD>IˆwÆ®Œv¡ä›Ëãý‡@ 16Y0à»ý³Î«6ù—hÊÆ @cT2ç¨÷QÙ%³'á+®Ü·¶o&zA^yJêæÙMÙn«·6œžW¤CWŸ»aþ½ìmɪÈ`‹_Ÿ‹³ß³ÞYAæöÄ]N{W^øV'’=Êð%ÆçoòûÏG%÷¥†n» „æ¬[oh~8¾Æ??Eí¥¤™²¥[(³²ÀâèÌ!†kuÄÌ6ƾFd[üÄ“AŽöo²Nî÷¥PKØ'qÓ díâ}Õ_½•U¬T=;ýF2¬ÈD€å!Y‡ýšSÛS¸$ˆ¦¨ø:òß¹>Æ2”Î&d!Ì-Þ{>–› 5s Õò©'öV8*Ä\jAÌÑi9šÊNÆ=w­dýjQã¤íºxƒ$G˜ËVÓ‡¬@=/¸ïǨ™pUu0ÇâYàDëì¡>TFìfùšÒ¨—‹Î­•:qP=9ºrª‘WÓ6+c ²UŽGkã‚(9Ÿ/²ûíâ Ðþ3uÆÂ #Û`·ò<‰"ž_ëÇ“´0®uiÒ¾ùÀã]óÅœžï™ EV]˜…0š3ͲÙrÛ, U¬Îmï Žwªr×ðŨÏÚL?íý2ç[EÝÍoÁo8¨ŸuHàŸJèß­UÆÊè¢ì«PJ0–O½FzD{*]†(#ƒ’045HkrVÖÐ^ÕÇä³X'ÁÌßÅ0²¾§±ºÂC´'¨Ûya2Jryv5ÿW\Jñ—“÷#¨ :MTÀÃë’P2rM[¦ ™;lêÜbËÂÓ|È#bx¡dOz»JføN±|á'½{~en:º¶Kõýr{€'^Švyήoß¿Åc”—#åõ±|L×Bä±FÉ8‘ŠCÊ9W]'–rÖkŠ·¼GÄ\)ƒ”{ô„H >Æ ¸ÀÑG+š¾Á~g ~ÕîxúÀ=®B4ô3ÀöBl„Î=<&}E€ ®Þ†b¯q…W*yÍ_•#UêUƒ†°b)\tãt•ƒ–Ôzª6½Öy:C$Ó€ ÎŸú²tïS¢å?ÖƒÉdN×ÇÀhü7Ntºo¬:¿“€A°™‰mÞ§dKøÁï vAés´—  ”$Ë· …-gÆ`ç#'ÊÔ‰n\É‚¾ck²íîÓ!èâ@‹±‹þ½ðcBª7üæíq^€dqÅGî”´[§#½¤øg­ÒÒðœ4壃:Õ* øŠe@(?°[è¶íz´¨ü½‚ÂT'ÎÅ=jÜÆ³n˜TÍ]¥ÿ'iƺT›`žjOÄ pÏ19›ëõv'Ïd°nº{¦í¼Í-²–ä'“63EaÒs|·’öoá%ã6Ìðeí• Ÿ·ì:(ótÌþÑj‘¿ÕHS¶PíüLþûíY'¾Ô’NÈÂsž ¤oX-ÍÍ&ð|ÜÐèq Ñ7Ÿçž¶µüNäOrø°›h6òf5£ìïÆl…\}ýÎdzQ/4í¡XRRÔwÿÎÑÄÛ"ÒÈ Ð¦…8JŒ™ELBTÓˆOýdé JÈ߸´)Pë¨ó#=™¾>~K Lá3f*¶¬gtæ¾AÅN0…ýL~·39O®Å“G¤Ð`ù'¸ÚEæyzAA$C; (—/oI·%~5 õ7üzЖr)ÂÎ`gíkŸ<@ÍÂ_pÔ$~d*¥Æ5Ï¤Š”Bó43íç+âÂÙ0É|òˆÒŽ«¤Šàaʆ-—I½cÀñ¯uj=7,q¸jUÝäRæxD´¢Âxç*ltdíìï^éü+8ñˆT¼Õt85pø«­B†éÀãQÇwåÅQh}«K#×{uF ŠH>`ßݯC³˜s +ƒU°=ÝÆÐî~™Ì{´6‘\¨ t€+ ôÍàœ | í³LÅ}ûóx+«iÂvX‹ã:ô.9Ž2ŠoyþÀùÂ>ÙK uÚuáÖå3Ä€”Ñ¢h—‘¥Ý%Ãæ‰¨aüÛtù8ŸÎŸ2d ¬N²þëÂÁKD™¢5óëÝ÷þto~Ž¥cí·ÅJ@ÂO3%E”ä¶®iqÖ}×]™¨>mŽGò®oÑ ­ÚÂ)]}ÏøJ S„£_íE,Ò·ø=J-ò}§Ý›’Í‹j·"väjCæ‘·BŸWò¿L¨n¥S}_SPº)`wÏj6‹/X;’‘8§K²Ç®¾Í`ig’®SBÇØ0•‹±ÂlP¶´lE†@žjqALÑòÊ5Ó{I»muƒuÆAQ1ýOÏö7ÛÌN©× ©c«nZ”d™¤¿xXd¸Äö¯1“Úɺ;ˆ¾hú5m©v.wh®/wm™–AŽ6³Ê%Ïp2¹¸ºFnï0X¸‰ásOÇ9zo"üÒÌÕVå ž(t<ïg?ÚÔ±åë³ØÏÉé´€1œv®G¢Ž™…Ò42Ð|«1K{T¨iƒÉ‚/¨8HÐa焈㎧h‹woPÖ{¯å8W9íNÆÏèy¯¶…êl>òÉmᓬñ$2v{~û%æÚ¶B¾Àɦ$~ ÊÖž—$ûšH:½/0ˆsÄWý^B26cÀŸR¬evGT=àñ»wýþ-Íw§]~ÑaÕ;aÓK½Zîg_gŒx!üsyFgYØlÉQN\“°¥ö,Á§èâé‰ 3X3¼õ?)D¸œÝÒ-Žp4s(Dó MG6®odÎBþÔ»xÉ ƒðÿEªj"Ȉëë–ŒeŠï%2ˆ`’ý•ðRËôþ®¢ÂwñÇ+X‹Ž÷¼©‘»lt㤰0@z<Þ³ÙçËEWDt%TÉõSŸ²§ÆSíãé¾ÄpIëï1A n¹K<€ˆ†ø6ŸyYóFîEÜsžùæf>-Cð(¿õ§QøˆK⽄k\•ƒ”¤k4VC‘`‚^ ) FѾÄ3*ÔçQMm´cLÞ•÷-Vj¨yÂÁ“dÊ ÜÖïîМ´‹,jΉzýi}Ù‘›Ú ž½a®=†bÏp N¸Dojœàr9*ç‚o¡tå*oìøýÜo:§ìäCRãä™èh, ýÏžäºä×dŠ´üD[æ¥/ÙâØ!7ïâå}±$Þ™»†µÇÛß»hÚ°c½_ôÕ»VÓ¡òw·¸H•ì;7ö fFZM ýl~+]•…WgÖˆ¹èÚÔUƒT¥]¶\£ÚÖ+ ¤£}rH8íE°×»EnåM]ÍÂf½ÎêhRª¬ßš¢çÔí`˃‡MØ nܽ'½*ÜÃ̹žÚ‘ke"-ãÖv¤ý†‰òM]¨À’ÿͪ±¤ƒÑ㌫°Ð<T6߸F`k|ÊB}WÀ¸÷I<>9È-ÔTiܾÒi*.Ûúþ ¥O´^PõaLX´FßÅÃwï{¬ìØËqÍRŒ9ô€M'MÏCÃC“ m¬Õuâ¶Žö&qßH&uu\˜[×/K ZÊvÉv!†´"(G¸+-Y?#>9ÆEÃq+VÞ{<‰ Mˆsá·Ò¹Š&míŒouÖÛú†V®º_õx R¯1¨‡ŠGôd¯bd½­ûxæîŠg¡Òv!(r­?A6ô*ÖÀŠƒž6âå¯65ä—K«BUÑ]z^Hv¨³“kEA…ŽÒÃü Vm¢Âò=–öñ=‘8æèþ“O¼ïO[†x½1rà²å¡ÔŠr¹PõÅö‰§È ïFGÛ™›µMC…:×¶®ŸÒ¾øŽ¾H[#\"éÎÛÇÃ+9æ«£.‚B"Ãyç8zx@âã{“Œeo+pP!NÉWÈ€Ð,ðD]8útZ½ã›ØCþJ ãPË„67ò,œCÀ™³È4¬’°©S"vS'pø½ç¼³ÌËÛª*YÔš#IÙÜÙfj‡¦V\@\Ž5bôpÍ$ ±þ˼pÞZ„U aK‘@E PÈC•;ÁÊ_8g¹hQJzä‘@k3ê§GêªêLÁø)ÊR]#‚Ì”ô‰ÒÂB J储–ö5Ïw>È7ØÛõRƒ^ZâÝp$¥/ºŽWuÏgù°,O>¾Ï¶Ñkð¬ý)œÊ±–kЊn‚ÞæÔÍ"[{˺ë¾DJv£Îï ‹ÝÛœK€ÛtÊįºš}%ñÊ~Tº—éê^û{kF®g»œÍ<µñ_:x˜xŽºO¢Â¾¸ cE ª“=õìî«ÂÅëÞçåÞ–Ð`>º˜6pEZšÃL3æn˜Ÿt:z•1ÈQ𲱇ՓÄü"b8Õ0^sïUë0–„Kâ+ùujþ[‰R¦Fâ/T…|‹IüÃdVtδ¨þý#ŠÑƒitî­  nÈñhëˆUì]Õ½pä]i„__$JvÍ“wZ½¼eº&+4ê°)e«‰f¼ëŠÎÄÄH¡ýþ—Snîh˜EïîVr©œ÷ÎöXARàì(Îg5'ô´ ’oˆˆéÔ¢ð¬Ñ^Eü¥EN1† ª—øwžo!tjþʆ²ì •„uóµC«¢/9G˜u29Û(, †è'ƒ3»_(驪iy‰G5ì=œºÝ[Ô¯Í'ÚJG;Ö<`RþF^©ÚSßa™Ù+Míœw Ok<z@ˆ“HO@Éâ[|u&ãp·}©>w’ Ámÿ UP0n¯=jG"¸æWOv3w¨"†HõqD~1‘wΘk²¢Ojo~7g©³%×#Ô’·ìó ¨~màwêLoÓÑßÔ+ÓÎo²’ô !©m)دjÌH\´7ˆYþD õóÚ1?«.Pú‡ûBH:ÚXº ýN%“ðgå„;ëZ¶XÙ1Ü!ℱÎB(’^ˆÈ‘9Dt0ì«{¸¦iC¢8Çõ?*TÚ_H†}µ·W±4]8RîÄ4âu©{?©Ð¨hߎ†13óùò0+õÛNDíðWý•Id›jì8Þ3<}´EÖ'@(y)ÑÔ#Eq“š}ë4ìc*È6ÕÐOó‡v~Æ,ÙÅ5!¯™ý•oˆ‚ÅZ.üÓÙ ü~Ô¨šÍ_ê‹ë›uaŒjˆ¥|sIuç]¶ÉÁ]Ì6ç"ÞîràÎç’°è—x[‘2’1Èùž…F©.Àå¶ù=aú¬2gÖZv±¾' ‹´ÀÍ}EIDþðü£KµpköRgqš;\*1í<Â0èðeq*Ä¿^ÌøO^8ø“bý³îÝ•T»íL epèDzè&·F£=6ÅøùæZö7~;%Hx8æÀGª’ʹõfô¾á ‚“䝸ª»cQcÏ…BzItJöWï€-NËg³Ôx Js“:¿ß¦Ä Q©mÿôMœ5EG‰ÚŠË ÿ¡ÊYÃóªBÞm ªþߌmõUî¨Øßwn¬ý˜_”Uùe–ýéI†'æsùAoÆ•£Z®bÁRYìçsÕuUóŒu ®¯,'gL{rS³þŽðç{Ùò~ôȸ`dzF„ìÕéÊ:÷À¥.±Ø|€ gS Ùzl@…rêƒW8jbmA—<ùEEã³à`Aæ6*Ú°”gaãá`@GÕ’aÜm¨Šò§Ðò¡1/¬ç›Ém2`ÖOýA•¯žÌ ÈÂ4|šæHÉóލ+1ì Ã{o§ ¶e­Ø¸&àflHsp1jXv›õÃ?h¨n0Ö¾ïqçzæóL(j«¸ô4áçw›k-¿HŸ&Úº`âa9“7êóˆs×N U·¡*BxÛ˜_½2QC㓞Õö~î%žÂy% þä"¬^RÖòÕõÓóÈqw«öJØlð¤XÅFâÒÍÈ¡C»ÿû¾ëÆóDœµOªá¬bbB—wRW¯Ñä“?j9’2·H«Ñrù  ã”yÜ¡-bq¢¬Ç)S®$‰`(¬¸—C[3)>•]×X¼¬ñî€EßÓ¨ oK,‚CoUü g M¤ÒhEý8ØÁs¶PšŽÔÙØþ”ývÈøKz7ÔžHQÆý»ÒÀü%“û1&<Ÿ–ìX9˵?Ø "»† Uw}iÂrî"ÎÞy¼oáÑÕ«Ö“,®H“±év﨨“Täu¡„†#R{½”çã­+l¥Ûɺ?A‘Ðà(8¤ÜY‰FU~ŸZžåãwÓF­½Uq:“k]EÂ)ªbqVÄ纆íçzóns¸a¨˜–0†H·£9â¶%ûR½¿pÈ OΖy äèP ›·pÌ [äBë…p¼¢ÈóFQ^uij””W'ÐGÛ¼U¾õrëÛKG~‹õæ¹ ¦{åk?À·žQ¹ÕƒP¢E+6L@èýW^d÷’e9#6ßOî"\ødšGZ=Ä΂‚è L£…•€‰V˜»K*!(Œ'ÒΓ“g#`jã)iüàºKõ£Û–¹’#ƒ¡¶})àìÑŽ®?¯†^Rß5´Ë%••š6m‚èAí}ø(#9—ï—ïuü<Èl0ቬ64=‚¾à ^ªÍÚ†¬&~©†<]»ì¢T%Ò¿¬ïó¼üC"Ú!AÚ¹²cŠòÿ­ˆT M}ˤž‚Óéó 8úÖÝäQ‹7ìžÅؾnA8’´Oó3A3Ì›Š‹ËѬ¢` áFkâç@˜mëðLF2äÀ¤zü¨…a4›å£ìüíó3JDrLôÈ=$'G;{vlï@«ÑO}9.L‘ÖÜ&Ü„ün/P†Êan¡Èþ’Ý70>_oo™²Çî…®ôßFïž ¼RHn~Òk ÷Lm³¡"™Yëí†2š¦ÊØÝÀQ3!fi"(åSuOã‘&PËÛ/6z¨?’Nâ¥ùyXßéŠé„˜ö¸/‰uUî6Ì™ŠjâÿU[‡ Ï/ÉÈK'i´–Kþw5]Ž”Öz ¹Òt ƒæì›³>ª%i‡;’èÙ\d®/±öLÇ×xWjD5J÷¶Ò>Vì¥a[ƒ…Ú4‘ƒö<_ͤÎpŒ¾_ÅJ,‹¨{ã’'®­|-í_QæqpH“Y Í12yâ@þl;53î¬ûÓ‘ûÿ¢A6ï›1 ƒÈ—VÁ|§uéÁ¿˜ÄI¡ ¦ñz³†Á÷\•w±T;hC· ¤3œFUÖëØß¿¿[ᔆ8"P3PëÔæ¢i`BoÉ›¼óè¥ÜA3v_ûêdz(Øu"jŠTÛrP{©-å;X0æ!™€©™¨[’÷ÿà‘žC©fÈ䯓)Ï!¢­³q›Ç®ÌX®¨_Ñ›ºžj9yx‘%wÜF;w>ÄŸÑìNíJkÐçªÊ®Ñ?Ñ£*.’ÙÐÁn# JTÂ~½6Gƒ¾êáç3=®çüáb»Yß#µƒ4¿…fkÁݵl á^ÎdäÕׇgÛ€²0bΓ¿šf°˜(øfrÉ¥£Íœ†„]§PÙj]Þ{1j'x rÍyl³Ï!•bÓ«ÆVõ¥ÄúJ‹MÓ,×Ý_ƃÀàÙÿ½¹l–Ù´ªÎR­¡…CÝÉrŒ ÊåúúG©‡ô/ç†r°R˜^I9ÂÈ<)o!;ütËï>(#ý%YÐhY×¶ýéçIÔ+ÄÝlíRíAÅ¥õ©Fg‘ÔÜb9Ü8“̯3l­å7ƒÜ‡¬eð($OŒó*U®ã¾÷wŤr°Ç?”3NÒÊÚø³ÞîMU—#% Œ<©3³„ÔÙ`ç¯2õúœ°/ /%Ô ;@W + «›üé÷MòP7µMgúó6©*ϳ°™½åÌ:ˆQÚšïã „dYJ*mg¡Ä†{¥ÿOƒW¤ûO9(w¥ó™Oà¸ßŠí ößöµ@4(HB´2oú2‚JÌ[e°ñ˳𵑱̥üÅIJ3X÷<ÀÙp¶åBÓZ!U>“üÆ“c¹R9M+'·m´áµÿÄᥱz1ÿÂ}BåLØ…Þ›öîCdHævD"0W„…D»x^ÝzÆ9)"ð\´ô#¨?h]Qé«7(¹(cñ`Þ♜/ ìú Ž9eíïQžËÝŠÁLùʲ¾>p.)ÙB·JvÜ ´Vü“B í…8?5±D1LíYèp51ç!¢Ã ážäÏö3zßjµúŽÇ yJxÜNr§ÍHä/šýUKF˜ªŒŽ“ ÃçÒ—ÃLMïçñÇ õë—¥TÆMô‚—­¯¡¸H¥–À]æØÛ.çÞñå3/‘”½Ý›×r“¥FÎ1`ùrx(Êý ‘›‘-¥[R1eúû Ï÷Ú-—ÑÛßw6¿ßŸñ–¸©‚_{KÚ¥×뀯Êq<}טÿNXבp·0¤¹Çø ÒúBüºry‘šÒÔ/¤Á¶ÜHÐàܲó>‚áÏûå ’2ØÝjöE §ó–?i¤hÜk…0¿_è8ä_[KV¤kÔÕ—¸Põýî®R®‰¥Œ0%mƒÍv­ úçâ†ç<šlQõ®ý§:a¦a½þêí0ڻɉÅgS6ø¡Ö|L–þBÂ`Ðüíà_þ­Qå—:v³›˜4¶]e}H©RêBQq‹ý ®ÒN½a¸§ª,œN× œ9À_ ?!vߢ*¼^¨¸ó'S={%ÅÍUS>›ZöVÚþÝéó:¹vÍeb^ã½T$?`ÈÎFášÓny+Ü‹²·èªÌÁÉ<Õµ°¸œ²òHo:@âàÈiÏçÙØÆ%1Ëk0fz€4Ùl÷/ñêï­õµbè^Öë Q#aK¿Qš\¸ %ž©6À‹äÎF”üq…ÿx†É s-Qȇ ê:Yò½öTN@÷oV½Ÿá0Áò‚þZn+¼Wê·‡èNäˆÒt’Q6j{Â_ ˜H=¾–ydÕÒr#‹ÄŠp4@Ôq4CúQKÙÄ!f2Ùö˜Y`àȤÕÈAßb†íX¶ç˜‚¡\éNR’÷ ’/×VòJaƾ{DzñÇÿÑ ?Â_yò´4‹\  d Â\³bvK|´Å€J“}un <Úã.Wûa8H¯qâøJ©rÉÔs.ÕèTJ/às3R QBÆŽœhãTO­“¤ÅjÚÍåçbÛC¯ù¿ëÅtIw÷­Ô ¡)‚·MŽêîgRÌK$JŠ&N³è\K2ÓõÞÝ$ѱ €¡b>Üv®”ø+`ñ mLa!ž£µÊ¿Õlô~ÌQ„wR‹JAÚõ˜ÖÊŸ0R°¶‰Ê°® ìtPRŸ†­oªT cÑoQ}Ü/9ð®ü‚Jˆ•¥²¢§Û½Ó+¼‹é°Ëpæós#m5¿i!…Z­‘Ž6Í7ƒb¼ZÚ«RÔ·ÙY«Ÿe8‰’Ž—ðMgþ˜4鄇RPðNÑÀçá÷Š„ö#Tj^Þîá‡+”n1oó0›XŒ¦Ó‰ÔS,¿Þæ),aLdmWXBXî%ò9ÐÀÒ,K.B -uè*Ér\E xŒÀè µ[gz˜»]íš!!eÍP‚"ÁÇñ‰çœbÁÅZ»Ä±Ä6¦Ð7±¿'ìÍ5-×i{ õ?mN·Ø ”×®YqÔ‰Èÿ…Ãf'Zª„x©Yn ΂OÕ…‘òó í÷(ÈÏ€¿Ί÷‰2¶‰»¬LÖÃp"¡_¾QÝÕu\☂’¨êؘ(ð,ºe8¬W÷$:7ë9.Ýa¨9‡ÀFjQ¬¾87_ÚȹçÂ]¬åKå&x9Ïb¢B¦ôÊýS½ä&ö_í3Úå€ʆ‘ Ä8mžÊi‹æ8ºÄïLXq—Nšœ¡Ña)@Å›¦.2ù–’So­0«ŸÔ@f€·Ø#{‚³<‡Öé£XŸ‘ÍJ3Íë—Ųñ1Ùï’dõVêí•]-P¯í ‡‚u-‚ãï2zò?“<«ì9ûWÆÁ•\i¾OçL™sÜ9%lH+u·Y´[âU‘7I؃­E™ê7\. ߎEZ2?Œ3XLã°yÉr:ÌœyșצÁEz—›1ˆµ›#Y7{áX7BRäå£Zl«\°µÐ¶î4³4è.-pün ‰×{p~gσPÎÓΙR™œ'øD¢b[œc좔®ROfå‚“„i)<{|Ч+«¢"DPÝW“nØ×&Šù*’‡”œ »òÌýõKß ¶}îU2×s¤PÈâ”0vϬÄ=ùj©>þ¶Í N?[æJ_ü¹gí=,d´3ºp¡ˆFŸ´ =¼Î?®·ÝÂåBeòA»ˆ5§H`Áz¾ 0c¯NnB%YT am‘wé’uç;Ç»y D¯ŒN^¾QsûŒß†ORÝxS³s:ÌÉ#X›(Ší‚J {!bœµÎ(æ™v¿Mÿ4†Ÿv—ù'TØä ûKµuÌ–•«á4'äJ0nðä e8ÿKÛ¥Åi£/¢Ãÿ|&¹_º@Y[wÂ3k—ž!­k¤·" ¢ø²#GÝ=s;B ë 8zŽ!˜ä¿Jú5ÿP8šz`ïiÔê _ g¿Ï¥ÂÒs…_ÄEHÙ\Ho¤›šÐêÂ|èR>K$±‰!bç%Ôk€‚‚–ìÆÄáM•i9ÓÃŽ`õ²0T5w¸Ôâ#|qSQ¢ÞkÓŸéÒq3w«Ö)8r½Úö¾¸ØùM6˼ô“ÝO’^3¹ª>‰ù+í“ã¤l *“œ£ò‘LnøFzjæî¡{E‡ÝëÉ!@|cz9좯²U~Ïõqqvó,Ôô!9Þ2?²Ÿ’õå(Åi„[ýc¾˜’¯ŸßAÝ’:x5ë]¨hì¥úµE6&b\Á©RðK*Uíø©>¤Œ;58¤ÂƒŒ•±ü;#‰ÙŒŸ¶èF]ñ­ÖúËe¬É>tâF%–Øå,é¹wêoû<C­a¶´À;˜3¾ÍºèiX¤Ç<öšaOàÉ`zÄ—¤»„Ug¯‹EN#ï¨Ù¦v¯¥Ñ€A‚/žÆÖXˆðøîfG׬·»(Ìö 9®*OíÕbSE¤`¾ò—¸ß&Òså¯Ò‡Híà8ÙU’ï†Ð*šZ>æ¹™†î=x£¶™Ùrᇔ¡ åbè Ýëø{JáX‚EÛ€Z:3óœGï8lOÞe GÆ"¸ÉÖ]fFfz¥G?(Ò)®›R/B§»Ž+ÎÃoæšé§ûr‰Ô ðDèÝj‰V } }ÂŒ~cÊŽÝ‘|éãß ·ú2eœ&k€.‘ôürÔ\B+~¸ž" ñŽ´Uøk+Ní(0'Ž’þòék@»!›+0¼‚)ðì:¶còX’Íç}¥fö8©½X šYÉ›'ZW[ýä_}Gzß® A/Yî­Aoa}ºÌÅ%–€c¡¦Æ0ºDÓŠA ÿÊŽ¶·UBô/Ô&+zð Atr'ÜÕŒ¬.›pàuGðV®ó¡£Å-‚A oSQªa¯œLý¿öÒiÖïßýí¼ñ.ÞÈ·YÆB©}ÏzŠmB!×mPKR(ª·°ö§çÞ2¦Çaa“‹XUùúí3¹»£{ÕU5à—r󡱌‚€@Óe€âØë5þœÃg»ST*FA{Reqèý¦À«nÐÍíÏòuhr³"2qH$^Ï'B‘ʆ^”ŸfËÆ—ˆ©Ö*Æ70núPGœ@ZxÇfÜ_$ïÖQO:> Ïö°Üm°"ƒòßöñœsA ›Ú 1vÊ$Òˆ÷àúȱ¦8Ztïêé¸N\3x—T³¡î}Ñ<r*©¯±v‰¬ë­ÆšþeY-Zÿéúÿ 'Ie{ÙÚŸ|e–‹§2w™ôw–ÓæbCÍ~nÊÉA¦$œPêD±5—;+Á]'n[QèþE12ç¿)>°ˆÛí³pfO ´„ü圵Àr[ˆúæ @^þ1%EW–G®kñôÄD…£L6½0k~B0cAöÀé‘7nßM%烉ÅΔêg™NCÙµ±åìw8Åß’Þzƒ_Ïõ§m@”„˜[Úû—›ªØG 1’—þ7âŠÚ ᛋ³·L”-ïîúùî|⃠oøl>Ÿ›1±r†xmù‡}]Óæ^å¶µ‡îËÎvö±#˜zNø°å£5çiï~º/&{%CóÂ~¸"°s¥e-§âxß ÷)#JÂlѤ-§Žfm+“¦ˆ§÷—Í8º)ña ŠKÔL"TFiŠúL°¾(½Ü¨ëÈ¡š ]1ôxFƒK¶&9†aœëÓU.£—nu‡b·ù%¸©¼†KÉ„jEù£:%^@wå·äêÅK)òÿŸ¶K h\Ìœ ÈâN…¢ RÖÔFäš9 Á.£P¢ì£¯z¦A¢ÆBòžØØoñÊ/#?| J½ù™‡Œº%·…óÙ••¾§•˼ éý¶Q¯u¶¢Æ€/ë¹üœšá&“Âq÷:hiù#•Ö„à‚²ä¶üËKþ\>aµ0Ÿî¹ÏAI7ºßdç¢ÐÍb©T²þ ²Aî% N²8t™IŒ‰~vš‡&· %úaâ_Nf¾×¼ãw¥ÆWãž‹õ7º-$ØéõJeP 4ÛÈH~yƒèmœ±Ÿa0AŸ7ìe¥G¬U¨Hß’?ÞeIÛKÄÝå¥íhC?Ì«+gTBx àçã·:â~D¾ d@D›yü í?ÓŽ/Z¼‘žÛ]''X¢Ó÷¡¢=ÕF·×èÌ Û=XÉV»ª¢K@¯hLE¶qw‹ÑåZL¨¥D+ÖtAY¬B™MÏ‹fý[1/ww%ºPh,“xV–‘¼lš6. †_%™8æ,ßÍŽëºRê€Äz‹éì#•IÙª!xÚº0€{ÞϽFñ5»¢<^C>,ÿ}}k*éËrç§ÁuN,˜+øœdÌFËÐ0*Ö[„¸Îr*kÑ̈àyP4¤Á= sú^oÏ@Iñ´¦ `Û¾›–DK/RÂ`XR%ß”j7¤ê — îYXÓÕ«½(~×,üÖñIAA4[®øDBë¹4ÂfaÄ }å±rð´…ÜË7&3^Uõz(îZ‹eÚAñÃUËo© àb"oh¹á!1î^È&¼‚.ŸÝÒ¬-,Œ¼ã >‘É'”ÕSûЇ9? ÓUVÄ¿©¿œ–WÐÿ`d&á{vOZ¿?×ÄÔ†Æ_è>ûÛT3Zƒ<’-2€òñÍ*þG‚te/U¬‰oÚüànI:ù z-§±¡ D£ÊxÛWÅUq­üüUIŽ& Õl«%ìûÊ9GJíW(±Ùï²£åægÅš0 ¢+i °ã –>þ¿ 5·W?VX±!%6ÚeÝ ðRš_û–¾ëkô‘ºš}éH'ó OW¼ÈzJ>jnWôrŠ÷tg×™¤3›xH>|£É¿øx?ÌDpÓǼ¯¸PÞèÿ[m°ÇͶÍMS?½Ôì ß(̰,jòk6k†çX¦²˜|*¼Ñ1OC²Z­=X KÅzôúT ¹Ê*%N€¯¥üÛæÄ„_II€{ˆ3CÞ I5m-8µ%OÜeBÀ…õYÎʱ•éJ!ˆ…ãÂ*ðQX­Ë—åÛС°.‘úuD(Þ$R—*†¹Ÿõ5?Õ«ÔÕ ´§uç §©Ù¹Ôöì ï®v³Ga!UòFšk¢äkãSžŠ&:–mSGC“çÃ'i²jÆFò€$r!YÁ(Pójê?eöYõã;…w£¹a¼ô˜ån“0ð“>=W[·¹™Ì¢:vf¦#.ĶÆu™ßäø0åta j,X1h`¬ç&Ü+˜¡«0#8¼Rw;°ýÌV( ³B0w-ÔCý¸ãžQH©Ô0Fñ+ò2ˆ¸ó<`6e eqÿC%˜Iý"¢ˆø~³iÕöóäøæÖr*7Õ³sª´¡Lnûw…¶õc®Ê= Ð]‰ÌHbóðã% Y®Ù¯·,‡!Y ù*Ì?„…LaÁÐÑùÕŒ€Ü¸A½JÞ‰r Q‰à¸Iwμ ØŠòaKïqβ” ª¤ÒÜ:+;éR}š£½=¿6ô·É r}ϹD[’ƒà(¤2'p ¼)Ž0€z¶ý‰ioª¼v¸uŽw{’ÞdË¥ ^¾¤éœt™¹þ›¥x¹œ m‘Ìý¹ÇÏâR’Õ©×À@ 1Ñ3BsÏe|Òh•’Æ_e¾Wͬ JüÊ&d,wÿ9Lâ¾£Dj.÷4eÈÂÎ/”ÉÖ“3Σæur×ó³EJ8ÎmVõ‹ƒÇGºÒ}Wj‹ˆÌÔ†Çë¢R¤óÚíÞí/D>Ð|¢ÿÍ<Õ Á‘aâé¹¥rñôn)ZÔb¨îÉ×’6yŒ*_@y……¤çr4ÇÃÊ•Û%ÛÐ%Oq6®k‚®°ð¶…7ÛX˽¥°P± s\Ñ´A’#ÉÑ qt0%£@ⳕ,’Ey”:ê¼Åç(T¬ÏÉ.]©ê*7(HNØòÒæº'JÒ<ÆžôÔÏÖ¥,ÀÙ«vqX¥X™µflrôaBÏ«.Έ/3°ÕÐBc@T¸Hx‹Œ¯~u‰A>ùeŒ`ÓéüoŠ÷” &3ã°b3a±ï|”ÚÖÔEÛVSþܶŽ\§¢we…6¹GØmrËbPŽ:I®³ÏÎrBd^>I²Ì[‰A.Û8 kÑw6Ú.žñ´T<}ËFž†ØG&Ûyœë4zckèzIáS”hÊk`âx CàïTªì’ð-%ðl2e~KQ¿24g&‹¤vÍŒ2È¿Ô70-Û"èIª‡w&–)Ý5î¹=”#³…@022`Â0%ùH—5вQÓËÎ ÜÐ!xt…:еYòË·öì™Ø7«ˆ1âVsé´V˜>‘þÑ”‚¢kŒiìûnø)äÊ]¯ÚàG›ü÷ì?ÚÖ²E&ËŃo™¢& V _ôÞÑÞ¤¿1׿%ܺåð-ß”„žÍÌüBuF3+¬„Ͳ>®dòOzðÐ=—Žø2~XÛ%Æ…Ì€†’ƒ×>k2²à {‡$£8¼44‡kËVy—;Í÷¨¢÷i7õ‡Ñ>ú½W(Y¸nTûgoÅXr Ž¡ª®h}Ëî”Ï"…oÚB©èºk¤LÊ,ù_‹ñg(Ò‘;ižOͰ)ÓÅhjËèx¯P9‚ï›eÌ–H´8ÿž>J´mR¼ ¤šŠÉ2¹üÜ!©HXôØÁ’~Vîó,$@ì%‡£‘F Îü“ÆwÐ|akx9Q‰¾ÊÄ–¿aí&KK¼ª­<Ód𷸯ªg§©¥¿5@ uÂüks`ÍÔ…0Ú6ó|øj–>Ž3awƒÀxS‚·Îíáò+Õh§Ÿ"ºQm‡œ­7†Ú9©©Ë.„†³8êV˜Õ~ 7Òß›' à|$qo¨ª$çjI’؉X£h/ûC}£~Á M¦åL šûjrÑ/d®à.Þ°M±u¥­pw1¢ë ?4”ø]ÀHj=0J±îïÕl÷-hì•^o–ËÒÐâù=êOÖåÀj²§Õkaj½ÇS ÿ.yææÜù9 0…Lb…ÝåÿÍgaq‡ˆ+©Ñ/[ëùh¿ªëBS¬BvÕJÚP`ØÈ‘‹ßº`Í»v"§ºöÁö!¢6>C¥†8q„^ ñÿÔ¦Z®mÞ$4®Ø!A‘à¦v»å%d&™ã_]lçã’W@^Fßq9H9n*v.—w߇Y™)íûøë‚¸…—ÿ1éã©c¶õ@ç(pH]"0b½àSˆÞ~éÒošú1‰q°m µâµî RQëD Ù/Éæ‚0·P\¤‰+íY*<ÁÈHÓÏNX©éIª>$.7}à~Z €ë ÿè}!z=”#˜ZéEL–´ˆ'‘‹jCÂ<Õ¯†L h9…4º¡‡• ÈoˆOX²W°!s6£MÆ[9P* ¦‚F=’é‚mj&t¨.UÉÜßl |º±$š‰ŒòŠçüI±Fb"!݆z¡ÚÇæpZE¯ÌO@D³»&¦h£Wþnq­ £vörÏQ{5ƒÊ{ànTäóÙ(×çàÓ*„îƒ7Æ!‡/†MZ´~›~“î6ÐsOx‘5ÙðèÙzÙTŸTìY¨M”ŸF´éM¨Ocj8´iEöáñØ:äï!îÊV‡J¢U»†Xé]îÉÇžc#›AŽü!`e;e§qN×{‡36TŸ˜ïu’ƒøaÕ_B®g±bk´~Ì)<ÞUìÊOç\ÐsÀß\Ö%ÐÍR‘¥_ÛPIÕwÀ ì僪ŒÇ@Ç«2ªùïã3:éÏ37cÍ1ÄÆi"2,84A@Ü 5ß ÓÄ 5þ7!~=ÆÁòÙ¤Z/á0£ŠêzFñØåJù#nëËtÃ-AÈÍÂÐh'Z-Îi {aKvoYX6€á`hàúŇ۲Ê&G½¿Ã»¹õ¶U i²ÈÞ×WÍŽÕ ,°0aÑóµZÌìØ—x…›7:)\¿Pýÿ&‘‹„Þ~ˆêA"Z´× üï©øpeǼÞ`—"üÓÍŸùQÚ ¤×êÔ#‹ÚÞŃëb"·€q%´‰ãǪ’§^ùûÔ°²²˜ûfZy¤Ê ó?ËK†¹±0óHÒV€ÓEœè˜ýÆ+ s§Ž1¤ÎÑ›ž&¨è5œŒ ‡ÐV­s­`& ­Ûÿè¶<ŽØ©7ŸÕMŠIžÔß}Ým*oªB(üg´ ËIQ>K§Cqzó…ë`ƒÜ,Øï4ÿ ÒD ÃýºÌ6Œ€öK KæI´qýï ^ì7 Xcß¼À+Ú;‰À¤µKöHâu1JÿĆó¾èèwwžMœuäW4‚µ²AuðîM2Jó}{K®“$»Cžòñ_6™#Û«Ô ½pY,K…4Qµ5Pô8ûzÔ£:š:¿ûœC.ØÌŒLh1¨VÚ‰1WÒl½_ß;»Â€= õ¦ëiñ/} È›_U·€’÷åõ×gÂãf¼‰\ý©¬)Íx—µ€Tا÷‡ýWç›…%~Ð…Y’ ¶™=êMdû(µ™Kʼn¡gz”šð `h(õwÛÛÈÿRû&Fv£ëe§KÏÈÞ®äaÇºŠ 5KÛ™D^âyYÉ—LLÄ¡!§øvÚ¹¦f 5VÉUœ»6Xϱ^Š$‹P*Ÿùë‘:ÅÌÇÃÁ=à ý+e÷ûôÛØ¦±ì%rV,Ò'öƒ0ÒJÌ £}Rœå Z”nã! —H›¼Á<Ò=¯<©ùÆS =Uä%=]Õçg€ã²¾ê'‘õQîd•l‡ÁV Y=è³û!63»ˆö‚Â¥R§§g "O?£ÝA.ír¡BâÕ2ºŠÙ•ðCàøP´Àmn7À¾–(†"—èiÿb-mS,·ˆ²- Á ne}ç›dçäŒð6 ÀP9ƒû–¾Èþ( RF3æ°hGþÓ÷|ok¬€$YáwP(Z{p1‚®|ŠøñPk–ó³tçË;Km@·H²M ÷a” A¦–´¨½g¨y\Š>Ê–Áñ K÷J.Îr_ÀBy 3µ°ÎæzžvÏy*ÄMñ_º|¶/3·=d¢>”AU6À³ô|²ük±IUÕ”U š(%#Ür4âzBõ&aìžÉ†t@Ð×ÊÕ£ùUù½¶“0²lüR«où®.m!1αˆíÍfúp×ï&ÌLÔ0K•é%{½Z©‡ßº‹ÜÓ Áã{Wî,¼‹ß'ßSGl—Êþ!Ý­LY(ÇR'›)•T6÷åX£e|G$ÝI“vŽeíEÊcxøÓoDóó/D=’‰¾½iÉ:†GM'c ‰ñÆy!n-•ê9 †Ô@ó{ÐoÓBÓõ•Øœ©ìÈôV³s[Ú—ñ¬á,Âh[r/¥Ç-<†ô9{¥‡~&Ï– Ã¥­³žoOâmŠñç?Úè›Åqæ<'VžSš3Ï–C?~Ö¹²Ô¥³Z€hŸðÊ„öÞÎAO NÄÙÛdÞEgÝ1«(=‘‚&AéÈ0ö8fˆ ÓEÙ‡ÿ•|e 䢮ý?_ üJ~ YA{¯ ØèJ&\þúÐNÑ÷Ÿ‰6óé9™¸Þ’Z Uü‹À¨G›Ž»OË4ɾ‡®oøÑ‚Ù ‡„2éWÀ„<\ó6t(ƒ2|î쩕Âq 6zÐ{F<*pôuck¿˜ãù|¿AÜ[[Ì€ò™Ôvî&°¹Z×kQ-\DØt]\Eƒ^ È~D`ÆçÓ¿W³ (ï¬ýÔ ·!ã6—(ÞÓjÿ+´}·m;x»PdG?.R+úpÉ$¸5ÿ,ømså„… />´¤”û¤¢‰eÖSöæmDãØ[AÊðI,eö®+"Ú¶ºSy,p9ʳ^dxr °áêŒò|»‘mÂyOjIܽ–µ‹òùÆ _–Où6P¡Åe‰‚ ëpðÛ‚eiõ#‡Øvµn­Ù\(QÜØ e-Ò„ÿÔÅÜtyÖGý%äF_‹øL½ÔÙL¸Õ‰f«ò9 ¢B͈}B6Ñj,q³¥= r} ÔäN1±hÅv|<¿DæÚA@LQHtPí€|ÈÄ%2ö¯Ÿü&A,ÍÚªX³ýG!1 ¨æñÒðÊj×PÇP¤n§s-ÞÉlê¬ù¶ æqyºˆ:ª‡¢AV[L!PIüL $e8…½ 6g@:²wžüÐHZ}ïN‚mkd?ðÖ_§ãHªKÇÙÕZyy"醇Þ:8Z Ãûøe›å÷±Ïl ·<¯‰h,®O }Ô ×|YÄw‰ÃŒ·#qäÌ$g­a ב)¬± ˆà@Ž*–hI‘ƒÖ'L Á@=?”È2|Á“}dÛ°eÌ| `¶±Ù’Xp§ ù”Ù©/•Àí¸öFHý„Â5%Ú †‹'¯kºí“ЬRJÅÛ´|á•scPB%íf‡XqI n¤ NµÍ{ß¼è=*ã ý¢+»8ÃMÇV ûT* ž¶Æ1‹ éQñjö”—3¶zoåWš¸1&áx8ýÿ¹Í ÝF‹®ßX–Ìï¦PWö}_í’ô•ËÏdˆ°\ç´’0-Qþƒ¾:í`LÚûâ…Muÿ´­Bû×WxcîkʳZª—=ù`…[¿Æ­FÓLÞ'ŸG€êßaUSâ[wjà>̹ɮZ<‹1β K% «Kâ@ß5kêÀ?ÅÌF¢gÛùëeÑu…©X;…™~Α?‹Ù‚ÍäæpëÊÞ½ÂúH7|Ò†¡Dö<4 ?8ι·<ÂÎŽ ßD6Z´@é$åúÓ€wwèPtksU«Õ(EnÃ~ë>T¾ÖCÄKØç­ªÝà fˆL¶]ꀯcn™›¦êzÊOL6ŸDó°4Õ¶hsÓÐzÄ+J¦Ï!\ÑÌo¤ço 0w%ŠN¬yÔ…¢X[ž4. Imø: `”(¡(FÜèD–¸7¹ AýAO4Ôdísb*Cr3Ó+AqñN}$Jžj=Þ§ÑýZŽÞ¡6Þù¢lÉ0I”z¢­+"ƒ&×¶÷ë Ñe”XZ¿sifÆ9l2ý['+å5*‚‘A¿¡â·VŠŽ«gÄ.ì§LWÏ.W4Q¾`‹pÞ·Ö/Ô«¡ ª›RïTw ÉåQY1Qˆ×éܾaé>K9| â¯ôYVY¡«%*r\3.ïAp†¸Í“ÔÎrBŧÄ)ðg™Í„}l´æ^F‡æõc “›ÁÃáòèº,…BQ=DªÜí)Y‰8»Ž/?¡ÊCJ#7p-q< “SÈݳwA_ó­ÔÛÙT¯· åø‹üJ[OùµVQÙ]qé­ëu¸×ØðÊ2QÁYžÂàòØ–QVê*Õý‡›åµÌ›Þq˜ÅKyYšþ-Šò{Ï«¨ÿ¢M—uÂÓj^ !!jåX%ZÄP¹úL¸î·¾Úú“ÚªüÀ‹ø1ò¥F¹Öq8ÀÍë!§y[m./:³Îù­*d7M;sØa+ݪõ7Õ8xY£tíõ&¸>„×úÂGo«cÆ<ÏÔÄ‘ä?±A›¶ü,?Qÿ·,…¸jF*1¼rno õßaè]Òiîô[$–X³ÎÈ>Ebå^Úí2qóžQ<`ÀþË"LV"<ŠáJ?õò´m~ߦ݈M³O‰¾yÑÖEáÖDåÖ@ |eìÞÅt¿ûX¿~´)·=h¶rŽCJâ¾T8MíÔWOÕ> Ùµ¹Ôà)¯°bì8P¿w½P?Pcù–®mƧ0îàïß7¾úLZ!a§0’¦í ?ÜÛ当îM—ÌuŸ“_¹²çßü‘‘ÿ­à©äC°–¼Ë¤bÞXŒÅ¾ðDó??o˜3ÊU¬¯¥ÞÈ ™8 %Íe'ì'Ð ÞÔZ f>ÂDŠð¹W°)ÉVAõÛîë¢ ‡AúºòS{‰ îÿ¦—衉c°hœbòP)èmsŸÉÌá 3G-¿¨‰•ªñAú0hÔ* ¬AÇ‘íˆK%uçX×qðV`McŒd®…@VÂŽÍê8hàMㆣQ?~Êš6ñ…N’pÝøU¦N¤…#É)ÐZ!éù~ÅÅjLÄÅ(æ[<Ñè»ãïª>¤®ö‚ä yý´)31ÐU>Dpzµâí | d‰ÿãdó¸9ß …eˆ%úhU®± sÉ×rUõ+½/:œÿcáC«N¾ 9rQ— ®gà•Fí>LjLéWôþ:‹3“BãbN¹ñqÊZ-Î-¡úŽû{U§ÅE>Óæ‘ø/®ÂÁS{~˜ŽÕä4 Ÿžtîh%ê°£ö| ~šæ¹ÄÒ…fQ´C%|)d±,W‘PoXSÇH5áMjê"ë¤ÓBÙ…÷ž=8@Äœmy«6„—@µ‹<5ºŽ‹<’4×;]‘h™Ò#Bpžô5‚å¨÷„ÏÍ´·‘;ïRà¿8¾ž¼aj¾Ì¬ÿRòò:mh”‘(«Åù _W Y|úÆA”o™,™¨u9[’pSo¨'æsIJ„“G‹ JN›î–zÒq·}Ü>Ka+ÆÂéÙál!FD™øÐ•äNþ²Õ:EËß®Pó1 T=.™)Ê„_ÁZŸD ø ìÙ £VøTÚ‘{²àåŠ-¢=©}·+ûrë¿–¯àÜ=£³­öÆy„¶þÛÞ\V§ü– Ãt¿&¶ZW¶ |±ÅýMx-w_/=j²1ªZœjçå"a¢èÖ›(öjÓUl5.Ž0?¡/‚Ä×±åx°™ÐNúÑŸRÞj¬Öב©+}h¯\³~Lí%¢I¶mè1Ey&â¼Á\ª³ø>iPÍu°ñŽËkJÚj.\š íÝ•gtUñL>° ©iè|þ¡P¥d 1Ù×·Úê/u©²nì}÷&nõÙ­Åa"U=†È¥öýР$/R¢OãÐ]%ËÅ"PäÌ?æŸæÇ½ÒÛ[ã;Æy„·ïâå“M±(Ó¿ÕXÝGòb«»¹O p´ØcË1"±Ï†yÁD"X×]ƒ2ݨšöéßðI©ZÅô•꬚ä6L›E•~,&f£¼>WÓ1CÚ­—ÕL5‡çÙ™w+¤ØOiBýÌ „‹öVwë{¦N5z L!'÷¤™ö¦¥­-» [cxHàŒ=Ô¡˜í®ÑmÒ¥æÄ[Ìû<Ûv=˜ìׯ ?Z˜É8 òe—¡X?‚CбÝ|^ãgà‹%Þ`gë//ÈW•+Üf…•h( |XÍqÑ’ƒS{®dhR9âà úJÜÞ4ͧg8Šè ;>'ýSÞûç_@Å,EZJ´(õGïÇWVqxK„Ѥ— hn£Kô•œB+„?°3å»ÅÂÅû8àù\<‹/ÒÑ bŠ×³{ÿŽ““-.[µÙ\Ï·¯BmGÓî_ ¦æl˜”ý+·° ¼G<öö·!Ûg:Èc“0$†? KÉqo&’8VPë_ꔦ% &Ø)ËNËÎ!L9FnÁ„&V­#𽋦ÒÔ¥åÙÂ,îWqZIØWâOXŽà"âîD¤Þ°êˆï]ÀûÕ3 R‰mw»7ŤºôA„”4Ê#ÇajûF\x¨WêçBœ©¡Ð2ï7f½OMñÖmòÀŸÓŸÒÖ[‡?Î×ø_šË£>ú|&!Ÿ$Å^§Ã@Ù¥àßßhvdïs;»]o½ÊÑÍûFíT“ƒÊ‘$?ò]Œ{wâMD㣽DŒ<€¢*_W‘Pþ×Tv:z›¢^RŒ&>­!TÃá€< sJçÆk¡¯Ä¤àBŽÿ<€M?Åÿ*}]°S®dn‡ «‰¿ ÀjÂf{—¥/{J›ƒåfâYo3€`4l-ièY),̿曤V¸mUÓ¾q½‡±¢Õ¥7䨩׷AUpX×#•+íÈH¤к¯è5wîKï‘ê™4„†»½DôܘnƆžÈâ•\ù(þ±EhŽ®n¥¦¶öJÔœ„Œ4{Lùû¯Ài_F¿€ž®ï›OÈKd!±Ð•Š;c…ŸÅ ÛÄ‹‰ ÓŒ!,”hF“Ø1‘SØåN\çšÊ£ø‡s"$y£3w`à¤1B|Ùò6ÆÌPä#evË,½Ö+/ûæ«Y.þ¼~úy£ìj ÆÖŠŠ¼­÷»…ë`¯Ë-ýÃÿóÊÞ(ÇîH±f‘å=¼yÖÙL¾M¡6/StåΖ¬"^?*ÿMqë÷GH ˆyB{f–äÁìõôq›^Y±iÛX»{#Üè pÞ•3$¤”S% îÀ<³#a° utÔ‘ZøUQ©¤r¾Mùýèi©nrˆÓsìDvõí/ÂzOÙ`G+ @œÜŒ¸±T¼U†’à0ç¤TL– éð¸R´I=Þ !ïtBP/z„YÌÅ/à¶ÐFbÚf}Ïc«¿hJÏ–¤­_MÉ/JG¹ÉZ“”ëÕpôVXPc­ˆh3┊1½!x)÷ CáN¼ý±á•uÿ¾‰­qHýr¤‚dÝ?®'ܱDËrˆè¨hê_c:+îî¸î¤l٨憷L_âJ«·´9œƒOñÖ3c¦ ןE6T˜Œ“ó”qTæ?K. ˯}Œƒ8ušs ÂlEN_™Í×Ï;ày8ŸC¸c*mò¿<€ò JY~´,åþGN äãËô`öOâó¬Èài·kŒôQ-ñÌM`Èuï´f_Ò‡\«KJÚÙ#iІÈö»™yâk\×|Ád?n}2jô°Ìä>Bý9hvëž­ß;2äô”%Ói}‘TF––½¬,â¬L®Ë²Ø¿%¬X¥) 3£LbiîXw9$ôa×rƱFÙîûÃùó!Væ2qðË ×+ì²”ïÌ(ÛÒ6‰/ÓSYGj½¨m±ëì¬âwš³ÉV)V—ÎT'†ÒŒðêaú_FzÈ¡³VN½ˆ Ê1rÖ)ŒÐ,œ¶àçÞÌ`¾= C¡…V™G·“ÀÝ»¯ý?›¼÷‹ûttÐ9”û%Š<Èò†Eôɾ`paM¶b¿¹Ë'EüŒÚk¿6.CM_1Ý~Ƈÿd¨E“Ô³”‹V9.£¡Zú€àu>l£RêÒñ 7¶Bõ§ÄH–ãlÂée®Ï5Õkzo;¿1Ï î¸ÿ·ç—ÞŽûÞÍÆi—*ÝULÐ1 ùHFÅXˆ­ åjòõ¸îöý¦çOÏο`$$±½±†î•(o—:änþAD~=;ýr4 ìû2s›ä“~Z¸t±ŽÈ׋Éû¢N%R6ÏÇßfRröì——.ÉeU‡‰ôMCFý4 ·Îw}0±ëóOÏhR°n“±,â2fè¬9nÇ÷w_®ñÇ(XiñN*3@¶ý_BùÍ 2 T@H7¶©‹ºóIOž ‘nÏçØozè úþWè›5ÕÛ#¨Ô\\»½oT(4dޝ!¬vHœô¶Êݪ‚S£Éœ!û¡g‹7Ó:ùÓ¶FK!xOÑ¿uTôl úÊ*aØf)Êü[ báåÌWQ¨E´À(7ˆbêÐe@ Jº^S‡ ú¦µ[y´<à]ˆZf¿u‹¯¼{ì´ +¦rÖž…Îý¢þ8:‚¡%$Ácˆ¥Ä'ž>­èÑÀlš/”ÃêV ™#Õ9w·Ì׬ÆÞ2±vþ_ƒéU³ž½i¤½€ŠÖkþzÓTÉšô@¿oŠ©,¶ä Œ2áse¤¤óõSͳÎÔ¡ œä*; Þg×éFDËz7#ˆØt»¹˜N ÞAnFdçZ5™—9G›YŠ#$œÊ«ˆ!ÉÕÕ“5¯É39 öµ ÚvùÿõÇ\íwk‘O·Ãc=>lò8\ F«Ñ<ê#íêëÍn ÑLÙ£'ìê‹Ò»Š’G¸D±`Þ–K ÁÓÅ)§NÌŽîâ`IG‡¿‚µÆ/Lpˆ~BæñõñÀŒcoWl•A¹Ý”+ÌQQäá®v…OO¤>ô°Œ§‡}*Û„ó0œßœ#={ö̵´†‚—DUãvo¶‰<–d5Ƈ$Çêµiõô$M«3›=寴¡Ír^2º~Ãʆ+ìíÖj«@š’Ãué îOöù{4q»eë÷‹mÉz§þlÕ¥KŽ·níI©† prT`ìÝb·YŒv£¡÷˜UbÐ@nE%p;!£yÓ9 i`ãÿÁª§˜BÁ® '××*%ш” Ò.G} ˆ÷̽„﫾§,ŒoJF~ú仉1ÝMˆÄZ°"à»–9$4>¦þïô”¢Vóeì7pö"Ê”L„åó;ð¤O¬1q.Á‘¼ÅQêv‡¿Ó˜’^\6ªâßó÷!Û¡žÔ¡jÕþ{9 TjÀWçlœ¦¡Ÿ?¶—pióhÈ2tPx0b§Úýʨ2 E)g0MhvÄ ÞLW Önr6µ&'·Y8Ráâ½£-)þ¤š!6ÛóGó.J‹!·$„ƒ«ƒr •bCªÂ1i½1cñ!¸â(¶¬ð ¤ÜxðPA]ŸI»¹ÉÌq…Œ]­7­êÙæä45Ä 3yªéÓÝ%ÊURŽÈ`¼Ž¶ sVð9åXcg6G÷X²ڳДýãõìÕG‰Ü×j‘éõ3PNz®¢$¬æ¬y<ªrö¡>p`Ïj¢-^³]¹¡|P‚Áãæàù/Ø›£P¹üxÔYlÑWU¢tÃÃѰ˜œ’|®ƒæñ!h—nž†¦Û·”5²*|ñMÖfî‹)œ†ŠéµßsôÖ$}7-¦#™O^öwŠƒ%Jô\ÒÑü\Iâ/ÈýVÂ!5õUùo\ªÈg’À¥ûr÷Ù¤ØT«=K®äy-ž‘D­¦`öoȈXÖ@Àäßh‡#$øzÓ|hÀ¹ü -~ãLmgm|mX±W}tì öªÑô<êí³±û‡š§ã•Z1ÍágAMÓp/jûá›äÿ#x³ëжÝN0)É€ú:PÛA?Ϧ¬¼z0ýT¿¤)l§ÌãùZ®[•ÕÑÀ÷¯37*A &qD2®n‚>+ïÖTKÞ¹“;šw¡Ïí‰NÞ¹N lb‰¸RÔî× ó´3²˜xŠÈÿå'9 li‰ŽÑÚ½]-MÙKžI!nÌ 6©ÔÕ7™`JI{(¬µe Éª×"´”b߃íî*xHâÿkU-‡g¦¬yá:È”xè Râ…ø¡ ;A[³žè‘2M«¡zÏš‹O.PQë"2Ï*õçÿRñ}IR¨JïR9ógSt§U|\OŠ5ˆ[q„€nl­º§6 ¹pÀiƒÏ*ÀÙÊ *†ÒÏ{Ó'Æ’xX³ZxÊÐR²äÉÒ/$£Ë†ØÿçëŸD1:uʳÀàiÅ-¶p à û"½ŠÚ¼cß*Æ9}^L·± EU¦÷ï>ðKËcÈúÈQ<¦¼/eÿKî¦_çÀ¡ÓöÛúXܧއÔ(/îJP¬Ó£póEÇ„X>@Q@ÖF£,0Zi_2A‡<ÓïàJÙ-V8²bøµý”2¼Íó§ëÐtéÉâ:ŽŽÍÔ _rÍ”Tˆ¥ ÊÉBFŽ“Ë\\ؘõì“Þ…ÆÒx“Âe®ÙQ²~;z·â†p×¼œöLôh=mûzzêÂàÝÝ8n0'¢©ôohðüñÍý]Ôtµ†3é(€—ó~¬o¬.F¾že꽎·1ÐFòÝH5üÝ|ùcZs\áe¿´\N#.C1Ñ…ÀXv¥?¨ØoÀÅè[\ '¸˜Ö윪eý対ý7KÉà(Û•=' @+^Yr#é“÷gÀ¼Æ¤Jò„½O9™Ù¯F|r°5T׎Ýô·;¥TÑ ¾s°ë!`aafm”Ö¨U$™uÞêziE?ݱmË[ý“i"íDò4¥k“ì=z‰u•eþQà‰ˆó Yˆz_ÓÞÙn<@‰b *ßà4 I a=*ÂGkÌþàÄòlÂîe'S}hQVDÁÎTýVI øö T°FÞâ‡ê’p|•ãuЬ©1;»Ó$Ö¾îH†åT(WŒ²›ëÀ*ÿ;¿Kàƒ"ŸºFÑ'+äE¾ŽïšyyrcÌ9ÙÁ}¼ÜCt§Ö«m_âªlm¯Ò¦«º'ˆ@ÂMõ€—µ ü³Vzh=¯p°¡Ã%´ùbÊÝe}þ,êÌð–®…¢Ý“òH²|Yhè%kÌ‚&Vâú;”÷hLŒ6/¤ ß§°˜;ã„ßò^“ý+ñi]>¤u{µÝú »#ðHÜM»ZÔkÏSó™Ã]·ƒ*ë[Ü­ •¦ÇÐx‡†8U´ZÃùÙãÒ½WÐ¥—?MCK@Ußbj¼¡"}{¸PJÓC²Ÿ¤1‹:RÔåL »ø ·½5Ж°Q=|6ËvÛÀ[g?°m,ÍÒ©ƒZ `"aKƒŒàT¢X†ÛC$4ÑfïãhŒj„LŽ[56b\ÐÞ»LIC½?Ó±†Ž¯ÔA‚ns©®¦D¤‚ðÉêÈ$çó—RÑY"g"@ºè¯ c†ò¸´®ê*æàƒ<ªÍ–°UÇâ²Å}ý†ÈçáŒÓ‰3¥Í®O1é¨ZÉØ‚ ›•L2ï6$kkG=™4UsÖÉCB9áÜI2Ìø‹­y¸TM¥£Œ½€§+{­ñ~ýÊâ¡t#Cð>‚˜¬,ǸÌE:"Xu¡­ÌS 5ø‰KÃ=gS½¾Ï‚N|F”Òœ§-‹_Jø³sÀ+4íñ;&(¤Í/Š.¢¤®¯õËñr5L÷_ÓR¦Ü÷ S„DdÄ뚈¡ q.«¹ÊÂV:ǼéúyãqÒȉT‘>ýgdó  Ke¢bu\I±Æó¸ðïØh¨Ežü»&Çr‹š‹ŸgaDÜÞ1Ò¾Z€÷7Ê1D»4`™êÓZŽ’Ÿ­¤…C¢¡ª@Ð9pT3ÁS„U-Áa´?óFÿ»á?hÖ•w^hÛW›}ØÈi‘ÕÝ0¸ä!Ý5ž¨f/˜=,ä:’¹ Ý´Ž,¼çV¢Ï¦»žÆô!ˆ}S'#Ö¬fìÙS ÔkK†öà’$“[:nµ‘aª«·ÝwHçw,ÿ?á5¾•EZž±Œœœ†VEjŸÀCõõ›u9íp-Sq§&”2ÔŽ¬‹« ;Nä^×þô[™´å;¦>æ #RçÑl@ïÕ =UXþ îзÅÃzwä«3! lˆƒÇ¡yÊ;Ô÷ñZ±oÍé™úIö«ŽäŽ'TþØ—&ÃÝõñÂ*BäHm1O,¸ïœ¾ÉÖ-‰ž!çÂM<Î@À£¼È_~i4Ý%8ù«´q+¿Øsh­±p_­‹ßJNŒ2Öá!¥ˆuÀ ™G¥ÉêÎtè·B#ë !e¯— ºH nZ´àdc5ÇÒÒÕÈ¥'«›çöÆxW¹üˆèÏAd|“µ]¤šÆý-¤H^Y7¢À.Ï’ef}{b»ÅØÜT•hèÛLÁPVjRÜGx/^xzîb>R!Óª Áðœ¤JûØ­†ay§ÕJÚ}4©¸ÊÜŠ£+û/³[ém½@—Oõ'Ñ”·i!=tÊÌR°_r»×޶aÝCZw¸×¶ßƒÓÂë€ÓHÖÚLî9VŽ¥žÌàÙXRÿôºw*ërÕj²Ñ΢M¼¯“ù&ý²6AÂSå,Ñ¢kjÇ*ržÀ·pÔS4“’q\]t9¢ ÃröÊ™¾_/¸»¿©k#D#Ò==w™'1l‰³WÆÓ§^D>,ÿC¬š!4<Ë|"ÆByÖ‘Œj:%(Âʬd扈‚ꌕ3xØ–‰‡JÿÖ‰r$@ T×´Þ5,\ÕœLªwJ¥iz‡ƒ½<Ô¯ÇJMÌ[ø£»³°ËP$¬XèÖ?1£¬iåÜÙži¶™FÀnqÜÊ^ I 4Æ#i5Á™áÒÐÎïÃßüh˜XºHØXgŒ!õÅøÆ3J슆ÐÅyCú8üÔ ²#‰©ùRY¸»ÿȬ 43µAÁE?Âuÿºiï]ÃÀÅEk¸îŸZ}ãç&U6a nYîòsÿ®a( ¿)k#BCNŸc8îže‘´ÉÀlu¬Ôƒ_x@L0ˆþVÙÉ wr‡Q•øWbS#yÛ4p–X+|ÝÀ4DÕ ªù3ˆ*M?‡ªñª‚ìÇH/{ºökØr¤-BgDbìñÊjÖ_¿ZH²Xgƒ„ŸÞG€ Õ{žF«,S¾“çVTÞSý¡Ö,x´¯¶¥xW9“£Mç`â}wTz—*m&óÛni40d7ªÜ; °üê¸5E…½y6ìsŸ”»Ã·Ðoã²‰È !¢W¡X‡8ä­EyóºZ©Ó)C‘qm Ó§+LЊ!rÐReYÖ@qyÙ§¦ˆu¨|×ä@U5)÷;«hRëN™Èëdó7d-hPò¤óüæÊé.G"Jd`ËÍ@Ç4 †‚% x­¸ irÎèMâ Ì€I‹ä·-Up³n´™£¸ˆõ;ÏfõúH\zåšðjdÕýJø5áÜ¢“n~•+ô¡þ“ÔX5æÞC)°È\?˜a†·® Ò»?#¥É“O ’Iùö±9(Âk&‚¥‘%²{ðxðò\¤\öl4„ø›Èö]¢eÞuPÙør!ŠÏ/„©}#Å›BË©ØÒøÅû.Ô žmÄ ®îùÙÃQx¤»XÉî×<ú'wÙÆY<˜„¦C>#I»5]òEÊüÏÔ?ndh~ÁÜš¯@î‚é7”£àÝW³UÿÛZŸ£lqðƒº‡Þ^J)è¬ÎIo=I¸ñuÁêê¤ø[ñÝ0'Å‹ì*îÉü‰Oæ[7}üA}¨ ŸZ5i!%d“@¦[ª@¬D‹ç@=$3ºÆCuÕø{ Ý©}Sþl·Œ/N/îE½75 oO,¼ù¬ éÉöÔHù˜»YxnîoJjB@L$8Ò˜À* m uw¯rkµ;)(Yøº_§[dz“³Ý2Òø_{$?rš ¼;³°þ|mY''üó,/D‰SðvSØkTßÂxOJp¤¯Ýª ö[“)« ÈxІ¬ê -Ò.–?ÖeÃõu˜¹ÆÈ6èöNØÚi@÷>=’SËŸ²!nÅïX¡ÎeQŽz7\4­ÉGÃè%ÿùßa¡ˆ6ö\öº„ôX²ÓuÒ@_ëkq篅åÎ ¤EüBŽçï›QÂ-GMÎÁT†{ÀË2}#)´‹È1MU’RùŒîã=„öçÔâ»ù•‘oóMF>áìyÅl: Œ1A Y¨ »ö{ æCâ¯ý³¬$* óá#Xh_ºý÷8štÅz‰"ï³;œAŽø§õG{xîŸgÁvF;]ñÞÜ%küÎ`±(f>^¢Ø­2‡¾ïH©oÒ_ùÆS¸ýüÏ4hÖ3Sy¨¹ö¦®{6—ª÷ð…eLÒ'¿\]èÌÃêæ‰fÑÐ'ü&ƒ/~3ÿ×ýÊ\@¢?jj1Sû‡ÙžÉÜ WNl`Èu aA÷ rŠâºÕ6ìÿþA!ôqyè¿ã¼¾=Û›.²üF h­xp‡"(cV]l{i¹kò]™Ù•bÔA¸Ž…¹‘øfa„ÏAè›Æ¦Yƒ¦t«8 KÖJ麪¡ ÕËiºT¼C)ç9pK/;i>É*6¢Ð%3y>ÖND_áÕÁ+Ý­ãõzþ}à`x„»pç9„j¾Ù>7&–…ÒãØØéÄԀ̩˜ÞN¿c<Ö0ÃÍXÐ}žU~]àR9t£íÞ¢še.Âv#×õÌtuî7ùzvöBØÜ¤È3å}ñzx»wÎ1ê/Á ?—Ù‘Ÿš_ÀL𔓠6êXf© €R‚‚á0kHb› ËNRÌíCZ IK=Ž»6^EÇ D¬ìŠÜK}Õë¹÷ùSùvÁ‰fS6€¨ò¹4>p‘ák5œðÍ_@÷4„ïøòÓP¯”W'Ü/µ<*‰ƒÛ®>sI(µIÁú·ë M€NuOAógõÜ}ÆkÈ.ól —Œt½Ï1ö!ÃBãë.îáed¹^ôqßÐTºmEÝ4²Hm„ùè’Y žB3PF˺KQí™L½l½è…¡xØvùõRüû“êë>~‡) u¬ü’·õÃäÉýõJ?'ýiÊgÅ iF¥R€ÆÞå¼­Àw½µ´™¯Ò§Ãj¥;w#À- "ï#.³„?ý[,< ŒÑhocËÑwë—™Ždùs4ºõÀwàÚˆ¬ª+»0_þ—Õʯ „ï,?¾z)a("Âüè ÌsÙlYYȰ§@ ô–Îèn_O’ÜÅf ÆWvn¨Ç¬©’Ç9­OŽõ¹jÅÓöÏŸªF}Z8,¯T;Ö4•§¸»©z¿O/ž¬H2´/±qˆðì¬w€¿K€÷ E¯Ò½Aªþ»”ug d{·«Óð•»D:–?O£Â¶Tl —½@lã¶ d“Pn¸ªùb6Âí2¨Ò´ÿ¸[óòAXæ‹—b¯”M€-ºdpŸˆÔ Çùßé ÷%_¨e'MJŠTušÎ=ü¹¾€±Ä7~qúK(p4׳hcT8iLߨ¬ ^T?&¢v›cIÙmÃÆ]š8Å9ìÆ|ˆKckG×\ÛBY]5d•O>ì/üh ‡#º¾¤§¾Q¶ò€¿DÖ.OCè ¾­šLjðµ f,Ï02R‘‰¤€»Z¶ÿ^•„2gm®`ÊÙ£\´TX­w ±˜Wž5ÈÔ¨_ ‰rììþ„zH”wön0-WÕ®ê*×Í]m&é×ï ƒ·Pt¿«BK¹ýŽºÀKëß¹ð?Só¡ü>ñÿäøŸÔX5¦ÇP¡ŸÙ˜ó‘NYª¤˜aê*Mo ~- 'àìn¦ÀÝ[2BÿúÏs`P6†È•˜&õ¸øLlòm%b=û]äAÄTc•ßýƒ.{¯-ꊺ!,­ßš£ŸÐŸêæõë“MðôVäFš¬žS¿¢;²õÁ¥ŸjL'+­ÿ©—óÙ"=æCdk§Ô Ä%ý QÁð=Æ7GÔƒ‡âï‘u–¾]‰¶ ±SŸ»ô5äš„SiƒÀúY¸H"]dóX$”B”Ã%r1OÏÍœe {î™Ád£ÝÁ°ò#eA7v'«s´]QÇ:eCF Ñ}:í¹˜olÅ6™¬"b(¶Š‹U1”)%Wí[8?Ù…¹æ?Ú¸;–©Èц÷sƒOÊ#v·,‹]9MÄþçZèoZªn5˜Ç*ý#_1Jì­ÝµN˜aY_ h­™#¸U"yºî‰dY:Г%Ê¿µž ºf>ùF:âͬIúêȹ2ÇJ€èN‡âsPëA9×X©ŠAÚbÀ•Űý`u88qXóü¾ÞE]+ÍÈoÞbç@"}ó[5áeÅbñEÝe†WKCX8±øu£–‘Ô‘¨TIì߇w“¤ %)6V‹y×¤ÇÆ®fñÞâé.‡Ã!0€þwß°Cˆ~WñŽ+Ð+6:Ã|ón7俱¢s-Fr|†v¹máÏ6§ž¶=:íÕ-K”uAY¿'ð†Ó#oE=\ ׸탦wüÇ®zJbˆ[!+¢¯BÊŽÀà?£¯ª À 0Ë~àª2ç`ó¢"W~·…¾œOÞ¾…/BÛ¨L]A¿Y´ö Äò¯f£~®.z{2½ÝÞZÝKåöà!,D2è7t¡÷åAøŸH—–ØhÖw1o]5)‰k4K"ۈĕ÷>oJßtìA×`P«B¬®á\~K,_ÓaVËúÕßó¹@™¤—ÃöÌWŸj%AŠºÎÛªÀw?gža~Ï™$õæ+g2£DÿÇÃ`b÷¼ÆœEµª$ á :9êr¦ÝÁd¾3j€Œn>„IN3ʸ:Á¤œž·®]´‰¾„&yî‰'ÀAl Z ]Va§‡cãPZÏwnyTxÒ£ôÓîâÙ4ÓXþ2ù¥Õo¸([ô&ãþ;«šjrOrÀÖýÎ ÙŽÏtrý'X»bww7¬?æS^¦ÙÁ |¸~µ¨Œ?ÝVÓÙ"0ã€ùþ5)§•&Z§&òA?˜IÞn'·h±L#OK#×JšrÓ„ä÷Ç¢dœ;´aK£^ï³ê¸:¹÷¥W±ÔT¾V×=;Ö\…5ŽŒN€87½«ê P2ÃF…žQÀä*Êgf¦"»h‘þý Mås·ÑiÞVÊË\Tsë¿ù¼#ðÈ‘f»(­84_/ÑéÇÓ·ÿ¦åÄËÕ²[ÃKuh-¨õø²ÎÔt¬tŽœ-ÊJÉ<»ldOK/EAâߪ’jËüèò±·3§X?œÿ¢A¾ñ£Ày-&8¾Ë“öˆ¥1¦Íádñ²°¼½ˆ5éëÇ'_D‰|ï(¯NZÂÝäK#UÑ”C©îÈïIñ¸\§÷Ç´bѤTnøH»•ªG\¦ŒŠ÷‘‹ØèìhTU<á|ª‘-C(ßS"ïõÑÙ9vU.’ q¡¾b©Ü€]y½è8Íø6D®N"b•<—ž#‚>TÊž,®â Ai=ˆúD¨[埚A†ý3ºZ†Yg±Ëö¤ÕRÁ‡œµv?&…$ ÈŽñ‹¹ì_i»$¢ñû³§œš†Æ\IïÒwïD‚–ˆó üì ÔDo ë·ò4 pSóøE¸+æ£ËàÍ9¶ŸNÖŒ§„UPUïúŠOpªdL‘rGûEã).{&O}y«ü™‚Ðâžå ísèe|™n çñ'sÑ@‹ /Í$æÚMâ‹ô<ãÍ^×ð‰$7 –Q„Œ3!ûUÁèæË ¼žbs['»q­·hkm<ï{ÍRÊþÐ,ötD‘ù­u†+$Ô‡Èßù~ÝcP\:OÁ>}66EŒI|È(ÿPY–×M†”,‚ çSï<Ñóx¦“ÿ÷ßñè¥ ¡ nÇŠÁ@Rüö–ÔáŽç†·I…"—Špí!²ë¸<%¼$û]ePE•¬ƒNNCÓ»j½’ýéÓ`vö57¬Rþæq¤ŽØAº°šg0*$÷õ *cKõ¨+˜ð¼@»‚D5 «ˆxÏž ±ÞŸû“Ç ñ5|]J1ò²8Ivaü5‘¸;‰”79˲ žRr½¦£ø§×òÐ9 "ÑÙ¬‡kÜÌË+ ݰJ¤þí‰IÍâºPï·ò8&¶ñÁ£ÑÃ$»B]·ß=îŽçdI¥'u¹mbË[±æ<¤œ¢ØJÍô±†ÉßÍëÕw,$ö’VõØQê5mQ ëøNzê½ ñÀT¸wÅ8FšQ·^èzÝŸa,‹LöJT@.’Vbº(oy®µTQ­¾æžiURÁ÷lÞ‘_ ½> ¤ú@#l<§NýàÑßÅàk˜÷+xxn¹Å8Ì^~ÒôËr;Cr´‹½ƒ~ðA¿|åMW '«“¤ØY=M!TJÅ”Ã&tj/qý•·t |îQ‰Ü5)}tumaD0f[yl«g¯OpÀAVɵ…œ5é¨É^l±¦µ£¢îõG4qÏ¢$úO<³ëfiúÙ3;à+xšþÂm&IpÈN…¬Éè{i\cÖ3sS–BDÖ©&\±ut¯¼~íöŽ=iQš× Æ>oà±]jW8…ð2o±§F}™b!܇Sf—Å@cQ§?›.ôžl`õ;¨Â–›ßßݾÐñE›¤"öUÆßœE‡0$ÁÓ¾HóäÍúpsÀû"K®6Ȧ*\^R¦WÑ›—›ýÉýýrzÉFÙ•µ=Òíç¹MÆË׊ö…/¹A*2Z³"(U_–=úÊ‚sÀÊ BË—ˆðgFdb¨ÆÐ7U?ž®#/”k|^Ì6'1u(WHuýžâ!ÞÄ,"D?}•Zq¥ctáú*¤/˜`G€¢\]×`¥ÈÊ ˆýÄÉJ- dÏËö¾÷` K6öÿ–ŧÒH¾C¥tûq6v;Ò·>ËxµåÅÑ(©Ð«—œòË?nÏzø¤xÛô¶%à£áY=}Ñdr‚÷[…ºÏÃŒwI.øá¢Š[ˆ5-„aГȴWÚ÷wwŒåSJhÍJzS%+0¥) ;”‘¦WÛ‘¥†eN f‡2‹€¾¤¯<»¤’„b”îÊŸIoÎ!¿¨ sn¸ËŠcäÖOíå™C©É³§Kòúžå»–3CÅÆdzº—³Î_XéšÂ9K¿œ!ç|¿”[¯]¯4± §‹GÎ`ãÝæ26$Ýõ»)>Ö ¥'§#ç¹ËrŒ@Û¤¢JâuHÐä‡ÛûŸüÒ_ïÌ*ëÚUœ²úýk—¾;ec¢Ô­x˜¬TTKg…õNB¨üX ÇXRp縂?Ï—U``ËãÈb,ˆ?¯<à(~€D6ŸÄ埋ۇõX¥æ1k—¬†óÏ囉2«¼yç £ÐAËŸ ¹oÉÂÚ_Ø<Ü^«ïë7&\“ká³ ÜÒá·äcvྒྷïþªò¬®þ ŒÉF›Õwg0{ÂyšB? UÕEžY ïøˆô8.;X^‹¾«Q—æ¹ãÚÏäe É¡ý†Ð=TIljj“®Û(|Ð' pZø”p8ñ_k¾£/´·(É-zÇT/‹ ìÒ¡ÃmëÌL ĤKzA½ŸG瘆klöWS%Pž6@ÉìnJá*§ F’DøûÏ·T!vo\, (Æl84¨‚„Q¡Ezsø°ñ$=™å•Tí‘Ò q:¸È1Åá¬+ˆRkþÞt„¡þY v&RÁ¥t…÷é ð@éDt©h$¯÷泸ö_Œ’Ï ûX{LðAÍÕ&PÓa¢’óÃ+‹ ò‘gZù2/•Ã/AöI†_!®B¦ïÊ5aþ4¹Æ›ɲê™Íºê&;ø3»\4(Ù“!jïƒP¤ðÊ!°-fRg Hÿ¤'Í6!)œæÉÓ»ôSXüäˆ0€tÇ´ôp&âoŒêž–®ó8™}˜µ ¿è9!M¿è’Vú¾Á¸·à-Óô ­¾RÑÿÉzMµŸEñ+EßÜ’²u æ n_·Ú?€ ]‹Û¾Ì™LÈ™)Oð©m -ƒ4ÖGàó®·©àræÍÉ`Hý­'\ép òûÚ²DY憨æðš6‹¡ŽˆhwuÍ$onÌÞ¿ËZg õÿÁÖi!¨Á¡id¢'ä&‘r ‘‚ªÑ(ü d‡ ;üî<ÉéñCoã¿w‰î#åJ ù²~­@áUìÊíýímÑL"F©.KÓ8ùޱ¾ Ÿ½÷ $X“Ë;Š9É9ýÛ̓-çY%ÇrË^Á ~e¯_!f~ðGv§åþh0Âö‘ì^Ÿà—× i¬@šõVò·TJ8-¸ ³>1çã˜D[Ü%ÏUr±ôʰ½ê®|¶«¤û¬°ù&·Žç?w¶Ê xw¢ F†KO©ÊblË“"Z^·/`к-=Zg¾ëüb N”’'sé'÷ÂÐãÓY%ûÆÇ`œO=ïtÑ­?–mÑšÏfß:ž^¼´šÌêI4-?'ùJ»à¥Ü ÚVÔ™=€ìç¦`ô ø,!˜™•ýØ_n?wwe;7_Q.àm»)5í±B.äžšåxàÕ¶‘Á(î$(Ÿ¼F#EEégî!*‘eåe¡××þÃï¬ä¤Ã©å_W®nŠ]ž®älX³Î3¤@ßmþÕõ™.íÊ,"ªß~óA.ï½ )ç`— B§©@½PU*íè‚¢u’/Ñ£µ’n³ÝGa‰þ€BbýG—#±{‚µ¥ˆ¬‡‰¬ˆ2@cÏ1»0ß8æ¿Ä7l©Î Ãã-›HÛÇ&”7MBý“†UÑ^lÑÍiÔ½éw >bó ŽÞŽæhÆCþYç1ž¿Úóúî:g7¤è`èzÆyÓïošjèzÔ–øðj«+‡ÅŸgJ,‡MÇ“Op$\²™õñ?æeç|2Ú@®çýÙrºÖ÷¨üZƒ‚y¸;EÐ6OZƒÔ™¶Õâ]EýG–ÀrÒË,®cë«•¯ýã|:6 '0Z>W'É×òæ§AkS8Qcá(~È™³g6U(߯M]Y8s6¹Èþ/S+Šg_è<ãÐQý„ju(¨ÓâgLªr;n¾¿· kÊ: ^Ðf×Vù²ð}²æMï¥3ØþýŸxÊâ¾OˆÉÖð»0³/†vñð8a˜µ€œâ¸ÍWk³YÏðt+›L²¶"êêüRk{¼Ï-.v¯zÓäq¤ɪ?‰¶ºî+ylD.Œ±úŽÛiAñ·‰×»x»ÞGÈñu—Œk²zãFÓ/ð ·œt2Tú[–Þ~Ôƒ„ú*Šñ^—5¦n»pÍÐoIwÒ<ÊKŒK¢ÐÚȆ‚\9lâ7_BìGŽy¸ñ ÉÇå2ãeÒ“ÄeEHBËÕl8ÅÔ $êŽãxºDâxZçv`ƲãmÂ>ºL·ÖÖ¬©FNˆ»€Ù'Zõ¼[Ƚ-<3^gã½3¿,Eá{½j†çù7£ñ˜&WPq 1´â p™dÏU­ÏÁH3Fñr10N†ºË‡YãJí ¾]ìäí‰|>x#Ñh]Þ#§s”:ba¬Ÿ °=D6Zñ]€~‡QüôÛqÕÅHýÛýÙ¹ZrQiU«"8sÒo@5É©ï¡èLZ£©ÍÎ"©’¢‡äM߸ޱ Ò ½‘ÇhÇHU cápR:2‹ ˆj¤_µ8Ão€*çèZ/ȯ<Üð6e;þÅ®ôÿæèi Y!ÞpówѪdìŽ<ÆPD•cUEÃ1 Ý0KwÙŸ!êEþtuûàD{>¤/äqUà·Oÿlö«búZ™N‡öÔÞ¶ˆ° ’™ýE’¡c~ÂeÁ ‚~ëÂæêŸÜíÄLé‰lë&f·Þ­G0'Y>É çj¿1XŒà®”Âd-Ü ñ*Ž÷úŽŠÏ4bKKÛGUM™0ÿ6ü Ðø`bgÊ©ƒß§t:‰‚6Ïl¿î»¸Ž‘9¢ 1Þt`¶$ûá8õ…‡®,:²]/vtC½;V¢%ìäÿv­þH/•&#^òÛÎ]ñ_$B¬sèŠ`61í5¦û¶µnê«{SœÎêQEø2Óš”PhäA ˆæ[Þçñ€aѧíݦ|ÈX*pºnˆânŒG#ßúk¬î(·C³¶ ;Ÿ«ï£éôŒuý„³•Y3÷îzÚòƧ4Õ?[íQXÉŸ´·80Cþ¬Œ±¹í|r,XìþßLV6HZ²tÐt—‹08 D˜ ZÄï°Ì!ÿ¾SøºŸ¥p&ßÖ±æ_÷R$_JÉÅ̈#qÌ)3›î bsWÓðã<š “2;ÁEætËÝW‡ós®zãr¿|¬\LÂåšýfs¡™P’iG©m÷aÄy“Ä(EÐ ˆ#M-d˜õ> É,îX/ûãÑî._víj¥Ôk}ù»îE&ü±ú6UÅÞ(¸"Ë¢¤Ï§a?õàºÜ määlG?Ï‘rT¢‘ô|,Êу½á-wÿɯUg¥Ý ô®d^1¢ãôër`£‚[¿¦Ä"và &”¨ZšŠfFŸäÀ3ÀŒÜ4÷Õ·Kå¶0­ÿ&.þ´ºââbªÉa˜F¤Ä+,¶³Í¾à6ä«n"àËî]üH}k“œP.îZ†'–³©1í9ªbôÖR¨€xôzœé;>‡ì@ë•ÊDÒ¹1÷àºäæÌwY~ yIÕ9_¤d:NsVE‰%¬l”J"“*¹ˆË ÙÖ«3h¹Âaå ˆžÍï„ ¥VpÂï¾Ü~å ÚOHH[bp©ñ0MuOYaëêʃÈp Ü3Z¬‘_ÔB«DP=—œ?ºP>+Õ~¾3ì`a6VŒû³ÊÓúÖp_4fL©Aî˲F™Ç!ÈÁ…ªJ±],èžéd¿ŸkÉÌ8KS€´ž¦Í¡‚J È2®@à‰«+…?e^—G{R­ÊÍ!ùÜ!؇¼<9ê×ÿ·8-@ ;yćÏ:Ø6êGø|â6À*gÝä©<ÀªÞži†F<u|`RUqe¥$ü²¨óTBîÌÇÒÆYÆ¥ÁU¼S¸\°¯Ù¬sy`zr§Ã»àÛ®.? ­:Œ!Æ ÞF­¸4j†ÐÊ„-›ð ü²8üj4yƒ?ˆPSN‚è8Ô%ÍLM<Ü—B†®zz5Èù™>êåzàpk½–°°aEü'Ý:/)K¿Ê½ã–¾›*8iý2Òpñ¸f¶17e=J‰L 5.ç!P¡.ëòX"âgì/³ØÚªLoDv_Ô}_W“‹0/ºqVŽ¢ ~C¢Ë6 ¿‰º×àÐ%LÇx1ê¡n11¶¼gH Q-.^¶¡¼ÑR¢ñöSÔ½¶mgäCiÀ†Öü Ë*²-’?º¾m‹*+Motþ®•ÛŒ “ºL„yw€wÖ©8HÅáOƒ÷ò™þÕ”ò=ˆÊ2èøþ¡§YGÄ2-LȇÈ^Ô8ëcMøAi>r”%ͲV«2a~µ[VX¹Ñw†ZæÆ‰ïU#V R_`Ó~¢»û€Ûµì(½ˆeŒÜÙÓ)Î"wèÉ~O.ˆÔe~*Ze?ÕÁ†žTô5}䌵ç '›\QÝÅ«öøMzß–ž[í®ÛDeðE¶êœµ²…Þòãr•ã -(Î{á¾Ìá€WU-šNCïýÃïa ß¾=>èr&ÒVËŒ±ðU}˜*+DòÀnŠD6’MÝC/R™Óv~6àƒ0¢vkºün}ïò¢a Öiœè¹ÓoTƒL‡Ÿiçm®•ª¸CͱùÆ)Wߨw&êßÙ{ª‘ξÅÔ™æÄ§5Ü6„>ÐÔ ’—£t¦r=˜ÄðE¤FØôˆÆUë`ÄÓ"¥r$°ÝÁZwû‚'Ò¾1sp`Û”þ® ¥މØç/—R±rRµïïÊe19YW>ü^Osˆª+“úŶ;Gk4ÄÌÀ^ŠgÔ}l;&!kø°_à'pߨ·Å’v·”QA@uvñÝ•ÍìÞ—"Ülb× ‡4žôÀ°análHµ¢y¹`[4Ô[òƒ@[âuÙb¯3Äëœ5Bomä+¿cfàü??N}(Šâ¨`™Ü—B±"ÇXaŽrï Çû#¤²>FCûrÊO¡¶½ƒÁH¡J§7¥ñÇqôõšjc!”OI{w×9¢¶ÁgòžæêI(kÏ µlƒv²‰b`e{3¹x ­Îc¶yi øé6|€g.Æ9e;ƺN½Ó½Àu8­ZS’Tƒ¼´ì†%öÀî$ó%j桎âäc«`EÔbå½¹Uê&f5G×s>B<µ-«HuÏQN»m'eçð‡Ã£â1¾…Û,>jɿ◠cÃÑ‹l‰n¥Þ+ì%°_¦ ‡xD*y\G~Ôœkm įª8„ñ£Ý?°0% \Å™Oã#ô;©:¹õoW¢ ½ïÁ"~øå¤”{¢är‘þTÃ-AcuÝGÇs_€‘Ø+_xÐ’f}r‚€o4ÃL3Jˆîy\í³c^ˆíÓe^kV±†hï!`gï‡jÉeú_©l‚äý Ó¥i`ÛlݘGþ–P^%@N烲 í%^ÓÿÙwl–¾-²¦j±] YahæA[KU,;²ÄE,¥»Ë¦ïåDÛ\šzÙ€Pžu ä¯sþjã × v:ô1Äpò᱉T÷lþäd)Bµ .:åÒ¹ êýX±¸¨˜þôêÍ.RRà/wNzR*ˆ*I èȳ&µÄ0 œ‰ã û¿’3)ñÀû¤CñÕº¤í&¢•\l&Ôù$ˆ„Ï­Ú¹%ü°èœx£¬aÕ©¹¥6ùœgÞ(™.m>õŠ‹Bqøm™}"½¹QpÞ Õ’{_ç œ¹bæ»J¥®ˆš#ÐЄm&)þ5“_EïTià ;8Ú$5Á°75ž›­¬ÖÃäDZ§ýšÒ÷SH9zõ4u®{_Þ¾‡Tu¿x«Díÿü–\Òü¥”Hgg;÷ÆÃºfîKOúušFÂkùܸœ×Sa4/l!ÍÆyË^àÀU‚›úA(’þ> V ´üƸú=,ñ©\S8Ò›§Ü0>“w åmµ]7×%©LÙAê¹;aåôÄÿžßŠu Çz‰ø¼®>‰dY…­óB)™´§–àBt˜¬=HV|ŽhŽ®E°Ù¡¿gÄc|½>1×lS0(RGi« ®ø}éŠñˆk}i¦H² l [¦ñ‚ŽZ]ôÞJr ]ü„×¾n½Ér…•_üÏ^ù=|w¶ÌºáŠ;7P휔g„“ßè­ U¾æD#“¡ÏSÕ­õ‹Œ8Éœ "8µ2¢5˜º)ÍuKâI‰Ý•»Æ XpµEÎÅW}¦s½sŸÿOhçÃÔì尙àGÚØi$€ù Nåz%k‹Íâ­Oö~X'^5C5ô çÓG¯xàGlÛz¬ÏÿäŽ-tôËe\VÓΚø9ïwêÞsž)뽫;Gµ˜¯S5•±{ÛTÊn;O…Lý õhýºÅÌÝjÛŠ= íR¼PGb?vüü˜¡:>gHA•´! %!ÞŽÅ«5q¬igk@Ú01fŒíóì·ÿÍ­ ä–¾çñ ˹K æ”æ›ÖŸmí¾!]Ö™ºPPsæ@¨†M­¼R™ifëv™Æ_ä U9Úú¦Ê¹òʩؾ|ˆÄ’³f#Mè>½¹¤Ò4 îÿ– F•%¯jŒu±Í.ÑÊÙõêÚ©¬q80ôcBc©À•†â™Iö®G:f¶’˜`j+#ˆ‰¨pÔÔƒ1XùeøžÚH ™¨ˆ°¯ÿ‘°»Ÿ°ã?T‹¥õ 2ÏÍÙÞ[žT#6—ÿK+FÌ ÷õ³ØùdÿºØRÁ —ólECA©eE®aÿzdoæœá”'š`6. ê?ø»ýl©}{\¬<¼dp©vPP‡ˆ±„>˜ê0¸ “ňáÚÑAù ¥ŸCÍjÑ7üÙ&ã/Cq$ù1ù Vq8÷5Õ ᓾ¸v`în˜…ë¥òƒ@nÜ´Û0üø¦“odïäÜ Ú[*æ[1ó&…s¶%ȨÄþòi^5f~¹·òÊX€ÔÝ5“uBhg?LoþDžã·%¨˜.#°æŸ;ÖÄzX^ìV‹—ƒðlaÉ;|OÙr¼$ÜÓÊhîù\*D‰þ:À¢u€f¹ªÙÇÇ´p‡©Wþ/‡ÜÏvp‡JWÙ4ßIœÅìùDÓXÐf+ÿé#Ù¢± ·?ßkì‘›Ô1^Š/¬¹$5£ÃäÄSÏ>]v/®ƒ§P‰×&O[&áWÑI¾o¢,ñ u~#Õ…‚,ö©‹fŸ}æ“@pç™ ¬a‰6ÅÜË—{í“_c{Öœ ÒŽ°†™ÿ•ªÁQmàû,:ÝøóÜ·®ï˽ê®Á5wÓ>‚ _=ÊW?o½´¥ )%[àô€ƒ 6R0’FV[³5$ïÖs?aÛMÉ@º–¬L'1õÊ g gôÚ xÍ‘Ęs*Z &·[0$¦÷”ªŠ:(¨þpª¿T»9Ç"E/ŸÕÌ-I½¦ûÃü“í"Âz¦ï&ïv¢o¿Þ.¡ÒЙ¥r2²'Lÿ±Æ`ðå!'F&q (—Tó·'û„øNäÆ%ÑÆ“ÕÀu›vtajãÛ£¿³/çF®ÐÍzá¼›*æXÒùšË°WGºø ¸VM 1óI›åà…ªbPnèëdzôïãw&M^XF¶3¤ '>ï« ¹Ñ‚y„ÊT·ÚƒSÀÊš)ɨÀY‹\¥®y´Òxh7ażÂh;»iªÿû™”…Ë _è_[ײtw.²j ±w¤xÀñ¯=h·á;JŽ­‡š¯Ä§·¢IÅœÁGÖ[ÝvPðý/ê¨Ò0Å«Ì9è·+‘ìÒÌŬ\Ñ'Rä&ªÃf¾~5çšE±{~³ÆŸFax,›©jI”—žÎGM©rDˆw·.Ù2½U?󱕑‹!c½PuÛYˆÉ‚ šËEmŽ¥Áa>ùà 5DòÙÍ#K"èd…,æß#£n±¨”çÓ1§Äû„+{‹µOQŒ³Þ˜L5¬áôÁ‘°ñEK I]B–\É<µÍ=ûm 1néûg6ŒÍ[ŸŒú­ƒ^ö ãô¢Lû|ã[­"×íé¨N›_6Óýt)‡–vç%-X9¡¤RÑÉçóÞ“]‹pܶ@ó/šJîà+¡ˆ_ H‚Üd³Þpø¼W“ŒBåbð×YZŸ–4–Ê,l¯Ã[6¿]'´» ÿð_ß]¼LVÆ úÚe5f~£€-i{nì—ÞÕü±¶Ñ<‚îÚ¥vy«:ÐûâÇ#¿?ת»„+¾Õê ~dj¾÷ä÷à–ó˹$ÿüß¿ÊR÷O'1É×PÍÊp¹–e—]Ç1µ÷¯ÝfôdÉÈ|’¾¼ Dâ¬\TA¤ÂXüòG>cšF?Å\HÇS‚ZO…5‹”äþØ;kn…X”|Hkä#f2Yæ„ 7iûºÝ¯Ð[…–Õ›‘ÝM%†å(\þŠ!HsÀWmΟ¦w£­6ËõB8 ½[òð:‹ØÓÆ LYãÕú*Lp{¢Ýù iÚ#±SPäÌ´#ÞêóPê{UwÁõRºjPâD7=’½&GÇ„ö â%«€aÚÞ²ä«dH£a°YÔë-ªwF.0bøå iÌѧ6!ÆÎÆXwa)%R ž²ÖÌí¶£ù¶Èe¿9§Ò굆Kù{júQSôBÄ ×ÃWÿ§r Q›PyT ´bÄnC†­ô—ø=Wz5/áS`œ§r*éü´êþÅõ»Xl8ÝzôW"ˆäÂÀîûˆÚ±öfÀÁB:N¢£êöú¤6Ÿž±$­\˜ÂO²“Ö Í§îœÿ~³ãs!æðH#+0Mú–o~ð°ãfK‘u‹œ'{îÑLÕÞ÷ÃÖhí=G\Ç0Á¢ækŠ"af$uÁÛ,‘Nce´j ‹¡\ǹ³ª”~á»DS¾†Xö0ºûk¬5Þ°mÇìÓ/ŽåA¸*~¥úuîýî&Ÿc6¢ÿ<ž84dÅ]å.Åž “-Ç>¶ž"#“Kuá”b€ÄH°§£(:ì±,‡52‡lºñ{¶ßŠ^ضŒ<< ˜ü=a²?$~·,ƒÖÚDÕ`Þa̼KæTJ2ÜšÞ6áRd6Û"ï ¡©UÐm›­…dAI‡°zdËd `ß7Ù¥>ˆ½õ^TÜAýN{dD»×ûfª`/ôýå'*]C‚µ'OmÄ“ClNÈ©ãŇéÞNyÑÇ•×iÞÿó0À• I{ëfÞÒ¬&s«(ˆåý![.ËÉÒÞ¤nk²Éu]šÄÒ¡c•ÊÉôüDoýÚLœ\œ¡É¥Ì걕6Nœ,žì±ñŒº\ÊÔ|jÏ6"L$§Ä’Æ«þ±…~ ÉÏÿµ¼ª)í’‰´>á1§½² OjEÎ]±¯{Kªfj¢ipòww¡(_/9ð˜Òê5ko˜­&ÁtιW8×½ñjËEp+%ºg§È¸Wøý’šPM“ —›²>eôa´\K«*íSÍiëJ†ï‘L5zÉ?‚ _|î¯f˜-„gÎÖ¤˜ÎˆÆKsŽöJØP iÄÒ†¡˜¦Á­ªÙͽxôMsvèàcP)=Þóâ¾ Â÷8NåŸN¹Ô×!qH™&ZµE>€Äf0Œ¯&ðz:3·S™J§IUÝZ¼â04zü¼´&j>pFŒ#„·}ú5];`GÅ=+þVÀ*I÷yºD& xûÓÖÑ…¾]Æ 8ŒåZ¨Ð*Åp«:6\7{FÑ8Ž1E$îæv›òiRòÒmÃŒ5k¹=ßÂí—ª«SÌÓÕÆ>c]xÁ¼±Á »ÌV nàG#0Æäºx»-i& #?Ì™]Ÿî-T‡&ÃxôË„žý8íCjÄtçñøÉwNjﲀ öu W+ÛvQæÜÆ^¦¼€²uûÚÃFáþæš`TèðeX–2žô}‘äãq€3 ÑÁŸwv@}r¯d·¢™`)ÜXccñ©¢¸w›“{;´?™Á:¶6¯êôF•Ôú+‡{ß!œ‘z¥xfÁY¤ªp°ôVUÜå|Zÿ‚7ÝlÌô¿ŸÐØî¨¶9†Rkð¡ó‘öØôHµ¶Ú,IVC7•;È,šdsçƒâå5Q·ÂÏ®Ûé• ¤?a¯Q }›Én¾Õ\Bg¯‹ìï¤ì^¡mu7î X:óØf…3r½.W¬“Ù« §lý§+À|é=Àz?„ØRGDy…,fá êÐäk*7¿¨³‡çÞBÜJMˆ”«íÉî %Á¤ö‚’WyAô°k\rèý)BÜLR^#ÀyÃú7Lk&}kDšW g•)#v1bû½n‘ kIð]º¢x/*÷ÝG´æ: y³¦Üo©•m6wÁLØ2: b<>2Ar5 Tœ<–Û(G»;4\d YÂñÒHèrñü,J«!/”G3éi‰3¾ÄÎ-ÂÁNcZLTò³Íø41“Â9Ž¦ÌØŠJ§Áû¸ŽÞ[©“#ݜ؇#bûÞBVô`y½'öm§së…ÕS¦:fþZªêÏTœ^ò©©{ Ñ÷+Ǹ¦Yn.úˆùî·ÿÓ¡bkˆûÊ;|ìÄGëÇß –´ãIÉ—»Éu×Géé n5>Ko¡çAF f+E#Ç9IòÈ®°÷•ÑvødÔD3ïI*T3õawS¶é B¥Us8Ò&LêŸ Á[£êXäd~0d.:¼¥ ›¿©Õ¯ö –‘1ÞðÁÔá8o†6™Ï€:ê:/¬TJ µ%¸ÿæW\ üÈPТgÖùkQzzxðÄôAÒ<‘]€2òfà>þUvMÇ0(wôù8]¸ê"¼Í_ƒÿÅ)˜&ä·¬2šñwa’â[œCøwˆ)«ùÂyè…9 PjNí|82Ö¼z’xàx85ý¡ EÓ`9ç'¾©#@<~Ω'%ö÷P­pøÝ·‡ÈLôêíÓ yh>zêïÕï”6Írœ–|3¬úhø(šÿ ½+ž;“MY—ÈZ¼m¾¯p.9­jb‰¯’.å…ìßq ›øxã¸õœ2íHýhMß± Aö3„8vì3Î;ž·héª2—©ia¿ÜµÀj#2¶ç»<º%H“,1ÀÚá£pDÚ ¬T?3M“O4 ©åùL£ÌËèïÀ¼7þD§ÆfcŸ§Ï_p#£v“Ö¿•å8ºå¢KŽ2ª³"kº ¦ŸYþ*3€¤7ç9+‡«Zñ!¶µöŸ&|Ô>dùjͨŠ]NpQ?r  'UÚúƒ›+ò¡K)Žótmç„«•Á Æ]®×rt¸‡ø¢ø£.ŽðÔ÷M‚sÿÅèXî× ½¨qÎýZƒoñæÈ⬒¥´pðôÎziÓG…6[Wû0œ×ÔßL÷‡gÙ‘tïX0=–ŽÜœ/ã5ž|r—¬þ´hHy›ìi¯š=B^˜wÿ)䀅ie|ÆA«E'ftÁƒyâcbi¥wzUÛgXà: תÄF\ÎæCIê¸A6î–¥v‹e ´ÁÐ5(€ ®¸€;{`~ÜÏ6ƒr"ùr×/Šîis˜¨gˆY®„DÍ%q¼¼hWl€ÀN€ùÑ0=±}òÉ×ç”àœ)óReqû÷rtR¯M®<¸ÏÌ9Ÿ€„¯®m‚¸ÖHŠüV©9#/jNV!fKõ´Ÿ3$˜WS\VÛTM3êP k¯’UÐébßxói!ªKLü´5‘27½Ó¸õØ%¢iâp½ˆÑWÂtç¿4ÛNwÅ®´2™°%lÑÖÝ Ómí¦=I«î¥öÓè›Âl öäŠõ^8ˆ3ã½Ì&t„o p†îí¯‡—Þî+AËn@†²=×±/LH‹ä{ §WEÛ_¶Ý$ÇÙb;] =(c•­$µ*`‹ÁSâøA²OCLAíéü’_â`¥~€pÿ¶Æÿ¨Ø1i‹'bäîÃm¦ €f›INWWçµ6=踡¾ Õ†ýdìJÃ&,(f:BFU¯d§zð[j¨`RG8ðÈy|”.êbš»k,Ii¶1?|Œóä[-åQ ›Ë©mâUn¿ö; ¸ø~à>¢âÄ…Õ©Ë‘®ô< ߃C ;Ñ1ëë³þŠ ³þ„´š-{aÛáÔâRé?þ$\èxòL´ h Èg0ôŒÈ¤fçÐw45þjáßSXé_¢/ªÜ˳ÆÕ#FÅnG!©NæLz€a¼Hƒ™»¯þa¹áςɖ SèìW]ÐéƒØJ«-SKñgT¬û•BäÓoì«r´íIsç`PÈù2P]¦¬yÅH*«˜”`žq½(#²}™rËþ$EC^ÿ#g8Ù‡¯Í3Ò¼&,Lú⼡ò.™íUª8Æ#žýæßTö X1^#[­ ë° ¨7CPZU•?(Fΰ˜i3²ñÀ³zm€N¾\,ºŸ²Ý&ìÆM¥¡¥$ï"J—Ü¡f…\vÏÒZ <Íß½T4ýÆÌO]jÚé›Ÿî Šøs^,Í7Cäº}‡OeÅo.}M׆’ÒÅK©lì‚°sÚx!¾f†v†¬üU!kþY}êÁÎßC¶½P¤3Úãzâër‹¬"Ër9Ú¶D>¥Ö®Y/¥ä Ãåj+H¢ Å•2¿t¯¡M: oÕ]%>[?O´¥ìÉuÏ®1 3ú(òŒ]ì€#t° ·à3¥GʺµZ|å!ÏÓãʤDñ |ž©,i•]aV·_Ѿ=õ¯sO¶L,¦ûƒ@ŸØ®1ã˜9—è5€Ì?7êWÝ[Î;–CÞ‚k­$îí€È€s,H˜S2Û Ï³VôÕŠ;¡B“Âí{ ŸŒÒþ¢$.÷iw^¨ÄŠ6Û,´KÞPnaS¡“þè0µ*–¦ [ú…«9ç°þ_`;Þ?ÞgL cÏÙzC6ÀÃ;8g¤ïx‘*c§Ê½¿8çÃIÿè§}-§Ï¶'¹ØÈ”³X¤êuÕ<$åj›U÷ÀÿáI êâ‘®™P;òkýþ¹Â°cY’Aˆ$ÕFÌ8e¾U.x)ªÆó°x~ =sâž@nÅaõއqEçLé¨ümöÑ/#/ŠPH°v;¸©ÿáÏ`,œ/г™cCæ¬ÝQ·5‹³iMÌ tŠ‘¡ÀU®È>2õ ‹+¸l4;²°\S4§”²:aNêñí1Br¦ Ð’q1ÓÐÈJNÂÕˆmæôë2]þªjNÍ® *û•)"GõÄê2b k’¢Š¼*7Yµð"´©å„D}-o˜9 .>¼«mÒðràEºÌÜ-~‰¹Âڛͪ0+;Ä$°¥T‡+øÏ<>IócÈ]äï¨á 4¹§ vŒ`8aJ±S–¬¬/¡VMVt4÷µÄã:ø;L£ÒgT“ BS¼ª þΰòyç¡)Ð1嚚䈓@&’gÒágã]Öª¡2E¾¾^~‚”8FOgbà Í\¢ Ri;¹.šn÷è£ôJ«3K~Ã6ü)–'3PS´¡;lÀ*¸ÿßW7aÓrNe Cƒ<ý|2 2…eám·ÏþÅÛ‰ÉRh÷ñ/9(ÊQ~³¦’_ï'äqDe‹k±óñ¤§ß½ŽDÙdY4×cq£Þse”<êµ–'U”|;#Û÷;Q€ü­P9Ôz¤Ve×üCu¨•fDOµ}ÈA”ÇY–qnÕ#â¨?S!ÃimâÚUÒya(^Òï·W¢Ø+ȹˆ îža©!Ðå‚ÍdŽððè®Ìç«_Z°ümÿÖèß.Þ±)…Fñ¦Ö+fà¶ß÷VvJ|(Ðm˜BÚ¦\`p¨7{Ŧ¤ ÆÛÅÞ £FhNî²/Ðt`¾£€é|îŽzZRáŸ6ëMîõòw?SèB>žx,úõ+R„™ûña¥/“éÔW^>Œp\ºÐˆÔd‡-™ë<÷©þçe­ê: rvfÛ¤Y\_Ù{±õûÇ‘¶ï´ñV©>"Ï1Æ‹óÔ¯’ñ @ªˆ'–]: —‰´ÿ\  ›ø¢P›´v½WÑô·:2vÐÅÁ&ÈYHéeøM°ÿãHÔØþ)ØÌ'ãTídM¡PQO÷ò ©ã ÷¯@ñcÄÍ ²{eëà§> “¢»ÀG¹S¶Ç`è³É%†ª®“ÆC3ß]"ØØ“"íêcÝMz—šUsRÅMÆÍ:nÒË[bhz¿¸·Q×è[/È«Aðe%øyÜ$ú:ØÀ-̯l UÌÒÉÛèuå£å'Û$¹Ùss?¡÷4j“Œ‘Ô [ ¥|´Ì/ÿ!õ¬Šb ã¼Òù“_¼¢[Ø ºŽÂ“>¶ÍI'ãñ1_dŽJAP„ÍdeD»_c©ø|ÑÓÛcìóAÉ–6h!À³ÙÎÌÁ ð±pfày?2ÿµPŒÊFÆ“‡\°l‰€U@ÃÞ3¼pã—£ÞÅ£ü“¾¶wït0£ýË÷L„¯œX{³”¤•ºÔlÚ'ðÑÙðž0p+‡%®˜¢íË5ö_KbK”ß.YJÔQ@õžPS‡Üx•*š,©?jè9\EgßY™(xJ®úöV”šÚ~ºË]9Îàr+‚ÆåV±„¦Zëá¹ÎDž*k%—þ½áa#.§*í¨•Z%|—áГ¾•)æxJ{·èÿA‡äBOôs"`p½â}v£](.ØÕ5qö\ LjW©0P$7`¥cir«VŠûPº¤ú‰æËÉ[Í~⓲ïa 7Žg–á7ƒáhšTØ•¾Ä4+ÌM¦0ã@”¹Zl‰7±H01ÔË4ßîYØE&‹ìб“j_Ž€ €j•;XU‹ˆÖHã¦5 †+ÄXÙEWÇ‹a[Ñ7þ"ý+[tÓÀ I\2zÀvêØìhD~ur·WßGd¨“tÖfuÑ,§Æ“¢®Âƒ¨’ÒG*þ&o|Q)Br³Kÿ!âŸ$ __ù´I#FsñµÝI–"ÉÒ3˜m1”¥MHRÐáþ?¬”NNH9eý=|๰º:¢¡¾CN°Nß”×—+aðù£ÿ•nÒ&ü¬Ïƒ]öY ,ñ<¸Ú‡é\i!P-¡IIBÚì"£ðƒýŒADs—ÂTDéµ@wšD/›z‘1þÕK“îuóáfyM;„Äña=ŽN›œù´µ¡°Û¼>ÖŸ3‡îÇüî¨#XDp£A•®&9öèú–“!nœu ¶ÚË#ÞŽ};GÔÙ«§‘6¨ObY¯C©yô0 žÕS0M®*C²o(÷žB~Ÿ’÷ä¤OÍŠêdýôÙ¡¹˜*s²fy3¸vpoæ²_H‡‡Û6´ì†:¢eÕášà­W¥ϵ#>Әߕ×r*¨D¿“ š]â"X`¿k¸Z¥¨xS18a*ñÀgõY{±*¯Ü—¨8DˆF9\ŠMU`‹ìÔœ _º? üûB‘>™‰…½õñ@ pcù^½µDz߯·=CÄIm> |Ð-M8ö3ï8Ó£!‰†Ü#ÜTÓEÀX¨þTDžßʦBlâCdþuÊW@ҺŶô8d»o¿o ‡¸ö}ÑL´Tˆ?Ï`.÷TÌ“ÒÓ—™”Ôá@gF»&DÉ®ãAGç!ÀÁk"Ÿ¯gt}¿f8«\aæ=‹H?úQs*Âéw;tI4Åkšw5‡·>œ¬u!šÀ©ÞÏ`½µ«º„møÇ"â­eóVÊšÇØ™Ùkƒ¦äC€–{g¹jÞz´œWú½5³Òb;𽊠Z+36†Æá¢¿CèLj±„j裸U±9„h”ë 4õfüeÊÚ>%ç‰>u¤0%éè0jl…¿œÊCx6àM[ÊÔ¬—¦šÏöÄ}–J n™ôtz"?ˆ¹Zƒ,©4»=ÀRenÞ]—W¾®}ÎlB±µS©åX`hV—µ²ƒÖ²[§¥žŒßÉ[åY”ÉÁNqì€4·ÝR¶E—åy„Å–þº†ž¤™Ã‹á †Êeœ1aiàvy:)óWxLª•iøv½_¸ŸF› jÚãR"ªzW^›áx›4ˆ;E"x ‚>RV£3iÍ.wìô|*ÁDžÅ6HLÆy%m`n¯æ²Ï3`=á€g©V 6@t¥ëï¨ÊƒÇöÓÛôÞV“9æüÖVv=hÞ ¡ù49Û+ƒs ÕAîÂBØèn0íïõbjñžcBJ†SóèÓ¬šTDuHSªÚÖØ7[ÆÈ!”" gøöºÿÞîG„AázÍÏá¬y3?…Ì»HYÔ®GFnÆû‹c„íÁáÖéPâ“籿ÒÀqc³Ó¡uÖl`)ý熹H%?ðol›–ÑØ¶—ñPü˜X4œxÑZf’hqEt•ß/¢û–4ƒ2œ§ˆˆ0ç:­9µYBžoo6ùµÁ?áE’uÉæ|-× K]êÙÊ.%·Ã¨—>£ç`Kv«Ê¿¿mô€Yºƒåup|¹)©É£‚#} ޱ‡½´0‰vFO+ï‘åüˆ[Ý_¢ˆ± 4ÄҎϸ7Ù1vN#à†n|°cG@Ž%Ös†A±‚#íÒA–‚ZØl¾€ÿqqªMúèãVÇy5Ý¡¤FFˆŽÉN)j9»è®tŤC®À\Áö‘¸~;ڤˊã¿8šö_é^Õžƒš(!@CÆŽ¬£2¢½&fþ+‹.÷]3¾çïIœÔÇ6PÂÌÈâOPáp‰Ú”ø6^™þz.´ß{4 ¸c²ù“);—ki›ÕI)ÎË@ŠhÅ[˜Iàm‡.·Ð’HoûÜ(=Š{8pmkü 2•%’¾yµá’Ac+â7P•É6 Ùð4ØÑÅJ-Èsú&sbU ÅlŠíƒMEHøÐÎ Õ¨l6½(¢q'û¤bã1Á’pb¬¥ÑãØ4˜=žuJ¿ÚË~o°ƒ$Ñ5(W Üz­SAK†R®æ´Ä„ H »^³ÛBWô“*Eƒ>Vü‘˜Ú)Á©oÝ–#©Á[(UøöE–eo„ËÆÎSЛäöe©R‡ïƒñv †Ö;¤’.õôep€I$§ÊÒó ù­òá ³ˆ]-Kz<3ò«Uâ‰DósH\Ùš&DØg—Þ"¢L9rT,éêbIå™NZV©Ä³¡ÍÝ•ï3aêõß¹Ð#ragŠâѾ Q>ÕÕô¾W[ï=¸^+°;@–Ý(}{Ùσ²Ð^%P¤¦\B?¡îf`œ»X)2äæ·5(øã¹ªõ˜Ä¸ì†û$$Laž™6$Þe²ÓÝ›¨•Qõ#ÒéwÑå  *65Ÿë`†¦ ì {üß®‰Õuâ$uöa»7*Ыu‘¥Lk‰†ðE½)¹Q-°÷xO©å7ä–š-É]iÔç¹oÖ/öü$mNù¹S²&sšï¨´¬úó~úˆÏ|ÿmµ —ë_y@D$©_3T8™jÁÓM¥y‹:‚fs£¨¸ l’Û7gò$ yÑ­U“6eõ~†Œwg#MÂb¹½úEM‹´ÿTÀ½‚åh2_®öWKöÌP´ó\¥›&çI6¡vêƒÓ‘ÖÆ:\L‡.*‚a2 ú&xKgÕmA¬»8’ãxé †ÆžøÕÏ-Ô]ÒË š°6\áuà1S-2éC<«•ñŠŠ.žôØÝ’ÃIKùCÿUn%úÚ4â¢uñùz Sï£H§õ-|uœ§á;¶&`ùÄìr}ã&^‚–“@MSϺòˆÜüXTä}Ô¦ZZèpW¤‚ù0C"*‡žŠõ‰Où1m¹Zp¿ç3£‚¯×À’®?‚Þ×{m"ãG×Gjß)%ŠwAoª†öÿÒ6ŠÞ5O<*ΤÏ\i}ÅäÖä}ªAÁD âžS`ö**¢œ>Åþ²*;‘}êïÿ¿M²‹ÞÛJ˵ Ù‹#Ò î¨DCo=H5røØ‚ñC,Á÷D5/|røœãEd~.Ô›n!è€OŸó. ¯rÚÂʤ¿œ–LÖü"ËŽØ~ŒAÈq§/,·:ççü Ä·büÉCó‹ 7DŒÕ‹¿íË9Ÿæ²xèl}Èté$¦áú©<» ’›è'só%â¢;ú[ ³³Gû'FE(QFž–iÔC—?%LО VegfOÂ…ánÌj¶†ÅhæàM kh(úl”¥ËÒUˆ¯”@Nª?M°Ñ L¥¸TR*:kŠ’Þ½AR (BB ®¶×ÐYÉbÃ5}¢_ðH™Ö´jü¼€åñ¸#Ò7Ú¡kŸ÷4´K눮B+jlöaÊï+Êņ~˜õÒÂ'T@J:ô[1¦ˆ B½ƒ…Ú ¨¿@5õòÏ1–Ð08°Ö˜ú¼Î¦(Ö ƒ"Òt/×”>®åMðCöÞ„A£CM 'yº 9HT’¨òÁDTý\™v° á*]?¦‘ÓZÙYуÖË6÷.´ÏX+Ô :„0bÏ:Sb”m*ú*{!3 8¡à]k=2Hm×ó’ö{äƒÜ$<~¯Õk3ˆøv6HÅ%"$|:G4ž/RnU¬>Ùö›Ð*br|ö_±k`tÑ)çœî"ÔH’`§QñY^(Š; ×0ÄWwÒ€Á騷›BÍç(‡ÿ¢ðtøi ä}eD>;÷HMiÀ{3©~ô“ﵨD!«ô2½l¨ƒ‡ÉàÑ’.T”ŠôZAàñé@?Vàþ„‘Ö…ÆÑ/Šà$‘aßã9éù:vœ²~ÞõÇŽ"Eûz«¤'²Õf îü#GЉkÜïÇ-i•1BÃqSy gˆí[Eygΰåôuš¿z²]%»c³Ú%–êèãÛ¯|: 5)Rñƒ]f­‰´6T¿ñçV§]=TlÔ‘±K wþë±oÂ%2Mìɯ&a}a|Š4ÝúHp.„,Y›#hâ¶£T|éù9/b8ù @`ú]7‘×Û«biàó)1dÆ\;‰ÿ„v0WxŠÄ~§íþi^ÛŒÄ =¿õ†>«Ee®#{ GBÒ?Ù~ûhTûBbôº ÓÔ×<ûb„Æ:Ìk/†îÒڱʱ~¹u™*b-¯!ůž±âR-Î ø}ž ‚{´~€ áê5õÛ×@i­¹Õ€ÕU—¹©(ˆTgŒÿàÄm³ˆfd½4–4pÕ¹²ñˆ4iÝK8G¡kôÕÂê{¥´bûדÔnn³ùžÄ^¬r^éŒÛo & êoòi“æ¬{Ä6!­¡(³Mƒœ¤Š` øwyç:ì4¼ë›x“èønr¤¥qåÉóéð…Ïû™‚ßüåow½å.²ñ¿²ÕÖÎZWCü>X¿J#Qâù•j­d¸¿{ýÖ<&cܘ€†':*°/ˆeÊV…ˬàõÏäÍq"pZo¨õhîÜиÓn>žÐ•8Š¡¾|‡ÎjÇŒÀ ö+zéü` :º)Pè‡÷gRå>¿1\4.h«ž[á¡Æ¨¾0˷܉–3/’m•¨¿¢ õ5Œû¾Ýñ³÷à’ïé ¡ËTÁšÀS€Œu¤pq}Ã<Ä~1@Sa@éÓuÑ©_jTšˆbGŠfbåÏÞ<9í´ñG‰°ÉslãJkÚ÷'õi™T”Ý`ƒÄ—4uùJ}p)8"ì£ñ¼@Àart¤ƒî§zy9V÷²p³=¼dx [ŠÝN|¶š¶é׸팾ÝÎfnB%l#’˜ˆXÆT“Eü‘Í¢²J¥X0TR‚‚%â“e¯ì!¾Wl¯­Ö¢É`9µþ#伿l\Îì{Õ€ë¬è(Ôþ +ku)»š|¯[Ô«§¢Þõ5»tq]š]·LÐí—Ðn8ʸtâ)Dp:’óSk¾tŠúX;ã1BA5Ý ¥ôâ„T}çÐõws?è¸[ *â.Dàø¤c ‚ÿ/{ìU9 Šnör€> Îãè›Ø ó+¯¯ ½ó¡¦¥µ¼G!ÿÕ¤2_cKJ¿áÍ£¥•εØØ±"'ù‡–Cךa€Ÿ«­åÀùê/×0”if‡Ve£AÙñý6X– \Æìq€r"Šûq曦ÁŠšà¹17ãuNÞ! jµºÝLÜÔñÅ \Ö±Žd½$]«>~Щ».w‡S{ï/#t®J%MüÀ41`¹ìZ ¼ÿ1¤~:›„õ­‡–MeÞž$ìÃÀÛIv8ûí Ê#ѽ[Ò‘‚Q®¢¨×R>÷ž`¯ÐAáþ½b,Ü\Î)Ï·;b ‹–µÛg¦I$zùig÷ÊZH8õîî&PìËÔB7Ó$å,ÒÛ8x:°.îs`ÈÞÿ¯W O¡yzßGC —XŸ‡ÔðŸÊÚEf"E"ÆIàj[=›Ø»­ÿ œÈ9y€Á§£[f\:ÍQ³u̧ý¦Œ2Dp)˜¾(ív3òH|é#Yzä ”Ìú,tÍâ;îSe‹ÖU´ŠÅ›’kg]‰€ºÄ~:KÒc³=g"·÷n>€:^è`gôYZ€Ìí³ÿŸ}+4÷Ã~]ÇA±Õ*ÃE0Ô»tý`Iæ áÉs°ý.¦2úÔ vQÅ0cOµ ¼Å`½}©‰œ ,jÕ[ëaž`Ò0ÁÀkŽ›wù¦5A™pD$…šgœ þõ,G§Ä,\áøáuÛÿ§m?Èè÷ö÷%ÞAæ>mRŠú`Ã>ÿ°…¦H?.Æ9Í`ïÏFÊK]éÕže`!/ ·ÂÍ4Èf1æ!ReûZ>tÉC¤Úì ¶UÄb‰ÉOÉÿÆ…ŸÜÌâx¢ZW»¼„YÙ†eJ[CÙÝZM†bn,„¶ÞÓ¥ß|äºöœ¢@¹¹°BóD› ‘Än8HÊ,ÓþÎmž%°dÖ®‰­DÊÛ§JÓXh/ÊÿŽš,軉S\'}r„âð>¿-?Z0rŽš7brª¶‹á‚ áÎÚtã[_&Ê}Ђ?T+‰1”¤÷K¶¨z÷Ëj‚±Òé©úÍþ³³6BØC?N¡õž9q}+R¢û¨³x ²î=á— ÍÍóøŒöN}¿*À¢M[4–ÂèÆµ¸Æªho]jEG2´/áVøÛ…CCÛÀêÝï< ÜA;_¾üEaÐÛ§ÜËuñ9¨¯´±[âUƆ#Qàë{ËêÄîήRåíÐwHëÃb‚¡û†[(l‘C—ù*fxß—2Ú|‹¼ð@9÷^ñ ‹®âO~‡Gô‚±’»V~H¼DÓÓ,&JÄf8þµ¾A±š( tÒ æØ­p©ÇþkÓ®© u—>MêÅxÌNÛþŒ†(Ü7û€çÑU(Ù1þ¿žÃÍk‡3†¹žA ³ÙŠ$E°áJ­“åF°„•~ThÓ¹Øv ™‡ëð"U8™ª‚w?W¯iD?'*ä¿·kHŸì>ªWÈb7<<–j‰Ln[–L_@H’°6O9I9/Å HÊÂ07Jƒ‘±{–ï“*‡úŽsûœ4 µá§W;ñæCü¾ÕgU‡ßC`4=‰$&›X*á4wã¸iÒ9#_äBh-_H»C"…niÝòÅyèØŸ®¤leZ if±ÿ®(E¹;H*]˜£-ü½»åÔjç½È•Û¶ eT|´?ÝÊ›éVOZ»×=*Nhcæ!x¯r)›Æ†?Ÿî¿o7‹Ô­Ž3ÚKÙ ¦á•ÍA»Ä*aheôfly§ pc¹U›Òã>oµÐ@1µ¡½Í”ó05#ˆî_r¼8õ ~*[IÑn4Îw!ø”¬ І/ ™þNHPÍòÑtÙ5¢t< ,0V1O›%º¹¢Ú´n•î™Â9}e–ÍÍÇ·†ÖÚA>'»M‘žŽÏø Í#‰ZèÝ.¹)š~r‰wòã j6̌Ŗ*PÉK 'F}y{¢ìm´û›‚¯*ÆÝhË…K‚¢L‡É6CÊÇL‚H’]ÿ Lê¤ÙÓÇü|ØÇÊ^¢çi¶æÆí í¸CD&çÛN/‡ã ÙO³ Ç~ÅãçÁX¦í¹_›JË-'׎jI\ÆYjv×0ŠÁzAEù£ýÃvÀÙt€ÿtÞgS(=°³Š²©½q²ÇÖ•=…¢›«öá‚£$Ç8C¹Ö’¬Ÿè†|&pÝí¤zVÐ]åŸb³Åw\ã VÆøf?L{ó¤…Ã@û I®®H¼‚.ò‡ÄU5iÎ(‚Ô„)¸^A§a„D%Ó£òýäüx´nÑÕ“Dÿ¾] À¯Ý )—†‹± d~ Ó…þP.>Vô Ô‰1¼¶‰]ÀtyŸíVÿ€ŸèŠÃ?¦”R"Kø°ÄA·&ãYægˆB«$Ýäžåˆ{µ–pŒtü ©ñäÄS]·¤ìãº&†ŒÕÃÅ㕾.Mð-pì ÑþýI1ƒkÉGi¢Â’ˆ 9T"ê`™'‹/÷؈A>ÀYRKg- Tâ;˜¸zëvAB’öùÓȆH%ã†Ù¸Ä¾û!$æ%Þ1yOѰUQµ§Ó”<̨ïð,Ž”™¾v;wõïy.læÆ#ó·aÓcÅ)(è)>Òó—b [£9À›Îð”*ƒžSƒ¼Er¹Cô΄u•ã‹„ëCÈ ´ÉÖ ª‘W´ ²-¹h Á½ü„ô!’N¸(3O%_c³fJ'84 úP猶k?VmÕ2h¬@ƒ²ÀÂY¢!6pÎ.hN³™[µ,”—8—ãßõÛ…à&Í#ô…òЀyç]KdÙ‰´œå.x¾O·Î,º4ÐÝ»A_ek\Æ‘; «:U~´ö rpÙ'mç~(Ö KtñªûçƒáNïƒ2çrä°–;V|ƒ‡³‡ujäe-Ò׬pOºSèÊI6 Œæ@™É=שŒsÿ§…RöjÌ÷K:Êî˜ñ>+g£²~y˜É–wô¬;!jÙþ¼þip,aÎÝ‹04H^ï)–X/t«Nu`9óI‚»7ÚÙð ñ…:Hwh¸ÛŠDš-JøZ~¹Û&%[ÖV²Žú;BÃÊIñK†Ø‰ê¼Ö FÏŸëT˜§_öVÏè¨Ei>V\j;i³J킊­ýÚSb–$ÅŒ’‘*Þ,÷ߨ_¨ë-žGs™"îú¿}ÀŒ]2‘£Û ªävŒÑnžéÁÞ¡Is_òw܆™Ñ\·é®~ ²J”ŒQ I]{€÷èÀG¡sE›®1=þlØ¿ôÑs5¸ËyÖS¬º¨ŽÑ_%f’À2Ê1']ÐT¸ü\ßô«ÍÛ»wèq§ï<Õ ÃØ…á‘^«1/ H´ö•ö_}" ñQ\E–’ɦg¨æÈòpG3)èÌÍ ŽnÊ \ÑD¿v¬Jt—¬E!BiÉÈ•ýNݘ¹) |0@±ñáKן™°Žë'x‚ýŸ~²´\VÈ$žî^¶c­ƒ]ë¦wÒ¼r;ÓGÖÉ€›`W¹×èGxP``‚µã ¨¼€›îR«=uþ÷ Xz¯$üISàéX$*w)†Ú1Ù>Cµc©éJ“×k2­éKæàg >¾”j½·%Ý0÷®Qï>xÑ”7Q2ï=@@€}•Фƒ­¨J¸ea®œj§ïä®Ì—wÔšþÍ"’B`¡ hw–„T‹š€‡èXµ˜†@ §¤ñc_Æañ@²<°üÀ×*Y=+n„‰­ý9˜7 Üœ¨ÒV=(QŒ/¹šctŒ«¦W*–Â>cmâ ê72¥zUà˜±¿©5ø +UEÐúÁÈ ðð"mÏjñwÑôãÚÄsM£Ë0)Ñ`è]qƒãEÙI¥Cñk0N/~åYK¹VKòùá·+zR¢Ùºÿef¦nú0¼g£X+ÓT¯Ø Ä#o<û¿ÁdlÖLÀ±WÍÑ`©·9K3áMÌ¡8ÝÈŸ$šÂî‚­Yç«É‘6TŸn«Ù›peIMñÊÄâߨ¡–Ìá®â/Û|Ø] :öè‹?ÆÐA}áéÙ:µ‚õq©Œ.‰$u‡ù£Ó…êÌ®Duµe½(»†%Y2Êð¶:äf¸Û‡÷Í#»Mï.n×œëÆ˜¹—М ý‘ QÞÓD©è Û«î'Éanv*~/äÈißʤ›Ø‘Â=Uh0jú:×6ƒŠØÛÖè7í3J¥¶)qŒ"ቕ5’+uržhÜj0ÁÐÑÁiÇw©|aÌÓ|>QœÃ)¡ÌŠÖq¹Î»ØM7 ¾Ä>×ޱ ©WNb좌ctVÌ)]x ÉÉ…·‹BÙÏ`ÁLâ§Àlyä*f…­eb%G¢´gW¿›~¥ò/±èõÑEPыéDf ôÊ5˜|ÎiWä¤p]éUJó6Ò4à Ò&‚Þ±V½I„ÊûpÅöìÓŸðÁh§$ ê¬œøKàj5šeHŒ!fÊØn=Ç+[Š2Yú2&ºn>¬„«LL#çèí.ѽ×sùÌ¢X#­OÐÄês­Û‹’j\ÅàbÁ´xÙbXs?#®Hœ©aZžï¦]ãw4iO9¯ Ÿ­šL¨(‚Ê<‡…°KKØí“:k÷%/Z-fžfò߬Þ.°ðò<’Ï8 ¥Z¡ CÂðMçþ²ådÏï;Ò¸œ^¼VÙhü¶ ‡°¥wrå¢É®;ÀZec¦ù‰­9~Âç‹ÁÚf³ž›ÉÆq»ç;A°#š#«Z2ßUõ˜@tñL$¹€(ª=“ JÅ3äÆüàY¶U²¸RÛ@RÐ+×eê6ý`%Ýt~Üo¡Ù\é:Ì_Ò’Ÿbø éuœª¯#@»DÍe[fEFó_ȱs[i`bˆáö7þÜÛô h¾« ,~&¹†r%·¾j_%¼¿~sµê%ÌòŸyÏU¢Ýg a¹QSìèàìýƒvÈgÊ0¬¥¨©ôÝòaAgpSX+ž—B$kŸ·ñ©­¦9þ;mŠ"ØÞbI˜Æn«þýjÝ;¶Aý,« ¦Oœ¯šó^…ü]íùIßtŸ©Œl2…æìM¼ÌÂk–剢³kƃ°oÎgY³O¢ô¡’K+âÑFS’ÂÒüÌ6mHµd£ÔH‰ý+RNqµ~¢?[µX^òìöä³ì–éÿïÀŸGÏ^öP˜+';è=˜ µî¦ØÇ àªÕµsÉQI¨ü;ü½ŒÙgÈÚ¶´ìný€³3Åÿ9¤4‚Ölöî>(ª`…Ïø â0±=~ξ2Tc'+ö4‰dXæ±ÚÂ,Ôƒ†ßYàɉQË)šÎ‹ø-â2Ð,&^'§ý~dÙ;®êÇë´Â`Šüõ†µÜ´.ÅA Ešéí£šéÁÁÙ&Dûu1A3“áƒÐÊáaíáå”1ŸIÞh²É@†K¸a…) Ïß,æ\¾Gã*긗€hMÅí®ß³¡ê`í†ÇyÜ:[Ïé**W‰Í(³œ¹ lmϾh*I¨î,Q¬$Ÿ|"¨óÍJ 6M+ÞK,Dk€V¥qŸ@÷,DZÂm"ï׳9)…>­û}gˆ/7å g?j’H™UþK ‡oôJ7Çéen kì$Cr·F†X™ƒÌÇGó8‰ð>¤ ¹j5ùmˆ=Äs¬+ë•/÷º„rg{ÀìôPè^Û*UÔ¬U-rg‰:êZ"쩯h¬¶ ³Pý3ÐBñT 4´Îž³Ê{¬_´†˜.KI^ϱÜà|{cÔ“ FNâS!øÄ‰Óón½ãOnN"»˜wÇÓT]õÓ0¹ÈI¾áøñÇ”üGdž Ë‰¼ÈOBË“Çι:¡‰ÓL#ø¿4û^<­•‹f@V¦¢´!”œu¦K&!ÿý9HV7*aûì‘W÷‹˜ÕE¦ó×ló0öð\¨“šÊ[N¨G@s2]:ÁÙЕvLjµ|rm¨:z.e_wup\.'Xåéç:Û ê¼´D”|z ;<ǵ]óP%÷„¥VHɃkåzÊAÙ©%”^Rqjq(·…Ç#·w¬ï^V¿:òÌæjìy`¥^’ÜÎ’xÀÑ2Rœ¾Ýë`m|G-ƒÛ€ŠhÐY-.¿? 9—ñrB8NVš ~˜°#ážîìÁR á¬ymB³¬ÙFß´Z°\ÊM1ì¥&f’¡£Ë…œ³N¤ÆSUªT5NqÀi¨µo׃ÞêCù|’Yµy §ËÎæØÈ(éå°p-& Ÿ ì6Àarðé¿®µž›gÂÚè ˜*=P¥.h{Btj¨ ¸V’P×Î"²CPH!ìôëÿW¿(Ò‡¨Uu–JB³“æôS—D»OàÓq7÷¦[¤`Zý¡­ Dün6×É·Ô‰Ï=ÝrQ¯/ÐÝ@÷|€!KUH¨Í«“HÏ ÔÞ(.¹8Ȧ©]v("ƒŸ3dúŸñÇ,›UìF™Ü7£axΜEþ}Ò,7ÝYá¸ë\[OkÝÿj§NÙC_ŠPUÝ]N¯ºœ¸,*ÌÙ©ëExpm„þP…Îm¹Ëв^öPz¬<9"½K9„ ®¥ÅFœ]ÍcÕ,FlŸb$RdøèWœ¿ó`]Þ¦Áú©¹«“Ól—C˰ÔÈ|Û}^ÅžRß’ñ"2Þlй“Ïk>m*„Q°Œ¡*¹Ú’7Aü"­Ìz(×—2ƒ~v¿%‘1ÿO‘Š*ÖE‹"ó¢!Q×tsªÓ¡öÛ×uW®]nµÊVžÕ@Ý wy÷7]üMq š<ಊõț߈\¸j(k¾À°Ê¢Læß“ݺê$HÃòƒ?°wý½fÇA«G“ñ¯ÍŽZvM ÃòŸR/±5bkg—º©‚Û-ÝF õJ[íýÒgË…ïô#S9‹ü Œu„Ys"PÆ[8/þÿy8Érô:»¥CÍc2æH U™]Y.U•(Œcн¡8(!ÿͨ¶8ÛžLD ¡‰§¶@ø×°F®nwÛÝ샚Œ”#t#~­R“iUâLš Aßøé×ÄJo¾Ÿ6½0š;ˆ¡¦˜+!B®ñ:o.-`#bY Ë_ô….¬©£ãyJ§í‰ÓIAÀbyÉå„"aA8‘ J%÷W.(ÎÆÛÌžYAV$Í¡eüS?ê>kÔøIï©|kOÃ|Æ9·g{'žùF¤¿‹¦¯fã4ö|gÒé¹ò‡«4]¿°êl´i„Ü.Ö®XÎçŒá$#·ÄŽc¹ý"ízRv°!è¸Ñl& Q‹V´öánSø—"’Ø…Ñì¶ÀYƒ' a7sòZž}âÄÂCmëǀəÝ+îÀ¥>§»Çìõ…)ÜE@9n(áPÑ}nOqKÏ‚Î|(ôgù´dÛ9¬öÖ-ôJø7"ëãm­ÖÜ‚»ù±#2’GÓB©Ñe³‰áªRÅqɈëµäȽ\¯u¶7dÐR’.@™{vXÚޡK²Ë«¸mÉd~Kzñœ;}"(/¨ÁOº„»åŸô¢ åÜbï ¤XwJ4þX)o«ÊJ’ö÷ö ü5ê²l´å¼Ä˽ÆÎujxrú[œ`7M?tR¾4NnŽ…&l:/3fGt²‡Ã=ת>Ópq®¯FV '"oûó‚ìÓKHÍ­P©.F—p¬Q÷5 nE M|[r½bt™•˜ùÐìM‚ƒþ“M§œ¥¾íœÁ}¡}!òÄñ‹–g"’ÿ¬}¼„ÂBîŸ2 ½%h¹­YœRá0ɼHs™.?:ç÷Ÿš<…¢OµVMÑy­#=p>Ve(7¡'-àfß­ÚÖQ8iÇ¡fÁ²ƒâ^QÐIC;2Íã± ü%ÞÓaÃRD²¾:ÒSY#Ál´þfŠ,žLŸwi¯Údx¾º. ¬,Î,}'G‚ lÛHñ­¹ìÍzww’ƒÒžfsU ,¢ Õ–ådH'4¸ýK þ¼D^íY¦ã åWP[ž³5úÔtöÈí˜Ê‘áyñ5²ÏA±´[ÒŒExj$„º-Ž£>@RËDŽ¢ þ&jDg‰W#D¨5HT¼zª¼W\ì½&UçþØÎBøÓjØ”1Üš«Ë–ªë{w¸aFåÀŒO‘ Û·0~MÁg´D[üt«ªg¶Œ±K¹+ÞSq·‘Û'yU–Š“ùZ7í™p—Âù1sûâ§Ì˳—xÃËkºHÑÕ?AÕyTà‹„GO­ñÌÔ ¶öÈ#‡U(9’Èr#D<‰ YLŸ:8E[¥¨9žªÓX»ÜÕ¯›.M8ŒIý®¬4Æž‹ pžde8Áå™Ê¸T‡œV—ÎDc—¯t‡ÍÌ¡þÀ.œ#I"MzËüÀÞÿ#RÅ] ÇÄsØ®'kÏ¥þ¶un=()ÒÎuN´€ûe¥ÒЦ¡i"ŽÇï óVüCò«b Ùø 9îra=`é§ÏðøÉçÝœ€©d>f–ôHA÷­#M¤‘.Eòv+-á˜é·¶5›Áýš´B‰qïvHOOv«Ý ˜ HGÊÕŒ )p·¿mÛÂ%Á8ü‚ö€¿ÝÚÍvt—;ìqqíñˆÚÿ&£ LÍð÷îµ€yþnªçbÎ$µ†¯{8ÀiJ,£Aó<‚6³·Ãb2®,ÙКåBìòX>gŒ¹ÇDÞ)ª&L)ÕRêXP”ÍU^cB^L?K/ÃFI÷d…$Ln¾\8!•jÂj.wÀ@±CÍt 6øE¡Mñ/ÒÙIçÊ“˜LŽ£Ã¢š?ÒB ÷ý|ipcŸïì]ã÷=pªšÔh]º'û±**S4e·*&þn°†hˆNÜöÞÛÖ[JÕZ•äGçÛ*çf*±ÑÁó&ötù.ÔAÇZI¥© *(eÔähÇÓš„º¯C¡":”kÂùüPÍ^Š Œ§Ìè,¶äê;$Ê}ú­—{ÑÒ‹kLîæC­j7%š ÍÄT­?ê]‰ Ð>+/·-®ž¾xÛkq1‚(0) aéñüåÁÚúÞ*Ç#ØŽ„¯ óèz²Ó&X 8ŔܩNƒ£ÑçéÝE©OglÁ‘#ˆl§éÕ7õòlv`k¾k‡— «çØAEÚkd¢%¡\¼žpˆÿ³—}ÛÔÃÿp!Ÿ IÕÎÅ¿ÑÝ`YQCïßãcÙkáXÌ ôI~n ¯D¢+Û>¨¬®^4ö=ìŽò2›™\×´B¬®xJfQ&’¯A{®Ž·êGëï%ˆÍb†é{q’¨ wîDتï‡/ŠkìÅ8‘Ÿv^Ø­€I(ÀšÎ¯èbãBÑœfI¼¡Ö)Éd˜o! ë½f¢o\òsXºI­0>»Ñ¾ûk-ÆïJŸßÑ* ]]MT¦€ŸŒq‚dÿx©»þe™p,^_üjŠRzûs;lH ½¬rsšMB>˜à/ˆG[¬Q°Nady˜ÿÞ¤…óæœÑ27ðV§Âšh+€ªl6‚~Je}‡¯H&ÿq¸$ñ#çJð꧃̀êb‡²’ôtäÉ `MbP‡mW³Ö$|ÅŒšñ‹–qÃ̾x¾ž¼0œßùNBè‹—oô¾«´s´v’}ƒç­¦sɉP¦.öïQãCš¹ñH\„÷ÎÌ1%!èžCöÞ×óe\7?¨Äq’³SvWCµ%*¼x¢ÉrW.ü·àÆwM§¹`ÖVôÎõì\Ê Á¾ È´$e¦öµfdtQÝ xüxùØç„sƒ÷‹p¥â‹^;’]-ׯ$¯½ƒ¦#“…@‘…¢!z%y®z`&ðžF˜NŠÜU>N-mV„2K†]HN¥Ð­ƒcFwغžÉe +È\{"_CEƒ‹ö6lwUn>aß ëŒúÑ ÂLL«ôÛd„ÊÁÔGð³ß“>:5m·•úÁݯsªµƒ|5¢Ì“†¬ÚÂ<•“‘²R ŒY/X[âÆ0îruÇÜÌmN}n5”äË6*†©:õgmàF±¼I[78ËHA%TLWX` 8M”fÝ’X`lJx•‚ì#¨áÏn‚RðašNÚ‡I¸=SQûÀÑk%iK Œr_¬ìyE‚iÌÂÈ×õ©b…Æ Óú(׃…ùª··0§‰7íG›FȨ/?ùKÒ¦¯èR- ¯¦ÿ`Xæ$Ô„iï-’¥9¦¥&N}Þpê‚Ô´—òœì!邽(¿¶¶]©RøEB\Ú^~/­™¾á!Œf…§óv'(¾W®*¶­Š7“Ä´ÉMkÓ{¬R¦™,$IžânÙîä‚5ïáíôºÊ Æ9T §ª¡ÿ€Ûv­(ÑJrÿ½ùÉé>P³ÄNv+1wèx¬rFw½ØìÐÆ€ëk6LF_%:´€@¹Ì\®Æïj8gDxù=à”©IŠïXôªÐ­É#]¢0çsõ ™"t-ÊA´¢%åì÷›_SÂ+Ò“šèñe<&öØ–&6,ÎUuz¢«Þ»8ù-ueVC7ˆfrøKh©Á!_•|Ì#¼ŽA]H$Ügús¢Ý|€vç¶';«¢ð©pïËÓÀä¶—œt¤UH@iƒHòÿYzj´!ºb&|¢ÞµÑ4O°AÔ=ù»2£ñºo°@iéÆ)ï@p !êõro×Z¹Û: }ð>¸Zánu²'?SWd´$kŽŸž ìŒK¥Â!t–Ñ+ä/ÿ”3wͰ“Ê' qõPú#Íü¼gÞ­•TÇ›Lçå±W€xi‚ÕÈJåa¬'¸/cÉã'e°SÕÔšï> €WUÝÞD&_HÑ 7§pºmf™#|ë ¹è^•YnÇ.ï2þ¦÷.´¸ƒ¯ š÷0Ž3b>ƒmÞ ë*Üך Òe.Ô¼õ«¦.%í'öHðdZ¤·sxÂb>…uñÒþèxi„(9(Iˆ·à¯š ó®ènTÓ*]ÆŠ î¾ßUœ²Áü ‘]Wg’YA¶,4æ*ŒQ}ùQVYéRýGEÑ)þÎÎŒ·/Æ–÷dqtûöÞ Ðk˜wñ ­~ÉÿaÈxO&•‘x÷ï“íïÏù0Už|çäF#ÀG:/Ciã ç^¡„üŸ4¸™¡Ìƒ'[¹´x‰Î“2”cUô#|¾>iŽÙcÍ%íFΦW˜|Ÿ¬3´³ô<"ÿ"vC´r£'ŽcÄ‘0G7uo{ÈR´O¼^ú´Èƒù¾Yô6¹ZÆ’­YÀÇXÆ‹µŸ£N¨¹sÚåÃmŸ@Œ.Ò`%\f­cyø ó—ó 8X¤ƒ‰ì\NOw{²AŠŒ¢è~®àÿe×ðD ûr¾)nK‚4øâ»õ¤ácÝ›™ÒPžx~0µt«íAÜ4VÚA @¼¿nº4%ÛXs©-ÚP5@ƒðÄ_@yû[Nº'iÞ€ ~Z¨?âÏ@h«¢nëF$1õ?UËRPÕô¾£Ùý æDB`Ȭõo™ï®‹ðX""YÜ/FQ{¥„«©sí4—Þ4 4lv›DgQû*.OuU_£{U?>ÉëH4 DXpcøÑn`áÄKf»ÓùÏ0l‡vse¤ÁÁ¦;zãÎ_8ßãÍz"<ü¤Ûò„:(MÉ7æQ°è³#÷ô=|†H3mí6‡xŠ0…Æò1ºbªôtÞ¿•zûðÞN°s!0e…D§å]¶âðžY·þÜò¥sÚ¼8G«*–:_,Õ>;…a«g›µ÷‚’-dÂÙ?¢s³+E­ë,]uç€R#=<ðË xHôÌÔ¾¹å¾»=þmÉ B¨íÁƒ¥[ûº,„ú·–´i1{ GpÎiJd=ïªc&¢²æ!.?§˜¸‚š:f~¡=vÍ(ju?mˆÃ±kÁɵzæJjè ·]¾®þï:[Ÿ)ɾáòûO¶ ?2iò#Vî(ßYHÁgÎÒñ&|ìÄ7-i\¾jgb ‰âÑ´Ý>šÃÊ8×uàÌÈÈ–„´«gÂdT¼>ÒT§²é¦½©A Rp½Íˆÿ~×d‹w ¾f8_ÙíQսŬøk?HM  Ñ YÀ{Ïd>_ w¢Î¸‹ÇlþCGéjåMàc‚<³ða<ü¢Å«0ßsû]mݦÃQXi]´¨ºp4Â7Å”L­ªEà*7æ'°*I=Ý­]áÅ,0n™h!#*: ¥yVÄòL½Jì-VÏI…ËìŒ ]\‹^%vJ†áA*ëfØ7•–ÁZEA7 /ðÀÁ©úÇmû}îU@O<,à¦O&>Dû$½(²|ŽNÃ\g žWÁ ¿`ØÓç~ fá‘ ~ÚÂ…•!s ÓjsÑδì@y)FðΈCùÓC÷¿q¬?ýƒ¹½Šuü¹¸Çá… žÜvì°)³]Œî€*ð*ÜGEGìã¨ÀGy&Á]*à‹psYÈÂR$Aµ_waUÑ;ÆëͪchŽn¦ƒMÊþ…˜„8'kîJÙ2_ÈŽšÝTwé4cùªÃ3Ò”ÐØš‡D*|DR 8Š &äó2ß2xßÒ|°ýûŸWÌÐm”LíTÉЧoö”L!6±I¢åÛŸô*ÛY&†¬{w5ÂÁñ©![Nÿ¡¦ëÎ0:¯žUîV³ß—0Ÿæçô'ûƒX'1õ ²¶´Ý»jk µž Š[7W›Â\bp£.os¼I@»uÔ†A™°·¿ôD4¾„@MxÜeK&Ðñ{Å(_*‘ÇÄùƒm¾DÆ’˜R¬ø¾·ÖÇy @Y@°o[L©éX@UþêI "Û@òlؤ²ô˜%!Êïfg“& ö:(¦ý¯ßÌLíJœAÈ0žÔåì:üLöåñn*_3†Iä™SÑØg‘:Ù“×cûJï4·¿ÈaÃí(ïК zL¦‡!ž1}3§Œ)–Ïù埃޺)éï|é¡ÏàcÀUqü™÷~\¼Ùvv&ñì™ì¶¼< àÑ@rN¯Ðæ/f][•ôvk–ë[{ö0”ËN9JiM-Š<ù}wþŽ»{I,©|ól3sÓ‚¿ëØŽËÒ`0–‰|eˆ á_¶ ù³A†hzO_=q4é Ïîù¡Æé$ö‹ÅTjhHÌŒ7Uªuÿ”áUˆf²·›‘aK„¿/J4~Ðò.Áp}〚ŽÞÙˆÆÈ3¼mǘùý‘oÀ2)ÇiÈ5® Ðnô(Ûï÷—–Á>4œ¨"Ûl[›#!q¢2ÉF3d½×ƨôÿ£7Áü<ÀÎAˆ@ó’Í.40ÛWµJ%go4Jµ0@¦Öw¾„l›Õå‰Þ}ÊBî(#@~µàC”פ„×#$´/L¤NIaü=‘©v.ÅROZ/Ç#ÞËc9×k…ͼ8ÔáQ*êCY,Ëà"é:zlçui2šðʰ쵪rƒ©?î–ÑÔ¸O1_Cúul•_)ä3ðÁ•o$¥}ŽÆÞü:…´…Ü1vk¡¯%59ìÁR™…+ËGò€‘à†xÎs ®$,]¢*Ó£Óœ@˜]…"ïí‰Âbi¼q~[Üg<Ù¢cÐfò ßZ>-¼Œl,«ÀkÔ9èp?|5ü„ª‡ú8-RµºªÁŒ¾lºòÊ–Êx W!MCµêŠÒóOxÄÌLç”Ï€æ4Nõ¡Z{Å‘ÁüÚ¡±S£{bo¦ñwè~Ƨ«ï¼@¡Êÿ•“1L€ØYß2¥Ý¾ag«Cµ/Í 2Òý;üp•Bvq‹xf¨ñ!ƒÌÍâ¦çªlp–L{ ‘æ{+f-ðûµ¹y0*Ö j‚ì¢G¹•gg^dµAHÆ%ò£·X`Âã’E6Å*}1ì§ØÍ¥‡ÛÀx‡¾î Î*-ì²ð}ú<áeŸ·(’ìké¢,.I×)_9%9=‚Q~ǸgCñíÅ¢† æÎòÊÑ*sUôUtŽ ZE»·þþ­Æv(ül€c@ŒÔ!jú],yüpõÖ`§xœŸHÒßG5ýmo¢Kbáðtq¾ø.Qg Ævà¤þP˜IÕÎÖä:v*³.ïõXÓüg(M¢k*î¸Áã]Ü´àKÆF暟ázièybL<ÚNŠïJ饰yÙBµ±à#RJ©â­r¨Ø"RÖ÷.¬c¨J›ÖßàÉš|…bÈ,À^мrŽ{~ =ÿ÷p€©Ûe “©IxRV ÎÎ ×Jv˯š^¦W“ÓµÈ"ºÏEb)ëÕNèmɾ¾TÆ¢Ñàçé³ËAþËÇÁ–JYÀýsu’G©°®éŸ-$<ªz¯6p¦K’h±Ê  þ`ÎtTº2k „ ÷«MëOi¼o*yB'Žó9Ð ½Ü¼ˆÇb:ÿÍÏH6Üw—“8¿¿8ÔÀê§5†ÙdÛhqŸ‰BkÎ 7CºÉ¥1V]]3ÐòÖozðŠ#K›­Ž1·áÎYl 0“QâîØbÜØ–¦ž.û}´8ݾv ùêC7mñÑ÷µ{ ¹ò‡RŠËBV˜×®uZVl$Ý‘’}±a(Æ›= §I‡¡»,ÓYës¨TUÆ´ü[ÀOruGüŠBi]㤚î±X9»ŽËëZàÞÚX”ŠãñÜKXKáá›ûƒ¡¾=þKèV}‡Šòç9©IÄøÂV>ÐV_ÙëäN²¢m™P1J‚osf_Ï’bæ·cÈ$ñl²·$Ò—ÇFhÎ !%¼Bi„Wìç‘á 35h5e­Î]·&¹,­! û✒½‹Æ=)ˆâ*Äãõ¡`xˆ*ryä—Ø†G‡2Ô±?ŽoæI†­ÓzÉZ³pYÉŒ-ƒPÈ7CGhl©J€JÉa‡ {ÌA×çf]6²Oã|‡Åõçæ\Ö qÜCÇxùÖèÿ¸œ…#'È%_Ž]ŧÅ*oåòt6†¨O²[šîž ×…¯<§•Ê£RÔ?Ì´£MzhL ïð+`%Œ³C#°'NÅÜÎ^×_”6ÎˤŸ÷ÃT° ù´ ANG€âžÈ¶âÖÂCàÙ1+g&_¯5,%ß0r»ad¤ãnÿ”€F r&ëúG ÷oÚ?Í8xH“’–TÄ«jHó þXvʧz¶c3¨£1ÞÇUé9L±eöÐìL+É(ó)c¤îþp¾'^ š”Sš|¡“¤b˜×šð*ê!µbE¢ŠuÕÖi¬£Z Ô²ŒK„*Çîžä|Þb¤nŠå[lϺ4¥ƒrßoø„úHM÷‹“ rßè¢óì\#ü7„ XÏ£Žítö•KNж±Àý0ê†Àý¹[µ kÿˆ·ttØw †huì$ Þ°Ð´ÚÇlœ¹ZܰÕ,¼«»n`f¢ÒvSoŠŸ<÷çÁÑ—Ò ŽÇ(1Oö'™çº÷%üàB¦Ën=¥nÞc~ÞxÖóg;µ¡JOöýû)›ü{Œ¹{f4Ó¢ö DÃR ….¤—š%~sµJy/~úØù“D¾+Ç­e6é,ÑÝ– Øx>Ò¸Äe±¥„¦Å&9+‹iÜØ¨áÅù˜òÞéFAù€,´4i¿ ?þŽaMØÉÉîéSªO*WV BÈhv÷¢ŒÐ„ ‘ŒÕ«ÑÀó@Qµû6¯B5U lSæV=·ì).À 9¤§Âqµ–ð‚µ[ú<§Ø6¢ ¬<ßèµÊ¶¹¹µ$D^r³m¸»ˆÈÐy²¼h¨‚Äq’õѳŸ2¯ED–· Iž8÷ôÂÎoÝüJï½ £…͇¸|Hõ¸ú±Êðx1eÅcs;*†' ;àfGÐùè±}{”§¸¶‰õ›·eê¥z°óñèwŸc‰?Êÿ¦ø2´?(YéàišÅ@þ¥„ˆ£9*säÊHÙ_&ç¥å3R¯ÖÑoˆ* Óèwã~K[‹Ãµ!ÖL‡RÛ‰¼{²“°Å^ ÄCë!;Ècìá¶e_«{d:Í Ø ì™'œ:©êúÝzëí£wù(R‹Ú£_ÓŠ£µN@.v¯™âCꑸû-“Ë,ƒ¬¹8Bv‚Ê´ •ãÒ>âx#V,Ñû¬úÖTÒ—} ² L¬ÚÊIïø¶ ûÿʆiá€Qw” ‚OôÆå"Íz'¶HIjÂ{®É3cÌZ4n¢ý¤£xëU[ž ù…âéÂ=ŽÀwk€(t<²dþþÔR}ÞÖ`ËbÌÓñäçþ0 SÏúÃÓ¬Å(YîOí #UÓ¤±¦ì$r·z”ij k(ôB¿œû»2Hþ] Þ†%òÞŒFõñ–žN•7SSgô¦?ÿO«Ëú‚³=@ÞìG±dØóä¸ ¤™—6k¤·# ™NcãFƒ';(&eSZÛÇŽhêeþ â©T¦3\×ùÀ}ÿ¨!9a¸Â¹:㻳MdbÓÅü±¡XWë×þÕ½í¢kð•X%O{Sv±(û9òÍì?ü=Ùf˜“‡ú4ånæl¦rd$³{zͲ ™HAYæù`6j¹êóëuQÑãïâÀÿ2 Ý»Ù~´z8r„s±»›ƒé*‚À‡÷K2Æ@­jTý8&âI‚ºà"†ˆ­§FâíÚR¦¾-Üâõíô? ¸¥ê²S¤ˆñ‹»G‹¢?$ûXO6#Asö7uÖ^íÒ‹èC•k®‘æ±ÍØ¥4…n]æ“Öæˆrª7¬DÏ×ùkì1·]ć†6óñ0›ð€"ðqöÉÃ*Š”LAòÀ/ò¼TP•ú¹s| â)z\Dþ¤½ÿŽŸ ׈·ÐXwK$ùÒmàÏBZég¼ÓX€ í;¶Î¬ utãи7 Â^°Ó 7Šd̳8OLÄH|帪m3·ÊÓ¸³°ÈJÕw59ñ¤\±c0+³c ¬ÈYWY×h'…Æõ4aÏ{ü :hèÿð<Ù¢s’9û¨¨dÉ—Äk{ 1yÀWâ€ød4·ûvç‰ðï“|r§§ù"æúvC!ýË3(á|Œí·'^½¾¦\½Ä1‰¯¨/ \TZ˜ÒÕ, ¡W¶€ÿÿ.8ûÞ‰Ê{aÑTž/çË z_¦…fj:J¢"S§î+Ú]h›@¯§%  ³}¬hÕ»â3Ï‚0/Fõ®‚—ƒñêØ-öÙLƒúž8W|Ÿq­ñiуÎA6ÅPóá9¦J¸¨îáOÐd;R·;­2Ÿì³íï휑¤Z&h•hTÚUFâlÝ/OaÏÕE|¿Ïyñ[Õ/|ý’|¢iןƒZn×Èœç%¸âheóf`ZÕ OÚÎ<ŠŸ ‚ÂÜ/¯á U¨qËÍò<>è' ðTLUTm†CqWáˆéAoÿÐûº¯òhiÝg$ˆ=ËJ§Y¥sÊÁ'ªcPü£³©ª’6Ì…ìð8÷Jγ²:,âuèþž ?#øroëÇmkäO' ÈÛ Ä³8½¢õHQ3^ÅTf³H¯ñ¤•€Õ¹lãýèb  9®`–,ÉÄ•ovdg¯=o~KKæDë_¥j-1}‡ªÐ­d–:ŠkxgL qÁE[aéUF¼[7šúÏUÖ‡ÒOµ×)Ô äš•ñ O‡°pÕõ€å ‚]2™€Š—Wž 1©MŠ ÆqÊöúèæfoªèãì;ƒæ<Œ:•˜éÁÌ1×tx¦ä¨‡FQ›drJæ‘õŒ=ú x#›íkUíÿ(ÊBðÜΘd¸ËȘxÝ–ŸDÀJ9ôø“5iðV¼C—ÿ¾Y¦’ŠQÑ>¨@õƒ‚~óòEŠ”Æ"iÊúו¿a“Ø 4èú(§p´Ø"Tá)š¢ÍÓ®òɉ X _¦7ýŽB­5ªÃ?š®Ôp#gÆÙº9ÃŽ#žLÀZ &0gÊDMžtöýp~ûÚçéˆIúS_“ ®PØ×ß®¦=>X"÷×a qÙ¾Ÿœ{œË¸È„!N»ôžLÏ´ü3«>³Û3ã=…ôŒŒ}Ø)Ü®¤CsÉÀelãü®‡S@I{¸k‹BFI>÷‚(k¾TûŠÅ|C±Õ—o(qèòNk0øî-yºm´µ´cп`„ÝâO L¤¸¬5#‰ ߣ äÃ&Š2’€3 õ ÇL€´ÕÖ´ÊwSïå1ç+Ì·–¢åšvß1Y$Er¡àË®`&”ÚM¡Íh‹7]½ų®¯¼j·ÉÞã<©t"~Ê4½þëéQ¨Š˜"yÅ5çgÈ9@Ò,¤Ì' }˜í™¹’H_GÞÔt2›~XŽ17]ÏŒÛS²5é H* ¯¥“¬<ðV‡ƒµ–ø‚XG?̺¡±¤|®9=PÙç""ŽGõ'l¸FÂO`úþæÐ1Gô¡Ó.nYz4è¿k/ó`çÜcºÔ+ÞÂ$…hçx‡¾‡l3Á‡Go%k”ý*Ñ! ´iqlW`[/‡åñ«Ç%b¦õyòVœwï·.Uk_ìÑ=pnòýlåTøQ÷¢b±ú¥âéªÃ»Ì3 Ù³yAÝä’ª(›U9JõbŠ!)'¾§ãkXZ ÅÛZxrQ1ÊnÖÍAoî÷ÅÓ|-þR‰fXÝãÒ¦ž;Ñ0~Nø"¶ ÂiQ-j^Æ…‚ð-J—®üâlò|ÍÒ)Uë¤ë݇Nl=/±»Ã;)Ápô£Ýó¯B€Å@m•»8©z.ÝM#ÐÅ=ÒîÈjº±w—È(‡ Sq&êj6÷…Ó(E€¬1Ü1ÿž<“Ò`T4óYfæ4ͬ#ï”-ØX‰ÒKWwÁ/â‹®ò¬ž–fE2Þ£DSH¶KVKzE¢ðÕ:Ë#Y§ócÌO»Ê’¬am§ìÐ,XÈoÕ]©8—¯¬ªdM'|¶ê=óãó¹`Òç±ÆšjAŠ¥Æì[RdFÙeU¥¾$ù‘ã`ÐÌѱ¶ŸVÌ1+ —&öä €T€’«Ä¼©‚–;oñL¾á ó¨~“Ë?劣ºN.¡ãØzW4cwØ»}#1¬o†+R/L.C RAq ݵsÁZ¹¥~|4Æ(éýòÎa#xTÅ:|Ü:¦`×?Á)9°#gùýÇ\,Šü/®#ûˆiP7¬ûiõÌÆ$p§Çãà ½‹Cw‘žÑ‰ZÑaòOœ8¬/>ó¦s‹öþÇ Cf»½ v‘óªõ›”.Pµ‚÷æœ&ù«>ïÒ±iÕ©Äa˜“K¤P@A“ †¡s£•ì’Ì Iuk€y³Õ²x‹{Ú›ÕV)B)žóQ ªÆKæÀS®3€5óyÑ`¹+PH*Œf:uªÜå-V|J-±dÊ=ÃéyóÙ2 8Ûq8ÌÚç¿ßŸã$ó²ˆ]®\íB: ö€ÉÎÿöy¸M¿¼DùL»0¸nb) fík¿Òþw›óáU/€íóÃÑy<ˆíÜHu싊c}lKÿ™:œ¹ï¢Q¤";²ôN\c$–\ñ‘ͲZ/;½öQÏ 1s-”ájÍëÐÕ3ÞÃwnÅèVûåÇã=.£­ÀþÓ\fÖü øsÓ²a¸xÖrñ/IÎx¦_5*2oô'KG1 RÕø`/ÒãsOá&\Ý”úµ^%.œIñ€ç^ž‘);6w_½)PàÏ\P™îÌ1-yux/c>º:Xg}g°@ ßV•ávGϽ~Ó••M|¡Eô¼ :1Ù2¥"öÁéæÃò³–|a\h°V–Ÿ!rQÎ¥]ýð'×¹–Wªdÿi!âãØ'ÞC~5¥=z8×””uÑñÈùÓÀ?e‘,ø|{-¬"—žXäþåÀ¯NQp¶j2[Èo645‹[dY‚ÿ<ÈUä¾¼þ¤„@n“C Œ¾átϧÈSþ0µóÀðåWVëi¼¯6TÚ| ʺí$ýfÒÜY}]åW’@ÇÒêËñ=3§gÕ*Rï4‰½4h^GŸEdMf‘No¿å[¤+òx¸–vÑŠ{RÒÿ°˜P(ަȜ+šQîíŽ>T¡þŸ:tæîLY؇ÚÞïøæÎÇé͹¢¹½üq`¢†9}"c˜ 0¶Ž«·ù‘þ¿ôISÑÚzJB§·Ð¢X$ˆWÝwF’Iš‡S_ÄãhˆZ›3h4ŠŠáYx’šûaû–­cb‘©˜ÈÒÍÈ+©ž…OE>bÈ6pF â°ÍACš6žü0ÕK÷&qñÁ'ÝDéߨéî+ü80bÃÁø>ç{½ƒÀ%Ø2˜‹#>Ƽ)Е]¼›°ìnc;Áa:ú¨Á³P …NòÄßrß4ª¼> mЮþ±Á§> $ôIã׈#³A~PWœ ÈÜDõ•§+S"åä(£VU-',»tÞ7Ü]¥š8_SÌ{ã¿ÃX™Yiûßïl lÄ/™q&UKŽà¨ÄZÝ\ï‡ÆFàKs;ÏtßiIÍG˜ó8x®Oµ±¡àãܪóÕAÁíeâÞûÁºGOÛY‘µïÙ>pO1{¿£÷Cð¯q{``ªð°0©ñ‰a¥“°}`¿û ¦º÷Ôi<=Έ™åãˬê‡x4¸=ëîͲH}k]Îçuloͽ®±Y±4zÖ x6³QîаJRWÓGê³ýõÛáR=%yqÌ\ú)>õ!¹i‚ª(ú§‰ž›ªÅ¥o¾T(dË í?ŸŒª¿”.c)úO@4¬ÜBJC¶OÏN¨u4å?ì$h¢¼ÁåÚÉ ‚ì¨yÝ¿ñQ¤OņÃI²×ë}¬>¼Ê×ím\ýp­nñI8ô0ÕÒR#ì22$6~ݺr¶õo®VÄi5.¼¶Ìwb%Wú´ W-È+(ØjE ãfflõ±ÍÊØ§W: yOÀ³ÆùµWN†›AJ˜nÃð×Äû} íní&ƒyzÆßqwì‘F¼ ®Ör7Û/Ý1¹†šË+úƒ©8c4ŠÀæjöliƼþ.ßSR“(wüH¸^ ùwöú Noû4à˜-™ûÔëªÉé¶Mƒí[À ˜D3ÏJ±¨hxAk ^CP›ÀðV¾ Ô[¹U½«À ®¯sã¡pª7HòU58°3 ö]óOŠ8·w©¹í,ýiIš!U ЖÓóuÜbmëwí­PþÉ£ ¼Ïœ$›¥0B2—y‹AŸ)x4ê/ðVTü{ ƒ6>v_‰úQ¢ßG#*Nº öhpuÌ–˜=i…Q .IáÌ2Óú7²?ÿ5Ýg1´haÈÇ  íUHÙ› `»ž¡iËê ß[™}çb… mæ)cMŠäU@)T!†p¨AχB4LÚ‹:yj­˜ÌȤþVv­Ô Jþ5 ¨®Ã-ö3Ÿ«ˆ¢H>¸Ò2¢ ¡d3†íý®öt…à“¾ÌƒmPÊ‚¦Z©Å¾m“ÓUz¹ìDùÏ‘œ ôú¨Ðب$* ‹Å6Ó(B6‹vÏÒŸ‹nÞ³$)ŸÒ´€'#ƪ™‡µ i‚áõ×êäÇv:sÍËúÀ³ŸAj…]Ãý´lÈžÓÓÑs›8Öª ýniŠUýPµè›Ž“EXµv´#‹¸è§°1E חŸ÷xâ`¥íø'ëHÿ¬*>€û” |‹»õþ>×°¤LÕúmiHr‹=äý÷ƒ+¤Áòtõ,VЙèG÷’ zQ› \…Ô¶7!ÿ• åÓ¡n%‚ •«)™)MŽqÄšœ²üÏDyÛþ .ߟX+|pîeò……ª|M%‚¨’Ø¢ŠEê}µ@Ùé HŠ žó’+ ж¯¶áåb«ÖRfG[,ËMÉ;?§Bœµ·ÙÖ÷]gMp¦K÷=b}y `Ÿ¶!§à6¹Ý¸NåS Y´¸.-N=a‹ô<Œ6Õɡȕ²R˜ÑyyA ê4L4îm€Ì߆¶DNIeAÇ«s8’<ÄÂj\ ˆv0ˆ™NÖãT/wŒ«ÛñŸVßîþödo_ìŠiƒDvO0† »\ëÖ[§=†s“yÙü`‚Û‘Ô"®V½Ú¥Â—(‡'ü>´%±cW!š‚; ¬Èhðäa·àª÷O¦Ðtì(âìj°†‚j÷@"É*†i꾄} ßðy‰¸G¬!Nà®ñ[U?,ßîDº‰¹À‡¬«·ñª¯1𢡻øàíÍ`95ÍyÎFÁí׋ñ@eü8¹nGOC{Í4¹e‘‹ n’A`Ç“Ôã~Wu¡¡lbóX7$“CÙôúÒж)ŠÊQˆÂ4ÿ¹:ùd¸«. þØ,á~´Ón㵓ÙZ“v£³Ï–˜|Q0 hª…Ý|Q³Ù­Ðl<4Óûc‚rØî¤©Z<‚ú§™&¸Ö©=â:J|=pëÆÌªO˜RDE¬ÿPÜ54‘à&„«Á®Þ‡ˆxž3B1Iþ`;C}hö ôQs~glNsB`X$Õ;Û0E[>6ÅïÞl‹¥ØÚuíÿ«gxù¾q[î¹1M·_¥¨[3èºÝC½qW6¨E#hÆçûµðÝøÊ¢ø µœõà?¥õ©B)*ý¦+¸æ'™e#+–uË}ÅÇQ ,;9/&9\{‚ªa°»õ¡ÀœÞÚÃ\»@9m€‚ "ñ=•p>ܽS¡OJJ"5}£Ðd²N#å*Aó4Ë옾˜•‘SÊ,wJv6ŽŸ`Ð$ä’ÈSW’Ì0¢}O–ö5œä#•.@Xl ƒé&Y|ÿ`$‹Äý©Wff”C#ÊÛ¶{\éb¿á®1Z­Áñ¶Q}]KÒª{õáç.wóŠ73°Éi¤!85M¬¢+pƒ_¾æçãl¦{3Zl¼Ñ…|àUyoüjEfôu /rS·ƒ…—¡î€æø@»¥¾˜ø®NJšåpLôËùkHC„Y”Öø…éçF“zaÒQ2ªn±u ÉF‹OÍÌÓÃLœ‹µLªkù1­"óéµmÜB¿OåN?êã&lugþ ?2(¶Æõ0vòð˜Q:»t"ÖÉÈ9CÓ#`§ÇÉ“÷Þgç*)ÜÞnÍòhÊDXvgqÉ4ÆO͹±o6Û%.±‰sŽÇ:V#¬‰Ã®eЧÒú•ÚlKl®5æd!"üëHY:ÔþÀñW4Æ<þ¼G¼ aô ;­ÙJ¾> A@XR~Tà8?”xl×èw¯jUh*è ‹;…?£úð¯àÔßžç.iø­dÅÑ·Ý”F¦9ÜÞ&@W©ï¤¥QI¿K!»j²¥KØ#ä°L&x Ë5<*ãt|·rDÆ1·. Ô×2x™4;S$üá/bÙÏåôŒÎW¡h, Šfn/8Ï+‘%‰Û‰À}ÙÈüŸþ“Š'…cœøo(œÈ\âG‚ÖÌì ûK ›­@)Í4f‘v¬Ý6œÎ­] Àæ.€_G¨ÌÐJEᥠ>Vp¹o©’5·`Ñ+,ŠØv ß¾kÅ&ÄôĹªŠw¡ÃØ_€#ÊÜ Ù­'^ý}—1¼ˆ’†o%ÁdSx„¹9Šÿ)bzHkŠH*Ñ‘þØPá0ƒ»€J3Ñfå-o0ÔA¨ŸÛ”|÷]ó)ùW7…e„(®ƒ¹µ¬[íµl+%l=—÷ªâ~‰ Lø@¿ì™rOц¶Sz ÊovxŒ$Ý4[z¼xÔ,Êð.ÔEdŠ[úÕ%!¨#€ZeØu¼vâ/ç¥K¢Ò¯5•>ŽÅl$aJö‘Wº²{³J“-È~os/Ü ¶÷&ò¶Û±i!n ?‰p幚×ééÚ”5údoæy¡Ðܪïµizãø•?¼hš/L+0†î*”–’ên³ˆøæ]ʲìü¹§ðîj5\H¾æ•±BÊY¡œÝDHF8A¸Pe‘" ß8L©ûÞ»[UKŸf8±iˆ¢yfq§£¬Z:‹aÙúŠÕž¯ Ni-xÖZÔÛÛÔ?Ô”CªYý„:eï2̇˜4z3o)òOraj ¶ý7•Ñ]‹H²–m™°WD¨¥'¸É §ëê<ÆOâH ;-•ºHÏKÍTÚ`:ô–|$u)p“væ}zýùž÷5g’‚9Xw÷EËl*ä-}ðÇéjI|6åIßâ_¡Pð /S´¦ò¢¡¾f™ÿ®¥n7:g›ö•îŽýE¦Uq:¥T`eB»&2-0)xÂt¿AY"²¶²ÍµÕïôáA„õ#uŠî}¸à'/îe¨”º^ô¯¹E,çÆâ$Isvâ¯Fp|[±% $'m‡Oq§–7ºðÁ)„~xòâ'Þ®$yƒŠÌëN½D®ÕOøÔ¿GÂî#BÍPþy%^æ ÁU:Q5ŸÂ¼ç„ÈœÅÅ%°!ç›Ðê3ºe .£²Š™ÅpìíìÔíN'è|§ÂN•sK5N¥êB=jë­Bnñï„ ½î~¶g0nHèï­­¢XÐÛ "KLé"<»&ͱÏ^t;üŒ‘ÄÁû#KI¾ oϱmÐß¾ïÄWݧÇDN÷_¦ gƒ C³[n ˆxÀZ¦¶)­DÜÁªÙ;NÚ,ä{Š<èfßµÐàYb#iÏXêKð·:]öo!LÓΠnW«n÷ùG{‚Ä–(QÊ™ ή™=“DxÔ4•ylp¾Úê%ëœTö͉ŠœK±R „Þ€-Êg3´,z—FÔ@Êìe)˜'8¯ÈùZ®tu-û‘$àå«.ñ¨S§ ó…÷xWè•§[fß â¾Ú1¯“öfÍj½AFÐ4΃¦¿¦Î9ëiU„P;dÿ5˜ ×R3µ]â’¡$Õ˜„™ªyfWHÍ×v® kdS. ‡0\óßÃÂ$nDþêÑQ¥ei·ç.R[¢ ÚÐç­ÝØ»¤R¹ôšÏ¶µ6âKÜ&ä{¢Oˆéâ¥x+£òß×jeýës7ÂN»Paˆðe15†³!2%ã¼1æÑ¾Ž `ÍÞdP‰±‚11¸ìæhêqå»59}JX㔉Lm‰É •¦7í&•צf© I;Cøœ¹…h6]ÏÃm点l°)¸^ØùâNsRÍCÜÓ¯™5Î~o£ÖkµïµH¾µk‘ZpÉ6J²bBÒž¦ªr¬yúÖø× ¤±VŒ*•Çv ð… ì«'w£f‡zÌÞ~§µ`–1õ(¡ÝZ8í{NÚ·R6… =0HLÛDÓð«óÚ\tqálAón Ä …—¡cì¬c ÅÈŸ<ÅÇá9vÙ?ÜwX‡‹ü¸Ç}1Ò éA¡“SÖøúk^ÕÕ‹ í÷~Í{ÐPè“|Ô”«ÊÏÇ>oÿØ.L#9µ|^wü7?`ØøÿÂ-^¡z¼ ¡í³¢ßÜP$<‘©óû™?0Úò¹ÑË;ª†.d›Ýÿ½ÐÅ5à’mqÁÛ‡=âÊêTAãMžN¶ͶÒhÏ.Ù7ý„ÖÊÅd«ÛdY7Êx{ ˜ËAC ý?\HjDÚNžw'òë)FË`-¯I%yÒ‡dê+„Ý{`ÏÜõµ6ÐO°„iD_ºá¨+á—³+늄k¡®Ê¢Ð‘ŒÍL¾é™N¨]‰¤_ÇÉ ‘#?ÿ dH9¤ú.‚LŠøðºû(¯Ú^Í6TÆu«y6¤ýbÁ]Ù…‰#lŸ‰é™aM¬¦€6aX7æ7Ê“Gä”À bÙNivÚÿ-jp _©Ë Ñn³Ù¬Ï]lQ¿¬-²›¿¦OzÀ/K‚BÈ U -ÂZáØc&$vSè#.˜9àèHsÁSÖÏc¥Ó{MËY·8£¸ëWì¿/"¦%°x5í¯‹DÄ.u­Çÿr/Ý´}NåÈæ’ȵžvThÆã÷¦íLÓ 0 }+éáO…óN ±Q©½ü%œ³÷VDpï8yNpÛ9|…°%víebÏDšÐâ‡`‰ÇºcÜžHâ`Ï€¹éí ÒÃÑíпcÂÄN]×ÔÃme} p44ò0UØ_²tlïAúþ“—»ƒsÂ9rœì·Éf’çÌTžøÔð5αøa““x6j]àÛ⣊$ÐÕ ÄÖÈ;òQÑ_ˆoëºÝEhàœ£ É?û¼¬Ð¨ ¯J]ôÄF%G1{¡ÌÉyμ5ÌÔoõCÔ9{äþXÕMà‰ÝÜzö{ª`8ºA×·gJaBÔ”ùëp-…;ì~®öìúÛÛ]Ó"q #'¨íâ—?Ÿð .}D]Iãbr`kE‹Ïû´„…™>kSì@زZƒàÿš;P=6í¾õÉé)Ká´:ŒVÆhÌé›Ûq¸+ÔŽ›ÉñÅÆQ7¶k\ )Ì‘ÐCbQð°hl8ƒLBž¨…9ñîÿáƒþÑ›1µ–ß{߇ž»–“‚67ÌúŽz VŸga IvZê4’×\†ß}JÇ Ò©žAñÙqTbYÚ‹º(7 —Ÿå¼àÒ>ñbÝQQa8µ+z»Ôgß.~˜y`ÍÂ<’!yê,µOfâ|qÖî­ãÑËŸé o5[‚ú)ÿ§º5Ùì-( ±Þ]a|¤äWpy¤`îZ°4ƒ`jÛôÎîy”æ1í´‹” ÙV¤`õŽÔãcW}Ñ[W'b¾(’ !Ûá4ŠX`˜`@Lñ{­¥Q'…͇#Ž— Ô–»¬“®!ÄK AÐ ø?Ùýc0%ö¾Yÿ‰"ƒª4“ f£óÆï/¤các°.Pƒ_¸a–*¶— ¡s {l?³àQw'ð‘áý""èÞï’;ÓÙT½æ Æ‘µCºYà«pYǸýn¢Ô±ßUK0i¾kü—çp–2äø‰ñª4J²2¤ðºPåA>È ‰sŠÞÌ/‡Éb‰þŠ®ïê֙ˆ™ù*•1ø#%–ÿA?×­ç¹CÀ—Èo-× ùíÊ ¦ÆRÁ‡Økrmòãߦl®cMèÇã‚]m³¾ž ­pÜ!òPw'1y»ó çT°™™­ô.étXT•+½m»†²êß oÖ49°°"™PK• aè!—6¢$›~ýZ©‡ÜÒÖ@÷ì«ÇB i¹>ï',Úãã‘”kd v—¯ñT¾’Ψysñ4¤ÒË„ ?{¹6såieþC¯hS<æ¬þü…‘]”¨nÓ‹V‘ÅGÆ=§¡.Ö#äHÍýª\ø7à,37Žä·ªiv2-NïÐÈ_ƒS5ã YiµLÒz«ÁŠ·Ezï?|ôã{Âô¾}¸©­I’Z »mØï—ûÓøç<=M\ûzÒ—±€ÉÂÇy|a4Ë'qÃýF¿‡,šó?&µ-õ€‰obš •wî=ùíײ†¯Lïz=ãÿû¢À#ïº/83ÝœW=n<>tÈ'6<¶)6&=æ¹?fþ(ˆÝyw‘¼NGBž%| ²Á{5×aét_+JFÁ–¡›AHÎûŠjá;}æÒÛˤbÃùÌv*Ò!î·¿ií×61u#ƒCàÊR#`PÀúc¯4Z—Ÿ-FD!Æ»ûkÕHvrÔŠ: %ÞVéPqR`õô)Äg„·þÉõ›4R-.F‚wðj‹xÉ-¬¨(ÇÖSȈ•µN÷B47ƒÞÀ¯paT1Úƒª Ä’Ùqp•e§Pé!¿•ÕqøŽó[öšeùø©Cèdˆ|Ë¿ 5§Zm:9ÈKY‡$+ù–Kðí­kû½Fθ·fší.ꃛv¶@áo„Ô‹îÃn.« 1R&n6©Ó©{¸ŽJEá‰c£S ïÿ¥ìvÁ!YÞ×[fÖl£¢XyÅ“„ÿ¨ò0<®­!{DKñþ»kúà3wÈáƒ'Š>žö‰Ô€H+öÛª4µSì/»ÁXd|Ö"…òm%–b‰Ä…¸2__ê0™·à9펽¡É¦®×¢Ð°’…£®"M‘½ô£˜ÙãP]O ðI¦ìÚWç=ÚEÒµ/¹©ba·Û˜þ”íxç¯è¶¨Ê¦½-MÚ~³4‰€§ÌY ƒ w¶ÂöVQãbu«NˆX“¶áØ” pu¤¦èú,¿øî]ªçψpx«_“a\ý-K º0úàP»>ËŠúA9XÓB þŠC°šÁË·A H@Vs*óÿ¬Î ›Î,ÌŸðx³ÇÄ›™³PÓÏ\gVÅï—ˆ‰)3F”¨såÎKŽ£…-!ÜVsçXjàa‰9=1ñ¿±Lº.ìð˜û ?{‚^í™ûÆ¿«ö\Œ¼T#ÆË¡ ¹~Á;/ÇdBJ¼¼Ìk€m2󫳕koÉ;q ‘5¸7j ¶yù'ÇDÁ3/æù[?QTVÕPh?`âç‰Æ™ÏBX9Ê“š˜W¾4 ‚åsR…×ÈÁƒu×§†]J† ]¡ ikãç_dË‘s îè+Ë÷§o…N{êWu%¸§E¾¤Äë!øtŒ{Ð%i"Þå qß_yÔË´¾‡ýG¡ìL‹1`<~kÐÁ9¥4ƒ–ÏQ~áE2½¿;âZ {Nî†hžñ ÄÈ4'k£ð !|”»Öäßîü‰ÂÿÐ ‘kØßp«r(þ|~<¡xrÊgk~ï ŸÞ%t¯v¯ÀÕÚ|é#Ì6žÙ°“,T´ ¦?éÉPÁFž–ÍCIy*¿5åãÇT•ôiUhmTÞ¥ÓD \ª8ù° †(/)7bª<$œlÂ}n>Ñý•mV=(™z; «gO€eoEª„­¬´8@Ú5v¯P3>qf¬×Ѹª:1D›ÌùBƒøí®‹8ØýXäc:ÍCàÉ;!el|àó˜?Õe,UÜ%»¶f"«õÚà¾ÁØ©Ì|UBÆ ½…'q†h{í.MLlUf|•Ðàrë%Tùabæntul©¶¥¥më{S€òåÒâ…ôcV‘yZûœc3š|ž»d B묌?ƼÖéæ”wGMîÑÛåœýBà ¯«Kîð~o¦9;ýñÛÞÅû¦µW8×½¢¿DQIK—?dÒ *iÊ’ÊÜvcÍë­£¸¼Ð`÷ÿ+&|X@ífvvü{Í…´Z€¼ºÝœ—å‰S8Î~"åM ›®Ì<àáQJ^¹®ZoÒ|ƒ@ EÒµÄͶF[± 6˜ðk?‰´,¼3IÙ%Íü³¾}A”\>$W`ÜŠqˆ»ÅJ\RúNñ»ÛÎÓ"Q½‹ 6¹âsîU‚ Åd§`ªîôï c¯W¸’ÙÍ„Ç}1ØJÄT¹Ž(ÏVn0îšdÔ˜0˜Þ÷^­ë¶ðp£Ÿ£ÚJ piԽT#;£ÏnÓ,ÄKÚÓ\?`µ'l ºô‚ePÁ@ Uô¬CKÕ þ~ÞKå Y-—G”| ÈJØ…RÐ8<Â%ûŠ‹8Âü1„!ÚæFYFXPÂ-Ò"æéºÚG¯Ò‡Î‹ ܒò;"9)àˆIð¾n‰éV ‹áÝùûÿ¥´¢d‡e›ürbˆÅ Ûc`'¡lóÔ˜dªjNà ­mÚ§C¸8 ê³ÊÆ.Ù*bÂJÜ–ËŸ€wÂfÿì­Ú0–ÆÞz&.£~»˜ó¦:æ¾T†Ðreðòª$CÐVì =G!ŸUÚ(ÔÛžìwú±5U+é6–b9;™Úe\edLJ_˸^Ùùa\ÖEs3ÛŒ­m¹Î¥ý±VÜ5š9_9O%%¡ç­T‘•ö.M"{û}+k+Þ@ÓFñâËN½#¿DcÈ&ü)‚ØT4üó6u)‡q–>o®ilº>µ@S•iÕ—û¬pú¬B²ŒsßÝÇsd6sªn$³ké…ŽLpÊuMÖhÞÊÌ% XM ïëv}Bݹ„±~ÒÌ(c'Ó¿“LÕÛ’qUð÷³r’2=lú c7|Š9–åaX-†ºüÆç:s=trÜ9XŒB…(’E,/ŒºWã>ðáEÍÑ|”;L£÷²ß®y±C Ê–O¼f:Éäc:dmà7ËÒÞVš*‰§mÑH??•aëº3çÍìTu°Â[¦qN4Ù³ýåehYgêЧ•ƒÇá"~(Fô¶)$  &˜ÙÑ¥|áuÖŒU“©á'uŸ«¿í{jAå…n,YMÑAJ-€è3 ÅïéÌz›ßÃP²ùÉuê²*@Úá$ ¦%Õ £ôüd†@uRͼGÇ#îC8ÊÕÏ:ßÓÅUè¯Ê€{D0:%ÕQ5â*ÊuOxÙäØwbi ÞêâÛh±DUºMúÝShJLTþ<,ìYÀѰØ\/ìa3ÌÙ¦W[¥f†– 4.1P“p— žk­-¯ƒ_ûsx¤Nưvöõ@o‡;m57ZZ±Í’³œ`[ÿªk¶;àÉμˆWCO^‰šìëq¯T˜]9°=‹Ûy´žG„î©x¯á÷>ò"×ÔRÈs9ãÛVÝkÏ2äÔ'+=¢v Š;7¨œWèÓiŒ«?Õš†zÍ^´eì ¶¸ÜtR «Õ`é/¬|ÊTþ³b›%)¬)K”µËÜ^ÿì]Ubµ×÷ ¬ùÑÈÇ\RmŸÆJتd˸; Áfr™¹¹»"ÈT|Qi1ôN8s¶àiæ`×û J:5y7.jÁ‰­‰Z¥É´tl8í©–Rºòid= ….qdVκZ§Y¼ PC1%¹Ø+ZT\å3æ£VQBPk5ܧ¬ŒUö}ý/Û°‹TÏÇçëÌýc`“ï/ŒQhê4Ô§ØÏ,÷ò0.[¢{ìïÊàdbi¯&ž>àãðyˆÃ̓^ÎOC$?±]Å¢šDlª#³[Tå~Šf¸Ø1]½\"@®×QlÕP¾ÿ Îlz®êÌsyN°“U†R©µŒÜ¯‘ SŒWíT|šzLXOZPÒÎÜž†hCuÂUú$.e:Ý¢/«†j,tÈn]O(|)©‚²ê¤èÎìqU@q¹Žº¶~@™MàäM§ª“*p~Róß'Ÿ=Ü*ª7Øa£˜-á¤ü’Ížg[Sî`¹‚›8H)[‡/†)”@ô/ÑtÜî>gV?i®¼¡EضwC3KõOî–;Ò|ü+D¡•Ë‚-gZ‹àó»Cò©SŸféIBÅ£5÷jÛNôåÙ±åï’á¡HÚÔ}aè„IЦ•›s¾À2|Tû,ï M—(— g÷PY ~Òݽw„:ãÒü F¿DóHe ›0ŒÅå76g>ÊE°Á‘>cÈž_,^ŠÓŠÞÎÌ›io%çä¾–Ú"/É<ÍÐ8s‡1 ÀirVíáY‚Œv蟪á˜ÉßÊ8ÍÿmÌñ¼æ±“Ò\,qÁ4»åŲ2:ýáºÐov$ÌÉà)ÎmÆÅ¦ö¾IzœH„HOôb뿺¨§1ª£Ì™µ(²î-j«S5`¥Qr”?ù} W¨-“{þC3 ]8„Š$¼yá7¼‘»ŽÍÑøo@©Å9º‹™L3d(œ.Õ‚ø›­Û’y¯¾I]ÝîZÈ ›MR[޹žÂÞ Õè/â\κ5bª¥=§Ë$ûÜ@Ž1t¿àxöº¯Xƒ“Έ‰§èêg«ûú~ÿåi¼²ù¶‹hI1ÆÏ£äêW_áOâàèÖ´’!}¹ü 6^ê|‰ZgÑ”Ä?OŸ÷ŸÛv²LžƒÒÀ®ÀQè¢ÜÉM ÓF„¹Šj ï8D¶gðc3ë‰É-T«$@ rŸ>dmœiÈÿ9xˆJ°‚§ƒA¸ KmƲ-4y+.ìt!ÖV N¯P@¬4BšøsÿZp‚]Ù†[&?öµdQ-v¬g S¥Týç§7ÇõòYÊ߈IÜ1Ûßo%h³xuS8‰€þ@¹ŽÝi ,)ã¿@³‘ RG=4o[N4â“–cÕT€;Eöi(aI}²Œig/ç9Œ2è`ÃÀUÙ²ÖcZÛ7ZÅMZ¹B«i?‘ö¦Í}}>Š5Q 7ß«77C(ÁÀ,—ßER ’núð) ½Êöµ5Ã=Úf*šR&U!3yˆ-®2¸}©&×:m!“ÞælŽY 8c£ŸŠ|_ÜôÇ=U¼î6ô6XÆØ’Å,Bæ»ó€9­}–9ívv„Ì/Klõ}Xö”*Mmÿð}zŸXËŸ`”5¹¸f"´rÕÉÑœa8½Mâðã¦&Bä™îì›Âà€E¬™s—ÅK´!èúÕ#QâÐQ øRøbdK¨B­‚øÔNƉKör?*ö¦Æ¶¾7zÔb4}”Ê\¦FÒÞŠ¿á&ã멊2üάGAÆðŒ6¹Bÿ'!pVZO#†}f7¸qámQ³ÝèñVõQ(ÌÁÔ“=a£|‚ð$Jg¢f½»Î†sÁ½TG#Ù|W!ÈÐŽÎÙËF ë6ù!/ãVè!B£š@\øŒnõAz8¶WÄ ó"o_®Üñp¿ÔÝÊåój¶O(ÃŽêcö„ÄOtÁÿô«Œo0á"vz“ÃçsŠd¢ô<™Ÿò‘È»k>§H™^ýúšwÁhÛ´GÊÚíÀ^i57eHªùÞ7Åym8g¿_Ù;J:ñôé+T·¯Û´ÙòêÞƒ´P”1·eå–h’.QDUœNˆZq?V£ŸCº÷ä¤hå .ªwɸ°C¶¦‹J§©©«$ü@ rf|Ajô’:mOx;I­8hç¯7HFV'¬®qBG!¬”#)dZ>j ?òX¾k1[1‡`4” ír…v‘Ròc šôu“óiO^>“Ójµ £š$¼>óÂîLß!³‚!TˆR`(‹wŸã–_ØÍš+-ðÓÌ,–~y›’÷J¨Ö0Ô{DQ€¯þ LßtUœ¹‹‘^ªh]±‘Tª›ÿ’ퟌòí %kZÞ­ÝV^Ðÿ¦–O¹›m‘söjÎëiš1]þñ¨[¶H*‚ê*‘žaàÕ;Û¼Œyñ þ˜–%X¶~v=äHÞ¢Z CgÄd˜Ž;;)[!=hœ8K."W3w½’íÌú£‚ß2Æ ŽŒ'ñrŠñkÚf‰¸#LÕ4äC5$ÈS}Ý.£þŽy$`J³T;A‡ý²Ñ9!HôÔKBkuïNXûz‹m Q`§Ûá*(&‰ã³úQ{/EW¼G=‡ìхس¦}?åÉö­ˆº×V¯Ò$[j•Úâ—Ýt?9þ.Ò–$ÚlÊÕС&á"L†‘o<^O'uLÕ5þCü•“r<­éÎV&ñ_שŸiq“sN’45u0³ÿŠ`C0ŽK›ÈpïýÎ6ɲòÚwîsP§ä_WwÄ+ý%è­ÜIÇ™mrÖhß¶1Û0±7\.78J”ãäQ­¼Åþœ»Y |‚Y܆˜ÊRÉߟÌo×YXœé‹ç½xîkW¯þ­_éC)]¼žu>ó¹%›öPŒ>Ýû—›+ਭ©âÞÕÁ•* #¯úáݧ>##s"îŒb\¬ö…;ô¤â_¡ŠmÑ*üú‹ßo2ÞWlA¡@D(;8þ½öJRëÂ2ÿ?oÌßž¦ä³¡\™¶Ü[âxÏJ]eZù-Ñ÷ÌY’»0ŸZkÞ0Fp Œ¸ø ÇúË!6†ßÎå!âæslé5?Z¹ÙŒ °˜¯òl&1ð—ÞEˆú$©1^*¡2’Ϥ®›(laš ú ì¤OaÌù!Ù×)D"¨i½˜iòüåM08[ãâß^:ÛúÒó?ÑWùv·Aø®V+mPÎX¢Èà`lDk™Äȸã{¯¾ çwª åZhºçÁàBÚÅ:4Cß}"À·ìbS£œÇõì°ªÉÔþëÄAx{yb+'wÝÒ`_>8„7¨ÑÂ<‚‚‚¶ M§Ç/YˆžÛL1!uf.å=Ø€h tq3©ïj(vØ—ƒç_íÃÔÔC¿áèÒÓã÷‹aŒ}ί¡m Ñæ†¢ä)ÑsT‰Ìücѽ†Q€A…½@öÔ³}‹ã{Q{ÁDœ.iKÓÉý'“£¦eJoËŸªÄá•xdæ^â¤ÉGÅñ…(Íð;‡EJvù-sµuíÑl¥ì,›”8˜=¿"/v/Ç4†Zi?Ûø3ÌàDQ$ ‰A¯hýQJðn?ùOÓº™fÜØ%­Ëâ9J?Ca€+B¼¬  'N¸¬¢&¡Y5áRT  ù‚ßÁrö»i$&‘Ž{B¶£b «D:nÌ}0cŽž;+ÿ_À®ùPLú™Íl·|?âÚQgc'Ÿé`I-‰ñƒýòC{ÒޫƼڢº«¼RêÕѼ[U]NÈÙø ¸>•ÔäˆO…‚{ rò`'Ô)ˆNòÓó­€$å1ž¢)÷ð°Î9/_ÊŒH[ìé~jFhb2ÙH?¶…‘×ÓkÂö=$¨¹ç©MkK4 !~­Ó¯H@½ &ÞõÖVz-”«÷Üd±“‘õ~d„hU/ DpO;tw+<&¥ë`YÐôø2•«‚:ÊÒX…/ýM¤Ã”SÕ8¥YùÌ ™+2Që–l>sì.Åï=ûëÖ‚ùÚâ¨{·›ƒK&¡¬ –ðêCÿòƒLd»>‚<ŒÚ;CʤŒ0¥0Ô8G Δ¤z½;ËÍOT­e›u/f ‡œÒ âÃÜÈJ–m[p©ü‚äHInþ„àþúű³£ÔfR„cOIÂg:yeánRþeŠÃá5ȉDCßœ‹5:1Òw¢Öž] Â÷£S_r†+®‚ŽBÙ÷¥´¼V¯œ½’LÚUP¿Ù´·¡ø^— ø¸£I¤R5îcµz­É^HG#ÂeõAî5Hªâ.;ò£Ælß©‚Vë~NÒYü8ÿ9^Í̇Gêoçùûí³hKiCJ“ Ça#IÚZ-ky|<ñÙ€Ji?ˆŠÓú½J­B¨“©‡A+I‰a9Ž‘¯™°ZýÒ… ິˆ{ÖUÄ5£IÉä%ï™ÖqÊË/wä/ú+©Û«ó ½‘+ÿnÖe`cœÈeÔRù3bØ#r·ßªá²Hä¯sÃoù›ë¿tÉ]œiÉW,¾z^½wG Ù›]7÷!ñE’œó9HüŒDâȵ€À°Ü°wÒ'ÛMÂlÑ¥f2½fìÚûN%Å·'»ðøàVÖtÕÌ]#ðRÁNH¶j¬YIØ¼ãªø8mæ è$Œ†» ~jHK¦#PsÕÞÚ”¹ÞÝ·N1ºò·›ÅrèsíãTòL;Æü ‹=¿ãùrŸ—¾Ü(®B—É’ ³´`Šƒ—áºtÞúê;;˜‚ø Ø}ñ›yL"þˆÎ¶ƒë%’ÄQú?­¿þð{Ü‘÷úh|ð] ìE&œ‘}ØKG r`úOÛGâãD¯Þàý@€«­IB¬¿‰²ToðĶNæ«\³–z]n¨ù„ÊÕ•ëÿ_½*у¬N˳y)ú»øë,ùã#BÂf¯…«LØ /$dÔT@»3Á8hùd„hZPBˆR(‚ˆø¤Ý%ùœn Nžc‹*ý:Žxé IÖž¿™Œñµ1¦¸Ð9Ô0&€)Ácx!­¨@ÙéGò*§ºþBÊÅM\{Í+Þjá ‹*ù¿ÔpUpˆ“8ðZÞ’¤V‚B¼ ÙkWyóœd¬ç­¿°¢Õ¼ Ç·Qæè$ãÇ+¶ëà«¶a 6Pê žµ-€q$<rFŽÆFû›èã­›Ém%Ú’J´y”¡}(iY+z}¦¤?Ò~ÆaÇL½­–ûª&Û°X|¹Ôu³6–0X5#;üc²]´ ·M7(Kuž´ñ$Ú‘àaWeá¸T!®N¨ÕÒjJã@°jO¹¿@7JңΖ‹µìFÓ*ïήbÕãzmРð>ãÓº/û¹‡Cã´~Ê·B“½b)Ô£Áëñ_:Û´½VîÌàq÷¬ŠN^G'ñ@¦ÔSLƒåI8~Q}ß9”÷¼¹çX$a\ñ:ƒH ¹#0Ðæ8âÙ‘Ú…¥éh‰K\šsíç6~ŠLï9֋ή™5t¡g÷*[œï7%ö¨ÝM¼øo•î#Öö˜ÌJiLjô‰1W=™˜«M CÂøÞHjQ'0úêÖž)iAÅÈ’†tôL‰ì6i®¼L¨µÇÂÐM”Ú@Ü/Ê—Ï8g‡9)¦u¤3Uþ‚P^ƒçÜ®-Z°ížŸs‘Èo°˜ßñ=)Lèœg(Ó׿ÑñË“”„íµvµ÷Ít}û¹Nb¡ou_0&£a ÒÏþÉLy2AÝUçËÿÅ®uÅÕ“Ü,€ÑRü­¼&ÙChCc·oiŒéKîÜ"ìo,Ê„7uÉ¥Ø]XâÝŸ‹gÏL‹Ô¶ðÐ4ÚÄÆ(]BZçWœñ¸>åût  …¡Å¡^v{ØêÎÒ4à¨d‘­Õ˜¦ŽèêέªRðn†›:Õž-4’¡'²«q%EãgÞ†¹¿ÆNð4ŽHUsýHâ”-ÂNüŒc}_IÁÐÛâÎ*P¦ðí9‡A ¾Ð\`0˧¦øÿ ßÃÉÏZ’ _hÛ‡›a[ôæ}Xb’;\ó°I¦ÆçûXnñ¶}Û-ÖðD¢(2´æ[ßÞDºÍ…æ8¯©×Pfœœ1è{Óåëvdäî!V™-2~æ­ª ?ÇjAïŽ_Ù¸U©7Èœ†mÿû•1^'•ᚺ—® ^×;Õ›é,§ ¿k™`0oP僥Z2'’bùJ±i0€šç=… /úÀ‘%ý’4U"³ÿ‹Áíê1r‡Ø¼è~êîæ,½uîàRÛÌÑ”Ds-ó%Å;©œw3ÎHNŸp:Ô?ó´»Õë¤/Q8´éµy¸–Œ>S[rÛz®2ƒßŠ­Hï†TV›í`a„âÐòìx­ÈC>íÅöY{¸ðàûK{Qåœ$co½fþÃ+v÷èkÑ”ÓøÉž`KvK¡ƒ mÉ™¸+cNGpóçûõ†EÞÉs)ã•ÿ½ë§mîÞ±ödu\羸ïÍ…6þ[ûzä–$Aš§ ¯~«{Ž?bToék”ST[£¢’­éB“ø®±ÅdžA‚Jî@À¦]GÁaÆhƒ.&‘/=xu\¿‚6À ,â+ËðÇA¾$„…ˆv„Æx¨´ä^/d§?к½±ÒG†(±fÍɪƒ@£Ü–I‰tÜš¯Qüâø™£•Ž àn g Ö‘½[^õâDÂBKTÚˆœe¹Í…Rh‘td–Âq”0~# œåû^´ž ÌVµ8†ŠW^JZ†fo‹:\c~ JÂÉ”TŸïv •)`o‚=—áˆÅ"dÞ÷‚݃Ð×`[À´Ë™¼¡–f€/g1%X‘|ž÷å#.ÛÏ­\- äáú9¿ÊªT¸ðá¥.ˉaÕ¾e*h#^!¾jbŒ×,àWzmÃq÷áEís0— ÐçÇÖô»÷¨Íë:°¤Å;QÎÏÞXÞæÃ"åóroÒ]ÈÞîí&×7QO’±‡¯Oˆ ¿ nuA„Øý;F?ÇØ/¿GCvîÿÉŸÛεzÉHÂÒŒYôxkǰÓí†Î°ìf0wEÃЈ2Ph`-ÒñV I )Ûj“«‚»é¾ß0|ÙzèWŸZæ:v<:Ó¡,ftJÿ8 qMq« ÀSÕ¸I7Ûù:²¹M¨3=>ðƘPR`¤è?ŽìÚ‡U48—)oeoò°¾8À›€€ÌaRúUž·B²Y6g–=á\ÖÃöœå~Xƒý~-oöxpN צÔáqø(†áVÐ'ô×·®§Û£ÊÉëU%}sÍŠkñ[)ô4H¯â(–îÒ¥h Škäx0:D$ë©üûÝ>i:eëd^å^Ñ¡÷—[¬¿å8©@}(ÙûÖœP†b ‰‹q²ìwŧjn‡KŒìŸo“ýpbÊ¥P·Ë—xÀŽLÁæ÷zXüÇ8BUk5L=âh‰üXîÑŒV~\š)÷ ¨)þëàÛ÷ÌŽ” ùÉÊÄÔ¹¥[ÖõFÂAõ—ìeÙf6T]L™Ì^%Vµ¿ ÝsßÖqö÷‹TŒñðF¬×‘ò xDÇæú°ß^ï”5“¬lÉ„é·õwFéw^£¶ßƒ94kçÌtÉ1 wÞŽûå$¯Wžp ÁYtÿD’Ýž‡œŽŠò¸·0?l"‚œí'”ÎÙýx•ü|Ë<í ½ýT¡!2‡©šÅû•Ü÷±ÇÇ|jûˆ°)À€,GÓ5Ï-¾ÞìdÎ ŠÕŽ.. m[o:´5oR.Uí¶Q^¶–+$Øã!ß$q5¬¥^jáãA¶ÀP—ØT7¯#Kù¿9¶Ð"32VHÑ’Ú_m..ÃTæÍþe–ìX°â£±ìòêxÄDâ…w"ß{‡nŠ’‹ÍÏu³äº¶T°)çÕýòýô;‹iÅCÐÙÜyÙ Ük‹g•I0Þ`¹ÊeRQdÝ-¼r“ôÅ55Ïž‹xˆÉ%xêíŸk·¡[täBÚKá,´»b³gì.«ÔïŸ`=„ñ“úÝcóÿümåÒÕWÎ,{_—bé-Ä´œ{ê0㾸„pq1 9nC1íÁZ¨óDw¼Ý„0gbÍHÛžºA;;kT«úV$ÔÚÎÅE®ÏןãÆQï}wM…„4n%ZÂpJí)¼4·éEÃ-;³Êõ¦(Íß2’™Ø!×E«yJ&HK³ç.Þ(TÇÚ ëZ)=ùÑš¨^.äÊá7woûC›2füþã4|ÖBf׬!6†™ÛídÏ3™|þ¶Äô{ \XI¤h9$Ú·C`©ÍÕNË’sCí¤ò«›”èoð„³Ú< °E4@¬”§u±Š+‚2ãD~Ž# ¿1¸¨èúQçë­JzŒDMÜTj‹[øµÎ‚ëÁK4®më—úŸ¨3 SÓK~æxó ^õSÚíØ”é¾h¬>ûUÅÒoÑ´ùŸþ…ƒY ðæfq¤Î‘íu½ ç‰Ï2 1“ñ¥Zò€ zk *«È@š†~úÉp}Ö>v€–ǹT1÷‚‰» …a6îü’ÔP‘$>oMÖ°ø¾Þ;©±Î’Íë#úƒíîÛ%µãF‰œ2Þt ¢1â•ëⲸƒ¸sôÅf$ŸÙY #|Þ™¤H{â×÷ØÛÐ[ü´ÜÌ:ýs ÿë†ñ®/É& áž«êµ>º¬;LJPÕõ¤^÷‚ï;Ë÷‘†£æµ+T:ÕB±'f{€ÍiHÒ µ›€GK³j:ßæßv™ [m7îÓ[vQsÔÅ\J€¦'ÒÁÚ§†ž¹Ôñ‡Ñ›å…ûFASµD-fŠå/áÒ”¨4û–ÖNQe–ü5û ¤ƒ<Ü‹êÛŒíÅ?Ï:˜dëÁв7#ä8‰0J¬ëd œD¹sc´Ûœaá5PÏ)’UŠê ÿ*’^Ñ–x&KçûaÂg›üÞqý;œ2Éîøã + ÄlòìÎøiùV€5—ø>—лÌ( Oäºc¦Í†?×â’õ=3&ªƒL0B‰ÅrÕúê o͉ƒÆí‰¡*-×úïQMüa[sî?ºaM¿RsHZ_N»Ü2âà'™õTÌ ð»¦¤±{x³¢Â6ÞÒöµ8¼-µõÚEøg;¾IRÎkÞ ~~e=_UŽY¸?ùosyg?Dbw£÷]»ÔSTòê=¾S¦ñg&‹÷”fŠôàÍ~é"xuè€M¡Õ1½=¡ ‡H.ÝV©çuàµ.Ï5BÇ6´“þŽøŒÚ¶ã°W´eó26zu5‘hZ+®ÈSÕJC ÄþSéøŽ”/éS¼‰©ïõ–—.í=–o÷o¯Üþ$&¤1ýÈ.Vƒ§]i>†Ñ¥9@‚•}ªŠöCðEÀÚL%ÈÀ—?ÍŸ ±]³&uË\•z8qa8#µû.Ó%ñ).e˧¨a#á]žžc{à;¦Õç©yãÒAÛ¥ ©Cùæè†w›gÌíz<ŠÏßæ5¾Q¶¶+“S×VNbpú3ΔâFúí¿>È%èÔ*ƒã¶j¥ó#­…‡gñ¨2kàá†üËô ;v8ã\ôe» ?›kÜêJ k¼2&Ó/ãd¼,YԜԡO¨©Ö¶30üÀÖĪ=Î ‰ï¦"?íÇ»§ 5Ñ8e9Îó£ŠÜÛ@•–SðLÞhÆ©?0 “ÿ¿õ¡ÇW áPg®É;ûÖG°¼TÓ€3¤d M‘9¬„óºÔ?(Lâp“ø<(xBƒ0å*€Î6Y)vŸ °$âš©›ñHôQ×=*¾úþRf;ƒTp­C$»Åhæ1ô¡ÏÓ7í U?3Êû{#q’ )~VsÀ¾;}LqˆŽøgÈ=N›šïʨ<äe)”„÷`äW2”iH˜ùƒøÿ׃«g„ñv.v 9µÞ.@j4A(µHgÌxM!œÊà%ÑöÒüq!±8Ûæ‘ú^v×ÄpóS¡ˆ¿Ù—½4_'P¡ƒ"€Ôv#¿å&å*ÑÿrÌkuÜñ?ªzEÞ">ö®‡I¾sá(L™DÉžFÇOæ£ÈÔì2öÅ¡x‚œÝ5búXœ]û¡6O Äa7.αž6¨Dlá%ت?óA=.@=OKI[°0SИ.$C}ú¬ÞJ(¬ó™•ÔŒßöw1gÊÞ8y™ ꯱¯7E°¡Ÿ“û=ƒ†óDo!etY»¼ë^ ÞêxfLŽðÔ»‹µÝL$>¹I³<ŽU¬ú.æõK..z Vy^¸òõø †»ñY¥vhÍhC=®/,‡çšE3´›ƒÃøÀ¢­rR±Ñî’Ls±4¤8,Ym³‰þ‹n_\\_‚Xg¬Ùq€Ÿ¥åZC«Y…ÑC‰^×7tæÍÞ-=iu£ÉpÆg?!íhÆn¼NÜêJ ä¬ÿùýÉA5çžq!{ó„pló,=÷Äð)ÌûUXd+<¡Ãø‰=5<ü«°²¿nQž¤µè#u¢SuþN×D}ÚÂ]Âïœ2I3Œ»—9rÌò.1¨YÖÀçtmþUÛVc¿Èm¬žv­õ%y©Ù®‡+@t°ü[#!óvqž¶2¹‡~B‰R7”»ÿbÐ ©=à™˜cZ"Ù£}Ï$½ºP¢sKù¹&Š!À¸ZTUó0ÎJ0Ó+"öü4,)G‚Kõæ vUd.öO)Ê § 0‰ æÌZ‰ÅßÙ†—Ÿ)rGìb´‰8ÖíçJ÷Sa'PAdJÞH]¿øUÉÜÚôO‰ž©&Së–(ôyôºà*"XÍêËå¹³ ”æK~ˆü]}ë²ø|ÌÐßL-È'¶h¦³ü\•8²v%•›OåI‹×Ö ê.îK“E3”z!Ô²j¥‡jçSÇîM)#««2^ôn¦¹v Wó½Íu0~ë˜ -QÑœlðæK³ƒ xï.ÙËÉ5vŽh=ºÅ…2œÕš~ˆµJœ¶-ö.:¨h﵋bò~†c»ø‘Ppó„_òx55fþÏËÓPT F&½ƒÆÎ-,{TTuû'-º:r‰ ¤ÖFr£½³rôa/R,C·xh§GRy×¥!D8Ø7³¯ª™yÒÁæ8¯RÞU–†áj]õÚÂg‘„® *jÞ¦þÝ]gËr`XŠ5®üÞŒõ¿¸Pñ˜¹ÜbÔI„‹È í!ÍŒJ³Ñ_'U¤AÑl Fg»àt¶^3(wK‘E&iêVÚ—f´+àæ¢‘ owMj»b"%çÁFîHxD2 ›=!+÷UdSóɧÚOkГFSNs uŽI¢¾Ú@F®š·}á0Tp½QNÂudN‰-DÎyÚê0ÇÆ’ðÝkÀP$NOöÖN¾»å¬¸X*áâ²C‡ÞzüÄõòÚ¯Á ÕóÐU0 ,ÎGéz‹`C,ìXœ‘rĈˆ„™sÇ#±²†™sHDíêNâ,Á=#¯¨¥£Üè ƒ’¹lGáí!ú¢ïFч¯`÷ ‘¼°e³‚VpgÜÉ— â;52+ÿüŒøK¼>»êuMÝÆÿ¼]Ø~œºŽ÷ñÂ.Xžî[ þBÕ<\Líüt ª‚ _ÿqtr8ÉW”’j_`Ö5ÜЯ!÷  ÁÁaÚìÀ}‹,€®²+ü•%|9÷|~”rvóLÙ>Õ”aË‚ŠXü£V‘„'ÐÎí†"™U˜Ü@&Õôie _àÜÑ/ÈìükDìô3¨½¶sÒðÕŽâ=] 2‘l†„U|ÞËx»èð÷̰~8W¯ŽÕd‚ ËmÅ•3eW¥Ï½>Õóêú¦ŸUC‹Þ£ æc¬ãîÅÑLyOG‡¼öº=—ç Z¬&4ÏH\óo×G¾Æ)ND‘Ÿ_ æÀ<.œ¶:p˜žë¨B/ÏAƒ·ýç²1¤â{œøgRfßœ]÷å¾ðßÍe'¨d›!˜ßšM!ÕKT[Ù ®ÅÑ;æ³_¦ã=†:š¿åFú[ÇõûÒÙÎ(ã¹mJ`‘Öb+8R>¸Û}ºŸ ŸbKÔä€n˜JTXÿuwPûd \ÞçÇs7Ñ}f÷|êŠÕqçæ[Éä*­[¶xÁ…¦»÷yÇ28‘ò°¼ß¿š¶IšûJ>9‹©ÜFGuþ³Ås}bŒ'²™‡š«&¤^ÿ,n ßV•®žK[fw¥½[3?ˆTZýœ&ÙHTðš/<5Ó…å‚Ëýh$!9scœÆZ¾žáNè}î“ȵ9Qv« ¸f{ò4žœöº†pxˆIhÆ!€uÖI¹¿ÍÔ}‚!O„Lbò`y*h ó€üÓ“‹2³²æ¯Ãv4шøÂ'-+!ííßpŒÏ;,}êSôÅV?Ëú¬Å6ƒ ù~‚iy¨å«Ùµí'Æ+ŸóÒ³L%?á§Fo’/l¯kÛ¥»wêS *ùM+æSú‡šp…h»¼š¼èEsòù dÅVgšpý¦3Șâ÷R“)7ø™òÜÇqiM0ê¡)øw ~›Õ*QC×B¸Œ—¥e+-¢îÕäo³¸W“Ó­~},æ˜Kí@ç4mºP®îŽ;ÑlßF:’ToDîzï=¿q€ý¥è× Õ|KÒTi0A kú­•8&ÕšL·MøæäŽ¢ÿ TXéæñÇSçO‘NV$8؉ø>H@"¿fÎ.”‹ðNç¼/€<ÖRíqý´o-8_Ä <³{ÅÕó}éa[½~Ex~’Š(‡Æ´FÈu×nqŸ¾”hWNÂë8èYÀLÅûªyåîiܬý—ܘ•håÒ;V%EýÙÀ‡²`8-¿g(‹#~< þ²îVWJì‰vuf×fº¹Æ©Š#ìÛŽÞŽC $Ñ~ÛyÓr^gvs@))ñJ¶ûJ“»×¾†W{8úÔì5\9yFN„h€·èœø1Þ#*m3'iIÙ¹h¸SiÚˆ Ë XJ/¨ÊæT¿%¯ùŒÁàÝñ.Ñ:$нúæI‰Ey&”pšWËˆæ ˆ³4n‘­ŒgË +$ªÊSª®Ù6ô¡–DZjص.²ÚgdóüÕ^6h‘£¿]^Õ{šÒÛ³¹ä؆cXŒ©MRó†âÕ̉¹d Ÿm¥ûþȧ£wã_:›¡×½—¨wé¤YØ0ê¹gk9£¼Eêâ8JnÌ·"¯Ÿ‰ñhG:3Ìùèu§4FâÁªë£9¬ å‡z¼ y+ö¯ƒûGž¸²‘Q4ÓÆfY9°—¶e/b¦ã¾vÞˆ<'ðïæ*¬aó:Ù‡ùy¸i«tU}ˆ soç¦!Y¸£\Ö¾ŧnŠ$á-Z-½5qKz¨‘ýG;1V3Wô¥14€DelÛ€õN'/û}»õ¢àM£Ê˜âƒu}ÏÎï@¥ç¡4l;3 ~Ú3k9Åó*àÚí°–# »±°%…ʈ¦L—& ȈGe]ÿ”u òY¶X÷ezè!.Æùê¶.R£c|Áá×¥Yï¼l€Þ¡e Y+Ýd @œ£ù¯×.L[¢zeÞ½ ÑûÅ|×%^ëß°çÇzÔñ?Rä£@Ú› “ËYVd¾†€yÚÁ\ñÝ=é0ƒ´ÚArÚI3ÅÿJ•©¬º%jrÖ àl!ÎÈ£bŸH´@©J4 èŒÍ·Ã댾¿B£†äý1~þ'σg„í‰+ôœçzŒ…ÿ¿Œ{¬:>“£!›ü¯«UúnZÒ\ÄÂÀUB‚Mèg¥õÉl Y†¬1)UÿÌP,g`k‹ôÅ7ßÊ'± BŽO6øÍ×Ë“ƒÀDǶ€i޼(ÚþÊ–ÑžõP…1/}a}T€2»aá®IÀŽºë)wªQŸ35+•Û*üØy»×ÊÉÌ» "Õá­Ò;is¡/w§±Y‹òÒ{“¸|1nâŠ%–B=ŸÙÏ×2¤ ó™ôV™)¢Ã¼›M~eªÑÕÁt©Øib»W½Öi1•ió0p²×¥"üåß›z,ÒX€×Ê`ŸÓM{kÓCøO‘Û³}}Jüá×/xK¸Ï ׸Ãö1o¸l,×(«ùŽöœîôPUzü­Aaæä„&ócwãýž¥*~`)é¼Õ¬ï5ç ÚæÌ¾ºµ%ø~ùìa)Œr‡…$vf©~qÊ´rÂYØzÝÚÑ€Röo°Nã\îZÕ ÛÃú¨¼¿>ÜÇŒâ&7†`ðìÑ[³²8a¢ZBØ&XSðŽwй¤JTµ=ÙÈ€Qj|jžÓêTD xο|) ùj§øˆHYDá Ru SͨŽ+ë÷“#s¥ó¡°J£`…ý‚åè‰ñˆ;L2ƒªGÈ|ðµýˆòðdÖ½ïr-vy§q€[;!Shø<ÉiðMOi·Ô1V_Áy£?¥‘Õ”‡×ÅÎF¢Åo¬ÿr‚Fÿ'X?„ïxá§ï¹¢¯Îj6\Ž:q³ÀÞµCb »´™ß³O¾/÷~¨"¼Sw[´^è÷¢:µ¤7Ò>>݈è«Xzá\°›½$W›íoωbŠð¾Áè]i#–|Û}¿±‹­ïñq­A?økMÓh ´=Õ^ ZcVáýãY#;‘‚asN ;,ÿ"%qÏÂÇamE¤µîAO~”’Pæœÿô¨Éhn{‰a–¿+ Ó„÷ ¢f‹_)Xÿe"š£f]0Õ©³K矨 ã®ÌJ%ie¶º<V÷i~;Ï ïä Ü·c\9Y½d,å׌éøÒ;K@®‡îº,Ô™qȘ&óÖc”“˜îr_¬üx-ØÁE,1d~¸®b2ˆŽÓ]L6Èr,ãšWìT"]˜ö"ZÈ“T°3|Ž\˜ÝÂÀÅ €vVÖƒlÙÈPŠœ-{^ºŠGF"š¬ Ž¿ý$ÇíOð¸ŠçCܦ¼ùÒÚ}Ÿ7ÈíBà§„¤×ÔMûøÏ‡ÿÉ•¦º9áOà^7é3¤²ÒœK“o‡{ 1SW‚ÊÖŸÝzÅ%lºüp‹íðaÁŽL ØwiPõ4'¢ä‚Ð_ò Ö4`Lûϰ]æ¬Â“¥Oë¢[ÄåOÖ»“ öš­ÂŸ5¬fWn°W”ßêëÂwV+xð‘“dÑzpßÖp®Dcµ0ÈþÊ0Ógtkêÿ—J/‰Sõ·Ë—Iõ\rG|'úR‚“GÐNI%ÌŠî¦#¸AHDr/Ú¿bÖ¼RC¹@Oñrè €8ÃŒîѭ潬`¶ s«€œ)˜²“×èŽ-|ÕàÞÌ_W\.þn`mL&“GÚ¬³P ¢jªd‚øhÉC#Mû/ݵÎó)œlqîøs)ZúB#‡ÎTôGí…ˆ…r£UWnF^?·B1±ÆÒ¶RÕ ‡È÷ºí—DÔ®'q¾³ÐË ûž™¨•±{8.¢uÅ[øê¤YYçÀAV1ä§z~>lÌk#:Ì0Þåƒè•Ó†¸ZzC+Dg³Sp¥,R\ï ÚèÝ8ŽSÔîα¿Öç œ‚?Ç—.­CÈ }A¥‚ßQV*R—’˜Í±­ËýS~ÛSÞyï×P4¯ûÃØ,^5pÌPÝRœO)2kcý ö˜¬øÙA¤¨÷Çf²Ë¸†¨¿{ì!Ë_fò ò¶Äœ¯Ñây=vÛ*ÔP;àýÚŒV:šo}ÄB÷)XA–Gá®xð£9ª5Åé!@*‹Tç‹§×xH1•ðØ©WY %³†È|ŒµHª$t|œ±,É‹ú€c–€Ë >ñ’OðR<¸ØbÛF$yW{”BáA‹jHùE„_Y×`ײŠ=%XÀÀ7êíŠ[‡b&8“Œž±Ì/Ñ>qO¯Þô½6÷ñþ‰‹ÜîúÇöÈÙNñ›¸fMY…Í.¯ø™™¶\ æ—g?'/寕7KÀüOyü#{ôU¤ Þ¹”:f§_mÖOÎÕ.µšÓÅ;KðZ’t¨SæˆìjZ…Àì,´è%}üŠu³0eIaëG=`q;RW:¸ë»4ÒëÏÕôx h%ÂØi(Šªòûpäq±Qૌ®Î.JCœ){~•ý&w XýõÿÆ….·%½ÎŠ«Gr¼3}÷žû@z–›SÏê©lÃ@¦ Äý­·wƒËú\fw4ÌR¤Ø¤ãíy£ñ²Pq1ÚÁ‚h×|ð÷a°r¬:¯›Ä¼B•/X|4ûÁ3n¸DÊ(å÷ƒ ˆS,]œw}19·bíCŠ:Ñó@D$"?nßQá¾ÿ¯ ³¤³v,©f«Ë¥9ÉÖ'vÙr1ÍÆÁÎ)ïg_¨+‰ôKÀ’¥I:Á¬Ç­¼Lº9ºÖÑ#1vŒÔý& ”¨°M«g>ûIþ`4¢²Õ8šŸáî†PÓ©š#꽓a]û&â‘( ÐäoºYÿ©d¢†î¯ƒ2Ü1AÙ[Œà8¯Úüôºæ~š ŒõñöÑ¥3ež˜žÖé˜I|!'6ñ!—äå¡_Æ‚áM¾êT‡}R:¤±û+Ì©LœDG] ”;ÙÖG@äeš{¬ÝÕ°MèΊCà¢J-ë’ ýŸÙ¾O¨IÈ+§nÊl!õ2(íµíVÌ+Ÿf+væFm·”ÓÝkl5->îR¥®»öîÉ˼{ xˆvðX¸’öÐÅðaJ=Xâ5m¿u|F“»<í ”wj2ø¡ãCÿ¦zY©wí9ˆÇÿ³"ÂtÚÍѨ¬ùøòQ`wP¼™¨}FDÖž¡È3…Ü„‡:–÷/m ì÷…ƒìÀ79l×9µj&`R$å…6Q“Zm`v¯‡î™sbz|pÝ»¥Núánæ€ûÝ|ó ûÊX=Z*ij&ö}ˆ/]iDE½†ÉyÓlgó½6²ñ.¼æÒÎ{ôèÝg³Bm²-z‚VX6Þ3F†²O>Å hä´CÎTœdÞ‚dàÌE¡ÂGˆ¾Y‘ÅIæÊ'›äH'ÐÄû p¹cñþ;…sï¸aa#h¼çâ¼›YÇeüyÁèÆLðÔË J42àõâ«þ>Ao*Â\§×ôr€)àyB±'ÃJÎaUrŒ±Ò’‚i”&ŽmG/æ»ëÞü”/=V+­H­Ñ×:õ ±> ƒM†ër®HÓ¾u“o°$¬­`ã`çôì©í¥D2‰+LÝ“x” hÖ)ˆt€w¯P²É€Þó]GþÇËZ1䯸6ö»¿è & Ï¦ì¿ø^tVþ½j~³Gž÷¬d%;ü>ФIØì¿sÕbî¶á¿,ß43A;˜„&K’©sï‡]s¼IÁßBvÃÄäþ₼RHFÃ+ÁÀ«Ø³еŸ3í•þe(Ê¡9QàîŒcËq“àtþÁçÒ;PŒÉð Z:B×ö?y¸¸ lºmË‘¾§^A!ÍìÜÜZ “\ ºo‘•óTÚîf~†çûôS—½0÷5à©G †-£©*$ &ß@žw‰c6ÕðË•[¨ŸNÃ2ª»æ'ƒÂWÇ'½&ý$¬Q'éŒ]sùöG}Õ -i:eÌâžÖæºO}Ö)Á sE[m^ŠK’³vޏúEœòí¤™=6±žo%7] Nr'v£…ÓÿGêTõêÑ¥ÉΡƒÌ­¬¶õ¯I¹?mEËìþ׺ál÷wÉ×þÔrMm5“ÌMKsŽJÞã&<Íb8²žoÛI™CÔ¾´PñI#ù¥c¼›¨§šŸþÊTÁ›Qèx¿CÆáPÖJc».R¶ÉÀÇ×Y·Ò–ªqŸ „ã¬H­žð)‘F‰¾"¶ï›Å·ôF[râ²9.¿¹ Y nEÔUuEU$4¤!g;G`C7EØïŽ sÖòæa0§î  ÚÀ±Óú$ã+°Ao‚†(™®wÞd詘pâ;y€à‹*dÿÀeYHK‘p±‰_ä¬iQ-®+rÁNUVD"ÆJwBqá@]¾8Ží¦!\M»ÝTí…“h9–1ë#²ml—ëÍðÆZþ¶HƒVmÅ~ÓŸ%% ^Cµ*:â…l¯e+pîø?¢Å¬¬z놓¤ÓÆji²¬]L|þÛMQõ(ÖKñ9·“ÇTéz‘º$Î è$p/×u¯—¢¦ë sö܉b~Q&‘w‘èML‡ -ãÄ^æ u´‹KÕ¦^Nn9ȬL.TeõO{Xy…ß¹¹6bE%M%êdŠ&Nx!ÁšõÉÛ«+ˆk ƒ.Þj˜øñéüQLð.ÄËÊ÷™ˆ8’PXÎ2~yÓdTzoI«eOêCë îWúB˜S~)ùÙ©ƒÜˆ½4!]ßXX•Úã–Vº @¡B“éûè)ôZîQí{æÂQ6ËŸfe ÉXxiÉ –¶²=Öj#@˜@7¢ÏÀYÃRN–ôˆÐôkÝ/}ÊKæ³½™h¹%~Aó>ʆ±»ªÝ§ýláSÇÜdèÍ+=ÒáY÷KNžr–„oä#ëê™p4.#”ÞñUW ;}ÊÌva„T§ŸÛ3¬È#Š µvÉí÷o?•:ج€!¦hœSËFuþî?eaõ°'w|$ÿS—}d'VM’FÑÆ.ò=¢Wb·Òø8ßjè&[í¾ºÇd ;ôommü ïwø³Ôfèòcq{*kvºÏó&h p¥nÝò0_ZÎ&–&1L>²åRQèíä²°ÁäI…Ï’}ùäã2 ^6»œº#¦õ/¼¢ruR™!"¦pJ1ݸÚzsCfq}Ö’Nÿ¡ËW˜ìzj¸:ž6£uBÑÿ·-˜³,ó£*(p\[‡Ó"ûºø4/—Q#-XÕü<Þ´_A-pºö€‚ñ#¤‹=¾$ÑÛp<¯ “áùgèô )4'í$5Tî4“ÓŒ½Âÿèápœ,Ü®þ3±*Ì™*ƒoš¨;P{Ë\û?„£fj\w¬W@{‚ׯ€î'ïZMµ7´Ü ¶AúªÙÉ)ß³§àr=dÒ©në^Sx:fP€cY³¾ÅÿÚ¯‚­:»¤,…Ì¡íý±‰Ìr^UâlF¸å6ë1³š‡E½ÜzÅ>gwÕVË»ÐX2\ø ë_ÄÞvt¸‘eïf  àPfØãø=ýu"ˆÈÇúšº±®' »Û¾.¨ë¯ƒð‘¶ýA3¤<Ý] ö0¾j´1xêó4aJžý©,š|Ò9A Œ$¯Iz£ebç„‚ja¢îWÌOŒ^ÉßS×`3¨ÿ»°2¥/$Ëß[<+¥å-’¶‚‚aÒé誴é¬dßÿ§:Ç­ñPJ_Täë}õ’ºi°ÖAû碂/{Üî÷^JflÒ ~²mÎVpë» ¢|ªF?(Æ{øDïÚ<Áúo…™¯c8ÃÒ¶$œø «¹eë£s)‚©hbŒ•’lÚ Îf³iýÍÏ ÓÁ©'îmÑ ™MAL~r®>„QŸ;!¶=·NZ °¯P@$"ŽÂqŸ¬^ÝE;ƒ=÷ò…ë\x[òsrg›;ûrkd•ÉRÑ ® +¶¥¾Ei³+†b á}%‹š­RGõY(B…V”¶¤åÚ–ÖÅ‚€á“'ݧ –›«Î'8m´tpϬÐ+BOÚ€åý•›WZß.ÊûoÖV̰–µŒÊ0{}¥¼áä# Î ôªQËËjý f ÓJ}-…w85'–~94;wÔ[³%' ‚›¸´=TŒþ’¤dû læw |ÿü_‹fÓàc¡ÀÈ‚^ª]ø²ö€º~P¥SâŠLM^CèÕ¾•å,9.øx–3~ª\®1Ž«í7Êè™zÉ ±ÇØù$ŽÿÛ„ÆòÁn¬s4ª’Qˆ¸ W±×Nú¨Ø¬ƒ¾2\¬èÜA)Nªh1kÑü¿ÜY˜i$é̲ö/…¸2ˆ nÐÉþøÚ"ÄÕ9sI¸ÈáÆ#§(y„¸Á1‘Ã[6ºñé1‚Pr‘Sµí‰°Oššú•HrYÎErµä…dá7]-¦V—ï`l<¦lµ„3!ÀÅ6ÓÆŒùɩ޲Ԉ Àï<¢"½9®`[ÑßÐLçBD5;g ÓËÓ¼‘ó 9—9[Ðx(sΩk32¢4Ïfý9Oþ·ÛfäØvïS˜0 f\i7Ø9 Zm£1W²@%UV 9 fFŠ^ÂêHæû…¿¸U§›D›Šu6úî¹ ø8\!×]ÿ&eæ¥õìi¸XààîšnÐ ®þpÎô¡‚O˜VßäÑd=wÔW­jp³ìÄ9ÃúIŘ~ãŠÍ;æ…¤•n9€)\p‡(PmKÉËc¶ÝìÚU“ØN&ŸRjŽb7dÿÊ…ÂtBpFÍçi¸´/‘’mµT³žÆ¦þ•“ùX#¥AxŸ%çÐü‹¬ §Óàà‡WÌFÇyáI® è™¬Å| ‡¿•ì½: öy}¢$ SÝ?cm B“xŸþl®çЩüx:ØÖK0P‰Ùþt§8Õ°•™òšýøè¼´ºX¡¸OrÐ¥`]÷ü j7M«d3Rݶ÷Ù8 p;l4NtÞè±î¼6ãyNšeY¦ßH£4xd¦^ŒÓIûZ;.Ô©<}âh.ÑèÙ?HþÕ牎ìƒ!‘eÐüŒ¾ìQ/Aôd^x÷»ÿNÈÈ.Y”\yꬩt•âñ;Ød¸üWª$±%-97\`ç”Af³*ìì<»^8ÎlÎ-¦<$Îa 8Ä$ž¼}ÂÞ\’õß=w* |\Ô>Ô+Ú|ŠÓ(MŸq{œ‡°šá4‹Ë‘ët»NJ‘Cybû|X¿r;\tËŒ˜SV¼_dvØl¤ùé˜(³:Ûªyæ9Iº§@>œ¿Ä3ü¯âƒyµ¶}¦²è°ë !è«háþ¢ë÷-œjAgÞ×±5üyòt´Í†™¶:´§2Äšˆ€*—[ÆtG ©v¿—²':„….&üt¿«9ؼJëqÿ³ÅX%Ê!N÷Fº¾ú¾ó= vGG[ÉP&þ_uJõÇ5‹ÌºÔQ¬É&Šß£ñûœ-²Í5H‰ÆéZ¥|œÓ”ÞH4ÓcµŽ½O¾pJ ,W F ø 9úùÁ…êÓtAàx åæZ´#ÒäC³5¨ëmK(Å”íï9ù’ñJö£T¶kH%Žê(ùHÇõ„?—^jþ!µ)/÷ÏLR¢ÀîÎlÁ½› ¬Õ ÊÁ®ö#öÙó?ljH>;Ê-ÕÉFd9޽$+{PR‘'ï½ûY”²CV꿇8«Üçæ3• K³ÀI¬èl oNÏvNvîVÈß##L|ì–·¨ú%O ¥EçÞ›ˆ‹ÍÉæuEÈòª"¾&¶w9ˆ + RPo^Ó½3g#à’fýSî«Ëwj `¹£ *[ì´8VeÙ{Õá×Uu~<ì9ŽÁý‰!.¹B¥ê%RJ” N~ZÓ1†UÆ^>¤‡YeU@×7ÎàUÀGó÷9„oT|š›#ËK@ã†ÒyK8wGë¿pœ5ªðµ–Ø™tC«Æy$ð†HâñƆpùMþÙïõECÝšu”4<âeûÇÉ%ß…I¶­‚‘Ï&ØŒöt_Mƒ¡ð3öîòÕ½%¼G1š“¡C4¡ø2mï‚òbës!ÃxÕñ”P± ­ñ#'6ÅN¨jW¦0>ï"«ôùV`nT‘îP9M€–G5¥2p?þ,(1eup˜U™-8 ­—jGÑ_èðü‰#þP.)^ñF‹ôþT,h~ÅEä—¬½é–’`ßîKÈ#×µR¦þÿDÿ–s’õøˆÄpÂ(Uf¸{¥ëlwøˆ¨‚Ð3Ê·ôµˆÒíÉÞãÕð5¦X&@—¶Ÿ48Q&ÚLjüŸªËÆmyv«G6œÞ¤àÁ1;aD;©TËÁA&geȈ§ÕêûGƒî#‚£åºyµ³•H™ïÃþZ/Gl8ð•P!œ1ž—¢L-p¥%‰rʳe+xñeE‰2}"4)B а~æXð#>ÅS|ƒˆ·5ƒæƒ¢|½ïÆ|Ödñs@ÌínLºr%œž ëUmgð\„gš~VŒ=Ó›;›s¾µ“âš]ÎÖ¦ójP§ÅñýWD#w7ê›î—ÃÔ8ÈÁJ!ÑÜ5r *€nßÚ-ÅÛøô)·JèfêÝGìÑdX±³ewÜpj¢®=mRœÒ1ñ¤Aóç6q'´úYÙˆéͶþö¾ßÌãGŽq¹=ócöXuj{zuË?„\´1’WÆÚ¡}Û;ý+læéIæßмB»À šx§xw^âdüIzÙ¾¿»6έÊìOUs«Š^ õfð[¦PžƒhGjQ?#îßÅ«ŒñÛÌ~YŽ>cS›ª‘Åô§9ϹÈ*ð‹A‡81×Õ_‡kvß p*ØhC>Ïzþ(ÄzœRñWx¾†œ2ê‰N&Z8€’ Å8û°õ{2Ä:B€x{ïõÀD”XS§3´‡òážH»j¸!‰”‘ ªIvßî†ìÊ¿p^‡ù]žÆðnyF›É¾?´ã¨º¼=è¯r nufÖdÅ,vî¯OOCš¯+áè¥ ¹ ~h=Dmÿu2}I;Ý}EàýeÚ«Š–®ÆõQ—5¶kÎáøVÍÀ&ô²øBä,o+U)i—ó1€5 [Á¿†¨Ù—Ì ‚Ûñ–¯ùºžä=°:д^PYÓ4¥ò…ƒŽ›+Jz×&˯ö(õO-èp£$ójL‚ƒ•N¸ÆþmÞ@%l» KèVŸEŒI ÙÕ5†¼Á³òH{fr»Œ3‹Ê?ªô®FŸ¬ ÿYÕø ±¸¨4ÕkJXÌN$ABÙIÆW¨ü™C¬|ýGé ƒBÜd4ÌÿðDÝÉÆ«ÂÔß Ã¤ïJâwc8ß飲¼Kä3ÒíCÌ>V¦«V–©Âé2²g®OÙ å3¦ËÅHwq…ôö²‰J•ß×N?‡˜4"ïVô´¾©‰T xÒq6!ñJ§ÿ±ÕJZ¥Ñéþé…#®÷¶8yÆ/ˆIÛý7ÈY$ç6ñïÛ{ò1JÚÚСÞ#õÛä>‰”¯ƒ.Ž—¯Nb ìDzÐö´^K… p Ü„ߨ٠ƒÜïùzÇô;¸È}`:æ%ÑonÓïÚÇM'ZeÿûÖ!^WS©Ê3ëZ]òEƒv`_Q-óÇ_6¶êÐ ÜÏ‘î𠣡ӄÜ"ASR3(ñ|L£’MÔšžôŒQý[é‘2¡å ¨”›üçöY³ðÖ7ÝeÚC4ê÷}0ˆwKÊ5ÖóÌ–.ÄÙ¬+½—†” hjYiOÔ±xæûf+hŠÀH²#%“E\6 £yeZ!Ó‘˜ç4²Zl»§ò©q}å3rúáÄó… †¤›ÖcÙOÊ_ãBbâcëa¶œFýž-þñÕ¨ ”ôº¦b?ÓkñIèÅý£Öçˢɧ¬cèÉAˆ¦4ÜâÚ‹êÑù·Ü2¶Éu–éTè< D” ѧõ²5~Z d{ùâ|0:Í~©¾ŽOá5gÜÃ]ΰð•sæê¹H¹¿6]×}hmµ6X»M ÂG2Ýþ–ì.ÌÇ•Œ©ã~—ÙJ–1¦æ¾ÎÅ“’q¼,õ»TÈÉãø×µÛ˜H¦å‘ ot’¬àiWÑW­:´Š¡ÒŒƒD‚ämA ¨ÅÈ„ÚýOš‹s´ú%K9JNæ&Ø€c[ýàqi|šu=Aë"M?5¨¶±=í¾¸«öTÄ%€„LÓC©äVÞb@Ñ’‚4Ÿ ¥ËqvnÉ×O@ 7ž|EZ$x=ÙÅË0WN$ËXõD5x=/¿!»&Ü\©Êš®9þpU~šA÷{-6zLçvsapq·ãÿ_¿1ÚÄÓ\yY/“<)¼;̵t²Mõ§õ˜^À¢¶$Ü‘^Ï÷]së¬2Üèò› C7]ÏzÔÑÍ[ƒ2FI¤¢H;·Ä¡£EÀ6`.ZC6-9ÿäßï+‘–{B”uÏÕ"ÙCS²/f^à²ò§ãÉFÍÆTNå)¡¬Ûó×N /áüoüz͆[òŸw¢¢Õ khP ¢•xå­¤©2œÂ‹Eï¦Ë·š6DØÃ\Å_ÿ“öà`èÈÅ÷»).ªwI§$çïF(€ÚÝMªn%t#vòÈ$äM65BEôÛUþ“‘VÖ·o\V K{öÎüw&Á|ýŸ`™' Œ^©gË›N6±`â°.´PHMFÁµÔ¬<7ú¹ƒO{$£+þX FQé™|'ýå öÂ÷Е}›FuÉZ•w{s/ŒLçRwÃY1ˆ^*ÔØŠ˜÷(`q«ó¤£#§ŒžÔ NŽ¥ðAeÐxÑâÅ]wAßJ"¡ å¬A;‘cd+o5×y ‹ Ÿ+À"\©Äo¬øã|Œ×-Б‡çi‚3ÎáλªU&Q#”1/_¸þ‡÷f÷Íu~tT—ëTt7§’nÜ˲_ÍM!r½Ò¦ V uþœíA©‡Ol[íd&Ânò¨¹P0ºë¦fêκ+nRkʺdÉ%ýó»ÓÂyÆ&5J& ‘ñ¢M¯ÙŒ(\ö„x8à”¡£¹¼Ä©lÙÓª`»®AÛ=¯}€·Ï¶aIhS*hŽG–3d¬Úl=É/BƒÚÌ[F£•cÕÒñ:›"ž‡T…J¿­ Új×4È-’bL‡zÔq/ì9›øa¿&ŒC‚À¿‰ü'}¹GAaN¨ƒõØ“b¡WÃ÷3ÏßšUh„e C|ï‚xþûŒ÷<53Ðbã™c•Áàs¢Míä&»Ãp€¤(¥÷í‰J1­v+É37ý醯óI~° A:7L'¾D2Gª–Ô>¿ ŒÄä ð2œéÅßS¾2@9‡½>¡¼¼ 4f<¢·È4—¨€eTãS ¾3ìä ùîÝ5d¶ ·Âˆªñõm1Õâ½BCæÖ¯¾Ã´بFŽ˜`&a†H¾²ô¬Ã/°5Åýë›+TzV%®Þ:]c8øQø;]ؘØ<'à7-{–¡ÙÞ 3°¦éÕ÷ô~e¯Rg›£© jÔì *,Ñþu[yØ+ÚÃÆ·ÍË ù݈ºÃfW10Å" g-Ù¡[é©ÏRÕÚ¥L"XGáܾ¢Å^ÙækSœ.KžŠ™è3’VD{!3 SdÚL.sÒàí²¾6&Š`Ž·&J»Q0óVx~¼ë„¡4±Ôk9m¤¯V!#ó9@þ-ÊÇœ^àæÅß{Z¹ûÎ[õà¸&Ð¥3ü2²-BøÔÁŠQy ïÏ¡jËí$„P ¬š]ÿ·ù÷Àl¢E4qtt-בQ‹y¡„6]1ÀHÌ­Cð‘6E§wDÁöì¿ÃŸ›tËœ°Eù*öÃ17þc%Ë?6§Óíñ¡k3f%ö± Çn§\l|A ¿ÑŸ¾Õo³Ÿˆ³hŒ[Á¥"aq¼€ôå:,wša§Œ¶a€öøùORÚoʼ—Þf‹Î³lÂnØäDñ >’M;>׎Ñâýr/Æ×:];óh-½½3û 8åÝZ~ÎæèôÁj†8 &¸(DwxŒÄF^DppÐ Ãtï/— 'kIg6™}ˆ•Ôs€ÆWç/Y{}ëÑ<¢ÉšL®…!}G òmdóéMÜbEi…E¼&ôpòñêõ£JA å4‚vÃbdæ†ôÛR/V~‘PXåýSGD¿Ðœˆû`ØMI¦Û(ÒÕb»l½™ëó¥àìð?:;Á!ç)]-|¨÷ŽíÓwùX%4Ëz9]%‡L:º$ÎÖZf?YÌš‡X‡¨ùâö§ó¸i‹Ç5‚’Yä/$àåirÔÊ2ýÄëéØðÉö¥iÆ6SjNô'ögüE9K šá–¯ØcDÖ¨@‹xŸQ++ÚÁäÊéÓhׂÅÀDbN· döËjÀš9ÏI†Bïm:FðÄ XÿÕ ùÌì<ø[ß.ü?öo€¿lâúX¶ˆ£"Ì lÉî+7é½{&8^}@TšŸÿ‹ƒk=‚WÁm‡l@óùE||sáT½yåyX…Ì¢Òª,jƒ¾Iøªßábšc’"ò 6ÌÈΩ6fw׺MëÌ÷¦EOì™&¨´„Z¶D ™¹ÂäâÿÎÏ5͉£¶¼ø ‘ìæðNÔ7ܦÃñR¹IÕPšu?¶r)ØÈM#dq‚HˆÃ:Ë™‘ ±¥²Kñ=Cú)™¦¥±ß±FþPst¿­aºÄÚr¾’¾õe`å‹Ï­y8hëBo,ÃþÕk.÷¤WEâq[S@WŒ=%}Uˆi°ûmpRo(ô›J$å£þ¸YŽ‘ó7ÎÇ6ÁC—ÑÒp2WVo¹m/nÝé>ݽâciò»¤@p’¨÷!rµG¥ 2‘K:ç³doBr£þ/Bõ ö^`–÷¸­‡Žù § ”Ë, +|K×ûÆ´Ý  ž£ï–Ð.Öé ¸<ÙpË¥èW<)-³õ5lÄÜ!ô3ÃóÙ›™}ª2Ï™80¸þfbò¦iÄêy¡XzÚFN.uoðÝ4J¨Ã¼Z6jêpÕ(ò» ì1õh‡wCeŒn_ZØÒoý…c‡¬Ê8Šw»§Îm'}H·Íjg;%;b•ì'B}õF(ŽË<ºm‚3Í{j™à,zK V‰Ä['dQK£ü&ÎÑ“$óG@ÚÊH¤/~LÖ«æî½Ûå“áÀ:g5プM»\Ra°( ʇ¢Z}P&ûã^¢`ßäÑ3Ô|"5ôÎG#-:NìÜØN˜¶ßªƒ£s¸ ?nÏvÆMm^ ±˜ÒZè9“ÈÒAžnà]¯€v•à©5|¼ä㢩”7½¼S¯¼ÊµÂ*0òõj½Æö<Ãp„û‚$`°W@ QwWGªñ þÅu>hÀÈ}íQ’¹•\ÃëXˆpæöÀ%ø;‘Ñ?$=0Ò¥Ä þ¿,`ݨàÑH¿ø8[;%šðžw¯)v+/Öq35Q¡»;ЗWà‹ /ì¶|b¦r.ÐBÛ\™@9’d ‘G-ˆÝ“qÈš…‰GWZ²ìø‰31„À|þt­ÀhZðÕ³QwÛë'snÌ| üÎk}Oñˆs’T£^®<¸X, mŽÄÓøùg³ÛÊ*'-eÊLwxrÓÑ¡î¶N‡„/±™VC}ß ¿Þ‹/SÚT„Ïõ<ÊîZJ|ùÚÔÝa™(¤dœ°càó {eíä€Ä`"ì@Î3›ªs±Š³¤‰t˜×8šã},GŒ¥ÖSŽ úpÓCdšC¶Ï%°TNFnäÊFŒWןéù¼;qyN(<Ô`2‚j9 ˆQp”õæ_©~°‘H3rûé|aSv¸êÌ0×°ñö7r‰=Ö ï÷ŒO®ƒzY 7²äí×Þj™ÔqÆ×­`Z!dÇû ÅL Ð9‰ö‘Í)Wé¯ê7&N”íRä¹wÅe.ª:3ùÓ$°¸‚ß~¨®yÈT«[´¶]°ôN%y¸)¼·pyç_è-¡’%Ï%,™èÄ(ac ¨Rl·õ:ÖUÄFšÉIþ?d|àŒ–˜¿ìøó®®iBRsü } _ MTðÔT“¼Ñ²Ó󸺜.+èÏKG Eî<¹¼ˆ‰%†[Á.uØÝUQ¿zM»9Ü”}pAQ)eç…‡ ÿŒdÕ_½k/ê5`¡Ná_§±×ä»Ù×F¦£ä„ wêª Š¥›=—¨{¼˜ ~ ö Kó;Np]´P—Ÿ—ÍÅéêŽvÈbî6]^÷]œûó›ç¸Î@@&{-<«둇Ò_K™ûût3 ríãÝ]zaâœÿ0>toOe=e¹]»DµÌ*Gß©—€‡¦RÄÍæ@‚@*3>’GÉÅ£_¦ˆRãnM¦B@’ÂÌÍ@áÓm¯Å±É*éM¸ðH1Ö¥2½Ï–ý13ât.ñÖpÈcd.`}Ú¿øšžo±g«]•Cî¦9A…ñô¯Lªû\ú6á ÷tõÿ1°tosϦçãÌnF¾À`RÝPD>²ƒS7‘Ó]í'£œz2²¶mËBËcq`©¢4™‡Gì¿Q„GV8×ÅKBI!¨ø³–NY’³Îê2¦‘î/rÇ„ÌÛ&‡R\  èOŒAÄñ< ·_¨Ù.B¥$Až¯Ÿ·¾Ïsuš©mnùþ¤3À‹[¢ø~u·çÀˆ;·i¿­•¥–æž:…^zÎà¢L{üؘ¼1#æd-“ûCÆ|ùj€…Ÿ‰ ¼Ïu½ºè†d«Øaë½]ß籊+#a°¾ÌšF.+TŽc[ÁB渘°èëûâuû•o½0µüÖå E"Œc°¯zÚ»Þ”AYÕçþVœ…¼}½pÈ åÌ¥IgPÍÕ-#V'Ç…Â,¥S'…¯3ˆ¾°ò ÝPý¼,vÀ`çO‘}Á ÊT~ ?õÊ”ðp«¦«#8ºÛÚñÿ®3FõXÀ>˧ßÕӮ¸›ô€£Žðà ͺìF\G8-‘Õ>tE7Äóÿ[æ©®¨ãjßEÖ«€øJÝRب0e{„Wø ‹(šÙÛzoˆí ¥E¡H‡øGÈU^Ÿ`í•vá;½…4d®!O)6ã}¸k0òͶ,s E\6â4îU ×›ýR®3Šù|'€e‰0:Êßèx †b; Ê_庚!aÖr°ÊLvøðÇRd|Éã pcªÑ(nv—Á~7°{àw‰pe¦4vÖoºgsp¸H?q,ŽÉˆ”ñì ú:ø'QO^€cDàVÅF^N®Þ]úS¡/<™€³¾!Ï9¶Gö0ËàÙ zðjså[œ3n©\³\XXŸ­›+}®<ƒMï+óäŽü6ì²T4h+5àAïIFKšÖ’ /NLä}lEWò¤­ŸÊ&¢t§ÅÚCBûo Ïrßñlm’Ö裓¾TJÙÃÐP Âlúv8+1¦ÆëÁ•ü÷Tï à£d½þPüÓ ~ɬ‰Wå÷|¥Ý9Ç-cëËm…¾ˆÃ#³‰Ï¬bÂÔ$žÈor±\n\ ·w‰aî€t¿Zä¹ø!Ü­xñƒÙ£@tùñ¢ÒË£õ î°þ86ÄÏV…\ÃêèîÑ~S qÍ‹Iéóâ:3ŸX…Bü1ÜI½…ïjJ:¸!pr0.÷z_Ihн;ŠÖ!»ù ¬ ™2%àtÇXŽP-HKsãGª%]’š+—®¥CF à l°aO»ˆô»Äî-aÿ?»õùVë­X[ŒèÄZ>{AOȈE`L»C ë@TœÑý)6x›sz¡õ™JвQMÙ–4EQSÂÇ÷ëšlt0h÷*÷ñ×6‚M§‹sž°¢À·Æá›ãÎh= /ßÈšÁuÃv5Z;³{ÇñÞñ‹Ô65PóÙüMóïzžŽ’60XŠ9º«8oþð Šj/n]ÇWk7"Š_¡&c9Ǿ E”ìÒ[{÷Wa´þOå‡+::ƒ=dïbÌ­Ò4“ø x[;Å{)™8'ñ@Ô†ù]¼ÿyqRE.CM”Ž)ò3oŒ“ Hc ÍÃi¨F‰®–çðØZƒÓinuö?¤Äþ'~0«]·fy©_Å÷L8aG^?×Bhn:- ™rÄ .¸Æðcfï/#øfØ®Ú!ö¢Ò’)#Ohp‡R8Ó7a7£VËÙÔ¸_…@i ÖÙü6™b$º>qƒíÀHò×T‹©å»®çûìϽ1‰å¬h§$†&¸¸~dme"ÂN3/õ¹j%Ë–”b’Þ³VUEôë™Æ$:át÷YÖÍ–·!™§„Ò}‹[@ÐQí ;½]Ö²~D¡}-ˆ¥Ÿ×ÉÍRs@Oöu'‘HÊJø‰ÓÃ6Ó3{„æV2ØÙÏ¢“—a=îu ½ÙQËíQÀ7•¼-mhåâcœLµ{v|ºsEÔì"]øTt¬3½Ëk‡•d¦A$Jv2P¨ð@xnŒ¾Ä—FŽúîÚC¿¿‹z^;`š0ï9½6žV%(²dÃÏ݉‰×«%–ÈÌ YP`»û?AUG­Bcwíe¿`W ¤C~r]óÄ%^Ÿ!ó—î÷¶o–ðN×)¯Š×Xn‡‹ó*§Çç)KæOÃ$]@Ü9Á1B¦ gÉ¡IŠ”Wc"ÔHX®è¼ê®¬Ÿ@ZíünègÖŽ\õiO»ÁdõFjÚ7Æ‚1¶C»UÎŽy²" èåÂ.¿‚wLaü1?—‡öñ›õÇl¸Í°—¥Wp á§©A˂̇Ĩp¡Z¹‡×ûfßpïÒ×9QêÚLJ²C·€U ‚ù}Ì¿ú_¡ŒÂÓçÉësrÌ£Vm›&‰~¶o~á cÁËE™m€U0éòÛ9£‰ÃSmð=>Ez@j‚”sÄ?*€ãs}as;™æùyFçûâ0Ý÷Þè4r”Z%ŸÊ2ñ ƒ‹Ó\Ç$xÙàÛjÏAF;íØ’°jÚÞTnJ|ÿ³ÝQ¦²‡‰.êá¢æ±ø¡^ª+î1¸ª „õ‹ä XÒû¡ºÕ÷1€‘ù tg|‹©·õ‰Ñžj’1:͆¢ßGÄ%üH:>­ŠEßCGÈÅs¼cF¾ÍylŸP›.»<ï»êwžòhIN¤¡B°çÛŽ¶5Y_Nñ¸ _þ…0àþ"ò1<„‰¬÷)5ˆ—žÉe.-ðt5µrAÐ}®<° $ß|XêQâÂ-fé¢Å$qŠNƒkGùÕ?·å˜AõÏi~îý'>ò°íj~Xÿü‡'÷“²Ö}¹•ƒa÷I8fì-sEÜ'\ª¼ ÙðiwÂmp$¸ÞßêË?[½±îxÍ„¾ãøCþR\“Ö®n5ùŸà…$†X¦5KÂÅMÖk >&Ùã™ù isR>8#5o}ëT÷9,âøv×TÃ/\F–%-&¸àÒF¾ÍDlŒªl9ãåu¿íäËtÙ ¦Âe)Ù5…èÜ&¾ÑÏE|Fýä0¶¨hKä2 ³9l–ÀFÚ­O†i²yí·´±›ü¶°£ºêµÝÑR§&<]|§Ý¨çÌÒ‡w“àe‡*ïâ ¦†í+Œçr’}­ô¼’+™µú’¬Òk 4±·M3¾ý탣"G„ÐàÆ2áLH…PJ=(#&‚²"n_×}RŸ×šB)Y$økP, õƒm›2ÓàÈJ öEý‰E„»ü"”*°”l$YÍÏÞ¦e’0y­ßرFô·€2 xà JV5ÑTc±ÕšgÖú6ÄìÂúÓÎÅö{QæF íqXû:ªü‚%Úô¹”| ˆ¦7ÚmœoNô¿­‡+8ò;?’œ*­ƒT5Þ7¹ÌºBÅK„€Tž=ϰlªÖðß¹¨Î­S2 }_Žîìõ¹–AÒ‹¾`süWol~ßmM;¦qS´0ÄIRH@˜ŒeXȃ©Ê¤Šl¢'N…µµŒÑ½‰Y”¨¹‡¿ J`‚?è"Fh¦uvCn+û]¢L•T3?Þ~?Æ?)%Ê?cƒÎ¯Šñ%øÂè;‹E>—ÝŒª™(¯=þäk Òù|FÖDÿžÍÜóß…ï¹Ø9Y×Nb’a=ÏoF›KCl¾¶V*iA71k/Åñ@#‡ ÂÚ¼5½oË?'‘<¶`ƘԿ$аž¾(µ bvC͸Ø%/ÃÉ*¬¤µÞu“§ªcR–kÒô®#}êÛìa±)íÂR¶ ûØ”u·ÛEÇ2¥à/tŽ0lP·©ÇTKaµ¹IaK2ovœZÄÆ“a©êZS:@Ø- Ö(“œ.˜™ÎüÀ¿4´Ì²öI÷Æãe3(–:¤‚¢|‘`hÚÍm‡G–ñ||f4£*g  Bœ@½Žê¹ø [;¤‰Œeè—æöÎmœÂÊ-CÉÃѨ$„†DŠy7YP£ÄTË÷ëóq²+­1 ñü4ŸŒw€:MrÄ’ÊI3#Ë»K+ÉÛ~a^Ì(øYÓâ‡#@R€ò{Åòï¤ÿ ÃØhÁ¢cãî¡Ï*Ò?P@þºW`k˸²úAwȯ#µú긎ЩÚU@ÈHÖºÔ.@ xçÖ«³oÇF Çä ñhïŒ7É4íZ‹ 2pàëà JÂóHUf"e,@V³1¤áH}ÜäÕtx¨ÎLœÞs½À›cïÀƒÐB°±Oo§ &ôíAºIMhŒ¸hªH9Ü…d¥.ÚöaHj’^æÀE(-e·ÜOKáäë!PÏ`ôi¹âcâkNž„-–e _3îÚdÕ,õð&Ÿþ ‰¼´3gUªï±Õγf™ÓÑ©a,¦Ð‡CVÜ‰ÇØ¹„àùg.bªŽ!7ÖÛ¯‘ª /ÊÃô3Ôp@BÑøDA™6— ÓÊ@|þo¯ª<\žúoÒ6e÷Ýkè#…<^+ÞØWþ-¤ó1G8WTb…º©Ÿ*ü†!·uû¦Þøhº~‘‰šiHRÜc=«_îñC(Ù™¦â»žVÖ±;í=ß-sé~nÊlòë<ê_¬Z5ÏKe(ýYÍ3zcå ‘8DKÔÌHÙt©¶.¦ûùÜë ÔÀ—­†…,Õ“Ò‘,|$ð0è[©ÞE’à[eÔ‘-œþUMNW¾“€¥˜Àƒ^CRˆíô¥îmNÃHRÉÿ<)ÃÝþ º/Æ,ßjnöܬ à #…pŒ£9©|ÐÀTüî*]—¤Ûm¿O)_}U±BRtÉýÌ´aïÿŸ§Õ‘“è¤éR.*”Ëå¦:æÚà *uÿu‹$½ÎÕ„ëØÆ©°” évüËHª¹C$R%$y~±Ž[‰Ú¡]I>¦JãG±QD›ö% ¢m_Ô\'Ý0î‚Pë§=³eÖöd=üx#„ Y»Ÿ0¼… èñ†\¸îÄdM¥Hwk«€…ë–½xŒV}WºµXéj,²rTbw1LœÿaÀd7à¥+rã*^ ð wÃ'S‹ë/½RL .þЛ´Þî%~‹ªg)O,RÓ ]°é6FÏÄÖËå¬ç#û*¢V÷¡_R×KwoÚ¬–É\¯8%6_¢Óy©KÚ´GÀ Kñ&wtlxä¼éˆ3ÊÓbÅ0]§Êöôö‡¿ê3Ì­×çø§9Îû‚….êwÎdºK)6IÃfØŸEW1€Ñ•ƒ EM¨/¡rÔ»)Æ­f|9y3Ûæy¥ÃÓ¯•Ñò²A›E¸´ jäqD»KÖŽ~â¤\ö´=ÃTÛ¨F^ç®{|Ù:ÚóÒ©ç^uœ¹A•D À]:wLdKc\ Ѩ£MC;9@‰4æku?îÂ* ù–²Æ'H½‹˜­™ÀªÓt aEÙðh&Ð.ÖÉ«¯ÒYÂ¥~u»¯”¿7Á4\XˆyŽû¤ÄcÀ &}‚Œ„“‘Ó”¢ðqwæ6Òh ”[HA«÷àrÉ9'>` 4±§ƒHLšÒÌÞ‹wГÁ4{kõ&úi|y‰à@¹1R±i|—0åÚ‚]d PXO`NVhhn¤Yiô`ÇY:’@Ä™ö‡<¹e®ÿ¶Í}óÐ<1âÄ#¢UÅœ-D²¿¼âW!–Àªøsi0—éâ€%i]>ׂÃî–¿¾>´—¨OëÍ¢4S›Qdœ÷2ÓèÈ"~8*›«kë‡\‘dðÍ—bùØ…jÀ¼‚P¨fT™„& ÿ¼[Óëpäð6i–V~É£ßU |I;jA}uIzzyazïßÕæ…ŠO6‚šŽÀ›Ð‡F¦Ñ3~ç¿–d½3äÙãĶ>Bé62ðjÀxˆÌûµÊq_ÅŸ7‚M‰Á¢Ê=OVpÄhô×KZ&Gh Îøë'Ÿüþ_ß|ªý>™Q°¾"çw€Ú¹ mMç\ÅcTíMy5-SÝõ¼÷çK3OÒujó0ݳ»‚ ÊWVî=ž‘•$ÿn7•™P¹Ö©™`êšRê•z· MúÏ\õÁØÚ«Ïm~äs:åŠsÕœùa¬/#1q€ð¨>4Š!­¼÷sh2 ØI4—@«÷³n¼Z2ˆGÏ»XZ–Ü@œŸ`©Icç¬sˆsmþÔE‰=‘cë5cu>÷Z¶„·J Ò„’.s¸ZxØ4½;ùÓ–déÆŠWÜÈ»&®è€2Ê@ÊË%!å;îÄ¥ ñOHÛ4ãMxÜ™ÛshÞÚ2<3s›‘¿ø êºEý¶Bû¡_Mr©úè)ñ*zç ¹`GetDyyž¢ãlËu¸( ÂåfØ­®Æ¦Oê›!bw'??4Np²ƒ3A­r¤+Ï„EÉÈh ÛÄÕ"«‹Ø_´÷g‘Vûa=• ÝÚS×ñý$àQ\à[¿öKäÏtdI½Î4÷z.pgé‘èåì_¡ié@Qèøñ-Ä_*WkèÅ@oÌ PÙdQ§4уá+ QY|7Õrz\ã)X–ÁÎ(—™Êƒ’ˆ  UoU-xþšq£’*ÿ`x!Dš]…²Ç+zç<,Ú¥eKn§Â;‚² fÚeÙ°äf]ôbÐ^‘D+zqà/£¼%@§®Ýèæ ¸+´n$ºûœnisÅÐ0Ï—_Á•î\‹{…b%U §híÄÜ‘ù¦¬–P LZÛ€W¡¡Ù$ÇÀ vÖÛ†¹±9I~’þݾzp/ô'Xûê©à…¹A¬æžZ`-¨¡É³ ²ü»Ez–9ø1:5æ[ÄäoÁM2v!ç…±Òöuë laǘ0+drf¿ù;­†yïÓ®I­)hi°™ÏYÃ8)wöhß7•~½ÚX©LãKçt9[8¡÷òÉZƒ˜4Eª·ó›ErÇ(»Q`US°"¤øžú4 À<¶ŠË¡C4àx”„Ž|žè'.Zz›Ø#0“ô˜“UyŽ '8—6UA“‚nßM9sÊÁ(Ê×#YuÆXD Ïz˜›š}Cç V2)¨£õp3; >™‚Ö³ùKüµUÜ-À–wÛ<ò)é¡]lRø¤SÂ+1Àló»ËM•ì\8Hõ6þÕ\£~¬?õGvêfžOÛów4Âëçlò/ÍrŠ‚™ê{”‡BüdÓ{XdÝ*Åíã{wïêº@O®fÙaƒ×({}ËK¸ÎïGÛ7µÑ~¢øá©C˼-ñ‡AÈÃñïE@Rû;½ýùÕ¼\•™Ðº pTo11ª+xNîzÒ­hX> Mp¬X`ˆH<ºšc’YÅäzµ’ò4*¯ólj³et 1VÈS‘™íiŠg·ˆwkTÏwêTG¢vü†uªHqåà&1mVÇuù¶J;¹0aWÒ¬hŒa‚ŠC¨JÀ×íóëÏ •*ÈÕÍFò͢®xCµ %wY³P Å÷§XV#0ó§ÁUfׂSCä6Ã?óHùTúÀà:¤‹€ŸBë8 3¯ ÷Éee!M‰ƬaíÞûÊâg8‘KóÍç=¤¥´ÙÌ~\¾Çò¦•ì1±†Qá±aÜ &IQÈY¤Ê~—Zwä”,#ëK®€ß] (šÎ}h€{EWï â­qR(æ¸N÷°|mž41†YyÕ=ø_ò'¡/‡!Øò»ßaúkÏÞÀ·Ì„×·»vÌGT䨨e‚_°Þß©aþ¹zÉT¹{èPÅ ­3HŸÅÅ‚­¬b‹ÅÅõ‹!ĺ>Aï鎇kéæÙ~‡LB.aË9Ã@´MðÃÙ¹â¯Ibf1 QPæð`ö3»^SQg¿Rk©¡Ap…ûNEVÆþÍñ´ß8ŒÑ-wIæjŒ†wG¥ÔZ¸%[”ô›ÒK´ñ›\]‘w’W,ÃIL²>$p¡@µk“~U„xø!çlýáïµ½Ëò>BxÀ{¡Ù’)}.‘1>\â‹Ô\Ô]bmú£€úÁ2V* çì´žx»¹ÃNiÃ`‡Ig`OÒÙÍØƒ¾žâ¢ÏøE;ÐRopãö>™Ð0Ù5´œA‡ óH ‰‚ˆtõH¾†bàŒ7&ì¦êJÑ$!’AöÄ Û7 [hSáä»J_zŽl+ý—cÂŒÅRáöµà %‡Ó(h”lh 9½«ª=ºÐ”¿Ã}ãÑ/ä?gîS2M:Uë¾<”ÅJl«&_Ì‚ZÎÇĵ[ÅNÙó²øv?/2žW޵­‹ eV‹±³Ë÷¬¼+ë@:¬àˆ>بµXÊùÓjûL¡HÍ¡ MörØ…£úŸìæûÃo3˜(É™IKÞã”sƒ–Í=)éè¥ñŒèвÅÐÊúõ›U|”ùB¢£{ÖÐTÌý£tWÚ~µ7ìfûU@¾êò7€7¯×Ècø½K «ë-æÜ’‹’R“Ê(ækú­/«uŸb¯Ð£TC{‡Á++1D^<é3QSß÷P­›ûHoïÈ ò›ñÅ1Éå.¬œÀmÐtòj?½”‡Ž£–Þs˜©6º;øÂüN.6ùä`ÚŒûy¼&<ÖEÓ>â &¦;UhmóN?\ÄEËûvˆÞNDhȸ*Ô¸Hq¢ò‡ õZ3 ´aDÀøïð€šàJ®•ø`«ˆe¡$ò«ÖTFáBÊ×®r»«ëÂ{o¼,ÉÇâDaý²±qœJ€4) –!“լÒ_jn²ö.JM£cÂÂn³'BÝ|ÁKš´œŽ—ƒ¾Òq¾ÿÅ#ÙÉžµ&ä _u>F‚­ (A È©n6p5=Ùm8õ5|À©¸ªßªtG>k´cûCfÆêõ]¯/ìÔùŽGR5Ï`#Êÿ.gý¡‡ õ›©ð§ÊFÛ¾¬¹>Õ„,>—|5ÈÎ’¤h‰ŸZîߊšSõy¶à€éÒ ÎHÖÉ®í!*Hæ ä‡7:fîA‹°Ü‡¼ -Û¿>pt|.K‰d®ºC¾­&° T·ZÄ“,‚ ÉJ®ÂSm[¶ñéćÎ^€U ¼¼Löþ[–5Õ»‡Ú§‚›\Hu«¨ét=S)o“?³Œ^ˆ §k ŒÆu³XçÓଢfY”­ø§N°UÚ†c©²°Ê®Yü¤Cn¬gZÀívpW²GZ³éay$íYÜi¹J€ðÜüvf4@òÉ.{Ê‚™t Ð23læÔŒAXT­e:äBF`ÐΜٰV¬á‰h(¾G$pêZÚÒøMËk-G싪Á<9ö*…þê„Òy=¤;ž²£¯~PüØ \ò¤5Jj5¥)“xYá"*P)©<“S‘ìô"o„>g¢ãµâÔW4€ )ñ„[QºóƒhžíÒ0ï•¡~®;ø®‚,y‹¢Ê ªøÉËhæ£ì{Àr˜ÚqTÂÝüö©{áW͸æOC¤è™vÙ?¥NÎgû ›fóŸr‡ƒæòÇö?¬ÚŸñ…òµ Z05ÂáñAsH ™B° '#ÒêÙâ’¸Ê xI®­€¡]MSÙ󸣾òÏ:KYj “V; è x޶ ±ÞàjŠìGu$@\µ«ûþ·¢ï¨l2Åð 'ºÃˆi`·Yªë¨,ý%¬WïO³å¥ŸæÕOÌÈ÷¬½êÖÎwug€[ÄódkÞê ¾ìU>³‚óH<Þ¦{ôþî˜Þ<áÅ}«‰Jy. ö‹Ÿç¶ÂQ‚üp·• W Í’jˆR»ÙG•kwåеˆÀ è$Û¸Oé÷ŒðøB§;@yJ¹VÅkn÷þ¦ÿU[r€ z‘¿x Äõ+ïKܧücë{Rn8Û€ÅÌç_Õd‘êD¶ŽÓ”äÛ¹¯‘™œžB5?¦D-ÕÑŠ>†§„¿;LDëóÆE­ÕóÝ,å‘ÅÁ!n"yNTºÃ_ÛÛë7ºÐªd.²ÞäpêµYݺƻӖ{'eÔêz ï8Wþ_Ø÷”]²ŸVÚ}AÌ4¹s-%9¥ö‰’æ®sò‡^{DÌ_ù3.ÐriG†Á+ÓøGÒ( ¸êÇ23M -~Ѿ/áJ£è%®èR ¶3-%5 D+ªD±k†Òð>½…n0nÍ&=N–¯´¿¢Çë+a⛉}üŠÜë'‰cãeêÕž‰í@á`ߟ iW瀴lê,ŸOVÁ>Š ^*±@ãÑLðl~5êóz…ú¯6S]àÀgL úþsq5㡊^®)Fïc›ÖùÉZѼw„Ë(!ƒ˜º@÷ýOip­ã±G2ð´Q…}9Ž^;˜ô`N¸^¶K ÆÞTGñµ™lK‚ 6Þ„CÂiàòð(¨+{u¢T8hQ»*ÒÕÅîT«~§ê,1‘ÌÎ%bÔùêã]>É1$åÙ}j(¡Faiש÷1”~ 4Ê­•Œ½œ &+ ûžÕW_.ü‰šø•>Ó¹4žh§ä3”<†¾ÿ_7RæC¨b5ѯ7l T<`¶!Ûç®!ɹ®9*yÜêïOyj©Üω m¿kù¼aÓй°G–+™z¥x¶ÚUC*ù.2Çy¶hIôÞ¤h3±NµZ¶s@H*ÐÒRÎ÷ûÃNîɼÆðŸ‰š™Ý"Øã‘ªÖIî³àu©<ñ m–ä³J©}‰zIm€'+LøgWƾÌèF-Ò‡ê`¨˜¦³ä(ª+/Ÿ[û——A|¶&_¿ÃÕ°¹Ž¿+ÌÒ›îªC»ÑlÎzîw¦:n¸nëÙ¤oP‚qæîîUf$@¾îºÑÉ>ôŠr~¡ËÅÎåzm‰v AóÝè6ÿºïaÖk‰ýŒd¹E7e°0)_Òk~¨Ùž&ß´!•ŽaëSÅ=¸™÷N¡–õc-`ª^à ;*“½a"¥ð( XP˜Þp[ 4ÕƒzÉ`bÅX–|³™k ¹€(Im+`b™4ñ ò­ž´»U«&Ð1s)mº0&°üãä^ëïïºSpaŒë”›úmmÖÿsÑÖI"ï4åÚgSÅtL8°àb‹èL*Y¸™òYmEžÇ!^¹p—øYgõgùBðÛ²dP³¢DãK7°åÕôFKNÔÕ ø|9ºä8 1æ÷ˆäÝPÿCEœQý0ˆ#zP˜üøzlK 1m‹"ࣥþÉý–Àße;rßÊ0°¢—£&gþiE‹Ïv jñnjû0_a‘ÁÖÖ´jñ™ŽÀj.‰u¾•{ÅV@ëóÈÜ68c˜ë8Ü[çAŸÆÈsN .’]ÿ ]PšiYxèE%¸1`‰âè@a¶hÓüÌCÁ³÷­ï9’웦æØÝд]ª7p9 Ô·îÿ6qÛk¢Â‰° Á@Aô£l õ±¼_Úæ);=Á¢³Îv_é¶ Kýc^¸ÝÖ^bM1ˆv©dD<à‡çynÙ=µÈ!)7ýv" X(= Ù\_²çœFvÚ‹ŒÊ^¦§ û [§‹) þ=N ž˜˜Á&Ðp™À°,CC½ˆ kb-µÄ¶£ŽO’¹•"e ¤&Cç*ßËŒýæàý¿ 0Í¢pÜŽxr{;­†YÖ¹¬•¼Qùü쯛~jP §­X1h. ê‰Ñ99ãç‡QP)·|S-"Œ¤éÈüüÃW‚õÕÛžõ†!ã’8~´~Pe)lͽÞÅ2aã=Ϊš¡ñ ƒ`‘Š˜°²H¬Øyÿ Ì)âh†¸ä’!üíÍ/óƒ»ÓÔC#§«ÂPrÙ9ÝÊùˆ™©À&Þ¾R;‚R—ŒËz®ù‡v8“ϯ­Sã[.“#Ø3fÿH¡ˆÎb«agYBßøÓ|øPÍƒ–WÔS:¸îü•(*ûئ’§zF©¬ ÎrížTÑ×?©ÜôžG«#ànºæÜì¾ãcª°,uÚÿĆ’¤[®/ ü±Èš3>çt–$ÿ ’x$cqrÝ—º‘ì™ÂïÜï(g|ÿÊœ(Ô=`зŒ³ßýïQ1ìš«×àåþo?†~çŸbÌÀßÈ^~ÜߢSZoAëΫ%ÜØpd>ßFa+ ouHaè¿ÜþÞËÞŸ.OÉ06ÎÕ¯ãúÚEp8§X€så|@LÝ‹j<µ]uôÚÕJ o‹çø =ýiLmTi/>óB3+X¡›“Z‚fÀY—Ÿ'´IܦŒs=®á:ý9Èè3‚Üž¸O¢L\Õÿí>·¹¸Ç«¹µûN §¹(rq7“v±]1wŠ?¯€]†q3ÍF¶¥©¾‡à«èViϯœÐŽ dy"ŸO×Åîö${P %ËÉ\íù´(ùÿ{,Ú‡M†¹fQ»Ú¦0U”>c!/Ie"r²¬šÄ)Är#…îµbåT“>6Nˆ QÏ H#kŒ¢g .öÝŠ0yÏSIQ²xk— Þ:‡îLQ hÈÿÁ—iïÚ-ëÆJ콘Á…¦¸gß ¡ëb* ±<¢—A äƒ6´_„¼ŸºU¤K‹œAÐÈñ7J^–®· ÉçŸRêC¯b+ý©}59-¸×WZÎæ~ùù:]χİ÷{ÏkuFÄ+ÝU“I@“­¤‚,Ö úQ¥ˆ§®#Û̬[Þã¼@A °´‚¼#QÖ1M—¾uîõYY²oÄyµå¿†Wû1ÔL•Wí­ý’Ï-NåjÙ¿ðpU¾²å w„XÓ bUÀêaÞEHÍBµÈά©÷Öj·¼?”æÂIµUVħBlIã Ú çdc(U Ÿ¯ýNA,=FD»Àlëïs?e“N´€¼¸ùà¸êÌéû¢õæÅåúŒÝOH¤ns÷§ÆÈ櫇NO¥U¶SãCK÷›`î¸Þf¹ÈÙ"<+r4‚[³ÐßXxÇ7 $NC7Ö³cXÚ…ÝMqµþºîVZðµÔ…³©bµ^uakMÉ¢“'ßH)©'Á•± ³ÉÝ‹¥Æ °þ˜•dbýqýñNîi[ÊÜt¥¦ŽH‰EÅÛf”*¬ÿ±:Þéòó;F˜c¦[â/£‚k‹1 2{˜ˆì/ŸSVU—zé=LRc4Ì[ì½’¸·•Œú PëÒƒÚ`å¢1Ƽ*jkÓ1óx"QÓ}êç«5i¥¥‚oB'¥æõàÇx+ZuHT!”ReƒÄ‘åbõ]þ¨ž\ÓSû&DE%¼ãî}ØŒi”Kz<,†O )7yäìiŸ%lσyòt‡“˜÷µ€ˆ fl—K@Š]ÔP ?œHÕÙ¹2ªA#¾‘ÛèYº'¸uX‚ßuÔà«(êm]§}cÂÉ #frxÃf4ÞÿÁÔÝ¿I Z¾¾Ö¸B¥e#úS¾ K_Æ5Ë úëŠGÆ2m=>e4Ñ™* Q¯±Pu/ù¡Q¡±“„=2XRÇcx"ÓºH”í%Yí¨¨qáñE´—° DW3Yƒ×0ªÃ¥ŠOYúŠI’G½.mÉwGŸÍþI`FÌÅÔðKMŠ·ô¬]8RYù›#€ì¡>‘Y˪ö;±hÿèÑô33Cxè®h•xP,½©°Í‚r„?³+ ²5~Ó‰ ÒÉÈÝ9˜bm,.cäøka„ëâÃîfCÛ'z¿ðÿŸøv‰œH™GªÛF$y ©@¾]/¹¹–¤ÅÒm%¤â8àE¸=Ÿú˼ ™ôà|cIÞ´wnØÝGß TÚrP,;‹íTJxX>ww·´²Ùª—4³VÏé]ŸP~Ñ_içz1kÿƳV£ˆ^®$ö:³ÃýhöôÃåL#÷äû*%ífŠ®¶À¾EMöL K<|VÙ´oìÎñ8‚ÓI¶_}Ǹ¥~/)GÆ)Hãv·+üË£œ ,D(?z8µ£°>öy³ñ+¦²Æø_ˆû(`(X’ÙnŠ‹—ws¥è=x–PÂn]¾/yz@ÅAfñI"ë„p[A²8óÙlOã0P žc*²ãP÷sñÝ5©·›ÿLÝ N'KÓ$YSw8ÌH(ƒ.™@'-¹þŒ?>°~&uIG+ê™Å”ã9YZH:'¨~qÜL³ ̞莺+õvyW?ë™´ˆ‰+5˜ìK®(í·ÁDW«Ãû¼±7ã·Ó·B—Ñ0¼îzõýtäÔºmA‰…=Fqk;þ{.”À¬» ¾ðÖêëU{Ô ½¹ÊõaYGw§‚û€œïjç}9:^ê®ôà"|92æ$‰hIa¦Æh<_ÞÌÑHÛ.ì:h¥’`¥Õm‚KòB¬SŸÀ+`-µ¹×vÄ(Ä $/1Æ“ª$‰=³¬Î#ÿ«šqö=éÒ¤“‹èêß3õü…eEú¹?ï{ãYáõuRŸ¦‡†½ø¼|%Fß pÚ¤àÏKúNÖøœ·S–Ÿ†\…d\£˜{Swaü5&Ô—Á\êhÏT–—[•Þ*ùä©ýA=óPRËN=IN€þ4gBÅ Žkx™{pºXÓýæitzzÃÓ5ÚÑZÈ#Öÿi¬ð2—í„”Ïý§ÕRrácÑ©Ö/§–S4]›þY¤Yߨ'«¿½Nð9Bü:ŽJîZdQs,°ã…N¤ðŸ å`Wgµþ¼C%ô¸ÜM`Áá3Ø«Þ齚=«. ëêÖ1bn:Bytmp  cnì›ðhmÀW«o?¬/qgi…‡jÐ&¼zʤ4Nܺ¡ôºéfNî4e3è•§ü¬lª~3‰È•¬ôcŸ©(6ž÷yŒjò“˜cn)ƒ¿ãIÑ{´ÄOïh9~¾ÛáXœçð77é´å'ÂE®šƒC:µï~ècH“(MÜ3s8bø6‡ËßòÄþé×W ;†‡éÆb¦­—(pÚ-žÀšÍáP¢}®åK÷?ìõþ«ÜuÙC¹_wñYpU´¢êÒ•ÏaÁxŒ…_¦Ãïãƒá¼ ƒœa’Ú`†•jRxtÛÙ‘£ªY€Lž¯ã¦®F96R9ÞL’.ú:ì£]ð¹-…äÚ_ß³ï„ÖÛ£0gµ¦^¯3)Tó5¿æ¡h1ýÖÂÄ¡,¢†3ù|Ó«~>‹ÙK1?¨àcŽ‹ŒEø@£Ù¦Ev($OL«,>ѵ¸|ÄIÀ‡×ô„ è»8ðé2wÚ¸<ßßì¯ßP›t'뢰:h4[£’37ã÷00È3ˆjþAEó>’¥^ÄÈ×½oÛ ¹¢jçLÚg/‚ FŽ>uC,$ê¹Uœ+ YO"å»hA9ÁX#FâiÞ€"¾éƒW³ë§8*ˆu]ÅìÒièTûëË¢Ž”ÝDKöJFƒ{èbÈÀi‹™Ë&¢:/˜£ïñi÷fŸÛ¹59h‹Úc–”BÛ¢n!ç.Z›·Ü«cvî2B £w¦ãð'„µmfŸ² €Käy°¢Ï ‰¼_´ó&ù% `’xï9B­hÑ„-¹GVÇíáñ^§y³‰wÍú“âXpÓJøªàcMŠ,Œ®¨öëx©òÜÈê*åcû‘~Èg­HE[ì‚sÏ¿ò.mÂj‰‹·õʼnŽó~³ähúþãû€3-.M«Žÿ¬:ÎèÒ×ð#ø?í/€õƒ°£@ºfž~¤š Ò3gëÁm8Û±o(ïc{%ô§Œ/vÕ?åôYÕŠÏûÃó¾Èh-à¶ËÌÍEž|\4’~ª®R2ÅOJm¾Âº& ¦Ð˼\UÇ=K+›…d5ûCÍòŠÃ«fÖHÌ+çñ.‡}«ük‹ËúInýœ'‹´ëâýèmV«ã$íÑ81ÚmË)Fhq5oΖÀ}6¹ðœèè=DûæI2ηpÓhDà%x u€eÐ#Úm}„¹0‚¯CˆµØ³’ÁÀ§0Íþ³ÿM^NJžÿš®”N•àÌCCo¿²¤úëÿmè£ÍHÍAçÂûû“•’üöN¢ý'" d•zÇT^À î•YPå?Ä9°-» Á Ü÷&¼McÆœŸ<ò€1gkÉÕó†ÄPA—ÔƒkÜÃòÓ€HYÇß±:ó¨¢w·ÉkÚ’VSR!‡(YkÞÀeȶ —Ɔ›<âLìe’…T§•Ä(_ Ò–þxîÈ;M ðí€æÊÅŽ xÝ€fœ¸‰~úé&„ñ˜1! H}i|†?8ÓùLј˜ÕÂòÿTÁ,îz€C°³…„~)¨¨E·>ˆC GÂüE£F‚™{lmû¦IÕOü9ðþ˜9Í&Ë8i9r¤šÒmÒS ‚¹w2åo"n"ã­R®«_zx…BFþA­LøÀ1æw¶÷â­cÁôá£U﫽#ÿº¾ð}ÔÒKœíZè ¥Äíª£¨?IV^Qã.º÷ö”vb÷~pØ~ƒ$š+æ36¬·ÓI‹(?Õ”3¡1˜›FÃôìQú,ï¬LÉÑ×4õÿÊùT½¨ ß^²ÒÉŠÅúÄ„Z7j¥ôŽ„Ãgëgž0(ANilÜ«>6oVpw€d{š¡I7Bç‹£[£<£€«IBÜ"œ"U£†½4ƒ¡þäݸɄsúøCëxz¨sZ;p—×ÄWá[ˆÿ¶øšiÖÚ íÉ®BŸ-[¬†ÉÊ«NÁä “ÎδEÝ·9J½c!#)3Æ:4•LP¦§u+åE¬%Ä£;“SŠ/\ç  1j›¶„dÍ“²mP!}l¯þR]¾3’'øÕ­hjîËÎskvÒ8§Ò%Ð#ÂI¹Fž'€`7æ ™º;Y¯®µ}*}-{gº™Dej$X C€xI÷zÒ›€!”Ý1•X¯QÀî.O²uʈkôáÍp­9ÂøKúùY=ŽïçãÌj|þõ±Œrt°šj˜N·Ó…€Ô‘fÌÀG4PލI}1õ2{8òº©%Z7­åû©5@âcîÄ܉ץŸÆܺé†hÆßÁp HAIà™,}ë¢4ëþ×^íÁZU3·‰§ØŸ|2q 4·eçýÛèËï⪑*m-nXHº¤sí”Ö< ‡{ÎøT2ÍB“U£ÑN_½Š4þÉÛ›Ú Ø~µh)%>!)]AcÓ'šH¯³´ Q·Áï{·CÀóÎkŽ„ êtžŒèˆ!pŠà0ÙžÏ'ž˜öHy´Œ ¾åìßiô_“£ïDɲ.ì¤øbðf+#ç–*œ4uûìTÄÂ= ÖŸœÍA­‘Fḛ̀å+õ;v¦!ð!ÿ£_šxÐã:ti >~OÊè©xž‡ ^ €Ãù§Ûýu÷/wl¢Š\ÔØ·›6¨)ŠÄßÛ(45’¤zÓ¹ˆÿôþ†è±UC'JãhZÝB¶Í+“ඦûœ°‰·)h{ÒŠhöæ¡™\jtÿ 7À·Þ2…ƒšŽÑyÕ¬‘ïñÜÀêSÙ.kaªH.ÏfgY÷'Ø}½uTüz”¥ÐRÖñÊiì÷b<`4ô§;Ct“ù®îÐNã=ÖNÌñ’n~8l–øÛÑ´U‰ú[/Êœú@£<†À’údµ»L©MÁ41³‡œ:%%Å„NëÆ9ˬ"½-GâiØé2´B6r/9ïÛl]pS¾ÁÆåÆYª–iç£.þ¨;Ä8Ib´Žg3;’T Bàó'êGQ•– å³ÕµÌkr¿Ï0~ß{ÈeJåÉ‹¿¯õ¤Çn÷XÑHç»Áu¯üd5XÁ¬5ßq4\¯>ŠªÖšP} üFC¹¦þEÃ{Lõ=çëh® ×é,nµfû­P(H¿ok¡ß·FžÌŽNZ¸eÐyÒ¿ŸF/-Q˜RÙ“=‹Í-ÛRàªKà}^rÝ/«þÊZ^"IÎÀu¤/ƒ‰­$ÙmTô¡*a3Ë}K™ílÐ(\ŠPþþHßr>Û“ ·VQBÕ̪›îyüÁ¾¿ó­zÙP»Ñ†„ÚÃËísW3’“Ù!zþrºJékÖN>ìEš®põÒT n>’/ðìù#Õ-7 Ò¶ŸÐ±04“Èža ¥1”¢5gͰÎy6ßì91op©%q|Á; jmN5¡i<ÁÊMí4áTjeÉ¿ÖN®mQ™ÌfÍ'Ò©†Ô—Ä(þwÿè—%¯‹üø©< j’Ò<‘è©‹ 3©*Ž{ô#HÌu(NÐöÒ>%Å‘”Ò•ÃQ€(]¯ì™X_âG‹h5â9i¼ÕùAûÛf㈩,Û .´B5„‘Ï1§“»m{ ç‡E“ð£ËWŸbé‡ÉŠ—2u‘.fJmÔ¹#Ú½ðÇãä&¹ìnÿ¼ñNê:À)ßF3„ƒ¦ƒ?Ý~âÁWŸå¬‰f¡‚\PÍ}ï\Õ_½2ˆÊ`Tyž­=^vzâ×ÔRSNr§uk¢Ï[³p…o)Χù*œÓ7WNp/P:‚”öFÜ4òĤ>·/€†W®x`'­Å/Ç‹0|º:˜•,Š8@qŸß@t~(æE·¾òHð¥©Ï>K'×7NÎ;š éý?¨7c¸Å a¡$gn—‹V«†•ÿžæ´j9ÏB1\ÎòܱªÇ²%RZ²ÿ9ouM•¢»¨ùýäªs¨£6«¬¡-¿¶„÷%p¶ó—¬'g§@rã,fòD%¶˜²?s/}«"휱\¨GšF; w[¸Ìg©Ê„F8 ––ü1JŒ>~ÞßÁ„Ê͵¤¶:´Ãð?rz>)ÁÀ" GÜÄÆÿÀn Öá‡C’‚ 8˜ ƒ]’¨ ¯ØˆµÒ›Fæø®”ãß:=æ˜ZYWUñŽD—*¶¢ÙÑ6é9£Ø„ 3^Êž$gø‘Q¶¼%Yà‰‡{q2SÇÍ»>çµ ›[ËȲ,k=6ƒ 5"DÖRâ+’© ÎÿA{Nœžˆ.\ ŒhÉyü´W™+pv>è•°퀗ÎëÚ‡D-S»H¼Û¶Wõ™Œÿ+UÞÅ~4.äñØ]nâÇ­Ñ<V{zÎ~†™Vcmõõz×úXC)kK¶\²0‘¬v’¦­ˆªÈŽ7”ŸÐÆŠP0ñ4Yùs‰9œ¢:?rÉÙ|ÁðiÈà Ž’*ŠÉFEä–ÝTšw襻-†Y’£¢ô¡Í¶¸V`‚Ìf„uRËo 5…† V>9ëÎ;,µîϘÑåþ{‘{©? 5Åd' ýmØ~•šuGœN_Ëü½™“pÖ£Á(ù‡h‰rœÀ~‘.i¶¯ûî„BKíŸ; éXòM`‚ÂÂ_:íèé(}œø©õ[’­·>å”8vþ%ÿ?Ÿ­ C‰Š4xi„Q=`ôH¬Yç¾³GòÀäP>ÜFˆ«®ÍíéÙÞ‚ΉÜmÄr¿zØô?5ŠAƒ;ïÒûÿ2Ô`õi­0éÕz³lpNŸŠ&šfãpÔ%òHÿ3 ÄšSp£Yæó?¬¨Û[8^+ó€ƒX.“á”íÉÅd|7 žp”ü·–ð/Wÿ”-½Ýj\‹fr\¼kíqIë^L=ä}½I-´lä¸p ûWÓh‘#ªÏû’Ââû„[Íå]ÿ ûŠr›¶v+geƒþ2(l¡wÒU+âµXFò×ÛÇD¼vo)È êR!èµ@_asðã=‡Q ^¡ŒLÂ.Pv¦•)É5ª£¦Î÷ݯ¶¸,À@ >ɤˆºïê´éê÷܈¦fˆu©¢¢1ä«ë÷žZ²…*ÿ5óã0™ÆÍkİÈ; ÙÊ<š”hD#çrp'“ÙlÃòú7•ªè‚>†×9Û=”ÌS…¼þkÌHgF¥y»C%. snso]öÕJ÷Uz:-¤Ú6¿’ê~@oâ”:‚L±á4¨,i–Vè;ªJ<îŽA5œ¾0ky§Æ”²àÄHIY|½tôš;Â*ÀªÿiEhoÎ*¯Y¯µ¤{>fdyp“;öP¸µãw`XÚo ®R—N½}äS©†”Ö·9öµ1è7wð ó¡â/ÀÅÿÎàŸvõç½¹kyAQÈÎÛn]¤"ã™YZ-MTÜv¨K ·]4^îë[žcc‰#±‘sV‘R™|êV›YOj(^ÞÇ"\N&°I‚Û ºŠ£AÐ`@E²œªÕö–R*+¨óÖíQ¿ãæžj< rø"róˆ Òü¡˜=Át?«%G@Ñ¿]Àö\³5[4ª¹ <_îV¸Da÷ÜZŒÁý©›Å¿ÒéaËÎeߊ®•IxÖ%ÊîÁýø Á?S>§±œ|n§ÒÏ[=“-Ķ"Z•·ÃÃE08Bì‰[CßY65•}OE:3|&Vší¼ê\ùp\A{‘£/@éXhé)?¢Ë³îS‘1¸@lÆ`B¨èøIBs_ªXwh~ß´I\¦9½l´êrhÛK$¹„'d¿0*ô±Åûzö;L{¼ƒ“¤ÿšVl¬Ïõ/§NäÆo½8n&ê@æ6}ÕÛEC€0 ®]ûXc´®Ö߃{vØ’-ÆÂ@}5Å`A“/Gü> ÁݯÏ)Fº»Y,ç¾%Ô² DÀXÛËÁ±Ÿ o…öMeMÞu-6œ÷LK´Vüºì¯‰†Å˜è Ú-©È×êzCS¡dÅgÊëmH¢¿Ô=gŒ7±ô^ajmY™ ‘Ø#ÚŒ4:€Gܰnvƒ˜©Ï:s04ÚSç,Üe€ˆÁHiâ„ ‰¸…ÝS©äÕ÷ÿªa!ŽiúõxûY-pPDŽÝîYhã!ðE¸ÖAwÿ~C¥ÚdR%ÊŠøè*kpú3–_NY‚[-쪠¡`zÁ3ŒÒ 6hmZÌÔ›-ÚÃ3 Ðhÿ”3C†A(‡tKûŽe½÷d)@ž©™)?—g/Ôĺ’ãÂŒ4US(ÊΗýf€!ßíh…À–PPΠc,¥…s‘õgÿAƹ¼Àh 9Gtk$€—!ŸÈè›)¥siÖ 0j \Ó.˜*êÄ¡±µì.£=MïòiäC¤¸›üìéT×i¡¨ã>uëÖŽV-ù£®AIÑ›ài‡ª‘é§|—™Šå[Õ(Ôƒ·ï½qÉ_ã™5 ‡ÈÄxMÇ&0:QÖ^BÓ†…uÛTÛÖ[¢=DŽ2åGÿäÛÚÕ&¤]’¹'Sœ8è$€RPôWñìnô5hzÝêr«Ù&ã×~f¼”ʌĴ ÂAR<»‰¢ÉÖJ'"Nб._ &:™ogs¨›ÈD='E[–³cY{—ùÇ›qÖFAQ}(­ÔΊg†àìýÓ+ñn€d¦*ïáïÿxŒ3êïqÔ2½dõ,xlÌ@|ø ¢F7߯QÕº±…÷”ÿü=’T¤0¸èÿEÉâjR'ž§þ‘,(¾½‚T¶EE‹ù+ŠõzÕè JDeÊ?[áÆtg†"¬æšµÛô^6(v€|Í&Cw2‘BiHú3²ÊÅÙ¡܈Þúñ'Ÿ2nßÿ$ê$€úů=’µ"'û¿îtÞꓺþ‹WlP' jšOO^,*áÁ¸ô=EÇÙÕô‡yBŽî!ˆ%¢x„\d £¾b¦áƒè€†ß rUŽo饃ç¥)“ËPdó<Óyrt+Щ)2Õ÷a îGoL¨…;ª2ÂùÆXòJÊ¿ é„CA3t7,|xwÕ;èÝ+“*K†l‚VXŒžF¾xEÈ’U?ÞRA“åƒÇÇç¹üBÝÀ5W/‚žkBá yå/);a¯ W¹ƒ!€˜ÛPÃ@ººíý-÷Ì׉UBße{6+ ÿ0ô;”…Òê¶ì3’¼§’ºG:þǃppö€ªHÅÝK^*ƒ<b¾)ê½Q&­[½@_[^Ç9”nÚã2Í9ó¶-oð`õ[o a"jCüi]kš!¯²*Ó1|!w  ¶ç’Ï|mÖW¹+D)Gf‘v‹4 ½ J˜XÓÄyw¿Õe+Õö;AOþ;S%o³1sªHä3ô‰^ž ²3ì)®ÙjkªŸ¹x g ´¤ &ãøsÅ`fcÄ téF?)…7·¼€W”˜mÞIx— ]™¹  áÞVÇKñ<^”Hv]>„±z”pþ5±âœ¥eúò³rb  KñL)gæNT×)h|¬BM ÏOkL|¿ŒÄREÚ #þåûlw ¦yÓôÚ: –©­'ø“²ѝcÿ„B‘•‡î°÷6ÕãËnõªìƒEmú$c¢å7‰Ì’Q¦¹L¢Uw•‚gŸÝæ¯Ë47)Eµº?ºÑhïÁÙè¨O†ÿ¹× æÀØÐo¹HËËòÖx|-­‡'.°†Ü÷¿všiù&s…–<‰¦þunHJyrrÉËç¦ÚªdL|±xU1DÅ÷V¼+¶ðŽ‹‹™ƒï˜Ÿ$ç#ÓHâsµ«U—½0øK26îìlкYÅFg…ñeÝ=}ä…͘ҴxmÈß§”ˆHÎц,çZb‹½LVö«‰×Úž…À˘×]¡ÚÙàš‹çhÝÈôŒ$8l$ëiõÍ­€ƒ/“µuSiL* _%©:mBSV ÏéÖ¹ ?P‹r/‚á0È"|«³àòëK‹ŒÚœ Eè·×ÂÚË5±Û°ŸÑz$¼6´¯O?³øgžÝÔEPHÙÝU·‘“¸QI9¡ññRMÏÀsN²Úäí¤F8 o÷:ìÄ/IéÛ=d’zꊢDq0ÑÐÂØ9uŸ'ÜßPe ðÙÞÕ«æá¯ØÉàÚíT ݦªÙ¾²YJH[‚öaT^¸Xõkòê¯N¤L€ªDÏuR­/6_ãÓ)>aæ:AtOÀ« L°æÅÓƒguû1fHÊÔж…zq®z–FͲmÎqù.)‹×ÅTÚjål37ë³Ó/––zOh¨7bt Æ#ëÝ'î yM±¤®üƒÛC=›íbúSCšEd§9tj±ðÜ„×7…ËÐ²Ž *ta7 a㣚S+ðP þ)ìftXyz„ŠlÒð_L'¾Ó¥I ÎÀlœÏy‡ð´â‚sÈ››-гOóÓ|¼Á¢Ž§bÄò2Û}âa}V rqÙ/‚¡« ‚LXúQeeâG;é B—÷ðý \k|æ5vxLÀ¿HOæËÄ¢Waˆwc½uµIE™5²>ÒÈ ¹IVQø4,<ॖ°2h½)ήú r™x› ž^ ®Œç£ŒÑø…Xq6.H|ð0jÒº‘—ц›à{²_Ùq£¸K…#¡¹|èŒ~*Ætø4y9%ñéh™ ÀÄØŽI!üÏEs[ÙG ›ßµèÈ,S$œÝ§šsÐ’hô× <ˆ qiþNÃü? $uú¹ÙC´\Ù@Ñ×€ 0)V£rdl@`2’_<@b®9|åòuÄì— U3„æ+|£vЗ÷Dz¤u:Ÿ#ƒ18^•GµW%ÝHâåÐ8XíLDîdÃ!²à´ÆÒW»Ç2½·TýÎÛ0hŠŒ£¹üë.çÒB½ø¸ãL¹qÆ¹ÑÆønR꺸ښ õÔñVÕ»*}1IA!¿:ÀÝY¡ºbI:S÷dý7Ëx·}ŸÇéëù» VA t¹á!_ }¤?=ìz¡´ÚÙÇaüÍï3GŠÑþq”Ç­4öÖ²)›O;ã·lMŒ,p_{œ)F7{”W¬H€;ÿçšêÝ]´ãÙ@¯ ”M`õç1[äÃêxµe.³l~g±Mššo™{ûÄ3›a-äñüŠA69?VáX…ïùÖðoAìbmרŽ*ŽYöƒøEß“Hý9lu!9(o‡M$°³šã½jãBöœ¥Ï¥ÂË‹úƒ½¥©ðÎFNðìt¥ ¥ß·1¶ŒÐgçOì”­ë¯SP÷O©‰úIÚ^j¨tµÅÃ¥>2 :,æÇÒ«ýYW3ã‘åùŸfýœ™ ×àO˧ïÚk^¸éà™“æ •"Ót*UyГí Ã%ø´~N…ªeóîmAÚVïï?%Úñìãu£²ä¯*Ú#ႜP÷ ‰z’Å7ó¨ÐO‚!å; áÌü½ÍÛ¶dÙóËMöÇü>íʈ‘sDÖdŠdèoPú+š+½¼ç¹+±ë²”Á˜:êÛzK}]í+a²/Y3’ôyK ºð)}ÇŸ¦HÝÈd0ê¥AÛÑN謹Õ±`öýS®{:T…ú[K#9DOqŠfüSB·Âf¥ÿZ³›$Iî/Zçkn99r³€»aå0+Á¿n|Ê.·Î(];j±•žËž kCî%﯅](™ÑNY¡ØÛ|V8ÎÊâ*3ž2£°¾HSåø]’úõ¦³Õ=Ìnú·åù]€À¬âOMgTI•2Ó2hú$ŠZñ‹¬&ÑQ­&¨ðÙjì ò™x”Ñ#Û Ð~ÿ°]ø¦Í¡)Øg7+ ±¦ÆDúIý[ÅZ±ÓiÔK“:à0Ù†¦Û-m|¸3zÿŽžÞuÁë› ª°ý4Bmüª!E-ÝùèCÂ*úŠv2˜´\QY”=Y¿zÞMc{ê/HîÉ-LÔ3¡Ö’v`_Ãáâç+ƒ0gëÀŠÊáVÄ®è&3¼›÷ž¨ª!N2¸²:;y!§¸-2r)ïQ† ¤bÄß@Hl¥î¡#LkAçu®âç™TŒ°t_üÌRz{7:”NoØ9c¬h? }‚劧™vç,w_fíö¬ã­Š_:"r¹M¤ØúmµÏ‰¢6®CbÀõ°ìB—ýhTr¢ßeûâ¸Oã*‰D_ŸË®åM…ãÏUŒº¹ëèÿ4¹ÎÄÁ¸öŸ1dLCò#ñ×JÜ÷T"öÜ¨Ãæ2¿vÛùÈjûª^ðòž•Î D¾41w,Pù¼Ö*æ«»5âAÊjjíÿ¼»cÝFì—²‡1h~-¹&Ç*\îb‘E‹¥H ŸÐá*S¥]ŒKZǯÒâF W±¤V%¦Ž@ø<*žq00h#½ÙÒ÷ËM,á\«„Ièå?÷ç4»pXl)¢´bt)C€ˆ‹´úc‡d¼óVŠ,j}òœ5„¨è0·n{QÏãSα¹‡º5“†ã]þ6±K³ýJó‰ÓaÎä @‡ÄÒ™ 4!™¥ßmŸ6ÌéEÒ_ºX°õ¹R`G%¼Üã§Ó|1ÏbÁ ˆXþ2¯§ª’4ã?aï8ß>eÚy_ñðci²”V+?GcÛ¾7xõˆ³ª­zCZs‹s[—Ðý¨¾2öœ"•°Ž&ϼ:¶¿@+ÉÜW†Ñd£Ï´©a:.ý;$—`¼ä„OøéÍÝiÁ‘Š¿ø5C1…i˜ÕšÃõ‡-»Rêì³VÍŽ›æAµçá¾'®˜ I Ú«á¾Tˆj¶ä†WŸÛáGœAûp£õ6–ÜÆƒÞ•,JFê}m Ÿà1LS2§Tk¼qbN×v¹Úèž4s÷K6ß2õX0“b–èй}¥FØ™î‚îРʟF!¤hxB]‘i1Xyø]î\LÉÈ Ué!ý¼‰oY‰B/'w+·ˆÃ-Ö]}(«8VgM_[`1K(à®eµ[î’4rŠY”9•‡5VÓ^{‹‘^©&%€¿Ù‰ø¢šzÁcM5 úDÇÙ°M`.™­s§¯ä+l«OläwVšÓ'1Ø>j™ ¹8màü+bG·,ƵX ýÖ1ºÎ8y³Yå-c”¤tÌør æÑÏŠ ;J}¾à˜¼|T3]ç€{škᇾ¤º>MÖvð hV/èâ›ØÀÅ2Î!ÚĂø(,|ôŽŸÒ¢bHˆ8º›3_,T‚Uãû)' ÁjcÑZ0ôfŠ[ćƒÒ~jD³Z™gc¾ñšº%Q.}Öœ#ñ‚ çôºçâR™«V‘ÞÙÆßŽü%±·p®žWàã#óȘß,–­‰¦¦•ë=þ.ñ¥$dü}¡ÔêQMÄݪ[é:bÈC4¶|sCîκ«~k¸xw&ROQ QY,ýÕŠZK !ÏáÃT°#q}s’ã„iXŽø^äÖxØFÉ‚]Ÿªê“†Ô«ÞŸó×UgŽo/ÈE•&x8Æ^·¨IÞeªo> KOôНQ®D(yYu [Ê–a”+PÝ„t ”þ ›£;½ðÖ¸ŽQæÜ!œ Tž¶8=ÝV ëõ½1á=%såE }N¯êp·)±i¿Ñv¸ú5 òýþYT*¹–BE§óf½¼šò|¯¥iÂ¥ÌGÎé"º)M9‚Z¬ÃÊƺOõœ½ƒw;4¢­?/hn_+ÑжîgŽÏp8>±—ÏÁxo´Å‡­à~Gab×’z€¥Ì_ebŽ©Ø÷LØÌ46YÛÒAfpÄëÜN±SWóAÄ>A!ùœI›š*?2â¶áéÏà†¶àãÓÓN§äé´7}U²µúKžV]ÇÕm ´Z—éä†vlbVY…«çÓzD¤[TOôw˜J%žU>~%•PÇr ô%­ï0zö9Švà¯÷(ÕQßÌš”ƒëë,Wb†Ò§¨LÇÝ|â=ÞÓ¾YÙB+¯2€(c¤é×;sž¾(‚ã9 tù¸W>O¶_`ŠLfæ8­Ñ;ï€3×'$ŸÒ¡8´;ó}¾8Ç Ëž‰ÜöQªâ¨Û£ü'ŒI7(vòKfìÌûGšÑ¢ šë’ØgÓ´N8.סÀ[Ô‹e¹ƒ „ÃŽ-Œí”—´¿)P€ 3Ð7ýÌêeïÍzh'É7„¡¿Y¿°J +MÈîaÜÆAÁ ¿ü®RbàÈÚŠˆ§`õË"%Õ¡cZ=Ü¡ÅñÊsΉÒåei'™½ÿ‘hÇd™\™_oˆüÕõÀ” ðq>ÃÙZsK¿©O—ƒ‚‚Ô³ƒ •Tý&}¼¹}çßêí¬A\q/I:Ƭœgr‘éóXò¼³ì¢ÌI ÙÚ0l:Å&—:ào—!¨uH-ßG°$†¶ y.× Ç!©?‘°äÞo)Ÿ‘³c—~åpiñQ0 Ò1Ì\‹k"=¦@gÙ©TKÛ0-œj"ÍÇ2ïÍDŒ­jP“ç}ŸE‡0õ´\¸«£Ïv¸Ó ÂeN÷sú¾&•Ñß"§“*K¢2t¢›‰>~¢ä,2\¨Eôî#©ÝNˆ÷¿y9LŠ#›Ã²¼ùðµΑßYT«*ùèÀØ”\ÀÁ…º¥û! »„¶:KûÄ» £Pô ËŽÓ Êãj·ÖôÞÐq=·iP+ 6#­Ü$SYTY\q÷¢*kh¢WbÏ~RÐjýû¶È_Kùp‹Œ9xBc5¥¡ŽgaHBx‹4h·a^úejÌ NUܰ˜PCoñK@ôƒ¢ÅÇîîB¬ã$€ƒï´å"ð®Û±H†šS«ÝÆM¹H/ªñ|Οp<¼æ4–Ûæ¦å©/iê³D®™R‹£<#¶ÀëÕ 0­­=²/‘#™õpé{•™n¹ž‰±‚ºQü*H¶­k&ƒÛí]ÎvDyž^QÄÛ@2Ó7 ÑrDnEn×b¥¦”Ñés îæù¡* $1ÒH_ؘCBýçv‘@Ô@o´Vƒ—H0N†*oÇ{ø'|’œjöhÉ µ+Žäç2D@eû ‚¹ÑPÃÞ±´ÆûŸî%£$FÈÆ×“›íÁú-mg¾A`1³˜FÓ úÛ¶´H3p:wß°V?n±–ï|Ù:rqm§cDyÙe$<ÐäG5ÀMlÞDƾ6¾¶ÅÀ•}w°_ ½ÖGu¥‚øŠ‹¸ªz_6°h´GHyʦ©óX¾q×^13|Ó‘Aõåÿ& ÷òVó…a| ¯XÚ[µJŸ… šD¿§^AŠ«e=Å8¿׋A^3þwïÿU ¼C–˜ê-+ÜþQåýQmÀ…$’Ú„®Ð:+“ÏQФKS— ‚æ-Þª)à"–ý£qî²3fCÊ–ÉhË뿉¡dÀþžšU0h%:óŽèÏU74w&SÖªlOF‘2QlÑs¦”S–E¢ŠÈÉÎeOÛé0DôË ´~Ï•øö„_€ÇZ¾ÆEq‚$‡0Ok‹,fªUV€‚!•/A.¬·V´%1á¥?·¥ª±îpcˆ©Ï²¨y¥{©Â´w1aÔNÑ>!ôÿ¬jSÄ]ÖÉ—7(2u®7\iJ$îîzêcGA±»TÃ"»Ò·–DÙn7L£ ×±d ­5|¸n¬}hF*Ðý‘Ä • Ò7 *‹`IþÔƒüeBÄ€ £¥™–I# ô¿óóÊdzÖÕÒM´á€91¿;/õ"ÁVÔ’ÜA'É÷P›Ï¦gö£†7š;E¦Sn}ÏD*xë†ÚÇí绾öyeyˆÈÐCg‹Ê/]YwBF-\SGâ‚|¥bs¥«Ã9ìÀ6^íc™²Ú’tÙY¯3§».“iÃx!¾Ý¥ÿgƒZƒô9( :D³aò ÕÙtç“O^TTõ©Ì!êÇKõ‚گÃÒ‚Š¦žÔ[™±”8ÄþÀ{‘JxwZ|[­à¸iGìO5ö¢·l.ñº5Îw(Þ˜ÝðSîqù ï:_ÂT­žÁ|Zõ aÃUÙ¡"=ÄM}åžN£©Ù©D²gnð²&?˜EóÓ[ùù¤GãðŸê[ŸsÞØ(ÿZ÷¬£Ãl^*ngp‰]¶ÅG]'Dj<4U׳=^~˜ƒÆ cÇŒ÷A›Ê™2b‘±Ÿ`N¯x¨¤³š]bì­*« Sù/$`ùu:¬1¤0ïw0¨2j\Ö}"©Ðs‘¦lp¸qßÀt%HÏzéý„ÎÕw9A"^?Ë®²O7ÔŠ'dŠòa38´ZÄÓ8ñÁ±…ÃDÍÚëÉ– `ßÞ…^J-ûí¦ zR5’jÍ„Á‹dEÌ~¶×ê³@æ3%ØŽPÑ&•+y’} ý~¹xë·´Z°Ç7.i›É8dr),·pÉÄ4qW3_;éŒÃˆݺXb«è6¸ jòvˆën¨ô”%‰Ðô4ó´&ŽŠ‰ðÍá@¢ìˆ@ôÒTÇuMéT ]؈¨‚t‚ÛÁá®Åà‚Å3µ@Ô”é”Þß?bñƒ¯ãɤ_[S)74$月ŒBÜQ Ï]÷Ù¯Ç6ÄNÍl̰5l¬È7cNŸ3@+'Ÿôc—Œ~x[÷˜ `䕿ˆ2û‰Ï„Ðój2ã ´Úåó)óËX•ú ÔÓW×n9wíÚPÆŒ¦,1«‚°[ìj½™×¨a‡D”[¬™qF¹½°‰G´ýÿׯW‡Î”^P.Œ‹Wš «Ö3¾ðSÍ0Ep‘¹T/ó/Ð¯Š©{ïþ8ãÝÚ€ÉrÛnŒöýzz^ÁšCwL>c)"Ž&Jèy)3áoèe,Ýi…PdàBŽyÒÅ0ôÏ FÈ;ÒG$[«2 ƒ‚?–aFŒ¶WÜÖ¥‹{(è[A.œûfÝ7L6•™:¿™zsV1: Ïm•nHܳM¬2üXÒ’û2»¡ÀÊÕñ åqukú‰çÿŠ-dÆ`®ºøœ.«ª¡¦þùªNeŒ¹B”<ÿÕåžU7À[֢ЖXá‚iÜØ•NÐ…æûTQÛ¥!åܯMdŒÏŽùm„Nã»Pª•Wønk›êr;¡v˜û´áÈ[ñi^eCèËeتkwèÒ!´ædQl…·½7É+ÜÅ£üX{Îs¥Cslˆ¸ÅÉ5%Ÿ/Âúï¯ÀNºÅ —®×U«Ú2ÆÏ± 4ÿ¿e̹éȺØðVž…·x@À{«+ N+"˜Ê†g¢¼˜ŽËa˜¸9Jc·1Éö’aÈž &jË}8AÆÅùÒÊLúïøëQ>s J±’”¿ÀÂ&÷hÙ}±EOœ¤Û˜" Q¤o{í†4µ«Í{J²ßcÜ L²N`›ÓeH„ 5U‰  ýÆo$C”¸4è¦å»NÇI~ÞDŸ×É73ªY×?°yÁ«7T®Iî”þ¶ÏDËæDsÙ)!Vø øÌÅfÉó]ÁošÐ!ä%àCmlįL6ѯ^_PT)~„)wN°4Éã÷ÓŸ“ñ7ÆœªõŠ$,¢ì5JbB­½€• hiê0Gk»…û/PÏ’À)Ä:FY— âe2ÈŸýjlA8ÿÌ Ú‡{½ÌëÉj3y¤-©ÝΑšS§Èÿ„þRç€Bm§Ìµ<Ú@ª?¶ïîA‰½úÎÿ¾6¥Pa¾ô˜;Hû-²@³d³WlÜ5twh‚ËS]µ ÒüÓò|1y½À1f^¸õF’wÝ’ˆG.Uj|†²˜4ªB–%ùŒjêýC¹)lFgÀX©/*«x>U;EÿnJÄD[§Ó[È:EÁ‰uˆ ˆ¼2ÌëßJ‹-MS^ôÀ‰ž,¤†–*ku³Ì{Õ†¹y/5· î´tÿ„¨µÂ8ËŽjùÌñ‹‹ÞFálFxâòTå±&o,)7Êh„“`½LÇYðƒá`؃k§:ñ³o׊ݴ€N~áâfœk¥‰ŒõTNû‡E›Ò=)<\·`šTÀ‘†Ay&>ªº®kä²Ö«¦çÝH±!|ÕPv»V1¿è|;Ëúg—e4…3BY¯:^û?æºqú.uòaE<Ú $Õ2Q⢆’¶áÜAÚŸKts»×˶/m0e©£UO<*I3‘ö˜ú¹áUS[ Sî–T¬ãÀ$KwÊîF¢£È s¢€ƒ`©êBO)Ùß}Çfñ”羺VÌÿ®ÆØkÒÇÕM4”fUg«ê;çÍTrú¯hƒoÅS àœ&ûvNbˆ\Z<ÍgtûÒ¤sêjÂGÎóK0£™üíÙ&KèÏý7g;ÿùŒ·ŠÃ}èGCÄní]“ÛÒUŒ’¢`ËÊ«Y9ñDxæz.! Ad·&×D]%¥ *‹çi›×`¤— e¶®g°¬?}Z’·Ó4â\DûÁ3Ó…EþtŠÊwU áøƒ¹{4®ûB,¦õdÆŸØiÆùùŸ>áA8g**Ø6Öä¤E,ÃÞ*År'CÄ=« j‰#·£½€7©§h™C·«<òø‹·ú8Y„²¨ü}Ö²f£Îa;ˆ²-0Q“W_êø´ îŠ+‰o ã²Ö,áÖ…éíu¤Y‰ ÝÆ·— ‹Ú®hh Ö`ÿÁZC”°(Ÿ>•DS8ŸÉ|HL¼|m½ £w¨Œòñ-ƒ:|0”½)²¹×BógcmY99ÿ]ÑäÄ‹›¨î;fJ}¼vü£Ä–p>ÐX\Ž!°ÌÁ¬c»{]6žo=J™¯%{ÐÐmið_©¼|HûÛ4ÓAÇÕa¤åoв„#럛[xÕÁõŸ‘`ì«AÀ»n•D¾îpÎ<ýBò,©a1À[?à@ºÏŸ*òê9œý°Q‡#ÁY‚V¾ý¿œfôœk‡z'³Ÿj\ûÃŒ^Ý¢4ù5qþþû´¬ƒÓC‰¾3>¯Ý¿c†ã†Ò­ŠJvJ,í䓳=ó°ÁRá ‹xçÆ¤¸ý)MÇчŽLtoÐS[HŒvÊÔcÇÎ8ˆ³ÚÂèŸÇ.ñù±ø¹VŠ&”:rï…Á÷,B¶ú©-’ Oµ`xÃÎG00©ÿÓ·Ïï”켺ð¹új´b­ŠÏ²~¹Yºÿèl£ÊÁSPn¹>1°Æ"3áH82uòR­\RßQÏ[ǺQeéž7ãݳôzâ§x=æ!×.&&,Pqë0^s¥ ÞÉ,BÙˆ;QÎIBÚe'^°‹r³K~úÕ†EʨŸÔ®[õ’V›š›3›èÈ‘jù§ë‚ࢩB„@vŠ¥A¶sƒª²P¡æåh„Y›ywÕj¤?7©ñèkÎw²H#;º˜6îwÂÚ§oíßó”àdê«Â<Ü J¾–¬¦qG| Ö_çž´þ‘üªÑÐÇÄ1ã¬PÅ?’ýJ³LÓ¬Û+^\gñßt} Ĩ“`î9Hý¡ªu€÷ÆÅyºÌƒ´z³^óXP<%ûc’RÄù=ëß{èôà=w Â× mÈÕIž¿œ±Wô=þ߉©—À#ñûB¦6ìãñ¯‚ HžÅÊH$s(~ž÷ËI`>}žóâc°øïRá{Yû«‡BŸÓ1š;ŒéT €ÿ(?%2ôÅjŠ‘Ÿ%_€R¯ƒñX×#káNVAAâÑE>sýŸòEèÊJúda bôÁ’PónÌ 5sâ1B)õw¹~ð?6á÷7Užï-¯gµƒH@¡G„+äoŽ-cpþú즾ÁWÄÍT¾APÔîxÖÈR­µ§ðøðo¶4{ÚÇy£•-ïïÂý*‰‹Iœd`d×íyª8uq y—Aºÿ{†µœ¥0Ó¼? –žoS kýK!ó÷qmÛG*P ÇHïȨ´ÁvtŽzCªw„‡ù]2GUV±»ý¾m” VKsV¿)Oð¢¬ü@Ñ€ü UQ•¡µÍ%<„0ËÎtÝ”€ÉîÇ=ÛâkžÊÔ¡y€§ê?[Ýtkß“ª0ïÆk‘ÇQÞ`鯾lÅ$‡ÙZ¬WJ©ŠÛ§‚œ1ž©=#»|ž÷ B_’ý²‡Ñþ´ÿR 9 5&BÆ”»GÓL®0UÛ•´ÅdBØ#<âF(ÔžäòÄAö›x|VÊ¡™ñ×½nìÈßGhªßÅT‰w>[ª¯+XjF¿oõÖÀ1ø~¶— Å®* Äç¸rbý¤yQâµÓ¦ºôK/°½Q΋ew÷“„»60´@HHêÿc‚,²Ö± €Z^‚lß_{ÇÇÊj/'´™ÁÔ¯Oæ¨]™09Jq=G¤QgŒ²4ú¸ø|Î(eå¸`¹>·™–öXÐýÔ¦Í~¥ñ.}HXîy}GhçfRÈ"áÀmçÔ &¤yP;Á¦'âj‹þYȰ-ÚHËK\L%Ö& Ž¥˜·è•œš6»#÷$ÉVna†éÎÍËÎ#Ô3‹šáù¦ÆWq&P‚g´ò§iB} Jÿ‡ô7×å^1¶µXÙgÒB1œ}ÙCâV[°¥´{Z:½mÂztmLŤÍÜ$.ªµº×ì@yhéÐRP+9Øl9˜Wîê‹mAz°dBôl£ÙêAŠa“+zOĸ"1â“F:ÔN¬pO´‰¢ê 3µ0§¼èxO@f¤'%ñùÊðž0”­ÔŠáG¿¡Ù(ƒóåé D6Öà›|‚ië¢JëË ÅY¦Üä‡6ŠæÜ~x3I"â†T/ÐÿÚ]Îÿ:Šøf¤ÌoòÝ—ê!é…IÄúN;Ž_E(È÷#½ê‘#“É[ò5ŒZˆïö.YŒðZ/_9²ÓÍ'õZñËCŠU¡ûÎÀJ¥¤yì œk …¸+¥¹6Í=Ä£“ØUûõ¯;¨@t -ûÎXÉ‘õ9ó©÷ä}ª.aݨֹàÉQÚã.ÑD±Ú&Yþ\ ”îöþ7`¾EðâK÷2Äùƒ¥E‰Oñöël;JGä$Š®; Q Ö­c#øøÿòÏ-˜ îÆ¦9•+ŠlçÔßu%І™(FzüÑlêüK`΢ÅåØM3.wŠ˜¯YL–+ÜlÉtR›Hî$òƒÕx|UӬʂ;Ñ…Ó£·3Õ}§}·öUóA>NÆzB˜!žýw—aëè±.~L¢~ù¾õ†ÔJ |k˜Pðô‰+2¾=Øý,áûÊ0}^px¸ä«N94sh i\f%á 2õyy—Ÿ|íR;Á3ôÁ¥f"ÿŽÇ·O_«Ë_‘åQýù@Lññ§\Ó¥_<ÄV÷•¹{Èz@ôÞ#pH½à+èÛœõ@ÛC>c;+-ú²Õîã&Æå¹X­Áÿ1NY™ó5¤w u­M¾ tÙÚÔF{_ÓêÚ(è®g—~<‚V¸¯jã+ >ˆe’BsÆØˆ®B\{gÍ^¾:úÜdåN¶Ê÷çBޏ…F#JÛY—¥ÅJ/S3 –p¢¯ô(õ‡Ut‰>²øX¹£''ŽøjYBûFÏŸ\)๚=›åÀµ:ÜVÃv®Rà¡¶Œ?$ñºÑi¶D熫ÃösÉž^„²D[Ë+jiîD-Ẕ]äj)™õè¨Òpãýûé MÂØIüÃe1WÌgG–¥ Þ½O?e†§¯¡Ç {üqvÒÈ]–4/ÛØ²U"õMH’ø–mžæº¢TùY[ê)ê´ë’K7µd0ãm" àG§j«WÆQv-?^Ž;}צ h™&á¸f¡ˆñ]»âç0Gî"eÍ0†MÖ„+QÿzØLϪÞZè”V|÷`R­]ëÞà±ËŸÐQ¾ÓnjiA`LŠÍí«¤ƒ¦^ñ®¹ø*rHvRK±d°+hÃÉžr« ×ç”åɹĖùÜžhè(Á›ŸÖ·W?òÞ«Pc-ÆŒ‰“íµT@£)|ï=ÂYÊýÙZüL¶–ZS'ך4sÉ{§ˆ@]Lôx¯×°±®ñD )òù-¼’7d«Ä÷4a³ÚÅõšÀí2jö#étJLCUÀÛÔya¼ŸÙY10´­;¼ƒý´‰ÙBÇE³‰jçxÝ¢{×× bxƒrM¿¨© Úšðó;÷Ô÷ÇB ”ïœ qgòâý­ßÐ8ªÂƒÑj—èÚPèqžh—e«+àR¥„VQ’{E¤@ö¯,šÿeG,RÕåUAH»õîÞ^<öÀã SÎ.U^ ‚»7Ñ"Âf±: ÛbFÀÍÏɦ.×èhË6„2òAñ*fÙ³‘r8!‹Ù ³½)šÕbÇÊæSžk‰¿æð&¤¾’éè°Gðý˜³y’™T‚·”^ñÒ#8-2sP èÏg¢G™ >¹úK*Ù2útå"í,ÍhòGÒ)¨^Íl;péç}éÞ2Î'~]ÑÅ]xžÚÔJ\|{~ÚÔÖ²Ó딢¿b+Ô:‚ (ÞÀßÍ Ip™Šµ=oɼk/ÍðÜO©c’ yúÁþñ'¦‚M 8Ÿ_û`ÇÅTÂ?ç‘¥ëYÚ¶Ú%3pÙë„#¿ RÍ9rhgŸ7öÂ’ë“]Ô[Éœ$y€‚ïO(¶“ˆ)Þm*RfWéé¯Eë¿Ï9œ|]M`µ˜û2içÜf¢¬öu<"”ßü;‰’å)û‹½ñŠù] ǰ»æ¡nÔ«aÉŽosÅÛ5 ÖÅáÎuœ<ÜãB§F(¶±á°ˆ; R}üSÈ#û¨ØæŸÌD8±X€¯<-CŽ ÍHŒª ñ3/;wö”ïò“÷O’6u¦è¯P•šM]DHS¸vIÌÒ_'½ã‰vÒ›I0ìIÍpË0ïx{¨B6vÊý=ÏܵÁ1ó˵ ª¬Á&Äy·…³».Ò¤ôu|ewJÿ\âÒ¿}¿† «<ä1ÖƒR¡ø;*ÇDÖÝøfè¡a9¹‹Ô% úXvľt¤¤‘žµne¬Âokƒ‹Oÿе=ߣ1¼÷ë NÛ{“g÷” ÍýÏÎåŒJÙvfêÝ•¨Ü,Ëøê·È‚Ô”{?¯á!·ëM,q‡³,Ûi±æå@Í'[ã8Ë’[D±v w-é·Ÿ[éôå­3W˜s\†ü®¥¹¿Yøž2Žû4—–ðœ5BïGB°¯~Sj9 Õ‹JÙ$,÷©›:ˆ@ wK‰:Þ 3c— Æ~o×áPúÚüªP ¶Ó½£9Š´Uñ5=’!àØ“6ƒ‰4@F‰pv! ðtä–\1‚vC'.ôd›ínñÏZd*|Š|dGÛ¦¦,¹Àƒû×bHL9e\ kq$g’êf8Ú|Wí‚lªHôtý ¶ Âp^k’°xl­ç¡IzÍ)á i7dYSûxf6AW¶ˆÁAdTšEF3™kèuõ¶õå¿r#/‡íÓI¯¸…M@¨Ø2#ìÆxŒ×ü·ìáHuŽu۳ᢵ^=팘ph‚dÛ± ||°ó:˜­Ž4ÑóB‡¬a ÝŸ°šwœÆo9W;»ªã.8Õõ«£žËúYnZ’²ç…F˹›Ú"ýúéš¹úª¨.ŶùüÑÚŽÃ-¶o€=L/äj…ù름GÚÍ?Üz±@ˆŽO—Ÿ‚O”ÔPÁ»F¹”ÆNòº o^Áã ›~d ÓYÃD;Pó]-*¤|ø†ÍêJmÃrj¥*ðâué=ðÁ ÌüŽXJm¦PTúW6‘œÂŽ“–w½“Íp§ÛvðòÏ3^x=¡¤‚²aó¶SáK±ú«m1 %ºO,ýmŠp¶*óÍFz{Ú}»Í& 4À8 " KøÛ]÷ƒÒÚæ ¢ÜIãsªa‰Ö€ |xŸ ² Ê$œ¸Ïüa`Éa²–ÜV„ðWâ-Kr7ä® Cñ0&ÎÁ\_`X—OŽ6³è{í3¦WUsØô¢ùÃQð&£«' t´ jí[æQµVK‡‹ËHŒOæfù•ï\‡n öü*ŠÏÒÈžñá%”_b€¹ÄBKû¾¥Çb ß[ˆ¡m„[²äPL{ïu‡@¹˜b¶ºòêß4–êü<òðˆ Wµ,C%ž“'4f×v^éD© V kkrIÆ4a»ôàüTÿ8f®â 8 Îu&Ôx`õ ®#h o¶lE™U§~òyнï.ümÁZˆÄ¬6º©h •‹“ö"Uù‡–úèæ„—:Ï'OA˜ª†*ëKÐÏ•êÁR‘fÑ,¿Ç[Ç]ˆÝÇÒÜV>9i› “1fÈpÉD"œò&Å6ýIôœn{LàR‡ÌyÉp.,š3®“ó¤UxÙŽ¡=˜@¢½÷àû']½Ð´E\a€ÚHD@‡æfŒã·…NÛï266 ¬ù|5‡9™õ_d›Nä›÷ð°“ä¹.'"i”µþBá÷å Ó_äÎ:œ®•™`SÅ? §ÛŠöL•gÊm2”êÄM1âw.ðüwqÉÒ ‰OÓql9/·‚?J`–P0Œà¬|×ðƒéç-ÃmãS€ß³qÖ3…`;.oο«‹¦D( =A´L*r. Ëúlm>¾ìþkÚùÄJÔBL7ª‹ùmr±+ô ànŠ3ž9>ÏÎõðL¾ÄT5ê2rÃæ‡¯óº€c+‚cfÛ"ÿ„RŽ>Ì…ohéë¸3ÍžE%'npÅ%];^u×வ=¾€)ó*Œ žnî*ϰ£ÏÂ,ñ–µÅPXlv9³ƒ¢/ =ÞÚ›ÃcA›ï½ß—ìê5Ü+×°Ên¹“q hKœ b[†n’¤@~“ÓǬæÙOìýÁ z„&M/<Œõ.="å—ÁG=»«_-™<NœþÊÔÐÖviÕËœT´U¾±›"ýW‡ÿçå’n=Ê/×{M•àŒÀÄûõuÉaÇ:mÅdMœŽ¡/¿-Úëc‚ƒoS빡@ïö±F²xÓ¤µ‰=«‰¼ÒÑ Ä2qãDtêÝR£g¨±ž%é§q/„~Š-Bý%Y嵡å'å3`RîàÈ,ý’¶gñúòì¸÷V8¼ïsÒ%y%|æn‡æ'fG8ï&Ä©ª=·Ý@7„õ8@6“éd£ÆöÊE[¾Øj'é‚üÄ=hsçSˆ¿‡±)¶’£ÜÃïÌôäMõ7k;OñVµ3OؾòÇÐRÿ>þo]ç'T‘pMù¼Ç;/´ÊŽ.‘·ÃRð^:º´”‘QɃ ›ß·W˜ ŽŽ¨Gq (²ÎŒ¦KÎ!õø¨Êr'¥O%„¾]H+–« :2öàÈ"™âei~?”®ÇMòžŽMo¡™0!ó¢ð¿–¼`:ÓM$8–HÁÔ;!¹}"Rß* yR7û€…Òz!¥ƒ‰løç´¬\Y:<ÔIEíBgOšÌ¦-_æúŽ’¢OÙÞØ¬®6ã•ÙUAz BÅ¿&ò+B˜»•ý>˜ùÄéÓd_Ì¿áNnn’4ü´›î½e,G¦;Ýze÷=–GŽêú‘‡¹eÙ-öÇç ©utí ¿¬¥i±2L˜Æã~!2v•Ï\zãø\N’Ô#äš;ÈËë R%Î -j£ÙdqAS9%¾À¥jjÍÈ?¹BL{(a9²µcW$ƒ‹Xæú€~å„V Ži!:ºIQM'C-µ »3åˆäYÅ„1ºìÇsW,kÑ –UªÁ“Ý vákîC!jÐ.}JU ¥ÿ‘•»òª¦Íì(…7 8-äkr‹¢ˆ4EÑÒý“ÍT剴üÚÏ©*±”Yí?bh¹K7Á²,XÁÄsÒB+FÕNÿ‰FtÑ’ä¸.ÓÓH«mÿ` îWëͺ+…k9hŠÁ@›%’Ÿ°†;äå[ôOè·6äÒ­S yìAý4fÆ‹¹fÅwW-¿ €Ô6\eqcs¡ae'%¸s[ÚE[>)/˜Äß{þ2aâ}–`P}íÖD“·—ž‘­Þšéÿ’cè(lóèH^ÞW­ŒH- n‘zù›ÚÏ™ù~Qj$Ûvö߀iGë‚ãRžlüàR¾‹14ÐyD•јkVîU†kÿ” ÉÆ`¯”ÓÛƒè«::ÚsP¹nèŒZÀ@¥`_³øh¸:~1ÿ^2$Þô¸óîwŒÐ’]áZb0ŠËž:))5ùEz® òµ½ —ŸàÊøÁÍö.ªþ`?B:ó_úo´¢ Ñ3äŽ2Nu˜ÿPh‚ 3i^q„†!uþߎ ÆÑbAÌÅ®õ^FÇJ] û>+•Yƒ±û¯à-¦´,~$¼‰ó„ÈJzS…Ws P§$/Dº&îr¢×áoØnª4 ;ø‚c/<¬®§WU$Œ@Àî!‰*â—ÅsšZâ°Î}]¨‹ó µì+¸Ûä[†G~,Êx¡NX|[·… i½7=ža ÓöÉÿ½§;,Ö f*†Ug¦a[áQ,ÍËLm_“æÑÕAcci¸tª«0_oÙõŽÉìûCÖ΄úïF ßûÔ;‹1ñ{ ³¨ÍtäèIªVÈïòÓˆäýqS}Òà©• % ¸Û³E¢²XÂûþ ú×÷1ŒD—6†¾Hs‘zêÇ€^ {¾à¿h¿§,»ðNÌ·'p'áû5[ÖâÔj8Ä€äSŸ_Žcˆ“ñÓé”U cÌÀ)$MKéÎÕÌB ;Öbÿb™V6 ª²k`Ðîðü›-k%šlêEh¤—~¡Z ]Òï‹ÊÞ‰_hCXNwíêè¹G¢Øñ"5ã³ÇŒÿVÍ~àÎ"e;*€Žý›–ýH‡±;cp èfbÙƒ»ÝÑØbzèp¹ :(áy[&‡‚JeÚÄÈ+kÄ»&[tZ¬ÄåY7åÅèp¿¤õ½‚ÂÝ4€Äˆ:"ÿ®ËDâ­ª47hãH¿x’…ÄïAûûÇ»4” aà@&ãQª¯³p¶/.Fð|{Í<ÃÿQÐ0BhÒc„xÅ*Š„’bjɶ~ozPº`Ës%ÊmÐRƒâbwpÑ~´ÛNT©ž[Žø¢ãmÆ¡ÍÈq¤§¼ÝXj±Ó]£”ï»Õ± ¦@“q^3×O'köQ•T„@…3ü=üŸ®´æÆÔÔ^"Yeçaí,¢;ò‡¥/‡Ű éE·L º•ài¿ÄŽÇk &ü6³¯´D¦:Ëhÿe®þ‹:üK§Tµ`ž”Ó®¬X^¼¯Ëjy´QÅfâý¢íxéd3çO\ªsŒü¡TËÑP”ßèü@ÕýÇh牌±ßqV´/O’¹f9sctåäà™òr‡,7ócÉGä-±g$w¶™Û±¨=ê–ãS ™òž¥Z*ŽyHyÔN$ÝÒD›6‡‚³_øÄYûµß†Œè*àÏ'„&7°çÎÌ"z%åä«‹g#!‡˜/GŽX¾u×qzöÞ¥P»@RËE¥È²~G²°!‘3ZF›çšÄgžaz1Kƒ-w+q‚²[Ï4C½8mo/Š 5Jû5è»ñ\š/¦#[Ka˜ kÍ‹f´-ôØùM¨jM'’U8$MN†û½óë¿4ùФn\R¨UÁ¾º°éu²äÓÉC|üpóåLIâº×´b‹C MÙŸJ™¨¨í—1U]Ò o¶€€‡#2ÅR~7)‡Öz/ŠœtÚr&'sTœfÙÉ…"üM+ 2o33E†LÐq¨²ÏÈÁð]Ž·ájpØ5Õãt¼?ÞTòÀ±—mæ8œ.T¨þm){X5 y÷#Ç'½èØÜ6¶ÎH Q¤âOqv{1ÈgîDs›ã¸¾Û¬RúG›(ªjPf-ˆÁå,=™Ö4©Ô.kßÖOûÒ+\ÅIJ!ïZ¹Ë.r‹y î_s.(dr_¶_³bÚ2×{-_$Ü˱bä÷õî l“PeéÞ3¡¸Â·ÒC¼§°Ft$KÕqN6[LÍMòW‡²OÛÅ>Å9SÝís3b»Ýµº½`$7ë9Ô?AÙ2 ñóвlÉ<+}¹ R¬œ *j#À·:*`ŽŠXÑ\YZ‰˜åÍK)ŽáU3Ó›ç,àv§†Rõ™Üê[ÝBƒWÂýùÂc±â6T¡ðâÖZ®ý;î=¼IÄ ÍW„¸Þ>LÓ£rÊEIÍ¿ %žü󥡗f“´v•j Çh”ì C‘ ¤D Tù’V»Ù+|WÌO˜YʧS(ÂA-}#°{cÇ}§Z†ØfgØËAc/r=›Ua¡=«mï)oaûÚdj«äî5ƒpÁòl.B®rÊ’#(D™‰\~*ì& œW6”Þû#Ób PNû-ïE‹…Eæ».1:2± ì¬Q›®tâaÄã2¬`@è•ÂÁ–‚GYÇÝ_m5 ¾Î¥×ípGë8"æ­òMV_= òÙ¿-½r¦_±O ¤C#{Bg)+œ)6EŒ F“ú nÙžó×Õ·ÏøDøŸÉ»\iàéôÛDnduÝâ‡a L0~«fê„û"ëÒÔ#P­9B¶å=“X·¬Ü^æÜ¹Á–ÔÎv”ªFô_D3Ãee¥ÒK®T²½S{3^ló ¶(ëü¼†'SÊw¡s¯¢ê¸î/>ÀK°µ¸0E­Êåó‡üžãÐŽÜ?GqLwïZ0ŽùC×»çÙÜy˜ÛõJ¾XøõÅó¸á¿EJ`Ð{K8ßø.‹Ä,G(=´Ú¼À:o°÷yˆÎ|‚ñ²&T+öýÿéùAvô»úžZË.m¡ÒO•ú!õ-vPCR]_lJø†©èVx„nM®ÿV¹Îqþœºbºž&«i.±w'ÓŽ½º3à"ð¸j–ò.›sÀÚ«n6À˜b4þV¨¬<'ó mZT~Rµ¬sG“z&»³s'2y×áT¤‰²ñS "ŒºÜ‚ÕŸÐ}¨:¨ÉÓ˜~¯,'ÍÅ©•§ÍÀûÚÔ¥²¹7ãœUÞ\jÛûx¦ÙiLoU&H*Oøà¡è¡÷Þ]/–`G‹sÞA3#Œ é7°9u‚¹OÐphäJ'K©IF­ü!ÕÔÙf ÿy]´À” 0Ó ŠÉ¨ížg¡&´êØ5·«][-e }¦" *º¨ÀCBÅM%âÖÁŠ‚)& 0}<­¾´Ì¾¯ì”Œ»D`Ö'ŒèG†=|¾\«M1ÂìM ðýåÿt}mÓŠh”¡Ÿ¢‡¬Fp\¨6„·/,~d„£eO¡)ý/ŠQöæúQnŒ±³(ÄWŽ >oì0Â-ÖúNðá®0ÎvòŽžG½¸ àÜ.Ðôqè?AN[&—ù‘üæí('QjÙÙ@˜3¹j¿¢NÖi1T½˜ôÌH;y—(NËw×ÖÝW€ÊxUÚ7~ýL*h žç. W›˜ßÐj¨y¬iû¢ú2 å§òõüKNTÚ°µKã÷üâ‚ܯ`(½‡ ·pÿ5Ï©³—_M >„‡ÞP°¿;Sl’Š™±4„ú¸?D9J_Ùç>ƒ=WŽ0ÔŒ„p6Àø­]KŸÝÛP\IJh‘à~&XÊŠOQUØ b¥Ÿ× £Pñcý4Á$óp,ä0W^*èT>T­ Pß`‚½¿ÄžZ°Nå‡WòÉá%vM?¢ˆBÄ5ø+šr:#7ù”Ä€Ó€½EB0P§·‚·À—‘›ÐÝRXJu^ÀöÑÏ»Ÿ}3i~^YZa™"S©FH•ˆJ[]ð[‰‰~°ê·F“ŠÁ ¤üØÖM7ö¦Eœ±Ñ Ú=tû´Lž‹ðp+ö¶À€T4Ò§2HrEMÅ¢ ØFT°èyÏ7#íÁ±òi׿*²CWA H7[£y0qQ¡Ðm‘D“y¡ëYH–Õ˜\„BR!GZýÝœÞ2{Ðnfè-]2ÿO[Ýh`­J-Õ|pW¿¥Ô"¤ð楛¬X•bûV*@çAqÅØµÃ¡{ü†] Mب—o»p[Ù“«ÔÑ4-|XõÓk%®29õÉÎÙ'°1(7q¢ðÎÚïÑ¢l¯é–âô*§.`nþLFmºßÛÿ ÌzáCNÀäIûÃSÂÁzhíž]ho$kuË|´qš)JºÙ'æY‘Ê`Ò¾±!àÅ…¥­¦/n]‡$÷X¦¬ŽQ3F×ÉKÝ›í®Ò‡X›ì³úu5‚·Ï‘ ®'v¿Õ&=VkIPêm‘‰¸SêåÈå5ß5˜·ý» D[eßsÚ~JIÇ¡¸A׌' nGGüV¦î¢†˜#¬BãÍ22»2¢ùà‡tƒ" •4z+Ûg°cdû¸Þ›¹½¬|'½‡d}jL…”ᑾ?_å„oÛ¯0z-zÉcÐðdõÕXºÆ½Êˆï3À *Ü 'ԃΘó¶_fîÞuïÁ"‡¸c€é)¯-fZÆ./IUVj¤ t³~na•¯Ïr¥ïlBñó.kf`b­‹Z/ݳå/}j¼EÅÜæ-ZaL8`¸;ë%¬ËëNjø–Ûpì@˜£¬àžÌ¸ S]ðNÂ-ôPcƒ!–{‹p›¼Í§xÅ£A‚ûwAÕð´çO•¥ê¤ðow#ì³ûM¬ÚITrX+š9 û…@ßÁ @èµ$ì`?;ë ÜïµYÅh5“˜ØªÅAù¦;’'¡Èü~5£OF`gmÕ˜ÅÂSÉû?‚êü[óR ~…®|E‚å2TÊ¡RTÙf•X8T’ਸ[Ȧtèð3âYˆÂ‹åò6•”¥9i`3–øtÖ'¦ÿZÃö(Fاì¤Q}ÄùU±9 úO ±»ñ^0n²8„ŒÏÂNYî°ÂÙQ3ø¢™Ãþe¿Â*‡!ç„|ŒG'53jýÙ¶¨Fö8€¿Æ¿=˜Þ^þÆç &ëNÔW%¹'ÌÓôOJë·™ -Fíî”ÆMMÿéµáÐW¯2ƒÁ«¨ ™%Q鋨=&þ¨Š¤AÒ'T»hzÂÄĔٟq0¬E 7ûÝÉ÷ž~yrq:(¦ˆ¤¬âÁ½ÓɃÀßáiè3òB:`”úTY3î3ƒ ø;`íååÇEÕ2ô“~ Þ jonOªú0$igãCÜÞ8«Îm%.ÊΪ /¥èi'™õn~K pò%0—¼b³3/xÔ&Âw¯èT¹î×ñ<ŽÚ$ÿÍD qÁAp6n£ËÏLþÚ>È,¼û:ôÕsy%.ëz44`#ÊÉ{[¢{‡Žâ2µEQ!|!á«ò~ÕhsO'á¯×mR® TX>‡êõ Í’[rè Îú‚‹’0(ϘY‡>~@ vЀœÊÒ©Hæ0ÕÚ&Ì´4uÁOFe)eýñ±6l@K+_ßdÏ„œßx8K*ux7ÿSƒîФµýô¨Ÿl"†6üV¡÷S†ž­A54«B‰¼êÀwÏusó¹d—¤ªã8“\˯;/ÛŸ‚Eõó–U‰{—;_gb?9"šH´¸SqõÁÄcmýËqæ’½<l¯¶IO\yFÌ(ˆt†«U¹µá·ÂJ±Û±ûåY‰M'ÍÞ™}_€üË•Xiˆ–rXì§¼ÿGååü¼XûÚKÏ¥¥ÕùKúÈíSËbyשzæ@}&̹ÖT4[‘qaà‹œÑ7qì'§¸bƒ%PîR‚‘ò²ëbVðæê÷³Î¾v×{˜ÜI˜ÞÌNÚ”Fºt‹œ?:…5ÊŠ¾î)BŒ"ôÍ_å#7kQ¤70Ôr o!Byc‹G)õHÈÔª¼§6D,Nn>OAêJÑžûõ¾r¹ìæ›Z‚©ÇWÌ$k BÓfå7b£ø(øÍ‘x™~WõŽ^ÈÞ¶‚‚@×Μ#Žyø žýô– f…jRòQâŠC°e¨ùróÊ<‘àKûmÊ)ËŸy#wyˆcmë7ÓÊŸÇú§?`keÇÓ 8¥µÊ^¯í7àº*#V„RÚ"GÃæ¼zDkºhì¶èfZ!€Ã`&òK; Gnh‚©?›Øîg‹÷Æg뉮æØí Âvœ"Á4iö[¶œÂ¿Cž‡Wè\æ7Í#Ò1.WþÞoŒé/P£ŠàÌ࿬̟b¸Éüß3¡cHjѺÝ@Ûæ?ûZ€e³Ýõó°NôÃŽ„¾q±±ØÕ?ÕrÔ\^N§ãËÐAô‹Ç½kŸ›¸ž¾Y9,ÚYAM˜Ô¡]«šœ)ŸšÎç-HAÉkŸ,vA]Ñ,»PسÙë*C¤Víu‹}ÒRç2Nñµî'9©fŸiói|è:žô‰éÑàd…É^­Xö½ü‚Íy¸hã2µ¸‚{ÝŽ¸áÆeG÷dÃà”sâå&‚G>!´§åDH{nJZ¥V¦Iž¢úô‡¨#ƒÅ6rˆòn¡ä–£l@kq8îb_·ÈÕ½ÊÛ‘IË%õl%Š÷(yšÃKŽëÒé¦a´P·A{·ÉÔ^U÷Á™Ü!‹C"T¤˜`açG¨¥hc ‰£ï¼ÛgŬF[­j¹cƘ›ü :`&;²\* Sè÷^MXMÛÞÍ„¡í!Þ;L SŒ;bµÿ§5ˆÿstËM é–ëVÜ=n³¿þÖZÌ F¢‚ŸÅH³ä}™ññNlØF²G]þÚ×7ziÙ64¸‰ –OKÔôa½Þ Â*°ø¸ÜÑýkŸÿb <†é§2£Í%‹Él_.žËÌ>T§÷c¾JhP ¼éáu)¤ €ûYs +A2Ýç£AQ8ãO/®Q@ý×Ã6ž ³d>~2ØÃÅ‹K#-êO=­/õç´$HÄ^½¼RÂÈ9 0¡JÑjƒ4“`zimfÞ³ GÎÀ‡|"’úÉ­XI£¢6r^ûÕHh«éÌöq.â¿xUGÙÛb–xKDU»’“ý+”ÈØ×“;ã•8p*¦Žd …TÕöèK©KOÄq|Áp¶,ãêksH/¬e˜´´sî]I4bäÇÓ£õíÎÈ£Üd\kT8‰÷à ›!ÿ“לZÆÓfƒ€P=/BÀI(ÚpaÁ/†®àÔ@öª€fûÌóŽÃ|rH:ª7º>C‡a8Ó®€÷õ¹!YJûwᣙý¹@’õnd†5:d…VÔ™¬øþîÈÔ>ƒ•%‡ÙC LóµÙLËß…~±¶M%–1^!û8ÁõPÉQëâ€xˆdwáhD|¥á÷¦TN®0Â<Ñ{ùî² ÏÚ0·¬WÒ³r´ö-7CÞo6¼€·“ò–ɰíxV¸’áõþAˆG&«ˆYÍ#=Oðë7Ì‚7_Þ¬ê¬÷Á—¶X!*5Ëô=º“ÍCe£gH?É¿{ˆØ{\nXºr|jû¦ºO+=ƒÌȯIÑ•~ˆYmÀõ)4:OçVPÞLÏqü‚æ& ô•TWÌÂãCD,›.YX¡«Kp±#/›•«ùÃ\±Î(#^ôÝhZp®4a’mS°Ei]×\t»Î[k™c36Ù½¾-´`GöðX7Næ"jZÛuù+=²pežD$™´¾‰v˜ÿBÍ­\œ«qï¦í“õ:ð>ì0ò Dõ.R".Eqÿ†þÌPXg¹ÂÖ”(Ed£!óùcVø1onÿÊÒ?ßÏ"ö£^ø¦ÈÝú“óù Îx”ëÄG̶µá‘24$DÖ“k¨@0Yïû üHs´½pêz/„Òãß¹9ó=õk¥å$”š<„‡ó8`ˆËÁ…ñQ8?µêwµM¼<0ï'Ÿ“—$O(œ)¹¤ŽSœÂãí##ñ[®%_ure`?¾m¸Øái.U à]Q,Ó*ÝÝÞBaò‚¡ØÃÛÅ©üCz!Hà]ÞÇ}„?¯ÈcÌ=u“ÂÛÃÁ¨No˜¢ý“ÉmÝšRLçm•® Èzºš û+63®W¿ÒÅcÓŠª<ò¿XøëÃM—M5œµ@|yQ{.\d ’ý‰Õá°ø©VO^-â' ªfÆâ­Ò®Åþ=• ¾ ªV›O¸q‘èB’‹Uǰcte[±__n¶V(djÆ' $Œ×@h;FÚ€ƒ2¢©ºˆÝ`#éîÈ€à Éù>MjrÜ’ÿPÆË"þÙm«„/謠߀ªïÄL‚¶KÞöm ¡‰„JЇžÓ¦¬‚7ïsýÈ©„Í*m›ÚßSÇ«\Î_3<@…ÈÀ8( ôq®øùK Óƒ¦‘%ÄZ zf÷ÖzvátŸ¼ºè’ ½²çÁ ë:g>4ÚÒPë´óG;×V?9zîiÏ÷ÎÝ,ÍÅ%£Ö"ßiC‚Ùâw™ŠcPÚ&~éR "N¾ù/ÎøàRìä’çÓ<Ö%Êĺ¹AU$´é²8÷jÄæ,­ÄŒ°U㡹ˆçæ7²ö眊$œ…7šÕ=þpãöçŠ3Œà¯TfáùR_†ÓÁvL°æ<é£;@ê*X'ú_ˆwhR79pZ^Ño99“‡|¦PäÕ¹‘ t\›¬ùø)K á»=ÃYùûkèþs›U‚ñf §xWØÊA‡©'›àé¯=Î*&nÄŸhoì§"GwS¹'|30jÛ-B\$DÌa‰‚`Àð黼¤x4ͽÇE«±C@„RAh)çOز©Ù(//Wó™(0‘r®ð˜ÜCý¨Ã0ù®ß0dŽdÈ5÷9IôpÛMZ™~È Ô+Mâñ¡Á˜MÝkïøÕ "Oø’¼\Ûm…øµ—$ÌÍefíÆdnÚ‚%VØðß}ôuÛƒ„i§uà°nP$«ÙÞ€H6y´øÜÊêð¸Yëá)0âHïw…Bc…¿ô…kjú<ÕE»c3B™öTa¤Úˆy0wà/]a™ù ºµÝþ£k,%T(ˆÖ`õ±¡(²Qý¾;VñQ‰† o ÿ"×%Ü 6Ç¢tÛØ„9ëE…ÞS·>@tÌfPK&h*r}îA«åaÛÎ.õÚî5Ì™ù£†¿bNè]|€Sÿ˜«ð)ä°/pžì%kˆW@È>Å_/¢h$ð*%cZ±G¿šg* 7¸ Y'Gýš ûj5Z“cóÀ-’¯ŒÆRûH;ê~øfA¦Y“雯’¥ 8]LÀ¥÷@ü¨Šµð¶š§Pà²,ÝõþllFUð]|Ý,ö·I0—Ã)zQ`€cÞ’Q¡•VAk¦‰èÃ^C/ o¶ó?d\bΙ÷Ä,Zl;^†^ÃD5eí0©°ÏfFÚ£‹.Hï / cðNpWmÌɦ‡Pæ^xÒ¸J½fG’$LÂ5c\ñÑÖÁ¾+"ßáÛ9ìWê—#,½rœ[šöá€yÐ2+~ ƒ9ª€¨;ZR:Y”N% ;3½œjÆI¹š’O–¥ âuaâÕ…U>ÉÜ4;Fšú8ú-þbs¯ºVç˜!öT‘|{ö:0~éî¡IËE/±Í*­ øbŠ¡ ãKd5aºþD4ëwYôóʪµs“G¨æØ«›/ú5¾ŸëãºRj.H±Ïù*FQ8¹°U·/:?µE ãýbíÑWšU“­Ï_’[¦5e5={ä„àë¯8í¶Ð÷4¯³ONgRÙÙ$ìÈÉ:‰’â P4‚!™›i(#t–ùûµþÏFÁGP-¨[¼Ïcw¼j±Y¬F·³,L*×™ümO´G£JΡ.ZãL·¢çâÄ¥ÖóäƒfJ¾ "þÎ9S¢iT“‡eúr—lÍÄIB‹BÁºï}eB‰[¡O `Ïôz=§c dL…„’Ù/Ьÿ¹æ¶¡ÑF´wüþ¿±^ëf P°Ó'îð„¶¼eœÔMÁDåW ·GzöxÑ¥ÆÕ9ÿ @ò«9%0¡Á©!ùIÔ±øÏP{¹-Gš¥N£–íÂBjSíÕÅ Æ q–{+BÏ–c²¬#àÆÖ¨ú‰é/e츑@—oIcž¤òY¹íT§ªÛñ%O¯×Lq2f"‡úl<&ƒR&ARÇá§^°&$ÿNòl&žò<7Vú@— Ý4PÓÄ­Ú+s@¦ÖÞ!…—p9Gû¢’à^Eð‘]qæ;OÁ‰ ÎK·.¢–Lݘmõ¿!qb\hûg\‹vnÐȶŸþé ‘ cƦ9ýlVÒ^û%R“áÍÁ£× `ÙéÏO Ègù=h1ï+ªÛeåBßt8  æåÍÞµ;]ÜL³D/ ÿx—P}(ìôOÍ=:­ `bÛlP{{—W TAnͶ@‚¡Éõ]Ù•Œ&1¢@e¢-Ø.¹I]ÛRãÀ5•0hg *ã©ÆSÍß3Ú3šÎCª¨#CË‚t2‘-oØ"<ù‰ëÖÉ”g[§í2ipù`hU#Œ:^†+²ò”ⵑ¨Æå*š¹)*òþëfö_oÑê3¿åEµ6F¶ã$\U›%ªƒëàgö1'øCYŸÐÝ[N²å|É~Ìkš°h«ä©6{Oƒø‘ž4'LíW^l@—hYO+dwÉUK>û´+B-|14Á ã1aòÂôø÷àÕi…Uò§áˆjôö–fÚ±2A:!âr·œ µ2ÚˆS?&_áÝ Ž‘"2«)ô€}‹¨³Lßùš3Á?|ûAˆf#ÿ:[âNZK‘/bJÏŒÌ<|æ¬qoŽd|³# Ãó^ ·výíÑÀ£÷ób©ÅžºðDÖçÒKJZœÍÀ¸üÅ]ˆ\Ä#€6àú"LdÅ$0˜ï'’íóËÇ͇^/ŽlWJ!«­âc”˜w$zwá·LzžÙÙŽCÁ²?‘ƒ"þ|«J~ËÌ" kÌy÷ØgÑÌe‚­+D†äÇ]S) ÍßC*ÏÃÈûÂŽ@m×hÙéæ ÜÎBøÛ1÷5HI2üwH‘;Èk»i¹g¿8ëîRç a€{ËäI7:“¶~%c8þ†¦÷Ûœ;·¹äeX¹BKJd¶ÀkšÁCpô&;Ñ÷T–4WÖäŸýö¾./Ö`¼lP&sgA$oFZÒ_¸€A^Ø_Š™e£j8ÂBWœh uÞAï0zŸ%‰®b7„2Žûù‰µ0Vv‘@ªí|„;£Se…ôfexta3›J±Øº–öNøYÜ•„F!†¬'nšÖ­ˆSÁ¶vËÑÛºL}ò**·jVE…9æS!Ññ¸óËB^±»-ÒÝ÷Ôg¢@x³.ï $Rô-/}Q§”—ý{æÅÿ¸äåÞå#þѹ±øþÐïŠ÷z¾I¢¼¦',V ~Uþwñé@‰mð7\/ʲëb`4Cë;P´KyòW/ºßÃAûLœìýÆîÖbÝŸóèñýceÛÖp¸f'?á¨{pžwÚëpk´NµQÏd^–å€û±˜$h$ì†i°i}øÏY=˜lf+G® 3ƒIFæžÏÙ#Úúç,hŒ°PƲ(’­î¼°™" ùœoÄ+3Žß/Ûz³ê)”¢®÷þØU pîÁZK–üÍ1¢ªñoÛn1©Hö‰RQ)ÊñÒAÞ õ* Ä:^wMªì&–î–ÄJ >ðpd(HàËtÙÚ?fËî™ßÿ˜¹,:™X[€Ú6¨³fùߢ jôÏþy/)x-^äôRðJ”wÄ™%Ú•Ll×:oÀ9­”e7xób… LÓˆøîO“ëpi¯3YãVz¢¤°ýxáÀAÇMë/—R-jºí%Þn'Éçxñ+-Ò²vºfâ<5#t$âÊš³-A-ˆ6ù”DgåÂhŠ]å8]¬Ž ”µùvÐï®ÅjàîTg—‘(‡g†ægu‰ ½…_0-J­L¢Ç™/<É'IYÙD"¢’©R‘‚&ò]ÙjÝÃý&Ý“P”¬ÛT*»PdtüÙ›?#­ð*“rÏ÷E«hùL¢PÄZy‡6Æàj”Ú´-J §çø›ê¸.ƒ§=ÝŠ´#.'2Ë2ͪæÜiêl:t«â¦¼VÕèªHÎ*¿Wl](ñÓDØ•¬¼\Ô zdeó©ÜYýr(Fãq[–ã”ú ïm¤a6*F®6‰D,©)ïYŒ&ññä=%óQ.úƒ^À±^QqÈœ©4·hmµ¬Ñ«cuátÞfnéáhfcŠa*= V¾Èb¶5³-Í=™ãéáqZ¤ºá©<¡uø²?ëøhkOX20úÃ’ï«,¡J¨ Ù/^F…×ÖÔH™Fÿ¦)P®½‹È5ÛPW¤j(þ©r+>œeÐT+ÈÆ2@Î.Ëœ°lÛ²Õ¡bRXÓXãÂÉëµÜi!uV<1'àˆí¹ùÔÆ iR®×fÆ5Þ»mwë}ïP tï#¨Øo»,Üvû1‘Ìs' 8¥¹’œøvf/œƒ÷o&B皘£ýtL¡ÞâWa/I‘¯Ï¤ÎØÎÍAm~‹òR$8zÇ‹¦k×!÷¾û*#@T ǰV½ mÓè΄;<^d…6¿î²¹‰Lĕã—_ Y è3t¨# ka¢ÙZ%J×JJ‹eĹoð›…%1]†ÞÎf áK »ç»ÌGEÐ|¿±€¹ÎÁÉêÇÚŽ_m'Øß¾©{¬ÞH?ûS0KrÌí¸÷ºeºÁÂFkSóªLíAå|ê3õ{”g¸eÀ§a;pâaD' .^Ûg¼nXãœk,Þ\¤½²ËŸI™/ÂX½³\hXQ»#âŽÂ‚Tlé›çĶ?Øw°’ºVÖ ß¤*Ü<žä]y^Ý ©Röý#nŸþ?Úfèšá‡óþsº>L(Òr™Êĸª”s„¬ÿï–Ç?•ë®ÄÓìÄùã#oŸ›’H#•ð`öVÝ—òÂc/ÕÛÇõªN Úßäa?¡“–!ÇÏz&ÜíÆxcF”JóTì6åÿ×Gùb‚Ú†€|}œÐ™ûNLTÜb°|ì ´‡ øúè÷dA¿ñÅqÓE> €j•Å2Öij¹ít¥G:l£ ”ýïKX²Fº¡wФÆ!¹@‹¨†¡ôæ fT 4´ Ÿ}.Èb¢‰·”À?¥×°ô>î6õÖõ(zÚù裶׬A‘.ÿ62«cÊÁ7!ê÷pJÃ@23Þ;72 3Òïg°=ÒüWÛÒ£ÐÒ‹Ö{òÙqœ÷Ž(Sµç™Òâ•E˜(ízGp9ê[‚M w Õ\bγÌFf:*`7-ÏÙ‘(ZÎ!d¯í¬Å6b'äŒðÆÃ¢?–xÄŒçö*^,?ì ^¥®4GKç/OÑ’zyüç´&üFý8‹jÓðὋÌݺ¥s2ñTHã寣¬lxŸ‰´‹Í|‹&öX]®ßÔ'àŠçÐÁÕ®ì\ŒÀs/ *K‹ëî¨_à'œ†ygLnR(DÉ“?»úl.~¸@¨¿!Áe5ìÊûòÞY—ôA·XmR09ó®¬K8p5ÌE=’€ñ2˜ÊXÏà %ÏR\Ìb|© y’äŽFø£Qr©ìž¨5Ä'J‡"ÿõ—<‰ïº|I䋨*+'¿<ª°(¸,ß@“âQ²æÚìk ²Øtç—ä G u1J;)Ûó%.†>øèõiæF9 •¦/Îuï¤ZËv’Xâ® ¬G£?»è[¹x}2áó(ÚÁÊ]òÎ*öi8pÓ”¤,O”:•_ãXÔ u±è3Ë”ÉùÒ¬ýHdíÙBMV2)6 Ymî×Õ½iI›æ¡¸5øÄŽ´EG.4æ÷ân]¶«S 1[¤÷­ñé¦LK–Í–PÐWd}‘¦< \’%ñ#¥b#‰HÖ/¸5¨!Ãú0DÕi!æv™Lƒ/I>ëCÝʼÂmÁÛ´–H—˜±z{€€'m½˜ Çɸ=é&úö̓ùµ&S|­ñÈGì„·Ô…ú›¿¸µ þØÖqW>»>q ÑÖsc‹V P?¾˜:–qijf@1òiöC.jR üÎn+€SOˆrc Ú@P.?X@NO=ˆ|Ö`Po³É¼¸ibó„B#wj¤ŸçZEOôÀ±Õ径ªåuД“¤_lŸK[hƒ}Ž 7«I„–:Mõ­Q,!äm88ƧkÜ&–ÜÕ’ü»šek©£õcöRyZçÀçßimwr~ˆ„wù'4ΩFë54LBÌa8Ï[Ò©„âL×ËO˜8§& sóZ’?ÏëU3´I„ìKÏv¨xù3?É/¬:örT Ø}ÍJ äÒ€~28§°ô•O¨²u†íQHßdЊ_}-†‰çÍÝHÿÁÊÙáJÓ4 osÔ§SúÏa<,J}½þ£þtcû‘šŽ¥!1Þ+-¸iêüR fHío°R`ýʦÙzùqȦ™¾¼Oþ×éJ<Ê=>;Æ6ê¾n‘_¶äêÑNl©½xÂ&¾u>¢ !P¦’ ¹„ÊUP©]` LWÏ´Çekž‡'ö¼{Iz׆Äj96•ËËk­Ó`}cs«ˆU…5hÃèÎ>,r·¥¥{)©x ø”§Û˜Ì`cA£ÀÛwÃ3áàÔJÂB²epúÙ1®ˆþHRÊLÆ¥r»'!0>§§h5;áƒÎ×ÅRþ}àÉoÙ6YÑàôqŸ{LŒõš²¸PáNtVÜê„L借æT'r@’j¾7ÈX¬K“Ii…$)w¼ ¬k_ât›•9PÊ÷ñF¿P ¿GH:K …ÿµJ"†*¸¸ê1wÝô¢– MÇ3´íæÈ™ÍZ T‹–|8qš·ý™Ê¢‡sÁ¼·ž¹8«áE<ÿ·¢Ì S¶•Ì€ãÄàðd»ú†t9€kîì‡7Ê”ÿt·¦ amu7T;BvªÕ…⾎bóç±¼mHu¤GËx‚¡ÊäÅ7ÿ]ôú“±69 ýi!¯ª’¥ØÜA(³¥tõðæjBRÁ‹Ôi¼Ž¶t(dêl~Šâšcz½Ø¹N—EG¼d²ì›N­ÆKÙ‰p!‹L uîµm[/¨' dŸï­”Íù©¤áSн÷ s´1×Û‘“=$îÿ‰áÙz7˽^L!•›ÑãËõúù {BE3 ƒ¦Â,Ï:ðv74áêbܨÄ-öïêÕg$ôç½ÚŒ܈‰BdâFµéŠtþ°B‘ý ,ïì_„וŸ°'ÈS$Ðí[ؽýÛVOWf›ö®çAöX¨ÜþŒÙËÙ zg.Ôw-ÇŽ.1Ž̺üV†1J³T&Ñ9WÞP ˆìßí$¢Á]„¥'è*ÓÓèÍöÒÀ˜É®±÷UŸØqºôÎË«R0Î 2ô¬Oü$à@k ½dZ&z.¡a×fçºö¼Ö{Å3aêÂnÀo°±BRÍaó$.Õ%–Õµ 6.BDme%“« wcÊg!pä°èŽ1½dHn屨TöPçÊóybP[t™='q‰×›(Z«z8ïìPµµ˜>é%î)šR÷åœ{êd±|úá$ÕlÕ:Óe‹-Š.œî£?AH–|&e‡á®×{QWò7Öá±GT‡³YêfÏë)ç·¿FóÎ<ÿÈKê_ 'R8é|Ü{=¦¡û(iJâ š‚ÞCAÆ-~¿üÄÀ|SõpΦ.UŒç@VT#E3ßö TÇL@§jy\ÎçØÝļŸ§EðDáê|1ŒTQw)¨2Ï î:'ÊöM‡?ÔØ½’ÖçiË®µ=ÖF·x‡@)0ò”#UîÁ˜^ï½IFs}IåJƒóã»Dä/³âò¼VÅæújbJ˺ž+ \í‘§JÈäÑå±Â ü$=ú£ÿÒ¤Åáù€©dÄ­tzÌuGæ—ÕzÒm4êfW߼ʽíF½bígn®_Câ1p2p¬“ÙÇùÞ1¨z7Wiï½AwÃå‰e®K¢ Í]€»f¢þiŽ£;R2Xƒ4•˜¦àÓ5³p¼-$Wv0Ö2ÌEp; søszÐû–ÒÄ¢i Ns+©ãfX·d«d_åOç•„ ,%¨€wH ¢š…œYá^Ž+ïç,a%Íd^€vnÜ ~ ü“xYµ|L@Ò˜9BEêïåºný3M®½1Šs³6é³ÛËKJš’cõU#+bªS=EÉÎPJ9hƒ1òêg«] Ãœ¨LÐWÿåøunB¹•“ðð ’BV{0Æ 5Cуù rž¤žV^€± ñ, ‰Z©Ü±UÂ^PûzhIý¥´è4à½h§€"\³„ˆi“—nv›<“pC†*½kéÎÄÒ›ý]”m„‚c߃(–Šª ¡Œ¹ºWM‰±xÿ‘CJœ(sµ=×Tv"[d÷Þ :}X.;R—Wm×Ly“SÍ·³ÆÄ>ã‡jê–Aùrž¯,0pÂ=µ´ss{™ü ö`°ôX³gÖ |iˆ”ŠOç »ô}†s±^Z„B»!ùGAÁÇ‹2Nuá¦Q[ð=qù6=®2À"ÒçãÌ$ÙKà³s±>g€´®Ð­åWcÍU—p"›'-[=I'òYmkíä‚;ÂÖ$´l=óM»«…›Ã«¦;ÔðüªM‰wqVŠdT¿ ÏF`cÅîIFdíÉeo?®!CÜÏÕ‘øÁ‹œŸ9ʼ-"Ô¥ƒZû]ï€è§ Ãqáh$g<çðü6»Tw9h<­žtFþ¼Æ.aÙ”qdÙ«”âü~Kº¹I…Tz ¸ìßdÜ¢º²Ëûòðtf1­ÑN‘ÑŠr©4tÓÈDgæâeá ¯d^vÉ3WŠ3k9¢b‰NárRÔžÊh´ígÿul±´óÚ¹¥æ­²àÁéÑ!3IU=EˆÉÃ4™fÎÖ3AL ¿Ë3S$MˆçTèaZà¸ÉPóòqŒ°äZƒ[÷—ÄÛ6˜†xç'åzÉÓ>ubkn@'¹˜ˆjR1U*‰"iJµ—}*ïÆbI¹dhʈ”‹Hú†gK7ÆfÖm[béK­ )Ðøõ—æåW¯§/ºèd‘dä½^Û«™äMhä®"¸)‘«±ÚÞØNXöCNÈ"EQ×vá¢åüÓvxc29šâŠ÷4À×ϳʔÔ>‡çÀÃ쳎)nymŽÝLp«çÞ¸œ%Ǫe•ü\b‰æm<-Œ¤n•Žz5}gòP ^w4ψ‰j~®I>º‹XÇ™P0§º´ñÈ$‰sc30Ö5LX@Ãð ËçňÄdš÷Ï!΀ŜB~Yóü:¹ï²r‰QœßºtiUN&‡jëtŒQ$ÅëÏo´Ë!É­¾`Ì`hŸé^iŒÞCzÏ {&qv¯"‚t‰’±äûˆŠì¦ açO‘t£´Þp#(}þ%Çõn!Xœ—ìS¯ÇA'|5%øï¸ªmÚÎÕHS‚{Cê6ðx•L.° &œxÅIû1>o°²2ß´ |ô? Ĭʮ䬄àl«ÆÜr—Ý1y3ˆH(˜#T‡*´‘¥i: ‹B¤¹ðɶ oÃà†Ì“=â:¬f‹Ð¶ù:9­Rжc.NöÝ#Èä)58t›°^£ªL²Çô¹ž’9Ù<ÿùµsk•BÔ¬ ¸¸õ]-†Þ¡»WLAsT<:r°¦6I? Ø´Ùë7ËJÿò©1‹ô ª%<ú¢8—@µflZ™gÜy²E@¹oSL³çu’‚ß4Ú &•/ŽŠ °ý‰A¼ôÓ®qŽJ1z~ËBê‚TdÖø#*#ø'õ瀅J÷˜0ÃUÜàâÙm(ꈌçæ{42°«çC%¿…04ÁFx1[ˆY¶âS !…N”/pÕµE¢@É‘ˆbÉk‡-¬;]WåµhÍü쎩«‡Ý Õ}¦ýªBïcwÌS…K‘j ‡üŽÈác', ›vröÔ[$7p6(1ÛãhñRæ2 ‰«UŸDÞ¥x¬³¹;Ø7êý+õ˜xy-š‘þÞ| ‰êõMü¥;uÖ_/Ÿ§á:£¬I3¨x\é×==óÀÃïå_ÉqÙËK¸ hõz UÁlŠ)iY,W› ¢âÞ(ÙXwß ³'áÿ0Y-Ó÷5ÍZþ:.û¥¨@>‡çœÜÌ)5ù”pt¤l¨;u-ÎZsâ3³Z0›.0ºb¡bõú}Ú\”¾ÿ:OÖ¬…l6¡'ƒ//© šzÜnâ3¡ óWé(š‰åþœŠhah®‡Þ˜â\°ËzÙØ‘O*‹•{žI5ÙÙ4Ôå-!½,k´º‰æ‰ëÝà„ïr3ÿ¬Â¦.iü¿D^èʹ•€v|=ífÂ'‹Ó¦ž‰kŸ9`8 ×7.³nÒ3¬Q^4¬áV/‘>ÚÒ‘o\¨²½ò ï'¥æI}±ƒ»>¾ÃXò:¦µØu§?)lÉÂQ«Ò‹XIø4äyؾ¡ˆr³³Ní’Ñ4„U }¬(7!FëuÚó‘q¬–"šÂdÓ,†§†·ìÒÏŽå›žð·»ø…Jè Ÿñ’¸BO9Cƒ¾£¼áÛÐE8j%FÖý.¤Àmÿ*²Ðÿ4oL³ÈÚ¶-Â"B Í7­˦Ûò…ƒ, R¡Ä:¥å.ùO3âS{îF~;òGa^{ï\Q-Y€%@1†=zØfã gÙ-}²X]ê¯6S’‘,ûMlïú{§Þ‡°‰a„ã 'œ4ÄðKÎ×Ü_Û3>Yl³ÿÇëôœDŒùQ¿ò8ˆÚ2ÃUDbÑ­¬¹¥èK¤@Ží9-HÝñ½€8g¨ZÃ~ݶ:Ä¡lú—è¨×GÌ·&Ö]F°öþ(!èÕ+œôÈ©Úâ(»–e¡ª3o¸bÛ1‘Вï5,˜ë,Îê óc‹ÄÒDƒTp£½¾?ç½Rv䉖J×ÌS+ÍŠÏæ;‹u4õ´ö?*FÑ}žj¹“xãtDȤbk}ÞJzw£·wÔÔ‡ÄýU×÷=éõë¹Ybñ¾pA8™\”NP¡:nÜ» Nq7ú‹šïc«x±§Ðú-Óô OÄÐÙj&ÍýcO›\™Ë=] hù¾Ãá¬ÀÈf!äºX®¯ñPÍhþ SwÑ 0Œ:ç™}q‰-ª‰‹ÛdÛ p¸Ma¾·“ ÑT‘!o÷ÂŒpGp‹MŸqßœ²à¤Öèo)BV b"úJ²é”$F¬°˜x‹m¥µë}¶§XÖ“‰ô¯D°½ ‘!@7ÝÛy"fõa#áIËÇo×ÀQÑÙ,ÙÙÍ3m½ód·§CTèt#ßdwô¸ ¿"RçIèNð í×¥©¦æñÒ \·ÂGfôáZ÷Àí-¢ ];2YwÚËóÑ‚7…Ê)ãžQó&U¨W vËÖ›ÅFèj1*^Mi‰ãý7i?ËïÀŒæØÚ-\·6!÷×½&w»}*-ér{½:éÑÞØ&VjªÏ!#Šâ}pM-tæ3AÖòƒ#™6–}°êüÄY§6¡òc¬öKSuë)>˜`ÖsÌtÕ†(ÑdøÞ1œ„\ +ËÄÞž€w{Wï¯gÞsÈ’› ¯.>_ñ"U1nºGdÑâ0ôýÑj”nydsÀ¼#JcÞ)ø»ÍNý1ËÚMªÝ¯æÿlúÒãZõ ÍnŠVê¸_ -ÆÊ){~]·–tïªf±ïa™L­ÏÔ?‡ç²N’²µ1ÓØÈûáü[!òݨgÀ¨œ}NÝd³º˜ê/Pq°|/M¹¼ \'ù8÷VÿìgŠ&P‰7ê ëdÝGÌ|'™IÚIŒš0cëëÿ™L+JÏ?:$‰é4[_g1žù‘;3ÒÚÒ¥7êI_ý¼…Áã3ËUÉ1ÓŽÑÂFÓ­Ë*nOß +M)`MŒQÄP}L÷%Ïʉì¥mሂbkl6ù¢;ÑÞ½}C¸z ýûñ3Ià„Gœ”-@Éì8^œc+TÖÌû3,˜íò%Þ¼’‘³â8\Bª´ÒòÁMÚ.tbÔ,'´XóÇ\RáÁèî(ê4B/0M$ek6²¾øÙ#6l«ëj‡Z¬R•­ñtd!lˆ‹•ÔÆ3m¼Ï@MVÔEW<αÜf„ r 톃$fcJà›ÀL…;«Ãƒ™w=~îŽP° ®©?†ðä»ãâ)Xz¿;dZ€ÜãLŒ F¸ÊzP§b¨,8¼”t÷oÕÈH ¤jŸKdØÉ´&Z$uŠÖ^ýë¤ò4XTãŸç dtïÊ‹½ÑD—-·Ý ›!™²­<à¯Xm†QÃ*g;öl¹w(Ö“£öêOl¦} =Qâ‡:óŒEgv×=%Òþ:µ ÌÏ‹,ïß왹[‹Iš 8@-©Øwn1|. hGOÆ*mŽoo)¹UBú’ ÔPœúŽ ³Æ„‰»ÙwÛ7iÄö1M3¥ÅMºíioÚ•ÍPÑéÈe Û÷®”žÞL×>^.eQŒÆOO¥]q»vSˆâPl—¢®ÙOî$ˆï$ŠÛpéÎ]O¾»Ïdˆ†:IÍìs¤™ ñÕÝgD„… à-6T¶X›ª]­Þ3òŽº0%5t*sj!&i–n(ºoë— Å”â›|Ì’·=¯Æ¦³[ŽpxCE0¶â7É&à2±7WDyaÔ¹ÝÚ‘ªæˆ‹5ˆ1F–žèwqÈdIÈŠñçLœë›2S;‰0²t~˜…ä®j¥›‡«ì2°çp·.¯BMÝæÒó¨¯õEhù"’Gd¬H»ÉÞÏÒ­·ûnæLÌUaìw»~8ÿMÜFÄr[%ÝNóiy¿' k´¥‹XM@Ÿñ‘{GžÓØ+2‰Y‹]P„ãÓ™ë {î’Úè8/Âp–Ü}ÙèÄMíͦÒËÈ[s—þ=À<'À 1½œðN¬ÞCUÇ^Õ¥³–EFrà tƽhƒ…fñŒ›WFúdßRmMá{Š>‡Ï‰¿ã²ˆãn^ç# ÌZÓs]ma¥Êá{ó#òÍ¥QEëX¢d`¬u~ÏCm““G2‡ ÜâΑõ?QÑ&À£W¤;sš{ ¯{BúúÙJ$iÀ.ÅoÆùÁò>¤2èu§ èãLNà³± â;;H@L"böËÁ{VÖ ƒ„ËAÌ18î7#åýó1‚iÇ@!Ï=› ]±4_ëÚÚmʪ×A·µFòáO˜ k|doY>!“ø©és±˜8mÑ_kzTTÓõZôÁû,$@ YÌ•ˆq‹þMÇ~±ò·%ø„9xÐ(âè1Ðs[pô ¥Á!ì—òÐd¤¿ûÍTHµß€±ŽéÁð-ÅÖ½% dnÅè‰èQNCwžÅ[TTgÌ®³â0m€÷° å@QtžæÝ(ÜáåÖP5èÍLïj*Žÿþ¨r‹®fCнLÔÐbU‘.Åzô]Ì)2|,7÷ÅŸ~"ga¿›³Ž”3œ#ó~¡¨°cªAc™½~Ø ËI2Wtíà<¤j! 1’fG5G/X[è MËÁf«žùý8˜5¢]烔QØÄ$6[PéDF„o;¾Ëyö;GÿÎxõžë3Ü›¢§„Ly¨Ö2ÍR"¡¬óV±Sjh©M®M «î‚ ª¼|_ÎÞ»\„ïÞíV§4(}šÌ)'M½©`^'Ñ­}óøéð¬ÒxÀ¬TS8¿Ï{‚f,9):´GªëÓ ØÐ^ Ÿ×Þ5ogýV‰V¾¹zѳ­™°0ɳØQê1yõüIjS_tá!}º<=HœTG,½¥²—?=ðpdœÐWPcÔG#Ä#ú§ÛŒø¸Fã…ÈÓ™Á³æ·ÿ°þûy¶Ýe÷÷a%³ÝÏç|Gûf=ÿfc¹Y–ãèÏäðð¬˜gŽe‚Qi«Ð5ÞÙHų‚5zŽ®ßG¤y˜¢¦kú^¿ ¾ 9êÆÞ­M„Îô©±ž´ž%Ú›•78 ź•\©_­d¶<29z7C;¬“Ç®1]Duh6* V£élÂkr±ÉVÈ]Ŧk³%îjØŽë¥)v–áD´á¤h‰ŠLô€Äo 'RÏ ­ööj„Mª55<…þ¡9`#Û'‡ßûîÆ­hœo~{賬gð ÿ^’‚¡‰ç™üï2ú†›CèßÇ O‘a>ä¾6kÓÿÜ;Sfq‘ÿUú®eÝ»,Æq6¾íÿøQX/ Z9{+¾¸=Û1ÂFêo²‚{2¯f?dgòÝÜŽ÷§‰x¬ypQdÂ*ü:±Â©›âÉœLÿèÚ.Ûdj®Ã„8üO…3`¢©A"ö²lmâ„B,¹—_ÙÂ]=°¦‘8Ú+×´–r\KCÞF7Uš,t¥·¹5ÜŽ§M@lc†9Þ™|‹%• ³:ï’Í]|Ïmøç£6p&}ñ?R¦¾->ñÕÔ-_“ˆÃcÓ\¢ ðJ.ÇžÐÏI«ð‡ÿ€Ce\]ùÚů率¹XMâxTm@$[Áür§”V@v)`sA¸1c‹M¦ºöÜciu:°zꨀP5ÃÁËNÃ}þÿj·+ß9Ê”uOÐ(.Ëì”$1¼¬©Ò{_YÓC¦'-¿Ô·].m>Ùá3”h‘ß Á#VÏ[õüÅȆfJýº3ϱW7qZ.»âvKº,ؓƆc-È@z`F,‡¦A†Ç XX€ŠVÈÙ’Ó0€»ÌÚ?ü–ë11ˆ¨Û¥;Ÿ“ºókñ´¦§W› uƒ¯@u [åÄa…¾<Û΄^êÙfêýwOåY@‘…8HëC[û± t«·—Ì»²‡Ö¿ò”h="àÅpáxùšRÃP¨D}ßè¢Ò §½²ŽrôþîË6[—/©€£„7ºšão™™~3çi•Æ+iüzÁÎ`¼ƒ³ÐŠá뻊¤ÉÛɽ·£_ÚÑ™1XÛ͇5*f|V“pÏNü³,[ ËzÖÖÝŠ˜Ÿ¬›JÇwÊ&nOfoÓýk™<ŒARËëù=¥ïr^0´·ëÄU×8ÚミQé_{±å3z,ïËŽÎF–|ƶoG{èìþö´FãCWTaT„]êÆuÀ©&ÑÀŠ÷‰Èr 8©–LOaJ‹¥û3ÅLS& ½Èñþ®Äd¸ck/Œ§5Ǫ&øÕHLÊ ß!ÍÚ#@Ö*£¾o'÷ulÈX¸]ž„Œ`ôוieÀZ7tê=7¸Nq{%FÏœnVÀ3 sŸ€`äå{ ls@†ÜÛŽÏ¡ju \Òå\ñÝ=ÏûX˜õ¹à©! öánNÎ)Gu~Ì5a·Æ´âø—ËÔf˜:K‘F—Ë8£‚ 8ås®…ÃI¥Ðöô£)Ä ÉˆÜ{=^Ô›µ­áš³EmŠñcÔÒD™’$* · 2]ªýxõ„r¬y¾Õ™Í_ê’Œ)€9h¯ 7 ±è€'‰´ihÂćª"ìH* -6úïx(TÙ½v§ÁP^uf“§õŽ¦Ú•c³-"­.ÿÃC”éqüŸÑ~§Ú^ðÜëŸ ñºà­§76C‹Ëʨµë8A= öxÇÂHd@¤êmÒc¦8…?xòdk¬›-•ªj¤Ö†²8 ¶~sÐeæç½áHöšyµëM†ýtÆßVg^âpJ¤=Mï&ˆèh×1ÎÌ—²ªÎilúRˆ¿NnÿKÔ3N>4jh³µUÒ‹ˆqÍ Ï’ÓÓþÒŒóÙ[&ˆuÛ¤UÎØTe[uåï¤û©rfšÅ±?¹i5*²ê¥]Òçí›…).“Z!â´$fx†î}/é…µó”>#y„¼æå…ðâ„ÛQEuöëP^6`áC ñ{=ouæ«‹lšÀO×;a ¡íŽåS‹üñŒpV©šˆéÄËSÙ~çʤ{²† ïÄR—ÈnP"xêµÞVL‹7¹‡Qn'NîO@•}Xãû÷Ô2g`~Ÿ`+X}\ÂÖÔcT^¢J©ÖÀñ 9 »Km¹á’r¡hQ9,ŒŸW„ i£&Ž¯ð‚€¢ÿcã[Gåø.n'šüsD«Ê[TJPEO æè*ÔÝ” LÍgs¼õìãVkee¬9‚ç'+7³Ÿ¶GÁûýÎX®²Èè"Ÿ½§×~p$¶y¤©ãjøº,õt»wQà¹ï$:±ý콺ŒÏ´´„o.‚“¦:jÜ™¸Zö/ø³i¶û˜œUFò:•®âv³ŒûŽúq:Ø€ßÐ/2Oh]|Ö9±r ãïëóBå|’}uÜ]ÒË !Ÿ;RvPüIL O9:äÙgëìW¶I:²JƒŽÿWQ~'‰åŸXfËͼÐa¥ª¿r* A(¶©í%i Äñݳ²§Õ‘F×fuQó¡+=G<E¾aN÷>ìªÉæ5ÿƒdÍ¢[aϵôfr>_^/Ä‹5¡®¦ëlá.…ÄSˆ¨Öºc½ORòhrK…Ý3à”Ë,)þ¨\ ÞEe·£ÂªŽ±ßUcR< zä!%ÇTIb„\ï?»Ø¥9—ZdSR1ŒZîí4˟㲎rá#W“›¥»&»¦y=“ñÌZ‰9]’•OÁmµ¦Dò$‹ÿßÉڢžԻ4£og£gíYe«X9Çßçꪋi÷Q1ïŽáÅipµ­*è°+ìÛ²UOê U‹±‰!Dxë1n:¥³¡$FûÀdá-s«Ùb¹ºJB  rÐ"S¥;?Øc|ScX\Ã÷) ï‹«”ð ÿ·lPÕ·í€æw"Ö}ŸÙÖwª\¬ÈUf¤uµ…ƒ'âTµÕ. wúHÉæ³åoÞÌ ¶îØÕ4oM•¶ý²ã¢˜OàÖ”p6^YpÑ Fs !R½^JGªÃ×ü©¿/È?Êû´ŠÔ½Í©~!ÍüHðJAð5AªÛv×çð«ÕS‚ÎiuúåfKEa°{E÷HÁ!ŒuúÜ©‹"û21]§çBCbÍ€cmÌ‹‹Æ³êk™TÁ¿‘C¾ø:sr9g¿ªP°ŒÎ¨)jX'ËÏÏç¾&Ü;ìjÒîÚ$>¨û½µJ)%[Ÿ-}¨†Ì…X¡Hì#FSÝái5œCÉRHfÅÔrps#ô}öêZô[fÿŠ(®äÖ‡Iœ6FºO<¼aáŒ$zä òhnΘ pA°QÆœ&Ñg6Õ7â[fZí‰BïDÝꥯ --´lG“ÿ—t·žÀéo{@êS½T’V ¥ïž¬I¤"9­Ë›ô"QºôÀÍLj ¿Ý h¨Ì½¡–̰ßÊ+×!ÀÓ³½û OÊçµÈ[ü¿å %’ÿÑzs*Ë%ïÓg™øãDmyC“|u³¿ Üø™•›Õrw²¡i{óIZ<ñ!´ÞZ×7]ŶlœPbÀÜHz&ÖÂÜ›|U÷ç–ý:¢LÐØAdõbó»†ÐPŠ)ÙéýÂÿøVðUÖunÀTÕ†ý^ÌÇþka3¾h®`ðX­FBGáœ?ëâ‘`i¬8¾è¶ŸÉYRâÈhCÂg/‡ãÅR uè&yë¯R o*ÏDú‡o!°‰da,pj½¼þ+4”I„%3ó6#p7¨qü©nKD¤ ©ÆÚpÀ<ˆ+yuw€»ÜṖÞ¤¬ê"\ ƒ;—q[iÓÒnm3­¼m¸Û§.ô›1¾—æÏXaòú*ö&G¨ˆÞEþßÍÍc¿÷98’ig8j š&^…¹ô-éÛ«HÛRÝmé•㟠X[00OéÔ‡³y»[!ÓV¥ÍÆ­'}©Ò®[–ðÁ8­ÓaXDø üE©Ž ÑÛ”%w{Ñ­\„HÈ%[í8dW7/,¬YzÚŸßœÓÊÄ'æO;ľþþñk…X£Wï­ ΋æN±Aâ¾5}¯ÆWÃdjЦ§Ká¡Ôµ¥#=—¡³‘š¼¨R¼â:öì½U Í%®øE×ý6A3©nf#È?™åÚüÉÁ’áúãhê\’ÞÀ̩٠êø(ÏV,7h~±ÇÂ>E´ç'âw¹äK!›%Ï‹Îöø€‡[“´Audª‹½³>z’¸¤ÔÞ®=h…hÖ´ÓaýW™JWï¢9}—ãùq}gr–é®QP›øXÂn£æÀ¦º1LÚœ` žT«¸ô)A#28ˆ‘A꾩ÛȵùÂæÖ¢¢BÂì*3nÌejj%Ð,_+R¶¥1ž‘ëz$üõ ¹½kíÖ/õtô<'töwqĦ=XéVƒIÑ"Uij|úöŠ ù;yõzÄØv~ÞWÄG싪¯hq'…Ë€±bhÊIÅÑþøÉe‘ùß? l>"7úÁÇ2^MÛ–ÝüŒagxHò±. MùsˆNk QPÅ·–Pã;rÆ~ÊANþœŸ\¨1’ ×É€¿êô€Àé¯â,<ép©!ÙÝ«›ð F,ÃnÍíXVËdpIªáœišvg…§SÅ+4 ›ªVdœ¥µºö›ì˵{7ÑÁß/%ºRÎñÏtYpHýŽ­ã̈èúÒÒ™¨S¶6j.Ò 6ßøÈ`.’=ï®ÙThL¸ÊʃYrRVh-œó3—Ãën4I®i•mšn=‘ò(§bÖcå›ÿMÉôeèߘò½ÿ‰ô;×˱±`áêêû§ŒC'±‘^ƒçËG¦ÿûZ¿®ëðí'Â8 ùŒæ[ƒ…2ÎXa]~EBŽæW2 ×­.–ÞZu?ÂjËD¡sï•ÆÀ>/™¶4ÑCÏ„«Îç {Õwg2Ÿ pkš—³öôï½}Üûx„ÛϘ©Yá‰RJ]ÓNI†K23Ì pª‹cºI垺6 î³·õ¬ã­ó'`±…6Ø ŠITo“$TŸm)ˆ Vm7÷ïˆ!„ã²RWÑ-`Sóå¥ñÖ•Ûök%`·™ŠLYùÓ®†¹Ë50ðÔ Q;q¾«QÐ÷¿âTÑ9‡ž“nÞl¾"š\ë¹ÒOO,ñÊ 8ÔÏ„óa^¸ü&¾—RF+>¤Rþk篱֡SC¶ÎÓ‚ˆ½à\Õ6…ôñ»Tñ¦Qóÿv¹|%”&ýß'¯·ã™ ‹ßsÍçV^«å`?<2òh2|ã¨Q {’ÌþODxt#*Ê Q’ï¹YÁOÔ²¾QØq›¬Rãn¢­ã^MI×-ŒMràÉ¿à…la’}žµ¾U¢ç0Loñi@±ï_Æs'gà‹Â~Ú3³" ê¸ânûVþéú2Î9öót†ÒT_²”oÈÉ·Êá²qÅ»§m"œs:Œ7‘+˜¬(%†Óå!(®nòYÝâh U¢ÂI²)(Ç `åføe’fLV° Dt»"kÓ­ÊÕ RêgjRiÑÂm®ÄÞPT˜u„Ò­{”m§©Ö/£OôþhV­ÏWâ?µlE¾¤â„BAoY¹ ¢Æ9üùØ ’=(2ýŒIæéàr»1PvtMž-Gß¾”0ç=‚wG¸Ö˜Ÿ·ÐJÁ+ÁãýQöi§™Ÿ¹…£`ÜjNmèMm™Rëæ•­ ÍB xü £¸’²öOoΦŠÐ«ð 9 ulßUkÎ?‡¡D@ªíÐçãT…•ˆûxÿŠñW¤êMÙ é 0o^9¼–Í”0MŸ\Âkœ `»h»'Àý2Â9Qä,;Ò¶ûFy˜†&$Œ*ÏKªz•\QEwHv_víÜ`iá(¹ó©°5§Ç+ý¸Œî ¨Ns¯ÃK%R´rÊUsl¥-nË[¨]¸>ýCËÇ–"nÉp挚J’\™Rð$÷ÎC:7Ð…ä|ãôDG Z~Þ:¶k)!ïþ'‘Ü¢Û†…jµ  - ']PzJj¨ß'aÙg»°9âɨ^’ŒÖ5MkUÈ…ôÈsóÔÖY.ó¡©86$‡X+ºÛ»ÚF>¯ßÜ€(B§ær:•&$o$»¥¸« ý=Möª¿©UŒÓƉ¼MÉ àe¼k‰'&0Ü“w}Öle£YñéÀ¾Ìß÷ ìqóÍ0zÜ$ŽL%Žÿ]DÒòT]MŠtøËàdÝ«-sRôè1‡lû|n}ŽNsh½³íÍGèÊ ð qxXÊUnø• NóO•!üTaªQ­ƒ¼6‘mº!¾ñòyÝ6w,.Ø%|þä4ZœD’GF«ªß–é'mI{kV™K‹è˜þ/®,{Š_îâ£l÷‡EWÃToôº4 †nïáÝRÌ*À÷Ú ÎKÖF˜…9cCÒx¯TDôɼ¼?é~S¤dÊmŽÖ†¤¤§%ãÇÉ.:剾€|*$€:Nnt0¿,@š×I‰âAACx®…È¢;+“…®Ç’Ën'õSê0èÀÇ׿^rýçÛÄ]½kSõ·5y°s#îóA‚³U¤ßVÇÆp|!¢÷¸Õ>G}‚-q󚇪9‰¦ gÃ%b ì3yß­.@7t·K §»å[SŠ!{Á€—¨;þAÃ÷!塚þ¥³|š;Jb“É%/ö¦ÉI?iŠõ%uáu£ÑyXh¨Eø¢ŸÝð%P1¼à‰Ð#rœáa>ÇËF yæÐ‡ž   ilíæ{¢€hûsè(µšµvC)šRi ªê®S8âÚh(}A%_jã¯Y0ìà×;h—UA@¸ FeˆÅâ£"ÄxŸJ !€¥‘Þ5³VöCÍ@ÕØ@ö/¬üi,ŽYT^Hø‚[d´±“rjÒ©2-ïY ÞÑB¤…¬¥††Qã=}1®ÓÓiÅêñ@[ƒ`€|!ƒ ül©ðxy27rÕ¹;GÂóÈ>µñL÷Äj}΀ʃs1옗I_B‡Ürko÷’(lE—ÐÅÞ¶’t‘œÑ† e/|y!Xc¼uö³hURm‚ùú!&Y•É ¿¼Aq¾jþzކÝI.IŒn§“OäâIÒ¦¤DÔ0gL`fYÀDVO¼œéƒBîÜ÷ßFüÄ WÉÆP"ë±³Ù á§»%ý¥x¤Ïî]¼Š§®ô½+ÉëßuV&k]ç~€ ÓÓqÉÿœ¬I¹Ä©’rÁM;30[&šì]£[•:“Ã` éÒ¯Nè^w{4§î})€†Ø‘€¡zY®µ§•®°Za¬“–Y¦aý­iuEu$lÔ›,Öù§Õž£®yÒMfŠk÷^=.=Oæ¡<¿/ÿjtáœaŠw‚„ïkef€Ùp^@X·ü­°øJÉТ´a¶~ÎÖÿñÏ@³l*ö_=<=ë[JJsµ{Ò…ÿ XÍ[ÝuÊ]F?pµ!Ad¯Ä+Ë7÷uí—üŠÅ†[@dåîžÖ1ÔÌxò‰†¢³|~n>Òð“O”O¨IT€–ÂÇÏQ•ü³”ëpx¾På—YM ­&Vnq&Õr¨%]xrk^“Õ¡II@*"Í·<ìÜ}Gl±ì[Ugz…ìªZ B€­çlj†$æ¶]Ñã3.÷“.ß‚Wg9n®òÑ`«~†ä•gÝÁïZI»!È3se&ã©øH<|¢è óƒP–LTZrVÑBæýÉ·¼Ã¦û¶—¯4…ÂìÔ¤ûäÄœÍdy#}ŸÍIí½ÏY;¾‚#£í<¯xä<©-aoqh>ö6L³ û/n E¢ñ¶ÎtµçrÈÌŠV>i—xn¶éOŒ²ëò¥ÞòóÃËûpŒ%ʱ×[mdïåŠ&xl`SQ¹Ð6 BD[ Õ²ƒžh¥­Éæ•"VHòïÇ!¤D+$ý÷’h<dÛl¤zìd2)ÚgÈ¡ù‰ˆq]N¢&ü6©stÝß72–¬Ì ö}&[r÷öꪬ«œÎ ÊßxršYuAš¾·a"‚ ¸ð-Ïz]ijbŽoúÛ\í«ÔÙ¸·M€°¦ 1 0´ÓF¶ÙÖ{Rà˜½=e ÆÍΔ0¡Gv9å 9…/xè· ™îÛËR|h{¤2»|Ý{ìopØmŠI–– ‘m]`B6Ÿ¡:TÇâ¦wëæõÃÖðä¿çÅå :Ãü}2­éÕ·Ði–Þ@1+n‘›n1sD u›î((¶›'¨«Ã¹,ßd>SëW²Ùq\íø§ÝŠá.ÖÖ¢?wÂ];>”¶$*º‡1%Ùvå ×+Ü =‘]~P†Oq}[¨”ŠO~àx s³Ð¾rGÙ:kàÿJr”L€=ÉÊ-›$üTƒI.Ý‘õÖÀÛ’£K®Èt¡ùÎG¢ ê Ñ¡®ðuÄ¥^yň6 rS=ü?þ¼4¿Põü›‘×­-ÇÙ¾s‚ðó!‹õé‡2°$[ã±vº1„D&™?$ŒÖR·ÃT~4)1?aØ–æOReu®H“Or—Ðx+Sªí=ƒù]ÄÉȨä6 ÜÌøÐlÓ,YûöñnÖ®5øu ÷Ç €Èf@Yá²€ŠD›"`‹_7ðj–Õmý,f—ßgu+ `ÈØ]…²I,äÑá×´ÊÞȉt Šþk/™œ0¶ï΢‘¼PÇ ¦•Î8$V6\éÍqEµohôm¸cK’â}ïp Ç1Þ‡åå1«Ò qmÇ?Ñ» šºI½=›¾Ø®9Î?Žì¼djkûO¥‹‰‹pÚõ“á`Hzu º{°”‹Òö¶fVvá®Û:]p›êÇ-l°$„n“þÊô´d~[/^¾‰; ·«É¤Ô–©XHS ÿD´]‚g˜þ ÜfZcí&@÷ƒ˜Ñ‘¯{Wß.1Ä9ì ·-ocÑænX”#›BòØ?7ñÑÀBVž¨µNÇ\7lß'„r(õºÝzçõÖ|r“¥J)³¿×p-F‹ça~dŽÚá(BP‚6G¾;‰¼ÿQ9™ßÀm¼Ñ üPÓLÒ=5v¼Ðî‡úUR£9 ´üÜ*V”¶ŒèÓá þ ~3-ªÖŠ€‡Û{˜8z_×O5ú:Pƒ?ýÙrÜÔ‹!$bƒC-ACbíËSœôb x´5zõK`!}…hTKbû|C:e”2³Rëã‘<ß9fj-R<˜dÍ1R,ÂÈÿŽA¯ÇÿEY4¤ê×Ì$@ûÛ[õ˜Q¡ùÛ;ø2ƒÁ§ÿ±šEÝ‹3óÉÓ÷tï 5t%QIÀÀU®r»(›šWmaŒ di]ͪP}WJ|¬hÂQøÈ8 g¾¬îM …“F²7†@ßÜ7zì cîÁ9²œö´º8»;OÛÚU*]›tE`è§3ø´§›Ç¹hðáîqx¹òNCÇ*–äáyÂIÈ1Ì£ü®¶Ìi N,}/?¨³©-}Ç Z|]@÷“]°¯…Éý–,¼ ¹N‰ßDÂF™_ZXV©¬äåkhŒÙrÛW à)>@.²6KŽØz!)ñÎSÁ`gLµâÚ”KÎ7mÏdê2Y~Ú.õ¿ÐÃlÚò_¦Ûã@8]„Œ/–$%P÷9ë1ÒЯV'ÅŸ@qÉ:¾ AT7"V.Áqšç¦Y:×¥NÊŒ`uç›·Båh¹Srà±Òa¶þBJ-•œµ)Ùí½ è®àõêöb__œˆB_:Ly/ÿ§/°ã×;Tì3mIÓÊŸ½‘äÂëµ'ý¥ ¯&Ö:ä$puXˆžþþÀ¥ 9%c ã= OþúÄjÃÂ_ö­+ÿøà+ðL®ûÌz/Beì §<¬ ²ªù é=˹ S½«̱×>jD~Mj~:ˆ÷£ ”YÑ­n©”/LyjE%=}ˆeI‰m¨O Àz%U¤ðä —Ûšh ¹ |Ãä:ä4© ß{/%õŒøºèY è‹*GªÝ°®Î¥Ÿ#¨”û`ç:Åßö>‚Üı³z¢O­/Å02ܨ˜¼}xZ©»ÁP–,mZðJòô¹’mÊGz×Ѧâ8l{­Ú30‰{]V;v>£:ª>Um,™àº}òIw íç1ËUë&éßW áôÎÁyRõ‹”ôÒ’/ äþúçšP™ âÁ±°n‘ˆVŸœ¥ÞÔO±•®<¬%víi”•Eìã ¢¢CÒÔ°¿°nkyÆ©…Ÿî÷@Úìj›|ìÃ*ßS#bÆ×Æ ;Ý•®˜×ŠMð‘×ü½»óã!/ê5"•ò¥¿ƒh8A¿Ê‚Û,vY'S)Ä­¤eÉíùÊÄ£ä Zè!-€ÿÂðgxÜѲíWåhÓ3y¦ÿIqc¥ ÃJªü`‰µ9{ÒR,ÜBë`ŠNä‰0?Õ#èQ™EÎò…2–Où}¿cÜŒ ÈïâµXq™’}þÄýã}ö7ÄÈ)EgÛY«ãÞn–K S ×ä`aÃ…uð ‚·ÆžÒ­Z±º±õþïêÔRB‚2²L/%±å ÷fÕlˆ^g)¨|àú±-$Ý«ñ·–ùÕŽBšÛG3Ÿj{Ù' 4žLÁ\Ý:¨ˆ-eóƒõýÝçh'¿{Ö ¼îrßS–Íã4×hØÌ|*t/­¿íÝÈ$§¬ ƒü^‡}3™¹aŒLу¼ŒOï…›e0/Zˆ†ú*ßó‘ƒKñô®}ì/BDVLÏÁG K9N% £m°@ÿ’$b]pr@Ù2ò®[`'•‡+mYt4¬C ;ëZ£#\z¨#ª0°ûÜð€ ¥±i¤Ü‡ù«ê»§B›À±r.-¢K9žTÍâ¤8ŸàºÃtöH£æÛ; ÝOy)æ; _š|F–šlvÈmñÞÝþQþ–,~Ç`.骫w˜šƒ½œ34U£Ì˾W—;±ƒ®ª77önYÍÿ €Ž&¾‰Oå˜FÌÚŒ‚ŠGŒpäÂÎS—k%¥Ã.·½Îƒ‹ôˆˆF靖]¼„$ðpKy{•Š,ðøö›-וÅQŒ«âw5×&Ò[EõÔQƒÀò)hƒ™n^ÐãõØäÙ•r·Aáew4š†Ñ* Hfö®0î"jú°*û)¢ŽQ¿køËmØO4Sœ%œ…eM¥“þÔáý˜ð ƒ ç,$˜Ù¸£¢bïL‚Åz­ÓÈÄß鬡{èÀÏÃÝ“ºÔüÉÿßÃÿ‰¹ý·5[ÆAd™h{že ©í¤Ue\wKrÔÔz ì°ÓÎŒS¹Š§QXø?ˆ¯9éô£Ÿ¹äÕà_)\ç)Nð—9A¡$.A—«¿!5ë50CÈz|·>‹ÌŒûÁÀr84úܺ,"'Lf‘òdBµÇ=)Sd‰ñp|2’}åe‘…SÉý9–7áGâ^Aq™Ñý‘»+nWXF!Üxq|‹a'xÔ?Ö*;zÚ*¥FP^]bšÆöR;Lúe6‡P…Sþ77A~VDÐZ ÒØTáÀ~Ö¨‚ÆZþΛ1ë­©:ŒªÏ+èwU¤2—ZR¦ŒçÙT¤‡›¡Óx'Ž·}zã­`Í躈ÿWëø¦Dj¼*¨®×¬WÊ8²rZyJÎØÝ‚†KqÚm„C÷wõTýlþ"Ú[èÆvÝ,«aÉ’:J1U<êøËõïmåaúûÙ5ï”’€šê»ñÇHF,´Ä…C¬¨1åQÃQ¶WÚU÷x4Û½ð/3­ sÕh„ Iùª1T•§¼)×ñØ}A`¥ŽIÛ,S@Ûdˆvk+A³?ž:Î`9»å»ÏV‘QN¹}LÆeýÒ ŽqÈ çå¤ÿôCÙ©$Do{Å2©ÞWÞLH‘üf“,îa¦öž Ñ,´ƒxûÆÈÊ3eYa·vÚ4…âúeÙ7?M ‡ØEÔ8sšaËv Q×Äl+MñŸ–7!¦*ÌpŒå€MPíÅPr®AÑQ^cßõ“ϘXuò÷ò’ˆüR`ù½Š‹ º¶Òæá=çTx'Üë¡ì°îúãñ×ÝÕ~ycí’àkfX7ˆ2ð³xNòEèòlxI‘‹œ×C×/á]˜0ݹÀؤiE_~fz Ì![l~oÓO×À²`Y¨U¦¥_¡HUAØ4%Jl”rd.Éåºt»bk€c©£[Á³Kõ½”ÅÖnkÕ‡åTDÚ™µ Þl‡ÊªÛz j.i&.í‡<5*€N<òØ Ð²üR°ý˜{Jh¸è.,但7²XI%izêIÄÿ6ï\§ßRÿ5¶{wÐ9sÝ|KíŒcV“V ²xêª3@…'Q†Ç”˜"UÄÙ*»•uðTèIöµ7{‡EÚ´o¨u°A]—w÷¼ ƒC«ŸÌrèèÑ<®ƒ°>ðšùV}íñÆo_¿ÇL ð'¾¹û¼¶ï¯·èã↣Ê̪(7‡ „é~±¦Û-$wì õÚ'µ[§“_)åKº(wæUñ{ä#_ ,Ðd2Lïäí–úPžp‡¡HP—úr×0S4ðYgŠÒ¼Ã ‹dõEgpf.uKœ­ëtáUåë—±~V2 vÂ3‚,Ü·M¼ù•Ÿ2 è_ˆ´Â ä£ŽûB»Ñ–³çº{ê€ÕåmaN”¯F]ìx½+ôëÆo™ætFVô MV¯þÿ‚Exè$¹]—5r/ˆ«uQvkd$¾Î‡dÛ¢hí³4äw5°Á¸©û|³ÝpísÕŒ~P$ FŽ¡±%]ÏÛÚnþ/×Ó™ããœÕzI²Êmݹ¨g€^Ý[ fÝ}æÖÏ)TY E9?Ä%)æ!+9´9”J÷"a¬Nn°­é:ÞÇð8GãÑjðmlÐY"ïhcdê©~e"äNXû~}qP`÷./¡YOÛ6z¤¤_ñŠŠä½ÏnÔ+“O…¯s– %,˜“KüOg)E¨=«æ(É» Ñm ;þ2Xê%ÝuzÏåÍGê¢N+…:Q¡Ÿ[8h‘P%Äú#£,pj#>ÅÏsi&)‹c• #Í¡Ýê<­€„l{#DìR‡9¸œÁ,çÓà"ðÄ?õ©,47¾èâ~¶¦Á¸p[ßùŒ)EænȆŽY14žò9Vwúy8xŒ Q VÜô<Qƒ–™RfWYm–”žÓÜgº ¯Al÷YÒ HÅkÈpfÈÙ œaHhÈçiýr$´*KÄ·'´z\ÍTò’ä8¦"Í¡EUòKìMוÉÅ+<ù¶¡:Oš €9Y÷|L@’@ÑcíNÕo¡}¼‹hÓ1Zð-ÞD_[ùÍÔPn[kyè©—•º zNÁ½Ø|/„zŸL]ì@WØ0„Ev·Itþ ¿£ÿ¯T8nü3OHk)Bu‡¨¨¦xüí¬¥F±ÞƒfJ‰H$ôBµV‘kskº®Ó¤Ù¥_7×õâTóyÒÞ4Øâiö’E‘…dw<˜«¾sêàÂç •ËôL¶‘ÖÈw[i)´4Iv÷È´YÆC´vEgõJàÄ_²@'ƒŸùžáèûQ¿Wp6öŽ ÆP$ÜÅÕê´óg^ËMÎüD‘½ìË-/ú´..K I>k¸â±ETØ“‡Ýe`·ËíŒüªzðaŠRƒ ŽœÙ0àà)Ò*ÜfLwsQÍLØ‹nï¹mfiŽe©Ï3St^«£-*ሪêÏßTwA€È#ØŒ$¦ýk¿²¾HŸ ôÂ_å}æ××+˜çÝ­y+l¸ƒR€]oíÙ= |YŽÛ‰@ߨe©]û–ޱ&³ ÊýQKõGý¥VƒÉØ5M0 T¶çW êÔ­löxÙ5p½Û¼Gõ´QD”Â Ì ù/§WM^BÏ“f{ Щø%}>jë ‰A3ÝÑYc˜Pn­ãøÖžV_ûÚï+¼å½ï[Ñõ±Ÿ\)™ûX3&ú`Œ"@my\“1SÄ@)¡Í…Ñd¾"gOzÐ ØtýŒ§Ôˆý{Ž^‹À`? ¿Á‰gG'ÊÞ3Fžºäèž‹JFÌßætíÇU°÷½2fS¿;][’a”q*bž÷å<-ËšËm\°2»¬Û`èøæPô^ÓÄ1åQ%ôdx…Ç;–¢‹¶U_§ÝW‘—ÓÌ/9G)9;b‡DÝè°Ý.bvdªHÛοږy¢´•N€¬½IëŽÏo>¡á äRWÍ,…0ç6›±Š?úú™¢µ¶ë¿¶j¤tsüÁœ—§SgHÄ\©H¬KÃ&U‰¥ Ä=ÔóÎsL°6ugÎ8“LÛú*¥*¸¹ßµóf’R† 5¡¯‹ûX±×Çv ¶-ÃB ÷ùøS†õÒê÷¥{[Rò-*vôQ.ß_Á–ý:ý jBbÖWæÊŒ{•Ú¬¦ÕˆL|¤Ó³DŽSè&qÃÉÐ%#†täØö¤©œ1°t} ÖŒ»þ‹²n›¦‹ jr¼5N#3}­(¸õ›Þ 5³4TeªìrʈÌ>«qB^˜g²«$'¶­B€(”EñØSj ºlŽíëzó=‚üÙ¶ÎÕ8·Ú¬áÐìÇûǶúC}¤‰ |ãjËÒAû™bâJu°lÍuSê©`kŒ D£¿)±”^šÿÏÉLæs<ˆvðh õ³$Zè(1±¡—Œší:²‰…5 ŽÍ‡!ïñhMRñ´]*±ÜG þ FCï¬BGýƒFõ+9M½rùh`¿õ©,Ì>Ë«Ú2“±ƒ5O6é?tÕ—0”¹º\±›{ÐÉÃÍ xø }œY„Ò€t(d3á×ý ÜŽÈØú;>¥ÖnŽx–è=L–^ýå·SÍ,ðœ®k…m%¾)fŸg†’qУ8ÒâÓl!×Â×!¹ž}¢Ú¨fÛâè¥T“rä¥ÐÓ)gý .´ís%¹ÃŽÌv]ùBš/JóÝQ¶>GË•F”ÜVˆ/ZueûЦh^JB{Cºøº«½rn–;fƒÜä{–ÖsÚ¬x”’õY øe‰±ÄšsAVvÍÍ|3‚žSD±v@>uÝYÜ÷üJn"¬tj¸?NtHµfÆŠG hë¼^‚ÛA—åLØänÛô:V‘©s{v€qUÝ:K4×¶gsi‚ש´í¾ Ðn:ßxùükìÔ“ °šÅ›Åƒ{•¤ÂlÌ‚ô@ #»Y ¨MüX ´›’γB̺8JìÿKÂ5cÚ ™%žYJͼ¯K‘ú»JÓw+ „M"¡o‰¹jÀûƒã82ÆñyãŒ%-y—ªºþV‡cFÊ:¥ûB^¢Ð=YË~û;5I¥-¸Ý=½‡„MJ³F|~:$Mž9ƒ»éÉ [ÒÅÞ_dEE‹îÅŠÆPWI¸W0´ÕÒ}Q"¦ÅK×…õtµàïŸðcéôWi`/ë9€åq^,= ]¬@d?Ð;`Zñ}ï;ÙÚyýßd¶YVØ÷øÕJÈæݰ ë5Ý)U-–JÎç¥g5Ê[tí11A}TÉ1+ñsK-ËS&HHé˜Å—a¼5móav7ûnæ¶X–y[s&“y/ùý“¡APÖõmÞ©£.–û Úÿ‘0G17èLp—jï{>dþŠ ì²Ê™î6Åê+˜ëP¤í|Nš†Æò†’„¯¹xÕø¬ªnDˆï˜˜tjnBòÜæð pÌò¯¸º!t4…ˆxä’^v–­˜ÏÕÂv²ðeÀú¿Lļ(ô’K_‡±h‚=ŸÐ燹é £žÇ´²HxçVÙä áóòÆ»ÏFP@,Üà\|Mgî"³=«JæÐ>¹#ñK‹çyĨ¹œ{ÒØ±¶æ #¹T¦žà2‘Sd­SŽÆ§bÉB§¸F¯³ZH!eô“«OkT…g"˜<ÑIUa¹S›º„ì_ ^Ú8:âƒÍ³Ùf¤žõkš†[C:ÃTIÕR“Œÿ–ßÞ?Cìî²"]‹áï+IitäLXO>ÿ³.>¡™-i+¨Ç…Œ@ lz|dA[ “[ï5üž<õ½¶†dCcä“t>8'ü#ªHý޲m³æîl—tí €˜/¹Wµ‡Ù7a°zuU˻ʇIἕo†,ɃýÐ^Qø’ÃÇú}pÀ”‚¬ž±BáE²Gõë/%&{®Òþd$ÕI¬µFЙ0¿‹Ó-­üª”4ôt\B*"¬ûÍó€Í±rnñvˆ=fR« ãƒ/@ ‡ªxòZÁºah>ê‚܆‰Vúî0’›}î‘´!@×EËG]‡ùÿµyˆ^ŸhVÜc5œ¿]n)\¨ËB‚•.kÓ8†¦½ý<ð}®Jo•Ò VŸ¸ËE*Iþ§@-·úöÏ'ë¿BºÐª^]e¤se` ÎP‡ëžéMå (œô.ßTÚØ+‰ŸC銦¸¸:\êr‡Ál1›$ÄQEÄÔZ:ãßN`ž56/ÉêÉÞìæ>Bï4¸À,^òXÞ˜R«iºeðÜú`T=[.Lªw±u:®:?8pHm»…G`:FßÝzÃ'†r€÷%H« BIâÝf0ºYxMÕÅê¡!}²3ö£¼Í¡ù¬ÀEÒßPø@eêcãužD›jÓ‹‰PEsI¦fÆLÐ8G#WsyL£§ö?gƒ£È‹ÙÔŸ?¶f±<ÿú²à€ö4ð"ON‘ýžŒœ¤ñ—ǛCmU,òO#øZsf¯Æ[':ØWhsD ö[¶{\ÞIû‡àpkP°»3ÿê¾o[HÜ#2¤>¤ C€‡.Q’þíì¾\ž•â×àùXQªš©òæ®IÆÿlp·$Ù(3BäZ0Òꀆ(Yd„äùLNNƒUãìÆ_CB€wÄ)žLâw:¼e ˆ´ÌÍi`‘pΊ6磊º©gôpšKŸ±ÿ½Ë⛨õ‚]Û¡ ‚#kùíÒ¥P|gR ´PFÅ+ËYuŽ@­oÆNHöTÑa)Õ)W³s+­Ò¹6Óvdh$‹-ਵ¿DÒúÈ8Üøy`«fã Ëç÷Z€dƺá‚uÚ‡Øy—kN=6À¼ÎÔÈ»ók®á ¥Ô@šßqßÂL?å|šwéèdï í(¥ü"Ä{,ß#ñÆíKE&?D­Ðþ»¼À²lèqÿ±­¾ž¶H$7»4ç&ݾöíI’·_ãI!iÜUðür¼M¼¸¾·GMÓÕöÙ½x—lĪS|LOöó¦ƒÒЧsê¡'’à͵u ^íö ®Êd5ÁØ®‹nù tË×–·… ŽûxÁØÞÐGß­Òü/$3¯ÿÖʲӋ‰fý¸ÀKÞóö/Kq@Â^'“Àö·B³»–úNpÖ!’uËN»¹ò¯š´g ‡mI(Ò$øÓ ·¯13êEŸ2G0×3^™òœk‚Nå\_vŸ²Ãš—TÉЄïrO®`§C%bÁÀuì¯ÉÄHʲzúØ}þKóÎD£'[¬IÑ]¥sfš^Ït± ›i ÖÛî ‹(·{N;$†™Oáù)2uL ¡*G ‹’¾\ý±Ó0ã}e:Á.\okÿ$$‰ð¢6iEÑ;€P÷+.Ìè&×-t>Fa|dìÓΟu¸C!°W…2?a„gáÓM“œñÆYzDç<ŽÜÌ=y´-v€¸+ ]#¨E¬‚;ª¦âs9ÕS³ïŒAV:TûÇcEØçPÂe,˧A'2¶Y½]d࣠Π˅8ÇJz¨R ]âþ/ç‹û´As±þ¯ Å=¿µ&!2å-}N‰åç–1ûe#ãkPƒ“~=ö!ê0ÜtJÙÒ‘¢§ñ}CñÕÀ¯×lo ÛÏà=ýË2—uy0Ú5>ëkü£ˆ¿Ÿb¾UI¨Ò•¿€'Ò O£I :M±t¼öaXïæµÆŸèë=Ú|Ò—ŠtH]éÎïùIç­2!P¸IÜ>€ƺê§Ñ×À½*­_·‹5cÇðtÐC Έ(ßc…"p’‘±†HÖÁ¶°¡Å«~ÂKФ6×ðм,B#Oæ9%X+ðÿëm2ø/oÊ,ÑP> ãÖå6V˜Üþèiø]ç-G¦u®`•AmÛÆùEk ÒDÁ øTW›7ÂѼD¿^è$ì@+Ü êK¼¸_L™D§×r”5’é¯ú©óœ{±–Ñï’¬¥ÙõZ¤.õVWË—  ¯(J“?ê`8hÁÛ^|’èßC¡D<®8—å™ÅA\(Ù‚§tÞÌp.2_”ÆÕrr‘¢ˆÁ™ù™'9Ù¶Cã×ä½½Èýa³ô62ï‘b&eñ­¾ÁƳ¥(x.[•ƒªÊÁV÷e1,+æî‘M¶j'0½V 1.[cÅPÜŒ -±®bæÏ6í¨«{‹§øêûmµ[ˆŽ DrOÛ½Û3IJŒÕÿšÜ*V Ô1ŽJVZÜmÔù˸Û1¹‘‰ù˜‹8«™U‚œz­ùÌjQ¶9ÝàO.Ò^átŸÞƒlš:T 90D¨¥À,©ñfÔÔr&˜wÈÞ×ûs%€ãÚ,†Ã€³1‘«B½·4Òx`7×9D=b³Mr,g÷‹Ùäsô¢–=)*ˆ·àdä{n±ƒbŠÄøšÄ©‘ŒÎŽØeo8Ò!‘ÍX¶|gÎ<–„$ õ1,,!¾j¹Ï´y¢8îìž|—1M± üÐ[j’8IÜÚסV«+f÷ØÆ;C)Ó]iLSœscgÇÐ3«ÛŒp"®3+”ˆ²2ª‚B«Å@Ÿx_vwcþ»ÐŠ2+亂ܤçf®Í=ÛøZø½‡BL‚Wi™q ë¡^PEf_;AØrg°@ö«ÂÖÞ=½BñMÚ›\ 3¬ñç®Á5~Æ.ý"0ED$kø*yñé Û$ô*¹—†®"< _¢–ùW£#XÅê56êF½µ¹[E Hªœ¢… [£¸d¿¥Y÷ãæ{ŠèN·#ýa×&î¯Qý‹súi¯½»]ó]L©CBs•±EÊt¶|yb1¼†<£dR`x¢¡åC÷\‹…)ÄöU³DîR>“-s­¶3çÕ´ù0A)Ô9~huBÐOö©öYkçºÚCëB0QBÝhlKlÒ¾ŽgÜòý2Ì}ºÈ9wl>×€ð™-©ÙfÈo5¼“Nõ•‘³Ð£K¤Üte] ¶lûO§M¤ñ);3£|M¨ùI„B쑇sÝeë÷š|2Õ¾ÇO>Üï(Ï?…”¨ÙUD)†»›¤³dYÇù³Îº`Y×Åè ”ôB¾çë@,h&‹Äù=!°öýg´sñ9 x¹}á_ñ…PîüŠïGO°ø~ŸPÛÝD*g§ªþ^?®Ôâ Ô|$ÊøÀíÙCÝ®ÃJ‰»ÃQ~òVú<è•=aí<\bIòŸy!¯†…êä3´ú2Bш» þázxTVÌßnê‡S7²7ñ°<6c1݈ íUò¯ÅQBÏ%ü(FÛx•ÀJ1Ã'SY¿þƒRv`(#HÎÒL`có@TÏñ×ÀQ·Amîb…6oÁ¼óÐ ”;ò]R­-“…ÒqoµLú’L€åá`ÏyÈöBmßœð5åŸéxÖÐ(vÑ…LžáŸS^¦q¶Ó.Øt«Š›pÁ~Πù0°{/2Ì®…Q˜á4&6FÒÞCË;ëþµå:g¨Æ]×ùªC1^Ë, ©ž?“×U@1 ±…žº³Š^€w|áõwuo*#Ù%õòØ?÷d ¹c fRèµÍj2¨ü7Þh¼þ½i(l’Ü':uø/¬ñNRPÌŸ+:¼À˜¥îl×gÏjU&³Ÿ¬0ªA’º„vëkáx—½ËCä Ç­I„»Û˜0qÎôŒm’¶¹&F.­){?Sž”öó­h¤;¨N—Å©à¹RÜñ®sóÚ®T7+Û_ "´õÅIóOÖÃß™¦»ÙÙ<ùñêÅw‚txÅͰøº«ÍÄ{6'‰eU#ê—¬_ñ£üETËãÜŠø}&KN¬ô¨ Þüâ>ǵL\ƒô$N½±‘mÏ;µû-Åû•‘«hä0ö” ˨øµÎeñ‰/Ó?Ò½U®:a\Í ÿ= |ç¦B^ýIÞö)U¶¯½ÂeD<¶ñ#¢‡;ôy{½uûô¾tQ,|„Z2ýÅžŸH—–4e}¨ŽÆ §LîãVãÌÑ"¥{éu^ÇüÐã}ŽB­œŒq§ò?eŽ×ƒjî£D\‰–žBp¾¯à×GÁ; â¤JÅ‚÷ÑBzuÊBDo-9”£~s‹ÎÁmMÁOn1ÃTš¤ÍNK7¬Å1t2µºóš}Pnþ/†¬û?Œ·×uîŸë~«#;]I–aðHõÔ–În®ú0-š9"3R­7-&e›9kN_g­Pqì5ÃûÜWú¢ˆDB¢Æo.­TíÍRþÍšV½£Tò?‡ ìN˜¸À§{4^‰ 8Mxzz6ì¸\’\Q4ã¤[‰.•½ ¨y6Ì·û¯>âãHf}vfÛŽ+ËØæªºFÙç¸Ds1ã¦å”ÁƒUû~YWÂ…ÁúÄb$ô“‘Ò1tvD¡Ý#¥©_Œ¢ƒ¨×K÷åy¨à1’¦“&<9ÄB3¾;Åq3½–¼0Ásý°œÅ&çþÜ ÚüÕ±åä1²‡¸hyG{§z×ÎkM¤–ß4Š;?&Ý róŠõnM×¢ÛHRíô¡KñÇS=ƒ¥Jšt+tÑ£ë:àZñq¶¾áÙƒÅïx¢À,ãí1)܆ ýŒOä3rpÖuåO<н-‰C?¢¼›UÄ#t=/A•S6r‰¨KN:oÕ;Á(k‹ ðPM»A¤Îþüw?D`fæïgÚØPŒ¡þQÚøMZŸôÀ•ªZÀêj­FªüQ*ƒgs:id7XGç²üF³$ÃÔbÀÕväšTÐnÍl¤…îÜcüìü15„¨Ÿ-ôî7%C±Ù«ßŵ°(u ƒß¯$rÖaÌ—¤ôÔWÎNv/ö»Õƒæ'=v³Z§D›ÿj .5³ãdòžÄܽ¾¹*vóe,¡€µS¬—*¼óÂmNýøP÷LsÆN®¸¦ŒÞ%·igŒ³ÿ®5MÂø:yÊñ²uuÿsˆîárŒÞ‚Nºÿ^+û@í) /D’îÕ)E-¥4ˆJ˜¿°Î¤G˜œÔú¿pREƒ£®t[®Þ£uÈDoæh•Ùó £Ë^¶å?Ð6ÓåÈkâ¾9YLýs]]ñ¤%ÎÙªÆBª{.9$G$KÞAq]$ù©>·¾E[O}ÕÜÅòKýÀ:]£,ë‰BîöàP "ÇŸo|ãRäPÚŒijÙc ‹ç/Œj¹ÐèÎP¢>$’}ÉwÜõk½äÜVõ‘ZÓj7м}@@udÙç&ƒÚ]ȰR…Ô ÁØOF—€šÂ¤‘)•³›á- ³Å‚ÐßtLìöÊ =w´G‚ÁØHÿ£’xÖR½‚£ÆC3` xÈt|_xÈÌ|‡~ÔÈ49øƒŽÿ¡—SÆÓº; ;£k«r;Þ’Úé¹+Ã* ^rºyű„CćX<Š6ï,~f›¿v…¿á&” Æd@ÞéJúÅ]ùGsÖÇÛÐð,†[·œeEøôú6V±EË:(£œŸH UÚ²ë‘Ú6_º ‡ù²ZÚñµ€Y7µd PälbíjN-öoì:#çÊ‹~Â3ˆ±ÜÔÞ â;ß÷¸öW»hgªmK”þX­µ¯»-GBÑÿXtÅ ÛõƒWNØ"ÁïíÑC{pƒ¬¯ f•Ëð¦n¼ô«TÓÛ( )úä.fÚPà(gÝÏrƒÅ¶c%Á‘ôn¥OÉJ,Sg¢J¸¾íK ùò°ÜžPÓÜÞÈW‘ËÎòñ²÷5æŒu¼Ã5Ki©7ÂÉ0ªÃ”7ŽC=ÃâP•¬’LϘ/`£ÙiŃ9˜¦dÛ#ì(™ šöµ—O=:bZs’’¦çDA±Þnuý)ÌÓ§ì—ÊF·IŒSc­cVP­«|W}oJª½ÆÛ“™ŒËË·˜1`ä"÷"ŒæÞ𻌫™Âµ£a‘'ÛeSp¥-6"ó¾ẋBÞÖg?óÜ hý§©üø^‡|Û䔇}މJH›%<–$‘Å*\©~‰5µkΚ%Ðû:Õá-³ä0ðâ„ì˜_ZÁWÓhuþ8ªÙåÊÜe» wÒ†²GèÂã¡<”(‚ÄûÕŽ éÄCÛ¤ª,|&.ø å)(‡5%Iµ©R„¢±é Õeeì4¨Š<× ¤ÁÐê1hÞó©°Âì„Cž†\ØCRa½6TÚÅú$£%û˜å²ÞcçêÀ]mv5©Íkø8coØOá~½XëG'"À~4åt¾»©â£¾ÿ“¦cF·'!ÌQ˜H:Ü嬺m™5úmÁÞPгÊñTc_?ª á5¡ú–]»t\iå× ŽbsÅÇlƯÿj¸!»`(g´£ÁC¦ˆßÀ¶›ñB” ³q-žíÔ™sžiä¿‘ItÕÂëL=¢Ìw ˜Ó‘ñ3ˆMD?$ãY‡•×’ßð}uÆY.Ā؜<¯Êèaáø%g:—/ [V…ƒ¬em¶Õ÷¥ ˜”³ÐšH}Ešt°ËÚ4©±LÎçþfX‰¥¹ €£»¡_ Æ_|ŽxZKðiXYã [ÄI©›ÂAçaØ žnø—˜5y?ÕÒI#iŒè9ÐqçRsÎ&S—ê` ì1ùá1{ÄÍç@(¤C¦¬½!)üþÆ×8¯ AûöQsÔŒ¬IlwVfŸ×¥šÑ,åÎȉ)¤?Jè–l*~Wî¶S¼ʧ õ³c¯Ü6nGê\»‚c, KLÝJ®ÁØÑ÷ wýšs¼c®Ÿ–b;h©Tr@³p9Ç•=K‚î㔷ˇP?¥ê§ÊV±%\ýÛ¹ã׫sÛ°ÕÔ¼ž•(ˆo)t~y‹Ö˜¿=—ˆjC,5¿\‡I£î»àpä4DŽ®Sʸ¾Œæàj'phë=v¬€ûo{Öê™…mÐ%PÂêóÈ‚õÆþ¦H?pºª-(}ÌYc%Ñ£€Ö£üÕ»EÆ5ιsãvñU·ñïæ’ÖöGþ3g%Tí(-6I Qí\§1{¯Ê¼¶'ì„3æUFýÖ«?Íó|Q5ÕŠFô]j[­Ö7"¬ÊÌ»ÀqqF*K>XS”¨!Ì{!Á߯7„˜«øË ¥B‘7ôÂá9ÌÃÃt`‹ECö5q‘0÷‘µn'Ž.ªì¬Jî]9 £ÜŒÌÞ´ýN“Åz#»Ü{ÉÆ)- 6Þ ãRfjÐõ²Ea?`ÉðmÕ†^TQ€dhüµMNi< ×|O]P™üžV¼Õ¤‰G"6#ïo=Od5¾{‘“ d2÷ùV¦a÷Ü hXµ¼¿i>ÈG|C ".½!ÉfÑan·šX_H gO Œ€_ü-«_Ga:ì$ì+Øe•†iH%Ê#RÇ©û7DTͼK8gm‡ñ¤s+oêaÿôW„#HÉg9NX#]ÚCœš!úéf¤½€¸Ž*4p¹ä!wÑÉ­ô·ˆîʾAT»«4 ˆÙÌ䯥SÝËÓ‚ë1ùîB›ø|ÚZvãdkö”CôèÐ…x¬B¥$„NËübŒ`}ú|¯Ð”€¢&ÌYn™8ÂïÎMîö‡J[Bendžo½ÒÍËàKÄk¡ÜÈmÕŒE;  ¾É4²›Œ³>ØèqFÚF‘¬Ç?ŽˆÑŽŠ©~ê^ÃQËÄq(7_ºè–A>ŒäUe]i'@Û8g§l mð¢†bÊÛ9«Çüw·v6ªrø÷’ÝŠÅèݼ~Å©–âêŽáë3#7ÑUfmþÔn[Q07Â=ÅL¾«÷`W$z{Lü:šËwÇÅ»æ6]Iƒ|Eÿ|`" ¾Ó׈¥gåÛÀ[ú O‰=šXç ×L€Ë…ÚxRŒgÝ» ˜aþ,†i) U¶Í)ÆMPÝ4ðj$ËrlðÕÂüD1xųƒ*†ó¥y…H<5ÎÞP‘ç¦îõ°%H8mZ’긫ƇìÄ_tU¡‹x‘ÐN`ï1 ã$}*r«¡#£ÚðTñsÀ~©¦Ö­õ^@¬5è¹úŸ[e)J¼s‚;o n˜{*oñ.ž) o™›Þ»oÖ·ÐoU*=«fIA?—Mƒ`DU²¡9šfšÛ,ÆÏèÕðt±–Ù½ù«@#Å~¾8[?*4éû ±S?¼A¹è¾Œ†õæO¡6ˆðgZ+IÕ’—RL¤øª;%ºFŽxñ*âdû˜ü*œ2˼ ¢“ñáðUÑAëa/.õZ-Ù`©jòŸ´5p,Ñ "niM ËmÜéVˆ°œ?Ç“|¼‰Ý",¬ÚkìÀVìÔC|Åå]ðõêJ޹??r¦ñ9j³htõ÷z)ì&Ëò˜Aˆ/ó³C(Rs³}£Dl§"%Äÿ,ÅK‰€¿RÄí þWþè"Ò%qY5Žš©®ÜO)´…ÿËÈ9)î<«¶7.8 ])(+ÁmjˆÙ2V‹$äùgž)KÂWðpH—ÌeÑ&fU·Ö,:ª•Y ZDËxÈ6u[PQÙO‡™DB@l-<¼òUH q’Êžú 6”9ÆL\ƒä›¤»T8·»j±X_Bÿ;çÿç¶K@¤-Ú ƒ¦€‹êÐao± …tŠ™UnéÏ7Å»P7*œaž”àÙpûä÷¢Ñ<Ü{ðÏE<Æ0ûyXÍL !¾di™* wAÿƸtIô¢Ê¨Azör¤ B@¢Ê‹iµ"ý8¥Ø”î±ç±yºû®§.sBÞ¼ŒÐ/"X+ª¾´nQ{þYÄl9ÍÙÌé?>ý…ÝÎP<ñeÏ>4À ‚ÛüÑñ|mÍG*ƒ‘ïnêÖïPyÅYÊ5ð3V2L{ÞɚÜ]6L>•¨IÑè;^Т"´á àY•Ãíéaýà¯yPçGUÚ¹3À9’ßÂ<a‘ìËìùuBƉq*w¿ú?µ²Ä`Íkö\’l½Îi\Ë8'ˆ™>²|Üí/ËŠs_`æZ횣WQ”ZºDQYÿ;ÁlkO„%ÔUR€à›m{%ú„áúýhºÖáqnësä.&YÕ^…¾aë„×trªr(©Ý‚ïowÃƒŠ±“êäÏmôøLX:o…ÿ¦ÇÜ€ÙõËN"c +PîDz… ËG ¡|Çkˆ[̡㠀܀V©ï‰$î*(É[ù¾­5 Çs(h1˪‰5‘&Ó;.tD<½_|$ ½¬Iô@å#p±´æ1ãð@ô­¤x •Pq7£Þ8‹çÀU'Ý|’°k!éþ(e5rÆohÆÝð¬±Âu”Jü¬±¨à]¿Ú ¤é= ûƽ:Û.Üö“BÔ• tðw}s +áQ6À0vmÝ~“*Tóâg3ÒÆ…~Äš“¥wm‘vN¤ù©?û­äén¿~†­ŒI4t_á–Æ˜ñd ’ˆz㨎ᕱªuŠT1”ü"ÁŽÅÚnD=–à![Z|³Jи޹-#¹ÑìÜCĬ Á+^Œ¦;sû“ÿð%®Žï¢šRëì~LQiò›ýö>Ñ+Ç}!Õ a;±øìd[]îÝ ®:MÆ«Yp¤xùÕ¶"˺•;uFìÒ7w øæ§×YCjEn›Ô—hÏ8EèNÔIŽöŽÆs.Dœ“!ªs!ßéFºA(®‘ ¯E"¹eÓnêË:ŽÇ Q†•| ”åï2´¡«Ìgî\­œ“úÔ'ÁÏ,»!­Ã4ö àÀŬ/”]Q|'«cÖ‹[vY Ý&gÂB´C3›¢Ê(MÀÌ Ýw d´E§HÉnÍŠ”¥K”*¡k¬- ¯—N .£9Z:=‡öJl#­htÿ?¬Ö&'’æ8Y’CƒŽ·§ž!õ´e±èÉS RîJпÅé¦>Œ k"ÿtlU:¶fø…s8»~|Ô C–3Î’û,æ/z»CN”¿Ã^Óª-Ûç¦>ÙæÔàþ £_>µßyÔÝÕ ƒ‚¾+FØ;Š£óÄMºê/Ú×.Iíë;KZÝ!e9Ê“­k70vOu_ì #jNªiÏêò™¨\>ÞŽP= ~ïäqÂlÁV'ýÁá.\<öjä¤ÝCÄÆ²­4ú`=*ÚmV^#ºAîý,:º¸Íï^ÈTR_ÒÓ*éÓ3s€qÑaЂÛûÏEÆÐðʾ©”4=ÙúOU#MTw@/Ü­ˆd$whŽømÃ}“Vqy?Å·QPä‹wØgtÏù¿ªÁb¶ð…ø%†ÃýÄœøQöhó…Œþ,àã½ è_<‘¨“Õ¯YüPï¢?_âi7B‡0-ÏwB¸ÍºÂd2d†­ Ô[ÍeŒ«`­\ÃS9HAëíÀíŠZðL Ëu¹m¸>ý{nŽÙ1KLNì§.î—€Ig˜™ä”««£àÌâ, ÞÐ’Nãs†ªìAИþšÁÁpfÓ~s,Ø Ç |­R8Ñ–ßÛÞêçW%‡Ë`ú©òmˆt4WZ\á´*z&”Š…á‚§í¤Š§uWÏiyÒu\“ÔFVÅtÚ¨6nçŒlwÆ+(1§æ ™5Ù¤¯Ì‘–ÁBûÏ÷Ãëö!Q++ Gm?Jr‰Þ)H6UoÔo‡÷ª2¿>zåÿe‚… ÂN 6¢Hw£ƒ{ú<̳u´T¢|O¾ <ÿž[×&ýûš–âv¹ë±;VYg£õ•í™%ǵNI†ýUWÉV@yQj¨»åŠGé®Ï“a?ò·Ü¬Ã±Q—ÓÑ ‹¤#`hõ5ÀR}̈Lx­¢ ¤û‚æÃcNì„@êëõKmRøŒ÷#ºÚŠîBÉ?- .=`pC¼ç(@,7˜„ºèŸÆmºñÌ=齿$: ä×JüuغÖ5FP© ØJNÚO’NºN®qGá²×³)wÌÒ-ß›USS/™kdˆ·"K—F­1øÁD à©7µškÕJpÖ?…e£âNÁá“*=±n ô ÙÁ_Ø)äÇ !™Ã~AIWD]ñsiâwÝ–î' æ³±ýà¢NÀcZOòn_9‹ýÖ7QšÐsË s»‚1F¬ xËM B”|&彩˜t#/Ê1ðF`(î€B$ v]f¯“™Kú§Ë%´5äµµÛ{h~o,ÞëÍdqíŠEX@ú© ²PE€·«„Ï,äj‚ƒ;kmz„JÞ}¬’C·Úð?Dò³9=“ã4qØ 2KØu•½'ñ¶&U¤ämÇ™cw·Ü ¥röáãTgH Y·®²²½¯ï†ÐÝ|×<å‹0—•~y%÷›½ÀÞ-šUµ#wúÿ–Y{(íHhèÝþòD‚°£éÁx*¸&¤!2|‡[À’ij*¯­jÚ8-'VƒäWüÏmÀ F:%+ &·_Ž…ó|á Ñ#l™uÞÐ#¡vZ® Üþ^ì àzÕ3%" »Gë¸u³ñí»ö^ïÞ/`uÁ4^u±:Ø[¯@Å4E]»J,]Ê}ƒ“¥ .O¢\D„­Á,«¡©ä£2*ÑZ-dF·ó/km*÷!÷]¹Z,M*vãʈE53àóAz(}º©T©*ºfû(*!Ár ŠÇ¿Û YmÉLÙ^˜M? †WÍ"0îßÑú3Xh Jæ!ùÀÄÑ"4¡sÜÞìüÌD ‡6@ A%:Iú—{:—;¤uüßI3>s`.Ô º©]£lŸ+#Slsì^%Fû'w)NÔ¿¹×Hž-[ÄR|/Uv‰™`·Ý¯,' ½“ü¬s nº2ëh¥ù_2^•3yG—¶öÌ ·„.ß„;¬¥ “Aü‹ß¿°¥ U;dO7b´ÅŒ%ˆµÌÛUû°¿?ó+wɵ*>‚V ší1?·¶E…™^3«àäçøWÖ¬åúeçøé*ؼɔåÇ£:ûî%i¯nt ÙÒ&£ª"ÅC›ßšÜº·¡u'Ó–4’´1…ÃoÚúS6ý§éÆx¢]IñkÌï&Ü–ãÛž\@žŒÀthÂßqˆŠí«…<M¯Ø8|xRƇÒÀ„ë§j‘ŸŒ{¯"$spãñ«cñù‹J“f­÷nãìå­^%ômNœí)&jØáì.í}Æy<äéÞCÒ,FqÑŠ/æ\`•ýàÁJ§èwõ±­êÚxÓl1QÆ« õ·“Øf×¢õH‰Q~8Ê¿nW1r£à5€¿Sgé¬èˆW›oéÚ`™g¥'|ÓdÜeÀÈ)ÎÎCÝü†<`&ÌNõ#‘Öïh2êàh¼½ü'ì£#Ó¾ƒ«¼"°ˆ3ª³¾êÙÿ!Ý=žËºä•”¸”@T„=}Îja•V|Õ G¼øy SÛiþîã9×ûøÞ6гŸf[˜ÓòõìɈnŽÖ¡f+R7®8 8 úP’ÚWt¡Úéï¸òuxŒ‰¤?-Ž®Èn¥í Âoj'Œ2‡Ö“‹¢wÓ:b-ƒºæ®¶V4Zp”«ô†3*c£Ác“@B7Gõ1V‚¼*Ê¥Úÿò6 çI·M(ñÈTË;IuTëg†¯1¾» AÝí*³lÓ9$%dã‘!×­!yö§$ŧÈ-›ÃÀò8§$À’äL×Ê€ºz! ¢j%’U„9Ôüûã D£f†{Ž‚Ô½,ë—¿*7À‹‘nG(ÿ9ôTñÕd‘¥qa8)£ -ž«u¡r3'¼¤àƒƒ´¡?µ}½ÙãÐF=™ºÙÀk:N¹½È?íC¢Ï­0&1?®ØL‰›ýIvj tìÁ¬Œë¤ ×w¼)ü€ÒÌh8õ›r!S)B®ë„Ц]8G ]’G¼”A”ktýãAéÝïÎKp¸ñ㸻VÓ¸»{´Ša[õÊ.÷×·QŠdxâ€IDÕVöúižÛä|QF¢xBð[dnøüÔz`î=ØÊFy'µ%3ª³X§/ãûOÌ" T”xIÔ*¥–Ò0ŒÇž! ¾¦†ùâ¾ôHI¨œÝ² è½»•ô[E@6Ñ(¶ÖÄüCF–~mµ*þ¾+%ÀHVb$_æ×‰*Rð;J̬:W é¥¦X,›7Ëe*dfïÒò Ô2%ñÆß?ì;Óäáÿ`à>Z¶Èù;aiPP cÄyp½:óže3ÐR G)&°Î… 6â,s[»QEÔ?Ì™ÑÍ0²‘9Ñç$ašiÁ;/²梕À#󙨲Ȓó¿8z…‚)úŽK4YK—>R­ùkn¢•yPG vÙLö¹ÿ¿ËヌžæwÍ0ˆ.¯š%il¾aŒ(pŒ“ˆ`:Æ95± ôE½¦¸±æ… sÚi”Ò'àd¨Ý;6;ÏÉ–VàP…h`Ó¡ªÆ¤þBÓ@oðµ0 ‡…­–x‘”©JàhøE°>×V„É7 äÐMh£‡ˆÐß0(±;\Ç­È+ì›ìHƒñpDª#ùŠGžèÑ؆­lVA ¥šŠÜú Û¤úñBÅsò#k»rx¥‰ £ðÜØ;¡6£â¤kéÆš0B”,ŽÉ誴‘ÿÌz¢ýL† %ÚÕ­úÌ™áËîÀ('¦¶‡¬ÿl¹Â¥‰¿®ÐÓ,­=¬áÜÀΤ„x±ŸZ®)Md³"{Ò)QÝ"8ñ.YЫuûd‡ãH;>&;ì¤> áö*X&å492²®8pºoh„¬Þ$º² B>C2î‰I«Ñ¥Üæ°s“Ùy ¢p_ ™ÿr²Ð îÎGŠ-CÚ]‡@¸àNùZYNAXMv Õ ¼Ó6 ¦Ž ÿ R±Ìc™'›-)`×èd„±g; j̴äéOÚ‹o–U¥=Œ:Ÿàõ¦QØý±‚‡¥x "E/³l*^nz0vÊÊÝ©r†i,"6!0[*„Ó§˜$‰_ö:t«©üÓA?@†Tõôo›Ám¤×lf’"䩯#ºPÏðPÄ"Û¢(/Η·*MÉ·„¹¨ï²ï–…™§ß¢,b eݧMTXU Íž”‹êðš/>oáD¾^aþ8ƒR¥"¢ €n‹1®ÁžKñ„‹häÃÿ¯fœ-Û˜‘0ø,J¶†­`ÁóÓ…!G ½ŒÂsñQÑ$‡FûE$_¸ZJ5ƒ½É‹–A}ìYߣˆŠ(/^㯣ü>Z% >ë¸HSß}÷•ÇÂe»’6’<. Â?{áõ—]Ñ´$ä]?’ð—¢VÒ{¼âTèû¾üIÍo§:{ÆSÅÙÜ gFgü5ëxO}Îį}…«ÊYºA*· Ò“õÝ‚hÙÂ.Åã›`àcÙHª ícê‰:Åo7pú`1‰‹2 Ždf ÇÇM–ïQ¸˜­I“3êxF6eàA ´EjÜBtàÊ:—HÁï‚ÁR…ñÍÏÔŸB ÏÐ5Zr† ð6k¾t®ÕËOâÁ+¬àæÄÞÅ—<>n×’UdAhoÌ"`ðmqòÔ¤Ç>3Ã’p¬]Ï©GŒü0ÝÖM‹Eú=ÔZ5‹ÊÕ™`ÌÐÜJƒæ‰ BO\ȽŒ}hÊ@Æ ä¢ìÀ¡ælCš©4kÒ‘L—¥Ûز`œð¹WsFû`úÒ)ó­[\íiipÕ4&z%2ȳ˜‰Ç‘í/`Œ «NÚKGÔ?÷ÎZ-ÞQГßZÔB‘`³Xh½¿m›^&ó]ŒÅÃ/?w%KvÌ–AøÉBûªÝÅ@¿Ÿ]H)Nì ¾Éc"›Wø×׬g'øcîZÛ;ò¯³Ã†üT :Êïˆ[5:¡ƒY(†¸Õ†¸6HÔ¹3ÁåY Ï­3ú Û ¯‹€>~HÚ~$vnÖYÆc9F*7¥Â•“ÛR ×êþ2ˆY¹{©’ú«WLÕ/¼w¥bVTdƒW¿Ë>rú‚hã àz½BÅ繃¶i‰Ár¤Bn" í.²š_ÑšfH¡xEÛ¿*•>ªÃçňÀ:¨ÖðÏz²5¥&´K¹â‘G‰ ×nhÑôèul×.\ï„5òËpqnÛL“Þ$•vg"ÝÊ’*¬9¨´ÈùK>^IÊÿ¤gz;þlT â`ð­´ÄñÔwªsšIËøîµ2ì1<,IËÐp {öÓ§#H zg9íËþB^¸MEAÁæ0£ÿ¤<îíâ9N‡>E‘ öþíHùRt0<ÄWQßm)½â 1Óbs¸Xá+éJ÷-ÜT¦á‹"««ïcµ†ðóP ¥D™ÙÌË468!ð×S·Ée/¾íß…¯Ì£n8Íä5ž&¥û”ƹ‘ˆ¼8ç÷°1Žól0ZwX}yBµŒZÕ²#Î!”á‰]sÒlN‘:k,lÏðV7ÚâåRÒš&êñÔàRÚíC‡ëÆHNA­ÝØÒ–À–%;C<ȵݙr‘S*ŽÂ$|DÊ J씇UzËøñ¢­F½ˆ±ÅÛDªÐv»m`˜p7 Ø¥šXÅHZ¤ïŸÊKì­ë"âL…ßD­âÜþbôå‚¢:ò°˜ƒ½Â+uEøÒL·ÂÿTɯ¯hçÞ°þü ¬_9Ù¼clSϘ’€#4W¢r, lr Ññ\´Š—å.«â²4©|W’È S¹¡ˆÖk§Üs•à ³ ¢µ+5/µ»þzÞ©ø†ø§5,%pdD4[N¨\ó9ËUöXݬýqu„Š|@¦QLf¶i˜K‰ª²_BZºÅáÉJÒsO³®×¼ : )h¢ŽF«ìw|½ß3ÂHþE¨ÈþféÈIòÕ > ¨es²–Ÿ—WÀ‡7Ô7§œš^콂š®WèÍÉ1RÅjzÑTvlÖŸ¢à˜5—OVýo».`d¢¡;®/1{ˆõ"Jq¸„‰×èÀZ%íÚôS…t“™0O?ÆåÝ1!¿#À8x–¡áü&uÊG–Æ›âXjÆó+üœl!?£µŒ¼Ù{Î1ÃI{ƬágÝl¸Ù õûšSm*p2nô"­’çòÔž•¯ý™ñ{Îz©'÷±~¸ùZHÜ¥Š^.¿Ž pGnÆâ2¤ âÎý}Äð½µÜ¡%¯;%Ô—Fã”FM †Ú ^Õ° ÕÒ„Û§Z)Ãï¾ÍM¬â|à²Õ¯ §‹¹?ÀO KÍâW– Á~f•ŽÌ]”‘§ xyˆž§=6fu»%ø;XmÎçéRåtôÕóÒIÐÜôàtzÞ> ¥ñeÐK³vRÃqD˜rý9­!GÑQn§{ÇÒ_§ÿjÈ·u¦˜;ä]fúy¹5̬:Öl´#=x& ú7kµEÙ²ÆÍOÿ›‰bìeäƒs_ß3OB¼"çX³Ü-û»ÇµÛÈÉÃJƒ6ÙÎïwïv@î5»™k0 A®ûõ0$ƒ ˆðd¶?ÿ‚Iæ D/sv*+ ï’¼fEGìIÓ Œ–³3fíbhƒL™€lÒî³ø‡5ô¥ÅóŠæªµ‰4ÙðÏ»}"õ…)c §ŸöÙ†â Qð§¶^V6ɧ…ó÷xÝ z™9¬³é¡ï; ¼5NEhÙ‹'xúï%þt0vy©ÛZÙ¤°à—ª”wÞYí¬Ø(ÈN½MËSÞ™6*пόöS‘‡/2&Ÿìj*Í™m´Ôš4`gˤ;d¥&Û¦¨¶¦¦?QE&dvܨ`ì&T±õõ¶2Ï=Mæ‹‚[8oj€×mÈ6TK'€” †î·²bâBK˜ÄKk×ZÁi¡ö±ëàî>Gy€)…ØsÎy‹+#ÍyŒ3“pƒQ©#<^LÆVshB $C•Õë.éb#ð&Åâ$H¼û,áÚ e‹õoØŸr&3Þeâ+B<×ÏßÞtôùáéÚÍJwÁIúR­5y¨cO¢RΠߟõÖS¶} ¦}÷¹OqM®c˜‘+’Ï1K!¶v Pyz€Àëj'd†óúö?9Ù<žáOÞ²ÏmzÕ~lÿ©üÑ?,éà_±ìF j }û*Ù)z„6ý¥ÕŒ ücæ1(~.«Ëb_ZCÌ$ëByaÖëûy+b>·Ø—‰%ŽEùzÊ€Å`½oX¢sM/°-c®¡ðÅ]ò¯3—×Î:¹ˆ®OšËç ñ™æÒñ}œ‹ÂT1Ü%§ ˆ¶4aÌ%Æî¡%ãiÿb+Bï#úÍO+¼Mô¡nÚ¼æÐ¹ž^Ï¡y/ÊÐÓb’ºÔ^]wNltðàÌC‹w裡ĵŽZ­1Te}xߥÿPrŸ:â¿ýÁW»0tŠŒšK%LàÆÑ> Ü‚…Ø Žç…'¼gޱOa:Í£‚p«.~X½¾®Õï]‰¡ QÜÄÇge´ÈcdN/ëÔÆ°•[VX¼?gë"8pˆ0Õ«ùMDB»¾JOÓîÁÔñâ¨ü]ø¨¯2æèàþdü¶r!BýšYçÛ}Ûz}ÔÕ4ù­í’,ôDœIO ß$?Whae'†€h•ïü1*É+²€Ói¡€ú¸¶ ;ùä{2Kãé䇆7(Δ:f Šôå T„]M{ÞNÿ·ci‡,èÀÂPÊñ>{Dcg),„¾`Uîõ—Å©Ÿ=fzÒ?JÛ”Iœh¡VÀZ¡æþ×qª÷Ìt·q–˜¯Q—%†ª"¸ Z­H|ûõ@ãÎàM¶ÑE¸òUi‘ýP¢ÙCè‚+ú±@—q”c˜§ÁlÌ¡Z Y.˜ŠôÁCC^,6ÐxpN$‡wÒÉ.JÉð†ÙÊÜáëþ£Áñ“ħG¨AŸxö„›ÊÕ^6c”ŸûŠT¹sª=eü„ø„ë­œ].<ëÌpadÀ;Ùˆ¿©²¥Bßä˜bv¢Ü1 yn‘Á@AÚ㬞q%iO°¤õT) ¦¨ð—Lö{×eZÐO«ÓVöfšêf]ø;Ïm1ûF‰ 7áèÚ¿ˆ)”é ¨'{—èHéºw ÇØ,¨d ƒ ·¬;ÎbÃEöÀ:>/Šðymj½tzãw\‡ð‰ÕtV—lúJÃ…|¼Š©0!á²Ëü/ kfy·íþ•o<’-@Ó(ÿ©ƒô¥7Ip÷Âôˆ½ÏþL#8¤zbý¹¤?Ý:Æq„-FFU2@sÒÔÖ‚rÑÎÌÊe6 ÎÚÁš ‚‚o€jÍ—Œƒ‚uÑÄ>Y ð3ŸW(û/¼â‰¼þ‡A×qZ¹©¬W €.Ÿ$D«[ˆ1×5‰w¤ùuMÖû­L¥X\Œ?—ëÉÚNxX÷ä8èú2é Lç¾ÁlT,YEÂußþÁq¯ÿ™EüÚ¹áG½¬sTËR±Õ˜<0ã±K]9 wÎ*† {_xN4£Ý¤î™7ä'h>3ñÏD1uJUU‰Ù…ÃìwŒmf÷œehPu/´)fáŸ}ÂU ØvžuÚ|j2ª-@íOàͽg®ÉH'ä©éæßÞm£ÆÏsðxQ«=å’M¯Ï‡W-úyÂåž“öÉ?öz¤•ºTÍ~î`ÕRwÀ¬!îV0l‡] ðÌ«ºÏíÁäÄHÑÉ襲ŠE—ÿ/t6]W‰üõª"îHŽX ÞW(ÄjNª=YÑÊœ™ž×"c¨Ý3•XS@çxÕ€úÄá`­wªUœ?8m´s?À{Oú>ÀN´üq¡¾ÙýY„æó´ûæRgië{Ø ¯¨)Ë 4)¿jçÕ.o¼9j¼^[eýêeàUˆ‹c½‡¶ª<2“§-xu“û_ÐQæ‰E¼1x³@<áã›ñìm‹GŸ¯œÃ.ÌvœR&WqT¨)üÓÀzéŒ>=Ÿv7ŠkÖ@›`J‰‘ÿv/Ѥ5@È}ë 'älƒ­£(^‰¸ôV~X¯ì•>Þäiúù:Ur|`§ˆ¶“uì±½x J©«±w‘|áF ×§:«<~ >Fnj5 øÿãö ŠKÃÖP;H<·è\I=*^$®nª®”(¥T'3.Õ{¦d³ã~¥wÊ®i€^·ËB² …z–‡Œx"~ÕÕÈ¿«¤ÿ&ó†ƒJ†yY<݃$}Gl:Âz•ú(Â'†¹šI 2˜ŠëîH/¼ÿ\·™ã÷kcµm6ÁO ,ÏRüà`>µ¯àlDåº?îQÿŸ¦Ÿ™ëû4)ΈáÐï bs³1F×Ìä=TD<Óqu}góù‚y \b°Îîð¤ïµÐ£´.Ú_6§$}ú<v¸œF—ç?…z¹xϵl¾X1ÛÄïwZ5™r‡Aìa¿nfèCö {ÒcÁ"|&]úíÕUòPÅ¿ÒZ4âÔœ™ËØå-?í5º•ê’F‰…wûŒ'Î+&Q—,8åÃ}Ì«m°ïzx‹Ü#9xùÏÓ–F‰o×–(Ušñ³5¦(Åž1 ÁY¤hYv¦ì ï\½~òuýcî©ßtÍaLÄ^²¶KN'ü/?'ù…p—$ÏŠÔÙ}Ü.æ²+>L”º5ü,Y¾Ô¦‰˜g ÝNê«Ky.ôfÛÛ{_w¸ÕCçóÈsƒ¢x¿»Ëš*å9&à!{N¢éFqmุ€%ÍôdIyŽeÿÕ¥?§>·÷ÑØï,§¥>ÑÆ|W ¾eÛîÚ2÷KZ”¨ß¼Íõ‰ùeƒ“5 È\õ}ñKµÖ"õ4+^jÂv v~¬¹ß… 5a®vw‘ïô @ÛnBxåƒ[¬`¨Ð§­ªm†fdƒC6‚°4“ÚðçG¶Ôv”*šV¨¥¬øTÀJJ†È¬²UñTžüå;T%7Íxá P[ ¢LE² Íã®nœ§Å^‚Ý)ÁVÔ¦ç¨þêº7ìŽIŇ]o»n€ph«ßÕé[g„U3ºa‚¤8‘Îñ‘£•êÅ’@ÓW hÃ…ûÇÕZÌ„+lKî2q炦ÀTâb¯Ücéæéùåë¬wÍÐFkâº7Ôn¨»²&KÑÉQ…ëàZ—0XWÁz*”nð!VéòjÐX{¡-Óõh‹4òÛ¤ô]ÁX˃j¨Hã“„{öö®)4ÕAWâý¶>uêú€’ZøX3IÝHbN¥´Ýß¹ÈS:é¿Ó½9L6MÐ9½U‚µŠqɃæW$Þ|ÚkÏŒ‰sc{­ðt-àašë¬³ð‹vÎÛbC#Ñ“g–E‘)WÂò‘ô8!CƒÑ¸†¡šÿ)'¼½Yæ—ñâ,>åç!c ƒ÷?í>÷•Ó_;áÑšÛ3Æ ŠÇ{»ö|;5áÌ-}pp£7ü¦qØž(ð@€øãÁ AÌ»rj]7ŠºYüˆ–4zkZ€ 0cãÖ†[HcŽÇ&E¾ÆùS› ¥Å|/8´å@îB?&`Ÿ±H•‹©øïÓíÍõÊ ÉÉLCBµ!‹Êk.Rèe³­)ÀxKI¢ÀXk:DŒµö¶%¢ê!ôî‘ðß)¬Þ8,”P€-'j°°ÿŽeE›–ó öá±<°¥ÀSþ~Ox®îʃŽsÃV¬U«y.˜÷}$u»é_¼)pnÙ0U¤"zâd=˜æ(˜*°,t­~×øôà. _ñá_8¾Ú= ëZtÖA\TÔ¿Flöí¾\£ ·'ëæ•ëÓ6t•„µfÁ¾çÊ£¶¶=©œ V!xË€À±ì¶`´i†5‰`'H€NXúC˜G|†Ê0[ZŒ ö ="Öf©&Ô/nãÂL€Åutܪ»[µjɆ²C€—¥ÿêßJ Ë Ö6æ¼_,`—ë™9M¬..Âð£¸é÷ü߈Gàc ÏpÑž"màòÝi{媊u»$[¨»õ€ò©ÏÎaALAú Øûœ'€4/êKZÆÉg[T•¹”_j¤\§£ˆ#’ˆdv´{"1U$°ÏE1ÿŽZRÍ.IU¬"ød3¼ æÜÜ(~wk„Ë`4Þ`òId@f˜?t•4i=ûÀ¦°2H˜·ÖöÆ /í›ù;Uµ›ënó2´×YÜdòeZÁác™2ÆwM¾17]5ˆ¼²ü¹±m¤«'ß‚¤’]OzÀÜfW=¨#"Ht­ï7È¢¬*Ôœ!3«/¯ÃKø&ÚØÐã4¨ä‘V {œ[uE, ±·þ`ñÅ'EÐ1;x=§qѧCïÒ…¤ÿjVxù…#êZNL—3XÏ«NÄMtâŸK€˜^d –Ú`È*YžÙþ†^äE¿ÁÅ¡—û³:&ÂF ³Ìuš¨±Zh0:ÿ¨ÛÕwú„TI·n·¹Àò§:•F#¶f²Á"æÆÊãCbÁukt8TÀgÔõó|þ|~¹ '¾#CÇTÔÛr<_,}å¸yL¼[ÜG딿ìŽ5UÞï0Œ»FH‰!‘D‘þ†•a³X,¸ÐÅõƒ¼¤± ¾1fØjæ©¥”ðn® 0t¹O#÷œ­×¸™çVL³t§YfbÒ_ªpáí&ÌJí¦ÏÆß‰h&::eãJ ýÁxm‘ÊpÐvõÎq JoÛŸ h—brD%.•—jHÍn˲¶E{¸k~š€*vª—…««áž \bJq,…|*¼¿À†ìp¿ï·©&Y«Ç¿‚‘¢'›IÊÂ䣜Èo™×ã œ?š‹`°°_!|BïpæR!æÏQjéÐSÆ6¶|tß å‰#DݱIÞ…BW€Û 2š5UU–rÚÃÏûVý±·#9›†£«ù‡ÖyÆC˜Ñ»©î|íføèLèH£]áÎwÕqõÑy(£Tšº\„Í,Ë©|ÿøÇu å\|•ƒäU”[ÕKGÍYv4è¡_± Î2'¬mŸ{­q¼:˜ógÖ/e¶3¡Ø’·¥—¿óxM9j%C™g )ÜjC7Ž3òÈ-u'˜àA‰~£«Òàødäu{VâG$žò0ë ûécØËz¯â·‰Å÷IŸDæ‘£C µ˜¦®G¡qŠ'0ÞãÕŒU%™íäý¥?x‰ý`¬œÅt&ôÜ™‘@¾Þ-£ŠúïDspÃ^.)Qj}õ±ü(N6ˆÝÛdóC‘Àv(£t99ú'RéˆE÷l–Õ:¯èó XåzWþ| ÖÞJ…ì f‘~ °š7š]mñ09—ãß೓ÖbgšiøSËl3å@™/ÜômpeLjY6¯›*Ô9(XçL\Ó¬`IwF <ª Š¢~ƒH‰ÛDÄ¢#»O„fœ9=c»ÈFIŽ(<™y¨û‘Q még–A?óHÉÍÅ[EЬ£˜hTÇ„ åˆ¿­Ö•ÀW?MÜ3ø¶È ‘³ùÿŽÓ¬déÝ]RõEÓ[ÀUw\lÇž½]æ÷Z|ÙýV×êþƒ¯•(-ÅéÜ´á÷`I€šMšº£$—6JÈN­ƒýDè ™ŽC'»”WfáW˜õºfÑE¦HÁð˜˜þ,%øSF9 ö¹LŠ4s¦ý|rÃD¢_¬©No†;5š!“¯‘`Ð%9ñO&©\Úi«ØšŒˆ3›‰·Îê1Jý½¿`x·Ã~âã“GŠƒub¼ïª´Ü18£½t̪/¡L5ïÀÛ™{}ÏãÓñéHtß®¿ªÓ0$T‚S>˜¾—/*c¨Ôê°³¸g¼k_M¬“Ù Xc¼•šª”o`P¥ø2õS58ò|@K{ƒ©G'Ð'ºYË»™åo§˜"©s];—ÑGƒáÊ_oûõ–q­WhfP•̺ô­kÄœeÉ^ßZÖ8R!©Ã—(¾m½ÌiÌ’@Ѧ¶èïphö™ï1—Kk#Ê_ó9|Ÿá×½ÏËòáÂÚ2Y ‘è(qumJGg`š….éÏq·+8ls¼š°V‹Ñ&ë¨x ª‹Èë¥Ë-$Hš*Å·A€>¯/ùÍRÐærz6~žg0ԯΡ¦Õö¡5Š?¨ò=›pd]@Âf<ÓçÒyO±jÜ `‡ ¨¹ÝmÝÊðË=š»µ¿¡#âO¦æK-Ý%AmæNí•!]†Â;@ƒÏ›|ìéI\Ü;ç=Õ¤É<ÆÊæÅ:$Ñ$~¨KM…W9Ó½ ¼\Uèë$Q‰+õ‚ÿûÚã„M"Ô\Eí¶ó}{b­¿­5‘baÚ4‡öLhùo‹c‰VH« 9e)ŸîÅ‘/긶ðr±>9r{µïœ`-(·à`‡O`ð<vïõhšû’!í_@ŒtMÍI«Oþ³dÄ\0Â$G_šYv³ƒ‘€Dùï Äú¸í½´A6—˜r”Ô #<ɯZ˜£èCngC pÅjUZDÜó=O⨷­š¿ Où>ûÍD~£/ ˜ˆGißÌîg;˜UD1ÔìÞ‡’¸Ô ÌGŽ›ìÌ „b˜ó/Ö’rYr m˜oÃG—½S®ŒcÌ!»”&¦UÒ5ÿvÄke\jЧy i5¼^jK:ÞQŒWLä÷ô{ñA䆨uZá›ÛjCs·M.÷e Ùø°²x]?Ì_q0xó¼UþžY™ç˜GŠ ‚ó•YDÔ½cwAÆs-£¹¨ áeƒ;ñö½ §:“{}WÀjŠv§DILøÅ¿l‚äSr*W|ÜìC€‹ï[PŒëàˆ—wV‡k„ÀÎ8\Ĉ‘"ƒÉwý›/³u§‰>*cÕ˜r¸ šÞÆM) „3€T%x‚QãJ(ÑòfÐÁ¥–N÷ à‚!;òa xdžçæ«'¾•›{X{»2õÎò|1Ú“g!Ô–S %-‹Áç:ɤËûb;I·¼ªþÅ)Fü\oòŠy °^] §½ÌMÁI€»­ ½QD,u¢æ…ó@çthìÓ©–ßíÓÙ\Wu»…¿‹€%Ƕ¢µ­¸@üVð à×0†H'³áD^j±©¢Ÿ„,fƒdYY²ùc± è-”U$š>ÐóË”¿À…¢½…Ÿ0£†'%¬u/…C$Ì‚qøaó‹(÷«š¬™¿-WBãƒÕ×åÆBÊ£h¿^Ñ4u‚FáCL_Z\ã)ˆ3úw ùõ*×Õ…tœélD&Ý\÷U_ŠBý‡í”ºáí¬j ˜)j1`ÿlÿ£Åéxì1Ò°`‘L,3¾âûñ†iïC©ZÇvÚ–Òµú°šë3PÓ­ù§ã¿4ÚÄoíµå%|<жž•h;ËðP‰U…8eS0ô— JÒŸ—ÖÙ«Åã†ødl â†ÓÕçÇãv?3Ûqãœ}ÄÿÕ„¼Þ`°ù“%»Î)€Dª]ôsÖzr‡‰Wv§—twÄgKKtg% NZçöfLóAÉx©Û¾3ö©èîѦ¬$—gýêvwÀV+¡  ­Òø¬ô>Ƚ,ךŽÝì·PR/W¤êÿL˜]ñÈcìšAú¢Ÿì¦ç–²<¤GΞØ1:€!Û™)­öÖÇì÷zlE%*ªÃ†HTÇÂLÔô}#P(˜Óû.EÚI­šÎÚN»A%’_] ´‡å¯žö<G¤¯ôH-NN$aK†˜ÆÑÇxJð4Ó:'`ÚyÅ‚è¯Äv’jC¬~˜°5n~5@½}`r>Â95£ò“ñL ÓJ“º4,s}˜}ŒW`.™+J0©L—_„DÈ¿¢È«ÆM$ø5—PÖó‰ÓGŠy_eEM- 2Bá©=_–bA¬ZÍð¤S;°–Jrõ7nQZù-5F½D&ª0TIoo=ìG'Ë›­–9gY¥síq=(>ˆ‡3BfDs¼ž…ÕšP7`eKs~P•ä)_aXÆ™qnbÎú oò’0š>†pÈÒ[1pxEÏ­ß h-Á2iÏc¶jLT ÉUæÅD„á—ò³l» x¨^°šƒç瘲‘ñ†ŽG^ª±ÿÙ„²…L‚ì4ûýâ¢ï2'zF.hOXún˜Ì‹Õï7ÿ8àµùƒÐƃªZHTÝksôú‘‡[ÞÒDZö§ÕZ‘RЦÅrîwm㌄÷‚Àæ\‡í"áÈJ×ÍçpÚ›lµŠ?õÊ‘ÀYX–Äh4ŽÕ‹àðåK+¸µÓkcÄót°Ìï8•ÉëÓ>ç=…¼Ù×Þ öÏIXa­`ìqf LÑ|%à’þ‘=i8µäÞ€ƒ¿P,_HB‘X42<Ê¿$—IÛtSÚB{jzÆL([ŽÃÓ ¬Zy²ePGä֊֠ć¸%|Ï.©  ­²q–©<ákâ¸\~5ºÍ‘¯Å çCGgwÙ7ŸD—=˜µ Ð+l¾Ø7Ú`]^6Žü—vñ·†Àȉ¡:X–#¯¡1“)!f¦©©…ÚóÙ@vè‚1¯`ªážw­&Áøg†¡<øÐjM\Õ…á‚?´ 8_šâ©­ðêÇ|èh`}<•ó€@GJy™R£HtyZ†m°¤6˜n?“ÚM(6õÊÛÑ$'`gmÕ¥dèåEòŒ7¾8ùˆ¦äëÌ ÌÄâiÞs)Sàm…¢ç©o‹vˆÁéìÃãfÌë‚â;W)ÏÈ=Úï…¹(JK&§(®A¥Ï"Bœ”þ È âË‘W œ—VÇ«yO€Ïµ¦‡ÉÐh/i[>çèã(XTð\æ—ÚB%^$§!h‰@y‰_Êb{M BúùÚ$•`#jµ+TÈÔ¾êõR?÷Ï[zRÊ^J.ý…N¶œ9{D/ñƒhËçLß¹–'šš¬“£¤à¦6ƒ© V3®ÁaÕUÕõ³£H-š!ÀÀF!ÛI…Å0ÖÒ¤Ò!lFª¾‚þûRl‹‘ëÜ!9A–ÌÍxØÐ—"••büFCãO *A<ôß:QNëO·Ÿµ§»Ûætå±± 70 #n»Ôž»ÔF4ÓUmäÿî/NWiL¥—Œ¥ùþh§Ð/òÒáóC f7ø&.œºWÔψ!‰IwäÙ  Ý$Ÿ™¼Ûdéäu|À=j§‹P©ÛÏ[Œ, ßC½-uÑC^º÷/ŒÛ4îþ;ÿ›£Së/ÿ©åªŸŸ^çu}¦'è-;ó½l(N’³c¶Û¸ÆØþŲg3í–³ôu6Ðx¦"Í6‡Z²’(µ÷$VÄ·9T (Y, Ö $s½’ذ¦áüú'ÁKü>Š¥@l…8+tU}E É(—Ûù½ûú ˆÎ"€ÄF:‡¶·š)ëüªó« «hYÌ|²Ëà!C0 5pÈLô§Uð£ôÙ[Š ïSt¸ìý¥¢æÐ—²Õ<ÿS#uæ›öš¤-eeb—­!~›¨yŽ#‡oÒUõÝ»ßkºÏ4…#Ç||ŽdγÒóýÙ`"‰fÔ «Tã÷ƒ©ÅÄZŒÿô–}!ÍÛu.¾ˆÁድö¤¿[LQzV¤Fºa©”PPº‰>—î÷@‡e¾ÙñÁ[[rÊ@qÀI.Ð2Ìå<~°_õjÖýþ{áÙvã¥c²jl§ì‡–ç§Ïoˆke'*Õbóøc¤¤ô*Ã'ó¹Ì”ùs²Y@9X¥+E"@?¼K(· ¯¥;0ÀQÓøY§§P‡šØ^å'ãEVØ?€xB»"Úó8.–!ƒÊ«CM¼q¥Ê Ò±oÄlôáøc”¥LEvu¼ûc‘Èñ 8ñ¶'Ÿ@lÍÍTW¶gS§ÊŠç›/µ”eŸôsÍó¤sïLóéж{°ª©ñ ™ÎšrŠÑå; Ø –Ñdž¿ ¶s2}»nÎ:G)Ë tG»…ÏÙiË-djÁ\HluË6 K»‡^øš¬ zŠáW\#½Ñ¶x¯—Ü7 g)þÏŠÕH ¢©°'-ÊG”ržÞjëé•­š˜ìIC©¹Žæ Fƒ1x†©÷ZÎÜå[Ffî|ÿ'ù Ë6ÒZ)KŽœªûA€ðU_Ú_uKG!1[Sbϰ/o6XîžãTö[ H+Òš¾[ ø5‹é‚Q:Oj÷¹Ä3£[–WßžmDï”L¢["þ9í_voDøì? –›™%j§P¨Úšwãš/vø´É?ë±3ÝCCx›¤^\sDœ#Òmʪ¾üXaG@w¯¯ojx¿*Ôe&®k«Çœ·Ô`ï’æ^GR^C?ô7>àµQ6[ÑçBÀ_s~´3šöýb_jú'ƒ¤§£Ÿý;ḙb­l‰K”|[Ó  ?¤¤ã)Zª'ãó…6¶l„·NÅ”&±ŸƒgÚ¹" CPöƒýÛk÷óÚüMÇ–«}h°uÝÕ>ö½Â„PÈð€Ð.È–¦¯:n Á7;wÿÔïŽä1òXÌ⼄Z¯é¶ò!ñ¨²ÿÑPÑ|¯V7*›•] Qo±Ýì–å()íïg›Š¡«¤Ûá¡þw.«˜Þ‡úq‚ZQW£`½P ƒgô wTô$¸'ÃÍ…}W.ùªrtÑôå;× Ò„~¾µ²^Î/¾Ñ·'úRŸ¤Ñ^ùÏOùy«=²€-z.büd“ùd„îÎýò”bÈZ ã…yž,+ìžÃwé-”ÁÈÛ_rÃâÓ¨NkY=¬&d”š>7/VÌ(&1œ¤™`x„‚2±ehs^~ VúC^m—FÊ(ZJ‰º†ªäFØÑÎÓèzßÐ?‹9(¬ßše‹÷NÍéífƒÈ“Ý•“éiócŸ÷:^ZÑíhÓ‡›û)j«_/ù¢IŠ~"W¢˜Å( ó˜…Ji8ÞgÉj覿'œ7»~QXXa±²yùWÔQ¿Ò'@a};MAªÀ¬»8Ì>Oµ'‘ËDùºsLj_ ‰Ðs…XvË€Ôø0ŽÌ´¯Á=÷v¤ØM5x+oHÐ4[ÏHÍg²v‹˜.Ê¡b}ÌêfŸÑMv™¾[ÚÓƒ·žŒd^•.¸îµ4Lˆ¯yÑ-ŸCÐ×Àî‰Ë_üßD½ÒëŸ[í}Zí!°ÿw!Êvm&. ˜ÐîHío>MN²cáUȼ5eÈ*oïûñTmt7k ³J3¯‡oñçÕ£'Ù:zÑDl¼|'%4Ft±,Da¯ÁͧïgŠ|d„6•š7£\­vµ‹Íƒ5ÿØæz»‘5-«û öI%…ÿ/h"žÃa6‹ŠezQ0Ûñ® 1ïùvY&÷lîš;n\?ýìM2<$Gƈªv´0ü[ÓL|4Ñš—G¥ûoÇÁìJ5E5ÑÓæ ¡ §bú4ìh¤¶9ÝÅzçH7@ßnQÜp#ü–¿dä²­µt"+½‰L”s%†XoFc& <–¡³LdGï.ƒ;ÄÓ.°Zâ5]fŽØsJL è–Ϊ«,ט«õoaIbƒzƯºà^)?‹šìR»?o2Ìoÿõ¤§ÂÝ "’ßp^h“<¥º•q½“cî 0–"èÿbWÜÆch~Ù®â{)ïÓáZ/¦™¥`!øèsQC3a8Òs;êhøúR k;¥,úaÇØ0‰^ØXèÙ ÑÉ…‘=ü 7¼CX†›g¨‡ý,s®BÍÜÿsèQ^9I¼´tv‡g†dŽòé~®©ïà5¬{£EåòL,%íV1ã< 2Ì5EœûàÈ»ù¸l"2X¿Oó*¹ÑÂ1d?Ñ`[Ð_C¦ô[G:ÎAU‘øª+ñ}5â%EM·LQEC)¼îTw.z~lÁ©¡èA~sÔâŠÅ ð ò¹³LC ?À¢†‰U¢Š¤j¡ÌêJù9ÍÍ:‘‹‰»ìÎ]e{)I ¶*E˜Ff,j;åöÛQÜO÷LÇ.D’–µoIé¡ Ñ5áduϽÎv °8±tGJ¹/žŠ“¼ôƒÈ¬Pp( [w/KK7Ãk4B8DkxnÆ•üòZ1ȶ𜺂åÿÔ¬ñ¡ƒò(:ììmD¯—-]ÙÐìÑñLXá.»‚›É£%Ï{NÅÙf­C íˆeÚÇÑ(à%º´v,G¢û^•Ûé14XVwà|µ$ò"³²¡I¤®Ågš¡Ån?Áa¤›JÀtØXFOùM r¢$éŸ.Ü•7ÓxÄ l¨?Ïæg´‚q«ææRÓk³A>4•ý-ÎjhqŽ"1n”}}îrz‹Ô‹Âå릸XZóY`v¿Åš|ðrz6Umæ%¦ieS9úyÅA®óÅââ’é± ì0gà|~Õÿ g„ùkþfk¼ÒÂ…°œò#Xôó>9⛋pÉŸ #@r#üÅz5¥nz¶'h?Fb;á{Uê«ÃŸ¤Z÷ åE’X*ÐW×zÓ¯?]v!ŽZ͡GÑEç—Pv±i\m,ê¯tû˜ w­×‘>©F$ãèåöºÌÄŽüo¦Œíý«ZÇü)H‹[ì:¸§Tt´¢Z€N\q0¸drmvÙÝÒ…*Vƒh›/5Àã™ä Ìúé5‡÷] Õ“†G¶[M0Œe¤ÿ¢·~™5 oó7Ùß*õÑ¡ËôÑ$‡hH‡{ìoË=\V¢´A&RR¬•Õ0('έYÚØìòZzf¾^ÛíV $iÔà9x¸»ð“ÌlNS¯½ÙZJ(pêt {­ÀwÍ÷±‡/T>ù2M,mIÒ6~#ëÃ22º9ÎÊ[‚íñaîÅž(ƒµ«¤)«hÿB™©JÎÑÜxŽ‚qëØn£©È©40†â·™›X•4ìÌ ò‡H”Y·šš­Ø\ÖÁ¶¯²BUooÄ£´÷h‘X>ÿ@Íjƒ:Pc,µÎ¦zí›ÔÖHþž Jl#„z£Æ™®¹¥É^ÞÖ0;Ÿ›òš"ö¯*¥#C²fnüV†ðü7Ô-²ý¬dÎ%Ð4&^±/H¹ÚNH†T4aê0q´Ú$0ET=òÆ~P?ð §aÿÆbRW€0!y5$êúŒ•Á3YÒgôWO‰ÅóT­†Ê#»½‡ñ„7(]êlº‹ôq0˜ ­†rµ}dùKâÇÝêàiù@ØVZ¸÷µøÆÐ_î¯TTˆ"¦JíŸà5³…s›LÍ V#ÊkàlôÅ×ÿµAŒHdŽçýëRGm2%d¯ž» Öí/’kL?ù­‰¼–Šü/n׸ñ˲lZõoŽöpÈPö×9mt ·&:c¨ö‡ª—ðžucÓ}E4ðUyìm¥ÈÝWøÏœ£€G4~|B¥>0'£¹i¶ãÀ7å–q–ÓËÖ•|ìòòœšKLMnA¾˜,ó&kܘDUÑVX»áMÀub®v²ÿ?’.ìŸÅ¬aÙÛÚ=klîÝYç¾ì:üœ¹Ñ4ƒ†ÔÆë›'(öUëÇS÷&ËÈg—ÉmA…Ƶ¶›ƒ/êøt¸Öƒ½¨k»ô]œN’ØÏcqÆ3¼¶ {HàB›aI—qsFÏãŠü‡ë]õî÷>Цq‰ú|Æì3nT‰_ZV·ÀÛ0âg:‹Çv›5§T¿¬`›àæ—; ª4ð­ç áÏë¢1~™WF²`$ sõܓܸÎGVÍ(éC«õÜ*ÓÖmÁ©¬gáWaW¯“·‹¹—py/¾s:>Dé(,LÔÆ9#ú¼h52)†þäÖP;rQ¶±é/Ç:ƒ‘ãÚ ,]Œ9Åôu3OꤓmêüK@©Ní°—È–P>Y*ô)âà|iÍÈxËÀÔtL$y]60„¥øIxÉ Âƒ@ö¦ì0K`;ÈNÎ%r‚R#³RSêBý(æp‚þýítáÊ›iÕ”^F?!±PeoÔª*ép…‘ÏÏ<¬ñ ®#Qߟþ稖IªÖMw‚_€vïŒU5Ö€©’„%­q‰j½Ù+¾±¡ý{…‰|a†áÆÕ·œy´oêçËxÇg^SæE-EE$§»ýU@”ªRVäÿMoÃ’\F{gèCLeÒõ-ói]¸ÛÌúiŒuý;ލ•5_p|BXÇLº@¤ªÁEö‘™pZX^í‰ L¼c•ÍÕ¹„ê*‡ªÌÙ­riÑ”æúcw¢!·XQŒ7òéS8^² e5s;IGð.z.î|ŽÌA¯àáÍܵù€|Ä׺x:ž¦4¯Ü†ñ˜Ç_#–ã;èíªÜeª +QMBºÁëæê–J`ÿÁcúP!5åÑòÈ@Q²îîÛm–¿.W~83)oÛŸ§Ô~û|=jáÎoÜÄ劥†Þºÿ¾«Ó ™hÃxγ.ï)Ã^*ûF=jã#~Ã:)pNLý´cÆ`ökü±rŽcÃõf¦¾6!óD"ýï]ÂÁ~ÄS“ìô±@aÐ’ׯc#Oba;zü™ps:ªß¼µœfí* ¾¸’ÂѱÌÎLÚyÿYRà•W°vñͬÙÏΖüma y¡í×wèÃw`‡¹¦.mͺLª©®«ì‘Î5áHiÿœhÀo2±#5ñ‘ÌǪØIþ¶*{là>&áûõ¯Ðr¡ýÒÚtos(½¾)$8µª‘“þ6×nIFäÜß:g ½G“ñ«ÝGÖ~}²' ø×Yn„C·¿öÅwR¿ÍÁh®-Eh”,óÈœ‡hÞõ¶Ca7ÊD?68làñçÁy#Ÿyúª˜g5®¡†÷XÃ$8§G*7{n¬VÕÚxúo1¥§ï:4ëöKHÔ»“A }ÝyãRýôFÓ΃Ìedo Û·s?è8!ØšcfÞ;~?]3@ye¾†9¡’c–ü3xZeõ¶‡äW®$ˆÝŠìÍr³²z îÒbÿL0ØÜ0@ºÀ’£·a£õºôˢض NY ™§¼¯‹¹ª½Ô`Â¾Ûæ6|(nèŒ0pdÞtj=Ex8ëßuA«À ›t‡L_«K§twÂ|ßè©í„†sõx½ ~Óº™ÁUjT¸í“†ÈžrA.õ°ÿ rgïô÷žéh‹W€Ð‡ƒŽ&ŽzN/ÈO>ÕšdÆ0Ÿ*÷ah 駈éSš]šrHáÙEÎkºx•}t]ãçni ‹]5­Ã±~uk öA³å~þdl4H%:¦9¬jžmJ­'𾌊Ínß³ôô*W m/­ˆF§Û·î¼¡aËðaŒäõ]ŠÜr³+¤h¼zXÖ§'øT?2¨Õú9Æ¿ÅotÿóGŠŽ¾ò‘¬L°èο1àU½ ÙˆÍ„d)É *Å–ô=S×b’öï}ôëÜúàsó_šô”ä‰J;QX¯~w¶r3ñÔ(Ò·c!V­ð ùÐ.èÛù%í TCÐç­UCÝiȰVÉý5Ç2»Óü£›ûy¾6¨YÕ%ùÄ–vËBN/~Í´\¿IC$ Ý~†S$%»ø‰Ù0j-B¼)sš·Yy©%öÍé¿oawÃB4èx¼†˜Tüc‹,ËD§e± m9P…]Všo2ÅŠçÂÑÈ89¿jFô³-ý—ÆD¿A‰Ÿ»õQøÕ0Í_Iî0/+2­ê™Æ‘Ø9f„³A%…+‰ïÚÍ aÿ¬KµËº¢ ‚ãHwª¥›G(ƒZW·ó]“Ù~äQ'àJí ž»‡ÐZ-çCùd¹®—÷…›á/Ø&çJCÛ@ÇçœGŽGÓlwËM¯Ð×L¾ömw2ö •¸¸àA–N2ÝqFŽf©mzÞäÈ÷,̉6:ED\ÇÅÎûTêç<ñâˆ$ܽ„csõRY`¨ãíÇ;wž "Ugˆ»í@I§ìlÜ\Þ(žA§yû=hhÊ2c¾ÕbUWëæfÏ­{å6æ&Š tƇpÚ aÄVÆÚgêo|x-¤¼ó»¦Þf(<¸Ý®û¦°eŒë–“kJM,ÞÙ¤R2g— ÉW@ÎÜ8æVó¿7„çÅL=-5q]ãºV›³ÌÌNõP5ùæ¯u(>Ï[@ê>1P‹¤}Ù*ÖÎA‰ŒbUc­”J@£à†kžn2ÀR§âºq/C‚šýQ‘ÓšðWI$ƉúuEbâHÍ„Aw ‘Y€~à"6^’ôô1ÜØPâ6÷1ˆ¸²Ç’³Fn“VŠÍ¿ M?ú‡ÒÙê3z2Ä]ùÏ,BŠd´ôÚ‚Ý¥¨r‚¡|sç}®ëŠÁMá…½¡­‰Õ †„mí-ô·p™/Ñ)(ÏkÔ¼içk@ZD˦RìÊÉÇÈuUÚI͑ø—¨ó“®Ë?Y…n\Ch påùïÛÚâ]•Kð¾tX,§¬hÛÕR÷õÔî5O ÄÁ•P•ª (Óµí|I½‹%/ ÿ¢1Ý3=z’×ëÄBÆç¸Fq2— >‚±~”ð~ö%¾L~•Íõ"Ç¢kªZ0Œ‚K×Pp´ŸF'gNwqþ“¹G“A6kñ‘QÏòŸ2˜~÷ö„ È!Y)J©6 bò²£j‘Ø•~•:ìñ¹ôƒïo7š)‘‰ÿÿ Ãº”`¹7èwó5í**Ic7ß\ªf~¶°oc=(à‹¨ó<`Ä#¡ÚÐðÓFOŒÅÂÒS6pÞÔ´0ž&ÄäÞ‡³ù§i26•'p¯Êz¹n+ùpØE½l8çâ'P>yƒ°¢¿aw_­‘À–»–lJÀ'€ÒHŸcàáÆ…þ7séS ­*ÈyZ"”w±ÕGma9‚™$&ñ§ÂÂùºñ[#SrƒnËs*ú2ûHúŽí轈H§.vÜ­øEß•Áe°>w,TùßxøÐjw¾o©_uËüM¥¨Ø¬,Ô‰üXXm¸JS½™C-ôT_x»ÿ¡ÔÝeý¶¬mññ”R.'k4vr›Í’D|Ð6A>i§ˆH€z>ì7¤4ìãFw /qX|Ù¤/Y'!¼±-ûêÇ4ÑöóÞý~¹> üÄ2&t5üí§¡ûyxÕ.]p-ùrÞ–ˆ; ñ°û;_lÚ *VwˆVà³Õü}͇¤¢d ×i¥…»äN­Ágêd¯xÕ»9„:eX;Žô¶³åªµ½“ÿeðþݾ,»•ü&",kð®¸pÜ4ÆWmtƒÀZâÍS޳e¿Â »ãJf“eK]'<Áºå¦ì«Uzλ.Í ®(Ž  ÑÎ"?fÔV%ÉÎ6¨íèVcæü} ¢~žœå›Èe*‘PèJaY¨Pp¿áÓ0Åkóü¾Üò•aD츤_](® ·}+,Á…U@+=oãTùeé8½rgª³½ãoS4´esÐÁ—5h Ë¡0¿–>"Ïí·–pä¾_Óƒ?¹øú+•r/j¡F§!昱Qn:—¾ö# ’ò«gþ›¨©H ´T2wY^ g¯“ÕE–áj$eë’¾wò5#¨}=o¿Ÿ‘}`äŸ{’”Š7ùLñ àpÍ8œØhúeº„ÌÇI’Älœ»Ôtòù^gDþ=vÕ¼gZbÍbM–h_£Üï.dùÅàp#êçÛöø\¸b¹C. L§Š±ÏèBh«½.<ö­E¼IÛH$EöûzÒ³ì¨wK='Œ(|ìZRçEЯæY2|`I@Cß«¬,}Œ‡ÇMºz)×ý•¿_T Ëc9<ê4ÀxýþØCëþ龧‡†&7Å»zX"^•FEœfï÷Àûb­e¬ƒêQhxd ÙS@›Z†õâ÷â»»š,Éh#Gâ@%…»’QçÝôÌca¥Ö¸Ýç|ìöuQ"+† €`µ Ô‚V¾ÎÔæÐÃ…bòƒHŽ”Y£… °™¿  ·'÷~7ÌA^açÇÐd#\Ó›­h©â΃±«T2²gŸúÝTˆÿÈE¡í?¥³ýP÷aÔcI⻡%Øk÷«/¹ê[§‰x‡wY½-Íê⟭ŽÓìê•jh¹‰|¤n—HK–A †È ™F«…¥1 ~2¯‹'¨ ÍÀ'¨hÃM¤8­=?ø*%¡áÖ|3ÓqyÁØŸ^ŽZ–o”–âd @Ÿ<{GÌGż¼Ò2,eš]1ñ»þYbGYöÜòÁýÏó9_´M?ÁQD«WÇÓð»QkD f}A˜ãÆ¢!–¤q›åL+M^àC”wæUu0@ÛVEk¶¿qÌ>Ãí1º¼ìÔƒ«Eq¨²V/­ùY ·ÞÿË/ù1Õ6 $¬DkMîŠö­^GÆÖåfô;²´W›i~åÔïJ£éaIÉGº™ý?GÃXà¶ÌÅÆáº~–n¡‡Ów¡Í‡kšbTY¹4æ–²š'!VCŒÓ‹’1©%ì€d²¨`³¡ÕL(HlEø[ß^vˆðÐÊk¼ÞôUî~×zäñ<ÇyÝ` ê᫪?þ ½f•D`«gôЯùcÕÚ†7¬hoQ¾Œªûâ[¿öŽ™¡¨¨RÀ‚(2U#oÇü8À5äÕÜŠŽ>Èï‹"Æ.Κ Ù7ož:ÓÓX¬¾û<ÚZ»V¦÷@ÇÊ7­ÕRË÷s¹1§ÕS¡ÏXŸ@¡ ¨†P¡:KªuÙÙN wêˆ×4ïQÑ@†´9ý‹y[¶vÁs¢©aŽ Ï¿ÏBïnïXB»Ê±–tù$0Zñ1za'T!aÛ"éP äNQL °xy½×BÂíä 41<Ò# ³‘Uê¹¥÷ÊON‡µ­cªzL;ÁœÛ-ö¾¦‘‡`;dÆŸ¨9ŽjR`ô¾¶ï öE§g“=lZÎj&´-ófrɧm’°Š&‘ýÍ^(ìj±øæaHÆ£«í©„oÙÛ!×VHHä(v~³‘ÄyÂiØràš­fø-¸ÃQºbD~G&4ìö.×ËÞ¸ 2cÖy•B%_Iâ±S&‹ÁýGR€É Ê„BM¸>L$¬)D 49Ä 9¹ŸÒQgt½1'xÝ"T3Õ6®½ÏÔç}E{KqeÅ]?}èªK€º‘)( ¼·ïOf,e«…“ËbL­‡Å!Þùâ!lÿ‡¡JÊ•.è›TÙ…qÜÛ%>ÑÄB4°ÎZ°ÁÌ>_%*ñÖãÖž©cÁ;LÎPu×Ñdðwî8?ÈzêO…²+'ÊØäñ<î"¥u2ú–·Ò_>.${Ї‚UÝEÎãd¬¯«„.÷ÉEÚk¶Ë„¸=K"Ð:sBô·;qnå¼4¢X>qlÉßÍ+ È°`ëüùñ?E”PrŒÔÇZ"ÝW5¼˜y½WºÓrë»ûÜø±„§½›ð–¥îî¶g>7÷¨ªÍf˜ÌVð÷}!8e­?7»c9ç°þ õš~³›5ó£á«‹Az x5¤W±³[ŽÚ-Ô.ÀœãC0¦óa™Ë”!N(+t7  oM pü¨0g9½Ç|Ì×ÕûF½ ]2°íR‹— z6öAIõ«ÎüÝÓþxãìÈT€´úÄ'瑆ç],@½Zà,² 09šuÏI‰Óãï´N<ÉQ»4Á1HÕú<ŸeÕ`KÏL’Ö»Û¡ÉÅcpÐXÂHß(JCñZÇ}ñ,Zjv6ȸ½ÍýCFqG›­¨‰Àß$¦0–x.Fo^0ABÔöð8oj¹cIš^Å\Ãq»ˆ@ºãà‘æ>‰æð¡TøâKñå<ÔÝÇ+Ràó&WÍU» ‚#µÒ÷’ä¼¼¸ËÙo›‡²Žk%ð1øh=tNøüV3ߥ€º€ú_hïgš<3Œ 3×’k×+<|‡Ü"МKÁ^$Ãú„ø¤Šö=#9µ,e"`ùšhCòe|I逥隆öŒå)¢æêpfñ/ð`®gVÓ£Re<›<+{ Žr“Ñùmq©ØÿW6?žü€Ý½â9a‡uSVïožêO±ÈÎÎ>HI[[³&´ô”"¾èFcG$Z>îÌÇ(Ñ6T÷œó–SFÉš˜ÕCPÅ3ea%µkª-iü”Yõf×5v·w(•ÿg 5ÙÄÕaE‹ÚÖ4‡øOмêÑzU ŠÌ›¤ð²Æ#Ú‹. ªK9‡»&ÖÿÔñ#¤*V:í¶8¨jå¢%È'¿2¿f*ž‡ Ú”˜]ç«c l˜ @àV$'QΪ…’0ô·ñ^¯tèøt¢ÌŒ„ª¿½ü> ˆnêøŸr×à™àwz¬|¹ ô¹l $ÄÝö ËÚQo\èû‰ Ž«¸ôä®Ûèæù…ürø[§A{ãÌL|áy£G?𠔜ª“Éžð Vv,œpDÌÿmôƒ§E˜QúG“q`(®‹ÛðÕ*鮇fŽI…p·ôÂPÅK ì]Äáp¥"@@ƒ™mšå@ÜŒ´ýõ‘ àR9ù…Õ`ÅiaŠc)ÏŲÝÿñ3MÑD ,÷ªÂñÇ]ŽMÉ|$¡Âz3'ra3p9_zr¢þótß©AY³4'VùÁ+z/ˆž(C‘ÝÛ¤0‹ké(L~¾-áJJ°Ú†EÊ´=¼ÞõÈ>>¶¼rKY£+ûB øU+í¬Þÿß¹,]ƒ[ cBê€öÒœ~-^’axøéT w§Â'9éÈvóyÞâBÝÀq1Üo…y.„Fƒ½Iãö%ïâw¤"¶•óÊ@uPó}™7:O…ÄÕi½7ÅÞk%ÂÚtt/CÃÓ}ÇÈÝE±’E¾áp1rfô]J:íƒ;~\æ¼ÖiÚ÷ ú^–9£õøÒÔœœvÈ©¤+SûQWqºÉe0™=¾íú⯠´gAŒ£îÂɬ zE\ÈJ‚²Îi ép‡-{Wúb3XZIŸ™“º>üËW(Ê~‘Söàüç3ñ3[³Åtg& -d†‰!2\ˆ&Eá‡uæÜ LöÔêŠ1%ÚAÔÔà:½¾zÏK"`ìÕ‰>ÏÆ8Ï’å××öº¯-ù’­ÊõÃæÛ.œ…ýѸWݳáñ{[=”uƒ"¾Â› )9”mØßço¯= Í]Ÿ‘ü;Ñ5¥Úµ%MÓèš#/ñ¶úâA¦Œªèñ¨ØçÈMÊ“2ýÕ!wê„Ïî-Õøå–}t×Dµ´úÓ„DéE¥µ%z Ö8¼r–£¯lÉgɾaÓÛ›p¨VÝ]µ “yõu­y­‹«s©"B^¬JwÕ)³Kgj’KÈý›ÿˆ iXoËNßû3“}­bŽÇàokE(îãÜßÕx“¡'”¼; ÜÑžb°Ä½)qÎ:-ïáp=/lê»iÞÑY`_¼ç«-‰­ÚP¹{ô,J\ß ?æÑ¬™¡ìÁ;¹o<(iËæVжèKqòG•öX°ºZû¸%8¼Ëe¼p·OF⢤žÖÁæë©»¥29\W¾^,#s)~¤`;›~Õȯ{ƒª©µU„it(Î S:j8‚ 6óÉ[Ÿ ü^•ÍdOÂJ˜‚€ã` ¨¾ÂEV‡L/y'„wO~¬|ù9{O˜¿Ï)­eð‰rå.IíëÒÜŸM£¿Áx·¨Öóq¥ s79M¡÷µðèF1B}7ÜByM³ð€¦"7ۯؑÏKÄL l ?ÙOçSÔ*þjD,ÂGAØ£ºO9ªAúкO16ê[Ã$ÉDÈÐÏ˳³l޶ng„ÁtvùǹÉ4¯œ.*гZê8WÞdàT]Él³Iö:B§°Æ¡¡í<“\ü˜V¸“Š ¾¿1û œÿz51[Ís=ÔCÐ’…­‚|¤ÛsÐáï_ø$Yª“PÕ§H§› F¦ucþ¾‚Î ™¯­âü§.mL÷´JzM¡Û™Óú`Ç¥%â'5ä"CêÞ™ë<ÏÚ•Êé ‡…â¯ÁÉÚÍØl”²¿O½ïÛ3ðÌ—(\”nNÞÂ.G = —-ÎÖÖ£ÏVB½ÝeàJØ~'°ÕÈè"´×ï,âßb^z‰âhSPÔÛÔ@ =·wEßþË—*©g Ã{d¹Íë‚ÍÞêÛ’6{+g"\`:øzùv‰©ªÜu×2´è¸£ ÿÿÁœÆ*õ­¦z†bŠNÜ®ü3´NÅÁ2߯ïéÌ¥½xFrÖ]Ìi‚ %—z4ÑLêâ~òø\Â{É.™D€i|Äï²\© ¦Š‰xZ(YŠsóhwY±Ò´A´…‹0¼ØÀ‘Ê^WݱÎq‹PsD7o¾''ƒÃrÄöc I+å øæ°Þx¬+¬=mU⣮’è#žp‰ß<™Ï¿«¡¥'Vp~¬¶Ìy™:½Ô‚&%þka9ì:&ïÖ_0¡§ì†w06ŠÞV$ý­¤¹/ €PqæÝ‘¼ ƒŠ ÜRùE‹çÈ0Ý ÿRê w©­â” ­¯µe_ùdc ­ÙrH¾ 0¾"íÐ h©v‹û+s.DŽ-™ˆ­ÂØÎþ†I‰+¨¡ELäÍŠˆ2¥ôã$šÒí¢¯Ü6@TÁæ©|úïNY$²~â…zá~å€ìoð/Ï]¿_3Æï·¸1û9hlÌÿÅ 4áϳisýNì9°ÕºÔàhÝ$@DÛ—Oªaw õvS]xK( ¸À'Ÿ´¶EÜ*S~U„§Â” ü§á™GÀ}$ ëðm5ØhµÎÙ jb]áD㫆Õú ýríy‚¾Q×únTŠ•3‡±Ëc–ûf({3Æ'"±yÉøs…#ýË"v®*ë«m|ײ³êu‚uÚêåqD8ójÓÃôÎ ÉŒ¯•gìJ¦Cÿƒ:Gɯ"‡¹ÇˆíoöH]){òÏ‘!x´¶?z4×{aèK¿Y2¯%´zmIþb@¹‡;Ÿõ#v¤?‚E0÷¬ÝÀï,miHÀ=ø¥–犕à)NL^•àáâ)ËÊS8/çBíNÏÊ÷å¼LŒ„«|G[Aû(ébÙõïºãunÕ7hk:d½M˜ÎDŽqkäï"Åùn{øW™•à¿mó0()cà…UûØ€œ'™æ‚)£æ×YÿZhøYqíè†ôc}^ÀE¯1/¨gÛ÷•Géôh¤gÎZ¸+©¶èЊñg©ñÈs Hk4¾—Bð~•©¡ÖV…ܰÛgITÝp[z(ýZîÇ;ÕŠé@¤tvÓ˘Þ’¿9ZxKŸ ŽÑÂØþß;ÑйZŒ3zÆÆ=/p½TBŽ ¡·¿”n¸æL>ºéú Ô„‰¯~S@º:UšÊ2sÿíÚÜ1èÓ{þ~‰§°æ¸åÔ5âvóo\:Î ®â„¤jµ.—Ü|ªu?Õƒccòw}qtýEÒòÄþàYúªÆÿ:Ⱥ{¢ûeRÀ*F¯xšZ.û°u´ÀÝç¼Yö¡®™³Ïf «–j~Yô_pR^ ÄàŠšQB‘eË9ÂÜ¢c{ÃÊ]w¸ýH[ñ»ãÏBÝ×0]øõ=ˆÊ­»ž·þ¥P4ÔcÏx*[%—ãP{¡˜¦±#Õöä÷OMW"ÐeÆóÝT4Ò‡,/ûŒ§á‰$ƒˆí¢Té¸Í»ÂàAzºb6‚xŒØžï¤ÇŽ?¼mE¥(]nfÆf¹h“•(¯~~ñƒ¡åÝÈ{§dF—£§šÂ^ð6»eNI/'(÷oõ´JfUÑzæO¤§Û㢵#̦¥Ýß86jZ¸Ó,ë´&¼¼Ü{¦Âlê8ˆè;9aÔõr’¤W’ƒóxÑäÔßÚöo× ³:, ’«cÁP+Aèl"KW}ØE$4ÁÈãð°-H¤"#úð~âÔ‚/C•ï4%YÚ·j9¨Pè|¡‰¯¾fô“çï×$_Y Nw1U"W!Ì\DÍUlF¹`|Žý\ÂmWçÁ™/µ¼R_GqÜJO$QǪõ2̾ãò¼Î]Øåò˜ìîçIì8óÏ–§Yò‡»ïšê÷c¡pª2Øø´;ì%'¥[•—aÎêÇQJ¶‘jÜÆQF‹ð«³¨0r¬Á¿˜TÉÜÎ÷@¸½ åÖßìÉyç²¢Óî†ã_#ת>–÷Øÿ`*Ë ÉÖ¹¤¤Ê 5äG{ðMÞ-ƒS"SrR°.ŸÇ u ñ 8]bÖãj€þWŽPöb±¾eQkgo7¾špdª†Z˜±½¡yj’£ó£3* I¼KŽSr­‚äí›ô¯G›c ›y_ z®2%Û„ÝX{Ú}òd±é/Ç횇Ç,KÂ’—`~Êä;>ÕQjçð*˜>T ›ôk$‘û«!–¨n«eu–È|¼*­ÌüllõŸ!I%`®„c ŠºæÞJ@)C¹Ýƒ(ÃHdvkQöЗAg¬@ÄKÖÄýQpk0;s¨ˆ¥S-µ”R”©˜¶½Ò Ox¡žúïG#ë1êjvyOu Z¨¨Ã²?ÑFqaü•bW¦½bqœÿO²ù¸püqóÛa÷1`­Ÿ©D11aŠt¤F7ÀÖªµb€np•xtà{žxâ´Cý®Íº¡OX‰+Î^elMç,/Ô*™ê—9RºÌƒ]É,²˜>®Ä:Lúˆ…ˆ>be–=ÅWŸoŸ‹¡ˆ íF+FÉ!tÆ/;)·ˆ*ÌÛŽ]^ìÏ_sŽkcgþ%Y(l«¸{Êìm2Î[Š3Âqáy“±QóRäjîóöÚÏ=ÀT4 Üÿ¢uÉ x ×…ɃyÙÊÖNRYzñ!¡+¹9i´"þ »Gž× : ²œ‘Á+yë»3—´WMç*Ø7(¢ ˜q…=7·J†B"Ãn9é™ýöh>Ê—åæíµÆÚa-†D^íBÑW'Î~*í¹`ó2<å;³v´¶^…¯œöü1À=:Ÿì²ˆÕÛbYØÅ‰‡oGhíêéOÝs£ÕÔS꬗@¿êsÅÅ\Ñ&XqsÔgŠÀ²—zê ›4é#Šïa8óèñIŽ<×:Iå~<à!ÖROyþ A¿š±»$ŸÀ!_*¤qDe€4#/_æ+ôÖû~ Öàìú‡ Ði Þ8þœËHû55)V«…±È#T¼eÚ–±ë V¥%hj µ0 VæwŠÏJ»å]Dp Žt1–×"ß*šCØÊz8z늩°‡)Øî{ ‹6þ©÷ëÛhØÎÒ&/ej¬º  ¢·ØC¯/™ÞÙKq¼%:ð hE~ì¸g¿ŒLIš¿à O®ìëӗ̯±<߇èZxyí§ éb Þ]$[S )ãcbÚª&Ý®dÖµ3ÚbEðZIyRx«KW<?)|ÏqEBòkA*¨€¶« úû„O® V³ j™Ò€1i+¶ ïÿ~©òðwgÞÄÅ¥V\ËÝ‚P„Á®Ò6ýþ%y¬Üï×oñúšÿF(ä÷P=qÎ{JÑ„ä—xŠÕÕ>ÍÁN7€ Ê$ÁßÒ@ï¬*®iD#Î2ëùø×¡Q´¹J5¿'畽óHn‰C¿ÜnT.Úø÷úérw¸ùÍ^¿èIŒ¾¢ž ‹Œ¹ÈàQÞ%‡£º‹wÿc BF-¯*äÐk}`úù5ééü‘кU…’½R¯zÒñ$ F=P½~^¿Ú ' ÛQG'¼pŒžeÿ`¶ñl9.{F÷û}I_ÛÛ³ºCnå8Ð2Q=Á’àúŸÞúœXÝ…Ñ<6jM5LÀ<‚M/3MO/$0ÚçŽÌàZY3rr>Úo¡Ô„&Û_r‘ (¡-“ƒ5ÝråH*Sý‰„ýdŽö"‰•Ú{¯l¸ÆM0×:h“%'4†ÐùkîÁB•¯”÷X÷Òű™Ê: ~ºv)@5cŸ\ ˆV{F–VÕ«ÏN¿9s+%æÇ蘂yÄ3x¯ôˆ>IjGômS能³-¦÷iJúj±VPÉ?l™›(œA /Q zÇÆ èní’™À‹4º`¯¥¾ûêÓØ¿Ÿ‘ÂÝE­ ³.ØŽdau+²ck1;ÂîžT(ËMÚ&?—XÀø¦$ß‹¶Œ–ñ¡©²ó«òý×î°€ Fó]ÞH†[¢q#^‡a90¹‹ð3ÿ(|„ˆOFpt|=mMwåüCªC?¾¨2OT`á}·zÔ@ÍÑÝ»4Dø"ªÿ»10 î©ùÀƇ¨ýÁh?OéŽÒ\(-=¥±Dþ|,?êê¹S .*¦œê“3_vºÑG±NQ9m`AŸÏ ¨’lïÄ&8º0¿ô`Ž-޾ [䎤ÏÇVC±(툡¸Õ`UÑÕŠRü‡ã_mÆñ˜®pùcà#ÕOå‚í/5°œ"~®ßE:°Šæ¿}Hä¶1el©_ÔÄÓÑ%œª>tNÍ"º6Ð.Ë’E ¸OR^q/´ö`7ª&®]GÕ{úçM°C 쌆 ›Ÿ9Ñ?qŽ4¨ªÁÙ>”và¹ùK]ãe­ZËwQIÍÌevôØ©ÔB¸›1 M”ò$<î˜Ìqú ú@ÚÅí+æã¬‹/ØÔô‘ìPeI[¡…¶wqpMÆ¡ç™Ì2y93·Ž¤3Ë)6‡ |–Ïò¬Ó5^KjÊ€¸NúÞ÷‹(ÑwbT¯FܺoW*ÚOK+W|DU ™üj½÷P?CS«4ZÏ z28o$ä탞Ì­C©’¦^V2ˆ_ÊVZâîŒaverÜ’EUµò@\„ãôyòß)Ë ôÉìM^2e› 7œXwÀ¹«ß¬·n±K½›‡0Whù~GÕ'³{,ËWš™rÍïñtMm 3™ÉÛxÌÌ(á§‚@â‚2d |BۢƠ0tàG)„;xËu:1”|G÷´$Þ¬!ȯñêHÂWWÁ9- ø`¹sÂ>£•Ï‘:¬ðÙÌ} oïé E Ó‹4¬…7/Ú¤p:Å+U‡Òûí\°ptÐÀ²HUÇ t…ЋÙñ+·07e«ªd* *Á¬ê~ùMÍFŒª/¿w:¢.JU'î„XAÞÄ"œeÏ… 6ä ¸ß=Áæƒ-zÜÖíœDÎZ]†d(ñ4×W<‘~Ùú §éR5­KÛ|cJñÔÔž‘³ ®ü˜ÖŒT)f½BÑž£wê¿.Xˆ8NÚ‚üÁ| òÊH÷ªè½uVª:(ƒ~ßHQ½ÓŽ‚! s±Þ;¿ ¨ÚN\@fÙ´‹rÓõmüEõEçýpÈÿ¤XŠÅüüè×s9på‹<²j ‹+h2©Scɱ¼=¶>¶8°¯R–ùcÌåÓÂ5"ÝHÇ÷1ïwÝbÑøƒŽÈ§ûªÀrÿÞ“@¨²Þ0˜O«/VÎtNȸ6D€q˜@²To¿×>Û\˜‚Z}·_¦xºÙšŒìk¼–4+ä4ð•دî¯âÏ€c§ÆCémWëšïk”ÃÞ¼½§0óÓ°þE\?çhôd5èÃ;åàNè…£´RÉÄ‹åO9Y—Z¢ÌÆ)2f«Q–c½]`›Ký39Þ9~Â^zœ®}N yêÊò…‚­åÖUš <íWD›áŒ­ö0r.\-Ñw[Ü xÛcšj2q'¡ß›‘®ì˜¼Ñ¸ÁTj1ÚÒjK1¨ÛmL"Ù}ç +:—I:ÙÚ\YfeÕBq¶Æ•i¡¨å®ïB³ÜÆà÷áë”´c+L˜À"/®UÝ߆H••.I´ž‘ùåÖ–Ÿo hBl̆ôsd¬³`ª—…r鈯÷ü.fûô¿ÊŸs|Õ=/zúR™äÙ™¾0~/WYiš4Sª%8½8He²§#Hê"–´]ªÃÆé{›÷µ¿éB'H¿h¶ üªsõW<±As¢òÖZÊØR¶Òþ¦ýµ,û¼±’Š(¹±j 1øÄòO= øAËr¤¬­ôâެŽaçƒ/rëÔ"‚𠸻•–bd´¤0³j9Ø»Ÿ¶ž™PÆw}4¦MçBÙÉXûh+¶ÑòÓEe–¿—Þ?/©Q,í¤Ñõ“¹LC±Ü®”~r<‚ Î F6Úfw6Ö=…1I£â)ŒsßoY"ŽÉ°Å°æÈ#¿3š E}t´˜¬¡¬äÌ“¯ø3<6µc.Žtz²´*dqzU”¢«ó½3\•SiÜ™ÔrST]ºs³!üß·fï— ‘DNÈ)½“@£]ØD%é ‰¤Öš÷Ì›¢GˆhÊUï°î)Ù“UP¥#ž²ínѣخž×y(ðºŒHuPð¾)…r˜<ŽœŠÇ|I/jÉh;†s{H!;n¯Y¯,ÛVÌ×é7'žd&Â/ œty1N¥!{P7xÇž½(Cg{IE,à5¶:Íä»ûM«eýP£ +ª›÷ IÿoRíA€1’Ћ …uÎ+ß"åmhÁ6«;á2'Ò¹ô»™Æ™œU+ô~0ù¡E(ð­“^]A'OOÅ6ĂՆL ±ªèu |m£žÜV"Å<~·ÂÙÌy‘Ãÿ8Ã,u«‰˜Î+öä)¿WR …þQsØ7‡ìu­ÀÖ%µQKÃ=µÛvFšr¸žªæ[Ô>çjBO,ú¼ë×Ä1TÑ;©5SË!Í›ÁÈ´6_h°Ù#ÎÍ7 9ÞÛت˜‘ {éÐô…Uíª³«6­pW~›^%P d„] !ÜÉRç§EF :u ~r¦X¦zÌ&ž-òìÔ¦5 4y0ášPà #®þbã”Ǿ9“9.üùL—CÛà=¬î(ŒÑ•¬ƒä„ÓìÖ¥S²¹ŒWÀW ¤wz.Z4¿>‰[޶ýØB{¾l+_OJg”hç })é »ùlE½37y¹E`³œ£ßñ|3 ñ'Cý L$…­é¾ÜàçdÄ[zSÄcRCc[èt$O˜æ¶¡½ñLñR«2 f«‚ž¦ÙR#l‡÷fBõÿð‹”ß4ñí3~T‹RÖàåçáÖð¯&àŒ•.¯?+g’§&¯ Èš>7ðûËŸõñ婽îò¨]ˆº}*xI+'ŒzNOW(J ƒ¨Ü†¤ïá‡;Ý÷ºR)mŸÅ¥£ß¬Qµ"í)öÆÿh©\JU¤"Ô gBüzç˜+u%[Kœ`jš²ùôwgMæÛ±¸6C¿ÛGq©z5˜Æ&WD­Kê³ézã:†Ö:¢Ð̾'æé%õÆSÌÜ«¼ð*.óFì#»"—¯oY³à«wCaRéÓ_Ñîð'ä&·ë¯¡†‡ ±(3–PÚªc´uØ) Vô­[nè,QÓÛ[È{.ƒ-ïq€"ß1'þq’QœW¾µ¥UòPÕiY†íÇòãKQà/ÅR 3–ux!ŒØ¡ý'ÚÊ åq¬tìÑñÅFKÜ|>tãn§¥^Ø9"2nªñ¢è9ƒ´n£—å™Kª¯ÓzxÇáÍm~2¦ÅUÌ›ü'C)­­@5¤:˜st=Çÿ‹_¥nþÚŽ˜ä«nå,ªT‰–éªÇpOþ'¸B+€ÝbT$F ‹L_¶Z?îõF ç´Ñ¶Éê'R6IÕÍ®x)Ó.àö+’vÂ5(’HʨïE"GzQ=Xʰ9ì–`#¡ãÝóÜ|í¾ÒçÙü3׋çaG“ìÅñ¯W‡úÉEkü[·Ð!AHh„盋ҳ²¡?Õ´9­  .«LÕëHø_Í1©ü/Ë,˽ËæoµjÔ~0Xj,ð"¥§0\Ϥ#löü]D@un?(UëüÞÔi¹)ú­8;ë† ó3 l€«S™4ó>÷è0n¢¡™aë»Ú… «°sõd·–Å!®}ë€ì€³è“¯LQ(Zøˆ% ¨„|Ë·‚1ãÇÎ…o¿LÅͶê'yï›DÚ´Á;ÙÑwZÜTôÓBâýÁËZbjÄø”â餯vÎè·ê5ÁbXNƒUL{êëœ_ŽÀ¦u|lÀfí#§ÊñÊ“*ݰKUКhÁË¥ú¯eð›ã>,üÁ:¨˜Œ³V¬xž×”Ò 3¨EʂޗÑAÐaÄ9g ôìª/¯]Î)—a1p£MìpÌ_Ó?˜ß¡g¥J–s£¦‰;ñ "Nc˜_›ï…äõ]‚G ­O΄Z£XCÊÉN*©¨uªIžjXÓ³U(:dÏã…Ÿ'"¬|èùž­"<´c¢â¦6kÂùïÚhü9ä6uÇ ™?fájÈ{j-ȇ´³ÜѨÁœ_€c„ÉCˆ\”Er¢? ̈œ{ÍÝuXìˆËøm5£%#8QBï‰ ûþTf‰ NF×dÍ`Þã¢vç®òƒÕWÚÊ”ƒŠõWDWg@8££ÞhŸ†f, [ú½]˜×¡HŽû›{³0ŒÜ \å…M2^¯ør¡@s&ðúšlHêë€ 4|ú‘3e+þMZßL:åw:‘ŠX5ß¡q4žÇ‡¿¡¼U²ƒ„¼Í ¥ Ê ™/k·¹ö²=Aš‹„KD$3$ ­ÁM¡kñ·~ô•CèÇ=eÈ‘”DŠ%Î&ÙÁl&vMT,ÁÁSé»!0] xQ¢,Ð…d´±»õ8Q'š"£®ß-—æ’‰leh‚(Œí9ÛŠr0èÔFÒ×>*·i€w>½:ÍÔ\žEvmNòV¸Š-çœ÷СYžx Y‚ΈjöŸüõ)f5S8Àž¸¢KÝš³SZÔŸ”Üì]»lT2žàëƒD dÓ#ˆ7¥s!gÐîo':˜4}#rI`F6_ý׺Çÿ£ûjGŒOùn:gÜ=Ôm|Ò%£Î“ŒnH=ö™cêV’u<\‰³Â±¤˜ûÁ¿‡ GÁdE” }¯1˜ŒE’`¨)š’…[+ÄÅj­€Afmk?¿«ÀŠäßlRíÕÁ»‚:  ~È=Üþ>Ê#Öš”¯ÏcHüysÑc[ª‰Ç%°e9*Äíïi%/iÔø3ëì%q”¤q~dºÏê?·XöÕŨ½½\“«4ü¦¶Èó5»Ç¢Áë¼x¨½SË®Ù@„±2,Ís©'ÇYÂ'õ˜_ìÚ«ùH¸4iº%)É™Ô0Aá'Ú7q›26çn°Nìk’|ÑIï÷&ÿ\@Ð]÷=%ÁÞ”´ãñàdzƒ®{¦L‡Œhë Þ ¿ ¢×ûùn¥ÕÝ« ð­zñýmLœfÚzªØLÇ$Ô75}ØQ&ªž¿µ­ºyFd Ð[=®6Œ X—âËI\n»²ô…Ž æ1‚“Y–»"‚€q­ÿgŒºmt Ó´sŸ„ DËWĔǖžk¤€ÞO´ ‹*«p²Ú’I敘˜»¨ —3ÒA>\{Y©&/ &•Âþ]Àö^ b’!g¾§í‚ܶK¦F„}ƒ ?z{0”Ä9€+iki p“²#ø>X­{E×6J…õ8ÜužÙUCñ=Â=ÙëFÕU‘î)ÔT„Ø|ù}ò-ûpÑÊдã•ÖMjù¡Æ·zl¨„w¦±?Ao󢛫:Ý™—žÐ„.ê ¬EËqÿÀÿ¸úIÂOÂÑ$Q¡~²!“m«¥E»7þ½ÉÃá7¾‚?[ÕŒŽ“)ÔxÏËÖºí9žgìáÐ` dZŽ='-ÀÅCåùÕ 8é'Q"3ýš{i»§ú¡â¾o2U­Ÿ;]]ö¨S‚™òCã‹ e¤[¼àÕuèh[`Ûüß\O„+cÛ|æ"n[zy,áÌñC§NÍ«}G›z/–êÒ_öºÝeµlêg±-m…•N• ŽiiižRzH0]$aòê[ \ØÅH¼&pŒµ¦;eWÃ{…r˜–OïT4)VÖÌ¥ÛHºúw&È¿ÕzãT œ¼=â¥X¸Q+gfk©u»‰¢‹ª9&Æ…í-õâ9U«GÛVžY³CµŽp­[XœNÆ‚)¼|ÆÉÝãU¦·Öà܃ûþV£Ž¨¢ƒÚ¥”.Ä ö’-íÆzwÔŽ©ïË P¸°1Nla~X,„òÇÞ³Ÿæ7É´µ_NýONˆÿb,𬸊#º9ECUžÌÑ¿8¢É´z—gã=E‰f7Óaæäž‘¦zU®ö~Ÿ®Ve_úî)í¨Ïfˈßr!(ƒ}…ωxþïE=\!|í:€Þ·Àš/_Än|ëÍÈ¥*Xqr­.y a£Î©¯±áãBf7fju‘8gƧv_^0­¥œІJ•]½Áè4¬1Ee¶áݳs;#³4!) uÈVTãÛ}²uKˆù!ÃøÑ›ï@òજLôV)ŠáübÊ`6ð- uÓÉ”ìñ2‚!"—ФÖúAùG•‰™2ÎóÓCJ.b‰èéù"Ø0¨)¡Ù, ­AìÎ ˆNC £à¾pC²€;L¹Ã™;¤Û©zUö¬‰‰ä#.õ²Ìü%rÅ ¹À`)ù”ÞÓvÑ_è¢éxå›=ApƒÆ>t*;¹…ßß +=ìø?f3A:ÈÙ/žn>]Ìw~¤6 é`H-àaB‘‘*ûûØ>!  ½Œpx‚¸Ow’ɱ&©­»›£+¥1‰µ+S¦Ò}5ƒ,“‚$ MÓVÚ#Ì`RSfÔäY«6§ªQi×Ês£µ2Ð>‚I÷ÃPGNOÈ€ß×ËúP‡Ì h 0ñj õñvO!øöÔPj6Þ`HýŒÂš¿3㣣¼ y‘ì S£¤›åÈ!qÌ…p®Ü"—lF{Yò:”’JõGˆÙx ×…³úí]°Œ%ÁˆWm%Îó/z@~ ¸”l®à ’OìãmÜ.牿" J»w´Ù §óæ Q©øÅ'³Û…*{ºoæöÙ±ÀeÚ™Å7-SD|°öUî¢ã‚‹ínaÏ‘÷wÆsŸ‘ ¥¤}£¸®×ÞZN Õ†‡œ±½Ú¡AÕlFªkjbIž…ãN0Ö×0ê Œ¢e‹X“.» KRw]#SÄ4—ڤ̵-\9Ü<ì<;Lô`¼¶,*©>íNáÍ÷îÇ¤ÑæÑí Ï‘P£žÊªLze”=DVન€qàïý®l'M¢5ºè”JµGÌ å6ÄZ3ô;5~\EQ±´ÃíÞRo]¹c²QegM‚…EÙ18J/ƒ6Ú#¯3 A{…F:ôÐUÏ”SRàxTbzÅI»:ìb¥‡ç" ë%—]zD쵨Sî÷œü—}|âDW‰kÚÒ“(¤­8ÌabÞ ¹e/µ‘n­V¼ í ¶9Ž&l“nû>­KòÐé},w·\j66"hÖAüJ"úìQ£«~n‰Dª".S°÷é©k"IôªHgµ%îvêPÚ!ð忉ˆ|wë®d‡;&|Çˈ)^^‰þf©ôaØ 4.<ï« ’6EÑAH¥"Ù¬iØ&·ôîõ×¢ÎÓô¬à¬`pg¢¢µÈ•+]£r¸‹¢‰* C‹V ¶ÓŸßlEtïÈy,Öê3è_I‚v8Ũyp!ûÞåŒOÀi¥¯3^¬Mך1–±µöP ±N(×ó f~@^CÚ‚K8‘o–Ø‹\–å/¹Zä@j—]æì-û+˜vžaˆN°fB2hSÑ=¼’j öxV8)ÝÞG6טOh{À/Iƒ©»ØX¦SNËHø Jíé²Ãêõ>H')ÛSÔ*' ªW?2j‰Zgy£EÕ Ý…¨QÌÃD§_—î36 Âp°¼×™“:¸×pÔj+öÇ>ÿØú^«´}X]ð .×hc’vvñba°”ÖÎn­Á&yÛþ5~,g÷Šuº¥8ZRÅ~Y=móïšï…GXæoÛÓάVÿ·MxH-_Áò3:ç hÓ†P…S}ðÝ7bþÐ!'GÞbFojÓøgyïs]µjèF0—ÇáÏž”øûaú6M®8¦÷‹™¡g.a ê~6 Š Tö83pÝs²¢ÈAkí§øp¶8LÃRPŒ.årUl¦(DÓìÇGë[Õ,gõÔÿݺá:«ù|*MjZDp3$ÅÚ@¡ÓTTQç§µ“ŠËœ´ÍÎ&/ ŽO¸µÛ¬ûÿU­Ç „¡9'CD’å÷.ãÍž£9zV©­ã„>Q”ׄ¡¶YʉÔÑöÍ0Q×÷iúlj(ï¹eÌæ{_Pû–<3Ó;‘Aj] 9£cÝëêcÞÞsÎ-ÿeë˜HË'“÷Äp‡­BôcU;KÊÉ#i¹}$M&õpƒ^TþQCFœíO5R<Ùs &9“€4ß}Zï½f{Ep/*'#ODžÃe¶.Aýq· N¤ëµP~ɯ+·`žþ_/ HZ±^¤SÁ©WóEôܦWtlÅ4ç5†òÔ8á˜')Ú\Ã4SXáÛ¯j ÒxGzÔävàî²QÂ"G>Ö9Ù·ù1ðÚk5ZØÄJ­y£í¶Ž%NåP_±«Pwq1t?CH¡ “ÃÌ–ªÞt¯9ñ ÷5¹ÁðqÛˆuo’®Þ^Aé“|ÖþÏc/òÓd‡A"±ÆöC{0mJK­¸Ûäaµù×q²;/Ìç„× 4•èd¹Š§lì½SGùÌ«ÔcÒ>1ô¯!¦³i§ ~Óñâ b,UãÍ.‘LŸ›'HÒꢊcN(èKù‡ÚSÑþCš’yžÀ?ÛÙõ ^#ÿmvÀˆôÐ{œÂíÇiµèht’|Ót@0äl¿ðd[ ½½b–[¶Üê^Ò6–ªch`e›@O¢1i·. 1÷!Wôk[Ü!eŸe(]ý(ä®Çø‘!9ÂùŒëÔ´Óp›Èü0/¦¡xÏ«ÌÓÕ, ]ê],læG=Ì,TAYh`vˆpñ@ߒئnÍ€ @º=P…ÿÓ™î©i¿7ãJÕ—±›Þ\¶w©¸9&JWJ¿ Ó¡åo¸; j“83°sè…|@k™$ axr¿`¯½¦¶gëÞѲç??QYÞz2DÁeãê¨õÑž–ö•l½ ¿¬@pCUèÌÈU9{QdE`+„:‡pºÀS“(B’‰P]³ä4pqpÎGêO)NÓ¬x GÊüúaž Ô^Âa.ëÉ5Å´~öÉZ àd©ÿênm¬ŽÁy9\§‘˜rÚªçϼ>±¶`ÐÃ]ϾJ‹c<¯µÏ­±1,!õ3møõÜP^C4&ÏŒ:}:­ðyéF€ßDÏLÇÖ×3/âCº#4gA<öA·­ËÄ|¡tKʉþü×þÙü lþy/(*ÍòqmðI`Ó—\œ 1¯G"~û­Çu$2«x©fpè±ç‹ æ”l@5Óv:n’I+X•ð=é+•Ào¦ôT…m`}AÖ¥ lS43‰’++ÍEPÖ¯0ËΨéÒ±ŽV"ÍÚš”Ѩ®3+Á,ˆÞ™!Ø7kT¨²@Z÷ñ_΃Po«Ç¡L\¼Ë°`¤+›«£‹ªt kunvý}Yì°IgxHÅ™#F)&¸#x(Á8±!:¼ºv£øÊÑácNDaÞ}·«Ö ? _@…6ÝÅ&`ày3o’/iÁø8 ¸þ%pŒÄÞ.Ì—ƒ ey•*Ó+ØEg²ß/9|\n†WuÊðæ™fnDH€}·T(ë!Nö$„S#Љ%DÔ¶õ»ôœD&«DàÔA÷ÒUù¾哼ƒq£šÌw;ÿj13†÷üJw] _wœgHpÛ¸/¦LNŸžõ´Ž»ç= (rŸ¨¯"ÍÓ!Œ—£àN•£òÆÇhPð6Ho%66k>ã&€çÑô¼ü¿â— \\´czÅÈ#Á³§ÌüK­ Õ<âBÑ$´MZ–¦bNèp k'tј>£Á"æc¹MŸŒ?|èMâ仌›]Œ£ád ¹„§èÀmæàùúzìâ¢Æ‰à¨y*†m­WùæÍaq0f)ɲ¶Ÿï]©ª:¡5ƒú H¥ŸtÓzÇŒ™aÏ]ùÎwçPnY£jê;’¢ÑSÏt°2Qç'³¶Ñ¯¤&A7wÖè*)ÜÿGÜnñè†o~Z»«ÖnèM9hN¢Nle¿«q&\Ë]¯ Ï?“Ðy¡›È4†fWfÁ©ð* Ó9킾ÿ”‹)„Ý™ò¾Öç\¤±©gVÚæÿ7þ:º®}*'¬)™dèSUXøÄè_zñCŠquXÿÙ{æÛ;6 * 3Ø%¼Zo„iQ³\eÐvZ4¼åæe ù9£W³™Ý–¸7ÒqS…€Q Ba‰–·K¸öÒiŠÿíœ+ j!©#‡ÝŒ’• ;VymS,Âï$'m–Sg¥ïŸÐ@†xÃß™¼qY‚}dd˜Õ\°UÀ ÏºÝ å©QšîS!é¼»IÅ,zWu“؃vʰw¹9ŒzØmŒºL…բ̠N#I’òIxñGôC* ²•¾Z‰>Ù@4«iÞ;$ ¹‘‰œ0µSQjžZ)g “ÐpÃYû9„ú«ˆIÊ"U;>Ž®ŒÏ)/¨©šx„(‰Q«`Ä®¾ÀfsÈûº+›8UóÖ†“Ú’šÑ‚5GF?€²A˜&#;ȤàÔÛË7™|Ú˜ÿlƒ£eG973qIkb}=[š­–Ì™O¥U"Q]u,Ü&0}q*nïmë)Á¾:.—Lž1ïžùë› Q”3E ªi¤E½÷/ÜfÉP z<=7pÙ”ì(ïq»O¬MÜ0x#ð÷m“FÆMwëš;%EÖM‡ökù)¬{Öð2m˜ÌÉy‡i³ÂcäeògɵÎ÷øÖ€À&.oˆYdž©Â‡&ûêÿDm}Þȳ½5m€Ë©+qõ™¥ñ:T[ÊÖ©¯~ÆüaR]æ8·ž»€þçO@†Bzîæ?½-–ú ô^—Ä#{#g5ú—mÅl¦%1Ôå)FAXkMÛŸ ‡´¡SkUˆÛVÉøóÖMHƒ p3%aî%vÏÆX†í<þ°6ÊûF\öuý²™/\ŒE LO‚†IùN’_G6ùbyH([^ÛÍ¿¸T£Â˜3o 7Iº).çcaí ¯²ª|Q¹žÏúyêåþÖ==ôuà‰€À ðs2ÙÆcE"ï:‡ØêR) ;¦ß†³q%'à~’—ßb¬žÕÇ—±úÓh}=|Äó†©÷à¬ØÕõëN¿§±ÜÌÔ˜Ÿ’b”&~0ÿÜ`Æ®Óp2{ÏÄÝóÊ(Õ`| óà-|‡U÷o¤¯ˆg‹ô$Ë´@ÈY¢Ò³vO…Dq †–ãÚ€Ÿ"ëdvÉQÒ£VÄ¢f®qæ ¡ƒnÔÄ&Ç$@ë’†Åë“H8jyŠù• w;¦Ml€>$Øyû³°œ/j|Ý^ŠL§kŒt<§ô·ö㤎ÊÿQ¯Á…†@vè+íF—¥þÍ\DfùVi¯5ž ¬¡ðP÷’%ÂpÑ|û$Cÿíµ ¢½µ6E$*¾r•«°AÜîßð‚qðîqÌN¡c§1ØÅÑk3žšÒÐmµÃº«w~Š‘§·Þº!Èæñ=h´mmqS9390Fu„ý–žÜ©±qDÀh`'))Õ+77M˜ïÓª È'/—×·w%p¹gøx¾’ÊNAè‰+ÛxÝ ‹èŒ'¶×Ñ'ºÐBLwôE•ßeÐñ”éÕ<Ôêΰ’Aûg«œÔúœ)f~ÊW×Ç£·Ggð iꌓ2ÌÒÑ4mÃÁ›€¨K[8éuàQOe/ßú®4š³n´²Eãò)_ˆ¤ ¬xÙ²E•{ôØÇ}vÒ) MQqýÆkÙ1DòÝ›m æR|§ ‚ *Mìô yNÅfNüãr$örï[á:Ïá9‘ÄfAxw%\¤‹f˜ø>ÔÞÕIË¢c[?Ö{YÇ#{•óÀ̺ˆåQ¹å­~[5ÁâÏË\áØØ39¤…ñÊ)RÀ—·Áàq‚3Lx]º`N¯Ÿ¡ÜýÝ0_xZc¨dó\Ñ}hÛ€†LçÞ.éou®Ò˜Xït}¥Ž™'ýÏšÖH¯é#î¹oTr”}’>I†‚ø \£ûJ‹££=:îT¬@›Í>ŒgWŸŸ·ø%o$Ë>¿§;òçê6 ‹§#-(YªP*ÃãŒ2+fýØR' Ë´£ð$”4¾±$/…‘k¡3FÁÊKö{«­H±Í"î£Æ•ûs~O{J1S(Iœß Æz4¬yq—A»°ÞŒrÍK;ò~§u¼ #æšõ ~í ý¿[kúÅÊ™r÷{×*}7Þ¸N/&TS©–Ïi%BXÊ‹oò×CÙ%´›’mñÙ}¡§j¶ m:„m€%97Œó(þäáF ‚vnqìúþlÄt!!L—†µ¡5*ÛÉÔ†¨¦Z/y«vØáƒv³%‚<Û¢ã;ìd|14W<]¢n»ÿZ^˜úBô‡¶§”‡ØÏÕšûì‹‘ÕÅþ¹@;'ˆ*®ˆ+]ÌWì–H¶f8àzKaÆå\8[Ñ„ëì$"ÁBáíîíH;²Jöá{jR@÷Xuó¿"·ä,òAjÚêäÆ"å¡12õ‹ÓŽéÓ01„h+J*±bq—ü²€ý˜Ì$*Z>ƒ‰u2¢ç”©ª½YäÎóGjéVÁf,aŒpú±eI`L r:Ktá Y¥ý<ž\3‹á?­'ÍCŸY€&’êÌ¿ÉL¿ZÃ)‘ÀLS¾K/7¬urû„ûkO…eµÿ+u˜ÛО{Ü`qíƒÛC®XçT¡BöxÏ¢B¸œNÚ ±0!oƒÂ •Qwš.ö/BFÉ4E-ØU‹RJ¥¿ÈÇ]ò†`¾ò§ªd¿bRŒ£g2 åV‡ÏS žž˜ZÔ ˜ÌõK̨rš·èòRY7* Ʋ’…úcšÍ<#{™‡k‡¼m«o‹B|îôèÒR»ÏÁ]ï™4¦¥±ñ ÍÒÅ„Øï7ÈpŠ=E½«ëÆ\¿3¯÷«¡}VÒÌÉ7«4Q@4c*='Ë€_–äRIz¶÷êÒÂvMo‘²¿®BZ¿`‹}å§ Æš{Je³¯Ô€"ÿ}ïüq=Ò!nƒÍ šPÏž\`f—I4µ¨Ç~ç6,aÕÉD{bjöªÿÀ®Ö%·'Mv[¤âá [s:Ñ ß`}‡ fH¢È/÷9t½ž«ªkˆ.ù9Æ 1Ûñ­–$¸À^òð#HwEOù• ‘{ïl×Á`<”NI¥T¬{æ"Æ!îtW«‘ Ê>Žºhö"³ûÆ@½ )µmwlXnó~0hÒ×Ú_Kl@™’˜·SŠŸŠ¯Œ Š'×o>ÜËãŽvðèdÇþ·¯y¹A.Ü‘x/o“Œ‹È~ç}`Vñò×I \mWÍO+üi™VÈ€D¡ÚCôd9#îv…n€ä¼3žªÛÙyUõ¹0X VÉû!~V=¡H ïÿýÖäa^Ý”¨ *ꃒ‰k%‹!ÅŸz®ŠQú÷bK¬hÑBô<Ê–wBÍüí§ÐÏëÍËŽí …P?tÀÚu¯ÀYÂj —¸ƒHêsT”Ý)¤8Ç[t'0}‘5Ó ­%žsÖõŽ(‘ ºý¿­ò7•´]H“]0kb&uún·Y»_¦ŠCoó _[H š58J²ÉkJ< Ç=`#oäHÔeµŒIà>ÊBƒ8¸ƒUª_w­åÑ^?`4’dº*Ê`?e›&“¼ (Ê#;štó yb¾j‰z9L¬Ý«%ZÐsû³b´dîXìŸüÐ íÆPä@ÌeQxtAnzÃënBÐöÕ«ÃbOËœø).<ÃÀ˜VÙ]ªËïs¥i« õÚ½IØ£š¤œ)öP«ëÃ1 ˆò2Ò#)ªþ ²5dèT¾n´)‹¨xª¶I3g!WaýšJÔè GÌÏüîeb’d‚Ó&ž.ôh´›ã€£l³è }XèxLÙ-ÈÃ;‹…Õ®åIœM΃<+ ÍçbdYiv‚]\1µyé ÿ¤;ñö:~À4ç~µ¦jz»— ¥~0Ýy5yƱõ‹Ÿ7þ >„žñZSÆ5ŠÐÙŒ¼*ŸÌ¤&›!GP!± Ü @úÖV›*™ˆËU>ÞjQ½`Ðìõ‰>2eGŠE‡!ö ÓJ۵љ±Ô“„ÐHŽ‹X+ÿÝ~(*éØA…ãœbwÝY(=‹ÂuB„f®Ÿ®Sô›7„ùMæDmüªPídáiaÞÊ ˜íç/H=)5ÿ ²`wU°ôí{j;…èX\¶ðžw’¨¤P½Ö*‡'åçþnD&0äk+œTz—Ó [ŠpMŸÕLîÞ‚µ²%S$‡X‡HÌ»S|Ú¦í4æ,çRbèƒEÞÂοÜDº(al!Ç}árqÓ‹[Dz÷ÄJKƲ§3—OJØ«ÒÑZ÷ܵÞ{Jº¼r'ûÉ®EÉö«†?Ò‚_¦›’z[½µæxK5œBO­oï€ÌÛL#¿uÓF^Âéygü´«4ŸÜŽ©<êÊ’%ÂP´Æ4ÞêK@!{¥9$Ýu±÷é.‚Þ ;³Ì|ŽUEÖ¨WV¨;Ó2Ìkx{P ÀÐCèIáÌ÷‘ýq”?»Iw¼Ž«;q$8—CrÂÈy)³GÔ)æöÃü¿YŸÕs¯ |SÍüOÆbB©3âç…å̃‹œþì––ÝuoÛ7íRâ»É0) öHp6Éd5FÆQñôüúŠ¥^V‚áÑéS‡o~ XÜ:¼bØŠGy¶¿úH‚ð§r²|!\¼+Á#C|/u¼[…¯ ¶[¼Ó„hDíKwyMà®5¯= îÝl2Üà–ëOJÅ—$½ÐeJ哽  Üÿ·ß'pokètÀØíºá­¿@Ô~1‰þ‹vr& Vùå¨ìÀäÌ™v.$ ë­0«Eó)o¯­q¡Îš8a)$O¡ÚŽp!ã}CP8Ý»ÐN©ײÉ$hžA0&šä”}Óc(ø†@Øä½Ã:—‡lzª b ?¡É¤ÒŒ¼¦`q•®#–óïbqþ¦h¶Ts—Šs?áÿð ë´ý7¬§œ.¤Üxa<›n¤îgYÝQ0XkXV³Üq«omÈre¬Œ6;ØÏkº¬ÊNgAØšÝÈ©—÷]Ð!+ äZÒd| ò²áº$ É ç‰$i°0]Å`Aé…Kµy2ˆ¬?D$fèÕPÐsƒ2Fr¶ÚÂ’ù«xj4Ê‘¦˜78o'w+<óy ºˆd›;¿å3˜R=81Tdmf4—ùT“hÊp ùÏK0)¢¶ï)ìÝ›…É_Gÿ€‰cØ_£$Šù "xZ¤¨>Õ郉âáZ2ÐŽ1`±ÒK!&}DË0ÍPr±¦Ò~*5éz¯Øn;5û›•^-áQk\ç‡äË8ÉU5KŠyôÔ0ל®ÅÆ5 ;PÍ“|½…ï¬;]D$’p§ƒ;-JÚ 3(³Óö¸+jµEÒÍÅÑ’øi6V>ГÍ Éžyæã©Îe»z O_qD\ÙtV^¿ñonÚa¾.D|5QŒ/éD˜»˜4R‹8½ÕáÎX9UïWá—âKŠ8Ê„^×¶HOþm½=T±IÂ@]O+–â%uºžzk5Aò6»pzc%‡3ÝýѼȷH„_QºÌ¤Ø1XßMCØr‘ñìE䎰ŒÒvSÚž/Ò3œpêhŠ–‰ôî‰éÔåËüSsvH•ˆexµ’½}üÜÁV ¡ƒþy`ÚÉ¢‹ :½‘(œLh” 4 ¿°düèw’>y‹ðDds6‡ÅƒtÀ?(Á) çÄÆµêäé–ò3Å.ôEMÀU{–u¸ë¯È`.GëÍò“ÙRÑ]öáE*'ÌÇèª#½š6ÇæD?ë㢖à¥`hÚÕB •¢Ø¨áÙ·]² & ¨±$$ ò•[{¢ýw™ÝÔp((mâ±€r4½¨~ª˜Ç&M¹=ä]¾äùBÉ´¦Åñ¾?©A7ùÞÏ·…KÙÅFåCÕÈõ!D§ †¤;fZGÀåñ4Ó/6½øÐ9Ì¿-™øÎÞ/…þ&HF,§p¥Ñ¬Õvõgo̪»ßÞÊ:Θu±ß§T–${˜xC5£ºƒ³t$K­¹yÒ. ¨“$ÿZ–¦Hõ̾'Þ@Q½ÀÄÿ•§³…å‚?V=Í4ˆëgtrˆ§Uœ§ò‘ù—¹PŒ¯œQñÓîö:æSW't7Â< ¦ÖÏÙCÓŸ¹VsНÿô3®i>+« emÚ*x‹×ø¥‚õžp¿'þ+EÚ;P_~æòºÈú/4«ÒÌãèšG¨O€ƒ{j\$€"=0ðHg6s:mrÃ+¬%}›y ë½nÂAì „ÛþcµÖ…¹?IݵëPvª²-ÀdÔok³ið@Tñƒekœ`u¾ôã.íY@;ÃË 'šÌE)Ñåñâ_xÔúÔÑ€¬^Ùíƒ-êã/n¨ËR·Ôé'5h« Ì;ÛÃ*#'ÄOžA4U2¸p„š¾ZÂy«6#P[ªø7œ†Ke/ÉXO¹a’jéÃtùè5#½Í¶éF»Ó-1˜pz›¸1‘]ì4¾¢Ð[%ž¸ÄM¯–ÔýP¹QEíAhËX6¡²²¿…ù™n‘E⟳ø×¹$” š+ëm™w¸= 5œq#SdDAm+œºÝ¶dO}òö£âæTÉáÇ£’THxŒñ¤KÔå…æ‰×ÔÈÃyðÿ¨\®;ÿ÷ Ã¨¢¥46Q±€Žì±›¬Wu º‹hìñ/E•ˆðºÒôÝDMÒ‘C(Î{ÖÛÜ·ä…d\r°~É¡ÏI^?ˆd(±¡¡ïFýI”>ÇÙ½„ø×ªšfª ,Ýﳑ”f /ˆ²}awq*=œ¶¡ª¿ Ƈ=ï7ÓéŒeQ²m¯çMb?Öõ³ß±ãÚ(ÕÉ&²©Ç(òíX ‹«å«–‹À Ù®®š‹ž¿æGÝeWKUfg¬—ãnÍYW¼€iîõá¥ê]ÉDª i°QÍÀ<Žâè"p'û1]ô&2rªüÞD¦i~÷ÅËòÁî'€þyŽ…>”H‚”N¶ÏYû.Ùì± “4ÚýöWméh\‰nú3”Ä·ðkal#/}R†Ý¨ ÉÕNü“„c:TÈMðøRœsòzª­GÓR LÖ¸˜\ Æp cM‘‚¿WOí›0Q»ò•oCêëRöÇ#Þ@!Lw'…$¨Y&Y£GÂîLtDÐkXP>È&`I@<” SÕª3Å—T‚%@iëg;0ÀÆö«cy_ä>uå‹èeêb©šwÀÉ/T=Z|°¥E"I?%zJh¼vwÈWK¿*p#8®ÝlààEÒ™oÔÄ—Õ7ó–3â‚|»µ¹Ò5’”ÁÈÚd™ºÔktºù.Zh{àñ‰CÔd «Ie’¸¿WjC‡±ï·š´'ç/›?折â†DZR{Ê2¿®$•è»!½ër…ÆZn@æbYPyêŸe­ú{^ÚUÖRýó—g˜Þ•0ßoh¿ó1ñ úرðéçÈdeïjØp7Sœ£zïÿÌ7jåèØõÏZ Ž ÞíVM}ìÐî–Ht(Íd`8›ðÕl-BÍ$8F%³¸±Ññá|"ž®%ÿ–±Œú#¹§Hµ6ûf*t‹À}öÎ`óÞœžãº~:þº]€äQ“#úÀ¦¬^™dؘ,5ºjäŒíLÚ9|ªöPåDä¨ ošÇÆSQhdf`ë1È(ñkÊÆ_ü«™A´—»·Cã^ËeÔû“/s3øÇb«çæA/âªì—è`ð EK“<­Å3b‹YÓi/‡ŽÕ›N («ècAv ™ô沈OTuc²Q’¦Pº][É6‰>Qf{í5KE²i•æ1~½Ûa6lö€²CÑD/ÃV8„ÓýQüY±½e›W²³:¸é‡óntŸP£(‹åPJ‰ì¡%Ëž,Řwsü"‹u#Ò .T!] È{`øgg§ÆF£Üͻͮç8ާR>Žøãü&ÑEꈢö?¬Ä–£~H/·*+¢Ð ’…Gùå›°L†¯è2ù3ª§³Âv$y8·€!ÏKÜ T,{ߪîRª âÇ£ÁüOI†Åˆ@57AÁ’¡ØyÓ*ˆ¹?ÜcéxðHUåq Së\4€±5ȾÁï°Ù=<¥› s˜wÍŠÜÉ™uÆ,òLBýÉ>`ÿºõÄ´' ¼ 9:üñP!ŠS©D`î×+”U˜±À»iBDaû¯-Ú—¬Ò ÞK¼…„à¿Ë‰O8rï@ÉM¼º –+a¹¾Ê¬4ЛQ-øž@ê2\f˜nGO½ßMy«’|¤nN8f7ŸLeP‡fÆ­ Ì–ò©H\DÿaÝ« 4,RŸÍ˜Ãô•9ÇèzJµfílPÂmÄKA’2)¼!ÃËoÒ¡aN ¾CQÇJKÊÀ~{*ªï£·èWBæ5B;2[ýÛèM]‹aw¿>Ï/®N$Ó¼™Ùyèo{¦±˜gNè½oÿ%àFÅ=q˜r(TÔÚI‘s޵a’ßõ‚…AÌm‰O½ÐÓž#SÏr:À±¯A"Wò/:·Ç²‚7P3nXƒ X×@¬ œ¡þeÍ"ù7AñwÒÿþrå’q9N …}’3µê’Ÿg'ìGœ‘þᔇQy¨¨Z±åÙ@‘d›ýI'iñ~û‘¶¡7®Ö’`ÀŽÏ|—SPU &5Eï£ëHŒ=„¯‰MfÄ–Vû'ÿ!ê½W®Czá¶^/ttÏ_‡u©m:9>ÚiØõ"ýœWÜ Øƒµ¡š‘]ßýÙD¡¹¤mŒQ¸>è¾Í²ÑîˆÀù¨Â&³9˜,€”e#yb âBð!²¨üÀÐé¥+²b¸™0J!V”ón$¿Úþó Ðφõ0˜þ§n¿ŸØÓ&Õ>–u6áL+ FS)‰XMb5×#…ÃmjÊMù‰Ç·1- m½óNPħý'.-Œ/¨õzvÛ!}\ÞÂêrÑ…ÏMiv*%ãq!ÜÕ4 tmFrñúe°šd£J2~Ûd Ù¦/‘á VÒëÏD‰ Bv­96è ýBr©#E "Aé%"!Ð's v™¦˜=Y߬ÍkLjÅxÖúi‰Â™©Å’‘~aR9±÷pÏqYư):‡/Îï¬â#02Õ³^Î7øû\¢»£B5g5˜~›ª+¼r„g1×Û{y±Û™t/J§éRøK-au ”oÕ f/Šcn?àFÍ“±=j·Ñ&\|\* gÃ~>DCô’\ŽYסUaÝÀ–‰kï‹Cô±L¾òÅ=5Š´ú<„;…g#Ö@b=@x ˆàyf;úÛÖ' äcåæ(z¢tÅAœ1|)¡É± #dj2…ýÄÌÐ¥Òà§oº.Ã;¿ONÉM)§§ûÅfiDkAü«~‡ûá3 Wæ¸ÖíwêGéè.ŠI×ÈXøüŽ˜n®Ÿþ˜þ”o¯ ŸMxÁ{¡‰»;2Ü‘»ø÷MrÖUþ0$*Vêá+)sc‹ê8@ƒ¿6f|÷(ºÂÞ§­H7 ºwã9qO´e°À°7+šv¨p§ˆ³šzÁ4¨­œÌqí9d¢û“én¦µPþÖj¿ ©ÐàH„5)MÞ=¡¸ªråúAª6ÝP}ì¥7Ïãpk£hH‘e¦}K¥¥•ërVE) ÷R¯x Rdà± n’‚tNó!v’ñ­v÷Ç{Ihàp­"ã׾‰$'©¬ÄÔ–w’¹nÁ8©•Á£­à¹ 3ÙT‡/Ùo EðÙɆpA, Žà!A-‰ŒÞ§Œ³@<Œ§bœß›ÂW¡4½¸—ZÄ÷üÀ†J±"1§„&§¯ïwIï/ùú­`¸ím“ø«õ6r*ÍÅ|¸½á‘Q(ñ$c̲ ¹$ÁÓì0÷Æ(Kf 2KÒ.&r:•»lj€CÜ þV€1á&Ç‘.ôèÐ dæG÷ˆpýs¯– 3ÊAêÈïÖn<¯XøaÍ%èÓ¾·÷] C•°—…%öà#aØ_¯5N}@íù,ŠÅì0w±¯}£ë-öQè÷½<ïE¯w…¡•ä?e$·«òÚ„\Õíî$}ô/Ò»b÷û!³)×^Ö`pºik49¥`콛߼žÃõ ЕÅRÁ²'èõÖ†©ÀË$»jz¿aÔX»Z÷×ÂF ÔÃàñxĆDãu£-*"‘» •4zUAÌ^"> ¦®"â7¢8‚ ‚(<»"ÁP­l¦6=ÀS\h&]/³“ßæ7ˆ3!ÅŒ^QCŒúgð·µ •áDyÑYû&Ú cËÏw<4žH1tÔS‚P]C›ÃòQftÎpMß[·dá]í³yJ["]°!‡Ø0Aå¥ÿQÖÀfª~ÀCO=,×oe©©87ï­Í‰ž¿ ¥]‘¤sÓ*ú&wD<æ=jE>,Øm;d}µ :FÖ †»æ†’e0úÏE'ö°Cá:ù{ÄÓ¶Áз¹Ö8e›ñí•È`´‡T$¥«G8ÍêÔ=,vÆ¥í l ’ÕœmÖð…Hlji„(.íSÚÉT¦3›®ªõiÚUòj¨a“ÌýPþ»ïN¨ ¦º\܈RÙÄ×!ZW°RŽ€c-ºÍB ~†O:wÏ©É³íæ†ñ"zäˆ8U›–M4oÙEã …AªÑ·hÙŠ.-|¶ì×ùoH÷±´J1>Ò4G¶ØìFNÆX¾Õd·¨mÃ3Y{á6ýjIħ0qåÎ:Œô¦š}4Nw™²GûjÀ¡ìG(F ¾[=ÑlvÂ_Ikͬ6ý.ãš:Y’NÜT…½º?SòE¦v¯•v­€,‡í­•> Ø©ÁÈ%LÞžÅcó,ÞãË1N¡/»ì Ÿ«HÇQ<éÞ°Kµ„{Î~+–”ãÐ@!`mÛÝókmØ(ž2Ô‰®¯©Ä*®ò¾õ(Žªu‡]Û.¢ßÇ€‰ÛϦk“š|1J?b¡—ƒK—£[5™¡34¾gãO?à5X´:E#ó ÔJ¬È8³½{Ê„»º[•@.p“K‰ ¨h'ú{AQ8+Á?“áÍánt ÷”N¡G,T@.qàf…Ø™ærª=É*>ϴО¥V+ ,ð÷Ù’x÷jÍ$‹dy‡Õ!¿ÛÁ±–ëï‹çäEÍ>ÊB>ÿ¬¢¾!èÃEHHwkdAÙõ´5ž?XO’ø§ÿ|í›?j e±u‰J*–»‰wôoÕê¿gOÖIPƒÚ¢®%oIÉÙÓîÌÇ”BN_þ`÷O@`£#‰® S½ËB±7쇟àaV–ìkåцàX*X ǧx3bOW\\ßN€¡J3 _§ ©õÏM®ÎjóZͼȸ?íò_!2*ÖYM7®Ðs·È¦:=ƒVÚ.œMþ¬<ŸŠÊ101-v×ûã u[°5Z+ܤ8¯ë+ýÈÆ„b– sÜ÷7(‹G¨Ø«U¶VûóSðçì:Ÿ§»3AÎöûß»®¦S±.ñaV„`ËÔÍR= `”Ç+ƒƒ2‡$~ð®r_‹¿€M(„B™Õš±˜ŒöXj>¦µžsˆí×ú³z~'§+ÇlÞfiû—.MÁŒ˜ía»DÖ4ëûà ;4*Sõøƒ`ÊOŶ« 3|qT'_pÁ…G¹XõZ6þ9 ‹°Û@XEi¹@‘§‚CYr©[š’²°­nD©°oÈβ<á—^Ýò9=çÍ7Ÿ|Ê „† ÕôåMbw8Gd Ü[Õˆɬ2ê"IÓûG ùÞÀå!ð}wN\g‰÷!5o¥q*zoýÖ$p?OzjKƒ™‰ Îðò*6{’âPBp/:6þáó&»ËÉ[Ë ¯ƒÜj'*âû.2ÆûØ+è­õ9¨"`»¤)Ä|ThS¢¢¯g@鬱æŒYË²Š’£=UGÊ‹åE§ò«oDd%üXg¼Ãš÷÷k¬ÔSÛ,vämø.„=•*Ô!(û²øGµ¿°‹×í쾎mjÊå`Ël·„{‚U×ab¬2R¸ÂGíìi^SMjýÕ£»w…òƒäp§–±öpÇ  J` y?µîïr¾hqÖWƒì×.ñ5‡–÷ 0YªV¥JÀÁîÑð*jFŽ-rHgWg÷Q_æ[R8^¸ßµ¯s× Òá¨?S¥dçZ(k–"KMûܘ)ã×°šúC—85ǰºɺTY~ß³€ÜúS"‘€Jïoœ Ò—“h冚þÜ”ïp%¤‚gÛd¦*2;?ÍÕqTB\ï­¶€½R€`ï‹<»ó º²\è9ýþÖûä*P„µ~ºæ¿ÚIx 轨T¾13æ W™œÛYýùH7Û±g È }åFîŒ;â;:»Ð¥§T ±â÷ŽŸ·>ìéIà‘âR¡Ád±„üƒ Qðo ñÞqUV÷NWU×j ZSøHá,úOÃí º?ɬ=‡¹tÝY×êô2!àÍå!«4 ˜ÝƒÖXñ’rWÁ|'Ñu„šIÃÞ¡N“'ÆüX GB<åT½ø;Çv[B®~eyÐÆ~$éºF‚{ù$ˆ§gí¤9ñ8M‚@(È>*è£?ÜpA;ÁÊ6›¼mˆÓxß eˆ§ìÆŒ¡Íì†Ì¤)AµÖáˆüÄA΀¼Ø ˜/œ2Ä~>|Æë|<ý#}útÀôÌ…lÝŒÿÊ´Ç k¥.z[DÝø¾;ð½‹k›í>Ò_ëx}¥Ú0‘¼§Ž)‘Ã<½dSO”üþ‰uM‡ãUǺDòÇ'o¦â*Ê£~Çjcb4qR†ób¸&w|Èthw_êHƒ•íŒdáiØ–—$ݲbÆóqÒl/t¹ów£9^ö†ë|þ=›‰VêÈ“èV%ìoÛ’ÙfûQF%I¦¾ŽË¤zë hÙâ±6% “@˜¼ °>È4­0]áŠ9˜¢5Þ\%ˆx©–éÓAkËòì[[àz]î5)ª{"–±})çˆ3°Ë*%Ý?ò-b|QZ809{ÉT©lUYLë=ú°×e›Q— ;Ž“8ìqVÈMwzõUŒ"\rdtv¨õW&)Ÿ®!£ê j©Ä9ÒÛý¤Í¯¬’D”ˬŠ)p–¤Æ¸«ëM¦„¿ÒôÐ;ö¬û#L ¨Z´`!¡60´õjÈJèã$1Wb½½,À!K¦6W¨«(N8³rúö6 ¬Â4_ ÷XzÛÉ53HZÚU[˜üÅïŒQ—£pÊÐ<Èßán¶4NžkܬҭvhV§ ¨r?Œ‡ì>6¾’i#ë7£;à®<±"µ2<Ò¸ƒ÷;äw3@éu·(W±ñ´EŽóÔ%†+´p;éÿ‡×<ý9´K¥½:8:X*Ý)ª$^å³0;ò¡±Ë:‘›ZKLÈT#L‡ä%r°gÒsHTÉ­˜ãÚ*B ­ƒS ¾ÐQ ©u–01mìÆT6¯W¦Ù]pÚŸ )%c/eÁ4'úGÂ^?‹÷Ü_ɘs>'ÏêÇ^¨J”WìTmH\› 箂‰t½T¤n샑ð?ŽñÚ;©°é±L —VîU„õ£V—"ý®àž%9&0ôƒ¥Ø²†SÚT•û|•©˜™ ë…ÞÀô@VK®‰¡òGO^¨ò(9Œ?WpQ'o°0¤ñÌÊ»¥顟æ"¯¢MÚÁÅÇQ•ïˆUˆÄê¾Ön¨;±A÷Â1,æunÖøo¨&ý l%[{[>ß‹ÔæÞ˜­Kólð&Xw`èZÚ‹³ Õ¡»ª„Âz¦är™‰ñö2Õ)ßã ’$âՌɭk0P¿ ¢˜ ð%‘ƒ^§¿Á;6Ê–ÜRç¼é±å€û8ñVÉnÊ(]K\9ÏÌ´=J+]q kóq{§¼H°oçgEúkú>%g|ðöE¡»YÞüž ËøÉÉ•hB¨| ¿<Ç¥Edƒ„é8¥J¶ÎòfÕ©¥’<ÂN:ét*x¾lC”âÖ‘ìAt>z:]cÖóºL(@kⳘZœy†kGœ,˜› næŸÉûç…åÿ~Q±Iø  yÅà—ìSÖ&W6‹m…iï ‰óÃH£[«ä*—æšõƒŸ4©ío½ÆE0 \ 1íšlG¸clü+($Å”šO ) Z"¸b0ï tºù‘å§+HëJƒRÌÙ Û‚õÍGÛý6³QcÉmÍ …¶ì³¼?v£[Í4v4(ÝoÙ}-’fØ!Û!5µl1B68ñ ã'T&M%™`ô•Ég牯· æ”%g¼m:K{ô!:xIyÌ,¿¦0 Š}ÍößEfs+¾škxü“"Éä~Ħ‡•ž;4|²öM?º¼dÿL=è2Yíú¤á±äb Õ™¿rÿN&ö¦8CÊEIæÕ• “V?wØà^Ý’0`ªÊ¾ŒÑÑàÊÞ(Ãfž‘7+ÇOxh9>QÐz콯Qqü}¨ÿ®67ÁàEÊæöŠÔƒc»“xû knˆ&S¨? }·} ':ÕÒâý‚¢š‚=;Ööz”°ßrŒxž”ÕyþŸÞ(ôW¦³•¦hrÞç¨íÌÿ|3l–Ôƒj4“²>S¸<…|£Ç›îº›2Jù!ý`6²òÂðë=I~sc_Ȇ=âÒ>¡ñ¯¡µß!ß5ÿ7†¿×3xø.·ieI¯J"uPÆãöF*`ŠV )s¬úÕóºFírÒy.1uÞó&†Ž'V¤#tâ2ÒÀí­‡/ÿÕÛˆ§ö4´>‰`dÆÍš \MÕ›Ju îþHOqhksÀ\¿ï~‘a°²È€Ÿÿ®Ä*¡©Ñ`­–“À¿–ùM l¨ÖÆà‰’ÍØ1Ú‡½ó Ž×¯·¢äË© ,4z$ï™,{àîà \À )¬V-OYêS[oÒ.ô¯³qäšÄ_·ùã(îãŸÔÔú7Pe.Ó}s@"‹¨ëQ<%~!ÜêÞG‹iÖڹ뤚E%8GF“Žow<üO>alè%îD¸,T #¤þ™ÔÞ#¹õÔEI`@×v¥µˆ„>Úb¢á°´ù½^X45øxFáåCµ!¶‰ù±%y*@8àÅà–É2Ž4a¦&á Âqù£‡óFRì"5° úΈIý+¥grýù`9®A”U+!Bò êqZ.øˆ1žB±%Yg±Ü.ýU_=t{¸™æI^QÖµ¬ÍZA5„´ÒÖ'F^’|<3ciˆü/ÒUNŠC"Úi 9BfºÚêwž`–©•}6Ï@œj<¨R¿(Âì‹.äÊ&1pq,9ùU ÇHWU½).`º† ÑÔhWG´ÿGâ»y|ô â¸†PÎá6ôlöÜ/õ&ŸŸÝÆéDŒÒ°q‚ĦŸø ûd4 ÉpLOââ“hK†F$¿bvÖò„ñÁ¹mÝ<³ (­­ú€}B6Ž¿¼ØÑ|&)˱¸S“ªºQå²Î‡ÒPvhOçV´BƒwÞg>s×5­>OÏ?£uŽÚìvYI]ña¢†26>ÿËÓSö_vK [8Fê u1—8JG ,dÒ¿)D6úûGvöòŠ QQOâ22'ÒÉjûPžÚ·üª'i6WŠ;ƒ‚ˆwŒaY®Wµ½$8:Wͱ÷Áþ¶ñáµ…»n™‘îú¤ÓÄ Ü-ÔRwhfñv#´CâÈt}ªÿi®úœS˜H¤ˆOew¦âЕ319Ø}°JÚ%C" æK¸;ü¬ñ›¯PØ›V?­uÈÖyŒÃÕ ‚È£ïƒÞ*NæÒcØ´Õ?Џïêú“–Ä …LÿÒˆtû]ûÚ)XìkXj|ã „®Ë²ôëËðΖŽÊU,´ñä–[Ýü²E]2h?çÓ©­j“FXdoTá׫u~P€õ–"rˆY¡±$R»Ÿ]=ä_`¬w©²Kä†Õ8•#üÇØŒ;Å~éUͱ^á0p7™[ØùX ú0WiÒ  Éo0/ê@žs™•d¥Übìn+st7Ϋ¤6ÁùJòð_WçèH¦!åx²jy•è“X{XzökÔ‰r»Zdm º¸[¶Ž$ŵÃþò_]Ûsš½*|ˆ‰l½Êá±5*ž±«4ƒúE{¸ã7€¸(—Í[ ”ßäQòZØD©üìË9ƒA»[UíMU€xhÊŽê<áWKÕ* -Ô1 Ø«K†~aã#!_ )…´ÄúÀŒÍ"ÞÎz¾G /ÝÀПGb:øÒ¢~ÜP#ÜÅï™™‚á|ih4æ l¥Z˜"<Ï=ÖG¥èáIº¢ `%uîà»üŸjÉ’ט¿nû·Ö3×å_g^ê9Ó,úìkoGXŒ¨G&7‚ÞäÎŒÉWç k’reÚŒ­Ó\¨8&~|ú*Œã2×¹+²¡EºÌnÀH^å"”jl£=iÑñÌäK2b‘ýy"Lô¯ÊÆ:é8ò8ûL\b}A0”YdïÚ`]„`¶3H‘žë·æµX@€%<Jgõ·žº>‚4C…˜Èi'jeô³^‰ô WÀ0ù‰à˜‘Iîôƒ²»€ùöÆõŠÍ“<Á¿e–Ïã²L^‡ÇoŒë.¿w >'"q“SŸˆM„Qn[a)Ž ~A1Úo•p®¯¦!a¥F(¸ÕØœÚö›þ€àhQU@`ÂÛŽq9ivÇx¸ïš^N½ì ZÎŒ!zyi¼eÌ2WÅl8‘ñï;Ýó³±ÞB¶í¹T³2@ÝÆ£NÌ)ËOcè7žèúY_éðbq ëâo=+1‚f’ÙK;Œ? >›Dí»êÚÞ¿ê³µ Yþò‰ùsÏH[hSËðm_tÔÖL²'¾>æ4»åµì¬,æ84uŒIœåÑ)yìhµnZ=ð•Þδb Ž« .R’*a¥AÓU朆ôOË‹KXÇâtÊ«rË)Ü8¢ï>w,xŸ€%‚V–—c€VaÏcÙC@Ág§½êbÝi¬?š ¨l(¹ l²»x=EÅvèFÊg;ÓRÖ5;§ŒXáSØq§£†áý6Cߨãi³QñÇ×ÏÉ•ÛúHŸÒ£é½d—¥îî4úϹ%Ï®_üG£E¡šÒÿÿAM)JóŒUÅt‡°ÚWöŸžA0î³½TIJð’2™Ð SpJYŒ(ÛW 9Hõ6¤tIÇ”ºÈ'þ­L]õWˆÌÞqXý[bÎoúo¿ÌÄ_X –Š«=JÓÒœ‘Ì€Sx˜ƒoÊ]'ÌÜ ‡¹§lÓ±¤Ý¢“Ñ•vûÚñ HcØ›v©ï#f,ÿöºÆ2êi„ø^áñÈ£n˜Þ‘H~w|õÚ!¾i‰7I¨y³æ?qKüö÷Ç€¥9–ÑÂr¿WáIÞ5°(Ti,¼&&EmnÄJq]ð…Å|e‘ø¸ˆ|«ö›õ;4BÀÔ7ºa °øJO·œüýyb)wg®7Òêý?B´[*®*÷ú=mÿ¢=3ŠhGK++lý±©ïuRh£ZY‡ xP¹ìÔîÛ¾cÔóݽ;Wh‡Úsˆ« DŽ1ÍryG,·v¡ãNÎ ðV·³Ï¬ŽðßðAI(Ä¡ð4¸K–À—R4Úþx˜×e¡ÅW:AÄŒgIä`Ö™m@‡J@Ò”­ñ;ð-0ÖfÐæòú(f$1ìά‹FêÏÌy†nmÜfË~Þ05y))‰]¬Ú”¼.‘e#=>‚ð)B²µ‡·ys“3Ë<®2©>­2\µd¤É-œ0É6=lXcñö.¶êŽÊ`X j¾Zû"häþ]¼ªÀªh‹…`}ŒFõå¦$·/–M â5›voõLºéõ¶—í|”ÎGú„ЍJÄ–˜€ÏX¾÷7_(!oò°?ýîZ ÊïÕa‰ !f¡†b?Bެd!ÏB7T‹¥iÏë` H½!ã'ÏØ²[çu ì5QÕhm) Bµ¿ì†]%£I þ«t9æ+ìc;F Ÿ°#uEøAºÈ¨ª§“O§¤ö1$i~-ÙÐG‡1#j=¶9М‹›‹LÀ©ˆU¥°ÆQWQJ±ð5F`‹ò]büÍÄíö¶/å=’™Šw¹¢fÕ׳úW©Aú{ü%!I1’)÷¼˜fm“Ó“;†æÇ©µs«‘z|í¤É±”‡»&9Oß¹³Þ›ùQv‚tÙ}8£ò÷ãÄξ“ 5hAú$«åÝôÆØFQºWõ˜‹Õq®øJ¢åÎka{7*KØsöFh½â;lä†ÕŠã?!Kþ Ji¦å9šíÕ£OG¼áü´T(|¼.(Y™µu͹}Wn*<À‰æá‹n¿7O7¡-e ôÛv\ra êö?˜ˆžÔ`óêa;fQ…”ËŽÒÖ‘Nq9ÎPA £Ýð60j¹ú¢ÛæÕ2ôi…„{ê{º içi½¿LE:ˆ ÓzŒ¦x–Abоsà¥{(ï2tõŽ#ÞCéÝâ šiŒàx•Ð896IQQ „€œºõëü*= –ĵ!WçÔíÌESXƒ8ýÆØ ©õ+?—‚4’É"¤Á²r¢êÙ]KH! êþ£jÎ4Š¡ýô‘*yblÿðÂîñ©äl>}ÏÎÆòáÛ®•¾{Ï}—¥1koàÄ:hÉœX«´ƒ{ý³aÅ÷¤ƒÉ§¤õXè•’íÀÇ´0.=ff¥ßÒ<ª”\†Ïæ¡â¦ §ù$&Ÿ¿õZB‹L}΋åáj†O§×“_Dþ–€ë «Ø(~$¼9+`qÖnr ¹I Wš•bãFrFÚÈÈý MÁ»¿"3õ´¾™û¨ œÜ>*§ùê÷þÅB9PÀ@ ?iÌÖ†Ð9Íd;\¦jš›… Õµ£ÇÖ÷üæ|ªÃÛÈ^ŠYª^?k¬r™êxvÊË7ìäš|JŠl­}Øa+‘îçs2lGÍD+SJ} pÇ:Oe¤;­ç¤AUV7»;îh¡ÑÈyÑGÍù¥,Y:£V½øÛHùïê&=jqvŽjâjéÅ™ˆ®!´A€0‰@C€Zìα`Ö9)=5B ƒG#EÏŒz)cÉ¿¤Cùì;8Áòx{¡ŽІ˜Š*dz.†1:ÜÞŽõ—9²!›5¤Ž:ïYн˜0–kƒ6¾üÄ€}JÝ jƒÿ³ð=fóñ”—0â}ªpÔUÞ” |¬,à5°»ÞÀ\FYúh–/&Úr<¡ø«±ÉÇÃqÅ&XÌ”Š³Ïuyâ½cȽvàŒ,^¦ .Û¬>bÓMíoìz¼~éEÚMgA”ju¶ƒµ‹5¼¯¢4ñ‘È~? x¶c•µ˜ü»/ú³ìSG>à¢{©aùÓ¯ ÿÐA’U€©Q7TÎG}˜Ž“\Ä û'áSú.pÏ™©ú^÷àé°´Ep4Ï‘þI"Û‹´!‘¾Š¤¥=±^žîÍÓ.D:a°ODÙ[îwbÿ±¤ì°’°"JO"Ô—4tL„äßdè7.Ço[;Ü™ ýNIV}—¤ƒÅW}BÉ ‡ 1Å^G%Î_¿U1¡DšÆUu'Õ®ª?„¾3mæUú—²`P,U(ðŠWž¹“ÿºü†Ç?¯Âæ™±š¥éøÊ“²å·óõ9Ìt½šˆURã™t•+>x}€Õ3ò¿=o~?™Ïgº÷Ÿ`å  ·h";e³ØÝ瀭®"äv‡œÅ;>ž› xÂÏ@ lén´A¬C;›˜I¶|ò´ô‚²[íU1ôEeÁ÷Pê|‘„hòd=âÌdfXzúöàÀK—iŠ;›sÛZm™cTâã/¦mWxYºJ±„ 3U‚ñÞ†'×™yNð¬ m×¢•Mbþ­Sö|5G ø¶÷‡±ûdÂÂÜ(ûá2+l‚–uˆY\`ìlÆÕãk½Ã¥Ÿ~J0è"¦½Å¡Ýf?{/–;,§^¬y£ÈË¡§f&÷ƒz4ØéÔÆào9EŽ€°ðô›½ˆ€Z]´%ÖMP\ú”Q~ÐÊ\à– äu&ÐÚŸñ(»·eÿ|Øséâü‹ÔTjEåÊf|µ$^L‡Ÿk½dë\Ö}ú0~@aÀÒî½ ­5xÆ™9Ò1¨O^xô'AÆÃ?‹»—ð0Ú??]X˜Ð7‘!íOSm~HrFŽ[ ­2ðVa‚‘`1‹«¢&=ú¶4‰} jvöÍ2çj¸lR¤sÆmï†I™´//§t¢º#&¾~™BÝ)ŒÝHÞ"Šrîy³¼ªjŠ7‡àdÂ$ˆ^ éå°;™ð&q´°°&ĪrÎÕÚVqä„a9;ñ÷™’Ùé”åeǦç~;5´ð̲{[%ú`&3€â(ŠZsx¼ˆ%Í<‡O¸¼ôdx Y|à+k’‚‡’@CÝ6÷‹+ãVÍÆhý)æDâ ”JaßRIÓz.^Ýzôëî².`·t[Í,8‘+¢Ýøª7±œ®§f¢¸ªÆ|ñsKa*“ˆõ/7X§áýŠÛ?S×a-Bˆ_ÔNP%€²=!TÄ¡ ìßL•>b{“TßÄQëÀS2 Ã0ܺ¨ Øìˆ%ÿ¡„Ú£• ¼ƒSûúcd)Ÿ±_cÃa÷­7$oˆâÆ?:ic‘AÔ#…Ì4‡w8eV¿}UOL‘´¸Ý-ñçiÝ^Q¨:6Z5v11søÈ#q Ë{tމ¶IÝauCÛ ãåÀ®¶Tô—p]ñÔ Ò,axŠU›q-Þé§ ¨â¬Ã—%å—mÕÊå¡°Á’Ü´ÑǶò‘âåo±’£ÐdÚùÁ”•gý¼ ‘<)_ˆ2žVØbäaÝ­¯ }™¯6Wg@Ê•Ôà¾u§9 zÍþ!½ÏOë{‹uèë{^Ô©‰pœã¢ Ûjú Óè„?œ©HÀ¦N$+Ðw‡+X×€v„@˜8׿JÛHMÚ}–v•~õúuÒÀ¸¼i×åi9úù3ÄY;ú*&IÒ@ ø˜t|·äE9.[àýæ»a˜Nk4? ñ„f|ä!ÿƒ8FåŠ ãÐåàÔr€`Jâ¸Þµ:È$Ý玉V l*ÄuL×ü¶þÚØî2»…¬ŽV {ó‰í8€° É35¼ ‚€;ÔϤPJ§}ˆ„ìõ©†:OOAh'TÕãN¯çKØæ·ÿ$ÆÍöúÖ:´Ð;¨‡˜ž&}…¾À¬~ˆÒçb¼{œ{<áØ"wM™ÅVäÏ5¿býÅb{³$î׿Ñù,|ù¼Ónûà²&þµºyñÄ?ª@ßè}ÌIJIu­'°5¸&¤áÐ!G§cµyÕ”¨¥ŽŽþJdá§~×Ûé¢þjªî_Ä#TÓ¶Aû 5ÐêüögËhàÔir9sׯ–è¾FN•\fžÁIÑ™<:ígf¨‡B_lË·¼dʭ؈?"¸Ì†jмޮÿ™N ³'ræöÚb%: a ®L²`ð"0"  AZà~¼[ì1’*ó^A}Èl{_îEgü–A¢3o¹ô|ô.Ä>x±&ö¯x{ùJâzð'νm"Ûhë2¨Ï†þr3n[2¼zÆ?vÜ!‰U¸”¶É§ßyhϽ߄rÛxÚ^Ý~70“]/(‰²ó™1lÛà9‹ÎâÖf\·3Yu—‰ô&|ç#ü²­æ4É·!“×LùNuË Ël˜râq· ÉTøÀ4 Px];f‘ŽŸé%~|€\`ÞB"ÓÜC䟗¥Du }—–òÖ @Ý´ §%š¢š},½ä­<û_‰¹¡™¾"¢=– Ÿ«–w ~.|zË6.ÇG^¹q”"n¶4S\½T]:‚ØVv4ŠÆ< Bv)-ž»Óbwüf2õ˜¾Là¥Xg÷¹‹„ÁÙf& a‚K| ‚ c|Azif|îa;ªM4 Uœ¹ÜÍŽ¨·É°Žã(ŸìáœE×yOÐ%VUÑ"Í«†œ"™­éÝ?ót³³ñ»á€Zw¹Õä×Ã_ªË õ', ìÂèž¹LghxHLúçÚ±»;{S†¦£w>cÌweœ¶à¹SÿgW5ëÔŸÈV(ð”¹zÛä"Ôíé“/I'§èfpØÆDïUÓ³êùì:ê;Ôý,#Ô‰ÿö9N7ãä™ö¿$í´Êþñszy/jg¤ü€¿=õFÓ jX+,èXÄd™öˆSI¿k$5Áö¡•ŠÃûzaig^¹ñ^оì }æy²v µÔ<¡¿ŸG&ØtÌñݺÑv’õÍ™¸DÚÈžiDëw—ožœúSô)ò™ÄÑS:DôÝ?ýê-&\TÀ…“MÜég¸ßž°Uæˆ$/À—[EôpÃk+œ«kåµ£úÍ(G$?ðmoR[ux0ãs±’\ïS¥n†d¢ª)æ0¹ißé Ú¥ë5TöÑP=íœÜ0¦i¢€_þT +ÿÌ؟/®ã— a5 ¸ÚéŽrS­$`£žÍƒ·/䆳²dPâyHŠ“}sn6Ò¥Qwkõ¯Y˜ÌV+ÐÔm|xm«Kõ`ÈvÉ]ÌÎõLÒ¾`™hEH©Áñš ó}Ý›Û9(ŠÓÁÐ3Òâ¦rɰ`zØïW•¬?_tZý¸PŸÊ÷Î/²t°u ôC5º3A¿ç¼JL·7Õh·$ö³{ ñîûÈ4X//ÉãPýLÚX¤±˜­ð°A-MoÑ9Œ‚u숉N[}[S˜€ÿö¶„{ù%Ñ»|Yÿh¡!"Õö²`#^5åàëìÜV‚\s®Gm•Gþ}B(«—$Dhð:Â-õ†Ñ-‡øžÚo/®K_ ãÜ­iÂBîùÛ 1HŸãÙêBÔ]¦ÓšØS´H3Qu)XÜŸ1ÝúvÂ2^ÙX•¢€ß?$A©nŽ /Ý„^˜j±J¬¬ZF¯Ÿ™[롟µ—èŠIvŸ~H÷Mü×ÿí1Ê×~¦‘ÌôÌÊóðY#×)¶Ö,*‡É³ŸØ¦¡ å·²;YYTÐ3|›ô÷”î@¯– nüçY±1á~#,˜ç1å°r«EEô]tÄYj}kIJ¯ÚD•B† ]\'_ás¼¾3VÖV®kó;ÿ漆?UȦÈᜉíÊâ”.ä*€0Ï#Ô¥ƒ„Ç¿"6oYÑSuV9×—Sr;ˈ|„&¡ªdˆH¼hB­ÿ0u°Àù_#ñ;€z+îî†ÅβöEÛ“es±Øpl¯Úöt‚Âo—m|)àÁPï<ÇÎ[ʯb(>¸F™YvK±¦‘¯6º¹úVoº¶¢µøP×ù’oÒ`ÏŠ‹á3ñð=¢}y¾ÌS®!AæÂÄÿ;ôt1¹Æïˆ;a´j_¥À®›¢DÊzLî‘Á Ã%å‚…Ct]Ob™Rá_ƒZ¢¯âWr 1ɶÒ|n¸Å¿Ü\˜Ýд‰—¸Zaô˜ãª³è~–Û D8ßpkg)`rÈHOð¾v®¹hÁ¤ƒ  ô?ŠÆ §j›†ÀëV¥í™àá?ÛÚ·c~"Í×ëEà食º0'ÏÐrmV½«× 2,¶½qrËö.öê׋yë<ðüj·9/†®fim-¤žgt[‡x±áÿÀœ$¡CgK`ÞŸàösIóV$4ð,E—À£¤ÀSÎCêã܃ªËæcðF06ª0‹xIŠHQ0H°üñ½´6u‰àôëB‡‘|PŒÿ¥~Zu.õ¹õejXÁ×!$Ô'NÒDÜž:­1Ü žÕª¢ ‹-Åæ»m­¬ÊXD°®Kå§Ñèévn ”tˆ[†D±+K@ï|>,7d/àVxW2,´pïÐ`ïµ6FÃI—Îô‡œ¬:LWáÃOOdkmö§úñv5k´KãIÇ’beÔLÁþ'teÏOU©4+°Å×ÔPœ>X“NB1{Åw‚õƒp©ùs·âÆ|¬ÜÈìwÏ”-8·(XÓ=’kPp¶[¿°C9 ””¹<>H1ã%á~‡óy'†Ñúúê–V¢’‘7k{êmu¢ Ä0±oÄÚol 1u!qN=]äé§ N¬DgºŽ6¡ ‹œúzG{«]±yÁ1‹E¾€Ú÷ÄEpPe)æŽt×/RXyËZ÷`š“·e/î úätþfIˆ­§~rNQpéèû9äÑçhìN?g_¯ÕœµMgµˆ=åÆ2)úxÀk1þÚ6¨£÷ø¸¿JEwöù^MXDàˆ…­Æo§‘W‚ùºZ3ÈôG÷ÝVl2%‘tа0Ô{^îKÁá%XÌ N¬•“Ø‹ÆC°R™Ï"êæd“ Ÿ§ÕÉ —»#ÜmNS-_ÃYó—jÎò0Žb´pr}ò²lg8†‚±ßÒ†íxãénÃI HO‚Äq ÚtÈiôþÛûF‘½ùe¿B¾$r1Úv ù4)ú¨ŽÌ 9w‘¯©±`V¥‘Ýöޱ œé ÏT¯®¹•¸×·jBý{oÒïÉTìV‹•xϹiö:zààxOUÅ‚žýÞP ן‹ÞßDÃáM*dóÝŸ¥íÊQ~E×Ú6iÆù@†”ŸøŠbà‡/Ñjæ~rÛÕAé—¶Ò¨HóU›&î(ô(W¡“>=•,òÚ2–ïUx`âvš…#1»Ú~ÆãPɸ ­ñdÛø¡;nX%¦x Q¥oØšLFy˜`Ùpż áÕ«±2±N–¢ÿkl<Ôhí…lL—€>/ò;Ùà†lP5µ¹Pµ<§Frù`¶^Y=™/1€Æê’2ÃíE÷9\O½ïw7"=Ü‘zÛ”!¡Å8\®*Sa˜U¤)RÒaÎpøEŒêÅ›XÏ(KätçK¯Ô©ÚŒü¼dTj¹–ïjüÝþêJIXòd#å&çEþéøVºªÙýà`›Q °ü˜“Ú ÍÅ­#›L)2¡*ë²þzKîCn›ì{87Yô ¯'©3ŒZ.1 'q mì±9÷ Ö$mº’Q¸¯ÿg=-Ý„‡<ŽÊ_„gJJÃÿŽÀ8Ù¢b…€AK¬bTÏýCoÄVÂ>ûèߺŒµˆM I9tÿhþtÞÉiÛvze°˜…LËò‚á ¡[5õ*·täõîW9~Ž£çU:Ÿ”À”;89û²"Ü_µ\`û~ü`†Ð:uÑnºcœ¯—i_ÿnQçTø‹_¸ÖcßBS!;«e"¬Uú% 8¯ý<ÛÛxBÏééXmÕÊþƒÜêÞŸwp}¤ Xm¡ )ì¦.ǵ¤…=R{žJk­˜ºñ©p_û ù .\Oˆ>Z"°Ãvö¹]Øc'ù3ÕÖ+Ý öE§}A'²iwÏ´FŒuúø|!.bBá߈ÛôÑxê‡éÀZÓý´ƒ©®t.¿›5D8fG”=æx¿-+ÀL9É7jìy…(ãhÄ–z 0b¹Êëf‚ çþè|M9š0Çó$#˜k~¤kè¶(ùtèðùƒ®Æ­nôŒ‘©Øôòá}ÉsáŸXƒãâ6¶êÎÛnEÝÖÃù™˜Ã“zEGN’pÓý·Ü^œl­ùŸš£Ë=YŸƒ@þßÕÉ(©;çx "Æ„0­µO…zu%þ}ßOØì  Õ¯c¸¸ YƒÞ›y šeosM߀!%¡BBÏÞÃ*i“p¸‰BR3öÜ…7žH ?½Þ Í>"A½RÄÏEJd+œ¿¹ð¤ô~LíÈ%'¶É=6––A ã ™Ò%îU U?ûæ*Ù¹Ùfï¹[;f,RLk<ÆøâR`€¹RÌwôüõ~ÖB’o²1­=•PbŠ:Q'¯x–úÈ'$bD-q-¯â@®;öB'Ïšl±¤ùýÉR_vëÄÎcü€{[z6ƒúó*%¥ù0ɾðþæ±°ÓùykŒJÄj1°ø MXGß›º{(<D'ß6©ý p„fï¦~}uežrX"iˆÆ²ç‰¿Ú–-XÞ£ñKþ‹"̇Ã/4€SM—gZÏŽ h[)„Í=H„ó{è.EÓýªS4aEÿN8{¦U­ŒQúüÊ î¿&€”)ž#n½DÜ}SïØÃÔ™=;Ë%šs3܆Å)¸°®ÕŽ…5\îz—¯j'ï<žã€rœ4>ÍÍ‹b8ÄŠì.éæƒnÞJ /Hãºt'’oî_ ¹ f?~4¦ãGŠ®]òÍ÷Ù 2‰r¸|$O§tã3`ˆu ÏMž:°Á»xœ¨z JFöÎ~ìq*äâ°ŸËlΙ´_ óâww<tA·¾gÝÂvXš Èw¬ŸŸú!á. 3d.ûôG­÷™ßšQ°Ýñ¤{:KûÀ]mÜkøêðŽI9 ‘Èò™®‚8²ìáÞ#c ¼_NµÞ4žìáUžŠÌä[¶:¶q“Ñi››°$„·Üâ b–¯Ø™·öÝE» ŒŸ$Êj¥b=Îcòîè¯[`[GÆvB¿Öë¬Ða¿Ò/ÒDôCÆ [$Wè˜ÏÞëq‰ùƒíP§Êl¸É-@‘ó·×…-yÙƒm{‹Zœ¯¯,Òúœ·¦Ö‘Vëƒc“×§Çü¾»ïêIÝ]P±Nw½âïÆEusëuCqsÆÞÝžM{A¤Étº¯nÒãÄ6Dú@2BÓ¡,ÿt<²haö[0ºxU"iW­‡;øLÇ'‰r·NÄÏp3Ü çî¢M2P`Øï´Yú/ê*möÁ#b%¬á†xºV]Zí.Ü0ˆPØÂ X&¿‡Ï5tGA¼O± ͦx ®xMÿqCn86ÚÞ,ª×¨_[Áb‰bÕ#ÉÁ‰eD”Q§2‰Up(Ÿš~W×ÇPR*$ßž\a 4-o3û7ntðÁß¶ŽÊ@ñpNüWXÐ~$1šRiϼB.+C˜Ðåñw¨‹ŠÃî R+ñ&èqp4–7%âvFqpäžÔåTZ=­Ð ÏTÏ{}ÃÛ/¸{振‹´±[é;>l9§öHĬ»Ð5nG—êñ.ãÄm§ùñq¢JÒñª~B’Ž“É€àÆ¤Ÿ÷Ðh°³1vTݱUcxm}„Pa/|ŸI¶'œàÙüV•ü¢fä_Y†½üjCøe fZ ‹„|Ëîœ+ÑÄ‘sü¤â§‰ö€ ê‰ý°Ži4xoNåÛí«š›ø¸Ž›”-BßwTC¥¥r|¥É f8¦ŒXi*ljÌ¢§{<ŒùmÞÃ)(‘'äNéxrÁò„OÔ:ŸÀ°èß¹ýx;—BÓ-`íU“ÙvpFűÏ÷9oÅèc·¿œì‚5ðÎ,ö·‘ž…€Šä%c Æü@Ÿ´{h`8ö9-…T£ÏÛ©¾ ½g0טÂÁV›*sàßBQÉbM~ê“h)¢ÜM|ìü¾Bÿ$š£ž†=.‘  4 ·-”`𔾾ygÀÆcݼ“\墸ù+3}8[œ\ñ‚„À¾U¶¨cPSå?T¼+qiqÞÁ£‚êƒQœ…ÎdÒÒN;ú¤ÊKUÙМV%ý¹Êc­èhEíŠä¶<¡ªÃ~¾“þºßZ'SD™’Â_4p:h“Ç0MºpZòŽÂ„Gº”zÀ€ ~óT®BXŸŽoOÌÄÁnhvµ $¾bOæ–éô˜°* :3ÌÆÕ»«¢¥1˜35ìþQ¶>u·^ýÂÀY„åuÈM³ìøMâð5‹«&À¢süü °QÄ\y¯)ª =¶N|¶+Ö|“¶°q _a 7°&fçôY}¥Áü~Ï7O-I¸1áz2Å”í!G´bõNcd̳vº=ÅŸè³±(bÿÙ ;m“;g‡çkÅg ö†»j>’{*—¢øUí³¬›ÇÔ|–.ÙÁ‰0kQf,Mb<é00úÎe–`g•5Òá·©`a07îú©MÌ2:¼µdtÀ ŸkÊAÚáG¶RÓ>‰–ãã#p±FF`‚)åd©µŠùbA›ÄJòÌ¥îU)Oå_Á‚ö°¿à’€$djBˆv2ô\ €ŒÕ¥æèF­ì|³­rK¾êåkŽÅ– éPÍù÷sûÊ{âÕû8^¸Æéô%F³_Æqõo:ié°ë$‚#EÒã4–V6ªáÕW<”!‘þYh”µ+Ìie¶ ¤~»þ 3r,I­ç!)@\콚.ϯwwðmDËÙôY¼Šuh ÖwžNy\溦ƒØüzÿ{"‘ؽÝ,ë¤}½jð˜Úö4ÞÞ:8aªf¼"k¬rwoÌ+DvõTúªcqÈY BdÓmøÅkÛÅÏ–T{etªÖ|"S)ŽÑ³D4þS;¶SæÓËX“k…Òþ¡«éŠóí"Xˆ©ŸuT1 œâ"/Õª÷Æ_ Öu>ÆÞûm{w` fù—ŽUµ˜ƒ)ô–8±Ü:¨¢)Ãäò‰n\íÚÆ…ÇOò!Ò°`8†ÐïHq)ŽÒìªúÉûm9HòQy¦GWÇúéí·ŠÑ»*ˆBly§¶wꦬÏô vòJaÃ’ï%·ƒ¤+Ú¸ëØ†1ÒõÓÇ—Y§7"çsÐ4¼‰' ¸Üvûý0£Çh§`‚^©þ¼NJ" û=äÛÕ'Ú¥¿RÓïDïúøo“CÀö¢xÍ*@p¿~têj¡ú1íË¢¼æjÝÆPš¾‘â#×ò âì˜ý\êiQcB;cÇ0´lÂfg-Þ©ÖM"[f€Íeä)ðΣ˜WXó–HRÿ؃աU†žÜö——üO5Wrƒ±¼´ø$É1Ú8ÄJÍ/)ð¸'E”g˜ *ß½ÍI³ñÊ÷“ô,­…´%§f—æzaÅ›WˆÁŒ?_òñcy«ÈYß|»YtZHÀ-;C¶¬§u|Í7øÌñºÉ‘,e*^ 3ÂÊPyJiç$ïU396Â~ˆÜj3­)ÞD¬äôg¢¡éï±bD¸Pµ¡M&}˪¢î¥± dJfAuÝÇÖ@ð]q™štz!ß/ë@Þ«u窓òàU'ù2R:o º'9KBðµ–øÄŠ=þKë^=’c7¨´öÂ(ñ¼žáh‡§!ž.xFNÝ{(ÒåÂ:£9V¥k&õ«ÍÙÃ=Kv}¤læöðE¤9ñ-Ä!D‰{>¾É6¹A)<œ5ž¿½¿ƒÊƆnÖZUV>è~®7·™¤NK‰Û­Ñ®Ÿ³^öïûŸ.çâKhÜwÄ ›Râ™Êÿ\)•ïìb=k–˜Ô#ú·B5âý[²º¦ÓnµÑUé!Ëß‚ ø4zÛnËbÝL0Ý;¼øc„î—„)ÇäK!v‚•jßDšQjnÓFmOÁÛÐi³ ££&¤OZ »,„i¹&Ê»½nîŽÃ“ߊ ¾£ÐŸ¼ÌVVŸì/Å™’ ººŽ^йl„"Å€Ûz½k Ûç̃®BÜþJgE`º*Ó^eÜc1Û³ò=J“Ú^šâÆãåíÅÍxäÔ*r%´±ÝÉþgî þž jQÆ™|gU•A-Rà’­o×^ƒÁØaN!`šOs/cZÉI°@§"oKÏuÈËrŸßâPÄ{Âk‹”[+¨”üýAXXCI”ú…‡â¤Üô‡²IJÀ´Wa±6 ÞÌo”à.œv‰aÒ¤ÖL¡6¼Z æT¶<Ò±¦mTÔÙ8ƒpÞ@a§GáŒkÒ^,Bq.º{é`ÑÀß~ÔÆ —ëh±®Q¡°Ø»™¹!{jÏQþ•!}‘\FI„ñfJôTß0lLß}^äèOĤ®¤ò´c?\² º`³Ô[)#ùǺyLÑaqüN9€_øÝA>fïN=²æ&æ‹å³tx¶®u¬d«®I>­œˆ¹ØÌÅîÊÜ×=<у,.1ÐvB Qq7åð éð÷ò¥rÈu5mzui7¿8ý»ÖËl®Ãd(™aPOf¥¦Mh×§&'ýñ“ôÞ¦’ ¤(5_µàˆø9[âÇ¥%çèé¤ £Y‡J_À˜;¯‘Yäh7žã Žš¸>³ Ù_]:Ñø]ߣ½O°À4MyÐô¿œÙ _JÞèçà²yiMsIö»rqW[M¡AúC5:cǘî68N’{­h·ô‚µ'+ûƒ*³Šã"‚½ ª¼È…2¾¹\‹Ð#ÿ¢!ø),ûqëYø;,+ê%{‚¤óÚ39;Ífy·^n¾l#‰~ðOëÃùv`•âçò^«Q›EdÉM¯õà6Kû+üœœðaVðaɆl¿BåÉærI×÷Kå½ÚÌ*‡žù=wé÷Çü')bÊžF¼Ë9vKaÖÜ og*šÄr¾Ýw™zܬÐþ‡$¸9ºæ U~`ãñ©3`¢iwÃAÅS\NÒâaO9.¨òv×mýÖ'YfPº—¥µ_F(ö‘¤i¶A´3¿\½Œ>5ÄÌ—ª âïŠ;.º1¸ªÀ7hZÀMR:0Q4sùVr8ÝÇkç/,óÜ –Igc^ ß%ÚÖ.­m8ðuA¦#Ô¸^c‘¸2ÑópÍÄñŠþÀä,ò“¼fÆ:b >/ØCÑ`šý.êˆGÕj…ìÐDZkRrvÖ˜@uÞ†cZ•£Ë=¤é5ƒú !4ñà±—[h ³†%ŸkNÚ+µ_§‹ØRèœP”v™À§<:óûŠbB6ÄÀRˆ>-„ÿ<¨~ÇÚAYõŸîÇß9êè°`_J\AØ›®E¨N¼…òÌ— ×ë6R@¡ /ªîšÇtšÂ6"w>§„­¥Ï=æYH(2Haº†_,Y¾q'ãtQ«f"áZwn^y&̽U!\ e‹Á·ží' c)³zÒîótTÈó%¨Ïz‘¶”Š‹Lna™îƒ­åFï^õ:îÝ|¬•ļMýયdך„šÎ €Q²¡·\+gaä2Õö+‚Y(µï‚ŽôÄá¡L ÷x)éfà‡Ÿñ=o‘8¥«…j¡ÑöëØ§/ÒBNàð…ë•!ê¿^ý'0vÝ´U9ÅEå«åk’y)Ž•c0ùØên¾„O™:ÈÕÑ@2v¡–Qm„´ip°í‘œR˜ñؼäÆñÅÚG­~¦ÕuH È쥘1¨ÏúálžO„Iqvÿê—ì™Æc½€«l|ûþ+UócZÆá(!h1ª›î³³ÆK+ç\Ðó%q’W:a¤sN®s•UrZÃŽfht¯RWuzùÞ!ŽÃ¶WùIMÅeÏZ–‡ §Csår p‹Î¦ÐfÄá$˹%yb$.dBNùÙz}l©Ð0ÄãÌ—c!»fF0ÁÜJºOd5X¶Rðí”`†¼5~é‡Þ¾4ƬÖÿÕ&bçä%À‡ ,†Â4 1”¦ÔÎ$Ò­ O&Cð•x˜°M^ŸR?1«°0¥¡Áùeµ@‡ÿ’D—fL%Ñr´nØá.ùø*â;@ªçþÇw®&o±’ÞLà{ùi­R€¿"U[ÔâŸf"ø•ÄûìO_3ÝÆïV«ow÷4O•„¨*ŽÑ±éR¿Ác^B3Š=®—ÊŒÙå j"{åÈ¢G(S¾…QÑ–O7ÐÙæ!–í­Ôž„p.Ó¤ÓKﻞTÂ꯹×k/òXBéjÐÊiéš2ÊZ!%ìb‚ç©Æ-¶°ÑìvT¬VÛöÙe-¼Ü@V_XØ•C0°½JÓ}©tzÙG-^®$’X³¾QT‹Î–œÄíp§8l^êZ?gÒØ¿ß]³¼ÎÚÊœÉN(±H&¾a瑚Ä7±†,öÀÄ>h«µÆœAC,þ¥Ê~ÆeFý°½SHð²»4¼`3+Í…Ð çÝ]¾CœìYÓ,·!èp{;lþsn W¤4ã¹mÂ\halh*â¤2nCþ)„î0µhâ4î~D‚Ë…m땦\Z[ðúhÇ!e”ÿv0yçu2͇¢ç3Ôd¯…X2•Œ#‰.¯õ]„œPF³¸éCÂÈ‚Œ™õ𭆱K"¬Pî.”}7"ßÇ ×1»¡´SÏ+Á–=Œüý{ĺ“ =­ôÿeAº¤M. ¦øÒðuù«ÌV<¶Oþ‘ì#,ŸïWЦÇ# |;6ƒ?òÑé|Ï!“CGñnƒÐñ[ŽÛßcoB•ô¿@Š"ñ—WuõÕFæ#°0¶ÀiŒÎ#•1*•úóXbŠ6íÎkÇuAHA¼ZÛ¶‡´V_—Çß[{Àùhújá*n¾Åîò²SÛåöeh§ÿ?ªUk›äJ>lggb ›½Æ½F±Éä`] 7{åA+‡£Xû7vÌàþ" €Vu5ý… øØe¥Î%3O•òBJ>hi=óÀššD 4â!0n–$‚ Ë*ˆL`ôàwIdIׯêàW¬Œª9X§¼°|^34š&}úÃùÜ_Æ çÉ\Æ{£ìÙ´Ó½”=,v!‰¨Q«T»”H®¨›àg ,k:%Š~û%Òeû¾ÅF)RtGl•Ž•n÷• ÜÝ=ß慠۸¡ÅÊðJdˆ5Š0˜"Õ£`_SÝ&’µ%H®9é%ô®«‡ƒý”Œ°™tóá&DòÆ”´Ü’ºÚݬïÕE¬»OEocð¿ê¿óg¾rg”`LEBÏ ®ê›c²O%‡ÏµÿjFú‡Á´…T][ÒWÅÙs0Â%ˆvØ¢^ xê¯Rš·i½ˆB´mÁ­2þs—·Tv×™*ó5™1*Þm‹Däëë+5ÞÊŽžÏ«§ž†’-³/åÊãÕ¨?s RdŸ©ÜüuLT…7ªVŸÍPÛMÈ«'¦º·Æ:m'­"ïi“û¹[pIéùž}®u÷½úoÿ^´Gê­‹$Znÿ€ÇœØa{ðZOS ]íŠÞ²:XõIÄšâ 2Yjl>Sn¯Ø0#h#2vdD‰oì‹yÔ;¸ö5^Üú¹³óºªØvÎ×,<þB/<|Œ•U¬ZßL A/F_ªËs=G:úäfcçŽ&ú?æ¡þ÷`õw£Î0•3UÎÞá:–¢ió“fh¥ws°ÆEþ?dªA쿆‘®WÑÇ@5`mc…Zþ)fVèÀ¦Å›’©Í£Än£öNçúˆº#ãÔ§šA^„zb²Ë÷=ccÎu‡•BDºBîÔMú5ÞâößÌž5Ź,•¯X}ìŹ­á”ø¢’lzWÿõ=ªís®ì‹\}õ‚!R+á£À$Lu‰5›˜5®riì°ÀVášD~Ñî ,ÇN¿v6B਴‘+ PÊ ·¡èx9ùYᶈ§ðLGÛ#ǹÿr߉qT¤ô íõTa0ù€¶¢@›·Tw^ jþ ƒ¬Yº=”´¦æ×#Ý»—úúõò^ù§Ö{Æø‰”`ïÛ ªkÍ’YZé^Y3Ýòqûr9¢Oa*›ª¡PcÄ^a“…}Åú>;±^ÙÓÀŠmìßU­b†3ôßq¬‘×Ãz”%$ mZÓO%#\=C->n,ûóÈOºH†s¬Áb+{(Õ 1BÂ"h†ôEÛN+¬ìˆ:˜Ç8ÞXF¡`…´€ŸyöÉÚ;qùGa\4õoï(é¿”¹ "IŠ‹Kã&Ò}Tš|”T†8äÙ2Hé»Ö¹2B8q+wºƒH­øÑåNZ½G€- ®2äüÄ|—Âéû”K‘ÛÅdû¼M›ðÆU r¤²óÒÜÃìl•±§Za}I§í7ÎľS)å§±»e`—WÕìà $a#•¢‰ºu6½çǬÝ)7VJñj+˜¥¼—ªfÙsæ/¶sñDÎ^ º®k#Áþ"b‹œ *ÚØÐ3x–²ªáå] òÇ%ŒÍQ8è¬1•ëÉÌ»üõ-nmÉ»ñ«Åíw"_¾ïç”êä[ •UCKÅL€i¯ªbõGÆÒvièmíÆ×pÂM÷cýÜmí¤G_7¡ùüjí‚[µ<½Ú@~[и&e‹«IN>—`¯2äƒzvòã¾”ýi@,b:gKÃA \ôN|ÿ'ŽÎŒÊY‹*Ò@¢€¨ñØÊ29k`í¨éÐ¥Æ^ðP­›á“íyñ,§ ð•_„1b˜ïăàáÖM¢µA½ÜHþñN‰îçfY¥¦×élHMù•ŽoN¡Ê`íaÑó3Uè1;hçá~ŽEÅQbÃŒ”!— ô eÁ©¤âñ©Ï7‹Â ˆŽ²5Úªo˜ í =¤ aª+pd[Òï|­.ÀÂn†P>waøæ˜=k°Dóæ0ùðãú™2_Ñðs½üUÆpÈF_%²ããã8£÷¸—gI2’o5}•q=Oý¸Ö‰ÝR+ÖE«G!PÁjãfY ΊÖ!íLš9N—Ou·€Ý÷JîV¹>¾c–ã:«ÄÁpÆÖsƒÁ°®¶ULÄÌÀ 3bnª+äÕÿþToÃþUÛѼë_¡­Ü¹†¡JuUZjr°.>*iKÊîuü£‡dQÍ"ÿïñS+Œ¼Ò³ƒª¿—‘0€² pt{¥´Åo42R^KKuV¨zçPЋýdùÿ‰qY)Bö;bûÇŠD“É)¼Å|Ë&O>ê´³0=Œ˜dò7ƒ/½¥ø*Q0ªIyË:%gè” röº”$7jñý¡+Ë¿FÄ­ùÊâ¬;ø¨°ŒJi<,xz°Ð%ñ‰©x©ðÕ°V°‡ ؆ý¯—vÉéÊö ý ° /€ó.•¹6Ý]õ ›ØÙ5ºœ)3)ÞYİ_QG<%G4 Ù”±¿Ña„8‡`%„Bä`I±ÝD¢(†l+¶þAÿiö;4Û7JÀÈšQƒÌ)à‰åÍŠÜ é?ÈÜYøû¡ß°ÃôIŸK yr’í´»ËóñO¢£ áHŸ§Ô.“C=>€ ³’8JÞ›Úò@.È)8H$þþxõè·DÇw^gS sàáþW¼AÌÉÐz}6:“Œk–›8££³@ûŽtZ3C<"]Þ3˸tèýEŒ’ì…v»Î„SÐÕU#ŸWd-–>»lï>Áá€5…ðNŽƒÁlQãEÆá~}r¹Š“ëÒH(lY}©¼ëa²Šf¡ÅÌßAšÿ©;ë@µ#°ñ]’ ÎÈê\cÍ•ÂÐËô-<—(I#®¡…iÉ…ƒB„¨‹¤ºÌ^6¦GBÎr5AÙ<PìF å”jÔT§Ð–«ñH*.ŸOÝëgÐ(¦}Z¹ëÁ…Ê3†.¹ƒp®?ôÍw¨Ð˜7ŠjÑ«{?¿ƒ•mlÍôÃÕˆ °Ê®} òt.=vÂÌlAì°$E3‰²H.§c™Í!ŽYŠ[Õ-5ñÝ(ºL‡Ótªù-]Ö!~%À‡J#ëƒÊs¯ŠŽæ] ÷¤d+•ØšuƬ(è#t~‚8ˆD?jö9³äÎYCãöÔ~a}´ãÎâm,\HÔz¤×.Ý—ù SòKÆ^0\6à†‡pW_O|9‚Oª1â?ÍÏV¤+Ý`†Ò0ê݆ïj¸ÜQHޤ¨‘鼚[Ðå°ºÉùÑÏÉ}Ctd)¾¦[ÊŠ(B…‰ÿuä?®ÕFYokü¨ô¡•TMµ|Óv„ ñ¯ãgà xÿ€,@çG©tçJzzöÕŒ[¨ûØO/=)J“™G•÷m'? <»Øj€rO`}5ŒšZe:ʨÊ10¾ýÖ¦Þׯ…0Shü!;s¿’=˜Ä’ÊTR¼»·Ô¼r6ÆpÓ,Zæ–îÁç€ic÷Df©õP’ßK2”H^yî3¶öp¥øÅ3ìs¡ :\PÓÉ2ÊêéêVr¥X9¡;ḯzèzMßvçöÜ¿?ׄWì&8t+Z{áT%,‰…ž,8¦ŸÇMY'óqº„§S¹¯}òúÈ6QT;5CßHOŸï‹¹}ºZ¯&±äèÙÇ'¦jD;o³Ú3€Œ¹‚jèÉ>ÚEMZÅtÚ'Ä3R¬­y&W‹JˆcŒà!ÏeVqwÍ;îD±—ù@ú)Ev{í’jЦº'ҋПîÖ~q¹x÷¥ô5kF|¸- F98½ ½ïôdeTæ¿&У¬CžSóQ%v\8ÌwêXflK¦ÇPýEylÞ0Ûå‰è~ƒbX)_6¨-ØBÌ”#ÿy… zDш~'²ë—¸ë'ÏúýLžÏ+Œöçî=®äU7IÄ„¥b2`ö’rç—:5`dù jº¨Ý ü×QxM3M×ð1!Ü{.°55{µ<¬)U•)ݦAç_FMEvS…,y‹Iš˜ÝYˆæ];Ás÷ŠÏïY@焹AÉ~†䥞[}I²ÓIkæ ÓÞCFöÈEM‡[䆿¨ƒžä®èC!A’•»ÙMy¶àSí¹ÜŽW©¼QäPã1^µ&}38oº qÓš@ñ²)s4ÕÆdBŽÖÀËm­9'ú RÕ09¶¢š$Q®g­+uaß²ë¾AÀÈÞ›Ù®z©µ2¨~ÒÓš"îÆ×Èu?Дo%j(‰:ç§)fÉÉyÜ0¡‰ûqoãSÐ44¦mìàïg$˜ï­õ<[òù‰¡caQb uÛ·C*~SÏIFÐV¹¨Ã¨èúE…Ñ.o#v—i%Ï¡ÍÄË.pDWjJ°†)œÒðÖPy1·*Vº'ÙÁí”RUöŒÆŠ˜V†=7ˆQ’ÊÚàÄ ›)F½d_(«÷?šR/“²Dä3´J·®‡Š—òûÑîÜÅ­^r^™YÑ=ê O’ïj˜’ý‰PC’ÇrëEž'±^ëÉyÚÈm<(íé3aÅO·ú ì ³óÛp¾Ácá^tÜú•»±'öäm$GÛÕYáɈ`Üàu’Rè>2"¥ëßsª/+á c”o ÕÌšß õdðÊ""qÛljß38êXçõ‹ë€Õ8—üda>ËKÀM€^Hsõ„•¢].ϬJ6úÝ£tãFì¦'ã-Á\\ן_íµPóNJhŒ¢Pœ*~jªëÆøûu«òVøÏE"9VÚIŸ¹làJ®aŒb)[&HRm ê¥õì~Æì Fåý Ž6g ú·š¶±¬¹§,ï|ÑÄBtyð>¡]SÒu 'Ò a ¯K'¿ 2¯”Aæ½Xý>3Kßëëò?¼’·×%‘&çßå¡9Wv ©¸dîhØÿ,N ‰ ©L´9ËþøŸ—ôG?ÄGnùìÊ]Í8~¿=ç_G|й~‰‡<ýše°¨NƒÃ[ æÌÚg}W ´*zŸ¬†·âðºÊèè¨@¿êüåy„å÷ÍÉ2Ùf‚Õw{ºH¼ˆ{oï½Ye7„¡qÒb|«ÕØ’é¹Zà;ȉ¸§ª’*ýËÔ„üž ·w5†7hF8|Ãã_?WQpº>@¶›![ Ù}²äÆ:Ÿ29™âÛ9!Èl{¿¸fà/²W´Ó9° ZTÄw³ª¶+#<«BþNipD¤þ«jµ®h4·~:9.9Áð °!\Näï[°¤önÂú\'’?;S#åVÐk¸¼Bä5s¡«–í½2žáòÌ7ÅH×n½£+ã£Nêž¶Ëyï*ù }Ï .î’­Ì'Ú·tGµ„µsœÌINM Öìª-eŸPŸq¿¤¹ÃƒÈ!ÀatÏß °@E“áÆØ¦ðDz¥š§&,ŒçZ—;ï£cµ*ô¢Xç­ìt—¢…±¥rØÒj\¹ÛI‚,«H®õ™t•¥§@æØÔÈðæ~FNz)°MÔ†)Ä®Òíj>Åê<áµÈ¹ ´xžZWBC¸ÿÁöÓAÞ P)qߌ‚{òßf€3»(À~ îþ†óŠPRCrn7ôyVõºeÀ‹|óõQ\`7fHï?òÙ'‹ÀkÐü¥Ž‘ã 2BÔkÂ/“nÉÈírœö2‘\T'=jö²eõ‡£zàqMœ‚OLÓ’kˆlýt§Wé-Ôˆ#«Åïtût¡lžŠNxhaü2Õ²µ¤çÅj0zä%ò ¸Š"¿™FÜ “f¤4áþk'¬aeàxß(êý¨gÀuh°9ìÖ_%é¨eÕ?·zCÜpIù8…`˜oa6wŒx—º%’$íès2½½»¾ì^$ö„b${0>›ê6%¦þ¥²¿}W[¿z½¥DB6zNe×ÊÑ %Gt77`¬¼fûG ¥ÕbHCTžDmÏïƒ µ³ ìøKn(«'u抓 QC\÷këªêrz¨Œ4[ÿágn¢%¿Áái¦´Ën†ÒX°xCO2M¥u7k±°2¤Úÿh\RÌÉÆ!±ˆ?ÛgIU•©º-~^&vY]?¦ÑœÞ"$H€‘:PêŸÕÍS¦Û­1F ‹,0 Ã)åFÙñŒ`µB]"Þ=ëØÚxNÙGf¾xt/óâ«“y ¤·Br¤T¹Ìýq¾åt£§9çÓô] Ô7J\¼XÕ?ùÆ%ðÕ¸ Õ ²²F©NŠFÜ£Ö¸……•½¾ÔS°×@‰«àw3N«" ÆQÆ’uà”,bœfc_ƶµfäÌÃ;š3r6µ%¢—¤’v%·–î¦4båRAÍÄ/ži¬˜üšãÄ«Ì-8ÁDÒ+#z¶\^|]êjƒ§„€|öYÒƒÃfÔÌ–ÒH@Uzó© @(É÷9ÐÝz ü™Òö÷âkN<ðª$Ã/‰º)‹¥EóRCPp—)`6™)yy3™IóeI`[ˆ"Cb[;í¢ùlnvEbX¡8#PŠ ¨ÃÿÊÓ_渒fqÑç©Èl~eF‡]ÊÓ1°­¼’F2};c¿4$矚“ž7í` ­¨D•å”Û°rèÃ}Q©§AƒÙe :¾‹."7x̶ŽS]‰/Åk3c^ö…½gWt:>bnG´fékÃìø÷&ðR!8AÈwò‚c]*–±“˜[¾ùK|Þ1 `»Ë‹SJ&Š‚ÃäN)…¿¢/ÛÇ¡e3ÆøsJ­*à ØYëzT>À¼–³zï"Vÿ2Ët4w³°NøÍ#¹Œ…‚þÂ’;ÀËaëÈ@B zä˜Pñ¸Ÿ}MÌû¨ŸÆóþ[Twvù„»oâŸ`û‰CS†ªðæß)3ü6;•€5 P:@áÊœ;N'ùš|–‘c;¹Ú²šE>¤ ÛÙ¹‡Í˜Dü Y;f¸j°!Ç^E½a OªE%YAÙ´µ)0ä]±½û¼Ñ V×^9_ÄÞT}ÛÔ7R.¶[ÀwœœšÑIà] 3ãDY¯¸]O*³CŸíÌ'z>‡£yVNÔ±Çõ&q‰J`®á†ª]£ÐuLεð?‚¡8î·%¯hx„>­³¦êÅ‹f°ÀÚ¶'ïo!Å#OÒ#åy T"ßÞq9ûõàª^§o»|ï–)i|?ÚÓ:A;Pxn'1^fòùæ0c°FÇÂêaCkh-¹¾6ˆèúQB¬>‹„̹„tW{™Š –w":L'uÂrÓA]·âÔ¬¥tqItÄù¯9£)t'˜‰ÆËø(a‡¿¦çY7%l!Ù}¦(7Î 1î…1i^IrPù3…‚²C!Ÿ/*í®jã¯Y Xt$Hc‘/>ÖgÕÂ~X‰‘§O]0¤s%¾Ó$WeºføF£Ë®EÃEëÙçµ%Ô^ºígI%ÒGž­´ÕÜË2Ñ>ìw 6·š-Â1Ë)8lü'â5ø ”Q%tB·e¸ÕPÂÞàš7õnèÍ@4iÕÑ¡(p®^.„TÓér2Б:»Þ€ÀpÉÖ«@u•ಞ™Úô~Òö¬ÏÆ8eµž‰Hø¨QÕ°uæÑ´±EÚ¸£U¦["ôWˆ5YÃ!ú0ôÝà _ûNr{XZìÏå+%mI¯®óº²»|ߌ½éã'$q,D” Â^&gÖO·µï”"†M:žÆå°)®ì¼Ä+„Ëx¿“ì’#Æç!ŒhÕ@ÀÑ—GÚ|MÚncü¡éÉÕ…Ç»ÚÈMÖ•M´&àp!¯ð«ï/ÃJ¦Õj@(À–fBGšÅWÙÑ^μˆäðC=ñöÆW%MP/¿Uç‡D•:“òãT ™j+ˆReJ ­]»7;ÿL1ê2óTÅ*ôR³*g\} «ÿœ[|d½Ûác“sNØ5ԵĻzä 9…u‹°¾ ²ï*]šíîÓüÊN®h,¾]»Qûå^ åU-öÿå}øÆò}ú_´’ŽX–¯¤½áçÓß´îOvoØ­û†s–È ôÇRPsù8÷“ÏO@á2ˆ}c4á®ÅF§\C‹i.ÌtfÒÆ‘U&ªçÀðBxbq‡ÔôlËBv´¹°Ÿ …-‚ 50ßâ2xP6t&aÌõõå‡Ñ®¶ÝìU,ô/$Îòœ‘î3“)³…ÆO®íà+:±Æo*ظh·*·¢ªûûï/bó-·cäË MZëài!Ã(¾‡™ÇHÞ8©­öÅ£\õ¢ÎÃW6Žõ­¥Ô ¥£1ú„êï#ݘ¶:Ê£€shìhëû…H?$ÂòK îÅ«%$v5BÞY8Íêû2&»#¹ïÓ–ÿŠºZhH¾d‚Η.3J`y²µoÐ×Õo°Ÿ©6×wö‰k¯À&ÇgJ¯4¿Ú;Âß tÞ&¾¶·FÆQßg{Š’!ÏÖЧtu%B_ÙÌàDåî#ÊÓ¡.&l|TãÑ÷˜ç úPWíGÞW>)o„ 0Øq™vÃÒcNÃ.±W·Xi>Eƒùoœ[–Wë|³Ÿ[/u4W™Õ!ºÃ³auí9>éÄõ( Öxìœ9•mø+u×þй¥E‘Ó±td„Sa #B{9%i±›šŠ¦¼1QÆ4~W(©i® Óië¯`ÃJ !Áˆî6.õj;ôó÷AÌ-ùÃvÙì5ª+Þ_I=‚HœLQ•¥›VèB…*ûK¡Ð°ok›Ý)5œÎtÓ7?1V‚ûð³z2,q‹msŒ$ךȮŒî pQÀˆÑ¹“Šv7Ø]É ",y# äEJ`N$w¦i]ôH˜!ø+ù½°^õà¥ÖÊ»­@žõ¹ 5ÿžx±€’èÄ+jˆ2Œ“̆mÈH!×îY€.qÕk‹÷Ž;ë²ÒhnB1Š#FØËåü,ÃÇ8Ô˜Åó¹m/8O+ýè°¶ßÐé¬(÷Ä—ûvâΜIS¯Ü¯M šho¬•Öm߉zÛ:U{2‹ü—p»’I—3ŽS]“¬ÿÝyK™.Õ+ÕÚŽÝÜ Íã}쎙Tk±-©ˆ,h]ÄÇ  £†9…^.3îrŽ}njælîêÂ2…V‘ÒÕ”T7‰î²b¤v¹úEú™Òry³¹¾J|íüÄ8¾ 1ƒ¾Þ a–-WJuä:adÙ(û¬¨À²k¼úMž”²™ñ£õŸ Òc=uÕ+tqPVÕùO7h´í7òÁ‘ßôF5ôþÙö“'ºçß¼)"o¹$ò3¢ãQ²©û/úŒñw¼ö' +Rl\¢›k>…ùæ_ï 1àZ8üý|H •U6špˆë%ûÙKsm¹ËMñ ’€“œ^²AßÀ/ç®JÍ$1°£æ7iAB ^\}â)æYiKÈöszÉé—KÜÔºvqduÍ£#îU¶S1:ñd†ÕèN¥­E þ¤”!ymŸ óœpç{R¸ÊÓª½O@êW¹Öœ7_‡ådaûéK~¾!€Þìi²I¬IÕ§£Cóœ¿:<~!ŸÇz¨ e:a¯~ÄK¶|¼£á©î_ð9ËNûaxlXå­å·á«a‡«€0©Ô;ähçÄÚ}M¹‰½Ï!3QI0Ÿ0š[F'Ýž¿xÇïÙ—Ý qX{Æc1y¬Â醹Äe½›„0úË̼[ê$`yhþ5Ü„ØÀÝ6Ú]çÛèöÍ%²ÔâZêÔ•­ŠSi§ò›ïÕ n[°*8SÇ —¤6ïZêcS:²B/@ôQ¶[òëú]Æ[ïHáHÅ©G>uv އWüà‚t4‚dMqø€ÍnN4 Ñ®B[íNØÁØÐåÙgÓó›½âÍúo2Büvyi @}!S ùx«g €ì+¯j@°ÕT¹‘ûÄïSg¿a yæhíûÍ‹ü¿€ßZå[+úŒUóÅÿS#X4þCm¶ú™"¥y i÷ÍTOxù“¿H qüƒÁêGoÕc î€Ùß ¡e¥Ûû¶V_öÇxi0XM…­¢)¶émøýU½†>΋\dÎΜI I¼ƒJšQše)Dƒ¬p çkE2© Ê3Åõ¸ÿzö]²¿1ÃÉF³ÇÓ6pjþ¯d¯‘ÿ—š[(’¸uµi0¨4©iê"Ïoà—D‡8à UÅUâUÁÏÿ”d²ƒéy -qð÷Š!i>/2'%‚×;ö„6±#8íØèѵ;™í(Ɖ]ˆ6ì_9†öôÂ3M8ôµÿîPTÑ­fûáW:"ü= ÍÎŒ³PR„…‰U6—Ïé½YéS´ªM뺋#[Ç¥×êæniqÖõŸO‘¶³Ý-ä¨b ƒ—ÃÔÉyäß¹2`ôË„–l=Y,£¦àáoM×héœb‹¤ÓÇJäˆÛ–×å o·Wîæäím)<_œ—_®%¬ÄÝ%\Xʳ€W]W‹o–uê¿dÊdÙú¿é ‚ß}€§³×éyßNP'.˜õaDšÍ1꟩ȻMŸ9ZIŽFˆ62!µxÏ"0Û–û‹õøLÔdi_e&ÑKÒ™~¿D2Î3¸lCÈZsèOõvØg±Ú¢KL‡±î»sƒà›'ºå Œ%,áÅç=J‹•ÒqtV ˜@t1æ£ó¨Ô*v²š ®³t}à\m –]áþU°°*Û`¼þqûÝ6ñWïv†ã)Óõ/í Aæ€#Ö\¶tiB %€…ÆPŠMØŽ[y>‚̸  ,qÁüaÐVpÍá‰ÃpÈt'—œ²„ºjä7ÿÐ.E ÄØò0ÔڼH¬kcÿÍY™w"òj+Vƒ9Jìà•‚*Qn¬K ´zöíä½2žï—ö1?Û®ÑW½Î"OE}â3¾»‚aøó¼¦£ZüI{Ì«XC¢V1Ê]š67ÃýÆšÈþt÷4 Ìa]ê'àˆÊ…ßË;UkIJO:¼2Ñé'Ó/ôùÌœûDg„ Q1›ä-“Fj“kÐM_7(!fˆÏ@ݸ~Ǥ>%À‘Ø×Åû…vØWõgðCIZˆ8f€D÷c“òÿŠ—#@¹M{öô ÁÚ¡P˜5Vý&ÇSJ±uzÒ±bµ«v¸qm#UÊhŠ.•Ù?U·K¿Æë£IŒÈ‡¾×RnœÎI;K "ïkeA̓])é^Æ·ÕÔ¥á0 ©í#í¦”Ö¼ w’ ±1ЯœÏVpË#l <ã {¿CàF b(ä¶¾Õ)eô‚=#½Ï&^Ô ‰‡Ørûã´+nS¨Š2›>ŸJ:’!§z¤8ÜgÎõ6‘•c|;q’æö@|Ñz£¡ÂÖÈÚ À柡Ó#t’ f“†—U4é·ûî=_À¼s=çø÷©{So%éç©À•*@§nŠ!E,ò¯Ê*N7=èÛÃ_–r »Þ¤ r̈~Dšå™Š?4+z­-’šršK”ÛÝã»]Íg1ßôwÇþÔu8Ò„CxIå(ß·Ñ ’9i¾õøÿ´k jÄ%!j‹Ç÷È‚}§­Ã% 8¶×ƒ“˜;Mœš÷X1n›Ý>ÓÙ…]H)×+¹no#}Pï <Щ5SL! ž£/Í™4BkM´¿ò‘—©ì²‡¦ê´m9h·F€ãúi²ìí ì/ò‚½ò 1m]ˆHë„nú+£®m–ša7$GTkžß=#ë°·D ¤m³Ù‰üèo=cšÀBOKÌ!÷ºÛmŸQ´æÛÃhȪ¼*¦ÜÐ >휖rÃ6ÌcFÿ$Á®o æu'Tˆ\¤é/XÖPÄÙ Åe£jÚ‰¼`3XÜ /ÄéP²«³?»£.–HMŠán8vú Á”54§UÝa‹ìñDBÑ rô–·ÓaÀƒì¢8†¡ŠÐOöþÍé|ýûQëûß®¬ãZ!®H°›ÕLPkCÙ[W ÎŽßʳ¿3ÐÑÍ·;ì*sÚ–KCøû–‚´5ûËöûÛVÕâÜÄ^‰t®¿È¥¨ í~ÐWZÇXÕlö2íb5¿²YcüΑõ*7¿UÊBÓŸu4—R(øÊv¨4«u_l"­Ÿ²±„¢e)YÅvò+ÑÈP½Fóß)Z´ƒœÕ¿Ît¼´û¯ý‰1U“|X9ugþezÕM3ÖÕËò²ˆ‹&ÆŽwɾùÞ&ìUqˆDü·±VÐÔÛÍKj©çcòí|B¦±ìÔÌïá׬?1,¥!­æÕ‰RËå0/¹óUÙ^œdyDˆCò¥2ØdPÕ+:®‰î oä¿ GÔ‡ü eu9ñ çûxZä1~l{%EØáˆâw$xðs[oöUô*ë1±ËDÕÕ}FöâL”%ìNb<¹·1ô#z9 3Þ[‡ÿ›ôò×ÿG>à$=#ì”;c¬ýÏΊŒ ¬òèÇiû¢£w¹ÛŠà^š ¤ˆÂ\úóBNcj—“×ÈðÁÃQM02aL¨ƒ£æ4·ñ“ÃÐC°;‚Û‰'©ý h*«‰h_²n”?QGùcŸôòÖ0Gø®$(ñùó›oª½´5€&V?ÁÁ¹·G( gÜÔ÷N¯ âbŠHð®¢u‘†1]/ÄSº¸i­ÀÜl•v$ÐCs§aú@Fø—÷x$Ëø¦›’Dhp[?[üæ£1·ŽèO7_"«¡09?-2ÝQÛ­­­;So_…ÁORVÕD[txvÊb²¶Ûäïs$} ‚žüŠAëôÕÿ;»‰ÖÞÎ’LÍ„×߬‚ýÛÞMÌmÀlKÍe…UdɦÃ˦¯yV>Jw€‘›M& s߉íó|þ( é3 Hl·¶,ÎJ½vBöÇ2ùW-•í`)³nQ;ÞFÑ´ô_ ¿vK–ÅŸ*ì_^u92DŬV¨¡p^èÿWoCÒW½›ªæö“P‡‚÷䜞¿¾¥‘ š0]Á—!ÎØÖ7¥!­ÇJ©Š0óK‰ìº^4™0íÙ ¿O"ÖÌþÖ!tã÷}¦ýø³v}lÌ··8úq®Ï 5"ÈûÞ6àh߮޵îÍ-côýÌÿhÏN:yì-Y"{f4®s¸{âÏvè> ÒKîË£¹·ìI0ðb›ÙJTÔמcÏ 3à °Ìð0o×@îa‰¿rPihå=””4†ÊN™¤¢ “…6kOî.‡§õš|%?ÓÊ+_©ów…N‡µÌa¨®–mSÓ2n±Ìü}4)§ä=[ÓL Á³…©Mj¯˜ÃvcD­‘÷ƒ,Ã7'á´WN…¯MyegC™§†9ž»”n³PÕU¼æ0™‰¤»ù•ŸÛ>d #˜ÞþÔÔÁ‹à#€7ûìš4†ç€cÿìŽüŠè)Q_}@9….qU+…IvO–èj,êqGŸF­|Ä ³ZòÀn’Aªë’ÝÔÝNãx£ÃC@ýœ2áé]Å2èuÊèǺ+¾#Œ(»b¤ô/rgˆ™n!Fz/&xùnx›Þ™g;öÝ‘»Cö®ffî¥&¥û±¥‰Õ¡`+¢ 6Ð%IŒàÕé¯F0NþQjÛg[ztù½ƒ‘ÚhΉ#d#FÅV0™p¾ŸâbhvB¥(æƒñAû“iD¯2{¯6=ð†/IókM’E>ô½oUhKž#â@#$f¶Œ3‡B¥¡aLÅ_¥^ç†Ó ½Ï?•ÏÏÜDÝÞÓtSS€H1:à(2Hvg¸¦YJÿîâ}rïMõúejðÕÞ9šÒQ«Þ+±ˆnRKõ+ì¤D‹Vüõ©$ÿW„³á¥Eî£x~÷—ú8£±‹bðù|Œï^WO\Ò›urB¹˜]>y<íº•#’ý5¡ÁrÍâ'~̈́ҿ½"Ç\Ïz]8ùŽm!¨M¾Gv”!7Aí*þfÑ3Á5‚ŠU^zqT>Áfî]/*Q‹tŽq± ÀË%Ѱ²íã6,vÛÓæ‰‘‘é[ êí‘!öQ¼é·Yi(iaƒ'ýGW£À¬1Nªzà÷…éæÊ3EÔ‘Æ–cÙvÁîC¨ç@FŸ§Õä«Y#kêNÁžE~Õÿ]ê‹{ѳ•ã/'ƒeA b |`yÔò;ùÒ>"ÔhÍ,Ãh¨13åØáít¥h¸ß¾Yãéœ_Pù…‚²Gue•L;Œ,‘GjboßkÒ¶YÇ`â¬kz¨y°HÖ‹ ÃW‹›X7{© –W}=:ºÒÔˆé íZ âô©fUÚÀöZÔ™úà¤:Z›ƒ^%%…nÅbô¾<7µ!%ýbÊ&ð½PpÕH.QÅäà߸üáJ—àÄ £¸)#-R±`Řƒ¥—å–2AMÜ'¶ÆîC|dŒ÷ÎZF3+pÎ:ùE:G‚ĈB5Wçþ1Ÿ®‡„çQ@ÈšÀwŒb1šçG F”?So×@XÌ/)I4דvhÁðn»[ýf‘™>3zÚoWP©¤@ÏÄ´ì@kðéã\›ê¸ sÆÎôð_ ×ù¦wº_P”ÑAjÉÍèEÞÈRö–)!Ö›MÃxÏ»å5SŒ¾e‘ÀÐ{€ú·»übó‹\×:óvý'Y⤡u¦DêDÆWuÙ«wúµ·Ë”±‹¼Pþ:Ÿ2Šæú7¬ÂE ’S= ­\ƒ»ÐÍ Y Rûñ¼êýé\þ©Orø—ÕrÕ­o@?‰,åº8v¢‡ŸïÐB ß'Æ`üjüðy¼Ý+¯ÂÕeEY=8äÖƒòÛw¤-sòÃMÅbG¯ø¥‰|D#!ÌõØÎÚïŽ8 ®o1®h‹ÚÉ1‹ÈŸHRq€2ö®ÒæóLDü‹wèÇôD>V9“Q壈–] X·ˆñ—6Àòߨp«$°WSìU~êÏ•º–VøÓˆ¼\šK2 tºGÆ— ×PG ç`]›¦ëò"nnÿ»K™¾^kô‡¬u“g ¬Eß6Hãwl³aq3–‰£#%–\£™.tU¬€qЊ~­U`ŒâÕéÎpKxÞô[´E¤2Év`Öá£Û7Ñ…¹Ö•îõóK§â (ĨGÄ GÀÔÓ4yVø,$(K.É ‰û-X'Èæ[ôTv}¹üYÞº`sa²RÔ|W²ÈœT™­Ápʼ[íÓZYV¨^N]ŲÔ4+Îçää¶*[+…¨ {‚5¬”¯á’GÒ$ÇjŠðÍÑ€¾'®¬¤èí£êÈ™ã\Ê&Ø…™·xÈ?*O”´dngkAž¢¥’ý=–`&Þ^¤k.rû°—瘯[.8Ûå¬B0…Bã0 í8ò·ëJöͯ¾Â'LÒ’Gµ@l=Ö a ¢Ç¸H¿o P™É\2˜Qf×5¸¦Þ¢sß«EMÀxYFÈÙ.~ò³êjNÇ3Y×ùTnAßE`HG„Ä÷«ž”áàñßêÔùm€K×õêàÝ ³GÙz\Wî¬ý OÀ)6ö_/è€+fXŒÛœ´Æ"Ïe  Á6$ùäq ÏmBH°pÔíw·Ÿ†D¡__²¶¨ž=ËÞ¤2•¿¨:±%È¥íW´T/JZµµ3íUËáÉp¹Î)rVÑ gºR• d¡+åaWÔN½&LŠtÏœÆÌ ©Ð#›€Ä>O<ôLÃ.¯üõøãÿåzþ+êô€¬}‹ úopòZ7G@‘ïÙÒwˆ‹î„JÌEnŒƒœìXF%édU6rl|0îÝt>ÆŽþ¶:úˆ©=Ó+)b%càU¢‰íï@éw¾@¼^à ºûº"˜"AÌšƒ—_UOlt¡oŒ‚Ó](Ø aÇ8ÐâŽ$iç~½t¢pÆþóQá­sª†×»þ¦7æöJrˆ×¦õn ˆÕ[€<¤.ìOÈç³[À ˆý ÷Ôµ@×m íxÇ•H©Wê2*ÙŽ‚gŒXzdÎäb.W3²íÆ>”ì(ª^oäôˆÑéºÄ}óû@i.šò[Øêù ÑvÿêzIïv<É'WNÄ—ß[ý@hy\áއˆg¢P [«ZTšùÔ*Û˜N¯É¸›C;¨sàÝ9•"VÏg‚QìùKãÑõß æ¹lQßiìÏkñ/K)bhN}òpm }"ÛÇÔkÖ(G‚5G Žáe ‡Ï§%ÈÁt)¶¾ásý HÆoêw±©_°5/ϾSêß}™ ñÿŸo±Ã52ÇIÖ!†²L£_Ýg[ˆžSûÎÂãLgí%‹«Ø‚Ðò½T}•®?ÄzëŸOÛ“³Ê(lïiBGˆx*î YÁxð@“ðmD/ÌÙɱÙý5JJnÅ›ÏmüF«”ã ÊFyaù©ŒÂöão{Ìü#ƒs^Wè*ÔÒ "õ+ä©Â ¥”ÇóÒ¯ƒ6™PJŠIʬ²GZÂy0ùºÌõ•RçΕ%L›AzÛ¼lYqgàƒ(ivUž7¡'f$Dš0F ‚3ñY®.'OªE —ažJ„s#Ûh¨‰v•aÞõ‚¡{Õm x Ý6Ά{Ù]-rƒ ú¦úL‡æv0-[ÛÍÇ•/ëÇ©; †Û%ò­÷±ç‡œ¼¶èaõF‹êÅ ²é”é(•ê@ùÆÑù%g©‡ünk•AšœzÇ[ƒ^£…iU¡Kq’üÙZKµÿôjØÜU´ÇµÓ©±¦þG÷e$•>hÖÂõüÕ`ö'Ó&wÀ®] °¼6qû³–7Õ=H†¦ë¾$‡Ç=2z0n«ü?ú·d'Ö U¾œöCòÉøäòö†¥Š…8Ã=ÿnH*ßq2Š5DZ¦{®øÝÀò;?@,àx4@ò¾9ö[üDÞðÃ0[¯ö…LOÎ~ªC‹ötð…ˆ594Úgã“’z iPU`Mþòø !0Žÿ;ðpO¯tš&öì8±‚ÔD^¡­²ãú³*‚Éz¤Uc¸E¾;¦–•Ÿ,làÍ{åù†¯?ÍAFÆ …h©7ÔyŒUëD" Ý€­wçÀÝ(±Y_{ÚŸJË’ ³? l\+&wv™„¬¹ÿ5Ÿ/Ô@&Öh³÷9Yª}\‘ðÿâJ„p Õ+,wˇká¼Y|j,CF­‹–:ø ¼ÈÁ&kóRN¤}½Ïz ñȽvUÚ,MìBŤ.‚ÈÄÌnšg„ô]waâÜQO^|Ó#V`d¤pÒ¥C[®! ý«©x/Òøµ-fQÿ3_íž_¬`Bßé†ùï^oF÷ð½d6@ 03å2? y³è"mÎé)ÅjO>‰jŠÅèn@2qs¨DÍ7ܰÍòT6‰éÍàÚŒhö“Èͦ;¾ƒ²Á…G€lw8ñ÷“Ðè…¤Grfk´\y³L=>–MVìëUõX÷gÀ [­J_F¥kwcÄXÍá—n=*[6×À´ŸÛÿm«~Ãsi†–¢ŠF‘Ä@®{æ·0þ®'Š”CÞÖo{O§,—x¼ßì¤OS–Ùø(Ú ë÷[É•Ü?¨’ˆIà!¤"T½»Ãôsô:ÜjÃB§$¦µÑ ëÈýÔuK]7ál—Ì®lCãÂÂKI¡s«þð•)}ˆq[‰dþ]•yÿnÐ4°ª;Z¼!Ùø °×Ÿçòÿ0Uf$“&r¨ó€ŽÊâŽ(‹Ä¡k¹òêàmÓÓ5$ÔºÚ¦2aõA ²·P´='ÊÐìo<§N÷t läx£q:žZ©X¨ lÀ`5(àR”ù*¹Ë½÷\.ø@€0´Ü$u#€MÚtDSÅ#Ç¡„MÉñ¸QìªÑ,çvF¦žeäû¤ØiêDŸ)"yÛìfù“Áù]ŠFäsu?Âô­Ç_¬‚93ý˜]_ÛmQ‡ló؉O‡’2™ŒhîÑÜ·°#.ë´7>Õ9ìÁTðIÌÆÄÇ´•‘ÐÇØ>rÂY€Ýl¹¼7½¹úBccöu+OÀŒŽí¢Ä.ÍŒ-zOJ(í<\Û‘*U‡¶!\³ÜÓöáKô©ÏQW¾üúW³¸÷°?ɨè{òžpûÅ“Ùý?Z‚ö^jåz•F–™ ÅKtRŠÀËœ”™üF»nkš8»´Œ€/CÓ¹ª.Í 'ìJ@ø¼Åž“æcÒñÍ£ÏÆUX(òa% SÎ xíó„çÀà17eÜÜÛÊP F5à´Ù ض ݲü½´<^ü‡»šÝÕŸ%z&8"’“þí.œ‹£ž¨1ÂM ávLZ.\pñ2§n™G>tæƒQñ'=©·asw.ÃD0ܶ­·LÑ ‹ß:ç´cP¼5øÿMT¶ÃgïAÆŽðäÓ‡3eçÔlW»‰ðt-µ…šT¥ö*Œã–µž[ÞŽrr<úǵ,,:+F`Ïú‚Öýè ÉXMÆ¡üE˜+€’«"òÑ3ÃŒò&á¯Óâgèȃ$Õ­÷žEЈPÇ…$ËW™8ÿåÅ8SœÕˆÅ†(»Z¡Êíâ}O½ï ༼w…1›ÚÉ#Â"baÕÖZefM Âù¥„¯õœ´”ØgÀ9¿ˆų¶®P™ÌÄô¹œÚ¶—ªÅVB!óÞSïñ r{Àj.ê¼d‘u,üS6Lÿ´¦?ãý®•)z ´1¸½Þ)*×V÷éÁíÇÂ-_´ÕD°‹mÌë,‚zSkÅÒ'‰„t>s;ÅÅ·LÕ’3䢿߯РrQÔ/UîÑ˳ëm/gó>löjft¤ÞìÁ$ šýùX+JÎÀš[^‰Õª6±{žgh‚ÂZµ<Ž™R|ú¢Û×Q5áïË5_3*òi‡ïøe|=޵€¾À­è=§d6Ö]ªK_´0﯌‘΢Q¼=œÊ›K-åý0šÁ ç‰ø=]Œé˜Iõï+õÆb7Å›{{¿µÏI@„¢ŽiÚ‘öWK/v*ÑtäÐ|ÆÒ9¡¡>W¸+C0X¶]%^oâu§³;dµ† æaŒƒRÔã¥d‹!Y8®×^ƒ3w³šÔÐG—5±‘iÞ=ƒ5Û]òhƒÒ€KËb» ŒŠJþßËZ¼†Î§’ÖÖœ_wZXØmç(£öšÖO%%7ŠÜ¢§8êV<®Ám=âáû†–µà2T({¢P’(-ËE­{¹M™?FØÞ?Ÿ…#ÓÐÎT"ßêÃ8®ÏTÄ8æ;¯×ðÓyËÈÃÉ^”ÀUö†Bi‡Ó¹²—·q:mUGÚ:|ï‰öêAƒÑèß!ç¡£K!^yêîÂÔ†AiIÎ ÃÀ>¯Î×Ù:'6˜E“qõ•E“ùÌJ¢މ憓ìuþ鵫‰[ãd¢ä&‰ÝºÔˆÄdƒi !M½à?CŒŽl¯ÅL”CÎÍw!¸×ÛÄB¬ÍOdò/=± 9Ýë*>fĤoƒsª·N@ÑÕ^U(<…[õ:©žúöU¥oˆ¥³5X~¦9-Å>]u»¶p©JŽFLT>É™N¡ž¢Böö'?³ ¥z[§è>½·cÝÅÛAS÷¢œNÿ óß d#¡üWQ>ÕX dŰ¢fRˆvzѲ˜ã‡öºL{[n¢¨5Ü|ø¨oäq}Ò°L× DsR4Ïtj ¾?+@¬ìè.–_)×0Œ–Û±ò£y, ¡/ÑÖÞÂ×ÿEŠufˆ ‰h¿i>Þ^O‚þûB;_-£Ë ¯5;¢úçÜN™}‹+¯?§õ¼ç*ý˜é‹i~S53i#‰UŠ(J•”l¦´_/µBÞ%•%þkÝñüË=´Vºqÿ§ÀãŽ3@épÐE 8n­wò•åÆÖ6%àPœÍ˜yÏ÷G._ùÅ%è˜A …@)…‹Bñ_ì‘NÉ£‹ò‰(úYÒ°PXô†Ì$¨JáTuä·FDEŒ§ÀÇ•J 6jÎ_8øÌwHÿ'ç ©ÿ>½S˘Íì0L5vG”¤Шì[íâëUçÿ挞õru­þ¬ÀfË}Ô ’ùmù᯻‡#Ç܇‹s âÙ‚(FÂÀˆ4±©¨¤{-3bšýø¸Ç1¾^Zÿ ó΂${)¶)@ü äîù?¨`BÜâ\ÿAcMöÛ}FÅʰöŽé/§=ŸyÎA}å&œœ­°ÄJÀÝÈMBiªñ¹õ8}5Ûêš¾£²±¥œ0£&*¿?„{¤dåG¤]ä)“Gmù¾ÔHÃ?Ó·±Gc¼BØ&‘È·’QJ¿² 7ê³uT”jN×à m/ƒ¨ lm/1–µ¬Â:£ŽO…˜ÿއ”¯iÄÕ•γ„R'‚Hou¼Ô —Ñî‚õâ·ä,´d+UÀ” -΃vþð1iOE'âÁÂ.óBã0’?ONín7 r *8HȉP÷CVm=&a6ìD´ƒIp¬ØmQ4ÝÓD3ãh³N’¥Â,hÓMÐSʽ3ÇTEïSò$>”„| Å/bÂCv/b½¨*Ù)Šü_o&ºÒ\mO˜ÔHà%âÓåý{*Q -h"'Áb–$îä\Iªé~}Àެ”ÚE•evXÌÈ"%<#p=’5΄§6¥SÆ âÿõ XVUwôÁ3 NªÃø’±ìóª`ч´N.‹ ®•è58á8duvVÒ0 Jªsª~›^­MP¨õÙõ&xØI‘/ë"LÔ³Bò'?ªÌøS0¨@¤áwÿ.Kc5¦;È}@Ö$r>ÙŸ#æBç~šºýÛ?ïdÛÓhä ¬—ßòßC7V Á>JîØL~õÌ{×n"~œVvˆÜw÷à<ÖMÇ`Ž– ÷î»gÍÎöDj¤Ú-ÁHS7€~¾ XkŸâfé ¢YOqöàÊá,øFX]‰œC'×Hª£X¾ä¥Lxì(¥º­[IP"êpñöJÒ%•±>pÝ~ÓºÜ'¦oø^2;œì'‹óðáÇ=æ\hÄÀ¢]%;ñö·‰G@ž‹ &ÜNà ˜„MšNTá8ì¢@ŒàÝN,À½†Â<±¯.¼þ2Rîr&µ8Ö/I(U‰KHIãÎÓ ¶Yï è‘€´4ï#‚ÑRψH˜ªÐO³Ñ-Tzðê ¹B¾–ÏåóÕ*ÔÌkV=,Á-X£FËÄPh®l0“Æö̵âöÂT8‰ÏmÉl²°0 ˆÎ‹ð9m%É{Èà Ýl£L:m‡ôÊ•ªçWÝ£#d<øæòæÆAˆòw| ‡ ŒLê}û=åÊæ,‡é_”8ȇ1&ëÜ¿&ÌLPuûmCe)NÖ·LÅ.™ zïáÆ´6qø¨á,ÛxÝÒ¶»²l. ý3‰£ÀÁÀ•bèg]Ù÷]³Ö™ÎµÀ.‘1@ÆhÁ‹°Š‰y¤_¾2즒RÀ‡hJQn7{ûþJ¦„e§£\bnaÈ}Œ¾š~ººäZûkZÙëÿõYFß6E#1ÿòžŸ¨«sêiLNeR!ͧ¨ßwÎ Vb£~}˜^zþîÅ53õ=Ñ£òwÅ é£è1ã£ö6Y¤cw±³ÐbcÅ÷xžµqjçäò–T>÷‘Р˜é;ñ@ö®T ÒÏaÅp&5ˆ¨ë\,‘7§aQbåLàœ™"«Éúˆ¿Ï÷ q<, %-®ô¼¬èïãÜì(mZ@yy­‚Ê×hØ´f3!·¢Ù€žŒAÙ]£¶UAÚž^åÚ89B?£ñ †™(d»êð¾ºXªø†ÅÉÀï­mP/BÂo&­ä Ë>Mý{ª OOð?÷ÔôµµT­…³s6¾¡SÓ z£d˜ƒ»~f²óáÛÍsnÇ€^/ä1@ûjûj¬MfŸUm臬»ÖÑô_ÒƒGøÙTP›ºV1pMudÓ'ÙrÁk{ôcñaó1†©›é&ØËc¢àôš™¨#dMZsíÖ8¶Ë±*b%]‚e´…œì;RÛ‚ÒÁ"ŒSµbëz„7ôá²têÞ ®(ÔIâ6ðwƒ–ñ»âùiÜL:-/+šq “=ÿÐ3g0y±4ѯK©ÊÀü«?¬Hœ| ð•iw|lôŽæ£îu‘ gkRnMÄ•ýÌé`ÝÙÕ$B€R¶kÛûyAÃtগe]>æé´"[¬pcÉÐ@„£!Ÿ^’7÷„ÿ†yz,Ö‘#W…‘Uì˜3A¥¢¶&ˆã³Ñ½±9 ß[ Ͻª$G/±M©£¤¨±M”½S¨ý,DJ}Ý`°U‚úu z»ó’å„û(&ä‘óò=iK)‡j;´‚æ~Ì †ãÉ™áéÄ¢cÀ6ÌHjŸgT·¿tfK«¥“…›m™â*Ô’ºšoœ‡4Ⱥ Ö`N±Ñ’­j –®ÈpkO¢xðÚØn}¦Í-o°<¡´Esõ¿2þ¾°M¦rÿÒ!:¶nkvßû‘•b›HÕ;£KµC¯L¨öÍçŽ#Y÷(''Ðã³ä¦ÊŒkÍ*YGÝSŒÂB\2•ê+Ðén£ EëxÇÏ&[¿6‘s,a'ª'Ö)J5;”ÁÞ@Rb賿ȩÿó4Ư´“½v|¯’ÄßÿHo«ñ] ÔâÙ§9øQÊÈŒI¥Ð-Èž}­ V> Ÿj‘žÆá€V;Ç u†|_;#¢ÖfÊù4Dùl#ý· \TFíåë}ï¨Á{à¦^ׯž>;Œñ2OºñÞ W_%—ÍEA&°_§†¡j˜ºû5õœIÞQ:[u逘²»Â0~œÖßïÔUt‡o0¥y|~¿*J. ËÄʩܩ6Lݘ½®£4ÕHer§1ÇÛ´Ö´Gt›ÉàÖÕ'Iú‘ÁF¥*ÖeîÈÔ¢Ò[Ʀ­´úãIòèL~`ÕÌÄlhè Ùž·&øný¶Ñ90w»Æ"¥ íÈ}P'‡ öëûL¡˜\ÔûFƒÛ7­ @¤‹ÕJíhöA%½Yœ:C|Îç-®ªÞÂ:?KÌVØ5òÞøÕæÝ¶š2N,jšt4"Ãýgªëä£1"ÒH¨°>(Êw©[,Ô\¬ý›kÆ£õ"¿HR±Qöht¨"ŠÒ(¤˜w1½:ƒ}/ý÷ŸàåÖB,LÁq˜hmº’*]¶ ù‘ÈÜø°Tˆ™¦¹6¨#Ov± ,èsÂCWë´»ÝÝG$CDæñ¥rb}âRÌ‘6÷Q‘Ü”:„¡,OàØ€ÁÞê¿»@®U§pš¸¦ì@ðM*’þD»®$Ô‘}±7b¸È¿rpÄê8Ù=]¶û%¬™Ö_¹ˆWfØÒoy9(çð¶צ)ë^ á¹&B‚|síôqs×Ù·Å?AŠùíä\%¢½—*W$:Y²e)ô…ûýóÏŸ,Øèa{òÇŒN_bØà诓¢¹0™À»lÌ ÆÃg¨¸ñIŽgáXW½Ïnð¿)Ãì$‰ñ˜+h “·_q±cïPw66|lUAdúb>åTÿbò—z8°Ñi]÷Õ±ÑN¢Ó+š_!é÷ô8IÈ Ñ cÒO¬cJr9¯Í•´yö‰Šrß7þ#ñ:A„ùÉ~ap©B·ð9Ÿ³ä7ᙇÇFn Iz·‚oQØQõXâOk?eBàîž8DïÔé·iíT:óÒ‚üàIö¶¾@ëQOp)½ù~#õé$R€´GÒMË ¤ºBQÑôìþ^e•ìžò¶¸ AŠtˆ_9³¦Õr%é×è}Kd`CJŸ¯ø ý²¡þ9ERpKŸ±D7!¾¤î´h”˜'¹ MÿÊ+†>suÔ6KÔË¢£l¦ Ï™};¾JžcÅ0† @ÑÈ‹ð̕РGÞyÞñ”tVQ€³ó¥B­'X*¿ÒDÎÕ>HJÉrÂëx"9×4Á€¬Ôëm[†{qHS’+†Ûö’ý~ÈV<]§“ÌÐ-œ¡R#ãŠÞ U׌ÇwŸ,ò‘×v€¸>€ÅÄUÁ{Ò®ˆM?èÕ(h¼-³—9ðñþˆm‰h ¢àkñ® ôJ>ö%r…OÓ¾~ÊrO+âÚŠ ^ö$Ú೿e¤§u<ºM ÉÿnJç"!u¦äJi“_E¦ø{2|£ÅÁÇ®  dcÀzà{¬¹ Õì€ù!0KÅ6 lA¨,œq ýHŽé`lÂOYUÜöG‹%²þ ¯ŒPš³DRØ>*Ѻ$ùŸŒuŠ·9JØÈèöO-†;ÑPÁ±.rô-®}LÎl•i©àÔE枨Ö%8V6ÔÜdnL-U,;(£@13þ´» KR¬Ž&¡h+ˆ:švµ4¨X–Ÿ„ÏM†¬O6?|™8ÒÜ@èW‹ ñBI±â0ßBÚ4o#Â`òp÷cA)‘Ĕ“(âȶèkE¢n0º¡.k8 ¨Sìjñk*”éî|±m ®|¬Öp&X$ߤ¿@FnIeŸί`wNÉM·Á1€Ç2ÌUÈC•vð»ù,OìyP»¡JíZŒ$uðKµ…™ês'êàBʼnÃmL¨Fp²³ÌÍA„Ju5’Ûž«Aó‡ºÔ2€’à€N$ÃδÄ঑W‚É:Êÿ¹ËñJjA~FX’ÓY=È/pKÄø‡¸GóûGa,Õþo–Ü èY³°\x¿e­Å— øgb“$«#íà×ëÛ&,G!$Jàíò‰bºpx;SÒ¤YPYyg@h¹z©CþZ–8Âýë=ðŒh⨠AöìˆO`ôåcÄ¿âÁnŠ“JQÐÓ¤ÖÑihçó‰XLJ×õ÷.€ÜL“²?t61ƒà´éZäE¢õÖñOc`Þ $~æ|„¿ÐòÎmì£DĥɳvŠEþ_”I¾©¯ù‹5i!óÌYôÉêþÕÖòM4ØæWêéíqÕáJíSg’PÍ …x)aÅü’,‹B,œ Q¡Q[œPKÊÝ•~KÊ‚¼Û#Ìÿ»,ÂÉ:LßE|-^GA* B@k ؾõ)x¤%ˆ:w¥å;.S|oª{Ç(§õêš<3cþÿÄœ¾ƒ²ÊëÌ›·w X ‘¨óÁf!Z…Ônyf¡‹ò&¡‡oX±~}C‰ÚªéBÁþLvq ¦*b8;p4;þ*Xn6Žþ¤&Èÿ'…êß7ƒÌ«K%š~¸²Çµm3 „`EƒAŒˆäßl(¯7FƒñH[…?ûnr¹ðŠxÕ^Ø4ûAÏžà_—‡ø›|fD0fÛdÁi$ºòã¶ëø÷Aƒt''ô 3Z4úÿþÝ@¨t1 ¨îAâ,Îß4NþxQ–½5ŸâNÍéÊ?ðž¿YU HAfàzº“0ï-™ù¬ù)Åd¾ä·9þÚ6[ ý7áÓ©ô§lIŒ{±Ü€_I]|—Õ\³ôëcÔô(ôp¶áÔiœÿ_âÄík(ÛL¢–íÁãj±]u×–ÁBÍM²±ý7¶XHës­aŸ¼*H9¾z”=D áü¤ž”±?wÒåUþý¥Û™Ðf–ŒÉÔΖv&ïö ú$uH²MÙ_Ä~ôEÁ•‹öu­WÇÐÍ+”uF~!(,›rJÒÙ 7˜çª+‡›C'dÄXh”:2DüSbc@uÔ`ΑÏíÈÀ‹|ߪ'yøó?–+w¼ŸIcE½¤ŒêëqÃàÛÙ¾LY]®§™E¹N ríKkÓAíh‹Ka)ïŒ'¸ š@kBuäÝ8Û›Ê%.\þ+Ù „©ÏçlȈ'+?5ý~#/÷Ü ¬“ôè%‹XÍ+ ä¹.? b15¾ŠøÇÒqsD›kuF2V¸Ô[-äÑ¡“ÔŠÙ¿•3q++;a¥;Csî¯Q›*'ÎÑËP‹½‰•íê8Õ–ø@Œ ôÊÒòç¯ÐPÛOí<µ2†Û¬âNŽâ"Æ:ìbM@dOZ¤7ïýàŠÝWÂD óÞTŠ8ŒÃå‡ÿ@t!EàMñü÷+ܶKΕkû¦¬î…ô€¹Šgo“¾Ä‰|n™Zi¨èh¹±×$¼€±Ñ¦æÒ‡&EOóJ*N–}1m±ÞqXƒˆ:›Ãú6˜¡² ¬º:jH©ÌÄOiá‚ióÕÎ|[î“(Élðûy¦Ýˆ¬ß@Û·§¿<Ë&\eCUÀßC…‡üëx„ãÂÆ*åÉ1Y‡ïD~Wî y>~²_ÕÛ>Àì2€Ô°‹Æí4÷^4Øé˜1†¥ _ã+ Ë6:/br_¯Ä{tâõ÷è¡¢Z#ðqѸ¸®ûö±¨,ùB [ê€ÆdÅÆ‰.A¯…“rÉ­ó«:´µÐ¾NõsóÔìöÀkwèFm”®ë~áÝ⿳[>üQzWÒ¾æd4"ÃyŸ ÃèÖ¹p»ºÕKBE['|£Á±1˜B®Ö^”A}4ôV;c62ަ¦CþáY|9ǃ6lÆ"D¿®ýRäœ#Ü¢äçy;bó^ ]ò£ze2<á&¡m°·OJ\ó;÷YX‚ÙˆŠ„ˆ~@öZVÔ)°€ËÔ¬¯ÎRÒ›nÜUÜS”h øUbÜ‘—µv«­àՑâoÔ…4R6QÑ DÂV·éú¿é2^™¼Ž36ÿ½ =y¹6ÿÖäïÖ̹Yʨ݈[ËX¼,HÑ9Àvz}b3µ- ëä“-mÀÙ¤™ÄÛÌ5>“˜o¥U¡D/DF:¥% !IÆQÍ•0¢öZ‚uh’IÜîÐÁzˆ’<ðͨúj;ê¥ñuâ xdì»QÑ7¾J`€PjäÚq8‹ÔœÙ+ËІºÏO­ÄèÕ# 5Q7HjÌõÅO„©‘Ñg¥ÝTBïx²¨æB–¿cú5® n+Q«}*1~ÿ»ßeå¬å}ÁÍâ 2ÅÀ¼$}`D?F³ê"8е(JÚü)XÌ÷Ž]çºÁâirð°঵eM¦(|ÂMÔ7oH‚ÌÝi_²ù®3SÑ ‡û5HNX³KYVOE|dôÖÒÐ~'\.qüi7{“‹þ#ȇ,¡ëÜ5Šx¢2¿¢ð³Õ¸%—Ç4X«Ÿ½ÇŽë‹ ‰3­7R ]ƒx8“b 4;€ Ž›ÑÕaÄÿál±³C1i8&b?§<É€(Î(£à4ƒÂÑ®R˧_ì¬t“…¤X⦹²UujÞÒ^¡þmDBv¶þ%Ïacšãö{æeAËn ÈЬ§r}no$”Ç;ÌG;\˜¬À¯/nt °Ú4z÷´siõñÀõê¦ØœN;S HÈq´R~I áÕÚ-’—:š‚ÕEŸMœ?õX¢£·±ÎŸ£üœ9φ ¶™fÉ™oC29VåÈG×ÀMï2ø¤ }&ßcÓ ƒEM¾Ù²P˨¦ßôƧ_‘oíÂ%XæP"ñÉÿ¯Ø8}×d˜Ó»¥f|9>µRòcÏ´ ¬ýí¢ o`åóA÷~ sÁ±¯`Ý$\a˸E@jîÂTåtzÂ]\5'?Ñä7|O&«`.°B¢ºœ]¹-wÒnJ‚§'yq~¡3ôÚ´~J¶H|3 yò Íc0ÚÒ^ÎÄòÏ·8cK>ºãègÅ ×7‹ûW#w5±á1ÑvIe¨ ˜+–k3Ř#ÞzÂjàÍ´õ€×âÀµU¨¸Mca;ÖtŸR[ÿtóðˆÈ(çU§•„g]1Ø Û'¼]“ß°ÑÄk¶Z¶þŽ‚¼ã6ˆçÕab3ëF¼U¾àlUÌŽÔÿÚ2ÿ$”ßû]¸Ì‰õ¤VõAR2Ñ Ë\q=ÞýºS1™ RìШ֯™-¥¤ ¼ÝýñÊ‚¦ñO·èî¼[ÕTQi{ÕÐܹŸqÓU®²xw»©/ÔÑ4ürN%I@k:m ËjCxhÏšQ2É¢ns‚² ž÷¿¦RìŠ ëinˆ×3ÐTž ›•zîJˆ}€?Ò&çÄB˜ÉѺÂÍ¡ÒyA\§ˆùŸDôJ àãõ§Ì×Lò”(Õ^‘ƒñ·Qùpç@ü¿zÒiqeø~éùsc‰I³q;Z¹ëÅÉJßW:ðb¯¸4®n ⺳;Ñ©Ÿ»ª" ‡õT—SÕÎc‡†w Š_¼q@¡}“6{8âV áO‹døã a®/;§1ØÒ1Z»[5¬µòua°v¥P㯔;Þ?^F±?¹0'®pÎϽÁ!Óê_CTd0« ¢xÌrnEѸur´p,h[=…Ò ÁÂc?q–iöbpeÜÂΉp,¸e_u§\j4ìQ—Ôàr4¾·jlA„”ždúÛHä[×à^åºWuø®s¤áîìˆ)Éeé…n ˆ2sN·å`:PA|Û…3€Ç‚‚9Ïißßš¸”Zˆ‹Hãçà‘b•|}gã4“ù£¡è[|Œ¿)«óÀ–½?¦ÔŒ*¾ ¶èñ±šíã æC‘ÉYEÖN_1eõN7Ìy‚0žùBlì¢t{51üò029‰Ôå` Ü3p,¸ÆÛG-Ï`Ž¥Ôïc–I!¹ý>S÷·hÃbtWÕõÝðœM×8¨GcÉ/ùf-ßý~/ï}›æÃ½ ¤ †ŸižÃ¤° ͇Î"q®ÚáÞpôOÑ? å0ÖN¥rbmE|Æï €ýô’IÝ”÷›¸lÜ纺µ5uµ!.cÄSô¸*EJ'%Î'4®0ÂiPVû¾§8S–àò+OL€Û1ÒßG¿:¬Gja•ÿ¬¦ßTN‰ìª*ü“/W@]=;TÛ·¼üŒ`Æ’¤W@¿#/C_½þz±Çf†vOLA¹‚¢†¦Ä+Öý"çªjX¡å§[Úš*(@@Écí7l–8Oñ* ØYÕW“âù@Žt7Oì·ï8#ØÚì•dÒ=‚­ó㞸¥§qX{Rœx­dìIq€»º^ÆÆÐlŽãÇJ5{ïÀzH£õ.í,™Æ\ëůyü’-‘ï\ç¢ùçè`É$2í£Õ6îw'_] ö8!wÜU”,™Ü.BÛžŠ¨Hkcº‰ü Aþ=‹¸‹îUÂJ_’±dÍŸ—Ò”ç/ßÑ1¥ÿÑ£ìSÞ¥w7½‰¬ýÄ¢âC¹NÕtgõGȼ5¢ƒ\N9AàÁax~a¢ÂIFËÚ2úqDŠ•Héò žKê@ %{û;[œ|ú÷'F˜œÁ"é÷ÝE.ç¸' ÆÜlškÏê+dz®?ßÝ;†l_^¾</àáÞ¿Æ^aÀ®6a¡.‹ÍÕíÐ]‘Ĉ{,#ß ŒX37?‹h²ö x2nlÙ<Ý ~dHø^ZRhWû /ØÅ{1 ;˜Á3$ ““õíñßpô!cw:ôi¥ÆÇÀŽ+Ë´©‡F¢",'ôó;ÏoŵÖl*´I<#Ì.Ck·#MMZS3êÙÔÃ5®”UŒÝî]¯©é¿X á¶\tß8@Æ4ä¶7šˆC„•Zp#³w¢æáÍuœ†@m‘}žÅV¢Yñ÷Ç8J듯Xð·zaƒäåw;‚Ò“!Bz!£emLƒûé¡>F«Í3óZÙÈÝÑo«8ã8ÃjÚ tÎ9‚[Hx_épov`>9ó±.”Z•ÏòAMgwšÓ_DC PÞ®gùãjGõ¢ûBsóî˜Õ†Û½k3ÇuC¼5yFȤ…óž“ÒØ“s ¼S®÷ûÝ;ÙVãGänå]¶wÈÉ`ïrÜ<¥ 7Òd D_Psþ½ OÌ®Ì'ZãÐ)¢W“i’ÕpA.ð¹ÿÂFÒó9/x"«@FÉ…§>ê~~5d|îZ)Oá/?;¢_MOk`ÿo•*¸œûÞqA¹Ø'ªtÆèç´ÅŽv¦ÉVS¹¥ÿyÔ›I}šÛœ‘™tìƒcñ vðiG_qª£±f8`Éðëº~…sòçlßÿ²O‚Uø «Ç—ËYiù$xÈlRà þñ•ËòÚ ìuV€È€Cø{Ó®Në`¸²nß·µøï”Ð[Þ'°+%ÃvþÁZÙ¥áVÂôGõdò ]Œî;#uêñ:oV»…:M Iƒ¤AqEMð 0ÙCy€•É1aÍþôïpñ†cZ`êò;á0DZkÔ{×…yT·m íÖÑ× ”É2.$ª>ƒ–¦™XkÉV˜ ´Þhç[¥ÄѤ}µ-غ¼>7æ^*¾Wi[ì6zŠ]ëLÀ_–9 "g‚ÅP&v‘+ò®S¹Ž Ömz#J½×X”Â"ƒç6Z1URõë¿¦è…ææ$­Ã㮫ӈøŽÔD'Qn D30LŒ–8>cdï·w{¡Ëa§gHÁ™}ð¤ã²Ó†cã‡(„f!1ásSbYLMüÆBò|0(ÈÖ >ÓMgÕRø<·åMÌ"ˆ¼ÅiÞÊw²þ¸žÉaFÍ+c¢P×>t¨¬ A;½¬>^Z !·g¢º¢QìåsŸrjv™ãëg@|ªÀ§*.ºéÂéNv TŠ"ûn2êëXÑrÀ_o”AàU?,â £xk†T§ƒ¶´AlyKtOs ø•9Eà‚H*«¸ïE‚¤'%œéAJŒý¼7®îÁ¸ƒ—¹{õàB4ùÈ5_5ýøóM!ÏâÐ@SBÄEl¯Nžv^áy[„»ãzЃ•‡Çt{~êÖ¼¹Äøîúoc©@6ý›l@ûJ1ÿ4»¾†}è^4rzØ÷ôá™9/ƒ†\™Y›2Š”ü¿šfQ”ºÇ#¿\È´\Ê%‰œƒë½ä¥ÒFêí!j=kµ•Ûê Nïв±ÆÓèSáo?ÏÚvjO èPøÅê‰ËbÞÝxз°†Ÿèïn¯Km½;Öº=Ì@Q¡ÛÒt ·žh©ièt8ušˆÖuœã§qA+± CÆpgÜSýµâ°ÙÂV«¤eO"gÂÐkÎïolæPUVšY«>1JM§_ê(§nÏruEQGÈEù¥¢ÝÌ{BF‰‚|/õÇèyó#Ûv6„ë»?G¥kͱÝ57žµf#é¨`±¤;„àÏZ…>®ó°l#½ŠÃJœ¡Õ2WºTÓw2/…íž«çTÅù¹ 4XwN¶Ö“ü-ÀUúFUJÓç»(€Â/³½OGq]ñ7/B†)‘ÇqÆÔ%coU¿2‚D)¬µá·£õ1»ë{Zc®®Õ®q`§¥4-$»gDZ‡{gPÏ‚BþÇ¡ª>΄žëµÊ.ÝÌç%m³ñ±Žžbe™ÂSô )!92²ÁÆ®<þ¿#ojŸ)W¼‡–3åj$d7ídï]Úª÷ZåÑçñ‹¤?Yk°üCbI8À§›nýò#L[»Š±n¹<÷~UuËR;Q™rÜ-zÐÕ{e*X ¢Ît}oµïiΉv¬qñ‰g•‹†‘¹ƒÉ˜úh/\1þ}„Ê '®,: {'ù iì|BÈ “­‹¸¦ý„gœÍ²q"ÏsüvA?sÊñÂ|ÍÿÊ ‚Þp•í‰zšß›'OòmŒ]¨àΫKÝE–‹«R¦"ÁtxAÀé2׉dí£GóæÉeÐo&á¦RrÞ¶f ?kâkF©_ðèlœÈ-½®‘­2žŠ ^°ƒ„ŒòÂ$ËV‚ÊÚ4²5@V|«ûç®ýú`/ªùKu°¢¥‰qs“/P”ÉËaÑçrÐ?pTªÁ?{ÍoñK¤æ®§¢ç¤™2Ñä°i‘÷ÏØ¡Àw–Ã¥‰ l™EßyQ©ÏL¯ûeš £ s¾mt …ï ú”%y#ü8_¨`À¸0jϤin`ª®3ýÙ…5rôEàR2®‹hˆ*æ&*XIßèj(àuú¶ª±G …ô&[ÕeNýù8^þ#¸Vi&»Q<ÿK\YfñsÂWç$Þ©°×“"éÔ&%™Ñn›ÀØ6ºe¨–‡¼Á=ÑêˆÂò:•äÕâÍxjÏ•ßâ+؇< é0Så?ýFŸÀ«N•di¨ùõ\eˆ”*HdÃóÙÕ±2’pÞ1]7ŽèèO¿íÈQ´¢*þe$ë$~°^Ûè¸nÅÂË•AØqjõ™Š¯ØB•Mbóî_ÝNmfJêØebLô¡‘Ø{OŠLÁZðlË©ž^j‹û˜¨¶Š/[ÈH´=O«ÁÈÓ w…{HqŒÌEÆßïÜyzªÕ¤¯…§ÍÕ× §«¶£F“kÓ ïX‡Ù˜@¤^eätMí6Ömä»nvd'¯pN]pF?®{þ¥¸pŸ}è®®}êJçóŸ‹ü?îó£:•šâ1{Øoi1å¤Sï×ׇŒû é¸ðï ‚&[ ³®RE¿'±Ã)òÏ“QCví@ûÄá_½¤^æ#Â|ÿóc1Qe–k™—sIÕ}”¢ÄÑVôé*…CYr¼0Í Å/a¬\óȰnd„íÿ‚UÒT5é79ˆPßÈåø„GÎUÀÿ¬Äý„–DhsÅaÑ„-OÒ·j›©¿ ƒÍ@r¬ŸM3½ñ:û•bÝ™šêÙ¾rèÚ(Qކèd „À85¨ȩ̂÷¨Gt2G¡¯­E3(‚%AQ¹Ô%^¢à¯åÁ‡BjÎÜï(K«|ã [ü•l‘“ÒDœ„îs,ç6„1µ†²ÕŽê!‚È^±+"“ü™w1HÑ4e™!m4C²ÛŒ»gÑú»ñµ;¶;b%ž‹†,ëÂG©×c”†8æ]¿õ²A–ÓØæ£h~~“ºñãí¡V M£â}[Ž ›NŒTnµ@Æ¡ö.5@­Îky:Ø üÈÌ1ãyÿÖ2ì ÉV£ÎQÊ“•cC` ©“¬žê›@ti Ú$À·w;„JB’Lj„À. tuLâ(Õ£·wöþÇEöï…?!p ML+<¯híòl”*½>Aw›|XäÅ‹ªœ@Ô .ßž"Öº/àúù¼.T¤ èÞŽS<Ÿ0@bCäÎG¢ˆ`cƒÆDkV|ÇÐ~Â%“w7Ö±ö§×žI½i®Ì°ÉæÊç¦Ó]ÂÆðÿ("!ù\fQÉ|¹ç«×ûJUø(ÔƒE%Ki›7¥“ÎúB•ð2U’z!òÆúmEf<€Ep¸9_â1§µ½˜.W^» †‹¯\T<7ýå©}jCh´,íº뎙&¨Ž’•Q›¶[¦ÐV¯ýð¨gÀX«¥VNë-'ºˆ×þŒDÞߪõò‹2yøR·»Ú ÚiL€“&q-KÇc—Ú¦2QU ´Ý%\/»<¡ÕØ»ðµq;²·‹Oöü)§¢Cr…j˜Bލ>ªp#©æÃ‘|%Ãbt#Ì–ß·™&É&^\6ÛÑh ŒÔþ–É?ã6÷µÃnæ—!.¬ü4éQ³9ƒ˜ hÊàe@Ú=‘Íîý>öÈ>†–‘^ÏhAÒ½) +ðȊä=ñþ£MÚŒ\aO>Z™ÛZˆ,BPz[‚¤á°Í4¿{8X idÙ£(2/@™³û&ÄTWƒZÓ|N¡ää¨1ýÿInA f(´KÒyUK`FäX®[â8B¦kã(ZðÔ„?Ó€&#¨öéG* SVæˆÀë©tÕµ È'Çþ0#ú¨¿¿]†ø*s:¡¥Va– GÐ]$ø4" ª8–÷Ã…ð~Sh(a#[ÛÕ™Q„©·äsé^±×¯þXÌìïÌõKi,Î Ž™ë쌮4| <*+âw-‡7ó±Bxñ¸€ÀŽûùh#Ͳ±ŽlòŽ ®î¸=Ÿ˜=¦/6(Ø)”ƒˆŽ}àQH‰ó…À‡7ã>l%œªz] ˆt¥C_¢®8]䦨Ê_0ª]䩹‡w”–\ñ×›„›×2<¨&fÃ"÷«[ è2ñËç©øeü=èH‡yHïÕŽ©ÉÍfîN¶¸SáDªýAôŒöÙkÆ*¢¯óë6tñèj À9Ç $S0¯ºÇ/*cq/µ7g¥E‹” â S†ÉиnäLIŒ©ú*‹Ñy9­ìD1«T®%,#/ô ŽÀA%yÏô9haùÇ/.EnÞÖ‡—éCëâ Œ©Z·|3.\ë+ZeiRÃêçþ£ãYl~Øã]Ä÷uôóî«Vôµ<ÑvâÒ»aò3çZü}€P"Lb!ZÄ™ÐØzM×´~×Ù¶Å÷ø«†³›©®d…}™èCûÅžk^ìÿ=ø8ÊÖ)¥Q­YÆÃÉ+Ûr›xEªÓ씀Ìë‚@{\ä “s¸œò0®’<>]­G«Ðæ¯L NŽ~Z>ETÎEM\±‰ê])I¢®fÆaG*|g°í¨4<å)&IËZàê1*ƒˆ!d'h‡Íêj4µ†Zá7ø€Õ©r_$ì{{Šö<üB>“Ñ ¼ ×2O‘`J—öÝó=Wî’‘T¬º£|­ yÇ^Õ­Õ[ØÒðe²æÒðãßêÌN/}½å“ž´åÔ§­ ©*?È ’®Lñàyg}ȼO¡êBY%^™‹G¾ ä‰Xí‚O<ƒ&vÌ“’…×é8™[û€ßwÒØ¤º‘ÎTaÖr–dMxÈ£ÿwÇ…/b»1DqÞÆDrÜ_T_”µO)>™Eñ…p«ƒdwj­FCæ²è¡ƒè“\~l>½¶ä>0Éônž™ÕsÁ˜M¶ºÂÁŠ_ôºÀ7c¿AyÀ^2þ3WBf¹£Õ…Œfÿ`r@½ûÐãã;¹|Ô[°…k‹žÎ& apȪMô–ÎľaIówq˜†E}ˆÖ¨É{„ém‚aYW}”Ñõ¤°œ )…–ÛâÅö1ÍØy»xJ<JPÑsOšDíâ M›¶•ïoEÊQtäA"Ä"Qô‚˜ZL{aÇØµâ'˜ 3_¡LÊOïé5÷VCH¹ˆ÷Ú»—ÎHÂA¾«òu ¬9 ÓlQ*)Ûj^.4NòÄŸRFz{ƒ¤¿ßD©2‡sÐ?2ÐW%M¤IXIñ(ú¥?a6‘´f/u9:cZ´# K2Ûð$åv«®»ÄYF<~"M¹ ÏoH‡ ¦”ÓO0àæ¥aû­œ€¢g–vN€Q’ÁWªŽ ðz“=äðPññ?ËO©î8j%  øˆ¼!ŒD`¼2û+°OºEÞŽÓaàV¦«wÛÄte#m$Gì»àC•ø^ò´+”pV¯zHȉޖùæ“".2þ3õûòÌ–Šv¢ æç)NäV×ürøK@0ª¾Ô"¨³ÇöEg¶ e6Z†ÈÞ¿œ‰Ec·¯¸Åz1Sâ.Ë™ƒI…,-9OÝ)6ÌÀ™*=rÕ7ícļôV³Ô2n`;ˆ¶øv'—$)^|s‰²²© ø =Ó, È(RiH(ÎjO _©É ý°‰1Ösd—5EžKÁT'ó¨Áé‹A;l@ÈiSt¹ìˆô/xy#áô0¾NO3ºÓ7~£ày¼q4Þ•n?ÞÍ3Óþ>½Ú…6ø<ÄOZ\‰–Âì‘©j™`ÏD¢ö€ ¼²‘i̸ˆèÏ:gú>åqô¡óg§ÎÛV$‘K)…¾Ò¶’Ö¥”cQ0_à|BÉ[>\DZìÕ˜¶Cß"ÝÓl¤‰¢*¡H“±é†Aïg,„–!¼Æ_ó£eà[ñ°hE–Óhta£¹Ž(Fk¼nL†ÐOéó ~ÒÿW›"Œ·Ä¢&…<4Už»–Æît gÚ5«0±á U«-Øëe¦ŽOXŒzr"³ß}§[c2mý–ö«k½¾›i\mrã[=‚5Ìi†¢Ki3Vßšb¥u¸¯?FÊ–Àï&Œ¡øå˜TQÎóéUW¥¡®ï¿Ls–\Ì÷B‚v•ç4Ã7\?ž‚›*²âV;$|GÔîªN¸eOhRÞ›¬ÀËa‹ë£Fª˜FSe툾ƒfÿN¾Ú¼€ølcÉvwpçÁɃw$Ý8ìÄšÝ ìP3f1÷ITú¨·«Ž°1¢€ßlø)¡qÚÞ+Ü j]žo->†õ0äõLL„yƒÏìý  ‡Š`ô`BÙL£°‘•9ƒëý¨à13%œêT÷sÔ“Œ7»( ãù¢åf÷©p·pÕèò£7ŒÎ£îÓ°„ÙÔ‹Üpy°¦ëg6‹,Xz¹|Ù˜ñ¸²‹©üÁÙ–v‚zýÖ ”­T§¡zn¸ñxYXDgŽf-LeÓFÛU¥#OîÙÿÙ!”yÿX/‘ bô¼ÆMÿdl€Á*ã¶ ¢»…Ö3ez³Xf÷¿9 ÞÁÌ•¶eÝä¨= ÷BY.»Ÿøø«j°¥fiÝ_b®ÒñYžÏ&#¼€§-WG*,‰´o’$‹¦»ÖÞa øÅmþoà@Î3Ñð8LŽ¡+îµÒbè¶$ÇÇQòqXý”iüý” G¯ìŸìwž^®Ü®ù4fke¹—ÿú øÊ^Y …¢´a‚É)îí’Ü>#ûÀÂÌ·–ÅÄ-û¼þí¸©„´]}WУˆ†À`~ÏŸ>ö±\–ªú–l}"¾r› í*³®ûœv:¿EYS´ÿ–ýÞKàÕ¿¥¼`Žˆ`u /CÓª£pÚæÞÇõ“Ø@kEøKõZQ~~~M$.ØW"…GçºÁIf55ÄW1ÉnËl~÷áþâQ Ì>Šê?±ð'ý"†ßú™ ­Œ'²)Ä\|}XYš”cÐ)ÊM$;´€ñOÓiÄòÉÈÊÙ…QjO¦2*…šô'QÃ8•ƒÎ™ ¸xD?.i Ê)£vx"&öØhõ|“Aù¥·ƒ­˜5Ç#ÁÌMzõ J0öÅŠõOÝŽíïj¯Kà¨Ó´Hƒü8}ɳCPÿÕj Œ^Zâ/¢c¬`ñI¸¦xÕ>Ê™Øö1É}ÓXI_m%ôq‘` S|S|•²¥±ÙöÏ ŒKÞz×·3 &v3˜ƒÊ¢ÈÇÕF\Ò­=ÒzkþZ "9‡b½, 6£ˆˆrß¼DçÊFPðµ/”ÀÿýÛ&³S‡±-\½È ðñ·e0Qþ¢ú€ÎcÍ ¡Ö#a„À)"'±³æ¾ Ãåà'Ù’N¾o^Žô"^ñ.EZ#o¾G é/qÞþæLXþèÚŒžfØhóΖi¶7Ë.ñÞ¦i&¦Ù_uCÐ µØwãŠQwHA¸á`ÿPâBÇ,æéM¯bER ˜¼ÃDaJ¡‚m|QÛGâæ»û3GIøHGÕ­N‡;uôÖnöÒ\0¦üu?\7ê=/8öÏ"2züMZËw\£ç„~ÜÐËÕƒ†úÙM¸ô~‹ƒ­íö1}OK©\.ž÷¼Qc“ùe€#ò¹€Î˜@üA˜ -ŸØ Ìœ²`ÈR¸$½ó¦C6ÿ7ûåÞ‡t,ƒÈ6Ú¼Ó©ŸYwÌ‚ò­ˆ÷®?p1=yZ†Ø±ËdCÌÛ£W¼îPв6Þ+çš6Ê(è­ìqg" `OaÇÀk\¼ü˜[Åø¤¤E¦€8%[o{…XÐc‘Ñî¶ûÃ~‰ov…¹ã«yjŠO@ùÆhÎåÚlHÍ‰Š©…Í¥H98¹rí¤´4ØGÁëï{lÔk¦±cIVAtfw¬õ‡tôÔÖírì §«"ÿ‹¯Ì§¬`qëã¢e*ñ3ž·9œ àóØ:î¸*¾„¦ ¡´¾: ƒW—º«Ãsu™û±×k5/áa4‰jWáúÞ·¾Š^GŸþ±^ð¶´XDc7ìRZŒWíAyz7„g7Ýôþ¬_(Ð7mk@U#,†ÊX¿êÙÝ2D؃É8ϤÁ8&aÈ¿Ú/ËX¬F&ÕûèQn¸¬ÍïI …~âc·ÌWåªk¼ aJûÕ3ߦ¯&Ü ºÙ+ÀÈ#ÇdÛ}*º«…Iá~ž§åO`Ë Ÿµ{]¯á°|¨×Púào5VðIÎÊ-ú´÷ÔXCƒO\ ¥ýëÑð˜(a…€÷Í¢ð)œP’` m«< ¶‡.Ç®eQ½ÜxtÇÞ³ —Í6cëG‰AÏB‰# #œìòbªO÷Ò@–»§ÐŽF8{Ê‘ñîoÃ9˜#{4Æût˜Žá~æmr€Îµå‰pë(çÎQ”ê0ÊýuUéÆzésLý°:9–UÙa¼ô’?õ)½”$€ùˆm%Š´Õq7ëY]ŽŽ$a¯,RÞa³¥ä¡ˆCs!ÀâäŠ;pHÀOT(æ¤뎩ùWòsU‡T”w…íâNu¡¿–¤µí2¼ÈØQãWZmžbûäªãç‡ß]O"ùË)Å_ݹ8 öû:¿'¶†¼ÿ"ÐSàHKnNß^ôxO÷Ù]°Àxê—Œc¦ªZzAÇ)–³"åFÜå‹0·Ï×IéfÊݯˆæoý°ÈjØz/¾¯Èï"žŠCéÈÌ òßjîeЦW<‘¨¾K³¡=ƧiCC+r&*16«)ÁÈÁh¦QÑZ÷å˜¾Øæèe‡D1Oè°®8I¸ÂvUd@¦êA%¼–¢•yÂSEÖ.ÌäêÐÁÈÐ>PÝ]«W<Ž/¨êçÀ‚$)К³aÞT£Ç ßÚ¬¤œœw¤AhŸ9º²#jb;9@ïŽ_HDg+u¬< þ‰ˆqùíØfñáC#`EÁ=¾ngä­w‡ùÎÔ8!ÂÊ•Q]cwn¨ã6æ?äøX`±×"ØNì$”{·Î\U°htõì?C rüöÅÒo±?NØ>ãõ†¥¢îæ<iŠ*-a)ÙPÕZã>Úßt}ʇΨØRåL»»3¬.™ÔóCžÁ£ÆÖCWHJe̳w+"k§ŠžDt¶ÔÅC$Àþöëß³ë1±Ñ(=ZÅÛRÃtÔîmâ½ÎוÚéÖÞ!6 «L—Ðm–[.)d½–ø·ŠŠc6Üq€Ô±§trðyÒM—Ø(«f^‰t¢ox½A?·sœ/]æ){^Ék,¦`3 ‹òç‰YÐCR*[Ï'û2¢Y=ó·—Š›Å™íUް_Qi™ÁíX«ÚãC|5ZºNÖÇNøï•­Û¢<¦¨*˜S¬© nÓü±Q›_ {ÚÓ9Ðûu÷ãcEEÔ?“kqTÀLrÆ“ve@ã4|gLàù@Vð£4+*îáx²ÍM ¢š ÿ[é·.é2|":QVpj©vôµ,ƒwá!Î!Y÷J¶kÞ¯@O¹Æ‡ß¹¸IŽå ½¸ü›~µ³ù3õÏñ.®FnŠÎç^“Ü&"?G ß¾ETЩg?t@<Õ4 =EeD¢—gÕnë´0ù-JCeqNŽèýáo­–¸8aÌUHm¸xøÔ‘voü|Iøu¶Ìg34–c¬‡ 8tíµkᇗ€ÑP•ž1%<âǞɞíú2˜bvÍ;¦!(¸àBrt…K0,q»Hín/™Ù—(Ú6‡D:—Þ¹ó¿üNSh•ñF…C_pŠfKÉãê³T¬~qŸ*ÁyF h„ 4¨$Î@EÙúÓ ÄÍëÊ÷ÂÒ`ñ-‚ž xùV–¾¯÷ûñÀC[Uáþæ’ŸÔˆÔDÇü® ÊeÑî8ü=²ÐO(Cóöè«Ët² ˜(˜èyàÖœjΙÒÎb¬ãbb©SÍ’ŒuJs[|›\sㆯoD £ÇœW‘š’ÁÇ¡ˆƒGëýØto{~ \ì?¾ TÞ¸qj’¿Îü#ÒÛ ‡UéœP5RàIâ1z¬DÄÚ³àØÊî-˜ké?,zrµá†ÙE«ãwŽ9êid TŠÉf“¢Õ­þ9s{Ì£Ü&”NWÐ_$ÿ7tß!jühDÖÁš€§KL¯/JµóþÈä¯O ͧ¬ 3¤uÎËkÉp¸,ÇqSà›®näÑH’ ÷Éý`ëu*{{ë“Ò¸¡J{4–¡%T© Dß:ï3ª÷Y&{9é¤r/^èªË+Y»Ã¢§Qºg£~‹>]Úi²8f}¸ ¬½ß Ð“`Œõ_›”Ò.˜-δ.vX#\6CŽÊ7CœêÁnT‘;³øã{ Íô/+zÐê+í]ž”sÓ¬MXO¾ÜÐË€D ÕýãÝõý._↓ü}åUÄIöy³P‡KÇèÏ9³¯¹Q$sâ£Hö23e¯‚ÛbCð™¼Xƹ«»®­h¯÷B©~:¼_À¦üÔ½N —$ð%U­ƒsl¹ëèáÀކp¸dðuSòõßln5.’€êœw¤OY#vØ£É<‘ðn þñÐqÑ& ˜ZÉ"›L>t±žkÄ!žôï¬jL¯ùù=q¢Ä —/aCƒZfå!CãëYîkhWb^£ ÁÕÖN|ñàEwž£ÝjáÞdv¡BƒþÜïcéÍYYkÑÁ}ÃÃVé7ÏGÐæYoþ‰ÁŸ6`„¦<ÀÓ([·Ùƒnuše¼‡Ã,QàF®Ä”εÃbbô„nLB…,ð~1Ö±Eí|AtuÅ]ºv”›‹Acì";ñÅL‘˜ÔÝÇZ?¦¢»š‰ã¥œøûv1Ÿ©˜~…‘ô(väyëþ¿Ÿæ¸±÷û^R.ôÆøl ï] Êß°‡hy‡”G1v·±ç=Bç`¥Ò+ÀFˉª)Wè™hÜÖ”ùÙDAç€ã6ѹ_7-5ÐqoÁt¶«öM¶â,¥4ÅtD)½œqR£ôI©3Ó>6ÿÂ…B‹8†UX#ùçät:ÈëTnHA@ÀÿºÆœùÒHµ­£mYSÔbOÂÒLm»ûR[›ÞŸÏÓº¥ÿÔ:“É÷Ø\|Ç àò ‹¢ˆ¡MƒeË>‹ ÿ§™îÖ‹´=hÞ§Í \${q{çÈß=“(tlõ,ú–<&M×@ì³ÊøBÄ=ê¸VcÜ%aO–,ÕÂJ6ÆGå ¤ú¡œû<ÈFú³yð„/gz‰ª»M5©ì¬aµQ¡¾ÅwŸúϲíeôô…`~:šÀIS4øRhոŠ9[¶"O¯¥„Qé½PÏ”OœzѲ¸ÌžAÛ¬¹Zz˜fù¹œgjšš¹]Z.ëV)–#5,ÆxÔÊGw<å±Ó'®ÚœlÜÙ…^M)»ÖDÖ4g6tÔ¥“šóç3=ŒšyJrIYΤ2êù†œvÛKæ˜âpÊö¦›å´ksJæÄŒDeûéŠ#¹´¿ fB¨)j ‰íQÚS(+ØËùnèÜÜÙß´-ôtù³M\’žx«§lk®µò‚é—Ëx)´ëî}0J¿—ÌjülÍÓŒÊÒG ¥¯‹G1^rU8 Zs%‚†»y7\Jd™E\„ÁÔœïi’ ‡øÇB5€>îgߨ,¦ah#–ÚûDîü¾ZÖÕû â1¹“/ê! .aI¨° Ù[ÁªMîàI„O¿Q§è|YùO3•­Ì_ï' išG€ê‡Óv>Ñ]õQçqÖ³cÐAî X}ä•u‚öØHæð›ˆj8¬1i¡¾2–L ­˜ °Ø¹&¥¿ÄZ^¥cÊÑû m“U`A·’KŽÂßjä.œ X³6x±âÙ Cîq0þ ˆ½«ñD¡Z\ßO;^©«}а7ÊÙ‚FïnÀˆ‹MæìÑxV“ / ÷.Nõ¾5Ö=t0æŠVå%‘÷¡›%Ã>l3ß·¨S*wíò¼è´I¥¥¼@÷ÃDæÍÀ{åäc'ìôU$PSOÍúíR:¡Ão)ø}ðys·à»¼#ÇíenÎÓo9]5‚<K Zžaø§3œåôרO§|gæzUÜ< ¨•Ô|-£«‚¤²DÏFøËF‚à3Fy Ø8¾v‘»½æAf˜—‚Ðî*xGªP%´âÞt9i¤P@Tç¬kŽüÏK¨% Äf L¾ÑXÜñ®4aÇïL‘­}›„Ô™!oÌ >f>©•òKï¢R_ÕÚïÓdʘ†',^¯“`†ˆ¦b,W¤êêæ¯‹ƒ¾»¸Ïœo1S°ñ£e÷o¾ÁÌÈ0á™7˜<¨åm”Ô2]WâõLÍݶ- §ôº€/R¯A¹ûž†Böî5‹â…Úö@º;1Ïj·A_É+‡’¬ªþ°cædýŸ!e˜ŽùÓÙ´gÕ*5¬ÁZ ›0zºq¦•¶õ9Ìü}÷ÍhÌÔ‘ÕO¬CÝS £õËÑŽa QR8ƒÔ­:× ‹­!FXI¢ßÄâbð·² Ä'Ä…¹ˆcÂÍ´A?Hþ£~×(»Q®¥Ëù6¬Ê> i\°ÒGŒ4ŠàcûÅwgêÖL{‡¢ª½˜°È£ô›µ¿õ×]ò%¨ O¡ÛHÕïC7ªjHÕ¾èý›¸’+×ÔÓÖ¼YF ²žÃàGƒ?oVbh¯´|ä#û««šan_M?ÛVÅ*TÆÄüqzÇå'V˜8ï'{+¿+†,ýµLò :àæýIùwp9p@þcˆÿýp‹cÃÜ"ŠäW0eYwE:îBÞJ2‹VšMMÁ.ùsç—¡ã©ö¥øüï‰Ð©‘~‡|íð•ŒIÅšKË®ŒïT†ØÒ±0×Ô é|ì@a~<ÇzèTacÈÖ‚à°íOBŸþ©Oœ e+G甆BU‚ú)ùÏùü’ªÊQÀ Ikæ?S7œù¥ŸZÚü!j¹Ñ^ `LD„EÀ°ßOë½J°™{7Œ%_ç—Ï"ï³aœ ªÇtÔIœ˜ ]Lp6—ñmE?˜fIžè†×àP¨&©Ž‹‹f˜E¼°KlÊ|°G¨µp» ÿ•}…UÛž Ò4WÜ“â}ò=ü¦}œL·æ±7ôBF¼=ßT Ý@ð=(Pײá?èÀA}j®qlØüHØ7£pMkŽ 4ç_(9Ç*–mŸfR¹â£/ëüˆJ» =Ô ü^Ý¢Áçîú3³T†Z°6Ö®”ûªQE[Ý騇‘œïk_ó†Í€   +˜ybhW ÍâÂo±Õg•0yÙv£vƒ6(¤Ò8•Rs®ã‡•‚¢ŸÅð«SGcíPF-RpH]̵_­RÖJ /Vf`~tµ _´5%³¯EséœÜ:+ctzkÊÞ©c³\=ÙëwD•Nç½ø4n\Ü’z]§s ëËMoEUhJeJ£ãÕÆÅËyÿ×>Y;æ F£·‹'þÞòFKÏÐSfËYË÷ ìxut¦pûö_! ç'Û«L6Iiyo{‰}[§3Ë`ÁðÁ²ÜÓÅåb.·¢cæk*Çô¢õ¼Ù+@™}Àƒ­až®Á_ïq‘ YÂÀ×'Ö¯‰¹ób¾MKjé/O–Þöeͤ$y¥ÌXÖ0!µêÉ‘l²)@ËåÄY©¤IAlÜ@5hÜqå bÆÙ-Ö1ØfZúL/We¥]\èòÖÖâŸñ;Ó·0L\¤‡Ë; »(M$WŒ†Ôd_ÑpóÁÛ‰LÒ>UËBCŽmiOÝp1‰ÞUnž Tá ŒIŒÎ¡Üq©t†ëé|+²J~µÀbmdzIJ“Nd›+˜åóçáú'í‰xÇ„äîhÆé‘ýp0=a|¡êá ð¡¬8Ö²ÙEbžPGŠ;„Ú„ßç×_úÄðx³ÈÌ‹°•àz>óÅ­h‘³žØè¯ô#ý<[{XÖ6{ñèŒ&þÅr†egHE^œ} Úʳ¦c3"¥cL×µ(‚m/íæšì8Þ’ÖßäêÆã“? اÔ˘°[-(²îù:ÿu˜î@¿ä|»®CéF8éÝu,F ]—z ³F~ªþpgñòu^ò9_újc§vE |«Ý>6#‰è/„—ïUeß §ÐñùžËŒsÇÆ ý_‘M¢†0‰@{SD…v/V{³j°¨ÎU#ÁÚŽB}gë5!3'Xî?à·ƒ¹öÓ/§òöPó¨±/Îñ!œZÁjeÍoÛqó =#Çæ¥‹&71£>8ܳðM3´&‘OJ".\‡<:êÞ«bõSK–ÑH½ÞÆaDž¤€d£L²x1½1Z„oõH®Æ ,Jo=û*T?T^':‘ÜUþE¹=C¤hÀ¼pá9±XH‡O¥œá'à§þœs`oÉ…7/xš;ÌêðsÇôdaá<™„¬˜û"8Å—køx‹Ž"„Ðx¦Šò¢ê"£Q¢¤y=‹Õüº1ÚZ@Ÿ"ÕÍ> ¨ýw毼»÷PY.Š#cÒè@†'ˆuþúÅ2¢>¨Q!£|ãNíB׎ۙÀÎ{j¡re»ÓQJw 1ÿKpÅñ{p-Àš6^À¡ ŸóòÏ,m#94Û½« dÁµ¨Â ' ?¼Ý³±¥GS»Ô0“ûb.3×’ ÕEŒa·v‡jw6&Áê[žžyäuJ¦§#eßú8À?@Fɲìör^„¹¾tì7û¼ÚSãz;Ô±Qhžv¼®¥"‚BÇÉj_C¸,-$_IÁ"Ùé„*©caë{îo YͪrN¹ì'…CWïÍp «3¶dµ`x5y»¦Üë^Ó\2íC×\Ý@6βñ;¸Ïqq¾§LÜØú¥š‹1ïäŠ(òã&™žFI“&õd—@[p±HEûOÍëûe×ïûŽCcÞm$ÌF?¹( ć̛@Õè² ãà/-ÇÚaq»Hx͇"œ˜µñÜÀZe$Š„z†ˆÀÛÈ x¥z<Óð'©'!Ÿ_˜rò5°¯Âk²dÖ²ÍOOå·G¦§ ÞfÇ‹(Ân_”¹zñ C[œÀ×C¤ÏÉ‹RMr,ÚÚ:µücä³ú'9`Ú2R-¸Z¯b7Ó\ñd.¡Jo Ù}El¸¡xU;ÈßÓ,j›ûê§GYõÙ¯ƒ…8&™ ÑX’ m™5XÌE1·œ]0nÓHºÿ-zÿ¾Èãêêiƒ‰Ð¦FÅðTEê+>ûiF“’£µ}`|±iÆW®æ”©JÄÁòá{Õ¿Ã0¡{†ûÒ4¦„SF–Îr92ÿÞ¡y´ÔbI‚ ½AÓ‹bA,˜¥ª¶cŸJØÛüB(!n™ ð·]ίúÞülsõ`øK09ÙÛÎ|…XcÙŠ”¦8™1’f´¥rE(h?~áÍ)"Aÿs?ÉçÚ¦öÀ 9[ùéy¾ƒ¥ úñ|VÌû핳sCê³µ‚Ê\ÿUÜ(9GväW¦Á‰0+g_gÇvE3ïNtüC<é¿â[!}‰ÓžÓW?G%ö0I¹7ž͇飸3ˆ`{ƒÿ «,ÿ± ÇßÃÃcnÅaeQ_DC³SÞÃôZ+b]Lq”½?Ÿ©ö°‹Ô=‡'¿9v7‹¸ÒVéAì9ì^QðM« …½?Ø$£NÚÿdeb|9k“Y±J-íéw¡ƒæ¤YùiÀ—ŠcÞö‡ÅŸ},D¡t;Ö* ¸±Ù÷ÜFÓ­u’/BRX8(ê‘O.îÐN\Føü‰[×ÃQ7Ùk4Ρ—\Ô-Çñ=µw3äõ0P¦× i–… Sº¬ÒÑß7*•]z*é ×Hëžš©yTŸ€°F½ñÔæ‚“Ð#¶Žq£´¨¼!E‡­«õ ³É€!Lx#Wo¿%º© Æ¿ë%p/3sç¥wç·zØÃ@$… ðÜâÚ«÷į¡xå…l´4ð¥G¿2 hL|‘%xãÃ÷'8Rµã{ÄÐÞ56ÌWíê”eë_2™Y ’kQõô¥E'£†`hx÷O|0JAq†àä:uõ\é¶Gqö;zdÌ*è‹°^ødïg’.}$=üRØcŸÃ|•|»ºtvû2:H=³bÂ3Æýî|ãxO"÷|…ºubD7TH\'.e“@¢K!uHòa£vœ€> þPhÏÈd>\"TËø³î÷b©E´yË%…óFÃ,>쟯‡Ç¢ïê7ƒÙˆ·äI¡øî·"<öèFªâ~ç,mMèªG Ãwæà]AÞÿ2íÞrȸ­Y_ò„©žÏ!;}ó,ïÞB÷ú”‚Ÿjyæ TDË^ùuùÌä¡©Œº®¨KFImüÒ˜¦ì©}Û†YG"KOÓn•gRí<-SGõBµ»³d}nTÇ-RvX=ƒÃŽV‘5È(´òú¹üsøD¦’/ªÇí­ˆÊg:õ¡ šŠØ>!i5ì—ƒ}+O@í?~¼ðþ¡L„y¹×4$¸>ƒq5(¨“ 'nSD°…¼n™'ƒÂú¡¬wUÔ’Ð^‡î•ê¤ôÖoœY>e¶f´¶i™‘C±ÓŸ–â@°øÖêü柧çƒAçöÚü3Äh–Pµ]Ô†žÐ¥ü"ty•Of!²Oë–º$c7ä#¨Û×£-ÈBë5#ò}!3«ó¦·^†¤Î/‚«ÖY 5C„`[hËs 4Û±CCÆL‹t‰Æ@_Ó’Oà ²yè ôŽ–à´~A0FŒ¬ÐgT~ó¸JÛ£³SbÈsÛÜxŸÃµ•:³î‘g×p “¾G˜sýãýy&%H" ®ÑÖ¸2oWÔ3"*„X‹ –ö¾ì2눬« ukš†VŠM-Wk'ºÂS<8{2{$Æ€p#ß M¢ÖB£LQdæ'ànÊ>׳“Çýç]ñ¬µ­‚¾Ã¼¬ ãM½,÷Ag†"ȺƒóOˆ:Ë&ótGÿQ.èÏÛÉ’¸‘2e|}ꑼáJ>Ñä0€?•®ì£3ºç÷‹ÊË&ž‰—}úRFÛ¶¼—Bì»Ï§¨þÅe.ªþUÈ^<묪hm£hz>iÖjÍ:ÏyÏ:5"´½‹pe-C<þêO‡îB2ÑÝ˸BV›ÀU4c0x]ƇŸ{ƒ‚¼¶iSÚn1ŶŒëäÅS‘¹AÛ»ØJÂÕ­‘ä†Ù˜(©¯˜·ŽëÑ«aÃRÔ'AsÔìuƒ˜I¸iÕ»f0Psï‡kTAGÔHpo8ÉX¬“—W¯5k 'Þ;îòôèÇ¡IÚEmÖeË>ôÁù (ó¶aŒ^¼Iá3˜Î 6,áÝi‘þ•åza˜ƒ#9Š‹†žSÕ$ºôù›&D½Çrb}ç§Ò2ÍÂ(ñáøX\™ÑeÉ”Ä?­MÆÜ ç~¤|*aê;j:`Or`›\’5¶ ƆSÌ[¥ùMí¶ä7­­ xÏC nRnBèž\"-÷|–ûåÜ3•>ä¾qû—bIkhç?ˆpÒŸ”BæÿÕL)“—$ÁÚy‚ÅHÆ.ÈËÝ~ä—øOǦ}ÓiKÁ#{ÖÆaºŸSúÀ€9ø¸·t°³’¹¢Õö¿ÿ’t^PŒ:F6S/ÿ3§ûr†s÷DÝ ^ùò;ÂMKªo÷¤Š—»"PÚW:ul$ömHmŸIÕsŸË(=¨¤/Ü)çtºÈ÷ºœ×Ο+nœáõ`ŠÜ¡ìa£YøÛ„¾_ËèÚ³¯»—]?öɵâD&Ë{Ð:!ˆùî@¡yÇHjj!kª*–Á¯¾3茜Ý‹ ØM cÙ4o«>'ÿ‹€çzÿ^©Á¶Ö.©Hôõ}Ó4kËð4àO2à ç¥ÄÑq¸«O¥ì››Íê×uû4â¿Õe+¤l°Éuÿï,×?5¿pÆw éYÌ=6 ŽçhhòT2À)ê»UÖˆ &¶ :e“kî„”A[´Ò)ï•)ßò²xÞæ°ò}ÂÅ;Ö¾»vü ÄÅ×sJäPV½ Ødú—«î=ô?0“G8«ÑI%ßÅ?mUYŒæ‰é7C"óeÎ)%%yßçØœCÕ%Ëë¦Ò¶ N‰ãÊó¸Ó«¼é_DÑ_Å<à;oëÂïV³é¦w£G>QÑðôÚæ–©×8ÙUé–m(8Џ‰D ãßRâî7Í´P@`—)%j‚ÚWlµfˆÆþË>G´?žcãæ´83Ü^ ‹è†›ÉÙ@ج­'k¬×W‘ú–Nq(©Ü}iüþ‚B»V&~cýóg1¯Ç&Fdæ;0W~RtŸÖzЋÍú=CŠTØEú:ºýºEB€h™ÑPÂx{§0S/ ØªŽ¤TA'U€ýÂZ”€½e_ƒA×=50JWì-}Y‚Þ¯ò2&{25×/ˆû~CȈp²5•ØýrãH¡Ãú›DRúKæ#+ê…òÑŽ$ÁUÍúžŠ Ó¿,$­ê„¤÷›ƒc”Ô\”t” ÃPÕº1ÞzsÊÅfÒÁ(¾3‚Å4M[×w~üõìA&"HO¦,Ž‰š€ª¤àÀÔÿ"·/þà @H‚Iø‰Ï}$ØÝŸ‡s„½È7òá½A¸Kî 7ªÃz¡¯ò$ˆ<3>f8§j)ÿ;Ùªq;ô)ç#ÄSîŒ'+T<:²óâ^Œ|P7¾äq‹<…ýÔ&ª^½{õð”'ü´M)Œ&n&iï5PĤ{7OŸ 6Ù#_ša©Ì‚†/©C6ôU@2!ÎÉ’›=Ò°øŒùÚ~ùޝMõmu¦BM.å™üj oÉéýnåÍÆ87ƒaïjšÀŽûü $8˜:e;|ñKÎ oQnwG_&nx#7D’‹8~Wý;©xpþwÌÀ«¦ ²©cãq[lßäŸ ³6Ì› ¥TV½ û !ªìóýøD:«¨âwÍøŒR'£¬— ¢9åtášö«ž;¢x5‰Ì›ì.ð«Ö‡Û$€÷AÜU¢åïÈTD”ùiÀd ¶M‚1é7D†Tk£:_â¤Q…sU“X ÚãÑ‘‘Óš6_D™íc,AÜãªx?Í4öh9´ûL›Lí ½íiŸû£ò çÛÛ>iM+7ÆPx¢ÑZ¦RkF,ã8(hKôÙx÷.×T3Ö%’.ÿ÷”ËÖÓk¹Ý¬ÿ4î¢MÔw_Á±ÆXU‚`¯œ!š 6ZA1³XKoMC7×NåtþohœŒ/RþÂ¦Ž®b¶pÙ9 [£ñd#¿ºÃ„ð^QKj¤Ü†6(AÖn>Ú×÷TºXî‘1ðÏM_ õ” Y*l¶„Æà |÷…oOe´ºÇoOy¢®JìD×Õ°[ÕyH¤)|е“2(,ÄÁµâ˜þòT;JmJbðå"ï¿Ù\I?¹$<ñÃ8Ï‚¬5ÁºëÖê§ÝŠó«Ì\*ucº5órÖ ¾¸%<7¯Ìò…¥öÔÅ+ mÒóâ ‡qýÅcÁe‚USÁv ‰ª<ʆºâO´>×7C °ÏËÀþcɼ}\~[d™ñ âö¦¨‡OB~heØ8%óC)K¯És[Ü%…×VÍ(ª; ‹ñù‡ÏhCDT#ÖÎì¤ðƧ“ï(‚—oD›©tK/M»Íy'4µ¤´~ºÊ¬˜|0§oqhg–$4+åØX×&ú“Yž)T>¦Í’« Š‹ìîip\Øü÷Êéó4üf+:ȹøÃ^Ÿ*ZÛJþ,ÀÝ µEá³A”ž~—ˆ˜8T¦ÂÆ.aµï]O<™Š }šÜê î_ÙíÊÕ8Ã0Ô2Z™£©{ÛXº·¸‡jYG"`òLšçùÎUJªÒKù¤‡ÁHS&:×SÏ™yÈ:v®Î"FŠžRÖ ýâæaÖài¬›!²ã«“B®S;mHW0— @ œÄ"ðæôA Î-ÏD¡å®Ž¡û°ŠÂ¡Pvn‹« üacHÝ?dYQ<ºé'#Ô ¡F Žò"5rçgÀe®y8E_éàꮂçgBÔž1ÐË~ð˜·ÑU~Rì Ï|Ƥ߂!ã-Üc‘ªh0øö É:c·ó‘nѸØÇ>xumf’HŠ ›MäËëü²`ËC Qã,ùP"K‰xù2Å%ÓüX“,„ë“…Óú`]ÓÚ!‚‡Ò2ÈŠûI[€Ö™ÌÁ¡Xoˆ­1¬µS ’Heˆ<ê?cÜ›µm˜—üp±Æç´ü²$¤ðçÕŒ=,Ü!ËÎ2šÜÙ?V a^cɸ>1äÖÁ™Ÿu•Æ©µ …#ÌýõÖo°S¦câ]÷,þAòÍ4Ã7å½\³[¬rpË·U?Ù¡MÒ²½´©”*Q?ñøtu!’¯ƒ­´G Åqìÿ„SwS,ÜMW £Í5…kÓOÚ­T'j<ì_Vˆ‹†j:½•îp_îU} &qÖÃb{ î qt¤ØT¸±„ª‹¼J˜ç!I••Me‘çÅBî#ͤ˜Õ-#¬i»+°Jí7LqÏÈ<º×ãkh¿`b–Ïx¡aWŽ‹ëê„Xƒù ¦9nL]Úî—r£þž4ôÊfàV’á{Œl¬#Üt–¼±k¾L*ä16éUîÏTµ35_ug*ûx°³&3„$üöB‡ì 9/£–­c6Q5ïÃ_(v®¬‰û~à>¿Òž¾Â}LÄÍÆŽ,r:ˆ/²8#)Ùû  1"ÝK"8÷¡Áó¬<$>ƒs«)á"sqôrÄ,3ñ ‚€¹ˆ:hM"åý·éLã[ŸòK|ÖCsŠ¿.É„Ü?ã×^»¶ þ´[vTð½ ØiWô Îã̸µx¤ ßXÖR T`œµ‚ÁÏþøšLë²áñýy樖Ïax–Ýð'e›.åx"SƒfKÿPœ8ì&eÂþDîÇëØµp¡å©:I–û„oÿcÍåŠOM£k™Ì™¥ã£åÎZîèxk “”'œ¦T"×Q‰1ý;Oæ'q¥ºÀM¦DÃeÚ¯ˆ_SßÍfHKÝñ±ë1òåiÓŒñjþzG€lŠ/ˆÔ+W%¾¿Èó}ñ@x>ëBÖ‰ù>Çç’„7§KìA´dÙ¿ÉH2–‚ïë­Ä•6±q™‡¸`[ûB ¸÷ÚíêpýéÐzî0“?z ˜sÏwkxpÙl»ÐVš†7úÔ5ÚF– _Z5àíÁÒÝÿV²ÓÄý¹°zŽ”ß6»kO•Ò|`sZDËo"ÎÏ%sÄ´$ËyC€w’Ý•oõ»$ %²Í±Ñ r+¿ïzÏÞg  ygêØç$õÙCÐ0*îuI&ŒhÀÚ)è3†ºbŸ6³—z 9e­H÷96ÉÐÉܵ³ˆÌðÙ3#0$”r”Ô|äèÐMò7£Ò›Uâ€ÕÐÇ,Ÿ Ÿ,E;D›ÀŽC—¯–þ¤l„}¸ ¾J‚÷n50!š`1`h³ñ>ÂÓΟ˜ôÖòyH*ì7¿ä“D–`„¹Bûx’5Ì`‡|*³~ïâ¯}Ôn-Ų4®s‚H£.O‡æþÇï~5{AÒWj÷UÊ­Š6Ê=ˆÁ)Ú"yL_>Ûwî*ßÓä¨Pk΢´~Ýf´š¡èµ,IÃf¡3a$*¦qàø)üÄC¸«]·yÞdï¶¼wk>¹ýˆínH¥ª!ó úæØꬬŒzÔ7½už/Dˆ¼™'­\Ô!CvG<°¶ñyèí “xØLàÓ±'Ôú“/{¦êÂkp¤eµp«A‰»öÊy÷™m¢‚åZ:¯’¾ˆƒêiŒdÉÈBf)HÄùK¤…%çGŸB÷q~)ÆŸ™.šÏß§år¾Uq¾þ¬ã<Æî[sÐ;CÞð#ií¸/ Ç$›„c:sgFd!WñÞˆÓjéïüw5ÃÀÃ—Š±tw)¿”l0yˆl~Òõ?\ó_ï—Ü­V»îä‰$ ˜Ë|º|uaÉqWEBG¾Y]ûÛ[úö³w'¯ÜÃlL÷ÙUï± 5-Á³ÔÓ÷ÏòÞ™è`IJ¨ùí­ãüÆÿW £½Qñ¸¬ì`€ÄG}—øÎ]ó*ð:x•Ñ«§^²URw¬q¦_ Æ~˜Óâo¨ÚüNŸô6â¿¢ÌZPívÔ=tMÉ vM“†²¶ºÂÈNˆ£u âù\‚Y7[‹0y=ý̺NŽ5ùI•tëë¡pæ@ߘ÷ͨ1ód=âE' ÖYò›'•û>°ƒ»®™0;!!ΚÉï’èo0œ—éËGVÈ‹}_}w™µYR×ÃäùEn—L§HÌÌ)QE÷ÄzS{ ÕŒx|ÁÃ7J S¨üX{œÉÂÄDƒQ[Xø¶‚"¥ùÛº¾º«îè1:`1uÉ„ Àrû ó«}Ç{ýæí5ÉþT`º^ ¦/Éóé bl*/‹…°€cÇ  7[|¢aÊ3G4+nž¾Ö-Ñy+õÅì }Λ‘¡%|³š€©ˆÚA›­NkucG]ÑUJáÜ€’€32f%ćú¡ðùg:85ýõ£+Œ¾$\gܱöŒ–õÅ­†¿GtÁèUÔkšÙ}r @!ؤZýyNOɶ*kí™M¯x1‹DÃ=4—uÉCÍ?a‰ûjs© 7‚_F~ÿ¾Á¾¨™,+Ê@»òŽOƒÍ蘪- ;v˜åeÑUlsÌiAƒÎX×[‰Ò(Ì<°*š\"œ$†‘q*ðFj=Z;ûi"‡·sïä¶o^{àð?Ñ¢v:¥ñÔc%éÅÀ̉Æ5jUQf¸|:¶Rã!`gÐÝ+k|*¾Lh³í ¬ŒüXÌœÂoì³Ý=y²%Ñ8¶D#î‡à/ÓŽXZæÕÝD¨ìi®ÿóÿ-«Êƒ“[D¿}/‡rpË‚~ Ó§Oa‡z]a0Ô2Zù¦q"Ç74a‘bùªD3A¦§÷2 ï_0ôOêW7ñïdp©]¸j…öJ0 µU?{”¼² (ÅA~Ù7fG¶²ßÓêß§‚Úïg‰¦¿öã\ƒšFèNF·H÷"TF>güÀ¤•(. FXX¹4Lu|Öý9TEâ€8+²Ñ bU÷%Ð!0»lâi§f²/ýcd’9¥Î––0õ½ ôOãÛÑ·»pU#dþ·aÑx®äèV!ZÁßmÀák{HöÐ…Å]È))¨hhVwÅM"(›€ðš¬Cò¨ÐlÔÛ÷~˜ ká±:8ÂTN}ö¼!y‡Ï9ÓØê˜ØZåÈ]Ê^–^?Õ l9á†2–zárêþ2ªp$^ëžÌc™ËÖ£Ça8(Ó®4‹S1bÐQÆf?Ç–¦£´âѺÃrÒCtþP–ÁMl/ö³û]à~ÀØþ”l(Ü>бŒöV„ô ûç·–2»0jN-•®ÕHÛÊ©Â=T+7yOrÕmqxíûn{¼mæùaê+ÿ)rã§8ΧìG^¬FÆKâ›CÆù¸q·:çÖ—:¼ºè„²q§óð÷)m2z]æåË­ƒÿÊ=%é.›ä1›£ÓË ?3ƸyCúSÔ?õ‰ ÿ$åÞ˜i±‚qß%Àåþ b«iM°'4Üó—Kv¯¨pagÕb¬¿]ðŒ­è1±j¡Yu'œÅÖûÿ¨FE両“ù4÷O²…W6Ü'îzƒ-JCJ%¼Hzu슷zŒkŠŒ‘·ìÌÑ~^×®mpåò ]ÏT'‚kHÛŠÖS.‚Çž~žõ—<'—ãx;#±ý“"{q Š ƒ…›Œr"É[üÔ<õÞʺÈ{Tcé¾pÖ”¶i>Gëwê18“=K¬½ª¥ˆ.N™TuUHžÔÓKvýœiiÞÖØ7Û íÝë̯¨và´O „=„§Ò†çþõÜðõ™ »êx†Ì ­–&zB•ëBÖ‡ÕœÒSŽ…[0 û–nUØ–Ó ø's‚‰9XSÆÆBßðx$Ç0º}0½å;í¿T‘ð’vžÐ`À½¤e?ïL"ËY³áØoÞ[ÈPñO:;F%j.i½Ó5¨0˜ZÛu=H§eaÍ1fbÙG )ݳ‡õw/0¼Ä”Ñ-+ ªI×1¡0Øoè“„Iˆ{Ú56ýå{1Ø›âC\ÙVO_¤ª‡‹èrn%UA/V¶“Ç9lƒ ÎÍ´ÿáýŒVÁÓS_–^·¬ úÞò ‰´<Ì}e–—S~6ôDÒ2xôŽƒxLÜ B@`³úP´l–ñúv‘k ¹Vb¥Ú_XòH¹µ=u}4Z@Ç´ƒBám¤h—@—l êÇë5vQYÃ!›°š¬Ä™Pº¤µií`¬-’Ñؖ'¤Ì8$ ÿÓ˜d³¸.Œ_î5ßGß½;Gn8B¯ªV|Pl9õå9Ó„š—ÔIQÖñ9… s¨¦°¬G=ÂûU ¢áåêÿZטÜÍßIs±ÎuÃÃ0?C=ñ’î슫­Æ'ÄÛ׎MP-Ó'CŸ¡Lh’@jA 4~-µ\–ÌwÖEó‹ÄX¥Ó)ìƒÅxa³f8žgmø|ÙWÛ}¯»laß”h(ûOÐíg”Ä6A{´Jÿ¼?eü`R<¿¹yÎÍll3ï W–u¦a7MþÚ¡m(k³àÏcS0ÄÐúðÔ¡(¹‘-á±ÎÃô¥¾Òý¬XÖw¶”ÛdPVAÒ©-ö»­©³ýñ€—(\æÖCò‘ü<&;í§H›Úêø E÷…|ÆÖÖ±&$ösDÊôÀ`ÇdYÎLµx.ΑrªÝÐ9ùÞOkùiÅ´½iè…}['¹8ç7Ô[‡¬œþ;àU\ù»È×Íû¤>üKp‡&™ä|ßÅq„RŠõxÌ=ØÈmg©ÛÓßÉ^ºXÏT„¯nCØ,UÍöUvÉ ™¯ÕBÑó7äš¼0„ Àu–Cßj+š{rµj(ÛÆÅ™0  Ɖی櫨Sf]U¦Ð"¡\ÐJ¾üô½IJY•úG )5"OÇÔZ @ÓO!ÄUÓB±§ˆ¢\õ>ÈükÔA FckºA$¸.Î|¯‰ÙlŸõÒ«œÛÕÛJýD6>`ùž°zy³•8ŸØ„ä;Q”–×4…ΓÃs‘e½þ~O5Âh`ù[ÂεmLé#ßS$‘Ø †o6´º ˆFæá¤.¡A©Œ³Øícr~éÃæJþ—JŒ¼nÖãø‡Î”zEdá´O&;6tW£ç§åJÖTÉðÜÞ®ÉÔ'¹°qlÕ¥;­1\*&éØW·l¯èÈ‘F2kȎݦo“ð *| o”éÏÏãó?+j…³¡õlƒ}öÍ=<äzãûjÀ65“ÞÐÐþ¿xt_ÔÊÚ0ïøÎ¨íéÇñ÷?5°öH˜·s0¡v£m¸¼B÷Lf°Q!‡ê¼DÉ€ü,Z5Ò¾uXºÃ/¼ÏmÅl`RÅOÂÀb‘#¿ÜRåOÕÒPH²”‡ª¦B\R£ÀF!ôJÇË*í+ºÇ”‡dgD£·±e ÛSnÆ>Íf÷u¶ra yk ;è}3î L*EOž³”¤[ÁMçÂmeEBd¹6OMj§_¶ŽvÁ:´ÉÀc@¨õ…õ×¥ïQàÑùp =±ãß²eS$¿Ä÷zÀJ ÷nl2'üÓÊFvÈf½{àTцâ¡=»5ÓsH0²¢VÅ«æ:D}TVæn@v£tªc-þQ¦d3^×äÎàÀÁº<þM†mþ vía›Ë$¼­Ð„8hœÉÖ2¹e3ÜÆCä”éÒl¼ßæËþ»Æ#þ#`Øw{; ê«¶îÇOüŒ<WÕœÖ%O bdíï]bÛû§w³Ðñsü©ŽÑ÷vUÉXÇðµg´ô±Çõu¾8É× ;Ì?¿dè·ü‰¹“£3&Ð2ÚVC›·2¡UÄRœã€<êkI.;æg®¹¿.ûм#˜Ÿ¿ƒò&©nºÓï§äxã— `Öø{ùÎ+´ü¿v ¥ÿÏl°5Š”wÞì5 F!°x)ºñœ÷ŽùÿžÖv÷O¼/á¨N’Y^“ _ÊžFÄÓ*{Ã'H¡,®\“¾Ç8›)ð® w?£‚ãMöY_ _åXÙÓ Ρ–ïÆD «")PÉàë9/]>„•g¢cㇳڒ^âjúø/ ³¸9oF<'–tmcÜ3Œï¶×l.`kC˜ûœØd¦ 캳A?d‹ïè’T|Þ:ïßi ¹N05@ úÿK0Vݵµ0 !áÒc®=ˆ Û<^ˆ½Ü”¶&Ên¶Š;\ÍïáÜ}§Ž±/Á ®3'È¥kJÅg˳¯ÈŽ_ÅP¹p`_ºåŸXѵp¢ ðT8Ÿ¬"¼ªfBõ¼›8À M”û9|s ¸v@¼S?j2†mà‘ $I~ù2|àlûȦ8;$pñ£)7š¸õæsm’ÿ–ŠÒ•õzTÌdFÆ-!ìò³Ü6žPWD£ã¸RŰªkL„É#××§5B¦&mìaîüóã@Q*¹k²k Xé’ûSò°ñ,¹ï“tÒ5EP~güäp|Bkâ~”½~VJ5¢P€³u|¨äaJÕXè,Ž%Áû5w¢(ãuè:½üE<8Ï"/šËqßXb:jÞq 93èÖ†”ÇúXÁmë9m>ü9ŸÛ¥N;¦;¹ÜþldDD¶ƒhþÊ>79ÈhöefÏ>‚mUÑO…E `ûqé«í&MèkµÆà¡¦G%©z)_úê§È - ¯µ„McEz ï>iC†¥2PÛslÈè[SólÆä ]œ_%+ÊjŒ\iÕãPy–œ3h-~'9Jc^¦Õ¤™ÄáÔ«d’áù»YwÏ´«5 墎.!sÅàq4sñÀ=qÙ.œ„ÉvoÓlóAœü8Nm´x€œÿƒ)I4’ÍÓDªíWÊŸïJPòyއ@è1€‹ÔQÂö2þ‹qÝÐÕLzÌÐ]aTÔŽeÇ·4—öÒÌ‹†ÈåjM„;m¥ƒK¨.¯%(ÉûDH…a{v›¶ã¿f‚þ˜[2yi9îÊ¡J8N‰‡øµ’ûSâÂô‘cÖ±ØQÖd'0“ê5<` RtÌJšm¶>ðfÀx딲æbÜ÷Òhä<7ú ±gS4™•ß=5}º}1‚ã{t&¬GÔï¤ËU†ÛaB¢è:%-ÅÀoØK½.<Àņ™µH#3ÔÇŽœE—à.0¬™Æ¼š${•¾¨¹¹9f‚½o¯µÎ- {oÓ?kÐ÷Éùð+ÌZкV.3vš§ÜeæÖ ±½f2€C¦x’ëêtаuU´¬ã®ƒ`<ÿd"`„n²š@Ìg¥šVèRe{1ªƒÈÄn:û×þEîŒë©Ü}ß·¬èΟÀРׯj’«Xªá7¯”9‹[`YIL€çòüc"$>ý"/ÒT.`%nÄŸñ.ˆÎዜüŽZ¨´¢½Ñé,gÏ ÔÎÌÆb(×Òoâ rîw§©ò…a 0êQHEy¼ÝmærÚÅ·ê¸sÜé7‹Ø¥:.”‹™v«c®¯õSEB>¿w¼%yƒ¹9lÖä@r”±ì½¯Ê4íæÀf†e ÅtT6’'ÊŽJˆ½‡†áçõª"á[ãÎNÞb%¤fRÙ±®y&ÔÏ•€óà»TÝ6°Á7‘x^S‘MÆZëÎJhÁp:f&ü1Ö?Øø±¤v1$†mÖXP ž•›³óéõ£”qDÕ@åÏìåÑÆb©CV¢Ùm¹‘@½¿u[Ê®eEøO«Rç4àòÁuiD:RJtóR8?|T»…ù=~Áüo–ul_*ûÀtW¤%¨Ï „‚ˆ\fzš“ð@œsqf©;^f~ $|}ÙšÛT:dñüºæ«1qV †m2z®A¬ ?UOvùÞØ=MãîÈËJž»^Ïe$ÂgMuEíÈ£õ¢H)¡l)x;½Y¨1œh2‰ÊÍgzДˆ õÊQºÊý’€3Þé²ô•Q‰xÀc’ zí5‹ŽPSY‘bÄÁáÁ˜m«k4ߟÚüKš ¤ã NoñÖNö£G_€Þe‡çìM$¾×tg[íOBe%ñ,À§ôî¦ðHaïœÍH·µ´¦·vQw*È,JB2K5ú¥îäŠíPîï§|»RP¡ôð0WQÈHpUfå—ó©ëiœò4Ùƒ‡£Ù‰|ôr¤‚úb÷l~¹>ÓÊä´&ñ5ÌÉ뙞¥Gâz+­ÐÕmP!.GëLcwñúè¼¥äñå?1Ÿ„ôȰ] èÉëBßÞöI»œ—p0ášØõS••Ç+˜€äu>0çà`O1|À[ã$¯§¦(C©%GVjh}Ô”.D~3òΆ`¢F{àx87ˆÇqÙËñóÍÎ dâÿes1Å»I·[‡=†µŠ6Éñö«+¿¶(tfqBŸ¯; laöë¸Aó0 IVLeúQ)h€SŸ1×Fš€‡“œ½…œ·ç~œ<±Ò†9ã¨P}9Ó2åV^/Y;;ܼ  ȨՊÀgâò@G;<ÅfŽ….a 9œ=>Ü ½NH¿V[:ðì'ð×òÒ2þO ™ÔVÔdÛarkr¿S+"©Ô§ðAȤ(“à™@¿KΈ¡ ªÿÜ«ä¤[c€§iç‰yØæ3àèƒ(Ö££þ ªf±Á¼òV~**L¦¾¥‡yš}óÎLXx{jºmÁòU `i˜`©Æ’¼z„© ï®”Ír¸™œqˆñ‹Å‡­5·\ÕÒh^ï¶àÕ]´$ïL3YË vï§2“º‰˜•T•|lX€1#]áÒv‚‡öQÎN a¾uL®Q]2Y´•Ò@ðoš½ÛØM«Nž’j×KId8C¦Yÿ<–É;iIóV­ÔÂ(D4»UG¤ÈX„QÙ³>ºušˆþ^Aéº{‘ŽùÒ+žØB¿ü½Ó–8­,ż2ëçS†º—bR%A¶A¶!Ð2©VóSM\ÔÔR++°éÉXŸ§öÓ.2Þð‰y­Ž–·X<°˜l› èn ë`º°WOpŸf‡J(À«ÍÕ:‡ŠèOàóy f‹Úù½Â¶—~ãϵë³λ—ÊÉÞ x:ÙÎÓÆý«Ïh˽'r3R°Õsu“0³¾%öDÇJôîAíýBã qw-ÇnÝhÁ+fx¤ËTÚ\c/·z>xúŒ´]ÓÖž¼ùÇ×wå=›··ƒÇÝh'«Î‚&µF¿²!ù×CrÑ!Г$Wô!Q¯#~òzÆm…Æ—NûJ ï¨|Eb…ûE%ø^µ²ºU2!(\G ä‚0bû°­;´Î|ìY‡óGbOò÷Z›E[œl§JÓÑMVFb qC)ŠdɈìÐÉ}žlfϰ)tdk²eWRÇ‚®hî±?¢ÔEÜErFQýãYNkâÐÕ&k’ÜÊIί×2K´€òI· žÕ`²ÒŸü†tÏ@K^ó ÜÉWzý§ý1+^ (#*etVDÁˆCç˜åáiö—…ôCUW*¤¸L¬¹õÑ[б·^F%™m7ÛGz¦½9|°€t†Y‡•áKû-­0ùáMß¾(‘G½.|êJ†EoÖ¼Á %¥êm/ pN_ýæ]ÑÔð(0~›¼0så´‹-;DY6Š0ÚçAñÇõ@žÖ¹Ó3G'f"1‘þœoz™°µðÀŠÁîĹï^Î÷¥ÃŒ¬&«ÍßÔE[Qæco A«kød.A+£öTìY3Û ¢ ª,¾ìý¶ÔÊr­aÂOÖû[زj ØKt<9ÿÁ°w(l©`]€”Ë=@]ž6|‘²*îP} ¹|¦qù¨Oó›rŽf¸ôZ›TQX‚!E 5ËJèËÙo:]SÜänŠ•±sŒöPøn¼oC»ßü¨ ¾¨¦ ·µ~_%ÑÙ̧D~bäj{ Cr»£*Ð!Av<¥ÆX2áSqS߆ª’Õë8¯v‚SAg}Vî«wl²„¦þ ;F©4«³å7¦ê•ï´£Yeµ*3áZn=Ç΋ê8å…ŒRlëˆ O$AÜHØà¢çßš¹F‚å] øå®8.¾4ʃº ¶qÁ{Á²$¼WT¨¹\2šåœÞUG³äCI‰—¤ã×€ê‹ !VÁp©1Ê–ð`WÔ—‡Þa¾Ámœ}õ«à&‡¢þ‰>ì&™† G™¼(1.ê(%ôŽºÌr÷վൟp ÀuB¬£^”•ëyrHZOe—X¾ê&ѳê2K„A!··DLq”¡ô5MOïÄ•øgF=e…ûÎ'Î%e#ö²H‰¸Q$êpô´0D1ÜõW^ÿѤjÁ ã¤\ªW°”­—ìšB½ÜùèîáôòÅiK/0n5 ú.2iQ6×Ïè¾öy.@×Û æ©` KÖ­÷óPDÚÚÝHçbPY0™ˆ•ÐСd¥ß´çá¼Oƒ(Ô€lI7]H³ ÔÀ±tL¦›<³»±þÔˆt‡X¦ä¨cÆÞU(\ú’Ø>ÌÅã\¿ñB*YŠ‘Y²@*"êe.× «Ö¯_·,ø;‹d=*bž/Æ¡ùܺ©g™Ã ¸Ü\ XD!‚ì<³A&fiG’;F$\®Ó·©Q4Ï»ðšx‰a¢RÌ6/4{JÁ¿ƒ|ÝcÑë^¥zqq{u&o£=›Ó*ûtfª` o-´L.0<Óu˯[¬  {žÇÓë¦û5v¹BƒšØýNÌâÑBZYTaíì §Íæ”§8lm’iŒK:/}s„"Þ2 ¾Êô@-ä•ñ‡\oWd™©^l¡—àöžHd¹uÕ6)½`(ðß àA¯é?|Vì„÷Òö:|¨>SŠ·o'ö§x–q`I7âg­UáýÏ4íb a˜ê¶Ýb¥6zry:DG6î¥Æ#¹vj}v·Ç2²Ž'1òrà”—™6ÿ²õÊ6Lðc|š ÝMÿpA;a§Ü9U"Z'Ñ5q°9‡¶öX—ÈsžcEæm~1X]îh`òª¡ah90±Ë‚4Qò|:‚êdzGa}ß»»l%²j~L²<µý‡ß™´7ä/ Õ?Fú¯&×à g‹xÿn«”LeÉ }åg óÁ‘˜[!2&Æñ¿zŽnàgðé"O,“ôËàÙ_—-@}???ÏÇ$é¶Ce¶JÝØƒH”²ƒòËÅúÃ4ú0Úcܱ‚Cã ®Aÿ²¬vÀ Ãy9ÍvpWÚ&)%¼ÇÔÏñ” µ/tYw #Ƹ2,È]ÒHŒa We‡ãˆ|7 Y@XXtŸPF‡!‰öÏ §Ä_¦Iôk4ð½òA;’»KK™89sº­æ…•ã²!>z*‚ÅO€šÒ©ª¸¢áüíL®¤[3WôfÕÜhõºÖû[K¢Î§ë(`Ðãöºåÿú¯NÉ|0â¹ dºÑ ȃú=˜M5H*ÅE6QW:“FÍ$BÛç[*p:ù9ÿ¨ó»|¯eu¸üÍ(º¸†™zX1žNCÊÿ§ô°ïotú¡+ý§:_Š›•K›]„u€÷âOCt57q¬‡n¹Z½$zÚ¾ú;®|ŽiJwýRò纄‚g7‚XØ´öÃÀ‰Öº–Y <±][M4ÑaûÔ·¥»±ÔûEÄ$Ü.„E9›9!~†hîùy@ ?ræÓ’&F|½ã×_’‚ÆÁ27a]}'JhÚÊÎÓI/3Ci‰ß1ï–Aæûè…z ½`ð„ùeÎ{¼qK6®×°ÃÛæ;«ˆ‰öë»F0^TEJÙêû?ƽQO]7À鎣þ½F¯Gv„åçi÷Êk“1¤Ò_e´3f<šô)ö©™§×ã v‚fú~¿àîð¬Ün÷ ®°á,—aî'=…ãþj\jf÷Ÿ”qæ6š6j$xüÑ0ËÿaSr]må7ÌUmî¥ä£Êu*Nž[y~æú"0p†µTªò1£ùk‚_ÉÓôm5uü*ÊEn~>jj",›ÆQ!ðÛ?ÄÌlÓ ÏI™Çûª¯~Õ [Q)Q‹ B!ß¡×B!WOÓÎ{HÓ c›IyÚÑïÿÑüy§þ¶næÃ–·r¢¡SÆJ\¼±Û%7 w½j Í{ ª–½Ëî9º@µîÆý1uè(äÉpH£ÐÝí0ïï™äÛÀÛ3zUçè(C‹§]l¼’²¤Åýð«=çãôCˆï÷ö—8Ú•˜wâÆë…÷µ5Sì‰øÄþ¬4X‡«Œ=@®†"çúûƒŠ­køJ÷Þ:ê:‡6>°]Šƒo„*Õ¾”E«l £0ÖŒôwÓçzÄ =8?¼²³çžZ ” Y7Æ>€N™Ëšuš-õœÓØ'dÜKÆž ó¸<›¹6È«bk£È>:“7dPVlD²}Ð[¹÷©ÂñççýÜ Í¥S=wy#­—x&(°y¢¿Š8­¡â&€ e0Š9'£! ^_RÝõý1˜fbßTŽ‹çmÞ9®7„SÓ¸û~¤ñ¬ÙßÑ“TV¾$çÚ*Åž8ÖaÙ®øRKßÂßßçm~ §dCroßXet|¯°qc_¬Eøkv=Kœ-™"ɶ×ÓV=‚•ÛÐ\ŠU1…|LZq!÷Q”®€Â]ÕòW+çTü1 þ'¶Ñ µR÷öa#`º cE&T"—$"ŲÉ«‡NR±#ž[æ~”[^ uÃMÓo£úŠÙoBDäóVÒ<ÿF4“¡ë|—2튈lX§dˆ¥,%iøUš“­4zV +SG;仹TNo̺ Î4áûù“ÀãF’Øt±wébùQegÏbÆäÈû\…¡K÷y³KŽ„ 3I`ö¥þkåk¢ûã Æ¡²ßS¹ª9ú¹«mΠꉻ ¯ÝóC‹%<ËDF[=(œŠôZBШ•–H49FSÙldBHȵõ2]s`ÍÝÎåâ«6Ч}ªh¼·ßœ d(Ä>DÚ< ìù'íª0 |…ò]i=³žE4˜½hÝ«Œò«œ›8¥cz¬„QXS7I¬è4©3zgÅÎ !}0CdýíŸ5¦{`†ýÏÏ]¼¡~J‘6H0B¼Þm[ÔB¢=Mhëé–ô !<¸z4ytºßèpA"‡zžï.ƒ©€X o9<2 Ž­vÜeVš÷9Ô®±0H¨Ý{i)%ü&àÉAé…·xYnW´a„]Õôç…Æ ”ÃTÁÒ¡`Äå=sRõ`zF¢1 ‘cKáåeë;ƒ­ê±kyÇ{ 4‰ï™cYªÃ´ùþ²Jqœ)x盄¥E2_Û sATÇħ<¾§ÏšBÐð —a=Kàg»¿ÙÅ^æìLŽ$§¡èÍáÃ9\d{ᮘ@ÏèàË@Ø%j á+q½ÔnMXÃåg$Ò£|„Pjšé§OÚ=|356gÈ-g‹*'7Î&–ÀÙWr=Ôœï,'¨š 麭¿HÇ­H5l'Œúñò‰Û9n"GH:2“\×Z¤ÍBQSú—ä’;!>9câ¸PVòèYy`¬±`­^=ÊUƒÓÍgæ‹ p!†3³Ì3œžPKcÙŒ1&À׈Èï¼=(RÁ[{Oc^j!¬—ÿü[TМ’žÇ *'12Ž3E…,S¯#­ìñ`.gê2·žåøÊbÄ {Êkç‚D–òmé/|}û† cÔ4Wz¹¹ Q»Íx/R›aã”ÚÜM[±EÚ߆'ñTl»T¯n2aSR¥~’'ÕiˆbWAÝŽ©©#ƒû‘þˆæâ‹W®fÝ|T‚A^àË¢NŒbõ¶G×ÍVw!°|eê—m#yÕfƸה%~*…¯&µrxroXÿc0—®G‘¶ŒÆõ±CNç{\žÖÔh8?…å/Þw¾ûOøÈ'´ÖŒvÁPkm£f§«V&­˜`)£ 1Å6§ÕtØž¿­Y {¦ç œhöJpÀ‰OŽš* Íw°´!6 ã"ð}íÑ’Èi´…ঠIø›K*”—€, #C»œõÐ ³”ÒSž–óèÌÆ4,‰!·òÌXOÞ-Кn7‚ýäHVm=˜6÷|ðCa9Rwñ°3Úê®–.¿Ò(„ÀäS-Þ×:Ê|â[bϳº ×üp,¯ ÿŸJÉ/47Vð«[Qò‰AŒ½Š²ŽëE;¢œ…->ÎêÜKJî+Ã;äwóÙÝÞw)ÂËYr+§½µ2ÖÁÒ}™ŒÌJ îCQM±÷©,k—"Ñ]{y~½ C¦‡W% ´ýRÙÍå[A‹1au¶‹ù‡ch–k»Ó¬€¹Q£¢~FQZÕxoÓà½yŸ7ŒÚÐe‹rK»UqµÚ³f«Õ–Ð\Å!¿¬ya?¥Ušö>D'®BŠ}ú y…ÅôFG#¨)X_Æl¹¹€´Xϱ|ƒ¾œÈnzºNÇÕ6KX&cŠ8 T{‚õ,ä̈Ꟊè5SU§€$«­74¿-—çZòUHÀæÉ¬ã(X3ÒîE&Çj{bÁ±Ë­RAØQ†Š#ŽÏå'ŽÇIÖ¡µßê¢s[µä4c.Ü<òGá[bõ¹ˆ.‡â×,0Jº'a¨BªAí6,Eh+=Ëe¦<ºík§D‘ü2~›øôp’RZ\ ‡±7Œš)¶â0æùá'ú`Š]ŒmõΊ„ñºJPu9|ç÷¸®Ä1‚ÍðíB#BÔÎvC{ôê!ê¥âlœ›²’oÖãØ)&„Ï5p÷~n¸[¹r6⋟ý‚»Ú—Ê ŽÎ%¥ù¨š˜+¡°nr‹=!é¬DÇ?hü[õ%øÃþšÈH,+}àUõŒQð!¬®}ÉDº“Î\.'7®AâÒ¢ ÊSB´¢5m—\>]½´Wé8hçTÎÖÀtî^`g.5ìÙ šü]òìí%‰•‚£M5=W¿«¤€n ztiHiWÙû `3á6‚š“uÏ<˜ù"´G(¸ië+†–;óäoÞ@½Èfëý,øÅè!kÿ K€žƒÜ³u›Æ7)P¢8AŸá—š…·œ ¥´ÎM]Û]‚×0éÌ_/\JUf.fŠŽŠØ’l¿®ô1<*“Ðɘ&šbd¾ýbt‰ª¶î¥\ä¿ÕùÉÍéRB’ã—LÙ~˜gÜ‚ÀǵÆrÖ«•{„t5µ ýÂ_@mÃ…¤NÕ_8WŠw{œ3ÎŒ2`ùÑ•9*ŠZÚ§ºSûŠyEŒôæÜtdC’Áh’ñú@L@xo”Ùü‚dLÐêgÉ‹ð »!Òߤ µcI Ÿˆb¥l£úü3Æ’¥%ûô‘a4O @ÃÚ8‚ª•!Z €·cX‰òãá¾…éå˜'PçÔGOõÛÊDˇÔû„?ÈH–lÇzOÑßÝ~‡ðôã}©³±—û²ÚÅ¢¢ÐWH˜+¸ý7æ !8u66'ÔÓ¬WÐn«fTÛ áVlû¦ÞïH}d?LnVt¬‘åê°ü&‰S•+ôbm¹q”ì¨ÞâÀ1ZQÂßDv‚v(°3½¬ŒrþÈ,?z€lb˜ò6´]ÂòVãÓµ¬¬ÇÌG4†9ÐtLIÆ% f„ e5Wi Щ9ÖE–l)tëÿè2lóu­µ@çÇsµº…IÑ{·:w¡³H·WóÚ¸‹YnRœ>6R 3BT¼œ¿:²†AéOù—ʸ1ov"Œ-“gR"ßΞDzúGëŒú3Ó² • k@‰,¤È ³5C4ð¢s­júí…´?dtÎòêvå CÔ)^{¼‘u]c7˜ÏÏ©›î´É5K5šÚ9?côE+À‚«W¹à-.oñ»õÍ@Ä+æ& ×bŽß®iÁKαƒ˜üÒ‰ù4L.xzw –lBÌÚiœ×`ˆRXMÔ?Çæ×ù¾©dK”Fóë·"tM]Ø”»ú¶ &8 “V0JY´ëß¾£ƒ‰-èhdžô3Ý·BÐòbK?à¹iz2ñÚIek|ìïãÆ†^åÒÚÞ&h#í6|¤e—«³è Ä°|OÄv¢½Œ919Ïtu]Õ/ Àý/‰µÅ6‘e€‡2´Ñ)ÙJ©b,“7Ê—o _Ë®7"˜5­Î6Íl#ÌϬ [à!èiVÁöB³üÛZv=;U:Š%š èß#):ç×ù(¨!S »£S~k½(C{åѽËà2Úâ]Sö9¾ÑûüvU•»…À~rKMºª?2ˆ¡}Ü>6„ vóEIü=C@ש¦Wî#Î*I˜!O åûº3(q#Ãÿ…£A¶]1ÝWC‡Ý†ÊbÊÆI‹†‹L2Ǻ®Ö{å»ÍlZîÂ1ìs=òZÌàéÝgïâìÞ,»eûºA®mÍÖݤ3Á¥ 3Üv-/Bî“WúÃ(â¯ý{aŸ$óC"xÁbðDE¹Â7Rö EŠy52úÔµ[ñ­ÖiÍöìnéJ˜Ô=Ä<å» ¨Ø¯Ç“øcÚžfãà—¨®ôðãÞ ¸½çœ¡ØKXtœÇçdFåXÊù§±¬ßEk 1Ìz1–¡Ù߯îe 蓨¨x€fŸ#Øl«-ÃùÝßy(AÙ®™ÙÀ×^Q@þµ·‚#HiÞešaÖ²LUü¾º¡ýP‹Ø¯Ô`#o*“óƒ<|èÔ|ϺL „¥´¸ä0/NX3µs'â®D0¼õSöwqAtžˆ™fæùm¬;e À—›2×Ýßå¼ì oô›UN<#fª¯œµWÞ{¿a)[C¿Ò½[©OŽf7Š›JÇ2½AR/ ¡\Н-Â4S;@Ç)4È‘;¬÷é.´ú¡×sXn¾Øý¡PMß Æ³ kµ3fø_| ˆOÛöñSL^HÓÖ³CÄ(³³Öv"²¬x“v¡Ñï;ý9‘þ5ž š–Ôô¶E,rt?šì¾óÝý^Ïø"}Ò÷õÇûØæ‚Ëj| žìUiä¨ÏÕ.Ä)ȆlŸÖÇó¦Üà‰ÄÅÀlg‹ã\à‹ü>³ómÞ,hYÃ͹Ú!<² ë†Ï[Y¢r5æy×1ƒ2õ^ô‚>?ùPoGR₉SÿB„–>K§nF‹Yày"ë‡{Ú c9Ç¡³‚HßKi‹¼‡AÔ‘Z®¶ à•µoIö€¥hQº¾&ÇØÕ&òN>¼ØÕÙ°È:&Zè”›Õ_ÏÐÒh¥òùÂ&M"ÕXœè3Î¥ƒªVôk%Hz7$SE@ìí$ÞµjH0:‰UT>2'7O¿Û‘M3T‡‘mêt¨–¨¡±ìA_ŠºÅTü Kk QÍóÿ··ª"Ïöt…(G7uâ¸ÉR‘Ú 7˜6²”pƒØ1’0üó¯èàµ÷ÖÓ߯ðšo7oð—èËón}-løÑtG^!_²›IuxM"yŽâ}ºUõŠæ¨ÕÄ&9„nÉü¥ÕYüô|\)pi¦$…2Üþ•R ™÷QÉ¢Í5½FóâwÂ’ÿ" T­8É|ñQ¬M6Ç›ßГ\_ÂQ’^üGÈQ¸ƒ¦à·ì91“¡«NHëùö4Sf“:¥éSåä†j¥>?2 ½|q\CŒü ¢z>¶N‘‚ƒþ‚}g¥\ø÷œ¬rº®ÑÅb¥¿d#NBY—pCHäàdõòºÒK¨TH(á,o‹ÂÙnâÄeh&¬0nyÆGLKJÏõ¼ë`ZÊ ®ùPûWŸ]îø Ä¹xn¸MÑ¢Ù³òWü[eᦠ¦idfÀ–aÆQ?iûx• ‘¢A&« Wq’ß LÕEø¯¸–_{yÃf:¥ û½Rƒœz}ªWhÞÂ{ÎMôúSðÆnÎ÷ìQ" ÷·ƒÔp‹ÌÈÛžòrüÆ^Ìn”R&Ö;–.è´^Ã’°ݯ!D¼yÁ¾ ö×ZÙ…*¾µyl;SµHØæ#"hûÿVŽÂoÙ s^¸ÑõTH KpÒƒÇâ Yß•›øñˆþØ, ›bz3þÓo…pïùcç4¶-2‘zT\ÌÝK"|=¨Ö¹Oh¶æ%ð=-¶ùœ–`uak) E~ÎÅTÊÚâ©óÍÕlè i³ÔÃ2Õì—òý/‘ÆÕ–@|¼á “}„DZձlóxtöðµ>å°œ3òiÕžîão.²0iȽ,5ÑZ"o»ff§VI’LŽÚžÓØ3j’œ­ë¶Í?L_KÝa4¨èh^Õ2ÅôŸg«3Ü®"åuä”ð•5TnIç.ëpÙsdt-5kØÎ骦Ĭ·~ÌY™»çÅ Äg•ÖBÎm–õJ’jÂt(#€&H3ì†h9½ž÷³‘ekHÇâÿæñ b4ÐÆZ‡›÷mÕ±›TŒea"ìñóÅ"ÃoEñx¢|²Aò+¦9ðïðí…iK?ÿ5‘ÏÚ£skÒ4뿵Ÿ¼sÊ©â^V É.>Ü hâþ• ²mUþ ïj€fÔE×Lõ^Õ':‰€) çhwÑÔ69L- f±½§KÅ•Á9ÖÌÁ ð8 !nt Óý1<Ö˜'m'sK¼¡˜µi*'“øl½3NÀ—x¦,vW Ã{=ãW'ªñuÙbDQØÅc„£Êdô,Õqcä@ÙûU37/“9 $ÀoªË1µÜÃuúkýA¼Šu §òÑš ©³7¶ŠéŤÃÂèšø2}$Œ¹Ìh?5¿¶+™)((žËñ$¦esV|{oZP]Ó*óžao^ ÖElЬ¼¼dO²0JÁ^å;:Šod’Q±u%jÆ^#MÚʘò„#ëòÛÿºÄ/íÄ{YÀ~`! ‚yrú ö$)?¨ÑçM7çŒUZ€Ñ[”y#ýмô)73`ÌÚ(J«î%#®ÌS–Wâá^^òŸj‹ìå¥Úæ`(G [bÛį1¥¤ [¨qt ˜úÀ‹\Üd•œÓ7­2M5<¤qÂ<8'ЃN™$×[¹‘¤6«`ìœÙ„}ðKëhÌøóoù½M!³“Ò. ËAk_ö\übPr<‡ï´AvRw¾yC‹YÑ»¦Q@cÅ9¹`_¢Su†Å„/Éujæð ¢5±¾Â±ò–ÝÓQÛWÁrEIûA[žÇläÂmLŸ5åG–ðúÍ;‚íIDÙé¡5î¬\Zˆ#ð@›8=¬m*7oPw‰Ü[ÔyÝ=C,ßÉͺ^wX®öô&ñDͦ1­Ù–#üÄ_¾Í¡(”AÆ…qnûŠ…}­Ò•ˆ›Û}&0pj4—t¹¦væK.·n3=œ¡únëñæ–%5xPÔÍZ¯Ì嵋£^Æ"ϵòW@X ¢5º/X£õîÌØ{Ôe£åG6ò4úó÷ìGÜ $øñÀ½À+wiÄœÉÑ!=œÒ§Vá² ¨T'÷$OÈŽ@sñ®tî/€ø‰•mëï!³8}¹SòÄ3ÀÄΉ Œ˜$Àx‹ìp"òRÖó¤UH¥‡ŸÌll¥©n—­²Ïè•ÁÁ!\ÔÙG%¬åˆë¨m¨Ñãxušb~™òi´Ÿ”NN[úk0·ðjïÏü¹Ô%g}éd´ãÛ‡Pê¯Ëþ®j–Õ¯òEžŒY9r¥,#\>!È-\’f<õx²’ –¼ ŽæÙïÇû»RÓ#µØòªô‡ÇCLdï\é«N—)Þw…‚‡ÿQf2Ò̓{T=(ÚÁ)›Š¡ø™Í·§Åi©”µeÛFj!rˆ ñ³8ÊÓ£ý—¯µ‚ög´k&hÈÿÜ(²ÃkϬæ«l ²Ño­*w¸þ‰!ß•`¬Whü¬OýO¢qrãwf+‡¡§}l~3•o•b¡ÝRÉCºÎ^¥pcغÚì‰m@¬’<ð•Xšîä5þa¯ð|¡ô?A0•p´i7œÊ Ýõ*#¾X[;Q’þ' Ù'Á°‹÷Oís1YæØÁËrM_(ñÞÕnE+/íõ¿4eœ°“þ„,hþt¥¨÷l4Úäñ³¤]!p`zÎUî-g‘v£å›c¤Ìz’ Žà•î2… 1S7‰VÄU²çNBNDå£KnsûZkaªWPtñùÁSᆎ"“¸ŒD]h¤Fúº`D/ãØš¡4ŠXv^˜7·´™Àcάâ%{×BÚ°´qÖx%^¿¨ã<Òõ‡øösåúÛØ‹âÉÊ}3¿ÇŸJm^º-ͪVŽ\EOß~äƒïü­øïûì%Á6PTf\P”Cg«Ü…dòI’S¦Á^T?­ Ôûç/z[ÃÚaa¬–èñlPëö²Œ–‡ ’Œ=ËV³ÚÝ:3b¼á3 œQטßTo”'çErlCÝÆµ ÿWëPSŸ‹†½ë.²m­³hápØ»@ì)yøQ¦ú84îYÿÑÄÍ‚"MW´ßðÆ3@\¡„QÖgn[ò Ÿù—Ét¸h¶ï^ñ•»†ÁñáúQWzª¸§Ñ~jŒÓ¨Qm:_:«9Àtåæ˜Ç÷ŠkNÞØÛSêñèú­3ÙÏ÷~¤!î éÝ~µ,îí&“šº Bë–ü·Œ`ÍéÄ’"T ne*h0ï5£«¾ÿë…EPÏÉ^ëiwƒ\?}cÃ¢Æ Ãš>‰&D%ŠL]´´NŠòh¶@ä7ßù]ú|+H¿n²}œ¸‚Ï7Ú»'Rqç¢ît3%xµ œI;¾Î¡3GhT^õ·÷¼`©îN¾\¯@E`Qº4æz$6 ÍýlL´K³õR¶¶wŽ. 4ÉÀÚsŽx}ýIµÃ\˜ƒ½ß”D¢ãCzl½îÏí5i—Å„6k$° ¢ÞøVaÛB€,¹SŽ“$ÖJ ‰ÒˆLBÎo-Fª©ÂSæî[P×Ðx ]…ÖYÀÈMGž>XˆPN(þš”+sYy­öŒ¢¹"OÉbßIŠžyss÷w±cI‚;K:k©œd=ËyÂSY‹•—Õª)m¯þ‰Z¿¥3 /vp”\Ì¥þef5™#Õ§¥#pé¸På °J4šw*´ÅN\àhQÊò£!Â<¡Œ.87VÍšüÚŒ¤£3 Br§o"e Ѭej ¨VIò2?àtÙ²ʃÎu]`Žbl*ÑQ‘ÒõNÿŦ):ßÉPÛÂ~iw%¹€Z¦y˜è9 A”òF­6âjÓÊÆ •a:´}¯pÎZã¤q.4"¹`¶«WUÓéâRZ¨°-9~þ;ñ[žÒªîQsèk7×¾tXõN_ÔS:ʪyjë„ -}®xŸŸ¨ïº½`j9ýª ,Ü®F‰Ÿo ^®íâ{6»áóö­¹©ÚrhÀÿj{!0®÷ÀëH ž„·¨ÃŸö®ÀkÀ¸eŒIàJ¯M¹'K2/ðSFåÔÏ|œ¯$d~ÑÙUÿfõ ãÂÖžèÅ_¼ÂqRÞ,ŬÔGÐ5ë?£ÀM:"ÕQP•—PÚËë0 ̰àCîÈÁavågÄÓìˆ×R¶Ä‰·—Ë>F|h»Íì²—šëµÆàÊXêÀôa8ME¹å¦¤l8}œ,ˆ”:Oçc$Öœ'énž1R(báç¦aN¸3§ Îø”ÇMåß?üf OJŒ LJE)£}$ "ÓlÜ#N)“£šg=¼º±¢¸±-nðñ*šOµ&Á¨4ZÅæ•»×Òï¨ärºñ_) kµÔõ ü û˜ É%ÛÉ û Pœ¡ó·Ü+{û æ@m]ö/éP-ݵ¥Ã†áÂì“®H»Ðæôx†ÉÔàÖ¥plZë)¹äxÆÆÆÖݧNݸ5ãÖ^ÇÜóÈáš…häPÙPí薮Єéñ+"&}Û‰UôëŒýÕ°:¢ÏN^´F+ö=YÛ-É­¶0—l ÂÑó²A¦”UnIe¢²ŠŠmÃÑé›ršœb=%NoA6A!›-o‚†üP`¼‰íü“G3™›Êr¡—]½BVá!ûÓTÒâñjYåO©æ½²ÁY¬‰Ð }3ÅF¸›B:`/‰˜š¨8úç†\o&!qÖ |(  `ÛÅ*y2$i¾Œ³[ØÒ¶Á«“ô(âPÿÁ' %hì >kg8¿´•Â;ó"šRø¸ì©Õ+OþO%U¬žxl?¨5é3óE¢™âš´=È'd©Ûß,n€ÄìVÑÏædŸÚgæºZ’ZT "šO!ªA§;zêo}ôã…mÇ Òè/]÷»ÅnJKL®2Ð+—iùàÕÞ­‡8™De/ål–5­º‹Ù“ülK)8ÉÊ Ýë%Y°!ZÂYs²?úßn½: ~ñ$ä]>^l—-„ᚺ‘ ÐaÖYqùÜKAŒcË‚ðæl»,+Õ»1=òn>É€,½žÓZ`¥ƒC ¨ž}ËsSVøÁ»zÜB«“û¾ô‡vh¼ ’£5·óYTŠ" ºDªåRײַgozeà$뾄ÄkåK#ŽÅlW¢«FRsùîéôâ@nãjÄ-º SÑ!º;çVå¤?!–x €÷þr¦×Ïej¥2Ž”æ\çvá³"¦Ev!ÔrZS´µ$‚Ù-ÿnZ°(ÚåA%² ëñÅ5X¥£ÖïÞ»•]‡B ¦K’Ü–dbM…ø„Jó¨f4õkÁÊa­ U—k5r.ä.åì×H 2obÄ.¬+ WˆgÀKt99=©ìøMÙ¾¿ë$ßÉøªn«áÐï­öƒ„ÔFÃŽ9²I§e;„Õ·üÃO–‰Ž¨ZŸg¿ R'Ÿ.D‰;Ÿ hwr·U—­˜Cd8T5éAbŠq$Ù×—ÇGÀ1B–]µ¤x£ÑcÀòU{ÛbßÚAï8EÌËWÇ`Êh2½&Çç5›¿,ê*rM ^LŸÕ«ŠÞâéùL™]¤© –õÈTBþG‹¬#æ§EHÊ9ô6êNLFýíCͪyH¹05 Í\À¢nSß’诫òS;˜Oád”À{ûÕJ¤Î9Ý’’º´…KÉ¿©{aß«®K Û%, ¿Ï®v6G¥ÿ)ÈŸÚ¤3ÉRqƒºX’ì„bÔ˜æD)_Ç$^2Ý%¸¦‘ñ#iô½× ('¡ý5­=c…W»©?göËB&Î È-ôÀKfÉ+&8ódÏ@á—@Fzî‘séâ™vÕ ŒÌ–Ö¾ò ÄõF’}×YBÒ!·k‚å£Qú€r Á.NìJU.è´÷wØ· Sw9H¬I ÝËÌeÚÚCä¯|éN¿™èÓjmœJCðåíˆIFTâ”ÑÒT þÎÜ/G£í€ÆR­x6Ƭ`±ñ)Ô_Å€ô÷§õÍÏ5M–ݳŽxQ/«fk­Üìê½Ýèç;áϘʬ^AÓ£‚µm7‚©Þˆ’%xôиÀTåüñì·É¬NÙ•öÔó@ >o&5ׇáu¾åsæý/Ðí‚ ¡ê ‰D²Dt%©Ï)YŒH¤œÙwcS^¦é2.‡h­9š.J´zÓJXî_0Uìy»>÷à“6‹«Cžaú£ÎÞþuÓ5ë®>£}9õ¿.RqJYd²T5øIá&[¦Ûl,Ô¡Ñ ­”yÖbÐH€ŸIH8Z0íåƒ?f„Ü“„»¬~!‰œ¾×Lj<´7¿Ü|SŸÅQ¿‚ž´é·7ÄNï¬Pø¨ª‘M†`u!èÑËŃѶ°%ð è~E¢I6âìó†‰ß‹Ëäˆ\ì&]ERuZ”\§a:úµ™ö¹4~ެÚñ¨[ºøð0‚[½MozWà-T’5}OGÑ%ÖY3 ªš ñÕÂj®F鬠V/òo Õe€éêU@ê´Ç‡9lÂø?Æï¯õ@8TžŸ{oÇÙí} ¡w$8Ò-èOãLJLÅPÌiDœ¯´C.Óí7è8]Z9þ"(dŸ=²Š-NTo5IyKÐø(Ÿ’úı·bÍaM´i Rúg¢f1*yª'Ì"‡æ^Aïq´‚ˆJ Æ$­\ _Tç(r? z…<Ô¬­Áª ŸÎ žC£%uø‰µÀòÐá8•ˆp¢Œ¼x%šê¤²º¥þ=Ï´ý¥¢­ÂÌe]á¨ôw×jfˇt×ʉ5bÙ ¥è%þ=#‹ž˜åæ@b·´eø•“0›Kš¹ˆ‘O_‰Óè/y]®bõ$OŽÑÄó x¬\16§ï=¤RnÅ!‹®€•‹A7¡€†M„ähN‚¾üi³ºÔÆ Up‰çF(èijóåÜòOïà}©îÊÂ4Ðf¸‡ãÖ•u¡Œuêq-ÂÈWÚj_¤ >»Øß#˜¸üÃRrºYî.Üɂ֨ŸÒiR¾-"²Ï¤›ÎA9¯Tޝê´À>¨ÜêDØ£3¹Ò ¯äHŠZBµØ­ñ·!=û=¹ªng¥¿ˆ†Tå¡Z®_ÁàÚeyŠG»¯O 3]Nå¡B‰øžÕFh±>¢tuÎ<Ñ~C·×‘’eZî8*ó‚÷À[ o+ò’(öÑ.êô: hpK8ãØœ’IÏlÕÍ}Ü1î´·h™§nîñAäÀ¦*a€Š;ümÚ¯ËBhnålü©êd·œË}ð¾eÌì*_b*Ä£ƒ2Å¡;uàó5>1·Çr´å)x`h4bcN$¹´€Àʦs–¥RI˜(´jæ‰æ]ô¬Ï;v­^Ö²(˜²Pî5áZA‚u—j’²u½c&sJã« 7ørØâ`KòŒr¥°=¥€a¥ç *Xx²¡´$ˆBº-DŽ_÷\Ò-é# 9÷ç¸M^hBm€›&æKh0šºÊ†Yå =$.õhÝ÷ˆáàÛ6ÉPŸwe¥/ä·êû®ù à?3LJàùœ•ϸ ”ï çSsSëÏÊö›%kÚËIÆK41—Ø´HÞ‡’'«h B2þP¯èòZÑ•X†`èpŵžw´ºåš©gjG:FÅâ7ô $G¦ÂIñ»„qµþðŠ¼§Ý‰ÆOÀ’ÙÞ¨Üâv÷9ÏDÕeµUݯ>Í2›t9wòââEã p¢Ñú¯¤†Ã”„” ØŒîùÂÛü©Š>œGµåw ¦òÖ U¼×ƒ~d¨8Où6;˜@ÌûÍžŽgXV1Û¡ ^Qê ,ìnÜJ20:e˜ØøÜß×áÚY0š I Ø1ÒÈ(´Ÿ2K¶SŽÖ#^8bÜ­ Êz#ÚI’âKÈn¦òñHàúØÇÇî²YÂvá“ÖmÖtÌ+!„ŒÊäñQ”ÑY¤Ž¡-‡#õ ¸³,†Øæ­¡|äÿóÊ&õ@V»çIü¡6_~³^C\˜nË?u0úoý& = >°P6GŹ<nûåÅXÛ5°uòƒGËÚù+n¢Ö_¸t¿ÞûiCs:P‰Fm‚ÙÝšŒŠL ¾ïŒ¿­Oé…»²·Ž¤Åo¨:Ï·f›è:2ªL3e8©Â„õ½ g¬lgÕµKlâ˜dA·#Ë_v¾ ¿üzï%ÍÂPÝl½˜R/÷–›‡à•šÝ÷6‘‚5¿çiVޏ@áucP%Ü)nS¥ cžÈ ßÉcórª²Ë˜¢l ŸR»ìqè’x.¦RÉe•Äš"—Ö"€æG$”Èw¶´{Qõ)¸£ðØ¡LT:ùŒ;}à -Óç¨å+óÍчšÖݧLs©«€0Ú ø6êÓµMÞÙX‘¯¼ÛoÜBR:ÇâmÌQ§â冤üÿØnÀéþø¯íúÜØy/r-¤^.¬”ÖÆ.Õû"‚F®ŒßŠæ}‰tŽÈmÌ ì/*˜ˆÊM}JXöÓ»q%HÊ9€…åûk•¸4GX 9#¥¹Á@4:èHΖ7Aï3}í½=ï¿ÊH’ø8Ì#Ü ¨ÉÂliqq ë,—ö‰@ØÏ’˜L‚á9Z‰M}Î"}‡K¬ÞH1øIžêÝÕ¤…äŠ+4æ)K¨pøŽ•C‚ïkî@ ÙkbóiUU¢ýüO싎T3Ù€q”'¤WtXék57;T³/íÌ•$78.&Ÿ¶5|e4£)ß >ðø”<úl,;ÀO ¯Ϥ{[µÌžùęÝO4Ê}9Br[L†É(@ãÝ„ºÈW~Ÿ0Ïd`ôìS(؈¥èù”÷êÖ÷ü˜&ÀP³ÊqÞõ®@È©'Y]Oª³I¶áœ“gOKI3)BªA˜A²±lžìjld!ŒeÑ Gþ9ʉ­P[kh?ÔkaÁ‚ ¦º€ûÆ-pÇZÞ ºêøuR7lþ¶¸ÿ.¡n—PW>R}6rpž»ç5'Öñd'‡ú Ž%A´’ÿ²z$/þBˆØMøÝ<¿YÙ}ÿºõX6„wjDªIÍ1ƒ/âÈœrÀsõ>qšñïê}%ýø­.ÎÈÂ< ¶‰øù/ص¬¯óÅFØß©©¯ÆÙTW¾¿z —)Ãl´FäÓZ9ZŠã/ùW ®¯"œ?uôàÊßKÍÐpQùPÉÇ›I9\ñ ÝoáÈ#<=çžD. ôPjóílûÄaÿ“mwGz¡÷æ‹øD I §/Òʸ-øxç@ûº·ìbSDîë@öq{&!Í!Äž–½rtËL¶úq¿0ÍuôX@Z>0w¯rÂü´\e‡:c& ÕºåMR–“¾,áÒÔÁj¥Ý]œh5"r¾i¥VSÅy úE~øÀï쎧‡ŸÞ¥@«ªÂ`×—W÷NÝ·¥ ehÁ>BÂMzF%aA3„cت“Ñj”¢t •³öÏFn³nMV¬dnô°W‚ÍX«x²vævÒˆ°»*ØÞ<Ð9R?0‚ë7š7_‹®l"uóYUs¼bš† Q~·¦¦ðµ®û¤Ë—Œk'¼¦Ùßï¾'u2)o¹«÷¾ ŒÝ&î]¥}ÏÏO餻˜ë¨ùlö¨”±`[˜É¼?AiÇ‹3°+xÀÚü#¦à¹, 2‡ Σ>zçuq²_SFǯ\7_žFw·b”ѲßC\#o–ÉAJúöØí½ƒ)? ~–Š2®•Kº-ÕQÇbñ‹Ú›áÓäùÑî)€ÆäÚVþ†Ï«H‰Ûúô>Ä=ü²ý˜:6ªš¿Ž9aý¤"%{ªÕ3\T'W¼÷ó¡»GgèæÂ´ÝQyöØ ‰2嘙ËØ¤¾ÔÀ¿=j?¯´•9qaCóÓ3‚p|AØZ6q¾2-‚à«·Áÿ”I-K:¿AØFO)…ùþ ^=ôAÉá°œY0‡'OóQYßð4Ú«¯¼‰M畸õ@îÍ·—EÑ%;‚|Õ¬³<ã ƒåÃMw@° ;4—Èt³xk]õ׿§çXÉ„ÎÜžÿÅ ¶H©‡È†×sOt‰KLgº‘5Qú( ‘¨íÁ~Xs~ãˆ{~Ó5<}º¡f}á¯Æc4;VŠâðƒeHô 'PÌkFß;*ÒÕ5$kùï ªª 3H¦”î„5F\8÷¤Û‰wàÂ%ÜíÝxZÑ:„X¬ÊžK—Á T° å¬áæ²#½Õ¿ø1!6@®ý†J ZþFñµy_€P ß )U^ã®LM,ãØ„ßo5䟞é´P_&#uÔö”Ô† yÏ€Ç S­$ ÙZm–Ïmÿ•¯.÷'ŽL|KT’îj#L Ñœ¯ÌN5Ý5¼út¥­þ•™ “äoÍ\¥j¢àRÍøµß•8Ø9<îX‰±Á´àÐÆçøÈEM**tE¿ ÍÐôƒgöüx[ëKxW\ýIíé§=ÔÅIö‘“r¿uÁÔpκ\ØgVDÜ(ߨ&[Œ\*Yë=º¬2^H¼´4ØÀ +Ðê=¹zTR¸ }»¹Èøij‹0ì)]`c£YÕ%!}òOà@ªíðy¾©S$»èávv'™ž}ŽOÖb9• ûtË1£ãì £1îPçËód â2t°6ge¼„ªJblú«ú Ìpò-´ïFP‘z:ù?Ÿ)ÏÇå p$ÜÈ(ߨ…œ„L{nw€=õ¿{Hî鼌²XQMúýàŸ ö8ñåŽùw0‚õf¿}X»5—"LÃ)ÐV¤êÕBHZ<²Ô†Û>íñÄþÀÃOË&äØôß#‡‰('Š ìúóœ'8ÌÁ­“œŸgzç¦'dWf1°¾ÕN¿ OjA—hü“:N™»"þF¹rÌTeUh½z!uT«È†ŸîÏ Pe\A",¿P[?Æ«Í/¾æî[¾1Ó ‡Œy…ìãµMž R?ÉtÖÂ_ÃËÐ@ÿ%}w¼õÎèÿ=x]ˆçFpq‚ÇÕúƒcìè–ñIoJÉÂÛ»|F½¼ÒÜY¹ÿþçS#+>«žÆkóØOòwÄÝm‹é±i¿&×8˜ÚUÈ‘›VÚº¿F3"ÆJ¸¿Èœq/Ò¼c¢:Ó¡vª.@c~Ùìó½F9ø¢!op`”Aœ¹uvؼiÏU<‚Qà¡MïÒé‰ õm«ca}Fáε{7æßøÆP1ñ¢#à_04šœ¶cL8ºÅ£… õ±‡©œFéý•Dý¶ÂÊ`)©‡`k0›f²z\ñé—>¨ß…Â?ÀÔ“ÎÇ¿Ÿo¦º".Îb¡ ®KŒóÙƒÿ—ñàwó+H1m"Äý¢‡ö²pZUj>ïí$~Éñ{¦¶ÁZJ#1;vǃóÿ×á¡äR†³³ÿ '¤dD˜³é\„z}¦èQçÕ¬‹ú’·…-·ûSó:K~7›Ù\PÞk>a¿¦R˜ÁØhml`MYlÝÔëÓ´ù' Ó\<1ÉôZ²©²ÇÛ9ðð¾ÃZOÒK„‡–ãä4cö\Ò!•Ìd-C7M#Ì•#}äT?Ý™^¿0'k9ëÝ™ŒñŨ0äS àÚñ­²~A— 2çnXy¦Æµlú/ÃNBüäYaæu¯æ¯¯3¸~å³èœnÆ]‘‡-OgÉñÞMÀ¶3"ËßAg£ãÜŒªNßùô£pƒÅ‹$ û(„ÒÊF‚$³K*Î3Ë7í‡=%œ*Ùju ”:½Hý¡Ý»ôžÌFˆRªó#°¯G…¾kél¤tË»y“Ã|wÄÎŽcx¹X8¹¾|ŒÏ~Ÿ[FÏÄ…£†Œã:c|8UÙÛݕÊ0ýÖ½5/é~ˆy˜³þ˜üÍÜÝWnÊ2Ä/‹Š¯yW}o‡áý§¼KTüd¥ËäâúϬ›TMr±ÿ¡1«©„ðø¹0Ã" Q}øzÔ“™vAYýA*,ÏŽ[v=ûºz ò²\¶-¾éØÅ ß¼“Õàây[Žfœ^;žƒ§*Úu~à hÂhÖÏŠÊdˆD?fÐT¼·fTL8‘P¦•çºõIÿ—óXƧ7ûÛùÆ¡^¸·Ú1˜ø÷Éœ5.­%úc+¾Œ yœºb“·»æg+–ÚJïÉhÜåîÌI1øTÚÅâ_WR‹mˆY«L##¥Iç}ªM»†D»ÎÝ–¬Ëü`& ºœ‹m•Ìh”;w½—¸¸µ”³Ík1ÂçU² +aŠ,‚ªŒ¡öÌ‚Áÿ˜œ§¦ 0úøàç3¯Y7p{´–ØnÞSá^êðÌdªCc }yéα`Xè¹É–KÊ­±»×ž„/üôn=5h#ïsQëCëèÌ(Aý¥ì± Ae¤ÄH„Glã^DŠ[þ"Ê2c°ÙmˆBùló,&Ýšó®UŒ[×NæØðÁþÿiS,‹l#ÔÑ ú,á,sNxû]ý” ÈÅ·Î<:ô Ñ/o) Ñ”{Úf áW߯€Q¢–ÌFX,#áÃZ䋾ÈÃÅÀy¬…¨Xø4X±¢fAoð3ºn‘ž¢¸Ç9wJ!]‡ùàëVÛ|Ñ´Œw5\j—:Pû‘ìBøüérÚû„[ Þé.àIÚ–óÈËÊÒàÎ’&OJ— £ö@CXè•= ìªåñðGÓµÀÊ?­O®L¤=zÁëó­Ú6ö¨eWòféQó}kVA}!’ô›pNÓ`ø5”ˆ=ʰDÀû“yüô£’4‹Rt'u‡’Ë5žÁçXr[´!æjÂìiå*ø£< ¦èƒ]N@úB”ôÙ3.3¾„&Âà@˜¤Þ ®±ðš9Ê#$]TBøŽÌ"7¾Ómspºôúj¿Q½’‡Œ޶dÙ¯kjˆ\NnµÁ °QcëÊ…z^”ñtÑ^ì5Èë'™óª¨Ì;& “¹¦ËÁ¸lÄù®Rüz‹&½=yC)DoIdcd~raÐ}Óšà—ÏÜ&o¦«wŒ»¿>ÓyZïƒ%ó’éšø¿u¦¿nŽŽe£†ƒÚ3ìßcu¿É¨-ê«|᢫]ª²Ã]ĺÛ¶-K±I¬4%8–ªéÙªwö0‚GtgB!UÀîŒpõt`ˆ·-{F¨¸vÚ/d=Úù¹¨,IÕžÝ{ösx2-=.\iï¿iUö4rí{àü@åuÇÒÒ™ÂÃú£¼†L†²BxRËœÁŠ†Ñæ”Ó7E†îˆ<©@¦ í:Í–˜Ïå§!áø÷g ¥|XvA«òÖPoð8p7<ý]cL3o~q°yI>ùÇ‹0Zœ(ˆï‘×c§C`Ó<¨Jc{»¬Æ1Åû/7þ"É}Äp]áÃÖ÷]žNŽB2€üNNn LÁyóQ™ãÏ5ˇx¥(óÙõÿ=ÅÙ!êš·Í—µSËws.…}n´Æ†ÈJ@ýxê2¨<\AÔ¾>Ý@ÔCÀ"ø…Ì®çnÚÇõÓóNLÉ“*Ò’y/>ñò}÷a×W'7+ñ ‡%/ÊwÈ<¼¸¹«ôn혼—æÑqÒëÏ‘xÒc¬Ëƈü2Ð}Ÿ¸ÚªiÄIǬ×wñâÛjVU?j¡·SòAÛNg"‡b¼:²§±5ïµ<6ÉÍŽìDb}ýÌ=X$‰g2íqÉ%€ɪO´§µ6PRy¥ÇÞÚSµjñ½£ËýK ½!‰¬Õ ž“²æµ4áVwþrõ"Qe=ý6b(ï`ϺAú5÷sG2ÿÖqRàÑ,œ§ì¨ê“ì\ÃÓP)`´ñ»‰Ñ¸BŸ—.’Ý^¬KÝéF¿À|øIÎwÕ…c›é1XZïG_&lÂ÷ˆ0d™ÐÒ×Y§yôkþzÍõ╌“‚,ò¯+ )á# ì²»ÇL$ڳƀŽD!É~ñwÉ-¦#ã« ³¶x¥ûZ®´ýep—YñP%,çw„¢¼º¸Ë~Ú®OÀ:÷ØÓi}kÉðeÊCíMتؒôNm8ª„Ñ×tþ{깪›×Tħ|ùÌ!9Û³u+ŠòUÕí±üĉÖÂCû½Œ˜n‚€øå@k¸E=•]ûr;ÆóÆWî–ÐJ[ê† CÏÇÔ¡2´ÿõœÔc…œë¼ù š+AŽûtÐÓoC•ôñÐ5$bZ×e¾åH ž‰{gäµ6ƒËŠýÐhä‹ýÚ|ùq‰?º #Áö¯—8 ­I<Ý´ –¤ñ’R%Ê ŸÏ_ UÿïöΘi”ŸÅ¸ÁåÜø¢{0Ëc¸¢ÎßpéÙ&z1ÝÝ¥näÉQŸlF\ˆmÍ m\üùX¬-èÒ‘ »X–ÜÃ)xM´• ã Õ"´9¡ï9Pا(Yµ@£HT¹Rú”~Së\·º—kJKYŽºäâPNã\xڢŲ[ïô»Aĵ²ª"y›H±‰M`­A‚e†®5«½…,#=«ÏÎ4ŽU0þï4ÅŽ”ÖE·ÐÁî³y»À‰ûó#î«”l)[QGÁˆÄ†ãaµàNG1À!ÀkÿÎöÛ;ZT(¼¯H3½J'o !©"ïH©5_󦬿^OÉØÔ‹”zóǤIr¢?j#sŽæ°e ÒÌq'ƒ|êÈÉ `lB{W¥1‹ÎôdÛ„r1lg¾hÉŠ¢,õz”c–öûJ“XÀVê³Á«cðIaà ‹Ï99RQðéX‘•V£ÀGóá»upx!éß³ƒÐ£¯ñšŠÅf<€ÒVo~NYVh¡þ“‹õ˜¾ grøèÀñà®Ñxêe ˆÃÖG®¨&leÁTƬŠtnú€nÝQ x}–ñÕfeSìõÝöCô’GZf+Fm°§ìwõJŒ>v²l€àŒFܾÛÂV0áÝpö¥£I£Ã?GVÚU0…´¤ÑñWÒñÄ!úBF®›•¡ŸÁoô{;£¦†[»}û„ôC©?8 ¢ŒÌAbŸVK@Ç »]K¼g‚ììpeÊk–bCEâ’:û=¨IÎTÚq™˜@«ÐSÁÚÙ7šÍ”wàDâÌ6_Äß=mN°4éÕj÷º4›KàIßöÒ€âMŸÑŽñ×#eÞ•¼ŠrLnÖu¹·¦ŸúÄ©¯‰`c^Wƒ÷¤ìµlDpõx'½'ÏV,¿7Ôˆíª:¡é¦P(-Uâ¼âž,G÷ªMìLÊqV÷úü½Ã j›´_Ù“:tô˜‹Ü’!@¡«+4 C,â…„6V ÒgK›¤ƒ8« Ë­Š~^éqùÃÌkB%`-/à!j?kβûfÓ{ôñ=oúˆ%XȰèþÝÈ¥eØ%+"«®¥§’ í ŸÛÕ­hÊ5àåT†&Âì.-VF]AÍH-! ýæ´*¤Ö“À LØŒþ™ôÒNwˆQ ¢/öÉÑ»ø¾AC‡$Ôâs­èF"áwìù½×èÜvÀë¦Ó%lr‚1èïñí¤"‰¤P¼‹Ð—íÞàVë²Zf%qbx¶†Œüó¦\Œ5”ÖM~³ªÛF—Š"~ž½‰q~o™¢ëu{¥Z!Pœ•¤Fû‹PË'õvTç÷Ëþ´²”SÆ;^G[öĹK%–MÒÌNCüÊsÿÉúꬶŒŽ­^_¾ƒ+îÍkÛ^G¥7(¤G»ÆPiV-b›U¼˜}½¨‰Ô²v‡w¤äBüQLû¥u‚ÐI´X{hãqc\_1!é{ ZÈ }&1œ-1Õ&3Ž<iª+þéÉmfÕ$HBgO`•ÀšÕäS(tê]õІj ·†xÆøK÷{\“¹…‘>¼ ±–6¬¡¯:øTwÜ7Óó(ºwA†EÊØ7pŸcµ‚ç¤t¬ wHýîu1–…‚ªÀÀê#Ïu®PõuÑ3š'PÅRv^ýEµ?’Ó1UiÁt¡=2{Žf®Gf+QlhWT:»¿ ,K„Ж©b$üãO2¯'“¯÷×dKÜ äó¯–««0÷3Ÿ(‰QÊV´uéÐÓ;[Zà’Ø5YÍÍ„¶1å·¥SRSPÍú; ð…_áøþï÷˜Oº‡â—ÿ ö’´3w*1“o‰­÷á”ЮÛ.v¾Ì“u/Êí.#DZ`'þhO5Ž«ôÕ¦íË,,Ì'‰ŽòÖ.ø„¨)=hMH¹¶Ýë7,æšÃF¡ØÏâ[ŠÀ =„¥UNÈ›P4ò<&øáqà æY±xbtxžœ@Ê»°¬HÄ*G7m» hZª®À¼^ŒYîð |æðÚ{xçÐ0iæ,ÿ¤iÚšÉwCY`å`2úÌ<ŠO ™L¢"fmBsùœ8ny|¸²š¢o[ ÜÉ»xV¦,–Þk’*ZÂg¹Ý<´NHf,ÕLÀh8Ð3>&g´àË;¯äÖ‘Ïúð › ®v+W.¥I‰ÉaaŠ)ÄÙlóÒ]–%-h£ ä>Ö•'ûÚøµÕýL+Œ²¢íJ†¿àªˆ+p]$°F4v¯Xo!ºÁ¢;^4£_ë»%Åœi‰Aï¤Iôõi¶2Ž‹Ç…¸1õY ßÀº5¬{Õrº1m8ªz"dpÜ™oŤÞIÎ<›x3÷yAbz'³ð õ[OûÿsúË mæ»-…%ø¼Änÿ*CVb®@rߎáññ Ä4…Ñ5öhr†ÞÅÎ5V‰qU1rÔ3Ñ$ Á2®—ŒÿÀ¼ Rœ;JBeíÓžžøéÉ~/F«+×xDd TfÏ­­zì²gkÍV‡_¤HslêûÀl ÒÚ52ö”ÿO©ç¦HŽH² fÅi2ÌEöî ïºÚSÄ4…[¸¦¬­Ç=ÈÃ.°ÒØõ`å§Ì.ç骂[ß—IÆ|Øåò‘»ꛥ@´îkŸËËt: ’¦EöRçÂzð»`¦:ˆ;7Æî9™žG†´ï£Ä–LÔëºøúÅ(ó<•Ó,+‚ °‹°wtÉuwrl~w4ï‰ãy½RëB7œ(ór|ÉpÙaéÀð*˜Ñ~ŒÙrÀÔÍ|TmÚ^œ úd3„.4¡:;¹ˆÓž²§¸‡!èŒFDüDýçôÞ;äA}U^Áb Ñ¿õÝ#NPðíÀi¯> …'*¿{b®Ëµ¿»ÚÛ£¤l_^û9´7çêžzÝ÷ª,'·‡Y䨳ÔG›È¯Ð»È$(à;†çNo‘ÍÆjXÈ™"A¼8@lP×Áªw¬ ²^2Øp!u’¥˜Ü"l;ðæm“éFR¿—f@¤Þ˜~Ç®9u»ÏW/?[¨ä¢ŠÿÕ–;ßkD¬§mlƲùkMŸ(±Po‹t²kka¡dÀ²4T'ù~Æg!²‡gÁëñ¾ñï£ÍÉcŽd=îÃ>QøqÇ9ù¦…&ý¬FæD(ýO^|uM­ 9£P=ÉãE/6l}"ŽïÝEFÅÞÜF¿Ud×’uûÈfôl3Ð ¾ªw.[Ù|áŒÉQÌ#§ˆÈ [àÒ¿9þjDZ¢fÏtï‰j03.#U±R€¹Ò ÷ŽÛdxå§GÓç@þëë<¦ðýH}=8>I'§'|žË[=`Ø":÷é«°C¢¦ð¸˜@ –³J$gã¨ùÏ)CD'Ì„Á8¦L³éEi…'Ùn…íT°=Ó èVlV·Ne¯U£_ DÆåvÐ?ŒQ ÆœGxGß½-I°YÀT…ÌJÈyt€H¥|Ù ›ûf§ˆ©hô€þœ§m†ÌcÙÝ·F6ñ& :×(ÀfbÚbó+Ê ƒ½¯ÛÊ™£¦Dî}¤~ÇŸ‘bäÍ£´áf*š$96°+ç6ýùýrÝ"ÞÒÆ?^6x‡Vcêš*§¡f{ö×*²úfEB@Úmhzúç6$‚\¥~éŽ@¢ˆ <ómê5=ž·Á=Ôý°Éd¡¬,⺆yùÆŸÏø•x–ÏUÇ•!£ÁM OžIOy ü*àÒÍ¿HS˜öMZlƤp ¸/N^°HˆB°rÈäpÓöÊ„ü‰¾¨söÔ:áE “ê¢ÆÛXiÔiÏ/ î»Ú'À æh”­sk$*”Ñ€,Ý[nõK ¡ñËÒOZêÅM±0wC‚ˆ”éé× ©½ÂJHÕålÔY• â˜3"ªu ÚðÃõ QH;’÷±n·ože ~ÀÌõÁt½‰àq±ÿš›Á¡Úhƒ;¶ã´=B2,µœ†`äØAÄ)H>÷¸¡¥:éë*†šÐ3(à\ÿ54¼-2òü_A„eñ§™ÿ+;(k«–ªÚ4%sP‚Ä¥×L«ñ²Wç¡DUó…iWÚ‹e¸½‰îÔåìfT9áûq‡øvSÙÕÝs«Y³¡´´5òÐ3…ï7šâªDôPØ éKg{!Áé˜#ÿæ8·ÞS¦ò¦É!M©@à‚,»½áùeêêF£¯<ÏÁËb·Þ¤ý\ÐG™õVŒ}óŽ[G)wsø¸\¦¥ýÞ·*©8DJÈÂY=›õéJO`‘‹×$‰Êä݉‚Kr?¨éÈi¥ ÅY¬´ø9 ÆîŒ#Dø$:^d5© r0÷N€)óa4$3\“† ˜­¹€b'–QH]'áÁ¡ï–ZºãòsdØ}@§•¡ã¢È&ŠÓO3‚ì++hšboh8MÌ^l| \Áû–m É`sm»ˆcT&~GvG˜A? šøã@ ×Êì׿&[S<‡Â!–ȱwg-ÉPýnóab˜PnÛª¡ƒŸØEùp[UVæLç† n¿d%^²ÑŒÁ¨¿·×žy9<Ã_F>ijqC\ül_VâàpÖNla¥G|ÉtÉñ@qÙ¤ÒH­c]|pâ`ív|nÙ†<©AºÞCUÈ™•¦Vš÷~¸Wy¥Feâ箾.±ÞÀÃÙé ÃѪônÑ#|ï«*nÜ’õÞm­¬³/#Õr‹˜ŸˆëR:­zTJ¥_ª“ËÚZH ½K‹þveM8À0x «‘¶f y•’…~úí7¿˜n¹d?SY;Œê€] tl×Xae`%Ò«ÄËÒKv¸œ#õý©à3ïhÛW3»§N”.Ü)®çâ–˜jøÎÇÀiÙáQÝ57Í™*·x•/?â: ϞÇë`N!¡ƒ†!0A—î¯KÌÈ/pRœPj×â•-ß͵àaKä³ÌOtJžIÚ¯â˜R¶ÝŠOÿ™½Ò£ºÔËvCk'£i²[O·qµ,!$r›æs$d,RK$âÎù Ðw ,<ÜyFÄô²}ýO¬Å,…ÚXÀy“!Pá.ÉÅ6p¿¤˜” È fdQDÌåY5‡3<ÊÂý 2Ͷޱõ$ó©´‰ƒõpë%¥,_оý'øb-lÊÜM(Š˜úÕcÑÑù4Í>홆b~ìá`ŒFe® $5š÷‹eésdJ1wÝSv/ƒ×Úèá4óÁ£y/oÖgð~ÙëSv>ãڰ5òt›ŠÕdºeØ1/Ûá^ µ“2àÿÑP¢åm;H°ñŒš0‘÷ÊÞ4ÞE?C•™Œ×€¦ùN¸™w4lÙJk’~YŃdä'\/ÄÀà¢RÊá1ÄH_5:G ؘ=õ>‡%^ò<°Ê©¿qƃB-=;º ª“,k†g…A5/ Ñ_yè¬g¹'ì«"ˆWáª"‰Nƒ8þ¹¿Pz<¦zÎuà‹¹!WQnyT@Tè`«¿, ´JDÁÅ9Ñ1a•e౯*¦ºDˆ%Ht¬ç—ªg Ü!Ò+b),êN.]ÓÙ¡m 7§'D½Kd$›¬H±hftü§Öì^ÓþûÈAʤh³ùá’Ë*7ƒ¢ ì5˜¸O¼#õ&?$­C(+¹"!Až>'´ÐÔ†Iù{€ÿƒû¶Â~ØÉÖ¿¾‰c>ÛYÿç¢B‚~’hµš¥¼'§D~ÔõÿÄ6vîS#ø†ëB-´8nîeÐQ·oÝ„uHæ½ØCõoDfaCVh2Sè\Z²§üÐ\kºZv~FJ÷ºÔ¶&ã'MÑèfgÎÓM Uèy¡šÌkd1GD^üwÏçM¼½׉†LŸkª"°Ö%Ë÷#ø¡X†¾û?öí<¦÷¾Ì(àd_i‰JšQÜMŒ0»W=á3 ç¾ñJ¨Lú)ŒlßO¦¼¤³n¨Xæ|בä§o†?®|xë…a ¨†fèψRxˆ¿0² “ðÎ䫎»ÿ[èÕ{^:r¢ £4Y¦E±wVá¢ÖdI¸,5Çu]uµ9*Gûîµðý¢<Þ,ŽŽ ”žá~©Î"WðÕ"¨E QCEáªãÃä¶~lç{Füh‰G]!ÊñÉÙÆ¿…“/袰ïYb`£jèPƵÉÄŠÁ m >EV «EQó wøhÑcp–Àýä¬ä`8·EÎE­ß5®ŸÐ/ËziA)<€…G&*¿);²Þn °È4DÚÚÖQ†LØh£å:jbøösO :}/9/çáåQŸƒVÂŒÅ\¤ÙóM>Þƒ[_õG¥ØŸ}Ò”ø£ nO´Öw×êuêü ÕÚ~gi%jEðÁ·l7eÑôìøÒÜG˜ÕV%¤mQ²vˆyM—Ä´—l-žÜiöñÏØ¾—¢ðm| EPÏèiQ¸ü¹çXÛ8¶ì<•Úº 3‚S·Ì×bMd1lWÖenÄ“vß1,…‰¾3l}Žë­I†S`œ2h m‚§4£§ôìm÷áxQ.K19æù•K%¤ÂV:?;Ó†d®›†"S_× ašçȆ JöOVg›õ¥üYÈ{=ñ5äè>xV1Ø¥µ£ ;S®ŠA®):¬&XÓäDõ‚^°›' VÙá!yÕ£Ê|XÎÌg°u[.pÓŽÑÜ´xŲ(%n–ü“_&ºMoš€C7ŠR-úƒw‚÷0ƒŽ©nxüýne9‹ÞÍ(üæÉÎ'büiÂlÓøë.¢¥ö“˜:¼ÿ†kä3 ­z¬›âïL¦/›M8r2;%j æ.ÉROmŒÃ)<Â%$ú–°¼x2!6½,Ôýf¿—Ñç_n_( c~bŸ˜_ͳ­jï|@<Óz¡n˜OùõWÕ ‘–õ¿~0˜Õ±W€ ñdóÆFõ‹Ô'˜ÞžfŽ5¡ë¦ï9#F—À6^UÊ; BP®ç:Çû÷š…w4O#…«ÈjGx¿IâóFðÞÞ<ÓC;@ÈE¾ü »©?× t)Ö·)¤!˜y³¯Gn=<-ecÄ3r¸=ŸÖ."—]èUlŒb+Ê ²³.?ÔZäð{È6ÔÞwÔm©¥ºÏs¿DÏ™¬³$yÜÑ^:};˜Ž^X;(+Ýü¿ÜG%ê¥1ùTÛ¤[‰·{H–:w!ÚlÛ_³92ÇÎŒ_ü½TéãXô¿±3ëŒÆÕ9ø{[¬Á¼ÕÐPGg±vcûzlÁ‰>!Œ¥åZõÀ¸m¿%„ÑsÉ9u5æÊ|Z ÏÏ÷ö@‚±†‘¹ÌÁFf[X£¿rFÂE´/Ýh›q6çJ/e,P´ô{á«>¸ Ø{‹}=‰ò(9÷ZµôÈ©¾ð!Í—æ¾ÅS_¿è×¼· KÍ£ V08ÎuþÐÙjqz'xÊÝ7ºÏ¨º fvµùÒ¼÷i†w¶‡r‹‰@ÀH\ µvßÛe²_¸7*ï{7ôoo†ù‚ê¬F,³X0Â-ç³ü$Î…ø%n@"õ7ÉJÉí²ûÈìô·¶‹™•èçfŒæ˜„Ez$ènÅéÒè¢Á;•b[yZÀçá,Ú€FBšQ¤†þˆ)^âÝ[P€ÝÛ÷â<´`7Õ…‡¯vÞ’Ò  ƒ‚ïÛðaº8Ä“‘Q.ÜéÎï&s—A¸übnÕbYðA™¯\»IySm߈⓾‡Y£hTKyèœ 8” NÈ+²,)ðW–'êÏùÅ¡ÌÛËÌ‚2¾‚‚(ÂëQìD YÃï d5·N»_t¥¡ŠÁÙ¶a¦TEÿ6%¢¿Žž¤Y õ¡mîè3ªÍ A·ÐÙÞê%Ð8p+ ¸[AR'¤c1®uùÃô‚/ °¤ÔXÙ;ë(+TÚ»¤` Ú=ý¸?}øÀ]ΟJ&g™TÔÝ6h’ìåª|áû9Ò6ŠÁ-y ˜¥—&ÝŸûA}:¨,xj^QÊGm~…bd3¯m3bzYàÚ‘¢ŒÀÑL=-EÂÛ«–¤ÎylùÊ(Ú\5õóì´†ƒ¨Ü¢‰íGRì1%• $EÒòæÙ{b© {ÝTjÈ4Æ ,š—}ë|íYˆJ·ÅO™sÕªÇFp Öz‘ïý%,®^UÜËÏùS5?ÇCÿ<:T¢}RõÏz‡[µh®q}±f•à=òlp»‹J¾A.è‡ mjP¸¨Ï.²ðNu"©%±Ò‚ 7¤³ÑˆùŒrzTìZÃälˆä$'^§•{s”–zL?:“À ½…{é÷BÖåá´‡·¦9Ô”+ùÎòEõcóÖ*jD)5C¿½qÀ×yê²\Uæµ°.zÅK󰼇;¥ú¯ž,†{ GIgS­QºA¢üMðÝkŸä²¼Ç4æ•ÝÅœµ”ºæ[¡þ.ë›_:ÈxÄi­F¬ÆáRöåÓ…é18Ï÷N!ÊúöƒŽwÀ€Üè4-?û¶h´Â†;²®Q†Cá4ËJ(¦í¿`]shÞ´…‰þüàïBœ?;´•{„÷ñîÛ‰>mGMCä6*Báe+fR²O  ´^ME¤]ËǸzˆ¤Þ’Ö=Ñ­Ì¢ä32ä±ÁÆPav#æK¬‚ðPÚb…Û9’Ì<Ç¢p•UbIPÁ®~v‡õø§«YD|x$»Þ’èé!qÝ}if@̹rˆ z›Õ±‹âc«wPütTpÚ“4³E:\}jåN¨L<®”¯–»º¶Ï²ç„̲³!2܇QKχ{ÝŸþw'L í ×_¬»ÈêY&p²žñ/·ÁCª?Æ“]E¥õ‰ë\‘/¹eÏŽRõlïÿô¦o¡ç, ø"),n7;\_”='E'ßL”¿ÀÄ뺑0?g´Ob—Ü—kñÀ®x™ährIX³Š5t¿ýµhí¹O/UiSý|ëÜò’´DW7øx íwvÉë‘Ö4L ÞŒ`Ÿ<™nf%>+ÏŽÜÝCcÙ ‰«¦ V`“ì#ä(ÏKB9æÃŸ™[ ·5_Ùc£"u>”†PÉ cÁßu2è›f76JÓ¢‰5#@¿¯¤NRL©DÏMµ¬K88üU¾§wÐ&¦Ø9c¾ÆÉåÕUÑ»t·cT2b=ÙúÅÄ!”‰^Ê:âô9ŽHÑèj«“ÁÞq£E2ÙP\E&B4Âsõi«¥PAÊN22‹>ÓQ`<ù`¦Jï¿’ Qcè­ü`}S“‘&-â»oÚw)k°’|2æýAŒÙfà“¿vÍ—ÑÛgûnºp­>¯$>E¶S®À*!ÍÝ=‡¸5›çÄô|Qeö"VÕôÚ^qša€Æ-‚v†´ùWÀ}¢òêd¼P.»ãÀ¤3Ú‡u8c:ÉÀ! /ŸùÀP Ÿ+!uÓÊøßeÜCõòÓ[ û²;-ô_y7ît™ÖÎuÄ»PŸ&Æ9’ºÊÞç«pxo°œSÆ%}3;ˆÏœÚA^{z¿<ÑYÍv¤¨{ͦf¡;VÝŠœá~F9Dû‚õÙýæ]‡L€•7¹AØ “Ù.fqko©Qõp¹º÷ˆ^ É8ß̲¡Ô·qßmØsMÈŽ'¿DÇ=J|„M¬ô”$”ð?s•_5®gf¡‹ŸÙTµSØ~ñ‹€Éh·{÷8Zù4ÏBàæ¹5µŸbèFÊdÃ?Y3¬•iži& ‘4(Ç’+šŠÙ@O4¥ÅÒ—Qô®8+‰¸¥SÕ¸¡;üŸ™Q€¶Æ=š«Fø¤Ä)h_اŽïXO«‚Ù€€½t_ûµPº|P, A•Bó¿?ƒ+ 1<ã)Íp4aÆI¯Œ|®ž[ Þ¬K”'o ó’Óèfôl’ñ,›XõŠm %éƒpáõå\…å»IˆÚ½Ëv9i¯·Ž©-XÖ\;¸sÏÏDôxi€‰âžokÕ#=ª†~V¾Üªý<ô‚¢ÿƒÀ“}ĈekÊ–GCC+å1ÓPö^T¤K|ñ'Fšw-SG””¯î~…£g÷ÖîYA—yã‘Åç ,'«Å-Ï8‘À3ðîðnÉ}!ƒ6 {8ÇÎÿÎ"Úýœ…$/Q¼Oòç…„ð)ë,ÐÜÃo [üêòô&“~¿Bó(ºe’-8ç#tÀ~Öjcñ!'kŒþý3Ø ÿ¯·J_äW‹'ÄdüëD’ô³ J™]í„s7Œ,´¾qZK­;Áæ`1Æ*ž2ùw[MT¢ Ù‡q ”‘{àƒ[UÓ 4׎€ý:-ùöE…UÇ¥ã™õ±cÝ1žGˆ=6rYûÔ\=öd—Ü©ži)œkâdà ßõœþ§«Ýw–†øÞÞe·É^6XÌ ³?7 ƒgÙ&a 'o•¡•¯—$%3saãˆc ØÑI‚Ð_­ªyV†Ú¦Ûp >Ý”yΓož0ÿš0’㳋XJ4Ú,uªý¢ŠÀ-ù´hÒáÒÐTàNÜÇ6f|ÐpæèèmrK¨'íx̳Õe[pþÙókA™Px"BàpÜe­~ ~º¬Ôœ™PYåm¢t|?Ee¬C7IXŠ[›Ö8zŒD`ßE¶ ÏqPðË%ä;)úBÅÝg—Mº„¬(÷䛹pªJÉf»g<õ=sÉÌ-SL!<·fÛÏ|éfç±tîŒq ÅlÐýãHƒAqÊòQ4,mIÅEKÙŽý(ì§&hÎCüLLíb*•âë·Úªå‘ÉÖ™)$=(`7BY9ÅÛk%½@×h#T‰Ûqfz”CÓ¯×׎g‚,tG*ÆS! Bº/ƒ]žË±=ü÷6îUV}Eudªm+áË"ðøí 5ʦE€“?c°ƒŠíïmòØ–·Ì—qälëgjeÙrþpƒ`øðXæ:”H!=ž¦©Ù¨ÃwbÃu5+4Ý´”$3å:¼ê7¥¯!ö#ã_sã4¡q­}!BæÉÚ‹ Ê—Äq¼2ËÚ»Oº œýR’éÄ ò'ÛZ–6ÚæÔ!U£.×:Ušš¹©œíâI“=džÑhÛonû©÷ƒŽÑ„žu¬W¦oz—†ýÃy»ð/ø·†ºüùº rq˜n@>ü_®Y(v04,´tÂcõL¹½Ó^ÐhhêC›©ã/8ÜlÅ,ù2”0oäŸx;ùì·7Dlå›óÓSÕ/, Z:ÿ~!½µ¤6ôYõ|øètµ$"ùœjÓ&’ šiF6ÀIJ‹"ØÂ£KAy‡›ú,ûrµ›ÌiîËdµŠåšRöi‚Êá%ÃØéQo2înó ™VˆÓŽ×)§gGµªYÉcqd†›„_¤óžÌ»ôÂágÀW“º2¾KX{­à[À$—*œ7M7¨u6Eœ`5sÁÇÀþDʶ®Ä`MÀú¤žwç°ÂJ’e u‡sΈ`¤cMÕz:~0bë¶Œ‚ŒUt'¹0²S&íú›…˜A ÁB>·?j.ŽåQO¦o¦dT¢ùº÷œ%%q40£ì‡)x*1(Gónëj(7X`•+ŸUÐÐÀÂÞu%€k-{^•A¦í’*EGÍn4ÌFÎn¬=˜êL6C¿Õd˜ã4ÖƒW»¸iRlS-mìU€Ûúl{¢]=è 7k©ëE¿„'>ˆÜV`D¬™rð/KÎ(N ?vºE4Nÿ_~à&Sý˜jÏ£b¡®e¸„ÇÛ78àèJ0ÖµtÙ›9µŠFíäo1Àž–É{û»¢Ôë/&˃Aüe*¸oì*‰fl ÎCÀ¼ýU@N»«›F´–̦mÑ¡H˜Q…U“+º³¹®…hPÝ鲬2¾Üd2Ê 7†5 îI_@*Ö~ŒôÙ~c•‹F§v{(““ Í·†[§(ï`œµ_g÷î÷>lµ/6)±ogƳ .Õ¡šÜᜠ8f˜9ÍÃVò%fðïŠk`ô ¦Ïä³;,¶§}"êd\dbóä˜%±ùh+~Úõ-‡èºÚié‚B _ øHî¿W-N"MÂ`„ņ¬]åL¸ rývZ÷þn\b™”d,üÔΖ𹌠Ýö.C‹G¨ðôøV²×— J+Žß¬‚äPŤîÊ#@&V„ÀˆÈ6®B¡Î‡-þI²Ku±Íd=¢!­ÊN²CÆÆ3Æ×ë8ñï-HwnÅðUó¡È‰9$6/Ïrý"Fp›–>_ ¯(2¸‘¿u ÈxÆ€?8F¶¿æ yó _|/½[­ к¡Ä 7ˆË ûì½æ Í ˜ÉkŽ'Ú7õPLõÔý€ýµ³´qΡÈÝBP_xÝ]o"ܦ>öiŽZ•Z*)ïÊI™"¼:Ä·Þ` °ù+) Ë2‚•Â$?õýM&DMŒW3ŒHšj¨Ê=Éѳ̒ª°Ç&IˆÑKTžÂ†¨ÍÞµX9m»Ô‚¹¯¸Ój2ìªè"øEhØ´‡Sx§þwó–QÎÀȆ/šøX$ŠpÜeb‡³´~Å‘T'S2ưŽ@‚ð%RoæÁÖEÁ½¨¸ˆrEâÁ•¡{S‡¥A3î-\Ñ)ò‹†S}óÅ¡,ï¼tçëR„ý’$ì/ÎíbœÌKî¹±¥ŠB‘-fÜGu릃x£q¤ÑFƒ­ÁKZ+iéþªs8d϶û/·_†{PlI…Þ ‚jTrjYRæ¨Õ@—ò4g¿ôe™¥Nƒöf“’Ó?&oeprJ¨ •ÿ…P4ÂA¥$-F¿RüÑì䪼L-®/E„ÚtR¢?J¨mÃK‰dðVÑŸéDb˜[U#?u ã*|Vªâ—™ØúJ9Ë{—VYŽû\Œ"FÍýJ „Doþkìf‰“u ‰Âx¿æ³ÎåÕNHÕ"HEe™Æ1CHõørp®µf²Húeªl8u„Ò€Mt3ͦ}äß.çÉ!úœëH©å5Õïî‹ ÜYãiÆ5/>—ÉfäèFKUážXP\^Ïa‘õšŽ"Ó‘btjql‹2i—m+;,âV ÒËŽRݨÓì^kËbÿ)EÁ´eÇžóqˆVÀ"¸QÍë'ÅÛ0ø+uàáRG!`§]¡dìp„Ô%êa篧–ÐkHÅ(¥ÛA¥aéЧRùÝEx¢Q)6g:@ Tìq ¿~¶Ý>YN*¡Ê½AC/¹q|‰²™Þ`Ž!ø¢/œl¸"K<2ÿáÊ·–…ï~öi ž¤!£²×e˜]>ÌCÐ=T§ê cÎ[ÖFÑHCFíIZkj¤0@7eý-¯¶i[@ Mûù¢&¨áTF Ë˜jææ9¸ûeàæ4Qaùp͜ǧp±–v碽†I¬PTjvBrŠ$Ð/_Ÿœ\bAŸö%óz0Šÿ1[­/$MW†›e%@|Ö)opT”úô6zÙêDœ^ÀÕÅ˵£¢ÅÕó– +Ô±ÍOÚ»©«p^ÍCõba͵ȹ),÷mßdñìåÌdÞßl-B±ÑÏx!üŸ?®`ïOO^µ›m¨ñ&Ó6‰ižÂgu}_C˜´{rò<–¶&¤t>[ð|bLW2ƒçiRµKž9çí¥F—™§òXÓ.;D+i5GçïGe†#¢&4–Ø·Z8{v͹¹/I{›ó¸e/”!¤õ‡uúê Ú ïóEG6c ò)=géïcªµ¹ ¡­Zõ´UØPܵ掉Áa›üÖæF"éäp°”®Y Ó5òaûÕk¨÷ H–!ÿw0,Ž®±Õä¯v¡¥|Òˆy^z¶ äsä‚g:Ñ\öôƒE]ŸMRlýÉ]I2SRO=ëW70>Îó~»B¢¥‚·%Sp‡ê¥Â‚‹¢13òpG²%¶XžÔrk'ÕúI÷Ž>*µãJ–‘ÇEÍ‘Q÷L™nNJk•õŽ€ª¢6ËâGCl Zê·l0ôÇ&ÿ56#ÚàsåãFÿ:è(lK;½§[ûÂ+e]ƒTÞf~™/áZðAx“õ'L ¼ ÔéLä-ß·e+¶ öK|V½^ýR¤Ÿäß([;œjE¼­Ä÷—`ÊGŒIp_ÀÀ˜õšx ‚6…gŒt²Ò¶—pC6`žâ#|¾–ÌÁ9_o7pu÷ŸÞ²:ó• v\’Q0¡L°Ù>ýŽíÖ¶*®hSÔ×oÞ®š¨0¡÷œiǞɇÚ~Js¨žÌÈÀÈ? ä42'¥²Ùz…êaÏ´ªÙ´¿HäšFä-—+"{]DC`çÄÄ6DvI×T^»õón\Ä Ýt~’´Çx?Ŧ TÀš¾5"‹ K|Eš£ìO Ì ÉWi¯×£gƒ ¸¼ìÐ{5ÇM{[¼² §_¾ípîù›§£qƒ-A9`i±ý.«`BN®° Ÿbd\7?×È®Ï"3Û}«trÐêk¯}·Å®CÛWÏ2kpì_.’è†|ØBôíõŸüÿKŒßý±¶·N’àžèÿõÉ2‹›ÝÐ,M*Ê#{†¯·JŒ(ˆ7»ÂgÀÙNòuáhŸ »{±ó‰wzèPöC=x¾—ü#-àÖp J„ ë°Y´ñb+ì͹·ùgpEËv¨ûÃÂÂþmØÆPG©«Äà…ÐÁ ¡äõbD´Œ˜Æ*…÷?NãUBŠ/Þ–û,¤Èmг¦yf›ö$kµ¶à³„2abëðv+50¥X+1ë»ûªã9* ÙFKæ©5³»\ü(YŸŽá0ùfz?³J GêþTÿ ¹9¦œÌHFV—x#÷–üIXpÍ; o"t´Ð>­‚D‰:Â’38%²<)½¡‡×]ú…ÆÄ@:bª 4_ 3ÆnÇq+¬Ü6I~~ùàY÷ïåÃqSúHDª¼—\—¿FWò¯0šìOc šAÞœ²Þ¼at)$Õw#EôZlûxiöùš£È8üÎeÙ•¥-E \c^h%”U­žg<]¥•Ä¢gw7>¿tÁäUo÷ÐV¾¥=Fí[?ît!­ȲÇ\ÊÃtezF ÉG^ðÂv¸uÒN5}d˜YfŠ’# 0Òç^èEíM£©A©%/O;š ºCh7Ûm%gªbÙs‡L÷Ž[±“Kæ…ªç ¶Ã^×ö“ƒF˜Êìèq¦ßø‰ÞjÍ $Yª}^òÞáߌ7nj<`<>vзTžÜK7j>·Ú*uG'šëú? šŠÕž³Kcc}Z4›PË|•Íåhi4SyÍf¹É–ç«fo½ƒͪ¼PRd\Ï/?á¼È;çF¶ZùçÍ”â·ÚnËÙ¦Û!nñJnÖ‹ï­²”1A ·ž¤ê :DS÷bi"[%Æu3ª»Bï[òVg.î|œ×>†´Þ ÍEõ£6¡Ž[’ïxãXÒï,3§]C-p”4toFµÄË©’1mï´ùæ¼û˜¬_!pS)áiöÆC"nÂÿÈIp=ö 2RÿÆ>®¹‰ †ñwÝgŒ„ðžz‚äÕ9 Y åë±$£ ¯G$§ÞPÓpKå Û²+î”`Íç¯O[«Õ}×ê;{èõE©›‹ñªí “œÕ“}Ym7}¤VÞ¾ˆ VàkþIwõÂýKz@Ÿ/Çš£VÉ¡" †L>h¢ €E®¹vÛ…KG‘!ÏäW1êŸò=,¤27²ë_×ÌÀm$ŸM‰‡½d»n²öò> ‚tú|9PÜF¾Ò…FX«ý?=ºX-ʤ‹$J·¬§+x£:ÕŽ_d £D’¶±1國Pk„ú‡ž×ÔBF—«ðA3)œÑ×G¯9¦ýLMøGºÕÏ(UQz°7oúÐ#Ùñõq½v¾QìHžŸ‘;@W‰Â‰¸˜7VÌöT@ÐÝ•8c™HÇýõð¨n}òTNvF6»LY¶ýóûÓï(Ì4äÙd‰d ÁcB¥:V¥è[#\õ3cOžU|Âÿè0½‡ #á(úÈX~9üÒi?4£þfŽâr _ÂÍ#ò†41-½v­ò:z—[¹âJ%9çNå–α=Œ#i²Är*¢¢D&W‚:ÚxU™È>å|#ŸWüÎÀÈТH‘Šœ7¸2Óó;H$ñµAe<Hr04ÄüþWp„ ˆ·~egÈü#/ç›f4'ÏVŒšÖ9@‚eXJÍê•€<ß¡Êç@²×¡^¼›…„A°s¹S ¹'Ê&Ä]§5É^;}UÂõn¦|€Û“3á´x“˜YÊ>ë„zwœÎ®ų:&†å,´¹àv‘™ÉU;ú˜ì˜ÒªóßD{õ¥ç…­Ù >hÍ<óR©q?±ðüZðø-Aà8„¯[¶Ü\YÖ‘áþ>§Üèþ ®rÖ°Š$´]V‘> ei ç3òb¶“h\ ”Ýhqâ°ÿˆãÕƒ¢–ÙmÏ#ŽÃ³DhÉÔ¶œ¹÷Š‰Ý”B:ëRš(>‘χ³õj±Y(Á­A|,Õoœ`>K Û¾äõ”H)]ˆè)É„:\ÛÀÁ•{_`eGmX¿h±$Vr`×2M#Óü’ùa͘ ¦DG´”b‹šT‡¡ʪ5{Ø,7KBEçÅ—›I¬>ŽmðÛbŒÖ¾Sz£Ùèfïºgš°XsäZ‰HˆÆG—@ ÁÕõ¸y”»øðÈä'È̓ŠP×8j…t;o©0¯˜PÍÔèdb’q hhuïk™Vd³çï]Èþƒlž¼¸ +K„ªTþ @’bî·>ŒñSŒaégbP˜Gð?%­ðRC‡"½;Oégt!’‡‘¿h·:£w›²µ9¸Qž‡.ƒ|KÀye¹šb4bVË»@˜b”[bš`TQ#Ϫ O‡•µæ®ùÞ˜8CQ˜•Ͻa¬YUD"±3¸œ´™¤Øº8UGç Ò !>mes ó ¸.¿&0f“2P§¤:6i7а=ªç6‘䕼L*³[,Ôa…ÉMÙ2¨‘qâüàJ°\m~ûÃu¶@<ý–ÝÙGšŠ~R׫LZ¦õ£JEÅÕßÉo±—¦ÞñøÌ§?å2eXç¦.˜»´RGÈŽ¯ý6ó%SÀ a´ +£]‘bɾ#?eàóKqžO÷ Mb†êN}Ú¤ 9 õÛ*±å WÙ+[`j.—õÁ³;ȼ“Ü*A=˾Ðûh)»dûË…S­¨æØý)ÄCØÜíÉ€—f…‘¿°Þ‘5˜àp!”ûÁÛ-6)˜KÐí®ubˆ·¹}n f¥²|3ô£üY›fèžšÊQ=ˆßIBÁÆÇR¶ šìÂÓj(‹W\°Úpàp1ÍlCF†‰ûÇt q/Ç’¨Åœ.6÷U0›kÐ*:Ô Ñ!ïÙзú¤áÖ¬<ìÁlúGŒ) Â?âo‡5¢ÞÌ´A¿®áR ´¥%‚LÂCvþ)hO°ÚQ ’ñ¾b.è¶ü$ÚGŽ™ª±Ðäô¥Ç’ý^oË PmQL/Óüæ;/ŸxÍÁ+PøgP!ÆÆ)SWîq|½}-€voÙ̺ © áËÂíæ+P†SŠ6S”€Pô? îy+Q 1;#OCˆÖÛL%é;8ÁƒóädøÃƬ·ãzϼI¦&Eª>zUqZ­ÞÙß!ŸÀJRz…YH¹F6ò`1('ß.˜}ã jlooÅ©ÇTWÃW K|Ñ´¹X3l'ŠðžÔ^P£,}w²pÎ 6áçsú•Øô˜OPŒcc`Kçͼ“ßÑXpi^ :{Í6)£¾u^ã\Þóñ0vÔàþŒY¨®Ôuþ}„"æOIû˜ô1æ$Eqú­÷6A•—-[1ÞúÅl×i ÿ¸†u0" ÔÇK}£Ú\xç_’~í9Q ‘è‹cbÊcÖ*Ã'’¹Ó#V7±·'Ž1e!>ÈŒ•Cjq¯0_/§´²'†¤j5¿çøÁ ,eB"±¹à¬\)kWãhò ‘›HÉz°¨¡…¶—Ì¿ÕÐ<Ë>Û^¶IèwK’ù4œã£ªE{³’d7H»Šƒ´DTRR¤â^¨¢8îÅ%ù?W¦)L¾2ÁéIh‚&˜ ôøä†Çàâ#Þ³E´ÎÍJMÈ\üerWª2ÎnºªXa\#{K6CÌžy‰›bÔŒ›©¹uí á¯ë5"è*øë>)¾K?…ö¾Öþ¿X wëÝFýAKb/Ø~ŸÎæÅ£(¦·¥EIÀ,9ÇåXf¶IüÛí%¸±#´g ŠÅ‹Cëð(/ÞCdE;Cç;)elñ*3õñßÊW˜‰85òu¶7Á«/?F„½'=qËOîÂŒûb\vqËÂN>ÇoJåSÓy+#ÁŸÜ@uîT—Á¾âö†±7`v¦N”@¼oif¥YŽ˜ð´#±öå¯t‹tÇýxàÇZ- õ½3–˜ÝÊÔ¶È›ª¿C':ÿI><º¬ Œ`¡ÁIÝ£î7j˜91@c j+t5‹eª \p/ìȹÃò[ˆv÷š òbLtÛJcÕšŸü1d´¯Ñr‡K)ñçÑÿX,ÑŠ¸žcMVJáùSHð= ¤ß¬×s=÷ïiäL]5§ðEQµW´ä/ŒÊs1‡.V©~ ¿£JXIœ»tm¡¾†I¤Í¬&ïbÕx°#}±µ—5”ùmRŽw^̧ÕdŠ[VÈý­x0]øÝ̦[ê¼-°ÁÿX+"1DÈ墈*³#”ÿ<XøÌ”œC¥ÿè1ÖF)[#"ÐDB…ÐHäºo6 g(›oÃ…0m»ÚÁ«ôÌõ̔㓶Lº³Û`0õ µRðÐ4‘øíµLï6ÌF–‹ÞÍ´…ºðVzíQ…Pmèö«T‹€›d â·&t+¯X‹o¢ð<È)ßñ²9ß cÌ)™è ¯Ì©º¨IgИßZAÏ€÷\Þ)•õ’•ôgqè¸3ÉÝlõaûÞFLÚÃM§Kë_è ì’²<’Ý_o)úÊÛÿ_î×Ö¹x3K ÛbÕëûo+é›oä±H7Y`â$¶•^Õ¦1]Ú¼g>ª!ZÉ@'ŠY0-?'æü©êŸkñrL¢š¹LSVì„4áWn•¤Þ‡,¿Ä9æe 5 t?LÎÖ'ª$ète^fCeÉÑYJYp>Ž : “Tb ®Ò¼'ÆË™¬¡Ñ"8¼èåç[[Y4«bR¬Kù‹yº¦ZkQÆŽÀÊYò!Û÷èMˆƒG—婚_+1&K Y%êfã4·¬yu/9N™”#h{N±¾—…t³îô¼:芼š°3í9ƒw‡r`+ê¡$ÂC(eÖêÁî=0æì¡…U¿cèoy”ûT É|÷#l=¯bƒâq ]0ôOÐf$óê.’*-táÿþªHå_ÀW´ 5… hAL«Ó6˜ b¨qì«8½˜ÿ`çYÂ*6«Ö¼ŠÂI)9ñÚ ùj̓=vÉ¥·Çj]þ (ìuKuc¯ûd°£ÕFÒVØ__·­ÏOs7ÕWíÉ“‘[ ÔåêÚq›äÅ{Í}z>Ý2 þ^ùË´—Ò¡Û¹˜T´lúYNì¾ev¯…NOËw52› üת ¯¿ïŸûá@Fï35žcDyÙÆc„x` wA“·tŸFO®…fMX‘PI´°[¥u›0£hžk:dÕ¢ÃsnDìÎJõp9¡OOÝâK)¯/ç®ùëá©¡Üo²½^ˆâ```kÖŠ1Ͼ6Y*œÊ›$Í„}–£ÞÃHdèj}9ÛëüØYØŸûÖ›ç,ý¬Ód’DZ‚ì ̦÷^ýž2°Vlt¸$?-áv¯`zxhâÞdŠ."M2M‘0Qù6²½’÷r»xÍ]ˆ²:Vʽ$1Ž,Ø`°p™½v«ù ÜõÆÕ{¹[Fðs£. ¹vpé ê‘}nÐÏôù>f›=gÓ+øƒIò ÐO.;çÖM}fRz„(q_£âéØ%ý<¡rKV¤<%\¡4“°æ,{{±3>0ÿªDönnþR¢Žˆ¥Ÿ¾h·nÓ ?ë{4¾ŸÞáØ} QºJ„ýŸ.-ïr×›l49Í߈0‹¦¸š‘½4(ÍIoÕ\Ù¹¤OlÊÕëƒ|&š½Uö  …Ýú÷í¹JËè}å½¹¶¬ÛUëg¥ ¤uÇ(K÷‘!‡ ÌùÙ ¡ÿŒS4*_‰®OO§,™ÌéŽÐÒvô³u+eGÇØ+¼¢Ù:irŒûY±UD9iEòf ü)Ûý^öÖžµH8W{¡”Yaž£µüKM2'Ï÷‘æhømßÖÒu‡¥ò{ìwlS‹FX¨ (´[—Zk»q|¹ú"HFD9•ÒÖߤnŒ>T;oj?@°yÍIÚ> ŸnXŠAî_%åÏß]¦#Óºit9¨:ÆÉ£,ÓC[Š~¬S?=h+w­ujÏ.VÆõî3aØò¦ê<)³xÃovïÜä"†â—ÕgÊQß •K›òP‘€›û„µ‘sŸt5Ýhþ>ï5È¿І‚êÑ*êÜ *œàÄ–ÝÖòg;22I»€´{œVô(3Íd<ÍqÃE ]wà‡áĪkú/z¯ëº=Áþ¸Gù+ÆÊ¹¹¤šÐÛjM÷ÂP~bœêåíÆÕC¸<[²C¸’$jâSwó;”o£ ú]9¨A¶Ÿˆ§œ·[» ÖÛT7ûÉv“~Ì¿¡*Ì\À€Ç®õ‰á§ÝŸŸ‘Ûqr»'‘þmQg6%‡˜{A‰¸äZ’ËlU(À˜™ºÔïq™iïVÏ>שü"*ƒ-³ƒd»{RÓ—T¡_L×ê —Bv.”Þ­]ÓÃXxQrô ÷¯võÅåÖüùCîòO®'ý“—#Ó_pq7cðn1&P §ÛM@¼B ŠÒÐ0µõ³€\(3ÄÌÒ Z:ò2„ é0ÒÁ¢Þ >68ëðŠX—e6¦¿¤òÇ#W†Et€#ÀØ–¿huecÉ¡œ\š|{iîh°y`–2U+Vä ÿ…;?½‚Š¥ã…VZYÀ™N{r—U/lHx†¡Ž\U+Å•Qb7c ¿­Ñ-0uw}s–ÁÏ}Þ]­Ü5ØBý„ÿsÕ±´:üÕSô—’’XW³°+ßÓ,ôܺÿ—;âà\}mgˆß¼ïÍø3銳ëo(DDHãX¹GíHìcÍâ<á*k•7º2zg#*h¾ÚÜ:„JÞÿ¢œÂ»¢ê¡š¶BJH |o¤®¡26«°ãum³ðÆÑvº©eÏõÉZåHqæ¡û²’ûBžÖSv;YUÃa²9Í)›ª.9ç°‹“¼?’ïi¨#·Ã1?W)ðóqk™Ý2>qìØž÷#Ô²b)M•kΡ Ž–Þ‰)Í3%ùÇÅé°ÒdL}„šIM;Y8ä}†ƒ×p™”þâp‚Þã©*#¥t'̸„eVŽÄ¾âàùc9ñMH¦^+ÃfPÀÕˆŠD3Sˆ“;w_ú”¯™mòuðBØ€®8ºþ»‡“JŸ¼ZJ³B,x5 ðr~~›°Ü›}?¹W<¬<í/?NÖý1¶õv6Ô‹ Š*ÙJY Dì(Ϙᘦ>»fö Ê)±EË-yüKXd Üh"ÓÔŠO¾ˆ<¤-8š›5²Ù°ˆvs>À® Bn!»Æ£Wè8÷2¤\‘<Ÿàþ9Úa¼ŠµdUý*UÇ.(æ_§f8¹ÓŒsÿ!B*ÇÛ›ÂØ!ϳÇ#M„dÎð e9zaäàÌ4oH´³°¯•Ü·që<ÿý³Ûƒ)\æèa¥ÕŸP“°³y‡ !ù×HËQ8“,n-+÷º)i±Åú …-ˆòàÍþƒ­" <:Ð5«/ÖÎ/·äŠК‚x©Wa?ø¬°§(?mŽcâ'0,ryÄ(ŠW¦I%èÀHXŠ%¶uÔUZÏ¥úز—ß hÓ 2R=šíÛϧiKæZ:Eêáü„<~ Ù¡×e1ôŽù§ÈJBœªwnñ“IlR`ë'PÔ>Bïšèù6O%c¸4WTs@œYÈ F1¼O¦4ÉÔ§mÑ5yez7Ä}#-h¬ñ°v/ .ËÆÕêÿ9Sà–>Ëe½qP|±´ÂìS‰•gN5 üWá²Ü5òXHgK+ìÀÖÓ/·W:6=8áD²œ‰{§:BšRÛï:œõ‰lv9©2~dŸTQ÷Ç7*“_ ÌŠWcdî ±XÖÿ H“Û·NñÝÓ,Dù.è8«öâÌEÅ̾İÉdn®Pôt0%ó}ÉùQN¹6«`d!ƒC™‘Ô“üâ/Ñ8Ãb¾[X}‡G;½=ü\Ðl‰ŸúmÀ¸Ü¦yÖ`€Ýü¼U—Ǻ[ƹÇ4BÃÍÙDÁIsõ0„'¸N¿²åŸ…"ÔªoÔöot^–_) É9Ú|èô‡x¼é4ÛêŒ/l¥×±SúS¤ßr‘ò(û=< Özš›`' Š‚ìWç¾ÔŠP™&¦ _ó;¢‹Mc ¹·u]ÆñËâ0Û/z’ùCøÊ•ÌpܾŒ 6«<÷ÆY0˜áG7Í#ƒæM¬‰Ô˜„oB'*56˜jCvtþâI?›Îyaf]á<—$Jñõ0ÉŸ×v«aºL¡gs`Z˜–d‡Ìø:Éúøë‰£‚Ä¢Íêì´äG\‚ ë€¨Ç å|qde×tÖe¢÷Cƒ|~7xõI0…½aJÙ;@¤30.ƒ²b܃P¨öií«ã(Ô*Ê·nVc–‹%\û9 !»š¢«ËEñÅÓ~7:h* ¤ ÿ>ÈY8^†&ˆrõaØý:1í#/t CÜx/¨œ2JFØÿ:²tµŸú¥ÁîÀA.3¿Ã¿uYñtf[ùü«Àwý©aÙW}"¬à#¡œ¦DgurÞÏ© LÿäÝ gsG ¸ôWˆ4§l¥Ê -AhìŸõ7¦:0ã¾ø ƒGöŸXø7EN]ΜIR)Te¤ ?&i ƒ&vÀÈæ%­uíUy¸<),Wd|멤l¾u ‘2MâÔ"H‘ãÈ@±‘˜Ç*7Ô'äfÆ €†Ó„¢œ¦ÍÛ;¾9ÔÛÓœ$âêÒ4GJÿþ4'Á'¾x¹aG#n‚$ ‹©Ð \€Ï×þEQFí?ÝbJ/_ãœ$ƒÆ™K«ÃΙVxΉ¤?OeEUјª‹Ä˜U¹HÆ+á))dgÒ¢-º›l9·²Æ‹‚ëÈ"›‹Â?D—²´<ˆèVÚÜêÝvo0­N²X`÷yœ'FrNß´…bxZì¨ ¶ ä ÿYÉI¯‰%˜ÆäòóÁÿß¾qji ò¦Ð!·“sʃ2%—ˆeÔXÆ\Ç·ù8ã￞–#Ej Cld˜MûdíéYÙæÒ3žð‹¨¢vLúv&V§]^Ûܺö•kÞ*‡ jzÒ“ðv³j^<ä—Òãb¼YZØ?3kÇáù䬶¯ =<«u÷ çÎ(dÿàÆ~!;üwr—6`ÒB‹°-֩Ȥ}Çc|/plx"uOǬ™r¦¿`r®×ŠÄ ð¯-¶þ"wÁâ¨k÷£­ß§ ÇÎ ²DÕœ FšNÜ)±vl¶Yß¼X§¹‡ªØÜ=lx*$&,yÈH •ë®? SSVY g°µYp¦á[üÉó†+Ì.H2è|žûãÉ= æâÜb߆fd€’}¯£Éè;³êûáÞ¾ü€lqEǤ»÷Kôº&ÄF{±mHˆV¡X‡îÀZf8Ùc9ø:§¦ˆäàBWò`3͹Ù0iÙ¾ê6¼¸îÍnwÒ,"`¨VmÔ‰]÷>\蟂ÂX¯oƒ ò;ŽNä$êbLs´>Ã!„SèõÖ“…ïs”«eç€9ä>]Ì´ý¬i¹ÍÖœúV;rÌ1| þn€iLšîÏßÝЗT^•‚YÛº ¬ÊH³Îà{ø®5x¡Ñ_6ìzÓØÊЙm½j_Pv‡Iûÿßòùz³öÍŒs¸O2ÂÙyиØÕÅýòî@6D¬µN äaeSðùÀK>¢†O~VD@å@À³“ïe‡ÒÞtm!ó® ±¾YÇS°Aœ »ËmÆ2Ÿ¨¤ºÝtW"j%܆>÷+e AebÕnÄŸÜ?H3ý­ôr¬¦ŽO*9—F~{ãsXØ,¢äûí¢•ß¿¯³ŒîŽÔM(¸¼ãœtÜGt½º¯Rô‡~Yð"¹ŽÚžlºå"‘à)uba.Ú¤®!ìsGš¦Ÿ ¤MEüÀ[:HûÓKàj¹Ê7Ǫ¸ *±°Êú¦0ãp FÞ'Q*Àj{bªüápŠÒi¨fØöÇ7ß3‚áÑ¡}f WaG–sì“í-c 6± DÜ`„ëŸ7c.N#x ÄÁðˆ>àQ ôJgÃùqû*v×ÇÐÅu(Ë»~ÂA;þÏ ¸Tú¢¦÷(¿«DM: ÐÐ&ÒxÁG¬NZsz=ºTuæåDå脤IŠÙôtµ›&[RÇGS$û÷ÇÏmP.op^(³ÖqDÀJã¼ 9x?E³ûÑê N>1½Äi‚ïÈ—ð3£X8ý i,r³pžëJ7À1†M.¿Jüa‹¬d4œÝS’gmé활åDdh~Í$ι*ÕÝ{Ô¼ñ ôFÛ!bÂä’,™J®æšj<Ó­AÆG Y§'¾–DhD‹ý;Ã]LDW¾©þ"¦?a¤Ü¿ŠKû'?­^¤™äÝ .ÙEԉƪlˆž@NìM¢\cÊV®7ÝV“ÒÇéœú‡:¨åì´Þ×úC®1TJÙoê#ÆûÔoúw£SfEàôf¨¯OõÙ-ÕI=UEuW”Ò 1jlnêUãÄ,Þ†üßÌÂubï0Ðû®!·‹ÿ” wrÃNÏ>Ýþ»Ú‰s'aŽSråÕL•çš„$‡² *¢Øå¢ÎôãíÅ%›¿ ÆW¯Fõ`U‰{o¨†ä¢5øV lFìVˆݘvó•ä5kaÆ!3e:ÄŠ98Ê¡ÄoNkŽK›qG`ªŸÆ•þp¥us†r°†W>!RËú‹Ý4MëÓkj$rV(\$BíÆ%7ÛèD!i¾…ÓÖœ§ó'6M29#R“K >kˆ-=v"úx!©0Ée0N}aRÙ’ΤÀÇòEÏ•Îb…®öO¨êrÆÂ;˜åêXsfx cA±8Òó)$7z ðB|dçºÕü{"Ú–;¶Xç« Þ\X6ûô[ƒB= LÉÇ@ÞèC¤¼Þ)o¿úòîREžN2jIΩu(Ø*ïƒð›¾ •ØÃý³†[º ³iÚûÎ ˆGM¢9ƒƒòÀBØ xîÔ%œuÎ 1hˆÂaøQ§îÐC°øFL0Uþ„TkÞ‚€ùç«>jM‰“5qNÒ?#‹mñâvS'ú­ÏS4eA&Wƒ`“FàˆCº6²ú\ý1Ó=¶ è?Sy¹÷ì=ãå~öÐŒ ¶I ·6x·¬k켨>>ý¿¦*ŒÙÀŠÎ‚»UMn —äܦ\öFe–Ì©Ê츳Ùfz‘5q.knúÃ'{Ÿ,4&Ç}R}Þ&Y2MÜWOċ*¯3.³¿l1“4¥ŽDEÝ$¤“7f‰+ÔqþÐ1m²°¢as\Æ]òü'õÄ]0i÷ Yô;‡aDhÝÀ‰ƒ·p·ÃÂu«´[ë ÍæZÞZÐ ú“š]ÁéÁ èù㊬øòïË ïg¦Þב{¯"º'+gøXRœD•À9šqZ(›™ÃWF³‡kº·N;HŽC¢$Fçñ™H O/£!kj눷ž Žêª°»=+@‘%\ƒdÉI„Ì dVUá¦)?ò“‹57ä[{6JN?Ímë%œ¿+¸N˜.w€I›dúPš$«c#˜Õ^¡ò$×C“ˆ~—šM9…ÿÛ­Ê« d4í짉 »‹WYÝ~žy¿D¡¼´÷³Rõ:SéH šÍpl¢ŸGü#ihF‡Ó™8Y׳K­z7Œg¸òwŠ2%¦ ÉtcsƒÏôÔ}€Xè‹ÏŽÏ=eîÖ¢G߉#š9gˆS¹£†‰” O •ÿ‘•%àoœÆ,Ð{\꾄Ž'NK[ß›;6p4S5ø×OîGh-xwve=¢ÃS­y†¹€QD¾µP¦'ÄÖ¼rWÕµ.R­D<ÒÖcĪÍP‚Äö~­¥ä„.Kzlxšqµÿ<»/õÊ”)¼û¬òÀsv²L;bB‡ÆÝðïÙE YI5›Ã–›Fb’‹‚˜à}ëýyõäËÀÏ ·jkÄ#ç}UÔ©:A\âP—óêž­[¦´Ç}lÙžÆÖûç½µWŸËøùñ'P ÄcÒxî¶=XŠÂsõ­tô™Ú~šý™·C$sç½ÿƒK8{µâK-À5(>SWFìH’¯×žE„)ÙEÐ_â­éŸ11 ­ƒ°sŒ¸·%¯9ËSL‚Çxôð²ñÚ±›YÅîLÄ]•7ª7L´P4ÔQã‰ÒâJ{ìDzÔ…ub¼íü®âh:Ý4®[dÈ^‚««¢“(öAL¼± ››ä)±ésŸ[² ËcµKõ;8MCÓÎä ½—¹¬_&îzÌffªÄo‡™sæCr±>QØ=Af‰`0ÅÊ­È1dõ§M:†'tz¹êðÔg3qo•F*Vº‘"öµ¦=Ìxõ W§Å÷| ’¶ÔQC´že;~õF&®0©Aá}Ó -Np%§`ÔÎy)ìQ ‚ÌŠ79eÒ<àEÀ4ž€W¹¬s“œéì4BÚ:Ãç¹ä ÒMôÉ ~¯Õ ~Ä)™’ù ,”"¢Q“BòGeGeÎdÀžUÿÏ+·.„6¿eox¨Ô¶óWgÏ%OøÇ¾˜$h;æÚ=ôØÔ/RPÞ)ºüíŠ%—ª"7öªÓ4íe‚? –±K8„#mAøªhmw>‘;¶:h&é‹WâDK1l`¤I4™…­9½-½¿ä|µÈxõøè°ú†\òéL»¨¿©[ß81WÕ»ÿtÿ/i‡®è jg]åÚæK›„ÃÒJß;P!Aá€úÂn ¿áòÞ%«üä7+:í ÒûInž:qõtžÈÿ5¨ëN!ò×̱*×ùÓÁ¶®W)sUÐ-´fß²_ŠxÃry®WOÜQP4#O¶|¦g,AW„2Äh|¸–I £™øMšBîF0$úH›…°â”©–uDÈzÚ›‡æ÷$Å´vc,9‘)mà\3ŇUåÞwÝ«] 7äÊ þÕe Ì~c¢xÔ!S]àg<>?8>µ‚R65¦ˆnÉ+£=˜¼ÖzÕ•‚ÄübúD2þiZ·[k¤í9C¹¸ÆÍ-K™äBÿŽeäÝPÁ–9ñJq²z’ôݬt=º¾1“r2óýàá?Uû¦÷'=0«íú!ËŠ7ó_‰8DùJ¸N³éSªÔ]98ã蔀›5쵪÷•õÆ NŸ =ˆ&Ò${„åWÞù$|Wš‡ê¿`“ +u<+0lG§PîH¿ež^þ8 I/•yHÂ,”óvwñpøÕ‰uÂò †,ögb`£}c²Öûñ@¦ïþgj°2½(B)?ÜM_Õ÷Sl‡¿Žö_O–:å|ûF8Ê6w©Ï+ed3Z¸*m2ˆÿÙqJô—„G5-;Ëax¾H9 õÅQ5–œn é…ý\ê°{ ã~ò$j=VLBÒcˆž$¤ÇÕ¨F:Å þ;¥9vê JPkû Bër ´YÎf)Áî@ÕþPÂÉù¢3˜J&~¤][i(eÖˆÚÛ,0Q¯·/~ÆÙ¼de;¬;vòuÌî X_‚ìdNCU,*œ ¨Â–ù??IÒqŽ÷ÏrÆb¹y'Á‹mBÍ6þ g\AL¼€*ôµÑ sdk}Ò¥xÇ”M9ÉqX6~£zKgÀv»jÊ6åpÖ6ÙÎ"//Œ`)ÊV»2D+«–D\œáH²™r_Îjpróà ¯ùÞÀTæWîy™(€Ë6†9)êôÖk³óÀˆjW7!ô¹°‘8©ÀpR?Ή*»b¾sî)Â{c—&Cf¥ˆxÞ”½à4}½‰(2»u†Î$e<ÂG×–³ØïšÓ¡ Ü C3€0…[Ü6+Œï)òèðÏ-Föôöh!\#¸¦Ö¶}Ùªx­-{›+çž4wL '1¥ÌŒ£Øyk˜Ä­H_É¿UíG¨êìÐfŸœ”´2þ„X„ÿVFm½vùB{†xK ¼aÁû@¢èeÊ2F0°)N«ÛÓ£Ú£K¡’6;©[bØ• iÑnž@ ]d[“¢¬äe]”•Sh7€žÌÞ[߃”%ºÿ܉”1¿VÙÒhºb„Ž%yȈ%Áý0ÍF+IR{ydYg9qHž¶Ûqy+ÇØxŠâ¯4‹SÃ˦Ý@ ž~ÍËa¤1c`gÿNÌæ*¿,¿„ÓL:e£s@ °ÃÁnXù7Œcì°@D  Å?i1Òò‘ImôCD[øð­– é‰öÓn6Ö À8}l~³1£,„GÔòib—æm0„שÃsºZ³¸”‰œ«^ ¡Ù£ÂÒš{1©ƒ2"¦·ƒŸ]Ugس9—»òç’>YŒb4•Ê‘þpïð–JšêaOÀ³¤Ô ³`,OÐ[%X*B†þW"³n”÷¹W¯Ãx¡Š¾‚º¹@t,’ 7<ïV^Ú„‹Üö*FáAŽËýW!¤ü¯¯´å¸ºøxD—_šRå©3RÅpõ+:/°‹ý"—a{‘]ýrŽêU% 6¢œm>Mcàÿª¿ì07¨w „æâKç+/nü-{f‰O³Ì(*÷µô¹]¿ÖMŽ·ù¹Ã)•„îSî‹ÈVéè0GqG»JîbuÐ;H;°$W“å%§MöÃ@+nøÓ—xÏ I gBL·b€‘éRÿ+¾%.˜fiEó:ø'ržP…òů€ÀãP i¢W8Xb<3++œy@TÃêRs‰‰:A< Ÿ/ˆš\xð G*Ã&8coŸÃé¬W|š…úc” ¾ÄÍØÐô70OÛCç™üfø?ì˜Ðë¡Dî/_¬m?¯{Ü@Ýó.sHH\¢×JÊX} ÅAáÇ~H!¢‚À<ž7 8[¸Gå‹Q/d»{*¬cäz˜÷î^ž›ïžþZ½¼²¸©U_7…sîœõ˪VÙ#µ¹#¶Ó°>³#N«óK(s|eyMA‰£œ^ ¬, ˆt¥ˆƒše4 †EëÌcSé¨.j;Kè:Dù_;ª¥…S6~ð‚%?òxDJáö\Ö nÇ‚ù,pV#.ó“TÐsˆ·P©Ý–îíŠð´ñIÚô;BާêH³k 0/lzK~ÕµEéÏ…Þà¯]ÈéQ±EU]RQÄ¢à?¡àK.ÑãâÁŒÙV]Að!"ÍæßלñÌùaØöP‰Æ“ÙÕþ·®T^p¿}‰h,DWmA”7ä%ìZŸ¶Sœ®1#QYV Üåh«ÔP’ÂÙyrº¡n0Z¬ƒ“€ê‘áþš/ïïjTFTm0óoŒv[•8åÌ2Q+nëË+®„×¼tý¬Q„“o~wwÎ"ö‰ô¦ÆQ&Åê_Clœ´Æûc.þôA¬ wF3Y¹‹ Ï-Ͼµ{ë˜å¡ÿ6XÞHÃËí€Æ§.åèU}¤¹g«½õô7½·f' Ԧ첲wi¿~!ø˜«swm‹öä¸Ä+OODäƒØ²uc(ŠÇ^ …H™G­oèü½&‡ ›êp»Ìe®!ö9D7 FúPÇ^¦?açÐÑ¿ÕTBÜ?@ØO»Fù6³YW)øÝÝL ë^c ½µeó mΫþRQ!É}NK§¥ÕYâôñíSü:É‚uœðJ¾ħeÅ>ìˆÀ^(>MÏðýìaN¦Xó¯¹Gh´å‡ðÈ} #u`«ö?èB\9൜9r$d2 Ó‹Ó§è(ø;ƒ£Hds’Í•’lß´•_t¬)±Òÿc‚3vô‚¼˜5¨…¿Öœ;"ø–‡^´ã·B/½½ÿîl¢Œ<ç·“ÑŸôïS„ÿ»Ð¢Ë¢lú€½²Á‹>Ó¾ˆ–~w”Õ=æ:zæ~¶ïì.‡ô㢲ŒK4Óf˜ ÑœÚJvuù³øó¿’æµîRŽüÿgÚS‰«Ëq•·×Ö ÷‘SHò›riÛ±#—`zÁ­™:¯ínI0£2oݬ›´’šaì%»µŽGƒ<=‚к¡¾àEèÚ¯€]Œ§ ÓCxÙ'm~áº×ã­˜ÇUðŽÇüþE6Ž?Æ‘’=[h_žÞK:PgÌç)#MˆõaJ/,z½f±S–ÊÇÔNœ¹šlÑŠCEÕŸÔæ¤ŒÕ„6l X”O®I%nUÔÐP‰~/½§÷¹¦IˆV}ÿd£]HüÊ)=2MÚ*g›É¶ÈðÛnÙas¨0ïŽJW-÷¬¾×ˆï?Bâ»^¬”Ón¢‡ßŸ}/o…J˜Gðãùk/¯ô*ÅUñpJbŠ‚ø¾GET³§†t¨+0];Týh×½«B>Réמ2ÿ…ñ2/®‡µ¨þD­¶tí šVj¨€-x‰¸ÇM«ê½ž«xxð£Êà™>0¡E0 ´’°…¶¼Î¦'M5Y)Ïß)ToFF˜CýW¾3©2߬h®€Å UŒ]ó¤&%’*ê´®UMɺÑ)£ÿŒE9ño g{?ºÍ^¸U¡‹+.1ÖúæÞ¿ã`㚇ågÉ’V"<n)ûtø`¢5ÇôKld`¾ÄV1!SmcP[!G˜X±r{æ|M^Älvµ¾ÑEڙЦtûéñÙš"êâY¯`†Çeø:VŸ‚l Äó|Åh6=Õ[98ßè}+Xæõe{|Ö뚸ù–YØYŸà]NbxZÒ 'ILEL “NHÆÔò¿ð"ye-êÖV ¦ÙS­!ÖÄuC˜±NÕ^Œ¿@DyçõLD^û¨Ú£ôw}µûYÿps(¦¬7§Íd£@¦RÌ 2ˆiX“‘1MÕxñEIÿg¯jÜ V³Êqêgã=9'Y>p9ÁÕ¼®1+®Ò’½=ªí|D2ÃJÁ6»¹(Ã,#!8‹•4<æs7ð.žW;3žvhá“É`åÀ³ºô&Qò¬©~‹2ZœÛ,ÏŸ34¢íkm¾ =¹Ò_VEüª‚ÔU . ò>A>Hì‚  ±·ðìG,d49O\~BL„ÉUà“ 3´s\÷©£ ýÆ1þ|À­µ¤FSç}o o‹ ÕŒŒãYVzó¹ä³3?! f~Šƒ«uõÈp¸-YKLm _䣨4¤°N'`6y·p¶¢Oà q×g.±ká®B–(^›ÕÅúï` ìÈP’§'{д >ŒÍ°âš +È+#ë^x6Æw™Ñ¢æ0Tx  .`#®RŒûâAÈô¶@ËИx/1}Y;6ð˘é#†šÄ`DñrèÔ+ðæÚ͵F>Ø\ŒàÑ 1¬;pËy1äLd§\-sx5ù®LGNŒ$X)N,øðBû5bk\nñM1¨¤Ne¿k°úyCP 81%UŸ‡ã Ù^é1~Tw4ÀÙÚÞ²°“ë†ÿ¸¹ñCst¾’—‘Y¤î;ê/fh›[þ%8Ú.•ç¡âÝùp!}B_6rÇþ*)ä÷ƒ€axLÍŠëlS‡Ëí+ŒG÷WúŽ\7ÁK\ðÕX*r¿àŸÖWŠ&ïcRŠ£¥Uc_ËZ¥x-#•„8NmFÇ3Qj`צ¢ôšøÆÙ'C¤Có³¥cYå;Eܨ«§ÊËàãº.寊(¿ªÓ™Üvý’‹lÒöÕ@(£Àš2 —#˪@B³’hyŽÙïKqÍØ@0˜:ó¡ãëê:z`M…˜Th‘ìî‹Ã¾ûÇ.Ü›È3%Fʤ9£nx2àÊÀï‘Lrp3QZ¯2õ(æ9›F@&…Ía‰š@íÌMôjI;ÿK° \Œ›T{ÀÆ  àê ‚•딾;J™MLÏ Qס’ÈŸ¿_‹÷œŽJÛí^€›=ˆºŽOø‘ñzy¢ù4 3ÍùÖ~o„ɼ)Ë}ûÅ#¡»bló î£Tpp‡€)ø±5]Wª·»¨†ê«”‚¼"j `N;7o™%6’=&Ú·˜…°¾r·\w»œÙÄ“#Ô½ÝtR·ŸÝÍÇöV?$½>cˆ”]\€ûQ¡jt`âÎY=6_?úÉþ®¤p ë~9L™¾ÄùáÙÆD‡”,dòWÿkÄ,ǶØ»)ÑQ/›"!Ò‚? x÷-wÿðÊîÂ>ùŸë&ƒù3¯†¥í ÆçD–߆8M¡-PÝT%ÏÈÌ+sÅ™^@`'7ã~Úz.+8ky=Ó´ÈæÙ£dƒŸ|ÒÝzùûÃA­³« t@é~t7Ìj0yFïÑÌì; ‘w¾âœ“älOÇLKöóö·6+1^gÿ ڋè.×IaÊ),XîK#¨3^~²m&µð>5y ÆË\Þpsdäc–§‹_X oR@gj:NäQÂíiH%=l¬„0Z²é¤þ¨nÎ?ŒŒHº§\uÛêܽà*•Üä¨ûnôZ‹­ý NC¢`§(²•B…Ö,Iš! Íž¤nN^Ò#åÏyÁ{nSõƒ¸ÊÛqMý¥ü¶çÃÒ·[ F|ŒGñÍÇ/Øû§>ÒNÑq9ü¸úP ~yºškò ÄÛËí|Ù9[3÷cò¶-èäܧ_øÚþŒQ[ –écypuMC5æ”fÅ[kœá|óÅÑ÷ü«òSB¾Ÿ•D¢ž…ìŒý/Lxx5“ncZK™ãt]­;UëÕ’ˆSLß®wýä슩aÈ•4¿÷؉*À#²1ËžºHýÎb+†íªÎÿþýiËÏlöæ-æÈÿcþ›á“}ñÞs²<ë˜Ì€-³6íÏ÷cµLʦY„˜¶28Y ›âK‡éÝnÜWL„:…™*q¶ß’ïüéŹïô@q®ÆŒ9’/k‚°$ÇPã‘6èó²Ð|âû;§ä0`~‘·‰Ôö¾û¢ŒÛ«·ò"K¢=W{ÞQ5*¡í»«qñ›k•›>÷¦,vW™÷ÓÖ:ñcdÏË éÔöñ¤¥>¾CCL’¹/¨“8ô*¦o'd~dN@~{¡²ªýìî.y·‚Ç^§]&$9VÐOAO^GNÿ;\à‘Júû¿žLE¸ºoNj:_Á~C2lúT‚¸ ÜSŠsJ$À½ê²½ÿx­3ý?Z$㩜»ø þ”°UGeý§§ÐÆ¡KlýÁ»ôÝ)H3~Êp¬ëiNK­~Ã’©»d ª-Ÿ…ù&®wžLuÇÏÛ[8?š-g†ú»á¢V@<ǰxŒo ØõÐy’I”Äf­¬o2œÅ¢V‹¥ª¿AâšgÙ—UT‹•ýæÀ¬Ù1^[¡uoO¥,9'üî«_ ä& ‚Ns©H+ÉÉD€‹RW˜oµ˜a¼¾þIÀl#N?B•vQ$yÈD‚<É‹šñ~+œÜË(o7;;?˜cíÒ¥4aÙ—‡˜ü®õ"ñ¡…t¬:~ï¼3””XQÆoÁ¨&ëÌ€5û–‰Ç¸ÓbÒèI°N›qŽÏúÎðªÝýl•×2ö0½, ‹nvŠVp÷ýË&ô)WðPØ;º–NÜCªÓ\G¨_T²ko]¢ƒäö‰Ù$×E”<¹ãºFz¼‰øôvÓõ.æ• ­'gÕV ¢œÞìòcºÇäßH”žSqÂõvÓx-cdŽaŠôßžQ®‹—¥KÆ/+i—øÉ7Ó'š ¨ˆyn d8ûÞVùFú÷qNš0`>ÿ» ýÚrv0íÙx@Ë/«lÚÜáÇü÷°ˆ(30A:a±³•D8 ó›$?‡Sðë ¸Ež²jr‘»hu:S‹V,»qZ>pÞ —éfµ}âIÔÌœiaQuœ ŽÛÝŒ•+­X' þo }£ @ĪR2±Bžª0òÒKg,m(KÇÉýXç7eQ&s›J…ÌÕ™™^ɇ‘‘DHÉä@ܺîÚ]ãOz'Sr3ð=¿F—0Óu?„Ø\8áð&Óð¸Î±Ô”XÝÁsžÙ)“qÒ#cÃõù¡n9¬vt Å"„ËæKH.¾m8¡HKQ‘/Ýxïxö”ȦätMx„gÞfjõU}#„g«Í:S£Ðˆ;@A;PO:Ä“?@ªv½°ÂÈÅs_¸+üm´ƒ}ß]êÂíxS¤ %ñP¯KüÛÏËSPîJ±÷m›™vç>“bRtÛþÑ£A“T5PZIÊrÊá¦CÕ÷”€‰ØˆØsœ ½”Tf{"÷¸ºÁúÁWŽB€L˾ŽÑ"½3³¼­BÍ8$øá.Q67N\áaèµÚ&}Ï)$i¿Ôp'fÙ1ôl9€¤Ô¼@>µ 1Àˆ É…2Y:Î=ÆßݦTLQ»…AŒ7¸Õ#Ú„¨L“‰\ƒÇåMÄÕÏ[+Qäî÷–;ôPÕ‚ 6¦Ü>§ž?%S}[Ô‹˜Y®îHu‘\›÷_P…xwŸéâ©9Ð.`ÛL¢¼@Ù2‡ˆÝÂìA¥…Ùé*®i£í..Þw¶˜óóùfÿîÍ€õTiôrdÁµrGµtjƒ™`®ãUÜ,»Æ–ˆ¬Û-Pâ\+—¯_TI4Sôà wβ#ƒ§=Ù&éM[ ®©Tg$Ñf1ä\ ŒRõk¹ô'½IåÝAîòØ´û„Mö$‡ã±#ÉÂ!‚½û5³š¿—°íØõL”‡ÛR'·»†3…8¨N‹×J åD€\ó˜+ƒ«Hž±ß IœK×ÁI5s4mÝ7Áºo?;¨tùǧõ…~¸om%`íS©uÒOäéGn"òm|{¢V­ÞͲûx_è4%ÉÈ–Œç"Gå¤óÊÏ ^-ô>O8¡fæ1Pü~F%ZÒq=«ËYÊJor+Íæ|–4’xOQÑ|ÌÁûJy·xjŠ?{Š%< |A t Ð?«^cææÜ.–j ~Uö„ªÚ}”|øÎ±,+ZßÊ®ÔTÓ,Ñ®Ä5š½Wañ€‡ §Ðpç a—Çíûë¶øSÇ­À'<¯)øàYÖ=ŸêÕó‚@ahë•_¥xVí3õØ“ëE¹ÒÖÆï·À \3„p5²q,BÙ´DÏ…Y²ûŽÁábHÂËmª¤©d| 6."tîÈáhØoÐý&ˆØ­!³¹Pù¬Pœ3©”ŸôtSŠ«êìjù^±ƒ‚£º ŸnøQªèÇ Öw°Ô;E×§–‹”˜_5ÿšëÀ%¸ˆô‘½j’©3¶©ÇÒ&킈z&<S^Ÿ°ä…·»ä‹4ÉÖ®Fþ=¬âÀoy }¦µ—žgLuèМ}û€Üpç‡ä«©b‚è‹È‘Köí÷ªµÐªòHý§g'F ìçLu¨Šù¯û|©‘2ÀÀ!ËÝ”n‹C°E޼à¬Xx…ôÀÙŸQõˆàºûf÷,sžn¦cE~¸SÐe/;__¨k%¡õO¼@ÌéU‹ùM 6Л‰ð6çø¬‘Ðù¢×ºIÏWãóû·—Æ=|äe+¤ÛöU€X¬l¡)KÞÇôûè™[wÇ´Ä!µÅÿÂW?íï“ݵgD?úy®ÉC«PÁ‹ˆÎG »»Ôâðô¤OxËùkµ#®œN‹°ÅÒ3§¹PH®Oß aÙ á¹°ÛÐ6¶º­¢cØÙìà~áíØ:é‰V¦‰ÚQ‚Çyžiê$VŒ\ŒÈQÙ”EKXãË€F¨d‘MòP»2G-ÉÅ æÌ‹òQ>ýˆX¾}<µ¼>ä¶VH,s/Tf\¢ÓE]z(BçÝD·•>x’½+{gûI…˜.ÉרÖz)C°½ëÜ‚œ=ôýgj¥ç·:£û™(9Y C{ééc™y`sðÜ¡@Á¬Û÷c±›‹¸J gÄy@ÂÐ"ÒÇœâ'ÿiØ ­¯vHƒ‘V”xŒ$¥{Ìÿ;„í\.ðÊz/çEZÄÅhtkS~ÜŠ&íÉ艔¹Bº]ÕC¬¥ò‡¼ÄÛ¶ÜqäWW†ÄÉn0O¢@Ã\ÇTÕ†è^˜N¾ç‡ïTðFwÅ×óûZ+4ÆHÛ²aKúçtÁl#Üоöàœ³6iô}¢‚'ÐTÁ={W @;!’Ù®ÀÉèÊp¡—ìõ³ÁôŠdY§¿UÜWäñ0P’;Ä‘-SwIK‚³+6è¨{-ƒ;…‰V_žÄT¿ãä£ÃÀ šxþ•b⪠vçÌv6?£®Ít­ ÍÇ©Åüñ#ùµ¯¦Í›Š†ê“jÕ³oBá÷ÔZ1çˆ:6Ä]u˜ÄtÀõgRgÀU#«¥‡æÌNꆫôI%~fî>w–Su«·9˜hÑ @üÚÿnâ^Zؓކâ mýÂâ€|W ‹´}æ<Ätœ®/ô…wITíy½ÜT·À—ªŠ†+Eo» I*ØXÿÛ::/v[&ÏG0õ†æÕß}BãÔ‘ ÚuŒoŠë …=,2I4ø×øö7Ð+¢.Ô~<ÿ0Iͼ*‹0=î$kµö6#íSzÑz 'ÖȨ±0s7„¦m‘ÿÿŒwÐYÅô¹ƒ2R&Ï<‚LNÖ*ÈM܈³ú*g¦ ´ÁkÜ újMÝvÓs› ).©†ƒ$Ž Ð|Øtã€×Q%+Jcª¿ÍªîÌZ„P9»žOp7[9JÕ[mÅû®5IJ¡(8ot7ßbz"°²OûÝ$šç‰Ó¶9†Ðˆ·vÜ Yú¼‘¯¢=¤äKÌ“n?B§å`gÐéÔYÆyŽ Àí—‚ ÁÛbTè÷[¯@>â)•".\“èìo•¬®“A€Ÿ‘–±([ô×OÙ@4Kß„1h‘Ø;8ðû´%0EnÿR„u!í[jã$Pó·Ä=ò¡Ã.ílóâ’º ùs÷q($N¾ôz@çN0r”9 j›a<Í Koxݺÿ!Çf‰t¨ ¿o2œG•³,Vä<{€w€Ã:ääfóšT5”‡Ú²ã¡ØLd˜¡ºÅ’ÿu:€EB¾ý²óŒ)Q‹¸«bZ2ì/>Mã™-Q#¨ª[¬ZOœøÇî±®¶Ùjª£±õÕD—÷ö‘‚Ü/õ£1GLñëô0+4›IÃÕ‰1[Ó”3EC—:Ì Ä}¤ñ%ž3µjÉ'”ãéû†ÿ‘ëK•*¸§Õ‚‘’~aÓК_þªn90ÎÓň°±ûÃRâ!H(ŠZAÛ <ò’VÎLaRaÓi!·ê+|Õ×–¼AÝ3¼ R„›¶Uàè¶ñŒgj™q–õî®uo3¶:¡Ð Ÿ²™ó".¬ÇB]y0Ù9Þº9¾Nx*ÌtÔðu31TP¥™mAŒR—pšÏ/±¹x´ˆƒ~Áž‡ë©ê0d¥ÅÜ)dëìYSaCH({¡ Ç!d¸1¸óE^‰Xú<¯è/Žçh0§fѽ±?ÝÉÜs໇“€þ`Zï¤kCÈh ™¢0÷M*>êHÅ‘<Á øÃ.+Qzh¶oÐ7d "zn =\@àŠy©c_œØU‹~` Ž°º ©~zµþ_©:e†—I¥º¤Â‹df…ždÞy\%ûøên‘¸Z\Óè*ήKú3%Æ-¬ CÝŸŸÒ¹µìeÚøÒú ÿu‡èZ\V¹ãž'„ƒ. 3Ŭ.¤À¨X­ËºÄò-Zîîð  Wâ!IÓ5ìO §ð9®¬„31ã'–æçˆ8aju”æ a^:#¶âØTÙˆÞ4NEì$çÓ—¹6ÆW±êbŸXØ~InÙ]ñ‘r]ù:ìAË×ÀÅ/ÄbTN4§T‹©×…¨\WñÅ*Ó)lëúŸF{ç´v&äZýŠ©7©e¸‡F(µBÔ™¶9œÆRC¹¨ê€›ú¨Óu/4 w´pÀW‚:ìS‚.k\ϼ •œjÞËA]DM–VÚÿøþ9 Àw‘ÝþX*êt_Oœ‡<Îåd5ò 54}ùFÀ¤4ĸ. 4Žw­{ͤ'ËïÒ̋ʴX­(*ÜŸ)ÿ¢Í|„G¿Õû.¹jWù ´qLc­Tœ·˜AaAE!5ø—˜5 -í'ÿ;¸QO´ïs¼P šdcñ*Öº›(Dfœƒöë»Ü¥õ´JâÒW½®…åb¨\wŒ÷n¥ qÝcÍúÂn˜+8$»£QÓä{ó1§fÞ±Vá·ókšÚØÀ.ÐY%¼&ÑœAá”Nñ«O¨¹šRÜ¡côh ÿ@õ—;!×62XÕtü²ÖBhÚ³,M‘r!Œ#4øüÈçéÎæ÷2غÔTîüUð ¹I›ùš$…Ùåú×x™:Ý.–{Ѩ¢ì_Ü‹M €Yoí‰>Ó©;\‘"ŠÞÔ9À{ wÏSùa§CÓfbWí¨ŒÊž2«zéNᘥŽp–;Åb;WùÁÉÓ߯y ŽõÀí$ld‰öNÛ×!û•:ÓY°Ò§ž5_æ\Zó¶"g– }^¥O“Ì™öDa¦»Ñgm$]V®æö-÷ýÁœlARKääÿb0±,Uˆ0Æ<òO³mçÆÕGlÉb6êH/¿BÉMkkDðÕÑ5ßÚ Òa­xŸf€±?ᘧh}Â\V{˜ùíw-Ö-u©‚g^¦-x‰«HÊ%) Ê­BÈ2~Ÿ­c¿Jõ9@< Š)eñós—~ œN[ñÙ䌥™.mÒ“Ìb¸Ü¹QM°‹,LüÄ0SU0à–‰zoáÝ MŸõ[q˜4÷Ûº…¥: ðT)úÖR÷°üŒjð{c=¢Ø§¾`{øi>tÊ6ÌŸzýž¿ú›7„)àÔϾôü§]}›ŽÝžqÀ)SÁ´/%ð\ˆÐóq¸ïUŒ›Á¢˜?n¬€ ™}g«B3¼L.“¹'t‡Aszco%'au?¡ÝxI}5¥úÁ‰bµ[˜ÐdÑ„öòáâ’MÙšÉ|éµðÈp ½‹ºB3SäÍÍm'x^…%Àö^5!匤 »\Îk†À¥ gç¿´}ŸE5Â#Oõ˜O+Xð¼T“Ð1¶<øšyöÀ»{—Â›Ô ?õaŠ> Ëtà@Dèô#® 6ö`+[Û¥$™Qß@©ÜâU%œÎ¥ÀE 8r‚1ÕèФ¦”Ñú­IC]îéÕ•¢‹|È LœÑ*À[;ú0*™ºWí 2Šò?…¨ ˜•3Xö¨çsëõŽåü‰ìdwÊÃY2ÀؘBã…5|µlÖÄ}ÈnvG“šn µáë©FK½å¤Év©ePÞUÝe6k¶÷s_\ÏQ.^[‰+©f ’øªYÿãò°\Ðý µ¬µ±HM£\“¬$w)9ÀÅ)Y''™§|‹¶¿<“ xÆ\Ž 8_ý˜KÖÕŒ»Û£!ÿæq.XÜÊ6µ3k¤S(CŒ:C²ÄÔäSˆvõ¼Äà=É}–wˆ¶†Î•vÌMïݶh9~ÃÖ$HFé‘nouû µc¤ªÀ—¹÷¬W.… ~…GO¿W»Œi™N0Ø(•è¶C×É"t‡÷þÇWÎ3k"£Ùq›ôa8 ÄÁV]œ´+ÿxº{Ž¿±Z^ÍÒ_f»m/“ó@ò±0–f†!ðsqû“ Žò¢šù&£¡ ëvÔÛcš(›$pu€ÚšQA)d°h×á-§uìö,ÑÐΕE¤ Ë$‹ÕbˆgÔ€˜3Ưn£Ô[ Pœ³ø·Â‰Æ›Y»"ˆÛ‘㕳±—ªPf¿´(e¨@[Ô̽J@B£²©Yï¸V2>bµöìÂÿÇ µâL|W¦¡¡)êxÅý c7߀0 c6'È$Pz¾…ŸÙp…ÔtïlA¥[y¦žnÚU÷"…iGÉ€ºÐÆùÕÓÑUÆLB”TçÊ;žUà™§&¢Z‰&î`ÑœÁrà§éáÚ §g%ú m24˜"‰Òä)BáîÔ„X‚VèOÈèÕ¡Œ×;ÙiùØ€m‹Mªˆ§ÀÃWÜ4䰘ˀøTÌùλKŽ€å—\# ÕÅß/+÷”ê™ð‚äÞä¤!·ŒÎï4ÏѬFoï‚Äñ5ßq½ÙÝTh(ˆçªÔªÖëÃÔ®ƒÃŠ<‰âUQæ›Eþ©…ž0›òn&»2ä]0MéÉ3/·MÔ ðLX,4ôkô.ôÞÎ8ž© o‰61l™Úà®9ë`=C¼¯6ð•}­&wEýž„ß·V>=äm…RW4 î¹ÊSúÔϨüµ<(¬ üB×x4ÔçÖ|çK²Õø©à‚E}ݳù#nW8c4)õµŽ&?Å.3ežÏœØÇIÍœâoœ±wýBÔÏþY¡!×Aq¸ÛáÕâp©}QâhñÒÌ[ƒëðû «¨ ¤•™ñÛ Àšƒ(¥Pó€q¦¿dŒ[^Dª ú^UI{7uÄ,Ñ- ÃêIÕ0X«Äôkv7ÚS.ƒX %[ð1ÕQ_A)ÀuyÝ—ú÷—¼­¹›õCèQ‘¦Øôz`þ®ì’ì(»†å)8 QqD”P‰1ë1I°å´EÁÑ™ÄöÔ› Sß'ZÿÚöUß®ØÂ> ]Ù¶ åôïž6¯¹K<"=Î˸¯"ñ’_–9¯ìD’@1ó†áŒPjÖ¿a4]'"Ø9t†©{¤»å(õŒG‰ÒÐcˆ¢¾…Š3ù"â$º,ÆwÓŸÓ±/#'ûî¯vísü|É@äBÖCðУ¥ Šºˆ²“ƒHžÝn?~VäË#K•”±tf·^”â6WÓé+>+øñœ]«v†ÚØW7 XNÁTT„_V”œõ7 XkëúÛ˜Ã<_·žž(º!ã“PU?þºÖBšÜ¶!ùø4.‹0Ž?ø5o¹mçª@IÞ%Y4-~fü½‡ºtÌ‹+™•£Ð[b€˜,רÙõ:WÃbál§W¨ÀSšqÍ¢Ÿ ÞÓ ¶P€ºðw†{ã¡)'³Æ¦™)ØŽ÷ˆ~Œ¯~K‹DÄÖ­¹ãóy.3;ky:[{Y p–D猗Á'òÚ˜ŒÅ g2håér(ܪ†`²°ˆói~}^&?Xût»Žd½,ÿ IP:޳o¿—)ê_c@ؘ†°ôÛ—ÓhæJ÷«“ј‹“5œÆEL³È€¯ŒIÞ¾ÊædßZ“‹/‹gÏ‹z¢^¸[cï™=„kv]æò®_‹¤µ[ãN]zÝ å–jåøZ*²×ÆyͯÈþ `VšMî9'Rù{“§ÌWNoÖ7šj‹Ïé¼´í¡/QK›y÷C˜•L`#RU± ‰>zÙ~¤=< 3Y#ßu;\{IK³Ù–SßÄ;sÑËšÖ:‰½&ä~5=‚tã=¥3åEvŽ>-$Gíc¿„XðŒPøÁÜutl¼v\X±Ob#ðÜ7Ô†Š´ieÁIl‰iÄ}‰d‡hÿMpWgáÓ­í’£Ó·–EUœ” w9ò¤ Ôy±»5‚^Ãø-6ïšÑ±*¶hЉTy‚UöÕ\„¼>(ï–51X`³d›Eyfê¸;uG0¢«o¨PËųïá¯iGÏ‚Ü qS£˜4 Kjßµ6”[%͵'E¿Õí)‚$V#YUœ¦€PƤ/ø–²‰µºíí&0H°…Ï×ñêŽË¥…#0ÈF DŽØ#ÃiÒôU‰¬%zþÚQ2SæÔ –H«ƒÆEиù?¬hÓNg«…Ë2Ìñ÷'æjTuEn‘u…"ËåÚN•6‰êTÈÃ{šéLCfŒZݹ¤ôÁpÀÕ–DE‰]Áªÿ½Â/‰cGGÛ|ÿ !R;Ènn„ `ÉM°• ó;ßå'€­jÎST\ðüf~ˆF\(Ç™ýD7–wõýÉ#_Ä-HU Ï4`>A¨}Û¡!4ÙöÖW€k­*S&~¾ä½8̺$y5iqa —ñ|]dU®Ô§—ª¨Ùrù 溌%Àó.XÔÞ¡¶7]ê¯Ê·o„’ÃRºµEHÓᢼ9·Ð@Óâ^å|×\rmÏ•è%è¨À‚9ÅöYzÒºsHÝ]61œÛ¸äâ¿æäÍD™eQ9êíYª€m+'-ŒœÝ’‚Ílèq¡ˆ¤ì~¼ÔŽTqd§´ÊkÆ»ZãlbÉç‹8ˆÀ× /JÃÑ™<üü‡¯Ën3VÔ ÞZÁ,Nã§•¤¸ªN¢_êZ3G×s‡Ú"1 sâ‘?P}R I=ÝïÂJóÙÏíõÊëÇÕíè}&;Ò¿ …ÖêË‘†“`¡›VF,½Èý£Çžò‚-~æ+í}ïªLQjñ‚nU€J&ŠZ…Fˆ”RÈ2­±æó=×ËuÓ‰èÒÙ`¦0u_/ôV8äb÷ç«Ø§4KÉíéN­Ëå¢ä©J–«k¹h `sb‚ªÆUÕp\/îX- ¿Ú‘”c`9ˆXODq3:µÕy÷8¶ÁÃ: ˜çHH;Ñp7½—´ï›—ÂqHZ>ó«}¾FLÿøË‹ê‰ÎºJc™I\Vr¶ÕŒq óuÕ ãbN5ñİ<àQ|Ǥk»ÏÓ–cð¿¨'™y2cñ |#_WdtÒ Òþ.`~pr²î’£@´ÞSØ’ì—²W‚EC]}ý*ì«•¾{O†>. ÔÔëZ>À3L¸Va ¦gO¦d!Ì'(/™‰$>º \>#p明ñ1mP€mºêUû3ÆMòææH󧮫4þl¤{‰aR‹T”2—æa¶RK\Äéí>²j!ˆ•LÈÆÞ Q„úù‘_žÇ™\& ]?xòèþŠ Ä÷”íDnúkO®ÓD îë?ÜOú^¹ž$Au¸ÇóIÛ—ÔŸ:‰Ú)‹Zܤ/ î]|¨GáÔ/=€ÞÖB5+ÝbÍV™¦Ä÷ÅÙÚæ«,žq†N1€TMf$ åÑȧí:v#)‡)Ò*(/<ð_Çëˆýˆ%½D˜Œg“pOˆTÿf Ϧæ¼c  Ór¿TŒ„lF¢T"õ?&Ά¼Ê…¥Õ-çÆk):X’läqÞjÿ’†¸"©„p=ëZ©Øvè‘ç2°^tiÒÿÒ…öÃðö±9 XC g¯{Y¨‚ à÷u!*„Ïúó”øQ—M–¨@ª—©ÕŽéòç€wÄc¤ÆjÝœýÎLòä*¦)±‰Ù™ÓÖîu¦ Ú>­Ë½=¤ÄÂ¥¥Î½–Íî;+@6ä{ „òƒîSŒTnǹ§¨|ÞT@GèÎ\\3nä¯2Ü1ACL*ÜÑ5“6¸§MãE™·0~••ó ‚$ÇçX‰ÀÜ=³[¿²ßXÊ‹¿©tíšýõ£XaÃlµ8á“­Š”#ÀzH©!AÕzª§ˆ»á¿oâ6tÑ#ý12‹þ¶ùã×ã Ö3GW 4 cŒà$ùOïˆ)wÎ8iùÞæÔi$AªÿÑßýÎÈ!¾`Òf묛.à58²åi&FÇĪL/Í‘êâݧ=éZÛ"ñ(¿·9©»è5OX݇CÌÕ;ýLíøö8aM¶ñWýs .õD@¥6ˆ@g¦ñ2Y:¹Æ‰õQ'«úÄÖ€ì3ÃÃ]éQÍg¼¥Kx¼Üµ©%<e=ùJ׃ε*bÝÁ ýþé…U«äXŸ1ãIâö¿þÌdUÑ+êåßJ@ƒGlH麊:iSãìÎt7[3ÙùSPÑ­³¯»z5sZqíÍAŒRñ÷ÁÉ&•þ¥J»¥ñÒ´EÒi£Á(p`}ñKÛ¤’ý&„r³Íi¿!%Iû#àªõW!ÞáÖÙJóUÂþ²gJÇê»ØÜ—àPÎM*lãÙ®¸‘À$Н?pÞ…76gGF•¤«»ýz–‚ü‘x×@Í%Èhïë€I áwFw"ï2Ð7v†ù&߉ó^ŸF…GëôÁ7©ðR¸“C¾åxµ׼Z'E tfžæ>ïí.¨öLijU¤À5á¥æ_”{ðñËgÜÄ´A#uz«ØœþcÐ "ñºÏ– Äô¾²/{5ų=WljÐõMÖJéˆî.1#ÏtÖðs‹¦h¾ÙÃÁ[M½Û a¹÷ò ‰gÜ Ÿåãð2 –¨î(¾X^ƒdÝJy{ܸ[ø}]n&’£â£·AVaDs/®f=Ä”3¸¡šª ÓïèÆ2(ÉË3-ì¡ûgo’O›”mö pûí7` û ¿ˆÕ‹ŽêßP½iY¼ÔÃû´V®"Híp¼iŸ­ðoE“¹¿ò¬SŽ~¿=±åÏ$ò7ak¹XV„ïÛ8Š MtíÉOpW“f×(ÎÌã³Ik±¡½(TõN(!€0¥ÛnûæhŸËáϯöùè3yt¸×Q›Á%‚ãEÅêü«n•¹ÑŸ inŸbÑæÙº }j`*Rùg9%‘ p£†]´: #]÷Ãk?°]›ÏùöTv+‚xËÌÇUòãs¯à'ˆí¤Ù6¤hå’ËÞ–Æ0 ÂxÇlŒ$ÃîO]:ëùZFá(Çÿ]¤ÚØDðBz§´ßºi1°@¼‹¨ž_€‹$fžÑç>Q¼Ô(ïõŒ0°{5&©±·ÈlÉ;u%õGÅ£¯Ü¹ Ù‘iº¶xüÃéè·Xëm:(Ëjñ_ű«˜›Ëey y¼Nå*¡âu 0Ôe­ŽsZXÞ#‹¥ºSkÚŸìjù~¢³áKšàÅ‚…7þêµ~ Žû¤9“Å>\;û•J ±»å|¤°nßÑ™%øÁìØ™+V¢)ß¡f89»5×C­ºÂÓEzéýÄë©j‘h.KpGxäˆVšŽw PKì4vÿAêðÌÜòd:±³þ¢`c¶X° 8¾UiRán ¶ (‰ÿÈŽ²ñä³÷ùZ¢ªšá׿-Ï/cdôOÒHöêC_½åºW œ|œ7ÃÛ}K‹ˆìÍ<”¦zdBŒÅ"à‡Ù £ÕkUÙ¼æko™Š~àÇ{)µä/¨a#UÆÓ™øI~àa$MO ÉÃq©çGã%ߺ|Uòç·<íN¢îòØL”¯Õï':ŒyâΙÂ=§ IñP]àS>;À#†À˜™ÏÒŸòˆUG^í\Xï™HÐyÝ–g€«tÉ4HéLz‰Óm;TAìCäfÏ*”çm‹Ð8]QAý‡4KKŒlŸgüÃF;}ãHkÞÿ’‡M, ñøL‰îúÀp¾$æ¡ï|cÃAT³ïÈNéÊYS²>\ÿ<(n/çìtákÜn‘±FñZå”?¿”îÚ>FÛ«U {ô¥ð\ï.øÝQäÆ(iñbá¶M†}eÊD( üVƒû)/¢eÃ/§e4“p¶­=ø ÕÏ/„Çò,QnyÊíðÜ!*‰‘0—åó%¹mDR½É»t³û¾Fn%ìú4+ï7Ö×0;´˜ì'%ÿ§=f¡»i„r/ô Vžøg´T΋ôÑKþn=FÈ’ùgXp,6âÔ§t†[pKµÍ%¡Hül<ö^ç¯ß«ÆÄùnÙ6ôa8VITc%‹ÓYÒv*ø[e,»7õ‡¨Hèøo{*@0Zä€ÀTVL87>û°åP&í;kfòW™gµ_î øûcYCüFj¿rJrè‹NIçO'Ê˓Ľ²U³M–}~,õ:÷Tù~>ÿ±ÑhþC½t‚½°SygmÈó“=[ü£UUŒ¬8&“ºíÉï’ÃÞ‰]]j³ü=4¼²[âÆ*¡>3Ñ¡SLa^N5rL‡Ù†àKR-K¬œtÖÔzŠ] ›Š/N]K%D¯,)WäÝ7)âcŽ>¥W2[i¿Qfž–ÃT@‹%¤CË0ãå³ê¹=KÍϱ«vÅ6yä6Ëm÷¢,–Ÿ„“Ã+»½æ©n«BÏÞã)‘bÜn”¨(£7 ¹n€ ’ó¸ˆeØÿQ"Ú#M‘üþvoÓQýœÖ ­ç‰å~Q‚ ¬0 1­lḬ́µ©\ý—â•?èDŸ2'mmöð/²žìÃÏp(#¹¥øƒ´\Ûœ ðˆí ¨Ã‚ÊÓ‰QˉǜùdAãú†u´5•tDdPÁ*â]!¹!Þ<í¢nðEËU§U1ì‹\ Íå¸iÖ6Ö[Cz4GY<*Á«¾6dÁÂ4[äo‘)³Ø³ù"6uÐ_Nt«ŽmãMs|~é¼/¦øº¬ÔÔv ÅÚäÂ3ó…[»Á™ÃÍ-;h}%!×pf¡ <–|_#ö‚¨ëAeØ(ÂÐR­Ñ¿è3rNéAw1£ð×üêá#c¥ù]B’9;àk¶´œ½eMâ›ÊîÈ ì,©7ïÉkèJÉË‚ø¢ŒÒ“`4.lážú~Φ… ñ‹!&=}«i•‚‹Í0“ÐÒoÈQ†ÐÅëýq¡ÛÂßþ~L;]ž,ŒÕìrÔåEOâ`Q½ÌPñ™S ]DJ(!'ªb«dOuúvÕWÁ#"××D~e¶9RŸ†æ œ’aqØ8³Á¶t°OÕ4wëuïйÐÏÙ)3?G;Vó }Ÿ®–ý›ˆ› BóÈŒÉÌ,ÿZ§<¤HÌ\à)âkðKá'ECÃZ-­Z….k~ %&7NŒèŸ+4›|Ôþ&—÷Nƒ6CÎ>¿C¨Ÿ…K¬üæWÏnÜ0ø¥f@•<š€KÚÙë)‹jcÃ[¨mmnàQ{­ä íT'9EÜú½…~-ªöñçݽs¸ÇIj@ßš‰méßh™N%æ„F¹‰w;¥íå{”sàÎÈ$p^8J”× ™%-›‚ÿ3×ñ=x½ÛÂ#*cl[u°_;#z¶Û5ZÓÄcQ^ŒôƒXÍ3ˆØ× ‘y,ÄȎDѵ8K Èêí"ÿÉ¢xbݤ5¦ë"I|ê]]Í 1%}Iÿ,þ~F ÏeWtö Úþ ‰©©Ž\–‚+«¤ÃZªˆ­Ýhï?°fܶJ]}úå{[Ëy¶®{x#‹AväÏ!ܙϠkü¢CÊ;YË…êH¿µ|Þ9ć¯ÚŒpÞš^ ‡Tó^¿!ÞPC˜«rOÏ}ÿþ÷~ÀL7q¿9 Ú_€QãX>ð㪪塱ð 1û^r¯–I|nNº0;„PÚ”ÞÁì·IÚeŠ!z”!®&a‘R ¦Å™`.MÄ\OÛÙb\é;¿±»¦ „‚º©ZdN,Q߯´Z"•¾É¡‹·1.ÊÎÊVj©£a"N|¤ƒÈ¶èØÑx¶d»î¯X@«»Ò8Z¬ÄûpÄGNn3Ýz G@÷!¯ˆn!èñBNdíåi6åaì« Ã †-½>†U܈âLêú‹ÿQ˜»,ð\¡Ó¨&}ƒ«m >H[Eìš--!£¤·5”ZB’]G_çͦ••s$ÛâYÚq·ñ€Ìcl¾žJcðþ³ˆcž’„üa…ï}ÇKœ ðiõ¸óÍÀ ~s†m¢a2 ccoõüÊyI#4y0ú`J š*AÓµÆ%£à½dÛ™mtd,UfÄxQ’=]ãóÀê ¼oãÓB×ïÜì~ãëþ…΋'Ôeñ=*²#‡s€b§"¿Q¸kC5šK ¥™Ù¸ ;ÚªŸüCzpÔDÅÏsVµKðØKxš³‚SæÐ{A`£U.iºB ämiSO”£·Œ'¿fwcXJw„?“g³_@N|Ó‚Ø7åÒîÇ÷Qf,×ÍÄJ…Ù°·ªñšMJ²Úµ‘ºg‘Ýq8îÂÎ,”xæÞä·:šˆašœ„©SÄ<æ'<¶¼#¨÷Àî»r>Í]d¬‚4›óKîÀ{Ðh®•§ó¯.ûÀʵ C¿]†!æ˜÷C|¸r'u pqe^=¿¨–uó«t눇èÒ>³r£ ZœÉj²OËáÂŠËøâòr•?<`Jέ -R½ÒîТç‘Z¿;_4?ËÁ;€Åó[»D¤ò‰v›·IÓê¬F^5;Nˆ@šbd5ΑIþ,—ÁeB³€‚HPbýúõ!ƒ½Á'·}³ßð™ÊËGj¹ÿ ²{¡ ‘ôÓ|ø»sJRázB¾‚2·wu jÎU¯zFaqì_l·­ÓZ;iÍÅz±ÃÅ=Àû( ¶86M¯Q»ò¬ýðt DŒ©©p,÷®z2 •MÝç©=á3üãçå_ÿ›ß÷¹vÓé˜=>¾¬ï>mô´ˆÜï:°ÕÈ ërÁŒ†Ã  ûx‘™×™üBàh ŠÃmNx-]SyJ‰PñÙ_WŽs-1Š8Æëê-U†à"îØ?œ%ž‚^øk¤_÷!É»e+È: ØNBÔrb“*@`Ï@™­ðÉ÷…Â[Ãðõõ$…8¸~z?R†t:CšÌ›‡2„c9¸Ì‚·õůõ–w“Ÿa¢l¥£ñ#„/†hDP Ù–Ü:࡬(ˆN•Å0ÐK‚5åS”»ô`WbŸÒDõœKº±¤VUÝw>Ñ“¼ÚyféÞpÍŒßôÓc€Ôêcà¬YH tÑóý^㬽¹ûßèç„vÎNĪ9Æ3ƒüëe®¸±«U5{Ž;¶utí-#½#Š|‘§8ÚíKÌüéy#£f âÍ$hÝ ÕÎÒ©x–œÜûšé!`¯ëL'óMDmâ‰<”&µŠ1ÍšŒ]÷ÚÏ#hS’Í ôGv²‰µßL'šs§»Ìü{¿ïŒQ4«Îàïd(Ö§rd-Bõ–ˆé‚9˜Ñõ¼>™ |üb@ûE•ˆ/`='NIi ¢.Ä$‡Ã¸ÀÈKÞ¥Ê0àRp ØíTsöF_Þ”Ÿ#x.cÉ]Ðê3ÿ2ák\Èœ©ÅÉ#Òa¢Km>?G?\I´Â,†*Õ?ÄrZ¡Û UÕÓƒ§×‰õ2Ö Fÿó@rÇûN2EzA­–Øýä¶œ¾´’ó6eyC¥UªÄúê ŒUªjÐ7µŒägþ|½Ðž­$Ûžïõ$CУöh HpRé *c|.—XjÅÊ·Üâz¢VîÒíÛˇWDÉ0J—Õ;µª)ª‹©@á 5C( _üÈžûÖœŠ{Ù‰5Šˆá©å–m,ƒÉ¬% ,­ÑÊSŒ>¡‰ö0rbP`ðÁV;¿ä{§@WÑ´›Â¦1iO]o’Èš†› Îw§V—DVòÒñùÊ\­Y>þ ß^tXü8³ÍÉL§»þgˆÏì}<ìNÖDIÎxY´L~]=Bb‘døë®7‹I²JG.ëÊ‹ù]ÕúŒx˜¸4OQ­R9 máälŠ~›ŽÝâÉׂ;-ŽÖ€¾›ëdcš(æ&$D›ÃËâ¤6D|©·™‹ skS\½Ä;ž*÷ÔÐÔjo!ÜPtMm¯fXD+4öŠ`é8/6YbƲقsÙc÷ÝÃy´!Ƨ “c¦fú OTö”Y’]…ê¿RkB×þnßpµ)åïÌÞËþkDù&ÙpÝŒw"ò}šäè×TÞt´›yÚ„Væ”(Vz¢/€=÷5[Ôy@ Lp˜ÇØÍ³'éÀ­1ëÕOþ7]&¼ŒA£òúåUrnÂ׺ õñ‘úËÙH©ŽØ¸Ò0A™Šoˆ+È`PÚ$^r3I)ÔÕ|®ba‹„*?¦Ãpþc‰ Êj/š˜i£'ë$êwtÀˆÊuŀХÞeÿÑOÞªR)ÄB]0®u‡ tpÊeÍ#¤Ž20@EE c»WbIÿ)#û÷úlÝÓ8½©SŠ;@´?¾g­çCq¤5•o² /C޲VT‰Í‘c´SÛ[bhX2:Pž†ˆFX±tà—HÝÒ¹Ú§&WÉüõ RQ êr¯¿üâ„LòÑg[PWÖø9jÅ\ifU–KÆÉ­–ÅX|!è__•¿´Á-:UrbÁ`Ú"x5ß"œ\n`{Ñì]›^Ù q¦‡ÿï³´X3¶å£c‘ñÈüŒ¹W–«þš òžZ4«.Y½fúúÉ„U›K‚†AÑVHÇ÷Bw¾ÔOˆ ¢?쓵ù–ÃZ€˜C í­4a8A^"ÂN’¯:_X …«{8ïÊä3A<_ &=S´‘‡áÙ@˜hAž¯›± žø€ˆXZ´ç¾ [þ§%FÅAoéCÌ×ÉÆqçÓvÖ52x(ÍB\Š d–\”ÄIk˜…™&8æÎ¨{ж¤¾vyDªe*‹‹½µ~ÿ_¾›Í©6—åÆê¸ÒѺŽºòê  ë#,¨µ D±˜×K¶ð­]rðw[Èfœ“PLõ]0É`Íø †½Ž$0EºðãÎsóú*$mE\î&–¥;–eß¿s>åFLå¶áAâÕŸaá¼÷ÛTmêöî·ª‹E O׈Zsö­›}ƒ†V<ºTɼµD¦¢xú÷;h˜T,Ž~ߦì FÞµDÆ6åvÂ[AA„>Qâ§kœ½ñM ðÐý¬ßTDP­oä³væñ΃|HJM_Gd1Õ5“°Šôá+9*ÏH‹L¿ñÚ^Tïìg H°e¾¥þ8›÷g¨²ï7dè÷=ãéiN¢ŽCoj3Å€Þ’mñ [áÂæiyë\ÿ|™¹NÆžÑÓ«ú¤1¶=Î+’Fg›¨%˜4…`„’ 1Ób5Z[Ò«†Í4{ñB¦[íÝq—¤Ô—z†‰‡¥ûƒN¡šH!î+ƨÜÍBp¥u °Ä3üæÖ¥¼#P²ž˜ ýV—³m—‚œõ_>6-Šh†øIcB’;²5.Ë’èV>ÌyyÍH[;ùží Æ»®°s¿Iû½©¢¶A+èˆÊ™ÉxjD†´ L¿#ºRл›AÖ­MÂ!÷©¯ Ø䘭ê€4°‡ÿ.¡½õËu‹/(Eã›<Ûu|+,8Czï²ûw29mšˆÈä-G)$C/« É6 ½ÂŸ—¾=`‰¢hƒܨ El¤%dD~'$;mì¥D†]–>¼=k››ÎhEoí¬RnŠ;Z6jÊK5ýPAµçÚFN‰é Êƶ¹w¼ÓE€8¿>†ñFò1Ûáùý³xÓpP¨zùJk£#g¨·/Ñ"?sQZŠXN—’ɯ²œ6:g¬»ò)OöÊ" p‰z;Ç”xÞ@âŠ/¦x;Oe<ܰ³u÷âT]²uêX‚n5ùÿ ʽ–£îé?PØGÈW!ôÈìîNSÄz¨ Ä´›È< °\¸£Õ–Øéü·G¤ÌðC@µ´VWB#£/$_nhV¿‘eáa¾t,‰åEƒÌßSˆ =yRSôzåþBÅDOª¡ŒÀ…˜½ÇsÖÄñiG¦ÎÀú ÌŠÑÈy´e ÖyH¢0¨Q¦Üú©]îÓyIH‡Ô}ÿ½^ôŸz¼³ûeŠ £‹c+±|ƒ€†šûqê8Ï3!.r”^Òj³*ˆtÔ€¬Ö2½ð³-¢Y†þHÂË^ôMÃ…@Ñà[à4KGoQÀjÑjq6¬ãŒf×&7Hÿ!“–ˆ )“!¼WrÑäS&¿¹xÞɘ,Åøv‚ƒL5»ÓT(€;„")L_*ßÐê³jåVøí,³AØ>l¯ñæ«èjˆƒ×‘?+›ÔÐx1:—–?<´¸Eú6,…VyˆÞ|ƒjª?øâKñ‘®ÐÀPÒ$b€˜Ùzƒ$Çá_Z4Ñ“y$–±ÍJcŒŽcLÿ…¬]XM¶Ö[L“Mô͇g€˜ì¶ [çåðgö¬|¼ÒàqéÛλ=âÌ„E w;²G@å! 4xHãɽ´—hd‘2h‹aäᡤ†sf’Z¯z‘v9ÿ5Êq=xvnßÕù 2ÞÞa(©gåN“¯„ž çx¨¦ìËõÄC¯ö7~GIׯW¾ÚI|VÛy# Nnö¯Jþ$¼‡a‰`*AÄßõ—Ïé!>eJXSÎB "‰«I­©jb—ßܳ`à‰í‡fÍ“–ÿ¶küÝó/B"ÆŠmf›2­õo«Æ‘ÁXÑûmö ü"ÉMÕ]#tFdÇx¥ÙçY¸·HEû;x/µÜ2Åë,É–õÀÈýËC ÝÜ'Dß8Ĭ±þø¤£u|Sßœ¸Úˆ˜”Ãì°Ùg ²% Çî’‡sQnä0*p»×®PSå©éJ~ù6z5ÊÚŸ£R/}>9ßœXI+`ìÕ¿¿xuo•×ù7Žúf‰Xñ‘UX¸fð ȨRFkw ²”VÙ0Aa›Ǩå˜MTCÃeñÔþ`p–:;ëm¸†8ÕähËkžJ[Íõp¦¯Žêü¿ÝfÉFº²ô…ÉŽsi 7ÃÏ„”}ÃÆ¿(2ÕRË8Q“V/D¢kìú›€w•¾w×P MÜ ïzÆ5ÑÉ/ÀÉ+'ù†É£ºúiAaÑ÷QËÈ ÄÌ5øAöÀfš ¨éŽV¯ãÌÊRì½ÃŽ‡È¼ËÄùÖ?a0ëB×ÞxÌ<Õ׌LsÝHƇbÅ0{2Å,–‚“Y²\á•öÞ&ŠŠ~ÍX Ÿ2Üê—¨ÉxKeîR ºÆ?,ú‚¬±¨é¢ù4v°þ•—>É0Ò{K,&‰ &*¡iæQ0aÄÄ9ÛZTèö÷y±c ÁÐæ¶çÛ¡‰S%ºßw«º­¨óɶ©¸OO¿hgÕØK¨Ï‹§y$w0g£ë$ƒ‰þ“~[©`6xP“„6[ÌfÁ7V4“:ùaqZÛùG3w4æU'ÍüQ¯0½kG:ÀF7éÂIú,Ãj翦!@S$O®àØpiÌF³ÁŠ6?|!¬ÞÔÿÿ“mí·wS-dd£ K°ä}ÚV«›¨ïïćz³¬Wîþ;AÖ}HH“˜:®{8ÅÝ B€‹7€×.Fºóùg7L ×ô…eg¼"Ùe€B•à,…ýE†¼AJ™í5RúܶÉz¼nÑDÄ;Qܾ@ºYÖ|+¢! eb×bÈ£ä,Ì­ò6x!h=R„8¹W:¾½GÜ®kÃP¦Æ0ÑšP'&ØYÚÏ’5v^ ›Y %z€wGDz°ì`⇞„dÙŒNਟ°šâlLSfÕªÅZ`] R™¤†¡ÆGZ¢Iu?O¢´WË:‡y÷žÈÞ¢ƒßÀ  ŒçáÈò^Xé‹~gwÏKADkîGº ™UV£y™Ü æ1†¹F¿‰ÝBe‚]XˆS¥¬€ý¥¯HUì^^ œ?‚™Ýš|sñÈëé0…Ø3]tk'KÎsÖå«ÍÛ§V±Ù™Ãàz¦–—°F韾~h/äaÓ .p¸ k¢äG"d5bW¯ôW90Ê(ô%Y&o¯*šº§¾ úÄBŸ™Šîé$ÒT1‰«ið>` ìápžEügˆÇ¯ØºÝæ×!cÙde 3–™“=¥«ß©s²¡äX¸*fY*y ^š) .…lŽ oA>Xd9ÿ³ÍÏý—ª´8Åu1ë5¤¢@R\¹4ývD¬c—Deˉ¶ʼ*Gêï¹ðIÚ–ï•bôªQñCåÿ}RÒP±ë¶? †cè;˜u,THÝж`d•wËJí'Gø’ô¶JMF¼º â=D%´‘$JÅ«HWÊF+"š“pŽ¥iÍïg9r¥-uðµ³K„™oû¾’–‰nÚ勸²§Ì@Ýå\’PÉß™I2¨¹ŒMÜá8ÌâëJîÏöñ ¨¾A^™¿§ëYwLþ¨HOËüƒ­©jê ’‡ÑÅTö¤_ßQáøOåyNc}ÝI[K÷ƒB$ñæÉ0C1âýÉt[k¨Õo7Gݰéy’p6ðú|DhŸGµ,ùéðY$*…_ÈÂÜPiŶì806ãš÷M’ö}žÏ¸lÈêÝ^aXÀÁ^D‹8)×%Jß¼0îã}vÆ¿ä(<ЗÙ7‘Ò_Û\}ÁEsd’† Õ’E13äÖ–2ÎtQòè1ХלH —ÂpÐäÑq”ßÜüaóVÃGµ±­5}J»•±o2¡\€S$ ïëZÓ3›ËÃIÛƒÜ$F9þùèyÅ:ìÄÉÞå‘3´A:oè‚ÈŽfýi” ßêÝ4M“LØEÀæL;…›ðÈb³=G!Ø7UÍÐ )l"´óŸpÝq\‰ÇßÕ†b$àγ1Þ{ä{û$­WË“ËÆ~˜ºú ý}¡/^\Ú¼Õ-e¹ Š.€Ýkt 8«žC?µš&•Q©#U¿Ï€ñžaÈÝ!*±üe'{¼®Ê"öÒÅŒ‹>_ƒ ËÈwXÆ^>÷§V#±£Ù|¤‘7„j¨%lÇƵ¯ˆÜ­lÇqMU2÷Ëüè;ãkëŽÜB®9Èf.-ðˆ3Y¯ óÃ|×ç–42‹F]?Åá7ž‡?Î’ÙŒmªKAhþúî&|;U>Ÿ+ô«¯8³ÜØØˆ×«Ïr‰¡¢k?oÉÿ;âøÖB¼y_bÄëô tVPp8{GÍçljOuÝMO•µOT¦óáJ.LJ£¢à\V–˜¾ ×rtJÒ*_󇀑Ð{Ñ1gƒûÿ†³ˆ¬y©Óþheá­s±i);•´ø§;·.ÂO¡<ÐüLŸÝ}Üõ‹¿Ù‚¶SÅþ^4=¤m€ÿ`ïV润ÚÒÿêJꮽôÔ— ìlßÌ £"P.íÏ6%¿‡@¯B‹L‡ËËF‚3^€èÅŸäJÁtó_Ï®=3ÝA¾¯ü0^–~–%O#øCo¸=ó:îÌJCáSïUÂûÔÁã4³à­Ûø*±7r³”/g£¯³NÅWÒ¨ƒ× ‡f\\|…ÓÞ—ÇRÔäåŽ<°ñò;tw_[`¨l*/tm¿Hæ†v3×›)ˆeGü+Q['ƒçWÔ|]‚­J^YÊ(†ÿ{ha›¤ÿDµï2çËݹª‚göäè‚ýîhöR&/c%ÈÉ~å‰({IdÆúV*Ôð«OìÞòHy™ AÅ2lJ’Us[IÔðBUܽœÔxXôx+ä Ð)¬ËvïQ3ãLµ$"9wÞMm _½  ±6Õ 6ÌžœôFkTê. k„ƃFNØÝû¾Ö;tѧæê0?“‡2®'%’Ká—qÌðþÍüÙQ†à sùLUM‚¡€Lô ”mªNŸ8af´GV´±8ßpE íÁ8[ôµÅ ø/\¨ª¥ìÚ†Ò"oÑß'r3Áb:Ñ„ãi ½N”ž¥q•&h ^0•±½j£Ã }ë²õäËJÜVtÊ@|Ì÷ÃÓáhô…çÁºžÀzÀSUS/™ppĽU”xËt²¼"w‰ˆÍ8f$¹S¸'åÎ:&Õ÷ ÛøjøÙ°¼ ŠîÀFÅÚàb\øÓœ÷-OKè1\ id¶^É“{Ú²¾4 —áÊ0§«ÕÏ×zÝßí~°°òòužHœWVìf46lÎ4@¹#JeK£*ŠÆ4Öä³@ÙÚÎ7õž†®gsXÕ¦Aà u£RhÌôCA4éfgÂÞdß<7œÆ%¸laE*äÚ´=ɶëMÒ| ØlT³7A*ì`O±WÁy¾š±­=òjE/ÆQS%í'îxâÿiêý×>é%.¸57;OÆD›Óïž[6müyçÁ 8SO8åXü‚¦Uç aÎÞw¢ Çw*ưڮ{ßRAÃ6q'ö&ov8•âk…L…[l¡Ü#kb¯¡/?_w¼N§r9{:N*À¶gBbʇ[nW• ©Í8¸¦ÄöÙ’;Ú½ ĦM??§&­¢Àf¯sÏQ½N¾sasÓÁ°LýÆÅqpçP T“Ö³8ôŸZÄþÑ…(2¾á¢¤§;ÁÿÅõ‚šHQÀf$[¼×9ZXÊv%ˆù^Þƒ†|Éú õ°üj¤Ø“bùB'õwaýÈò¡õ³; p͘ý^Œ¯.«zð÷âQä4Â?aÛ'fÞ-)ð{2‰³S)Þí'ÊÎ> ïmÒ7EÙ€mè™ è W[ÈŸ¹Mƒ%ã¶À„ȯåeî¸; ˜?|å¦fɤõh8d¶ÿTežLÔwd¥Ô#)Çw #:·è´n‹3nØR†¨í«ùEÔî–«¾JŸÎbŽ«qA@j^_žÜ¨Îž²Rÿä0+tMZŒTØPŠ×±˜ÍæEàEYƒÙ±ß%¥M”x9Ú°,IW·”¢¾)´J­Àuñõ|v²n³Uª+ CúY”Bü)É‘†¤‘r¹´Ój—ÆŠ÷ØaõcÉ%K²ö©ë‚¯ÝCÙÂθ„ÃOO¼{Ûz߀tšï%ë|9}ÚÕPÎ× WD“P,ˆY"µ–Κ€#¥‘“ÕÝÇO›HÏ_KÁ)jĺO;ÃýØ8ÿ¼Dùxk¨ Ý<€'/¿S Ÿñ:çD¯jX·YCËÙ‰j4”†YvN¶ìKsR¬²wëk‚€¤ œÕ§ÉÚÐÞ½YŽw ‚ÅÓ¥°a E˜0ÒïŸ"®äô}^QÝÓDê ¯³Ïå÷‘©ÜäëY]áÛ1& r+V\­É‹¥Ð#÷ѨÂnšã_0ÅäŠv­þÿ¬•¯"ïcLûÊz Yöé(x-Ù Ú\ä¯ïÕ|å£èÕ¼ñ+_ûÇ`>Ê×W°·ÈöQÑݒØ-b~@!*®­\<«$$Ýß4”ª#è›óÞÕ ‚ ’ šp[çû¿NTk³"äÃ…C@~%–3d¡ßî 8p3ä§GÓ9æ« Îãúª…âsV c5ÿ ƒw·BN…ýßÈÛ[6#amÒmLM,3 ¨|7±›n¬Ì1|1UTXo‡Ï`ãµ*}Î;fFo3xžÄ* Ì5R„\ô–íGz>¢ÝìR“΀*$iÐwëAæ•–™£!ð€ÅØðume'!0ìNÐÓæ¸ûií ê–´>”òËSñÅÆâ˜ÉÇï‘-ÿ³ƒ ™ë±'â‚^Sߤ¿¹‰¹0Õ×§Þl×­Ùpîy7ÌzSWyY¨¦ò—ÊqÕèiô¡”Ï}.rò‘±ÕÔö¶ˆr…áBWQ@þ¹5A’Ï I€”Äš÷Ôƒß4¢FjÃ7¢*oîÏ%@G{š„·õºNz&N A»^Œ^­YË›«]ŽS…Ø“Ï3"sÐØp¶»wêX"ï>S‰JX´xwà‹q»ªd¸Ï‘¥ºd˜9´î¶H}¡]QhR›Õ÷õW R.O1t÷æÅ@„ôwøâ•”±¦…`^'¼q!òe겎Fxºž0òƒhxŸLóúoø ™û+Ì”'æ([tØé‡@æ| Pj2!¤ÕITÅÞ˜¹JœuÌιx…îW|„aB°Q•üom0 á¾Ù›foÎE™‰ªŽb5m±¾¼õ‰_Îðèß„3€64èÀÊô†zÓ|*üpeÊú7ާ-¦Ø[ŽÍç§ÑÀÎŒD‰™×8þ‹¡Ï×IÚœ…~á=9å¿¥’âHÕê"ÖþÉa & …°ââtfì”®6‚òë ^Øÿ+EŸõ/á!wI‡™oDÇJ3Ägèú6Hñ "©$îñ;*kh2n"×°£ð_i}’‡:^]¬~lfGD$ƒý¾v„ÅóÆq¡/%G‰ÎpëSNxªhDz 캊ç@# "õ‚Ä è N;™+ïãw\>–¿Ì{0Ü)›«è_ø»"í%`—†,…ü…–ñ^±™j6þƒ6ñû-ö»"Ej]^¾ÒŸ7ªwqV ?˜Šnà–‘L˜”Õ4d7‡:’ú`ªàŸ‰ï3Hp×>={ÙV‚òV_ö ¦Ø÷O¨z*–rxÇ’Q*_(w&öE2ð\Õ±„æÆÖòºžt¯qËáCŠt¡RÄQ¢wèõŒÅrí$"‰9¬äÃp§3¦~Þ`À”Hß.‘ÛawÚ‘²BùÙƒ:—XÔø–8]±/à"`DXHTÑÖ–KÈ_Ko«Õ…æùá&ë#ºn¹Xºëº7g€Nn˜m_ø)žz ãÁ¢xTF<ìü“hez àXœ é’ˆbqZ.­dóìP*û³GÒw¸+ú"õˆ(×J!öý(­zÀ8³RòB@ô¤+íÂäåCóŒuª‚udþ÷Üt`RšJ¿8üíJ§l1‚MmH赨îeQ*Hµ¸¬˜K¨ºòéxE´÷híJ=Â"Bð æ8^~9:Ÿ,uDy¹M¢O¤+´)pUú½·hvPÁ¬ëû4MóðÃÛ=ÿœ“è5 ðŠ@ÁˆáZiÇréUĬt ’°fŸ)ÿ;HæA޲ܶ–ü-_öúö×™Ú>]îdÓJn«Á³7Ÿ$–’­]‰ùÄË j€Åßïgá¥vÑ•YY·a¼»ºƒ3]O4¯(ºêoZÌkÈšš$£±Ø) -EáO»l>R[¹zÞ¤™]¹Xt°µ¿³û D¹Pc»a‡iwaüúCcGß9¥êÖ1™d5øP·?b/MV¶©ò· žß•.\e­ž‰?øÒÜ©ûÇ&Æy6ª YM:IŸåHç¹È°xø¤1÷ýA¥ÀkÁR ‹·Çl|ÏëW(H€BQ8}5£ÙPëÿ]S9î£ìƒù¶÷h~ O®5E–’õ7ì&Ⱦ9ý{~ ­‰k (Ü֧ކí: #0„~%ÒeíðÒ)÷f2‰Ù +-ólžŠK4ÏA²L[Ø7¯7Ô¾Òq+9`> €¢<€DÑH¬ä}쬄0|¡÷<þýS:*Pão­Kì’òºÈ¦#@ ²#â§@ÚG™â¥Ž“ãë­—ñsNé›÷]›Š`67Ì}ÃMEO‹è2EsI±ë’PÉLƒgMh—H)Ån%ž |ýhÅtÐöÝ<è×.,ë÷k ²Ðƒ¹Â(ŠÆž¢YP—ÏÅœPÖQîïÁ¸]îÐ8vÈé•_øO!\ÿ¶ôv§v÷=(FÑ}|5¼?–á¾a­9Ÿ:óh»ÌEAEF#ï’0§¤Öì™XàB“*§ÁePk÷ÑH.a¨öL["%éjŽfñÀû•Ø«_‘`\Ÿ—•¶¨ÐWíáuéÈÜ*›íè2-âh²GN*0V>2ô%”hÒ˜úÌ{“å ø'O!béxp­̗ÁW $TŽP:bJXQï²b ¯Ö`ÖCz€!û)«ò3ƒÝÁ/ü ¬2rÜ9Q Øðgœ1ZmÝcq*i¸’ù~ï™X+¤)9ª Ì§S=ìÐ c†øuד ã$Ã"§îÈH"xž8óšã¢¯úÍW?2Lˆ‹&†.ÎRo‡Àf…ýðŸ^˜<¤¥›µ• ûRS.,‡)«ðV„ˆödF3x>­¸*Åþiõ­ëcþ©§tü,SlIn0ë…K‡+ãùŒT•ToÚ ¦~Ä WÓœÇÒœ2’.AµÛ§tw昒½ÎÂ\¤B1ÜžîŽÝã,Å‚uHvÕL­§²@XÁ¤Êd“çÙ gS õæÚ­Ã¬øÏ]0j:Þ/rïƒÔ§­83±Ub?“7¦Xs¢’v¯kSšŒ¥8ðh²}&Ö çmlä‚ZÌš¬¸yª¬âañ½žo¦P¡Rð©oöö€°øJ‰¬»Üè  ú »ØÎG"×é¢'Qˆðýíæ;ª6=õÕÍmí÷k˦¡Õ²5DS‚–¡êxþ±ÓlñQV–h¦"‹ëƒ"Û1‚½aW<‹‡¡Eö±»„±r2áÒaç(WšÏa¶|­þÈcëuóBã .à«h¢,WNy7¸Î.Ø®žUU+ã©úh“fËË×?E tOŽÝQS@*Cã„cuðÜ8æëŒ“|RÎG·˜7ö €7’Ëtlµ1ÉôÒ³RŽRjRLžŠW|+AÁ‹•g›€?árÊpzêM\¤Û¼õm&÷7+€9©1p4?H'’Õiv¨íJ` ˆõ«ÚxN Íaõ¢â ÿ‚ylÖðÒö¯›u9oÜžäæMJ˜Þ1ç†C³µŒ¶ÿâ¬}¶Èçö®Ê…Wtfµ"a‡ìjÉí³¼(Sèjq¼§˜e+S°·¶ØV×&LShSéÃÇiÕå,Ý·]"Á™Ú¼¸8:´ÿãƒ`æñ…Û¾ÑÃýë##RÞ£F7½º(K±a<¬ŒƲ2Ï3•ƒ‚a® p Z‘î†VOØhf›:íý軞v˜Ì×L!õð“šèieÔ‰n^@% ãcþ<ëëùö{¾Ù :„dÓ{÷UAm.>™²ÔBCá<ÿô5è38ë¼2Õ1…ÿ"’¶wîÍhG 'ƒQ ¦Lè {,alÛž1ÄLLJ¿È«JDIýšnÀo F½Øo2&ˆÈ9‚/šïóÆ×;e·iµ•#ù ÒCÄ•oxÕL7ZÚ¶iÞÅz³Nôè–36x˜¿˜OM¼ ÷õjïp‰uêiú¥V¡„ñô&o+2—Q(®.NB:¤Ó›÷—¨’'22¬±¤ ¤ ©½W(Émü[A¡ÉÅòÍ¿ñªˆv"èä‚2h‚iÎ2Er?´µÎ7cê¿PrS¦‚©rh_˜g_á4"‘:ýþGÿ®cKÓ¡ÕíI+!}ÊyÜ÷_@ºÿÑiØm/?½míVï×·ïI_:#°Äîü²­ùqMlKbHÿœ 3sýÏ1]”´ÓÂ-v—UÝÏs¤Wn!ØGµ˜ ¥%È‘WCˆ.ÀZ¬õ%J+¥Èó\gÁñÔ°—C4–"!qÚOLýý²°6hssÝÓê;P©–³Ü?9‡‚ˆÎLJ½òN¼ë(ë4À’ÝÉfù»¸[ôˆ¸ß¶)Aû*o®¹^ÃóDí\Us‚fuÉŠF‘ªU‚o ‘€I*õ ùEÉ“Ô:¢‘ý…VPMê3ÈÒãÜtÐcê*«z@ó™–ñðÀÁª¶y¥Ã9w:Z|`d?`[àÚˆqL5d4XùWÈw öm†ùï©{9’놕`‹—_KØÉ¹]k^zÁõtT´~0ì—²5Íÿx‚{L aÃŒykœY§Ù´SSš=bɲkRMT 8V=sê;ôgÏk(Ì¥·.oRWñ€?b´üßÊÑõLïê+:žÌû âXpwÈãtÔ¼ÍdûksB«-FP^°ÿùHÜ4¨h˜4ƒ!{~GS¹íâD¸Çþ¬êíkz”€íQµŽlɃ¬8G›Ä”/=èþßï–ñ#9Ü0¸Yˆ*ãÆüg,‡÷"=ÏÕ•Á-ðÍ+y3¬ëiþ: , :üF¶Œ(<1³¶Ïâ'‘ŽnÝ:zÿ2ÚæpHtÑæ6ÁÒ Îß7KQåˆV™–”âÒ. ¯1Å‚-àÜ¿ôþ ó2S¾S£ R–x‘o 5{–ÿbFÿSÚ¬ÿy’dàj?—Fº€C,ôrHü,cÐÎF}¡Ñ ·†Ý˜6RÑËÌ„ø)M†Æh€ujH@f i¬ 7I0_6.7b?sÛÕž´Ûþާz2g\µkHœi#ºÏD[ÇÕà+«[rVßüÿÆüôöa]Zê5ùëIf5./26Þ‚`‰¯y«BÊûƒÝD}|ªÏ1 ƒÌ°){@'µV+ÑE9¼ð¥´æÍî: ÒšªÙ¯ŽÂÐᲑmyo%€Á§>𴹨”¸ãMNÐ+ÿûï•ôÏ5­¢¾Ú:¢³þ¨ +3*´ã…?b…y`c,bܼΕÃ|ìšh“¢ê…21.Ðv¸%¤ò½3üYµB+GÜýZ†: _ÚÞ. jvŸ]ú+ëY(€ÄƒÂbó"uÏÍíÊ"*ž‘¶ÃÊz²ÅÛÐsŒÞ Aûe Ö¸H-…ŽI8ÍH6¦Ï¬Íº2¼¦,O¤^¥9àåÿÄéŽS×Þ¸¤|àvŸ5À¬8‘yÜÖuCy+P6èÂG¬ßrôoì*ƒ»Ë,òŠ$ëüâRüfr³\É$&Ç—lÌC+ù]Æc»7ʈ?ºw ˆ¥†.º¶€³ªÌ€•;¡g˜úa±ÆYðÐÐÔí¶ð¼Á½3‘•ÂaØíºá¼-RžhúÔ”!¨¯o/Œ;¬ëA> &-]°$×sæçäy!‹’ wå§G^ë×&JMòCˆL[~\ ¯uÀÁ05Ôœ7©[L¦”ªFÁ]¦Ç¡ñfºè` éÞ³Û’s9@ÓO"†¸öÆ:úVc ‰ò|]¨¼%š?“ tŠX,4¼õ‘ˆ sÎý2ƒô,ùà:#œ3ñEYDåËŒmÀPì„NyF5èx_Ø+çÛÐdä“ó|€uíãÞ÷|gªY±ÝiüÌ °ËŽ’Yï󽤆n'ÈF€;A»H²,Ï›EÉ'óz¨¯(€Ì‰ƒ<½‰…U õu½—ÌVªnƒ÷ªuu×kð¬§Ê®ØôƒM §`šêÛበ¨©ø­†±—Ia9#—†]þæZ2’¨µ7õ§i#Ž7‡Õ…ëQ¬fí&Hy±öñ¦Ø‹¡_d­"%4Ý¿¬Z°º¯è19GuµÃa«òV¨ d?ò<ŠN·TÎýÔdŠÈ¢ÇòèÀ@Ñ„~$‰_°—šI–ÁE¦ðWÎÂZ¥o¢¶•Þœ–.#÷®^)¯F›} Å0¢Qy>àîa(l 7ŸqiXVð@ÎŽh‡5COÇ0ù!*Ò¯GGa!9$‡o8×À±ˆ#e~Tæ÷Cȵÿ€v­W¶xøç%Û-×Bµ›ð^éé+Î!÷O6ëD:[û9Š‘‘7¤x´žKܾíÆ2äÝ™ëØ½¶?¥td• ¦DÉbËá†ëca¾8¼"ìQûÕ$âZl£)ô†“ôô›ã7Œd&›·z¯)}êc\VÄý1÷U)úË€ÿfYžÈ1ëú·¹89I«FS}¦Ë?^ÇW[êš*UHƒ1±ó’ÈÞ ÒDG#~mtܲas¢ë{`lä«¿!waÒvË ØQ"P`±‰*Ç 3I6+Õ¥ ITCÅ,!'ÞèàºæüÔ~'.)v^QÆ·k/hÜk[ö0C`÷hŒ¤ÜM‹7™ŒÂæieòKÅzYèçP?»™Oö9%)0÷L¾?‹$¤†Tô;}“MðýOà~ùí^#猆WÙ݉KNvà(Ö•D©ð äLž7úóPÇI¯áC}\*TþûÁým‹ÏâÑw×ôŸ$ý[VÜøYÇ J¸Z߀®ÜqyLl«®7nz=Wñ¢…(ꬒšÙ>¢¨YýaºŽUÈUÝJ¤3Ù3]¨WþòL&Z®î`¶š„ƒ/òí¡*ü7©e„‘oΰÇ'¬ùQ¤U¸¯jë£ÈÛ(1ú~.;,…bs[óXþ;°q«×.V,SÜ{w‰œ¹D9 ¿Çû?†q`+xÆKo’ß¶†¤¯ü”cX†ãøCBÎôÝM=œ]˜ËÍ5mÄ%8Œ‡Zôï%‡ê ¥]ëuÄs?|[ƒ·ê±SÒŠø”\¶q:¶Ãú¶è·_hyÚ6|‰‹ÃçxŸhÅ“Gn¢CíX6ü†±D©¦ºu;á]ÂBÖ¢%@ Z¸»n<4{‰jŒ©¶;&Éä‰ÀAšgµ­Û ây¬ßhðû_×6‘Bm\7ŠpÙð†©E¡@€tjH ·ŒsOÜœ°p?–ö_ºU‘+^Óg.­BOöµœÓ³]Û^zgÕ*ƒ •ì9¶¨jõk±sè76fås@‡µ}Ñ€‡þ^¢Ð Í[G9ÒŒ€–ÝE¾¥Ù&àeܹ pÇã ûÙ«Ï»ÊRè1i³CÖd•ºöF÷uÀ²6wŸ_3´Gš²S—a¸<Œ1ù/%2òN;3R9ýKB®=eôrpÇH§î C*ô¿¼PühO'}Ñâ—µE*DËâëL„5©â'/(ýýUüA«E ,ê%ÉO¦Tœ§.ôlèÎ Ù‡y9ýîÍÉb^¡:m €Ì<šŠ8Uæ*(ÐΙW¦í¾‰>3Îzgľ|r—™ú¸ì­îÛºïñæ÷ø‹9Àí·×À×6CÚÿ#}µ.Ša㚊է:Úåª\Äí"CŸÖóó[DYòP¨Í†Bq\ EX°ˆ­ ‘¤|&o SuXšPn.µ¾8‘1QÒãð«&¸÷s[záZ56W‡¶%oðLñmï϶Ԗ½¤—Xpx§eÓoÕP=È´A6”‰ÑagÉîqÎŒ Íå|ÅcXÏ€O¾8Éð¢9á¦î7MŽkšë˜àJl:sÜ]¬>/E“bÁµ±lê°Êd¯^¯Ýv+AæÓr?»öðKšîï`¹kÓÈwg_ú2ô⦔cØÐà ¦÷‡¢däÙ½z×~ -˜Ñ C‰T‘˜%¶€ÝZgò@öŸxó>Š mYÑÂÃì.pe$§þr´ÕµÁSLìÉë*÷|MHœùÓ|ñ®÷ç÷ÖêÍÊö±.ðGwÎհеžp¾6b?<ôÛ°Ó²kÃe·H6‹N'`ËÞG,Vzýmþ WRce‰«cÓV3B°†h2íW:ñ»ås(‡x‹îdëM°¼`¡ÓS?˜ÿè~1ABäVpºì"³Ë©Ç½J Uôæ äÓ1@ˆg–îM6og·\ÅGÔbÕˆ‚íuÉžNQ{ —ŒÇ4]ò4`¸k%Fg< O(ÍVS¹Ç«$lŒtÝ|"p^iÀ̈·TK‹ »¸Uª®†k&¨'“v˾3“¬ŒÆ´àdY®¸ë§ö7 gìxFïÑ6‘ÄÜxÍEqòº§IµM¨‰ô¼)ÏO•Ϭ?NOÞ?`y¿fk“õ}ƒ&7‘– áÁuß9Т×Va©fۺ럘½>²üu (6[»õ"{sl%™—Õü“Jz*&Îz, X{ìØ#ñxÌÿ¨Åœ²™f£“ÐÚ`m«#“^njÁ¤úgsõGßÅŸ/_JòüÄÍPëÃXBf4žì<“Vµ[IËòOâC pmií yõ¿f0”* Égà ` ˜nÄSŒfxCg¢Œ²ÜfiÄ›Mƒp×åõ¼¡JÆÚt¶Û£Òœ8ÂF‚ycGµ¡ Ær!03¶Êð\M«·ø}H%hÿ­<=lØðC€ 1¬UN<)jÏöù¶à^ã\&Æ›—À,@(›½q1¿2©Qdy™ÝÓçøÍþ[ÖYqÝÊ|4ôûƒÂXZšb“†ô™æ>mj>H¤¦jëœ2„±±f$oÃY–[5á>®"Lžzõ±¾p…¾'ìݼëú{È'=N1ûIÊ©Ïó¿SØÖЬFº©jµ[g:nO(ûÄ5=«c­Ú ÆVÊGø:2>>,‡OAu§+ŽÄ>º§N5X6gôÌõ¯"qSŽKô}ïù€|Ä ’'2{½²"Cå²¥„´^àî°tS ¾ëÁ‡ÌeR•o±O3Íÿç­™}@¥ri6VØî‹Õ¡ä{}øíY¾³tÙÆ©ê>… ÉìNڄ© Î,Q†^ñžša+?‚¾>„ɳ[8#ÁúipA ètc½ɇ …q ¸¬HNú\»1¼€ŽAX_ÆÑ¶ vEj¨þ÷¦'›­V—’œãä¶[_¼J±)Mý_‡§ '4Óh_–ÚÉIæEZqÙV œ¤œ”ýùœ§±Ì8ïþÈr<Ï¡Õ/£\0€”n¿Ñz°_>ðÝmÍ@k•‚2¨n'ž$´Q¢X^~¨õH®­ø…ó~EõT•ô±?.î¾<²1‚d¾ÑðêÁ ˜ŠæKÛ¨Óý]o§QOGÕßÅ?áùŠkòõÒ…ßÜŽ‚0ßo+§RØAÓ«m%)U(â ¶_Ë „|Hí+º§d§"¶øÇÝ£B:¾ŸæÔ)Âà‡/ÁæÙF–_‹9ëô8Q;¥_ ЧZ>Õ¯ËÄs„¨s|>V¯§ß$Mù¤•Hÿ/ö1ÖïL/bG[RUíÍë&¶ã%3ûÁUõ.u;‚ï1ÐE!”m$~ÌÒ„9©(ÙSþ;Õ^un™~9-óBN+1:gŠ•x‰öd·‘Ê,'£´sîÚÕYe…š;v™sÐ5`ë³}dž%݆Q\”…7“AFký-Îõжéûhb*Zøþ0”£¥­Š£ÛͽöW¼<_ö*íôds¿“^кZY%¬äÜýz_gi„3Sr˜WWCäá äl-§sÁcq8 `YÎÓ骒Úâ·hÏ,'ȇ è.Õ÷µ¦-™žQƒÄ85zÖ8Ñ¢ªeF#ìR盿w9›ÿCÒÜÀL~>,®%ïb+î÷0‘Š›P+¸ÙÜ—¦k “7 ÓØºf%»QVŤ=Þî®u‚S¿zJy{£põi¡PnÿÉ$Œ‰‘ºIVuÿãaê)EŽ‚ÈÀš` $ëq¿h4Jôñv\@]AçÌprqD5 éžilðÚÝ|ÒÚÇŒ7a|©¬8š·ÔÈ|vý' ×òFºA•[ ¤j8l’,ÚsñH°!«ª]<·fÀš¯HœƒÚãêën¦w4|8õ(Þ›FXZ²¥Ã%Jœ{2;Ä{£P®¿¶[7 Ꭰþ˜”Øl—D^ÿ\î e.f07\-€.·c— ß8 Oðø,3ÅwÑ£)áUœ—ßÛô¹sò>¶Ù/¸x3ÚXf ÜZ¾0qµÍËï“'÷×7Ji9j&mƒû’lH긶’¡lή¬£,æumB'2îÑ·±¢g^Ä> -Ñ=ô¾Û{q*¹›P´ÉC˜hÀD±ô?`nýzV ¯²vcC}y•Ù:ê+‘;‚ô<%Ø—[Œ¢ú°ÌóJL ¾µ 2Ж¬„-ë;ÕÀI0áò)ÊÀòš9"1BäRÑ`Я"•)‹JýY™ôYÕ4n>ݸը©Á¯vÏm87&g YÛ²8 ƒå5?ëK}˜…šJѵ>rŒ¼ëøÇþ¼8c6s‘ìç]ÓÝ1 1—y*Íø«u™Úí¨°.£7Ž]Ó™­þR¹Ý)w›.‚‘ùö)éîéº;ñʼn{€º°u^Üï•cƒŒ> ë Î\Øž¤…ïU·É¼KŠ ¿æÙóËb,E7þæªýwdÞTVŽE¸~³¶=Û¢ÿC6ìþáxéy‰8•ÎÎFVòìÉü¨dý mf)ù¿ev‹‡d¼øm(Ds—Å¢“CÝ­¾ŸxS×lŒjþ2ßÚÙî,ÊK;ÑJÀâã®Z͸¬6ò±¬Æ€i+ã»ÕéªPœjš2?ÅÔJDÖk⎤cøê7‹;ìÛì9Þ;o˜™AåŸÞÃ-r™Ê>Ñ&§DWb—e¾{Ûëì×³ÈØí÷þø¸ž|¬BrŸþÍ£èóá6i‰w‘£v„Ìéûš1 gLØQU_ôj‰C¦rŸä© “¼€ÿæ›@Fåüôj2zo~q£§XÇÈìßXQßӂûÍ« CºO“ÃUüÐf9F”ær½ÞDö#úó™sÕý}tHßÊvεpúì®Kf)\~Ðy'C<†J^ʱ`1JL˹ˆ@1ËHEUsGFPsº:çûÿ\ ²7lWüÍÌó%°– o]èŠ@– T½-±gäÜj‹w¶$Ê4}xØŒ@}qÁ¿ËÀa+ 1þî¯-›IŠò‹]çÏ4%€Æ^ ι4µþ ÿˆ”¡ö )*C¦,üæT(Œ_ž éF\KhäûcH½m‹‹køez£ÆxÁWQ½rŸMÁJÌYƒ Ã4¯xÛ©sk’q ¢5=Gg®X®îðýN|—ç4^K8äÌ"5‚²ˆÎ’cå*æ×Û¸¶Qóß鎫³%Ô•É\xå‘¥Ön„{®5½Ç]*v[Û¸Tøê›ÑÕ=y”Æ<”£³¤Û Ö‰ü”ý**WTé'EÝêRÛ{`˵.¿Ý¨T¹@›}¿Â ´W½¥3K¥}»4?r Tr³”»oìx'/Ù«L)ZE \ŽjVô»yÓŸî?êBÊD²³|†3xòÏIîYÃhQ1ùÊøyuTèz·Ù™_uD‰¡P_Ѹê„GhZ»ð¸ã,¹NÞÜäÍ8Ìð Üôó\8$ï¿`,'_¬r6ŠùÉôàekdG«–}㽿ÿ‹$aϧ §ýÛmçøÄcû¸×Ï9Ú/£0FLˆ‰É?)RJÀ´r›g½õ°vÀÝ ò«ïƒšáÛã@ gÛc:-£twáv 6¢kP ¹ðØðkÉÆ§–Þý  Xn/{"/m­Þåñ4ãBÛ"ïMšuÑ&¶±B•RïqÒÈ gqÂûŠG¶Ì±½î9+1¯ïï¯wɵ󤿝4”.äeªiV7\¶Fhì¼1sÞó1л/ú °u¨w±}æTÏI4iÑÎÉtƒ£11¸ï¨”±WªÒõѪ[X>üâàN™G#½Ï‹Yñ"æc,ÄOµˆt‘o–©jºYÉäk3Õî‡F.,ð”9q•›Ñ;I¶ÔTƒë €É0D×A",‡f¶Ù¡iÁƒûUTˆöŸê°\F»F‹£%¨Œ' -!Wxc‹yŽ´ü^ËÕ ÑÌ¡å@?åR·z§hM7d/§ˆ’ë ¦í¹¬¯œlñn&סð³þÉ*Yˆr²Ü1’s5ã°$Ú꜄Í,ås©¢~µZ©sºå0-Ÿà#"›ø(%tqB†>l´¢t©aáfaµ.Ùn)é×ÑlæÅ™ íü~§Êœ=ôA[)}z±Tð·’8}yéÚ'2Va3K|Y­ ƒ[íXjÓøUù›Å¡ù+ÌáÅXìÉØ»Œš 1~iÚu-SøÛ40²læäny/fÒ=\ÜìO06Î[RX,ýLÓDU§ÆµBúË®ð€/)yÍ4™âJ"9(OêËjÀ…×ÒE–,-dÝ! […ŽAE|11ÀBÛ0"ƒ¥:BÛØœi8“j¡§êŽ4ÉšËÖ°àMA̤‰è &®æ!F$Û2ùh"<1,å×Ê΄ãLÜÀtÈqJOëAû°yGa™Œ™O¶ÄÙœdþàlÚ8‚š;ÃÇ•ÝHɹÂï¯L˜˜¤ï¾IQ¾ËÉ•vHþ—’†¹è厉|x@&Í…n­ ÿ?Ž=7Øã§ÁºÈAR B¼ÿ 'èç0ë¾”þ”Éhob&!ae½Œ¾–=Z½Ð7»¥—ÃmŸö#KûZã_}'odEØÃ°Çé¦\òâÓ‰ãO7†ÐqÁO‰Ý‰ïOׄÆoWáÄ– ##o ÇEîzÙ'Œ¶KÛlóçÅš2žÍZt_kÏÿ%: 6{›·Þe§‹·¬žA5èL$ÕÜò޼Êî¦ö6Ñq‡‚ëèÿÎJeª‘å&›°›Ä©ð¾VPŠEsÃ[áŸDDµZßæ ƒT"ø2˜þcÀÿXµT5`bqÛ:øáçßÔ8Œ}Á9IS€eP0hÙê_Z¿„ßïÊ?—®¸´1ÙP°ml·7Ô([Ù¦ôN%½†`¦Ö3¯¾Ç‹Êß·lݬëW!Íiàò û}/ñVë•Pšpê©–ûD\-ÏË/ö Øî£VÄ®¢lÒ™Ênʬˆd,3¾¹n*¶ª_Á¶ 3çâRÇ{vfЦY]À5ãíz¼z®E0RQW‘Æ¢}ËVáW⤿a~î÷}¹5©Hu$Þ‘³qyAõŽ2[<®:Uºâ³h=(Ò¾×»ßùÖ2rÏ!æ)Fñ Ñ¤ep5.L_«¡³ìÀ6ÿåõ8]ÆwŽðÍvvñ3+Œ(ã*íèCs¥P˜þ¯û—ªZW%˜÷ †Ia.š-Zr¼tàÞí½ÕÁ¡Ìm’K}¿ËXýÞ(äü‚¤â•X?"u¨üçkÕXµI)•6›µ0¶ €að…¢X?1ç`zöM}@hs?húµ‰%gµ&rëÄñÜ–'HтֵðÛ¹7!RPI‡ÔSo¥(ÙÔú&=Ä@ĬÛ7u“Û„‹îrn6L–\¸Á†â'ŠÎI¬Ã±}§WéܲªrX NZQ•ëÈèî­±Fük×=­Ø•°X´Åå™ óÏLÇÑ >qÃ$×Ùviœ¡’;(]Ü•ÝÙÑMp§b¨,/»Àú8ÎË$j£…ÚO½Õ_]U}È{4õ~bc¾²Ÿï8ÓøIÅÞÓÁƒ·šÑ{sÌ»î% #ðC‹ÀWz£!gÊú.[ùú…ôÑþ㯚YÍådˆÁ™NÕ&˜€j¬ï@Y0 ··^á6\€f*0˜ØÄ pžÐq`0_èÿjió˺-O¬Ð|%×Î.…µ»&ð%†ÌÝk'Ú‚$ q0E¨Uè/Ó#{P#åABéññ—cÄ}J»yI4d¨ÙXÝ„m[ÕbÞIãÌ–ŠýR8¼tDDh©>HÏþ·Î èhÞS¶Êׯ¿¡%Z ÅùJ_C–¦R?ºPVYâ¿óE×Anà-|ÎäGÙeÀÁí”Ñná‚:Í+Àj,[8,iKɑȓ1P+•“p<Ý›;Î}ª!´G •^„ßµ^!y5öfÔüLu8ö€Øà¬»4!¦«›ÚƒB< añäl #1Ô’…KA †MJªô~µœp…û§4Cz ̪F¼8õeÅóKÏÛÖo`ãûºÃRBEðÃAëü~_2Øa‡jÊS˱p…QIõ †š‰¨)âJOûH.Äô™êEy¬8±‚òfÎn“ÕŠXÿ2³Dysz6ÝHykHœV0zéÓÉÏURæéµ¼X¯3ºá.WÈý©*SXǼ58ÙÕ2åi•ÒÆyx/úŠÁRàöÚ V¬$ö¢ýM¹_¶þ³Gøc€ VGbÉšgåK5ª*<²¤ÇP9{2q"ŸYxtåuŸÅ½Ÿ–ƒKËÜ„?¸ ÙÜwÔÓ½ÔôP©D<<ØRÞòSCê’–þ/ù¨¦Ÿ¥…§ôûœÆÖºëhpV¢ •-hdeEœ@6óG šÔøB Bîзþj»úPè‡ÂÔ u*»ÌîßæáŸ˜uë‹/ «›Î/ö;"Ÿå¬YåqÏcvÉêÁŽ–‚r½#ЇÔ/$øÎ%šª@[Xw3`x6w (@áŸ^V‡ûû ¡DKjìÁŸõhø”8»÷æù™YNì§ýÞ@*´°Ð•͵Ȁ÷Àºã<8e¥ÍÂOš![ѨÒmN©8d3H0çÿ¬™Js& GM}a9ÉËèتåÆ8˜³Òˆ¿nê$+ƒý\3ICµW%šü뤚ûXÙýx¢ÐŽdÄŒ&¸öŽÚM+Cå£Ü¦…n>Ýy}YùáYÿÇrÏDnã³ëÊT ÎÜC5cƒDÀ ñøÕלr–½Z©l>¹?Ÿˆ®u\úÕÑLêuœ À&ê¹¾Dh!:àBqL)GX²°ð/~×xêiÔ'KL%_“øX$F¯Œ˜{0åî9¥Z5ÆYüƒ©Š«W ?à]àûepÅó–2R¦?³YZìöÐÙHKúï 3È©q.à÷o îG˜UÖ&ü#̓uØåõeª­sQ¿£_}g v$ƒÖ>¡Öžeþ”}·Çh•[±óéÎ4*RËBeàØ\käar¬„g¹Y›Ì³Ñß`©âb]Ý¥8ˆØÅH ÷ɘëìÌÄnb×Höè±N„#“X)CˆHžË‡T‹Œu¾¯ÝZ–µ,CA»®ƒž´øúb Uƒwd!" XÙª~[Â<Ñ&¬›‘¤9¥FN¿üá_Ÿþä»%{ÜÿM Ôªsvvó·ê›gIÃááHÀp‰Y.U–g˜Ð¥]c`Кb=¹Ì¤ N¯nðà04ß*õîÓ€54X}%+ êDÞ¡ÛFÑ5íW“Mü”¿Î^¾¿":ÉZ‹d™€‰›§Öuöê×7/AyeÊ™2Óéø„ÖdGƒ }—+¯6lØîiƒ‡´þŠY‡c,ó—„‚w>ÃŽÒ† N(O.¿qÖ`Iä`¾×(ç¯k¹›¶ä7ƒü 1¤¢Öªg.¤aÍÍD‰{)¯,"·œkx&ü!h=¼*M‰;%º¿Ó¥I'˜° ìîέpL%›¼IÅpp®ä$Ãúu,eÎÙÕÍÒÜÁ‡I‡Üp—ú”¡ $%`g>‘4‡Ãé>'Œ;V†Õu‹r©ÊS.tÃaQåvÚ±ogíü{ý>TôÀ†Ìu´hŠLxÏëïB }½ZeùAoJ 8>­;!LwÄ?Rë«’ü?cÿ‹ØQ“ìø,oôNÓ•daÁݺޑC¼Ü>Vâùì±À÷¦keüéI²Aç± i¾Þá’YZõkÑyŽTLyúýb8U‡?µ¢Ôñ°´—0×µW¬„f‘±N«‘}£Š îàðÐ~è¿êGQ®_›ai½*óÑ1µÕêȽ#ÔÍñ€|Î ‰’‰•&‰ êÆ<'ÚV"é´Ž€ÎˆF¥DÏ¢¶Ä™Û}­{UWŽÌÑÌ‘<[NEêÈ a‚ËŠÓchP„Ù Íl}g˜l…׸CñìD„lsLQ + ÝH“x—Ò:Ÿè 'vþÛ N ­^ÿ«ô¸³¯QÖ;(ÙT5ËŒ¨ÕvÉ5@%lnþbñÅœN $K#„é“m˜l•Û½Z½ŸûBüšgÉi?P$O)%< E*‘ÔÊ9¬gêûÇ¢@þzÊ_0Ûwø¢Ôµ ÇéׄÞjj´¯Ûï±;ª8¤¥Öîvb„D-[HáRüj…¼5 |hjÄeë Bʳ)ZkF€º D,•ƒ•¯ÀF½±”_ûȶ›vþL÷éß «¢Ò–sœH›Ç Œ»eà7LcÀTÐiAt^E‡þ@ÖQºï^ç÷Ôé§ùeÖ/c¼gÉÃ*Gì;¦¦²n‰¢M¼ïc|û¼W¬xI•uÚAFoCÁ…|`|HøÒùzˆ´HùSDûC`í°˜÷¥kžIqM°{²n®hÐÉoñ4GÇëÍðãÉ‚7 ÑXz‰EfˆºÑp`)YrtXj<³ŸCéx‚û“8>ËÓ`¶™éÄ!8ºP¨¬Oö÷ur¡óTø²+@7SǘÝM`»H÷óªlx‡úTE±Ÿï¹”ßûÝ~{í´Š•p—D©…ª¢è/ÖÑÀr§Rñü‡Äì8L(⻢xáfªsÀm¬»O=@‡%v“}­Êü5nÓéuÎâûýyÆçË2^ -ýAœœšß猗Ì@’pMM°å²×ìß9¯R%]:M]öË¡/¹|[v`¿-}ö,Õ ÜÛ>Y&¾QXo]ä>¼®üÑ‚®EeF ÷8YTøXA=ß) "ŠÍ—;–tŸ3ñ+o z^­@ÑlÙ&BY OîÞ*:“`t3!I™‘N¹ZiRRtHCõ˜Ì|”büÌxdñÖP2EÈ)@Ü>£D”ž&é\W½Êuª‡R¦Á{³UO¶O…UG&rzÍ:H”¬ÀÑ4y·©ä\jopþûŒìR5"Z®•/Á’+d|å*J„b·sDDzÀõ}yî£àÃWàXeU¾Ú,÷Z±åaˆJxc(ƒQO>¨¡§b•6§mÞü$:B\²$Âa-k¬ªŸ@“ºê.D`eç3IŒ5‘kø†”k@%-„0Ÿ{ÉôYº¶º¦‘U5D \ü÷8"sé{Iõæ­«´ä/ï6ç(Z]߯¬y—„N„ÁGvVæ—"-þ9 ,shùzVèj§–<”{ßµ¾ãVêËÐ;À…Õ·€» 8²dxÿ‰å1yMq~=±.9q¥ÕP·|œÕ ØNoí¡°Èe©´Ò}ÚQÙ„謤—>qëÝ&ù¢¸Ï-dsFÚqŸEûO¿¼gëšÞþëö*Èp9!dž1˜±Èw"m"rXït¤ì~²Žqª=º <¹B`+.éHë¿Ö\w øöÑ”ØAr3)ÜĈ,êø ëÒåX ½»Ïì'BoVßšN<⊋øÜÆþ¸?±*¾ØAåµ~—ŠêåmP0Ì´»£û6—ÄjÍtLoÆGé8ìÈÛ á™*"¦oؾe-ó_ä°9å”Z?ÆAɱ†k):?ë Zë}C3mßÿÜ]ðXvªƒƒ~ýL½Ú>íß¹ÉfI¯!бÉrsmà1&츾‹zñj¬×ùá‡aEÍ•ôcEM6ª Œªþ-ó'S ç‘ Ôú­C#† 0ÖÒ,õˆÃ˜¬’Ã8Cþ€…]HGƒ'å`ê[}‰ù% Ú…B!ÇpL u¥W÷–°ÿ1[O]O¤†¨2$?“ƒd7ß)뛎'B( ;·*uœVïli@ØÂèW‰Ý¦g³+¡-Ô5-ßzr,®ƒÈž;yƒH§móJÌœ¨Ê&@e\¢Œ¾ÃÏ¿GGŠƒ¢äôúºBô D} ‚§H8Y ù…ƒ$ϹE%¬vˆ÷-„j#—ã#–O•~Òר&Ä?úI`0pL˜ßíó2”ûþ$õ!ÔÚ:jOX’ýEóˆÊ.ºÇÕt™wf”£Ì࿦í<à-ýrJ ‚HÌ ´QᑪáYj‘ø:ÒvÔ,¨DuÛHÞñ#ØvŸ=$·}¸¦/ú”NØÎ"Bt‚Ú,½ qÑKæ0YÉYÊÀ©+ǺL]ù·Z9ÃŽ…ÌXoï\í¼…çwˆ„ÀøÇg“ü+Ém_¤Y8FA± IÏw‡äÊar ‹ëİ·]Dâí?˜ˆ|µßj˜¿ZÆMYŒœXÍsÂBq(íâzÚ3EB~àdõª‰—@t$¹µºÃ6ÃñØý•`,½ÂòzCµ¯ü øØ2œká £W¹UŸ°ekuÀVqºõQ¾dk«…‹¦"ù™ñ´@9\C:Ú ^=ŸEêÍñ$b/¤/³+™_ãZņœ_â^ùÅ9 Ûcú¦ ZaN|¼!æù°8#»Yœ¯°gB¦ãÖø0c8)§ŸóûåUŽkÄhAö ¨…Ú„ºwfÅmbÓŸÞbqjPã›×'ÇÚˆµ°J(F0<LJ:·ÒÒ¤2„: |^·ýÈ|š*kŠH)Ô̆iÃ6vK0ó¾Å-Ô²" ŽÐ-A±»Ëlt@&ñ/œ«.|pÍ£Òó'›d©†àX³ë©Yúô¤.dÍ4ßyæ•m~éþ ’Õ°­S/ÉI³Q)ª˜üÇS)èÌêÔ^•~¤9ßçn[-:‰¢K0‡µ•–Q,{¡ôˆ¶÷« eþ;ˆ àá÷n/ËËq,RÉ7¸½5ÑA;Ã+*‡ªüzÆ”î>{./¯2U.ø½Ä¨ÀÍ#$Ì ‘~©–d—#TBqõéìLg¨ïàå]C ·r<?kæÄd”sŠƒ‰NáFD³ØÂ€¹y™që/w¥‰ ‹`•JßÂŽ¼e=<¬E‰#ù-.Ô7ª&õ˜Úu§¾"EÿP\sÖÜ#y{ˆ?3ï’úe…ƒ•qœÇ;b nè§%ÚæuÂþ9ÚdzRé¿Zÿ<¬Š¨|Jyоð:ªØöbO×fÕá¬ò]‘ä;‡›žA÷¸t]l¥¾…?ü«“¡ñ{½/7c]âÐòšê»é—/#=ÜK1h,|¯¤ÒÆÇͳƒe'FÒà¹oµè²ÿª€¯Þ·¾É,üÊ‹yúLůŒ§4äcÖ’0"4‹ØŽW`Ù&Pmi~àEUêþ“À Œ›§žjU:3çK×ä‹5ô|Ç~‡T5?ïúOuÈc!ûylÚñ€‰~ëýØÜB^-«ƒ6QÛhƒ2E–Nûh‹÷ÉJ•w’i”‰¼™¨m5•y?¿¦Ž—“mE˜‹ÉTúø{ŰÁö„B|ÀÀj2ÆížxåÊØôšúG²CØA æ×úp¤‡u.ý²7–œÚvæù$) p[G ˜ðv’O]ÛîOT\ôx ÑO•îMÚ"la•sò†oc×Ù¾2†§Sqá·´ŸÔó˜Í3T/Bäî$G‹òÏ>Ç`’ÍQ:yžÌ+±g”Y#bäãWEFg¡ŸÜñÜ\vµmÐ]‡@ÈY"ã4'bÂ׸ºV¬ðÑŠ•p¬ÊÂ@¥ÀŒ¿NFêË››½‡€Wj‘ù8Išòu’RÂvÂ[Ss¶k‡ÓÛmrÕH2!©…ƒŽÎ̳“__6FF’Ý2çUí~ê.áRjqõ+ "ƒ‘žµõÒtÜ]\ÏÙÎ_ÕW£åµP¤wÛ+}Or*o'NÆ›À\’äùáãñéÐ?Ì;¡{•TOŒõeµ¶”àí|pWy/4­ßÄ1nsy§iü&$¢#ƒeÅG“N#·´þ«C[AQ¬ºðÒï¶}ºÝÎÊ o·ÐE´×È^M½%/Uc³ƒâm-¶ûë€Ê~ßâÒ|%(Û­Ï| a5TŸÓõO^C"&m<jn$‚sY£äüY™F„W›Ðê|xÐÔÁ(ú5­í::3­‚ ñúîYÈ£‚„®t)oضŠâJ(X÷3–Hy'iuE°P‘ô*TRòSiÌ–Ø/:bŒ 8,Í}Ü-/çŽ,1;|^«¬dþ†Ïï}E3ög¼™©Ý˜H2VKî1úÙ¤ïVˆÅÍПÓß°/ÞiðíähF)4©©™ÆàÏÇREáOÄrb, jAÎÖÂ)vþAõ2ˆyšŸd¯Ü…å÷/•;Ò‚:’ƒmfá`;2ºD!ˆ''ƒàŸÊŸ¿Ù¤Yü  n$Àz‘-…Ú0°qqÃá–±°7$V¦ýœ4ú$+¡ÎWº›3£m*Øz,ܹê¿säß±’™ù¡`€Ú¯à`ÌÑëèÝoÍÅýh„Ø]Æ,°c&]þËäA«l—þÊb‚Ûí5Š|Ï÷ï 7mI£ûœà-ÑDˆ‡àAÊ?Ä—¢×_ jM UôÖÿyzÖ°øÜ lŒÚ­ýø¾@s6É`¾uÜ(ÉÞŒdbÏùÛ¹"z¹£ÒZo~…m‚W†µ ÚEˆô93§ãm\9/¶¸³˜ÚÙÌW<ÛüPLaGxtLƒÂé­sš`‹˜ºxêIà L£(û!Ë· v‚2þžœd>f˘œ¤—1_%’reTéÏ÷È»I[A¢¤°UT¿JK Á`‡àÒY2ë­ÀžqéÅ »›+ÿ˜ÌùÒŽ[Å u^n éALÀ!ص3½P¯~ƒ ø¸À'ª­~‰]0áãENÉBËýãc S^$Àj"÷©åÙbòŒ–àRæ‡óW笩y,Ï“›?í “»fÈIÿMÂé=JgÜÔÁ_$ÔɤܟÑV[aÜ“ø0¼›0“2W½½ PaåWïŒþD×u8cû-M…HQÁµ»”qí¸òŒ1B{¬ žÝnÚ=ùf¾»ûd/ú´Æbú½amìBWÛ$U¾?¯\@&ýRBùáQG%I[±f ¨`1 ÐÈÈ}Zò4”Šø2 / y§ïvoYj(Å´ùø†š/~t'7cìµåê&hAckW§7º"À|õYÙ”éé¢ïDóÐ)k¯‡I£^‚áu×Uz Ù÷ËLò”…:ٹ éôÅòqAWÑØ‹ý™†EÉ"G’•DHñ5æÝ·×Yw"4û¢’ÏáÔBÉkÓ,£Ní!Ò*O”¥Ä8öÉ}Î Oãs)®'„÷úÜuÓ­ƒdªÜßÁö†µÈ]/ÔèJ²Xú@)ÅܶPà‡ãD$âÆÞʃaÝ5,`À=ÞÓ‘½®e eÀÁæ %–Ôü‡—Ж¯«,Ñ9‹/yÙ‹nú[ È¡-×N\• F|ÞÊ2>„ v¶‡€P†à!® ¬5V)Eƒš) Œ0 >G¥–„:MBk>…§V@m6D&ÀΊý—©†Zú™ž™¯(¬ÛâúWt8*Õ c«û~&ÅcÓÒªt ”æâZ,Cu³»:„ã<Ôa[í»\>U„:ðØ œ®¬\7ÌkQ<$µü’=5ÖfN¢3Tb@Ni›Ê¡Y# XyÃíº>´ã­ñ,“i;¨qb*îOŸ3E€9<iÆ«|­wˆ’/®äõ³[VHBs†b ùû‰¸ï¾•¶vPVÄû¼•^p¹¥îÅêôÚ7›ÎšéÒœ[C-»¼Ð¡×ÎZ¾5–ÍÚn߬Ob4’¥=¯€ªX¢‘¡6š-´çº”³Ã6hÙKg­û;4—è`ú™“Ïñ™8 õ°Á¸aI U-nÿ†xI½ê­cMQ°ÒÑU,?¬ãÊ>ïYUw´:ìò÷žI5.VÜDª_ÚSËô– I¢Tï …¥ÒJÿbÅ /vÊkæ­9¸‰ÞÙÚ›Û'ÂÑ=gF(›ÞØph5öÃÅMHyz²Ÿæz©c>wm{‚W€XküFˆÎuw§Ìäô :«°–½ZÝ‚\wúÉ¢6gçÓû}çŠ pø€º2OײNO—óÜz@ á8øÿ(áð{>wb=)ºD÷æ|)œM;òéø&r˜½ ²ºÙBåiœö`¸«î…þã= [l¥«P¬íªçí'žø¥ØØÍé¸Õ4MV…*߯ìÀ¾wK6Ò‡ 8¡È¬ÕPÍx‹`3 ÀµºpX”6Sõþ‰SMĽQëé |¨NÍXC·pá•–Ê#˜KÈᇙ|qö!:WªLiÁ™œ£÷'ÁLÞ‹à'¬QFF¶ö`]Ë«ë”^³¼»ôq.–‰Š¥„!â¶×‘]ž‹WÄòôlA¦tí@¹ÚýSQcë×ääh3?Ëd ¨>m@âPÇ¥ñ$TR¥Sm}4(UËJºjb?f¥@Ï*@žf3ÕŒ®°¨Ôëê_'%àÏ·Whš"Þ›ÅÕ`tÅ[nYUŸžî¡@•à³Ðÿ¢Ÿ$noŠšMü¼ö|%À›iW½ÉíxüÍ]Ýa…õ‰LŸšW$ªÉPD£øÝÑŽå‚Ñ“o€GX¿ÐÖ}i£*àÛÀdKïþ>é=© ¾}sH¢ÂÊj»u^ì=ð»ÇÚÑÅ3 í=-(ŒÚ;ò¬†™[mع7~;§ãòB+ q犨'þQí¢1zƒ3fiœjLUÆ‚½„lÊqµJ=¨GðM}>deçGœ”<:IBR×#|X?¹¸ *_ XÑqS¸gD£C➊)Õ¥u;Lã4i5f¿nðÌÂaÆA?(G¼¿Œ±»»ôa,tôû ÂLF­%©FWê9À¿BûŠL £ð³CÛʼ‹/X¡ z¥Æ$­C¢Z[D†¿LÐÎvT—$É‹ÑÒs›÷²kÑ®÷bWñ™ü2ïò®t×o9P¯H¤É8y÷8¸R/± þE½ú+‹ê ^ƒ›^Ï¡QB×-bËûóVoç¤UÊjzÚ)EÒ¦îi`Ù]›÷>oÈWj™ÌM ˆÁÎêM` ŸxL¬kŒ”ŠÍ¢Ëäÿ°:;(l?†«kW¡á¢{¡#qr}ôÑá¥Wý «R8í…§zÖ­Ò&É>â®3ß4Å ÔvQÇyË+Ó݈rp,k1=Õˆ‡”™IšÇ¾ƒm?†/Ô<Ûý75ˆÌ×ãUg€Õ3£ ×’±Õ£¶‘™Wµ˜ªlõß›Ÿ=kÝÀ÷Çsïc¦þõÓñ¦W<¦RóCi?g=)y= U!Ôl·uF£p\Ja˜Þæ°R”AF¬ (Ç`÷,u¹ >_RF–Pl²ŠP#`š\‰¨8 ØFÈñØnëWÙïf!ŸÃŒ&“%vóEDVÚdqqÌ/qLo7ǃ!q÷ýíBt6ÔIÀ2¥t×wrñ7IXƽu{vš(¯’e}yÉsVQ3xQe)NÚÎZúÃàôNºìW’Ú/‚©Ëñ]¦y+R€alòõ€¢à¸iú‰eœ´ .¾¶³Ñ5 RËŒWÊÓÊoÅÔµõ (ô´{s·T©9 оun )=Ù"_w,'Ñ.Lû´í«Í';!¡¢¨¿G¢2ÖÇG–ÒÔõƒ8µÞ‡’J¦Áµê²Óe\ÍcWîgl‹¸2‡åPÿï¥h oŒsÑÇ‘ ‹®Z¨j µ¶VïÇ”&±Þ¤)"¯ô;ã5ãèâ•ESÅI<{(Y¹iv°S[—=–\¤Ï¶ùdùUê%ÿfOÊ–h|ïÌŒ.¿^m¯à˜ýC3JîðR‘QvÁÐ~:ËZYHü<æA®Â ¦/ˆˆå¹ávŸ@y3sŒ¥Ž€âx¬QSY 4&áØå[?Z¹ƒVK²ÀZ †±ä±Sêþë°ÅGÅh@04®í†ªp4ŒƒÅf…ÒŸñL©F©T(—×zÇHF^ˆê€Î΋fÕiIO™Z“iñ4{úy]o×:˜™\ƒ1µ ]K¦¿¡ZD] D8ùƒxÕf›Ê—Çóh(Ää㈪KpÄaa1É¢ß2‡‰LÀrêZ`Õ„‘aå…Ë–—9 ÝâB»Ì(Ô½òÐ"vÉPèÞ#Û¦T“E /ûÐ(cmõI°îé=/Fw×É¥eg«”]D)ÅïRzóÀO¤ü'|ÎdÔ¥5Õ*¨¶æøa-åþ ZsËìyº½‘AgÉ9ô=ªdf)tÝ`V¾¼o9·BÈ´ 6bÄy6³4ï.޵gå1Ò»‰S pŒåxR0©ËŒ —!ŸŠâÜI2K–¶Âp&œÔ~ð¤¶þÆ$`4ØÚ”_"¶T syãllGxëŠ 8 œ>‹´?”Þ&uÃøká~)ÏšPÕÁJõÝ2BNØósA¼´Piè¼YÆ —;=c¡îî=¬Y¶^ËáoÛ(<³«5¥ &M(r°8”¸©ªªÔûaù]“S:+L@5q&Ö;aB¨•!˜BGx€2i¨ö§žqP—œyðªi¸ 0èôÀj©£;Üf‰m—®ίg†Ž4h]|H t½¢|j]ˆ•{ørºËˆ`’x;5våRrÖø³–ðÀMßBÛ!—ê:Fê>ª¹-öÜhÑ'éˆ?"þm^¨«ÛØ×v™ÿ¶òrù®4µëé‡9ìã¦~©6þ}†½¾ I¥¶—ðï‰Þ¶PÙA®ú8ô\Ô}h«ã¬Òv.?á×±n n‡—_»Å´°šÙÚX(û)âf%V‚•LJuA°Äs´MP‰P•¦òS³¥3´\¡àbZâ¿BaT+áP½³±Îÿ[È$%Ï•jË5Ö kÓ[•Í_ ¸Ù¾~è>J]½A(Š)~ÖüÂÝödÉ‘¬Žm =—?ñÑoA² S耱$]®¦î‘€ÒŽÍPÏaÛ¢y,š-Ø[ )µ‘2!9l¿ •ókü¶ÈÕŽ]›´Wij&ÇG/êÿqþß9Ê%ÆÛnÃÁÞÄYÿwó5½hôàò,Ø¢x…¶ê3Ù¼ANMYU“WÙàÏîûtãk²Yoh~ú"M¬ ÿ5"¹=¡áoi¯®ÇKÙŠ(5§[<%ÏŠ”ÅT~X‡ÿP>¸'XºÉì¦|-ÒOAýÕ3†œ§ÓŽ8ÍmL.¢é¿#Â3“•Mòäo™Ù§Ïú{&ͺÓo•¢äŒãf7>ë#‚ÛC7µÂ÷BPõ›ÛKúì÷w’þÃ4§‹¬ñ$ž~*ÉÚ±«…‰Ü¨ œG_Zƒq‹ ¼Œ"@ª'ÝnN»Þ.]ºvFÚIÊÁ{¡¯ò}qô;Míëx Ìo+«¤`·_fØœ7C[ð¸QfCϘƒöálu«ß —jûH¿¨Wã5U(ØÏ³‹ó#âU„ÈS"³ÆNÍéˆ×|=FNË]©Ía–k[¯ÌìˆÞ[D±ÁF+‹á0êl ùĈ-d–1è'›ÉL•U¢+vKÀ´1nPZœò*£ßï,˜ò:\µÄ\Mm´³§ÚáŸb,TÀ*Gb¨åv´fzô ‚'Ô6ú‡Qžãåû)±ô4ãÿ7=·|Ð+{6ξÐmÁ]‡š+Œr¶Ušv-à(K{—­Ðjfd]©ªO(3/¦¬;rû‡S¯bèBîƒ×rÅÈÊÜøÓâ…@‡G€yXóx—QÒßM{P8˜ƒgãçœM %ž† ó®Ü˜ð| ã^‚(VfïàdÑcч›…3…=ªw0Îêö¿†4†},˜Ï‡ w ¡Å³{p²ìÓßþ…zpUãòX‘œ„+»5³2 HZŸœ ¯¹„#¥(ŠVÔß½¤Ú˜¼ÑÈ&Z^ü3 WñeÙ‰Ö]=„™wHaºöŒÊƒÃfÃþW®¹¬Ì“Ô8†‘YÃßòþÞ.Ëæ öó­Ÿkw«õ„EP®¢ªÔä£Ôf¿šöö,9§(x_»w•î:p-h£a¯ÀJ2È8½¤‰äò& úÇvJã•dGkÖïo†©Ïx}æGEjÉ÷XGõ} 1ö¯Ãú›_ËSÞ;÷d}aèn>«ÃX–¯+•(¬oL_ןò ù~ûõq̘Ù`IõÌ$÷¨ËP•Ãm¥U©^&T°yL/HŽM¹—댌) ÉÀ¤ÂåxầËWüü&Ö>Ñ©¼Ó {©î¡l߉mÏÅy$Ìò&ÿ›Û¹»4rM¢L‹yV+ÛcÛáoùHÑï€}“ šV¹Rf=Š+üèßîÆ¡þ\³½J#Ÿ×d“}”Å([{¸Kô¯Š5Ò„ž‘u‘#3uÆ”¶}*Dy˜ºçã±KË–¿z; Q†~Íýo—UêöÂIrÀƒ•½5nÇñMjOØ«Øb‡2 WþC˜À¥”¯‚¬¯ÕßSFéãw®>ÊׇA!öwøç©\âªUGÒK´Œ¡ÆRØeÈË6%¸”A5 z–ŒœÔ]º-[ óš-jYL XýŸ˜éñèÇ&ž?f‘\¶ ×€n‹5ae-ôª™-¼Ü»–'jyQÛ\¿["ÁÁ”|ÏÇ06Ò‡KJ+h¿žú%uÞ‡ptÉ>ð)2~äãv†`¢òÈ\K—×! s1, 38˜Ýaó\]áÜÀʰiÉu.«åä0ŽSgóñLz’œíšz¸œ¨Üð”k‹ÌˆF ö¹¾èo]í¯UµQrk>å¼Âäkœ¤÷œ*ìG”íA*å‘4”¬&Z)BQ Éé­“«ŽÂpGñÐË»NK¶ÐΠŠ2r<·‚r½„"at7¶§|®L¾“?ļ@¹u2¦*‹ô³ú!¬>}p‡š¶c7æù†ŸÉnùz°¨ÌsHká!ëæÒm¸ü0QWùµ‹R0ý`ïÏ5·¥{„îÞÊYzÒ^ Å>é°zRòÛ>.kÀЭõ|/ˆ™ð̕ۦ‚‡©åO™fã‹û‹Æ© °^#Ì#ÍîL—ËÅj„JµÔ»—}ŽšÑ-'#óÄ”üÉäÕš}¤D^LËGfº€ƒE7| ÄŒ ð=…ÀP]nâ¡ÜO¿×§˜œ$nÈ}ÅaÛ´„ðz®ÐÔÇ?‰t·[Èë¹ÌÐ`Û6nK&A5*¶þÓŸŽ»Â;t¦Îý“¼<ãÿ_Û8B‹x Rq>qÑך1ªƒQQÑ€ü•F¸¢:ðLã€Þ òÙòàÌik„Aÿ˜þ!œ>‡öõPÊè`„F¨£ãÇÐxƒ™¨ïA‘xÈåJz±Ê7YãmDääâY0¾bïâfóÌ:KTÖ[ sžÙÊ5ù)c¨œ®˜Ý鹨òË?Ÿk‹.O\—L1+>W{,åÿ‘l ¶kZëw¹òûËÅ­+3ÇeöáÒ€FCU4n»Ù“ ˜üç©·M¡K× h¾n¤Ñ»E`ygÑB¢§]&õšvÇ~h2 ',ÿ¾ŒriÂÍÑÑ ¼$L²©]é5LÚ_ãÔÌ5quw°Ø«ŠÓ;pìàÓºÞzÑÏs§Äy¨˜òw+éɉ`)Žymd]ÌÒHKàÉÜÔb‡]s"q5úé²îf·cÏPAJ«äÕñxw#Âux³ca 4«úð,•D5D,ø³Ž0Ëõ“!À£ÂAÇw”.ü»±ÒÃ_Ñ€%qt~4É|±Ë 9èüB†lñÜ·WÉAnP,—yœï#°Bwøœ™sr“<íçE)q­Ò‡«Û¦à"jª÷FÙèGO@”ª„“y 'Xi¼Ž^Š}ÁôX,Ýø”êEW“àï•n›€…Œ?‚'>I¾ƒÊáñR.3º=(·¾¨QR_¤7N{Jí¤Ô—71¾ÔÆÑ{îÔ³ÿ?ׇ¨Ô'"Ä¥è]N¡ÈKŒ¢aNHXª76ˆÈo’ý2 _Q­;3îé{«¯„\<ÁÏ‰Ž¸gùxáèP—¯_×ÿâùa¡:S|˳³„üp^ƒÕ‘Ÿ&Õüe cË ù‹/Ńs~ÉGcô‡—»#™&[¼«n<›¶$ î Ÿ@:u‹wËD•ÓïZT¼ 5ÕÍU‘þ'=¹ í¾ÔÒ†qš5œêÞú¢à3D\J¨÷cµ‘*ÍàI8¼·‘Äê¶wU;''llÖ¥#ä0uJ:Íν—™è ‰Ê¾kÃs¹_¯—@e‘ º)EÛzim‡.»¬Nªá?o™¢º¨Z3“  kÊ3Ê­&¼/U¤¦ÚK *%±µX¹ß÷2Ó:œ“¿Ô©•ùO¾}Æ}‘ ñ¿ SÜþWí&ÀtýÛiȹL'ð„3€3›ŽKê´Õ2ëù’ÐQ ï|UFɆÁ6nVÒY—$R›ÀÁÅ ½¿ƒ‰Ÿ\à"$_×Ó¸ßgÖyÏrxâš­ú™\‚¶ ¹l._Ê,-h-ޏ Òàáî‰ëPŽéÕæ¾1-~úñí­±'·>ÜCrs’¢ ÿýòþ(´¸ºÛùž8/ºÜ?gZ6\¾â¬¿ÓÂuüÿ£Òqo£ÇäœJò·–¶>È#£Îú6U_ŸQ¶Õ‚úxëÔa«•ûhu¸Ô\MémB¥ç¿é.ÚÈüáC›¾¸û¥#¬§*pŠD§ìN½Ž=Ž_Uæy àìBS5`>¼æ[pî¶#M^MÁ—/­y-Œ¹´Ž¯~0…÷ÑoP'˜4õt÷ÌÍ—>¦‘Šul=JÍðL–ÃÎpDDòÒè1u÷BR˜Ãnë´®6IŸÕf ÿ@B±:àëýr̯åäÀ,×ÄÇS¡bÄÊY+ž[nÚœ øy%?6\9Ç6EimCWŽœçÊ›î­:¯V-'N;ql}N=¦®·ÿVáñul\‘xá§½¨†Osÿ6Î×#ÀJ ^ËÝ¡*šÔÁS•Èé­âܱˆÔ¡Qß-ðôTɇÁퟹòỢbHœÖ”ºo4âuÔQRqT6‘Zì¤cæLý‘‚ë{5Ó“¼ X•ØŽ&³6¢DûPŒµÑ$£Ñ£‘Îf~7Kƒ·W¼n}î³ú.…•¢&ƒ?8€Yj5f Vu+|g–îÒ3#8ï{e góa1÷YpÌbží`lÖò›b(÷B¡áaŸ4©‹m,€÷§ûcè_ ¸P~/—Ð*2”椕ÉöDþM9‹ttln$ ˜ ôK¬Çvbì;'¸¡àØ*©JðsÖ‘Q8áÄ5±Înô1ùð{‡CŸ*õn£¿ áÀ¬«:ÇOCÁ¢™µöré0ㇰföÙwÖUª¶Ìá\ýk¾+çܳeÏÂAPÀ)A )Ff7"uòï.kèñÄd.zš¸k|t_k¸„/õÍÍiÚ"M=)šÙ Ýj¦Ki ˼éÛ>y8(q•·ÉüØÄô°'•{îmÕ(Š`ë9–Ÿ:ש®=`¼ÇÅ£Py-ôeË_œ3ÜÈ?1`­¢h¶‰´?ŸR]ÌÀY£rކåAûÜ“Í P• ìÛÇxsêÀ2NãðIöŸÞþ~.@ZÚ>y/5.ÿí¥'«ô-ûÌÅg6 }oì„?ª¦Éîà?êe¿éqÏFÏrljêô‡8o“µþiëK±hÊß+›_Š‚÷„ÜØx°®œ“£ÉïôF=E1 lôÊÿkùB¾  %hÛGRÝSÄΆñ½Í¶»7Dø7|êWˆ(Žg g%¤/—–„£/@tTiWبUf|raÂt„!Ík<Ÿk+‡ÑW˼yyç û”!ËÁðÉq3Zþ˜ÝðÚE7»«RwÌg’µKê`m¹Ã×Bc l?¡CGä?3Т- §ÂfRc¼äе͞²sñ":b•[Þ{9“IUâ Êö\ÿÊØ2îB~pÁù;Æ…'Ó¤ïûŠJ̯ŒæÂ›\Ì ŸOKoøZl«OM”Û)©îêrFÌõ½ÊøÊ3Úsú·ìTrH>Ù-yHÅ­{û2²ž@óæj¼oÿ<.fIÂ¥¼åä®xVÜ„¿ê¡ŸY9Omë sí‹GmÙMkƒ†˜Ú¸›úõ6±pBÀk²ØSÐÍÝ›Y†À'û™¨ñÐU×æÐ‘ƒÝõ€' {†7ÿOË={b»2äÖÂÚ¨¦ÜºÇ£>ÌeÉ:»@ÜÅ+ÀQ;…7³BËø†­%GaM(=žÉÀÞ7Hç8bú$€y5¾6ÚçîÔ°îF< ¸ÑÏTÿÌ&­†…^Õˆæ­N'QP|«¬àÚ¡Ý åe­‘Êß4ÿîT¢¶VÞ¤`øøZ¿…aÔœ´æU?&Çš8щ¥ŽÞXrvãè¯ „_üØ| Ð o[ë$?}”#vAPü.Òõ;Pìôl©O¸˜g£cL£éuYºðLoYk’'©‹Žt9S4Qåy…ðºU…abÐ,ñƒöµÊÆ Àu\)ü@ü¡¸k%ë 3µwDçí8ñËx×J©ÙïÀL‡˜ˆÓ¬ê/ < ù>ª™*@:í±‰c£‹ÑŠ:u¦–ÄlТ¬3V/sgÚý9ÊÃZÒM1z)Vð7úÑÀ¹T4 Ø_Bc6¡#ÒÕžD¸¶_ûнkboìV+Ô.*cÜètãlŸú~ù”lûǼ^åS‰Üá#ŠØì¾]–ö˜;+œøó! ïp¡Ë[M˜çNûÃO!s ’ËØSY«Ggf±±ŠÅL’”5¯ä¦ÖÐ"Áf¶™­’¡ÇC/ ÅUPÕÆ/i~\νu÷¦ðƒÔ1–H yQúRÊ-hÜ3Y )ûËÎg*~¯°­§ží ¼×ÿ“ÓSÃÓï~ZmÂf@užº%ÍJo7Ò¬-0ΖïŸãÚ`0›9x?ltúãç˜m€`i®^n¦Û§Ž`a^g³í <âÂ|“€o›* [NAÏ÷ eS}¬Î?!ÄWÄñ¥ê¡­†QO½ ­þRI‡cùÆIédûj}vD}5]ɇœúm¦±âý“ô­hª=Z£&ݾôæ}ÿI–£VHÄuoóªë'Bƒ„ĵm@Ý$—"Y]ÿ³3•ÂSsu`5x˜ gâÁýmÑ´’ìׯ9b}‡ÿ±l´‘–ÖJ^ÞxQÜÓä[˜_3ºÈÙ&¹Í->Ý߯X9ĦÜ—|ͦ[á¦nûzâÚLÕÑûä¸r@…:D܆&«P9~=­”®íÓ#Ó“¼… %šh¥îº¸uîæN¥@ø _20ÕoËB‰¸añs`²£T ó£&«znT4ž»oFgâᕆ/.÷‡à˜&^bE?§‚3!2 8½†¹鬸OkXú³|øN¿`p±~rŠ,ëv»Ul_Ëb™ÍY$cø™–Ç”?Þ0âÉé×ô• æ®õoxHúQ“÷·Í9qGþÀŸñWK($æ_¹äI÷äÏ‚9k<Ó¢-:'RŸ®ku"êmY˜lïÑ oªS¬œÞ‹w;Ô±ýNAŽóª% =ÿw%ÎÉ3_5(ž6à<%9ˆ€ ȉ ¨f^vܼ’ãh7¢‰ÉGµ¬–Ó€^„AÛÀå±\nÔÜw7‰àÊŸ^ÔÞ´æ~Ô%㔥oa÷KTCÖ͘‡zª(Ç¢PÜB¸ôõ±áP·Ô¢› Ý4ˆv©IAΟ‰ýT]•½GĶàz„ÒÞ†l‘QóŸ·“tßø­`Ä>k/”„zˆ¶ttךå)%‰Ow]Áæd_â_©º1ê„©á˜Ú`·ˆ×ă• v”CmáPŒ“t8’F¶RÌ˳ӆçŸ {BÍêÙm\qêþ3V!·ÑÐyÌ©ËÎX$CÅ’®ÈÇÆþpO~ƒ–ŸÕÒž«4ÎÇÓÓòI,0¾„âÊšƒä6à,ÇÛ2£œñã„\ `¾SáÃl%»‹ð&ÔÆÀJÙ£}Š#ÈPß—&(~!½X ã`Æ—aé ³`ÉA¥ 1'B+·’µ!#zdó2‰ÿÈ‹‰ù\ÓÃŽm| =R‘ñÏ|3Y8ä'Q`¸sWý”þU}»v€b„´ôO³ŽK݉ø9kÊn‹¦>f?˳pü¼ìе‡V1äOÈ1pÓ³ÖRE©cõfD[ÂÉ~“0³•œñò^ü/ÌM†RÇv0×á´Ï'nî¡¿¸¨!'˜þ‚€ð›À¸uXÈË¥&fGS¤$É\Ø_×,ª%má?V¢¦ÎÒ)i!e7[.¾¿;½UwOúS.(¬·•–A7F¿@òÉö˜)p\?¶^MKgn"=eC!ÛÄiý¥>›Æ@dW žÒ.}‡Ä˜„ œ'K„™{ ÈKòr¥)?§¿¥ë":^ìܾJ}Ð7‹G.æøxÜ8|Ï ~ÑüAâÿ>’‰ÜÍ8Ðg&z ·Äð“½\ßæâ¤ÃÜó+ÉÃ"M¢r½/é²õ24v½ -‡ÃáBãi‘Å%àÝ†Ë™Ž°_>´ ˆ¯ªþ,°"ú+E~Ü—óÜùXU¶îH.]4ºîê¢q}£ÓºK9Ž,fŠÃF ™Pž°©צ›4šz‹·¸ü}8Y]hˆ`mÓÌ‹zF3É–µ.8¯º»ùê<à6X @î3þ`)é®þŒ ¼•‰wÓ8¦hdyÛæË${¡"1úƒ±Â¶E<5§¼ž(Ƀ¯t@©óéù´[Lq}=/Acs=è²®YÑ&zœš˜§†øíÊsG7W¹Rš¢ztì $ °\+Œ"\”Æ0DO' wK=;üOâ€Þ¶ˆžG„@X'õ¡Vs¿‘© ¢ôØÙ ïXd!ª1´J„O¡o ¾]uIvR-+Ý’زU¥0–Þ€Íè#M¬¦‡ÇÓÆÁ%¿€yúë±v˜! R,÷Dvö4ʪà§Þ3Šâôõͺm‰#3ùhëJ¾VV­]½@ŽEÉŒW~ áwÂ’"ßà7&,Û:ñÔ²òÝ¡÷î±Ï„4ä?c €a¾>ßUÑç¸jyQùß2(}!Ù<ý‹mq¼¸B´ R3SÜK*G/4èÔÓ̲°ÀIõ#ÔN+ 6›T_¸.:e c9³È\1W «}s1†rãߨÉQÀ) ¥—N%WËÂTb‘‚;ƒvir÷ïŸü¢[JC`ÍNËkªôŸ;~y‡^ .þ‡&›Gê?9æÚísN±†@ôy“ fâ]ý¨É?=¼Â«€;R±Ìmû{í=a>eÎb-Y8@!dÒ¹W¨—ääKË™ŠGØÕ56-å,¼TlËøBvû͹#8‹Ä‘ék?°uŒ]DQÐëº¸× ØF¡œŸð0™¨fÐwƒñ6õzìRíe'9îÛý´og†PsÚ:€Iû`C ÈLŸ.¯¼L»ÎœËÉ>âzÅV•—|Iî’}F¦Ñ·oX‡Fȇà[X Ça:4-Fg¦¬¦ŒØ»Y5_ aÆTj~é*­°>j„}ßݼ«Ù­% @d…Ko Eí>½|G:beõCÁ'‡bÃØ3ùñKlFÒI~F.Œ0n%lÑpYi÷,ç5ÞP¯JaÎ$YÞʆòb0“{ÿ•tÞœfêTž>ÁV<5A±0l¼‰ 6+J¸4š"ÑíƒùÎ ó.eÏqÔ÷䡦0 ΰB|{AeLg2—ÙIÙ„PY©‚„í»¡N!'F,$™èè!(v'–ÓˆkãžK¾@í¦üg´hM"ߘ‘”# $w¾e¯®³ŠvëÐe¼ôœR„ï¥?&”¡ã׆-.5œâš®Ù²öômjo‰†•èå¹ëÔ©µ›J‰«EØ×÷Jt˜¿Wý†ÐÛågÀ¯% ¶9ìÖ|Âø ·2Ž.¾<ζôC´1¼Ìq4~0ìžXÌø1dgßc'tÿäM[‡‰H=_æ¢% øW[¯hÓ³Ap)¢Xo™€7EErn[X‡H—›Q, Vì½Ih}—Oägï@Kq;jqñÉÎ.süÐLqH±úq÷¦{¨‹RW#Ä—_m µêòAJd;©-©éä/=Ü„öèâr(¥ö}Üá”vÖ8Ÿf?Mr ô´º¨…FÔˆy2ÿ¤d°±pHw… wSÿQ HPcÖÍ' ¢WÕ³2Gvú )%˜\é's˳yWïxÝMNJòÁ5I@m¹*s›K]ÈL ~«ävdºük( šÜº“Î>‰fƘ$Ö÷¾ÿõ£ÜXjNGÍä®ýÌjœúŽ#: Ý}¸Nb9®HBðwùœf8óY{$ZÐuPI³‰É¦üš ·ý6HÒc&¡›—ßëÚ?¤mµL'M"T=ÕÖ‡1çë4`ÆÉïÀ¨×Q91ëÁcÀ}fãÓbÿ{m=|ýSTø‡üI2ÎëøÇ!PùT²îàÿ =„_Nm§§ýi¹@>Ë=<0’ö€99áY=æñîn(à*$u¢n´ž?˜¤ùRòW3è¤(ÿ§èIeo{ë%;hcÒïœx~š†øx;£Œã÷{¢¶¦”e‰.ûUÒ¢Þ ˜t?òÑý¤ð¡‘È#s ï±¶MbaÅ]ž&ÛNþºv”`†¾K‘÷óƒNë|oqÑ…„Tš7®Á÷¢î9pÝ ÛRßøC­ »Ò™‡n-g2Æ‘õ':|4Å$±U_QX!øæ(¿(„†§„ŽqØhA¡0"¦B´ýúÜ’lnUXŒ„%í¬íúÿòÁþK¦{ËÒÆ¸&‚8ÙL{P £ü„Çè ßI1pGx®Lç1Ä›ÙåJe¦ ˆ‰ÓŽaèñ:t~IÏpédƒ};Å yÊl²Qp³KiiÝVsjÏGlj;@˜ÈÇðøµ>ò$ÊW=|6gÈ/?7~Řx@!}•ÌÙ”˜É·Ãñ'r«NçrНÀ*ðÆdÀ?\§½àà¨6­«kvÒ——¡ïŸ„™ÏpV&jÌBå>¨¡‡0ã¡Vö£Ã¼“Óü}ªØ©òJjÕ ù¾~‰¾+R˜ý6¹Ú’Ê»–½5–Åì‹À‘ˆA2®’ ûÒ0úž,ºX/‚("Òýn‡.zÙ2Ò;_çèÁÆz ÇP§q¾ëã‚Ò¬  þ¸±VÙ>œóÞ¸"Óæª@¬g“‡°ö{¦o's}yôþË*V˜×þñÙZ>zKC .r–ºKÈÓslû»³8­–žTN}ˆMá@#hÕáüD-®W¦šIúI‚ý†Õ÷.Ä}Òú ,˜ò…Òq”Ê‹·æƒÛtŽ F^öQSç»Ï´3R*|m²ó³Ý‹ÒÁ¼Ó$mÞÊ¡%·5Ю“|ÚC~@– Íæ´tøW›Fß3{Ìò8Òy?mæ8ԕŽÀÃaüNНã{¹~D°Îø:ääG÷&˜×CÄ#¾tBÙ©ˆj´‹pc6NÙð%Ów ŦùG"ä]K 'ɹIõåÕBÚYzrD¬Ò(ƒžµÂ&àÌý­Æ éó[–uÀsduÙŠÂ.] ‹ôM5ú8á“PxiÒ6„q±¸¶í1cÙ  ›ø|Äe»Ž`õd¥ý›³¢¡e~Úª@Xa:\Ý‚½"ð„&°"à«UÌ_ðJoÓ³å²!ÑGO*‘rС(vÍþ-5'„4©FèP&hÃKׅ֘n–òÕFn‘&-¹g{y!wH8OßÉO@صùÀ­ä3IÓbvv÷*0“˜ÇÁËø73Á!´»C@¤ëL}ÇðxªâûœÝDï®>X=ó¨0ÉÈì8 mC>Š—"ˆa#– ž“ˆŒ D±Þh—š{T}Étlq£“€ÝÙ2HyC±>iPËÖ:ÎìKå›Ôô”æ|-Kåv8s%í齯8Ú€ã輿¡4Æ'æ4à(˜ X5û8¼q›ÉZcy$ˆáX½7.»9ØÄ×`à­¹&ÑãìPÇÝçA|ÆÊ”}ðʸKÁfIc&†UT+¾j8ûÃK­öILÔ‚@ª2Xd×P:Ë•ÿš¼ÿƒt]]×y”Ϊ`¡qîªWën1Þ%ãÆãëkahôg@.ƒ”©rÜ<Äx6§=ýÕ©‹SZŒä[Áˆ]uÔç¿´}Œc©Pézÿ¿êñ[¿x=0ï]• ]¿ß+¶ ”×° ˜PN¥Vºx÷¾6ö¿š”B’ô€ú[ðk† Ût'Zq¦×9ÍWæn¥Z(îGLòš\n¾òj½Þ—ÙQi˜3iŠOÌD<´:£—€p¸nÉ´U:4[Ò¤/fûdÌ12S7Ü`•Yå™ÍX‚ü®ý ôþ˜cÿ”r`°Y’ú EkÈìÅ0¸­óöívô; F’@ ‚þ&ÜÁ{7[ׂ‡ê³ùå[˜ƒ•eXkÄìI‘é?¨L£I:Çá„Ò!}{¨Gs³iGùž ;N T| ñHJxå¥çZga¢“îš.ÄG —hÜÅŽa&¨kKÒi,ÐhK^wAú‡‰4KDÍz,)?\Xë«> ]enzÏ3*<µûh¼,_†˜é+qÛé=ËXÆgð_,¬ôŠƒW×zÜTµ.i(-AÏÔŠ·pn”}»€Õ& [>ãA²ðÓWusŽfh !ãN´¦¬åbº!løì_>@`4,ñ.“ÈY\ço[P¾‡êÃ<‚ë.i¦£‰d•3?kþX”¬e¶Ã³[49‰‹€¯Ÿ:|i@F$›z¦Òó†•W W±âÏ-?†&Òì¤Þº£šRÙ5omýQ:˜¦/¤ q‹± lû(dŒ‰8¡ž¼!KH/§7âcL@‘µ£;§Z%Rì4¹³.ɺb‚^«ÆplùMA¹¿‘R:N.œtÙ4š;Z'¿}þ â–0%W “¬¼AùÈ›hÜ€Ò.zÁ _Y„ÿô¨ÙÈ)è›c½-‡ ÿ¯ÿ,‡¨3rÿß=ÅB ì¦F¢™+< ˆ'G ÿ±Îa¸¿üT9j-rpã_ S8&‹3³+òϧ MY²Zl"Š‚c8ô•$CÞ#…9õì˜6F¹àkHä#ÈY+ÒgΓ¯ó“*†ñ%!ej´³Â<ÍN’ÖFÜ Ê/ñ|ÑúÀ§‹˜Ê]Âh#BNbjÒ-ä°=H•õ+§ß­, ŽèHŸã”6™“m¡PÎæÊÜÌÚ>p=«òzPÀÛ?néLó€Väâ¼îõŸˆ÷×fYì2ý¼~yα´ÇÞ´™[Îp>¸®ŒÙ¨sïñõ%S“—Lɺ´xnGmPð‰ 9ç8Vþø Ü­Ô3f^~~©XÕ†«DÚAÀ'‡Y“a–m1`“æ©Õ-_cþíÛ,Qʰ ¡V(ܦ6›¹Lûí'{¤ëûhÛDœ¡]†Š\'ø0©Oÿ¼uïMÏë,´1ç˜Môu¿:“ÀD§CÖ™`r‚vgàÇZŽ~)Ì?L Ù¦ãU–­¹o€î×ìÓc=5#]ÂNBñ¤:Ydº5k†3°¨ªD,;gªšÿ瘰Ón°Æ?Wb ësÐb2ëÃÝÃ{…߮БÐ$Ý6Ïæp-Lܨбum;ºAö˜&Ó#˜Ò’ú=ÆDŦ òO–™Y í–µ›­7g†1ûPmµ1}=ÿ°ëþêZ‡£U¥ø¼óI¹1FÃm/”¤œ©‚V ܦÝe½Û«YCÄŠ„f¿eú!A—¤!…·b%AWdÒ²Xºþ ’óç%="×áœT}ad’ü³Þ·_Ò)™FÊ—ªð÷Ïà¾'ÿkGj.ê¯5S:à9Þý°wú$ڥҀܺûQ:s†] (û3å>·G4¸Ó jò]—)x{Ž¥öœ-Ñ[çìFCg¬E;äÐ ¶‘fÏL[È[.´Ð]‡nAß»½*¨&(Àùƒ’ƒ7+e&F¾[‰¦Ë®ê-îO#>dg±)uþÖ>æ6 ÇrƒÔÉZa&-@„íÙî¶Æ ­Ä!ê úhŒ_‚…Âzïìêî‹Ö }ÊwßžŠ~Ê/M ï¼Q‹Áü³£ôdÄTÓ¹·¼[%BÞPvœ´ÇÌÄc¢¨Æ?§ÉDÕÅbu~k.c îäY…Ô0ciÄ€o¹Ü~^",^•…?­–j‰Æ¢úŸ¹ë/Ûà-êšÌ³ŽgšÓÕü¨Ñ¿œ¡ é¨òé‰ô;1§™~¦—6MQ,øbî4,lòKÆ$0{bâÚ,š¤#¾Ôâê÷æ¿wNu~Œ X­'Z‰" »?ÿÿÃ+—Þõˆ¯NЇ^Ý/ü™”žÔø…ÊÉùé@ø¨×}7ägü3݈†÷ 2Q$¾Ñc3ºŒEH·½{ºÇ!îøÏøòf錷¦ðš)Ìøapªº-º¯–‡ Çþš‚„Nl¤‡> ôÒá‹Ùª˜È Çw&Ö¥,î“&Cðe[/²xI9<Á;@:Ž÷ JpPC¹ÚãÄHô"}ŸQ\¦š2`ÄI˜®Ona¢>³1ñ¨²z¤5ä’ª/¦æ þãXtÁõh•ßMŒ`ôL!¶ûZ”7ÐbÞ=;-C•ðEÉÆÓ Îô”LüA¶2FPGòž™úp¼âU(ô’rqϯ­€H‰pðôšÖ¬Û Z¡ 2UãæM3¥óO®×£ ô½öÓžÏ<}kOÈ)Å0†-XVoÉ”üò&Ô× ¨ß*ˆÄ¿v·ÚÑ×%›~ˆã^±>ÀÜóE6<ØÞ>¡ó3ŒHƒŒY—_ÒdSU£Çyt›PAdûi;”ò»‡1ÖSòýFÜò¤ÇuéŽ.¬¬QÖŸÑ5KM¿¡`ÇèYEaV¨§>QY׆,üÛv¤¨Ð¾æ6Hð,7ò`m I˜œ¬TöîLÜjd 6  ïÆÓfú,ÑEÊÁÈuåaq¡Õ¡‰¥ˆŸ“Ú“oyK c{%æëm¡+Ë€qìÊG>‘K÷%*2kìíNÁš/«æºÚðaÞ7 ¶–é­TJÿÜ'8)—Æ j•ÍÜÛ-¾gf¹þ¨ ÿ~£¹¯2êßýo}šˆ¥v1³ìÎ`ÝY_¾»²g¯ž¯ xÀü/î™ûžolpKèd(s Qxk˶p||ù–§E3”«+Ý,°[FB–úøø‰TûrGÏu»@ÑÔ;îXÏOóD$¶›Mö{¨ÃJpŠ]\y#ë@ÅMS )ú@A&=JN¸ó€dï ¢öÎïäã.ï&O¥×…|/QGWÈwð`¥?—í^ýEôOwÆQ+Ãz0ÚѧtöõŸ^R€‚·®öûEq%HÒÑ}£ç•çNÁV;æzÆð¯\ÉÎý¨!²>>¸O”’•7 &ˆ$uSB“"×ÝL—,z*h%Ÿb[q‚¨MÖ^ ¹»–¡{šýÇš¢\ Á:©ËYÿPRíˆ$YMæ „¥˜Œ°²Í[fñ’Üzií¾ª8É¡÷s w< nù£«¶¥T‘ôˆÔ%ÌÂ÷B˜g/ƒ  @£êʤÐ? k¶A©[iP`5ºÖÉÒ Û*]ø½ÈPq4¾²Çäv;Åó×ø&aÀ#WDs·ÄýÄ‘ugÝsHïÚP*?,ƒ‰Ã«õA4p6…|áû&yYP$2—LFÈ1Á‹™¢™^‡a˜ÅÍ@ýX÷ÿÚÅyvÂéÜ0øŸ½ÎDŽÈáž]qZºÅŸ/3©M] æÙö3¢Ùe¾¤‚7à,“ºï9gû¯[­òønà‚{‡p5åÁúVàõ|‚vóÃÀ§W²cÐ8 ãß9¡‚xUâ³b¸*fÇ^ÙR…"àÂñvÝä¶sµ†bŒ¼ `¦{j2¬qºÅžð©‘¡¤(¢ãÃ2JŒîÎV²=óVPsQ, @˜FŽ £bM^áÚÒ·…c«sÂ#Pì&S1¿ ОÓ@œßÎ~4“«_‡Ë-¯}Úœ·ï8<6ìä:ÖöÊ5§0>óRMjE'o+û Å ûùOF?M‘õÓÁÒDË¡5Vm‹¥jðš7Q f˜Æ®¾,]›î°iìðžÑkñí‰Éڞϼ,á“¡<UøfÎtI©5Êåö…|XÔƒÓ”u’ð¤wµ­TÖZ¨äG·Ñ"ЕYlj58BÃï䲑£Êîö"J£ø»ª=[è4 ½Ê!ñ~¥±bÅÆßNűN¶U,nTÑ2×K©†E|³_ú³ü+L²¶^ñ§y®Ô]ÄéÖ¶™1ÐHC$XÖ0);!$]ÏÆ…©É9ê !Àá³ '¦À>YÞzºò …2M®Z8¿×`c$×x"x×Úàò±ªLY¾NØ]Çö˜>ÂH¢WŠOh†í2‘zmä|(¡OGGö6q1ZQû¥ÓQc¼6•“þе6¶2%K2ŽL¯Ãï8Dó±þ*>¶%2l¾1u÷iWÝ™Ž 0¸”ŒSwgtpßßS`NzS4fç  2¤$‰#OiTuÚ .«5ßW1Þ”«å=»÷›Éâ¢Û<ÏvBêÉ€0 5ž8Ù­w¬}Åkî­%¢óͶZ-¼p¿oøÆÿ–áªÖÿ²Š\Zdû"¡9ØæîÐíüC0Ún,eÇBÁMÙ„Û Ø6×Öÿ¡Må+ðtÓ"|1 ç¯L,ÕCóxª Øh"–$ÞÝb\ì¾Ä‰k`ójfàaðú:³s6ͺ_–ŸVšbh‘ù€HƒdˆÈÃSüƒ”‹8Hó ê¼å?#.ÀZÞ+Šï`™­äP”ûõX; ¼8Ly"ûŃQ:jtîƒ.¬Ï°5þ³ëÀ bQ ·1”ʇø_½£’ñÖò)vSê³|ì€SÊçs9Œ0Ó>RY€$ÀO÷. š–ö–¯úÝÜó¸(ƒãZ˜öÞ€TcÓÞdân™v÷|Ï —ÖèGÍ©ÞU;eúPŒy”ªÃ~%ªàZeÀ c.j£ëzìBQóZ,ÙH«¦.5iŒ89~ÝjÇ=t|8\TÜrÁí-øÒIŪ ýbK)C5Xe)¦nÀ/¯RœÇÿ¹½}ŒYqPxÜgGvÿk–^“òæ~8(ÌÝ/ßp(¤`JÆ‚µX1¨xÕ|#Ü8"1­Ådž 1y”up»ú=¶iãkáà£>> f~eÁ¿wDE`‚ÕŒ5šhÊ:N§Âhá]£¾GÝ·«czÿÜD(÷iäUFDOŒg‹ZbgŒzgStÐ$9¨ÀgmŠ÷íÓy1‹3îXÁéê,­ÍIØD€ òÂÙ¬w, KùôßúÔ?Ÿ óqe/﵎¼ßÛ²C¢¿`A2ý’þjëäVé2Öüà“èìc` ®>»Òðî.B?ê]ÓE¸Ù Û–—ò­TX8.­f¯{jÓÏ1 ¦³Mƒ}Oz² åÛŽ"c–£¼›Ð945.0Œ]yWɽST@ ? sÂÁ/E{ã(C{f­ G6y3†i…"'?ç‡±áø­¼l$äÎHšÆ›V0]þR“¿UXVêg1 Ç/Ë8‹ÇnßÔü¡dÃ^…Ö(ÖݸÚµÍ=mܰxfŒ=ÕTPnŠp·ùdç| ë¿§žë|Àóv ¯Þ÷ftrôäÃry< Áï -~VH}¾ë²«}DÏ–NlR@¨e ……©tÞ kžÛ! E(î+ÝͰ¼àR“¯8½*Ä6?‚ÑðÖNŽÕ\¿}.Bfï¯å‚X3£üÊ“žßˆ«ág6…ù[˜:ëÒÕ;©NЀ•Ë{”<江àï3 ç* '•±Ê#}'I¥8ŽÄÔ™¿rϳµR‡—8ÙÜãdà½Ë z£G|HdTí£RšÆ/¬¤üHÇ›ág}î{ÚrQÕ×Κå4}±'‰¼™Ïx ˜&þ—4Râô'o¢0¼rÍünÏJ3à¢`KYò—Íú™”&”ÓCwÛàX\Xª>ßt/»ÄÍAE„¶ªß¿^u¼pPîâ@ºÃBýíÒ­Ïý]‘<™?:yåb{;èT(`¯ëCa`¦•:‹¼zÞG_Ô\£à÷dw~¨íùJÔÀ2„ëØb¾L3ëÓQêtŽCI0ã5—Ÿ€©E±™Ãàúq€I3'ôŠ>’IŽõ¤ØÞ¸=.ç5'”ôȪè‰bÌT<¶·^§ow)XªÕ¯*;CÙÄ[âTdøÁ¤ùKÆY÷$üà Ú$KÊǨ°$åT[€&6 §Ç¤—2{M›'´tiH÷øóƒGPŒrûQ·C! |‚rŽÕ‘¡Y48QÞÚ]ËêäÖ´Hïù{‹1ßǵˆ¨v"ˆ’û _Vþy2nÄÉÝ…´­ª1FR>ÈC¹^ãå]‡—­2¡V`^Q…­1”`~+Ypo‘X“[ŒªK…`-¾twÄtWÛêŸtxµøM—<ž¿ý²Ò-°wé{¾*ìšÄ¼Ãìç?ûä⽈=#µ™7’Pí~ÔÉhÉNóŠªÞݨLmkïV<ë:ƒg¸x&i#‹Òì|ÑXM­ALZòøtˆŠz…x¯^ƒÇ'ήv‡hÈμÂé›cVcúéð‚ †ñbZ$MTÔ,g9Iq—Æá‹Û¸¹oZèvÆ€‹ÿ®º‘ôN¡7LQÿ®–æKåb*ê;½º6+¢+:ãv·‰TûwÅ„Dnm¶9î¹F<ý®Më…akpÊàw–ìËyÏ-~jL²¶ à„îy(®Ÿ|­>çKÅüxt)+Þ×cCú`-¶°#›Žƒ¸çþ0³¾ä{¶$ëîÔ£´-ӯս˒ââJ7-þ´„ö =AQ†Èèaʉ¨éó\«™ 2ú^ÊšY™þub|ßã.™C<ò‰-€M€ÕtÌÓêî»mÇ"-kïù šq¨9óô~q]ïkK•'Çå|K4(\ÿE ‘ìêzua×ÇÊGäJV÷ÍÏxsCıí A¥ž'!tJÆu?ÓC÷1;"TcȽÍÖ*O›•Mm Ohd¿J½¶³—)ÂÛ_–Q…QÄÖvØæýÌóF©/þ†8±gª†„¯é’A«à¦9àD=ÿ¢¢ü€Ô0•Ûš#@4`Íú–pÍÁhœ}|n}©‘:ìÊøÖ%)Ì&eY»)'ÙJWŠpÈ'{HgI3¸bû]¥S‚5iwÎàweJÆá„¡œüÂ/çÞ¢ãîdÞJND¨›p<ÖçC:ÑtýÙÝŠZR©·‹ Äu“1Ó=6Ö+N@?À5]°_söÔ€b,n¬ÌøÝ€·4â¯ý1‚^ÿÜÃ"M[«w÷…ùêÅr#‘¾Žš°½ô+Ðj[§Ú¬-¤m\áb™º¸P†|b1+Ÿ·*_O™-oŠQaƒp‹”i"ÌÍ„îb«ëŸ}a°7›`3Ôâ#-›N³Ž!‚ûÜ´!ŸiXzð²Xÿ„Ïñ¼¦Ã’îkþj#y§MŹl¿©n †…¦•sAÒ¾LsO)Ï$ ËB=S{ëö%ÝÈÞp©…ËìUA2e0qr?H&ýõ±¡°ùƒCVÕz~¡-Q`S *¿tHEZš1ï÷ïÞ\:[šº% üœ\)»o޽uoMwØÌ˜éTG¹³Í²cadzMÛ%§AD~à[nŠXýEC¿ U[ª™í›ô*ËÑC|ÜJ ŸÞ»m=1õD@—¸}Ì@3<Ñ÷%nôâ€Uã)Ħ˜6‹a=¶8c-íªNQÐȆ‘Ä2¶¨¶Çñïø´þJ£•ï…Üçhpd§5ØIΑ†ßöœõ_÷Š–¼àÞæ÷"y€µB’mÆõx Þ Šž±§Ó|VÓ°—íúOÈl$¤ ¶“íz©r3†ô ¾9>ºÙ=zwG½Úi]Z,0rX¨ N4qz½ûƒMr6ã@£EÈ|ø*¢þ"¹š"9³8?™`ô¨ØS¨Çoá*uùB@6ÚÄ%ó ™‰_£H š¨ì¶+~ b I?[ m‘¹ðÀÙA±„(^µä#×gÊ$mÚ®ÌLþEv–GbÚ¡W4F‡:Û—*q”“ðóìcz"pAÍÓε“–¼²p-ôÓæXÿBýƒ8ÔP¸dYîJ%¨þ°$c|™(¯öÞþ­£°d(+'#ßvX‚u¸ðÌ_žø˜›WåäviÊÎyû%Ú·yß÷|½:0nÂ`ÊðÆ™‰“=ùlÐÕyC9\Ç êM±æ‹ÀG9çZS:ô6ƒÊ—›8–n0{®¹Bx÷)•ž+7S'ÈôÛШÓ“ˆˆ‰k±0YððV®¨@X‡AÄV=«úž’.^¾¡Jl í¨‘âš[RÝ?µ$tØ6ë—¡fÆfsw °Àsuå¶sAn“ÞÆ·uè3¡ŒÄ-íÏ>Ç„ë´#£ KÀ1i®Ÿ¹³Olâ@Hл*è%xæd[sC\ä,™µIç9a¤é –ΉKa"áz ¬î<m*¹ÝûƒMgÝjƒtŠ<•êR0eo€f(Ïø• ´üHcµ w®˜c0A‹ã¸$z/¥¨9ZËRD…Ü Sžéb Cö,+ko³¦¯BØí§ãùÏ9@Í'Ìý ÙJLÎáNfW Ä>Š6Î=U…ÒÅí¸l¶LßÊó!'”êCýͲ;‚*YóÞþ”&&](-Ƽ’¬žåO0­ó.C®eƒtÙ£$¯é׳Ó[æxø•²Ri@¾ŠzpÒÆC®.‹3í>óWt± ™Ûâ©„@ µ‚ŸüËK´åŸã3Ö&Çx·­¤(6d–¨EæÐÝ ÃÎ@écyyBç ÇäT#`|­3ïe¹²~±¬Œ^×ÌQú àØG¼çûkwÉjÁnì”8ý=¶ÉÖ ¢ŒÌ§Œt·zödË]Ž¢Ÿ©Ìíí'Ù˜Çþæ¥ ´Ÿ€wáú¶üD!Ý…m¤—#¦òÇá1ã¿E ÞÎGÑm¦ ³KàÉz~ÄÖéÕšð=üû„í+¬0ægÖRø7—ÊÒ¦H.+p-o•ÔÝs–±åÚ[ó !†^\Ãq”ÄOº‰×­¹Ê·%ã–J™w€‡q)lA$×V⚯!`¦þ8‚`…\Tÿú¾Û¹ÏÚÁÛ ¹¹ò²P/H¯4{RCÔŒŠŒ§AÇ<Îež"¨…ÜcÖµ^ò•úÃa»ë°)&„¸.È?(ýzœ›ÔMD¶ìô½xÃVÚä#Ô§æ£"„rçòCêd Qü¾®{çc˜lä×dÆÙQ 72áÃæš­°0Y˜Å Ç"I³E 9ÈéO2Ê`â½ST}Ðþ…ÚL“ˆùKñÊ~BJýyJI ¶E]ŽÊVesTþ­Cýê¿"{»m‘Xèî{L)VB¹áœ~"ž²PitIBÇtМ kùeÜö꣒è± º7Uû¤¥ó؉=‹Ž­p÷”éAR)l„°dlq¥óŒ;?Ô¯KBR¼nP¨IP®§•K*ÐuÈð‹úG°ÖWÀÔâAh‰8‡-1Ùa®z˜l#)·»ö„ lkè ªM£¾FgŽˆ5êb¯ÉbLÖåa^ éËßÕbø 71‰Ã‰ÒLy¦¤ŹÅèVn©4%Îi»•Z-}´s²Cb}4džlQ¼‰Ñ9^Jòvqï®ãÝŒ?˜\bd¾ÑuËw…BD…=k*b ¡× —NÚªï J¡Hñ/=j³ìÌMÒïá[/M˜)g«‘—#£R.FšeÒ&MŽiÓàXY^ȳ¢õ9ø+…¦-ð>¸:UÐ,"ʰYÈyC_Øk¸)+[YévW£>öݤäGÇ9|tU¤zë/à”`+2­±²¶ÌÏbÛë›ÕÌ-OeCbÊCat0¿=G$Ú^gÖŽ;cÎXÞÍÎ:ß*,ˆÔ 4ú±›«Äožãôv`ú=nN­E†XYqƒÁÕç̆CJÒûürq5ëeµ_ÏLC” ðhшJ *¾åt²=û)ÂÈþß´N©7€ÚæZ`F®½ ÉÊÉýZÊ‘z:ôBY…d38ærq”X´MBe7^f…Ú… Œ`ÊãwˆO9š=–ï–šÎÊlÍ ÈŽÞŒÕ¾Y{R L…ñ¡q:= §^Œ\Ÿ­º^þ¹™o?Â`IÔ…'ý#ÅÂ*²Gò˜ Ú‡)X\Ã×OÞDZrÉR\ó²îRý쥻Œ3Ü'"nŠŸÈ†ïØ–¯YT¿Ff“«ÜÛm¯²jr’sFŸ¢–EÞñæ"¾Òݼ-µG€ÆëèëhV|9ôÃ…kó’3éJ]œÈ22W¯jBJŒ§Ó†P÷eE¾³ÂŽ½Î‰Åç—Ê—Ü—šÉ×»²¶,æ¶g¡üÒ QcR•Xòñ:mô#¿·­»Ñ¢òŒÒyémn*2<ø+É{fOO÷—,$ᚢWÛÐ!8‡"0z¶W~­ÒHôÏ00\ާ–ΞԮV",Ð…&†F‘FÚ¹*m·ä³Ûヅ¦õ·ÍpPi`>²Ù‹FßÙ ·´Ž¿.q倾^ÂÉ)áxÕÈsŸûØJ‘ü¯U‘wŸÙh*vX`Yhzb¢e¶&>}”b˜õÈŽÐ…Ùú®y¶Ö5‰s"Ó"þRaX‘ˆÿN oîC µEßÄøˆÚô²Ÿ´çQ(ì]jmS^lUôMç`ç ¯J~ŸÝÅØ: gýNÔïç-“ƒ BP 4¥@"/­{ǨDiŠÌâÓ:Œ˜Z>¼Vâ(‰t<ºÇº÷„ÂÎ{)YÁ®Q:iÜŠ>(19Þ“ÎÃE®Þ/ÞM4¦q°|‡xža½Õ”¿!)Ý ëßÎd"ã£8rÿ<ðÃè|q^Ø«kùBû¨§‘©TÄ,8@œ¡ (rnÝ@FïU·ÇE¿]—ûv[IpË× Þ¤"¹ÙFdȈ­zã¤O1#øL‚8¦{$S¾N¯¤­”4«ˆ3—‰ÎAÀº¨»f«ëš‹&+è\ÎL{¸_U‚ÉÑ̓¼Çu7NRøìËò‘%%~¬Dá :à®ÃðÔ'í9¸q’}9Ѭ I Â…Ï“©KÃ’±cúåy*^ï|è «è¡×.¡o±9äÊa“prl|¤”Hϧ¬ÍÁúæRh ‡„[òÖ±qh6êC•!$ŽäKŠÜ½âÆ$òh_É]¤(]³ÑÕÒ´ì'Æã–ª†žt¤B|9FX“Qï­4è8ÅY×s¬>Å$í½­HaÃR 2ÍÐîGHTÞ ãlzñ‰³êeº™D6e7)飯wôoÑd*PÚ=ºåŸ,Ðæ¾fl ï9Ú¼’îë»G…†§·aû³Ûõ)ÚÕé;Ђ’Ãæ¢ñ¤cÞ‰dííØÎˆÛ¢%¹‡zbëñ©ÀÈ0…Yø¡³÷à±ä–È €ÈÙ22#7À'Gf×LÇÝqbÜV36Ož–"b…ÃÐah–§R§Wì_ö“¤ðf% C5PÒÛC!Huˆ{aå0ëò6$žŠ¨Èº–3;Õ—Mò¥bp4?KÎ0ÙF]¾ÖŽÝ^1_ÄÍ;¶‹ó|n1U¼ P—S²t¾¶¤!N›‰ëú¼ª¾S 0ËsÄa´¿m}Yº¸/ý iwìáW‡:Xâ *ŠH·¨/hï`TòÌ^* c¨ íóZ΂mEžJo¢"ê¼^å…Uw°·ãI™”4EWAiSïYÙ¶} ™ƒâ'" †iµt´A{ãþÝ\p"ñnpwŠ$^•銮‚ã‡ÀJÒ’6 DUñNXàß aÇçÅÑ”b2u{±-çmÉÇg¬·`{Òºvg<¯¿^ùQ4‚|ËŽ”~žHºëdìTË;ÔŽÕ½}`Ïœº¬Žy¯7½Té)' [<ˆE©6±uCÉœx/GÆÖFnÃšÙø±•µ,LI¨<ÖPÏ;]k2†ôßÍ‹i_sý}çàg |'t íœõåÉ[£±©.=@ä… >áé‡# }²áSÕ^œœ‚ãÄï¡È´&ÌÔ£Ÿ´Ù<ˆ4Ù?(þ¢þ@µCG§¢‡C4òiµ¶I]îõê¨I)ŽUa¤#rc’ ¢š æÖW”a¸¤Q–ßnße\kqw•Ìy©HØúóh@C=oQñOÛ7]|¯ÚœÆàl¶‰ÔÏ$p/R@C‘2êÌ‚ÍJ³qço®ms›\8™­¯±¾€ ²;XÇCUÌš cI!È}©ïýè‘æÙpë}ÄZ€j4t±\ÿfcàlW ›ÓVeˆeÒIT³HF…/í)f‘áëÖôJc€QØ…~zª ²=——Ù<ë¨f˜æ^å`7LWè`ü´$;¿1ã$5dê?NˆE÷=cbç­Ž#¯Cká©Þ1#°^«¥Ÿ?D}e !n€µä!–[©ãu³7° ‰wa²äÃ蜕|?7AÒ~€‘»g[ÖÎr d(: æ ;2˽¨à¥ˆ œÿ¥}’¥Î2Ž÷ÃåuLàm漢‹–u±U¤¿¹ó †@Hi^Ùç6Ö¸×Q ãØ<ÑÌ>YOó¡$TÀüæ™;nn!œÐ|2_nÏ'¤+Õü~j?¤½)Ês RdÜê¼ïÃùÐaœµ¡b]b¡1ñ,3:we&U…ÀÛ_óÁÔ|·žëÀ›ÔRFC¦¸\Vê™_ßͽîÔrû ùFÊÔ§Pð=ü¯Þ:uE;ÎvÉ Ù²ŠT*±Ý?Ó%8ËÖì<À%øL u…<1k¤Mø¥¡9CùÌv•&fJÅùt¥Š¤7ì@^c6Ü`¯Ÿ¾ãAûîÛÿyÿcK8ZÕd;¾€a‹)€F¤¸¯…F¨ÀôwÀyêúÇUL4lQ-­øÀf‰|©H Í óˆ+ùI\Á3-‡ŠtsäÏ®Ú2BŸ&¸œ.u / R/.GI~Ž4¸ï[²PLƒy¼âdÿ ˜m’æwóµËs帻´¾køÀÒ’ÙÔ 4V€<ý¬üŠÙDµŽ˜©®Fßö ÙÝšÔÊÚðÜIWÿ+,üµ8`Éê"ºëß Î>Qæ"¿êÏ/f—p¤Ë¾Ãäêý(Ì6€ÚTMÉÏÊO³ÖNZÆ…-àþ´5ßÄoëdºòô)¨™£ýª;zj„!UÉvWbçÎm}(ë² 7Ž"«¤îåØ!±Ë–ÚãGˆÓþ ¢÷l–‚ówy£¸*65‹É‚*Ä´vÀ<¿ùh¸QÖì„s7”Ï*åâÞSCd~geO¸‹îò“ÛĆI#©¥DiŠx±ˆ\$¤æBª×zûîRt ®›æœÌD3mkí\½ï 𠋝ˆoi y¹¼eW©H›F·¯•"þ†÷L£ŸcÉ©ôç96Œ­ÂÂy鋸õQêÜN4ÛýØâ`N1XÝkÜ È à¶Qx‹R3(ÑêNñMNìAïèÃ’¦Ï6Þãéxà›´²2’_Ñ0Éç&$xÃÕØUˆ*ô<ªöåªÁø›³Hù Ãn+6N¥¾Pìß“ì³,8ú. W‰VŠí–Ý Î—ß9bv›¥m•;Zr%Uu݈#òƒl3–”妮:N¹Íy;ƒÏÖ@îÕJU2mSoiª!Ûe¿Zàêé±4Ö¿P&~¾}S¹){;ZdöíÞà¢ê¶Àèr𵃣´MÝé©ËŒÏôp[#ÒØ-úÍø—¯<xÑæ6JÂ^™¤qú*g€›ÕevOQªÜËŸp :ß5•`ê×ç(”éft¯ìJÝEñ k;ø¡âª±³)rïY›ZËDâGÏ…AÓ@]GL¹ó¬2’{‘NPßw„4ÒjÃ|Ÿ.yÁšCLGL"¾dŒ½`¬XÒá}¢”áé´¡,<ì¶ÛO©‰Ç|ÿõº¶Ð·–Ä„õ0âBÌe?Ì\=8éfzÕ™H_4ˆxa–ŠÔÑømÃ,`÷“HJŸT̉µ¢‰T¾÷e[zíCü7Ûñ)T›í>¤p(zË&n§S¬9%¦£d"Ŷ¦o<ôé†?ß²]<¸ÚˆU(P5^æ+DZzϲµ)Ám­šÑzd óÇ_oÎ ‘ Ç:R½ãµÀ™/‘ÃØŽ-ïàΔ¤qä÷–Z,wqŒ•þvvÊew¿S…­%-f®òUÊá”—šÓ©M)“KØ[«ž§äۭ므×SëàÄ®`V»öð?Õã•|¨žë4¢l†Qìsôæ1|Û DòðhoýNš”&¶ÛØˆÇØùùê&¤ºWj˜<¡ÊñŸW#€'TŽ*ÿ$M·ÍI«È xt{B&ñÅdjd^²[ƒ:D3Äåeg\ ``°ØMéÝÆûyvv.z ÚÚk;Æs³~©jþF:tJ¬Ìze^âƒXiÃJý/àÓÚ4´ª>L®a†[f¤Î*£X”Õ–xªR:ñ$ï²Î˜Ùó@ è—Ð;—‚wVŽÊù¬£&惓EéÕ^öûYËÞ¹Òh¬ _gt<…‡7¯5œzE8s¾(Ò%ŠôK:cÅÛðè¡j+˜ÏÖØCl>s#…µ8Þb¬Žç66Ö¾F±(:ü‹Gv_¹@¥Vý±Möo­JI’SƒKØ\¦âý¦™«¤ß­(;9‘µk!×Ñåa_4Ýa2®oÂþßz,ç/»¦*:x—Ñ…q’6)ÝŠÈ¢™UñHý|c„YÄŒ-’oB’»ÇžÞµÀÙÄ?)ÿÒ"¿™µjmþƶKÎñL“¦n<&*ñ× éš†à~þÐïdùÄæ’ }ÀP«»DHÛñŒý£­`¤£Ù"{;ÿ|\š6—ç¨_@—‹ú¨ø{È{]tÁ¾6þŽÿºêØGêÝ‚­=ÔNxpeŸpööÛ¾»×ˆ‹ý×âºýR_Û¡êW¨¿S¯»‡CfëT´ù)a`¹°§œBÐÊ;ƒ;çi½R‚\ Jò’ìBàJdØMÕpÅ€YQ¢5pT‘™W|^w W(×Mí±?ÃY§àüÛm[C 2qi¹RÈNÚsW@mME É“}=õÔ¦ƒë·v2G 4ŒêIM÷Ñ›¤»éñy+öƹ-gÉôˆ ]9Y€ ÓQ|¢¢.iót6¾÷Fý©©<Ït‘H]3¿ûíG61f½í¤7 2œkØ`:ÍG7ka-nÀkå{Ú[íÞO0F vö4'QM˜.’D¸7ëž}Go©+sŸ™Œ|ú†zßçÖ•©:ω±½§ó ŽÉžN9Á´ëJ}­{ÚÇÉ´xt !“–stzr¦~NÊf=nN…ˆT˜¦©€gdÓ´´§;E#ÙÓè,Üt*Ò¿+7ì¶­Žý®†j#øìçÄ›ÿp5ð~ûÈ7ÆàÎä$½?‚¡Z§Š².“ˆÃ$9o"Í@3 '{Õ$zõíÍ#)XåŠô±2x+Oyå"_ý‡+Ûý“Ý¢²÷ ®j8{T¯â;´µ0€js—ÿ{’‡(i7ަ2žI q_é/ÐFû? «o å3dAm.‰˜ ÒÇ!orüdN cµ0¹¢£©èf„Á±þ5ýUá¥<\Úê {ÔÓ%Çi SÝ7Ń®ÌPÁ­~`2Mm€£Š)>VÇ"òû]¯¬—0¦Aq„DKÁœþi}ð¸ƒ_¹æ÷»#åuœ¤óTÉÑc–œU'4z¢}Di ¾8ºÀ·üW…õTÖ ƒõ×V¥(äÖlÉÂDA"Oû'}NZ³38È] ”pôžUnšFV«„idJY"9!YƉ9®íAÖ&¨PIÒæ©SܹõÆP½X½>ø&R"H9@¤äÃ.£K3¹]N¤°ßâ²®!Wa)Ž*uƒ™ŒÙá>ó2Ô‚^€ ó–?öé #[„×\°è"„yÁí%u<é§.p«^›P¥–áUŒÿ{È ]àïCÇE ôù¸ê{k;­jÝ€¡Q‹NsrYFæè+¯ç³a;$õ+?FDÜDËÜzE³°«…ü‡ƒM=#ü&KNéVÑô·:ï,X³€g µ_~7ÿÝn±Às°ØkAÞMmAÈPߘæÛÊ{þ繯UÆÅˆEžC‘XÀø°Û÷”iË3¤dVÎל‰Ix8| Ô­ôù/*AÙ:óüÖ¦>wÁ ãÅÿXø´„`ù*×^>‘LǦ$Ÿêy[—ŒÎVˆ‰ìyUײzÂk÷97 å:€ŸÈiÊZï”&ûïä~8úœ"Dëêò.‰²ó8tÀ$&´,ALÍ”ñAÜR|®qá{T•Þ3F»ß-›,GTN²½ÛÄý§‡¾Ô¦Ò’Gçû— L• ±ý¢¾xB`“&.ÍY7ûª°L“Ò\cÇ}Í#5t`¦Û$' @§ÇúH6¼Š2zŽD8íæ¶Â« `a¿K\-þDä7+ôX¢…—z…õ°w,ÎÃG&-õamaob9ŠÓå'(÷ÝÚBì¢7rˆëÌÌRÊ‚ÄHε—ôT\yˆÓ7úÀ£¸Û$[祅“FÒn*º™~þ*Þ0ó:J»º´„¬¥ÇT2ŸÒãÔ ég¥ïÅ¿¹m|Skrêo¾w·ë}¼FM‡ÜDïÓºšnð8Ôí(ÏÓw§¸œÄÚ:㉠OŠS)Ðü±$åiA›²%8’ÄD­Ú:Y?®3²!šúû‘‚@)Égï Ùú–;‹¶A‹k–É {ƒwh„èYÌϳa™Ö¹S2—"€ÿ +÷¢p s;Ø'Ô± 2~PÁ {†Ìvr ¯/¹ÎÀªJ‰a2ëFÖë-´_-ï¹7Šúê"öå'µ¹å³/±ÐfM£†ônÍc±[h§Ù~c{À7>‘+6ÁáÂÙ9-Øê£å‹¥æÛÿæ9ò}fµå ±©õ˜åŸ£è3âåR̥ݡ»J5ÛÕNKMÚ_Æé”[}reP÷ŸÀ=¨w ]äöÆ'©Cßq ¢'YêV:ÞRŸÖ)æá€Þ¿ÑB¨Y\_"U±mFþ†½Î¨wh5 –òÒRhíÙ6Zox¦É§,¡öct(Pílå$–P”Ϲ£¯7}áTëa‹áPð§û™p©:ƒˆ¦õhîU…k)‰²†D|Ä ©doïý<À_ôwħO~rÈ’Ö×)K^=\':‹Ø(󜠄QnÉ©‰Ã4| —IÌö¨‹Ø—ùn.ó­ !Óßmèví¦¥ß°‡ÅßQA@Ö7Wz8¼1N,BE_ˆÑëgà4Øõå€ÛQ°CàF‡Ó¨X”Ng3ì}IðšŠ%LØÜ•êJº HÁoï jšZ$*ü%ËÇÝ[Ïê&¬,¨R¨˜½ˆ¾1|‘ ŒKO{x¿v ÜÓz=3uÜfචή%mGTýlïº]¬Æò%\úÌû3€ûß8Aó®=ŒSâÕ¯4zÇÁÿC^T™f&ÿ×HýüÓ•‘¨.ÓPò6Óm%þ[¶qgþ /Î%k2ô»]þ³¿°ó(£†å)äùŸâ‹ÿ¸ËKöfæ@Àìh±ú‰"¹îcÇâ3ÑKJ¯˜J—ùŸíÍ:>]FÁnæ–wÀIµÃt‚œ|”ú‘n"òîá£/ÈjNŠÝ¶>à­tŸ ü³¾:ñù>‡8–`Bùø@Ôoü¾~ž6ôƯ‰|~ùÂ×O%LY–ör}Ù ®VÌÄÐ`ºMm{ …÷ñý=9Qýh _èíë´gŠÿ^¡QfÀ9÷š8¦‡]œ:Ê%_f\*"Ò”Ù§˜‘F²o83£×rí4¯ óê(¶!;~ œ ‘“¾ðMCµŒ°aqAïUœÂù_±µ+äAÀ•?íj¸·ÄòlŸG8Ef¤‚±[‰tC¥>Ì ä“<±á-|#an†°:@ûâÏÍ·‹ª3*”H¯6¯i ôEéæãPÍÃü߬%ù7„<£ìйÐò»eim®§'½¸!y1Ò-F4G4'>d‡_hžxR¸d÷}§‚´ÐFªøGñe£Q:68e]"d¸”,9"^Ø«ý(½ Ü"Æha3…ào5÷Êšql£Ï ……ga)sâ’Œ÷¢ô~ˆ‡Þ-ŠŸ:óâ#&„ªÚÁÏ ,CÓ£ÅH çr7>ö"tW‚R’öÁ†It«ÏU. ìØvìa¶Ö“t}¶÷us딼ýuI ÙÚ¥™1B|»#)D]¸CÑ—[sŒ'UÐw´†Cs¹¹ÈÖTá$$yºçfŽßSWŽR2ëHÇíü?Sb¡%–[ÒÉŽ(\­E  š8°e€CîÞoÜ}¾DuþzœîÛP@ŽÄ Õ7àÖÍÝééyê<…ˆ3(a.Ó!9Ä‹9|ÖTƒ ^t÷ðÿɺ G&Ê£6ïè¨"}ܳ¾ÒŠP|puf-xÒÔøŒ‰^È>×§1w–{®iõ² âÉY93ù} Ñžnhc&Ý9àqŸ[Î% ŽÄÔ/\IíÜ è(÷ŽuÔílzT$ Ö÷mŠ ’Äs‰úzÊ ¤HŽeÚ-ùoŠÖå -„<@óîUìÝÏNî³&Á¡¹ÔKQ£×”Àñ”¥wЊÿ¿×8Ó4TòP°â¡JŸx ÞM¨ù”^‚¾rëi»˜ô2§`ã8“ÓÆàxõ>7žÏ}:nµéxï…‚<õ¶øÂW¡ÛèB·äN¸¸T°s®`ºA´] ÀSµ`­È¹BÖh‹…fFÞÄYX©£ÄkÖ`ˆòÿžÁv¢žt„EÔ_ÃîjÙqõ¿n3!áFUüÕñðØ·q1¾«²ñ¼59Â`„K¤›û·^4KÛáÆóƒa¢0ÚX#+®(y™vÉÉÓ1ü1SŠ[³RfѧìÖ}gÓp’ãÃ$ Å™©Ý8ªË°”Å)<4í¼/NÌs.§£+¡«ïŸƒx|viM‘¢%âÜåÞÉ~?W6:â$3Ÿ—€Cºþ%ÃÚäé_òDPÍ›ªÕèÜ ï/c²F¿÷ô|ñu/Ÿqe²¦ö1òÌv#2卑G<¡MK…'>”îV4 Ý¥¡$œìá«e?CÁIoÁ£0¹ ¡‹Å~ïóò´sÁU·'5šbåƒíŸraØ ®Ñ±ÞòÌ×y°I®ZQÞÍQm@©—r#Š×éÚÛâéýã\ôïf_ƒº¿ýÑ›±×”ã<vˆAS±Oæ%é‚V¸pׇ`Î(l_¾MýަŽ+çÜ*êcÕo ß?#ÒŽZ]“o)(yœgvÈ8h)ãŽÎJŒF* Å":ƒ‹¢¶ž™E¾Ö1<=®)ÆÝ°©<—¦FzÌCI¹ ð•}"Ê}yö“Ì:>ÝÓ®ý| _ärHÜÔÃ,¼9@öàJ¤>–E ãÚÓ¨?Bõ÷,·}X=xêµA ûÅ>hÁ“p{¼yhô 5WFƒj…Áì'2núêÀm&FP»d`§1æ&í:åýêƒH\Oê¦3UNxac«R/*B~ºM“½ºyÆR|ƒ cÄêeÚÍ­Po…ïŠöx_ðsø®2›DnϹ«hZÓ…¼:U¦µýOVʹռpyëÈïë+Í9;ˆ­»^Õ%üx×pâË'ÍŒq· Ì}Û óµ·àÞŽ…›å;¬­v´YÀàÕŠÊÁº½ÆUl®u c&høBÆ ˆmò1‹üL1äÿë1llùNp{rïLÙðþÁ´s‚ pÀÉŬÕùæùbQG¤žÁýžœ-èëÐ,¶2e°PÙ¡ ?†56€g厼–6oR–˜ÑÞk¿zß|ô£u¼ÂÒqŤ¿µ°yÝö@r×aÚ†<þD¸:öv{~"Ð: ýŠ>‘ªµuAè„ ¡*ÇîV>V `äÔÖÒùu]uÐè­iŸ9C×Ãå±°»3(?¶rÍ“ ‡ˆ)3>©ìdaž vý†\= ÷-Šÿäq»·$í¢ÞØÕYÔY¨sÒ½Nö…Üšü4¤¼#NÆÜ±û“β3ü °ã¾*‹nê7ËW%…Àj½wÖ›E9 ÈgˆákŽ¢Y’ýjÇ7¼ÆXÚ#´’œ v£ãÀ~OáåW ¢Âá —ÆÂQù]ÉÑÜŠg2Ì·.\±¦v}—«Woì5ÞüÔêþ¢Ô%jsÑ“€áVÿʯђ¸îãö5—ð§ÊNF½bÌbjèUZ~e·tb×<-ò 9§T÷³NEŽ]†”ÊGótòÆEÚA_y8h»ÚáÊÛï)ò<‘|K±XÉñ¯¬MåÞ?è‰wf›cœè ½F±P0;iHú2úSŒ f)#‘–\Õéº?æèÎMû.‘iXƒ™w–eýç3ð&!¨¿ ÒlQ¨çé³…#tÂõ“vË>hÆä Æ`­ðg2¤Æû‰öq&¢§PÔº}?i~DOe>W͆é7­bÆ?¾•ïä@•J”ÉTÅ7­soÅÔïG›ç6¢Çoš‹Üjc7Ýù9"þa?Ø‘PnÂENØ -Í|ñ¸Kå¶ohÇX¥}<†%¾4ï+éP;4‚6Ƨ`(ùw:;?#ªKT~ 4_gf¡.·sï–£AY¾Wrñ€jMpîŸ\rÇÍ ˆÝœÊD€,K*¾Ù×Îñ X·4cdhÍKÒ{RåJÓŒ{‘€(mÀ•kºÔkj©ï¯âÒz ÐÅí;pá­íXE&4ƒ«GxV*bªúbne#AéaDÑúªK`µ;k[]åUfíÏêBŠ-:ÞEé8'h˜õ†㎡øû`4·¥êà.žÙ¼™~Âĸé²Âë¢ k]¿üGCˆ&šFkîiܶϥ‰UÜ(Éœ35ù¤ß?¦¶!U‡…’ÿ=zΧ¶@âÐÌêsTÒòEneÙ’ ›_¬C-¹Àã7ÃÉ è £+³±6Üä÷cé+i÷!X'¨10Ks þà~Ã-—&O‘qÚ2t®ÚŒ  ves6ÑJx±[VsFQW_=˲“ì­þ‘—a£Ü¦kO$že¢&â“Ý16LíoG‡Ö/‘a=™€½Ü¾·A![ü×ùI\í^*VsæÞo6ÔÄ2*‚tÀ²Æ-íÝNcnzõâý¶Øw&“Ëœ‘GÅk«Þy;Åžµ@qš¨9:\¬ÿU}FŸ¥såYMu›RËÏó›öY^¾lQÃ8^w’&¸›<*çög 8k±þ+»º.[êà!xhàJÉ(δX0”þ®;݆„œBÝs¼ß uZša²…@ïTž…FÑßÌ(Ù¸# ø’¯ù¿×Çöó{œ)FpÒKR®¦}ßi“jóc¡ ÙŸ©^3 ·X鎵:CÉÈ„ñ R¯3Q\É¥Agª«È ¹fЋqêó¦|áR¡ïðüÒ£°D1EÈ5¢°NŽ8vÆ<Å»Åù¿ðЊ†­^Ÿ#c«S°µŸ@Ü£èÄÒz¬çÖTd=k“ž>|õ&—†vœIÃRB5J>Y\Jð‡ÂŠ·'Ï><¤!bmÊLrIñï !§&íÙ^ ¹¾Dxm!Ó‰å@:¬I¸p,çw· ê…+Éì¯B ìš¼‘7£o_0?<ÙDÃ-탢«P¤h {°s]> ëƒ"B^‚iF±v 4yÎDš ë†äîùÈ%$ì»g%¸V+¶“e9Ö…ÊjÏ'ž®vn 0Zº{ÇÂä"*ÃØx½Š¥^è†2bu¯¡uÔ=ˆh^a5Ó°ó¼ÑÉàú4d?`H±¨ÉÀäé½B‡Z2Ì€ïÛÎ<‰ Øõjiƒœ¢‹Ùå@ùat$Y_ÆÅ2§ÎA™c°ò¸p…O¦åqÒ×ð"þqÁ1Ú–™Ð[H£H¦â,œBZÑ#¤AÕ ƒ…9RŸ…ÅùX/MŠ’d&9} ?çšôXø\š¯)³%k¼v »£­ÉÑg-m|Ž÷E1ÏÊmCŠW‚oÚ‡ºÜ®ûÁXàÊðÆÜ¤ˆ‡§«å¡ˆ· ¿»p±Òœ¼MQP¹ô¼v|ŽªTGÅ¡éd,×u”|sôyŠ/KÓ¤ù–`å?8ñG"—8ô`Sl3‡ôc‚&¢#ô£€Rûð?Ã3ÑÌM½þŽP~)ëðð{>nU%€³¨Wz!qÎ|Œ¼¯¡¯ýàb` ¾ŽdrRgðÌJ8õ?â²]áÀQFyì A™ÞVXI,‚mȈ§¢âû™éªVo'çVnåOØ8Iº\±!eXG ©ÐŸÂ±˜\wÚlÛ#Ý…\ÁËØÆÍÜDíìõùuÖ¥ÕUc»ŠÛ¿–f™Y>æ&ÇŠ×ŵ®·k8D¦‚Ü:—‡cO³<:›ËÚ²_™E VD<Ê>Öc©õÊ_aÐEZ‘/$$«k_‘jT“·ªðÙMRVo%æ«¢ë1L[ø IåàÁüqôtUŠÏx•ó—YB­X%š¾1œuåœ “_Ò¥úeûÕ¯–GLtVÇF^¤§éÅ1”UÐޚķRÕˆN)û>[vðy±Õ¶°’*öÚfG_`RW4<9,€Å´—þ¦øZ’ÑZ²é`'Pášý½°÷šï¨ZøÇ¿ÏM©åà㻨XÌrö€ Ûß`ê…÷¸Ïô|fl$fŽRÃ--C%±a,Ç}È"ïU;§hU=ÿÓÿŒ:¸šSÎ )§@§dŒdwŒ…OÅÆ…t:7Û?AÚS û½¼?bz…2q¦d1/QÍAÖ=nr]èQÅW'Hò1û¬[!bg'ÓqSžÈ(&ðÊÅŸN™hÌ bùƒÌšSÙ%PMAcYç(;MÔ*Õ ÌŠVñ>E«o:`Ç}À²°˜ÖOW½Ä}áì…W»úkÞÝPÊ'n=ù\ç.Ô>¬#=‘-ü·²m¤©ÈGÀ²Ò?škΟJ+Ça3Ù(ßéã<ñÓ{¢«ì² ½-aù9¾¤Ìî‹"è:-•øq·å_8>œT'ßéxØYÙ‡!?@LΡä`ƒ+'nWô%æK¡ãÖÁ‘p/$!¬Þ¹ndøT`ÙsÙ-Fzºšš·îÑ™|¼œ÷sNWº•EŸj˜B{`ÕCºÏQ˜QU XŸöc•ž–MhS@Må©î@² r‚}¬ ÷²ÆO€ë½9ö¡ 6YIÖLê7 ûíÀ›¿ÂNÃÕ4yÇÃÉ]öœ×…åGiùJn·ICL²+™&Wáb ·ÿ™ιô5{o“S œ—^‰ûðF"ò²V*òÝíz@¢È=Qãß>.]= ¼¦ëÀX°pÞ"ùnE¯‘.è6KrÒvúb®¸ 9­ú5Ûǽ¸ÐhÂNÐn#žuÍz¸ptÕߎ)üBË%õï`ßà#"à1΄±~erÃëH¶Cå¿§ÚÛ+*¶ÒUp¨•å6<n5&Aë¸$—3#oV޼\éqŠÚ_ðØëhŠÄâÊS8 ¥‚ØPaÞï@ë©+OȤÈåjéb¢%$é~Ø‹âå kÞY|þ2‡rFÉKl:Êëv>»¶çÁ` ºî)ŒÕÖñ<­‡e8ÑÐèE2ýUµóSé›%›eÐYSÿTHQŸ\šõ  g0òÆ¥W5úXIQåÙýº¾÷øc3Ž6õ¼¶E†wMjý[È’ÚŽIÙNÞ=÷'u3ðåîJ×6Vø»âti˜ÆÄ ¾ù_¿9Ev0õpA„6*² I²œ~݃£~‹ŸÈÜy¥Æ3‹á‡`ì­Ô®á4ñ¹ä®(©¨}°5E ÿÝǸ¾½YX§ÔOªö™·³º(!¼(Èé„åÏ…dmåùú"\ZïÙˆ„ ™Û|ðOFÃX9 ¡?ówð!H9ºM‡ï·Y?£ï•жS7OšIEû‚÷ÑÕ7 ´vh÷:ª/Ö͸ÏkžçèöÈÃ_žTäÅvô¹³ör4ƒ¢™ ½Ã•ŒÜâ>ë­Mò™v(î Ä‹ñ.Hjµ·rU¾%¤ÉÖù[,/ÇÁ% ÈøÛx\®½Lb^²WR/üqúÛ!HHªØ …—oW³þ<U^é‡DÊhrLè,MâøåÍ­ŠzŠNR tÂû¬Fë³tÿ:Dð#ŒÔ™É=«lãGŽŽv×púÛ:úŠãÎ.Kí5Ž&Æ·0î›Ñ‰ ŒÉpµ³RjÔ´Fü€AËW’ê»ef„¤Ñˆ äÈp)r+T‹•c Z Mª¬*±™a‘íåÃúdàá\— _y>"¦wÐÊWÉ|eºR(ÙÙÑ´ƒ¯§Io˜»9»Öºޱ´â’‚âX¾;Ññ/%^ç¶’"LpmÜä^€kîÐzlËƳg¨º9r²oÔ—îL ;§åÇ£–ÍØmw©@2ïµ§«7¦då=ähA^¦H\ož)ß<éb¸ˆÏ` ÅHXa˜lðܨb © °U‹à)¶Æ¤ƒUj—¿Z•ŠðÓYi™¤‹‹ÀíW _iS÷•©wRP—÷ç¨QÔˆ"”ç¹}gÙwœyD‡Q°EÚéÚ_£n×l*5B”ä„>eDŸvÇOЈÍHfy̹ïƒRÕ»'Ç|=y‹œ™“ÓA{k¦WüÔ,±8ã:W3N´BEzÂ.]pûí#ÁLéâìõM\"Lf¹œCÖ²$Ëú¶¢Äå fV¨)=PņÇX·‘Ï^¤MâÆ1@Ê`|'ð€3Ä—5<Çõ:ó«jÝU»Á"Å&H4:Š´¬›u•˜ú¾®eòàR)Xâäs³lX­Qƒã6![³ÐÖ'× þ9L­‡µÛÚqûŸëëBT|T¬õbÐ:ª_ÛbÕüÕ©› ( ÿ²¹×¹T[x®5C$íÇ  úÛ¡ñÕÓqº¡~ÐO`O—£ãk£ÏdŒ—5R“º¶_P Ñà¾ä?~³µKí,•,/ =‘$Ìq«>ú±ÓAåØˆ¨&ØKý'º6r¿K&C$dñ9b·9ÔÍÑdé;§î¥Äò;Ö¹ô¬©÷›\ˆžë-ùÿ«Ïr=u† åó**Sèl±ÈÀ®TB:£±ào ?›ƒU4{À¥ƒw¦e[GñSÑ+#•áÝË÷Ь= ÍP—±„djñSzT§Ù×(,ðfÖùz[ëÏ2),¦Ïå¤/Å\sL㘠ššûHÿÍûóßB]×óg)‡kWÝÕ²Û]½‹khšz§ñqôqp¾¶a‰våÅÿ¾G—:µ ;'´ðó2})ƒ÷ç·Ü¡h„}0¸ïžõx±{¥lt‚"+ðim²»•Ie•[ÎFNg(‰…_%[hf¨5²JwƳÂYúåz \×w÷æR8—bÁmò<ÈsîWVjßI½JÖ¾Rß´r‡·š,J Ö)ûíœÂõd\:ã\’Xµ3aÍ%OZFìFÓ;T6é:HêÈoA{UK£ÊÍU#ïÝ|7ã9wjÈ'vzqÜráþ^ŠxÇ’½ø]ðÀs4jð‡Éþ^ö¿G3RêwRx5 ¨Äl¿0· õŸ€ÞÃ„Žœf‰™š-­äáy—ºÖ™mó]!*§ ½Ø»H/¶Žk9¸>_ÝâP»mëáù¶ñdUÐ@}Êî8Ó7”ŸPǺìĹ{ €É@wÜ7ºQ³—Ôm±£ÏVýŠÉß/Y6x`í¼0Îðv ÁªK’:'yIS¦%ÊRáS6P–ÈÍ ûä讉ªÐŒª#\÷!Õi¾µ7¸n®T)¯žpxfй?‚@„&:îû–Å_ î#ñóQ*ÆQ{Pª ÷§[Ñ z.æN©R÷퀷>ç°s—´ÖäNÊÙqéxþ¨R{ÒítÓå;àÄò­%âV–.x ·«Ö|7XêƒUÀl¶Vv¥¿Ú‰ý"'H 仹4ƒ&xîÃhAƒ×:“}1Hw”®¾Œ%ت&·O(ô6ß¾’¿<é=’ÙH¼= |P$;DRœPܯòE§/š«›,Å“ÎmV»¤ÁDŒ’RP¶W‰$ÌÏÐiL ßÀ™Ó•©kÛVâ¿E…\â‡%«ëO‡À‚†½-ÔEÒ2C`«\X’ÞìÔ —jŽÝýDõ |¦…ÈšúfL)ëïA,õ(ÏÏ,4+~ØêŽÒ€o!M5¾Õ8,¬˜T±ö"ù¸;q7dâì lùûJ²¥õšVðX÷ýÓÖÜ4½bAåIF‰h"®”Étá¼¼“zb~ÿâ’ ‰ !p™H“¯Šòªt”R ÿßdta6Ñ!xü_?l„ÅuXÕY¸G¾7ŸJh ‡-†´ ø8µë)‚1ëðª¦ÑâbŽ›„6驯Þ:ÎŤa+¦®©W u7#»àï2#‰TÙÁÑÝ©¦½¬-‡’« açI7$’Ò|!à·iLP²!á½–Ý­€¬ÆÂ&ìcðü ÏôåÚˆÓ<ë*Ÿ¼í¾x/¨“ Q)x=FÉçͺüÝÁ˜®š©ÛŒb³ÙO9<¨þL {ÁõN¨$.¢\ÁÎþ[T«½ý€tÈzüÛ„;-÷p0pdÂp¨yÝÞxùµ` àª&[óË 8•¶Ìkú°t ÀJ…ˉÿf`'à:%¨ÆýàLÉͯKÎÀËí3ê¦ø°®Ÿ\Äêï’â÷ÞWel³©xsSÞBŠyÁî˜cÍêЙ©ö!>ø–ì…·ºñ Sspözq‡Áÿó>õÓšõlèˆ`Û˜Kb©ÁzŒYø)FçrD G†môc3*‹Ñ²n®±)Õ&ÇË›­ï’÷¤•”\šzBïÈ1Œã—}—@môŸ‡›§²èw} ôsÇpñp 1Ÿ†Ç‚ ÜÔaóqÔ)—Ev‰ Jì“2Ä‘BA·ÄOá4ÇC´þ޼µ^j©[Ù/bèVBÂúÑè¸"Ë’WÙðŸ0ïΞ“Œ×üq!¶á7Àg«ki²öR”K#ìÛç%éãP hn5º”'7èÂhšV€AO¯×1œÊ}ZôL²4Ü‹öLf¤ËÓ­)‰Ÿfa£ø¥hf,›Z‘7wj%"æ&R=&ãĘú·ý|gBÿyªâ[a†Æ×€ Tò(!w:A*Û#k½ƒÏaÊPPi—ÃFÞ.~’*& ©ÚèSZv**2å:š90ÙiLÈð ­µ’<÷]=l¡ )é/²ÿ½‘„‡dl-¦Ú.Cl·x_L·ÙRoÛÛ’`- ´$`£žXGCJ°KÔ¤çN°êAh+šˆ×-Jëþ‹|Hdû¾¿l ›[ñú†³;2¼ƒïÁcüc‚ŽôGQcð] ðBÝ8 ³‰»§[ÑÈEÈ€HRH¥»‚PÈ€¯S›!6–ˆô ç:߮҄æ#ÏÐS›gÉ¢òho§l3xìÑ٠΂ªy~«g†¼RÏxʶ¦ý£tÝvbhþž†@móhë’f²  áÕßa³Í¤Ras ï›ÁµœémíÂ:‹ ;D=De[Šß…[Ñ€´|ò¡ªhœÍzÜÊD¥ˆ2X°¡€¼ÍX¬óïÏX(œ9=Ù&Ü?ÉI‘Æd`ìãó¶…HfÁ6àòÚjWö7žNâ+mn @KÙ?Ö„tÙ6¸ÏˆÝI>3vGYö«Ú˜èØéѪ‚ø4 ïý·Ä=1ÎPIÅÏ“ZЬåäƒ@LJ³¾|üIÊ“ºfßËrk¾R4Ù æô çµ¼9Û<m{"c6GýÞ¨;q(È^&‹†«s¼`É }®S§ü>„º Ð{8_3ÝŸðŸ¶á€‰˜3\$i&àˆŠç=dNbÔÞÿŸ—Ú‘C=ºÐ‡Ð ¥sE÷l±“ôàjú*)çe3[ô£ˆ¤'ø®“œïÊònH ÌZ(ýôGj(0Óš™g‚ÁÇKØÖù…’L“bŽÞ®jG;³ÀðÌïó¶²YýŽ3í75ë5Ã7U`H¦yVNGSA}NõW"é<12ÒUáAQ*z‚‹ ¾ô ¶½.±Ssc‚V@‰ÎA<¶š K ã“)çµ´¯ðæ¨@OïÜ6,·“9`•„ÚyûW`™ú4Y_ûÜÒ ç/=ÂXˆ‹qoMÒ¸åJcÝÛeà"Ð]–‹Ä£s°´}åv…Dñ¸-µ½S›ïB¼ “²„.Wʼn~‹t»X¢ºù5 ”ËW´1¦p¨ïh~¶7ñÇÛfzc©:1½¸Wа ñoí{£{(2s³rØí±BÅFoA*Âÿóß@´Éäøw¬ó—™¾Èôðˆ;rZ¹ù"Š©¸q*jÁ1« Qs¯ÿ¥„ˆ]AñUÏ)‹ùãŒSÒ“²›¡5=ÜQÉÖ‘¶Ó`I7µ)ÏäÏBNøèÍ>£¨ýôZ¶—pܱ4‹0k±ZG7wÈ ¡ïÎ5¥dÔñ@/Ù¶JUù‡¥?rØêˆE¹&Z…”â„Q*½ïKXpÝ+ÝŠO.¬@d5=ÐÄN†•,ÌòZ(âs B•ß(iB ”äAÓ}ê!|dnÏ·\ÈI8˜Ï ªÎnüþHìüsñæ»õ¹ãÙ~JÁŸ>s¸àø%]ÎPß¼‘ÝðD[À+ø¼C®zZÝûT<ƒÉ`ì·«Ä(_Ñýâ°Ã{(Çÿ­6Ö‹mô±\K¢wÒ+U6”c¾;nׯ÷½ÕžpÝVJ–7T2Y?òp’¤ÐYá_4Iþ× )l»ª´§?dROÃi{$‚Ìa¯Õ+Ë8Žÿi5<ñ¢z ž‚ÙDò¨×¾^þKâÛ¹U•_†«Ú¯GO5øUÈnÊž$æŽ&a%7¿¤o )KÅŠf=äµü˜ÙÙ*Z÷ûśȧÂ\ç§õžÖ[2NØnÐ1&ðšfÂ…`B¿\ýW© œ2f]:¿U%|M6¥¦xØxØù¿Çk>”a½„5ï`K£ÜãA)¨ tÃDï¶Æ×2b…ýЦÐöqó¨)S{˜C‚¤›ºOOs)wɦ”pÉ0ÞÌÝ©Qg§·$ýHÇVŒŽæ°rz†×³šwüÊéi N}­q)ʼnÔ#Ø”.½eþÊjÕ®¶û׆i¥í•¨X€bQÕ¨ÝN•aðÊ÷5%^âL¥µ‡‚æÓe<äx“;Í>^gÚhPƺ¡á¤k'Ž9©•V³鸷ÀÝú1 ±&aˆço!\€f}Öu™EES6{ÃQëþ¥ðÒ8nGG6JI̲Ûͺw·c8.Ø”¯i(è3C…^7£'²Ði>L@Þ¸pÚÞð¨Lp!`‰o©WIàn fΛe^i´]ΑnÜx‘ã9'à‚GwgÛ§ƒ7÷#O¶µ™0ÃN‘¡¼£Â0¦ùŽ/Žë‹ÍH¼ù±~ mÝÛ4I†ÞkfÔÝ]Êâ-pùŠe&‹v(„«8±ÿ(%„®ý‹íJ>þs–Ž—””=#&O˜°bŽY~§L ·Ëÿ¥ºÕ½ýYȼÕë‹}©ÔÄ|ø'ßi­ 1”g]þ/.Ryev\Øê§+ER›! Úp‰¡ ÝT;ÄÜ‹Ö&¬û'/!‹£cÖ x?4ÐnÓíOÖmâõg—9=‰L©Í!˜¥Ý4Ø„/Ëj)wë÷Èlä§Š–dݦY!K]®ˆn(azKòTÞ[ë‘]Mqô=ü‡o€_qËG\ÀÿU]½Ðƒ½A`1¼×VºôÔ(ö€éôMË1¯³Ï>.[x0î[žÂ¸fç_UÃ@Jî÷ò ”`êØ“Må‰ðÁ¨ÐÌ€vʧ Ýš¶ý¬Ûdý´ ½·Â…(nA2ä5³°5 ,Aq^Q틌ç`!bsÍà~¹àpÂ3[H]óô¥ò—›€C’5Çæln²íª‹n| ‚fЧðˆ°ï# ªL€Æ¢AƒªyIæ˜R¢™ þëÎ=‘±|øMä¶8 Ÿ4Í´±Î¬òfÇn'G -½uØtáîd—ǘY°cªÈ›s¨šb²âÎ']°=*A¬VZ«Ö}#Â^™Ñ—DàPº•Ê5­þä¾ÃÝN¸ç~ñîÛhŒÂȹaÕ<Õ¯&úÇð‹k*.‚ÔíE ¹nÒÞwÌ*$Mš¼ÝG$Ö>Uý!D6^ä®REÇjcB‘¬v$m ²ÀA%RCV`#n¬ƒ7ßÙú&²…ó½›P4uÿƒ#ì&¹ñ².`Û¯³†ñ¹ïêI ¨Cädz—å™0¹òÛóö¾3Üš1Ç¿,kiSÁVÒ'MZe[ãôÈzÃx$ WÕ4.öòWÉÿcëÏù/¿‹Ä°U$v…šŒ1¡‰‰Ãûe…#¤t¹D«4ÀãòÈšs Ñ*À|û:š”UEØ€:@Gv©Ê;kiaŵ‹ÿòK¢å tÙ|4S½VãõØñwÙÌIM©lRP£ <ûüïYî¼eqÛùùÐ ¯jb>PmõM›”q¸Ý3/ñ4¡˜5B~ÞÕ}¯”äG÷Á6Ó–Dž‘´Õy 힦æ×vðgIÖòÅ[[8ìÖaµò¬j`ö?™-›UH&ƒ ëS•]_¡ÁZN âP;za—Áÿ¥SºYXþÓùjORDÑ+î (ê—†JÄ#"RÚʪºnþï6ƒþÕ&]¡¶v5=ÐÞ@6eþ’øÒåz·ýÖ’jÅkX„|`Š'à<&„IIF´WåÀçÚ+Æç*¤’?kÿùëíoY&cpñ£Oļìiñ^ææ@Rà”k‰Œ)7œ²ƒ-Žñ3;Ö°säbðÒn•_ÙAN¥~å©ò`×Ìš=Þø:¡—áÎmB~ù bBtè›È÷Öc’­Ós¸ËÚ(U­&ø$,gðÅQ¦,õè/SPùÖ½ø¨j±¬‰‘ºw%¡Ê†ÑA; D¾»!ïÄ~Uk´®á]·7+˜¡Gr9ö¸3¼AÑc¿ðêeëßÖ#P·ŸþA­»ŸÙFÖ™ªQ1²Äb–æ(ÚE‡ŸÆð»A³ YT¨ ¥JŠž]þ0›JiFO×ðÒ¸¦áCû”YEû$Õç ”P">4l?»C7„A¤ÄT gÌNÈ*cÿ$ž¾ašT  9J==Ä>ž{ÂÐp&—‰"­Z˜ŽÞðؤj‘ƒ¯Wû'Oše¼×wvëóp òD:˜¶ß´%Ð"+îÿ#L=%ÕHeã/:¼‚]Žo ú€H a¶Ž&txÅû½`#•÷A… +ŨK Ì–±g›†¦¿Í”‡7_ƒ- Þˆ#‚Ô2:t–Èž K Ú(k»X!ôp²­ˆ£ „!K!Z2©±ÍOp'?7ê²¥°›ûäô.þ&úK'´½H-?S< –nlD¦RÏæõ0¹ùÐÛ:íËšåÁWxÉb23è\È©·1\KÞšVQ^E:Ö¯.‰W0½Âº·r܉'&;hâ:×¹¡‹¡bÊ3k§/aë‘fO28h“ˆs9íÁx÷„•*U˜:f=|»„žçš)[ékz6aö%+Î?¡¨ÓäÌÎû›À|ÑŸ©9êõtŠUPY ˆj“a¿ nèK„BY=_¾µÆÚ\n A5 OãéÌ3E£»v×t1.kG ¼¥8-[Õs‡¼y„\ú²ÝYYjª/®£E}·*ºôƒ¥.;ÚzA%üõžN\?<4 ±Ã…xðwÓ)a½¤m@b}_"7ÞÜo" Úqæ`Ù96–‹€¤°ìñãE|g77†Nˆ/ÈUëËu …q]£ßÈ’X_B>nÃ5K”mÿ>Ø´Ò°‚ãovðÈu:_q²,B­ôs&þá¸ßU66¼4Y®¾¢.œœÿÓ§ C=÷KÍç±êöVîXÑÛ<^&·åFaî‡Ôe6–íèÛ¦Ãu³Á vÂy;ò„ %©8Áüô¹£Ç`‰PÕ­ºþ•E*®ÚG)Ó¥í%¯¡Ù› sèhØ¡=½@tf/RØ-0{s¾:¿>ö󇺂¡bJr2*Ágª¡þ’x½·]p×gh7m<ëôøÞaÆ;ŽSž–ÒoÛw$I7ÎvWüϪúÏþÆ,¯eõîç,°Qœø>PÌŽ*êM4E]úªƒš\ÄSïø‘Ú9·Û È]ñæg•7o„pögõœB±6.˜Š¯³^‰‚›ÑySœÇµqfXÍÙXœÐæ¶“C*32ä¹ñÁå‚Äs§i9hÚ‡„[ m…—:Bpb¨"UÌùb笖ÂZ%Ë1 íħΦ€$ÁA0„…Ïàxþ3*ôþOé5‘nO[õñ[Úáí%'¼69Ô€K­E¨ûH/4d@;(¶w̤ƒWɹpùc\ý8–TmÞ ŒÙž¦âšUë„s:§.­@,Z…°¸4œãzä%¯;ˆ++¹l¿ä X•ΰ§+EÚÅeËïc¨çu‚¡”´D| †ÆU&ÂË$Y¿x#ì00A4|øô[_7Åø9÷3 iàKÅ`KÚ‹sùW0Øa—ÒGìƒsÄï!§5"äÔ}Y£ÇÞ?‹G¹t=Þ,ƒk¦ÌRš‡Ý<Ë?ÐBÅTµDC!ìZ™ìkØå•O1`Eª³€ºn³BЭC]{¹!aÖŠœ–EÑø ðv)e*ë<m8áÕJ³ÜŸÈqi‹Ü¥ˆT ºæÝn6Ÿ/Z¬Ñ&ði6SÄTÁc—GºåTmºä;Ób7uø÷è©òâòí#¤¥—uÐPÌ6C¨„Kí1ÙFFˆ9&ðQfÂËY€ÍOŠ“Ìó´"¼£õèèÆ«yÚ`l؉J` 0–h‡u ül”/ §¡!hVŠ7FdÛJ³`‰5—@—e%Ôó”!—êó=èqGº Îaël@)Ê÷Û¿×Ý¡Z„ þ´\†ÿv«³y›H“A£al³viiÑò\ ’V– €¢ð€þ̺Úl‰>ó^Ò —BZÞ«ÆÀx‹Yц.ý`:<ÈÅÓÏ6r>ðùGü <Ç%{ߟÏàʼäÚM¬ †÷킳ÚWÈàsOCP¹áëŒgyJ^Îù…¡ ¢1ÝIH¸~paü”.°c=~þ•SDt'Éwí\Q´¢"¥ŒÚU½{Z\´ O¢F ׋ʢxÛ=ð‡žÈrz'U´7 ‹ý«˜S&@wOFmÑð ¢…WûN:Híä ¤¿M­ûˆ°Ô‹ë|I¡Æ1*eO â(¶%ää¯ñýÉ?$˜ZÙ6|ÊúÇ9¯ÃâÇñ Âÿ¹²ëFVs?E°€ÿSô7›pÙ+|.**‡Raê®›y‚«ŽƒŠ<³Nì×`²ÏY{mYã𾇅)::O–Fš$:rjl Yî×¹u_êµEëq¼ŠÁǹОéñy ,P;¬nFó«¡«Ä{p-¥!Ø8×D k X^ÝÆµ^f\5ÈÍzqdŽf2[A©ÅÊÖ–¹¶Â<òoÓò˜²ß‹Þb $8©HíÂõAíµÿŒR•ªO í²0E˜ܹL4¶²»¹E¯¤‰`g#úówzå@û'Ñ'”×åLóÄŠùç±Gh:aâ­Ò7ò©ÎïAêqcQ [8Q¸D ^sÆ«Mª\‘áÀÏ×Y¨ :i$É 8œ¯½`v÷®YlšzÛ< s]ÛÅô}°äEçš:wæ0Q€¦2þ`;×ø xø˜Mœâÿ7E–ʹ&Å.d,hüéP?Yø¨³¹œþz~>¼¶úáÊká„/s.8[S‹vj£ cBL؆ë“ôŒÀS°9…‘‡ç•^Ö"­úÚ7Ïuqä0cõ½•>äÙº$_2t'˜ƒã,@k¦ÎÆÔy•sÀ‹ÝärÓ|@V‡Ó’øŒÙ¼¿Âí›áÙç©Ô°7hú¦7Áº„2L_UÛ¯³! ¢,,ßPÄ2©SÊçýÀWϨåudÊœJ¤\~²”•a>¦„Ì'ÁZYE†P´ÏNw{s6Õƒàcsàù—²ÖDIŸ*ÞÏnÁ¯£Rh> ˜×¬Óö~OÐÕPWª><=Ç8ðƨcö2' íúL‘>øV6h"¨Æ)¹êçføQYž·.·1ûÛ¥#œÇ»­Çýû/=œ”h^Ù‹5!eiìLe}€Ïñmð+‹‘LŸ·ÄÉ,a_Eø¸ŠÙqìâr|9}é®MeI‚¹oÇ9]œÚ¯Pì÷ èÞ ìÑ$~×^\»\'w—oÐAÈôNÙüLV<åœÕÿg&`ã×,é¨áú¶+sÓÃHºr˜>"ÏBrÿ¢Ý’Ý/ÚÚ'¡³²¤näq@³¯*:­P;š>Þ4RÈ:={õ¤B›ÔÈO“Ú$ ô¿?`—tòÏwþ³:õ ŒÚf²¼ÌO?{™!ª¯nA’ȳÍ'­°Í’u”1Ÿ–_æ«\ÊexW>¾@ükeYÃMõЉÄ@P4|‘uP‘åÛ†ÿ²Þ Y2–,0ðFC¬ç‰m†ˆ?Éþ;¼2²‡PSGè{!§ë©½?œm{W”~*—¿{<î¡ùÙ€ŠIgÇJ™ ³¾éfÖðfÜ©ÌôŠ´„$!ïç÷K=bîãE§H¸0zÜo a#ŽHgA¢ª8Vp<†W•ôõ$ŒÂ'Ym_îœjû]’ÈÏä‘§«Y;öwÏ“Æo~–¼=ì3f¦‡ÈìpÓ™T,޶„2ÊÜQ9ÇzÏ¡£›ØÎ':º3“kMh°ñ=suLHÂÏ! ‹ÏžÂQ€“·Åüÿ3c´´2‘H‡.›ë;@ ÍÔ—ò_s]²ZDú$W$_fÅcFÄî©H¼h‰šóàD5ærN;¬1Ì÷3¬vHB7$CÉ?ûãóTC?DŒJ7d¨¡—•~©­ 0ß Ì,·cýEªôL+Å…Jz¨­‡46¦]E×ì·QQ·BôÅí2~ßLJ¹>´æî¤K-Sf¿«®®×$-uÞ#×\‘ÂX-ü#}~I(ÅåF4S>±ø 1SrX^¥üîh‘ú …•[jŠÔPr7ÝÛ›whN*÷¥_.“4´Þd÷Îì3ÍûCKY0=Kô˜s}ð«â®Ì“ð|øë\õ _ä!®`— ¸þø‘ ‰r'ábwUˆ1é†sá?“þñ6AD®XÑ‚åÏd2CŠ|Ù4ØmRrÍW&ÿe¸}ñsö~d˜äh¹–K@Ø)Îè8•Tî6zÆ?[Ø_Ké­ ¾ã ¼¢?´5¦*øVªæ*î:F·ŸüDl ‘E•òHfè8²Œ´¬JûxŶû4u/–‡n×KØù¹ÝðÃßLÊ<kwTNMÏÃLÀã—§c§y5hàqBœUxÜÓw%`îïL§-™žø ÕдPˆB`5ä˼ÜVea ßõφ²NBÔ“:u tø*o9¸ÓD+k¢a“<â:[dPŸ'<Úk…ÅÖ¿ûkøF‡["¸hdk±g±+€ÀT”2’)p¸>5á}†ÍUG6Â1bûÈfEÂñSü+•XÊØ“ç÷¦¿VÈ•ä@{k°Oð •æî—§ß!–Ùäû¸„Î[ò‡è¾2s¸Ò=©ðâ‚:$û g Í%©ùv»G0tò~¥8g1 ¾2À±å2:›êèA±w2ò,$ßjæua´Ï­@ƒÛÓêSë8a"%ì/ ÓΟX¸þÓvÅ= iÂv Ÿ£÷c=o{7’zSDP6²tØŠR©ÌüÝk?¯Y(5SèaŸÊ«g¨gl[l!0èÐbèXÞ¬ ÷£ùÜÆ‘pž–†B“†¼q«íÅôŒâ«Vð•D`n8˂ӫò&èê‘ø›`qÓ&sÿp’ºk`§ÿ¥ÈêC”8å2[³–+r$¨9ÿ3ú,ÌxdѾ{3˜+Ÿ$;[Júp¡dö]¼E¬[ ±J-ç‡ÊR8ãHMµn–¡…Ï·G¦£]Cp·4Úý—¨ÃOS½[h0,/|b‡å²n®(ÊØ±$æ!Ã3ˆ­ý*T³ÿƒ{¡wTaö3ê¦ö÷nGм!é+H 4!•Ùã©o:‡YZœ¹Uî^+ÄiH_—¯3…œãN­ ¦ù’£kß}f²íÏîï]ž6YH‹¿@Ï€t¶è/¶q¯ˆl‹²ŽÔŽŠU[xáÑâ-²Úÿ[?µüý‰ëÉùËÁ ·›ýü2î ,î;Ú¯‰R3ÛEéÆgp1Wó<+ª©„Ua³6””‘âƒo¥×E–^) ‹À´#£S6F¬o@ë¥z‹¬Ö†«+æ,„“ïa¦u“¦QÓbP§ß0sþ 9ugf4Öì61$¨ôrÆ3S+ÛSÒ >€XÎi^Ûû çcè'}m½ÁÕ›N¡ tö<Š¥äŸæ§_hÙ’¸ÍH9ûíÏMJÒSw´ÈFŸž’ÓôLLŽ?};Çw<ƒÕ¢ÑÃ’gY~âü —ÅÛ¢uQŽzãù×5¤9Y‰Œ ±ö2€;Ò©åN.Âf¥NÉÒ›yÏî°ïÊ/HÆ’83ñãéuF>è”êz€Óä¸1«¯ h1ì Û6Ö}J¶|êñqAònóª'¤úÁÙô¸ý²NHÊ èÁA°÷wîg ú%(^ƒlÈ]XÆ )pÏ·…ÙT­6„™Y3øêÖ9 3Ãó S4Ügûÿ9|Æ7ÓÇŠ­—<ù?Å_ëú®,ñŸ¥Ä’OØÀÜ¿BË-¾ÓCpšŠá%ô÷S•sÂp;@'íó/ ùÌë8è¬DÍŸ —­>´n×–ÖÌU¨„mÒ2÷0íÉhHV9¿C§¹ÛèbNœ ùH.k׋)mˆÛûºþû":B‰ñO^¶fšHj;ÿmˆ·c÷”ÉÑH3’ñÅ\d»ê-(3 ß÷ñ3#*ßÆÑ½›jTÞŒœóœ¿)S9N§C6ÄC¥òwUüU†{}®â–·×D'Õ–Ž*5õ@Á ¥¯š2Ië-7¹#’5µÀ=¯ÄTçHï’‹þt:Ò¡16M^¼…Ó„×hg[†3¡¢1„Uêt+ÝôfÛ0"H=ï½¶rðrô>„mDmÿ „¥S¨åÑi$Ìv½Éñ¨fË7“毸U»”äº`\¢œíOìàkc¹¥ÐI^q»ö3VøœíT M©ìÇî‘åÂ’¶£Þ|ÁŠ6ÄÎzšY1î?tâ­Zmûi3þZã9ñ–]ÄZVòd â².$­â¼øíê©D<—ç#Å' èV-‡çebÿ¥ïåÌÆÿÂÛŶé—ñ¥€êO |¨vU¬½¨É×ÏülX­qOþ%&-½Eý~ößÜæ88˜—L¢ t8$ý¨’ëKSI™ T”[Qër˜iÿÂ^’\PG˼d­·ÑÌÜ®o_€°ýI@Pü\ìŸ\0{Ø.ÃÍ+cPá€í!S‰Ã p¾e,BȈÈ, óÁ>¥eöÞ¬^Ýëÿ¤QÒ„iîî8FUvAh$²ˆÅžÌÛ¢Ô›U,Üá8/dú’Á+$¶ñ²íÆè‚Lã3rX s(¾.]ö€¼çÈ–lÄr @eAƒ9Òíоó\©·h Xoj¤#¥9/앳$âvC vhâ„מõッ¾Ð˜"Úœ®GPË@b45 e8ëbΪ' *Šåð]ÝUÔ<;?_MníŽpÃâë4›%ÿr×\ô5 ¶a2ocîÃi„]è#Œ®sD‰‰0Î>„JHNæ]̾­ýœ^lÆ*C˘ʮ›·Õ†ÞH2ÓšäAuhaä¾áq'~Ôà>;,ý:8 Š{í*gSBìÅEدޙå¤?wv pæðlVY[ž’Ë™]Çl6^†Ù¦¬ÅìØÃ€[ÍB]û7§.åm¡ïžA‘¸Î„ùù㓲S|oýÛVb¢GÚQ+%c6ç´õÿ3õÝôõS`x Ÿ=Orïê„7¨ÑtY~Ê0Žä¸0ΠV,x]E=k`‚òÉRuUB§¦ ý2h€×³Ü¿–Å;f’°¾ÁÒǧ™î±†rD(V.¨%{ÌÇîÍɸ³……LAR!Ñ iiK;>42›ÆgP­G]•]ÝhÞ91&+M/‹Uhã˜t›Í¡· zu®|yѪ‹¬—pôÞ±[Ú,+Uó"¶[}5½%î ‰­Sî*šLß»ÎJ+­qPˆŠ’çöEpÔA¾L{å<¡Œ¨~)_–® ÿÄ2°6›øáE±H:¯Øm2î”°›ê/ñj<&ãÈ˜ßø_‰ |Ní (2õÆÔò;[=d¢r}µF1v9iV† _ÙlÏôƒR¢ÿ~ÐÓ‹f  ½Ûuô™ü½HÍoþÌ~@ní}½ ‰´¦RY—6=,û?U‚.“¾6€ÓžgØí&ÝОIhÄÕŒÀ¿4m¼Äž§ Ãò£qÙt=-õ=q¦Ù†;$LNŽK4ë=Ç 'ŽßVÇ”ûާáNœÑ )DüèÄz 6R 80¸õ²)¶¹H=4Ó£¾F¨ÒR½—à’#Ré4.äš-‡àfҀРØwɲ&ópBïÏTGDþ¥sÝ’Y¯Ó®“çRk¥±F©´îÑ’¤8+ÀÌÍg¥/èÕb$ù9D|ú 4…¥wŠÿå R«€ZíöýÝ ´ùk/÷Å (I¶ÞΛçuß,” Ñ:¼c ˆºbÉÝà|ºv»÷‰EH†©d"SølÛün¬ÿ±¶[ÄoŸ0~Ý`‘# äl–·m“Ïq_$î -×Ëýo_áÈ`uÚ¾ÎÄ[gaÓ.‡¬ ñ0O·Ïï½Ô&T[ž‘óÿH÷@æƒd„º•]mù¸­FHñì%Nês½¦Ô1ñó ô<k·WP™åÿãûMe¾²ÁiyÄ$Ëšõ÷ H‹ýkw–”ôLxÉüu?#ª¾,fš@&–häUɾbäIR©“F lÀ_!Tz‚ I>Vwí>*®¤ÿ\ÊFä‘õX¢SH, TÙ&ô‚™»g5w@(Çl£Aë•ê8$¹ _I°'7Ý8pò­“Å’œôÝM$æ¯Ö’HÅoGï .ë§ËÊ¢4±ÊM©¹&Ï•eÖÌj×Õ1¯h… ¼Ú¡YÃóTè3Ù¶Lc¢mׂJaune}?¨ª€é-A<³?+#@ Q ª¹ (*GÕFÊ´>Ð×A>ø5zý¯ïÊw-¾žÆ¸åìo —=*“#@çñ‚roØ¥å›Bî¾/œ×†4oÍPG¥­ÄbX|c(mÎ4lâP áÀ“©ù•àÙ‹Bs¥• T®@ä“êÐ4¾Æ°æ%Ö28e¬ŠþóIÆýþ™·¯à "j?šžsÂ]Lw´µ¾òLlGfÍ…›¬šÉhcGEáZÿvi!ûùâ\ÿÇ6Ü6ZÔ¹ÐrêÜ /rŒÉ@y•Aþ §ÇÍKâæÎ§;9¤Ù‚€rÞøx¿è9¯ÿ+.ã4«)'6µYù/–´3—™§þzÅà’-[®J3†½3;ÑG—‚ÕòL‰e€w:¢ðŽSþ±¹Ó\÷'ëM“ëÙ“® ¶D×™bÖÊÿ¡#Ü=Û³iVM~›­qµ3mu£êÂ.p­ÚÈ×âé™)…-ÌÙ©èˆÆºÅ NÁõ¼L/zç,М8aMib¶Ä¡Ê:zV!±Lyd³MmÇñ`ËÂi†’LÕ—³pH‰tbŽ úv´%´ÝÏ®‰|ëzãêA¸±WšIºÝ´=z¤ï::y•‚Ú‡1ÍÁOCÏ–8Óq+-Å_Nƒô1’f€º8óâ1¸ü³,»U‚"ïn7ãêÌßú(™œeñV)ÿT½?yåšÃZÔšø KWŸ—„ÙuÂRzVý]i(œ[{íÉÇîmM«pçDoÿï9õ±é-L§™½ì¡·=¹‚C£$Š÷ç²åÝÿVöBÔû…ØÚƒ’Ý6³P…%ÿl†½Ò<õ´@4 “ôÃq^ï!–doñfðýj— IcÉåZí¾™ñ œÕ(ìbKï³KˆÆ·æ?6põ·[ o<·‡z}1ÁYJcU£{Ô;’rûí„ܪEEåŸ>™¬0|±m²Cò~xÞqï vjh¦ÄsQš§âgšMbîLÂôúŒÄ±Õ#1ÝØYGäû9pÖÞ‚DZìßSR‘{¨0ñq‡šíOz€‰$•jQxŒnc(¶PôB\çåÞy.s¨&Xw«Ü]ŽÑ¶OAé÷+±KUMK8v„"µ3âF¹vár•–+g‘=ŽZ;,‡t)Nîòã«§”ݹȘïs6»º9âIøG¼¦˜MIcB}ùj÷Xè½q@³ÎPŽOÒ „^³xcã²`ZG4cµ;0Ýó§ý_ãÓqT¿¹("dêͯY²°®Ã­÷sØØ@V¾ <6Ç2L5¯ÎÝ ­†…&?Ž€’Ec“ZÉÂbºÂHîÕ’B*sÅÛᩚ¼ÓIŽ;àð•Ì<ßç‰øtkðÑ ¬â¥]UØëG‚!{Ü+wL¥zí˜Ûæ6êŽz*…FFeÿÉ_ÙPk+p1T–Ê¢È sM²C„k¹Á^•ðÁ­çýˆ>똎ǹBK¦Ùè‰ï* „°”wÁ«k «ÝYÑ9ç~„îVfãEo阷S0ø0… ›ÎµñÈuL¯*¢±P%Ë tÄÞ0¤Ê e;Ìù2-¾Ÿ|t[´nÀ·¥,ºÔbêˆðÃÉ3†z.j$8v=+ýǬ¶Ž=ƒõª“$ëÑ„\V$†œ•wÃmØ ‘ ¹¨•u«UPÙtA6rŒvEàˆ%¤üÄV<ñxn3ˆ7,b’í»F ìñd貄†’Á×äÈþ£ÒcwŃÐÜ›þRDËb1Θ‹µúQn00T0Âs³ÑEé% ‡ÌRò+ QØuaÚ™jýåqÏëv¼Û™×öЖFÇÈö­…+ÛÔ±@+­‡çhŒû5%Ò€Pñn$˜8ˆÂgÀ†‹ð³ …¿ y惇M2ZËß•”íjr]%{fí™;4GI?­¬4Ÿókwfr ˆ‹ç¯)OP2Õ ð€_e\û-£\ÐìEØCÀP^xšTòú.GáÃ7ÞŠ14^™Â„Úiºþ:Їcc8øËçRþöÇ[† XÙsž ZC-Rë íØ BÚ${|X\Â4ÁØ è GÅEƒó¶¢z/œá00 M¨ã²95("K¬dPX¾½pißäúä5S¦nÞÈõû„$šè²Üˆ¦þæaXŬ³5Jû¸…ïøûYè h þÖ†Rœä}äâoiLp""~*_Øç®ZÇ@À¨¥Ñ·mXl8ÀáR"K;{“á)š†ÞÛŽK«Ìh1ÒYÌ7[([9ýÜÔ‚Øo¶Š^çȼ ÷WߥȵÉ 3šj]T­r„X3¦Kç÷»iF:i¾1@dÑœž>X4ÁÑÞ±³»5 Ô‹Š|À×/û Œ˜±X+eÇpIqXwüÚÀ1Èp,4õvŽF¨§MúbBÐýaóQü†ÿ©Þ¿˜Î쇕Ðzë©9Ll%Ž { !÷rñE<¹ÿ¹—½]Ò2`]‹.j"ÁzÖb_Ü4Óð )d:ÈøˆZ£—ï‚I¯H¡ÕB t^8½A܈gæÑ5m„źûÊs|Oç~X_DIdïí³:öúúªÝcvÐÌR"Š6Àƒ‘qzý|R¢o󛲚QXÖMàfÿ1µ£¬K–`ê'«<\À†F™6<\€ä.…,ôÇaÿY£>×Bá}x£»*Ê®Ëöuc[£Èè/Ìv¤ÔÔ›qŽuÚWÿöÒŻ˵“Ó´²ëí¾öA]Iiœ‹M¾ÝîL½¥dÃlpŒûîP Ÿ !ð±Ó´˜¾¢‹6Q„ûšèa¢ Èý¼ùf®Ê¶ìΊ\¶"ƒIÒ½M6£(º~ºÛA ·¸xô>pó…m~‰%Jþ¨ >øñ"‡³H-RkBdå±Wü;­*Cð‡üMâÓ°bØÇV²º­;y¡r„Vùšq3È2¸O3âš,mGo6F¥÷øÇ 4•qtVʈi7yÑ T× û:LE4Òª\è–UTwÇ%2kÓæ§ðûèõÌØ¸6\fëÆAöÙ_¹5#rï–öÜæ¿ ¸»¿âíûêÆ³0ÑG‚êãºpzð¤ÛÒa)K†wÄñ‰Û<ȼ¨sÃͺ˜ô>ËbçQ^Ù†Z8=BE“fbé웘ãš'ÜFé\ø¶p. ÀÜBËGÝSwîñ¥zW®¯[¤Z|{pI»ïͲ€–h°x•­ÊB'æ§Ï|a.1v¯Ó4+¯½U=rt/fø,# ‡Û-&æ0²¶aw£QJ›Õž®AŸ¦Zìq­.\²p½«)1— w°“ eÈÊðsàéYu¹‡Ž‡Qà4|ÈOá+ÏÂÚ’0:j4–sÂgKøÄAò§Ž»„·òh‹*ù.•˜¨¬ö®q¬¶6 r}¸Wd”>Ù4œ™¡³rc$eb Ÿ½H‚›K´ ±/õ6”tÈîÍÖ¿qk u¹2½@鿣;Þ­g'sª»ÐúÜd-Wˆ±rb}?øwT؆,brûö$Ñ c@¿éš·)I›ˆýgp³µæ-Cvå’J“-:ôÁÊô*B ¶g éæ0¿ ^{Z±tÖMbpY#:.6¿£úöôc‚VCíq° Á!x•¼ú˜XæŽ8šcaixÒq˜ !\ŽÃ¯Óõ€Øf¹¶˜ëÇm<ù!xùu#ÊÒ)³ ½ ëÃØ£…acv8ýJj>y7“›ZÝ7Ê‘©•Û ²W#­>/š°-§Þ˜Í¨ ÀU®2/1Ÿ:#®ÂGZ-9㜓läè¡ÓÕLd|‰ëA0äÛKOÐ'蟠”XõÉ^†r¯O¹·Íe2ÿ8ø@* 9Tæ\Ñrü-,“ÙYjÀ\­Ï¿Ftç?Æ„xßÍRÀÁ1¨[¸Ñvл[ÎCãe,~€‘CûœAìâf¡Á· Ž´ô|½;J˜Èó¶FOÈmgÂ>Ü…Fj=LÃv|<.èƒc¯ ïù‘ý/­/™-²ßò´I…5î¹Ð$—á¼_%pbÉɬ[7é%ˆdYç4ý³¼’&›?¼'Ûµâzb pþhVHÍwV#õaçÇR¥b—½dÉO&™ÚìSJ¨»#6‡Bz6ðp J2ï˜-§ë»H` +kx¡~?=ÚýeÅE/ÙS7!TR# "N€}±ÂzÛq‘X´°Ý#óã¼®U>š!ÏoŒÏùÅàߌñ™Çƒ]f§vÝËôg€À> ¿X4EçÍã„@FáÍœôpÊ÷l2îÙ­#øŸL ÛÉ‘‰õ9­l$Q}$%$Há*Ï ™ßuŸAª°¯Ÿ!ßð[rÓØ¢oÆ|Õ=ùí®§¬kÇÎÊŸºçȉ2Wmʆ‘B…o«±…ÀÞò(•oËBN|9”pí„VË,£2Ëq²cT§Å@:¡ýM9+“êaí<ÛˆР¬ýí*ÈxS*>‚Gøb¸Ÿ›yø… TŽ2Y†'…yùóPÓžùÿùÝM0]À3›þ C-»Y»Ãhœ_¨C—G{ €¤X²Ž@3ð§'m¸šÖœ •q„z*ó‘œÂ0,Úݳ–Ê]5¢—þØ%À¯w=¡aˆCJ¨\´ %f9ŒOÙÊ⹤t],¦4¨5ºebNߺƒZ(¹=‡§î¼ƒ¬îyØÁ»Ôþ&Ÿwñ¾N.X:#€’o Êž×GÖºZ`<ͺCKÔ«šœN"ãï¾@mæ~µ© 6X­6S2ªíÄãØ B]æ“€¡¡ÿËïÀ….`l„ÌŠ«hÔ6p-5̹_o²è?¡gÆYÐx}*uq%a €ÎÍ…6LðÚ,¸í'ð LiWk¶íÎ}k7™¼àÏœ8ôÿâ Î"Ñu–zj»å<Ò]Üd+¦[NŒ¢NSÙbÃui37&—ɦŠ.ë‹e»)j­:ŒJ?‘yˆgÆ·MJ|3ˆŠg½æÙ(ù‘5ƒbZ¶®ýÓ¸~`uôˆgÈöça—Š"æ$¸ç7(nBË"›Ž¤ˆí©‚¹í»Ù2ÚëjÜŒ,픟 C è5’* s}bzD/‹Sɱùö›zÿýèK÷ ãZÙ–Æ“÷Æ^’s}étu&þ—#V¸ã+ÉSáGÂx™g©h ëÁý6q'A~5“Ëîpœ[Æâ¸I¤ÛäÝ~Í „%c'‘+Ⱥ(&]¡Š×™ÅŠ–Þ/ÖÆÿ´ƒUªZºŒÇÀ=¦µË+5 _~¿{y‘ f3µ#ˇ®Pæh±Œ ¿¾ÎÁ1tzªÛã¿îB]Ô;S©y ‡AµS †¯ÖIät—â±Åòm*!K?ÆZ™Øxƒ¹¶0/ônÛPœÊ§ ÷ª³2¨Ìa ¼KÅûi‚Ë.†@uez_Âǔ҅`¹Ã³“_1é¹ož|Íxê>/üÚU"¦n}fôÞ—íUánÊ/PÓ™ä.1=¡GRj²* #6ev¦ ħ&Ê´§ô’­G|ÂQ'µ¥ŸZ{Ÿê“_ æpêY#Ñ%êåwœ>ªMeÆ>Ÿ(_óaŠrÌPºêûBÐ:-?[u„ZÓ:ï¼+ä4c•¸^ú8±±BÁmX…’á6‹ãvžÇùàˆ;' }åÆ$ Ú`¸ V Ä od A ¬Š†h׃m)FÂw=ç\‰MÌš  ø' œ®OHÛqª£c—U«®zFî'Z®R¤¬N(;Íñ¦ç—5¬ÚÍðt„Íí.zyµ+<òó@‚¹-\Ëlà:úíðœžGªFÍ7ŽÕ8•(ın¡$™Ö1’õBCµàaVTKðÓHv1ögÖ{˜ZB|Mb ‚Б‡ÎÞÐC¨gã0ŠùB‰¼iw…YsJ%¤äœER_²œ^;ž¼àmå;’¾ƒÿ¾÷ ¾,EêÑ@,cLrk¿ô‰çBxZüO¸¢£®Í.S]ݾóóoû@R¸)Ѓ³#ìB82Ûÿ¬%H:ýaÑø98‰¦0î´†èr† æ<ÀKPÜ^½~ßVü¤)dØžgⶉ/ŒžtABLkªéjîIê. çLhøÀ9Ôìf“®¿žw{UÁ¼êmg¼’â«[­vså!µ 8ÂuFÙ" è);LºXiøég• œ¯z°Â³-òÖxþÇ|Zã òºÏEnU&Ì U7¹PÛÇñUð°¥/ê%”"&+Í´ß[ý9ö  OMU—2 –i2“W’î†MÜ!Dޱ™´A»K´…db:ÕÚÕRºLE0!Îß‚>\.rk=öìДæës¸üµ%_m'tø¾t¿xmºJmV&żnâTý‰rÙÿñ&ØZËDMéÕ·%°´/¦ R±¬øæ¡ª?0Á¬ªHÑ¡ iyÞ:3Û’ép·Ísw>XD²ö•ÿù;´€¤$ 5 i"€n¤v,ܳò¨dð̓¸LBm¿æšÙÉo8÷kì²+ñ+fd—½˜9â–kS×C9…¹S5bѽŒcÑ¡Ÿ-Ç®h5±Ý ÌÆ$Ö`›júZ]û_¾u¯dýUðõ5¬7U)óDyé4þ»…ÿ@˜ùŒ×;SÃ,Xcœ»š~b´h¹.$€µ¥ºžöŽñF›cËT6‹ÏÉ–úȹt¤j¨>;lã²YóYùô™Ùà7LÀß6¤Â=ׇxÑ=ÔYƒ‘”—zLu±$¹°±'5C–Ï—YNs³ÿO’è'-K[u†õPÿ|Z‡?Ý#+(å»w;ùekr[–}$ º\¦ûƒi’lñU!Š7{”3< [¾¶.rbëañk¡¬ ý3V.N¾yyí/…à9ËzôØHL+|ü# EÐ+£2 rÞ:ï¯Ì)({8ú¼Š_`‘ŸH²(/÷/ígà¹jFà”ÛŽÓ•Êz0™.“5åb]1^)¹²4í."MÊÔê`¡Ë"®`¡Qëæ:ˆ°Œ~t*®ºLþ—{d7iáK2±Ý>¶½ÔÈq |X—£d™¾ì³ÙGÂ"6çJ#&i·yù\7 ƒøýF¾ iz ÏÚ ¿¢ªÂ2ž$)ÑV‚´q!±íÎÌFš˜\J.YÝ-.T \_\zz=„š÷ÖΖ-Àó;É'JΦ¥I>ózìlkøW(k|äbà ÉÅ5‰îáë_¯Ž”SH +îKü“Dó™k6Õãävv¶ïÊôß¾$Ÿ cì eÖ±’Ýú{‡ƒ{ XF·³Tq@Žï”[é¸Á í ›Ä5ðâ÷Ps©/Ìç¯"s¡³ÓU o½šX—¢h¤ B+°s†èÊ_Œ¼-ÖÄTG‘Ïó`ºÚIˆ!‘©*€æ¦MÔâB&]L„’GËIµÔø·"‘(‘îùåÿ$œf)VôkGሟZ—OD<#C5mD8§iD ÖDc¯¬öÖûd­ñ•ظ#º—;Jð²x¦ÒˆNÒ—Üc'úmh‹ünHCá4>sI¦a!M´kÈ¥diú¬R8N^²ýâv¿ˆÃç¹ WæT+r)7Œ'¾ÂÈx»qÞ’Ðl1jÞÖBØù¢p‰_áµ­¾)ú™…ÊÏ©´÷¬À6ž;*&.Bå<æ~Mz”ÛÿühÞÉÛN ž¨­G|HìŠB¡]¢ÕE1z3Ñ{oý>î ÇX°bÖÓlÝ}¦ƒÚò%åE{“˜…Y: ó™„ö¨ñšucX`L ’ÒN6ÄÉnðÛ\—±6ÔOÙâ@Q1[2 ‚ùâ"ˆ¬³6Pßè`ç“ÚÆòMO×HóaD~1UÇq@odůp;~TÁx°¬—UøóSÅ,þ¤‘£>»mzMÍÚ‰ù i":ò§–Dýeaä•ÇŽ6Œþ‰¤å¿u…®­æ©spm:ºFo°WX•¸Öæ…J®R­$d¥;wÚßš ¥½³‹òyxhÛ@”ôiB,ïZÓ£†”%.£ÈšNÖµ§½Ù‹0o$wuv(š’·øö܆/P_£‹(IÔ¯DÃ5¥)½^ÊꞤc.. ótÈ5ª€º{I}z1\a#|Ò›M5 ‚®G)äk €œSúA ÙãÍ“tÍi¬ÕpjS{zg#8ˆ¿‡‰“¤jªU-aà ¹Û£¦+ûÍI2æéåÓF£äŒ b?îF%æŠ%Ìg‘ЂTê®ÄõOÂ’$غ«öŽ?oíÒñÔ­ŽC¿a/xÝsT‘gëtrGjñðžÊþ¤é­nÏÝËêb Áã°û]–]½.;t® k3 h½ ËMG¢‹G'/3·ïÒ$ÞmžDº¬@@‚â6Ÿt€)ú¡Âh)~gã!æ4²óh] DÏú:wÚÉ.Ùh\ðqhgŒ$4‰ÉL…ƒThÜÄ N†ªó!0¢£”²þV±i+ëüùHÑî*cO«Ï‚ïÚ®y,çÀ~Üoâcɾ l€N™ÎÙˆä¿T«‡GýòA(#Ïs|(’¤WIœÇàxrÀØÁ të‚Cq¥£Ø\jÄ_r–g­9_­>•/w¾q£èë­g¤Eëö 4>'9 ½Ag`«` @E’È^‘$éAþñ¢ÒWêà®oÏ'/ªœ§—ÿ=ýIÆ4½Õ Ü7™…j?Ùøo?rÍWBøž"j¶<«Yªú$œK²—î”ÓØî?‡®|hüדÛ=ÓAb§‘(¹×â 8P¦Ê‡ [²ýÖÅðº®áÏ·PÉ,ÝX}øö9˜€Çrƒ¬'ß]"‹«:¿jŸÁˆ¤é6%]WÉoR’-û¨RDö…ÂSeŽô h¥º-Ò+­¸ìF[³{U-ÚW¾=À²l68Ø ›M ÕR@?‡!‚oUÏîžv¯¥}y@Â…‡ÙŠA©[À/“iu%Ñ}z<´Y´ˆe*u …6A¨§«u#c&ó`žŠì¶ã>Hý}¥(‘õu½rñ@˜9V·[äz'†”½ëÚ¢c<`ç÷¸X…ôiÔ*ÐÁ‡ä7,=8?mwÆ×áQøc,И)6Ð}WàËù¯4H.èø{Ð •+’ȇÖ}p“$òÌ›Òî7O>×OSú$—òº‹>Ù)ß¹ü¥ÞB“¨]¡£Ê>ÖÌ!SèRS½EˆTÛQ5NÑq–^éõرgî@É›W™…*°^X|¶ê°”„üu-en|%¾9€w!Êwu¸ÃþÝñÈ\¿äùÝ«нâBÉçfæ»ôpªO&ÊTæAx’c¸¾ÉÆ v¬7p¬(½èm¤‚¤ì9 r+™¼&v}Pï ד+á<‚+Ç%åÃØØ›ÐŽ”“zNª8øk÷2h*æ)µ½¼p"}¦ö ? HjJÃm”IFܪÔä•Y²´!>gM\_QÜ®‹X„H$?âTÖŒ³ÌÕÐlq:ÖŠ¶Ê›ô+É/ÁõùÜ«(ð\ÿc[)=ݯ˜?¿×+ó Ë`L_ýïB­W|W‰áðb„Æ:ôXRë^) äôá™iTP6"ŽîŒ{a›X¦8sX ´Ò÷±;ÌþºÀû ýY§O¦FCm\j 'Lpí­÷ŽE/ü¨8é݇?´@†3ýÞaŒ$hŽý”êÒÌAžà¢©¢ÍER¸d`òÅÉhXÆ^ gŒpƒÒÊEjt§EX2gy‰/Ÿ¾?D³'”söÖ=¶,†PDÆ=J’=Ž3ÿ '§qv=¡ùméê_v§&¡R ö×,“läSåöxnš<”«-©‹Èß4-—F–}p6&ß·'™×\GA$bTðÎYÊ?ߘ;ìªÄœݽo½‹Ð¤·_67A/ñdX'7®b¬I®h¢¯é한D ûMþ`—í_¿-î@0e9Üeˆ{öqfKè …‘L¥— ã¢bi«fní*¤(›•ŸÅ92ÆMýõÜV)`Ú¿€#W½_°ãM4¬È–ˆ}Ÿy¶“ÌztTe»1é²U€³‰Á h}×s:¿xÛñ@&;®¼‘96eu+ê®– C®™˜ÿ¹†ÓQHÃÞöO|ÂÖEvaÿ¸ÊÑ÷Qi,ÿé€?Jt´Èw°(Á KrŠg8§íà¶±`rEÛœÙxÃA ŽªŽVŠ%»cºê ÑœŠ¤íRã)tagHV®š÷ž ÊZ±8Ie^I'yŽCT½F‹éDéäÑ;ñãNÒý\P€ +1J£‘|l8AL®éð3êõ~kGæì™ÔÐÔ9ßý‡Ù4ƒ—M¡¶*Ôþ~ý$ ¹‰¤mõÜŒ‚ôÜÅÛ—Äm¤ŽòAèöÓ,ÚU5ÿZŒÐA…"Ù}3Ú„¶`â¡ ÛTsØ†Ñøh2.óYû>&{lß4·†ÛÉX? œŒÀäç*ž¤¿Y~ßÞˆÏM£üÄæ«l¡²eP ïõœS›Ø„Ö”©HÅPÛÍ£°(Ak·b5®µB*…¸yö$y³Â¯àjp.Š„=/ž[{÷k½®„û4? ÍÚ@&7º/|KŒ¹"£yd¥~ ’·¥vºÆÓûFA•š)[‘Îó·Îg0„ñߨÎ}²«ÃûŸš(mûkô}¸MÉmÓ ö²Â³ÔûËýëP­ ¢qñ T¨ÈÆwvúæÖ1[YÖÛèC/Z¡–@®)ÊÔk¡:?{2„À[\­Û|Ùüêܵ{áw'5„9)n  RýüRèÇÞÎ!hhk7vO5Ö`°Ôfµ3Kød™‚¶äÍ¿pkÙ!¡.´ËðЕz]þ]·ööD#1ÜÈ@Âév’Œüi]žÇü¶gÙd{6óÓ\Ï'H7¥/$ï‡×¡y?ƒý„à¨ÙÖ íJTÄ2Åì¦Öª ö8ŠûÂ!Ñki^›à xl€â`Þ(øŸrïÕˆ¸G–­· Ñ“²¼a8êáXš)éã' „yè:@Ò8¨ª£ä [úÄå8²P{2ŽeåËŒµŒÿÜÌ»\ž±’ä|' ~G9G…rÇŠ†éžçÿä4ü~PÚ?u$ nz†f`\`DÁ™ 0¡ŒºDÁxœ0ÝaÁ"¡i‰<¬ÁU€ þ 7ï@¥ax?áZbyÆåцn!*az± µ÷ÅoNÕõÄq zpNì™Clh«VÙ –Lý&¿¨€z¦)(]üd×Û]ô 5ýцP!Ô{ ½á|çžôÂÊÀ]cnø"ÁdûFlׯ§ÙPª1ö>M’IÀ–) ø‡ÄeåÕº›ˆ8TeÌ•¤=nྱæ8VÕù!ú’¤S¹Îe&ܬ%8ÛUµŒcœÕîÏ!OÙÿûoõH‘ÅöÄ$’ Ú¯’°—nmÎøô7’Ö±¿fιBÉETÒ´Â& §§â.é{ìGÖØ7)½±Ñeo|(¬Ùi½26lecû±JÚù/êG4:Œ¶ëHÕý;nå)D*ùÿ#eÊ\߬­Š”Èö¡”ªCä6¯ÃP#µ©hV#ÉüDÉ:ë]©›¨DÌSÝ*ÑúÎÇPs¥é}Ù´’'EÊ÷ùÜA oÁŠªá{ø¤wƒ©C{d;e ø—̱j­~¶ „oþ®O³ o×b—ä=”Ÿö„h ù`–ؾg0N~iáŒÅÄ?ÿbò€a÷U†ZŸ[ô|3P€PÞ[ú^õõ½%L•Fçp¬c|þŠ]Y)"ÇWJv”/Xy"òYœ~MäüôÚF& 9oXs.ÇRaúm³ç$1nK"dÉ‘Lž ¦ÿÕ'Ÿo×w¡`>¤^J^éAoõª_ßeÖTD77üdžWH`§C¦yÿ@Pî)‘ɺ›ÀB3UŽ/y»bY»¼q1'ÏGkwðEÑ—›•œnbˆÿòzp´H,b‡n”z=Uû†Y°¢4ܰd®¸øñrNK #H?áÔ2È~¾%†ª÷×ÿý OF”4wìzúüô¿† šXÜR°gí[ÀX±V}<Žë1r¸>@,”{tVo›IœÁàh´ç…%†OµEàïBî2¤ Ãg "e²‹ |tànÐU,æq‰<‘K™õ0ž† Ï’¡)°gy|n?w~u[û¯IœÈ¦Ú +®ºkÈÇŽÈ“¸‹Ö«&8]•›ÒŸËÕñ·ˆaü†‡¨ëY/ƒCIøxµ5×i%âÔž'¨Ó3tQ—Y8q¶mmûÝ|=&Èû‹-Î Z&ù¦5u¯X «Ã¾ìƒ9Ò–¾Í—rË;ü¼.ë…«»ÒìíEÃdA}?8¬›,&¯×ýP“0‘â±­ã”kPê»Lø_šâÿ-4Ü êµS ³—çp§[¡„(ô§Äÿ§dÏá›Ý}4öcâOdìái^¨…¡äÒnCd@üûÐ@¥vžÇ<¦¡\³±*‹ “ٹÀ ¡=ÐE:¢>¢¬=Ã[\cïuÒýK›“´g²€ìÇÆ‘±rAcB ͨ±në$ aQîD7ž<¼âÎŽ;à|ê÷×Õ 2 !ΉÜj¼pŽvª¹µœŠ‡ÏÎyz²zzN³¡±p´ÆÉuþ[–6ä/#/4²_~+ .؆˜¶ï#i£Âû8fÉGc4ï+W Ò·Ðåv¦º—a¿Éz…{FÉŠ°Ž‚?-•¾æ¬"ÉõÂŽ¨»Õ¹Çqêª(Ut9ì\;æe›'=dÅ—#×g­ò¿u Œ¥pWÄ^k{þÍ…?q!!Ó×ÝEþFJu|£~zHçÆrQwÊ´í63«²^m&ƒÿ<¤cÉ>û'cM›G{öB›‡ Ó‚¼Åxþòš&ͨfµÿ¸wîTÍ÷GVµq µóO ¦¯#Uö@ñÚ¹ktå¦tÑÔP`. Z• ©rˆÞWPKçíkî ùÖ͹¬„Vt+¿”K/²Ê •«=m€¥QàõˆÆØºIê\#Õ¥—vƒ*g†_64Ç0Ámá0{-[Œfèp/NlØl°ö+Hµ‰^VÍëµ$O¾*}Ízš ìÊÞ©¾çT‡åvÁKý~³Þ\×`PÚùƒ·K©LuÆ.Ëö¸þË6µÄZ @Ú”]«Òñmóô ªñÂ÷Š=Û\„òŠN£–‡2‡%âÞ¨iR’­,cß‚hò1ðÕZý¦² ‚ƒY·˜œ‘ XƒƒÏ«³Œ±nI³V‡Ž•Dâ×µ·ÖÂŽVÈox((ëÇâ¿£E9?¾µû@eYíÏ¿eñ³oíÎÎÑÑRY·ú·2¶Ð}B±2>þ]žú¹lp¬UÕ«8_Ø7ý2Áž——k`LFgêýK-à+.ß©¸ò¸Ü$Iþz”Ëîq;ÐíJEv_±f e±´§Ê¶Ò¦²Á¬à$O!ø\ü‡½ïºU¶ÖÍ1üf’Ùâôk›, Âl¶¡ñ$ÖûYÍÙÞÖ$³÷Ñ3Jn×Ds˜é÷‚$ CÀ‡Ûq¦?ó¤|>Üõ)6²^j¨þÜX½œðZ?]ÿ¦t6˜å!á¨jÉ4ëÅûòÀ-ÁwǧÔ;Øv©I½@+@<à3¨Œz2'³û6‡ìèoú~¾Ç¤ƒÖZæÊÝøÒn"XZj'ðÿÅô¹©~5:ÈM°³ª]'î•þÁÉßý]Ï®¡îÜá_.‡³b¼ëúûÚZF EŠTéFyø­hpxØU¿aSùJBüѲø×mê\Cï‡ÁcO’O%Îaóö¬xÎdDƹÀw~V½;"ÒÍ0,)Ä@ï"Î\äK zteúù^ƒüªÁ¿‘S‰Ïr~®åR6i,7µËS^}æÒØs†?ž5Ù©\†hq;›(hj©ñ$ÀäCkìðü!½¦ád¸‰)/[|ÀvƒÔɾÕGvÞëvÇm@þÉmk…%YT£<ê;—òÿCã–DsUl}i¡ølj®‘zKñçH;+B7.­MðàÓLôiÁ…U«ÆÕëTð/ 7ÿ¤šPLC²XË.U[дz¯g¹ÁàˆÝOÓ¨³k5¤áQt!í'+›5¾+ð.žÜE=¶æJJí±–—{åuó¤ƒÆxC^Ñx#Òׇm¡¾iWå Ø4\”蹦~U>Ѿë»îÕÒ½ X;‚ÍÃÿØèé=ˆw&D[؃ÿzYÎåã’‚é( ±öÈ‚µâ®-C±—äŒ/höì&BÊêJ*Üó꠱ǣ*˜f*)õ‹Ü/5\³%ši#A!0Gé«¡¨š$˜¦ i|`OÇ9~š)nfމÜ÷Šñ3=ËdÚžá>ò~Ö74RÕ}5‰äÊÞ2OzE£³<ÛM/©OÊ…m²ÿ"TàAWжýóªs&Ï?èvm¦ƒÂ Ì™M¬fBCª#ªv¡lÜ;Xð9A*<3Ë$¤ü5»“ǰÃJÀ\’†ï-ڹ̗™6¨üõžòo8€,»=úm" Ä&­MÙk].›zWÁ…!jºãø8Ëû’ˆÄ)3´Žœ±ôûˆlÃúAò÷sË_T7ÛøL êvâHrD1ãŒN N–«Z—¾Q]5V§—9h]„ ZÑsä†_çô §«6¼Oª¥.'2mèDd­žw%êtèßż{q˜.±ì}µ°uWÏ„p÷HÒmcȈ¿ú„°š…­Q¾ègÎ2Üö3ªªüVÛ/†÷œ|3J¾¨ Ù°÷@çž° }¨ÀÞÂë–!–Ú¦*{å/Q¼­a†í¤%Y!t!§`¯°T³cKpì„Ñ'ǸZ¸,¼¨ž¬ãÄ#¼fð<Á·„³=ÈR8 Ê7=ÚÕˆÚLÇ[ºl"”ET2wñ÷ÃFXqž'©GJÌ‹Åb) ’7£AÔûîÕ²‰^ouºÚØì'cÃï}ïîl•­ãè=²EµŠ´¿X5ßÂ-tŸ#÷à3»¦Ê ý;ܴ™(.Fß^Û=åŒRŸW5 ütUÂ;×ĪmÁîJY(¸Óÿ¥o0Í=a{åÁ–Š9†úûå´Ÿ;K™ñWÚ‚glj„ÌÌ‚¦NõÙÞ7WAÁ%Åæ–—ÛB&^Ÿ!D¿c~‰Ó(DRt‡L!#i”­±ïã;dR­[`ŸW ª­7Kàõ^û- i–¹ŸIà¦_@4$ÑB*ž¦qÂÕQÿƒ#N¬ùÕ»t)rpZ›¿ìå•cݘÌp0BÖnV¤™ÐÉ}u£m(nÿ6¢-¯3KLðêæÐöÌto*¶KP»£Î_gç6b-îcP‚¶VIþg”T'h,Bž_޲4‘a À… ‹…Û gZ&‚ƒ–ª¯ ؽ‘8„%‘`˜V.ôXÇwôr6 }@ç[]¶iïž>ý(#âLø…]#ðšCïIì,ÿÑ{þæû qÞéÖUbCÛM•[÷–ì²4ÒüSÎè­ Šg¦§†ìTÎ×ús@WPná#Ç•§y‡3ìä.ÞÙÍ6F…y}!;ÇŸ õ‰ô`»T¬¯ößO\ÿðÉ“9¬ Kô"F¯' rJh=I1hÏ…ÇÿDô‰K1í<Ç•8CMÍ6SðÝ95ÿ}±P’Y‹ø¤F!bvcëÉŠ‘¨µLÕÞÈ Lþ«Ïžµnð«Óª-œ“Ú$(¯…ÉÀÿ Nú .Û!÷#K5w¦KÀ»{1ØÕŠG''‹'™6kýÂÕ| MìS»`ÛvH÷@ôh}ϙ̊õhÃ×ÄÆüÓÞûcAL°z\úóÀ@Ñ[r³´vdGº‚á¢"ܳ²q/“ý<8`3¬ei¢ªk>ÕÄ(EòÝ*Lk™Ú8UûÞJÐŽZ„¹$~yÓ[ˆŠÊ­µÅcAXUÆÚ]@šöéH‰qýŽH!OóGI¦ÐÊmOßçÇÖ>£é¦è¶é.ÒÕÔYZÃy2P5Võ<âqÊPÞñzã¤k±3Xìq× c7nNfT’r]àÛ$è½ ÂãVœÏâÐ@«Ñíù†ÎúÂûÞWÎ¥4ìÖ0©sêón×ÿÞÚ¥XïG´ñ¥9៭Œ‰£ûP÷¿uý¼uÄùv»»Ûg¸Ú!´)®ˆ_+QÚFNl_èÇ%ioLÒ“ãâÃÜͪp_O#;*ä (ß„…PGî)»ÒoÈ8£E ÷EÛ=òD¥­`Á]ÈÖ~ÿÜT‡‡yã·PÈ›~¶c©¶ï¨€áÏ /€!ñ+Ôd÷U¹û]ÔB4V‰9÷Ñ(3òùW‚wÑÊóÄÝY÷­X¾%8Oû5ÝŸå†g­T=j&@ÇœdI$£mÁàq~ÂWW¼8^<ƒ¡Š²` ?’°ÍA‰¯8jô:…ÎÒMz­&")t5ñi-K7Bñ¬'kèy`çãºsѕܨÍL°îàßeÊ®é®&b–”úª ¤£/¦I„ÐnŒ ˆ·@õ]ëqìŠjãw:ÞºÝñë-!G+‰£+#¬ ¿ÿ{‚³vR§Hk§ ŒÂ çÁ«¡Ê^s8_ù‘3!‹^'Ää±hLÃm‚6ΜŒQU–˜1aªEUIèíjµãè ¢:œÊ¶sö†N\zØìÒp±þ…Õõ¬‚Àã5·‚.Tõ3|ÿ8éVŽ™Ò ÿ:ÖjWë0ëǼh·c„¿ òòvaèzxb’ÆÀ‹ÃÓƒœw:ƒDF‘Ûÿ.-™†Cƒïý>iQ€2_{‡ÿ¬²-&¥'Pó3 îU¨Kœïæk5!"Êéýd×—ý[>-“…¾¹‘ûŽÍ¢¾£n$­š©Î¡àIÎmN³ã(5žb=‚‚ ±Àø´É0нI|WÿFÔv\?)p¬.¼€øñmó÷z¶ÚJòµÂy¾j­Š¢ÉiøÞ‘¦÷&WÀ‡Êºò?«¦ÜÜŽD È(E—0|ן…§ÞŒt”ÞnøñÜ‹dò!Š.3¸¡9aç$›)G÷JÝ—;¸×î & sÑöéÌ(ÆP“´þÌp·ÞUÅ–ü¿Ë%£ÐwCõ;P¬T°‡Še—?ð|hL>iNŠ‘ÓsÈÑüRE‘s܆…qÛøp”oÅj_Û³Ö™sù¡·Zt¡ê#0í@X-1{öÅ¡mc¦¯5ÑGÍ÷-Žü\z ¬šFŽ•sBš‡ ãîÍ|azo‡Õß:µŠšKŸT{ÏD±GÔ¼Ibo„"ϤæíRšÃ™=œ_±²ì<Ä»ô:k–*š\¶Ç EŸ—V/VÉÂýd,ÖENÈgZS\U¦?~ÛÉ€ZAO+;LGËàU_Îýd `¥µ„¨˜`âÊP{ ’ýêø¾­?½È )-†“º¼ô xËà‚XÚÞô…X©+ç.Œù1ºÜ?*ÈVʆ±4­´Ü˜3sº&íð!ŒPCO1Ô+ä4 \·ªÞ‚63T–\3±â[îk'˜ØÈvv?'^á˜ËσŒ ñ‰yNz:ìeÊ”°›¦þ†Á«¢KI\΂ýº ¸µQŸj@Eƒ0E>´æMÙJÃP­%QýóêSà4Öݯ±ÿ_’Ù†3i5/”ѤªV¯ì˜¢8×R™éeÅõ¶¸\ÖX±g‚>ûÆ›‘^Žv¦7û¯˜ vkAСžD¡/ÐìCoòôZ6K> †¢]÷ÍÈ´^¹ZÈï?ßÇ$ªP‘ÚÄ1ggÎ-hHTöCiT¿åtÌÇ’6¸—ó+EfØØº»Ðžv_VÍU™Ð$}éÇç,ÚdZ¶¸½ËÂ4/iò¬æì|2ª—¸±ìðV½+ñkÄ!Ô)[ý¤*r…—Z)ë‘äÞ˜Š»ÌlvžçîriUR¹X¢JÁF<ŠÉŒÂÕq÷Sƒû,knW~]ù-<ÊæTȻƬëm—=¹¶;ÐÄ]‹¾}Rb2ÓFœda.lß$Kµ}›Ül•`Š%ŽÅå2VOëõ9+Êÿçˆ7ñó½©M¬.å@˜wm=à]J¹‰¾3ø}rª¡Â[(pGV«5µY3‹Åm¤å¡ÄAº2Ü’&¿_³þÙ_¤kðˆu1MTÈ”Ë7wD°ZÒ„Ú.D8qK Ó×ä]Õ-9ï%ò Mòß@hš"NŠ—Î¦µÄí­úŽc=(¸¦ÎoœÝÄàò6+…·ÞŽj‡9½XÒdͯÚ†§Æ»7›Ö¯§ÚT,kâæ¸“ nî³Õ°UÔæ ñň1,j; g«"cŒ+~`Ý)J-7çV^·‹r?¬dé’½ïé•;Çe7(¾AÞÛâîºfŒq‰pÍ çéíNC”]­ãúsT»£SÆÔ]—,É8™£ŠŽKc=m!ÑŠ |>{ܶT0Y}Y¿ÇÊ»Þâf ®7À×)¯r²‰_ˆ¤ìÑEž¯up’Së;€ë;G=ëûšÊ^¥ ·§§¹p!R¨;»ÑVçüD}æ[ tXÄ>àJl†Ä„VœÐ)%•#Óe· Ú*¤ùS"iŠrwh`—¦u0ýeÿêÿŠÌoêå ÌË7ïÀVQ©—H“Ú‹VUm:$„â|—…/93Õ@4´;ݱ9ß´’ŽÒ×ÂWkÅxýB ²xÕÉü)ê£RØ•¦ŠÂ|e¿lfd6<¿í' Ë|ù÷¿¼z÷}ߌtÖÌ…ýB ™Ó'‹eß+·U~BX¾.ñWôè4‚ö§Í’¢¥»I[ƒœÉåkWf±}AÛMu»eKþK“‹LNÔO}|u#ÏÄÚ1‘ÄWM‡$äÚvΩqC¸î¶Ök"!S6=<ü+øæùÀ%²Ôè” "‘\×.‰VzÓuLGþ`Á‹Ë xÛìÓŒanm†zCÀöV¥Û$Φ…Hfë€þuù¢~ýoÌè’¡¬P¸3åøXjE»ÆØë~G‹Yêa‚ZIº*ó„™™‰žð yø±¯î1¼ÆW“.h@ÓˆfZå¡D¿Ò›ÅÖÙ!ì½Ä¨o20¯— E’öÃ⎎XE-ÉW^ g€|‹ 2 pa˜çÏ+®™f‰mÝ-ft¥TµÝ[M›(_©¤wˆcO„|±eb]~Á7'€hÈÒÝDp\os²eß6“‘‡™À4£FAKç1¬Ò[ýêY)#¸r²j>• )Æhµs»×¸»˹(z8¶p'mAžî6Æ~$Ôž“Ùf™ÑBÉír² =Z¸ÏòS32  Žê¹jPý¬àšÞxl|ݱPöòr.;⪯í,=,@+¬¢š"¥Áut§O™Ùcí%À§Lw .´Ô‚g¶ÉVE\«hK¨âN k @‘;̩֒Œ•}î1qfiÀ.´ç69%¬QYÓ–\õ+ˆ{;8C̆çü`Ìzd¹É.i<ø%x|Qw™ÍÃ'ÏâyY ZJƒG?›`ÿO›ìŒL}Ƕ!ž³¡~•û̲„é˜×H®òÆ@C¬õ=ÕÚÛ@8N¶úiBL)ÀPjÏö#ƒxÇÂV(„K nÆî%b+¸„…bY‚ŠHpªÁäy|Ñ*Ú· ^iÅ®ü0åÎ!,Î Ó›tâûiLò7ÞÕ)Uy:u­­«K^wÔþ4†Ž¥ÀaI%:âÐÖ8ŽO·}l}ÉùI"©-ƒ;=ûú7QÓã¨àŠMÜ'—/Ð9MËuXäH‡.ü”-Ž? ¦VdCs'Â/aLz –KóY\”ê+DIK}oTfåðÐùMogºÔQ ÿì r…€Õ"œÁûV½—¾“Hõa´§‰š§²)ªì•Úƒ¢3/ú|ëiLòL1&(Rq«Ë†Ì|Xno¿¯n{þÃH@$g>Žùᆓzk ÃW@S瑘@=£$=Vsî0ßám>óѰ“‰ækŸÛ^ LV·­ØÖJò”HÅ/:X®šç%—e~ëúaÅ,¹WæMÀ¢ÑÝ`÷ÃØ%ßêDîyè•t."Š8‚¨OÕæp«ÎZb怨¸¦ÖnaÐÊ{Û/:®MNN©X3œ×%+÷Â’v˜qF5Íyï=óŠ£!I$*ƒ2â—$ÀJ:þñÝF #arïÌù¶EÛRœHõù¬ÊÔ—´›9Ñ“dÉ“ìÐ<Ð eçw¬à™S‘T!‚!”µURï¿f¶‚t"ÖõQ\TqÌ Ï­Æ{8ý>ºœ;ý1ت!sýJ>_·P:OR Ø?¹ôw×;s”V;ðžîIÍuzq*[2×’ †Ù7Å‚l†¢Ë}žË !ÒÝʼn·xÖü)Þ.ñän«%áÄÐN,A0[ñèteö.SQï mwë ÄoéÃj®˜•¦˜’¾9®©™÷P.«¨Fn¯¬Ë„Ð6¨æj‘èP0³°|µ}eBÍáñJ쮆EìC¡¯NövRÅ.Ó­Ã~Gø«Àoö£æK+Jüšc9s¾BÈÞ”½{û9gh ˆàËõ‹,®˜ žèð†kÐe‹â×T)cü”óÕs_JVƒ” 1º)Nuæ [IÂNx1¯ìm×ѯPVSóäiÊ9ZRÒf©«¬çEx3üÄhÎØªÄé8 Ík>Û×»4äÝH(Cë’M[*™.‰ïÝàç±ßÿÐ.iôã:2H×^éI½Ê£t8$îÎî^AbЧŸºóÚu­#²ÂçÚ…|z!”—o8ÙqdVë¢ÈÌVצo’¸™®bAo¦óŒª¸‘£¤½á€Ê45ZÚs ¾Ê=Ã/¼v”UÿÚ­Ï} •ÚôΦÏUs ÁÆû7^˜‚¹ ¯ŽS‚ xèîäIJÐ~ìíuÂñ¯_Ž¢yöªÏ2Û ñ˜a·i~ ^\Ñ1Ð8ø”Ævr‡îÐnáþ: ŸõVÜ3¼Ô¥-X§y  GüFÏÒ¡†mòóyšƒëºtik‘«yá³mGo©Ì½±i^ÞFŒXwXV½¶›‰ÜºP“WÈC;ìñKÍ4E4øŒ6xa`&`ë‚ãºB}%Žê‘šÁÙÓ­!fñEÉŽ= ¡î¯ºXŠž³‹£Š°6oYé±MÙZ´fW_^mô÷—ÕáÊüÐX£ƒ„¬ˆøšUQ¦J+Îå9(‘§¢ÞÕží.ã²”ƒúã$ZÌP|M´Í•pžÝ]¥;Ãå±8-kôˆ%¸ÂCONüŸÓ9›F¶“WÇ,Ò†vÖ1êÁÇWf¯înÀçI»’Ù9N9'IB-¸vM’˜ùÓ{c –aa ÏÑ‚ã£Ö€½âD`°´#®°±Žš\ÇiöÁ„1³móÚΟl*”ÓGFNR¿¨vDÀç~EeÏ‚ް_dœ%µÏ]Óø½F$ÖØ=¿á°>ÊŽÙ—dP‡AGª.UTNd#AÆR3FŸnK‰ï/jcã£ÁRŽ»aÍkø™‡‚ è}$Šú@Zó‰C$]ðæeÃE!»ªFu-…ñ?`›FÇ »ãî5C¿ºV#ã| Tax~Ç\l'7´ç®ùGæƒfðŽúýMr–õŒŒQ óóû¹ÞŠŽssÃAòO3HUËeP+L–z:®Áä•…°k"Ÿ”Þr \3wÅ10µ{7$,Ÿ ÈÁíŒOâü‘¿âU0–,¨Dk‡•T+'Eê­o—~¸u”Øè˜ßrÞñ@Kô(/~ÖøÏ™¶ÕV«Ùv¡ñÀíÅhÍ¡ S‹€Ð`Ú?È$¨W”zw+{ØŸÖi˜ªNdÇëWl‰& ¶“ ®¸‰~×ø6âUÿø»õq›šy‘"*¾±Œõ×=a&i䦒\’zý½Hø \é0!0^@iw ~ú½úáïš!ŠÞÑu¸67kGÅFá‡ILíÉýöÜ$Ân@S,ñTø‘ ’ETÉéK}zè¤7Àé{;Óȃ7RmJw¤ÞSÂUC7tºkK¯§µ‚c]âЮ½G›†êêÄÃQ†_ÄïÈí\”©si'b×AsñG<ÿTd ©ÝM>ƒà~2MtëTé¤A,B–™Ñ¶+pp´-8¸Êöþ¥Lz2¸Óÿ ´»[®•ÿ#„’Äo ¥±º—N•!kCó¦ûœòï(‘•J÷²–®êÁ9òŽ¥ ’ñISD²‰[É>!lÁe¾ |`ù»“fJpˆþEÄž„:e®ðì`Ö ‘¤¬¦ñá¸]žéŽ^Ez÷0‰Wøê…ÛŠ:ô¬Ã®þ“cžI‡lÎ~£±£Ñꂽì©i¶˜éXUÔñÝAkÈtÌ2_¶­.áî,8€èËø¢™3ƒßýM)Šâ¬náãÑH_k—¡ßëñnSwϸò ;ËP猒bGÐ]°„ÀûÁ˜rºK¿3ü?¿a­bŸ÷'‰þâ§,ñôn¾|¥ï”­xÑl|o5»4iF«Äé;-Qnnèk}óÒbÈ!'s{N¢"-@Å¿g5©º¬øí—7(û “A„áüÓB·óM0€öx œX:7¾ráÕÊ»°¬‚ß±…Ï„­áa[1¼LëÂá4’¤¬ï¾‹Ÿù©¡˜ú§œwm¼>u>fïõG®¶Å­ÿü'÷Uø‰iè¯öåµååL‹aèkT7£hX1]…­µ\–Éš»²˜b‰1šÑn¿€àPϧ>$\> Ž" ñ6HïÅJá ZBÏSGb§,{ñmÇÀu ¹M>T8ß8IÛ0B—ïÀ\eu ÜhÐë–økZ Ì¡s)¡Â5û/gÁ±Ç«l[ÛÓ5-N¸ÝÍ—ÂdM[ˆúÛ’¨ _óPÑX¡nƒyä‘19Ý}ßÖPy?öH2ûž$ÂÙ¸!žxðœsG7D×<ÒJÉx.ŽÉéØ; òRc)[j€…™ëÞŠ ÓþI‰èýô±Äæ‡.×ģȒF‰BÕâ7fªç¹Àþ_“ •§©s;ÛÊRsíœêž¯=½6šœcƒE*íÚŽØQæ†0/ôØVbbÍÓ»5vÚ á{Uhý‰¾¡7SÈŒéP“luªWKníDTÃŒ÷gJ¹´!?áa»ÓoåÏšý~×%{%´æ¢“w,«lífôÝÎ]³ß:pZíDüd J7É•¢/ü"¿aJ¸3Nø2ÝôWÔ¥F£ò78û+þ úê£ë©æ^9K›B¦b’ÁÄ¨Š·Ûœ†þ(´&èN1µÉ?\¡1ºdâo;×°‘¨ìè´±†0‡ ;­÷j»—á‘}еÙ9 šuþñ Ĺi¡PtD¿L6×÷pâóܦuç6X½‹¹— µä‘¹°ßÇE}âVëœÒnËiþèV!qD>FÊ5ÌÐhÏWm‰Üõ«EnŒ£9Ô’à—d >¶nn˜ “WMÏHz<¼’1!Öq–²Sè ¢ÍâôˆÎwÁEš/‚Cð‰8Et°÷6gñ+UžÞ•Iv¢!ór"Äôé©rÒñŠÎ«&œ7"empz-êãz”`ñ:zO…%\„¯ö5í ¤Øv$úEèl·*;qw{-¡¦ŒÂ•ϲ‹E‡¿aá²òX1§ééÄ ,ƒÌ¤À8à@ÁEó[QM`•“(-G>áÀÌ„Y—¥dãÜqIxÏÿÔªO¼Šîœ6£*?DW0ñ΋aQ)Ç—kŽ©M[c›Jrðßa°®´‚Ç©Mã7j!½Ú‚Ž$çǺÙmõ.©.Õ—’Ü1§³Hxpß„¹jàh-›û/ÅÍ0Àêz×N’íüF÷tûRûàçúÄ¿§Þܹák¯.?ûÒ³ùØ/Év;J°îs»5áYž—H%PÀÝ6ìeÉïÌWòöع¹¶ÞÉŠnT §ʸ×ÿêZkÞMà Ί_‘Âò`˜'A2å)ŒgM?Ú 0>x¨Fž@F€¬ŸKfÁ,ŸÄ:Ó`¸§šÔŽ|VÐÔ`–ºŸaM[—%°O´µÒaøã6”ÈJ+Îå®›­x1E€«(ÇÁÒ¡yÑM#ôÜì Ù Ô΃(žîQPN󹑾¨‰×)Iåg?²üúˆÕò59LÚß÷ZüöÌ!ª›ŠûWë# ¦K»1ø,pS¾z 5^LàÈ‘ˆö™QtÝãÚ×Ù¡÷›”g<G§¡œªÄMŽø^]lo “IƒÎs÷²©Œ º=Ìâ‡'¥ÒaháÖwèyË[¼Ò|Ä[õ‘?Õš^;àq.„GêÕŒôøÿ¦š/æS|¹‹ifüÌ~n§Ò SQÄYŒüÛ¨ƒK+UÙ÷RB ÷-4û)°R$£U³´-"xt…=%ó×˳æa‚‚·Mžˆçu5ìÍžÙäì;¯D:ÈÚ:îз®¸~Ý;¢à5ïeN2püÛú“á.àt}E€ù9S– ´ÂÓ– êΑdŒ‹Ep¾j²—?U‚G nô¯Ë2ò¯y|š‹eÏÏ’ ü—ÅÕ×ãàŽ{ò¢s?þ žõ¨S6ïaªvYÞ›åó(m.|zÔpqWüŪÐ@ûÇòÔ ²D Û[ FUË|JÔ¯höcF¼q;îýÍÍœÍG×§kfí÷ZåXrgËWçȾZÚ=ú¡xÒjlŸå¼`A(@^ƒmáÏR Kð‡üX&Ç*W°¸kEH–k´6Æ‚XÖ.úâÜ’f\GPéþswh[±sÇœJð’òoæÅRÀ@ö?¼u»“!ídèh™P–˜’œZ¶zÓ¦F¦¢ªÝÅFµÁ0)Á±õ)Ùüúä¶IdÎ)Ñ™=ñÐÃÕ!ªn/ ™*¢‚ôJy@%–îljg«ÿ$¢BQî~Ã$Æ*–`Å€t¡é>óBã ÞqªÖÅiW#¼Zá4Ÿ]xµèáZ¯¥%¿»ói–õÎ15kmÓ9”ü ¢E¤Ú{ce’°$A|yq³ Z·lÚºÙ–,h¿•‚¶Ô£aæ•bñ‰KÛu-…qDTÃNeÒW%‹ƒu'€oV˜±öBïOž°|â0^%VÇì„_íþFµ:æ¯Öq§…["¤ë$$$:‚Õþ_pR´ë:¸…6¹#>ÍYÑ,ÄüG´(y\‰X·ç>¸6¾Ãd\i'¢Ùi÷´´Ã/˜d‡—:ÓÞûXRÏP¿Æ°¥Î& Ÿ…[þÞKͻʬ5ż°Â=¨î˜·Ñ›Ÿ/%Â÷ÙÇöÆ3îž;]ñ‹Ÿ.ŸAåL٤ʠ£D1÷ÌÅ¡š[/êÜ—¿!„lþ#k†}åÄtY{~#'ìôºF#fyÞòš¢U‰ÏU*ô K}óN§ÃWµ¶_*ø]o ãhŸœ¤èäÄL]’}çãÈž›ž&á¦%ÇœUu"]˲ƒ(wÀ³\ß/¦É)NKr'^úki³*„Yˉ€¹½MèØ, GûX\cóÍŽ‚½L]žï CžXN»0±wŒ_SHÞ)à`µ"É{q¿¼ï讲u.M¦š¡¢ä¾ÆËÜ7ÚžLÆ™›>YSÆŒœ|6ƒÝR‘ÛÖ !%wÖynˆÙ|…䀣ã¤S‹K Í5w‡@+AÞk-¼wÈžîÁ.‰œæû&Ÿ{„Q©€ØÝïÒ›bѧ”ÚZN…¶Ž“©’‘!œiR—á¦nœ¾Ð&u þ$èºO³ xW£Ë ¦þ¦?ñrHÒx”ð¥¶hÜ=¾JWïµ­n¤û·”û—Ïõ6σHw!´ÛÝ@† ð D3VY÷üœ«[(–P8í ÷~'€ 6%zÆû³çPT‹KiÉœ~CR¯/(kÒ˜q¥¾(®3V ÿŽ?·Ùof·mð• µ3v`ÂrPÊêq]ký¤[Õ ª¿ÊSú¼HÎs»¢Ü¸Œþë‚›¾Èç?+/yxÈB¬‘~sËá  pÕ"ë&ý(Õq¤È–P…Ô6Øf ¥ÿ@2øâá°[‘-Þ±…͵óðaˆ¯ûbQz±qQì¿#8¹‰¸ùÚÏ`ÙRŒicjÛ\¹úC10¾* }[Ÿhgš9CXMÿa]4®ÇQ[}c% øbt}¸o†X2ÒT«ÀþÚã¨jŒæ÷ùlÅgðëšæ ˜#že. à‰X¦Ðé[hŽô¿Ý¼Œ̆™­90”ÊK†¯¾ÍŽÖ—,† ¢Ðyù¤Ŭ!+)aMtV±Ü]”; pÑSþèK-–’K †­â Vð§±úÊŸ©<”¤F.~Æ!ð¤n”nÓ}0¨B燚Ì(§§ýˆ öJÄUªÒ\É[™Å4ý²è¯WC‹¬.‰åE¢1x.ë]×IU×Rš•—mé(¨a…‡¢Ñ’sH Þ—¥h­ƒL\¿EÀù2òËyʱè¿yÉ[†ÂVþûafPEZ¶=–šI 'Ë㺮ßE·À@¥3!°^w‰ÆÁ’7ƒ~°ªù$ï|³òÕ¿N³é²í&¸8‘5A•îE(Ñl#Ñßš¶8äÞÅå]!ãxÍåï;ÿ€™ý Ì‘é¬Ô¬#®+jfžé¨—L"÷S¡:Ía9ôPâmXx‘]2XÅØ[5ÑL³~Ï…áÒÐÃ…€ãà9õ™­@ É)Ý-­¡UÕÂzUTõ½i*bÍ—vïË.BÙ ‹ÍJ?Æ6RçrªÀíÕË¡²±‹âÁYµš¬Ÿ€:¿jÿ—ã›q¶s+”— .‚™›ÖžiΉHö̺ÝÇüºá˜ß3ƒHõÌâˆ5f­²d¤’$IYàš+A}Øê*â?.—‚B[˜|á³vä7÷ëIÙaä±<*_c–ÏX‚o&ÇiY"ˆýï:¾J«¨)ÉSü:”é4FýxœÜõ¶I~"Ú§éÊèÏOÏ Üº>Ïí!'“òÐ ká J|¦ؤtž°Ñ8m \0cWr÷Dú%fG¦ ïIKÁÕ®amËÃéñÐðLí0`j´8r—¤$µ¢F` \–wµeÏ£ÖöV0z±zùͯX;¶©>5šÌ1Ù þËÜ)oH±óÔýQskò é“¡ –»ö+^ûè÷[^þ¸›o}ä•ÿ<Ò ±'þo*`‡Uª OÚL…ÅS,³„ã¦ÒëÓúùÁŸÂ|³ºPJ„oŸ)¯¡˜çžŸ./3½AùÃÿ«Ú†Ü†Ì¦ D?µü"æUܤW-Âæ;ôâ;Ç?Èâ-÷¡Ý…2Æa}~ñáµØuz=ƒ©NÓDUñE8EØx޽4ï&æ;=Ôü³©œÔ#j€Ñ¡xK 5jOï—o£fòÓ€ú¼Û†ëz”±ÐDyò5êGq}•P§îÍz7âÉ:mì”4þ#¸„í? J ³ø×¥P9iV—±×ÿFã‡ÐÜm¸ËrhÁ¤7…9"Ù|¶ÞçâÂnéúR½®\/¨ýF;Çi6Žøíñ½LŒÍ×\¥‡ì®Yñ{ú8<ƒÝ™Eý ½Îb & æ6½L® µ@—MPŸdW•#Ú+HñÈxÜÎY¼'œL…I g)ÇàOH¦œ÷r±b»pœ×¬ÊGù(ôR•å¬Ã\yúÌ x±èô¨9‰M8¿÷Çêï .§ô'*àøY®Gm¬ìóŽž2|gÁ³ ííðª`HDÑcv8%Žý»Õ#éIW§NŸ|=Ô±v>˜l0”0Ø Û |˜ ßx=Û‹CYÙ-ñ;­–œa¶¿b#6»eÞÝèÑ S|º<þÅIþ–®÷á7°— j‰{6€ì*üè†Î)°åÞƒxÇX6·BšriQ@­­cQʼiëIýd—V©$DË ÇASH»#ÏÉ_ìï j¡ì³gwU,®0-Aþ};r/'æ3Öóbmx[Úì¨Å=?[­ý„äp¹_âO¦ùÔçRΖgl~^Ð:¤×Âðýü%™£öNÄó9Šbѯ°âEy¯)HP•z¨Ázž¦Ñrâô!».gÖ“ŽwÙqø;E ³¹Dê™x?áãØ˜ÞŒÐøm»†ÃÌÌ¥í¸õ¿v ¹íÉŸˆ2`/.2ôCPhü'^öºµM8…½»&˜X©}H¾q°b.ÌÄK¿vŵ›­¹Úá´_þƳK4] *.¼•}B¿ú°Þ¯³ñØGmSÞ~úK¾¨ñFû0—¼]QóB8ä²Ä­GrÄåék=?ð½ÈŒéKz‡Ì¡ë­m“§.2ÇòJ>¬ãUI*>Í”RÄMv P5mCëmíÜ…¼¡êlëtcÊŠ0iì -]B(ˆ7ðîT Ýv-áE¹²ŸÊbZ7$à]Èv¶}”â\Í©’cõ¢ÞViXþrV­¤æ•/õ8KM+¼»Ná׌ ³üAœV²ÎÀ®Æ"}šùŽs1:?eKfgHÍC×Ï“¥x5cn¬Öi>º^)]åæ iƒ«zð!Ï«à÷ÿ2$u?Þ ì°˜9¯+¼)ú_DJË4ñJÕ•gŽÆ™Q =¼Qöí‡Qˆ»ÑЄé[xEShë¼#i‘}ä0`ï@òºÃ<¿za÷òlìÜ\o;d’~çñ¡Óó&=‡Ôã^ºpª×ûï.¸¼;îoÈ“ñ ü&ƒk©q-DG— Ãø«Û½"ó±€Ýî¸ë¢,hï iƒ P©­És=º nןÕ|ЄEG4¨ªÆIv9«Ü¾¼æ§Ù:YX#$ñ¼R ‚ãÑçuüSq n#›Z(:™ÙlDoKðY±3û Î×¾Ýì¤ß¡L-âDˆŸåm_’Ÿa&Y|ª­ÐHh8ÉYgç]ª@6“Žëç4ÝÕž€…ÞQ2ךèÍ]ÄÄ𓵓ݽËK*g -¢BZŒÇOÓƒq:#J¥ö¤¹ÔÚà‹¸ïÖ³%ÉÁÁ hÉÀ‰×I^®6ørÁ…—…s%zÞVøÅÑp˜æGÿ 'Í_Q~R¾‰¯ïÒÍ<,~§¿M,Eo„ÃOjŒ1ÿ’0z½ähY„+&[…)Âx!˜ý3‚o’*¯nÛb°eé0¦ÿ+œkG<_ž{7|ÚA¼ÄHµxm ‹ÔÏÿ6˜µ[u„ÝŒÖHŽÿF·¥=¾ë…{U›t¹| Ùúòe;¢8çŽ^}‰˜Ók­ž§ƒžu_µ·ÂÁ")1 –Bæƒä6XdÝ2«h¸îÎ˪H#i„ïߎÅö`)=·˜æÈitëÚ»>–DÍ Ãe°”3“Ó‚h';c=ý mÙÀ´é Ã3vrÖ´êV†/Áø9+$¥±É0"´,¤õ|X•Êq6R…ãtï~瘘ëSÈ$ÀÜe±ï9wçÑ̓^&¤Ò$YùAŸþЖCÜ®Úæ©…¾?Öef8ÁÞ°…X7f'Ô¡®WÑZò"ñ¿Û¯ÆãF\¢/Ba-#=ëYnùV ®´a›à_I³ü<àÃ1P°›3Ò ]º^aQgà2Myf_mûÞÏŠD꯿L‡öröíËt'ˆæ`ò;ôß{ ÷ ø-e˜¸ŸÅûDôÒÓ#a»{Äà}¯èj‰Ü3²t%!¸ÌL³6s ƒç!A}_ˆLÂ,Pz1çü1®f{rÀôQJ!Ä&º´üîŠ/0ÎY«òåèú\õA^*ú„`ô<ÞìÝñ‰ddŒ`9<º&8»÷è. –h8qÛ#_\šç »j.¦óxqÂ;†Õ@B­¸[÷59‘v¾ßöF¶© ­¼^MЭ•V^y%áN¥üžéž?@ú°`p§Á E"¡ý°wÁÔY!¡:ôçÐ…{'á ®ºç+7«'¹|‹—»–|BL˜/Šïå–êír¼1Šr…ÌìBFxs‘Mû˜ìÓ]ÿ­F2?÷ù§³±‰nÕÃÝ$F8¦yPÝ>»Hêwt2-HŸ™{¶³;ƒ¦…å+‰F¡­dºÅ°† „$ДfKѪ”O$õÉ j± \/àzµ£Y¸qF‘Œ6|ýb8o)s¼6%À/w¸f²2p1 qo  ʤEi× à1ÿÛhFçŒNP›¶'Ï$1%ÛωjŒ\_t¨šøÕì>œÿIJS½í¢Y–ƒûÖ5$~4åÞªüÙâþ zëÿUBï¢}Åq¤?Þštcz¹1äQ”‚)bù_2ûH;ìúúɇ/ô”›”Øõûô+ÓG~h?Î ÆE·ðõý#dQJ>÷ˆAËTÍw, 8 l|Ȩ.®ÂDq3@mEê§{,s ?Ž~³èŠBÚiéÑÓ9¤ø Ëä)Õ‰¯EÔ˜%ù›ÅUÒ˜=çïÓUеtkÁû&Ýq¨ÜtœÙ~WWýcãáÖov˜ù^8 (/¤5Âê@q¯ü'éuoË;ºÞŸoò–ªïG~o=Ì4~$ü¸@},”2+¦vÉôQFwªˆØhWµïåÖ”ÀnS`!.Vú wv],°ÂÑÂé§M"ÂùÛàw÷½¥’/üÇMίA_ŒDÕ[ 7ß?ˆ±qDq {ŸÔ¼C(_êîäÍoRnt“®.Vüwzµ"ÌVÅl¦ïøùÌXë^ð Ö$ŠÆ%Óå³ö¤ö'm(’£sY g&ÇPÿÞl ߸µš—kÑí˜Saaºo—ô7»!µ3ÎÌ϶]/"5Š7ËBd‹íý?¢lÎWQ’;r·'»‡Èão1ˆ/FfÔ¾n1½¾nqÒgˆ¿[r ³vO¸/ÏÒùú (€ÌbhµƒVy)ÞÝW h†VÔZäLß}Œ"Òç°ˆG{¸WMK/Nº²d'Ä|UYý¾QúN„õôçë2UŸ½ê«ÛYÖ^­XF'·—¯XÓ°ò•¦gÕè¤Î,&U¸Zâ$&=±Ry[é6Kýé‹Å©3ç@£¾_âDš¦VEÓ¸ëõ†IÁæ9Bñä†é Ôí7dª/€QH=0ÄßÔ„y_Ê4ù—6Å»Y‘yTìNQ\›Ð€ÞD'y^ã¥W˜ò•–­x„Ä:Ö*î|ßW”µÖøÅK˜]ÑùŠÆÏ]EºA¢CXÚ¡¤:› ñîc©ab×ò6޾´Xy‹ è¥ÿïà“› Z¸khì^f*Û)»y¬ÖŽñ¡ˆŸ˜éÌ&t"ÝG[ÔKÇðCMc ½I%oàvÂãæþTÇôï,nÝŸ9v¡¡÷‘DóyÇÄ!ŒÝ aòq¨`—c¯¡G"áà ¼æ:­mKp°®M&:" é8ÁF;6›š"nšÏ$&ísÑ1ž/x/2à8SŽÍØIi‘ÿvÁÁ̹C$$ÎPqîÜåÀ°Ô í˜F ÌÃ;–ªÍŸxðÛ°füKtB›BƨÌéP7œ\ê“À ¦j<8ð²€E üú¢y‹÷Ñ’€Ú™Ïc–¾A›ïÿt;,kÁ†8e ©›(ùýhßæÈ[¸tù„šjù“¨"J¿à¯øîrXÝÓ»ÞHóï+mʬD‡¬ÁCa£©+‘5LØ >ˆ\¬t>V…Qœ÷/–Ýó¢`IŒ¶êãk<°ZHÙúÆháö7r¾ÓgBÆTþÞîÙ8~”PG^ñ~v}É>Vc±]ŽðmË‚¼ ×Ék©®P2k|öDý){›DÛžoá+/tPØùß')¹²‹!£¤¼‚\`„Kå7œŒ&§EâûÜ£Ë Äö†`zjI¨^ŠÁ’œA d\1FŸŽUïê*fµ¡õÍÃTµú ëÞƒ=«#©î¼ŽM{‚C6.p"©N×Ò ŒW{ghžZ¬Y4¢\PGUih,t@膞’er™£—¹‰°Té4.hÈ´C?iSÞN¢çÑoŠM¯@ìmˆä‘o#åcëßû} »M¹*ê£jJ©ÑÑœ–!{Œü‚_燼(§ðu‚ (¯ï–ƒÊødÞ»ÚÞH¦Š=îô¥­Ã@ï£Úff¨ðÇ¡`ý¹‹†bëja¡ U›îZ)ìÂ|“¯Ö?Bªÿ/âó˜c?ûTl¿\ í“4V1!ÆgF̯©ôK]LQ]úþ³¤ ,g˜v[´‘þT‘G—ñÕ+;eú”ºmß:­iÙÌAáWGô†ûuÝL"¨˜a'þÛ?Õ™ÙéG”Ìê?–qÕþ·û9ü´ Î3\žrì3áQÎ`¸§R *š#ƒ¼J#ÊÍòÀd8drÑ”%öÿI²^Z½8çJÇ'#´37ÒÚjüïÏjæóZ“¿ÇP“+²[rÙ¯]ÿ˜œqi.4ýü xm³^º0¤A¯Ôº€àXR ãÝîa¿ù¯"B¾ðád^b_÷eSã‹‘tÔU/?c0×<ÌØ˜ÔK_¢Y wµ—ïÿ€µn#®üq¹Æ”³j¬Ô.µm ĸÖRªÃ„!G‰~Aî„ (^öóÂ)!ÍžN/O_®^;§®¯Øs‘ü¾b¢.*’>Ó÷fª‘Íò§j§u¶@©%Eºj¤y‚`T%:Úa¸Eë&‰AOP¼²Û¶Ä®ªËÓÛ2Ü&ây+¢þ‹Åë¤RuwÆcB…òÔ‰™Š=\‡Òw ÑE¬Ãs¯l ü…oâ·*EÍì´“ôÑ.J0i‘6¾½h¡Ëùµb³¸èîÃùý,ðsÑ‚dõ†¦Ëº»VR:Õ9ö:ªÿxÝL˧ÄÒÛT¼P–ãà AaÌoÇ@c#P÷îƒiŒŒB ÐF°PŠ6ÚÅ{lu6’üðêˆ#ÓÜbZÇæÈ§µ7i’ü`‡¶§ ŒF ‰’‘t•ðœ!Áö@\màûÕ÷­F<ôûP_~ù Z½Õ[_Hí&ðZ-+;e8ÇZìnŒx=Þ574ôl;|Ðò̳_3õ½(±ø•A`̪×ÜF O‘u?!Ô ãmÛÀAéæíÞ2þ8–ïèw"fô„ŽºýFï|_qˆµ¾)Â)öNpãUBì¯Î˜`îÀ;±Ùlt€¡õ&ä°ÅÃõø*má Ç+dјtO”C«‹oy§tYË'©$åQW‹ÌãP¿Ò@€[¢=é­ÿ ÃÎmÖ$·Aâ¹giŒAÅ›4î‰I.žãŠõ`²º}ãoÁ¥¯BL,冧1VJôËñÙœæÞ"™™LÁˆBAqê2ûÆõ49ÞI¼¢QÞ@ó ¤ÅÇ!’3¸´aŒxKZÌ Íé$ˆþ–ÚŠœKF˜ÂÏüÄb^–4D^(xþ j K‘˜gýÙÖÁvÒ+¢ñ!&ÓLl‹!”t Áš‘¨7á@&\êšy¿D4×ï;»ulÖà5t Ìã=*7ç •|ä’T’J\™ÑGiF¥Öj.þr欔Š0¡½I³‡ëºùÒ’ªTôµ7zÛú{còþísw]ˆp6u„Ê]^·7µŸwÜÜX… •½>•Ö.}óO‡ñ’<ç7“xózàÞu÷Ã{50;…íI q  Ã%£˜`ÿ1—ך;¡ Â5›Á¯öš“=‘ê4þƒý¬Ý0XUänW ˆP RkÛuŸTsBjfUþû€ƒ[P®7 Ñæ¬ø:" JÙ·7 õL 2?nªŸÀ¡WL;i­ mŒíZŠƒ_¤ÛU«§Ðm⪈LÄùµ$÷vç ê)òÊ[?¯ëX Àwž Åzcj“5, n|C–(©J7aE i2 gœ‘·ÄÅÏ“%8”\ó» Õ–$z‘~h5Œ8ª/0d3µ„ø„ý/^ç×­X#[ó$2ÕçêqÌ“!ã‘ä’xTiHñ÷{'‹b¥ÅàD)È)x)Tr½cÓõÐGõ®ŸµÊ0y¬þõÒ.«¸alHMe:Õ¡)ùþýëΚK~²Æ%}ì”—ö_§¸%l¢g> ”‰¶áµ§:¤õlŸÿݺÌÄMv=0y§Ú{—ùÀ\â 3âÀ×îL×Ë<ì,QuÛÅú­š%ÄLÖHmÓ:J÷ynÜ–œìqïÛ¬­Þ0• ÂÕZiÿŒ ‡‡šîlRP›ñvç;òºùÕ)[(j ºÜ­‚5¾XŒ¼p­6–‘ÐÎŽÈIKwÜwgrïWnÔÎ@ê?ûÂWi:§ðrÂ+mXVŠ>[:‰7®$¼ØL/_úTÙ›Ñá¸s(à£÷dHVœYØGÞˆ]4ðèÈêÄè³#¬þ×} ³ WÇ…ÞÄ ;£Ò^öo…B‚´á;Ò¢n¦8^ÅÏ nã¤?K¹;C%‚?µŸŸ¾;¢él$Ú ë35A¡AÔt³Ù®»ô^dÄ@ï æôÆZY]Ä¿fŠ–Ã㸾ë¨ä-ÈáŒGzGWîÈŽ.AHyk ß!¨ˆ§)^Ú¸Ì*âŠ@1zÒ£ ¼’½aPGbùL‹3¼YxÐêÒdJ×k§V`üØC`ª)ÓÇ7 M%‹Åï*%A¤OÙbmsœ ^ä¢äÑϾË«¢!B™2+Œ¥§¶˜èXÄ^ËUS8 ž¸è`?9JiáÂ$ÛD^ýžcc»â/%W§0 KwTï3_ƒÝLêŒÍ?F[]E Š¢KÊõ &ûK'wùÐ ¨Ÿ¤¢hªÝ—Ÿ·.¡±?ºÌ>X=Kt§àÉò€M?³€­Ó]<|iÐÀw9+0ôа&BI.FJcâEN!ÆZ[×]s{Bļ¨ha#CàHyjZ{Jý§ÊòU!®`M¢a¾;·Ã_ÿþž©Mö±Ï\ÜΤ1jÓ•{bXÇφ:ZtFÐ7ÔÝ‘lT)ù›+05àÚ³ÖÃ!Ý;ˆÛb¿úXšÄ èH€_¡¯WiÔ1%P_ÖB Yõ<š¼ü¬ÃhÏÎF Úîq¢æñ¦‚DYËCêÚI#–¤J ÁÖR‚]5Ïн®õMã¦q¤/ëo= ]ß7EGãj]ÿÜàkǦ5×¢x< ÷Z†Dxþø)vzY+伣޾Êîd€pññ,‰´þÌd3k  å½C£ÑÕvÏc~<³§ØáaË”ÁÖ3\áù8KšÊNU™NÛÖÒã°³k¼§UgÁEÀæÄíFù>|^ê¤%wMl,m­ÓD‰F¬Ý_Ú[Ýj!Ca!Ó“oØ ž¾ü6Ú\¨•ü¢ˆg‹èÏC$œ€d66¯ˆ¤'ÅA 1€xy:“r-Örý‚è²¢Vüû ¶$Ôȧ™[ ÓÕÃ@ÑsŽF®s°0$s…Ц±¤ \:¨fö%Ý–€æÜj4*  ýPiHmÕ ÕÂó[«éê³®žó§‹Ü3$AÂz&­Æ‘¾x,U {aib£H)¢ÎYl~Ûÿ^лӬ 2£!‰öÒLD`Ø¥ì¶Ã~ ö¶P#WÍØß; qZŠ.®}7¨7Ó¹Q„²`ØR¯ã²É~‚y'œÍ'™ oúSï5üÊω2ù«¹‰Ú81mL–Gü–R¾K>zZ’䮎ƒèíÿœû….„ˬSeÊ$”~sAĦTbUÖ>W'¢E üùQH”sLàaÊ4Ï ‘¡êËW âWáAú¤–צ˜?oìØpHH †Cb£tyô_º[`_ÏÔLð¢äü×Dž OŽ þª[7rÀ‡}­€ 1Îi™›ÀÇ"¦ ig×LïëgøÑoÕSH0Íó/tÛLOf¼x“Ëy©x˜¤n6Û{—sngƒB¶r\x¬wç  ¨@ì…$R»ßŽ"ª1pÈ|©ßW‚Ýy=]ÕçÃ%¤ðQM%q4bÔÌFõ«¬7W4Rº* 0þ—íˆSŽ Mç’ÚÈvŽiêC†È´3amHoíé‰ÿˆT~?¨ÃO’rù-mê0·qè&$‘¨8§°Ýž ¾Õg¾ô¶=„0Áø¢ÈCN#A9¸bíô;S("©§áäc754 O[-ÿˆ-ûûP¨¡^íÛéß§°5ûKcmÅ{x¹|–2°æ ~¦16@A3¾ô•·PÿQfTqu¨zmeÏ%JÎgêÕ}šãÌÊÁ¿CRëÌÔÇ·yƒæÉk57L>wnŸDætEäåÄä¢Î¾Æñ”3Ðô{šãKl‘ôÆšü^Q!á>OLšI<Ò)K>qCô±xgc-»\‘‚1>ºî©$¤þsÎŽ±FílW¼Ÿs÷R‡¥»¥ÔÚ‘'€ç;ç`·0½AÅíù•J¨Tµß¶fFyèQãgVA…’=£9Qònƒ :¸T—õ7„F!BECŠŒÕZHq±.9I~Vv,˜Ò7æšéÐD´ðF žômŒõl*Û”y†#£öøoìÑ0¢Iíÿ¸©8ëkéÆfíg ç(gàW‡([ÚÚ ºÛfÕ·#€¬÷ø\üÖ­ Mg·/¨ZtÜXCŽ¿n"u¡óž:O^òùhOÂ!À†¾3Ù„y`o_¨¶IIv }X +é4PîsÞpD‚'W¹ffú®¸Å¶|ŒwÖH…ÝU2*—“Œ äA2~òàôˆ;®ÑȾý!š Õm³…-=5aIe0ëa?»×P•˜cîžW%_Kô‹xðfþ˜¿Ón-f¦U”´ÇÊ¥`" *ªg†)ý?ƒ,`Þf¼lY-*¹šñ1¹(ß¿†‹¢qׯøvåëy`Е¾¿€.™•ý“Ðkhåj£½—ÑA…§*æ±ZÇÂ7Ó[¢¿ZDåY⃓åý ¡cܸ&äËý¾>b’Z#ñ)užh9¹äÿ8Íð¨v¿“Þá¥<ÀåÐ$€K鏨†"êßqïø+ù»Ð|/6÷ÞRüáqèÓÀ^ ó%ûžtdÔXló2Œ«TÒÈã–†WRRí1y 5¢ÁIϳfIl~}S™Ž.ænª|‹üµ9ú qG„0Eg amY×sÑ:mñÁÙ8–!HÜjäŠ)Ks¯òÁî lY¼æ#Ix8Ûmš*§†01Þ.Ê)’A›.xìWMi åq8YøßØdß„òæPyrÀ¡/è Ü2Õ,l}û†ÕŽó[å =7ÛoW¤ 2èÛ¡Éþ’IÛ‰ÜåØóx§HµÀ´ó;P}Xž~h1õOGìêêù—ËõŸÞÈ“øóÊ Á{F¶\ê!½áÝÚÔ†!Ø®S]‰Oಠ%ˆy• hõ+b/ ÂHÅtzIúÙmhpƒ;<õÃ8í NdçÅòw‰3‘SN€ãi̪ìpv[6«"¿¦Op ãÏEŸFyN,³^¬n¶nMŒ ¼©ù±ìß !ºGÈÖ4oÿ¹52N/6hõytpR£óEéqµa9_¦§ð0Î<Ö¦äÔK¼ŠÑX<÷@ò·3“ݨ!KÜË!fáâ‘™4ý0Ü•öI3ëœû¢¬F„ŒœÚÞÊ1ñfi¥-BaÜ^NŠ4E¬KP«Jp‡\ïM•&aD ul*¶Ä2ÏëÇ“~þçÀ%<Þáu;»Ø¿ç.€‚iÛ—ÄÝþAòq~X]¹×ê_X6Ú^&‘2ê¿ÃŽ"Fžá™n>ÿ®%Y´àÅ7¥g%*x³ûüÐÓe] ¦é&÷c ÌÃè͘ªËœ°X¨ù}; X¬_a€ÈÐsÙ Qm¨‰7Ð4ôï†ú/ºŸ¢¯z.LùMŒ?v˜,ìw÷_oßEŒêrI)y·hÚ?ËØýM^2×@I;ÿXd,à×â¼—€A~&Sž`w±g£àÆ„µöÙɴݪ¤Muþ9aá4šD_(éš›¶5щÐ1‚-–º_3þ}’ñZð¤>6Œá°T4ìÛ•ö€`þ%"²O—mwÏt[÷«ñŽ© %UK8w€}:R••"ýK¸BœÅ4/_ÕͣɟlÆÞíMcØJ„é ?§8ZÄdÕZ«F÷vr¹Ï·ò¯™rì{‰•ȾAî’U•Žþ¡;”¸õt› ë•£KØ¥$Vê°ÿCÊÄ›òöÿ%o{3YÛid«M6kæYưÜh2A6ë¯:-åi5à±5çÉaw‘¥óÌ·×ÛMì™§ÈÌœøÃéjœ>UŒ¶YÈ Íü5%¯} ÁÄÆ‚¦z=ïL™ôg™º2w…UY¨<×’mœy%­ÅWö«]i·c6é§ï úäžœ‹Yþ×y\Åwžêl½ì‹-VÖ±·G–ÄE iùÝœ›“Õ¿QÞ’2Ëv×!Õx4½!‹Õñ@ØÖtѸ³UÓ ‰»}1vB=i×Ȥ߯©§/RH ¼÷Ö’¹ÿI3ŒÈ¹ã#IÒŠz)ÍHNÖ9®£ï§¿`²Z¨ÕyÚ…Üð˜µê/díq$å-ž«¥SoζS'ý~OJ„'Ø6/›éÐ:C,^¹áožävDP\Ü”FZÈwŒ’ã~ýœCbuÕ-4ðvºcc”»(•u¦¾až¬ôHhLÉÎÞÌ5'þÍ‚» ¿9x¤šo?6¥NèË5·è6&¤_ˆàT¹) SiAéXñ¾UýŠé¬1ºXhg¬F«SE°Ÿ=ÍÛñ;Zë^^€P¦òØÈ§4¶Çnd-ÅÅ?G"*·,>ÊGð§ŠØËm ¥C§D%EõQaçb{1Uå#A\ßb+ãÉFî[ï ÁâÏ=B_]ÏŠ ÊÝh·w£¦–ë†:®Šu‘.ÇÉlÕÏŸl‰<ø ©ˆâF`-&,¿È>díÕc׆³áC›mÓç(° ò÷8 ˜oE ËßÁpFãÓuÁbHp!3 Ã‘±u ØáËr„5šÕü±iOs-#N½-Íöªš4 ü‘ÏUIt9Q3ãØÓ|lñf‚A&ë1³ ƒå˜ À’Ù¨«uñàU€¾•¯üwmGÐÊã›ÈDF4¹H.ÿ÷Ñ…4 ô`ŸàºªNyãJªâªQˆ/ûÀÜ %Qg?×/åYzoKN¡ž!êjÅ›7‹T†ÏKfû]$j®'£7JŒî>4œKK@ ™>]ppϺ¨² TdþcÜ…ÚaÍp+âýgƒçÑÊ¿!¯KP÷ý12–ÑPšU·ài*%pÓp.³ËËãDm-^Zž”-xpO;u´M7ÀÕ Ó[®œå;ˆS‹o‰êî³äwAiîŠ ÄÃ(íO·[v¥ÚGÄšíDõŽãáŽv„Žèˆ.;Ö'Žt"1n~AeðÚé.W’ü—[ìñ:mó¸÷¼ J§În%0þý½Ì”v}DTc­|âÍ-Ù˨0RЦfTìTŽž~Ý’Q³³dNªŒ¸Ÿ¤‡ucÔx6¦DìØ[>Ñk¸`ãác)Ñï`kÎ,}7H.b©’Tt6›ð ¡¶ã"Äðo“¤Ž{wEýÝ£•p²v9¶4c˜ÀÞmTâ\‘'Ù©Å­ š=òDfôÁ æ’›*ðCxV « ¡Nx>ÔÃÞ—"§õ¶€ËŠÝègݬ}E®ØæƒO€…£ åÕ×.ë/ dC¯M¶>]@^a¡RØ—„oÀHÚ˜n¼4úd»­‡svÍÔfÄÄ…vêi­W™•}-‹dœ¬%ëíNHÝCT‰PkY ÓŒý´²ÐïÆW<ªìÇ#´æxÁáð“)SþˆíÐe¿0ŒC&®ûŒ ±ù!§p7×§©¨±*¿«BTS€êNIr}«÷£Ð‡ŽÌŸÏŒÂ¨7,@B¢S0ˆüœO3|_nâ)ºÔ&3îl©Iùº)̧èÛÂ)i”dßoU©°æv\ä4çYÕ“E|ºÏd*ÁÂF)~½-„Ÿúá©A;}pˆÊœ#[8†}…˜Nl[n—²Þ÷œCºþ[ภ°º’ÂËY>—põ¦Z x2hö'g»‘‘â]ºÀãÑ®žg$c¼U¬¼Îp“‡+úQN`µˆ3¤ÖÆâx c­¢º^IŒèün¥¾5 HéÆR;bDLë¿[¥kInjÜq}xâ¨09>ÚÕ†|¨Ò0n³úÑk8;v{ê¬B$c°lˆ! '¼ÅÐ/#Aè 'î÷ñ:Ò¢;{)­ÕÚ‰±J¡H¢JÜÒm×½HûÄæ]Ü" ÄYh§ËÏ` A8[P¬1¯.Øî|¹üòJ`Ò3"6t„Ù‹" m@¨b²ÅÉ>½·ŒG±k7§¹©¸›4Ù®­¤Ã2µ§ÁXR5†j">{Ù…Çße„t©“M¨ºý`+ĬŽ&µ;Ö3“´!Hà·J´;ú— ÃpeûH)ßÛR¤g¹'¼vî4ŒO§)êíÖ«ÔëgËM0¸pª\VÔ·{)ï—A”_?˜ÄQÚÖr^ (f™©Hê^ ]ô4´ŒßTè#‹¸Jtæ`dÃGFê·fñãçÀ³¨ˆEN‚¤3ÕF…îɪ4·™1̳ÌÜÁÛÉÌmmZN—$&‚W'ÿ½†ûÕ¼ôSnt›§n²ØFˆ£³dKí%DÈt}…†‹Óüª4>rœ Ö ,*Òð. ¬>jã•2Ò-ãV4yŒËîn?€@€~E#Ú8†¨”,Û±«n=Lå‡V¯Ñoñ @ðî+,Caµ >€«È¹i§4ÂE÷ƒlç)Ú [fuŠ›õy_>Ç+<×qYJ±>ò’e›•Ùd4þ_ˆ{¹ãh/‘2}ETù]:h/hõÓÅ3–ðp‡­§éRq|;x¶É¸IØ9~@O¶-X¯E\æ'ù4{Ø6_¼‚Ä~Ʊʃ tp~xçÄônvñ4Šš;ƒ½úþ Tfžè•¡ ;üäÅÑ6«q¬Î0(j \?é1áOÀqÄciÒ²ûÕ÷XÙrg jáRîØãÇêýÁÓ-ÆgÙðg¬ªŸñP"N€M âqÃ8ì­l7ù®,¢ÍŠÈsÅå¦×¶À ¯Ø¨C·âêVï”>Ù×|#2NVNËÚ¨÷¿½à>Õf];‹cüxÍÔ2t2´d eôèÑÕû—(´âq]Ú-¢rz/ÇÇ7[ôž±^òkóë¤DáQáêê“ïð"¯H=£Ä-r kïM¼ŒñÖË*w¿×¸'ûÐ\Œ’8/ÙU‚]æWeýîlseAÓëä¨2N¥´`±ñ5ឨ¤Šrp7û²ÓDœhÊ÷¿ˆU…v¹"mï`Á˜ç]?Y&HͶÒÁL‡nJ•€†g•Cœˆ:‰æ"š? ›Uf»ß”ˆ­ÐêsˆäÏK8¤“ %>3Ѹ—g‰MG/<»BŒ /}ïo`zÞÜR}k”yäa` |†Œ„,m5Íù½¦C?Ž %—Y|¥½ŸØwcsâšûE”Âß ¨Â&‰XÁßšgB»=º·“?(+l,u–û}³ñª†…’Û§ð)öîl…ÔÍ—Œ3DZß6J„³•^ ¾s‘õu‡ëKßýï"h×Z!µ3«ø+%ÿ°ÏãµÖŸUtÖŽÅÇÃF mp~E,Íà£õnDM PÒîPó4[0´]{`¡sﬡ=]@‘}M©|åÒ:ÍÈð"VPó~F ãÜiÒË™„ŠngM‡×CÏaW=}=ÉÐ×Ýœ×À} Z*¨÷J7k/qö* ìGøý«µ0> »I]š40ߦO¿GuÃ&2…¾Fû±«,g´H¼›xÿqÚlþó°Tß9i7’ôQs<'©Š˜3?7“Õ»3î0=p†¸']†¡ä2˜}¯ÁÈj6(ÒNýÕT]»Q°åÈTáµø/cÂëÀ/Ÿ$H%ÕJ ßiR^Ñ3 åÄÏËCó+Ö(ñ1ݘ•$Dº-AXØi]Å3ƒÛ²J¨DB]bßìv¹&åŸDdEÓ¿7Î`›–– M§ƒ¤RΜ~SºJ°–ÇÜn„o@*"2ãaîÛ«Ùh¼ó~xjbFݼROJ±¤7njהD“·­[f2ŽæŠ>hˆò7£Mr‘EBΆô¥¬n!Èsóüyµæ‘·BEO™öÜëL¥|Šª?QíÉ“§fE¤•:û[u…*§ý–Rýó­%®\ÞÎÁ•¡ÁèŒqŸ=‹FmÚNñ}²´S‹¢4TbŠ=J¯m£¯1,ª>13CþËt© uÚ¿Ê#ÃÀ ø|<‚V'EÄ )+õ¤r’¢À’…´‚­7_Šëùiù2ËØxC D4¯B\!Nÿßó‹?Q›jjŸÜ(ì^,ýI¯ƒÉôÍtZ<•¥¹û°ÐAs%Ôm½;»hÒŽ*ãFë:œDiɨ–W lLJ‹Kå8t·ˆ(‡<"¸2lwxkr:½=éšõf¬ÍBèAþ³ñ¼^;Éè¡|)\gå$ÛN4w8 |Õ#RƒS_Êâ>€Û¨ª’1($ 2ì?»áæúy›Œ ²H£ †³ ¤ôÊ +2•‘v“é¸Ñ¹ÈaƒhidJáHPH½^ø.ôgbC-ƒVœ7Ë!‚q¶ÇEÞH}s8}LøG&EQ/|= º¹ÛxP§ùü™iô^‚³t¤q ¾‚2$ß–€¢î°­{GX+GUé+xø7rW͹2œ ²Ëæ8BpÝ› AØ“?­)0Èïê:Ä _ˆ,UKr*4À)2X´Pe‡dÚÀØ|Èöž»XZݰßÁÀë^ì3ƒwÒ ÕºàCøjŸR¯”l`ÿò‡ü‰‘PœZu7ªþÞYQÌkL4P™Ôûw…_N—-JYõàÕTFòxD+9k«ÜAV˜¦_94²·‡ &ôáÏ;/ìäjñ¿È ±Åˆ‡œ‰0††ÙÅf é7xÞNË÷rEÿÐÑœ¡ãÁe±ˆ~p®|§ð>Ç1bJùøä˜²Ä- ‚`¹É*Ýqå'…\½~öG"h¡Á‹›‡£1…ëë«ÅWô ¾‘6ÚêÕ›[D ™ŠŠßp}1˜; ¡\gÏÿ[³ŽÁ©ÑPŸº—ïV@¶+»Ñˉò_çZÆÛ¸9üx,5 ÝàøY¯Ðof¯`Çòj«fSÙV¿öÛašnZŒt0—Ö=A{ä즱A^†Oö>"lcufÙ†ÛQÆlN ÈD„`,{–qÉnWô`¬sÛüÝ~¾½Ú“N…â©¡ÝûKªÓS#\΢|9ž< ¤,É^á´ÓÄÈ7>?ÑIà‰ÓYUs„ýÇÂyÉu©~@³¨e -¬”«;º|œ¼Íž¥x²™±¬·a冟}WßÕ³vî¡ \ͶÇoÃÌÖí»qcÚÞ •Ä™ìWõX-ù•‹.‘žáÓªÐïõœOÂá3"–TÒIÓŠuî˜R4,óÔÔ‹ªb@ƒ)?e<0¥ë,Ê Ûëæù£«Ó}©HFoäg+1 ö±Ð>Ðq©Ç}î_ÛBsųȨZ”AY¹+Û®e°ªtu`ð¬û£OžEoV<²]‚aœê³ö.àýƒ£à.©O·b^<­§Ž–«N5SWBä– n^;½k‰U.~sî<^Þ6•øÆ× PÅœO÷œÊUèŽß"èeñ>0ËÇ"@åšÀq`e2;Ò™ú™uGV†hcg¹/Pê'•-Jcé·Ö\ðˆ‚Ò÷!U|I+µý˜u\~âx£¾á¯©ë‚µ‘ƒ‘‘‡}Wà§¹«¶Ü¸t¶ûÑ€H×N^_tb6*tUX6»ãEsny@ß«oóŒ}:è­iÖ¾:\@–÷­hŸÁ‡¸Ø`öò¾FýÞèàWv" Gñ\põáj‚LÌ0®ŸDG_>JB½'øt€$ç$06¢Fóyå Y¸>l-ßN@Œ¹kÏ‹#•šb;W||‹ß{ÁC `óDÑMè´^K )¬A(áuâg¿ÒN|¼Þ³ÅîCâøou û¬ôƒ ©ÿ¹÷mr'£ùžŽ›Òc¿é0æÁ*QC,r;L°cÑ’Ÿ`û¶9ÌyÑŸ²þúÁj´óªàg €ƽôžú¹¿<à~Od2¨ÊkðµÖ®-fpORL²Ô"@‹ ÛÝ á¬âkÝñKp«r6rì$ _iº·îk”Û÷Ôž±fmŒ–…ZóºRŸ¯1?¡=¥]S)@gS}5`_Æ÷ïL¤*ÏëWö³ŽžóY4ò_c¶hùãçןá‚-„Kr¯b2«Ï§}1—xíDcŸGS<\fcÙ±œ7§yJ Õ îX`8@ŸÚQBÌO @˜ ”´À‚„dš“— g¦ÕÞ·Ÿ­—fVCš^Ér¸œÑ´”ÒälÞØh Ùå/ÜÓ»QZš–ž$f¦k½tPG†¼D®1ù}TJùð‹[" ÉØy¼ýtŽÅMZünܳs•¾ô°“»h™¯€[n¯(RæB»×A¯ ÆTµx½MDÝèÐß–¾\(°(Yû¬“¤ îDåÑ>sÈ·¯!R![]mk=¦bVB¬™Jö¢Èý¦#=>¢MˆË¹ ÊF (¤°ªM²#b'O«„º¥|ÊíWÐqø— "£1Èæ½ê[ßÍk“ÞϾ›¢.hBV«ÏpòÀônuÂ}mwàKT ^‡¸9ùÕ…ii:c‰Šõ¬SàÍç^Õ–ºªÂs-¥(ãž‘]:jÍZÅ19“´ÌBêæ[©]H€ÖœañI²&÷$å×M‡¢0Ôœ|³Yªã »²5ê0„¢%R3|]§˜Â, ]“Á;/*ÓÎÌ„ TE z­Æ¶ïq~JHÂðÑŠ=†¤.à X9cÐy>#^{¦.>À$£á8Ûæñ—wâùÉkCŸÊ|nò@ije>eB¾aC»"ÓClS^ìo€2±Pæ¢@¸ý3Ë 1­žW¤ÓõpjŠëÝ/Y„aœXüëÿ·•ù¸d5Y ²Ô6a–3,r´mLy6ûQ…† ¯ó[ÇOä3®[u!XÝÔÉE«u×î9Ѭ/ч뵗–TcÞ!ðž~UýÑMØéÞ 3k(OÌ)¹¯Ÿwþ>»„µVúvÎé“45¢Dž^G§e¨×·o1ü°Eáh/ªÓ¾ÅàD^a”¬ ñ‚Çt…‰¢/~Áí¬–r,š1Çï?h–97œ´™t“.—ñ&»ŒoH,1 S[‡Ä …YÇ펵¬.ì-ÆæÏ´èÛÄw=ƒ”rR’ñYO©ÄØu £‰ÓlüE ˜ì$³4Ýz’1è Ý@‹à,æ„;5væAº~ÁVÈ`°>Sp6ýÈ9ÏܶF¤³€<†Ë·…œïjªÕõî’Ü?<]oµ£«bEÞ@„›ê#›>M¥£¢@åÖ-P6<‚j´F¨‹Ç•’¨_P ,Êï+ã>9KH,6ш€^VÎ÷.ôÛÁ½¿IN¸ñš³ƒ ,iwtÏc³røàV{:Ì„e58D¤ä‰b4–ÎMxC¥'[èæÎjŸ çqUZN‡»{’È…˜lbÔ4ÅOù(B枢k¤[JÄŸQ£®Ìëö ËG. _'‰¬¸ŠO¹@šcû5á±ì"eÅŠëE‘·\QéF!¥ü­> Lð½©âùá±ääVËÑz!bƒlmº¸_Ã!_åË:Õ˜ƒÕòÍ81mÆâÖgÿ§U±JC Šèã¾ývåÛX£èÖ,O¼Øú¶”µÂ oß§þ爉(õÌÔâ÷º±&1vˆD†$§?ƃÃ`ÄuMF× [Ó×Ã@lB$©ýEÂ$¶­m”ŽÞ=œ^T5ê™Ñxåè±Nk½Iß¶‹×ìýƒÌuh)†yNWüqc,§¨¼¦lëw-ÙðGÄÒK êom¢¶8Õ­ýÁ¬-9ËÛ–xNÉ„T®½Al~£P8™vÔ™tÕvô;†uúŠ ¨rtÔ\¥´Â†²ÔGYBÌ*Ž sÏ×´H'§l’fûÅmʾó†Z·kÙ¿àß>̪Ü{5:dÈÀÐèy¢löx}”{Âr?5ùêeg]²t¤¯ívÞj0k™ÑVD+&oªXCn`ÒÅS˜ :vð(oÔ[MÊ(\7C%¯²Žÿ·ö££ ´ l&óR_YËÜMtú¶·@ÈV¤çNûÂÉ"xÒ®Xb_f¦‚¬€Å²‰QÑ6´ó”q VýC¯%w^P~ùZAèæàL‹0tGÛó‡´büþ3íSÊÄ¥^C–Ö††twn¾ÆÓCÚaôç üÔ‡\ò,’×¥bð¡!Å)+%ç¤Ù:c ï7ø½¼¢Üè\fÙ¢¸ƒ©ÅÕŽVàÚ{\(9"ãEl­•£R-–Z¾Kú‚^%øŒ­C©´T_˜u¥:=*óN}+íõä%6A|îhaÕ-Éö0Åd]˜M!Æ^¸äþSÞ× CºNçV¾k¼fZÊÏ~ûgÅŒ5s'„Ô¨§%ìŒUË[i©bôy®f =û-$ÎŽò¥Aa+.R }óN’P‰›¼ëØXÝž¬E[ªW9ÜzY¿èù•ÀŠö1˯[b–òµ¦´Yt&‡+‚0 éGõŠ^;e²´M§õá¦7b? ¢^UiæQC¨&tË‚³Å‡·ÏIEϸòC¯€óò¯›8yY‚ÔØ›AžÞíêãáNGeÔë"S·ÇO¸jo—ëê”N+³ñ•2HÎÞOØœæñ!å o83&æY«¿—†ôåÝ{‡O¸µ‘Š€áËÔ8Uß²ë6PnJ1¬õ|n‘³Í¿rZEq¢ ¸ ΋«Œ”_]VɨI¶SRáÛ-CV{ÔáJk5ãr¡sÒ«EsðÜkÎ4óÚÛtÎÊàç q4Îf ‘E¤ÍVõ,*ª Nod¥SôgŒÕQrÊâTI”[ÍT„SôÖýú ô¦6=t¶µFËOe5¦râËÑöYëBt,-¢“Ú÷¬O÷Ÿ¡” ®téÃtøéÉŽ“€"PæaZê¡P(o/!G–•.ùWÌ©‰à,~£º«9vYì{ó²BôÇ¡®œžc¨œgÓÁ°ŽF:Wh³é]ñ ŠiúˆªŒ4Ë5.WDy#„V»—Õ–'ãÿSšSBjA‘<È~åïŒïéÂct`¤,Ãiá;eЦ›4}¨v0¦%kÈh|ËÆ0vä»+)ô^N»'С6Öp­V9¼íÁ0ÍÛø8¤C`¤/17—Çëø9èg+Í»’òõŠú?¸3g€ŽQÄÀrvë×N÷µ“s‘¶nÿuã|ö¿"‘äNq$I\û ä_dRm /BgaÊ´qJ£O}Öù¿w¢WÇã±–k!/¯Ïµ0ÿ—´k<àGøÿT>=OéÂ%ò¶ëXóRª>èÝQ{ÒðI€‚ê?Ð}j̯9£¨XqúVcþÕ’WhŽÓ°SY¯.ºÃ×Nø½f#?ì§ŠÓ×(†™ÅÆè·¤ÔÊ…Õ¡~¢.êªß=<\OÝåòR8–É© ~ˆMwQ߈æÈ²[frÔ2¨™nùž±#À\Bº¶Çó`5 >Õöݘí’\׃ÏM\è+|Èx¶ÔfeXa,Å(÷ÎæE覓æ®Ö!yDÂÒk‰.L¾X¥XÊ‘Æ?¤RØÝ{e y‚·ÝØÈÔ.?>¥JƒÜ…6 ÒŸ¸ì _Ï;+qS€T€üòIÚüá]/`öÔÂ+U¡€m!]ÑKxßÄ?)îö‘ÿ­¿ G¯'‡CâºX]÷-ž´fØÌ¡ß«>DûßÝvg¦#Ä_UØÇx?ðèë>€š‚t—â£ýyrcgÙÈ×õn^ëÝÄs=ò¼ýY#ð1åØãªv_ˆÚ(>¹²¥¹®Å†‹SNv71øÉн<–“»‡±°Åä“Åø_–Tù:mZòÈVШ"¸%¥¹¿Äc£C þ†XO#¶ã*j–¸™c—±c!wV¨$û;¾ §_˜5'^y·_V„ª¿þIéÑqЩwÝcúÅBB•#,<+ã£B…5± âHâÜ[âîä„K"ºgzÍŠWÏAz/ú¬=Ä&|gâ³mÑ24ÆÒh[Ñu‘å¥Zü‘ë}:£N4Ü-IpmRB  ° 7rÍGbƒ¢Ú7D3—Ê!Õ¸>ãÿÔÕ„Ö„wªI1!ÛµGbí¬B~ÏqhÕ›>žBõg%F6+‘^8Ã&¼Í=°ÄBl©R 5jÑYüfh}Mž$ƒsOÅÄ$gec*¤’Å›Ù^Ñ `LÖî11XQØ\PËL>1lÉÖHÞÎN-BÙÆû•°UÿàçŒWªÄßÒ¶åÒ·žV¬Ú1t7xÅŪ´)Ÿ~!.„«ˆíB~f(‘4b«â:µ¦6µ@v¯ÇÖýœ]9Of›ßÿ.5»>iîà¢0ðô]›ª«%û+Ûy„åži&0|›×ùµœXïZrvv°Ú¸ÒžÅ’éuåÛ8²À}Ùà¹:s!+£k=¿·ì-3 OšÇ3¸#žØ&%º9öDŒWŸœùÁìKšÃo¯`즪Àƒ;r85˽ÇÑÍ1©&Ý’ë0«ügË}üZpàMš™êÆê°Œ}Iª7-®moÙݬãíØ©ÕAft™œp¶ÀÉöC>ÃIåúPÒ€ÑЕܩË]ýë&¾¾®°Î¿;LØÍÅO£ÑEœ‡8{¥Ò‹OóI©Ýv–\²ãß÷Õ®ÓTÙpiº½\QÁ襓$VU0QX?Îü)áeÃè&Æ[‰óï™e ªŽ'ÛÓÞ[:Ó{ûŸá(ÆG,=Ç»çøÔÌè‚EÂ!ɬ~Í6Š;6ä §R0;úq<ƒ?Yû @è7y¡šFì³ö”ÕYþ«îóóK<(Ü#ÐúzUšÊŠ£²ã>ëF:Ë´“$ˆÁ.w•$Ù–aˆudîndrÏGãæ èø'ó)o3ŒøŒ  °•œ;`¬AàxÅzñ3RÔÂy2*ô0ÙèßÝ#Î{XÚÅT«®RãTÃÖõ{€9c½¿S@ÐþnœOf%µ­£¦Êʹ÷ª } |•õÞìbéÒÀæÐ°¼vc{ÎóNGfvd ¸uhê \@ÊtA˜Øq6q›„àù9, ¶¼Œ5PäyØ×qjW½XÒ‰A¹´üÁ>n=À‹9„æ 5Gá[9Ãl`Ô®>^¡ŸR2ÁM­.v_$ ³]3< ó±=#bŠš4÷Š•È8Ê)ófÅÅ\’EN_ÁùБ/âB ÈìóN‚ÒG•ð¶Ðq°Sø‡Œ¶©å›Îˆ£píM©«–9À)û }Þµ <½Ë¾„ .wkKD«ðã¢E6sL}O(I­Sº“Šø^§¶Fî3Ukœ…R©\­Òß]Q)|-b ç°’…]ò ’FZ3PüâƒÔ¡)Ë2ºî£,—¸Öö8ýR{œ£Ý Ä:H¬. Ÿü=`D¶£Úû:„ãþ'Ëd©?WŠî0­\ܹWÊ´¯fN®9"qºýâ§¶d7¦Õ˜s%s(PR°ÆÝX(âïsO†«jÁ8ñafH|æf[sîm|×g–/õƒrîÂ_z«¨§‹H^ÍmË+tI Si~sÆŒŒÀ¸²ócçæj1n–YO.A×Ì@7Ò+€Å†ó¤<Úá² (ÊÌ™Öq¼×üuE›ñ{ƒ"n[²ù1*¼ËZ^EU1Ý?û9bâÀºQ¸…¨‰MWV×Ç@*¢.‹ñÞÐÈQl…{”@®iBÓ“Ø:bU[MþÇa_óÙwÙøæç‹6Í]|Š%䇯ð•7…-®ìL9*b¥Æ»W5UJ{ßì«ÉRJ ——íÒÔl)™ç˜AƒøýÕ/,ó×1 +:”å ºþ&±/èø‹ÔrÇ`ë»Ó}@“¬¼ð8Õ¸.6TÖB Ñ~ Ñú¢Ë¨ÚÛo:%[&(•î(çW}”8†ùéŽ7¥n™É£ÜÁ¼­Kb¾Ç¨EM5D¾dì¢"ÆãZqKLÆ¡ÿ žÔý&•ôå6 zþ²5}þ4—ÿéŒ:Ï2¶n‚5r zn4–¥î´“,\í¬+‹©/øjÀd$«$5÷’“6ÎgÃi¡Ò³ÝŒ}ùç·”GøÁ¿nUår¢Læ+ŒŒ ¾´r²§®•¤ÒFî|']^åáK´%›WlqêT¨„©çoQ'ÚŒd €õÅjBýRK)ŸQæsD#ÿ,`KÛnÎ'Z½Nç¼÷½òÿÊ(ÉÞ®ŽCÅè}TfòÏs8›!ÁÊŽ!´hLߦo} H°?¹^ý³ñmÉeI¢&€ôû/œÛ< } ©Ì?v¼A±ˆd³ááÚá8[û¤¬¡þ31«Å?OZöä.«x‰Ò®å$…M¡k·Ë=hÂángL>|wf'Eç1~\8,èÜzdÎŽ3L «Š}Áõc’Y\j!Ÿ60Ü?úvÝÔ,)µdHÜ ÆYG¢ÊF+îœíQŒ`'_ ¤ ê ’èwÔtá$­vgùMñ%µLFŒGb<%1¨.}ù(Þ+bVÄÅÜ`ÏX“à«»ÒÿÀA!³ãÃ43ìÍ_ÖnMzâúÆbÏw'?GÙO<§ ”Þ÷tÓÍ D{Ù†¼¾¼Y`Š?xù¾¹ìÀZ¸ë¯Nm«§#›µ×¾;}ýeù¹Œ·hÅeÁG…þ®¨šz²N"…)•ùé"á¼´¹„µ¼VV*œÄ¬½™»Ã–OÄ÷QØý˜­%¯ú°°:÷‰†Fóݳ/*eþQ—ñ£ÔÿÁjÒ݈֨ 1“´8-¶:®®nšçþáiÌñŸ³qK¦ˆÜÐ=Y]<²ºý;•€º;Ñ›ñ÷°éì5 ï[x·ÑüžwÔãbž’@ÈÝ¡;l¼÷‹‹~Û=â&ò©Õ™Ú­“Æ—¸?­æ…šëXÇZÑ+U$åòÇd'’¦’µÉÙM§­q]z /:ï:‹ªÆèVØ ÃŒ í몵'X›K+©DÜf•—“vs‚ß!~5ö° P~çf\¬ xÚ‡#‚f…{ì½óÀˆÎß ŒmrÔ…jö’ jå³™5• øÚõ„¹nÎDŒ\s:†¼=|9{G2 ²4P>Ò¹b]î¹Ö¯W…Qý°:…x4'³*BOü¢›Ñ”aµ(èÈ‹¯2“¥Šc†mkzb¤{dºøù1Ř•ܶ&@·×Tƒž :ÆìöÉ9¤‰[²cB©èÜPÿ0@'©‡Ù’Rââ× _åÈ7ˆ,y.¯£ÁJpR£Íð:Ó©Ù°˜ÙwZ³­–sv¸pçˉ`AéUªâ’ýG¤ð &Ó6ë¦(Xšúšx¢%鑤Ïúg—é@'È(í<ìÚab ÌÀÛ;Ây‹<Ž^~…BŽO‹ó*,ÃM«GèB×FÃvº«©c+®žozS–4"³^ø:ÊLŠq‰À=Ò¦³Ÿ}$©Ì‚0}ÃÛ®ã®ïÞð¼jj©ž¶ð^¡K E”¤þÑ®±»°I¸˜FF¸Xk'w…ÉW´GygÅvý·f.w¡C_± `1Øp·Qi€žX ™Ÿ­••…ïˆÁ:'Å8_Q§·cMh8¾h± 4eÚI'Ë3IIÒx;«2”/ø±2ó×·¨"¤c-«Ý)`æ*]¢•üUj?H½hk¥ D¸ËP’^ÜGã†J&`g?䚯v"xd9±æÆÌ "ÿpWHøÐFQÕ£F¸*rYî´GpØ›ˆã¯C¯/­&’ªiÀ–sݵ¶öÞ\Ÿï À’Ò u|†Ê—ˆEKwÐ#{ÞVLõp´ÅÌçZO—½+ü†$Zš%ÕõP‘+U‡Xü}ÿ‘ç_?½JÌ¢šWIUìgõtÓ´‹Ì#Ѱ¶q¦qbÏþ:¡0Ë£yÚf¢Çag0w ]祈3G° Ök>’ér¹!!FšNÏDè¸Ëi{ÜH*Z?«F0D%õ‚¥€¾Bž>ççÕ&¥ãü ö Õ@«:½Í–cL€ÀN íu—x"bý÷é[Èh&ö®± kÌGS†wî‰b–E~V ‰Ë®t1X,›fÑKÑÞ‡²£•¯w¦Ê«i|{; aJyÕ.Õ|ýn;ìSV9 ·â·®q ýlÁ1Ë'•« °Có…V"€üfäŽÚ¥¤Â¸û™Ï‡¹Ž]?Ñ—1ûGüü?WX_¯ uåÛÿ¬ñ**Â[Ôßkþ¨A=­ÔþÅn5.Ke#íî4˜îf(Ï vIŒÌÕóPˆ@ÅÈÑU?#Yß>XÌb¬³Z¢28²ž4uHæíq³“{M[{JßÒÞf·xØàÍÏ•“ngˆ€ŠX‡d­=0Š^â;ìË ùèÚ^Ò\8”ò}uJGobW™®CÖƒ”=-°@«2ÚÕ«€î·¸³Kk²hC+­Bœõ“@Ž~­­ryõÀÇ@Klãk«Üh SÑSµû1wÏŠØ›#PÄr“âÍðƒ·´"‘Ί=ÆôÁ“`^%ž "G,Tĵ~Ç!²û½/‡…œI·š¹èBÁ‹ÉJär±w2¶7rH†Ÿ•²f½ 7AãÁMŠÛþ1sÎßÌŽp·—ýgu®œ•²^ê1§Ø€~¼KÞ£éò=ñü3Œyc·†3PÆÒ±§T†¾NŒœðëIž¥B%Ÿß¢Ùvç Ö·Aø7JÀ2l4ºŠ †rh’š|¥ÜÄw)Û£ô€ yU.>5¿„mÑNvJªM£O›¼ fs”»ü1ñðNï~iœ\ãF$º åĸ¾+¹Y `[òȺðº®ö©²” ©ÆÎ»Ê¢gó€å¶¬©Æ×ñžd»÷ÔªÌö1G„²VÏgó‘¶3GÁÐáÅwëz_6œr´¯Nÿ æFˆqmf믂¾Uàé£rÅ©u”œâ4XÿUFÿáN0>äô: ¯0”ýÛŸfÃYæ¾»B·EÃ3ÝŠ4ÉÈ·âX’rkŽÝ6Ϭ‰v ÔÃ1á&IËUW2ä0´Wß›¡Ü9òÊ”† Wü1ÖäL$ÌØqKÙ­K)¶‘€Yëí°¼½ê‡ø&îyj®÷ñøñšÏ𨶉Œ¯3ÀdÕ“0…M‡Ž;Œ]™«Ég€ôM3_ Ÿÿ 6MúÄ ßÚ`Ñ(XLɸÂeðEy)±bL~ ¯õÞ©Ø®æJïŠü†Ö꼌€üôÔOnw¡éÈ.RžêŸ®ì£ËšaNu«TDè'ÊåFÆÚ¿¥! ÝjN7j]M&Ô«”à _¸1 ÅDÓI51™}f¦…VßûBªt2íwM=¬Â ŸÅq˜;üäÙΰE=ºå¾GÒÆ¨WÛüýŠÿœóŸì£êeõ£ÿ¦y7ºet©)¦ø• ±!lxûãK%Û«ãd,hõ›4šeF‹é«Ew­”³t†oo&/«1äd;ÝI¹½-µKTúéæjÍÏyPïõ/…ô§@lÎH—Rë”ÔÂÊœqéJ˜bzßš%ƒŸáX‚ì$E„„«lgR wR§0±ØØ¨@§ž¿—­ËÇq}½3óÙRC\SªL ´]‚Òá+z:±ˆ‚6#¡—¸«ˆßÕ(=Ì M÷R®Ç] Gd“½ø ½Ç\ý‰í>‡T1$çÅbÛ=àG͘±èRø¿0NY;ÝÍ%a#¿žuMçØb¢7[(à0§ÜÝQH«‘í&¿U³)‘ð^@ªÚ&b:'dÐôÆ‹ò=K6W;Œ¨ž¯•ÖQÐÂ4Wtüšyž©ÂN!fˆUuÿaÊ“eñƒD©ÿ6†°ïW~Û÷(¡¬$enc!-ØUòLÏ? v3–z”jžŒ8ë—­U©¬Wu~8pü.ÖÑ–ß*Üîsòâ¼$üÁ•ضð™r¿v=Ê‚A5Ù+Ý ?jüãYµY˜?¨|δï¸b~âœ7³Ún¬ß5W±*‘Þ®â“ñ[0 ÑR°ææñ×$òQÒéƒÇF!ÁúÍé}„µÇ!©!ÿàÚåˆ}éÓíØY]¨—3ÑŸŠ¢÷|$xtôóYCÞ˜2HàØ˜ÉËýŸ¯¢áQnÿ5ȃŒEé\ÇØ5*)žàb,-žÄå8Ã#æÖžÑ"hÜÆCìèç¶xl¥Œ;úI?Ê“X=a™Ý«áM”ðÅñ5xËp^лt´+Ö%¦ÒlÞÍ£ׯì<Ù½‹ü9ó¿Þ˜÷ÖÈŠ4#‹Ü\g•s&[.‘ø –Ú°#,7Øêë`;R„ÅX‰£&¢ Yä.7 ýÑ }£;VŒa Õå«°½®OlÊv_ÜßôufP¶ "‡ùÜT²«Ä™r]Îy©[=¦H½AÍj-¼Š*öpøt‚C8ÄÛ»”}Ô¡4n ˜õTžÐˆÌìËŒ–IƒØSú(›Ñ6yÂÂ!2Tì¥lÒùÍèw@hÌ“œ­|³Ì¥ZCP¥\AR1 OĞБ[pÛ”«Ô¦@ß’ùL6P©M59'Ï }”èl“”æÚz®ê„k´AU";X¿!aÉ"¦ÊbÊjÃHÈËX»fJ(-Ë)L_Sv£‡ôÝ?ošbª%ÿ‚û /@ã7Bá–áÎŒo©@(sª\Í7Õ‹‘I“Þ`¸c]‹À|¹‹å½’rÍU÷‹Ÿ ªñ=-ÕŽ#÷ûúèOD~Ÿ«4þÓ«äÐÀ1`¯Ž;EK÷U¯–}ÞÚ¯¹òì'gËk´1Šf…nÃè1Á°éÌÅRó£/R{Ál+lxa«¶s*øÐ DB·Ü*åà¥à¸ùˆŸ&¹œ”á­oÚ/G6þäW> Gû+útƒù ==éÐ+¶)÷Œ¥[¼‘ Þdƒþ³úúD@Æ´iž§¹ÝbØ“#SëEŠa •¬á!x¬Äf‡)臵JxÔ]U©ê,Ú$(Zöv7’'"åt†y¯L 4ýñ­™øƒ¿½#8Gìo3©Þîï·Y%;ùdÈP[ÚÆ¿Ä¥›Ù–ûJöM4ë‚ °…lhÞJBjR Eò¼)µvô–Ë`ý ¥iXÚNŸ­1®å»‘5—"h”>1nðKÓõJðèc9ÉVC•¦ís¬ôfæ”—ím‡/J&´uB~<“¶è8e¬ U n]ޤúqÀ i#{›ÞKÐ*Ì7O@ƒ)Ý/‚ž×3¸MîîGK+PÔ%7ú¨§¢&ýÿ¨û4» ŠSÔ EVpî2;†JÓ€¡]ó9`(Æ+7µr)ãäÚï9V$ÂÈú&øÏ‚N‹ÉÀ³8dÞ0$׺FfcÿïZšXaïùÑË/Ï!83Ñ¢×@ÜPý¥èaöD4ÅFÕðÈ´~è𩦲°œ_Y›Â•_ܛҜ¼U(‘]}àÀ`ðÜgFÝøuCæ-[àLY²Ó¼9¥j§pF7GcÆTVìŒ'×òÙµ<1Z ˜ ÒG:M2këq®_¤æÖÄO°†f{]ÑIG!þúœ7_\§È'0tð(_èìn…ßr„#Wq‹…+‡!OœM<Ò8;Ä´Qg÷¿ƒ˜©…ä.bA}Ž/É„¨WðôŸ'ÍF@'x?Ñ-i«©m<…—¾÷8*JÊÌûVàØ;šö®æœoöú¤ˆKŠæÂo¶mÿOQLg<Ã1ëÓ#_H¥ùÌBÚb,";õÏÌ=Šö"Á¦á)GOó ·Ø1ޱ†èù\¹KŽ]@B­vó(¹IØZ•V¨Dä–{ï7ìPešÅÛ§ã ßÈOè>(­ì£i0 £aã³ïë±#p Ÿ£QYÝ ÍÖÙe«‘„Ä^g<5jg2õvùõ~ÃKTÜJZtŸ!ë?´éD¶úÁ‰óóT3GFÚŠG ¸¢7þøQý_»ö‹·HÄúƒym@Ô"<¹%|¢ù‚é6f6#Æ„tCÏŽãî³ËÂØÊsÓ„y¿üa"ÖR{‡v‰ø¤x%A¯*ÌÚ0qt€Ðåz}¬LDMXl±ÖÖtO›¦$å Ú¦WE…&iæUƒ«hÅÛ˜aógWùÕˆEE¶ÑÆRõ\˜ˆÓ*ÀJ>š ðÙƒoKê/bõŠ–K¤½.‰ÉT™š¤ËÁÊHóP98ðŒ*ºO(N¶ZQ´³ÉÊÙ$ (±P²Ö&]ogG©6Ý…v] Ãß¹gýŠ¡,ÝDùc"µY2gÆ£îõg¡§ƒì €ƒ«˜#!TÑ|l]ø0èÿd³Vê4p•¹iá³iÛ7xq‡¯ŒƒËöÒB¯Èt¡ÀIפr=LþW‰¾ûÔR 8ñŽþ‘ 4tì}¢†ê4¿ûܺ0°j*Ëv=šßÛ““n°?0±û|áÖ™u‘= ŒÃÃøAÒá˜Ôvv”œZwaÖð‹hˆYh|I–½€Ž2ëš{²Ûú)e¡© •ƒdÏA³R$Ëj߯OéS¥@GPª^†55‚Äèž½”»Taû ꊺ¹¥ÈeðÕÙˆBG’Hå[ò×DîX$ƒ1Ä%Å–ÖaeT˜â€+Å€/Ä3¼Ó"ÿ­Lжħ'cu±”óX<ÉÒà”ÿt„a&8·²”4›ã¨Ç…Á0Šx Æö |²\"*y=Ü?þnw¥ÓâoÜœC±)£üjþçnà‹Ùeö‰öõçBy‹¥Å«äå ØÇ´ Œp\*=€<÷èóØ%¡'3wQ9vª`”$)Ц~ÈË;ht×ptìp_ÑÕÆŒ—Ï·ƒø"¬¯Ÿ¾ _`€Ëvö?®.+À>ðæ ç~i3a2ØxÝæµÆÂ®@"/¼ùƒw‰ ?y bƒ´E-8f‘ŠÄÕT%;a™sÚNRJÿ4ðÜ}CSÿÝ‚:BJÙP½!€²6þ ¤cmUÙL½oæñÕ˜,Ý|òÈgÒ»ºèäL†"fU!ãµÊƒ^1^‡¦¯?™y¶0á“>º¼%ú[Ý!|28”•à:}ß…z‘W^íM—¾Ö¸rÛ\²,¶Ï²é5=ÆIî>1VWŒ¢f¶d¬C^à2Õs²…ìj/ç-ÿ=«yÒx— `×ÔRÒÙÿ[Öÿ醣ݚΠ›Ã²îÂøçh´â'iŒ+ në€Ççµ_ƒÑ(±H* –Omc¤´F×#•'Ň{™¨¨ ‘Ч‡]7*j±Ýý¤noÓäµj¥Q2›uåÆÍU„³sj„N1¯†™}WnœâZ4Èt†|V¤¿0oѬ˜ëÔòQÃø_Ðæ2\g!^ž¥ü’Ë&Ý(7Óàé“—?õ&Såöµ /*­÷¦ sIE9Ü#M^õæ/ ñe|²¯{ö wëG>Ø÷b‘zuûЗxj—ÝH5«ƒ®ýÃðß/ OqÓIóâ¤]¶7€çÍK³ãGÒ-˪€ržu«Î¯ì“M½0‹t¶?w#ÉÑ€‚|K™p³9ùq´ü$ztcØ)U-ñúÉmÎþË?= \/4é¬ 4É”½ЊFÜdb²^X‰¤1ãRuZ$|£ q½Þ"_Èûp]<ýN¿öòF<6tæ×¯Žú£©:——Oe´iÑ–LvÙq9 fÿo2µ@Ñ’×$-<Ö>—õRb¡À§]Ñ Ø +†%/¾(¸¹8Õ^žt¦\w:‡žâ÷‘ ‹§úÄ9ïYØCƒùVÈþ~sNAë:&@›DÝ?hêÙGÔõ$¼oàªNU[Öfü"kg´4j1HØ›ñ³a2+aædB'Q*&'Š%ö¡¬ªʽ”W‹Oª+=>_i×F…Âõo#Á˜h®äóÕ÷ eΗOγ†úJ!ïgÂܺC©lŽ×öœ¾"<±8®ÜI•õ¼\¼/kvç¡tæXøãLrtÎA™º°—Íåø½Ò_Ђ vܼdÙï_ÚÐ’™.‘©9%>Xü#oX€ÊÓqEÑ)‡ÓBƼ’ÔÈ;èMŸ8{&ò›š¿úÕq¨b>7³ˆÿ›‘Çm˜ÄNÂŽklã¹²;{\qbÇ¢œÀ_ä[oy½‹ ØÒ³a‘ ²²¹)¨º™»?;…°=Jc fÛìœáŠ(S5v˜É j$¸ê©p ¿„£»zA‡î2u–rŽÉ Ÿ´ìÛ›Áé ?Oщ™VÝJ\„Û%å`‰·³.iLkœ@‰×Õ\ÿG†µÃq{÷¤W{Ü¥Fì ¼{= JVÜý«DIGXe>(‰ n©}1D̪d¿f2èDŒHɦ¸ƒQ؇»1 «™›„bàˆM¸’CÞJV§×ßIœ:Ä2ÙaVé{ÛŸIègƒü¾ûïžÞ‰ÉôZέô$ÀaS!G-Ý%”éÌ,BYâuQvdf 6+QÊóØ4©Yw<¨ ´:šíè›GUfv]³½éŽ=2à]ßæÃ)J,§»ÎØlY"6 ˆá;ú‹0g×-k X‡rØçFê€G·S—€TPDb-»vñ Û½ÆØx8‡!L½ÚåZ°ft!‚ ŽýÚ êõ?´M½!‚E™ tmr:B9î´eÿQˆ‹I†C3Â|%¿ËÒó‘b&—ä‡ý—pçh.K ê–«ÚAºc®jZ&9¹L‹†ÄïâÍåw (½,2–j[¨*c¯eL öFk›Ü ÅZïŽ?ž”ù“ Œ`š¢wc×’ú¥6Ìl%‚í›Øzd)¥E¸ Üø±D³lª£ÉÉÀ3ªw3žÉe>J.} EwLÒ}8fS ¤8{L猶†-OŒcLµækÐЇÆ!H4¡{±ûH¿$&Go绢2ß „À‰MÃYUõ´i)¢øHyhšÑ9ŒQB¢ð>8C,ÄœŽ¶PóÕ¯Z“¼eƒ3 5DEíu£_GUÿ‰^£¨+ƒÈ« Püáëk—OXÇ£·œŠä»FÞ zf ÇcâdÖœÌeè2wAòwÆpõºÐ^;¯Åø÷>µ)˜]®&¿Â7z ?–étP¥Co^XÛNð……¦ ‰_…RV*ZY~‰ ÃàÅJK¨Å@O±aðlBÉÄ–ÿ \ˆaeîÚP¬Œg :.–òƒ‚L‡:u÷jýj£üa¸£žSÑ_ãÃ_áâ²úùjgšŠÜì‡WíãD5¬b‚BªhÛݰS’·Ì†òžÃ«-4Øœý22ðÖ_¥$Ù†v6™P Þr#ì yV±8êsõ%éC’]Ùµ"Pà’ßôžp-jµMñΰ8æÙw²S íR‹{ ¯kºò?‡j|¬© »kG……9¹“±òšiÊŽC¯L>¿ ØîÔ6‹ðÌÆ•ldû‹LÈe£G<žR i"P#ǤðËç3w>÷‹­XªÑbnÖ½Öô'Ö_ÅÏY«¿ò[ï–Ò˜UM ‰>†}}¨÷ºo™d&•¢f(bO÷¾¯Äqëwµ‚h{igŽRŸ‹@À²,߆¿Ø* ('Ohm4a£å”lcø Í [u ¶fžÑfsåüå‘|:9ð¸©.Ú¹7™K\² /w)»nNcß깯3lpÄÎÙJˆß ö«zû·#–œˆ>†úM­(ZÝB¡ &6f²y‹®,K§²­þµã§ƒ6c=o-ãRÛF%5ÿ?¼>€ˆšR) ¤pñ¸}«ß#¯'Á•Ž¥„Å·=ϯf¸Án2íïò³ hLPëC¿ì2@RFn¸7*7J^P0õ·lУHuLŒÑœ0ô'¶3s˜ôùTõº¸|ônî÷/Yÿ‚ä¿0ñ7î¿°gÌÒÞ{ ŸQ ç·¯‹¡-\ìÓ-g6÷uG%[Ós´ç­…BiìåBX‰ý/X…-¡R>Zê†)ÕUÀê8ã^ó°lH5ñòßbµô¶‡X“*Ì`"§²€/ªõrÊ¿Æ&"FÌ ’àPu ˜¬×ÃüOÅnßu´uaÕl!xtkÊÕZýyÃŽ1¥…˽D€™òÍÅgIá³4kWY5Úý8†k7~“)#¢ 5UÕ¬É÷ȧXnZ£CͰ3éíU’‡Ë¯Pޱ§CeÛ‹®t‚ú:ø[]èñº¡y1¼ Ô¤h)ìÌ— Y¡7¦~³\äÁ£ù¢/XÇÍŽbJÀÅÜ=±ÃšöÒäÊœãüºEH̰ޭp2xëb¨'6´bJFhÜ«?^sëÏ£&Ýà¥ÓÖ¯ïúǼ>4Ÿíh/YT˜IgNG å"t%Ä“;Ò¾»CRWṴ̀ýþ5'P=ñ¸¨Ô:ìM¦’O‰A†hqw¨‡%Æ|ã^«œ¸…r¯ªòÉ…‚³±²1‘kcC¶ÅŽ£‹@V39&4»²â_-ëÑ÷ֵP×X c´›ßHMâÏ{’>ï–­õÅTñŠ+-©€i¬MÉIžÒ÷  #J“€[}cµú}¿­u0KfDª¯›'âû¤`ÎÇÿT.ùnŽæê:§Kûöº>·K‘÷® 9°v<ê^ý›Ûâ­Â¿ç”ðˆH9“ºþ߀7HXlYØï ž!àÅõmæøà§›~2pÆNÛI}Ô¥·Î#“r­Ël•-H·ÌÀ…ÒX$ÒÛž¨ân£Á#/èMìûý…›ìO/1c„’‘‡ ‡Öí~t6ç3¦;i@õN¶ˆ(Ä&ÎÌmdúJ%!^å/8:u~«jJ4 °QÈ14<±¢Q7԰쾡€ÕiÖTáÜ YL¿ù ‡r„°lÚÜ}\ºI£jÆi³œgŽ–†Nû¶aº*Uü{…¸ñ3ÌçsÚñ3Þ¦¦BI–»žý ›dhH}­r”™í©&…bF³5öº¹ÒÜS±w?¶(À;)ÈÔÕc>“…I?íÔÌaf»üѶ»ãÖ2ŠØ2 Ÿ¿ûšBÐW8ûXzï°mØnÖY°ÉoÍöB›ÌÖ„±LôÎÓµSÙW\C`Q­úÃNá­ ßõä?.i/3¸Ê.¬›Þx ³L}šm* SOuú éøþ‘ÁlÓzKØò¹e£’a^˜v}ñ¬”›Ÿ'Š‘ÇË•2‰Q­Ý‹]óQ±8¥˜Ï¿ÜáÇÒ§ÜšõŸ³îé#M…Ü' SUT,^˜ÍD1XÆÖ¡Ù­6û]'…±nÃÜ*êú‡L”© Ã(Eíô§4{Dž­}”Áiƒ Hqe6µÏ·“cg™ú¼Bû«‰­[ägéêèÌ~PÙ¯ðRÖ9Ìý`wá-íÀkÚc¡8"|¯œY ïßó2»?¿´8'(ƒ`wvLFÄG3„>ûa[\¢ˆÍüÙðÐ01Ö ­Ô£jI!b0’¿óÀÞVî+Z8-– ×^SÈÓ§ÄL9ŒÕé0¢ì¹­œìÇ¢³&9ïïS¸ó8»êL^K@ ”Kéß°Ç–Ï*Q‡,¢žq± ÎŒ98ˆ8'“´"Ð9-°L¸•Á_«²ë:ÉÏ‘{ou&ú¢OÒ>Õ'Èšhè£Ä)Å,LÄz>«5t-N\¡Yrã y ží°Dö&°Ÿ¨kæoÒ”À¹ç“vóùc/!ÍŸ´ôyrJA–”¿y«3*¬cçÏX˜esD5ýÝ2`™Nƒx`3+© /å‚+Qoõ¡ô=“˜ ‡#Ÿïõs¨ˆîîî;’ 3…ûü§´.fLÇ>µWq:ã‰öñÍ—xvuùê«6kkô¢î¤²Yûxϛ͕Œ±—̦xÞVÈqZ¦cä©Z·þÃìZ-/ôÔ‡Þ“°³"—5Vš•aåsþȳõõG*¾N¾Ûà…ÆÚTfÝÊÌ„§m±&%Í#94—Û©0tLÅògøM¨$ë–'nbÀaïe츸Y&Éß—ØDÂ_ŽÞ ê/óçŽÐaŠôÊåŽ1ªfG«dªz©2HZðÐKÀ:¹/xh¦‹ ÒÊß³x%º;° ¯Þ->Ï (¬÷vßGäMeœü’(´pºWç2#ó"| ”V˜ “w@@0Ÿó1lëDGY„¢õ¼X„ÃèßM…bbù5 ¯ªx$C,níq|}…GŽ7+¤švrÆ1,ÿÛ&HŠf³ÏN$ó\K¡èdSÌvíðŸ#Æ®O LŠSŠX)”‡'-Ž0­…å¹0&uÇγ²ŒxNÛ³M‡Ž0#³û>c$…’'ÑŠþz'…åüŠþ8Òãd ‚{O‰à{ç£11lA݇ƒ©ßÉ#û‡R¾”Åéëb ˜CÞÛYqÊa£–rª˜„V[߯d¿Ÿ&%Pl§ZßÂÛÁÕ‚øzöwÓ½æå›|M}ï\†UÓÝuf¢LÉcs ø7‡`+#¥†Ð21ÀsK†ÆéìIêÒkñŽjèªTgá =2È“eÍútÇÞêãÞ…nçÆØ¶lÎî¬XÒ7¡WçL>ÚA¢û9ÄÑ™#¼ÿpA“˜ƒ~ñžZH¹løºØh¡á.nê;ÃV†bG ùZm´¦ò¿Ýs;Õx ¼Nߨ¢"©›ÍŸh;`mQ#›cÏëvzEZº¾À”¬÷· Ú&‚º‘ƒšIŸrÔÔo¹tô5 †Åwjmý;“4msQ¥íZë*þnÒ·1@ò&m WH$L–rq-rÅKŽÙ@=ãk´vªdFŠ9g¹0rõÍPÒN*Ó,ï³™O7H}èhÞhÜ¿ÌÜãÅ®¾¿•C(lNK`aŒÈ^ÓÂoÖñëKfu¿¥¼Â‘ ôÜUÊd_ó¾¿5¨“•Ûœ¼0‘œlGlt[ Üù«ÊYà•B*l2 Eñ(–o’È8I4~À& °JTÝûž½L9ë,8íváÅ¥­™Ä kdﬔ÷ëŠpŠ‚zC^“‰3ÓH¾ao‰½î^Àåô©ÛCãöv¯¾Úÿíæ.sk~5¦Aú娙ò?¢·ª"V^Géá!œ°}ˆðË   Èk©¯YPŒìUÙÞ x…)Èé$Šnu—U‹Ž‰?ßYNßâòÔvÞ»§PJ,í’´”1N›!&«5CȬ —±ÒòiôCa2yßJâg.#ÃŒª%=é4£T+ú/׫ޥyå-¹î9ºz0ÝÎ’Œ.Vy"hÁ±^c4ûLD¸õ$Çã×êâN<]À#RZ°yì}ÃvD¹ê¡â.zaqDpHœbôŽuâ$9â’N¢ˆ¹(oÝYAaŸÍ6Á²XaB´ß„mŒOÒ+i"xsŒ{@õÒ z³ìYâÁ8ûºž\ocz—æ=NËTÁ/wx¯)ƒÔ¼¾¬|8ÓØ'‘hC÷´6¾=ôZ¶Å ÁžiÞL6ÜX¨§à#Q|]‡ÏXGuEâéº`-_Hð¦G# O}P”b¬I‰x´ üžzþŒt¿‰u†ŽHÝ?(QnâSƒïCÑÑo’×Ó(°FTwPÅ£¦ç̓f€ €ož}#ÙÕϪX{^Le±ë*z … ÷R€UU¼$ìçÀˆ…fá ²½égomó®ÉÂîóEc¦ÿ I¬¼¸_#™j/Ř{zN%§—*‡/f )”®º»úgÓ’ªë­Â8ɈÊð³1Á„ +FOWTÒa´Ï-¤ê«î ‚t±Õw~J1Z!=…q]=F…ý>+¹·pyS‡%ï´.#tßHìÕuzlcá¸&÷–÷Ô¾\(ßWoRÿ籊É¿Ü ,·e$å‰xí_ëMï.m™Ðøt¶ÄJ ¦èšÌÊýc «¡ü&í´â¯V:Åñ|póÖÚmñãŸÂoÅζ ¥«CÑWQz ¤ÄV~€ø·Ð—¡òûoˆJùY=‚û´Ù››­Óê¦Â[±"ëí¨ôÝ ¦ïEñ»`ó•@Ð_ýÕpDŠ>9¢.(é ÅV2ÒÇç 8Ñ5Ìz‡×Ç[XÈ{謎ëxÊÁ&¸½©²«9f‰@^hT]3‰5”™Êaø¦ž³=Ø8Dg»G/Wöß(}›¯?3˜tµõÝxWܱ˜˜«‡¡¢: §áÚ* wÞž®~VR/Mìe~Ðêí߈††Á³RÇ:OÑ㊆çã+ÜP³ ÚfÊòšañle(?1qÙNiL‡¶1Ýôšâί%‘Ên )X°õ¿X8Œ­òzéxCÓ*«"³=ØòQ·ÃXò³è™[‰ÁF¢k5Ó¶)? ½„D·eÀyïâ&&SLL¯ëX^¾dvˆyÀ´Õs|½^P<®+ݤtlºøÏ>?šºãà´§ÛyØûYŒûÈ*]õ/Û$»!ÌÌq‡Ä-|"¹òÔÇäCRZ`)¥[º `@ˆU¢/¿FsÏÿ?Úež*šªÈÞ-i0~Å:¿YWya•vµf:3P üP¬e¯£†¹~.‚²ïRŠá\úˆ«ÐÏ-‰ÅEöV5ëé|úï«î^ð¨sx=+b5ÄBLúKj~ù9z)úžœT —u:n+ƒÂ?m›LHÞþ4¢óGÛwü§»8^P×PÒOÁE¢Y.M²•Ú2¼ÿºq’´µr“’AÒ¯v©ï èI¢3ZŸM_ÔK[E9H;Aãºb7ÆRj;ñ¥*¨£¯´‰û· £ªôÛFýpñÅ=c_|²Sê4Ud`õ;Ø´xÃSòwl#¨¢PÚ®>¾GžÜ [†GݸgRpºÿòžBc"'QÎdˆô¾*J3Ãõ]aVY€çG±¶1£æøíܼ§1¬ÒZ›ú(£¿ ,ÖD â|!W§ÞïôoÔL8c…{+]ž¾ÙvôN¦µË£OãBí˸{‹‹"°³—Æ|ODê}ï A:Íø¿ü(J9ƒÞw¦ê$$ªòèWç„ÝÒfŸ] 6sÇpU†2—¶0õâ(œ­q6'¿…ì°}qò° >²^~Ag‘DʃnE뙿|›I4–v̹«äâ‡* "ÝkYiò¼h8ÝXcÙ’À^ÒΔjŒz"½, rŒÊvÿÖ;ê—áÜBäñµO÷øNŸÿüa ¨Ò¾/YcˆrJ’*0ž±ƒƒÜ®ê²ÓKã´ê"=>›†M>DJwÑÕÄ£3˜|Wãù• õXžeÁm+aÜÖëÞY6Èrp¾’ÆG8Dª7¬~GßLbùY­åô6§Õïøõ€ú'‡ƒŒÌû®•édW*£š4'Ù"–Ð8T #*»•!,vƿڻ†Â«m†™ÊoXµd¹9æ©ÿi{Z”ð#¥€)Çb’D*µm8b¹J0/ØQI¡èÇÇ 1eôû…Öà 0‚[ñÓŠ' Ø^®ér¯ã7­Lsb§5„”(f"!iCEº{’}EÅt>þ»£Ô(PZ¥n ÌðdCÑwab×ãÄÁyÉíÜÆºG/zvâB»™ÂÆ ðË]%LÑßÌÔ%ÏC—àbš#nÂø‘XÉëøwn2¶§Ú’¶ÁTkgŸó½.àOöI`ЩH;r«úÂ9¸A²‘€†¬ý9ê­z&¨ù–Sn!¦´þN=@¼:j’ñ·ÁeáÃë'{U>‡ §³½±aŽÄ‘KëŒ!D¼Á™ŸÓà[ç0ŽØ›`?Öþ®J”PS©P“¾ñ£[53L«+_>lU²iá2vcŒ)+4ë´ÉÄЉ5 ïìY“þA¯×Â68 g˜¨D—d9vóm8áÕ~põuM ë[ŠHàòkcÔŽ²g£ÉH Šçl\-0ž¥ž0ýD«ÕÚ€¯tªóÂÄùa½Ä܈´Ü}0¿=B9áä×W•=¹Æ}¿Ðvïq“AÂ2’èÔ°ŸÐ¥mİ'‚³ŠÔ’LÛîö®z÷|è:eà*½A‹/—{šú‰´­ÎÎ8´o.ô°úx¯pÂãñ*Š}ͶŸ?mV_ï"Ù€²ø›H7ÉeÁëd_¬®)ÍfS™§˜5(z‚e§Ø–ŽŠý¾M.ÉÀJH+Ê{²}æUßjªJ}Γd¾$ç}ŠvoÞ[&|¹Zˆ4á•.•€Žç ÂNêÉÏMø4ƒòwÏêB %P»ê‰ghðZd³×ð°bêî&$0pý{I"Ë#«£L“ô,-cñ,öòãoßοBir½{e÷ßÝ#©ês+Ã|™9„9’©cv˜¡ N­b˜úÒºÚ¯L˜Î1lIô'n8ªÑ²í5â¯Wö¢øŒfÇÚôNsc9i‡²Ý¯ço0Ú÷EÛ £.À_½ö±n㌡Ãù0®¡î’k•iƳý(/d‘·FÑ>èn\U†a·Q70?å! Š’22U’x9U‹IUf×ÜJZF¬2®€ŸŽ2Á÷¯PÊ”§ì‡-ãÈÿê•Z%DZàÕãÁ7†&ª³ÒìP°…¯uB ™bâÞ߈’é9ö ~¯Óé°[]„^zÆñPbçr=,8Â<;¢êFUM7Gk˜¤—8¥ëýgý<æV{E—ÃçZî5ö7ú1¹ÓÀÆh; K/¨Ͱ޼P9ôаoÅ+dA$¢†E¨RK–éI-?±Ÿ=6KòZµxW2h_>(½x%GŒ˜y·,´¯F*ÆïCºÍKâê x¬¡óÕ/=H?üÌès=á|üh ›³Ã@$¯.NÔE[ŒMÌ®wãÞ®¦-àã“-óþô†v/o‚Òxn‡ÙÇÄRnYøÚ8£Æjx"§é3ë,N–zâ*mýº‚Ä™ä}ô­»å¦YÒŒžiE7Á r=‰{k^c£Ùz)5€ä©HP'ÅP¼xl[Þ⛋4Ž­1ÖT;ø¸´Ï&ÓÁwJzö¥Ü8ƒ×]8ä_Ä1Ë`fLó|¨ì &ŽÞƒÂi™)í´”†õ¿j_òl¶×©Gãó!ª½èÖÔ{Ùýæ²@ZŽè‹m®Ð`o‡å?8ô!ÁÏ f°¹ L¥H«‰ tü‘”&0/§îbÚç,¢Ù·ÿ¼ÜC\t²lP3K­kØáîÚoù¤=AÖT|ünN}Ñ÷Æ…Á$Ûg —z^˜VÞZÀYåK/9êsBO¶X,g±Z;A,P—1닯¹Û|– z¨Ÿ‹ú°lä§P½ºÇÓÆt,ð%ËÅ»áiá¸:ÐÂÍ@H«„& ÃV™æÍ.̃† ‚÷òaÃÆ£&µ¼ 20ý§º¹ÄR‰œù}£˜²ñk¸«:­‰=òêq¢{š€]ŠT'`AæúÏ^m&gh Ì!×î'NaéKªþR¡±E‰E@ÇÇkxæf,(v@2³W³û^hOhVîϲ˜œ×@á÷‘ªP6XÐÃA3ä§bqGQ³ÈUñÚÞâž÷Äs¤Œ—93{É2g2N¶š(Fh+“H:{’L€1MT¯³§©73§sïc·N+ЧÕ >àðìöÓ¤1;JÃ’qTë^’v3¿°Eܵh r ]™…É $Ø8•{7§ÿõªÝr[G=‚é«Ñ›~ÀªŽ:˜ŸI ÊU}è„Ð7mŒ|Ð}ÿóz²1¦ð«*rm\ê?®MÇ%ˆö6ÙªQt†GçT)P ´¾2Qå•ád”¯[¾ÀÆJЇa/ô#ºš#p˜ê‰Óâ}cc{´âà, ºVvtë’.¾fÄ$|E{±OQ›üÞb 'Ddpˆ¢z(?_™0¹{-T°Øœ` ¾#vvJ(ÀT]ºìxÂmjˆ??RâÞ©;«ÚÀcM±ŒW’$ú¶ýŽÀÑ^•:vo£ º-Qȓߜ]¼› c¹]–¿ûé÷QÍÇ|¾¯i McИŽ5«å ÎÂj»eë OUHâI3yzP-Ynks£73Eå¼Ö Ôˆ }"ˆÀ€% ÎY§»Ü»q¸ôºvŸ+ƒ—b쎀2•3.ÿܪ pR^!eyñçI J®´[5ýÄ–$—ö—ÓGðˆæä=ó¹ln–pŒ'áÈD dÂ8WÀ»2+™M‰|ËAÛ~´œZ«[‚u“Ñ%Øè\ldâ1Íó›+^”gÇ Íu¨Š­{î¦)Ú·²m+×Üìæ0Xd†ŒHD·–­…š†"×<­ýä z}ÇRÜɶj Ü‘8iìjŸV_À<6#Yš¨ºTÕ‹Z:®øW©ÑÂ8œ¥Óܺ)ð²Z †¡Û¼« ,Å» ßb ]Ъ~5c4Ý݇¬çs.&; c<ÁtZ AjgÍ_l¡uàÂÊb¯À™ ]7ÆéF¹¸9(:ñK­²ÕšÖ£Âhm£“a$’%!ÂÐð+9×éÉÕmˆœ}`n d¼ªóy˜ýy‹£§„ú燲½x6*–.ã?gnhvKA@éÓ &™ðšö…T š„J›Š€âL:Bú Ñf’µKçGdÀ$Y±¶Á6½ÙL+ŠÚ€Ä/ض&ŸÈ\mÅ` 1æÐZ¡õ)ßg(ÑYb«Kªþ,ïgI„¡!_ÔBšÐª¾ý|^;IDÀt ¢µ"4ÊÊÝôsËTÁ`›²â<7²î;¥+(¾”yy;6 y0Ø QŒPÖ׳)a"ûJ3Ü*bL1JYëb¹zµâ~_‚•7þx¬˜¾ŽÑ©ÎbÞæÑÀ¾é Ú0a&Uó}h ¸|4ÉöxZ–°µôd®t®{ôS»îŸGHVÍ1M ˆß¶ò,/(Ì„ÓЇ#QŠòU/a?Ž=ëão«Zž”óy Ï™b2$ˆ¤Ãüä-ýéájs`0ÆkºU•Ñ!ˆwPüp»hJÄÛÂgEg’þséz*4¿8 |à¹3?i¬ÖCˉZ¿ +´-°âÆŒ>ý3ÌŒKNex­%[éØ‹ØÀR#‘‡©WÃ:õiÔ¦~ ÃÒ¹HW·™þÿ…è/+ùµ…;0Wz€5=Xƒ"òC‹ pY~h  #%ÔeœÂÜÈ1Éí !ÏÈ4,}‚V·¦­¾)hsò¡cKšj€Â r˜EÃåÍž”:J©^ö?…Ó˜Êb@µ ÐÈ&4̾ēQ`2ÆÀ5wš›nJžë²ÚøJáB%”¾íä#üm§•z"p Èv…½ƒ¯­=ÕËðŠÑä¨äù°r Î܃u2L]”Á…=ww\Þ@ÇrÑŒ”ÉÅ4Ì_“cO‹°çùÜhsAÜÑ*n^,á#nå«IJ?¯O«ãOæÃ8a‚jÏvÕ_ÔÌŸíg%à¡9/-6HÔ†cÆ#RpÚ2Í {{’Q`ïAv0 G '›½ê—G_?0*fšâ¬í>ý§yJ…iB5wAÏ—-ÇØ¿[úª‘«ÿC·×»eo4—%ÝÎÑùtªQ•àç® ¢u‡9U #uóTµÂ󊲣¥”¿,XÜG°n&å´ß}Déç(%×Tgǧ¸.Ž2‚¼ @¥jšN>©+Ÿt/>Žu6)ë=:îÚ‡k»s’8.¡ì晩¬;9ŒGñr7q—aAs!»‡ôÝÏ`pOcè—µ,Õrÿñ:ÀÞó c%VÙÉîZ –Ò_rŠ0–}N`-g\£ŠÒ"T¤aÈXÉ €cÓ³‹Z©öaå0ÆNÄ(¸QzCب Üt†Æ= yàm+å%¾†wѾ ?¹[ä3f:'lxÍüV¥ðT }$CT ©îѪ@‚ªbÿR‡.ýp°/"‹‰Ø«¯¢I %¾²Ó²e@ðZÄüÌÅ-Â$—À4‚©ÒV ŽqKaÆgçf8Cy.!ûtÙØÎú’ÒQB¨ ?¹€„ÏÉí:Pœ‚wµ ÷R›Å ë|Ö8kê:­Þúèö‡ƒ~%1ˆ¯ÖZp/L·A®&åDb»{ÝLöŠ/4']u^IRˆ0 ÔäŸïmZŒ :¥n™â¡ñLˆ]Ù}¾}#~[=›œB¥–QU.[“êáeEcª‡0»¡žÂɶ®*n7ÁôÏ’Ú|$2ž³Å;驈Êæ/}é+1¡?™é˜òÙ©˜„ô¨á©wW±Çûâ žuxSžò†a÷i,\ˆÀãz5ð(–×Ugs ŠÄØ’¯‹…Gq€žöTtNU[W÷M¬6†ÿd4ø”Œvízgв´áÚg?¼8ºÇ9™Ç[0Î:3uþ¹¹cSÂXÒ/؇Æ;M´ïÜÿ2¯½”Ó#‹çÍíì³>!!*/üDZÜ™¯rÿkJ"…>t–^ÉÞÎ8Ow± r÷Ub»ëëÙ³ µ å4Mà dmtÇ6…Eo¾šúš*iéïP«ÖRÁmOT¥FFûX>sÏVðN³5©&›¹}èÓ°;Ý´kÂ|½#¢î“VÓõ¦l|ÓUû©±Ü jµøÍ ¢ŽÅ…!Œ„Šø úP¾ÞJÐ>í‰TÝ=k²ü|áãÌϱßègg¢([Ž  8Ά¹ ö¦³WSÿjj¡…^Mõo3.®:»ü-œ»ž(Lwt_xb¬ ¸ÚN’)u?ýó¶Š‚Sâ13 qí&§f—dû¸±ÚÐÑ&‚¯xéS‚C ÇÎh ƒQoñ; “ HLÚÀþâ„•>%.QÚÞrÿ$8†,&M±²¼ö­Lìl·¿šÞrCƒ(ÙÚ†Ç#æ­$q5QݸaŽ:¶A´<îï}óÃk¸í|-â 4‚*ü½Æ©½Yn9”¿¹%.ºkÁÑ‘ÍSˆ³\0ì¹rªw6y©]‚®ûe$·^ÓGnuYç}Ú|›˜9ËöôÖi¦!ãs_–®(Ò ‘ðÿNµˆm$q"a üs,c`¢‘CvÊw!WâÅÅRy¬'µóH|/Pö7 у?þÛ¼Žõ½¼?.—ägÅQ›î7jchŽOá¾3&´’ K®Ü”\âj㋆ Їà%F[ßwÖ8áÖg…]Ð#{õ¥‡f«{"‘ÊWÌp®â€ÈK†ÔvØè‹OÎÙåq-VŒ1á:K…[–ÀŠ<ߘOúïHÜn׬ ;œÉÃÆ²¼ñ5®*7Q5ÀÔŽzÃî ß}†\ A}ÓÆñ8À°cÄÓ<Ë\=] É“éÒÒ«hzn·š Çú (s“cGÏlŸ'6Í2åé†0($uá ^N|d“ÃSç]…P]ɬ¨‰Þžè€ž²¿Ä_C ´Ð­¯9QÚ•9л”nç°ñm¦æ(eµ ùŸêI`Bd2­rwKðS=„à øvJ$ØϤé§êšàôwä,ã•S¡àR^Î6÷Å¥"_&êÆ·ÉBd2åÿô–:äžv3vª ¬û/›§ÀÙ‚D5zyt0¤˜+«_"fîÙhbyÒ°Îõ3¦³þØepÀIÒÜœY®ÃÖï=¯Åëª-OhÛo® Ô]ëŒË:^™!5èÊ0°dÜ5’ÜT]Èãj±ŠN³¼Nyû¦^Gψæ“í§[L:- ÙgÞU)û”(GÞH¹ûÛ²mø¥f©”ÊÓï3#GX¶W_ùúç¢d£WhÍÙr_BòWŠbJáÀ~ðÕ±Ùà’’¯J~눻gÛ°²›“Ù3ÄûY"—,¬XN§võÒ‹ ,ð$Ð âøû_ȩїlÚ ŒO¹žÄ`úhK¨É•MQÒ+Ù5m¸àël »ì!PëY,ܸCqN'Íf>áèå[ðÚlÊr".¥ø•MÃÓº¶ç9¦ ²ô‰óÿy¯-‰ò;:ÛÀ¯étOPtïïˆiyôä_Pv‰‚ì—]¿HË«cpkÖYú½„Úƒ6ÚRH'!‚Þ•ÉõûýNðê‚J©îJé’K`Ëûé|Þ^]æÁs ï¬?׿ïd–·m¬ róJŒd˜Iµ,™¹Û9s´û±cšü]SéªÄõÜ\É1±ž®(d>9©XÏèƒ 4 ç‹ ùzŒ=¢tŒŽ¯ÁüWQXi/õ(| áði†dÌ«r©é/|ö®1€¬,;^3´ùœ¦&uWÊÒÑïQ,½¾CiLã/ ”o¤üM¤oPQH»>µ!E‰â0Fí¤]»Ò«R¤L z?»Á[€¿”´MàÐG«[‘rÃTØ~û=/z(ÄGÏ5 YP±‘]°Uö;=¾ÔMªd1;ÑlU©èRH’Ä;¼O`ܤ0¦„럳f´ìî¤B Í\“AONt…•øÝ=õ[ÊP½jg¢:öõÆ$™œÆlÑe ™ñ(`šcÜT›è)‰ÛQŽnaJ›E!Lc7ñ+5¡keà5)/ ò~ýàƒt-ÌC:æã%*ŠEô9ܨLRÈ“@Ëý*ÞG¶+<\jæ0­…¹mâ°,‘SBÔÅË ¥Ø©zIíšÕ„xôP}—³›iH'E³*ÎÈý‘Á^;TyxÙw¤û!û`M5f9CÇÚžì_%Öj¹FÞ :‡ªµ ´÷ô¾ÞRw£äwJ/*Õæjì‚c„=¨ôàp03Xw%ǼW®Sèß’‹^#ªìB£Ô3¾°øWG(³ Ã3ÐåpáÐVÚ1Pt®eK²íš”“K¿ Èï´ƒÊ>Ü­%õžp{âšüŠ%ÿ@~àµÒ8[X%¨ƒÙÞ(f™þíê‘ÝÔæ›¤Úoq‘°¡…[X(bõ¿½°å,Ây¸ÄœµÖ«PÓ4½×Þ¤\¯´Cò¢LEi6£õÑ£DnÃ>Aê·J<èI^K1ñÌtÃâ¦A2ªß·ŸÉÍaÍÒ.Õ£~ƒ>.I›kN¼FÁÂu¬,Ê]EÔ>&Œæþ…9“m¿¤^p.X©¤×\¼}Š‚—V¤Xí4<%ᨴ—jAG¨z©éaýÄ~²aP¾‹+ #6#°Í]²å瑎û- ¥nUFo&Új„¸z,§Ë²˜» \„öÉÔ€ØavjCKåxÄ?ÞêÁD²!ÿ£:¿QbDRn¸ E05=x™ýXAK GN=&„ç>SìZ— Î$æU熎äIí¦ÍúÁÙžð0"³‡õûEäßtÆCÑMï_“‹ øÜ ‘9Ÿ†o˜…SÝÏ8hI˜Ý äâSš ¢ùÈØ,ùXj¤©¡ÃÆL¥«ºMCü¼ZÎGœMUgÈÌÓ zð¼ Uóz(ß"Uѽ›1ä-1½ïùÌ’fYŽÔ&ÝÍÒú{wê»qM–CüÐíý.ÁZÀ©éú7¼µF|ÈS&òÁpù9 <›Æ K£·°Ø2ÂÕˆíË¥ê– ‘ ¢UÙ,sRU{Ì¿:T“§®Ø^Àœ{…œDÅ*hMjÿHipóÅñEìÿŒ·¦5Øìᇻ/ª$6Üv]R+^wBþ§„K…ÍÜŠqˆ[¤Ù´.Os;@àÛ!c+T× §Ò=¾Á}w@@R¥ÖËCìIÚ›ÏW¡ˆª+Ó¾èS•4d$qè,ŸÎÕn×ðË5#˜13ÞÍõa%–xRf¸Šÿ¸@Õ³¯•3½³} î$9õIc÷‰,U/ÿÃ\8p£æ!Š€uþ×÷zÐ`Ûäx}&ë˜~кLo")šJÛ“:Œ‰ŽvÃé‰ ÞÚq"vb Þ—•UÌ«KM`{†ñ+û™é=±Ëðà垇SE¼r?öôqAéôìã÷:ÄŠ>qPÆ7AKÃÒ¾Ûâ~Ó^ER ÇPFÿÞ°‡W_Héñ­îÏ­ÈRí½+Ÿk¦ûB,ËÜpΟÅi½AAB  í;/ô#¨`ø@)¹Êäúcò¬0ÃÑ—`™ÿ§k5­ˆ¥ï(å†|ÑùZ _øÜ]lEF>×*èÍ»¤Æ…©hvéÌ;d÷X _4: ³5š-DŽƳrbÇ%ò ߕ슦äp”t¯þýôEG\;äÏŽìÞ$»H‹ì(VÄØÃ"c«TUÌ›<_$täw@`ï¹µ_Ò[Úú¶$~c½};LD(7qŽx£úxÈøCW‡z>žÙÿÙ`‚3ž^Àb¯9y:Ç ôŒ ì“¶wØÉi€\=Z°Ê®Î–ì*†¸ù´íuºåAZ µ™b…ÑhˆÕ]lVÛÃ+.âJ*vÌfX°QJ²¼¢tš5Ú¾lÓá–P¼è` æz‰¼#öú ø›ˆ(úŠ (E¡y²7hCtéŠÓ>Ï6)¸7<‡ BÛ%rõ‹J1EÒ3à‘H#»UYeéfÒÝgêém‰kÇŠ°Ã1ü+:\ùÍíOŽ™^NÔ} ºÅ™ú]8rË&hÃG—YøbOh'wŒ•äòã€>Àöp˜,4MFIÔáÁxRºÂ ïv‹";H+6}Ý'Tú°_‰É¾>gµ‡‰)΂ k$¡~b„*X¢š†qE»•B‡ Yoëóß±DŒî…yq/žoÓOåͱOðV§Ï8ƒé–Äìr^(\°»JÇ"{¦rÿ}3…)\šNÚÔïÑ+Eš<Ð6™á_ZV©™ëÒiÉ8tíª’I_T‚ë< ¹g–ô²èI<¸Ç`ʬC0I3ÐV.Þ5ß;Ħh¨Ñ3[ÛbÄè 1ÝÕíÑÁ0ÓÃ܆ׯdÊÓ¦6‹6I–ªÆˆØËQòx6îúÃÉpF7Až…òl›Y¶=Aó?zXÓàMQj¿Þa¶QƒìôtmC ‚P¨'H.‹o}QV_щšL¸ðòª%°äð ¶ÉXm4’B1N©ÜÅØUãz¥ªòFaO¡èx©?Jö»„†  q:z.cÝŒ“!oäcÜ"¢¹Nû9ýqû®©ÝzK G¬Ãd+Ë–ôÇdš~×vÏôÓi*SBvQÃhâVUé™q‰%ìrЩk Is„ ؆¯àaRh˳’oËïUHòê…Þç ¤ÕbÚ ÿŽ"<ê”ÔÀ¤CAš(dÿÆ*øÏ¿Ž‰h'P / ï Òvéݧ¬KÝÓÁœ´×9áËÉ$y R®Dã–¥¿m]\Þre¹û|O“…P|>ëC=nnëxÞ2¶¢Š¹ã‚1I;§è ¸\ú›ð_óàá`øYî˜Óˆ]õMõ-C* ©S¤-Iôv.tÍ<—6±>N¾QÚPM}D•åÞÀ’8ÂáoQÊ{d¡Û[­ÕÁº/“¯_E}àDZŽË™ ßWl:â‹RkîüdŠûkL£‹Î¥=–E„£yƒ} |wl3A(¶Bó.» ïŽÅäÑŠP€c™sŸ¨jª}BJ<©  Ðçÿšø>i±+9’ÛÕ ‡U¤fY#¸2®+h+KÏyx¯ªÑ$Xûóºòõšãü â·CÆÓ÷ +Œ ùÌ•nÔˆ¼_LÏ Å]ŸL¾ Vë/aEûï|Ö§¯ç¢Š 2¼‰ þ!#Ó6"ÓnByȼ¸3è«h<2ÚÇ„•Ãp¹xt"´@,2+.„%ò÷?D®ÑNâ²l•—Æ™tF÷Ì ÁºÔà‰³15ßj÷’kñíàoºé‰*Ž2dÎyÃ>Ÿyåê AµýFäTúúˆ™þ„àŒå;l÷R÷‹|-*ói úïaž«^ši±zGúˆ¨~çp­N(þe˜;˜-Éé õ@‡Ð‘Ügi»3ïlj«¬Áã8 ÅHÃÙËÝ óõ-h7(”#àÒÚj+äš$à6Ô--Vã'À†/´AÎíQPœ¡5ŒTw¹…§ƒŒ±j[ V€¯S°Š,aú`²˜CV/ðŽ›'€H¿@™?îƒû’©¸­ÑЗÔ[ [Û-ÌA?xÓö³—Ï–µMóì+EË×È¢à‘b Í)|`nè‘C‰vx[×s-ƒ¦ ¹^™FɇF\Œ7VêŸÈ¦É:JCe¥þDÆ„VDß;û[2\.y$ç¾ÅÂêfËoó -Xäãa.7ÌŸµ5oàE Ú­¾æUUÑX«ßý#ÊJTåÈ#oÀéã¿¨Ó ÷ž)ÎÜ3¦Š ø÷óÑ€‰ö–7tHBH¤T‚Û¬Nôr·£è¢tè%§”ã9åŒT}«o†Bå ÐAý0™öê¬PO®ŒŸæÛ”Ó•Eª> â®S0 ö&<±VH†1îÕËžAu´fj‰zÿgפ‚æôF|z3>ŽRn<5Íõ3/äáÕð)»[ö¯Ð9D°‚é–åµpë¯v1GIkÏ6sõź~µCýÓ!4úï Ðãy¿¶”=5ԘƽœvU^©^LYùE@B@¡åZV‹uîïu·˜ßk; W¿àÍàFï!Ûô®¼×©òWœe¾:DÛè¸YH‰ÿšÈs®TåÃoÜɵÃvo#Àñ¥Ê虆y[NÆ8©3þޏ3ƒ'qôR†— ]@\†?ÿüòwŠaÀKó-½ ¯*¬¤B¥ëo¾þþ eïös7î9]ŽT›—DX¡ðËwî‡Ú÷ãØš&ø \£üà’XKÏ·õ¨PMD>ż¿Uåªx˨‰~½˜êjȽò³¨aÔf7e*÷^C,é¬%$ŒìD&!syÒV·1ŽÊ7 æ” þn@Éøä'Êâ®ëˆ;`ìŽumÛ¥Á¹¤‰*<[ÇVßN ‰å,’ðT¬­àŠ7ŠúǪîcç*{G¬ÔÙЊ7é% ¤Â’$B²È™{…>׊-à €½Ø;@¤»s޾b\Ñt‡‡3NÒ®¨:WQ¦vßnCwåûµ3ÐýýHLwü`m¬ñº^/}@é¸>Bº!ìÃO7/hxú˜J$E£PVÕˆ®y1Ç+ôÿ‹Û˜™8'ê&üÖ´Ñ ©¯†@Xÿâáýr¦jrÿ.#ætœ eú½Uoç¸0¨—ýsgKAYDˆ$HúÀ2VX ^„¯ç‘ÅPL³®e&úG*òCE›'âY±`Yº]'¶E_E¢L1ܺŠöÀù"Z¤0”PÚ»,8„~Œ%GævWd»z˹À€¢]ƒ˜ìLj¥j–°6­f9 ŽáηРnýnvÿ=ð]Žhbî_¥y.NœK˜çS((*Cg ôõýªÈâä ¼XÑèý~êÅÐ-ä£=r÷I§ ä#çš‚ª@êrT¬Ìö€â¬lë›Ì!(/¼¾h‡þ²Md_ÃÞÒƒüW5nÅQKCÜ÷™‘‰²2~´Ó-šØ>ƒNŽß!‡«×$ÊÆV#'Ž(Æèã§ŽT"5¿”ºÚìN¼{™A~k“@þœšQY×ÇДþ„ÊóûŠ%˜´¥ QO* gsõ¦¨”æ‹ øÑyFYL$¥-k¡~“¥­+Ÿt‹ªù¸T‰€p 8Ž>iÄ © jy}ç iC #/IÁ Y”bw†<š| Ât'<ñÉ “vM€â~+¹ÇÆYZuå[é3â÷ÝcÉxÊUΕ2)ˆøI L;?…8¡3ë§Ð*Iôue°ÊG¾®¢€¦·‘æ¡JÜ!F ¥”€Ñàá´šçý>õ—G–eauÜüu#'kz&‹lÊFòÍ Cw·õ› ×w]µOÅ.£êTADëù%W8:•”†b(úÁ¶O½Ô½XNŠIÐÿ‹äðÊa52s½Ô«CœŽ´—¾Ó´-åûAXç57Å1îšñ‰‹=žG%‰{‹Ùˆb×E„my|zR­}#ð ±¥„}‡ÉÂ9*(¾Q,v„Ûâ^º•öñ1Fßj,Dˆä Á‘uã°¤ê‚^‹/Jm1r=ÕÿAº–Î'tYíŸ~)—E§j¼™‰ÝRñ— Gû‹_[Y"¼:@Ì9§§Þ%1LøÐi†M‚ó°ä%@ý•]41›ç”ØœWÆ_[-GÄ)ô°Ìî§~hŽ.&ñ“*ïyìI~ÁÝÃR¼À~Sô½j!ÄÀ‰4®Ùÿ§9 Ô­º®v5_ˆÝ¸!íwÈÜ2­¦ìwà°…o±t¿Í]WÆ®Hfü…ø/CoJ² £ÅÇê™ Άí~"Ç9ímŒÖŸžã¿&ãçH’‡E;Œªzn‹+2¤öÞþ´ÿðW€Bá U~.JÐi0@„J§5iÿññ{Um`½ø¡+2è:ƒn_êé~õó“ ‘AkãûÀk¤@iú÷‹Ý#‰*êÚ*‡F½ÂK:‰ù4Ži© ¤¦À‘e mÉó »ÀOëB¹žï+ý:y²³OÄ ¯C¾†aDp? í‡ÔÑþj.°Rn8±ùá½zš|Kr'nÚbsýüЩÀ#ÔH¥·Eä³6Eé¤w„IðÔX^^-÷]ÝRlÔs›ô’”$Mí£®‰š— „3ùQC›y»ùh´Î#|}šŸP–Ø·v¸6òž#þPƒ”Cý—ïáo\LrØ@ÍID€MêkÍ]õ·HS[6aë{øœËv‚Ó0ˆT±ˆî_»Û]¹RDq[ÄqœM&)xsÚr‡Ì÷"V9Ía10Ul0S^ cÆæ×D1°T¡å¥ÿ|ØÛb ;pèÚÃâÓQ«é”†‘ñ‡$ %C$BŵÌë[ xȾ›”œŸ!ÊÖ8åÌÈ âQ^ù×&»áx«¨CHú&’à[4G<އZC(/zÜYW<ƒ—B›³W=ó{…3AbãÀ7ÝémP@Éþéþ@XO¬Ï>”ªˆ¬Ï³Md]Fññû¡œËõÉv»*JJHB"b€êA'zVy‰lbS󚟛¹œ„JϠ糈«Ô]œTn\š;#Ayï¯å‘cîNÈÞfú«4N3F^§1½^7a0'O‡íÝ çÚÿ:fŽ€ü L¤0:¡.*rál`!ŠƒÆ=½¥‘Ÿ].ß-É}3 Ùw•À Ã6÷Ûy·-“ìJÓf/ènáÇ !Ÿò„‚mŸ´«d°Pi"•?àÅå’„ñrc+D`ƒ°¶ñB-4ÓRÂ6×AUG‚É€!ØÌì?|Nsd5‚«²´]ÄV#ºKëZŽô¹Ú ¼³ãÿqÃçêëB‰0†«8æ"î¢-c„[æµ}½Ïî=ýÓùÙÅåÐù¨r!û ôÌƵ>E^NÞc$E5“0y‡ËªÚs°:9.]ÒˆõS.Û4¾¡˜sw-£³éÉþ=;„Œ´–‘Û.cJò¾âÒ¶Ëkšr×ùõ±KGì«¢RÖ´CÕáØdÿ_n¬~<ˆê,ø §¨y%–”¨{Éw÷1šG¡Û)ìéz¡7éÇ"h¤s5VØW9/ŒN1<ˆñ˜™‘Õ3í0ÀäóñÒr'f?o­oÈ–1¬eB“IûÿçiÉ%` òL@™ÊUù?ñmìÇßÏÙmÛE~o®…Å踓…n Ë«þùìmÊœzõÿ„ÞgN¤uHÑwe³“¡7£à䋃tHÒÓp½×ÖrÃìɦ›x’˜Ÿgˆ=Ïu@­Þ6¾çL”KËlÍß):¦C9ü5¼˜±rv¨2zlZrÒò|ç‘ VeRÅò@ƒ ?j(½sñ­cŸ}Ñó’¨Úô& ɼJ%íØ)Úi7te¨A•ù¼òá7jj¿’eCÒ-0NƒP!T0,­°ÞjÐ1|"µíI™¯ÅxËÒ-²‹Ž`+\çÊmìÅÄYãÀE,—ÿT¨;Q>‰1„z¼u•(‹Àïò•G¡TÂ?™béýÏ®tD–bÛ^9ã|/Š0"„Àº öYÖÒº"6òîìí‡ßÚ„æ1>ÚNfIYÙÓ)"kÊ4^vµ¶5ÉÖOŠª$›ëô[C/¹ßÓ¼¶©°{Ìö½ú~_ܨçûp €E`íº@8¦BmDå4är°í-Ä]?Æ=ûÞ?áyª¥Nh]³~±u•í ïâ¾ÙSz-$}M77²™šÐ]!€n5³'nd´Ã°‹’±üEµ Å*Ãߌr y¤ñ†™¸äk`ÎàqX®8å8yH ©äù Q\^_Þ¸Ôh'bÝj2 S=B–·²GDi0°üS2CšŸË ¶—Õîü*ˆuÿ³‹OÔæ„4‰drFÀ ´xU$D:èAƒºB”A%}°[À ;üžHDÄ9DN×Ge¤&X^ïÙlí ‹¨Ý¾6Ö¦·øç÷1¿ºãÎZ¸·Ñ´Žlrؘðb½{r)¢Oš{¾)-3ã.N[yÌ… gÂW‘œï3%+²ßöÓe£ ‚Š| B¨_(,³¡_IÙECœ@ÝÈYjNh<í¡©)ŠÇQk.²|9¬2d3~ü¶Í<ÙÅC¸P{·É¦Òè·üoùx:üÆÇ¸L"åœßžqÇñü´FâNf”ÍÉ]ëŧðuRUÿÞÁÙG©ž²¼äú³£‰E€ô Ä¥Ñ °2ò\zßð>p¿ìL• Tsn{²«Lg¨Å` qO.™Üβbc+¥ûNgÚêq ;‚VdzšZÏüW¤iTƒ)8Š)©HÌOØ,eªÇõF¦"Ó|…g§ˆ’žÉÓе¦Òá²Ö¨¬‘Ú.¢*–n¬Oƒcð ìqÚæ-œ?^ˆ\Þñhùb4†š *Ô=&¶e`jdB¸Ïl÷¦Í‘»Ëã~ÃÝZÕá 1€¶é%œÞÙüqià÷ç}K1ÍUc\¯ æLDXf-W¯!‡³›½Z‚–ØYAlõ… ý–×.Í=Ñr‚ü` o¿ü|Ÿ\üý4_;¶Úóf¡Dõ/×;i@¶dð®²@ä:³ù.EÓâBGÔðü?;ÿ F€Û½}â7,ÚÎq”ÊMÝÈ+E@ŒP,R r~ÉØl¨áuz“'bñƒ&E3—Ó÷R>9oÑçôõ;ô`~•ûG¯„æ+.I7cŒS>¢‘¦H:û Úc¶gh‘Ó+ãÿÜ«ËôÕ¹%¹ù1ª'Q®ºÀÄA!){‹´è *–C‰²Ù/U6ÝÝWò­´‘9u¶£¿‚ñåpV¨ü©›=s4+TM|Ó;þ.EÔnÒžšºõòÅú㇠ÆêÖË ”²*îM¯fs[uAf¢»¸F¦e¢im.}\-a°;®æUi°4û÷l „4Þ7°;&Žÿ¸" «½e}æ½õ›óoÇjThÞÓáÔʉ0â̺Mgjë#AÉå§NYÕ.ÈÏõ0C¦è¾Œ#n(añHsK—>Î…ƒt­ JK3ñ“WETb1Yú<þb4@ ¶õƃ‹ &ª/^#N!äýQë¯ÆeÙ#êõòŽÏÉ´·_–´†ª ­µH„ ÃnỬã‰:¢'¥ÖÈpa¤yJÛÏ¿…?ü)w¹ŸNT*Gu»¢ÕðiL©–$ ¹ØÌ’{u¬à8} B€Q_ ák!~˜ †9ïiýü†_!::WAŠ „egWÒ~µ°Îþã+ÿ.äŸØÊÔ—Ðýy,ÁÆ‹OÀN•ý‰ýt“ܽ(?ÜÁÆëdS^tÍfA¾B͉”:1‰ÝÌNf¾†ó•æwÑXXŸ7˜¼×7‘ƒÿ‹X{×QÒPI ; ¯4b´X™³ïSKæ4§E‡·–ŽG¥2¶&£ÊXÖÝø¡àjP|2Á±£Ÿ¹i¢˜)<1™½å=ïo\6Í Åì³NrCMQT’f`.›¯É×RZ`¨cú¯¢¥OúÒ? ¯7DYæƒõÊËòYæÊã'%n¥böR¯évU+Pç-·}_ÂåßÊ »#*£8‡î®×‰Ã‰½·˜‡>gœQÀ”%R~AX'pZ S]>ý£2øw;Er_f}¦÷ÒŸ+$"hxÑ|ÖB³ðÍÒцň>¿c¾«!r2²<<Ÿæ;·™™GV$k,ÝO2Âf ‘6?Š ãðûÛ éÈɰôlãtj$j Ìö©]6ÑÃT#÷Èö ^<òXÇÜÓi9ø¡û!œW˜´É¯ôY/Aàþä-iCî„@á¸ã³v¢ %þê75CÙm0 Øú 2«#'[(͉t”¥TDÚÀºèe|™êôb¡ÒÕ/½7Þ‡ÂÓ‡æ€mÓ~®GWZWª?N¼;ª¡¢¿9s*Ác”Ë×FMžjœ4Ë(†ÿO  å&ð¾s(ˆ¦ô(BA!aXiŒÎ×+gXÙÝèI¤"QÅqþæAÕ!ð2˜ÊPGµ0)­ðX ]Ð×,¦)!^ä'6'mSÂÉÞø[×ýG¹SŠÁÚp`”` ü%ƒN •R¨#¢ÏUΫ‚¬ÏȱvåagVÏ|­.š#¤;nѼж³ÁjTžS5w›Èb”ñåor|5Ï€”x9áô´ˆ¶BÒAÝïb‚eÛù>«)wnǬòà¨"’W6ß VºÖ“0føÿþ•½Ó‹‘¼/Š,X+ùÆ©Y0Ë\Ygç©[¦NŠd¯™Ä–ã ,ƈïìŸó4ñSòê}J&-à°wgæ¾õ yÝ÷ÖzŠ2cêäÇ'Cç‰(¥íèu•æ›ø¯DÝÂ…ÆdÈ? Aæª@§ ­Y×7à˵‚ÀùßH䌜63­LË myÐõ©GöËÙ73ÀÔx Ú.³‚lèT$¦[]0(ŽYRd¸@%>/ÈVZŒò¤.^c^ƒaè#x7yó}4Ü¯Ëæ$4ûg²?µÌuy'¾nâ²È ;<®'HFHG§À¸¾íÔ#FøÕÑ™’8­¯Ò„-¹‡æšÎƒ¾e)P j›fóG€ß6OdÁ‚å’Ç5²µ§õM=€]Ñpb¾Ü£/Øëš¼,RߌS Á4…Þ}mžô[vkéó]ÃxÍ©@éN"Ë2êÀ‹ŒæNjKÉM …œ§Æ/×mïêRؘbn\ÚQ¶fBhÕ00x0Ø·§ »ÛÅb”1!Áìm ÂûäÂôÚç\“RÓ]Dú}Ùm_xÓNK}OÇ=ª c§(È.ìÕÌIÛ‘Ã:Úíò±­Ý°ËKÙŠ8ò,ÈðÀç}Fò2P¼Ù>ßDæÒt2d‰òžžMl¿¹#K̓”¥ºËH V£gOÃiPÆ,šõ½ Cð®&âdýqØ øí§­ɽYÞÁºÕ¸ÏA)PÄ­ãȇ"²kºU–Wi‹q¸bêžڼ›®Gä¾0B™ÉVâsaôk÷yt ÊÚ4‹…üª\ZÐÞj¸ÄŸûOªƒøKûXÓMŸ^Ù8MI ì_›<¸ï¹%5®\%£dÏUL—}rF`Æ]Ž~[%/Ï}š•¶.råÛ‹íöU¯Z,óy(‘)L¡äòu(U‚É^â6+ظ•aé‰ÃË·ó®*øÄY«ZÆÄ:w̧^›é›UûÂ×r*©HqWUf+Uê|þó<^´-Ü¥o¬†çŒ§©õ€Ð).ÿJ²‹ÒÄ‹WÔ‡*-mŸ˜…º»Ñ´uªÉ~ÓV1Š£}£D²%ñ©¬Ë‘Õ)ECãrô3k²œÄºû<†g0(ÈÃ#'€áÌKÒÑìtVv½kdã!±lK<Å­¬>9qÄüÁn‚à†èû¾f…ôó4‡À>ŽÍ˜öb<‚áš‚87øÍ ›ûXW2¥»€ã >ü*Çå«B?W‰£ÝŽîÞYU5=\šÛ{ƒÏkYHÂÂáhët¾¹4ƒë·~‡<‘%ð€žöM^\¬;Og…%%=Q§ sfRšŠ¯Î¢Ø[tm„Gt …&ˆªávy BLdôv ãÉ;† ºßÂMeÜõ"ßR±¯ïd˜%@UKr!A”IDéX¾¿Þ+k (`gÒ[[K‰ë˜SoS!Ë¡Dè¡"ÿŠ+)µñªqÛ@såna˜XÊ푤úb©³Éž¬bðQXÂz²†ÅŸgRliNB\LÄ’’Åó’ ™‘lùh¸'ÿ•þ)L-pÈ©ç e:öQØQçXræ$C‹lD-} 2ø`çÔXZ§ŒÂȧ ŽÝ›¨á._Y5Åbf?7W.èLo½wÊí2×re¥Z¥$îïyK‰ó¦ =Þ¤Ø`ªÇ£°vxÌ[ÃS>®üª+ (@»Ãn-Â×Ü >ÚüêÈbk9V£½p„;æ“ÏŸ¢¹Ž?®×’¾TSgg­;—‹æZ7ý®½}m˜¹®¿ÄÁuvaŠ›})ÁF†Ý½Äºï×…z‹*¡|þ¬1Í€Nh±Q¿ŽFˆ‡'>¸× °9›X*] ÷ŒÈðV÷ËÖþuÂà UuF÷1!ÙŒÏ8ð9»²!žÄSà  â(t„Ùýæ÷(“:¦¼ÈѸVmÄÝñ)t¢Îw*Ú»%³¿ÕÄŠ(´¡f•§BÈq¥(üW6 CœvÝw(}Û'7÷û>«Ór°º½dôÃÒÕ³þMeSþ[ëö5…{Š%ñ£ã1f 5 èðg »ÿ&5»(()Zrõ±'›¤â x‡‡üUYƒÑÈ]ÑÐûÿkß*$@ñÀš^Ÿšäh½= ]£z8|«ñ‚zà Á5€ûÑ®FOU‰á §2# T„vÔ\_s7ºÐO|j !qt>×û($êA#¼×ñ5[ÿ™˜(](]—Δ⊲Ø}/–ÆÊ—`Ú qª!~P§b¥Ê¼WnOEÉ è‰+ýi_±‘’d¦B–õÝIb—<«¿È!®ðVä’ÏÈ„-m\çÃÆVáX+däñï6l†_¤<ÖgÉ÷“Õ‹Ar‘£6X4׋nÒ̈@)3²ÿét¿"\„e@äúšèè/¨.a%ynº"wdj±w“œ‚­o`$ zf³ A*–×:.™÷YZ¤'{({Š÷ŒpcO.ÆT9vC @çš+€’h9” øo¼ )l p` `!Ë_;Ó*bá¶]~aÔð©åø^õsäFG¢ú84T´ŸX ‰@Ik6V­¬‘q£ì˜Ó)]xzµÉ¦Ûh˜¹| Wb<³Ò-Dôs9Eìƒ×žúZ{ Â,o¶Àפ¿ëø<ÁÚ÷ǨP)Á$¤í';üÔþÖa+Sd xWL T—ÙU›7©ÂL®„þèz[Ψ†pÉRÑ,êtéˆÔ±%C@8,Ëò±w6u$ñÕ°‡˜ÊIå•¢×Nëú¾7®Yí ×ÐZ¤J$™ŸLÚÌU¥F3…ô;†5óåÓÛÔ·ü"4Šc_¥Æ‰{ë¥Äèêßsc¢Hø™$Ìø Èþ.l…û‡!î– ‹¶ž=²¤QJmöà/£ÁŠ‹+(‡eX-xœ>‰^LB§ïæ¿Mø‰¿¥çî~Ÿ·—'m@Iÿ1È3-2ŒÕû$¨MݸuÅ[9ED8ÃB%ÀQ… 0X¢žþ®CMæ>Se1¿‘F&imæ>äg H$‰¬œ2Í·¼dÁ‰º´Ý—#‹ÕñÖ§­Íf•Ÿ>Mž;”¼K)jÚËIˆÁ0†౴”í·O7à6ÕLj(2›1*Uâæ>C‡rìnSü‰FUî òu,ìÌ2ô?…ùW3ˆ×™jå(ßãr«åHLr÷°y<¾ß@mÛª‘Áðr©']^Jœy¹,n!¡®…%¶aœ«*‘ÅCÏcÕv¥V1·%ÀuQôãÕú’šgmXm^²;ËÍeÒú1 †½+4Øþ°ßu¬¨‚¡¯~$_ˆÕjÚG‹ŒÓµaó—÷è#^–´È7scyé²NS8V% ñë^ëqéeEw 4~´¤¯ “ÅA{•Óõô–Ë´¡Œcï t-xöDo°ùH¾´µæZý3‡?óaCµwðÇÊjŸ ÔK…ÉeÄÉ Ÿ¤%ê_}ìŸÎÜɯÊ0{tkM=Â13ø’)M#ÏiɵñßSŸ r¶SŒ4‚Íþ)2r+”fIB0S£‡úa•ñ¿3å¿vWHÐÑÒ ‡€:XV'q‚A¿‰5Z¬]Óê02¦‚ðoËûX§ŸÕ»Ns'¦Eò8Ì=· :HR¥²ó>yl2Ó›þ[DõÒÜ90k$ܸ6fÖpA Š3´ä…:˜Ûu3ÿ…â1ýÕŽ; ÏM½¬0mN|œ3µ«ø¦æoÉcBUàcå$ãHÍ]"¬ë¾aò! ùÙßÿS )|á¡6Á£8ï0e,©sÈKiÂÎY-£‚ô¾Ä¬G¤°x¯žÏFœ?‹NR_‘HÑög@Ø{kCr§e$~é8$˜UÜ9ò„F#S’Œ6Ç8smIý ÿ  ÝRЬ8<2Ñ„˜wÓA´{… Qw´ð‘¨“kïžílœçGÌ ¸fý÷5kœ´ºÌÅ0ÆZhÓ…c½Ã8ÞH-bö€D=¨Î9?-UÆo€ÞzvªŸ‘œOS éŠEÊý®sÕ0MñÁûUÃàQ‰5Ÿžÿ‡è)ÀdTp»ƒ­ª‹Óì\߃TéoeÔè·Sà% NœÀ¶†÷5fJyR¨î,¼‰3"™gëܼP¢¿°ÍÑ=%°îŸ4%(ß"ï%ߺ‹]ûýœÔÁÒt?&ˆô÷3­4Ër@¿¶‰2·—m×öâÂXk–‹²k—`Ìϧú¸Äâ¬ô>ÜLM¡8H‰2p=žè†9MTŸ«WŽÆ§Ù¿Ç"ÜMðpÛqµX›ª”ïsÐK Æ9„ìÞP`{4Ýœ g)ÔAÐ’êG¾5x²­Ãÿ¿(KµgXGvƒ 3<õQvw಻Òx[žC¨OjhLÒ½qªhÅaT1«Õ ß›‘AO0™Á¨œ1¾ä[_ 9ëGGÂzƒ+^šË¨ŠRᘗï(½p{^ß øŠ¥>ÅÅlaHòõ‹%Ÿ}¸°ˆ€°U*Ђ²òþu¾FÆ‘vY7$1CÖ~ÆNkèõµBŽ”„•×uLjÁ㺿öUͲݿM¹R_Ñ(Ó÷a[VÙÖ2#0BošÅ᣿Ì'³$j¢.N 9Å–œŠŒ»¦—@¥IïLèï:2±é~c òr+NÙV(sÖÈ;ª¶x¤åuÃîšM“õs¯êðvŒxpŸ¥ïs¥T9ËŸ‰¯ž]f ,hÖž™Ä2dÍ×PÒ¬ÈZÝû䥶A˜„VBççe¦Æ^%d½ð¾"Ël'o£ úYŠ”†£üÏ^§}æªî„U¬ÍdÛ9>èo:gpHßkËkmÂè#eOˆ$R–„å5/ÛBýlÏCŸ³"Ôü÷ú½€!).e,b$ÅÕT÷ɉ±#, ‡,˜Ôªéªö·¶övÎ%ÂP ¬ÓPdÙdM~fRv©…sbâXæŽ9§*„§˜>ªå…äÅ=èL”˜!´ÖÃx‚†.àG‰´A²ùÛ²Hu‚Æ­""…íÞhnÀ4×Aönã­`;ºòÊã÷d|EwâÒØˆaüƒÿŸâÖhu·~ÄD¿fà=ö‚Ð;×È&0?OFªhå%ª~Ìœq©ŒØ2Ãá;Ýž·ÐÃÓñ) ~ñÔ¹ØÖ@ìÆ[äýÄrô\«û˜ºÄu‡,kö'½w¡ …i¢žX±ÖçYC—^«ëUV%ð†zk fð²õþu(ñ\¶WDjO¯±æ\Ц?@»™ŒoàÜZI¸ YAÍ4WzW—î[]*b´ÍîóGÎ6*ðGÝM„#orßµrÞò™©0Z‹X> º>QhWÜ^l AÔ8¦ùÅüxÕ^Ù›Ï52Iæ:*ó Æy ÊHhÍæ¢‹LÑÛšv¦Tf*܉“AP´?\^§F°@bp}bÊ14Í,›¯Öë¼1.Z@Qœá<©ÿ§jtÒœ½$œªsZK¤úØÂrʦµºjô×Äœö8îÖ£÷ºu¡]C¢<#\Z¯G Ê¡×a‹*¿¾vçg€B|çyA¾ühJäøš_ÉP³ó_¥“µ`—ìÛöprZ#¢™_’XŒ`B*mƒ¨ÜM²5wû0¥ZPã‘âH±ÅÁŸV¬Ñz8”¿Ðûß¶+yýqµ`kÂÎúxö&êÚL82Œ«JûÞÓë­}ÚL‰í9BÄÒ‰ÝÔÛtõç0µP|ÿt/ Ø;wS¸ÄÎ{Ò&à-ŽKJ¾À¼Jý—2\rÛÙ›áÏZíƒloÚrp\Pmö®×°æÙùųËëÚ±TÃ}ÿ¼_5‰ïÖa¤¿óù0tjkŠÍKÔ  :z¡žnã]‘cì¢SBqò’¥*Š2 …:õÁ+Œ š„9F†Z«y!¦ö–KÉ`v7èe1ú³ûHðÕx W…¦Ó)5æ³ò¸ˆ;ÁÉ]Sbö]… 8¿Ñ 7Ev/‚¦‰^Ò¡7¤›¢xžélFŧg&ˆíJ†b@”ŒÒ˜[(3ç* ÜiîVÔç1[«æ¥ï[ûÁ,9Ô7÷¸¸mJŽ•cô‚ø2|ºQçcÜÂZßñðVõ|>8Ìò7Ñ«ä¿]¬Òl¸+½†Úß —†`2–J”“;Ý’-r,ô¦rW¿øù~”ßÿzFüŠªTjGJ#Ž>Œ—’W‚Oÿ ~2ì§7]æ!ÒßôÔÓ*ž¾RÕÛ’"É]¤ß=|wBÕ¢¾j½àt5L0Ìh»%bÎ5-“ô«>­MB×þ„²à›ÙÍÐ{‘áäÐ8´9ßîªoò)ò”Fò£'×ÞLã©r!ôÌTÜ(` E˜2SµQ¤Ñ0‚ÛAÞ ´Hâ(ùÊß™UýeNEº² áQÊǼJ¨ #9i,ÝP²3±J„qÙ[Äõ½¡¸ôòÍ#CÓîú…« _ÓûjzShî\¯»ÀQûJ·øší—B,_Œ Û‹Ó=z¢ØL–üà •!ÆÂ Ð{ý~h×KM%w\ô¢.Í;ú¯±÷‰Èø²á½–¢–7qÎÃLæÂ =r•©RI¨÷z3!¡5W)Òfãv…JËÞýÝ(u/ÔÍd›¦™hø§º¥@‰$.¹•Ž‹c&57'XÕ^ϧ¶XEsŠ·ç çAØy ¶Î/s /Þ:+¹à&˜0j¬å»#ß>ž„Ò¡ò$Aºä‘ Ú‡ZNïw¸!ŠZ¤ë3—ÂÞÌTú ŸmîqÛæK {ê™fTQŒìxJ Mܨ§ºÁTÌ6ÛÐ…´ÎÅÞïûy}ûCØ{¡ÊÂø†Ý({Å6ÏÀËÕG)~‘€°doÉ$Õ`+USÕC4 Ý}£çƒœZq£Wþ‘øéFÐT~ #™Ù½" ¶Ì;Þ`T@ÂѤkšôd41ö£T®¬ª+Ô£=e>Þz¥LV‹·«Âp"»ªY¦ôAÃ’,ÐrÁßr¶‰Ê5YàH‹v8ôµI±h¼Oc憊WgW& 5Ðz–‚K™š‰@í¶K&“ƸÁõΤÏy0j d.;S~- ÈzRMS“Å#mžÚ ·VÒt‚ìhÍãªJÊ_º¹fý!ÝÝë;N_Ÿ¾_m^8«8#ö“îø~M!éxŒSY¨µÑ’GS}-}ßYˆ5nµÖj«R{·JïÊØ©¬Óë<3]s¶š9P·÷g"~0Ê[òÇ’´ñ”%cNIÿÐ÷IV× €ý=:œiiOáá|¶w+Dlç©s”Ò#‰_;ÇÔsÚ ØìÜâTØ2‰B5ä+[f&bøz“š¾ÐÖ¿t ì¸xÌ ©s¾Ï1$¨çHõ¯±ðY'2CÍ´I²¿f q”…÷–¶}µ 3Hó8œ5c=d‰®æ~ïŽê-¢W{¶§Bõ‚ëù£ö*ž:¡f›ùK-—ìk,ù.e©" iQqv—’ÜóˆºØ-ÿ~¹"á6ۛ˞ü_‰ÛoÈ`©÷þ³H°‰EŽ©'¸îýxÑ>¼Îh=‹Œ5íuÍÜßeK?wÛ–O€ÿ†âdzd¬e˜è§[‹£~pT«$V…+aûÙTq]¬i u$W É„¡xc Ë{Á‰‹±¯&VPññÅ©¬ÂÍx×ä-¤$êáLòh[À96Ž*<›©µá`ª) bËþ:bè₼O­Zæm *l¬„‹2`ÒÎ '5h‘یהüá"‚‹*àê ë\´zÈØç¡£ ˜ÂÙ¨šôÏ®ŽT®Eyó’»*™÷×2š",Ü‚žßÙþí‡ó5J‹‘<Çfï¯ðÖfKƒÌ‰eÌ÷&Ÿ@>áOD›„è¦ ;Vƒ:–fó?«Ðê±þGFIÇÑRØ0Š”ªK*zæN­K·îÛ$Wƒñbo¹Bª& Æ’œúÿ³ý"6ì=ß—4óò°V<øÉÜ ÈµŒöŒz> ïui§r[$oTa[ê•3ÒJ ðs™ì8™a¯G;à°;b“ž«>À+#U˜?»rz'”~oõ6€!:t¨äİÛìã¢Ër…}o‚xî©³Í Õ +nÜClV´Òxn¡·p­µ©üô¿Òå¾ P£R*OíØ“ =¹0íón¢„ãpEîqrÇf Cö™¼œ§ÈPÀ ½û‚ ÿ‰«dKçÎ*Æ„Pê‰fË~Ï€çÄJÏ­¸•ì2¥ßìv«ËÙï$ö‘;nd¬6KÅKøn%%–"¤¯k`þèÏâ™»G¼çðü³"™´>,ú¨ýr‹ªUä7¨!döþX_Lf›(BÕõ>`F盷۞ܢèì ¨>fÄgÎ*¡YRQt°7`ÿBZJ/ƒ:êýœ 5&*æ[›~TÑ7¦H]’¸£COj’*Jœ¸¿.‡?}ƒ˜QñÑE®­|Íüh“’šÁw°´9&¢€¯–ÂE ëýB{³›@Ñ/nÐ9BJ#e‹ŸO`Ÿºv=”+Òuføè&æ/ˆXËweõf{p7më$k¸0–æÄ$‰íÔÐVÝå$#ïªÍø¢9ó¤º ÌE˜£2Mh™ø×¢æ€ÂíD«|Ÿ·]r ٞݞ2™iP‹rxœ#½ïnB?}G_šÁÖVû:8b›·‚Œã×Û íGù¾?õWI<ü× ãhüéþh0A¢„Ã<‚Ê—ô?=|ý -šã_*³ï 6jÛâ«ó/"ô©‘4ùŲã;tÀ2Àõ(‡™r™ßÿî¨{gT&[ìÿÍôXéãòÖp)ìVÏfÎX6ó>-–Öœ ls<ØH«ä¤§±û%¢:P€Ö”ÎŽ4¶” o†á7 o8îP„OfÈ$‡—£ —C ¤GËôá \[8S„ÏEô©…èºl‹3Å7µé—·W"Ï×°ö+‘£¥Û°2)×b¬¦¾RøYhÔn"@_+âë–·n¤ÎÕ÷åͧ¾?ÿ Wÿ„=%hyò&Ý ‹1¾|Z÷ñ'÷)èЃ8—™}Ù׬ÚOI[ÛðK cBéj#!Ñùí”3jAŸßç } -#êB„%ŸŠQÕΜï=ä¥ô{J££iàÀîÎÿòWðTI±æk¿ O`×@/\Ák®CtÉ¥cTõ[DÙáBøGž8Es{$^ò¼ƒb«Îù‘@éâ]ÉÛku20Hø—™M0ÒCù¶‘(Í|ÁI©ãÞ¤Žäë¥Rza@åÇaYBŒ-r5òQ™ôO-¡·r&5 •ǦŸëÉ@ý+ìK¶99¹»•Œje]~d|aÃI<ê“°[S ëë5í­ŽfTj0ÄCú­f:gJ÷ß÷Jèl‡'Ð*Q‡Ë„±€y(f I53¬åKRÐWï·çí»-lA¸¼ÆîVxÈ Þ™Uu”H€/[1j“idhê&=„îà«ì[êay‚íµŒ9Ò{P]È~IÏâ´>q lŠ=(yòT¼ù9ö_ÊIHìòl3–GwžÆ.sü¶ÒT\!jü¾“HîH†n&eX£ì‚Á¹æCÓ†6;Ì¢pu¹ðÑ’_Ô€_pöJÀ;>ËÌ&ŸDeÑåƒ# ùOé ñϸµAc:Q<¾òˆÉÇb uAeq6ó …Tܤ¦þ§æ›õ¦R̉äÁ“BdxmèDf#‘Ý3O)Ͱ6S m;éÅœÓÇDìéT~¬áJ)¥?%ˆ) S‹Ñˆá³Çq‘`æ»^X~r;.ÄŸñ)l­p ؘ³¸ü 5óFÚ‘@«¦Ó~žÑáá𥋴Ù]Ï·vNxßàæ-¿fÄHha–TÊBh«ØªZ]ë7‚h5€Œï:5¶„ÿ3—"`W°ÁËME=*T{jÂŽdÛ)˜ìÂ-ŸOø!ñÇéÍlŒËÏzy€–³È‡xEÅ*² tÚ6Cܧ™ ï‡d_æÐ[&ɦ”D#¡Ö4N6Ržýh˜±Þ­¾‚ÿ|·$È«î7ª6Ð"°ìÕÔxùNà«Íí*oÉ8÷£äl¡y. ˆU[“ÿ·²®0Ë£ÐjÿtcŸ"q£XÛú´&Â5A;qYy)¡µù‹M´øNÄâó97tÁÕ™d‡8X¹Õ&£è  As'õ½çÐõ% y$6ÁQBoÉ6¹’Êú¦ƒ'ˆ#‰éê´àÌcá&48ðqî¬úSMè²ta¨ûˆ°²6ñjiÏ3[áåSM|Q Ø7¬ª±v=¤#_ëïj†a/Sã³®J0~ÏŠ<¶7‰*Fk(íAtÑ‘¨Ê_S¾çÌÊuRŸÁa"ñ¦`µc¥O/mçFË´VçÙ¬ôÖV–@z·íæŒ ŸB_^À}Ãl”!À‰'±ïp^²E¬,}<Á2~ƒ)u†ˆ{ןv,evt4*Ì~ñTXeËÆMá†A-v¿²mTN÷ŽûÝ¡¹¬’k}+=³ -²@mëlŠ=¿º•$±76廚Šñ‰ªÅï+09Þ;Úx™ÃjÑ^ÁÏO­JŠceg©O=›H´¦Œªô˜UfŽû±zv7C¿CHÿ—F—Oa¯Y…íÉw,©fN VÌ]Xµë¿1EU¶÷"õÈ‚~„/¨t¢e7Í4³žE¤ÉWZ«wu±Àtß îOk•+f¯{–\)Ý‹³CHjζÉßåó¢Üë†Æ+½kÜ$#7ž®¹=gö¨:Öæ]†çF’(:Ÿ.<'಄qd·PÛ-›ÕgÔ:™Ô#C3dÏ¢Fýx”嘺P&oŒT×öµíP4Ýò¤í¤E¾›xƒ ­&æqh½J]jüµ’oœ_–Ñg=Ëlüv[˜1ÆùCÕžµ`«S&ö|!,‡•2€UzÚÑõE‹ÒÔÕÇä,7÷Ò§\– —¡û›-”ì4‘+*‚®X›½¬fDíëÔH H­êÂ)·F0¹=DEZPÒk˜eÝYÒ€#7qœ[¸Å™ÑáÓmÓˆáqs’Ö*ÛHL"¾U²»Ü+itÖÜÞ$h¯Ø:—ûÚæ§ÀKDôÑM}Û¬“ņÕxĺè%Hˆ½ ôãå[/×­‚‰*›¾¨á™#Í(öEpMÎíáŸÃ›3ûKG¨IªÊÝèÞ}£6JÇ¿$Oa³é.Þø$FÙ@–žKgIÄŒ ^è <³*MºÕ8ûê=°7£@`O ¦/»€­<Æ+"~΋­£:¸®#¬ZÏävG³Q÷÷19~C£C€“Û^cåO ò›æ#l·>ê@²¡{/<_gWÓ;XÃ0o~ôþ°¤ƒ=ƒp«{ØÊh…?Ë·C³ýŸdÝ v+8 üf&6èãux"ëÛ_àƒ€¦ž¹›?¿—@Fm€0.Hq$‚1¥b±\çGÖè½ùHæs.Wl„S±ìgsÊÆÎÔ ]׳FßK„„'¼”cUêĈ.!nµþA@ÐU›ääÛÓÎ?p¥€êž§0 .Š{p®èï ¿SÁ.ä•vf¨=KD¥ÀÔ›ü°•ÿ¹úhÌÅ¡ÅÙñ4$P,i;–„œX?DÛò×R„elš‰"dÃøVó€óJ…2ÖqHãö{ŒTGs×Ìo˜€BòݤªƒõмÑjMr€Ç[öjÉ£á½êHŒ›œå¹š;Ì;‘¶"¯u3Y¨Ü¼I”ϽÎxH†ïéí:Ãø.­ ÖïO$©Ýì"ëÛ•Uߣ†^ÛÃÐ š+Œ,ªõ óéÙo®[ž]0 ±ÞÚêç ¡ŒŸˆ¾ØÃÄn#¡­¼ìîªü9&©Èpƒø4â~~Cn㨀ÉÝå×YI‚¿‹»¨§õõà"/î&_ŽÓÝ9E{êÚî„X.¹’ØfáU7Ýw= ‰NĨ »´¨[ÔÇצ<1cVÑåÝVc0m¸ŸóBøK¸cEÎÄ“ ëÎçB›,’-(r‰ æ`cí5ÔÐ×±œŸ+JêoW’8ÐwªÎ֦޷èåu3Ê(Û>ŠbÆ÷ö1‡Ì”°]ä¿6g&’Ñ&ÃU¶ƒ^‘ž)¤+±—·p ÉÏòÀ°f\NÅ:zПÕÐD\’]¯k&§î/ø‹¸žuo!„Õd(Ç”°¤•铺M>J Éa÷‚ÙóPDƒTÆ/Zf‰,IÖÊ©slR•L"Ò ¬d˲uaÙ°LÙº,Ù0-·Ï'°Æ[£³#V‰¿4øW4n"§»ÄU‚òVµ¦Ôöy¶‘/¤›ô?©ç“#uŠ$ã°žèd€KÍnÞõƒº%¿Á.Ðà:±ä)U„ îaÕè b>ÎkþøKMõòâ«6ÖGÕ £¡»:¶ìëëëä™ d5y`g qÅ¥\Ó±BŽižˆ(˜ºÙTÛ ]ã#Tç>RœK²q9´‰Î ùÎ³ß ÖG¤pMFŠJQÆÉbÿ@¶_ õš‚Y¬ÔÄúPp¾ê$þŸÈý¼Ðù±`yQ "ø¹2ìôå×Ò·1‹µ¸kt=lrrEÛ;°¿3Ç}þ=³#Ö¼Ii<¢îß~åýœ RÍPtÇvSÏú2ÛyÛ4ýÑèLJ tET²)µ{X”],\@ ôs³_`¤  IVâú²7è™héðßgÙ T·™ŒctF='æ‰û&^x…S6§måâ‹“+¦1ÆÔ©ó~~ÏðŽL3D@atJVÂQâ„ 1Çd¢&ˆï¸Ú²SY-k‹ï¢5å(¤ÐÈæû¿T…aƒìQ•‚(È/H‚VL(¿ñÑo-¾¿Oâ㓃±=8G…ãûö¥ wÄ ¿Â„4bWš¯à/øÃ¢ ¤5K4Nýß~%Fðz&…a··FÄæý ½Húú|ÕveKÏÎMfø+YÒ8}ÀÐ…ÕK¯é+ã«ï|¬î \àC§ |¸!©˜})I¾V´,g1®§åvÁ¦ÎË!Jê ¦M½;;ÃÓ#LŸ4[BèKÓm€¢`ôÀ²§1*ØÞV"U"΀_Æ S~ýLÇ |ÿ”æÖÌN墲†_8³ÜPþl%ÒѸ ¦Ý“ÿx CàóáÑëë|÷à¶dX^ßù9sæõZ ù–̾PF5£Þ›¦=n€€½ù’­­×«n t±v°E<´ -”ªF|P‡8´`a}žëžA=DÉCižµj†UÒ– ÀYºØUÒÄô}ë€r¡Ù ÎQ3Ôx3ñÚFˆ§¯?á6€Ð'zý^AÃé-|65k1­§Êþ­ØK VÕ‰Z>ÐÌdÏ_`:}Z/šOÿ·ÝéTcýTÁHöÿîg;ö"[ÆDvi—E>´ˆ“dôùƒ)‡˜_ ¹«I¾lXÜA¶äï !ðêŒ r»™5xáL5åƒ@,.C]ãï^—ÉxÚÓ‡w÷˜!Ý£´,¥&!?ÌÌø#ôÙÖŸfô™»ràÚ·AøÍŽï˜ÉtÌúòmü}»ñM£ëc†½õ°Q©ÿóœ½óXkKPºzƒm,ʈÒÿh16–ô"&ÍÉ‹¦Gz6&ܺg Q©aެ;^oY`×ngS »ùÏ1Ë5ü­ªt¨TÉœOd§Z·Ù'®ÜJar›ú2Ûgt9OfY© ‚íÌ~О’ò3`–‰»>©ãPÃE`G‘/˜}øòÛ‚ôDŸ˜êÅhi·õX¤€¦óIaÜSP‰Y“Ӥ˽‡71ƒ‹AD­ê²Æ&¿®® éPB’£æ=æñ­‰mIåd$©Ç~rá´<ïµÇYçt⡤&*Žý™î»ÖƒÆ‡Hýhž6Z›Rqþ&¿ ‘É€Îö6èÓiMዹý‰$}ªæ¬-º•ŒÑƒz—M— Šš“œÁïâ#"ÈÒQ÷gÕ—ˆÈoëí†Ïn¥ ¦óa€Ä½z1gnë#M2`©“œÉ‡ÍyIùÓ³œýªÔæÄ>yëÓy]{”;gé.÷:£!Fx¾v;ߢOntK*õЏ¹d«ÄIÖµµ†Ð^ìh[•íj•‰ÓÆwŠ”`e$ÅzêPûÆœævT¡a€í\LœømO¬Çaƒˆ¾EÚKŽ_‹‰¿ÇN¸…I鋟'+¬2qž¸ViÐñ ^’âÜéO>¼ÃÐ_Eú*­ŠÒêÇóN··ðó)+ЦŒåø©§l’öâQ3l1ýý K÷E2n¡ÃR›Kn–æ³ç¼3ôˆ MVì8Ö•þXù·§Cd{Ú>V†,æãñÕÔo'¼M§´j~]œÂãµ)¶L\On­¡}¹µù‚)–< y§` àý'¼ô®hꥪŠ£ãM†÷OéÕ?r1îí0ïâO5é.W?á_í‰$] [ýJòœï„<ÄVóZ9g'eÜÉú4ÎÆÂ¾øpi̳B¸Í؆&Vjë.×£øöeãJ7Б èšÖg…Uº Üs#LµüTß@Øy¯™ïÿkªˆÐ➦ú´Î}ršBO—y?6³5v»4³¾GY²\-ÿ7P׋âk §uéæðÿ™…Þ­ä’úØRÙ@¥-OU.¡CÝ$e“Š×¤FøuAH.ã¨buìSÁ ÝiÑ`cÔ/p|G’,m¥q¿Bm:ŽIÔÄéÃØœ×C‘Xò°³t89÷‹th¬È~ëÌ»pjFØ'ø›{¼U (jöBL}k@¶/\Í=Ûß8âß\bîýƸëͪ…ö\wŠÜvô› Û^ƒëÕ¹, ü.*ÓØr³w¨g½Â ËæøE Ê 49ýØ[u'ñÀETÍ7.àÚô µóྠVš£öú‘¦*•"û…K‡½G#*ל׀¸!}8l¼¬N$ >…tòNÀbüÖ*p“^ò¼€¹c2tVüvú[m¹éOkßFï_7©xe¾õK³qÔ4W©8Ä£µŒ6ƧÍÒÊtÂsØeŽˆ´õõl>Vd´ÖpÏHcW…£l§‰¤ÿUǸWÎ-oÇÑ†š¹†£‰üC‡Ò" BV;øöj¤D0>•À+à b’/¬{Jîf“eL / Pô8õƒåVñÉ‹á8˜Ô 2Em |TF—€Ã\x¿mìò`…¨çêÓŸÚ¢©¥¶» Ô³`Èœ«ÈmËê7Ö @ Þià,5fD‚™ì¨õjcöd1¢•h‚ÙQyÖ‚·iWù š\$~£Éñió©Ì8`÷{ތׇ™LzxôfìÁ}y4ƒûB<º L%‘£n>‘Íý°³ÞeÐô_X”™€JmüÔyÕ½ébCÉf%Öq"*»¯h¯•kV‹‘D’g^Ì”Á'ƒÑ²b©‰yý¾s=Ï_vϲĿà5ÀìÐ/MðÅXšŸ¢W¡Ø?¯ô²#YµzÑÐþ›œ4†”뾩:䉹çŒ4gZ&40ïU~‚3<ÿe+LâZýžYí.ó!èæË/4NîÄ?¨R.„^aõ³±mͱ¬ä V³ÓJöøæ/¿Òl|·ùô0¤ÏNÕ<çøEº)KïÄ ò­w´ ‰TÃ;rù>¯êÿ{&†ì!ÑG°¹ž—·dHsæÏ±7A+}ްNýœDÆ^¢lb.,]F³˜Ý8¸¬NBl„YñpmˆÂ‚µèÜGÑÀï¹ß¸>\ƒmþ^±~e÷p2iy×±ç)7Úñš`([lлoÁ‘ ÈEäÄÇ{= ›kù|1ºí3_Ä™Zz©•›»*Ùî /wº¡ÿÔSßUç ž•XKPô–è-ólªH¸Âÿ‚ƒ±àϲ”xòPêÁ¥øf=4R‹l´gf)h¡P]mJ•¡hwÐa²²Ú+øÐ¨S,™n¼r x\ÜäüÉÔ¢a $ÁMIà†Å¾ï'ÅF¥^ç÷Ž5*“ïñ¬±ÕȦƒàã”Çj þ«Æ»iêÛ—Ô¡ž/EFíZi… >àoÔµ²~‡DŸi¢Ÿ|Y½ý¿¨í.r×»5¬kôŠñj`—]0ë8Ç9 kä8ÁôÊi¨-€l•íÍ©ŠŠã\Ç}9he®ó*».óŠ>Rõ3%ò óg •“ï’ažYš®¯9æa…ùehØ /ByÍÂõ†$øŒLo¥0# o–º»äÎ °ÝQ“µ0NDÆ?u°‡É£ ©“Žó•"Š€âd¥ Fý–:ø€¹…ãg~gIZfyT‘y~#w–g 0ÛzèÛ¦ï{(Ö}r'Ñ­>^ä‘’m+ÿä®naû Û¯oq1 -žþPޣċø‘>g"V'èxëó-õ}’Ò½Ôä´ï¡Æ0Ò|á¬góЪ¶) ÕÕi˜ËKP?X¤8u5W!zè¶; ÏRDý•±&£j=iyȦ„CòÔáã†;zþk3hñ‹XAÀµX-2Û[1ÇR.3 ‚›öÒ¸¯äòµÛÁƒ¯.5TÍ"d˜|§´bÓ€œ½ÍÙ¤}ñ?æLµ2« MyLkŽI?*‚v6e²4Æ’I¢˜^Cç~0°WÔG AÖK0¤xFßÅcvn>R{¨s©`9?üN¡\ÚåóÏß›GS`åòe ν×RXÜKt²1ö¥¿NŠÑâVUFq8tëšHZðú>BaºÖ ‰øóQFsæ¡þõvó)—HÑÁå~^”NÀá¾Ô½±q„ÝÞ 4§7›möEû`¬0&è¤ÕòÂ4Ññ78y>L‡ÁÛ æRwŒjÀq! š‘½H„,]ÈŇ}·!÷k¾±èéd||l=% !·/JA4ä•ÑFÝ¡Êò7Cßå‰ð ãÔ÷h8úÓ6‹Íðɪcö‰å¥“·rš½ °*Ù‹µüÙ Û^< Ø †®?…nÿ~·k±™f©>rÏjµï'T݇«Ð4xb–“Èùr}’+D«™ཛྷÉÛ§{l›v÷’Ö{Þ0êZMVÿô$Œ°Á£Z¡È ×ÐWxÏ+’.àÏu徿Ëa ®‘¼ׇå³oº²°*,R¶,z‡À¥´±-¦I’)00ÝÔÝÕ™ö‰>®•å T÷f™P6ÂmlÔk4'Þ¥15Æ9ŸÌ&¯»¹çÑ¡òUk•–vœ•O |ääºãœ£µ[¼ÖoꇼôJ7ß+â†Æüä å´(=[ýªÝ>Þ]evèu—”R`Éj~ ÕkÆ´L‘vóÒÿ© x>!×±ÂoéƦwͱ¨£¸µ=!§†Õ<ô‘).Çz¥m» t^#ý6Uãd;žFÄ×ôw¥w:(2ó¥¯ç ±ªJÈÛ¯ûÅbó%ðÒ •CþË)3YŠzˆÑ¬nÔì;íöƒ>øã«=ź¹xú 0×þ†ð`ºÔFnKH@¡ðÕ}‘Œ¢–q³ÈÍac':¦lPÑw7±îû GçG]æËh)áíÉ,º?êâþ¾±Í‹²‡°yÐ &S“¤ýUc—°Ž‚sâ¤: É…æ l’Xå:>XG.á‘PÃν=ÅštèV6=~+?OK еþ €ku—…\+dÄf3WˆAh娾ƒí"Ï«†±I¥¤,y=~±Biø«ÆqºèT7ü%©× @›ë¦Ù£·6O®¥t`èîàU*!š}|zÇ÷B1Íå<ð6“àÎôvh Îûjt4sóÿÉE­éœFÀ¶Ü¹XÞ‘n´'ôþVå‚pÀpNÒ~òÉ™åÇË¢£ûAj!ˆ9ŠýµÂÖ!¦Æ&tt(ƒ/—-_ð«Š:p[›Ö:ÞÕÚmÍ‹ Uhoûº©fº×U C¦`‚+éê=ª¯7YrKKÀW„‹2ÖCkÕúAž»ÞÅ¢5ƒ´04)tÉ82Œ^u. ãÒŒˆ`™('ãbº¸{¤ÙÆÛâ1C©¾Þ‹üÍY3ƒ8ÞgÊ›´õHø~,P‰ãÏQô×íÔí7 ñOþ¾þVO´|õ*B™—:3KL¦ÁS”<.óÙFêŠíU»˜&,²½ÓfÿŠ?ò6+E}±'‰"0ˆ Xòwt¦í!@éÿ÷I&L4Ç9‹l¬8zÀ¥NÖ¿¤@m€ÒÚ”Ó4{ís‡uÕèñ¸ß}UÏþzÄéÊ_µ™>/ïìâq?Âg»µ ü6«e(Þ9‰4¸ý¶®Ý‹‡/$TłԾ[__éÊÆÎÞû&Ke&ØEÝŸK„zOü˜ç1Pý@d“YÌpúá•{ÜÏ2l– HB ŽâïÞ^Ýþlô‹ÉBÁöÓPÒ°-×6=¯z¿2]!,/q¥.rT´ Iy9|ˆ~]î•Ú V¼äóuqŽ™¾B~ö¸™–7™ËArå­G” Væ1”¦—Áª49½žes„è-P@äWTöºnÝSèØÔ3Áë\Åž^Œ°7éù½”®mf$®èC¼š Šv6?éh ±É6 /6ßtu㮜Ôg@í°®*&mxç3´`ç‡dÚôŧaIõlÓ)RËMsb 8¤SY|x9biÎNb5Óì›Bµ¬ì¦êyÑý‹FÔ„çå$®QÝÀ}Z«ЂÜh(«Q쮊ª/4üÇŸ-ôÄ»hü±s‡ö?J6«ctUŽÝbÈBßþùoxëAê4|¾Ì ØCƒ¦2´LB¡£—Åñm&OeRS›A:O`ó<êu—^`'žo~‰]oÒ@Ñ@ÃÐî;7y¡V00%!–ê[ü1<Nu4¿›&àê2m4qØÐƒÂÙnïA†¤ä)VSîÙi®'*oÆM¤+:u "‘þyYµˆ† ØØ‘WµXV9‚>yǺô¦®dþtSc>ô¸ëà˜Gj¦2 ëûïšØ5” ˆ8 jרªBнR´¼^ëIYj€`Ùô8 {AåýF¥ì)s¹â–_¤{‹9¦Ê\°|¿Ú«ÞæEPj5 ÂàöY” ipÔ=Çþ\½hhM!õHÙ÷߸ …Žk©-\ŒÓä@™”ò%V-ª˜ÈŒKœaÁÔRFBjwðuú ÿÉ*`z¥ªRh&Þ Ù4Ì‚ ]ÎF¸ýýä <3FP º§ó±•²DTÚЋŇ7(™çæp„ΫzÌ÷³‡4ÌSâp›z 確zgЄõžäÇ /5’”˜“xÓ9?‰m)8Ð[L˜‰ ూm84+¬ÀÅ{æŠüÄGš`¾¸w„~ùÌæSÏçØc –}Tï” ²§dELÚëÑÚhäC™¿+*]s¢¿h݆Écãg3:>üø!Kç´Tàß›ɼqU]Ni)ªä6A0mç+­iœ_9>ïs÷ÛvÆÆ+Ê^AP€èƒtû /gîFK{ý+ÑÅjHNòì:ca ÈÌ<óù­´õ˜üTÃgä¾þ¨fBhc]øEŠÚ"È·çմֽ߹ߜâÁ¾kôCÖ«$Õ•¥d†ÓÇU–›l%ÉÚ³~!Yºúõ † ìÐí™U­„R†s…@.žÑ)õž§åé¥ýßXÑÇ¿•:Vv©>æk²‚õ¯ë[Ö¢ÜCdÌÂG¯¹ýbHÖ 1*ƒóTßOló!ÕÏÿèÉ*ï%õ§*@‚Nåô£Zú°W¥â¥o¿&Ú÷„h–É>…gù.iixÞ㘉‘©ÍÒ³%€"Ã~&#W¢ñÝÐYþ§…C~;ºä1[dˆÎpÔ[´Ád9])þ d<¹Œ’™¡x¦(~¹ûƒÖ¦ [ÁßL; ác®>®Å )jé9xï’¹„xW´]M¬Ê[‡ÖEm¸5·iL ¨µÏßeÁkÜj_ƒ[ÁG¡U GÝe†Åǃ«X)½7ÈU%¼àŠ?ÅãM,œ!®B÷#NçO~þÄ]éæ›?.…·®šÆKÛ¥ðT:˜Æ`FLò;Ð8¾]nâ?ñË{£Ä‘f™ã&ÅâίÿŒ)ÇÚˆ‚Gvfö¨ãPJwý³ Dž£m2ƒàÌ?"u¡ý˜ÚgÅí»×‚e•–E•#ÐeÎNnñZg%ØtäÙ KÁ(€›"¥@K;þ aœ\ Éë*ÞX¿‘ڑ߅Ƴ9Û¦žË½rJ.îÑt½}|(ƒmQ3ôô+ú/¢$A;æÎ²‰úRä<¿)ÁÚ&¶Üôm†C—ëó ÷ëÁNTòëÞýÃG–—ó¶² SÅÛÆ¢yãñÙ^Üû²_[›H2-XO‡>ãfŽ(¬[éTЧèUú5gÙh¡Å»ÿZ]ë!»~.9a1ín„çnþ€ÜËé_€Ü0aœy!WÔžPmiR tc=æ½¦× :ˆ¯s&w(…Ž‘èo*~ΧØpÆ©µF ô½M–Ý&5øRQÆç©ne¤“šƒ)µ°ÿ¥ä= -ZàÂj¹‘äé`$ÚÜ…·&˜Um±Ø~ÞA¬RQñ8£fH3Ù}‰·ŸT²®x?VLŠˆ÷ñë`¼õ,ÍïÈ)Á·-Î!¶±„ý'Ä+"ã/eÛ/Q‚Éä…i]“¦!à®ó´µÿׇcëð½ã§ƒ¦NgŽoP›§}(]ÌæÇcxmÙ;¶WÚC®ÉÓn®@FO­,cY1P0þ“ ÝFýQ¶µej½E©KÈÙðo.ä|£wUËpôË) óÒÛÛFì?z’ÊÿˆËú%öŒQ»¸‰ÒÅ¿0ÝÝÙAqa§¾âþB¤ÌãÑ—„Lï×òA%™ä6°ãÖgÇà+ç>öˆEº÷?šŒ¦^‹’¥ûðú%}ÕæðO!§x-ýÔÏsN2o·%EË õèñÍêÝ_± DÎz¯c\½K2šJ÷„€šM˜Gës‡Vu- HPKMMÊ÷€ƒÈµ¡ßÑr^so÷=IÏÝxËÒi°Ð3„Îßèn×^ºàdú6¶ÒÒ&ØÉ†5:YuÚtί“3¯•~tÜ–¨Jo‚3“½É]PM€ Vúî×·; º•[4dÈØ™߯nŒLHŰú$4~e]CnƒÔë)¦:‰ãíÖeí)zÜ?ÏíxIt #ÞÀó¼O÷Џ ÎäÁmï*ëxødáËT¥ºœÓŸSqŸ¤·Ö?7å9ŠÒÄ€uHr+MÞéG¡ÎRÿï_ÅD¡XœÇ9‰ìfÕùìí6FÅ/8m Lc:” £IÑý¥¬yÙEùÒÚ[—*„ß›†Ð}$©{;ƒ•(”<­Òý» Åÿ5u½ÏÙš)s¥_Ç!ÞÕ½¶mYê¢qÚl«Û²¶ÈDJêt1êˆ.ÅÜšÞTí ªÎÚl›¦î²×ѺÛÀ£K¤”¾ÓÆ<¸^ðÿL®“O˜%(Ÿ²ÊŽù¢°D’< ‹‰EÄM{H:XY,$ÎÑÄÁ½«k/ç°vá&¬Æ£©i=tö½U°më$ç¡TàoCêõõð8jñO]ŒÍ/£ÐØ>þ{}VȺ¥Þp—“Ê{ÆáÕ™ÖoYuþlýõ* 5reXX í’û|À…%Šÿ¬Ö.À•¸¯ löEòúË(~sŸÑ<ˆKLK]h—ÀòQJA‚M†m4²I)‚9:qNöþŠéHNárѽ¾²Ó½¤Æ QNéÐÅ×Àa¶á†QÕôÁ7â ‡Eµü/sÇ#Ò 'sGï+Q²<ãµ@J­ßKZ>mÙàb[àœÜçïó™1ŸH%\$ƒ@òÙÜ¢_¢!vv|¿;‹ÝáçßÞ>øN%k¹, *–DØá¤ì­Ku¿ÃKd ¶¡< õ™m)Ùv¬‚êkó‘|¶`Y‡BV ÇG; B˃±Óú”êê‚—&éÒ„;„CåÔ+0ý cgPßãQÍBÏX( óáWk®Ÿå¼z,¸º$¬ÿŽÐË÷°Ë±ÝOæï ò܉õû¶ï3Îrñþ€¢Ó§¤Ò·¥PòDæ\㲉Föš§óŽ×2UÒ[Õ•àŠî¡æ÷A™.|íÎ2¯i±RV­0V¾‚¢q{¢JÈ)•@ã­ž»qeõ–Óº‹Maè½ EÅhN“†òè÷BóŽÕs~ʈÎiO"}2Lä0›x—@3«ÜhÞI¼Þ¸¬ö“ä g‹;!Ü‘åÕÀšÌUfÜi DngMž6tÕ¬eJÜÎù°×O$ƒ[d}KLvro7!´ù· K\B¨„Ý™ÍÀì¯éô^Ž)â&c#a´¼òïq‰µÍy”Zƒ>Dnƈ}S}É48å®­õä2ARÆFXHãZúTÿ¥OͽZ~Ö_nqópAÆrï0“H™0aƒ¼é¶à„—ûªiY^ ¸úõä È„ÕvG€sež¸:Ë +—bi¨ÞBÇÄ·CŠE¶t‘g ö¾úŽêTÞ%JÛŠá²Z>þJ¢¢—eðïšÊßë°w&ýÛ«çâNY]]åĵ, áöGÞX0Ò«oèúRzÍ[ô‡Bj8ÓÚÐ36­èO±lnÇæ:X)yZ#6ÇÏ_ ¾í†gF”#G*:—e}ª²q°‹ÊÖJp}Ë$ߊˆ$Лâ½å0¿zgëú -N#[ËÝ«Ë9šú²Æ7·*ÒŽÚ¾¿Ã½ÿ±—éf—BC©8Dµ›Q¯à ³-#dóÜFåj˜f¯ ÝÌ<£ -$ ï1¹ý>Ÿ¾tõ¦mÚ™¿ö¤\˜”Ô®µK)&Â…’§1QÏjÏP~!ßLþ¬§:뺆'U‰ÄO=zº:ç=¢„&ÇÚÆ²AÏ+væ±Ô N¯.#X=‚\(å¹B«ñ®Ê;ß ÉTçÞ&ÿô›½y'ìw©ºW\‹Ó ´O4Ó•AFØ £oÊAR q’-S¬úȹÆÑnÖ‰°uµ`çË«L½Ší:¨ZóP2­½þ^©7ÞMËÿÅœ%Ѩ×P8ô\!LdjÄXÓ˜õ®{Ê ßÞÇ™jÉ7DȽ‘+êAéåPRs%õ?ãpuÇúùŠÕǤî{³€ö‹äÄÔâßR[Dû+ÍÍ·ùL¾~ŽZ(HÂîCBØ‚oㆬ¿ç™Gõë<ÄS6¾.Ñ4Òt øÕ¡¦gå÷L8“!G}TZrÁ, …›tíaëMŸ!(æ©}mhlÀæÄ,¼™F&q©íúl ¶v›vÎ\g˜+÷(N¡ŒY Ê-¬ëë89ÚÇQ¢D²<ž¼ GâåPÐ*|üßLºì±1Ðì.á¸2¼ÌjÔÕky»{È8ËœaOÙtRõi6p.¬ë›¢÷°aÜí €†‹uiãX¯Ç5™Gßj<áBî9í˜mðÄa‚Æ”´ÃLÕT»°Sì ™ÏšFðöšö _ôu‚~v.Ö½ /&îa„ý4øŒeûæ¸ÎUK>ÞciHeËæ„]~Ö/§î[N2ÎŽ•ˆøPwm‘j÷#ÖMÜ·–sñwRÔ½uzµû»Š*ñÉ>¾åb™\«Œ)ˆŠ=˜nŽ„áwÚˆžw›üý=d–GÞ@°´ï#nCÞ]ÂD'«Ôû°ç?€ÎQ?tä2DÆø‡åG+ÁFúu7É¿¦¬…ù¬Íjc‘Ÿ!G˸n¡üå®[²ç^ÈÃXdÃÆÓ6Z–í‡[oë'ëë|Ç1˪™-VEÔ,»nŸÞ‡¹uÈ­?õéKšº÷I¾Oü󪤛Œ»2ëÜ:´rÁ÷T˜¸%‹\¢öÒ >žÂÚ‚,‚®ÚƒŠÅ$[% Ò,„ r 1Ãj*9ôÂûÜ22.±™%'«¤‘­9ÊDÈ-ˆ6¾¬Xé‰GiÕ)Ê Î³Ap/9Û”:ZGw*§cFF:±$?]õ¦‘x?!×sIf=™ãŽXdQ4­0|%gr3/õTýÎêû«ã”£²gÊ×ËVCðÀ8È/ÊfÒrîè šÎ´¬Â;¸/C6*tÞœŒgV%aù›è! r¥žo6 ú- Û¡|‚ñA–Bhçteáˆüte( ‘&²9•–—“±ð—[ô2´yšÅwÿcò8ûtÞw¦R“oj­5ŽÎCîóúÙ ¸m—o ‘I)/r†dxgк=ªDM6l,x[»Ø5¶õ .²ÿÈÓ³†~m_sô'(9~¹Û ÀÎ=GR?Ç€<-dÊ;ÐŒ¿=<áé8I%àsÔÍªË ë%J‚úù †z¬·n¯mÉä[ïO­ð_›«Â5™ƒ¶Uµc« …”ß­rS©7Y0ùG„o¯òûŽõ£ŽCç”M'´Ä<ýÐ õA³ÐE¾ËIÌRÑÍS~%^5!H `–˜£M³à5L¬ŠfÃbªÓå^øÞÙ ÀÍ\FÅT¨û . ¦È?—‰_Í«ÓÊIWÕе;É6^¾ÂH„ânËv–:71O v"K-†zûðpÓ4½T8j‚&´³J– bîxoÐT„}Ú¨o‘÷;h¿3.v¶|óɵ·J_‹µ?ßFõ2H ;$úëÚ9׫٪Î>Y'ëV_ܨ•_t&¤2>—QH<»ùoT¤^TBvÈÉ»N:œÑ0– znz¿‰’;MyûŸÛ]&DKÑÿit® ê©©z{WÜ"“•è1›áÚð#Uë°VIZ‰Pœoò!ÞfydùhкFA-ü=YÌëB«ä%F¤:û©½ M\úûœ‚ Èœó’Ï~R´»8Ùÿ‡§]g›<Üc‹CÚÕû Ù~Ô%ÁKŒ|*oN³á"×ÓJurA6 ()ŠÆ+SXÑ·¡"ý¤Ï67 S7ƒ8Ääû °Š¬výåY[ÔÂoÅç<4USù≑…(믷.ÇÛî8½–(Peó7ÆÄá “dz'ö·Oàûõ|êºÅ0»J–š­jz¥Æu³²»;°¬ï4· Ù“'ÄJ1p;+—åì?*fF© Çß#²lÅë?pi¿°S])¦·˜ 1'•¤˜ËÏ‚ÖÜÂ÷š=5/øÚ/\õ10 Ùd˜Üy7ª™xÒýn!PWŸ|í¨6íqÀ@Ínç¹üÂ%édš’}îËKûçi‡³x•sO±)¹û²èO[nŠÚ” `« >úÚYÔsÅ-ЦôAÅ9TQètF–jdÊ„ÇašËÏÝ·dMT‚Øó‹ÊEͳU³„r¾Ê¥Ë áv›2P kÐü*Ñ&ØÔå#Wú$S7ÀÌÐ?zø"ñ,È0=ý w¹ùÃC07]µÃ3MÂX¥wZõjþ;Ï2íåocü›}Ð03* @þ”ÈÁùž'¤¯h¶àG“›¯<Ʊ‘“˜pæ8§BߦuÖt™¦ÎZ(Ç‘…´ø¼[·ÎýÈ”iÌ,wî^€ëäFRÐiÙ¸âA/óR»b܇@óuÔl-xás™5VÞ*Ó»¦nS°ësûÄ©×í,”‹®NO„Gð¾9P ‡ªõΊ{§4ø~=¦ÕèuÛí:ýýìja55z6m˜#·¨g üâ"am®:ÌY>)êð‘¤ßŒZ7?²´/¯ìqÚ LJçrl`Þ€ÅQ‹¨@LÙE(ïvÎå%—¾â=|Åí’éoR{Ç%ëõÅ¥˜$™+A‘ƒþí|™8ƒDý«“:À Ç÷†³1ÈAÉ”I¸Ø“HN×e8DÆé‚ÀEŽúda–Z¶ÍÜü_¬äøw%&ý0)!£I¸Q©oRŒ÷F14™Æ~ȳÀœˆ[Þ“Bñ9ÇÎÀ œ†¼Ë™ù0Íñƒ¬¯Þå–™•q¡au¶ °èÃ+Ù¬‘¦³…‡/Xs€ÿô:ÌŒ"ˆ„‹¾•íE [6ÜL-ÞI,ǶÌpÖIdaajŒ-9¡K3©Å ÐRð\ïæx9r’0b±u 6­’?κÿ ¡»ñ¨‚ƒ&‰ eKåØãR„y‘RÓá~ODC4LÅjû‹94Ÿ#PÂÖ]Ôæq~fcÆhÁd¾‚I¼Éjæ=pfÁ÷a.f-‘÷™‰K”ê6f£h‘Ly~ÛóóTþ <%_fj«‚,Ð5)ý)òB wŸ¤9¾jìýNO~/¼É ÇŠ¯È8ˆX´zû^|ˆùPWéÞ^ièu6£Âà‘£»æ.½${˜Ç°£©ï-R»¯¾Ž¿è,&~ f6~¿:?WYдã¥Äˆ´ÌG¸ÿZý{m9ªž>È`G®§_uÍÉŠ¢½0:lï2oQeë*iœ›¦ÈØïóŽ<1tÚ¶`ãci¹s—fz¾ û_ ¢#ÛÃ×Ýo²ØQŸ=Y:cN‡ŽŒJmH’YØÄ­gÙ!¶¥dOìºñƒ@}9öŸi ꟥¬¶¬_ÂSSeˆ‰0ì·ßëŒõ}סáw¾ÌƒsœÝeo“MýÄräbqBj"©7-<÷/|LËý~×ܵ*›XL(Z3îÊüFmÌÖ²tgÆ–ÊÒWLŠæVèÌ–02’‚çÇ‹S'žiøà,!¡\Ã-kžù VOhe Êj¨ä1Ÿ–8,ðVžž`ÔÅ2©P§kuî9•Öeݾ!9ÞŒfPbœ³[þè:HÅ[+åDW•èF/V*ÄéÌd2_Ezbêˆg[¦Êìµ?Ý‚ó¸ôxhÌðL¡[o{¼bŠ-§Ïá§O^ÛQ ­o’LQ*cOƒél“­í$0ÓÅ$VÙïį%~ÁÀiNoŸÑZL¡ÜÖNY˜ç܃è¾Á¦_ £Æ¬x=Ë5@2y(j‚Vá‚B‰¦nOƒ þR9…ÁŸO VIôâ1«c}~ô¢ž›F ©~O¼¡“LmúÃt3XfQ@;‰SõÙÕµÿ-,.…ýÉŽ‚Ô.ó¥ÈË–)‘¢áÁ5Ίûmæ— ˜UŒq÷¹ëì¥ñ‚´:‰ÒÀq‹üðSúD>@ˆÁ²‡;QÄOÝ\œ×k¥f Ûõý!™v5¬6¶qZi޾ ç_ÝLô£:cUP¬TX†–-VNâë% ȶ”91'VN®>Ä3Žå€ˆ; ‡DðЗöRzŒ{AÕ£¾ 7oRC`Ýà¹G÷Ãq/â—ü»6ãiäz‰ID‹6fK¿QÜïàBAð$¹´Ã¬”ŠÙmÖbåÜEõtcÏÊ8P;ƒÛª<}KÅb”ÌÂÈ+âÒ"y´Lw5=Sæ )9ò.3…ˆÀ¥Àƒ·›aåÿÖ–\@!•òNé%lÑ{éjF­­Sw÷„¦¢ðúñâSžoeÌNÜQÒ—²XÑÿyœ¯-äØ"¦0‰]Ly{ÐÈ×gtyÝ\ÐòuÕ­èaI…Ù;.ý̘+Çuׇèo» ×àî¹ÉÐZbFSõ0¬’vK9Å—åîèðÿùžÅËý;ï‚ôeÐuðØ ±’¤› ÙкFÀv¨í²ÕII. Ï|šbð6V¼TiE®tÖU”K´E›ÕµöÏÌûÉÕÌ;çtí n•&a‹¢uïëqcض|ö·€`ö>Ž÷`(aÎÃ1jjÎÍ.ŒíÊÕXÚ$Zë>™S”œ@¼>ú‚ Dô7>uÕ¯oNÌ F‡þ$ÆZíâRåõîP øØW·!*eÊUÁöáÕ©3e.ì 3àªåàßsD àöìÔÇY#-Ô“TÄx¸:+‹ã<³N•Ì}~dkK1Ô4­ñrFù²F}ÔUÁÜ$3Ðr‹‡°všûp6ÞæºÕ,$ÇÜñ÷+Äãýœ©Uåa»Á ½hvQ0Íu7¬²ˆ|Ü+1‘ÈÊÏÙô Óe À·À<ÑÛ¯=J¨¢Bï ÅÊBò+ ZnÄrÎ45nV€Á¢“í771¸ŽbN5¬Èz¯ÝÚ¹Þyœ˜U– 6‚Š®è"©k”_àe0¤"à|ÓRþÄ*P„éAþ÷¹òN£X¡êbËÆ´ˆÌo°]½oEÉ?.–Pù=žƒôÿB)g¾<-¯Øÿ'·ÁÏ­‹Ýâ嵟0Å–ËåÃzIÙÌÀGN¸u(že¢Ù®o,Fëô:lÏjÄÆÇm]ñ@›T›*s Úî¸9 »­H:¦pø"¶(–X^*¶°Þ/Ò.›³“5MÿBâAäiÒUìL…~ßùÛÓH?énâoñ@ìø±4¿xvbó(ЦþeÐcù¨«é]æ¢oî(±¸(T¡Ú³¼ŒM=ϰ" é„A™­kÞ»Žª‚Š~¦­ýb§L¶‚ü'ÊÞ±ç0œ„œ,6bÞLÖ'*ÇÅǨL71™ø7H‰ 4XƒÝ» PsØàˆãlG1¸6šBeSèZÎ>:øuù•Pñ*÷ë3lå}.tñD ?¯õ¹;ôž ´ÏÅãínNÑ[BúãÎ\‰ŠÁÚJ‚ÞžI¯$!ºÐiŒV­ 9î®–ùŒ†³k5ÓJ±ï½weξ׫˯ à À%âñì•miÐZ~ÞR zÐf˜†k—?u ’}%Ÿï— Ä&ßG#òQoç±0rJ7°§Û¡.gÖ½üKóyòâŠÙÿ9  ¼…Då¡j 7·œ*ø¼ÂQí)Ã5cµØ¸±˜ $93kÎôјà4Ä«%ÝØaPæòÁµÕC,ñ‡Bµ<^Œ<ݓҮ˜¹¦?ßÑ2Økë\DFh™õñçJv‹ ü_ìï€U‘Ö<·sÎtúxötÇñÜ™·Æƒ–5Ée-üˆUܜ®Ñ:¹(FwwÞ…ÀkLíˈü†«¶ —³³›ÌªLõ¥Ó/è§.0Ûr[/rÄFMΉý^½èBOï61RÂG\øÜ…-üq§l@ZÛ¹ ËfÎ]´Ñ€Øëbª“±hK‰þ€ƒ´ìáßïHr6C·jOfdpO: |­ûC©it ÙøôöÔõ —9Xo—7D,„obcÄ7Þºé¥Ë˜ÛFrIîÝ8éöCÏMËzUs}±¸4æÈ`ÈP)›—ÅhaÏS¯.h †RÍ(ŽÃÆÄä}Œì;7S’äàA ³vî%yFóhX]ó4Âv–ßÏã}Örà”aÀOÅ}†¹„â'g"…7¯ ›¦8œ„Vê3ó!!¹7–ò«y6{pÀ€ø€AXç­—:°e€)Àã“-ŽñšÂú]eG_­æßÇó1ÒÚM :fƒ‹kˆ;>ßW’Ü4/cÄ‚`íU–Û¡Hɇ±Ž÷”™â ™¶\µ,Z?4SO žݲ“QŒI£ð奾UÖðƒUQ}ز:¦UG« ¼¡@TÝZrŸsÕ¼j^06L=ø„"¤éÆÏO>õä¤9uaÜÂÚW†¡ú:mÛ¥š £w´„a:š“Gåö )ÒœtÖˆ÷?¯T¦¨:r²öúô¿h±„󬲴u¸ei÷œü ?rÏWES[)˜ìή0iï¹…ŸiƉ¿ñì,Â÷úð1%þ*[ŠCXÅV¥\?@â2ë_-su‰¢Í;£Åçm—°¦(ø'•Hå@†8"݇€3tBUËÆ¡dÓ¥ü±o2i\³\ÕÐóN¯Ê°µ?ÉÃOØùs‰D$𛫗×ÖËÌP8XÏÙ@lÜV6 OuÎ#2BÇØY–ø±û!Jí W ä®N8¬ÖÍŒ–¦ãr»a7|y䜚)åà.å¾s¥a=SÿNÓ°aÖÀµüj½äûãKçÛ¢óœþñìJEÍ?Ã+2xvò€¼•{SOËe(¡´‚:?¥·Ãá¶eû ª‹9¸L”¸@›‚7ß…Ç´î¯P›}ÉvdV¡ âd× ¬ ·,ܺîéÿîo9e@vÒ’§¢ݱ›Ê5êÿ`K.=¡ïåÑûáõX5|V±¥@ÄË\š35E;6CöÍ YÏ“6Þ«àÄ…íD©cËl AÊ®rëy–ê5iÎrelkÔ›gPç{f7]‰oV÷˜^a83ù0³jñ4³'“i¨ Ø4v̶ÈÐð-—u!¿ Þ ö‹²´÷±šü@¢IÀÄè#¯°‡‰˜© "@ºq¨Ó!4xð>\&8„ œ÷í'y>d¤Ç‚Z¬ƒ’ÏâþÉÒלÎPõÜS^èUP¢OÇ™LÖ{øÕ¬=Ý«!Õßõ±‘kØõ÷½ª|®J—ð×q¸nV{|—D4 àדRù…tü&Ö Lƒ*Ñ_ópb‚ "@Ëû.ìË+‹K­åUF ;ΜÓB¾ŸúT»AàGÉvs< >[‡^tôC ÞÔÞ6Aç§A%&ÿQÜ¢Ìýý…I¹ñ–ZWaÖûÞ ”wíbhàN8-|Q„"ÌÃÏ€Jâr[à<ß©±“’1¤JúqmxK‡*+}3[2Ýw1ØåËgÅœ8ÌùÅJŒlrþÞ = ZÙlþíò!ÚàYM†ÏÒ¶Ò‚óå ȱÎ=2ÌMý ÷cÍ1Û…º†7æß³üªd‰DÖÈšc¹ì?ŽÒÇ5ìIŒŽô0SÄë§6kßýc÷'Õ$T2žÎ¨ DªTA|~úË'‡*ö+ô—Cè*Ç-ÓU]2ØL LׇwÇ~ÍM¨ &¯Ÿßö™ø¯hsðÀÝKɹJæ°ëŒü•î.zÌø;/¨©GƒŽ*Ïrr}•qµasèê8jç“m”²ÎmK|8õëîÐîèEÖGtg÷ù:D7lÚîbdö[ó® VÛw³•$G=Ÿ¤Ük\+Pô”?‰Ä.Wwÿû»‹ÿÒÑ$™Ëü~‚„¸ízœþ3ß Ì úiE83´¯ÂM†ú½»~ÄÑLžžØÁ't™FDìÇí3mÇóE ìNÓ^Ÿµ[Wó# X9r ]òE‡¦w>ñkÚÌ–õ øKõuìÓ^VN€åçyqøÏžýu&l„&°TUúì3ÊŒ/Û%ÍGÃ) £0J¼Â̱˜ˆ?'û{•ÖT[›:[KÈ™eºëAâNÅ àÐæžDL“ ëp@pî}>÷C伄-wr{¹ÁþII%½Û¨[AÂÝà½!î}2y…E†ÔNøÃI³Ç5T[ÑL&Ù˜7–Ëåß7¦¼•tª‘üCõ¿øC8\5b¾°Bç¢[¼^ù9®ÙtG?KJ¥bAÄîJ$S†Íûöè  ý‹ç6†ÃfLG`òrO{i˜k¡9à jáf·^ó‹vJ™ŽÚdÐê"fÿAÃ`2*´~sÎÍàžI{J’,Qâ@“ˆ‘ÄXy=S46Í@…ÇϺNó¢z–~¼n÷`ì.gz{™ØŽB|6ëðÊ2¢ËÄ „À³Ï[ôl;òV•C´{»IØÖ¾í†KÄu_R’A˜Í@[Ùì TÊÜŠ¦ZL'½. ‘8Éî<'ã¤×‰D–JH–eGròeѶǾvd\.¯ó´?hç§¡Gº­]·ïG|hÅžÿÍë3Û­µv“*£-ŒÉf¦Œ Vì,nQдΦf5™×Œw:´^Ì nºAÊ®dZ”š¨ 'æ”UäÑ.—Yˆqà¡Ë¥TOJc_7ÃR[0![yoMùÆغÚ{ÚÆ(vn7._Kª^ä>FR8Ó2 jD§Î+Q@”6UÎßÑnœìF¨ŽÜÐãt],]“p˜îKOPâG(*}¾iKIBñ¬SzÖ$Et9 +›úCƒ‹Z…§;=b°ØápôÍnèÿȬ¸CY*ü‡ýÉûB«© ã¤¦$I,\±Q©N{"œNOX“Áùn>çÜ™Bä롎lý1M8khÊD„ZO¨8™§LrÎ/°"ä‰ÜÜkiÃ:†9ÔÐæ£Ñ“a¥ËÐIPÅ¿]˜ÃôšL𣥎χòq䈌Ço ZÿÔ±ñZ²S^Ra÷¢xް)‰(†À²›ˆó3?«íU»/ÿ‚̃49)˜±“±G™'_wÌ;$›”Ë'àËJ΢J „ê²e>*1rŸ Ûú ^B_¢¼Œ-jK)È[ÛÌWæùõ‹û5÷¦Ÿñ¤-§ŸO¦¡=eáñÔA’#ú_"°ÌZ†º7‘ÄMé•LbZâG’E䂘D"»ªX@Ë?¸Ç²$³bí¼Ýòº…â/äÛH%·å×ÏüÁ?¤TÀ—}^ݾL\·È^ŸÕ€ƒr_áùç&$jQCøbƒz§¬uÕðø;yÌü!®kEŠð­Ä^³”«ôAODf?VYïå1 ÃüP¢Ì€îßß`O²Š±˜d4á¨Ê »Õ—ƤØÝ„Ÿ9 Jœ~5Íåšê^G¸0`>«~ U7Zzs¢I# K#nµn6@Ù&à$Òý%ÂͲ×2}èW·õœþ®b³t}yáºÆëÆözú8Ät8Lðói-p ¶ñôB•=,F=®Ÿgž¥4jGÃdß3v­ Ü–…c8-¨ÈJæó]÷Crg .¯‹r £‡‘´^XîÕæ)¹9÷Žâdܰ¦¤Þ0GF¶4ÓŒW‡:j¥ÁÉÚsëݶÃæ9k ,]סiyM{HÒ(º©h¼v2ÇíË9þî½±:ìÇùÏ|&lÐ%þvÉ ¥›-“÷¡Œé<“”Äʱ‰n9( °òîGŠ™_uÊ…Èxžœ¨·cÐBÒß3o®ØÑˆN¦gãj™¤­pšB‘ë9e½^©€H!©“¥×!Éxq• KYÎÐvãÍã»ßA­‹UŠ”£[FÒ¹ä/½CŸÅþƒ‡½DŽžýQãÝ4-X%¢@C+v=X®:;$÷³‡cfEbG›Ð*¹êScRy¢˜1-²¦gÞ{!Ĺ}6€Å-èmºw…we!ïàEzÖT[³IÙw¶†Šø†{¹ñ&í-º?û ¸ ßDq]GÄÙµoyÜÁºr,w•WŸ± Æq€Ö놰 ²W3û,Tôœ¢Åz< 2ÈNÒØf* O*êå¾û"™Àœÿ `á&<ûJW´­OÌX¬A»GÇ}=ˆ ÿ6HQ½õ·žž/%šù¸Sý§pÿm•è8FJÏÎ6Øÿ{o²tã|E¶òü™ÿì*hôaõ…"Q{Í‘óÛŽ¡Ó‹éI|³=5âPjj¾Í•"qù'2Âþ#åFT‘ù™ª| [µ‰ÊÕ¨ª3ú¦tÔ­í?"—/É€%ŸïLèù[o" q‘ ùVWoº@ÓÌTLöIžÁš‚qÁtÞ–öŽÑDÝ~³ îg­B}•ðRVÛ÷tnPþ¿£Á«Á ¸KÞM­x&Ž›ì2bˆƒïh¼edTŸÊ#Ÿtü,ñ BZãÞ!MðWÏ»ùÜœËõ—#!ÄÊŽmíUŠø| É´XÅõùa”õ®Ó^Wµ‘5/³¤†œ+û“Éàr†c®ÂÄ8½'æ.çáQèæù補ªhÝÔŠ›Í ÉUÆä4…½&>vúØ×-½!: ÊfK3Û4ê^Ïk%Ô‰À€Š³Eeòö¢QimÄn×.6oí㉯FGËòíËÇh:á5“»fºæŒKË 1¥úvCRHïe¯œ÷ÖÛ‹u•êõSai÷5ã¤ç:‚&#–¢,î3¶‰FŽQ„¹Š1*P³}Ž:Ìxž‡èâsqö¯=¯ç7Þ¤¤"rÂAm´N®<¨Ú¹4½ù¡–¢Óø…#½=O¶§5Žrï™q¼ f’?°Ñtða¦+Õýâè (>fy ˆrñÃè· f‹GÁu‚“Ð x‹$&MLwõ䱿 éV©üjt‚i»8\ȤݚkX›Ù¿~tøÐâCÅ ¼þ‰^LÓeÙÆNå× ²žñ‹³ ¾r@?ÏÈ8±brE!zWg„‚‹òÑ*Ñ©H£v‚@/Õw0˜?Ðo"Ézž’©Em˜Ý[uÞŽº©ûº¥ïéa¥½Nä‰áÜ5T&¸B=Ÿ¢7D=ÉË\»ÍË_Ø›Å| ÓqeTóŽõT>Öl¹cÓÎìp=)¯ëæÝ½uÍ/G©Z«Y¿hÓ¸¸Y…ŽDòùIì8½xÈ©×_st~/(è®cD®¹~z< cÈÇÏ€6Ë(aÇÍ1\á‰Y#Pà$QIC1[sZ‚Ó³oI‘œù§üÊ\¨ÇN¶aÙŽc-¤º\H²IhJ‰»mF2¦áŸÐÀßVWÚ‚ÏŽ–zÌžÕöé:U~\–?ï¥{˜2—ÃÝQØgä˜c5¥ä_ŸC¼¨ÿÒ>$»z}Ð í1æmÿÔ0É!&ЧØGŠõ¡d‚jz™þmŸe| 3Ê›ÇH%Aa//·ñl&xæ~„áÝícfÌe|Ï;Y4O ØÄöËN¦nóÖo€6Š¡Ñj>,ÈÐ{ãøtÑ®þ[{äâ'‰D+(ŠpZ<\VÜ÷•¾\šò}Ȉ)ß„u å­WÄ{$$í³u¶÷äiÇ‹!.€óàðÑx ŠW7ˆ¨OjÞHš¸mW9朇ûC²`ФR p}" ¬‹²FýjáAn‡Æšbg'“¢“Ûv¿Yj@³b0Š+—ËÒ{ËÑ ó]·™H=ññˆ×™;­Š.ÿ,¼tß“ Äùl÷ËE­:gÕ²z+àMëÁO¤ýiå,~÷tdçÄ3…?sCL(ŠŸ?€kÈîÔ”õi·nNaþ¨º6 TC7s·‡€ å‡*á, µr7tvÓª`§~ëœ &q ¯3/’{M@]ÁŽ=1ä#v׵މ £ÏøAp¢5ùdÙÉKC„µ×$ð@ *°õ¶ ÜÑ\:'Äz†DYQ äÝ‚>ŠSÔšâKasM³AÜû¥çõgWá뛺];VÃA*Oâg Ìæ¿á–ðtË……Ú“=[HÀ¿‘ñ «©m„_Gî“?yΈB5HHV¸l’ÎÀ½S» ‘‹T/R¦R²•LÃ¥cû§"Ÿ°]œ<‡pmt¸´@mx§æºŒGêC›Ëç0’12èÒi,0¥>Š@ʯ¥ûß„E™«ÍYs{?îKÝü§a[ $Œëmàí¡Íi]ÍhNZôªSiªhK ôÑäS/B‰8Î'?ꤡÍÁã†ã¶]MMixCét™³îM)úÆõŸ² ºç€„)ÛÛæK¶À¡è2A 'd«§ý¢ú»<5•ŸšOÞ”’¬L›zÉWÞÚL,ö©†âÀ·*C4ôϹåŠÚÞ<ñâDµ·Î}TŒ¯Îfÿ2ÙÜWIUìœ!®vÃøQ"\…&°K,²®ñ¨¸£N ˜Ø‹ýB>ë'Å-i]g0 ø‡{F÷çù?âÍ®:™d¤9$\o¹éù%< |YÕÂϰú×!i3ÖÁ!ÔÐç¤ @5Š78ÍOƒ5ÆõçtÚÞS{ÙºgÄbÔFd¨ÏÏÞ"dï“wkÐЮË)Ù€ëÿ0Î-O¯21áÔ5]ÐV/ÙIÜ.áìTæè£Ë4(æ/côŠ+ÇxÕËÊWšfaá·4äw½ ~Y•O>qFÊAŠ{õ¼¹ä‘ƒmüZI‹ÈÚ>Zû·–µ»±ÑföâŸ#b++KX­$wMk³ªÖ‡ 鬂.øÞ .;Q"=¡-åLƒO $Ã'ªÙ5¼ßPóŒVCv¾+¼Vؽª£EyÓË4)Þ- ‘_²ìEÏÑ„Q~Z²%ÑÍŒ‡N¶t¤Ðð æ©VE»qôyûž.7ïˆ@j*B-ÅŸèas ±ªüê…ØÄ¥¤&ÑT‹¯)$ÙÜ7}¼ Æû©zÖD£ša=õå­ôÁýŠ·/&NÔN‘«ñ&­ÑÙWª]H™žëÊå/߈F´è‡¸YR²Ýr¥¥×QÒéGP¥›Ж~€}aˆ.á†ÐC!ò_ïæGÂÞï´rFJ(~ßVKT;fnúOáås %¡,RÏ;Vd€%Aûè®™îà¾$¦}ü¼MË*œÒlA 5u”C:Ô¹—åI}ûÞPn†œT—õ€îú4tYû uÍëö†.÷Fï]a=?Z¿'á6ÿò&½)êÃdð~Ãáýó\šIÉÕô=3±êïQ É)ݽÔÚýû¸zìNT*šÑú [KP‚Þù €ŠÜ®M­q!›\õ°*/zEÄ¥^ò_9+º®Ü2¶Jg@¥¹ ‘æ5üÆ¿îÒXpÕ Äš³]q˜Ž*—HL¦ö’Œí `ü~aÍ=‘VDã¹Ó‰ ×óì’‡óJL æ÷Éà|E³O´z\Rç W:â䥉ûA˜dõnuQùÇjŠU¶-NÜj»©ýYa‡VF¸ œQ\Ô ^»èÃÙ¬ŽšœSÝ/¬MœI5¤9æ*MþÕ̬žà@ÿƒkM;J=¥-Áýš Ä=/Í£5âÅÙ¬MhÄzØáTÔÊZ.¿Oy[ÓäW´¢ˆMÊõý!“®[íuÆ÷ù»TxÑ0¿&˜Û 5Õu¾¸TƒÑž€Cµ÷P–™y _¾âq¤­˜™­­ºóÊÝ(æø2/¼X¦þZKé3]4nèœûðžecr͸ôÔ¾1¸GöBÎ~ƒhV‚žO5áïëö½ ½ñ Ÿ‚ …¯2&B åSÖªv*¿X~ß×'â1'UB/ˆÑRƒª qøeWúEëöX+Æ" S”¶f¢z€ (àkTé±,?qYÙ#¬Í/¯eìª.,Ÿ+=°½ûW;·Oö\êéêöteoβS£¿ÔË„°ïFÕ|ï‰Î\wµH:ǃÞ%©¨¬«¶ô3žÉÞkNÐp2 £ÑK‰;îoÒëcèÅÄñG=k˜tw€_(™¼Èn`™ØP¹>¨#­Ù¸+¬7V#ê³`r¡ê ô¹œîM72¬dIK¨/xNHgµm݆ù‘2”“”òoÚÛ« 'ê†zð6tÌíW:¬ ã·>ÿ¸µ³ÝëÎÝÛ×ñ“~«F§âb÷:¢ðÅF=¸Zgb·€’êâ–b×Ó«½Ù×ð(¿Ï¨Ñšv8=3¨Ý,Õp8qJ<Ž`[¬%“ïNú•Y9g\gÉo;%Û<ùš¦ç…®™ª»£óµ©J(ͬBT™uÀ]kEîBmN±oU΋Ãfî±;dÖºú ’ž]Æ>}hIuˆ‚:`ñû~ƒ…UÖ‹/Px ÈhÈüèÐÉš7ð#›×/¢ØZßÖú„iœ÷N¢@™Z6²’’ :P"ž›&²Ã6û-FG+Ža ©™¤ÉÛè-)ͧ¥I'{¼r•Œƒ—^$#i¼‰_&)”'@ö©ôñè©—Û Ùç膈œTcF;ü¤ÓL©h;Ö?„ÕÏøX¸ç¡ºˆe03W÷»É}¤CñG¢Ý#2‘m]`^ ý‹c`ÛœgÐVßSÝÄÊai¶Cno,2‡}\‚mâm+ËíŸ$«ðA—tâK رÄ8sl‚í0³É;²2ª’âÍ/õîàR¸À´¥4ÍKN¾b·ñKö:JÀ r‰¢4~uZ<ÁÀìÔì‘0ŒÛʸ˜'1A-ï*g$·æ&‘”\n©¨»Á;v å ƒÎ~‰†¿0M}üÄ\,7•ƒÁîÅzˆeH`ŠÕ÷½f2Mó[¹JOy¡?»¿ ¾ÃgŽ\;Þü¨;ÆÉÅdàô¥îG _ž¦ŠKw¸ÎØÙƒI4 w{-ä« D@Þ\Œw£²`kégÑÀ \£õuÜ:H³&(µæ§›Úû˜%û’ÎUìB­Çü\’â=ƒú±"(¸5a”ª¨Y2û¹qî«Qûü"G;w ´ÒæÜìeêËú‡àÈ@¶ý…~p±/íûć– ÏŽzŸë¸Nî ±å`q‰Üª{˜‘Y˹}۲ʶW€+–Åa„~4‡ŒÚQÛv 8zKT]¥/탺ùãfã†d3¢£a=Ã|ÛÀ†û¸W ÄoâCëÄK­xXü6L¸eW )xgBsⲫžŒfºâ†1_!”LZu“)öi‹»Qòžé|øÄAw”<ËÛ†, H¹C_ÏÞ>šÙjÙfVE{Tzë!þÑ€¥«Ú©!õòHáԄ趃®Q•®©Uj‹Ä­^°r·˜úa׈ët ¤P;Ç'ÿBãaNòé{TâæÒôC· eX¯Ë[û@¢SM> .ˆ32ck·¾$ú@¾Öa”é,gJ3ªÞYk6„ÈÇ·Ië «mÜey•f4ø•"zöNÜ•F(Æ-:ÍÝ‚X Í¡‹æ|#O‘¼¾¸7†º=‡",î0 „Mr…݈Èɳ"2ú- &öã^oË΃c!I©yìÇSä#‹<]÷ý”uäüˆbºfe1F/\†æ``8Ⱥ_k®÷ªgU#.l³(,vé$˜´£u v)U+©n*~óÊ Dƒ5¸,¹!Í -°Á–ˆÇ6-nöìÂOyâ,€Þ«B,¯„®ÛBG0Û2èS@˜ç_ܙ̌ŽV.ÞA°yÌTìˆíëÊŒ7î@G”Ò~½þ×£a7F¨[À&3'»Ð€y8áãšö­×ЛV¡ß”ʹÿ¶º˜.«Â&¢å‚â¹k…é•ý£ö}ay„öþD çô«P'¤’àúýSËOý ½ˆ¿„¡vLͲ÷ò £º¨-ÿÿC£g*Š+•;=Únç¶}ÒËNi}ê?Ñ5‹†áQŸ)+Ö_Ù¼t¼)tl¬\Ší.>@ älZ~wÕ’ûaêë׎Oõhø[ÃrT”d5)»ÏP±dþeÏ]ÏÇau—\oÞ2)†T+C“•Ül?†VoŽíÂ‘ËæjǸþãć ÊØ»…]ûš93F*IØt„Ý‘ý]¿ùg1i 1Gš „Õ=}™ê‰ ¦ºÓRþx6«Û©5ˆŒØ ‡Í`ÏëÉ!ièϑ轼¶’úí³Ò*‚;P“€…té2Cà˜t&|^¬ ‚wÎæ®0y•s(“ñEsñn·µíÆûÛãÀy.WÏ'S´×›µËæŠì m?¸3füû‡õ£и\¤ÙK,å0OÝ :ê ªÁ«{_[žΙb°.<¡<áùDÚþ,?xÌX´'p©»‹†Ë}f¥ß»ãíèm,d^‘s:pTXÏ&=™aL(”›ê¤…([eêÍåb {Æq)ìñ ~Q›p÷oÎ^I JÈÅôàN‚AªŸi,Ï„ÉRtD¿¹H¥0ý<9¸VŽš§? ®P“Ú¾ì1éGx‹²˜[º¦ú‚±‰,jvºM÷òÄ×'„:é´ÿêÕ&¢ p`=9}5iŒ#Ð1Q¸¯Ox=d ûáôRåŽd(¼ŽýÊ; ¦ŠÂçL_膔—Ÿx-½­‰ïËg&"f17«0âdD0јL$ÃCž·ÆòÜtÛšæ«©e©áZ»rþÑaâ)öÙéÍIYÞ1׃2«¥_ V\» Cr1ÎDEñ…‰N9ýÿ ææ jUÛêY™ßI;Ãq0Ã(L5àFynàÔl£Ayýv–oãåfŒ`‹GW‚ž`Whð;ê4ûÎ*:âf¿Ê…t† ø…ÙìE#•)øÍÏ^òënñPhÜ`}Ñ 8eE%ÊfmÒ&ݾj,mÂs¤øi¶K”Ïâ›`2–ŽgX|´o§ã¤%DÝ·9},ØãÙk@nzëÛ~·}AŽ…´€ÜU’έf—67 ´)‹ …ì)¿Ûú)l¶`O_Õ\¸…ô^žGåÄg£+½q*Çìö~ݲa?`,ƇÕ0s ¼Ã[ô­û˜ V¶Ÿõy? g•a¿Vª7—G•ôKh|+F‰š~h»WÈY¨çÛ5å÷¶)í”0”&¥vãÕQ¶jüáÓ¢fBXYv®º?àŒ˜ŽçC…ó­ù9/·nñ-Ö»nô˜ C„_þ5XÒ¹žêÂFð¼Fs˜-Ï.[ÆGhÓ5Çã6§\G`…s[¼%|=ýâ‹¶’<>'³Q8‰Ò ò ³ÖàonÆíö¥¬7!RcùÅÄÏ ¶:ßK™¶•|<ûÄSµš¤½ôS¯Ÿd#:ÈMÿ=ÎöÔÆ ­¯%Ùjš`Sêøý¨ðACÃß­ÆÚ‰=Ò· àNQhبý(·#Ô†Š'˜ÎLЮ’Îsñ¼<4›×Çl>‘lÞÇ@?%û‡ït¦·.¦:4ÁÈÓÅÝFã‡3¬_¨azžÂ¥´úúˆ¾ò ºŸ’ÁPLjFõ³¶Ú»‰dÌ£…ê©ß¿LûÖv2?O‹€I¾ÚHvù¬o,[wu–KM÷òúïK¦±œé2¬»êNb]w,§È:,æC)¼ºš$&zÀïÔÏVoTì$Nÿþ]‘goÅûD?Ü]“Ÿ$·ñ\î·WÕacÑIpýÖêD•Ï£·SyÉq³'Ù¸ñvgÀx½ì¥IóBžK ƒxùX/ûyÙªã3 aݦuÿ7tȇձ™½ßȾbÌ ¶k÷—³,îò¿.8æ4îïšÜ Å«œÈ?üƈÇH¦:Cˆ‘› M¶j­yŠ-ìÕ>Lï\Ý«dÚÑ‚ø©}P½Óñ¹k¹BCÊ‹zïZØ”‚Ü5°ê’g[ÕK«ù¸’Ö¬½ßØ Æêl†ZÍÁ&îgŘnýà~ íx˜ WAy¤\~¤7oMú_. KîØÚiñB`Ž“\bŸæcE¬£rÇ‘—à,€•›jñÌ\öˆ@\†À+>Ù*2ò¯9g¿ Ö;dsšù³IIúv“-J›H¹oü;Ž]tÆôËD:tx5”¿h¡ÑwÉuû¦Ûg qÄÛ–ÉÏ“ûû3›Û屃‘-üŽ «l 3'Ûhĵq†,´Å—Ë1&G½½Ò`<º Þ®}i ‰F?ÚØé[rYš$$»P€` 1Õ¹;ãö˜pt|H÷’ æ OeÓÏAˆš}D¤¡wRüLìÿe¦÷ºÀî½%]òúBZý™š/ï€o(Á&•¯‘YhB ,ïÐV»…-èõ„ðíÏ“É4ºra°ªÄýnìÆ).î]Û˜¸êöƒtÅ\kèˆ~*(”:2ŠT´œ½ðŽ$‘Æe0m0¨ÜÎTŒep JE‹†×ØÊwQj@„´kÔŒ`+ ;}¤/êl7ÀëúžŽìlWEû¢lEbNÑnê`Ö]9­Þ@•)Ùßó5nó¤€çFÒÀDâî§Ö¯˜ž°—`†ÈÒƒõ2g«—¼Ð›ÞI"´Õ€SÎIqr3{‡7c­0+0Ø…[â?6$îûôg´F0PþqT@¼ )‹!ÿFt/ÉCå¾yRZZ»S¿IQãVÆÈ»¸3“索J<Ä9d>EEî#þ3‘þQ`¼ú«QÎØÇøÂ†&^+«´"îkÁ¡Û}@ôh>1$ø'çñõX æd­G…vfYÆGÈ-8ޤLñØi»¼ë/di«¸Ž¨™Æ¤Õa{°?("6˜ãÊMh£©1S\/ÿØ c!R¤ã­½ ý,gëô¡ßºLu±»}T2]Þ¦L"™H ÿÓ¨—êòj r¤¾"Âg»X¾Ñx9çìú yYWæÊÇp«ý=,ù.ÙO<<.QñÿÝvs[«¿Š'‘±MÊê5…€©Ö|¬ùçÏðÛ*î…>†@?ÒÞÀi‘ÅŠKòŒ24@‘ó²"i&ÍæLAcÅ’ÖQéÎm:…öoèi©Ã ²-óÿ# Ë ê MlxjL1‰‡Þ‰A®–Í÷.d ­šé\0Ÿ†iÚ] RG‹ÂØÍ)°èzò¥Ê¢Xyb×¶ÉœÄGx\`Nˆ»¦ØÐ!] Ø*ðb¡—ôçJ™.[ëhçèM»Tw™%ð»¾QS(~Ò"4£?œÉ÷ÀiyT1k’ÔÈÏ>Få$ i\Ï…4;èÙ ‚ÖS÷‰io·2}y©É×Á1ïüI‹Æ;HÉ>gµ Õø÷üˆ½úè] ¦b³ ÃnêþcE ]‰ô`ýºõÊ)÷„Wä&w¹fÈzãaâ^KaÕÑÑ&Q¨›Ê03¶™Ín¹nLVµ,*O´ÃÆ¡˜) !Žh_°¯Ñ°5«‚B˜2Ôü¸˜ÙÅÛÒúà° .—ö 6!¿2JµIIÿZœÁN-Aí莈Y¸Ò…­6uÉuÝ}úÍWƒ D„¸|ýë¹2ìp†MY†Ð6X”n骋×%îMó®‹8`?¤nÐ[L)Q¨çÌ3à+K°DS2µ²Ú¦õáz‰J¨¢§¦íÌtzßÖ–®XÆ¡ O©Uó>¶×FíE0D¬à„ÂÆðÓ–t.ZÁ…¯h\*vˆCÃpþÐ?x îyö"AZÊ®j†¡Y&U_¯µv’Ì“ŠŠÎf”“€„°uužÒòÒìf¹hEB×F6bëìƒò6¹ºíJŸœÌD]…ýC©“¹Ä!¢,‹fE0Ðp²(س ±©ž/¨,g!¥N«nqêH[DÏÚ¬¡ô§&Cxt°4ùœ<ÿéX^ ûû'P&Ðï=½Ä›&T¢åÖŒ’ጾñÃ,Ï*0’n·Y›·@»ÁÏÏÚKL¶®Äõ½9Ñ_/ô­¹í–󠀸r·÷¹ýÈÜ<Øur ‡J6ÛÝ5€¤Üèo j›^xã¥[Ã"~ÛöÀŸ Úœ‹!­÷ô‹UÆ…Ï@Do‘¸Ìy®TjÆVôÐá6´‚+¡Å\E:ÿHjWÈ6;ÿ×ÜaƒÕµZwÒYš)ÔUñjÑ¢…F“dý¿­Š}·Ö²IÐÊœ˜º:7ÛùŒQÝÄ©4­~³*„c–E È¾ß%û®Êø¦“=ˆ¥¾²–¯"¹ˆÃ¨îIÅLºÎ=øî¾ãÒZ>§B7ùûêægÞ' šB‰RŒJ^qUO@——a¢%õÿ#\Ý „¬B‡æ&÷‘né3~=â6]áw™’=5‚¢L6‰þw±Æ0 ½×û"ÎDµgNCUe3|”U7ó1Mf®Õ¨þϱ6ö¸×ë¶wfR)LµÃ¦ì»LcçµòUŸ™c§{¬ {lO|Yˆp 2ÃÔ—2?NcrRÃnÊ.Íßœ ¡€ðÚ…*Õ;w l’åä÷ñ‡«¶²[Ûð9¬s,R‰Á9ðç’°ô¯’Ð*t]÷­Û<ùÉ&>&WÏí[:ÂåB€ÿû0ñ PÖ–ãÞäçä|þÉÕTÍ·.Äî7S?¦ÌÁ…Ïça© èú¿ù€‰Ð1¸ ]08™Âs@ïl{… íx]{ c¨*7PAh³°º;^)õ'UßeÒ‘_`Ã1„zF’¡ˆxÿÉ„Óy®[³`Éñ> ï b#… ¹¥@å®…K–òÑev23dÁ:Ö©«ËktZ¶ÃR!ý6ã‘lÈϘô¤öEgÆ\&?cå߈ÎluQ·3J~éÇêUŽäzð€Pà&)£AÊt!ù šdä´£^f"!+›çþ•8¡õ9VÕÌÈ+êÛ65B±³ofÖ !d÷!š•iåZµâ‹Ò‹:ƒžÖIrûŽ¡Á¥ð°“GŒP\ÏíØî¬þVMr²›^)l$q-…Ñʺ"¨i`íwœc^¬N?›ŽE즲‘¹t´'#Nq¾Ñ‹®@tƒw"%x¥«k: CZÌg˜’Ö’0ÛÝzdR9²,Ý U+šèëe–Àâè„EYa´2¦–žBûe‘5ç»bI—:6pËÇÊ}ìæc-yZ£Yµakß/€‘¥®ásÎD'T4fy M÷#¾Úƒ•»ÙX°hÜ3Ìw ¦)ÉæžÇ†Lm~X˜§Gí‚’>uMÈc³¯‚†Ô»•BwC9TÏ¡UÈ}]Vt0Ú5º>h¯}n«SÌÕQ‚¾cíPp+'’Ý?d»ÅAz_ÉÑÜ%|úA &fŒ×Y³‰ë¿7Y³þ0Š.hh)¼1Gø"Í›”ÝUù­`[¨Î~„A–µ½]ó´ 6TêÖufOQ´€¶¬u»xo*mQDÛâþ‡¾'„½®Œð¬)‘x¦XƒÜ1 ‰‰ .s^Œ6C¿ÚhŽý’TXÝ&«í1ƒ4}w›À] ™|jXAæUÔËdéˆ×é@Ý*ðÀÕ`Ô5–MÙò¤æ•­Ç蔞¥:O{^Šxº¢3ãú¿S fÁ¢EªÉuAYžd›FYOµ–‹Ðܲ ýlï#Ū©zoƒ÷ñ­Áø}byÁILPÇ¢krZµàÕ mËn"[?Àž­‘^oððz ð«OE])”ÃxRÕP|q©âp,†\È~€…¯kMD`C™·¸‰6ˆøë#°a¿¯ïQ·‡<Ý#‹/®<<ìmhX[ –3A¤ytÕ|.Ëw~bóá»uЪŒUyÝ™| ½¡Sü•Ÿøõ\餲Zbð%2/KÌÍâË”Äcœdg®Qjü"¯ïh—w4 Ñ%æ åü?Œš†P]Ï€ú .UìŒ1jÜC’ŒwnVÏUTgoX2QŒnj[»ÚRÓú´5¬·JÙœ†‚æµFƒ8Ø‹·&c—êàÄ-8m[{g·lÊ5'ýðÅñ&m1¯­¾DÎ>Ãa(^żN£j~–¸u®5.£ÿºÇˆù¶v=›(Ѱ™®/íhç–ѳ؀4¬è}çÆ•wß?V·û×Ü»ìLÂ5CGZèäð{bÄ5k=ןñW±õ. H"â1¦8¯žQ§ûuÉêÉ+;"~‘òcOgâ}#V˜WH‹ÉÁ9~ºaÞÝ8I-0y-xÌ`¶^;‹ÏwÆ*?/–÷áÊΗØqLe’‡µBð¼HÛž¤¨eX¬g­‹ûÁoçð´±´´ýö+¥÷ Iûé’v®&TJk€iö³L•iñJ‚uí]Žþ$iÐ+÷Ömºp\!Oƒ±]DÒ1µ,{fb:˜‡+Â;Û:$•×v–ä”Ia‘‡yBçÔÜ…$OíóËÿ­!z¥å&=0L46Ïù_-ø¸y¨ëtfŒ\»:i8CU²,š j¯7lbP+G,DºÌþþg ç¬mLáSÞa¶/$ˆÆÛÜ2Véi"US°»ÙÃÜP‹¡3óü˜vT\‰Òô«m°ÚJ}Å,ž¢–<ðo¼Ììz}žàÌ|ž5N#ÕwI‹àÈ&l%¢ëOá»ÃŸØóD95±ä²•L›¦ú‹È«ŒÒÒf2 ûjz$a¶K@ +¿o1qÑ蟖¦ûˆa®|ý¾vNÛÄB @›õà ƒGàQÔ‚/áš‚ƒçòŒ¦ fH<ðb¶É'Þ ã¶‰Ñê-î1ˆ÷;åÔÖv=µ9åüÝ1³<²=jô]xkå>ÞVèä“áÛŠ&¯¯Ý%’à ×qy#3d“ÓDëâÉö;Oã_2Úð”ˆÇ$}²C4V§¥¢.ˆ‘ׯc¼küöjø]ÏeTzºÝm #yfÁvº™=„ÙŠ?~Ýj£c…£³K7—‚šÏäÜ_¶Êåð¾-ëŽ;/ûk©e4I¨ÙTu™5K×ìxÅ«ùa?†ë[YÖGFÝJOüi¬‹;b¹ÚU åPºUÓb¾"­êL%Wé±â&;:±1æ.¼í:¨GÂÞ¡YÖÜ/ôÙ ùXì&Òë'Y}:b6ìqÎÎ+Ò²óê È=¤Òº(Œ=+¬Ók%ňw€}<=­.ÊÐÒM@{4‰±üNl s;˜5q:¿3¼ +E¼`¬3Á[úÞ¼Á¿qeމÀ×Ç“…]æxƒtå¬~ÂAÐöH<ó¸5¾ÍÄš²à8å”y»€÷d»Ü‚U…À5ËVéJì 9D7*¿×äîæ7(– i¤[…Ø´¼†Ë±˜Î«ûU»ÏnI®}ÈÔɼ¨?ãf;gWfß-¸í…±•Ù@ÂMpN…Iø‹ ñÅù)a¹Éçe?ÈïÒþ‡wÝ?æ †B:Pܼ2òL!èòtòa©|¯ bÕ Ñ£°þo’Îæö TñGy eæóßãžý7lÕÚ2õfq¼Âlz_Ky@ó?lÍ}Í„kYkC%ÃïL¥,®²ZXõé†Õ  Ê ˜ódÙÔ?űQŽ6†tL/J•I%ìp=~8BãŸ Ø ÎþbýÈø–t½ü²@äÍÖO"¥á~Œ7Z„êK6Å;¼WON ”^Õ¤¶¥šL‘[ôذ;Wëõ´8íDút:P“|“…/Ñ—zš] ði-ªNn[ߌFÃ-¸¿+[Úëjþb:HúlÉA&OßöI/Äý:>7-(Ù»LáÆÕyô:]¿Y”®%´R½âdÐsÜy¯Õëï^ –vûǤñÃæ9=¬a Èͪvã]kÀr·v©L˜|ò†Àv¬ÉìEÎïÊò.{]¿9ô“ÇæV;«r;ÕZÉÍ h®ÉQ Å–øƒ7|^hIלy6+Ä•>Ú(0 /yuþņ#\–€€w[/4d#þ8;à˜:üZö¿¦åÙ+CeƒÀŒWƒzØÆ&áÑ';¦bÑYÛý9Å)C™ë‰íbq³`Ì+uÊ V:ý²gin³ç(x¤ÙG0Ÿ:ô‹&˜¿ï2|:p˜‹~€h„-A|ð¡3 1Äh˜¾ŸÉlåCcî¹à?dŠJÚ¼âó?o1ä„(o)AÒ½ £¢„“éÙ/ƒnûDC+8@5óeZ3Ü„ÓÕ'°÷Êžþ -’ ºääÚGvÐAìg,'›®R Š¡Œè^ŰB€¤A¨Yc¹Ò-g†ß¨ØÍE ‹â öÀ®iÌýßc5OjÁÆcJ¿\EÔ<:$pè[ÓJ[Þ´’O¼D€&+nOº5”ŽÐ¯Äû­n3«!F­¼Çz$­èÁ±]©ñ=°ŠX+¶ ¸“ „˃ ÛÎÛÙ“€bÛ!Ux6 CP|»˜\WÜ«Ýþ_7ÙMØÌD*JŠCFÿÏ)З3Kÿ¦Ä¨}&‡¯¿•F¤®¥j‰ö˜Ójëj¨`º°n9[xÆ7ú½²W'šw'`BA‚N3p4ÃaËpØ×û¥'ËÕaœÂž¸n›C÷}F"a†[Ö˜‡’ÂÚÜÅ èmÉ¥îxv±Þa:ÍØ”'ØÚ<20ÁŸ »s²\Uwàx3°,ÖÝ‘•„,á@ð¡v×éKÒ÷ɉdFÂÛ¹d/Œ›Ššÿ¬st²uÒðwuGEõÍfµªS‘L{æíÍÏABÛ œ±í¥Üa²cøçñÊVÖ¾›`Ô;Žò!»Cüó*>°ïúR&ÏZ3Ø-÷ÚŒ%Ä÷ÿli­Ø<˜)Æ2Öm¡@èî%Ò¹J¼ qî¿ÊK’¬yCi(¸±ÀljéÏ0+Âm¨„ Á»RÿSÛQm•õjwò`¾…]ü'õ:S|äó9ï@qš†=M¾œãXØÌ„%oóp¿¢b<¿û~&æë(ªÝÚ¾„'éM,o\•‡¶çèg ¹,ÝÝG¸i%!•ÔGSªÎNО•}E)=¡~Ó=ÁŸøPÑø,»¸äº,òüTÌïážbX;¬V7UÚ×>`Kîï™c X–V¬ßû¾‰^Z=\5'É`âugæµ" ^yœêE, $Ò{…&6•ÄÃùÜû5I‡atÇu?õ<,Åft—W„¹¡¤ —C=ˆ9:ü\l ¬¡ºt“M¬w=)¸a€Œš4I,ÂΨÿ·!#ÊÛöçËîdò \8÷»Bzz’¸Pñý hœMg0ÿx^SL)Ü{º4tœ­ž²‹ÀË(ÐC·oÒ9׳Ñ&â¶š|µ æuOvb(CÙÆ‡·o~rËÄŸ«¡fã¥ÑO)ªÚ:hj¯²pƒ®¢Nvt;¸9æxŠß=8?tî^=aøùk>ù3]ÊG_‘hÛûAA›=8Òglãö’ܵŒ×úàIõœë‡Ð"× 1-Ê’ç¥[Á=]-è·8¯—W|/Õ̾ xm¶(sì9¾cvëµ—²Zq©HM~Ú;4 ¨4–Ð*©vW3×Þðùø™ÍmÔŸhbáZ]1µ®‚€ɦÃ+ˬ@ãt£H þž\°ÔÇÊ/?«œ°­U`[ã:§Ì²iK,·:-¦)­Ï`êÂo ¿×åå)2Aí·Bß0ê y‘%7yT»Ù—u'©ö;,²´žô*?;1 +އ–hçs Y¸8ÛWÑ¿ºÙF9)ÿªHña ¡rq¶¨}õzEPý¯ñÍpôØ"åX$PCkÔÓê]«™_¶)¿“²8Z0ÞÆ„Ÿ/Úæ¥§I Ÿ2õût%»óβ—ˆ«²Ê€¸ÓH¬s6Ìá‚ýßÃõŠõ„×".$_ëü#MbiõµRœp“òd<8;Ëóvoú‰hJxz™oƒ²Y¯›ÑM[É.ÁQØûFuvù JÐÒCMG•lEÜ4; ¹®±]hO“’ØÞb€ábܯ̥uBšdáÅ.ã& =8úcdè¥ø4YôèG¨–4Úë7kUJæ÷Êòyrù< ™M"2Ŗ苨f·iEÙùé9ùEù.þOYMI;Ƚ¿ žÛ2öã–€:Ðg5E¦ZHb tÝ—Åï÷3ú‹;Ö‹¿Ç¶„Éú«ú®6Ñ&¾‘Û‚•ç`üVV ƒïuLÔÑÌç{?RoÔ<FtP¾ D§‡¯3¿Ø­ûùwëKÜoo­3÷6-%·M¯Ý“.¢ÎAÓH»ÖºÎá76àZßÔ™jpëÕ±Í*Àh<ž£‰!(DEýìè—ÛK~kEé{e—’éÕçÐ/…?ì¶•ÕšÎà»Z¯w2C†s¥WP…ÇÒüDÖ3p{ êÕTöÉÅ 5ùœÔÙ,$—°ÓB d-uLY"õ‘ÞÓ7ÊPËNAUV˜8X6¦ŠåÙ´ÌåØVKžRy ÒI½]…þöI°w=ÖUcA’¶?Bié„ç .+ÂfÚ°8ÄŸ' ó.ž~Ë ¤ðn´È‹¬ À62‡ƒZèy{ S*þfxy}:'×ýa%òh³úç¹鯼”ô óùÕ‹yTC}¥ãʧ¸ÓyGM/ªT>IOøƒDu…}ø.œãk®&cvºf}ˆ¨¸ÓRö+Øt ¸uK·uAеïÅöCî²…£eH«’¹Wê–î&ëZA¢3.݈:VTz`щüZ&nþñÝžý+XR< ÅAnorck—‹áÉf¿+kˆðkœŒK¸zŽ+&œø6üOnÑr£v[ïâƒÊó–•Hëƒcܼ/À¹=[j¹žaž*½#@ð $»õÃÓX­„N8™Ëø‰‡Â-k \]Øæõ©Ðá7¸îR¡@ÿ2&²æ1ÅÌI¦N™2@¹æ2N}Ä·°‘PŠà°.cR·†FÉse;(©šróùŠÚ À103¼Âz÷éSkŸ¢ÝiÞÂy9|—¥bø8ŒùÔë¼ç³Ÿ¬f:Dâ;Aêl‰e~|!OŠp+Þ¢¶Ü!=µõ€T<Ñ´!Vx¡Å„ZDª¶Ìù h"þÆ"P¿q Žž­ ¨q¥Ù ’cw(ä^ƒ&& Î/ñ’gv[»š©SnȪ«—½©ó»?¿ØãÉmlì’˜H1à Êáð~iµ‡vØïÂnbDzàJe/4ÝË¡g-›÷”à=mÚvP™<Ëö®*?Ï ZÄ Š¹™iWSüù®ë•X<üð&¨Ét…½±äƳ×ð-F#cùjwy §^Ö Ìß/=¸†Aæû–Ý­ë§îÖßT•Ç3´¨lœŒÒšå[r<3m(¬¦‡Û|Ÿ½4Q¦oÚ} °é abA?…$B©BÅ¥ÔÆzª5ÜÐòû.¿ü˜M;ˆKxIYlÖèÏc¡§·húþcðEÑßt&IlZ§óú…i°9œŠ\ Õ//ç ÀÍe8fêªÆX8X Ï͹ÈÚ€ø}±vîPØeSÄôoZ$›Š6 ¦üPf"ÑaÖÓù3$9– $‡â¤õWÊŽ£ Œ8¾•¶ÖÓS?ò‘q´¡ëʘ3êx,©£ŒŸàÔ‰o e±s«„§KšÁòç–=“ˆ‡è`EêK§5â©20_ŠuÜ1öPý ›ÒÀã!l$¨!ä‡ì ©SÕÚµ-tïÞ¦õd¶É…8‘^'ü©Â gÂ&打…}Ã{ÿ„Ñ_”&m‘|I8d³KnQ"g“TM½P8ß`e~Îg ÖòÎè×WªíÅb¦ÏûªØ¸&Q6%Rõs¹?ñ¼ åè?Ãß@fOWM|T–á!Æ.¬Vê¡k :Î}&7ÎeZp¯›úÆ.…4ÿ´ç;ösJ‚ x6o’´æí\Yã™F¥¿LS@M®¶Fûè5¤ˆ›”yWÈp"Á28K®hkN!Ñ¿Ôñ¤g8ß°ïcû³¢%{1¬ß›\’«üA5ÝÀ>^c0&[ªÚYÞ²ggíì¼Þ”ÌoNáÆ‡=’ÝïH‡Z׺Ü›©T¤ãSyùTu¤{êv :½LÆ@¼f"•wt†´1an X«7}ar²§ ¤Y­„¹z¢½ßWe*Æ#ª&=Ûê;T͉æ*ö1Ú¦ÂN·œžž]†è4YK×½/d›ÌéIÇO³ÆÃÓÑcQ׳z•ÜÙ6ztEQP4€ÿQ2%q½³âAŠlõUŒÔK"G;«\“áÔªs»`>³µ*$Ö<¸Ð|@K¸LI ­1ˆv§© u—è:Þ‘ßúkÅùk*Áb„ñÏG[­¶©þÎqÛTNêUŠÁM„} Sæ\Fõaˆ,J¢ݶ¾gÃ0y—ˆ¯ a5ö÷ÚøówÛcx7%`!ÄÎ!w݆ák¶âŸBAl8‚)âÒê,Ö^(èÅž‰eJVåq\>PëpËÈ–;›ö)©ÝU¹6îT2ÈkŠtЩL.P˜'ìÁÒÕ¦‘اÏ.ÅšŽ8^íûöÇ,{[·%ÅŽZ.N dÙLÏJ{5Ë¥×¥°Üsª ÕÅ¢L¬¨*;¾Ñ™£ÄË«ã9’}¹õW‘v¤™d¢,€„@”=ÄøÇmŸÂ‰».¢c‘pÅM@Aä™Áq%hÆncÿà2C«•)…hÈìà4­nG5ÿxóµ_MNd¶õt¤›lAm³³ËI¸VYÔc%Ì3䃠Àº`†à-wá*Ô¤Sèqí8¦­L˜d\¹—.¦AÌc@´ÜŽ´ÍGK¨‰Ži>bÔO+JË^vò Ê…¡ô dËZn0F„"É[‡aó/’å¤aaa„…‡a¹3¬*cê”m0n Óºi÷öþ,léôº4sÙð®œûˆx£í’¶ ªH躼´îfrÚ~r Ç9ߊLÂ0F-lK’iˆ½|û·b-К*1jÌ“\àJ âž'âš!µ{ïú ½¾±æ²¹t[åÚ‹ ¬pP$‘Í›Å5« g¦’T‹•ôGÜÆUÐôÝÚs(ñÑ }ÕÝÙÄèn H Õ}óFü —çmå„T·»¨ä Êž$íNÊOÉWkA7;² ÒÞ}îq<‰Ôª‘KEºøõN©"Ð4Hªn_õð·ð±x †²,+4L©m<Ï÷’¢D4}ÕàJæ ÄÏ#?«OKîÖQ iš‘[5iÕdNÓýÎ6؃PXPÍçâôÛ–tGiÒDÏŽht°–OAZÇEëbç'×áÔpèᾞ’ýþÌÏ\©E“œU¸Jl+cKžµÙ¢€¥#ì´u¹J§L£î•HpsBÊ]­D$ØFǹh¥¤“‘öãÏÐöì½Bª —¬Fý5Ê^ H Ýî1¼Ù²wúeà ÓŒÎ+e!ÇéÌ-/´›ÏºfÈ_âJâÀ1—ò²œпˆ×¦7ë᪶aÿ¹ IÊ>;2 þY)Ì4*åªÄ*ß³‹DÐ寏"â ‘L,<åºà++†sñba;fÝiz³ý&³:©L¦ €øK5 é)g‘û5F ‘Áyרº§‘tû£Ü§¬¡‹!2 +X®«(N$:T©÷t;‹ ¥…¬“çÍ6ò%}ƒÓºR¾cYMŒý§2úÆ<`¼tðÿa%#sŠu;…Xœ&âóÌè\·Ì7?HÎÀþ=L$ª‡ìtçÆZÝ|N%“Ä~½NNx;v$™,Ï`ì…Ç Âc^§‚’<Îs¹ºìdò"§ÊCâñà†û»^ýí՛̹”òæË I&&ó³ÂÄ`Izàë„ ;Ò@ÛËn̵¬{IÞ†] ! äðÈ<±wþ ¢Y|9o¬Šyúã'5 JËa?O;:v3Ñ—»#ö×w5ÑÛÛŨõð0]åûºë>Çù+Ç•zA´…‹ƒgj_õnŽÿ­IY$8½½`)JîUÈ‹±]d73Ú:è–Ÿ9üd@Ö´ò,3ý#¬¼ÑÝhOÁ x== ½¶Wà[„*;æã˜ž?‹«ú‚~õáRÕ­~&u]q%c kw^¥òK¬æ¾ÿ„h°l‰©M“ý)°§cßC Çù‰³ô ðš>'£ŸŽSß¶sèæ”&e4i#&UàA½¬Ñôu‡ïe«Yo0«òô>³Ä÷ w~8ýA {w8i„G¥XqŽ}±—5ízæ4ûeŽ0L‰Y©ÉÀ–iRè.xoØçýyþ¿, ç9ì ÅY_ýðñ÷o«óÔŽ´l–âsQ3,ŽÐ¯—?q?Ë„†1trwæé=i`M>`éÅ47éÅGß*ýO§t!œHx^a½ûhú#½õº"ÆÕúYÄè@)ž£5•™¸ &OºO@l“=³^¶ùÏ9Tuö="°9˜Å4 ÝCdWþ2j¾Æú}3|H£5¯îÐT§Ü☾!v“÷X¯_×U‹Ð0äè/µMîë¢FèúG”ȼ>0ÜøYú¦ãfT¶W´m3o8šºÍ¤NâΪ¿¿ã,Ò×’èA}²ƒ!)+yÝ×OŒ6ýT‡Ý¡ˆ–OñuWÚ”ðYhk¹°:@…×`Ä®á+O´^˜(Ó)ôƒ—T¼à3÷ÝJ \>˜rcL!ÌûÜ6&…Ϻᶠ1,õm´ü°DDü’ÇiK–C{FŒQ3aŽëº­·Ls5MM­7Ó}~ÇêQ·=L¸á.4ÅÕîÖZlã ÑW*ž]´ãÜQ{ MgŸ‡Ê›ï ß·ì꛽o9´˜è§«‰XÄaµBDŽ=—Ü¢ Oò&z…µÆ.L%Döx>›*ÜJ­Þ2¶À±‘Á€Ã{‚C¸º*`âåÏ :GîƒÂ­GbÉàZh?¼d$`ØÑð"w”O·X¿$ÑiÈCõ¬ug퟼goÈAÁ"ØãšÛP3IR%¡ÚÜéEs_•ðÿ[‹¹J`>Hņ¢âÚðÒ¾°%vPr.²a}^¥œW©œ‚¥©Û5È›c¦V&SQ‘ÈAõäSX<¡Ù'}Ù¤§6iþ‡áöˆE}߃ç:UNdA»i¸urú/¢¼¥xSgpÀ·Ï7•˜ÔùuJ“Ã@-âOìbEƒçg —«±³ÂÒ$pÈéRÊäRyœ5‰hÊšM€W-".š„’kSuÉ(ŒÕ€èïg¡’ŽOeùÎŽŽe]î†MGbºîÅø¦ÀFÒ÷TŒ±×P­É(£C(Ö/Fø¿‚ûvƒp.é±àyQóšß-¡[Ö7c[ĉӳ ’tv“wÙ ÙRÀî§¢§â2­õaQ¢úÆÄç8õ';osdMºàÑŸìk—ȱŠF—ìç³Ð¨õ9ȯ g¯'j"¹v¬ù[®Æñé Ú¶É ûDüå NÈ ïÕX ›³ßô,%QŒºKË^tÆ O7³Ð¢UH˸ü…‹Ö±3„ͽ6og:|8W!nÏW°J¦]?Š„¬'cžšÍòÉñ<8$õ”¹Önè¹JüãeH^&ª]1n¢ˆ‡Éc]UÍoÓÿþÉ_ÔÆüà.—¡zéä&½±HjZ½å2ÁÁƒqå2Ún„ÆäØ~bëym+:mµb?yymeª§kŽkÈÎ4Ýhóý:¶æ³@;â³.6û*HÌòtæ7ëS½ºI¿BM‘Ô\\ Ý7b§wµ³ÅwmzØëIŠ®Re +?´ã(cÚázd–st`ƒáê»u Ð*§B\IùØ„º:87ê•ê¥ÂÂFÏ(Ñ4 ¹w[¬ïÌ[­JrdžÈuê·é–žúnù?{á’l†S2‰¹ÄûÁ¼ˆCvE¸„ǶâÙÙQHÆ&Ì=—^.Sg*瘹Æ8«È¡‚¶Àw?wg팷Hñ¿B´3e§{Ò}»W%ˆ‡ÒZ&©1ƒj÷Ãì› ‹Ú"¥Ÿ«[È5ó%×Ç+$qCP ³Î a¯˜þ~n y~¡´hâ?/yéŒñ·ÇÜÛ.£àÌŸ¤QØ]2YÜ`æžLøÝ9u„ï¹A/fªØVÄtnÙÆ?8Pþé ^× |+r:L¦Ë!%Gå^9JfÉŠÊØú·@‰Bç}3Ùö޳Iy·g.Ž;†¼,ÙmÚÔKíxDî/o‚ÕûÕ?Ýp‹µÃ®²?/©Ç· jwÂ{µÈDþT|L%!HS×'·Êè™.JS^›?ðf®šÙ=ÂW(3]kN0¡y‹ò©>>÷æˆ/‘(t¯mŽú8#³ròŽ Óʔج5(qÖ¨›rèdrëK@‘¡ŸÌªUqÈþk´Ä]”òÁ&°@õ9%]äö¦?¨› ƒƒ€k4 ÕJœj“e0™¿åZ\Ò5Êh÷“Ý k f‚í~§Ý„9eJ¸ï`-Ðp˜ô(0Q…Þr<¾ÄúѸ0PB¼|m íÆm‘ü½È°‰?~ck!ÀYð“ &åw_×À¶¬—°¨ð~»{–踉RÄÃÙè¨pm>]j¿-;„!«Š»¾I™x%QÒD Ã> £wÜÜB1IŽí2°À¡„]y šRþ«â ÃBÒí/WòŒfÉzKÝ¢È5u4U\ØÍýƘšíyÕC…$ÞPq﫵ʅ`³Û¶p³?×iËÐn75X‹È*I$…Ìw.h¦úX ÈáqÁN>@ÀƒpïKWLïÞú^ª«˜Æœ~¢¡è÷¼èÃmTGžpÓ6qTÌÖ#Dö‹Ùv×ú õ º†Ž°û£öO=5ŒüH+BE@!Ï MàvÆ-™ôB™oׂƒ¬!œ"o‘”7¬FJ/2Í¿uD¥žro0–6kj(–×Äb±òÊ!‹ëa½bÂü„ž!šQœ -àÿ#˜T«wŽjŒûI-„ydìñ݇QttþëG‹?5>ĵ9Ü`Š®+“[noÁD Ãõ…Xá¢C¦#íz<Ï.Ç3tÛn ïZÔ/39ñè¬å}ß–æ.ÿ­×tÌ}Fµ¨ú´CI†-n·Æ„¯Œ,ÂónJ i+:Fë$r"îtoŠC¢lNZ›ˆ°\LU¨zr²Éí×dj–^© lì„]"ã+Šùw» DÔ7Sþѯ‹aè‹7â]ZÏkîj÷–„Gmq!Œ€éÕµîhï εî€sáÆ..ƒõ1ç -К_ÒN x¾+!q¼­j‰Ê3 ë‰í–BµÜÃ]Z¸C|<Ù„H_Ü(èÐ :ÂGq)í–½mc·Œ*nL)™0U0Ú4A6A„Ò¿a8?o >lÚGV«_XñkŽuà¿{ëê‘^Ó»M>…MG\JŒìb³²¢þ¶íåƒ4a²Ž.²•´¯ré~š"¹¦š¶9ûº~8sÕ…G™’õf­ÏfÕžé²ù˜óY::rº{+$Žód.ôÿCñѵš‚ ¬Ç1Pþs{¤ŸKKoú‹Yð9®¸¸¸ápá»ó“ëõ~B Õã’à>þØýÉ e‚R;kmFg*¬>¢ç=y†T¡Kâ ùV®ƒWîãQG7I8/sLÓ|k^7MÌÃd¯ìábx*ŒìþgЬåÅýË{½Ä;{Å·ôË”]eÑð‡xN£ú¯¥/JuXù” Þÿª5±Qí+XöŒí©Ô¹OÊi,  ˜$M4]žï›1¿±‡šÜêdÏ·¯Gj°“²q~½¹ÎÃÕvÚ`J6¼½­v%àNéùå ¯­=ÞFÕÞa9þâýkœF½ FlŒyò³*éÓŒ%)ô{2›%Ë„n_º^z&®Ÿ–_ë7Á(’z\³³4°¿­r¦ñUSGø‘¨Fìaƒ›Hh¥Ë2àÏ×´Ò?€¢§÷Y<“hkX¿Ç[‘’³”7xn‘¾¶ØM ª—&ô‰Hµ”§¯"“AõbhkŒ–{1¢XhŸ£ßŒÕˆ¨Ù˜†/~$嶤¡j½õ›?±2ô!€;ÉäÖw}âíÍEzbwêž,šL χ4=?2}>%Ù˜f T®ÇtÊÞ²:`Z¬ÎÁ,(I_|ýâƒQàìxq º>%—ì–5-BcL±ž"~ØW„;÷(NÝ@àºäŒð-­Ÿ4õ˜Ä$D6”?ª£êàDà˜ÍB {öÖ ¹ ô@¶÷å™Ïüœãþµ¼nþ†_â6~¥ë?ÛîéœìýªÞ·k» 9§wK=©ý,¨k®ê(§Zf5ó çY‘[hG|@faZoo<íw¨x3Ð|.?-©¿In„V6ÿWw}áï?IþBE¸ÿ,Û6éñÈAo¶4[Öæ³ÌwmNëíÌÛ›rw??ÝÙžjU‡ës%vzs|=‰…õÍk°8/R¸{Óþùcˆm‘ôÞ¥šƒ’ «r%g$êßpNêKîu2}²™(cé#Ýëú]v¤Ú€[“Mˆ0LjX/¿9Œ£ià “+úlÄÛ&vnC €@_dìøy´ŒûKŽ^Y\̸˜›[jÁhð&’[¥®ìV/qó”˳èʦ~‘ûÀ°Bç CZ£gJE®A²ZÐb%^€¾óLlDlkN…4ŽËÕ¨n‰õïa•ÎJBðÖÚaG÷«+‰g’Ä z<ÍÉFëŠdD:¶QT/|9ìf­:Ű ÐÍ*èß#åèùªándý™Âl¯“ ¢’þTÜJÛ§6zÚ»Íuo»HÉ‹Þz$µa0ŠTØG&ΙOûùÆ-Ôöƒ]i®29|w” ¸¥]QŠ]jD½Ù82¢ó¥nëòºGbövœm¬žÞxsÝds^…ç±Ä«H6H <¸x¾lþÑìÂ9ÉÄ[4jm\a.©<ªYžâ±í"*C‘°×ά·ý@*Í„õÒê|!£^Ò0ÛÙà¢ä‰»¿bß Fû>Å€ÓÇ?>ø-Â/†\}gËlØMEÆÌÆã¼=À’hsWZcqEÓÿõ3ƒ»© QqLàpzWZ¾Ê0”>IB£oƽ ‰ÇP=)š±<Ìònn@ŒD)ûºÌ÷`ý¾SFªíáþt 98¾é/ÚŽHo[ÊJ·‰\~š±B´h^á™4!Q=e¡CÌz¿%3øæçF#,Q¤”Ý1õrßi‚ÖÄ=ÇÅ}ð] Cö@ÀÁ¨s({âO Ÿ‚’Mu°Ð‚-å²8ì,ùJï>tý¯Š¨â_,£¸Fæ¿õõ®}vä"9À9ÖVT掊îá¡-}Yò5{TÜ'3NǪŠÊ„ù‰­SÈNÚ ¹óœñeXFO÷&JV#j\Å`@{&J ƒùCIÀ¼ÅÒ†®hW‚ÊáüÑ‚h‘òª?Úie¬=nªž)Õ¨ÆÑ+ ñ€dPª_ 5.èùbá¼^ègþxTò³¥½*1¯”€p´4©wó+¨á#CZîŸ|ÂɃ …¡¯rZDTlqÅ©]¨UÕI²<Žg9…ƒI]6«YMš/WàØ—ýHÅpNÍ*ÉÁÕ/fŸÓt“Ô‚Y&ã´•u“éo•õcG‹Ö8ÆËgh0OØjC‡·ò+E¿úl†(oRä³6üxz–'‹Ój¢ QÇ».?^u±Üe*¯õ‹ÝÏñSPÌ/‰À¾‚À&Rò—1+~Z8ø®¬ïaºˆ¹3<Žš.ölQ|ËiVt•ºŒØñJ}¼K-J Zw ©t)‘…¬2KFCQÄ÷‹/ÀoGg8þÏ}t7îà»Õüf²ô¿£ jœ™3•çLtP¹°³N=®mej·yž«iIØz,Ù½¥–Ä“æ)Õ Ù*jD[#O™†7+\*›,àȃ¹eQËèÜU2 Î_’<¼^ï 0"ÄóÐ*êþü8¼è÷qýfÄ“&¿<ß—Â¥ôAcÒM3ÿØ¥1Ly8Â5±Ú†,ÏÊâÙ%ÓÄ/2*̽°“áŸS—ÏàQ2¶w¯ãÇp¡Z8U ƒE-nËZhôIŒhë³Ûô¬•iS;‡yM›¼¡Ï£+VÐ~Öó¸Ox©æöÑ Y@`/œ1‰w£”qßð£Ø–}š¿ŒÕ©~©Ó-<‡ÎÿׇÂúâIœm90\Úú=šø}š4ögNúÞO²lïQc^2aJ·ñ5¯]&¶QÒôã _hmv]Œ»¥ Pá6xÔ·ºeW·‹ìÙ1…`2¿‹‹Ý ú%cŸùFZXt>Ÿˆ6³¥ÁG‹-%W»Y6ýÃýh©™¾°¨ôMˆÍÌ•‚F,qú)b[Ñÿ%0BÄâ­¾^ãý Ëü‹ I0;á«x˜ß‰ ù!´­/.Œx©r :¹-˜ñn÷êGø[Lz`}Z³žâW,ÍòÓô!õu#.^­æÖZùþ³]Ÿs°”3–>&TAGÃO'­›Ä•ø¬Ç¹yä~<çþ½»tMÊÐÌ-£}§Ú~¼êªÈIÃa c5#×¹üç k< ¡¡k0y>ö}hÔÈ'·LK…¤RÝ$óëˇyÝ;DO¹‰Q…9vÙCü”P&ÇWF)Ëõ±ŸôÈýÔKe~bV”0Ï*Šù ‘ó0)î ÜD€³9£Š‰Ííñà¤eï?n¨•æ2¯ª•ýÍö3»¸bü§ëðäé–µ­0úAM»Ê/ ØâM óg¸¢ånkÜào=&Ì¡,v–Zòðˆ/aG–Èè%í[1)íQ;˜»Ò+=Ònën>lïépú‘»ô΢|­Öí/ˆ)þ úþ¦§íð i–Ÿ™Ð$YÎ-fMÎvä:*ü 3D>£@Aä0>ÈôGØfv‘Ð()¨ã"ÙQ–.Sö-r‡²WщˠI+³#YˆÔ¹ •!Ã'”sÇÉ èfÈD§~«{˜´ÞëmÔHëþ³r‡:Á¬ oñ=âtí”´`Ùüã¯]JYŠH;<áÉ|¿7ñ:Ñ÷?ÊÛqÆl~œv~W ×ÍXní6ECysž=o%ÂÏ—Ü-æ’ÄñDm1¶„M³¼ Gj±Á*]ë·Z ZzgéEPZ]_ r+ŒÆk§.ͶIÑ¿V “¶¾ã ƒ! óƒð®‚¦hó)€ àH³o-¶ýv.¥w7œös5,„±½?Ê.¾Ký¶ˆñ×?ú(÷;Òï›6¦œÚªðü‰8ƒ:ù•mµ‹aîy)‚ÊOE½™ÀéÎ&m«[Ày\¬¸n‹Öáéœò(ÙA˜•’m9#׸̛±AmrËT˜9ûu7l–¦h­Dî÷§Ü£!—gE_ZPŠùˆu­)‘WXSv·ùøs,1ò‘ý¤ðœKÆ@¢måô@jìCÎÉç|]±/âì&¾¨©L"ƒ÷„D¸Ã(w¸ígLo½Yè!Á_i÷¦Ñ&{lÒ sæêWˆô_ÒRëx Ç5`­ôú OD~Ñߤ¿û8| -¶nsZ„yöî%C00!MÛnD¨éöUê•:#W$ÎpP¥Íëf&Û$ð†‘Q:¶)g"ÿÇùúÌoÈ64[Rû+9Ra5bi>8ôt¡ý¥ªgËØÎº‘À8/0´ãGÁ, S‰µõôÆçÿ´9^í%¿^/O†íjÕ§>~€›^^œ—DW(Û÷Ùår$‚£ D &þާ pWÏUBÂ-à õ¤úU zèxüþé0Ætk¹b÷kÏڪ‰h]u€î­«±ÛkD,0Ú1'Ð=p¿ïkÚ·>íÁÒØ±Œ¼Ág]wŸ˜g1[õ ìX"£ªëk:iÕËpúޝ ­É2³Ñ*ï$áQ\¾æ|D8ê™<[þdltŽ"K›s­1v!5Oä%¡‚‘§8Ë}}±í@;’a˜kÐ4Ùè㉈œ¤sâØô¸r+ô´vÝxô˜yë?Š"’ÑÞ4U+7„y¢nÇ^H6”J>À!bÿ"ã"ãŠï4×EÙŠPcçD[¨œ˜Ý©ÛÜËÏ"@à&賄°Õ©¤?·#RL‚Æ@;ÑÎFÞò:z@‡cûkÙ›kç€K1•½][©/ÒC¤+m_"ÑŸë½³u›Á}6Éáî=©R|'š´•ƳÌññ“k{Ó‡ª­¦…^"mðsußAM²`Êùº}|•áYþã(³ñôÅçð í+7(7]å¿sŸéA“‚ßʤX:üÈ¿aØ­AÒ19ÈÅùþ¸,O‡]¹æò=¨±aŠ5@£ueO/µâ¼ºJv~¹¯QÌ_œLÁ…´5£‰üN& ä`œè/ÚØr÷ìfÑ^Â-'ñײ”’É^ƒÀf°Ò2d› .ia‹u¶¬î bJB;Â5Ͼ‰¿„oÈþyXm³Î×Qm?H÷„ >É‹üö\)‡”ô>ßÞK ñ”4:sLªìYSª‚ÏpSzÀé~ ÃFVÆdå¤DâöE¿lv(âõ:Aƒ•C7ôŽùQ­ €%ñÙ.!£u ¨b²î%.FT0£f^—ÙÏß-–Žî¹{Ü®¾ß·NuC¬ž@ù…ÏÓyí‰y$S•Ä |ug°(âàÝÔ2L,w¯•ê˜Á5Vìg2VÊ=Y*¡R›öÆö[m; d,©7ûÚ $Ýï.‹¨;v¢ †é>ÝÅóãë ³·¡ý¬gN¶ã8µÖääËØëïV˜°W ‘I);H·Œä>´®Ý‚÷úm!aâ+¹L/'¶XOÙ‡cž YýÏËr4"Fÿ~×Ð"Û2Ô"ËíþvF)8ª)¥®Â‹F†ûŽöÎ ‰„ØŽ©òRŸ—ÜàÌ¢âžôpWO—±“Å¥­ó‚¨å%s¦”‡ kƒ¡ ‹Ÿ¢0 Ñ&TpkV16ú»êsßÿ²¤×NÇ ü±è÷3®êµïzÑô+!d‚ç¶vé^eÉštcÉ‘@ž:jj}IT Hïƒx<ü }z"H›ÔûÀGÔs}´œ„ °I8?æŽK²©½¯=a+¨AÊÆˆdpñ+BzöÐV!4ç¥Ó*Poôü:KFA„ðÏCS¨Táék+Â×=\’mÐyH‹¶ž*Ÿ\ÃÅnQ8ýÓî‰`U¬OµEžÁÞ&=?ÐôåjààXëjB@ÈY$ØGaÔñ¤[ê=øû’ü;#"„þȃ`±h.j€Ÿtgã°bmóÀ<¾‹>“b›4µÜëSK::·«'éÕ·‹ 6Q8ØÓztúžoŽd(Ž,®Z±J¨iŸßß—ÁHø|“VðÙ1)IpŒŸó™ÉSÝ”Ão25MÊ¿¥mÔˆ¥È¤ÅXù¤k¬«BÙš1V"&¦WÝQÙ²ÉóŽèŒÅ-]R¡Ü—¿ ã‰[ ;'hIpOg!·ÅƒU°ÖTWO`ƒÖG„…¥Ðž6ïUL_?¢˜—ËZ¢þ¾ë-v\m(pIiΛ²@Å=AA‹*µ·ä~ô*öpÞ¼,°Ü$‚ïHejk SåÛ&t´ÝoÖA~‰–à)ØÓH–MnÁ,Öâ!ÓôN0`G¸‹L•ãéæ@K‹ òÀ“f£-œ,ª}ëèf÷ä¶½¹¹Q! pI:ás IFóõ”À¼wW㢠8=ˆ€¦lHÚäà~5º©˰x”G/~AEŠ™ ‘ZÎôü*ObjWÔ´Þ [­üåå„/Šën›­ÿÊ;Þÿuqàßp¿{¹M⨙BïûcìÛ¼õ³®á½×`’z¡/wî²k$X§L¤û/Æ'üÁf®¯Ó3ž)¹C#»e@¨Ùv´£p¾¥aƒlõÿìé°p!ÛÎÂǽ²mj„ÇY$Æ.ºØñECž_€KëØXé½ä¬3åÆL#(§ñ#Bò=$ÄŒNdBË_óâ:–’@<ËEªSfјx‰ìVnèšZ`u^ë*6Þ´- ¿}È©…)/Ê© › æd•§TõlJw£Æª¿J­®JÖ:Ýj¶iõçRqî¦Ô8°"è,X#|ãã_ÁT(â¢PW%š,ôž…Ëô É€®Â\- ̇աX¾) ­¼“Å?¬ßý Vz±Yã738¨L.ç|Å '*äëÉ’‘âÔºÖmÖ¬=É~Ÿe¿àtúx+ :i¿b;NUîÁÔ}Œ#óçVŒ­&Ë%¬|éÇ¢ÍSëÕˆu7Ç‹Îç²Ú_:ûîs3ú?îÜoÎØ¥è†Û–}Ez8Ñï9D0ÒÑj+Þ¹Wž1EÖòµhÁa³IÆtdåÕƒQæË7{EÖ|ó¼ï»îZES$±žQ0<»I¤¼çÞH¶gi×?Ò`D“ ŠAuÜB¨ì™¾†ü­¬C€íÏÆƒÚz7´€ÕQ '3p¿HÀŒ4.oôN•QJ ¿× ׈—d!£óKpL*Ÿ•lˆðaW|¡‚óAíµv9 ßÔ߬0½M;€PkÌßWŽðùVíõúWYëä—C´×š½4DNäÇlÓHQòÖÛŽœû¯¦|áy\ï€Ûk)e”#q() àükÏ%FSÝùg­¥rpµŠŽ•ó1Úƒ:8N å¹JUhr!~Ùsfï\Û̶Ìšú_—møðÍÙòÇŲk7À«.{§ï¨Àå œü\ƒ„3Ê–^.Päõ §çå½°¦íƒ±Bj«!OOcwÁM„ÜúÞólBbö–A‘”g‚¹÷)=éF5;¹kÎÌá7 º’°yýX·A™V5˜&[Ðò#õq™#”χz©Mr~óBÖÂL÷ZçRrÿ«xîz¢/êt&;™Ï€ÝͮҰ,‰¼‚&bƒSI Ñ`ÀÜíKvê¶Œ²캧¡nÂwC±¢àë6¬{E ø…¿r·î Z#s½ìW7™ÇNìù^ƒE³4 ¦Ç‘tÑø"MŠ ¶=À}†Ì[é_±Î2棞ˆX-0|"ÅÂø[Þü4ê_&s¦@|t) îbÐí·ã6VsûÊA/SM•SÊ#m]Ø'Øäp ÑP)%„\DüNZi|ëq¹8 ó©ÂJì¶{¬Ðeêqņ]…kGj`^Ú kUWw<|¯(° ép A·ýˆ`ñ…E#í!ÿõÕH6æ×:ºœÏpðì¢osùîÖ®øì¦²MmYÂÚëíRö^…À>ƒC!ÇZ=·¡é0:ã„WÚVÛÿØ‚G*$%-Pç9 öuB·¿û¬ž°I©Ó’߈@O‘d®NÂåYžíz»Õ¦uª·¼ìÆäÝ!“:Ÿ¥²ÕNÜQ5tôOôð¤ó‡O†°çY<àZÊ Ð=nìœÁƒºVL ²½â·!:¼OH7ÍÝ+zž¯O<Þ ¬@'زìšH º‰#¿Oyý¥¥ò¹ådÌw¿cM®o/ÿ¶­ÆÂ DÝT‡ÿI_œJe7PQ9ŠBÛÄåûv¯Ô$8?¢¸7›©ÜÌ…âåÈó¿.ó"•K7Ée€ôO£­BËL|^ƒ›i¦¦äY€Ê= ¨;V6`Ñô1ác”Ir1º\²Ì€ì¯u>òÿÏ9‰ô(°²yÍYm–Ÿ’—âƒrø4¬Ï»˜ÑüÒþ0Æ'fKtò¹,ù* ;æR0m!¬#6 Û2€È˵ƒÁÄ%>l@ªÒ)Ÿ & g¬i©ƒý+^µ×†#BSJ%Æ_khÆNô*Ÿ|ÆBˆðó#¶ïÐüÆ© k(/[òƒ3’—oNæQ&a>I‚„-Ñ«:Rª®F¦`!zv}fäÄ x:¡Ç†@xÞSðKVX/Æú5à-àÛõAx~Õ·~'_²ÃÕË…ÖTòBÊÈÆ3ïÉ€¼,[’>~i)+Ñ<’«èµy­%â¨Î'ë]„|ØžúådÉb÷í³òâ…!Š&·4¤uCz"5Ðãí²ÿ— Ý«!Ý”èo­A™,ªY5iNgDBëÇBüØÉ³ÕVjßV/FkoÇü=}G¶kn ;œÕƒ;ü~.Obö1ÁIΪn¤c@j†h¡¦ÕÆÞJÃÀúû¦|šljÓQ•¥èÍ/¦›;®K U[¼£óF1Ûki FË™sÛ˜(2t„öÓÎGÕÔΉªß£ó}ÄÛ`¼d ¤Å*T‡U ‘h¨’40È –‰>.ÉׄíÚJ9Xá¯ÃB÷CH»1[!)ˆL“Z3é"\cÝ0Ôhþ3ÍU¢Ç\²Ï„1©™^Koé÷†_ã˜Bò•³oU(Õ–Tz9ËKµ½§CQîL•n@•Y )N¥¨¥ÇVHç^Ñé-2Ë‹|²åxQôߎââ¿ø7—&‘°¬]=†r-ëÁtL±e3/-GB~ŒÝßY‚JÛÉ’S‡Äÿ^ Ñ¶ƒ&âe'L®Ÿý÷R ½Ê †×‡Ó½ûЉ¹é/ûÙ'ë©Q.Åkà<Í[ v»7~É\Óz:\‘¼ÇW±'ˆe3¦]±E·eªù>P\ªPвLIìÊN–µ¿qœËà ×ümæbßÜÒZ²µÕ2âO'FO}gE¢3ai>þóž¹,2D]÷Ør—§’ÇaSsþ2¬~ñóݬ®7RÜD¥åZÖ·ÛFÙgÃø]BWl'=_úYÇ‹a(õ—˜®6ã5GØ{­:öy %÷7§®DÚ—©=]Zaªí´´æÃ3FèC”ÖYžÄ^¸¬m!b>JIˆ^iñÄ¡èr™âqµGØÙ6™4vÌÕN˜¢Ó–çÿiXó´¢ê¼Õ™<©“÷Ç“æ.¬xS5#ýÅ/YJáågÈÛá"º€j¨(ûâÝàcÈ6x"ZÉš5‚ô™ݲµî×èì\ê;´ÿÙÓ $çÒ…¶&íoѯÓ'*â‚r>,´É• +)ªØÁázЕ {E›ivÒVÔpËò˜3€úƒŸ ž–n^Ú;ĘD¬d¢éHˆðð÷A ”܆?,Ðf`l••M{»Ÿ6ÄûG7ê\ˆntŒ¿·N¤#xð‹ÒdtxÄÊ$í!Ph}>^»(÷LìØ{íÁ~ Z¸5€ør(¤Á±ô Q-gnnñJý“’Î|†}¿ÓZ0c€¿øuÓ5hÌÇX ÞkÙ¥Ä?V^¾H&8òüÚÃ5‰¶poÕmNäáàSqc/§oL8«œÛ^’tÒà Iœ¤ÎøO–ÛÜ«òã'Àn[ÍÍàˆ¥ÅÃfwT¤­hÍAHM©YÛ ¼MÍô%$V",Ú‚vwÝ]õgšKÅ»8ÀA èÂYÄ\c ùyN ?ÑØKÈ0zªBû¯>æYR0צ!ŠëŠr«ü[3¨CaÓ%Þͧn'*h"2·þǹœë3PP&[mã\ü¶A`ÜZÜ„·¼pÓ,öÒ¿mÌs„òÀSè˜ì*(|Ùžp__FÅÙ“„8þæZ<Ťu"ðöÖÛ¨<á8q˜ƒbÆôgè1–)ždíöÁðêe‚§‚—cÏ­œa¹cÄðcµ¾gFO¹ºèÖbiÅtém+^;@gbphUÌ ®Ù3¦¨ÅÕ?GœÉøóAè#©>2b1qÎH³úÕ&h 6ña²}§Q ¾),Óš>Þ`Vœ;Ï „Ð ¼uùrÿâœêШZÅbeR‹.K®ñÛ%´]µ G`?"œ¦loö mèœ[ Ž›43«¡0Øår…™1vñ¤2 e’‚C˜¡r§u $Huutw³ÃµÛŠF1î<ŠÌ/דa}®@õá â–¯|P!<Ä9ròNªæâãêñS2+¸xj­õŠt)B1¥(ƒ*¿á.-%wZN{÷3¹ÞÎ.u+žî„ñi)Zz¼MD«Ž\•ÚsöûÚ_·‰¡’µÁ‰Y¹C·lSÒØºg½.z¹®µãŠM' 2ÒŠV9•$è=NFðŒÑGǔ͜¥¥rªTH­PÒÈófÓ™®‚±XßÄéÈ”!g¿÷ç0S ò¯Bþ‚Ÿ*T­qVyR·Á¸mc¡9ðù¾SU¿ØÌXcn¦$6VjÓ mhÕ…‘÷êWQOuB±Ã’T%vÑ_=O´zp–$ÅjRV_dcÀäxä™–€‹™ï#ãvS1UGDä¿Ü}ù”dºõ¾ ÅÕÚôûü;‰¾E°NP¨š¬OÎn$—)Éå°²>‘$õ—O.¢Ê¢¤/Ô›aljB¿ ÔLLj=)‘±NC.Ô(Rþ'fQÝ“¶{rZœ¤p-õ·ôU‘ؤßW~»o ³äÄ]Å“þ¯á“^ýÞDIÊé;RˆÏ†‡k}€YŒùF Q§÷+MWñ^JŒ‡œ–M3ÇŒM6úîK]Cd•Ò¯_Ó‚FU§Â%G¿m1lEZöº™Ÿa5’Y…òù®ã޶8Z~+I{Çж‘Ò YNø†v©¤c]S^c²K.àšW2![½(«|ŠïÞþšÒ±,cżHnÜ .iü!~4v l1Ÿ<å'*!гà˜_Ûì_ö BM?·õ ‰ÅÑ6T¹Œœ–0Î&&6wÊ$ÚIÑvýg”ŠÂµ…-®59qöS‘‡¦úÙ¿`a«ús«3sÕ™áÒ–ñ˜AH> >D1#N:ÑÁÂuÓuªÖÈ,2ø$_Mõ™'e¯w2úב”₽šÊq ¿ØJÞ“Äu,ÿŸGÓ"–ͲÂ4·MŠñŽE†™Î»ÙøvYO!d§ùB4C“ÉáájÓr×8õ^*».ßœJVT©Íj‹"Bûf_Œuس©¶Â‚¿·ô?ªçwªðµaLlÝYa¹A¶âÄãîMˆºy7£Œûàžb ¾;°¡°$;P·ún­¬YóÙîYCÊ"ÛÞÌܤÈQ\Iý»ˆ²¢dIÈr2þc¾ýu’±LðãfyÖç†DÀÌ÷´¯|ûþ •œì‚ –"Ë×Ï?~#` ÏøbÚàÓ…À7¥ `%…uJ¢'ÉoËæ:ÅìǪ.@ïÆC¸ ¯êñT4Cßr^YMq¨}(â}*Šø§üÊ®&Own¸*¼[ŽmÔFÈG˜ 4sª`+ŠSX‡†t?ª¯` øXNNa~UhŠ1ê-¾CÕÿ7Íp<ñ)WÁj?¸†¥G¤74ð ¡|gæØ!ØN\‡üSðw쮼nóNUúºL=øI€kfo–_s,c™ª±  Z71µk)ùñÊÂÁ©–•„|t¡Æx´6¹WóAûÊ€ÓY4œHîmè]5 Ä‘Q† ÑqzÚl:eqÜðÍÖÚÞÕÚ-¡0.Y&ñ჻¬tuëß3³~3oOûGŠÔήÊÞÙ¸”ŽC©eýþpÀìEŒûCÍü™A×À`Cbœ)ØòGó#¢O¦ÆâBºë4=¢.¨7ô{"Jr9‡RΞ6A;  M‘ª ¸¢~ìëYß×Þåµä[b¥I¬#Þst–‚*ö‹ŸœÔ»™Âþ×.¬¾ä˰È÷véš• ¾M2‘â0Þ¤ƒ¬Ou¥ ý~Eù°o7­^È&©ìb ‚çÍr®žÝ}T¯OöŠ€q×%‚åé¥ÌK VEÁü6xñUô{|0|ÓíŠF Ë8Ï£òyìj¢lC~Ý ù†(†H#…pRnÉ×åÐÕ™}¿ì£ëƒ5Çɉ4CùÙ´ ¿VA¾‰ø|[ ÃßL˨ßK¼„Do% Xô.…$ ¯óJ!ŸXD;Ü9s¨x‰féÊ9‡å»þcÎÝ[œuÞ™Jç>ð½@SRUJæv¾-ve›êC%À:0Ç7ö­J8å¥-lžÖ‚µVËãã}àzfQèK°è~rºC‰DrÓ8 ù{>,ˆ¹|òâÒ™“L,8ÊGq Óz©Ín|Ps§>*Ù宿U½u‹4 ‹‹Cº6] §tµ3Ù%JÑ'ì06åâ¸<{>åÝÀjœÃ·…î¿ñZ„´&aoPRO¤lô4-ZãO÷Ë«4ûǯSûzv„ 2ºýu®ìÉßû–ÇA›ú„fÙ6ÞÜá[|Ï>|=rSÒ¦W‘¨¬enÞ}ñ eB”CÓ…wpô®ÇàPì™ «:ƒ$R"|ÛæÞŸ#ÀP½î±”m®*÷â˨² ©çžè`‘™Â7 ˆã/Wá˜ç÷)¢H“‰#Z±ÌŒÀþ{èào? õÒÔñH˜Š1õ œ†¾õˆmzô™ƒØêsðFÞ¡™³’Tšp­îb\vµØ}«}úGùq7MÆœGg\Á¦«W à”Bëlª¦J X%ÅEïgLåvÉ»Ñ ±˜"dv¥¦ß´dÃhIIé–FÞ(S‚ÿûpPlL/—LƒMxÉ&ÔC<ѧLÕš×ó–~¾s¼ŠÇ%±q(ÆDZý2¤×|çàPIQÇõfæ£Ñ}ƒý Ê e0‰ê!\À=Š~а>¥_¦ÑÌGÝÎ §[Ê5²+Mm—ëù_EÊÎìâ‚!¸ß³XwMºÈÞ`Ú…ö±¶ô`K“’Ï^ ¥qaðQo¦=§N»ɸ,™ACØÉýKÉ¥eÞõŒÞqAdùC ,D¾á*™ô˜D!¾T2÷ÑoغE`:œÚ³¯Ý阺ˆýAú'h 6äîJÔ0âÕóg*»4­ Û“k4Õýƈ˜­´ 8K(#ŸnéÌZ Eÿ¿Bû5¦ÏôöÏúÆï¢ð`rêÅàPî*ô2ÆkÈ}m®  á’r̾Ÿ 0éUôûy ªþõðÞH!Œ,“4žÃ`lÝ&é)Rì•N'B¿ßÚaøÞ€ÖcCàÙcHœDq;ÁÏѥуhÊW'­by¤û°70Në’¼‰/"ÊîÉ[$Á Àãú:Ñh/êñê!,ä!’ØÞtˆˆËÓ/µfÐ šy|ß7ß1©˜´Îøƒ–T;\xT2¬¼[È«Ü?÷üzŒ£tÓ`ä… 4íëc³î:gEò?¾_ë/:k‚™=T—ÑlË%HWYO^7çÕ³›D §~ÄiQû¾ŠCßµú&ŒÖž8¼Ð7½’Yñ_JDR4/ÄqÝV|ú˜vhÕõƒy;©X\BÄk6éo½€¶Ù÷nñÜÐc¹ úÄ,ÖÒ8¤4Ôß^Ù6n2wèŽÝÐò¿šÁÚ³EÎÉ(ø“³¨fï²3%ÏÜ¡<L] üm'ÇÚ#g7¨ÔS-å“¿‹íímà¢˜ç¿ &a¢w6Æ+È6ºÃYÕŒ²ü$­ðÐUo;G»ù®¸fxbb©w÷htŸ<ÊdMÌÁ™¶UA…ºO¿¯%©…×ûŠ%d{ÙÙV™À¥µ´+xNI÷¥•d“Iò‘½wâS‘×ÞÒQð<;Î-*´´P-‚ bÃR¢¾^ê²okÉ®JB‹®IêÓ:†Q Ù›Nýgœ¤`¤ívmO¦ÀzÉ(‡>Q hÆŽSg³¢³N‹…ip—9ʦ>”¿h¿X‹Š.a£6 I¾çM;É׉áòf´Å‚)¢ëØS K=œÃóX¸³¦]ÆhÀ•gÿ‡§À9õ_pÞ]_AÁ]k# ë{§Æž¼Eö5á¢É‘ç@)¡´W„Ãâñy ·I°M"}škœmy¶µº´„?$–ú:7;çqE°o1Ó+k­ýÇ.[oñ“>ñ>3*ÉÅ–0¯3† *؃éâÛèûKPW„+žôœž¡Ž«L¯A5²ÎÇ,à*âÃi”*Ó·g>kݯg ¾9, ãöóüÅ”7!X=O¶¦‚€ª2‹Z ±Ò7 àkf Ÿ‰Œ^eÁÐ9ûÊK‰,÷"šñá±% dêLÒ™(}S•(¬ý¿§Ì6îàØ9JÎ ï´Q€q\èócu¾WÛß&ÝoFÑ´~½á2cWÑ @Y˜­^’ &Ÿå”;4YÄ• Øì:¶ˆI¯7ؾ¡žCŠžÊÙX‹ÙVË#k R¸ž›;?6I¬_&ýqÌxN'÷¢}òà!ÆK.H£Þ ÿÍJ#ÁiTÿán‚ùþÏágš¦1µT%ˆ™RGwIµê·ÒT*wîN$zô°01eÓÚ*¤?|žÂ½îÆn¿Â&ŽG¦:ˆµåEáD¹í€jý ýˆ¥‡ui лìÕ½lxîa°ùÜGÚKc§š¶.ìn/a½Фþû)ë_Pq¥/×kÙoRr…ƒ*“7‡f8b$(/aœE?:î¿k>%,­Z U æÒ/ˆ»Çe[<.Û©KMÖð˜jò(Ьp]…n°ã?jsç&M(uôdÚ¥V:¨ë/ iî¦Þ°jnüB:EÅzÑ=ûñ¤³ègé çÖdˆÞ!¡·C_¾=‰+:ij8hÀé ßz–f0`L{l'ë¶ñ±Ayd5,ŸbÀãÂÊ?PFrêä”jè°a­•_#-œ»;¼–%³œ·ÐÅÆ´ø‘á)±*$¾/t䫎h)C|Zn”>Œ2)½Ç&+u¤F«æñ|±Y’’ @ƵZï kÑʈaP«ŠâTbÝ[Ϭ »d‡þ^ß„šÃ¶ßÏÝþçýÈþ÷±ó2Ql® ýpƹ:¹fº -Yo†¸èz‘WqÔqîçÏhÕhàÀÞÁ»÷ÏÛ$¹º~À§O þŠà] œé¥w„¯þ‘{Õ…/™ç„:L. ƒží:kïLUä1®>õïÊͦ›708Ô½'5®ª£vþè›N°)£f©Efïl:¼E‡Ž8ôÍ¥sû–8>+(í~¿Jåu«‡œëLòTÙ›òþ‡•qwæúÔÁ\0!šTz IJ¤úÿ4E·*W¬ ÙˆðHZ?âp"ëCCçŒU%toàzG£gLÕl8u… ½£øRò_ læÒØ=8[`š^¹\‹NdEö‡vèƒñýOÔ”ŸUЬ´fݹ¼Ü(C5ÝøI«ÈkI°Û°xbà=IŸûe¤-ÞEF¸× y½Ë̺¯\:Ò7*_R6Œum¡vc AÝjžÇàåϬ¾˜¨F!l;Tçÿh‹_þq/E=ÒÁª…BvF‹1Œ{™ÈMÖW—ƒã0@Ø›y–6‚ªþ>¶ œ}Ó¿¾ÂÇŒ´‘¦â;ûÓ„#²~ã5u™z}|•Ÿ²î éÞ*™ßÅ[öœ›‚»å»  ók#0wýºµtX¿¼0}tH,VŠ"¨‚Öhwctßq‹èí$ÂvƒéÇôôÚÐ+Ç\ò«1Ð`ާ8·×ï>ÄÉðÍŸä°Ä€ƒlèÖÆg1ßGµ}¦øÈÚþžM CsÉšy87ÿ>½é½êk‡i0*§™$1{áÐzrŸYµnœí²Ó_Á «e'Œµ.WÜ>ÅÓWSPW`¿í¿ooTÌFªØÉbÊKMŃWdC­Ly8?b†£°ø}/䃡Ý,\žˆ&—Ö²—Eªi½Ùøž©ÑèÁ·/‰MYóÉ螀_ø"§ÀÎö8¦¬ (uˆ G üOF—í¼!wúnšpío)O<ŽhQ*’ècå DIJé·Ô7}&>YIÎ4ŽÑã"_¥M¯¿„OŠÈïGtW⿊•Ä7{dRÒyìKEOÑÀéšñ¯ÛmQôSØ—û[˜Ißó ƒÙ)»ª—‰àc¥{XÛ+¬ÌV¯õï—ÔYá{F#?¡™êÓñ߯2ˆÐz ö(€ p#MnõVöëVäj­iOÚ%{£v•amá£T ºÿD«#-D~ªm·Eé4CJG˜ÅÀ–=㢊úQϤ Üë “GåXx$:@u/$.ép{‚”'©”³ K $®”U1%H‡®†x9Q6¹C„ÚqoÈ3XœB±48L„¶ŒrÿïžÄVL¼›Xݵ$è!»¦ŠÒ³ÄZ]¹fRgBgþV¾Ö%UÝ `|;உ¢!ËÆj׆•ãIxÂ%ÑDˆñ ì †òKçä­nŒŽÿ)§ï,Ò¦\mG“¨îÝDMÜTŸ ¸y ±Ú]q«¥ž}þP$ÕZv¡ú´ÚáÉÉñ4>ŸŽEžLðÆäi" lÅzê5ýñv©MRÊ4|ù×<Ú&2ÿ¼¼K˜_°GÙ€B}µàÔQcW‡¿h‰‡4YBâÕ]5©÷@¬#ÒØë$öñçÔµ$ üííà·aNGGƒ thfÒ.GÑ £à±OêÝaŸ·Ðÿ:l]`6¤>úsO:nCM¥y޹] ²ÏÆÃÙ­ÚI–úÜÓИ’¥*Œ…õ‡á_–ÜM¿nwþ²ҒåP¸÷Û{Ù£°pOn0¶Øˆ£èBéRâIôÙÿ—|ôù¶q8ïCÇÐéz@Òx1oR0å<Ì÷¾õNpþ¬LÒ‰ìó©E^G‰z†À ÝV’VÓŠÆB¿C¹ÄýkHõÉÔ%íð_ {¨MÞÅ- VZs6Û©zý¤LZM”dÝÃq‚.¢½Yh?Ý„ûøsº«QÕ`­ÝØRz“º¯®ÁWõBCU¤ì[äˆ-©¿¨Ëð6g¤|¿¹Þ<Xaq/3wâìã>mÁÕ÷Úe¢Å]ŸÏôx²ЪFyv±•¾žÐJÇñxõYjJ¬Þ¶¸ˆÔ!¾³,í†×ô 4ÔH,el¨Ë -ªHê®Y{±øhžOaã)µƒ{ŠK»sÅE=Vf2ß×¶Æy.DÀjì@KˆŽ¯½¿(ò)X†C>¦Š¥×ïWÆ;µAmƒH¥l¶ÑYäœûJwÖHÇ˰ü_*¹´ù  PYñ lþ…@gðvöÝÙÂü ñY¶ñ`ãÅŸ.»J‰ôŽJ;œ3×Á\8žNB}ñwˆ¤ð4/Z+#T -z6…ú Â-@ùHV5–¦>.êëJÛUº*ÿT=FÝóR5mHW1Hh£{ õTm#aëÀ ÑU *ÖB8H#Ä$©£Ü;CóPâj~0)bM¤4$-M)N˜^êÉïU·O!¯xl3Ü+k®È`Ï3w‡^26¡ç·–Æ&±9ä¡ÚÔWzô3v¶£;´…#~&Låño„ ì.óýFÙ¦n·¥L5sP&jÆnå+‚heF)ò;¬ÉeÕg÷x}%£êçn¤€ÊŒeßoŸRv7p£½ÛgTè/":?Cö©/ùï/pîÁþëJeøÔ*ç;ó¿&…7ï“ÈþyD9˜6&_9ÚÙá—_Þt÷¿',½ˆº÷p1½?¶unpÜ|#׈ȴT‰”’Î È(Öw¾¬Ï±q·¾ÂÑͼ‚´<—÷ÍC gnœG§„«?ø£ù6‹›bì ÉZ0°¡¿â³pÛ4)n*þ—…#ž&XŒtÖÊ ’ÁÃ!wùÈBӽߦÓKý ( »ˆµŒKÉW1mùR,Æ¡Z-}0;VíšÎg¯/Ë Ç¹é3²Ã´—^•aW(«²ØäÛ«­%š‹%nã[¸ÝZ€ƒ±eøbAaÔcÁ¬Œ$õ' è”Çð»Àð¤È‹z²¥-|Xðl»"üýŠÎVÏ=ˆÀå7™ämñL}ÂL\©,^MGí^§·Ñú0‹Už`7»è·shôx®üº# —Túw=kþÇ%ÌBB¹Í=Á(ØÖ“(ƒì!Z|(â¯I¨:(Ž&.Jq¡<ÎÚü¾(< XÚŸ xvèìŠ ØW »ò¦Ê\ôvö&u§…“š˜;¹ÖæÆ2¶.<¤Õñ'/°·z½o{}UEŠ´ñ=£BÔ`*Gi|”)Áã¹ñÜÞ•'ç·˜z”õž2ˆ ÄŒ)ˆÕÚHÊË·0H¥4ióë|b5 “ÝT Ö2‚=0=›åµø©ŠYKr?Q¥ãL„E¬0îò?\Õ•ä6ñò PG0ýí•(é>Y¾„˜T”Q?å åYrçõíVû!¯VºÈ>1fn°ñÛêâà?½O\~.Ž]V¢)›ÌÀÔÚ¢á”}·¹zâVÎLSa qرÎ`éÔ¾ä ¾Ü&³!yÜÂõ.üSåaM2%ï@ëurOˆ/ýdY=ö„vÍøEužî1jDÄ[ö¤¥^4Ü©C­ì¤² šù?K'cèBÀ?ÞŸ´Dm4ǹÙY1Ç~ zøãÝ DåH*œœ¿cD•0äøŒÆ±øÿ³öê÷„5Y†°u¨øCÆÖ1ÎÒîÆ¯}ºvói®Qá_êW³â­I®¡?¸#N±.zTồ®óÞëO³®‰ñaWⵟ­%‰àÃ*åvPü'[ۈã-‰Ÿ» ó9¶fñè°ÄôýŒ¸ðdlòÑ*3MG] >ï+6®ŸF4(?=?ĉ<ÐÆ>í À ÂÜ<ývx:²pÙ—:<-nýk3W^}Åû.ÝqpæËçrµ…x0åKÒ¹Q89[»’÷çz¬åÃò;LÁ#OeÑ7êņK5§ãL(yq?=áÍØÄ3€°d&Œ§˜1¿JsËæðÍÏmÉ‹Ü:8 mÆB—åDy<1dN1)Ž_¿†7VzUP¨ä\LNûd!]á&ÞaŒ“î8$;7 $/ _eÐ'@Dj¹áI#O>6lèÖjJ(Eþ—nq3f+½¿:Qz7âÖK³\ìTôÐr0-ñhÒc@¤O R ÒêëmŒdVmŒ|ݸÎf7ÒY¢o@Í<0>ô—YÉGÛU¢Æ!C¹íÇ“lq±è·üÓÃÛŸ±ƒ _—®ÃY“Īà~½€\)dQ ˆåœf®ñ†} Å;<”£[µ¶9W<Â[€šæ Ô)6¦âߤÿÆc!5u2Li1?}^§ºw¯FÒ˜ÃÛKÐ^,QñØž2NøD¨›ªƒ¶R>ý¬âÅÀ‡ÆJüÓ/×tÀ£ÿAè°HO™@行!kÈ‹ü²G3Zþ ²3×´ÊG1JM±Ö,s¥Àƒî,™;@ÔXsf÷|&&¡ûheB†³¤àV})hº·éÏIM}y:Áõ3[?Uçåî°šÇ÷Å&9¥“Ïû»ïŽãî÷䯬ΪH’’Ü¥T¤Á Æ¡?Nø<&al#Ž¥àžg³äkžÚœ2üœJxQöº4Þ€ÏI™ÕŽ`8ñ…¡¸Ç5‰¹¸°ç$XçˆB$eúëµ€¨iPÍäèyzàQ™K7,7¿S¡Ãº—ä¯{o\?Ë)¨—ð¸8Dà”KleYÁÖf\²Ÿýë 2JÂ=éð`×4é=w73½t¼¿Áá5ás1í]7ú‘/´í&H²„´Tk’¡y£†„œþfkë¶ÞOAše/ÿÂ/-£ôY/œ¿¡Š‡ýìðÜ’E9 ˜˜T2aŒ»``»hnÂöÐû êó.Þ^¤dŸ Z"rqŠâ)|ÛtØA¿åcÄS’§×½â Ž×üV) ë)º#ÁQéÍfX—÷ŒÛ“<ºF¥¿Ë{cëFu=ë(%úÐb¦ýÁúÀŠ1ÒùðL?7­p½x(‘H0VϺØ«,³EQNKpûgJ2íX 7¢ú+ȇ¶ýlW8¡‰ÄA|3”7Ò¯í-i˜ ‡hîóù‚ »àŠ21ëÀ÷¨:#gí)ÏǾý+)|—N»µƒ¾¶TO±<΢äbÂTãv› P~ý¡%EÓVHHˆ÷UTé¼µ¥¶\àðA AÅ>Þˆ·ÇŒBÖZ›ºio”k«¤êXT{‘ s H"%Žñž†‚w… ‘±Ì÷Ö›áÅ *|H}±!ç^š€yVÓÖ?¸¦¦ðÕ™F@•î÷‹ ÝÍßM鄺dFg(êNo£ !¨éÇ÷ƒ(0-¶YRrE B.ÓsEÂ5j6)¯¡Á~ ÄW%³ÝPE …EÈŸ{o"ÎCW…Y>H¼ ¢îºH²Ãü¼'§†x‘ÝR©ªO8ɽò›Æµq¶ºf6Ô”(¯ï6&I¹êy”¹D´Fäæ0Çi.ÿÓZž_`D-ÄÙ&Âóš"Z$d6²ˆÊßä"•úë«ý ^ì´u|¥ÙbÊKÖ5Ç5§ žWŸ-ølñаÏå@ÿ©áh/ bÙ&8¦½–ßÌ)ˆ8$SŒzŠ#« ë4i”ÙiÄ:ê ÔÈÚµcž6„Ùuz÷ –ÜoNêé¨1T/:ªö(éß²” âeðß®ÌæÊácw±ž9¿aØ#%Þÿö—°1r‹…M(Í|çX"|~–åS/ùïtɇ°…eÏ‘5v÷d¼yƒà\ßY©UÂÔ8”ñ7÷ÖJ¬èÜ^mÈ}D´~>Çi6X¸“60Ù!JìG§ã>}ßKxn³æÃ8C,ÊÁBþ§»×,Û6ÏŒÒÍ­Ï=Bù\ÖõGÑWº" ×û°…±xvÄñò¹ŠtRÆbɈ°£Jò;øüÚasˆ45›]õžãµñ~F}tßBEŒ]¹ø­1ÔéxšŠ‚5à{™Š3UcÇÄߦ)k0¦Q÷Œ:j@2R}ªbXº‹Ö©x6cŒªY2ʇΧQº7Ôtî #Çjº¦àô–ðhuP‘ª×B‹`À–på0¦à•$1¾™Ê¯Ö6Xã¾aõ-òïL(K[âÉ×y,YÉä@ J×4 ™kqMÄ5#Ô™¼áŽǃÜN3HÁJr ô±«”ŸêP/JaŸ1»åœb£xSΞNsºþ?Ñ Çxó_þ±µ£ §¢jJëkßJ¢ùhÄ#AAÓÆ»žžúŠr­M›öŠY¼SçñRoÝçã^çãM—ƒî–)_@´™¹¹`þ°ÛvMp7¥ÜIÛz‚L$Ý•ŸHõ ÂZ}Ê•bÇêð•¸Éì4#:PÝù±dçñ´BòT|zbÜ$~°†½¾O®òµázo¯i\Á³­¿˜ÆÕþzh?ÛhÜ{t⃠KnAåY@ ­²ƒ bΙԭ:Ÿ¬Rµú$’ô])˜Õ¾>]>²ønvø ¯³^gCm¤¹/“n˜ÍÿÿP3â€&@7fOÌ]F?2]e³ F¨xhƒßDU×ës å”T€QÅ&^«`jvå¿Z . çýó FŸh“'΀‰é™­ žXOê¯ÃXz@c}nãv%\Æ{ T÷Ñ<¿Ÿ€» Jd)œ¸uBº7¸e5§¨Yèh?y?ŸÞgþrÕ;µ<Þðßa¾†ö:î>„ Âm‰ý€*½#Ù¸s+¾j­mÍÌ!7áù º0Õ³KHó•YÓöË]Ï"ø¥ƒ Æ&¹6ÿð~O…±²çn9JaéÐç¾å#‡úº¨ß)Œ×½jLŠªwi“#rÞ¬Eî?5’ÑÒ)=u  &ð†»õÙýÖ È²ô—Yß·”»hþ›Øåˆ1aŽÂ|L—Ç7£O´gÖÙ7« xW)Xc^,˜ª“û¿î ŸôÁ¬§`ئ‰œýí€ý4¾ü•ß”vB$ýiM7(CI:«Ò륛 ï+¡„À\{3~ÂHÛ~+…æÂ·xy<¸Hìæ:•®Á<ÿ פÎdïéÅF“ÿ|pŠä@ÿM¼h>ÄÁTÇ,k12ô ÅÄYD¯·ÞæÐèŒàÈÔù" NÉÚ]>ȇ &ˆ²›|¹h#öÉ·ØÃ/´!èa>'`Ý]Œ#ÚA£´„«A±ûòûDN¸’¸Kx©E^iœXM¥ŽH8VéÔdökPx3á`é!¤Éy>%UE1îÉGDêxW²3Ÿ¸ gvÚN‹²|>M5DÇWÿ¡Z•>bÙ 1{ÍøEÈï–„±=håFÃÐÈ'GP[w‹9÷ ãË +ô ѽãû¼Âå;ö=bí–½ý¶û9yø“ͧC•9)†òÃkFœÊG‰´²æcŽXm¢ØG¬Ü_T¢ýˆOm¿{é‚i÷G©;:×QNœÔDŒ¼bqÈü ÿ/:ó_kÑ!™Ä)É…àF<§ja/+NÏÖß?´r+El¶°æ(oÎUƒ&xPühû)âÙqΤ…[ÔÐðûh¦Ÿžz;9T+K麷0Áê3rÅG€Põe~ý¼®×‚ô1Ä ÁXLéÎZ½“ìέ§¿¿uáß ÚT¬ë´±«mñUª?A^”w¬Q;ùÙ« S¦4Ëz{%ÞGçšÅa§žÀ l§VðÜÑa5 f¯šMgºõ¦¯ p¢º; ­¼ÿå´%¹ /‹*Yö÷˜ü€¬«à§à= Ñ•òr ~>e‘ïLäfz2¬‰´pnæsOsð¤ôf¸š™{¤†^,呲³Í$SÊô=1ùQÒ]úâ}øëüj EªÞö6˜tGÕ/²¹´…†jâÓñµKßÒ¢h>7(L¡ÙwL/›–””w¿oD´œ‰A\Öxy{®äœÒEp»¯õ9ÿ8°Ë?³Ñ£ÝHŒ(:µ’ý<ÁÛéày‰êÖ_ªðéoñ:‹<]DzðÃG úäû…e™}»€pD éa¼=’dö‘OæŠÕõÕ‡Z„% ÿ“Yº°S8¢E€£YJÜAœBްòḆýN\ºÝÑ­FÙ¤•Fvè  R2ëÅt¢iGqÎ ¡Q¼zr†õpè©l›4ù!:è©^(¿Ÿ:]Á굊©Ë &ÅÓ[Ï Ê3B Ô¼ÞÌñƒ&®•†ÑoÀy;Z¿¢¦až‹É´ÐÁD=Ô]¾-5Tž}oÞAÄ-´“ÄÀ¿Ö–Õ‰“I¼Â­jGrzú:jÿqŒ ^ï(àCáT© Ä"®ÒÁâå|ä§°›Íy½sØsý˜…e$ º!¾ÞvÞE oZâÂÆ?Šze£Ukªå?;뚬K²Xg¯"<ªy!\¾„É@æE©=вÀú™Ìe€À´rî(ÀlU‡Fc»Ô»V—ˆ×iA¿¶à¬²Äϵ˜+1ÐÐ~‚/Ê¿¿{aûèãØŒ{~„Q(IóíNXg¼N) (òú²²p±~a¨O%Ø¥V½ˆm³ºb(3ÂHal.¾_„¶âðéNm“ðûá½¶ÆàûUtå³±¬AN¥D N§§L[ÊÕ›ÐE*¯Š×ïÄwlÚÎÈ•ð:lm\Î0·CR®úÁ"å5T êS*àQ£öùÆë)•H/Z’d€û(Áj˜¾ùØ@f¤§âŒx÷3ÈAè”O#¢Óàì•nDŠ âÜQ!0´è¬ ¶g}O5ê*ÑÜÆN6޼ÅíVæ«Ù›¯ä|ö¼6RVI¾-Áù«‰®…+"rÖý÷Tíé;Ø;ºDL €…¾·#té‡Þ…bη¥S¦|HIßQ‘“ô“ÐË®Æ]tŸ;‚*%úELÉ. ÄËÏbN¶?›0âIñå>ÕcÚE^Çûw't¨[h¦ÐéÓhÏrGVœ%Ôq¼1b)¾HÞµ'¿§$øP,Pø'>DF~§FØsݹÁ™êè‚¶ŽŒ©IƒÇÝI©@ôZ:$j³ÌG;QùŸ¼qü[Ç< ÝFd)ðHÎ ºPÿÂw¼‘€:‚x Fˆi£¶vYŒægŽD7?ÿ~ZUA¥ìõƒ¦4õo,L0 õYónè_MÑû©Ö¯hÐ+IŸ9¢ • Ú"äKÑÊᄊK˜,I+("ì.‘'ÌËë$-ùÕ —ûkØÜuìE<á¢ój—êrþÞ(¾ž~-Ä7S<¢~;¼kdH,yxìoí!ʬ‡l Ä£÷2˜Ï7=¯×7ŽÍnü•Øqk¨F _‚pjÌ5/äæ}fËpþ4É Íâg8WŠœrX)i ~ïÓø§Ì•Œ\Hb`o1ªáó[Çä\ÄÊcDäÜãÎôWØ}˜œpˆåzòÌmGÙ@­ ’ÇRÒ ]žÑð‚Ø”_ð…6—o»Æy§9ïÆÀ8J@‡ÁÍʸ?\úuïΛvªülŒ;(…AìÆ@¦Ñ8†^ç 9JÄ]z·Ü\"š,¿ ÈŠE §[Ç5‹¬ÚV)ì*¯Ò¡N’s&¾Hë$Å&Ú¼lŽ.°¨@,†>êç²K_Š™“¸(õã…&€_¢ÙŽÇ|ʦ1J) ­ˆO[㻎_õÐÜ`‘[(&Œ¯Yù<‡ˆ®SÓûà³|i4\Èo¶âȘ±!ÜDk0Í.œCùb¨•Tð©ó·i IóþÏ9Å®ñØ0@T‚gѲw¥zâ⬶Eìà…n‘ƒNÝeƒÓÀ¿ŒOïh¬ä8C[Þñ&Öm¾pî®xx@ $Í7b;q6ž7¬ÐÊ5w††ðMÉ›(g8z5+<0j:wç6kÐf°ipà 8šÑzyʹ-+mœp44Âb1E)ï½ êœ†Õ`_¹³yâ¦##,¸œ¥Â¨ÔZ¢œSæ•w–ò LΟ½9u‹ˆQ°‹Ç&`¸Õ‹`Ô(ñêg°*“CúÁM­¦¯XÙÍÊ•ÇMݦV’à6é3Q>§ØbL§„ÐkññâÛ†Á „–è:øSB…Ó?ð¡Ã:šYxˆÚwü»œÉ­×Ä—˜.‰Kê?eD Ü…¦²â–scî,ÈJÜSö¸xtGzOì›Ö4×jÅ*“ñ6´û)¨F-Ru_(éõ~dfˆ€‡”¯F)ª÷c\Ç&&‘ºÚ§€žÌ¢–^æ·ÕRÍ@—‰owœ$USl–®åxö º_W¸Õt¯aÀ™p.WúiEžˆHà!“›×!8Å[D5l¦šÚç»­Üg¯}±ýĉ4äÔlB»âú, ÎfjÅû]©–œwÈ—û|ÛãQëöóúd¨Kü‰ù]©„7ööö­ 0•ÄJciÒS9˽FdHb]Ðè{à¨ÌŒÃ@ó†‘åNÙ£+ƒ)%FϘ|ïƒy í ¹@õòí!hç¥}•y±*„NL£ÿ;,˜^êï)òîOpz Ô¦4¼8¡½˜äwAí{Y÷µ4^J¬‚ä\þh¥ÊÎNߎÂÿcŠ‚1­˜ð2> ¸"ÿ„ l…AHé$[ï±íì;:æï)bÇmV¤UŠ(.Moj¦°Ar÷Nt‹XiĄ܆ëîóRú~m~ØOëO¿§m§Ä~¹º¹]PfïuS“µ’î?X|ß–˜ LEõcn’c«énñhb ù\Ò…Ï~8¿µö…ÛBëNï@ÞCñâx®ƒŸÔLD‹P?ò¬`£‹îFÚcÑ„5ì §¯LÌe¶íóÉIvibVæ‚ɲ/5 Kõ›ÞñÉA¯JztëíeU*[#y´ðâ•¡áÿx¨å­…Ù>Ìgµ §Ùšä]f‰Ò:Bk¢Î.In-(ß¶´‰¥h¥Á€š|.qg¢Gl¬¾UO¹íwQpèãƒãÓä_~ˆ±F_©ë«í.6éV¾9´<½7&Ô\ôoÎ;gŽ>íf=uÖ,íe?±¶A™ö±7ÃNàS^†š¨Ú/§]& hbìØ0N¨ß9d‹UÆ?Ds`%÷²j¹pÃXÝ›£eÀÃÃD·vtÉcš–Mœ¢cÚvtñïnìS®zÜžjhžëvkCGsÜ]%Šza”âÐ,–1ÚfÁýWNb¡d¨ &Ü!x3ä3ØÐBsÐt8Nù„'§Ë=˜¤Š-¾hØny˜tøô$¨Â„fÓ¾ÔcåüÛ Tp’¦¶>ÑÅU+}Ôó‘½dLñÛÀYW*·T:å8YK‹Ã«1õ.wÀì @)—pœŽd¢ì·ëN¡˜±‹hÒðÒ÷ouq9’§hj|#_M©Ø„ªíKnIù~’¤sl\e“ ÿèjí¢†–›ùÈ £öãÙ#^ÓüMæNKׇެáMä*ÝÕK0ëh¥rTWŠÙ1š è“£9I(ZG'Ïßþ¡NÐÒxI&aÚŽDÉ)Øuìœoå?W‹y…UM2é7JöÜŸL:OM:{’(gÖ RŒFe8`» i$’Yÿ6?ñ³–ïnÃר‡ecÖŒÐò¯-\È®!éŒÃ¬dêžÂ®ˆË#°åÂö᪠+oç©1Hv±¦{Ÿ7ºU5Z[+…!«¿Gd`ièyéi€¿Uù˜oùChÏ„uiIvy{©7¼9€û9Q¡²ár‚mm]GëÍ›…Ö<*-XÉqÚf± ”Ê.õHé%EôÒººÅÕX´¶BÒ}õèlì5,‹–<\®ËÖ´ªˆÚëOÿ÷q7_+Õ•Îä[[?É飛ÿ’ÑR‚œ6¹Ý?ήÖa2D¿M«Æ0*Òu'º€O/é‡ÊèX¾™¸#ú’$+²Aã~X·§U-¯³dÇ.•Œú®Y™{H4Â_#Zõy¹øYI ‹H³ð¼G“̧/hÔ.3û3œd–?[¸9åŽrz)BPŒ Ÿg1c.c„ÿZØùßÔ^«Hš·‰¬Ûž‹ú]îõé¸44 ®uHJ.1zc•6&¢êgyC{¯PYû`ÛwêBˆë­Nõ#¿õt6´JÆN°‘Êi@/’¿Õ“`“—¼›»!hŸÜ{š‰æ¡ jµ'¿_¯–5Ž6°DIZ°[üjší䃿b«Œ\&ÅÝH¦Ò ¿ÓFêì$`Hp©ÍýW²˜‹1­¥ ÙlɃG ²ráN7">ä¼_„VîR/êj2Ä<ë–]Í!Á¨ÓÛ!ãé®–pøxœf\Az ½31î ¦‚mñ0± ’ZhÁ¨tU«÷'~ÿåÃ5ÛYsïqI’Ì3F¥™õÁ dG]?FIKI!JÄ,œýwÚó—U¦T÷ì ‚ø³Ïe½’¸éšeGδBƒ‰Ç (*ué~)Òê¶´y¥ÝÀ ´:C*²ã¥øJ£mZ¹Â¯­g]¨48ab¯óÎHðÆÆºBþ'ÚØ³džQ.¿ð T’¿âô/K]NÈ\Û|Æ¿êd€w‹á«—LJ´øòÃ~•ì㺾ƒƒ›…‰Ë¦Ì EzôÑ”‚«WcbBq»Y£©É$àWŸÎÒ"$ã½Óþª}OаœpÓÈãÖ‹œ—¥ñ¤wºIÛàÿ%îHq ZPXNtmYeÁ¿9Ö]·ù›óè–„ò(‹(½vq¾GlòFïå¥ÿm½ÃÞ߯qð 4'kV§7›/Üüh4FPK¿0žñAi¥ñfþÈcþëLåó åü±èE=@èØtÜ·…´Ò›CÀ²k¸$¢wª6ŽÞ¥"éÍç¡ÆXÛœÞS–6+ñ(]’œ‰¨+PlY"ŒI™r-üàzÁyÊYòY5ú ™ºŠÅVOCìýøÅHb©ìÑA‡[ýç“F—wQ» " ;àe.â %„"¢?lýÐß°öžX3‹&t-ZKÅ*¿,müBIå¹af.uµ2¨G(Á8àÂøJœªC0ÿv2ùúÏ2.Z“;6‹Ò`9§Iæ¼B‚ðØZìÿY #="­ç~tÛÕ,éØO']Éê[ì9á&‹Ëgw·A\c ÏÉîJfô‰Ú$(Z.ù [0Ø¿±‚SÀƒÊ¹ÔD\ßõˆ…3¬o—ÚÛ;ÝÑâ.vM“tt¿öoÌ[(Q2uÌÃéK¯°ÉObÒ.ú“G}%èäs$¯©VôËT½• ì¶d:eW—`¯¥RƒfÛ¼ˆV”ÿ±É•ÖÂ;µÑèo\ 'º9̈U8Uœ‚A¸Þô^6ˆþ?pgñ’ýÖ$‰ÑðóÞwŽéwŒ¾ 溓ÿ@ùÁ]˯ËÕ «T !)3ŸÓ͵j!¤ÑàÛLïi&@ܽÌ „ÕSa|¯P‰?òë§E3g-}<5à½Re7v Ï!3ƒÂ?=Oç‚çÖˆ*Êî‡4p‹ }Æ{ußßä<Ô¸Ó…,22K#|ß­Ç¥º– è.» +b!$TxHP&V´Çe@º/nP*–êÓHÉÿËF€ÓšaÐ×4Æ"Sê,ÔŽ©F$jBÏ‰ÈøŒMòîY¡¶ŒR f $ÄánÓ IÉ©J„%ÒÆ™¹Ìm(n¯™ÐÑÑ Ÿ%YjJ‡í"#µ. ¬a=?œÏlཬ‹QøûR+©’è¢Þo~AvQöÁ1rûÍÙßÎ|Íñ—&/ðÄzE€L Ó‹K†ÿ¤dARp¨ÇÐ5\š‰e5’Ñ ÐÖ àµÿ4ì¸ÝÊ”©.jS¼tó;¦ðE'‘½2DÜÖÉáeSf/ÈvÌ>ütè7oíí¶äýæþ¼\1¶àŒ&&Ó òoÁÜ.4 \||ðHçR»8Av¦J5ªÄJu¶HÃzàã¿Ö5¶?^uÑGaFˆÌ[†Xõnb®9‹Ë½_ÈCŠß&õnqù˜W##Hìß:…(–G.Ÿc{6•ý›B"q†Æ/”4U…®0gZÒZfnÉÃÚ™AuíDUžZ5Âñ «zÞªœ—íBt†¿¦iVt÷yâ…>¼Ä†ì(Ó~‹+¬$’âšÂü"ÏEñ™«Eüiéëºi¡ÙM$-·Û¥(ð‰ÞÃÇ%ã#kͳçú¬?ØÌ@ZKù¨/ä”ÎþE«/œaNìä k¶\ý,LËXóC ©íDÒXo`BŒç$=Û49ö7à4ú½\/w~]ü,ŒœJi`Ÿ^À,(öŒ£´:@#.½4óuGWší($*Ê¢}[³½áãåkÞªîv8Ø?ìšÎØ€ƒ9÷p—Ô»áº>3w”ûô¿H'>ºÍÀÉžv„pH3Œ~h_“Ôí†ønЇD>jEç¶™ûÁ±‹U«+åâB›¨2Ô)5ßr| ©ðµ¼í^+˺öü­ŠA!Hy’N¨¦~X§‡ÎZõfq¢c¸TµÖJ›¨ýáL‚¦$~Í£–ǃUüis+N‹£ßUpˆc“•e+K½/Sqráõö šCþ@0¨Q' 0þ²ñ—7Úå@ÎCC7= ®ÝéZÚÓ˜àãq)Ãkšk”I½4d»þCµ§aåä…ö'x_Lb/ý øÿᑸO(Døñü4§€­MƒŸB`÷yê¼ñŸZ²ÍsØQáL;kÙ„Öªã0µ•n`j,‘l×Ôw6ÌèBG¡¯¦g1‘¡ã—ÌRà³ûINØ1+~ÄÑCƒ»¢U`ç_ð ךV·è%4íø~æóî“/ÄŠëwVV¼_Ò@ÊãžPKÝ=ꇮª/b›´^k~ný¼£›xGA2¨>;ÖÃDÂÖßö_ûØŽ¸ü †Ô;a=a\ä'’–Ëzbœ¡ôGX¥í@%uÜØn×Íî§¹’.+$¿ï’ãÓ8g\²äÒ ±ªöÜ}²_ÜÀg§]Kد€±-¸ªÅáá4Ó°{ˆnîïùšà‘ØQW ŽÐ5$Ÿað0ž)ÕCIñÙ2 fÊL+\}€“$½NÌyü Øl§Î²Œºî/#²û²Õ2_¶b!@ö›Sdƒne>'nù'D±&åz 2½#ï64HÇÅ.T~ÂO˜s¦ùk2ÚñQ.Ú Vwbù/Ï P‘3G¶{5Ÿíº¯q„ßPu)ØñÔ[¢gÛZø´€~”U ^ÐŒL¶›§Ã9'—I·c×}F¹×S,q áLĆбTš8}´mŠiÖX 8 Ô04‚øí@Ê#ƒòx‘ÙÂ!‚¶& 8ãm $ëá‘ÃA|¿Òòžˆ¨Õó@! î'%‰"G+o~N6x‰åòZÍ?×cà ²©÷3×… 'B…õê)ªS¹Uø n6«ÚIìÜGv¥éyõBxé…O 7‘J’6µYhm®º™+)Â7zZJ@g¶¢éÙØÐ­ÙbÖEŒ!Ù²óUæßšÚÛÃ&ÈŸ¢œ 嬇ó¢]äÓ2c>mgäa½Ç‚r\ÚÜØPAÈÉN׌`uýÈÓO éÑ@½3S•JÜð܆é¹-Aƒà§Ád»º§°/þöxºEñþ{—u#s@6Û…¼ ÙømÕóC"s®íµ\ù¼jè˜5¸›ÏúoÝëPžšÐÞwBLqŽN&%g†qX}É Îd‰oZ™ÐB&•¬JÖ£&µ4ÉÆ±Å=¯àN‹m¡Ø#ŽÐjŒ(ýx²|jnO%ɲ¬V£Cî¢3Ы¨çĦ5ùÀXKGN¦Rþ-‹Ô#Ôp‘»i;RFÃ0p‚ÿ{âÁõ†È0u9`‡á3F¡EcI€£{Üh‰¿ã¡ÑtR­\Ž„­¯sqå"Î8 Õ9+³hp÷ÜYš|:ûêÆ”ÜF§ÆÞZÚR0]ËnøD£ÍÕÞoÖ [Iµ$©xìÂ2½7-8]†h;ñùç´W2Qùœ.ßHÞë8[ ¿èàÄ…ÔýSª/ãìã%Θ¹š{í}Gž)©Y½õýˆR©;v_)Õ¬˜NvġΌ8ÿ«´WCFoØP<Ïã=N€ÕÀS§±¦x9Óï‘‘ PY³|Z–ÿ†…µÀ^ãVDb´>ÎoB€¬ =¦Å‚Ê)uõAÕ'2Î]ܶtpö0äŸpßDNÞ)Øg}#àÚ;Î/„â•¿¦ eý jp[ l¬‡'ÃÔ…Ô”ù3™~Ù>&Äö—8äJ XþRxkv…"ôÓ.ñêÝùÏÉtÙ)Õö„{º]锌K ÄΙÃãLá0ÒÞxr—8æ×*•ö×½Ex’ ÂÑÏ٨߅°Ú$p°y®‘È+\»e™Õµ…%Mîzö­ü¬ÈF|!äŒ ?îM¹öœ1Át6uìس&8¥ …ë/Veï6"­O`ؾȢ‚ûúÑ+Xêç:­+3S,˜±oו·šþü5­øû_;³yhv37tgY t‰\²ŸÏÄì ãù6]ÙOã<‹ö:u@!47ÜÜ£h ³ËOû™þø/@hÕ`4e]á(nŸïBHp2^~Ô7žôæœzTlS¶G¹RŒ¡-,רq°uêCðïáL¨žò: D—ØÝqú_¿Öp7åÖ «“¿WÝQ³šNuç‘Pò)é«_dÂOÂGO³LB6î, •I?ʉa›kéSeÂïo¡*çoP3Ã%€aê‡aò'Yx® ƾµðý âæ2WtϺÈ0k÷-7R¨1¹7 <±€eÿ÷ZZî$»_A‚mç§„Gräþ5ôqá ™‡µK[ñbÔÚáÆ¬‘Q¢—Ñ Èp>"èâ² nÊ•™0)V[N3š_dDk¡:KÑoBïìŹöO²:Ñ}|?U)b Ê{FpM˜oÓ5$pÃÚ=‘Àäqf#Ö[•ÉôŰѺé˜þ?Ï£’¸`FžÕ¬Õ~x¢¸Ã.d§O„à#¢¶ã…"R³G Z(Èùl9ŸÚ:_ÔY{3ðóÐT¼¨2þ2§øCðª²G¾ºúb2ïÊ^þà~ÉÔ)þ-ËfÏŠ›ž(8,Žº¯>A{æ¸ü¦|€a54²ÿGÃ)u»T°»TÇB}H刅ÆQÙ\ApƒÐ]xZ †L0#-ÒønD½ùÚ‚C´\PdVÙTjþ¼b[Óxô hôÖç²gr†Ð«Åœ{ê“”öw:„ŸgbX¹b·)Þ7û‡=€!lÇHt§swý0ùóÙÜn­ë¡ãÇŒ¶‚ª¶§!io (¼¸n\ÝÜ T$ù£Ø¯JÉ"½Y•¦…‡h±³(”’ž2xea´¥Ö-š¼ôXëe ° ñ,¾ç¸ ‘šÊZ£óš9òÑ}°µw¨X/»|íqê°¤‚It™›:Ñ u¦–u—Ĉo{>„ G [SA,ãã yƉ7{šò¾‚ÇyC·Ø;™¾¼8wßÔí}ÑOPŠòuÞѱ­y÷»Ùì,¥dôΟëgÉ’ Á×Akqšãb"Wï[­h·‹S¢æãû åÖ½>c+ðÓ–¹–ç y¤†Q—‚TŸÜyëæÊl½MÔ2ºæ4ëÛ(©ÿ{‘ 8Nžâe>ù±œ¡ÁtF\{×N_ú8—ÞKÚFßš9/>@¾ GUöJ~b¸ÿ#[¼‘•ä?_¿¨ \(1´å$GÿQÃi…bEä_å‘$\(õZŸ‘œ*| 7Ú¶—+62¶¹5×òžrCáÉÔn& Ò[©ë³§$½'[ÐEë·E0Õ.…¼÷¯~¢hG_f¥FïâùNWi‡>«Ú‡¯¿§Š#=:Ê >rÍï£n=„ ÑCyŽX/,ÊU þŸ›¸ª·D •º%]ÖoË}¼`³ŸQzúdŒo¾'±VŒv\JFX1ÂÏM¬S7T}#3’|˜ùÂÙSè1ž9ˆ»'¯­äW-£‰#mÌïßæCºg“³U Ž=ô‰*COá e)ÑÌq K¹‡YÞç?0¨³où9Öϳ¤úr=P ë^ƒ7å…}ïžöŒ|¸þtQ„,ýâh(J¥¨Ma!åÊŸÖ(Æ5“ ŽÇ]99#Cî‹è -aœWÖ›Ö¸?«¥¥ß€œ+"?Ý¢âW½Dì.ªXݵêÁYïc?/ÿÐ÷eñ…sìQ&øJGÇb¤xSéo-æ*ªŒ€FA’©6p@9y¶û÷âÃwT’]×èi‡¨…fºçÛc:íìc4c‘âh ©Å®„Ÿ˜©Qü&%¡é¶±IÞzÉLüÓÁŒÌ$ìjIšfZRÆ?ìžœ”ܬJ¾*¨ê4á‚нé fÍ5BBGÚ¶-PVõ«G6O4š9kaW¼s–ƒ‘eõ%íØôTg³m…È ÿ|õÖ7ç`‚{"P0ÜÉ"éòΘƒ–¥õnQÅÃ<®žÈYÌ )KvðÔ&nrXtŒŸ{k]BKEkЦ¡Á|QC¦?V±Éß«±È ofQ³}ÒÕ£† Ã$:ç˜!þ¼q/».¦`Y¾9Ó]e•¹²{ÅO;--1jÙÒ¯¨~ìCŠs‚Ä~õ2~_{Lö“‚ý¬!DaÃmP騹w¾”¶4•8…W`Øú}õÍg×FØr—ñy,Ÿ” ðÌ zL‰-ÓC®}Àô‚pÓžç¨ä¯ê¬^âd§¬#Ú…ÆC¯Ù@¯þÒš(Ìæ¦ú³¡S÷È».1“&·<Ëô¥ÐŸê0h{άéÀðq.ÇÄ«T›Ð2Üz‰{Û3zc[ƒæëØÒè PøF MÈ.o;üþsù ÂÐ^ô¢šºè‹`öÄ¥‡E¼¼g:{nĤwìöáå95 ÕN¤úø.ü>æöEÞ÷‹åÀ$4>ê¦Ø,¾†‰r˜O€ª.ðì“¥ã߉‰8Ç Ž;¡¨üÔþÚ©veøæÕN5\ê #é¡ö.¥Nµd]ÓG(¸_HpÁÃsQ®úLìk`¢Ð@àÕÕ·· 1Ô¿ÓòS"ûû&ðÍןš¹6a4š -Û¨p±j°ÕÏÍ›m,ïRü¨¡ÀŒüô½røÿlmI„;S "†}ä‰<‹`²»ý½*”HíSÉÝ e tJ>»_oª›’W¸¡€DªufÅJÊìJm+ZCš—RÕ ãuU“Þe~-؃Aôý$Ê¿zã©»œ\C>u %²ºBD9´°GkˬëO7€#ªï4à=¸ˆØ\sÅéq7NL¾.@±°z *–SÚA/ÓîP1à5fÒ⹉® û-ožD† O:†ƒ„yz.Ñâ01jÉ“~ò²ÅSJ¼ T h­r?â@LÉ[ÉjÕZŒsÿ·žÁ©n5¡Ë„ÐÁRf!_âÇŽåÙušNöÌ_BÊshÉpZþ šŠ‰œªöG…*àÅÈÿÚÎa¦fñ6ppY¼¿;þÜ,¡Ùú#œ )z=.ñ©T`HåˆAá— V ?cÖ,[ÕŽO<ópæ ÷"è¨g{›€Ù§tj‘¥ƒÊ9lLP%¾çe›‘EP‚ͱÞ0¹þ{ë- ‘ynÚQ–QÝ7UÖ’m0Ïg\f š)E»¡Eö»šŸ@õ^œÚ+çDzæ©õ*7SÐ$ß6ñžzÜZºÚ“œ§¯Êê5P~íØãû‹Ä"„Y÷g¼À x_Vó(xõ-œÓBx>õ.`êÏ´Ö=%¢d?öÕÜœîq”ú‹’˜LdžÖ•–Z.0È9HÈäÞ>°$CÞ¶¸Œzs¯õgÆñràCB€«61ÝwáÔ˜£—/î~©"Àm•!ˆbUašç»¬¡ôýw‘˜§Ìd/;¨/x¡­|ágöƒ¬u¼Aµ8°±2ê§à± …'h²nLûLìÅ‚“¿žvu¡Vý8…º¥7¹ÝÇÄÑ5ª^Ú)ðµ¿o“4Ð7É`“üŠÚŽÙ؉Ìò-é}õ6S`Æ×ÔN›å¹¤ÀçtŒ£ÀX`JBï ÿù‹ó…Y&ÀÍy—Ï+~C‚;1?iœßI½”c¸3ë>9߯ý½s!Y{iÕJ Î˜0² e%päÌ”¯¼@†ZÓâæ7[Šú mú$OnÛ\È0ú{‹Þ½©Y8Øíë×juíOä– &ö¯õ›ÐÕ"e(€Þ¾­J%îtém÷$uå1ðE;4²<Åa³ÁJçQ§ÀèŽO/8DÄ“Y„bÖ_ðý0‘øËˆUe²`ÈàXÎÓœ¹£s2 Äè먱\õy±cžÊK«+–Kì]msSV–—>7Ëßkmj›‹NzÖ‡…À°9`p­³3Mr’Ô BØ;Åh)3ÖìÝ~!‘Rü¸H|6h/ÿÚ‡5x¼­Ë“€b8!„P~ÑÄ×M_ù¹ðŒ‹>3ùîˆ%²tXê™à§FÕéZ¤±0ñÀ±±Í8¥¥Ë=âÖºeÌŽâQKÀuÞÐ’m5¹îèYŸÃFYÏìãù±“ vëø¸l…"vl•±?<ã(G8¢êõ:dªMFð7>Zã ®œ/÷”<Ö`„óMš6\uà|åKé%^¹¸ãÔþ‘»z°r¸™íQ"´Gûé%šç±† ,F¯A›Ž$½™3•ÑQ"+í Ö€1åu%<Ýþ —™2ñîý!"‡£ šïðb2ݳÿÉè¾àMfÊf7¨¹­]QÐ5ìEÎjïŠúË£ð%*§ÙkÝ#Á:‚²7£wX”b˜¥£âEGm‡ejÆ0ÌÅ–òÜws)V7&ÚhA±8rV*X_ýós¹7µ³w¯z¦5¤Uä41±[ɼ܅È÷ÕŸš„¤ôD™”»€¨@H’NÜãå/nMNè>ÿ4ì±ñÔ$|U§nfUe¬öÏ.Ï`r5©õ¿è‚Ã;ÙA9|fW‚‰uÜ·Ú ‘XøŠ9渟¤9Móÿ@³¼0nÙ]*LyLjßR{Ò CÕIH«”ù®Ê„=-öýñÅIbÍ¢@·¾7ó“=ÅfsPí’ŽDƒ8¶ñên6h¾ßÖ¡bótá˜/ù‰R»ä NJø^S¯î~, ðç̶¢†2ŒôtXrµ9¿/„"}K½C¯$ËÛ³ƒ–—¯–3ñ´l9d>³Iß[寧>BÜÁŦ>ñÒí'{½¦Ïh¦eò¬µpåÿ5ù*bõ›}2*Ý&(§ó\L“âæN?¸t¿fJ BïoàòÒš øOÕæã-ÿå„2,ò%õQ°Àúäè»7F«RE8¦ÙÅQ@ŒN7å×yßú·‰ºÙÔ¢Ñd'»jÄ ó‹%O¶îpÑ5sz´Hm›À tõ\P¨»^q/U£CÅì‡Õ3uhþ¹q ÖB’# Ú˜d‘¤7ocSZë>Ú§,²è2Fd5[“ïeB“ÿIHzê”ä²ÖwqrcõÒh”ܧJžJhä1êKä“•_2$Ä ÆBv Æí'ÌÜÔŸÿz½§úƒ¡ƒ³Ðȹ^Z–ÈÖqÐôR™ûæYDíéc >rIt%µO°þÆ¿ïM±—mf?l +© –-ÁK’\ü%8´Ò=3<Ö÷³OIØzôc)ï5ŒqÂh"Ëkš肵dÀýÇ,¡ÏÕ°H õvºžŽ°tÌŒ¢ƒ¬t7Ê›ãE‡RFòvTÑÈÍ0x€%G}©ö;„Ì ØJU³®H³¶õˆ!–‡î› Óe +6@Âc½"aëO ؉‚ù ‹¨‚¡y…ê˾ØáI ¶\Ò™Ð@T¦]˜…PÓ|EÔ½óùèhÎ ~ê&!0šE&&¥Ö¡t`‡˜Ô¾“Ûº™!óü`ˆ¹m“ôr Ç¿æ(C¹÷ÛÛÀ±¡†æjæpcµIÏÙ'öŽç×#}°“ž[¬÷¥q1ɯK2dëozÄ/ñ²]±-‡åÕö¤pxíÛ.ÂûÓ‚<<[3Û¦°m»²¿ Š·:ˆº½GÛ:«¦-‘Ý–(ÆSúLýÜ¿¨T âêC3)¢¿ì%ìO'Žâân=z‚CÆñjjBš”‹ß—Ž\eÌm–¾X”Ô“ó†^¶=Ï'íºˆx-±µÊfõÚZi¬óOZ ô}dŸúÞy–~SÑÑÖ (GbPôû—ø±¦Zbò­ê¹l4P‰Ì2»‰¥8öƒ‚õ–6°ÄŽ2¦³bŒªqï–ƒx@¦8yj$zC$Ê|Èz±/÷>ÒÓ7þÆéo±üÎò¬Ïg^.¹ï—°å°¿‘éóAHùM{B‰2oøîçÝŠë¡ô^:@v@ìߨՇۨÍw+¿ûÙ,÷VÖ¸ÁD<¨Y÷Z.…‰¸±g÷žá ¾0Òã$aþ+ê δ£­ê;ójé¶ë¤V4ÒÒ~hˆIj¾' •˜hAa þƒp.÷:¶‹Jy ±õ®¼^*äË”TÑz%<Ñ2øb\^~›—¼æ\RÉ[‡æÐïmÊ>b£;¿™#¯÷ ìsºžäß×Xµ¶ %Å»³mÑ ×a=Ïe,a=›ö¬³# ·ÜWx¿ôë¾>£d$”†|X‹›Miê}b÷iWVê qBKÌŽw F™W€–ôÌyØm•ÖPËô¸´Û¼¹—¶u‘­§ö_aØ™Z¿®ÊÀG¦‰KëˆD&§pí 77ï9–wæ¦òBÀD13›Â3_Qå‰Kì@V:z䩟LŸBJZê;çJ¸xË •ü)¾Eàý¼Cz@7¿0•E“¿”_hötYÍ ªëû• jÒÑpDšoÕRiÒBªâyèO8®3¶Tç#®ÎTŽ–F°zŸ\ñ"‰×Ž}J!Œ<RmCè^ä>M–Ó8Zй¹ß¹ºßXåè/>`ÎðNÖž1Âú¥(ÙeÔ=/pE<Jèkû77˜“u£–”j^à.°„õô oXÒ¹JÄXRf;{éÑ0Ô•êì5qå&ÜYš9«“¢0ÿji°ª²›)ÆÌÕ&ʵ¶¤`ž}HÓ‹0$,†ŒIöèË"ë#TB¥^!)ä;ÊòA@uºê|Õ)ÕÝÏX’»ýÒpH·||þ)ÃÕ”ºÀÒÜ–“ ?9+ÙœÀ¦ Í$LhªÄk îlY¶•¤H²”ZKƒû ‰[qÊ@5lowVMÙ]"¬X2ýúé­¼k;úÚbš‚ÚÚi¤õ-#7dzÂ,¾ÊËó8Š–ø0äb ýÚØ¬{6ÜY~K9°êVŽ~8Kl>Œ‚e›ïA}æôd&.yM -!÷§â¾ù¦Ò¥ÁšS¸Lý¢¦êIº“z¥+\_eüN›‹Õ“É@5 Mz¨Ûˆ\<ɦw™Z$ ÷0ökò6¬]óçï{yˆíß3S¬Êm‰’€#Þ¹ç¯Me kÊH+E,æà}¼™æ7FÿÆÿPºâ›$¬.š»œ÷S´ïÒ;5± í^¹GßÔ³CíË|qëK°òÏ wÔè)xóׄ·«÷v;Û$Oá ºÜRáõ‡cš0–s×·¥ ¥E·âz‡þ)°þhß? 3?½‡ZÊöDT¨`q¤ bxÃð+J ‰|;z•4/«6Ì»jv Uw™+q‹B`–q·,öS³»È€É3oc¼†>îÜÄŽ…O«­éŒ'r!ªn¿0÷ ’$j=š@# ˆc0…éQÀúÌN×¢ ü°²3yiî³ÔYˆ‘4&äÄ„¿c [UåÿHc¶z·'8l‘âÔ¹âM’€§A¾Ùjê"`kÙ,yw‡§‘3Ègy˜x·üÿïçy]hN ÿK"eZ—.*ï|ÈtËÕ19œvñ£×>¾ý8r¿Ö½ü7«ñâ-Ùןðj&¬ÇéeƽP/OžòËk]¡ÕLJáÒ¨Ú‡œ þPóÉ¥ø·s–B?±Ðvk ô82CªÎŽÀÏt‡H/%`æòåT¬ UV¬Ìn:ûd7B§.©»d·ÉÎŒDëžGÏi†aEîGŠÁcίÜ ‹¯æ4‹jµÜsZjEˆOH¤¸nVGþ 4åGÍlعænZsŠ³ã¦•YÎȪaj„—àâçþ—xÅöcYyá@8àtÓ”‘> €®ùþ¡Ö.¹£Û ˜Ò†»wAî'£¼²&¨¨ñ¥XªïÒ)¾¯p›iI†ì¯úÉ€ ð'¨Ä4C¡wj ž†ÎÁŒ>‰ƒÈ+½*Ҥ̹sçV¢Ç5=´‚-¼ÃI^§öŹëÇ œÇtE¸Âkª[Ô¶ OÒüQl°P_Ï-oqœ)O?LM©Ä/&Yñæë¡×W˜« ¹X[DµS½í‰šzeýøaNg®)-íO úíÛ(J»÷7ŸM8B !ŽîtÝÆD\µ2,Ÿ÷{îó@>Ìz/SG?²eùï%õ)e?,ëÖV÷‹ŽRIáÑ·ýÃG$»ˆ$d-|>PÌgbµ)ïš°)Ã0Ø L§‡)°Rìáãž"Øž™:Òâ^Ø"7ç6–¢À®Qy¸¯aº·î¡?Óaª Ô¯vdä¦ÙÅYìýûí¸!ÄÑ)<ø£F"0»Ô­«—9[èM×–2yÈ/ÏC eëô8Y:Tí•Í~ :\Ëeî5³èdP̺ƒˆÄIBað'Râ_¹È Á.º´\vÕð)) {EÉY¨Ho‚éè{UΡ$7±fÒU¼’"¬zð½Â›Ûîk:¢]…Ãý—.Uã\˜¼PR7ÁWÓÉ6 ¥Â$/°M÷;võ‹ÜÇÿçµ¥+¡.Æ%Ù\ãþxýì—ePßyÕo;<âÂئ'e&FÛ+üæ[K«#77¿í*Vï¯2å ÃŒ‡f¨»$32Öþ{ÖÏÌÏH'؈p¬A+n‰Áq•MoM69$¸ëšØÁ.žé,ÜØÓ½`´P<¾V»ÈÛ ˆø™ käÕÅGø¼ŠôkZò[“52Á›:0b¦}.P‚˜2;Ôñ ‘¾2žØÚä&)¦ÃP´-­X 0ç½|.¡g¹M ,8³EçOÎþ. qÎèë÷þº4 ™`òá`H §RaK·>#Þ'5«kRzeƒÅ{Í«Ü0,\z•óŸÐ.^ù«êÞÓ€ûHï¢X¦ vƒGäððé³®ýÕ°@+e@–X¥™ª"÷¤xˆÍ€É‹ÊÂY"Òè¹í x•B+±ØyÚ^ Í­}AJ-#´(­%Ï@Ì9{ÁxFPÔ䪾WÑSŠ%}ÉkäÆ#/x(’“Ž(7yÉKÁñ/ÃYê—%x‡®%샋WeÃI]ˆ @u\!Vu€­MýLö–¸(õåI^{¿¦Óþg‚ä[ç€9YD7}ܯè ‹Ö‚ýQShÇÜjðî@¹d…‚Ç}²å i¥ÍàAt†I6ýŒ6Ðà'pu—`„ü™$"îyôñLÆúOïEnp ýAË—Ï”$N…ñ*]4:8U|ѺÕîç±r!Š\’ªi™÷ྦྷǩŠ]ÒÆÁÝœ!9wón€|­pÇÈé·ÿ[”ÿRRNõå‹ù>ÏÚSÌ”ÿ]𨀖lçþoõÐ"Öàz᜻‘û(´sôœÞò¤ÀÛOTxš^¥uI—sñž^}ظnåaßטç½õ¨˜Yé~CÏ¥«ýÚM(KÖ´“1Ë¿& ‹y¾Ê©E“Ä@¤‰ÇöÜþ„†}öºA_ þåνƒÓ—píÿ²ÌE;ÌÕv“*…ÇÝ5œ,n§èyé©ÉþG9%ä¼8÷’!`ɂ҉>œ9í/ØÛ°Áûo+;Ô["²p`m"JÕ”’šUð<àÊ324`A¿»÷ÞŽ27ö£Xí`¼]8¥“]IªrÑÑ[ݶñíVÏ@JI»8§2ŸU¹þ Ùù &+Ñà 3:5ÂhŸçvå(§¡Ü¯†Í«ò·¨ 9@<ÓT¿|0¤åÊÄ“?í%‡IMsZ24༴mˆ÷ÃýþljÌÔÐŒ¥@£òIn°xÁ–´ZÉ~uISOH~x,åÕ’ca¤Þü_ –LX—õw~äM¬*r[µ‘Kú¨’8˜bÃùÞ>°ô ޻ļ5ØÁ”æ1ÄQ¡W²+,:®‚gâÅ㥜>•,CÃ’!}çæ Vƒ{Æ"pe›m¿gí…ÖÏÈ­ÏÛ°©i‰ˆà=e%í+¾[yh3¥Ø¢ã‘3S"&1Åm“>OWDÁD¥TÜ%†õbõò‘{YÉ@´øùO¾B¢–<eF—÷ÍŸc¬‰•ôï5/'¥ZÁ+ÈmÎ)q6ùJŒ®b_Žòu2½`|óp_]\† ‰ÅäÈ =Oó†R­°Ð±gø«¥QŽ·’wT‡L>f)jÖËî@!ž.Ïó_ü­s&ß›ËåЄÀ‘Ä¥w¹{˜‹^Ä꥟ùú>òË's\–\{ô9ð­U#§´«ÌÎŃ­š#d¶Ñ ÓD3›DÈE‡à©oÛVùáùx¸À4—ßšjÛD¶ÿßÀ$ÀôètùD»˜†*ÚxÓ_j6>¨{d|(N®&£æ ›:„Ç$.z›œ& Ñï´½ØJį:½äÆb_xÄ$©ºš^:›;²†O8Ï\Ô]Æ…šç?»y雨T<'þ(Ê’¢$8Æ‚éÕIÀèÿ9… "ÇúÀ‹ºZž­›}4Hƒ*"wcØg¥ ¬!=Ezóó·blQc@ae‰µ"ñW(Å7g ¡§øB°ßº´4¼D;X€¢ duûÀÂóvÁ‰U*ñèm¢RÖÁÑ÷#«O˜I#ѶÇÖÙþup80èší¾’œwËurQáäbA<" 8é2™®:ûlZÜè»ÄF¨†ŽµAÛ$rå­ÛŽøé¯ UÛè§ð·__¿ àÁˆ!†BJ|{Òx¦Y®¨uE…ój»žç¿?ÐfëËäþ츎¾a^×”B˜m¥„¥‡ÌAxÔÏ€’sà‹¡¦{ßN㺲tˆÓ'°…ÌcÊÄ“¡¥ï3¸“×ì'_+²jЪQ€Ì 33œ»wçêø¾¢.Ö(z|×y$ˆ”3•}T-ùØ lÛ^ùwß÷|g¡¥a !/ªºèæMp ¬O{¾Ñ¼Ê³‡ûpèøQ‹Åt H`ìhÄð0%Ìk/°¶Ûþ^¼Ucl¾œoûŸ›u3Ø(IZ‚7Ð[L'*Ê“«‚BUÐõûÐ)m6ÞÊž¨&Š>‰¡›qNîµúþeZ³Ê|%ôBr8gWÂÄ|.™’(±’GP1\}åìÏZòÑ¢@ö õ”0r·|3òbPÇwÓË7G~F©ž~PÔÕºka‘¦–b ×¼åK…\RdG0|”dá —ŸœWª¦~¢üÕ!&Fz•Ñ¢Ü9PÚ“¶cªc:)ú û‰(ÂSªŠL?úþÑ?|…™ª )>^ëÁRíº5×…D¥Ù™=¿ ë¾XùâÊIüÿ”?n§Q_ªXc˜#cý@°µÓŽ|5¹Åæ«´xm]ÉÒ'Áf¬X;4ñÚÿÀáï/ ‡ØüëJºtV%slÑc•Ðs½¦Ô,¶G—ZnÆ3ºK’`.ÃÛzÿá|„S`ñ”=³CýùÂ^îåx÷‰°GvR¡i,ÿt¿APEDÌGjÈM+%Ÿ´š|þYfÿ† uÄŒ÷«¦b5ôÆd`9Š]Éñh4T£_•RÙåé|)<,-üˆéZN/Ç¥„؇Ö¦(š%$W'@Û‹ÎlX…'æónôì$dƯB/ÔU«@¤ ïÜ»EñïšJä/Z"ìÊÍÝ(Ñà%c͎͘ÚE+ÉzŒ£Œ"³ïë÷ÃÐÌÖÙ+Lè+Q Îþ2èÞñábòtΓ·l†«lû]Âìî”PýÛ}ÊùÂ%µy.K°ÔlÛ¦ýSgë·é÷Gh&‡20®Z (Ë6Kj9n•áÀ:êÓeŠM ÆŠþdïE.ý òÁÊb=_@¹{91HdÒJU’ÿLõ^-«gZ5®Zéc¤-¦íîJDÖóÀê⬱ŠÌÝý ATIƒÈáÉ5hBÒ^¸4”v¨pÖ¬Õ·kŽþ&[¬Ä~†Â¡aœ•šØ×%pà³v´º ÷ü ­KvKÛ¢Þz¼ò•rÉ !wáHÍ;ÖØFj§™¿£Ãijyk13½Þ¼²ö ávª†dÂP골‹}ß7*¶[…–þ9Û½¹¾zU¡ÄÍ£"TsÿÀ:ŒõW0ŒÄ çàÍÔàÌ|±cíËbD·%› ú{ÞGм‡vÐ*@pí©ÅÙ¾+M¼¤ñïÜñá¡ô” Ž«Z¸Hã bqsëü¦n¯:q¸ ¹V?MÞŽåáõ¬›M°Û±#Q¬¥ Å=—¡ÜÃJ¯iKou×R¹¾qóm¤œ -:äÄðSb*zÌAÅˆßæyÁsSR×j–a6+_Ámê­aH ëÛ¾ Çèé©ÓI³ÿ7†¤¶Ž¸‘@§­Ëø‹/²ßáöXx½â-,‚P @ !ŸZ\²1Ô^>—Ê!2 ¥Á°é·£¦ÇŒä  ÃmešÎàåÔüü9…¨Í¥©lB…' d¶$Ÿ:ms¦±8éw:‡æQ|¸B]{±)rƒW$ÒÚiW&c†ý»®y{À@ëÓÕS/@Qoiú~ÚÒgÿ﯀›22-=8" Æ½*¦Ç UümIZŸ3› KXÐ^½O^„ qT§ ½¿ˆù¿ßl~göGИ4hzjAÁƒ9©8 w„qU9}¨ìlf[Ó¯p|ƒa¾G|ªVfÓ£É_k[ðÈŽ·Üò—J×Õ‰àž6iiÇñyؘ&º§aë&/R¤¤‘ã)¿Mk®'xf,Ò…| ã”Ü]¢ÕÂT0b —Dùþ-LY_óœ$@F€–ÔN` vôøC ç‡RµB_øÏ¿#EÛš™‰­®²÷̳¥þ¼Ê"³ð¶°ôÂpWßï1ÑÚ¾ó¡ê¤©4§­Âà|&_ ñ~y…W”û‘ss†á¡¡—±D°‰«n¶%Ï<=¡éÇW02Ë!ÏÂû €š(>’ÉS–ìfþ#y¬û{Ù|d—¼úÿתüÇY¬óóêÏLÊ5Ô · 0ÉÅೄÇéÏσËFö@g i9"6&_79‚ ÐAP$èvñJTµ»LÍdZ†ªe£õ-2Jzd8”ØÕÃcEœé”„Xóëø”$N‚xÐå¤6>Á=¾"åóIòG=ê<œÐ"ô€¼ýŽœ—Ùé@Ûb3o |Ët³Fg^Z­‘¿iÝlç©ÆVvÚrE‚}º¨è‹ú”‰O[ÓFS­º²Ôìj¡Õ¡)޹E%»xì¨Àeª‹«F1k—.·¸§2ï P%ÇêÂÚ"dôàªmm›ç×Hïz.`ƒ4ÏbV–ÐÒ²8Æ'… 2]ì-ø=¾‘S„GŸ¥üìvã_ÎzÜt²“x— Î& `zBŒûLx"ËvxöSz±¡‹LÂáaTúiL>òŸ«ý8gò¿º×J°ÅΑ°6¶2޶‡SyZÇÑjûÿÂcÇ "À¤ƒ®­aò¦´¢ÏCÝoÙ>øAŒ´xËZ>áèV"aØ´Üoñ+wMéÕFµàå†8B¹Ã\·>ªã«´{¹ Ýg$dDlæHÅG»Áê8EЧæ4Tý¶WV›'²Z·ñv¶-Ç“EûkH-¼ÎïB×PÉw laEȧvWŠë§þ eѶèÿù”^ÀÙ„6­õEí¬\¥B „"I2F¯¸Ž‡ÉühÔH@ˆ¬ ¤xYyÙ ãÎÀ* û\¡…¸Š-/b¢2i¯4ñˆ5aé«s³–¿^úïПÓ+rc,ø¹ÁQd"Ê£ ¡jqÈÑß­$(œ-4£„ÄÍ ¶¹oÛɹ¹æêË•ùê'¡©Íö¾\‡ÓUÍ<ÊÕÊî`:PcŠÝô4Ũ7] q@ý…$“æÆçˆ¢ãë¥ ü”ÏúMlçr­ëƒ5ñÑñ,Žx.ÜÚ?˜]~²$bûÄü^ŽS·mŸ[ éÄYL‚N9\rÁ9IlðÂÜXÂõIfz2s¬oWs—$àûù¾ô>R ÞsÇ ÑUWY_¦yuBúQ˜ð lÿu‚t‡¡d6Cëö¾èÞ _ eÜò­˜¢o¿M†^ÁïLjFgD€YÖ"ƒýP¢¬K …Ó•P”€ôNì6¸Y Ÿ¯åÂ"‘Xäg¸Éó?ñ׳w-IÖpôm9БDøçE»QÈ«^‡ÄÛACÕVú‹Z|…ñGòÖÁ¹jƒ›pÊèõšç=fõHî Nøe §Î…Ög-°v4Tú~Ø€¤· ¡¯ @Ýå4ØÙ¨W”¤¤ Í“¢Aä˜U°r‡¸¶à16tFæqd˜‹2?ËÒS¨ £(D8?0y† fòºaŒôù¶Hs†@ÍdÛaAh’¶ÁÀç8H…¶¦{9¶ú?ÁË Á)ÓÝìá °éI›ÂÁ£–€Vå]ݨV'ümö%­‰?^JM´ ×Þt’2`EW-—-¯YÚžõéA{, çlÂíû}+ ;ì½ F¢D@5$#Nš ï ÙžóY ?Äu‹ÚÑÚÈš0±Æ)9á~¬Ò0·ùDX.Ö~Asã…]lDU°j\ŽQuªçïOš|—õhªî’“˜š8‹S¿#! ©p•>¡ó-ñǦ„Ü `)¬ØÛ¿ç)sðvžáÙ/× 5 oyc’onÕ‚µóÅ^¢½k®BIs€ ÌM¯Ðj¶ /tŠòcÖz÷u] €ñ‹3Êž‰DЗBµ©hC‡‹vÑ 8ÓôŽDFŽ-oñb=/ ¯‰ ÇÆ›“õu8¤oÊoŒStÐ 2¡ ;Œ6c-4Hïn5r òŸ`ølnÌÌZFlêY”“ÿOg© ¢äá¤èE‰_‰ýÆ'F5=}¸¿2®qHTÝî-BÂ"P»•®Š…ë(²¤‹ÈK'EN©Ð?¹NæÊ€¤Êâb˜sɧÕm’D–fÝÐÖÌ \⇺Wê²#|ª.äm‘०F')hÔºaF{²B¥~ulØÏd~ññ¦t¶¬x3È b€«êµ#+V@Ì;oMòðBý ¥‚·;=ÚVâŸJxCø_jÁÕ)ëC÷­M¿¶5äZšIé;­ANÍš˜8ÀBÊ.—÷,4/ÆÐí³ÛÑ …±U$6ùòá{÷/rd°…íäï@Ò¥½?ó®Á掵‡)ß”d;[Èm§F±†Såå @ ® R9`j!¹sEº?U»pä(r™žIœÕ$è¶²Ž¦\ωu°±þatKóƒŒRÖ™œ~`S3NTdCÛjɨÒ›‚7Hó­U8üŸ»øÌâ8|gϤ@. aÙ}Üê´³¿É¬õsM¿B{³ù,gâ’EóŸÕƒNxåQ·2ué’b§1hò[zåÉŽGÕe«ŸsÁý›I™SÈoõàÀªVø»Xí—öŸ8SÎ9Ä«ͨö€q¡qÈØ¡¬ÍúįøVñ~`½ô¢¿mvjÓ‰¡eqO³0`ùufV¨>B6’y^‰‚@UÙW' O¸®s–xSêĥН{œŠëø¿,›hØÕ—ƒ°?ß”òºhõÜIkDÐÊû]S8Y€2¥ÂŒÌ9_ã¶5ÿiÊ×™XÜŽöcÙ­|D)¶/â¶èž5¥ªe–.ç·MB+ö3»Áò‰sæ7®ï›caˆîýs£·ÚHOTì(0àÝé,«+¬Y¬çHœ5ÀúDĉKhZͧœKŒP.+ù¯·‹=ÉMo:yU’¾Ð0~V—]}Ú2Út€™'~W-ZcòŒu·œŠ3ðØ\W_Z/Î7 è4Ÿ…w€|É‘’!®p›ƒ"‚©¤QS϶ºf|©Sqà\šÃMêîÔß6 xŠ1º‚%NE 0ê˜ø‘‰õm‡vá™*©.Ö™".H]S±&3Ù{ñE›Ši}Ѻƒáíª‡ê«€Üäbas[Ãqköô'O! Q ÔéÏfîþ¤ ºÙ?‚é|×Õp Ý 4#§wÐÇY|š‹õpM×4ÈGðÄo*L ¦ò¨z²ñ;Úî›~“ïÑǃí‡ßœ#å,ßÉÛ1OXÃ/ƒüLÄóŸ˜ÖîƒHÁ LˆH•ÁŸ5ÛGÆ 9ö¹ËC‡ ²#™-‰Â]7âcØnt¨4é¡#ãúü3"Vè±k£%$¨Š~zdý ^d>Ã0y™EÅZjgçß"íOd^¨ÈWðŽÿ>èšžÎ=~i÷2U¤¤0{Ÿ¿;\äûùLSfŒs xwED˜Ø¥1ù¬¿Û33Q{Qe wÔ§}ÎVþгWÉÒƒV2p<ãÔ‹ÑK{³Aà6Q£¢éspý‚ONmŸÖ|¾è¼‡É¦P M+ÌÈ·vÀrnÏ}5X’ôv ¢ŽA4£¹—ù|Kè0Ù5M;j"GMñ¿M¨&šÙìÐ3ZÜE5ò›W+3âè8ˆ(¶‘§øl5b²Ê=ZÉ€F )£°dŽcK a½¨.D%:ˆÂÅ žËûóMXŒì5Ù%6ÙzrŠ7áYy[_ùu,d#}™Ríôg½Œéa¶ )¸Mf¤ ŠS,`Â6 pýª‹¢1{™.½ ƒÜ ‹ @)£räþ§ûžÄ452ý÷FÛ[®áàZá܇¶Ö‚5¾ý÷®í„8òÌû“kÖìd‚ÝF/¸ÿq*ж œº¯¿m,æÞ†_†üÓ¤dt´­—œû·x䲉ªAÜükP\\v·ÔfÛh$qØ‚MçSò+øÛàÒîaZ÷FnXÓ?÷Ç@hÖOê ÖDwl ®;e~˜RÀN3Œm1yû}/z«0“ž!¦™›IC°Ah†v!Vg"\Ìt­o¸3‘Ûb—Fžã'>5ÃèÉ]«H?Êz×”À×êðB@¦í=1ïí:¦€ç_bóŽúØýš°uó˜»ÎXe %{¸ ¤ð¬òBCBeNtîS°Nñ8‘Û7-}}f`׎̀™B?¤)"ÓÊG’º:³ù)è˜ß9ÙŠÎhŠ‹U—‡_<‡ÆÚžRø‡ VÓaß¾XÈâêŒ ¼¬¿ÅÛ;ô×ÜŽ&M2%LاÊÂÇëÊ“‹º_‰»^ x‡ôÖÙ› ýuË·îc´wÃü–‰™VÊwã‘‚Ûx(½ü8ÿþ‹–IJ@żŽN¾Q÷dÄÒa/ Ám` ­Ya“uY";$&>ü·êÈ4fºÒ‚ìr™ÛX®¥YäXUÚXäçÔÜB¿`ÆáŸ‚OÆU­ ‚~ÒÏl¥¬F•ÃøŽ<‚vÁˆ%ö:¡Â¡¿ßéå<ŸÃÃT”c–”±È 6?ðƱÉ1;q…ÅÀ´ôaü¬Íÿg¸yÑ!èøHGÞ+G„¹AöçNÑ*ºnvC×j`TÀÅÌ@´ †£{/6™§ø˜ô.Н~‚ò08r_f¹gµ78‹ÀVÈ6}­Àà&™øYo –ûÁÃ|-T ø\¾ ]7tÞ;Tß³î 7Ê ¶wòˆ˜N‘+v °©üç:¼ú&å[VêÍjÞ–mèå@óÌø«,à]bäᵈtM ìï]”ÈBJÞ=Žs! ®NØhÏóð‰WDÓÎt.¨¦é¾ÏRÇX,>£Ïô|yëv:çü¾®ýn[¯¤_÷}”cîïͪkÝ~o÷ùUyOL•£ÁãFQº©HÆ è üZH«^W>Ä-«ét/R½îN|¹¢«¢h.A[é{¾1¤™ÎX³ŠU7u¡d¸q'ÏÕÔíï7Khèhº,­¤7hÒ£(ÖuV/¤ì·é›Q&‚«”“L=D z"58RÛµZÔ€ß/páVM˜és93òÒõ…D§(F³¾ñFÍåù~ÿÉ[Ù*õ^V#˜ˆl<÷φN—ŠýV£Ú.\éNÒ•"EÁÏÒ…f#ïBÚïq<¬îŽ©*F“rÃ!®Ÿ¥<§–J=Æ‹³i½Ì· ¯gÄåyÄ Åç°MNMs;}åöU ñCaN¶ƒŽ`ÁÏ2=á‹6Œ¾GtúJ»ê¸ î <‹³L,ë”–#§H•Ÿª†Ø;—€ä~üe èÖÆ q_i~*Ú:«/Kpå¬þÈú97{`ªƒ)è÷)â¼—`ì^v0ÖõÆhɤ¨D»R¦ )å‘\ýñ²+üåTò3!ïEò+éæf¾±º­-Ëí½³J— •q¼ ¡¦'žŸÙu݆€ ù}+áj.¶åãÄ ÀÚiZï§5{6ãBh ÊVús&§ÖŠ+‡Ô¯Þí.„fIdÙ[6ŨxŸÊ€8_|¶ºW¥ªÖ‰} ŸÞÏ(ä*=ˆ¼½?3}¯mš¢ãˆ.M&R+“4ªë÷ÿƒ#åˆFF'˜WÆzï£/\ g±ÚXÁÅ`Ôêç7yA.:f}DÙ¹XöÞų7Ô$=…ñŒ˜F*ûJo›ÇÄJï³vñÔUb‚=ÊgCs¼iÊò·%7é0Å«,[sˆÀÀ²n|ŽÕ¸³H2ÃÖÕ"˜³Ž†¥ ÖSWRÅýG†ç¨¢#ߺÖëiÓ‹‹ßéP¯0¾ÌC!_çddrhÈ1„†.Gãm¿ÌKfŽa& "ÃAyèØÐGfÚ¬KÄ%ˆ‘­…¶Ò÷ zêAg5¢-©ÂÈì@bÚ\4ü§‚{ IP¢¥PÈÄõˆ©$>VyXìyR¨T±Ø»%5ä‰Ç {ýf‡{¦9P\B>o*ªjÇ×õÜc½.&,|$£í:¸¦ $óßý»Æ–¹ 6 SÛ8=›ü}0ñL;YÈ‘ÈMa„k>µøœàI#ÔÛ<õ ;©Ú´*Ê×]P¸°N&Z•ÒÖ{‰fZ$½Ôö UWÚH‘¹74“¤D%VAéf|.4—1 C«$Ô¢$™ûÓ±NV6¹ž¨¨aߚΪºõÚko.ŸÙnõc:ù:çýNÿ@MGL¹rTÙôQ8¿ð½ZbºPœHÐYïè…‹ë{/$ª½j¯ÀŒº«.Y¤ØÞp é¸ ÊàÞÑ6}k7±?R<‰Ú/çJó[“»¢^ÞH6‰…‰©ò²ÍGë_Êñ«î¬×oO`ÒåÃØEà{Ù{Þì‘‘>? XèTôËLGZKJ•eüEò«ÜÒ;†ÿ¦”>ŒIÇ—|Çžõêáå:+=œKï—í‰]Eä…iâئmº›_Ì ¿ c¯S’@‚(m©wÔžu‚œvØ…éÖÊ÷³ã0•ê{!Æ“ ŸX¥DWgÛ—|3“(âv‘ž|.Ši‚LþdW#8‰œÿ ùYD\Ý%:Þ±CQ”–‘^ÅhÝý‡Ì¼,i–ó{ ÏþHáœá†æ-8äºôúµÙ¤¿t±5ºƒ9töCw±Ò&Þ6LÿP‚ß¡²èé¯"ãÚaôQï¸9R~#mRã¹tñNÚ›9™ÍL]†Q .´ŠÔEû¿úÞ7¡šç–Bch¿Wà‘4ó‘ªlqWõ?‹ä¼Îdt²]Uᥲ~ †cô/±y_J]–!½ã4…VyDÀœðÉ`Ó°!l×Üð@­ò 呵`‚Éên´î蜥¡‚±O&¨j9 ¨B=fÛ ZÒ9­Ë©ÆÑŽàí_üú^Rì{–ÈËúL”¦Ó]\/o3¦ùÛuæ;Mg|S¦ˆñ*䤟ëÔåxª¥À!ŽÓçh5Ç,fC¤|Œþ_2DÃyßÑQÛ2UÆwñÎëa ‚r~'ø v6ª³9Ç`×ú§Cø~×ñdwá¡ >ß-‚'a“ÙMë?®][áਠ3YÆoKFßÐüÖ눻yà í—ú¬ïŒ2“@–×k„(žL;DòHa×ÖPÂåíq&q/©^®LÌûÜn ÿÚÿjè s¾|b¸ìY¥T@ïßZ®ºS|žž Ô"Xy ½uMQÕHøÔö`ùASÀE¦Tøp°Ô–-d {ìùrÉ ¥ f B¥H¤oüÑÐ2!qŽ.i©‘’»]ö-óŸ(#b>ÁT7¸ÍRQ`üZw²ììàÅJSšxÿQ誥~Fõí÷ûiê*^ÑJ®Óµ¥ë ã5EŽÖ ŒªÅ«ÕÄ<§½ÍÔè.?â¤K»=Šô”œÎp1ÇßÈ@7¼ccÚž<<ø Ê,:F¹+—í5&˜“TniI<¼‡Ik4Ÿ¥›_Ápñ»Ad¸AD7yTxi®_°¯9£ù-ö‹âÅ(ë ¹úÍ¢²ƒc©Íì²åFHn«¹R r<çthžNÔg ú‰Z¯¤XƒžU½©na˜U|6ªBNâ´kX+¶‰—J‡ØÒ°“׿­í&q´f½Šùæì…¶ãmß?VÄhs9j%>¾¼¯ášY’óÙǎ+/Å©Ù} àÃW çh%?‡~ºgè•€ãþº§ìAº)0IÜÊúˆ?Äg¼í¬¯L•‹‰"ÀYô€»˜°ç€ri0êdA­—øÀ' V#>ÀºÖ牙œ|Þ„Á ÅmüÏg3fDgüp祲nˆÚQ  ñˆ÷Û+Ê&æÌ©q/ƒT¢%'=pÇDâ×åd=R}3 Bõ¼,0eN¯Í ‹ §èÊÜüŸcâõªfëÏÒþÑ @ðÂݯ¾.¢ª³Ô+¯OB‡>5Ñv¨Á—©øºù^ybþH`ìmÀÔî:oç[–^Œ1ç8ú6¦ß·ØZ½ÕNõÑ}ÉÅø­b3õ?w ©Þlü @zˆ²1½ðÖëÂ0/ó ÑCŸ<‚­Þ?ŒIꔓáA™Á@gÁýÇÌeÔ´2À™1™´€:–K«–H´KòW:c—Ób>.î‡eÿÈ& )cG Û?>äÀ°…hËåÍ `eü¹ íÍWÙyùý\ÈO»ñí&æÌüœ,İàÅ"~Çam÷Ò0³vj“àü€ÈªÔ³}¨uÄŽµÖ)‡¹æt¦ºÝîq‰öd°2ú\(jµhƒåˆ£ß‘ýúÚÜ–ÕÔm´Ïg+<÷â4$‘ßbF{P’Õ BUŒÅ!³µy°!*¡fÆú$ þ2ÔˆQÅZC¥ÏMÄtÄ wRU×5¯Úîgá·Å`À'6Ÿµ¢…øŒ6¡ÚÅ ÒU£ÃqÍä×Kb H' rq¼µ´×äáeÆ©„ÜÜŸmm¦,ƒÅI£Ý¡Æ/yËä{–¡ï¯³.‡Ìº(à“+ VtÒ˜/¥@É'ïÑä’És¶ ¼Ù÷Ú ›iç¦"¶ºa4CK­m«¦Qq-5’«Ÿ°’ŸœZÏå¡f÷S˜Ä—͈H!”DNùþsRõZ ð~Óˆ†nq³Ú¤¾%¯ºXͱçÆu‰ùaµù5še±Æ‘v Ë&L#Æ$LLàQ ƒÝå‘ÃSªqp6k¼øÈ¡ú|ÈNŸ¤ÑW:uÊÀG•]çì½Fæl✅/Ø6߸ŽÁˆû]bÒó¿G'*½Ã Ãøw÷MëtÁ¸¢¯1p8ÕN¥¸ÿbs­g/ˆï¢Êb3¢µº¤òM é&ÞïÚÄmJ™4YCVƒ8,ð“P¾=6¹\Àš +'Ûhí¹¶³9èbÊû}i‚¡‚Rd²8Ë–î-þØ@i1°ƒð;ަ¡„®»J¸×mñemRl™7‹æ'ó:m =©¼œXž‘ÚÍ—öR©©?±'h§Ubòß`3Àv–!Òÿ|2Á~-!ó T me©F§„BÉ„ÞaS+Ùío)!h?(¶ …I%MpˆDÓS9ûc¹†/¢6$YÇYZ†x;9€sÑ2ý$̾;/tØýZÒµ=Õ*oäÁ ÷#ÖR¦«€9õo/«”©]ªu‘9ÂQJgö2Ð;H–ªî`â:­T®yz ÑÄŘ™,%»Ç:"}áa©©]8µ‰iYOú òü @_€?la>¨U»OztöoäÖq>‚¦l_F[8J¿¥=ÃX¾“ÛcÓ.ć²ˆ·–¥Íuß·{›xBóG9o÷JƉKàÊJ ›hë¿,ÞçåHÊö%9œslñ öXÉó %–”[(êKÇ#öï¾¶>7T@ E’zvnAä3Í‘sð± ¬¯n gáeGÓ Žõ‚Gf[CoVrž ´iûÇCN&inœ_쮲bA Un]½é]k´•zyváoª¤Q2>ôö¼uð0‰?ì‡ú€4t©¡Wk+—4¹£[Æõ‡€|­y:m+1fº#qû^¸ Å àѽ7=íMRª…9r鹌l¹9 fÍ’ªê’_ ®¯ ¹÷*0œ:¯BevA‰µ;Àù… †º4ª=O$PŒÑrëwž#Ñ™¦0*Ëb_÷v¯ézÝ})íäã+Ýïk§«Æ 7=\’µÀæ­EL˜!yQÌíG‘,ßÒKç€Þ1cëMal#ZÚV £0ZWçÊ€l¦q6¨^› ‡û Eý’çÖ½$‰Åv“Ñ…Í„£&‹§7´ºè>¯•S¹Ttäþ› ´ŠÕi½\ïÉwà`½#%ÐC”·§­»è þ3X[el‹7À¸ºUb P4<ÁænH¸þô;Œ-+®Z‡¯Ó\ ¡¡ƒŸÓeγ&£1mI¯^ë&+€¾–Õ­§Oj…—móܵ0&ÝxM…¶@´m×ÅÚJÑÖ1zV·¼™oPôqsIœ³Øvdïœû à ¶yx óÿUDàýÁÔ*'MbdÙÚ@˜4LJ¨,ýÎä‘ß_¶õö}—4ÑàNû Z`E"Yß+ Z@Ÿ­S®ëê\1òæ¡_ÄÀ>@%IB™CgçÙå\ßãTÍ醘M±²Ú¬ÂÓŽ„÷\ÖZÒ¨¨Ø@O! êuõੱ˜üYµy¶0ÇŒØ5h˜Ø&_ÈÕ›$OÍ÷¢ªñJ åv®Â†l2öá:…å×tLŽˆåKñ#L QÎû›©¿Ž’K ~T…êôXKjïÛr¬"M³HÐ+ƒÌJ3þ¨ZF`Šâë g^?â´‘¨DI¿’™:‹‘kÏ5 c܆¸QÏ©–ÙØS’ÂÞ†G/S¦S±¤Ã8£N0ÖƒêæqxRý‰þ¡ÑMýdÀÃc.!³]t×AgaŸ$:0Hk¥‘ZÖ¥N³Èòµ`Pt:QÖáå.JH¸­§cw ¢~­Ý+ôb‹B‚Ii,Ã<ü©ØÜŒ$“¸”ê€ÝЍsM…1â•"f $æŽE&·tƹ_«“k`f4ý!hžÔïr¦˜Òhηמ;¤+Pg€n¼Ä K†ZZzz“Xí†?O]_”p†ª¨3@2fLˆ¬†íò¨›Gñî÷Vi¬º©—§¦½Ÿ·6øðkRù.¨ÿäþ¦*¾Sy§Çü·]¥AYâOH£9׉–Ç…CÂ)É뺽S¥©«?à@σ¯€Qv«¿ŸðvõŽ­ßÿÐ F¨h§r ×ÕçìÄÙ/„zI<ëþ&ØaüT¯âÉ$BBë ^¼0·7W9A΃]=t›Ä]Ñ ¾³X€éæ^CŠTÝŸüFC‰…¢FQÅ2Èp!l+qêöùÄîOxœüh'CÁW]Ê §½ÏÌ}Vgà™ý «½8õMÁ ÌßIÛ8òýV«èÈhýØVÖ zóf”ð+ˆ¦}4LTS“Pj•SA T[û‰k¶ì´ke/šiàK8b5›üçu%2€ OVtr\{+] HhõBWVõúðVaÔ¶û¯HVßWeajÉ;z{Ë~dÿ‰4š}ú›¸§OÀó@ÏíÖØËU›`A¼Èby¾Í“à5 €F®Ê¤L1Q]ÕðB–ú Í-(ŸÉI”>#eU°G­+_Rq°2X¶Þ6©õ8QçA­ð’:ä;„h·øf°aõH‡<&ŒKû}ì9¾ ¡ímÏì’øÁ"iïu@“bItÎçТÛPÑÅ“å=gÒ8œíÈ`@Òx-Ã&dc[œÚÑ‘¢%ǽ©–un!Û•$òâ¼â ù¶SlXƒ!Ü÷ÂÏló`%¡†ý6tãhÍ ¢o„ép¦ú 7™a°ðcxÓO§ù^?)"ŽðÂmÎf)ZùÇ;ÎðùÒàxx6QÒ dãQi›<ª'‚/j™ùö@‡ZÄ£ˆÞ Q>Üå w CÛ®4&ă½j¼ÜM' M6‘å\j/š3éØ+“yõk¼ö@7q4:á†ïcþwè—¯sˆ2³yWr',øjò‹ýG©8Žv뇖’ÕÄ[yqF…·‚·ðª¯Õoä°q‡jë›?¥²sÞ­KŒ-µÏÇ3°•¦E I±äÿ}~Ä;×$`¾ù(@ˆDë»-©JþZ¬•Nè©êWr8÷·R»Îy‘ùÕ°ÀX*wñÅ«p¿±ïÚ>2I—¨`§˜Qµçè“1¼M5±ì%ùytoï’žwxØV ÊJ)ò˶H¯®ÑžW¸UrÆÏ­‡ {³å‹Ü*ã]593¬^G£µéŒö<µ'‚itmÃݾî)ê;„lUåå\ƒ—·³G“Cå¿&Q¦ÒôFˆ‘þqÞJôÐ8 ÿã°ªßþïr;]BO©â‚_‚ “C•ùÛ¹1£÷Ò ö„"ŽAê윒œæ2É>¬ÛˆâŠö…’£o¨ïp”½bl³UÒ‹=úÁü¿·ùÅᯅâìY®æíOé®9¸ ó>?öß·c¬sp£Óà hBÈ”m fª¾òajëÊÞ˜ };©b‹K ³Îš„\ˆœP{çjÇõ‡zÅ­y¯Œ­èÐÛ‚n_,ý{P[Æiôý7=Yôý¾FJÍx_é z&^©Ï2")Sw˜(LZîžk8/m›Ï­êmSqä\Ò©ñC?ð´=™ÁÏZ|cKA¹lÂêÝ¡ÕVònK¦í¥¢—¯PÄ××EÌ®f¸OOý˜ŒrB<¾5léXxŽ7ËkPqU_ȯèßøÔyÖ)´£‚]d ±Íc³Sîà”œ@ù4¥‚÷¤–‚¼Ïب^¨ø” f¥VÜCF @Pªpþ6ĉ`^$ –ù«…úïu,¬®]^ 77¯÷À×çÔ…3é2ÿN›ˆ+¶S×VθQG¾Ó\§UKˆêµ¾lAÜŒlð9â`3tåL¨»óy%â¨_áMÅR?†Âç`H3:ª…öì1¸YO5®fbQñ¢²¨ÚýF„èØy™§ù5p¢¬ AVó©;»Â¹o³–­ñ‹ã3eiÈd™%¿çví®µS3žUB¡»Š*ÆÁºÙ/!êEÄgI5ÓÄR«ÿß Ó’w˜C¤î­6¬Ž¦iÉ8P¹Û ˜áÝ(ù]-Ž6äWG Ù\òw‰†• Uî‘CÌ b~ÈöÙU‚´‡’·Ôªfª<Óá0? Ñ9sô@ùtQáë;b²+h§è¼ýsŠZˆ–DûÊ Áæ†ô…¬‘QÓ!6—*~V_±ÖÁ§æÆ¼E©Ì“=FÚI³ÀVâìQ˜bà»-C‹* Á²ŽßCy=~V®é ,ç©àz)í¸µQ×Ç(å¶ÎOÑÙÉ´†%0ã:?W0i÷J“SžÔ*‡ªKÛI :upŠÁ<1M—Aäî êÏ´®tO+DÃm(‘a¾)Ô6ÑB>ó?Z¶a—'‘Vk¤0¸gþ…£™ñ&tôaè†O‡€¶%ò¢UöΦ=Ðä7•¯/ðæE9_"Üô/Š~¹–T;ZLâ¯Qs`G–3kfìûŽÛ?ÄÀ8sBqþT0&A¤?" ”•ÔËçÈ >†öâX Åg”Þ’ñ›küË—ÞLJ5mï®Êº5aTã¬í1ŒƒGC:»Öí‰"#‘#ù³U¦²ÜŠÂIÌ ôŽÐQ¸å‘X‰¤ÌA群-ê‡8ËY\¥¯´ÑìÕúxð(¨±’e:õæÜ• ˆîl™ykbDL:oŽNÄ9YÁ¨ÜÍb/G´`ŽØÁ›tv<@Sãöx}"H¢Ó0LŒ4©E|0ÃÃYÄfxúÓ$ËúI‚¢ðèՆƔugÑŸD'(ýßAêœý>« „Æ]žÙÞuŠá @=¾.t¦ÛCÕY‹/ÿ 8Áà΋éè5®2ÎæÊã(ù’pðæS‡qn%ûQ?h¥¥Ê/;ˆr®)ù/÷•DZèo™²€â¯ëuÚD©sÆ,j%´8 ësöó1ÕS²Uð‰Fs§Í'Rö†OÅ”0¨B:¦š0÷ÅÔ #¢Ì`wó5ëÙÛ_t»'w´LWS†°òdè%RmKƒü¼š&#!¯Ïa[MǯÕHH­ |Eï#_ø«²4—8N&XgæÙ˜—_ûqÜcýã!²b²Þ³;ê!O$S•úÏúìÓ(p|ýîÁ¨0Áw‡–e8n |:8` †(é5B5b0‡PXþ„NÅ.ÃJ }\k4hÌä¼%¯­‡Á1ºa¤Î„¬Šï7íJê¬ß‘ÓÀÏb‡>°½À¼Û‚Ò¡mhàØ«˜h\Z[Ö-6ˆxÛPb  ûY[PÛhV»pDÂr$Ô•7£%¹ÊhOPŽÅe Ï Ì†k¶°dOšÐ8–a=Ù²@ÞÚ‹ÑBNÊÂÚ‡ÁsqoMoÞçLÅŒ2ÒKôݱ˜ÔŸê¸c;§½7Ê.­3`oFξ,écš“Eòó$}’é«Ê¸j¬tUØÔ¼dŸy·d‹óÖº)–A['IÙ‰‰L¥G§s+œ±TVïY ÎO¶kV°+ëññJ°(öû+3 ª³#’æ@ز²¶øû„ÐòþùÝK¤ˆ¾êµÿcI%ØÇsoo› +¯C‘§ë&øþÚ×k¨ÞçïkNû|‹H BSía±ñWõÅ(ð pë@Ð çì̲`Ã=þ𮕶 jºl½}ÚûëŠÙ3kÏ 0©äÏ]Èò†‘§‘Àø[ÀÙœL‡f¥åfÿd:¨úµ·ñSQq/ýÙÈ<†íø¬êúUÇõ“†Íh¥N¬Y\â˜_£ñA0Ý%’q…ƒÓ±Hñ÷ó8Kä?ûèð RõwEÞaâ¬|¼ÌL-–´ÜÒóïïO=±îépÒ|ì’Åk·Ë$›.ÍÉ"Ö—ÿÃ$W6©ˆp1%‹ø#÷®2ëÂ')>|ñ½“2g?ó¶-Ì8ÿΗ²Ò!8ÀT™¡/V`9Y`õÃy´€ðƒí–2Ý㪚,o[- óÇñ1)^. ‚—K”îKÆ|±©ebãᵇªî­ìZë4ã;͈Ð}ºXùÎ0Ûˆ€Ï 3û,n´£êzÀ˜©!%VÃÐâ) AAÌ×›€*)Ãû±q W L{#'F‚æ2ŽL°¡?½ÌpL0Šsc§Æ¢žuÜÚÝ”ÄÎŒ°1Úh;4Ó‘Ê+ô"æWŸI¾ãq§L<ÔØrî-øéÔ˶ÆT4¿c°K÷«rv&Ž)„ç“'. ïõˆ¢Ò˜{2Š0Ÿªu¤(ÑåRÒé¨_((†ìhŒÚÑM7šÿŒ3ÈK%:¸»eª­ò0‘óÀ£íÔCí—ªç„B¡cý :{ %ʽ@‰Ñ­žãÏî3œû¤wíоªµ"*ê¤ÑAÚº­; I/$×ÄhW÷DC$›ö¦Js·£€TRSFàâö‚‹ñAX\¡2è a_2¬^,%Ͻˆ¥ 7¾@y’´F NCÖÍžžDñuZ¢å)»ªÎ‡ejÖ¥ð†€Ð~y‡ðë1ÉLô ¨³Êt}ß®¼ ]²O¢ñ™¬õBÆÝùå¦Kb©þzû0¢ì¯è°Þ ÁÐ×ãúÑ´,,pmå}„ª˜GJiž C°-y¬\uʼn‹Ô  Ãßµ³5|‘ädZR¦¹QË«:P|9å†<‰Þ¹£NZ¸OJÛñ<è_GŠÐBÂmÜe^…ýy‘®.Þ<}!Nhìñüò̪I©¯”¥<Ýû«`ßf¡N¯Û¨ûp=žûòôN¹œªq×½&Ô7ÄÅÒŠ¥¼<â_aèÖ×ê=•ñA?H‹û©¢øO·Ëqϵ…"ÈÊ7p ‡GúcÞk‚ P¦æ¹ùùtP G±Ksì(åܳߌàÁ×aÅ«àméG^ÓÕÕ—Ñý4‘@³˜`wë #¢¾i– …\öÏÚ&œEa>,²«<~ß˧W ¬‰RÖeeëøJ”/%ãÇ~8ß]p>rkã¦6ò}t—¿s±‹Òéæ¾ìBJ ÉW°•®æþœík;q*^—­ °Lë˜5@z[õo£ä›N¬ŒEV,hÕr@ýª;¥Ñ½Ž¯ ï¼Î*¼ïð:mÊTD·®_爙Ã@$bþ!`+Û\4ú5š€ã\á¿Vu@1Ðmc(xêÊj¼“­R„i]¥¦ÿˆâ¼N=2Kù)MZûwýÂt(;e×E¡ÄqP­YXǹé@}ênìÁ8¤Ñ'O üŸòØïÜPºývÜcì¹Ï’×ìUž”-Óâ뮬ڄ ඬ\ïÂÐîÀä™.¤O RªŒèÕ+:ÁvÂ3%£­<ÉütÁ­%~-õœíûMÈN³+øõï©m(ʹ:ôrÉóJ8ü½9ÍFÇ÷ûJ²¨»TBü,ãÇdÑé‡>ÃC4ÚfÄá´ Ó=‡G½éÀ£n^qͬž×÷Z£WáŠDò¾j­˜êú‚$êÆ»%TY÷#{OñÜ´ú¦K0êMaš:mŒù•Vß‹—B1üé¾—–“þð‘ÅÄ÷ía¯øi!}”ÖŸ¦ÈEG±NúžwNã/ŠBB!šÚÔ;²jùvš-4"œnm±6ˆ˜pE‚¯¥" ë?¶¢JOF±eùe÷éC¹Ì Ê:Ü ¡xÞ=[€×¿Šé¾ã·$XWY¶¨JÇQ-B¹œƒî7Å©¦“KÔC@¶¡è5\VIBÙÇj?C3,ZßÐPŒŸ8É=µ=‰Îû/Ç@äêz «/"ø–÷I•…Ç™´Îêz)Ba$öÛ~þÊÿ•³“ϼ+NpááçšÙ¶útÑL˜¾]HC}ï3Á;Vú`W¨î-ÿ³:«Ûk÷ð‹¥~Ú«õgý ½ÍΰmA*®dA³»±.þrá£Uí²bƒV€Þ}sžoòöà¥Þ]½Ôû4X ãÜû&ÉêTSý^ÙL:‚‰ÅÖK“o5Ùw®hA¥VQ}É@ž©úº‘À¼­²ßýííj!|RÕŠºƒq8‰Î¥)ߨ¯NOƒn‹h›ÒÌaÞùÔålÅÄêí@.»]çá»)F°Ê*©ªÌ_ظn2mØ ïεý8ÇÏ8sœt™¥ÛÑø`Ô_´¨®9PÍ5–Ô#b2&XÒœÈvá:‹Ï¨µºvŒäè ðÈ ìòòe²öG‘}žwNƒÅO{ÓàåE)=NÄe¬T‡jæ×k|ßbǬÁȳMÜöØñ¿/ÝaX:$‰ |pþ†»R@; ôƒä¤e¤ËøøÙC„“Sðq¡a)íÚ¼€Ÿœ3)ß;«j€]á2þGÊ·èb „ЀµRȆb®ŸñÆ’ºôâËMòÆ)þ8o»†•q!Oh"Þ/©úöUë ­ &#pêùüóò…XÅÎ ‹Fžú¬¼~ø½×Is¼×ƒµí×»uàu¿ž7˜#ønü{Îu›B ­¨‰þÀÈžCÏø6—Õ~;tÄf[àÌ{0\æ‘¿5cBÔÁ-¿¢ÇÏN³ÖZÚiúç“ÄQNՓņøÙÀ²'3#»ç4¨€#Ñ œÝÀb½{£lŠþn;>ޱU ‚1‘2¤õMÞ‘ô$¡rI4DÐ赺Žv6¨ô1Øpt*k KÌ„WéŸe 4÷‚Qõµ~íheÖ`¡ž6¨ÊÖ®°v΂‰L†JòòÊ=ç(ƒo“˜“"îÇV¿S†gb:‘,ƒòo>ÖŽ4adg+ˆ&Ük²H2Š&÷+~­nÓà§b„Xh½øi[´;“oXœKà0mçCéŠÔø~6¯‘Fý ½˜”’wÞ‹ª{ëë €<}Æß6[õoâ6SIƬIcóí9Ä…¡k {Ë¡]Å6KCKøªø\üTC}ŸbÒ\@0‹ií3Zy<>{x§ñæ¿¢“@Š·@=kÜ&æÚÁÑ‹ØûL¡@ö‹`Ðn•ÛgêNí\ðö°J“8LM«^¾c‘˜)KÏ©Ý̬ɧl‹$°UKiZ*‡¼Ó3§A®W¿°ÈÂRŸŸS.M'µf7Eê­X¹#º>?ȰÇùH/ûáe²Ò)|ÏæÄ_fŒê ;ª§>{”Çßç] w`é¼iJ°8Õ˜Ëò€Ì µÒ¸æÑ÷Úµp÷rÏõ$Yyئ(-±¿Å#¸`jÄÌ®˜¬N:«³ZÔqE”ð®È²õç§«h¯*fKFãÑbÇ+ù³jð]!ù/^EÒ¥€«°2Zó³ÝIÁ–yC#Mt#:í¤æ;£ÕaÄ{Í)º’ ±‹‡FܲœuÇyOØlPrj*’Ÿp˜Žgc &k\¸GCbáC=õùÖ>K#QSºÇêg«?Ñ"-›Á‘¥Ú™…(ûÙfÉ‚’£åôJ!ÁO™éSMIª+ùŸílÃXì;æ±pÿwïCûGš•‡Âóé=Šwu}'õ¸*É3™ÖÖF_ͨ&ªÚlËqùÍ£Àïzº¹gl/Ù©B'V)p³ˆdâ§7Ñæˆ©„0§ø“]ðLè1"U.÷¨;4"²+€Ññ«ÂÒÂPM0ªjkýB…Ó®z¨­yvç’HOªÆ}ñ*³‘›æëé°<$=ÓIúǵH©µ f±µú÷ÎnCñ‡LÀv•|j`¤é@!^äZ‚oktÇ}sd¹…ZpÐ4ûg\EÖ>Žtð_´ú¨Ÿ1žVYœêÞø¶œÉ H‹¿3‘(:-ÏV5Û+…Ä«Ÿ%¸.“¹ièo»—Ʀ×=o:ÿím­âíx¡ŠZÛ×ôg=ꑤJüÖ«Òðp+Öì%Ñ r,'Ö[Á ^ŒìËb°XwДŒ%ˆ´6­m1K³}p©üdž†ÉK1˜€å²Òžgu˜ºþ¹­7"€:X"v.ÕZ,j½1*ÔËe£UQ(¨ŸVîáÓG××±Äí´VêÎ!ɵ_qs¡ €ßl@‹øï³áùšWn}äÜR²ik°˜5’»B}Gf%,}zÝéîMÕ+%{vÁX· ™ù°µÄ¸Êœ ~»¬ù“€÷r,’¤®E¶5 ÷“=,Ò}y8F‘Ó«<Àþ¤ºÎ¡¹ßÆÚùgrâ¶Cžœ×¦ÃáÂâuK¹Ò=ê­òòo Ê’2”Þ!ðé¾ä5ýS–Zfç3*2RGE¤øŒ¡zÉû[Ê`nNñ q~A$:bk*ûÚ4Dþ=ûÕUÿ,ù¥Â¨¾aewÓTi™¨hº‹Œeñf÷õ1Æö;{ ÎÌíMÕwŽ7Ò‹ÚžJË_~iÛ B–ÛV„¨¬Š=[¥Tß 4Éęѥ%ò)ÛÈv–ªÊw: ÕafË¡a?öÀ„ú‰±[à‡”1:®áÁóQe¼KÊÄ6QCý„ŠÅÙ©ú®%ûÀÒS¡Ñr¢á‰d§³Ç ™ÅÙy Ž.g¸ž½7EÞwïIý£Aƒz ~Ò˜;÷8{,äÚ£ˆeü«£P¸x::Ý*Š¿ë@ÖAX/g^…êˆxg{ÖŒ½¥¥o$'hîå\á±£Lcy/ÓrA<5Oê­ îª2í1œôzN⺌v†Ê’S¿=ã»Bª¯ PÂ~=íÓ‹¨ú{òj_‘Îìž©©ÐûT~Nìª|ikB®:Ôa“i?ÈØe_}1dágƒu.4õD²yD¶ ’~”†W8Ò'°öt¶ý]8»q«P¯räìT'Ò:#‹Dn§6}Ò:‹ó¶À›W /1­•*…Ç—·Dðâ=(ÎÈ*Í‘ÞEQxš˜eÜŸ#µPÜì2§n¬ö16Ïñâ‹R ‰œ-­£LšjÿÄëŠôÆØ»•|×OìSVß @ÛDØìÆyM¼ƒ—S]HaÍö¸ø˜<®ò°9 ;G±­„Öé§¶õj="ÁðÎ(—i YµùqÙß;•Úšr¡ÀâÞöˆZ¡Ú>³i¶Þ±HžÁî—Ä‹ÿƒ>ú•OÛ RáV雾g{šê—'›—Áˆá¾6Vf5*Î*ÄþaRB‘5Í,ñ¤ÆÆÓS?®´FêI ùÓÒ_2„â/öäÞívÙ芘DÑà;aøµ°ÅA¼^‹œ~Eê"îÛiÆßØ¢‘gž[›Bs*Š-="æÚhÏæeŸ« ýÀðƺFr È…Ré÷ìÜ.v˜©’gZç ýmåIÉá9.º´âÿzl¸aFÿºí xóé~åQ¼ÚÜÚßÖHqÊ©;«ÜLðº´ø¯3QS…‰zÖØ*ßicö¹(ùRíG lµÈ;ÉŽïý¸²<‡*!–±g!áB)ñT` ,+RCœ»¶“a˜6L?R^fy)›RÌÏAÖØøä»µPºÊÜ/Ãëã±8„lãÅd´z÷Drê#O‡Kœ’ËŸàÇ#J»9™wM%ÁHîWµƒ¦=â_Q{û˜§i8ó¿-ùcQµO)ˆfŸ.â¸åm$S`Ö0î½K{i”eü &ø¨ÔHTH‰¦ÈÇc¬Í‡ï§ö!CVõÏðȰ~@Û‡y7´ÒÝû5›&ÿU߯…´ušêµÈ4^ÒÂÁÖ=Çd¿¬AÝg¹å5··c Ä0…äeª x4Ø“-'—™¨ù‘ªãe²m0ƒg¢þÂ\aèMÌÝ3¢FvQ¸!+6.îÑ ˆ“ Ðeáã:N ´ôº¦Mð_ªßw^ä“@œ&ïrëR-íÿžîOBeT ÇŠý¬À§[Ð €g!×ËL D¨A`Sú™ó\åùË¡~ßmh~ß\G0:äž ~ÜÃ-*B×—0]Z?œÉº½Ô, 6j+M*ÄìUAJ¹UAf¦zpâ1{Iù–ýê¡*×êØ˜¾ª:Š`:b“ª|ƒµæ»Ëhï‚5/E±”¹æ!'°Ø\p;Hƒê®ˆ% ãœ2õƒ,ó^q9ó^¾Ñª'•Ÿ„¼t§AìŸ$zíD ª-’¥®Ã °Ý9ÓÍlÑû‹›1{»Àå®$ïOe$má뙕ö¥Z\lè8A—¨@VA2—ßV ÝÇDú?ƒt×]ªfÛ3)ä^؈%Dù¡“AE)õþµ°%ðUˆâ¨oÙæèø÷œµ¥o =Í)oëgÈCÝvf/9‚j,V?ÞÔ]Sœ¶ò·õO*α õº ¨"ܰî=’-”¡aFÞ4÷hà.ô¨è‰/Fšª— õ|ËF>mé߃ dwí?Z Tµ£73¨‚CÞoö«|SêÛòÔÆÅ6ˆB¼ªÿV¹DU¸ö6Ã÷t Êê%é…ß}2³÷ë†/ÁL áÖZ»}1á˜wº¬ÝÂvj.áÙëT÷4øy»ºmT÷T á‰AGWd1‡žÎ•n©ÛÍø‹]|Q€#¸Gñ†Âh¤bÜ“¤Ëæ¹Ê;—Š'è*¹*ÅoÑì;ÙƒïNÛ0V-p{ë¡„ï–BÇý•%þ^•ƒ¿0õMƒ çùàr^±èë¼'³FNQÌ·°…1y:¾ñ©ë`•#Ê}žÙ:AKZç#•gºŠ³B*èXõÀÞ­ÂQ 3¨©æY] DS›‘M¶í¸ ÒkíÝ #Ã7R¶ÕbMë}´`œP_xÊ®cß3þ™W»¨ËKg°m –GªƒÁ«]äA`wÿÔ›&“L½|ºjÐ#ÿ@•~UÜ…sï Ò©¤LÃ…a–àãOÖŸª‡…ãÒrâéÿ¤…õÚ:¶:1ÀЉçù3ñ¥K\¯oKæ­#þG59*™—…÷hebçŒÇ7\œbþ†“òÛÁŒy)ä …K6§Šó–€yÃ#ØÐ´ Ëh¿u^½¸7;wXö­÷&N‘¢T@.¸^$j–M¯Gƒò{­ð€“îüé¹È=k ôÄŒ 5¤ws&èWàn´Z¦IwÕ“ …Š ª.*ʾ@ê§UacŒnÞ ¸ˆI|½^êp­h¸½Ê`Øø¤ù¯a¡ä‹Ã§¬†bi¹éð[…!ׂÆ0í‰ñN|òtÙÔÚh¢IGŠŽfpíXz RŠ Ê–w[zÖ¼{U_foþýÚ²év";¦D_S¾©<Ø'Ξ˜,¸³&™ØÂÕâù«bÈ•e¾°-(”“ê ¶ÑðS¦ÿdÈ\Y¼Ö)˘>Š‘s@·°È—‡ÔæVÊä åîŸÑZÏÑšãC­[Ï}h—õ™ˆ qcÛƒ=/R€)/œ½sTRq»OIñÒ{LÙÃî·›¹gþ•iHÓ-Å£]gƒK´¯V"=bcY3Œ²g( VN-%´X¦õÛ¦!ë‘`ÈjŠú$›5û攼 ¢ú_‚áç[ZXˆ& #ÖC‰V|ÃF¥Õ–8«åÎGåeÀD%?λ³Šúâ/ÁZÖ kâîM£Qk±›—}E2Áïhghh“Äó˜ }R\_¶Ç’¬HÔãàržË¨{«&ú|Üëe!sÓ·Q¼‹ &F:Ï«¯š‹¹%3Y¨á‰ÜÊ…¡Þ|¨¿ýŒKºãM8-ûu§"ˆž–¡…ºwxc„ÁáXµ¾„Ý¢2Ž<2?&*sõ½`ŸŽ¹[.v‡Uà XAðRR@dž_Û{³+OÃn“"²Ìç–y÷F€qCošS. UaKíFk[—ÅÿÿÀ–ŒÞ™tpMnʧÒ'3IŽøØ¹Ä˜Ï‚DoxJ.o©¡.c%'ë@¶ðÊ’¶˜çŽ€k£{q½KÞx™ Ã!jçÍ‹òáÎy¢\w!ÕÌ”Éøƒ¤ú¯ìD«Ü’’Z Û41§ßXö - v®o™ Û•âTׇÊÈ&Þ¿ò H¨Z…„h¨)ý“‹Üó*ÚA\É eÑH2TÀ¨ÀØ?Š$ ö)™úãÒ¼70ß…é*ë&¾Õƒa¬îI@­I«çº§?» „ö[¨ÂðÚÈÐà=á8+áéwÈ›‚<ÉEÖ©Ù åáî2"·±¡Ï [Ãêˆßn@´ºX„_%•Ôêõ7£ð|}–j±Ñ„³nVñ}¥º[áW‚Çëì)b¢_3@<·º;,/m.惓!bÅMÄ}Þr*’÷9àh:Ñ9ˆÚŶîKèÖœÐàñš’:Š{Üe ·Ðƒa]Ê¡ÓéPÉLÆM4Ø›ÃRîã»PäÅ-_#Ÿp-e•á1þÇ=ʰ2³ZÈ‚?KXU§Rê0¶Ñv§ËxÂ}Œ´®9ÄØ‚¢Õùê@‹¦™,´KŽ÷0}eNóX”‡šôýoÎ*_N ÓW¬>À ¸þndÜýYâ9sb Ö¸á ûÿšêŠNv ¨jp¾¿"Û­"5l߯<¾ƒ ´Ä½HÄ.M ˜±ñ›„ÈíûñU —šZzb{ÞÁ½þáÕ`ó@ZyýO ªMé›SÀ<¯ùÆ8Hšõpg3 ËÕëö›˜6£cr¼rÓ8™ï~ŽvŽ…–пÇ,¿d(P”ƒ[¢Ír¦@ ÖµÓ|”D¯ÏŠï˜Úw¶y©ix„…ð18 hPCï°&<ƒôˆoì¶êuEêÃE8Rº")ÉãyÍé«N#ŒºÚX–' sÖÑÏÁÜËЇˆ‚ÑÆ…}ƒlÛUÏ6Ô¥cBžl$‹=áäûp!ê\÷ƒ„cr”F»Ž\Æ vÇ÷¤PÎ/óÀ»ƒG ô¢*AŽZ¨–Â.†ÉŸH§ÿãô8†ØK¶±aÍú Jy¹öé\çS®Ý±äÆ5üÝ>z¿‡œ] QŠmÒ˜è[¸@_á(tW(FäÛjF–¶5@‹"Üé‹TÀÉ›¯W)ïtžk?\õ/þ1QZÎ1 ¡VGö¬ãEýX°ùºÌSžÉü€Ï#ج«C6:¥>f‡ ‰’nñî5"<¶»æg¢³M®Å‚±I_Ÿù“ `ŸŒ› DÚˆ$¨¢÷5’0’Œ°ø”ÿ–_FªI@ýÙ´Þ#zr ±³µáTÎèôu%{¿<·‡FC×SÆ„W¿*|ã5ËC»øãòìÌyu•«`hÎî¯xS?ÁŒf|[ðJ0¡Ñ¹3Ã*Õ òØÆú`t®¨Êgƒ–*¡œÿ¿¦éÂÑLÉ„HJ©ÝJBtlos4uÜØ^!¨üè½ë|:£“¹*ÁðßO«Ÿøc9„M}Jðg˜*,VŠÉßÀÅ—Ìþ¥­{rH“M×\ëÆºLa/*r¯ñäûµ¡~76k1œš§±ÄX ÷ fÊVщˆ@6’Ü{óô,©Q!ñó¨ð&©²¶×&¥gS‘¥¡"ËüãˆEï}‘‡ ñks…FìÏÄ–œ~á}w ì Ma®”+ÅêRxÂ*È6ÜPÍ™h R\dÔø®¤ý-aYw.öúp9¶©Y¾¨¾ÄÂîÐþ)‘-àš›÷U 2UÉP÷|‰¢ë?ÇŸË¡½ÀZëç§2–Övñ¤Rôw—Ó†ûo¢3„ý,O|ó|-™#D£\k¿ôçx1¬Ž)ÌÞâ×飻 4¿QØtî.ûÕ¤ãÌŽvß®¿®&ú~`iˆQäņB3ÿfä®÷¹ò8ñÃ;Ö¸ÊcV{Š“'*m¤6pCÃyñ£Ès™ck“¦ÈsÜôKá\³–X… ^ă 3`1† òó•$ê¹'@¢ÏŸÐn| yEYÃA-mìPo&ççÒñÅ|àOZÂöQµdí:ûg ÁkU‘t¡œ]ϨëBMFBÖø¸ >ê_¥Ìú®-äm˜¥áÐ&§Œ go¶>Ýå¼[ŽsÍÞb@×?-«IY…soò‚óë½mq?•Öй>‘´UFHt=—T5+éó FT Hƒ— ?´§Ø=íƒ1œ+.^k²Úcûµ¢§«† ûZ\Z‹&‰PE_ Õ•áå’%B¡!£‘ûUK¢k£öÔt;x_[´oøW,£ Û*ž6'g[ „§Ü”þ¤y~*/‚¸º&GG€·çŸ—Šì¹20*PI\TЋ§{”j³ª‹Ž¤:>ü«uéY0m)ðgõ/8â(µÌ fn3nÅrU½Çò¬LX™]­e:×´Oq2¸«—es9€fD•ò¨SIÏ×ÝÊ|Ë¢ŽÉÏÓE¥Z+‰ž5ÞÛ‰@^¿ý_¹IË'RÚR2C±Bz\*Ö¸é×'íd.[Fía˜¶Ò,…|D?žÄ<Ûär´pÙU΄¸–„_ßIY-xSe#³3tãÕ_ÚÊ2·ÒôóžªÏáñÌÍãïð¬víƒï½ÞèpÑ _M&ŽñŒ°{XZ&< ávéç6½?çwžä#Žÿ,UùÎ+@;¹)Uïî“ÒÆÒg€ÚãRotØÆñ·D²FKñ‰?4þwe¼›N~ztÈõ°‡Tî<š³™¾—cfp¢4 . L|3šoÈLÿJ8 NH•utHacÅ•d=Æ%” #üP¨ïrjñlq}kAÉkåYõÎBMýÇç àkÙŽ7‚ q’­äšèíýî”Óÿî—Òÿ ægþèÉK'èߪ ÖKBص±êÁÅ‘cÓ«B‚±•sb@†á¹jÑQÓÆ7Éõ}Á+štßêˆ ÜO£(s™3ØO<#ÖNûËÞcåÔƒ‚0a²—²9R@„oÕÓœþ52}¦:ò·WEÃ[å7åHiºuTdÈH礉J”u`yùsúÔ[¡vÀÿ¼¯6ú”‹š$ˆÖb4-#ó û¹Gü‘î<ËšÔªuÞF®k£Ú»ƒF „t½{ø¹u¶ëäTö@¯IÑÇB×&=ø‰³Ê&vqD"¹þXb_¹FõñŸ`Ÿ3Õï=J«Óå:z>‚ìnZZÌ«÷{Ï—ÓoJiHï‰g%‹èO»n¸OF¿ŽþÖÕ -9.t|¸µ‘íe²Cv¼´¼OªòŪX¥ˆŒ³4’{eBwä”~“ 0_Pk$O¢·ËV¡¿Í‰ÎŒÒñuê=Û $`׬” šXו=Øt{ˆ¤‰ý~‚ËIvª¿;o@í Ó‚K…AŸx6E´ÿRÚ4¡ÌÕ²Œ<é‡-3w½…V¬(®²°€;a_ÛßÀwç‰Í'Á 0ó" Ÿ+Uîc'å ªYe+¨ãë²÷V+]èù°Ž/bëIìbS’ Th½3uQêË5¥ï¦ÞûÅ/§H™RDnÝiúð4=@ŸÍäÿÄÔ¦ÙH™Kÿ­çFs_®‹Ó’רtï¾_Ï ÷8ƒöï•  qL|í’ªþDÈŸ©ª.Øl™Kï(õº-¬=êPäŽnáÙ;ZuœÆwÚþÍŽçå|·Ìãá/'q(í’RÉbè fª£€Á·ß#Ÿ)úè%Î)w®½5^ Ò•8QÉi-S÷ºtÑëÿ6\Dè²Ë–6K+{ƒñ‰Kk¬w4q,áÄg|Áó«b;%VÁ¦ß9×¢Ö½„ÜsÕw€:à=MÛÖœ"âVît ©C ³[GÄÂÝ|2›ÌŒ$²O\ŠV,ùç° ÈšY{uÒ+Á»c“º° :V 5X)Ö¡)9™jÏ"Ã~½@¨J|#é¹0š@’äûüˆøD…½g;Ôç³Øä _¹žOµ–_mêFph" ˆÂ`aGië""Sán½w¾àd'ËFŸLZ‰j€9jâʘÇóÔåU·ò‡õ Õ4&|¶†¯TIïÞÒBjáx->D؆‘2?ë ùëÚ–¸ºÇ„B'põLšÞˆ}9ÄBÅ«h‡A³G´·H¸.ˆñle¢£æ ‘$âÐ tÊ|L×}`f§ÿ%PqAÌ5:‘þJyJ¨;N¥MBÀƒw*5!’\$N,{D\×&àÇ^Pš–ðƽY0,P[O”^f‚¡P}£ QðPò,«ÆM¥ ˆ˜ZK¼"¡_”@r“..¦‘›†iÕO¤iÉŒ‹ro&º.ãñþÑ ¢.„võ‹au ·Ñá½^Ï“—ï‚°‡ç࿚\©ÞÓüÎÚÿÞÁ¤†¤³gAU°üÜ<WÕFä*õŠ´¡A0I@ó] ? Ì›SÚŽ¡®?9eT†~L^‚oøÎ“€¬ÓîEÃ+AÍt†DüAr^7fqO¦\y·IÏÁûéòh¸¥$r;´Üß¼LêÎitrëu€½¼JåZ`ï®t5¡g†Y?ñ¨¡°i8\ô-A z ”[EŒ©[ùÏg`ªÅµF¿EÑ\bpÿö“UWXJN£þÇ~g¡1BæNN«ŒšÅmyòŸ“?8)Øä÷òïÔŽª¸mhÏú^~Ç®ËïS[Ý$M ûί šÁTF³ÍäÔÍûÊž±ßa‹˜ê‡$úä9œ•¤î^ây«Ë¡]__kr+“Ø mÚïWSl4ÏŸ" Y•Êie {h’qÞÑú-³³¹3™Pä1óó• °.´=që‹d…üsDMŠÝCfÏäêШiÄn»šMr"Ù|e…Ù-ÅCÎ ûžÛKä¥Ã\Í>_çì]Ô<j`”r3öyI/µà~Z—Õ-¦Óþ]·'ܘ®¼ÕBKì“^¶ÓHF‘.+:9lbñï^xüyUÅ@;í:%gS(û\G|äûΠèÀ•; lª¬Gô%Z„Wc”x?hè`ˆŒ–Ü:Líp.zûh©£ejŧ$£¤7£U:8†( µVn¸”Ñ%y*Æ£*S­;ª˜[Æ›(4„æ_ãë––uKËpë=Ä·ä*é“õ—Ép[ÿsŒ¢±i ;ÐAM -´µÝñýèš=ôÈ\¾åͲSq %z= yƒðå©Qõ­ußEãjiWï†ô¨¡Eºö_]©#Eã“¶É.î1ƒÇ¦©¬vG¹>Ðõ)k_ʺÔ5ŒõuÍeYº¥ë€¹S ŠÖž6mGlÔœÃ,Ø¥9ú½Ž{Í•z;iPï3^zåׯ¼©h5Rs”o °ãÏÚW=2\ÃûɳoèRÏ#^»CW¾²:y~@´“(‡Â¢+ƦMÑuw¿V{¤ÙD FÝñ?¹ ÃäÀ¢ŽSã4ÅõëfXááƒéWš×Î!6Âa™²i…êí0íó×MëņTIVê”ánmøÌ |\Tƒ„–Ö>ÜÛŸÿPž¹·¹’3£.R©ŒØU‘ÈM)`ƒŸË‹ˆwødû3½¬ñ6Âî.ÃzÄÌû®7ê£w+ÛœOÁLuyOv|Fá›)‚[XþDéæê*f»ƒrR£‡BÆ›EAfø( .½7èä@¾9µÄ¬Ë®è+—–½/s AY‡,è‘)àKµYšì˜œÉúƒHŸÊ­ÅŒI :ö†ÀZHGe¬1Í b‹ÝÔL°a²é5õnz ÚfeDTþ±ÇÓ’õû;ÛÆgg{«&D2Ÿ eÃ]ü~sl=—IæëÔ¾÷¦ Æm„…º¨¤êL‡û¯Û°Ýñ =-×MÑ|3=¾ÖÀ)€ÉF÷jÓjêäia^ÉäÀ‚kM/wÙÊPĪ.Í l¯|”Á?hÛ‡ýžà”¯¬cy†~.jóê6ÁÂtß[Cf“)TÿÃ8´ÿŒÆÐ?–ÙÉ u\HΖÞûÑ(ýÚf¥Ï3üùÞë©ÈÔ0ÿQ³ÿ âó`¨"èð¬pAëÙÞ«ü€fG]%EyÀÄÁWŒœAŸú´ ÀIã0´+^y€pÖ¶—w=†¦áýT”˜7N¬Ç¦²™ØòÝà歹IèÁœ 7ØBÚv÷ÎíÄIëp½lÕÆ7P1T¨2qOC‘WÜÕü;lŠ˜i]˜Œ4‘ÈÈ„â'cjow'¿K2'‹ö#qQ¹«üd°Ã 4®ókvÒæî$¿TtýEøÑG!ûeÚP7«‡KÇs_ûÑ–iæÁæ<š'ìhMDßD¥:x÷!Å¿Û)ÉLÑÖ-žJѳI+%ç§ðLkë1d:õ µÝ‚¹_41 hà˜•J%²DyÁ˜•ô4¾óñHîÏò® o†o?Ö_â¸S†á0þlëìçwä]R®³µ/·˜$wÑ3ã$z8Y:$?©žÎ઎Ÿxû¾ÕéÁn±úÝÅÇ}ÚÍQ-hvÞn¯G9ÐÝ*iÁ.Ý û0É„BÚf¼hµ}3$`<ånK8nŸ¸Ù?nB—><¥ÆÃÏ4~†q¡Ú„,9àºÆ«.ðûß^æ±×·Ëß/²Vy§3JœÏõý”‘ ’5»²D+ÒÆúßý®—*|”žþôGp’’SåÇ$ë üf!·+ÅdTÙ´K¢Š·Ð¹ßù‹°sL»žÞ–rò€–`¬Q”†'¥õ|AÇ„.Oá¦Ä•TGI=r*FL€õÈÛ Ýeñ1 8tc`†4Ô{8ÖÁAÓóÙ°VW·7YB‘]HÊPQ0õàrÁ¾2»G/™ØËÖúõP:¬ü…!ãÈo¸]µkŠ|ã7kí]:MÝÓ'K¬]Õ+u‚¢D˜ClGÎ¥º”4 ]Lj¯ß²‹÷˜ŠÛ ±·wp Ñ­ž—‰ö¬$¦ƒ ”7Ù” K8û¨eN7Ë÷¡ëÛ8YàGrzµ°ç7^Üõoc´~1ÒRÕ …mÇ®Wù³ã"'#ÖäI>\m<ó…yÌ*a6Š‚>×¾Õж?C½.KºèŒùtðɤƀt~xÝÙ ƒ£×Ѧhýg¥oÓ>¡eGIö¼ \ÒÍCù¿ÅÆF`V k:.Ø—oŽ–æ`ÖPï9ö¯æ 8ჟ8áø‡ÝV^ãë¡´‘ò¶ò¢ ®aGMR{|ÉŽö ¦8d 0•Éú¨Xœ’£ØâXÿ«å÷õ÷­RCûF3¿úÉR»ÏÑ “1¶f ¦^äH믵ê³I¾tfPÖ‰vÜÚÊX(õñB)ú_úü1Öeí½aZfVø|öìÝ{Š'Ôïä7›½hëz³5U9££Ã?dI?TN…6ºXu¾Ï‹Ë(.q%$"h¢×£ÍÖ3?ŸæÌÝWåûLg9S¢K$ë|!ˆ ;{Ýcwõ S¢v´}roAa#UZ²¦än. Ó8uéuîáöp(áÞžw@c»|BÞgòñ@k}•w!÷`µ†12(VØw7©ŠcýB˜ÿ]¨ì`êƒÑ fCªvž68@"¸ð}+SX<¾ _íWò #<ʘíNYÄ’.õX¸ÄÎ]M½ŠÁ³R–º¯€C¡bŒon†Òf§Tx„õ%é;ý·i¾õF®U„·Ys ÛYdÖŸ¹ˆÊ’îÛŽ††7X+ù“L ö":Gò¶€Á=¬oXp{jêáÖM¿Ìï‚kÒoœzÊÉ®Ýxô$Xð†*c®Ýé¾âþ1±R‰)§’TîE½ûÊá2GCGßÈàÜAVÖsŠ¢´àºxý&ƒ”C¦i¿“¬âàËBŠº:~Ã_»4±k`†÷E{[Ò} BÒqi®o_Wå;H°>Ìó€¦+wC„ѤÁ>±Äð>Š{:3u1§Ä 5^qX‹ð¼Ïª¹]Ø£<7:éW›zøQ‘¯ÿyën?ùžš£¯MåÈ5Æs£À„^-ùûKˆ ªÚd/ÿ€7—döƒõqî¾BCØ8¤Œædýª‘o‹d| ãã¿^Öe˜¯5»ds*Ć(ŠPŠ«¥D ÿy³DÄgS®} b )ËÓƒÏW¹Ó½‘ø1Bªu¤.©MèòŠó³tœò¶zl–ÛCïñOºÓëÜ”úPSUx„$^8yn1gïIÛJÞãNP ymYÀèy-öí2› ¤A¯õ”)eÑ®Œå…¿àc0ˆZ ˆ’«ÛdSœé x‡â`¥õ,(ÉÓé=NO|“ìÊÝW[ ˆ4§òN¹A(qüXÁä :güoy;—§:ü-:f„ vÅh¼êYty#6ùOZ‡R)ç\¸þfý±Ÿq“']!OO¾@ñJüvÎ×]Êé<º±TJ°þµ$ìœÄfŒypp‰ê±FÓƒÞ_|»LéÅÇ2væÜ[QØ+£q¬Ð€@´âN\N§ åæø9è ß/1·!è ‹p¹ =wý•.L?bžø=×,]Ô»C«™©êì¾ø#£”wªi cû >„†ÔÊDŸŽ•PàGW$bï_‰¿´ 5­ ä=]-+Íï÷€k¬ÔO»œ”F¬ 9s§¿¶ûiµ?°¸nðF@k‚é òþä>¾°ëÉùºñ¬wÊ 9cÍ)<6¥&H¯Ù#ÿ|&ÖÄ5‡gN/bz^D(í¦ú™úéá‹J Ä‚œ)Ï„; sHÓ–`ŽÇÄ™ba’@ì®:•§@“îü0`½!}a–yGkÛ #_:Ñn?^æß7Ķâ#-ûÔ¢Y—çtZñ¿ù2=Žy4ÀΤE|‡ÐñY‡:íÍõd@B®&1ôŠe–ï1+£ghÇ» O¡Od–eUөܽŒˆ¾ÅÞŽóÛÉÂeg…r3»÷(x°å^dK&Néý½üâÆ×Ñ×± _ï܊ļ–"…’|÷ ذKâ<º¦r+¼Rª. Œ\ìjƒÿÐ8n ¯£gê^P4±E¬Bmåïú8ßÃmQv:c·˜ý3h#6dÀòJ‹ìEHMgˆÝ(A?;Çei¿¦ŒN†Ÿèªw‹ZgÔÞC:ΦlFL°únWè7beØ]Žç–ƒ°2 ¡™-M“È’œÝå‚‘T ´º\ÒvãñŸe÷q"æë«;û{ž/mJ•éAÈ{zB’ö°e¿=®¨¬Ëö_é†.SP³è 3`%Ê@tf}¿ ¯‡ã“XŸ¸Ú'oý!àøcÖ© óι:´Âükˆ«5CÛ `6®]%Iÿ}htiÙíÜvì^#µãìõû–Ü0äEˆ#Uy Žºÿ@jc=ÎGۄбºþ–[®ûñ¸‹®5G’U@Þ©g:=>ê‹/JSK߃v%y-"5øP”´Ežc¥™{¡·]¡eÍvÎ4‰äuÚ­4rø)ízýM€®¥eÁ…Û)ÆûNŽÓ2l[Äz’é@8õM†—ü½H®»éC0sb¸¤­^ŸÉ" z¨‹‰÷­àZ} ýVVµ³w²(§›khÉü¦ê¸\^ŸÊ¢‹p#¡‘cìyኆ>s—ãQÕÏ—Àða«þâ3w©awüž¶ž‡»{‰ÇCxíp*‘7 †£G\®èß‘FÙP¸*³Sø÷ù×üÉšîõó\v’ èº;èbµ™‚‰O‘«À§ fW.Éf­n&Ø–0ÞÙµ±–Ù 8¼+‘Må„Zú£ò‚oÖS° 1nBƒâWjóâ ÞÉÏæf¼(áyÓ²™­^*ûâ´Õ0|ÿhúÍþ®-íq2”“&,L(_Hö1ÙænÝçŽPóp°ñ ÙtUw»^þ{F7U„íìÒáÁ]lá'€Pû7nã[Zbm-ðÑÒF‡¸Ç)šxÆ,Üç_Ö~‰VÑø$BHFù§Í¿°£È‚‚/‰¦­ï d†kÙ£SÌ®¥. %$ N&ð¹RÓbPÿ:³¤mû-¿-õŠÀôG/¨õÙÏÀ¾†$n߀Ê$Yã“é³RXKø^ƒ»Yš679yQ”:nèAeŒg2› 8Ó8~f3/‹…¹:¡bŒmÉD„Ò†²I§/ÒÊ»À€ÀåŸJí>Öãɰp'örp¬4‘¾a9.úøq AªÖbq©¡Ù`±ð¦jàôÎ^T"üŒf/$9Õ½×Nÿ0×s]-r­X Ä1åÆ„à”æt†gú¸sW™ÀÀÖ=øø0tˆ1.­GZ ¹©%:†*Õ9±¦*Ä›N¾]M³ô9§6tmå3G£d¾Þ¦ØŒ:vXôõAÔç¸îCš·"Pw ‡Zý™ zøŸ0[¹2(ÖsÍbâÿÿ@o´$y‘W@4þ<¥çBůùµ,¦XÇ'ITѨÐ":óÞ—9ýKžkãÏÊ2uÅCjÚµ™›¥§¿%o¡/þŒ…­:·Ø6äë7•\Ù;.“IQÍÅZ÷¨KJ|/ÔTk?” r8ÂRé ÆÞ ¸ Ð@â©ö ÖV®L›_6C›eù>Wwó˜/XÃ3ôë÷±ù—oYïÖŸ¬žŒûPQC1Ü.Yƒì(˜<リm¨dœŸ%wÆY? ¨Wt’Çï²±wìls‡›ûs>f£ _ÙÑ⋵+|sfÿME‚çûÖ§Œ*[W…ÌRZ™™†#ƒ8(T2¶›ƒ¼§Oþoõ÷àV±PFëòÓ˜?y/ØõÑ+ÒšZµ@ˆØ$;êÀNÂh× ³GD/©èļ©'«qRoûWؼÉ6’æÍÆÉhìX¦©Xˆâ“7’Û͵¹ Icâ‚eƒž™Í]œ{ 4INß°qZBžn¾<µâÏæüb²ÕPw·›> ùè´~}«þ^†®"¿qMã$dÇFcÀÕ£¬–ËÃeÏ¿ûâºÙdÜÇ‚hÄ×D½¯e¬|Wc&Ëõ¹‹]–Y~—Jõý,ÝƒŠªÄt9ö7'ÃKV¦¥œçz¥mZêæš¢ZRBhïgöm¢f!}Íÿˆ Æ×ây{/ÎV¶?†P+°®·l²vM‘QiYÝ ºF³n7š&\ŸôbIMòÞ!©Õ‡jµ’§¤Bß}npÙ¡ 2ûmRË~HâæKÛÐöÕ"&R Ôe ØpöÄ<^l)f/÷½6@—7sÑžoK}ØÏ_ð¾)&,À£ÈFÚ _ 3ªó/¿£±³ö|‘à,«ùè%óºÉö«œe«5~sùžï-xQÖç~Ü9X ÝÍ ãÿúôåÞse#EÁšêaÍa– ])ЉéžÖîW=f…© ç§§—úÂõÏHÔΊuy=©&2{yxÒ¡#&ñ8?‡Μ>2`òD)´H§÷_ešÙr4JºŸ×™ »/ñûòü‚îÙ¢7,–:}ñÛ8ÜJ§7øvx¾p˜A9é&c÷wúúQUÝé…©”Êh†¿ž<Ëίǜ¤qÃ%j«jÅ0îg›!ðI–òÞ¢åS-µOTÊ܉ú›@¢ûpCÁÕÀ7'‰îN3¡EØDTž/ÅYë6|Ž®bûø<› À'hý¢“ÈÉD0 3àA6Õ,g5*(Ñðr¤)ä7F±¹Î[©ãÏ.ÉÓåçg†€H¹²ty´þ!£áhÙó- ¨k™kæ 4jÀ · ˜hìVe£ñÿ9à §ü(ñE¯T`´:XÓ¶w¤ÌíŒÿ©r€¶Å‰æ£ YŽ*%90Ê¢:¹æ-S:ÙUàÉlz–dÓiëíì]5íˆt6{ ²€´O̘ŸÈV¸ßžÚ¸ü¨‡±–•‰–í ˜á =$ÿB›ãì²r Œˆ|㉀x„):žÀû딤e}5_"’ñm†w:Kw¸ ¡P±Úâ*2@d ž«›ó—†Ökr´u•L5em-Wc»)xVˆâ/é2vðÈ ^” ÄÑáDÌÑWyê¯M!âTlQ¯v„•Ö ÚÀ ‡çÈ¿°n¹Øì<Ä2ï¢g8E]SƒC4Å !÷(°‡óýÓ1„ÔF;݉x<(‡žÔLƒ˜dÈwÞïÀï2Ú05:mVÜãüïÏ_ô¡½#!îC“QFàÓ-ÍsÆ¿Åmbc^Üšä Âá~UdE¨§ÍmôcMT:¢ñ°ð/éþ?ã#§kúªVGg¸à¹2S´H–ãÄÚâ8(y•^¨ƒ&¤Ànù]ï`˜bç(ÄÀáA%ÿ¥àçCRB×Iµ^|ž$³H‰j¨LÆŽ{‡«ÔŠ7M̯ؽo°)®Š›\®Ì!¨IjTÎaÊ ðTN~Ž €“âæ0.°ÏÈÍ“Ž¶ôç¾ØUàœg3ßÎÂt“©}D[õ¬Fäâ?]${$×eýú”¨àdãs_I¹O7ˆqjÉ>~Ÿ˜f.Åñ¾kCĺS0ÝØ0•×Qßf0˜[tÝ”Æ#šØlþºU®5¸¡yÿ^É›–WãbÇãdS7 =»¾$á!§V•ÕglGèPC¶vœ+$©'†“R¼HR´Õ °Š”¾È÷eA€~^13r·>¿¯…ɉRgÜ …Vñ.Å¢Û¼å4þlE/ç•ÛFéi'™Õ_âQ&˜âdƒ;3¹"»Ð(Ï ëô·Òžçšö^ ‰‹Râ‡æôÔP\FlácB3²Ÿé5ó~…€)3‘:¬‘Å6 ƒKdÑ8zßvT&ÿ´ ¦$ºê„XÙœAW¶(3öðlO¬êÛôd¢}øRî1%•ɤ¤o— f½ðÁòV(Gç© tèÇùn-££l§v_˜•pýµÆžâÁ¸P×0Ťc)qÚÏ/ðâ샰°Øšé@Áç§ú‡£D >!Yá0ï‹p*®”!ëQ„¨Â c’PRÒqp·W„;| ¼Ûn’py]l¶• ¨ƒãÎò„¸t®õäŸÇ1–|jqu%>QŠŒæ%ºyh JíR4*Ø™axûàrŒÇ$±;¯$¼'Á–Ñ0†hÀ%08l7. €È$­ š¿%’Yj¥›02•¹f.AdŒˆ|©X‚´%^Ÿ‚ã‹åØBì”JUúAtUCœ/¾hZ bA×Ô‡[ד-‹·Ù¹#–T×óáéšüGô±“6ĈÒ›Í#1ÒKA Õ ä1ÑQ`ÐG‰ š“‰5»r ŸÅÉšäÔx¬l8`&~>ÕŒ~ËJË—îÚî¢Ú§ßB‘Nà¬Ã™-ÝÐÀ¦Ÿ”•˜àƒw¥†$ÚÄ©Äv×Eq›dÃa°~‡)…©1uq÷°\Y|?Nº|úr¤ÓÒ£0âQ†E°¯c À‘L™ây2Ô‡cÜ­Êóe#T§Ÿx(, [9/îÉTš! Ö„.Õ®qŒ†ž÷ÅëV@ á{]t8@î/;Nx¯2Ð’#;`µ†n?N²›<¨a6 Õ‡ñ²‘³ýüyšØ§y$ÐgHôË©+uYi‹‘0n¢È$@…]`¸¥ÐäU ÑB¸38ÎmÊZÑF÷?Ðvÿ‹köù†É6RöÂó;xwÚïé7šrÐ|hFZË8®ÈR¶g^¥_„>—nùæ7ÙxŸÑä)ÕÉÉDf ¸'¹Û’@r³þ#²‘L$©ÍzßžpdKŽ ðêŒ>z^:®¸qk KÈsOý·³uh•´QæÇÎ+iS*ëUƒµ œÛ…-ž3•¬!Ë °ê4t}pwºò‚0Ñ4ƒkmWǵpbBn`~gK*6»ì†J±/ürTwÛH¾´õ& Ú-Åt`µ¶ˆªªx¥_ê¯I•'·ýX©ýK6‚·›+Ä*¿ØßɈ ~´0/FdE€M=ÐîÁ„ºì5°YÝIÈD_Õ†âg5ó’–äÎÁêqo y?fäv‹_ºÃ$G·á;eƒï t¢a1äOÏ«AXѬùl`0wä`ßLÀM.Èr+XËš­™ØZùm¤™Np€Ï`¯#`vÖÞçhµš¡±]E³~Ø”çœ#1À~Ǭó ‚ycä2ÅQs5CØf…yÄJ³VDI¯Õ%fNÈÌi Ñ9Gâ ¿Š:Á½!뱌fCº¨óÏœ,ª1òC84²=èÉðVïÓÅÞ¶üáiz6MÂ÷̃<ÒjÐAû*xí&ß'Ýd5´ª?Ìweqê»ÙšI?»ŽS bý¡`Mkødv’¬sÁ aØ}Õ&×' ׉?ùS'6íîZ¿/Êý'jË*‹ØŸå#\ÁU5¾Y ´ê`Áä¥**\±tÄažAº”Ïó Å|ƒNï&a¿È@Wj½­3Š&ûc&ï ÑëïJcµÅ ¾Ç©û=Ôs´ÃEùšìç£L'Å#ß¡MŦ•¯ÅV‹¬‘)ù4Ôn™—Ð)Õö|íïÚƒVÔ”N•þ‘ºÑÑ¥°æÉfxp'‘0 Z(gUoä›H`޵:]wø{‹Fgvp×ï;!ÚãbÝ=!\L›-[ «÷î *ÇÍK~í‹8sícWé­-®Ê3Øn²ð€˜ÚE 0ó”¥dèXUôܬÌÁxšÒž¼®²‡„—e2MBËýŒƒ^¨xÝÄ†ÍØõþ#šØÄø©yÇ,®&f‡ý¦mF]­ žƒã¶Gkq½¸Âñå“ýìþºa0Ûˆ®ÇëV²eK{$ Õ¨]Ñyû6íYaÀ€Ë0‚,lÜmûË7ÚJ>!ª4ˆøÜšôü$QEõ²?o¢lN!W³ºœ.ì”WG9LÜ›ˆ1[•ö¾LÈÕ%0ßBTiÿ[Y…B뢬âUl( ‹,U¤2–d†cNñÿ‰nò7ã”7½§ÝO11F–þ‘¯|¾ê/"—ºÆÒÍ; ‹Yé9ÅÃ*®ÛBÙCˆ€_þ\0öÈR3†¨o&~È$ÎÔkÿÅÓî<†°ÈÙÕy<«IMQ±©¡ŽtPö´®¨"ƒ¡ÄYtGAŠH«W•O,üuÜ™„†ýP]ÊíÚLŽQÌ6×)'V4"‰àhø¸$„ÊYPÑMæ©ñjû°„üÀºw7Ù5À¯¬§ëÝ¥ÄX+T=OÚbšÌ`>6Ãöλp@2¾ƒ t’߈k"Îõ®-¶î&“Îò%ϲkB¾@ªöçƒíç4{âÙ:½{{­r6>À„yÚÐKduÍhÕêÖ‹Ë[TC¼–mA)3]¿<Ä*‘­Ç÷­g*8A^³iT¡®PaØ0êq|A>#Ó@z¬Îuû×]Û½kìr•£f»¬Ìј.Å<[·TËëÓÐV§iÚXøvŽºz¿4òø{\p¸êS Xˆÿ…5cV+|D†L+§ÉP0iÓÁ°cwç#õ )X¸ ‰V)r{@xubEÇfŸtê"Ÿ‚]æÙP=Û;6.ñÑ&8MqŒŸB›®|mW•?1ŽŒrðfîâKÀ½“¯{£Ší<±z¿[[¼ÂÈjò¤4ÅÀ×9ðJáÓ0¦t¼¢- €5C o`‡x´_€šXÕÇd©qè=6w’¶t¤‡ê§ŸeÀ=Ãjñš~¤¶µtAðº[<±x‹ØsvC܉:Ô–,A+­˜”ŽpŒ${dÇo˜ë*u(V2¢TÐ[½ÝYÏrD9Õ0Op¼”õÍ ê½Ž0—ªm#É‚(÷¡q/è ¢ðÿãä¹ùÁˆ³²Ú­Ém Ù:4™-H”JIlF+¨Ü.¼—W¾ ¼Œ<šáh#å#2¨+Øši޾Õqà²-Ì“ùL»Ì6gP^eÖÕ¡“w-(€¢§a·¢&.Ô´ f?“’àɧôA±ð<*¯Kß@¹ÒŒ×b¹Ûâu§‰ %Nmð´ |zž§äY1– ‰ºAˆ°•¤í…)m®ýÃ÷bÌÅ©cz O¢dêÀ¨8—A¯weÎ…Ì‹rn-§_$ŸH“’Ḣ›_:™Ú†9›Jl³¯• ×¾ïX„>Z©¡!­«º¡±Pã³Ï“6Cy§¼Hê7hMö¡]d’BgäOK&¬Ûæ2³•eJ‡2_>ý‰“ÒËfprÄô”ËBS <ÛÖ£ú÷ÛÚyA|&LØ> Cu@JI79¨4˜ý*‰¤ºŸVÝš×áOv{òº,±vT"ðücˆÞõë $w!þ;±Œ~VØÑ&Z°€b’ƒ½;¡¢Gk4ˆÑ{GÖ]BäI> L“Ëä×Ï·ñK ¡o¹Ö@¢ÅéhRÏößæ=?:…РT¼ ’ËŠ“åðS/ÙOøÖ- Ï*øœ4˽Rb_¬j#Œtrdéüèã…E³Öo1?ªeçií,øáà‰æèU¬ƒ>‚Ðkj Ç=«X$t’€ œbõ¯xÕ9݃£ĆLç>™( ·Ç†ÓÄgy×f³ßeù¥l ò6ˆ=z/Œ©4®d v¨N®ïGɜɄaÜô‘þOúoRBC’¾‘Òÿ•BGCŠì`›Qç=ò–BÞÎýÞz] ¨ö€Ñ§w—mÓŸÝ~œ3ò¥[BHú„ ÊÖ0¶ø‹”ëÑÒe-o èʱ©½±º³…–ÅcÒÏIb ‰–¡«ÍžI7:Ô PD½-µy×C˜rä0u¥ŽN‰ç)|ù3Tc^ġԣ­ûë·¶µØ ¢ÚdŸ e¼Moä[ú<† ñ½Y; †vîÿû„~áX4´°Á. Ã-êKôŽìå½5ÑAL.#€:´V‚{˳/õ¸7k8›Oþc$‡ÁóyI˜Ì­-k<æ@Jš2t._ü]¦;~8ôB’Økª^U,趆±Pòµ˜>±ÒÕ+á¸ï&‰ok) ØGßkÐî²:³»IǬú܇>Ûë!^ªãõ·³ BM»½ ®GõG;_ު‚e[¿éRf¦y21†)ÒóMOñ÷ø­È"_DHC+chÙa‘_ÈM¿äXæ Cllè »Ò诵¶…í-0åÁ™ Ž=õ;£þ@öeàÀÆ}KŠÛ¡•ÑÓ™o>=´êi”Vlé0ESâx!9æ{p‚¯)š¨O eÈÙª#³X^uc¡m?VqŠhúª_Õ¦ÿéf}zøŸ ª¥ãW¤áJUlWnfD¦ü˜-„ì:›¯?KÝ,\S—i¹Ù~љ߻¤^zª=ôÔßÜj5'té]X—æC íÓW‚³iªÝ,Š72Ì‚¦ V´¹m^Z5/ÄrRâúGÌÔÅ=bæL#ü`8Š]îº}Ý¢3+À:¾T‰Þ¤g6çÓ¿”†a¡Q<Ž÷Œº±lDdŸð$Û¤‘ O7 æÒëõ Ï'½¾áŸ¿Éz~¬†­7iÐËgB7!E‡ ¨¦ÄiSpÙ$Ù|d}ŸŒ)ôéú´Â¡Õ:íªXÆ£s:T›ûMx}àÓj|;A:¨+WO[½e˜õS(¢Á¢Ãaèë*__žòœCìkòõ©ä%;Pç¸N]¦‹f‡Ìu$q÷.ø„ I^W‰ãk¢Š1RAq-9}Ûl'.òò6™ÆöÏPx+2Ýž^Ц$/¦b¶§d‡Ûò›8J_瑳¦FמvŽ£ÿÛö ^¢vA—âÏ•"Æ^*¥·‹„Ë ÚÝ&³Ô`ÛŒ±VHØ j{TÑÒ~ŒM›CÜPòzcmH°Ã¯øB#(v½¼h¹kÙ{39¬;íKù‡Mê5hs®I«3k<" Œf'׈H®Iý$0ÊÆó€Õ‰àÿø;¢v” tÂ×t±/pDf Fˆ‘±Öë#¸·,¤|ƒ«TÿÏMáex=€Õ¦ÙÒ[…/Û|ê_B,K=ÄÄŽ>ïGu+nÎ)C8>’'øë (P³­í’Ää¾ûâ‘æ…zdÌ|¯¸àu¾Zà°‰Èue»åàdŽ¥”þG©Ú-!0ÇqÔ„ºBPWüÈ!d<½ÆœëiàuRYíßæ‰{åõ=3¿4j[¥Ó¾R¢ÔδzÒiÿX‚•«%Øìúä[V’«;~«A`_Ñžy%@׋ƒmIË{S-Ú¨ÐS(Hwm݉B©ÃüþçSzhc«Ugb'»Ö¨ÞI¦ìq-Lí¢)†Ü†Ć›Uʽ6^Jh_D•ß]CÁë¦8ëÐeSæçô™®t¬VÅ´¡´L!›=Ü–ü¦G.~é ½@a"vc¿Œ±;ÌÉ=l‘¦>Â=vÎæûez¯.ˆ%‡CÚIÜAPyÛÒ ù7Y)凾TŸÚÊ|”ßÏ)’L–>ñÉcüR+ø\Å1?+ ²ú·ßh*æ›à·qä•ðNðœq Úø9ŽÓ%±r”(í{·§²`tM]Nx¨/G0ö_c|W¹Kæh”’IV‡ •ìàPÕÊTÉn¡‹J½™¶ ª+UG-_ÄM*ATL CzåøƒÄ}6ïǸ—ð¢Í‚ù×èšá`Ì=ó€§ÇËwÖÖºþH´cŒõÖ¶5µÌ?Ë”¸¡?ôTÃø °¸xar©¾ñqZ¦šO'ù¬kà>´$;›‰Fþt;±Xm:ä… Ãb±›Ð=Á½iCéœ,˜s»ã1­\•f -IIM’ÀåþL8+èUS) ˜ ±Y.?÷ °ðžÑ®—wª1äÓ|œÖx±Œ¹ËgõœÃé΀£AÌFpøFâÿy1qæ'ømvø{ÖbA_ n`t™½˜¶õOª8î°–l²D[n,­‘ ˆMDÀÃ] ²*½(ñß¹.·R…ê­Ñýi¤S°<¼°ØLêœ ¬J<ó©»›}M¾–k.d$ÙeTN8›…›U ð³aÊLQœR Þ®+Y>z8ú‘îû!ö2ô¿) ~EÝŒ8Pdk Mgkܾm(»•'n05åkQ`Ö8’hÍõ™<6úñÕèã}Ž6Ö44)Pt®8½B¾jvtU¥\.eøé“ǧïÏ@®pHLç`Æ–í(Y5Û2MÖC Ï`L8ü´Ê¿«d~¬¶†ù_ƒú£àóÖýfÍëÐ6ÙækŽ~*‘ôBŠ»bƒš4[¬§uVöð¿ #¢¥—†%Ñ,+² ÇØ ´Ç6Š(0Œ¼Ä.lÒd‘ü¸ùÊÁÀõªQƒZ²}&ÜHxbО h¬}²¡5>’©ûÿ)߀èyd›Ø’,îœÔ-7z¥‚~8¦Î¹½,ÿjš¡®h‹OU~&!XC÷ZAߌ7¾íª%ÒUÂå±S¿¬YÚ˜ÏÁ½ A¿ß¿Äì~jÁøS"WKAÆ|ÿ2Îô˜ÜžÚAŒ>=Û¢3µµ zçGT•Ñ {ÇÕÚOͪ‡•‰§ô n_êb2Ûôj@sg4ïÙkSzD)}óÂ1éP±\üÄ`5öèo›¢PnVFaŸv]¥µºÞ<$…ð•£î¯•‹ Ü ÔJóÊëìv BŸŽy.›‰ô_åqĸ“q&…6KëÌË—"®«6§I/ØÇ#”0û¬ÿ†wqN…5S‰!-ž÷üuªtɶێÃ5ÙV#Š<úZ{p²–­Ç½6¦KLRYµS¢ø¦·è⃭L ÔÖ^Ô¦´–…Îå¤1¹¤®Ê|aƒ]÷”Lí¨†<Í47š/,õï¡|dQ¦L$ï¸Ãóù°ƒ"ÊÁü|Ï)†nì'–3íncwW ;b>®›(¨ª ûÙÆî¯ÓtŸrË®Z(â;¿O!̦‹Îy\ SàR€Z‚qÊîšjçaÐ,ò¿„Å<ýeérº'Îr˜!ýDD»<õ©¡Ü !"I¯‘¡Ï0÷ˆwóo Ød$šŸÛVUç׌ÿdî×ý ÕKú¢ážþA],K E×Sä8ï~âmZg}» Eòg”5<³‚o¨zŽpê¸|ÂÆ0æKc{ÐÝr|ïa__Uk`Ì4¼`õwŠqcÂ*Dèo)±›Ü ¦Þ`ߟ tPâÆXú¨f{ÏGÐï™M8Éùqú ?, „Öù¬ŠWõ Î{¸ø;’ó[¬ˆ~êÚüc œZvß‹B+¶’”÷)ÐÿDâð«9Ç)£…–€LCÜgÀÑUi¤˜lʲ.Âác Dä¶ o$ç$VcÁó™pÔI?ÖãWEë>úGÞ›|zO6Ìq܇GÉÅm˜ÂˆCaâgEULÏÔ6€Ìe6‚aXràH°;®Iç{žó.«¬<òw{¸SJ**c*1÷ß>4ô<]åÅ¡j‰Å>3­G3—~nC–5JÛ®Úˆ'™ßôJ:Í{¶?„ÑÉ3£1…ÇÇÿd6kTäAIüAÊ‘|.Šïkž,`ã³a•âÄve8J'Fú®–„Úü®Eˆ/² NüŒI´ ƒ’ä¥^Ìb1©Tc?9-ƒd^OvÎ^H÷HX/̬ÆÁ(ê㢞µuRΙêâ3WÙãÅ~'E=ü¿µ Žêìp£¤wH>>&}ÿ«¿ÏAçÝ]#‰A”!áy–l¼7Ó›œÓwª_Ù5¤qéïHŠ|Ç´ôœòž•@Ø_±LÌ' n+bm3?åˆäÈŠÛ3 &’#àÂsÐ÷óe<ÆÒ²Åœ-±A7`^Šëùdu’£ŒMꃭ§¾©ìrLƘ>®UjÆŒ”§¨£”½³q~>Á݈ÖßW†cQ]CŠœ\=Kbt $6Í© ÁqðŽ EkAÎ|x<‹Ì&l_‘¼B\zœvU{ê5i"å6¼˜®J¦udÑ>>å‹ÜÑÑÿyèìó—>ê6r’ðsJÓÜœ/®ÛM9î\³Uã¨øô ÂÑÏèë1“kÛ%y¢79–~JI‰ùò}.˜Òârå×5¼âœý¥égÅ'¾­"Ú$-òÊ$u]ÉÀNQið[~²þÒóïG„Mo•<ÔˆR26(N˜8häî &XúM,G¨(íg™·0Ô ¨3aziÔ?-É'•[tJ^2/¹@XEÖ’*wCÅB³—ÞЂ+Ó)Óóã±ÆéÓ $¹³§ˆÏÍE°¦½„Šjާýäçà‡Ì®¦D¤R‹ú«ËdòŸˆ0%¾Ô7Srõ;“.Ä×È6aEò³»ÇÞéĵ,˜¬cHþ>u.|Léøæï+)b¥7Ëí3m°m¾iÀ1ó¹5hœ(÷¶Èàï\j®·ZöEAò2`Oç#5’j"$ d¦SbíWR¸¼j›ƒÆN:~Ìø™# žõùSMXXhn Û/v@l Â&ðƒ¬<]®¶Ô‹å‹êˆÖD_—9\¥t±zÕÿ»­¹ò”í!ï%ã¤ha!4ÌÜõÄüÄ®çâwªuÃù:6@Têë€ö¥{úðv×ÑFn|7Þ<(q¬ÚšÖ˜º9*ü­+ár¸'ÄÔ‹£ß´´Òâò•RÙƒ-z\ÇRK‚=çrˆ\Ïâg=æ}KI}E²ŒòR™-¸ÂuUóåFVm#-¼ ÎD`ªø9ŽÛ±|ÆÑKæÄ<58óÐ&¸ ãÌ$˜©¤qò¬Del+åa´p÷ÕÀæŽ Ü*t¿Ñ–ûŠpr'fêÛú\î öHÎ~©Ž¿23yž}¹R|j*Sl±u²#@[]}²+J¿q@!u6ÃÓ2 =j¶õ„m&GŒ_ fö³i¶Rr r=¯¼÷°öaŸÐhvúIÄ2íîQò0HX1eN„ÈÛ’4þKS¢«Äöhÿõ!¾ø; O¨#„aÀ0”ÿmµ÷ºC€Äöä;›aøN:Õ ]šÓ ]·TO¶#Ý–m§Áƒ¹cµ­ SýZ˜åé©\lú»:ÒÜ|R‰,gî¢'ÝÇ` ñåÞ7H?é#„å;X³€Î×€Úâ’ÛèCcd7j¯K}Ö¿•sJqß?iuoû"ÙÉ %Â!¿Wù”Û[Ò/0º4KÑjß Š˜ú’mbóúKb\üÄÃè¹@ØD8\ :  ž$%óA­˜&™ÿ.’\ÎXÈ›C7ñÆ”G7]ý!¡7oµ;ÀéÁœUIŒ EôÜcèÔ1SŸ„ºKT¬ëyܽ•%‘yèÃ2?úò E"÷C”f„ÍSÿ—,®§¼-)\´ÍjPDÑ(¯“ïSFjñnoë´$Ha‰èo¾ïÜ>bàCư(’.–( ~71–%Éût”Ð×ù…}+ f ä¹/š\•'ÉIuêï"92Ñ…”þ®{3!ÿk]`¯Ä©Û`7™çÖ Î|÷ѽ˜“ d"µ»zÒôðsÜœhLÙÒj¦³ËxÖ“èÖÆ¡ôlyËN«ì·¹¹Óðg=lC'©Û Ë[¨¢ —“y®­yFüõàZ»>÷Ð8†²|Ö‹è–”z¢¨;wâº^joÛÖ=܉ëò–}Ž 5› W±EFëêå1`š°éÃ@AÞ]@·íØà½G¬¶¥c¦g %â›VŽÆ=/úÄÒÇÊÅò!è¡°¸÷`/[t¨l¬=¹œ++”3·.Ò¡éÂï ê½Òƒ~ó(-3Ñ4 º°üœZyâ1EÌñqGšÓ³|5fè­žã××B”Dl)Æô=äº;G÷Ž$êuõA_?a|ÉNÇ”3Õ×ûU,ô2ÒWŠ_¬JÌ‹f”áôž¸Õ H¾ÚŠ ·îpíêý~"Ül‰ÚÁÌtm¼IvL;ß“¢†0K/UˆÜtÒnÃ'¡Þ$üÓn àÚÕfçЖ@œÇúzŸ€E6ƒ˜Œ51œòŸë4ú Û3êöxB÷ŽØØ0í ö Äê‘—ášZzHânŽQÃMçžÅp´(¥$”ÈM”ìº#²#ÅtiOù~£‹I¡juOFcCÕ*µúëТ (pêÁ¬ù’9rq³Ö•1(B°_GHÛ¡{_0³FCÝAú^ˆçŠ_5î¦Ä0è–Þχ9(]EÖN¶×~ndæk6†„µñ¥Ù„2ïæj ÞY÷ý`ªkë‘Î.2­Ì/ò„Äü‡ÀE&EÄìý`Ýôì–¾Sl•^ ¯‡û¼È¢›ç_kL2??Áþß•°\ݹsïôf¦ø‚7‰ÎA$`qN&E![îŒa˜å4‡1âàþŸ”0Ô·‚ ü¨ä.ƒ…)ΖˆøEŽ%Ùþ©˜BÆ^|\8?Ú~Ý'öØÄP‰Žøm‰ƒ×H8»,MŒÕdºÎZÍ£ñ(‚\Å!œÁÜC¸¢þ‡üøoÕ¼Ã÷ßÚoá€Xüw7VÐE³¸é*—ÃMH#¡Ç P“[,âCrBŒôÓà ˆåÀB¨²?D¡õ/`k?6º)(WY•ãþ&;6¶Ãy0ïFZ šÎÀ0ý¦3s#”}…Y£y•)Ô›Ò x½=<žXÊ5Eh²§ÅsÏÉòa{ñªy³!½ýÚǬ(.õ´®è€à*2‰áU«·Œ¦ªùt©YWýiÚî@÷ØÏ>ç.ÞõÈûEÇ S†=„*X ò#ôøMÌ(íµV­MÓT:]¢ qÃO ³Õòü¯Ž¼øþ ýÔ\ÝÝNIàïÒ©‚3áôd½C¦FŠCwo_LФ¼:“”³ µÖ²èÍŒSâàÐ×a‘ËúØú0â>pˆ €«ÛL02“"ó±|Ypzͨ5šÊÙ~Àô<âTÊuò’{Âà g÷ðm-Û3Bß Úâ |I³?9,Ë<ŸVqë<šCߦIÀAÛT¯˜¼4@îŽG§(ð¤ŠÎî*8YßÁ0¿ÿk Ž-&ã´f¤ HdÃ6$Ì$`ôÖh) `šÏç¥Ù )¥b$Íè%»tí¾6Ÿ1ÊQï’¶¯ôÉgbH¥NÃÀaˆ!øê&°b_¼CCç RÑ\{OõòzOSpD ÉàšÎèÑǧv§s)²¾ÔÄûTòòµ"OŽJ5¿F8{gQ Q"‡˜yŠxœš"é…=X€͘¯y¥CÁòÔ³»¶¼–’øË¿6Ø[:V%5Fnuª' àÒ²_Ó—EQ&').×xÈ›ôß/| ŠãΪèæ˜€¦}ÉY¿ ;80ÑíÇC)ãXæÜÞ¿,×1l¾wì©8ˆÈÌÃ_<ÂÔºF=3àÚOævÂ`êhC_¥íدG÷‡ýÈ ø /ÛàF3'fkM%`;ÉF¹úÍÝêþq °UàôôðR†Œz!.D¬®Å›ðg6QÈqé@\î|¤‘gú*žƒ¦Æ6ǹ!ú¤º€ü&2nÕ~5›p||#Én]"ú¸D{rGJñ^'Æg«ÀæêÆRk;‡,>x"ý(4èˆÍ×h^jGÇ€l…M1"æ~ÛàŽ;Õ/Þc5iéK¬ÃçvgídA¾…¦1ët1Ãt7†Å+ÙUS¢ù0nÿ“` ^iý<ºwÝΑÿs€EÒߌ¸+gj§øð ƒ´g‹Â§}PЊLíNe5j£ )†-þd¾PÕºò¨ãD­…0µ¥ŠlÍí«7ÉîëwìäB…Ë“ˆ²1N›ÃsKqúzÈÀŒý‹Ï‚õÌ'MÐ`Ôíyg´HD/"ÆìK=¨o÷-­$²NÞ,JO#°’VÇîTgkÖdwÎ’=Òï¦÷\J83QÎÔ¥ W÷³8›º-'ÛÊBøŽê휈ºsX¹ÓçD‹yØæfe¾£ÎêÚ8¹#ªzÝ«R% »ºrª~WÍ*CÌÚÐÈV¤Ÿt¯E8Í"‘Ø]‘ñ-¡ãæKÄnÅàÖÚ4‹Ì™NlâÓ™GKY»‡á²â‘hTUoÚVÑÎÔDꓺ´ì Ðn±cAÊ(žM–€­hBjЧ1óz7Ø:û,ÉIx“c`c¥%4«é\G§Ú*£GùÚ3™ _Ü2°üO˜`ð±„Ýö¸Ë—ùY4zBמ¸Å¨'ÇÔú(`¥Æt„ƒÐçàðŸ!‡æäÇ(. íéç²ÅŽC½Gyž"÷`¼ìº&6œ·7>ç!°¶ ou¾õ»í²nݽ€›r=|°-  ÉãÍf}YŠ€Â—êöÀµ™éV<|Ï¥Òr^….•Böª¯ð Ä =Ôº A‰åÔÈÅ.·3ëu 7ºˆÌ•¬ñª²2×—#Æ0iî âȸ"Õ.éìÇbßËŠc<üÓÖÒ ¶Q°ê|jžc0fèâß«‡®UK÷á „~_7ß$°Ä¼)+ic5ŠùYüenAÛlJ|~ÐÓW0ÎÞb›_f/Í.qw Ó‡ætQ|Lœ äüÐWžP³[¹…ÿ8 ð2ó±bˆ7[õ.ÒSê]úï|`÷%Æàä^ª›Pó¡ƒhn·Î‚eZø«¹µqqvQŒ»¨4"8xB¿iq9Z3…Ü3¸>[–“æŸ'ÚácŽŸœ•æN¬âi×'Í«£ÓFN0б}'ÉZ%m;g\€ÑwŠRtþ(UñA]èGªºz5Ã.Z„ЩwÈ…E=&g8ùÀ¬w§º6i”îÑ_t§BŽC"楛Û:„tß¶5Qê3¬8Dj"Íj-tÀ–ÒX’!o¶µ„']®*œ-î©`™»ÉwöÓ÷ÀCvÊà”XÙÞ“2DTCu²ôr=€ ïØ¶ä¯ÖÌ\\̤]™w (5Dµâŧøóù”íÉpÝ ›¹"´¡Ù#C Ï“JÈÅæSó¡.T"{;,ÖC“ØV(éÁ•þ¦æœžïÖ›¾¾ð=óà;Å ZùŽÓ/>Zp£šˆWy÷åäêA *Mmg2ßÌö™AðÆæÏäE&C<¼ÿ­M 9Xö4Ά½ˆPë»!`ô ¦ú®y.]oŽޝÞöê/HåǬQÙü¯¼‹çe *` ”rËèÇ®«*À¶¾×s2=Æi?m+9Àp·†+î„h76r[éDÐXîÖ7²ïÆeña_Ÿÿ`!ÀÍž¥ GV5l{ªI†­Å^“‡ºïþcA(Ô9À&97(ëL"ƒmvqs0m`F`}± pÃGJé\WßßkâÜâ¶v6oþ›%‡‚ðEN‚o1Ϥ,ܪÊ\)Œ¡÷`ૹʕGOÝ=Iñ”-è«&`I.Ïk†í˜v-³ý?ïˆM‚3Ó-$º â(ò‚g¡øÞ~;ÿ—ÆùÌÅÇpsÞ=焵ÉÙ¬Àº=‚NœN!°x`cRTâUŽg!Îõ†=‰]â|ÒÁ4Åx¦MñÕ~L¿.û}=g‰ކ~¨t qˆå z#Ì)G\2¢•§ÈØV3z wh+úqpbG©àÿSÀ‹EÑ*/»õ?îOÍb ˜±Ä!Ñ­Ýz³¥Ò4s&„ç&cdÈ_)q-\7›ÙÚ3¾ÇxØÕÙX1'kÉƤ¨‘Q‘¥mýVf»Æ-Ð?ªR’q·eOA?0ø®BÙôÚ+ÀÇH”ËØª¶0ç Q|F:7S$/PEA]šRœ÷yÜtºæÈY„ž¿yÔ‚|›Q1À•UA81N&•™]Ž"†áSN6ޮΣïñÒB;G‘'"ÝÞ“…òµ¶Î‡FïIFŸ]†¼%ËçĽz¸Fèsü³Í÷^£x‘”R„£\å‡nfŒRÐæŸÚ½$°!1²1í Ÿ¢kñýBV« ß1  ‡ü÷ó}`ÿ[yê†0ÅCcIàìY=õ¥,íŒú²®.î³ÜÀ™‡SI©µ0k@¥ìâOË©üìdïh‹ƒSôÓ,ã©ÖËüç|†µ@°¹˜üµ>”ÈÃBúm5ï†è ×ÌÉ1q˜ˆgX%a}Þ±: Ewqô8¦½þQ5]ÔyÁøúó)ú¬x3žÂ™±tÿô u㔋Oî«’3 &LMÀrDv¼~lúôjˆûëR,FbHî³›Ö47–ƒš$Ú‡K¡×.ÁŠªwƒ{ROr“}•Ê*Ú¿}mÎ)ºB¥R¹s ÕÒΊC¬{ɬ…ÕtÖ-©}#•<ÆÔá‹ÔÜùt‰g¸ÒNéjIq ¨ãòùýOks‰œ~¦ 2&Ò$FV¤]ÐåZз4Ko*TVHH¨_~½hn[¢QÉnàÞä«Ïá}kÊãćb³Ì‹kýÝðéèV³¾:¼ìŽ ‚WÍÑÍWqVneJnŸV´)ž_˨ €VÞÇt\…w áõMŸÏ2À`ØM “˜–{n¡©0E« 6p6Ὼµ÷°H÷Ed[…’‹¥É«Ç™~¸íx"ˆèYfˆ"œ ‰ñ/O’#&S¨!nMxEuE­:jb\ÇP$ÛB\i§S²fwöϺb]0¹!ïþü_™™{¦öÞÕòs~¦Ÿ³¢€2¯°;¦¸žM‹šG¥Y¤oéØÿÔ›à3žVËí„»4c”Ô“˜û1ˆàÖ+È–Û{TÜè{Ôókçñ<è´‰Jî];Q 4†æìÛ:¿~ÁúuÙ>f~˜p®|=&¤åV¸êv¡± uf·lP! KqÚýVZ­• IéÄÏ¢G³T¸½õ}e‡`†7WÉ>ÆE4™èš‡Ñ¦¢]ÑÁ|©Î=ÖBA_9e{ÔNŸk«”XWù¦Ó¸lþÝö: ¼p~Cj¯8>uÒ§¡8ï¹õÌG¬ˆžŒ ø—Ayí"äQQ.=ZN¨Ì`YÂKVYø¹j—Œ‚RQ*:é*°ˆÓÌôîÌØ–à=1Ý# €[Žp¶Ê¸±.±‰½$MÙ™”ÌP{e¡&Ç0fE¼TZ09o(ïGûH…,qèkpË8va˜Ë޵߄|„HK—æ©è{ÁYS5úß‹_»Qñ+¶.Øb$¢³§¡¼VŸòû’jý”— K_¬°lL˜q(×Êœü—ö†´˜Í¿ñΆu7ÓÇÞnïì\ó¦!°§rpìø´Î øê¾}í_½¤÷™Tûež†sg㸷£IÎC9çÑ<ÛduÒùè'M1‚Ñ4iykŸ¿Šî/ͱH8JN7ÿÄ–TÔLÚÑ^Ï9-ÕĹE£wP…Ï"4麑ü‡Á] TµDp+iD«'KN`p#2JG_ ½^"¤„CÊw&_’dR ÂÞRJ½³ïkÑÖǯ4M'À¿ç,) ê½ü…:Y‰IAƒ éÀ“yPž·eßÿÿl еçóæbkâjNÚ‡Vž£{/'šÌœÓ6i«­ˆïUœò7èìýMð&¼dçF½Ð¸e€{R ÷)EmP”ðåÂÖУ7=Öÿk6$Eú“<óPà†ûÚÚjáѱâD ~×5¨m|Rf—õ%$©ícM!IOˆ·MVûö¾è&N¤Så öØKEMI3øH0tk4iB… aS ”î™NI··„mÄîšñ8d'§'ˆF›^I嬱æê:•ņ*J¸½w¼ˆ®‹Eqé`$¸ÿ÷¯à©òµ-£Ï$TóíÒM^¾Ë>Éå~ Þâ šéh熘*å:”â¶@‚‘ÌÕ+ú:}júȉ 2Uc}l!8Tçd ;5i4lPÜÆIµu6´@ àûâžkÆ;~²Lg$®./÷¿]¥Û´¬K3P¦´™ ‰¦2d«x|» /’ opž2cXÆÎÑg½L]_ñ5jL])1P(Êeûü¸\HR;,Ñ2T>kKrý:`L¶lú(v7rÆ„?k`³’.UFù¦ž³› åÈd  ~Õy¨n~”ö  ÚG§¹Ž‡ã'?³Ï÷=|¹õN»eð ]_úßvá-Šx«‘H{Ï ®W6Wé]Ô­ÄÕÐý^½²Øjiëã΂[KT°Ñè„„Žò­˜­åeµ› h›;çÐ-^KÌÐø]ÉTà7·ÂK£~¶ÁC÷CƒCo@ÎO0€rF ê»¡GäÞ¥Î+æk Tjß´˜Ú÷¨¾¶çýsÓöénržŸXÁ^áßä«„"åžëäõ‘x—ÇU qv! ªtP§žƒÙÛù¸¿EØO}×Ðlߤ+Ã6)}ŠXë`×Ãîx³EØíXi™yIï½\~c(YЙ´z¯gï~÷€ö£#r¶I÷0Y«½Ëó7ˆh DƒýF¾Žé ”±hþ†tÜÖ:ˆµUq2‰Íh-:T›ØaN¬ÝoÉ™zò4ÌäŸ5µ1t,ƒÅ²Ã(AÙ+^×…Ø´‰™,õÉY˜lcÁ÷iëš\›ŒÎ"ðËÏXÝ´×rúŒÐ//`mà7QuÖÍTZÅò ’TêTâN ÆÔ± e¸öº,Å?{ƒÍFB¼b,2nˆD>}lLÕÅ[&k¸Ó‘?ÇäW¬]ªÓ¶¬RzÊó?S,C6«âõõ§â±(ö‘éh°Ò Р*мµ ŽÛ•”lQÔþzœ¼áC®5Ècdé‰jäDÊY'¾ÜÒV’y¨E1‚~¨£zרÅBwØë°¨ÕS§ñ–XEÀª¬ú:=Ûn׆½G¢/,hà¥:£¥¾+Aÿw\™°´`É€íÞÐàf†;$I ÆÔ­<±kn›2=ñ²Cíì B_°)ù‡Î°&·T`34(¡¶lŽþ¡ [Ò¾¿•-³l`«Óg6 çƒ7jPûʈ_Ù¹ú†Õ‹©±ÉùP¢ê I)ÓãXš"f :aù¦ _îj~üÛÑÕƒÓ¼Ø~)º‰U?,:BÏßÒ¾"â5¯ÍNØA†¨ýh|Ÿ·˜ gßåÈŒ°-•=ž’ù`'±Ô 8`06¸s¼Æ¿[ ØÊA–‡¿ÁƸ-‡æ_Oñ¡ý Å€xÕu»Lsž!Sp­63«ŠP¦Bžúö¦C©¦èZ¬3_ Ø[¨K·Ìý®Ž¢f/ôêè#— ‡ZŸgY~à1©ùïÛ6Ø=GzÅB~ uíTñ£ú=Nu”pW:°Wi .[^“ê— ž’gn #ÿ”R‰à{/Võ1s¯K¾ã}ùé‘QVÓ*zk4¬v¯983š} ,XkÙ<= bŽ.ÂiÞ0n)UÔ3”IcKUüM·µaníW¡àrJ¡'éY–:Œ‰å!ð>Œï·D7¬5ŸÈÙ˜„tˆpOàfâÒNŸÂbŒzÜën†|ìòeÝõœúsò#ÛŠ™•â»¶Çm±¿’¤`“z¾ë÷ž ráŽPlÅæi]ê ›Þ¼aÀöÑ…q•1…¦QÓ6 ‡ÌfŒŸôr¬ë1½GhsBòîT›Qª^ø¥¿T²¥‚†Â’}Ã3d7ºÎ(ɬPÏPTEXº1ýàd$Õ|ŠKQÀi È˜beçÒÒíÀH †’øŽr-Iäª6:ÍÑÀ{Hú2ÜO£ü£¥‘¦¨ù­·Ð«VÊôþÂÇåªýô¦]jcf˜rêA’`ÿÔgبXð ú9…uÀ­ä†¾ç÷ïÝ¿Q:ŸC‘@ ê§¼qêú,×c΋Y’0‰®¨Ø°lñ5)Hú†ô¿°Â½R~¸¨E³ü8¿î}m»ÄPqJï6ºÞFy°Ùò^Œ ^?]d8CŠDÀ$ñ¨tÁ^‘WWtÚ0 ûrdìe ÷þ~Òá2Ä:€ù‰Ý´ð•AßlDÜÂJ1ÀäðTÅ228êÀ2<{ÞvØWÞ˜ÁAbxê„ÿñX¥[«ƒ2îJf$ßf×PÍo»oé#e¸¼uqó ˆ “Øú¬T?£nµ…/r…>î$¼Žžëf¨Ä%.²®(1ÔÛ5¦’¤@ì“%Ðôµj2®m¥¬—ïßOKžË¿k¹÷…'Øý«NÏõÚ™¦UõÉPmkTfâ´²g÷Y©võἬ¨ê´¢É4ýGË‚£®,\/¦-•µ+ü¸”DUÒY¥i·•ñDNûúzyÎu(Òqê-p9«Sï‡{^˜¦—¬‡&s5áã:l\cÍ@tàœý¿²ê½Vá¡§‡z»h)lR+¨F¶ùõ>¿+Q¸ù/dÇÏË©;1åùÚ*”"ÚR=NÞ@·e1ú½’¸ü¬=p{9œüu®±×ëÁéþ«RnúòŒ®„¥ªM7£fŽf:í‚E ‘û/‘}4©ÅÇ­o€¸”Fò¢¾ÿ[,=ùhþcÏUüîÕ­ì`…Û“œ·™òŠÿHºð}…#ümèî°iוœ¯‚5í¯ƒ\͆@Ã2t¶X2Ÿ¸®ÒÜŠKÅ5½@ɽPY´c¿d–Þúi޶›ÈP³5²Â¸1[,àÇáb‡zÊÑ×oãþjõr¼~HPDÙÒ¨"j°̣BïývµEˆ[Vú$êv^Öln³ŒØÑÚÆç‹FóÐ3Óùü÷E¤Ip¬Yç-®¦~ž3³óA‚€éBÈéøZ^±!ºŸÉwb[aVr!>ÇùÒ]Û!Ñ´=Ý£L»# öñ‡…!í5ßDñÃ4-XÎ;ùUÍc&å½á–Y©Ôüÿ3ð}ƒA½sF}Ú,¿Š[Å×bIDYÚÂeî Öa #ü-ñ&ýxÝC[ý£$Á¾)#r•Ø"UþS¿å¶Ý8í å·÷;ÏñsS¤Ûì1eñtÒ·×£Å6¤ž˜Þ< RoòéŒ ž³îk×à(Šl”þ…:4'óBÌ×<-„ï¼¼ßT%HØw‚žú¬âDnDØCW‡ŸàË Áë?Ë Øâ3 üK•\¯â§•Á(4C'Z¤Eð—`Ú\ö2HìsFþ †°=ïÙZ¨É?½Ývq`Ö]ŠYˆÀ &¦ˆÊ¨†Õy#I…,]Ϧ˜“ƒ4Ü‚Äõ]súÁâ%jÚ[ê¡¢½¾¸I—â¼a2"8÷ žöéCk^åÒÞ^}DH*¯ø¬uÂáÀwÚKI6gÀ~¹½›š\ÈWbCÔv »lCw}oøŽ‰x¬‰Òa©)–ü–ÁÓ?'61¡—d3r?œk»ƒÝ‘tI_’Û‚·Sãç¶œ…áÉΉ1'­St£‰`?w¥Ú]Cí=cV.¨„ãÎÁcÈgAÎÝ4Ax·EvjÇlq„¸þ¬ÅTG‚ÆJ ú^9¤íñÜ2Vê•f8&Èã#›™¼lHñ)Œ’0Q`³yÛÐÝBä^=é]îÅÚ0 €²±ªA¼#és¢ºBtŽUXŒCÀÌÏ a»M%2£pÛ.¨ë„zGlÙÖOº9”Ú¹Æ;}I8¥èÑ}fzW\O-ù‚Ðev‰˜Ò!WFx>ûrMy†{/!±û 5Âfâ'£ôrnåKGÈí=°Ù(àß§SoUú Ó®ÜI8±¨S¶oÙyöý†¸ws;¼Ø<¿À熡üî˜u˜ÞU<¢tr ^”»j» AJ¸yNk‚ÉP»uÝ[ UêïjpÍNs+“‚¹”ãm “tý]LÝ`0y§(h€ð†|’qÔSïÈìÄÀžtœíú”³—XSI§’ÉŒü¾IÎdfãêW»õ› ’r\×Gi¬?϶%j\~~ê!’@*¾6c¡ÅLøWÍ2¹&ÈP"œÅ€¥•þë"±’¤y‹^§Òp]‰ÑÔ’w©V¯_—fè¦ßIž0°Kù‘45óܤ"Ò6•þòF‚=hÛñ:VK”«·“9EŒ)pÚ¬›¾˜…ž?¯œm’=2½^ÂЋ–}p§Ã 1) S4T:¬RÑØ˜1ã™±e#®0,Â2pÁC «…ÝøÙJV49z0lÉB¬Ð缋‹7œIMWM\”n€^ßP°86Û¹ž˜;ƒúó(rþ >~e¬=ú¼âö‚Ù’ø˜Q öÌ ülj-Þ|Aä›Mû¶*¶cC¨ÞÒ  0ý}¨˜˜âz¤¸zRBpÅþ"¥¿ÅˆÈËŽ—Žrö¬•…õ2'°ÁÂaá%ûè9úæÉþ4†¹~ÅQÀ,}O‰n²(b¨´MSîÜÜ’$á¨J'/œÎxû2Ù?Ã8MN*|·YçÛh q±êl€êµâÆf˼ùj`4L]¡;‘¥52}ð˜E¨O rÀ>·Gû#Lw®ºQƒ°§|—=‹.wòÆÂžì#$NHÑ/±âûœF#A“…6º³}(¡°,‘§Ö)lq÷*ضðz;éËM *‚—èŠ 9ÌÈ¡¥úÛo¢Ûî½ÿ×^îb:+gûHVVTï=ü:÷ëËø²]5–ÑÕ•Ù £ªr–ADÕ¦aâÅ|½6Zi£®eÛ~n¾¬~.dº˜(ÿ6UTu!ÜT èo104&·ÜƒÒ e“e&‡Ñ8 Ré$ësg“Ág^ÓânM½NI¬­\·S‚5hœ€çqg€èñ  h‹‹0Ë5앬Ði+_Ù¢´=ê+cI`$Ýgš**ÝØØü ©2db®;Ÿæ(ñöÓ%:fÕjþ¿oí˜?å`®`ËÑsïéi—1-ÜädÉó¨‘ö+›ûFºP¬›¡p*~0zKæ"ô0H–Á~<˜Ü_U‰ü™±Q£µ¦-Xÿ‚Ê€ˆxüÍ3^–¨”÷âÖ‰Ü.òøÖùÜ–#xYbboÜFç+4xÛô#èyØW––‘0G …õPq‹8™ÇïYÓ*a ·u…z ½váä~W^rGZ‘lŒïy]ê¹ü‡Xૉðm?•F×1H?²R\àkCÌ.âÄ=ÅÎŽ0„¶ð¡£HRcàÆ5æ6áÒ”@p}€2kô¿ËRäú-OXÖqÅçmê®%Gø éz·Ó¤›ÕØ¡VRo]ZBÁ ¼×)4¾§ÇG%Tû:¢¾œw´³ñÖíá%9CÌ£CAx‹Rûîã ’ðx§ø¹K/ÓA•% ¡õõ8 [Ÿà8ÎÕuêKM©°8‰PÊ·KûýÇ3l5Óõ=}ìÌÞ;âˆãž^UŠÍÿù)¦úïÛ÷6x‰½@®qrTcW_P曵éô×¥åoq©rüµ"ç¡Xe‹E}Ï:;.“®¥O§8 .Õ㈬>wDu<ÿUÉi4ø¨S©£û³ÖÂ×ül¥JŸpž¸Ô¡ò\]¦LiI ¯ô…G©w—j_8ßöZI««KR&Œm‡'P#Q>mv1’HšÙ Gôä@QséŒÉ^=r˜•Û¨#;ý#ú4€Ö@ëýìù¿#uËœyó~ŒáðcÈ[C »hê°2e|ˆ¤AŠÂ%‰¶tÿúª3Dí¯û±".1—IY8µËߌ Bˆóˆ-ñËäÜ¢›Áë´hÒ¨sb(|ƒ0>øØ¼ó4gù ”Éû´Yï˱DÃ`3=+wô7BuÄ6@ƒ ˜§J+ö0Ëa)!r0âٔȵbí›Â,2*³hœ)—Ö¶X®”S»ò¡ŸÇGpÛ#¯Ë?z;°b&½¾“. Ø´¶ÇË£“ýOzQ<’]:Fæ ¿s&3ûBŠúÒÞgš£^³¨—»kH·˜õ4¥–¾Ô«xÐ>½²4ßTù7¥|SCVy'm%Ò]3«bM³Oξ‰úºY‰“É5>[RkE«ì~˜©7×ÇR*ièzõÂ,5?Û ²<'g¨Jv[-í€S×ÉYŠD:døÆi‹ƒˆ¡yØ ¤œ.ÿîýôØø¤‘äêp:V/qÝ Û) ©„÷5  îÌæS )™¿ |eãxµw‰…/Ø\ø2$<°zÑt{{­{Z1?Sµã“ÿÕ› ŽÔ¿Ê–É||pµØ6¦f9ç÷ÚZEv£ò$õ€­èŒ\ÿïÀ:ü¯Å3t÷8DÆg…ÿ©ÿc¼GÄRåW~ñÒæV ojHØ*ŠËѼWkmF+žóå˘C~öq('ñðÞ{-mKMŠF„ öÂÖٵŃ)_\9hÈØ1£æ(Âè¡Ä0)V b À~õ#šeÙãĆèÞ7]ÅëÁMrç¶wÞögZ·÷0Ô7¿—r“'”Ÿán\t£I'#”nÛ é[i‹vû«Áú@Ýv ùž³· {jiÏWÉ Ä<åÔ £k˜Î+P¶CÞw'áš“N¼>½]¤ ôËp“;!¯÷žn!ŸÕ ÿ>ži¡/¼rˆÄŠ 4J0£•&oÜ”Ÿ‘Xi>7Ï16jñŒ4EW§tñÒ2ã) xn¸ýÚ6Ñ¿÷m çmß ¤ŠÈï•}‘Õ¸{¥`ù~!ëgòÁ‹Š•T²îrCjöD±"»ySS£ ´½;(an|;¬CôË8ÅAqÓ¾RˆùX“¤¯=¯`«™ ¬ä UGT»„ãvTOÞ1¯xk º˜¡cåÛ&IùVçDz'O篹úÆ‹ßÝ~íÞ|1 A?NZ\ß›ˆS˜ÅŠÞ`NÞ:УmTÚ)Öµt ñ¾PNÖ#~ˆ¥äÒ § Uµv•¥vîi:„cÔZ³hîVMtŠ¥7)1Z^\?avÍò2¹t13Ê*ýšÁ‚‹Ù[w¿tH«¯HüB%‘‹D01 Õ¾ˆ„À•\讞ÁÖÞðy•„8Ì‚y‹pQ{õ"3:¿rY8°ò?úѦxM¨Ãp«á­ã{•pùãJÖ ’>ŒJ[ó°¡Î”(Qsã’×ÅO¸0¯gžÒŒ]±v~Sôj ßúþïHŒ»<Æ Þáæo(É-`4Ž5—Áâ<ïÎ~ÿRw©ljט¶ÐôžŸ W;\zƦ—m暺fóü¨SBÌ&ƒÿ+Æxî Ö™Rià+ˆ<Üo¦æü‹â-dk¸8[áq÷c8ÆÀü¾5ëïdò–‡…§¨¯”h£Ã3Úõ`à]šyÔ—qe$“Àkþí0$íìú­«ì,÷ó·6p¬7DÃg¬íè9w œþîL[“ëmÝÑ'ÖŸíþ–â"å`¿>o eœD¬>jŽq¹Þ±¦ÓÕÛZS¹qÅ“V²¤ÀéÕk­žœ<–Ä«ŠB3œ\Ò-Gõí<§"ú]¹Ï#Ý'Ô¸vm‰ÀiÁrºH˜¸ÔhC>­öâÖO¶±S‰:擬ð¥M%sH?çÙ6Ȼ·ØÚl«üͱ¤u´TY‚Pp·P#Ô„–¯L=*âûÁúê7¸8þ´É¦ä¼áñAí XÀ «Ìð¾,.‡úº8‚íá}A#StÔ®ÀË«uÖg°¢bïH¿y5ö£j< -)¬µ¡sa#I]’h Ü®WÌ ÎÃüÉÈyAÎNƒH䦷Ìiƒ½’UÍG$`Í»ý¤Y%½°@Š ŽK>fÐYAêjˆš˜´.!jg­Gí:TŽ‡ã˜¤–Ým{Xä'ûÌÛÛ‡26yÊÀÌûo)þíÈckУ|éôŸ¬ù,‹M² ¡"r ])ð7ŒlKå)…Ü3Çd,€¢±È}¤³¿´ßy/蜋ŠÇÉ\ç²»Øô‘Ï ¸¿Cm0þ ĉýWåÎSÜàòû:oÛ1úÚtŠ:{O”m ¦ÇiÃ\Åb•|½KL…Ь%9µã¦Ê1LaÍ£íEAêœÊl·_ä9VÆJmÌ6¯í'Ð(\ ”;á:N@¯ûÏ‚b\ yK‡È°„ùYí8¸¹Th?¸õóͤÌëa¹ÚN扃ëþvzâѧԨ,ÜÅRÍ£)På¤E¸‹ÈÕ®´6¨csy<‚ÿªbñ·@ŽlÈßÿà›ï kuwÃM¸šŽŠ‰¢Wê³VtAoÄl£MÈ”e¦{È™`1 ù9^%?˜/h£¾”uàmƒh6U=/€Þšܾ>6“Ö4ïк£=¸zoT¼aÜ ¢×C =S›ªRt=Y,Àí"WÆ0½Î1d•«”Å1Ø_?´[ÿÚs ¦x¢g”)ѳÇAª‡ÈÃÜPN¤ˆS×±“D ×”H°ÓGÞ£Ái#ˆæå ÖÛÔMcj6<˜ÆE‚ã –êq‘}x!]¾Õ£‰ÿqï y÷ÒGGÁF$Ì@iÅ@ ·+í–Â;Å…Žåd¸>eÀ·ÅåºÇâû5‚³™t <ìrq:ïé½ø»­h¯ .\™¼N˜PGY8ýíz*gB(Šº"ÏQ Ó–Ž}ñ¸4ƒ¾çfñrNîÚ5¨>6>ûÈö[ƒºL AfõàLå)ô <|¨Ë­Mvp½’')|NX˜¤z9]þÏÎcB5j﬚b®<ÜKŒ´y‹\†q+)E·Eô浩/7VV9®S¨Kà±ÄÜx8µ¨[V|‘ÇóvFJLúN'_%GnÃ3dMÐóU#ïh~W0å%YB7ÃVη‡þsŸãÎeÑ^l¤wÜ$®Û Ö F48º$·<"„½q¸¥wikÒÏÝŒA–*Ã÷)Ú&}ñªl³Ü{¿ÏÆ»¥šê÷ðÌÍ¢àÈk¶2íÅ'ÑNì­k²¥t. @!Yªƒ²|÷u“ktÉòÌBšO.Y£» P7Ö¹ïO§2Wȶúð pTÛ..û>>Î ©ùKyVPEýP< ƒ"’7ð‚'Æ(èc÷R4¥39ÄŽô¬.Íá´€}º}œ©à'ÐDùÐã½é`¨xR)–’ð>dÊ H’QïøS¼f‚§S¿ ˜pxH.v4=$?/ÿm‘úŒ¶g:zãËBÞ­_÷9ÿމgfî;óQ|Ö¬Ixò}Féèi^óß<æY²hçËî¸.ˆö§=ê--%¬|§ÿª(µ¡k`ôúc×ct”½Ö0,ÂJwÔÀ™jS¬¦jä¯ÎQ޶–.Õ3„€”Þ¯î4 9Ï—îyèÎ3&w,§ö³•93Saêç*½)(à,a-¬ÔLQÓ½P­y—"^I•–ĽÎèºX½`Áåí~îøŠ›vØ4õ@"CýX¨©v’L§¢¼ˆ.k©Ù!D}¤é©šéqM6°„ì £›ºþDbÎü `ŸA¯Óz:ÈA÷“"!Jl¾eÔEõ¥T™ìZdd¹ œî6z¬”¢søaÙ©¤êF‡˜Z*uöÍFåa_|µ–1‚GõñMÑä‘~0§ ®±ª=«,L¸X*Ke|„r5®Ezÿ1<å?‹Mg7ÊÒÙ#èõ¡…z"`ÞtTú­%ËѳÊ,_›2dÇßa)û¨ÂÌ}㊥/£·7‘aM¤~õ4oÕ“©ÊZÊe7v Cœ­µ…©FLZBL•„?÷²ÙˆHÀ{PFëjHU,Réž‹¾ è£E¡vJÇ·SíItˆ—€uIµ¤—˜¶Ú™cn!¨å:¡^}ĵpt[uEnN`ÙÕ)œ0ÚâÔ¥×@ÜÇ[«Èæ\a9ú yAÍö8‘aºzÏgvL …‘6H­úçPöM¨ý5œªmD^Y‘8O ö‚¬+Kpœ|ðZà9•@áíØ[5Їb}ýG©žÉÉ¿³¬MÎÖëÈ’ù×Jµ˜ mÎZü“\„帰­¿]JƒBpÌÚuH;HÊ1$}`s-b½N£üO¤4CuK6.rËítxü‡ØôºuÎü5Áƒ„càrÚ¾ûˆï)€ %ͧÐh†Ÿ0’P²º6ãé÷xØ£zäëY5¦]!}ZÔq+ÜVj®• ÷Ri70¼¨¶3DmôÝ'LeêÞƒÑOFPx¸<ä*º&j ĺ‚ppïQZTuÃs?ºº=d‹ÙWü«Akt¢®Ǩ9TFl»>•¤ÜàQIà±R·Fà‡JôÙÀW-?ë(}Pà6 ª1Ld3…Ö5Ÿ\ÖÅ”ÓghYÖ óª~ð#eXx¼.Å'aˆ ÒÓƒ¿H#g½ þ] <‘ÊünhïD ú U–ý×hîgJŠÍ?…Tïs ’à\­O"6þ: _®­ÈW iS¸1zæ@?غ… î>®OñõÆùñc×þE(}o±Çc²ÉI¼åÕwk,r¯x²‘Ïšr…@ç4ÿ¦²z£´Fº¢«h:›»žlæþ ŽÑ?Ùeï¥:Î! ²0ôÛ^<ä´YêNDï°ßk¶Õ.’Æåòû¼fµNÈ |H?Ê¢o|jûRe¢È¢–À°æ-'‚ã-eH $ù¼B lË>S0èȰÉ3&ø©ÍÉfMH?ó“ ®¥ýé›2¿=»(ùO’1¯_Du£Ý?œ!5ýÁüh}}8jàmÔnãºꌘ~Î΀Jó»á©>nÈo´ ¨ ìĽ/¦ªîâ)p–…!$§ã¤Úª·~¶[·3ñðlŽŒé=Ò‚ŒIE¥¶€Œ¿ ÕñnKã¢5hc×s0ýìèúá “ßJ†­ÉHäŽëœžÒåx‡:Ü5N=LßzŸ8¦ò[Šõ²R»3®HÐɵH’c ª±3´ùk?0ŽP7s™8Fø\¥ÿn=Ý•æð¨{ 2‡%%ó§côиœ¸~|ŽLúSðMooSÆ*- ¶|•üôùœ3ÈfÏÇ.–Þú ¾óÝÆÉ%,³2:1“PT`p÷È/N:†I§!~B% ò±+ÁÛNTâŠÞ­‰î¶öšÕpÛ×¶¹Ú6a1>øPR†/tÈL_y¦>ð¥6¿6ц»ëQQté•bÀ×Ó‡W<&#+Eáé,î ](žù»F=HöÙfïØWtRi§.ùÃ%麂Mwv`±yÄ·£†ÛX°](ZŸx‘~ExñØ6^‘X3 mø8¡=þƒ.Rӯؖ­ð±nRÙêœ wŽO¢V0¦ÀUV‘}øV¬Þ¡ï_A VG&‰ª::Aõì\3Ï¡q×€¯(:Ó|aŸÓ:x„Â’âÊ#h¦=Ñl0‹}ÒMï¡‘ÕaÅ VßìÃz¤­¡‰‚“>‘ΰöø¿‰Éäi=é™v4"rÆÂÛ %‰Šd±b»•é¯8Å¿B¸ÅNˆl‚EGĤ<¼`ܤ„|3 Š´Ðø÷Ûô¿×v&2¶Ö4wQ˜»¸ºz,À…©Ò:ÜŒ%Cµ÷ Ìòá,<Š ÈÆ»m§täeÚ>ýý«8žRæ2¦wqÕhëZpSØ é@ù%Ò‘ÛŸ§üΘT*°Úº¯·ÏÊàÍôg´‰„”w^ë8 7«Eð¿¥J)$Bq*0Œ\ê!篿’×r(.ÏÍ9 ô#4šŒãq­·‘pÈŽ)€ò9ï—†]Gëø9/6ª¥ò;Wø?XhXEýäèÒ iŠ,óÕEï–vü &ÜM.j³[–ý\=ÖXNF’{ £mÞò|óѶÙÛ#Á¡¬CFï•–",Y_TäKܧE~`‡tzøq;¨¹JØ .$ÀêMB íØdš›…b\ÒiÛ ’F³".Ô”tsþžóZ7¤à˜~ÏŒ?Št'uþCý fœÀ`\Ûª{ìk,âÑꊊ?sjm$¹ï‹•³A*žL•ÚÈ-6!ÇÙD£ŸGê…}lþèÙíS!]%… Á*ngRö(®8’+p\ZxÉw¨f úoÌû–9?M•\ÿ®žÍbào*‰Œý?Ï|³°†õ"zÉãˤ¸wôQ´p<'E)Me 6ðjéÙgKz@ÐBÏHÇŸ&^Dñ~¿Ð0£]¨Úòð)âY‡8 @œw£ óÀ°ryÃë-Mj5žÀÆ4I³’MgÍ&c(p.Ò/üïÿ4œêOßjR6ý¬]Ÿ¦ÿqA‹;qa¸°fññK}Zø\ƒ¯,¼2þ{Ãèã.böŠó^…*„Õ~•:tÚéA«:¶ºÈ=ŠXÈ^ß÷…ëœÓ#QMpŽÂËóN¶Çð¤æŒª>:Á8¥+è‹-k1¶F(2^òH©OÄç}r<\ݰEy¬ì¢ß†…Ì–“³¸£æŒj·±:_,Š?¢‰ÀÉÓ +VÇrgaÚìC©IùY&`íÇ?Ñ >ä‡îÐYU±‘ûU´`Tš¸'•ų^¦±ªâøÇåÞW3™uTY8ËÉ…9ÈŒ—p”¯1¯Kž~U@K’hŠ9N,Õë\ N‘NRÎþ}qO ûgtŽŒù’ÉчAk®ÖDÖà[xU¸yÜg뙘X3„c¥´úÙ‡í`R—E@wõØÓÑ£SN† ìäž/ˆè¸‰^‡EZêw )W«¯º¼~Š(Dú´³Š€žçÎîBÀ Ú‡ZØçzÀ 8Y*¸DMÁIØZ<ꜳò›ÜÀ÷+ê¦3U]õgÝ«k‚7înè$"¯ž2Ö7T»ó ö´å$x/ýìÕì¯ 5Èš–K"W›Ìçðá¶A¿ä_ËÚs]QMµüÅ) ¯«ã£,<àÜsà—š¥"óŸˆ]”ÕA† á1 Ë@ºê·*ž£Åi„µcjÑ äjSh±8Ç„§ôX—±ßí.á‹•ýB¼—W:nƒRÏÝȰW¼.h–¤’IÙ¶ÕgßbÖø:%Îñªà~ÒW%Þ)³7ñ)5M£©Š «m»üU³¹A\7^Í%ô ×Vvg)›ƒ»(¬NÂ3ëÆPÞùZñ³³¦[FPvý¹¯&¥·ŒXqGmtö ÷åî§Ë|qeeÞV䀆Åb11̛ܾ?q–x—Îó¨âÆyÈüÉݽň,Ò¿iµõ$¤ÀŸ’AâÒ¼Wÿ­ÃdŸ¼ÞV«üciÔ=Œc~m³^6ŸZ2­“ðE-–M7žû8ݶï§Ný®M³uo{„y1ë†x¦Êö"³èóö…ÝyùK· ³ç"ÓE¡˜Àè @×®•k:òk¨´'7bÞPÜÝÆÅŠiÝ.§Y¨%$EÜJ{CU$V)ª>€jaÍa ו‚‚i*`š^úÊø+mâû÷캲t;À”ur™Äo0å*W,c^Ëâ–Õ–PZ£Ì*,¿D~l8«ˆ›¤oóñKPÅ[x9†2õ¾Ãé[ã™záMuëAgiFO£fëžœ²A?nΫZ†»±dø[¹p?Áhq.1F°«½UÉ,Ê Ð/¼¡¥ÎϺ•WZÚ@)V°üé^:]ÀOc°RŸ“œe™|Séæ5Ý‘;9Qù2?°‡/ÉÏÞ'8.­fZ¯î€9%ë¬üéÅ—X?†Üp!©Çû"þ:÷“t+öj¢ß.M ˆ<*ư‰"Ëzþ»r¬6½g:†”FNPcQË€bû[„iç~A ×)¡}]“.ƒƒ×rÿ`9ø)Ž+m[C‘Л//ð«õ¨²ÙÝÞÕ6õ¯AÖm¢Žƒa‰Æ‹µÊ3x²Ð-lae5©ÐÜcT¼\7‹í×lU x´]{¦a€›•£D¯®}Øí&xL ›ø~`«—ŠèïLÿÎvRDa¬U~¤¦ªqp˜ÏÎ÷ù@Ôj—Ënî\gЬ¡R“øΚˆÛê.iÕÚ펬 ®HU`Œ­bÿòAv¤ â'ä£ûž}zˆ_™XrAª¿Æ†¡€ø‹c`tˆÉ¼.èùÞöò7òºÕláØšÏ`2ZäRå4í¸ßŽ«` w3ü³–ÿˆNAÁ)ÙL¬;ó9@…X¿ñ¼æZþ°Ù_PÛðKmFTޏªS"çqnJ1kdY”eè¾]lGA€+²õÕ5&,§f°|IÉý†IM–æÉ"d³bærÁtÐy§µlÞÂp¯öâXê¾ãiOr»À«XúãL }¥<‹ÌNåÃÆUïìK$®¿®›Ž%>@y4Z8 ãל ?f«’ƒ} $LüJ"¡>ÞèdekoS|he‘ŠUš»·õxÕ)6zy6äíidz\ θ<èõ¼%¯¿’l»{XËnj-è¬Gw õ-pËåΆ‡Lßå Ö~BêÓHÖÇIO±ð2µ’ôÑЂ(®nXÄÀ?ôA?—׉ ¾Êžk!:‚¦œ= ¡á4&ÞUDÊ“H¿”¸Œx“mÓ\ý2I­=ûð(qŸ‰á0*2Û8sÍ;Yš‰ÏÁhÜRly6?K'ЧÂ_ÞJ¼î¡<X|ämð½ð¼dâ¢HŠ n“µà[ÕïRƒSÎ=0¥ÄÉrÿÂ1ëÿ‘º"#G8O† Ã¥Ed)FèLú4ãvÙŠ[z·ï–D‹o}¯3Ã?pSî„H„!ÂjˆŽútþ^Q,+ñýî˜hJ­]ŽøTç”ò-Ažmt³~ c¼ØçÜ÷û¹ŽwÓ~ —±.(†ÞÃx¡i“ÂcI#YÖ“È0¼ÎGÇOsÿÝæ¦©°>õxržA bBZ2}=4ÅHOÖíu?.¦œ ÃèIøªosœxx—›43ºÝéÊP¸}q‘WñŒ2)=³OOUó—±EE”ž´àLP;ÓZà ÌhC4ÁÏ«°TY²µŽ ©“3H˜TÏCãæèËhtÜU-¶ñ„ • ÜMnlþw‡ðÛ8vðRZð-ùÕˆ±÷äu¾y(Š«—Pév¥ÎC$,Úu0rÐ5Sº×¡¡»;¿UHcŸþ4ÇbUJb^ Ç%„Ãß5ªƒu¤½¤~Bâc+eˆ5`xCB¯o*œ–äi`rˆAèá$â ©xÑh+§3yRçFy¨Ò¥Üj+,XÚ/œ?f×fôo!j;®ƒ]À·ÀÉᤠî\1Xçbø–5V´¢\`¥›%Þ]Ì%~…“¬€ëQ†ÀÇÀªWá¶oËÂÒƒF=Õ_ ™¾ëD SÄ ×x6R387–áÛ+—µ[Bã"ŸÚ*À|?ö”ºiÅ'TNã²™EÝh¥Ç€Û}2Æ.ÌLå»ê<Ç ÄuzƒäX‰E—Ú ïoFýEL´ý_NjáÖ¨ªTá‹"kǘñ|¬Ç#5¡0o¼ª$™ Y“^5…³òÛ|Õг®–ôÖ‡‘ÚVöÁDÖ© ÏÛdć86ƒ^ ý«Ñ¯A™>xÙä­‡4’<»µwë½Q)àNü¢ß $ÄàFqô÷; ÖW2 ì$ðWË;B`äÛå‰$Fïù¨ÿò_ Úò[ä©2âZâÍ eb/\´›Ð]rÍä¬h¸ë1ÍÑÕ/1ë±z„îÖw!‚¨}ðn7ÄÖ‚"á¦L¬€«Ö¹[Œåš0zéUt‘ÔÚ„Hy5éAÆbÁë_Dìh&p1 ?J‘ð:o öáÓ͸ÊþõIŒ¬hç7³È‰®ŽòÓ;ÿ~ŒÃÂ5— ®¬¶¾Ý5Ë…Ý2˱¤!ØM|;"|òÐ×ͦV«HXh\ï†w…ª”Šð^Œ {yÉãšgILø›\d)ÎÚ1Dóňú Ü'‚:&+vú@µ‘JÂ!HÝ ?ÚƒpP‰²ËòÛíVŸüŸÞôàìÑÆ˜PAâçVâLÎŽ##ûÏÙ¤;N:Š›ºá#´à#¹À6ßóQ³{y#Þ(åh-€æX¶ äEšþ%PŒ‡#í‰ÂåkˆV g¬AÏO‡õε:Õ}ÑÏQ ð_" ó|œÅ‚ À¶_ë3ú¯v!2°%d~à Úx‘júåŸñTâ· ƒÁí½=A°r<-§vfÑÄl¯øólMi©#Rý…–Ï’Pº¦Ë²smúÝ]騃O‚ñ¨]#Sq«8]­B¾hrsÍ…•6Q騖”l]_˜¬õÔ—ƒ¹>Ÿ•l`ªna†VòÊ.ÆC ÉõÏ™¬Ü±¨%¦‹ŸW»bs[A+þ•à”Ù¶%uêhÛ,ö$÷ ’GµS ͘Óáê)ÐY9¤ÍåF4 ŸnñÏKq9›W½R’#ë ˆÕÒä”úG$£W5o­o0êDª¿l ‚ãŽ0Þ³ £œreí#¾‹¡ŠmyŸ"j¶×÷#À^!‡z¢Y¥@åÈ|aí~®4žÅ]¿e—WV ¨¯üÃo‰ êða<;¾0W( @“d24 ñ±'4a‡@¥Mþ™ïä—Ó¦©ÄŸ‰Ò³Àá!b¥ ï{Ê­‘¥Áim¶Åã~XE›˜ñÎVvÖûy`—¦ Ì/EùbÒÓÞ VÝ‘Z±P:ßÒñнƙC‚ɽÛñŸa›WUq~™ãÉèÀÖ©a|†Ï°6“«Ñö¡sðMèÌb‰ˆyïSŠN‡éå5»¬FŸfÐ]æv²'/±lôàuòU­P§oR¡{ËÙ^”øiÕ'>%Ž£x^çŸS2ø½ÞOEY·{”¶†"_#/É(„à%÷ »à(ã"„›ÆÝNÉ\òä-ºþè5Ìß ÉÉl¯ ˆzW¶$!ü°`ŽHBïÓ'©«8Ó%— Ãr<Š6úiÇI!ßÔ ÛÍê rmˆˆi§úB±,)À“bφۡìÍ7”¦2Ô ZÒ a&Úé€aöÆS§RÝÐQ¶MU–êÂAz$䊨Kû{7k 6Ä-íÄýñ½Äê\€Rò^sé"©ƒÏ±lúÿZW:ÒÙ'-8äŠ÷úItkT•tÖN;ÔNÞY»w¿ùζG= åײ4´˜Bb— v$ í¦J° _…åwÓDsmJ€ÁÑ#|¿Mh¢Í%Öübr.Ž^1UÉ`ЈVmva㻿ÃQU’ ˸67[aº‚‘rS\ ÄAмÔ!p¬tÖÕ¨)üLuD¦Öw1Ê»RU×Þx`êÖ8)-¤i:SÇ¢§u|_”!:9®S¿3I–öÜý},S¸Äâòªºß?ÌÃõÝü)¬B†ãYy«Ã?íB<ß›Ÿ¹Ç^̳‘SŒ´·ö²xf(,˜F6‹†Ò(v¼P;u¢æhÉ0.hB°ö€é¶M·»'¥ÿ¾SÁ*rßymšÓ:˜v;uÅÓÚRþ¥jÈBˆÜz]$o)¡å Ä:­®úæÓÎ…™ ½f²h§Fˆê Bâ ¤—d¤TÞ|1Kz™¢cŠ WGY‡3µ¬J!pN‡º ÿÙÿùñD쬷ƒ¸ƒXÎU È·•ôL³!ÜUo$¤oe½˜†n®SúGc!‚²?GÔJFÁËbx4è(íóOB‡’¢‰nTì}æÇãÂs]îU~À£Ì3Lá—à“”ýµ§MS¢Q³³wA„É·Á¼sñ£(‹¥UB(ìVM(/–tÂÜBŒWº‚e]lx©™ÐÛ“Ùá—Ü­ç’ϸ{ç‚¢Yç&:q)ûg¹¦@j>Ca¾ƒJ·c˜ºtÚo„SLžSn!‡Ö­§[Ó'(¼ñÄtäê´ G33ÍÝ1ô ³+\º^©{°ÿŠ6b±Ãl«ÛûŽvЏh±aµ2É bLRÅŠ÷Ù÷›]3æ™ [hàĶœ©«/7h?Xf瀻}}°F’ ÜåqF4М¢$ª¾f>¡Ñ›ÑÀà͘À.ãrå…®\Cã5ð›ù5ð5Xè8ªw¥Fºü3͆¡“^ º4 qfÜФö³Úý/ÙG lÀe×ÜÆd„¸æ8Ö„VÖZyÛGñf¿xG1;K;o¬*ˆÏÝâ…Á|ñ­æ|8¨R¤^£ &Y‡P?©dëa Ô‘;Ô×J¸Are ñ[ÛÊ =ò>–½dïðžË\±©oQ§'j3£ U\t.;Íáýðá=5ô˜'GŽ !ÒJÓ YÌ¥ÚŽÙR"NÌ[¨„ŠBFAIréŒ}ÓÂæg€k†ð/ÞH¡"cø|4Æg¹ï ‰$WîÇ©ik“gf—ccq^ÕÞçÅ„ôÔJ°—¢·Ñ§z‰Í›iÓ»I¶§¶àZLÊ+_þwc‹?R,`žµÒ4)3îV-´ñRòßœÕd,c”ýhÉRê¼Ç!ÒMÔÄ^\ÄÀžÌ™ãÖqû„Xt14ã6¶ý€·_Z½ïÔ†­åšñ¤žñkt?\€ìEž‘Ðb’BJ^ÝÀÕu]‡Ëz…ÅoúCøÒÓYǵÌhN~“Á5¯¾Ü¨™¤ÍBïz9s=” -§BúToó/ÌÉèyÃ!øˆ¿³Ù)¸|S¤”J]U#LDk¬ò—ºrÔ6â|âÞ~3üÂÕs´ï…Ó;€œÿÄŸ"¸ÞpEØM¥vÁ{×yG;ÍîÉ躱ã`>V0y,I,êrwÚsÔXñ¸µ  ¥Oëü2ÞÃê²`ô!Øtöòwº›D-ãýEnÆ1ñ?ê‹ ˆzæ5Ãi£Ó†®Ó£V§<5³ß¢­€À—?,[T²\:°•Y½6Šƒ8zm»¨ÅÚ–ŠÊLöM®.Z§èÚ•á|9ÑÒx-ûÌ2ü0jj½þŒ¬åQt¡5ÅÚáE‚e¢r°V›ÁDìµÅî€r÷|' %iÆ–7¥ÀÔ±Ô#ƒ§»ßÉ‚ .^ÆÉÃËqºì…2@bùhgÅF>¬³öe¸ÄíWPzCÄ,4a‹TW‹|Æ@Dc±_ÁëþôS·ŽÒÅHú(¥ê÷öíwÜòu( |¢1ÎÞG½*ýNEü9ʺl:²vÊ3…`bO}Ê}|ß!h†·L·ÀVí¥“Ÿöwt¾4©‚‰ÈAcáQʼzv¯Aü*èW¬j¹o':û Ý•ÂÑÔ›¹+kN£Q¹0Ü?3¦\R,V/ÜüÅjÿ˜ÐræõeGºýS:÷çYð+BŒ.s‰ËϨ/⊆µÑž.,r[Ÿ~Y(ËEš5õ«õí—H°­ovdë”tSx…b–>÷îf¾âiÞΕ©Qg(ªáñ§™ÞŸªv{ºÔ°ÌVy€¾=% gf£ÖL«)ëÒRS=™·Ö‰%}åÖ%¼4 Úž´<굡DÓ¬§R:ñÒáé¾±£p©\/»C&GÉvùe9&?î¼ }8ÍEï§Î£Uç\L)¨®öà”OÄÎ0bó¼%V:‰¤ì7y4OÁ]}ª¦ƒÆÊ‡”°Ò[T:®ÍùlÈ9FóèoL‡ß.»nV PkA—14êpqÏ$,hváõšXÊ)DÃlGORw‚õs6‡côH½¹>Ú¦Z7ßf ÝQ)ÎÊË=¬túµÒ:-1õ;úÍ2£«l ö+µ¾¿w;Öj ²AÒ} ¨s]eY¿*}¬ï`®í¿}ÏB|”9<+Þ‹a±r"ÛØÎ“ÑèÅšÄ_¬MÜ»‡ý‚Ö°y[§Éqú¼\tІ9Ö”ü™œ2ÕDáO…º¨CvÓŽiP8è¾û«²ý¾„â0ôNÚ=¢*0UuÚP„ŽTs83"†¬•õÊÒÂÖ®¦™æo<Õçu0Ÿ³uD†õ;¥½óÏú®Ùób„íCîéåûÖÊ[ë&°å¦šñÍ4ËZ«úóÈ ™ )>äœè$á°yì³"#åú¤–aG­Ã^éB['÷Å@gH5[žñOA®¨‘ŽÜÉ' šNÄï>eNŸ¸¯ÕµªÈWò©f ˆ—L}`W4]<Ðj¯3½˜/™•ƒ†Ó3øÐ@ ê"C]ò`xTÆ®—N3ŠïŠS«É‰:r¯ :Bæe/Šç³G¯}_ÜŸ0ㄜB¬à¥˜^ÆÜR0o‹çS³Ò¢¶LùmÏÂ#åD—à´ƒ~QÃŽzã*ü´~›ÍÏHL¨2Ÿòà˜[)5ìíÕ!‡ÕËE¸ïØùé W¤%Ž U’›ê—‰Ð¿êܼâúx”-§€ÄA¹Ÿ”gw|×Ú­9QbúèYhOdÚ Ë[_®Œd,Ï€Àì²ñ÷GMÖy‚â6ðéú´4ékì#Ðñ ·$sÛV–û$) i ä/óqÙïÙPš~Òˆ£ñ£j­1Ü:á <|[E„éÆ,ÁGÞ)~ ½°"ƒø÷ÊÚ™ûfeŸÊ™ÃQ~|Ü-;&;)Y@ù4̋ԖÔcÄ?š2‘ŒSý¯p mâcß·~Ú”x—¿‡:Tù­jƒ\žÑ}݉±ZÔMô7P`|ä$‡ì(ã'úCÔ£”Fß½r3ØÀ>¿LOûM}÷ .üS­bݘy‚’ÙërWÏ&8%~— …øü¼Ù/îP§å§H•6¯–Ù7¥éd× xèÜ?I˜ûf CØhJ³õÈîÆ ¦z†üI¼ýŒ“É|Ü­w)}’Y‘ÎýÇã'±öáÂðñ˜µX}˜!mÁŠa¿° ÛÜèÇãÏà*Ÿhƒ8 }p°—(÷ÃåSwí„êº8þp  ‘<;þ+rj©ÜÅãxH¦¤l[Žìý“îWè³3¿ñ†¿IvŸ´åïõì^!Æ×¾³<Øb íÂÛ¡³ÉÇ`ÁVYMp™vÂêƒ1P‰ìý¨Æ f+È`”@µîÊ´ç®è;¹x³ÿÇWŸbs·Æx¹Af¼¢)(‡Êdû»Þþ£ÿUôÜ¢E>m8q+™Ý’°äêÔ[‡ˆŽ ÎZÎä­èóÑ1ßÃì²D(æbrY¯£¦c1svÁ#&ëHn*üäÚå°™µÁ–)òBÆÈ+a¥žÛK—‡¼=ù¥¨Òvøl`lÈ-‚¤Q‚F~·deúÒ¤½_´ÖUÌMýçù.oLʸµÙ×+¹©Â6ˆ4É)±mˆ2{øÓ¬àr•X«bïT/Ïü0Á“Ž9¨*X5¾õçÙv¬÷óÖÊ+ê¢â&L9Òv¼QÓγøJ Ζ…O2sDŶ‹âMMÐ2…†\B‰„Ñ äæÓV»ÈQk¼#ßÖ×åø÷k°é-”àn#æ…¾<1•-9Ä žº<²K¬¶Çl›Šà{†è;ª²ÂBÃpëlA^Èb¶ÒàE7·'ßùº†Ý1s¼#XÊðEÚ)‰½àöˆÌ‡uþi®ª§/øþXå¡Ë<÷æôß*‡Ý”‘ÑéŸkþ$%p-j 8˃rŽø%ú¯…°çæwy«®Cœ[7èA’6š²Ÿ¨kS߯nÃS‘dšƒ¢ðš4ÃëKw¹Õ»(¡Û‚U[(5 ï¼ØFtt µÍ:³Š-g´Ráã}‚Bã›^½Z„tÛZào *——|É´û0›PdŒêÀ—*gåcäÜwÕ×04Õ¥XÁ¤‚@ AS9¥P%ǸŸ”`ççèAlÃ(’뎪Øà-×ð,´Ã]«ž•5Çe<6ÃG»¿ ‰$NÜfÐâ>¸£òÉ®¯Ò‡¯t!‡”1Z®}͇ ”LBäÁÅkv\aÎÈÔ…25üvîÐÄõtÿ§w›Gt*Úv7âsuýˆÝÓÒ þþ?ÿöz_,µlˆÒ ÌH˜iz«ßa€2Ñ~<¿µõ€)bVþ}<ûX‚²Ùn9ìØÚç1¯]L0>¬ì²žŒÃ·0 G””—+z!sG¶ékóæN .R³' hb«Îžáÿ`8c…!L)hgü±þ/t*äÇñ„ÚØÙéèR=œ 6Ûú±àR¾6µ/‹ôò‰ü\¸Ó3ðî˧ ‰½Ã]ÔI¦Êp>.]ú6xkYOÜÄÿ0³¨0P[ÇÈù /'º3Í+± ‚mã$Ç’U;13O>j Aáè‘ÿR³Šçí3>wÂ5s>ý)òiíF4CÍ(p;ö®ð ɲŒ±tºW" ½‘¦U¿©èrG8‰Ó]·Éy¸ódL[¸\ù›oè&Me4þIÀA#¥ý”ŽÒ¿+gR9]ÔÉÕl¶™T()A44VXÌú«TÙœ¥Ë®× ¤ÙRòpOòß×R1OÅIvÏr”²G”^ÿÛÝ8ê.-lCï’"®gk]ÎåP/î¤4´Ú+ŠL'Öm2˜ö0‡ôK ï†'7p£àÇžPî’ŽÎNl@>ÿ˵Ãk!.B$cîA0½ Q3æÔä¡®ûÕ¹ˆîxÃ6f+“‘Që&ù>§w]]ˆüZôiÌ¢¿Wì © ±¦›ä‹Wšñ³Ob"Ö*,Ðß|±éEq¿Â…+C8¥‘tñêHDßßkï½¢»mRž?ö\ƒ aƪtœKå-’5Å¥«˜¬SæËNvÓ€rm“[Œã’»SwóŒ{°F†Ì˜ ¢à$‰³ëS°}wØ•° !¶­ _ÝšrºvTJònÅq,ÝÉmicB!Y£(!fïMž¯*­cè{Í›&å×¹  Ylñ6±±mcÑÙåµ,û ÁÏëºcðٚʘÀŠ–D~ái¤ÿY…È^Ó—Êü¾>âFJÑ׺ôº‰íF+JQÅòÂsbë§obu(A‹Æ~®KâátâŸuYÕqó‚4ó}ì³@G #Ùø) Ù™ñP¼ôóz:ÅÉ–fû| À¡Ðû3Ímbq­IOOÔÐe7Fþ¥ããhìqŒÃÌåº4siäePù…¯]cY8öMƒÿîú!çòO ØyÌ/°æ?'ÕD³ õåþé5ÃûJûÞ°x,‹¸B‹ŒÀa½uŠ|™õŽ‘žè¯†8„ˆì>T••¥H9îÐ:|îST}úYrfìµÎŸýÃy9¤ÏÁ±e³L.òÊóÇs™T=ö™*…Q6ªzqøæ9©Þ^ |VØNvå½GgNޝªªX‡ç×HÜÞ ˜‘@ñù=::Lª’Ýö´h{~‘é3äæÛE} Ë”xätöV±;âýö>û(Äb ٲÏò‹g6íIk6ôâ6d+‡£*@)->H…9¿tœúݱ²-èù¡“•ˆÖÂÓÎìK{më˸ÍÕÙÜþ] %2‘}×É™›Pï6Æ™ÐÆ×ªTÜ›TtMV»Ðæh?KÁ€YKìá8×Ä8üa0N6;õœR;2r/äd‰|áƒÜ;ŠgÊ߀¹&ÂI§·$ª¿äv¨1>á!|)„ƒ –¾NÜÏÁÊòsÁz6WHɧ~ÁõÑ£(];4è¡v G"tÊó¨«Ç»åë”~Iš½1C@ÜÔç`Ü¢iøÀAöY©&å4+¿/VOéÏ™/¼Ñ~S>d%YîM¢i›n'ª‡Ò aPr´ä‰¤ÖÓ“®¾~³{ù[§‚×Â5®Ük.¶Ú­£šŠ6«ãÌŪt÷0ÚðÊTêA”SéOôBÀQ0¯aQ¨¾~2–Ù¾$,bm‰[Îé«Û•Ä긮Äf,O Ì+ÚG|k‡~ŒµÛ=WCî$›);i‡’ÎS)·0ʼ†Ÿæ~1:q#£Ea8(stØUØmgYjàìn·ÂØg «9‡„âècß pã—†kÞ$°u §P¹n÷ø6_êfµa؇¥´2[ªÉIfövyîùUÐAãz­ Õ_î´I3Ù뢇c«Nÿ¾u¿çàÀõOÚ ]•‹\ˆT+ ÚfÁ>V1λ"6óò0r›ïáâ ‚¯"‹4Ù´'iš±ÈÌ*Q;U.1ÒÈò¸ 6›¨CW¨QÐ]¥(É_Û›W·:¬‹5âÎuÕý\¬¦Ÿ‹›œ]q9ášžeDS/—Bø?äÖ¡êý™la@B5†Òø)¥óÏ)'8ºb†Ø7êd€z¶Éü3’v*6B7µj¶yb¡ñfXfLz˜»ðÃ|€òÄ#Ç”¥²™²úOõóÂ.¬ûa{Ö‘¸0$æ¬ÑÌmÎú½eì!ä<ß¾vÛDMîuؾcÃØ*U¯\¸G‘gÕÞ5Y¯l`ÆM…r×ÀNÐ8ëhãª;¥gÑ,–°W=½1Ž.Gÿ ÂÞˆx#°5”_¾x¯ :»†"0|ºòl¨ëåÑ«ÂÿPoùíÖWÌ“X ž£Ñ/OÐù½@؛ëԒ%Ö2ƒ÷™W"§“ƒž/Tã3ä©3eh'f_f 0h‹ƒATÃØ¬ê1nöãEÚ%ÑnÄåž~¼IÏ\î­4¡§. 3袋~Y"E×%ÀmÎøcüãN±3c–í‘r…>1shž€„ô„ž}Ö ,}ŠÇ5A´›\*­Ó9³+@}ãÃm¤ééÔdÒí³Q&ƒ¶v*8aÚ¥–˜D råÓ‘Ö÷ÅÓ³o=OqSwN”çü*)•~C´¯Û…ié3Ôíx9À®²ÜEiJY0¦ÎÅ’Êà>_œÓ»R˜c\ú\1M¬§£ª ó°Ó»»5uó=ñG§Hb‘KÆ8‰ŸÝ²UÐ.y³Nèí2²áXpŽÔ|oC£ebu}*VWËçë]{·òò¾jƾšß&Éo |Ã(<|wÝ¡œrTÁ¸&‹Ø«ÉÇt lœBh»91ûì(Ÿ‹£"Kê„'ý¸ìкúmÏ£@’<XiªCßS’aX)ö!±ú‚~ž-ÿö™îìFÐÁ…_9[C3r3W½aøÍ öS ¸ÁZ![PLíuØóžŽ5­râ?6 ¼«>ÔW%nš/ŠÖÔ4+ïs+¢Ás}âLbo•~y D‡sÔíÂA.‡•_íG³‰[ÝuÂà1AeËU49^·½ Š(ðÿÊH<°OºU¼ÖàãËeêÇœ:JÏW¯¢{ì Wþçzmïo™{d¬E¾|·ý«\ 3ü’¦æR¼ƒ0õ4Ùl¶ü㪅8Æ9CyeVì ĉ¿ƒ9ñN»Ï“WÔewDeû«Šê1¼(-S rùà æÂ‰L/]ö`:Þ2c?3û„QiöT›òøUkÏPWDj¸ŒB"ÏûEçe8°ºX â?Z†nz„Sù“@&øNò ô#zs ‡QwüóE‰OP˜0ÜÉ·³kX€óòF)’æ¦þîçsèÙaxõ~#eá ÉâÝ?Û÷C†õßèÞœª´Tòói°ÈJÍö¿Z® âE”é(ÝG97ç=”´ö÷ñ0ýæy ½7,òxÖO ÁS7ß¡-ŽÖ÷ìp¬¼¤Œ¦‡]ªp.cá¦+øx‚k!¿–ÇQÂð4ø”`¤ÚFÔ2Æ'uðÃÂYâ—˜Ý}’Š Ý.jÄݵêD6Û˜±«²ÂmyJ…IV¿|õ^ÝzйL‰:^keŒû-Õìæsó´óWÑóÅY±µ°A¦o$ižRæ Ÿ'j;ÔÏ@Eãqèþð«¬u—óç¥à^žj‰2d§Œ~ŽúcH~†îy JÒOÇŠîñEðÏ5µ{2Úk')Þ  ò6Ž’*5M4…©b)O˜iO˜ôm”ýzø›5 Yòég_•Èâãwµ ü¢wBúÚ9.*/}^`´ß9ÿ€N¸uýÝ~AÜZs‚ ¤wãRPœF浦½›Ÿ•V=³½ch<& ­ áL ÅÌéˆÝŽbFUoŠ«PÖ.o·žÉQ#>Öíò¶Ùš2BìÊ&T†>‡@ì;Í'žé%R®hvð#¿Õܱ ‹Jþ![MŠÓèqá`‰Šñ(Â#j¡®¨1¶ð³Xã‡óåEêГŒjÈqúd¶ðDN“úVð·éIYþI”'€·n?dUí»hl21¹«ºn®`;T±Ïø†å\,†¹ÚeD’[þîg\ªùŒS lÆYþü¦e`¬h³G¿h%éJÀ;ì‹>5ûùÄìÈYræ½YjZ±õ­sÎGf2,lQrvÕu Dº¦*k˜èÁÕ«›HË `Z“¢vÁ8äI/ÊzWô¶ íåfz..¦Yç¼Uo@Z u6ðòQ‚V¼x×.D…ç%—º˜8Šv—æ{Ìø)UˆŒg8_ÃZ¥ K[>ÚfÙÉÝÿ0µøâ8-œt+£¨ÎˆŽj¾uRç«ìOͰàºù׈¥§b4¯dº‰0È£Ûºà÷ lŸùÜ49ÿû7IçâÿŠÚÚ‘ýÈÌW-ËÖ\Üiò3•$4fúä(äYJ(çw¤UŠž½t„9HRôãJÙÏ´nݲ¯3qÂϰhír,-•âØ°[2Ú}ùnñÈ OïH&F2É<}J6À¿FþÎåÜ":êõ^ɱͫ]á…’¸1f\РǪ=ûüíã¸SˆÌr*¢E ¾öŸãp¶ cÔ¤ÙÕ\$QËÆBƒõÓÝQ¦£Jõò~ž¬ÉÌG.ZÄúJÄ™"ŸìKQwáp!­…桺r0¶œø²ÒkÔoIR 5²QeFLÉÁïn8Te_Vü¢ÀÇñ†¡¤åàÃG:šŸcð#~µ.l ¤Ü|ÞšZº´Úéí6kmû·;ä•€ê\aßc{BLj8óÞõ•áaÒ’¹f›8иúÁtKg‚1½ã`höýÝô!¬Ÿ"nCÀº½ß•ºGÈ+äŒ\ÇÈ’U_kQt" G†¸­wˆ·¬f *Âg.æ–9Я¨?ÚcÉþàóçs.33§_ ɈY²/ûøów?p“_¯txmyêÊúá‰åsÕ­@ëŸâMšW¶qvútóÍvc¥¹|ài²ö­¾ºÉá–@þ¥w ™ˆ‰ðþjk5ñŸ.÷m7ªƒê² ’OK Æ—H¥W‘µsvÙ d|.9>•Ëø5ò:IL&½fò_I?¿ú—IÓÞröó^xñÉ{¹¬×=÷ žùü„µ‡Ã)‰ÅeVÙØÐ´zpËÃöõ-Û£’½êç¡t2# —!dé žé£á®eäVèöZQ+Tͺ¤¿(àFò)‘b­ª%áó®]TñÍ·{ÝÍ»v•*5îõšà‘Ñ,Å=©#ɰíûÔ±ChfHÃß Þ{Ór7iüHõ6HÍ O]3Oá9CÏ*õOìšj†“Ë £BÀ;Pz{©Ø†Ç’¥³Ù™U«°\ü\Šïc  fMsÖѳÕ5»ûʪǿ»~¡ &60¦%ƒ«ÇUû0ηY¯Ê[X‚Ø-¿Ô7CµUc$þ Öe pÈ¥³‹]‘?hó—å3Šjg;5Ú)^N2ƒî¯¯ÈQv´ªöÊ;¸MNd‚“š*ˆ°å"gܯÛž‚³Ä7›ûŸÏžp´Rº_ Pã™– ¨e§2Ñt‘‚­xý±j_}S½]çýÆë¯ÅžžxÔI2,R¹š.ýÚ½jëE>âç̽;t¤•8Öý„ÑýyžrÊ|à)(ü- w¨uuU«`.Ö[tõo·á½³DyÑHYÝøýbÀLPs…ô<†8š¥^“‹„Ö÷òÂð4EuI þù‚B~ƾ€zâÿ¾‘Ÿ ´™륫¨,Lß/錰AÉÃlÚÉÁh+&H:XS&ý¸‡£*¯šíµÞ‹KD.zdåIÍŒb6±ð†u%K+fzZ³äqRþ¥Ô<µÏ+¡i ÒëT{›¢ÇÍÓCóÎ/\T2óès²zŒ+«ÙÑõ7鉱;Ü)HðÌ ËÆ§V!›J÷w¤×,Àƒèí5©ÔÂ:–³H  /Fãç1i§%6²[ªëƒ#3&~2ŒxGõ *5›ê‚½äyiÈ<+äØ˜»TŽÖ˜´Y>‡øê~ /Sj;\S¡ÒâßÊ㚿մÉàÌ­sŠ·ý÷Êì—P`« ÿzŽhæU†-:ÙpîXk}R$[W„^ÙÈæÖÓo Šóh†~òpN¼•9ýŽªmÒw—c¬K!Á-¿jW¿~ŸDznþ?Õ@r¤OQõnU˜âZäÉ‹Z…R§£åfsÉYXlàL/ìì |²ÞžBÜÄa¹A\JÓC˜uë…-©˜W*àÓ‡çJë ãrߢ{Ú²•íQkרK.ˆqÌ\¨pi+’íAbňcE¤‡”È4 >ó…éÝPvqy®Ixö0 ¶à[.÷Q².-+›n”ûÿ\ß?ÒøÑí^O½‰ðÀŽ5¾²TA厈«NÕh•ÄÝ¡*¹¹IX¶óÀý7,b|f¼ù8ïÐg•S5´RôGàpd0³Ñ¼aˆldD§Ô-‹o(®‹ÀóÌ ê+^‰i Ñ¡zS6rA¤vôÊæ¸Ó<å‘Ï´Å–«Ç£9êÀUJwm0êè±WÌÝd/Žðêý(ÓÆª Ð [Ú±Yd n¸–ÂÕEMÔ²‚W¡ õà´OWЉTJö.ÐÊôh>ÇcøIØÃ½êæ”ú„TYñÃñO²G˜¼­i #k~±´µ÷ŽÃh¨üd‡£q UjXƒ±Bt*(õÑ"³. FJrç€0Ú%¡èú NÊR C;Qôfm|¬½Z^eIò ¸ÖC rj zâ5Ù¥K_’î±ëÇ š¤ õ¦±S`31–Ê ¶§«PE€•±‹åV’°PÁºÛÈÑ/]‡ç·kF³D®ã^‚M ¶[p<#-’C‡•5ÉÀRÆúPÓ ÷M} Ôe©fÑ›÷«i«];û^&RGœž˜¦†Ð`ñι±Rцd(òO½+< Y2O»}§yýyH+@)¹âÚe}$ÿã\þüçWþ èž±‹¡ÜýeÜø`2»ýh_ôLZ˜óƒ8È”Ãl\Ulå_Yz½M×·À=âÙ¢kú”æ´u å†Ì½¢¿"ƒŠõX‘Wƒ¾ˆ|6Ú˜ˆ “càuõO |­‘FINè€×òÌ"¶üYâvÕ&NAgpvè>o­\Ò Ìp`àtÉ-ñðyÁVk^êuBy´Zyé â %KÚ} OùùWõ»ð¶,îKµò“Ÿp¹™-eÚ¼çõ \€0ó½!LY9‡m±·™€¹Tqa^ ÞÅYÌt²ò'ÿÝ^¾›‰Rìægí,[ S†%?Š¢ÝÔcÑÊ’:üÞáø éYQÌ·¡XýXëäx¨ƒ€@j¸.ƒA¸MJ'J† ¯ÏŽ){âBçÉOÍ2Q‘J&®ÀK ÇÙâF/†¿æÏb!§b"8‡™g•3ÉÛïfC§î<ÅX¶‹N9I*ˆ š=.Â#¥Òõÿ$¾î{«·UdËÊð Ì]D³ µê'.¨|¦'È0çÚ´êL·æó}µå>¡Æ„p. pÞ#ï¾dy(ä8Sw44Ó ‚ \¥†ƒ#Ƽâýãh=ç<k‹Y›X÷(ÑP|{UˆLi«1àó¸î‡…„6.s" ¦…ŠõÂN5õ 3^'Yº)ÅEÿÏ<–ò#Ñ®ln ±òy´‚îžU~À?uj2·D{×üýªYÄélI'àx¯ ·ôü¢¡%7ktžçÊ »ÌGžF%%t%mh(±‰1ÓÅ6ŒTwŽ›r„-$>Å^¥oWÚ¾Õ¨5t)dùIŽ0ƒƒ(Ý—Kÿ\´­_Ÿ²ÚMauè(<(’‡ŽùˆmñôòBÀ§ˆÝÆ'í£óiõ‰ >YDÿöEb³¥™ŠFF˜qëWwý«×’“•2OèÄ»x€Ú/{SN*# š2ó¤L_-–º-K‰êcXÌ`¼d|V&jõž9?gjÑ^’…ù’Û.V¾„)‰\§Ä NþNýdʇŖ„ ŒP˜«gm#8¥\ó̼X¦ÿß:výá‹Ò“_Õ$´CA€m{n‚`‚6O 'Ÿ #uâug|ÐÊ6dKXs¾âì£ðn–+Ùt¡åVUÁöâó„' É¥ø¹ÃįMAV“Ò›0zÄRI—Œ edŽBLŒ&ñu&Ѹq÷ÈG:`'‹=zkžéÜúÃȫΠ‘›³aM š-úøÎñ à Á3-há¬üò1ùȳ UrI=ð.ƒC%‹)t0ñœ ÑÌøÃß1ÔÛ\àT±¼ê»)Œ°ø=MÊ ™aÐ2[èöåeðfSFf]b§CÎÒkÂÖ3dAÝñ*ïO²XégýÖT?öA¿xa-¾%|¨Árä ï‚áÛ¦îsŽ«3ñ°éÍo,®«u€ –¹h!â<™0IJ€oa5I;õù 2¹¸KKâ‰Gªôôd÷SÃ~³ zÓjÄùÎtÿÄ/_´öY1wÓ°¹l“$«…+G¯X±ý¶Vǃ¼ßá\¦-À ¹T¢Øn_Öd!Q%ó_”Bû¹ÞrsW•a 8¬ƒ¯Fy±æ5­Yø•f(DNL¶uìŠÏŠz¸¿š~øÛ]R<&žè#Ù}TøÖ_©_XŒR†±ÄšœÖ7‚Œ±Œ‰ ·K&ÒF¿PÊ®[Õf[T§`‰O›ÀŒ4Œ²P¡ì ‘#ðýâ°ý£RŸƒ°.¹5–ï²`gøHø6pi™~Ÿù£³É–à¸.^Ø|ryC©¹Ó†0ØçY‹)üƒÃ]!ëáªoX¯®ð9ærWÆ‹’o[O ‚I\Ãa”)xvªë\>±¬p°O?~w4hÌ6g Sàüþ‚•§,¿û骣D—cNhÅ]RÞ¸<;Õ-sôªÁ§‘š¡g ‚Žš(ï*|5y[÷ôØ.´\çí[b»o•LÖ›ËRGyõéÉ/¿‘¥÷A>¯­osÜß/YøÄW½¥âæÉÂ13ÎÖqôùªÛTt¿›PÑD ›ëAK 8•Q¬`‚"ÖøÂÖP…F a 9„;ñÖr«eï\ýJø]{ê¬'˜[Š®!½ze ‘uf¾>ŒóLMqгù$ßénýÔò*S­c»í)´pùY(yA §@õ}26§þ}?Íë}ץϤ22b âÊ6™üË&¦R‚\2NŸ±¯ÓìÆöúƒ‡5à-4Œ yúnä15eÃ8é ±ÿgG÷¬ŸÛÊ-˜œÛ-mXü©}÷MÙH£¯¡›¬Ì@Û ^"Ïcž€VaˆÈð⣥HÒÜ­ã/ÏÑë[ÏïšÌ¦mˆŒ) ʱFUÓO›ÊŠ#!ßÑ<Çy†KCa‡þ$1æ©.$qT?ù|,Þû¯nÛ-zÄǬo”­»uPúîNW¤ÛþšáZWã›/hk´ aeÝ>”AxmsÓˆo^ìU¡[y€PSµ«€ãŒÿUû¾ä÷¨õE=a®„c¶[Tí8ü lDT7×(М÷ü‘ô™Ô7¥•ÕÚÁBÐòø>~Ý+¼é­¢Tè$ô`bóA€«Çf"}M{ÿê§R¥ê¡—ÅþFº%Ëî @碱ñó.j^µ³Ë*/.—qçTýˆX%@¢U,Þq¦À¹uøœßÇ= lFÌà‘+ožøu 7Ëp~FrpøÍ<õTƒð4×­“…IHÆHQÜÌ™ðC”øQŸh¾º9©”Ô6Ž!Y [UŽ½Ò¾º°ÕÂWI¨˜J 6âvCãŽW™íEž)_ý‚ ûÕU Ô«¢2jÛ[E&@­_èM‡|ç€qC‡O#‰ÉAhãφ…ðô~N±HøªTAjú>3GÈëM›Ã¤ü](Ì·W5$"Iü‡WnÇ>"ˆ¤>*lÎåߺÍͷ;Òÿ~#+lĨ±O^jˆæYg]îúÆ :ÑÜ›Õìñ¡°HµTÕ“?ó‡«9‘VŽ) «©T4ëã¥ßSݱÕò=Èành.ý‚SÀ°BšOÊi}&^¯ƒêz°KÖo1ƒa"¬Wí ÌqKÜLì꼨fÜXWßÓÙ1æñÿÙiΊÉí+òB“iÔY*Ûêö!Ì2u$ž¿ öö{iØ@êMRüL}#z®£øb ~ýx­ÞNQ—[m4¥æ%iU¢wh ÷´ÉãÄ̬%xš/ñ¡†2ú÷B.xÃy—‹‘…|~F3¹1FýR/;‰ÛpHÖw›ÛŠÉº }"bONÛ­]šiXÍ·ú0 üv&\9¸ÀãŽc¢ð—”¨}¹³É×ë¦\àž€À#qµk*ôû>•t:s! P­¸º³ïB2‡è‚YùÜ>/·¢´jROŒW‘'_ú•OMw­CY•EÈ{I³òqØÙÂo÷|¼ ÞÙÌ÷n(ÆÙÚ77®°vS|\?MŸçúj\/jÐ7æÆ½½ÿ(ÙÙ’¹ùqÖÁ/é©¿DæòQ¾”7˜ßÀ.efŸŸ˪:aFæá&‘4Å©5–Eß|du^Ž"ÐDN#ywv“åШ~pL Ý]®í4n2>®ÎkƒçoÂÿGK!Lq—1—íA=¶ùS¯''Wkûͺ²c¿±Wrp3¿Êx¦ÇåÆuÂïžÇ¡@îy?êdéõBA–x °¨c¼@F€_iOçjQÇwªÞª‰ÿø|cK`¨^/d±ÈÀvø4 )aÃ>ÐÛ½~ÝGOãÅè8~Cf×<}Æ´(«ÄK®×kCLâH¸€µ¡klhSú%XS9VÌN½ºRÆÓû© .î¶dêw'§ç’¢=>¥ä>ç¯2î+¹Ü©¼[ìéýí¯c5|LRZ®CeŽ”ûžj„ 1øøE5ׂPÞZÌòP„Õ€²õ3ѳ¤ògY ™¿ÚMLA¸·£ÍëðLÔ‰fßJÑê•=¡­•ó¼Ý uYƒ‚ˆqÀç%¸¨FRzt-f>âqs$˜³A¼wþ*Pš¥·MÉíÀcáì1Œ½ùiQA:ûEYqÚ”¡‚oòRã“®¾i~ñuÃEpÚ…&ÉòšÒÁ„[2ø2FÉà81©áÁPQ ¥ ÔÄ^¡EmX[×4k½u?#dÀ×KŒ!±Ò“é삸֟µTÄÓÕy€ä~îOp¿“¸™MbÅ´FH"2©ùfr)T4þòb¤O3¾ß(º#o£ !±à]7&žG¿xªk“€`ZŠÿbÉ7Ðì‹—B…f£?öby9¹wÇò ¢Cü6p*9„Oëæ¾PÓø¶*-0óG÷ ntƒ#&ؤV´A¾VËó‘lå$˜*¾áS¢wØÎr9f#²ñ"WÏìP±»§¸GH »R($}ngòJ 9÷y2“röõþŠ‹q¹ëÕµ—'m÷Û¡×Pú>Elùùs x­§:‹ãÏwCh¡fŸ–"ÔîÌE%£š¯ìókl†Í\/¾gi€Þêëð #Ûe”CŸôÆr©c+}Mè€{‡÷‚}˜!êÿTgÈ!<=gÖÒ”?¤KÑdRdç° <@ ·Ê£øu²½ˆÑ*¿x_©¶e„—±2kFçFçz–áL®€¡MG‘‚ÃYì­e›º„¤\ |“.i„#Aeø¨ªAç $˜|£‚pU؉6Ú•>¦ó—‹_Âán`]+8uŒÆ‰…„ž atæ/׃¶¹nqhä=Ðo°ðÄÐÊYØ×ŒlÌiuñ˜—M/§.¼# tZ«Òë×ÐÔ"ƒo{D€ÑYeö"H´‰Îàâ –à.ߘ7ÜD8 ˆ å”¥]Ú†ËÜ0è‚¶ú³¤ÈÄ£´ÏHîw‹ô)=}'¾V“ Î }›,ôPú%ÛÇz–µÚvã€~ÛdÄà¥T Œa'KW¯ÜÞK9:éý4‡7K¼ ꫱…ùìQy½üçÍ H0Ýgì°é¶¼}Û¥ØNÒD¬îb‹Ù-‚±;À!NŠ … -ð7€LÃàŽï!47=Ò”œlÒÁ/G2Ovkj¨IÈN>©B’ÚgÅU;,í$¨ÿ‚‰ŒÀ-ú$s¼‘n“ÔýÂô ½uîo QQγ‚Hôù?ÈÞhê aÍf•†·MܱZŠjýã³ôÂ%o‚Ól7‰W¨¯#h·¦²Uù ,òET4ùÒQŒmñaµ\&Îë#÷± 3íœð-W…œD¼=þ¡MtI`A-HDêóæ¾’ûIÄ¿4…­”;]êß—)˼“ʉ·¨?ÅrÅPØ‚VêA¬ˆ?áö±ádCóð›×ö ~á‡&pöø™s@Êk÷³×½.©•j݇müÇ„^Çpù ,œÜÑlc*«7øtÃÍbl剭:=Ø,©¶k|á…KËé"&CRXž‚dúÒx£›Bÿ¼}n†mHDVxÞ!b.Ã2•GPF¥qüB,жTX»“á!Z˜@Œs³4’¯,±ãùOÕ…ò~z¶öeÏM¸¿£ó—æÎÀ5žS¥Œ7VöZô!B"ûô$ðÝMô(RÛ>^èiÏz£tuéw¦îÂbІá$òè'ÜAL¢9Ô3ÓÚ—T¼é˜–_à÷Ûµ“ae ¹`åà4o& ¶ÖXxéÙëדcçÒ74ad G9š£—~­ |®Èªµ½Œuê5’ÿ­÷¡ÃÒÉN—bÜ4I9нÀ'®oñ±›hHî鱓ÏO5a‰È100Rð5|Á¨»,õƒ×œð³ÂidÓÐ>‡OXøŽUof4’x³/ýÿ¹oiš‰ë½•Âñ¾üf!ÏÐ+²©ÙÂòɘšìÓ¤ í¹ 2¬ó²¾èÑ0Å,ƈA-•2ZV iú¥j—0yþ·ŠÂfô$V¤Ÿ—þÍ ¸¡<ÛuÜaÐÒCsë-,÷ø&DZɖĹK/ø†¹’ƒÀ›‘Þßsc`Z7ØE•3ª¯Ø˜nŸ‰y ïРÊ`{pa6’!Ž4$]±ný(EÏ ÜˆE͆K˸Ö"´éýeÓÇT$—í~¢çä“hžHcªäN»EøPnúÏ¥HÍ>먿ô¬Ý̉±,y‹_,YªIzoÿŠf"¥^(?¾DÕ{ᑆg‘ܲ¬¾âŽ’k÷Ø€÷ˆÌŠÌ| |‹~Þ)kÚ#áDBÁR0R ç¦aHY¯ûm¿šÖd«ž^‡Œ›·WþíùmÀï¦J£ÁÉM2ÝMv (ZCÊ $ð¬÷PâïñÏðk5K‰Zw}1ý]•9bÍMî8 í§³6³’ßßdˆ…òu˜½ NJÃÏœ‡K~¯M¦w(IAZ j(ãkbBå.y??ö›ÃÉÛ Ÿ3ŠA|!®/Kíˆjæ4}¼wfÝÄH¼¦ ó¢rwá/ºÝ•a|{èv÷I;>&T;/Vs†·æbɵr^íçÿ’}žixÿ¤Ð…jµn0Þfýê žºúyI¢åïÁ¸Uâëã/<ȱyS€ƒ wßVåÆÊàb]}í9¦›à[êÒQ¬äG \o{{ôP„µ©½IØoó·1XFØw’rFê]|ܼk4Á¶ÐpÒj¤Žá÷f\—~?ò¶mÿþÙ›½DŸQB4/ ´aFò9’sÎÕÕP 0òWÑ÷_:~»šÃ~ßWf»_?°J#…­y8||ðÍ»yš&·SåÌm`20t4ô/˾^˜– 1~Žz¶jš\BbC}hî(©ÒÖ«KÌVE ç¨ôú‹Ò#ËØ"A$6\PPþÞ®±Ú!:ëé‰-Ü Òç|šHbÉÅ&¿îµ—Z'lÙ4^ØŽE¦•íñú+IÔÜ<²¤…^¨íT±“³½º ÐÇ €­wògIƒ^~ɤ+ÉiÊ;-}R:÷™Â¾œÜC©ÉXUÊ“d7mã¨Øo—;žUñ†ni-|Ò jþ©–Q¨M|°JÛÊÿuD~„ƒö¼gr7WÞ§lx{ܯC†‹‹?ª‹\…ùºØÜ[ýÓP€ß<¼«d©:½%='c†öu çe“4õÍúÁYr¿ ã’»'´.¦-6Sùh]Í€(¢35Áy!]•"ÓFãz[Œ«_*ÆfäÐ[ ÿþ*7Æ>•ŸN"2ÿpس™­voW (w•‰¢†“öpúzÃ’±­ *‰ÎwÖ«ÏtI]ÆëÍó‘^—&s¹àpô)ÄžTß%òpcÑÜ©û Ö[Yz'EnêÒCG´ŸïAöè+÷êðKw žÚÝ7‚º!àþ< 0~‡a|!í!§§»³;=EèþÆ¿5÷§Ù¾¹SrÀd§Qðùyîv é<R\ÆX#ÃËØl3{º]>E|¤ì‰e*uã£ÃàÅÑ1uêµ9?<„µØ æg&^Rí¬‹­«¨/O„ñÊ’‡€š}æó&ÃÓ½RP©Ã®œë¸±pÖú =FÌHŒˆà“Ó§h‡Éë+xód`èæ‹øåÕ¨«KÄõΚګåVAüů™Dñ£Å~1âwë|† 6Ud’1‚LFà)äišÆ?8&®÷8ôä:{-°cÄü':fç>`©ú¾'ÉÑξ<$(¼5è‘!ŽPÞ"§“ÙPeþ‚K/öãè•v4UÅ7‹´¶{ÁÎŒ|»»drpèØFGÔ·Õ‡ˆÛ?Ù4‡bm’Ü0½ÊJ"ô.¾~JŽÿج£Ü8aűËå™#/„åßOëðQ]Q}ÎFì ÉûÑd iÐÆ½Ô÷Û€ f6B¹êQí5]u+îÜ,¿Câ%=}ÄPE0ÛçÞž)¶çSKý<´÷ajÒ º€Ù°q‹(X¬EmV~WS•m†ÙÖÙšzµ·˜…4f~â÷äÒ£Û%”Æž1YuBooccÆË]Á÷‹ß4{Î>ÊCü?21HƵtw“ÍîB÷©VW'Ò1¦¾äXÈ·ñ>îõZ©äôdø‡=³bÂý¹¨nÜßòAòÉ@êÈm hTèYBAº0ÖzOµÊ•’Ô pÑ…´þ­½¢ä±7”ŽÄmX?ƒ›ü7õâƒ7Ʋ>ÉŽ~¦Õ;ðú "€ø‡F–/¯o<Ò:¹ph¦x VÞŠ5oô:€m8Ó³­†÷c0å²Û>1*¦ÁŒ ÖkMÑòvt N"Dòæœý‡VÒ]¿ŽLÝ6£¶ŒíV ¬õØ«cökr„ðK| ±ò_ó¯ãë•ýNÉ<­Zà'BÇ "ÿ:24lûg¨½Ê•ºâº~H"!ÔP3¨/]!g¼/2Á="Ê™N.f Òï«™‘Ý  Ð}‡vVb3—$¿®AÚ°éHidûíjü  $i® Ûþ6à´±çÂØÝnôÄÕÌ›DOÓÎåeî%OýG­øm¹–úÜóvÚ†N²Å„ê Áà\XØ+&±Ó¶š+¸VáÂU»)Ñ!†¸çÇ,ËʚJ‘: †Ègy;Ä-yaó.aÅ<57K›ô£újÁ/³=©ÔÒþ¡Q}ì£R 1EKЯ‹ðÍ«õ]0Bs—SHY²—Ÿ G°¢gzmPúôF;EþóèÀ›'€ùí`:h1Àß³Û ׇs½ŸÈ Qv?CåO»zÝø¨eãšG 9 ­ºü»æhBº$ñVðt¾Ñå øŒÿg׺¶ei—é•ãñe¿Nàu´©`d·ŸDjöªš{y¤2‘­ g"ß°"„\/Š,Mg\%×þÝ~° þ‡›ó'èšaºÂäÀpBa2).£Jß+]¥+̉J1C*꟢²ýÛD‚¨,E³c ~S Ñ]— ÚÝ{xÈMÍì«ì°èòYÚ!J.hú;.öò¿ð£Rq}Ž^ ”¸UÂïzOjþÁGkjs?n&|åëZŒï’|7ÖóøÖÖ‚? $Ëô‹° ‚0Aš‚SÔúX×f æÈ§Úý_äDWBqY¬«ˆ« í)^Dט€Z‘9]<7îõõr2_}‰ÓoØLƒ„ƒ˜t]~c2¿ó‚/ºy¬ àfHý—â-ž÷\ég‚« ãI)(—‚îH3½µÀÓ$©\#;€_`W:V"KTÅd±bû3‰$ËëÖtkâ¡Е€ Þù—H"H<µ Û’¨¸sÓb|·µˆ'´gBˆ®Ôd.c0.=~ø<;ý7DƒºL u)qŸ/“\ î¶xVfbS·­rs±B{êì/G9ÙØ¿*’b8ÀÆûålO–˜àí¬VÏjjR{ð^®§ €3FÁ¡ [ƒÎ©̒X­"=X7èÈÔ2ʬ˜êJ@-)à ¯Q#Q…é.zùOuCîWdoÔr±OSB[>»ãòH—Ç· ac«CýûÆúX˜µ8äx™v&ÖPFë4‚3öyK4YzAûW„›ßàÆ…;5´‹Êph ÿRÒ<⨎žòÄ“@Ïtbz{ËJÞ'ÍîÉ7³Æ¨6}ö°Ø¼•#*kõ…‰Rø'&~áÉÿøUߨABR{#†ô¦ëz¶…GTZF!â™WR‘™X_‘à鬛tú›°a½…è9óô»šóhâéÔýÀfË:”=4ç›ÈÒqRqhYñ1,›AŸðÌãàÃYâ:Á0ý÷Ÿ’„EZÃü°í¬ø–/^ pä#%‹ÎzýÕ§BXîöó~çB_šƒÌ·hü©Sè» Ef-Žâf8°ò®à]kP¿Â¼‚ås.ryV'Q&Êt,æŸYv_„›Ãa¹ ·ñ¡-Æ‚\‚öpÃX$¶&€™U1ÜxPl]THI†Á+^CãtÂï¸Ë!G(hgÎbÝÖM–(à膎Œ8a£ZUftûGŒÔ&skš0Ÿð˜ŒÄ΢’†g²«˜9n‡öôîU³ÏrÛ† hNóÔ£ª–[òÈHàMLz†—Ü… Úe[qùG€;I^¼-˜ùy¹ v6nñQjŽPŸŠµÃ˜Ñ=ƒ\à1-^³eæšÝ»YUÞa_ákèN¬½ &´bAª1èx°¶yÖ|v)¡Yƒù@}MÌã £;¯²ê‚‹uYj*¡~9ÓàŒ{Ì’3ï¯ÓÓ²ßÿÒs©êæB%úÉ¡:¯áÛ °ôþD¤D\¸÷¹k!0¾^¸ª¶§$p߯µ©i7¬ œbú/C¿AvJ¸»võÕärõ£gO:FËOØ6–7%J¯î…åÈÚ·Ën~XßßÍWn,êÀ-¶ŒyØ`‰Ü¥Ów 8 w+›ÙÿdLp|ˆe0j–!bm"ev€ˆÛwÇãü“ãû×uÂr^#€)n ßJ’è—¨J[‘5 Në"é®ñ|Ì$µ+Ú®–L¯¼ºŠ.Îý?”ŒåU…¦òÿp¶0níh=ËØ|’¬|ã-ú¦F®p-І…)`+ý,籃!À‚0ÏÚƒ’›+8öÊó<‡˜Nw >“²î«.C–âEÁƒ>_ ˜ý]Ò¨®Š}5d¼l>ãC¿w~7¶¤zèuèC.êN¬³Ê‚j½šfÈê']K¶éÔ«1ºÎkßÖG§7¸—©!PyC~kWW¨æÙ„ 8Õäÿ¥ ßvÕ ·ÕÕè:x¸Y×}¼Ò<;-ßê.,j`glQpdGÌjy ø'?Ϲîð•õÍ’À¦f 1Y»œ6ËWºˆoYrKÏê+Œ¦åšýs#éÎÇÉ\ሖƒIšG·€tì²ÇJ¶!-6¼ää¢Ìð)’ÄõqÄûà9ùI+ßìIFŽÀFŠ)žéy]ùp†C«=9d¢hj”æVã|*åà6}F½8 b WÉ!¹$l—á|ôpŠQä;`g®$ðYk%=Á •…ã®R–¨)áâ<áêê¡që®W)P©Iy49£p‘ÒåËdPV1N#ƒRù*@LÔ‹A;ëÏe'™¡ÂpjLmyŒ#¥ÉuóÖ’h/–ŸDAfœ¾:Àì¼@D&½üóc´º™Á^À¼ÂProª·†+àÜUË5?<ø5‰z#ÙïqÈ<#TTè°qw“Å@z&¼»ý÷Ř[k™@Î>b´Lö|¬_GNDj èNºLö;ek´—BƒñkÞà äKÒÚí¥ÁR¿ù¹“ŒF¢T}Ýé;êwž ¶ÌQ¶vD?IÕŽ.07jµ›Äo\°KɉÑa,a~½YÄ—¼$úW¦°¤ÁR³tÍÉiTbI‰9¥ƒ•ëÝ€ZF”Í>5`Ç8ŠDKž=‡ãê„ 'ÙF£Ü¾»‹´¤ÇF®¥x8; pKc¥"¶>ž÷¯ ­hŒãàµÜ´W}£3¥LÒ….ÚÇ!’´5§?+Œçîu´4è‚jaúÌM4ÛTc& ¿G=ç˜ÞnU‹À›ÔÙ‰!-M,ÿÏ´v‡áEН ÔóTVü%$µ+Ý+‡×-ŽÝwIÄ‚zíö§éÐú^‡Üû'Û䇓¨Öw–4srûÀJoÐ=$¾‡{'ï ™~ODx¨/À75Ð=ƒg‰¹ å凈Dlˆ–ç±ÛÊOÿ‡€G*¸”®8¼>Ä÷*¿›µ(=–^½3À;÷kh‘¼ eoÛŸBJ•òXÈ!š}*¶Õ=f i¹Ña;è£p"Iûô-~ËpF>¶Ív[e9*3Z¥ s©ÿ?˜3Ý5!:^ý¢§mÖXß»+¥àC=nÝ_Ès·Më™ý~Šºì=<Ä©‚h~þ°ÛËŽ)ß; æœ?©êK k‚íd)/·ŸO€#t3§’ä…Ï,R2¬¼{Ÿ9.gÓõ F §èZxi|w,ø }Jm})ÐY’A¥‘÷æ²ä$ÌJgYšh¬½^¨âŸõs=«kÜÊôF.ÆîtÃàmÒ˜[ Tü¬× d-^§úÍa‘y‚¾Xëÿê(N/—!ÉL–,’«¢dò¥`} 8î‚[ƒ ˆ+ãî€X.({ ¾P·vú°M2]tÓú0­Ç@àxtÌGh¤¦‘âúy£ô´5#ع—Uøª,Ô¥TkFî·Ý:ºÁsŒ·1š×ÕªPi¨Ë&z-€þ:DCLw¼Û·> ~hIf:ÊÞ« ‰ðEO(‹ÝçjT·Ø— ØYzôPt4ìäj5sŸ;{”ï "hð0«Q¤¼gú¼«À®-sYPµ‰ƒkÝÈù H¼.¤áJ‚tD¸ÝW€–:üºìÛQ)Î -ß;¯ISŒÞ±üŽfH1 Àl_SÛ #@Õ}rR÷@ìÅJË€ gB2Ä¡!ˆ H{€Eb,iZ÷ñWg©û¾fÍ0Qy„-@Rlvø÷Xì]B±F2wì‹t«Ï2¾I…¨×6Yøaua]˜¢aÒ°eûL÷àç8€H‡ ¬- ø$0²,“Ãôn¹|:Ÿ›Ý;)KŸÄvIýf²@W3bÓ© Tì1)°S²ú޲ó~¯³ÔRP±óQtϱÂÐi‰9Ë«”ØSZΔá{NÄ4K9Ë—ä twO¤® bœÅÇxÁÅ-‹‚–îݘnIS/,àß=&Ÿ#ðdì7k¢Šµ #a¤XžÕ;IsÁˆScÑ®=Ëàâ*c3PI“ò2ou: å`iJ$ABUѱ˜~ˆTÌJìÙM$̃í7‡;Ká› 5Ö${–§eÏ>Ìþ‘¶×^¢>àÒ‡µP†¹ÿ]&Bè·¹T—$ý.Å Ç@¼ÞøØV[·{ë¶p¯Yï,áØ%=›l$Ž)z60|tL+ó]À} ¶m^@ Yèÿ›`Fø­åf'‡sï‹ùK|eZ‘»?ÍàUR¾aùûÙœ¹NÇb¿LÔ¤î\ÞN8νw,,©¤äüÍ%·ý6Eˆô¤Þ<=#ÖZ¬0ë1øNáF”þª >m~úø‡K6 Åž_üäR.Üí¾¿j=¼Å˜I Î…ù…Žwø‘3ˬ5Š@ô­&ë Ø '†ìæÍŪl&ø'1hfé-†pëUÂ3D…|󙳆y¦Ì{}×–ƒz­gQQ<2"(¯£šRyŽ¿Òÿ¡Ãø_ë3GDéµ\_0Ë7"¢šSBEú¨Ÿþ¿`»$óÑüB÷É×òŽðÖ¾Ýò***ø,dX %\û(¬´>IÀ¤+ø¡‹Þ(ÍÔsM²¯µ7Á¹>ÐÇÛ"i`•Ÿrp Ûj˜:œS Á"ƒ#‡Rψ­@“Á~\:„xT±(Ð2œ?-&®¹$NÖqîhC¼!íÙ|%Rû"‹b2SRâÎg“#²ãµ4î!ƒ©M*å@Y°ÅvûÕŸB;ë~̤¥‰ËD¤°½éY„êxSÅœ´IDF7¾$=ÊÆl°| ‘?8o6êè›ç ”íkÝH(ôøšÜ1‰¹›uþ¨·À ¾®PVæš“ˆ‰q¼éûŽŠGoá‡5“Ž‘CÚB÷Ù>ãRð•WšÁŒ`÷ŸÌ1Gme}Ð:®Ð(¾ &SKë¤õÓdaãxá̗ܹ?îóÆ —&¿CÜ¡ñ¯<[VîzM+®±á&Bqº]åð ±¶_?‘êoßtëäec,<Û„‹t_Ýôù-4Ú¥.^êàMý3 FozqÝ·U°-F~-b("ÕŽ Öïÿæ,~¤’ÒÆÝÊkÿ]¹uæ¢m_çE¯º9"£:vØ~3â—ó ë3<œ/\ì:Œ·c]=×ø x>§¨äâsŽÓN«ÐŒm–^Ùãñ»:°åm¿„3¬L_^×UŒ•2¶åÙÈ앆qp¥Ú4 7u(’ìváÊá%3%R rG´ °Îkd¢Ó5çcH¿Mä&cÙs‹”8ŽçYéhØÔŽÍ,ø5:R‚{èŸc ¥@ÇŽ6~Oõ¨ OÂæ”J Z"/æé7Œ¿;g°>®fÄ]²Û_~¹ÆD?ûo\äIG2c”`,!ÿ2KnCuã™\5"ýÌ»q&[éþ$Q‚–Þ‘„Eº~ßfÌT‘ï–5gjÙ=K¼”ÂNÙX9³/\¨„ ›ÿÝ©g“¼ŸˆZ+°­orȨó¹'­WåÛ+Ó¢»¸7,_îÊð±­®‹¢IM“¥éàÃU FTb à¼^>Θ­$†þÒµ/~× Á6‰r¡^ÒXqî*ûOܰ!pȰÿ«sâŸ.úhSÆ´ÍJoøyy’ÿpQkæMñvzüI¾Î–ÿÇ•üÌe®a9BXš5»5¿´ôÃQU({òa¬5_´?pØ^éŸ7i$‡-šÌ©_yXÁqLÒd™`¾Y4`w›,üp9¢F„‚¤åmc+ó²( UÐ\/ø„¿\e‰uçÜÝú–hËg"z$8Ã͉ {ßÛ]êÒðêcJYè¾, Ëëˆ.“ycãìô­.Ö«>È›x7á§ÕG¾…×£9ÅC±áAaÆùd纬!vE&«½P×Ôt9ٞɧ`!c‹Û=9¨Æb|ÄůW¼’ïoÝg›Ïx“g¢ßnò%Ã%áá=¼>ÜÖׯwí£_ÙkYóáÑP¯#\Ÿ<Üs¼ •¦Å)ˆÅ&ý¬D/°ølK¦ß`Á;j-[믥‰䇲j<–w%J÷ðQhIì–!‘¬®‚ŽÄñÝÓP57W*;#I.Jœß´ þêÊmj:eû—A=-ñÂŦÂ@þQ€øhgÀW²j¾±O5v›Z•(Â1Î[„$%úó»‚(E°åÔl²“ôJèYû$„ÈÈ4¿¡ëhtg¤оD9f[ô« î4L³§ ŽrM áÔLþñJ°”¹kgÖ AòÌ-ðy^7ÏäòÉÁ¾\>ß|ƒ«÷k½ÿÊ®H¢ŠMoŒìg#,r9¶†VïÑcû“iè R(ˆ×ãÿ‚VÉÕí%‰®>ÃÅó4Ay)&Ò®þ§ÂÞv¦ ·/"@1gdž6+ÆHÂñp—Þt›‡ß88³knòœòH%\øïréeÞvz Rg!@UÂ?Ð%ò\l¶w¦ŽÒ_“Üz4!7ž|f^ÓVa+w\ÕÑ _ËAPÜѬìž[‚KNzY ³ì‡YÔ°0”`롺IO¹/.øŸSi’Ôtx³Ì”ÖÍD4Ànp<3Ãÿ¯zvc3>aôê't{ò–V)ýÐÁá’ŒN –¢ÝÑj]˜%”hþ²+u›ë«§Ys(ãÈ嚣 /¹eÅÛ0¯Pg—“Òøð?Ûù)yÃ#‘öÒ–5ÀåçÜÿ–%•̆®¤'Æ–˜¬^Õ[|øÝ­ÞN¬%¯|:Ñ‘æqîÊ7rØ$V=·Zoä xZò„ì[yËÅ©ÉQ|¹…ö_m|%á÷Ê2ë Ë"à²Ý+ñ}ØÆL`‡\]0‹·Sªøß6´Ò–ûAí}MdygQ@߇@ßbž$ÐëàÕÈ̤ùâ;B¦O ž‘o:°ÿüºôE<Çiö_Xæ€j±£Ô:œ ¬bÀ µÌóøx P¹ôtY’m90]aϤ­]1çÍxÆÂN ×Kiµû‰š4¯[>jÈ,¬6Ÿ¶Ž—–<[˜çu¢S—ÎbÕrùëŽ9žŒQb.–¥/Ïõ„K°-mÊtö>T$ü}P‰ƒ¥lÍÉQ=P’9Àбºh°Ê•K••dça“Mqì¸ç4,Ú0þÅ/¾÷‚¨„ƒ²läù„í|×®ýr¼÷WA˜—†Qø\xhÿ¢„±Ì¬àå;%_ØçˆëLG!DJIÎÂŽ&ñÈâªÔ­»|n¾›ŸwcCr•‹=W ?à1„±dLfE"ÇÖU^yžg’'JS?+saeYØ!BtÐŽR j×L˜Npõ2‚–b/vNYÄÛÕtiøëIP¼WLJ¸¯ªÀZ¾åU’i{>4Í~ÌÊ[½àU/K¼nZ¾[^–ÿÊD•Š ûgfspþ‹…E¿ó¡¸”“éˆY˜”ÛFåX™_4DÌràJh—%0@¸{,äG5g°öߥÜ-o&úA·Ô¢€R e®LbüÒ==­‚`YZ]eïCAÎ*g…ê‰æ––e ‚o’÷§3¦”«©Tûâ¹°ôG”BõA¢‡ž<0¾éý0}„­_Rñ¶q…®Ÿ®”¶Ï½©¥ej9š²AÏ s8qxÊ-ÙoX ü9L5‰SZ* Ⳍ\pB® Lܾnj>[‡€AÜ7+=îH“ÕÅ  µÖéÚÇèÊ;ðAšHÃM¨©c«z+ç Œcæ“A<ÛmaÔÔ’g¡Rµé$ª ¢Öp°'.pG«„¤ýUoö"ã)E‹Ñ"^ɯ§ÀÒ X÷·Ä/>ßJ÷v  S£¨Éga„¢ŠºuâÃñ`eÀO€4·þ#\Î[ëèë-Ïέ[>oˆXb^Þ;ÕìyÔÝ»õØþ­@Ù˜‰{š(aDò•ç#PÙSË ?dÑþÈMÒ´Í¢AIÞ.f[ñþ5çµð<ñ¾pü+QÔÜ%˜zLW8m¯œ^^®Jlu¾K8²W¼TÍ,†Þ“ „g™Ehs‹‡´Š1ÑüA¥ÜÜ£®ÚSóÉ;/Uep´ð¸øÚ’¥±Ÿ„s®ÛBxw‚1g'çIC&íŽÙÜêXÐð‘Ô&tĬԼþãSáäÔpGºwæ¢ùi1'àW…†WWÛѨ˜²b0<Ìê£n²Vku#Èú@– BÅ·,>S×¢¬i?T¨~„Li`Zà^±|üæ?‰L8u-¨b™µ>”J>Dµ*èÓÐ\f)Ñ%»6üÒ}ƒQ¼kaH4CJio_@ÂZ`ßìp‡ìçÝÇÕU<¦¸Úg~QêôÜTØ—“d=ëñµ.¦LRËqô¨xùܯàw Ø™?¾ÞVÿ9´PŸÿ°l¢ÿ¡†/:™KY#B‘S h}J±”ݥь‡vôB´H¨Á隣º¼ÿŒdGÛmQ8l }~”8\D\Á€»ö “2÷]J`7Íàr±‰G—(%n´†XìU'zÊPª!“#E)£¶Jëž#$q ZK!õ­f"§+|Nôò]gãMW Þ5Õ}òã¡-_§F¯÷Ùò¾Tå|j3¦–I˜í¤ïnCPÖ–8fóœ'ë¬vT·‘ó—QàEÆwK§ ðLB¼¾ÞCNľºž33L¦ò%déêÙ" ’6f×Ãë·äe§ûׄL:ôÃÑJú7ÌäžEÌ7Àu­É|*æÓs¦hxkfvSÈù 24zÑ$i ý7‡ÿÈÂÞˆ²#Õì»!} jï {ü|q¬¼*¼Ž–¸•:‡þû)Í´PKLD}kÓXµHªäª7ØÌœòÕæÂ#Q¦`$ %b¹¡öœ"5—ÉEŸå5!àÅÐv‘Óštýà›`ëw¶~ˆÆ{)vyZ(ôÿ ¹Tçë€YU$…+ºVl¶4rÂáei?JKô]©HÎÄXNq’3§ ißœ  âm¡+ŒæGg’a%+tf3ðMïÖùÂèÒÂX„w5ÙïV¹åF PK‡¶Ù½Q7S QÙ™?÷ ùçœhcÿ(GU)eͳêPHòïý,\¼0ÛÒž‡áü†e5߃¢æáÝØ\.Ž<î’ÄàNŠ)†g`|t®äR~#GJzôï}Nn©Ë?#`™ëröv›72U'q‰ŽA¾VM'€à×i;#œ606@§k¼<2Tc(a¡kբƓUÛ>×D,¾ï´‘-ûÊÂ^düyØlóMÜöš®ÎÈ1VE îŘc)±Jô¡øn0Œ©3©,°Ÿ]Æ,´ámþF— rÚÛTÁ• A•2Žym Vèa·Åv>6¢¨¾'´ZÝœé¹R0õ¦[\ž\ úIÞ™µìÖ?g,–6+’&Î3 ÅGÒ=EÜ'-A‡8+›[VL =»1ÐÜj ÙŒ[˜‡«Õ;KRÛƒ <Ÿ )jÖc¿Q¡v4­‡.@…oÀVÓÛ‡Ž¶ùjÎ$Ê{à9MY|U¼–¬ÓFø:Al’š…Tèúdت€Ë#nÑSï7^ó7KPžœ=þ2»)óôI–òWe5Ý\öp€€ÀèÍdgho6Á3ä JÜ+#Hw`÷/¦ÿG•!pªrYkj@ÖÏ·JàMP <ÉҠʤÝHá7÷kœf¾ŽžÃYS½‘1=1óõ/Q*&ØHÐÔ6±Uý| …2ÝÍ$‘Ô:1&éÎD¹e±d»‚õÂŽW ˆˆ ªàAþ+Â^=z"5½#3ÿßW]Ã_ÒÌÖ¶;VyØØThàXbž¿ ÞZ¨’¿f—";YR ‹‡W~=–Çê:­ ó¢U¥ŸsR^˜³Œ·V)pú¨]’ã—Ï•U×o€£>•þo ¢íe7AIb@ï!_÷´ƒ÷"¦Û™®lzñPoåý&Œbº’Kç=ð[<„_,ª’}ÝÝbWg¨×òa§+tÓúÑ0ÞÚþÞ)„ÿøø‰Ô­UuœÐ+¹êÕ;œ½» ª·a{§ç“@9ö°„ÂD™KN±¤%´Ôj N¡S7â:*ïÜA/Âi»öt¨:–äñjhb·2Ÿ™M>Éô»‚R'<ÖH‘)Œœ3)`'acmæ’ »E2ŒæŒh890êi'ðaÇÞX×ó»aF7¦ 0Fv“¶½Æ èí`€Ê…ïÎ-cýÍ=Æb5œl.Ø^æöWÌűŒ>±NežEa®F?¸åðvô¦™OLA_ë«ÊhA0¼ƒ‰bh € “g¼QÚÕkÓuõB˜C„a0,³Yõ€c’Á›’%%÷«þ…Þ¸¸£Ä)yØ<Î…öuÅô»5±Óþ¿wLn R.ʼjÅÍç“õT^½sÊ–©(»³+ƒ¯»îRŠzDvíja¶ ¯ ±4bªã `?˜Y~àÝo’ ¹e#h‡Öt5ýärаä}–Ž®0çI¹)dP 2?.÷ù±‚ õ1d^0د‡Í¡úR™áÓé’ ñZŠI›ïJÃ}Â<þî_KóvŽâƒU@•û}ji܈ͷyèü“‡ËaÖ çÂ. ¢ ûÇWyÍË\S±6I‘t[·ùÜ·l¬Ð·º‹TLüá]¾¤x›Žoô¡´æM)0êº5w ¡›mjì0c h„»6RTpȸüë~0¦ãrjÚ²“®öC‡8ûUôýq¡±ƒ0åX” Σ/Ë?|L¯2àWÏp =ÊDz¸utŠ [zgè!>ôä. !É\Û'ÎÚX>™˜GÚ&?‹LÞñpÕÚkb¦hldéïN­Œ·-ÓYÆÑ’8p ‘0·'îìW;KòînœTÑÑØÉ÷m«5BЮÈL²îò¬Çmƒ˜-*¿ L=,KFì=Æâ7;Œ! F&>Ç󸿓x¬÷eø¦1µj zà¯O3ŸP|Ћފ§³…xˆ*±íwvk½.ò†<‘®Ê#¢Ý{[Y|!RÐäTà3ÓH%H¯„=rU1_ hˆ~®‘ÿ¿+4WhïÂU!ÿ%S&9ˆuе¾¤}°éÉŠQxø&üGq—gu™Ef&E9Ä°Æ xœÙãy°«|£L"†G: ­²Ø«2rvr4Y¿ìeÑ{ñ”7òe\›¶ÆÔ%7²,'R7ú‰6à ¸oß„­ªjýÏêeúV9þ'7¦'å^p¤*U˜Ñѵç’HÓ!qne2õ <.Ûœû:¼÷ Ñ2¨Í•ù1Äj¦œ(ÑÀ”Î5; {ÊÙn°EÚÔÁiz±šET÷˜Á ?4TKõ§ék*£h¥½Îæy¯ÍpZúÉÜ~O}ªçèÏÈ,53p=*µ“^‡üˆ+<K×®ÜtvŒ d9J5]ÔîϼÀ¤ Ws0êbÎޤbÁž7v ø÷|~–Û¬±(M¬Þ‘ÑÕGõÿýdsdæBé^€´0ª¾ÊωƒRêªTzÏm˜ ÖÏÊ„ì-ŒˆYå6æ7É®œ*V ‚êó9Âz±vžMƒ±Ç÷ŒÔ>Yã„§?MáüUºŒrCG<E¢ûÄŒ­5ÞóØqÅŸ¦ûøQ·LœÞˆ‡¶IlæÚüöð4mµ'óØõûP(¾£7#p,HÄ=æhˆú9Hcñ'Ûwüm—Ù]c RHÙ ³\!Y?^ €˜ºõÝ8’ZÈJm3¢œØ}“Ê·ÂÒéÍŸl² .ZžŽäj -ù¥ÞL—¦²æõ ¨=´gí‡y!ž°ýÑ£{Mˆà þxîZ ª}wÊÑOfÎËÞè}‘QƤ0àž[ÌY \õ¦ÙŽÎ 7È|,ý—Ðiu2ËùKNC×#5×t¥{OŸçôtÀ=aºÌ¥¶¼ã›Óo’6®bkkyóØ gšø°5§F¡&‘¢/Œõ\ˆÎkÛ6*PŽh®rÆm0th@½ˆ@Äþ('CiÌÞXe†‚póú ŠÂئ)H liÀ½Óå½wIȈ› Ïcü®žl·¤¦9$†)0¹NÇdÍŸ1Ú¦ny kV‹y€£0À¦ŒÁ¾/:üô‰2‚Š’ë™µ?æ¤oïÖ¤.1°2d¯r€»yþ‘hAIÞYaj½9<·= Ù©¸B×@°h©ºÖõ¦Ä p,r''”ža—TµkïRDçÓÅPË= Ì"Üoá‰èòŸÁZU¼?u…¸Óûº'”,T7uÿMäп<¿øÇ쪯MâV:ª¸:Ÿ‹Jì|'íIïþK¾/ͼþ=Šêóî„•’¸9^æ’°áv¶½€+uïµµük€uk¢ë­<••À‡Tq~à1ˆÊ?ÏÜÑÊ⻈d—iï ÃGj†ÕÌÅ´ÛXó ‹Pe¹´ž ]™_Ò0+£þœtý1„Û+ù*׎nðTúQMø^‡ÐEqÑÅmfÈç6õJµí#jªE /² ý¹$fÿÉýæV—òücªJ¼@&b)<¹ÙkPhaŽ”¨šwqHTI5]¨@^#Öê­Ä<­AÌàOê}x¾8Tìc¾ÃA®´WÍåóŸøâÿ3AD °âºAð’³*誮ß_|`€Hi4Ìs&xX›/ˆ6Óvx•ebÁÿXp?£Ý´|¼Å6'þ½%Á–êwîn²ªlÁd7&¨Ù}”ÏÍWש¢%aöa4ïê°ARž­"¤âá°¢t=E!.&´õÆs8-‡Ê•ÍÀhë#ÜØS»å=+¥4üÙÕMM²þ¼gëõ…ð¨TûÏÀ·¦ËÈѸEe¥þÕbºâ(À¢GP:¦s¿ÿ{È«¯ž¾8Lô‘Ñ-qs,YÈ™!ÎÄ ŒàÁogdOºÐ|õ©Yy¼‰mÜ´FyüJ¾û»ØQN=1­5§'m¾÷™_a¤}¯,3‚*–Ð Ödº ~»Òu»7ˆ¤oH‡bSMÍ]\r C÷èÇ€€U¶A÷p† ¯ hxŠÄ5˜%SE‚©v˪¡ç¬ÑZÒÖê8Ú×|l’ A¿©vL+Ç?ëù?è£[†;=oú3¥ûþL–èI`3ó}ÎÎO³Te ü…êîi±Ú5óÛt„Ø=ð1…¬…ÿÑøCö?xAµÂEæõ% 6f†Ã²cï§¢†u?$'çy ÷ú(ß)bTô“Ë„Ùo—¯Ï®ÕØc„yݲdñ3™×2¬­¹@¤•.&Öžv¨ÊÆ×¶BN–÷ ØŽ§±50lé‚ÁO Ö››a_9Û>9š€â:!Äö&¯ÖšôÍß”Óî9vx,PÔgÿÇ·rà¼tå"ØtªÃA¯ñ ~®²U0Œn¾)ŽÎRŤeÆy|¢Ï)ùÛ ï$©Âz’ÿô鬚`6 ‡Ÿ.sc¥³¥›™™Yü@»éLŠy°žÓs?¹ÉëM+œc<Šy g‹#¶?F”ÿÔLÒ˜wU™fœ$@nkèÕ¡ã:±Sõõ °¾jˆ³;uK©è¾Là ½|Dêr1˜wã[<´|Ut?êW‡ ÀaÞ~F–¡Q`{¶+Þ÷DH©/ãú`2{›ñ¸§J@ã ˆÖ#çvIç¬p!IÓûŽüf’åÅè6ðZg1ÛNüÐÉ3äGù¨bnÕáKäcv|-Å:•²% —‘"8UmÂ`ì”¶æ.´‘íz¬³37‹ñ؜Ʌ¦U 4vqBQp¦Ü;÷ðIŸq~Pä Nœ`º› i:À"˜ùHQ!TJ˜Ô†ö }Ë„Cø„*ÝCã0Úo¬…bO_H¨Ã(gT¨qÏ×4ž V5³<¯6°¥å1Pk<•<ø‡RѰJï6$õùt›…›±>Ý̧Ü}@WX©ú‹1',.fY|zjkb¢ÂÕ¿£ÈHWÂ6'0«âÞžCðüyÜ&GIœfè J"ä,µïõ‡–äþ$ÌòÝ7€­V*Àõ ø4о*šçg^ðIØö?µ‚…dµÃk NMI¡Øe<”q` &á|¶‡ÑSº9&ë@yõ—Ê`¾&aô­æä´€ :ͳl¥Ù{,Îl>ŠHzšõ)êy¡ÅÆ*“¢×Íû‚‡hQ-û é9í¾z „E}²ÓgØ/¿Oååhˆ™/P?(yYlad‹Ë=Ýw,ýŸkßL‡‘¨¨O¡˜EÓÖv_óïÛ¢V#÷ÕJË4ËUnçÛi–‹\k H 6~G9 ÓùÇ[š¨,Ó«ÏuƺãFßœ¦ßh¢G>Â,^KßîL^ÁäRÀ\›ÌXäïCL=û}ó‰ò%ÆË¼#~ë'º-qCsG¤Â͆Ê/j²Šq×?,“ð½§“à½]GGØ,Ûã­,°ä2ó„sm³¸Z–4z-€Å>0°®¦+Ï.’fÿp¬{_dbƒL Ÿ4Û´²ùtpé ºd(ü,ÎÆ•èÃmá¾*ø7šH\¾ÙV»@•6eä¾áøÖÞAãh ¦È!í!ú`¡ aÓÜÜ ðm€ºóû¾^Ÿ@Á”too”oõÈá›,/§Œ†zeÑî»_ËJ`ìJÚÈQñÄ+îÑlÌ›&»$²ï6{ܧpB¨·‘Ü9?HÉBWó’ç,˜ÊçÙ»þ§O_^R‰t䘈/<À™aÛœ†Ã g[ìó“pJ{õƒT%œQXmßë]¾®Åk‡Ë’yÆÔhsÎk’°r :v4pÕÛ/TèOÔV²4\u–ˆóp¢a«måçDÓÒ.Æ­…ó%=­îµ\/Kè‚6 ´ÞhVÕ°©Ú°;šZHÔÒd|%ùfKKÔ­B¢Þ˜ö™—)oú(wmj×iî¨ñgƒ‹Ñx‡_R§×:½ò.lõ$z`¢rÑËQó”VVŽÑ+„l¯Úõõs”ÂNÔS9‰ç–hƒUÇÇ\ˆ_Å*pUJ4ëóú¥)ß³ œeÔQ´’ºÎÈXÏÞ˜Ðjá¼Õk”¥jïúIçû3ÄsjëÂÄ™- Ò™´š ém\#w>+ YüpÿøV(€6šj!ïG÷kN¼ƒo– êñ»-˜ñ`I‡”kç8¾?ýÓÖƒZ+‰ÛT7Pí6Ê (ÿÒ]RaFå°»x˜ÿ߯igÏ„:y‰è鵦 ‹‚VåüÖÂu[Z ËLq‚2öûw®yó•A §³ÉŃ!{Åú [ÎØé•Æÿ$fqÒB¥=×/!‚ Jùшq¢MGäæÌrkõ«ŽA;¼Ãé­{¤-ýú6·~§c›ç~‘HœIެæ4:–þS—L'η9fýèú=Îo”@Š[¿‡ 8:½×T°#FGÕæ-›Uc«Äc=›Óá}‡âÑççYÀíBdM^ÁÛiok†eÉA èÆù<ù*fž,«<¤²8î8@1•Þ&²ñ¦*®D¹Œ 1ëDÇ¿ëõåùÝíB¨4 Ö†¸ë;~¢t]Vd¿•¤”_Þòü>™vÚ-~={«ä «¾U¿gýïÅP–u˜|”IOzšÂJÖd{ã^•=â.0[÷s±]#Ò2Ö묖€A#ŸDÝŠø]à¬LÅ€PO º1’YTŸ™ð,« >…³zkL8ÜEš69¡¿ ,¿B¥g4”V˜Ë‘A¦ÓJN´øÊÂù¡\]·ÃtÚ¶BCVFþ%S£˜þÛÁ€;b¤I»}3ò1sÄã,¥'Ô ÆNªÍvA‚kœ¸F 9ɸQEM S©lHØÐDÁ¸Ð‰)Ïnø«OZt9?±32×o÷xà¿(/Åw–"È^6‘U3ÍÝ›{Ê/è`n¸ ‚@=•¯52¶jiã¥Ü•Ž)I@õÛ¤ëÀWàÉúËߌu™ž[M›ùðN}YF­­¡·ëÆõ4ÅîÌË‹t`Y ËiztN±· Pœ …×MËr™aœŽ£ž²HãƒkÒ“ëÜÙif‘Ü© nälÃx÷Â*nÙOTÅVZë/TØ$ð,äÿXÐt¼œ OߨtåðÍã–Ô´ÆJÑ_ʘÆm\@‡;¦ß>TyZª^©ØÑÈIÅfÏ‚ûFÿk Fv™C*\‚vó]¬ë[ªÕ9‹ÛNmQõ óp0¹O¶…5'™×Ân½/V„¬‚>r=ÃÚø¸í£@×áHcsQNó‡Ù@Y$Ô ;Q8ÜŽúw©‘•ÙÈã8ý‡õù›2¢y@D£üN¤z*jfõJ/iíäuh9Á·€Ü©ÎØ´>P §c×ÔÚ3Ö^ñÝ>ò4ÿK/Ï´¼ÊO–‘¿Ä=|¦ Ùw„ƒ£å…º~ëÉÊ£Xö 2ï°&+¾k½J @y`|x„!ÀÎd¨+ÛØG4µ²Ñ£a¸ŸqüR@ðÁ:*¿´™Š–7·25Ú«u•Å?Kw2ºÚü±îAH [ª"à”‚²¹«õ¹ÝCÌ€JäKXdÏP2ç ëãŠ|>±7$Ú^†p‰w üƒD%Ó€:Åtøáÿ§áK >o½©[„n O_[Oºae  ºy§‘©ÆwEŒÆôuÖƒ¸ú»ŠöÀ—9¯ÊwfßN•~5é/'¦.ÙÓñºíÑžÂ#`WŸN2m{­Ù΂ÊzT¿VAðÍìÖwÓÅ2Á¶æ±n a<1Ãàn…}…“5d²»G¶©É¤bìSòÁi™&S§¾%—«9ŽÓÜ%ßxãÒã7O[áw]}¡N—¾á}}¢Ë­ÖIÂVGq‚1&¾y<ïÓR8‹ú¿‘+d{ÓÙýmƒLprYµ—ÑÍSlÚœXV„>Ôi<ú‡=sZ£ö1ÑåCØó¼´ØISDŽŸíJàMÄVVJ@Ef­3ÂäÀ)xWKß}ƒI„¥ – ¡ÙM£ë`­éN¥©®/èŠþO¶ÍM¸§šåú¦±yV,¾Œ"ºÀÜ¡ 30¬$ø ’ò'f¡{BÀYû®º:‚þËNëuÍMnƒ«ÿ(boá~ŒPTâ‚dK²¨Fv(x¾¼^UL›¾Vèv]vmîNbIÒÀiJÙ’ Ñþaûo¡éôHhÊh¤G"Á¨Ômš9D ïüáWA¿ˆ:0æ&h`Ç#SÏx8õ2”¡g}ÄFeÆ'sÊtú†7СðX¹û¶Ï· †xG;mßЕ*Û:¬œÑôB°=I‚ú¸I}¡ÓÓ6˜Z ›â¾1AËgðEcostnŒR–fUW ÈßÞ©„ƒ0Æ“…½G:s| ùü¦ï/ >¹u5IxR*Ô>²tµa"‹ã;hùHO™ÿþü^aÚ$”h‚ŒMqcË"é‘¡âQ*„¯ïJÿ0˜R™â %å#Z*oµûwI:Qý¨Àóƒ´¤s’/îÕ|3ýº7nȘ‚œì”­äàýn¢íUl^iº) Ét*)—½Î7 ïPH°¤â]dz` ã^Èt¨ÛPg"ôI%ኰK¥Ž$½Ö't©Êܙ̱c£0Ì·I9žÀ°Ð7‘± e61øÕk½º¿É·"Ôås†æ—yú”cEä3wyâFU㓪,¶¢ \øèj±‹Ž4HS°ú!ë’Õ<ÞÊu…L%Á}¶ìCaSwr×är‚¸GF °¥×¶›³W¥‘b Ö˜Ç[ÔnFÆÇ5‡/‘ „õJ·9Lí)}"œW "ó¤€÷úÌ*A¬ë+,Rª: ƒÈBŒ9Ù5ë½Ä”zøž85OÏ÷ã`.‘X}H~}EùýX²¿žm ˆ™-ñ”où+:JóÞó·úfÄ2Ñæ§×j™·j õmK à¦y¥ GYl±1h™ktø-‘æ°¥ëÌðãœ}ØÞnóÊ€ƒºë5*•Tñ\ÂíJIacÁT©¦ »ta¶'™W諪áâ›h(OçòtaJÆšB‹D!¼£Á_Òèý^W$ÎèñÄo»ï·,ž¦IXsÀÛHûá‚wâßD×ÙnP–e ~9ÇÀx û)ðØŠy’ _Q~³æÅðóB  '§¾ô—ZD.ߥƃøø„6D–¬¨4µ+Æ~P³ƒ…ù)m„í$Ïå¬×Œëp!ê)²qùyqࣗî"1w5 è‚ÀƒDˆ‚ë8)·>yÆ0œÐYŦ!qXñ±Šžn§-V˜Ô»EÙõÐëË+®<ï®ñ˯¹ŽÖŠàáůî4QAc¿_Jw,F“¢À—Ô~na¼b݇F–2×Çì3Ýu ä¸ïI@:-W*®ÝWQFï¤ñ«¬%KÔµ<ƒ¼^.,¹îÇßüÿÈŽj$¯U¤2´_~˾‹ÿ½$È1}}B@Þ*dÂðyFÐücüäëë‰.XóµÐª½Ýâ'© ‡€X[Û¼?ˆÎ<Ñ}šþêÂ;,0+6*¥»M!ìõ×€Zb8[»Xníö8_øK(EþͲä/!µ1çoè>bÿuîIºyb[ ±Ð4Êøt˜®Cij ëauʳ`„yÆ#½ŽDÙɣО3Ðü˜W •±&¹´* MXïK¦Ò)Û¶^EùtvQä‡w ” ÅMGæ .ªf_îL-•;;(r]0iHP“D¹iR¯KùÉtP«ULJfªÒ]°»g‹×¨Éur—‰Dgˆ _#øYYËÒ'¡ÀÊœu?ìNtÓÖ"mÊâ®G5º`xHx:Â$ËÄJ·‘½Z%1š>׈|C‹pÜÛÅ ”:ØZGC†Hí«#H{þ: ʤœÄ€¿–ÅŽÕ Àú)£l"1×’rYͪÇè*7ÒÍCEWw)UÞz„îùïfJÈ\TóIS¸¾ÎÀ#ÃãéB‚suŠDO%¹Q¾Ÿ)ü}lbv ú/ÐCÇ‘’×-.ù*Ñ,^ôºZ‚OMŒö™ÆX/]'ø`YñK2µÇvÀŸÄô[ÿÿÐCLÕ_¤öA«ØZ‘éö ­F®6æŸå]É›lHúk£ßSĺ3( Ô€fjõwí:« ¤T·â(0ƒõ"gÿ-JsŸ&óg"â9Á™uªÂ _.̘±âWr3v’9ŒŸÐ3p†¼”YYä߃;=)ºåê×µVuÓ%&n·äè+œ Aò Ë†ó$|daˆE¥.Õ% 8Ï/æ^\¬n:µGpAZšúFìÛ]&s:ùåáCÚ ´,ëMMY ´»<ëq›PR­CY_ÀÄ£¶ø¥Õ`2Ž5ú¥„ÑQZdA]±Iû¡œù%o f÷¬´HÅm/Ì}sqÑü™ónÏéG×yåf®Â,0ɹœÙ¹*[îë̀ϑöTZºú†¢Íý¼Ü´DìŠ}Cæñnb— ‡"Ý0lÄÿµ»ÌXÞÿ B¤bˆu"õ{Ë¡WÐø5±õžÕºÐoÐ ¡—§6zMÕ•M¿áaFºÉr0¯•À“žÇÀ˜ Þâß*¼ù'Öy÷Ëx-qôÕèa©z H¯ŒJ—Ј¹£Yº„Ú =6¶D‹‰g4úc˜ãM=BÜÖtëôÐ_˜EËUTO;oºýtVŠâxY—à“‡D—œC@r›ŸÍ,^ÿ o¬½æÛžïç“hé‹›‡Ÿø•­›£@¡l•ž¤ùS úê š.Å›¿"a«ëÄZ4d$”ðp#‹óFª§]õõB^9Ï\Tž¾SgàÝ$Oãǂ¥PhO:–„EB âꞀ©¸ìCá´|J¶œDq¯þ9Ÿ ‚vh7gí$kÞµà½ãÓŒ q±&ù ðŸ~‹ {'ÛwG¸Ë!b*ä£*çqðR!TK8¿ÐÕLæ“À-Û6êÀ//»òòÀaC÷ĺûR3Ug@‘šr¬ëü¾½ØD÷Nå7”´%H—÷ä×ÐÄJg…PùdµGtªÝòW9W-5}f’<2ö0E œ„Ým²LV¯[Íœ|ÿ“á­±20Ñu9bý_’.äðtû#†ì= 㛑÷Y`nÄÌy¨m€÷Åy¾F (ì6w‘#-ÂËÀ¿óðä›óÅvç­‡ƒ!~]º=|AظÀôž|ßùôÿÏ$ègCS5èi+q‰rs߽δ_¯^RЖÖ`P¡·#›†pÚXðÙïŸÂ'°FþãGë-ï×ÃPWydø©Ížì^Cvv0ûÙ÷¾Z»„¶7ŽYFüž×&]?ÛCuásqL”7öì}ÓéûÎx'“.¬ú›¹Ù;GJ²ôʬ…áÝŠ¶‡µèû“yœÇ&‚€ª³U\DeõGn4û+²Û»³™˜ºmÐ>ËÚ‡ÙøÖ¹ôQ=[ ¼xÞ«7x‘õyæ½w×`h†>ßÙùúh àö¯ÐªXÄ|ÙÌTT;hñùXg9ͳgEX 5[E©ê2èz'ÁƒYC0©³ ËLw­œà!ÜX)?–Ò­¾>ÎŒŒ9lD&ò%ÛvòtÒѳõEñŒ® cvv½ Â†bcFŸ¼J réb¼ElKñpÊ>›w¼Ž¬±ñ­¿4ýÜ×תyg5ª}0&%¿µøàŠLïñ£97P`X1u× úîAq²jy§ÝŸÇ o´í`³wí2ºÜ}bù÷4·qª´-ä’^€Û(øI 2ˆSŒÜĉ1¸tc0Sè¢FwcÑ‹_ûÒnz±J³r7|&X­²ån—0ç£fnᶸ߰/5ß®¼* íÁ…w7 +Ô(|H„4ôžçIŽÍÖ¼¼W4ú1ª‹€”kñ»{w“[3‰^RCI­¬a¤¹“Çèüâ×êÈ‹@áçâ´ý©¤Yöž{Ù' Þó:j †®SµŽ¥j¼ª:€a­sg= ²TN °†?eÇ£Ó Ã9åÌû‡ZgÞg`R5>3:ÒÌáøÈ_!îÇEbFÓγv11}u ;S¥{œE_cæœ'éû³á–.Û·¬Ü¹IÑ#ò2ÄúöOOT·öÿÛ6 <ç‚óï],úPn Lüátš‚‰œ©QL´ÇöF ‰þ^ñe&µÔˆíÓÝŃœ‰|ÈÕª>ä#C ¥]ü6üDïÁiÀ¦^4÷‚ÏV„‘bw`ö!«† ÇâÏ.¢Άgd Õ“Õ­Ÿþ”cBS¨§Þž(¾žØ  DQÓ¹e_®÷½ýžžô$-çSêËÈÿœ‚fÌļq¨GbÒžéƒÒ2i-Z@Û (xúvq2Ëû ´%÷´=‡b`³Næ¥×/•13æöÚk8· ºV¹þûéªøÔõÚO-·U€|W™ I@,’|[BylæÉfg °M°Ö'«“EkåãYgr"Wpãó˜a’™FhÑJz¿Quç±Fi¦¬Èß½F‘,¯³ÒHaüôà–ni~¬e‰¨¡â‹:Lš­‡)ŽŠqÅŠs;nÃ#†e,n`Ê Û|ŒìN,¥°¿ò—*W 8PÝÕÓ™“PTËïfo(…3…§Ð±A”Âw¯ÜØk!i°ú7«ÅëA¤n¬LÚ(ª‚…Ÿ­ý@:þ®–¦‚Ó+¶šÀô3a^‚p¤;’yë,Z]Ä×h¶®üÔ¾„ýÝ“©¦4LÖ~$Ïy#¨ÆAðû€á!ßj:ª «4 ¥WŠn W‚ßOlº5&†#ÀÁM´<]Ç€Ù6}OoY’€ &ÁhÐ;Åì‹o]l)¹€e^Õж ,ŸæÆQðOz2ˆ4Ö‰¬nnÂJ×Ö$jž)"ßéI °Â)vvœé?nÊÉ ôLÜæHËŠ™‹\(¢/,æÏ{Ò@¿Be<ŒæGÁ´"`Ø…Fú•µo¯B,¤¬Ð—ñ݉CßU­041Ï$(l7t¨nQâžO£íœDÙ^¢G0ËŠoŽ4@£s ¶nÄ[ž¤ö3£kL“Ö#7Šƒø©™^’ÓR¦Ù©¯I,µ[4ü³Ú}yÕ`IðBø£S.`Ü|§è¼ö¯ ëEà·Â“q˜ƒÕ(Àâøÿò#똭¹¡I‘˜¹dÆ;''±çÜGÆÙšµ¾S}Õø.Áñ½NSô%0ñ9V4DìæÈÑúßÇ»MÓ•…Kö±I–;Gõ0ŸØÆÁjÈb6³À{”®ÝŠMëV…O?xX¸o"J&ò'ᜓÿì¹õ(hHKp½Z}]í ½'d¨;þ¢žqÐhJÂzªdNLÓ­)õÏ5œT4“õ´·l ã  øÐsqmòµ6Ý;"M?ˆ×Âá× µm‚zýð}¯(«{&ž’ œ ˆŸ.0â¼ë«‹o¨×ªwÅ–fÎje[ag7çñ°ç‡‡¼;SÚ óæDÍ£Áè.в' 3&öƶ@ƒüO?æËñàãíÔMq&ýhTHjŸ.¢î³Ä[÷^ t¾ZâŒ{ )äß¼²÷wÕž_†Õ”¯à$ı‚“=+üÃNg#u-?úÆ€‰)'8q´ey##ൠ£ aÃŒ]Ïl¢¨(e)\vôÍ‘úá¢\=O³Ð ù4„”Žy|@Kë‚Æ­·‰4ôÆÿµ¸U8óeæ¦íl¬¯ä:©CT˜<i´.Ô÷tˆ÷4çöŸ"—*Éo#†Ñuàô5T5ô70 t_L9Nq²=â3WnÃrÿ\#´Ò§\‹bצ]•Íþ:»”ÔÃ_È G”+ÕÖ ŒiKçJÙõàá¼áŽþ>Dk®wÆJoQiÙ“pv5¼2±™’À:¸où#ðeªGÆRæK¢4JØ7^Ž4?H‰¯Š5=ÁnÃÛ¨ló©SƒÁ[LtÐû㮺z¬:…M"­nˆ8@®,›TE²˜Sä!ùžý„Ò>ŠPk—å˜0+B¢Ù‚ªÆ§ëìKW[·w ‡)ÞM©zŒ¼Ø“Ú©Þ*ãƒÎ6ØAÐ Ó J Øs^øéu`Ðh¥|í S·+•©öàF 'Où¬øïåðú…ZÈÕrž’q&jÔ”\ɽp ö0Ÿ{p@°žj‹\vÏJõÔhOR‰ù*´È?\‚ƒ%«¢õ:³7`ý®êªæIf Håí7çñ†1fäŠÙ±PÄH'l6øN†¸.é5lä3tJSú~Næ~“õ. ÇÙ{AM¶øCô¢Aw›°bkáð‘¯29@GÎRëäâëzýyŽ7ÙgŠøøm]9ký ¾Å÷'Y»{ÌD€ÜQ;ý9Çi¥Ï5†i(ïoâfÏkðò°ö#áÛÚÈÐרF{‘w‡Å勱¡Bi5P7·å†1€d=éþ«›^G'·×½+¾ ÂÂÓ£š_¬)Ri+,7ßë…÷õSÁá»÷ƒ4@»á¹¾©i1׎C|ð,òn¿™Lkuò¹ Þ¹©8⸧#ÓkPG·aÙȺ#?A7²q›tüŸ:s/×€ ]ÂlÂé´èÇ¡³ â•”‘~;GEÆ@bqT ÷@È€«*2LƒgÞ^¸@ɲûÙËÏÐC‡§eߊøÑªžÌi„ €[h¾šûdŠÂŒÅXeÓ¡±£‰‚Sä§ðsy¶¤Ýa+ À|ˆÆÀʼnÁù4îÐÑ)¸îO¹ªÇ³2ºú{v>î•Ö¢ÚW‚ðÜâ™…ý•À=ÔTÙ¶Éàdàåd°pÿ¤k9:fœú`ñ÷}ž§2r(dhйê!X¬¡ãƒÒ÷a·aLœXœ›Ò5¥rd׃N‹¦ïégº9éê$³·ÜiÎê7ÿo9ë&…uwcVù£å×ÿäA43Pùf®9éîihÍamðÆ‚á7ø{M)Ëv‘?ïéÇЮšWûñø×‡òξ}y`Gˆ¿1›WÜÂ~¾qQ(=憕ߤÆèóÁéE¯EÌ\ûšx T<Œœ ˜U´Ý!•pb–§¾3ÛËôÄæ'XIcͪefd‰/} wÕ9œ!¿Äà9× ž¾2$*«rutw¥U÷näºÈÀYlÌ8p3‚¨|ûfnXÛ¥ò!Í\•l—!w>_QÃ/·Œ€Êë%½Xz`༫á€ÂíÄÊŸ=%47¹3Ÿ޳P(2 4T”·÷ Ž ,!o4*dø·Xe\â¼p?R(NûÛ@°ê2„à(³ñçg/ìˆÂo,zr:Öš¶m‡F[)œÓILˆ sú]÷ÙBÐ.KrË\•ÐúTx;v9Üáà_É¥ÂB: ©*6YvDÑh{‚ör{ pMŸ ô@ å_;Ý—½êÃÊý‚—är1ÿxÍuºÿ³n_‹ZÐ0O@ì!nì»íW‹’9N\„1ù»lDÉXþ¡‘ì'¹¹€Xý}_B:[Ïbòë¼$­Ó¹LN +ûŒ—6Eã™lu›¤·dÓߎ¾æç¯‹3­Q…f[Rå6Èw&íO}CFêÕV€Wì™`,Vcmðˆ|\·(»Œ¤”¾ýæÅm({ï¬\xßAoˆFE'’Ãóívâ%àPSðŒXàtº“(¢"µÛ̯´±£yDm?”žÀF…†hÿš‡°¨qâGÜg㯳⓳EZnvG^Zƒïj}^x@kkʙ˹¨P Çš^|Ä%<^´—ùM­÷¿8:ˆjBòbФ‹R½<]Y'tõÀ¶w’¡hÆüpån\~LÎ ¯#Œ+i-Ûù¡µÚ°ÞÂéiæZ»a6¦=ŸêÁæ«(„'Ù?ÿ«EÁôªVW\öEº­ð¶]½j9&â§®Ö3#‚MQ¡ª†ôuâJºt7yö4bTÕÇÔ5ÏFŒ.¯sÕ(Ébp6ºZu ³·2ôzcQT!úÊ™oSCoÓòã29ž5;‚an¥}fÑ U\?J“ÚL׊›Pk™æýØ,Öß’ÉZ»ôx£±º Y|[ሾº4·Ú 6—Œ-Ÿ }pC`ÿÖ¶òªbÖ2ô*ód gÄÑ¿J>þjÛ½4¬/«œR BÕkc•>šx2våæºWf½ Éñ:ãAvNÁß(„ o¨ýô­® Šª¦iv8;öêý/u-žñD®R› ¬Ÿ¢ÚJ ÓÝ,Ê wÑ kq-JÖ¾ÐÕ..F\ǸþcÊ  †çÚãÇ©ÛÜŸ³×G·’Xóè™5ïé½"‡rò 9Š= ëƒKaªÃÈ[ÆC®4tˆCúÀö‘-éN´Žh Ä›\sÍž’y‡ÈÂÖô€ßá¸Bæ¥MY i’8ypZñ= ´jºL±æ ÜÊÛÐ¾š®˜Ž´ýy½k mÏý§{Ð’¢ø©W‹ŠÊ%MÜÞCé'Øß”:{ÿq Ö츎xK& ÛÒïúèö¨ÿwF²=ØÓÅ$]‹72òcKhã.È7ê­*8«7W&_O¬„ì­ýBÏ›{C¢pc73ÿÂ3ÜP ¨`£ÇMY¿T|ó³QløðŠ ‚bÕ}ýŽ8Q–fÓ„œDÂr\û»ÆõWeð78à)ôüë- b}¿‚þÖ÷©¶$ G82µü“Åìš›N p²•-òÀÑzà¤Ì3ñž‘Õ^" Íml}T¯“GiÓ–ÉJÅšoÊJ?(¼sæ®áÕÕ±Œ'±^ÒLOn"ðä(–fw$}¡´õ;ÒYqqD)® 8x`õ@2§K«6dÌœ_hÐÌbrÅI)þöËüGånùoùæNû.sék¯€¨žubhu®ÓuôúЗ/ ßYê©Yô'ãÁ»Ø`›ÖSÀdéöþÛ¡²Ú†»f(–<[ß³Î}é`ÅÌrXOçv€¨ ‘Im?}\â“ÕdŠpŸ%üM9€9jL¨eÁšàºÅåuùw¥]±|Är1/­wcKž;×Mº§§*)«òvÂÊØ<Æ6Lpʧ\½Âk{TVìШü½ uØ:¹÷yw ~p’QÏ$8÷¿ˆÏÎ?5†¢í­çc'=h#ù<ú½¨F`¶[wD­Äëɱo+h*«¸ïJÏø‘C1Š„Vt†T z¿ëe€~Q˜Ø’TÆØˆ¤ÙÙ…föv¹øŠŒ×¿WB¿¼eCœÇ«ÀJL- D×íW™¯ ö|1]ë!Ó¸!ªü/ c­Á…d~EŸš ôµüï· 5n`éƒÝ"1)áËžwvòZCyñÓf¼›‰ÎÎBñBæ HOq?ÇLtðì•}Ŭvo|¨H4›p"ƒ£q×68k~Z‡ÐºíA/Ö±3 X ‡RÅ­n¬oíÞ  õú¢mø^hz\ªm÷ësÕ32Úѱݦ?€ë®<7Ñõz¾̲k¦n|ß‚(ÐB_p5_ÇNÓF깸ÆáÉ?„‚c5 ?¯ƒÂÁ£¼fâ^ùÅÒ^w]y=(‹×‹ "ítäÊ€¿Fƒëhžö"ÑÒÒtÈ®ÙïM9Ø_ò¼Ž7ãÒúÓßµ e[ÑÆ¶—н10ô÷xëmÛ%þ ‚ÓRéÍš°:.Д:Bi­ºˆ°WsK“”×ÑÁ¥'SÐb MQd,µ:l'iÞÁÈ_ÈÀŒµû¹#M¨š™ 3Y` ö ÿ6’>QƒµTÌ ‹¯¤9³ÙË‚£w¼{vo&ëœd¼ýš5a1W»È‘€ºX¿ìÇj±e½¡LÕ›5B세Úi>è` ƒûÇí?Cíh¹t@k•ƒ•èù®°Èuñ¨^B}Ö$‹\!²é@¾ ä³çDz» ÒÍÂR+@o©ÏƒÙôi ¬òHN‹&ÔuľɪuŠédЖàwF) SuËžl]‰Äh$à¶¢liD¤ûÊí Å ¾ãÎÓjn»Ÿx*[­qÇ\bÔvš£ŠŒ•i§Ö±T¯1¥ÖÐx½¶èÈ«õ9Ð†ÕøBm—i2W‡¿Zst)’àƒvÿS…nLñ§é üâiœ+3\ ü]¾NÓVAþ‘¹Þë}àp‰qÛ;ðé÷nY¢ó´ûåÜ[mA8;¯qö²ÉOµY @o"›_N¥€[/ñ ‡nÕ(4ìkÞšd³áuçüí®p9½i€ÚyáÉοòkœEïBìÚÃâ†Â¦ªÆ¢´h gIÈLÔø¥™Ý¶ ïÂG’˜ÇSˆpÓl󡤦ü¡mîÐ rIõš[iĵ ÙÁ½Ü“ß  eW¤'É¡àÍZÅcò‹êâÜõ‰saÔþ¯UDS`E\X™ÌÆÖÕz[ò©b+WÈ~ì}cÈâvj]N}ÜSÇ‚£Èõ“[F{¼Fð½T•ñ”aáZäÒ þT;:)„E.ͪîow”.ÔXÿ [ñÙWyü VÙ—[4Ñ»ý¦,#•³Þ–¦£G=ëm,'…ù‘’jüu£¬ìH$$AuÒp+ú©I6ÓerªÅ¡It£²w¸Ï[· ÇMtê§&™ ê3ñ€FXŒÛæ¯äl‚ÝK*ÎÞÊóÖ^ApI^7R,çdLhoAÖ‚À•²ÃìœÛpi&Œ×º ìO×±ÊüÎ&ç¥t®–Ç oCH¥|óz؉& K\Ä&Š@ÓÿˆÍÀ°ý¾ÌvÓƒ/®- Ñ@¹)ˆro>\Ö-Ýl@§á&X>5(­gÑ‹ž=v² ¯•Ü+ˆã°ŒF1-±´Ž yNȳès¹0Ü%Æ.M7ùÃå\ú›òE¢¿7K?PœÛ¸/AëWr¶ÅI«¤ñÀ&zËx8b ãòœ¨ÙËn³7‘*vyo-x0³´¾vµiWýO¬ÖÂ~t—ÅC¾DkNèa.)J’Ú EÀ»“9§0À` ûßGoÙ²èiPãÊüGB#_SúT¬1x/º‚„d²g¼@jß™úKÿ“wâ´¨¿lKWEÉpN©=¶ã=Á¤ú]ՂϬt÷ƒ]‘U¨¢þy2°Ç_à Ö ÿ¯éb„}W+–¦ÕeÅíÂÍõºJÇÙÛ”Ô ÃȹuÄ&ôoöwÔ mss•Aì.T6áøo5DUùp~¥ :AB[|¯'+Éa¿™îŠ6×Ù«ÐÑ h7S/W4ã6sì¯Lî¢fàaªâŽûƒ Ò˜ž>Nа¼v0·—L ždËdt8×#^;ùWú–¯>v@(@†zaFŽì-ïU’m›Õ9{ËÕK­ï®{¯ ½ëÿ•À8†r.bíŒÃcZr&õEé¾üΙ>ðUaã¶w–sÛÛ2!ÈÂl(qöÉ9þp¦_ý7‡\jh‘¹(äðÊ>p.Ìgæ‚iµe(…©”ηkªfLNü¹åË |]G)"oßNÅ4ajXCUW¯¢½ŠiË ˜t«>¯%¤-Åà$ü, ‹pšÜû{ÐÅál:¯šIÎ)¼xÛštøÓ«`{¼×]ŸìÚÉ­7Š-°†¦÷Ⱥ¨Õ!/R ²cÄ·¨û&{Ðcœªï~‘DÀÃïñqéîéήd…\oÚ0‡~42'ë0oâ‚>Uc÷¸k„ú ©|>D~V0ÿž²61²Å½}Ó£»lx•æë±†GXsm‰ø[P–! Ì#Ii¬²’ϦîvŠ$uo2×I²´…’½uã“‹íN*XE;@r}!€T”é©}­åì‚´è°l„ä¤ß6Ú‡;2;&­u0c§ÿ^!˜(ýœ×e¹ªË^ëPhE:&K0ä‡2S=äxä…×Vì±ÊnËPîÎÓì¹ÃQ¡+¡µNbû‡·ëKi|œ©Êý¾þ ¯~a–ôXy€½ùˆÃ>étqEîõÚ+“>5¶RE<¯“nÖä¼ÞaÉ5w˜¼méþÒôÆÜ¶J=£@òPƒ’÷?ôIhÞÃ.×|GH­¼«_ÆÀ„ÐFÈêÔûÿ  €ä÷ÓYùôÐr¸À‰^;ùlL©) ~¹ ;½ýžŠiËŸv‹ ø< B(ôÇt %næZ@÷ŠðÁ‘°æ¸@ô BÊ Ú£ -q54pëå¥âÿüë{ÿWàÑ¡c-öÁgÐÏwVÝ@àgéá›Ãg9Æ™S’×}HÏëà$qÚ2~3eX ­eºÙ¢6«£…÷M+ü˜öJÁFbæµÇ…6?/‘­ÅãlɱWS¦ Ã0Ý|×1g¬bDËIá#TF¤¶éP ã‚}Ô ]°º#‡J-!³¥M¸©0àç¯X¨Nêå?'›O‚…ˆnÍÉMX% ´ ðþ2Bæw»ÈæY3dz<ƒâ¤kXùs;SyU<ònç)ÂþxË›Ú!ᕯoháµE!-ÁkùùðÜèv%æET'çeü@ñ³µEïFÔåëo {õèzñŒ‡¢ ãÞÑÂÄ`ÕØù» ’fÌ=/â&ÅîˆÍ½HÑp)´êÏÿm&Jþ.?ä0¬Š#ƒz¨Á¨&Ö|¾ÓésŒ—GÁ¢¾{û[ÿ’Z$±E`ÓŠW<ÃHªüÛéû Ó—¨ÑM¿gΊL%%qk5+¨Í^UýT"9`öœ|.ºq?BJŠ2!× °çÛãòt"P‘ૉחµ]|J"ç!A‡CfÂg½óiO 1õÉ?üSùõªDÒ|â Á`’wú¾Ýfæ(äåò™3×Á•ÖadØÚžÐÃûÇ!q™å-£T.ƒªX¤öš»ày÷ZïWw…»U³Ñà‡}WÆ_Ý5hîùŰNí,Soò ²[@€Â·]I'¯¬’oR¡ÛÄG¿4-…r£®+Òg´teú¯}0ž3kÄ.ÍÕÃ$“¨ßk0(£GÒá>]4€n<éâ±ûLô‘5 ‚èzD?v1¾‚û$±:þ ƒÌÛèŠ^È¥v¼an£LÀµ.,–­Ñóù5„ÁB†_Ë`ÖÚÅ–ïÎÁf„›öÿÖ£ðø§Ú7ØAݰíi´x2 +ü^©‹ S)P„ˆåw5„ìjÑc¸ß@5¸`ú]e‰mjþj}«xÊk@Qª8¾†Rœÿ Š?®\ V˜Û5{YQHœA~ÙDÈú‚¯’“òŒ…MÌ‚ÑøÚ×Icv¶äù{_°Åï0‚@#e-¤"²~« 4ÚU£dUt§ìk¾÷« ò%W…¯ ç¾ »ÃQž÷ßåäó‘96OA…„ó„ô¢‹¬Þ)qšõ|×îï©jKþý~7Ч¸ûH³ã®SQÊÖªµ‰‹¹‘CVe)?5Š ø6‡>6§Y—Z‚&÷ÔGmŠôh«CÙq b= hRZ‡té|zÍÜlÒ^™ˆ?Ì<è_í¸ø†ªëA‘J)Фmïþ‰6©øv»NWÐÌZ5–òÿ§Œòëü›?4˜Çtæ}F[UÃóf­a¼„+úò I%aâþà êô¾Î¾ ×»c)öP4+Õ¶väF-Õm—JŸ!Ú 8T ¸çQ“XIwH!8þ5šÇ,]¾®w’AZ0È?Ç(Ð$l .M,™2£’I÷Hs€”ÕÎIKjêËœ$GjHÎâ"ê$ú¢ÖÆã6" yð1yXKöVͱ!=âs=Y\=Jd6'm¨’óióϵeOh´:3c¦!àê*ÃC‚cvÚ¥3jnu‘ð—={ÐÏë™ï—§œÆR²Mö¾ŠÄ+·’‘¹M)¯κ-+Å€”œ*‡¿î¥yˆ'8%}F0¬"Aež(’Ù/Uœd de}Ã× b…@oaÎ…OuÃÚs½:„÷°¨ålÕ´åÎt¤;B^¢Þ䯂Då¡ý2˜zÛŽl¼“@%Ñ¡êr•½ó>C;”y/¦ÿªÈp„m¡ }O,†y¥á燆,;²X‚þV4¹“Hê“Ð='3¬¹Ò~O†‚Ûèë€ß(dWƒ” 7ü[ãæù3i#tgÁQ¦Ñ °¶þy/8ðÒЧòÛ~֙㭿ýÄP‹KNtŸ¡úL!.à Ôb+ƒxãýúˆXQ£ÛÕ}Ðâ§ÅUL;ã—òáºÈÄå ÈI€ h=PAhI«zÕ~ SÁ ã†r‡F¶·!ÉdüP®ý¨Yi¿!þ½|þù>c 6JT"‰ÿh’ª+>X;ÞõN¹=ŸÖ½Vͦ¬³Ÿ⃺T?ÄÄÉrÆy©•P>ÕÕv]áÄùR÷¹AÿÜùUÖ©õ/w- v#"¬’úu „º–Ôw<2yþ´îs¸NQ~>†oÊŒ³«dƒ+·ÝmêKV4©<ìý}Ô H]sÀëÞTðH<ö—¬ìÀ™éÜ )×Ê]FþÙ*oD0{ø;å±Yí鱘‚[T¤uwT÷ 7¨•5ê©·¼¡V²9¿n(7¼ÄÕ]}IÁ1NüA§aUÿG~·¸„? […–ª :»ê°´ÀÚ{˜Kíco2ÊŸ‡è;Ä+*š D\/~±¦Î‰²8Ѧ9Ì( êZ&œ»D-•ÿ¶CÚ:âkí{ ÈØÙcj2ºièGæªZ.ø¡¤‹Ï9M®×¢0ãÿ©Uð‹„"úl€Í¥eãò’$…·ú‚»§Oë.í2(p#Þ6Ê.$IÙM>¹~òra|®¦žH5Äæòš­iš»tKÂ,æk(~²”“&À¾ßÀ“M³¹U¬ðáï¤Äáúæ_ø*‡VŠO“lzMahâ]z¸49|/·Þˆ\å;ÍgèŠL‚ ÐqÔê9“`rŸÝÙò‚ÇßÚbxéOÞ¢nÆÕÞ#‚FN¶Å `)³G)Åõœóë M6w1»(§}¢Ý‚ðèn&.c¤ îÝsøû=»)‘BÐu›2¶È*€êÞ¬)0 'ä0\y†‡Sí­)2®-ùµ´6:Ø ðåÃDlæ-+²Ä3gçk &„îûY–¡³¸pé Š¼VˆÓ’±óßÞ4‚VO¦nkœrJ^ëR¿·.»±—ªry,T)]í'ŒÓï"\ N—×.îM5@ zåÚ°²YC¬_;Î׆2ÔQzíRJNSŒ´‰.S}b4"ð°šç“G.0æ=¶>Ú¬àÓ5ýn[ÚÞ¨(C®cÔ|Tc¦I£°tSã<÷ì4Ø1‚£>ÇZL%Èî pG?£Y<õ¨Z†GøJ>üf20k/¸PøHÁ3'ê¨Qù[‹’ÿœ)¯êl¤Êp¼mÕê†Nà¢à5 ëJã¨2Th݈†“°wyLÔe ¼qò™p#+•²1âÚ² (ž¢>ÙZaí'-©ùå´4í"Å@€è‚æcÖBT£çï$‚tS>4ýö,²Ë+%.„³9k!A”ç¦æ)¥<Ôº MËaº½Õ@¸òÕ·PX‡)`ù®|Fò€äûr…_„C bÅÆ ¥è*PU;ùf_í8)}²Œs]òc¸"¸Ôd~ì{ZæòõÒTÍ„óŽV' Ρ~g¾¥ëÉS©Õ ºjô¢¦­öy©^ŠŽ“$…ѲG ó™ŒëíÁÉÀGwŒãOpÖ2pµ—àcÉŸk2Ò²cs‰+5õóÚÑ­}«¶ ˆí й½ 3Aþ\A0AùÝYtêr˜!aì…eËà—ÑŒâátJaù6êFÑØ\¼âº¸ÕÊÐ €7‡iÝ/#aÓp{¡1ÿd3EL<ŸA#Å~BéüÁ”5(@ìÍŽ 3WÐëŒÚN†ª-|{ÆY?lÛÓW .ê>xc÷ø?÷÷Ò1#ÛxW’?ΡÏ ØRbOê2íoŠ Á¡«%öCsù>ÅçLÂêó©Ê±Yt-4¡å4Ó5åvƒKÇ.Š7^n¼Eo¬:”^¦"ßùŠˆ@I“¤xÿõ1U(xŸVw¿DEÆ(ŠÿbÊœ-\§¿„yèb5äð®ÿWùÎ8:f4}ÿK•³+¶¯5RêÕÚÛ„+šrþ9µÈ¯Z~fxÓn*F{q!óËa3õ- d5zn*Í—ë\ëÎÁ¦³—|åcßi]X|ý–§iTvdžgš¯È«iÂæ`Óô*a¦¨æ})ægÚþCj}‰8¾ø€ûâ0ÚKÃÈ@Ü–Dzaið  îÓüîÁ!öË£@ÌÕôôã9Œ„¦Ñ°r™¹û køûâƒ/cÙ˜µTÙ’n„JÃahJÕ)Z1ISYîõ4ŠAy +†…l¨È× þ‰M]øõËú%WH3xø§Ã«Çr~šœ¾ŸmÉŽ°êžX™â°À“&^ÒQâhœH`)xrr ×ÛYæM€Ô h¼qøNñ0¸ÅÈ9<dw×ásö²9¸<ÕŠC¸ÈãÙyGÒ¢~ßGÖ@(p¡¼][µÐ—Á‹(Áú)£ 5/šŹÝâf¡L'jäÔ q’e\ñˆëWN¹¸’gM›Æ%Ú/t¸gÿ 2•áþ¡t»„xe„?íi5p©F&×ú–ƒ*(ßrÇÇŒËí^wÎvº‘ô"Ô0rà ۅ–Û°5uêI^;øRäØ(9,x^1×ýbZV¹|«ÅDîܯÑú˜'·±AÇÐ䪡)hYí/# zè—20þÓëHoÝ6q"¹™œï;_ÈÆ¥N†½¶Ê!娒©*'ý1b'(‡ûaàCréœHiãØl6Ç£ˆ7/%òæ~Œ'»ŠLë> œ‰æµ¾[dV@[H‚c(}Ç, ËÙüÐEÜ‘×ýïɧ´×#=æ;NHHp‚|òøÐ‹oIHíšlÊc®Üä[–laàhú}[Ê›Í=‘’ßá„PÚ”¦Œs$žÓ“¨ŽÿÙF Œhq˜¬ò,Qg4Ôƒ Ö{¹ïóKÞ¥4ÀÇfiŽäUO|›s{&I?/P¨Üñw$°ðrÿކE®Ð6±€¨%7½Ê1ÂC„ª‡ÞUƒKRå´1š¥Ó¢9Qž¦N…÷m|»ÅÑB:—\ ‡Z33Ðüþ!Î3·´·’(yFfý7‘@ ¯`s·Ìh ñ?<£Û‡ òvOIçc˜ð2·éÅaW % ³ ?1Žüb´±à×ìžcŸLi7ê禟šé¯lÏT2;_[„Ó6E{Të oÂönPÎ"š¬Þ¨'TÞ‡JXó2O:Ô§ï ‘ÆÕP;M“"*êH±ö#©kàúdÄÒv»(›üÊV0,¦ÛE‚ÿ*B•Édž÷èâû«¹æ¢x¥â­Íanäbäþ·3²¨ôïŒÃÀ´[6F§Ïï7_ÈÞ\ãdç 8ÑM/}[Ê\(Ð'¯ø0ë4.ïßn³Ò(aË„8Xçz°.à2P­.HKaºdN= ÚÁ†eÜ0 ±4¥>Ó0© Nñ@‰À_x‘­Aòb¿Þ8 1ÌvO5”¬*Üb¶œ¥A`h—”¤/òößëîùWhCçmu;pn]…¶ì]½œAœr“i³ª&·¦§fa£ò÷%•)eIB+?BGÞÇÂTDg¾ac2ó̆{Ó€àuÒ©¨J:þžÓy/ô&ü­k”sŽqÏ>A¯dÿc¿Sì¢ú±4M‡)<b HŠuît}´²<ÑSø&Z7µ„úC(ûp+j;[Š+?À§Luàð¼q5"¸%œ)‘ù:¬u¬{Xb€šß¯‰@¾và Yý '³ÆUê8†qwR…¡‘¥ÕìýmGÜs}.ú,^¯ƒ&Ǥ °BÃ+—+¢·Ù‘=U„/vÝBAҟ뢠y¥®[s6OÀÖm#ÿaüI ˆúàøäéí—1_‘[t'æú ïAd¼·Õõ¡ÈnÐN“\ƒÆê¾¼0´˜a}ôê¼d@G´-‰SãKjŒHå$¾H”éŠÏ }2æp„æ!#D¿O©±%èò•ÿC™îVK:ì_ŠiÇ. r1‚çc ´ü K‹ü³2e8(“¾<ô1ò³; ¼›"`É[,pPбxÔҨϓò—¥¹èÕ`3üÖ ¯Ø}ŽáÎßmó°+\£#´CÖPásÉÍîk«~ ŽÃ}K,kb¬øF°3<Ìלâ¾sˆí³öq·¶ùösUøÒ0‡~-I$ñÆ™¶T"aƒVEÝ1ÄQÑ ò£¹…Ú G25Õlö }=Ω‡°º`Bär赕¯ˆ–à'bÆnÏ1#ZÉ¢—‹º.÷ ÷Ú3 Îç˜+f}WôÃÍã2œN£¼{=£5dmJ³Åï„°3ï»›?Ž r,.¹cØ™h˜ƒ0$j$«édfáY«u:8Ì-!xÉUc0w.óÇ¡ H)G}E’ƒzM ®bÛS9y‰AxåÅÞ:—ªTO·F†PåiÒ“*die\ N!>k’qà¿ù·¡ZÛ¿Å-‡” >ï*­fó‘h¢.aØ-ҧ¿Íò¬)ÞFïXXò´ÈPLÆëqý„ê![•3¹fLÙ*G³}2iŽ ¬èmië/^7Oj ¬2’ÙóÜ^\ÝlÀd-´H¸Õæ;Ø©å݇ØÉT‰!ü¥ý³)Ø´NÌôöŒýÏ:FÕc¥ÜBÖ;mœÐˆSˆÃ ¥»Oî.!s0ZÀì÷ë•v_ÕãÉ•W›µÓH˜ú>ÍÅå@ípÇ@ZdÉð³iUÉ3”KƒbXwòVƒ‰ýFSÓsfB%ag…¥l"ðQÞ$A¤TiÒ¨¨•õQ2‡Îìmº¶Ÿ>‚WàŒÌpƒí¯pl bå§3~ùJ‹(ݽ†>ÔÛ³R¡ë;é’0waq8H¥Íu=C—ÎRß°hϨ­©[ÍK‡ÆÈéïÜM´Ùí_ªñÇÑ>º•HDcJ—˜¦÷îZ“âËsºÜL ›ícXކþÁc që­sŠäI€G³ÂÉF+«T cþHÍs˜¿Ù]ºwaàÑ8é¿cDkÒ:?¯P÷Û€‰ñÌñgƒón›/¯°"¥É¥öëÆFù»3c$ 7îÆû]þ‰c<ö5×I*êÒ]þÍÛ®Ô;ô´½NÅ‚ªNªk•±Ìžù6«’$™»w(ÙÄj ÷qëqWÔ1<úip¦º«£üE²¦Yå7QøAü¹âcÚk+å¦9¨¢ÈRš œ TY6xϤ¯yl²?²$/ÐŽ°yÓ=Î^·¨~r?XFð…¢Ä{óã ªYÕn`ŸàÙ¬+˜W]E”~©¾Uôüõ´ïdè¬õQâßZII‘EÁÖ “R|“X[‰…û†óÛ§\oÖðÌ12$ç²ïµ='îL.!´=|Ý#œØÌ]Edwxâ)]Ã<˜¹;èâ„$ £C®ä*®· mnc Ší”˜ œX` `‰G3ŽÝA[¸—Eí“}+g¡WÊ5ãôrâëjj@¸âÀ¹ÜÊD@7¨ß™ Égkü¤>†‚Èuå/'þ>iäÊõ­té¡. O?VЧˆ§|{¥4¦Úç»lôZ¢šç#—ÞÚøc‹¥á¼F1Ä)ì7ÃeIÐAì@Å%0K -ù,kiƒ1}›!ðAÉWlbÿÊ-/ÂÍÛ÷ü…Ú&mÚæ¤¹NML†©Bl?Ûöñ‡ïš"rAòTÿñù rD/çŠÈõ&Ê}(A̬ØÇá%¥6v&nrµªýŸ:+©{ùÄdÄÈ~F‡¿ZeÍÇ·tã²–ìq(z¡…݇ æ¶Ý¾éxAàœ)T_kò¨TD.‡ìÀ=ðÅeåBMoÙ¬/l^×^¨¼NÍ$@“yðˆaƒ37‘ã²%ÛŠÎú&£»æ±EfÊ8Њ›ìì:É Ü½ÄJbÚ¡NbE-¯ù.õÏ™ óÇ¥{Ñ$XwòmÅBëÐCqãUtüNro{2œ$íiƒ#~.7Ínq’äD˜ât…Žè‡ç„Ã|3X5—Õr¨_‘‹T4*ìõÛ¢„GzÖF ¢:¾~Øb0Œ÷(—Å•TŽŒ¢(i>Æ+™XKH_àí‹—úÖF“‘Õ0!ìÓ -xò«†Ž¡â4yÛëtZªUååd¤L˜sè¯2°ÖkÆ6ìp·Œ7þÁ>ýû¬aF‰ºªbˆàa¡D±ð4í¾ˆAEÑPÉ`þ[Ź•„»|ÁS|@v~•†YTC_8²†ÿE'AÚD7¡…Fb: + Ìƒo/2êëP^ȧ‡ ýnÞ©£deçcŒ¨Qòßr„cm¾Ùϵ–¿'"e9Ä:äÌR¡ô·bèLvŸ–[¥s0[(:rsuÒî‘ÔpÞÐqˆF8„å?&oÆ2®ÃW@8JÌ`wç2Þ€ö’–S³x ¯!ó/ÌÎAL?ÜV:Æèô9vƒ@–x>Â9ç¶Àk¨4W㱕(ózzû0Q cŽÍ.²s9p ¼M–›‰‚¢ ì…½·1êǸ& ¢é¯¡£ê^º*ÔÏVòt·B_ë<ƒ^n¦×cTzÆ@Ðtœ¨Û0%ÝÏÅŠ<xÑÌ‘L-*v¤|g±iʧæçªhCšºb®»"r=I´Bݲ3‡'<ý§šºpaºõ»8¢÷•èôòÈI’Ü„a®¬Máö6pmjöCuïôÖEt N¨ª9RÀ韬aÌšH*·uò\¸‰ØQçüèéÜcÏDü0Ú¸»€¬lwƒOÑ5º ³µÊ–ˆ(¡c´ò?mg_,^ʻߵ}-Wî4OÀ'Q@JoK°^WðÕÚEø°ŠéM¨ühŒ’¾ƒ×=lýe»éþB­æ›$Ræ1[ïÓ Õ™ ó¯\®'QQRï_柶_ƒ‹™cQ¾¯ ]?‰ð)æ…cT X9žhçéM'\dþ#.ÐyË.SEHŠæ¶bC„V&ë-Ö2×3B𓺸é’è¼×ŒU‰6“ &%¶²ö©.ú²õjó õ%:Ö €‡tqžNð.–ú›¾Wéhvæ•o¯+íoÊà3Sycæl#þâô#›Ñxº0x³ªäâj–áºÏcÚ °äNß²Ð[Ì”ë@Å^ÎÙ[FðJÑ >£ú=8Må Zº, 1­²†NJÚ"‘2IÍg:¢š)´È“µb~?¢¹ûCfís‘Aª‡¾QõÆýô•]Ûli‡]ÒÄÉ^IèRïùwÛàÝI`¢ïN€*ùúŠsA6y¾KC)×#[i0ÿWB 6yz„‹ÚŒºÿÀ I@¾K†Žà™ëã'A2¯/a‘ÞSqã]ÓöÛtø'ÛÆf)æj’ƒ{À›j-°¤Û™ÙÓÕÚÏÐ$ƒ4ŸàmWJ  ˜1Ý€´\i½6[ÖD¡_'xÝmÚ ¾Ø $¹2hf¢ý[s9Æ=óûûysÁc[À°ûˆk<îíÌuïg`¦mñÁrpxŸ hî!."iŠhŽZ&º¾¤d dÊhp0jlƒÿ„§çðÁCTuìÓ%Æ©0<'©òoãûù7£DƒsvÒ qz¦ÏLìªTßSú"Bÿ 燔9îø";©kÛÑ`-<•ë™?É0‹îó˜’û÷ˆB­{ã–5qœx†‡º$$»GóiL%ÇõÒÓŽãèõÃéÃNêL¿§af«×¯g ãtt®ñEºeÌe$ºG¦[^€žº*#+mÔ…£ëŒ¥¢Tò“²YŸâñÚb«`déE Ù±ÚvÊÿ·vDÒ¨R w+9\b=ÃBJøþÓ4_þÁòTà±÷ñ•G{âë§U6UÃé$$Yºk÷síY¸9ü§»ÇÀg3å“Ü h„î/”2\$„ºPïÞ-Júµ^ø¥aÞ—Ü¿PCó/óÐÄ‘ƒå$|,û‘ùÁ0*¼?ÄòJ뎹¢ô›U‡*ÁrJ‰¢S:i¿ö;z‚’cj÷#«ê€rcL±µAñ©ëƒ‚ºq”ß;NÙÀNù ³€Ó6:ÏL®jMÙ{ÜÇ2©“¸ eFº®Í÷ÍvÊ%~ 'S‹¤Ÿ°^µ§,7[Õ˜xø—ã„o–ðÜyåì#ÓYqŒ§v¯ ÍÎ}¾ª9Õß¾šT¹8Í{Úò­kûw€ˆû¹ðÎ8ÿú¹Ô/ûê5s¬X±ûì®éš6r·+n¬•Àøÿ*Ü‚Œ*jv·¼0ü*ÂÐâ5¸Äi*î® [ð…y”´Ø£!8^TvŒµ!`°0»µÕ-K<ûP$¶³ìÅš-,Jšð©¾Ÿ<$!œÒÖé^›M€´1ŽããÅFéÜ«ôü®ærÌS×®úr̲쑼Íî¸çèoƒ¢.â´õ‚ò»USõòlœP0„A†ÐmxŒOpè)¢ÐÄ¡´ÎHšÛ=/6Óz±?p—©ÖHTüfÄþìc¿^ÒU€¥´¹Iº>Ú(9ôÃê^cV+§ô¢#—_dŽKñ5ºZy/4ëÿ~$Óÿ!äžþ1j¿yùL‚\=C)~`~òN1ºsv•Åîöìè©(Cî~×€ Òñ›sZ½1Ëht!|y®˜‹ÜïÿšåÂxôŸ§…Žm"çgaS)r«¥ ˜‚‡l¦†W“tíYèÓ¢iMy5`3í¥ãgNþλrŽ7­ÿnQlµ¦]!BªÌ!xPw[`WœÎùÚzߟÍɯÑÃ_áÐŒ—Æ¡p667Š¥Ÿ~ï»-I”€œ%è[“Nô!VPÄë€yÜ•X/¤$#Pn8ä§rÓÍ>]?¡&ÑzþÒv|‹ùõl¬ñ(2V'ú•Áű ¬™F‹“œ0Œ<h²É$¹ì\“Go‡s)¨¨¢ ¸Çf#8zo+îdÕ@òï9¶Å/ÎF²Šb·›xôDtÜ8-€„£¹Õ/UZt´¾-ÿwnLE7’ò ä€i`hx•ãUfæ–Ñr“›OkCig>[Þáœ'*Ô”wŽ©ì>ëá𹬀C|;0 u)ªM«¿Gô\7ÐÓ®žÇû‘Ž rW|±8jÌͽØÕÜ!>aBið¶^f̲€jåÉzÊSe‰ÞéQŠÅá¨Tšzæ|ú(ÜØ¡Õ=°# Óï!éìòÈ? gW«žãÊíî:*)œ‰È¦¸™ÓŸŽçê¼ÿÅH’dë¾kɲ[ÞÜíH¶ÀÎ$æj!o‡ÝŸP*ÁÖÖç(TwR|a¦2Ôÿ:ØÒo‹ ©ló’gPàA`³ ¥f1@ÉÍ5Q”™ê®þ;KÙݹutæ¯÷RGÝÿ(Ã^{ò0OèÙœÃÏD^ÊBÎ)g81¨¬ÛçN€áÖ`îþv˶Ÿ‘ŽOw¼ôkû‰rU+ú¤÷ɈCæÖN±ûdRuüà>`1—Y\þÚÖk¼-Â+ÁÈ1ñLŽe[ŠF#,®dÎz0‡ÜFP Já ýâ×¹‰±lsp³´U;‰¾•£WDfŒ'n0sð_ÆÿéÂc,*ƒÚ·]¡¿¯¬¯e¾!\åÚŠ3ö+êöƒ>¸sGQ(¦‰ˆ»Š¶œ"ãµ/À³“ð‹±(ÚRüƒeÉ{À>Çž»gm•CÂ/ív#Èù&¿¬ˆq˜ªã–‚f€“EžÅ[¿>ÎT„Ï9BA³q#ŠV'ñD¡ÓÃDúâ³¥&À—’ÀÄÞ*øöVÊ«å‡#Î…úå]µ³°óŸ_ƒ³ûȯ½ñ„U•Ìh&=®BªÂSÝ€Ù«ƒ&¼$lû™Go5 J°†—i…ìiù,AÌ!•,ˆµc_õ¨ÆÁMzF%Y.¶hO¢ïb…¤˜6PqÜ.'™ ¬@÷ÿ™Ìz=áèÓvx$¨wöí„ÚöHÐrgÆEqÊ´ÍNÚRv\ÿ“78t%ÍøŒýŸeVpgaw6›a(òi)±Ø{ ú'{¾(¿Wq>·äžbWˆx#´eV`õ6÷kGû¦n¿§\P/Ë5RZïÜ×Ð^l*ªÂ|îŒcêF½5G«¶Vj¯)«çåh†äMÒ P©~г»òºø°´¢{]v4;â©èw-9Ž6¶ ™A¤ïÊVÇÅ˰Ë^§ØÂÌòƒ/hpRi.¼ó8ϩ͂ŒB t—šÍ¡Ñ¦Ùsqú˜<6¬{š?Ì;Õ± ~qü¬ÈòA#ê_¤2qDpl ˆäƒoÏ$h ØØÌ%Мh­„xõ›Bå²g½ 4|S쎻{Úš2ê\ X}^ÇIš{¤ƒöú Õ\!³4„V=5hÝ-Þà–ø/»Ú݇÷`ˆÑh väø²žŠ˜(mĽÐHä96‰³f<¢G£QZè´"·^Ü- ÿ[ /¥ óè³mLÞó1ð×{ÚŸÙ#†±Þk vonA&Å3@ctHˆñp»²Ž%o“ßo„بÒÇÛÊ^¯]÷X>ÁÆßjÈŒèZf‹ökÛwIO¾¾ÔŸLôš½úr,/ø"=â!.Å7—ÏèÓÊé2å$:uõfÏ ä-Œw‘Õ¢/³³P#w—âê<ýÁ®b¸øò#üÑÌ¥`­à´̀Ô¾`Žw¢·dñV ùËMʧ䃽G­Ÿ–ÜøÞ,m ßþsÙ—YŽi¡±²•èô¼…ÞÓa²Ècè5EÎï„fëE¦ T-‡YÞxÚ4(ÁV8 ŒOÖVæ.¶BMÈJó£jõÒgiÛ︈g¬:çÍ5—/´!‘]¬þ p9û4>½Ýùéqˆø‰±öcÇ•Q±‰ÐÀi5?P6x²¿«Çt.êûއEwDõ*RÈpUæRô) Ã`{ËîWùPÞìÿ¯Ä^Úü¥éP…±dÛo|2:–†ÑëJff À¾ì:•³ñÒ£×ù t —f­‹‚ËåôGŠ~Å(6|+xŸ¤‹ «ÅX湓&}†r²WñNîü¦µFïfE'$kL¡|Z‘t35ô>èÌÁÞ|J £c!ýB§hpÝñ•ÝDTU¬èîmû'¡¿+Ot¬ÞA_…¿Ãô[ž§ƒ"Ô¾œ+ÎåCÁD3AsóмKƒà«y–z+óyõ<‰8ʉœÐÑÞïg^ÎO~†¹U‘»~mÍ£6wÛaë]¶ªCó2Ðò::«äŒ¸7ÈY¨Ó—€ 'p )”ÉUíÿØ¿ŽóäDÂÙqY¿^ù™5õ‹‰Öˆ^™²}ì°bvLé‘Aã¼\ øjpÛ¡IÍÚÒ×Ê2‰†[Ä/5”Ó‰”Ëü·£Î¹¬éhÍJ>Ø;öqâ±OA&Gйž¾u°²æÕk.lÒ{ñ—eA‹R—–‘±¢$UŽ’uæ9]®ITgŸb`ÿÑçߟǦYI‹Š¸d‹·Œ^Ñøx#™ðD4ç4ç#ÄyÆ‘äC: â(%‰–þy¯$UªçrdŒ»‘ïm’Aê…ç@\‘©«AùŽLœÍ¥;N]tÒ‹´[Mˆ’ÓÞ}s¤-WÔw—¯à͈ ‚î×d•ÝfŒfd»‹¡œ˜—JÖ]4@|È£?Ì‘ƒrzÎ+Œà)§~Žvš`²Y'²|þ‡lÁˆ¤ÈÓÜ«ç™5º†_ºý~Crím$ÒôÆöGIHë72âz Š†‹„ÄöQFÇ-ßð™ïù.PI   |œ·îJ¾Þ-Ÿ6Þï Ioœ…nÙú‡Yòº„¿„TbC³aËÞ[1*½Ñ]³—7nK˜VZîâ¶:œÉ$ògZ_e`÷‹ö Ke<Å«»çÝL´ëñ éçÂÉ kVD¶”p• /4kÅ.ôÞ¿ú&ks±Ç„Xþ åÓ î€ú¥IÑŒH¼™¯UWŚâ‡c¾T€Ó§·¹‘H|Ÿ!&œE(7§Nà?•ê+góLb³€…SÝF $‹c§ŽU7ÅÚšíR`(c]ÿ;˳ö'ÚåñÔ¾´¯‡¬Ç¦@)y˜HCÆ7©¬i«¤¿Ð„À·3¥jø†ò0ZÊÄM/4” nÖ (>Iî*b OÏöq£äNm&fb¡·ª{vóïa,¾˜F¿´U³l\Y\“ $Ù(±·i #¼2]DRd÷”¢j.ØY`¦ãL T±.­¬ „n„¼YŒž®fÚ/ß›aº_ÊÓ.sóâà‡Á„ÓfLœÐª¡Þ\¹•¥c/éáDÚØ¼à>3SZzuqpß•Æwô œž¢‹¨°¤›–ù`¶KÄi˜0£b«G$ ör€v.aDÁuȼü“Üë‡7Ú’x1lƒÔÒIÖ\"½¡Uãè“-R&G+½<1Sí­.IònXäai— 2aø»Æ%2)•Ç k& ŠWO€9¸ÅMsÇ\DBd…ŒXÙÉ"H˜u2”]«óŠa}góq ×ÖFA£˜h>"-‡‘˜]g8EôÆ÷å¸Áÿ-@¯:Zñ9ŽóR\Ëöxøþ4%„~ªuøZ?ÏTý._Šçlè¨}…櫼nÿh@Üj©4ªT5H? ÅiötNŽpKcæí¹Ë°‚ÕXŒpŒ¬|‹ê¦èôŠ,Tj\Qªèé.öju%|ëbØhrÓ˜s°7ºs:b1j‘ƒWL\“MÜúóoë§ÎòcÚ¢p6XÁ13Oa…jsAÒ,ŽÚÔŸejȾˆ-ÝvÇê“Ñ””&û%¼— k)r×î/tiksð­ùúbŒ»®UM¨ý&Õ’ Ië?qãRN!>êN:|ô÷šl–T¯‡Ý“p‘Gµæ€,½(óF7êócò˜§¡¼=ˆÇ¥ .xU»ù!Îr\Ç”„¡ó”ÕN dZWpgÚ-5‹ìÇ%¬v€“Ð…–ú8M×rNm„ò­»;™‰”*GM08æO”ê@lüÆ+Û?Z¸¦ª]‹¦`h×&²ã³D•Å2NïC… 'FHm™ä05¨3y®ð'»R ÂÔ Ðý6Ã!ƶYoײA¯ÇR|j{Æã` Ê9È€Pˆâ–„qÁ"¿‰žòب¸F-·ÅžVõ)L;Õ—VÔËŸ¹É>ß¼…2U$4/µ¦t•[PA·?‘¶½§¿ˆ¾- ¤³Õf4| »¥, @S¤A©ý‚qûW…x²GÈk³bqÊ9µçá©"2Ú¤g™}~ÂVÜž±“#<ÖÆÙBCæT-›‚ 0ûÇì e,+Ætüª „9É„×<Ñ¢¹"dBeDô¶Gmù»éa¸5´×<„“¢ÇjQ,/ZMàbç²t;&´ç‡±Jv¿0¬4©[D'Zc„T-6ƒž.(êy˜éG¯Ù<ꢭüÀ±?|ÛOSÑöÑõ¬ÉrJæ½ñK®iU2â¡‘ ¿‘ÜxÒ|6NÛ f2dŸ­2#zcìU†ç×Õjñ›q5mÞm!âÙ˜e¦òéŠóžÃ„àì÷­ÑôÅäÃÿëý ÈèFŒ…æ}<é«[>íR²¸çfÂÐWZÈö®fuË/y\Wýw2j˜„üŸ8NfzÑ^\ûò{¢Û3Ã擄y×f¸õâ4vU«Í)÷kD-#r Ÿ ‘xx]»D(L{xˆcvItªšwRšÚ^]îádaõ=Á)»¼_)’Ñòy¢]WÆ6àÍtãs‹>Þ„t§f65 L Ò‚µLîžqiÖØZl•ÜÒÌ™'VŒä•O2@ÜŽ'5Õ7â®ÊFÕè×Z/B‰âC³Bù$ÿËý “ Fj äѺƒÃt…_[º¦VNPœuä&¢vL›©XùsÊþa q)òQˆ_zi”Ñ©oís’YÆIž{–SIV@K,Îíõ^ïc `CœÜV¼\†ç–ˆšÝKÈôÓ/û«uy›Bßç0ãbßP–%ë×Ïœ$ž ±ægyv·uvÝ3ØIÖ˜&k¸±¾k:.˜ ˜ò=ð©Ç©*%·ÉÅñt T]tõOqì1ã²Æ2½Að•á›Ð ­'S[د–âËÙ% VNÐc< ïœ'àðhAœ Õˆº“Ôoþ‚àÑyWJ`üP†Êk–’¶Ø üäªËqAâÖYÛ;VœO3¯\H|…ŽM~ѲŽ^:þo>«XžÖ¸äƒ¥qM.¬&œw¯fÖHYø–îÊæìäÁOWâºbêP§|q öËAŸãœëMl<­{ïØy º Éz]b©éÅþúóP¥Üo¸_ž±ð5^ñ“ù?}nÄUMdfÕ|[TîvM\`ØQ³¬ãýñðiÜE1®9g ,ògÃî#~n 5Ue"ù4_ddõ¨AªE½HPö_D_öònäC¨iI2£|ó%è0øÚ,®S/ ihy. °eœn¸ «’°¹âŽøÊ³œÅ6‡RŽ6«vJ¿Œ†d`=0buÉ CWŸöè.L¬°qerµ”ÊpÅ?J«S‰9¨4݈ueb O)þà Õ¦â÷£÷ñÔŠÚ¤{v–qŸßvŒ|)Cõ¿Ÿ6Ïg×tƉ‘»®£ÁJÃU‡뀰>góú’Lσ¬hšôQ·ûRFë~–jb‘.i§Îpkí¸‡ÿ#úaFó(ú÷/–ŠB5cÇĪWñáA.›íÆMzŽ|ðšòÒÞxL&á2dªòÌ{y -ÒÒ³(tj•YGìÑ£Zð§doZ¹\Å2 ÚvÐ?«5W:u¼¨VFüåM\u ­ãöTŒûU¡5—×~’}ÛûƒʘI#rõΗøÉjHN dso”“C^½üâÎuðª¥@¡‘8X üÿqÊÑ¿Ð*Oò<ÿLʬK¡»’î›-ãmž÷=TÀòØ®Ý~~’ø±q1ñŽ!uÜ|uDof"m*ºè¼ ü})0R­üþT% À;ÍN ït³T‰LmD!ÐO(A ôÒþ’õOgZ/ŸÝ»]6EºæÉ¨Ó’×î@³^N$Á{箤š36ìï±Ö¸ÜYB·,}(%Ô¼Ž’ ½]¸“á3“g÷Ú>íJßô*黥.O€{(d³TãY*fë€RÎûPÉ‘ÆY“ðýšüʼ¾Œ¦UõÞ  ¸{3"%hÌ8Âïžôn„Œ©Œ’Äÿiü-—{úšÿTo#Àßd–£2†ÍdMԅч§Å€«>Út„;ãY¸Üëê09´’2†áJcÎà ò„ PlúrA¿:Ÿ2ÞâëãÑ0ØÜgDÔ~8o8G °ä³C>Åû™DY¾Š|â÷}šÊûÄ{xÐÃñÁöÙ¼j6ÌSŒõ“EƒÀ$’  RìÙ9ð jÖ±]§÷Uå§½mÓ‘IY¸/uü¯ø!–Ù—Âôí$²”Ùs¨ŸBœ+[µwž"Õ]êZtU”Ü^ÌõqjÒ¾ïÈ\J[DUË?Z¨Œ”%f‹ûã‘[ïXÿîÒ/ä,®Ž í ;JÖŸÆ~ÃVCûÁ¦† éÚŽÄwéÜi³HÞdTOƒ1¨K].÷„M9Ç Xe®&l/™ÂþÔ%q3ÐùŸÚó¸¶å“6~æ’ õ6ˆŽ¦Pdßäïàëˆ8<¡Í1lõ é¨Û©Ÿ~$ií”y€vukXªñ$¬ ž¼ ]@Hj†@`|ø&«bÉÀ\)¹­“?{Q@õ( tä½6®V ýèj-êï…öîh¢ã8 U=’Äœ–”P¯w…VóI íÂ{ÒþÈ^•”Ç&Sb  õgÍKÅ]"Z(Gë?¾É\Þ?¬‘t¡éë.s´Tì¤L=Ì‚Ôm–‘ +:±ȳ4!¦‡.+Q8k­Ì"šèž¯ŒTÈ­…Ò¸<`úíPØ’ÔCvŽõµ]*©®w(¿HÚK‘æ'P‘ yÿoEÍm×ʨØ0|—îÂÞTš¸Çw¨pž…Me§³](”<äâZ ޾θ‹Ø ‚›«Îéѳ0¡¦ñA ÑYÖž6<˜Ô^B^Ꟈ¹Ð8šú‚Áñ¯gnÍ“tJ´ÅÚs©×[ìŒ~™ÜÖ£kuažù^ýJ>Ȇ§ÛNôƶ÷YÃQïæ%œìØéѵ0[T-_ª§h|u¹¼P3åÜn“{¼®tú²Ú}þsyÒNA”»þFPQ*È>Â÷R‹ò1.TᆩŽ[@¥ú¤´”êËùêLí9vÐù9´A)¦Ó˜G'ßóõIVRRõFŠùóêI&RÀ‰yCÿÎéŸÉàtIP­¤^3AárŒ9ø_^1 ÔQ¡oDèTS·;²¦‰ƒÎßý‰£&ÑþAëUeÁy9¾H°šÊ»9EvË>¢´Oö:Cr.·õA{á·%&×j ˜H 9gùù®³oV µô‚ž$Ò{u3T89JŸ`æl*ÒYž,K“%{Ö-ÝŸçožfÛNï]¾) ™€D#b³Çÿ9ÁMÒÝôšf :pÊhiq8Î*/R Œ±apQ ^åÓpn”ž\™œ ÎN3u'zÇÙ£eåd×H7EB6ž}dn'¾2„ÇênœþKð(¶@‹ÇHÞ$Žá¸$%y®†9úûÏ)ÓùXLãÙË]¹7Sñ CñÌŸÑÍé[ŒŒŠ2~WEßÞ‘áTæyEó×7dXùa˜ ið¯bm2‚3¾x-P-L”¿½QR¨Ë½Ù!ÎQ!ŠìÛ¿¿F×ÞžSãÑsf®-(}ÉÙyÚhHKªgx‹WøÊûÙ+;Âllµû71F7‡XÖRºì`![Vcâƒa£kÁòT[ Jôx}Ì®ö;g‰f?Sxßc·rH¨i)ý…ú…³ç.^~Ò¦ØmÆ€› VHà¨,…ŸŒ÷pàCãˆçïmªz+éRBfâйvp¾q»;Ê’Ùi˜J­ÛàÕoó`„2ùXpy€(nª£EE%Ç=†^ÝC;²g³&ÓDìj)6Œ~q,õJluQÆ`îÎH2òýg?~£ç]»JªðŸïBo´Þ¿Jñäÿ½ð‹mAü§tÊž·ð$pŽÒ +­"ÃÚù‹ñ¶Ôÿ‚&Ë{vV“᯴ڧ•­'Îêv}ZÈ„#R§!Q»©¦*O­»$ÍPb1) -€i¨ž—q—3§'N?W†¦²J) )¸ù‚S½sc÷3+k3(ï¼!’”j¸_ƒ˜HÇ{qEkçrLܺ;|ÚTê‚pð«x5Áf]‰ð2›£ƒµ@AhšñØÁE™55Tþ mkÉ Í¹0Cí#:Ñ4óvU}ÒtË1(:úpÓ쉦 ÆÊ§ß€êéi^gÌîË5ùI¼¨^+ÖÂã FBéwë§…=ŸLUZT$Á ¡¶ÂŒDBÌÒå´<˜_±±ÖmgŠa4‘vºN¹töÏÆìBÝr,—ý(é—üikG ç¢kÝb7‰—ÊTË¢j?%lôì!ŸLÊ(%}’üý}ž÷É<5¹°çÀž‚@©êni©ÍÛ¨´Ÿmn{ìÉ1 U̶ÖTÒ½OfÛúH9ª-è;­Iô¯ fQKiä’jy;ò40ñùï¬ø£¶.O]Ÿ<‰9ë瘌Â9Lfgci«4ê­oǧ0qÔÃMô&ûËxW+ÁÅÇk,”Øq ËÈÃÐs><|Â㨣f°×ÄlÜB…\vhÉËa„ÝéZ…A‰uns„4;£C„OC!KT9<—N¼Oü…Cæ8ý~À#Þ³›ù¥™zÀ”«LRû¾69Ã&°>›-§qÛ¯•.ʾ†tÜžçú<ä &j‘ØT®Ñ|¡,>ÙxÌ®q[懓ØÔ,/wÇ`ßsWm§tûh’\šö“÷ÁfÉ5˜ÎîüpÜÍIìÝNn«õhT…T̶ØÃòãiæ÷†þà …x ^öìÜ•!Bš'\ÎÈ©ã_ÜztY…§?Y* ÖX9Ê:„¶wÞž ¹ÙÃè1±þ¿YýyÕ 3RÌà!èî¶OÎá Ñiãð3âm:±Ûm{)2zmÞ›]´¢•žÑ™k‚à6ËIò¡ŒýŠ?Ü«9|e¨KGº–™ÁÅ^<öqÅk—|ájø«æj["´ö¶·:vm–|k3ð l—e•½ HCÚÝû™÷§~}e’ •{K¬ï¸tzd¨½.€Ù2áOå4ó³JFª³ãi@øº$ã)’_ÀÊæ¹Ðý?Û}d¾í—br3LALóÉ£á Ù×<™­†ù;5°êpÕa±Zõâfµ*3§·XJÚLÌã©ýz­…i¨Á„~ZáY¼ù,#µukܽÎj Ð÷ÁÁ,éEÿŒ|üÕü:Ú­jù°¯Û û2yÆË&(y£hBÖ—ô]sìÿs^ÍÐŒKU÷¢|–Àº‡¢·ëhÇý–´àÿ¬èûÞ‘ …PX«žÐ5œWƒù”¥T<Ê„´õüÃÎ –7§ahWoðñD=yƒÉgD+‹ˆ¼-Å7À8UÙÞêFêΓ3£°rØøM‚SÉ[œMνL(RÃmÂH¼\$º‚´÷'…Úé Èz+ÿ"Šþi€(GVwŒÒÉŽ²Å‚&ßœ±ð—¯ ç'pç»I`¸‚ÞÞ5<;N‰†‚§SŽv…¨áݼ‘òeÅ’½æ’£d·Jq€7yý}xcA¼&¨xÖó€øç„>×;É'ò4†•ˆqr¯ì>üIÁ=ëû™·RCa—á/fCWØ;Ü—DdÒótÇ­X-ÁZši§t|‹p³ËE µ 8 Z.~ø3zc…zDØcp³Bõ†n==Ê׿çpm˜Å´æ¦ ¸÷òõwùý7ÿTêU¸#‘aS?öu»¾B¬Ì¡ªŸ,V:óoht9%Æk'oßÌ—¼÷pj½‰ˆ…rŠÊýü µƒÖÇ@ðZ aõ§è ð=nŠ1KŽð\!Cℳ€|0Ä2âõ® upÝ0¯’®ø¹júVŒUH…èæ,—Q’$3~™ó´2îz»ê&‹ýv.`hEÿüTwô+¦PËNÜÏ»‚.Í\Je4´@³ôcHá…çhË#Ò¡›Ž‘d RýJsJ}L§š®…÷:ŸÎC{¾dr–o`޹=÷㎆FzÇJê€ùÕuÊ™¾¤eXéôAñ-]Ú¨¨òŸ}ÁƒÊ,à2Cbý šŠæZÏX µ›ÃT‰Æ|FG°!'b¤Ð·XxÀ]N- G…¤ È9Kçh+ÑWŠùmÝàÒZ‚À§ÍÍ‚*t¾zsX®L²Äê´f¸ŒÉ[a·¹·"‚vÒ|[‡Û8iƒ¯Gû!QMY ;wNa"Vxˆ"øW$ìD;»zŸ|ep3l»¥›i"´q%+Œ `Ý“Û[{l‘§Ù)GѨ®tóÓlîÂÛ ¼Ð=Ô›“Ì„æÒÓ#îÞH^ïÍëèHÜQ7"³X•³ÏiA%´cýçpzÚØZ )Öô;’€yDCM[õÁO}d Tðÿ$hÙŽÆþÂ(×jŒ¸†M³E.qpQûžY`JZUßÇ&Y^ ‚ö^|àê£3v¤ ÁÄ€AQ$VÈtÜu/R æ€Í¬ŽŠ ¹ñÂS^ÀÏÒ.&›myà·žN?½Ìo݉§e)Aáþ+™Ÿ+\Æ´q¢ðŽï£:ôÃá~ÊÆ¥yI³©l¬ž¬lÅ|êÌ.ÞM5ˆv§®Ë#§ºTü(rEÒ[qÒzaõkÔОYÝ`›1 2<–”³‡¾@¬p½ßýhÑ:ÙÈpÕ…;›”÷ò5lœ’ëÀñ²{Ž8^N"v͆Ì9 ¶ºÜ•kúK½›ëÒ:óžSÔHMP¾>o!ãTG…Áƒì<ôx©)×D:²}è`ë(Áèø›uàõ¥‘™¼˜t¯†»âú Y4r¦Ñ{×V²ÎÕ~’U>€_•¸Š U‘b:LJßc © uÜùR"æ¦<ÊÉá„!·#e»»VÒ!¹•Y,»tЍüÙp •ÊÛ%I÷AÅ ¡=%–²zf"?ø¤a_Ê-£h Ï["’Iñ)W[¬_^_º³Äç ö•e{×Ê÷øQ°À øMSáðv4P÷ü?@i"ƒCÚUC#‹Y@.f¥·ëdn™Ä1ø(%â+‘d PE‰Ût5’x謊Ú]e‘åŸñs¤ó„§ðA->lSòÔªRà±M-7>:}Ýbê~ÅWV÷¡yÀ$‚O`ñ8uCaòK6ÒåãÖ!…Â&{É]\жÉà‹Ö^½Íøw!7A‘ÇZ^=û:Ûˆ–eÑáGæz¹×8y¸p0ƒꈈ»L!ãÄNY®hl«q2&F¬l¶,@¹ŒÂO´ÐfüóŸwx%‰ƒ¢6­”T®—S¦óÈœâˆe±Ç …ó02>¬<†Âe²@¯@³~@ûéA M©÷UÚîn€Ùµ âƒQn'Åœ.©Î_ô5Ã|/À…ç~qÕÜ·áÕ¦ ÕÁG)ìÏ„PÃOÅÛ‘kTÙ´ŽdîöL§YêÈ½ËÆìT 2)!è]ÛoßÐË3ÇœÍYÂÆ£ãWcø2 4é— žtÜL*ñè\^3ZóUئíå }×ÄOnkÅV‹|ÀÐ!ÈïáaI‰•IéIáØzò 8Ûjmø®ªn‹íùƒZœ‰¼£éKcƘìîý)<пö˦¶ŽÓÕÃ5býGP‰=*_ qLU2ÝÜÎ)üÑêpô?Ô-žÙ«ÚãæCFz”Ī˜ °Û­`Ã=º£@Ão,=ÖEÉ$*Àòc‘Ú ÙydÆ2¿»rÍm×Âú¿d}œœ¯ù´æ”ÆÍËÂ|E;FÖ¥ä(÷Øë6à®Ýfžç=Kr7 jÍÁÅl˘²’Õ‰Ž|©æ%´ŠöiÌ»TÃ+è4lcÆälɼMo MÙx Œx$ÄNì”ó3i—¸Б—Cfß+~ÍÔ.[ƒhiîªe½<ô òI ½ƒvÑ®úl3K{ÔˆAç]ÿ„V ¯SÀ¨Ï#gJ_B +uxjÕuÌè-F–‘¹ø7‘äßè÷ vó:º•‚‰/0"š¼(¼Ž› ^±ÓÊ·aÿ½ÃþŽ9B¹ÖVÀC«6]eæ›àÊñ6àâÖ¿ÈÀ/aXjMßÎ1›äP}ÙMèHåyÉ›„g)¢pãöÛˆŽÌ¨st7E§$SÕh£ý˜}IeÒB†ü ªv)Šåm‰ÕwL3’Iš|Ùƒ§Kph÷Éì–Á‹ÏºÊª=8(ñ ö±;_çr2°L°îä ÓqcÐï­=_D1JïÚ½Pÿ§Àtº°Ã{£kÆ çd{Ÿ¹`dÜÅtÒCÓךK¿Ì­|pn©Ä|í*²Ó¤ñ·Ä„ZÉ¢:˜;o½OÈŠb¿ [Éàƒné†w8qý± gY™ÿ“9œÏû5îá%gT$% ‘ñ^Ï€†g}è ›O)ÑÀÍbQÕ¢>çÉÍŠgÀ$›ý`ÌÔ‹¸0^wÕ²ß%t‚‡w™`í ¦#ú&η¾‡„6§¯ ‹¿Œ!5%S½RîÕPíÍNŠ»÷ïnÓy ¸Âcrö½›$§(me­¦&ýb,›„âEÖÍmžô/à×]çøåd½sëÞ~ÓlMRk×ÍlNL+˜UõGYy•kýY 5‹ŸÁÂkw¿‚ãfãÅÝ ™Z(ï ùÒÙItFÖ^E{U1/é<øo>nÝŠ†ÝSâ܇ɯïï‰Ápt4W@Uï¹.Rîéé/W¥Ûþ,s…ßÍ‘D#·^û Çywb­kò¸Ò2;¹Çn˜PÆYöÖC¸nÌr͹yüÜØ›0ã¦S«O‰ø$ «™|½'Ì,ÙøR’¸ŸãúS±“|ŒN›‘ö®ý-éÿ×3OÁòÂ.xbPæwP—­÷ÞvÄÅÍvÊÿ_+RŽòøçŠoý¼C6#$ŒzÔ¡ßW–n'C¸«ç¨=B›"ìÊðV]×ÓÇ`,ºû1cS#ù_˜`ôNûÏlVŒ5Šî. e¦«•I÷.0J?¦¼ž{ïÙdJ*¤Ø nUߨ´äM-Á1)Ÿq5´ŠþVéÝ_T2^áý$»^8(v§Èi5ä’Xån 'îãôPRí%c©r?0!5B…;nJ4DqBܽì>®ò!õ¢*vôI`³aÎ ú²\èY±TÊqUp(„Áµ¥F´DûNHO5Ó“EØ ¤ºöe‘Ž­ ¨Þü‹ßØ%ö¡NpÈ’ÁƒîzXÍt>ãÏ0’)OšûÔ°šìupeo{Jui›ZüÄÖ"ÃFI‚‰r¶6ˆëd^ÇTÆ|¼€âÆÒ9Î~ºÀîqíe¨ŸÐù7Ìß¶óÊ-¦bbÎ2,N¨¤]»Å Õ»G¯÷á}¿’]é½<ù“ºeW8Òƒ­²ÿS€Ì#Ê,£ãæ©àt^s…7æôáÂîé7Š(ب‰Š»ÀÞþmn´bÔû§5õB›Á=Äê%è4m·7ömÞ ?BðdT–æU2ÉýþQ&(À¨¯… ±Î‹nùB ¸É‘Œì“§*"Õ…n~°QŽX› lÑYxBè©òõ¦ü¢ù~vRDy_^k~î Y:uÓÍHº_˜¨É"ÚtÃkN²¹[U5tŸÖâ„¥ÒΆ ‚ÀU¥$’½èÖŸ tm{ðÒ>ÕݘÑExz ûëw¬ÅoÑ<¿žJ—E_8ã·VŽîÈÉJ_d›ÆÒKEÜýc¥Àfáa¤™¤†°›!©t÷³W]‰¤ŸTzrý‰á¬F4`þ.U¹_'àôëUvj¹â¨+‹ ëK¦¾|!Õ륰„ °zC÷‘©ÕÉqbV5råz¨i–Û %Ø?í˜àUûŒ„ÖORUe` Zêà¿›x „I½/ñò¯ù®Ô4ìî +ÒÕeÝ&aTG¦ÝO¼Øk6ã [Ô`%7ÖÎGªÅô¡Ç6‹ü‰])°°ÿZÀWöð‹.%‡Obˆo“ý,Ðu¶Ü“^á*Ù2[cÕƒŒš5©,àÄí9J`sí ‰ÜÖlI"ÿ»¥Åàý´Í;‚¸b\°×Ï+¬]¶MTÑ·S5¦_wŽ"]®mòntßû_²Ó ©¾®ÍS"Ëꇟ!éG33´®x•ct¡Ñ,.þ ¢Ç6ÀX7­7‹àA($Ô%»ƒÕá49ìJú‚c®œ'ä,ŒrÂû³¡½fÃ6^ÇP•C¶±¡ã9ˆßŽáÆ«™™)µÞ,8@ÀjœR‚ÊŪ¹eH:!&ø¥E¸`èÛ3eçp@=°"o¨’0“ µ FÐG¤&“W>Ì£Ö…ëñ¸#ÒÇZH„ºÃºž¶°B¾ô«:T4ìlTwý®›>ÿÅAÓ‡÷ÎZÕóÒu9¶ÐÅ®bÝ¡%ŸÌ°µ‰–]\eŸDŒHç¹é B˜·6K¬DHRÄì¢úŒî]++XVî`\”Ç^œžÿîf¡f©ôAÄ>mØ€cóBën<ë°WÓíØœoy~ñ(^  -#å5†6I¬DU$„£)ƒ“|›ZÆ\@Åur:¥ö©w äÀ&q·‚*%Ð"Ýdùñ  s~6ãæ²C8óÈgGºFsËïÉÚ@@oI͹t|¹Çhð/ǧOUòþôÅó‰pêÊx3â³õsõp4K}ë”Rqk;dî3sÊ+óBOç—F©âáî± ÖüM :Üý …[+áUéžê9R“ŸPr?ÏÁ÷õµ_òOŽ~9æþîa„pR‡yZ#삪¿P…+´ñ ñ)¦ãŒ?ömtfm<œÀ2]ä ð­Mƒ|Ôéìߊ}|jâ;°ûƜ޸SýŒù®Hò O/Úó+ÙMûU/¡ábsïóÄhRM©¢.\˵½`cO©Y¬II\5²Ø2KnIœÌz<¿+gü“qwÌØÖÛƒÚðÍPu5[dÿ{Ϋñ¯ˆ¡kÞAc‰waßV… ¾/~°†òÑ<&[U'n<Ç•.ÝçžÝ?¿àÆeކªpì×Ë×ÃD·üþ³ûö¦æ‹÷UۋȪëR,/bÑp=ã“UèýÂroJJÊ­ô¡¤·"eá#n¡ÇÀéè-j§‘Ý4”ˆ>/4Tûšmkѵ„á{Þñ¡f¯ŽR•½, è"ˆ*o%”w½öAà[µK†$AðÒ·Í,â/¬Žn»@Û& G,ŒŽé2ÀáἿ—‡?v”Ôñí h„¾„ú6¿R:䜛ó÷,e¡y6w–qï?dЃA*ÁâÐk=¬[14ŽagôYÑôjiêÈ”/V<ÁføŠÒ %g£vôlÌÂg ÁÇD;²yûRn𨅭¿¨ݪmÝÆC³žðú…ùRóY-›žŽÉKyÔâó\ m–aÎÔ0BÉç;}ÞlÉqÔ¿äábžÝé4ZAˆÁ¥‚òÅP }PM²Ú'\4hð$ÓT—0OßC‘9ãÁâ;R('™FgCƧÊâ«­¸‹ê‚!Èa`p­^—j®Å¸ÖnMØ‹6ð3¾ER|A‚$P¡Øñâÿ®¯[O¯÷ª¶3,Aó¿1­ÁåÖ‡UÈû) ÝàsG; «Ëk&f¶ÒÎÃgv-ÜvüTеJo~øMÞè±Â#ÓËPû|SÓ{›=½Ÿïøhݯ>Å¡<üøtÄIg;j¾QSã£Q!ð¸LËÓæÑ†;ÎìÓUâ÷TÃnä ;x¡«i(§Tÿktè‹g¹ƒ*ÞïøTš(+Ê÷]r³QTkkV¸~©X訳©²Mé8)ð ØpKÅ~þ) Бo`^$—‰¨°™¨88F²&*YnÉžO{ñë‚z‰ÿ¥Aðz’jÿ0®z±tØå`Uù dT*dMümÓe4µ– Üz’³yÆ Ãr¾·uÉ.ÍTr¨^­¡Õ1< uçÛYƳr-»Ñ¿I©©ÝàÔÿ‹±{ä&ÓŠ4æ) ë·Ec8Ù ,ƒ½ ²ºÁŒy/8u(`î-ïHÿ£y3ñbDT¬6ˆoU<«¾Db‘?‚çÝìPHTJyU=ÂBųO±ÅF…síK€ËäWÍÝ"þ Ÿÿ‚ ë•¢~­f¥V¢µãYÀ2eZHéß0ÜQï’„³÷Cj¸ÑÇ–‘|ùÿ<Ä£ãÕ{ï¢È1ëÆHw»“UÎt;n@/$jÆïCûBeªA´ÛB¨iŸ¿†(W7—p‡së9E> ƒ7HT¬¾M欙÷òOsZöÿÔQEãtU­–ÈgßM†½ÌCÙ^ñ•s4™€»W˜îç&^žý ÐZ(^yú žn¤ñA Q±ÿä:/ã‡h¢LÄ¥-U…’á³Ï ß «êsè0êHEçòQèþëÆŒgÿP‰9¼æ~á K{Wµ'žWhbÖÆì,Šf<„Þ”4ÿ´YÃáˆu÷ê4˜Àvï\$¬άü;yüÅHÃG†kÔT +Šß0‹¿sÖø‡(b¿[ûœ}„èÒÝÕÊ `C­„¯µüêg°Eìp#n—WÀ…íúÛ Â‘poA¥<ý÷ª¾ì˜'á™ Ýiÿ=_cèhýTï ¸+Í74T1Çfûôù/EBÐß;Ç}O0ç›XÁ >=¸Žo'_Š‚ë¨úÄbzïMtŽL¢®¡êA)¤ŠÍ •™aôíŽ×5üf4 Už™Wc†vk‹·½»æ«6ir¶<Îàñ¬ôØž²ô›t¤©A~kù&‡ªýYÂõ£ïyRáLKC#‡Æ>¡j–lò5C©É»57MÍ ¢'*¢•d–2¹9Ûè9´¨z¬ç›œkSù…Yå·Þ½u`uˆ=DÛB¹/©Mvl’5„m`·S¹awUku¨ $¹leTÛå [M¼y$Äœò2Ü "s2®o²Í~'=`쌨ÂÓeƒXâ92!ë¦ih‹/tuŸBŠ 7ñ”„E+/àÔC‹Æt1îÎn¼ bº.WlþËI”Ÿ”s5ä/«éMñcD' ‘üíkHªú1ÿc×~§QT“t";DÙ]g[ó×w,Õ5Ž zÚ>íÀ£ÓBhâ Q]HfM[N;»Ô¾ËæîŠè³Ž’›Ó eä/ Üÿsެ`%:¼ïãÔ;A†èg)î"{7Í?f=[Ðì 5¯B}¯õNÖßWšˆ•¡/ ë—„¹òà2ïGÜÛκˆZ ˆ‡¸ôˬ[˜4ÑÃû/a2ÐÄBážû®]ÑLAOêsUð޹ý%þMÙÈÛ¼w® ºµÙM¥¢’µîgø+r+—žC±Þ£Z¹öÇ,Àá:kÖNÅcB#áZ{ÖBg- ­7‘”ªtA{uæÇÿî ”ð[˜úzÇŒYãÛtï÷Þ°,%°ñlûWE‡xƒ6ãUŒ‘8/­*÷³}‡tä'À{`ì«ÆÿÒá!–jÍÁÜV!m[2îWm0wõ+˜ ľÈIÜ0†[Oû2ƒ»L̬Éêöµ(>®÷feÄôþëZN|xË¡BÁ‹NîÎ{\N!3„ŠÈ |æ¾ÖžUOI1æ­¬–<Фn ¼fÒÎ!Bšg÷—oÆgêå¾ yk:kÉ{_ñŒ{vЮ5À`[ª Ëf/`7I¶€$鋊àÃ}ºTùþÒ×w¹0|Àq®iï-¿q­."Æðd·,ÓÝ[Òódbu»\ð9ê"@Û|§S$Ó¤9 ÂÏa—׎¨e¢Ké~FSgWÖÈË5 ½¦˜µ»©©2/ó|ÂÔÆâç§yß5à#O)‘€ÊEÓ…óÜRƤ¨Ø»Æ73¼Òþ$0µ-Wâ;ÿ †ö®À-f—OÔ Ø,ýæQqA²Š:¬âeÝšJ]ùÔ~ßÃÂçj:üí&÷åÞþÄ9£OC™5²¥ÝMc«Ylä•î[4¾ *4ÕaBãã2°/½"GÃUZ©ùó,FšÐwTì›V¯:ƒ€¯Ç­J&¶š>Õ,\Äâcóz *©i``?wð*z×ÁJ’GÕ7,Óæ‘µ@DÃ+"£ŒÕ_VÄ­#ÑŠÀ½ðñ÷Ýô1Qàþ‹ƒ.Í­šÑKOË‘Šfe¹üR–ˆ²'†X[]µÙŽ’í·|'²ÄˆGtâ·äƒÞàlë¤Þ<@É[öÜAz׳‹~ÐØNâàö@j$)JÂHÞ\ÜØ—Êî–;CžRõ™¸±óî‚n…CÐU–ÿ*ì@–—)7Ÿ ±3&Ñ—®? ?¿ {ì5Ö•µß&ÔaÚ¯ìðʾéBZÊj±yÀfá3Á‰Á®T<mªÕ®ù+S‰¨‰:*ÐëÁ¥=p´lú+¨¹Xä]ìQ³T¡Y¯ÒäïÜu+±ÜVc—‘Æ3õôkD^ÿCYý#¦v‡ó¢G ï$¸×ã#K) yÏ0')éÒY·§bþ›J÷ÒoXRaË qÆÑ®ü„iä ûc‰Âmú _‚hÝZ²Iõon_.+ålZ|”ä]ÞžSÉWCAº@[Ú®ÄÝÛz©œvd¦Íª¹Ê0lÂ’á=yßì¢ ×I¾'ŸÈf8ÏSã^ὕøÙº¹Âãe§á§¦ÔoðEÆ/Ó§’ž«Ü§k¾uÏdÇŒ¿Å=œ°m¿„ Ñʺ>–«aÚôä^ëô»".„ßIÈ)~§äeð6кÑeaºiœG3ŠÙ‘XD½m¡šµ4ò˜MÍÎ$3?A.C³úÚtÕ>×b³5ð¥Ìï»ÚjËß°RMZ¥Z3mSÁ^Ä"¡zÆr˜¶b”з319_¥U»Û#a³D]P$¾8+JëTå%+ɾp`Ì®Oï~"Ĩ.mÂ}j©TÕ´âÔ屫H 1FÉóq~Ib¼ÎãóÓoÜ×V06[‹i/X(³ÇLùçÎ߬@W¦^ÜÊÒ£.<½þqG`ÈW¨ï ‚¦ç›¸ˆ?|MŽ@a0HH[M­Ò79BB FÓ1Ù:ä½€Cg·Â¡BѨÐÿ6}H´Ï”‰4 sõs. ³ë…¸±@’5p¨~Hµ“€ÍÝŠó6¿Œp*E}<åø<'á*‚•+°fÆV§wå^÷Œ»Y6%ü¼¡S`ªÿû)’†ÉÑÊ âèé¿ýÊw1^|<„‡š›Ž‚¿ `.õ6˜gváÃÔs‰0¶ªšPñ>±F;¶u0³"Ï3²SƒŒ¹Ï¨sÞ*'‚¬M=áQû sÜ_ü€»Xíّѳ±•>kTW:’èX‚ª|¡;^Þï¬æwss=Ÿî0ÒsÑ ¶í°Vý=‚à)7Ρ0]"°CÒÜ~K¡ˆZq‹CÌTƒd®öOaÖvÃÜD­0©ºÃý“PndܛļTøâ Ñ!býnóÉë­ƒCF«PÓuÎ85VÜ_3¢CLX¥Ò`?/¦}û ê·œƒLž9°§Ä ¼þ½luÚ"#5±PÔÒØøúxæÏ‘yô5zvŒÊ4çf<+io,Íœ_"|ˆ^xd7\ i{K¨š‘ÑÚE}Y^âŒ? 6f‡€!?£’ Y²¥Ìq[ΊW ˆ!ƒÈP®Ê¢Ðî©à­ËCÁ½Ù\s”Õ[ˆt…’9¥·í–V˜ÌfÔÒ¾;în:]mèzž°¨RàùÒ÷Å¿|ÏÃüÓw"AHôÃsç0¨ÓR¯8PÀT@5Òðo@jÙë*®|ÓâäÍHXR  !¸†å.Wx"04•¯ZìXI n¸Àí½ó@–*ñ‘éŠ.𵦆± u{ÐL6ïÈ)ýÛ_M5(^vÀöPÂ7ò¢û9ÓoÇ4õ^Æ_™xÚ¡i³ž¢}US*=OM;„‹Ä.ퟋSR¡8Èñ9¦ÖØ|#®(N$BW$&†A¨.Ã\dñÞuSùÃ:‡“wô’À*(4ó-ý¿…3M˜¼Ê‚¢Ôè:`[L‚H$Ùn£ÿtü¸v±âSô¤0‡)‘­y« ‚¼^BK*Ý¥‹«<Ã&µ›˜%]“SË×TT8ÂÕÁ "pBàŸ±tPŸa·IØ]€·yDóU†ÿD¯Sr¸µ³,J<­1|ºòçl*á‚—x,¤­%§B»@èNª3ÉM(^%@-v6WŒVÚHkbðPl,«u=¿‹4·å™øUÔcÿSaPF#§†ýã÷%²·C¼ÙP<6m Щ‡`•Ú60_˜8®ÖILB³¦»6}#;kR9†ßõ•9®vdé4?„T󤃤KP ¯€Ã/)Ê‹åUê“Î"Œ?ª":qLkOF¡_çÛaG­ú•¾F˜Ÿ¡ø.à¿9»íF·“æzÕ}V‹Çj}ÚžŸÑýLI½+X4Õ²¿ÐeÉòQžW@!„ Ž @¼ÿ*7ßzËÙÊD`h˜'—¡öföm,е@2×FÄ>ò…OìY fÂÄh½²'Ò©ë*²ÀáJ\Y~4qšÅÉ›ùŽvX F+¢5R×NZÊ“àã?w¶32ÒxäÍ3?§ðvvuz²–ËÆ¬÷ºû…²TŒ6œœý„ÖNAˆ’×Ö†–÷ " ‘{âÈ4§€o°Jâ<ß!¼#@ÔC2.⌌¿¡D@fõÚÔ%À ­Í£çPþ€‡;'&­„®jßc±Â*ÖY£ßÓÇ´6ø+Ø9·ãžÛ¢ý‘©Æî+ˆhs“ŠŸèWKTŠÜ”›Md|_|.V¨0+[éê•´ëúý“.¢š|Á™ÀHª G-}7ªz›J9=øD2×…ÆòêsSº åB8²­„ZÆú±zn…ˆt•v껓Ø/È<Ñ$72 ‰y=OAŒÈó…3¾“nûÞµ/}îà< ø˜óÐb.À+0খgv!RÆ" °]ŒŽ˜6­IÔðªöOúïüÝ1« ¿ßGõ¢L3‡iq½ŠéÞ¥Ávvܤf® 3]ý o$Àãcè*¦#y „À´½ÎþEÿÙ Pí§‘»CC²«·ã\i98ƒ¸4ÝÅÜ•)(×hˆ-§yþþNÜ·‹¡Ï²"ɧºöÅz›ÅaÂN"Ü5}ñºz©e–âó6(§o3ü{%¤Añ­xèï9µêÿñÄ,J‡Ú”-½“t$±nñc£´ÃnZk¢r®êvËMXrä d&6å¬ÞQM—׫•Ž»Ò$œ^ËÄýp¯ßìMÛ!ŽO«{ÉÀ7ò\lå#÷¬Åe ~—ö ›ª¦ú¿îØRéÅÔF÷¤oBLül î5zØž”-”´+à_úq=PÜ×D•dé]0¶gØÍ-Öï—a9”—ö/XJ·m¾0WÿVìy6™³A6þQ íú7¸@#_¥TvÚÕg]JúWuGÑŽoQ!' Ѝ9«ÕÔs€@mh_HÇS•¸Ã\幯òY‰yµõ²$Mæ-ˆ§9ð5!6W‘ŧtx(ýt ¨.ãžímJx{;žqše z^'jqoŒÇ*#yصEØ-:²Â×3ž#U¯DÏ3f&Óô÷òÄ#cNß̪“è—ª… µ Ÿà£Å=©+Fßž/,7‚B™k»0ÄÀÈL:ÐC|yºbÿÞ“5¯¼ü…Gœ˜H‡ èÌ’ÕÜPáį+Š"©l=µ$ÿÀГž†YH°Ùk´3Ô ‡h#ÖFŒsØv….õŸjÖ* å:8X,ùm¸R5¥,>Ö3Ëy=”"l#É‹EÜÈýx.6‹ø±/AFá.Aµ×«ÛqâRŽÕF1®öŠ5EwOšbõ*Þ‹<æ‘SuòSÎä0¿˜.BÕ©'N³;úÓ ²#±RqÒú2pg¹C¾ÇkDsbƒíº¬{ÕªÂÕòÈš ºk:‘^QÉàb$*ÒÉÏy-Ì_>HÁ6ä½2´²àPãZ‹Î¨›Ø1§™q€*ØèfàCtÑ Ã»8(23ïáЕ­ÙGh„æ¯v¸ó7ue­'ÑMPnÝù÷þ™eZñ2|_î~DËo:#?³4§p¢´¹øO*€#h±º‘\˜üÓùÆ’ã«g!Hø|ú´àDŒ6=ö+2…LÚê\GeŒ€xæ² 5*†@K€jÃ!þ2ØV$=‹Y·Âi$ëÌÍuI‰UŠ|¬¶hDk¸BdÛÎõ ÔKÍØ‰øÎCL5¥wß‚uý(M;S/™J]ì¶y0 ±T½C ²Ëxœ´uñ“HÔêÄ‚>oTýp1‡i¿;~C›„0Ҩܤ˜ÏªÕU§®Ÿ.½qÑ\ÕLˆy|o|ÚL‚MÔJëð"*‹¿pýÙ”¤â?„Dó‘Ñ8­yœ"2¿À¤Z!–Ó=»fv#".²øk4ý_žLÕkdî‹TKrïß³7˜A÷^?Õ½ÝiŠ`–´òØX@ RÁÓ!)q=H#ÔÖuëõòz£‘ôï­‡Dõ—´€$3E†£U:+1‹´±ž-iú;ª‚¥ ‚›V7ÕÕȶJñL÷%¬^µ¦¸XQ».K12ý^&éW_NÞœʩۭÀs؇J˜£3LbòûèµôÃß6þ"æMfQzc‰µU9íÅw{»Œ½­ ²üÜãÂy'2ñ°ØXU!gõ$î7=¶™=k øíÿ1>l¤Xö9oÁ§¿º~†á`‚5»˜õª.$0–9Ö¤Ù{¿—³aéVŸ·qþsïpÆšÖ^ñ‡V‚$®»¾zçJ]*HžïtEC¡ž»oý<ô¾ænù8ç)¶O•½_ ØÙ?L"™~á¿¡õÙB„ ?hvÞÚˆê7‡;ài ²8å5½Cºrójk ]|¦{†nùC'²FíÝÜ–N[CäÄn}ÜU¼‰È®×‚ä}¨ þ;cio|Q¿%ub×ìÁ x‚Ö,Š†Ð†›K¬¢Ì4qõ±^ê™Þ[ÅÒ ‡ÞÆU|*ðñŒúrfü6ŒMû10—Lµ;Ô{ì®"žG'êQ—Z·ó®2²ã=2„yui%»°Õ¿?8Ô#@OÉ\w- OT0¢}í¯=~ŠÂ³$ktÁ½®$‹4ÛòHiøýX,¸Ú O8Xÿ…Ë_rsÈ®W‚«ÈŒåÖ¡1%rˆŽlF£B’Û€²ŒÄÆBG¶º¤=ÿóöŸ»œÌ¯¹`YRxਟ„’NÜvв«Â²PToÅZ@q¥–÷Á1ÌÅó…ìò>íd"»9GèÀOÀšò\«·Hè± Ñ–ÏFp„¦ØE¨w/µ-âà‡m ¸Ä×ÍÓ1ñ€¦Ã »•~½^ad~‹LÔœ\P ÿ'ÍåÖAœ/{@•ªþü‘ż.å›âuL!Ø”+@¼Ûì°~%!ÖåoS›<ЦS”âmç)ˆŒg-º·ÊÞÜýatGž0§}B»ªYQ£g¯»6ŠÍ®ŸsýqR¯rÑ´Þ €| ³ÒÕwTº*ðR9.Õ?…tôn´¤£<W ¨!“¡Þ ÆaÒöçx â÷ÿî‘.þ¡‘8À¸ámíÑ|̘ `f:Bé£R"—çÇþ°‹Moê$yiT­sö½ýUô»œ™˜ÐªóQîOÙÞ% e9 ÊE7:8~Ïr9ã#}¸{•ë^V¢LŸ)=ígmî åL7jbè ¥—ˆ7;†G¨{) §^ Ó+«Áqoð³kÊ^zÖi6ÖÜ~$Þ¼.¬{Gÿ'Ÿ‹º>:¼Þx ÝòInwý«iø+yŸjÎIa@_ö àòä––4Õ®¸.2ã½óâ¡Òø×“I9ò¶¢mħŒÁÀ8¼ÑåËPÌp›— ÒYÀ{[I³FôOY—ì‚ ÒÁΣ°£º[tØŽOD’Ŭ•‘z"¶¹sšù ÛtóGW•y‰$cÇ’·œ–ÑP³¤”s6¨edKqôWÈøBðÿSþ-ý ͌ɬÖöÍDkX¤Huc¯Ò^L Jec\ò\'“ªQÁ{ßÎmmˆkíA÷0îE#º×“X£%&ÖYX;´ÅYõ|ÍQ…ñqÏÁ:ÓQ1Øíî1%K—DžKJgXZyJ†[À{©3n‡¶N =X’?‹ÓÄAJ’¯ÅY*;|Ôc‹èØ|K4ªÆÄ%õ^ )‡r‘¿¼NÂkû¥è’ïvÒ»¹VC-ûeŸž79â´w”!òF6%\â‹>hÞ—6Éû’h*=úš@9(e‘R¿ÀíÏÏÆn4"ðäu_q“Eëo¹&3UNƒŽ­bà1]äÉ¿å{ `r&­ -'¦•Ý]“ÿ„Ù)q <–* ‹×ŒEîÞ÷—P}éô™©žF}£ZáÉ fÒŸLî!B6¦ ?ö;|šeá†]è+‰^áhßÔ§)ïc<¨Y´# ï[eá«…e¥£p”Ìô”‹t þít'±(ŸWŒ:2ÛÈJ C„˜”ÂUÖ æ±X‚écÕih–ÖØtq½P*w !wfÜËÈ^½?0jœì±A±EéSd´7CS—­‰Vk³Jªµ´è¥ ‚,úÜÑGt>wŒ¦)·B#Ïü6„íË>—'"ñ7™fÙO×`<9ÒºKý”Æ&QŠËt+ûˆ¢4„VýÕèu¦Q{t§6¿?-”g”kõÏ"Ê^ù­N,Y°¾Ü:áyþǬkܪÈó‡‚þ7ì9øå0yJŸ5@{ó:d6à½´åæ‰ðƒ1ð;ÎÉ=6·Q#T½™ÒCŸåj×+ ¶1·aMYév·¸ëÖ/½76e­W|Ð`0¶Ò Œ?ÝÆ‡gbÖÒí.Hãnºè<Ç%ÔõTÓ³¢aüp÷*žMÕóQŽ*æa¨¹ê‹á”ÿ –Oš·fu¼ê0›í-ïœ¨ÙÆ®~èB"«Â×B8öÙjpVƒ™<òë7‚z~ª÷ϵº!í 6ˆ™vF)Ã3º¡ÅµÖØ8ÎÚµæíuApÕnEWõeý cp.!>“ˆ¢½éQ=h°.-—h‹Bd¤WÍê,‹ˆ8>5¨™,Ó\„o/´çJ;‘̬h”ì½W8ý ³–5ò¥&’äË&³” ðêМÈSïµ¥‘óš<‰é2ˆ€œ¹‚@ Æ€ÈAö5¸j§*ŒÖrƒ SþÞ+…K6ø<$±àظؚ‡Óɪå9Ó¶`vqPÿ)5[u{ǃ¦¹Ë5θU•«…ï*³5©Q›Óßnr|•ª.13eEõP‰õŸ=ñkbž Ê¥_ +J¡(ÁSaxGé¤ÖÍiçÝQY€að(TñRÄú“ÊÈ 1‰ ”}&wE¬? mB~ ¦E2ãžQ‹ wäÙÎÝÙŒZ ñºbs©È-²SŠŸ­œǽչlz,Z”äŸD±)Z+2|÷Òì¥3Uƒ³Š_~({Óº•Š ©®¡cëlIxþ?ÿélß×µ%m,ÅkÌãF÷„­zK,yïˆ.—bR¬¦•ÿy×%ßàXZr[ÔìªÜp@¦¯Ð‰Ž«ÈIÃ5{g^º¾˜t¶vÑ·~¨:•‰Ö˜(ñ—WÇwŒ÷ˆ/‘ Ûë5è kT˜ e,p!Ž(ž<É…%®€Ê®†\ᙨˆ*±S†·OýâÄnn ò÷×ÃÁ5l¤ïLWV–Mg¤¶Y€ô¨Ýw‹‹Çؤ˜ýNm±Þ޳¢ì¤wtðYQ,lÿÈpt~çü*qÚ½QÌËjaŸÈc;äûŸu0d—øƒø4‡ZãÐŽñáXB/‹åc§(7eGß/>³t`­o²5zª¥¨ç·»º@bC¹›‚gzìÐ@üÛØý°fBÿ½ Ú¦ìš}ùÏŠJ„(Ûtú,í*©ž桺LÍÀýå'0Uæ61 î}` oÜô•ü~wG7…w+†Ž‚ O+’¢ððÁ¶v¾Š°!ž $“züjT(SßÔ3e. Á?G8wBXƒí„¾#~åQ0’yN¸Æ^y¦¡Ycqõᙲ|2¯ê6v’ö‚ÇdòùébršBå¸<¦’Û|å ös€“HVCà‰”<}zí9†ÓIgÖxþäöð­>ánÇ[`gL!´ø,š¤°äÿBL!>Rz5‡³A¾—#¢ü¢´æT­á$ª·aÅ#4G t'MΘ<¶ôî/Z",‰É?ëê‡hÜ g§äÄè„”®²| }À•ÈaÓEK³›žI_þíÕŽÊçˆiÛ“jE²þ×ÜR4.…•Ùþò ‡gc"©+¼Æt´ßÓBmU ^›Õ€\ßÿ\p8¦SzÑ…3½%ÚYÌ6„t¤K¯%CŸ÷˜œy#‚¤ºxú?VDµK‰!·OÏïMÑðŽã†9*çûÎê9¤mFj«ùÜNS¥7C²µg†\•¿CXÁ6”íØÂý û˯¥ó‚+Kp*Ï#Ô˜ÉÒïêžçW¢žu·&%ͺŽ4Å~ d'ÏŠMarFóÁš¹v“ò'”w)7ÒKÿiÎaR*ÊÑ‚0›»Þ‰ÆaÓø.Fi•!/ö'®]`!à0N‚\ÝÆ–ôÑ3*ÎT·jõá-d^°5N·Q—çŽiNmý‹¥ÊÔù¼¢<ç6llZÓ Õ¢+j«8‚ÿ‡^õ±M*Ñ‚§6èÝ+¶ÿÒ\Òb .~˜­ž2bÊÚ×x7{iÌ–G8‚ËxÅ/LòšúÞs-Y_tb¾r6™íéߌdB6\æå^Ö#ËGê꯹ˆ'ïé>Ð?l§˜â£I í2¶(„½V {™òƒA#Š_}w—®Î½<ñ1¾–ÖÞæÑOà²jáYhó:¦*ö4bT§ÌÅs“(Y“f2S@‡~—gãüê‰É!ïßãÄ£JšÉ®›êpÚ—%Y. ¶_+0/21€8–ÀM®¿iiØGIVÿ-BâîäøÂ÷”vØZ½K“u›ºô¸æBà¬P¹£`j\}G&OŽ~’Bá˜òÍÃõ`þöÂHmú°Ðn±5 Å5¹Ù'˜]\¸ ½ÆöŠÊ±˜X @ªçA\=œu­Ìàìì)‹Ei¬þh %úË(Vºæ Àrá¢ý)­•–2×8ð(m»Egä\NnŒS×_× 2øÓº½4Hªv:J(anc+¥%Bç4Øäɨûú(O Ùn Ò@øCÉ)Ñ:d,m‘õÆK:Éy¾·@»½…ÒZЍ65>J ‹Ò튜Ž=ô‰è)êæª²ºvš‚²jȯ—íc†¦öO¯\øüh.3îe{I÷Eó.žs˜óƒ¨»B½BÏãß/uì´Oë $Ëdõ"ûK xÚE¶˜.`X_6ÿy‰­N¤#þú´–bÏmýެñr|ªÙíR„ä…¸hÀ€Ã×޳E0¶Cÿ~{e³çì»À§ÀQÔ9;5.;çè®AÝÄDK«¹†séƒDç|—:üI$9aG‡­äþ TYrTnû«ms · .ÍûéJÉͱóÑ_ÝHy4ÙmOëJÐ6ˆiªæZï}& %êþj“ŒtQ{äH!_ô Ê*å?Š¢@ì´F›ãÀ6±˜ o缋9zdI¦` {6g(ß#Ú8³¨Ö¿ÖÐpDå†{V)ühÓ@ô£TwZ":û`§ÿy.£«'Ჟ|Z[QmrýE»=CZã¨2}´bv¥aT«q̡Ȇ<¡°JM*ŒEÚ7¥ …gåUBÀO¤Š‡AáÓÛp¡E!øG©Þ€;\·'¶Zág+ÃlÀ\2zþe,ž_|¸°ˆw¥èÆqÔ|‹„ê^‡†÷8ïFà¡ =Óñ,ÕU„‰Í“`íëÛ¨˜ûg1½× ¨DjS€§^wå UžÓµü·œ ñ”€¦ˆ®˜vjtÎø]íIò‰Ú¼}œÿ~Tshô¦½œRè ¼Ìº¼C›zב•Æ‘ã6Xf/ùssTL½Ó°pJ%4–è R†^¾u2­cvQGù<|h³ç”Ô¹*jôZG¡}+#þòšìÞ3¡ÕCK v·ní¾ìÉÏKñSÆZ½„o6-äOçµkð¶°©c¨{%RÄ}µ/Ä÷^®ŠÛ7MáøèDTa[ã­½(_tn6:O^z’¬"â |î‘7 „9‡ùá»Xj …ǪBófø¼0ÄÀF˜º/e¾¸cÇ,Ö`ë®ͦ‚ôAO¹bJ wð?±cÃQuÙ.N'g¾޳$}›¨²Ñ}ZüÐdœS]Tô¶›\A5´L»Þ´òð#Ú˜hÎcž_H7š€»WÑï:iÁîž]®«Æ7î2þwƒ Âm6¹Ù5Âh©½°-xÑæÛ4É 8h¢ä&Ñu¢2|Ãö2ò!À&øçlœÚx_êú£pX¤háÐGßÇuœ\Øxó\þœØÇ•´îeKÂ…TuIÕ{#jn(ûYòóI6Ûšëù˜K?¼ \ú`ÀRV€Wư¸sÕ“W10±Óãç¡:ƒÁýs#,ë¤ÿ×Ó¶õŽ OmÑ¿cKþ¡‰hnnªAª6 ·={õ|ý¹ÑŽ{eJ|·,h¦ ø‚aŸE÷“»Ø¿ñAPeÂ'̱-‘ÄÃóUášÛa¯ÕØôÐxÃ6"¥ÀˆlÕÈõ&îôØ› ñ)~vúHó»Ïý2^tñ+Û|#þ¥:²1žeO´Cn»õ°-KÃ+{ûÔùÛÊ_¾LŒÿV„UÁ6ǯhñ'ŽrùÛIF¸”¨øÀ$® Æ·ý9óüO "ÿÕ¥.Iª ‚y+éY¢isÒÚìÆåf½/×n)D€û`Ø !£×´ò l¼•ɾëÈeZ7ªa®æ¿lyc°‡9žÅ\­•§M§»™Ž”Tµ˜ä íò~ð^]cÈk ²Wéˆäp:U7è’m*Ÿ7p•¿$ÐT•:&KAtVõ «õoÖИìU ìsé]Úr€Ÿ 2 ŸËÈØŠ©!Dȯ±ªUð°52&a ç:kû{±1’TοÓ‹µ£Šíš0Xöáî+Æ•7¹Ô ˜t Ÿ²ˆ‡Væíu—?EŒôká¾;Íz C/­3dT¬it—™5òýÀÁ±ÕŒ,¿À1x˜‡ÈÐ_GqË+¦–æ+’ý³.l%™­´"6øüÂa®yy·+‘ô\D íòCöîu´?w²—Eñ9Y˳K61Ö»ÒBmtßœ´Mƒ¤…gÅ—Ô±p³_l3ñOJ¹k5ËËÙÀkõ üf!Ü×K3[O\wW<Ÿõôíç®óÄZ€§Ë]&=ug€‰î1®XýÓk6ÔcI¡xäS§V·£:!/Ÿ±Qìë‘©WÕ¨U­ôз0¾Çp?ò+ìÞ êO’žì¨”Þ>f+QJlD üæK)‡HXú"„‘Õ—”N"ˆòs,nóY¨´²uÁ'p•Ú^âvYTœí§ìÁÓ¿ÅŸãe;}ESî`=€àïWõÄb– ýz`Ä ­Fäê>íY†>áfUõð{–}õÚãFp1>&Æ× „µTØkÛ˜Uð¬vI‚Ïü¶)Wtœb¨’èˆ%×V°Âùí<Yüùæ‚èÕL›nvlå—as…LÖÖÉQ­•óÚL¯Å›¸¸\µ"s…æjí&1†Õ)ReÕ4ôË5¯¤®ì—´Ï«Áö8æUãåÏs1@.Šs陋@´Ãy;H¾üü€W‚øÑn¡|ïzi¦œô*€>N°)=q9êÐÏÛšÍ|i?J _°È§€ß¤•)ò\IÍ0ÂB ³§ÌžmHTL16;ã^4Ý—©%ÕQÈsöËNÒã,¿'̯úWWŽ£†™xc|ÐæY%³ ¾ˆj¾n±r»”½©ØMøù³ 3𬠥% Æ\.­Q—ã”&nüƒRÌíÊpÄzk.÷¨W”ªëml}¨‡Ð%¼/¹£)§do±ï îG£÷Ó±ÌKk–V<Ü„Fr¯ôSã§A±J“ýˆ ÔŠWêk&tÉ×KÀT–AçoTœ6×y³»(E|ðVúÔÊ Mïü(5”27´ l±ºÏ. ”t-þ¡ž‡ˆ¡çÂ_ñ þÐgL-º“h(Ÿ oÑÌ|dóÌÁ»ëQpîŸMEic¹Âœ»ža}œqs0·ÑüÊ"oGAô|ŠÇ7Š-†ŠiŸpe–^jÂ~2¿ZÔäQ1 Q²€ûhÑ{&Öh^Užù6° ÙqÂ:©˜“øö©û‘´ /xÆ©ÌpH_ôÓò½×Ü”ç¾ÓwÕVP% ȹš^f íL,ÊßÀ°©F²)6ð“<ÐùqŸaUÈ£gÏΚ¼Æê­9kÆå‰¡Yy#?ƒ¿+ˆ ±eÐâÓ’9«føÏãš1cÌGÁfwù2klyÊ…S:’ÔuòÍÕ ToV7¢¤÷O k{f'„÷îH³ÞˆC»…ˆ\´BÜηhe¿ìníˆ?>?sCÁ?«°½ð^®8Ê UM†¤o˸s¦QèUŒÞöÄœÚódç›1à & C‰ó Ij‹ ð¯q ¢ý!o<¡Vªš‡Dd›•·²1ü‚#_†òi2Á“q¬í,­oú,8† ¤Žj '›Ø×ªWzË*”R%äF.y]ÑËò•ÑaØ.¼l85œ-xþ%©¡®(†µ÷bÛ¨Ò†‘u¸|Y#!ã&[Ü!(¸ûê?¬ÌgdQ€šÚôÔƒ–?Ø%Ãcmæ6`KQ0ª‰ ’–ƒ^,l¯ÚÒ›ŸAÃÒgÒõ´åaíÚG¶¹¹tk´Å0£Zs@Åúiú˜Ó®¦ò’´¤èŒÎL²¾Á„V.§ÑÈÓG±ƒô­e‡ñ£ýX@ É>Ûþ|…öáÈÚ?·ó3›5SŸ¯° dLáHQÊôòÌ!¥F•ËŒ/„ÐT:CQ~H–åÜÐiçe «§wçYKÓŽxó–”9èH^÷{#wL#Laèªÿ¦–*÷½Q>=.ˆ‹À—ÃØ)N‚†~¢„ÀJaÇÕÖÓ6^Ķü¯ZTÂùÇÝÅ‚›y}•ÈJª?ÌèÁk<—]ŒÚ¥¢NC¹ xûxF¢Õ›ô3ç@®®Î4º¨ƒjàR`‘ ‡(}ÎÏOÍñ¸·K:Cæ”Á¹Ùº…ØgÜÜ Q`Ý274ûŸ€ÂxiÇ·™=3ÄàC³Âf»TÏ"¸uEH+…øSR t ab—?›f÷µ971PMzÃÞï× -npÕ­ú†mÖºø¨+UãÒ—œ*UgÆ|W>{à4Çt*—D»ˆ˜ÕS4Úó²iò=oÅQ}ò¨ "Ê!ØgÔåwƒ¤ˆÏÞ$³Ræ¶©¸¾ÒëCÍY‹·ë4»œ’xýI¿+°jl@ ³!ýØzó:?V1J%=†)-—ßQúfH‘.¬„Ùû[-Ï=Ëî]k¡÷þ©¤è.ìÀ‘8¸çs£ÔÖ·ÆÀ@uYZÛÑÕÛå…§RÁO ÅvD<™”B‹7Z&i¼WKfΩ6´ÝÓ"šc³‡DrL ÷¥ãqf»†ƒGHxºïPíÐ6žo]=ï»Kaò¬LkÍy÷®°ÖÀJ±xí]«…Ï ìòÔ8e »ŠNÞ )-ÿÔ EŸøK[ªÚ‘ˆµ+¥Ûþ\]xoßí÷`$QwÍî"ý1–ØŸŒ‘î7_ßmªÆÆI„BÑ@%ül_PãœB(Žtªiý¿(Ÿ3´½õ1&–jmý¼ž H ;ñýg‡9ldQZW“t©²SÕ%so˜Í Osùt4€PbŒVüJzTºbŠ®‰7cQ£+û|»>滹aŒýLòw§ 4_™#M28É×?gÁUtMK¼ )­™X^† Ó{&Hì¹÷è®vúÉ÷ˆžÎ]=Q-Mk^Z®â#ÿm£ s±ð•˜/u‚èAÕ‘ˆR ž4"­]Ëp÷tû”è® ÉÀ$űr=Œª¶Ú6üËÿ´Àš.`v‘Y©Ö€x”·ê7‡Š¥`3 2?V#Ù}*è>¶[­¬èó_w^è9 áÌM–¿~¿™.-Þ¨ØçÿD=âU{³”¥£PÊ€ÍpÆDÜ»ÁMjü3›_­ÇZ€ÁCr2Òª“6¸8O%ÌDƒö¬qɨ½ÿ´•ÃC Ôœé:GtÛ–rU†"zâæxrn!%ŽMCgÃÝŽ¡Û®9i+Ëìs<ð&OSèüWšxë„e×t¯ÃifOjûYÜ~Ÿ*ñ1’žüñí›GB¿¼¤%)$ÌnÚÑýYƒ ƒ(Ö8Ø‘êJ «øóP¹"ù•ë·^ÄÂ:?ä- @?3‰ÕÐy'íð3ïɈu®Vúqýa *'‘ŠÝ©´#¿¼ùÎÆ“Yhé™[€î_@6H{!ä°æì"‰ÉJ3&¦È ™/)Ï-*9¦"ò·$‚ãaâZËvU[X«R›^'V”· =ÀŸ–ƒR;xc3?.š¦Þh§óQ wå =æçì;5†PqEÁ;£ >(²ØOoLm=Ò'l}A ¤ò²VÚf™Ì¡»?,åyKb×~àɳ‰¼‰ês¡ÐÖ{jÁÔjh©ÅFq‹½vʺœ´Ÿ4—FDÌ‘a|Ç ’‚Å¥?z¢›Î½ã¹¦‰¿žöÙ@¿ªË¼ö Èt˜[QÚ²ÃI#¤[üö¢Š-ëÈ~?Üu¥u;­Olq·„ÆYÔay˼'J4÷›ç¿X ²c½ö8‡[Ž…ÉRŽ/ W¿UR-Ñø¨úÎ$ ¼ö'YUÉ)f°J(_ÝVô1òäÔU¢¹wõ~ÔºBÚ­‰8~OjÎ5×›“FÏf¿ ’@´¬‰^²ÚÇ{ÁñÕͦ;övëÆëºÖrZÝV²¬-ÅT½%é4èÃå`˜Tuà“–¨T޳ûÓ«ÇùF9Ñ®¨•sLb’[”[ü-úÆŠ‰8;#WG“Íf~×qÂfÎà!ù}L×1Õî3 _1ßSÏðÇÃUö›08\h“®~ ˜ç¨{ÍA¹Nµ†wB§I´;ŠHØl¢‡Ø9Ö ‘BŒÈOEÛ|&ߥ;Ô5Eø;á&@BfÇ>u3ÊýóÇùBŠÝ5Ï%tèSÁtÏ †ú‘âF8[ÆÐVÁJiÃ-¯‚gI/üÅ‘] Ô’™w ¥g4§œ_ç8ÛÌ_£·Q.ÈtŸ…ÉÏã«®C„b¦¸'ì k½Q"5 îxÕ¼³ cÖŠ·ç¦ßS†åk¥¸3c%Ʊ8qƒÙ÷œAû$v¶Jõz]Ç7ž¨<6CpÚøHiÉNø#ÜDÊß^¸ÁU©3’åy»¡8›÷ë²Æ>iôà£È”ˆA!VÌ󲈘~þz`3õå‹LðÇ™? sº/l41[*,?h(J9ȱŠõ§Ì°ÍŽÄò u½BVÚí„4ªëëx 7&¤÷¿(f“XXŠÁ±œ§°¡bIóJY^xˆˆ*wëà¾îÝ]¶èS"¸öb‰$Ð]ž|ñž‹¶“BAÑJj÷^ªàSÎ}ÇúÎ%ÿ?ÄK{Aæ³CÚÌ ÒËÑÒ¶8œ¸Fç´%‹ºý£,íeëŽhæ%bÕîzU¬Æå V‚ñà¶œ×Õj2’ÙSþÿ鉓7EÊ¿R`Ä á_+Ç%Îðs§*–õ!T:Caà“–U÷ô¤xÜ_ü=îxG1¶·–r‡[çV̳yÐÊé*æ’qW&À8Þ"T™óÔj MÒÑNqßÖz~o´”»^7÷GBoßpÆìÀu°sU¹‡¡‘`(•4è¼êCM'îÀ­¦¢j'gPx¤©ÅɺÑj¤ókÊÅþA$ArÙü4÷fVlÆR»‡¦ÇŠö²ìߨE‘¹Deʘ£XY šËë¦Ï±‡WЏÓT•´•9¼»ÄIS0õÙN½ZÀòJãÎâöÙãÍðFܬö ¹TèiE“'Š«›ª™PÒ~g÷îަ,Ï*÷h÷6ÔGÛ5@5´;X,íúÿ+m>ô° E&ãj‡ûìEÈ[j7²´¨Žé=A¨t@‡ÞÈ¡ò‡0©‘o”dÄ÷´vãÛö1 xøœUÖmjz†Ÿò¶10ÛÄc'[-ÞÌË$·tÇŒÇu ’þÇì=JV=F0þØsßsªÍRý·¥ÄP„/ŠÖ0ÒBȱB)j’z˜ý¬Ó1‡%%1.ëÖ3î"TÕŽ »N¦¬yžâ7–æ|3°ŒêèÉ‘;U¾ï”H V³Ÿ·hùm ´,Z«®öŽ5§…S×jà'©ès†ûkZñˆÀ“¬‰‚6.ࣟòÇGyÞ…ÅпàsI¦R B@htއѪ×+>Qõ`æØ+DP6IO è|æúÄ4°KN©_:<:{À ½wÒ%{ÞÍz–NíȲ.¾ˆ? ̘¼¦íw_>ÍGxÖªkR7‹‚ ÐP홑vŽXí3HUQçÔR™½V£ÊÍ ízÂÓ•›ì©Ñшa×l(GІº×7vþQ"Âø‘ê’,ÜLJäÞ¾ù[¥Ñ$ßr‘Ý BKD”¸½ˆLÖԥċ¾È(€¬¹ŽÉ÷•¢VìØØ>j|4ÕÃö#7¨€ ší} ©lˆƒë‹%Òo¸õO:Î$<ª›©R¤‘ix‹ä7ÛÄ›t"Q˜’ä"ì BÒ ìÈúrÒs(ĦWÛÚsÒúÁw(d©‚aÏÓ뱃qpò^‡«TÇg¥¶FåüD–ò>È—Ä:¢r.·nÿrU‡ªAEÚe]äòô–CÕ³ïYFV=ÏöRîA×òl‚œ:h¨(B‰ï ðÈA׿ŽÎFýt£8ï­¦­D ©»äOA"aÍAZ”êþ3UŠV.¦QÓ”/¹VÚbàƒu h’çÎ7ì /Q–)yèP‘Ú•üÓ gºÏ¶,Ê­Ï0X&`¹5‚zrì¾…–7 "=¹l‡Œ‹Ðœ×ÿ»òr-ä×Q§ŒX/VÔâï`\]– ²ÈNr—ÕDVཌ)ðÝ_Ù±f÷ÝJ7ÇIÌù*ø”xú íPçøw-ÉvK»Š°lÖgŸö¤ô°àOÖ][zÿ@?â6eíãŒ\K]q³š‰¬ä«~ÅÝ Ó{{XèP˜ÀÉFA©§°ùdZh`&dC®$Ž«³"‹[m·)ŽP…××nÊ”òöfD´Òñ H ®³$‹ˆuÞbRgøMªŒ°dCÊ7Ø{¹†@ƒ-ëx æ»@+Š¢ÜŽˆú”›( "êh‰…1iÔ‡ž W ñÿÁØ—à.Õ=ÅÌ<⫲uÎ4üjK0ÅÞX äö‰×u&_¶Õ)°“ï^i•24SKú§G"B$€3†žÞs¡¯±–™xÚsÚm¸‹¸yÏ|£($/ˆ±çì×]vOC*"\0èLðîVgJàš.ðá+m,”gÅ Û±ÙY;ln¢L¿ ÄìÙù¶ÔŽÖ˜„² vn»çј`Ôx…o>“r” “Qí¸X4L{†Vס |ÙŽT?‘sŸê"nœ; £X¨Ü'ØôàÜò_Aî ^=±jTæã\•¿|\úÜGKßl3œîÍ­B§7ÐÙâãt\Gy5í–ÚON ´{å Σ5VöL#´W*†À _çBõ¾u@A[êð<óŸW€™f¯’rÉÏu(‘ԳÕùgœÒ’”8œÓ餘f ¿áIc3­©fµVL9<$]ïšù_%wÉä;q=×äàvp‰&Ú+1éøøíì=!ÿ†vhÒyekËü;~Dƒ «O¬4F¦$ëöÿ@ê±+EFß7)ÍGtçÒR鋾G“º-B EcH‘ Åã Ó—ÀòÏÊfÁ;gH¸ô#^5@xrÂ|ö•j …ì_ÌÚÕÿC•;ƒZà¹!™RvðFêŠsYJ1Y>uø‰60Í‚’©i"QUÿZ3mO9£÷Zwž¹÷U._jú4ÿ~ò£,ãwâ%ò%/NH);”‚f¨òNŸ^,W1è7gt; Wÿäèøƒ+–ƒ>•2÷Û“€žÏËF!é¹Y>¬ã c!†–0QÖuFmß•€„·—[f_uܳ8#O¶9³Šs¹Â_*â93šú óo¿¦ÛþÁ½­q¨]Žé–@ª*–û€(SÀÓ¢J ’Eœdðo›'ZÁÕ¯||“ø«B³µê·Î‹ô½à çãùhEe÷á”î ¼Ž/mÄ»<ÐÁXÀA: ±·hˆàŠhvˆ}¦Cœ}lÐûœmÛMOHe9-­¶&ê¼7ÌB5_s©ubØ •ü/YlÞAû“¹ÎlSàíç-J(<´cìõ.Ç|23Ë@²‚pç¦ û›Î'A¬Gícbû»X8…Pù1Uáê9žn·\¨¹PÃb~ ˜Mð.¥Èá^©‹Ó­ãNáÞî`öÌ @²Æ—lYÐ?±¬ówXe"©}Þ'TPUG¾ÚAß“YÆ0&¤A5@(TL~?ÖHÏFÔª‰é ±-k4â©¢BþX¡³ý¨Ë»0åœd­ŠßTd¸Nã.9©/Ûë*G’õ:c¥@Ý^«h=ŸJµ“TO2†lIKqxJÆsIMoXbô90nK;H™ØJ€_´ÔBÏ\ïù½öáx–4ªF)‘÷8‰„{¢Ým4ÙÈ»õNC„ÇÉÒ…dÝέO~ M sòôß#véµKÅšû¨²sd sÀML5dÊ÷ÒÀ./%ͼ÷Ò:£¢ð:ò…«rà%·ÖM\Ô–UɬËA`^cMdäâãÓJÆPåIÿ•A׿P1s…£ 7O’ëÛ]C˜Ñ~#tÝ*•½¦ çÚµJ³Ú1ÒzV÷¤œ :NÍ¢J±'ìùüûtÞ1Èk77Ê×WÆ?ÚøN }‘ ÒQ`*\y!á.H°¹_'kn Éä×ämfÃñõ Yÿ!q~kÒù-÷êøÒŽ®·½‚㋳M{ðòA]h©W+mÊ[ºªÐE}ÆâÃÒð™üRmö²·Î¹A *ÜîâšØVó¹Eü³aãaÅxjŠ˜¥@mÅÑ¥"]¢ˆœžU¦Tº;瀷rè|$Ž™ûð¥Ì#Šñ¶Ð´‘ãñäm|Q–ߪ'…B‡n` l4RçùÔy«kÁÿ–óå åKdÏ:tð#ü탺Çl™¥¾Æ6àP°à›èË ¼G`̨ ÄÝ ó”Ãúá„AÉË”²Z›²4ô·×ÔÓÓý“m1ð-`Û3'£µþ²çQ»4òò°åê´†ðAšWzPО"¥„º6Ë ˜ÒųB‘*îˆBŸ¥)¥ ê`ƒ±=ë) >£Ð() iýŒ5Eª˜Oo¤"œ·ù‹Ã pÝB8Ïš‘ 2_WÎ(OAEA¹›qå‡ÃÈKDÙb’Êãqf O/4&–øJéÝh/µ»)Bpí#í_ô³[ˆºYRmGö}!Æ!Jv‰Û®»fçq¿ÎpŸ t¨Dœ2…d\'×ûmÆd„(B§‘2ÎŽ€¸^ƒÆ^Õ<œßâ—¤¸Ø³Ož†ßÁœŒ  ­ReRb“…·†Tö¢¦j—jqS¬"ì°ìì‹~é± )ÚŒDŸ‡y‰„ʵYðK±Çåfé}PB oq®…ö?køm¸~ФRW¢É5l{2m`áóL‰·òabÈV•?ùËà”8¢Üh–;ÿ`gD:¾^KüY‚—xaÒ’ê‘ßá"¼}IzÓ ^z¾ÅN U¯õ} ÉÊÅ«ÊWä­_òè€ÄB“Csiöso›‹ú×e-] àD©5aÒ¤”žÚÝŸÅ€µ&81ek9j9 Øaí¥°ýƆ‘~ïÔri³bm˜K1.…aïôlÍ|æÑ³õkñz6Òþv3Xƒ¶þ^œU2Ðò}þä ›Õ(®¾Œ¼‘iuÍšFƒ%ƒ‰Äî‹í‘ÞnV ²®]={'‰ìÐê¸~ìx›SÞme„dÖ š$ÏÜ31R,J’¢B$o}E®»bÁ×Ï|-xÐYøjÕÙ1Y·n)©?ã¥ñÉ3¿é’6¾`ºî‰bèþ¨~EõïS);{ÔÅ õ \Öj8TI͑ղTB›.l$™0F›;å‚Xv®ÚlŒ€bN³¢ûC,ÜÝäÂͼy°s@¿ @´5º¥å¾úm³“t"K+LŒÌ©½qn”\‚äjòÝ n-Qú-kÙYÈþ¡Õ,!Ò“á›×3ò‰lý ”Qz2…î½a­§]¨N½Í,pIü¶L¨²Ø—ס{Ý~ÔÈFŠ/Þ'¯0éžb¢\‚ø„VBUœ4·úò޽b'œö\Š¡¦Û?†óPrÙšÌ#•„ùÌÁèº%Ùü£ ½“¯mÑ?îMƒ‚¼ø°8©Ùšø$½Õ‚¦'—ŽrãŸs£ÿ­ck‰Z9enX. ʧô^óÂ…%+üjÁ8€¶®ï_ž‘ªé ý+|cÙ²½ëb,“PÓƒ´[A2^£ÎKˆ¡HÁ˜` Ì_íÝäì“]¤ŸÂ©~»"Wí<ÃÏæyS_ÝŠ$³x×½šSë"BXÿª´j‡»%ØÁ ?Œ©ª=tByS2çëƒq~=¸vZMí¿³‹ƒ“xSÆ„“z¡9•Zq'B ¼H†œ" :Ðà¬3á 8ˆ€÷†y?û ßBR¸UÏDˆàí„Z5|+´îé@_à ÆÅJ˜($@pÞ˜eQ.j°­èS‰Ÿ7‹`FåÐópîTðƒnÞÀÊÖÏiÃl!¡ßgþ¢úT*íÓ–ªuˆG¸Õÿgr3WŸçö ¹= [TõÙÒúßJÚ:›{cöàªøÈ;ø¯\8(’_ùMóD@"’dN6ƒXów:•Žoª· ¡]«‚slq0N´•b”n~³‰_ú­ür]GáòÆÜÚ”0#"yÇ u~âÎ.RðecŨ’ÌH#ªwAÍqÙa\=SLçû0Õ²åkú5¨’[<šR©Ó¬¼•ù&é*Ïbù§Ê¶?ÞJ »i¸ ÂD ³1b‹EõìÁåŒ“Š¿‚VÂ3¦«„×Q¨ÂÇÉSŒ¹k²—”вàäAJŸJ³å~ë54_Jäç$­à¸ûêåÈ‹QÙÿ*nÍ€¯ ¿ÐYCæ&©MI ˆ©‰áÅ·1“þ¾TçÉ4Cµ¾çó q7c[#ý”3ã´²ôÉŽÕagF³Ñ÷\Øó éÍdl–­tÜžhN…¸¢;Ç€õß>b‹}ìˆ?ö &õ¸n¢ì–ÜË:‹ õoá%/Ý,äæïËœ|ÂrƦAÑžµøÇXGMïsXBHtÔõËàzkh%Œ^,ßt„9.3G½YuÝòn)ûvÜêÝN¾lºŠyœ:¶›9hè° ‘*ô¢ 8‘ ?s+gc®®X ÌG‘©dˆrž¦‰“DƵj” ùm@YªYOH×Äù¼Œg&•\—«ft]öØV¡ŽÿˆæÆ“Äf³¾Úa_a¹ŒTZd“‰N¸_[Þ¨·…H •·Ilï6«|ê_šw=#²ìÎ9ö¹<’!à=Ã=Rê·FmêoB^é±®¨Ôjš¾¯Y‘9µ‘’Í–4%Ëï‡r˜Î¸S³%’ƒ¡o¿ô‰…Ëѱ€0! q»¤Çydj Ë:ÙÔ‰³»†b»X€ÕeúbýhŒyˆ•ó3)¿¬\Àö£n”„IÇN sÆfûýNåLìÍË‘1Ü_ˆmWÓ— s!¿o.Ȥ?ùO¾3äöý'*¯Œ`L¢jѦêeŸ¤ª}/­,"¯˜:k‘ƒÚfñjà̰ÿ¾bK¨YÔ5¥p1åø§:jÁùäg«›ý(ý BdªJÈ‘"©ú×ÔÁRb’Üå´%¢—¾ô;\ÌÏ¥IA†ƒûØ©kÛå¶KDXREþoè?ùc"¡^H³²zïähÔÊ(4s’jÇ~`ù°Ûøz×¾û·ó×Z6ß„8X¶ƒ†$1[Ímˆ”µ$¬óÌ ´åäïcÖSíÍDL@ÆìÎR ¦<ñK ’iÑÂAÊÍ–´¨}.߬*HNÜwÉ?ûª—/vÄ×µ€Ú&m¬ù5Áø£P7P­f4_KÐªÍ ñ˜·– ó¬RÁ·E@aXÒ,$ŽÎCÿRÝ'¿“¬zt\!SM Ûø« K/vB›°¦@Øv¾@ÖœÍ\à‹5gl™¡9 ‡ÙX§´;\_«j‘ÛtÔ¯4‡†Ë\õþ{ѳ2£¿R—4P9ÄÖ}½o«XXŲͽ³àêþdýhÄ 1omn‚õ¼ïÞ^{Þg7Ró¦lk·à¤¦C–Ï"œØ>¬ÒºjE<$üå°m´z2Óõ@EªÈ‘>sƒø¿ïq̬ynÿÊ Y+Kái­ÏP^ô¢tȪ÷*&À¨fúõf©ä´‹¡:ª”YqK‡;QñŠçÔD‹/ q̨•aöc¤Et= Â3ˬvú7ð)“S°=‰½h#Ò¼íÑÒw¢¬P°w¾†”ç»ÀTæÝyñzô¶wÂ*9Ú©”S‰\h¦üÂó)l»²€Œþbå ó1é›—Dv­ÿÃòi=Ũˆ‰h qé`’ƒÌ©ù¨ûz4Ù€ÚcªA·UÙ7§” m5¼»[?x‡Ì£»5€qqvÑ{á‰f –|nFQu*è­ÔY@R¼Y‘ -²,TL òèAËeq‹@T~©´ú¾N?fÖv1"Òµn¡'LR‰ƒÚᘉTš)-ý§8@©µ¬9Ùž¥a 7*ꤛB)õ—¤q¡z:ŸçNúz‡BÙsU‹€‰s£š ï!UjŽ×}†æ6Ó(îÿÝuô+¯©gaÝËzŠÈ>ü˜ûgÖlt£EéPΤŷT{fãÉ_HËxAëô Šé˜SCôŸ¿¬°5ùFÆ~)á¨ÿÉf®¢^žO7û¾Î©— É÷xþ»!¤¯ b´9ÜKý/úKé†Ñ³51¨É3üâ&ÐjºuNƒKtΑȊ(„¾}[áŸòÕŒ€^'{œ§¹ùKÇl èH†D½ºY­º^#Âj¾çüNµ².àù¾Ýû™ÓD;Ô(ÆÔS£¨º/+„MaO|®^ÔÁ@˜\áÁRX-:##ðM>œíU±1¿¡6zêgîbý“¢ØE‰5À_+ñæ¬3ý$ÇJXÝ.…È<Œ;vËBµñˆsÞšpŸã+Ò…—ÓŠ-\H˜þO¢óËD@oi“ þ°VIÇÎf©ªÎì5J&˜ ! m€— èqNÊ·©O§ fÉñO‚ Í9’£E-ïCÆòÔÐEnåÇdõƒõ‹éX»„uƒÉ}”óÕá1˜>L´4¼ªoŸ<u"DÑ[B>”¼Ü$d"‹QvàÕÃ&UXÈ!F¢ž¶ûx€àÃ&² Äà>Cue¶ å>kïŸÙŠ(?{Öã3¨–º·<€"Zõ©ÇWÚñßmÆEÃ2 R€}.—©Ò§jJÊAÚ%J •h*ëTõÀ¡j—ð´éWÀn˜Lº¸ ˆ zïÈ‘MjÔe´¢|U¶%W¤qä¾VÑü_|µÙ!Ú3õ H/W4‹¯¤Ç NÏê¦'€ ‰õÉm– ¤]Ñýyà‹\±l¶ °Y=¶©ÜÁ4üí©3OFQrÌ%ª)JâΗž“ˆîÊ©$ñ©Ká<ý2ea Ã;„}#z±¢ñ<³§5†Œ¾'éǘK/üdþ¥…WÉ[Ôì!Ý¥“X¨<Ä-L¡ †'(¡ßÞ½m^,cƒ JòAÑŽP”î– ø|»0‡U¿~‹®èK¨©O<0äL…7¿îÊÀ!é!ã¤è¯xV4ìj,ë{w†2H¯ÞFÓÆ¶\}‚C’’Ÿ·1(w‚Ø=It•Dë`Ú!4ØÇïõMš„#Ó¤c>å9Y¶héÜöM|ïʪÑéÖŽRZ[ÿzþöÊ9T1 ¹^é 64Â?&\6>X=-… 㓊Í&J-*@³Œ®m¨ZœpTÄïpÞÿ÷÷Å1U ªЉ‹æçyÔŒ°É¼…¦L²¶ä9U–D>ï’¢"Rö—¢cô+÷ µuнfª÷ ™ï˜}o2Ø3u-[Kй ÍbˆIûóåËä¾VA–tŸ‡f´³•ÌȨb»›ÓHç(Ñ…J‚^¥BWŸEÜWI3Öç±>Bz•ó­ëžQ§ •‡I>c¨†_åf[^ÔvÓé()¨Óò>íœ6âßd—«ÊÒòßÅ×QI2!z‰Éï£_ßËï¤ÂéÕ¡?!“„“w‹Wö…xö^]êxÅÚ—\¸£æbUKåÁ>:Âc„°%.`¯ßö=N¥?9ê³ðñOT„%R”çÓb±KΡœ6b㊊†¡ÕÞåÍY†·ðyN4DÊkrãúý~ÛTä0 eõJÀÞ#‰ØëPDwW´¦§O ¡)ÓˆqF-•²aË“mÍôc—Ô_çáÅ-¨t¦xk~îžþÄ¡d=,ÚZÇ6sÕwj¨K»!HFTvѶ‚ùk­Þx%E›Zrî±²Hü"w j£w°ãÈÛwHë3 ²ñš  °<+É?ª žáÔ&Á¦5ƒéΠÉ©Âo²2G~-»¯bdTGL‚gƒHãï ´©w÷“–Ñ”ÙfµÇÒµ¾‘-åNµ"q354h:æ._WÁŠ-4 W L|]rhîüÄ·G7[«¹é×C'¦Ýú`íü#Ò©M “UDJÄ3µòá¦PŽÐÍÞƒø:eyÙ#*‰+]û2ͧÒ]ø·t«_~áíq£2AæÉ™ñcäqæ‘}ÂæÛΤ¹øHD?F­¸ºkµ%;j‚Ÿ¿0ðÆ4˜:˜ëêrXª™Z™ÒóO'22ã¤ÍoÏXÄ /L^üRG ìßô Îû(båAAÓØRYˆlœ…&rDÕùÊ!èIHXœÀƒ\?HÅ+£ìÖ`ÖÊì.‹ ÆÁ÷K¶Çßµ½œ™šÅ6nŽõOÎlîƒòŠË䪻p 7PÏÉ }›ö‰åÀ­Â}dÖ’—”8*êÎÌd+öS„‹Ìäì¦@™è?2:Ý,6˜*Ö>žý•èg‹R*.7A™Z¦•e´ËÒÈ÷mÖœ_€|˜lQqÍ’¸üïP:•ígâúÃ`1ĸ äÌŽŒùŸ¾V1OaF»ówET#e&Ýo•²v¢¬Éa pöQç¯ó]Æ«úß¶º.«ŒMý©àÐü¨Cûšš?'‘ò©öÿ9Ó qà›2ÂÊ×ݺô?ûH%E‚èqV?3ŒB9u‰¯+9xdÿ Kkþ¢yúkI»Ê@eo~œÝ€!S¼¥Ë–l) Ë=Ræ8ê_{ëç+ŽÈ¿Áb½”³™Ã´ed1B˜ŒFß!銦>˜™{ð˜ŽÖyL”u8;u?¾ú"„mú™U+WÒ&C=ç&må}Ó™˜ý:Êe?ËEˆë‚¿0öêâ/@Op…K2ÂÛ%¹!»Ým‹×F…Ê/·áû Ûà©’N”kõ§àü?a²\›Þ#ÂOæ k¤ØV™’¥O}ª›ªb¾JèºËDî¡ÏCê­AûœýrþTÄcGmŽN“‡¾%ÐRJ©¥•¬oì€Ã6`Aécê žz]KîÕ˜O¼~¦ì¿›Y—n¼ŽÐ®l°ý`%æºÉw‡±’)$²àWÖžöÑC—Ú”ª"™0s“KFöë÷ôû[äÿIQûÂ%<úæ$E;¸h1{Øã„§Ò§Ê"¢z…”hòÞšUhíq»µß£á¨ Ä ¼ÂíæöŸŸ'7Œs$N(ÃR°3“¸F”b9!2æH„þJ\S¹ì°Ô^ù¦Õv!ËCŠ­B¹rŠ e¢uÚoІ¦*…¸oÃÞ ‘y·!IJ9Š÷‚ë'ëí”cþ·—ÌýC5­~Eæ™,!â!?ä2€K3kº÷ 5˜À/$N0kÜñªMƒMùlÜ™}!¹Šñž‡CÞçÊÐð1œd:©Å›£›8,e’úçäÅ…8¦[GŽ@¥Œ^`›ž ËÓ5®i¦B5¬pØ¢}Û–Jè0ë¾!ü£‡¾°Õg2Óì’=]phoDš{+/rh‹-k\u=~ÕŸY¼øOIKù ’BO¶0ÉØŠ a"¿¨;¿c‰¿_›Bœ¢ùÊ53U&bò)*ƒÖ̵€V+8Aeƒ™X®r‡àõ'ÅËݺϦæ{ [ùùôø©WÐàÝZÎÿ½É•áL…NßqY§ 'ßçL~åuÖò¤âÐ_5þá "=ž" ²¾ç°í‡ñõHœ‘^y¥A²ØÞçxq?±ZƒèÃer’¯ç –'ŸŸƒ\æ¼³V´ŒG[ʵ“~Ô0ÑÁ4-­|½-ù¹—¢{Tï ›_x¬ßjr½{ø­€;æZû6¥Sô](ŠAØl'ÌÈÚÙYRÌ?cÏX®õ»u¨yjäQnù£Ãø¥Á©¨Ú•x-°È YžÐrùŠ«ÝÀ¨žåþgK^ï,<׸IÝWŽ£/š†Ò”TfZ«r’ÑÔà³Ù×ÚšÊâˆq…#0ße·”µ¾ ~s¡ƒüP4x÷¢Y3xºÚ‹ŒÏðºT’ñ㇖ù vÍÆ`›•Kµ ˜ý;MQeÉãbÌýÿ“Rߟíä°³ô `ƒ)é_¼‚÷Çÿɬ »§T~Ê9¸ù’½]@©+ª2dëjšŸ°‚/¤iµ»‡°—ñ¥Qæ]á%ßܽ «ÂdaÕg:BÛÈ̳ïXâ->›Ç¤³ˆxŽÄÅô‰ªÎFñ)65R‹~ø:*”.Ÿ;;I¤›Ö² 5—mtÕó¯•Ô¶ßâäË kÆôµ µ‡§„ñ÷ÈŠóÊDk÷wÐö)l+““Ø•@îŠàËð50’ƒÐÊк*j vP…gá£_çs#n˜©ŠË!rÞßÚpÁzq´tm&/´LÇϳ:@CRê!/œŸ‘O†H«ii¯ˆ¿ÄÜbhñ¬ìA6¢¶2ÉÙ“¶1û ½íe§º¯ÄáÑã᥸ˆ ¤‚AÖ=XŠ´'¦T¨x´3¶E·F™[™Ä¾åÃTa `ˆîÚy =†¤Òiˆ*Ö¯U[³y2¶rødÄ:DÞ‰«cIXرµ±€mÄb=9ÆŠ4ßŪ@Ñ´³ÆÄ)¾…ŸwÕrÀNÞùã<„¢Ç\—O`kCû~a)@V uX!·ðôí$½NAXæî‘RZôžZ=ã­TÁ xCÙéÀlr¤EÈ`ï4ˆ|¢‰é3å0öè–©ˆk±¥ûÁ+DËÝûI½)ìºrWM°¢ç×bPÊñ?'·C·‘Ø‚‘¼ƒLbá†*l9î*z~¦„Í®Àéæ°9YKŠu8¶ú#ÝYð)TEóà…r•=ØíË=⋉›ª_ì¯Ä«ÇsÈ^›%ê µjÁo… EY¶ÿ,x9Óö=(’Å"ÈqG¢ë kö”¶täù’µ6LZÁ…q¢o;´¸ eŒdïþÑi/7x'áîº À‚†o裂 q¸³ùL˜,ó£q­Ù€Ú‹vômô4‘qDÌOCÿȼ£©’Ø€¦:¾âGU.Fàð©ÊÅÚølÆÂÛW‡ÏÍcV5Xqn`°s€@Á“‘ÝE]÷sgö€©¡ÁaœÄp—ª²-vJxMôm ‚r\½Íì/Äæ2 ´Ê¯B ðUÓê‹ëî9>°P§!Ê2åMÆU ˆ×ÁjÀ¥Y™rÓ@Ô¯íŸtÖè÷±~fQ³2ÎJó‚ NíM/Þá _DÒ1 ;ù ÕlA7º-*Ú ÒEz¤- N‚D¸åCèp ÄXøWÃC‹E§®€‰#}öësúOi™@ê´¢ùz“ÇĤK,!R=ÈjþfmÄ,i«äF¹ú6`­hs:€å»|»9Ž©Xu ñ´ÍÜÈÆÑ<ê`âIŸžÌ°‘^¨6ÕåÁZG‚N¯™‚#E;¢+èc‹2f\4j™Ø•#M‰CªÃî·ã‚Žé)@±.fC’sùqÊFF9]¹ eˈz»è Ñ&°=ÖÞ‹w°‡É—âS56Kæoe]ÙjKœM½éd: *e–& JˆGûí0‹@¯+w­XX–j’Ô~jÜ,ß(ÓedH˜™ÍÈÊx»ÔŒ&òúF'yãÑ‘ìm¼èT8Rdtyþ±¸OÒñ«¢§'E$3Æ(!‘€Òa`(¢ì;¯¶1µ}ö1kƒ©€ÃZ šB¬Ò8uoŽ·ë¡¶¢™“-OàkÆY™!‡78ެÞ]r¼U!¨'±<‘"¿”¿Z¦+ÃÞ8$à;»ÊnzW!ªyT%á/¼¢.hÞŠÖƒféÓd¨dê*–^^ÈŸ—á8>bõJb¾EdÖÝ[~´—ê@¥ÿ|[±€â6#•÷®¸A ˜Š“*Ã(KpàL—Ñ죅 ,Ø{[½³´ˆ’D+ÿzÛù¼¢49½õ. ÇkYËšù¨Üv=+r™DѤ^ýâ3ólE3r–c=ûx>¶[Y.‡ ¨½ÓŒŠèd,³oÚe¬Q4 À¦ âz6ÒÞÃÞ9ýØ£¿Ô¸â-ôTžïóQúk‡; Ü²éã‹¿®¼Í8›ƒ|\ý½‡Nöç¨e Ì.ßÅo"™sà µ7x4tÆ›q`ºŽµ3âÁu]¤§Öʹ#<Ò§\%'kšØ õÓ¨saC?:Åí¼]†m §†‡M`› GÚÍLNÃ,& hË3²Vž«vO3zLˆ§9Ä¿»¾š~cY¶·€š²²›AM,Cµ‰R5Åv«$Ý{L³IÃ-Nó†¢Y~§N:SyžtJOíðgxy¤üæ»q>éÅñ%$è”fu•á1¡z"¼ï$§ü‹o\MkB¨È³•'7-*õ;ƒAš +åË|”‡Òr‚w5£>õTÛ±¡‡™¤ u–A)?&—Xùß+S¨ ‘SHÄ­v÷›§ˆéÚIŠ˜ß¯ t]áÊj¥Fªˆ2x•D4m…"Ð1i“ÍêÜÛÓ‚ñH¾Wió±…ýwgð2 þãíµlŠ€ÕS®Q\©ÿŸ~pE‡;ƯO‡¢­c.1ПJcy}¤–¯4žV)ä9|Pò&ÎdGºó²õŠ€!ÁW[kÄvÆÛ»Ë6ïa´´mþ¼énk߈p«¤`}äÁ‘ÓFÕƒPq0ð­!û¿ÕÈ6˜z®¦q-IÉxA·‘+ÖøÝ¤Û õjÓ鹟¸£n˜½Öz7ýdÑö©:Ûš–=p»±cMq·û®—*"¡Bëÿ‡é…þ7Õ¸–§É'šÜH6o'nÍ›ÜÙoÜK˜È(ñ~õÓq”¾kñ¼M—;ûÃ_ü ß,|Ì?g£ŽHég9gTZ®%]~¢Ñ£ÃN©U¼â³Ò&"éÛ¨x†üVRÑ︕Dm+«sa‹í]æÏïÅX—ãG>1BÌ¿IaPÝÇ‘ú:8†Qy4üË…ÉÚ~Ïê òoüSW€áLÃVÍóoŽPc32ÐDoiŠJ?~ƒ8œ'P- Á5n†9Žueðj-¢ji+܆ù0}ÛrNéÍaJ˜(šàýû1@Ô·SÑÉÔm Å²óõ33x‡_î Gj®áx p$t½+©“/G· =Î{w؃[S½h*pvÓGRÜÛJR7¹ŸXÉc’sâ€6¿x~»V=œ7£AmWeVbréLò"HFbš_ð×! ˜äüþÿÄŠrÎ@ìœîf5`3iýK´™áΨy‚Xôï¿IõÁ ©Œsþ³-<—ÔÚ0ºÄ½ï¾ØBhFjZr†XÃ÷wÛÂ7óûßMÈÿN²Š%§ycƒØ]gu(`–ÃaÔï×q"Z%/—¬«˜:²ôÌZ:.ƒ;·%¶Þö(´(&lðÑ0ý_SÌÉûeæc²\Ê÷…Í5V*õ Lbo6ˆxB—žgD\þͳB;oÈ£[G,–a u¦&­í®ÛÝW„FJð ÜößK¬B¨9ZƒŽ&¡¯ïH¯ItèK jEr©\¾Á…6z,AÕà7îNÝz7¨ìK_ù…-„qš.D›€éMäaͦ ;+½R4;=?€+ƒº.gP ¸ôA°ÞÀノ#D Ôæyçº`KÃ3—¶ÝK»å\@“âëxÏÞŸÅ_àøES 'óðÌíú!ó„i¾Ùãºl¬<¦vûŽy²¢ÓY7ë#Ëm\á–ó‘õ9k ¨ñ‚=üL†}û†iµþ¬4â^YéÄç¶É{«Ý©†¢J2çu³[zy&WÞ4ü;ú˜á†•D¯¸ âͱ)•ÈCF cרÖÕ‘ip>h(GJiÈKN3ÄñÌt© Ç6›ܴ°©o ‡Rc~ÃGÌÂmÐ>[ÍJRè=¸ <™öèŸSY:m=VÖ‰¥,q”™|ˆú⿎#ކ-[1õ'øü•B³[„±‹ï” ã¶Ä@›}±£m72X±¿pº<‚d€>„DGã>ŠrW†]BcééÞ‚Ém¸8ìg=ŽI×í_[GQý[“Z4•9wÔô¹t6|¼”ÐØ£¹Š6ÑW¡[ÛZ¯¼¯/¼!AÖE&È×Tq>þß­®õ#+[¶Cº*ÐØåù<ìžðÿ+lÿ9E³J’P½óÆR:WÒQŸ8}ï¨Øª$üÃZpšðÿËF.ô4 '•Y”‚ ·ë­´#^0*èì²Â™:¿ ¡/”×ÀÄǼ߫ìêò—!Ô÷C=gé<½îÃh“årþ•-|K´þù?+ö­kÙ:”Öù»‘º(t¡°!ë ýôtV…ŽQO†½™­¸ÇÙ媅° …t‹9+”Ïre‘dµ¼±ôŠ†í”’#ªˆÌŸ ·á/Ú]ò53i ·Y9éîô;(D­}4Qp¥t<ùó~gËÙºʹÆ)^æ²DÔÌ;(¡a÷ÚÀIñ ýãÆ™¯bÿ[Se ç"3%æ³`’ê íËä¡kI,CH>@ö)1Ø ç}L§/'-óyÑ~à4‘*©¸›hË?”½X¦à+QOËÂFR^²„ZÁëõáÄäf…c c¨<©Ýz—¦¡ 09y–,kD(ÝLÛ¯a ³ÁðhmòªS–„Í*gj§±êƒ5Ô]Ï8 Tú 7\ ÆäRHÁõL>ƒÓc¡ñ ‚?°Ö'ð‚&þ€Bû>¶±ÙŽyHÔ³©cÉÂ÷iTªš!™…œäùÉ'œßB…¢«ê驾í¦ãYç¯=¹IhU”.o¶Zz“ã‹@Ýãr3M‘x\àËDŠHï7ןVÑU*=m!ߨĚÙ;¿ÑÚª»0̱w¹°³|dŠ¡Ké…xk…m¿¦ÒèPy%å±¢Ó²ûúM¯9¡©¦å ÅMÚwÿ¢?Yx×ÊÎN<Œ¶•°o\ÿ÷íccgPüvhñTŒ$ï9àå\k¸zÚÚªýÒÝ3®¤«çkU?s‚Ã!M¨5ô]0YeèÊ0ð—±Î ºz* 1'–è˜ñª‚ßœ8Žè©î‹¦ÔàŸŸ¶ØpC íüÙ¢“œþË(¯ K©¡{gPâ´Ú(ä›õ  i9Y'ÿƒ„‘í ØC3¼Û;ѱ:búŽîF÷`]ÓBäiΪöQª†à.ÂF—9 àS­ßû¥dRÊõÓHɽB*÷vlo7úåmmÉ$3RŽì‚ÛÈ » l¾š½ P»0º$ î‡·Q¾tÝ•xE†‘,gÔ³3’½àÛÛ å#%<ôf÷Ú4§P;ìâž™Ôy3C—7Å8ìjOÂ}Jå–&âð²¡Éêaƒ…’ndès jÔÕÞ‡ÇõŒÂ·gK,|Ö^£s¯1ö¨Ù œ)íæL`‡2(÷sQFå º£97†vˆóAþßÈ}nw?pJ»ÑPèPç>À(à,ÜP€³ð)Å vu¸»‰,£ºsð^EÉ,ç Ó¬³Þ˜xç¶ÚÛUèô ï­µ^Ó5ŽZg˜üƒ4£rÉÒÀ=ÁÔDóMåì³áþ{2—D}Í)¨‡2~ 5²µ›[èïÆÓÑ“?€¢rZ®ž€%§Þ@éZVv~þN±à@Š5Ûý¡x¥/y÷o0ó¼ÿÞÊÃì{BP¨Ð%pzKøNoÓSC}¯³>´ip „cÅI"øý/;ß(t&å$+øy]½ïö¨Ãäi=aÜŽg¼­ÀœZj«šë ögV¥*áeG…^9½ïh¥éóîñfUףΩ`ËöT„<<½·óF+dr+nzÉSĬ/²ÄØÎ]OîKGð’O°SacøÑFIë_EÈ 7²AE¶l¹e[ÅNŒà¤% Ū¥)E ¬ÑíßRe ©”3AúKõšÁV/BóìË{ óåèu²M³ýˆ²ÁS‘ð¤ÎúøœWtw¶ë¿K6@ŠšÍEc‘qzºäÂ?À_˜¢ ô+?v!u¾ò–EÚ‡‚0†£¦uœ9|1ÖxȤӸìPÐ8Mm§ ÃýmòaAÜ£)¢?·N9ÏŠü™v›Ša&gD¹UX¡H+&öˆœ„Ù6Ê6/5nôÎN¥|“RiÈ,¤‹˜1‚¬|ÍÃfÇ4g¯²ßʹR¯µ÷[æP FG¹È„EéW>Ü\F²ô‰ï{‘"¢3ÕÁòs#{®‰dh­H…Ú²¼’‘ÓEÈ߬©ðZù)‘uLq?A¶kãHZÉ-_/3É^÷/þØŒ¦ìâ~ô²Á_gAå0þ…‹ß) Ñ:xƒª6ý%cI«61!]J¦%tGëÛ·[ðÏ&TƒnÖÞ±IëÃEˆ4﹪uåTr|ãGí2V.î7}2EpTF%šˆ‰Ø›ÏMŽ]6Ã’Î÷¯Ð,ðbIθ•1€£¡ÚKÂ^šÎlßò‰p˜Íéá4ðÝãkxzO’´§ú¶‹­Ìö4 %˜0 3uê*ì¦m¨U ÃgdL³®/¬‚ éB`é³ñ\­þ/tl8†l˜É<-tÝYª/mT£žDQÖK `QÂèéS´YÚÑw>LèÓ_XÆrz­ÑPÔ¾‚æiP“‹/ão  ýõmƒ­7©Oô™¶>ŽRý ová¤;·! ¦Ñ~>¯©UÛšûr+Ó«$?9\¿r›ï ƒü“ã&ÃÞ:±IKty)¡ðJ;øWÖ&êó—ÎsŸç²3R;åR¡nõ{ƒþg}&…9ŠÈHñÙ­#.T}¬n´W§¦ðÏ–¥&È jWïzÃßê•6lߣ_pœ‰…i‹®<æéÖ2Hº^ë||rì ˆÙ fO ¥N^€ádŽWh: ¡máº3AZÞq9¦œ~VNò*1’sØc¯ã7 ³Ò ž$Q„[Á:ìä ëÚà(í+’XK81¶óqHöW£Lát¡ÉÅ2R&ûZo°`Ëilô/V½áŠu^©àÎã§¥€£ °i—õF}GYAáwÅ-ïTrе<À]k•(F=ÜØdv cÑJ¬ÂÀø¾‹G —r¢¾CvÏ'y &€ س†°ùqÆU¾Æ%0î"ñUím.â-ª¦j‹Õì§-W…¿Š]ÙÊ`ë–åt¨òÀ }Ýx¼mLaN(‹Õ¿u1OÆô7Äy‰£ÏqzŸˆo뾩)“ãôÆ<ìf°¢˜·ÛgÃaÞš®Ù—5¨[ > ð ÄØ¡‹Ô»§Êߌ‰rΈznå)Û˜´k$“º$¢•&ŽOÙ3»)<‰€rÒSx­}†Î}¶P¹Lͪª¦¸µp×eø±prá)«=Ô Ž¥3ªÇÞ™œýÀ=l¤÷j¥™ÙEó€\Y1λJ&¯8K"«2É‹ÀDËúÀ‡ÜaÉs޹‡“úÜçÁ“s‹<ÛžÀ;q[•mŒ²#Àõüb?µ›-àOn„WÒã"}†‹ ÖŠG\"MPa°E‚jš×›¼ú΢^#¬§¡!0ˆõ\jœè¦~kmý¦›Cuë_’#ƒsÒÇ{âœD.»Ê+é?gm7µ,5WðÞ¬hnê¶ ŒÈÆÕŸ.ëÞÆ"8¼¢/z’S¿@¢üt¾HÑÂ;O9&l›÷ÌP±ô€ÏõfO7OŸao^Ö&Ñ9mÙ9÷Åê<ÀÎó=N—^€'ã°“#„[G;ÔYe¨skÖ~ÎC½*ñ±üŽ6k“lÁhÆŽÖÝ2x{Dñ‡éUBÈs¸úÃGKóª¸QPÝEï‰ãU$/?Y¡y©f‘oëv"Öe,… Ë)Æò¿ûLéº- jc¯öêw×<ØÆ»7¯[ žïOs›"¼›²gpͦR&™ÅÒ´W6—ÛCƺ*ñ¾^n»¡v—;yàüD¢B|1ÞçÈ™½ç8l`LÁ…WÔŒ¾+’oDR2áRËê´QÉ‚£pܬٌH”;Åec  QHø8Ö¢(1²œÁب#]–îÕeJOïîµ=«Ü'.Zu&¥EAù}#µÀM=ÍÀµÌñC ÏúÊŸc’{<:àšÂæ?9+‘ègdúb›NƒÐj#ÍÞ²óyü#¨ÿ] }œÊÊé¤íßL)¹Ô{úÍ Æ ê^ŽùËý^äOwçsYÛ­ƒ`lqÇo®ÊØ¥õ¡;]VŽz, V䔀®¾è×»íúödw‚03sìç@(Ÿ±BŒ6Ì-¼-"{%|{,´÷:*û‘2íÚ–*°·Xœh4 Cî<Þ‘ qTåÓ5‚hŽØ©Ø=ƃ›BsÀQ#ß~t"»)ëx4ZO¿žݸ÷’6Q5ÞvDBŸÞ±…u_J%¾Nþí NK¿ Œ\@Ð\[² ¦»Nß_×»@†­Îû<|²j°Ä΀4ÜôC)ÄD ÷øˆ@þËÆ ‘7 Ž^¯å´!“çöm>·Í»ÀÑ`›»på½›äð§‚ðK˜‹ *ì kþ·U✓". 76èVÖÓzd|ÃXŸ…O™†€˜oJµÛÜ]«Í\ gzŸ¢û©R[”ã8èÙ—€ƒÇ½`q Eç¨Ñuõâ,D¯ O­qšxñÐÀ–.n(†… ®8 ,Ì~…ªˆöΛö+£‚ÂK®\åØJ™CÏfóJ_‰yÓ°Å[Æòy!ÊÉ=V¡+ór çsÐ9Û:(NQÀ°Z¢&´t ¿Ê‰Ñöθéu/‡“†!öæáz‚ÎæíYÁ5¿Ÿß"6o<«¢××À zâþ¸»çœæU¼à䪨××Ê¢B6TGPߩ˗ üÔE¦)Ÿî±¥°·t ”þªMé†| £È«Ã%W:ÜYjšfS ß#F }H=#±,'8 NàãZdAœka@kŽsW­Î£T¨S­Øžð³R°|ƒ¥K¬ºraÆû®¹çÑÂGà_çÿ8e¿zw`¸½Üï}ÿzñ1ØêîNRå Ô’œ{VtK3 &ÚÛÀ–Sùÿ$‘’0[ÜÇè‹°O©ÅsláýŠyW”‰öó°ï0-°q+MEúuËO„Gpª'-¹yþ5¶¶ p ›à\„µ\x‘‚ ÙÕäý@àãù;bžŽaÈèß ­{s©Xíè‡Gî%ÊÔß®£ §HÆ/ìÆô×®ØSUowë@§_ƒ•ðpM.r”ˆißï(-¾Ê«Öج\¯Ô¨³"%ÝEÛ]’¼Ûw&ÞÌ”0k<+²¯Ýé§7 ¤rÁ¯Š_’Ûê×Äãxšåætð÷¤¾Is>Cû ЇZ4«vH¾M<€àÝ>Æ‹Ê6Š´i„aåȇóÜõ`©Šó;öܯ é¶áÇB\øéOä™×uw›íñ7ç ÒZX«UÚÈÿKËèî‹ ´€0¦$Cqò‰#ð†’ªå]ßu®!ˆw‹èDDoK![_7|QÃ=|\‹•ŠÞ×2Ä”¸OJYx(ÄõŸ¢Úµ0“ܦz€ð/À ¿_[Ø^ƒ¾ð;D¤‘ö¹lÏZךì}„º&Ó¤ž6?†ô²”4ªÛJž¡íN YÀ[æ^ëË<¢‘jv´Ñ ‰||™?à¹ãØÅÁ{ËWYèJW&’$î”ï¼úGÈi*y´ÑqQ5*„"´fµø‘™„öŒ½gŸ?_Ø<­çJ°š]Oc0_-Gy­åægbï®I—¥o+W.a*÷.qfÛ\#ù™ ûQ–J}¢pÛ–5œë`Z MßÉ!•U¸‘­Åm ?B·§ )á2~Ùäk&~ê©î¹l5‡>™¼ñ/‰QšCßš…º|&a.®Öâ4RX: VgÐÅõJ€o¬>o'h»Í3Ë(ðºgä WuGèýVLêG¯½{=¶n“Ä|- $=Ëדﱖ{[E‡¶¡GU­ä¹B63ê`³”+¡ž¾ª¥ 3@ÔÄØDK¥ò@ û-}•U]çTèçxåÀyÏî[u÷iJôÅTqPº"ðÏZ)LfâNý=äY’Ö¾qG’O¤\׎Ž3œ Ãæès3)°Õƒ @û×ðóÎêÀ&se§ Ü^Õ"cÊÒLbùUŽHKrÖ"¼×ºµ!ÿœ‹^`«O륤,ìÖëi’'Üm#ٟꀂeØ}8êÔ/à~Fd¦5(—®äº"À…nX'®}t¯ýÀVà¤HÑ©*ù%d ð;%ÑÃ2UKâãËžÜIfe•Á)¤W’Uìýáì­ÿyV’9Óék©åÔoñg´t$Ÿ\.T4Ævd»*•%ü‚ :e"5xC¬‡A¬Š¤3y´¶&‹CWp|©ÌÒVm‚SG´·rß$oùg‚ÄÐi¯?¦%ñȲy¦èÝR*6|¿Õ¯åóèT÷,t¾µ ]TÝÔÌã-ÁäïhÍÐí 9¾5F'L¡÷¤¾æ^õöm&iÃÿ)úcߊïî°R–#þ=JãZ@ ¹ƒ>ë"°šã¨P¨#CD5¹£8&*ö&¬M“¼ˆíi”Ë>€´3ˆÙÛ¿Éb]å)òð îº1>a~_k•ÙÅàð€„­¼Oä9È&üÖö²œñ•2›× µ«üÇLì«sô¡b £.§\‡¥wÆŽú€Ò=1u‚ M¢ôség¥ÕŸtʧˌ³¹`e“$7.,­*w”yÎ@‡ÿêÐ#Ÿšv˜À­ÍçàU0¢oŸõ—¤4¡ªiûZš^Ð=éx—{)B1>ÀЃ Úã~¤³hHÆ8z{ïu9ݶsü‡ùí1Äà%U³Ž;’Ï ì"Ì„vg›8MŸzßz –ŒúߕݼHÓbÌfç×hûl>é>ô•©Jú))JXZ‡ç,…¼â#aÈÁsl²FNÛùöî¥ ‚ù{½ýZäÝ~àñ(¦á N C’×áwá°|SòSépEœ4{cªŠí€­×óëU˜¿žäfœ÷é´jGUBnÀp!ý0BGé‚WÆ·áŸÐÉÍÔ>“Ýo9Ýò}Hô+û›èkö5cêÙðMH×­ m¥Yj53Öjd‰ÔïsÂLµƒ5\çtÊþvî.+¸Ê"g»øËf„1Ͼ9ìkPƒ¶›| ’gÒa®Âç*ô5ôK–ü'k¸dtR¤‡xpv”j—Þ<¹úŒFµåÊ‘Ùd£«ÒÇ ™_kßùzþ‘Ÿ6#¸R€ 8ÁTMeŸ¯ßýSs IM6m&4=eVÿCB Ž2ÓÚ ƒÚÀ U”Õ}þúäHËø»kxk×;qfg—{eÈãÛYL£8VWq½±»{R*ŶaÁŒõê£0xž€sV¤]°ö—QûÕ0¯©8'uôøy¦å¾á ¬ßëb%ÞÁ Ñ4\¶‘jÌhÃÙ„ ”:oñ"ÜfKí׺™pF{UIF]>«/CôžA!¸@¹ÅþsTŽÈÇbçy,ž®ðs€ ¥ÀËû©Æ½ÊÍ—ÐñiDR–Îbƒ„ • VØoö¶_Yƒ½úêòÙb‘…5*3x]’Ô6¢öý„§MgÑP}Á0!t‰~JR=KEáØÖ‡ç€ÐCâ6pkgXóRÿu{N´½Ÿ–µÃŠ4«0µ•Sz1£Oe~ñ®‚ÂBãä6t‹å¶SŽ$U9ÿÛ£µ ©„“Ü)$0î-ÖnŠð—³” •¥Ñäs €‡”¦êHùþíŒé.‘5ËØ`u”Ì‘´]aߦç< çe`ÊØ|7A³TokH+°OKßÀÚxj®NSíæÎœ¡ÕÄ£–à«fYã´æLp摎õÏëë?ÖZ#˜—=(ß/’몜ôZ¯TýrL·¢Vý 5û…‰Q€ì’Ϭ2ñˆÝVМÓ}MȺë˜ûÊò¨«XäGåù?Ó×\f4)ÄÊ,+ƒžÅ‹QD%g§«IÊ—z[?įYx‡ä¨ÓëïjöîÊ œÈ–Áî»1Ïðsj=úÊ™ÓfhŒ“XÌùŽz!†± §îZ³rù;Týå7|;W’b†y@’@ ñÒ •Ó¦'•ZùA©2+wLýÖeÄgq+"%Zµófbä“…¼¼l¦5dS<ÒÄŸr”L¢Ä%jPÎ<:_½s\ ß·cš bQ3^ѵº†D5‘D幉)%YØ3¢s_  c!x#!OQèÏe°Ä”`ôt7Ü6ÈËŽÏ¥ÐÒæ>WY3Ì0D#Hg]“Â’vê)ìºAh#utåí«´áte¢¶¸vCÙ¯ë´å”pu"»Ñ~dÛaDv>'ÁúpR÷Ø–õeK¿4#Ç<5¬Ò/)ïu|Jß”óÈÚDŒ¹×È=YNzéSïÞ`$ÛŸªÌú•gvÞBG›÷›Ršö÷£žÐ8 ä{˜ÛÆu,³±‚­Œa8ú©œdSäÜ]¬£»ÔleÝXvF1ÜKF÷„EUÂ?oÌ ÕV°EA@YiÁå8(ç‹kægiìî¹ÉÓ®cMi¿ÅQäÖ4ÌKÉ™Z,ä¯A}?ì+ÞYúw:/º€TP<˜›.X4\y‘ÀgKþ$4ëÃãüî—͵2Â4˜ÊÄ’ A nµÇ ÁHèøûšô¤-Ý$mÙ÷EíqÈŸêëöÉå0`$<´&½d ÕФ䀿ØÙ6ÊYv|˜H4Oâj¡‹Z} sa&NÁu!ääéJÑ X˜£Í£$Q”WÞI‹ NH›L':´RÆ®?õ%—cJ”)M@HO½ dÏ40yt÷¯§a'„ªÝgwþ m—“^¶¢¾ŠúgÆ)èmi™,–¢­W‚Cs]íT*ž‰…¬ä™3é&¿­ñšî¹8kÊP‘Ãÿ'©a%BÕȬ*é_&4bNOŠp«ÿGßfœô€-«ôàzgR%Qªõ\šUw\´Ü6†¹hý6ç²#B‡7>_Rm`í\ÞˆßiºÛwÒD^°,B‚v57íN.9ÈÂ9À×q¬ä×F§ª{trãX‚¸»¬#X†QÆ ¦Z‰"½$í§uÚó›PjDªŸÂ;ü‹Í¤=ûË OÔ…á¥o:€½#æôoÊu׸¼ÂÔ„½Š—æ.¤7W‹«*8Üw[{|ô˜°¿mþÌËmq•ë¡þbééÛžæ¯9p®HXs{piŠïw„FÅ„0À ޹T^ÔéV Ø"þ—±PPö[<,°è%—èp%êì-¥Ý«$s(Æ·NÁ¦ê,ý’ÖÀgJœO+õ¡×wØlý¢ 1ùð0á eZ˜H_á³ðHAÖ'ð`[Íø•ê„è®/ª†ð´Ê‘ù_;€ÿó[/ñ6_©^;æÀC-ÇewordQÃHD=f´:Eo;¾€û‹wÎàÉhÀʽGµª8M%2R|ÇY°(oísûAÄûúõ²CŽ_q©nšWs¬¡ˆ2Tõ¡Wd!³CýŠ áMðJ“}¤'·)‚lªÈú5óÞ*žÅÆxcRÇÛð¦Ê;td`@d£yh[ЍJ¾Ÿ®Ðy«S•¯ÊVvÇM„żȇX}tL´ÃÜ7»aÔµ¶@ã…²SÛ)ohàÏ"-”H¼ùZÎŒ>#®4Å9ZsyÂ;ƒœr“I;¯@ »6ì~f^…H–ÆóÚéÕ…4ÑÑÙŸyάñA×@®¯xò±ÌA#]¤º'†2Øçi eó üíÌñ&ÂVºòHØYKuÜõ‚‡<ø"Ao½E{ ßÅïD÷Ê$½‘±±í¡·†Ì¸'D_Æa»E ,uÜèc{•HÀûÉ^_GI Ï-‡mÃèT-Oï!çY}ÜÒKg©Bæéÿ¿¤Êçß•kÝxCä$úÜ‘£g4LaáÊ‹U¿\ÁÊ*¾ƒ\ןG/ª0AeÝ/çN …^„éá%íNŒcÈu•ÏÏÞ!À̧snUSIKäò[Ô~`k"Eë|ÓüM7ßš2ÖÎhV›a?„ãh¡²êíÍ Ö‡’˜ŠÒð­8îB±qÕ© ¡æ²¨ê…œk|^IÛ'°jŠ4I*sWòwå6ËÿX'a¶â—‘Œlü e;Ç«RÏ8íŽ ž´ùá]Ë,°ØîÖƒ„ÚCO }hõsŸ,Þ"å)’£ŸàÝ!c%X7M+ÌÅË‚­ÓügP\ Æ©<-v÷A»Ž…&Ñ}Q'þLõc†¦Þ›%maŠûŠØÍðÉ‹’á°SòÑ…~°H…|í4c\+½Ë@L_ÐBúù$d?>É&™.éÊÛÚÛÓça@Ÿè~øÀj¬Â‘o2;á 0=xoáÙ­ø ´¡¡Û9FÖ3Oò{F*¢:[Sê 3¼#7€ö¬þ%“ÈÑÁ’ØgÖIq–á˜ßÉÍ EF?è=‘7á{AÆXÙ…ïsöN¹€_’¢‚â(|¦çUg×úÕwË^Er]Ï—êCsOÿO¡N“}1H\!,,qqœÒ2«ŽžFí乪©}cóéŠä“|*Ø{¹Ð¢„¶ÔÝ` #¶p£ØDFÅþ k‹Ö„~d¯5³—¹yWSÿ‡sµnmŠÉ€–©¼Ø©UL¶†§7g~l_ »Ù<¹xŒÎ.(XevH?«Î.®<­:{S.¢êsw6`&d¤åâ¦~ Ø÷ţ漰"c²îíVÛÇŽošË©/û–ß+"Ǭ ý¢[¡Þ·òFªOŒ(¹œIÙjHâZŽg<}fÓKTT•³v¶‡ÁàäÛÛÞ»hŠW…Kf_HXøò`G¢±q<õ!·¢¬Å¨Æe-6t³péÏssù—‡—Ú#µÆ¯6 åš÷ÏÀƒw÷oM¨%®õ0Ô€–k—èØiZÙ¬³Üqåü¥6•ÃXJå°ÕS…^Õî*(”¹xÇ1îáíX´<ßjƒÄå¯Å°’wA =TŽ”=²æ/ ·pal8•f@˾BŒ3 ©âßš°ô;QV¹®L£€]òØ9˜‡Ci?wÕš{ } ”gÕÿYĆÁnËD;¥Ô8ZÊØ¼Éè-âÐüI{˜uÁs¬Æ£èãK›´y;“G$ÊïòR`ÉH¢²©ì²MX­Wô¬¦9¯ki$m¤¥…nÇpΕ‡hÉEäÀ×¶ºGikðzDRž®MÓt¥Äáví…Eš»o÷õŒ &vÛhiÆqH]{Ú”æfø8ø÷2¯6äц|BCc‘G…¯Äø;­ö{&4”<[ûç=¢lêˆðˆz†«ÕÿøÙoMB௞3ßX uñ Û/ ’ >’üt‰ÍœƒO8€Ù;Â’ûô¹_7(òÁ/1£Xu­kû6éÓ÷!%ÑVÝÀj«¦pš¨` 7v‹…œ?âØ9Å¥…IQÀö[0\Í |>iš÷hÿ‘IÃG0rX7€ÁR-H5ñç®ùϬãªÌ¼Ë–õýmFùí=IF“  W™Š5 &"¢·ôµ¨ñî&ÔÄ`kvêàÐΓh®Ç%4}«9žˆÞÕ…±€—ÐêÊì¿÷‘éñ {o˜Æ¹^·eO—&¬4zèúõ„yÚz›LWML"î '•Ñôá |F–6Ú0é·\¥ØçÇ@b| {÷÷B (zÔ:>mºa=EržšÊ¼zçæ /öÓfÚ<­§7·Ø—^_Ô§LÙž%š§rÿ í—™×p79›šH1l7B¾îÓ‚NL1̶ÏÚmª5 “©n*!æY6H¿) K0¾›âà ;Ïú~@µ¤wDïÎ×#F}‰¨Þ­ÜWÜ%1‰y‡ôã~à4ݳ ª‘&ß³ç °}ôýö¦èfäh31+kÉ,ó.Í÷™6A&$%·yÄ•Ÿi,ñïFÔáÈ9ÇR÷ˆûZ.âVV{ú *"H/<=§P\-€ÝëQŽ:AÒ¸5P¡Õ·d9ë¡A†‚OÐ`,?¡ô¶¢ý¯ì{™Zq†ãá |éë¨4Ï%å7ŽnÅ0aØù#”ⵤq|ëœ<ôsοa«¤¿,Y# ÏÂÇ=F"êhÎHEpe³¼4ß›%Š£{⢉^„Û•Qãø(ñ$®J²\óÍ$T-·B¶µâ'Æ™¸ŒˆCˆ¢Ä6?)]E–VìR´†OÛ-VnŠ­‰Á¦O‘½h´ÈÁÞ¹î–Î…VR$kšà‰Wý÷Œu~®Š 7mJf­I8Ùv!0aQö†ˆ”_É6j·„¨Y»ŠY¾×ܥᚠ¿°i^M«Ÿ™âúâO¢rqån 1¦aw÷Nc²'K‘èÍX¼²r°¸ì×ùÉZ»‰¸ËÛ‹Æ!B.Lé-‘E¨Ç+¤hÊÕm8ôÝ S {uñÓ–çÑ™“(¦°AÄhc?›ÄÙEpNÏ©GLõÚàŽ‘O¦£{Nž§3ýl–sôv¹øíúœ »’œõÅQ‰\3šL²n!å‡JÑ!Ð8ýy ¹¼²ö}ºYPêo´ÁOxÚàŒþœhjH–±è‰ûÙé€7§‚‘ùâˆ/~ì^­×‚—*_mW桋Ķâ«NÉê›" d¯gÙN¾«ÀšsÆ+l“úÇ êÝéRŸ+ÎVÊ(Í ó;რËÈ ·T“9V±"¼±›o!Ž[VÅ‹f/´´ϲMMÝ…Ev0RÖ…qŠÌ!Sæ`y‘×JÕ°¼¸÷‰]Ù«¶e©’­ÍgÂÍöéÛïh€¯á3,cŽ?}|˜ˆFWºvU†Î¨L„ (×-n$1Ö§—Lî54–l¢õ¶ò•î@TyÂþc¬ÑúWÀ¨b·§Íæ´øÆ"(µGɵ˚ |G㬯ǞÔ,°süö´ÎñÛÂóœ#…ÓIé!Èa KZ gwÒ˜<„p_+e¾â5É;½‰¸p¨ž‰ èÝQ5ÙÅÂég˲6T³–ù¤6û½ÄÔ4Í‚ôhÇ"¿ËËl_ß.–%ÿ±8Õ}e‚ñ€ƒ¨º µé¦å…çZåéE©Úô{–wÇÿoË’šBÁéeÚÙ‘ÕÛbdÆžÑü*v/ÆyHü'%qT‰¦e˜¯[±e›¡'VIŒ+r„2¥!Є3Öo䤵ѷ¿G^xN×Ô{µK ®†«F£dŽ(§HÆó¹‹¼Š•²¹fž³‰™­í¦*ŽóèFÝtãOI6¶ÄrÌWûzçÔ¥†Ã퉒ÿ\@‰ÑêTu2t¨¨7ƒ20Ô-SÿkÁÁ5Xñ¬ÌêBHŽ:3$â¬%ß1~ÅM¿–¹’S׳‹ìæ¿ÀCHsþ·!ô{ôL nÉýFËï¡1Pç`èÚÙ¹á¡qáõóì>z|&LàY×j“áãœî/ñÝnÞÖè57®fà3ûΉ Û²`gƒ3(â V¤H–ƒ;µÈ“&5=!b¤/`vhÇHç~vah±É›”ˆ«ÑWÒfAàn1~ ¦ú”÷ce36¥ú#+ÙŸ° Ló¥c†eö–ª„ù½þJ ˆÛØUQÖÏŽ\l 2\ÚÃØÿŸbc·ß1™Äfä·†¾- «÷F”þ œgÞÖÎ9k–oâ³üK7G3“­FÁázY­ÔCYZsÝŠ–þûžØz7ÉÎyãs7ueE$~U-J*ª|ÊŒò‡3š@ìÐsæsòÿ—ªsª¥ g`(vhæ»ÊÌ™?X·ETé:÷¯6\ŸE~½Ác؃ý—ÄÆjœNÌš¾ d}dž;«²{Í }ÊÓfm¶µ‘ÏÅý”á[\½ÊåCü /w½r4¤¾¿Æì_=YÛ0#Š8CÈs* ‚q&4î%à¿’w;ç>bâ ¤NÃÙYH#W±þ4l„£}Œ´CT×÷[8» ¶ç¦húz1.2T¢rÛÝ!·äÿzˆa[å—¡Ý7õ-1ðõÅY~#e¥KjQ @§\Ú$mlÕ«¤€ï¬fñùõÚ)$<½h‘S¡jØu…h%µ3/“¢Ñ?»yíi(ÒÜ—ÖqyO’ïs¤Â{»M-9jð†9é7óQ"TöÓÒ+ß9¢ñÔ V´ÊÊ}“ùF¢\´‡¥Vr?)nÎA–@4†^5¾ºkâþLxÆDø~ëHÆ à&ã%KÎmYóÒ2 bÁ!c/_ÜÜ0*Cÿƒ!¦YAÑrŠIßøA+æü¢\tæ?,foª=p£ï1Ñ5WÀ¿Åï÷±‚Û„šöE¡H%Gü•Ûµ¢ÝžãªFŠÞLt3Œâ¸ï„Èì÷ïZ™âcqu ïëŠ.l×à.RæP„óÙ»\-dtjˆI×ÔµÁ¡À昩™ˆ áFêU*7Ã¥¡·ç²çmÌ' ­ÝÍñGø-:M)b-!l¼™Àï÷™A7”ª‘ŽŠçö}uVƒBªˆSËhÓË jš?f\,ïk¥ëŸÛ)1(©˜Ô²‘â¢É–kôeᧉËô`wÍ ²ÅòmµlYtÉò[iøxQ ÓìùaujÓo%K·ƒµºv³žô›4¼ÿ˜ØÖ²ì¬,½’“2 pIZˆ’S@8î‰Ù-Õ­ênª³çÜ—ÐYÚ‹,iŠÀ^²€YUóâ–üK@—Ì' hÚ\jqÎ5rXÄYvÉô}P¤š•%áܺ©‰*¤+ãÕ?²yöŠr¾ ±tƒXkCºž `À=›¿¶¥Å»>¦º¯ÿ*HKéÿ“RÆDGu¶øqN¡lt/÷0prC5ä'†x¨BøK ¹Ô±Àæm—OŒ+Oêc¡¼Èî-7ëè<þܬ 2³ÅÉÍ:r7½Áø¿8>ÂæN¢[øAËóÒìýfæâFlÐ¥¤~›*y4Ü »b[mB)vcÈ,¼+Ö=]™‘®BRû÷—Ä„”9M\›~P±BhÙ´7_¬놲ãÐ`ƒÇàÞûåÄx°ˆøxeʇA"/:›ƒãëèþ,¾ØfüKAéY+ªat’ËöŸ¢!-K#Ô0’ø’{4ʹ=NŒiDúS´í€ædÚ„íŒ]«ï9ôœ‰öIš[—"™.QYÉ{Ÿû âhF{ I³:ôLxR¶åɇøû­Ü*!—÷¿ì…úeÀcºu¡ÐeîKnCÊËÚŒ7óá@„|Ù̪ k˜ã©UPßb–-Úäh²©ä¨¥åXYc·mæd¼ÎfÐ]4Òª)7.©¤Tˆ‰‚#ŸÝ›ánjåÄyué€çü,©Qôùg¶ˆiÄæÂÖ¦¬haƒ¤Û4 )qÌk:’ÉÏv)_{,Ö½È@üqž'•Œ¥b{!§ ÝM6ø¤·)£[Øï÷†WàŸº½2¹ Š^¸úŒðÇM¦gSSÞ: tœ Ú}Ž| oËêžÍµ|sr‹„ŒöcIÚK<öÆ[741$N(f±Á¥˜¡÷ZúGîþaâŠâ©ôPe¨‡Å„xCc Êióö”–U]ËyËCÁJS®ºíªÚ„ëÛD’ÚôâÏÔ‹¢šÊ{€¥! õª\/Ví;3!{TƒüµU|“ç«Ëø|§à›€:Y¨æÒi½cr·ÍõìC—æuðPË8ZØpnf Gù9Õ¬q%7· ÌsôeUwé_žIŠ’ÈTÓ–OK¬ec “˶88ØeÌ;ÌýéJyäB2úĹ¿¥|"ä!S+søfÂà྆·­³ ìaL—YgÈ´Þ‹™ètó5×Z㤠+ã¶’>³ã_ôé¨Ú¶v'ýÒ+ujœŽÈ©ÌÂ%]ëgV åšTU»ÒŠë«ÝÕHž%h£$MØ}¿†Nǽ—„Øižfx//? ìƒR¼«‡ÝëèXóD@…<êm¦’bÙMù/Ó™†bìÂîçˆÕ9Ÿ—Öº‚æø°Dî9`ø§ìºt¶I‡lðô*Ù9ÎŒ‡¡²Óî¢XŠõ0¶û«œ…€“Þüµ>]ßbõQõç—ùüK»QfDΣ-“ºY º„,:$ûÇÁFêÇŽáäáÿâå´;œì¬;rÆÏÊ™Nþ‚œïµ‚ ÔcÖˆ–ðoá›­2F0ŠìdwˆHÜsQazµ8Ãmò&¸}õ\'·|ô_bóV,î %QÇ75˜ßTØ%t—ölÖˆUZ¶È<àýÆÌ’'A‡£!!¼pj£><õõ›(™@í┘=¾6Z†bîlŠ×”ãz`ÿõ l_oï˜50=ÁÒÊ“v“¸ÐHû*´š`„ëÖòäSôȶè&b g€NÍÖ–“x vbŒŒ­ú¡î,V|÷ÕÇDfDH‚¡Y p½Ûü+ G˜á.ÌÿbEãávRç7O Tp)ãxÏóóþPœœÇ…ê›+È­¹Eø¤XŒf¹³nÈP˜-9E ¥zOO*¹ûU´6p •\åÉÙí£¨n߇vSFƒÛÿ¾ÑZ‰ ×6n]ä»_¬‘ƒ‘¥PlŸ˜â0®ÌÇlT ÊõA7Îc—±kÈœ9ùÔ¦8æ¤#ÒùÍ,·'H;uë?É\¬îmf g•† ••—ÎèÃ=µ=˜/t€Îß1Û‚ ð+¥[Áwù¤}›Ë­©6ï½:l“}û£j-“FÞ9œã(¨qìÆvu¸é¾i?>s—¨dI¨KqÖHÍÊýÄF§ý•½5,ÞÄ%G…:­:ý²êµSï7íC¥ug3´ÂÑì5²‰T¬hIC­ýÉ5eë"á̹E»øÓx$^©dõº4ëfÂÖCÌ«~9¼úK× ¦5êéª0k\Nµ…6„ºªçqøž(®Ý(Ô‡Þzu²¦‘Hi„ˆ=Q^Õ@QÞ…`eÆKA‰sÓläÖZÖV^=âc>ÞP²2“Œ]‚«…v½¦—¢H–Å›jç\`3í†b¸åýO2ÿ|?Ή)l\À±w*äÑO§¨ãŸoŸH\€WRÚ§õ9þW˜zW—š~ƒÊ~]ЭÂëxÜLx^c=_6- \]ÐlôFtrÓôg€ 㨣fWzºÑ d…$ ˆ–#§÷9d“VV¬‚Ç9–¬Jû ¹Ï^Áå̲Úp•h ÷fèÍium â‹k5¸¢õÜáïVí—¨·Šèàl5´ ïõ‹@†Uã%h`â3JWuÔT^^Z/g«‰ÕÞ@¦‹pD•Ôr ¤Ú—GûóÉݸ‹¿Ø¬­ZP½L|½«Á̧DSÀ°™÷”@½6«’Ó,Ÿí:@ Õª®šâùĨ9Ãk 5]y-«Ø³ dúðÃôv#JîŸ"¹\æA5 J+¶œ¦&Œª—[Aó`%ƒmõ¦ÈfhžC~›ɯã¦ÎøzQS“~[J¯Ðn[«ÏÏK~¾„ƒ6f)20 )WT4D(ù(**\~O!é Ð?3Õ½ ²5œb€štM»îŠàS)íý0ÑÝrrªü2!ÄÑBjìÁßlH5A`#>·ìÚ­z5»^û54f”|«Å›l³µÎƒ )Â(áÑû(ÇtXÂ]2îéD‚Õí’X2©­1Ì6ñ¤¯GA]±ŽÜš%µï5@/‡4 Yòd}6AÜÆ­ØR™¹Y¸e ÒÔ¨óRñ³ãïþ€u¢‘úîhT M«Œû¥.¨¤†%Íå͈!["7= 7‰ë±ç׺Œ¬©ßE/¢1[a?öñcòâP-hñK;xvZpl£Ø­¹#öÙÝÛlå»ÈàýÁ_¯›gÉü½VL–猶Ãá“} ?ç^cÇ—­`Ÿ§’…“«ù,WJEÂÃôÇñ {åZû›U&ÑJ©Ê‘Ií¤ÄDÚñ(¼¨_¹±‚E)Éâ;æ€wz [t3À¶ú…ÿ6—!žòí!úEÞ¦²‘å|Ù .ñ2Ê 0ÊG¢«öòÂÜÎÈÉYÎŒÕ..»FöëI^¯»þ&ìË÷px®“Htâ›î)%WK‹˜©©Ó”V!.[³‡Éo\×Ùib$*=‰ñêÓ°c’GL“%Ó7þ¡F}V]»‘¢'çBÝ=ˆ%@ÊY×5Á<÷dU‹¯ÒõÒè­<è1¾U`’6ÈËJ´¯ Z )ÆLµyFÕ¤y¼™µc%–»k“QUx(ä´÷~0áþKÛ•$°˜ÃÀGq” e „6Àb YÜ%¯‰c»*Ø*uüá@šq'‚“Ž`/ƒzÝnï$GpÇ;> ºmÔ(߀šý8.*ŽŽÛJ¼»N–s´>r4ÍÈð× ürgÈÀâ¥bØð0•1Ÿ8~HЬ¿_Û«;O§ç58ä\P'í•Ô3¦8̈h£™«O¬#=Žw,¾ ¬y©kð£ÃÅ^ÖC·×”2ïíº0qº|,;ÿ`Ô¤WMh§‘îE~2ÎëKIÝviÈØ—•òå)ºAÞ„–]^Àõ~lnÒ”åÏ\c—½Ù §hxÑl­é–Œ´&,1)csÚ¦JÙ¢FäOfoÇó\Õ|ÁGo`«“Ý)hGSyŽ4íÁ¸r—f;Qzò4Ü‘`={Á»ÔC\ñ qð©®0,’@_oàIüR{ìhH³Ã7L"r*¿>¹M‰D¹Ùr ¼lÖ>ôQ%gÓÔ&'<«‘º(Œ¦5‚аq³`ºP·8_ÔŸñ‹9R¥€-5uöjìÔ%‘åÏ„Ê$„ëË7* —Åin%÷‰RZ¶¶ûZùƧ0º¦_ˆðñåF°õ$ÑסQì)åúòÍÇB¸ª~à+}ÙRû+ýdE©F‡çÞÍvágH¥c>ð'‹ÎÂG‰*²—Ș̌ŸRI"ý17å‹x?*Õ½ïãÕðrä\µAáÈÈtŽ[MáhXw)ˆÅ–ÞPLø,ÀølÁ;_gi,j@xì— ®HWkþ+ªsÊR*›s…Euô`[·Ó–ø Sqx4·®5`ÊòAÃsý.Bq ]ÏvùU3ôV¾SàJÀ?ô¥8¶ðö"­Ž’ggï§¢Í*nµ@4Ù$|†Ò-uŒÆ*γpX™ l8·Ö˜,ÒÖzÈ4ôîµ/ÞJGAÆÁôõ–Q.õ±žKàbxVöœ5ÅxI²`— L\ /ù1z”ü‘%… ˜ÙkÊq²Ý"ª3OLq×>È™áj‚Zã[Êù˼²A¼ž:š–¿è^ýç4âz7ø,®†À ¡ÿW˜”"[äCŸ$V·ö‘ëeWN¢€bó †F™i ²1–P¸¡é5RŸaƒ8€’Ù]•ඪvÅzŸ=Æ $ï»/>(|Ôd‹¢kØZÊ™JÙO£H#ŽÞT ½ï³ù'Uö1WyGö\¸ŠSVN¢ÓN „ ý™æ‚÷~¯œÖ&kZõðÊ8¼ö¬À-²nÿ…»³ñ~¨DßZoìîhGƒB¹šgC&FûôÄ©wpH›¿;ÕŒ6mÐ]'­»­k©}䇔j¥=Þ oÝë¢ÖµñªëâsLˆ–ƒäÏÂMy‚þ­˜ Æ¥ÉûÍRKÑ’ô-˜?-SPî5G­jJݲp6™¾€=³³ ~º¦[p&Ü2ž½²Êºr.ißQÅbùãÅ3ó™sá—‘“ªªï¾÷¾i~œFý:Š3eœ ‡·²þœiCà‡Ó´ס3–Œ+ Jш²(¦6Â`Iß Ÿ¤ºÛw>O$b=È2(¾z4¤7æ%œ­ßËé±68¨(  í²4— „—,“—¾Âî•Ó`«[@_yÒ?ÿÙjÕO3^J1 &ߊ6yBc¯•ÛH_-i”ž¸Ê€¥eIþæcC ôšÔ€Yð|áN*ÎÞ³oáz6²°øž64lÝK:ÝY$U3¸æD„J5 }.å[R«Ë_»çwÅ´¾Rªæ°ƒ&;ð}[ѱ!ŽÓ‡€¥î  ©˜A]ó奈™…ÑmÀseίAJY°,n*¢{^$f‘]‘øÄCïxÎêLYQ!Äæçïò«>VW=|·­3 ”¿um¶ô>šj*%Ôâì—«$Ђøß˜ü6˜Ï¯h?gHx|GCî¹vO™h"Í+™}«R”ñ[¾œ<ø®‰³ç¶¾Ìݼ¾YAz=ôæÅŽ~³\™L³)f;Ÿg;Ë” †lx¶•¢Í±ÅQÔID‘¶àr‹MÓ?‚ìTaéõÈå­”]Öp#¹øÅ×g´Yýô× OeIkýjµ!¡5q 8úo›mjš-åfÞ0Ÿ§î*>ˆó¤0öýöuåI#™–Ðu_)LQ1¼aƒ¯kÅ_Å3ŒòŸ›JeMô)¢SZˆƒ†U¢J°mãHhjÊÿ¾Q^ËØŠ êʸ}¯eÓ‹PLbT½Us]ÆÌkÞ“e*”ÿùõpÊEÞo'k´»Äçò(-0ÆGo”Ž:iF¿{©-&#«SÊ™”oyM‰À60³ÒªX™µLø5t­QŽzëkTΚ/ú|¾/7ôÕ£5Mb'M$_~”â¬}þCÏœ¹ UýÐWÞ§˜Çù5m®³y›òÉ2ÉåO†V"„½#zCçý ŒØjeLÔsj_­öy B²Dxàºã€j.˿Ӝ àÿn{ÖXÃH6óÎîûáñw¢<»Mæ¼)®áè%uᑘ›ZAmÓÀ°'”•‚¦³\g%ªŸÉ· 'ä`=4 E<OÕç¶eÚØ¹ô¯£¸ãü5Ù½9àï%íÈúèËã¹·£Ó„)4Ë0t˜I±O’²ˆ"¯áÜ}‚3=©u½ÿKG@Hטõ+ÿ{ÂÆ„ßâÆôgŸx4¬‘AßÜ~m[µŠ‘‘a?I63ÚCé™n!Û'I×Ukb³’7pv’6,UðÉR'1Àä`øì÷n»³‡ãñè-fâvÐQÚñÍPú–üÄ÷Ý&9,^å“#ÝAÛ¤Ëâ]OA0rë¥Ý]"W¢0É­ÍŒéŒ/$¹=¼NõT¶a×P“DEêN£\ ó„Ý’ö‹aàA«Ýï*’óG·90N°Ó!™/ÛÙEq$$+6õ_«ZIU÷[:YÙÈ{h—RGY>XðŠ [°‡ÊÕ‹®I%l¼úCômõµ&`åÀòLvÖþ×$õéœ=¯ß¶\Ò7­™îùµ‡œúR" w|Opˆª½ú¬W„/vÇç8&:oB˻Ƚßdù1'bÛçàk‚zÓ±ª¶? *³ß= èwP0@Zº* ¢>glš¯`2èSzv>g„I~/ÞÞXUËPŽì³Í ÐNoy7¤A㺉y¯™á“iC-ŒâKvûŽÍ 7Ö²–FiŠÌÉçÏ[¨. S;ˆÑ£gCQn¨•ýJÓá,Üûý 6òS)¾Ïÿw Å]¥ÜbèÆ]|£ @ð†ÊÜ»¸8»%ï|¢ïë¶½þñ‹V—Üs…nJ-» hX—•yø'.¢§ë0¿¨•’ýƒOî9ö>®™‚­‘ÂæD¨æÛäz,¡Éµ÷dñPÍ|«ë8ÖR1Em¡ß÷)ÙM=œÈÍ.R:}†!¶HŽi U¤IbQ×ü!¢4¤Æ'aƒfˆØþ8arJg+¼7G•êP,ööðMâá…h”X°ú QÃLYåLqª<ŠÝQÐH·—†Q‰I L„ÛZ˱*f¢á»¾6ߌ¢W îÒ‘®‡‚EN¯Fœ2XwˆÜ_løjF›Ñ´1s!@íf ;ùñTuFág®º^‹kÕTg‚röâmdSÏ}`§’X1 ¹ñûÜȨ|f—H诈ï+Aþ|ÐÐ8vÔÂÝÖSºæHIm'¤:Ù_Œvš.•<9¬ÿ€ÆƒÖ£–´½5¨"VM_ ¿d4ªM7î^”âÇ!’ä ØmÐÂ+‡¼°õKûi€Z°ÌÔeìMEÎõ¤éÂÏŒˆŠ¼w=:†mÌTÒ½™w»`îiùVþF›* Ü„¦2‚Qøhæ*1ªÖâ-‚ÈÅÂ’<Ý`>Võ‚×ìFåŠ,°î1I•Ø«¥þJ?†§÷¦»=ªpŽ §NÖáÁîHó»U:œm<+´`Ú3š«DS&· -°Æó€Ê°ppŠ %ˆ*{cô‹9¼JÇÕÅ0†ãÙ ~,–ØDÍÌUìwb>,+y†6Sb1|òäF­>Þ6Ÿ`h~ýÊ>_a‹#¼‡Œß”9²O(J§‹iÔ³ÍÉö‹$8gÃÀ„9piI“ ò!ôý] ñpÊÈèn‡ÿÙ£HÏòÔç#¦!ÏÄÛœ>5LdYæ-äUslɱ¸dõ3ëÐó—ïe1&EíÁkL¤½ŠÛ\‹Rz¬÷Re䀴¬ÐB°eŒï!”ƒ´±8I©~¡ðóžFÕjIÎla” à©*Wõ7⑚0K{=Nã[„Ç¢¹Pê8SÃxm7Åß±WÇšÄ8QóÄ`w6ö¯‡€Tƒ¤."zŸmºå£ ä¨ÐÜbºÎ 'ôǑӦÈÏû– É˜½WÊåeìãUHde`þWWy¨>íDêB·Ð59ôs°ultuýær“UWÊžŽªü~02TC×’¼é Æcn¨Z(}œŸòäZØÏ ðséÚÔJÂÕݯ²:#‰¬¹RNe{2Cüéô㺜ýÛ?¬D†g\`<î7›¡ë¼ÕªòF_l´©$™ æU•2¤÷­7ãß+ûNñÁ‹ñÖ^¬š'º7…|Çøem‚«0Ü$o8ÂAÅ€0åõ+ÑÇÄŸ¤a[Â$™Ê“^¹; €‚´Ó~Ѫ¢Ø8cñµ7“ð¼zdqdOËS­óƒ¼ƒ I¹NR2<á`­ ñoU8,[A`¯>»J슽p9|âÙ‰ÊËÐQ –"é½ÆÑ‰mËç €D´Õ(m?0 #Øø¿DsÅXQé†V’R¿µß8³„ój•²7“Ö=bys‰ãð‰m|Ÿò?`\…´Â̵0Ó9€‰ÞÁ¬Gð>"’bŽV7gɘ `¿+äfû±Ø~­ò}0b’¦NHZ·µà]0Ž‹RÌ0õ¼bíf­Ýã\Â2g!¼º.)×ñoè ¦ê¯Æ{ù´9EÙK„ꜲÄà_{¹] MžípøW[Ex #VÊoHQðᕈ‘üuü©0ëCߊU©ÈòfïwRË`&u/Øé<ÐC™9ÄÂO9Ãê« ÙáÇK ˆI#F3%+VfÁ2^ƒ¯°„„×JgèÀt…5TÂÁw‡¤)µd|ßïÍ‘Á4~&ž?óë.½tiÀt9µMl¹r[fuÇ ÏÓþ'Çy±{£ó“¬Ô¡¸G­Eâ4džÛaJúÝeòÀÇÀ£PmžM—eË8í±ƒO¹Å&a½´bÑMvaáÔ‡–+8ÃÜv½, IùTD[ƒü›MEu»ÆÏâªB´Ì… ì'su°D@FO‰Q¼¹~PfD‘R3€ÓôÌÒBÔ%ÕÛ³zDñÕ*4»"¬ Xw~M\1- äœW´äÚ†:+$éžvÙ÷pˆ|÷Ñz±òl2±LùñèU‚·€0M/»QW+o¸·iKÄÁâ“Ë£ìë9§ºàuÁYeíÌ#‹‹È’öj*ð Už×_Û©KƒYû¸Nà*šÿöÙja¢)Œ°VÀž=¹‘…ŒGç£Ý·Ç"ƒ§ÈÚ@Añ¾73’öúklŒ®ŠÓI¬ü¢©+掅k޳Á#¡™ñ^9Ù¥`Øç£ÍÙ`%‘W+ý¤Ö›·¨_"Þ†?8Ú–¬úruK™6O¾êÍuèó‹öÍXšy‚L¤ÚO|ïW6C˜…ÒKü µ+x¡§÷©w{ø\£¹Û+GêÛKî"”ˆÇ“¬ÐNUŒ©­ž1aNöŒ„©Æ–Êbï4¾=ÖËrLû…æõ{$v®Zññ<Ö„ÖhèVßÌ.j@V–ɵkõõXdÚ«d¯aá„t"4©m€Þ_qòŠ•9›ÍÓ•![St8´€Ö\€SÇâGÞ"pTCˆUŽc¢—xye¬wª4P6ÅPŠ÷¤÷xI°è5#_øû©ÇøLI–ø{M]ªÃ‰™§·¨VÙu²m—MX+^v×Af ”#éö¦9iFÐÊõúi’Á† @ ;ú=405XP[Pèˆ×E‘"Ë?åÙ##ËoÂNõß'ŒÃe£ÜeÐKù¸311 ¶Õ¾Tþb·KŽú±@T· µÇ¦òp,e‘3Š S~æ·%г¯ç JCUÉ7]Þ¬"Lç~Ÿ]×ùW•ð˜è¹77Û |™b¿â† ЗW+~Z³41xÄ¿†øÊwÆlØÁÛ+Ǻº1Á;“Ïšaü¤iì£ )† 0S Èúгó.÷ÄOX×}²/‚ &±Ç«¨ò€:ÈûôûËZFK$Ű„Î}6”EÏM 5h­¶”ÙÃ5•ÒÄ@ʰ€«Ð8ÛH8¤Yu<ª~È••0ÉÅ_SSÏ,”!{ gµÚVYv˜BŠ'êjÓåÙzÒȾ«µ®mèdË›>F¨Mp§œ°³4 ÅâwŸ+*Ï„ ª2wªó¡ÍÓÔ 1ërß”õGšxcõq×ZÔ‘’€¬ä†ÌŠŒw:LÀ•‚{·çD­µ'‹í•ý /?Få#GÓÅùˆv¹Ó9Ó×é0Àœ*}<¤ ‡OYƒl¬Å¡d¯bdCø@ ÑAÍ×¢(qšJóMl4+õ ²‘¡ ‹$«ÞhòåÒ®­®Eì÷Ί±¾U0ƒ@1›¸¶œ*ž»–l,“êJ^¯€Àıð0蓉ñBb/"ƒnö®–h+h†ÑL¾^û‰òFô\ÍØái)áÃ:ƒB2†»ÄXÝa~ê0`鮫n±æp}á2ÞEhÑúöòÔÜ5_°†ZçŠ-Ù×Xu¸dŸ¨×UJMC”T_ŽŒ§ˆ~–Òƒ0eè#ud—$´Ñ‹¦Y&)|c9Ç+þðw ä—*Wäï𠱬Á±ÜÞ} ñ6LØ~«±½ïý'˜õ]ÈΔݘ2käõ¿/jµŠÀy\"¤™·GN%º[«†Žôöh¨ÝPEY´þÍõúc{¿ƒ¡­ª¿(YbÄ’ÉærÊ­ ¯9S¯?É¿ïL4Ó‰Ð,òÎÈiq|?*;Az³XͱӉ¯³ÙŠÜZ9[㙵æ—ÿ$êã÷—Äây£»G:'ø±ô­ðŽ'ž@þ¨tŸº—ׇ¶99…iG„øX3¯ãÊy‘OÖ Þ)ÃgeÔñAÃÆó;*oß8©®3н pe ¶ƒ”q'Û‘ÆÌötã«"}@à¸áÞ$8Oû4n©Hël'F;¾k¬%$T…À÷•E÷/ѲÜØ|`HÑã‚4-Vi¶Ìâê—àIý·#búpÊô$ù h|¡ø|îwè)sç[¾ò'¨ò|¦©(¾ÆÒ»#I—³…¼[=õ9ô,~°’^ó »Npvâ,¢[JŒ•Ä9Dˆ9eÊ1ÚæYî`ÿ Žù2v®ÆÀÒ ƒC¬­ òFj溺Zq%[ï ¢X;9DŠ-X§gµ¢Á).’ÖM]ƒd®ð$j4%¥¤µ¯šêf÷‘‘ºØ GÖÒÆ;ô ~©r•/+3±·.ܧmxð!§µ°‰£mÕ;°ô«)|ÌSÙ ò­‰å=ÏCöÿú§` l ·tqLiÛ¤s?k‘¡ÃtýV™]ón-¶ŽòDý$µ­*ïp`9y1i‚>LñVƒ)@üDÒ§;‚J¾öXBÍ@Ôí┣"AAùÏO%e~½Õh<æÑ·«Ï?z§6£$öt±{ioã:IÍ^yp䟡Ùön…äj>©ê| ö:Ƶ6;òæÅü+Mƈ1É–<|ÂP•¶ŸŽd8·?L]Ù zf›™ñp¹²J€8üu1‡ZVç\PÞÃÅñþ<DäàIü5<¡†Áã›JÅM2»} I垢cÐàÙQ* ž·ì«4Ikhª€(Oi Üë-ש$Á8+»B7]V­(Ÿjó³üMv‹Ÿ!þKïµàÙ´qð·`ÜÚó픾z@©”Põ=ÃÅ|,žœÿY ‘ÒõjÉÅ"¦ŸZzÚ䈻/ãó váOAÝ‘ÊÝÏô…È_ë_D¡`Í{ûû"-ÈizøÔèê£m„mÍ<ãÁÈæQ{Êt›¼¤8²Y’¸³IÁÚßÉ`;!]"V[šú—.r ^×Ä44 éM„}ɪqOYøXÓ_Ô¦:-1§oK ¦ÍnaÚša1 ,B>‡ËBÌøë!xå.Fû®1‹欜!9Ö@­Ãɳx~Kìw ¯üÕè*»HDØ{¯æUë]ä<"@˜§{‹{¶Ý¬þˆG³Vw×õßð~µÚ@Z–ŽÐðUG&ãN¶=ÒÃ}+‘ÎÉl¼ï\XJpô*»Û °Α#'mëôBDÏ*LE=ÓK§­ŠØ%Áö¹íÁ3 ¿ óöÓ‹F^r ˜÷k÷…Â¥7Ÿu)ŸÖSMy¬¯š¸¸rŸ^Ûƒ¹pJ23”F…µ$ÌWq!àÔ™ôºˆ€FæñéiÁTŽùj±˜K’$ï#Ù›Ù‰¤Qj2Ç@‰xÅâ“àí£È¦ÃO¥Ë'×¹…ΑŠ|á(‡ºZ%?êËbçÿÎpˆŸÔŠð‡¼Dµ£Àjf¼ŠªˬŸxª¶”• TÐ!ÛÎÑ—‰N ~ÄS×°ê†Q¶Ä_˜{ÅéI¼Õ’:?òz*:V•бµ9ì•̬‡†ÜýÌÁ™J]±ˆ«›“½9}ÉÚÕ×r°‹~‡l¾“8óº8nï9›Ûu¨lXÁ7Ô³é9BãÀè™´A0?Œôç@sÝòšŽê&òŠ'gĦðypg.èG°‰"3S%Å@Û˜ºo¼(A/pÖµµ©1-=T䯢ÍÏÐÈÝ®‡Ë>Ûë°á"Â-5Â*ªçwûÀ·!ydoî]LÐáÆ.y[˜åÒThì± ÇïB:¹U½.®¼‘áe§·© £µÛ+ŠÌ³<™©Q}<î»»¯› 4Ío`¢ ½‡3ùsÍï ( ³Ÿ¥Ç÷-¼TX>S ­[ ÞÁ ås½s Õ8Aú*]ÇЫì$inic´˜XÔ¾SMù1ÚCñpsÐlg@â.åÂ?2Bšî"*´mèh·Ñ}ŠL^ÊGfþÒÿAµÀ„¾ÙâýÌ:¾ GX;`¦íûïaçvGÒí•HŒGˆÛýFþ¦BÐܲ„R™yŽV6‚|fFæ%²Ê‚¦˜K~…Nkæ3™âc Ô–Ôt 0tÿ“mü](2 ŒNR3€CJÌ-5Ý©@æGxìï¾ÛÝåó~±Ç§¼Ó\‚dDkÂ|#›á°¥èÐkÁ©ò'îZ^]®á41RÔ+*ÄŠ …E»_îô2‚/…€…îá€Á™újÂ$÷Ë~adVŽ|¦˜xT…®¯Çeq¡ÉV瀘¬óBo€”Ï øŽ»'À:h’Õö—qݽîsµ£QωÎßI+$Z‚ž¨°5–!¯«dgõrXäý¨ér¸Ä¼:Ð÷AÆÂ²éÕàiGq¤J%»;Îy&„ÔjAÀ÷é³ZÓÞþ-LtGZ;zÖ„â¢L~¤iSc.ÀÈä“K»>o~¸[ iDáLñN~ð t×juJu”´p%ªÄ|[óþ˜–¹®Ó.vX¼ëŠ4Â]¸•é0SŒIí¼½½‚y4Š„tµŽb§®y ¤VNÎZƒl7Þj2–Z‚¬,Ôr •ÏË€h^Ð=gq!£À:™Ÿ–ËNÞÁ@ØñOž‡’¸”¥dHí©™ÂUaÑÛÙ³”˜“¹/ àš…TS n]t ÂÖ ±9:…ÚRM+€b–•¨F¡a?'Œ§0[Änþ·*RÇËý¤Kž €ÚÛ{C˜â° œPË{=táÑTËÐetVFºôõ~HÅú½÷tõn•þ~Ø=Ž©@¬ ü¯½¿íÔ{]£(ƒ?_ïóX¢îñEÈÝ ØžË)u¹HKä¸IǺþt!dÂM0EÔ e‘Óëh\ò‘¸@ãx[~¾¨ê ýþ¶{A%»²€.ì(„2Z¾åô“íäe)€X5–Ó'TÛìY­;ŠNªô CÁîö1«Tl¹>í&·ˆÇ@ÍȦVKµ½È è\"5!ÿêcÏ\s-ÏòS]8EJfxñ//„¿©8/öë§J$7 ò¦†U±y±'U€ÎægwÞŸló[ø|w*7, /EM_‰2÷š¹F“IÓ½ƒÊNÉœm AX’ÇlÙàÝHIª³§…}ˆ«•ç|°(Unbê»….my¢äN‚}#ä … =zy¡ã"éc^>ZK’¢CƒYn1ÚhèÇ ²Ÿ)PÔó„jäƼ…ΜÔpÛ)Æ`œ ­ù ™rã“Z<ý–¹v¨é0…Ð+QiaD#‘g ¡ûöìÒy•ªÀ $˜`Zƒ§4ŸëPá%°Äù9n$¤».hfrÇÈKˆö\‡|"óÏ·_ùdeWrJõHü­ -{ÍÀÞ>žm³cé[a÷ÒNTÊvDT³€1¡´ó@Ù+~ Ûè&×´UO" íJùfÖç'•ÞÞ_bUý…ýþß…äL`úªoPvÃ[¹µ67ë+bÍ†ÖØ4L)Ûž}áÉXbZ'B¼ÜÇHó0ˆ:±„ïbæ5k¡a»Ÿ×‚õ6aoB%-ÖºN®ÍÚÆ…;7Áâ~uôžŽ‘õÕ_pYþ+¸-ðH«¥›ÓÌ7ÿË,·x^^Õå@d¥©¥ ®> ý¢ÄÄ”Näoj© ;hÔ"VÐI’…j–ú 3¶+)Xuc¦f5_Žô8•Ù´ÁDT¿:9@ò>Ÿ»¬‰5Gx,G?¶êã5\ ¶ ò&¨s“6Ã9D=bêûƒ%ç IðÚ[{Ú×Þ ¢2?æÓU.ãѶÐXqøœ…$ªËœ‹Š|ê“ãÓP-’ÌzÆo[ùóÜÍ£ù!’p§MaÐ! ”ì}Ÿ]£!âžõ„Ù³ù!Û¨Ô1  p=Œ.päVp(«†7ppS>å0Ji¸Ê©Ÿ µU·AÃÚ·¢\yn×ä2èùŠ‹ŸâNû•¬xFardRŒ*Ó§.®€!¸cqเ¯)õc˜«b2Â7‰Åµƒ¡c9yQû̶mQòWÁT YüOéUãŒÕÖƒ†QoÙíž`1?MË”P]Oô±ª†zÔÊ™®úqUG={©j©òŒ…èÀÜî.×?öK],=í!ñ¦ Ô#Ì>%Q}t<ÏÝ3×V?ìœýáèÙi#|Ƹ†iØŸ—î»!Zbüò‰ ÎÓhÍ @þ¼‰‹)áó» ÌUá9'²ÍL¹‘TŽƒ.RÌeîê¾y9¸ÀYÿë¨åÏ|?èú[Äá*…°+Îçþ7«`>2÷ue°A'¼Ë¡‹ÿSÙÀ¢³’†4—->™ŒJnãoˆ5âb;µ®¥SÏ:ΖÍU‡ºÐò\$ÍÔ×1€‡ÓêÞÒ`‚ mÄ›(Ž*¾Š.ºì°=p?Ç/Îk¶åO!™õ(àႃ",P—(É/ Ï»ZÂZÄFøÚ#néLYa”Ç™Qódðt(D«Éõ9½†ím ™…®”×’ ¤@z7þOæå|8ê„ËXm  $oñm$jñy‡¨‹i·å¤iE¢¢Z ÐÉ2^2Øl×Àí3zPÇE(ŒNâ¼\ª¯ Âi•vÅÕF ©±—(î*öA­¼š6.¾öd8ž@…¼Pù½«¤é;ˆ|Èê\<ʆ‚Ã÷ï0®{3‘i¯È5ˆ}â^[ÜaíTf^£Žz3¥„Kþ±i¶Y¨¹ÊJ\­c &+'¯ÅÓ²L‘áö¨!ŸOΊäù¹)ÉP3øyùâ«‹,o¬MyËî¸Ð=YŒÄ÷-Ø <“€ã"Âg©Ñý0X‚ʆR Éø3àÿ©‰¯ošPt=UÞÝÉtu-²ñ§*©»ÏÆR¼'Y”¾’0œO¦«<ùoZîïÊåj¡YVÞ÷Ç$u%» Än1†²ksMîiw¾Gûîß"[r@rhˆÈI]§+#b)_ñ;pOakÀ|-ÿfŸõ ±:½Ú7ê $•¥jrtË÷4%E*nšÀWðjƒÄÓ½ÈÄöJqìŸ& M“O2 •€/6N¦“Ð.g>6p¥² ?N ~ªKÉRy€A¬¼—QøVjÀD¯€LŠ[Y¡›-•Æ¥?äWå€;ðH”ŠÏìÙZ+ýVAïoœ1‹,èÁ;jC<¼k–ï¹i8Ãö˜Í<"÷èÄÅ'ÉÁ’y!ìÖa"úGÉ!cµ²,zM`5M€`èqM9À±æ$$ƒ ‘rœÇ¥œ.l„;jÝ‘=ü†<÷ߨ…54‹ û¬‡3É€ÉGˆ1öƒ6+Þ%óëëÇœO#¹\ËPvÝ$&bÁÚÇ“&çg žåäXÍ™íó0ÃÍqÇ/eα&u%’Êxv¿²Èwûa»«Ð,¿“\BŽ™7™Vç@±„K:ÞªÇDÇÈìÓˆü}}ÒGKa•òUµi`†ua‘‚Ük£ÿÜê¡'à4*ëŸ_£c}fWp2¶Ã ÎTºCø€Ìªg ÿ4åØŸ.Žê{ÁÎ$ˆã9ÙÈñϤrÐg¶þ•`ÿUðöu@¿»ö^ÊÑgA÷aÇ !Q ºÐ©Uô=nÿ›ƒbO ÍTŽkÐOï—×cRÍÀ•å¾ÏkÙ^~3p *8$tY/èö6ÎÒZ!B+†i& %bÂaøB<T™á¹waüÄëEìå< úº…Ól`0Xí¢/Á¶RŒ$’ím+ÜLZï…â_YXCÆ–ê”xúË)W´þ\êUt‡÷C×׃^ÿ³VD\)žÜx&‹M¨s­Ã}Æ=(þ°ÇµÖ„$B¤*]KÞ$ „rÑ˽ESOƒ#ûë¤Þ˜ãKÇŲ-œÂ]ÄŽénÛY]„ž½’œ5½oèw’Ô#°(íš4¸ó LÌ´†³‹GNað:Q¤eýÔ} À%Xð‚Æ_#$¢ºê¤Þ¼Ã¾}¢}7:¹)9qdƒc8ÞæÞ ÎÇtÌïwóZ™þ¤$©žÇɘ„Ò+l.1N'¿Ù®Ít¯Ò.eঠ•BvL -AØ3‘ŒŒvÆc´`­]Xzf꺒ä²9j'FLÊ,â­9ˆTh‰¥G±ÖjòJzN¯Z“ö$(ÂZ¨Èû+í×øe–ż¶¥m’dG“+^.l¶)ŸÚ¶·[¡Œ¡0I1aºZÚ;´òQ`À?À8}.‚@JͲûÅ >ž£j§‡Ò§­µûƒ à…†mŽ­TŒüræù"õœ½Éeq$–Ûó€Ÿ[ˆáç# Û¦\$HÚñ]ð~q*š¸—W)º%25&²N[LÚËœl3 ýD²™³&~=®rmØ*éw¯’ãýÄÕý&C=}Ü ‘‹QESÿ9z*(|“¡±²¦ÐE¨ˆ¬Np~°¶Âޤf‡¼¶H:ÿñ¬tü4và÷ÇÌ8 {ŠôæOŽvÏ÷ [„cÍf5ùWn¸¬ qÎÝ×aá{u4(å‰/\#9z´};]y]›˜ËâÐû^vàK¬K¼9¦ˆ7¶“f$¹‹“»ì­çœ—¥÷kg›s9»QÁ\…£(<“›w£­#‹Öx@?–õ£¢˜Âáaæ G•Å¿¥õç®nÖ­Ù߇ þª?|Å; IWg ÷ä¤ÃÛþÖ€+®‚þœ{-¥&ú ãÁ2j{¶¦ý¡º/ìPôgþ…x,:Ç_פ ÂïiæßüÔö®!åÉ û”ƒ¢/ø/H,É'´=wPÞäžÂ$(<¡l´ÛqSgÜ£jcḛ”`AZuÓÉ üþ²48rÅš°-Ç=ðC¿<îɹj÷K Y?×'ùPÈĪm•…¨“[ÌÏ.ÕÈéI¾×”μkÖi¼•x†ÔÆŽé'ºÍRµOº!:§¢Ì.{겜ì;u€ùÓL>ŸJââ’QwŸ¤¹Ñ¼ëÿq‡ úpŒéêÂ]1q¹¡°2Y Á rŽÁVøÅÙ+?íqQË8ä"ê´×?ùZE¾ÃíkšMp °‚õÈÕ‹»Oà:&¡`è$_ªÕŠüP/Ž™}[Î2E¬%5P¤ðý8„Õ„>«JÌ)JÑ}úÂ,puª[@ùOD-‡D˜4Ý¥Ÿ1Z|(ú㫬 vol=ÁË•kò÷– ÚDèƒ •Xg¯ï÷@åÖS6’D‘Ç›cšL:Œ©ë¬(„÷äË º¢ðöù¥RD©·ø¦ì'e½="š7SÇ—\Ù°-ßÖ–:EO£UHœ¡$¿†ð’ïáü§›¼}¡‹Ë6õƒÍ|óé[ã¨‘Šº.=¬Íni¡ý!¾"³àç×ÁX˜z9#³UG¦ ³Ì$e‚|k?Ù;ã ˤƒ'óB¬N ·}Ò¥Ñ`ÔÍ2on×Xk ?ŽÙï¤1& o*åiU~’yS‰sÂ=ëíÏÊäû úSÔ¸­p¤Çsø…“Œè8ÐhÊšÓ^}Âê_. ¥í²x%”Rhñö´-ÎmE”f xèûŸq¶jÿªísSF†pa±ÔÉãýø¿1†oMå/…ö)òb‚;ùœ ßÝÚrF˜ë-Á—9//æx„åÕ°iŽ—’’¥¦Ö õT ¢`[çÖ·r;äáyrÕèë“‚s^ ÊÁ4˜*Tšé6Ä„` :CôYV`Gó‘9Ô±Š£ÐØª/?Óêoƒ¢–—а£?ñk\¾ ÔÄ¿côÂ:0gæAÚÃr.ÇHW¾]À^‹uL (.ŠÚïÅ ácDz¹ÅXÁ·jë§¹'â9øÜAñóäº\ª5z`¸f\Z ½[R/w^ËлéYÀí~¬þDÚ\KHŸúPdÑE„ 4;èó=w»C &wj¿ý¯å^\ žÂžiz[HqóF-×OO˼]yåÅ%›ØîŸÐf&G9»P:@& ~æ7)Õ$ }$³0ß‹rao^5Ö2cˆÛrÜøt3ݦkç«è¸›µ]j¾ ®Ï‘·Ëœ9_@MŠÖö†KÛOÓ±¡tó·ûö(Øl믞­½Ó†e¼‘Ä!¸[ƒ¹ŒÏy˜…KâÃÇ,÷~´éxö—J5% _.,y°9¡8öäyUƒ4?j. TE2gcb©õ3=`[8RéE=¿\t«‘}ÃǨmïc†‡].iû¸öœ¤ñÆ%,CêX™,ƒXÈA¯Î‰Š@Á (œ)># DKh,KÛ¬)¥²å…މ‰xØ#øŽuS³iã*{dqX«J1þI¢ró4þÚXã¡OºnÏÿÞäAÎ÷¥ú›J±ñPü1 Nj¯‘©À¥Ó³Í&‹¶%BŸ|7zb±i þ©±® ÿµoÍùh+7â<¯â)>ZÊäü=Ž»û7{ ›üSìÞšÅ'aT^ S´sõ²² Á<šÝSž9t=É£©áC)6ç;ªdöÛßë£û‹®»OÆ:ÔŽc˜É—Ùí˜dœ†tÌ‹,ïô.ªƒ¥²ÄöûäM4%Çm{À¦‚¢çåþH{l Á¨;^ø.‘.µ^Å” µ:ya©Í)ÌËe|¿5Æsñßß×IöO„»Ë'´`…o:,Î>ÝTêëÂÔÉÂЛÅocþ´öï÷l$=ìGE³²`‚‚ìY2P’v:XŒ`/ Ò—¯c~ŸŸ°ÛÊP4·7$­gÞïla¿kö6_’ÄÓßJê´ïÎèÉõ0¦ÿe‡ëGâb_ªbE4à1Ð 0˜i•I-Ú†º­7\Œ? ö,ýý‘AØ eîÝÆìWì±üÍÛÕ»•ÜÊ:ÒØ'–öj(ý¨ïøTÒ ;ù¸ÍôR ø „±Ã´×à³ØjôþÖ‚}< 2´ä¼àŸí€yK»*0ƒœ{ 4œåœÏJ­æš¢Ç6µ}(Ô%ÑÂX‚eïÛ@å--¤§ðÏ;ëåX«Ä¨1ötQ¡^G<1éY³†ŒûÔñ=ŠÐƃjg·×Y§ñ;šÄyÝN¹Í8Tæ2ÞžËc˜OZ=M>W>p$'óS¿)! •È!,Õàf‡ƒ&åß ªj¶(¡þÓžþ˜œ£ü; uX7õâ_VÛš`gnrš¡A "Á>-*êHŽÄlWìq7Ô7ƒ-´A¢ËV3»¤S‹ºn ¦íÀ ܶV\Àç3)ý;FØŽÃQ½tºžØ…yÊþ¥%Úñ€Í¨à?¡?»P±¶°ÞL…-£ÿ½v{ŠG=}ÊÀ’¹®´ñg=† |jÂjü¨=*>“‰ÁØ=,‰~i-?Ò=——(Â¥~Ø-Mè1±vBÃzº^'ÏD}d,&IM±ƒÏÉ‘»Ð5¶0%ÜmÓaÇ1”šu…ššŠ•S˜ý†›í"¸1ÿ‡1gƫŶ ÖÉý¯~z$$Õ ²Ø¦³‘¦r7ØSïä=^SD6Ô¸ØòÓåPô©®l§Ÿyx$¶{šF$çH–geLG‹ƒ•ÀSà9)- 7ZÈŠ²CònÛßj^вÓ.,ÚAé‹‚/{«ôá¹OÅ]ep¢« ‚[Q}?ŒŸ2Юî7·O²›T°Oÿ+҄Ħ?é9ŸOQ#RuZh‰ÈJ· zWµ<_¼wé¨Ôª>šE¬º÷AvÁïb"…pIíî.Õ½ íx•­¢N‰ìéãnÉä÷° ÜØ'6é#ƒ+P- á*U¾ÍX”=EÂYÕ„!ù[µÏg¢\}»”“åRžÆº¥Ó Ï…rM :Æe¯&’wô7~g5ô’¥ÂÜL4oÎã7û U€’½bÔ£¼?K„TÛïuÖ¨Û’›#錯êƒ_¼ò‚õ¸6_÷²08f+fð?ïô7Âùƒ*Hô1û¡°âA/õÚ9þT‹Qwh{m×#’ÚÁÙI—¹¥E*§ N>dÛEïøBd“r/œH'ø}¡î\Q‰@[µ+"õ%¬œ=NÂÞôÝõqX½jÒÎ)ÈGsÞí@ž—סÑ2_ýu t:òáb¤)z—ï¤ûÆéÃc¿:nëy$Rq®ÿšrßF"áÇêƒbMkV9ãXJÒâw|\ x¢©|NÐkQŽøáîlÃÀ©ò]4ý}Y¦x6F{»“U0¯ºF ¦âF=8îøÜÃ%ÑQâgñÑ\ð3m5k¦kÈkÞÔ:&ÃZ—ñßßÙr§£ñâUÍËŽòÊS¶Š­ÎT°tfxK~j÷Öãô.¹¿êŸÝ Z“¼»\©4¾ŒH?’6¦`ÉÃø'/JyAÞY¢œ øÏòI{)åÊNÏj’S¤}xÚ¹gP™Þ™¥QâýhQ y™¼­Ìþ€/moqdšl÷ ÷èîüC™´Q—ÎAì^¢l¯yê.åkØpA‰½ž ’ðÏ… 1')ƒyg~ž æ~57Ü$8þÝÌú°¤þøÿΟ8yÓëÄ$gô°w´çi½.ØõÚó؃Êó0—UµÀt ‹@6ÜØ­$möUÙtyU2“‰1¦®±ï?Gæ&Cש™•íöt\+‰LyAkVÒê…TϹË“8$A|u+obEûiîK×·GÇËø¯hŸ±’½ö'SíIˆÝ™ñb,%­ÂÎÐ+X»K”¶Dù,L‡?–‰ñ1ÚïmŸ 2U¢°ä!çGƒòî·†Aì»â«ñ8¹…øhnÂ;d|ô†-áJÀ õò=~%9_`Ô’&"W Ç9ôe¥Yç#¸ Ìc·ŠÌ–º»Ù:=ŸVÚ•°Ê÷4\EûA¹;ÙŤ •Ù^ß%ß´U©Û‘‹ª‹œÃÂ[Q°6é;ØA¼8ì ­\?åœ]¿×E팣RͮۈݘXïA%*.iZGÇÙª¬”×Í+â2êÅï,ÞæèÙrÙSÍ»<±-'Ç#S謌é±~í(ÅOR‘ ¯ƒà*CëËó-T¢°tG9œÇ‰¬ý †è4—€ËÁ½ÃÖ2ÅfmК¯üqÄ[P™áb› ¾ÊCغÖ$”¬•ŽE ¦_ŠBžš¨î éO‚ÅvT¼×—%Œ+þ¬´¿n1‡Òzã‚GSpñz¿'Pûð~÷f7¥À7¨²øÍðµ'ÃÚ™s §{yƒ‹ôËÀÅ×$jTw>{Y«­«:N DqرV)Ip4 ”í¯×0÷ì }M°_<§~wׯ®›ÚgO6x>8_.túÞ’ 䟙ÓyädB‘$ÙhúÝ›v‡6ãë´>l¹0”÷Ýv°Å/Ï91T­¦<2Ê.ø` zÙ,j5 ×¥ƒÕÒï6£¦ãÅÑŸY•EŒr.]öÃ|é3=Õ¦“žÖ¾jýð•,÷2Æœ@ºn¸"Q”#­£‹‚K{o.Ÿ¹ž]Æ‹ññ”oÅíÃÊLïà'r…õ!Y«ðû}ºªÂRô–qi™(Mð@¥ùg~yÊGf#nرˆ Ò$(eUþ³UxcÛ{†Ù¥Û± ö-FYêÇQy“î;¸ ©£ (†“¥úZ/Ö V³Œ™'ÐîuÊÉ(SûŸP£ºú™WÉÐÎmÇ—öÜ Õñc§%n€C©ñ6Is– Q-~ ùU»—gc±Vꂽ`}Œp“E{¿ •>$MŒÁÅ6_1 Næ"„PTù1öç蔞ÑΪf&Ü»jÊ8ÀjðmU—ç:Ú1±†FŽ=üÞœa€& FóD×B&†ö×£{6·êv7þì?Wlßa ÛgšÜ3… €NÐÍŽºž„3jt³Æ°ñ‘eZµëÕšä¸LNí†Ø=x¡”¨ðãgT^Ø2€.ŠòvÃ=’¡ÎöyyE¸œæñ»áD³v}Å©1è¨_K@Þõ Ê¢‘°…Ú”ÙEáb8ñèrËv\ª][²j}bÎj}ž—¤¬êÙ?lë¨Ü>Àï19„g&Ëúe*ÈçíFDŸH÷3ˆÐ‡éu^øÜ‡ÀûCÞ) ­lsm«`9êÿ£B8-:á÷^ •ȱ*g–)i®×%ybر˜¬¡"Ð >¾âÒº®±ô5~SëPQ†µ5) PEÆ…gZbK!ƒ¢;Èü"(&Sn]ßÈjÞTÇqé=cRˆ‡® ê¦_’åãÙ÷\ì“0—‰ðA8fÇòÜ £tÁkžçAòtÕvÌâšÈ e«O{Ä!6è&iÂdmZÊ_ Q Ňˆµ,^Eì—eî¹-z4˹dÁÇÞ0ŸIÊß÷é(¹þÞ?#¶Gާi95ÆQžÿÒÚ»ç¡ìÚ«™GïÖݤÓIÙpGù×”t•EÍ› äŠÇì·Ý<‘° àø È'°ÜrkÕ³&,ÿ°Rš]‹u§j‡»6í¥–î+ÿiC†mO4¥Á¿óWsåSØkì…zé«,,>)Œ£±ùì)ï³xÌZï*cÖÂu ÞHCF>ù7ZF™+aXKY’àȲ®üÃ)Ü0 «] äNG;¢‚kKö²tkì´">@Ѹú¶YÓÊrÎÚ–…ØÆþRæÓÛ¯yØžAl;)€ü©ÇïúÝŠír²ò¬cJIº@A@èmXPGL&Èó,<lLé½l[¶wýûÜ*yµewò¬Õ€´–ÓOÏ%FF¾lC¬F8—‚ÄgŸZˆÃº0ûÒ_†€SU 3!ˆ«8Ifú_Sé5§‚g‰Vó~N“&߆H·U7ºbо°F:â£n£Œ‡!k]‹êЯ&h×îVX‘ååñª$¤lé"L.\ð?"ŸGÆá)>lÙ¯‹ÍtHr[8^]ìýˆ IÝé7ðlÅFUœ`q$uöÝhãš®;¶Wöê M#$Ý&v´~fŠX2\>b½a13n»FÞŽxÓEÉ6Ínó§#cêûœÜÃvÁÚëIÂl~9੹¤ô B“g:åUF—úEÌðŠp•ÏÀjßz£ÍR³u”hèZÄ&mMþ QË?L ÿ²]wo¸Õ†š–d0÷RT‰%¹ô ùД!–„‰J¾š{8éHfäÖ%··Èßá> p†»EÈÏp™l‚ñ‰Ç&Ûè¤ó_òÝŸŽ·sËÐôÍ}©Û´Uó*Uï¾r²1ÓõPx#&­euÞ·&Æ® Mˆ²ÔB¾7Ó‚®@qæ<°±dõA²I*éÜËè®êC‘ÙÄ¢ê€ßò—ØæÛMøj¿¬0H¹ 1 f€N¸‘™ùç`¼S³âpç™àÝ D’PY½ÐÃ@eTÞË üå{nƒ/³ˆG–¯—a'6n¶e%v¨YlÜH@v¤›* ·ˆñ^õƒEöñ™/$ ½šH΀Îͼëâ!€fR æûd+é;Œ—*è± ‹<Åx\6ùPuüµòsÞ&\Y(˜²—¡…øSvK6¾ØÍÞßWbV[¸7‚Œt`Þ!zÇDéc÷‰ŒàÀRÔƒ•N~F­ãýÜPu“Zcð:ü:œ¦žÃ¢kÏç gëlèNÄLDwq^S¹±€Sz')¸v Ó°éÐ"2€šFQ´uó·›Y5ô/p¾ ç$ÿŸË®=™6õŒûÊ5]†3“äBù%ê:¶V=<Ã"¨Éd‡ÃEÀ㗆#ëÿ Ÿ#ÖZ忦øá²>¿qÀî5YNå£Õø,DgHÐöž~—êö«_h¹ f2Ft1û2ÝGW™üÚyoãÏn°úŽÏy’qY›Nq—NT'vP"Š”¤¨ª$èOK5 &ÙÔÞ¥˜í.ð³|ƒ˜«Z9Á¬ùÇ"š„ò(·•ưêf-n~;³è†¼ëw·™ïöz%Õ~«žðŠƒÑSŽ?.µCW©™&EÁ«í U3Bdˆ–Qb®H¦¯TEÿÿ@ŠO9Í[çÂ,&\o©¹f>·‹ObP±Sãr¨#}ÝÌ dÒɲv! "O|Ï,#T4Ù%ÿiC<Þ(w®.'e/ƒ+È9C¢”&Œ¢¹«¥Až×guÉË0Hvƒ¨\37jfËSšúéÞÀ,57{vÜ´¹k» Î g>ï†ËðßÀ9œPãõÌé‰þÁa" ¦"× ø\‚ATœÕÔe¶¼m¦­}eì‰)ûRýjai"/Äa%Œr9Ðqòß{s™ŸÄo¡ã{P‡ÆTÚUZÏʘSy~ÂíìúyQ/‹ô¨»"%ÍÜ÷vPÊ¥ èH©i…Ó˜Ëp3 †×Õ‰³ Ù€g&‚c²ðÂ@B¯y&ŒÒN¦‘é>ý.¿³¡v›ö´ÿ¡DŸÏI#&fEÛiWÖ!HÂuF&®ö’ñVÈú…áS¡‚maÏíY¹ì<%=(rv6¹ç®8‹ÛFO•»ëþˆÖÇ—„uºé‘ÌhX}W7É> ÏFx7óagMIýiŒO;묭©Ü­—L“iÏ`¤¾X´¡g««dPòF߯Vd/ÝÞûJ¤)¤’“œB)Ùýš—É Èð èž°]zµG3ü}¯ ªÉ‹â5õìIIéø‡PÕÄÍÅd« u=h Ä:hßN(®(jÎtŸèA Ãf`[ä¯#ãA§«¹¡~ßkï–u Àå–Š†?{‚ÙUâ’ùòòúî^ÊT–i¦Ý\ºxdXž"§° {¦Ž_Ñ?ÇFòm­:ƒšcù›®ð+›ïÈðØŸxj±œ¡|C~­¢³œµ©š« oÙ{Ýœ³õ¯ëæ&üªª™]´µªÂwasõ‰g#ʨJ(‰ ÞlÝ~ ˣ¢#¸F"ã¦8eküýhÞ7•M`eí3J‘âÂèKõ®p‹‰?¹Ì¿Q` 4Ÿ«Tv—Wꯧ•cr)ŽDûF¸D-AcX_W Ò3°å›â ñNå¼&JùVÿüþmqpVÓ”²¢•÷·[Çω›QcZ"ÛÃÿœsgJb/ŠFQ3B\6ãK|SYADQüÝç©î:اN0\ÃæwÓŒÓX™SÍùiŒ^–u¦[yîFÈ.´<”ô„Æ@åžášœ%«î™úÒ>¿WS—”ëU²°ÉýìR‡븄B‘òÁt³1E޶¿‡Ê~ÓŽò˜÷œ¿@¢ø`Áä/ÜBRvÐ_Óâ…QV¼\kËö›S“([¹Ðíb*¸ô±ÈÚž®²v>Ñÿ­êVàüØ‘o‘þÙÏ¢š¸M£¸vü±¡xÓ.”ͪªXÏ5ò]žARNÝ™òövjÏvoëO†ïøÑe_ÁW~?¢Š@iÅYÊÍbGC¼Â™ÞdJ¸þ6VVgÃ5™ @6¨wŽöyÇ­þ:M„[ ©Î¯Å¢Â|mgM³ Ñ媪³ Ii.î9_ñÏ|«—ÌVo!4Wæ=Ì- æ^JŠ\WãÀrë·ºä^Ÿ¼˜Ó\7ŽYPåD’N= ÌÜÏ—Óy²Ý ÜTëÑÆŒdãoâ;а1È›"m‰5W¬ä¢‰„TþEœ¥ã˜Ú¬¬íDNWU-¶•‰Á5¯rIåé 0 cGî¿åÀ“s|R¤êË=3DN(X:Tû|I|tÆRòi<Ò*=£¤Œèï›™Ы»Åø•!‡” pLzÇaW±œüò;Ó•ÙÕ]h>W((å>}*Éó.+à9ŠÝ?Gj$ «­Á9ο¶ïÏ5•È'§®Ú‰ìýÁøÙ%¢t ÛìœÈ1¸ƒˆú%Öe-)ôP†Äæ~±½¢ÎÝããÅ¿ç´=Ì΄#Ù0VØÜ»:$OwlÚ*i åjà/¬¦'TÍÇzˆÑË×ôÅÀ€Šó¦Îë1Bã.Î9‘du³‡öWD’Ÿ[ôlKc¼2;‡> Ì¢²|Òxa“ºs¼$’Ðú É §/œ ²‰8x¾«jmîq4ckÅziâ@oÀ‰2hß@*±°ÖÀmþJ5kÈ‹/ZÚÁH4 ðÌ(Vû²Ê:æL"y"¿‚€hø¸Éœ—ûžÌ8Ù{p~A”ZMWº¼ðj„HiN]­Ž¶½P<<ê±Ä#^¤;ÓÌO`¹:íü)<ª«4ØXƒíÈÝ6O²èÛkÞ¶äqµ,;Œù"ûkn O4t w³)ý£þPnÅ¸ð‚„š“B2r';MR÷ürdjɂ߳ß;‚^Bjÿü®YîªÌÊbR®Ï™•j:‚ÛxII0QDõ'¾l•zrgÏ^ÅëÚ#»„Œ²M¨t„5 P´þñ“Ø|ý»×†&Süh@Nô³ÙTñ|ú1Å ýû‡9÷[‹ÓYà«i Ïlt+#²™=§åäPÁkÖfÓo)3“@®Œª þ.òÜÎñ†Æ£³ÖsSê‰3DèëÕI&œ—¢]Q ¾ÞGûY >ó%ûƹ‚š·¬?ÿ@§G¹´N4ׯ.äBÎ[líÅy…RƒŽÿæ‰"ºÃÊìU%»³ë0ÆC«ÌÐwt ,Ê«DG#c¦À­H ùÛÔltEÝØë ƒY直¹ÞËfuê7·¨m Ì 3êÒ‰Âîûy¨C•)†N¢é;µ£ì{bgù5oôÞÍÿa‘Ë gœfþñatÉüåéÌȵlÐn yÆÙ'À¹®ß1/ q‹ü,zM¥0Q}O46cÃ0mn¼®gY û®jFÏhñÓÈ:dÄT³Ær|`[ùäií{¼x‚µf ¥ºh_¹ô Â'VAx²# Çsø¿h´d [­P‹”ôA ‰Èøq¦ÝŠQf*Â!UÞVc %˜'¥§Â¨X1<"3‘¡™©ö6¥)½•U Û©êO³·Šrã•óAÚ€³L?üV¯a´ÓéntCû¾øã ’»¿Nªý“N\clcu>:{õèÐì•Êc‰›³Ú ek8º¬·ÚÊÆ ¼¾üòšŒÙ›>5LR…‚NÍE8tï!ù´·Ïôg,ÿ÷&¿àLŠçm^Ê_Aæ#\÷kÁc娣=1Uø3æ¥âò‹¦Z‡TµŽÖ_«…jáž®("úÀµÆžj$íWçÇ åæò·¡,h‚Ò˜EY½WÚ›'n©l…$âÏYU¢PçÚtÅíC÷‘Ó©Ÿ“Žû~_L’Ör™Î,½—ú¸„#—b(WrôH®”3ÀZþ»-c°GÞHd¦–¡j£Á'J%½º ñ9hÒ˜ ÍsÔP\,¡§C2ÒÍÊõÔdMŸð0Ê62®W†ÂÇ’Åm@lR)·›ïC™¨ýãåÄÞ¯<0ê‹ h^áé÷ÅŽ ÈWµLO^UEa–ßåÊøo¶Ž”i·ûí­è—ÓæÅóuXÕyi›ÝéxK[ª ¤aXŽñhâ+)¼Äå"ÒPF¿è©iõ®óϨöô¿ B}¦o·†x0ªõÄ {L;ž5UÿF#¿´„‰7ªVù[¤5š-ca÷Sˆi Êhd²Ò“ÐÐcCƒVñì~N·5‰§óþ·œWDÁFU<7‘šŒ›‚yJG¤%Ó,¯]Xg©,Zs|Ød~|6nnÂ9Q—C| å…[f๽Mrîy¤"ƽA×tÐy3þƒf’Ƨùx{™Çhœ³GV­~滨MžX>Éðpšºnt+”wsB¨¼3j¶íTIú£½v–Q‚@;¤ý²æ=cÀLe“lœ[Ò(g´kß1Î\­b>ú&gDŠÀdM•Xƒùyãg–½Š|_"$›Sé&Ó|;NÆ9Ѫ?›ëêJoyý`— \57íµëAý%öq™ò~~‰:ˆÛìÞ?²ð_À-|Ú5;ÿ«4¨ÇŽ;^…Uu°¼šŸ÷8¦¦“Œ‚s„ïì+ðÎâV&hÔ]¶PVÜ$›‚h¤„f’’!´vÑédz€÷.亂òÐ=ÒÄ‚í’Æ^ZòÞ ½´TôBç×…AÌ Á³ç3È@lŠÉÜÖC¡vdJÛ>‚®H¸é¶¥Ç”:Å ¤‡0A)¢‚ (˜âË_ÒWº~ Hœ_ Põ´ÉïD$Y¸.ÎÁx.B¿•lAšm2ÇËÝ~ûŠd’ñÉÏ»4ÇgÛKµ‘mpü‘êyÐyƒ…Åf«¹³ÀºÊ©Û­`!Qz# BÉÕèÔ«Î`mÍ1f¦Di¬^óœŠd˜Ú@‘}‰±/ˆe´”£Æà°Gƒ¹¬²%ØDËÈðWœýGµΖbÓ³ÖÀ§§t¡{Zí=þ~€sA¦[ž’BÁ†ë0=øÎîîH$–Ê1i¼TˆÖz“;æ]¦F3ƒ°Þg!l)†¦L Å!Mím‰Qp{’vz€&Ô $ðUÈh$[J!Õþšëo”Hy$éëkP7pøQüÏdHZ2Í*)ÌéÍq±m|X ¿Â‚±aR ySª–],åT*ßä²ø!) Ù{éU€”Nõ«¼P4÷aøM'| Œ¡ˆ-!eìì/[u¡œo‡œž¦¬'ÛCIËååµÓô†ø’ãÚ8¹¤G#m÷Ðäð©áúàÛPÌøT;”öò ©ëü’‘w¿ñ“z[•Ì4Éœéÿ^JX.¯B[åý­0þÉœªvð~<'¾fp~Õ’’îÑw“ڛ㕃Ւuʦ¨ÜFZKc;‹æ†óÇ\DŽÏ$°Ø»îYøÃÓ°rzÅY²¼À£:ès»îë HRJôÚ9Ý“p"Š›. 1w>fë4ûçwÀ1ÁLÛCàí—Ú©eiå±Zƈ¾Ä.Éèw“pðÙ½ñ7“,%ìi–†Ze^ycÞ%Z‘¢ê_AÉh?ãÎ0W ¸€º ¸ +)9Ë‘iGËî-9 =`? !¤h¨Mú£æ<ÈÁ[”y«“ÏË@õÄh{žíÔÄ0êÝF¡ëƒùä.ÜÁÀ`XSJ/ôÚ”é4füF]²Ê÷Iß®y ^8¸Ú˜¿…s(­õìH^–Õ•…"Gµñš|Õ/Ó·"€yÕkÛ¢„ØjiÅýF²=³zö å×wÙo, #‚èÛe;³[~tî¶ânüØj$ÍJi~úg˜j™hü)"²¹âQ³$v²+OG®žôFÞ`„è„Xjˆj°ƒ6…i•-ý«y¬?É­ …‰àëim¨Àu ¨·Ä¾ Øp ­ßròàÛŽ²U:#" 2é ¯„Eq…y"2H¾m<,×ÓXƒåQ¿,Xí¨àBXmÚ¦ëZ>û—÷éþMS}]»/èoîQ?CùªÆ¬Üß5‰–%¥¹ÏmòÕéBGašx›=E…d$ÉWÝóÐI Ù††­ LÎ×ZG̕ǘ|¹ŒÖlIG ]Ó_'qmèM5¼J£_)Ý\2 º…ûæGÝlÞ­Õ2bp@KÆñ±¹¦8㋟VÄÖä!1¡¢MæþX_¿gqr‹µgÇ#µ"de—nŽ“E/)rÄ#Fºf™#ðÈi³ª#]e3¨\õ… «Ò ( £î÷9ê)EÎá¨Á,Kɳ;•t ŽéR„¥E÷géP°Kœ¡Æ–X¶ÿ¤`Ò…³pi(¯„2–1z5ÝDÁ,°Fò|\ÿ‰Æ· °¶,Å>5·•éòG¦Và˜óJ ÏzðÕs€ƒ¡QÂ`,©èLßùQ¦Ä3šè桹—À§I9yôµAj{€´óÏyqÊìæ þªY:ôö[­¿úÇŠY“óÛßžsʬ€ö†. ˜pÀõÚÁ‰ˆÖO«àáä£uËúûa| `ø5 Ë!”o{£öVr¼ª™,ÀªT[¥}¹4+u—Ûž—í¢‘µDŒb’è*–ó´-" ª ´’:-ªò’ƒ¥ÜI§cáM(_+Cm6V«ˆ¡Ykp=|,ÛÀƒã°I¹@ vÍ-=‹“y¬¹ì9Yúï¼Sϋؑ]Öt÷]¼Ùm–0^mæ±fÓgK01JkO‹zñ¼ Ì8&iœ…Õ„÷5ÚhŸ@"¢ËÊæ~OúÀw?#w­ÿÇâÐ*aü³*ºrd¯Ó1«‘ä Ž€T©ääg;Rß²sÝSJöN]ç TêP5Ϫ¯®$Ó(æTQrK…›ÔÿAÐKÇàÕ¬JñkÕŠò[(c[®ÊåÈ3ÿŒ¸õšX1•O+°}5v<½˜Š`C›Á‚œñ•£Ä™”âÚÓDhòAò׋NQmÒ£¾G‘†€;‰rÚ;°îàјœ^Ç­èžàh\ªÒ«êp¨«JS,o(ÏkX\ò;ý(•y3áæQ»ì‘+ t·€)`{gÏ»¡TN‹3éŸ*±O²Vv¡9æ»}ŒYbJt aÑ q‹]Èßeˆ±¨@ aÂâôW¹#¦Û$+ÂÀý›tnuTõl÷£ú›J3•g‡ˆþ2ÑKŸy„íŠ~I.SH.Ó  2ê[˜tŒ©§§O؃YiqÉæÊt‡¡½ÙöÚ„µû~!^Ø5¬¡QË éÍÞ [açýP.½(TÐ>ú­/¯YÓ¥#›œþ¦(Ó.…QÑÞø`ª÷¸Çòl`Š^Ø!ˆ‡ip$>K"áÛÜ|éÝE&îÕ¦¦g~N4H«ãêÖ0ušå“ðàjê99Ã3/íÔxV§RÙí«AwÂäS %Œ7¢K†˜IN?FÇ ±4ŠyzN‡¶y*ÂñTø}Òf‡ºH‘*D¨X639k!_N­µ´i°,ã[ ˜þÿ]ñŸ©s»Õpµzî¶² D¤J„CDÑÏÓ©© 'íZÃÍÜ»¤õ²†—5l#ðB™f=|+^Úè“$ËB®ÙÎʺ[ ø¾kÁi_Y¼Æ -RQò”²k"t—@ØDJr"íó ƒº²¡œE-«½xÝ¿–-)˜HÒžMŒY¼`ÕÉöez*7Ä‚´3‚øÎD·y˜èµUÏ’ºôQyÎ[¸ÞAÝ0¸³ zø³y²Kžoÿu•‚%¹C|,3‹”œ«±8M)«‘­Åé©éÛ“ÍóÿbüW’yóë±ãØý¢°@Ÿu²ÉŹ”a1ÑwRÔÌ…€~‰èˇÌaÛ[:] ƒ´i‰{˜î›uèÛ|½ò›+¦Ž4%)+¢Ç'ÅŽJ¬°ç´BMû"œ•åÿª¶¾”-¶› m×@— ©#z‚„è¢ßœç쨀_%û7ªJpþU®ÙÅÄLÕNùcš(oÕU/ò~cwÉe–XM=^ƒÅëÓ¨RaÔ.ÀXÌJj!¡-îC,þ#îÒúPå†+韵«ˆúÉÓù½ìt2Ûä¤ïºKn¸~Ò(ü͈Œ²z4º­s(t;ú@Ši~È3í>rNÁ (”W9µ8~xÿ#o[„ÝûY›ÖMèšï™uŠÜ0"¶8j¸ù­ß®z`c„@aë叿5šÁÊÜ›(!µ‚–í¼‡ÆÒÉÿöûŠ>TˆcØËæÍR«Ãf86‹Š(¬á´^Àÿh7äÜo³ø¶'Q:–Çêä¿ î¯iï~!},ŠÙˆ‡†®·ºVá7Š©J=¾¶¸¤DÜrü÷$ 5ýˆÐ4-7S»³ÓÞìŸÄ#,¨/ Ïu¯UÝ)ȦQUoœÕh_ÜÓÛ´°»ÛˆTá5³ù?ê„¡öïÃ{ؾÿÐ\z!äæSºnxÑz·¬i¡BHEcU,ª•†×v"q髨pQŸAUy@Í´òfäkWÁÙÍ‹$âè '7©þk³¹­?创ÑPÖ˜–IÑ+jŽ®dJÒ/ –·˜òeËòAá٢ʉó$%KÏônN°áAëX}7æÓê b$Ùäì?Ø­ƒ%B@ykýÄä¼Õ]:MÂMèfìñC»K¹ŠÑoÄ:+ËJ÷¶ U«¶Y"D„ðó›»üðÂ’”ÎUƬ&‚ë—#¤z/tñh«±¹©µ&؆éíú²{ëœ=#^×…A$mŒž1æÐüƒr.i‹®^û|¶]á ðÕ-)„eô«NóÂxÜñÛ~P-êÝ‘<^\®sÌLÓ-–@€¹‰õï!Ã&›¤b4Ðþ-o#1€QWú”úds‘´ÁÝ+¾~&ô¶¸Í'Æá”ÊàÖ à/iWiÌr/TÀnÀC¿8pë+¤)Ev?;½¦ FU{ÒñxÊœZ²%4–‘Ž$\U»vq á7– Ÿ1#Ú’¤$ƒGPŒ.} %¥Éá*u\Añ­ÝxúU¢¬N1f‹üÐå˜G‚¼ ÙÿˆõsÝ$TN<ñÿzjÆæ£—Oø†7šÝ²ö’I7:ÄÕ¸êÝdÑ<Ð;.–…Þq¼ÝùÓ#ÆgRa¨Ûöe˜¬`°ap¾ÏœÀ²ëó"}vçÜ 0  ²SèJUè wÂñ?·Ùwò0>N˜·8”µKÒpºQ¬júáfÑõ€&4ÉùÁÈ–;Ï âmõô ɨ™ˆéõšô7&± žƒ'õß-b–d¯æ°Iü׿lü_ð‘îøtÞÂW#؃“;Ω€k><f7³7qqDl)Áî–ofg¤•B©$–ÿ¦Ï.¥hsj;a’Ë+Ejƒg§äfbA»sI¼°3æŒd°%3І2o¦Ðrg{`[²™ù3œæ%(¹ä…Ô,:è%u%áV@ë+È*âY{üxé­¸™ ç÷×Ržp)¥”p1;Î0Y } ØX»üÖ¹šx˜·i"t$Çäd–Îná¨}¡§® ,-z%è¾_rgt•„ ‘’X f^wV ‰±5·d1z·=Ťd£e>Tˆ…Ÿº¡è]»F}?b§óf¤‹®¬d Ýý†'Wß‘:&›¶+} ºu W oŸö>Ò°½th°¥/$JÍ:½"õJiéãO¯ý,ÓE¢˜{Áv×x®Ü®*•/M¬ü*F9F.ˆ0• ýõhGæ5ÿØÇ[õÑ6Ý•E5¤ZkÛà6BxD¢{Æ/Ä¡£ó†3“2«’ÌÿÁ¢ž@ÊûÝÊÐdÐ7k6kº‘%Ê8É®BËÂLàûÇSä+ÆXóóÄ"ÿ©_$‰ÊR«_“|]k™n1õçr |¯›;j}¬füŽ?bF_•Œ¢è”+ëãF]§°Óêà\»gÓÜêH”å2L»†~Š×ví”ûìü;²’hæÿºV|6¢ žïÁ~š{×*¡Ç¥Z‡§0c””gйÒn:†€ÃWÙƒÆåS §H×xýÄMª]£Ú¬ÚÉÃV¿êúó“ý`_+L¹Ûí Ýåf„ÍÏéàˆÈKé ŠÊíÚ½î2NFWÂÖâQœ1Ã6‘*ûwùàXpßïï9zO ÁƒXÒƒZvÈŽ7%æïøØ *ÏÕÜ|Š£*m£>µ£Yàe—yÔa?S¼~a«Á`ÎÒOw•ÏÞ‹PHh++ôPžœõõ ×ßÂÿÇ÷Ûy›Cv¦9EÐ{kWHPdMÒÅÙRËʕljù¿âxx$ú¦’zÜ4NÉ>ƒÖ…™C­-tÒÅõ¼_E9‘9"q…‹ Üj;,$¶^«Ø„Àv,Ðhp?aªA© ÌýaùxÉOѓ԰@òDU§qI™C÷yy¯@e³Ô6¡…@1™û2‰ÀçÌCÒ_D-7p‹§§˜ÝSIôsríU˜¢ò¸Âä2‡à¾Ý)iðù*ùl&ÜÓÍDùc~‚qäj6”׈Դåx° ÇeW¼4'#Æ‹AþŽÃßæðôK]êX7ÜÙÜÌ ’˜^ sêÅÙFqù'†~ºðŸÂœo|¿F½#Ëß ÞßÜTí¿ô'Þúò°ëô-9Ø…h¬ÕÅôZßsÆŒíƒ2Iˆ ‹6nmÜ/ñãW¯h~ÐYØЭÑ]Ë ä½¡h»î´ç§Íxk¨œm} c%0ônø5nשcŒéµÖÏéÒEÊºÆ Þ•ÎR‚"êlyO=m`éǬýeçYˆ$AÝV$M ÂcºãÅØ®tª=WúŸØÂά?ŽyvĹUE=E‹Í%z|(nª¬çY•ÆÚššÈ6œ+7^›L,´wnÆ{ çà VÙøZ]]QS¬êýzÕ$-='œ*,°ŠGå¼`Šüh𢓪|~”ûŽ)ÏO‡¾šåËÒqD`C¼×+HcÏñ r¨ñ{ìD4À†½?ú0y´-#Ç 0™x½ífÍx*ÖHµÚ9éjÄŸv »×ÎJ\ÿe±¼»K¨ j@«¥P¿óëŸ ›£í“ŠìMûßú‰y¦“UîLCBH¶Cr¼b#á+rx–ÂP"]IÐd¨†›ã{:Ý¡Þä h§|ÌÆ&¼ xæƒ{¨ôX%éBßôyAßq C"c³%‚ßçNóÎ ‘µŸp=Oþ'sÕuAA¥ÀWÞ9OûóNÚ]õ=4†b†˜pܸåi)`"ÛJ¬”`mŽmëŠnG©÷ñJ;wºÚ"n”§Ïåqwò:áýR©»0nemq*îðv„ç#€Ì\UõÌîvª}*T3DFï«pýX”;@À5Œ¨{n<ûøXDÑÕßÍöÙ¯€”C~€oÅxnóƃW½cHkEÛ%ržõs{š~ÀÊÀ6ÅܦÅ*Ðã3òúæ¼ËlGtÞ$;[›w‡MF·Ö8** „[ì×ð‰ïoÒÚÁŒ/Œ/ýLýNµ/6§ùc|3NcGiwX,ûòQf/)®2cgÚì°gµøŠÆÈÑË™êS½í ¥_}vž²?â"Zl q­ÈIÓ’”"¾¬œ'H6 dY¡ùâ½1 ß1$RUsy 9ß@:´Ñ€%Ë6%i/æVÜ\¸»øe 04(Ú%ŸéOûlbõåa±q†ç¹é–e_OpJÁŸ6Ô‡üÔ¾Jõ™³Ø ¡ïíÈ K‰ÊäX™vud)ãØH‘zzb¤v5 7ú¥*Vø¤ª(:yíÄkÉPRB3jJmà!šcx¯MáXµ5>ÊпÀuâ2IçͧŒº/vBû—aí·ê î=n ØuãØ©ñ|ÈÜ^‡Üȶ\·®zõÆwdÓ¢f´-ëÓÍ&ƒsUˆßd?3¬…µõï?rN%ÇÖÁ? ÍÒU[ÈÉZU¦m1‹7Ú`o¬1Y€ªá<¸r”oð‘Üë.\¾£Ü7ÉFAá“0ñy·tåž"ÅcÜòéj˜’.AÔÅ FEŸq¢,yS÷âå3†œ“æñ‡Á—Æ“´‹ƒÿH[S°J€—òüþ`ãWÏ•ƒÉ´5ŸE)Û|U—¸¼»û«"kFõƒ÷aÍ¥H¬†&L>º%yñ·VÉn"k¢wãyA o€ïã×™ÿÚòO8õOv[ÓõtÎÐ`pvÔi6ã+_ö_˜[ÿÆ£™¶LïŸÚÌR’WAôéâ ¯Uؘ„GåÁ$£Â&ÊŠãÿœÑ‹³!îÁ‡÷(åµiÞÄIìðìð"Óz;šf¦4é8uk”ÁU»Â’Œ‚J|ô»•_ÞʃûhnÏ|ÉfZç ¦k´d`•*u/^jû!`¹Õ!@fg<‡…y×2ÔDõÄrQ²‘ÅFGð0‡ïŽ6N"¿g/ã²4Þ»z=|z‰Û“€ÔzÐåq¼ÙéåÞ§å¶>mJá(Z ˜ãô^p1 ö:Ѝ„ü}ÝÚ!8êÈeJ((Cè ¦DÚõ€Œ[èŠéS¹jæ!-b®×?ä› Ë}Ù™u´æ®ãU˜SÙ _ÏzõÅnO­Ï8~RÏD]'?¶¬Âóc¦ÀU|aXÒœ_g¡ ­VºñN’pCœ½¸Ðä*ôm͈Â<ÌP+¹jc3ÜÍ»c€"´…8ÑÏzYnÒF–Øe%¼ý1#V‹ÓyC¹óŠì/zçš_&_Û¼9±Í]fÜ“ÿKþ»|@!V¿d=ns¸­ ‹ö+<–%•ì8н‘´NþšUpÓy’±ªg®!º/“7þÞ/°ŽŸk’Gz’¯ŠIÝ­¶ç -d2£d?_Œå/W’qªÑt*Y´ÊO:6h²ÈÔ¢¡²”ÞõQf•µ‹«v±Ci]éP‡çAŒÎçú ÷᪥4ωQ,5L `Eaûkà;@Øc‹ùÑ˜Ê »®§n„$œ£(˜VF‡IòD7õ¶Á^¢"^©ì1Çì‰Ê-¨Ó:“Ú¤9žY‰`ÓÅ6Șò¶KNö€.p´$\²ðÎÑ:ÞɃícô3èƒåï=yr¸¦Ë€‹~®aÄ Ñ¨˜sη:ì‘|;JqŸZóéBÝ„žM­‚/,âÀµ5¾†¨!ÞXS8ËOæÂ»¹¢Á‚“Õå°°»öfAüÅ ™n§€fRøªÁI@ç—û[ÄoÏ‘Š_­ûfD›÷ÐÓK嬋8ßµ©Û+éDØò§*»[·e±BWƒ×BÈ]np@òDZD­Å\˜{…wîMã-û”/ܲðƒ±,‚¸)ªD¯6˜?“V=R7-ÚÃËÃÇ&]J1h±«jª;Ÿ¹QB¾¬ªá<>Â\»("> Ï.³éÓŽ¼jÙ6T/ŽT¹U•H–F¼‡y@<‹ŠÈ{bT| ¥Â…ܼ]Mª§Ý0',¼OÎçY mƒÍ8³B¸’Ð:ýÍ_À`ð¡ù‘4yaeÆ‹dOáàŒL;¢Õ·&ŠŒ&Ôíù_ðùW8‘¦mZwÝ€LÚRü5EÇ’‹´ˆpn‘xC>ƒ§ˆÐy»Ìgó ³y×7¤ú£¢#â“¿Æ:+ýxü’¯…`Ö5ß0yXw ÄP¹Lú ¬Ö¯ßŠñpÄ'Í‚21€×ÒU­Õë¤âwÆoÛðuyÀêÙ.IÖd»%’ÍŸÇOÛü¢ƒ8z¼)qÝH¬]3b™ã×éF°Û öˆÜÑZ¤‡>¾+PK¬Y~]½2÷1ø$9ܺ¨¨þÎ<·a©È¶Þ Ùï’¥¨õHìöôŒ6Iz~Næèx·ZšašÅ¼èÅ]2€­0óQ_.퀓›ïç{ øîØW‚­>Ñâ–&™ÊºFÝy£hpìp§HUÕ'x–ë¿à4Ö$ Œ<–E„cÿ/+ÌÐð`ª²¬¤YËVbß»R iøH ß[±0Àl˜àù4\¼™gOMxØtÒ!) kEŒÌm lfÑÏsô¯{#† y¸¤m, ¨’ëØè Uôµñ.¬²…á·Káù¤7µ!¤ðM—RýËûKl†ÉtOl§K졆,‡ù.œ¾¾ªý±Z­Ü+"/d5)çìàÎkõ¥–6ZõŽˆ1,øƒ… ‚ñ€f†Ž:û W£—nAÚ¤ü³'‰ÕÁØv;çF{i±ˆÜOjÀoíâe7߆C?‘~´ãáÄÉ ÚŽ`p_= Ë_ñ³‡ùü=õL€i’à]ßšç†Ý"9/$Vj¼îUNÛÄf¶ØŠ–ñ“—’¯yZ;£l™×õdÉ;ÝPI³¶£å?–rÞÎ?ðÀ»ïÚXÊë’5<Ü\G­È;~m'Û÷¬=…ˆ „[û€)• ùÚóє֔V"ä*Ç®dÇͳ4ñÿ”iù¤°;‰J*ì7tGJÈ•B»+qÌäòS8çÇ`(Ê#H¤RE?ª«9Üѱ«½ûr@d½û¾íñ‡/%B°T+BÞG }wÓ¯lqH¸à_ü•@:áß묚K9!ñK{¾ûÉKØçêÿ’‚å\>(9–ÐÎaiÑQö,ž±M vœ¡€a¹!¸tèœQ¡¦ÚëîÕ)ã¯îØ3Y¡©“»Á Žâßüw¢zcl|FÍÍÞ¯Ëwí7Ÿ™ÆjÿC¼fõµk^p…ÉLˆ WH^÷C`Æ.OûªWÅxBöªÍ–´|6t†7,fÇÌ`>6N£¨ƒäŸ[3"L(?íÒÏÍdÜ™Çí?ÀQ¥S°Æf¯ëô:U$‘bÜC:âeûß.¥’Á¿çßÿ€„ Ø5Yl¾ôðu¯0ÖMƒ2êè‡rûÀÕF°¸Eæ#ÉmPOÒ9)WkZilŸÄ•ñr3M-3ïÒÒøß„w²ü’Ò‰ZKQcÃ@ÍT ›”òš6Òµju¯ˆÇ•¼›Vr4S‹f‘L£ç+wÙ«§O’3^=¾ŠÉHoûqãe¯RŸSeX¡M†Ð|i%@GQ©•JŸÖ÷•‚UmºhCw‹)D}$Cïy´HÃëü©̃½“à c}Ë;;­V "[8„h=L)Ãu¡Y¦ŸŒïNµ*é}ªhW”Ykã£1 ¸XЫqÞ)Uº4ɬ8W lü˜e]½œŒÑ:Îóq×’?M´‡{fp[–a†¸7bu?Â}²ËnêÇÆ³…’.P nX0™¯Ì„cBUÇ8/V~ò½Ý#*|[‰Ý¢u*W€]u…¾{>@yŠ@—…‚ ÈLS¼OÐÁâôaŒb-ÅS¯™#´K5÷Ù-]] AKºÏMr”®yùð™ò΄…q*ø(¡NrƒZoÂqè䦛†âZÐÿ?\£ ˜ãÖ݃ÆM®f0¦áæƒÓ#«wé~}Ù˜¢òñíÉ4±]´|èK½âl|NRÛä• yf¥Á#@®Z²Þ.+—A‡^°ó¯|1î#À4´®|Ýø?•£ÿ–l0‰¤‡Þh¶6gC\Î_°…”}¿S()beÛäèˆÄM_9`­çZ„8˜â…ì̽VÑ—¾äuZ¥À@ëšI%D¸.%¼h;Ó;3€rtï‡W\} 8ÎTÌAç¯(,9’Ôý4‡yFFIcÁ7µ}´…´ªj€öO¨è#oÁüŒ ‚PŒ¬“W½ÿ`+mòዯ.†Ó¡(Æ­Ìõ³Ä¼Só9FèÛ#ó¯¢Ídà Ö°ë³n³Ðÿ…~¯©*í„i´iè}:„+Ah©­ð"›èWc˜ä¯aŽ¿ykÑ[ž&AŒ¾æ>êéz_Á´ú͈\ßå Q?_­è%6íùD< ⩆ÀÚiÜŠŠ^Üâ¾…,i?W¿ „D”Kéœê¹*éëe‡œJaG@æjTUp“8‹˜Î&#âYf‡Ät´`X7¨y>tf‡Àx@€ÐòJK AKJ£¡ÕÖŽ€Ë2©ù}»¹žø4´i=­ .÷Ö?­Ú Ïz¤+S͉ I ¨ (÷gýÞXf uÆ6Åy.Ø(*12vÍ òfßÐx^« h0¾¼¶]/¾»••j§ÌšFýÎ…O—Úl3/«š|)Îs,Úá´á·È“äÔfË!dÔ¥Öàæ¨`é.·ªVg 2H7nHÀ~À†b»r^ yX{¢Ë)Ù!êú”ˆªÅ6¦ýö¾1sÌPÕØ2Ü.ì5ZØNÕó©ùÉ_@Ü GyDÀoІ5W—-«ËFÀúÏÈ÷=çßkç€Ø‘ÄÉ6|u`û:Ê€âg1ýV°Ïì‘J¸íü ??ON¥ÃÌÙS°»Ò„x–Üšš@RëÐùQÿJ㠶老?gƒ–~ãìd:CÄÕáSÊ#°i éðGËÖIšŽ ¯¤)'¸@ 9NÏ4ž\®-_¾çЇ 1rÏltÃd°s\Lž•Ý‘ìeø/¡¯½PiY%ú3yˆz$Ì}”QtÙÈ^«¯Iæq|ÑYÞqÇI´ç“Bã:Êùè>0c¯S¦»%aõ¤|bišÁ‘¿;I×&´œ¸66§añí?CìïV({x¾a—g¸x–w@ôq©r3¤ÛV—8HŸ„;…þ œ•à܈ÝRïíf¨ŠšÇW½Ÿ]Pû^0X³ô£QªBuÀÌË‘EOf×CaÛtü]´ö~Qû°¹g³í5àqš«¬g0N[å¿æ"5ØcG'áî÷EË uHÈHÓAßätè®}*gB*0ð¬ü ðÎUµP9 IŒ‚(0¶TÔ8#‰È¹¸jÉæ“°T‚Íj¾-úˆéÔÑzzýö6…ï3Z1”®}0 ’pA£ªÊì)_†|4‹$Í7 ø«‚¬ÖFÃÕÛÉ_̰ÊïŠ(VFËdÆØºYçÕk?ƒhÔ¯ìÖ!\M¶)gYH±zù{~²5[K"¤ÿ¯„ù.ÿµ›h;à‹xÑùF7r‚RL±·wÀ‘#´nõÜ·ÎIÉÉ0ºÏûÌ`÷€¥ãU2l…wÆÝd~ÿ]ô&ÿ€fqí·Ø.‚ý ‚iRÈ“)b¡Ùfk¯GÌ ñ¶ãb²8à5ìrï°Dä¼tGÌfb~Hµ(XA£ vКü[øÊ¸½³.nÎH6É*€‡¥ä¨¾¦0…¿ ñddv×ÂCÒÌ-]±?C=Qæyù²õÓ燶úEÓ/™#éÜÏFÅä(ÒRA9A‚Ó‡Í=äó-703à¢BèQÖ*„ C„þAÖ T~]ƒü0))é…òãôua±RãZ^-T6e„6ØÞêѰ£g±šm¾°Ï RèZë4wÇÚCaÅ… ÄzÏH”-E5Éчÿî|ly®Ö%&aðr—J;o¥!—õâÁ)cøù;h¬ohM‰F¼ªVN”’¯Vþ‰B„f/÷s9Ý£Ú=½&X:ÍQ˜oÅ…Åd ~¥Ìkº=uÄ`°Å´þè0÷”"|¼‡ä·b±}ìk_ãšÉœ’í/å@‚Ö-z¹›Õ“ ¼ÌÊ¥,¢»†‚8â¥X×¢A,£—ë]%´BÐÁù¤°§›5ìà);‹ù̹¼¬ºüw®…#Þ{ÄÀQÖÊ¿#ÀYüÅ èo¶­ó[Ûâe¦ZjÆ~ݬæ:‰Ùä»H0«—$ZŠÌ›rj»a˜) »Êcã%õñŽ€ E²?õÇ k“+-žºl=Kõsу~€c|ì…g,}—ÂøôPœÜúÅüÎm[OÛ·@!+7Óî»[À2úÍ òž™2;¹nh­›ÞKVµ&44Xð<,Åÿ¸ƒMR ”è,äÓ^Tc6ù^Û–S‘X?‚!®ÉéMƒó†$;3²ú|'©-Ã/’r£ËïÃ[Êkþ¬%ß”6°ïxÌw0k)o44úˆC§Ü ‰­»âõNyG+^¬+²­ü(ts]…‰GRòrí¢ÔëÖÝ¿°è½XSLj»AÛ¶<ß ð‡Ø³ú'Í:KZãÀäC÷¸zÖáe>ã“-Œ~:Ô?¨ßÅ+†‡ãct[þ§+ G•A÷6ĦŽËúÉGxFWÒšÀ¤Ïa5k·+R÷hcPvÍ2úÐ-Ù»D\ Ô‡³ŠA2îÛ+³s Ù¯}ÚÉÌŠ„€Yd T»pùkì•×p·éÚziЬn•E–ï©R:/oÝÛRÝm3ÆZ&8käYî ÚsI6Ó̱&)óÓÇî‚Mܬyw¿ÎÌ Zk|=­ëÛÑFñ»ÎƒIþ%8t;è$£­°þï›êÖUÊFs·kõs" Šß\•ŸS—–†Áig²ŸÝsºW'·>†ÞÚ%ù7 eÍêL馵Èݘ¤™Æ—neo<â|ßv’2{J©fk¬kwøœHa0£‘ JÈ#ï‡îüýʸýñJùVx ñº=TXj”Eé V;ÌI(çî×JsÕ¿P×ïõ.—'ÓÊ®I¥›ÎZaMPÔ|MT5±@·§³­gwgõd|ÖàºÁÿT£VÌÕ?0‹8ûxò.Æ[føQ-»¶ÿÉœÎxæØ° £„œÉÈ@b5¥„é&µãšŽ(}ìƒa§I¿ÏIºfÃÕÅ6—ÆVBœ%ánBÍ“ P&šŸ‹ô윮/ÜH#«6íþ‰ú“a,¦!j†’ƒˆ“l%ô:*AEyi8dL145€o§&ÇÊÑ1Kè^38î„)+O Qª‹´ØŠYpÇêðHÜD<ýÏZ¹2Ô ié|Jµ¼Žƒ?Û O¶ÀRéø]öfkÛĘDniò)†ôöv“ëZú ¼ O¸H­‹ž°ÇZš-RìRq%':*fØ[;ZÒfÚ\UÛ[?Å~r3š?„¦ÔiÛ;ô„ (Ûƒë'Áþ|F‡&‰ÄíM+ Ã\ì›»(ŠOÐþ ñòPÝ'FÀƒ .úÐÒ©ªfëXF€°m×RâM.ñŠf/§eiÏh<ºIü>ÖAËmÑK¿Àûæ²'šáVÐLp5ÿí¤ßrU±˜Î°ÂZ "7Ù ¸×¨'í5ó8®Òïg\6ÏŒ÷C¼§L„zýO5yh É€œ«.ʹæq^s®æ\v*zˆ|5ÁM{‹¸œÐÎiÐulÊ`yaäž³Ò‡¿Bþb·ðÆ<Æž&z/D¦}E;]{ýSR¹ÐÕ툰9%<=õ°…Áݽƒ`Ø­äfl ÖNëñ¥Ð­öKŒ³›R“h‡X·C7Î -Z§ñƒbßòi_mݯm˜4ø¼'L‡eЕéçd=BWâí4ªõœ“1Y…±qÏuojAòÒ7l‰GÈÜNxd¡Â.]U©†‹Wš¬°wc‰Ò;°`Žlú`(oÃÃÿÍ ³±Ä ÷û›æšCÛ¦€Ÿ8>DZíþ/„O¨¾w%¬3/­o˜ò¿-§]“B¿G?”Ç>Nò!Æâÿ B¡ÈÛ?óá²ÇÁ¶x!~Rsúd’ µ§¡¹–"“Þ ,¯ž#Ãà¹üZŽæ%y×5ÝÉÕGŠ[8&øçΟ?–ðÆxzmsTL†U–w‘ÑLÁ¸t?Žæw÷â${fLec“8 cÚÐé®›Rþ¦®/µ»‘Ò¾!µàM KŽÐ¿aƒ ­%ËÌp¯Û9ë’g’É]­öÕºð ‡æ*ïx…>Í^PPDv_qçÊËÍg"õïÍÅiºSˆU˜RâÙãÕR¤š ~á¤éè (mZ­`ÚÝ-x}•x Ý¿K¦›ÉV?M¨ <ÌÉ9–Ôò Ôì‡óû›ƒ÷ÛŽ…e½[Æï¬SZtá› fÕ§ÐלåIëÔak|3h6Ãk}Aã½kŒ‰²l¹lBça¨+é‰A’¹ô—êÇ–ƒã:=7ê…mÃÞÉ5Î!õ¤ÌÓîwÁ®"Çó•¾/Ýæaqºª¢1%c {}|x6åО¼ú¡‡šì?¦Tr>‚©e‰jž·}6þx‚ÉŠ.jbSjZU‰pŠß …Yšå!JpFC˜ÇÀ}â†çM—Åš“%ªXpy¢zHdîÕ`5['ÞE¾ë‘ ,Ýߦk§›£¯Ï/ÆèÃu¡ÿÿMZª`$ ŽŽº§­·ZÛ®aû‡Œó©=ã¡u×IsÞq¶à!Úµ6܃‡ââ7˘z.CÓ{J—Àœ/™kS‡MúN~çv$G ÀQxÀ­MXdùâÚݦô„jªj¡2sû6\€Q{E»îgF‚.`(û‹Ë>õÝúë§=©U2PõYfÎd¶¦XÇßÇhIŽè97^€‘ÕVÎêk•†);‡Mq}lëÇëðû€ë6,±«ö—ŠK®´ÇißÜà 㻙¦þ#Óøâ% Ñ¹NÂl”úŽ DÈòñvéÍ–4Žt²6Æ?¦|œ_0Ü~ÎÑÝôMóñVÓþ[t—Cã2iLø„íE)F4·jŒ RH(óš ´®” ™”²ûe´=Ý5,GC©\ ºýét¯êJl±¶öëR‰ü6ßÐÒ\÷'œãße “7‘xpr€±~g8 ²üIIuÊÂû‘lY¯cgpvÓ‰œG X‚Õ5‰ˆ @;3ýÇÉIX5©W]DyØ»ÔKvxlèõã’Ô'^ÊŽŠµKÈŒèae¾tOÐbÝÜó:Í)-Ñ”R4£HþäÀÊ>‚ höö#öΡJôâÈÌ ÕoÕ¢6¿RÁèËÑÅ¿tíä.ÈF1ÜÁBéA}ƒT‘AÜZé^FÅmmµmµùõ¦×uæíÄñEf¡ÿ# £Jëö«Eªþ{3¨e‡™6NÊ"êk/Ÿ” o•?ìB·»ë–pšœb£ÝX–˜Ú„Pâ-sÕË*¡´›"ÈPƒáQfi=#½ˆ±â–Ê5–9P§ÑpÙ[§>¶ëmãÎÀ5 “o¸«ì’Öa>Š}lÅŽ)8ïl*…êøT¦«µ·cÁ¬—²ç5Å“å«+xöºK ‹…[&¡ïˆöžÚ¡Õé©´ nE¾%\¢uFlÿèh‘nel¹ˆƒ+ÊË91 "ÂØ×Š½B¡ìŠË Òm¯^':+„Z"Ø<í2aq@1R›skô=ó*M±Ž»NâÓpDà ªÎÈúþ,½‹Úä— ÿ[p€åµ5ÄQÍ$?­|=¼7²­2¸n¸p%rù–è5;£¨sf« „õ´ûø£j† áê\ÑÎÆO¾3ŠÝjƒÄ·¶õnÕj¦Õš×Ìí-LW øŒÝ¸:î]XË;óß™ ÁÅróÈk@ãm/)úq¡ø„QÈ™ÜsLH@ZÞ\P*çý9T/1ÒÈ; ÿç¦*ohïŠßT¥c$ï=IµÝ·©¥ oÃÔ L±€ÖÏ;LêÆ¢ ClŠ8¦(t¸›håãÄ€¹Å©¬”7#¼çYo*~ðÜæ×šv‚¶b—ÇEŒÖâ ˪hÕ`y~2ûæ ›¥šéLO·D*×ÙJΦ$O½S«x2I«ã¿ûÌ77¹Ã¡¯Tl¸S¾õ¢%𘠲ýzÂH,È¡..n|µ@öŸ”ÜðÇä )Ù+|Gá°l[I,yûÊÛãÎö¼ <.£‡Ã‘}PȆªpÏ¡rî„-ݶv-u|.)Õc ÿÈ-ieÛÎÄ*둚›½½e»‚ê*ÝYùTÊÙôuqnB"ÀiH+Ùµÿq9®Wg‹„úÐéyJÔÆ0G”\=ÍPYµ®fsð€cèPÕ8âNË ßâSd+öËÅ1 ÿ\U,ù=¼ƒXhô@ºz$ v(ŒÉ*@0‰z(ó—Ç\Ÿëï#ÜLM‘ZÔk¶­Î8³Rå™”ŒÛÃ6_‘¸eO"[nÕ“OÜYÖ¬­(á@\‚€J͆Îìs¢ò¼©'ûj ‡4DƒócÚÕqsG=ÔÅÝÚL"Ìe•°W÷% %»€ß~’¶Lîqc4·*‚Ÿå ýünû ÿŸ# ö|¦Vj5%Ñ>*ˆt0ýt _#ÞòkѨ%ðR[^zØÂÍ|uóƒJ>Ùübÿ}%÷åÀ,ÇmƒT  Ä î«¹U€×/mXOX¸µC˜ÌÙºÙG¦pg*o%Цج$»Ý¬Hñ5ÄÓ·®‚ÔÍ—³ý­w§1òOZOшFœÿ½SŠzP¨ í #S÷2Èðwu”{¼Á}ƒqžÊ„^}sX¨Ý|³çõ·cH((OÀ¤œé½Ww>žŠÂJÕ3÷œÁkÎE¦æ®õH¨«€õH~wsôåeF3»´ì NÁ¯“‡º¡Î îwó~„«rǹ³€ùH—n²=#£V…ós>T¹¯ƒÉ9Â9f³ú”H:ïô½ˆCvA‘ƒÁi!XÞ~Oø»lHá7Ÿ%‘V\új…MÒûp ø~ç¢ïÒ°dNA¦qe!úåšdèDMýPI6!ÓJ,½½$åõQÖ¾ÝÊÎOÖ%Øæª¬Ø v†Ä¤Ä,9SèûÏ&¤¼!ÔD=Ìï¦LlÔÙ>Ÿ²ïÈe4ú¢—W5áaÞ™4 ï…r—Æ9‘ÌÎ z"¢º¤æH¹šÍÏezÈ|P®dÅœ„E2·Ûõ¢Rf8Q0ì8—jû mÂj u˳5÷É×ÙÖM9Dc¾Çz¸bCƲ•÷?³÷ßc€"Eë/à \Ð9)=´Œp'_¢#ÿ)²Ž\‚ÜÞAf ñíXsÀ-qm×ó`´Âå5ÇX¥×~‚sºXÕHkXÀçºk|ÍÜÕÝ•šÆu~œjtA¨M;êÐnä¯ÙèÜ4§¿x„Ö‘e¬|fC¼è*Xc2Äžè¥ðúzI¿©à`¢æÊæ5îjÙÈX#@.R×ßú*t|¿ÿì{+ù©±Z¤ð” òQnz–²zTΕófƒ¡K±Ôpƒ8m²C.se(W+ qîAš!*R7»Ãaî·±lÿÑ5ýøfÓ<;)¨¯W‡Ž\©…þ~–̓nåy¹:6>×ãê8©]À?H §iâ[c½”Uæ¢!’1õ6H—Ÿ>[ ýèl:¾ý úrr— YÝ7Qwì· <²þ:Ë'™áÕ"øÂÃjñ´Ö]©Ç4•{ŽŒS«ŠœïÍo¥×Ê­úöC­¡Jäì»"ö•z,Þ-Ãh‘L‰`™ð”ùLžý‘Ãé5¢>ž‰]¡áÝ¿Y­]¢wÔ@œÇçðÿW+S/…é¸ Á=B7øL÷KSÓC¦µwý¢ ºá’há'/rÚzf\›Êlâ ^”\¤¯´3´×oyõ:Fœw ¢Nsêö(¡NÈt=È_-ÆÄ;`x¬ø~:PSÍ¡;F¸«ˆ¿,©ä§sšVÚ.µe†¨/NÙo ¾UðßYM¤™4cdÈȽz¯¶™´Ñ™,„gƒÊÁêj“#2|.†²û´–ÖaÜCø>§N…·ƒ c·Î<‰ïûðväš6Ôo©²§êù×K–K‡Ïj+X‚¹¬]Ì#ýOìyt³9­¥“xÙu¡ýÓ$†ÕDI² ¯ìÓ®t³91¡kp€3¾FHªµêƒ±ü‚åHm„——Ú±Àõn*!?–EDjcÂÓŽ34{«âZhâ¶Ó¼EKá[‰¶óßyf/*q¥«Ïê(ÛÁ¢>T/®ïnCÁ÷ªƒx8ýóÉDY‰,üó9á'ÑWí3]‡t‡Ê•bzN*®“ÁûÖeµ¥ð§î6?-F³L@ÂËGëñœñ©%VE΃`Ã]1ÑÎØ$õDñ+âIeÝßë¯f}•5þQ…8w ¨™e†Òã˜>§«ðEÚ®—µ#?uI!óRðÊ$^Mx€.2ô4óÐÉSy.cØ/O\$Ó›ëèrY€•áéqA'*רMêdêÞŽ™ gUuûoöÛHläX5‚Lcí»×‚‡ ì«yHJù³ú {7Qw5Ù‡n½» 'ÌÄ.ÆÚ­!Œ²Ë ¼‚& Ø´S’€¤ðØ1‰‘µŒE-ŒõîÅOÅp¸óÊá[Ã(8u ÞˆX>@õ²è0`»;ŠE!ÿ¯¡Â 믰&!>¹‹´Õâ„8Ï7Ë@½±È¸5 s!àV‡…«e[‘¾v¼¯ÛÄûF…Ë._[gB:"h~ÙfLF$«c²”dÕŽyþñЀbkwôlZN»x{›ð>" âÎñ>ŠËQ½Bͬ9õú)B"K˜C:m&5çÛ´ð¯haØÁÕêt j¢ ª}Ú‡…Îd†Ì:=­BSó 0¯Ôl»ÕÀÇå°rÞ…ˆ2¸þà pá …oÑEËPè(ÝÙ'ÿè7 À2éÜÝq8ImT‡ê»-üø}ì Y?šº‡ÆLncû÷É}½ \Ä…]d4ˤ ?Q­•\’hNAg×ð¦à‹æ6c¡Ë‚qÍÕmRÀX;Ùrÿ”²¦kcëú[%t›­Àa‡˜\d`áø Ž™'ßÂqú°Nœ?ŒMƒ‹ a]ÀµÊÏ(¨}¬«(Ó)þÍÿK“rNÁE:•¾ðkîú;ÏxË­ak˜·‰vë°ééâ4 i}+,?· R‚ØÐ|œÙà3lœ€ ¤I– ,Õ…1¼2.èÊbg/Jk7H ›‰sféfø®ÄG\ª?N¯P?Xkà¢ÆÑ9ÉTr™ 6 °çrØ?VÁÇcå"/zþPØé×,â*FÕ…«KvÐô)@Ì´U}çãvë0ž1h ­ÉgÅ?Ú¡pù_e@m…0^ÙëK–vlÕ§J+@‰B¡vÙä®Ñô°YÈâB‡¡+"Œ>±BM·Ô†@*nÑÆ²qSw€mÛE“Ó¥³´náhŽvŒåSD#8ÆO—¨„ÅãA&‰mH1ì¬å|«Ú~Áh÷ *N?“ƒJöäûÞ3ÒÎ^«éM×7®á5^ƒ!ÐèÇÆo”ÃeK¸†äÜæ¿‚;Ë{kÙ§éE —Þ:ÑÀÄ–‘ <ùD;‰íÝ[ÓjÆÓœùLl¿`ŸH³¯gm‡èäIW#ëL$U¤Æ»)ÌJã5’µŠrc¼/ TÝÇß–¤0ÔžxásôI8pÕgG/?iºóŠh¶€”£¯ë°/<‘3ÖçÀ«‡K]ÛÓ„;‚[`p|k’ŽÖLèæ=5‰E|Êÿ#ŠÅ [, Âu]/¨é¡ä.³iï‹& –ôö¶«Œ0iV^ËÉv(U“Z hàivÝp¼æ8_^¤#.-0‰¼z³UTÆmE6gçÖ0°œÕ¸ ý¢6±ºôȃÁ;¾á¢bÑúÃùfÁ²’Ú<¸ØÂõ£!?a$ÝåRXŸ®aò'Pe™‡½ÔÅ7­ï¨7†bé,22Q8ÀjÅ P½¥.Kè…‚H岿چΠ’ÞÅdëËk{‘Õé«ÙW€E ›ÆÚpiòçú B†úogÄIj¼ –_@µÄDÀ6!L½²š9«ÿÁ6ø:Œñ tWlÐ?NÄ"”­F.÷ŒÚ¥ 4zã¤÷‚ÕRïe÷î€éÖ^b›g«ÆÍÓÜéÜh ¬mîÚ7n¾cNçÕD8BD{ú+Jhí«IéqoA'_Xùî´üÈ*:“ÿBa°…úi¹VÙ‚ä¹SQ^:ÊÓ¾&Z‹°³ìõ."8ZÁñ\zAÚ#7KpŒ÷·-µ*ë$ïÊwq×YíàR®==ß}̄肓Q›¹ñ8u'i’»¶ì̈fiñÓ?ˆyNêƒaÐ æ¸ã’ì8l|öKžº;‘+ŒôÓoõ›bÍ)ǃ¢Eþ™vx› æ<áÏÈi -9öÊõã€p®Чýg‡ßû»ÿvèyÑ×ZªZ 'mPþÑ í qw¯X0$îÏá1 U— о'cÆðÐß¶Ø,~|;jé„ áŽÙî@…W¸%¸õ'Èñü´K ÊU¬cúÇŸ=°C‡tÁQ’ÌO!Û›7fU,øwl½Ì¨\|;ñwfQ!§ÉCùc¿´Hz£_לâwÁIEë¶Õj€¼ýT>,åH™÷¦ŒonûN.™Ñ:“Ù\Ëç\®¦ÒMŠ?`ßR ëwL4eènL>-Ý€õ“œÄ àø©ª}-‡ù OÎΞvñ¹xY÷¶+Á¿Æ¿ôòÑ©%ÓD.áçï’È£§¸Þ«Rà‡ÈšÍÅ3á^ü ‡CŒb&³õñ³&†rÀ‰Ù4ùµþYQIôÝlC´dt¦Ký”K n›lÛJ¹&¯‡&'UÊÓàšƒ×‰¿À4[Cª‰åÌ,«&Y\d¢PªÚù`"v 9{r+'šb[óñ›› Tt¦סÀ«÷2(ÿ¸ê*a—ƒE_WêÌìî $ë™–ÕŽH¿)]kù2/s}ßUÒØî*~‡‡`aU㱄qϺJQ#q-ŘaF=vŒôe~<Ìó65[™7BO¤ø=ñÛø¢MÁ=³[©î%¨–xo»>DÍZ‹+=Z2`Ä ïý=Š˜ªvMhªòñ~ê«¢iÑÑÅ)yk\©8|sÿ`€ø>ï¸S55© 4ICƒ˜G¡$2ÅW“*&/©Ý`ÊÚ­øÙ~ÄYV‚Õoc™¦‘c“°¤-¼h Ådo¦.p ŸÑg_%Þvijy»öý^¯CÇ”ëÌ*t …Ìâá\ºËß—¼åä÷ãw:_*X3}¦°$:†Ï™:õ¡Ì=¹¾L9.ß:myãùm>$B?) àõ7Ts‡ôë59¤({ÖL$,æ 6HUYhL§·ï{`‹­®é8 k’q]ú?ï!Iw+V—–\ÑKB©KƒÞ húM$J:™’´Ú`ÅzÞLѸ{nêþÔ$óÜw^,„Þáµ–X_üä;žH´Þž²àWzä¹¾PõP߈1©ù8/ùŠL!z«zܹuÖäf³ï˜¸–#óñQá…+òÌQ)w…=]ÓÜ 7ÿÐo"x(Qk L$ón}Ãwç¯Èƒ<·±a­üµDCZêÿà ÑT Ç9—¬´ÞÖ©ºìN´õ Ʈ¨ÍÛúÐÔÖ@†Jd¾#Û†Ìüç.vaX;°Fr$Í “ÖŠ’”jíg¨ª°Ð¾•í::¦÷'Öé÷F!܈Ócx2qôkè7æ uÍœé‚FŽ¢T+í&v\Ÿ UúmþÿýS€4ŠÖ»óHÇQSµ ³ƒºý,—ƾ»"èa½K3˜@ª‚~i0ú‚NPŠÖÌ5†cOikö7/SQò>æþÜÁ/0![píXfЀiëZ‡DÝ4 ­odw§×Ñ{!Ýd€h`¦øÆDÞ,i9d×;/…ã\¥WMòW6¡Òai|B"~yä»äŸ.x †WDs`~‘Kg›ânŸ§fDÇÏ…÷CYœ°@ÿ»,e²7‡ÜÄЖ#uhÔöª=ËÞ¼”Âiu‚ŒaV ÷;¡úûýÍÆÈäÉ¢K¯S,&ýö뎛SË£¡A/ý =B!Š |è,Õ„í• ‘½¤óõÞ–|rË1™'ß›y]ÁŽû$ËkE¹õÃeÑ;CIÄݨ˜ËÚ*ã ûl·ÛÅÿšÃ߬ç„ÞöFÁ{òÔV“ ËÊVÝDùÔ‡©hzɶÍËsŸOUa<+ŽÜ¶ÖuÆzýîÀ °æ˜#¿‚hvUÈ!4’BÎzô ºDžrô±ÓP/Zü£‡®o(ãªÉ£d|Ï5ßGDžŒâŸäŠÅ”.(Gx ëÅ9×4¤°º¢Ð»àNb¶ÊDzš®VÝÉ…ÎUdü¤§§'WL÷ó#Ôc„ìÉí l‡UWXZhÐ.Õ%d³ì ᇪ­ä? j´˜¶-¡}#ô]©à¯ã+BmïØ 9¥µ$ ” ºŒ®qÀù]$Ù).%:Øîõ¼åÙq}YCä)Sœ!ùtœ)€…•–Îç §\fæÙ ÷Wv¤) %'ã´ÆÕò-Ë¥-ˆ}›²wµË}z\–—S9ªÉüD}‹ÉGc\9ÓÌÜ©jÀ í„©$n­Å(sÜt+”v9m•´ƒèwL•“ìÎçØù¢7­Â°(ù–äÈóX –\/V°@OÍGJ(Õ¦vIvî\Ç'™†Õ'ró{;Ãú,mÞp…"£ Ë¢b9K–l«4¹â'¥m­Ô‡ä¯óïˆzàÌ@i-ÌÂ_ç~¼L¡8jý¼ß. YbÓm(ü䦡øN„=Þ*ŒG{ÍRøˆä8‹³×Œ‡ oñ{™n×Ç h”4…9È5ÿbRcM@fc&A&½Ð÷ÉÁ° [ŠƒÂÅZaô®"Å((Iùž„‘ê;m¯I8´Po?‘è:þaÖ;§ŠÁ:B¶ Ñ•G‡¯&âëŽÛ§—R,¼™"ŸÕ8YÀÔB€”­GÔ  ˜‘Hi§D?æ{¦S НˆlO¶Lq™3â]ðUæfÛ£‰ <' Wãp þmuI0¼Xu¨Ç[C«ÈÛvÞ÷«6ѸÆÉÜß*”Úš=¤ý‘ÜáñmžÉFáQ¥ú'Í/¨Û[ÐÊ倳»Õ°ã-YÌò·ô^¿Ê&:Ñ˯g ĤÕŸcé{Ãcˆöܹ*z#ÑýE‡}ŒŒÖ€Ëg~§8jÚC’ý.Eã™æƒEÉeqaKw!f²#â#ÌkÒéMé§ÆÅ”\ÀÏ¡»)|[\Þ0m +…íÚáèʼùÓ+«q=i^ÀqÀ£ýÖÏ ‹G­…)!|g×–FÚivÂ%Ý[›ë¨‡«U;Aˆ®£´Y—€5ò¯²”ö?ç\ÇÖƒÓÓÊÑn—ïE/¨Ò"šéòmŸ–J¿ì`½2F†€úMª‘ =}È”>øZsȶl°5ç«:E0žw × UÉÝŠmâú¿ã§ÃVJæq+©îò 8 h’ˆtÂê ñÐFUñ¾u!ü>“ÆŒqPh5*,?•ŸS[mjµ¼£íÓ“ÈßUýŒ»þó3½`ÐWÜ’$d»M ÄÏ$Ý,w êl‡:˜`ã5÷®+@ç9p0ÑVQââ±)>ÚlGБ ƒ¥¦_6¦í®ü¢Œ¯¥¼®9¯*ê,06fêpsyœO[v‰¸Œ±¥Ž–\«óMfŠ÷ؘZ¯òGüstf×Ö¯o´=ÉÜZå,mu5üzx‚“¨³ÅÖé†t7pe7ÜÑf½ÍÄÁ«×€Î ²!vÓ_$ü/4Ô¢gQó³lpÂì÷‘™fO•ŽtÈòGàŒëB¯¸·Í}Q rϨG \Y‚k—x¾[ PÅŽ«Jœ²AhÈŽƒêfBŒÌÂJÜ~6ÝxèB é[p<—á¹H|PM<æ"]vð€´úÞt`O˜Ò_v”þ¥D«&yL:wœ£Ìú ä"Ά#ÐÐé@¡›)L£ss¼—o`2ÞÛN§#$Àz«ã–ë'0aN¹!/eÈÓâD/=ht¸Ñn±²©éRŽ”O¥ ¼#Æ­ ’[“6%öÝ•7ã=Œv8Óâõ²Ø=v˜;ÅsJGçØk]ÎÓ‹âñƒ­30Ö¹˜ßŽÞPPA§ï™ƒ§kNv×ÀÕ "6üžäTÝÒ.„ÍõurçšN–v+ù;³µ2«‰!´erWŒ‹®Ï$ç êDVú׃k’JíjQàÒ>ý€ŽÉO¸<Ç×™ )ß”—ò” )ìÄ›3`ö~3ÏvZ!á×søg\»žiNïwMŠÔcÆ¡²p0AëKrº@UÁWmô³]¼ åâzÌ—´ ô.Fµ> Ë/éc:€&ßvðRç¿i y ¿ŽÁ›×?f ­^¾¾1¤q_ÿ±déñçb=½°û%W*Ö,^Ü)OA¼Ã¸@ÓÖom¤v{zû¶ÛU»—Âè:¥ÌÆt(U³%7DÊüZo°öHhöp[ÔéaœJ=,ÿÁdþcÕtöhO\ÓäS056åž§æ|ž'.‰‡2»Rœ­7ã5ˆJ6'çc\Dì¼s"P±á‰ÓêŒhh ¸à.ëât ·YŠá%h43¤ýZëµçÛ^ñÌÑü‘/áóB`»zyÖ™cãØ?ÍçŠ @"mâÕÓ.ëû[É~Ïöí)fšÒ¹fäßWÈ ¨Í‹‰+ÉåReòœmÄ@cJ-õPDX|edè½l ÒË?Ÿ’“5,ófLa 6Z®St5ƒ³xu'×Ùˆþ[<ܵFÉC¹ˆÈ›;óvO×s³Ž‡¼Bù6–Iå_¯ m½…ÜWý #ti1„c²ìy8§ï®ÉÇ ¢ñ•€N¯µC‚A¼Jy+Vp´Ò%-k¦’µìŸÒžÝPG.¾ýYZ‚ºÉÒÓ++±¦õŽ´<ƒÏ^›¬±8l6Õb[€Wª׫ãyQAýzž÷«MŽh5Âxq"ZJ‹ÕC‡:ÓѨù®`ùÐzL=s(uûÛœç±)~ÒLï^/_Ýàœ;Ñ:ÐÒ^QUcCßV»h<¯¢Ëý6yÓ²‡Š†¦è‚‚´˜DjEô¨²1‘–Ê.~[y1XøŠÙ¶ZM‡Ã šmÏÏ}¨{oŸ¥â€LÓ g/Ú  {0ç>«^HFÆRž´©*¦ö©”ÉH– ÌmªlBé…„>êV˜†H‘¾‡òŸ­K(ÔEò{Î>XKmƒcŠ™ †Å>UAâ›ÎyþÙqƒõ#¯’¹m0JÿŒÇŽjü® nü5ÓE)µ“}=#)º}ÉÜzP"D¾_f˜®0OÒ$O µøIS8ýË¿Æ( jY„®MS²qiÜ·÷þ¿ÌU¼Æì‹bçª銤Œë„¹&^ÖÐÁ Fê†'KìähzP‚tÅÚg²´¢­øj}ºXëùƒTÞõD¥ùIÓ„Œ?2ȪÂveT»­u¦‹ùè·m0«²n K[VùT ¿¨¿”ù‘4óÇ|]èºò&ɳŠWKox1–¬]=0qV av”Fwa܈Ï׃; ó˜NÛÃ<›oªri1f[»ï³T~`õb¾8¼{ °PUtà:ÐH\RV„¼>{Õݘ‚š¦~ä§°½Ì7ว³Û ˆ‹Ñ8¡ÙŪԛ8{ýdž–§ …É´@™=Är(`;r\)‹}  ê;/Ü àÝà© †]ä‚s_\¤",ý|^\W¦ŸûYt¾»õñaù[B­[€ÜõR£x¼^K-Å–A=QÀ{'—ÜÄ 2çûì3vs!Ðôqš„­ŒÊù.2f|¢cJ.ö)½ŽFr)a¾ëšDr³U’îq™¤ÖÞ\¾_7ù¶DˆgŸƒq®Ú‚@¸T1*I8öýFZùbr“Øo#¨¨ØäÕ[+éòPu,I?Îøn¾®hÕÉ2Þ»™*MŽš€þVóhÖ$/+7 ¯‹U׫%qÍÛ¬¢4æ€ØÖrŒœƒ6lHg±õ®ŒP‰Ÿµl%´¼q‚š¦Røßê‰å”ŽËh[§ I?ážß¯¹‘â¿-U¹³+2%…0ïÜ»çöQË5Wó§F{?ÎŒ:@·Oˆ’Ñá¨Æƒk³¥ÔF^²çèY‘FÒ€°\%ÒsLtù~”âùbMŸþâˆVÁ;2îZ¯°O4ú¡Õð!z1îRñŠ™C,ÕØê÷(뿸Êí´‘€c·”àØn×Aݹ™+1ÆA·ód3-šÇ쫘žôïh¢Ê8^ιàÐÔ¦ç2ñœ²ZdH™™"eAÒ ÛMaqÍ›$"¾ýu&TPÿ“º3©=ÃÍ×\³S‘$‡{¹ð/CØÆQË9J„Ë©5å˜0\^aˆüE¥ýj6HèÉåGËelLCO€Ž·jV¹£”¼Ìé{cTaz˜¦®iùG™ó2¬h‘*MVb –/í&ñåò8§uÝ$ÉΤ˶ÏõÂ×Ù¾ ¡nqŸÔ1˜LÏ r*•ICàt¸†W„±MiMô`{Ó IÞgmá§h²èÊ—AV2JÍúaÆ)vÊ¢_ŒX©ëÊegÌ””…ØLPé5òŒÍ;£ ’1DÔ‘Ø]†«?…éyý°µøÉ Ûƒ«Þׇ"¶f¯z°ÞûŒl›WÎ|àÛ×aG&ìga¿FesLôúíÉ¥Ð>_R3¥½·½¹‡ÒjáÄÉÍ0üy=V5PŽÒåY¦B«’-ý›j4&6hÃdZ]²—PvÀè.aÝ8ËM⥬Fõ A)/ˆ"· 3ýgñ+Ÿ¼j³6µz/bp‡–*†ïþ?pLYH<ébÃ2ØpRGà™¦}Xóƒ*^-º55n½Ô»bÜlh-åSŸŽ@«Z†\–:c‡X”ò²x<Ì—ó€äðÐEÌs$Ï8!µ’y•¨"A0…mKÈ>ûàqŽÉ³=y¬^=üC²zÏ9öj°= R@.D“(ííÎŽë·ùé!©ãàTç+í-‡XWÝÆ =b8jæX±ÃÈ ÕOÑóOŒ‰ëœkXž¢Q‰oáxøEtà÷‘E’ Ò‹ü¦ ôäæ“ºkpâcÎhG”Ð|­%5H¡Ç€ìùƒÞ—öÐ)S"•-pŽùò *ÜÆ’WÙEûÚ¦¡Ü¸5¨¡Î‡¿âðÔ­ÜÙÕï½ÏGŽÄOŠ.¥Õ–žÀï㉠J@¬ö€ÈŽtîÉÂ6 }@%p1õ±Z¨|;Ï\§{æS&U woä;-ø˜ñD¶ç Œð¬hû ÿ0®‹‚Àvg›‰%&”‰‹”h§'g?ÙÑ>k_XI†Aû‚€µNB׆y)'—ùTÁ@&¤HPFheEë2>ÉúT¨µ×Q<0jN™«"þK¬–H”‰qÒ[Ÿ³‹7Ú&÷ßN¢_îãúàJc‰‹Ï⬤ÏrV É%Qÿ6êtN@xcÇcÓÅy‹Ð:t5e!z  §—â¿Nô¥,.¡™ðù—’TµÑ¦šõ„ ?NЛjAÁ©n'Xæ‰ÊyT[‚wr-ÎʯNØÏ 7Á¤¡“TbˆýØøp[Ÿ !F¡r@!.´ƒå¢á•Nã`8eëÓha¢Ð+‰Q5Sœ3u&ûËRuaŽ%«¼E¨Â(Tî£qQXº¹­@(Y ­ÛŸÅò ¯Ê¸ýþ§íDBãxñƒgäE¦beŰÑ_Š4ó9“Ü#~r|i}1¢{ÇÏáÒ¶ûÚÿ“²ßm_rÜ Vª¦Ãà”ºë?¼;Å–¦*yjKIvÜA„S i£ãs~ŽŒ2(¤Ò£ ÅšÏ7!Þo”‡lˆÁ<æ$œÂïèc†zÞÂê‘“äòEÒÅ¿¹=Ü}™{:%„{‰ìÕhÜŠþa¨¬fÇÆ‡ž.)äÂpËH2-·z½d(ckH@í2ɣʜ'#è”-€ 5jc¯¹ëOî–èüfÜVQ˜jÔ®–±æ#¢œ~k~P¬ùàÚIr»ÔûÈ­ë> pÅmÉ*º>õJ3ydn¾²‹×€Z³)æŸa‚ZùŒDèõS_øúÛÚ Z@[KØc»v°–ÕÎßêå~P´ø¥+?<Á@tÇ Õà'¸¼ìoàælñýç'ŒˆZ´ûÖ§ðÿŠ\ÕÊy=š#q]ó²óŸŠUxCÍ(ÑIÆY—ô­ìoŠœ<ÿ·”%vÁëøh¡yYð÷&=͹5Ê{ËU ¦ô“8A»?r+ž€sÜä˜î3 ªŠ¤R/¯`}㢺»®§i—úªXòîÆ0«ÒLz×Õ÷iÛO¯à­Ã”òU6‰,£“Ô7míM>á=jgí(Él@¡Ûùë›­m¯p˜ËEó dvfLù‚ïÄ]…‡vM6ש d hF=™–àKÄAÛÞáñÆeBª¹r‘1UÌ´šD¨ô—Û&¯Kr{_ (àEO“f­C»îåB¿ªhÉ>©<$¬0nåJ:ìÐò%Â'ï˜p˜ŸpT=/²F½ŠTgŽc`XÙ4ŠtSbá3”•Ý®Oýcëƒ@øÐ•Òê>úÙ‘ $°oúÅbÊÛ—ÅwÑHùlp;öD,ª”;ɽl—¶Sœ+e oÌ–{óevÍßæÿ-ë¥N%VmoÖõ·œÒúe+[ò>Í”®ó⽿.UGk ºs]óåêÙ YpZ EuÙVÂI+x1£Ý盨Á‡:¡ž¬"‡›·/™D¢¦-ƒz$NR«QÝ!æØ×9ÒÑ©›Šédýô+ÚÊ»ÝÑî_… ¦¿$¶Úb;xé” Ù×Ùàé¨Ën~+ îúFj«,ž»MùBÏAEd±BíãÞêèaÒüS:U†Í5Ýú<ñpdÿTj¯`ríÜÑCÌ;ùbßÅÖd8¢µÝ=nõ—‚G8Ä9ðÑE7w ˜0MŽ\ñÜðÅ `tvÑï H(¦ðeAyÚ5ÀDÿÄ›µL'¹Ç‰T(ɤ°s(¡Baø£"tçÔÞiá˜h?K˜¹¸m ÃnéèÀ¦ËnM=ÀJºüرƒÏ¸~’^‡ ý«ëzn$ëÄ!^¿òâý.•Ø€¿ðáÎH¿þºJä^AeA¨Ž,cf•Z»Ã›xr@[bV¸ˆç¥Û‚Ãÿ»±b AA_ꥹÞ_åþOž YÓ½¡X À$*‘SšƒãÒÐIúhæ–ü<8A†ÿrê£o7$O=hïs™_»ªÖ;q„KU Þóüϧ”³1?Ê{j]iì2FKH¦ÄJ:u­UE²á¾<'ŠöÛYKº,8sÓ¼ëòo`K8Šƒì‹FŠÔDH/ µPÕ[7+sI"äÞËe»‰×¤PŸÛý)uo:Q­“}$¾UÑ™u§9ŠÔ?t¬U+NÅ+ÈŽÀˆ#ÃÐ3æ”®zËv/õt&yí!u%HM+it.aUÃ$tFð\d2~ÖL¸÷XŸj_)ê8k+<"/õò K­TfIÎ~Ê^§É×£³r‹Íù,MWˆÔ£Œ°®é%+™‚”öÝh˜ô+fàÅŽÕJov¬þ-˜H'ªûáçüô~=;ÄˉŠj6¸Ì†ÿ4{¤ìÇ®‹Ö“‰?\úóÛgÄEg쥨¸„nÁdÔ÷³FŒ !h·VFö tS5ÚO›ä›C¹cb3 BåÀ¨·jÕáŒà—(Ò$öªŒVy ðuÒ€J#ØÆs­KË=µÏt#»a‰þûm ÝÐ5þéãÃÊ+)²€‹HF6¨…še†Ã‰Ð^LÑbø°x¥e &c„‹³ªíä»Q«Ë€Iýöè•ù¢ð%ëæê‰ù•¼:¹¤Dl¡c#d‚¤/Žžâ­íÆdkBë fªLªd|ŠÝªA!8’Ê/ÊQâÆAfÄ~‘ñ”ÃUÖQåçO¶¯gI‡_s~¥ePŸ;Øoú¿ép²kΓªq>ñKÉ–ÃÚ “fRA„Ò÷ÒÈå|’WYá[Á褨P1žÔ£úøŒ/û@SÅÄŸÈ{8Öëó” 4Ç^oe“ër9Or}.U×Üg.†þy<è—!»¹ˆ!–*Ú—ÕÎT X­ÛÄÏÜ~úÃ%±Ley•Ê™ (ÒÐ*ƒSô‰Â`b`à‘‰‹Ÿ€ÜmL{¾ŠU«Ç©ÀkúWÞ«µ“˼:¶›Œ`ÆÑ™à\Fº„©àb%;үЦó‹báæ O ¿#öUIq³ûXÄ5ûC:7ˆ:Åò5æŠÍh6ÙÕ+ ¥ ;(“àî"”[»<ÎrKü'¦³+RwíÆ’dŸÎ~¥[4TíñŸ?¬ñ[ì‚z6ÀègÔÒauCÃ_»ž êQ Å=H Éàõ/Z 2*k X`ˆ=02dáÊut ~Öâw|g¿k3ÅŽŽÜž)6¯g¡\dPMx*™_Š@ pd—úÄöËd³Ú—˜U{Ʊç`ÝÊSèùxƒï&¤Óù@ao M!`A«Ò®_“¢^&8a›¼±Á]û|ê*;å„4=wÈ:üŽ¥•ÝiSöÉ:Ä*úû,lŠ8Й¿§²Ì(ª (¯ ¢³wÇ$®W[±Øñ‰|ᣳQ0f`rc#x½ú7kN8u×hXÄßS6uYl@Ùs÷¾zá+¬GBröCÁÞý``MïÞŠ„—$žÎ„ mºYàBìqUcϽ—ÈQó 8…djc)¿j‘”v2ñ—?|J+*Â`F­ÇÐÄ?‡ÈkÍ9þQÏSæV§^ƒšÇižûbkvÙ¥hjG‘­¨0ö2" x-»²¶ƒDwÎÊs!ýh7×yzjØã‚Ü›×ìXÿeTߥUÝÆš€«‚ø0'þ^{E6{„£"3~[!‡]w)9 ÄÏ4ª£f÷ê~gÇÀNcn™ó±Ð'ÃÄTµÛ¼¶f0pÌ<Û*ß«È< ^ÆUÞõ¯‚ÑŽìíjlo5$+Å*BÔ¿~Z$M ªw´|ÒQ@yh µ§ékÇ5r®.pÊë–Ér®ÊLj€•^h-³æ^§&9†§¡óˆ`ܶŒœ•Q`˜îòÌSÁò•ÐÉÓŸcªèW©fq3zâÿø…С‰N¬ÇÐùßøT.[bÇúGú Áä’Æ5ç [gF“€³JÓ4T9›yauˆÑyƒ;6iŽüF¹7ðµ…sk> ‰¡¶^®?å¬#õGÛa’`éìœmÜɘK#*Ž˜XÆÕèøU9'F:mn©+S®¸@¥£$·>ø¶ƒÙîF±ÓƒÕÀƒu_“®Â cÅ?ßË€)ÜÍ]r §<ìª×N ;YcÕkCl-8(Ü>ýìvmý¸9HÒâ’5T'ˆ'GˆÎôQ<S'âæytõv˜é†‹ÓµÝÚI­ ÝßQ|ú«!û)1¸í`Xmã ZJé¹&|7 E{ÑbïÖ5.¼—ŒõòÈ|+;…: r-ש-[?'Õýœ&нu™¯^Ç£I¯„øñ­GÉ©ŸY®ÿ}ùçâÕÖª+È7Z¯ì È=Êð»›"ût€Xk8ãé±RQŽº–Tˆgêð®qhó> `ç±J#`òµ®ÎÔf'Úv7y{Q’á|ªkûXËÚyámÓ½DŽ£”¡?˜?ˆ¾†útQ·¯ãL '†Èÿð¨úTâºÂÍQ‡û&H€‹6¿€òô×O9ú(Æ`Àº_ ÷š§Gžn˜cCôS¥éþŒè·*›pJW]Ò£¡/£6dØ/¡?Ä  ()`Þ}sæÉÊÙß¼hb]÷9V`@ôb›æèýSÈÔa\ô~âÿ!qùtJ}thI*ÿ‹+ªùT,}*s˜+&Ö¯ïÛ‹,t‡8O1çÀ$Dò[ØÙž<5¨g—m1¶f`{Mg‹·ŠwžËé½€…2»o»ðß0W¥j#v¯@ÅNT&P¹ŽÈ¢]?"D”(¢ç¢„þç½,½~…Ö{:$=A{sSäó¥ÂþíÌ„ª`0—WR bœÌáÄùÒrŒJ%ñÆ.*â6âǂNJ8i”é[Ž\[ÛÀwÁFo…¤ýÅp,äRš?ö’xYÝãojý{³ÏL¡³ÜÁU5 ­œx\Ãdu*ÔPŠŒ¸/gY™f¬zõ¶#ÜYd¬V)ôŒäD‚Þ=a¶„Þ¨"*-ÙKÎN„ ”!›6Îëæÿcp¥—ä8<ÿEå?Þ<ô·”¦Å\QÙ胎|À§m׉F\s<ª@h´¸0U_+ÜíZ1[\åq@ôÊJ%\±©F2Ðaj©Thq—eÚ¯gȃIµœÞ¿=…š„O|JÌdëh‰q½3¤Xµ˜x‡þ*BD‡~Àé¨=RXrÜÁªÐìÖºT  ¦Q,ŽSª£¹)/æÏ+ÄÁ/"Õš0SgÃR¦ÖŸ“€kEQ˜p?4þvê*Ø\Ó=á«?ËÓyÖ·400°ßafž4n« Á’ÞJ0ÿÅøñËöYT}+Çë?;¸ì¡œ h˜ƒ‘‡í_|!ˆÉ|÷Ÿf½%ß•ÉéQNß"ý"N¨—©ñ¯Úg#\Ëy»ùÿ4°´™mñ÷;ÉÇu‘n$P² ÚC ˆª;:Úl¥&lä Hª馨Æ=«G|0iUQ¬ oHÜ:žS©™Mc, Yo<3\¦E@Û4¯þòþ¯E°Ö¢Üú/=™r€O·ÓðñÙ·ûvÅeÁlè*ä̪/,››/¼ÏSD±…–óÕ-y²ÛóŸ{ØãÎO<䢈s¼ÔË_¢‡PDvo­,ß"<ö`‚wˆ¹­„NáæIƒ74q(n¬:#QkÜ5M«r¦ºáÝqdùã/{%[›b}¸A½=úkj¿}¶¬{) $Ž•/{þYÿ!åDu°€¦¬æ‡È¼¨æBé¾í•®ÎÚíq(TNn<‘Q rH4Lt¼Æëó mˆºwÓžp¯ =ñ¥ÉÜqfá=·é½ú-PU,nÒBHû†JéÞb©L $Ý}Å UÒ×ÚÞ4ëD‹è»Á ‘¯}:0þwÖ äg醆`¥g›q )PûBèˆÅhÖFòMzdKŸÁ}H_¾*aìw©LXLm¢JeãÐØ9™¶|s‡Üåø²aª ¸ñÐçÂÓ‚îq{U“sß:œ¢½ø]+øÙ54Xz7¬l„©É‘Jæ0…t„Sì*ü Vº£ìð%~ïôš ?õ+ß½…õÓê†Ç®®ÝÂÉÍ»I½#zØãý­1“8hÿ½+ÔM–¢d9[,S¿Aª±Êü|}€f¿¸J¾«邉>‡´KÓˆrXÖÃ,ô~¯ðè} ÷ACÕkœë…‡¬Y*ÑâÌå›Úâ+ÕîÒ vóÕz»ž%øÉÚ7yXSmÆ'€Çù/“v1=²öšG3Y^â¼HiýCšÕÕŸ¶ÒkÀvtM{áõ“©É†êv6V|.½Öì´T´<„1¤JŠ•»ðf»ÄÝÐÿ]^ŠWÕ'm«oÖKa.î°ò;·¶ÔhÏ\mßÝí–X:-¼X”vCEçL¾Tÿ6ئšD#IÎD¾øùÞZˆÆêkƒÎ.vñ±gV^£ .)¶+enD¾‹* ›¶¶£³œÔõ¬Mìz³´„3¸²Š÷±g‹±zÇàVaM€âÒswHÚlq äèŽcvÝ0wpÔ„¡¥÷‹ Ká­þU:¥kF¥á¦YZ–÷Hè-×èò À,_þrTôŸlƒÙ&/E‰dQZ0öØ<©S m^ìrm¢ò ²_4mt’_0†¡®»Šœ¢,OMNƒn«ñŠÛÒ²!Ü'õ]=%Ò±þÕÆ„õÌ8£>ºo]Hf0õýW°BO“·ÝG¤±(é*A *ÁàÞCRr"¨£_Ô½¬ŠÛɬ·D­.äðýx ôƒz  -nb}¯:ó]êÊÆ)ÊTìÄS“~“73e#â“CR Ì /E¦9בb$JÄ!‹•dTtYùzi2ŸþE-½X’†OÐɹ>ÝËî²ü°Ô iðžÀ/ ÑÆáÂT;/;G«Ѓ ˜¯^+‚ «æ2H@-g8{j²Ï+çž› ë,Yó:Ú£m¯teâ3)U;KVDùeSÆŽìíçà³ÒwöP_Á¨Ô$IøüšÅ'É]Í"}B;=ugnbŒ`Ü%º÷( t=¤¦îœ÷üí6…˜# )¨"€•Q®`å&8˜‡®%É]¾•¦•®þ âý.èÀ=…,˜Š^Äñ6,t©oôl_ž«J¶+!÷Ð Sa"IÝWCÅ:œÎyZ -åE¬ DoŒ>‚Ú7B /¤< o6=ûBÍÆ€ydzŸÚïMüŠÐ«äÂà‰N>e -rJnË`³.(ø¨S¹+Úf ×öéÄ'R¾ðè¡mQÓLê³àkKgL¯AZ½éͬ5¦`YZwèO|-?©1µFÐ )/j×[le°–Ô€%üÚû°;À Æ\ÁEˆ@Ÿ«pv '¨@á· ‹¿…<+Hú—hÅÂQ8U» ;ïhNˆô•HŒ>F5á¹N1̪F] ÓB*œ×kÚÔ"§³jº¢¡M®|>ÙøsE<1¨8Ã?¥íì?•'ÿ‰—‰Yðú·aʾÄ+²Ü¤Þ¡#ã›ÉMÈy0]¼ æZlÒgºRÊ~ùÄùq•lÅI‡5’n³wQJN“`)4Š7Ÿwª9ÙUXÛS~P@K '+–{0ɹaw0z¶ÆJá¡£Èk>, R‰¶ƒÆÚnÙ´š3OåÄ0‘{êA2Ÿï3Ìÿ:¯Ë=«YeJ¨Uòy‡Æ [Äjó8œÏ7&P?U|Š®®U6èàë¢ w——~@û ¸±›‘¬ÈrnÆuš¢ìǹzŠÞŸ>*—Ñx®°µH_±žQ4HtÔ7÷¼¬ª?GM׌MŒDIη‡ͬBÁ ü ò¬2Ôf˜—ÃEä-´ TTJÕ›D>òú˜ >Žxsë$èàFbÏœY–"¶¢Û†òã_åm®ã4¡àÄ1$Q–êïû¯ hZÐÅè‰ë á¨ÈXN/õnCKDffÜA|79ç%«ýÅ}ã1Ði†ï>J½´:j LFøøv‘Â[•|pz•ÁyFf•ÑóØFbQáçÃjCRÛ[2.X·˜MD!r’0³íKg4SW”êÌ"ILHì^UŸ §MY•Á…Ô¦ÆT3çìþš…[øu/î9Ì>r5Ô½|+ÜdYDÀL½v{iØj€ûÙéq+¸Ç.,ü|Ü)]k­[D…•µYR1Ý+ø¯^ Øc¶€öº¯m Ó½™UŸyÝÒ¶iû A‡GÙx„œyŠ0[Ág€ ™÷<ÉçÏî#éd¦ƒšÀÌt³\ ÆÞ, ñ¦~VFê/ìÇá,PSHuÈÚ ÓOµé±îîk˜¬3Á@ËŸñœÞG;¿70¼¨»"f%†h—‘IËú™÷bäO¶«‘ RM±ï;x4oI²òŒÅudTtÿr4ht³ñÖ‘ 4 Šˆq3×ùØÝ4Ïœj*|,ÚWð°ŸÅ`ŸjV2®YI¯’£˜»äYpaƒ¨b£¢v¿Ž ÙO…ÑÕ.”ÑtÓÄÒ‚4çl*éßÖ¬ìC ëlñ•j_àTNŸšqÚDp¨3›ÁÆNØ7Q*ZÒ´+ÐU<]ÕGÞê>ªÏV¹•rĆðýƒL9PâXðiºø{"ê\óDaθª¿¤)µ@ýÃ8¦zXôºnÙ£‹³7¸¯-qzâÛ,]6ìÃv[ 7Ét…nëÙ#˜ ’½ç!á2Åt—!é¬L¦*îG ÂÜkæRŸ Ü@¬Ís~8ÝbNÿá_‹CƒG96‹Ëå4P…éÛ½ÔðpWÎZ•W*ŠÍä’:5YêsK‘°’¹¸…Õ‡“ѶAo£†yBœÏõ•‰‹è£_>'§8àSÓ*³† tºï9¢ ¯LFS©ƒ·˜zøú&ol ìGÑ·ruÖþ?ÈØ/P¼X¦‚ì:0©ÆNãÙZxÈò}üj… lT',!Ã%©NdZ>²y_û­«@é îãän:è¦\ÑDI-áuZ`h_Ž\srŒZ„z¿€Yå¦Î}aDŸ.ëì#=î*Ø€œŸˆ?ÉþfôÀôª¼-2Kx½ðÁð ”Ós$ý[Á_ jh1›‰úÑ,JN#¸*½ì„ø~V2&ì›9®:z¤X½­èëj)ft•þŽwOÍ=Ð:«Ö}ÏÑÙºÛ‹ø€¿­Ooˆn0†ïžs§šp¾âäè°&/dªm±QĻ䠕zcÛ)1 - 4‚ÆMùhj9ân«0DZ4À(ÿȳåBüžO+u_¹ÏÔê|FƒMNø½f¼ž ÍÁ÷:¤Ž‰™ëºG-›á†¥ÁkÞš!6¥¶N"Éf¦0›Bq d™Ë\ X‰¥ö@½¨e ÉVËä‰%#u©$!̆ï´ó¤Ñ×ÔòL «ð„ßõ»ð¿(%&žäèç“ÈW q"£“¨Q"tWê_­ÿ WV}˃hÜϤÚÉïÝt_Ï`13áJ7“ÒŽ/Ÿ´g9ó„ðÉè#Ár!‰ÅS.‡aȪ5€FÃô©¶³mLÝ ùýa†¸U*ò äÔ“ì]åu ¬ã&"¹ö‚Yæ¡ÕÞ3.âWšïA§f-ÖËýþwˆf¦%RMh«×@]ß@y;XŠÀlîÓân‰š?âcÖ¯~¤V«^bDÁOAHRÑAqÌæÒJcve‡nXÛ<„9Iü:ÕMÄ®:g9äÑõäJiôW*Qâ‡2}\=.Ø‘6Ä<ýb–[ÊLLyvšÅ)„ÿx¼7uû­,·p©6 lcƒÆÈÆ¡6öXØiyðÑ÷d˜òò¤9j ±#õjï2÷½FuBªœP½yÇÛ¢iú< %ó%tüêYMë]{n‰9¦ö“6?q|äЛë[¢Ð»Û¼Ïžº˜,é1·8:®ŒGRý~þm/.åszt»LÀ†I£•A†¨0]ÁiÞJJ€ ¼Å …Á!ˆ^ÀdGñ5›[ â\ ÎÄú[ãK¥Ðã4†\«P¸k±•)tR'^‚ {„v[@Aâ/&@œQ|äz:¦]~ºš=ŠíÁ§?fŒ’à †áÚWÕv……C×{€ÃÊJ…ç…‰æãϲ Ý'æðÌHë=eöuSÊó`v±À³0 [†ÖÝ›}ùì—=ÈR{ÎüOò³íj’F¾Í¸ôRiÐ%³$tpm÷Ó”ÝóÁ0`BÉãaàb×/H˜ÙËÏg²”žíSÒD¾ .ËtL”ÒŒˆÇL#ËfF9Õ1±¨š€HBw"£}qÔS–<õtƈ/–ë¦ú;6™*?xÿ½[mÝ#D&¿R‰~=.èœOU±~–£ý*…Sâ2LÅ0® Ñ?ÝÓÆ=Ž…­Ï ˆ½^JY¶œ¡»"SõŠ€OC­K¶ ìF7#ÔëϤt•¨ @zŽºïU’} v ¬­7“pÈu&*çÏ^šÜ|}ŸŒ¸›¡YRï¶z*wÉÕnÃHMMÈØü~¯7FhÉÛÓB&Ô*Rëé§[}iæ:3ù âÊ%÷”Ê WÇ¥£šKŽÞ¿CCá‚ñÕÐZCG•àÎX -–åçièêÖÄM‡öŽÿ¦,„˜‡u˜§Ba ˜l% %_ÆZ5Þõ>ÿ|/jH Ô” ÈYwsøÄ㕰щqœ¶È ¶BËß¶k Ú;8 L í‡u¼.žè\t¨ÈÆ~hŽ6Tˆ›üî´‰U‘„Û2ä::+Æ4]rs^n{õ•Œ {¯Ø×þ<â‹C"òŒS"ÅÑ«¿1T˜’ð@Μî<<õ ( Ä Ÿ¢äu„OW(@‹çÎ,¿&qOÔ Œq]­nŠf°mûVÿ ±©‹¼a2Yr“oŒÛb$S_(0Ä\Ž{ÝxLš«}.ãÓ\"?þ—[7™­ï(«Î’É ’•¹÷Ïf @û‹Eƒ=J\¹ nýJ·†°õìí‰mê¨Ëå®ýš•×. Æô´ç53÷˜J&pœÞ×Bðá2Éû–›Å›Û¡Æ»´§ú›~Àn8Ÿ.Žt•í‹6XLÜ©?HC4—MD•/f"ÓˆW‹EØ2¦¾wÓócJimØ}Œ ÁPdZ&ºczníQ©g|Ý_‰[²‘ÌÐåç3­š‰˜#DáKªâæ¼ÉÓý`ï+Ét/¯åAoζïéRÃL±Ï°¢ønëÔpU}'à"²ÆŽôx³ŠÉÉP ÕO% ØëJ[!5¢ì§Ÿ79Üe§é)_ptüÔUI}ËìfP¾¦ŠGv‰±F¤¹×£?ÅÎ^]Õâý½PÁxF®vÄÖj_¤OË÷Œ4•S9© çÃ+v‹[¾‰9Ck„Ùþ¤ž0ñ…}˜ ö쌕4v\EAFí!üp;0OÖ‹J¥„$ýeÝ4)|NvyvîØþ9;û¬—îŒÏ4Bez#y&' ^ã*OÚ}$C¨aÛôÓÌg^ÀÅqñãÀ⇒“=ÔlYkš%ßgˆ¤e^ès×A‚bX$Ú2à(ù‡Ù ¹‡ds¦ à™EHâ4‡ÞÎ!à›yàÙ3öqg•G³o+kPõ)ÈÜA^žÆ0#ä[ˆÓâxm˜ CFÇOãë ôÑ èÿ,ß!£ö‚s¿JÕ@Ϋ(Uxoì*|±º bfÐp×»#åOñ¡t>NoÛ[šPÉlàµ,S¬Z’²!œ8Ÿ±†?õ¡å^D»ËuZ~‘še‡Ž0"òY,‡üvý(ïLÉû(4ÿV‹ƒÙ¯¾Åר+|ä“m`K„YÛ΢ŸM¾E#,UKëkBè] @ë×¢!Ä•ÉáÛB ýxÒÛ."„Ú|ÀZDUQ­ù\Ú¶Fß{'„ÇL³ÍC7¼|6aXi&Îý• 8¿aë~3ù…j˜‰yD¤ÈUÉôðíw8R‚ê¿ÿÐV_z==0gzŽ@QßÞÂÕÜ<;ˆÜU Ò½âí=J3Ž(ÃeAøù(v´ç‡º+ÙMÕ«yÕtÓÛ5|°mVÆ“€¿¶&êKf£ Œ²¢òä7s´-Y<ÌiÒC4©«ò\Cä9¿ˆÚ/b Z?§J:!omíèGÙ·ŠWà–2«*ªturöÌ7?HùQ —"äïü%‚ÁÞ$ÞFCYÁ¦®/Ë;9|È,O+ «ãÛÔ…™Ô&7>ŒƒVg$c+<ËE l)’Ÿ5²W*ú¨ºièkQ˜¤üg:oµíÛÇFi§Þ÷^¥%{\äbǨºa^sµŸEÞ,àg¯–œ$C>HZþÇs^|¦æbôà€¶ÀÔ¼àög›.3 µÓ²rëÖ+Ù¥À °G~3ù µæ-Ø Ø»#Gx2Â"Ñ\y·™ËØR­8"´Þ ÌæÉ3J߯Éȧ ~4ôßör-処tÀfi¿ØÌRÇGòrH²?<ËUk¢q០îôå$•Œ?˜PØÕ` %¦ÒãTùJÒ>K°åÜd@ ím[q±ÑÿÜœ¬¤l¬°bù¡à‹ŽwA.–­è÷¡×ó#ÈL»m=¿ë’!ït„ƒCƒ­ZHðIMõûCâ©1Š7É%â·úk×½*Ïÿ nõ˜Ÿ˜ÎããÃî&?ó¯XŠYìA¡î:¸,ñ,ˆ¥ [.õÊà÷±À·Qõµ[÷ D'M÷.ÉÁ¾­éU¦´{Pœ§tMxöHá›AÞò¸3+ÒqyyÈ®¨x­)–dô.·î"n0Ô ³µ›V5™ñä`Ö§¹½DŠ)H¹L¦«G;|¥÷ÿìó´ÂŸ§æA(´ˆœJ¬mÜ=Ñ­N?°wÀýW’3cš.¦˜ˆ샫DÛ¼)f~‡å>ÏŠ¶âWÈõõ<‚ã#[>YNp“ÄB¼å–WÚÜu±#`º°IøRû_!&²²²`;ÒÔû6ùd©œãÍá_õ(öôtÈäÞÆ©›@—õÞžY˜ç‰ÅSoÈ…d?Üé>Ž£Êæ™ó\‹@Á*þ|ÓKF\]sqÉ6ad/t0Ò?dÛ\ ×Gž÷l›RŸ…öe¢ºq”|©‡’Á^cŽûCg”p^³ì´/=+&þæAÖ‡cöÌjT˜{´aœèÆ™ÓAusÉÙG¡ðøãà¡`é×Äâ*æ´ùo÷ ¹}¹@èÁ`çÄîʃ;…WŒ?òdëõåC£ºTý–ÎX§ýñt`Œ‡ ?•÷¯/ª6æ"¾©÷)X¬IËí*o6Š0‘ º2 *ä z*QfI:¥1H“˜¸azrö |ßJjŒöš/õ6»Ù?"Õ–e{o‘ŽØ„oÅ@Î*áÙ­f€†Yš0Œ1’rvë ”‘)-ZXùá׊X¼ž…RÏ1»ä„X”yäŸ""IiùW.sž7ºÝm)<èÅâW 4[õ–>–câw˜*5FV£WÎÜžÙÈú¬ƒ¹O†„µ¾µe Ö{^Yd^Õ™‘ûîK Ë•®J4¿ßC-W0>£BO^»Ž_#BdöÑGxÞ„¸bÝxçéVS2ÐöŠ«Q u'Ʀå­mÏ\™£tú}û ;Ÿ×*'5rº}÷¹öDvûúc bŒ«tí¶A|ÍüYÄ;UCGlÅH¬ÀÓ”XN¸g4ÎoL½vq Ÿ© †‹ä™\¿úe½c<_ð£%ûè­'/Ör¦uIàvÃDxÃ)éuÝø”ó®¸åg+ì_ƒO£k@v œÇ—Ü;?OŠ„§¿aØÌI.s-뢨ÅD9’ë7“ˆˆ˜ÐþnÑ-¨PÃÔ_VfHÞE­sj`y¨Ë*‹cºî‡üh‘îÉcúâǶq«Þ¿J’Üp8Nm9£*ÍN˜§­”q*Ïbw,‰ Â:{ÙÙí CÁ\¥»y“é$ktަ…m ÄI²P2´[–K?6Þ’É&g'\Ô¢¦r·0ò¿(íAßp{aøÁ+…ÎpsðåŸï0_ÁÉh¨Ð¬ÃRD/Â<Ц6o!/€Eþ­”Šd÷Š—­’—»¶|Î þD†²åö—î” ¹œL>½•÷³·íQK1~Ób­é=„¼öC/}"FÊñW!žRr\µÓUƒÓzµýàRóúpZ‹çÚolbÂ¥PÎl š[ü=R(ƒSÞgâåuâÆ¬¯;V„ì…†÷†GÀæqÀØ£Ö=º|ÃöòJg^‘€‚_Ç—‰Á7ï¡㋜‡dLOœøj¶YÜå—=ÀL>pÏJ›DÄ8@b&`I‡Ã‘Ç#qÅ'¹ÿûäôò4D‘Ÿ„ ¨Ôlâþð%=~ ÝTÒIBrû€ï‚äj…þR_i›÷úÄÍÿãïñß,r°ÇŸ¯C°¨s€Ú;ïb/ý‰9 €eú3”ÅÕý¾ƒ ÛˆAωî¿l;T_"îÿÙ!&úúÒP?Än¦µ®^üë´ê ,ËøcÉŠAè³”Ö H‘ ¾"k—_ ¤Û³õdçÛ+ÀÛN'ݶ6)ó’ß æç—0h ÷ÜÈèδÁ¯ä=.¶6¤zSƒÆ•Õš~%w‘z¶Ÿ &©íL!wžÒ¤Þ‡Š_üܵǡm8¨`ܲôœÛõ&—üUeÂF×–g—Þ•[OyÎ[’Û胦Â8Kü±B-XÍOª?ù¿Ÿn;\t„ÖÒ=9w¯üÛbî6‚JmSGÊ(ëì°çIôòkµ€!^¯”О†è–ޚȎMSTÍzƒYm’|È,|+5ô a þYúž6YÎý" Xꎆá˜{}¬¾†–3îÊW2-g<­ËMn£ü¶´RÝ>‹Bá-'YÇèÊøÒôSîõ(Èó üÎOŒ´CÅ\œ JÉm„Îÿtúç£ÀʉX$%·±gz8Ôy§`hÅ)¢½[HIEÌ–¬G ì—ñ%ržÃ»|8Ùü ûµÎ"ƒpìSÍ\Œ‹`Iâ«¢fßXÞ“3þ¯J/H £Ì XÑA^q3ÔÓŒ¤}9›®ö\¼Þ?C?ï©-ÛËrʃýM‰ïmÄŠ­m®áH5˜Ÿ)­,ØP³™ ~ïq†R$§RôÜnbkâEŠCe9|Š= K¬ãl‘çj¯êã:qá°1Ûj»£@ªAÇ!QÞÍw7,nS`u6±´~WŸóÞsMyšèùÍ–õf×ÿMXQ­µÏC7˰À«ÀQ³»õ» úFu0|´Sh„þØ›öÊe€£Žp©Oο}»:"o,}vG@æG¥r²²°'ÀÌ¢1Pkð!™|7„ûÑöCÚ5uuMä˜:§;ÆŠÕ"Yn‹@fS›à>À*hÛé|„ç{Ç×YÕ™GݟʬoB©'jXmKõ | ¶ƒˆ7*ü„¯f±Sï@Í$šÔ,H’[&p¶!<èÓ)UÍk½+¼>èüÔÿÝÐ@“­é·“³]ˆŒ¬€/döë‡æ¹IzØ”çZ™ù-:‰”¬&“Ù|RÖ¥Ó.êÊåˆSÙx惿r–jœ¦ ÔŠ…Â:±ß`ÀÍ´ú-¸ß©QwGÓ7s’oC$Å‚cõTEMAŠ1ÄŒÄa¨W•ÐI³ø¬q¡Öü¿7·…ÄòÇõ¼dJµ"©EùÌÉFb¤Šú¤®}¡Ò©ßÌ–×ñºÄ Þ—P"Ÿ±–öi±(ï×TùdÓÆè`ܬkéTÝ\Ù¸À×r^ ½Sc2<–°F+ÞKrö•&ŒTVpˆ¶›]žäK°cjÕò~÷"̰õdc ;RÁ¶×BZT¹ø†ßàµÓÕB]íø“#|Ÿ'ÓQ±ŠÝ1ßÙqíÚëö+ɱQÇÉ9½æî Õ8ÞmÖûÀÖðQ½ ŽîmÕQöÃ=EkÉd•ˆ\"?‡N#VHê¥õurV¬¸Vªz»u =²Ê²]ˆ‘ã ÓWg.yu/nEõ S‡ÔÙƒ æ$æ‰ëFþD?<¾+ÎŒìÓä˜R~xºwxáF[ÞøÅFåB…€á0GzKÒ°ÞUÌŒr*¯~¬@ëÿW@–~e5¤©‘#@ajS¦+Å |Mb%<å`#V-<Êa 81Í-Ž–4ׂR¶Œ‹ÑÌKûGQïÜkqâÓ«æàã,i!©ÿ8,¥¨³­œ7^žÖ€8Qj2²¿d8ÇOVlû¨¾Ð¾Ì´T M@­ÄMA•ŽëqC»ÞTcÃÿûõàï§jû €Jpî9OtññP'~@á$èé:#ŽdÄæ; èKÈnŽn7“~bŒðWv”“~Þ¼í{WÖ²Iä¡fiDÔ³†‘ÅQg‡O®!Ï‘h&œÉHÖù…OÙè.남uÅ€oÛ; ÍhÌ;€¿Z±ðò„øß¥Éu·Ún…ú¨Ã:¹ƒ³°Xu‰ˆy_Éëâ{9D3 º4âévǼèÞ­46½h²ŒÐ]6ƒäA’˜Ål65·Á1 òg¡Â³ŠMþd¥¨¾ý±Ïëà˜UÚ(é¶Ë/~P“Ý0"Šn(†Âvé[è?.żCæØºÀÎÁƒàsô\ac¦´Ð‡[J2M)Y©’_ý ÑEÚ4pþ¥'cdýKš›Ÿ£*ö£þ™ßú¼>·:ú,ï}Íó"UösÊöG‰R„¼—\pHÚZqÎOaüŒ°¸Íu`3X'Cuºöq†ñªlá ºåÏÐümm¤YN÷KàÊqo·iÞ“ç,t;}Ðy¡þƒ° û›ÇhZLZe3év˜ä¨N=O9–1ªëh·,QÕïãÝ ˜ÀŒ{ÀîçP¿+L™XCÍ–òábß·ç~±ÃN‡:M£ñÐOƒ ü’ ÜBRï^31 MulèøïÄÓOõQ)4Çë;–wQ”‹\PIÞ­ñ–_1‘>I¥Õ-¢þ’cÀiÝ[-ÿ-_–ý¬™£ãWÐÚ½òßyY—“}Ó2j’ìªvÚg‰³6©e) /¢p˜u ¯Aq<Z¡Ì˜ŠÛMô¢^plˆ‡[ÏþÓ¾­;-^(fyiZ–~Gí=:äo£°L'ÔÁÒ8ÍYäá£4‚[ÀÜqîZÂvõå«Xwáßz%?‚#ó15Þ7)HÕËWÀéþçŠnâ;}Ë1¦)Hÿÿ~Ž käp88Q÷Oê^·g¾F°bÜžq»ïÚ© ù ¬áV¼;†å9Z>‹Ž´¯¢Àhx—6`¡Cwòs%CÉΧXåKjEõ=_èÐŒÊjnÎ'ÇNî.Ùo¡]µ.ñºŽ¥ÎxÿÂPŠ­£ZoœÅ0nsôo1,EA«2ª"rèkÿöfÊÄ˼»´SÂÒÖ·“i e:¬ =è¯2æc0ú‚L+ÓPŸÓ˜EùÎBÎE‰—ÚïEÿŸKMf5ÚÓL\cK´uÑ·›G~§®Ið e™z׉úYÒƒë^OË4m­ÈJ’„ßÿë“vh¢‡Q"ö_àòç¾&ï¢ää Q‘ïÒO²_» û˜¾âãÌvA–'òŸ)_3á»Ëáåk¶€Zý¦–öÎ+ýÊùœÎÒüUÇéûB zdL™ÍHœµ§Ôܸ ¥„Œù¤…¬…„G1J=øWæX·“ø¾ó=ø*yÌôø›iÿ@Esÿ%ì~Š‹”¹”AB k„MÄcz—»ƒV¤Ì63³§V[/ ÏMÏÞWm®0¶ˆÐdê$Fƒ,¦q’-¾­ ØœTCÍR5`ï½§EqB`ohñüLÛyë´ ˜Zg4;1øeõ”Šè/}½ƒs…Iô]ºý\ºDÞB¡²úúƒŒ>&nHêû\ÅBÜCäj3‹Ú°|V·ÚL¿3F8+Ê_)å´èþ/g# Ç“ÜKR"‘¢9—ï‡zZ}l~t<½v”zƯ8 H¹jOÿÓ:p@óx³à<úq,¬è¶2öÄÿ[kòÝH àÍ…~WÒ4ˆ O*'dUôV“Ðl„k?µsˆé↿ñ+ï ¸j®Ï ~Ùæy †!q{Ý(‡Ãë¹òÜI@@™€â/êîòÝo7^¥c&âOc°¡è!Jâ°p(¼,‹ÚAì“°²e$­ký,Z¯„ÿœz5™F¥÷ÆB„q¬Ko2——.*ËLÊY8–j˜«ÍO¢ü™•ñÆÝ3®1R$Ï+9Cµ Š6è¡‚5oeC·ÔèSV#SÔIE4Çp´ÊÃÀüÞí¬«YÙLa«}*H¢áUñ•ußÞÁå¨Ó/ûõ¥ÉB–OY2 %-8®×+ÒQ<0î ™¥Xª¡]w\º—Î2‰Ù:ñY^Ϫv6š†h¼CfóÅ62%^fSrÛçV›"-<0­ü¥¹ìt仢ÑXºÅ;¬>mÒò7^Q>±>ª$8~hÉi;ìÈŽ¦€s«@ñm¢Ï:ô=¤ˆ¹¤<ùV˜`Y‹4!•+gò7I2 ÑÖ´œÛ¯!¤´ð¢µ:œ(›Ø'Àí«7aûMªÎÅ­çl™Ä혱IG*MîPsrz(ú©{³#¨ | äq'‰ Uìý›s‘Y‚ƀϺ ±ÈNW!êd[V¯&´ŸÃ’^Êâ[޽=±ÿ€qýF ‘`ô„€\æ½·íŽ?`¡60‚ (wP¾öb|ÛÀýªi׊®ðÄÚ-+J‹ÓŸíc(üdÉ Ÿä›öÕc"UÓ`hÛçÒ:Eh‰ØX.QÈųnKž˜†¶Æ¥Êfºø<ßä Ž qšÉꌌìvZØDLÿ+@Èc@ÌYÝó&¸åmb|²e]"Â’ÞÆÎ9û9xH·6Ð{Μðó°1ø~B¨‰w0֯Љ ;¼†lë¼M%Ãym|&º _`ŸßJ‡ð3ô]/H7Çî. DD E*à˜“‰`¨;á)x¹)Eó.™¼ø¬¶vYú'Ç,ÝNýÝÔŽñ¯cáE 'W£=pA»× Ÿ(ñHøÊIŠ]OÇÒÓØ}DE ¨¹o—Ûl9¿†~¯F3¬ã"wöœ¯¶Q %J÷Ó|/zò063TÐüý‰Þ©‚•ØÿHíþñn”B0ªpoyÏ}tu#äÑñmž<Ç$-ÓK5]„úôÃË kÛÙLB¹q{%eßÃù5Ó Ø.¹49§ÏBζMwÜbɘñíµ÷É%ÖVü¹´§oÄ:®¨ Àݽ©¦ö¾ÎqM®N<©íÐÖM_,°Ä³'ÒþS¯±EZý¶Ó˜üçÅKÚÐ(3ô ÌõÁ+¦MâØBʪ~¦-(sGö"Æ N±¥¦8Ö9ˆ–ßuFÌò÷SI‘¾Üiú¦Øž à,ã…@é3ÚË¥¸:q±B@_•ˆ ¨ nŸ¡+»XÒ%†êDMàÉóùKì¾n¾`ÞÒS\¦ó‹4óDÔ/0‡X5s0Z\%(’s$¾xÁîM8ñWÌë/[‹¶˜µ9|•‹ö,þ®°Ê{žšÑ(Ufœ\©“Et=CPÜó13Ð,uvÈ[7hµjúÒ€@ð“w !ÇF3wÜèxŒŠÞ89*œx´ùœÎ¶o¾iÉC°zq~¿†*KG;”¾SÈ ïò¯v^àxÝg¹ƒgU»ÂÄHà’;= ªiB%¨z½fŠeš)’´ÛãuôÒ¼„vNâ0'ªÉÍ æáMq¸®[WZEn¹7<;Ñ7Ej˜º©ü¾ÅÌ Ô­U€B G‹ücÕæ§&M±Sއ›%ˆ+Áq³Q À³ÙEKë1¸§,øû5#Œ±àð×Nÿ-ÅdYÍÖ–lx ~Ëö ÕÃæ±…Üú,ëxò˦ÁŽÿA{˜òYD²,Ë[{}F=þ~Ï‚ø¸”¤Wž¸É¬Âü’¸…•;bHHæ Ê:OzÝÿz)™Êcµ¸˜æšr8ÝåyôÑH…ÂëÿãØ¥B¨ çwÝÈW;øVj-5Ã-±‹ó}NÍj¬ãâE+Áu<%•½¶°ð4½ ù_©esÔè¬ð½ÙZÐ’Ebw/‡K`´*„´}6RbÂ^;âM@¨ÏX§½õõ×U*ì× ¯G[@•Drt†™Mq-e:ZÓ“˜ó¼0´DíÓŸÓiÒYR¼!’'ï™î~ÚÚñÆ%Véú—úㆄ±òWÔîîPÄDk$ôà“JÌè̦éÕ¥C5×îk}¬;é­í‚³$–3ö ÃíœCdÃéEøò«ÐZ½ºM,=àÿZŠ9•Q}H\"!¤Ü12×=­öcöóQaßd%sR2}•#Èó]ʸø‰¤{0*˜²Æ|L•Þa-?/O÷êd‡u=ݼ…â5³Û‚Ã|$(``Áº t ÏÀºzèé+hì TÛÈ êÓgþ¡ŒÈZ¢¤Õ«bµƒŠ)š¿¯Wpê˜!"(Üœ 3‚œT‰»¹·?¸:Y‡ÐƒÀs%%¸?1¬&²‰¡ƒÿ ¶¹`':ïFºöûZNŸ‰¤E°§œøéUI€â;µ•€OUV(æü™~Vý°»‘¡\% Å«ßï‡PŸ¼ ÂH%’ dæÚ“X?AxË××ã«JsÃùB‚fr‰à¤¾n/¨«óÅ^lÇ&‚rH¿=qA±L 7;Ì]ÿJÊQ…¬äë^Þî(}ÊÆèùi>p[m6ÎÑY¾ý°‚qŠq€”ø²œ«{§uCÓS}&tsX#餖6ô„Ñê-@™¤Ô™¼ÄË)}*Åð×C#bÍI•L[Ö2‘.¸¹¶,³·^&€¿‚ÝÓqM‡lmÐHX`ªžU;”Oú¦–#í‚–_÷¿1JªHW(yÃjµp‚,ââÔä_ɦ¢$xv‰öñŒý0æ¶Ëš*+lþ–­*R3ò'ûœý“t²m\a@á]Cùï¸óCå­G‘,ÚìÔÁúÌÿ|£Sh¨»è'<žQÝ”UFî]õòË‘D†hAnÖWú˯š*Xv´†9}©€"·ÈäÉËuÕ ¹ãf…¸–Íj”3ýÉ Z–˜»ç(ªÿ+ t_ŒÇÙMˆóçCtó*øŒ)Q‹¤&Ñ]¨÷lC8!CéJYËGK~‹ärÈN®¾ö^œÚ ”á ”*~¥$Œ­ø¤i |fÑÂèþUŸ¼ÖJœ:æ‹ZÏARS­u+:Ñí ci!J ”äçƒó/¹3´( ôÜŸ¢½)¤¾G¬ÚCxÔê—ƃ ÔÎÙéÔ¯½ ¢¶-‡Ø9´Âó;ª²ªCQìc<Ït¨]9ž/™cnMs)Uœæí>QËޛȾhlVY®DE*· B£é5 (Í”…G1½&F)~(þ(âpÂg/*äóöGpÒ/¿šÕMV¿ßë:žeÍJ|Jœ<ä¶„Èȧ0ø†$J§§sŠkèbQòÓ¯)»4A&ŒƒS`ñ|©„ôôFù„A §ãxÃÁÍ•£ž«Àøá§x!þWâª8%¼d(ˆ. ³ºšå÷ Ç"¾ÿ<8—ÃôÖŠZÖ²Jßà© +Ú°l“ü<Ã>ä¥ìñ•6(ÎAÛd8_&õ§vH?!X›Én›Œä•óµ»#†›¶îü°'Îã4>QS/Ä“]Üçi—Vë”Kr²ü­ü7©yݽ•؃þ“ÁBT¦‰"©oÌÚFMuÂoùj†Ž)oz3¢ò—ƒØ_ÒL*°/ó…'»}>’/*Aiû$üÉ ¡Ê†Sš4Óâ—Ð’âþo¸ÅLÀÜ–[Zm´I…‰° àRq’ú¾Î;ö/GÓ´_g¸OŸ{'²2¸qÊùu;¬ÓÅ4¡6nAFúvŽŽ#Œ¥>K‚@_°•8”–rÏÎ.ê@ÿµZ±’ ,;•ž¯=”qÔÄž]÷¡f…9ܽ-åµÍn!ijÕÁ»^,YÚ±{×LUC ·1j™.!G§·Ášúúp R\“§{ÙÍ+ä?ühØ €”û'© >tXŸ…W›˜¦à}÷6’ç>«‹eÉÜGòç hß•%òX‡|z3Ýfü.c-NÜР°ÒÍ‘Yf-ÜD•'²áÎæP9ºŽJây‡éT‘gÄÀÊÃ_š"Ë ¿ÁsôW?ù³—¨êÅáR6õü–ÎŒóòÜ{¿•)½:'"_×ö8ÕN [srÜú÷ô”)_=æþ¬qþòí~©!z™0X&³ƒµP»ø|0oäümˆì·ñ3ê÷zæH¹ázKÀt¾:é²F×Áòê7&1?7ã=A?Œ'Ëè0´ß×tÔ<ÇÁ%û£g%–ž=—sŒdЏO‹¢ZMx¥¶1‚E±ò„KÖøBƼ1-±]ÄilY¾þRÄb—Áʆèv—Á£Xúf]ñ Í.‡Û«˜6¨éqa¹›µ{ÞÂéaÝÖ11EÊ{JéÓy3ª¡ípýÍÅyÛPàÑ|¿f#Ýá&¼L9Íð¤Ú;®ªZ[j£‚“\Û*q|´p´vÁ¢9 ƒ>U´QÚÍ22°myI—·;4Vrxÿû®™à'Ü1/Ø—ÎÁ t¤ßg»RROÍ6µ†gž6s &¤eJù4"æ ÌF²?o±²ˆý/þt‰! ùG%óÛ e›qeŸÀNæÅºÃÇ¡[²R¡Ý$ñ7eÇÀ gÖäÓyjMC6#Lh½sØärM¨1'%ÃôiÙ¯ßá.X!U¶KÃA‘úÁ‚/‚à‡uxbÅfz_)CgWÎ-üIùð‹”Œ-Åx¥³ðx傈zSÚÚÔe _Ñý#)]>m}0­7˜hÈ.Ҩܡ¼òÇólÊÆ‰BX ‘/‰ <ßq@ X:8Šÿ­ŽRKžíçÒÛÂ/Š#ÐQ“9FÄk鵎Y(ô_ûNQ¸í¢^çE¹åÛ¸Oç†epPÅF`Y-¨ÑÃ.jãê¡ÛGZ5Êvoô(CÏ ~x:›21Ü¥Y½ßÙ Ü•yýåBÌ4˜‚S¾£Ä½¨‰'Çðä‘[>izëÛó"Sr1í­ìyûÑ"òrˆŸ&5§~Øû¸„6Ž2œEm˜lPÈ7Ë×jÑ?…@ƒPK†§ª\ü•ÃawÐÛ¶¤Æ‘9¯2¸OFˆ â WBZŠ8we¾è`ºŸpzÜmˆ‘ôÁ‹À“XZÖ_»Ç›Þ\SÀЮˆµEÉIYL ¿¿hm¬JQ/(·cPCѬ®|ö‡Q¥À=‹¼œæ¼:ýÝÄc9Oâîõ•äËD,x…¡»v囪ë«*‚-Ç{ÕKØ…§ˆN!¢\%Ї\Dœ°å1Ÿïjvî|€îîæÏˆ²öÍ¢ 7–…<<Ù/Ï-å*æ`Ì`Œó§¢s†¥i:ÒVë–êûŒ ¥9ø‘â”7ß“»µ|uñœT_‘C¦d=ùëO1m†‹—ü35Þ`µí /›zP^&Ø^“8`†:4v¤íbþõJ‚ cq@±±€Ê2z'»!Ï4Íœ=ÉËhÔj˸4 °œ1!æ]Ø´²W¤j?žnhiÅOA[ ÝDãLýP_·Qê&±›¨eøjg4¥))ÖSá,@iŠî»hGLyaÎGiÆý CÓNëΫÛ{øé-AhQL·(0Eì˜t|ñße¤j®A:–ÓC¨”08b:¸¢ ´¿W€´ìÛiœlh!)άg=λjâçæn^V{£Xç>f2ò¡EGDоH¥­®P“!GŠ•†´i^kïîÁ©5èz®Ät:±5ØþÎ?>¼mŒ‘]âÜÇVvËõ¸Ž®Í­Æ«Ø{Š «5ËÏ@ãÜ“7,ÁÑs”ØJ_±>EV.èÇ”9Å6¢<\ÆZÏE5zZ`™qIKPRœ¡†Ó)xx—tÎäW„~Ù«[SZtõvN<®CÎÛdü¨&‹¹g¦!W`£Ï±.¤ìº`/EÌ/Ì<óã=<-6 !ùìñi»¥± ¥FÛ8ÒA=ʯ`x¼¥ÕZ´’,!ËIe©#‘Q\5ÍG4ܽšö¼9‹Z¹ôVÛЇ]Ç ÑÑÐ$ÕC¡²›4š¿T¦“[R,G?ÊEü0¾ÜêuÁñUË!œSÒ·±9ݽqŠU1QpãŽð-Uüݼ 4`kŒwº ²:hµžlÇë"ýûÒ–XþÈÚ\“°wº$^‰²<\[^xó…£Á)†O§\yð#gXðõàõõ‰Èš†‰HêmꟉÑ8šËXnZr¢ÌU&rµýöî—$^²$RÔðFPz¼‰šN&™ðšZŸkdf$ñêKïejôsE°“4Ã?³UA´œmêE²Ùz:Ž „Pâ•–rÅÚôv‘V®Oг mìkܑà ÓC:[‡³¶Gtg‡çwKõ³'~ï<Ò$E"®¹£æz¯ˆ8Èê#R,MÓÁñÙ«]—¢Db‹©©ÛràNŸ¹×]ðO† 7±9‹¿Ç1o +#¹r&¶Û{,”öÓˆ²—ö™šÃמHï-€vXLÓó`ch¶ù7³œç!9œÕ:n¥ñYð›æNç]‡×PÜP‹‘Nj5õ]×sSüäëûß(ìÊšKBybÅ1ÊÛmE\¬$–ã‡UÖhl«Ä°ÿ©³-šéN{窆.¨ ÝÐnÓÑ1Nž„•'³¾–E5°œ$2¨éVó¯Ý#¦9ƒ›Í2Ñ(ÓÁµjŒRt8R©ïü¬ED=êéŠçÓÕrï´U?HMÿÛ£Kþt嫵ºfGŠ > îÖ“€(¼T#E¼5£W yè–R“L&n>#]/Úã±ô´\¨ûØ=Òȃ€6Ó™Ò©ôOç=ܰjð„hÌV˜a1í7ôyèÆë=Ì”$0Ù<Ç<ó—\{; ï$ Æ  ~˜,k< rHaHéÒß ôÅÇœµ:‡‰3vIÏ÷„:½q”FÑú«6\"¬ÃGUyá•Í‘ò»JÖ•Ô*ÂÛ£ÙVfæz µ&þHYp‹‘ ­"®BA¾»ÑA[ÎàK0š¹ï½‹ß¶94ÁAüÅþxx°%‹r5÷ò^}ëfD¸Î= ªLhÑ ¦˜í0Ö8Ãe “ï§3zž’q¦s)R-V(tûçÀǰ|¢aÛñ·óåm¾ìi= £ðÃCb©žç)$×ùLëÄ—–© èæ{9Žçƒt!ŒÒ„1š½„Tœµ1Ü´Cu¶ÝuCv_EÕÓ=ñ—µf%6>»3ó×OLF28U SP]*hœmZ‰UÑd0SÎ:@¾“É0à©D‹¤ŽºÇù^eC¯‰~V·žv£1å­Ü?#N&l\Ë5ÄþÙ;(…3Ç›Ï>hÜB²Ò0,q\ íoO K­%u ¾¶:0òzO¾Äv`t{¥öñž›&C†–ô$¢¾KA׉u›\òûï1€EÁö&6kpCÓíÜ!ËèÐ¶ŽæÉNÿ[Ì%9–ØtŰ¯DCàJÞóu/fgö4¾C‰ì£lY³ŒD­E‘òÖß~T;½¹¨$¶6`}@$/ùDîæC`îz¤>Ö¡êÙý@h®(>R®v>1U~½Œ=è…§üHN“¾Ì ÂvnT£n» ù-Ùè_wfþu»?Òð¼•Jÿ;\t ;`=66bÝ{nA¨÷)œpÔct š™.ŸïÔ*êâÇïÖ– „×àš¯ñè†ñ/$"³šO¦÷â´ È|êé±›ÿÁÃŒ’é)®Ø’J‹T)@ŒÁ t-2–ñCWdÁƒWäVn‡á-ˆòïÒ+òÚ:Žo%íX(O,=h4RãèÍåaùübL¥…Ð=aQ¨ô7‰æ·éHe¦}±gq"ÒΤyýÖ‘(?جæ W…Œilê ˜Ò~8É$mÕáÃòÓQ%0–}È>¨h¼´Â Ù/ž¦ÀÖ Ø{ýþÄåqn¶^&¡^A.%¢3»fùug¦]ÚHóLÊØ£ìö”ËcªBØè]Ô-ÇJÒBí©hÁj½ãxhc^„^Ýaé6*9Z²{ìö‘À¶¢º‘Û< ÐB«ûí]2’”©ìM»·œWkém›:©§áð0{çuß}x6˜ºKj7͹¸1Ö–m;ó×y9š”©ÿ1 ëQÐÆÃ>tÙeenô}c˜ ™ëmý U_̘u!Á? Þôsd.²øGÌöx"ÄÛÀ¤¬¸qÎ 8oÈšïÛ«š¼¼>–€‹\?73±L4 IÅ¿¬ ÿ²+7Q7 ÷3ù e Þ‡Ýß„Ã'h$®ÜÐ]¯Iì;Y;?)K{«IR¹~Ûê^‚ò‚<ø„h…XK½ù3…ƒ©Ö¥Ÿ ¡¥Íÿ°L¢ùƒŸKTsÐ$þZÇšÇaúô†Êà gÁ£µm©!såS†w‰ÿ@ª•úÒÍRV® TN¥ Ç‚9£"žÂTŸ@ k"ô‚uû0 Èßݬf[>Ð*×Z§à¼NÄÈN÷„œ"’Ò‘’”{¼_€~`’€Öãž uÐ@=Üf†ÿÈ´†ÕÛwÉ3ƒ“ûüWr!ntCêÆÖ EŸhÌ K8Màc)ºÄÌáõcŽsé­Èèd¼"o µÙôçÕ‰T7Bã@ˆÔ©¡õÌ5DC­>—ów¿.ä+-ÿRB±IÛŠZì— Q+øœ%Mn«ø®Ó\Yÿló+z3|ÒøÎvzõÂl_Š6«÷P zÓ»ÕòxÄŸjͤ—&+$6e-µ4 ÓxžbªÜ¢ÌžÝ;Ew d…+pC³}Ì‹›¸ÊüZž%ë_V^=8!áÍeeÀ-˜"! ÌÆ„xŸz`\§•Q+rsJ”þHÕõ\9fÔ&ìSÍ÷8ÄcÁ}šF˜^JWÈÁ ÁdQBAºI¤;üêú3(ãPu«BÉpð]÷þ}Ç#&³¬&ÇKÈ¿ý†°*ŽfEóÌêç+'¸S!3…9©TˆòLyÐn1ÕóZ¾Ö! Å2K ®<ÉîSV%8E@Íh†F5.R*®~y«ÚC%‰0_ï·Ûb‹Œk­wÝ ëÀ‘Ц›íÊ»”ЗXçÝÐ(õ¼C¦I[ü˜ói±:š¢¥ñ«©ÏFÃöÐXYͺ":+dItwg¿µŽvÜ€¼º}Kþu«Æ}—Œ»ÐýñL»íTjmÎ#sò|ÜMñÊÀ°…:¾¢Ã òØ»ÓyÓ¬š]H¸ã@c€Í¥…,Sßú]6‡Bèj”y©~\Bø€YmÝq, Q<ßǾî&”ܘö7¾ J`ÏU—Û5RÅ¡‰ úÐР;\ïgeˆ'¬ˆyo²'=¡¯ŠtÝèýI7(²Œ¹Ý–ùc<Ö”¢bÿ“âZ 6 ,q4às$¬Æu’¿@rŠ*C’÷æ-¢©Ý¯x·«­ÇøÊŽì+´ûTÁkø÷ÑPš´~sv²†=¹ŸÌµß^ŽV…ÿ–‰Î¸É}­óÓ4kúqòŒUÝ[ój?£™Æh4 ­y£G.ÂÆŒ³çbqù3ÞN†›Êf‘¦ÊØsSãF‡žG ¡'*ñåù¨M-?.Ž<ðzÅè¿ð­"AO^d1ÝQÛ£ ¼Tâ‹ó©¹ÞnŽ®±]µs¶âöGx­Ž‚œsÒ4HsŸ-‚ý ]¨=e Ýs³Lh!Ø·EI§BY¥âfM·Ã!á8ì“]-€÷¼à/Ò æèÓc÷¦2«á-£2ÀBÈ—áù>ŽÖ1ªœ”F}Ÿ!á[ß«gÊš»™í³c…j½Æfˆ:Þ°çãzÉ¢“qµ-²/-û­¸òñí»X ¼$ b¸Åƒ£¬?¦vnúèÔa“=‚˜^#ô6$<Çû¡‘Ý.nÄU@\œzVê£õgÖœ¦btÐm÷Á—5·$'.Ö}s qÚ:ý›,]‡—>ŸÕ¾+ð´wÓ¤ éÇÄÈ%.îçD¹ùøÍüz#a©x›œŸ‘©I¥©èðZçéýù,JPŠ-•®Kæ[¬›a;T¢${â!¸ÉôÜ3‰j]'¨%°jì¡—H>M‡¢dª2¼Y‡AÉómÄ]“CBLIH—7›»ŽÏ™îi´@^NíÆ¢;÷­ˆi°,xO}Ñs‡SIÐló!äö­ï¨VUÌQÚÎ#Ûeo&Ó CŒŒ§¨l/`+cCóH-” §(!eÊ€b{×rðÜ00Ê"µ©0ÝÚÓ=Ýý´lí˜ã/ íœecù–´Ò”ÚFŠÒèô6à7¼‰Þ/•cðr4džþ~Ùk‹ ý ê#mS²Æðh Œ´ö–)Þv#ØŽK!ŠåwF’v¯´My{Vò+rôEN#°/= öúaÝXÓL™¨Òí@%©Ùz„8Nh~±ú…÷0Ìm\mÿîçüÞ“hævÌâF¿Ù]#ˆÀ~H1nšg‘¢kÆÕª’±ú¹[ñtËÕ똫m6iYèÛ™óúG¶=¼Å™!´ÿ^e4³³"}¸eP )*³Üep çŽo ö®ýó„vN7¸L—Wujäú–þ®êÎY>>yÃ/bõ°“ËV3:lJÌuqœ$&h_~–ˆöÑnÜ⤺õõöµ–„Í›‹0ñÝ׿UîpcZ´»òi¢íö^žžJb'$§j\9³fæx€*¥ÁÐó[¨»¶ÏtØêñ| ykÉ˵¿ó®@~$öŒõVzähç/ÇŽñ—Ÿ`è;ÁóÇ Ú Y ÜÆvåSîÝz±›×}}ÐV!üdÖ¡¯Þ‘ò¥n‰äy&Çé‚¥/*=ÚLD”´ÔPV N!¡>Ðapm§‘‘Æ—u-X†še ·q/ ðºÈ• —€UŽ8¨sæ½$;ïÅòÆP¿Ž mÙÍ ˆ`Ñá¸AM”±+LFDê(–ÆOÚÚ×f/}èÿ}v¦è 'eKn.BµâÔz²Ž‚ òÛüf3Uæ»,ÀùD´Q~thìèQì,U0¹g{?ß8»ƒÂ( ˜{—l#¾/çþædÄäo@®.y‡x+ƒu9h<’éImM¬ÒOçy¶V´;®KRb,¢ŠMwüÎÉuk橆r)fÑ‚bO)SÚ6òð2ÅæÝNánoÔŽ„=ºM+7ÿé)øSå c¿·³üèlÀý=·Û©ñ¬“]vb“f£I=¤9?\ô”¡û<ˆªC¹£é_ÒÒèBÿUzùrÑ ªÁÑJ« ¹`#DÌ'ßòbÐÔ&Væ®ÇhùÿˆiŒî á⥕›¢e™¥t¨‰Ìy £ÉŹ‚úÊZð• pnwê§=çÔäΠVd®þ³­ß2ûMxÄë¡BÇé±âõJ% ‰R†ê6¶ݼëó”@ ÌÞêÊJqµŸÌbòü…êCÓ»5›¹âÇ0CFQ{‹™ŸJEÓÛ]È­'='-cäÜ8ÏPØ“ê ÚàËÈ3|QíÚÀp EÜ>(ü ù,èð:º nìÏI §7ôe ”`†2¯%ØžêšûÒ;åç˦;oäù¶Ÿüë¿(¸°‹€ :«Sê³2ãDžåÉA›„²„éGÎ-y°›GüXqZÚqÜKPÁxŠS‚Õr¡DX!÷©ôÂâN]*(ÒïìñeÕzÖ4;ù6öŸ½æ$º›š°Õ&/CoI³Óâf­|‰ A÷j\¶m–ó$gqí¼k;Q‡w'´Æ€p÷¾Ä^$gJ 1_jÝ¡¯d¡?°Ô·lÀãÿV³"ƒÇw˜;ëbeê¾fmØ3Âîßeƒð:@3²e#¤MÞ|P[o…¿•[ú¸šžÆvÑæÈÇ2>­‘QÄ{Ÿ?˜ózõ†Í‡‡fI&ø&ú?ªµ´-/ab~ R…¬¡M½ÈT'[¡cE¯?R}sßÚcÏ‹@¹ Öøå^TÒ¢Ö…:ÔÀb²ÕY?x¶Ñ8žÛñ§Ww†À¼#ÿ‡„'{ŧ žFþ‹äª º5º˜ph¦+—(lc´®;$ÈÎ'ô€­5“KÖUU³Õ…֞ij7o^±±Å¶³hg?ÛÓH0CÇÁì÷Ì9ŒÖ ¯Œ s?0§JáQïÊä!¬×ðEÛ¥þ°¶£(t7x¸šq+÷Æ‘}~k½q%øÜ»Wwq*áOâi̲s•I¾óD;þc¬¢ Ó 0ðò[l錧‚ú}ØùCð^Š33ÎZpÏ3ޱˆüA!ëR¿âWíÕ‘í4V1è¬ÿÓILOáÝ»±›pª6Ëÿ={à?O™M-Ïï2$NfNó+ªR¸æ/(šnXˆxâÞG¶[¤fñ9Lp”œþ¹§êEÂ~‚¦w±ƒÒyrg·2ˆeä2ü> Ç,]"sÕüd9Þí×l«ùržÚT›,áÂAC)£åΤEïžÍ9Ó[.~ 4UâV“Ü3ŸU(Ä ·ÕÎGÊIX²SpžKëÜx=vu œ#f(µ×Š˜F¨åš6òoÒ¶k¢è9K±Àºéq‚îWúÃWp§è‰1O#Á:*¶ |2>1ƒ´ËÕEI¨:ŽP{ÂtÝh”OÈŽ@§&'¶úÉÉOæ¿5‚C8ͧñ1x¡„àE[qBs†Ž´k<õ$ªœÑ: ‚MÉŽÞ²Î?üy”d¹ì¦#=4 ø\Š…6žî‰ä¹1jëÏ&:zÃVŠ”¾ð,2„ôüÀªë ³±Yt÷€™!ª?O¿?˜µÆp»:ü|kr(ÅzE?<Àj•¡ú ìM8XŠ;ï×®² ‰Ã/çïkº¾˜PÉ€ow~ ÑÄxå±–ñz×[v»”fkÃ禲¿„IÖ'åí)v¿ÚqvdG¸w=ªAÞŒrü¦S–Nõ³;iñÐx¼üAÅ”†‹PêcÛYz•(_o 9”†§ê{4u+yfd!ƒ =—RÕú«'ŸôÛbÏÑà± íYúc±/¯¬3r±~]f)« 7NùT{ßΗñÊ_àñ›~vNrÊás‹Ã3®Ý ›Nàæî?YNrI3ë¦{”^ÍàyñhŒrjvžq;^v(QmÉa1ž|ªa ºÙ€ÊÏxŽ©¾ŽRøWëtõ]÷d º 3s£D›šý¿3.Û9‰hx#$-[@=‘1… è˜øÁ/³™ÐEoÔ'ÊkœR@) ¸îC@-­)Ôydå{yÞ‹=”ÂKü½Áó¶¥6T´+'¬ð©_Y/&Vñ­ï #êy¼» €¥\Ï®ub©ÎNº.ê4OMê¡®µ´=yb!L¿ƒ¡kcL›6…Æ\ÊA%€7nÇÖ¥vS %nìkà‹’éŒ^¶„ÛŒ`æUE¥¬ìÓs;æ½ÛLüwˆ•ì“°¥ÝFùUÚiÝ-"W(T4 Ål‰1£-ÐÙ:Bá'ûK•}Î<R¥µ¯À"TñÏš»³‡æCÞ'·ßdé~¼< B߯=—uÆ¥bN4 à †ËÀ*sCþ®‹~iÐUÈScÊd4íÛëÙF6pë®ðÝ(ŽÁr§Üï¶°œŸ“Wêè,þ˜w`Qé¦?†ƒ™VP ÈÞ­–Ýß#n»H–RôdÑŠ&ÒÜ…q‹Õ‹ ¯Èãfi2(TÓÄ\¼"ŠRzé!8ó¯$ø¿µ5E37Çr$‘IÖËcdÀÁì ÒïÁƒÁý@EznÁ0ïÀ'Ù´m<¹FŽ8ڃέ+’8 í@¥ä{¼¡ëWÂÏ›ßùSÙB‡ã†òFmÁX÷ðz1¥·?7•…h¹â¿År-¾YHs†¶|ô ¼„ V¥ä±u„> Sëkj‚—-T~âº=ËÐÃlþ]æU™C[¥6uªÒ>5=À”2$óEòföBÎêîùÒöÀˆë݃H5üË2¯bÞgáýxšµ!¯RîmÚåÚPdœ¿¨¢0˜UŽ[x>kñ¼%ÿªŽáä7Fà4dE˜>h#ïéÉS«k¥ Fœ˜êâ·ÙΤÀLLèì]tª‡\¿bF'Ô;7«íð =rf‡£IQ"ü÷G:"ŸÑ·éyÜn•?Fœ`œÐmzŒh 9éPšapPÇí¹çI¸Šd_Ð:ùnÑ¿LQv½¼-¾XV#r1ú.Úø¨»ø*‡Ø¯/Ä$¥âjþ¢îÛÄð†ûF”üâ é²F8THš%;iýqd@Y]>ß$Ûª<¨jœDÒÜíË_É«[ýÇ=A÷¨ü©áx÷M´Q6ÈFxõÈTšÀòž³È”rbïÿu(·Ã–¾ M©c²¦¹á©ËÏG÷#¸}»ÖQõÁš[ÔŒÚT/o-(ÜÒF]¦ µÈΑr䌴(­ÕòÐð‰Q5 \Æ ¯ÚôƾPÚ¸OñTÍoà‰ßRrRw†Þ¸DYÁø<ê J×p EØi,v!¦ø÷¸c‰~ý›r›?®™né ]{ÉûOì½F÷Ó’G½~ä¬ÝØOP~eP`T9‹ÛAƒu‹õ:v^ ÇZ ž>Ž9TÐ0{ÕlTå¶rÿ§h¤.=¨$UœgïkŽ:ßxZù\AÍà–´ ôn`.kuÓ@¤Ùµ¸3ÿfð†¦ŸÂs¸ÒÍÛÿ¢uJa•êBÈëôüD¼Žò½dê3ô¹‰«Úñ–õ§±ÈÞ™€áÀ<†‰gSÊ@CnóÑTI—°Ç ó›ÓÌrnæzöüsË©_?\©bs2³RÈý6RÈ ò;|¹QehióÁL¦×Føœò$óïfµ¾+†*²ibÎÕE²j±îH¨æàsyÈ ©‰líkÌê Ó” mÚ ƒ¹ƒîsuÌLý°\ª1âƒ0õŸîrWúç¦%„ï4ÌãnüWy¸ùì®ϵœT2@«)Aüïß2È Ú)ðÑG¼ž}¢ˆó{#”¯¬_§¦ f=Þ&ÝÈ4§Z¼H qWGÁÉò÷¦éÒrïy÷Ò„î߯hâ›+Úßìç+|]Ì(Ç唺}ºiúI-®i(sÎbW¯öü, ^¶(¤þX˜¨-zAÕe·à•aÖƒÛCg‡vF&ˆȞ£¶G{ã .¬Ä»^ÉÉ\¬¼U«gθ\„å챑õyýß×'“¬ÌûÄeLn 2jÏ{z†VÜÿEö÷ýzXLq‚z¶ë÷ŽwŒWÐôðÊý\âGÉ${Ì"ðxæ2%úâïIÞ`öž˜úeâºQS4bFýþ’–I«k¡B¥:v„èapü/üÖÐCì®Å¶_^£æK—¹E…oÓšÚ8 ‘4xæäÇÇ?1á:ø&‚%pU( :s•&@N¢„uð.jfju¼³¥Tˆ¨Žýò×ë@³›içˆþŠiaÙ£•¢O²FÄ)&XQ´R ›Q¯Ž§áŠÝ&žùS[ìCvšLýýŠOÉôQ}ˆ—yÙ¿5e!É:“›7#õD™Ò^èNqbÕã,—žI.>)ÿ&žcäLAâ”ê;°§ŠWxû1ÿÍ·v°.¦¬s´«‡¶œ¤Ëy7ŒyÞS…^Ãn)9§”d¨ª–SÆ ÓeŠÇ–ð»ÙþÃúÔC€&/­þÍ=o Yx{ùˆïE?îÅgÁ(¾š óÄGeÕ“±U’ƒL*24æ†êF{;­èAÂ\'‹¦9aâÚÒõYĬtm„í'ÒH½LÖsçƒö¤”Ñ%•­·Ž¡Ulš9½™A/7ò[ËUÝ„t¦Š~ãIØSAnù6°AF˜.ïÍh3 kbÄÊ "é¨5¬oÓ /©EL¬³(Þ`ˆ…P›÷ïÖåÑÇM‡êk€Úû&Ý„[íÚ7RtÃH EwªwPS]uç­Ñ…öcñ}ƒf6ë|âM}ûÐfûû5'‚Ñûó~…á$Œ, Ë’•5ŽÓ×rÆäu£Ø½ñR!A½m€Üšpü¾‰”ãæÜÕ1÷±Ÿ=á»â•r;.ÓüFk¡ ¦¼e åaÝ+·G¤Ú%4¡£ðñlžÉ§îâMÓ&Æý%ðÏ X’;5XnÜIæ…ª-¶»|éçŠ+f$fj’ÞõÚÊÉZ”-ôÛ[?~®qÞ"´¿ŽÍL8W çb×ð 0ä µSŠSƼ4š+h±LjÑ /HøR•§a a‰‡>ŸðèŒÚ](sÚ€ÍÊþÈQò,+:æCíÀ+ac„r—»P%Ù\?”¨×¢Tª×”Š*`AsxØ9úõtœ±Ë+ŠZc—qblAÂE‡5CN¸«ý,ÿÒúDwá²8ÂXެ5®ç= Ä}×í;ÛÈ&Ínåe«rÁÛ‘­úÒ¢§•éœaÖßRŠ /Ì?Cü0È€Öu«—?M'³SäÙF˜`Þº. IT®6œ‹ÉZ#ëÇ…z@ µn_E£É·®'å9`ŸpØ®[}Ž| ¤ŒÂ£ƒáU²ô¨¶Gñ²r¢>jDžô0õ¨R`÷&+ïê‹J™R½Ì(ü—]ç¬"»Z$.ëï,– ³³Ó×cÁò,ƒ–öOC W0Ê —x&¹°ßov%‘‹˜Z’IUža×ô$ܤÅÉ{ÙvHiÏ]ÓÂ>/\!k­¢u”ä‹OœX^»˜It.‡‹†]«þú%xÜdj~óN\¾÷šö&ÑoW|¯Íšø *>.xf$=ÛÕöÄ f4Zšù)ýóR˜¾Ÿ¼\ìH…D"ÃÔ¦…‚ŸçS)›ìz8Î(ý¢o+‚Ä':I6®Äš€5 ”õrcØP$ãºÍæE•©7_FÊw\VÏBC熾>®2U2gûr‹S>E…›_˜™³5â0øº?–¢^çŠLò ŒºfíPÂܹ6Slë*ìb‹&?žÙi1Òm˜·’0ÊŒ Íþ¯A›TŸØ,¤iŸ3x;šìºOÿô•—5‹SÔ“4pêÎhMIMõ)ªÈü_òŽö×ã+èß`kÐmp,%o vÜêù{Ofyòå›öÿ@¼p±—qÞ< U½Ë÷·M qœÉ¯íŒÆV r:CÃ+Š©“GøNº ßMŠV}ð9«ˆbðÎj‘ÕdÕG«ÁœÊ; Ýí<”¼ùH5¾uU<ÕÁº‘™½47 c«³É'y{Ôuf™r„2þ½ÖöC½EPú¼:Lkò{~"¬ÿÎsÍ/GئÕ\iôõ¼MC±Ò‘žh‚E왜ÂÇw7Ùº»2™M“3\• ß©×{ÉÎŽ§«Ï쎔нƒ[[­‡'fº/ÙÎ÷Á÷m‹g1gÅ jÐÒüæ“*ÁÓÁY¶–ƒonà}qŸ‘TyÞãbZ’öútưãDÿ ¥Žâ–ߣDê°Š9NgßêêÑÛý¨fÇm˜:–%]2¦>7Y»g‡Þ­ñ½>‚Û$ÊD‹bæè¡,teÅ1Í®5¯Êaa03¶·à?@Òü“¨\¯õêF y„A›ä¾±ÃÒ­zœ-x‚˜“ˆHÞ«Šâ%E]•ì`ÙMæ°ªÒ ŸE(jdC;MÅNý3Âã~äR›ÒaãÅ£œl€®§~6ŸÅ¹Ú ’رˆÂý8EXÊaóG¿¢Qîªe1tÁ.ÝJ6¥×°¤­,à4„8?ø­Dˆæÿ­˜,¿“Õll£|¶©+i¤Ra)¢8Èù"Æz’(I¢ž@¤) V›S­´þž±žÈœDx¥ÍšZ¾šjþf–Õ@\ÎÃ@P>Ð_F¯kf´8Ü™ýç}Îõ¾¸»Ã©XGãŠ3ü˜¿@J<(@ü˜ã+=<—áìÝS=æ!S-j&ëWò&{µøÜPÂχãÕT:⫇U_ÕÖLu®ÅœQuºX‘¡™õjú‹2avý°TµE¶9ÃOÇVîÆE®T¦J#Ûn5Ηo>—2kb1¸£ïðô¯(IV›$ DÍ+³!û‡7ÖV7Z@* ª··Rhοï‘u@ V²ʼnˆ{Á.=cÅ´Ã1—(õ²ÏŸE Œ3ôÿ:ÚøËW_WTW=,#<7Ñ[x"»Eæ ï!uδ¨[ЉG5„'ÂE~pnä–ÑòçÕB´(Äɘ—Ø :žÏ] {Îuå…„ž{ê´zkQœWrÊßÄß"8\ƒœë9éá[g¥R3Îú4ÒVÚÈ7\Õrxñž­p8ðy{a¡M—Ç¡3R²a9N?¾ÏŠ9F¨ÔÕc8.êÙÖjBŸò»$¾Ò @ÅP;iD:ÝHIàóy±d´›Û‡{»r†Àm=‰[šI áR¸ÎîNh}AEÖƒl0¿0e$]á‚qCÑÚ»8nˆªn\d"Q?‘Éü§ËÑRM‘ÓKJ¼‘\·‡Yì]ìS¡(€åJFæW>¹ÄÀûúê!\ÞPõR=;a•¹Pp-=Á´3cÆ— _©‰Ç+ yTŠM¦ Î0&IhŒî;ÎvþI@x@$œŠ,U¢¶à¡mòú,oŒñÐU§J×ÞÖŸzXSke¢·Ë¬Zþ%nmÔ¾¥Øïy’ûïzàü\e妧‚Ïa`dCâ¬ø¢Ï#ØÒ#dp*lÊx¥Ö)LÊ¥(VÃÉ€·Ýº„ù¯£®•Góáû7AëÀ Ð`+[N¨B€ª¨º)7Í™•;am´5½õ)¸¸&Ñ=£9¶_»è(vó.¢ÿÎßÁ7šU–Gძj¿1ûüá ÞϤ†_Úm/q;Ä—=ûã80ØÚÔ_ï­Í’g¤ÙX? К}§çW®ñ·5V5ïZ™Wòa]šrMÔͲÓóêÜæÝÆfé󓱎£æ$"ã\“¿ÿ„ï|ãºUy-k5¹ÆJàþ7­ô–{úÄàg8YRÒƒÖ/ ž{8ŸöÀ?g)Š4ªÚ,<2+x©Œ†(NK‹þ{ÇŽ[MÉû_‚Ü»›>­jP³jfèÒd×¼ƒqqEc\yWµû˼/ʲ øò­•´'ÚœFH!Ð^²±P&k*ƒ•Õ®=ücî¡Çäô²Ly÷õ—ýÆaŠ&Ss0ÎÙmÚu~BÖY:!=ç‰ÖMeн>®“ÚX6òxßoê‡$YÏ<écäÿ U,ûãð€8õið.`.5 ui°`²Ë±‡UÞ}ó>õ´”‘¸¸¼Jc‡´Ä˲â3®ùíyœ³ìÉì•cžÆ½c²rélƒ_Ú%/äwæô‚¾ÌêÁ¬‚P—$Z)]€3¸šn’ØŒ@´YSæ³Îo`™þ¹ÒÂGéTìã0ª7UÃÝ`0‡´O9hx¤u½jæÞ!µ, ø‡Î“n/hÏ^Üîáïµá1C]W>AÐù©ÍÖ?<‡ôŽûýÉÇ+¾Q¥}²M'QX2åÁÇäMÔÏ4¶Fdáí¿{~lMJ±gË™1yÔÙäEÔà¦ÿ­qjZ/+0ÊÏÌbè€øI,o@Ó±6RÑ»¦ùà ¢ýÂâ_—:‡é¾\ÿ8†1Þ33Ü$”p”ÔXÝ$ç)pˆÅLXz»ÞY2h²%Ø6ÛÂxÊDó¹Tñ§ôž†¬ËM«ûÎ1º"ôWü&V©J ÿù9Q"oc®¿àEYç—(îØF?ñf8öj»¼ þÝpJ ¶]ûʈRWýKÒ…•´’ŠºÊÅÖ…B³šz»MY3¢¼?Úg«¸eº:#¨ÁæØlÿ 1av=Mx¸ÜFN•œl©™çÏÉte!ÓØ•7vW ö‚+OÄXÛqV ërý­—ã‰\f&;ìî? €ÊJ²> ÐÁz’"œ13¯à¨º’ZpHåžaDõ#’îʶ‹©¾ïV.´ 0¼*Fù™HÜB˜`õw±ûù^y-G?’xVdÞ¢ý”šà’WL,õn÷…ëÓÁU6ÒJ6™Bç‘9G5Aé!ï®Ã椖5 þ 3Uád}`ºWKâ:š¦ºZÙÉŸ>e®”¥À²}Þ¥"þ ÙgG!vX[‚‡K£§Ff•¼vÀ>Ù̹»s#Ì´N”wøœ1…›²|¥®™,óG„ç¦u£ßE‹ í EŒ •ç÷Cn8pÀoN­ÂQ°Ñ}àžVoŒ$÷áTª¶Ó M‡H2Þ&ôïàvÐs>åkîNŠ8Û5¬£É-@>ù)ô¾ñk×-“³Ufe¡\]Ïr78dçþÙ]©•(ÓdÐ:<¬·H›Z†YÉ]z •¿m3äiXO3üfº.O© Ë5ý†œVpw8~<eÌÑ´0vå'SFPNÓ!ÍÎqVô~¿8îƒâï×…?:bQÇÓ(™ø:ÆØa)(£ Nñs1˨žh—àºÂ•CÞ¸@ d”¼ÿ‰ýG^µüv_TÙ× —(‘ò²¼;¹ÓøÝøPàý'M•ˆ³ðÏw¢F=gð=];Àiû£ô4W(Ý[_‡Ç=³±ñç^ ‹!Ðþit€ïÝz9VqÅpyEƒW¸ÈèrjŽÂÙÀú§‚q NP$>–Íœà°Þú>W’ެ@s †šÁ4IsísÁ”ûzì×è½~€Ùˆ-Ê5ô~++eb¬“^L¨1r$ÙèÆLŵ',ûöºâ´!ŸD kßÞ“”Z勦F%Q¼:KlÆàÍr¹¬VI'ÜJ6±Ǻƒ#Œ¶øKP\htÁãaÞ;7rŸ™„øï1öãLH Åœ“b.CüQsèþ÷¾ŠH¡ú<ȳÿôŠÙ«?<åþužMý’ÉxÊ»÷H¸ö>t"WJ¿ƒF—N’캅¿ïÝZù}p’`~«~tèäØ N¸ÕͶV~h‚(žšÆ‘ï~Et†ÀqUkƒµ#AâÃq߇~-à:E$øîPJzÍSbû´7”oëÆ¿Ô2ºX‚Ù{ãOE¢»'$Vœ${@J?f§‚²ùS2+“¤Í40/™ûDñ\6Á{J¬tøÏà·½>f‚AªÁß»?©±Šþš¿Ë”{’ÝŸk%¥šþµ÷¿ˆV ð¼±9CNÃÓÿzTUçrkeb€ Þp’$$+GëŒP·EçÅ•J¹I²:]cg@²7¯ÐSÏu ߊ“7,`G¹´’Îî±;åH2ãÚ¿/bSWO$1L¾…‡“Çž4zÅ€ÌÍó2ʤh¤õ6ãxöajbkÃ|(Ò_•FÒJ‚ŒÎó  >N €Î‚ôQ·WT_dU›¶àj˜à7;©1NÐÂ[üh^äP>“˜v»ÌžCQëP ÍËWgÆó„a$YiPpì›Í⑬ú‚ʤQlž×¡Å&Œ…)<+½K{¹d¡´£<Šî„~ «!äs±õpø±WPN¢H™¦þz@O»ŠX(c]…Þc¤ñP ÃmNZ?.RŸ¥Ï}‰é8 ¹*QÄj É3ã¹ÝƒÙ wÒ™à¥Ù?e<%ºPµ¯ªô…mû)2DWo¢#¤&,Š¡äÖïã¸TUÂßË ?!?”¶¾Wì—;Á5ÓMœ3ׇ$á¿X0Ï •7›]Ã%à¹ÄX·‡úÁ»Âͧî+é»0NÊ#bHÜä –,(ü×Û†Ñåv®s¹4”RW&ž 4ŽxT, ~“ €­¬ñŽâ¤tñ_“]ÿ€»8¾Ê{ì±!–Œ3¡LT/U<³©¸]Â}Gؤ…ÆP[câÀ· º}̯Ü“”¤Ùf­ž¯‘é…mi@Ä»vƒ½Í »í!öfáç$†sc»ézÁŸÌÈvǰ*îÛã©]ìɰ¥È¸ò!šTÒ AÚVÜŒœél•­¼™©÷,ÀníbVl§\øYØ<¥7þf‰¹˜T£B¾-tžÌM&jxÞ]Ûuö!&ÍÒ`¶z ’â4}[UÁŠÃ"aÐr¤‘¦Ã˜~w¼âðïÐ7h•€“CFÏë³­ÉHwíÎ^Úæ “Y{\‹‹lfÞPllÒ#ƒŸ¶~`¾YØ=TÉè‚Ï[È1‹ ÔO’Ÿ®<×f.ƒ_zÀ|ŸÉßt öZ]l¿غ‡¿ËÄN¸1?E)ß"$Ì6Œ0 ×ï=ƒÌõ€¥ç±¤vuc¡¤8œØ'ÇèÄð0Ä5y¾¿wÀ?Ù#É–Ô¤ŒŒ)ò'!Ë¡é7VaŠù+5çÛ¦häy>'ÈYLÔššØ%Y%}µöÞÙ¦µÒ,ãoìN× O˜xù6˜ÐË¿1JFòŒó2·#7mqÔð縥—qFØÌ®CE8™†âÁNq.:&rã°“r¶Ü›¡ ÑÅåoïM%ušøí”¸ØÛ_Ú’Èh˜hBÓS•óó_¥ª°0Æé¸ ‚S4Ä/äR\õxk[ç¬ éxi¢ï]âàjù­oÀÛ©ÜËCNù}Kv‰yšèÒG¡e Ž ™º}ä·¡ÇÉHšwúဌVX€[“Ñ-NÂ'pðÉwÀ邇\-¸*ÖF‚>š^‘D á’šãiÐ6ø<ÕñK,5ÂÈÀþŠ÷Øžr”¡lîã}ÆÎ(ç¿9ñ<2®Œbûf Ã]® Ju ¸1{ü04L­Znª=ºÄ6àAX` —(,tçs}|ƒ«jšV¸GåÕ~[Z±dÀÈ :¬Ðæn†3ÿÈYRë=ŸU¹eèÔx¦Þó(_òUÉþ4ÔšÆfÝ.ÞvT'¸í>$sè!фϭGÜ8…HÆ›nTÕJ=äîU‰8еԛ[„¹±âð`²p”ÏËP§âPÓj»• œnª‡€ÈÆ4©ÕˆI°8•™Šçëw’"7d'Üï›6HJ BV†£¾&&}?NðC&¸‹ £¡*#£®)ŒfVM¼k…ˆøÀÓeÖtÀ%¾ú†?¯×¬x4¢ksiýµ7˜M-%‰øøú‹u!Ž¡5îΘOÄò¨Œ9„ÈV»| “ûC[V`e1­kHŒÐåÌÕ­íµCˆÙ±a.š WÁIä¯C½œ7K m-MCÓSÛÆ¥ùáe?ª®µå’BIÂjýÜNˆ‚v-š¹¨ZÏ~/¾ÎÒt²é€ #u{‘ ,ôvj\ÈXgµFŸp,¸l„t³£øŸÑà ÞOÓSþTï6>cêæœ2§ˆEz9Õˆ ±'¹ò&›éžw-òùšNdò»W¬6ÆÓyv¡±p ¶Û ¸8‘{cÚ*©g|÷.Wå:U .Çfĵ²“êƒÙ¸‹'™ºUé©)®Wô«üé{ŒOªY/YxHãוí›Æ¥|Ï¿In zߦ/¡v*bèºüAóÇ‘Cìêð\)ŠwMyþñc@4ê]µÚ$»Â»’¡.‡Kc¹›’ÊŽ±C6üeÚFzCÖ§sj¼G‰—ß0Õêü i€@‡Àè.-šcÊ%o[S çàCUN«µk+$°‡_Îì(N;‰N¤ìFXõ9¬m-’]w)§ÍÞ{s|QÉÓW/o³æÛö P| ³0ëûe|ð’|<@º¥'+`´D±›×ƒmÎ<3 e ›Ï>ÿÕÁÔUÝ–ÎÖÀ Ò˵kƒ6µŠ‘ÖÅ-ŸùYQELìÝ7ÊÔÍäšÙu†Ó0úÿ"ôÎgpŠáÏéåNÇTÅ)ÞË\ù7‚+3XNœY¨Cþ­îI0Z=_@èP6€p­fàéN»SïDØKÔ26ä?Ïš=–r6ðÃìYeßhÛ Te!$Iûy´ôTÀÿC€Ò¥Xv¨ >6^nF/ë÷ìËÚ#ªg²²Á!=‘)çT¯p0Ñ–œÿIZAÖÊ(kåÂ{ u±"ª±éÚ¿õr-´YýðŠ×RL]öÇP QP«Ø’å=‚\„ÖaYÂ0 ¬<â(ë¬p‘ —Æ.ý|B-®¼êoý ¯UÉä(ÒË”«è‘â¾¢–AÒ2Ål’Øù‹?jõ>Øçl…":-ωh\¥µ—/&™v]ýf›µÞîù‡òÏ®J™|M M’ê;?«=Š€>( ɵ\˜CƒäºTsL² ¢œIV‘; ‘(²´í>Z ìK8BrÕ_~XÙ›`Ê”ÄH‚•|“œëº‚>sö Ä;ˆ“fð)/ÌåhG9xâûÉ­³Šª×ö¯ÓñEˆJ¬d³îë€/®ü…ûwûü´-H?õ4„®¨ç 4×e&o)Ù(L€Y'5ZJ‰Þ7H îdN¥[ÀÔ§úÖûþÆ,Qrl­÷&ݸ÷cA«yíß#¸^t©ÌQàV»&¡¢ó IÁ]EVL‘,‚+‹?ÖCöhÙ•šZ¹ÝÜ|4vÄÞ$_9îˆng|èª {œõySë¶ÿ;è#‘`Ý¥&õ÷ÑÓÅ@ ¢sWUÂó+ur™ŸyÆ+Ë­©ÑqS©~%KÞ×ëúÅR#2Äöwe»‡¿†të÷ÕB+­ ‚ËÓÞƒN³ Ìû°]1ëe^eÜîO0\²deþ!b™º/7OèD©Ñ5çTe ÷ósÛ†¹Í"Hm©u¥³óp™ä&¤»äk4ÚküG_ò}‘%ê’^@F¤ÿGfQ˻Ȯ´\ß6À0Bïš„ç$¡¥Æ| Hsœ“§ r¼²—àŤךڡn'µŸ‘h¥k¶ùŠ!2ô"‹•w YèÒu;º‚3ËúîclÂ*2MùdOÌÎ8'Ò¬©‘I‘« ‚ÂO?ù-5ôpÀžSBe¾,¯øFeâöëÜA`EÔ&§÷é»F›õÇŒØ,ï=@êÏ™ÐÔ± §žqj u2~+ʬR7OW‘$ªVX²>qZ€Õj”/ÅéÝÝþêe ¿¶îˆÈg»; x90Z>´˜–¡ç½ñ-K™?|)®á“=zHÏì}€Km?ã`ØÉãÛ©5/dpP.š±ëÎ_å{±Ë:h½EÏÊËV÷ ôÔ {ÕXB|²î÷o}‹ÜßìX´ŽELŸè”Èž³ Ü€bPüŠ# í¦i"g±}'*Š¡8y¸oæÝŸŸúåi PÁ©ºÿÔVÊ"on¬ÁH¾¯ÏOä¡~b›è«8r«3¡›\öÅjÖbùaWôwœó]oBhðõ2®…ƒþ0nOªxìæÑÖÔx ´§-kb{ævø~wû‰·8' ÓœN^êN"œö³|úØ@T%Áê:›Xoá•eQŠ…™fZì´j\©;CmW(òެfjé0å€<$$ç¿)2z.~¥TjH¿ùÙC¼óë†=û[®ðÛ g´üqò à ÃýC.¡{µa9¼£ ìIÁÆ£ÑkD9ž3¦]EKû=⢧ÈŽÉ]°®-äÛ“^ƈÑêø¨‰ÆðlHKò°v{S%Û›yŽWìoÐÄÇíW”á¿€*€ÿO™ œBƒÉÇ”¨’sò’'àÕYìÍö€år§œAã‹ËÇŸ‘¬¬µX¼m^›ªžÂäL„ÊâËèŽjz>H»íJòŽžäŽÞ }¹Ã£mÜà¢Úo¢êçI 0@ò"~fTµÒøètî°ÃÞº¾àÃ0é+:ömÂ]p׎l9B;GEÀ$’ÄÜøXþ£—ÛÃÍ¢4áØ¾q”;6¢9&.©iüyW0¢i©'Íp‰$탾F<[ŠK¼%Ï\ã¢õÙà,h3ˆœÖÚ~Àâ¯!’V4@khV=G«%;`ðY·K;34¬KÐöô×â>Wm ÈfÏü‰v]ª3 bPb{8Øw<›QÓ+9]íÏŠ²Ó Lç']XD€ÿNÊ‚*ÏFsWüD ]zy—¨)¸ ¶¸4 “f_@á2 ö˜ÁþéØÕS3°ÈÓ«—óÌ$Ó`ì8ïíc++Î*ÝwAcšö岄D€Å#?[iD‹÷×¼2ž<ÿ±Oy‹‹KQlÞåðBj¢qòÿjLK'a}äñA/õÆs^í?;&™ø·²,®ÜØ0à UšÙÍ`Í%ñÍÊæŽ`´ArÍ"ºÙ’uàX¦ä'œ†ÝÁôUzˆñ´uÙgÙßæì ÀðžšpØ·Å„žüv‚‡âÁò¨¥àvd×ìöQ`eÎmpéa$)§lü®˜…vhΙ_<[ã¬sl·ÖQ§F‚ä/2ʯ]åÍ}µÆÁAëÅ"}ÿWã´Ü²rCæ³+ )á¸sxè"î ÍJ «ãT;Ôò\Šo VFÌÕÁ±ÁCà”V³>²9eíëvÑ¢õ-‘$¼#Ê!tEØÀ;Íf þ·Òc* «E™Ø#Y–«‘#×’ÑÝ/²¬f&{w¶ ÷ã3Ù)‰o†°#m—ܬó=Î66£\t›ŒcaòÈÊÍs Àæß„—N‚ßÌõòf!”NÎ)`"JGGÀdÍE?CÖÿÌÝ3j.”ZìÅøäZU!„ç ù¡&Ì´N_ý(·ó]HÊá\v¬SÚ&òÓÞÙþ¸¿•:…F¯b©¸tŸA÷kÜYwÚy•qúwí•Á±õ„ü G Ü>5Ù|âݳçŸn¢ˆûÔ:í+œ1•ú8°¸¾Ûøk|©œŠ·:Sþ1ެ¦~ɬõA.ž:/÷½Àÿfð£ ÅOz´ZÅ…Æ€ªëzÕ2­™œÇ ÁTY!›‚Ä»;ßÊËãþ––RÅ»,£ J¦o¯ z%F'«J¨Ýï»ñá\ïÒ'£¶§ð*tѤ÷ºªöfçaЗ%ŒhÀجžwÂß ¼ÉäÿüÆoÊÑìÒ0•ÊÈ\‡ÝÚ#$qS™Ùýê|»–ç Ë犓/!Ù£¤sÕÂò‹MÅŠuÒÚI³ñ0éÔþ…‡‡‡%Òó±gÄé)uQB}Ë[ðõ®”–*Û'IµD!ºHü˜6M½|HZ]™¬|¥y ÔSÔk³‰¦„ ß× f×&6¢[Ö©§póJœÒåWséã>A:€­"¸O±ÀâbH'ß W -0ã#²£½%ú8ݬùE±Ï‚ 'é÷Øö@ú¹”;ÚTð 3b ÓiHÒøõ­WæNYULVÉ@S \€c+ Þº–õµ4ƾ³ŽT*‰"§;Ñç Z„¥½Øñˆy»š³CAt#ãáù«Š–ãã(“î‚ÂX\è ¾dÇ;xlu“‰ÛàûæàR­4-/~„Ô»¸ pCËÛžàTœÙÃG9tl’Ò.j²Ê‹Ù^·‚ù†§ÒâTs>ÛÃ|ÉEÌg|b€4±Ü¥ìÛ“qg—vN¼ÔèŽ [ª ­[Íh$³WÀÒ=¡:ÔçY»Ñ"b:µ‰Î ³2ܼZšeøÔ×@ßOŒZ2jÑ;Å-5±ÂéžôeHj¨Lw¤‹Ú!Pùp'©o“­’Ó§+­<Ÿß§é†úXdæÇüK*ëÇl¬:Y™%PQ¦š7ÿöŸúƷƯøÐò‹1BÒŸÄÄ«ÊÄá> nª ‹ÈxV ŸÕ¸BÖ©:p5–b%ˆô3ðê¼I¦ñ_½ØÒŠ»ãø£©4€éÏ.A!X'¢gŠ:Ç’0ÌžÆ?Šü’ø™–.Éšø¹Á£"“ÛÌü’rÔ0—!Ø$È壌Í[û*Ï÷jR–;=¿ñÇí<\I}€ ¿ÜážžìÇÚ¯˜m–¼üÓLG0„O]¢1rW6Û.jó”ß"ÞòŠØX1ÿm0“òŽ- x´^pϘ-ƒãî&ƒšsþošNÄbþ‚ÕV?ô!ª¦ÙÙe¬ÅÍ€¸‰1ÿõ6¬k# š/ÇVÁ¿;åá”ïƒIò<ªm#Hý¯î°sR»»æ(XJdÙ ðbõšo’;îyF&‹ñr°‰O¤¼¢ðˆ£ŸŽHª)Ÿ™õÏ`Üip÷1ßÛOTÍ<Ë/©’;V0Ê×Þ@"F÷ÚÀÙe÷Æ?Ǻ«ëyT‡_è&"á„Æyy½¤Pw‚OôUÌp˜ûÖì«û¯JkåšÝþò-jKX¿sâ=ù–)ÿ£!Õ€šÈ¹2)>Ù‹·Ž,¥Ykçhp›À&‹ê±¡…F©ö|ç9v•ƒ¾õòobW¡RE’à É­ÚA§ûr—4ùØ–ì£ÏUGiÄ=X™DA)Ga«6ê_¹Z²ý \ I>ìž0¯ôH8(X?Nùs8l±-»sÌY-ÒrBÌ´#â—1±ª s‡ÌkÂÒúJÔ:>= Ôñ4L¹þQlšYðšÀg½UT:äcÂFø”[ÎOïíÄ$rYÜùÿ%â¼^ñÇcqz_]%ÂÁÂMï‡51¨¡û´p†<é #¯LÀÊöI®Hd¸òRÜ^!ƒ‹‚бþ”²Ó:Š‚·™;fId¨V+–jf¬6%f„MÕ ¥^w™ÃÅŸÔ4\Ñ®ÌNd>?¾º•*·Ïâù¢§«vc¼±d4utÛ#,W[kùë+ü.;sl=š†dI·ö‘ô¥#<à3müÿ_ôcâ™|aùIãE–§K/¹R¹öóã¾P¾šUʘÒÐ"/9%lV”mî│¹Qÿ­õç™%?"ð½3ëéo"SùT³ìAabj'1wd¸EåâßXjvZÒ¸Oœ0áYèX¬8Æ>rðÓfT[êƒÌ°¶0'-7à“¡qeÍjV¹óöƒµ…f¬skÞÔ6 ¬SÊBDÑ.±&ÝJ_‹4qç"Š 6,DÎá§É›œÌîž ObS%±Ä:òd³Ü6¾ªÍŠ\1Eªü»Žû.%L\Ö¹}ðýÒ  \G.©kê)6ŠÀx=ÕlNàu¾Vlî Ý·3yßⲨ‡KeµéáNiv:‘[‡öb¬rpÊû¹[X¼è4†‘·Ý¯G»WW™§O/æcïî±7@#N*Ï–€¸”¦ƒ#g‘“§|6'îuívÍxó»:ÎùV°¥{L[;îW›æAéÉÔœî2u—›óÈÒûÊÇ×6–}IºëL)eîÇ3ï‹‹½Þ­³t€eŸ•Ú¡©v9Œï,6r„úY” ‰„j«JSèÑ"Û8lô\ZÉŸk??àùó+7„Û—oA0éÛ›Gè ò™H KM3ˆ¯\L³uØJøá:hÆ¢®ÿg&uã7–µÆ,Y¨J©¦ÅÞx|xf Ð#©áRuÂI³Oï"öX¢˜’–Ò*¿DÔ‡ÅôÌhñ¥£® ?pþoû4[ІzËØIC"pÆØÌáÊhô)Ú3Ë{iþ¤äÂÞP³ê’¼l„i?ƒ¸§pñ ú|n9•˜8°]u£·;c#*ÌdJ ¡È ×Açà¥ô šÚ3Øìæ¬wÒ~Só3bpqÓé é´n@«V²ì_‘³†‰sö™â.ú,gân`)JI‹m›j'<=9Ÿb­¶Çf‚ Õ¢SמÒ$;˜›ËÂÖq…÷6Jk‹I…¡õd®†Èw³¿€áž˜^ÊIt–8¢•2C¶¶[>ѺÚ®uÜS"¨}y#6©ˆòéc‡¨ãÖ9XwÏp¶ò…á÷˜—½ÀîØdÛÃëmýÒ²>ûº³ù~ýå/˧Šj¯–Iù“àm_èJFXTEPD_Râ.ú œÿ‚Æ¥§Ï`úñ “w“p¢¿âÉä¹Ï*~º!~¿‰6Ï4XÇ}jž,¦þÈ®h4ñÙÕë+}/Ri«š¿?–Ž—øsèà…àUEŠØt)`&ÝL®cà€æ*I ‹–4l×(‹ÐmX ™Cïˆî…ÐýQ¬'DpöO·‰ ÒÈ*Ø¢6‹V•õ¡½·mÛƒ‹¢  ˜×ÚõjòÿA©ŸÌ­¿aÛÎ^Éô H5#!l+"YhÀñGÛ¯x›!¯jY$ë)YJ„Œø"¼ PWy¥\ØZ°žå­$ʲÉáWI;Ù={Dõ_îp2Ô,0LJýDPIs,Ìpî²¥Û!ýIjÈÓ¢¾¼´a£„PTﮈ>qo›Ÿ¡ª!¥PoG‹¥#m0!ŠêËSZö/84Fôã§ð1z]Ó â'œ¯À"‘A¿³™ÈJ˜ÿœÛ )wk¸Eè@Ð&ókp€LWµNœ*?Ä4 ´éâsþwÀ ý 9°p( $9íQEþ;7‘/ ¡Sx¢ã¢ "·Áåå›Á{™Áh}=¨2âÑí’£Ál«vù#?â]bqJö)Û(Þ“‚’“êÃD }ºy.ÒÏ®¾y†yD% «'ñG\"F…Ó7†U¤ìºÎ«¦úç{ŒYÞÆðñh2P}Äš«lÃð_û`•Vó˜oµójÏÑøÄpBÓ\ù)L†]#Ï êS€,§º©:ÐŒlì‘ú¦ì7Sú[ºÌÐvuí²íåê~ð$W €ªŒÏ†™ÅUÏ @«&âØÜ°?Ýw¥RÕ–”bðò×$j{Ûk’²ªY~Oh]z‚z/ƒfÕ|ûÇN âÝ©$j-Y:aCÓºš…U€pYΚpùX½¾ išŽDP0µ ½Íá4Uìþ⡎ #ÖŸôþ‹ŒêØär4£MãÕ›Z Á%Íøÿ,ÁSG7e*"a𯲯¶%ŠÒZâe/¯š…®éCkë¥/è<Âü`WÞ– S¶w¤ Ë} »ÿ6XsÜG>ðþnŸ^j›ëï蘿³ñ«8¶s&õœô‰âW0*uÅ~óýì$vÑvJ2R¸ô]©oÈ{RðÎÐçe7Ì[sO3 é\‚«¡¨tÓÀš­H¡ð„ô²RoüŽ^z™²þÕH%“;jé?†¸¡’Ãu—PÎs&ããªe9A-pGd0‹sls M@!ΰÁªoäT®óâ]}x%GƒøÍÕ„ÿáÐó½®c–ã}(úÈ>÷nÀr\@iÉE»PC·¸müÛnÙµä„{Í„3Žm·ðÄIº[%÷¦P[ù(8‡tµÎÜd1BMp¯¸Cü¹±Kw<`s|goz-†&ÿùŠ.= p·@/9Ü;{há„ýÖ'FЃ7xîŽMø E'ÆŠj)¢òëHY'»†[`æ–¶¢Tz ›¥ª§]„~YvÑÉë§V~FeiD Ë^â­ZÏb/éÃкè~R™-gû> ¼"" cŸ±E_»â jaÜ1ðÓ«å_4o.WÒcÛ…Dp.Ÿã’y߸…¤ h¹º>´äBŸ{Š Ð1‚÷‹Px/Tˆöó"«­œˆo§!"ãÏ&éò©bx÷{×ir BJê3ÐÔé¸?äxø 'ã!Ó™€bFW¤Ü½¤Ô#A(_‰:Ø-?¨=³–0¯ƒ*ô4õ¯ëÀo¢Ô[ôçÏUæþÀÚeô~‰üÍ•Óäç€c ¡ZÞs(` åîU4Ò/ é]æ»4¯×úªu« öæ½nÄ U ŒgIÂIÍŽgÐ,µ‘Ö7í}zlèûUï0Ý>;_{Õn«…xvNwM·åÉΨ88ø‡Lhü…Õïï¢PK¿'‰&’BC¿}©®qaù¡„YÌË=q岫\VòO Y óžN«uX:Ô$drs3Je-z¬’ꊃ ÿ¯$@>ÁK}öí¨8zÉ‘cnáäaÝ’*Ú‘ÚÈ\“9ÝP}4Fy¨3›Ú$L‚xG69aRí¹â—ù´ù¼Íx¯a 6T…i ¡­!kÑÌr¦t.¡–ËY~m-)Q¥žpH9N=·V¦× >‘ "Jåî`<Ùúy8~•KH¸Dçžq@­ ù?>Óàò' ëb<È„¹æ}¸Œä%„Ï®Ô,މ›³«ÜC‘åžv¢¼°mí€~ËUÚÕ‡(Ç1æ´¨«x@¼–˜ìq½d³§ÌÁÖÀ¡;9ìŽÃc|Š#¯«ŸôdMsB ˆ·Þ0©f˜ü]:W—á!caµ¤U™g¼kh²9øOóTC‚`YžGyˆè:‰ïé1w޵[àÌÄ“„ÌUᦩCÓ‚&£#½ÚR¨¥O%nÈë÷ðö‚>ƒ:{3åJ^„…`ëæÊ'Óz'-Y¸‹!Èw8%B„á‘ÅØ£ Ï”÷aó¾¿ÌãM¡Ÿƒˆ¡1j§»/Á†B>ƒ`Î)¨íy;ö¶ ¨ë«VRo )ÕÍÍa{;ë²¾À"þm©Þ> Æš¨è¼phÒÀ»Ux¿Ù—A «\e¨àŠ„t²&ÊÐw7ǦÆlji„1£Ÿ£¤òöÂ8¤„=®3˜i*ßož€õ¯èn¿¢È8G|ßaÎ…¶Š¬`Y;öS½‰O‡*ÉôKo’7(Tn6 ÀàØ¹ªyæÙ˜@aÛ1£ªEg`™“»™KÃÛµ+»sþtÓoõ›aCµ5–À㡹§n=ÖEl•}ø‚ûb =i)£)ùȆrÂ夯²›7ù•ÖO*`† ’€&Yÿ&r†YøÜ®â$½mÛU„±¡-–ä;‡K );G Ò¼ÈÈ—€Ð_ÚHíÀ¢4#)zÚd¥ñ`g i1IäU~@Ûœ‘ÏÜ UÚŸ°O¸'ou–$0ŽAé g;±·+Ý^ymùñ¯Vb[YK%­ñ³ù¥³m×}iò—É£? /—Kà”#ûµhàL”è™$d–9TÍ–ÎO$2€ Ùq0r*•Þ iüæ¬rž³ÓSª‰+×NÛÝnNûeîÅ;8¤L4}c G‚‡½?Aräó%úÜ1…ö&d¡èd[†‹¹/ µo‚Öèšµ½ÖM|zÿsÜü‡cù‡sM©›]C•ÿ‹ÞáΖf§üC ¶Fç%˜”ù<èaªk?´U ­8Áek÷eOnôWK…£Œ¸&´Aª®óĵ3ð–9Š&®‚.3èÀ{¸_-$/ØéXÏé‹]½¬J>Od#ãô)†T÷ý 6ÈÿLÇîTO¶§ýðuû<öÛcÊ>êÊÎˆŠšf}‰QÌÊlÉʇÒ.¿ìʉ&,-‰ZÊíåŃÕéþçb·¥­Çqët˜é1QT)íÅLËK«èØx5­ûœRƒ±AL®ßFziQl1­ûx7dw{'<«×fqüß!¢üi×Èè‹Þ.7É«u/#ì%«ŬΠÝ$ÂHÁk(ÍKngISÁ@‘«©$øF'6jÌÍÆ‰ö#ÕÕ'™‰ó.ÿ-'&ÂêVÓ b ŸØ‚ài¯a½¾-À7¢Ž¤žŽÐ‘cÏÔ2C<‹¤Íë¼]y·+×ïWûÌ¹ßÆ#v uNÄ <ÅT ºÕj›’À…ÉbÎi« ÀŽ´JúËxáÏ#»oØ…¯:…`~#‰ÒŸ%©x¼*×½t Ål„1ž"Ä+ðÃá!¼@^)Õ¡=ãDb œÙãËÈæUAºf¬J‘ èpÒD!”°U„Ÿ‘y«¨›?ö†¡/Û>©¸¿JMl¨f·|èá$Þþhý=ÉëknVnõ^ç‹wK¤k!)_ÿÿ8óû寉õ¶bÌ1áÌêábƒuû)K1ýZ]îE´^Ì&sFÝ'ë‘·2 °êܵ£íµÎÊÙâŽ0ÆfÍgÀεlA5P­)"õ@¦ˆÐzȆüŒÊ¿ù¨c1×sâ@kY8ü…•LëUĵ®,<5›ÅDX7˜_ãû‘Ðó2¾ Å#‘ŠþèÕbÞª‘K´Ë‡i)´Ò” ÉžIQÃ÷ ‘`QÏéLý(¬ÖtÇY ­…*ɤoÃãêd—9&zœž´híe? [êºÈËÅ_Ýõaz=Vz©³iñj‚‰”f/è̼Í'¥ç¢Ö"¦É ÚŸr{‡/¶%Á×;.Êxd"jB½«:Ü@ïœÓ~ª úèf‰8,-]îÃÛM:õáQlsmà½m,¯yìšaÌ€¤àÿcÆç¶©ÚÛê 8o] ç1‡‚ï4˫ވ5Þ{XÙ§ã]q~¦8œ7Añ÷…äQnü&©¶Ãm@»E:x‰A(÷·'¼žƒ³ÕP|¬ÑÂ:)F>~Ù(ÓÓŒöžBÛ¸^0y1ÞMLÀÏóÂÅ¡›t™€¢jJi_” 9Ô„òW*ŠL®˜=ýòH¨×$è0ORzƒ…5íZ:|ÚF1ÿýªŸ+ªíÛ§z Må“]ÈyëÄŽ’Üaaˆ\ìœé®Î8èr¡w3:ûÙ6PŧoT¡}hôLÂ1|3!‹ÏlÚÕg?Ï'…H@q¨e×̨<„Šoô&sÏ߸ ÊîMz!ÐÛžÏx2q¯‚Øqõ;2ZÂî"·ÂÝRV"—üɪ*¬jóA¤*Ë­ŒÙˆ-ZsþQ&Ç¿¹$ǘpˆ´ùã)Ç”ü¡¾ÙT?þFâÇ.Fò~d‚‘à”¤ ûÂѨ1‡䛀îô‹>Ítû@†ÚAZÔ4|*H‡)òáÅžÖÀ¦E9®¾–' ÷޽é P4Äß³ó¸Áà ž‹TÌ0ênì{¾¶»RYq¶èË\RžLÏY)4DÉ&Êó†¢}? Z†:®4Íøv†#è7_iØ4›b|b]¿Ëe±‹P%›û¹l<^¼éHk %)[„-å€áUuZ`"š'´°~œÝí÷¨×lâpÿ@0tVYaõ4ùò´W‘kJ4•˜½{ctËGš`İ40VÁpx tR‹Ù-Ò4¸*ÊÃ]wÊΧp±Áoq‡dcÞ˜ŠÂ¹h5¯Ò@¼…b Øê\¨»8Òƒìu Ü/N–>φ˜‚èW½0APíR§·°ÞšÏ¸± .Ót:ÍBw›âçTOCÁ"‚wv^p£¬>øÿB)ž¯Ò¸¤gm 6-÷Ü^¬-Ÿ¦„óDi>RžŸÚ]ÛH°bo x·ÄõɨWt[D „Q׌eü^›óvï÷ÛÉ+¡Å»nŽa«ÑYðºzµœµ…ìçPo´›ªxNS= æ™âåV¿’{G[Q:ô«\§"©ë¤ÝûKí!]BŸ¼»yN½´Åu¢d¶QŽÇÓÙ½`GUÈ2I=jDz= ÷Æ ²mcù“Â(d¢:ßZW’響B.¾÷g´ ·ÌÌå(’»¶ª~ÇOкÀÄ«^j )Å'ší͹×1MðGí–%þT¥†C)û×ÎökëÃý>yNÍB†ÆÀ]œ1B¢á“ßE½;ÕQÎT&^£(‘EBqhê±…ÿÈì5 A€…a¦]$²›oÿž±üÅûÐÁm,ÕPeío&î>ÅV{D*±¿1¬c¢Dþ#æ;-…,8vˆàkNþîP"x¤˜c7Ýô~;éûî·¿Ó×&zëñè÷´£±áþgàÊuÂÈ»0h5D{òSð|Žû±?qD,Î!ô1`¸s”ÅÅ•Á9N6¡'®Çöˆé„¾@ò*ù/RG¤¢ÉU©à»ÝÖ“ž¶àÅãý”ÁïÓÿ˧º‹>-¶Ìû=lKð7mû(I𠼓äù»)t­ ú¹¨SûÜ&ðQå”,ŠÇ HŰÈ`È'C$T=i芞W¯ÖÀ!íåäySÅú2uËÎöTÄÁ&?¸èã¬V1S“i´Uuã¤0ºžîš3C LP„[”£C/‹å Žî,èP›?ÐâfÈÞäíø}üè©Êü ßº^©‡Å:q`Å+ã º´ol_$èâ±*„hv÷u¹¨Ð¢sÿ¯Eyâìôv¾‰°¤Ö5ÔJ¾FöáTæ‡!>í¿ÊB)àÆvøü¯ä<E¿–ëmö=à•k:d‹³€2Êj³q§ÂªnU(Ë~§ÌáR%KøLÒú$ç"†t2BþãåÔ,~‡• å¡í7¸3qG`üÙÔŒcš?¡ÒÏ"ÑdϤQ¥zFÀ³(Tk!‰É¬d^*‡ƒ†VÎ„çæˆq*t– n²˜„mncËàwÍÑ6Jä_ê½·K¼ð6,õ÷ÄÞ²"c¿+‘2;õÓP{玔dÒŸ³Úe0–+mUÞTi´œ´”„ñr `!“ A_â> @ÄÚüM=Q9¤ ÈÏi|Ra=$píǰcgªk42¸‰{ù_Ô‰¶3†Že¿')×G:cQ{×»!4já§áD‚t¦;¥¹C³%N.”çt¹óû!#¼xÇû 5ö3`Ø{@Š…ðHµþP윹…i¶5°ë»&]莪Ôaöý¤^·‰Ö—¯>ÿ­%mðV_èÕu Ã1©C™ 4–ùäXl‹.Ö}ídË©ô°6{'Í«!é|û@éJ…³ö_Šr"Ž©pþÆY »¹ô)Õz{È=Þ"5·wú<®WE¶«ÿÞK¢«B1 :Òækv+Ï·;˜iðêw »YõðúÞ:¢éK‚6Ò²Þð£Î¹­cóX,jÑ\§èK7—ù„ǘžš˜Zxh¼ É"~U†èfÓ÷ÕìOºÚô§ ѤøàOC¶:Iä-®!–ên2”l^≎4¬*7ó¨wES€XØ}$b€|‰˜Iêö{Ãî·O¯.’aß…ömÞ‘ ¦™#VuÑ^îFó%š€4q!>? Ú“q!#‚&ÕÍ,y+@ÀŠ}øoz‹Éݑƽ¸ƒ$±©Ã^¬l¹”´ƒ ,ǘ¶¦T €fõbžÂCöµ;˜ ±f2z;ý2 ´uvû+£\¡ï5OäGªMÙ“{z¹¦Ó¥Bì½ü)-‘Ø+æ|oÈM¯%ñv+P˜.*þ¯Ð N'™ :~ºŸyD%‹ÿSÉ…ÒKìrƒ*sµ™þùËW‘78FÐ)¹®]eˆæÃ*X¹»'3©õ•YÂÒqà^ˆA€/9|bÁ&þ›ÈRiÀ›ô¶«ÅH@bˆË³Œ¹LuïoH{dùkÝ kƒèë31´ß•Å<²ùU“züäöº¯sœ~à×m»?“:­—#É› $£ dgÃɇù[­›$‡üý\R.¦.9¿VÜ«ý¤5 Ô§!ïu䘚Uo¤¡xìç|’ÞVË•<ÔÚ®-ôþ±`89ÚÅ‚5q¤£o®õâS/Î8IƒåÜ’J±e¢¥›˜qùb#7[º^–Ô5ù8kBá®_ œˆNŸ^M(}ˆØèDÝ£ÂtˆO«5÷Ýåò:ZR] ¢³ÿýƒ“ªÚ¢Í¤)?Ê»Šše`Š|µÍG›¦ÙËq šTÝó‘ûYV ”¿.Ò©õUI›Ãh)XMhÚ²D;¿$ÎÈN¨Òº™kIÕÏ´ø."êå:ce :¶>™=puö9VJ**wfqËf…‡Är€A 4®Äú»î³‡†OiTðþ¸Þ¾è²¹¹ý;Yi3¸@ƒ[KòqªË%Û§, WùŸb®azß•“rÔŸù@ÏT$´°ƒÒ€ÎPd%_Í]ò潓PçÊ€Hßf1NsåRÀ‹lUme#Êš ?ËùWÔL× [¹õ|¶|ꦃ¶]ŒýâŽnÞ»âd¼é=¬è³aWL¡`ä·[°!E–¿Ì7B5yûÈBÑ`F69õlÖ­0."°¸Yú‰ kIÆïè—ß”â%,T$Æ%žNå1€¼Ë¾ø©ŸqIYÿA pÍÒ<Øa!n`áV2] Ñç!m ø(]Ѹ‰³M’eê]î­Ídø ú/Úž@9`Ž §-iš‰†ûœs~ ¿cßœŽ ˆ–ÌÆ}S¦’ŒåíÆe@œ¼vi Å;…ç¡“½Pˆ"FϺ£þÂâr7lBîÖ ížÒ¦2aã]O+ຽyæAt–‡CöA¶sB¯ÄÛ¥»EÑ üÛ7l¯U-ÆuóòÇí[ÉÒ@‹™¨É’éƒøÙr£#ÁôIÈûÖtƈï‡;+âs‡wÞ6ï{­b¢Ö“ê,÷[߈ nFZn[ÃÅVxq™`ÁÕºq·ˆ|˜—0=®+¼¢Œ&WgðjÕç·ùËÁ›„¹-RcNeœUk[rÏŽl”WFOÁÊÅ­Mo„ÿe â…í‰kQÞýås;u…>Ä ïVÒxH—¤NÜ~5âUÆ@öCG“ û¿º#%.cúBÒ ÓÄÌçäO̸—ö´}íMÝÆ6¥ÚY®ùÏÐS¡áÓ·\Hl·ñmµÜ|††ÿZ¸¹ß²ã#^ü´ÿøÌbeÌê(<{ne[þ¼czÕgÁÖ­68EÕ2B4×n!iHñ#qÑíëJ9¸H@‡gV²)ª$›]¶Vˆßdh¤*©(B%Þaæ8G Ê1‘ËwÝÜò™èKˆfL "áùÐ Öýþ.‘@V7=ö“òo™#œíICÚMÓÔDÎTެTÈsà:d‡õ4vu&Þd{?¼f=oy˜ :–›xýâ Äß~íâooQªc;>KQI¶(Q‹º7Åo‘¼•Í­Aä†þlîtE±åÎØö¿ÉÈ®H»:ož@ÌUÖØW„=DdUs ëÉ™ÖXuhÜ-¿òŒ­AvgI²¹—›×.HåÊrrZkÿûgÚ£ZFsÝÖ(}.[ל™É…Yã¢Ü÷“ì(”IJø3\Tæ2}ˆ”W¹d4|w*}²g£ö‹‚HsbÌ,&ð±>î¸? ˆ:ŒÖò7ú¾–ó¸‰À`hÀû#wÌE…Â|‚ nÖ?ÝË uè?€lDAFþ­åăܹ¬:âKPiÉpJ*µ|‚—ïŒßÇ“n2L‘du ÆÛpa4úsmòù!|pÊþ2FJs6BÄp_ݼYð@ì“´Dä‹"ïNŽv@Zü£ÞýοmõßF³%±i¡ó÷5LcþA¹ÒÒÞZß0í<ß„¡`IWz%ojǘSéÉ}ø~s7ùÂÒ/رݧe¹8!èÌáUKbO`˜˜›²Cn¡ê^£4±ÃZ{jM±oéîì‰æš“/=rSÝ"Ûã ð÷}©R !Å¿v¨bí÷\G‚‚Ç:Ü®°¶ž½ ¨¤¨_=hŸÆ *œÝ_9Z5¢RR™­y&ãehÙ2ÃkÎÉ6#×óE=”“ù-Ï]‹µºTNA¶?24Z¶ºÛÊҀŠF–;bÍP ¥ª†D¦‰M9›ê¥CwÕyûG3ÓDKÑÃ.QK{%Ûú_UÄ_Yt[µC¿á<ˆˆô™ §q€ë‰$AŒ[öÍÌqE)Ä¡ùãðæúñŒcw´kLÞ¹" #Êôì@»Ä+½ø¶J°U LÁy¿oâ@—íÍÁÓÜí5G¢ÎdZ'µù²\9{x´‚àTð#T?#åÉä|V¶ÇO‡:XÌ‹«ž±«Åè2$Cu‡;L.Ò ‡#œ£røTôöü¢°•-Ì5!ãO÷=bPŽŒÃ&Ž|²>Óìžâ’àsðrÛùíØd;Qã’p*»_Bff[uómœÿkpwÉõ”7CðôyUϯðÒ:™ðÄΪs‰Š™‡r;PžóÃ)ËV³ÙZû =™QT‚ `/$†–*ú…Yþ]#†é÷ºHp QG~grÈìÊ#ÝÚûm`m‡ˆûY M‚„‹Íí,m)t¶ZaÎßü)Iþîý=ÚNž?ªŸÆx Êü¯PŒ{P§ÝÎÑbôêÁV_17Ð÷Ãôx³…{˜DZÛ#nºœ¡$mµò¬c±«rìKWv…Æö+â½.=«–ö³üþÅ©ƒû%E<®ü×l²+ƒcÈyaè´²9+ 7ƒ6–,°šþˆû*1¨6­+pÀ‰íûA˜µ¶4O‘Ç)ç;ûZO°ÙÅpHÁßñÅÒ‌MÔ&2e¹RÆWáyˆ=Xs\ª4ôÝobÕ6ðÄȤ±ûj’'Èy–|¨}ÃùÇQ¢\Û~BŽÌK„¸v$ü{áÌtÜñgüñ(q»V¸÷„| ÝöðÉú«o…5Stm5£ûóºVË€Œ*籯'Ü÷±§BvvmQm 繪XǬ8úé þ‰ÞYHnçAg1·Pó¡qÌצ举}”@c1ñ ð´¨ß›#ñ-ŽÉÔppÅ1e_„Î2[Ïê:/…ÍbVÉ7’E-fýnüÝ´!"®B!‰cþOYòC¢T„x¸Öõqeâ¹H=rÔ[.yˆ[Jmé:úQ¹t h"›`âFÝÿLðªuhÖ¼/b¤°¥°ú•œ„Š ã_;_u-§^Œçí n-˜F®£6çÜ®äá0ná]þ#‘1”s;ÞáÅV“*£gªx5~Áb L$!Ñ~^‘¾#ЧOäÒoºK~X_Ú—$'IÈ¡îí-¡@öÉò0]šmŽw5*È÷ôZ3K©ÑOþ4/{jŠ2ó kîô$F +tÃïà×>²GÛHè¼¢3ü¸¤üçæý³­&Ëí¥Q`rÁVl°šô-®Œ170¿. zŠ+ºÙ0 —zF%ã ʦCBmÑaþûRχtÿeL½ØZ‰0™;HZÂGŒ]î_çG¦ä,ÓKh;nò è()E© g)ûPDƒ“Ž…þ*¿L8µ4ÃMÖ>½ho_b(Oȧ*öQßþ¿NVÙpMo•|¿§ìNÔ6!ëuMvšK°ÉÒ O¦0yÚ…gzâÄÏñ«Að‚ıZižÐW Ìæóg‰ÍA¹<ëpê°†CH²èÏ/Í/´N3Ê›S¹ê>êƒôB+¡W­ñÙ ˆ*|[¡£ÃÃÃz@¯ùk½Ní)ëµ¹ ’4Z[du¨DW,—ÖH7›…´¨!5k…~ª –;Á¿À¦pÜ ç>E¥sM¶=Q4Ýε )ýñ£‡jx|zôP¢ÄÞ"ãÛao¸Û¢¡‰¾½7‡!ôîÉAc¿r%\jpޝ±¨Vâ8Š÷è[e«—êÈÕB|Tò‡ÞAèhKt˜§±¾-ÊŽcâ5*Y/~?€²®L»UŸ˜E—ˆ…A¼ß ‘(Ïì!`ׇÕ=€`G©¨ÑÍEÂìŠ{7\±÷A8%‡wüod7_¡>:©3ªÑkyzœ&ÜA«…ŒªGsòÒ¸Åò±bÊ_¸šÆ®&nöoÆ ¦¡·Ô«d]}ó‚ûnù ¯§û‡Û;»Z̾ÐöÐç01ÊQ(嵯Œ"* „Èq«4ÒØ,pôÄÿ ³SHðÄ‹Ë|ƒ…°ºß>¼aÚÛ4$ ÀþҸ9È­åÈ-Ëø´|‡‰´6B<8¦eIì²R…×=‰<¾´ª„øöm<5ý[,ÈnQ/!()B³œ‰L‘¤¯ï~ ƒ@»{U÷¶ç&¸œ¢³ï%ÖÛ2ÜuQçõ¦ÃpØg7Ù§­(> eq„pŸõuñ¿Óã3Т[Ñž§Ö©Ç¬º'¸®/á4ø)KÖ‚â¡gVvó Ë£Ýl¡‚'Êcۄ¾µÛ÷ûa€½ûÇü½ ­µkø-‘FõUkšU‰€ïÝ@ŸE­Cn€€ o8w>GÛóñ1çfƒä[ȼz»-WÈN$ü‚îõÉp’ضTˉ¤X‹,½6qÀWa¾%QëôLbÊ+àŒ¬¦LÔï}8Z¼v¢nðdv4Åk¥È‹ r´va{¶†bLùuiÈŠ1-œœÏ‚Þ‚Z­Ð m$€ ÀÕ$\".rÖ%ìŒJÑJ°.ÜÀ£1°ÐÝ‚À­·{0=vJý9ŽâEži ©'e»ÑÛ¸×7ç„_`îGuöãý é<0P5ÿlÚM< Æ>õnÄþËÐÚáXfÿ•_a„غ×åÒpñšýÃXù¢0Ћ5Tðd÷†&Ë䜎Àæ½—I8†r0ƒo7SD¶.†ä=Ú%‚ìq\—l!>( `RòpêvQ–E˜¹Õ™øTÞ!ì°w1°ôüÍôÖX%‹o)9‘\†þ 3+²•ÞŠ¬wfKžÚënŠßÛÇJÍ#^â©´%ê°_ì;$õªC¾3/£)4‘…tn¯°(¾Mî¿¥uKH^ýT¿ î¤gf›Ô{l ÈÜ(L-ˆ ¦Uù%Sjòî|ïû|6zƒƒ(Ùcé^é3¯ËÖÀ½¡,Ç«cKeo- nç‘ÄŸãÕ7< ›ã 'Z­Ä?†žW%Ò’mAö'5<—(² Ás ŠCÔàgjB-åI@TŽDzÅãkžG,ÆRÏáz†>4v{®uã¿%™~Ž+å¡rv]nL—¿ëF¦ý­SG4êp"·æULÀ»=©wÂþËNVP¥É‘¦îÀƒwJn9˜ïb·˜°´OYÚV)gðV­…<2©ó²¡uÓ.~ÿK ¬^Be¶5~I¬ 26caÂþïÉôÚ¨nd·˜z£o‘,^y&q±)GÖIü'„T×Nf5µÝ’]‰((5]© 9O»ë•("Ð;¶ˆŽ~æô /s›‘W2qG¡Ù4Fa8mϘv‹À‹«£OY£#F/µ$r×8aøžù ~ƒEvõâæÜ½ÚÛÄËd)x™SQɇ"I;‘x¬Òž„Öþ'"¨-ô«]7•õG5ß×,z¿Œ)8·iQ ˜Xú[­‡{êŸùzd®ö׋›WšÂ-‰|vhÓüStJåÍ÷ú3×ÈÝùÆ!ô?T—œWäG;|;hÊTÇMꉎnlB€ê-UdŸ;P#Óýmg1¥•­»gKµÖ2<¿õç…>âS£HÜ!áN¿&"?,Ǽ×G¤®çIJÿ"Ÿ2¤°„°3Öx¸ŒA}ªŸ¯´œÃW>®™µÃgóÁ ÞO{â¶÷þkhÌ8䀯óŠÖ KÔSr׫‰1PÁG›†˜+\„¤}‹qÇï«~iõE¦Eo ¹Z[K1«2:z6]§˜Xý*ëmñ¹àÖ3‘LH&†Ô²“käiú´Iý\ä7Ÿí#Jõƒt?€åi2d´‘ â»§² "=?6rJn†üÌøÒ ÓÆ¢É7þÈkí.¯û°`º¥Ô ­t‡¬pÚ[CÉ»Q¶s„2)VaÿßËü¡ÀHMƒZ0ÒlãÑ7íì‹©N"1ÊgŒP5\Îþ’# ÜabžUÁì4Zkð¡™”¶“Ä3 ,?‹ÕfF\ƒ–%ôG] ²ŽvF°ø‘êÔŒ½R¢rð³×)òܬȹâ}ÜÅp³Ò«éôº¢íö GÍá–ç±;´–’ï~â2üU+'65], ¶Ž«ü*ôÞ hiÀ²$[õqËlJlH·¹Ú8#ýåF`˜^ÄF¼¥ìq£a£LÕI’)_!¢„˜N2¡ø£O=&”¯Ï ¸šTm¶¸Wtk>]¸wµæ60éËL”‹ö4ÀD¥-xÞ!>á¾Íêw­es í ©ù ƇMƺIù,w äÏ}·j¾&ÓËíž½³£%WwÖL^ÎàÓ^c–H'A¶µ6-WR/i¨25-xâóŸãÛ’£óÛn§Í|)|°otãSgŽä…ñ;Gæ¼ÊVW( ìG¡Õ¶°ÀbK_ˆÎ)q8d§ýRTl©Ó#²J{½j=΋<Ÿ…¸EŠít¬¤3üxEV«7>;{¼ç„3B/·5t½œ× ¡Ã]36¬1ý3«%¨9`•i.µOü‡3:yDYÜÒ‘IEÜëûAüƒX{¾$ÐUä¡úïr7ö ßýR™4hNVî¹-nhlT´µ!ONôšùÄý`ƒãF‡òj®däªþ£ª‘âgäzg=×é (RnY’ñT¢Ü\¬ã`øÌ¡ÓÎÓ’ fØçjéj<”ů»çå±hoԨǛ ‰Dâq[šs‰KZf:»fB’öÃó¢0K<¢ä:üsÒãÄœâ+}¶Än@7e^ÅOОj˜p®àJŽèt­î‚ÁÒ§ZOS[EGge¹íF½ef¨RF«ùˆˆï²í”Â3 ÁF+˜Õ=bÛúÊëóŸô²è^4©ãmqþ ÍCð¢à)°á [ónÛº¹Z`4ÿâkFùô(è”<ñÜýàæ0c¯pÏ:òµëñ*ñp'Ц«ƒCubÙ«†'>J%}Nô§Ð3„Õ…Rl4©–Ïzž?2È)åÌ^¿g¨QŠƒžèðp¶n¥±ÎòÕ_û¡Î“;[Î'LϽø×GÉÔÌ*“&'¥øìÅlУÁUnÔ `ý›Ñ”?ùùŽå(«cà° U kRâ´88eh‘d'Ö?N¤ ж+¬È i½8nãß©)8¸†Cc1“vò¨8—RJ",¢ô7/\¶B>*šÉò@z;·øšXNî%â+ã'¡^AÝß4ʉÐòÒßêmýaþ˜á[÷¤´Y;œýæ1l_¹ltœ÷¿Dk±LiÆûæñÏU¡Vh²C¢©çÀ;¸µ’8’‰D\ÒR{pü¸ÒdoßÛz¾§wQšú޽­W±j‘˜—:ÔQ“Æ¡ÿ¢äØ0Œ IØ¿ëîïù †ãìÿŽ\O¡ÝùΟfä7vrzÜ„´£«2F <’“<‚îÐÚ¥¸œVpÏdaøZV§,ë•»ÑÜ D9 D¡Ëh É|££" XT›††pÄg8€.oæXúAd,îƒåÍ J+rPD¿ƒød+rwk!¶Çè5‘”™Ù1ÙÐ>Ç—œXâ{DÏÃ"ÞÍòˆ:BÞæ­еGž‰Œ!fÇòÚy°z¬3FÞßb®ìa ³Á_i"0R›–YÒßo§Qù|3."XG`oz¯»Þ °^e1„Lëì´k uÏeìI"Èe·õqxÈ/¿Îpã(-±¬F²sÎWÃsO0£äÉ—Š)>kæ ñC6±¯BHo>ô@wÊ ÊÔÿãÈÜG÷÷geÆhc…MàÓÉ/3cÙß&^Âc«V&~ˆ9¯)r¿-f–Lk´çë“ÔSÌL \÷¸˜žƒu„ä@iGºgK†7 šÔÚEϳzõÑO=ýCïû¨#§\ˆ—Þ=}µ>!FK QÀED •þ±mÃÉ‘§t<1¼H_¯ZmPe‚ðXOc¿!›•) »‹¿ËŒ†5Ýc¥–‰4\z#ëP*«Ç”ü¦kÞ„MˆŸ-ñZZ!ˆ-’Bàù†å¼(!´ uRS—hùgœ¬èý¨ûoYo ºSqÓUˆ;æ‚Xµ6oh¯Lt}ÚZå'Ê¡?Âß뺴¡‘ëÌFÉÄG(°À× WÌ7U3é†^Å=>¼M[S@‰êIǤ/È/`o#/¨Ôwé!¢wXüÛ¿§.Aƒä¼®m « ÷˜*(Ý~qŽôg0ûC…Øöä®Z„¬)C)HßýùǵÝ8 ú¾#¼|P­$…h£j9ƒ#WwŸ¿©™«S¤ÕÏá‚4ö¯™úÔOêY$«=™Ïgê¨qU‘5”_¸‚’ûô +4îî4u§§T{DþÆŠiÙþÓjijÏ9¾¿®²»‡qRÈÖby Sëg,#<ï{²®N,—a¬ë….¦Ù¬þ$w&Û¼hQᦹ-ðvÀºÛ 캞ߖĿmßå…Pd­vsÜÁl%?úeÕØ‰íßÏÂL«%·¹»+2dù¬®¶’ÍÚ“Q4ÊiÌþàüØÇZ¨Ñt&T:à3T3D_|ƒåá†/ªð3Ç—Zün~—9K“\¤å£½€üƒÍzᕪ¯QÚŽB€‰²çm1ZH"󆌗XsHw†œtV lÍ!Ûå=?“Ük˜“ÿð3áÿ¨å‘-,U[a4ζЪbwÆæzSÝ]à¼8÷4Ëš!0x¬*ÉR³îCŒPŽúëLpB ²in}¶n"–³hÓ+ìLCq'·=ÿ¤¢ i“´ZÂAêìó!óà¢ë»°€mëH†\4Û# TS tš­j‘x„}Â#Jc˜ñÂç!bÛƒ:ù/ý.ùñKÕ@ê‹\'€39m\u4VO~±ZjWñx{žžçQùCª¸Xù·ý­¨ÉLÇ:„Ḍ÷n^øü:è.縵lkîK±Þ9î»w†´2Öè?y¼Þ‰`yØšf}o­å‘úæE[ƒ’…\Ü;ýå‘x7âSa‚S>>þñ;<±©¼¤¶D¤F¬z ;A¢àeê°lxÕÇühÉÿ’Š´”E‰¾Oó”?úÄV&šáœÞ1±g®a& ¦¢`EBV¤cŧŽUKw*OòN&ªR· òk6•}7P®ÊYaäzkHçù-!É€# ÕŸÃeAŠÚãxÖ5®lêº1+âlXÊ9k]Y Ù`ÿKûO …Hâ(%œøÍàûÞ’–^ÒgZÍ1cˆ›?gÓ~™?CÍÏñ’œ ÿXý‡Wñƒå¶RE³’é ˆ²·ù_+1E kÒdsàÔ|ÿ®È¨Æ)G¬ˆk`Ë)³Ûp,Ž^ˠГi7_‰|°‰‚*Öwn¾×““ßxݱ_GbD÷ð¼>%A´5˜«¥q3¸©ý#µçåo­3¥ B`Žð ÓÎXõ%§?uäŸYåÚšúÓå-lIŸ}‰ô½“]2åþp˜¸BQ ¸ÅSE¹GÿM€‰ä«½:ÉM.ÜÙr2”þ uy7Æ "¶@µf*EMåç¬fYUë£=y$žÍÅKG½ùH¼lR·Ä¶0¥ø§¼Ÿg ¢O=„›!*õá–’Sù¦8ïèúQ×=Û}îÉ«2— VQ¥%r©¬II 4h yr¯=wøqµ€ÂMë"[Ña`J»Ø=°dåÑ¥:9¨á•ú¸kâ[7ãçî*Qõ0ì€>óKüÌ<¶#}·T˲5RŸîŽV]z<+›Œ(¾F+Üew®3Dº‚©iã\\ò—wÜ ?@L¸º_ 4R6e‡¾O=ktÛðªUQ$Éì«ZE?c6#'¤^Ïÿ]í°`<‚ÈÍ@{Öðe+ÔOôò§`2öÎ5”KÁü+#I[Nt¡ 620Aµss•á¿Ææ¼Šßkb Så‚Ò¬ÓÝ\…:Xmp/ÑûÈÌ'£þ”/¦cåzÂlÚ–^±²Y\´hv¡LÜf;3wORt6N¬IQå –áÄzõ]þcI0¾Rl» hFÿNŽ¥f}!àÆuLLqü׎ä{wîú»« #† 3à|4Õp JÉ‚Æ÷ÛZ Q| £¯ù9–NQÌ$§`{OpÊBÏas*s mz$þš.¼azökÓ‹Þ„j>L¤È¥M`åzþ¡4˹d)2×ÔÕ†S›êUf“z¢odW6éS‰þ»)”É!–Hë½Å­„ý—7Tº»(_À>²‡B­&ÜFè=U³‚Ù÷¨›/\ à!õ;C@±\ídQšYÜ××M-'jiHºL÷Ic¤Ùr?='þëâþq2?<õP@©[‹ðmĦ6–c¢a]3ìÍ7™´ -õá²5•'ˆÏu*©a‡ª”¬ôœÂ®ù[Ú%Ö RžíÒ‹ˆÊA¬¿×^iý ³ðG8æUbä»C§™jÆÈòVþ7› N@°2²\—B»!_¶¡M‚9t“ZÙuÃ!³:ì¨N4Ë+øXÏë݉ËPP¾IA?dì6+Ztëœéà®I«Ôï¨L]yCÅãüÏíšÒ¤L@²’ÏQö¿Ëò,œÅX%š³ð‰pÏ™&„²úý.xÑ+u Jÿô±iœG‰‹$°¿¯fæ§U«×½Hs|£gWOWÓû«N|Ú…Iæ"ù²ßŒ‘ ÷õ÷ÿ¦ì==âȸ-Õ'ŒîWÛ£ÐHœŒb²«•×pÕTæÜ²Àñ×O?£1T¼U’ܯi½}^ãÕ¤&̬éÉ(ÂbÊ_§t½•zvz:öÀëulPÞfnÝ=£AëCÖÈ22aÃ0qoXèW§€¨L†€ÊÊg€#‚Yìˆ>ŒŸšˆ›§à™†Êæ‚u k7{0µ*uKŒ²É˜9>­Uí‡]¡AlBU·‰´lý•—ZÒ[¤Íª÷)Ü|Çe–C%™ø<€ŒT…ÖI6›ÄŽï”bd“æYœtó S³~X ¡(¬Ã¤âÐ:ûr»«%xàb*±Ÿsâ<1ˆ—HÑŸ:þ\—ëi«Ó‹nARò|µµñô& ³·wPUö¼œN³®ñÈY§Ý°£ r|ûûdù7šöà çWùa2äu`¤‚ä„uÚhÄ_äŽOï&làêA™ë©\.ïØTyÖ~¸¤TÉÒháÆ\ •49’šÃî›òòô[z lj=¯ º-Ùy³ÐìqxÓ Sëy_žRÌ™/®ýÚçÏáGójÃ*·ñäÆåú¢'»HMÂüŠlóiΕƒÓÎÆ‰èAò®?ÝšQçd“xV&ÊïÔa€˜3£Sƒ¯öZ¡  ä«g7¶2ŒÎžÜ«‰'97(x2sMM²£“Š)äXš}¿øQèÙD‘N„+›Tø;Ÿhl··φ–ÞYçkîî­à¦¼½á¼ù’ÏDø¤é^KÉ+²¤œ\Ù…~•™:аFSýV¼P÷eFÏi«Ê.T ”-¾òæ_ì<%‚Ž=‘0d/å¡, Ï¤0TKCQfVL”õÓqço Ï”¤*7…6j­ýf¢c¸ ½…´r%”µVðôµ ¸ÅËÏž a•ƒ ˜dÐä‚ú>†´ùºImé‘D:0Q`Y즒…PCù0u‡»áJ.ˆ6IQök@›È]Í;‚©" w£Œøi$£ÿżi°³m-FY0ÆPHÄ]üOÔëHKb±¥~·0»o„€iYÎ?&oÎä,•\ d3'²°•á1ïÿ$§8‹ì•é<›ñ&# þ––¨°DB¸‹l—Îù–-q[<„—®ë#F-Î<΃lÙ[g ÛÊ3Ôã>‹­4¬v'OÕŽ[6¼ØF‘3Bf^·Åú®Quù½lë v­­t7Ü:xÙƒ·³ò„c¸ªsn° á‚X¤Õ‚Ó!½Ha®’~+Y´)2†cmäí ¸®Y¶‹)Lƒ€wP¤ÜËU,#ÝÂxЬ\Aw¦O,×¼{*±\ÙCþß§TïÊ Ï/Ä· Ùc]J°ï.uÛ] –îºX†+t6@öOaÅÔ<Ëâ.kYáÛüÁoÑÀÝ _ñ0”,¾¶Š´ÈÂ#n©½³ ?d̬ ìúŽeJ‘ÎU…<ÜËZ[‰C¯˜ªü1:àÙ|õÞEìfkÞ,­p-­ü»â/šÈ¤§Â7gC ó”@Š#|6«|æøþ¨^@‹ñ jIñP m“†`Ï…§“TØ] UoϰVòòE¿@ Ó›3†fI!²Ú 1P‚瘪Īwž+ÿ™hT±&[åévÅv'@ñü EÃD²C’öüÁ“]º ݪ©A ì;ЧÕÈØÅûcÉÊþ™Eº„­\΋±¹î<ï.M=iÖ $y¡Ù>GÔˆº?ÞPt²ýžã´Ëä@Äöö#¢}Ì }ÌÅ×¶YµðLß”¶&Çt ?S©97NQ†¢=Èä sxx=lE®Pá-»?F p ¤xIOñ虸©§N«ÈÀªuâKÝ™ïD)m«+8‹Æ MÇtŒæN…Ül38þ0áŠü§¸¾á19`ÆÖéþÁÞ#Ö‚"pYUuÕÇ 1>Ó,­ËyAûŸPoÆ,-ÏŽsÎŒíÂ6“w~V•äktvð¸ï^Þ˜…€F/Ð}^²µ+?ŒÌÝ»n‘ø:m+ù ÛÞ€^}ßÒOY³ß`Ó4.öÖ/§¬3'h¯‘"ú)¹ 2iµ2Cˆ\Tö=dÎ;ܬ‰“mG˜€×iŸQšº¬,Rå¹Vºc~Ü ¶›RÈ“~ïá·z<1rRš4Æ0,̉V&©ª°w)ÅíèYº~eɶ 0@Zâ~×Òð~éÈÀRpŽE+ý :E÷äÓ¦¢Î—ËÑ¥ Ðþœ9özD ÀêññÁ\ï^°8?¯I—û¥„÷È×yh°ÛÐeä]ò&%Š*¥­ñ3Oí„ÕOtÓfÂ.OXlAÄ{«h†XÛç…T®ADâ”Ø>7¸£&ìÜ#±’Ÿ>αuøÊ›ê¶ÙÇôoy#]ï-äÒècÄUiþ’ØFˆƒnIlBÿ› ‘õYóö€”É(©OâB_WsCij°å9Ó凬t9ÅôTИzõ¾ë¨(`V\ÃN\Š·¾ôgý­ó&;ªåÖòéµ3ê5Ó²2PÈÞñÐ1qçÃ… îàÊAJÑ¥ÊÊ€ùb7ÎZuµÏu­O5”?´ÈÝäó$’üä È©c/‹á‰˜‘1ÞFÃ"&H­(ãµMÑ;Wm–æÃ#l ô‰ p2ˆƒã$ï@£CÜ›¶€ü9ÿÒ²»Ùº (Ã÷w³ƒ’À”1®@ ^24¯•3Jä]®*dë]AO \ä<§º“;Æ7¬„CƸºÒÌpb-cŠèj˜4͈?ùó|=åÓ÷¬#uš K?J·cõ®C&Žs/“OO`ô£5Ì9ÚRñaà6ò" ܧp›Á&S¶§5"=4ÐK™Êߤ•ûB¬²ÊísÁ#;ºMïýs8Dº%ØóR¡ÕZ‡l@ñ±$#ÏM)лÈêiO‡O+ímåÖ P ãöþ¿\j@H“½÷a7¯³ül B‘‘“)Û†qytä*ùQ=ÔÛè¬s¯R¬i?ª¥x˜¥fCùPdgMÉENK‡ï%qžø6u&òî³y³zt ½i®ù¯Úø" AB%dGÞJ’»zö'Bªš¸‹Ê{¬ó,;½ÌÊU%¢ó6ý>…`’Qº'-×ø?Ük)ßÃtX›]›1©™ê‘J{èt¢µŒY »°bP±¨è*ŸRË1— Ëø£ÚÀùëC°‘×~‰Úx "—WÜ+4} Î’DB–lP£Tk…iJâ©1+€@Ñ¢ÓY¯ÙFÖ·¡œh„7!B"ûïéLÌü K‡‹€åÝå=1®æ]ùx…†‚¹²'Gî°›õž®PØÌç=Ziƒ³„ì¬ÂÝØ‡›ånîHõ¾Þ0yËt7ÿcîè·k*<É¡§ÅÌë‚!¡¯)Gg¡Mþx©Xª^¨^>a#eYØ4 ƒD«—Æ¿{è‰ÈV|3Ži!Ì ùãgZ4–‡ÀØ‘ ÜÄ;Ц ê¶”õZæ…^}ö™ 6>béC¹~5ÛžR …Trí×HèÑJä‘•î®Nl寏Ž6}¯‚•p@†|ˆ'BÛ|Ç(Úõž~m ÿÙcöˆ5rP„BÓùÊ´£Rñ=µ„´b%É ‰%¨¶šƒ»þù1ŒÙh]¬Þ¸Ða7€ bÈNr]攊CF×Ë£8‘cºà&¸1ùÄä¶êîGÊš£¼Q­e%C¡› Ûǻܺ{°’ˆp“”!)ZÁ8[ºú¥‹™y ì?wÂw†ûú.Ÿæ¢/Õ5³ÏFÓO2hNÝÓ¬6–o«!䫜s"¨¨hë@­$ž„0ƒJ"4º%÷ÒÈõÒ{Pæ|Ö·ÃI¤Š vþ†9b0d›–¬ÔlGÝïÅnú ®à˜uã8n484†d"¸1ºëJ”¢ …_W (‚£Ù·dÇé—ÑnÄmG¿,šeÈ$Ž‚n¾óà¬Z‡H_i>ßÑ…†½6MTuχ4L ˼ñïU¡Í-,óMl£ÕäÑÈüé{YóqßÂ`5oX+7š·5a-HËAþWC`™eކ~à[Ñ Üç$#LjèÛÇo7‡³ža›W£dûsñ»è-A€±žðy=LÙùÒº×ÅóùïrbP=íÐe\¾Isaõ2¥Ó‹ Þ²ª£‡œZkî<4¤÷Uà†!~¢K‘*·ùºìª¥—òLžœ!V[Ÿ†ÿóL©X¡0xs@Õü°¯jåÈ”IY´2TzÝyHÈ|Ó¡þ\1Eù5uT­)AC² ŠÁ*ûÚ5,Œq_öÙ}ΈCR5•Ï|Õdq”ó*`òEÁ¥è›|½'çõ J½Y±‘Œd§#,Ô1èDt´Ïú8–Q¬ÆY5½ŽoâÙ ìij{TÅ „Ÿ[LÂÆrw;¦¡‹†Ÿ]‡Hó&E ½ `gž{lêŽ&k-Õ„`þ¯ÿÁë?3WÅÉ ¼íïÁ´‹Ä\z÷£†òÝ3Ñ‹C¹u3 ­›»l:'—Xm§Z½•7îC2 Šæ¢bÔî’RVöºº'v|ÍÓú²ì„‡(JÂG{0¼ñû^‡iû" Ιa8¡S˜Eéš0ó¡ ëY²ÙÚÂée^p÷Õ[Ò\®Â‚S£D¾löœ¥† 2¾ŠÀfÛÇíüL€èáÏé§•¨1hã”^—0‘â«ÎzäõeŽQ¿ášV¼žBËxž jžŒ‰Ó¿R!t²­cMQe·€D6œÊèÍŒë‚È6#6I—@ßÍ>¸D㌊ó>ñ\׃g¼K øÙµßhš¬~°ÕÁ¥ÎváÆxŽp3”›P?Å®G±tÝ¸ÇØ1À?-(Ú[*áê#öb7Ï å9H]iG¥ûCï15Ë$~{Þ&€½ UÄ«©g«¿cJCzk‚IÀ+øÔš°Â¤Éú÷ÝÍ…¾êÄ‚§ÁXÕ"TØ]Æñf4 ª9Âø¾Ý‘‡u¡ÙWã|ڸ૽V …BÝŸ¹À™‹r;ä}Ó/µ–!d`¸¬£šiÈÅ(ïæ$ô½wdg òß´Îëeáœ>%Ø{nцk$¬)ëEoð³DÙ¨ƒ~{ê ¹Ë†önh³ ‡ÕÏœík1Ó”^®Ìéûg’LHpõ§Rz!þÕç¾3É!OÛúÎâO¡‹¼m(ðj”RÒìÉAFKçŒ@O? Ea²7e,aôÒõ=˜¹6ŠZõ¤0¶ Í‚}{Ö°ÄH\ný¿y­Û„ ~>=ûëè[E9GZÏ^¬Ð7DSÞjÌݪÐäá/ìë§¿X¿†BjGM¥ž@Vyú±¬/ †Iõ¶ÿºDÿ|!ðý:íáMˆ"…„:ÜA¸“.m bš–¹wur[¯5u9~m¶¬8ÒïÒc —|±ùü ÅŠf´!èNÕRÔ5áí6‚Ö½]Ó––ê Pº×S4ÊbàÝïØ„$†ºÏ´2¢aŒ@ò vžÜÐ5èÒv¸•ÑqûÙ") F{t“•ðÖü’/×vÂϱäöÂÞbùvÊ@€á‡g ¨&A\š­ûóFpO.y ©éëÍ›åéËÑïÁ@ØH_dÀ:Žö„ŒXÂJk_èè)ßq—3 áýr=¶@×E4×1´´H2 oÍ!Š Ÿ!îÒè×ûfýlQ»i¾–Ô·% AìÓ2Þ¿²ÕUöŽ'wü`ZÃ0 Ü?D€¦ºØqe“-}™r`_Bù€D7#“Ü.¬Œö~âÕu¿¤ ¾¢èŽÚZvȈå¡+ã^"F±ŒîàÂóÎbˆÈüêžþ«{òk§ªüùò´#Üà÷h˜d¥Lýá#lmi2¤qñHŸO4¼Zh2%}½±¼ÞÇ2šÝ&LŸˆm Ä ŠJ:÷ é£Þ̼ûçÄåÒÈÓú"XÒzY¯)óðóíÁ¸R“¾ú•¶QÇ·ûî[ê‘êIEà_ŸÖüÒ$>Áo·`ƒ.âs‰Ä" ðyKÞC²è¾o°Lßi»)…"„V’ö@H¤o‰bWîÍÚéê!ö,u´ðDÃl$â‹#ý¿–Ã$[<‰ÿ? ’[=‡ŸÛPßø%§ÚI'—íøRvL†{x»©Õ”¦ÃZˆ<øvï\Ï8,úñ ´Î6^­IëµèJ‡6¸Ý';öN·„Ú–/†ͱ˺¼gOÒã‰å‘÷Q¾=û| äHD>äèÆ~Ú *K.»šm÷7ç˜ðÿ-ŒbÓ,&¤×£Ô[kÒ`Rá|·çªé(—0ÝΫKDÉX`#pÌ0äíÒ¶BKͼ.Qž—: b¸ÁÿUØ@Ø DÅ}õµI\^b…°`w$Ø[ÕaÝ"8ÙV8aï\§Ì2Êõ/Kñ´­X—@fÔ“=N”ƒ§œ•ÜðŠøìöÏâPœâ±En“㲩˜Þ6ë­ô¥ûq† ?YªR[ÀG lu ßÿ&£‚Õãÿ62¶}ˆ¢' 'M\îi@r’úIM×ÚˆxÌ\ 5ñµK&ÒlDqé¹µ _Y öǯ³¿>fª3 ½VbxðÁ0DYÇY<Þ¤2«ÒÑÀb*Wh=Q-U/ÿ8ÆŠEœOV¾­NÏQªgVlj³f &òZ~Kû™è½A’Û'vAÝOtH*ÿzë2¼VŠ]ÇÂj¶4Aó¼uN›:6½êÑdx2¨;À[¶Ë÷â]<ê9艈=ÚlRý@ºüÖÿgTÇØ ×_©YñQœ+ÆÆ!²iÆšª¤ö%YHý<é4 ÷4C¹Í#öÍG‚NÛ{ nåáCàçV\XyóH“ÖÈlʽÍ~,Óª´Þê«)`ˆî¸„¨>’¡¼ÔKzÙ:-­¢Ô†šŽ?²7h6ˆB‚m6ë‡Õ6ü ÅÈt„½ëyø2¥¢ÿhG”×6‡'2$'Çðý±èàå¢ÿ|5[9ïwÃ,OÕ79ÿ±Ô½ÛÄ²Ñ…è ¼ú">7/ÏgÂåãa—AõÕBmRÓXYm×.Œß‹ù¾aᥙòè`†&ÿqCQÊÄY›ž* ŒS—·É|\ ¹]È·½åì¿b·Íw7®×T¨¼SQÙ§3}lBi>¨VʺFfÇóßk¾RÔ†ƒI¡dŠXÒl•!'bæCÉÇù²5NgA›¾©ï/¨_…lö‹B™é§JèèMW€Æä‰œp<ÂSp«¶ãfzøßµêY¹2]+ÚûVÒ‚ 5ÞB+³Àƒ?goÅÒ æß±f½ Ø^\iñÔ€›EÏH Q1»,žÝ/¨y>Jc’Œ¹hzÌ›A{™ùÝ»ÌUuçû?8ÖH%’Xaþ‰·s¿pTÆ#/¯ä2è_¶îF^ß^Ia £Ü"+ÒDÑŽC~ªòÃ`Žð05.Î2ìßî ÖÖÝr&æä4T‘hê%¾«n"w¥Íezvœ ýwö¦ˆ÷Æ*VµeVm«>¶íDëÍz¤°ŒµoÊø&ã:âYLÆ ãñOÀüt&5GÇÄóUgA£ES¸„¥…'D¨È´ü¶^» ’\›ô²*±@º&!‚îѤüâœÓ´n †u»õå2ç„Ç}¡µR;ö¢^t3‹ñ’qš~ݤøRå'U)æ<á8¹›Ô˜Uúk°æœ¾øö„|í¬F«ð±†DÚó;D7›ÙW4Òà”i’(qZó'd†²Gè]¡ûA×¹VtýHËvÍv˜@¿wKæàÌáònâeæ;•`¹ewi©¶Vi;<ûG2 ²ªè¬Äh=¢{YFnú¡¤ yä÷«œz® E ÑPœ|þh£ñv^°¿ØÙÀ«2Ãn¬{ýt®·¦Ž¸¼6ЉfÓgþîÚëÐ6‰¿òarMxýNç©VJ™Z4Þ²¦Â‚¨Fúï1ÓP„n¯‰db[„.Bçt¶Ìrøµ8õ5&‹Á{Z^™“.¬VLlGå`ÈE9»ß J¿ç ŠMS±ëÛŒ‡#ÒÀ•á-¶þQͰ†pá´•‹I×s)ÙäöI‚¢ùâ[;¹.â›N[»JN dºObK áMˆåüAƒº¯u4Œ€©Cê@“}¨Ö𑦇GÆ+ES¶XÞF©G+$…iøbÒÀC¦…YógІ¼%šŸ®iÍe-/+æL°Ú~L ƒ³¦ÒÇ»'Tçn-š=\b•Šò/ëÍ&0žÔéÑÊeIɢРSÌ;‡Ä~#èOÍôH÷Ù¦dÞÕýjºxïËá Ðÿø¸ê}1 ãÓ~²Òl(.Ê2ä/ec#Á†;N?h‹lIƒåNÒá¯6ª£¼Š× T×¶!º^0)xy»Æ©ƒ=%÷´¢ø” »2»ý=§Áðlõ†$÷.Ÿ ¹^±ÆG]/î•̱#ZY«Ì:/²ðŒ%xøÏÑî—¹±ÛÔ8gRY%üÕŽÄb_—ò¯ÝíÁ·:‰_8ÐEwóTAU•¹¯=I¸ƒäìíG”iâ7…°®D}l¾-îrêLa~7åÔWֽ̛ôSISx 3ú–ú–©>rï^×üA®}±tžÖ%ÁN"¤½’JºÅÞ±ÀBŒ•ƒòý4ðï»ã œš…:/£Â60~ï®>œ†ðÏ}29…R><7oPôW`ÏRíkM ÒÕ8¸)p¾tÌg-ÎtûWvP?mÓQHv,EÛãWæ«]èBóïï¦ D6®"غ·í7þkC©ùáoIFül<æÜb,N–u¹{¾ÿ/]Õ1™HdÙ·k‡‘rw­»mÞ ýÎ<¸‹Ô"­dwT%¹ ,í­5Íhÿ`nÓÁÚF¤•¿D{*M˜³XÛû¢,Otà½7½H å³j)rxí¬•µŒ™ÜýqД?*T¸’9µ>D½ºLY‹8sÉGDŠzìcÉù‘6¿þ«¨È+>X÷Û1¦·ìbˆLœªK¡rBMV5FÌÿ¾ìƒñéô•"'ÜÒ—yÇÈ[Ö$ÜJQ“cÏ*ú Õ d­n Dãnµ4 †] ÃÚ¨-ƒ¯«VíƒÛá­2~Sòä<@®›w€PºD¬Èn“:DC^~ØßWÎø$ÄjsfÚq0b@5U²òœÇ5.°3Ó&Y†Î$}LÎQÓD•öRG‰ÎÙ 4†Îä¶Ë–zéj.A#·4Æ©¸Õ>ÑHèhð æ•i°¼èI,|¥võá¨h)¨Ht­{ókÌ0=IŸk°7ž@4ƒ€[c³ª4ÑŽ·©˜]¤}Èà×ç¬ØL$u…tH n³—–²j%ﻺÎðÛœdNÜBܼ7ÐÀÎÒ1º*üà!&Ž q¬òÝ}lÏXé\ÅK@$¹°JÂõÈÀ;,µN&]F]Ë|Ûˆsêb ÿECW+© í½oo’ƒ1®ëµ¾×!ö›žp˜æ»O-ëâ§ÎgiYY£HÕ²v«êþ Ž-JôN#¾â_‚Eüδ¢Œ N?Ðìîá1!ƒl yy°ôv³p»!þ÷?ú’«ã¶™7ÊCXéõ'ÿt∼00gî¬4`_è/¹N2ÕÝ5× QùŽÎýX>&yŒå i̾[¸ BU!±Ê—œ-ƒCSxdfc%«‹Ú#¬Ýé[eM§SSàDìÐü—mSÐDa¸_ë³èºjMø÷Ù±~i–¸€ð«×g-è´Öƒ¯/€*û¾=ç:†¥Ì÷zskCßí}aJˆgòy±F›žVÓÍS—îÖQOãÊÏÏ,-¢†\r¿õ=´ßy 4â|rj 7LSã¯Jþº]£#`ဣÚÌîwRù ÉL8 Ê•Gv„“þ ]B— E õwîÞ³¼o37ì:]ìáò¨/‡õÅ rÈ,ùè`ùT Mß¶N â&t¯¥7^E¯*Ú3xë6,…E>|·ÍT»*ÚE–ê/Û½ p¥ŠDË–âbëô>D/_#îi™ºÿäLˆÅL…uÓ¡ ¾¿ØE*jæï®N°Œ—prBL&.¸ûäð½~V`€ÿ;á •äb6ce 1²+áðšÇÚÜ~‰ä0c7Ö\©Ômì¼FÙ¶ÅA×®!ʧÒb-póIõ ÃE¶µ¢ÔÓ>ÈVÿ¯mTÞW¹óÈþlë˜j¨ü7qmÞš…|çã(VÞ ~6’‡Vü:Õ5Ö-ÎÒCŠÌÔ3Ù·%¬eNÐKÂÕ2:X¯°‡Ð ÑtyÅÊ$ôwŽþ(Ú@ê¦Î 5S®Ë™óÈö  n®\Þ\0£S²2:|² ±Œ¹È4_Upmskö¨üpŠxIôVÿ:-M’¿Ó%øþ¹4^¹gßZœ¸˜3Š[a2|s@À¸ÅíڛXÏQë Òêñ,v,{æÂ#. ýô±H¿~­¿OMI.üV~à ¸‘gTà1í$.ÇÛ„q¡ Kà»e}¡Êðe^<yžgßãš«z¹û¬Ž}ˆÖßž±#œEgºOë=9…ú %±J²…¸W“ì*„X©€ô“KAsDkeܘÁý`Ø è ¯|@3Ä&môòõK1ù)ΑÿX¸LL  å1Ô— i¼ƒˆdÇiX\o?’Gˆ¯‰j—AP¢O8:¼£iGVkLkN4öˆeÇ PÐ僯¬á²Ži³È~‡d¸aŽ!X|1ÒÔÁ^žî3ò˜>cj š„¯†©”á†à<ø,åZî©›®çr€Á ¦˜j*>Ê9˜Œ2P4.ÒygØêÛ±Róus†ÓÌPx5ý÷Q¼Í5‘±'‹¥‚ßòü•N¹YY­¬]ûäU’ tìÿOŠŒLŒn Vÿ>·Ø=¢6¤ô›yØ$ƒ¦4e¾ùŠ#lv„)D3 ùÉ£ž¼D% µ¦‡–`™ˆÄVt~èp˜umQ óÔÚÈF!8~º š˜“7š!*Œ»´çU%³|±[W-‡Bî·Åã¾Èå#©FâëžÎ“µÜ{`=Û¼b&âÒHÕU¡ên0 }lì6ŠU­_+"i+ZxÅf¦šÌS‰&D”žÄ„Hnð¡v®°=~üFâÓu|ö½`¤JˆevY|c'·v:bÚ4‰Ö¿SÊ ¾eŠÚçêéð–ô9eífÛÌ«£5­ôxÄVÖaç2=ÁoF}+>Ûöñ¾†8ʺ¢äŽÖÊ:@O½ý)Ì­ì!òF5y¸ŽÓ«È}èÌúÈR9q9HqïSƒa @] ÇvG|«©| f8;¿¢þȇŒÑ"™ê€«¡‰…D!oø½Û Êl7¡ “çF‰lkŒmY0i”˜½ÐÛ¯nÊ»ƒa±´7¸¤r2ýR® aÁ¹ë÷Ý„ì±Üµ„Å–à˜Ö‹àu…£îHvqW#@êÌå¿qCGt{‘ ŸEI/mìÏua¯:kdonšÎ†5@Š“Áoç1À0´.uI ?2ã»O4hU°›0Þw@_þ'©TÝÇSºqw|%?4ã-êù'òE#§8¼s†€=\]M½UÊ)Ý‹òF—a|øgÙŒQrAEסŒ:¹ˆˆøáY`íàªóí~Å¿—]sVNä2+»­ÿ|¡ø›f©ÑC ‰à_;H¶Æ¬ùÄÏœ¬ÅÈ(V7‰3uß%T Au÷p:õNðEþêà©æî².0ãuRÀA XmúJÃúø*ð£4¦ë¡¤†‰yÐj¿Ç&¹z”¼ÝnEìƒiÂà΄š`T.žÆ—.†EÊ‚Kf5ç&RVî¥Ë2{—©K<¡D•T2 È85§Ø6iü×l]Ó0—‡ …•RxÀâþVïäâRjlhóÚ¯Å*ÎÀ1[öDëòq€,',¥¯ú™RqI>94Y¾Böž‚®} VÍŠ{ÁÇ—˜Î5Õfù{*K:h]aUö"ü9U1ÿSZz¨3¾^€ôÔKu鈱£!¬LÖ>§R ªo3*Ý8LKoŒùàIÌTŸ‚æè'c!¢l€¿n'#n{q MB‚šÅ2*ãI®„R=Èת ò"pupi԰ؤÎþ¬ˆzÓA5‘bòW™òfðöþ‹É9œ©H¢I–S! h`-Öë>á³,ÎÎ¥å\múkÞ.ǧÿγôTcìmÕDíò4—Ãä0úÎÿÀ”†½ò»Ï|j¶XWµØ VÀ›Tè¿À³Tê_Ô/ÆcoÏðAÉúü~.„9w ù9qŠ2¢e-x´:Å pBoÔ3%âPá¶8}ÓŽŒÅU|ÛÌoó‰O½‰—”¡©Ž7àØÒ…˜ê°3]Ë]ô¿¦­‘‹E@ šªC¤·q_Pj´C/U¾0’ó|J‘®ÇË]äÀ!Þç¥1dëÃ骞àB¹íã ÈFêøˆ^WÊ~ôŠ200cé+3ˆ­KÇ[áØ´SÙ€óY˜nû—úxƒqWsù„ŽezÃæÜ)>že¿Æ‡ŽSÛ  GêÙ²¢ý¹x¥!½Î 9&°GчHwÛ‘«Hœ9z5c,'®vL†@ýÈûa¼ž°•PFGL` —.îǹ4Ù`-æ´2Ý—cà ï; õˆ¶ÂéÜÓÇ Y©hAï•z’î0kl@MóT~4ãOû”j°ØW+Ó[#Ýý?,7yXö„1•€¼ÒªðUãoòsÀ…Àæ¨ èZKü AîJ¯1€_(<k.¦Xõ”ƒÿzGl¢¶=H¸â´{³i×1PŽŠ™ûÆÀ2Ç£}q‰ù!]Á5”^ŠÐ[ãÏtȸIÔ¯€¦öP½a -YabG,ÜC+òâÁ­¬Ý'Süëwy[dÞcU( U*}Ö„C•œÝŸ£fÖÞ2KìÞŸD•êv¬TV©÷$×%V}°…ÆÈ¿íÒqãïê-a#Ò#¦§á—1ìiöû‰<$`Ñ8€¼_“ž3k²]¡yò $Qê àâI1Å›sŽCÕÌÉ:‡³}p€m€ ‰ú$T„tßþâ^gµ.¡„{û=¼¯ñlAPœTf"îÂö¤‘ZÖ”‚©R|Ö_7ú9L ›{g–Ýïò6Áf*³u¶¡ÎäO¼{D«àÙ¹±•8ÕÇôQ1)$®à§¬fR®»-SÞ€KËËÚ UÙ!ÚVËÇÖ¹él`TAôp`[É¬Ú ø†)^„΋ªyéC€¬zúGkz  bÝ®¦|I]ˆ¯ácNWãë!üÀ3×ÌNÂÍarŒ4¸è9ðóIÈ´´\\HøA‚CÔø«×ß-¹LZ¹3¨ØýNG߇Mþb­#*ˆ–—Ó:¼[¶›dêâgè«HƒçFJ[ éZ¶gÑ –ZUjew‰·À *OcÍý^;g [Û»7Ú@ùWù'¦AðV³(}â6 Ë5›19#´-þ’j*¥PÄ…d=u¬ù’Ëiº5c{N u0/Sò„ø7¡Å/ÓqÑ;JâÏ(°_j¬pÝst!u8B§3XÍÕ…¾˜0ÝùሲÈ]®2î–Âh„È$l¦*h‡÷õFÊã¼>Uì¿ËúÉ÷‘Ýg­õÂÝÌù3¾¡Å³ÐúGPNÑlåé¦Ìœ#¡L5åS°|¶f>k€)D9xI(¾ð%½PJ_ºfš¶] “CÛ˜ç·P|Ø÷6÷KvNA 7Nù‘‰7/?ú|tIÀµûÔæбJ±ß1Óoú³ätÿ¿¾xÖ]6GÝ ¾<ì $šë¼”QŒÇº“†Dž‚¨çXž’…»_©Ý ZCÕXè_|Œ{\½<V°e1ÆЍþ°íħ5#~œ YÙU±ɸöTÍÕƒâ»-áå ìñðÇ @¹¹:تz^ eܨ‡äÕ¯†A”Ò Ë™8U#åOÆ6žÉœ…Õ,ìLËæß°¤–ª Y L+“pXÊÈZÎ q³;¸öÖšó%mÑOs[G£âo½ J0MŽø œæ0c9ð_‹IfÄ!xI÷“®ÛZ?®!ñý¬÷³CêÙ gÖ•žï¦Ò`JTþºÿÒ¿¥ü+6ŠÿõãÏ^ Fª „IçöÉ g7;øcðITŸï;œþ—å,ãb«ÌN$êóˇÀ'¹ôꡌˆ{ns]=~c@6èÚt>Û½Çe[ƒ¤*iO¥¾Û2T…òäéÎã<±½µjtHVH~RKìz¶ŽTuU`[sÜj5M³mˆ6rüqô8›Ý›³Ð#¹DÜÚó¬¡î–]o‰,é³ö¼µª¿ Ï<Àå<±îíÂ³Ý q€b½eÈ*›Ò¸š°rìªrTæ÷ñ"<äà`F [Óª5PÇ7°ËšÝãGß‚27ø5µXK»JPÃ#ƒN¡ž†Õ=à¬X7¤!yËÂ/˜¬hpû‹ Au:zʇÌWŽ1¤!ÞÜyãïLÁŽòš@”PH{ŽîÂDðwÙ*ò†¾å“ £qQØ\¶!ïЃ³®Er”Oœ,ÞÒî`®Ç0{ ü4±ÜL .í.<@– Ì‡2tîÿb´·úª¸ªOº7jà™A¢¿©š›¤ïøþn_ÒNö ž:RI?kl{t¿Æ{þvi9}¼t|g,bàU°¼ ð¶ mò…qx0»/ëNº¸Þzõ´dÐÕ2 1 Ã0æçö‡Û¶S>QøöœP±ˆ-ퟤæC|v€, €gÍùÔ0I¼%B –Ñ­ÝhÑ¿‡õ˜³6²CO*Á÷+C+ƒ‰øµù€Ô»*ž*˜€LJ~'9¤ëávÔ#טÐÏ‘v‡øv*+wù•ÚEs/ÒÑ]Ö%àÇÀ1ò¹¦Šô¸¦>Ý1C% /÷e1)"ÉïúçÎ$‚4—%Íš÷ qÛž¾¯¡Ö%{^U8⋌¬a‘’òÕ’´3âYÕï\¾(Ñ£Âêm–Íñ­Ów|Ÿâ¶7â‘S4+ˆÄ„wF¢t¨:Ið[7Oè³å™ª·É@ØØûHcÄxœÊß]Õƒ›Bkà\ØÁœèÍùÁ:¹òµìàWe>\È^/!J\)K/Óþô{5ýF:"ÊC“ƒÀ6ôžûXù¯‹ƒùIA¿óc”€¡c 9»Ìî>øX ð~C%I×(N#¿g6¤-+Pü ¡Pg“3ð Ù'4èÞí‘[ °5âý9Šu™³0KÉAŽÃ× m$2ÜÔ½edÎ<;mç,g¬wÊáõ1ãZÂê a•%T=Ï`ñ—È©®4·…‹‚DzâV  ¬­^ò³¶\í£ý8Gj9ô¥W3(Ô&õ…‚_sÂ%¾B\üýylŠXè ³Õ¹UAl‹`¶oÎÿø C-H‰x+âDdõ8$/‰É+ 5”¿òO?´ˆ€òa±!® jt“°o‰þ2GÁBEòÖoèíU±O2»Í¸­o=jÃRnaF"tùG4ÆÉ6.àèsûÞ–S‘5zr ™ç_u«Â3°?¥ƒrØ%;Y»/¢N¦£:G”¥b¦žÿlp€¼€63Ø*:ò3ÜÇõ£û+3Q-$ ¤´GvŽº©F8E7rNøÆŽŸD¨ë»ÖbN WQ&Q´™õè~öۈŤ" ֈτföŠ;æÉ ¡ÿpPDäN`}ó^L÷û-*˜-E¯Bõ¬£3ã)NOÉé‘yé@{½ ?â!wq²¿ ¹\ûî8E*­„— Aæûûéd ( Œóí'2„ÙÙ¬°·s\–®; 1„S¿ùÄíDÿ*¬šÒê¿È»·øT×-;ñÌÀS\lÂ@`HlÑbbäùݽ²éIÑÛ£j•ÃçŠx^õËUû„ ’-)W°3þµ–±þz”†q[;åúâE‡78^ö&ß‘Xä›rÒNDÿ¡ Ò〲Þô„P …µ'4Eïzžµí°ý­{;&"šu>%Y{äÒØò•=ø×ˆÅÆžB"5Äã–ÍN£9¢KŸÃtpròqbƒ(ÀÁ›ÑêcY&íÀ``Y¾‰>Afíóa õ#êÏïzõ;ºÅNàÿz(/x£Gš8¡ån!¥iæA#¼NÜ¢w\19Ù™‹f8Ñ5–ëeü§ß.¼÷àŽ-Câ©Ø£ô?¾~ò¦Ù%Òrw½M©xÒYðû¬ÇÇ,ÌèP)­‡R‰µOdm~˨2šÀšèÜ3øò¹é}z9ëJÄE&$ÿ7;+“¡SF`jwò¼ |+³ÀaOhI‹Õä¿hóñ×&âÜ"µYÚ™ò”b"€ŽæJjùL]âàû…—˜$ê(¨V€}̲>ˆtÃC ÙzÍe–0Äü-®¨ÄU… ó ŸCe½'|µ":çtãÒedíÖ0e˜}"A)”{™SÛš¬»pê“ýç~þ ž¯é$±üÜqãµíÞlá t_2(2“‚ˆlE”J+9>+‘Uò­l•XÑuäGw^ Wv"o9\oìnJ¬±Å[ât½ o Bu4´áâç:áVˆ¡ý¦îÍG'Yõ Óüö†Ò°ÕõBÒ;мÁ ‘Mù˜†ØMJoÝãE`¾â¿¨Õ³þ–†¹™q¢?o ~$ϲŸ•Þé(¤‹V¡¼Ó{Ì€Fµ$]š²×œ ¿½ c¼I'.8Õð)LD®Þõ®vyéb1J&y„>±@êÓ§JœâXp¦h¨÷¢Wôn14G£ÐJD1:†[·y|Kæ-Â7!Óš4!øÄþšü’{ÔÓŸ¦ ùaQùÉ@¬tiéR×fBmÁ/2]}*EwIœTù®öÏíyþë’Âs˜8¦yŠûTÄÖ;P.ùõÊÍû)£¼¤Lú<²|â«£ìÕŸ8TÑjW¦&Ÿ+‰¼´.¬Ù‚Ý4 Tó¾Ø"6 >ŠSk¿>wŠMwœ¥¶‚ ?(½BþU÷a~~}våc_f {ØE–±¹ùJvo¤iü©Õ&*þ6úž)öIoW¤¦£ªÛÉðÚá$åË¥bƒ•n^4ãY–iE ;pF@'°>º i/Â[«hA¾Ÿ&t—þôÉvÔJÍÓÅ87T^+3$Ä럪öãR&Êùy¶Ò¬6‹®C%µ¼Ï+`û(£ùÈËê°ÿÌxƒBIºÔ§åÛ | W×÷FQ­îBFáWòºT£mÊ!G¥@,`ö¢*‰B**ÀCªË:ºé “c:ÃîéËV TˆE©·×e½Üô©†ïC&=ëîøB¤ß»h7O?öÕª]6˜€›ü‹e© oG—ùßÂ%D?ÉÿDY“Øþ9»srô‰æ*¤Â¾Qƒ2Æ•ÖÍTúëÓ^0¢K 6FÌM7{áWßcƒ - 0—ôLdN#(h‚ ñÀOîãŸ<Žsª‘º™1 ÝÅ[8»”®œß ÷‘HIm:pªà…iTüB?˜Ý,®;­;á °s¥Mj4³&¸uç¡3„Y …Z¤"¯ò-ƒ%<2µv×û O‡N"%ý§s”ÂŒXæ{(§½s¨ ¹ßa’y—ëå ð]ôÉÃR%oÜÈÞBÙÿuę̀ˆ>–`i½ï'1ïBãàót~œeO¯n¥Èù÷5ÆzÄ-9cñhbÍ|$^QÃ*Œ¸TwDñþÖÕUÃÜ6ëñ©o½z‘ŒÄ{gWiƒ<Ës.SéE©1•Ü_Ù^­™Ÿ½GüûÍîñƒ¾»OÉ>Ë,Æ;AOÛá3õø{˜Ááu«l"tÖPÍøß澄 >¾†Ÿ±?ÜË€Ó}–)Mi\lB2JÏ2ž6·7š‰òÂ"œ‚Œ„º<{¯øÎSì ßb8–rÛSäÿ ý¹aÃW9k¶*ZÈOE§”7÷²o&9T?чf 8‡ ¹nøâ¹lY6σ öCæâ5ŸQóeíÞ¢iÀ7:=º)î.YYÆ'Uu×øö;œ”bŠR$ÿDP÷AtÄùÑ4 •6Çà°a+y”,üwÄÃo³‹Ò…zf-£cfg؂ԻÈK{¢Û?†–aÏ’_y©äŽ#ÄuõN˜0õý4w)¾ >ž¸QpFØ=g?Ì@yé_oò^= ²gVw:{uîÌ%PTvϹ<‡-ÃÜò,•Üí±Ý*¤0 ú`×÷h¯c¨o¶¦–YP¨È}û’c4ƒ HÞJ#‰y°óÍKà|1Á\X’Cr‘Ù™º-[O­‡6Å·¥ï‘ˆ¤}1³¥ÞJ{*ÌZ€ja8¥pWœvBËtu‡w· øíÐMú¢áÄЇdÿ 4h®ß£´ÚDéGè8“L?%V6ºö%¦‰&GãÈœ'tPªÉ¿j€slnH±»%'ËUÀø§§-…ŸÛã+Ù Åp–uÕmµMÍ‚?Üú†–œkEæUMô1I W1P¼(@ô¼JI}+ÍïªüJ¤)8ªõÖ7óËxÐÚÚ®žÌ"AR€b¡.lõ¹¬Âñm|’ )º5S9CÍ|U¿0¤]mB§íl5’W”µ¬'ò×¾‹Þ£¢:Gd’!¾¥³YgÂÐUܸÌWîJíÐu)“~f0-Üœ^—…‹ù}‹[޼ݖUÿîW¡ÕÃöhÖ0öCl)ò”Tïf)\§,+ð‹ZiczHS‡¨¹ÏŠžµeS À¬ ƒ¸…p™7Ϥe øͽ2õE~ù¨#M¬"ß±#òñ¢$‚sN4«Ä%oûoV°QX-¸êÚ—ƒq` ÅîÒlM–ËP<^¦J6­dÎEÈ:Å'„^á•„©wƒ#¸CJ|£*LÑ}‘v¥‰SC¶2>䥑€^e4zÝHvz^ДªáÏïÉ•"2é‘ðzöÕ ¤ h—”i˜œ‡ÉÔ"FƒkÒ©–š½~o´À®©Ò3Aäo/lÄvÙKJóøžóöj "#„h âI_¬ÿ‹ÛTèÕè1¿¢ªn_+|q\`Ê´"ŸØ·¢`‰FÙ‰á–b€þÆsKz PÖÚÜe ‡8ïÎaOEï÷]‡0ö‚Z°dr.FF¤°‘d&\G6kJŽ i¬%¥ÅeB>@\µC€„q*Îí2è/–ù‰äò43ÓwU¢ß'쇧%þîp“Ú/Ž+±1+Œ÷¤è¨ÞÄQF ÞJÕ ×“D¿ÌrÈfÂ`“ÑÕEÉËÎp²Påo†Aé’sð‡¼/¨G‡¸£ÕÈl8*töt6UòEfË‘¿î­§ë~»ìhç"J´}>„ŸFÌ!$dp»FoPÊct‰@Õ°<©Ÿòeºý*ó6pR †& q­MÁy{‰EƒË8wâfM?cÍü¤ÿ‘Q°µ£m'D\Ë~ ;¼ƒ,‡¼±¾øðm¬êì—Jýܧ•mJ8~½L\vÓŸ5­«·ÍmÕ?3 ”v4;>wÖL¼ïÛ©`'9oÙЊhú,jvêòUÁ´]¼' U'êgA&c>@rÌÇZ%—È?öD?ú·;êÙSÖ`ãÒ¦6g`ÓÊá0yÅÊ wLšOAsH[»[”ufÈrGº%äÛ©áyxŠ¿©Ò_”Æëy R•á)ß}"{b ãÄìãÿº¤ºp#¢ã²3&RrHìñza -í~qöÌú¥`™X_tUjo\:‚Ô8ƒÅnx3Š6½ð…[ü˜4A‹ê][=þZ=)r™ l¾¯oѺ†xægâ0i¸¯,1qÄ—Ò‚°|<Ç–éñPÔ)É_éÆ[Є'i1íÔß¶q÷4™68\éÿ…ΧOEÆûb¬{÷Q o8¢ìãd9Ù0vÿ4‚sn9ÚÑÙ¦êdÒ_¾nLçc”Òì舚,¸-Ê8³ÞÄp0.ƒ†Òa÷;^¨Q,&0×™à}éáÐd™¹Ó\Ùè šµ«g&YNŸµHô-|èoO_× Øl‡Bòåboé6¢ˆ“˜‚j{ÉkŒ| zs&X ;šB{{Ę,hëšrÛâŠÛùgh|´"þä[:+Ÿ"¬nIгh2Bà¨T ~[û“10)`Y¯¹ ¶L”cøV˃õ£ÖŸÁ¿þ¦‡€)³ï ®P%/Hÿ÷ Ö3ìª?LòÌ"Lhªú!X´0ôª, |k[Iвq×Ô§6¡aã›V?F f‰º%o Ô¦0¤iâóË"…|J BX¤Œ)–­º†Sÿ–h¡©é)+LúÊoÀ¯Å^œï<;kEÈ£¸‚™Æ ½¡Sˆ¶C o¾Þ¿±n=æû@ĵt5fê…ͧsÁU ãN¢#í¾›MÝ ¿™+g»”¨v[¹h Ü6[íƒKœÍ­–øŠY³O—{eÊí´b&E— 7¥R Vaú š/¤6ŽHZû3ÃwÜ\Ÿæ§Ýòsò‚ŠåÈ( ­§ÜqPÎ!¨âg|ãÀâJHP#;Œ„™t+_,, ñÔ ¡Ïír“Н§¯ \º½AÍîtˆ]w=áñ 9cÛmšÝ7b'àëo^>^ëk.‡yI&©¤åÞK5à!QxÎ:ÅŒ^‰@ªÎ < GJsóNìpɦ×]`ôˆƒ´˜sUæÞ¤¿^VÍg½=(Ã`£nP¥†¡ò—m_ýÝêûh¶‰z³÷kx͉ÚQƒnÚødW·J_/œÉzOŒ@'[‰ðžçR¥¥ujU² íš-Óÿ2€…$ÕwÜ­–I™!Âl–KÜ;פÔ4Gí)µryx¡v5MwQ½¶a5¹/˜­é—8šíö5Ut7 ·_öüßð*6¹Üž«ˆ5ŽÞ0IÕò£²±ªœÚ6p†j7H%^Ú©¨Õ „€Ü«ó¬Ï5^•Ì2ý…~nŸ$f¾×áïÇ´Mi15Þ§Ø›ïH¯€½Hš/B]zĸ;,Ì¡¢Õ„C54EWHâ:ƒÓTË&ká{¡ò›…tR‰‰ý먚òobååTdã5¾•¯ìk3/{ŸVÊmÔÿ4ÕRD!Á†¹•bñP¤$-õ_¿>Cho)b:È`BÓkPñk÷FMd« ¦É ñþ wé|§´$ݸèS¶É§I“4\±/ £Oe÷œìM]#Þÿ²è£§q×ÖòFÿ-rD7¢D&…ʪ ¼y ´õ³¾ÖÎiüꑌ—ÚÒ¶3Ǻw¢ð 95Ÿ‘ mZ¥çÏËA¡Á%óÇÁQìÄ%tC¿°ªîÕ䡆o'h2¼½+cx¯$½ÄÞ`Ô½¼ÇJ f¼i¼ñs´É¡YS6œÐU„}æ”ÑPF_X¨Ó£Ó9ÑøÎÙWí÷¾®· ‰Cô§‚ó¿µ^­xÃô þwÌ'‘¿Å<WÝøÅ‘ù+<“% Ó­/-™4;­Y•1[ ˜ªCýtOˆ’pý3*$ VÚ¢.=¡öüÁAÿ½ðžô©‘⬴±MŠB1d‚ÏËlZ‹’}ÒêË:% ê€ïì†]Y?ýkvL´NH@z¸%Ti{§‘óHGÅjøþ»ñÐûwIB£ Sω×T> ïlh{…ë¡÷ ‚F7ª€Ç‰”¡Q¾Z%ˉ@‚ˆ;OAcñj ghô5²úpwÌ3.-‰¥¨R·á7yYkʇ±‹c{PŠÊÚYt[üÊÒŒ°8ˆY;•Úó~]›FȇžB‚5óbgfƒ!†G=<5¶$;ä¹Vá” SJW&Ê¢˜¯e)ß±`а`€Ñêå0I¸¬Ž*é†N/×°~@H2q@ý2¿A,R[§Âe›®äR;¨âó áº.ÜLoÅÜrRvšÑ?S`¸;N·Ó­’ ¬=gÖ,+Õ°Œ*YZ}SÅE9@$²~ØŒI}¶ÓÕ‘ý±ñ ÿ³ë°r*1vIó…ûJÖ*¤j'iìo {D–ëýߥ¿k†lÜ¡’DgÌ£²VŠfƒú7ÿþ‡7öÞ)Ö&W<á@IÐÒU.ºm´TüqhþŒŸ`…Æð±ÄÓå¯ lBÜn–èÉ«;¶tÂyï¶¥$h³ÂÄ@ñÞò»|"‰Ë`†÷¤K­Ëi¼ßÓàœO ‘-£”olæZÔÓ¥¤Vû[ãæ4Ê&Ž‘7ÊŸv±A]¼WÞ­A Fóu)Ðãó›ðϹLµÉ>´.Ó_Â4¿”•l\XfUSF -¢CBÇ 2:zþ¸Òpçs’ÎÒrI§çŠp:¢„ló«tIjÃ}‚!>V Y9Ο@òãÂNOh®œÌ¡ÔªYz¸yÊñA’å¦è÷¬µg1¨¹f«Bk¦JÐndLkÇn²+Æ÷ÁcX4<©Áq‘aÀ%KI”fÓ&é?™Ü¥*Í(ÎlíFÇn×-¥ÈL>ànú 11æÆ}ô/¢›GÀ.î‚òÆ=¼4]àÏÂÔ~ð½…ÕF0±ÅQ.ÓrF#Î6Jùšw¬ÐšB•{€Ö•§YÄiÔÌ þ4qº+áîö]N»‰˜ ­¸,ÇY ¹£˜n !f{d/Bª^$+ÈL¤ÖfÁ>GÔÑ5 - Ñî— dèCÖÓf`-N_HïÙ¼†/-޽99íäK}ÿ]ðÇwu1i2þÖ}æ¼§:ÏiÊv<êÞ0¸e–¹V(FåK†ËìÔ”ÜЦ.5=0øûu#™à•Àq†šÔŸ2~‰0úúpÿ-Tºœ&[ýÈœ«Õå~™c–@wÉ0–«À‹e°¯µ_ ö æ{íE„ä ‰¨]]aV$Å’‘q¤¢ï .j¦[ÁD¨³š®#–†Øæ ±uœ©­­q@Ã4©Sœ#Ê¢¨Ææ¸â~ãÀd(J‹÷á`Çß(õ §ž=ò!—¸”ŽÓÓhhÓ—¦(éÑιÇúFþÞ™§E¨Š‰]éó=5ˆõV™ Èa—kgÁ#€i‰»ÁÒ‘y8F¸fÔTŠ&}Þ2qëW2ßs· ÇLɰÝ@ _ì"ëâÊh» ÜÐúòé2¦òè54;š,HæRïLÿû‰l–ùsz¬õ$ÆÇoÙ9¹;6P‡üQn«Q¿·—αºêf«¨6ª¯Ðµ¡.à¼á¯¡>’8Ô{‰Ùœ,y fØVBSøm-(· ±Œ‹8‹gÄButbF™òô¤ŸÏps¡óõdhy¼’ÏwXss¾+ÁH¨ê|Dp;z¸ã Ïù\÷Gð&¸Aè}QdùÇHu[³Å¯+Q–Iëý üœx[…Ôw>§Éƒ¯0³“k…¹Â£³ÏXA×°ºFuT(Ît"¢s½Ú"¤ a\vvMJ%€›9Nˆ¿Ç£èbȾŽHtQÒÜ‹­B¥ƒP0µø‚m¦Y‡@ν<º¶U4òµyÊÅnKœÒ0ž—q-ÀÊù¾©“*°^º¶’kª”˜žk­;u|ÐÅ魞݂¢^zÖŒ®ï‚Û¡RÙ| 19Ñ¢_l“Ñm”só`˜á›-!tM ÁVˆ­ëm$¸¹£÷Û¨‹RpÒçÍ’¡«Ll 6DÍêµKòvùÌð̉°ÈÚò°#¸í’ºµäUwŸMtÞÍÄ{µß½JÏ~_Ò£éBá½ûØN›»vƒþê 4Ÿbæ ÚÂP6¡b¬TAíŰºƒ&Ç÷Ü6WŽî©Ú¢‚•˜ÉÇÙMÌu=~gMit•ÄÜÂ.¼ÐXÄà3Ž"©ˆ"8¥ÝÄð=%”ä l# žAxÿäéO‚"Œª´r÷gÀ6\>¾ŒoÝ”Q*kRl†DÆPs²´7Ñ$"~J2V3B³öSyY÷ôh‡wó‰k"õûÜ£ B‰×\)N„Ä»µ895!ˆÐ­¤-¥ô²ê áT¬Sèݬw·UÄãõW–O éÎB}¶@ƒÇ…hætí oÍ|ߪG+…ü ‡§i(ưmI÷‘©W–¸É]6»Dô }ÄZèãVJx½6QÑ€¤¢5¡U ÷H«MV4©;§€WáƒÖáõF"®rWN~FDÊLÏE1GwÝ êÑ(Êp $»·ZHyùÛ!¶(^ª@¶çÈõ*N góÍS—äêjÃ;åm.Ívd˜^æùö2ÑàÉ C̘tD¤¸}dà²hûòÍD…(ü–T²Ìʽ¤¸Ã!×–‹1Ý(ÛN NÚæ•ÒEaò‹[7‘È?kh¦r¸)}ÈLxŠ£vø„0•«ïÕÞ!‰´àÌ޼ru ’ð¾À6½qbP{1@‡KÎYi(º… ÔïêCýjUvÊEÈq ßñð<À…$ûÍ‘R§Pn[©² #Uµ«ÛVûb„äNr=x³¤ð{ÙWÙd®²=¬ç\¨Ôè5Ÿ ü w#Ù\Ý5&ÒÞ*ŽâŒ“¯Ü*…rFúòwÓ¨›hÝ+ìö扊åÞ}ó(”a¹…÷-p}jJ%T=¢z²íÄ‘n‚­§®Ž©9v:À6ös—³w.ZÇ^³ ‡Ï#„{þ' çžhÉW>J Ý8 ”[yU㘸‡»˜—éhþumtD Àý—ê› êÈÅ÷é>q…ì5P~ÀstNª!‚Üž" ܧ.# e;3éÜ‚&ªeÌã÷±ßïA‡÷¿fÈ4þH/ôЉj›—B²å<í!ùÊšµÅÍm5b ²XŒl6Ïi¼š/.5i­Ú‘4 þO=w‘YXÁ .#zì>+¢³¤Ïzó³oè¥ÐêÙÔôc“â׃.­ j¾­{ºœ%‚Þ Xà÷[c ýW-ù¤òÞ'X8¬g\¶ý-a›lšÄm7ÉœãTß-‰Ñƒ÷–ÚlJo‹x9^åßr%I€ôh׆ýú3×R¨,F—’y:lÆ7Á"쇷kù]æÏRL‚}ÀB—w–a²W¦'îVYìïVwºÐ o±m}ãBêA'”ÙGJ^ ¢Ì+Ö6–»Ò 5®˜u¡ä¢½ Hä/UIN¡™?ä§P|+­ú¹‡Ì}±šôSô‘@8C-p9­¸Ó$ómÇ֊Ù£FtzÄÈ@ØŸÇóÐ¥=5´ìµ”Œîaå­bI„ð~¾FUĶ>»å.m¿W$Lt/§_$f*ô{ D3¥ö;ÏûÁROÐŽ@"?=ȼ0ÙŸSFeò$²½¢xÏ,ãª,¶6F{ba1—âÚÆ„OVŸ÷Ì^¦‹l'3•lþÉŠ §¦›[JÀlNtÒ‹gºû%èrSôß²[H=·@=ÜÄ€GÉnú/õóq*=‰H«b¨¡ÉªBêéÜdgöO#(ù¡AÞ@,»æäÑ2|áƒuþ ï´sÖ Ä`¢ðܸyAEXW‘?zq€ÞéÉ{E ¨8ÂrŒA(—éMháó‘™Ð‘ –{°\´U×"çlï+Íw ¶Ûš®.òžzPeye䛸ºèÕÞNˆçOB’IkrïP(­K ݃#­…åÀºÑ‘Yf;ŽNui zÅÃ׺0ŸåÔPjqÀYŒäã2Ç×ÞLÍ´?°‹”ô`­¯j¼–Ë¥'ƒ4 T¥?l>ÀFãõIVÓFì…0ŒKqhLHni­î ×ÝZüv|2N¸!ˆ*i~ýt¤Ì*"¼¸Š ñÜ­HS«Ú?|rƒô.ÃSµ Ø¢)Az•œ`8[·yØ„s‡[uÂ:ÛiF—¬‚¨ûæ gŒ]Üä™1tÕÀIFø«Û±¬Äªí7ï­ËÍ)œÂK9Íâò¬NkY6& L(À ù‹²#5.:Ÿ˜ˆqÂjHWÅEF¾éogaçAyÎ-œë'¨p}÷ô,Þåë/öX­ª†5€Î}¦6‡`Œ¦T胓‹Ÿâú6“P!Š=d[ÁLqŠn¤Ð uh$?'xÜ”ßV«%|àÜRiÞß厙 < À<çÍ‹„´ˆò<Ü"-ºmpp5Nˆì©?JÄFXÛæøÀ #šÜFªÒu¬Ø¿{< ZTÈ&4|g‘I¶jZDÀ†N$.¹bTŠÈÅÚ>ë©<øV>¿Ä°oõm%{ë§çïh,ÌÆ©<þgh’nãÑŽ‰Ýg Å+KL^' ÐR~¨[@y‡]³Çe¡³ntçÖïö›³â\JXŸR,Áó>—¤èZn`OZœÊ¦Ëà]˜Raý /’”–îõµ‹I‹ÇüxcA¨¦*Æ@Îh<¯Xzœ\~WzkùMç'FÎ6в°¸‡ú¬Wÿ „«äòDNL¤PªP²´Ù…Á€Ä£r­Ú6ÑÆ±°ªJæí2ÀªQ\ŽÔZ‘Àãêqnê oü¢™ûIŒCₜMQ¯«ûœî>F‡*¶3™‚πО¦Wqé.³ÝvË]Žj7JÊÿÈ»… ¸xÀ ³p85hޝòŒëAÚÖzüÙ†õtv,¸Oz¿³þæßó××zǼWj Ü÷áƒL!ãðΊ Íî€øáÅ0y0ÚEÊìà÷¶àöÜ"ŠG¥A?Ùbw™…³Wʃs—œiéêj„¶Æ˜~Onîjm0têåožñËåAJOkR÷¡­™®ÜÆr%é¦àLð®ÛÊvÌÒ×Ê“eÒs9ç¥|›Än=þEîYl¥Å²Ãò¢p ™¼ŽNÕ"›Y#Äu·Íu,xLÁzãæÂ¤3¡Ã©üPcÔ€·ý³Ÿ^CïZµ*ó=Þ=vM Ìa¨™%«@¶å\YV¡YØ8ÔÏÃ’‰î‰5ÂC/2€ÑõZ¸w YÊ8ÒÍ^8`i—ǪÇòMXE)ç¬׈ lR«ÛA…ò®7S!;²»˜SEP E˦=]­o¹„i '’“Ù~¸ï›Ç0&ˆäsc8Ä.ØU³ÚsünwMѨ¦  •˜×À+©T%œ¥"µŸ°ý7!ô~ºþî©ÞMä1£~>¼üÊ´¦?Pk&s rƒÿ\:ªº»•#gA úG@áPœåøÓmú¤âY­ûŠe5£ìz^Ü \`ƒºšwÕ8Øúå|NÜ¿)+P)ÉOÈm^Ø\³Ok·¨'߇"îrÅvñ­µ Lì'üÛ5yZЯ˜bÕý‡èÚ+35Qä)ãY\ø âØxÅ87,|Z93Œ”üvPVlÔÃ,‡Õ„ 8‡³+V‹þl}˜—ƒtbÛTEYàâcSfÞ°Â wß•2évê^Ê0ÍÄWã/^4à;ƒô–d$ÿR˜öê칆nZ‰†uò‚¿©Ä¢ÙãKõi»œ•ûË^ “ƒR›UœùÉûZͳ‡3̹BîPï/ÜùŒŠn¦§Ç Ž_D:¬WZ·XŒnä¸ ùq¾w=ð)RBJßF®­èM›‡—ˆY• Ñuzšøõ‚‘_N<0>>“˜ëõÄâúó¼ÅzEª¼'^<Öö/å:|•äû(¹vŒ¸L¾5Œ¾¸Æµ]9ckS劜¯«óÆf“8^eC ?‡Þ|múüÿ*öV¥ºžfpøÄH±›´ºØÍN%¹ìŒ7Nò¨ÉKñØiS›ÉÇclú™#ã>S‹Øûêכׂsª28)§Q1DmzÉç€o×áSVÚŒ¸¿Oü¥vq¼~a éu=Â^ó\ÄãIÂÎwÅàç.»~ÃfA:€ÇdEžY‘è” 32‚{ÐîdB×p QoVÑña R’49¹´í&3 ¹º ¯+963? (f¡öº‘‡37/§¿Ò¯qû˜¶6 ¹qwµ”<Î>_DþPv¡ƒ!FÝèH&»„€ý¾ÏYYGÄ„gw’õIÕn–íLÑæjŒPü´ËÎ&QÁ#gŽXÓŠJøAåR&i0òEV¼÷§0;+Ïè.ú zÿÎśݰETìG']5m¨+;ÐsºŠ›Ìgô}‰€SÛ¼ü)à±T:cʃ4æ®y¸%œU¦þ̈́䔤㵂¼ªžœÑE2,ò¼}Õ6o´µÍž³ÌAƒ3}}ÌBƳÙÓ6¶ÜfSkÈØ«ÀIÎì1ŠJÙ»UV¢1-dø\s4êØyãEÇw[i™«ÿl>NSb»PŒq#Ф£|`›Ü‚‘zaˆ@›TÄZK˜Æ “ï`NöY#w—5Di†5…céDEõ7Û•FÙD%ÊGWîG¬ÍÒ§d17lTXÖQ#”–¨5Å}ݽÕXHëeaÄ`5ç„‹øÕBg˜H\RÎù_“ÌùpãŸÉþéP™;{¶)Œ‰Bðç§“8÷{ò ?Ö̤d2®ô÷QD,½”ÙÆDÏà¿ûY6Ãk",ƒY+¦ø¬ìŸ¦”Ô| ‹|킱ÛÌ"‡5N0<äZ‘Å×åÉÒ¥KpÖ•Ñ[¨»pMúõbžß'hð€X ôË@¿P)˜>mUˆÒ ÓâÀž±W\C +$à4 rS2jŸv4*º à øQ%ç¨&fKÊ«¬3}R-Û;%6(PQŠ‘3<ú"n„‚^åñ;æJ Òcw‰fˆ–GùM•NÇzãšÕ™ê j~š,^A’þ>éÌ­‘P“Ô²—ŸŸ²Óˆáhæ ]ú_†9%\;"fÌq|ˆN”ø¨TØŒ„Þ€éS2×Äå|ø ÙÓ¨z¡U}Ô ×YÒh3$‹/$º§ââ—ïÕ4·Äñvh˜ýšP¼ša.â!+Ö zÜo ªùá—:CôN)F1‡æÃ;t½7òT4 3Nã˜U:lëA—1ÃW%ZÁÃQ¸žÈí¯îÒŒºF+zhââ°í¸KõÄl'ºXx~ü áw/’w´CÀð_g°¾tûkn NF• R£Q¯ìY¨k”(yE†Pƒž…ÕüðÔ¾D’ «*Aä"?O£0sàþùØY6KïeòYñ#j‡íq"} ­Nþ8yfe–¡€ðìŒwE‚e‰d%Ðêé<&Åpÿô°Ïz E âå³P©¾ÌƒbÖ÷Ъ† 45Œït°«‡2›$7ÎßCx‹ƒ±˜¢dª¨Ke”‹^3vrÜvf‹â ?ñq¼Á͹³Ã'øJ)S°c?³p")™«ô¨ >,=ºM™õóªnŒåi(Êû½m¿ ºov^–Cz%`maË-Ç%ðqïèG{LÃݤ@„agw¢Œ™B¿³Žt»n¦NÆåäfé#™ïþ#g¬¡»µD¾¨´ó.LòŽ„Ý7 Õ ©•–¼pGAVCw+ü¯Ñ-›Z0‚9°·o*'‘¹àÓã[~»ƒ/­ND”6ìÆáÝ7@±­qîC*v À 9ϹC(fhß¼ èH`ÁwÔDQRuœ4œ–ðDZÙìÇñ*ùÕþ:U8Ë’ÝÕ“½”ë]—\óÕ|8þ6pí±Ñ©Ù~sÁŽës?iìŽ3UZ:Jª!‹ ’“ÖéÃ_íP„®H‚ìp(•N[x¶=•O–ùúE¬!úiö•@˜Þ âdš™¸Þiœ×yq52Zê„’ËÓ‹U­÷áÜ„³‹ÎeqÍ}<AØTÃg´| Öí–Þ” š¾Š¨D–Ø KvšHœ Íuêÿ×A]î~ù?䱺ڱæ G}ösnü† ÅÄÉ\g+>? ¾Õ'ú£¢$”gHâ§èÌʪNFÞ-£ã?CâO<5ïm>¶Nß1ײñOY–T’Š·`a)¾ ó|zA²R@‰–¢7ÐÛ°âª%C}»Ý°¦íN#”–2ô9‡§¯£c½Ø’‰ßÖçªõžµÅ„ÚŒž×x9X¦ˆ°†Cì9kµìÞ4¢Ð¤m4Ò6Ãt_½nVÞõí–.X£%™y£eדycÛèH®˜ö—65Ô a¾Ô³0 ¸àÇéX` S MÀ œq.ÿÜd™éàš§x@é¿uø€ã"ü4˜S1Óææ.G~V6ù$yñÚ’kíÝÏ´—ðÊÖpaìiJñ ÇJO˜Dcƒù¹½@ËnÝé rºà 6K†xÅNýɃžVL-¶ýZ+¾‡4çÇŸöôú|KíQg¢4:Æ ZÀ//‘ÛAdf-HV;ðèR7Ḛ́ŒB÷ Ÿ*ñ5q/л€¥ÄšS™dðÛR¡ûköˆ³qÜãÕàIÓ-4vnЊ周÷iÃó"LYÐ÷=òà{&5Ž…ìknNyë>aý¼E”PP¿TMÚŸÔŒ­XøÜë…ݤ°2ÛBæRçʹ*mÚ”°üÄÑc^³ö‡¦íª¸7™Vpj¶ÀyŠ^%5‘6i¹D¸§ %â i<|aóÓ#rì81×zÍ¿±õÅJ&Î'éJÝOKP¤ÍõŸ•Gû¤}\ò+TÔ‰³)Â÷aº}´sù-×Ê»GÃ-uDf†«D,‚mæžOóiSJ¼ëÏšyoØb`jõ{ò3P««S\ÜÙâŠ"5Œcò‘Àäg¢½ó6 û°¡—åtÜÖ}¾I ¸ØÑoÐÿNΧ­ 4 ¤Qv˜°ë€% l¬ þ¾læÁ²ÄÕ*ɬž¢¦5Ll~HN~à_$Ö¿ªbq*P ¶é‡éÑ(/§ð¨~Cðô%ÒV1òÙe¬îœØ°=âqðüR Óμ¯ž+X†ÄB«Rœ‘܉…À-®âÕØÝi%¾Ô=˜—ú`„â æTÇ9ypàuZªÞRj2¦;‰5@Ïã’µÖÝê%“W°m3H?òí¥Ô8=$uëtç>ì¯Ñ£§j+kÞê[Bô!¶Ørî—H³µiTî¦+KE¸þŠ<øB`bC%ÇÙõH»:Ý%õ³ï­î1jp;Sà0÷Eõô]àpþz{žj8Õâ™YÓ«xù „»ïë“wPS{iŸÆÐ/“:gÃ)ÛXõü—¿ž…›ïwŒ¦¢»Eô6!ŸX ¥œ€;v%ØB¸tâZi…Ú ;ÉÖ?™>0›E¢ç»ý{4Š,nØÛ‚@â ˲±1èÓ€.!Ra÷5÷¨†üf]´©¿“AyU£ÿ6SòÔ“‘‚MBT7¬óE|Ò—&Âj®|çûÈv5Ò­³~rÃ5ÄiBŠôÛ~Æ‘ÿ’*§LsÝ$üQgH õ‰ã˜à‰äë‹t%0 Ü%ÍŒòb9ûêqû¶''>?C®ÕáäŒÌ^%ñ¾¨ž}ñiÁ®UÜíü¬l\£[ˆý &/büòê‰ß0cj²ýË?‹„·"J]µ¤‰V¸=@:#u3öfÕNrtšgcÖ‰™Êcf8øðî„›<"ÿDŸwa™;©'Õ«×q“´ST5ZwgúÐLÑþ>,.©®z³'[yj£1‰ýTñHqIv#þˈu+q°i‘Uˆ)I=ô†ÿÒí\¬7’L¦Œë&a ëuàé³ù²§˜äžX5usgYNؘã‰Àð¥?îÒ•ìDÉQÀ3‹T‡ö¥âá‘‘T>]‘)€,.CÙ)i¹mwƒ‡áÞjWWÐ{t^—Á6ˆƒ»ãÁ™òÐI8®J)¨vçrm4jè~kÜÆRac7Ã°Ž›’¿<Ô*Ø\ ÙÎæ²¤±d6Ì´ÍV?ÊSƒâ(!”/yT›ÂlöA†WW­xÇ Á𚣬jP3'!8?½õ1YÀn¡œ‰oykx3oèÐ@~©–¼‚‚Å“TѦ7à*šf•¤YðÆßu¿›¶IyS]ÍUûÔ5êìgòÀWËómDUòðµY; ïŒcÝòsš/Ò²!ê²m÷‹\€ü©:)hç´¡©/ë`÷Ͻ‰2­3IÆD®Ã†3¹$„Ó9:þwŸUuÄd|ò½Æå“³1òÚÑn0Ó hµÈ(ŸSg䌯4Npf7 ¶c£G´“ôö" àsêÊÓ±‡•­0S3zü‘&ÕözïG^^ò‹ˆÿlG+éBÂp«¨Pù:Ç 0¢ <ÿB°.Þ×༡žñ-USÛ®}’Å^}Ka.ïC­þo/mּŽFº:û­ãëYóªîrf|[ÞvúsBK£‡Mk”[§D˜¤Ì\ë&•C펎æg_8™“¼D»…ý2Õ&¿ª´Â,Œ÷ðéËÍÏ%q÷ô‚fFpøjZ½Éa˜ ­kóIp±  Àxr?}ˆ»Üº³›b\^¹DÁÉÓŠ8éªÈuê,dæ ¬˜ðR˜—ö\H6µ ¶÷çqBxÿÜ gËÁäL±sŸá|</ïnÿxÿÝ”“Pà—ZCÄù0’¿º€Ö1–œÞ(¤ð`òÎdksÊç1ḇMEºVæt3Ÿ&„fˆx¬WsåïªthÉœ†þ‹rYgãÖŸš©%ÀÅ:e`ɹ2./ ƒx‚Ýy½Øâ¹AtñFIFOÑ5;2@À(¹…Â×ÿÓÔ)r+Ïû‰™,6g£¥ÎèbQî83ÀcÎJ±«§•àh äšq?G6t/Á×Ï=\ÆÜËÖ"hEó†6æ®§bsa©$¢hÄ i«}VÄåŸÙSMÈDS3Ðg}žá é[ÌêHUuvIÕÞïß|û´à2J|»u0ªÁ·û¥`<0.¶8*6ˆI&„nYÓ7$‚÷ÎSRÂg;@*K§Ž «œ=J-]ÝŽÛãì¦}— O ‡p l9ïdUéýpºdSï‘fd¤·ÖÃs ì¢K Æu‹{òOjŠò7ìDS2„¶.ÀUê]¿›:nç÷׸’Ͻ (À&Í)EÐÍLW¸z‹wÄIL/q õŠÏjþÖ‰PW™>@Å•õƒ8á¼Y+$£?Y< P–$ç{ НqmÖtÒÙYÊ¡—æ¯[Dwp˜ºo£âÚÚ^k¢”x,Ϲ-8Ç.£ñѲ9~OH’-UN\¾vŸ•RË“Õm¹Ø{Ã(©± øÞ'´ïÀoanI·éÊW]àÃAÙ+¤Ó4…kïƒ^ƒê)%Ï{0l\²‘tm»u¦ƒ*’6 DRð+#P“4öï…s]ÿ(4¦ˆpŽˆ¬Ù}Zڋܹ:lHòƬþN¹^ê”ÂÏ– cjmdŸ¸ƒ½¼z¶ùk`<ÖÓa%ˆDŒoz0Rs,K ©lt–wZÜ$|ZFFÉWëÙºÐöö¦SAês` 'î‡/LW-}V×ùÔ{-«2Pót#Ÿ)NˆÐ·æ¡™%AЏ4{Dåš' Ƨßߤæá® ÍiK=p)ÊsÖöUpRj)K)~ß”#þØIr ëΠºðós)96ÿ‘ˆªOBà=¶?Y®'+d¬6wX-@¯v±ÚE:ìãø»ñ¹ úñkî {AsõjîäS:& cN}ÁQ®ÇWŸFJò@‰ÿ"ó‡oí•@ƒF7ýv#œè¤±:CK™mÄ‚nS±ÄÔ¥|^úFgfâàá Y73ëˆÄcðBÑ@˜×O3ëaFóªJa»·/ÕÿÄ Gx 6ÕãË>,©ç)hœ|Ó­~íýf×’ûégÅðJtï* \ðL+K#ÑÂçw°Q!xÞÕj=ò$Î^`ìØúïµ\\8¤Fiæ0`kÃ#Í¡ìùšÇ‡¬µä$ ÎPYíqHÔéÈ"-9D|’½E>ßÛŠÿÓ;Jßvð!}çF}!Q­÷ùGЬO¨÷ª Q=øFë fñP«x‡ÿÙ/kÜ-J@zÔ%¿°EÓÚ#Q.Ýb ïibTqÎYífáÝæÏ«à¼»*Tð›=b½çÉ~+eØ"³$'»9P‰¡OG¥yWæGÈÀM=w†êdžË±Júd åîq‘©Á¡ß†YR¬§]ÍêœmÖq•/˜¾VF ^…j½PYÅÍbŒ–ú¹IC ŸÆðN¼ð7ÂgãØ¬´Töúô—ÒH iªÇP¶ÑA«oAÿóÏ"êêâÐ¥-~‘ pÇÕÂé–¶Ñ}ÏLnlAd¼ qQ1rúo‰35¯./_È‹È]Ü…Ãv=xã`.ùfÐâH«ßïMbIæé‚©¶ úgÔ£¬²¸59ãœRªëðedFÆÇrÑwµ.º¿á-1§»Ò§’nYúêÂÙfÚÞ˜ÎÖ*ȾQ29ÎìR©@ÈdÙð;œŸzÏö¼&õ+ØLw” S-®$Ú ê(?¤Ùç3àm[K¿¤ªl؃ñÝb—ŠIŒM¦>ÚT?àE„§|õ‰ëáBcïÁ¿¨KLÜø{“+o—v÷°"ùìÍCjâ)o£fb–Ë…¡%nQ9Nêí«Î5«l"´*IòSû€ÉK›){&#o¦µ¿õ „æpd¨Ú¸'y®)Ù/šdw„%‰8øöÃØjH[µÔ2Ý=¯ªW@1‰Èó¶Ú‹ m6'ÐÁÏç2A„°hãýþ(ûµÊòõ1r]öw$*»¸_œ{tÂ,¡ÈiÂ?ÛCåÇØ@=|¶A !­¢Û•œ½&%Òò_N ·+Jýl' ѸÍx^›Â…B=òÏ‚mž­#ÐhŸtÁ|%Î$…%ž,áØ]Í™cé?w¥aÈæ~¾ÑߌÉ÷_cjy¦¿îµµÞëc–:þ(ò»Ùzϸ^ÖÉà/8`OXV_mȦ©¹·H¿K…vЉ'b™e›i!‡HønO—<\¨9º­àйOcºqùÛkÛ|os& ÔÏf”n2-À­ßÈŽ:À»Œ+4üÃÚFxaQcõFõ·Ú2#Í6 _ÜÌ¡¿ÿM…~ö.[ñ‘˜¢PÖ·… j\iУ, ˜lºÀ"ñ–•iØ&9 ‚óËøÇ‚z"èÄP;c/Yz3_W¹¥26,Mç™òÁV]1¦£A þdI‚–®|+Ã9le”lK,ý–¼Àq/Æ ýĈÿœiÇ'¹p^PíPal˜Ö߃h)B 낾Š<¶{áÔŸU™nçCÒQ°«²ÏûWJp[S­Y”ºVæ,;N§ó…EÎ= ­Ø±†\ u’\ €Å‹ !^cùKBÏ\ ˆl#Ì Crså¹x¯œÝF/sA3m,<7ç„/.Ø@ûÔs•ïÈý òåï›WƆóê`ÂYµqT®¿b†7y,b†¤Î‘P¤Ø¿­Ýq0)wVLý›£ëµåâ€æí¯ÌŒÑñ7įàª&çó@"xn˱Z³Höø’/‘¸oÆ_ø¥ uÀ-¨%ùãò/–zÄû ÆsŠE‘' ´ p T— †à4Ûi.æ¹é÷ ·ãœC¾ãˆW£DÔÈ1W4üÛÃá…*ý•ºÿ)n npãŸñ&Ç…ñáôXë[Y1{úsiêó¾_ìm—x)òëîjú9“V¤QˆPPQ¾Ý ç|J4øÞDþøoLú0à ]Vp§.l)ŽL•/›ï ]hŽp¯îùᚎa­ú‚êœÑWA÷7Nm^³AyÑ–U“½_µHŠMi‘¶tK=C0Áº[mZ<¹~ijà4wû åPRÌÖk$ÓQ«|uý岔ɷfÈÔZ**ÏäcÞæU XÉ®4%[ $¢1<²#ýïV¢°žèØéï{;Mž²àt!´®ó‰›ú™H‚}E™ãLEß·ÈÕA«ZgbÅß”À^ÀÚSäÓqj’˺ð­ÐW_º}¦³Ãiê.F!8+¯‘ìFü°âVWK;ê·dcgiü;7 ÃYú·äÐxÁ½¸ôvs˜K AÁƒxèCÿÜsYà”ÿ,ž‘~7UÎMùÐ›Ë x%à<)¶„®®r÷V?ÌgV}_£¢@pÞ‹SgYG†ÜÅð°~ÐË=©Óu1 „í´³ýðRÁ¶?ìUöì§ZFÙfç«;aµ”g«`· gmÊÙŸb£ô¿0pÇ[]yšÜuÑíÙÔ*î Í·0ÉÉ8ûÐÛÍ µ˜ý7ޝõÿ*%ëîØâ!óïŒÂÃÙ<iß2R]Ì/IŒ½„ºèÇ]G(dw€È_‡«vUd°ßç=Ûpa¾g?Ë¬È õ Ì7Å(W¹ê-'¥„¨Îœ}·cŠ#¾K¬£·ÑÓ…fZ)5šçº–NŽJ¯V™'É«a+Ð×`‘Wü]¡ÆgN=ï»ðÝ|¾È8ʸr±“½Ç)ñëPUÔ*W\·ê­‡HëÒÛJØžØdªÑO° sÙßiÙ¼WmWÂgÖç~d]C/5ÐGÓ»X1/!T¸"[‚FXé]Ü6Ü^oÜ­… D«‹- C›{'œ`ï:…—/`†ÉN+ |ÅJDjh|Ú’Š]ßò·t‚˜ \÷yØ ê¿×ñ³¦?€ÎÞ MrQÊœ2¿Í¹‚9n1F˜vGï×Ï8PØzü<ßôfíë,¡=}ûçww§¤.]ïlš‰]Û­)äw¢!–W\©­Çc¶€TÐãÝøõGáÇÜÎWÊÓ&Ñá¸j¶èBšvйÔð;EOj:²(+…,ÿPÚرŽÉ©C's/cd–„êÄý‹ô wžâ«àlÜÊ'g×Q£EpˆÏvêñà0:ìVÛ_dë)—Z÷\ ’ ÆÖúœÚIG@„z’:N}ôÉ ,J±x­ç`M³ö"ˆ Ÿ 8§jß hµ/fïmÚâZ„}Xš²ÅÔ° ãv~‡ ÄÒí‡/@ND)ŠP»ß¹ðý‰­á8)½æ—\ëÚ¢¼ØüãȾ|*ÏÖ]ëR_‰c?çÎ ªJ~ál ’‡/†ð'Opýä8Öïø…´ßZÚF•£¬ '+ï[ Ô¸úïÀ$ߦW0úš®ªû‘ n«;šktÇBçf„×A7hM!@S%-Lb©ëW¶ý}¸û5þ¯Ã/`që7ú3ßõà‚f=í.å&íñغceA”çϵªw>ß|Ê=l5ÈüÑ´ „ˆÃ¥*bàÒ„m’LcáÌ‚Çe"íf¨–>ó‡Þj·«-ÕKáQsÄ‘ŒÌßKtº.èÀï~è0•3 0gU˘YÕPv}Žqù‚±²ƒªgKIªÖOS^$¯h"]¿_Áz9‚æq£8&!VÔo“w²ŸHj¡æó»™ûbž±ÀÚUÓÅîAz ÀRÃ~»nÑ+¤ù@òÜEêWmæš$V¸Ó‚tîx÷ ï9ç±÷¤O¶~â0ò›L£è/?h˜£s5Ôˆiº5U’ÚÖ/##î$:¸ù]YF¼^÷Täò(ÖOW”Z2WPwæ§j²ƒ"ð2„ÐèLC{ ¤Ÿ+SqÑ+·Œ©“¸ÐrÅÜÑ(‰®­T[„([´ á-±ä8Ö§xZ{N–/]TW„¢ žGÑ¿»ÈA¥ù'ÞªäXEÁ/L–j @ÙÊç%°Gªº¥f¨„k6¬ÌyeYgƒgÒ5_Y’”ªSÚ·2™´ÂD¢0Q¾Ý1ÁÌ+ô#9?ÝÍÉÓ*v®«¸ÅÂ<œ§®T¿f>Õb#*û=‰†œÚÒÇOn¼ ¨Ò.ÆÅ¯üV½$ó™$r"poÔ¡æµü i6Â÷ËÛRsVE…o˜`ËLu\=hØô¶g¢oE’¯:y£%Z h‡¾Y‹ÅއÝëApæÃðkV Pþmœ†ÍŒNþ°a<Öâ oEäN¼ŠœØ^‡V ùŒ: ª‚yÞ5îXÚµ,öÛ÷£æØy‚þÆÔÈÔàÆàŽ[ЪvL¯ÌžgÉUÌùdÛíkº ~pxGÊ¢çð>ë~¢IØ·P°·çón}¬“¿Âh3ÐÀ/[ìÂÊG$"adä„*£ºÔØ[&,¡Ÿ7/¸€Ú0C&]6H³ÆÐ‚‹ðq®ðÀœ/¹¶§Ç+ìÿòߢ9õÌ› TLŒu˲îþ²Oÿ[ª0¤â´f!†W€@üu~$ ldyßz©>HÈä—þ÷„ɲÙ‘[ècèŸóKÃ2Á^1DOˆ~\ö‘Rl ¬ºêë‘ý}]ûuÉ­^u×Á¥ªáƒ}Žé;͆ȩþ¦#õõ÷·fu¶åÌ’`Ý&_èsºŒ ” ÅùÄWý‘yÔæ\tiVI‹Pôjåè9®ú$ÌgÕÏ%2rìY&„õåË~Ù‚Há"¾¡‰mÌYLTʘù'gã ËŒÏ¹F¨ ³À^ºŽr¹ÑY}ë¬C ª…ùP¸~šÇ<ƒÈÂt€¬›³ÅB]ÄjQh¦ˆžz«ºªÞKðÝOgA»€pqLö$A„5X¸‡ÎÃ+ò;%ž|\:ÌÌ\¤¢ìÞþ²zrYZgv±œØŸV5ÔÉM ý&׉Ý—€V4Ïš7¦T£–z7ë‚«m„kJΧӮ¿d¯" +J€Cií¹¤¢É² *2*”vhuúv̱WËin«O§ÀÖ×,î¿(pÓdzۧ—Ìêæ# ]°ižCÂf„ÔäZ–S)M§kÏûU޼"o=š—¨þÒIÁw´CAùÒ _‘§…S0¢tÐä}(1‚È-"Š‘áÓ<Ûc ÚÝÕ\‰°´²h?^œÀ™j†‘ÌGªì€°Ø4K¯é+y¦y¹¬ž¹y6è$\,¶s£¯_)Q‘— «ƒôƒc®àûÑ–9œáñ¢óÒRҀǯxú¤@ÙWfàö¥¯ÉfWZ1PwÏ»~íß9Bé8¶§¬›û'µME Ä™teŠ$Ã$sÕ‹EWÙ“2í!ÎÔˆ\;áh)@²‘½ ÝS=Ü<î-Í >"†ÙxðPý¦»×¥\VTܨE,q Eg²ã@æ$©L9øéœöV§âšù¹cB B«M—ñ RòãäXàvßòAœÆøXäaIk©!C KFˆ¯WZܶJIí´®ûKÎÿÆ?§E5N’ähŸ]¥«5Ç7P`€ Š~ó~<£zøúíÖN ÕçÕò²mwƒ"§‹ÃübCÙKtŽøÌ©}E¼£_Ûsj3÷|¾:Y¸Ú×ôáýäÓg€•v°Z•‚qXðJ…Úx¤âÿWÁtå(©o¤v9·=¦•‰V$­Ì„6äà½S eKJZ›4… zqÀ)¿vb[ö›Ïò0+䣂~â*Mæ€ÿLŶNhOÇK• ³´MØ%;oê0f”1O:)ÉÍ->ìeÅ·ßM#£Ö Z鮿Gú窒6T7k{ 0JýTŸÈâ“êü+¡Éjõcg,p†~ß1áªjä8OWª7Ò(Š éã6óP"˜Co8m8™5¶SÈ\,ùd(H]hØÓRÉ-yìoJȬ¦¤D—b¶}ªŽ‰Kì¶jrëW# ×^‹-U°ça¢”të`'ˆ†ÇwÎà^OšAQØÓ,*Z Q‘óèhÊò”ž—{A½dÜû·ƒüünY)p^ÄÈæ0…xõŸyÐaC¢Vãxî¦n½h!¬_`Y¿5ï˜ÁÁÜ )eª[Ü+³>xûæKýãÏî-#BòÕ‹3Ú-@9ɪªKÈLw’Kä¾ oÍp·ï´€ÿÊI=j…!*×ä‘QK…küþ—lFŸñÁzø#s4zš3f‰s /×fV¿¤”î ÓàY²Ì|òïB‰u²Ps«ä5ƒŒ½yx¨]5OÃrè 8Má§"ë±C[¬ˆ 5vµðßjH7\èŽîΉ² ÌÓb³üõ"ÕÚ_ªês¸9Ñ;8î< ß¿4CT2r]46Ö¢ro~Ù׈§¨]ßR Äżìuœ8=ÐÎ@þµ)EGË'@†ÙÕ+è8ºIËÌ¡'CÄBÑ]¬`U£Œ>4 ÉnÙŒMVºÈÊ¢kEöwVCö/°›CÁ `µ§Ńv'e…}5b‹NÞÓóU}¿ÆÇwŽŽû#5:‚WN#máîm.Eož¡]»ýôodW½MTàlâw¿<ÿÏú¹BBªÒn{¥{²´éœëÛœS üPL+gèUÌk¸Ã& ¤PF¿ÍßÒw¥ˆAþ|@ZÝ6¾"=v–‡•1ÊÆþ~E¹±çØ&F¸²ÉrÓ“3vô\ªaƒSͤ`›ôkðïNºP… NŒ ðZ!o°‡Ë3tžœ:°wÑrƒÃÏâå ­]¶âeþèaÛŒ^‰ãýÌqø KŽê×K‰jîû4Œ)‡P äWʪx8ÇhþÍäßÕô3NúS[hH¿C4Dî_q¼Ä¼uÿ· kË‹Þë®ÒÀÎÑàYÎØÔwé2öHZÓ¢¥I?!`7r¨lz.‰<ÄŒÚVõe¡©“%GhSýº\ï¹Ü–Ñ{ØXüøÂë{$Ý Ý2\§µîgZ›¢¼ bxÆ„5ÊA›†»Á™iÆòC«GÚ—ªö¦°Uš†‘B\9ç.üãÚÀ›•ÔDÖi±ÅÁ™gF=‚öš¤ÕR!/=KŽÏ'@¿løÛE«œD3wÔÒš¾Å62Ým’èUÐåTv$²…Ázþ§ˆÛ¿·isÞËÁÖÈ“4…+ÒÙÞ!ñX·©/b¨º‡!Ó…sj1«ld·Ù)¼ sšàñvC] ˜ ºÞÞ—Ãù·pq|3èm²ý9£HîaȰ>ÖvÛ!{ÈT¢Ö×j) #iÙl”Æ|Q„8PŸƒóߌŒR/ÚóHÎè8Què+ Âö¶@ñ»Ï•`E¼|%)‚“^é­þg<¾&Pðr–¿–žèŸx”È)R²TöTþ\ «¼c¼mY,=†Ç°ÝƱÀ„¥ÙhüËZOÀ€™&ÎC"@¦sóyô[Á¨W|ŸsÝ“è}«¬òÁ³·ÎUœP÷ÚZo=ð‡¤ë† š‹8äÐϲXÁö±_™_,•Ü™xä³®–ª’QjA5¤ªŠ• /×p©ü‡-{¤z¨£ ¶S®œ=p¾Šü³ imuÄäú^ç݉­^i ×ÁÀé5‡ |kÌypH—­^ºŠ+'Zâ„ÑF¬N€ýcڗ⋾Ëß¼&Ñg™¤ UJl.…–¸¥‰ÔR7Ø%óùB«žeÇ£0;ìQuY`Ü£¦ØOoÓ•_ûÝÌÜ7ƒ---K÷ù]ÔÚ¼$¢ ’ÁÄå³\*hxzkj»æCµ8µtÏz‰ù¤ŸÄÔ!ºcyB¤¼ÓÝ%+ú6ÆSB+&Æ!;¢8dsÿ é»lºACªÀ¾«s›F«6j×^ÝÿeÒû´Rõ2b½f^ Aä>3[ÿµ²*ôúó ¹´'³ë”°­8ª@xTU ‹}É|3.Mb‡_é óÆ3š5š«²>ÊgIØ; ß-Ù]2äIÆh‡©AYßw–ä¹Sïв.ƒ ¯Þtm?ÊöývŽì€Wxε4$”Zða°½%AÙ,Ñ”ÖJ7ÍNeT¬‰˜éÙ¿ýÍø8µt> .'Yè–@+ØÓĪ·ÈmZžô½Š6 { ¯ t¨¤S&åÛk†Ó¾õL „×—m….¢€XÀ‹1Ñ/Š::,“5É9P=ò9â¨þ„¹¡uJ'¸ ´vK¨È&9„Ã%W6Úg„Z ìµïk[Õn6f–£¨·V.ë®g‹ožsiDÜcÛ'ð‚p‚^ÓÖ%i~wÇy{-¸‰²9UiãÃÆ+Á‰è¾ ùÚ fôä`ܰ Y¸¶mc.õ’$ç´P·ØS‰¡”8 £Á†‡e‘¨8§þèDŽÙÃËáë…$µxØÌ"ú ­6×ë¿mâ& þ|‹R¼Ð|EF¶Žt‚Öü‰¦ås“]ðžÍéf6ùЦ«ÔŠäÍÌg4©:î7ÓZ|¥w¢È ýf.?Ò)U©oºÖ“ÎüGü² ޲4Ú‚l‹¤­U¬Ì5âÅôó-¹m{FHI´s@,h®£{Ÿ&)k)"ž›U•ºIø“qÉTŸ–F-^Ó¾,½[ о4 HWRÙ¶”üŠÿÎVbBh½¤àן_±µ¾¦5¼ÐÎ_Bz ^¡—p[»aÌ÷¶AIüÊAîØ”%.îŽ °Ó­kÞDÓ篤M"²¨ûÔ‚§nº;„›Yµ˜SØ$ø:)Ý`T" I¸ÎþZþ_7‹Ú;öήÔ=)éê?R´]ÌÕר߭ŽÎ³ÂIì²8“Ëð š¡¸t±\ÙUƒÁw¥&°Ó¦Õÿ•(*£éYúÆR+EÇ~Jˆàâׂf•6e&ÈmX@b\3/1AÙe̸-½Ü†U}&ä ÛBò °4Ùó:C&€{ðd9Gx £IŽ 7ÇTÛácf+Ý [i×QäÙ˜Š„ŠZxºdÐU†“lP°5ÀPÜP{Êöuj²ÿ0’+1ïÔÕ@˜™fP÷¶r} YR0`ò7Çææ|ÛN2´Œ÷©óÌXFäŠC‰©KOÖn8ßp%A“«O*,{$k˨‚!™lÀ ÎEb4±×éÃ=‹˜Õëñ.ߊúå8Ñk½S¿¤÷H®÷XlÄSj °62÷ÅlaÞg•T?¹¯ݰ¨Á"uŒYíXŠU´_ÍìkŽî¶ajÈ@Ÿ^KéæP’ïÙŠ‡lÚ·<ù"pé[ÄSÖ/í:#¶À¼’%L×N;¶Þ®GÃês†¦=¢|–ÊdÛeˆÓp!êÒA®u"2:"Ò亰Pö¤ksçœÂ=Tѹ›rUt‹EÑØ¸¹jG…œŸOy{}Sx”ú`a²Á!®N Á”ß:=ÍX¥ªPk^kûÀ~zÜŽô&L\yMâåGñ=µí&`¸Åè%ôhIdÀ|\ä|î`IpfÚÖíRÅœ2ábªèp÷$‰£+Ò€!mí……8rëDXøŸ…³[ÿèÓ‘·Ã^7]]…ý$Õpü˜÷@›`ì:f^Ù@N<¸V÷öq:ÏhfH©°ßœÿ`GÚ@Ð}dVÐ.ÇI YêY²B’hyŸŠ¹ˆ‘t¡Á4Ç¢ÄV†â­F?YN?™úØ4ßœožoù j ¿ŠÙÃKø:—ºÕèL…FÒ¥)—–ú_I[ü‰x>"°¹¹hêÎûÐl ²hÐ ³«³u¤û©›¯?ÌðÝø/ò^þ_¢ J¸vm1lMä–\‘þ‰4œA_=¤ÿ˜†òovüD?ÄZ+%´·vX¬|0]^8o_¸õ>¢úŽÃ¸ãLekåèÓªÌâÆ"›ÖÕúêgn"ÄV.#ô~bã̰úÔ©uëºýžP†ïX#yÑs{šb·êË๣X,OÍÁõa Üt¾ÃýprS¤à£f¯=¼²¡ô×p€€Ê‘5äéå9¢RQ'ay]±eW%r?Ý&F2Ñ´ _ ¿ãÆ=MÂÍt*Ÿˆâ—ŒG•“ÆênAl©\èá *‡-…ªHd%gž¬/Dé·ÎÿŠÏ•;Ý‚1â(ˆƒ£-å–ü·S‰;?öi!¯{ƒ¦ì×´¦Xž(~hÄöÓ'#e)äƒAª´[±Ü!•\ÙÔjIZÍ¢ÈE…$…ëƒÊ9‹äŽóÄ9Ð, ϖű”lÙ®‡=T Œ/µñpA¸jûãGåkœ˜4¨ÕŒ®u ȃ±nîã ú¿ºUPOyÉ!Ò/HFMóbõÞ5:hþ4k8˜‚D®³k¡õ=Úlï$FRC¸©Çͪ6J` zf 4M݇Fî ÞÓ^—JY© ܳs;eò~«-­%‘‘ÑrÇè{/Ýi’¡ d¥Ëòqm±™Ö!RÜ&½Î¤µÊT×Ö,)¿î°†ÊKA"µëoc+ŽÅSÞ+L‰¡]£Ó5ñÏD8ð%‰Û…T%OõÚÙÉõPÆÊî0Ž R´Š9á>½‚÷EȬ8â6ˆ*¨áó)¬$o û  S¤¥nØjö/H r-¸:5³—Œ´W^a“»¾æ©‰7¡5¶×g$úèÓ#5€Ñ@’ ºÒØUÏø¶Ü=o‡çEøùš¦„0 y_6ìai OÆa¡ó|ØA³tG¹ÂßêA=ÚÀ$…†®…ó®Z8¥N_è“/ ¤/_én<ÌŒžÜÚÍî^å˜e¦ž  ÿ¼Šä„ÝdÞÄܲwâ¬Û@£‹Îò›|ñ{´&P#XB¦lË7õb?©%` ŒjñjÃ4M¢PM5òâ×>ÕÅüdÖ\’JÕãCFÐß§©LV!þ„LÝ;È0*æ=mÕHN/Ó ¦ÉsX!ÓJ»$¾¢oÔõ: êÃ8_§…œ–¤B¸Ģƺ›ª({@˜ÉãÐŽòD19N >Éú‚ÈibÄôhNb={C_ð~´§Ió]l °I6BÃŒ4Âj–ÊL(‹âÂÒƒ}h²~ ¢dÀÚ¨"dSèkBtè‚Ä*±þcì.F]ùù;?v£@ÕY¦·OÈ@Á4h†Ȳ ‘!ðžÈÕ£Í÷?§Ñ1vÕ&=!`y²œ`{ަþ: £v¸ÞséñýdznØE‚ ¢îOÚ’r.XÍÔëA¬Úò‰Ô9&tP¹g©”ŠãKJï§*ø2ÏÓRëÌ`á€ÁØýñí€ûDd•.æª “Ø|x<Š]Ôüq#޼×$+©;îfGÁ¨V^ø”H8¾õç"ää,}@ DebŽzHKÃWV"ë-×™ãàŽ£ž«< D²ê ’R•%m4¹33tAF ´|éiôÐ9V›YÂêÿ F¿…¤Wƒ6óÛÕ;kàîk>°QÜ™gìNúô÷æ:vìÓÁˆwí@KåÄûò»bÉŒë­Ie§Qຖ¾˜ÀîºÇK‚ äñÙíôà6ˆƒgp©JôÐÞ…ÍJ‰{€gÐ¥„7‰MÀ;…]Pä`è#ô}¬nü¬¥á´#*«Mòád^Ù‚þoY/øb¾µá‘ét)TÆÝMŠ…ÎÑó944¸&Wb<Õ ,z(07bXô#»1Б2€_•à€µéšï±†><²­O;Ý%HA®xIJˆå%¤¨Â2´"qÔj5Få ”›ÜøkÙ-À(>ãÝÌø¿Lçn'áz/ÎO¿($J%Æ—8ɪP„Å%†UÚzp>ìo`ß<37o_ø¥¢““ãäØ šÁôM–*u‡'ÉMKÐô§ÓÐèÏÄîW¢Wq<§ç+ÆdSe|ÄM¿3žp™lîšý? *'¡0€aËk%µMš|aÒutËgóå'6U¶„›AyƒÎ‚CÃ}¸%éGˆ~Ý-2%ÐÊ”dešEÊÇIÛQÝ<ª™XÑ”!Ù¼œ–÷,Œ z3¡ÑÛŸŒ±®ÆLŸöh4¬lb€œÉY}n¹d'Fµ0¹$ h@ûàÍ\%œ ˆXiMW&ö§adzÅAëª4¸T54ð¬Œý1O‡-dOHJ-ÉB“~Ø æOš±6!Z*#å$†iÓ¦Êf*þF¢n«h9S<úû;C·ñ·%o‘cG~ ÛÎW9…C:t9 ^Ê&½äsTܺI×kq\Õ{ú—–â›Èî§Áé›Z¡XÍ1&æ…-¿åÒЮ ‘µ.H©zëùøR‘ºÑÜæº±%mÈCø¶—-Ož†=}ZÊûåqÜ‘™¸÷·?ò‡+× ¼R0î¡)ðK»   ªÚ«.Ûêe¶ZŒitLa©ô?WÈ“!YŠbyÙiÁòÉÊk$ô€Cûú{¢›Ñ_Ì£çWøþÚEGÉdáh®é/„«g»·^kÕžK«¯Ü¢Àx:t›è¹UÃUÍk½Õc^|(¼Ó¡DcëÀU‹ÈTÉ…ÅW™£³¥ÑøÆLñ.Æ ø³VûzÐ^38z²B–e¦ÐŸ)û)è GË‚¡`¶­“º”ÄÍr4µtSR¡‹ÐÕåZ&\Ÿo‚‰’µÎf%é,§6·¯‹‘Úô¿±-ÿ¾³_ ^Q'Eí—)ÆUþ3ÔÜX]„%¼ñ«°8ˆþçù)­'^Ô ¬D¼£÷Y[”‚±O˜d³G‚aœ EµBˆbÝlõÓ£[–œ!RÔ='k‡‰™ ä2‡hwM Ѝ”9Ç ªŸ¹X{Ö=;ª8 5½ÇŒç2H®ôU@ÒÜ&Ò#^x¥LA ¡¹ºî8pN2Ó¯ ÐÂÇS·©ë612žÒ BœÜç7è*®-ôõì–DÝí(o˜GÓÿÆ{ ë½ QYaà,‘颣y$³ ϩֵ—ˆŸ|€é6çjxdemëé¯5ÑÆLEƒ§~ÇÅçòȺí®Tèb•‡Iw_xÔx ¼:*l,-̬£ÔÜÈ·Çø;¿Ì}ˆ3ß>ŠÿSk«Û/«VÃQqªŒ¯#û72J’ ø»ûÇÅá™ pMÖ¹ÊV“…† ­[Ñ¿äô½êuÄ®©_¨^¡§zîi\ÃÖ»íKÏ$ü4DTprH{•Ùy1äÔ‹Ûpxwðs牽s¡t"BxžDsôé(Àœm:,/zðæ¥¸ çªú•è©ã@H%Ï–x9~Ҧɑ$í²ÿc„¼)Þ°2ÿ´x …ʶnJx°,PQU\‹«­£Ð°ï13qtóIbXÝi+LäpxU¦]XêV[™w1âÖį¼Íþ‘,Û¡¡x™‚oÙsIͨkÈR >ÏuûryΓ¾-A]´#y‚È|M4ú¢ƒð¤á¤3æLô®‹{1KÇLPæ¥ß“8Ýd7t¿Þï€#èGs6pæGôf¢'PŒWãÒ4ºW(øÙ²í·„%pòÏÛll¢÷…a:“ž=z788O<ÿ]æ¼û ±À³ã`6ˆæŽeáp]¤,8¬û¨¹¾{¦çfc€ª“Ê’+\>Cdêº ñÊ"òk³¥W¨ÇC*âDEçÈmg»¨˜TP@·È–{ä㥞(q9F³‚ÒÇ}ÏV?9)záÔL<ò㹑ÊF’… ÿÆ–Këš'”ÆØC5ëö.ð÷ÙÙÕëVÔ¬½q&E¥ÃË)é‹ý1œH®•Þ°J2Å2°»Í¿Î*Îÿ»ïŠ$**=^éd3)éðÛ’Ù˜{EsWGÂÈu¥"¿½&Æåt’ïxáG“ÖˆçßïFlÙÉkQ+‹3 ÿÞw#GW œ}Ѿ*.炵¤­"¼w‡ëŸvêZí°' ýŸé ùÕÇ…ˆU€kÔ*$‡§°x!‚´›ª^ˆQ¹·îÒQVq7Ê0chìc éèÁUP~·²M¼¾ñgØ9>²Ñ.4(Xé’Â¥¿vyP€õD¦P˜fï¹WŸÊ#ÚUd„“Ù ìK<ÓÌ8 Q…}Q”’Ÿ÷áÖ$Í—¸k ‡±Þt075ùÜkÚY¿<\Þú~ƒà± ×”s¿†ô–ˆ0)Ç\L… oî˾`k£çV Ç“¿¥ Ëm‚¥Õ ÜTÕŸðµÃl¨áÄäzqZù„nŠÇwÒõï!õ3ý™E+ÛM“À¥Î[½ÅNÁŽ1ñ#¹j+W„v|mæÍÁØ*6›ÐÂQ×|+Å¥|Y ÛÍÓýƒjHù€›ˆÔGI¹ÂØ­ÍS‰ÈmH®b6’Ä%?¨‹¬¦™r±d¶vòtÚ?Ö¹¤tWÈ|A…;ý#¯{8²j `å/$—©®T÷“¯´Þì"ƒÖ ¼8ªÄ#ßéé‘ãñæ÷Ç$† ½t¤W2×ÒžiG¯?ÃO`Ah~)=ظÕk5ãѪ\]Üâ ƒr’rʵTýØÚ4D„±²£èçŒ!—­Â_;á]ý/"éÂ¥j>„•#>¦Œßæïa SS±Ë§ÂUårTG«S›¤=tÔµX/õ-¸ À ×áæ@óñ=‘›ú©Ó+žõ¢¤G®[_Þ™‹bšbÂåQ›V¶‘œ÷‰QØesžð‡4Ôl¨Py±`:Ñ3ËÍqej®ü~z²x@§Èô35\¿sx.¥Öž)/½+äåã*UÂÉê¢xÂÇ(¦È¨Ÿ Ø!m»ò#γ¯Í·ÝÅôôí“46ïÅaÁ‚c¡´~ ¡2­Äïn/Ãr4> ýÿGºÒ»X´Ì¨êÃ0o íyÕ•ïô€&™˜\ßì C¡a  b2#)kÒRýüçbZA+o(Õîw”`É%‡@ýæ) Ÿi­CÆ“’øK‡ò£âóÿò÷íœ&ää'^àV2«¤nwDØJÌò@ušRIjQ¤&ÔÜS0ÍëDêš.º g–5t®¤^7Wâ”Ó„û= @÷XŒŒ§æ%Dò…×_ ƱWÖÄË…˜¢÷©ÁU”tgç ¯IhµH~`ILY0ú€c<0.Å~R‰Ñ&e[ÿGK†ùä)-:隯Wؘ€…š@­~m]#{LUµÁ–$;߈³›Æ®ðT}yh¦î!ôЀµ±{æEG•ùl$ºíÀÊcy…¤¿àŽÎ2iÊ8AÚ¸¥¤GB—®çùâ½°bVå§¾3°¶‚‰îœªI¸RO¡ @ØXu¤š¥<[“l'kK+™}tœûI€ˆ±t OxtÄ1rU|€ýÐìÚ›+@¡‹yÕÇÖ¢'»’÷2žãò«Qž|¾ šÞz˜ 未}d1¸v~ØI3lEÏS.=éL¯cK ˆ ²Œe€—½å9ð»уܶTCH âá&ˆšMù«äJ%Q_½'®ßZù˜ƒÔ{8&W^â#ä {§Wô@é«åqS‰A`˜ ß=¡K9ƒù%ýžÇƾâŒgØþrÐ)mþäçbf Cúr7%¶/(‡vÚöˆo›³ä ™+.¸`œÖì5Dj|V¶yñ^¢ÛnSvJÆBHe–ÏFû-¡ Óþ!ÍÆÍ,«‚/R˜3²µYSwmY#VA(¾à?e{i¥ 'Žo€«D—Ð’Vñú¶ärr0ylë•ÛžŠèñ± ¯úÈU×DsѰêÌÈ€³Zbi¯j»éq‚±‘Ô1_ƒ«$1~M‡øÕ‘ƒïňN»«c¡Q|+ŠL¿ÇgA¡©@ç˜þ‹¨ž †'‡³{{¶ÓG'&$ – ¯È‹½úŒ{.ÇÆ“ï lΜFˆÄs¦¨’A »;ì»4w—à“qMåôhÏ©Oš-!úš=ê”*`"—“Že,ÝY„2꓇Võ‡ßy;mË—I#ÔrlèH–'£ÈcDݬæ nÔ€5}1ìÑ= иtÃXYø¶Šû½’t¡Ÿý߇º_ü«_§)àNƒ'5yÛÜ„µw Á»ŠRõÞmè]ۧT‡íj|²ÍFßñy°GðP_•›©&F¬›%\B¬_Ø€_DÖ9²éAÜK·pžÎgþ2[*îŽöÔ„ÕÿáøÖ(ý¾N æ,ºT¹OV>•œÅqyü‚ ïq\dá­”û©*;WÏžÎi±êß·vîq¡2ƒ;v,–úÊ Ã&‘KÀ•FFÖúœíKB—Rœ¡‘ÊÞÞQÍ¥Ê#d ÁØî‘÷ZÝ©æx.æ3òtÀuj‹ оò±?ûŠK5$奦Å7ØGZSÑB.·Cû¢ÆfQõ<ÉÁgC |Q̈6s€_¯’CÁøÜ-à˜“@¹Lž¿mš¬îï¬V¡ 1–ßz«Þ’k°Š¤Ó`~B sŒNÀÀ Þ(ÐÝfjO´tí©ä÷¯»¬ %t. wWh|‡1c7³¢OÇsi°Ð&Ù/±I^fÛc'µÛy*(çpë5¾åãMd¶4HÇÅ6]XxcÁ½ „·˜@’ )4gÞR+¤Ò4¾v¡3¾`éÛ"º>b‚e•ä.Dÿâwð‘È9º]õ{hC1‹ ÃdèÅ«ÕGŠ~„ ?ç"¥¨öú¿‰oÑ›ÿÈ:¨¢K©ð@ µÒZ]‘ mIN€–æMZÉÜökˆyî>‡WºjW_)F»j/¡Ï Ïfá jŽÅêiåyÉÄTYCÈF±]¾‘T›ÜJaÈRÛì_ê6#•_ø§'¾¨0ˆá ‚ sà²oü‰†Ñ°àöiöÚ¼_g³¢,Áãý±ràK´'¬/Rkbßét7ò8»}//³ê\•úo9%9Ö/_½©í–:`ÿ¥Ž’¨±ŠNzž6Ühù®{ï}ë”Üù/{"’Uãe®šÏ™îT‰â´©ýKSo¡‡\‡ÉƒrÿßÉy£ÅW4§@ªÏ‘H¤þyôVyöò>øñ˜çvÔ‹+”[‘loµëŠ÷¶ jT§Ä¬&"k"³ˆT‡÷V†Ï…R=b0ÈjÚ!ž´lÚÉ¡+Ÿcv „sÁ: ˆðÊÝ v=…óÀpŸîbSÆòzBµò7R­ŠÊ‡‡ùÙ¥ˆ¸PµÐ9MÀ‰{¯[÷”é¨Û;*†amç÷ò­yjЇÔÞd¶àc{ Kº!Éû-›ï åýq©ÕuþeévW0f;xÍ™Æu¥wØ$1©PqNlÚp†”‡ÎüìKû®Ñà ºÄÅ•!Õd¾ íóoúA§ý p/|kã ÂèLÿwV¬%û¨ $Ö:R wý*vŽ:Ÿ\”[îÄœxqõ%AÛY;ÂÆiÁBÇêÐEÙóâ³s½^J fbB‘ (4–ŽNS—/ÜïýÒð¤)Oˆ¹VßÔDØõˆ½mkÖ:¬„*£eH‡K…æ0ß±'·‡‚«{4[wø+¹!>’³ë¹eóxUøŽDXˆbÌ#­†ÎlÙöûÑ/g˜œ›<8§ò™¨ýpŸ®òd"ÿí0þºZ8û;Â-„ãv# 0}_±ý57G¡زYª{‰4Iû‚Ã`©ÈÐ@ä:‹Ü½Ä\ \Ú°üRÁøiäX ‰gw½¨é‹*Ó¾ñÜl Ó…(sk›ð}Þ­™mÁã+»\ Á­:S‹Y6c+VºŽÐÏÃç>”ÜnÇMÀN"–”ÅòPçžûHXáA ½Ù¢tˆy¶-ŠŒÛ[Gî>2 >u|éyƯ»‹‹4„^zÛŒôhº˜hæßxFuÞH­ñ– È:ÂóM,µéín zWF ¢ÚR|WÝ“®ù5ïrn‡†ñ#ì^rvº>SÏyw¾ºy í*ÇhÑùpo6]&m³öP¾Ü×Ò¬²Ôd¦ÌOß»ÿÇ mPAvüHk‰½ÀXç»ã{Œua¦ZêFYè|ßP€å©˜î#{l¬øõY÷u6æL§Îf$’Ö˜÷8cz=Û;&u/Ì&8P‚ößÖ™êN\2}â¤R‘Nª§á(-5†+g©›¿Ez…Ý4ÑA|ÉÌ(&kÀ¿4’uK’!‚‘/pÏ‚Ór¢,)Ã{'Š/ÃrÑóúd{Þæ’æÿ‘Æ51Ò‰G}Õõq]úápyØE=‹ìÄæÁ“@Ý+1>,À=çmwåHŠ- ¸B/ ¹‚Ÿ$BKž„ZLùÿ7!ÔtµZ^•õ×Ýt_Bq„<–›BNtÇÊ‚•¡ßøkÔ¯\—KÑ œ4©—-ÁÞ· 9D®ç%Þ‹j¬Ϩ¹MD¶¥ÉwœÀa ¹·Þùp}œ‰Ã ²£,ÛÐQ¾KÆÅCÔé£4WþŒ¡ ,ð½\yÞ(¦¾ç"Ím-]³¨ú)¸¨ÊG–…ó%€1{÷pø5ZúBœÿ]cÄáÙÁÈvTÏ?m Ñv1†×½H˜Y©Á‹uàcïoé¥2ÖÏsÙÈL—îIŸÚèUHLý›|ÖÍÎH7‚Ï/¬ÝÛ©M€¬Àhl¨ %}3oWľàÁþ! @Ÿ$ÛÉÖnOÛ8 ßc¿D?#˜ÚÌiZê—ºïsºŠÌoý¬H¶Ìt-¡æ¿j’ ­É†ní¤v”Ÿ3 ¦‚u™ä°´Ïôn³gmä@g:Ðõpt<‡Z4>ðÖ@H+áŽ}÷g„¹Ñ]ÍL•ᮑ–Ùt»pyÜG˜æy—ˆ|)šHc}þìÒq×&Hölq#£¹O‡‹1zj7I dÃm 8Ib=³Du€56ìÁ[5P×üßܵÞÍ›ÂàÜžÅI+¤Û¡íKŒñ€Ïîoé?5AÉ…ä÷–#oñB¯©.ùOœëwÌÉEk~òUö„vrÀ(úˆ™ÁWâ95hŸ{|áõpžÐí+4ÂxûþïRðUž`>ùч“hE)n2)™×ú%W“RT‰=€Âm‹Øw Y5»±Uú¯ÅÖ¡o«[ îö"·“ôSô^_øèN4u×ߢ$u@ˆÊçÊGÎ3Ð’ÞCšcáζ_[çΧ¢Cº1SÚl}xþXºdÖßã ˬº§²ýôÈe¼ÁÅZQ¿¬ÝíXFOF±³ A)q]_8y¥©qÆÀ4œ¤~´&Q=šð SzdŒ>òGV'ͼޱ´ÌwUÌä–u]ª([MÝ\·!#BYxø8 úDËÁÍ]ÙêQѱ’¹ª•¶f®Ç¯¿ýhÀ•`¦Ð¢þ2>% êB;ercbù è‚tÚL&äñx¸CÅÒK:b ’ѳ6ï59˜e9ü9ß׺ÂWt8—ñ2§À•Ù[ë|~#´]Æh6r!QÇ¡qòcÀïßsÖÿåçÖüµÑ x*Ûƒ”m~žò2g‹Ù&ñœbÞìo1Ϻ’d\7ðÌEÔƒƒ'CÂXw Â-¡œ+чŽËah_lŠä#ÅÐ;&ݤWôµY™ö£Ü«-Gi7Œa)0qÏö¼K˜ÿuðð3Ê›µ½›¬[Ž9x]rßÈ|cXkñ "Oï’£`Ãr78êÊC†/;äÏŸ¾ o¨ÂL'Ûë!¯¢ ¢Q‰ 8aÛƒv®@r=½òqp¸á×-Ja#¤z2öŠÐ¥[/ѽÉ'Àù¨<Ü$«¿÷MLϪsÔÆjñWp—ƳC¿Ìç‘1`bÅÙú*(¦±ñ§ñû›ê}bÛàˆ2Ü^avƒC”àÓ=«Àøc±ZëbÁ}ÓÐ[{Ú ½¤Æ=÷Åñ0Eqõ¬ª]”¤3åõñ/:Ì}ÕEe %ôø¹­ Ä÷¶‡„ÇNZ„inpöA×jîWËÂÀ™åÉË,¬©âtÑå":9~fJ)6e~Ù–ãÇìò'ÔŽ¯¢ÿV,¨—e‰€#êäâKÁäœTï·dU~m¬9ê)kl7X–ä*‚í/<õ„ÈÏEœ´’ã\n©§~áÂÓ/ûŸß¬ V2"6øí?vB”PCÞÈ£0èfhVuáÕ‘…P§ukÊ@åi˜^&êV’î!Ÿþ诫­<„!X -¦ (˜©2¹ÊNy`1Fv8ØŸ&rÖWØ™  ”*K\ðË×¢Mƒèb¨)¬ª Ô~R/.ß‚šk lNæs¹Ê¢úùÞ”7žKðØf@8zu”;zeÓƒ 1ëLàþ—$ /Êh¶,ÊÝ0¬`Ð#©ƒ^I‹u""œ(E•f¸ú;B.wìÒ¨§³Iúñ~ç‡Äš{Ì»ã`,ö¾'ÚMmªQ_L;õõ”~1ö‹0“¸É¡žÔæw» c½Ü¬5È"ˆÙÒ@5©Áv€¦DJBæÏ•ϳì>ˆÝûó˜ò1e{,8ÏôðÅÄÂ]‹=öÈ/Ün›G¦ÑÏJUƒ°4êè ^Ùv8šéôZ€ÌC¸¡ 1UGÿ÷©…³âû‹íðÒ(æC¼ÕñSa1ÿ‰% §¨—9yÎ$RÌg}œs¬F_[&² BÜöÅGš-ÉóÊÙk6¥ÈÄ@a¥ªø¡Ñ{B¯Ë‘H…2G*ÆD©{b_uY1ÓÔ%öÌfïUIG±ÕBöàj€É¾"„çÀÞ~‘W‘“S Öi0œÒ±¦ µ÷c¤àZVæ!MB;{A?6.|÷6r}˜v4-Ôò–å\D'û!ˆù”(šÜ•?}bñnÙ@Õì]êë¶Ó¡šæ$ìÕE¯$eÌù¬îЛýS£•äjñÚmblQß›û”¬fÌ)ÎOô°î–Nµ"¯pr€çf´&’ú¤#”ìùg/ò5ŠÊ ÍF¡²mºíX á‹ôu5ñOýÁRßj8h.@qé̘³íCW÷wZ\$6cõnc½B¸eqĘ4*‚C˜¤;¦‰ç`üo)åÁu¶//%Ä1vÔÂæHÉ4à_ë.ßzþÆH€žtŒÎ^Ò4³É«::³;!Ü0t;8D묳'2ÍRÿŠCÄ·Y‚DÕŠ 2ñ*¦ù\àÊ\§˜ÓâP)æé Êm“«¤›œAŽ&þÜÕSVw”êžé{§iŽƒ ¾2]¼¢ï¨ìÁs·*²Gl 3OÙÑŒŠZÈ>VÃQ£þ€=fg#Éfaä•Ìs–ß±®/ArÄÀSVÕÉöHÖfã„Øãü¸”Æ ~ïe,¢Ù|[{?>E0‹w"ä"2áíÏÃZj)Î`Õ -ŒmÃEÖ«5åfß%ßr´EÔ Ãòý.Ûa(B\þâÞ¹ºOð. À6bØzãOuÐŽÚÂÊn0šó›v·í-&Š‚èªð! ÒJÃ*ÍÑn;ª/ ž57«®¯ï¬Æp.©J!? (9`ÆššÕÔUÀ‹2}+rö>…\ ´-³FëÙƒãzi=¢BÒG‰¼™yÅe˜,ökêôÑÆæªßq yp!àí|àíÉ߉‰Ç÷«-ü¯¼J8,šU«Î môÁLa_Ô¬c¿âþ·T+„ˆ­È¬‚ ½cI"‡ÕRE£;O“ü“85Q4ë…¢e[±¼”ì?rR[) +f²¶Fú»dÂ@@М¨evš>µžªFԇ݅)“ßû±Fg`ìZÍl¿ô”FY\_²ÉP¬ëZùú!|E…"5þ“ŸZ™ŸTˆûÕ`m¡›yí&Šžî•\íØTO:éCØè#\ˇ‘]sY:µF¤±lŒ&^dìŸw¬{rÓ~`S‚šäOþÖ‘½¡¯ËžšT+ …¨bŽ|fn 4hFÞaßsБ¯aš–åQ Àò@%Øþb+Щ_ˆd;t²C?El³—#É?Wà§@?vÝ2˜ßàtjA¡ü ïÛ+-1wtë+—Ú³¡µw—`É0WÕªÄø¤ÇšWO)’èéežä=·HiŠ~ùß)óY4Û³4»£¯KõüÓ6dÉÇwÿçS^ÒiãBuÙNþ£´}0K»ÙÆ»´¾Éá×…Û0Lü#ËÀ—Öƒf¢ã×Ê '*…v3@kݸxÊÒIá>=ñ@‘@½ÏGX æAÁ“ÝþòY §½H¨¾›£É±üÜfæ°ÿêSÓÝÙQËv˜¤´ì¿ÁñXÙ¹U°¥ˆªt9ö&QÍ_ÑÓ2›Â=,× ú$ZÞΙÃîÑß6´¯‘äFò´Í@a¹ñc`¬Ú¿ ?)ê6@i‰ ¤ ðpcÚÞîqÕ× ?e¾;\9pö(ŒŽk^j¡û¹Î¯¡:H Ùáqkfz¹ÂæNOi.ë@àJžè\èâ  "ÛSÛ¾ ä™!~—i¤Ô›bGØ í& ƒÓ%RŠXôfêþÿ•cq©·˜ Zæ€Ý Ôéb®ß+Ä®µuh)HÄû˜¼Œ?»ÙžAFLbmÛKjuŸV£ÕÊR”2`î¹cÏï˜ïkZDLuÞÔQÌBW¿ÍQ^?4ŸXÄ&Ÿ³ˆ¯Ç ¡˜(ŒU­^q~Ђ¦‚“0ƒ3 YZ€W6Ôxœ¦rà ç½O Zû\@±Þ[m#ŠkPÃ$2Á%~k$¤•¹–4ýµ‘¦Ži2<.¹nzФ%°“GFR¿g½˜ÌSC)Åc¶¥¹æ-#³´Èуhn‹þqû@EÖkÄo2¶BžåêóãËý"€3’Ôå~ƒI{ÖeHÚ€6i¥wk–û›¡øµ ²“3š½¢ôïÑ›é”C¥MÆTà¯#ƒˆë™ØèÇ=;>{Zž@/œ–b¨ZŽx/3áºêäçƒ ŒF¸ƒ£J&tf…Ò}k¹„lyñz“.ÑÆW¿îÁ&FÄÉ¢$JtP²mm÷O†óp¬E§®…x¸† ¤¡ Tï;š I¨ofôm'Hó˜Þ>Nmxú·³.a¬f™Ë+“³DߺlìÛ÷¸¶m¡T娃LIÍšX¢{¥rnÊÕ¾çzŠ· `ú¾¢*JÙÞ5Æ¿:‹ÓVG* Qð‘øD-·d wh†«Å~öWªFu'àÙúbrŸ’> ;8˜8/cb-ÝoTP”·KúxÝnž{Ìɺ¾`÷‰½Oj“ä¦2¢üþ¹ðÏ’^ÈÏ Áö§-¢ÚTä&W˜ ƃµ¿$U#ЦX ‰ì1„›\ŠÌœ°¸t9°“‡KËùC ¤xª¡ŠáÔBÖP<ÈñYq¿œ]lW.>D”¼ø†«ëOU³VUX¥ÍÎÿJ¥rL°òÐèµô6¾£à’‰žÌî¬XÊÅ5ß_O§ê¦5&÷ì¡rgmñ’Zç¸TR&Í«¿÷³¯•«4¾1<V™UÞô¼3§>ÕÒr±™Ô|£¦Ã?1lµ¾H ÜòpéÄŒ>/DÕºPÒ•jµrîµ»B“{6âüÜòLŠ×®JI¶K_¡ª—l|N~ÿõÞΩƒA óxàð]Ûñd«òøÇ_Ý?é“ÂCl©ü,vCàó³KžžVÿ±lÉo¯´0ã»L®ÁÕaÍÄü³ãoˆ±ªTX‡MDÏçáq“ ò°GÛX¯‰<,í‹V½@j£'4º™ïÌщ¶¹mÚ¾fD×@Ú@2Ÿ6Y¦­¹W,åã#Ø“ôa¹“M®H<¡ÓÌ€„뮣yv ~|ßè^Ï¡–Ñ­Œ­Ú iïi;iæf¹/O A[Y-K݆¿\SOÕÄ}ŠH+ƒÜ{¨šWÈŒ“áF&5á€Ü ] âëˆòÜñl§«ÁMý'â·×ÞxvO—¼•K k:ïV>¡ÜÀÁÜ+¾Àny`Èm^°Â"QNY;p“i¦÷ÿœúã©¡c-°üdè 3/œÊnÜÝl£âˆ2oa2B‘”µ[Pϲ´ßØ]^°Øø$U5ÆXB…Û<õµD¯xØŽòôÜÕVƒ¶í_Õx°µ°Û †Ì¸Î‡“ Ú±<hTj:.qgB¸™’{^*;^c#w·­)¸Â‡é¦7x$É;ÎðMbz{ÍüIuä÷¶àŒ÷Øî†ÂÿõϧÝÌ­~hšÿçt{„ÃÝñÇo[Sûl Ì¿Iör€cMÇ(zìÂêc.óE ‡ÝÃæÌ?P’_J¡¦ ¶kMWÆ0¨`¬£1ˆ}÷Ñæð‘üÿà8O<+~B­=C ÑtÔÇ{­~^噸Nßâ*zUR)ãÅi¼x³Lšä Ò®$½eÄc«°ˆ‹ñ¸ù¾¿i—Õ»¡²¶Š0h¼,ÏÝá÷ÚLÜÝì_QðÐ_µ-3¹öá´ÊFð ýYò…óTq ­:Œ­J·ôh;ÿÊ-ê¶a€RÒù6).OР*·ICD[ô9EVï=ÝRVæ-X‰±YÀºkÈ|°bÛñ !‹[FÝDHlHù¨'Š” ›kè+KzXÔǤX^¡á½Ú}þmû§%]ƒ·ÀòPYµÜJúBwCf'×Wî`"±EuîøsžàÎ ²Ð"™×œÊ£sêJþ74I'ì_O˜ÿXoÔˆ$*›þÊcû‰“îù~22Ÿ‘Úš¯ò¥’ˆFl_¨¡–¾­GÁ÷î»Ïäô`–r_´ØÍ…«¶Y‰@¥eÃD·»\ô=À6˜q§{+Û™]Xù»ÙQ"§1åé.#Áåé‚)˜Ã0‚¥Ú*‚5‡˜Ð~Ó¹íMV,T¾±!oäýÜ- HмÞpû@^½¨˜Ë$:+ði°¦ƒ§Å`ÎtõO’W‘8Fê*ámÊë™?˜£÷ û*TTü’_„ttp)}ø˜@_évQ:# {,ùÑQÄÞu^o¶‡êÅ ryšÔÈtTÌ&ã”h œù+.r@ëç=ºXƒ?AL±{dçÞc³$Á†á€*YÖboF²¼E"‡ˆ¥7Ç]8TNTG•Rðg8yÛXëÃÛéKÇðJÏ£Kß~NŽÄظRUzïÞÎÆ½¦ŒøšD¹taó•ö=­½ŸGúŠ=È—Ì u4Êã Ìx.ý,ák%éÛ¡÷¬!Á5búS‚Ôý§s>{|@y¹Mþ¾Ìp¿QJÞ—¼°æ×N"3*7ÇP+‹ÓJ߉ÀÒVrÒ+ê É„[JÜìÛZÎiOÄpä»þ„25"³ãýJÝÏéÈÄà'N»à›Š‚ ‰^F޶Œ€¥bþé¡âõ86«ÄTVþ cѪVªæ¶ûS•à 'v ]ódÿœ¡u­žþc³®î°õÉx’NôW>Ó‘¯­­ˆu¹‰˜©UŸªJÓ2Í— ÌtøéË«¿ÙT4FÒÙtáTï‚]rúŽâ›™µÏ¦½‚¨à1ŠHÆÌ¢²¨Ø­è§báÄ'¶&ß÷»âƒ¦Ý$:šÊSíUš[¤7 ÅWþ„M æÔŠ´$}" ÒAþŒZ®Ò—"%Co²~±åuU }ñ1è&c7Óû?6áÛ 0 *°ñéw‹ðºðO­¨ÊȇùÏ’!8‚<ǧè±O¾7‚YǬØYS[ìÓh⢧¬oÍóÐúÊR?žsÈ–4 $è»Ê’É€z`v;-R5 —ÁXwç X{Þí™àÏ›kVv¸²~<=~(Ww?ïø›ÂËÒ¾uÚý‡uÉM¾Îµ²™!æB³Í%N¬<ñ;-oÚ¾”…5_œþ2N ÿÀñLe öú * Cî!rriS¾ôrpÀ 1D}ÚªÞ2?¹2°AþjÆ:ý5ç%*žø÷¦’R^£ú¶~°‹z¯â;Š— –ÚxM÷NÍ`¨$¬ˆBߪ.£%ØÒa÷L§øáÏ­K›í½Ä÷ÐÈ’øøs¶öC§®ÚØ8#Óg…gÊ®èoNvÜòÑ]–Ûj¸‹sÏ^(ò†¡?†/ Yvû†KQîŸÉG¤°Àè}AÁwïYÃU·ˆ´€Zš#ÙRfÍ4çv  +ø ©gãš<+#~±ûÛ‘ÅL—޾Cg”å‡"Œ‘¡¶ÀÇ=ÀÃ5WØ¿ 7YŸÈ‹´þR¯êL9HãE'Ê/M6Z/°Âݰ‰4`¬"A,- _©vú»Iã~R+?”Å¡† ËÉ@A9s ªLTD*ÛŽRx‡ÑðŠ¾³´¬•Žõ·bfBªà²èoš—ƒ¼¤¸—õßôþ ]0(£•x¹PqêsSßy™ãq/·ß_1Æ­‰£þÿv)ýœ°N;–*õNõ @"1ÚÝ’/±™ìC±ÛUÊC‰÷ wýÏž0Ýs¶ T…÷âÃOàšr3ćzbi2m),bý0M È×DUµ ±˜/¬“]Y¢ª š%¿¸Ü¨1-o1´S¾EѲÿö ØÃòF0åµN§@Â;JBBrÁË¿OŽ"U“R½„Hï9ŽßtC¯·?«”вB=‡.­]wëhÀѨ¤U…a´_ è<Û9¸ec"?’^f‹jj'¦húÎêBØî ˜qÔl¸|¹Ø~gÓo½,ÊJ¢pyŽJ™&e©TÀ !ÚyIÏo04¹(Bа5ç;m ñããj=œžIÈt‰ç£¸°Žûš2H ±ôåµ+zäÐ÷h.µS8`EÎ%¢Çˆ4¦Ïz±@·Zgèé1ðiKè® °©»,GìðL¸ë‰’vðéϧ¦=?ݱEÌϵdÓ Ð ýÔÒŘŒé{1Ô(6 x°¤Ohù:ÂBÏ(+Ñ¢¿¸gã5OE]þGóB×NW¹x’þdbr›æøÍÍÈÀMê+‘Ÿ>Üû ¥c?¯4-è¥KD³O×e%KÔ”Èbübí¢B¯o‘Ý+ÙÖ%·ÄÇgézƒ É~WT’Öæ€Ê$Íž¯&6B`TrJ<›y<“V2h¿PI0÷¬(=¸ÍI O´÷š/é›xj*WÄÔyÜ•@äMŽä\„5ù"­ÞȰŒïÊewº×¨Ø­¬p&³twÕ„¶w9ìÞÕ~…¡ç?j<*2ÃûàMí~…ؘNArêØÓ°xÆvÒœñ¥)®R`ü=3’¬¶a6ŽÀ¶„¸Û$’(Ðy ²²M†ÀýpÕw¥‡ã…TÍŸZ˜WuÚ^KH-WºÃC`f'äå*Çù×i3†zœfþÑ\¸öƒ‘¨+íx æw$¾ÉB×ø:„Ì™œ¸>­Š2q…ì I¢ÄôPî÷+øä°zÄ0Æ€óU–UÝíUš‚mEªs‹¿„üõ·õwLhŸ”6ó¨Ø+A1K:osAÏ»ñ=Y)£m7YÒ•]öƒ3Ä›Õ}w;¹Z#Ñ_6ZUÀ,þØn2é–¤~ÎÈJîÆ¡¬±Œ‘\ƒ…m í¨ó¸¨ïáß«†i Ö(èM5›G‡'·€2åÌgR¯P¨»¨|'K{iD?5§ß…È©~Tu²X×<}ÔdJ° \Pv•\‚§qùd1¯,VƒlÙ^þŠ'XÒÖ0‰pz=Ž­«Þ7ss/õSþ뢀•msw¿Z¦yšÓkí¦‚‚c¿žŒÛBó[|7s€Âê„=ÍëJDä‚ÍPg?‰QÕXÅi ë%:%>$.71Ò]©`¡séo›Ž‡EwÌ xŽ—TV#€v&\ñHÖÎæ&gšF +q··³g®yN¼Ðy ‰f·¥ÀIËkŽ‘ Ê"Gq#q%”Iä±ÐÑɃ¦".I"aa"~þL)kï䌾U;ÂÆÎ uE1’"³‰Ü‡Ç†+s°G[¬µÓšÏ¾œƒ´‘»ùc‹Y¼ÚÛ‰K¨ó©ç+)uZ½xÔPA&\W¾óÅ>–©|õν™[[¬%”'}6Ná@åo5÷VÝR¶¡í²B{nfw‰±Í ’À¾,OÁZÄ“½gZE7.Õ’Ö²¹ ±¡êRü?–O¡Flf3¼Jõx®ÊÅË1ôDô«¼°RÏ Ý>,ÖwižÙ³Ÿu °ÜÿÌ Ì&Eè^“níDªÕZFÕ›8oÃŒµ‡lüuð†È•'S5zR³X­¼¦äMÏž›ë’þÁF©Ñ,BÞÀtྠÖóÔîÅ?[‹úS½RèSäWžTH©**Á,Jw%ql’xEãh{9: Ô¾×ôÅ5†KD›"·^ÒLö5/ß¶„ç£Jý‹2&UCÕF­&©\Ôûñ¤Ù*§âÓær[V++¼Ô yqRt¸Á?ž?øà ÞŠšl§ôµß.ˆŒ¸„šp²‘—¹å®“@ULû‰dš=Z’ðI% ‹õŽl7å…‹äO.y?±|€è.LÑÌ”øáŠüµÔâ7Gù‚çùù€`±l’†ag¯F -ïÇ1/ÂG¶„?¨L:B‘ R_ÜV\oð’‘©¢Qá*¨ª›Gqß-  ÷?æðç©î7K¦þm »ÎþædP\+€êOl‹âQeØaK©Œ‡ÇÃ3N}é0¹݃oÉ0fT ƒÈ<Õa?Âs~‰i§Ò'kÉÎ"ÕË6äÚ‘•¹‚í¢/„ÛÁ:tvçȃ<Å(ÄöFIìG°«Žzå«?¼¦EÏŒòbØÙ)’Ãr¦ù)„~X1ªìhÅÌ öu¾æ Ù®—9gçþC7í›pô}¹â0²)R ú©•z™áЇ"ajuñϲF¸A¸2-d[óWì•jZHa….’O5ø4r¾ñu)±wÖiñÂ-r䓤A¬@‰ T©6±³lCq7ÚN‡@ï¬Å2ûg2¿æ@ çßcf gÞÁ”ú…ZJML„é²½)IP>*Psr_>`tj°‰dÒêù½&©‚dAªa®ÙA£D/ç:u­\ûºžÙ@p–=±!MF ãE|4ÛLGV/’G-FøjÜèú`ëÔêÅ8V•!#? †ÞÖ.+i‹ÚÇb“»o'|Ï¾è›ÆÖ±ÐÁÂQSH¦øÕ&'Fä-j2šï¦Å=¸+™©ÍÐw+ºR–»»>¨dSÑÑ5LΘ!x°gýxžRžÿC¨j•¡Þã“rUD#=ÉÏÀ÷Ü4Iaèßk^%¥G¶—ˆˆUÙkæ$U¢Üs‡÷¶„±ìOA·ˆûÉ«fÑAâo=`èõE‚¥¡b­M!¥ {&gSRŽh„éŒ>¥\a¯v³Øè8ÅñÿOîFƒäjjþ/;}WFù‰“TIçYE Ñ 3-£pÅUKί©_ñØ…g&Í5üÓ"PÃ]À¯÷¥TˆÜ͵ˆvÊ{.TÃ5@.Ps%nø'ö¿ÄdÁò2Ž_8–@=ËÁŽ¿ÑO®ØN€V}lVCÑq8‰@/Š8ÿ.TY,ß^Ãkó•ùÈË Æ¡ûÔI(B¶ M€AïAÜ)þÿ£”$Ðx„Ö¡—È(‹÷º®öfmeçP6bÞÃ̉Êx!Yy€ †//ÝYÖª›'"bßñ<Ñ3—%,5ƒüGѿᎷ݆_w™{c3¼‰iÈhóF,óî_Fƒn&y¬Ê’F¥Õ¢7©l|2ƒ nlmêT»CŠ )‰ñC?:ÂoÍÑHGnQ¥°Ì¸*ÏI¶~,ç°ª"7/˜½÷ìè&_$¦Ôÿѹh¦+UŒåHSYTx»ŠÕŽézíæ-Ã.w‘ösáÂsÏ­Æáþh WjfZÎN›nA+˜í¯÷MòÐ oÉ !N8´Ò¯x—¶Öïþ]‘9½rµq bdù;l¯X žŠækiEãff‚Û?2aÀ¥ŸZ¦§ì}™ËÁœUÝ5Õ‘·Å3›7¹‘ôµkwZòÎê f§“/tÔª|EÂÅM÷ðÎq5KãºP¨ërhzˆvÃyÛqœM‘^GꢟýU,Ž5}@B(uìJ`:(@'Ãz|ìb-“ÐßÖ.ÀdþÏ›!‰¼}*â>Æý?ª½F¸Â0ôÛKMõ°.d¤EU})iŠï*âxmÞÃAé8ʰWw‡7k·Žç‘4&Šy—ôçýžÍÿ<„€®’C®ÄÍÍ}²úVª\?Ö”л©-–Š<2àf‘ æ¿ìÔ2­ _ 84O‚.0ú}1²Ã5“I,1Umò€Å¤Fƒ»&:fk/z :è]Aëkåï=¡áŒýWÒdºÖ‡Ó#úÂÈíy›̰–°½¾M©§ ´}¦æ,ÄØ³'úÀÓ눞ðI¿ Ì÷QL¯`3 ç@5NF‹ÊAa½"p€Ìäq¹9tT.3ýÕ‹C¿(“o•§¬JÂX–IHO{Ÿz‚Z™83f„“ÝnÂñUôhÊ&Åñ¨ýÏ>T‘õ?é $™ÿþÅY_1íÚ%gsV»™´Övœxz—¿_ÖJ G l¡ÐöžVò„1º_-\A¯YÞGY}K/W ÊòðœÛAlŒ°¬¬íV»–:…4•JÇÀjþKPD}Ñ»¾ýš¡¶ãô|Ì©~+èb°ÒœÕÓ ‡ÿâÏŽóá¶áÛˆŽöŠUcCö¬fÌ…ìC™yŸà¼_˜ÍiATþТí§xÆVÞ/`‹E çâÄÀ¢ó7ÓtßöŠ>Ež×3Üw4HL’“Ê#*9›Bîwþ‘|@.„“ôJYÝÊRÙ8Òàõjesµe³¯÷ò9³!R!{‡Øâ(¬N•¥Ûûé«åw kzDàaì+¿X:dÁw1-zïtC< {ôM¶ €¬‡”„•y÷ l¨Ž5Û¬½¦(GÆzèJ­M 'ø¨èEKÏ‚]8{‘;ã‚›i>Ÿ/‰.ÅzÅô  æ'\{uÑK#[Š5»)"w |[Y3j0NÛ¸9KpÓZâÀáÙèm[—?èðf) Þ„0²#?|¥Æñ2“œ–ÞþÇPWý•dK…«4Øš÷¢öhFÚwwäÎÃ1M>²DÒ6V¶Éü»#ÏÀ_HUÚ®úîÈM°¸|Amò*·«¿àÙ|‡&óm'‡‚rƒ1wHöúJ^eºtý0ÛdH 5ìyf(þ] ¯x7(²&Úê“RͽÛ=Ù[oRµaÓe“ Ÿb9^LmëÒVׯ³H¦Á¼pÓfâù öëp¼©Èð!ñ¤ÕRAëà DvÙæZ6ë¾ÅS¡#~¢Ù–¡þ(_›#÷X •»ç§ÖÅÙ:ל[§í nÇágx ×óoPl‹‰Œ\ß d 0sŽnc¯Ä]ŽÊ;ŽÙhÉdµS*:óÉØ‘ #=è|EÈÉšçlMšÕGZ‘Fn4þcxuœÑ™±7ÜXÈ7¶.¤‹êŒ(KͼÐÐÎ@”3»Ôwœ©_ÀïÉ£VÁNlÌèMü‡õV-I{=ŒÊÀïñÚ½2'®D†¨ Úi(YyEdJsd€C&8@À²yT{ŠE¡ZþFÏ®†IaKуORD»o¿9˜ã¨ÿ¿º™ù€‹D1˜Àp+•õhz¸¼qìjä÷jÃRùl–ðM²AI”ÀµþmÞ•:CîtÒÄKo]ðß Ü‘"PXh õnî},«ò|3î?y,m˜æÞLÞeÐËŒKÕi ùß¿™œL=FÐ+%l„Úkß1ÿôš‹¥‘¥ji¿½s-4€€ì¶ |£MìöQ2E‘%q”~w³Ñûg¹pO9ÚäÈîfBm¨§Ú­Îs­å^š/ 0§Ìˆ½‚®i#‘ðªm/S3Uêû0€é½áQÆìm€Šg>i%PâH:‚!wÉ즼ziMh·깸xE¼á@ŠËúVpˆm“È‚F ǪPG¢Ô–Ø(…½­ò4¨ %v·%xZŒ1”Õ1c ;¸ìŸ¸#tõ8‰@©V[§rxÈ%”ˆbNÐd°#žûšêäE*+F©:æþ4¼ûb=q+:ðM½ÄϨál-ÈÒ׃Gj°óTk`~Õ$kE™'—™y).´¢¡uÜÈ¥dó´{Àž_g”ð£qùžžNÿól{ñÜ.©™4®Ó_ž B qbÄÓ(tRëÚáCË=Ž-«?zw(2A¬–}¹xHŽÔu÷r|<¼Sû‚Ôé¯WâÇí`¡†œ9ëÔõéy&T“? ‘΢ ,;ó›ýzC Q øj&E ¡¾$Æ÷ÔÚc³!% Ùyz'às»3›Ñ%¹!Y~¥÷‹n‰ìC-XŠ– ë"íîõ|…²º±qiÆDí ZF4Î 1ù†'¶ã·G¦£LŽ7uóôBwùÅ)N¶7˜]UU[ÍždLVܸûÔ?«}g ^¨‡ž?ùˆ‹ŒÑ…—5 Rjqpþƒ¡õzRôk qæªMÈ…dìÝö§õ¶ ¾Õ†É“áltü€þ²Ò€–Œöü<‹˜HZ/d«oͿثWWb··=Î[¹æ±?ãnKPbOæÓ †2?³©VÙŒ¦¶§¨F¬µj\wüvÖRcç¢Ç½­JGþ"­‘ìýλab×¹èuÌ»ˆ$"»…Ú!®/&ö*rQÊ_ÞŠ¨;çsÍ"Sxþ1¡o1sµî¦- YzÅæˆ :|~X`²®0{Ij<žÈ–•w±\€ÔAÉ×¶72õâ +Ìlæ‰LSwåÿþ *߈6yÿ^e«O3íÈÀ·°Ê+ÃÛö±bl½{Ëì¯)]= *´®ó´CIÆT컿ðáRÙvA\ð9¼RoPдüêÈc*Ùýj¾wÕKqb*žm:âUòÓg‹ùöîވ܆rª'@÷+Ó=—Ð_÷B·ÿz_AfáØžÍ–&Þ’†ïçn9è³L7òÓhÂH™´hõÃQR¥"BúpNLÀ×Òn|x¦Äæ*ÄMóxËåE——È|Hç¤ØT![‹ß{y L^P¥ ³™kã h‰F˜¡`}‚ìˆïNò(3ô™60X]k­áŠnI¿]£TœÿDÈtÖðfåänœÎ`,Iõ¦g‘ñ£c~HÌc]aÙÂG3D|nÃ;¾´Øö³ž£}+q}sKý wlÕ±ÔS7Ónds®ØaÊ9R9ù6¥âäc.Z äÑg?âŒD¸œäø Ž{ÕäÞ‹Qî+Œ×dŽÏ +¤“aÕ’š°q'ë<)eÛð‚ÈŸRèúW;Û¶õ™½lCfþ)lf`‘Îäçƒ88SÜäúËõ÷1l`Ð^~´?Sl|fèì~Í{6ÆRAÃPóY²XüòÁw¶2¯«BôV”Ré@ðþÀ1/öN8øÕçOSZ·c\/ð¸°gm{ ø.s’Ìs¸\;H¶EAJ ÎRh›¬Ú!9Xè9•áÄx1ö>¥aD ½”ÕµX ÿ—V–Û1È &0wß”RRZÂStøÏÈFrÚGJ·‘6d¦¬Qe:ºZíý›Ð½–9¸/7Ê™·ñù5Ë(ðy&«ƒGä_ÿõÝ®ªQv¤éxƒÑÒǪ¾†J¸ÚÚbÈ2ÂÀXþ<Ä 4 ajü×ÙR?e¸UÀMŽTpõ" "­@¾Ã©(ï|7?‹éç“vÆ>V9þ˜.ãŸäÍSôä]Ÿ‚ãX+H› L†$^×›—3ÂrŒ]¯q‹zŒim!)`pô9Ú¡gLÍŒ·giòJÈlZŸÁÒþ}ç2­!#i²¥W ærÔ“f<A ¨±HéÎÊ‘;ªØRÚ×vÓ$5~.6L†wÔ/“»g£*ÀÎRPø-[Ðn ) Ö³Þ3XD†Ú­?„¼­_. »ÙÀa2Žò ÷çZ&~bâUT¾ÏüèíŸe^:0ßš{Ä=íùw*¯ÿñš-)'\¾ärÉÒ¶€åDÕù–I[# £ã|høâÇÈ'.ð³CukœØÚ ÍRÏi°¨®õp‚Ç™W¡š´éñLÔšåe:Û˜;Õ¼­„¿;T`L¹º¦©•©¯ÍþswZÖíׂ÷Û:E,)h¤Ön,¾7òú0P¸úÏ¡)½%[þdáÇfèD_ßÏ n¥Oݬ nH’6¸ºª¹•ÿ3]YøµÕÐtà}ÿU؈XíÔ¹Äî¼8}Æ‘Ñé af•˜bù¨.`Ê6£•†kk ©"òb—6/ OâÍìÊSæ.ψƒ¥ Æ–æ ‘1ÕZ£ä-îqá³òPÁUTù&áçá¾­ë?72e(‘âþºî$ÙÝ>P±°=Ý[Ý"IüºZjôº!b Ù‰ÜþÍ·hÂ!cYˆJúa­#P栕´/+Q/ƒ*ðFh„ÕdÈ!N¡Š/€egÕ—žvÒJ þ²Òšdçnf—“#2Ûoô}ËoÓxB¾õ iH{ CS<ý!Þ»}ô¶aË’æ BŸ–è–„OÀ2 ‚¼l{uîbg< v®¯FðL¥”âNJzß¶—²šE£Oÿe¶tcrĤJ½îû LÇu¥{Ÿåf4i¸/Žv¼Ë†5 ñ]hyìM¸J1å4J3V½«†wF݇i¾>tèª¬Ùøá•Ç¢)ßk*&5v﮼°iÞlPà1¾ QØ?­©ûœŽ4/Į֜e‹&ÂoÅP«E¶®zbÄ̇â<)‹’\ë¾w¶ô-ØNNŠé25ø;ˆ/a&ck¢àá…b zï§Ö§Y#GÀdV-g«5F ³0G¡f¥òº–›º0wŠbQô–‹9©uKü^mÍÞÁY¡àc"¢SˆQ¸„ž¼ðËfbÐgnªØJ¦ˆÁeí¼Åk¸„;9Ct.Ѹ¡RݪÉÌêöÏêéCö ¨1‘¦@¦·gYýñx­ª7]tÅ„»ÖšC•Ë×™Îþ]~¯–@“Z’¦þ+åéúˆ¢»÷Í-ì.0wܸ¢W²nÀüœ®}køå`wŽR–z(Ù­ˆqŠœkR8„ÁS Ö¡4åß ž,“„ ¡þsÝ©¾@»t#œÒoDöñ|.sáõOäÀºéIqj×âYa¯oÛˆ¸‡¶E`­ ÄLÚ°N}DZ¯"m˜ZT@®Ó£ÿ•¸P{è¹ßL­<›f].P`cœÍn¹aõ(ô[×ÎZÈB)aí|a ªˆÏHÝ™Ÿ1e¦É¼¯9¾„á›áyt¼]­Á:ï n¾9⢫¾«b²ßN¶(ubè×an“Õ>?¦æf« N¥tëfGŸàœ!±œ_a¡æ®ú;US†Nžké¶snPo4G0x¤B€þsí!^Ÿ»Žø$øÑ®êþµg›4OË®>}j$f¤ÕÌµŽ¿H›ñ[½ú¶šÍTÿ:dªi2VNaйožÐ0ú¤9-„ûòNÑ/ç²E¥.1B"Ð ’ îäéTŒ Å àÓ|F3Æ×|5ÐFˆhíÜÜl+]ž”w+XN0™"‘ç²n™°S 6˜ÆG›ù¢uzÀ¸ÏOÔÎ>bć߭¾ï­Ç çÝS¤±&1Ü•mÑXÓ·èÁš¯“S }ßJ~s÷Í‹€B=ön},$ó-þì´±¡‘t¤•ª+xIôEÖ¾‰NUÒÿE'«©·•ºi|Œ7mðè¨öi¹/£•/î·I~dФ½˜Nk£À!¹•Æ#fÕÌ€øês•}°IÇ&}4äFR€YhCß·½¿Â<—UjÎ5ñ‚Põw²#9rŒÎ•Tü lnÊ…3à‡b[­æOßÈXùêÀ;’ Š‚ã)‹€•™ H™Uï²yQ£Eªl,cèŸè)H ¸rÑ»px0¤¸åuL£®bÿS >§ÝQîªVaDÉÞ°ÄK¬zý¢ÎcåxÙ•Ù,äÊ,c)úYèŒôÀhàs0n¨ðë9{êøŠ0+ßÿqwÛFY5͵YøytJ—Œa0ÓKA%œæ¡`À{itipÿJ6|\|IÇ„–ów£‚V]vvúða‹ÈMÏr™Ú¥ÌŸ*dä¯ZGÊ\°Ü?íA&IY:ã¾¼C·ËB¹1Í¿é`2Îó,cÇ®XhtÂÒueÏãšså¬e¢D%sß®1uPô?@ùrÐ[Ε Hƒr`å®^ôxŸ.¨„ÕbL¯ÿ]L0<ć¶‹åx\Ê¢è`% Æ–sý9@I‘³‡Lêeõ…Ÿ…5°‰T 5,ž6Þ›²KfÐx^=,}Z ~(atu–ŸöªÇS¿†'i¼—÷Ëí`E0ØWŒL…þš3ß§ÍÈÇű5':ì‹yv¹ÆÀžRlÃÁû²´¯…ø¤)ãøn!l#ÒâÂZ‡ñôîFW¶>6~#çÄ ˆ× A0è;$À®ýt2G‹±Ý¼Ô¾G‹ Ýú‹³¬ˆ¤&†â„ÌeWôœßqÅ|<­7YøaáÞ±“º÷Ê7n7i캢¤/VöËÉU*Åx|64H´‹üô®4RÎkŸÅM0óé8³<æD´ôQ@ºµÞ’=nÊ–LHE=¡{ûèÈÌå¨îHÉÏ1>šf(„M~Áˆ@á zðÅÙÉÉ»¾òvî!ž·5Û±hg–9öh+ $˸ÜKa{«¹’îªûuLøTEÄ4EµÌêM«¿ÅOrΚ‚÷“H—ÎyÑ4üîDoÉÂ$óÚž›¶»ㄲvüÂ~| ¦v–ä¡ìmQL ×Û—ú²d@ÅÞ#EŒö>fÝ P1Õ¶+V3&!U%BœD`žE•9Ê—¿*%-ÆÔJêøu~ù¶s°B„RWmܘé#彈‡zL‰ßâ„uvÖçÍ(Ǽq¹™ëÓÛ$zùƒ65ÏßJªŒ‰vù€¦N—Ç]ÐçœRÈëµÁ„CϪ4~Þc¿ëu€ÔG ~ØŸ‡gO9z"*¾/EÜô¨ CŸøÕ`­dÂ*ÜL[öª‚½V°6#3{-t©ˆÉÙv5¶í|yÒGÀ›ýGfš‡àJúnHήtr JŸtx0Yx“ÞùœáÈY´ã2WYxI(š³§“œßJ‰“¢Lì,úÇøolvâ è‡ÅîM›ei½]YÄ Ôɯ״ÂÛ µ‹çÂ3âÛ77J{Zh»«-uEsˆU†OŸKZ9E”æ&%;Uá ÒþÝ8°¨—ô໹uhÛ.“pÈD®@~‚=óGܘ:\–Ârcä…¸tö„µ Š ° £mÛm¬SÂåb1õr‘«—Nò”Ô./"”¾:ãöšz)Š479'RE$®¿T$ÛýÐ6Úy4g¢ePŸ¬\%¦|uÉ1u(#·è°gV:AD:×u—…ô÷gq¹+¹jlñÇû ]ݸÐÃ6L†ÍÜ‹³LÞ ÚͺÒrÚXFÝ ÆR ºÄ_™vþ¬Öõ’FX]ÑL˜„é-Ö¦?ÞâIÆÇô§ý5½Âÿ8´yÚװ₩@“:Xä¢ Mpùÿb—&n;ôýÖ€­éˆ¶€ž; #ÊqUÚŽ#j”‹$y3ʱý\Ümh¨Ö¡„ðÝÐl€»å¨¥E9D¶@àØœÕm/'nµ äöë9^…?ïU¤kSpEÔðÅðýZ–Ú\/@þ42~6~ ’p#â3.IÈ"µ}ÕÖÉnþëܹ£c÷YˆmÀœKÕeóô‘@¡y]ð[…à‘Ή¾ŽÓƒµ%&pÀ ­§ŽtœuË‘˜Üâ”÷ÞÕ,qúI7âž00,GLH-s‚!8„Üùá…ëàâÝH.{#Õ{où*áðnÂ7ƒX@FÙÔOØ>‹»„™eîÎ]t›ïE/yz ±Š„$öÉ%¦Æ…·qH1ó7¹ Ú¯yA)?8u½{{ú5u¡ð]ì=Ö#ξš´ÏRö¦9ÔSyÕ÷!®ÙT^peYpQqeÖkY3ì3ÙëzëTBtc;5T‹ú&àI÷uà ¤­+oÁØÄ7“B09ˆÐ®¨¥Â¶»’Åë1OšóïjTÀü¢Sdõ~Ã$H· Í™ÆzGu™E?ºN,&U·š’„j†²&ìvú˜s”â¶¼—â–ðáZYÁž£à× üõ×ÑBÉÑM»ó»úß ÄG˾P覞ˆ† b6Mx´ oH¯3†©[ê]95‘MµŸáÛTXÐÈ•#ucqãý™HÝgd"©\oúƒIl[‰6ñé¢35þA–æ)5`'¦ÉN^¼å/úÓg‡--k'Õq½rò6ÕpÄíªzÓR‘6È>È·mÏ1ùå–&›^ W8‡<ñpWq/i#á¤õd¸1cðYÁ(2I‰Ú>÷ 9É)ÁÕ&Ÿ^ˆÔZÌb¥ ý‡ªƒ *E¿ÍM¯(H:©†”øÀÈFRD€v‰¼áðø4¯ˆ±%ÞüÞþzNĆL §BÛ¿}CCÇSénzi“ñéO%qÆi«|»gÀh…šo§8š¦Ïô ”ìøî‹Î·öBí¹*Sñ³ùfß<JŽÀ¶ÎÉ»!¶ë\ê®cëOÊJv.ÜùŽ÷Ï9‘ËÖ26#$ùe °±F’i:+õ;¦Æ‰~¸€òÉ>N7.‰,å\ǶP ³£¦H®ñ D“¦ñnbYuÓ ¥Ö"HÕõ)='EÉjKb1bšþ¥4„ÚñDZŽñl›m@à—Zˆ&øxZ”ÇxÒ•Æœ›÷"FOº$Õ2BTâ€# I&ÀPv¼îP„v½û —΃ªpÐ$Îé¿Ðµ;ïtâ¯õ ®Õ•á o— †pÝö¸ä‹aqL£î ¿w¬Ahí®ág’ìèU·,õè8ºcß21ƒ]ÊëÁ†&I/7µRDk~T öBÜRkí ”ªC“lƒ±Ïí~iNA5—߈éÜ€’½8ÇuC¯ÜäÕóJ»k•ÚkHÀvl^ìÑÛy§ißtn•¨$ùu/´‰ûÕÛÚîí>™Ü^ìD]†¡^صø ÷µpeÌcU© [ÔXÁmh{Ð9$hllYhHõ[víikéh˜i¬]Ëw€ö²u›‘ÅÁ—îà—u †%{M[?1_Ì=;³ú¿õ´^7ÊõCTs÷n¨`§¶^ñ³Þ'¢ûDÖÕ5f¬ oO¯ÿ{v‹ÚìVÌñûÿ/ú‹øùïÉ3»c¹fw‘J&Ca‡§‡’²Ô|½Èš-"RNZö›Ã… qmÉIÍ%þú_H¡ŠÍ߇ÎPαÛuŠb¿°´`È^Lê¬þËêµ|kæªk©‘3Ä$ !'pÔ™(¥Ãñ±÷ÿí¿@”´¬ =¸P§Šͦ£ 1z]uŠÐ$™}ÈÓLÙ·C,0Ë®¤ýΔꬶ•»N•hKšsôu9ù¦ªªÃÝíÅÓÕ ¼>FÅS…þj6”‚¶?d ¬R±Ýƒ›Ïƒ*¸Õc¨GæÊ°®:ö¶^Yóçöª㯉.¦KB„ï¬ÞSb—÷Ÿß2‰M­<EâFè¤uzmÓí˜qÌŒy¹CÞ”tà¬ÝøŸT­5>UÑæi¢¶c·¥xZê êuª¨ažN¾<âä¦/R¯fâ -æ8š‘/Ièx»„ý ]W£›KÎ!=}ŒA¦¥6‡6°`d§jýÚwk£&Æ×?NîÀÌøÖr6–düøž'‡‹7æWdh·"·ÂÒCA»¬A²WÀYæ½ÜtÑñë5츗Øòl‰êŸ]nSÇùŸÕüŒÊüÚ%JÂçFZø«-^¸[æ!Ûñj]ºRª0¡Í[ÑÛºŽRŸ'×®ù?âýîëAÏéºæšþ”­R^99ð«ÜP¢Š:|Ø&mW®4y…;aü¯ØÅÇžÃ%¸AÂo?‹[- ,<†{"ccó‹ÝáRþø˜´Þ¢VÙ%Û.!\…'iaiÓÔUÀx–ö×zjXÈ:ô¬Ìʉä¾Vݞ9ÀÓ/¨g!d‹Š#ä~zÀöÇÄã§¼ ³KÛ—û<›DlÑ›wëø(ÜJtLâä[zž’8Õ×M© S|4uÔ09æ„æç(ð‚Œp úÓ“;®½°ºÍU·###/L›n-z¢&ËÉGr¤›³Í‚4ãbr@×Ŧ‰dwô…±]îUŨÈJîï@Æó†ÚáqÒRãÏ$c­`Q—¸ý.s²b£°Ï‘÷ `%ÃÞõž¬Ë K· ãa6£½l®Ugè[¸E¾m·Uë^O|öZ©† d!ß²ÉK¼UK^ðÜ- Û/å eøFž8ÈO<¹ÅS@O/h¡˜À• ¿ù\©£tQö=:>ÒÖÁÂO®|©`9¼ýù5GJ}!yÑ}ð#IwܲW‹P‹@ÐÅU]Ζôß¿6F¸Í¨Ú]ÅÿÈoú Uç}Õ§cíõñíZ¼„†1ÅŠÊ©(—(¯.ÓÜV­iîûNûé¡èç¡¡l<QÕ!Ìá`òÒT1ã°ÓA,®užçÝ7lìyÓ°®c—tÉ óà‚Qó¤L­Þ­Þç›#N¿hAÍ%ºY½üÒÌ`Ôg ¹ãRì›O±J´_14ôÀŠlÑp°}¡ûÎÏ6ÁÎÙÙo~º- Îè(·õ²Ó±uM`÷*>;"otÔ[híÌ&$/6 }Lqt®àámÑTªe³”/G5Ë·‰ˆÊÄuŠ ~‚Xغ‚i5»kk•õ˜"œ ^RÉ<:˜M|—rylöžá³µ”Ž©œÞ´'&¥ÅóVÞ7ê '¾¨’_*?±4­àƒôÀJa ËÉr=/"á6!Eç¤Ì°Ç HNÜf}„,‹†UŸ«ž) 1Âg!62âËñSÌ2¸Ãèô‹Ô¨l%¸©÷Oõ0ÉpK8;X¬—åÔLi ‹~¸¦PˆiÍh‹°n…Wnö|?”T$à¾]˽š1¥ý´)ƒEo?燂ìßÇ'J;Ïkþm©±(@ƒLÄWYwÏGq些Gñþ¸!´3¥¥c[Ô×cmÏmô°6t[gH»ü÷ϯ·Céõ¬˜ÂQe©ë 0=vsP¾æï–‘Bzk \Ö…Зc”ŸvÕìc³"’eOí¶ëcèóŠS*Ý/×À2)¹t¨â…³ò;,×sòžÐáúNÐ$⯂MýmºÁO»—@»°UBÁTÌÓ¯ÞŒ®È0îQ])þ²ÊÔó~jô| æ—F‚¤ Ožs²e[T¦@€¿Àq6Vœ¯¶ º ù-åtà(ÀUÅÒ»UMm=!FçŽhµòì%]ÚãðvÕ_®¯;ªA›»Ù*Ú-ÞR÷"€¬L%‡®¼ì6M§ÏݽIDƒ€Lç’”xwg¼c?ÇЄ÷¼ 6¶n‰g"^QÒ¸`Nè¥ÌÇ–üv(#§RùÛøªd‰ÓƈºzcÂmã¦þÈÒ” K\Cè°µzÔ‘<1ôZÞ(°ëÂ?Ç5¥È%qU7h¯ ˆ#<¾WYS¤f*Ê·D;ΰŒþ=£µº®³*Ùa´h d]ÌBFל“œÎ;óTïqRwø `ýTÏÏ0© º½¤QÚq„R¼ÁnÃ{H-°å‚Ù‰Ô¾¡EÄí)8–ÁÐMÒÈôH™ºT®½fßxRTJÖœ5ã¿,4ÌÅÖ$¹1T¥·²bÞ¢%&¹—Ä¡ñ%ìZ{ÉCUYøO¦ø«÷Ôâ`•Uiñ†r±ýG¿¤cÐ…IæD]©ÀþK¤÷xë/*/œJǼÑ!¹‘à«ÚÀÀS ¬7µÞŒö.ÔËàD?°eQñjˆ]˜ôr=éÕˆäö>6UË 7W[ÔÈç=fb†!mÈá½L BMà’n)!ûP¼6 ©œ9°MÅDÍ¡½ÛÐÏ’h‚&_½dÒ 'ì4Ù‘ßûiÏÉøÃæ»J›oçS&¤fÁ`DD>2€¾î00ïAxæO.ª›ÓÒÁ¶1µfŠÛ´K»Óûw÷ŸÇ‘–& ú´ :QϺ¥íyŠˆä-÷=,cThw(=ôÅÕÄ9ŽN«Î@¦÷w#˦Ý]Ç“Ó^’©Øÿtê𤃠Ì) Œ‰Þšõßl+`ä­0yÿ•cWÙ=êXCÃ*k×5z1:Y(êÀ7Ú#Mˆá,$B{ß]+Y|\4Ö/jÇ&±ÅߦTgí¿«÷6RTý¡k*2Lm¦Ò+æl™ÅY³ýÎrYÂËæÝMãÝ”X—jÉ8‘AxXNÍf®½qˆ‹/¤=Eå/ô‰Z‰ŠZhõ9zÕóRôhºL#&ùõŒ uŸ%BrÝ 5® ÛR:®ìÖÙΔÕ.Å”à .bLsœÓ\S—•Î|è_̦A=çi¥µN0 ¥2íd ]£aÿ‰è¨GEÀÌšºŠÛL¶d\„¾É^™x2æjº/ö %¾äƒE€×?¼ÒšlÅÎÛ ”„eÓŒI*v9Ô$4¡‘ŽÍú&„÷Ô†×DC‹u €Ñ~8æg鈾Ê$Q¥~U?·ŸæD¥Z³¿MÙ%byµ—>͉èô!ªB£Ñ‘é/iÀV¶m‘ßlNÅ¡jl Ž!íÐrÌgJ#˜bZ^ …ó{Йg°pnIá†s¥ýÕ6 ¯öwòBúÅúÑÄ›i¸›×°X¯ÍöN¶,«ekr:Ð-U·òÇ{ »í•d^ ßC{‰§V«å®fkÊ)ÉȨNMŒü³)"ؽ”*>ÍH—XE­wÓˆMZÊŠH(GœêV [<7A2ŠÀÜØzÚëše«½ñNå¥Ô…Bâ„¿:L÷tG¹G›À’Ï©õñ€:†~záªû,Be$—§ß[d³$#`Ù¦±‹àÞ~|Þ©\FiQ]zzžífèätN7x—ñWo‘¢ãµ¼ÎjÿzeÈÿœ}›õ»` ±µn «é üG«jš ú¨~ñgÎ^©„”«)b ‰ ¢–COmãÝpøX¨ð‡= :ÏšrV5QQÄŒ˜ˆ$PýâT;2­)‡~Qü2’ÌhûOLZ ‡•òQǯ®Z›^›iNÓRÀp0ãÛgµ ÔEæ~Ê;Âïl¦7"Gb)ZpÝÏd_Ù„úUaä佘Qè÷âG«86þpCKÉfa_JŽå¨•Z+<{|wUžP˜eSøÃ ;sC}¡HƬ Åe;Ú#Aû_fÀ>„ب@ñóá™^UKP÷ÙðX¦ý¹¢e5劲ÃÔ¤»¾rnŸ#]4)çð÷…J½¡²„ƒ„+aM³t…¢° ìèªË~âÄ:*·4@CǾX5„kMÓUôj8yúPãç•JSUœ½Y§u¶§·RIתRÛÚL:\û},¥QÇÕpÖÓu\~ÎÞø^"ˆÁv‘œˆ¬à»4¡ƒÅö¾ 0:z–I\@\å®oçD#+y‡È=¡¤ùcQRÆ–5¦@ö»*ÞRp8Ê96R(“aKæïh“‹ÿ#mèœ<#T¥»k.úÙ|*›ð½k¬gagçàzðYv73—Ù dèñ­,FƒHiÎDä‡h·±n¬íÉUïdŒAØ&«™Xfá5ö\{œ»±þï·~KÂN¸}Y8'–q2Ã2?ãä§S­€‘™ {Söw:¸Üy$6ªyr“<Wì¯<{ÙDÜÔmÞsâÓ >þÚ,ž Ë]ª°]}{™«–…TP¡™‚oݨ°vÖÎŽŸ¹×*B¼j¢>Û°Ò¼<še4{3/ ƒ1Ýáâ?Ñ$¬3BA²;ëŠzÂþöÁá¥b*¦ôDŸ–¸x^“3Àl%aF;vŒwº¡î üØc&jêKÛayÍÙ<» "º s½ì˪´ýtsr•‚Œ—¬ø“7|ævZ=Uûä§d‡[€E)»”ž¾ŒÎkÐaE^C†fEK™èôy¿`ÝÀe ¾.úÅCóð>c 09_™+¡/»›Ä­ïy'ôjbêǹá¬Cµ\lÏù›{t³7'# Fö’d³?WÞX- ÂWüòBûDÂsÞŸ×S”Z'iãÉ…ó+ØÔÄö‹$êV2žr#%lŸ˜‡w4ñ_Èþ¸Q”-a9u‹·)¾~âv.EürÃÝ8YdÙö¦EF‘SÍÏ#á+ãWÆgh +¡ÝW*(¼9ÖëxbÅ u[;ôõ{n0… Òï–êYš<ÒWDä9…Q5)Aä?û/¹sšÚf%©Ù®re©@StNM Dy ¯š`vÂ@’ÏF¬þÇo‹f}\MZ¢"_ߣÆw ùhÛŽÂhU°d©ªzÛ¿ýý+£hž.‘G¦Þƪæóã]qóðO1—„µ“"V’• ì~ÄuÅW/BA~µ©Îùò†ÈÁvÏï¢PQ nÝÇfÑ»Äòí§µþï§ÍFâ%Ô_g¹ãò<¡ Ço^Û^7¶'š S%'µ°d00§1º€ûi®^ƒ¶œ“©fªV„D2B%ÝW3RÄ õ<úSVŠ5L«)oŒ•ÇÊm,£Eïw¥ 8ŒÕô„ØnùK–![ôÍê`ˆ-Ù{!-ºøF–ï—æ¿ô`±Sm¯’sGä:/Ó»’Dë¡9݋̜¡3ùÄ` ºÓ¤›wÂÆWÚ½R° § áf&±Üù~p ]߬¦UòøÿM×…lŠþb*1Äl©–EŠmZ0|ï Kþ¼ãÙBaÕ¹{¡ÖW¯«Œmæµ_ Eg7|IOý„ÏÎÈ;R“·cì[èDx6Ö–ð_°´4y’>f_O²ˆF{ê/oµjM¥…RzŽG„Óª¢ÿ‹=õOAÖæ­íÄ¿b7´©M'Ñ,ÛHå­>24€w—•I†“NYWSUQ•=ùÎìÔWJë:ÓâÙ¶öÆÛýÜÊÚ¨Z"¹gªUcœªÏìu)b Ë«FÉ7{“ P5:”<×G ×`2‚:Ú~:ðÒz7¶ÅxE¯LaTsðdl))X‡F ,®­ñF‘}\™Á‘š\‡ˆ˜­»+;ÃXïocˆ!Ô]ÒÕ¥/–¯ãƒ¾ çTéjì‹s s˜Ã¦ZRW É· `eÑœÛõB×ó’A–ù-i2¿18©à¶¡%i‹<ƒöT'#}+‘&]¨ù"œ.¸=¢é"Z‚áU|û;ÈÄö.w±?FTÔI¼Ä`³Œk=ðÂR˜½ƒj`£Nß¾3D2-VEç_Û8'àDZÈÚ&Îtœ^ŠS2X¬]ê¹0¦|3×êcŠ>/y^êS¹¸.b´ æOFE?Ãx¼~ÍüJ%"Iž^–ôÍT¼`Ø{˜ç²1¶ORvÈ~j½Þ]œ¦óÊMâqÖÜ‘ig·Û¼a…g»V=I×o¨›@¦>8žÞqM`:þ ¨n e²?\;_Éêçņôë,–vs³JÇò´ÿ‡ÉxSï¢ý}ËZhåúÔd×É÷JU㥅Ž"Õ„N<ˆoA>É"þL SÕ¡wkFwN&÷¸:æø})é>šœØó¹4§¾Ñ1‹³«~ãe!û‚æŸÞÎ~÷i²¤ï^/¢]¦aá–ô/ xñ±‰ðƒ(m‘1‹€´Ã§’ønïÓÎççÁüº(œÁ©ZÐðrQÅ!kCA¯¤Ncô̘(¯:ABÈ‚â^ݪrJ‚0ýiÞˆ Ž)g†D8Ä‹ÁÒÓ¾4(ÃE9I«Â-±'r’1­¤,~ü½º›lƒËÍ®fiXÈó;èô>Àôíéݧ1E7FóÓúê¿}Bªè¿4JÏò=TK$[@L裆 2§<¬—¥=ÿi{äø÷qÒ8 ¯| Šˆý½ŸÌw¡hp“#¨c 7NØ_ØxC uì²m#àŽáxVâÚBë=,3˜ê~G°QÒ®å©=4ñ–½ÂŠ¿ÒŽ£ Œ‚ѹ·ÄŸjîv Rׂ[pYK †Qe’½ùœ1d¦ËÎõÚã“_/YS^憋ÙàÏw$Vi{ˆ)F5éËó¬’P ‹xfdTŠ,ðf•±]éß}>0Cˆx÷yª±.!._!4 Ñê9ñÀ[{-vÁVp7Èa™$6Æ]&vÚ¡ÁîW¯»”¼Ç?T®ê@;ÃPõçÉê%cZË«ÏU ÚÊÝ„]ãf€øj,e˜®E£¼ÒY'[+ƒ¾®:,únVû{ÎĮ́L©º/;æí‹Ò÷‘£®J 2Öå¿>Ba|1eWÒ–D=è"'|,k¬‰_¨4ÆEÉ䳎ÒtÆY}ñ4’ÔŸbs¾ßÞ'â úvê;Æš1àm {ܺ$|Zp ˆ¦ ñ¸®mùÞÓ¬H¼U¡ÛnŠÚŒ¼ÝH\ðE[¦|EÉ`¸A8X56í§ %ᨘZ²àújJ7Ÿ©6’Ì]‡(¼J=žI‹»µcÛ9ÃJ$ÞÖ<-öëðˆW)ô£bSÀ3ÍÐM оZ¢BQÐ4i·d™*$Ο¼"úè‡n04ü*}3§ëž/ð[‘Ïγ²`žðå«©„,z ×ãsä$y#³Ïbm§¡| %ëíc†3øi>Þo8ÿ5¹×ªaÁQ¶Æµ”öTNœ1ûçŒó4#â¨&ôÉ@¼¤x«»ñŠ ’.—Uî1gßìá–±µ/®Ø…#eljAÙJù°W‘L%¼ÚæoOêk x»|¯œ5Û&ŸÊ©•ÜÇ­sÞIŸ‹Î»2÷Ð*.&nØÔ¬}CãC ¾Y¦”ñ˜FyÆäÙ÷Ûq2ÔfZ‡"`·®ô´[ûPöEºI¦ü)9oÀj°”­yöúЩLM4_'ÜA‡”ÛÜ»êÁ A]J{hÿÒ²:²4Žó¡ÎoH.²&Û^*=ÀµÓ‡Ó£zˆ …üãWÛ*\ø\¦Û ?.7[ }hA*]0¤oÔÆNÔÖ¶¦ã¿­ ŸŠ§rq…Lb™›”ß0ÆÅ?M+ƒåÇVüßt|‘~Ή-ÔĤ¼}Í èõigP }2ßÇ?œQ’8!ØíMZ^óËE2íkŸðöî öÔä)¯Â@¸ VkúP¹ð…±„Îy'8cO£[!RæJƒ @«mêÂ$=ææ­ïÔ,Kª'1<ö%ÜsI"å8÷´lH(øT+i’-æDâä~÷n›ƒKËÐÒË*ãEħ¸W e#5)|NÖ†ó*þl[A83áêÌêb5åþõlÖ™0Ãn>¯#ù¡ílƒDDâp0Ý®U5šÀ>s¢9Æ<ØŸ¹¹§ ö7áîDöÆH7ª€kK!IôQĆynx…#c`ÁŒç¾¥ÿÜÑN@þ¬tõÊ¢ÅE ÁiÑYÝ]½E‡¯¤ø>9ó=Æôx$*8K<)M½ã†âË‚jr£Æ6ñÌ)SR×ÍMi„0}§ž‰­µù±Ãð×]äûQÝu|ÎJôðMâ¹C09ÕÉýÑùÕkj"ó;uΊ…ígJ˜Ÿ0<»,JÄAób`žýt‘-ítëóâbæi†ÈzŸÖÇHŠ;ÅÛÓÜ—ŽV±R¯sXˆo4‰1}{aVyi–V‹_fƒ0áJqšÂ™r™ÆÂÓ¾Ý3»ñsÉM+”?8ý~µßjlML¤ÿÆ;ø½­‰ãeÛ¢!™î‹/WÊ €# öZƒŒYâç'úˆµYù»˜øÞÀTEïLˆÙ•ÃXÏ}Tôޝ,DDSÿÚ"ê9wÒ%$î v(Ýcäpû6ZO†©Ø‚ÒA`þYç=Ïïg†3Óñ5“X9JŸøZ$Á1S¨A²„MúT‹d‚¼}u’úz²2¸@þ¾3á#¬(O¥ëTçÜŒ=Øzoc1a*†1 t˯ñ;~©&qNßm7¥š«_/dgÁFJ•í÷µ¼pY ß‹.}°avÑõg5àð{o~¤E"ìn•u¶ÒÓc†Gÿy™ŠÿÌ3W: c>¾›ÿ7æ1†Kå;¥ì‚V^ýö ˆ”A (ÛW¨Æ|¨þE`ÓÝ[!ÆËZÒ^áÐæÕ2äuð”ì²çÕÚZ"7©a%†ÑÇœõ”b® 4R ­šb Úå#r¬ÿ‰=€¯RY/€ ²Ù˜Ì”Æ>nòžõN˜FÁ˜Á'l †öߨb¤õ/ J™Þ÷ψÿé¼”›§”­8—ЪÊ;ºÍí1¨Î6ò/’Î#e äÎ JòØ¡½ßbýAêC¨Ü¶£'%A¡Ä=SëÝ™• Cý§‹Ôû^•Dõh¢èIížaª²_¡nH½Ça…PKÌE_4ƒ=ŸÒb´jåN× ×ÌõSoPT~°ßOxS¾Fâÿä+ØXµ>§eF• ‹ÕF½óÝ~ u\óö_Ø+Ui…Òá¼9•V[3÷bbDpÆ0·Be&}$œLcjio­ ÿ\2ŒÊûwUx„59¶^t˜vƒø4¼ÊKµIÓ áJáYÐÑ¢¶9ÅOàÈb«q¡€"mҲذªÒHHo/¯ìUE^S/Oœù6Y%•2qä;¸2•ôvø¼ÞÿlÛð­Ôâ“U‘¸%%(÷s0¹8ÁìÂ|ÀšGðc:kÎ`Õ⥴\œ‚buûXDÔД¤\á¹5Bˆ(ôò[aAµÊlÈ0¾18S»ÚÅ%.f„¸ÄãnJ¶·ñŸp>ptiΚ±q£^ÍþkAC¹rúrýýz„‡#3Ï_žs‰—?Wø;Óøúf :«8Ì*½ ¯þ€á“t÷¿ˆ¿n%ÛúzçUîc¹³RmË!ƒ³Ü·Š½Ê°kiì´»köÈ3Óåø´A¢Z—\šâwezô¦ö@äŒhfÞX#<prq âºßŒ“ùjŠ41<«çή¢«dƒçžS™ecÁâÖÁ*Yûc¹¸D[|g/©Âu5ð£¡/´‹§táýA´œÍGH>Duv¹­²/Öæw>^pEÏd˜Pv(ï“¥´‹S¶žŽ¬Ëª$uT¼ò_4Í©³ôJÝ×|û©ƒá:ªÄòÔ€„üò–c±ç!»zHíxü{E›hS -)¾èsHAß=DgDËXU¹îµ«¦›Z§ üœÂ%‹ôiÆê#M  u8¬žŠ¨Lá"ÑÀû-tckN·žÿ3“£wÐJÑoÍ= ìñ0©àÁhœÂë-ÿî߬l+²I<ø’Å«"aR®Y¯ ú u„H¡@™íºÙGAB1¶p%?ÿEÙ±”Yn*ŠÑ¶¹²Ùâ“Äú¹bù$KùÏ(G˸¤øH§@¯ØÀ'°ZW”å}•{v~ÔQù׬ȖÃzA=·N³* nOí›RnîEŽy´½ŸÍ|‘l;8úpZ‡$Ó÷üp]æmô¼Û$3-²$ðeÃÇõ5DS¾Å[ýb3«ä¶ðñ~;\Άhœ[…–Jæß-ý•@vú"|š†æ!ç1ØrÀ›G îf$b»«}bOÙ댔žÃ“®Ð²þæ¤eÌC-B ¥ûÿ6jŒOû›®DÏØ~e‚ý-oÃè¢Î¸9Gß—áüþz®©ó‚ÔÅÈ –Ø8`ÞmúgâalÆn–ÿ­ ν@g7a$ ³(;VŽÉ`I´=Γ]95×ÑëI]ä³}-3“Ç|J(’S]y×°òÐàª.~ýɬ§Ñ|ê˶@¶Q)¯PÇ/sÛµ;å¿p$˱»üVZgâ`|—jÂßy?Âê{jÇ~›V’ŒjÂñž {$ùÐÊ®t)åž{HÛ`••×:ÜÕ,D( ê÷†yæGuœ–›ÐÏH›b–™}rÙöò5{5˜ †ŸZþÜÄR¶yó¬y|Òàìoý7­òìÒ§£÷¼* LV³eÖõ;~ì~<í-اùÅs¥j½ ›;ž‰=„*ªÑÝrüã¥[`ˆÆD–Ì·`Ó¾VýœáH¡_f DhCn~¿µUôßmš;[ëT4Ý–_ÉEN›ú@Ùˆc‘ÀјIî@ÕxãΣL’Üc×èŠØí„²ÜçK?t+•ì>­,’^©¡­{–+{Þ—Ø¿¿V•_*P%vþE\"zñRñ%M‰ Ñ±v@;b»ÒñÞó~ͨÌíT) ïý¦¬€gëÄÄ•º“xi|©)´/c„ׇøD0Ùÿ³©…ލà˜GÞ¿™À{î§GÊß[S"^z/Í^Áyµ”hÔ¶ý”öÜòV q¢_И^ç¯!)B’í=øLþEþP§Ñ7뱞ãF”Uµî“²iÎ"aÅ‚.þ“K¾¥ÚÒ¶l(ýéF/pÝ%Y˜§(yš¢¢ªd·¯*×+ $8Q[ÜHBœ!U[+C¶aA·zhÃ[…˜›‘ç¶”¯r7lZ@hBsóþ@"5HT^·èZþ¦ )J騲ÃüªD¬âïE4 "KrÍþ`ÆcÖýk´êÉ‘]ßl97€>퉔ÎXüÐ_}<¬?þ38>l™õÊýXi\áem”ÕÑœ ¹b ¾;Þx¦Þ‰‹½bHó!/ô™iaXýù·ÚY*}>ðšµÝ/<ßS3@%4d‚|[ d!9 €vÖ @‚w‰+RÞÞç0ûtmØ#jæB. 'È4AÆWf¿h#[ arõ§¸o5=2\†ÓÞÄ(¨á®Zº*3Tqî;d â¼Úh$„ îòÐV7´©ÍœfBœÖÚ›Ö […§„‰LÒÎ ¤1|&ºqµb˜Ë­ö‰70@–ì|h-ø‡»ƒ¦ó=ú+ÜrÓ®o%×C´Ÿ1$žÚ“Ь$éË ˜€ãÒMRt/ Ïd®l•VßI»Cˆ×¸¸³OGyõúä«GAIÓ§íÒ¡NMä‚„±¹)6ê/}d :CGí-kÏBsì©á€‡PywHQWÇ®—tú¡J´ÁFo7̆3 ÅÓò'H9h-6õá Ñ~ñ{á‰Áïò¸l´ªÑ\†ŠHŠ*¯›‡uFœ8JŒ «¯t?Ó !ÂHr›Ô³—E*v¿²*„ò¨†®„ÿçÐ ÓoÞ¢Ã9A~,Œ-0!…S1FCŽfœ„ëH=†5ŽjÞUôpyÏVÔGrVÅéV7À®”'…ç#2›Z§‘5i)20eö<ô-&¤ñë+ù¾ ³A-ìR¼¹(¶Cø)Ve°V»Øb0+ »¨–€£¸Ü’Ñ&v†N¦SJ¯=e­ÆõS|åSì@žÃ"#ì†Iw€öåÑ3Ÿ/Gœ×¾Ñ²G[‰HW ˜*|<µTiÉz\ÉÝN—Þ¶Ø(÷‹9c~À†2€t´#::3sêÂÙ`Â;nÁçŒióî6%mÎÁ$ð’ì«“Ln—Iù£ç –Ò°*æ3÷-W0®*r¦‡2~ø;4Gº %²]‡ÂóC‚y¼ý€iTnøf:”&¨,MHû’Þ¯I,tAËY?[é+eâ€{ó§Ç®UâÏæô«Ý÷ jðUª<Í¿žÍÐã\Bˆ²q­±í×åw²¦cÀW4~€˜|›¯O8_Qhñj„¦+)¼ï5²=Õ¢`çz=`íLK°’Ÿ¹÷¹X$9£ÕSôŒÆù<ÞqMGqFx%'üÕ·i çT}ÐÛg1•JCÅÁSjP3ÏÿOQû>çsååBYK´¶Õ¹')®£Áš£C]}*f×éÌJ¿ŸâîKiâ|„lÉ‚°Æ÷¾[WÀZ°ö}gݶ讯«ÿå¦zbf>éé4,J>z3ºrDã?š9„žMºhvïƒ7YÇÖ¹ê#·c°òýÔ`b³4þ™».Á6f˜|5çuõ¶»âtP2Ç™Pj±œü¶=Ìv|!/Qì4¯JŸ Ó„<<$¤Š“ 93ˆy&v}L\Y¡¹Ü97pù„é€?‰ª->‹ï&;ø» (:h­áúžÏŠë|“]¼ìÑ Â¥qPÇcv»t’Åô¿Ó¬Ñ‘èÏ¢“ßëºÈCx!«DhKÄZ×É;AË¯Š»Ùª,ßçäÕ½oä„èSr…^~ÉRCâ#aôG[2t¹24 ïÝ’÷ö´y¡¹ý\6~'æ0œ6«³BÇk«…×_¨Vñ–%Ýû!3Ðê2W€ú4 +&£4 8-Ê+ ÖúÓ` ä è=ù¡Û1¿+$_°*@ÊŠƒ”+”îjrWÄÆüö¡™rìJ5í¼c;']Ùã ¿YÕXÌ}›WÆ Çûnœ§¾îˆâÄ,¾Gm O•O˜¡@]xfrB]¦”}õ7,OGàçP£ù Z=e„ùÊ(&NjQ~;òÀ™–Ü´Ãw‘vcïÞ ©òÿ]ÒD›‰½àªŒ´m‘ZñwÞ‹æ¤Ãt _/Œ0ŠKÔ€Œ¢³É»û;Éç'#â¡m_ÖÅS ‰}¶'³Ø,6°×$ïžXMiùi:•GP境(ö­Zût‰|Ê oEßËýúÅüÜ&ì~W$AþúÌÌN½+_è^ì Èœb}ÌhyפF1»ë#ª¸{ç‚ÏNŒöêÓADרNy_ã¥1êCˆ7 cò6+ÀfäÉΦ‘:M¿rþåSìX†§YöCör7¥iOŒÉ¹xG2‘ÏyCaEÖ|ãUX"ÿ„X’ûÚV}‹«èݤœj8‡VÔöÊ9wÆ8Œ9d£f^T“ç¼J®ßgb=Ž=G†”Z‰ê3ðÛ?æ4!3-ŒX\÷u!:£1t (ÀgËÜ¿A Í‘•åüþúΞª®?ÀÎA;nÃ30zÙÞ'>Ì<ƒaE4~„è8K–Ê;Z„n "¢qãøpnUò¡Ån¸üÀÎg±¬I—B-S¹pÊåáÆ§3{ØsTëˆwÐT¦]çmg`´c†ýµÁ(Üïà I•Ô,Îj²ãSDz¯H¬v ¾ü²1Cïʨy•TF"‹ó«JÐRígïW»/™Š×ß<Ìk¹û·à‘aœòQ />€ÜfÕ¯@CŽÍ u*Éd$ôö—šÔ‰!”È bIÞ|rÓÕDBÉÝp‚ŠOݺ­³á¡–äX7 ëúÛäd¾?ÜŒ±Ôz¥¸ÏØ~¥“%¿ÌöÓAÌq+=BÜ« Ïùy,Ðùô÷MÚ¾‰#«|2?ø‘'¬H¾–(g€Bñ-Gm,Lú÷îÛ›*),1RøCYôlutÕ÷þUàø•Û÷ríÅ?ãÇ7¾»Âÿ+'ê5ÄÿBï½²LÈ儉–­gš(q¼­0GŸ(&ÚAåEªl3. ­Nãec{Új¬:ͼcì‡ÆYÎVY¢.™3Ü1G^nÏ QJLà5ÞiË()a¸%Wã[TFO^Ý›y!†)0F|Lþæ99™±Äƒ}$2à8£÷5ûbBË;#Êz— c†€:Çëü™FáæRp° ©’͈Źè Ç~ähâ¥}f>1«”Ý+6â[å‘!n6•`»õZÐM¼è0=A5¬€­Ð²q¸œchÍAˆVë҅ˤ hœ—ÑoÚZL.Ãz•=fšÕfìv«£Üß!)2Iç™.Y0]ÈŠ³àqÉ?g–Á™Ý(¿1Y1ë Ïš–)¼ ‡ƒëS¶ò-ÐàÎW.àù1™vÿ¯-«…kÕв ¾Ù]„þú»Éf¿3ˆÉº ·¼öÁ׫·”ºÚiexÆ žÔu#atÏ]Æ@nßót«û=,óûq)Á0̲Mx-ÂлÐ\'c@¼/š;£âÑ 8³–÷ýte˜UÑ× eÓ-1Õ¢ £xÅekÛëüþžÐ2ëÝJ¤˜€øW¶–NÚÿ)„¡ÞA±²çaÛs¾ê¸`wþ¾çÂ"JjK¾vµZº99¶nüp(s_5Þ¦·ï¼‹ïî%^§¾çAß s2;F¦™‘E_å¯?I¯ušØ 6pñ³¸°Öu—öNð¹ÖµôVíÂUªîëñ Åm¼›J¦ ÿ‚Âeª*[W§~ÇÉXüD鄚¸Q•§È¦!QÈÄí_>$‘°q3©¬aJ0ˆ‹ÚgœÃÈ”Ÿð1çÁ:‹OŠ—}“s]ä‰ Ý˜6 ]f±ç¸£‚6wH©+%ux+,oÃÒ¿#¿Àm8)1@¯–é¿Á½,SË,¡¬²s‰4#Dòÿ "B[¥Þš’IÙu3#sES*ˆÑÈq³û²qø_4¹­ÛÁC˜„·q7CžæÐÞÕèo¯ %½ÿÖO©æ}âMqŽëM€G«Ã#@]'@>OhöZ˜èÞºL¶ÐJÖcù°”±ÙAMb”Ö?¹]ÛÀÈ Æ~'IßÌ‘3ý¨0Q•´Þ„åôñbNPõ™†ŠNùQ Ð%þP¥‡¬ñd§@.ƒ½õÿAœ:ŒÄYò¹Ï‚[̼µ€_0%øM2š”Ňvå¯è% §1;3í¤¦­Í˜yíª˜QÕGc%QÝG¼o8”é…Àœ;3jS“*u J¤ö¬Ú>>CûºTBÛíZÚl^²+ŸX;fw¡‹ O9Ü u¡¬ëßÀ›Oâ5Œ¦11Á—liŧÑÉ@éÃk¸Ý»öV×öçÑ –½¯€AÕfæÁèY&û¹ 啸ä±hº{òîbúÏp@ʬ¿¤1$+ætlÙÔüžtûO¦¹ª2ñþJŽ*ý£¹.'Ì㹤Q?"È¿.0w,uêaÚ/ÅšùÑés¹ÐÚ] ì=49|Í„½^À©)UâXǦ¿Ü¶ÅSa)g¶¾¿¾âòÔ{ÊuS2Æù¯¸ ûÛ†‹öºUî[®{·Ó?/-}â‚®†ÔöAc©)ôÉëWÌ9I¢RÕÓf´Ð]sH.#*"!X»c®=hµ/Ê_»UåßÙÚ…™u7ª´ 7þ Az­‚ãƒN¦?ðX ¤ߥË6ys ¦ö“c§†={RŽ/«“}dâµó:5PvøÑjü-~•Çk\#¿³¹Á ±Z‹,ˆ½.¶¶ÅÃ7‚ªëF®^«‘ŽŠÊbÎŽ câƒX¯MI†\Îríld ’þ?þ'òŸMk$QÝuo¥ñÛ!ݳM·h>$y𠯆[¹ÖÛo¯-|5ž?›i\8]ìh öè§ÛFáPiu'­þñQíÔf-E½„ ô|ªö)ÏUôÜôÃîH ‹">Žë¿…1h¨©ZC» é¨Ž@L=JeŽìbïY ^‡‰‡“»‘Ï+1E쌌Gà9*]òqiÀ±C³™’;D„ϺºP³Ï‡ÊcÌaîö?sò]gë„vê»T´ãT¹×rÔAsc Nadެ=¾dò¸ëoöqº‚'¨ËÑX»½[É0ƒÇŒœLýÉrBUü¼l…#´—_÷CjuºK!3"YÇýR »–¹v“6ßñ!ÿKäKŽ]ºì6oPkF€ÐpðÙµ ¼ÛN™ÝxœYµ½«pÅÉ <¯M"5½²v¾|›Iòèa›þ+Mmàýê›Îȇ5@u•س)+¶LÄeì|Är”Ç(N†©v.šzË#BNã.» ÚR?.1›íK#y7ÿÞëÄQÉ\“§bµÊ˜s³’ÖàzûŒ3éo/ïΪÏßf¿4-Ý÷ëãJ‰>SóõwÉ'Ri±÷Á¢˜,qG°áS‡íÝkâ9g1WOý—‚2Ó5%´ßáÉ“Á¨‚ÀÌæ±'Ƽ[eë&¤[nÜ[ÑÃ%sž?°W¨qd7 Ñ棉̾âEîý®6…ãÞ£À«\YãÄk‹ÂµœB#I[ÿV´…[oèf'Rß5:ñL_yaåˆ-HòÆmŸ?ÜÞ‚?ž3߆;«“”ïHŽ«x øi’ý/wê µU7?½ßkYjƒ$‡2–»Ãr ZŒ?Ó„›ôîw®© º•¬K½ùÆ©÷ndôFì‰s±9Öˆ‹ìph‡õm8ówÌ ¦‡ä@ƒ í/#øIcÂ:–%$Ãx="ùÙVÞо/â,í÷¼€`Ôä>ûì“CCŒÕvÌ£«ßç½lâ|VžªÔÏ›¾&®ÂtCñËáëá=óÿš¦ýó—Æ Gº$ÕЀ¤†aŸ-V–¸Ók6À¢? –¾¹©:eR*nÆó§3ò<·®CGcš’çe°~ÿ²ÑˆCãªÙ!ó°õp5–N®DDêGC²ZB$ ¦öÕ…äPUÙLÜŽ}fŸ~¥ÔóÆÊ¶å¸?6) Ó~‚üPâéŒ!J[ލ¼´w„ãªCˆ EfÃçf¼Œ'H𮳣ÖIùMÅÐA'þþ¢è@ñ™ñÝ; :1]}MNÁ ã' ·áp¼ê‘Ìä»Çè¶Ž$N#§„Ìqltð¿çå±x¹ÑE;üAG”‰JÓa,þ7ºÃÄsžç'·?±éò²Q‰…O ö1§Bt’üÈߢ•*MÖ¨`¿Ýp¥/8WoóLR ÀÓocɵÔDÛK|’ö€F˶@.Du™`’ª=Ù¥Þi&ÄPȘõ¬34V§&<.œúw¹›qˆ†Š<ÞsëAÐcF/h'ÔåüÙÇ & é‹Áé{0¾†ÿþÉÕ‘„lŠÃ#Áé>Õ!‡Û9ð(:Ä©Šl-œÔº’Xÿ£¶æžÎÉUIVU¨ö„WÑBä°Pµùi9g›²´¦X}dò’“§6ŠÕ­PTx05iE¡ÎwÓÒp~xÇ«"öˆ-Q¤Ûëmެ(r³Eñ:)7?Kœ8‘~騞÷ä e«óó@ÚQ eá7ç€ÕÙ F±\/yÍ,gѺ£HºÔ¡ÿ¶éS|°^éß?/5'*«Âlz¼8‚'å· ¥#õ1Åî¸"ÑŽÎĨ‘æÕnÎl<{A—’`÷=a®Äñ½¡øÿSª±Áútši©¼`œ£P p4ËÙÿ®MÂmã~n¦vÈü5â%y RÈ©“È"5`CÖ]IÆŽ¤yÝæ`?9.ÂóýëŹ˜¶}ÎÙ°AF-Xû/?»ÌÛê‹SÙYlá½N=®ý¼ï«Ýð=ÅxsXÍꕲ,m3Ò#Óå]å7r}‡»RbÅÆ¾H·Y+ ” úoTÇݨè3Ë:2¾6Q-ŽÊ`c´ñÅ#˜”‹©Í§íÃYÔ Ãch.*ò; ¤¿&^¾˜çÖtÎÓÒtFˆ"J;á°Ÿ%Îî¤ÒJ½ûÇúQ܈+ܧÍ%nä›Õä’±‡¥e §– ]k÷ ¡ .»àÊÀŒ5|H”^q°ÀÈzþÚe¹Á`³fV#)fƒ´å#5+q懫³‹CÐÌóÜ+O¤«J•R‘ŠzEßF·AþH£¬Äc4ØÇpêZ˜,PÝÅE`KíDÅŒd/vÄôX£%dKœa!ý‚Ú…Ëì)½³¬ÜĘ 4’uOd®9à–”NünYÕu¹ŒÜvåPäc‰ö¶S„dP†z+ƒAðÂc>+‰ƒ;ä¦û[€¹]|v6äð9G’ÃFðoÙ‰X1¼‡äC4XçÄíÉ`§=¡N;3¶rÌ6>^‡[<l¦ N@AÇè¡”Š=§Ï«e—g,ôð;_ ÚɇŒÆÍ;Éiò 4+kûx¶ÛsA…åI‘œø„ñ7>á<Ph\—C†C @¦ßb'œƒwµ³å7ÁÁ‘Gù¿Tg#Àcàpj¾´ôêªÃ!˜m¸¬`­”‚êèô¹9)—¿ÛRHé4ÑgÈjD5‡ߣéÙúèG¡]3·ÒkcWs¡Œ”÷!µRÄ8ÛGºkÉlêéýe¯_ÄÂ6í^ÄÄœFÏd(ÔvÊ¿gZ@¢èß ­åW¨/ß8jÒcÀ`|hèÙ´-XNkàòDY‰:ä|ƒèCŽÏ !f9JIFS óוç‘׫çßc¸³W3Èô€nâ‹„ôhC‹öŒgpüШ ™AxUϘåzAUÇÍ ¤Xòsœoé;‘ž·'§²`oA¶;ýŠœ'ÒK‹íIËHz+®†Fü"<;gø£µIˆ.”©È¥1®]Øg¤Í€d:®<]ÁNPüXÑáf±°nvh¥Â>úc=€!s[eÏãÜKŽZjh¤úIRÄ^ŸYQdhGÉÜ46‚žÆÒ¥Ä¹0î„È[0ÏÈ"§fÄ™ÿ4½±>X梄¥EÙ;<¢¬_üCgAnŸ$ %ü¡2÷³ØFÜI˜£ß³ È£åÂQh®™µh5ßì‚”‘f•pMÛÝ2L øÆi©å|>ñèòYÒ`)/ƒ0kRËæóRR9ï`“4½UtìvâU´·N¶zNECeTØ%1Ÿ`@Àü€Ê( []ÆV䲓ò;Ug~“W'†JJfÓ´èE¾ ÛO²NLç~tìpª¯f`Ÿ·º€¿Ðã¥]}ÆÉ¢")\˜Ñ SÚPÿ+–"îïÍÝ,d)=5°ùR5sÆÎL ±²>ó/ó?R{Œ6Þ4o|+È™ÒÊÍt#•˜2.ýF_®[ƵÈœ ‰³Bä<ÐÐahm6óݲp?Oz©ˆÁö÷_ual„ýѬ¡¬]ûÚÙ¢ÝìO}ƒñ‚ç’…YãmÝ"¨e20ª÷éµO”¸¿_EÂMáœ?DCHÃ,4TÅü?"£|Hsk—ltqywÿ´jX`äÎJ{¿Ø¼M!Èjg›´ÿm ýÝ‘̧f±K¨$UbRóäËEß®¦¾òrÈ+·¬p@…úÝ +ŸÞ&}A)Æq•30Y3D"òüjl½.°%ÚV…‘˜ U–ôo±n«–bôÕ[RÕA$vÉuçÑ3é]~«PŽ"URéïFoŸ0aå¶J![z°ßdäÑ2;Å¡és’³)Rô…®]$ UÄŠä‡}KMZ_VÊ–ž† :ŒTÎZ™|_`HÖ×ò§êæÈ®,Œs9‚&½üüI߯öˆ)~•%±Xî’ý‹™@C²^£ÜL0·p»¼¬‰„9¤Ž²ž_É,>M `[}kãa¨î/N ÇøG‘ÿhÊ`‡q[y%DË rÔw#>âDF~,°oìCí<¼¬"x’Ïü¶«Ýœàéоo pR¼”i*5>ìz9ó1v ›[±ß¨Ÿ´$sÂø;pt¼+Y;Tsœ·â F™J•qÄT21ê¡ó]»ê´CV…°–·ìÃÃðv'53‚¼Omò@ÂoøN¶µ5{KÏú¯…YgJB…ÞùáMaxâ éh¢ åVÿÕ«·nÕö÷WRUø.둳q-tÑÛ%÷·Zvô»&U±ûþÄé®çÕ7i—݉€|ÑJþã™ÞŒÚfÚ¯ì\W ýÕ ÅŠàYÒŸÇ$UðY|^8~sóÿAŠ ¦æIš¿N½w€Z$à¶D÷TŒRüRüAu~ÌzOœ›$4q¼a 9$Ê”^z~øZ ÞjŸ#/„èÜ!Ã=[$óoar¯¢M…šÐ¨kµn/ÁªÒ^Þ¡K‰¤è&wý “ÓöaoGOXß|Heý U÷Ë!ŸÅÇw6Ö»v¨<Y2éoÛ@‹ZèsW!NõÞ®&­!eƒWÏÈ$bÚÑ$À£[Æ-ÿ Œ¨Âú}ÃÃtºQ©¯"±ÒÆõÐDóK[’‡W¼³7z&œ*H¢+æÂÄG\ˆÑ´êWª’)sd°—¤цY*_ìª+çºh)ع–²»ÈžÏH4FPwÄíCee2ùC·qWÎõ>òÈÕ¿rã–™‚ÊG¡kÿËâ5œƒŸY¼˜ƒ“ž¼ 9W¶#R&BÓ.ŒrZbŠ’§¦ð·Ø‹ŠŽz-Á(ŒëÊéÈá,buogÔgõjX‰¶p቞†ØßØ+y÷|©ÉöŠZ@©Ý~¹CqÙCÒ=ƒ/Xš¶ÜŠÁ¡¹ÄùÚÊ3˜™–·&Äv\vªi"S #GÃ*Á“sš¸® }-cEä}'Œm•ëH2ã8¶gÓ#ËÅPýWÌñ6@‚zÌ:w`ð«ç@„4¬hˆ{€Õ¬Q‚ÍH6ª@üøÿì8?¡* —€)‘؇c œV3²J[!´D—2ö´îü™†”áE¬tXWŸÚ5 £xöý­âãIkkW“z—„Í4ÍûZ»š&'\Ò}àÊå¬*õÿÛºGÛßjäP]wwÎ]Μž<³Û”²®ªfYÆfƒ|«ÆŸ$ø6QÏÅ‹bc_úËr–yQ>,pÝr‹»«ÿ KnÅrmôá̵`ˆåÕô9å÷Ì;¿íÆõrˆ;ÿ©C]ƒÚþÁþ¯<yâŪ+ÓÆó‡ô5FÄáfMEnû„Ó:Ò€Š™åFÉB&ª0J~Xžq‹9²'šŸâB?×%[]â5ô)+ÓWoàdñC¸¼²l€×ÝOœËGl6ÖÙÿNÛÊ•"‰ÒÊoÖŠ›Ý Ù˜ú÷v3ç»9¨ë$ì&"1F¥æªï¼ùä6ÌÎÓ+Fª[‹¥ùó £°Æzo¶~ÿÖ;I/pÀg·WÊR1ƒNø6³¶¾r]£äyÐ"n§¼íÝGö;ï~$`«%[ÑàŒœ Æy¬¯øE¶DבÚµÛ¸’Óͪΰp|3ËÈãÂüâCï”Åvì#ØÙú×K¢¡Q”‡Æ?Þ aŽòÿÆmrEæ…‚ÎðºÐo¥°¡És·ªR{Ù_<ŠA-;(‡g®¶Qgš¯ÈŸƒÝÐi–~0¥Âr®åšž¥è€RG¶¡¥¶ž2(팆 ÃJ5ÿ†åΪš ¡%FYu@Ž{/NŸœ½hD:©Î­$‘äp ëèÇ\kV$óè´q¥Y)¾Õ4 (íÛÒ_GŠcD>z ¿f¤\åí¯e …+¿ˆ‹D ؇Üê …ò6Ó$=Ü(Ú§«©š©Ë¬]"ü¸Ç³¹MAåTÊZ˜3/A7ÇɺJ{7„+‰Z›™)-"F«ww«TÇ_vhqšJ–†œ%ß Ã—´Qê²wú˜Š™ô•Í©èçã«3}Vu|)Qq£°tï³Qã%ö\†yí—Ü„Ç&úÒ{bˆ:&{b,½¹Ñþ0Ž–ï‹ÀF^ñNµ÷xÈN¿ì +'Q”çÍX°%·eéÊd°Ñ–O¡Õ)éžAâpºz+Ò5—½|ÂÎ-ÿ~Ï%B,ÁÅ~Ý@é”û›ÄG&ö‘ÝUL©pD‰­Ƭç<Þßë¿ÚÄaãºØf†l§EÃ×ï×,pnì±Èr9¿Ç(¯}ª¾<ºGÓ§ÿB ®«6 0»N/ÀGÓ¬˜k3<7ž)ê8•U+v¥ß/JLÝô*ÛÄ€ðÃ-ÄÙQLA2®’3hâc'N& P>Îâô*E—^Œ(6eñXXñ׎ÅÁÏxÊ6´&„ sŒib9ȹ€å›Å #ôšK`Þp¯=Õ7w÷EAG W,#]‰¦ýIÕSkQwP&hÒ*¡_in|Ú§-ÆÈûë«42 ‹¨ëÞí³õÿo>ZG´@ <¼cd²ñmp5ÚïÒÛ¢û¨ùJêŸ20úD†V¦úCsW£œOAä_'Ó@è‘E‚M庀`b¸ÜÕ™üÑbw'ÉÝ狾ü¸z¬¢JoO6[ Òßð|`úXn7ŠaÔ|\xs¢ íÿ F$¬â óàG þ[¸U‹»HRݲÿ¾ÁÃß\ê\Óƒ:kk%«íÓ—õþúpñkWžÍå^ÔJ©òVÜËmmÒo&¤ ƒÏ3*þ-p–·Â¨;\ƒ£lö.SK+†ÙülW~%xìwŒ¦ƒ"6‹È@xOF"Fi.‘eƒdLd2&éHĉ -{·v¥?Wo2)Q“›ÁæÏ¾R®ddÞíÊ3ä“ú"¥±ñÆ i˜œùN·ÔéÒ`¦Æý‡Ëì’vd®¢û ÕjC@˜»YØur²ò¡ß‘3¾(¯Û÷®­ @ùøÅÔýÀce ÒM\Ë„­7¿%ýgøŒÿ¶P½ùTþði^mM‹ÞGTi9ؘ€øfpêߥŽ5Vò-ÕRVÙ°\<°¢†Šù± J0# ýÂ:_ßö•( µ¥@ß±Î,ÿføœ'd]qäÆ ×7ƒý‰ÒkxÛšz @»ÊpòáÐx©RfÏ{ˆ ‰ š4†ŽÕFvæÏóâž‘ÎQVE~u}€åzé{ b«ÊH=“Á¾Kû«ŸX2²û;Ò†œoÒ£ýŒèoW|`Ë[8ä™`öxŽ=N OÑ6‡îÔ1b½ß‡¦ßHʵöáÐÒˆoèÇÖ×QºR¹ûxøGï\¼Ë÷”'xê¨]ž¿YÒ=a B kñÿ[h“¦7HºŠ™S™Z-r§4lŽ1ȵTî2§‹ÂVaZö¤…'cÇCÍé1×y=:É’µ%ÕõR•Ó:RÝÖ~z}¿Ea­˜í…åEàW¦VŸ›oâœræò¥Ìþ½í­rˆH÷FãÅNgç{ï^«|ø‡ÉrmöøÃpˆ‰Ïv[§,<ƒA7š,€ç¨×›`«£j¢yÝ߸]ßs×t¦Èž”¿êŽï§{ìY/V໥ð=-f}ék#­¸j×µE|½¨º±Œál®!,3±U·S$‚uöƒ)A9vF·Ë±½`ÃÛZþsWb™s~g³£Ùô64T¨,½ Ré6È™¥`ÕÓÐtÏ ¤bË ÷k™´[Pu 4\jewpLó÷zEWRÓzË~s–«ý[H´9öóvÄÍUË8‡OòÖî„p[%ûâím›µ*-y“eÆ5 o"*«—Ÿoö—zŸÔ‹ç›˜žØ°_jù>[uP›Äªx”Ô#~®†=ð—¶‘øÿŠø¦*Z-Ž«shµŠ*a»o¡C«çiyjÁ‚@9Ï ¾›ñÿåTÔ|Fü€üuìxï„¡DüYÞÑý´wÙŒ4û8#ô¤’€¸ØÎ­*àÍÈ…ÀÄ<ÅAsFvô=ŽOg_{“E*ÜÖvík·ÏÖ2G.ƒz¦“¾¡ÇH Ã.ûìÖëá[^ô€qJçöÕžR„x Û¯ û÷ÊUgßÏœ…a&6‰ÓÉT»¢É nüömžæ†³ä:[¨±(ìEC”ß ÄÍ¿,. ¯ Òw]`÷Šð¬*55£IüC¿UGýEÜ› »SZÍøOZ.Å(xH¥Ï--‚þéң섓>¿ݘo!Ð×Oè¹þ)ZO= —ÄâAØïä/b/V}g9¤ŒåÅ!àt÷·dDf©çôòI­ÀÒýä#ŽÁ?ænP~5ú ²¬ähm/åÚŒ%æ°R5-Ô(”¨fïLéˆÝwZ†tAO.=¢)ž¿u!–«âxàÆsŽhuðœ’óÀ¸Ç%ûm›¼¦yk‚«£]Uh‘Msy ÃÅcíµž^CJ³·W`ó1;+¿¨Ùšª¬‡´üîíÖc2F®åºèFû-ÔŸ¥öÏO9”¡«œÚ¼4~{ÏkO*VOØ£àö•Ž!CcŽ:IÝPÑß¹ŠÅ~ȧ 2Àmá+Mí*Âf§ úÜ-%Éu}½^ðÈëqðÑ¥j´&ðF†¶³Tÿ+•6ãf&ÿ"ôQ4.PCOÚThd/ýêßeT8pfE3kÔ:¥å^ÊÍéë"lú&ÖEÝ$Êœ#s‚=íüÍrÊö:ÓmÀÆÛ¶rIþïè6o–ÁžŒw…]"ãáD||A:@Æ`ù7ÿ¯“xnž¼SíåS–->S¡tÚ‡36§æäÅb[Jý¢"³í€æø„< ­XšÆ²éã –”Ú1ÃuоL0zX¤ÅÂñâý6¿F«ú¢T}†}¿‘!v’ü´C"»ìÊ-â~—w…ƒ'ÊË™Lä¯êAæ_ýí=wÍȡц±(³²Ò¡U´i<œh/Ê™çGÛ‡<§Ç)$›ÝÀ·5€‹Qc%0›r)oG+缑ÑÒ÷„N¥âÒ,Í:›#? áª{•ž©e`¼´^'Ò ÎîtѶ½±â.Nº2@Šs§ è~[,õ¤Wâ,§pŸ±=¶sô¡ eSw´ÄÉm (âx²#ÜqË›¿AÂ6+¢JéU²Åß¶/• ÕäŽÞXáˆuUH„Áæ˜ôp££Ëeõ·VæåáÑ£4I@2“;d7l¸áÌ ¯pŽ-yjhÂõ¡´?DêªÃŒÇ´ ØKWÏzC­1v“ã"ì ; Ï©²â= !V&@C“¶ÓJL²xB¾ðyÅ{îûZW4e̺Ãö{+Ô%ƒnʆ {ß_:M S¨SëCðIµ#`$ÉÍÃCádqßÿ…Éþå$"¥‘UOj¯ˆ:"£©K…a»µ$ÖÔÏòrÆ $\]F>®Ú&‹ýØ­¥"Ü·Uq_v™ÂO͈/d³ÄJ:ß·ésXëx “öeAUº’ãÿ¶™ ƒÑ;{¯z 1Ýÿ¯30”ïæV¯ Q}€¬)HŽ>mfžÚ#á_N–¿¯_µéyFdg•$RÝà*Ê b—8Dn{ À³!þÚRßw2Éë1\we4‚ø£Z½nø9Ñú>L¿®Íþ¦¯†§½nÂOF²×ý˜ým"k¯L*«¨$“ªrm-ü=i9xÕ×3Ï‘­a¾c¿Ä½¤Ær+é3=æ]RÎA7ØsÉг¼ŒmY²&Ñý½‡P@eiÁüW=¼Þ‡VÙöDX9X‰ 3­9d»7_v=DoXÎ=10ãŤæ×ô@×9P˜©Å øF$|JB?eÎ*Å®Xüw˘ÐlJ©¢.3,°&¾bÖO†Ùýû±S¥ë£¯R„ϘÉ«*‹à¬‚Àz°Ûu´ÐÑS¤–†~‹-¦˜døÕæ>œŒ—Bí÷Là¡aôfµ nTj?Åg»!“`¯A=Œ¤z?$7ÛÚVZ¦¦$“õ²‡C<=úõ‡mœK Øí÷CE“2¦éZγºÏkC,›çßllW’„¿• YõR¯`E(í—~smJÂÔøâÚ%ïcE:H×3òy±H%ÂcD´ÿû>ÊÊþÚ¢Í\[e$ÿŽâ€qÍ$gœàTqôšpZ8Ó²r 'àE¼úb ê!Ä>Ö>ËÉ#‘®?»ü?ÀGîÞèƒÐëÆ)Âãų¾hò“85C’›éo˜\ÈÙç'øE ÄüÓ<7æ=qG'n'd›T#¼Â£q²÷9B â2W¶Á‘qÊbÔi].Ë`Tøî·!>8û×Á?äõúÑ£Ãzè½UP?÷q©,O{ºgÈhQˆ1°ö×塯fx™‹QC3Ú…Z_°Q¸Ÿ=‰–NGj/Ÿ³÷ù\ö¬¢‘ =jŸYÎõ÷9J ¿åœ«Y`Ó/Yì:£ÔÂc;„·6yIÓÿ¿¨9¯.¹êd}$É ÿ±0Xša`œP‹lF¹¨/>KÛîkö $Š" ˜{.RÃ@Nï-ß/v$Ñf¥î¢çjŽR·=yíÿ÷h_ï’ð-¦ Ú5ýcÆ7¬á.¤ ÃHsR„:[\ÓVI"ØöèQgÅÃ>U ðö:›ªú‚|ç(Ìÿ…9€õ§[&–~Ú6ÚGK@¶¾PNt‹›5V ñÁƒ³„Ù=œöYÆI ˆ Õ×V„ÌSRR;—†}`ãUÊiÝÛBbœ²­Î‡9ö É}ß»ž@ìTrõd ê] u­&ÍŽ³:þì“v™¸sk.‘áðQ(ƼBWÑyû¬dïëRU€Iž9žåXId»~ʘè%üë#Øc'*™j']ëhKŸ’)E]¨ ‚^Mªš«läo}ÏB#¯€Žé•O"ºm0ä±ÉÒV”ÿ ’¿T ÁÂÊà$Mª&@´¹.絊¾s€³›³Fm0—¾Ù&9öP~ŽsE—Ñü[å²ê=©lßX%ØYç¨TÆL9o£.B‹‚ýŽÅ·É«Ùf\¡Lÿd°’I"Å8”²G'v5'] ¬uÒŸåa)Å|¢<ô#¯ažÞz„D0é·‹­%Òªð¹Î¥|º_"MLùd(´ò}y¯p¶¿Z›Íb¼Ãÿ(äÈ.{½–ýå#Œb7í«2}‘°þŮթ‘ûÓÆ3Ø´%dDPñö >å»ËòÓh9=Ο“¸ÿé¨çÇTÇ£,}$Ï×ÊX™ÇÓ>2¯ ¥ÿ, ßoî õ°dŸÊÏéï@›ÉŠ~Ì-x ªk”Û{›ʶCjŒ÷Ö3ü ÂTñ†Bߨmm@4`» PÔœóóºZ"C0A&…¶­oôLG‘šøJÚ5~,nºÖþ ¢¢^›1ĵsä¤`Ë(£Ì{Z"ùšÍð&U-=í#)žØb2d–Iœ1‹š#£>…”„tâÐW\†Ì%"·Õ\!ù7IºëMQg˜NDí©®¡²‡\B€I?kúY„V!:)§ªË&ììz2—òáð]¯ü@ªštú"üú·›,‹ùÎÌLUït0 š¶\ô™s‹šŒÅòC%÷Vj8½hGsŸË‡œ#.K„žÚ;ª´@æB¦yDzñ¹=ÅÀñJœïë¾Q¯ûôΑPÐìŒ44•‹¢"£s®÷ úðõÞÝ-¤¯dRU¢e3gŠ­e)ÓFqÑ€À²ûÒNù÷qÆÀÞo«žz_i™º6´‘lj \éçÈÖñÛW‹ÓøFó 2¼Œ#¨V Åô=„¹¥§‰ o•ÂÑ^e]%¯Òÿz]MÍæ¾šx Æv¼Dˆ&ï¬ð=y,‚9«W'öÖÏ‘ÕI tãØ;_ìab.5<œ®)Y×5X3”±/ûn:?u…Ó(Ã*j[mÕOyDïj usÛß´c…À?ƒW7˜ ÷êMããks£CA½’ÀãžyÕ‹G8§°1:4︃ã2›l™8dü—“¥<\·j²êÝ¢.}.6Ž¡²€rw+¶›¨²“MQšØ¸Võ$1äR©}bþ,e’2{ü©çudW¥Š°(|_–ìëoâôlï„•ÿ ÞÁ Ü@~+P…¤ä8°Å…ØÛW[Æ]žìô+üz.Ê¿%2Nc¡B”ŽX/üx#’‡TÁßQ-p¤@þ,z¢;-ûÈT|«N;`•(bëœ<áâGf"…S)=¿BÂJ–r%p2á&Ë[gÇ(ÐÃtü÷„ 1:Î$KÐ9Bï³pípé§ ÝV±|š!Tž#«d‰W•Ô\ År¯€¼UÆvŠûÑÊz•÷ô„ Ë>–êM}"]ýú,çœOä)óÍ©‚à—Òȇv/Ïù”úÃ@Ì! s5”C…ö8,6½zÇ’1M¡§n‚½x¶¾›E [L^ø°A&ÛÞŠ! v]Xç^³CC g^ÿ™‚]éëZŒéy&LB óÐRÙ!¯FïÚпßëbLê‚‘(âpHf+Öó†‡D”M·ß ŠZÂe„ÎÆ¦a¹éHGòæ)gâ‹¥ Ó1šQ-5»)§5 gå4”ؼ›YÍü€r´”pw0äém'2÷9Ži#ø“2zûdÕ­R™Sp1þ@Bçé;«Cd,‘ üM}ëi©WXj†dgŽ4|ãUªcßL–]7sv%AÛžzíSBQ‚>wG%ŽùÒlJn©û&j⾄¬>0Sñ-ÉìùamNN¿ÍÍC‚4l “Ò-èçÂÛLE•òþ¾ÒñüC·ç]ôéÌíÊç#¤3¬j43žÌÈes@žZ×Èû{ð–WÃz$6:Ê)^ê=ä²@'D©(ö‡åpÛ r{9õòb&ØÏl¥^Êæ~Ñ‹ZéŠÅuã`çÓûÒx“ÇäÅF<¤žÇb°Þ­Å§Ê«§gs­ÔвKޱ² B‘ÞÊÎ}=ìäß)òoRÏÜ:2Ã2™TZÄe•ÉB"Ĉ‰1Æ‹v1¡2´=ŸR [ww¤ ­L€8Z¦„ \š½|ˆ¸Ã›±Ž‚))gTÙxLð=¸ÄœíÑâS.ì\xàÑw¾1 Ê÷ï0ì¦|•ÏtÊ»—oÃõ+ÿJóØl6ßfÈõ8º’è…©?cZí„ñ2¸>²Pp4Å8sƒþÕj­´ÈrЋ$®ë”…Íý(Q¿?ÔÌ¿÷J®ÂiàÍ[ýëÏAØÞ‹¡3ï/B¶TbëѶ®ƒÊÚ;zÊoV§ZŸ‹:(Š5¹“¾à£Ð}ÕîQ*,Aí2ÿ'r7?5<°ù°<ŒZÉ@Ê/H»÷aÏ2S–B«á:x+çô³®]HKÄL¬£­w§mcÅQ²U6°n‰ˆÍ!ìÝTÇ´j@od*/!V_²ÍíØ=yüs/k7àèÀ—a¯û¼SîysMá@«ö¬ÊdRwb8kÑX#Sô¿¿Ø@È\MG¼å6 žæw'û Uű‹—pD¬``›Û ã”›=™D\ë[j¦øn$à·ße"—ìa=qìbE]è¿…ò5ÝÆa¸ç3ɾ&œjž‰¸ÔŽtÓ1)í=:N‡ ‹ ow]c"n ‰7ÿÜuRÌÈŒÅNnTHóqßãäâÕðY -þRýÖ€š 4vk;¤hÛÇÜÌ e½,kÏ;ø< >¯(E!BzÑvïe„ƒç GéwŒ¯;ïo?[+¹™©NšOR0%•´ª:‚`y`û»ÒÀÅ&â‘™M!‹ãUõ¸Ù‹Ìš>¢Tªœ^¬ÖüSgúåÞX=ù5œŸÆ)pNÃÙ¼JË—”™eÙÝT·€Yqvvv"S•9@üfí•ø¹!âB¦½þçøL¥ÇVÎÒB‡ x~!`â¹ÃÁïŽ0Â]·÷sZ‚ãbµ^ážWR†;+!Ɉ5b2Õ£ôtÈË=Ý@ÑmýÑgýã€ñÚ#èµM-Mõ / Ðõs¯Bò™£üµ&åó,¢ÍÿÈ%Ø@ØàËýS¯%HSu¨Cñìåæbtj¥B¤#A ØùsÆ{KÏÙ‡Õifq뮦æêCH@.‚˜*M‘d.@N&Ö‡Gýü»Eì‰?Çé^á4Ú"þwìià¸[ý± Œ9x‹þ%] Yz·ßÚ±6–š –ÇÄ—š/ûdQú¬¬Øäöš¨ÿæå$Mˆ¶¬M¥g(8ßÛ§¨r^ä¢þÞFºô†‰hðó7,³]Åúˆä' ™­Kò©!Y²j9àÇ71•µÎ)ÕJó\,géŠqZéîÏ M¡¼ÀùR)l3lnw1a¤iÁWèpMË-þ=c7nw;Ï{^²xÂÔâ­•äå«'µ\þ» ûSHW!µêwôê7„Êf׫(IïDX3[ÆÏ*î†áŒ@vTK°IûR‚ŽÒdŒéÐ[YY‡Ô?–aÕn!/ŠÕê¾Wc´ß­ê9}Æp,:{ (ÝU*¥%™¯ðFÖÓ‡pË»g‡¤&é}³%âLèû‚kƒPëÂXeÅK$Né¨üBíU­U64up˜Ú}I9ûƒâu“lù†#UêtrMþ¨!¿¿âÜÈ€½SÝ”sŸÆ97¨weCX€Iú 6©Å¬˜Cê{Iç5ú™\)W{-UoNq¼•G©&“ÑŽÙþ4K¹¢ÕŽ&ð1ÐuÞuÅB¼oô[üé̲ÒA§‡zP ǫ팣C®2(ªv¸÷±öÒ/!âM€À®[Ôɸ`í1™<°­. JѤƒœ¯þvá" @׺´4‡E rx˜‰·Sè I£wa“ˆ¨µp“À¹ï-mׂÿ­‚¢F³”öÕå;ÖøÞP(s¥@ÕoAè»Ðkš,Þ™/A+ê_SgàB øÛE®ën¼ñûb(Êò8㢇ÃÔùÒDdÜ4‘Ðód07 NZ¤Cô6öȲn]â‹•iÑU*þÚ`îráÊ +FŸ³çTÿI6öšNc"×­SÅØ~’ªíR!&hÈ¡õÐ`^+ß5#$¤•¿å¹*®Ò‚üßóžÓ?†ÑH‚¤Ž`¨†…iÄed¡ü«…F ½u¢æÜ¦ð€Ø0aDŠÀ?°ž‚ÊóøÄõ(˜†–ÉeÉ¡T·yr–^ñÈÀnÈÂJo·¤ž^¶›l:€§Ìž´Œý€X?¬oqwæ…y»ZP#ž6ëøèh,8‡Íà;—äÄ|V}pŸ/¦Î=`·æ‹®õRéÒôq2ºn¾ùˆ÷GçÖtå馗Ü7®—¢(±ÕdBÍ5*«¥$F­ÈV4­M¤ºRÍIÇÅD1$œœl§­"Ï‹Á'§þ³…¬š a x™GðL0<òÐWøuª•od²Ù‘ Ôq'ávÁÃB.þkÞVo_¾ü½¶LÞØRèS;Ô;ËT„œ1×¼+«ê·Úo°à0»ÞË{.$qõ©qN2¯ëVââ““¸D¡ë̓ÕG›¬h²¸Ô8†c—T9ŠªØê´ à:ÎmI&çÄ#ÍÄ+1ß €å¬MJK‡Lä$ÀQ€Q¥°%#¬ÏÖfGŽEñ3<Æ,ã#h;7ñ50U°ñiƒ‚×H=eÉ"FÞtÿB¬œ„[m•½ÉôÀ*mÖT‡sÈ<®ðÛ¨#×/Ó”¾´­.gC$–agØ&Þlãd¿Xzu6¸C6ÒçKAš•zUœÖ{i¹ÇÍ­}åT–ð$oJ•™Óæ7”ˆ@fŠ4h…Íá¥B"6h¸c…yœÝàŽ¸’içÞ÷&K]0ˆ>XV¼%‹…©ñóÖ\YÌbZ©méâV’¿Í( õ…´€.’5ã‘ø|7¨ó_”UÔ©Ê0¹®ß¢ ÙÅt¼“˜MÛX¡mcôB‚¢»ÛFˆÇ¡Æ»>ˆùFwUË¥Rï:Ü8/Ï3’ãÔ?äÍÓF´X£aœìFŽÁC:,ä‰üizùó>)—”9+ܑ̞u´N]=ExÏu†*j3Ç,{ÆæisžÈ¤¡û ŽÕn…³ï§T5¤Ìâp¨…Xq®ù{w†ÉqÛ(` ”ï_ÄüGÜÒ‡l,;;iú#—¼b qÏXÝî-G®¬?vÜaíÆ¿ÖÏ\ÖÇBá8ÔG&]&°û¿\!,»yGÎ!æø7_<ƒ;û&B´ÏOÁï§·¸7çÿopê 7¼ô‡MãÔVfákÿ³åP†h1Ëü/[C\›Ýç§„^ÌÛˆó~Y rÃáE|äÃåîÌCý„С@L9W‚î3O £õŽ]ä²ƒŽ’Óuœ¥ý¯‘pCì¡{ZôNš[ÄZÁCe\}9Á4‡Ir†8ƒýÛ ¼àFîA'ñrcÿQ}-ê4)|²l! ð[ó\Ø×EÑÖÜ!EÝ?nGºë?¡‚7³)Ð Ç@D~‡´Ffع7i´ŒÂºÈ¿9¥º«ý"­àTtÜçs‰zŸfœïSî RÝÚÖ7dÛ÷4‰†P¥¢ñ‚4­8A£q7³Ý–ŠÔŒy;ƒíœ qº=«ÊþÜÙ ôJ˜nMç Dóûim(­²Þ®ýæE!gÔ¸ÞÁXQ¯ÚôÞÁPüŠ{W(PÓ[N$³–6šÃÑò_çdLÔÝøêû³/?8ö…àBÀ]\ZF#†E,íwk9Ga›³žRP¿mšΩ®uàk£qÊäÓs ¿^…PÔŒËd¨1ix“¦wŒAÞJЕ[{žMQ¸u(Ì[ì7žÝZ’ß &¨‚:vZ•ÁsÓ'Kùz€/¾ðBcBÒ–ß>mn5¶þKÖ`Ö3 ûVÊR«l€D³‹{4äu5B³ÈÒÅítk¤öú •j°f·\ZímÊ\¹Í/JÜY½¦ 0.!ßã%‹ŽVô+ áË\y FíöTþu?¹Š´cþ¸Fª˜ï>6“ ­Ì™+×–²ÅØÃ=‚´ûºA}©XËž:¯I1%¥q¬u¿÷nË;…¬QØ¢Ã6×L@ÔŒ«þ¼¾*D||߉žfw ¼”2Eµ ÷€2ò²øá‘D6¼g1w-;‚ûlŽ»Ý™/D„IÝük@`ÔÎt<6HsæsW–‹ :^Övd/t†ÿ¨ŽBr¤•ߥp°°-}xëÛÇúðŠ9!!œ¿Шú½+ô'ª*Îq$®qW°aÍЀEoÖ¥'ÚlíÛ\óI•®ŽA*F‹ï1˜²×Hþ•£,‹z¼¼1»ßÄ:ºÊÛoÓkX†6â 8&ãhÏ­’Ä>ý²¬´køÞó*ò©Lr¢ÎãæÎûÝTóÀ«óúúíäÁ–Á=­‹/ßð–Uyêeãl g[OÐæSÇ Ùž™ ‰æœ¬>ní4Ø„ù€yCâ,· ½ÚºyÔ>~ÁýÏ$Ü#æxÉ]œ46œ Ìlh ï…L~‘Â`Ó†GÌU %!;ýÝÉÚ“°íJïYˆ8uò•å•)jsøÊ´®VVûù!+åÄp¤)à_诱ã§¢ŠþÉn­dÇáÜ}tˆ:ÉÏ›ð8cïæ®î70‹žãSÏ”l b½)V†­3I#Ö÷+øë >•9y:—Å<Ïš“ˆÅÿ”òu` ¦Õk2jïÏâÙN÷€cù-:sŠÆSßSµ)T_8À,à<&øOÌ–R>6WÆK ·º_f"kã-ü^A¶ª¿em³WBÚoª•¦ø–ôã{ëx\ˆé×S²3qæ5£\Îÿ{9mU yÜ?Ð~ÑÁÚ|Ót\©bÉ_ÉêÓ·«†f#Ö]<]Á«Lá¢ÞÁdî«Íø™WW‚òƒS¹Ë<%ˆQ|5‰ãGðOL£OÁÏž)A­Y•0/<„Ÿ²ž®äu.t·H€I$X_zãÙÒÜä[ýp(7‚»¦¢¿€Vd]6¸r–þ$rƒÍ;žÉ‹Ñ5ÚÜ-°kœûÒS#ù<—!¸:¾¢ÁvËCÔ@§RDZIwzŸÕ‚žRA(…˜rAcÖ‡ûò„É{"¢Ïà ¸(’åGL€çùžK0Fǯã6"(–4éöó6‚. Q¯š3›¬¥n~=C<ÛˆQ'>Öî6¨÷R¿;ÛžÖ Wi©DÏÁ©cŠ£‡…?p¬à8µCn³ð`#´„~VxÛ’.=gOMìk¤p¹³XpS@ûhÃãçpCaB øÝÐÍ{F~E…”×Ϯފ¬¸?t¢ÖÃ>ýý7œ ïC‚þæƒx™ —ø”ªwƒœ=4碲‘­¾è|À<›[˜6™-Ú†Ò¼ƒ ?ïd툗Rõ‘2òïr¦mó~F² Æ* üLÿ[Ü@lB?±hZUò~ÌéWé'ý!» _/F•…€I¹Y{bFú.áÐâðÌEÃmU5ð­H ì6IL%ñáó]*Y#ý4È«öëÅ( ì¥çƒñ¢ÜYsùøšP¦)¥•»é9÷ ]®Gù†Ç6fÂ@³"çÔ)6íãšï%oGœ(ôâø¹\#eùù‚º¤b#·Ù[ˆAÖOW›|s‡Œ1IÐuÀÝqŠI¥n’D—¶kÄ ×8ȹ­1â|öƪ‹øµR¾­_¤ý}`n­«/,ZŸ/aFGÉZÝ9agœ `.¸ã¢üFP©I}‡(dM¥Õ°h‚ŠŒ—µL¾[NÛ9¦Sj×^9 ]СæÿñBÆ^{q/ˆ;Û3žu›‚ábB·×±œiab!Ã+Ë)æØ^.L›ïóÉÏYúZlXú¯X<© 1Ÿ¸ukì{Óœ ]Pœ’ìνØ}§e± ‘°ò.I"É(6)Èù·À‡x¼ø ˆeYÅÍwè´Õùͼÿ‚L«²‘‰Tdçdöþ' jý*xxjÌwÿæs¹üÆ1(½þ¦Ò2¹KëœÃ¤è$SÀõa!Ïšå°Œfª÷Õ—±['Ç[D¿Óã­–†mÜÛ.aeû‹Þ×9I抄³:‡þEá­)‚ÕXÐ0f¡¶~ÛÛ#Ät&à̱ÕÓ«ò¹ÎœÌÎX<ÀU·Üvñu ´O”í<*¾ÈijÑe’ó"Ö¦u6ôúå4‰·µæê;˜M6Ô¹¢Z¸µ›^EŸùî3vet¡§3âL>xxÌü‘5|úVønKqî)¨—µ9& )><lñø¨48AÙÅgÒ J¦ÇG‹£ú²a=ÜÉâÕŒ©~ÔIH³å® §Œåt?{û@Óg÷iÙ°ñç±[Ø‚ä¶Ìô3ï'˜üÛ#Š" yìåÔA&£<óÎÚC*$5`‰±ÀŶd[ÞUlmF áúüEïm!å`÷®ñ2=ÃÈWȃÚ1L”ÃbDž¦¡d§ê_ᵕcy/×_0Š H ñ°Ë>Q«¥Qм{Hê*ïÿÐW™K»œ51ˆé [ÐNÞ­€¾ DˆceÊÿíBΪNµ(}wÃKLDþ®2M‘õmÓ2TÏë„‚d/+˜ L"~,õØë—ï¶GªZÄè@Ø9Òw+ÍimæfU¯ªx¬r~ÊOrô·tÑåŠâKã„òC\p>åÛÂú Unàk5ÕÊÏ:Yªþ_˜Â-‡~<a’Äyf¬¼Ÿ~ÀºçmŒQ¦w#ÔƒGå‚|ÌŽƒëûkªïUŒ‡)q²+]û!Ì&¦ç^?FüåkÕéCÇk6[²ä¹w¸~ÊDvc¥rá•DcóæøßøF —˜Çksä};#*5á/¢ŠÞg7Ü\6-¢&üa1r­§—AJ²pkÒ4ð˜aëü×¾Ã<ýxÛa‡õƒ9½û×ñôŸüŒ\ õ­ö‚t°=Ši§zOD_fßWðš!"ßÎQBÍZ2))Dî8V{Wà´£B‹T±MbÏI—lmVpbb¡´eìvê>„(èË4ŒL&£ýg«Ú&tca²Æ‚EÒϾÎDП鄹Zž°¾”[ãõ}ú¼ƒh8.‡ÑìÒ•&£}#~ô“fß!æ'>MÒê|ÈM_9‡”lȺŒÕ— HE’°Øã"–(›\BWäàÈ ÖxOE„’ÆÆèQ^f)+“5N k†Á{rÇâñÉ‘¤ßÊÏ®-u&[ü·1óº3ðØH=lÞq€÷˜dжD´¤Ð²“tŽ£‚¨žæ¯m³&Äl{‰ÿ’:Ml.Õ£X¿3ô·æUlÒ-¹$à¤{ˆU…ç<•Ÿ™Kï²8‰Ô5ü«ùPt]ÿ„\F㲇nG„xåè“öN‹]Æñåï÷‡Ù|ÔëØòë³ùuKqž¨Fo6pôº(‰ Ÿp%H¡£¨WÆ¨Ä Ðê'"`ѲIœFìzŽú¼ Ê~ˬŠ$øÖ;îxe¡>{ˆÛÆÈò¬£.X&ªy¸Çå«Äu áßžÁp¿xe:ûÿó+ADOµõ46·½V™Qq¸æÉ4a¥=J“áhªS|WâѱåHáš’KUЧ­½¿Ä¼1oµAs[.ó9#8úR‰€ƒ<žl lÒ%µçgí\Õ›šƒYÔiÇQGm³Æ~PWOªŸÞW…\|Êó€ –¢¿Eõ…ª]ÆAmöe²c˜9¶Z&šAÔ‚‰®m—nå°Ûʬlü:“3Öä’‰õ‘ð¿ë°hÁ‚í@{4sÕ*ÂÎz¾Jâ˜EèEU'¾¡Ì]Ø¥þá+i©DsËD2Ï…Õì¯ÏA¦ž4L!¥ÒFUCeîÄl&JG˜ÅWA¶ÈÞ*y]©©¼få…Ë8R5W[¿”еûL[ÿÖÅ“øêßêvK®´bqlú÷n—Îèж-Ú†?%ççz ´,äŸ~/ßDsJÇŒ ­ðÁŠ1yÿQKÕ²|ôªxƒIÆÁNùE”^«–pæe÷ÿÔüLè¹z†à¾‚VïÍp))…]ň‚iá©Eîû†Ô;…_)lI–›QìÄüAQ‚1’KšÛ•¿½–}é¢6×ßÐ N è¥#®¼šJ.f ä‚Ësº+» ¼»+¡7'd€Õë]Ù°Jðh¨6go”ܲb±¥A ðè}`ïƒd?Ý‚[ɆYök‚¡"ÿèjD´ƒê“²? Ÿç|0‚†dÙ=ê{*î´?;6Kýýø»"n‘E&{»ÝøµŽøbÉå3ʯ¥£ª§ãÝ[ÉkVº[ݲ0¬ÉÔÀ²â+¬?Á‰Ö n šjâÛ¢>s&Ö@­s‰œÏð®ZÓ3ÍÇÚ]«Il£±ù¸…žðô´öñ… XSÝReÄÓp+„®Ç*”žÑÁTNÁç—8g%9„ð·Ø’â¼F‘O8¥eÕÈN¥[›€Œ¨ÐÙ¼àÝ•< G‚Þ·5ÔH$YÚ¯…±Šsîc[Éb$Ý Ò1ARÒªä¨ÿÏf[)ãø—²#‹Ãà9cöÎi[³ÅAc0¨8’yáV3Ð$2z-úyç°; C™¦èÊšëFçöÈËûôùž ˜ ®Ïšª«ìŽJ”ˬÿ¶Vm‚úžIé–p°™\»gýï@Ô8”ˆÑ{ƒX;|‚³úÆulE¼¶ŽvïpN˜úk¯ßÇ”*ÕoîÒlàg¥ÁH ­¸[å+Ä ìðU®eŒOÞØW·¤áܺ¯¿Þh=È¾ÂÆƒl™RcÆËô¿]œ£ýÙ›3¡Ìƒí!4Ž0 /cÍT`Ž6ú¶=H›$Ñ/JŽ'û)dÓ•Ák‚ 4"´«ê@žŒ½$Áì´8®û ô×crªŒWÌ!I /Nþ^źÃp%ÖòŽÞÔé7Ù‡¶ÇÇ$æÝ:rŠ¿-Ê—Y n@]ág„Žñïã-XìµB[Y¢Ü9~N^ERÞRõƒ|Œ«˜ i½Hc皊{ÓfuØÜÿ\„]á'¥àÈ´Vò¨»†êO¨.–µP/w|ld’Ëy¹÷ Tˆj¨á¦*”8þƒSDj³ÕÍ_× vöƒÒ»m ¾ M¤±AÙtÄÊäÄj zÜÅRm"´õx-ÑW•«ãa£ZØ MËÒ›Ê%Dz‚YνԞ×Ôµµ`;ŸçRÊ …ãh;W·.?'Š˜Le²ædê¯ ük•0ꜳ¹ Gl98…ë)kœ·o=»N”ƒûÇ@ô€9LÙÉG{À>„º}™o¢’ÞÊÒ^ÚÁjµÒ…Žho?—ÄL*ÁrŒ¾v —¤×Ú‚3b $'M(üš¥‘TzãAVKJ²ÞÁ\\í°}/(ß/Z©eU|]>Ö{ÒÉ× _ÑBp.ÐxÎ!ÖØ“¶¥U£òrz÷ [XV³É>®Ý»9ü(÷ŒÀHýJq§¨X|`ëÇ¥©ÑŠÙgø„ƒ°iúmuÐ| Õã“K×w)2TZú|Ðl·šßœÖP 0 ‚‡¿Ž¤Pl^ÅnütéŽáÅb0‚þº“·[Q´®Æþ*¢!ÿây9äØ[j0Œ Q¹À>ÚfpñÙâÁXãLN¹•Â`,#ê—ILBW~p0¶ÔV‘„òÂü…=Hs€"+ê­·RTm¡[¹ÀÆxÓŸB^ºC­j|e·¢òÿbÈ„÷úåAÄO*qoÓÆ S¦äþ8[¢ŽVcžTÿôœ8Ò+aüyÖ³•Û <ƒ§ùw¢}7ÖuAvº%úTZ@˜ ý´¬ÉË.—ÃZÄ£wp\vž"u¼b›HSÉ[tí‘Ík %›ðKãr"¿ûâÐ}Nòw?\ü·õ òí&Úá” fn«‰Kò”˜„ü9kÕXrbæ‚ððœÕ,¹‹JJý 7ÁÎ7Œ4G‡é.%-ùo¸82šk©õ‘r:[phWÔ©}ÂWWÑTÒWe±ÛÌž1JëŸÞ=̤ ìÀqú;â*†%@ Gažaì¥qZeþoá| +5IQÃx a¿Z*郞Ç•YJóø˜#4`ãuWìš;q#M;_Òß¶>Ûò÷,òî¼Þ”?èoïüô”Ò˜“¨xü—ö·oÑŒgè~žkJõ¬OGi£ø~PšDàÿ<9ÈIeMÕíA2ä±¢å¯ü”ÈäîO¦y¾€|§42J¹«þ­Ûép'ó©·Ã¤ ¼·¯Ë i­ß7ÙnK_¹àv¨ TB€Ô¿üzR-º5vð°olÓF!ˆQ@GÞŒ&!Síú>Ý–x-ȸÅ!VÎÏߣ›§þ'üú8¿=®–\¢â–p€³ÖÚ+r­ìÉ¥iéå)Íš´éO…-×0–çÑ÷Â$ª±Y÷0NšžZ6gšcª÷ì9&f¹ ߢùe´ñ¹ÖµÁ=#0TWh ÄéÙËb¡V3R ñØê­nàó>3h„{I/Ö•ÂøËOìQÐ[¦Þ!¼‚ô¥Töy|¹ôÑì³ —^º`¸ß ‚&ÌÐîÅ ´P´WEßSŒõîᦧ8æÁ§Ê¢ È#“"5lNøm”uBfjâÉt`à­fvб(Ïã:_l—@s‘ÇêE_3/Ì«­ ¶‰KDáËZ^Va´º8åî w¸ˆO$µ—Éy‰YÖ‡_~EÏgFZé,§ÇÊ߀RœêZŸˆßŠ‘#úå„è¹zØÐu§AÍzCDŠÃ0¶¦8îWˆ…º{-z§é-NɘÊ×'8=/ÃöJ%ê/_Bì§ë‡àW´Û$ÇmPÇ ü¡›DHåi}A´o(—SyiG÷ÏïŠgææ`Ðú#üâ/§ÉÈñzý ç?¬jŽ»@3é4ˆ•µ›‘´N† ‰ ÌÕSö°Ä v´ ¤g¦Ÿ¡íB¹ÁåÏò´ô²}XßFf›%PÈäh)4çºC–btg۾ߊs¤^öØ‘PálÕ°Uù”-Œ‚U£î_¹ýŸÃ€¸á”6n…z½Ù2¢èÝÞWÏÜ>rgZ]—aµþÃå–Ù^¾6HåmÕ@¨8¨½—ø^V4YŒZݰ² ž¤†Ì¸É<-¬‘ïÌ´"­{³4)¦†¤ò°—/X¨~Ü]9èˆÚ‡!ȹxñu åh ë2)%æ“F¥¬7ɱdEO%äœG½ØL÷móOŒâH†ÝÌŠpLKù‘C­Ì/«ô|®Ø÷SCÊa,oƒš£?F_¥!idT3•¼O<ëÝÃD(u  O"òоbÃ} »tš´ª‘D„NÝÎÍe(‰"yܦy©†Ø'á‰y ™š»6ug"c²@ôæl cHL®IºNx‰w®Žl\ï>–]‹,½@”—í^=”â)BðA6 îÑ)µÅÒ¡Vóýæœ+ô†ª6“\‚Š– J8#£O·¨Õ8TùzëÒx"Ÿ¡8JthÝr'rh­iqh5Å÷æ&Ãq”T©ot² Ü@›Z+16·WÇ…©(•ä÷Y,Ki.‘·¸Y@}¼Ó{,åôÄüÈd2.‰¢%~:õ1eÂß+î¨zé¦û,•#È6vŽˆ ê·\)¤ÿ¼ƒEÂR™q+ÞE-¶¨“ÑÒ…v./|Ô»È×ãG\ºö%AÖä÷«ÏúY[†°ZÖå[8GÆòp¦òÂËÙe3¤£ê[à=ÔÖÓ^€"—,¦n3kIãÙln¢i¾¸9k¤XõŽ2BÛò –ýf 8éú™g¡Ó'¶-{ã,¡µ£¾TAŒ…Kà„uj­­!ô·XÑ‘‡é㿽ïÍ™C8)FC>NîOU]T/qê©Ï(È7«ú (¹âðˆÙkÖÜL—Ù»¥0äZ‹#êÙ4ëÓB½;¼J³y8(§0öqw–m§ôøwöàãaˆ÷ÓÓÿ rW0îЛ5‘š?|N×Qal•È5¼ëí‚×hiaù.WïÜùýíaÝ»‘ׄ²tP娣LX)‹y>U4ª ÊsQk¤n:RBÓÙd–ãD’~“–ÕÖ 19-^”­îTk„ M'÷ã˜;ñ­~‚Ì2º-ÝažjáŠBnÙ’q¡12Y@ÚŽÚ)ø'öß•vd†S nêŒÛ(…¦h›,“YðÃ&®añrË0™¿~X”ú}ÛEG}ÝÕw¢/í¹_|¯îo¥·®è²F¯IQRU¸ƒ%UN·’‚gòº¸W™ÕüÆ~Ñ>ús ´çÒ[ÁÙŽ÷j/ßËŠ¶azø$}åUçªàœöïÔe†£ú$Yø©–(ª­í`R GäàmΆœgP"´@Ƥ(J #ƒP¦ø —H's™ö6"†ê‰ÛþiôCRÔÖÆé":R®ÞjkÐ$-6»lÏ}6RD}Y÷¤¶J£6ˆBTÉÖŸ>ƒ¼*œ )p âäú„Í£«)MÐZ‘‘=˜/Äê¶² ÓLjWj.PÔx1+RÃê ùÐÿ7¸Êê#è¯qò†‰¿¸Ü:·©áUÐïŸÜÅãéæLu•Üß…¦±À¢×>5IhMÆEÏ“ÿáØJéî@R·Y=3ËÝ<ÊA2Ïü ïf9»¹%‹n³MáQƒù²o?³ eÑîtso¢¦/3‘ª Jq~좳Ö\ë¯z,}IJR÷@ºùž ¨s³/O⼞MøÝÌŠ¢ž s°èyÙãÔ¾gØ£$••p ̺MZÑR[B¦ÍT\(€à™{"ªÊÜZÞô??É8›Ë®=§)P4àª^ÂÊBiÎã c!ñµŽöWJ21%—Õ©lAßÔGµ@çÏftÀU«‡øÕ« Hå=*dA 9úSØáý¼U¹¥*nx·çrÆç ÂDã;P2ˆº[úÅCïJde†z­ÚG™Á¨¾R6¾Ã,H(âŽÍwÁMv‡d0¦<]£JS†t„p¦xŸ#{9CTIïÚ'Õl¦`”á¼QVlÀ˜øÈÒò}3¢bÛñ±È-Ù°ªÁ¬«ks…°\o¯ñÆ;Bä¯%Á9‰ÖÀÏbîN)ÿ“W¦NæÌÀcƒ?}ž±¿yëÐ/‚·ÖJ„V} FI?r¥=¹¡>U»è=¦ä²ÔOûæ7Ô£¶ÉÛð¤rY”ú:‹GVÁ›*«!>Ð…èÀ¾ß\íK+¶þ‰§õ(_lD˜°еyœÅë?SãÔUؽâ<¸ßÃ>ÁÔ8>ñ%“ŠunB t4™‰C‰¨+«CœòÍý$;Ú¢QHFñJi§užjó‹¬wýb°q:ë>Ø‘Ýæ7بö‰öê>Mp˜ëË,,Ñ¥Øzbº§{&7ŸàÒ–r/4Ý›rK"øŒ˜'€¤fïÝ{;„ìÔüÇak(ðÂ;ØPÔ<íôÖ#hÄÉtÜct谀˕sÇ9oòræp„C¿¼S¯uæCTãÿyÝ6iÏ)ú 5–Ö™½ ûy‚0›-¤És|Ôí¹g¤ôeÓà^V£fΗ¬Ì¥):¨Èe‡¿®.·¥ò$£yÍêk9ˉÄêÃ%ß$<ìŒqž¨|m…ÇCù;’=#»$\ç–ŠëU˜‹Bû"$P¹éZ`üÁ¬×Ï…ötÀ3y~H‘Gÿ.ç’Ú:@HpWÑA䘃KF3ÞZãùæ(ZÊxô¸éCau²`ßéIû|Z`~wnŒK +µJ³4åÇlÂÙ¦8OÂp»—Àtw<¹ˆMB« ®îþUf‡R%[hÔ–¼orÂqªÂˆ:"?òî°È™›0iQÙœ{±a.†O¨˜¬c)ª\±¼Ë*¸£Ñž;]†9³¯SùÕ“{õžq³%=‡‰»%£ÜœYo f8oï‘s[t,½à—€È;$¥K¯U;Ó;N§cíO=$ÊgJ‡\%!Ôr§ pküo¡ 7´˜ñmä¿Z`þÈ·óìè¡‹C‹:ï.S=Fãàz˜—ßD7 §Éõp줉“eÒ–Læžõœ ‡Þ˜4OpŠïÛ,¥´œ—?áÄÞÏ›–ÌÇ_‚ɾäŠ;£ÆD}oRúœüÕR`8/ñÿ#„JôôæŽÈÑs/Aâ³Í î¾ããë[>‰£Ãkè‹RµŸÛó³J" $â±{6èc²™ÓÁJ’ðÁ‚ÑJ5ýnøQÅÜü¦õVTñä˜ñ½'r‚¨¾¹™ ”–n÷}›#©¥aî—–‹oÔ¾i¬j)µÓ ù2Èðb$+x¥ÔÍâçg€¯·„$`&£çÅà1€2¿Ì•2iÒbiû¯TãŠ+MQˆHh]¸&×ñmå8tˆЬØç»Šb+ºË*“ä¬$NNaýz™ŒîÐuدG‡Y?§ø#5Ä4±½ÍåÆüéü+nçXæ±ZOùî¼¢>PÙ ¬eý@tA37Ò¹~<Ž¿çà“âyºÔ×Xß»ˆVÌ «µ$Ìrá´2·ÚͨL•×4!¸Oú¨ÛžÙÇ¡ÓǽeõÜ$»¹¿.¡ÃF$l™º9q Ñ2-ZsGÏmŸÙnH~^&hœ-ùÌHw`Ú¯ÔâžNßÚçê§ê÷™õM®J<¯=|| õ©*¨ÞA’Ì–uÕÑõ; Õ‚á“ 9l›P:€xz[/á Q`œŽLÐÀz Ô” ø¡-k2v{(O‚`(6}÷Ôƒ½âtçö²ÀÉÍD*Hí‘Z¼ëƒ=™ü¢J5Òj$ü9 f9P—`ÇVìÃvˆn[k.çÈÛÆMŒ `:¿¹¿ä9Nyh¿(yD /Rí‰ ÿ> ‚ M B9ŠT²„–!02GçpéÜ‘áŽÒŠYÈÍåÞH|> "TšX„¨â…»6 MÛø{Ìd68‰6 ¯2í'럇ìÀ/_(ŒÐõÈôÅËmL¡øÿ?ÂÒªÐØJ K Œâ•ÿá:éܱ«÷!ÞË­¼¼¦]‡+»4˜¢¹þK±Òôö›uL˜ŒÔ|xse¶Þ‰‘HQ¨ü§ú!¯F|-ÿÈU‹ý ÞÿXnw_L¢ÔÖåK=ðíQ’F2ó7õ[Ú°cc“!œá$ŸäÆÈo ~õvVú×é›ßyL¼·µ¢Ø É%ÁóüñäU 4ñmâ3v ¼®üÞs[<|4†˜W+;¿žç·ÝîçefžGRB#ìfïï¡ Ø6ê!{WR ªߪ¿f¬JýÖô>ú´#â“uI¿Ó±;üT¿!޶ÚD‹TÁ!¥ú¸m”î⨵^ÔK,ù À¿Ë3uCqæ·ÐK„X£ÙÈ6 eî*®öA×2!ZÚ¨õÿ^.Œ¼:»¢L]ëÊ×y€é•ˆkŽÿb—Þ.£`âZ Ú!ÞRø ‰þNÍ=˹- &¬GÝhÆ‚Ñô¶<áXhQ&•ñžZP½2,ýéÁØÐÅœúýŽõm²¶Ý'¸!Pël~>l/ôö^á>ƒXï>Ö¿Œlg*+±4p=+4èÿJ/P M‡Ž¶Ž€¼×ÀßsÕ©Ò’¨•ݲ_?yÕ‘}¾E}}Àè–5¨ôf>z†%H‡“H½­i'n›z7N¦wÚè >E“¡”ŠN`ìW/úërÃV‚uâ±_Ní1P8«ê?kÊêÎw˜ÔÜ]Ç@øÐÕ³^KW"q;f/Sâ„ŸŽ¡ÂÙâðdÿN$Í–OåÔñ$sx®åpɦv©¥dÜÛ=n(aÎr¶Eö‚=+ÅÙØÿìwɯÌB‹ëo¤º¡›ù’§Ñ¿wl®“†;Õ%Ç‘½…¿wÓ³ÆïZtÆØ$Ñc½>i¾íÛ•>®L’×.»…×€ ©­USæý8PmF™õ–Î|É`ÞTü¤A;ÀO[÷R¥¦HO _¥(X#¯7×òdËHÖô‡)üX±+C9Œ—Š~Þ»Yޣ̞d¨r0ðNá”òÆß4qùµà¬"mcG…Õ‡ÉÞœ›ò)ÒÞ²½”|àv¯jœiI ƒp¾µˆ"®i1ÿþÉG±§]˜ü žìwMÇZ@-—G-~Ô+²Tß’Ãö´ß=†<œ511Æ`àÊZL„Ø¡2À4:É„¥7½JÓôÜâƒÒa°8õÇ›¬ñl×ÖŠ +à¿Æ¬LÞfa-­‹bG˜[+0Û Ú¢–0KKS³M’R#dý+Câ—ëè´ùiq@ù½¡¥,{‰!eÃü_ #}8Y.ìz‚Ó{°âvó®Fn²rϽg=_&.gß+7‰ª0óˆhHýöæ]'uV`Ã"Ý“ó6ǼNÜ5ùQÕ^h@èS&cµ§]gyv“V.Y°øh&ÍÚwNØH­Sg»HZ÷„áa‚”U-žN^E,’ÎSÇ[ÎÀÑ3­ V£ö…4H ‚»ýsÇîìôÖº<Ñ„|P7y1gܸ !Fµ%çí€*‘S{+#QÀÀèŽÈRàÜ»|î`rf—ãã <™—û($¢’̤B…Í©n¸à‚ú*„°×?p“+9ÎG/T »à)\Ê×)½+#ñŒÏƒ"n k7øöæ3¢ÉÁðuØÚl­VÍ0f…ŸûqHi t6äD³Èžo³¸Ž óâRJý6ŒÕ ¯J~Zñ3¹l¥Ó5oò¹ÚêA¿¢m0½U:iÏGÿôfW¯~_¨}™¶ž/,[­|æWÇœxj¿DöxkJ8Ä…æÚáÐ÷žkÿhÉ‚õ‚Uvÿ±Wf½ C“ëòpg×ì¶1þbeܬWW7à;Š)°oåNËú{çûaô©õYaèÁí\Ó³~¢Gv×RÂíQ¾éð¹\¡ÑÜ9t² ‘d.îzÉ=>žÏWS6A¤sÜG€Îè·íL°q;¾]Wun}ëÏÉÿµ€¸ó™¯(Ñå@|¬O¬, ¯[¾¿§1pulVÚ–íÿñX‡÷Ñ%Bì›#^¡î‘‹DÎálYfÀvCõýµ&z¯ c¼MØÙ2º–‹ëÔ™emÅKpÉcÓéŽð}b·×Lk\X–†ÛÊ‹IgJ:„¾ñØ;Og‘§#É3Ô²HõÇñ·¸>\Ø*Þ5¥sÛ¦mFg~PšRV|Ëùº‰c…âßΠÞšSÐmô;ìklwIì%Ví§ê>7pk4Œ¡ß@j›4J2÷cÒ¹P'åZêZ¯QKZœQVæÄ…9d%¢í'­ ÌðŒœIñkàžÌŒq*¨™¿ÂŒ/¾C© ÷ŠTMëá°!×AzÄãÚìÍc/ì—˜”wSL@1‰eÙËÔû4O ¿u“Ÿx·jÿƒL9ÑÆ,T²ü·.7)­¹ßcÑñ(úwì¹µ°æ¬6gOf¹£ÕmÁ™>ë3Ü2(¦ñRvCæ¯õÑÐGFêÅßâd¬÷„Y/Ava¼„¤ôáOÇ`A~sÍó¢võ{œêƒZ°ÆœüAö‡ñ¶\ßfωáãO"æP°X·:©Qð ¨÷ö7Ïì(¯J0¶uûh?©3Í—á¢q0ÇZB‰Æw‰ûX¥fö]…=ùÕ-©uVðn ¢#ÚçqY/ËÒ˪4ËìŠ3L§ }ÊÆ©tHX ‚¶ìŒ"æáâ=Ù8b[͆Ƞ‰S¦>o¤hÆNÆÍpq„¡Ô~À”q«eã¼ð_Ï žÂµ H?iÆŠ¦õU€£—ÂmüµU2¢u9„]à›mô9_JCÚq»¹d]í8ó%Y$’Zµ5}ÍÆ›H)x­¬JXƒŸÜF¡E7gv^'äó®»ì+ªêéjÖ(Ha;*›Öµ–¿î¾Þ_õ¢áÕ9Ç÷5Ñ=@áçVçøƒG èûá<*”Õy†Y™+BóÝ ý»L´D\×À}< ÷8Ü­3Xí6«J ”2àaöwË:šðzáæø”õ#‚ žÝ²Óg¤’ö[%2…æUzƒþ£ÏÆÔ&ÅŠi}"Ê6”ñ³fñ]Κ4!ûG)™h}Mn®Í²·jæU¿r¥•[¡Ÿ•”Œ ý‘Å‚VA¤wR®i£Õ\×<­=H?eoºt0Ñ»g¿[é*ë<ç`i%v°(Øð%·ë$õC—IÅÅ`{²vŽÖmèö ´sÀÖ5é›Y½B°É%«ÚƒøªY¥ôðJ*¥?íÁGw« 1@áÇ!fKôÄ=O¢nß*XGVsWÞ ŠRgƨ:Mû7ÛŸZsu¥.Hµ´“‰ÍÙaÏYƒZAZð|œ©˜²ÔzR«¿EŸÊu¿¼~uû­Õe°§’ÁDÕEÝ,wÝuõlç GÿRa0½ƒs!—¹ßå€ýÚ¬ø•ù“«¶ kT« ,­ïº Nb~"¢-¾d`­bÌïêGveE‚^?sããi„ÑÔì4à›¥e„:ÿú¶ÑÐ`Çaašc¿/_îy¥ûÄà— ÌÖ¯cøÙNª÷gW?Y|¾úˆ¤HI9Oh‚?­wðÍ4æâ-¤å§ÑÔ‘•&'È£¨W¶y²P"%@'À¸Ã@|<ÊJ)wPÑKFmiVÑ›~×q7Úêå†wZCÐŽ N ‰¬Ç9Àû[éÁE°iÀ8©·Aã‚ßt´lT*ëÂãÚS­¹„i)4IwˆUÞ{¥•&é~¦dÔÌŸD'½Î|~×7‹t¿b¤²+X¬•ÒiL…Ñ,2Ø­%ÃÓìÂŽ®l汓§ñþä¹Ë}ÁOöîj€x8Ý•e/ŒEõ°hrµäDf3 šUÿÿÄÃÀ&­«ã@䬔±Ðÿ¨ªbæZë©âunTÍ8aH «Åù9×)Œ¹ü…0×é§ÀeüD)ß„Œqz5aZ»e£ tž›=B΂*ƒ–roG¬¬èçQ¸²Öû錅æ¾åžïê¸Y?ù©ã,]§BºBCc?)jßÙq`± §°•²òGc½dÇWÍX(ZÞ4h¡•ÇD¶9œãàPó7ØKý‹'î„8h½:ƒZ%§:9ORÇ‚åt\é}ç:~Ë‘\O!—Ñ.àõåÁ\Ø£Gp=Ø¢?š;¶0î~î§Ó^ƒðŸ îò„-8É.ÂöjqJ£ßR»”!;ùðE±¼ã â<ÆÃ:GdñS–šÖ™·p£­î.›/VÛAÇÏ ÇcmçZ™{qIgîc®Æ¼[Ó§ù'ç†Ã’ =øŠ¡ — €y6¦îŠ÷`-ÊÄ+6«* D H‹sqŽÈ+H1jºüã.ÛÁ!³oÌ)“þ­•þ#wG=Êbl“=0ó±tÉŽ=Ç®VqÎ[bC4ÏôBåÖ)Ú}ñ‡á§ê<Ûn)£jz,#N#xÄ+“ñkòH‰º‹Í9 a0ú99ÛTÒœákò’‹i—>ôï`*á9Ñ7ÝÔ°ÎU‘Í<#4kÀiùÒ¨Š¨*µRœ•IÌ“CbT­ÑJª´¯7~¼ë!ýN\üU×?Q1£ä8–ŠDîíf™o“ðRÖ{zíÛ•%CõÔˆƒL^‘9‹2‰”?æŽÛ¨ -Õ4=c Àp޽'HòßÜŽA0%ñiܾ0J¥N­²„Z zõªV,´™Ó§Àaµìÿïñïf~©MÆÍ1óE½4@¨UX [Ñ*\"ÕÝ3òxjïX¡²Æî§ÆèD·ÜtïI e±ø%§J¥Ú޹ á­4ž2"\KÏ3Â(޳ª6»Hý[kÈ–9N¶JfNBQN‰!øÎ,áúF¨c8¹Çv/ÞcÎÙ8_£1Yu!Š„-©«`ä%#ítë‰FdéùÐ{wj¶Õ;yäU1ãÿÎÐøv×î/wOP°ð–6ã!vÓÇ M˜\”»Ÿýç¿#'ÕìNÁ3ëâòyô9\TV›‡ÉÍz© YÜKKj•©Óö—Ú­v[©aè, ~ä2{v¢¿‡ßÃO¾âæ>ü\iQ¢²Ò oãâY¢Öen¬; ¿(î³æ U7º-Gº¶0Û™GXq“ãSbÊŸn€MáiÿÒóÕ¥±4¯òrŽ‚æÞ‚›eÞ f>—²IOf ÒŸ2P î>"¸•9бæXáÒmÀ¬U8•ǺÁ¶ |ÞáæR¥v;{ÖqþxÀ¿/î%õÀ@ Oe ×q‚L GÌ…ó^Ç;¢Ãþxú¦ˆÌ½?ëáp™Š«Œe˜ic9&á8î•܈×î °è‡$ fnPc–¯úl‚ n‹—IÀ5µ”ý‚uèµPmÎ*6c”¯Œ¾ñîÝŒŽPÒ‚Dû& B–Bx$>MØBún\ öyú‡•Ao2|9ÿf ÃQø‡$mÕxädø3YÝÜâº7uúáØû•¦¹áy-{$_¯Ó7"í$›s?ŒæÖBŧOw>ï”~/dAð2ˆ¨eyÒúî+”#w8¥;Å êŽàï]'~aÿ7Ù@_`ßbÚT$^škœRjº(Qð–õÝ)‰Ílyïðy‰=—å$ÜöâÌ"uFÊyGö+óÄò ,6"JPë…Ï+:.á™ê]¥A¤nŸ|Êmq›KÿzÏÿx¾Õ³U…<*L\î)æCíqK¨pa"c)Ûýp3—aÓ¶ÔQÀýåŸGÊ,(Ÿ ò»QYjðT©wßÄ0õ¬IF<)1œ¸`ô#)æñ®¬¹"6‹57#ïnOÜÐô×òAÛëMÊMœê̬É;¨²INŠɤ Š«{´ÛTb†–œè²¸F-?•[mƶn2N+m²ÿ:GðmÌ©/ié¸N |å«È-N{/3åckö˜òXÀ8Ò #í¢$‘ÛµÂo¬3‹ëëÞç0QÜèäo§mÉùñCü@¶?oÝh6V…1Ãx×´qà¾å!ºËÛ)áÁÒe,’N«*Èû åU Ðnœž ¹Gð +G¥Ñ¡ú ‡¢2Ï•¨Ãa ëKã>Ì1#Q—&dF—^ùu×Ç´F7¿¼Ÿÿ…ÚÞJÍçΨÁ²óY*4a„FÍ• ¿—„Xù»5]΃Ü,W(<ó—ø<ÜÛø*–·h>KÂöT"²|"Þ=+ï W¦ìì.DÈ7•K\øO܈kÂn‡¢"L+hjÐâ€2ÁIW©Àaç/»\ÍyáYè5àR꘬1LèŸØyCn2½np|Õçë\!}—Eæ^ ÉgÕwšå⿾ •ꌗÞ2:*øç&m_"f‡Ó"|Æsáí7i¨¬•mTÁ)*>ãðѵ¹®çÊ•*s ²w!î7Rõn}ß7Àsá!(7m[¾[MYj'ŽÆÐ‘2_žê]ªq_Ü—ÔÞ#z3Hˆâ,ˆÃã*êüoø¼sÁ€0Ø ìáfWsUÿøYPs”Q »Ž²Ã©æ2’©P5šÎž¹Rö®$##•(aŽôƾOád¾é*à<§d ;)ËÙp%ªca²²+-ÓÃQ>4$"®¬ã1üàÔOßâJW3ú[0 !u¤$äf(‘^IÖº7Vî=`.⯾·2GxF³³éð¡`¯ i¹5€ˆš†ì4>;41  ¶Z®Î¾6¥æö&¨9[/D$S–ûeW©=fõxIlŽ3~¶1½òc{Ö¶aâZºÅhšªgvq¯xˆŽ “Š Põ}"œ]g_Ù_êÕ;ÑCX‹íñ"E‚ýϦ‚7*\M­Á§þåmézl¦XÀQú÷À™Ç\s]á>uÓ³&«N?³²~]Û•’͘üJ±A/dZÙσùt»üž½ã¹ƒ¸]ið>‡z÷(òq5r²<ßÔžTáÿøe#@â×Q¾Õ ð8GíÓâˆu.ñ²›BK Fª¿ ÏNHÂÙ ]–4ãN%0ƒ7çÝlu„µòÌ¿¤G%5Vt®c]? dÂB‰Í©Øý\GVµ^ÍaaK >Ä÷ÝŽ,ÑàÃ~ YðÐÊÊ6æ…ë|†¨„.þVìRxyþös‰ xª»1\å³Úø è%U1¡#dѨѻêÉÿè©•t\G¡ímµuäüûÎÓXtE!ëV¸:oè+€ÚÙ·MÌÙ¡Ž<.¾€ûÔQø©-äÿ>%kí˜Á¯×#~ù+-e/ ?¬Õ·¤FÎ"ÚN¦çRô½w´È .}Îç¬nmœ‹gÄ­:‘¨‰=Â2^‰¬$àËäÊ󱘗þÑg¥ñ^•ý›K°>¹¦ %ýÐuûÇ>†—…À2§eÔõ×9ÒµÎL‡kj ¾V/ À°{óYs*ˆ²Ü÷θàçÞNœR¹6Ær@ÙTyÇí\û!AŠû8îb”²©9ÕÅ Ÿã–ÊX©î›C¤\o'‚{&Æív§h+jà®ožÕáF³¨i†xά¡ÞN¯ˆÓ‘iÛ3ó= Csa<—ë;¯hŒ ½q¥‚Ï™ÂÔ¡‚HA¿rÄ_½”aû(øÙ“y ^u¬¥—ÁЧ²Á©†¨Ÿ\uJêÆ2ÑýñçÞFæp®”{]Á0æ[jB¡èaÚ¼*ç•à‘ŒöSdÇðuäiµ¢‰BŠª…Zºjœ3WˆN‡>”[ÄßyDA˜Œ7e¼oœ&•|‡ªñ×Á3XÏ­Í$2J:þµÂ1&§˜xéÚaóºi€1••ï:Ø—¨sĨHy”µ?ˉÓZõ[ ûT¥Æê¹°W³7\»kÉ7ÐУÆHŸõÛÕàGh+)ºÎ—ªDÄ0HËX‡òP*>B±™~ñ™˜C¢ì_må#K<–Ò‰Õæ…÷ºƒ}/ÛÖÿAåºLoH!øFщ(¦E!ñõ# dVèÈ92Ùdûè"Ö‘ÀÚ`Ž»pÃYÐ7jˆòrí^áï¶¾àñž"D7ç§/ÐXƒU6QÂ#¿ÊŸÕ:µ6_á60´9'µR†R5˜KÓŸç%®ÓwO <Íìç "è¶TÕ¸ž|¸ü ¦ZœǺ›Áæ E|ÔsÿF%á15G]þæ•póPÔö ̸˜î0:ÆÀŸª”í2³IaË7ü<T@‚í­½í]B%AsèÁ >Í<–¤Ódl6ÝFÎõ*‹‚¢¡½åÕ9/ ¯UÐèbÏþ(ŽLªÈ5bˆUôƒãÒ(ÏýlìVàë‰,!0 »bçÙ³Ð]Δ@Ù ,ªrÙ« q.õ1¹A!H•˜ØaQ)›(/™Y_© SoÃ~u†Üô3Z]‹²vئvÔü ½ò\`ÏçãWx¢©|,j¬$PÒ$±´Ô®,ƾ¾ç? ‚§A7xx&k7txcÁ²=k_#$“Ginþ² ón·îF’œowXÜPÕ ×wàLó2ÄuI˜y¡0G’û’š,ÄíS&QòšVÌãÚf|ä5•´ ­ì¦;­žQS™£ æ7‹HÖÝ:x‰x óŒ9(M'Õ{á+* ¦gP7×òMò1˜K¦ÖS‰¡<ø°©¯¾)’Ð9ãËÇ͉æ3Û•Å{x'«#^T_õêžÀ3þqÔÁ§ÖFû¯Ôy(Â6'‰îä Öd¦²ñ盽#¸ÒsñÆ€[É­–Í2ÿkƒGþ*v.vENT­'„Óótò|˜‰QK^Ôy@‡(ºoÕï=Aoqû¯êmtsÕ0ó ÓRC÷Ô´ Ýœ\µJ9iRE= ï<ÊF¶Ç¬o¡(kWGÐIDQ… ÉΕ¨V¼ÊÉqÔÿ‘†óyÀAHSdºv‡0RsÃ(FšF3*Õq¿Ó@8IÛFÍö¼Q+Ãx}ó-ñ<­ˆ6l%¶Ñº@¾0Ì7…Î…D}ø ¬M§s«$Åáôˆ°ÊIŽ 4zG÷Rð ʼn´Ô8\”¡Ûë‘Ñ¥ ÙRo©`ÐwÁضP韔ùˆ…jÃUú±L¼Œl6Y–ËãJÁCŸ¿¦ƒW>CÜ8 mê?”‘&XÀŒÚñM-Ds]q²6P©åòµ3'Ò¼¨Ù¬[£›²'¹ø’äá8sIR›à#ÚKÏãÿ¥’UÎ]MJ5нxŸ«¬ ¼™S#$¤º¡cŒ|ìøÖ >¼{™înU`ÿ¬tÞÞPÕ.<[댔Òò)ùŠø5«¼A>êßÏ qÒ.{1˜ˆ»—fë*{Ó­¦êH§0g¯ßúP?Vl>L%ñ&c¥—úÚ˜=Ü,lÑê¶ð}~‹¡uUKSGȲù„om ¥Ý¾BœpLPÊ#``±ŠPhm‘‘[Â[äæ…ÑhbJ~ûÕɘæÕ›°K[’#dÊK·Ã’ C“¶8ãëe™ÛcšÈ†ªí_8+8ã0c¶"öß­J zƒô½?æò]Á9¿·â‰ŠŽ÷åi[^¼ôtØ7„Ú?w¤p7$§¥ç¢ãk`Õcy¥{±–×òس>o“‡âÀ¬áâM2á’Õ fûÆÜ¼Wæá¨\ð/wÿõ…f‘[#y_¨ŽNIJŸ²†8í[ó.Û†ç„=€ÈuÛyÑæík«ÉobRªd"ÿþWƒÒ¢n!4”;Ô{é÷é°Tû/6Ùä6í6VI˜DÝÔSÁ»Ï¡b.þU‡üðëô.¼F~–×éßD‘È’à“b¸¡é5)˜A)ÝÙL]I\ÍLYoåt]{¯ÞœÀZ­û; i…ï¦3I[’üÌ‹}O¾äÆAìÒ`Ëÿ“üDò2nÁóGÞC”cþï( ͪ íTa i3U Ö^cx=jì¹ÉYʪÇ#Ù†ý/3tð(뻜=f(Õ…!Ë'F¢µtSð’¥ 9Àe‡!áö£AhL?qkGæy‹Ž}-›7oc¹¸ÐüôAJÁÝØÿ¯ßªa°¸ò¿¬Piª,Ÿl¯áÒŒçC®Ì%ATT %éT%-=Ne&¹dÕël*i‹4,<æ]]ÌîíwI';£%¶ï+æzŽçC¦_§p¯†=‹ÜŸliueT ~B§áÅÓ¦?ùnià2vá"6:92µRu7bôúœ`Ý[Gf÷{oSy´£‰•7Õ(B*¸ö͵‡CןœL<î“1á.Ë??Ðs–³ !ƒJ–µÏ·ÿôX™v2t:úýipnÞjÚÕ QH•eÁÚrÐM°ß§š•å¹ô1b›ÔŸãÊ[ ³£¦]­gq­iyE=Ì7dnƲxBPþBâ3#OÞÄöΡ‹›v§eŠë¨™ÔªÈ»QÄ‘=´3È(Iù2f§üݶŽÃ/˜|~nY(ÖóÁûêWx!H&–)Ù¬?ó-²ˆ *x;—#¢`O0xýa&¼·‰<;È„­ÅäøÚ‡‰1ŠwYõþš X–Ô3Ç’Q͹'‘àû6ÆS"[ÖëpoÄ Ïgùò æ5Zut¦>®@©ï~Ï&\EKò7–'Œ¬ŸÉ ï‹÷´Y-Ãá‡ßíjj™ˆ]ý2o×%Íÿ¨ÃS\ÔïOþÊÃ{¿Æ[á„ £¦~* èˆ-]„–zÊBê›sSöbÍ ÙhTsG9%ñ¿&£ 6D° ºþœ(ñs‚¹]—`G¥ö‚E:Òjpu E"Q»¥ÁüjF1÷²£sÕ íÚcbôÝÍ.˜´ -°ûµÊíd€=ÆÍš®ZYK}c/Kƒ¹6VÓ*^&[ ®P÷âEb—‘¡j2$ŠV³¯ëªÓÝl½ølhê¡MmöÌ a±öR‘þbÀ—Ýùàpˆ-ž?-vk0I#=š±^D!÷‰Ù°%û–Q…¨Á“ƒµ=‰æÕÙÑ€ Í«ýOŒ÷Cv¹¶žºãru×ß"s­©§,eŠäP ?=šwƒ%F"eP^ã.iÍ<¾ØôSŠWäiAûû"u=?ߢ„f,·C™½ãõ cÁe '! íÑŒ)U¾òDðÂNm.ÛK(u©[TŽÊü2¾.J«a$JðÒ†,ŽOÿf'ÎcgEìLq_……cÆ)ž«„É ´v¨ðærì/È’>‚ÙµA[ðª´Ìb3H”(£ëJß Á¹ÆÎ —cöÔcæŽjw7%½çNø%u´Å~“™b²š†ó m,šØœf¿îKÒÑcÜ'¥lå² ®a/Ïù¯Åò+E‘Òñ9µ±™'ô†qêãlßÂY`/]RbÓX:p NBÌÅNVÛ<ÒêK©B•|ò¢JÒH®ëuNk«n.Ïþû#Ó´üœ s§Óéd$»ÐXl‘X…Èqó˜çâ 2 —Xm«íø©À±¼ dU4gµs´†é;‰è¦Û‹œ|:ŸMaW¿V¡Ü[Ïì`ö{)hEÐv}ž’ßx½½X~E…¨µ$înBošDXdÎ ®›Ùöªí} ÿàïýÊ»ÐAqßÃKÁ‚Å{Ÿ‘s‘¡·_ÏE¶ÃmF ½ë¿ô,q›•w’Ãág%Ì”»µ~F4¹ve:’÷?ökQßòRZë¥a@ª´O-.o”Ñž&²ïÌ;¡IÌ:o—gY6¢}‡-^ÇíGÛCjœ9áQ>Ί_súSx•Q®±²M¥ZA#¬CØÞâ˜A>ÕÐÖ‰)U{Þéq”þ-öÒ‹{¥q€¢N\ÝþfôIÄòG?ÑÊ™dØEäÍ»5úm5 L½O”ìÌ/o§ÊÃÌÕ4 @‹àNü Ùù³é®þ(ç‡4÷šWmíÕ£iÙ¸M]ÏñÁTSþešúv"²JÖ¼à‰ Ç5‰bA+Üþ.hŒ #õár´–ä ›"–L·G2Ðiס[Ð;Œ~K×ü(ÑÎ r%rmYx6¾N;¯¿ZSĉož·qTù´ëvaÜ«¬PпÆèPqMFÜ‚¦¼e 0œÒ’c_ëý™®…sèž¡ê™U½ñþ‡gÊØ§†íعsû’0ðƒ¢N‰†pýO$'DÑæÂTÁÓ×Ë-·<ã=Õ£ÉÝÚÃñF‹õEé%e}õà&qÜÇã$ Åö[ˆ˜t¯x lø*~ÔòÌö~5• T~2öB¹«ô….ö{Õ/Ü98Æ;É}´€jcßÿýHôb¬´G—÷šeÅÖVÅ1.`g\HÛöý›0Ó}¤u¢ìÝUwh !!Œ™Ì†C±ÎeÝ^"Ð’>Ôs•®™ÑAbÛ7Fü.Ú·xC9‘ÿ'.;fù`ï¹0¨¬ÐSe¹õ/e¨¿÷]vå•ÜPà]cP#ßñpø©àŒz€üëTyt[kWŽ^`®3åòGpæä(ï˜Äð¯`j퇯¸h¶›¼®51º;è×JL‰6^æšB>ˆ¥!~0ÖtÚy>X¢‰Œ*3æ=ÈàQ÷O‡uû0òúhß<’Œé „!cXÃo°ß„~„I®Ä¸«w|å)qQPØoÌŠ~Ò;‘™(HdHûÃ4ýö¸ ,ì¾v‰Û­™g¸@êÕd‘NCÙø˜=™æj†qTÛ „q?ÃèÎÆÉšU^Õ´êú˜Àa¸ÒçÔ –ufR燳ɸö7ÉupÝOþý_´9i¢'÷¡öˆK芹Zá ü÷ŽÀ=E“©ï¬}ÿà´ G€oÌç¹n‘t`ÚaÒ7Zš‰óöR~)ØÖI°Fã•ì}–È1®sŽÖúè—Ö|z¦Â3:X}êõã în†:.Ñ)ñ©S&Y(b/°”mVÈ&ô(eÏ)~½ë±'>öH ôÉw •¶à”ZŽs¯ñü°lÖ»›Ð(¿È›º/ÁN4qÇ%%‚a©|@sqvü,Á^boûÈl µË—š¤öH?l•%dGaý¶•, Š±ÈŒp+û©Äîú¨mÄMHZwôfr„Ï*Ç /Êu>#…¹¬öžG5²†º0­— ?ñ5Ž­5ô3R»£È2Mj ¾û¢X,X?ô2»®:!¢Z™šC{=ÀŽìöí…m}ÿÆz™î’j¿!Q+P…ž !³ï ߯:YÙÃÊä ^ë›GêGm¬N}ö©€Œ øqÄËèÂöú#)Ewx«=‰·^½V”OÎìLR¡Ò÷æ< bÆÀŒQBÕ¥öw ´Šcä{•°dÆœ¬x#Á¶Wº¯ñçì/MØ q ±w¬ÅqÜÖ/¼@‘.%s½±ËÌïlsËfˆê…†žªöö¤ÞF•ùèÔ«pe·ŸYeåcªãõ®£_¶¦Qe\¢Ø)XV·áhHR_uS§(ªõçc€á½v W3p]rå\ ‡4æ¹Ý8¾rsô ׇ‘_Škê°:¯byÇÊî} ›~ì«´0c›ü ´YpÆ0Õ±»æW»2QÚ4â«>\“Ž[Åóe$åQé)PRú“ fnö¶Ü¢ÑïRoµCÕFxÄË-zbô´|}LÒZnD¬‰¨C¥¨ í-¥Å>êñÁ¥%tƒí‚!ô:¼&Àh®‘yNQ[šÛ—oN A¼øsôÇ›¡9ç~,Ž_ïý[¶º@çÓ•.'qÃíUÀ“–a¸!M .{É¢øÕ§éÏ–p„up•ÎÍ[oƒ0×ZeÑÿÌŽ6âì~BÙϸÙw²™?6¤4ûDÃ_2 JÐ(¬Â”Ú[{’¾Â-ŽÍ~±€y#ÎxÕ­“ÁöømÈÇn ¶ˆNŽã]ÄfªlŽRØé?#êV‡aK¹lü²P¼üæ*ÅIÁAYò‚¯xWzœìH¿Ë¦4+ ®,òꜿæÚXeàË †~GIët¥&E­}rYÇ ‰Çw“+dƒœß,\=þq‚ÿ§(-gÙ²glÔÇ2ÑÃi¬é©ûûjÕI›½Ý¡mÔnÍÇûó+ñA5?Î7Ê€OÉA\i¡“&Ê|.º©³íÙØÁÝQ^ïõâèÇŽˆÏ¸ ±º(Ïç…ëbç育 *¯ £€³ 2>3ohˆ-©l‘y“41(Z9³ŸULVRºOªS…}<_äeƤ١ÄÓ6¢cÖšŸß¿÷¼K'0åÌiãbx“JZuÐ¥bXxG‹x)뜦å4²4ÃõË>¢«Ú9Çž~/u] !¥;ÈO9ˆaÆð9¬ÅÑv=Vg Omå·°»iâMÈ»dÆšÖ>eld®:Ù 5j}úze2—BTòvØûót•× ¯Ù8ZoÉè[Š å&ÈÝќðûæáÉ}ˆéhM¹I§ßƹb̳F ž‚¬4 Ub[Tº4 •£¯ª:2ÿXVXáØ>qwþÂи« âLÑT©?Êè¹Bá¼õkhYEƒê…túB ‹²A¼cs62ftg¸š£ Ÿý±¶lù¨‰b.Þ#Š—å’’.#³&HËv7WôTÇ#m¦ÍGTðźe•sݰ:]a+W¢ÝÝH#º9ããïÿdP@Ò’‘Ö¿ÞG:º¦§þ|únCLp`B|Úö·ÃnîÙ/ÉÎ&pÂðÙÔH‘m³&0»Ù“÷4¬oï\£Ed"tÖ[è¡@0¾f£&Ã3Ó剚ÀCÁ|£Fé5–gKç’ƒ ÿohÙG–ÑàW“˜OÍ+4Ï®>ÑP µN«|¹4¸ÑqdGxùîm>bñ2¦¹NÜègr†åÔí`è{©äÀ¿¿–xeîȲÎ$Eóaù·¨$8º²XÕ?º?‹ÜÇp±ïƒ«ÏG0ÆîfÜÏz€Kþ\/,¥‚Lß·ºh{7Ö¥0¦Ú„ÞøÝ»5¾ÙÛÉ»æVߘ£¬D³œO³Q?B\è1‹Ii… öní%)6¬#m´š¢â +›y Ü\׆˜IY>]ƒ}CaFªŸëåz¥ÿ0v\¥ú_›2iN¥÷ ­ÚÇrÂÔ°Š–“ùy½ÃóH*nð²Ù“Ý›ÍïÉ(«î8"ŒÓÁjº¨ ø÷U?ÛæcoâÊàÀQ7‹t§s¾Õ÷Ò‚‹‚o&µóžã/¼ÓÖaøBM6˜püä½*º,½53Vø!\ ?Á­À§ „aF§H¢b¢Øx­áÝ¢ßßñ°O˜7K GïÉx¦Þµ®$’s$ÎƒØ %9,-”máó(~™’_=û4k©0¨æ5H‚9ÖѦäNŒmùTl)ª %(/ûCk¤ÕÐÑ¢e}<¼õ”³ãmÉ1þ4Ü¢ŸŽŠ•©.•mÐpþFÌ\ÝZŠéa0µ 5Bç’77ƒgXR¤^PWJ]ŠØQýüóaV´UîæEï£å\JuyªœüdÙp1´@J´¾>+–³éÜéÄ’…j+;¨C©ˆ±SF<ÎÈÉ(dûä§4ëW‘ ^ûqCòSÖü”÷tðŠF÷@[?†„H½Q­Q?·/ªçnx…Z·Ýëh‡·ö¼DÕ|…‘ ÃÇq•®V\R]—7T€CŒÜÿ303œ ؆JèÛò“êºr×O3 B@]êŸÞÔ¬ÃÏžQíËÆ£—€œ€ÝØ]1™'nÔF­¨Ùt¹–¤u·þ6ÖÒñ$|¥“LG8²‡OñsUFL§¬Ý¾æ+è¾³‚(^ˆÄo`84¯L÷1@À-È:ýø%Ì;‡Îž/j(èá¶7¬Š+¾Ü\Ä*"0ø?pµ&A2ê‡);뉦„êF¶Ç矉¨6 #r©«(7âħŸ,šv¿I{ï0Û`5wfê£çzÓµ5XÂ6޾[ŽŠè$îj§SÓçkñþ½†·c7Åü†Ìó°­8tÙLa”é·qé%(yŒ-a@®Æ@7&&Š©õ°cÛNÛ¤¤:q®çÎÛÈ ©Iòe@VÅÜ?"'n­x¿1ö°Ìöú^.­k#c7¡ÁWñäëaÅ8j¤¹%•'B0% D=ægšÎÝ×âàüÒ5„àæú6™< °·?Å!6¸ JýÍŒ ~BùJ[[_9ø~…L$и¢«ÚÝÓ­w«ð—½6s^ÕÏFw/E^ÄxRQu\}QâSبM°ùKÈ=Ì“QQÃ;ÊpŸÞA ¸¹¿9òcª=¤æ^¨,úϤ±›+˜ETÄpͱêµÞŸ4ì•é2þ%½«k”î:±>–õ¬@l°à©~ümX>"ç2â\¿©Rª¬ 9o嘆ŠÉñãP6wǰ¤Í iÁŽL¦P¯ "móÐ’åÓŒÙP9HæŽå5Z-ãÌ«‡ÿÊ'XêLlNšþPlºGeui½OlESþ›Kɯ.ÿÍeµ*L…/XÝ©`Ü;ùF’ñ™ß§énÀª›Äè˜&RZ£lõÊßj„sJ§¾K[’IšÕ³8{H+ hõžÝŸ#Ù¬hŸ@E³}ƆQa(x¡7Ð{÷|<3é†_mÅÆâX¸sg;3÷Hù/‹ª1dn†­TrÎCÃþ4‹+z@2â"êùÀ–~y 0Þ|d?¨ LÁ²ü‚‰µ{f„e ÏpR˜À}QЦ§+О&00ά(+~±¬Îø•ajpÑá!(ç™ë%úñ”-b…{Èõuå.+´&ø1ÈД‹s¨ –ûæ‰:\#'»G´ðBŸû…-•›m ˜³tB Îaå¦z™c»˜éL§ËŒF¹oùhº÷!<û•¼×Rjí–«Ê2ÐêsZ(‰ ;®HDÜd8Œžõˆ'O¬ZÎP8Œ ”È`ûâ0¥17–6n0€¢“¿ »ÿ')…ˆ–ð£}ÝFk†)ôçÒ ¨Ö؉ ³ê•Tü0ÔA8©•žé¶]s æpw•D·‡KsWW8šL¶Ü…´Õ[„Çs­¼´(i‡ê™¾”`x „ÝÖA`pÄÌ÷s¾‘­£xqÒfB¡Êýf^iu,»ÚÒ|¨Àµ%>÷´LU&Ud…EÜòbQ¸‹ß'+>ãb›ÈýLÅ~X§ׄþe¹vÖ«ƒ5r° ÓŸ–C«y[în <ò{qu\Ø;€0ò}:f”ž»,­¼úS”Æoœü5)tFœeöñ(Ië!§%{½–y{@½ƒo`YˆGí;¼S ¯_ßÕ•€»×¼ÿ?¹É%I%1Ö{€šë%N¹O×üì¨Îä¨Oßò6YfUüË€sÓÚ•Ã…Ûͪ%)oïóà<Ýítà˜øÖ(8•t2lâÌòwù7'Ó<|®{ý¶ˆ:m¾«ÈÒeR!=Ýñ^r¹ÞP1­À¸»EFT1/ÿ·Œ*Ǽ ÕOêûãËNÓïùéç¶”0dý Û¦%E³·1Nžªº­Aà%?V)b46êG·$Æ ÅˆZž2#6^bÞ“—`ýšEFùŠiW/r†íãåÔ:“5›“.Û|.“&°²‡ˆÞé ·+ëG#@OEôˆ›ðlÜù9¥Gª—áâè< ^< «AAÉfYkôåhZ%*¼P]hƆ.IÀ®ÄÉ—å;¶sxûF„"ñ.³Ú•K, ·òÿ±Dùl~)C×w¹˜¤E©¹7"[Ø×Ý(9·© Ù®«ì’,63ò®HŸ7zŠd2#‰Îm%Ýì¾Þtj¡Ó{¬qÕB±õ‹—˜ýCæ1ȃ—Ò ? ;Ö@åù7ÉÇ,@$ u0r«ŒgÝN3ùrâù*~2çá8« ¶yòîêW íÈò¹¤:Ñ]¬üæ±"‡ ’êÔ[7#:rýwÊg,Uz/-+8[¸C®ï†Á‡wY›u÷2Cÿù°=è…È29¶ ÉdÑ•x²’ðÆp­¨~á1=ÁÚv¹_±iyêÈßïx¿:s@Õ% +ko‡ÿíÆ™JáWëRÎ?_PjпÀX¿B†_-f&*jY B™ èUL±Ì— ¼Qù¥¬py­-êÔÏS;r ¦¿^ßß”‚*ÒÎi÷Y¤–®¡Ã`ðJçuþIu9Ük­¦’ô%šÑu üRc‡ 7÷ Ÿ€K½²ÃËr7%s_öÓ‚€­mgd —02{þ8fp#ã³¹·;ô5/:íü½9ù¨V ™eÔ>—¤)J×(kkð*£‹µñ˜<OZgêÑÀÂÛÁRVñ(ÏêYQ¢‰þZ3Ža™ü~¹\ë I|”EúñÀQ¬Ýäq¥WÓHãHP{» Ø\BÚ½aú¹ÈXÝœ³GŸäžau6›ßén–þdÍ™ b‹7êèÇ3j±G9 ÐÚÛ ð|÷Í`D‘ȸ~d‰pÆAiÕ§t'*šÁ.¥iXZoÃwEŠ–8Ñ“EeÔý“#;´d|ZÈœÇ-¯B‡eMÀ2® ,òB¡ÔÆ›ðÝýuY1Ø–ÍÈX¢] ª±|½Ð XÇrî¥óƒäxÒ%13U3ܪ*e=føÑ]®NÊõXIÈ?¯?§Æš,'úM9þ¹ŠF—A®Ä@ÌS'þH‹`w3/ËÍ8.Vº2'FòÑ-Ò»f5—å,˜%¿F—8Þ­ÀWVèÃ7ÓØ['E \,€§aAeBÚÏó4•À-5aàgœáÜ÷oÒ©1{*8[WÆ=˜O§w2W¥YÅ6Ü#åýú'H*†È¼ŒùæªÙ6=ë,+)’|¤“s{Z}úÕ‰ŠŠîˆPP^¯½fm<7•䔜5b6ájˆ2š0´sÝÏÄùw°ãëâe˜ŠŠi³3wè û~º/‰<ÁmëFé4.O¯,ЉÀ)Ü3Ÿò• V­ìŹÖêihÓH÷Qv-p¢q;Ç{²»mÔwŸ"ù!bˬU<ÿ9áêqCÐàc‡uLÞ⑊XÆp…kö>ˆÐÞíNê˜Ù=Ã(F1iBu†jRKÑŽh½¯hã=á™Vë €Ê³ºÉSë-…øvÈ÷oþ¾“ÃYžàÛû:zzuÄEÙY–du†²×5œêFR/ÿœ¿}Á´Ys¸ ¥Ë0x !ùwI ªú‹îޝœÈ&> ÿJ^vÞÈÿÁ1HQM½ÑÖ…} vm)Ýf;;C¾VINb#¸¹ŽÉ(êÔ]&ª®ÒI̲$Šš5öR‡ÖcÞX¨G1}Äìo).H ùà1»e”O6HVø0Êù€üÜêöéG=¹™!åýÂ|Êôâò—þÊ‹7¤…ØFÿ¤gòéVMì*gÆIÈK±¹2ba$ ‹{Ö-qÂc'¥íTw"F:Dl‹U÷npňÀUõë©©‡lt‡öGNgj‡rÓ:ÈfuȈž&å;¾R’ÛfwŽp8ê•ø>uÅŠ5 ßÅ©¯tĶûzð$JIB2=8•YH–MÉM'µ]ÇÀY? i °Q8´\!fHöÀ£K¿6t½PoÔÞÛ¤˜GYIdž¬µ1s‘^êÕ`c ôëMnph<ž4ßû¤ ÈåûýFšm;Ô·#]¾Oi’®-¹àqÄ’í“€³‘Ç{§ªÇ^3Xå‹ß¤ŠÎçHa~Öu=³§sÉ(BvO¥eñ^­§ÔÛòk««Í9wœ<ƒêDW;_õ!Ä¿$Ù‹( •pظ©#b(ü°sWv[€ ©"ðRÙ×ì÷Z™hƒÉùÒý+m_´¨#YdgYOœçàa3zÿ.Ôœ¢çlôžæ £}öuŒfw‘©< ïîÛ¥T¶oÒŽ/¡þmÞ¢+hw_቟GÇæÓ9to»ÙáŒ(ëØ„Ì¥‰'¯_‡¥%^~ d šICDÖ¸ðjñè¬È¬'èIØim¶[—¼µ6Ùèÿ¼Ó¸?˜…úÿmê@¦à©ŠØ·=óñ±Zä»A|GMäŸRýðDkú)ÔÜê»·-I‡ÜQàHÏ%G¤§ÅõsÉq”¤¥ˆ¬È²²Ð¨/O’aÃ$9ÜwPÓÖ=h ©6®=( Ú`ôiÓ…sLœ(󌰳3{{=Ž'£ÉÔwE“ÆXá%;ÿ9Iö&ÄËæÕ¤ÊTUÃŒå^á7îÝ'ƒí§>—2‡ð2oK±æçf.JxcœEËEÙ~¸us4è‰Ó‚YL (ÿ½öµíŸY&iÇøA$÷/P¿ÇA²0oŸE;÷rfѦZ+oyÀˆÞBúf,–52S—LZIØð¦ü×Ú¾Ûª¶»-L±|³½ÿ;_’‚n£7©Â?·«¼V‚¤O =÷Íñ%ƒ.'y†PRÃãÑŽ˜ ë¯DžzR“T¶JàÈo“êOމp;åœWM­À:[aP„Ê1u8Áü R÷/d"CÕHVB(†¶ÇgfæïR=벨Zú3^µ®)«}áÌuÝî`Ðù‹vk<8Âì”Wé(=Œä|]34ï¿’é•—ÛOùJ㇨)¥µS_JéCÎãÝ¥¶³±æÄ( …*O÷D™PÇu%xIƒs ?‰>ét ÛO7¡â€éb5ž‹üÆ¿›œ,ÇÕ]êÁžÁÇĹÕyp‘ñ3[‚!!*Ÿ=e¤€¸ÿY*¼‡óøœßóØÝ l”Ÿ·j°T½Fªµ‚ˆ±·_Ä->øHòš ÝÜk#ŠËÑ6?ßX£uuÎjfÌÆ¶B&%¿0¼'D9J¼0ó#6QÅ;´²Œ¬Ÿ¦º…?B •Y._ÏÙ õ™jø\ƒÏ ˆŠ(O⮿țÒkýˆWý??¸Pƒ-`R–’Âè1™— ø,™ ”¹CQ+/Ää'V*ÆäT0²I Kê¿rËÞgƒ„<œëÚ·Ýéyë=Ô]);Ú´€áX™-›ãÁi’ÖîEoŒ¥J&ËD¥4²>Â×Sá‰c¯(ƒÇÍx|€s{*pîñ9Jzðg‰¨ž«Å 9r»àÉíàñÇô%Wïg —B„Ý¡ô¼æ»m ^´/®2æqîS½!—ÜÝ8ÒS—kÁØ?ó·©ÄcâÎ<$Ã_Ú󠨚aQؼnõÁ(Wq1"1bkÅ‘×j¸åÑ8ÚÅ’Þ~peÃÃ…¡ÈÝ› 2K/b‚ «…|$aøR?°gB „NÓk{/91½~Hü&Yï¦`€àn=‹r¨…/T‹{¹A/å‡CdÝiE)6§™»ûd Lr°ôd¶ŠL$1Hä˜o1¸¡etû­j›q@RüýªÈ™uWÂ`sÀS`‰>\ã†Å¡0S!Z[—¿‡±‚Wwo7‹YrúHNêMzϦºM ^£ªú¶£WB`Ñ‘*R˜ÿ›dÁôÝMM@¢Þõ@5µleÓÚŃ!H¨×öä@ýu^JмÓÀø9SkxÊÔgìf.û`„™™Œq{§rê]‰aı¹Ù€¦ÝÓ2X]Ájdüè D[wܽŒ:§$]m0é*£ïÑ×8!8†™ ÏG_éô™ ‡:¯r*Їb~Ô¸Þ f¨÷fœ+Ü…ËK•+–ŸÂÅ6ïŒB¯^,ŸV å¹J·XúlB ‚Â+& Eafd¼ñü3SíPi_!&™Uð!1®ˆ,'6Ý!I£• 7ƒ ÌF:¬¶Øí„Eý¥ÚüzÌ‚:˜pºVﮪ½*„ûž(ÍIÔ½Qt§+¨ÊüÄ)ÿû˜™¬†tàý€”&|öAKj(ç:ÍÍæmõßõ ºIgHλáéaÐXÔÅèJ%ù-+f ˜ëúÐ3ꎦ ŠPr±Î©{Y ¢Ñ&qÖõõÔæ²°Œ›ø™H.è/þ¼FDH²«ÈÕʪ½b¡44§ Š-<¿$ÛÔ´[,zŠp —“Õ*G¾ãë™Í‚ïrÿ1!È+ ä’8Dø¤9‰€a…g¨ãz±[ ME§cÞ)²V7ñCùi=š1{ ¸Ñ†úkHƒâ Fé…c“’Òy§†„ú±™Ðç|ŽyÐßng‹AazæFµ}ûˆ{;½T»-’¿ªvw·+8ïÚZ\R9·2·Œq|ƒ%˜2¾SÄâžë¦ÜÊv´1€_0b–4ùœ :"L„¤_’±ò×ZI€¢ç9èÖ5>´¿†ú¨½ à®;óz’ÚÄ…™­~t¥D‹Öp‡G‡bšåƒ¦ÊÒÞ¾‘ø=ÚŠ•´ÔíVú~Œ"ãyÏï‘jÖ“‚Ú¼ºÚ"‘ rSüYnçü> ޥܖRâ;1_) ê… !ˆûTy^ØÖÙip«Ÿ§tÒô´UßaW‰µ"Ò¾`²™q:éñMÛÿ%=E 37þ~Ç¥d=Wp˜t `ô|wu£²L/J*ížÒ_›¨í×=V•‰xZÁ¾L嬣Zfš¹ÊˆIþ~€HàA$<ÚU‘ºK|eë"Ýs!‘QñÈxV›Ñ!Š ºfÍCvGü´PŒÅæªX’H‰ÎýmM-ͤ+Ôa¢Æ”Áód^·=H{·֭Ѝ<²õ3h¤Ùu­ç+¼›nJ™`Rƒ¥¿K÷»­’6jµàÚŠ ×ÞZ4G;È’‘[ªî¬¦žØ2âýD6üùŒ!¥(5‰»1™H:UŽ"óLÉ .,!¸å:¬lÜÞ TUû Ÿ¥¯]®ö¬k×Mï=—?Xâ%¤FGj«`ù)<¶=ÝH[‚Ïp ñà¾ñ±½yá¼ç‘1ní…³šìeCá~¬ã8:Üy¸¿™YV4š6õöÎVœz¥,ºQO ¨Žª1X¥2ïÛ®9èbêÌs»Œs@K¨#CûØ›nrÝŒoçÉ+§g¢DÇVÛ:zf™Œñš ¯gâ›2m§Ãk×°ë÷­C)ïè: í‹Và+é¢%¸~8òè½l°••¨, €pJKµµ]€ ¾øîïFTû¥©s\ÚGñSÿŒˆ„Çò.²ó#'MÞýk÷µN±ÖI€šŒ¬¸Ž\,eœ‹°8¶Î1 ¨€›û¼Åe3o3y«Eä±ñÊ R±¯l[Ó`ö*SùþzÚøÑeµ—:aøégÍ®ô±4çª)Í"ò–èh3»7‘†‚žßæç·v "ån{'0`j¾ökÿ‡2Ò´1ÃÞ¼¶”ß—âuÿitóJ¥&SÝ‚?«îSšeÙw/^.¨üNÀÛh6ÑVôÏD pþ(L÷úË ‰þ˵€Y{aÈ‘œ3[¨¬.W¶lÁâ´&ÓÆ#ð ² BŽr¬ü¡÷¹™Â>§¹‘œ{¬'HùUËÑÁÀ àEë2/‡‘0<©xÓ*xp!ˆ^䌂ݒE²¦™ Ã"h^©Œé ¦3U~‹f;ZøE\Ë/í©]Óí´w’@¶ÞM"XåK7b^YuÙã «.òqÁÿC5Ë;c©òÌïp€¾w ½ Ð-G¦{ª:ºfùWëŸx‹s™Ö•؃RLm6ÊZU+epv/¾M[~¹ø¨žEEÜe9Nú—ÕÞ#Û5`á»›ëR°ZHQy'ý‹}`f^ÈC´)3öÒОœPC—¥k"r#ëÇ©sƒ"æÏÅüK÷p0 YúPí£‘^œ”Æä ½–. ÷ÒÏp‚™ËE÷7ˆ øyp@A¬®í¥ÂtùÿñÑ[²Ô+kÀ0aëþøB•7¾UÎzÔ㵆‹î­<íEMhm¿Opq%íve:zÅѼàÛs>× r9içyì”@8æt“<A™wˆ£|»üÔ’ÂU6 :‡Ýï'üF±JÁ¿òšð"&!5[PŽ&˜àEÅä;µ„óŽ»ÐŒºSYkìÁv+‰ÐTÓR»,³Œ/žÓLŠõ¿nH/B_ç3d*Œ*•ôU— >¨â1™qÄ^5$e™c$±"ÇD•`ˆŸE|Ç¥¾ãÞ»§JÖ CãÉ™õ‹P«Ú&;”Ô™oôÆŸ×ãGa¾¿˜Ø„Å) ec­Ê— i³<;A.¢RB›¶ñÞÈ™mªŒíi^x ZÑh•.N‘fâ«°¦ÈÜñ ›‘{¶Õ -Ú4Û¯¸¦ƒdLn®|üÖµë ¯ ¯}¹ÜÓ£»3¡øÍmì”m|Ä€ö³u4÷¬,Kð7©©|Ôå„¨ç ²ñðPû,«ˆxŒÆZ}˜éSRðkƒiÇï½0mÓ’ûˆ Óû‹ð©ñ¢ÇÃb¿» ôKµÂ–æš.'_å%N1´$+c¯z2Á_’úÈ ^Ÿ¶×*«"s¶RlÓ4h#Üg%›êbjDßîjÜšõ_%!Wo\Z3D± {‡¼çý ¹ð€ï]t¡EÃÒL¼îðùR6ü²œ§‡ÍÆì±êIëÞ[lbœãXÁžØ%MHà[¦4Ê¡%%µ<2¢ 1§_T_T3kÎË}^èXC"*ŒÍ‹•D=4 e}'à§/¿×Ù¸ÜüÉòÞ‚=žÈH]k Rç'£»ø¤¤ µ¢ êqrÓiÈž*™’ØÓŽd¡–ô”(—M½Ç½¶VUVúƒËw22É#Y€ÙóúÚúÁÔð’LHÑ~†E:É骃5E0`ˆ‚À1DÿeV` ^Üý?°í¬÷îg–膄äåræùé1 ¨« ‹ÕÂŒ T‰4–¥¹&Ù*wO VwŸŽšP¤ü8*îã+qágÑ@_Ôìÿ#ë˜>¿PVïHd»$ur™¥ÁÃŒ&Õ øæþiq¸ ¯›¡jêG›’*.Ÿ¸GÕtl}˜Ï›oÜ¢žÓî5Œh„$p™âà06‘‰j©üÈcŸÚžüõ­ÙqíA>Pì-ó•”EÛ¹¬:¤ÀL9*ÏT±{–"NÙ6•D&tëࡂаrf’vPVT\y×èž½SQ“+ß”^3I:)üÈ•\®¡›” îט⡼›VØ™å ƒ9ë1<(¦éUê »éín/•ÚÞ‹¸´CA)4ýC,Tív·lB`²K`ù9…7ùw~¶uJZ‘ûùµRœH³ê@й-1UBì,,>)Ã"àŸqz³zvÎï}ûs(T·ž.xxè”vvÛ•<*or0K g.¨à.êøñúñ¼ƒ…£°–ð=žU Wú•ÌãÎE3†?ÃÂLJeÖÂ’t§Ò/»Þ´ Qzà‚(ÚW~ín×ç“k ÈF 0j•l­ÓÄû-¹ÿ·êÉTÁL“MIɶs¯ÚñSCM%¶”Tg†<€Ê±ÿÆjA²&$áQP3ä®(C¿ • &35CÛŽäS÷:_3jÁâî–‹'Sـʸ¤EDX„\&=ìêQVp»?õ CNÈXEÿ#¸pµ@¸(0rì2i¾„G7ÔWÆ@Xšm_˜*;l†»cǯÎwPa"ÁDv9 ó÷ôu¥f·°ו%.ç°“—Ê’ÂDé±›ùjòîvK`Åé·,¥öLòBÊ©ˆÖ‡óÞw•2ô/-ÉL™Û”zôe$hBzò^0ÝÞøH†óÆ‚ÌÇ}þH)¶Œê†V*?{¼™c>éöâ¹q‚]˜ƒõ’û9ò){¶4«Ê]Q{ˆíÚ’'Æí(P»öc´•ŽU;š#I$„WQÄ©BEÕ›í{怭ýP#…Kb’çã0ìR]Ex—"{ûsÈ¶.ƒz8ú:Òtê,aFqg%/í(47W†E‰±êõWF.¬JD®t@ÈðQ™qdT‘Y+Væ1quß¹z±þ¥ÁŸ1PÃË¡>Ýìç^„HÝ⩌ö¸Šl~Õ´ôàüÔÎTl½5˾Vgöfδ¦] ½½pÕ6´5TFÕ‚}™ü3hÝŠƒ$¾:ÒŸ«þ…œ’é7ãSý² _F¬˜iq9ϧØB2 à˜Ïá¶ëì ?ÐáGླ¬›:<6Ö‘«–°{=ìoÒè“›—ïì-)AÎ@¬þ7ÄÒÅn•Xüû Œ, ÖËüJ|˜Óê{Ò‰®Û+·f¶ɽ`YÃ[¬(ð£Ú©Ä³M¢[ÿWÌ$Þq@ʨqûMÿ„l§©]¶ú¦ŸW@AQc·þÖΟ4¤f¯ÎuY“Éá£OŽŠ³E«çþ×R/õÈx¶ ƒt/4›$vê6‚F¾Ø ÎrP%`2Mk¢pÁSBªY¬ì†¦kÿ›Ûü-öÉíôQèÛ8Õ‹ ¼m}T;M“þlRÜþ°éJý¬[4¢½Š™Á:d†êÆ™mÍ$ è¨ØGÎqˆÉÖ¨|„N«~¡¶síR±ôx¼²ò™ñ«x©&˜SÂ’ ÛL²×dž?Ù³ØGÉãi@ T%iña]¯6Z¨wëS²«W{ϨuÃÊoÏR†×Kü¤vñ@Ðe¹ˆü½\+"ìù–©ÿ 6¬Õ *SÅLŠP+ Ù¿DBwZ´ÿ§NÇüüáu}cЩˆÄKa„*ÐÎbR¬ƒŸN…aß½:B'†X[¦KzRW{ù Û¦«o‰ÓåM{ÉZÄ ãÒ‰vÓzOwLUð+5‘¡‚CDdr7P¡ŽÙ›ÕÏ;ùF?ztOwErEïbŠ@¼½·Æc¶S%— ZkÃu&<Ï)-õ6£›¸\<žÌƒ/ o킨E»¿ãå»RŸà³[«㘖ôÛ­¼ŸóW2ÊJPçŸD}Q’žûÅ@"Íj›«ÊRCYzéy&)|Û;@þqiHA·Kþ áá¯@¥ýv¹=ןG (PÊS_DÚ$Ä™-б\ä4©arSéYÀcSn¾Õë¡ ù‹&¸|MgiGm’k©U­9Ï (—ê…)¼T¢“`×ÖQf-J /¡åš$LÈ´v¯GyY¼{º :Xðœù¥_ýÃ4vóí‹âu‡ÂçAÔº…ê×¼»8E Le’Yºò¦õ‡qÍ",3hžayÊU€)0N˳[;(o×›ÄR^?Ÿ_Ÿ’c×}“Í© QàhÏFñûµÍ‡¨Š{Cz6(§½x°¹™MÇÕác6ÜåO§í¶çÛDõŒÿ¤·¢²Ó6Cûyhù­Ù…kYÓÌ̾Ö‹œØ·Ò2?U'”®ò IX¬n«1´AžMDÒôü®a{mÎXá_5=À¼üÀˆÑ>$8M™xðj¡Æ±œoé<~Ø žSS[[±%ûyP»Àž}ˆÏ^X߯’}Væ` ßäc#4 w²F21®ãù¤þÅÊP%0o%XÅ¥Åã>3ÁÛø°£Á­yˆ-Ë.ѧ“Âãä³uÈ4 ¦#wß[¹¦äO» €‡pÓ†P+}É3äœoâ{¦ú½r/õn³|nÊ×—ZŽÀm ô}·ö¶½ÔÌ^¸µu‹²‰`I³r L@ýí¾*¬·HÞ¿Kê°%k&q‚ðñJqlÔB/Ä„à™ÁÚœúlZUcµœ¬òO©_†õ‰¸”JÆ ¶˜ã9Ó‰t<´’’~Œ½”X{¥ÚÃ)xÂo¢E`×Dßøû×i¨cPÃßbÔ1³ªé„4FÉÒa×9%9ÖðƒËC"ÆfäøîíÄ JÌÈð|YNëÕ·Fø˜aF{ ”6T«®÷Á¸®ÅØéOJpEÜ‘º½ìerªÏCéòµƒÉYÁç5 ‘¶cLÕùs²wz6³Ùq¥­õ‘xøÍñÃúFoU# žc/·‚ó­7~ðJ%×Ì€î¾ðLš ZS äàHŸÊ·ùÐÚ¯ÈUþ}¡·3ʫ٠ü:ò°\Òì;þßjû;g¸Ì¯±óm³?.5?_9±LqB?å¹â¹Îv §Mßòß× r~Ë•e\;ôÇÌL¤—´@£šîÜSò>µÚý`5Ëyƒû»Yáp"ÿ?sQˆF…SVêò_‰©s¼Ãv—‡ó£U]¤,—±t˜‰e1ï´Í®9Ÿ´Û‰‡)•SþÝ’-Äs©"QÍÝë” Äf°æC‡ƒs_fدz=MTˆ3©C–¨èËšSã½=2fÇ¥pô“ÏÆäêFŒåIŠu™¼¯V(F³!wx»fCyòþ¡¥,®¾›,Z—~ss3­¡Ø@½õü3òVÄìý4­³}ÐKÙ ·¼ZÊ Õ%5–2ÐÐöúh–”Oîòù|óìpÍ”ÄzÆ®³üZë/[ð ÆÐã³*ãvb¸ÊÏTÓ5^]*G*"ú[­Hµh%V#®(F÷Ï 9Øç†Š4½ !”†é4H¼Áã0î÷Õ‰Õ/Ñ{k´QI‚ª&y.åö7E/¤ÆÎ|ño)Pv$õ€QcTšÛ?~u8Ç%>6²ÿË+²ói¿-1Ï*ß{=Q ÌðŠ6”êûÿ9š3ç5C&œ_Î'O†˜JÎc‚7aêÊ’^üV«Íf„‘гPãê¯Ì°ý,=¾XãŒ*ÓË|h™Ð)žnì…ó[úÌ :) Aõ)ÃÃHÖj¬ùà9JàºÿÕG!4+Gp×›p¾”*1×£ƒ;@ù.Ó>µ­érN Â¥š“§€f’«“–Ãùz}j(fn¥”qü¯©ò' óJfZ”À -øBLs<ö] /å 2þ[µEbÈ#2]OÉIñòÐ&v)ÞÑ'0 •¦Ÿ"Í?ˆ&o+Ÿ1y+ƒ¢ÿV6)ƒÑt¡×@MÊ¢r0Q ‹ÂX<†…v½@=}·èTÁrñv>G8—2ÄXïžqRßrô­óW¦[è”-î-ÀÛó}ÇtããÆhy—ä£û]})IÜÆùþ›ëP`½îr(AI ±úŒ=ÃpDš@FµÕÀ<}СmÈzìÒMºE)´—W((±íx „ÿ{({I ‚G@ x÷ª$pwçe<8€üáï‰ñ“WæŒ5ã§-:ƒ˜Ü˜UÌvÃ+ß;™©+ùi22}Î'ƒ°›ïÑÞWF ¯‘GEÏLËY÷á°k±$žÃÙ£þeçåW ìlmê7ÍÕ5”¶ Ž!w<+‘¼+iÌú.ˆÛ2LŸ—‚Ä3uÑ®ü¡>öŠo“7nL…ØIf‚'—!R’ ë˜ÔÚuŠfá¾.‚ì8;bÆHudj…õTNM+UWä=Í\[’Ð;E‹»îC³Cþšü³`¤®úVg€)‰x>ØÃ„ßšÖWQîf¶:ØŒw–,ŸÃ»ŒØN/O¨=6=usï¶! Îå î»Ösåˆ:U‰Š Ìó¨)[43²WløÐäf´³|>IÙX‘ˆ"/z¯žó*Û”F©ø  Z;ˆ—Ö¾^øgô²«ÛH€u˜ ±lmeN!—µÂºþ‡„ˆëæêLN¯GZŸ]Šø µµ[7“ü# ±8 ÙA§ºQf+uXhÖ²~ä-¢Ùß0¶®Ç±ô¬U°G´%$?aè)° Ù%­±> èÿ~Á)‡ÿeh|Ãÿ0·ÎFºÙNOËåZkd60¿¸lÍÌûî-aOòßö7·}¾>¦üwÌf6Ñ6wäõZ¤µr øfùèMPuW‰[|xž”­˜"óê‘eò) J?x û|ð_ EÜ‹ ÃY1cöÏË©¾íWW&Ð)SÍn7±]<4òˆ!L‡çr•r'#&§€ÕÀÒáYÕ´¦ª3`È݇QêF8I¬gÀLj,Öò®ž-¬XGª€ÁUéïHÉ0î‚9T‚ýéüŠnK1­+/bAˆëï­G4‡ÓÀë­²G•»ÕëDïD™/¶ADU§‡O@-%4ù)§l9Ù*„oâëØq(Zc’‡¬EbÎ*Nl”)Éü«ÓywXÁ“ð˜t¡ÙÁ¾Á'ˆèH° «ß_‰Òü‰‚÷" Ìr?!<µM’@ Òsîw¨ðd•ÔËßCàYÏ(7—;õº—§iRë[㛈2g!×Ö”€]¢Ì>”žtúÁ7æ•Pì;O.wåí×wÈ€RW\L¡ rœo†€Ö¦6©ÃTž¶w\ˆ½)aºŠ!Ë,0j^Š«+¡÷ÉFÈ Ž°_é’“ãíZYV‰dǤilÖ:Ms&Þ)³ƒ¾˜Ýèòì©åž‘á:˜d t˜òDÛ'A˜e!¢NÇÙÖ!£E$é ÁÃßbZoÛ˜]‘ˆOÓQ½_Üé„Ê•½–“">wùÀ¦ºÀXd¯WÉgè¿oªøÍRHsÖ"VÞOG N¬€ÏRv®M@ÀQ"Îy½Å 1Ðÿž×ti•š'ˆø‡©P'§ï†hð%|O–6°dõ?rÌ{ lŽÛºT&c~ ‹b[ ªòõÉ—)V±ƒ†æªËèc^!ótöþØÇRÄo»Q Ñ+éI©Í£³ì¡zÉ:Ï$u_K±L3[ÌÕ[¶¯šFC NªþìÜyÚ‹a+9®è”œ êõ¤·$Äs)ˆ€9ãvÄÒ nS NÂí:êŠö¨«\$Ý=‹ñ4ÜÍ9SËÅe$)Ú¡§'|æw”L·;¿*Â0¡~Å,hì:¥¯NÛ}žÌªARL¤4—ç¥ÏJ”Kíô¥nÅò±í±o¾Ýa¯¦êñÀ'ÜB9à ‡ýW#ÿ9r"¨$}òIÞ1“ÈXÆö¾jݶ»e¬­—Ùÿ¢8¬XµÊ&vœÁ)pqD‚â‹~šªk«§«M9ó½JÑí€ù0×S¾Ê®©Åø²~îÓvEÃCÄ»|Ç_¥²Ù.bh»„ÈîdŒÆ¸þ<îè u¡—T+Æ…ª¬c^Ð?J™Z[0¬òÿóШyÑ2Ö¥žRÉã‹f mCMh#ô)>|ÈOä…±ø –F׉Q‚lk½­¹ü Ž1[â±G³Šªw™¯¤­{¯cÔ“~jò)p jµ– Α5÷™±:ßaõ¥ìàðÇÝÖÁ€r]ÿþF§ÝÛ‘²»¤/F‹ƒfå×¹}ϲá¹íqTyl» ÛFãOd&+* 0Fg^¸9bç.ü5™™€&nB{0‹{¤Å=\LèꈳÔίl׺ ìT‡¾eóÞ¸Fó¦_6DÒõL°Q/³àÑX"´§kKöOkÜ<¹°GçzOÓ¹¹2”ëA1ØHwéÓ45ú”·úCåͨÁ[ð)à(ë=Ç4DQ“Ç2V$È›Ì_™•МÈÂ'Z(ÂâêeÌR7Û\t¨.ø•úÔÓÂð@é+Õ ?0°}^µ±|]Þ7ø×›:üÊù-±s ‚ÿ§9xsÊúÄã70|6·‡½¾ßëÑ×V ˆ #óÙÊ«- ŸÇ…¤Ý(ÓƒïÞµ}ÈS4‚ß¿€þLÜ0 1§Ãá8îêƒB²ŒÒú–´k§Œ0š;qѱKÑ]¯»¦h`˜ÊaÔÎñn«’Ým¶šù£Q2ÍF8ß± ;z–)²¨ÿäŸÃö?Ÿ¿ž¢WµÕ‚‘p4µš0 8ÿ\LNù9ü]ß¡rtÉ ‘+’5Ÿóö­_~ï²”0Ä 9œK¿#¦twK;pls× ÕAí·ÈüðNLÙÌXÆô8é/PËZúç™&S± Ö˜Ä+L)&uÚ»êW¢gÿ¼.‡Ç¾}*õÜÈsœ4Äòì`$¾Éú¶Z sjòªww‘Ð %˜imŒ©7•‚ä+x;,˜§›ŽFs®ÏÉŸÞ4äVn­ˆª!B´m nJ”Cäø&.¥|mXµÂÉ‘ŽËÀÂy”6°9oþo$ê‰À@'~ÔTgÕÃçAǰóMNMG;'E‡éç:˜k=Ê=ÊvÍ•Lµï Ì…yw˜ýܸm Aö¸¡TO‘.7YÄTƒµð“d¯à§GXSâ¶ñȧ¤›ÿ>޳‡ a‹O«Ô•:U/¢õò(&þKe\áÐ9;ú8ÏŠº_­êÍ£¨NÊ.ŠS!c|ñL“Ù3¨cî÷U€ÒKºéÿ Œ*:WŠ5{g•¹ 6þo 2”+¶&©ìst†·•jùÆTc™Êj×jR´ߣ¼IþC5“ðe¬óùõ™M yGú2y·1eµN¶ÝÏÚ">lãBÒ0ü D³xlbеú‡h[Mä¹·ØìrZæ!(7õž‘ø¯¦¨6“éѷϹo…é)S*›¿Ð¨  Ë™n€Còv$%2ŒòDr_ ò•rxD/– [.!ˆ\qÔ.ù°ÈQqäé ¡nŽ^ñÏâ–P\EÀ¿(¥qRñO g¨ø‰´ÛM‹Hz­žB †‹¶Õóg—.DPÞf.¼.›>©nVa x§¤1çA]BåŒJ²Ïù®®Ë·wèÔ*G!ødíG§Â îm¨ÜÌ!Ãôésç«¿_¥çîAe›¡g[5Ü ë¤ÜrKcé: Y×u2´Œý 6ºóûëF@A”PA3ÃcZÙ)û@þǡïf=*( ïÂßö)ûÅóáúÕ‡ˆ’­h–û´%qÒXbB‹ì@ºÍ9Ÿ[7;0¦ŽÜLǤ=Uè/P´§!jéÄØïìZ›A+3ð ÃMíÌLXY²i׉G%òË/sfl]w?ÿ5‡–îºNFå!zÌÌpIQéu҅ʹ²þçDcØÙúîšHo"áÒq¾m3ó0Å©ñ°!uäÚ#÷°É׎kšš åÚVËØíGàM"¸«näFþjL±;âžK³˜î7àÍœÎÃs=TLЧ@í•í-ØaîLǾ`¹ÆÁzÀ;Ê©#vt&­p¬Ý”ªn혓Dϋئü¤’}‰µku# …ݬ£Æ³V‚›ôŸÚÑ!ÆpGä>¸rЉƒÅÊï¿ÒêÕmáv¯@Þ ÚXƒ9Có›ö"%°"LkÑû®·Ê–ò¸„r½P·z@m(ÍeWü§¶MÒ«5k•¥ÔR!דû)qU2â0¢éK\¶P$dZêµÂ«‰ž&+~³cM9²¨]qA“ÉÍîDUÌ÷Óf€‘½¬UùW®ã}%F^Î7f©ÿJ|ë*ý$½Í¬aO*#Þ¾¼f–ë¿¿ P+tÏuãý|´-z%^ر0OÎˬ­_™ã$ª oµ #>ãÿ±i5º’uÿ~;b¾ñ˜V›BŽ$ÄeoÑ”‚ZÉ5Zh£Ó^emNCLÍÿâÕA¦°{^ä²*Ú»$”˜ _ÿYJ©Ó|Ü¿|×Ýl ÕãîJd稲›í—Á£âã’ì0FoæÐ_lË«»“.ð¤¶Ð*ÂX“jZÉPÉß]­¥A‡uL· (QBW'ÏÇØÄ À-Ámõ‚ò‚¶®B#À¹ÏUA"LbFr±®!›¥YªÕŠ˜Mnè‘E8É6¦åcB¾H´[[éÚ\A-Åü!·î®=!5èõáçLÆ`¯¨ß¤ëÃåÌðó$BôåFloÄ4ãzgˆ‚²2\O_>à“´¦¾~…ÖЮŽ\ÚÁî‘oÂÑ>ì_O3@X4*¥@ÊÔÓ&\—jî¼Ú,°5j+€Øl  °@&òω‡Ss•;C74H‡&ÒT²4¢óT:oqóŽê_™˜™Æ-ÿ” ½,¢’$ð××=­6ëÇÂìÅž» L+á)æ=¾§Ø2æCù:µíL°Ÿ`\?žd‹º›’™þ½÷l3{W݃2ª ‚µJ°*Y¥Ü ì ½jŽÃQ!ˆëA›‹~Ì·{Å&ýŠ4ŠuG™Òëã]üÄØ¸é4S²‰Rœͪ.Úüþòõ v7+M'ÿéƒiHaNÙŸœ|&ùz3,Ç1Ĩž.Åxa‹Œ\—rdî0¤Ìk¤É. þÚW÷ó¡^…SV4]aêguºh`>jçS•jµÐ©XT²ÖÚi…Y€—¸Ý|Èð@GÁBÖâÖàZ;ÃMÑÛ¨V 6r¼ âޝÛT†ÿÜZ3(bôù’ͲìZuf“èìnȺv¤s£æ¼ mËe{Õe¨Ù{ ›×ú3fC…QZÖ ÌÂbE_‡L˜¼7‚\ê”·- Û'à5AJ"< ¸½,Ôú½‘I'X‘¯úNÞ”`"¤¿X®!5ë)?Žƒ»S±A€Ïà0vc-uÛÍ\Ì üæ»+jÍ-œø+ B ¡Îôm{Ö¦:6b= txN1üJ%˧ƒÊ1zí­-Qå9†g Ynªùz.°2ã”p›4VnŠÌ1vˆ:Ñ î™³ÐPoî<›þø'H!çš9þ†¥êõʨyrD·<›§Áb“9žùöǧ#7‹×ÌýwûQÅÀ¸šõ#SÖÎ,½ë ÿRÙ‘ƒÔi ø3¬L¦Ü{+ã5ò¤2C¥æ>OxI> èôÿÆ[±eÙ‹¢ú£^›(,úª“d©ç{´³Ä8v¯gß"J¨§Ã®ë§GΧ a®é_GÜ.W1l—žÊØ~Rk‹ÌÈKq1·“]IË7à…»•»âÑÍêqÉuñÇx\ ø6‹G2tžœÿ5s]cDe§ 2ñ:ãqÚ“õ)˜ÕO¹ƒ77d¿õQÓú/X &Ü~Ž÷ÕÌgOÍã«·lz£ãqoá#´5ÅP Y¯Ë´Œ ÔØ$U%Åâ©Þæ-¶v«f¿y0 –Ó€Ð=aìAqõô¥ÕN§á6uê ˜œ8qbemp1‹ójÛð«³ë1ÏÆI[ÏR’…þE½–M0³l D1l”Ždæò=BŽ ‰Ì ÿ·Ô¼ý  8}Î÷ §åTémßœ´3§€RpÏÚoâëŸsD+?‘xP<ÄÌäâ’ª]¯ÊDt‹"a`dQHc|œ$¹Ñ;¯—8ÇÇ7ð£l:¦·¦sfläôäGçÀ‹ ¾­ã³¯pEX=¼$Ñ1噹‘&â="rT†µ°ßâ,˜Jˆ›Ð3Ð$þ5ø¬g*Ή)/ Ç‘ñ¢.Rú²®±–d–Ou³¶¡¾sÕ¨={la™ÏEͲQ74×âªz©ð}3²o¾Àþ-޼‹–HÔ>U#£ÝfpÓ(°än–·¼æAÛj°1ý˜§H‹ S*´ ìP˜Ú»l€ÑK"7“&Ù2˜ Z•fî¼U]`Äš­! –]z×Ú‡d½ZþÜÿj`µØAQ¥ˆÎ9;ç CK0•Õ¼]ÒQ—Ëp8gB²¡…y‚ùbiàJ5üÆ4ÍM»îñ¼ö‡·íÌGxú´ Ê NÚL+Ž’«í0ÅÐ=›îè ¹¯ƒÛÄÎ;GéÑr‘¯¾;›Úðý uÅ—æÃŸ9±áVóKŸ ·9¥k1b<–Þ:ElÀÓ™‹”=ùS²¸šS»­€õa À]Ý•‹Ÿít7Ï„çÛ¤«’¾&¦6¤C· /™[MqdcÙÒ4e¬³ç#·¼Ðͳ³,l:¼‘êï™((ὦRÐt‘ìýºæÚSlîÚb¸¦¹G‘’ܸ§ý*^ש[á(½´«hªÙ«²L öÎŸé¥ ¤ã…sí¦Ô¨ºt>Fi LœZ¹[´Õ|ÒpêÓ—ÖÕ ÔcªÍ.GÍ (Sýö Dÿ—[ñ3Z²ÈŒP±p”ö$à©rX¶Úâo‘Š=㞫Ρƒß·?„V™Ž< ;Ôðã]<Ë7§²ÞIy'›«K§ª“eÙ€=Ç7¶+E@3õ ÞÊÿØÝ$/öëq]ñÊ5¡…­Æ¾¡xO™ÀÐ]tæí‡ò·Àß s18îÆí–°z­îª§s‘ÚNv†ØÑðQÙ9Æâ£+ã 3ùÕÆC"Ål×/òve´•Úª†»†JkôüU‹„“MêzǃêU௼. u‹H!·I¶=‡8D)õ”U=ݤý: ‹xW¾ów~Ÿ(.äÞΜç¤é \xÏ:å*gÐ÷TzÏø(ñ`iÌxw‹+ã çKF¢znŽ©…ÞO;yz…—¬2ô䮘[ Z–,À@³àìOtê1¶\š£úGÆ¡Ž€7B¦kdñ?µtE‚\ñ1¹(ÂñŽÉÖf»ƒÌàóôCe:—8î.Y†ú»4 ýîÓ{9éç’|±ÍŽj ?”‡¹>š¦E ×;Ò?ŽÊW£…¨QC@ë˜ w¸­Ûè*dýrûý_×à­Öohe/ï­äC `‹¦a-ÇÈEDxØ!–Ã9‰˜×x—D¢µÒäzt–„‡¬2™8xƒXÅFé,gLÂ:vOF‘„éç×DúÕuÉqî\pï£WæۈúÇŠ‡@êrÁÀ7h—ÆŸ§þA‡è#jDð Š8‰O¡VV:;1YÀ{ö»Fçq!ÖèZ¸«8>ï>ø¾‡ì8¨õùŠš]¦½KêbÓ§Ð.q!ø¹n•· 0F$ÖÁ¶¨ãá;·—’­±R¡#]É q>ņÞm^4hÀêÌmÑ0 ›¼LpH™±ý¤3Íì¡×5ùë)Év 'ÒÔ ÝѶÞûpU/º¬ó‘,^ѧ%U>Û±s˜àá”ÌÅ=UWÌYS“{uJ›½ZRƒc'Œ+°œU¢íØœkX·ÏRv+ ö@îËIµt¤Úè÷QXDut8x¸·+®·.z´° Õ£$©ÝÄX¢¶iÛèüÍ]k®´•4ÙŠŠñv’Vy~'Sšz‚ª[VÏ•DÛuˆQ/{ÃÐØvz¿4éÁ›;õ&r ÖÈæÒj ¤×í&,—ާšnPý„Þk7 tìå±]èÆÙSv‹E<·Ÿ>šPZ‹õ'¹eáëÑÔL˜³!^X_¤ìH’ÎÜmTƒ0p&pÓœ}^/È fôÑBc\ ¼†$BÒË2övÅÇĨj±:°"²ÈÈM½eæÈU-^¡ÐÅxÃéýsžªð^˜wyl\aÀÜK„ÓÄÖÛQ<þ˜C.dÆA-&‰ùs˜½ÂÜ­<åÕx;mí»~ P)l=€šü„Dç«Ùƨ³GÜ„mÞÝÔÍU]ÊH³8ê-³úÛñútZ×lâÊ{nb¦4«sÉw)‹Q×… ´êjª4þ\B1R8_´/uÙÎ ÆŠŸÏìÀ|N­L9óP&ò–¢VTìé_mÊmªW°,·zWç8jIÇé¯é¥_ÈÔeCŠ£Ò݆³mœrÇpúõ¿yi8Ýf åëÞ˜­š›§p²äæKé8I¹àÜ0fæ’ßqVl0G\YvºÌ­óŸ·¢a_: žm GAtÂ`”Å7wo4“Â#'4/ˆë:U8B͆ïC k~Ýý¹ZAj®–©ÉË6mX¨]3Ès¶Ë©à¿Ñ˜¼®Ë!bs ÓAjªf¥÷…€HÛ†‘AF¡x3æAM”ºžß ¦>)ÙR^™·mpRmà]#pôöraGÂûí’ëõ¼·›™âa¼s8§,¶TÚÆiÇ®ÿó[œ_ªÞ7˜üלôɳlh’9 4¶wЗÔXĽRš:ï1l¨÷׊ìc&z— Lr€³/LœCaSîÐäçÜøúX¦“M^î×FY4¸ Qy{pÆ Í'fMKjfÖòdØ ©n_ûWØhÕ-šÜ_ójp°@,;:s™Ò‚… ÕýÕAIÞH´‚¼LÑesgš‹ô –w]Ž‘¶Dñùb3 ¥f󰮨ƒ\Ä6¨v¥$—÷±°Äö ƒúI ªç„4m%fˆŠó!nâh+4î‘gV[/€>y„Y4YEŸûF﨨[ºj:éV5Õë>7ž•ž«gy©£&ăÃNêaüÄKf¶‘Þ ‘¡ËÍH>!žèXgîfø¶ áÙ%”Kãcqb[Îc›ÁAx‘侊“90Ú#E.ü— Å@cŒNÙðß>lÙwQ¼qJlª z?‡\TñûÌ2 4«CÆNªl4¡+´±5KË{Éj¡¾lkaý"YùvZ ýÞhHK¤æs.ÿX¼Í©~ÀI C¶ZõðÝÒµ©KBɶÕ\#±Ê«8tó²ñ˜ÁDÎïSŽ3œœ:aTÇ4ý8HñV8»F{JªúGÑ.®²»ÎÑB›¥,4†ýÎúq9;€}Àš /*š˜®M^ãU‘ñ³Jý´]ôg9úN¡P!Lç1ƒÑÑ‹ÛEJ»/æ·Ó4‘ˆD®Î ¯Ä#7Çþ;#’V’mÃå­¥üdË$h ÆAÁ‹Æ¨¨NÊD5§Ö®Šj;XÊp‘w€%O޵®Õ8×@¶S‘FMN4VûV_A4x$Ä)гNÿÑš™y·f¬›äP¥ ÔsjùÁåìí¹'î6\½Ó/k6Š55dÍ…ÈQ¡`PMs«›Ä f¶"´_¨Òð¬d¸ÞhÌ@¡P·'[‚ÛzÉVZ,ïh3½#€*ÖÒòòô z¦Ä[ï­¦~-ÇHX÷% @‰kϺ_sƒ×">ò<öf3o÷ê-6:ë[eGÁ½º½C¸ªôú#n#÷þ¤zKÉ;SðI2´03:¢)+A[Ä¥}µÌ nÚaâ™ÑÅÕmR½BÆv‡íR'éÃŽ"ÌTö"…P‘`JþÚœuÁœÎ]½ÏF )V»¨?¶=¨0ü¬5ÖœJpþ'ç†2(ô ÀQµ‰«ñ©©ˆ¯ŠPT k÷°*=hû0A³ýïä(”oÈg!ÿ@Á³Þø²¬à‹gH*]°>HÚÏI3–3-|©cÇÔ¹„×Ûú~¬½ì%sMPü}KõSÛÈU;ÑmÖvÿDÜþ‘ .îévPe`…—*…5í~¹ .«³Àï ªˆ7¨6Ô)î•Ø±¨‚µ~;ðI:ÒjöÒ+ì!q:½“ð˜F¬÷ò{äáäðé*EË6Ü…{õr‹µÍa…D©#µá¶=¾=K{óìšÁ?Ý Tkæ«Cèùx]„H´J±ãxÝúeõ¤×J¼ú–ÉÊIU`å#É ìhʸ…À©×òõû·Ê÷OûÚȩѤýDÆ•‘.øï-'}[Ï¡O£"¬ÆY²"c£TGF3\‰eåûR·r„–¢N7ˆ`Å#À;ÁÄ3ä!(å3„tȯCqë({U¿Çª¹íc, –Iÿ¼-)z#P¸si*ÇÔØCRM§CÏgݰÕÐr·,¶çʘriîÖá鸉œÑZ11½Ku÷ââz4˜ Šý˜ÎpNSZ [?÷\Sýâ9rçŸ%!ÄTujB´ãç NdèOéu_¿;ò¿íô1˪vÐÀŸ†â Ó¤2‰pGó02âÐh‘r»Ý›™†6B—¤ª´ÒãæwcWÕLÕ’‘ùnE+u–®¥EML‡Ñ\>kQ òáBº¿¾ñT÷iû”쪬OOïeÆ3ûSÈ6ü@ļ”´y[¯ê »Î…F)0?ÕÆâ¿" So¤pÊ.ëñƒk~¸K¼OŽõàb{f­@åê½ '8³ý%´È“æ#\uqæÅ§ŠwþpÖž.t=óêq{̈š¶»PcÌ“AJ%2XeŠþÑŠÛÁÏœÎÄ–d‰­vH89¬Â1¾º_Š q¡©w.Î?9B«.G²S\Ì É~qwá+* å|( Hát×ÓwæwP럜Ç,¿gà›8MÄè›;‹z6H–& „à:·{–ÃnöOMuÀpÆð ÄF" î-éVMó [žä°Ä¿­mʦ×ï$Ì®j£µ;øÈßr4Ë-­çÐVá[éäÅâ¼üð&÷cÁ¯²ªì|—efiV÷&ÇÍ\;þâÉŒ¿ÄÑ Çîbj prSÁ›MbežJÂx8F¬®‘u‹äáB÷ŠÏ;áíáýbÊ!Æ0£æ*gÂthNè‰$'zû&©´¦’t€Øn®óþ+yÂÍã“ €#G¼BÐDÿQ…ç$u› ¢*Ë|XׂKåRûVXÁ“b‰ðFœ`ô àT7YûŠlä/ç^øë hÏ:GCûã%}µàQ¯W9õ!Æüû‰b(¾V¡šUÊ»)ðµ•1f5›¶!çæÕ7+Áî—A²¿ºÞŸ³çz€#C¼ð[Ü—àB‘5/pšS èâ~A}Rà½k-| àÔÅ›„5*ŘT}—-ñ€ Ñóì`bBµÒ’¹0À#n)Ï©ÞE6$¢ë­|(íÑD¯ê«sïh8â´ø—ŸåÓ5íˆæd†sTˆcô*y'[ r»R«fc>^’¼Ë^+}¤û‰®ïÊqkY ã¦o{èt)…M2–]ú+ca¬à8Óû+–¨Å NÚݲ÷¡tgôX:BÛq®)céÜð¡xZkÛÑqKp×ôz¿_×+sŒžúP^¢±$BÁõö ‹ëö£É`³¥ìuµ’ß¾wÁn ³…¡ÒÚ-BçuhåñçK5±l€ýK_J>èÞç7ý§ø;>˜òa«` Ž~!ZU‰`„ÇE§Ùñ“:•}µD%ƒ™~ºFS©+¼ ûWŠ+¯ÝË)±ˆ”FÝW}»Ò`w ,q: —qó€{•b‡qãx%8qƒr/¶ú¨3Œ(mã÷÷+"ÌW`úÆI3¡°L–lió¥)ÊӀݔÊ2jФÁÄ_¤÷$²zzõŸ$,7#FîßË=7õ­ 7“)À:¢kz^•c³ÊElÄXjùä„ÐLÅ1È¥àš“hiôaò´1å÷Ì]®¯iÿ´ÅX6Ãi“jˆ¹üä°°ÀÁñZ¤ò¥ñg 02 2ÕOB LS.tŠëØLžCšw.6’tŠœÛ–µ+¼ ˜Í«uÄ]ºÑ¦»¦T±!k}Žž½]"Ågvxð´L°¡… zÚ5Z`± ²W©f÷Ä‹:/;wPÛ'âO1š<ñœ›5¿rÂ,n†Ì÷rªŒŽPNiërE TüžçÓJyYPk_.Q 05‚ZËNhî$ ðv<¸š‘õ}®)ͧ)ž$2†N4`ŽÉž=\¨ò܃öœRýÁl±m@üõ¢¨õʤeËUa†üe6CÄ·¸9Új†[ä®ËˆgUÒØr»µ4k“ï;«+1N]¸ª¯wXš–ìø$Ó_&mæˆpúœÑ©›ž>À'ûHS•ÂY‰è¨àÂŽU®u–oødP{}“’›÷§û¬aÓ•$=QNÃXö`q»I-vÓÎë’vÃÚ` í’Ñ–ŽÑÑj¢zRQn.QC°L¦Ty·”ûÕš©ü;¯´öÏXôéצëýÐ㕳òåšúDèG[ >¡'Þ¾9™0ãVÚíÃ’j·ovË\JÑ%!Áh%ÌHÇm–ìÈëå]w‡xþ¤kðCª·S ÌÛ¹$†qVÀçÆÝ#&Zà“–4ˆ-øùKYâ]~¼vφÀ 0òáä–‘õMÚ¸}5ù¢Å%×Iâ†_7î~Þõ†ÐUfŸï{Ô RÀ~J1‘µáï<~–Så=Pã†ÅZ¸Ï¥ífZ ð –Z5žÙÛÄ[d²X‰&dƒpVê¹®v¶YyÁ´÷§CLœ¤GjînÆ"‰—ÖE@$µ`XË8¥gŠó/Ã}/49¦n˼Ál÷H5ø o‰Søu†“.JuÒWaÖ?R:ù­ù¡ì'ÄÂ1ÓªHÅ;…pT¾Çî“ß+P#S411:KåÞ~ù‘¦_´ÀÍãü:D/ÖE#§§ÐïPM}°»© §Áv@2“çÝä¬-¬Àv+º;+ê­EP>%¾„ÿ3v-i¸¶ö]ýD¹ 5“¬¤Ý÷Õ®Å|x–x±É ÚÃ:*ΡÓ57weDå;  Ôñv«ÆôeÛ¹[ʯ¼ ÝõÊ#aˆ ¤•4Ýj–¨DÄ‘e¶lZr%Ìeã_F ˜æRðÇuÿ06¡Ö‹Õ³‡*âö`ˆG؆×pm ‘(ìÿÎö\ äåÖ¾ºbÝ'?–®ä§òéiPŸt×¶‘yñׅdzzaÊÂÓ&‡Î¾’vèeh{ÙÙ’£á³| éR½àŸQ< OBI0›\ô‚’ÚÊ|,·µKMl³&;ÖøŠ$÷“†PÒ:ÄEÈÃR_©Ð÷U#Òäô¨ƒÇ2{ÓȪ_è&…Iý£í\°]R’˜@Áßíµoô/`CÜ9°:5‹Ê¦²va4Õzœ•œ$=.™târX` fA-hVÑ*µ»† M¹.]*K&:ª„•æ>^¤åZTêV¹JËÆcÿ1®¸0OŸþ¼å†0àâ°É<¸}kEÙß úL í»ïÅÊq:úÓà|óŸ*5’f#ƒ¨Aô°+¬äd–ºíÃÁPüã ®_ofúwÐLø »áŸ5èó™J †ãT£ žÁüwÞ™˜|wwí9ÙßÀæÕÎ`$èOl¦ËµR¬)Šü¦ª.‘ÉÉÑ}ˆÁ"ö#žÖ?f^3Å¢(™¸Ï¡l{†À¶”…f½ŽO. ´ ×,pUp³È$x@^ý¿G*ßZ'óRd`ûú6Ïñl ·¡CÕþpz4Z^?Û‘€,6\ÄáŸk=Øv«^¸&´•L6a^,·Ó¢ªê ‰·B ¸§±>ï;çîÀÑɂƾ7§û/¬qpØ´ŒƒÖÅuŠç^¿qO>dí²`P)&¹>悹çÐÖ»,q‘\h‘©NA‚qK(ºôÕtÓAû€7§áˆüÝ~=¿iÞ ¨Ðâ½Ø9&û³`ñCá?ºâw¥vi•þç¿×žåejR2Ù¹8ë|î.¼»ÄŠ~7D¡â'ï6Z N$âîsk‹ðψ,V¿ÓO;bfƒ6EÛÃb…iTØ£¹øIVµÃEør “«—Á­ìg ª\‚óãLò¨|Hϱú¯Ù¬‚K¨È6è™taÞí¼ÃäÍÓajTb´æqØéì[aZožÀ[fCa¿SSMœù.ÀÅÅð¾nB¨E5î”]ð5F#ÔÎ ˆkIçRähœljf>*ò²¦·"a«}C“Pe±sº?4™P$µñ»¾%ÌRDÍ.æ4ByĪ9àJØL ýÑ›,&-D‰uSÃ]À¨ÒŒ÷«£»`ÙöÅÿ'L ¿˜“ŽÐÑâ9ˆuÿº–üdÍ L±‡¸Ã9çCw1ËU.aËæ8ò—šíH¸Œ¯l…Ž‹2X$0-áKÕ’ðƒÔ·\oFŒ¯¸½¢aZÆW»CcªÈ%ƒåÌÄpÞ™sµüêA“L>9,ìEÐP˜l‘<ô©¨Xœº¤OéòZÐOwhZ›œtxüõØ £€6ÉzüY—›)ªhŠ~ÿ!+óóT*ÍŸ"üÅ!Æ©Ü;ã°­õœ1=È€½ÄòBw%–¾ø›(È`1ùžÅ)§A•*òîNº¸NOƆÒ2I˜FU¹RVóéˆ+óÈ^ͳpƦãÿ^3„?(Qã®æå®|·€zÿصË:êBwj¢,y|‡Mš fqV£‹™LÚ ¾(³=B>S¾i¤=š<6”ô˜Õ\9==ƒ£¼zÔ "—‡ Õ°0’Í˺ɴf´6TÓç —î,U–hµõ„c§ÏQÙ=¾×Jm£p ¢º 7óp8æÝº“V¹a<ñcÜU?¶Æ°†â¦A7ô EÜr`£8‘Z}©²ò sôË1 #‚Ùm¤ÿ͸# ¥¡¾‡r‰8'¦\ÏoV†XÔÐõÈÒþ[ÿmÉ•ØÃÕ•Æ´>¶6Üðóº¥pÛ³ ¨TÚû´äNûŽ_5UÑ>Ó(¹j)}[œ ~}dO _‰lL bw õGI]ÿ<™öiðÞ¾ ØÈ&¾â;cXU}J)„^ÌVà¯×‹@ü9¹b®ìŒ'¨…Új7\ç4€¯p³C·®ÿ9ê¿ÎWhbD‡8ez+¹ÛìÔˆ0ŽiSÓŸÓÐöPìÒT&z³—ÂIŠ“åCÑàk %ÄÜ.†é¤‰ÅmŒ ¶Í›ïÈp+¤8&„T‰ª"îXGßáXã_Ø{/ÆM(¥eËtZI©û-ÎJÆݲúáJ)lŸh2Æ™A¥‘¦{ÛqäþˆI§nøÐþï”’z õ–çø€Ëv”‚ÀJþjóµË.+õÈK KŸO*j(☓ªïèb»¡Ä;È€6qCe€–›`k™ýÙÐy.¦±ËÓècZ¹Î€#HÓÊ:ž¬¿®•Ø8Ô‡r]¤êÊn³DÞÆƒÏ_Òf÷¢Ì6÷©È1[•£Éy&ßÛâzÌí HÁÏ»°ráâºFÒÓß\ÕWâØQ9]œŠw3£}Pð{]>†ÁÙOÑ…T@ùÔF!W»Ý@“S8¹‡Pê5ò³˜7Õ©"œ3tnq¥¨\(Ǿœµ'–\n,ηñ:²¦­ë(.ˆTqpB†$;XH@Û<ûgŒœí¤¤˜+\²ÝídůÒÚ•›54ÞG~v©K\Y²‡ƒge9ªÌ«ìH{ùØ/C¡†¼'­ö°WôïM?T“…‘TÎYÌJÂÒŒ°ŽåHrQ‹6B£z8È)@®èx&*?’èÅk8´%0ß;„»W»ó }²ž_ Vùøt~¶Ž$ÇnÁ› ]x í—]íø<£¢Pþ,ŸÈÙ_Ï SWzóz(èÈB&Ä[¡i‰å ë3–CE㵬¹À ¹3²ùÇ'cŒs· 0Â>o;–£_™áÑæÈtϺLLûOl¶3¿‚ mò+p‰n:ˆÓxF;‚›Íü)aù*-…‘ŸÀV3Lî'þß(ÖÝó\ŸSµ«îúSÖJâ{H³!¦U{¡ž«¼Ô:Ÿy#RÇ× R‚„þ‡àmHzòi]Ø„#´S'S´ÀÃi¿f†ü\»M‘¬¼Ë™È£í e~ íX¯Ëz>¿öPü·„‹Fà {/ðø[3 7£9·t²<åFtXø&šÓ°Á‹¥s¹Îî=`⡃ÏùÚ‰œši;0àÆ^T¢'bâ6Æ¢†î«ßÞp¶z¯ÄA­š*vƒ©X»oÃÚá# Vó H£ŽŠAÒ„o…7Oÿv fêÁMÖíxžã NW{›T‘ZPE>-è­ qšP¤fÂÞ¤Ðg¦èü€ù‰~Íý [€÷àŽ†L’`«Â`!€Ó Ö'Eº¼}{…(e$ÞIÕ}ªéª$¬Úéd ûÂñmpËjAyk‰#ÂéDS{* x|À:0HGºí»€¨‚˜y˜kÞæ€0ï–Ú±»žV-KIX. ÜG쀡Ua²çîSñk'5IÅÔ/0|gdä Ôn¾Þ®òꔪ…‰ƒe´áŽö•ºm¼æÐWôéà•Hþ!°V_@:q²öîSB®R=@‹£j¼õá!G!oâIÄ÷àŠå–Ñè_¹ÄuC°eXw7f€¹ŸV²û¦ØŠðsÊ'Þºg؈õ¡o¿„j÷G¨ZtUÌûÿÈýŽÚîd}·|ÎóNÝë¸æ÷²4Õd¿öêa$£Õ\Uº ÇÜžq®ZßXpþÃÈ2P+î¦xžâ´Hël?@Båx„\ܰoÛX)ÿ)ß7ÌHÙøæ)9c˜­™¾Lœž°¼!'˜¸®ŒGk ßÔ@,×ÝÁ3$w»;š )¬!ìC­{w¶>KcËÜÓ„½÷XÙEž5Â8\Š5ÿüJßëºwé¹*Ù‚ì€8 ÿ ?‰ÎŽPþæ²"•ÆÙøò÷ˆä**Nwp‹U¹*¹ ™*vçÍ?><óÑjÁÜÞF ·6¡×GÆô -—D~-í° º”iW/•6Ø €V\¶RNÑ•Ô[áé†÷;4¦˜­:Á!úU·¹?0xÏè­+0Ö•YžË/%Q°gU#ÚiIêŸÁNíæÝúho9Ñ©è— ÝbK¨Â™'g«CÁÇhcƒ|ÿ­ñ„°ãrBKÓÆÝK¼[KìAK½<®g {Rrf™›šŽºS™ÛBZvŠúœ¥D²·ÜlÄæ%ün:À Dñ÷%á‘àŠ.R‰•Žrh&·äá_Áë Ï–…ýÈ]I'E~ÚKZí,,Æô« ‰âÅô‡ÎÂÕù“¸¾" +³ºøµ~‚óê.ÄXK5A¤ç}g„)I+Ž­Ïoøê]B@=¯EGûnYý4f}ŒÍû¿ÎcGž›¿Bά9I»„L?Yv¸31]–´ãZÏ9~dfmH?ÏV‚›ÒúÍdÀx©ÐÈ®$)¹T¤Ý“']í"…/]a…žÕ§§vHpž˜É¿-eô_]+χˆT±¿Ð™QïgêVÞ·E%‡¥u žÇòE3¡%Í™žm@…ù\¤£“ÐѲD 8¶ˆ.’…éÄx4ÂÇ®Šãï&É´¦ãXvà¦ãš Hèo†ŒU‡}†i‰Åƒ‡ šÀYÑËá›4)K6JÏ»÷ì²G‰JwKün\/ÚÔYav¼É-…&•¯ €›Gð¬§ïOçAN…À.5çžø;ù}åúLOcb$LPÏÁªÃÛ¡G«˜Býa$ÕþyË ÓÒÑÿvQÒ³€õûÅÅO0Êœ6‚Á  ž¯ÉÒ½ˆy-#~È—ˆ¸ìTÕoW EWèq’Ò 4Ê[®ÎG­û_w6µ_÷&]t•ÕЧz>gI¹š E¶ÃJXEÇ"zïQÝyZ~]®î z â fÂÚìÆÂ’ϰŽy¸Ñ\Kß1å?ÃkÛË? C}gk!]Æ×§áK¢´´†è×4 jM ÆÍá Dv°D´¥*úë]Þæø»dDÒ—è!&9t¼ 0;2SMó§C8‡þM!–0*›Ã]­ð„VÓ0›xœI7I‚¨×£QIÍ16 58Tpé½ððN›É£Ï>‹¤‚r®tÂs>\½$“—µçuûŒ. ™`ß—1Á-…ß ÖžnPØ’ÕñðZ]G&û÷¯|¹bŒ:‰Â’¼ûŠޏ÷^Ççã¶0»ýXõ<õ°§áä-0{Ô*Ì$õ/‡+.²Ð¢ì6Ò“â8 zŸÇ]Z˜üWWÒ3Ú:;¸ÓÚP4ÖÎì6²_Ñ_ólW&_bz X1Ôèþ#Yã› 3sÈ{èŠÔDF@5jÈåçvW\ù¦R½ë­½amõ8H¤fùZŸçlÁRC9áÀm¿dLôºÜðZu–=èÐGôµk\’$£Ciq%¾¬:à‹©î›t¢*É…ዌ, XúÑB— ¥†y—ÜŸ{ð“Ô1â(»C ëÃó£íË‹·AqREÈo¶VŽf—q ,x¥ò£Ó|ÒM…YŸÏmÄ{y²æUóY†ž ö¬ô›ììó‹é¤u§T,=G^ªý¢žºµ42C‡JàÅÉÀ BéŠÛ‰ÂhØÔM­,üƸÈ5ßµw·H¼P±õדSMöüG=ÆòS“Ð8)”®&#ó~˜CÈÎhÙK‹@RòÔ϶™Ïlމx¬ë Ö·¥“ô54 ö ÐL€¡‹ <’Mýnë®È§®'z]¬³€::NÔVçšá„÷e¤ëEÆM‘Ìvj MÙ‘Kfà¶eï £·–W_ƒ©¢Š0éz9@Þ“‡%7-åIßb”¨gf^ééb0}À1º'’“Ác+â&ÊÕùü»Zï9z¿`þXˆˆ1$æÄû-"¸ŽŒê†ÁbkåyÀsK¤¾;ÏUXÅ™±Êœ£Œ¸1Yr›?b½Ù¾uyœ°cÊ™ˆUü“Àá?ê-|_ñËÞoðµ×ÇA¦6ZLõÀyÚŒµäxV>‡’7rˆÓµ7¡x} Ìiˆ(üðÈâdÄÓöÍtjÿ_ÖkXP¢¥¡©yÈJÍgOĘ´á=Ðù JÒéˆ*»ÛÍú¼œÛB˜•eL '<†t˜Ò$tS YÔËv¹áWrk*¿ºÚ”°¤·ÊÞA˜Btð(KAÙ.Ätša_ÁÁ‹µ‘õîò’hÀÏ™'n_óhOùê8BWjäþpé@ƒ0¡Ö‹Z°{7ôwþlêö’?DIV§ÕµûéƒäÖðÀeŸ3Ä{jÒÒ¨Õq0‰„„L%0LFòè=#Ó>]g©›÷[ßÑë<¹³x›?]Úc›£*¶Î’Rh’ŠñCuÅØ¥Šãùáõ)œ#Ô¾†›‚TÔÔܠŸ/— ±32ø²—öGo¨žmþú®©l6}î_ö–Áj›öM\o“Ü#zQ´%oÞÿR÷K½³°I•©qb²~vJº7Àp½x(¢Î¾@žœAW²‘ˆzI/þ¤Û«³²ÊeTŒ¦ŒyRƒ*\“Ô6ÖÉÔgOꤎHÙâìÇ>®,P͉D–÷úÒ)F"ƒj%@[tEëffœ_ñO~qÄ5}Îܶ_éPËFçr\h2¾u}WiU(‡öhE«ª}<‹Õ7s~gÉ_¨Ñ'¨_º¨ ¡[—Zym¹ð|6Û ’‚Í’r7V¬€ùÇ ‰'ïéÿê$MÆQÍQb΄E´ƒœ¦b5¥…+uêëÄP’M)½g LšSÂ^”‚u0#õè…“Š;Z4×PÝN+ gè6q­m8ý½DløT|»ÌwÛ›Š"¬x ÷%ÊŸ;¤¿‘?ÀÃßl±¦ô I€~ƒØycãUPåpò…:ƒ4Þß´ŸièèEüëXIûÉeîtôQ†Ùi@ë!•CÛ’Øér“c$ñû«.Òµw4—ªÜLËjS²2g\¥s¢€þÍà¸GT^\«!a…38ÂÆß½ pºÀφá›5¬ÌYZsñ-vLÓò¥mÓàiâ@£¦Ë ¦æó•"RÞ#}þíø£Ðk–úex“Ä› ,­=ìÁ ,©LÞ©›SÞ! ¢.'ŽþÇgcØ1ñ”a>dÌ>Ôg–Ð'+aï¬&L'•—Wã~ÒP uoèóq*òêðÜñ›BË;]F ´¾"²×Î@ö%+·gf9MKztgTT%ÝŸ-Ø+Pþ”ç™.§îI‡âõ»=.ò½™“³‹jÙù‚&ö[Œ¯ãÌfC‰•ëgVË^á×`ý…©Ô}§#‡ã8—…B½ð&“î«BÂz(Ϋ|ÐÆlEþJ……VŠEÃ\ª%“MCãùäRØÎ¹%üðÀyZg>æâS¬pЬs6ÆÅ(ð"äÙÛ~*tb]ž“ùXÈØúº ½c^rÓÅG H”]TÇì ƒ½û/âÄz^3ç-&N ìá\„óÁœ3î‹aÁaò-·vÁ oèÄpAž¡à S‰J@ãKr†;D°½†á757€ˆñœö<´D#ÀÙ †ß‘°ÌÅnÄ;ˆ’Låiëñ@ª6Flù•ÇÁ:ꆟ~ [Ò#;,É·~¦[ûeÍE<Ý­" Ö€áD N½dÅ©¾;Í'Û½r;"b!·"£ Æ+–~öY$+[Ö_oî.–ϧŽP¢À?ëý -ìÒÎJÊFVRGfPÁÆ"P˜S„Ý6ÍÓVÖŒš ÄìóÍÞ†4L×¹‡"KY-vM ú•YVi¹»'¤1c0¡-U±›¸çÇ oj^¾îÑM],ØÌNã]é°®¢ãÔ¯[ÿý«¹èpljQµ ÀíÖ›hõµV;Å(#{¥ëD‚ùc¦Ì*þþdy*T¾Kܵ²f‹4ô’xk¬ ë*¨@„Dgò–ϯ%m °”õp’£Ø© “§tœÌÐÖ#.šd,&¶Ó8¯ìzqñ—^·Oò‹`dæË‚ãûÙ·@A建‚·c¶\¡©ÑÁ­è{}è 7ó¢gWp®nÛ…Gì$¨id|ÅF¸ÐÀLã=RÐð®CÞþ—møùiØo¬7½sOIb2$¼Å³0É%úŠøÛÖM ¾ÿOñn½`ÄB4J·‘Ðó½º- Öž79ƒS‚7 þ¤3‘cy™@â®^ŸLCi\žƒ¬s€…þG÷š#ü†&klËcãCÍÇy„i™BUã_)ÁƒËV›Øˆ!F¶”:Y½wQ*­ ¡á˜¼ˆ—·ò!‘&öl¹RU²9;†åU¾Ë¿Sñ }MÓ=E4´ÿÉÍ"¢¹T"_WkÉ o–9ñ#Œ¶;aBÊiEXï ô¨æÏ[pôªòNÅkÌž$r×^Ò,gÙi=¸.7¥ošŒ£›pµŠÝÒ( :¤ù% ô²š €~Mñ44¾Ço“—^•ŸÌ{¥ÜgÈŽúKûTí(‹%ÁEgw<½_ÎyÅÃ\ùà:ÆúÁ’Ê9ÇM²ÖΪ/KH,êkú&aª%?/ò{ÃF ¡¿è ³p¡9ʧVg‡nµÇÚµäq?üî~YIŒ0¯ë_ÈâÞà¿ÓÝo}Üo“WáÔ ËÄó{ ïÜ,‰4özjŠY](ÖWtÂ[Ïô7÷–-@y9ª§ÑÚ'F8#^úO-T–n,š0¹ 9‚Iá››Ö_H`p ßËsJžºä(ê½zªõB,ØFiÍ8Èý!S'–ÈŒ©¯POÍ0£Ry\ãÊÖà’æ®ˆ#Î@Çgd¼_'óƒÔ®Ec¥YBÿõ%T²ðq€…šT¼%ýXy’\s*¯CþË-ª„ÈÓÑn ªf™Û’û!õÿW=½þÉt ÁPsZr8³'ôÁGi‹ÉQœåBLŠ—«D»¦y×ñ§-áX]ýUmK¤” ¤¥YÏw'úíœøÖ/䀿ñ'WÜÕEÿeE#sÈ\‹òñÎ~T³[•€kÜ„;Óuª4l½Îg{݉+¦?ŠVþé4Çmgf‚™µj§2íÚö&R-ôoÚâ1£úÌ /üÁOT›™ìÝ®Òrî®u• Ü¿×rÔÞæEy‰¿1_i#^ Ý&#Þ®áö®½)´SŸR¾&˜Ø_V¾»Ô°‡ìgï:·‚«Lÿ?wfàŒí÷ƒÔ²iý»ó®°1¬ÐsÂÓŠ›>¸loÀu5*J.“)SÕ²}ÝÞÛeC;M™=tèôЧoºvã6Ä QÎÆWy&1*ÒŒÿ»`„;ƒdbÀQäÛ\F%½`1ÌÞ*Ë7!î–Ž<’Eø±‡åÈž‰²ÞèȹåÎ;%jæ4Â$¯LbõF+nñŸ‹ˆÊ¨˜ÏžÓ0×(>çͤ–J‚ÙødX§ A5ªK—(šß9('Í„€çþY0¥Š ÖU 1Z#1oÐ\ëé„3$ŽçGû©}|ƒ¼§!°$I̬{5’j)0…°Õòrí&8ÓrÀFE¤ÏŽ,É~%Ð+RqÎ ï‡Íô¼ѶPÞ¹i&µv÷w˜¢–©¹´Í1´V–)2LíÞc1ûý_‡BÒþ´Ò陽m6/~/—Ý™¬§Ííe è¥.ÜDÛ³ªíÉ ŠHÛº9€ú»Æó°´Ø4ò« œÃyz7Èy#„fü¢h‹ÿW»§  zoÛBÌ:r,?BÁi ©‰ïׇülÓ#–!LÒ]5#Œ· •°*`¿Aœ¢™×,]Pî¼pl^`“I(‚’†F’ö¦Bp‰˜5îû¸’«ÆA¯‚dá|Y¨"KÄÙÓ—/›JL˜é¿ÜÛ9-|>o3Ã+M.@ø›9€ûÆWìK޽ôwºŽÛw@„ƒS²¥UOtCQÍX ƒ®ÉM^|».+ñCW~ÃQÀ€“**wº˜ê¼ÝùwØöâñ úñ±ýátùR¸õÁójÑ) Á/ÕClÎ81+d©›%Eb:uæÑ†‚—ŸÕø§}pÿ¬(‹ü)b^H%ŸW³ZÜÜ$¼ðÏ”øaÔ'ʪ¤B”[=n5ûrÚ÷}wÛÈ’<þÜÃ¥_¹º°vb ºèkYD¶¼´-E ŽÓp½ñùaC“O'âL½o+MääÂR)<Ú•ûÁÿþÀû_íu~®^>%åt'æä£ín‚ïóò§ìÔ}Njf/  D·iá|vÿ¦jö©›Í“ÆœÞîN‚Xdÿn­HåKH—)ÒßObÛñ¶K…1w?Ú5µðÖñXë·_%R>éå Z!‰Z/ ÚkòSŒìñ½µˆi‘нŽJU~…Œ1£lš–=|å6Öâ4Qä¨ÊERÉF›å²&(ÓÇªÈ LzùP&Ð(téÁ…BÞ6'¦^º|¡õU£)³ë©öá}ä1ÇTá'áúêbÖê¦g2=P?Õ_µYPA œcAƒë½ãŸ5ŒˆIx@ÄDqáÊ+Ðó¼ßXÖ5[µ¿~‰Õ0l¥dÖÚ©°Kˆ„A7Žþ/?ø9\&Ü™¥°¢æ¡r fûµÞ åJÛéLü S†ôÂAÅ&nýIºy€>Ï?z¯/ÿ¬ý#ùïÔ1TúQÓ¶ñúî®Ö‡\}ZJ] `gŽ”£#°·°Gº´+û­9¦,*Jšmç[@¯b’î0ó-#Yœzqó úDo»3ôº¥ŽÅzê`¨¨_f”•αyŠy+†ÊÄ7G>}LWiŠê ?m¶ÿ qŒ»Äîý€óí .¥•Ö¼d¬kë¹rY<£/κ½Ë{DYPÙÏþÝ9UAc‡×£!Ÿ}ª¡ÍZNv„[¯$ƒð»‘ÿ¯,¥ótÁ.Þì½T¯-ät‡›Â¼ž¦B;Dôsɘ¢ˆŒŸ…èHüÅuÈ~±‡¼DÐPö˜…é]À†Fï­÷ ýÃÜ æíŠy •5Ñ!y$rùíJE@×ä3™åešDò!T§µ×°ÊAÃ5Ö+ßbD§Ûån…ýkE/û£‘”ò¬á(B3è%‘ÂZ'Àš7)9þ¾Ð|êLæ åÝ¢JpCÐø“è̜帶mÐZS_Šœ¾ê`o€µ†Tíº3Ýôp œËhÍgSWZÂÓ*VD,Ìt*c©©•-âÇÉc >hãU7zë]˜m/׺)úA—ôxÔ™»œ&8³´ÀßuÊ|Ìœq¶5:ÄŠ^L☘vP°¼XÄZ¤¦f<ö¡ *r˜Õt(nK°Òˆ±íÁMˆD« M&Š òá&´ŒìIZÄÜd{*/ªž"dPu?OƒÑ;‚í€ÕArï¶Q_œË’Gý"“C¶•B/M\àÝÚøboþvÑš*²°Gƒÿ0‚ EÀæÔO÷“k&÷åÀÔK¿ñà6”¹R@¹ò›.ªAÿÌ‹v,lT«‚?Rž 2ÉÕóÎk›÷_ ßïÍÙ}Mßë?é¤Ññ¦ì´Sò‚¹ë¯o”„Ý™axïåH]á¯a#y!¤ŸTÅ…«s¥.S z¬¯ÇÀ‘õ9ñxܽaîíàõ©©Ij°<±ªÏ²@²Ý[ž‡pÚ$%Dßí^TÕ’ç¥{ztÊL½êíE>ʼnºÑt|}ZÕ¹Ñøb6ÝrÒõb0úbÄÑ?@b;ÎùÑDßñC9K[ímã¤C¤°£¾É=Â8‘´ÐÔ)çÞ8 &ÝØ¿}¨—'Qø+XÚ+Ê©$R#Ê~¶ÿé™o!¡¶Å®Í;ƒ@xr}&‚8yúíeJ«×Ø×³‘‰ûCò¯ìhX¨Dj™,®•0 #ºcö ß6¶à˜eYÞ¾¦Ïx|ç©çÕï‚0•òZ¢‡¿zùŠŒé<u§”ל¸’››6à¿ëDÙÄ“ý–-"ƒÇð'ÝÒè¶¢¼ÜY‚„:/ã%Pç¨*‹á.Âô: ®.שǒ\RæÍ[ŒÒ‰¼«ÉîÌQ‰ª¸ˆ’“tËEÓ Æ=ÓäèN´·hÃÞìûò…ëyӌۑEu™ƒjé?ò”Nu–øÿ:~!ç¶ü>HÚáÞt˜u&ÑDïh‚Ùzl%ø#gm¥h|àóƒ»Eè-œZö¦…Dе²ø4“U g}K€ãd¤¡âo—rÌ _R¬ %È š"7–ƒ“5‰üÌ"’{èãÿ‘‡ðëÇ6:*MÕÍ¥õÒ²¬r&›¦6Pë5=U4${4è¦WåX\1T€â§¶!î^GÀ{ËÀøö2¼ˆ´ËX @U² H‹Þ‚h\†4’¦uGÝ"OC¦72a„ {®Ëò£¢¡ökR)¹„”ÁýŸ ýœ|f­&!ÔãÄt¼çôžœuç®%€×F¶•\OŠM'È1(_>®~¾´€H øñaîÝÁ ’?Á&(Ç¡µ‰ÍH yÐ¥ìzV`0@¸Í”ø·(t#ÛÜ+û[Rr 6×·àªáñjâð½§s Ô(yZ4°ãß~‡–ýöR½×HN<«öñ—F˘%bJŽ*ÑÚú%@Û$ó#aƒLo/U¯R, k6ÀŒ6høŸR>‡‚䪎)Tn™…aÛœNw(ã "h jå2ÙL­!Œ+#`ÑæÙ–îíbŽ’Ñüò&/ç£M„ÌŽg7«˜O1X›’ ÊYŒôd4(ÚN¦Æ*H¤›O[Ø$Â?Nû˜Zð ßS›.(ìþÕÚ¤ÁÒ¸ÄÅÇÛ K®lé a­ K‡¸ôöã=,Å®„£éäxyß·!n¸Ä•JÖsíwd„}_×F­x£¨¯ýûîKöjyS,x²½q°Ä” &LUÜðŒ6#ÉሲÜ(CVØ Ð«'÷~¤+YqPY×wÒž5îV†DCŒ–òâ.$'šbÛ] `ô‚Ù*lnC‘F(}‰2ðäw/1¿ÓÎ&Á­?ÙþâO“VÔÑuÛνa=rÈÛ$§@…: ñ°-E–ÌÌQpàÑ ¨ž-|Ù?ßÛºz2?ߺUî§:r£)\÷XC@_ÌcWŸÉÏ4/Ç+1¾YjD#½;ŒÍHzyöøµc=»~V/âEßAS?4ìÏ7ÊûÅ4´u Î˜¢¤]+g÷*!¤/fy&øÿ<ý,ig?“î<í`;áÖ{lµÂ¸¯T oW‘ðº$"8¾ÅΜ€Õ“˜˜bôÿK瞆XáÎÿ™!BAÐX¯YÃ[Ô}Ï¥ãjê|? Ù!. 6íGôHÖÀ”û¶ùs1gnÞúBM/ñ"² žÝŸ;ÂÔ²vv"IØÔôZ¡reZ2(½Ð£Gáúh`X]à´\ËÆ‘‡œ½ÀecømrØ+)±q ØÏ³ˆ)Ñ;šÉ—Ïýéëô…¡Ü(Kå/1ŽíÄh¸æœgæ£ .ßoÈfÒe™…ŠŒ¼ÚUÝúàZ#pL²Gáªf9v’ÄŽÍåÔ X]VUŠgÀr>݈°Ž ËüSòÄÊa¨kéèxS‘c Ã^ÜòMC9‚aÀn³»—óU™øâe¶ªÏ}»ÿšá·˜j\HItœ®NòÖoqc§§«Œc¤Ÿ°‘|zooPe½DPtHÞá]û¿¥ú|¤¨wÅ›D6ÌfñqZ©¬ý߉£åÆ™’ðˆZ]-‚ ÜÛYöu¯*¬{€ZYârëÉã| K ±6øIS3s ‘Ø-èc¡ä„÷Š0½¡Pñ­døð§þâ^ùcY°»6*Å,÷¸®ÙëPI+¡±‚Fö$A½;ìxKS6§DÒ CO3z±€?¦ÚóÒ¢Ò5ý-yçE‹„Ä“&u†Zåa*eÕåéÑ$rÅ ÓXUþ‹ß-k(ê¢ÕÌË1FÀ86 ƸÉw+S bÎO6]âref$"Üs¸4DÙ`9fou é«Éê²?³=ÄÿY°Sž°!dXoØ+e"ävpYÇëx}T‘0§¢î4èü'¨¾÷ëú Ý‚óh; «kq_6¶_n ÕÙëÚhÁ ±wtzhCæá<=‹4ó› Õ¬’vƒš•ãG×¼]zúÐo¹O*̦kgŠqšYóµ¨sv®èùåÑøñâr |õ9ÅòUôžPaOÕôâ–W¹å~øé{ ³RIÒ‰ù=ôæþ¸6j¦åF.ðƒ yZ¦újÀ<Ÿ3üúb;?óå8u¬%á}Œöoüõ—"_ò>@A‡Y=·­ýi<Ä㢆Ë)o!Ók¥{!È¿uzG‹â0ð·ht„E ¿Nœ'› ûó\ê¥þøÍ7,‹ÛЪ}¡kóóDϰ:µ;¬?ÆÖÛ5uò±0&¯ª--0½êBD÷iþT^-`i•Óí“þ1×,|®÷'AQÂÜLá†/-BX3m``Ù“ûXúFÂY¹ã·+~V ¹$ƒ »ÜæÕ©Ü4Ï"K…Çê‘5'äq<·¡áOÆEVÍSV1þ–šwnÑ„ä Á½ÒvŽxÖ‡kÊ*ø^$éaÄ,5„r¯°‹õ©Cnì™h»¼u~Ô§¤ò Éo^%m:îI`>³ ø¤UALD î\ÏÍõ¬¢W©º˜·×ÄEÅ é¿ü/G© ë¡Å•HE3Ú’$‚±Ê‡4,¯^µƒˆLƳ2;ÀÀgÚç}º²5L—*^3ŽËùHZÓ"“¦ä§â\@ܹg æ©ô5ÁnW$ƒ&4ÀÂ&¿W…xýcaw™ÝîO궨öšm(ü‘Ó@]Íÿ äû̇&†èû(Êzq€Äf™*k„s—,BGÌ(H Oa¼òM‡vÛ%L‚éºø¦¢¢Å›¦N^0¸6r¸x;:f³È€+jXöXÌ´¦,’àS¤öOe>"‚ðaqÜŒaŒ/ã‹ãfkæêEE>ÿ{’S²<@åÌZ™x"âa}Ü ½õò _+^&K:LMK$+î>¥8 ͸’«nÞ¨`÷á1%iÚ7>P¶ ¡t©ÈC¢J)në›~Î!krQÃAýÚ΂³.Í«`y’)óÕÞf 7þð ”o1t7n»Ôès êZ”V±€3i5swOÈ]‚†jˆE}D’ùÐõkÍ/#•ohÉ’4½Þ®ƒiÍll¨$äpÐŽ@íôºðu¾€?v-|ÀœçdìÂS…żº_hœ ¬eÄ\®p+m&V+DÊ-jíf`ÃC±´NzZ¾úÞ®ÆL«&ä:ʪ oI˜Ñ/±-9oNOÄô\ܺâc[úÉvaý›"Túïz»7gÒ‡X¡–ƒJÊàŒNs®Õ‡Ž_ç²Æfuܧ­[±¡jÿ}š=½,d°·¡ë[ÔÔ,ƒ¤ltÆ òѰ­£–C¿BWäH¾y1ÍÆÓô¶>¡j=“gªOvKªH·¼“ÿiI…µê|Bþt±Æ‡Ð Èå‚/¨ÒT‘µznb,³P²©ä¼ì¦)Û‹8¨»)Èŵçïܲnl]ü‡FY"æi}¶dqÀ9`3i€ìtÜð¿Á¬)9n8öÊÞFgâL¼WšÕú§ óA3k%ßsª‡î3jµªJ…v¦‚Ù"^òf"RÝeÑ@²uÓdáôαQòY"YCb&ÌìžN~ˆ¬9¶Kêâ”Dóþ@ Gj^Ïú¤’мDÆV­†!ùñ\qü~Ø-3I‘Üúcý4CiòbV}÷ï›è4sœŠ¿ùd!5éîÍrYyíŽXI¤Ê€:ã[™z«eÁ™Ûçmº³‹deÕ‡{öI­ö˜Û5ê\L2Íåö^z;#`שìÜ'# Îfö;˜—H V´2Äw ³ úþ¤nÿ¾,l>ƒ¥–r/‘?A{>‰Ð§HÒ•~Gª'\>W•Æ?µX™/3TÃYû‡ßéczh\#‡ý#š4ÒèL{HG7•Ço&Úß9¦•0(%ƒûhºÓ«YÁÅ=²ƒZëÀ¤jnWVæ×¬ñVÉzõnà-€­f4ô¦lé`è5´+BX}Ƨ›´|²Jk8\’9üOÐ:õhãâŽßþ•6ùJŠï<”BZ*_¦L -ÊäÏÀ¡Îu<½HN—ü¸#Þ»ˆbWñ(í‘Uc7·P¡ùñðTflrhH3%’/Ëš•—Ÿ®‹µÖ‹¹€®3]BÑîyFžÁ"r R@ò2bo^ÑtŒi»{ çiÍh´—ÛÚEž”þßîvÊ”›n¤ÖÁ‹Æ•lšñ¨À­Q€þa71$—äýEBÊr”mþv5ÉÔ0"rÊ '+uÕõêo½™ ¨lAÇ;QJiå¼…ñ—inðí†Ó0`²ùþÓb£WñÜÄ“oôëäk€—‡û‰G⽩a³ëd‚`ÁÁƒGT|ZßS#O494ÙуIÂaþÅ#¨°íðd±‰ï•7«Ë\j¬,7’Pÿ˯s¹[ú‡m¶½p2¼jˆkAmI‹Éd肤uùs®Ù‰âøˆ¤ši;Æ|'À/”,K¯™Mç -«¿{«­ÀÊþúóŽ'>¼È> ç]B%C£Ð±®øÉóBŽEçiž6i×Í-*ËA@á`ýM´ŸC$µX50ß|‡-ôüžœ7ïí±Î¬n*)þZ­)¨`/Ëž=#[ýžvg0‘úÒ,Y£7¸Î¾±iýNÏÃÃŒ>”•;.’Ém õ~±Ìwö )–f黵§à˜Ùw (œ¹1<°æ¡ Jvô| o_j¹b Õ;çU1]¹˜£<Ķâ›o¨i£4>/h“zpl0ÃO‡=ZBø;G§gİøò.âã}ÊÎ øbö’„ªœŠY5AŸ¹'°uã›8ê0ÄÅiíø¾wÙ›>…gÇÇe½Z·„'iøì‡Eñstlº‚ZX»k 0³U2£§ â2Tñåñ®tÌðA]õོ<ð>’úÒô71OYN]¾ÌÉ \±w¥ãcþx.éþ'A¿háÁŠ3åÉõï`Õ`™ÔÔ”K@y4.´|U”Ãê|ZEó™çC²ßÂH· Kà\r˜•±ò”ˆ DwÁҥΌr¹ºÖ•žl9\_^8š¯ª5G°Õ{Üï®­žŒŸÆ.ÝšÁâr®‚Rö-Äüò,Í"½ßbðÐDê!>\ ܽ+ãËiŠA™ßÄùÎsŸÈ_)ã¶SR¸J¢ï“Å„»vxºå(µæ.Í+Å0†‚B¡ùã¶ Ú³©>˜ †ca×Û—ùì÷ŠÀÛ°î}Ók²°·)ïeëÁ­ º@ò¾[.ßkkÃÃô‡ÂADã(ìx‰Ãb&ê *v¡ž„­òÎó˳rA¬3Xvª}ɦ2ÄøÓpJW¾+Úž+ó¸2Ž ?¢_Æß§°™€mcþ?!5æ66[ëø¬©~8uO¿›5¶…M•(èf.ÛY)Ì!TVaK*2×lm™À§ö ÿBMé¾µ/ÂR•j– KDñPâ•+;¹=ÜW>o»¦sq—×6–ÔAÄÎ-¿ §÷Vkù‹fì3@¹!—˜æÊ©õS^lH±3Øü8ö©—­ºÈ^~|;Jç¼þúB28 ÈÑPȵíÜ\IbE¬k ü~ø)ªE—iìú¢~vŠª¼ò®ÿá]SÁhýð.̲¬ãvÇ:§ÂÚßþMê ‘Û5i3œ>«9ýð\Gí¾Õî_­ŽY}’ÃjLŸ‰mâËЈ$kµV§ÞŠ“]l¿Ò´tÚ`Æl’DE"kÀ’Y­…uÛÙø¼êI–'4oOt„šK‚¸™Dül£==œ$ÁùO8}¿Äfã¨ÄÓ•¬E]à–|âoÿ÷µ8xÖaßhÑíãšž×úÞåÛ¶Åå8.͸ ¼ÔÏó&u·QŽýy|Z6YEÄäüõ(gCTÝp漬m·+I¿!ÐÁ…f ÓYàЀ"¢N6CÌ™lâý  h{ÔžñNxw„Òω>1¬,R¨8ÒÂ0__PíBv¹Ûr_lo%sˆ3ªð}Ð7Šm ê!¥k$T1Fƒ9|·®“Ԫݪõ¦N°cÈ}Ýñ-·Ìs%Âæà«vãÊÁˆƒ5Þ g›ÝŠTjÿ©t}ÿ”ÚO1ÙqU#ïÆ¥¢ 3÷îÖ) }‚x¡ _¼WV:IÙÿ/om ì?Z_˜6´òYÔiYnt®ò‚½òFûe·Íóm|d Ñ[í>7ÒÀå«lÛ08P]óš$ÁèÁ1C@^ÌÞp”q¿MûüH% ¿F™fË„ Æš%xÞnÉŒÖPÃzånðP6™lö×ÂÕ„º C¾@LØÃ°û’`”fŸ†‰e¤Ë>/QŸÑéy àç¦Ù€ ŽÙPgh<'ÀM´97\I|yß3* ØÌ\«àzÄ}SN·{^ôÉÝiI¾gȰ8ßld™Y;ß2ÇÇhÊœ ,•_hâ¢PÇX…ür÷K¨eÅ „º5›æé²’ª Ææ?Óm ~t% >ÝZÅÓij/ÉZFSœAˆˆë…óZv¶{Œ;çJ^!'àO´Ññ×.¡£Ö¶£~mXMp72tÒ8ÈCße^U~vïq(C³ˆrţ̒’)Ò‡é•Â9b?l¹?Ë'åø%! Md&ºW:…ŒÜRŽó:{ Wç‡hÕ¥3ÓƒoøƒÛ“)Ä•â 2Ì u §¦°óf´iÞüU<-= ‹š"Éê‚Ëk3o—©Ù÷7ªUÚyä¶PžKNõ%嬜Ož†[Y@NàO¾ÍØ3Aé~15óvGÐaäNªíDª¦ØíûG™d÷ÔW( S ÆAùj/ç5­Õf©ÉÓ0jú_´ê'Öh¯‰äÃ;ög‹2€{È‹jHÎByÕÜ*xQe7[«. Ó˜R»Mý¾õBs†r² yRb@7¦Ç¿Yÿ#ÿ|þæ|R3s£aüTÈNxËš@Á%<°iÄû€Ì;K©Ÿ” P8É À+êÅ8/jq?£ Ña Am0ùEp¥YO|#x•dž@H‡çÒé¸Z Mc$ ¯¶5i…ÈSÆÆÈEáÍ£jÖt ëÈñÔ»ü¨˜ÂÇ„ÓdúïöÝŸŸ´*Ñ 8¬ºä”Q±¯Ón_ñ';2ä ¦Xçø ÊÁ\½³å&_•V\éqì>Ê ®U¤¯ÜÊKV½rh¢Û]›j¦´.ðoæTœ@{©Nq—p!Vª“mÉÞ^ýÅÇý$Ö H«^_­þîw‹ÛQ<3y[ßp.¯ªð鈼;žYí\H÷¶9¦“¨ÂµÄ£U=þ”¹Jû°üù—50ÑáÇSHyðK–Á’<õ{¤+éȪ›Ô‡Ú4ôH߃à¶àí¼ï°o¾©»™éô8‰Û4|Ó#,Áâ àœëá-tl‰æÞÑJŠÞŸb~¡æ)„™Ô 0D‘6É–nò-¸Úá,€[Ïš»&„˲Ã2—Elú(ÏOU²©Ë3ƒ_ý@JŒ;’†@ió[š –¢½ÿ#ÀqëIÚÈ= nQ‡€ïC”z/¸‹N~¹rV'`”‡#{ã¼ZŸgŸüÁ¼•d£?£mŽíùç¶àðôI™ ®_>|㯞˜}¥ XlÙM).¶À[ý§~¥»—H„» u…6Âs$½Ù¬ìÉI<8ÃÞt&b£PJôöcŠšôq…°ëæêõ ’ mž”g躳êžlüÚÛ0Çéƒvó#Që«â(Ž<éÐV´ôF~ÜsN£É´×ù\iî¯ÍB £ä‰×åÙæ-êlT/D;€ט8*ãBàïøþ(<Á¿6eíkäöÛîyZ>u,aj”:˜¢v´3ÈS ×YJ ’3ƒ0|ë‘ÙäZD›¡cظFÐÕØ¥ë›ü¦< ¬?[µ=ÐèÂqT·[ÜyÏ%VÐ1}þÙY™qx ”VÝ úúŒ’ž^˨qB@}l2êpúõ·Æ<ÆŽxH–DZa*Á4pn¬5}i?õf¶&óã›`©·ê;„‡Éù‡—8@åKHg¬ugŠl@ÿ­À±„éU¸ë+IV÷j<6+aC0Æ•Uý]íÏ(y>0Ug¥Â•ì‘‹>능lIht²_b}ƒûl;‡Id0K8-CxxÃ(üý†ÐZ•ø­çúêW*(¸Úwú7Ô"øë–Úu<çÅ£ag¶:¢Æi5¹æî8¾:b•g ÔrÙ¥IåëcÚÙ7•{dó–ý4½%T UÆu ¸gö|ý²YuÖUœŽøQû“¹Ä£¼ 3?øÚùÀ±ÀS0Û1U°­Á+]»mÓƒüh4ïKFò~ r´©-{Ó“íD¹b±$ü¤2‚ˆ6XÕd–ßVÝß ›þ¯ÜbµX…š]W‹} ¢‰ 5ð«®—(RÐkÝQíO”4zlBÞ¬v>CK’èvJµ!Pºb –©{´¦:ú0T妓 ß¿Ç[ ÍK»Ì/4 0”l-´åßH¸$Ò-槃p·{Ì3~®„~XˆÌ 3¡pÃÕƒ§ïz™%?ØæoW}?²>ö€^¯¡W†™†±:üaLC¦7j‹¬ÒêìG鉒,Z‘;É‹#àÍÛT˜ë<Âuÿ˜8ÇAf°c,…ÍÂSªá:è,°TrçàØéÊ1Ì9ýw¥¿+V É3 t&ð¨äC·×1?7¯jöÄ»ãë!í@4‡ò°gü~$€U‰ô <Š·}þ%Ù¨î «u7ÄiZ7_ê88g²Û©~URòLHÚëÉÌãÓº"Îó YÉ(Ë ü Ÿ±–ƒÇµ%Ìô™³ÀÆÂä)\ù”CñNÉ“Á³Í›rly—ñyh÷ƒ…ÇüQü0Ë©®›SÌW—eLŽ”>€û.ƒ 0 Õ­X“_‚òw ù—Ãv)·ŸÖÈøo"Îr%h“dzc×Ã~þ²’–ýÁCË+Xq4øÒtOp' ÂN½°>¥®ý¨¬¥ ð Ë«©”Dýý‡R²,w‡‰Ë;[‘®J4™Ikt ++˜sFÂcÿd–Õ>ÎXŒ3|}’e»Ì­±”›·v9!“t=[‚ !±ë¤\é)Ân#{‰W Øšû¿ÙarõOT_å`ã' ÑâÒ³¥7xÙÞ$Pרœ–­Î+ÔsÂ]fQ<#Å-)Xƒ#*NqäȬØ%odó“R’e\ù!§÷a>ŽêRM£0H×9Eq–о><ÝóG±ç†FMïŸä¦3Øè-Ò°¤x§|Zk³x³%T¬sH_¸ó¢ Ä­>Ð@õØ;{Hk‡ñS‘èÍÒˆMÆlTú$æ%ì….¿cÆk‡2¡­]JȸTâGO2ðr eÝM¥Ñ¿á¾gqè|îqùõßF Ø×Y* §ûfN †µFQáFgzŒ¶…o÷Úßjˆ&6™…ç~¢­8%;ˆî·šÐ½µ4wsÀ¼?Ñ,]„Ÿ8ÓŒíÉZýÒÙG‘B4nIµcÎé¼Å¢héÑ[žL×'»w)KËÈtÿºõÞÈ"³DF¿>ö“÷•,u÷hBúwE¼ ÃÁ^üÕ&W~Ø!|kjm—Á3“žO˜ê0¿RO´W%`3ßÒ]uõÅÄV,΄’Åÿi!ú8Fßøö…‰è×€”kráüáèEˆÏq à¤Ì³ð$œEŸð'b¶£S ^èºÐÀ§éÉ|O‹xFO†¶ÐF²$ºajûeý®Â·edE%¤m}í±sós寚¾ »BÏýSWLv;jMMcSçÁø5 ²{_ô¼`ÞXF«³­¹¯¶Úèp²Q»·}»ð…U"€òül‹í3Y’V °q{,´%§ô|V"5Z\¥y»Õ†Ué`ˆ}X[g- êŽvPamú'J˜I7a·Ço¤Ä"^fËìP¦ì€¡¨H^8 ¤m Â2•‘-8xC´¿,‘ŽîQ´la)yKòv¢D$b…y7i Óù`+Öi7ú—ÿÿ È]™Ïß» žyuoPÄ=jT$‚Ÿæ‰nÀQàÛøÑuŠcƒ³ï]SÄÌ/n`ìÕfÏßS{öüj8¿¶R+`Àù…¹‘©“¤ãÀéa¥ÛdÏ^Í(Cõfb„¯ ýr•¤Õ\&¨k«“ú`cGžå;#…AB‚*èȤN7ìéÀQbhHæ3î†ÇØ@1‡Žz¡$èa¶žâ^x(ò™bgäÊ~X¨Ý—öôi¼ŸÒ„pí?9s.Âðë©nhÑÆj¨0¥‘q~;I#}ãæÖ #–NÂô.J"ョÿ(ê<òjim¯M‚T ’úp×[œI ¿qý hK g `{¨Ý}>#‹…ñZÉIàÈKÌÔ’\‡b*µ–p¶å\’Ç:"%ý¸Ññ¨A\¾ñea6[jµzÅŽp?É{×»òIRé“1ÅÍPT[(“0o`Þv6—{x*¿ä¨6ßÌuIa‡çð{eUIH^DEò<ÿÞ·-&¦Q†"i| çÆGç§„p ôóI êçÝ …¶¼lå?·Vèm}‘ móà ±„%U%g1é’h·¸òåw1­¿·¬¦Tètß4á@FûV°Ú»žV§¸g'Yvé]<<_µâZ¯¤ô% òëu_4ãÍ·w›ï³x2Ê ¬Ï ¶\êšÉ?Ö3ã$_]ÖàÈbG E« 77Ⱦ ç3°“s€¹AÄð¦/+ƒ¬<™Jg­í¢­%Œ¬@н¾ÊëÏg3¡.'[¸\€ [‰¢à—Á¿>Õö¸j+f»ÆVh&6)¨sÉ7ýtÞbQ(>v7¯qxþžV2 µ{¿/”KO²É+`‘ñljžKÓÓ2Å;–e¢¥iŸgÜ—…WYžœÔ2µ ½ÜNõe~#w÷“ƒ³o–+˜)B×6KŽ/%ËûKü$óäã@VvКl¼ A‡ ¯¥Kp Lè\Ý ß¨|i~çT…-? )ù% Q_?×{ÆÄÝFÆ2÷Ù´-7–!ïsJ$V6-º4hz†ÅÞ¸ oï-˜€\°O'Ì>¦H$¥¯} çÔªqàcOUï¶ØŠäÐs ×Ó¶#ÚúäŠ"ZE¿%lÀ–ëÛ©ª†€è5˜d+äÍ ó\›äðp.—ÜOø¢Ë`®lE{µ–bÌa×Ò%œ‰Ô‡Z‘Óúv~I’{™ñ|Àb7¶¾¡¬ Ε(šÜ`•Ý{ÆÐù¤%>*“²W¤Éǧ-!§• ÙdøáXfoÈ:ù@¨e³r¾\x¢]|<ªÛŽ¥?உӕŒ-K½Ñгê{’u¥¥øKVù¬œ¥Fvw[ÙžÀRÞk†1®23È™NlâBWçãi”›Ù„Ù³ðIY±]îáRd˜‡°;Àb;gOÒ9Ú‰˜†¼D®hö€—ä†-r‰<NöG¿A§yL”϶Ù{5,‡1LFRÆí¡«rg|Å_Fz×HcÜšïJäõ#úxHñ;07V“†•É–Šr»:>[=ì>tbý ˆ,$joòôëá%™÷` ¬Ü72”ûSßz ÁÏ3KÁpÁ.ÕÜ ?HøÛkk|û¸”$Œ2ì@;ÈL~úWiÕ½’R ­Iƒýóvì)VÈÞ$!ÃÓ‘ÏBÞ&w½9”aÃõ²¼º~0?±áí‰'4˜3V"]Ùø¨`qãK$I飽Ýd¸í¤ûâI»å˜˜k9*¢û”.Ža có‰8 ŒúÃÔ ü0\'uPk0ìÊyo‘sׯÁ¡þR„*å›Ò ¼_Z†ûSvНO¯Ì¹¡Òí{—éÑ»h@C‚®<±!¿5çß«¥ß£1#îV…!ü×v ؃ ¹¥Ù/ïÄé3èu½ÜÞ~X„[›8õê=0b¾_“¿Ã·Ð‹n£I6Ý8 G×ãb—éaz*N·Z—ˆbB„]ÅIwÜ.„Ô·¸ ¯™½¨ªD²Fh1êI#=ø¸Æ¥Þ—AÇóåê >Çñ¶”&š.À2ák°†}hÀãutMjôæånšT¥ÑnD0ºáѱño­ñZ½u£í˜jzÊ6Ih½qÕèj²$“òÅ܆Ž@óá¿»²éâöñªæ6ÝXÒ©Ái1ä}* è7!²‰óð€žÃá ”†ÞÙýƒa¸@O(z]¶Ž“ôö ÑÍñò7·ï—t…󹕖zaQÿo¬C‡¸IÄÎ $à1´,+oã±\…;èÿ'Y„úq%{èç~ wfˆÇ|óhêþGÖk V œjuÖ·Ú·œ[ázÁõ‹†øNLXÃ@ü 2» †zÜ|sÖCÖòe¹×ß)ÄçA…•Ã_ìÏ~âíÄç¥ÑSPQ¶˜Å‚S®²`_)D"™‹—Ãy^4rÑ"Ä…‹SSBîøŽÞ½BÜ0 .ºðÄ_p‹2<1pìVùÚ/k3¶ü±½M캺ñMK"ÃddÄ…ˆ¦<_r°®‚c©(ÂgfË{kã­¼mv3>–¢¤=»Âèéö•âSÔÀÜ›ò29ÂÎ~ïFÕêFñ!‡&øå'؉*Òj6¾Rbˆ¡8Yw%¢ø:öÓÖ¹úWÇ~\‚'§Oãsøçшµå+^·Mÿx %ÝmËQNL©€Ž1bY>ïVfNþý!yeî(ØB‰qçU#_5Pì¿<ã\Z7>ƒBÆAF.Åß2LdPwjcŸëwcEenc.N+)”Ì]}f©èªðj° Ž÷¶m“ýU5vvëŸÈRa¨Ì~ NÛ£ÕîÃGì´Z4D2Rô*$(h¯'ð~7/ü詧[w(<Á܈‰˜ñæ°ºÕ¨c·£fˆøÞåq¤˜ujÐ_ÊaÒK y²8º„†ßsý¯p„Ùà̱ó¡ñYv€ EÑ]óe'òÉ“ÅyQôeÎßܪ0£6¬0&ƒ~ËKHV0a:mj#‡ûà2¨nȧxüÊmæwÿX£é}eÕ¿Q6~(+Å«ßiÓã5“ܯ¾'D5Œ ÷ª–Çö€·&ÚÝøÞ—4Œìè€ö™”ÝççÉF‰U‡}?•[®¢jh©VÈOë[¡ïDa>¨ký¶•»Í  óˆ°ˆ§ñ…Õ§¢úGqsðÇÀ@ëY’6 )žÂvpL3£TPo¤”·Ã^›QÙu;ýýLé—È2rdFZ÷Í¢fš£ã–踿»Õ$‡˜Iî$S29•¸g̲WŸ´8™,`©®ÕœørƾIµî|ì ÛÔXÊ–]?N“U$-ÉxóÔÐ~ g&ŤCb(‹(xt›_"ñð3c{i~0–³³«]‘zéT·p|y"*Çô¡¸Ó7²áƒj#D¾<çEÔ@xþÒ<|Mˆh.ƒu“ç3ãzNÞn°žnE­»ê`è°„qŽ^°£5Ž>{1¢‡šÄ…ÀßÃX?³½­çñ¤0íùí«‚ò£Õc žß‡ PÑžd5a3êr~¨3 ¾"9PŠÆêö ×yLe8¯XÂtÈÚ>ÀL$J‡c„#D!Ë¢‘ ¤K!ÕÌR·6ÂÑo_ÚS–qÜóziH%&–’aI£×^ÐÙdŽ%a"©™ü@ÞÏ=”•Kieýì?‘`H1Cte+j‡ÿÌù¡,àb‹ ®Õ3H6dÀ!ÔX"v­]§™ˆþšrdlúf¦ìvL[ê‡cBèþŒ®­ëõ·;¡2µþåH =(÷?"ñ”Úörœ§i¡ÂP$…b1vå‹Ý¬@c3l4G-âPÓøÍ-„ržÝx¼Æ°§¶Á¹gŒëó•ë%\h©5i60Àh¼ñd‚B´øÞ†RähB§—‚¡gqFuŠØsnïû™·¥¼C³ªŸð¤DÑõŠ5ê}À,É¡æ€_ßÑ<ÕÙ‰yêí¾u‰¯<Ç 9ŒúÂôÎŒÓ9bÄûqþ–×Ýùsq Œ%Ø8¤çO²ey7'Cná3YxÛ6ÒJŸªy…— õ¹ [¿òøì7;ÔÛÈí9r ù³ïÊÕ°ìJ: ÜE\ƒN"ã@´C»·‚Õ˜åK*Ý[óŽÙ~é½?±ˆ “ ì›Æ`,^,U°Ób/ Á ‚AÜ Ü­€#}R‹`Z·[Šà¯Ñ P™‡ìÉÔ˦CeZbÇ% ¬%-UÙ;Öëù}îrr•ÌüúˆÇ«õ’¼ÀÑ`ÍxãF°÷u´(ŸÄ¢³~87w‹Ë¿àÀ—×ð<ìG5uc›ÄÃÇ4ÔWi‡R Zð„'“}ˆH­ÙWE‹ÜlZ?‚R‹Ìmå‡z_m™€w%S¥ ¬ÒÝb¿—Z…ç¼Nrn‡’˜¡l¢…ñO^Ç0)÷‰ÀÑ—ÅicÑ¢…z˜eÐ13Ã%Û%Ÿ¹ì3ØŒ˜¼r“‘~jÄ®ÉÏ¢wn:XõðBAE­3ªHÏ`­KòÙnŠÏ×+…¢vœõ½–=ŠTaòu¸o•YûgÕ‘É+¤­vWÔšLW'"2“iÊ$Üñ¶EÁÙ!aûÄuè <oïBe½ýa‡43ÑmŸ©-ñl ³-Doú£Ö©“JtúBEnE©j4½õyŠK÷÷]æåüî¬îy”W?Xj÷s½Õµ—ix¾#“[ÅêRýÁ Ö’"xµw'Y`nù2Ô=¾hžþÍ K ¼Žõhï&2zX°)¹ ŽJ@Jû³øÕ Ÿ™-‰8q@{—¸T>g ×ø FtÛïeB2zÈ›vꊬÖ¬ÙO™õOÞ©¾—ÖÖųÝê2—´#ÏkÕ@`m6Y­rñ Is`ð3ÎÑdGªä¾“f[úÂÕàDsÃþßGÊ!¹âcLˆï˜‹ÿã¾è›LB—Û_`Å.sy°~üî=¾åó}HiL5Ðu óyÏÓ‹> ÈoC•ƒœæàvV¡¿kêñÙ¨ë‰%EnzJÞ”²JÃ)æ›à5ž|ýÀ¶ 60m úÁêÝ)ðJš®5ëÎù3ìʃu\ô¢ Ž9ÁšÄ£@(úµ”oïXE·T0ƒ¿¾ÏïÒ¿“d 0˜Æƒq³©£¨Ý üŠY]DèÔ[bu•Ðqs΢^¨Ö øCî×v )JµÎÃ*œúøó.™¬hצž¾ÙÆ–—û}¿Ü…5Å©³±J‹[#Ã]½±<'¬öœ±¸G“ÉU§®ålU¨BðX[#çž‚ô{2»E| ™öY‚´µçUÐVÅź˾ôµ/&K´xH­üä 7Ë…boOÀÖAäSF©‡!púÇÑ”8v`3¯ók~Фî¶~’w— +‚Ç¿ÿ;Çpµ€FÓ0f¤ s»ãá~Í¡|5;Ä”r<`ï²]¦÷…ˆ©ÑZ4g¶ñ—;%«Á &è vËâ0ŸÒɬ94Ô“õòç‘Ú]âò#<£êOÖÛL\ò‚1ªižyÅÞ¢Ì Ã@5b: /cH|;ÓKmÒ$¯a•y;Ú ”ÜW¦ê̱ ˆýœ×wǬM¬Â²ßÉKÚßøï¤eàÔýQßh-ß0ƒâ‘Ô«+L-èýz•[zïFŒÅÑŒf׸VQîß½IäÍßLHÙß¾£&SÖꪛíÞÞ¨ã½E~#»²¡ÝÙìš?Ÿ$™‡I±ööôè1pî^-Vb‘ÓÐãR§QèÐ! ­IÛ«¥gI€ß}x§fùïû±T\L~N,q÷=†lzÙ>ÐSy×ꆧ™à§‘rÖÄà&W·ûy]ÖÀ–åM­€Â¨Ãí ]@öËúŽBíòuûɤ0ò‡–o¶Wå_ÅÂ9XÆöt_”\¡j…Þ}m÷b v|ub²¦ÍËÞð$1ÓƒŸ§ôa…Ëü"ËU­š?@$”¢Çî$Î쌘=_äQ*õ²Þ”lõùYÔÔð/»2ñl¶Ž‡­vÛ:@×üÑÖÜqWä0úeňÔFbµKòáo&Ëä7ȸ¤CÕ,Óëèžïpí€7 ½H/"™0S!*>S̬a.RúÒ¸‰øÕ4?4‰+-ÿÙUF·"LÅréýú|§dXëm‹Ëøp˜?‡¦ —ÉÈX÷[¹EÆyu9@hDØU-­,9msÏüŸ¸G?Õ¡ëb6Ègê1O÷±“–c„âù ’׆HQ!ÄBï'D‰²ˆmÖ@ñ †{›Àabõ ìɰ ‹FN.8`²µQd÷­*Õă ;duRQ˹€rœ™€‚ƒOò0í<îöÂôHêÐsíaü-ÄÁÀ"Ì*1íC”õpDŒ$ÑŽÐ`îGÿYØôáñî—HÉ÷ñêVÑ ‚Ÿ•¨'èæy*WŠÆñ ë”àí‡kûRµ`ø ñm ¦â5JƱ¸™çF¼~©Õ‚ë®È à¦.½B[ÌTQL ?BÞáïçÚ¿fû°»v_~iÊòŸ­Ö°œÓ=>B7g_¤OØ"Rinh^ª9m”ÐÊÉk½pçj_™Úèš–üUã2‰z2Dý‘åxüÑ™ÖÊ<¿‚«AàNØW!ò G6Í5‘ûÓëå“¿üºq«¿°zGŒ´(1$îÿfÚ†T˜±¿u$§Ù÷qëÝf·Gë aÊ:7Ò­,È fÀ¤tW{7ÅÁ2Ž0’‰SŽCJêBœck!P(Øš#·NöÖORSüNÈëJòû¢Võ–v—ëá¾.ïHZŸ%~Ïg6„ õ[ß÷uFíâ² +‘OˆÐHK×ÛZæÂ,¨Ÿ+éÑF¯-Êü*´í œ’¤HÞëô ©ô‹ÕºZ•{õc\Â,¢7[Uª9×›^š”¼Ëá‚ä7x•j ]Ô©zÓjºö‹Ÿ;XZE`^Õˆdµµ ‡¦r?™ÝVìy  |ÕGYl#Aói£¬œúzÁ¨Ça ±ê}!o÷zcÆwSIo‰6+]²¦“¥××sÁÔÕ;x‰[˜"0-ôlÐ鯳 ¢d:å À±ŠÀ0ø=ˆ¹-«œŸµ ÖÊù¸rCÍñ £àxñ<]⬖-ßI±bp æËgs ©ƒ(ª˜‘l öb›ÂsuO {ÎØ,Ò ÿ«å¼!Õ©Í´iz‘ˆœá‚:O(ÃómÊ©‰ï«žÑšœqò[e°u6\ YË`Å"fÁí7gÎÿ†“$¿ /"zƒ^ %‹MIà©«À™vûtGcø€¸“Í”ÿ[3‚Ípç#´Xôe¿º=8âIÖb>kØÝʪ~Á¢ÜÕ- o ",`1Ø©«þ,B ß8»‚܂Ѷ™&:›ysÎ\ÚA^×@*iqó¸sl£8RûÚ PâlæVÅgÎuu˜:tw"/?œ'Á-ƒå+Ðoû=õKÅ!ÀšÆü‰îåà´~UO,ÛÄ#=rÐÙD÷± ¨ÌÁ’Óf¦¥·0ð÷ JåèCïÜZm‹Ü´mÞêGÊH»i(O…¯ûåÂñ³2$âù´)Ûï5‘È7¬A”¥$P4ÃkODÿ;l9kLÒ‚µÕÜÖÏÆì3Kð`¿Jxg þ Š"TÜ ŽÍö–m÷Ç~ñ0ÙÍ's:ʪ>º%’ÿXÝÊ'‚œïO¢)ÖäŸÞ¤§îéÕµ®^Üã˜Ýn8Öd»ŠûŒþƒšqt¹(žLRZ n™*Po¯&‰²o}1Á»1Ø8qú/ëˆH%¬—DÁ’åÌ-|w7Ö¦ o+^a;û}r­ç96 ísxá}¸ vð2ö0˜ì{IHTÂçÏQ"1ð5ÛÑ뽸j²x79$öÀÏtÓ>I¾d´¦hýK†;¿®o ÷»ý}Æÿ“™–‰ñ„ÂEµÝ™¢4½ÆQš‹5Õ Q{{x^æîÿ{“:Ds M¿Y‡és™Ä‡•2p¹´òºW]ò]gWAQ¨$ò—çó™ç?ËÇÞTèXVn,ò2!á€VªyX62Gqå¯þ>€‹;Œb`µÅh;»G7íTïp`‘Š“öOH¦°†PU©² ñôZGÔá$œNÉ+Òæ·œþ`4ênaåA29Ô°ËËP+dÃI¶ QZ=±º¦‡Á®øj/*zÒ}¢Ky+ 6HAë9Jù·×ù2»Íí“?P· žô~uH„XC†á†^»di›º6“«‡TÛlÞ¼…Qx#–u_X^fþtî a'ùÄãäÒ™.Äæµ³SFàÅçªòš&Uý1”‡V„~\³%ökÝî@SNÄdˆ›55ÚR(ž!è쨲>qò,Gv–ûÑEQ{>8ØÂ"Ì¢Kš–>.ŠiYÖä¸+öbÏš’Þ()V ,«½pÆS±£É^ Øô¯úvðÀú´høâ)íff•ó̴ֹ±G¸0P»zc›1Ó“Ënº/}Å!³`´Íü %}@ƒÑÎj¬ÝÀ`»ƒÇÆs‹JBûšáFí\÷ž¬Ž“zµY߉¥<1U†li{•ðÆ`©ë*”älÍ0•.9ŸÇ÷F–/P Ï•]EÎÇxýGæUÁSÝ„¬2b´°J€’U½è)î*8p ,G„,%²ém*i½´x#[w»ƒÝþ’*s]¨0ñ­ãÛ%ÛÀógô+RéFÁ¶ª $¸’ûà©ßÁ9H }·Da¤‡à5#GáñƒGuðnŸ)$üsê‹TfQ5šÁ ( ¤‰ý6VgwöàtU£å¨c›Ž Í7ŒÞ2­o‚|LtX„;)Ù—á¼’ÈQj¤Ã‹*&•e3ôa9!ánSŸá´Ûq†©þ$²[k—oi{ÓÒ§‹ašI=ç8Êuk€±<ô6 6+^ˆ§SÔE#Ä3”LÐAäð·yŒÄ÷ QbP’©o¨“óÙ£q u}8YV->Ëïcú c(îG½À¾©2áñ,9L°PÕ÷MœŽV áun0~I —:‚•§3îBO¼s"®ÌM„ ¼iX{Ã>ÆËÉï+>¤Œ3ÆtZg4§°E -9± vŽÓéA§©4DôŽM%ͬ9š÷dزhêDbB¦B÷ÆA(Ü!„ɦ3eËüó º$jA‚Щþ¤¡ÌxšþÃ)'# ÉÒì^HèðžÖÍ ·ç÷ùà W\~¢{T3nLÔf¶Ä}ÛÈ3Š>ác;>kÙíôf@pÊRô;0™Wò÷ÏõEúzÐäÍ­ž“1°B)(Ž·³Ôôô¿<ûMJéürr8m µæÞCôNÿEUÝî)â)Â×<î(e^’qa–Ð ÇÑЂÙЬǣÿfÒ °†¿[Ìô¤ó”:öçjŒU*B©» ™¬;‡_mKb¬0@¼»+¯{ð{6žK¯>º^ X˜/åÆÞ°;¤g0â•ÉÁ´Óè -Oìƒç]¯ 1¶2÷«˜S„Zl¶²cÚje´ì[oJ°3T¢„­ü_â.âJÛ£}Š—ÉÀš2nqá­£ã7.W옵B1YÉÉNÞþ£Â`iaÈJXwßì./Ál—‚ ÝþÐÜ ER¹†Ÿ U´k%€µPûäÄŒ&¡à^Œ.X|¼"Ô<}ãy›A6o j"7Ù†ÛtíÌ'HÀoi€‰j™eÕì ZH«ý”róݰJMiôÞùý’ÒôÀGC@8ÉBUÿ8|x ÅbÑB…fR(ï„üåÛnd?x+S-|ýn—…WR½[æf°å“ûvE,Ùcâw×M ÃñÇ3‰µ<¢‹"Óö½É¹#¢YtI¢ x—ßЯƚꔶ×ûÍ5먎>?.÷ž&Š:ä®$¹dZ$ ›œªb‰åô‚Wbônðÿú^¿O¿|…«ÏÆ ëH^º!:ðêïp™ÍðF© gœ˜Š¬øQëÌÑ4Q“¿G}Pòk  îM<£Ý`ÈÄ¢ÿƒîÚ\b1楓\á-“…á…<$jçƒ.¨]×Bø`ó“üCW°‰iA;6c ÞÚŽšØ©\5ž E°ÖJ‡®Õx•Ž{×TéLЂa˜"~µgUà«J§àýÜòDå壧„;ÃyzÇF ƒ¹Ô­Ÿ_!¬CèŽÁ*‰l¨ž¦ì…ˆ:.í-™/C&#ùÂß”ëÈÙ;ƒÌ¤_|>ÈÖúÂÒgey"ö±ï (ž¾®¥÷ eÁqZ¤žÆêaÒçÏ6§îD‹\ïcš¾Ùöã­wõS‹¨Â=‘ì|øß íö¢­L‡Ó/õDŽÜ¢‹? ú÷`§n“öxŸh!–›nJ0’Õd RìE""©T¦B'óKü }B÷=œÙŽ11ÈPåóNb™$æ{b–æßÅc"ѰD] $q\’F:VnŽ_Þ¼G ©ÂU ¹ëvëDœ›¡|ø™ÛûdnÙC0TôpšPÅ2o] ¹É;j­)ß«ß-“¡ßp+œ%ú}ë˦‘&:h­3›IXo™Îo òxä†Y_¢TV’{ûmû<JvÀï€aå°˜™µ¸Î-Ža4Ο¯¶‡òD_¡I,Á1gË!ãÀmPu‡YË:8ºwúmó…î6q ‹æ…¸‘^7¸·P×ÏSÁnðÙR?”Šûmº•…”Öë4 ˜ˆ­0K@fLK0ÝvçTŒ Ì'˜_†âpɦ %#æYxºD_Õ‚Ë/äµÃ–øAšL¨ö&—Š€è­fC ‡.w}eAŒòŠá6‰Å­y±Û¤•–°ó{n^mñm±Ïà4}Þ ØØðY ÒÀo ×\HßÇV3qgVËwÔ¶^ÝD[œò$vÿáÒ7¤NÅ)y´ÉÏ1QÁíoøGÕY®º¶B=ÙÛŽZŽòKÎÆ®ùm¨ÊíÉ6 íöI«ikJ=— Žs÷;<Úd¼‚,¥Þ-¼³ra‚'“dœ4óL‰îËæ¡ï9ä/•(ù~u¬7H„ÝŒs¶ƒí© Õüf¿þŸÁŸÉ¾»–ÒÙŽ²Ù­ ~C3qÙ4rh8ëHžD_ŠQ$ø®oø@êðîPåÖïØÏusn*{êýÐ-Y÷[§Ìmêó|¨ØÞÂLs8ÚüŸ¦èÀê*â6©^V ÔûL¡Pÿ“ë:仡áðgXk++ŸÕÓSYi°ÏñÚe”£pq ^¼¢‘£@•Ç¢u²½°_HŸ=7Öú”¥§aïþ¨çÅëG[)=²<ñOmÆl:ÓTN´e® ´6m¶À;&lÏéI8*U ³)Ó}aY¡™ãÓÇÍ#uô»Ðˆxæ°¢ŒåĘe/½~l’ÛpQÏÞ—C?„¤‡zÚ­h¬ ,÷I†¤ h4«è8Ç ô~+lE{#Àí,!E¿O?‚ìØ¡š?¤ï7Ì QÄ+<PœÂ»Â:»)‰ñ·Ó£”CÕKÊõ#•ëË€Ë7ý>kÞRy¬@p˼ˆ{ `™e! ¡=‡Ct~o×Äý˜jMï½Gå]}·=°Ô.Øžçü" ¦cR÷±­=ó¤œ “ŽÝ8Ç&wLÙÄ~çØ,@¿ÁÕ L¯ÐfßVÐãѤdÐ|–À [lb¨¥wiZ¬H-E‘'–O^Û¾wÑ9¥Ds¤Grש]ç⻣Ê/Èèâȃ[SpßW?€an!qjLã±½ë»ÔO:W.×H8ñƒð=pÑlÞL±ÕÄ™¤¡Íˆ92yQ[Že£Â«H~øK@‹ÃEP ÿUrv•¯¤¸C¡û(Ó„ðößÖj‚µ ǘˆNô»ùáqJáèø ŒA›p$wYyCgSõw{å”^ Ï·ñ¼¯¸­eÖs¯’›hF ã\ÙÜ÷)ø-†ç(jœ¸Ýxr[ã.ëNœ®+ ê<2‚€*As¡åʦ Ò»8»í\P…1‹f¾Ë ^ðü…XeEdu†ô÷/`w¢|ÓÛ6}/ Œ¦…Øl‡eô6/üòRüÞ¼ø{_—”±šVb1aT#‚HÀ Á(§³ÆeÕÃp¢•E4]5éiícfiC©ª_zØÇy¬´mªF’[ö ’]Ð:é\^ö*l¿Š!‹Ž<êy•ž\'ñ*U¿s}º”vlG(T&þŸ '‰Ù¿‘¼ü÷lFó€UʦÝ΢çÔú$#o±mÔ})Q:aÿ•8A<Ã(× ˆ(ݶtñ° 1‹‹§¶‹8B2œÖ5ÉÒýxNîÙ?yyˆ};Ü¥ûªÕ©sÂ'ÊݼµCsÀ“5drŽà&ßåh°«Z(‹or˜Ý–«#„› –÷°ïŸNÕxTõŸŽ,‚bÉðuÈúÀÁûN,pÓ¯VÖFàvBɺŠu_ʼëZk_üqa˳¥Fµ—±ŸõŒ¤ž{êçm¼ŒÿÏ ~yV£3¥' }}ÿ³b«Ó•ÒÇRs#neu$¾g—+î<­‡u­Pu9•ެo&/œGº¬ÑaäOU€Ú‡µdöØüê<™rÁÔ àØ()¼*ÐM™ÙAËcŒž´¨†¨Cb–ñôÊ÷dçŽj#@}#QB¹¹œ>¥+)£á˜ôsr5û¼dv—KÐ¥Eœ‰)몮L¢¡ûWÁ»Týÿ2Tö¯ ãîµc_ñ ¯¡H&!%ÊñÖrM°–:PØ‚Tù‡ió¹{%õâ7´ÌM¼"…þšÖ Ï»ƒžü1]4\¹Ü@Âk‘m5¿AYN`gqÄM€‚ ùÑ¿2µÚ4ç¸sÙ–¼tTýªQ•lïöX{šÎq B³GÆ®¥×Ëp=—9W!Ö€7а]âZUBHæøÝÖ?ª?ä›Nø_{Ô—^‹Q•á+4Œ9ÆÑk²­5sžFx9VΩآºZ-Cž<鸀ïZÝçñÕçÛšp‚Çûoìšöá;¥KÄÑРà«KÕë.­"¡Ð‹èl|î¼Õ§w)ÿX¡*|Q*½:{Ú£={dUÍÜŽª3»g,äŠ:!*ŽvZ*»¸÷ªžð  H’U,î3þ6è¶áˆøãDë¸ãŠí—‚­9í™4X1³oYAº©ËV)M>uJPX¦æ‡^ƒìz]«W}ò;¢ÂŽtÓFšì·”q¾mW'NY¼äpöÄv;òîgT?{>ûjôr Zô2ÔÎ?¸ù®óóÔ4û›ž?‚î§‹Œƒkùd¬Xº³ªÆæGŒIèˆÇ°;l>šØI½æ ¾¤~ï˜Ó;–÷Ž—‘›ß'žÐÅfõQˆ½ ñÈtàâ»_sÅaîa¶ƒòÊÀkÝD‡ÿ&’7¶E”fOƒ¸úÖ…P¸r+çÄê‡â9îc<}šBv,ïPâƒ|ŒqËä$wsÔúÄ&4ÓyÎé„DY ÿM^#‰Wm3ñ´ûÃëøâ­i Ÿ '\¥‹6œ"l–2` É=öÉèG”Üèíp8j%ócÛþp Â_}CÑh©Rlö}$¡ÇöÅÝWñQd©q¢‰\po6ŠfoœýC úÞqmóZ»¦yÝ÷™]R©¢¬½»:—¥UfBPvŒˆ.RéUö•(˜oqÞ´1ý…NÛsÍ9Nl†;e<¡8VCò ½t¾Õ×`«„’…°'‹PÕ4tÍ[݇HAþ@þæ®7ìÃgLX ý¨ÛwN5¾l¶AËËå ¡ e¼¿–”˾Ƕ Ñpò[(àÏÌéFÛô¡S&£À`Ú{ãÔyÌ¥ "r.ÍÉ-Ïøv÷ªK‹*ˆÅ,øÞ¬Ò/ÿ8ø4ѵ2HÐÿƈ—Œ5ñ4±Å \¼DÑó4(°0/t3V4÷üFÏŸ¾Ýðzðâ–ø6“0ÇáäBK&®tÞñ.ñŸ„¢GåòÝÁ§.Üê`.äV8 ´ÞÛÁÜeÓnAJ~.t…²‰ü…BŒ ÑßÉ1Ü3PÚµÇÍ'Oˆú"5/ãèÅ1ýŒ‘|'dªªÌHœN®°0&’Ø"ô·¬Æ‡¹öwdÃ!ñº”z”à1žÉ8‰x­a€‘D2þàôj¼¾KÊÂJ¾‡S9¹è—£ïÈw*Ìô ß»—ÍO ÏV¡Wïç£ñAj®)Ng0|“ sðÐðct†RçÊöõ›õãØY,Ÿ Ùý™¾þ–ŽÓ+‰'«­ŠbàÇ¡ÙPVþôœj<Ï9¹?#³|ˆ]Pn_Õ Éá;òþRLœo-v‹ëÐuT9Xø= iÝ?ßPº%wÜø¬<À ½´?v4ꤣ­(n²<8ŠðŽOÊ‘‰Æ¡|É*„ì3ðÙîb4«,®½ŽRhÞŒaJ]Wk=„°®Ò\t• © ™e³Æœ¢ÕÿíÍÉ»¥ýK‹úhrõ‡ó+¹áäJÊòˆ\'[r¬$Œk/¡ 4}ñò#’Ž±È‡·VbIÖÃ~SíÞ"üdV£®9§†ŒÉÖ-Ýþ…Ü®FÛúu_îÅÒt²¾—ÉéƒÿNt[J5ü$“üÜIââíGD…jO¤ƒ;'nÚß)â~fó;/À¯³"F…û _DÛo¹7¿ô%ÌËì[,2ˆFáõ‡66:©3tÒó QÙõèO‹`ÇÚK Ô2Zi¥'u¢µ¤€&ÓçaÏ#ª™FôÕŒ¥ÎR»¹\)j´mHGB:]Xš;kA3áë‚{WÖ+Ù´Ñ0Å™2›$[æÞ^Q–e—8Bjùœ¢ÈËؼ®Öl«åÊmA~€?2²;òdº7éÖy§ZT¦ã™3p|•ÙU B{|%æ¡/:âDû†N™t;$ÄtfMÓ³ŸK5~Æ®' 1ä·³¼;µ“-%4ò,眳^mÀÏgÛŠÔPBiôÄð„¥–ŠÑ×ÕªABSHú¾ ,%VÞš!@€•\Î-)¢ÛíŸNî¸ü² w9`L®'XÌ ÷[# <4MÆØNùw.bFÈÔ‰O,Kùò *êè"õ?)Œ {ÞWLìóI¡ÐæÃÁSG1€ u©¥¿ñ‹~jW•šj%)ÿ—ËF+ЕÑ.7q]}~¦ÌÌ6y¸$ b«€} ,”\Ù¡¯Ä˜†‰¿0þ)—Hï5õ?Þ¼‘ævÌY<ã(‡\ \YŠKzBÀ;®€ÒwÏD ö‚2²À›ðTƒ¹Õèn¾õyøñLjß«R8Q¼´bZûAU‰e\u$–½ DNîFþ‘Sß'z܇8–Âúnàa:&|¿1>nAà¢\P:ùB2ŽŠÈ²?±™{*æRãÓuM°DW&qå|g¬u¤©y7²BhèC©‹pa½8¦çÙÞS˜‚Ü:ù/ÁîGMIRŠ|l¤&6ÄöÏ`¿ ØIÇr|¯½©Þ,†³.Àsf¶€¡N>æ8 GöO­ÇC ·ÛhG=Tƒ;ãñŸÔ¦Úíi×?¬É™D‹Rµd‰¶L‹èrï¿l(f\¦Y7iè·ÔýíŠzw¤iÎÆôŽ«œQI´ˆwʪÄz+ÏúóMZÞ·f2z¹°Æö®^’þÎnÚ‘‰ÄZ»÷•¨&‘h«‚ë£p(-jÑyÃ_Ù³U„ÆÜ²|tçPðúËí(/ø”}áÃ’¹ÂIøÌ´òG sLh6¶&—vF^¼‚+h2–'åá­ž °IÀK>ÿówüDZÝâÞäß¹/Rd6È› Î}‘²@˜m×v¸D Qÿv,=Ô«mù 09bwÿÝCäùÝU!ŽÈyIÿRç^O¶šÙ¾]‡F ¤ÂXÉÄ›üVÇúe­0Òêî}ü•BòÇ:P‚-ÏtþÞWÓ»ÒFC .=b1š‘Með´ædb‘ ^q„ØÔ4¡eàœjïüÝ€¶ØÞP:´Ÿ¸þ^öRk³W¡0M!•bËuŠ»)±ó¨‚âˆJMº"me¸¸=”p$£¬‰Búë\5m>ýOlÂdõtþǽŒR”™k A> ¯õ(ä8 ½vä7!;À±è¸¯Ž=%âã#äA€¥©6uñöú“ñ§öÕ1wyxÛ¿ú cS Õ¿Ëò. ©V;&7BëѺ™@b€èÈ¥dbw»¥ÉISþ>™Lkwä0=È<S}™×Áäár€›ðµÔg¿›û„^­leï{ïâ¤É@µíC²(éÄ÷™Ž¹Ò‡5‡‘g&iB#NeËÞR©Ø@„/y$œÚ¨¼o<‡M¿. ‹4èì!Lî¥9MN¼k0õWCûo’§¤wI«Y¸ÞN÷ˆ´ JIŒçI›“Â3 $å¸/ísøÄö«•¡I¡h™J/añb ”e!´ñÐ-ìO‘VÈ’¡¢ˆ³<™NÛüý& ií¥”*xul¿,Û5-^Òª Y!žÌÍ!Ôº`Ù½âӹƧîÍVS䂟6áƒr7g¾Ú!X ™¦ Q­,ûä^Ôd\«ÈÕ 3›Î)ÏGòWÉÍið iìte²Mo:‚Öݼ3¶ò9M$4íùÌÉ GÂuÄÍö‚'¼‚Pvà } ‘T[œWc1zkNè¤Ç ép7ÛíÎ¥¡vÛ=úÇ?¾rÒ§0>Á{ÊR!]êºùܘ]¡#‡çä`2âÍmÒ}Cµ^d')h[Ʀƒ$]áMÎØC°`±+ÙXÅwt°ÒË5êè wç6Þ: €„pÂgÙ•P‘h©Y›SQ‚Ía«8 ÖÏÛ#~RÊHÂiEÎN’@X샾zóÜèÖs– 5„í“ʼn‘úžÞ·ô+è,)Xáïs,çÖ…m3Ù#À¹tþ*˜n.ÕUë„Ⱦ>Î!ÍþZBrÿe?½9&šO ™ÉúŸ*S÷û ~Ù¦^DN@g5„+ õd©ëuCA G|¢^^jä0EÜdf³ÓÄÎ0…ó‰¼ýd¹Q#e½$bkP—\Á™§äã¡$@}÷ÛÖ·¡wìk6©|šú^RüÇ%¦†ý^£~àYÝöØU½o.ýq¾Aݬ#Ð{§°1Ã`Vdæ®§kf÷«ƒÊBš6ʶ™*0¼[õÝ'8u³Š…*UÆ“‰ÚŒI†á O).„#Úݦ"&ùE—™Hþ/+ü^7“SÜKé’yqGNñ‹ý‡¦L¢»&,Ÿ©x.FÆñ_"ÝIÍ=)‚/Þu“=®¼ê3Äõ_² ¼`Q…+qö³QÊP_^íi®ô€6˜dLsì,²1߆`²µqžJĹ¾(99ÀÒ‚´¨½PH.àƒŽ‚ÓŒZ×xF’û×ù¯PŽ­Ö‚ÈÔæu±Þ׉Ô÷tÇÙ¯¸ŸÉ$hqÀÄ;F(œ#ÜêÏQe–»{n—ÏÁ5‹×º(F¡AZü üè?Á§†-Òºn²d©:cA´Í@Ë/Îq1fGÙ 4ÏOT¾;˱ƒ(dÇ…ש«k8.JÕõèâÌó¤õï†\Áànª“ùs¥ïè q-(ý‡ ÓÄœÐb*È©ýuÔ2†!l$ü\/fÈ[aÃ;6«Ék¶y X I°ÍEíœxjÕd'@rZƒOeF‹#3Q†ÑPgh¸­Ñ^haºYœUzý‰ó.ãŒß {±òÔ9@fbµR (þ„©Måôÿî@éK=ÖáØ  •`q¦§þ…ÈÉ, } ŽŸì´ Äoq3„Ó\òÀž8ÜRuŠ#4ŸÏÎhWÏí™`CžÕnjáñ‰y¥ý9Øæ´­’¸´%„îZ0Ijóð#êv:l‘¼‡dúwÁñ7ÄØ‡j‹L'È0²‘ rd Õ2þuEäÊ05ß5H(vÆUM4÷-¦×ç6/eŸæ²Øùû3r‡B¿ w6Oí}ö\5ø‰¿ƒcgi´iPEÄ2'ÑÅÀã’ëµ$ æ=ª)®MWŽo'›$àh.•„næ¾Þ´Õ3 ݼwjךQ2!CΕ„Ùjʧ. ´Õv YçØ/uŸ&ç·õçš^úž°¤eŸ†!jU©¶ã-¡äÄ|Ë–Å®K·%P¬ÓY2¢ ¼ÎQeÓó°“a#*ÀxâÆ/¹é)OpôIÁŽSCþGyÃ&V•Æ4ö¯¨²¤UT1ð‰–NÕ€™AãÉÒo¨AçÒÙ9Ƽ€÷n$”[«*Š1ºs]s¨Óþ¢’¼áN©ã\)öÚÉ\\}·kës¯PÌh¾­'qo¡Ä•z›¦ÀJúõÒ%áÈ™6-©½/LÉt±¤$“˜{ОÍïmÆàð‚`ì«æ¼g™È¡:1'èÛgë¹*3áÄ1ƒTë,~á“§¬Û“DŸÄÚm+œBµé9êçTVNEG#„ £J@7r’¡š-ÐoõÙk9ÐDþsAЃ™’±PG s-´]Cs}Øq4ù¢ÔI\èa×ݼÊ)Q@’Á901^e Í­¦¸™|¿sÎ:1Íð˜ˆxm®a®W´ÍÏ ápøM2œ×Á QÇËä £Ùaû)±Ò¥ÚÙ$$DâöµÇ]ç.Æë¤»Ÿ&8ÐÔ/ ß[•!”1”…[Vì”ï¬í._(°M®TÖ°kˆ#ÜȨOóÄQ™ªÿ¬…”â7“7ãZü¼õºý`éû:T× À>œµBu,\"F52º°ë „$ •5à‰D‡Ñ­ëz‹LFÝ@xì@&ÙL°À*žÄtJ:ÝYDíT@sycZ߯Šä1ÿ¶û‘à'ëke{·EÄßåƆ/ éùcŽŽ¥“sâFï™wYÒcªÓ»&úyàíg¸{UÚwpq`Ñ®GÌ×ÎH|a,~—éTç MC̶ú0óü³ØZéEï.½¢óh¡¸ ïõUºE¾ÒÎáÌ8AyTÏËÐ ²;A3œÂ$^¿/à¾kWØ• ¦6A±¡ÐZøŸpK›š>±€Õcwè›B!j17ü %™Éô„¾Â6[nš¥™ÉT–Peµã?ã€ÔþVL¶zó³U_oI«gXµÏ™e“hlá3´1­£H»AlTB+Þ‹RÇÀž]iÅ”á3ÑÛ² _Ñd9öW`¢wŒ"*o%ÅgâQê©lxtŽ¿‰¤ô†ßÐðBüA÷\&ðY) .Rý¹éüáæ†<ûÛKÒŠ]P©ðßw Õ'z=¹È4ÛˆA‘C^µÈFŒšëæ¾–WW58ÊÑEUŸR ‡…¦%–Y>­²Ì vÇsl sá\ËE„éÂBi¨çâëp½ÛAPá7ëB—ÐW=2=kXZ=­èÔ(œfD¬±)<¼€Ø§z¬pÿмZ C.§¦óµ›%%QþÕ¦vÀ𣸷;@_ÈGN•ìæ*\ëÚÚ<ñ6ØðÙVú•z,µÌmFëòmИ½hkÔp—¿µâp š v?&Y¬¤Í>pÉ}bâç~îǰœÿ'&wªñFøŽ=€TKaÿpîÖ^¶ã*’’d >ðõµ¹X[óµ“_‚HÜb’Äά8>„”«m«l™N:ªhP‚éj·ýäí$W«y+ÆOͱ«éz»œ˜µ[‰¡WØ›+xñrµûˆîƒ”·lîyê‘Éú‹I#sµ¹­ºŒ%\ý»/ä@ ±z .gjœ_†ÊåÑrÏ*!4§Œ¡öÈ\»/­EÝâ)æïˆWpXÁ•z°/UbõépêN$•sé}NˆRÊ@Y‡çca±e§@oMÒ˜Üì¯Wõífªàg þ5=ˆmê&—µJcTzHòÿµ!âMoè²”_T®ø}³¤¾Ù¨ù–¤6ý`ªLK’‡éÄÊ*;X 7×áøIY„â1z)žâ_w®êÈ£P¸‰×hÒPŒ|í61›•žLë B@6õË¿\lÊ Yâ†W:&™m‚Õ¦Á܃ž–®$Ùü[^‹ T¸¢è³…û±ŒÏþw©•ÙÉÁè­"+n2ÇuŒé 6IÉåíJÌe(d]çáëù¥ ‹• ¼³IÈÝ(‚ûŒþ4þ7È„è}…gB&\üG´ó¡pÖáÁª¯‰@mÇ2ä¼€À}R[ïþî­w¢¤k#ÆD{~ Ó‰)Î˪òÑ:QÙ¨í$‚"¬"'Ã$ÁP'}aŸ.ö³ü}Ɉ6(ëwqiæ¡]yæo²ï­faμ[+brCdVÃßV¿ü)÷6•±zhÒ«Mm5€ñº#29Hwç;N[õ1I,()NÆkËèuèDu³„*PwC¥kÇòâ˜ST÷¦n d"j=BŽŸÌ´WÙf­U÷°^æ3hÑÅ#þ÷ì+äýk4Ê[ìƒÇ‰«­SzhRÙæM£õq0ë¤9è&àŽ ¥\"(ÿuã”SçͶTßì?_¶ý¡ÝÁû û¼Ö¶¨þH¦Uªh£­=€Ý¿ÙæœÛÀ‡ý²üØa˜¾üjµÍ’ä™oÆ%Ü©…r‹!Sfç˜ °-¤ÙR¾öU/Ïñu6“TåúÆŸ­]ß¹ š­2K?ólÙK-0^I(,Rø))ûÖ;ÄWòñä#Í»"rM¨C—}³º~œØ"H6d†0Ÿ„ᮂ>mC¹ 'hœ‡”Bó\n]ÖÙÐ3|Aè›òFlÂ)_­©”f”ŽAŠ–3”{£° š¼yod;+w¨Ó?l‚ûßîÖ ¯s‡(±îê„o·¼¸®v ï»9ÏHðÔy$6Ìœ†£OÕiÊ"’1Zþ­O¥¦¸âçœ,Á°`/½d'ïW±_h¬×o»DŠ•Þ{é¥}S¬Aܤ¸vÿ/’B]ÿÌZ×*½ÿiºô[‚ú›´– ÛúÌ¡½†çelI;æÂx⌰¿êLz£,Þ DW<&`"¿a1I(hAˆëP†Ðå4¿Èžøùº„?÷‰«]/U| U«Ü2Ø!( H4Ž-Mý>בO0¤íMTÞ!ħv™ÐZBþ™¯ÜÄN—\Æ…?X €ˆî’[’ÉúRõÙòKÓ—ƒ(CngdGe’™•ý§6 jû~"@O7ŠÁ§"«I¯ïtξ™(ÝB§-ñ'' äqiXP« ßd™Y ÅjE@¶x7䲇÷ßL™yèh³û5ñ =¾=»L·­ ;÷.ÆÞÒ<ÌQ}þA6síä¼Õ-²¾Ýü@dlQE°LjòRÈ9‹h¾o1@ÐÓ« H.;'Uoü¶mDÖ>¼±GÁÍíÁ’žQcƒ”.q(î;Ay¿Ð>O7{ШeP-ñº”´AUÅ)ü-*ÆU²©8Ò\ -–jÛ ÄdŸøá÷`âÊ¿K¿v¢H&d 7N1LÖðuN¾ÀNô‡ñ©4Ðß·¤cn,)Û­ï AgEre(\ÿ;§–­ð\–^‰QÿÍJ<ŒcóÌ«2i6¦'»*hÔ“ÌQ·µ˜|h–itÓ½<6 —Á¤ÄŒég%ÕowáZtå1®®sg8õÂ?¹Àù &¼t¯î¥¬%'–itX‘”ë¯.åuV,äiC9Y‹J|ÈoÍ7Ûµ¿ o´õ=¡´OJbõÓxl)„´ŸÆÛ}Ãó›1fˆW^1eO$å\õ¯'q.µO˜"Ê)+ºs :>}9Ž6ì7ô®Ñ€µ™ª¸ÍrJÝYJÓ‘ 9hÖ#ǶU°NÀ9ã tî¢â˜ÜÁNzóµOž3j ïui§'¿QJC˜í cnÁ³èrÇ 5@öN/ÛÙÈDc¦ y¸“a¹½‰Ž p.KÊU’¯E!Æl¡€ÙaS§Ö,x8 Ç­Æöæx€§1Y¥1]׬Â( J„†‚K¿xµ@)‚ùcÛñ¦õН…,é„Ê¢ªÓw4öù;]"RW&ž›DÀžŒðÄmÞ™ø½–ºŸðU·|•G)6ƒ½hý :‰ëÄ“ ®:$—Ïs®{„+A)\¿*ýA«Š\e®&ñ]¡u0Í,ZhŸ¢Â- ÿ5î81Àçcßß Á^†¥ˆÕ7Y}ížì¶‚Gç™MyÜâB“AlZtâ 4Ë?kôo·×ÉL Q(âî¶ÔægeT)±AÐÇ`£5Hê#Ë#‚âþ5ؘÖ& ïÃcCÆ{·ø8¸Ùýl8óGnÇÁC2[¦‚Œy*wúJðdýŸ‡µ«õ”}ú© B+}ïª{þi4ªŠRRÞY\cJƒ®GèäÌV楫ÙÓLóéÇ3þc×dhø‡+Á`Á˜«7\ðß‹0$•x…ŠBdþ%-Rñ½“@¼„®—óiMÕ'ÿu;oí…Æ¤†Â@à#îIP>C+™ƒ¯½Î¼ÍͶžuc<œ†«sóf¥œøFi&7Œé­óeŒQêƒ<üñVÍ=Šn±¼ÜäOưŠbäÙÝY(O»ËŒçßÂ3…Åõƒ¬Ø0BAöSîô%xíQqÆ› ›¥;N¨^Z´+ûG.|„¬r—HÄŒ_ªô7ì{4M<Qþš²îûDš ¦Ï5 ¶-g©ŽÊFv6Ìüœ)Óêd•BåÂ5¨Nu3UYÜ&0×ÒñlŸ•]î3¡Wà%vI—†ec’‘ÛŠZÛ™ÄWæ ÈfV!I `4÷jS±I ϯöÚC@=F%R¦Œó*2ïÉšü\­b '4BÔ„5ÒÂíâªg|ye W1…U¸ ®Ñðú®ö‡E¿Ó¿Sa´Dþ° ÒYJ b!é›çäŽË|Œ¢žQ£Æð™È¼0–‚ íHö:5Xýç±~ â-æŽ=þK{©’µK}É1jê/µ=¦]ˆ?ÏüIYçÌ&8Úá: 2$a?áÿd°Ñ,ï‰qI4€QM2Ý3¼Þ-,Œ|‹ýCÞþwäô¡”ãp‰ËÎð<”¬£VÁž¨lxSVˆ„x–ƦͿ|ê!<лD×â….*Ï}Húøœ–ÉzùšàÙW‚ÞÝÿuúÿŒÎ€íSômûÚ_†žî|nÚ.× :x,øbPä/ºIò´~À/6ê¬ØRƒCy·_'€iÏ»#Ùô:‘ZÉRÆÂ)“RÀ@iêé'±$½ök—S‘4ÜN0H2–3 ÇÀ°ê,é©t¥wºGN8–ÿ¨u|mâ<í<èÃ)ˆY,jÓ†Š/Í” Ð\í L@[ñ3h’#ÕzC{Ÿ•Ï;:òÙì¶» Êö#º_rïÆäÁpBÜ+xiÎ=¬¨÷Ñurè"ô°$ Ô=±ç‘7WÀ.5¹²S«¯à=e,IÈâcýejßÊ(°ÆÄ;ø1-ôhù3–àÝÿ×µ<±V1(&Õ+àCîM´Nkë¡E®ÐUêã—* ú>¶-Tö?UW1R¡oß´7Àv¾Žò; Ù, ÖeÒ/üK¬K]ó¿n¨.ÞwlT!Zú7³ßËRuîRÆý£¸¦î¬ÅÅrùYÁãÂÀtûòøN×yíô8HÂðùÄ\]|ÀS0<8¥Ãæ¨, ì€É°º|¢=ðå®w¹®v+ß3{&fC‘¨ófÔ¹T¦´Õé¿ ÀÐ*ÆœÛ[©¸ÎÊj¾f°NneA¤t“UãÃÐQ,–À60ÄçíÀX¯ñÂ\ÅÚnL ±Éšê¦Q†x@ýDŒ0ÎÈw؆÷ÿ¥S˜>€wE»á³œ"ȃ_ò3þ R&j'æ·Áâa¦ü¢CÐûé›eÀÖŠ$Õ °>®ie ° ¢Pú–…4#òD?ÖXߔ㠭ÅL/7y¤–-Å[dÃ<”"/Ü“šÍΛóÉNÿßTÞR¡&xçsjnäÊF®t;D¼Áœ”UßÌwœó A´:=?ÆrÅcG³î;ß„ÏÒâœJô-Ÿ¹ôMúö+/„c5CÿT¢«­JÂX°¥ßªœHl¯s|ðGØ"Oh ~ß5ü©UÛvöo®ã>Ucx^ô%Åú «¬ž¨ñ‚Qö¢9ýhmDë¬d½8âlÿ„#’…ÚsL˜¸jî“+ÚÆà}¥õ[á^s’ê‚b Ѫ2:‚ÊÄíWŽú„žÞn—[ˆæŽ-ñžÿV˜òBÈâ•Jhcv_icÙšÝÐU’¢pR‘ÿ©ï',Øo†”{ OÇìÔ¢dh*n¦Ñ´@{ÝÇŽAà_9`Ú+ðšò}÷Éó§G`ä~ãVÂ$¹÷ø­F+wFY¼›}%Ìsè0ò _üƒÿýÒ^T†Ë_#·¸Þ%Dpè^{^N<³D©©û+·­$gíʺ–,WMr½ÿµqn7µýhþEÌ•gÄ!ëLµUXž,„Éÿ¤³g·ÝÈ@vLƒ¥DòhéQ”‰JMUý烠I̶\¿R’µºÈY¬3ÍœèN{œ.«vŒ6j1¥â_ |}e~ÔÒ\ð\ºÈKèÓÉ´7@$}hq¯$ã4UøTW*úqÕÑî©úÛ–Þ°“›ööQÔ#ÃHZBäKvL­Š¬Ë‹²E• †?ŽžÄ2Pé1^n@/q=YRLþ„‘[ªp²:ÄæÚÐR–•zc}sÁ× B>ŠÇqƒçôÁ1— ØùÓ% ‰‹­/߉“JŠ ÈøÙ;×)9^›î ¿ïÚgMèÒ ¦Ó-,Î9 üÍÐ rïÍ ðsÑ(à—·‘Æõì{§}eF½N!—R|îÑÖ2‰<`r¾l«ìô§ i°ží½ê¬‡ÑÃN‰—2›ï³òå)`f^›J£ÈÕäuÓ(+9Y’—¥T¬ ßÉY³ý»Ë@¢9¦æ$~hÍ´–×yK\O™8bñÙ]"*ÁÁÚÉ{9…²è"Ђ ¤ Šš’Ì}«£Ð»4Ç\K‰ ¤>ÀZW§JS3¿n [7‘2CCv²QëšYÓ‰›±·QRx¼¬`£|îà“Ký’¬!ˆŸhºâ^¨¤K¬n¶/QÖ½i‰¹à°åÄ£„wÿ«Åkîá“Á¾\cü׋Ÿ‰Yt„×»Þa’iEžÔ­”~:´4j„3¤»=';³³ *‚ÄS`sý'Ë[}â1ÃD©˜jth)ƒ±<†@ÌÖ$b 6K>yó˜?ð9]Ôȼå÷%Ü2DCÈqÊÃM”!æ¨^ëæ3ÑÕ§y?ê,OÚ¯aë#Ù<Ó:š?-ñ¦¦)¯h®=3 #` µÊƒáøÀ<žò¨oŸ±pú´tuö”•gmÉ:;R1ÓXe|0,åù÷Â.áBûöm»ÂÃx³kéóÖŽšËÎ`ƒ{RîRðïŠâ¸¡&ÒkD~—|<›sÍâŽgúϤ_q ï°Ò$þ<\usàZ³¶[VU'ÆUI$Õ ƒBI^I$ÌWí®Ê<¢Á+÷³¾k„]ÐÜ„–8ŸR0*åã^žÜ2@«y{SX#j#|g‰ª¤ßƒê§SZk?k·[Bb¼ÞQ{D]Ôƒ!FÓ:åiˆCñœa™¸”wçO)t4ÞSŠëûëÎáÉ÷¨ _wP6ð&§ÄÏ“©ÜhDÛŸœ`·½áºw¦¸4Õªõ­æ~ |ÓÃ¥¿Ý†/` WZoÿ“[Ê¥RZ±QÕó;ÍÿörZ”Óm<ÏQˆd3á¹aߓкÁÚenb¼CâÞ¢‰ÊLC ”}Q¬lù¯šñ)X9Šq4wÅT„_ëèÁ´SÈc8ù;ß ‚ŽŸƒÏ=ª|v(-5ç4Rc ñmâëq]ðC6Žzír­`[1Ï,^Çäjªš|å»Ngkh9¿ŒÊŒðL²_h)šTx<ºƒ„@É—ÜSâs¦cJ8´«F-‡_nðÓ‚°“8€;Ÿ*“àÑH%XYÆ®°r¯¾EŽHê”Ík÷žçqâÂòt¶m߀ç®"Eh`ô0ä¼¢ûÕk,x3‘n|êwê+_‚®íˆH°} Gï|Oð|rÊ7 éoùñ¯!H¨pRF(†µfîdÁF*B»Êß”/- WÕŠ(Iv{®VÇ0˜/<ÁºÙ(4*ÿ ÓóÙ±Û+Æ‘Š_J°td?­*öê4XP0Ÿ%^'¶ÅP´OÌéÂ]!™|o¡ìó„|Ñ­øI¶û îS¢lwɈ9q>§KíEëù®³ÿÌe«‚®Æ (ÑO„˱®ÀE=«¤Žˆ{M™)¤Ï7I*#ÝuÃÄó(ü³€ÄfP𥡥Ç+\Fp9´²©Ä#ÙÕ‚«¡‹Û ¦0‘X@é›z¸æ¨ÿ÷£çù•£hf™Ý`rûc?¶P¿ˆhÌFtLšwÞ©Z&YÌhE"(|Ù·ŸE胤 ¿±³àõLÐS±îäþû–T!jè[0n`ÿMÃ|èDa6^Þ RoûåwÖº>ß4ËÇŠuâ@ •æ D>÷´ô„hÖæ&“ç¾ë[š\ü,“Z.ªô/CÓ É Øî]“µv ±±Þü`@ƒ­Ê<Æ«NKŠÕ¸×%™Hh»1,³yZÉ'³Kº–­7¥·U¯¹Þx›§á×I³þm½©T@— O B yS×(Q Âyƒ¤qyüÕ8iй‰l*¹ô.æž‹òQ͸oÒÓdQG®ËÏÛ^N=ï|<¼ø1xŒó!I›oìx„¬ ªZ×þ’„@ŽˆëÆÑÛ¢¶Ë›ÅŠ6 ®Pp¿4j=8‡/(¢Ò0ӑ赜ff¦QdãiÂ8•¹æ‡2ê=nGÂÊÐôKFoäÀpH]@Ö¡ ohj3ñ`lÝðÚFÀM$ƒl‡ˆs'Ãþe“‘¦ùä¢ nu=ØÐ,óS< <íÿÙ+²Xu@®G©öé.eì_ÑùwÇoHï"§Ïâ³›ö(Çs–Ê…{i¶á’|/2ælÇÊ+]Ö㨯¼58djä»b(…Èϯ.¨T…Ι³oÍm᎒Fpâ'Êl–¬ ìÓà±Se×$¦Ò6nö‡‚lÊ'Ê9åIÄ·âò¶¼ÚËmtsûèÄ *‰cç<°NôôÊ›.Iù0ÎvQ€\ix;c€`µ|’ò)ùÖÚAZ-ø„.ýƒµ/L1߇ ÄÿvƒY =Ô TmÛxàaÜ—>€·þ¦4ú<þkYÍšBÏ*á#Fè•|§‰Ê¼EƒìKÏ]ØœeXzª("mÄxy/[0»EÓ´kD ä¾ zØTìà½Ù)Õ*K^`Ó¹0’³šXä2œpÛ‘çº]ÆÝ6×òQ§{Ò©ãP~°î·›•ƒú ^›­!¬FøtA±ŠmáäÝ] ò0TÝLP÷ ¦PÊ™  Ò—Ԫ牓0³”DÔgföÌÿ;r< 1¥aã”#‰Gl¿ã(xìF.RI©‰’üÐâ]ƒšÝj=S»'˜>þÒ¨ 9,¯±ÈõÔi…å/ˆAŒ/­DeðÈZ‚p ºÌÌ…g>ºÀ} xM©Ñlи¹ÀJ€^CväÔ‰»ú`³¢ùÐxòy{ÿ¡‰ðI·ý¢O{·‹.ü dŸ*/³Ó®+¾z²ê1±tnaGpÕ[¾œ:¿Ê¥Aq‘Vþö`#Çž(ŒBÀÎÎKªçËQjø·°R´ý =X |çF¦`=7Ц“yhD}¶Žp Å­PÄòcBÚÔ°pÀ vhƘ¼€$)‹ê©·:¸S>„Ù ч¦ÂÜaæùœ#üO5Wü ²Î>ƒ†.@•I·‡.XÜ’'"ü†VUB¤+\ÆÍLþÛ³yQìŠBU %]l4XHΊÔâ­ü|uQqÿ$ÞY[¹ Gø¥Œ`X_#JùOäÛ‡}"¸eiq»®'H²]ö1¨ lèËïø¤ã)(Ž·,9gá›ÔÕÅ„95@ÊW±sNþ_’\ÿˆ›mweÏœ4À~fIg`‘„¥¡Êß|³¡4V{&%»htÝ¢Ïûs6ÎZæêY5uå )àý¹V¦65OjÁ[9a‰%=tj„–ú³tÁ«àC“Ùh ¬aoᇄ2ZÃ¤ÜØcuR*ÜwõGþª¯øzÁi£âæ†ç„1©ÎCê`‘Hö°á.ß‘‡4_,¤–ŠØºür–u=þ(x–²Õ‘\—’¡Ñjâ\kof2F–§1ç·Ž:¦]<‰‡x$?1ðn`nzŽ£/l>@ ,‚‘ g²nò¢ëL9lÂ<ëÛŸ ±©Y¡™ï,ý¶ÊV'¢FôT†è¾ÚÖ´»©˜‡ÿÝ ×žîa2‰Èª²á5§WLÈ$§Œ÷<¹Ÿoùå©’ 'Û!—bs¦ÌŸýj`î‚¢ÀÙi%¬3²Þ5”vÝ‚dc¤$–,Ë[Io5˜ sÔŠ¼#W5XF N¶ÏÔN€ø³¶ A—æ§Ò¥Fô ÿ'øÒ’|Ï!gßÅöOÑ™+‡á¬¾¥| ƒðϼSõ§‘´ùÞ?­ó[Õé›4¤üu=‰[ÖÅÒàs‡ÔN”vÖ›ÁÜ>®V÷Yäî³h€q6Hƒ.^”‘³i‘5žtR]ÏÉ…HÂ#¥^»l¿¸ÙS­†¼è¹§ ¾Ç÷FÓ`^†ûuhüZN*«™+i  fü»yDÇCÅ^bÜuZé{‰{‡æhqM¼Ÿ»L0›õ6–©¸ 1ÆŸ÷OK’Ò ²Žºî¾Ù°¢d! S *fá >ÐéÚÞëJ°ƒ@ñ-ƒ Š…êZçØ -Å|ñËH·XlÑåœ×_yUµ&¤@-äÕÃt·ÊMËo¿‡˜*•®ŸÒ+Acë${…óƒÍ‚‰ÝS¼ËFD@ðföÉõÎx´õl!û{—RL2ÐYûê{¸—ßè÷É‚ƒ¼…²x9\Š×+7·z£—²ü‹pÝc< Kc\¾ÕªÌ t1íñ»°äÛx¢G¾¥¾s‰ .öuAk’d%µÉ²nÍ8ñt)Í9UÌ9Äå8µªê·.EÇ¡”"ñ/CÁé3"1å¥EF£yWš×1Th¾%ï:2ßWÚþ2ü” ‘žGÙ;&äÎ;ûh¯Þô- &kæU{r[#U¨¯Ñ½e&2YGªÙX[±ô¬~#½izäÛá#èÄŽ?Ø:õ§‡ÀÐÌ5ç ë»õ£ÏyÑ¡j­ÓQg;f.™aÛ^Ìef=2ʘgêK¨0‹²ŒÜsKN’ë‹À)“œp÷O!Q_ÓÂb*tªÌ‚HǥטÆÛº YjgùCMÅP1­Rôù0Ç©70ÊgìZ”ÞÐQÜgÂÄK}üöÿÅ`€ øÿþö9îàõüWe"Û‚…»º‹ŽöÏA¥… Π×ÐÕË&‚®kµ ¥û;æí6ÅñZ ÿÄ´Ïçü9¿‹+ÞJXüžújƒ£ za—Æ…_ÕÈú~^06pU^vÈëFéíyÜuUÜ5R{Ï•¼Ó°NvN¹’tÏ^†íç&cHñ›ã[®†ïW¤Äî “Íkw¾»#ɨúÐ̳¨e@§*†mͪåå1Âí¯¶Á8Û®*(¿‚SŽDÓ‹NKwóú¬ûÖ¯"TR`êFÒr0W’:£§f¿ß&&«¬ûvM^áøýFXIÿs‘­L'¸g÷ÌzÎÈå….eÐ~Ë'ø¹9¡r:=߈T¤–Ú×òhÅVô¾ÔܞǕ‹Rq j\¦ƒ‰)¬75xÆA¦ÝKrzRÇw²+IÎÆr¤|&~G Øv†ücŽç{Z=Ü´þ2VÐ7õøN:@óØl‡”{B”ÔÜußUðÅy–1 ¸8-­¶*îHAVÕÔp·â h€3þ-’æ40vÙÒŒÙýMII¸Û1wð~È?ÕAüX¾c\É·ê&¨–6à ÏëÑCÚpËRš%ÅÄ"˳C/hR€¡nò“o($1r´9›*‰(;¶"Á½~¾õ¶Ö>=÷ùâI1z)b•þ&öIš^í 5 ¯ký`(`£9Æó}¢5rœ2÷ݦ—dc>C7I'6Ër oSâV­>¢ÇÊû1|¢¿°À—Ý)ÓàÉÇÛ«õ—~P´r¶W\ÐÓjƒ+æ\/µƒ`³¬„5 ®uO–™qþYÉæ|Õ¬¨U’@²Ç6<—IªÎ â^±ðõ'‘`s+ÌÀ²í>LÚŠØofci…Ÿ½õ 5zÜ•^ë”áèƒ h]Õ­hýÀå5$‚XuqEÄp 8œÊ–}{Q·…› ÐKßÓ™ÉÃ(±š&év©Üfl{;¦íûò*˜z½QKN—JǪU¿¬ˆF×ò}æÜž ‹ÎywAý¸ˆG;Ò€¶ÞZ n›£Õ$EÒÓÎÉ·ë`#rσ€M¥ñ Á˜ÏpŽúÁ'q±—E‰þ çÄ64Áµ…¥íFýŸ©š­»º€›‹r¢]@`ÚÅ8†Ã#Ôÿ;Ö"™ "•I2 -ï­L^‰Ö$+jÜ´kD@,¡™~ ëŸ…Ý)…ß>ÄôQ£î$-A~ÌQ vWoAØmîÝy$69Õ-^qßÄÐ~HìJ…,ðáĪŸÖ’ œ½¼ÎäÊ”P›»!éêš2ËÒH˜Ýö¾®TÇ=Ü¢1ؼÅv™Ìv¨$ÔÈT‹ÞpKÈfÀ?<´›¯ãœ°Î9EM;ß"Þ&×Éž û?d9¡©P$sÕšÓüg¶©ÒÍ+ÇÍB§àÐ6ñjr*­)2—ër¾†nST)4èL'ÊB±AOØÎ¹oÀ+! ´ý£µÞaí¿2€ƒcRüecÖvœ°“9ôšA10Å‹¬‘"Õ“ŸV ‹qª8K)ZÉL‚ð/<Î2Óí¡ÉÕ2ƒT‘ô¡áDÔÜá®YZ=K¯Ÿ?°JñgØýOW)\}½ÛbY1ÊÌ#¼ú‘j¿UÝšJâ¢i^Êäº0\L‰U@ПKH:f$^BF™zL ¹b 9²úó'ózgÚmRÛÚkÕÕž;чâ0fÛ0Éõ-Z,ê¾S3wRH= ¬1$ .-7ƒf(0ªVqÔV*õÉ|½` ¯tzˆäYXÐH?<;7ÊçXx$þ¦•¥åMP\˜@$wÓ$#–°PXY…OøJó¹ˆåôÕŠ;Ks·–4˜®‚µæûˆ,Ç:ˆÂ’‰ÛýoªˆK/1Ðl«Ë ô\!&±æò¯Ë8#ÃñéÛDPIÐüüîÆ 3a8f~ûZ‘8"YŒž9W…ã0ˆ©#Þ ‰É8¡%§±7E[NiJÝ!ˆeíçãq½”j#·}€™tÈ«tÇ$î†0þö™–/Ù¥±Çµ§Ö?üÝ¢óß®ÛLjkí®X²*5–„XàRb$`åΧc:-å ³Ky“TO„'£fš$ïÄ.ùqT`‚ã™Ë\Þ£ŸdÊñÏN¨Éz¥ºœ’Žhn€Vø-&”.äa^ºlhxÂÂ8o½p !á`Q`Ceð6޷اë„ß⡺²V¿Q,îÏß:©Þ[7†„!…ÓK6¦Ñ¡s 6¯Ò yÿÈ¥b0ˆ¤!â’I½é2-‹*É00Ãï†Û`_<µFºþGôÕý‰åUЖ¤­jαqî×Uw "Í‘ zM¹]›Œë®$q¼V*Ìsþ^rB9žÐœ´+|Ô^ÅRþI•:YäÓOKîÎ>@‚æ5áJ d‚Ž1µÚtÙ _ÐÇ]Õ”ù|WŒ§š:aŒÏäÜÏ$ލ5åž9©ÅüÉÿ³”û)ÜümÿÈõÔW¹ÿ-!~¢oŒ“ÿµtL ¸–7½*ÿ÷ ¢0ú10Ñ‚¨s¯†€Œþ]ÔPÆÝä²\Þèš9ÚT!ð!DòŽjMKê$9©“ÿYÒ£ÃôRµ¬^ªšì‡½ç`£™¡ðûô1vÞöKEÝü/²Ämuk)ÆI³X­–°ÅXK)%;ä[Dß# °K‡iì™$å}¿tý‰£+=ÆW“¯D–£óõ£Å[ lz—’§V‡è -çðó°+þ^âR–eÉRˆ‹ÃÒa~xñŠÇ»Ëk1 Vôœj˜%Êx‘Ÿ>ÁÄÆ{cNÉÕúñð÷³¯ Í¿ñ­ÿ$Zñ§œQüµŸ>H;£¥…Ü/‹ _Há^éÿ7ÉÑ/è÷Ö”ßÚÞlhT¼‹ùêè/Û äÜøe˜ È Î—Dx|k¯ÃqbÓÓÁ?ü’Àva5uÞ}Ô–U>¦– ÃQ£¹,QrP>‹ UìSĆgò;&ãÙüoP¢pZö*d̤1¾“•¯×¤"LUËlá?R‘c £Ë0Ãa÷™¥•ð^fkÚÕäDeL5ÓpأݿÑ= ý×uÈÈÛ(—ªøs“õÊæeÏ\2Õ¡J¯|‡s«ƒá36ÿÏñxEg¨Üeo¯„÷LïÌ:QðZŒv7IëÛ3slÙ†½w‡zÈ;Ÿ¤ÝÚÂgÝÏâ+ð-•R ¾™üc¶ùûÕ»½êݰ>pú¡`ÖkÄð3c8#ﺞ“I€LgÁ%(4µ¤m·c_‡×r×x;ßuÞ¹ÕRJÑi‡2sÀ[ų}XÐ?›9¬»e­CPÍ&™Oñä‚KÌ.½'ØŠÎZLJQ2²þøRy00—[ð[(ãyš-t¤-RúÞhæ8H'#æÜõe²ÊO@íV¤zV;øðCà›è*-Kà]æÞÂÁÒh©C 'êW¥e¤÷ë¶ó5.n™XÌ›„†à΋{,ﱕôÊ™ná÷h‚¦émð¤Ò± ñ³áo8d¥§£5úIHÆ*AQsá´ì]úù¦q€ÃT¸;A 3¬ Zë¾ßÓ𘮰•|Fî³Y(ù 3•6ÕÀ5åVD‚Á/h¼KN»eA Åû¦ŠI ’lŠdãŸüS…àrC5 a㛿r[z©o6Ax§ÓÎb\W½7Ù¢³Ÿ5û¥ï5zVo˜:Q]Õ w¿©k5UD0BPsIÆÝ°D—ËyOÑ¡òÂ;tî¸)…Ë£¤”²xj]û9®~J[^=7OÐgë©ÆdÂTñDE»åÒ(ÊŽ*fkI¥j·“íVøc8ŒµWÃÀDÁ1f¸Ú•õeÆ_©äf"3JË÷d ›ÝKà‘‚|_„̶E´ó˜• Ǽ9•2˜/™éW6éôÖhÞtÉú \ßðaí£E±¶JkßâÇt |dJ˜-ÀÓX@’Ãã–Àu Ôƒ4aò  ç­Òr¯F m-+µGL4Æ÷Z¿±Fn‚VŠ-UvÕ­)È*à;ªhÐ f'k#=!ó~juÉ0¹%Ñx)E³¸‡W´Ö…ÊZ ž:§Åb±j1v:^d‡^¶g/[ÆæêS 7"M–Jþ-þ?ûd|±æ|ŠÛí´yh‹+í$Ý_Þ$1¡Y2D%œæõÐ$‰ê>Ofn1¢0mÙš7”ÔÕ–Õ»eÄ‚= òY@šQü|®©xJÇF\Wô}¦÷Ù]ƒÇÀ¯ðd>Ê\ Ð,ÑOBÛõ~ï×oÄš3î:*û1y}\ZéBǧtô—Ÿå烙ôØïÖul‰Þç®_¨y$sDü‹¶t*§+šœüfï$®/5ÞrȘ_0 XØb‡(‡× 5¤ovlçdÃ\`Ë¥–ºG!GªaîŽH¶_ÿŸÀL`Ub5!F§—mvÛjÍZžˆ¸h:gï=É«aWåÔ D‚°RØ<Ëø“}˱óuÖ GÇÄZ(f³¦×+Žè篅 ¥• PëÙK˜˜9’~Û²Ü"" ê?§ž„«à–~ꆊýÿHz7e½g'†0ôT,6°ª[¹?)Þ|ÖW +úé·äⳟy@†‹{lvtèxsMútäGø÷³ê"±#°pëã¦`‡C…`§˜‹Èrîln:±ÓB¶Ö óÊj³÷«ny@C¸×—¼åàhKã—G¬9 ö">§w¹ÿãÊ,wZ5k LA¹bô‹€°ÁÚç1E½®†uºÂ§¼û‹îC[j{Ðwñ«Öi-ä´¥øÎ\–t»” G°×N“¬E"_™¦] ò½S^OéˆLèig BÅw¬™R'ï}Ú J¥7&a`Ä`÷:›Àd_FÎpf}¹Ä‹ 8‹’b±%µ«HŸ| ^Õ ¬F+ãëIW­¸èåºY²áÂIÁ¢ÅùÕ¶æúÛ–3gíäcAåE~ûÕ¸@ã mýÃ'H9Š’jçÑ¡‘í®®Æšz™*éÉž€\žŠÙÖºñ«¾jÃ˧OœåÆù ää€oŒX79yÆ Õ]k‹åÛ•\£Ø÷Ú³–ñ|½ ]UõËœ‹‹Ù„ˆžé÷:žT¹š$Mнëûõ¹,ÀQêj‡Ñ$¶—úºT$„ëcËÖ/Ë´ Ï¥Ò§¯[aë €zÂÓë'”ÊsÉl0%ºþ{0 •~Ãé`ÒÅHTö² ưën‹¹ü¦uC2K:òìy;Š gž¸Ž€)÷¡ÔJ6õkkÃJ¶­¥Ð›é{OÕÝ6ռܨc'Ô–l㘪3 Ñ©Ý/˜oùËJaò„Yr§¥# ^?ýòLÖÞ^¡Y¼H ¹ò'ô{)ôwÇÓÄ·¼î03<æJaÁ}gjS÷‡ˆÝ…ñ¼9,D„@¦SÅf,ÄÐC¯.§ú~h<ìÑhFÆ"ÇërMAªšüg±I¯¡­Â¯sÔbÉJ®;qòŒa½¢Þ®/ŒÄ!"5¼<ÒÌE'.Fxr³!eøÇ[êÛóúYëÈßHYœ–vœî"¿¬à)I­Ôä‹zJýöáè'®/_ßÝŠ´éi}7Õ›¿Åq¦-7W(Z^“Éä!yjíWÐr6eC£Ðc º£fÎhøFžÊ%T ¦ÒվĚaj±_~Âmí•8<ß$9{N„¡àvp8YPj#™;QÏE°ó)­µq¦¡·y%÷ßÐYÈ“2„H70ÑŠñ68××°Î %ÃjöÑo*x Á©³<ÒiòÄPoš2è:n4»ÃA•äÝ^ä ‡` SÍöm÷fø¦+ö-dDÐJà>Ú¿ôX´tüò³|’RbwI³Ø–Þx„!ùJ£Èàð%`<ùnìåk¢± ä r!r„ÿ¯pe Ô"!µ[σ͙” ÇÉ´*"Ⱥ³ƒ†Lœ(ªËÇ®<Åo•Œ¬1wš*)¤Ô)Sf–)‡ö˜—Ò^$ Æ‚ŠRÓ@wJ1[C›˜‚–~±söš*cï JqpÁß8j`”C §ÌŒämuCiú!¸íµÓÌ0ĈBñ”oV¾å}va jS™j"uÚC‰K/Œ]> ê9‚žé‰7VËS-Áä©Iou—¨È–$f„R`ºa©l °WI¾x…—yÝJNjm›¯ßì T’ߣ]{üeÔ¢ƒ˜l5Jrq/ö~ŒT€§Û¯—a ‹€èr®Š)'Î;ÞîÄÒD «‘‚ÕÍk¶µèG­à¦±U»Û¯,•lÓ¯¡]ãÊ:í+Všw¹Æk©žZ""øŸ–|˜æëIåð·þåçt=òø"w“á™°VÍVáçÈ*0 Î>#Èß!íMVýGRí Ïå‹*e «¹<{VW6–c,nŌŗr™¡taL½¦qU"Ò‡h)QVúg7Q:öžNÉØeÃH¾ˆ‘$–fÃڮϞR¨=<›Î8§®˜¿ã³?3µ !sCßy ‰\%oúcæ`™ï<̪î‚h¢Ÿs£ØlÇXÜ„?]~ƒrÃæ,}7õ°˜{ óÀšã̺=×5…§ÝINm“éårÛi™œdy?/¬–¬œQ„/­¿žÇ©YÚMÌVçOsÓɧ¸â7'õý ’dzÚT}Mu¦U4²“‹§1 Þuó}ëq,%›h8ñ, ô8×¹0(¯Sž*0Cmf§¿ÐÐŽCª¯ }+•¼îN±}-À<ï l3Ü_R™¦™MJph¡ŽƒÞ/z…éÑ?Õ#æÖÓÄ$ ËÄN@´–W†ß. U7̉’Äù8¦g‚ü2£ÿ¦Oøè/Õ{Qv6£«°!åt§Ná$æ8y´röf•×I‹«X_úÝ”u Á–Ë¥þ!ÓI}s:;0”\…Ç¥Â:V’”%/¦š)B¶´Uld*—­ë‚à æ©à5ðÛÎ KE'3jÖhŽßF"W1Ùî·¢¹HÔú7ì‰BÅW/Gø¹ ØMׯõŸŽ7€÷QNôדeñêQ<—.@6´PÔj¾ëщ°‡¶›týM†.‡r˜²“‰©@>ÂóïÅœæñYã@Y¼ßª&$žòŽ¿Ž"rwB«6Ä\6DT¸FõjJ¥˜F± 6„¥î=šÐxC¯—'{šÈu…›O)\QrxlËÜ…æ½Ð6çä8]ݘ°Ï) H®$@«³Š’‚ÑNìâÊ^õR€)V9¸§ÓüË´¾sÅB]@¼ð´5ðêÌv%Å†Ýʸ“¢#$wüãåQ‡¡éò[Ú…‰à_ˆ~3PsûÏ"µÝ:ˉ²ñÀ¤Ž ˆPf»'f-“¸ŠžUäÊ|?++è*ÏV—ØŠª'”XŪLΖfÐÝâxœ 9+IÎ?eø³ö”zjëhúb¼¹¦QO£{;R ŒÊ_—Ϧ®ÿiÛW%¤„m¢†ýáÊ_»6±\~*TÊÀü<ҿߘ ¤äÖá<ø¬„“§)3½rŠˆ6úñY4¾üÖ}óÅ“Biû>$ÛOÆM`2Ôšï¦$nð2À”ƒ,Òªxò(hÏ/#‹ãÌWZ¾.ìíßêÞŽkjEo­ ™„é—°FúfØáp{Å SBÓߺWùUÏeÅãÖj.\}ü/» ¡*NO͕Ј¤ôÆ*"„ L$Ê%Ò”n+­‚«q ˆKškÍòl¯÷|Ò$Ò€ SQ2P\ÝM"¸ÖY²*áµaf ÛÔ}u¸¨¾$4üÙÉK䘺 °!ùTEÕ§èwHTUYÊ=ëçå;m¯›´²w6¡Æ=Úû•®»íïãPz³ÜxsFXÝ݉Ìï(îa/@ñ„8Ö¸[„ž¹Éò¨º-²°ySê~Û% RÄѸ‚$NŒÆXó[/¤è<<Ë"ºˆ}§wxù–—Då]8aµÙ1‡tDÒ>¿âŽî··ðGÊñîH=Po f(~†„{àÃî¥Y}ëv˜èÝÏl4RKÎ Å[€0š§”=K[‹Üpxè¢ré€þþ»Ácïir G||  fvÐÉ5ž-×çµ;¼Jˆ¡1Ù9r½ +O5ˆªuœ'Â(Ò„ý”œ Ë&Ô¾š7¦t/,Ïb½9ò$;*£õ˜«/Ì\·¢óƒpÞˆiÄ%’ –2Ú¹XBþ2–Äø”-é®Í2´µl¼O¼S¿öÏjÃ:‰Y]N…qk¶Am'!°Î Ì´¸.ˆ™w*m7Ô• ²·0wùsöö»xú×gŽ"©sÛï ¯Dìçï’I q¾p˜ëº…)Äúsêöþ?àÖÿJ:þhŽVEÕ‘+Ò‘,|üf(Bª`Hñ[ë ÌµquOw@rgô¢†Ùpc0$e'a‘탧 ÝÛ’ÐÓG'‰ì8.@"‘ˆ,¤ÆŽP2ç{Òt£xœgxø§4XŠRïÈnjИ;E–}¬áïY (›ëd£;5vYÀVÛ¸ÏZ3ïëbï1E7oM4=‡Ähö&Ô*Œ©.-ñÏM•8N¼ÄiZüº‡&ÖòªNß×G:NFUGöÜ9ÇïÔ¡×ô¶ý¼†ƒrH)Òáš sD‘\ pê+ÿåñìöœÿcT5¸æýÂfÏ%“ê½.a¤ ¢Ÿ¨sÙVh5P_àKZXož‚ì­õ•$UÛ#,Rì ¦Ö«5Hn–]h'§fØíŽS)\ì½^+ðiíÉ_ša´SFbx'îa|Ó¬Õ½W uj®ÙçmÊ{Ë.^âþØEøGÙ>\¢×•õ‚•s´Y– ¡"­KHAp¿x»{/tÂ…ìíâ-Òúº€“]R_¤9vˆuReîþ”ç-±¨… ŠñÙq—ênay{‹óu[~ÈœÍ<Äï:?p—x×G×1}ò£OZn;kjÙ N>6”3\1Ó±]Mõ¿B\=+~­)ÐL‹QŲŽ9>[£û‹ô< ¯ýmPd,|ˈ’Že‰ÞnAN16ÆdbZöHÚ½´Ô{ QÏp͹ª)ê¦ÇLWù=PÊy\­Eê ˜þ´¨’äã8ê `­ÑߤPÇ]èit›ˆN+i‰™¢ð {G.È¥ ˜§T'VJa‘î¦ÊæÙfàB6J¿ßbï´rå÷ƒÒYbžÎwì À´àŽÅ¸.'2wõq21 î‚üKaQ!À˦ÛËÞõ`nß3ƒ_­;˜¶]æ³ULGîæUøœŸÿ¥>MM:”µOö*%ðüåTÎ[CovXâR­›Žê1r‰Åïf>ºÄÐH®*+-ðõQP¼a£¢r± –ùöžM‘`4]±á‹àöR3ÎßYÀï G/l‡¡oÏfœ}Ú:8ð"QÚÙ«,! ­Ü™ƒmWî‰x7B€Õ°úe5âœýõ[‰…í‚îÒ8/u‚<'êhˆ· ÍGÅØ4Î9“gM5ëu6§ê)¸™Zedì+EÙŒƒ6ÄëLdB“´Küj\‰å pa>cÂUCW®¹sKwݮ܋(«a™j¡ZÊ-gl»£*<|]ábÌ,o^¤ó ÔceQ,/£aT˜~ë!Rì,jµ„QK®Mjš"ä6O·XëúOÜçŽy6…ž€Êѯ[7K À®’”ö^Cù »ÀÛÍš˜/yÌi³ãŸHø¼ŠÌ[Ö"p+£ˆV£,w\ÃH~A>Qì^]‘¹µn†ÆPG¯íÿ΢—éK” <8x®Î*ÈôñRuU~âCŒ7{ºÕžÎÀžÖÙ(ñ@éaVésÓ@û¶Kñ¿E1©;›ªeLP†WŠeóæÊUî…ÌVƒ¥;û6á3]8yÿ‘*<#+„¦'‹ nÏÞœŒw KÊþÚ€[u>(°ÉtÌÆ×—%]t½õÑU3çláÑAæUÃm^2WžU}‘í5P‚t¶xì‡ÇìÁn ª7ÆHÅ.ÍY¥Ê.”žä/ИÎ_„»èyÑ–x€Z¼Œ•Ò)_3áÈý\/=JñÒ¿A:Ñ燖ïë½’·PÀïç†@ûô`mäÍåUŽyýž÷Þ¯+ÛåZ¶±‚,„`¹Ìëæ<›³½Jðîh íAyÁÂ;ac”ØÒK“ÖÙâyŸmøþ7˜a¯5fM¿…OÑ—5¶>Hè£wüdbXÁC‚çèN`&J¿‘ñ»´ÂWRŸó'±8•[´^NÐ7ù(N|$u—ÒªSr†™Žñq(õõ€ìßwgý·D5~C< ŒáƇÒ|wýÓ1ë3Ö`ÂJCÚÀã—[Qn-, ÒÆüAå˜{ßÜ7u#Í;AkæÆ—gVÚñµIw%ßÁ{Ca:%Û#{x=äA”¾â’ÝSxlBJIÙY]1!O‘û#yƒwR.YpR\×ÇŒ" •F˜5°60k›buÊ5T…JP—3gÞi ]ö‡W^1hÒÿÂàY ÄëƒG˜H–SŒª ¼‡íïg½ ž2Œvk/‹CdH­9^Ô”/UÍfvƒ[ü“‘³„ð?®^j¿n7hZ_Ò§TÙ9˜”¿w€ªŒ—³*^»]ò,Øÿ:Ê?Ì'ÄîUúÁÕ”ëĆش•í÷­q˜‡ºß㜕‘ér(ÿ{cx½Ä´¢©W©dÂrÇ\†£ŸË$‰"qæ<9–ýЫKÖÎÂ6Ö¯D˜¦Ï“x®Ÿ–Õù¾Pb¤ŽFÍ/†©.þd¹u7´Fû¡J ú¬– "‘ö»+‡Pœrsgyém_ßHÕwˆèr ’®0—Dtèu›q<¬q³Í~2ÝNÔĶIWîÌæ±Lœð9õ Âsß{²‘7x(Q³þCVðjd±6³a)‰‹\Ñr©É‰ ¨‹ôKçB»Ï}m'E}[!¬ð Ñþ)_´Aàü˜ÕëÖÌ2š1ÔšHÚ¼‹&εð«øè|f%âJ¨h†ö{%Žo¬l"ßÄ+Ç¥Ÿ,ª‚ÆëöS‹:&õžOÅrúa;‘޹d Œñ/Ô0­P :?äM#1Àù!7#ÛcàºÉ½K¿+”†­©°«ÿÇCã¼ ˜â“Ô=Ƶà Êë[ú†M ðÒpã´Øhn{óÎPŸƒÎØP´•MXÂç.__™h¦5 /¡|sË๑¾ìG³ÙgqƒÆGoÌÖ+{cCÇåËÆlqvÞ~W€Ñ}Ïáé Dù-¬ô9@},&p„G¤Œúí/¥Ö-~+d-莦¼5Ÿš³ÏWª2QÔØ±Â©ö®œÑæ?!¥îÍ5QÔîìb…or8Ç»¾%hÞœŒÃA‚6ùÐ`¦º€þM£_—åeuO~POéÁ-à˜I ›c@Ë3ØaÂ;Ä<_-]#ûTC.7x·‰N’By˜&677N¾ã¸£å óöY …î|_%C]\©–`ê9ÚìLè“5Mεl„5¢ låh û”W»³ïbܲ!ÍLÖÈKû£•Ê8) Áå¬u©öŠ€½Nåm±Ï^‡¬n³-Šþù·ã /%$@©Ú}TÿœëâïÙ—SGèT Âúßt ÉBªku”Q¢M©Ûõõï bcnÃ;M9:=R´QŸ}ñ©“Lp‰l0‘8º­Ò\œÐ|1`þmp½„mŒFð"D’hÖ«“hB±µÉP4maÇôÓçåÄ^×kMÃ'@€v„ÖLxí¡¯¡K…Ð_§ÊŸ*,džÒ/ÁîäÍ µ¦ñê Ü‹¯ršÝ m¤”€¨ð±hÌÆöi„?,XX?Àû2ZùÌÖ¯(Ϊzy£E¿ƒ;À±ZyCj*›¼JÆ—åh­RÛç,®Jë7‰ûe./„:a¥ È5&âwj KWEÜLýY.ƒßYñ?)ñÒØ°?V—B-M¥ÈÕU7Їý’/3 Íy]0µCPÌ8Â$‘=¦-frìm{Ñqbž“© ñ‰^ÛK€Q¡—Ø-@ó=kKÝ,äk–îK˜Ùÿ)Á…ò5AL!ú> ^Tû¯ï~­+Ÿ¼™óp㊱+í_…;Ëu2@ø@»àäZÒEÈgД˜îèÁ˜WjÍôLõÌ«Z†/—küÔYðhp‘?ްã.ñÝm:sÌ›-=žùp97ÛJÓL†· ‡ÍµPn7ÞI)Öã7pXø©(†Ú~ƒ¤}^5Ðå€_—"$ÝÊ©þ8¢§˸i µ“½IØ‹5èsíP§oõU‘°Â3,ãµ~{ᬼñ¬ZNsÏZåuîîz‡'˜°‰ñ t>Áë…ë§ø&¿‰£"1 ŠRµíýcqæ}W[W“rl@êGD°Óþ|ï#G–Û±”‰%X߉‡»hõE¾«lκ’Vчuä‹¢Õ@ï@¥ Ò.—”¼¼…¨œ%¬èvûFm‹Pðž&æ¨üóŽw¬€ ÖéÐÓ~DfàF\RAÉêgì½}!‡[DdƒÊ¦‹ ĘvÀ±ùðâÝ4×ý§‚‘šÕp†ú0upiŒÂ ãþ5íàî§_Äa[ŠÄæyío§­w„— )eËåœT!œ"Áü™SçL&éšÎÒ̇ª€V/Ž~Má-ŠRMùñøî¼ŸY^0rO6 ¯f—<Ýl0¯€ë"Ý…Ç^òI—=AnŸ·¨ï)­‹“CtºÒæúÆ *ÕyåÀµnÖ½ÀV%ÖÃQFö®ýT‰9 @×wÈnžlüýrRÙW™X ÀÊS@†‰Îm^¿ú!«gXèÅp}<7å ° ž´n.õ5,2w¾Š–|Dÿ“Ö-cJnìštU^~ɶ ã0¸-YüÒÈ îo3Ý\N¾‘†é³$¼¿L>YošÑgVÜ‘Xf§ AH|÷g'½fX}p¹Õi㯳ÓqowôÇuxIò«TøÎZ°-ݰ1àÀGˆžg.ÉûRŽÆñY¨~zÕ˜UÎ iXA%à,ÈZ;AÌôƒôz©¨W,‘ªk΢AÓv&, ˜†ØÂ¹ Š—+ìýKrÈ(çÊÎÚxŸÒì~ —¤8Ø‘=®µ †XìDÂägDbo¢#ŠçKßb39‹ážiÚîSÄá„Y¨u|mÖäB;{‹<á0œÉ­jE!ÔÁž5Ï¡q’6÷õ&†-ƒí½À×ÖëGFqåIʵü¨×®´Ë„<°³}Y½%ÙB ßü€„Þ¬‡U²rïÉ¢ÞöDe;Qð(ê¸lú¡àSPûˆœ³GÉ|³6ÝÉž4æ×as‘·0Ê3÷|o©W£ˆ46+%‚zå*ü³ŠÌºVÀpqXβñàMÚ=µøÓ™Â¾´´N?·Wõúˆ"öm¿ê®o¶O+ióx{Úm+-‘ÎŽ_ÙŽ`÷&¾´;]KÊ ÃÌ–í4–äÀ¢ŒÓNƒ–H°aÖÌ.«}à–­CôWN O(Ëxœ>ÿEgõ¸6!§Qxž”ö1³¾„¼–ü#Æï#RãY‹Åf˜ôÙë7ÇJzAÅWÍBOO}GÒW0^ʹóàCõzd×Üš8Ý“_*)æ7×ât=Á”㇨õʤ˜hpœ]»Ö ±¯ú8 b‚4ý¯hk5Õ¸f¾Ý”x1""ýØÁÇtµÚicÚ W½ò€+%™µ\†ß$ûõ;Ïâ|"{ic0J~ûFŠbWy71²ûB¯ú‹h˜>;¿{Uèš-2q˜ò0‘x»3<㹦û’&vLfèx{;Üwfv‰+qŽðÒ·HúÅ׋#ÜΞ^¦KÒ‹-†t‚·~¦‹¦nä_q¥„XðJÔ½ ‘¡ƒJcÑ »ÂïrHLZ€l ÉôF.•5C*­™JŸ‚4é­HÔ*r¾ÜœÜÔ¹ òMÛ[uÏÐærð‚Û¾g½¡(”g8žmÓ)™ò:¦ã}H™ž1 ìO ŒPìàkbmVÃDþ¯›¼iÝ I°29tîôɦ3Œ„íhÿÚ¾zÛ9?7$¥Xu}ÏŒà=ÞwQ€ìBŒpþ[¦ÛÀíÓòzußÈ‹ä¯X1¡U¦Š ^~ŽQ øÕ!²ý¸A¬ª§Âo˜_ARŽvÈæ’øÚ‹±rÔ«ª?u©+Ûì Ôbdíý®4ÄèÛ8ðsE¢ó†Ä‰65…J×müÎK‡½ÖCà-4ΛÁ&»°BwP{=Êm!5½JBè—G:ŠA¿ÛW­c];`,@Ù2òì§:ïØÆý®t×EL~Q׌įBüXzßµŽÐgz û!ñÚév=ª²ˆëž­G¹K9"ï‹xÏI™ê³¨CÑ3Öº"¼‡6 £"%'ÂÃe,“Îüß¶…¿çÓ6N:›®ÁdçOKèSÐ xY Úݧ°ócdöŒ ØLÿ°æM½g0¸©{È÷…øÁö ¹ß7J…ÈUG—÷Ήv¨ø¤£Óã0¨½Æ@ª9t•¿õæâ’MºH+#0òÎH@‰…ûÿ_w žï@½òª••9TŒMŽ~ÉÌ  –ª‡1‡l¿â,F(ÝD½þŽ iŸgrÌYŠ¿UЕܭ*¥Y5ýEN–·ãÙB_—Ûqdù²¦nmpc\éæKL9ý ¢[•Å­-Øör݃¡Š?:SÅ OaGðÙ$sĈjYcäÔøï‘CœÀî4eM:IÁx–äÑý³NŸ+,4ÿî«•‘}뀠)üwµõ›‘lIE Û¤òØÍ2à †Vð„ĘÔtÙ„üóí ~゙ŠíðøýßçLŠhúµ_ýå0àÙŽ”ðôk±=Mdž%x¢°«—œ´%ÉwŒï] z¢ài&¬-Ýr¹kÞØä’4ŸBÌ™œµh3d¥)ûîæ¡O¦×àýØsR1ë:Ø÷4øÊ€øÝABH“X­gÿ=Íc+¢ÞÆñ9f'¥.+ ±-OØHÈ-È•n/ù@¨ƒÌ˜i-´ÔKùqË…A Á‡Æ~.°6¹”à»'\>?Ï×béoúkM—‘ƧÒÊpø kË2ÚJÑì0Lÿ-‹_UY}©8ºè?ôcš¾0Ût ýüÃTPÖ{Ju:thÁvI‚VÀÖ¯‡ôd|µhŸ •4ÿ­µ!ÂŽG°-?`{ô(ï@´§2±Ê K0Ÿô;°f`±â2áŒl±,ZE{gG?཰i½M–»ebEW»àÚYŸgÊš›½ÆÜ4tvŽýÃú>Óܽ¯¦©»ÀK)¤y,Òº‚Èœ Ë1XyŠŸ³®¥Ú3:À³j¤^lBe"N‡Ú —Å·Ke[Ï+Ã^˜‚¾Œ73‹à$£©¶‹Yƒâ@¯—’l›…IÏ= ¹¯Ê@ˇį̂b\XL#ߥ5­ ޵-éM‰(þŒôý6¦ûPuN›9ÅMw” š“¢ËÓP á¡qŠÇøƒç%ÿêÇú©½éáOæ_·3LÍšÝqeÄÙì avþH0£™CÌÕøït*þ3à®ÄThBÑ!uÎM©Øî¾aKÿèÏ¥QL}øN»3úÈq!ª”l§ýog„4- ¦Uþ¢×Ýaȵ—erô-‡3?î¯b"¿³ÃNåéí¤CБ1K.£íqRúµàÅuükSˆÏ]™¡!i3ׂhÉÕ¾ß)ý5Ä×2¾+É[ÌyÄÜ^7ç&-p?úèx±B\†˜­xwéèƒf@§&X·qxþË7ãjþt©ùµñ®odÜçD&4ÌkY;Y,< ÊïlÊ5måopM¤ñДHf,¢CÛ(rÿO@æWE³Ñ vÌRÁ ¢),¼Åeéw#¯³tsy´­—]­³H³ÔyÄu¶)Šúp_«\¨| ÷ÌËÓ;A/GCJŸl ›¡ÜÇö£!#’¸Ra0 -92.~êoïéîŽà ¾âN[Ù’ðÛâLqx[ 7Gë[ÆÈ&ì}|h•ÅLˆt®íڅɳ­ñ¸JDøE´9þmÒ˜+‹ýÇoÖyݶi­²ÛŽw©«4γ³–V×…ØÐ›ºzíÇÈè¿×¦Ä7bÈZ;wØ5þû¢’_ÑuÍF©ö±Œ¥á^‡>——À €,Û`µ¾àæÃšTBÎ~b¦;!MÖ3KwÀ‡cGÒié÷6b_!sa‹þˆü^­ì@8›'Û{«¢8ó¿$ÅsP¯õ±NôF£’H‚\ ÝVþ{&ÎUwØüzk8Ÿõi/ôJ¸©¾d47PY˜S¦0 fÚ¶—Vñ£½éaÃG$ÇÓâkæ#ïÿ—0§­šÃvD[ʈ…n­ŠecÌ2û· ¯ù:9$v\\ ‹(Ž s¿ÿòr»Æ’=†3…1l¸òfð…e%«HJ±Gõœäµ'ˆþ5hI5õE˜' £4pV”IØÈ©T?d—%×x»ñF´3êFkd"¿Ÿgëß§3¦Ô÷Ž"ªOb…Ù4ô\×iH4U Ç©ÏqMXÀ„js;ˆÁðižÝ4%íëÛá ,× Ð4Ïg£(^h Ɍ⯔…Xý0<˜7Ýi¥ †+üº5xh-{þB©ŠR%ÄÎG_NÙj=}Ó×ÈMªve9¦®ß×}b• Ï}.hóŒþú‘Ð4pÑRÛôö9ÃѪ=¾üVËE°p§º=뫞g‹ Ë|j§ÕöfßWšírÓŸ¥ÅLªY©Î‰6Uñ¯€Ï‡^ì+W^YŒ›L¦ZSyNiaf¾3,p3,ø ZžÞ5oœ^«†(Õ"œýäd^”õì»þí@rÿ¤ŸÆI÷WÅ%£¾‘Yñ–¾c †(4rKóó§\ œ‘øÿ²Ë“!cX’2…ÚHǧ·+5Ž) #Ǹ¸wä±—ž|øØ£ÅtþµP3¬r g•'ÊÇd%€(3ɬZcòãk!°)ËL€Sr+%ídŒÒÝ´ÃìÈtDÒýç:?Ú²,²¡»™„Šâhpfc.(ëQ×¶ÁqÇ’7ÊÅGÒ‹’¸Úèùûß#Ï¢]›—z@‰uZo~ð°˜: n»•„Šd{”joot‚êæ,*ɨ·J˜-nê®dŠ$r¨¸"ST åÈ¢—N9&íBöÌ»½NÙéŠPñ¥Þp¿ûEí SÜ3À‡kÿjÆÆ ˜wQ†âš«°}ag94¦´"°ˆÙ&‡b˜27¢fÅ7öÄ”O+®d1ý¿íbÕU׿1“]ø;ÎÀK&òÁ0‹±×4è`´’ É#$‡$>ß9ˆeš‰Y¢²²A&Ü èZu˜u–w“»w‰¦ÒHNðÂÐý(-%–ù8(æÀy9‹ˆ»<0Œ:§…qƒŠ>< Ò"ÃÍ’ŒHn=Þ" ÀR«b/ÒÓKùú°¹jˆ†¨ÝmõþÖ%ëÝXÉôÆþAÀÎÇ1FнÔýãpS™ÚìÄúNXµ½Ä« Y@\³Ú¤Y4Øî>ªyâ‹ hõlª ®‚m3qW7w!÷ÕóoOQÚ Y³"ÃÌË:Ìy`iy0èi±ëﻞê‰rÄKÚ-½-1~‘¡³áv²Š«{ÛIx5ÆÙöyr;‡ôüÀ’ž¢ç<%ZƒŒ^^q æ’IjŸP)ä¢^CxoZéZ­á8lŠ23GmÛÊjïüue6z¼­±‹…Uõu¢7œ[Ñ­y/‚!$±{Ôº/ ˜M×~3™íotáA™Ü—îZõŸã昮Ÿ%#0eåîtmêÇá©iË¡“I&.0ߺŠX˜Nþä¹UÏôÍ•Žll± €FÇM¬Õ’g=nEE©§VKòœα§BQ¿°—A(Ër b¬VªÉÞ`§×¬Î9ƒRýù.÷±ÌfK×Ñ5Á×þ¦)Ão¦1xöªüô¡¢[g'´<™žƒ±Å¬AP~¼ë!¿˜eÓLXzÀ-Ku¸™^Þ5lÎ6º/Ù˜¯Ø”M2Ãqçð‘0_:J͹é#3ÕüD€‰ÂÏ2ÀòCÔh·”®{,ƒÖðîeY¹® ÌàÕ4Lå+,m­ìiOíérõÖOêîGS$ 8,ß­Âßqˆ³G, ËÔ-?"œ½ÿ®ÉW‰+ù}ÈTâ1°èMævÚ*„áÔMƒB“Kó®ÖOµO­ÝM¤ÊO ¿É57ø¿fh¡-Û«Ãêz;V”jÒårgJf¥™Ë¸-ë¾`Ò½¾«¢õÀ\²?#˜€E²úhqK“nË×ׇ—¨q/âw¼³ *9©”²»&ÞL”ﬦd@ªí“c QI€µ¥"~îSy^Öd#YW6¯5´7-æH«<é¦ Þ¾÷Çý—´C= kEË ðC‘¿¶˜(²ç»(÷!Ëî‹§ÄÔåpv};¶¡ƒžš #s£?r™ûiÔFúžD^ƶ6v¦ôÚʺÆ8ÿ½Ýîã}â$bXcœV0ÔAS]ƒ% úë?‚V=FÏ©¡€ŒO1(¿¿–þ‡ÐïÐùúo!H˜N¾!®@QŽ0d7a&Gö´-k¢ Ì’mÔnÎN¨Ü<YSæ=\Ð=ѳoÈc5Åuï3ÃÐ%€GHÁ8ÝDT©'²z=n1m…{»‘ÐLüâ Xæ§ œ+J…mbwÝðFØ©sD²“ %NìJIaÞbËs±†á§Oö6ŽÿÙë×gx™]+>ÆÚB¶¶òœ™¬*hɵRí_ Ç mG›Q×.¶ü$&C+iâP%°ò¨ŽÇsE5V‰Ê–nׂv”¶=ht'à’pB€ß4øæRß{\Ú®'ƒ¥N<c&žydq<Ä;ÿÜ2µÒÞ1`E!ƒ×w¼¶„ô#§dž¯ò¶geýgÑ”Åk˜€½ôÚÖÆs'örd¢Á/ÝHðdj™ªÿ"Ro[êòØãF\«)ÆþKàé.úx9Oµ»…šp6ï« ÎÝÏÉ÷F¼l”L Èèù·¡,”n½çU$ñè‹«•Š ­ÌzHoîØnšxbr’f‰¥~‘ä³Íˆ!|ðXó…ç\:¼MâÔ¶^H\Õoª–F@Z$Õ¸S QZ‹N^ËTß²ž£Ÿû<ûË}}ä™ì »²ÁÑ逨ƒÐ!5ž²»X½Îñ¶.ñbÆü÷òFT9åšæ÷¬ACõK€<ºû©_ظ­ßTh|A%ú¸‰k)µÔ_I®3b3~¢Ñ6JvñÓÜ÷fe>Ý÷îÛQlm&Uʇ¸>Ù¿Ä·‰{9¶ ¶Ëù ÕÔg•3L À»:Å€ ‘G‘‘ùžöëÐ ‹¤«Úu7áH°wb›P;ÁrÏTa±Kþ‡x¼þ'‰~N´íè<5³Ágö „óÏ`gXƒÏ…èœß¯¦öü_2s%ÛÌkÞ]°¦£°I”µàÖ Þp@¤­8,ƒÅVi¤A¬÷ÐQжvÜ|X˜¶Z¸úE²Vm07¢¥lÜb_I\g02î!KÚÍò#N©ù|È!ÐYhç’b©¯)ÁIùaÄ/ü„ê¸øÖo½×䨂á2ž`ÚÊ¢®ìš"‚¬QÀMÍíûo©yKn«·ôý^×ãG`£ÛÍ UÃoaY`Í6„@|ñÊévZ„ƒ§'/hkÐû¹#÷ÂN%ë»=dø¡êž¦ý%M ëf[ ¬Á¸ïpóÚ NßžàDø×r[az±«È¾\@«‡?Q]“bƒÖÓÁ!NãaÜÎÚX‰Ð"ÕIxóMLéÙI,ŒGº®ßlEØp•m÷Ùz‰ NUÙAs¸ ì³6z Xh‘Ès™zʣŹ:¼¬‡׳Šð­x÷íÊj˜B*.“ùÕ½CþD»~Xo’!ÞÅ;çˆdÿ‹ˆ  bÖ5„.Rçû*4«ïnÅÀ–f§ ä7“õü8†$„è(e2s¯Áæ ÒÃŒqÇ+<šÓî»¶[iÂ`ÌÝ0Sºrèó +R‘@=QD«s\Ói¹±bd¬=1[ˆIÂ>K( ¾€Ð3q#õv.¹q~»ú15+9ô>Ø.cŒ,‚¤sÅ ¥îñµ5çÀɈïpØq@p{wu½ '>(4€hÌœ°ú'1‹7Në-²£]*›W,['­BªöÉd&~ÝoM“ÁFRÞM·ìRÖe•~÷½Êr¡Îo« ¤Ò¾®py”9©Î>—kê‡[®¼"‘Fïfg¯Ò°•„Ýo)º¥únÎO/·r§ÆÀÿ×ఔРí‹ õÈzûÉòZx¬'¾7¾¬^'»_Ó5Ú–²aPuõ±öº‰‰bàP+ÖÏ [²~Ñn4ùžT퇦ÀÛ,®ê½;°Jg·{˜®äc]¦XÆèÎdÀ~C~I²Å÷œ´‰htÎ0~|©ëG ›ózÁF`•­žìŒ}ƒf]˺Ac›U‚l Jèö3ä}g:©KŠ1Cð¹ Aêc)€6rôa›ùÊ£í wŸL¬¡öDNÆ©™¨wÖ¨|V=Ž‹zÁÝrêUº¶pR‚ùŽÿ8$&‹*v½BÑ*»³G‹-Šzè‹ì°¶~K)ú/Ág|LJÝ!·1ùˆ¢PÊ£ÕÎA»+1Œe4×óùi•V’z ¸±g¼íÓÅ5‰Ú¹Ü{•¤0uþ^õ·ªË¾P#û½ÛQ¥èÓ‰ Û+{ ê׺¤ã3Ç'tÝvåË:<—z_!7"ÚÁõ$\wJŠ\D§§ ¢¹Ç…úc£‘eö±¡g÷Z%ÍÙúíöØR[ëû ¬œÿ‚XÎûIÐ×Fž—‹øP|¯›[¸Øl,žcÍUçùþ‚ 0d–¢d»È{d³ˆýŒêšÝŸcavéÖ/ÿJî Âd@¹ô1^aÞ‚øv¡XèÏA쵘byJÌ;åb?N½Å¥ ð›/þ b_ô¾eÅ$bBFœZø†T0f\8Ç裢§>h_°6B”7^¹–è/°w4(T• ÖY•ÿ XÁ„© ?ö(xRƆÍWƒ%_ù â_xÑN¸nƆœ¿ü/ÙX["8J_OK8­Z]`ÔoF ÈV¨à…[ÓôZí£Œï¿tÅîi:²¶Ñ†(4Ÿ&‡žAA”44K1„Õ²’¶ÏÈ Ùrf)ÜO)ùZò¿q8…8ro˜¦“5„žCç Ñ!J@Ò lƒâ”Ø#Ëâ/ÂQÔ[©;áED·à%³£‘ôf·\_4‚dmTž’ܺÏtºzo•,Ñýž\<šD\ælomEd‚«•Xú»P€o)#eTŸÛW&Wf%‡¼„ÒæZ!÷éA·Ï˜L±Š¢ô7 Ÿm`>OÕ ÁHÜiñÿ«Ø3Þ€ô.~£°S-µ»;Š4Ý[´¼2š.¦Áœ6{›ÏÜ|Óêôk+àðçmïŽÿÍõ±É¹ÏW?8ÕÌMZ× `ÆÆéõý JXWý“îñ¨¿á6–NÖÊOê\ ã€Új1óÖ šr3`.è"Í5í©Q<‡6Õ{÷]7G%Î8ï€Õ%ãÕ_9A¬Í (•;ݪƪœ$sQçGú¶ÁUT6D×.©¼ÿ楖Ù{aåžr¢Šu­«ðôoÁÎÞ)õy5 2o/H,Kî´oL¡u}“m[‘æ<sÒQùäjhž÷/ô ÞæR 2Êa‘åÌ42CŽÖ³Èâÿ´æ8z­ô°>±=)]`K1è×¹é©âFÚèmAzÃNYw {ð~À:2ÕõM¶,,½HùuoÒ@ò™4eµ³h¿q•y¥f)LÃÿüÓC‘÷ý!F¢öêŽØ—iºé‚øÊ¯|¢®šÆ øŽ-ûñ“&bÖè4‘ÄCcNf—*þ᪠dò¹nÀû_­€°A9ÖŠÓ=R‡åK´É—`ú¢ÄÔ‡8>™î!èY57t-Êd÷Gîk¸×ãÞÄ·^ø‰Xícµ F׿öxS²C4`ð0rÁã–o}‡Ót9™ñÞ/_5,ŠõɯM–Êïbøxúe.)ØkÐÉiP’<¿ß_~üÅMÈf§-A EZ/¬ûÞHŠ…„ƒ ¢ÎFn^¼j3NÀ3d•b.4¹?€³þlÌqk ¤» >Ìt½™„à Áã6Þ•|EÔëtDâ7èìä™!pîïªÐ?)¹‚zã<«[`A„e¸ðx¦ž2dnSÕ_®ý‚¦’Å*Z^=lc:E`ƒ~^ö>½?óÓÌ \CäqRâ UC®(efÍÜí_*ŽÛœxû*x«³ËÔI%Vš‘ èÍe#î&vsåB›P8««*s5QÔqÝ/E·iò!Ï`4Å·×ÄA˜åªgL 7¥ÄE`®¹F¬"÷Ù¢(oÙFû"î<)ÙH·­2vÏ>v‘ò}4†kX!¢Å*¤…'‡<ž+Y19Înæݡ‘#ï†CókM,gaˆJEÔŸx «TyÊñ p:²ŠÕn¤‰‰ˆÚ»Ÿn<"áyN]·¹±+‰GPDW/ažð,îûü³ =5W†F ÷1§uëÚrV(8Á™$¯ѪA "³É/âíÔÙÒéégø‰‹V/ æÑÚaâ»ü¦å©]i¼1#Ö7µI¬èeõJ>Ô<µkõ‘x¸“.šÆ4d þîô’äŽrø¢£>›z(Úù/U%« eæ:¹dg¤UŒϬë'ÄÈÁþŰÙSS'¤jÔT¹+ßsœÃ8$ÜéÇñÊHGLÕ¯SÍD~qô!õ %µÕºÕ<6>Ô”©khÞÃÈñ’bhh±G‹ .ݺqš˜\6#úíÉÀÑ£Evá|ÊS²æ7±ãI„sŽL-·©esnå§Ô#lô7öŽÀ= .¤•:F8&ÀâÁW¹Ñ§²æ>£ñdÔÖ –'[uŽJmPº÷èw<+Hüç<œ!£“¶(d‘P.” Š [Qo¬‹(Ù*„äê”Æ0Œ-d4V3;êÍÁ5ºü™ ¾Š’QeèØiÓÎx†X01ºK¨ö}»š0{š¥,{#ågàû¿ª”Muñ‰:s?yk°Ïk‹ÉÚ˜š5fôóI…»ˆÖâxñ±¤˜Bõ½xÊÔª¦C}ÈŽÁ~ mÔZe5¤ì‰:DÖRòn”z+w>Aâ+amTKWRtAö¡\Fj ƒÉ\ò_÷PÌîÞ‹Ï¢öòÃ0gÀôùi§@ËRÓrê:R›þÌŒ§–xž ™Îütý©ò7ÝcœëIžµkžá›x®nêH¿7JõJr- (Ôy§ŒÜ¯û›kÇÆLà°8ׯ:*©œo3o9çD¥ÿÓúð;Ìe'†´šŸò˜ÔÿÍu=ÊÇŒJ@49À涆N²´Õ -zÆË¾Ë©aß½ï}ª#:ÌètkŽÞ Ϩw ‘ï€DWFÂ7î Ì¦ŠØrJa‰‚¸›g{¤õ"Éu1ÙBòþG_×äŒð*®ã“cãñÕœŒÕÕT`Ô'9_+Z(Љ}•NJè–—s[ZÁ¡_3ø$çp,Ïx`¶{£ª %ŸiUèˆB¹5^&Cňf’ø³¹’Dú„^€×ñûW[ÀÌÅäÐp±Ë)m<<Æþäˆ-\Á€®ö—b9˜`§ØœåÝ%úªS®Óé{ô"è)ÝDÍÖe‘±or܃‡íÌÛuwß>ƒv4ÚÖ¤oK†9]ô âàöá_$ÄæZ à|{YŠc_Vm´î}·ïc fd@r¥ÃÃy¶×øº@xô¾uP# È8­¦¤‰Î.˜a½?yÏ©%ªÝSf÷oPÄ—®ÜåXˆf}U‰`-ó²­È±…¢>¤ ÅDkR‡`ݯ&ºR[™™YŸøM¦±WZ—Çëû³7Áy;B¬”ò„A@¢v ]ïã#Ô±á»ä$yÓŽX 7ø¿¹2aàƒtðÂ¥ÉrĺÀÞ¾\ ݵСRZY©gs²N]g/ñ±ÌØÓ…=ªZb¥&l­<í‡, †O$#8„Ò¯*­×ýçz[|ŸÃ Ò¸ ù£Ü”lñ‰³÷/FÕ˜F®ý‹Ø©É‘#½`ÆQ㢠տÔ×# ^hµPéX0€ÎE‘îøx‰ pV ³›‘}èĘTÈZˆöÇsºý™ßÌïϯ†=|õâ±8•O± ÓðsÅB™ÞÀÀåO'…óù#Ê©,unGÙB§tøGÛÁ¡À–”‰ÛçO0¶aj¢™¨…Jä¿ ¶¿’¾ƒý(Îý­d7Ô$ȳ9ˆñs[ÜÑ/èdð¯qÔ ý’¼q2žASGzø<€Ïíî4Óöó¦_+q_¬w£ô¯„I¸Œ{2‚Ú¢ËþdœÜ1-yœçý6€{Á¢b¨™*¯Ä¦ MÔ<Åë6°AHxIÿ* +2ç®i&&Ô4v?‚‘V× êOÍî ¥$¡å£É´pÇ€4Ž1‡Î5µüÂR;NË…}"–|Þ3c[:9×I, U†XðPEäÒY€@ØfRéf‚–Ö·þƒ½hOnËüÓè&Âà>_ЙCä¶xWÛf³?¦k>ñnzŒT®zcÌň…·ÐÀîx¿ Ê‘ÚS5•[Äö™[÷KòÊýä·rzL v»®8 ödº]>¹ËOâ·HÈ=ŽŒ}ÚN6ôÞ‚2sÔ'ð†@w šÔym[ÑÀ|"Šõ­[Çä*Y‘§ºíîÊc )|‚ª“Ôdà¼OÁ,9|µ¾Ww•3#¬©BÌ’#fÄ£¡Ò¸táßY 8¥à}–+壳”ÈðÈÀ‹É*tOdbƒf¦íA8ÒÊÐSRŸgˆ¼§'~õÍ`f'{æ z4=¶ î;*–@ˆÐºIvvnaE–_T‘$ÞAf¤çš} ͯ‹ý&eHŠõÖÕOùök‚Ðq¨¯ÛêIT¬ap8ßOz×G†‡a… ô>'öÌs¶‰tÑ6“§Ü¤u%ûË%T¯0‰‘Jõû`R%_nà³á‹Mß$bE2”柇)¿ÕñUL˜1…6¦Zôe¤w†HlŦ‘ »?YÓ %câ ¾Z™iba‚¡«œ÷Br7¡9)~ŽbGf>ñ¹có°ëjcs‘Õ“°€GM"¿Ð©}MÛ|xVdf’la-ü×ÐBŒzºÄŠ_ýmÀ>íû%·¨ñ  MIW0ü@üâж\·ëëû: 3!Mç¶'*§:ûjôÓ&³wy `]gP¹íÆWuT4²àúS4Okb1bêg[µ¨Shˆjçgâe”¨Æe8ƒÈú&Þ5û¯/xk…=ËÂv†Iwý.M¹£˜cĨ“3”Ë(€:ó0•… /—^Áؤ L“ˆ)÷ï7ÆQ räîqZûgÙ«3¦g}Œú¨; µ¦y®ˆ¦OñØ¢åÊaM‰MUæ¿Ç¿ƒïø÷' g|hlð¿4¨7Õ`ÑŽ+¥‹­ñ˜¸"Fݲ"6¯2ßsaVXj\”alÎS×tí|cËdsué¸Þ(x„:yu{€ >±ç¼‚êâÃÖ³X„±èÚðq1 ÿ‡RûõRØÓÕ^Z^”ÜéM•(ž /–þ-Þ\?«ÐȰí"Þ®z¯Rh×_jzl†ñÚÝIí‚[µÍn4ê&sÁñ¾tBOŽ)ÍÑåb%@êôoé§á>¬gð’ÙÔ”œç=äÌÿ^_Y~HI˜â; ;'ࢶ’˜ÿ-¬ÉÔC×ÏËÅöBI’˳Á®‘×c7‚[rmÍpÃTû!Tð ¹i–jï‡EE³(~……+Ö§6þÕ8¥]½Å›z ƪiæÃ¸2÷Q{dg¾]õª­î„—•®ùs0²±ûú!èØj‰N¾- 7,Ú@ÓšVêc̓KiñEyI–§ÜøøóÛÊ)És¦ú«_Eg”÷±`cw>•/Yâ^½ÁÍ—tÃ\—à¦ÿã•Mùõ—:=~¾ÿìd ràÚ¦-kï¿ÎœF‹/Ÿ6LeŒE¥Mv¥äH`[T‹NY\n—ƒª[¼ïyTжP—±Ûæ7 öÜŽ’§ì.ÆŠ0õRSŒ>÷Æ3rI—µñÛ”Yb©ŒþŽÊîNž‡v8Šċנk>—P³ø‘[à?3Ú¸‚~—æ‘çë}9j¿G¯º‘z~·^8üåVÈ! us•“åúÈTç"'Z}ü÷—é}_óï¼{©PewšT¡è]£©ó¬Ö0dƒ”¾vgþãxú t_(ZS‰P 1\ʯÅsÙ nM^ŒDE\€&Œ Á/ï¨* é;gVBו]á<ޝ`rÆÏ0³âÙÅsö£Ÿù®kï¶•ýÇä’œ¢Íú1{Dh®=ßH‘‡Hsrÿ±û ¹¹îzë·pGv3Üóþï xD\=8‡ôY.£Çõ1m÷K"uWÀ†, ZuB¦XÄÖaB:× RXÕ!e‘¼îò=â·³ô‹õšýLçÀµ{ ×l[×<†L6<_‘ÛK|YSeYÔ7këÕ+K÷î!IIõjBûKÍËp"a±Êª|‚` sõåpÉV¦9í» €ÁOØ…'{½'ÒÁ‚¨ö>QmV)¹¹Tˆ@þÍ£€µ0±$¿ú FÒm˜|fnå'9Q›ùÿ•µ:02¦c<×h$q"åó… .ˆ>8~ C o|=ÃÕf…¡Mø±… 7¢»Ä“N#‚τߛKr#Ô’P `fã®~­˜Ü{&Š>…îœ(³6ò®™“6r‚5ŽþWwå5/–Ü*:‡ÓZ§Ïf‰/€G¨d© MÕg‡¼Û㩳 ü·l –Œr$#ÿ}T·Èÿ©ICÃ:{ÙX¶8œí@YwlADÂøcE¦xů-Ð/II'aê}¥’tMÊ%IºåÏ Û+.ê'Üx.<³Ãåݲü2EÏ p9*ï BPl¸… éÏü{BS<ëé¤Zp[• ݹ— W¾nšŽL³ÕÀŸ¿{À•íˆeˆ hß<̾O¤j¢‚{ï»ãü…áѧÍ÷Qöº(Mª(ˆ TÑ2Ü÷C{‚? ¬ ™ÊŽï}wÿtòµ]JëªëÍ’ME¯Á÷„Vu?˜x1¶=R£ø•²«Dn-àW?åŸPhÜ7k5fzÌúvÖÇÌÓ§8jolÿjyv'Ò¢ÏïÛ8C»b¼P…“1å²…Á¿S‰¯èo´­Õ [pô”£þ©üÞ•›–ÁW,åªÆ3f&*¦G2lzlÙiêÕ4‘¿ šb7P˜ S½¿:Üߌ<( fÃÝ“ƒ„³Z²ƒ^Ÿü”à4ÿþºw‡4×av}¾vüÇ)Õ­Qo,ÉÑø~WsdûëøÑ£dÂTíÈ]¼yÛæË¡æ×/úyî/Q„zS™cÄ‚bTŸtDë×Áä\-ê?¥ idb¸Ü×ø»#Q9¿\q) Uõ&nŸãd„á H€ £KX‰”`zGüN§PϽp«îv.<’’±÷cTß5„«}3ˆ€5\Ô Qžì*ý œò©Xó¦Q·Tj3È,àlÓ»BÀ0$ x3Þq3E}Ž„l&£\Ù¦Kr…E; k‘†~?a“ž9šQ¡æÍ¥•dOr%_’Ô+áÜ\†¦óÃuɬƒ¢%¶,W[qŽ©®%iõöqøUc®;ßÅ@dÖ†zåù÷$$vi¼uÅQ u7=3‚Òg i(ôµ¢žÐ¥Fg™ZÀ5j3^ý7:‡%„…mþg˜Ù“aŠ— ¬U}öLKqLpE—à9ks0¸D{aAO÷í™?o°“Ú¸æJ å"åv È‘ýnÌ áf¡H/Žß@Ðû‚ wI¦g.í?Áô¤¸wšØ*›’j‹…3aL#«>„Ø Òp í*ÆöK1ÓE×(6#}Á}ø4e¨V1梭^eì½§ç<šïÄv7D«8EHjX™2ã!YðŽßƒO‘n|Aµ?<˜¥ääQb <%º¤ÍÑš,U³©F•*K™[‰¸MðzaÞXÃ…>ž&®û‘xr±x¥)­p‚‰ÅÐC)´ó¬8Õ? ŸÚ‚¦nvJ’Ê’?Œ±àT]%ì[V… ‡¹é¦]]ÉÙfMŽÛå#TÑRþ^åð"Ürªr%ážõúòˆ„ᕘHk:|-*k–!È×p¶YÎÉпT¦†NÏç©–vÛ$(ÃÊøg×4"3Ó É Ëñ°Iî¹Ä)“ ‡ˆ$lgz–ó;˜§äÆ YfX™'<¼!)w»ûØw|\ë¹’¾¿ ¼ÆJíÙ Ùœ„ŒS¢’Ô>|ƒtZ= Ì®zâÙµ¦®^¿ „sF}«¤¡qœ­Qük±¹,ŒF…¨ä²c—¬JáÅ{'x­ÖT¯¢Ï/£~/\kHÌDš÷NIòwB=÷•‘mFZå 7é[MkAQÅ;_<‡D6‹ëúáƒåq(¢¦ q*ºsäfy¤åŸÙÑ“°áòwbñÐŽF¸ü>ŶJ v o>þÝâÆèž;ËtÛ•‘~@®þõ<ñÊ6n_--縠jn¾•J¼Äœ “.BÅ®'µ~»+w!ÇÜGdGÕÍ×#»´e£<±©G¯xëHáÃpôTâ æG>€BäÓ…ÏÞû žNGÃU8’ÕÒ䮤¦ƒ3‡KãÜcœn}YløÑÁúKjš„C¤JÍ,Í0dŽ¡ ûRGyˆˆð_VWöQš@:‘ñ§Ë€§_x0~7CŒµÎoÚF Ù eåTî'¡üÑßAëúm,—ùÓvÆŒ*´ÎfKˆ·‹ÀTû–wýë_´]hm4’ ·+G,´é„8—£u9odkthlgó¾f+¦Ñ¤Þ(»¸™qF!µâ­í §t9VÍwGVJN+š.I£”líÒT0œlS'¸¸Ë‚{µÖ×9€ª«Nê…c^è Ø}h 8 e B;r ÷æ ´®q¸Pͱ'ŸÖŒ·^C—ñ V< ‚VSe'‘‡w^åÚ>ͰÄ[å uÎù“¾r4v‚)Œhøuõב7Éçyb#Â#ÙfcîÍÒd©‚ÆØÞ{:Ø :Ü=ø‚JK1´õOüF¦fç(<ÒØÒÓtGªÖ=[>ü&€2™·eã,ªÈD| t%лÌÿo{*2‚Oħ¬¬/ŽU@öÎŽ[Ð55eŠë ˜yõ”eªûdt^æŒfdTŸ¨þµ³»ÊwzR»OÄcø˜©x/`o¡Áú€Êò%ƒ''»;WÜÕpŽCÛcy7°ŽR6»pØÈ [©†_:vµ.塸/ËßpâAt5-¡’L}-ï”·ßÐ/`}Q0ùž1tðYÊÃÕøÎa1péüö]þS§ íuêÒ´^-h‚qÏû\t§šô„S܆F,êÁ,æÛ‚ŽÞo/9ußÑÚ„6‹A:"þúWÖ0^iýq,VjîNò५]çÿ‡þèzué¡ 6*¾¥b÷‡]Á/D´k<†]Væ êÒ±eÂïîLöÐgÁóÕVi¤qÇkÞé3Öö˜g ù†mަZú§&ï4Ô)PúP7Ò\yдáNdF8û,„ÂÜûpÒEpܽ™”Zä$­[û;¸Çúó•ƒ>WïÝ¥ -® !5eV•/S“¨­Ô†8€U/‘ …I¤23¸¬èÚHèbñ¿*Ÿ„ܲr=ÊɹR!¥óÄ€ Ìcü4 ^¼“ظžõ‚Ž‹˜+£J@%;ßwZRøñÞ]öÀ7ü¾’ε½V$½¤Uò–š2 ú/&Q‹RN>àô”’¤<ÚÊØýQóçÀ¤‘ÿÆX“h#ÑÝ©Á’ct`ºŽϾ±xJJ£°q˜¦a"zÞó=°ØBÙòŽì£õ@T5Œ¸^¶$[±B²%2J¸(Ü Ž÷R#¶Éˆåz—,È ©3ÛUlNí±H:¥ÓÓ·QIô1Ü:ÜÀ‰ Òëk9á'¬k£K¬yÛ‘¼ßÃkÚ¥ádúB˜Q¹ä¶ï〾÷QÑ0bk?ú5Øøº  PµJ)-­ÓµFxaÚ¼ÊF®<§9¢šþfsâÆ6ŠMÚ䔳,vi²0«Ì['§D‡™±Ž*™º£USçõ)z,ÛUuŒ73¸“Ñø_¹Í_9]ÿ΀µ?oŽ“Õ{O¶µŠÓú±Œ LœôÁ ¾0qãw'Žò£ ó2vسªŽê Š<u:ûuN0YÁ“?qJUKßÃV‡øh¦ÇMË÷ß2Ü%%¾Í‰}ö÷¥åjý“Å©TœµÂ&¨.Ï*zz+ U¿C ÕšD¤Õmm†ED(Ÿq‡/V¹U…ÒÒÀQg[…Öy—¥üÔ¼±E^VÏ>³äqO{ˆfÍ£éɵ¦P{d¥ *·Üeªl\2‚ç³o…Jn¯ÑÂÝ6Ûʾ :ïU]ŒÞéO/ß.KÏ0Ø,©[ÉEñ 'Ó‚æ _Rv‹¯–ŸT_ˆ{8k[ u¾‰bÐìÜžßV¸ÌG¼Eåƒ=y,C[ýh¤æ `ÁΈ\£¶T5”ãÝ+»ü•‰§G+¼ ˆÆ'˜„•¼¦â:¼ÛÃØ¿œ×äv—à÷T8ÔXØ–¡q“•Ÿn„²e÷LüàÂhÝ"m;s†DÛåâÌÚ¦díéо¶ŒD—pTË G#üSZÒ–C}H‰½ä>àš±a‘`+©k©t¦gÂ9Hx·QÜÈ@ÄòÙ*³ªK¯6È»·ŒXk´©®õ}2¿þ¬Ãàr„Á"@ð±Š'#ßåŸ!§ñ"à ’VØ:ÈÙ3†¾|Óó0ÄíK¡ÃéS>'Ð6 ¯¦³&zcاú|È÷9œÀÌÓÄ5¬ïŠl"ÈOQŠj^-&€®^8c€›â Ž!®²½”žr©¾±‰¬FäêÜå"CþvÞ|\ÜZ9'¹Ù½Âí‚ét4Ø$:| 4dùÔËq¼>ïn@¢ãýs_´õÑE]í¥ó £˜eZn¦Ž ç*fϤœ\}Ñ…ª чy™&œ¿g``v5Ñ®E#ó_ ÏÉ$¿r”mRnIÊ»…œâ}Ž6z9c¤Ld;— L5b‰¨ërt{ "¢o7möнQÅTÎ]ùéµV0Žþõ-ypVSD½;æöì  ÉäD§EfùrlèGÈeP®*x››úoé« ÄQƒi’œEÁ@܂ߩŸô³Æ‹[FŽ=öM\YScPÔzõƒ¸q”|W –dU“–‹(n<Â~³ö¬Ž»Ü¯C'W~§´'¶À*ì>{#ýzïsÏŠ_d¶{L§õøÁ/Üg¶4&ü¾ÑNÉäÝYðd»(F„ã>ûˆ¿³†™}ˆNãƒVùœ{7 Üs_ÚªYüå2{üç¡ÆkÍ­„÷±I{ø/ÝÒdFµ)+›é{ŠhÓåþÓ  `ºÓ²A MüÄÁXl/¨¥¥ºå«KJòP»#Øb!±äU†!J­­Í1ÁÅ=æE¿]¸ÆÜé°ÌOH’ٙتÛTÏ—¨r!o6Z!ZÈôÛ}½AË9£5ŠÄ!ÁAAq_²’@õ•lBUU–÷ 7Ÿã𠼘Åpç½'³@bS;¶Ô»aiz„ÕUÿ?ßKbNqªUgí­22`Šî!»Sί‡5õàÕ²½F;"F©†g?¡Ž>2÷N lI±¢7bA1Œ&W}”2ö$?£Qÿæ$^ú¾4pŸë`>è!ä$“ÝûÑ Lm*Eöþû|/8õ‡ÁmÙÌP.F~ñ˜@;Cð#–—ðY @ü³èºå‚=¼}õ8Œä¿ýûh%s§V("ÀÚ[Ë,x"ø;^±_õ{?ð²»H¤f‚Wº¸‚ñ=ǦøÌ“ûm7S°ÀɃˈmu)GÍ1 ì½ÃSôñHgÏ?ýØDžÑ{I³¯ê8|qF±7/ýÃJ纹¸Ùƒ–«öl÷~c`Íå¤åy¿T87ýQ³0¤V;ZØÄALM¯ò±•˜5ÐÿòK¬âfŒ&}3£3ضÌSãÙt ò‹ß9©lÓÙ6‚í)ÇGÝŠ1)”ÓÁ´V„$•žFYŸœÑZMe£Slˆó\“·zE —ç+käÿ/@J=Ç ‘Uï  ÅKðÿ‰,°ÿí±‹´Lsz¥‘Žë}1Ym»µÝE$劓µ‚òA€Ûô˜ÃúèTGºw´ÀEäDŒÈ]E:eð‘0BDc?$t¢ÿ¼Žø…c‚òoÌgÌ~®UUáãB 4éþ³ÿIÆË8‡A°Ž4 åŠòÇ< …™à·47Ú‹"õUSØÜ´]€ÿÆõµ:;9M_+hbÞÈß¼•&àéi%úA½PZ \‡¶·În¾ÇoQ«ó8¯ñ.­{È AW bãô¦¢Ÿ²]çÅ´·AßLÔžzX¨ž9SÆ 7%¹¨vቫÉyÏùœ5v¦ôŸ\¬KÖ—©M5q:§bÊ,2TFëÊ/[Žòö…-Ù–×–(Sú6îmœ‚¯N’ÚiÍ É~eŒ”ÞwØ«`®÷ž£BsŸÁÏ¡@tÈ–l±s,ñûÝê?„;Þ&ÑÍæ¼­D(h1Çå@cåà/YÇÞ½TÁª#&£‚c@ÈÙ°+^#¦ºÌSó ˆ™Í¹"J0ƒ¼ §ÐΠTm â‚ÞI1÷C)Ó pÐÀ¿¬n“ë*o†’8bWLùT²Í'ð7G,7èåøˆ¦Sç _oXŠƒ95DgÓ¢wñÍ`J6âý™·y5+þˆüÚi_ý»õ„ì22mú2Þ×)'Ä¢uQUFs{’ºo»íX(¨š£IÃZö–{¿máz½)NÛSâÞhnB®Lèõ¼¡ZÊðÉñÝÇ¢lÁÊ#q’àD,›á·W?§ž"q)ÅeŒ5À*Rþ½|JŽ”P`ÓM„F¼»pz¿š•†Ü`~“o žßUQð™ºjP¾¯žÏT'G>‰£ô¤Ð ±Za",D¨lÕ|åç1ÄÕöpÛ†ñšÔt;µµ ë7¬è1a†éã±™ØÆb›t¨m`_8ö$‚ µ9_8=î‡ Nô ±eGÝÈ1^&_Ó 5rYC¤™–†þʬ­íîçèµ_‰Lšn£?‰0ä 4YÊþ·ü;Âf}õ¾«ƒ«iHkH︑7š<ùZm©v~/äfØe9²ò‚THÛr¢7;¼?Ù’˜ë|þw>§´×~#ÄÍHž¦½”̶4ϼ²x\`•µÐ˜ÜÒÝ 0Vvˆ Úd6ÙßÓg©*cÛHŒô¾÷œËg=ncÓÇöKˆÑ”%pt…« ß$ T+ ¨?ñCó±bî®þ1¸V«äDo¶ÌTewàµbÅ¿Pl'}Ï=ÚjO s±c4ÚׯýÒ{Ø;o+±^>ÂÚgÊeŒƒª .>‘·ò‘ÉtÐs¦Z•!dü È+Ì”ƒú O0R¿øT²pÿ%Êb´§E¼ÏrXû AнÍE4prØ}˜º €vuxUœÚŠLüé¸É+”[Å·÷¦Ô{ƒ tö0Ù¬|¤¬ JAC4 3pX}õ¸ ¸ú‰‘7Ü¥v@ª–•©|ÙM¾«‚)jaµWåéÖØð¡¯”Z3qÌýæ(ÐkK¢ïçÂôK‡¹˜æF¹N­ î#¯ ÜŽ3:»&3ÍÖ²ˆàÂφˆqÞÝ„(_;¬‹©kH\Ïù“¿ nˆ(¸=+Ô³Ïõ2zŽœVõ2Â^?ÚŠÖPÄ`Fªî\¡©)ðýŠ||J2=DŒÖLÀ€úm`ë b·‰Ý¨îlá·8wº!;Ûz’pÂÿüaÏökv£oa[nd=š^™„ÓKН¸É~ÿ²§tY‹`Â⣉üèæš»Ãj™²ñ•óà”/lº…³QkeŽËÇ‹é½H÷ ýÊí?ÉÝ3U%[±ƒvIÑüy‰˜œzuŒLþ8 ìXNðNŠNØY TêÓ¿oçóeÒÉgñ¾Êx $h°Ë„ )8•kée“XO澎-:¬ +«xV\‰q/±§b.æ›P¥%i¦5€¨Mr¼ÕÛ%ø4 "¸XÇn½®´p"ÿx„+[57hñhP›m˜²É!=’m4©`Ç^§r@`BÕ×Ê6àŽÝpË šÓ›ñ«5þT[X’çB~ø^àÙ—rYÕÛ£Ö0Ñ/²‚ ,6L4‹•­ z/ìBQëuí9ÁExöqÑËkD-,OTÌÍ‘3°ÿý ¦Ý†;z5®fYkƒô7tà@ !#®³²iøÑhž‡v«ý‘ŒÝµKÃü€èeÍûùµ2ÈAÌF,Ð'þwpRõ~½wdóŒ.–Ù¯?ÔSÏΫJO[xn Rõ¨Ì´ÛF¹ªkõ¨m~ɼ ]»Ÿi¿éœÑ[…%‹øÖY¶0‹ P_rkO=Fî~Ø&|MpœF2†‹ÓCþÉ€³Ÿ×ã±ã¢ÈÒ”Ò‹Z½.‡úÑ[¥®bg­öÁS ã34/]@’—Ï®”Â!Ýg3òºTúVÙ;¢ÈÑÃZK3 8<öêæXEó(—jiÒ¦˜óÀ½ˆ­\€‚3'UôlÞöFï‚ze?{¸­9šu/ºFÓZ¯îÔ©Ä›µ-ÉÈnÇ(D8ÆâöÍöý¥û}žÜTl—VÏ›­Î(5Ìn¿2`AZóºÜðùoƒÆÌ†‘޳ĺ›2jso˜6„LiTÁ)FsË—6iã—ìPÞj( ŒsN49ÏY5$$éõ3!xÕÒBü=ÃòÐeàîõ€WËɳ–F¡¶¾B²>ë“ð5EÒ·lù¹NsŒ€ØôGîEƒf?JèÆFì» "Ü侂ÛSjÞG[  kì2¥XnÉ"Ï¿wA H/… •wÜõ5XÔGÞ9²Áe[ÕKz±Žê¯+ro.¢à§l<EÐõàÛeRŒÿ³Ä­~QíæJánawE/#XrÚdÔS‚y¸}«â† àÏLÁIiKª<}Â,8,cÑ I>îS( 2'Èȳ(t"‘Äm<™¥*:Þjª©¡P@/ÄpÝèµIï1`ðëyîZ_ø¼e7Ö™±„ Z]ô,ó7WÄ &b¦ÇUŽÈÚ —¸¸aÀšiþ¾Dº ¼óÞûƒÌ#¾ƒŒÝþ}âßvÈTw_v<œ¹Y™§(ñ1¿+¦äuÏ|ÅGJ¨÷_]ù«uë¼HtÄܦÄ(iîOˆø›Û_ïö½Ýoõè¸*âoÞ*#Jö‡+K[ÝsûN{ °«ÛUóí$Ìáè0Z Qäìl(/·(šÎE|FÑG¸¦Â•nv—TÓ%‹'Z"kmmmÅš1ogØãP3Ñ% °"G/Ρà1 »÷;Ù…õHÒ ‡51+Çeš2RJéqìN.”…Úâ#>åø ú£ÓzÒå~ò“ðÈ–N¾>Ì-Íþk=”¡—£èý²8w?ì¢ã¹n¿h™f£“Ì8ÏU²€~pZxȦrïä*~Çs‚æl×m>Ùw:¾f0{XE•4˜gB¡™Ã8à¦ Ž ›Ã¦‹@6àp³ójVÌS-9ÅJš¢R~Š7È­9Ü<+®CÁ„XD’ ¢!êU¦®µuÜx…€“ÐQþ&ìaIë÷VòcNU㤨6ðÍþñ: —n7œÃó®¾åÜÊ–MÜQ©m‚• 53?#¶YE¤5“k‚h‡Õ—¨n Ö-°â{½£Á®ÐzÿtK`Ÿ s³ž’_údßçdÆ¢,«ë¼ëãÅtk)äÍúfhTq¦-ÖQõ:Œn÷|›Xåtü4ŽÁ+lö}ƒµ÷Ó/¶Îb94(³+"-œCyy8Ù×,µú'ZZ¸ TkrÙÀEA±Æ ±Î .˜ûoq‡Bp”ƒÄÍŒ—'®d²V¤O½ßˆ£_Ò!Ûe»˜MOƒÇgû‘^ÉfÛ\ž(b:¹ÑopÍ ø3Åãeõ×5)?ʧ$.×(Õ§áCñ^w7ô ê<µÔ‡NÈ_hibBšZº à+rý$¢Ì:øòpjÉóµëH-Œð p«ßÞ_ï,îˆfu”Þ Á &5‰ÊHü³Í`ŒžÇ¥ŒJ0ÃÂŒcd±<§-ä'L"&#æ{;þCÒ–˜j‰Ž:ñö„ßÌöý—í7Ø”TëmB¤£à¹E8Øá²Ó6ø£ø'ŒNVŒ>vp^IqÇ1Š™LŠÔN˜y :ÛÂ@ý‡áGM2QÿˆH4“ÑúÑ’÷ƒÎ~s{¸Ör^eBÀ.c ¿è‚=^úª`B,*¿ôW­Cøq}¡„“»ÏÅ Öª=QkðJ²õ1òÒT@+Mv†BÍüT-ß>? $à¯X%¢:v¶r¡u*=äÚUt ¥MWQXk©³ž®‰ ý:€€hÈH³vƒ Bü+º·ˆ.xþ,RÅhpÅIÕW:ÌÞÕ{›çúÒáI__»YS`pf"–³}ˆü®qô[šµýÊosûHÉ2ÁÐÙð’¶€iÓšâz²Ž)9ìfAÆcû!s'Ÿ“··c}m[í-?¾òºSш°ðMSéðEbŸ¡Ð5 °V§¬æ¾ðÌL,ôÿg¶¤Ü`6y3E–¢ÍwV±3­.Õ&ìWsOøv@m£™½·Q؇eÞ–>æ)CÅæ&sœï‘säÃ4J)s~5Á°T˜™ôÁÎÍ´’>\bX™U„mx™›¥}Æ~¬5¡à9³z{¼Ú-©SêÂÞñ‚ždË®,Ù­ûI0шHu©µ6¼Êl‚<ÄÛ£Â`ýÛLÀgð:hÈ&&µýíàXòjªÆ£f‘A/Ra§ôQ± ´çÒÂãy Qm$Á8ú|çˆbh¢èÚ¢¾„…»go±8 fÈQ9±Æ¯z}ŸyR¨«ˆ`h74-?šp·Êe®M,gÊÚL'û†øÐžùÀnéDÞrñ2t¿*yqoéÕø«ùk¡&ƒÚ‹•úÇ,qªâÞl..ê{áù¨ 0;Ïrî—Ew|M~J–ÁyÐó£]}4yd¢yY\‘Ïpi(‰Í|¤b v º^üy±„§q˜“¸]ÙøIrfd ~¸pjQõÕ»³ßNÈ5jZØï¿Ø´;Ô Ü¿Bœµ¹•.Ö@ÖåÈß, ³†Š »“§­Ý_*¢1m­9¡mñoÍï%ªî:j+]<†œfð€¶öôAÛ5$³äœˆº“ž×-Ķ_k‚´FyÃõ;…ïÅÙÜIWP<®‡á³»é¾Ó»«ã©W–ž¦.À‹>çlHÙbñQ›;weÎ,_{¿#£€Û¸ØKN9„Toö4TÍp±©Çò¤bb%ºéÌ#räsÆ+/ÁAó6衉, ““rºõ;tƒ>ˆ6þ5ÆòYæÖ(w‡zŽ?*ô®[L_ASÕæ+!Î_&±×|ûã9|W¹²Ñ1Ô ƒ=ï¸SI…h”M%ÜV‡ B>î:ÆÃÌú¿!Å»ÎJÙ´:¤ßwô¨,¤¿Kü¹(Â{5.¯wkÛ=A¥@G]tØË[¶“ÎYÉW\/°ª¤³–ç/ BÏ™‘¯öÕµKsëH©‡{0dµqä’‰ûOVHÖ~¨cX¬ÒSV6ox5"%®ýl`wâ'Ʀõ·[¾b}ψ%3ÐRŠ¡Ë÷;†×õo fa¦ˆ½uóቩØIY\²–§¸g>¼&AȮ쉚’AÒÊoÑâ:œÀù#åœSù)€_ÒÕ®páyPe“k‹=ó f=v ¸]â¯kÌ®Å믅ê9Öf8öô9nrzæe¹X ­F;ëlý øÿ¿Gk÷3É ~Bo1P=`” Ú+ûPÝ4°‰0O¡YiA5ºL¥PÔ‹Lñy{OhTj€© æ-—‹§ÌùÓOUíW¨õZpðû~¦@à-ˆìïÉ•Ø]ïÿkº*ºØM©U$”@3™=3„õ៶àÕºã¹_lÑ?h³A`°÷4Æ%”ø’ÚVN”Š›=5^ÂBOÜú ø©#XÛ¾beý ‰®b0 ¦[BÒ°XBÃÇ ŒI‹4#ÓÁÏØ„PÁ€8­XìªÃ<¯sò³âŸná_vqŒ¬[xÏÕ”±Í>Ú¾&3ìÎÅêøU½Hë€?AqÖW@u¤«ópœšž¯R€rpaöT¦«}V¼=˜8Êw®¹ƒ1¸êY¨¡osêÂ0í÷ÙR|¸ÝÞX_Ørw ÃýtÐ^˜T\„´vççßš/AÅ@ê°NÅ̱Ù-/®¢ØŽ| ÑüÜ!‡¨,& ß{ O¼¶oÄõJˆÒj}Ê™¢dï–·v$€îÉðEkÝž9*"B؉÷˜'»$ ޽‚_(þGä6¢•éL½lUꚆ‚¼*‹Í#ýÓ.3»_üº¬£ß;[Ž5&v8Éjú*kxn»Œ1+Ö¢1¾Q®FÙÛë |_`¹…Óœ}8AÖ ëéÞàQ º¶(#Tò%ÙôáA2¹b‰Kô„oïÏ‘¯MŠÒÉŸJRb·O)ð(V1ØDLœ ©€ùùS}÷¡ç¦ùò¹åð©ý_R™U?hÎ8Àà~˜‡D\Ì1ܨܶ:ŒäèÛ×8\N£”ÍM>âÚ±Öz¸Cîx*?ôËÕÞ§·˾NP›}į3·dhSù7á‹_'º;WX¹êr®Ë$TX+ì ùÊþ`w‡’í4`ÔÚ{èR>„° ‰ClúüƒýÅα†øí<›ÿ[§ø¦ Å|xZÜæA Ém½,‘6±óÝþÓy¼¡3[ïLÎΟ€Ù¾‚ Šó.¼-Ń•fÄó+އ‚óÔølM9ЩÑxNá®­E*µŸU,[ð‡qöŠ‹ê[_~™znûHK>GÚÚ1/h ××EÆHÛ«zóæÕªlÑU~½r…||U5²Ë%>UŽ3•çÖç¶8w¡ ¤ò¿Ô«™ƒ?Gñ^¡Nù‘Ódx&‚9„x൨»¤ó—‡Ž›¬Pl!%ø«YÜrWËÕ4Ré¤Ù¯éþfÊ•§‚€:Ú{/¿ÐëUíú{-'ߊ(¨aPJ}l*>jÝÀTî­5µýÿ_²}é çÃMbo(V[p± < ÄòÃÎÈt"BH÷<0XA·g¯zø†µ.Ó»52ã‹cßÒ­|0M$&mghBMˆö2~"èr­¾–Ú3D¢S8Ï‚AlTgÍdNœ³W×T=ί ,Ý":}(>nyåIK}p âc˜÷{eõv9¥H ?™®[î<¬ô˜3¯ÐC¿ØôÅZç§¡â:‰Ÿ“<Îs°³Žêî@1¿ÖIa«—ŠÆ;Бý/tÊ]—ç¡Uº¢b–EôpÀÛs½œ½IÖ|6Èo³ww¢·(ÝÁÿMAòçÖç»ø»MŒQ—-#ò¯+@¢Ý¬÷MQPqul¦27Èm÷ýKÆ(Éñi ›á°eBì&иú‰ì’d+ÖÓ†*•æòOP˜ÜONårðøæj+ídÜ,ñÙPÂÆu‰U* .½¸l›Ÿ§1ƒ°v¬Ïk `†œ¡XƒAk_»ùq}²âÅÙž˜û««§ˆlk×Px!«Þ§ vj»¢Èèªg šJ¼†ÂRg*$L®LiS €·„iŒ¬K‰˜ØÛT´Ñ2<>ª.¿³ÿooî‡^hú;ž ‘.nÏ#¿ôŒ—•æ¢,¹-†8#çä1u‰1¢pÒŸ9OµAN~qïUmÅé½r½Â€îí¯c'£þ!OyôúLÓ}#÷ìi`Fó,ÁK[”£x,œ }´Ñb¯ª¾ÑÀbqZ["f÷½;¼üA2CXG¥c;ËÛ:©KF¿ðvÉÆ»Ûëµ>a”˜.½¿fmÌ5t­ó“<¨?RÙKE쵚¿yP]nsnÀ«t7WD(\™F:Á'ûÇsÃýýg=eTĆÙ°×µ˜Ï0†ß ;®.f _aDBööz§êSüš½ÌÏR7’‡/ó&œR,¢bh £‹Ç¸å(Œí ìa}¼Ù1«oãh–¨Å±z ]Sdˆ€#ÐÇ#4Wq»Uˆ’%MË›tËŽà8óoÈY}V×3Zƒ³Š.ɪí9V›µÀ *áX¥§o-p‚céÙØV‘âš³€t2ŸÇP½½}Žu4Söíƒ)ö‰º~l×T|ߎbå³â*‹³Zß ‹R)ôJPT !Å O—¢†"K…/‘ö?¼DíN˜TÂ?ÊU4PõŸ÷{²/º4ÈSß;? ?=}5ú¬õÄÿÙoȶÀŽÖpÐa³Ú£Qáf+ðÁLT…UÍ&*YÜI¥d6÷­>–ˆ²ˆ½/¹ÚÜ–pÁ) ëK™³’#=Å.~Òû¡kzkßYŒ½[oé]Ä`å¬+æïÃÔ÷ƆX§œSêvÅ5(ò9 kæ×UÔí7#Wb/e™ó\ ÁxsøUÆÉæÄƒ1 2]Ébi¤µªÃÀÝâŠÍBØ4ïš„4înºlsl ôwšKMÃÈ[¸AíÐëÕÑ `玒Õ+qø¸1Ú ³Lçtêr@xUáà_ŸŒKbÊ%OÐP‹á™aŽïţóäëéçûPºC¯ vúû÷p3¬u_{ ¬Ÿ W<GúÃLóq/¹éœ†ëðŸF0׳ßpùRvbí(Ç{ò/8èÝðìÊTzsñ‰Vµ£‰Ãâ…ìåNÖñN9+Ï6ÞZ®â`Õ&ß®~L/²7³j…Íî0êÝ5L½­hZK »½ƒ ½6›XâÆ[…ˆûêÒü$£1KD³­äOüfcI*-1BÕíÈã»-+X¶9›Í Ù7ÑzæÐ°[‘íòÁ{Ÿ®$Ø—bAÔ~íu°qÕ>máe S©TJB[Êþ¼Kš8š—²–@åÛÔ®ÒÕ]ÿÅù-Kú—Ø è…<uERÿLîQöݖƇ˜ÎÁÃ8œ¦æ2*§#ˆý1õÀP<ÙÁ{“Íß„¿bºö”»ƒ³SG¸9媄·Ì$ƒÀ­ax™ UTåÇgMsîk'8ã¹ÊÅו*„¢0DÿV…‡ôNÍ{ÖþéÖ‡•Щ_oUaî-o> k 4à›ôÏ…éë³ù²ˆß_°¹6_¬sJýÛ (›Ä^wAa8×¾¤&¥,–Z@Ó䨭ÞßðÝ&Pí ïWU.ŒòdYð†{ݺ·*$èŽóT ük÷Mƒg:ãƒBí|R~5f_œ$ìЉžý Е~ýØ"¢){õ)ÐVVÈY4]0oxã]™ËÝ^:¥-9¼ó„>?x²XG}iÞdìc¦]‰W뇫èJPÀø}„ÇìkÔ×LÑû U‚­<=qÙÁÔš¨0B¸-²ð¼?jiþd>N«½î—¬ý7Œð|Ú¬¼ÔWåÆ<ÞDi˜îòe¤M¨1œpEJu=ˆ€8[‹rX}‚é½ç‘Cä cMnô:਴N·R,O=g ¹XP[ÕC0í|Õå ^¡b¢}=‹©³„L/Y ¬S8Üž6Ü7µ”ì·¥9`ö:j|¶KèÅó ™8]+(ÃèÜã ßy{‰xZ•õìÓ ¸R¼‰d7¿º…&,¹n[µá#¤s̵nXmrýÌïßÑ OæB…KšhÝ MDz]F+LB9õ™ä’]úë5¼/( ‡ˆ-¸©fÏcIE—<]מŠ]&=˜³(—²úQÖ=9² x)wÖÝÎø®-¨9b3%›ªusÂó&wïµ£Çü,éûìPü³4]79Z'Ð…xø#Y÷iÉ=Ó%õ}?Þ¼¬z?.þÔóY¡-5aý“7¸ÙŽåÑ20g®ú›“ÀC,:\yeú5 šB°=^ÔŽô¯½< ©;(ÿUâÃʾHC@=Ž¢´®‰ý±äãmÄ+øjñç¶ípÜ‚ÿN~¯¤&·¨¶‰%ÏOyñ<ý;ßQÇaéù(P¢’¨õzÙË$Wz(kÎKîý®E—ËÀ£‘i—½Ydš|ÿÂjåG÷k 20œË²¢ŒÜÈ[è‹‘›_Ja]{¡M7º¶MäÿHéê=Vá±ϯ¢Ønú{h׺¨C1áÜgòèY½«ý>y0Å_÷}€P7°[$¦¡R”ÒúJ'È]ŸÞxhU–Ùî&yÜ"™iü7 ÷Í•ópâðÑ7÷òa +ó ºùš"¹Ç³²Ö|$hÒÅÈ8¶è}T.gŸfÁ·•gÓê<p[6Œ‰ À4eám;“z€ßÊk$õiÁ=µŽ¥Fxo³OO‡§Æ»•è ÛTŠœÂXú¤ ŠUŽ Ê3ÕÔêd™j‚ ß 5IŒ¢ÎæÙ—³âƒ=ÛˆôÐÀÚ—ËŸ`1MÒW {\ÁmžU< ˜Gß/Ýv£ÁÊj=·XÁ‹™Ã4µw./¿Ùÿ*EÉ|>徦GΓäÚþv?â)¹¯”í?ÔÑ1aÖ ô´ VÎ5aK;jÑ!tÀÉ5?q1È™ëH@}msšÚªE{cDœ½Rê¿[ÏÁÌx×Ús㦃µfÕ$„o.Ë5!ö ¥8îú³Ppì-×K€e£q3mMq_;—±ÍÕÓÈc""G©”ê}Y;ås†œPwD/¤9@µã;šÓ„ظP,åÁ¤_ÇÜij~e¿pWRôß-]ºE¾æÁaK:/6/+êíÅUþZqZ)É=ÆãáàMЪ—É È® É ½¯„ánߊ—Áe‚ÅF·­)+}À°- ™þŽÉë3¼Ñé@ý°pm€iQÖÇq“4°w⟠lORî)á™ÂŒboÊ1ö¤óÝË_¢n¾ññÔµ¡3×Yg–&ÈäÔÖùQg˲ëª`/f•‡ÚÖ¶½ pÒ‡ÃtÔУÁ¤ª}ûòŒc~¦zMaºÿæ|âïØËº|{öòo Zôu)Š‚æØEÊ£@I ‰]µ9A®d­:bŠOVá9g;:ġͺqü(…zR Õ ¿Æ:Zë‘M¶Ã ¹Còß/dž³ùS 6‚Bú3óÒÿe3&Ãÿ=}õá'oLiæ’•aÊÁ3JP¶:{œú¼þ¸W]ÞQ¤&™h¥'Wü]ÓZdðœ™æéé=´M¾Ü©]I6º•„L/ŒÔÑgu·I[5b§Q‰ˆg1 tؤ*½õ$÷`Îêa*ÛÆL¦;9m`m3ísN-ÊVñ”ßã©÷<]ç€3Ï6@ç¤×‚^ž^Ý…-$ ¨và‡â9¾â]¡Ìï¡ëdãê‡KßëVõÃ7è¶>e•}»£ 'E…¸¥× 0Ìú>w¼ ‡Äjÿ¸öD~ÂnãôvG·iŽf\üG~k®Ú&á_O…nT É,Á«×¡‘§sÊü¸¦vpà~I†æÕ SŽ ±úº`¶NGvÓ/ÞTŸ ö­-äL;C¢ˆ5–ÐÙÌ&@Ïù1Ë)¨hgóªG鯦Ôä×5¤±ÿ*ÿÿù$q ÝJ•…;(·À5*ô¢–béÏMƒï‹êmg`˜Ç(àpÅdxL|Í Ò: )±Ôõ8_¡(½µ=CÅ]‘òÎ U ¶&¶°±Ö¥(¿jצë¨d¯„¶ŸìőҠ!…¤¼ü}qû¹§g¯7¯énså§åu€ÁöÌK‚‘hègn¤ØuÒ;ÎeÕ±ïkÙØùÆ–K8YòØäýñ»­Å¦ÎHƒEU…ŽÍq¯Ø¸C4†g‹¶Û"ž4B&¥†"’«GÓ.}—®’{ÙÌß ·Q% 0TÞ—ötw¬‰Å¡€‹Fq§ŸNêá%\•N\5k»KÃÇdf‘ž–®3÷â.ïìa|U¶*$ö|?öÃÅ»ô—„Ê%¨>Ù¨iòÎÊÏ4¿r5¼/2 1.2nAôaƒÂ¸¾¬…üÄ¥Ï÷ṯ>ØANˆÏº%|Ý@ }ût×_òoÃíôf™âˆ¤ðôØvÏ ?ªvwQÊ?Üwæþiƒÿªfãã9ž %;_lIù~Ëþ$#ÎÚ'O Í`_P€9­ÏŒPå×Èp¥¿äª¼]9¾‹,ìβÐ ̪¹H–#gc{e|G0Û)ÏZ©“XzkŒ¶J ¡[…×ðï]Po kžSb‘%d!Þšº7Šhý´“ÐD.ä–¨ÜaÃÀúm¿¶'^@ÂË È}¾ t“Y÷Û¿÷QKLiÌ‹ºñÃúÐ *±éþcDK{½öïÿˆß¾i`"ñÐ+}†¤ècuá[ªt¥NñeSÊtˆöG@w¿¬`È(ÅÓŒkïÕçÑÍs¶ÇDÃ=A,àØj'¶ZNl« qÆÉ9š{îJ]%Eé qa8vJ·Çðy8æKÞÇí㛲ˆT•À´À夾mâûòˆLÔL±¾l‰‘Àfw¾ï HM"*0ÄW«NìÊŽÉÂbv ào¸w=I¼ÔgU8EðWòƒoqÒxzŽ™Î¹ó3“ѯûMTl(Ún¾œÃga â©Mñ£·­FîZ)Î;"G°¢¸Í QŽz¸‹TUáÏ^CÜÁ€Áä«èºw£}q5˜©ùb^p®EùpÊyböïÙd®>5„”™¦dö]¢Áw]‘2œ£¿C Ū§O±FççQ¥üümL+ÆÁÝv€‘—éA#ó°næn„‚©Ç±ÓÔ?ŸÀÌ 9U“fQñ?­oN;(á)x¼•ªp_`ÖØÈMÊj">JkK^½±e4òáíÇØv$ƒÃø An³˜°Ü•g$Ù¡U“O˜ 2s¸³¥Ôë©Û²"c>üœÔ5ü† s›ž‡DGñ¤ÓSOç *„ LÔ'äõß ¢+†ªö˜¿.“Þž•ã pר*£ZóY‰ñ^g’3õÊ7®8ô'rxʹ²Çuð¿:À$°mŠ>F ÆUæ³WH„LJŽ&ÃtO˜ä]êPµvw+oÖ_Š7ñFhµ‚ÓÌÀÚDHgÑþÝL±aç&sÕ×(' œ KeUÓÙZS>%Ì+¡¶ÏxLã_ÚŠsºh”ð Ò¢Ç{aM*Χ’aÎgô½PïÖ²`¸†R}î§éGì#ia9Ñ*äItF}ü'8ç2Ú[¾ yðùc.¨<ø>Ÿ¡§¬µìÑÄ,åàc¿A0ftz‚ˆ÷…ïÀù² ð2€Æ­ãOfa+Öä™uûóñP­yš3Tö –T®}ZY¤™Šû5fq½÷È{hú™Ò£¨½—ðãõ­þ7їד]Sæ™÷•ÒYî5¤ÎˆýñÊ3­ v¢mφêrù@][t$›g‡˜;ˆ2¤á©{ìéðâ8ø€*÷?Eû.yàårðn:ç•WÒ¬ª; ô% Ûß3‡³ýmå±…ÚW;ˆF±m>[ÁÛ o RRp±¨Ü˜üaÀp—Sî¸oGðú<£¦á}°ö FÂ…_ôâ“FV®ŽOóxW4™[@Ü}$O°/MB/‚lNö,·¾‚ßbkՠ‡UµÅ¢™6Êgå©Ê8L¹¦ÚW[W‰¿çÝønŸµI ­nüØ÷m/Æ‘ÕT÷U£Ý€¤5îvA¹w6sL=8ó<ÌŸþ2§QßÕž¿èh‹ zîêÕZ·êë+mºÎx ,*š/wÉÏ*p'»Û’8΋ͣ¹‹ü\÷ËÁNÆ. ß~l£9Ršøß5&>ÝEèåï÷;:fSKèéoB“„Ôˆœ%ÏŒUO9˜/÷î´BtW|$“£8‡µ5óïWA©ÃÊ{A%‰7P¤®OÆýiklÜö¼%‡ptôªÛˆio’7A]•±<{Šø)së˜}h`æ¯ÞåK‹Ê±H``00"P6¸ùâîwù+¡zHÕ«![ÁÒ- /Ù—˜“¯á‹NehÖ—7(pÞ `˜{﫲¢0GYT=6¡y¹’Ššƒã}<´v® J;b0ê)öTôPm½Òº¹·¹&æþ(ûç(ó`¯¯ÒÀ§ŸÝý#N–Üá²½Húm5D<ûÿIÚ*´‡`†Ÿëõ 86!³î”pžXJIG’îrÓYòO,Ψ¡†ï\z{™ñ)™eÄ}wÑ9\·…6QŽ…*mÆÎl†³Í =i—#ÐÆ“ı9iÂü†Œ‹ÞÄ0® È,T†2—› £´ &+ÒÊ0  ‚À̸Ƣ’ÓÌõœ“bc²CçgKB£3â¥íi ε RQ=óy-lvÜO)£ëz!åÓ®.mrÆ'Ôùpµº™(y¦Ú3(E–PmüÛâLßš MEçÌ&žLÛ8\=0*˜ox?’á^®†|Dóâ7—‚¬ô{š5ª"cAÏ‹:–ã>áû®_€»»©L]†)I? †‚¯H»E¡Ê*Läh„XGã¶áù3§Ñ£‚Š•â¤¼æˆ @Ý™ÿ#yºª¶ý‚[Õ…À%K,nà¨:…‰çûzª¥zC#ÊHðÁ_”Ý©QΰÕóv ®®ð"Tü²^ç‘ÈRp…~ˆ½±7á3‡^Í5M.–À.¹ò5Á¾‘k!Ao¬ÿ“þl ¥åƒ7ßÿ±Y†Ùou ºv=x§Ö6»‚èáFÊc˜“Ô3Uók_ PPµñ+œ/ðt®º<žÉí×Ìc×øVV…h#§~v³ðÊ¡*áNð÷ë«ÁDéf›Cë<‹Rõbfã­Ú4>ñú‚h—8Çóqºí‚÷^óÞ‰tß©ÚoÆ v®½Ï©â9ØíTp£!ëØk®#ûåk@ö™b×=/|º¥’}MØýÛü‰Yã¼dÌy5Sú·M8ö<¼äbPÍnÓGÆA}Ia‚k>‚°‰î~½f KÀ¤‰Áÿ]u/^õk9Òß¿ý°[YkòcÐ@ë}+¬ ÿe †Sau²4Ê9y¯:›ÌV3à Åá¤J"{ °çögh¥çW«™V!±ÏêØÿ£Hám¿™0o`>^Ez¶=ð†NrugM¥\˂沭Ç,+$ÀAàrT‘ç8l ÞG*³íP¢˜õÞÀIŒ“Яz œNF¿×3r)Ï 1Ï@67$Ó‚>'æ_ðÔç“_•Æu¥XC~*1¼}LË“u&¢­±IKO±ñÉ û4p»»ÌeÉAÚà4É’™xÓ(²sl14Qæ¶è«¢ei¨kû\{u5ÚĽ/É{£ÅsŠÒÚOj .€ð’e«íO˜~QT©ÄÑVP;|ÿZëô“Fò"m"ž­¯&÷3î\s:‡Î`là ºÙ}Ê_ƒÅZî­Î*þf§Ç)y›^õ:H’9sówöÁKí_]ð+0¶ò·¯Ñ\Ø¡³ü©¦<Ò„k3çŸæ¯uG—¹çG™~/ÅŸ©Ù„&¨òÿÛHyš+“Ûd0=/j'©šóÕ'NÀ®¶‡éÊ•ª¯ägJM‘wÅhSfÔbÒ¥•_%Ê@{¾.µÊö@dJþÔW§M~„Ú ±‹ê?¬c 9= §']†ŒJ~•Í&‹ðËŒCÀ‹nÏWmÖ¿]æÀU—‡ô­~‰Æ‡ÜY!Y×Ò™‘ÝDPÀj`ô0s ãô°ÉÅÀõØå “ÓV×ÎÌö"´Øí|Crךʹþ×Õ믱ÈE3!5Yöá$>]ƒ‹%Ë¥­Ù®Çó“]¢ÀCfll¬o)àLCï…‘QžT2Ž˜KotõŽöR¾ŠoxN9ý|cº¯áS~ƒ4±$R"‘Õ7YcÀ œôP¬Ã®ûǼb@ô&5T&;ÑÃycväák¤ÞWSJ<óÙÚº‡ïre´Ý4FrƒQq¢µ¦ó`õe‰1m7Ð/>ökšKµ?àrTáN=Œ˜Ô?×YFJ/¡3D 9ý¾ôc 9-îÕéÛ%RÌôQtyΟø·ªŸu –èžÁÜ”vÝóÃ> © Ò`! ñˆÚ÷é`ê[´×ÿìwÇNÇ`ŒtÆ4 bHâ¼ô7To Â!¿'¸]¨ ÃlI£yÍ¡ÓØq³•Ã%¬»WxÉ¥pÅCÒ4àf'0×!™¹£|ŒúŸKÕû ;j¥u©³Ü7nF=lq1P*›Å3žf£WÉo,DR$â (ÉLj†«ˆ'i•frZT@s„æ.Ç.mxýè¦e‡i¦Œto>û6Ì•46Î…5TŠžòÅO©BNÔ€kùÑ_1ÐÌn¢uí˜ax~G½uaWþt Ÿ¦š(W:Ýùʾ ³;âu†—d7K4“O»j­3‚žEеá–qø E9èTí ‡`Ä ›S ŠMeJ…kä…á-ý–²êºíêö¸G¨àl ’ÕGýð]uÛîôÉëå~ÅÃ#ˆ5K•»¬[—äÈy$ÒÁ&>ãp&£{Qöžƒ°šuñh©<ªÎŸ‚ÖBrù› *êÁéH½:<…Š·i\f)ÃI ù˜˜•$LíÈh ÁV+qÔÕ ¤™¯ã§Mó`E4Æ€Rš×cãZ ŠJ°Cá=½Æw4wˆdÞTVü7Khmʸ ¹ù)‚ÌU´µÌk›ÚH¹|ño}VIŒ ÎO¦“‰yì<[ÆÞ…–Rog´Eý L\_e§¬Ïý0ˆû5³]EGÆ'3U®kô*›c³`n‡P²^¢‚3iì ï©(mêµïn s¸ ¼RÝLi«ü =7’ÐDrèÆ‡0f9þ•^TG0¢»DzÊLîÙò«t¾mÙâûì7ˆ²é¹WÓÚùªFV X s¡nÀ ¾©<8ñœg>Q¯¹wP¯ÅWÑVG©/=³U”VDŽǃ­ê½J›>êüåsì±{` %¬ÕÎøMÖ$ƒ¯•™0Ö…š|¤QP4 ëìyÄÐ<²<ÔD´žçÁîZ·žé2ô%¡&[ƵUR×q+àJÿ:í¤÷ _Û®AIÝtWnp¹ÂO~à %0ŠŽžHNYL믪ÂéTµ¦Æ‚†±,(ŒI8C ã÷Æ4цÁÎî!`£ /l7³*ì†M™@-Qç1¨q– É úHÁbU¶VÀáÑ‘gVüK§im'aN‚v•Á¡ºòuFBŠ—˜æœñÒd;ÀëJÊ'‘ *_¯Èjnÿ{j{΂HÄàþ™AðQF)=JthùU½Ëß()€N"ÿY ùÈþR{×¹K;ž`èߥòp|t¹7¦æž÷JoÆ’äuºÈ´8Ñ|œxˆ3³*ˆ~ˆómO36õXÍ€8Qïóo‘;T§w»î•‰Ä»‡ ±w²áÒB9”„FL¡i€[Óà7ªºÍ™Ô^ü­ŒöÊ®¤8̾¦¹V6 '¦W§TñÎç\–Ip9ÚQñŒ-¢RPôªT×KR%Yì×rX7RDHè¢3ÊAýfU;#Ã%ÛʬTPOÎê?õýª.AaئÖC:ág›)~î°bò¨¼Ö±_FB }úT•J¡Tc k¶<ì‚þõ<„½2’Ñ´8C]#8ÜJxEuxµÖá©AdÄë+©åý’JF®uåˆÆn¡,5®jô X-òú,A›{®ë…´1¡nÎaÀž¤S8Ëá¯õ*¡CÃ$·Ø¯q&ûµ$¿3%»†Å'™¬F©§˜#)ë&¡Ã£2¡ÍÛІ$ÆšÚŽ¸¾¢Í ËpŠjUñ@‰9­ Ì…]V(ƒ KfB«ÉUJ$¶Ñe÷}B?<ƒD¦©üZî(“å8z:ûÐ+pÝâÉ´£8¼Ôæ=SÚl·1v5iÝD³§™’1µýÆ:Öž+Ö‚BT8oªÒÈèiJaŽkÙüê«=„1Û_lá@ÿÄ¡³FyÒÞ‡vî0í‚V}‚¸âÏÆQ ’€8Ǿ)E <á|d’ʉoìËÝUh*o\„O˜§å>^­Œ·C)Ô±fàuÌ£üßÝÏs›)¾ÐŠš)=Õsµwz,v¹‹¶|O ´¾·‡Ëø”’‡0gCv´ öœ×Æ<R)‹&é±·®±üí,Æ•‰GÄQ`ÈìJÚ0NÇ‘ö ésÒBÇ ®>DYùG:x 5Üí¥ôX ï­?” bQÉwóçŒ}ó¡´„«¿Œx-¤£>›[2‡¿´©q¶”ö2]^ g§U‘©7L©£ºÜûw·a“Š0®¥€ª79¹d+l5Ng-/lUÅ5;NS)³;'ÒzY:i3Å @ºu#fÉJˆVGƒ·Ã²˜›)ý±~ ðVYsõÌ•‚î0ˆÏ{h‡Fðžì¿ê¼£ó/jX›DkGž²îô’õ?wý#uä÷’¨83Mm-Ä“©›i$çl ä‰Sº Úðdã"?öêd p»ÔñI¡Ÿg=šâr| /b~µE5Þ¤Z¥‘ ±HƲ²Ø¥Àƒ"]£™Ëªð00ÖÉæ®0–äjó ¶Æ#S«U3Çì̘v,¢M¶÷nµAnAËZz<Ó °ù—`1!Ÿ mØ¬æƒ ³õ=ê|wvEÚÀA•n)§Ín­Àáíõd èe(K{9™B-ߎÂt“ZGXúš< %¶dâ–ˆì¯s†˜fhMÓœN1×9{&W'¯F *'Œôè¨yÎ0Âpº‘øâeêML­nÒ‡`t0Úñþ„Áˆ{e>œ…mÝ  Ã>Ò(D2…wÒ¤SŒíâM)·a8v‡-¶h†@À[Ó°+ܔٴ¬îаwóÞ9PµJ¬Z<èº7[/^ï3:¿båešm´šg¼ÿQ dRçÕ88›…:P­Ï²4¤XQû¼|ž³å¡Ys­{Y{¿œ>$s7‚Eb¿ŸŸ Ï=Ö&*i”ª” —tZzE‡õ¾¤üìw~w ò’ŒgF"ãöþ_Ñ€:’ZPsC¶ =t”•ß*\Ž+F [*BÁ9m-bÌxA}/!͋ΘR°Ï>/…ù2¼H(UÌlX^ûÄÌÙ‚_ cÀã âu¾kÜÔ’ývO15ˆ›Õ}GeJ™í9Šúܼ”›Ñÿ 6eé>Aê8‚ÂHÓàcÍJ³­ÒÁ¶Z«f±Ù¨†žË´ÓýÙÑáL1àæ:ßq ¬'á®L‰*ã8NK¶g³QüÜ `»P0üAœt3ø|qqàë^spRxíC>v´ ÔÔ¦²àw…<§, 3ÂÙ @ƒ4b“¥G.ê™*½«UâYÕ胓[WÒ¥¦õ}²Ï.S¿a•¯t¯w!smTÙ ë—SŸW3nHC1v(Wí>ªÑvá4yHŽŽVi|ÑW‘ßéü„°ü(W¡BÀ¬ëªÜàKÎ@ÿÚI¹µµN4 w·P•Íjžvþô^OM…0Y´DOØ:PáXù<èš­s`)€¶K°>¯S!‰’õìÿäÿ‹¦==:rÖµèý“ Û±tw»%N«ºÒ—è& ý’ÃÿOîÀ·,>Õɤóë (•ç»1€E¥‰$ŽrУi¿ðR8Ñ.ÂâJ Ôƒ†)Mˆ­€ºû!8Jdr ªÌ×¼_Ø`_EÕìë:‡5¨µŒÑMKZ“EMš ¹Çå>c/1¬ž†v®ÒbÔhБ†gVÓó¼lÄÏ?§P)ÀS%}6µÔø»>b5\æŠ-U‹¡|c@Ã%[ß5j/ W@ò踇­!›ýš(;c1rgeÅzQÖ˜ýÛÄnÜ·DÐ#P{q ôè&i,DŸÚ)Ó¾®zy'˜pB,š.¿£-s\F>‡¥Ë¤Üå&Ñä;>ÙÁ®³P«þq"ÊÏíô DË¥Wl˜Dŧ,ª![Þ Ë§ªÎ—Ÿ·xO¸ؾÁª*ÖÔX}¼.žáh‚?|ƒdTÐmPúê˜L´­—iRa6dC2:¼'ìäê STK'HàÑoó Þ·L4b÷Ü}kQÈç Ù¡pé,èE+05Ÿ÷?9+„!bìärL\q‹òÞK%˜;›«—-\â€w¢j=å]'»k[+Á´„”Íí±pZþIeØ?^Òz_ ÓdˇE e º<skL$°sy—µÈ[ ЦdL÷×=‡8«KæËÂ0àú~ëƒ)'îu]vµš²SQjøÓÿ1¥rT‡@„•1ÈËžÆÃ>Ó52ЬAmTF'¶NW‹-ðôL‚7¶_r\W‚…)šÒ9QPÊ•qu1:Sqøí C[?í´ÒîN\ûXðÇh’ ûØö7BÎ#8"ù÷‘'¬ãÔID9"ë3y*„ùp‹‡’°hÖBV0á¹acHÒ†õ—L„ÃÐ"E„ôŒÕܤNm‹”6"#z8å7Â5z0£2Ñ DKL”$›‡±Óf–ÚkPª=¿î¾›’+7 ‘7gx¨5¤†×bíÚ}#ŠG]ÂØGÿ……-ÁÊúRÑžär+NEœEà®_¨&žwªK—B­@÷ãH£ çùwîxn[05„&·ü™K)v ƃà $¥u;;4œ=>pßFšã-é&¹×>gI°Ko@6alõ•·pî™M§‡ˆ%ï·‚éóÅ}rØePïÙF‚Wwÿñ+µu"¢¥£(¬œð†óÜ œ-9#¹óÁÓ„BnZC¸áLznÊ,…’T8m…G·ꀻsŸ³íïFi¥š@k½œ~þryy„ÎR·ˆOª(7ÖÃÐ7jͱa%ÇŸ0V@I ¹½zƒ('[ËÀ#{Kt°3=]X­eœ©^&ßÇUr¾$~,Êñj6ürŒÙ#™çôeÓº9-`¸¨šxã¯àSÔhÍýD2´§9çák{Î@Þþ3¯{•袶ÛJqüŸ´Å À1ehÄ'¿4¿ˆÃ2©Jµ'ø”JÀ¨ùèÜŒp2Ù©®Æ‰‘nµ‡žwÕ¸¸C #ëÕèù~ „‚Ï„ÚüqóØ$©‘…\•Ì䉯TIÅzšò!~!ç=­T“Š[ûEÎ]xÉõ†¢è[´ëHÊ¢¦í!b W_Þº{µÇì@ P.ßp“º*Mß.cBŸñËFÔÅéØÖÝ?…y~Ö/HÈΜNÞGg¼ù.*ß¿ë 6qŽžÞìÏyG¬ý´~8èOkŸêþê0…í"#ÌüÇgàYYâ~ñ²QE*"\õrm>‘F¼Ë'7_áŵ$¨Ý®d%Hñ:Ø«CøªÈÝIjìvØ.ýðø ž‰¢K®[¬l)ÚÓLƒ”–C›úãì®1Ôö»š …Y#m çʹ áEŸ0“¬ˆéõ7H1¨aÊbÃüó†®K¦E|çØ:¯l'  ìxƘ_8s ‘À‡¯¬¶wÐíB}…OtÙ5]"¤rŸ‘¨û Üa÷I•ª¢¥±âW¥)‹ B͵9Ävˆ [ÒÛð¦ù¿m¡ÕÖ/v€{|c!pzÌ?§móJÑíÙw=B6ö¢×ŸîâA‹ðÔý,#Xê÷ßòz =ß Jþ 7c¦Éøƒdùu|”û”@ÌΤRO™Ni\Œ‹¡¹u®µåÿr­et½‰Í†ìp„¦Ò¦AæøÛhÓ8>Ä'¹dŸ»•ö9– sÝl%y»0GÉZV5/öØ–Wò:gJ£næ=Ÿu¾{_£½ØÖÆåFB›ªœªÅ_˜âWÙ3Cø[.=­L'],x-g°/ã7z=·Ù7¿÷˜d!!Ç7¬¼vÿn}¼/# Ê„ÉÍfM™b>fcv<ÙžÝ& „5ËЇP«Ù#ʈû=¾:8L”Àò§`ŽnªÙ$Vý¼´tE#œ]³ÛEîP0¼¯%Ç–¹‚SÕɶx¶çÛ"(16±UšH%i:ËÆ_gIÆ#V/ÒY¬“‘²¼šlG¦¶¯´´«VŽ,±‹ðh›©ÈžLëdIºÕþ ÖmüèW³÷炸UeXØZÚ†oXrÅGO¶Ø&»Öù|öüÙ2l¤f™9‡”æ, IJÚ÷’¥»\jíc¿.sß9W+º ÇY±ö**µÕÿ¤µ0Ä?;ŽÐÔš4¹Um0ÝÀ‰Z¹7bûˆ{„yæ:¨yäv]¢(˺×\% ÑDŽ«{(*Wp¡{²æ”Üu¡ÖìÞ-Æœ–†ùÓùÊ*~H¦u½­He@Ÿ¢×ÍG º×øUò¤ ÈýæÆf ãûñÖ¾Ž1úþƒÔžž¦Gž6‡9gBu= >¥ÅMÑ%8½# Þ-Áš™“&%G?ù ÆÍäÇ]²`ÀøÅ^MÿÝeÓ ‘áªÎYš ¼ÚëÜI ¢[’d“@p('ÁûE,ïÕÆ‘ìä=úõÁŸßnåJʘÿRª½³j“@{*@Iðd1³æ¬&5I1܃P?«Dòzaâ…°‚ÕÆl÷± ¡má*?èÁ}»dB@û¦(†R‘F>›‚¥ör0ÚÝNÚ«iTKÉìÕ8pýÆ>Äaqà±Õd»sNW\_vLÝh¤ã¿7œ­0÷`1Q¤Å|q[Ý—$K^Ù™|Ã=ÔÜ]Áô º„9Â綘Xˆ¯0¹¼að«=ü=«à~¼Xlóv‡éLý µ!=•ß;wf{ûÖÜÈR/KOì*ÈDßÔyc;ÿ’u$dNÍDdº1б+¹ôæ® ve|Îè,ÏÿSÔõæé^[òby r w¬\ŽÕ;.k‰A`BžÁ®ÿ‹ú|.þ¶!Ëpâ R3¦®A–‹é›Ó»¢ÿƒ`±Hp®§ªÍ.Q¹_·òdŠH~’ÔÄYf÷ø‰»%§GÁòèæþy¾òˆÝR·¬LA®G®=DQ©9Maµä“g£š©oçlKä6Ž«"Óü·ôQ‘ÉL½Ê!ŠË«ŠÈ§ ;¯ñ_µ¾R#çJX? äKËÚ£+·ÿáÿ઴á¯išAXEaǬXÒ"ºˆ…æY˜t]Ê&Œ˜/}TÚjÐMw:ôahÍ%øreP):Ðÿ#ì³+ÐxPã°™i5åVFÇÅå´Ú¡œJ¤(X22êïêÝ“ò!…b_Zée@­>NÄq3ØÎå¨~¬‹s•œkÀÂŒ­í,ëhµ„÷àH;øáÒDá…+N:žBî•z&·Õ^ßp‡¼’`B’ò4móèëŠÃHŒÝ ,R‚8R2ÜÑ·Dצ1ó-´Îåb x1ež±_·°|À#.6¥–çA×ÖÌä6ÔòòÈ+íCþzuƒÕø|N°—‡ÃS*âÁ—¹>5NnâÃþ!C³”̆µõøŽóèmÍf¦¤CŸ³=X£¤¥LÚNd’q™`•ÆQ•¯rÍÑÆ,öÔA¾ŽmŠ]"´Y>!mÔ‘Ë/{®z)ü/ùý½¾ê>~ M]„¥•|õòÛâþpiéü—Ïíä{@Ï¥:’|‘Rò$ןüÙÊHÀË–4ÇÇ[p 2N¬4BÑ è¤.çnÙvhÂÎ Íyÿž×s…1”Z®¯*:K1$¬ÛwÛõîPmK‰ª¿©ßlá:\Öü¡2zˆ¢jÔ˜\š»3¾Cø{ Ü SEWùAår„WÎpíyå‡Dè¥RˆÉ¯däò©³\wÔPŽǃ¥ÿL7®ã÷˜x/6f=è“?¼“šŒ1ƒVáԆ̗$0á¹Á–BJoýÏ­U:»ÊKõ°w¸ŒŽÇm~xÌ480»Ž²wMØ«¼7 ²xœœXæVlaׄçA.õ¸ƒ>óRÆqh0\‡Ýë%5Ÿd a›Âw¸:…òº¼ÐX÷w^uÕO¢¸{Jç'‡S"ôkgôâ7n/& vo—BÐÀ+YWц,ö@{_È‘§<Á†þÐm­ô}FCØ›…6µ¨Þ6îRb28c[¾Lâ]v¦b+Ý W{|ˆ¹£d|ŠÂ-¼~oe‚0 G†!¢03.öUk\ï-Æ‘yן%_9âJû½eÙdTèDÙ{ íû9(×72&9]b^1 Ú@ÙÙ ÷ðb9IæNí¿AçHa¹¹K: Y)}tòñ3¬r1ŠKF«ÐÛæT¦©)uXÍÖæøz"‰šêj<+iáéµ *qñIòïi:©ÅVG©ä™›]`«9^öcbëÄ5 O?ÚŒ<O¢7>Àt2&‰9†È¼€lY^þµu @e(²íPQ<(ëÞPJfÒâì08[wH–vr¡8ðÃ›Ž±Ô®'GjÓ˜‡M‰Ó´FJqЮ:IwÏ ƒn2Ž>@4/TBÉÕžô–ñ±M#¤ý3CZîWp‡Súú`xIp¹X:€ÐœÃ²UŽ1 Ûä>ê½uLë¼®#ÿ’à{÷Ÿ¯`—Óo}u”R½ÄU­&×j3&%ݸŸÊH¿_¦¤Äo·úí”âU2R‡FLš¹s:ßEXC‡k¯aƲ†¶Yy?\TWµgVÛft£C#ê¦Ñ´‚…tí×`€â¹éÁ[jù.ûa`VY}xÓÚ,€¿yŸ‹/©ñ”(ÜÑ™FKÙoYJð{v½~·DF¬ÍHËIçXbÒ„q@h*Ú/I&Ëšz³Ó†ô*­ˆßT±%<\bOü€´HïëOzŠlö9ˆs)œí𘀦FpÊÑZ­FoÂèeW*ïL ÔµyÉÃ9MÇAøq }JðFâÕÌúeþ,3 sáãzË5 ?g÷m4L|Úʈ´_²çiÛƒSÖâ¬hŠTh“©œ<-g=¹ÄŒÒôùô8¿oP£;jh çâ6VqžØ¦ [ÐùŠébͨ’Îã‹ö;›SÖƼén§–ÐlsÎO°Ö4;Cc¸<`¤Û-ÀšC5ý“+€ .¶”O¬ bjà>î 5›¸Æt8é—ôª4%4Eè¿›“kíYg{—ƒö•Ë®,x¾õfk¹‹òŸHíòÖ¦Ÿjî^ª…Yùu};›l©ÖÈA B þbËD”‚ØíA Xšº4`“1Õù9;Êúv^H Z˜3ͼdÏ’\"xvÀ¼ÃoBË´=EhÚðy7²Èâ„P˜¦ˆ9l£Ø#~®ŽZìW^[˧ɫÌ?Ê5Ǽ*O~ñ…énüU8P#\sŽ ©Ì þ$2ÐlRŶŒ&ŽÇ1j"_þˆáã{^æ "©¿u#S,@ ÿqÀìó‚—²Ù2ròù¼ˆhP¦#%©NTôjˆØñ{¡Ñ þ2Äà >m8°Üf-ÒáNQŠ´bij§/bw UñÖ¬D*¸ /̽ÅãŸðñœz–’(Eû0fv“ ¸c9@7Å;É(E±F:,ã¹õ2êÏKƒ—6‚àÑ25”Ås1ÿ´0IJL›cÖVC÷ú‹ ä™3º|':E‹[l=vŠv T‡ž¡Õi\Œµ@º™Z~Òyö>Ù6÷X%cíûg01,4}Ügk k‹IÙ\})CŠ\T"V6òÂ¥øatü¼…ŒV æ2i‹¹–N¶ÿzÛIðtΑëcï ¤R)Î;¾~=¾i¥©@oÁ1¡Iì™ ˆ9è~]Tâ’ `nj8ø@™1¡¬ŸïCê€ÞS /ÝE¥v§³8`šBܰ‚Ûhš…¥`7£=èS…Z>þjâN¥·˜Z§bPÚDÊ_ø•CE"ýºÌ›˜£UýâbEmóAwaý®fg‡ñaLlüµã˘-WËŠ¡3è ‚Ó>[€ à+À/€²ÐK¥(G/vrHR¶]6ŠB. Ž#Á±xžÔ“lò›€Ö˜ßڠܸ±.®¹(.–ƒ…%7ì…33áAr‘y`ÆÔxJ ±ºÍ¹¸A¾ãîfО?‚—k¦È¬JwkGfΦQ¦2Ƥ´4Ú¯NÒyû<ŒÝ9’O¯¤‰-wåíÎQ¢››Jè&¾+4¯Žžªê+£û\ØæéŸ¶í{e§±@è3%§Df¨?À|jìgªòb/ãŸ1.ZÄIsbî@Ä mdVx-JöeGê©!Nñ·d¡¨FøæÞwÆè×UøDϳ[›1Îiúú~¢N»?ráñ•¯u|YÉÓ_KAÔbƒ‡¬qãó ØÌJ[õ—–·ÌÞ$ÊÛG8ÚÑla‚ªØ@úHÅÞ)Ä}iØÊ'*ßœ[Ž.s¡AwLdsæiað”܈v°ÝÈ¥3—[~ý´QÒ–iV²—év´vI¦Ò¯fslÂQ“¿ 4¨1íZ¼á_¡¶u#Hždoºhð2äï˜áa8%çvEZkï<ŽDæô"@îÛî# b®Òÿìô!•ñõŸ@"ìCŠ\ꔇ¦Ô8¨)áeÌgïMžé|ƒPrÊàlú:q¡Oó.¤Þ ëŸ7OT Šç²Î>P|/Ö—MÁ Óà—‘|ûÇœšíkœzDܧöFÐí™·ÍÜʈ qö‹·Éx¹ËŽJ®S¬OH“…]0„¹r~Å—)âÒQ¿ì˜ÇIï¾@½ð¾…tØQžt€µ»üÀ³¶ì | ¨Èwô ‹˜„œ+öØØ¬.¶L\5>=©aŒ»¬`”wÇ®’ûýµ‰ÕP¤ý&;ñc§ëêÿ¬´eëj“'ëŸÓ÷>þ(N€š(2õ·‚¦õýॖ£?©¢-xŽŸ $%¢ÀöçviÅø/äÝMÛz¶¨Ôá€Û:½`ä碗MÒp&ƒ3—}²Jz]’P ÜBÖ¦ù6º"<Ç”ÈÎI5C ïX€UÊs‚Ò™¹ŠÁ+Í|)6 h ´#‰ß´×Þ!¹>¥†Tuö³¿6d¸t|‘„yª°Ø67ß˶ßô³äŠê&8ó×+¯KöDéy@f[ÿ œHòLJøgeq%Œþ=²Íàôö~?y.:XF Gž;˜V£‡ ’¬9ƒ~vsA•:íý»Ú…éx$ˆ4LGƒóÍCK`á +Ž}[c³]å>P˜)¯ëQÏ@o/ Å©÷nXIájaÙOþUÁ*Iœý¨ÊÞ>꺅ê6pÎ;Ba÷QnD*ö÷ö33,ºÎ¥<Í™ƒ„¼Ôé$èúûTë…@áÂ65ÎŽ¾QÍÚúCòðHÅz×xÞ¸± oŃôî¸[™Þ I 8ZÀÝ×IvsؽÜê€÷…³Kà‰Sgƒ¿&¶­+Žó[£ƒTºrâöZ4(’g,™‘óh•^±ÃÙsâØdÁÊÇø¸¹:Š`tÿ‰|ž-@ù×Ý*5äq>ÒþŽÁÖRØÍ·ú‚9‹V)ÿ•ÐwXݨÖ[g¾mD¨i>e÷=ÕpzéÉ)Ü“Ù+móçâ ¦ñR(cgL£Eõ`Kú9µw2ÁI¹Žƒ<ð‘!œ:¦ò‰¼Ñuc8ݾƒHãR×ʪsÛ3à-Ü8¿`ʉŠñl˯%Oí–èi¨… é ØÝ ñ¦oƼrŒ(=uS2‰ L$‹˜Ø‚‘Åô¥àŸÜ@Tó@¦èÈà¤!úC’ÒrÜèÍ2¶¬’BcÆÄÞêPZE÷Ù>÷V[·9BîR_Aió}3v­_%Û¥¦h·BèdÉ«­›/Øw¾Âw” È TR4vеR£ ¤ÔTˆœc„ùFSÁ ûËR¥â‹süQt!1jÞä,È×c6Œ:GgÖÃûf‹RnL(£~”±BE²m\Ñb“ã-6$s=—–ñŠwœš—5[ï/U!4a4E\†vŒÆ‹'Å+NÒКóûhç» ¶:,ž‘…Ä%PñH*ÊQéPÝ*‰ÎórkHÚ\q]#‹ÝêÐw‹]Ò/‘¦J`îÉûÒÜú½}ç)cÚ‡Wƒ»Î…$¸HF?µ»b]AÚŽ Èûá +Q"ýÀŒØßO´îõRê¶`°„õb9-cF¬d{šbía#Ô9@6ŸªHF»Yùß69F+q$ùlìbvÖb0ÇüáhI_>é}‘Uƒ@¥%´^IùD²SÌtþÃhJ€ ó[øµßZ2•Ax»*׋pÌ:\<(áóv;b“U]õùÑó6}#7j<¸£¸—Gº2-—Kšc+%¸®æ³òt4íØ’&x¡ªë ÷ƒ³&ÇŠƒún–ƒ’%¿½»9…ܼ½L$¡rµþ²ReRÓÆÞ!Cd­øFû }š—ãtêT´üôÚä2çGÞ1“>»~š¬ô Ï' NÒr ÜpZdEÏÕ·^ì\9ñÆ?JÚ•LmJÁkeª±úÖP7ˆWH³=Ë¢«¨¨ i/m¢ø—Šñ2ô…¾Àê~‰\DÓ}[$/¸~Ù¼ -qjÚÂÌ÷ÕÇzïœô€ Ý͆D`·:oÌJ‹]T%‰¡iZÜJ$Üï)cÕá7Ö`ÔÆYÿr¢ø5<ù7Bäw…Î`¢ -îyü‘þZx#Ô[fÔ¼PyñˆÌ !k…»é/Œ‡¿Gü=þ§k“°¬ÖˆÊéöÞxƒÇU$VD2òj;°àãÝi{Ílì_ê‰èÑ“‰vheVM‹[¯;ãW¢²»èèƒ i~1†Á8²‹ ¦D{Ô½LÖdðòqV˶>jJ%Ô!Y31Ï€®2÷Õ—uCr}©Ý²‰ýÄr—QÙÿ®Ôf´±ÏÀ4Åp}­_‘½åv¥z¶px›lª¶Åö,‡yÄQgáîbpe*y½¾£ÀçÊÚî¼};?xlÐ/‹¡«éÖ -†câ­±öJÍyò =…E»ÖFfD¤‰Ò}0,“0F¦Ö­Ø4i¨oÅèÿÑn¯N놶Û:]¸¥4¢ÇÂ{Ø%ñØ6Œ¹¿lÖÚ‚Ü:ôäªÆM—û° Á±ê¯ ŸÒ猀–ÊUÖó`'baØ$™o®ºŠ ÐmÙ™!²— Œ¹œ5— >œ¥-sï@!,: ˜"kÕFö 4ÝrdfW:gBwÜ5Ügý¹ËYgã3,7ßlg@9¼«±ÊÚ«[°¸¯Àl†|ÍK]QðÂ’FHþ˜jQ:=q‘õî’t¦.K¥ÿCÕB]Ílué„ÖVQ°èØä§Ÿyòý:Zº¸\}F¿ª2 2÷•ŽQÏõ’Ôeö–\:vç§Ÿx™X& "²ñ7ÖoÈûX!£š¹[IÕAëÀå¶²ì³dÂEתÐÁèãS“M](jFÏ >jB“ ØÌb¤9RïIµ‚œåÂvwҙ{† lËOÌ&xbn¹]B˜>¥yÚ·™²DÖõ9XÐn 0!pa°Ä>A7˜¢y‚ÀÊÝè€ 10£G—oü²‹ÂU¬÷§šKœ€â€IŒoIØQ(mùàÃÈCÖl5¨`À ¹Ÿ zÝc„6~nˆ /@„Џ°#÷w¼ý5£ÎA%Ѥ”˜ª(:QÈ8”<¬ÛäQT"Î? mÜìWe V®—)á†âL‘ß³Œ{s³2°ºD}–««q½Àá¹?z#”$ó[®Ûî€ÍA 56§H×ô5Þ©Z¬¶áägÁrÛB¶&AŸb~z鋹8—†Ä&†­FÓý-a>žåß¶ïÎiÉÛ¸+>±™WF€AAÎy`I |-`á;ÀŒ1©mhVa,E‚!5âK»yiŽ—úAï2…6¥ü¦]([‚‡e ûMß>x=òÈt WÐOº˜0ް&t)ÌÙbs ak(EÄ¿ƒuð\š„ˆŒi{ày3mâ«À¨O<ì¼EÝe5_´ý¡Nì{¦ †$8ÌìvZlËGÑýWÞ=zž•*Cˆë•tÌöHM.*zÆ73±/(,Ÿ×È•Nêì{,“8¡k ¬U†¹x^ûâ§°Èš¡C4KÜ›cüî\BÏo„œ>›=öÞ¿Gdz¼½¨º£ó¥;e\.F|2Ìž¡w=d ÄFéò Ž½$ÆûOü†oäÊ+ßwè(xüÅ mÓFMLØv „þ‰ïyOþ9Tãt|+ ,—ü}|¦"g^_îæÙj)  œÎ8à›Ísùi³å.©¤ Y…i¥«¦s@·X ÍÈÞ‰7X€Ý±iGâ`€K„‡N,ÌËðñ³à¥k+×DK KE²9ä"®éÎPy±ˆ‡EÞL½rÿ\ø‚* ì8¯£¶?³N–~× -{%¿i³¨&Ÿ+ð78t2ck–¯àÄZÑÆ³¿¡!^0lMئ{©ù¡¹XøÛVPŠ÷"$½à­ÑÄi­úkÓ´{‘RHÌVÆqæîCû]Ûˆ!Á1…Zü”i¿LÔöt‰\´M2-Þ1¡ƒÙIet¼ˆƒË(a—~íæ}ð†„ÖãÂÒ^þT^·"¯@Å_ý‘Ív—i#§ý|‰-o±"GìzH,™F*(X 9¸QÏnäv-ö{^¤C*¤ÈKN¹+sãGÏd„ЬDÀ`0Yñ úÌCÇ=&¾E±ºôö‰”.W»LÚ!`r3—MœîïK=1âÇâÚf{N û‰éP¾yoØÎ—Â-‚½«½™áÇ^Bk\øä¿5_ÝxdòY‹ 9çžV0–[ÀÌ œXŽ…­kÔí?¾•K3{S¥‘t®Ö±C5EÛˆ eXá«|”ö'•‚C|2¸^ ïü;ˆm‚uà8t5¾ŒÂèw„O´ßùÿȰëÀ³ÍÌ">w>’ªõ¾\p’zðNˆ1'dF" î\¼ø±n丩]w˜Â÷m¼Q4žò÷æà•þS!:ù%¤˜?élº Ä-Ùü€®Å›±¬_1h‹ 7ú»_²¦ýcšvjb¹%’Ží), ÷žbkÛgT½@­Û‡Óê3“á½xm®§à` ã1Gö».fÿPøsópš~éå.Q|#sV‘6<"®šÍRO­‹ñm…]ÐRl™ûïYÍP;âX}E*Ù›¦š¶#:+ÀTnFcýq0f8WÜúšÜ›CÏùnkÁ ÞWÛ’j erqŽ–¯ÛRA­ç íùkZt‰©CÀt_©jÆp³Ö ²÷:—±};€¼éJ =õˆU®¾‚"S0XZ—Š×Q¾Îs’éð_ëd¡cÿ"=Px,‹†Î,a ¾Ã~uËz†èJ8hÙ5áÌïë’=?'¦8C³ã…ï !äÈÑ+yÃb¾a‹„j |“½9áÚJHºËOã¡ìnðúuJžŠu5PÒA×Do/tiÎ뎠 &°Q\M’¡—<7i¨´` Ò%l´Äˆ1mX‚‰ ڹѡ_uÆ5‡šÉCêµá`.ˆX¼¶2t^˜´0EJ_;P,ªÍ_–·R,ÉåÈ8á]·cœ¨ôi MŒû‰­÷nÍÈÓ»*ÎDÉdœë¿=ÇX‹1"?cþcõZ/«)daëøEù­>¥ Pz!߇Oõ^ߌ Côh¹Öº{×hvj¤$€¦À¤Zºº]z«Eÿtpº *tS¨ÎÿRýNò+Ñ4Ñp€ ІKä˜-ƒ£L!:¼ ã|·.ì¤ÅJ©Ðä£2àfÖ!Óa°JV+F>éb˜ËÓhï#úWæÞ¦8:¥?—×mF=½`_Õ˜ö-¶±¤5¸ÃÞŒJ ¨ö³\Äl«¼ßÊ›t|ƒ+©]tXž;4p©4Ù ¸ è ´¤1ž2Xÿ¾÷¸8ù/¯¹«ªÑçª)ôfç7¼ªý…rªÈä@–Lün¢g¹däëŽK3ÍTÿ§©ô¦ªÞü¤[ÕÒ’ F4œž¢f!D€Ä¶…„û‚¦ÝçÐD³ß)0ˆ7ÝÔF,ht½0þ"nioqšè3_»9ýé£<ÅÙ?çߨêé°1yzG ÉСxÈdð¥I ÊÂÞC¶W/¤dëGjjLLˆöšv¨üo ­ˆjEÛ«WÓ¢8~LT}ƒ”¼Ô„yIzͺ‰HH»cœ’ç)Â? àvØ7»ŠoÅP\ã jµŒ§îB¥»÷ÕgÛKw‹Z‘u ô£'ÈåZò-ÃÛ  -ì->Á@¼§=¨Øu¾~ï ä¢ i|Ñt)Ñ`´ÅB‡!”ä#]bÚ[,b×1/H_ÑøÌ_Ññ‰Ÿ¥=é]¼­ŸÁçubfztĹoû!‚üƵ(•W"hëçðñr³†EØ_\nÝ…™_ü=^çOËdÌÖ–Q–aàõ³N%ÊÿÛ7ª ÷>/WSŒo>Iè´ë‹’Ÿø«[Ëm¨Öys\Ûì«<‡;WoÍH;ÙÙ«žÒ¡êéT¸€T:}Ö<0™‚¥Åä”›B’´´GaGçª·× "ó0GÌÅŠ6‘ž6·°|„S´­¾üà ”Sª ±ìMq˵1yT7gµV¼4Ë÷´4k)«êÕ‹}ãàßFP•dÖèœõ©¦ó:Œ ä{M…‰&h:qèm±ÃíÆO9ÐYLÐ.YÚÿöÉ(™köA×I%/ÑçâÒ+ý«òÀó¸i,ìEkÆÌÀÀ"h»ð ñÇs2Z–+?Z’’Z‡?zi&å}ŒŒ90ê‡ }´&$E¾ Å„]«r¾ý…u£†óCÞ©N“Dk¬>ec%l>§kܸh4f§œvÿá^Fö“£ÓØ;ôNÔz¸R¢«+™õw8/_!øukGH~`#{þ•öÅ?L™ïV¹¸Ûykå*â:ööÛâV˜«¿Ö •«Óö \]I#RD ¢’YÞð1·ShâkÏu4L¸MñÞÇ}¿½Æô8º?—Îå Çþ'×ô þãšép³L=›OÙö¢]Œ|OÀÜÞö·µ|s¨‹Ú ÈGɧÀza/ľ<Þ´*ºÒ¯'µÀ;àDÃ4Ž«Àd½>B·!ÚÈk®Ž§Ñ e)|G3/)õÔ8mcü}n-"úÓùW¨I%Kð_áQ-`o¨±ÙÃ*Äú¶™X6¼Å°[d_+‡-ãA eM¾÷>%Or{x_%k°ØüìÃ+^°³‰’æó=[? Â'LÛEŽ=R a‰Ý.æë,·Á‚çwâ‚%¯st»ëíNª«°—~Z‡s£³oŒ\>«:BeP$ȧ_­· #ñP4¯ÚîJÖ½o¡ xf´VŠPç4¢¯yáRˆoæ^atSñà_ÕæÄ:—ÁOëÜÕÑÙk$\Â^ãzàº/í ­R ±1&*Ä÷ ’™af éCæ” ¨[÷aFx8Ÿ2X™üe{kí”ÎÊùü+%Èö×Q¿ô¡¾šF¢s“b'ƦuIV(Ì]ýÃñûñ¾õÕ`ãZ:þ“:‹*µÙU/P£i_Ô¶wr µq•_.ÙêJWoìu"µ_ÔW×^¤έ\“"6ÁÜ –LBeSHÁÇs®Ÿq5†%«3¥Ô qy.ý(æÓÌìHcÙôíCƒÖ#O3+šãæ®üî"'vï¼ÿϵamž _z]1§ ¦ZÃK<¹BÚj9F¬jÞ!EGtõî l«xR\îÏæ7ÖÂ* ûX|,EéëÕå$ew‚ਂ$ÖªSÙ¬†¸;€ÂMç‘«b8®§-k⛺ÝÃÍCˆðÿ>–FÁ·£’ûs,l¯*R¶Páx@àõØZ¼ýyàĸ¹Ú?bõ´›ÕÈL¿ ~]½!£×¼ÑAo´sY(¢j R•N§H‘Ô\½l;NáiƒãÏo¨/<êø\Ùd‹ƒqÝ  >NÏs’x"þΡo¨¤’C[´åp9ùß8¨-ÇÚÒjºœ‡|è@ëaE¦÷åû‡ãy¼Wÿ­'ޱ²xaæ˜p8ó‡™;HmÍìŠø¦Í¢áp9·¾ip,j )٪ǖ¢.Ùr†Ötðý"ÖÊ“Žô+Ô–ÀÒ$…½RÒmÅoèŠÀ½¿×WÓYïNÑ 1f¯!`?ÎÞ+ޱ ® -b/z©;Ò*UÐÍ9ågk5õ‚Ö|WÆ"%wWoÃr¬ž÷FÓæcj4ÔR¯^MTHk‹,’Y,¯÷"7øK¡Ã¢ë•qNÜw)à«OØTíŽàÕ´Î{^ÖÌ'ºs>sšÞZΗ˧µPr(K«ŽCÍ·÷M  ª ³[ûè aÛùÓ¢h%4ƒÕ· öø3jÁ%ýÀÇ0j!‚II$/’s¦’ëòJ,Å}U\£‘̰<Èë2åsÒgX¬ ‹¢®üíWæ{¦~ßFöäš‹— uß« ¤4µJåu£1€[ùÏ@êí\@Eâà=ë/)¨@ÿ`ö, úxt›Â>ùT„%¿âþÄJþžû`ix(UÀÀÏ]ײ ˆünÁ¼ÐÉŒôÕÜq|®™ð¸V‡62̸sëL†æQ­_Ò6XùÛþˆ<ýªÃoR@7\ñÅ+0)å6AQ­Ù“‰“ð@—Eì‰ ¾kn—sÖ²¥jÉðÅ@& Ýgdfüjî`ƒ¶weU=îi²v¢ƒMCI©³Oi÷D¶P éùµ‚l Ueœ,Rýv_j)ÿ ìl7©ZO=ýhnÇ¢DåjolÆ'åÜw. «OºFîn.*þ§¶H¡;ˆÃyùqß2•$чF߸€ôˆÞ¾–½oßâAI“ o=£.g“ñDÞØ¼Ÿ¶ ‹bÿ™àøó@¡ÿŠžÏÚªãå8‰D”]ê*jFïh•aP,~x™Ô7oQÍ'(|«­Ld6\|ß ŠáMe+‡pr Ʀñza.y{':E=C,[-I%\ؼf»åöú3Ðp²4OƵãìñά°Ëæ 6Â$NúGk¡A6%ü?…–åe½y]R%ˆµ‹{Õ±þ“ÆÕ, ÛjûøÎƒ‰ù3óäŒîT‹ÜGÇ·ìÒ:4ž;>(rØ-8h³$a§SjvvÞGý¸JU!É…ŽÅÿ)+ V!1oe6s¿úÇ'A…zk’׋L $½ªá|¹€¸Àã—öZÑlÒ¿¬ÕµJר3 –Ûuu¶™±¹UXùWøÃÄìÓVÙ=Yý¶C«ížœnHá÷0çxœÌ„Wi´nñ-pCUP­(äK- ÛgOùÅSÍ|ÏžÏÎ}â05@®¤gpZÞ–XfE´ R¥ÃC”È2 Ê-&ÛŒ’%)¸³Í謮™õu2ã'Y…檜òõm)âþà “*‰Ì4昔¾ ˜äíé&ÅSÖ•N›Þœ`N³óXÆRîqÿ/øT“fšˆspC×*OÆh€Ä'wIŠÆ¬ã0_æèaó_éJ%)®¦7%MY>@0„\.êдxoä<¦j£³-¡µ…/ðÚ̈Ó8èÌS¯Nò7Íi\ŠS˜2øgV*!c VÀ„0uUüãÞJ,R"'ím19©o!Íf³Wñ,Ã$ŸÛÉ4µ÷´@ç¾£žþK<Ú¯¢Ëè Ÿ¦}î)|Ç}31ÜØë—,1bÖ)4¹&e¼ð©B^—ÈâÈ.ˤCÑÇœ`eT`rŽ UY¡#.uEößÐáëõ¦ÜrCpÂ0\–ôÍ7„·}‹{ƒø>T¯¯L+¢ï$èˆëÙᯉÔ/}‚ÑjÇ'®D&XÊX –¥ŒB7P´(]ÄÈ”|N[f*\#ɉ›Ú. ×b} ~§iXZÖ¸•Õ\O_ÁõQMñâ7f º÷¿¼(öjÉ^£$'Ë@¢‡ü%ñõŠ ¼/Ù}V:*µ@=}\áR\µë&aˆY9Wô3º6ÃÈRþ†ÈžLàLÈ]¯¹öýjô^é - ‘éÄkDt oaô´|àý8²±Çœ2ؘåmmô.³Ì±] t<¾¾»‹1®»ÔF¯GYÕÄ3,#*¿Ù$5=*¾z1MØМq*M\MóÊà›N†ûmù/'võLl¾{£¤=¦š÷Ι;^·ŒX‹c²„Éž‚œ BueÜt @lI:î…•ÿÎÀ—ñ,_£µd}k@•G·¤íòñ»“SÈÀ ÙhÐImžyµ8].ýŽ4KkÚ@$ÿô áwë—üŸhYEš+ùÇlãä{M~7âcSI“Y:˹Kek/f|°çÃ*vÏ¢mB¡±X¸g†ˆR¿Kˆ¾änž1JAM€MÛng —_OZ–u¹3…oÖ½ÿÏ苌ÁsuQšüón&ï“iH =O4ÐÞ(C~C×Ð5EOrº)j‚³ [ìÛKìÅ&3ªŠ´PЂ¡ÛôÌN[dwakM3Ù{0eõš8#§è½<#-I <FðæË¼˜VP‡ˆx„ÁaJâÉ.‘Ül¿àaƒ¡·òäü’úÑT™$¿ bçã4î=BÑu:…N³ŒbSæáìÕ,Ûö‰ûÍâ(Œ§!õP ¥´_ÖVßfXrJ†B3sÙŠ8­0ncéÎÚ4õ^Å4 C¨]Oöh§‰—±Zzö*ÕMÀ8ªR‚m²LD;õ~e4£ðäzRMU4Ѫí]éÆÑJò4žé. I© °M…–?Í–÷xMMÈ 1ÕìþÂû "¡§ÐNÑLÊ/ô,m'•kµ½Gž.ꙛѫ®Ì¶¯)£ÔÕSÎõóvoÙV"6 jꨓøþ’–z‘ŽÅ ÏíîdÛ¦§‹|.Ê|äÓë߬ zWgª¼"}> ˜JF½wô ¹cÞÔtO¾ê½z} ]ÓþÚB}œOdû2üS}Ã%ϱýÞeBØüoÖ~© iE5Íü­óÁjýDQFMt•‘Ij*­BJÜ\D£Šx©ý C •yëÄò­÷¶\Áá®%¨õâÎõ©º²’ÔE˜à GaE=öÍ`¼‚4*ÒØÀ¿ƒm£A X©Ùð1¼^|ÍR&MPŠѩZâ#îÎ>½]ͽí×Ð ÏDz̒꜔‰°?!eF®¢P¾Š%Û°vø”6{Lr¦àN<´sCxÜÈn/s#¦4ˆÃAÇÏn e0¥u‘¿I¤N(¾öۘϷëÉ73 5˜<^!3”uf€#ôdAqR~ŸÉ½Ì S³ož-òqEÙ¨ÓáZ;¬L‡ŸKv¨Ø½‚[vÔ1¯‰Âæ™ÊŽræØ2”›(»¡ž˜1Ò¹Gá!dnª] y•²™¢Œ&ŒPôÍ7 =Ï1 ¹cdšÒè6î÷d±‚ ›ª“+bm‹ õÒ”“jÁp›œg6V¾¸ƒÚ”Ïpà}ª`qÌ1Ôe¾Á¶ Zæo‹eÝ,Å T¦ÛwVoiF©9I.‰Ñ4›‹CªGÑØZPªµïqgå\m0ùÔLžq'ÈK‹ªQÂãIÄj’[½1ˆ|e©5Òètžß-xCl aT ¸¾M$6Q=ÔŸðnù²ªÎLvxQBkëûòrƒk"ìh9U\ÊubqŠòf† ¬y¶!(áà²l®dvgJ™Ä4ì3<ÔêÅ“@¥Ñ,;廉ÓÃ¦Ž«¹{¬1~– ì*öLù,s´‡ÃBVI/Ö‹€÷•Ëò³Îô$ð*™ÚÌ€Âw~ßïÁ@Qè@:†âÀqd¼þÁ© ÖdwÌkv kkcçš<ùŒU¼T\3£©Í£ªí©@ÆeAíOºæ`YXI]jŒå½»Åùý§¯¾xý“±¶‹¸Wòr »ß5ähÖ¾—ë¤4>´~ý e?@!fqRq›(ÃÅ Á“dX$²R]]c> êÂf¨ýñ/ÄèÒ~™ ›05å@±ò+ûàRà<™ÓÙTÔý/í†ÞÜÁ¨v"ºu=ÿ>ñ­ZJ½ÆLŸSº}Âà)+î¯U"Ûfm9"<ŒY…tÄÆÍÓï§o€FÙ~‚..Üg%Ý卯17 ž§)ÐQ¸ºûe®'Ó’;îrY3 ¡¹òf˜í6÷º¨ÃKQ›ú º2wsï–êsG¹gËt ‹ë<ûKÉ’q@] 0Ñÿ2ªÝß“’$XÒF×ÑÆ¸ K÷>1A¢1YMÊ_>Ì’;õOQO‘1¶ ­øDÞ ÿ€ôtÎ<‰n"ö˜ö ¼Ÿ ÿÍÉÚèŒžÅøÛª @5øðú]¸ù=IÈwÙÄ/Ìú¾‹Š–™êÖ±ôf_@SæÐõ>‘¨ôºŽµiÍTg#à”-Aòyk]¦‹®tóòï–_6«¡4ê±î>®^kÕO¦"JÞfz2 ®B*©.g¬×‚úï1¿Û¤Ø MÝM‘æ®»84.)•³Z‘;ÃD1;¬ççIðI^ŠïóÄTË´RhË8bqÝt€LÞ{½ÐŒÝŽy»ò"KÇØ›Ùk¨vÄÇC=’ù•h¶¡+²Ç¡2 ØPZ5Ö¹z˜*¤<ʯˆnЋ03„mn™ÕÒ”`âÙÚ’_&JƒæÜÞ'˜` **}¸]y‰`Úrò—äì.Æ4¯Ú³jSwÎ]eTy®º™Z+à-ËP„^¸\ë*4‘‚iЗÏfÌåùFP}Uì¿ôDÕö`¿GÆt·‰·Ó 2RÁR÷(_{³U]üĈ¢û0lPî]ò7H?ƒzŸê,¼Õ7p*ޤ1œ&,ŒZ”´IEÿkGó8£Þšï|^ªfAiÞ¿‘C´GX øÎEFx•C†ßµ€€¢‡PlXSÜ éòµ¯Ö¹ j.b¥ƒs`¨ [ä3~°é×®†€#g’?f°ÆÍ3ê}.¬ð%ªÅyÖ­7›Ü7Êõ¯¼àäX`žßX'‚øn~Î1³óZN¨ëÈþ•6\ʪÕ5ÊX¸çbk2ãøR'·k@­‚'“¦GT„þwà:YÄP'ºúü‰]„’°NöÕ9<èb³*ÈÝÂüÝâ‰:D¯Wä‡ÍÞ¼“·F¶ôstfCv†«ù PæŠZ»=5z·ÜˆþòØNøÇú×ßWµl÷ëI!Ó'¶¦ SÏ1\¶ Zâ8ßò1À¹/Iíî†Ûü G¾_Æ}iœ#ÏM^W´Á÷ÌŠSwCkÚÛiÈ÷Pb+)Ÿ¹Ô¾›vd½~¯IÖmÙи¨Ñ–‚l§¥§XŽ/ïÁIþP‰éxt²Fø'™EÝi/¢š7xÚ2ǸaáFñ;Ù(dCñ™ƒ„Ø [U ;¹dæ8¶°ÜBž/àÁŽñeŸ>@æ.Z©Ì±lúÕàƒ‘—$:˜tøZñå¾°QT¥Ž#ʃÙTa™µF™Ä¬g(uö|°äP©cš¯ƒ}‰Ö‰'påj l4ÆŠê‰Ć÷Œ$«ú£ÿQš¡ŸÓò{*ÕŽ\$së² °žx¨”É¢åWÝp—.k‘ÚžÿîÖçñ¬‡<øiâ©î 鉉ƒAhÛA“ï¬eæÅèè–s­X9æ¿Yk Ej0PœáÅíÎecÕ[]o©lã`CÎð¬@$ÀÑÇÐæ ¸zÅ牮µëêBÔV·,ÝL<íSxˆ‘fe8ö~¥OŸ±ÃÌ[Y„s²©Pm<Æ/z˜†O(¿CýèY }§u3nîipŸÇ²Õ¶>ÙU{B Ië­ŸùáXœ\ä#yë΄SÃj¢¿fOhÇp=]&údýýñ0Ûaé,ÉO"$-úbZg)8wÆï7øe! ©}s|IèeÖ<]ø˜`F1ò):¢¹X™èô¬êéƒÞÎ,o!á_™ÿI…I|63<.%G›f ò„ÇÕ‡\SLd² ÁV­Iq)˜«á…!2è>ÎKbß¾9s-Nt™ÅÖq4—m0#s!Q#„îóú•Ÿ`Zp›jʇŽgáŒbÖ‘åù” ³Îô}OŸï˜ÛïÞ>6 :%ý÷ ƒÝëÉZ6øõ.ñDY…´øJ#¥ŸÙS&8•÷v¦4+9ÜE zÔRl¶ÁlÓHÅð5û×¢Šð`ëë®×«È6¼¿%ÆüI5*è%,žðÌêà®ìmh\ì!ý)úl½ÉÅòáÏÔ‹Q¹=³œ^{)ä„!€vع€-½Ñù²Ê~ÄxÐ…Šü2F¼Är&BÔü'ôãüö v^“Y±6‘Y¾ÝpÅó^Äb…ðúÄiÅ®¼|Õ £µ¾èûCe>¯óÐpÖuÀäþ'¯ÛOËkÅ+KdÔ &4§¼3Õ €åàz×ê£w\¡3æé‡’n\íÃÔ¾­±E8þ7$âð‡à·„µVª£Ëã€Þ¨VíDÁ™Ü]­ñDÄ?Ñ¥QⓇH|ž‡Ù-¶8Šùû—éQ§ù“å)wEfaÉëwênÓïå±pn=Ã^ö8ôQWûˆôÈK«w†ΡƯ.)#˵}Óg˳¼Óa ‹SÖÄÎ>r‹ÄLZm£ #wþzBCÃÉšÍeÈüÄÜÆì¥mËLÕo‚™s: òhºÿãÐå/ØŒ±zå¯þ–®@ÿçGÇþX}çR{ä|ñ·§þ÷ÓÙÀl¸wÿ>¢7W©Â;ξÈ+Õå쿞ѥ€éËì³R‚CÊÃÚ-8‰-rR^®Þbfu«TE_P‡P^MÅý² èD*Éò¢véÈJsKÏ·G¸ôT݇EéÛýíàXDƒÈ‡ÂÙ!g7£ÍL{hGU=ë~BÉZXBŠè(§WíWCcé8*à*ßuaÊJ$QmI°ÜÑÉ ¦{¬t$(U©~U2œb¥°"®íL…¾ãñˆêU¬4xŒïxÒ·G§“\IàCüAoî ©z¦¼'ùF®D/­ƒu20øm&I¤V©œ´-ñQïfÜyûÉÁV;p@½1Ë—‚ÚêÔý\1¨q>È<µ(„} ­Å ðû&m$+ÅLõªk}]þ…î&Ö­á„c³}¦TÃF¹°~*‚½¨Š1M;“‰E¶¬Ó(½]fS#²“nᜠù_§±øÒñ-m ÂCŽúæ…ѶK~{‚qXéj5¯z j²ß(òV >Vì¡t°Ù«3Ž:˜@ˆÿç§Øëd£šoïr/i:ȦF [Ç(¸ý5à«?;­äÈb9‚iÀì¤qƒšÈ¬ñ“‚hÇ›\Ã7¾-=§ûcràQšÃ©Df–£Â²¶_3y¯$|Á”#Md‘ÃÒµÊTEY  )Gbi ™6™CÀRn$å.Õ¿+tWÁk¥ÒjÓó^`•Á\e @›ý{¿òV´Æúcäa{ÛÛŸE«x¹ìãŸáAD¡àš“f´íœ:”Á­«Ùk4¼©Î@}/eÜH÷‰÷_ç}©’t#UÐ7Í \•†ˆ©!Á˜Â®]ÇüϺ‡½-7u£˜'ŽÇ>pŠû–ìɲT¬x¾þe²¾Ëåõ±$O¸åXÅUŸ ‚ èòçý:šaÓLÃs檄Vdeº®E3;Šn_eÿq,jÆ7….«E§qøÝ[ßãûüRmýpŒþõ ]ç º‰*,‚ÜðÔm-‹S»^ýÚõ!Ò‡rAhÆV ôÃ熶ƒÞlô€[èÁ¡l»Píòƒ_‚«¢|ä[k'_i¢ ,;4ÙQòñÿx^nQ†é`¦É:•¥÷qÞ ¿Ç»u4¢¥Ï`X3…äÈwE"ÙŸ{ݘÏüІmÃ=4KcéF•Ñ(ýΣ[dSi½ÐÍèµÿ`ñ#6y!˜rè0Mo\“}ÕRõî=LLà$1›Ÿ[L5Ö"‚çâr—M(.y•8ßKø›:š"3qû\¼{uÒ >Ù²y2dø®©–òÐ߃kÛžeË \?µ×»™ÏÐ2º¢JltѨÝ¢üÖ̲ ±ä5t/Yó½Wø:¬üÃÞ­,i Ö!¬~Ç©ëžÕ Uvp›xG†¸…/Ui™½rÕÜrƒ”™Ë(²ÏøÜ£„Ô fâí“ ç—¶ŒˆjrºþMîU6mZf8Ü,·ñy©ZRDÛ š‰yP¼ún`Hž¾$·ZÍì,ÃhÝ×ïìŠÍÅ eÃùç:ò®ç¾ðŸeôf¶xã›o@–3m óHu„jˆä† …"Š“7Ïá7QKªÜF¥Lõ;I§bsNeD§ÑÆ}p™3Æ$D˜<ÑG ºçö¼“Ä! È1â[m^†¹bl šã¢>\5sBX~º˜O-WaBª&°ÂbkÄdqåŠ[35ö$¢ïë|¯ßÙ}ã¶<ì좞¬ï óÞÝQ$g·y7RFdrKàW ˆ(ñ{C™kFû’ ×sD{48 «šCçÄóDÓÂ3ؘZÛHÅ?Š«d›jŠýP¢H_‹&Ä6ÅêÒÖ×Ëñ×?¿¬Ö±ÜÄZµãGöƒº;½”"¿”±!Øâj'W›£\ɾVì„Nÿæ& œ­ö0Ý\î?÷9æ¾€ú¿«Y¨°â+5k‚†—»…ï2⛟Š­"ÌåCn©êA[9h¾¢‚Nû‘wh?ÄÀ¥©¯é^8£<;'Høï<ý«.ÅÞ©Wâ¡~1[ )7¬)“pãh”ˆvÈ' \pöæ4BÇúW×)ñ2d'ÌÒRËï~l¹ûxH"Í¡bu°åT5†Û‰ÈÉg²QÆ ´®ù@G-LUÖÌ£ô8-gû’­ÑŠ$ã‡üª”Máý©¯³eËg·“·«2 t¥Â'`7K±DÎrßÙÀÚ_£+׆—ÐCŒ°–ç±ØPÌ¥Š8¾N×’þÈ_y^¶ó°u±X·#tBùC´7WÔ<œ,L•}a«€ÖÊZ‘y‡*J”ïˆ)rAÄsw&Æm¶Í#?R…bgþº‹ÓψCm„P7ˆãâ Î]îHÜ`üÁTt«Øj§Ö …`ZÚâD=£¹ã:¿* ”Ð>év!pž±À7{í/x²ŠÚ«ö¤Íç«~*zÌÆÀ1Ì·I0c™‘ºSB¾¥ Ì܇™&¾kwj½ñ<è]÷½”&'áÜo¯Ëw-JKvý{ly0ÍGúl¶]É ù»/ï$mÞÁô‡/ë”ÊTU¦b×ñ슄.93årÑ}¯ÛJƒïºƒÙTQº w¸ÉÞq˜ÆÝÂù1Ìâ)¤Wœëù'uJ’gÕ§Šóì3mÎ|؈_Tq`B˜öÊÍ-³*D2Úyª®«7i1 Îìùy§òÍ#éËÃðÄ §sýˆmúÕh~zá«Ã/õUš·Ë,ŒÝ™1¥2µÂzµ¼æ27ëXŽÇ£ç@D:ƒ_’Åd8ɸ[@½Mö ±U”Z¦¾ú)‘ý[¬ñ¦õ>K-z“—Ó•V¦Ç1…î½ÈuîÜTEn/mV˜ÚÒsz ¶­[ñ¹Þô/Š#y‹[[ç îRüÕäî’IWˆ9cQ&_y ú§)GÃ$ýå )n-ÌÁÜ ˜fHlΞ¬#‚ 3·ƒœ“ù‘›ªóØÆÐÌ’? ·|>í½ëÜ.u[!#™}º˜c56Ä”õϱÿ,~rË\ñÝLÒÕ-U¡Ê'¦c-=:3¾·ŽnÇIÇXš]«f‡0Jù˜9©Ø˜1BKûié„ô&â‹ªË Sˬ_јÉq!˜ ª¨p*ŒúG#çV©Î©õC8bAâx¿(â¤øÜÖ òˆvØÁL2dûª«ÿ³Õãᯉ_æèñ¿öªC[QGìnráVf®ÀÞê£òý´Ò)(æç è‰CgÕ˜±!ÇÒ¿o'tÖRØÝm&7­‚VAŽ­ÃìV”ÒÓ7äv¾È‡“ØPÊ&—QÂfè÷¥7ÑÓCœ^R}àbЪ²3µD«@p!òë}©Ïö¬ è|6eÀ\ß ˆ-J÷}Âñ–3~Ž,>Ë5€¶“"XÎ6‰Çˆ«Á~WQQ‰Üõs} ´sƒgiãLñˆ=Hb{nÝXÈÚvå6¾Œ× jÅxaºÌQ¸øpCK¾?óaí÷t¬¥½ËÏD_0+…4²#¤_†uêiâ6±=å–ž·—ry‹Ï 'W°dÝß/Ê»žêe‡ºôîíª>é›×]«ÕwÖêò˜S‹#¸Þ}áÕíY™#‡µæëçŠÆV_™›¿9?s†üx”NÇÀTh!šlÙ@$ô&“U{éâ“ –¨¾Õß ù–ýê…ó¹ý.ß×$›U?…ÍV;Óˆ¡[¾ÄâPZŒ<šè=ð+ㇵ-Eü"Òµ¬˜-ej6`k=Ä ¿Të1Uï‚Ý 8ꎈõW“AY`åÞârF,X=ª¿(Ï[ ½Lé/âY£TìcF”²ÝÓ-‡ŽŽ23ý¾b‰?‹ äj5st³–×Hø€sy‰ÿ&¸Ûæ|ò”óNŠzBöˆó °-J¸âîPXåw*ϵl‡»rijøØŒ¡eˆ:‘Q†ÃL´7ŸÜÊb¸NÏ¥ÃD¾=[ÁˆzìÌçÈ [òcQù72¸Þløñ_þÙ9‘«ðÝØÄg46 hA§&jvýÓ£‘'§Ë´Õž¹Sï-TCØ`¥'L$e'i ¥-vÏW†“4Ï,¡µT_›´SŠ!X’f 'Àç·Ãòúo%<7d8³L`t¾Wv—?=)šÈ…'Þ¡ÿ%!Ã7Ë¥Ä^IÝvÀ,G´²ñÞHt†€¾á9v:`Ÿ¦ØžÕÙT‰)_ @Þv½‹¼0XŒjéÕ2hò G°:Æ¿Ì6L¡‡öRí–øuhj<ÑAéVÈ÷.S`£aÕÇŒWçÞN‘ŸÒñ~;ZŒjåÉé eyu¾À3RÇa€¹%B*nùùè¥÷>1œ±žëH»ûÁ¬Ê?#.Ç0ÎÚ1âKHDG édà¯?g {2~ëÏЩ ZÈ#­@”KV›’e[J£qQÿUȬå¼-ÀîþUÆ[þ\n/_Š Ý‘¡cìE¶Ó{ʈËp8õE*rB|0)`îgÍ 8)V¿¹Û{qC}l0õ=ƒ¯ŠÉÏâˆÊ<3?wS" ‘,Dè3C«²a^óMvõv*îš&ØòéÞ°ºü…ÖØˆE¹E{·FóA·hÂÌžv•ă ¿Vˆ•ÇU® ]KQ‘¯›ZŒÎw¢¾ÿ²(ïá;›Ó؇$GùÓê†;ª«Ô<â˜/7[®$ö\ -†_;µOºB¡‡kH³‰S?žX8³"\CªˆúÂñ|ÐòPãSHÝà –{x)ÿ®y{©*•#— n¶i!GþqÈ‚ÆO„{]Ñâʽ™ 4©ÿj¢½A?‹øÅÈZ•º~/+GÒ~dgœ•?Ânú 7ñßpY¬L‘[3:Z?«(ž9( ¸££Lbå¹Uw¥dú%y‹J*(ôtÃ×,É»¶ø#ôxwë¯oƒø3‹Žý8ôèD€‘~3a>†éF4àø34z±¢Näh}J\»›¾ö¸ÂŒ¾½Ú÷±†E lìó÷ö?á|„¶wËé@ ×6‰¿ïÌåïry\Qf‚-PvŒ0 ªq|}aîå@ûÀD|ÂQŸöd²×)Ã’qÎ}‚ÌU›ñwJýEŽ•"2ä’!ܤ1D4ì­äτ͵ÓÍ-TƒHQ¦ëbêDCì^–[Ò 7VîʈèB(ú*«÷r/ÔåõÕû€ÛÚYÁ‚ÿGsm+B;À0Õ`דÙ*/< ô]'åãZ ¯¦Ñ„ÃZ¼±—èc\fT»ŒþvmíäuvšÕHaãåx~+cjšûÖ ­Ýh9£Qk@Ÿåâ¯Òi ®cŠ´Pšøk]Ð}’fÀ½áYjŸó§V^G”c´G¶ÎáJ¾Ù¹RâVtí€ë>I³#&€‘¬8®H= qÕá<.)š“+ÉQ(íØ¢«ÅB¶÷ˆÔÅM¢)æ@œ N¯ëg*}ÖvblO™ºýÙÀ…XùŠ&VŠñw¢ÖŸ±öInæ%ëåb³º^5"À%К¼ï`â€Ô˜ÓƒÇ”ð¤w®sX«Ä;¼ÆSÀÛf+×ìT¶\]UXk0)O†ŒWî+>Üã}ŽÏ­ 0¾tk­nóW´9ÌÞê€lòÌpE•$×8†°HýÒ~P>ß«íâÛ´ š„Fµû¨¯1À½þ¡T겋¼&ÀÙ8Ѭ@ò&ôõÏú´Iо’V½S×?§Ò„¥•¸Ý´K 縃oëzÕmDho¡%V‡k'tÚô§Ž‚dwÐÿÃﳸÏrÏN¬4”j´G¹Õ4cJç6 ÍSiÓ_Ç’_Ù †%³¡”…ÊsàüèÄ£ stÚÓ8!îœW1<Ý5ÃÜî1r[êTÇ€Ÿ\ß2hš:É[¸ÑìP¶¸RIŸ19=bG‘¼P¸%‡ó±ñÊ9OëOvÑ–YÑVðxÑ ƒúM=|E°´Ó¸¨¯jèÈè•]`&Øz¾Èpßp=0œž–-R M{®¡)©µCx™8ÌGû>\Õi‡² BÅv% YUnµ‰–gÚ¢Nw«B ôÌäÒgŽBûií¼€Q\9¸²§Á£TÍ6›‡>1Ìvù[ÞŠãI܈Ò7µ†úïöИºK 4iŸõni^6 +¢ZSå‘ô²£DZG¾qTx8«D7í¬Ô‡=’õþ¬+X±‘¦yP¦ÛŠyØ ~ÄñÔH¤nä cºA@_æa3>èd~‚Þã¸aOTê&Þýi[ÕL@–ÓSnÿueo G!Xˆ™[É£$ÏÎÙLu÷‘FÙ{³—X[~ ÓÞñQÚ|””êÈBzd»12÷dË?OGÈcËEó•"ìgfµ€A' ](ºŒñÅz?Ѥÿ‘óÁüÔ@T@~Ù@ôå#î\ÊŒZàŸmþ‹e¿L« -¸AÉúNÝsƱÞN‡â7ñpÈdqÿ>umº¼`ÜöÀÕð®¶ë¶ÐÔ,=£÷\ rƒô5%ªAþ‹}lüÞæþg:ôѺ"[b¯]”Œ[‰Î†–Š.ßÙ¥®¯”—< 7uеÜDÞAúD ‡–¿æ5j•ðN8âˆ'þ¶­YeMF3(¬áÿÌDé£s;ñx— ³h…ŽC‰B ÍIƺѢdd¸Ø’/86›‘p`y_1›üË#£©£nÈK¢ñ\?,xˆ=­íeS å€ä;¢Ç¸ œ§end=3TàéYÿ¾_õŽÇCŽMt®S¸¾œ¬¢0œíÚÍåJÔª!â°rßÉ˶©…tG¬Yht÷+Æl9ûî,!ÏY’xûˆ`艧€ß™ øwm¨3£´T—Þ±$èÓq>‘1Â.ªÅ9oÎd¾S' Ü„~´ƒëFɃM)-@ÿ@tv¢h¯äƧÓ3ß²a Q/¶,ãG¦äÄ6s<¡’ û>>Ûµ]”‚;À^±Ì„ò–š(‰Mš“÷ Íþ¯óÎC@u|Ù_mÆ)X+~ÅþbPÂ7øÂå׳£Ý$âB] ó‰Ýf©æä~9ŸØª{F¢ý>Ì&[ŸVuüµuãÀ ¯g¶ .¢à-2s§ÁªÐ×@ bP– B ÄÉî‰RÅA|)«å'G?o¼†ãêÇ„ñ›ƒˆ-Ù'‘Ö ‘^Ñ)¨Â ¾˜…Úy°.‚§ªOZ§yí\w‰F•¹§20[yÇÈ’hYÃÚ”®^n¸×Ú^ŸÄœYsÊGÙ¥£rôv‰¦IU.‘/^t¦È¶jØtàá÷?.c°3 T€ê!mú}-Û7´É˜gfR¿EžŸÿã̽g9ßrÍ Ýö¡QÛz2"&Aã°çtì“´ÊžþÞΗÌs®%ÎóãX¹ùCÖ-¹Mô™ž2Ä™ù}?!†Ï-ƒüß®K¤ÇÞé ^çoçª_ô—ˆ]²û¹sñq>’ˆwD¿Á‡}hð—`ˆyÑl™Ï’2çé9ÁQâ#¯ +L¥ª¦ýÖi;$K1þ‚𙞲ò#Ô NÍ—wYÿú&‘pN¦ÏëèÖ¼gÀ-WÞÒM¥ŠÂÕËòj\þµ‚¿°íq1Õz‚k T¾éyƒ€P9¹ÖÞ§5g1ÔŽâV_A½$ž[&žžìjˆ…LÅ Á£—V%ÕL]ì ¾¶-ø;.ç…*øX5ëù&+ñ/cÅþ¿KKZGÈ,R"rÕZ©w~hÀÙöËîp}{ê®Ù Å6)Ôz=”’ÖÏbHÔX=ÕvÊ/KfŸå‡}<HÒlQŽSV¡ É ÚÕõ|¦Ñ© x¥ë7ià<&!AWä‡UMGƒÐñ%áÈ÷½Á‘»Ñ’çÔ¹ò9ÛÞ#~*?]pR”ÃçÒÃQ8“y¹p±‡­9ûÒUÏ#´Š¤1FÈ*eÛ9;I¤4{sS°›¾Ãtè“Øà¾Ô¦L6*G+<²ãU¼˜ILÌ «fŒâÛI‹>n¿«|Üä…7„L¨zÙ’tUØŸtNRÀ—ðv(¯*ñWþß]"§ËÄT;aˆ#Æ?-šEþ”yD”5‰qsÍ#ê»Ìšo¯eXµ]e=ô3TA Ø|A ˜Zº ñ'׉s;ÖÓ‹ÔÚ³ÆM •ÀíøÆÿ¤zWÚÊÝ͘Hý½A-xV¡ÆH“sæfpÀDQÓ’°´Š¿3§÷š*R|â†õôn~ÇЃ‰ÅˆbêÛÙW·ä1ë×~Ø&Íq ð0!Œô .RƒkŽäö0¢Y\’S€r· gõúÁjöô<þ`wV · -ž»²};îgÍ{›äå·`ž/‹@uޝ¼ÍßwvãžÙ@˜p_Ñ®FSš9dçACv+ÌŽüá0’,åâGƒ¯üŠk0?•ÑÉ£¡`øtkGTpR<2ý(M£álLõÇþð{3Þ*±°×v¾¢#ø®raÝä€ud¨7‘ÅàmЉŽî—i… %\¤(C“‰õwãD®@Öö¢LfTôö$Zá—þIx —63Nm$·ÄÅóU¿äìª~ï+ÜóX}ÃùÑþÑœ”R<ƒL ™4"%ýÑõáJ$~´ˆ“ˆƒ+4þÄöaøGQWq”L;}E›†<Çñ×”Þ—˜=øðøsªö¯ƒýÛ¿îHPÓbÝ Ð§a«·ÌÙœL-U§ª¨Œm^*¿ú {xLì(PqØ»ý/ú…À+öMvÃs¬/Ï•7’nì ‚ ¿Ê$2³æ=R›8Æ&ØH®õOÚÙá]ëd*kMë¿‹—Åòö™‹˜Ì±˜å½ &Ol)µ»É~‚|0pì¨ à#SÊ×(6 #ÊÏ©ÒãM7¢p[Ç¢ ÉM=¹—m,pW.ö ~›µ?ÉW-(ê™Qâ„e (×ûN=Jô­ÃÄ$&™®ûŠÓ“•Äû<Â’ÿFgâ“ ^×,Ôë¶À‚à/ø¨1¬GìëÓoŠÅúǹâ®Íæyò²a°é/$*‹Tô”c¡åó¬Žp$¼6"yœ©@<ìwâI§‚r§oÆï”"1®À|N…>UÐ22vÕF¾-Jcp3¬Ï|Eiˆq³ÅxËj8¾UÁå+q-ÓW+ \ÇP¬„Hk@2lÂÎq›ÄdCa»²aéÛ”reèɇ‹“W`M³ä¤š·ç-àWçÚÊÃE¹söù;IÚô¼PUÂHEQHV+ÄÜ=wyå¼ ʶœå>8sôÂÁû*7 ¡68¹M°·’~:ÛØ’- „2÷ä–\(Ïn¯…½=¡®Šà Ù™-&¤Uû•¹…óy_ %5çâkw抂±n™XÍ8ò”]¶Èv6ž4î"ÿd²‚lëu{ÏÚ Ë‹ªE­æZÐýºž4f×%¢|÷w'–µ° ËÐ ê­(U^wª9nþ:c–Õ>*`3B& F<ŽH}…”:nÏY!ªý‘Îæåþµã,ªó {¾Õn®%ÈøýªÍ `ŠšhÌ¡‚AŠ~pDk+—°wUqlŒŽŒbÊ “yõÎÞãõì=W¹íïŒw¢…Þ¡DÜým¯¦bÉœQ‹Qa‹Å™Gçìµ{§wû3ÍG»2“çѳöð;÷ê›@§±+’¯*%{4ãgþ¯p¤Ž§c$vjãÊìDC¯•.ù +qÈ«'"vèà T) ¿»?‘ænµ͇)`(0SZ÷xE€“’Ùq®‰ØY¡8ï‚'=ŒYvòS“zòfW^«#`ǰþDë^¾à]}J~ü=Og¾‰!@ÿ8˜ûÀ”ºžìí6#åWcÄK?Æî«¢#lavÖÅÓIŸÐÆ]8&h õ”}71”CëEß/qÃYabX# Œñî$GÒ¸ ”xQ-Áu‚Ñølˆ/e†ÖÉ?J -‰d䇻¿Í M‚ÜFwót\o†¨__á™øt ö•ŒØF©ˆ)vïèŠd(®î±p² g¾Í0l†/xHf›œQðthÅ* ë±.=ëŒ`Æ=wÍý<¡ÆFU´:`̾qتcYäu÷æ#V# ¢9ýžmyFäNpÈ <é™]ôåÌÆ¿V3©<޲¹¡¢bw€ × 4RŸÿ/Éw˜¿/Mk\Tè¡R[‰:É[ ùˆã ,sCüI“î,ø•ÀïßrX\ѓ↠H­ÈüÌ‚î?½Õ^)¸*%wàî¹.CQ¿7"­!Ø–á·Ëÿ ú­g'»äT TrÑ<ÝP ’”I|ŠŸÜoDYi ųÿ´«SÊvœ*éd²IO$IòSB/ñ²Ðb¡ú¢ñ8?à|Jpe¤ zÂçK ÄÅÇÊN³]ÚÂÛcæ,~‡rJea&F TkŸ¬&í-6º,<Î$•64`A]4̣ʟ×%OzA/Óî̓8ãõk{ÛG˜9î¼0[L6Ú @¥åÇÂóÇGâ9Æ¡6ÏÚÈÁé:н¯É2ÎìøÝž'¼wW¡¨©®E}$±¶Tc…F!0ƒ+®¡‚0µFaÀ˜ÅŒ¯Ƭ_Âr á‡V ƒh–êäºD’•dxm@|~† #ŸÖf(iôËXÔðúü])+î KGy‚³Q¿B°N­ÃØÚûà?‡ïž5·÷‚ÏšGH ý-«ª³©Å›ïÂwx“èp”)˜ÂU¢p§h`iðõaƒ":‰÷&ñ' ,›93ñ«s‘ •fá¶?øVã¶‘…EÐ ¾äàÛ){]ä`>#m×åkYõ¥s/EŠúüµ¥¨û¶E®Ù.*ü8†µ Ì¿VJÄSD^Œ¥$Ž6O¬Yotî´¡‡Á©v\/ôS_²ö\ßÃõ‰l9ú ž°]Ž'¹W‘³,s¥Çi_ïÎbì}λ¤ãD‡gOãÀvƒ¨Xï[F5PTÈe‚—Þ@Ø+aú©aÈeëJ¥U9<¥}ÇŽ«n~óÙŸÞ,¬•9–òÄΰËC)Ëü„ƒ÷è+‹Mº($Ï*”Ç¡7j¨KܽóDÒ(òûçÒÜ‹± Ü Àë3tâgìL£ã×`¹Žõ4;{¸®•›YÀSŽíraÝÓ•¨›Êå¼Å«hwh›I%øáØÈîÐÒ[?ˆk¥ÑæL“nQá4±¤øJh‡ÏvQL&ÆaPülŒtéîd¢ó+-ó6ÜDÎ'€E—°]ú!Ä«U®3)/fXܸžË²rûAièÓ>EÏøhé+òEÇä’G•³+Èa§”°ðl½6¢Ä01·j…®x¨ý°"Þö§²]ßû:kÁ±ŽVõâôËÇט«n¬B!©?ýŸ²nõ×M¯…xô DVÂJø&S·=ŽD鈨NJMšS.ѳ˜ó· ÔN!6Õh¬ñ& *Ñ„ðÍ[½¼>Þâ´ÁMƒ÷ fnihj#ÛƒÑ ×Æ«Îü±öŒð‡Î…®ø_%ðNÝ¿t÷O´°º1ÐkR@'þ޶'Ç[é-1wÒÌXÛ4axÊwšÒ)ÆèJ®5æÔÎÅ|nuä÷MiŽãcG¬ßÁ‰R|›5ð^ÍaÂ=¼¶–H‰L‹VÖ¢mJHO«d쉂—M“Ò.OBÓ‡jd>Ä =.ZwZà/è”?ÙˆÝg`_•5C- xçñÇ–:%äîå÷Þ“ˆ?øú)7±Iå7’à‡z7½ØT?µIF`6sÚs† É1î2ŠGx+˜Mׇv–µ˜HFË©íØA…Á5ÊÇîÄóse€@ ¶Ÿá‚ÏÐßZW·'1ääÁ1º•µJûº=1œúØtéì¥@×:ºÞa8)S“ÆÛÆÏØï[üJÔÓæq´ÝLØP`hW{X¸rtëšã@«aN²«ŸA J$¹ÖVv…}ýE9êã5‰o6¤½?ƒÆ„¬ê¡³k^?8z8~¬aÖ(o"zü‰tX{¶oÂñº!è—”)&©vù=éÚû«DÕ£ÈÓ«Ñ2<íÝžÁÎ HsžÌðûMØ¢Î>Ö ³Ë eGɧGî«™á(àÆÖ†Î–›Ù&óŠ—¶f硌¬¥­CG6«É`êê\Y[|W˯t¹-$eáLñm¢ËÅ•¹ ´ŒË•–Þ˜‡X¿65žšm†Ã½6øâ‘ý`gµê†2º [–lLôT a ø,Øæ¿þy/´hÿç.)Vóµm‘I6Σςç±×AL"’e÷GT%Câíªºüx5ÜÊ”Òúv*;‘Úêÿ“ÉPÆ+ëªVZí*hŒ(&f éé"œ„cjøW?DÕJuÈÅñÔ-ÂQ]!±R·h´Tì½¼Aü½zz1^$ál g’ d4š ]ÿ– [j;äH!"SPYzIVEüÎâtƒÓk*æE¼+ £õ‘Ž6L œ¥4žL\`&nËQí_ÜJ†ÇUb?ÎZªØéK%'+Ól×öÉ ÜÆ=Ûeí8w€1‹q*&¾x/Fê:ì®aÌQ}jf= #ºBLg+Ì„Ã"4 ~O1š] =Qv·ª#°ÿf6·žGªƒÕÚÊ/¬+á+)òGÚ›/k¶Qw`°†}ñM$Rh=º€ ½¨ï¹I9ðF¡§XûyöÜì;‘ÿ-^„ès4£pŽŒÆ—æ™4ëž?«ÊàU¤ö¡žŽÈí7÷µ/ z:±×ŒXR´l{ͺG阎!)¼Ð¹ÞJ½Gƒ¬‰"ï,Ä—®KÕ÷Y9~,5í=Y«¢›[ø1Ü~|ò-(¢q!]öÕ±N¾°tPê©ië}`§Nñ¶Îq^Y o.À4~¾‹ÀìiÒhÑÖª‰Ï¡Ñ÷˜·ì½á< JѦà±[Ÿ#©ÓÝhž¢œGŸŒ€ :“ižäÃ8EîŽI ¹¶ÔçoLÚµÑãk)P}sEvþ¯]4Q¸á9êîê,ìm×&GUU„úÙØŸÓ×4ràÿ ¦Ý&’ã© 5÷ŸœX­óóq«” 8E±Þr2ÈÅ· Ž ñhGÝlæ}©' 4Ž>¦ZÅê›ÏÌHB| =Ö™k¿³w‰K&F6ùÒödÄ;£À‡´9£ÔÚ¼Óöº¦¨£&\™†4ÅïÊÕ“kX§ÝF&²hË©Z\f¢L ‰À*TiÄʤ`ŒHXë9ÁÕB²tQs³ª Á›ÖV?9—{Áí¾ˆ…ð:d§ 5 î^R3DóíÊñ'kÿ ö3+D<ÔKxÄön3ïÔK¶+¥\‡…sókæ{=,’§[0|1u¤ú&qÝôìµä'Û`¬·æ )k¾1{Fˆ×Óß|N4, €‰ GŠJ˜5]ÅuïG2ÑhÚ|Ðr S3ŽÉZÇ-글»¯hŒå67 º!ðÕ¢kô þk“r<ë¯òn‡®€Ååxžu¢-eû –å ª2L‘>,DåkQ6À©]Ò ¸?¾ƒË×ÿâ”RÆ.…ÆÖV©Ù>õ’pË—'6­Ž%Ä]\Í ËS+z¦é¦l÷“…Ë.b›¾÷vǃßWì÷õ³‹8“ P¤ª6”ë?q0P'ºò­exÄM"êQºµi‰¢3M‚ù­µŸ¢ø4¥š1òw³Féæ VqºrØ¥B>Ú—iœ’²’õ;lÄé‚9·¶ü‡FÊìôúö°µ©G“’Ä©Q."Wº' û< ¡³!0}w%Êw©¹“ÛQ#‘!/Ã+ÙÎxSg+­©Û´/–¸ß¤Æ?Ák†¤e n¨œ6îû÷ XŠGrÕ—aU=a÷ä‘NÐc‡f«è}h Y+G¹¥nd¯Þ<0úü¢×ó°"n"/õ°‚X°¯ÉŸ??œ… føÀ³‘¡ÁF}õ®ž7:+x«Yàç7»D.ÿ‹-ÜvB®ZÙ–”L~h×{1ñ ¹ñôÍn,ÒMЬJr•¡'éä„ yqa'½„ þñú¡@êpûï¿^”õº/O7ÙtßâÂö–b9û[V[þ›˜q¯žBMÛìcÝ¿A„‰óR’ A{é—‘2=Ñâi…—Á»g’!—z;¦– EH©>W5ÿŠ8. ³\ÍK2 ›Ä©¦èÜÖ¿$ äíq—¶»G|ëãyÂ8ÀG$;¯®Èuq’-nÒ­IÃlõ¯FêÜëË"E·áK”dîS0ö†§ÕB/ ‹oˆ~Ê^15Æ¿óâOœj¦…0Æ´_‹0)n;S6aã6Ö¡ò·*¼DºWôÿ¾¹[ý¬`—„V“FeCç&Î||4A€“Àd§nþR˜r~!ÆÂ^Î⸴3³Þ¦´ Håê:l7ôÔQ^dŸÅT1§T’®ì¾T.<’~$sº8ãå’+,q‡Ðžyn$ÇØ¡¹혙‘w³1f£¯Ó2ŠÞPÐ0=Wwš—jú#öN ¥™C¡‰¥ˆ÷H¼K¥? äNÁóGn‚q#`ÕËe9¿ì2póûoŒˆô³ÃîOÅ„c |_>pLDï)hRQÂÒ:üíDe0×½žõ¦<¤ÂÖ&¯-“ ‚¼æõùpŽŸÊÀœ[eás8ç-´U<=蘭™rÜt°c,~Ÿ‘„÷×îûn÷d_ËÎÞ©¿mþކz6«tBó>[ú—Z“«…gÑô Guí×Ïð¦@u_çˆýøm°ÆIß.›{!féãœ`Ø_D_|$s4“^µu—E®3]ˆ˜È%¹y²«‘ñ‡A,ZíX¨]Ÿ‘—óiœ+—š¿J3öÿÛ©t÷üo•¦ 툚&²Ì`Øeû‰ƒ§àVá†ve,©î2)Hs\NÀž:"©×Il#ÂöHª_€gt,`sºhß GìY±ÑäJo"YR–-Œƒ(o$óOz$†ªÁRÓp=¥¼¡Uc•ëçþˆ;Å)R…%oÀ®Ñt!ÍIB7@VáóêëkºÇRtj¼Ž¿®fÿþƒ±$èÌÎGy)Èœ,*­‚!ÀÏi16½5 @}¬ž„ƒRu&,,$´~Õ!*zSÞÊ6é{gwEyL`õÐ#îÚ $ÓÊî4˜\>¦>DexDÉ|;O>`q7ÉúEÍ} Z¾Ð ŸÓµ€Q&RŠŽˆˆ”ì1²÷-uŠG›^XR+ù£ç+Õ¬c Å#4…È× ŠŽTAë¶ñI‡l:ç€53ìwE U1™Ièy ¦aƒ¸îqÀ‰Ë´£‡¾Ì¢C˜«~!EÚ4›MÓ™´Nô°éŒU˜j; l˜Å$¹xêJcº×ÇúØÙÃ’· ßœñF>UY¯]¾cp;y€V0JL#íöJ­ Ÿ¢›éSÒ%³+šÊiÿIf…%1U‘´ÕaÅmÙ îr™Úwè –1–ÆåCuOsz±Üµ ðZ÷Iêoù˜ÔvàáÏ↗§?Ih§}>gìTH!ª8 ”Í adI·ðùÿgËúc驸™] —!V\2òvBŸÛåwŽ<_–Ïä¨KÑ&'u¬iÿ¨81úàãl°Þ—a“>0Ö cÖ u)¬yÇÍü_me!XÛŠd}[RÑ àMþv£Œ)a£Uoì…{åÍJ;Þ7Œ}â(,æò±á©+ò\ás€~lŠ„Àì¤}A¡ù“GÚy¾Ìj±•ù¦º7LÇo³1EÖÆ$ àé-lì¾è¢,V1ïho ½øBF²ï<¢´ÌÏâÊì“Oú­k.æÔå§CL§µ•(ò†fæ*âºcú¡Š@šµ5oVy©MàÏjÂ?êŽ,ų +Mã`ŠÐج> * úÄ*ÈÙÂA :‚~¼!ÇþëbêO—Uuâ±%¤¢Â¶=£™Éþše·³@< è[­L%ʉjFZ–…d#b‘îSE mŠŠ!€ñLÈèhÄÓc|O×øÖh U¿ÊØ©|òü¬?(tz:Ä }]x{jË ZYµ²ÐÛEÆßO»ë´é×+~…(QVÀÚ§uî7‡’ˆ s6ã^î5½Áà ĦBä´– “ú§³ˆyëÐD @ åAËÔÈøjÅ?Ï!–Ëvñ·Ãn3C9B¥kÕ©c3—õäæ”ø×þ£¥»ü_õõDdj ŒºÖMùl³ ÷Õ^ËHæ<*<³ô¦Â“\;,תƨ1 €ôLA-Fù«÷JëbÎ0;UmpºNäp Ù–½PæÙ5ß[1öYÁm´YŸ$øÜ”RµzIñÒÿ­–ÃýGØÓâ|²äùeùÈ+l~ñ¬ðq7ì4›^ÌxÇ8;ù<­BÙ‚‘à̞Ø)ÌpÕAÒ@3“ A¥Èû~Béñh(7rO2|úâD|†§8çô¢öNÉ(Î!Ë¿›¹N@p‡múø;5™§}.ÔÏfb"œâl0YYƒd^·pûŸz@Ú}7¹M;?üb#|‘t”Q:âWaÇ€"µ¬v¥ÍtM}­11[;!§$Ò¾¹Öùÿf—™¾p[WºõüP²H\ªÆ9‚AÍ‘ç|‘IE@– ÚÁX‡¹m¶w€˜Ùu#㨪ëë{]Ϭp<ç¡c݆O†â4Yˆ¨0dz—$\üþžSxŸŠ!µ9ǰ€ùÒÔ,d·x¬Õ4.ÌsÅ#«šºl‚Íù@Né"§²•œÅõÚäxúLy˜M‹¹oP4©ãe÷•‡É¢ž=·u¶@ç‹/ÍÈE`þž†;Kú‘‘§wóÅëçXÆP¼¤Êõ%3ÑÃst•É…ž!Ë5KÚ^E¨­/¨VñŽÍ{póD0®ÃíçZâ ÜØ[ÿ\@uˆªÃ‡/Ó?g”^*èÌ+T]Z›I˜iq°¾”[üþßËÿåJ4½þ‹¨CÎË2Ь°îqsuÆÄ]¨Üï4¼#‰^BL¦*Ð]5ê^š§“Æ—U/ªsTM-[²­eà·^f¸¹c·ž‚s7‚Áîÿ© R*ËTÿîòìf"ÍÁ—ÉY#ô…ϯœ ko½cƒDÇyímpBóê ÕJkB·âŠ.Êçõ­ zȸïÊ…(~NHZUH_\SYÚ'©O(zVNõÉUdú…Ä÷qT@(ÖÙÙMÇ… úÆ8°º^¾Úî¥8o"%Šešì#ŸHߤ•©uµ¤@À³@ðq¾*Ä«/DIV«kÈ_…*Ö-ös‡ý[§b'øé›ƒþQ0Gìàv¶å%Œé9 d¾-WÄe6ºk1Ù¦/­}+ç‘ ÅšØ0“î2ªz›‰õŠÂ|*êŽ%ñ¦0O‡’ƒQà,h’êžɓÐÅõA¯n0¶¨šq ú¾Õ:ÆA¹üh¬G%'êSìºÏ@9+?õ½tâžüO¹$l¦ú¨ÞzÿëŠÅ¦«yJcrϦàO¤²ÿzÚ©Tnÿr'ô²ñ ‘U:dc‘V@ÉTY²\ú´í„€/ÚàZB¥< `u¸²EܼTµ~&ýŠK~DÀ‹YDSYb ö&RvÐÕò©Hðµ1s¤K¶ZøÃsHluÓGðA¥Wg¥þ…ªº}4uZ©šAÛJWêpÈx Ê£:¦µaœÎÚ·g?º¼[2{ HÓ«½Kab&®v9‚ÀŸ~bGƒ‹2qØ,AÖô“ˆZäMñ_Äåê£ÿS^U*„Ù ¤½Ëóçª.öôºÒ¶EOôJ½|‡ÊÇòÚöÕâÃ…—XªÂÉXÇ¿OŸ-„FQz0¾MÚLmäZ%?–MÞP¨ö¼ÊŸ²>¹J×2þž qfÏ«1þÈNáDǤ%€´á ´¦ª Z„?«|£Îâ×VìùRçlÀØMö3u ±f¶Èñœü1@*ÿHÏJÏâ”[ è¼LÆö…Up|nQÛƒv¼}1ÊÊÄ÷y´ñ_@-Ô“†}͸ ¾[ ¥O»ÜLj1:Š;lî½ç;m b¤¼Òû¨óø†wGñÔƒž¬Âu¼e ¢×Ò”Š‰¢ÈP …îé áp…¬ý_€Ú«øÅifž5ã9œ”{5dlBÚAƇ¤s¡$xr¹ˆFP0T,%‡²3ê˜'í×»ù Etg)屩]œÍ,8ÇMä.•b‚Š4;­ši ÜEö›^‰U9#Sø&¨tÈ—ð‚`‹Àg~u*¾ëÝŸe¾—xÊΣ7åÆä:1Õh ÷5"€üO¼gª=ÐúŸÞå‹sT0š÷¸V­mŸQýúÖ‰û Ëɯ–R€‹ë²ö°±Õ1M™7ÏÈë¦Îõ‘§ïmhj=Ñfªë_†Ç‡Ä¿7«Ý:u}׃A)©£?ºÁ­²ÍÓVJ;B‚—(’k”p¤KGU€îªÓl”,v…lÉ.|âLp*ˆž1×îĤ·ìÄžlZ5Ý”;g _½±|íQ|èýG{p’)…Êü—í¢¯QýBVtØY¦ÎF ³gJ H5^,>¯ÏJœ‹WtÑÛ#Sˆ!é£ û\åÚíÒ@üà{_n9à>Ÿ»‰1ð@ô`ç{´ðŸ÷M Ü$©µÝò,xHKÒ8üí¿œ6Oix7¿ä.|vGÆÏt˜o;¤› @Ù¬ò˜ *Â^kÍØÐÖÔÀ[Œ[}âêß«£j£u»IÉYw˜‹Óô+…C6P¦Ã½·¦í>„š5”*ÇTdŰfƒßÄX"‚·sŽk>-QMùÅ`3¦™èñ ¸Ï3¤ì4µsp¿—B)þnÛL•(©Yr©äÖ§ ¨Œ]ˆ±53E(vȪ-Ö[”™­g¼”uGAiFçlR§»IòÔÐ*IÖ¡Íĺ"1ãû:·™¿ºÎêõAaâ†q‚ìz`µ<]|C»TŽüÐ5yž˜ƒ¥›6B.Ž›¬~søUgÁ34ùô ds¶û=̤W!NªŸ®yQ|õ¦X ¶…i¬ßü±§Þ0´4ƃ:÷d¾îQ¤•ã_æ{«3æ)ÓOaŽtÓÈ™Á‡Ó,À!¡‹­w/(9Ü/TÞÛ“p(çJæƒM£E(õ±¾îد¸|1ãÐßpk*ùovéX“óÕ”d „ß»°ÏQ’×€¸}Hrù¢åŠ3èÓ/%øäƒ:ä<ÔC w|m:4³†³¨€f­­ƒ‹2G“^γ†Oú¾zô/׈N…í/í$¢Ï{òZö{ ‘È„µš‚ZÅh•8•Ù÷ML“²¬½|¦ªÕ™õ|«›0;´)¼Â¡?&%vñ‡ ij„)E莮 cÀk¥°2»£ß $W3ìùI ëjœõGGØvÃF= ¡?ö#u`P÷vÖ±ö<2™›yYÞÐ!¯!ȦöWÐ =rkM¨z‹á‡¹ÄÍ1‹+þÿv[ûy¥´%ºIÏ `¨·°DõüþvåNYÿÚòì)‚;±µ –ÆI=m%9Ò'tŠï 'O8AÅž#¸\"°!ÏÐ$r£È¨¼”Q˜V‚1ûL Iv³“ËbíÙ.€`Žü—“~NXeÃÇ!R"ÿöÉs¯š‡nSI+I‡á?,òù]^xˆÂÖ×aàƒ¨š0¦ÿºùMçößP!Ê–¥{;j—Íìe[Ö'vۙќ³=…v^N_9ZÓ~Óù%º&ÒªÛۤà Áv6úa>TVçRÞÇß»ùœÀèÙ/ÛXq‰“”ý¡(k“Ûû«y)îzÊ| ¡Š§„K´òüBc4‚ tšX»ò{rë¦r}}¯œW¹˜õYåu)ôS5ú󌫺‰&ü¾YSŸ=;#¦sÁúwi>ýµÎ˜;ñÈz”Ú`áäURÝ ¥ª*·¨gÖßsiúûÍ9ƒÈhÑè]ýjµÖwÏezÌ’¸Nn.¥7f]ÍÓhÙd/Ò_V¼";»‘YÊüÐJ{óà¦æ ¯ÅüHºŸuh‚ºOvÈÁP¡íËö¢DrŸ@P…г®ó‰)0–v¡Ž“ëƒò'‰k¹ì`û晇‘ò_ötÐ|aOÓËÕîóO,÷E,jÁ[tÓúÊ«Ùðì£7˜kÉ( ›ˆêmca ¶ ±TM³1—àüú¾û’ô¡0>aû02Å ƒ–¹nUÍ„Ð¾å¿Øgú‡Øl× }¸´´zÕ‚<û¶dÔI{ó‹ mmh)aÉ‹Ï7ñ³yœižˆ(MÚWõø/?]•ˆšÒî64i’Ƭj q^²Œwvb©X MMd«+H‡UŸ©#j5$ÜK‰l–`°ê¹?uõ”Œ ¯ÒA!Aˆu6³„9À’û]Ø{§Õ‘Cf;€:öŸs!”ª%ÔdxÛ£ñ•· +Ký ¦5)5!¦—ŠRÿ§Ñ±Y9i­ål®9,¬I%8lVØ+Æ„È;^ ªžP ·ë‡àÛ˜RS¡js”¼ŒÜQŠHö‘næê¦†xKÀ;º,¾ü{æ’o@òÊìW8ʦ?€üYã,-ËV¢[O¨óʺv¤Þ-sÚâ(éâ1ÍyèÄQе$¦ØTâTÐ…v“P>¬V‹/Ô[9RȯØsÓg²CÕUy`úi)‚û—ŸàCŸFLEæÂ´ÙWP:³ÚMöÁ(îAz·å;åÖiWK'TþIûï’·0ÈÜ’o ;kö ³pMæäÕ(®Ad]½üï¼DÐ/Ͷ5¬F Ix%)(æÐ †x~ ƒPr$$Œf¸ñ]ñ»ô¯Ez8ÎÚb°×I\à°EöEv¬H½”ðr&AÂ’ˆÙå½}ã–8ƒ¼Ì…×sñ„G}8g5€@ÔÖÿ<Ò. ¤öιR)¡îتÏ!c?¾³X:º!ÞŽ@ü¿æÁcøJš9vR½ÛZ1`¸°óåäÖ°ãûuˆÁºìr (&ð˜9)±}•Œª”.ünXXOÏMYÝ—™ÖñæÄù®eûœc4J>"Û!!ë J}|Êíæ›qó¼Uak5/ÁÇe®½€è¦ÒÆŸÙú”õ¬Þ÷ÆÞ¸øÅÓ® 4()—ßbvߥ£hŽÌݰ_·B†Öü0=ÔÏáh&àf1][aë¥ÌÛK4ö措ް+7|¬˜{çÌGYýÜ…Ÿ[/DŸÍs°†'í±Ô½Ð’ ™ž’ÓH FymEáæ?°MÚ¥0-Žù>>T¥¯ðÖiUŽŸ&¼ vÙY³]‚8q6²5"OkŠ»û¯sß©d®s­%Ú­`ñIoÙ½#žØ—ËC"Hí@)ìq,›nÚŸ¯LC^b"Y‡‰÷ð"èem!t–܈ pœæ\…•šYd,W†ï.žIÑùà´ø¯Ð¦qÆn-Î'Xä=<`Ÿ9—ò`íkXÐÐÇ žg-õî_³. €dÀ.ºoå‘õ¦hI åÊÇïòÃBN»Š"P†»“‹±Â*r¹€Âh-öº>sæÏ¥v÷ÑpgÞQnû„rlן¬©%”5áG“t0é˜ûðïL%X©ÇvÝz4$O‘i&Ñ)óöûzf–Òñ£ÒÕ7õl÷-db@÷¥»cÑ8¨Mó‰îžB‹¿hÉF?Ä©Äo#&õö% (/LÜGÕ u#á,µ(v„}ãôë{˜cë§E±V™ÜxñÛ2f$9²Fœ$"z>²ÖÜœOõdÒ€›*?AÍ]H_–G †Qi…—´Ó8KÎ 8è*–«oeóÌ¢ˆÁl$T+ÇßÇ€~gÎÎ¼Žƒ€ë¡¦Ce6j"RQ*¤£§ÇæØÄ‚ÊöHB*{Dfܔ˥NüD’¾®X½t§¼XGwhjÀŽójVîĿܣ]y¯§üÍL1*™ß’}Áý÷®Ïk‘k ÖŠ'ÌoቻèÔ?IýÒQ´nºÅ¤MÙÏùYù€7ê'»%=†ÍºI *EÕcìæbø¦ x¨»ºàV¸K¥ånûX¾¢Bdó'gá0JâÓ#|ŒZM‰~:­‚â±§Íó@‡q|º®éQN—ÛÝöIÐÛ·Ü¿™[®QŠ8Ä7ñZн¸ObDß™I_çµk9 ¦Ïà¦LþÖ¥‹;}aÊ¿ð Ø Ù×]Z»0~×%&„˜¨È™g·”°†'v¼½Þ³½°‹¼ÄþõüNñ[vú<AZr"]qåMõG÷ˆÃz?‰âÙË“×0ì˜6 Se 拉›lB f„¼kÙ€¡º?ÃA}<Ža˜a»T”XÉnç•Ó5¢¦7,¡Ð­6ì—»'jàÝKíÈöÉ¿$ÏýC]uÞÃ:YÖd‚0ݱð. æÏ‚ª˜ÿ|rØ~áÖSË™¯»6ù>1óLrQRøç'r€-‰=D‘¿´²ØTõ²ØBCŽË/– zÖÄö¿ —;íɶS·„_³°Ìô‘,ö*…Ëêt~(×{ü úô<u²×Sy£]êD?÷]ýBkew5E 5·i`€"ž2ÜHìŸg/=è¹`ú l7¤ÃFZ=qæÿ7¶ïüV·ý;VÂ'g;ñ-é^¹Áðåst”çÚB a¡»•ùÞ ²m˜Éþ«jõ‰lü#徑È\©¾…Û3N(—gù z+ŒVÛ±/ͺ‡ tJþúÝ;Ì›Dý èíÉ¿óÑå)ÇÀÝy_¬ ×Á-þ?>6vâŠì­Ù£z†ŽÙÍAùMãç ¸Ôª`ßeKœß'©­üùòš¤7=4%÷.; Tfé£o„brW9C¾‘΀–f¥#¥ZŸç×RúcHÕöþ=ì’—ü%¦ ÝÿÊQÒÐQ&ßpý¦‘D™bûgÎðc••­&¤ßøõ’CxV‚ÆVÏàEa~ùGaO,OU­ óL‹®ûßä(`Ãà'ÌQu­`¿„ShÑŒu Å¢•Uá>+ƒÄÐyþ³3Êà‹¯K¯Ls5þ‚† ^Ô¥ 4z§bx&*·Âì6àïŒÓ ¡u¨Þ=Åš¸VÕñHú¥1-S…=K“ÄÕXë]즿zuL•Cž<^µµžÚ‰yWÂyýç²ó©ÔüÍÞÜï¨p™#±nTœ2ÊLðVš àh”>÷n€šóç~6DÀ—ûjyì{pæG‰«šóЙÃ×yžÅÉ×UïÍ—¬ý!>ëÑ ýŸ 9W^½Wêù—Í+¶\v ;öb-4Abæ*áBF]@ùX¶+"’0Õ$–.**ߥ°€V3‚Y½ÛSðÚ¿¾ûr3 °_Ì’‰ãìåéÈÃþÿÍEI8W%O ….¶¶ØÎ™`€ÏÎ!e Z÷îB郟¾švJÓÃÂDX€«wÌ‚š(Þ§¼u(å©J@\o×p†šüÙ¯Ò×ïÊõ9F1r¼<ôƒðN„y‰lfË_ðM$oè+X:àæþõ>’ƒœ €Í”ÂA™ÐпùK£Æúä~o“xŒŸSØóXÀ¡Ÿ¸¯F(ÃÓn¡h*gW6¸RD^¤ÓÕíL(®‡ – »³JDP˜ºÅ‚Ñ7¾ýEòöÎUÒý—ü-ÂûÄÕ¹Ú­[”uðÆ€K_â̵v¬¤•œÎÕi®ã5U© CÔ´WF.èÔožÆ©ócAÅÛ9(ú–sñ û”X´ÛýLe{Ì!„«Qz|éˆ;=s¾§ÐßZ‚÷㬡KÃ3ª¬lV£ˆšUlì 9ZMÑž<òî¬UOe¸®„'P`·h4¢”·v[Ç×Rrêo‡ROü‰®"kWy`ȱ¦wCkîú¥˜¬uòÙ§ôüÞ»Ið•w5c‚ ÆXŒFïMÖªÍ êgØ¢¶uŠðŒ8v–­@˘ú•ÌÐ6(†Ò±ã²OHYákÒ"se¤,¼XÎY†jo·±)'57>n—ø¹öÚþ«s¦10îs )Ù%î ÅÈô eÛ¢œµŽ×`–œþ‡õûÀ\âY£Â–äÙÙaÑF‹ìèßS}ýëØ;n2û@-ïXÖuŸACUMà…<ÍzInèê ë-Ìž§=_ˆÍ*ŽŽ›æ6gÉŽ+‰ÍŒ{ýÖËG£‡íû™6KF4ÿ:,Õ3¡)œ{Ñ$å ë§ßW‹n€$ Ç$°°ïµlÄq&WÓ¹H7*±Ù'M†¨‘4@~†ÚÑ“`2+'kØ5#ÁQÈäYs?@§‰°pûî_~C‹ÂC ¦­fYÕ4¦³g»l5ižÏJpÇ6ú4“‹uíÁ(‘úªy’âæ®áó%¡Ç±¾;…:t•‚°j{yA¯é¾äÛ(í±ëkîWÏÈþT¡³y·%&H[Sé’¿˜|ñT-ƒèÍ™o%î8¾r[þ2º@i3]¾·t4§k8˜Á()Ô÷“=·4‰R‡N ©Å¤Ç¦‡ÞàŸ'†lÌÚh"n4Äàz¨ƒ×ùÉ.ÿ"FõaÅè˜5$ "Ôä‰{RbmvÞ­rssoµ©Ä‰-¡KmƬ›©û™_õZÅ?ˆË4L-ðÌÿÁÄ÷ž–¢à ïÿ¹.É7Y{ÎM¬é}ßÝÄ+ì(YÞ@*%•Š ³|P›º¨ðxËбê—ú–¤ëÑG‰™- ãÊ9Y+]—ÿ{hNÂâbOç‰Æë§j¢#îî&Ò._© Ù®Û›fÿ.Õ°u ·Yc-m`ù$µðÆCpž9FvÆB)‘Þ$nF0^[؇£› ù¬žÁÏGޏöQ’Dmñý÷j¬5fטëUÉyr¼õs/Õ“ºjr S=[æ„ÈÈz1vœç¤@Ñ5°<%Ç,tÁfÇ¡JÞÜ«ÎökA4ÌΩ2ûÊu%-#r…ð¼PaAŸƒø˜¨ŒùféˆB©h %KP®£ý@¦æªAÒmÌ ’ÁUÎn7È?8lê—¯ü&G>z©.9¾¨4‡”%þaN c;ß¼·׿H'07„NÚ1Az^W¨9rwœrØ?üO¸H‘ó›m­ùˆ¹^z›TÑ`ÉÊV ¿1£ŽÎ|‹ÚDáÚ@o;W]¥we0lÅ#‹p½³aX—ÜœYÓܽ~Ü!<ïDZ˜C£bëF#S%›khDãYh•,UнÜ ¡õ/¨­8÷üZ“Û0 ‹ö'TùÖÄDSµ¦Qõ•…)jÈcæß—ÌÃvþ_rþœŸFgj¿H[”·ìÈ3¡ãÝ E÷¨T"- €Xév,ðgx‡M¹µý½?™@x`“UÖ̼j}_ßÎ¥øóâ¸VœÍžc­ðß3'màjWZ37PRSZ9(ÇY ã±ÂAlÁgn@(H<ø­?³H6*GO?lKbÈ2SÖæ„X ×ýÒwdL¡•Öó×Û¦M\ÚO²w6 `½®õ|Õ@ PÇd>“Õ±~c‰Ö1ï5§l-p3ô,íû¾Ó~Fß”haÈ;ÄþXååóBa”§W1Ý].ÒÊTϤ`Òqš‰Š{è°6[ ‹ï4¸¢|YO¶=øó‡º¹:»yñ òÈÛb<ÌeqT Îð[ŒÓîv»”Ü®‹¿29ùÏ\ÿŽ–»žÚ·v;ÍøibÞU ð¹jgå~ƒ+IH(=Ò¨¸çôm–íÕÔÒôíäg w³1®R&‡0ú®Œpá-½^¹;ñ8ŸÙêb­<ùâå…5ºÇ¹AV˜ã‹˜)«78E²F󂇼éPû²ö nw#aéõ¿ßÉ_yW [ÕPÑÉ‘wéU·BOãíxjè2 å`Y_²´›òØ]¼¾Z0‘=JºaéäxŸŠûƒy°¿|4ÀÂ?RÄ[lC;¾êVù.¬8úPtÀNÑÆü²ZâEˆÅtÌE0,u*òɧP}“tFû-hmÕNÓÿÚ¾}ì¤ï9ªÊmºjLJMÒìÖ(Å+& ^ ‰Â7Çañ¹µ8yÚ F#Æ‘5S”Ï=¿ wP©QDè'ºRX.³¶S‹îi!zfƒ•·ÌBxÏÇ£O.zÁ~uÈ’Vøø¤Ç,ÔOXœU­Xõ!àY§{YÙ—§ì§$Ñ×á^œœw}‚£Ÿ ¦¦õô9»e_sëïÞ6@B•>O<•UÕQ„>ͤÒAr‚/¤„/•ÙϾêïd p‡ö$†­`UsÎYÓÕ³2 ]Q]sÃ¥ô0è„v6þJßœ÷å°–\Û@ذ¶•Ñ Â¢¬) •ÓIªü¼¸"ž§!G„šEŽeøUÐõ#¬e¾)PrèŠwäw¿É·ªcˆ…ÜaZ4~àI‘qRÒ…™‘Ѐ´ƒŠ\L´ðd¶©è¥r'ã¨a‚L:­—ÂZí¤‘-·9˜šž[jз Ü_TŠi¯»®¬ Jà"g'ߟ'(Âð ¡·#š¯¤#3¤œÑ¡3.ôêµÑW["®#Pà wèÍ•QÆ¡[ççSËpñ)}¨y€±«ù—ß ×3.F˜%—âÞ>Ó а÷*0þ3øž8\ãMÊ¥Ù¢Ýþ45@×vœÝ¼5á€âP¤¬!©C ÃÌ,Ê£¿ªâX.„ž—dg3|qí¯CµêÍ[0ƒÃ¹888Y]Þa{-kúÃU ´)>°Ò$- HËí£\˜›‚!öÔCC¢ˆï®å šÞþø%·Ûë/_33= ï$ÊpæÑ©9üÛ cÉÄQÈ/Ðd¿T7¯Nªe¦%Ȱ7-F–À¹<^Œ»7vfv¢$éÍÎø´0»ç²Ë ²Ã@‡s­=ßl5úÈ“ElLupÈû,Îù$¾! >¤‰¬ s °‡}¦Ò1o~ýDKg õÒY;Ï·:h”ãçÏ3ïžX†>ö Ýµ˜.¨Ï1°R‡ò#ß[3Ä%'A†#00ؘ*\ÚG,{5Ì)¶“óÁ£N=ôCµ>%œ¡£?ˆbbÉx@Ë 90hNÔè°!ü7XÅs¬‚w¾‘­ F;ˆØÄùÓ· ¬eACóV·In–ó¼ý“¾8¨àš‹J}?á;B~ –yôœ†¾¼Ð(ÇÀí¢jñ›äwUò4<‚<Þ×Më4W´àD@X H*W–…ÎNêfó%Þ?`ª«R¢"G©e¢Ònîùße—a›tåóÜa7¡zbH¥6Û¸dnËŠKð»HLþ¥õMlu~£Zކ\€­ÏÚŠþ·Jæû¦®„xŠºÖ@ñÆgy«LKeiÜt2×c|gk̯ñ²O(…Îê·A.ö…_·Ð|ÏpЕ1ƇËD@k‡+M)ÿNh,ÖRw–¹î¥€\§´Ûy³ £`ohñôìîƒbð¼™EÚ*7ë’KwâæP¢>à².[1TÃO@•È™1ÏÓ†uvz­Rá+#Íþ‰¸O3‰î¸Û kb¨ßnhvÝ. #cd5X¬›óîèÿµ’¬áü3·*] §ÏËÚý–@Úf ³ZÀ2ég5Ú$ð€¸®Rð+c³@7ƒ‹•‰ìb39Npèú& 2Ïí¹´6[eËYƒ(vè…4MúzIˆ´)àDÌÊÕØ\zIººûsŒãÝ«E_䞣œÁíÅæ×—Ü;ÍÍë7E×È·©ö5ØUHk÷%0ŽPrRÑ^Š›ƒ4aæa$೯0t×,”Ø1Ø‹íiY$¯ôV÷Ñ*­Z Qõ3n1U“\xµ#R¨EŸžÇŽSt7ýqŠ>ë—c@½­Á0¦_HÞûJHI¿:ö¹hšÚe¸…Ó‡è ²`0å ØF£~¨DÓÄŽËÖ!iêS Iš£ÊGÿX4Í/)õ— ÷¤¯WZèߟÏm•‰âÓÖÍÿzå®»J?BÃ8¯Ãò’knÚËŠôCi×Ê,ÝÿNuIîäFûëzŸ¦t¦;ß±©ZZR´šn²`3’ïS@ÁÆæ˜¹#bjó²!Q—úqÜj“åM•À©ž… öÏðç|}™_®›5JRÙLNÙÃíÁ¢Øƒò‡¿kû„ž—å×àŸç“µA]e=êxz·êß"ÒY9à„,Ë‹lòåœK¶³8œ-w0ÃsãF/ágÆÖZؤ"cÒWæ¼èà£Æ±äg6ë­_ÁAzæ]Û%Ö]nqzš¨-ƒ •A¤Do7L 8td”QŽÀš9ªØåÀ5˜¼µyH{ =FÅDö­TÃÐbz°2p«Úõ´e9d”fž"D‹nÐB½Q. <Kw®i3­Âº˜ƒ¥}Ál`Y8‘y©Âç4ÿâb5öµËóêð¤²d… ´³-àSç5Â5îkÕXw`ÜœÔgͶò¿oí®H^ùµÝÒžåAœÊ.yïëôíµ„ôžµfË*P2uc¢? Ý?Uòžžc_¸Å/êsa³ô¬<@#÷ý±ÝÒúÁ‘ZµÉï¹\Å ˜Ñ*ó‘wÿ,ŸM¡0:î\‡‘ÏüÙÞ-ÛÿK€€4fÇí㹎ˆÝ¿ÖY—²NpÊS¢vRàTÔá-ΈÓj4.9 %¤r1Ôä \°Ó?“÷! ¼©ôì2:çH$‚ë±é£Ø%l}Ï£GÒàÔR,o‘kšI{>îyÎ+›K°]7Ú:ïtòÿ§¯86)×IØìD7SýVÃk®ÑôG'4Æ*NOg ¦ªõ®ôP Ç5_N©0¬Ýº*U ¦‘‡¸»i{EQYëì1p¾è/‘ª;r.+%Á¨kÂ\_ŠA¿§ÂuøÅÿc§¬[GåHè–-ì£ #V¸Í}Ý”ó¡Âc¸1†á…ck¹Î¯]ä9¼!XW”×sÁ(Æç—4&'ãÕaª½Œ/ÍÇ7ç_¾&õ D§Ò E3¡6 Ýïhv€[SG~¯·ƒc–Ä}ÃáØôzhX2óڣǴD¢*ù,!G`¹p1ÃÞ«e”[¥QKÛ$öœåYûf@eÈ8ꎪk0mm½RŠ ƒ\½¥Wë¥ÂGÑü+€Ín͹@ËPikf”gáªáÔž«ÓbžÖ{ñ®Ḏ@ùËeY¼BD| ¹Kª•×$¶Ag¨Mó†zÝ Q9R À6››ïui êÁÕ‹rrÚ[¿„ê°H+}äý.’Ï9J„ÀüÎw`ǺÀ82Ú# z{Ç(Z¾O¡Æs1PùñkûQ­E©¸¡w€ùòò,<ò– ”AyiÒº™v°IgŒÞ5b[¯ ²°†a·Ï[+ô–§0RQ.ð6,]^Ö74tWªÙ—*¸³b_çm÷Áp¬9Ù¢ŠtêyQ{a‰å^×TÓ®MpÒÆÉí¡Žkº±W‚šô"$ïJVÞ~i.ø¯¼Byº¹ø* MÐç§ í“h‹øWM°Cß…û•7b†å¹íZ£]Ò œÉ$ ͈1$·¾9Óòåá»Ûº~ÿj»“ ?´ŒçLt…^g%ZØ;Êå&µç½toºüÆÑ¥ÈàÏ’[‚zªô®DÆ·Û:Ö½Ù=5ZsNÛ¡ ¤#$u6«âaL×l9^]Ä‚¹dˆ,!j™åpT¨…(H}qðR×–“¶¼Ž÷aÌy`$ŸŽóíð'¯cHŒ¹:skûËC·™4BÂ{?(gí·x¡ãŸú˜8l2þüG.ÎeAªÄ!g”vC€ñÂ%×»3cÚÉ:ý×ÃH6'©SLõ-à€Å¯R‘´•dnH(ñ°k÷0ƒŽÝZ¿Û=ª=a*§ø¨ÁÞ Å2É?@]R¢¬ë Ø·A.šfaÇãHÊp%¢+²[¨±ç÷ÚI‚Ÿ;©¢ѦµÝÃÜap“Í›C £o;¯Lo»ðz\Û-öš×&nÄi#P]6Ï…7g·+"ñ9a®“ž`@Sö Ô““0p3?=Má.ÔÑE™z„Üò´°_óM¬o)}?Œ0:Ô«F°q†zTuÔ¼¿«¦oªYñ‡™Dó|Ïן,o õ" Z™Q~|O+dÂ4­RÔàmnxjÔÄ%°*LNosõÜós5Æy´÷Ѝ&õ‰äij0U‚‘àlØaM“Ø$e”ìt…¬b‚HÊ£vÏÖ 8ƒ7¸uV:MnѬ۴jØŠDSiæ YåÀ AÑÕ*‘£8{ZÏÒe‰U›¬àXkÔ3<ûCŠE·«áï ›P¹Æ»kvÉ•ÁøÍq¸IK¥äÒþ®{úèÊÕe4Ö}B©ŒðX˜céPí¾ð‘ DNÓ,C(_N—DwØe¹'ჶgçÅÕ—óøCãU•‰Þ ݉‚;jd ÚU7m‡ZÍ"þU˜Ðä$'´>•Ø’Vb |CÒÝßu T«Õãyðh`;ŧã´;ÔÎjH…&Ѷ·;›{Vˆl^=¤›v ªE^T´tªé«œùË@P³™ˆœ;°CeÌ„5UùtDNùçÄc²»Ì¯s߉"PëÈË`É’ªãð:úÎaÙMn™£7°åýìÒgî ¨Ä”ÈMMôå’äP{ÉP Ùr<²Æ…Z- _×¶ª?IÂÃW$óreŽ¥›ïYC²mà„ŒvôÜŽ™u(ª”+q÷ÝÿÃM†¹ ‘W†"íÉ !Ûþ®.”§—¬ä˜¥¾†Ò) É™ýCúÏ Q£ÇJŽÌí&/CëÚQ»clx!yjMwÞö4c"Ðè¾ìÌÝ85é#«,)WE ^":‡NÃeþù…Éä^ð‰õqÂ`G<‚û|÷ûõ"i¥G ³ËKmL±JTT¾v ỡÔ;|Š6°ˆbé€OváÍ´]>.¨:¹ÝÊ?!O9Øì.á!øåÉ¢ÄðßWÁi¡õ1äÞN™N£Èù ôÙ“Ó}§(Ê?Ìg´£@c$â?í—ð«Õ0}…€twÚ Œiª-g$à°{áE´ó¦ aëÛT許F¢#f\qy«sÍÒç`#Ç>*9õäò½Ûÿ6•ŸL®‘Uv•>2"Ë<*1¸,åñVr>­€ó1P5¡³iݳà ×@$@Ýb†+8Q±°eZ¼”À”«]c£Dh:–¸¦1ؽöÚJ)~»iÚz€B{7T"îw™‚„‹ÃKçKKeUCá0væhz~ÖZ[Àîj>•zie–_Ô–ÈŒu¿õE 9‡õVÕ˜Ôåg@ ^J70Åj;¡“ãÝ$|2Ûz¶§€—Ÿšô:/ªO å?\ @‹Ä_.P"}†sÍxûܼ×,ŒrNW#"– ?Xå͆QÓÙñàoøQBË€÷Íî…ä=½Ðã~i/ŠÒÌ“ÆeØÔSÈ 4!¡¬<¢¡ÒÛTÚò€½8½‹¢ÌZá½4»´È퀵0òV³ëø/H.º ˆîŠ |Ì8ñ/$³8ATÆò¹×=·Ò@âNБ—¸ †²•[år~ðÁ£.õnˆ–6ñÃ`k6ÿhPncÙ)PE´¤ªŸå}gÃb•ÖÑ4ëfõSÈf—µ ܾý, ç$tJ‰®!›Í¤sÇH «Å$ú²¼Yª!¢á…ìíPÞëD×1ïµF„ífpÁh!ƒ¡!NÖ€(´P+2Epv力h1œtø_Ë%!ÏeúÒ6-yJðØCe5—Ø! X`2A0"^˜2,šÆ_³_Q¢#*PÊ´êºo9¤ÖÆ5Wœ¿%#Á¶Á®y‘¹¢ªá;³„ž°ïÚ•ß,ä4}B\èüt;/!ÙÄRrÌXlaîûŒ¤èBt&çds“€;†»X{µ7áŒnçb ´Ì°wcÛ7·³¬9z V±kh{†›Ê¥ê5‰ˆõ³òP P(¯ÎÕº€Ÿ:ìOJ ­nˆP`ƒdÖ¹ûuŸ¬ê‹"ôŸæ‚ƒJ-Évÿ×Ö«Ö«<,¦ëañ¨q—Œ³I©¾8Øhî’åõÁMœ¯«x—êÆ=ÿL¡æ`¬2`"-kÚ°¤ÏÁ"U ‰¡=u¡»Ït¶‡KZ¦¡Þ:¦EHR )ß:q®ý‡ N09NއìÉŽ¸^ª$W>‹VSqn³òEŠfoJë+´ðlQ×> ¤KÌt‡Ú@t®×çÒœ3)»Ã1mg©yŽŒŽmÊ9Ím$|§H‘¬«»LÅF¶*ýg’+e™¨…:óµ>¢F KöæÕx*gøóT‹c×€)·Ç»¯¾Ùü«F—*¬B¹ç ‹©qØx9ãä:ði½ òr˜ö®o¶L&¾VQµ!2Å#BÉD öà¦Â°Ë¾Éà[Ó´, ­áT˜Í†èÔt¸¢4ÿ=ŽËàì=Юsý–€¬ê5ñnÛ ÀÍΈvøÿÀôþ (Œ€\¢ÑrP^Õâ³ 8Zõ‘ïíêh¡iRiÝFböñEW1’íôI¹|…ÀȽQßš&yôY"­ë±õcƒªM”­¼5Ø|cËŒ¹‚1þ!Añ¦%€h°h{ò7"óšYc ýîCó&ã4&ˆ,bìñwðß®”b‚èœÓZ€”¥«÷¦y’ÀéñGé³å5Ážƒ8qγc‘¼ÜV­êwJ²3–xxMDظRÉÉ7ys„4'Ä^7x(‡gj9Å Q}þÈß: D¦šúõÙ‡†?æëØöèO„t-yQgÌ*Œ› ?_±R$½[aðü‡«,jõ~¿;h}¿,t’Ù%ª;ăæO‹¹ R—0Õr€K¸‚=PþMs-n±³3¤—ܸî™U|‚¨ƒ«¥'î¤kü-%;‡åt+1;´Ã ÍýïäD§¤FvÉ‘»JòÍ‘$Ž´¯¸å•áLÿê™ãÔFt>7œéü ¦ˆ¡£u€ôÔ¨P¡1 ÿùÜwƒ²g¥¾Ø¿£ýÏeXéÿžî’ÄÂÇKSNÙã`+]å-6¤«ÂÐW¡ñ•8ÿt”稳•|h‹èïtOZ·‡NÆÐ~âïgÒ)¢GÒ…vãÏ#Çëº!9rþÝ $éÔ‘ˆ+б̬w–ŠÐ¯Q ,Œ-y‘Wµ”Z÷˜ÀØ"¾LÌÚ宵¿U³XÚWÓªÄÊPSÓˆpEæÒ¶d„‹ÙÒWôå鉛 0"Ø„k¾j§Ù Éð¿úú5¹vBá™x´Üô(u8´¤1…ˆhnÞ³CΣ¼[È¿Â5µ¨èºG˜K^Ž+WÕÅyùézãj׋jŶø$z†#…úç3úMÓßòpºgàà7_ùôw ÅÌafDƒÀY0÷žn·VF42Ö‰ù7¿PAüLØâjÈâi§XV¨@O˜Gé¸÷˜yOVc^ÌlDãÔÐ ´B¥Ð-3|ùcµÏÂĨ ’-˜b« <¿\{¸ÃØtûeØ.=Tl‹"Ý€±[4H¿'ŠBj}ÅïåÕ­Ãf¡jj=›Œ, ž‹\ï…Õ9¿›1üN±ÐsÕ>Îó;ÇÃ}öUM|rŒ$å€Ñ€®UÝ?{&cc5yVŸW=Ø¿‚“uEuö‘3s©qDz&†ÈG±a›&{™yÊád"e2?gz[7Óå‘ΦE·ÁqÚ@l0/N›OìQô7z-KÓøpÓ~2+ñW©3GIm-®ä©Q²È~˜ îÏóüKÉh…òcrµõ; FNMq:Ù‡éœâ>öÖ¾qÎ𭲟ªfäâsÈÊI®9À)øÍ2@ÕyD©=sYcA ”c†/åë¼­„›"¿ÐêÔm?«àÑí.©;÷‘B1 ‘§Â«ŸmyˆîLëDHxeB‡»ÿ`ö‚Ϫ„´¥«çì9—>ÔïÆÂ„Ü5œôÍ ÜzMˆÔ »z´X賡ÿ¹ Éį-H¨© q¿`ë{XfäÀY¦v¾ÜÒáJp@/z²·)gÿöõÿ[´ë„+Z÷&–EËÛ5ŽULtF¸t¥¾íR‡ôP ?eMUâ)„{…,3×âÝ©ìæ í7£C#¥¦)Áu®NÛn(—Õ‰°G;ÉÖ]®Y*4}cÓ ¶\&Ù˜¿#~ô>¼Öx6Ú+榟­Ûà—¶)vjz¦d>L\íú/Øž>»]Á8n¸ÜÖä(ð¿¯y²˜ãk gã_o«ø&!5*QJòr"ˆ¸âÎOäO–¨ø¦ÞÉ´˜T*=?üy.¤SHÐpùÿÕƒçŽßÄÊÁ›³ãfsÙ÷Lg7a¾Oª KeáåÓEm}zEVö2“Uìÿ¤Ö—5b›ö§£ñHX¡ož/IMÁ8Ð\KR; ­–ªäæ±z:¹£å ŠkžšL½³*6_V=Þ‡½±‚å§ý¦†l,\õg¬h´B¶øª_ž\j žñÁ¸Â2hˆ@[(öû…VÍÓ"±"&—?h„^‡Šÿ!YÂcѪ\ ›Õ qÎX?ÕvûmÚžuÿ¢ާ†€K–‰†Y{\}³£ÇdcÛM•,Ê>W¼0à»åñî7<šzóœ¶n/$°{Z.H‘Ö=32+Bšd1Ï $%feÕ'›ß²ÆBåvgš&Ræ­ÒrœéøeÊy þË%ÏÚRÜ«Žëcâ´ü†»ú¥D)·C»ìCúÅ •¾‚ÜA÷œµÿÆ¡¥š=«üÇ ™í"ÊLw¹¬šúÛ3è¼»†Ç}ŒaDëZýärå}^¡>oë|ñ=*0hÙºV3b‘/é^ÔNwWÍœûžšr#®oá»F²‹Aà~øá¼¸ ‚1/™a;˜¯¶W7‘Ê”=·=§vŸ½Í:‘ œÃ®€ƒö¾ê­ÑKŽ5ÕU j‰$Ø…¿OHÃÍË&‹„Ö8ˆE! …ÇC x¾W¿dOYùY+0«Â˜T¦ÎÊ}ÿÃ<šJº1¥V_ä>]]ÆÌê¥/õE ½˜ACÎ,ávëya§Ïîj,ˆPwq¢—hR~ù¤G%ÜtsGÍôÍ k«œ54Õ«{0•¸5ß›òB Är’üOšÂ&Eò¸´ŽÑ`âGJüš—ñxÆq¼ÇoÉ`ú¹—‘;QZ÷Û-X7 ûߊA9„GãXˆóGjÚƒèXp,":×>©xuA•MúuÝâhM_ªnºo÷þmY¶i,æ9…‰¼yJ`­Éºb u˜ Š Çdåè?=)²˜Ã؇CÓÓÃùøž°¸Âј‘ŸÍà"cz• Å®æBYùŒ3”¢35赸Ó7Š9àg «TTŽ+WâÐ64Ÿ˜FqÖåª?`/üBN^s_æûlÈåvo¶·ükü*î`¿qd9™ÔP¥ÊÁd¶ß`ïˆÉ<§0“o=gÄ%b{L;!ˆ>—@4³E‹Eí›m ¿Ï.plL¬º¥å¶›¾Ù2ÚÈáVZ5=wË6þáÀÒ×¥ó³ë)âYZ×½©´J˰W}š¬Öl©%#Xm†¨ë¾s6%`Gß{&xðCœ.ä6¸%ýw,\ŒÏ±\Oñú׸Uæ ã&ÂÖ25yöN.•šîùW˜dl~±`=\iN|÷$eíæ<œ“ú/H2þ‡Á;8)\zr·Ý«Ìõ®$zù/ØõúÙ›} 0Éb‹©·D0÷âê`K"­|Ü(œhž&P¼ÞzAKÇ2ÿ³T„ÓT“=~5¹mh èæÏ'³czïæÉƒ<ÞÎåI"çj=±ßÅ—è¡à{8ÙDg`HoÎ/x|t&9*òh#8Pc;9²äyäÚÝü¼7誀´b{Í¿_aŠO¹|ƒ·øMŒvž¿8'fDþQu×€ÈuX¿¬R1íFÎZSÉþ &¾BŽb"BMŽäŒ •ªGØÒgŠ˜h!¡/£Ë>γy\nPtÀ+ô)êp½:4èwkàt\Q55ßP>Åù³õ®$â·þ·¤BöR2¹øÃу2ØS”I9>S³‡…ºÏØÃ³F-Òy똹¨×#Pe«iòµ>czi“"ÐÉ)B@UêS9QbMCBÜGi~Tf\ðJ“ž%§í[#ô±ð‹¶Ÿ¤Ù¼ð…B©¬¼Ð·QÒãO‚szOŒ ü„ÝQqE\‘¥S;øcƒaüýÿ3(3v¨QHüs2åš(6L=ëƵµ‘{Þ‹isð;æà•yŒäo%жíc^õú9Âs.»öš’ˆŠùø/¬di=ºª«Å)á-M»·Xð§oˆÀ*ÎtÝÜʪ©CgÑ 0É?ˆÝÇpsÏ(|ˆÌ¾ò‰ñ`u×mš97­ùÔ¨BëM…bÜš-e ‘6ÊS•vŽ¢JÖ¿3åw‰ŸRF÷¹-4@dBpOÓî̤˖èãeäµ×8íúÄ€ŸõÓþ+#ÔÍc$W¶ˆAWv.ŒE:vpßA±d'š~’³ÌÍ¿ÁèƒvŸþÇœò¼{}•šÉÁ£$ñòPW ¤wU½÷srÒÙYÙ ¯x/¢d½Nè͵Dh]v—œõÞìÛ™¡°B=!::¨Õ6Q,5ú‚û[‘¨ˆÑõº½ ¶[Çu’„£×Ôb«¿»ðêц‰¦W‹ÔÔu:X 3ínFa€”è@=eÈH[,–rùo®ÇT@‚[ìy.=ãyD‹£yD4ÿÙï7’nŸbÊ]ƒ<²ùµ;‰ïeí´î›)|¬åèlvÞ»D»õŽQE­ÈBõÅE"ï %ð¸OoÆšŽCÅ|üÓþ:ϽÞЖ:ÖMD lkxr›CŸ–dEmŠýœ‡µEl£¯é9°Å"Za‹‚‹N±)°Ó6~ʼn~LäâüWö»-· -gÊyœ:© ­Tt¹9ÊR´}³_f)uF†Ðrq!+ÐVEû»„@Ö@—U-”.u¥Œö1ŸmÏ'LFM>±«^ ÃÁÜb–r¿žlšÉÛ—3æuÔ¬\O† I-¬hª˜p¢›; #g›uú:zXƒ‹F×Õ1XÏ¡Âêë/¶etŒ K LÝu4’å2.È•Qvîºm†:˜áµ]255?{$ê½D¦¬'Š*lò…ꢔÐÀ(yñQaH×e‡•ЄÍâÓcs×!óÚ•c§Ùü˜gÜGc®Üa¯IîB¥½|Ür8;'"i ErR%µ¥)TžÝDú½ËÈï;ì¥À3ð•Hjùp÷ø ÑÉL ö-q¬iê•ð#V,*ìÔUúV¸‘¯ÿk)=¶ó!«˜2жÆg¾B¡ Ô '¶ZÚŒ÷³æ(íRþ‰mâ¢üJ²u}Ô¥,¥\ ~Z+i±´-sª€ÊâÏ|åhF5ÛÛ¹‰V¹S.dX[™K~^6*ÂúXêÉy ]æÁÏ›fY4° ·•’R¤1Æ—8)íìtôýü¢èµl¡¡Ï²FˆWuÓ%ŒIoo1ª^WºåŒ±6¦v!Jg -§nÑIZ®ß“uˆíÜne:;Àìf8É×¥®.ü^&GÀ™ÊÔ.:_§åç†n¹²[d0éé‘ÂÎì§²<#PËûŽ~BrâM1QÈš.3YãSÓ?añD˜wý7›Ìÿ sº…ÐÅÝë’¥añØÿhÃØÆ*4ɧJEÌPA:q¯Çöþœ k+¨ ùmï7fQÉo2ÀïäˆrÐ` jãv${‚8.R·‰jnRARa•låéI,ýÈ7—òÿ+€ÿYˆd&’S°ìö&È–«^55 luÑ-u.ÐHtÿe×XJ ëo&ò|Q}¨öa°LéI*pÍìWw3Ä›eî0òŠçmT*­*TµÜ‹:}Ë€ìÙr¨Y7Åçø/Í(ñ;i¡ƒ²"Òë”x@Ò†æ@²øok:­¾ˆ$Z>÷ÙŒÑæî¿¢´6¤­|¸\ P1òê/„ý’vÝŸnÞ¹ãu–ObíeR绨PFßVÅzÄ€Ú¼ Àxpbú½öFÖú-|ò|/Û!Ü+vTÆ F¢aj-§4‚–Möm¯X¼‡¹­•|âíw;¦Z¾àÂî}1Ì% d<ñNÇÐø§È…3 ù¤€’›= )éÁfDÚ~5Þ:Õ\æÖ„ÇKTôÞþåˆ{Â&üs9ÚHWh\GóÍ8„—pÁ]4ÄÙd`î Ê‹“½W”ùÈ`>¾gö”²Î[_f1†# „g#Ó®á—_IsÛv ¾m—ÍŸVO¸(Q>HJš’džÅZå h)ÖÝŸ»®íß8õͯF¬‡$6i»ýxLî¼mîLQNÚÿšø@¨·ÒFþ5C¥Œ1äfåô{C[¶Abp¢ã­ô)Ä¡PÃ4=ÃRD—︰‰ë°âf-„/CÛ t¥Jî÷ƒ¥ÃÕiW·Ì‡ûìdcÅp5ö]šæGb†èÊÉÆo£+f£q›ÑçÂCH¯ÙÖçÓ *Þö}ÔVác¤f}µ|wk—g_ÜAV¨KQ¢‰<¿åK¨©ÿ_’ì_}É•j3œP^mbB¶¸-_W’—7Û!ö÷ïTHJÉÁ`.nQ…Ê>M7bŒØrO^ÙnN‚i43œ¬:M@]ÿ¦ëHH ó)6„§´t¢ÙÇS¼Zš¥>±¥ªCo\a ó„¸dÖÐQD 6¶‹ü¹­g*4¡"WF¯eÀ3LJ½“2K•¢KC6“!I¿(µ07ßÉbi—ØÙžc.…•Ãt5¶Èye§¼ÑÈ›ò´ÒèÆ5‘Ôn°Ú Ù"¨»ÿU2DÞ„.k9Õw¼zqF£-ú7túУ׊ †“3õG "¦=r“ÒOŸ…Q<Qi>ûÿ“¦Ï›#NO¯jŸNÜÔŽÚ l•Ó¼+,%\ˆÇ“MÍ7×±Z×WCꚸërD‘ÓÿC´sWG‹¨ÜM1Ö ¹ýªÜ#žZ›üq²ùkëî3 ÝnæÇNÐŒÔ3PØR¡Ù)§xþEóøþí}Ì÷é )Œ;¹NôVÇúÏ ¡È„Z§óóCŒ)ò4”­x;ô‹˜6 vj`´áq°6Qð!Ŧf¼÷n/‡bÚãí4þD%ºgUMdÄBÓq§07eV½@àÇ‘ñ6usáFzÏ‚•>kó»ŸÜ ‰*mËð#Z¢æ èȳ”»rqµ{²s:HUw‚-¹ŠO÷çL"ãKêç<ëÌÖ Ùxè] )GÇ¡zQ&Å‚ˆ;ð‡ùŠË§17ÝÔ£§¢Yûx>­w*˜¼u½:°Ì¨§ó®L¤Ìƒwz§3·‹^€¿io8ª$æ.•!òò‹3ÝáÈ¡Ù)E£BtÈ}¸&!„_´Ã³6á“QD#1ƒžXÌt–Ò›è0–­óo}Ë]¨¼~ÄŠP¬Um”¡Hg¢RÇ’€ ÕøßFU–%kT2æD4Œ“qT™ãEaLµÄ%dZ1éùÂL·­RÉbÐ(ÆK1}zUŠs•áN)† ŽÊ?Ae¯k¡öÚÓüØ"a;¿»Ø¯ëéÓ¢Ê)v)¥Fö qýË¿ÕøuéâfНzp—mo¨9@eöÍÛ,‰NÄO÷¹i‘ŽƒÔmœ4}Ci À´nJEÌ—ƒyY8Ħ¬WØ3GaèîWŽ9Mö¶ÂR¥1øqÕ]ò­éWb8·z#¿Q jò ‘å¥ï)¾ÉLÂ2 `W_lÊõlƒ+ýø±®C`%D^¤g°˜Ä9'’nô˜Vu´300¨5 °ÞV‡Èr´ÿ/@t)à LŒ|¶NáÄÁØ^ÒÙà`]XzÑÀ.ÚOŒ;)f<í·Ådö©Ôþ60aÚóHªàéÔ¤*A»³çXáߛؚž6—϶Nn"í^Æ·§_ˆÄ|D³É¦A¸ù¤2¼”Q+PϸÊ1'¸ÐZö‚û­„ÞÌ•·–±7Žå*¿qÄ,¢†¿WgÞË1œ6¿Ö~bmS¹\bî"³ËˆóÃr˜q¹ëªxózchÿLÀñzüòÉè< !Ol~;õêþ¢ ûÀB©ŠÙµBÄEüÝ¥BU‹ÆÍ)cÓ˜ù¼|1æZÉÅ1ÂLšv5)Üef<æ1øî¨Á $q…¦Æx.•¶câµÃDÃw<¸‹9…˜(o*-. ÓyjP òõOíÙ™4·.š¿@|Ž™U©¢Ü¾ŠQ,O…;3¼( ^Æ\œBìán}«Pp¾/OH×b¯G Z·œ@‰S¹ÒTú1ä_X‹DRÆ%žà5Œ‹Ð*{èYÏ»žj€gÔ» ›KÔÕÝÇ~MHþµâÝ]\+§Æê$ºÁP Ù \ä²Í§-rþÃ|(Zí•W±HþÔ¤¼ð‰Uï8êSd:Aîtû`Fñ†Ÿ×~¹‹+™XvY§±"âeÑÿ&J¿»D“U34+zIÿb¸]<þè‹{|¨(O›¾_½~éÌ\ÒoUn=Ðñˆmt0j¶ç„){¶Øe»ý¡ÝïÍeS,òï•›§yK[ €HúbTe xH¡Ý˜®´ ç®÷sprKêVuJc5kŠu ¼bçv\t”»^2ñø\¼$ÿŠº½Àq·ƒM¶jŒ P|i$(ÇWÊŒ ]È¡IúQAöëžÈñT7s´_YÒàqc­ ;)öf¿\±lº7¾…$é ®)noãqíêS¦ºM˜ h“öߺPlJrºÕ‡ÌAV—ѧ{?Ô>ƒ÷•©Þ±z¯+3Q´¶­á nr‘R½ç$2DÈ:tN©­¨yƒœÝ?·*ÆÔÊåp§d¯ƒ ˜~¯°Ô>t‚®¤7ÔŒôäo,É÷ÙhÎ{·h?V$)±Mb[étç™øžà•±ú˜[P‘Š‹ÊxµØ­3›ݵK¯#ÕT ããrL„ȹ”CÇÀª>-ô‡†ÌªZäOÀ+*ñÛQ?G–œS4¼¦¥‚ø6‰uàý=H3§_0”¼WÜŠÀU8"ƒqCÛqFÛ›š#LÛ’¶ëïýwAà0 ›ƒ¸Êú³cm:C÷=¤†›âoZ\Zã;À6†ôƒFÈZ†;¯¤$?¥Š©À”“s"æð"*u„z¿\…nÀ‰3¸ÑU”èÜŽøÖ¥¹½7 ½Á gbøæ™óÎuÅ‚ž‹\‘<€üK¶FÂvh/J‡@_ø¹.^«buÆ ¸}[¸é°ß>!Æmþ  ~&¦3 áø¤ªÕ®ÜU˜‡«æº4å¥èE´ Æ––…Ádƒ¤Š#‰%"Oì’Ž3M¸+0lŽV·â7[¼}H‡ŸY,í0±ºwròÇ<˜SMèš ÙiõPÑ6DÔóêÈšTæš‘ð0ÆÐˆ’G¦ÐýuÝYø}ãD4–¤Æó¯îÛˆ0çÛ'¹徜¡Dj/3Ý’KøI cÅàt“nûjáûqv‰¤]Žx€’ڿ¹§p,hÊ´{=ã½a‹ Ÿkl÷¹ºÑºûó3ƒ‘±Qÿ~ógJ<=—3®Í¤õ)¶@§áM—J×õy<žXÊèÏt äÒYŒWwd •â2J\–Áâ@ÁÕ\N$Åê%-Cß#hV¿xýXuàfTòŠÊŽv€@îï‰ÛA™ n‹Fº š‡ËqŽ¿¦4z2@fÛ(tؘˆd#xܼ&úïùíöQò®5æ[Ã8$ßjáùžBÝcxI_b´ò›]oŠÙ¸ÝñºbUÎ#¨ú¼3"W…vašÖïþÌñ"ßô¾ƒÿÅUªö-s(«­_ á7ÿ÷©‹}Sf€O©™«þˆÊ¤nßÃÊïaúf°ëHŒ Z­ï_gçÒ}ˆ‹6êûa§ø|ô‹°<;Óhd3L{Gåô“§Í$²¹W«IëÑZ_žÑQ¢K;S'fdJD°Ë+"Ì%¢†Ù`·ØMËß± >¿ú6ã°xµß‰!»QJü'ÕÉ¡ÒvÂpoQ9|ךÞÂÒÖ_ÔD”{2WA±Mƒ);l¹?¤Ã&N3B.­óMqÊ<á"¿áÅ­ÐØ¾^ÐùþœtßÈ•?Y­î³våcª €æÎp)úÜ4þ°Ó#u˜gÿZiQ˜š…ayú.‚ ÌØ@ï¡ÌI'õ@ô°Ó¶~˜AÿêÜgASp~#¨ÞIC~T\·=þfW¬x¯…Ä!îËH@Y=êOÎT›úÙ<°r^‰’ƒV¿i¡S<š2èþ°‚üÀ蜺ÝK—w×ùXå¥ ßÙÝ[I9cÄ=¸ò˜ÛÚÖ? cXfúú¶³çÄÃ>Ý:Ä/ãTÌQT;Í?]# {ãeÉ` èÇgß<ê2fêDs¥1»¡g±Ð%1Žž€ð”heÝ&î½q¼ ÏbÎì÷Š\á˹o9ÅŸWµx¼@;°u¦gŒƒètR©»H{ 8b¼€ü¦ZD C-òäßÔ³XÓªé ÄÐp— (¢/ôyÊ·Æ,…£Íq8üU.WíÞÜÐ=º÷¤œÈep-|›…{>òñЬÖ(;q¢>ÐcZ8ÂÄ}þÁša‰:ÌÀfå¤G†˜6WÚ‚ø$‰Dƒ î!¯‚vîˆb8ø¦aôú_ÖV8æòàu†kÄêî@ϸ>uµïsmêø¹hoê¬{HªÞåž!”Å~BÚa2ü„Ëãêôó7i ‡4hýצ¬@-‚düK õ2ÃÐæ»^4\¬?­™:®ýûC3Ëú{†>ï82Ò®þF‹êÏgÁ#ñP¤Wh¿€c›WNZæþBM”] ³óh´VŸëÞ|ù¯b¥ýö¬ˆŸš‡ŸPÁ<äßR£lqÓj5ƒÌá$DAn‚ø{yd"ÂÞ˜EŸc5›ÎÂ"ŸÍ°p»ª2këvË¡mxg!ç#\óŽÊÆ‹åŸ:IE¾ª]ííqP;Sï\M—ÒÓçþ&˜é•„ÞZ‰z |ΰáÛ#9X Ï~ mëÿB<ËÊÝ8ÍTvžpœÝi#‹÷J¯)ªwTø–x Nƒ]Í=}eR4sÔ9q³óQ(ˆ¶õe¡æ¦wååšZu OïõZ7˜ïŸ×œدTø¿G¤rß°_xa’Çë#šN½V¡qæµås€F#É\ªW¦:Öƒ«Ò¤=Š]y‚9,*Àª‚1\@y¡ÖMུ2Ù¢¤iÁ{ä¯W ìCÉtVHé–@2V"<œ,ÜMFí\y(@Áëg.è[Pû#r.y›½:Ê\0\žß| y±ÑLE Td-$¢J5ü›%6ó©Ú¬ë6g¯³ÜÝ•Êðöd 3Ò4ˆØ™{+^Ív¥yÄeð!Y953s—dëV£Ç‚+Ø5Rû¸Ijh*õÄÛH•S5ÉíÞyù ÓÖW­¨É¢ òDM…y-B^È ú{gƒmÜö-G·¿Ôß7Žb/¦½µÚ0,Ëu¤èÔ•÷Úçœ6}jÞólVä$dæ_ã<‰°Ù¶x¢[l”ÐμUçH~ç½–Ïg¶h-É`hýé‘'jmÆÈ"S?„WÆ6£JgjnzùÆÝ›nú6ŸoÄÂY…ù È®£¤AÈÊé7à|E¥ð˜õo9‹ê+ìŽK¸9HLs–åt’­ƒÏöË—‘p9׫6¢ªhVŽ(ú´û% Úâ_MEŠ…’0~N9ÞŒo5(.ÐF}Óùëéý§®¹£Åâ!AQ-Ê“Hbð·š'꡽‘5¬¡ÜPxß„9c²†s5ǘ,ÂíL €“nhÂ:[OZ“¼2$üU³5,qíËåþ„Ëi4ùÖ|ó¾KȌ׿ÈÔAmBÒ¨µAº$%‚ç R E§ ´Ý.Ÿþu,Ò7¨BŽ 3Í >•ÅÆ84FÔ»Ã9N¹5(vWЗÖúwÏ¡`ÄZÙ’ç…%9S]o 0ÅŸß7Å«;· ¢ÆJeQGû.l÷>ëàV -82êV™@N¤ŽBµžmE“Á€8YÙ_h:°È«D° rGDTf¶²yyÆZ—×ñýº®kªwI½‘ðÕ¨0pšœ)õ3ÜŸ1«?i„>—ê6&@AÓ¥Éoo_0kï. 7àÚЇÉ` ÁÕnIJKìPý¥8!]ö;äôJÄYOPÀݰ-›z¬Ì°ú¯AÞÔÙ{<Mâ*lÑ„adí³w>–ê: ®@_è×e5µ´í¨5[ø¹ªMûZJ—ªàh˶/qPI“²S°‡²wV àcÂkÚˆ-ˆ±Œk RO ÜW&¢h?æšùpò[màæ>ïR Âæé9elãÿ'Šös½$k™×"÷ ÊÆ5„©­Û'È¥Þn„¾ד Àëjj-üèsð`Ã&É­_¥øNãªнîsÿà'ØÚä÷.YC7÷ž«–gÊU±m˜<EÐ5»Z¬=ø!·Š"[wíòaŸ†y¡”¨‡á{ô!LDÑHé5Ø&Qê¯+X”ˆ\=ÖkVmA¿ÖÂ,¯ëd6%ˆ@w–)ñ 7ç³Ì˜ÍXú•æ ÃÊ[¯ Ê]ù'î•Ü¿>ÅïÛ8.-ï‹Ãib3iÅøâ»h¯„yR©4êRˆ±8"©áð–ÿZÃs7É¡q€×.å~j/½ÊÓøDbMÉ/Ò…HÄ ãAîšÇhµUg¾ÁÒ`³È«(ƒ«G’ýƒDÓ ~ƒI¯Ú³ÉüÔ}f ÀUò ›‚âðcNEÛ4Ïð]?+²ÜK;ˆÛw7Bdå ®¤wC[õ׈=Óuu°YP\vú°>B>шϡq]\;ÜÒ‰î~Vj1²©\¦—\«ªÿZ ˜¬ÅY{0ñBÉoÃíù †Z»Ý„B¹oÂÀ»{œCSŸànûŸ8HãB5B·^3AÊÿ5–GUc}?Gœ3‡LwŸ,FñL5’¹¥]Bß°âiºfn¥AúÞ!íh°>†Göðq0_zj 8 %6(É—ôŒ±Zx=e¼Wqžá®=°<|€e¥_1Ñé½3—SË©‰ Ûe&æ—âøâïçPä7ovjÊ AT˜ð5÷ý_Ó{}wvï!Ä¢þíî5`m'¢”}$—_9ŸªÈNgŠï….…¶h +B‚ŒÐGЗg͘rf‰Ž"yá ‡Ïaqƒî™Zýèx(©¾¦ShE¡Õ=õgtL–C¥zý$/±þƒ·k•{qP΋»M`\°é ꆩXã“-‚Y% òta£Bû3åÐ¥[ý­"ùY€j¾1¸t²rŒä[G=ëäWÍÐ`®º >Œv^t”µ©Å§Ì¥Ö¥É­fŠ4ÁóÌóÿ¼}ç Ÿ÷·š^„ü¼›Ê±G›SþíæßºÏ\˜oÕÛßPRSJ‘¥ÿ*ê‘^h)“]¯´¹[\²%02ÝÎɤ´é—ÙšÞƒô/œ ê ÂN?ig7åNJ'ûbС_gÃ÷•…0pMªÐÈ8\UÖ¤^„…Íws^¾>í«Fêbƒ\[è}ðá]læÌV¹üß‘n YÔùäÛˆë Vw†€A¼¿ËåËöx#ÇR^ž²AJ,¬ ½b7ê«Î}Â}×%¥H5®^v”þž³w>Ȳ¤Á(åW‹ÐÏãß, ²ÈVo©À“‚| ´³ã¾½|ÔëWj$V¨F+FÐðf÷oÍ2ÿQZ’ÜÓñ$Ò­¨ç1¨=>º¦¾Ãb#O¸(šÉØ7XŒlúûÈQŒ†Ú¢»…Ö$pvÿF§ oª ,ã«E½ùà|cÆÐmÛ:çOc ÎÇ ð–I8g#7`QÛxër§W+§¿%e"7h î/nr“qZˆéç…Ý;;—Bc‰mƒ!%x6“C3ÜÑR†Æï¹Åça˜…µpjzæI}$Z'Cõ8†‰”U)^Q 5¡Ï»¡o¸cíáó'=©Sdc…×H2V¬³€´ÉsÙåý›ƒY<Ó©V RR"ƒéêF º,ÒT£˜í]X ŠD¡â y¥ï½˜DtÀºÞÅ=“ ÇËHS*‹£ 8§kÈŸF5KÐû·IÄoÙæ$Z4œ×K$ëqÀòqÁóÆWبWÀõºùxZ?áC¤ÒßjãÜÚvÞæj2P$¹½èÏ•öwQfÜF<Ô`ÒºVG:}ýåh Ê±ÉSƒ]¨¢!±—Ïžµ7ÉŽ$¬âHiELPµ¹tXèh§4Ã'^“—Ϫ¼ûÖ†ÙÑŽsP–ËSÿA¾kn4S¢rÊE¹’~qÅa¾ªk¦¥‹'N'F Àeȃ§T9·¨P÷jLóàb%Z9ŸBr|žú™s­Ç¬£Üÿ aÌ¥ºGX%¶¹óÞb jôëÖc­u¾ VôYcOBA‰ï'ÎI¦½ÈËΞiù}’He³Q¥ÚËašæ Ù/vLåÌqÓ2¼]\ï•%ÈÌxø¡Ój%ö­bUi¬Bd¾˜Žíä h°*°ÁèäÆõ4—)€÷;È|ž”Ê(IŽF²!ò9-—‡g0èXúöéPy9þvÍùÍ+ôýǃÇíuêÊLo÷>%ñØ×zï„¡ÿÿyHã(qFÒ^‡ÍNÈñŽÚ´¡~äÜ“I†YF}Ǫ³\t~…,ß³Åq¯Ÿ³2¾nÊ=pä7€ûn³õ ÃnÚ¢ÆBu˜‰J«²i6oܪ‹ m2mÚ`t+ô4¾áG0€vl'¿¹×ñº„±ä>/'‚0» =Íô uá4s,åsD;¸?ÿ #ÞŸ¥ší:ÿ.7;!)Þ"·[_­tËK*êÇ()U¹æ§’´3¨hR¡aÿžÒÙê¦øÊÌK/cÑæ¤‘·Ì•‚…(ñµvb¬‹0oGù¢ˆM|ŠÊ6¥ØÄfbepÇ%Ñ2Õ›>Á"p¾‘¦aQJz00%½–#«“D¥1…°·~˜zÒ†Ž·{û‰Â8xMEÖƒ8üN}–„ãzדOs†Q_;7³³­å±tÅA& 'RíŠ9Vöüæ«ëÚ̳ƒþàf•3¬ÝôÖÜ•­å¹ÔKmò:{îIñÄ+ɺËÂÊa®UY¹˜Z‹ wk"n‹-‹ *8 þ5GƒŒuØ|çãÒÉÜ…zYd½ÇUž×}úQ÷\£Rµ”ÃùÓƒ1ÎKº\8Òë WÓ0%êÄŸz£éë:qƒ™©2eŽ úwzoˆÊ¼úš b^YÄüÊ xx¥<¯V[U‹û队ö-e\®´1­1l¼Ê°‡#&46ù1µ(Y®ï¼y³­Ìçí”ÈËSuîC°¶Úƒ-çÀªú¬"f,õ<É:iþØ2͈¸€.Æ)&%æàe’§ýõ²yîÑ[5³CÈÍ<â”`»ØQ*z££0N454¤6TøZ|@Š€bZãé€iS ¶» +RÔ®hæ);¸õb%à¿’YDô?Ü´Ž ‹‰ß]º‚°ó,¤¨o¢®Ð,iK9Í —uKÄÉGQÛ¬"&óˆøˆaº]öa±ŽÛ¨0¿IAÌŸ ôó€>Hòw®1ËbgKBàT¯}t,›þÖ3QÐgUH•+ãïß0Pm“oÏë´Å~êþ•×ú–À3機¼# ‡å_½fi°.Ý«–íh3/¼ªþm#:r“ýo\ž•†öÔ)¯¢Ï5»w‹Z%?ªäOŒ½ã¤+rAô}[IÅO}Xó  ˆÕå}r*µcbÄW™®Wi–“…‰._¬û UœKºž&+ÞÏ>šmt3™¦?“žv)¿%Z\É­8é XßV{î¡M¨DÓè6¸/j|i®¯ò -ß ÍÏŠ³±¶¹ÓÀ|Æç•ÈÔY K,ùɵsÛc̹òlÙ›“ë˜j)E5î]:ù=T·ž Àešr‚à²@Ëkû8ùuAn–ÐŽ¥Wc–ZÀ½ûähkÎ@£í,·†—{¸j”n´3øÅª¦ñŒÿ.°YºÍÀg#ÇõîÝJL³&$Ádý*r¼³1ù3•à1¦ J¾–£ª@†×˜ñ.³à4¤Ÿ'™Lo{-_±Iæ•F=î<\Rð"`$4½Ïû|Ž´Õ\ß!”nÈÎÑj¿~L|@ÓnשpÏuÃΚ.¶C*+õ„FÌ +óYñ±na1ûæ Ü7à —å ,Ò˜3üú½³l :-‚`_Ò é l%áîfò:h¶ØݪR¡@‡dë+J”S­‚Úgxë̉Nd©ënýùzïÒWUñ‚×¢Þ´.m#`=!Š^çˆwxi 2k–-õ×fƒ æ1H3 –žêöÄ…‹ɬ=:K¾¶‚ ­d5d2%5zGøÁŸlÒ -Ý'±êÞñ÷óª“)tiªñ}5BŽcÜ–ÒEÞICêÂí-KÚ¾¸{ K!sT!^5ªÖÝU°±½ð!X¦©¨;íà€k¸ä "·î¾ÝÏá… «ó‹ËbWr—²ˆåÐ¥-üùĵÇFzg3‡TW²5ijs¹Ò|øT0½ݪ?ÏfFZ†Þ¨Þâ àI. ( CÍl/ÿ¬z< n=X‹Êd–ÞøA- ÇCuæå‡ê̸èå½â…îZ–"[wc{ÚàÚùÑÌÅÉ£Õ+&C€É^oéËî¤NpF°s7a$SŠT»‰8`KwÿÖ#A¹-TétJ…·JÑîï¼hx1™¥vAúùqÓ‚‹ûîQòà š²ørD½ŽŠ#œ¢mN$Ðôœ—lm—@Iý@%ˆ­}ÃßA&²4ÍjÒ‰tx¢ò£„& õæÏ¸V÷Li{uWs_Æc6¯…à}2½,ZðåŠ9Å|¹‰¹)WèB v™ÅC¾azA]ï*iŠ^öµ"Z{,&‰>.6¸¸XH4_dœ2Iã1¦âà½ÃJïtYa°„’Õ7½K0’©m19R†ÑæZ«u+ËOC<.\B–rJÐÊT½ÄÛ>y°­ÔŸ`2S ‚ÈG.˜Å¸®îâÒA@;ïrð«\¨"@ñ“‡`Tˆo£ ®NÉN ïM¶ß ÷5ªÂ7¹›L&ï¯p‚üÊ„`šâ… GËå*ŒOHM׈ǩãÝÜ­½v%`ÂBV9xiAñNq¡Ä ç òÝ7ÖË ©*'[!ùýöùМ$-⺴Ånµ¤XÇyÉ•P°p:V>hиËI(Ì·žÖ ½Ç*ÖVqd¤s2¹û†ó†ÁÌÛµnYwIž‹$O88áeB V¶Ó¥ùVëwAû%WÚxdVo®KË\¸úÒØrOM’©8Qýw­Õw““•Vñb6^ ¥³æ1"!&ñ»e¥Â7·´¥Y¯Í&«Ó±€9͹”Uøíax÷öT(·èlþ¼×[WÞO;a‚~‡X/»ÿ©|‚Wé§’u\pBø¾k9“"!ï¨X’)Ërò$–o äU½$¡šZo)j¿ôâí)©Q^oí!Ù‰i@ð0¡÷u‡hÖŒãubÆCZ¯Çë ?·¼¾m1QJÀ0bÃ9ãÐ Ü 3ŠBæyøðìð`LÅÇùªsŽÍ|ímÌât|í(,*²L:®cB•^§V;%ý&70ÖÝ ›ÊÀ‹WƒÒTh-lÀi“~>V6ŽÀ¸ßcŒP.‹ W¦¸âïy=Ñ‚ß5¯åV’°8ÓQÝÂ;ˆ¿YP0sÖäð=~Íœ¨ÿ€ñ ªõ·>û£3òØ.Ziœœd›Æ'̶…[×.É=$OQn˜ëô°Ôx­Þâ®x¾,ŸP]ã¾ØŽÒ¸¨•權S„DúÖ“Ì®ÅT%Jhf+>zœøÕ±l¾ìúä«c T»'?€²bÒ,fI£[+'yùæ9s8]³´Ë^¦Lá:⪡+¾ osoDn£é`ˆ Þ_>÷€€ ^¯iäÔ£;¶ÓlÕ5?½KÜGlB|6|³@«yþ¿¹DÖò26v*Ñ…@N&êu"ã˜>–i ”CØë6¡~ÛO:‡—íQ}ë.ÖryrŠ`øÈÞ¤r ä‡DÙE6PϾdOà‡3§íJäߦllfn"þÎ`€ŠlxyŒÏnê—h.X¦)Úå˃—@4Xãç¦NÈ êP9½ŸBª‹…ËKß+^îH)¤Ü›J–19 RÅlL×Ý; èÓ·ØKõü³jZôô-MüþQfT*ñP|·èX³RòvXFT~ò ÓÒ$¯ôd3‹µï1<¾‰Œ*œÅ yÿ£ÖpÝê×[ÝQßê]Ó…Y^wø%=æÕ´ý¯Äç,Ü"¾Î{Óô ª±ì¹N£w1{;þʼníû#„²Ç¢âhÄ]ñаSvøEB«T6Â`V Þ¬÷ëªÎŽ,"BÞÒÑ¥Á¬\8‘'jI0-…ù}ïÌÿJõio@N*âZ§:%LâP½0*À¡s>—¤ zPÊÑ 49/¬×*s¼kB@YÔ4•¾U1Ò¨âCK¦àïô2'“©kJ!ï>£™¨ÝM/ÁWM$ÇuÃàyѓǢ4µRªÃû\dÖ­NÇß>1I êØ*pšñA֔ઠ! äÛö(—+0v…Ól­~EªòEKc5Ó™LOUÏ s\&¢®ÉÇ/c Qwxð`q®«¶ä«À\ðøÌËÏu°‡qjζ¢·-tZ{£Þ¥2ìä}ÎÐf˜§yÍm!Ÿ –¢cдÆÂ˜©WAÛšø$î£å‚¼n€åœwh¿84Êä\ ê Y¢×Óˆiε%ʺB¨5e{ŒGþ‚gŒp-ñ©½ørfס@–u²–ìv~8µ´í\áñ{]ö0FÒ˜ýc_þ¬ÉÍÝÜÆã`¨°¨qqß>zíÙ6Kà6MÅq  Ê~9ÝÆÙT¾t]•pê¿B€O·Åe¡;B »`¤~¿ŸÉvîOz`÷r؆¤º²û ªÊ1ƒÚHût†Ô¢Ž}z ß6z#œeñ«¢^šÑðåCuw*+e¸FÄÀ„ïÈãü¶ñü5Õ펔ÂJÊoj1_ŠÈ†‚TùÕ7Ø'+e÷ØD°Yz`ZQDü1DŠ,!ÿ3$Ÿ°û%6qÓ‹ ÉO¸è®yF}I倗p‰/ž.Es˜ïì=(M8)ëÌ„Ê [ˆÐ½óúõûå‘Ùi[ü¦ž€A§¹·é"ŽÙ®Wºõ¸ö*ñ5¤Ñ£-XÆPóç8ùø\VU¼•¡·'ôâ;‘3Áíà¾Òñç ¤gÈ›Sò„™Ž@ÿ|=\àmÚ¹~T¸(]eq)2æ“7>1Ä™À&v»Ê'Ëføøg½ZCÛú¿L#²¬²öJ±…è$ŒI4b– «aÎ¥µþáÅ˃Æ*ÜQT’|¶§W,|æ­/ö1É%êÓ‡ð<ûšQ§êd"ïɦ%…ˆÆØŠ¯6‚0){sä$ñZã–Ûæ¿˜¡†Y—ÐI6¡.£Fm¤p>ÿ*o¬ñè’ÖôÑíyåÓ‹I´ÂÁÙ¢i;82h"gcÚÞp/XšòÛŒ’>¹ñ+M[çUûâÜ’¬/éXÖ(&v7O`RL­Ô-$Ó1¯çW²xp¹`Ú¯ÙÌoY÷j˜}uæÇî—5B ¼¿B¾OÉÞȆ{3Ž™Æ_zêvL 5ƒ+ÅqŽRÎ>p§± äÅ4•?qVÂêošoCl€Œ„x«Wå<¼­ ù¤rùŒš~%=¦­b˜„£.Ý´DÓr¨Û+í’ßi ¢á4-ç}ÿ}3¢¹–-_8Š:À¬Ådx]  µïQŠ‚ø?컺“p·ÑüZ*¦ô™êûÅ µº4‘>'*IÎoNNºèÅB­ AQ!*вKF,aÜ<®`yó´â]H¹ü6°Bú•ù³ú•DÎqCZC%pmÛŒmT§uWqm—cBÍ!x]ò§mõ‡ªWRôºÇ2/¢©·Âýw7†&ÒýeˆLH6ÀÖ_ào„ù¢Õ=´Šó\ŒVcUpZl+ò••¥U:“;;£`u7µw/È {8*ÀÃäáC<4ºOS¼ÝB;Ï¡˜bô~Ž[ï(Ÿ§HÞãÛª/““Z'qf|Íf•/ïÝ@‹›fü#6¿Ç_ìilöv÷j{føÌ}¾/ÍÀü-%.J§E€å¤ e·yœu„³ÙåîªÚnÏßöLŸèÐn"È:}òóU x)Ù …«È®I-€µíCqDWœ\J+Eᆵ~GR'äU*Å„¿¬ÌöI¤b4û´c¡(w²'ý2sZ[B T3¨…*ÿ 3ÖNV 2Ýpñ/`Õd!"t—«|&@Á¶ð—TÔX-È®ÛZoÖ+ËnÓ‹À}$¸hª9¥WÎìMþøwva(ÌVÒ Ê¿eü;‘Ñ'A]c™ Ó­n¶’9üá­ML“¡ÝÆsšµÆCkºy^‰qßÏ¥ÀØvr'޶¨?ð៻6f† èÜ®¬ßMÍ3UÞ=0¾êº([W;Œx¹å#Ôí}3œ4Îp™ôVѰ€êè=è‘۫Æ)ÁÈ̵˜å¤ÔGŸžºèÂ8Ÿÿ%!Î-D¸Î­ªƒžùFœ B´Wά ‚zBÀ·-–™ÊIt¢ß@+Âk­ŒŠï 0¬»Â$˜1šânþƒ 'Ãæ¹ûû¢ýë™±>¸ "DBÅœè‰XsbuªBkø&w2l™ÝÈÓe×-ô`ÁLŒI·$Å刊è¨|è>Ä„ °ç|Åo,,O/`tÄM_ÌŽ&É\n…wFÀ¾Ð ËãKDi ™{Ì’8óiâ$Æ "ã?F-u·×PòÓ9ûdÁ—±CÌ–ŒùÝ»ð:VÝ[¼ló퓾8Œ-PÄêž÷gœyˆ—Zên.nªCk‹ê­ü¨eÙÓ3®üÞ¶Wh‚E´ð{Ž œq!¯“Cl®:í½S3#0ÅÄ´`ŒÓž›µ¦®íß¹ËO•2m’\º_éꬨ,@½ pÙ «Çѹ¦+ŒÒùŒ¢×Jí±å²G:=´T}å«’EaÓaGøíÈØÿk‹³òì.âÑ?ø„*‰‡c鿨òèÿ«ãoípÀsÊ©’,Üóˆ€h¹ H&’&q—~næ÷wó,]õ#,Q"8iÎéö8ªM$…ä«Ã™1Üú7ÐTsð,HUYÄþßÀdþX0°èr ð rJn¾”eÒ„ ˜ RKóÂWwÐkz‚4°ƒ–ÇÜ[:CŠ#{t„4ÌÀ ®óê ]¦^òDa˜+öî ÷ *L³¸›ÝÞ´Á,Á¯ÖiçwžÿUk‡Ÿdª<~6˜¿où•_ÆŽÒ÷OÑo×ÇÝjðyb¦-÷²ê€ Ýz_"ªs»ÖÍ@ö<§è[ú²¥Cç‚uù;ò¬Vº•¾úfm½¥`WUèÒ‡NEûÛ—ïsd¸¸°§W0ÓâW ƒ^Ó"4/$IJ‰|¦ÇÍdIÃãFrWTI`†v9 Û8æAùyØ]3.z.0ÈëgÌLÛ7ÊØ% +¹ï@/h@m•ÅÐã$&eh0ÿò0¡˜ fJbmr9m$kî“‘ZüP0Å¢–6Rü}áìêà°¦Ù4¦H@ºtσNùzB“M ïÿÑ ŽC’/e@6ñ.CæÔ–9H½ô¥¨fLßI™GaFº—ù“Ýfã×eÝo¸c-àײ7«;}Jq]˜èp„¥õCcpQ‹}ÑRÓqéÙ5&Ðrà¹-£Z—6¶Öe¶ºAÁ¨Bñß]c؇(‹>®)¥’^c¶ÆN–_ 2c?ÉRiYîSH©hi\ÌïÎÜ®ÂWWg´µ¡†:ñîµÆÞžà~+«à{ž¢ÜÜdLðð]h•ç“_šP°†”æèo£/œÏNp͹¯~7„ ¤ä§^ˆg»öUÃ¥ã&ÏüJûk'µmˆÈfÛª!3©1ô~"&Ä·M‚h- Œ‰ö(/-@9¬¦é`[­…¿Ä&J:SÈXÂ÷{ð÷áíPƒ:¢}y~!|¥žòÑWδä°ÖÿgQÕ.Wg.t ¡‚£ÇÄ‹NítûŸCý"3™ápiû?’Ó§T®Æû1Áô1)2½¸6ÃÔÿûÖPÄãWµ¼F«<ÛmG¦ÐÎó‡j¥QÂwW9½ì£aدÓä/iŒåŒ{.Ïã¡Þ|„à&®ˆÏà3X€üW7¼'æTM«=À÷ZCwj©N^™H»¼8¦M_¥€ÛA¶¯^+w‡FiÄLßx–ÌH³Z°ðw¢½8]bcPÆ¥|j' /ϺgvLðk÷¨kÇOÂßá¢Ú'¯µÆ PØ™#ÛÙÚs'^´ƒÂÚ>½ê@6Éœˆ«Ž)~˜>¿ˆt{„’úÝ‘¸ xýo«Ž=NsŽZÞ4žD¹$³øÄkfw(€]%F^A,„yŒ %v¯ì5¼óÇn÷é×ÓõR”vfla[èŸ4LFÓI Á‰öcîÞ©‚“*¡pw`ƒiÙÚæ‹Øš¬ç îÄÿ@ÙT„H¥;Pûæc!DUÍ4**ƒX}hÎUÑ}ÐÉ–;òÛçÚÀô«# Æ‘w¶U|>?VòDÍÝaé÷L©Å_ Èµà¼aÍ%.ð­`}eš§ÅîÌÕó](ãkÛväò([ª=Ï‹ûè7'ª"§4×ÜãEÚÒUÚ¤æÈÀÒ÷ÓÇ+îøiv€zƒ åò¥¨P”´”2Qß™þÍ!RN/ŸÖ#QÏðà ¡[|:Ÿë(^n,G˜'é]=V-æžlÂiÁÛ}¤pi…¨;áxŒîâ3,,ôСßë±lÞœŽ ÁEÃ6„ ›Ø’¿ÝG¾¨¹3àÕŸ_ã=— /g¢aJ¾ªà±EIšn³Ìß™®ÔAp­­„õ„ŒÉÎz*ì4j- ÷@n³å:ã–ý©“rÌK\ðÏénk‘½ÖLڳ΃à¬V:¤Œ’`ÎL+¨Â1£ó5.éDì„j@¦iE ˆñ™”¶]s+qG*N«”†c´Ód‡êŒ¼þ&:Ò^JùÒ –Ó]°‚;à÷(fg¨Õêõ¡0ØðøÛÎ2?âßo( Üú{yüÚ1кïÖx!œØÂÁÒÒ}O䨳Øz·ÞÛfÄ>—õUÜCy€ "jØ…£žž VÓŠ!‘¬ »©vA5SÕ¹ åòN2“{:ěԥÅ&Š+…U¶¬ùËál1ElðÍ%y(ç&Mà;É{•j­%\i%Îù“YdNø¼tD 2' À¾Õ]¤28îgV¼+´ (Ç}+ ³Îke‰E¼*ÌãàûJþTÆÐÉ-Çâ¦Ìç˜3K³n)5|~mÜËzns¦™bÎ>ã¶ÿ·ë¢ØÓÈ •„‘«VAvÝãÉsUc6Çv~¬9TñÕË oªÖ&ÆÙ¥~.Ûû„ÇC²;Kä(½™AboÙx:ùN #{ôý¥QïnÄöâ´ÛXVÏ^42SJnïrÚVFc6æ[qL"‰‘ ¶jЭwN³cfaÎÕ†×Q“Fï‡õWõ&MñÜÐDœÞLUl‚Tm¢ì¦|‡‘: ÷Í’œâ`}# V橘ýž¶¡@®cKçH›—ÝóƉgË­£ì@g“ñtäö @…S±9QRb¨*­­ÀÎØ êàùâðð¸n‚@?ô ·Ò زd<|ļ6Az²¼Ž‚³åwÂ:0/hcÙ²Ë €iÇÐã °’T„¯)U¹RˆUÙQcàøk•6ÕÄEô,vÎòäA0åÔòˆ‡ÚÈQ¼mÄðû4ù潞î¼YÖþ¹AôéýŽd¦ö"/‰ÞÖAh¾ø½‚ÿÚò¼1¬³G¯©ÄÞnì[²7ZùcñÒß{›Œ#_&¿ÝŠôóH?c=ŠE³aÔÞª¼[ÜõX½ËsJ¶PT7÷áƒÞn2Î"¼§óôb §DÜàz²5jæÎç׆2XeÍW\ß sæPPY£I†Ý}ÉÊw¨™riz„'ñÒó™lI¢¼|b®gôð€C渭´lëq«œk# Í¾m› ±œÏ–çþŠàšù Xð©öÚF³|Z-h\+¬ì=n¨¨M.ØÚóh$ìÀàöëh ¯ãíÄ‹²ìð¦Á$Ä(»~É1Wj5YÒÅçýwë½T-kß—1ª¤/‰¶Á¨pá’»¼>«ñ„òË×µŽRF-!Ʀè|Nx‘lrfe²ûˆÔEœT°ç ð¨cqùöW:o#C—<ÝÖ̯qItn&–,Ï–V+qOž©¹hÝiOO™Ç9&A;y5Áóʱ…Э>ðr}Ÿ}áX ¿9 ¢<9=ÅKaOAýºPÕøq@K$C¿ËÛ7‚÷•ðF^ÊN¦üάyŸ“i 9á)ViCEB$= O¯·€þ,®)C=PdîâÉÄÜé­5ãÒÅe¡œ"ÿ7f¼»æèÑÛqâÒß"ŸQ^#+OžúžNò¼LŒÒ­ûå–~’Ð5#^v¦çí²Þ‹34$éûú]Œ¦hõžä-·vRÝ4Pc郥éñ+ÊÍ£ ”ENP)áéìÔ&öÌ÷iºÙjÚ(n ^ü„¢i­ñt²–ؼCOÆn°Rª]_ÿ„>wVKF.ÁÄÇÉîxĉ`ß™0ñ_÷ÞÈÆäKßÓÍyhªÖÅùR¯zO,GïA3Ôuœ%ˆ&œÆhÂQÒY„@a;ÌOŠ*{¹ŒÝv4?…p|0ÊN`"&÷ŽÈûQyÛ%Ë}}UWŒ"nbz4jFí3WÏP¼1Ä3ˆHNåììàÎ¥eºýÿPd] v&ÔH±´FÃU<Œ/ƒ–8.A\º¹|H< ×2(µ‚c'󕨴¡cµµe²§3 ®”US„rQïp¬C¨çÍ›pá,(ÿBðL1‘ Â^·\þIŠjœ@ÔÍ|>àÝxÔæ3ó.r3íêb¿° ÷{&F|…‘a–]ûî#ž'* Þ¸Ð`ø{šIôQÀ ÒÌP.u…ëœjo&‡².K7ôKŸü±þ=\CR}Õy5ÈŹã£râ§Ÿ/Kœ…‚ø Û»¤É÷0NÙx Ç=lcúurA¤Ü±t}k!隬Ár²î=¡qûJQîS±N ô‡ ÜI~¢” ¸õJ¾›°„>oXci9¥9«ÐÊâuídçH¿…b ©:1øFy0ùòDí@ ?<ç¥]‰£+u8áJ·4° Ð+kbÞÜvU˜¾õýĤ‘žmAiÉÿfDNÍvŬ§½S§]š÷ŽL!תV÷¶„oá…4ˤ %FO·v“XމêÃöt¶ÕbF”Ò9¿/Õå–¶ŒŸtÂjŒ7(ÿáï§·Žºð¯Ç5áÅõ)Œã> ™¤iÏÛ K3TÊ‘WFœó(unÐ=ЕÆê¿r ¹Ÿœÿ’Ý c h…J`€ {+ëÑ<Ÿ¶rÌ»&£‚KT‘lÖècÞøýš8ô%]ëÜ¡pt•òœWç™§¢±TþK|Ù jeÔTeE6ý5YÁª‘tš)õàz 'R&@\fÝÏcÑü!}ßQt5ßw¢ùãéTÑXn ŸIØN6lì,)•^­|$kk†:PÔËN׃£Ý½DKN»Êy:Ct§åŒ#Zy¼$a9'€ øðäütÁ6¹"ÞTÈúâ¡ÅΠΡÀû—ÊAÕ)¨%„ÕX3 Ìáº]µûssˆÉ[YÄ5fCOãó|‚#17rÓLJܢX¶°[¡ÑoëSK/Ex>äÁ÷ÄZNE¨ùŠt2î㫽—š8R­ñ¿Qå LÂÚˆR7MΨÚóÙ ¦ #,Øÿ˜eCSKÿoökC(#Ήb]©ÉyþúvÞ/-åØCh…­!šõ¦í{»D„<±•['q€dAÕ£Ï(îhлåuECáØtJµªÂ„ͯÉ: òhï…ðHG?OñÛm7e×ùÞhîÆó¢«tVÑ캗ŒD0Þë,rgz«ÇÚ7ãT¬æw„S È’Âtã±Áø“AAܨJªbuXö᜖VzGbiíu~G]LrÙ˜ù+E(U¾ÂR`RªÊ©ðQ;5ëŸí¬ÿ4#C€nûeDI7"qE y¹§r—™â`çÝRÃNN­msßÑ´Gç}@tR0­öÒeóÄ‹?ðP«Å]úÃíSóT­ÉMíEÀ¬úí‚û™Pý1‚weDšÜ;—±*/¶õÕeº—&úhôkZïW®Ý%%-pìrÏj€¶kP‰+÷O*èä­«üêyï_ao$M73M„|d¬öqƒIªÀõ"‹Í*]¡nÉU­ôê´{ÐŒ*×u¢!Ìy!TðêH–´«Tº®Ö]L=)õé}©4H£\! sਣR|Zü§:—X®…²¯ð{!¦ß"¼ Põ½¹U¢&>….(¬ÖDß~¸uJ¬ wœæÏãûÏWZ+°Ý—ö2óKô§mY±(¸uŸCzü6•ŒFmÕ5ñ%éYÕA¯I(ù¯íìPÔå{ßÒ÷ëˆDüæ"×Ñší•./td½ÀÇó蕳‹ì·]׿[bž‘è«Úè§|£XÀã¦Ñ£ KDÞÍŠØß^Œû´Þ²iFþ—@AFg ŒU£íÛÞ=nÁ„ºÅk«—˜þ/9Z5{44çcá:îš¾žU…¯>ïeÀŸ#ïµÐ•c|¦* JÓ`êœ_2VAá¾îÅ“6•¡¿wå-Kèí¿ÌS‰çI ²T+˜xú€ª)|&UHý6ü­žuÀºõy wÙöŸ5t9¡é0ZHD»N¸\¢Jpy("~;Ú<q°„’œ——°#-—›‡ÛrM_½L·|°éO­ž?Q«Z7¦}ŒX°Iµøgê>Ñ*eùsˆ£ÎÔp”ü+>ê997 ó›9öœ66tÝ{ìuï³%@œ»Õ¹zæ—ó¡ˆY2ú5'š3ø±´Žrc7ɳeëOFdb€—á[LŒ›¡4ìøŒ÷´€%îÅ÷19Uý6€rdú”³„žÖ¨¥M÷Yë/°Ÿkd$üÎ}`¿¼›æ[áft ‚fL·½8ó+JíŸ\P7ŒFÊéŸ]›0-Œ=Û²Þ8?r! mµ sФȦ6ºYùßU…ÁabPßY|âÔ¸(á@03ë!/ÍÞWµRc™O}»6Œªt^YÔWûÿe¼M2h™­"§å!Ę‘¿f°ÙP2"‚[>Bv¹ÚÅ ìšÀ¤b1çÏ5þEæä܃ Ú‘ [Lã@è¤|7hÁƒ2N¤÷ H8€¥RÚ¨HG¾.;¦kÒ"ª£d建°²è·m7•°/¿p ¼AN±¦3·eù ‘}œ£)× Ëçå¦Í°¥cKäW™ ¤TñV¼ÙöáÜY°giëß3€¤¼ÜÑoý;™çŇ˜Ǻ+`“Õì˜Êœúx«ˆxC/FØ&†‘(¦êá,§Ó(÷+ãÞåÀå²!Œ Ò£Wk¯0Ï«i±–•—/|β‰éYÙ󟧢ü¢Ó%:9$w\*‘s7áÛ¥R»ìt‰½†Ô˜sÖÈüm*cMdÆg|­j"º]Ê]Wð¿°“Úl4<÷ЛŸ±‰D>Ar†ö‰͈ÖIæmË`áÉ–í¯+ŽÉè‚Ä>Órþ§V©·mOõ¥Çƒ³Æøã°f7ì¼GœUܨ0si接Ž1¨'Þ@‘Õ‚ªmáòÕÊ„KzÐu¹M›"Õ\9™H‰øÛÏÈé¢3ሧj¬:oÍúFvhçß Ü(Àk.wcÚ ;gx•åÞš¿ÐUÎukeÖÁy´¾IVSTà ñƒ‘ìý»“D)m~ã ý+ºòlg  ÙÚŠæ››¡äÙK[çT¹¸ödýEú4oN5'ÏÅIT¤$@‰‘Ò5 jšoGnë*F˜Õ_–×Dpÿ-ûam•‰-sÍy° Ã.IÒwÝ,­1øŽ\¸9ÕAËœ /¢R¬FÚÙ󢂿uU}f<Ûüá·Áe¢ÞÛ<3,Vƒ8ò1³Dhå5œu‘­ij &6¡Jræ;H;Ïf̉ž¸=ëþvÕJzßÌf7Q4ÿÚVQÚU&$p«…$&ÈŸ%Û„#©iB× áR®æ.ïi®|¬,"Ý‘ªõ|„RhšÉœûÄUä×Â.ï[4¬xÅ‘Cé§wàÎ{8Ñ¥I1‘^Ü· ÂCõXsq‹Ô8\}¬ÓT–‰^0Zì?—FBlŠàÿîcØÙ *¢|ƒ ‰¯WO×o²³™-‹‰õÒH³g}R‚C³ÞgànáB^©ò8ì¾GYv¥!ò¦À\¬¢RUÇ)êÒŸ¾é Àk;äйô"on;íáíÕYÜ*t¹tz;…ºÄoçKóÅŒ3 ˜Ùø˜QÇ UüXw|\ ;s åQsÝ;Ouf½ÚQð“ßay}I68êÓ÷/r‹6áQ!©ÿzЊã?üÊŽ`‰%±_~ ×îàù¡ñ+WYÇ)aͤߘe‰?øVzcdaè½öCÝí&Í|õ„ÿD… žÒ±61,ÑSÂúX–K‘•×€“Ûª¯D£Þ?íSŠ!´mÇö9(‹\²Ö‚D IÔ¾ŒÒë0£:.°‡(@z¥K“ˆçî÷Ø‹~§éOß·îg®.Â:te êC¯6zy™ØçLüH(Xàõɉ™µ:9'Yøaú§¶³%„kbZ¶>«ØÂÎn5^y6*¨:`öNÔý‚3°Ø“ݾa›{ cÍXIØhTx"‚CO«†(~K#9Y»Gpäi'˜b£ûóõˆ/Ð9a\úÏ»3]wTbÿ4¿Ò5ýÛ¾h£–Œ·F©WG+Z@u¬Ü))L2°:• Z_—ðw ¢9âð–ÕžE¤Î¼èR‚?¢°9„ç<¤íÞ_‡=?¾n¹½ðå/™¬µ6nþÄ0%šöu®*å¦ÔxÁeRÂ,ôA¤ÌOl&e‚ÕŒ %Ž8‰)œ×]UwT儸fJ'ªçàæøöfÙ´¡èG’Qªº† Aܦn[þžùå$#UmΫÝ(Ÿ¼‰°`p¥ÓêឆNt ‚£WÓQ Ÿ×ÙÔ!ü,_šn‘}aË3ôÝz¨CQŸ˜CÝ1KÁ;®)ØG<ìŠtþ‹¦Ò’OXµ]g ±ßÊA‡#ÕâÕ㣈з!y3gïóoÇíGQ4ªÍËŒÏÈì·K_ªoÞTÖáµôC|Uk4D¬l^¬\»„î"óqé·7›Oæy¿ó‚œhu¿Î8½Aÿ4sACtZû³äLÑ•`twT»m¶4›mn©^±ÉÜ3Ùï—¿Hx´"µq\‡éPëU¦eª5MCuµRåc}Aw‘yÅÀ¬] Ö±ahÈ’`äz,@­¸²éN&~äù‡LôCŽ/B! ¼1<A2”Vö\'Þˆ>·óh¡“ˆÒÈ@ Ó|¨@é><áÅ`x˜pÈS,å~x1ÂPX•]E“¨«™5›¶ÐÈî¢Ve;˜óãRö;äH1ÖhüT zŸ¸Ã)×Y)SŒÛ¿Zcѽ×1 (›Š­L?äÜ3€O¬.¢æþ)¿LYmxJÅ©$wÿ+ç€ÙMî-¢HzMÎ[èA "öŽj$’Wó‹V¬t×ÖzʆžiÂØ+¶  ZpÿcAsy¨íìT'4—?Š˜ æãQ‡[v·nü¤s‚mÀ§ì ²Ò›_ÔØç\VŽšY¬í©Å7—…õ«ÚMüVF ß$NxÉŒŠJñ]f€M/®íþ»[¹îõÙ˜xWa$~ýßQª+Fce—BÉ$¦ëöEú©õˆÞíÑá[ÂÐxlç…nê?!^ò‡Ú!o£L7"=MqÒÎy’Û=+3q¾y'å¾w亵ƒféÑ»Àp¦N£¨'xK·ÆJ nz*™˜ê7ŽE‡ü•Ò–a²4소UdŸk­T×%R;N^}ôÿDmñ“«í‡ÉàÿÒ½›WH$ôWpköv¢¤z”Ñ$YŠóéx²÷âìˆÓŽîý;ÒF¬H9ñEž¹àä èóœdf–޹ÏúyÓ¬ë`4D¡áÑd ÓûèŽãáŠEP£<Ú÷#Ѱ¢RBx`ߢ$i¶–”e]{Xõ[*Ä*™m¶ V¹Ô óÊÕÛˆßÿ‘*ßJª§NŽ€Žq¤‹Ù Êd"p~ïö©Cê´ÜI¸ÄRUK”ñ"´‚ ïüaŠûx<¨tµ‹¸Öˆ6n"šFÒ6M€[‡œ]Âv2/’çSáDIS1—V<™ÊµÃ©XžÌ„–È [¬ b81éÿÎ’”×eÉC$¢Þ`RCÀYrVíãhŒ“ÀDÕ%¡Ý)ÞÃI™±Ã^|=7“å0[+‡ùT't¡Hk³zä´ù»¯uèç¿ç‘èÑîÑó"ˆù¥rÃᎯá¤i´•"µšÃÛ<ל Sä`#îmÿ‹p ‘ 0o)åµ (ß—íH)=x5‘«ÚžUoJ„À–Ác€;÷imAº#£“»t§9![ûC®“h§c¶X òL1µ¬‹*Wà²ØþÀäÊbY…6J1¬ÿYTCg1i"žP1 Þ+ØÃ“ÁI”ÇÁqz³š"«­SI 8“vþµØÄ\ZëŠxDɓ߲$–ïöfòžŠ»ëx ¤–µLJB/<€ö`¥qSIØ5Å¡k¡{ÐûRÏL@ÑòwôH–HZÊs BòÈK—m U„¶ _êsM–á'“†øB…T¢.›”g1Î ˜õ¦oÉId8սėò¦j®óšà³É˜ª³ÖÕ1÷cƒv’“f⿟gù‡G©h 0ðƒí]¥â†ûâ6û鬿*¿¼ƒ(â–’È›èZB){ F‹1Áã5á>iô£MÜV,C^ß=›KåÓ®‰†f{ÿ†e{í9ï*ôpL.²&¼û!$Ͼ½Ö§—K.iI±iGTÚ/<¹xο½êпåt"—‘Ÿ¶_R ]\lXŒ\ŸçÖg×ß>Šf¦³Óî:AuW qóqswêV¬µ$ŸÈVòê_––ºÓ/?‹zyƒrÜüäL6¢V͇·îÜ9Œ¼„[–ñe©ê÷ÁB ×A«ô³Ò„Œ|›7L.0ü/*ê'R?1öV`_cµAøŒjÄ}-{*ïö“””59<ñ¤ú–à‹Æ/ð³gFù™,ê&/UçQ÷ul2ãßÔÙ¯ý±*¯ÖîѨ²—åK›#¦¤ñe€_ ¹OÓ„h˜·’Ÿãó1±²®ª° žl{\fNdXÞq¥ýMì‘ÑìUÀÉœ¦éÂgþ_§Ì?à  êo³Œ1Çwº~D›ãÓŽöV6wѤUhÔ™»”xJ/¢á€Â¹[~=­&ÜÈŸ›ü±O>zõ°iW¯J!>+8ÓõœC¾¬ ]Kƒöh8æ9€ûn9™æ F´Ë¯”F“,zQ«Ð„îªÊc6ØùtkèhbY…”}ïo4ÿŸŸ;êrÿatϺ¾©%Ê+ü%5ø5•Æ…NDmÔC¥Õ§²«úx¡ùÕ30õjÂCžöì}ìïdnÎPn¤`ìf}ìÄb¶qô\¡ÕOBÝ$®•*玜!YîPÔäÞÙgáhì3æ`¨È¬%qÿA˜CÈ[…ò¬ùª˜½Ö÷?Ê·æ˜A6œ¹É͆´]^Bu"ÇÈ+±Šw3+8}î¦ ‚˜bmX4£Š=6ï–ˆ)Ë…¨‰%b»4Ü4WŽþ³@ ådº6ŽAó»Ã8ÁÙ´ðûvÍ?æ7Q}µ—h{áô dTº6Æ õ ׬ýàíô÷—&g`µ ÄàÅtú¯MÕ(ômuêOÊéð—í4?ø{“œÇè€ÏXTÄÏab/ Þ"´¤¥¾x[ UÔ“Ü+ݘÓ)ö!Gÿ¶ ãA[þsÞÇx£Í4wUlŒŠ¶«ÏAˆø7™ä׆ç.-V2ÇgÚºNÀ0q'W,&p {1Åý›¼1dÑUŒÕ¡RŒK-‚¨,¾Æzg±á´&æ¢÷A0°Ä‡¾"]æûO»Í^f7Æ/uËP¾‹;¥‚hF„ ¼rû–mëpß„Ø$}ÂöÏ-’Á…âÁG+‹‘æ8á"Ë0o®Sc9üïÊÅH´€M–¸”Ï Ž'…dÿ/(a]Š1È |ß_N=ü ÜÊïÿ+~¶ŠÍ†5ú™Tìtf@ZC-ºC:çRÛŽ-¹hçSgpµIs—‡þÿ 4y`–f•–ϲã~¾qÔ ½<äv¶µV+3"Ö~ XȺôØyÙãÒS]ÒrQ­³I\J’<‡«^(ùFW*ÀíÚBa.Šì?fï ½©0¦ˆúY7e´„è  «Ç÷«‹D±$`g­ú³¼ä…x ¿lg—‹ìù¶aÙ¸ÈkGÚ§É| ŒÔxˆ±Ä-ÏHàUÀo 8(ö§îY ­sÉ—XÆ"t½ É*‘]g¦yÉÝKß qn˜øRÉHÆ›:N6Èý¥‘r5~‘Iúû›ƒ¢(nrÔ8_yMõe_b¹¶è6º>Íê¯òÄÑóßËõ¼‘nnÚt|8»ˆ¾ Õx´Y n?ãÓ#Ê=ÎY<ã'R•›òMÌÑ¿—Ï"a9þEò)Û*n\ï‘NM‘)ÀFÊ£:ñù#é»LŒV¢¿WÚz3èdñ¹O…ï«ï*?y™lBæfjÜp•ª>{}V†œÀzÕ²cåø)x+O³Lu›ÛÒ¨ˆ;Ç#ð—£×«"›«wKç¢ûÎÄvœq)ã†×8 ~‰îj ÍŒ£ U{9ü<”t\5G<øïu9Äܳ—úÛíµôoso—L`4!õ–­Ä½qÈ唾iÓVD ŸD¡Ǩ²Ì‰àb˜X6­âªVâ콌y½V5 ;±NWŽîÁŽ ØH ¿:“Ïšц ¿d1aÆ¢mPçö¹ö²N¾9Ũ­ ‚ÒA ÈTþ¢n­hÞ›z@ þ}ž®sq‚„‹Òk£F¯¹"ˆ2ZËU cÛ&Ó——®‘k¾†9æÈÆne\²‚Þ Qȇýâ¡Òc‚ˆèÒ0˜ñ{CYiyó5—.ñsÐNÐ;»òh‹ðüVØjP&Ô³¢…{úw‹èÅaÈ&/ŸªQþËûº‰Ž6@£TóuNmT 3˜yËãÇ]¦5Å^?CÑàÝ¢ÝÁÈãk_Ü×߆p”+y è$Ïd°Eí¹¯K‘¹€8ŠØ«Ó_ ¦½q¡=ÏIKè­úá+JFSeòB#z';ØïÑ|"’œ oŽÇ‹ç=Ö\â–k¤ŽCŸ'üO¼va7r˘’Ï0+Lˆ`³¹êˆS%v¸Põ™|_õÔwÉbÅ*Þ‡³U òÃרË‚›•p™Òn›d2>\õ±æe±®\ý ûòo]ä¬×q¢²Á/_NF |¡Vúô‚ëPy6”tx<½æ™ÌxÔ†£@G7Ÿ5Ì„|}DdªIÂE@ŒEß³!"Êù|~|5Øi$†T8øœYžÝÏtÂéû¥TÄpa2¥(_Sm¨Înó^i Ç/]à œkY…ˆB«±ãã„Ü æ b£K¹}y=²Jˆíó§qx{¢W=Ÿ7\Ä#1[Cç½–+"‰»¾ôsÐÁúÎ=£´™P}GE¶q¥ùZ íâ’Ö}èz¥¢:ÒÁ åaUm¼ËŸ&ö®)I˜däß›sÂÉ zHHÓþàz-¼¸s–—­ü^áÕS5Tòô©-ï’oƒxÈæoJôB pÌVÕ;±5ùß·±ÊËú¸Ê ,[;¿Väïë“>šÖ¬¼4«¶~o¡»E:ãð'˜ù«ç2ÀÂ/£#*x#ä ]²c ZÍ‘´m[ß5æ:¾ï“êÇPp—‘†e'4ƒø6!z´+µòµp@àÁèþ†Åîô‹±-ks–{‰ÃÌÒiñ.àœj£ÇÏØ!Ä »0»=Ø2:q§\¥¤Ï4Ý—] äŸÇà1ßóͼùáÇU €i ć×Ê„ëHÊÈ÷éõ¤ÕJ@ÕÜYóÜõ˜ FsޤÙßyë@a£ô,ÆF/è˜À‡ÌïJn3ôÍÌèéZè#}9œžö­x¥Õëè¨~jˆÓóÂ7uu¿¬Ë×Ö]CÔë‡nËÄ”I±Š¼éßæ+” î0mÖÚŒó¿x®ª Ä¨z¦^–1O>FI=÷¯ÃÈn÷ˆ:¯?’J:Fþ4CfŒbM-ýM´E@a?(£l~/”xÓó. † 4óžNÍûf |Ã@2 Z…FÖCÎ=Ï^ל.„§mU/KÚW›3þ".U¶d¶|Ö¾†Â§‹Ì…Â7ãš(tttþCs‚`šH• 'ñàpuÞJñ¬,o4Rg‹‚;À““ï¥ïØHÓ‘ô®±AF/h5 ¹– óuº  `ñßhü!‘&e|ð ÂÀÔ}‹²²Tß m¬€ sÊ<òŸ㯵òÛ¨/ÿ@Á¤zô‹ëb¡š]=e©mÆtÐBx)œô-ù|ÖLJ†fÝ:ŸxånçCž3u0 ¢ Å“íà·Êø¾@»‹ ‡@‚“íÁÀÐÚÑE±ú\wwm‡‘šRš¤rßÍh=íE÷ep¨˜‘x›$ÊÐ̓Ɖk@Y^ô:ͼ_CÐ*/Hê²üûZ·$Éy\CT­‚‹µ%½í÷šÇüð›GHBÖàŠ2µ¸5½ÀýÈåQ¶` o_ZwdZœˆ”“-­×?&jJŠC²€íæ)îÉÚÖ¡Q…äPØ]òðƒÞ~ ͨæ=IR!íi"YÆ-ÖÓÍó†¯iùÈßðŸñ¤ïþ<ÿ#; 8¤átNÆøBHÝÖ‚Üu¯ø°®‹$=Éý·­ ¥³‘^„üW‘N\°µÎ×½øWõõv÷ý¢9½é¾ÁJòQ[TÞJ½w³fìóJ¬“‹ÈOÀE+oÈR”6^¦¼ˆ?SªÌØÃA»CAL}˜Óç#xð6†„C1‹³üžÛž¼±ó›Ðدä‡F#ó*>´ŒûZ€\ü¼$9ļ¦,¢÷n(ñÃI‡Ê¡k0m(X¡ëz¨dÔ ­Eý¨Ð¥¹t•íz•‰I ¬}R[®Rgo‰>D"ÔÇâJÛ,»øÖÙØ‹>Ÿ%ñçÙÃÃ}Ò*ì«-nà›fG¡C?E¼¾ ‚Åî›FsGMBÐ%×¹W±ñÁ]×(¿:—>j4p1/\‘\1S†ŒP¢€}—õÖ-Þ4½6Ò'¡Û 4À ›ZàƒÖ-Íéì¢z/ÛËÿ,‡jýè]'ê´~Ž”OKاÝí?b·å˹¾…h±†‘.M÷žÆw«d>ÊåŒæí7ú{M¾ž½Á'fô»{1IÓläYw]桽'é²Ö°õ«ÅŒˆM­Ò'õQÄS•cI\tÄz;³Ê l†wT©YÂÀFQ¾ÆýîiM‡dÈÓ™+‚qj1–­ÕÈâ®”š×sar|cëÃÐx ·*Fx³ªö:ª—%^ X%^^2Q6çÄ´ßM7QÔð6§R°œôóÙ…ºSmÕeH"¦Z~ÐÓ°?#°­úÅÆHɈ¨hǰ-Z + Qù`“p®N¶?ªÕÞOÌÓÄl³ªñm—;9ƒÄC6åÍÍÉè 'VQ¶¦ÈÔCd561-þa$0®(¯,ªD”æ»òkk¯£3Ànæ¬ÙFÚù´âéÆ0“ÝzÕ3y5†Oæá»œ\.®ølsN«Õ;)Ó]„ò6€M`i>ŽnÌÌMv¢Rò°‰ºëœ°[^^É;LíLybç£ÄÓ)ÌÖ]£JLM1…’ˆQŽƒˆ÷CYÎSa¿g¨! Þ4ÆâÚ—S?M¶­ ýù>À]. ý5Aã<º ¸PÓ¥±{“ù O³!e÷×ßZý,”êg©´ýŸ£`žoà@8Xeßø†JdD`U¤y¦FŽBÃ÷Ïýüªª5tÀ²¯ K¤°úçÅuìÙJcËê­±á¯tOòà37úVyiò?¨Ìh²HH~r´ÿ0Ÿsá÷öߤåœþ`VÃïŠTÌšB][Cká;P­d‹t‘wD)°É}~šL‡O ‚X‰È þòöÜXlE!œGú÷ƒ%gŒq*6>IÜØ׊—žÓcB«N$ŒÔ]çFw[¯xŠsBS¤6ÿþr¯ÏM€ä$êY ¬®í|/áDdþŽ…¤­¦&yÜ©‚-<ÃÉÀ)0IKâ¬ԣ½Ù|‹³JÐÇ{˜œ?Íè”üÚ„:  6Ø—˜ºYK(o>.Å“¬cÁ€J[$Ù¯ ¤*Hj–»¡ƒ†D«ÑºöªB‚ Ážb7jó‘ÎÉÞRrÃôN­Q%,¿èƒ“`¶=ã7é‚ÊMueóyØ!M¥,ÎðP5Nàà¾g®²K/Q1<ûþL™µª¸LÇDd€lk/û ›Šé>å@å\’-–Ì·_§ÍÈ_0&/VÌȦ„g¹ooß‹T +R ‰.èKÅD“µ5„°a‰_Iòdλd”úJ•_DògS!E•e÷iv‡±g©®Í {—YߤGÈJé`³ÙNkYÁ¢•¶J‹ª«?4þ)«˜P å ÜE­ºÊämûÁ¯Ç$J±Jü‚ÚpÃöİÍ!„¢LA(©T•ÿ§Y'J}JüŽ«Q:HíêOD¿po¦®Š &dg™¬AžÂA Ϧ|:epŸõ5YF"| ®”ä›öc.¦–Ä}Ã`é›8¨â 'š¯ÉÉ–IAµ†-{_q‹yÙ¥OÚ{¿åã_O«ë+)·œH‚øMM†m²¦Œâ@’hGæŸvü|^môdÌý‘ ˆ%¥f²Ñ%n7ŽC(¯'ü¢ÓÕ)ÑÅH÷ÑÖB{ï$ÌðÓ¹2Qð'>¡RÆ£Ù620ËÎŽ&óîä”´–§?.¨Swᦲk»::ÏÚónˆ»aûF·ái.¡m ºM@E…ãÛщˆ½ò ÿth`RÖ`ŠÀÄD ±ÀC<°1¿Î\VƒnA» 8X8:.©Ba5ˆðW¹<Ú´œï@§­à-ÙžŸöiô‡áÓÅÖ5IÑÝÈ‘ÛKÚ$ÖÂÌÄæ4ñZpõ\ ÝC¤ÅT²ËŸ>šþÊ4‹€í«x¿F÷ùÕS¹ŒšeÆ•mò©F59®¢ðkE1¶£ã{[3Ð'³whýKA¼þõèVßìí»ˆ"Dê¯þ-ëŸ]Aà ¿\Ÿs†äëõ/á/&¤Û)¤ç…I { ÝL?«xÁm%È~™RÜ{aH?¯NâS€&¶YW.2yZõœEÊ ÂÈ*ó̦2}(?_ù` b¤Pj ºkowþ_x-ÞS^¯'É8*e ’w@Ñ{,Œíî ¥:J§Ä1ãASï?~U“´=¥Éø¹«¦v²ãM\~UMí5CdøsU1SÅÎBB7÷‚d=¶%"4f#|íI8i<Ï·„¸¯LŸçaf@îŸl`º øéð¶Ï8Ö3© @˿Πï +Çä5NÐÁïÑŸŒßc™*ð’ƒF_±Ü—[ßT7ÀíîMŠ:x>ß.(®Mjö6„¼de›cýs©¥ÅsüÝä@­ôwcÝ.¸ÉŽ÷ jFÀýÂTo3‹ä˶L)¯ë¸acΩÝ”EvªÖfÊã ܆,ÓmÉŸ \|¶';œ¥<ðKOemˆ“K®’³ÚädW%`H}“HFL¼ƒG»[Ë[f²!&BäJílPʤ C{n×ÍdÀ×DŸO`tÌŠU2±zGžâ ?g1{B/&¹NF"Û.Ô¨¯Ýµ,ž}d‘”ä}mýõ¿¨ð›aÖÔhJ{a©Õ8OšŽð:Ëu3ÐÏE¤Ûpb¶c(P‡vü(ѧ&ObX=ø—y).ˆÆ&,¶zjuþäÒTô5x^³;­ndÅýÒG¿üçÉÿ¬ü0º‚,”ÈñK×õ|·\³Î'¬AÕøSØ¿EæAúùÔˆ £1wð=R–sØÒoÔUš7úÁßÒØølqùõ.ñ !?Þ4gë'Áfƒƒ69<Ö7Äköð=hñ¹ó˜½AÃ÷Äý«Ê)cãüœî¡wOÓ} O„2 Ô ¨ÍÁÿ͹ÊHKK"âÿuv¡Wö8±ì„*£Y·ëÒ&áS‰qœÚèíÆïÄ}Ãü%éޏn ¡ÜImU^¼\õÔÇÊDòØ q¥”Ü ¼>c}«o”Q-þ1å–ç ›RpĺS$˜?á0r!@щ6?ÈGž,}4ÿEV‡÷¾læXÆæ+,ŒuDv¦õ õΈÃá Ìë$O+xÔ|r×U‚®ÃWm§¢Y:~¼„°À|à6'_þØõ[É&5’xP±(«7bs*ÿžõ0mCö­ªP£"'\ó8¸ ¤°*<ˆµ D·®m㉮ˆ"Y­¯ëëàz~‘*­¡ Ê{¯˜!7Ä>£Gjj¡nŽ9@êYV%жÍT0Q§Iý9Α±Ž‹êOhàVÖGÿ,ž}\õø§ÐMU— UXµ™ÀÃ4QÆ£:O•¨eÁ«óމñ.¢SzeÃÀðMÍÐâ)ÜÿËñ|»íKÈ›ÝZ¶Í%¡€Ë·ÎäA5¨D©*ß„^ýf IÔC°¢x×uÍôÐ@›bp©62é»3´ÉÞZEƒxc Þ¬ Ðê‡á1T‹B\1 ϸ÷`µf*†q£¼§W\jÆï·.öãkSÑÇS:MnJã hˆ¹}©ó­¬ZdüøÄ€‘p/ 2¼± bœWÄ”­AþÒj%¬ïa»-¸eóµÃ5Ú=´;£zx@ˆ„ûãQIôü^äú˜‡"{墽تl&ÄÖ©›ªb;‘ ‰Ëó¾¦ähŤ ) Ø[¤ß+Èñ£4&Zç8ß» á¤÷jý6½ T[¬²£Q„ y– Ûð”19¢ sÄÈ#G†!]ãI@êZ¾pÆÆÊKÔG؆+=f®Zòg-™ 6ŸÞŽN¿ åÞýøÖRœ5(0­X~¹2$Ï¥%ÑqÓ¤¿Æ¥NÁB£×UEwÆ53?}~ z¶¤#n´ dloEäõ’­Q2^åKãв¾#A¼­ÂR°8ß§€–øàqN°ãše¯-ós]Jy=áì×H3ËÖjÀ‚½7H†22ã¼\A’+¡+Ü_2˜JÑ8¡Ü}jUÈ¡§Â •êñ©{qm]»MÿgX¤ÎȲ>»e"xøã°6j7ó 9FÝ“|i•¨ªÅsKñrˆ©Ÿ&ËÇí2â®D“ÏBÉŸbáA¿‡wiíȮ߈ó:õ+q“xÛÉê·ü<Ò×Ô32n’¢Ô…\bƒò >¿iqÛOñÅtCgÈL·Í€4áˆ=§ òA ±òÝÏXnÐì“q”JDê7hˆñxâ·^ëM#%ø»uêªüà8ê«ñg‹©ƒEø!'ñæÄ¹“Þn¯CÒˆ3a ɬÑ—JÏÖü½-^²¯ã‘’P|®Ñ¥[þüO¨ Z‘³>|(Ÿà؉!3.‚6RV÷1:ƒ9âš6|–lI1#³‘ìãvn²]¬öšñ¸œ\’šÀW®µÇU@í;]¸ÕIzbO—’Mà4@¨–WC]Kx¥âu‹Õ‰¹´µ´û‘S©¦òQ¾Ñ‚aW)€¤Ÿ´ ¼<Ô‚ÞPâ’ýãÀûã»s!ì&š‰ø¡|ìéøQeøB“b‚º±oÖÝ×Þg6‘ä ø¢%À=‡"šny¡!­¶HÑ£G¤;²+èžGî'x£.ÈW“ QIQB `«å­ŒÄ©”Tè×å_æš+˜¾®ãRïM÷3Ó§¿ÛJæ>¯8ÙáªÌØm.O5X™çÊ»|âÔ}¥EC/+9`Ê Úëš§ï"Òn…l.ŠÁvD8÷±—NÄDרʢ¢ Éâ\z 𓇷‹6]û)Ϭ(šdRô¡^ºn@KécŠ¥X®ì¾V½oAç+² ©2MvJ6æeê)M›#/ôG 7i9ŸâÀÃn Ízåp^…¨ôŒ+u4©©’9µ©.GQãñØî‘ÌFÿüß¾¾bRœ«¥ç‘0•ÚªøzLdò\U)pxÔ "u ÑÌfM{ÿP¤ÙÐO*>šê…Å[ œ)êL~‡¥ÅZ{Õûsñ1ÉÆc–* >TÆ?cËkŸd‘ t³%Çè¶ñv.*+1jˆ ¹„³|²K”ùÎpR2=eí©iŒY R9¹ÂžñU ë Êkª¢ÆïÀŽX©ZԌͤj÷C:•nCÅDàz¾ÌU¯ QmSŽŠ\rÙ©#h¬Â³-úW vp-ЫIôÎÌ Fˆ )Gº²Sobøì-#¸p¾â‡Ä?‘ví1f¶ëŠ™Äan„ÑS)4±æº2e!¼RÊGéSòí70%BÂq¿¦K¾ªÍÑYîmïyŽ#Ê”‹ò ǘ)1F<öžEk”˜º¢œ¶ýð´Åˆ¿€·‰†¾A|©R&œ¥¢ÂD©8¹Á¸¡·D)†©›Y;.·J»%ƒ£„y½æåíLsí9pB‚6ÌhîMŒº«>n…>N·æœ'¬Èm“XD›Ûæ1€>~ ™‘Dl‚@YàJ ûY''#+ÈlJ#NéOZ ÒYáhü@Õ6Quœ+1¯–ÄÇoÿŸ§~ðœzú^þ$øð·/rc «@É@îü"_D&Ͻî ¬ã`tu¸Ø•­Ãqqd¦w,Rºðbæd$Z„vp r^iÕ\ýóà¯E*¢âZ•Ò@õºùMð.¾ ŽøQæšÄ…KÌÉD¨ÂT°=ûì9ßP†žf8¯ùÉõsÓås3®‹²Än —ÜÕ0È_¶ñ#3Ô ¾ËÍ+¡‰HjFÃѦõ.†¸çúÕ³ä= ^ÂôTC s#—@„”¡rH1!ƒ¥âkŽyÙÏÇ8kLàëãùÑürðåÌ/óúÔ>ÉO¾«¥¤¼ânJÁdÈöj±å¿:è¨å,a*gþ…í‡XÚòü™ym,¬¼Üc>qÉ ¢ÒIpnü–uŸÑNI z1K‘åùz‘Ÿ sÅ#@–,Î'J!Îûä9mÞë:êÚŽ Å/­~Ú÷(3l1äh r/ÿ5t i”Ý[û"áQ=ä^óšt5•>rÚ;HÍ· ÊÀc—4îg•`‘-rôh™ðó°;‘¿¼ âÕî=Ã{]ÔañWX7z£¡<jÛ358|ÂX·¼ã-ÖQÚ­X©œ2üHÛ)3”u´ö§__mß2žðòmŸZlŽ@¸ È|›Á¦{ð»²â Ò½¶²âŠæºÞ=WÃ?¦*T•A%HÖœ!Moj@£’¬A»²$â|ÛîÙ9Ñ´y; ÀÿNbþÞÏTpXW•XóHâÖà{yc~{¹Xý',!Þ€­½<ËxºÝ@qÊV Qo&,¤Þq|ñáVãÍ´à6êé»/˜{nu† Í~-åñ¦°ÂV  „”b¢hø“,P#½·Ì·\ÀïÎ1Üheì&˜µ‹ÐÎÞ"¢òÿq°TYÌÇçX7²%Ucâ¦D»/;â&Z—í>{¡ÞGçªX½ÝføÖ\MŒõ gsÎÚ–?€:ùë vbJj¯ŸÛýÀ¯ž–Ÿê„zrµR²[`¾uGõÿ¥Å}\ŸÕ:‰-x^aXý$;?0ûÙëp¶dóZî¾- ·ÛoÛ.èèÏ ÄžG#~û^{Ñ‘¡:Æ··Í——LÊ WM”ð‚XzÂG ­™2Çz ¹_Bœ‰ üj#á­ v˜4õ?G?D{Fu!ÔçÖ™ÜþôwÌ@òz×!^Û¯7áoÁ˜ÚÈë žæ}“ÊØæ¨Š_G].ñÛlï¯+ŸÌA™²ìíMrÜ#iu§|w5Z¹¹ã‹vbJœµ»ë=ni˜Uñjm«»Ærm-û©ÆçìnS3º›àÜ•õ×â6(á¹,xƒ¾™(·=?ó=×ÒÓp4¥µ=¡L‹|DV4‚‰•’zÄhŸ •ÌíEÖSË"$ƒ¥lý^^´ðtC’'ËZ'ˆ½_}›8s§ƒé÷]Õ´{ŒÓi©Ÿ-„™•ÉVÇwÍÒnj t^ ã¥ÜÖØì'T’¬×ÜïÜÛé_ɯ2Çѧ٠¿†T"±TåÁ%°ToÆ}7emÄkþK½Í³ã˜lžIv‚\‰x°{­&úóN&‡/L¬‹Om¸rÅÞÙT.±YÔr'’RÐ`ÿv…ÅÙökd“3_W‚Øü³o«ƒŽå­ìpŽá/sÏò-ŸÔ±ÒÞ”kf[Aš‘2ŽG6~½_I)´Ùû°ŠPý*\ÜYÑ,ê 4ß´¦ë_î#¹îÓš\*÷FËóôÀ¸ö£kl¬tä¿ÚgÖÐLM†óZÿ}£oWÁ÷¹»õüÅt¸³4Ïà”þ»»oìe¾ˆöó¡öîªç‘›•sÙ´·\d­Ž&¯‚E '|¼ž¡¼]%þäÕ@jûN7ÚSû1ètî–h%Ýùíxmð~~|!”ãºKâ&"›ŸsÁç¼æ¬CC…§ù<-M¢ÐDè ݹêXõÅ•jµ”“@ÚZ Ñe&éBz =qÍf:“ < Tí+—ôቈ3–ey1Ä÷Êðì“ó25'ÔCß³>» Ãjü>Tä Íw'›L9(o7ÎfɵèßëÔÉ¥×k–-˜(A¡Œš½´Äx9©«*C9©©!ÞQžÙ¡Ýøpåñ×5 ÑefsèŒÄp—‚ÎÜÓ&2eÃ=çoÎP?œU¡MÆh&‹•œ[×Â+ßJµ É·±Ȇò¹`‚E¶&jÕp„Ê>½«Ï\œéTy0;(¦è[ñVîs HsÓÖæÔšgàGß]\ —R8Š´¹PGB"ýÕZÅ“cG¦D+èMþ²%x{FDi™×REGëLú»{$‡b¨ŒÔ ¯›¸¹ÔI‘~ÌæyEéäòÌð«Ø"XNýØÞ¾0Rõ¼dKî/û«Xkp6Î#½«¯t¦{tšÐü“ÎŒa¡€N¸Ô?ü±Ò:¬çÈì—áß–kÙ× ï VñÉ©k«á6ADÇ5E[z-OþÁ"¢Êû?û½ ¤¸;Ÿ26Ü`ÀÜØ›¼¥…Ó7Ñ6 DIõÿ™ç!€P®Á³Ó RK™è¸œgkçjýôˆH K«HÖÆÍûðò®ÛÌ]Czx¾uò R7sŒb;žÞó$ò"~C˜GŸ½]ñüèŽØ—ˆrå>’ræ¢Û®ÖíÉCNÓ¯ÓI<• BUo§AµfŽÔ¡}V7M…N.Òèìë.õ6ù^#„x¼¬°Æ' ‡%%§¤›û©%yŸüÌI.Úœç…_/ñ¼CCìŽdÕÂ#K6߯l|…C]צ°ã¶1wü´¸=ZÏ/ßD}ôƒztÛ —…zö(IÝeM–ŸÆ–Üu¿,Ní'@ðï «á;×ÈèË2…†²²„ÁÔ j_2¤Œ g`WzÍ÷p°‰†éÜ «m©Ã2E¿ÉÅŰe;çK'âGUŽïµm@xV;w‡Ïæ JÈÖt¢dÜêª wbD–sD—zàv´;pŸ<­h¸ßÛ'ð3†QDŠ9u¤µ–‰üÏÌ\EEÞž¥žßÛ·‘š¼°žSÿá(@A¡“:DäSeÄþÉþøõœê1NUžªüMM„.°Ñ0L[†$ENÚº·âP(€;Ñ)¬½Ó< ¢;G@y¶ƒNV¦U“Ù¹¿Ã4Œ6{¸γ¿§sz°ÜaîaIÄ`”!‚Š“—ÃVä'W_klÁFí‡5JiÕFþ¿Ò²Q”Ÿf§¸/}|£›Øƒ0Š(Ek@ÞYÜ#D[J6pMÃEP:IKF«C…Nn¯…FÿGm‘¦ý€ß/ð;óÛ|üþâò‡<šáË€1šÒC¥Ø–tXÒ©Sñ/ë—É #@`¤ÇÞßÚaìXMŽ#ð§9¶â=¦õpÈ+ûƒ‘ω~š;~Lå+fIºnQ)Ý>Ó^Ú†´oõt©ƒ€cÅÊP•úLã#(žì¿w”ì)Š G9Ø!ôrÎÈZØŽŽ¨`5€@6€Ø!ýWƒsG:U$@Ú¦D\ˆ¤Ë¸õ#èÕÍX_û¯ ±Û]ý¢”Žo¶ïâ;§è‰vf^U‡©];üK+An¼O\ŽfÎÙ€€7ÿ1R)9“ò¼UÍFØ2âiæ6´¹²1h7âýBÔ#”£_¡¡v©~Æ:â¸;ÂD9aô)t©­ßJrôÈ;@`f Å­Bc 7ÖÞ™R%%á4+Kê‹w¸—ŶÙ9‡!Ÿ7üšˆádÁÏøpDy”Áõv¯:qçsõ‘D´¿–,«ºèç¼=›ŸÂ¹:Ûû–i…Ê‹#6r«óU›™l Ë$sL?ïs£ÌÓ'é Y .Óø‹ðöÅQØ5úÅÛ£²ãŽÀõ¢‰2°g‹÷c¾Ä;™ãµõØåhÄ<à#?ŸÙZé©xŸžrp¿,BÃæñÂV1CÃØÈ†ØŠ:l™fè§àî2e/G|¼š/Úq–Â7x¢¸·¦Oã­¡ðtêùä0¨óÕî)®Ú}®µÛA/ 8¢n€K¡Š}¶ëxßM³RqÚ§Œšf;<¤åmmÆ*”j>M6IÔÎ ~=žO'j„̼^Gö9bÚÔ×¹xYìHp!½Egò_7ðúm€á/Åå´‡§ÀJ•FÊ/m‡l˜r¦ÝíÊž\Tä­Íf‘4tq¾îÏ®×ÎáÅèºýYùîr$;µ–ÔÁ"åwLô+f^;&5eùt‰:6ðiý aº jYØ^õ¯æ¥Àþ¥`.!Ëu¿Þ”–~ekª‚2‹Íÿë50`T¯œÿòx©<{Ñ1ãåØmì{õ³Ñ1€Ã7“fåbýz¢w“Ž$¨ݸ_=£l=êBá̧Ӡ©GíGÒ€«™ûpK\ë%D'«s7SUýòÙ"_/â꯵gÌ YpY]]Šªmüy¿e”JÀ7 Öcæ®VdøQ!FŽéh†Óô]z˽0ɸ}®‡¾ªöA•;²ÉÐHŠ0y«Ž±/+óÎÅܹDÀ)ÓBP¹S¹iòÊ]ø~_Õt2œœïMI2»| ?¨>ÀŒÁìm )jâA‹õíä9±ÛúWz-Jº‹ý–¿u9ÙM–A­bp’°¼·A¯„°ëÿTœ0 ”›Mã‡z§óíÂøÎ‘ÂS¯Å^y¶·n×}¿›—N¥húÿB®Ë)°sPmñÜpDà–›^$xšEf¥æ ™5±`ʉ#ìö¡&d{ÐeÙãù „š%«¤“äýKî{ÙKZãâ ŠŒàÞ$‡ä…ºY´’DGÝ)$IÑ/ŠAªÕ‚àWX8P§Sý{b‰ ìï„?ÐëÌžSÓèýñ”¿ó49íçv~8~zKïÙiŒ‘Z`è¶tM?“®ꀤßÂö~²¨ÿKŒaè³;>™zößnEâ’V¯eëà€„ô°Ë¸:P<†}ºÑ'Ôkv†šçŽ+h²íe߆?4z&W•C拦ž6#a°®Ì¿:zÊ}ƒ47=…ç^ÖŲã7!ƒ2™zËÄHxÔ=R?§H6¿G•?ݳTa-Y.DZÔŒöÐü2•ÐÆÇí×;›Òea¦ô=Õ¾úÚ `á=®!ZI€Ñé/Ò¿á“ÃW‰[è=3»Óa³gh»z¥ÉgÜëwK âüëÊ3ÇôW2_”Ø>žŠ®Ö‚´ ƒ§co+ɲ– }ÐÈ×Î×o³ÊæÙ–Ôl›[˜é`mT¢N.)¨¡]Ϥ½ Fg­ÿà­sпÌùa´sf™YËêÄp#Ykr’å;ô:oð‰|{…ây/[M tºC/„K™Y^íÏ9Ë%ŒÌe´º/ëB*Y·?&îðдžs+JfˆÇB¿7–-è¶äÈrmæ}i§ÀY±þÿøD–ÞÈÛgÑ,î÷ Ä¢…ŽÁoôË×Uç¡T‹äFÌçFZ´WP„o•{ø~¥â˜  6 ¦ZÑí™Í"q¯XüÅšÞ—Ü̦«+c5]1>}úèBÚ~5¯Ê]€‘šêÖDµˆïÁ‰·@dû’µ˜@ºÝ±°©*ï­&üJ´äcA¨GËN¿^1O?I»Óo© zŒ¡!¼øËÓGQš| …¬õ°-ñ»Ãµ}áj¦PMˆE¯Ž³Ì¦ ÷=óâé@þ“‡uïQ=û%¾ _¾–m< ëƒÙÏu:/fÈâàï²8,Ï)Å‘¦zÇfåúÚhr‰ÆyHÕ.>ØqUò2 <ʪ2‹©M½­3’pÄ­WqjQŒ?í@aQ9¯ƒ.~ü_‰[HœÁÆZèÛ¦xx4ío9ƒ î"A^-_ä£ägÀ iŸ á [/95}à{úÕƒ³) ÆßÅhJçÛêGeâíê‹B Gƒ ùEZ³ÀKŽâ5’]‚}—‹_µ™pvtEOv|Du<ñåç¡ÊÉY¤Šà’}Hû…ŠvŠZeAü‘,¾MnõVZ JHú÷ ?ÂÃåª#Z¿²W¢ì,ˆUÑ"ª)•íR¿Š.ÖÀ6~k°ì¥\…\¢³\^PdÔ­ž^¹o¦/y÷Ç ýZ*Ùí{H cã8{ò ÙýSææâ“ £D”Æ,ûOUÄÁ ø ÉZŠ ÞMT›à’áà Viµ¦|ûž¡»éäÎ$½Ô ®|«Ñ¥ã~åk²{67 £ÆTDMYž)EÒms›%|H¿ÎMc‚â‰Y3*ò¢ä°#l†Õºlb†79Oùúó;ß+hä™T_PtÎÈRÒºí#˜w̨TsÛÅçqÄk_¯•Y t¢.ñ‹ŒÎåÌž>!$…w*¾¨o2€{‘Y¦µo͘û´F3™$b3uâD”•–ö~µ¼YŽÍlö8@cbíIŒÁY·u2Þ°UaS& '6Ùûd*ˆ÷0¯:6ŹºÈB4†öEåvÀiÓ ·˜[¬gŒ­à¿Uø hü†0y 9ÝøpÛXïõµàÉfxðñϽà©â\¾²r“ÿóï³7fLMûüßS—k tª:)ñó üànü2±º pŸâ_?Ÿ(h 9’‡Àì rUáHÈ4ï›ãˆ¾-ö=s¥ ©þ1 зÔ-çåg÷Üuj`Œ¸ª)©sÛ¿Rµ–§¾C\rVÆý#kÔãd³æé®f/÷¥g Ú­‘–Ê š¬[,€Hgõ¬éò¿V|Bl‡®&KpÕ‡·Ó1d9T#Ôêà"ê‰:ü„Àëã'¸Etù¾Æél±.>=çäíŒ×o¥Ø¤Ž˜C,õóî¨3…eTÓn‡7¨Î»‰p»ÞŸl-&lª¥ qˇæÍî/úíGAÆÜò³Þª=Í”ˆÏRîªUðÕ ýY™£¿‡7®•!ù+×àçÆV‘°uyìüµ´¡¢ÇŽ{Hoðtª¾nä¨l0í#‘yÊ¿P1å§EÃò|o8žkµåwÆņòo25ß±Aó. ß«~°h„È7F^)ˆÎ\°oSÑÂtŒ3ìåÖÏKíˆô´·ÃªE¸K{ OHC«­ºÀ,ÅûyÄNÉŠ;!A Ò—4¦éP:*˜£,7]¬º›ßõWèh^ü2=IyùòfËI¤CBx£&)m‡z½æÛ„&§½˜¿\„¦o¸Èj+Àã 6+tjF‚IÝŒÇ9ÌÁÁTêÚîXÝ_b"âëÑ1‡t™cî1ÓÔòÕ¿/Ô±þ<éfŠ«­õ2y)¹X’ +µã¦'¶7ô¸õ À!E¿ŠƒÇcë–v2]xcKqàÁvkï*°*%¹ 9 xëƒèKö9Rj_» R¸2¬FnÄ÷]7¼™•áØÁu6£ÿ+Š÷SÿÇYÀ!ã4È…DT p²É¯xØðÃûèïÜ›ŽvÅZ« kœ°h—Ñ—Â(W7œ3¿HìäBõ ™ÉØÕ·³gŸ]‘·I­“5Ñß|Ò4M0êDw?7ª|d³¥H»Á7–^̦yå †¼w8]©Ò+áRNXÞ[û¾&Öã‚Ö?O†­u ñÜ!EGLöm×g*aÛK÷­ãi£C}"£ÎeB1’}’ʱ}M4 ŸZÍò<…páV‡ÞD 5ÝfUm ÷# œ¥rWÙ#ª{¶äï4iQHKŠÔÔ@šŒNƒÂå’g¿ŽÏú‰žô«'9T[”V˜ª ×6–âD‰{LLƒÌVqxN›š§=첸æëºD"2Ï{™ÄW@¾j½ÚlÂ÷‰µðªFºQÔ¼ñ#Î×å†ÂåAl­pÆr"Mšk &€ìÂU[ɇ&Ï+fŸ’Ç÷½åcLXQDÕ³WEöW`*æ>[ã Õdÿù“HØÿ8êa^ѰréöÈÕšN‘i7º#÷n©kv ˆè¦A÷­tK,· ç­nYÆ¢Yˆä§WªØR(¦ôIA“2¸b0½‹m-ôHòÒ dy&Àn’òS±=ë_rÖ“Ï|hÌé»sHxÚ\ó‹Žç gÄ€O.™}9Z"¼ëÕÅv2ŠN*íûa¡ –vë‰eÊ»¼lšE‡kî>È—<›»×¹r —€ÙøøÐÒ‰.J‹<ò©µ¼6‹õÚþDßÎŒD鼪Æb _mO½†k÷EœÝ•EÅý\¢kP‰Íså:¼¤{â]žÛ©5‘©dÝ”BDDá¦U²P€Ý. UÕ.ìWk’±˜·ýµ7ï+7ÄL1´Î] _î¦Æjb+à­ÖcÞSßYwAwú)‚$ôÍ¢ª¦µZ]}åëýB«jêÓû›…Ðá‡8Üo9ûÛðVØ•H­©óÓa™z(53!…bW„ŸÀ«ñ,á+3„‚PÇØHæ¡þ âɰ*UPŠÛQC þ¾¡Û•sú‰ÛŽª™x–Tø_*Úæ[ Š`Ž{±ýL;A¤á³ÜúPënxÈp¢RcwŽäâ#ͲŒ¬¾ó$‘?ÝòHÈ˸¨ÿhjàÕâë“§Tè[¥ ]˜„.¦sn„d*FcLM1‡r8OŠqTç‚‘ S]ÃÉ•sovÆ’ Ž-§oµÌÿ¤±ÃátP]¦ª‘¡¤smˆ(OÚÅ~À ªY®»|²]ùŸæª>YeÂð &•ù8½õºãö3<X^.Ó¯}µ Ã)«ýÂVQ•¨]”¡úæ jâ1z[¹ÞHÕÌ GfÜÉEZõâ~Xfdá©\;á6ˆmO–qCE%RsÑ=ÀúEø¬‘P¡îÝÎÛá¾ÿÉ#'ô%TÖ@"ß÷°ªgÁzRü4­šú"è þìP ð# w0uAtÀˆ9Úo£o¢Ùu ÍÉJTã„é8Dî+Rò®ô*Eé…ÊVFÜ¥_AtSš/íÜ€ÁkSoÝr¢1¬Ø­vxÈ<ß¾u§^;®”18_µW’0™Ä¿à"N¢4:whp®gìËv,ßnO’;#9ð¶} ‡ɃÍs@õÓ¢­$ÛŦr[”Ýr1>6^u»V*lï¶cmIrš¾¡1-¼åÄU|Ôï6".)h…E¯dJü÷Çk:'éä®´§àBE Ý"Ÿ;ívpŸ˜!îäO6ßÉ3,ޱÖTÉidÒ+NíjC÷ûÆ3zžtÿƒa±r¼¶ýjí©Î«O¹Ënâßž‘¿6»Ê(™¶Ø8 «µ´rÈÿ pÛ{ ™1ð›eÁtÆçºQÒaV%}¬A÷9ž¿*zúì OŒN|Éz÷ô ‹L<›ËT4FºPÝóZ"‚:Ä-æÅ.{aˆI°Š›)}T#_¼%¯d ÌwI›Ú4³¹Jë\["²N{¤“VÜ`âA÷êtÛ£Þsˆ.΄ThVÅþíBú\.Þ(òwôípz£p¡9ÿïKy„}”ð\HQB[û¾®ïV _D÷j[•š’à5ÄËLü+Í€àd^/0ð€*pÌÊQvÜØþDaNšÓFtGçV ÈE¹ŒDÙHFmÙpv«2 β ¡ôðu›û3ÈHž.›&¹s' ÖÊÞZïäy#Ò1D‹¦!•n¥¢ßú¤Æ¬ äg’ëÚþͼùÕ+`|v^Ë÷e*ºÈuÜ*]ë¯ ~è6@þß>æÊ=Gèê h°÷`!þ,cõ„3ö›‰ñÔµ(,‚è0Ànê§…¸Ù×è^fÞ?~ƒA_½Y£}Wô ˜¦¥ÅÒU?ìù]>~¦²}XÖ Ä„ýM„©¿òñ çˆa’['ßÜë ð nÑvÆP-‚ZyËŸdÂüë›eE×u ŒàTˆ{Æå&ø-åÂWÈåʈkÉ᤟H‚'¬„2ÃÔö5ƒUÓŠ 2é" W’ÑÒvéÄ ™X†$h7W@…á&õ0FÃJ6|:?;Ù =9kS%KÐ>÷”<.Ë“X£BÓ %øH‰µÄ&Ý×GÝ]÷UÞdîód7INÄç\ùÑTœE½g©¸ÖÎŽS¶âNí}!Ïô×D¥G(t±lƒPt–xô‘zòV»ü¼9{1Ò¡Rg*‚A¤^?Å&!E7èßÓV‚ÁB­àäp;ÉAh§f_2ÐÿG#½’7«=\ÓE‚(¶‡Èýq°Ò¿ÕƲ2É€ˆ¦wýKn-ž©¬P½Ñ(90t…ÉD`7貯´g[i#Œ­³J_Ã,‰×ˆ;¼lF¢Ulû^­6Òs’N´ia,ˆT|öx—/œlÐ{M¾,ã5¼Y  o6J.‰ y¦¸Ó€†Q½{üqÜ¿Ž¯R[JŸÿSp0œôMwå OWå,½ØÞÓÿcõµúñm¿±³Ú=…Ènå;•øøˆÞ§Æåóíº,ðîÀü&Šø!Y8gD×*M5¶)œ¡íƒP3 ´œM»éKï^v¯²îØ•èÃä4zaß^⾄“8õ °Ü îõµûíAÞ®ÛÓKbñׂt6S¦?) lý7ªH8õC¹Ç;p ­aBÃÛ`F¦ß­©~Z©~ Ù£ª>FÑÔø¨fšÐOX”%ÁË0ºjeÀ¶>`-ú;Ò²IR6Hu.PFGH±ÉB$Ò<ÿYL2øá}®eDÚÁ7Ä­ã˜íuÏLÚ­vLŸc&‰”\H í$AJ†ßþ[2Ñ‘m‰h›ì#4`TÊ6=æŽfW‰˜‚í ‘ÒÅjú._#Þ–ÔnzÉ ÒŠé¹®ÆÆá'vê dÏ"dé"íÏĨèS­• ½=É‘OÛÆõUL¯Ü÷û»ï„ày[áÅO`ÒXp.HŽÖüäõ¡aÌï¤rS$Ôì.‘áƒ(O<œc…„OÊ}¥¬Ë³™ÂÆ\çX€¼YÒQÄ\p<¢ze¿¥­ìXð1¬ ìT¡µˆÑ0fS[w̱௠fdËÑNø‡æ>QE¨#ôv4rì ŶÓzu™¨ÿ*°‹Òý®ÎhÒ™ˆ§§k-3eÔri2g®ùÐÝ,0uÆõ‚]krK™®½wrø½Mê.¹Ü©$=×A<)ád_Jˆ]{RÛ·û±á¤Cdps1—½ó¿ö…\®xZñBЋXϰ ÑÛ}’n¿8n ©Y鱺oŸW@éÔzÑðhâÌ"ÞB8~üG_eYˆ '(™M–Å"ìÛ*nõg(”,øh'ëôLr1Bl²‡üˆ QH” B'©Ç<‰ƒªÐÀœœa£ ¤å¼f.ÒÁ˜{ê}Ûæ€æ&~Ü=H¶ÓRÙ’^ÓÈ-û½ªÜS‡id•J%Jâ_´¼.7ý°Î_PÛŠD€ØmD‚î .²Ð ±‚|^qçþu6âf…ànd|¨š2ôŒ»Ò[¦²½…[ÕLµÖž)Æñ„taX…ki.N[ UnöÕæHvŸ»4Š\œÒ‘>Þº•_8Ù/˜¡Âîd\ªLË®oÈS<ªò©¦ŠxYóoú#Ä&Ës†#åd„-Ît!ô`u*…ºòÜ6¾9L^A½éym%<» Ì»Þ?4@|=W/–¡Šå*|‹˜û¡7Œ·êfé²rÆT†×HÕÈ$*(âý&j² ›kY%´¨jFô”“æ êL‰%M9âôoUiÊžï-lmí>[ëóÿ„Ú)7]ÙQa2çøÌçPÃŒuYÔš7X˜êô¬žÉK—è’PfeŸThäe7ŠO ±™°0çãD>|×í9æU¦q…7àÚ3êä?ão t¹þµ'zˆucÂ40Üf¾o"hüP #-Ó„ÇR ˆS—)ŠÏÏ@ø ‘ïÔ=²w”é-EôÈóëK÷n*DìN)§Â«d£\úOIXžH.¾ñ¡œ£ ’q¦ ÿ`‚‰Äogð,S­³Ô˜` WˆJŒI5rwüd¶Î"Áx¥^çõÔõ¯>‘uÊï©°[¾äµ[¥C¬î`ͼU#™òÉUèEΜ\ÉsŽ,` Suê?]ç/ë¬M…}:ÎTÙ¥öÏ^ŒÜÊ]qÄMŠš%ñ…mû.©˜Õ_M#Y‘Ù¸ñ2e•¤c£,ÄË= ÷ò\̥ء½›S²f?[ÃsC˜3ånäC‘œÌÞ自a1²þpŸÚvõ5õ+gr'e±Ë,‚Ä5ïÒ©G÷[Œ6¼°ÆibâÔ_Ê9ã¨9‚#_/Ï]í:JHŸ½Sü9{­À’Ã?Íl†‹çLÞÊ$¶kد•W¯FѪœ—|q‘[¾¢n]ñ#ùÀ31íöV3³óB¨ñ"¾$Z~\ € ìèˤœNq¶´6$ÃgÂ*$ í¡µÝ;àušþ…7Iî~F‚ êì»ú¸ EaÖ|Vä)Ÿ¸A+APJŠ«¸®Þ0„õÞ3µTPI¯­3–HY~{!_`†pTÿWYIñí`ÒIw* ­ˆoiô‘Ѩ§Pr‚ “ )¬„?f¯eÁ$C›ÚOûa‡f÷{mÖóz üÖS~ÅYC²˜$÷3Ít–A”SÇšžÏ³r0á£,ŽüI8gcU$–1€U³Ç‡M_ÿQëTÊâǬšÈ`‹[¿'m§T/>Of‰ðé×pÔØÂQù2£«®ô]‡q’ |”Õ@4Ìèy´þ ÐW†bæŸ1CN ¶Ä(™ÁƵÿ  㻾uÚ°V›s ÍëY¹ÏT$–pÉtXºø\*{zö(_êª_° ²Ñ` îÞ+Z/ym‹Èâø$6YNÉ÷QF¬—9­\LÝd³`?Ž0¿f”iä:¾SÉ Y&ô É ï®ô^7ÌwÄšÑÿÛ#‚!er4 `ÆËß1­èo²g+˨­¶©Ç&?…áÞè•° Ë^uy5¯²¾A³põE~'a%×g.²‚˜œ ‹Mö~ÅGñví½'Èdè1ޏàê\â*X.1}Tê4’˜ýjØåë+ýÎÐÐéÉs×46N¨¹4qúft/ºadlQþ»— èXC,ЬC05z*ÞvP®Üd¿{¿eÞ#M2¹wýœöÍbn^A´%ÖTTª4$¥|Æoµ†e票 öÙd0+'€VâßI>ðÉæ)3IT›X=s@ÊóFA\- l[iý¼ Ÿ¶7<4%D®O¹½µÒ‹Ù”¾·a Rb`ZLÌay¹I]r]†_Ÿ _·¶þ^;X•ò¼¦Æ‰,9iAÛŠ,¯§-»îA¦žã5Õñˆ– @É“(à%D•zN–wšé_ÀÐÆ|@y;†;F€$›âá`¶êíÜd„rlÀPÜå˜ÇLŸ*Ùƒ­†™ðÀ¼dÎêP‚wÕTF†â§è7¦þJšŽoíµDçk§¼î¾}~œ!×Â|–©Kí[ZãÁs&± ™Nc¤W~@Lr»úÛ -8¯#h«Ô!͆îQ©nš<éÀo=X„ŠŽ‹Ù@ÃvÈ|ìÔ¦ü“½³*rð â¾éÂ=K[ ($l7Àá†dðx³÷>B¬¡åÉe€ýKÞ®×EVÕókH ùzù—CV19Ò+êäyTõ³À×#šŽüW䈋_ÏJσ‰ƒs ût,ÞB~_¥³[íx{ð3Tx·bgˆÿ;èš ÆÛÄ1gïËÝÝr·T„š[óˆ…XÆ(8kkMð¡Ÿ#£ÅÞe åŒö¤7H§ã˜A6ˆnÅÜ­-Ö'»µdÏÆT‡¬LáØÓãJW mó2íË¢›íÈ/kl—˜ÝYXm÷÷ñë Í?ûsëñE,[#Wt/8’h~ãúäšîK“—ñ_ôÀÍ“L„®Í\ŸšwÆ^À¾Ÿñ¶hÅw0n)F™7X•Àÿ0çPo!–r¼jȰ É;*Ê>‹°xÜ‹VÂí¢âxß–t±Ï;§“ÅȳÇ,O‰¹Ñ¨D]Sàb1±¦ŽÑq9§Yª“H ^Vþ 3׿ÎU‚¶Z¸ûºòQ($’D`‹€ÇIl ’Tg~ع†äøÇ‡é8ˆâ­È/±¼õîª=‹b\ ·Ð ñ§v0µÁÏÿ ¸Ùé„°¹ûG( !^.añÀgêbci øPÍ- œ|½ 4qêðQúv°¶`’gšaÌtÇÿ‡^˜ Y÷±Õå7XJÒ„×ÀÿOÌ`FÓš C:¨ÛÏü]$o¨úâ‚îŠWG}‘ß ,ìÀO)Må=Q;"ê="ʇíŸlB*LŒWäm«al*qYCŽ8(21ìz˜{rÉÐÆÌ±É‹]1Ø}dËûðG÷·ìO~ ¦ºGÈ›â~2pÑ()}Ä….mš™ˆ¥ß”µó9ˆFC¼4Up§%ø8ºe 4xG„íš©ò5}æ37ôí»“4Ò9sƒy†4Ýg*‰ÊÔ{÷ýóšó=“ ˆ¾û~Œ{™ò³¿z¹Ìææ@Ød áê$Úv¾¹v*“ÿâç o¹3$¼ߥ’âÎÒÄ)z½ïû„ÛÒI[œfb²¿¹×21ê”lëÈ˰vœVÙB; ýžØ.‘ ·jË™kº¸îZk}·ñc'[hª”3½=( ‘`6÷ReéqDJûË'zknðPñØ-'÷Ö¾:SN6gÔFGÝ('Gü.¶>÷àNÔ8àvˆDvZÁHAœÔ{U/'ÝßY>:™IœáÔ´Hê¯$ׇýŽ/ÖÓõ»¢—‹.Ÿaý›‰ûƽ¶ (@9ÄуFÝbÎÓ ,8²/FdZˆ¢&P¾CáõO †!'»”°î´ê·ŠŽtƒ ‡~»Œ¹ë]ïó€ôé‡ÔZ…•ºÛÖ õ~ö›Ó¹g²»ÔzÓÌQ¾ITé“„Ã?2\Õz‰™— éܹnhAÜ]ˆæ– ¼#åmÂà¦ïC8 :³‹<ÛU‚™úU»À&¤&ŸŠ£˜£f.8yãÄÂiU£±{úº#º]ÝhÉ,<]u+.'Þû{fëÀX•J)Àøhu2É6‰ìÕK‘ˆ×ì•SL½¹p *nkù¾î3SYA[ÜߨO%oö ÿYª¼Iyð5ç!eï4×÷?_@àR×÷?/^m¯nˆÄB„7;ù ¿6Æ>",²Á73;$§²CôÀãMk`)zõw/ã?›Öe§Ý0ÉD VÙš •ºJ³Öj‚†g\mßåúÅ}Ê—«&["×Ř{4šäœ{½ÅKUŽ&€¶¢¢×9ßÇX*:Þßï²À¦+ÔOSë¦Ûߟ “äÑc‚èH$ƒ»jýc>pDÜiL\ûË«NÅç!Ÿƒ„\³,µC¢éöýO~ÛxGËû8ôUZŽ7šËaÐkŠ`{>%Jש_6ôY ·Ä~cé7R,øÌêM©_>Ô3å^½O`èr]ÿšôl/óžiêðˆzZý\¬‚8;ð—¢Nr:L9uüP0´ºƒ%æOøe ူZ·3­¸fÞÐn^žZÍüÔÂÈãá´_É<•OÿÖNdÜäÍX³|$â–€‚ª¼ª$¥8¦l†ˆnyF:#|CÂúê%Nj„oã-J .:œsfQ„ùÜCh8E´£í D ‹¹*‹ò&ö³ îãña.ðE¨Ðˆ: ‹ËòGûn/ý×lU¢¼¡õ5µ¢ÆäÙ=ÃÄ)øˆn^=bÓõ¥aV1’pö]ôéxš } :üw z‡» *%"Í ¿#>‚“zLë”/†‡óa¥í¢J§´ ‚¦MΙ5tˆ$ lŸÆ€ˆ(Sàÿð1à˜ä4ë|¦PTÑŒFbg–\sõ£nÌ'3˽Ծï¢;"eƦÍ꩸69;m)…  £Ä»£k_)ƒÖaûÄd,I{¡žê–]@ófj•ªÎR+t šôTm^f {úµIÁÁýE>B·FÂŽ(ô!0=¶¯Ñøå{ NL ©­WÖ±C©U®G$—À(×<äú†ÀHnËeÚÍRU >~Ý/s[£ÃÞ ,Õe¨QoŠHÔì-‹]þö(Ù¿¿wÏyBMé”ÜÉ Ž8;}]`Ïۼظ‹ÅÔ‘4õÝ ÅÜîû# ¨ßÈΉו̵ɊÃ×P4lùFÚÅÄT†‹@þXŸ÷>‰™þùãÔI½cÖ·3ýK ¡ª•`ÄùÃõKeíÖÞj€µÄJ¨þådÊÌŠÙ)ÍÅ8&üJ;Äfjp¢ÛOÏ šLWí e¬H÷¹aûò"Ú8ŠH×ãR=ûKÒs²û2æ  ÛÛ$¶ÞÔ®¢åI—cX˜8´aÙr3@z³f8à1ûYHÑê¯/­þ‚*ê1Û˜¢µËÚéhÒ­3c«èYxTáÇL}j¤‘o~hÿCäx.G˜í* J´ye:. /éV¢01„â5p –ÇCÀ*pk;%è‚Ð\î ·)zBgµe¸‚%(Æ è8®bÙ7_ý|[’ÄâFãiÄúj á+›qÙlœa{“T¬] &Ãì5Z7–Éüà³8^0YÅ‚]ýRK—¡³E[•P áÆ Û¥ bp'w"ó¯6taZ7ÄýdÄ’©FúðY71æ¸+ïÀ™œÍ ¨C€ B|> ƒ]3=ì~m¨5Åœ¬ ôNbûÌÁ9>ÛEŒ§áïÍÔâßon;ÆKB0žx¿È:¯ÛI·„²[ƒ¹ûCÙ¾oÑ:ï݃ëZ—¥VY•¨@ÃÁåÆBëöÃyÞjk„Îk§ò›S+îa §r&$®—+Q¹õæpn".oW‡ÛÊgÒÓÈ ­ƒ@eú,ÿ—u–#ì$Лzì¯ÂZü+N|ê¤ZW¥w貺ûX¦brÀ]|c£Þµw“üfFê‡ó*¼·üâÚ¶³÷$S\uªøÚóÌU-NÓ¸0ݨ Ûëî׸&œÈÔÈ܉ê>å¥H¨L‹·²Azš¹1Oj@¥}·š˜BeÞûÆtBŸA¡7œ=Õ¯ktͰ«›S&ú·Š®±¦F†Ökt¸CÑSØ ÿñ‰¡Ùa "·Zçºdq%“õ­’„,3/µ)!_-“ò‹ÎŠuù"þ ŠGúz'Þk ƒ$á5ÎcB2ÊGã68T™îÍ\Ýxд¯Û\D©öÏ=S6UXUh„_‹•?$/“٦Ǽbˆ7ø{²ôï^†Ë£ò†W1°Æþ¨ZYú¿@‘ïÃIé0%Ú¶5BØ¿aV+ãÄd¡j§eZ ×JaŸ…dÀZSW¦ù&êЏ&s{À‹P?ó•ÜõwÅd¶Ú·ÚÉsDо×K zÔÎmÑZø3N(ÔYv~_i–#{qiÄ{:ñ-Œ¶n~äÞQö€´·¸o©Å0Úµ d"àŸ[By|2€‘·æ H‚AÊ”CÇîµ·wïòºúH^ÿ6±>Œkj8À(JFà7“MBتÞÊ4²‡ Aå²Ä¥.À¶ÃòÌADDÑþ>8ä*2FéA„(qÅ%v\7À?Ò½$AñVœ¬[£ÿ0’7ô>Z­jnÑæ~˜¶«){™Ð"^>ƒq³=_T'Ÿ»u+»´³%ÖÆ%Bòì‡ÞÎtÙm`oùOøB~‡OMìýxRJzñòr‘f½o6½1‘ì\òE& EYsj$X4y“§š:1Ûék¦VÁú'dFiýt/óÃå´A/NºäRó×MϤz!bœ†ý³æ|Šº¯†³¢H¶nóÖ>­¡"­Üì^šÈg<†70*› â©òg'ƪqKâÌjÛ{´å¥Cƒ¤ž'VÞ;!t(ÎÕUÖ†1'ôäˆ;ºòù‚ܸ ~íÒ’W£G²Ñ$¶5~,‚$Üž;¿©9Ãéa…€MŒôÞô ”‰Y¹Ô]À‘m1ý.Çñµƒ³™Ñ…L}+Œ=]Eò™Oî:$¹u•`"ã{„¿8ƒâ‚¢¡ˆƒÑ 9˜I@ vº¼¼}G ['¸´‹°…Uï¯SôhJ¹Jˆý­*¼5‹$Oã¿ë0Gjü’3püÛÀÂ?׿+ð†´3¡`^Êû`ÊÕ&F"¦‡-d뚪‹0ƒšnBR/ŒÒhºê ž"7™Úž¢7ãëk-³¦wdÅZrˆ­œªäH‹4ƒÔHó¦,Šå u¤5Hc«‘*4€™WÕº£aíÈ ‘Ї´¤Ú¹ØÕÐ?4É— 4dQøÙ¾<ÿ¾?—Y}­!rø}ïø"¡õ„£°ßª‹Añ¹öl…$Ó¡)°B ê‚ÈA¤À𨗿’AËi혧Èw™A™ƒÍ)*ü#Ñ\Éhoʯt_Ü`£¡ëÄ«zx»]:¶NðÂeò2NËsÒw:¶ëÒü„òx\"Í¢Ê=âÓ?Æ0ŸÔPK|…•µJ7uÿ€¿ˆœ{Ï R7f¹uR ³ÁV2ˆÖ"‚ôÂÙ¢i9xëkÒKœæ·ªÛÞ(>k4§äƒ¼ £E^l$ µñ©QT »bõÁÅ^0!ClàÝqRxâÅÉl…ß_pAáߥ³¿ß4¥±`QâW$H@$ó€‘G W‹ÚéF*F&mËñ bþMláÒ-Êbî¥+ß+"5R|ê+Ì€¥9µßûàúD ÔýªøO¨—”Nä¼¥p£X<š3æ‘›'Y…3Iâ‡WšeÊ܉o'Œ©'ÿ4Ü›R5cÖ)²n]ùJMânôP/ñKIÔæ|fuzANГtøX ‹¾ê\’ÌÏVµE}]¿³ïÅã&¾ê,ŒÖ¦ÑS𺴋Kctðð¤ª%'ÁµÜ¡gþž@Ô=çãÈc.jÀΧZ ¨5Û{ Ìš&¬Ÿ=y£WÍjâ:Jž;dN×Ë}i`½ü?Iqg¹Í‘ˆ¡‡|§d¥]JÊhHì¢dK½Ös¼q˜3¦üwèšUN…ßpO¶ÅçžádбC+P2§ Že"øþßwË¿8ñÈ`]\Ìņ !ÙÀðµ< ‘œ?ŧ²@ܼ"HàÞðÒø+JêlÇÞвã[J/H}¨Y©ã0P†#†ºÙgv¿upcÕ¾FZŸ|:uDN”Á%IÑA俘ŒkKÔF3ŒQÿá´ç æô×…õ¿¢Ù县òŸ ûH½‰øƒ!Y›€­ÌT£ˆ{Š]0ú‹A^팊BI ·Îá~Œò–óY1Œ`l1Ýqs…{Ö@q"*¤28›‚s‹†Ö îÝZl×ÅLɶ´H·œž¨*l†ƒ1Ýyrå‰Û³ÐÌKóà?°JJ?dk¼Ïh ñ ²õINLzÚѸ] í&i-^+°A„c/¹JÝbMÚåŠæãb}¿4‰Ï­´ÃÕŸ$Ô”ú†g$A_ü€›W#ßÒTu¸VgžgË/xžs„²{çò)ß@ù!'?ˆÞ¿‡ Mæ¶Y¯]k´Etô¢žÄ³}Ï„PJ£;}Ýa$%âü’_‡¸òa¡÷ã¹ùæ9Òû2ÂÞ  ¢¨ŠVÉmߌe"3àµ6vÇr®ó|ÇÇ?8ˆ»ÔìExˆ‚á™oÞÕ“Á”s®/M1È^ˆÃDÙšÁQ†¬ò½Òä¨Ë‡’Ç(=HŠ ÆÛKRÆSo*[“å ¸-ÚrtC>A^£±I«ì¿åš9ÑhdgȘ«Cmýžj&f©™UoG)±´š.˜œ^ +z)nþU˜c2? NSkìÍ»Âá´Í2ÿåËy ±ùõ€"`•Dü©ü[äúèÞ3ŒDè¨BÕhé $7è­f-Wk¬RxvOhr€YÉVÉþ¿åbpY̵¨ IsŠê!ž¹q#—“ÿu27ÑKÊÚá·[K*ù†€Ëœý›S½Šœ.ÈÀê­_ÄÀ£4¾Öè¶Ud= <é ¤íÚ˜SŸÜ ÃYظ:œàêùÕQÌʠǢ3Èø&¶@§¾oÆ ÞÉþ< Él¹îœ/a =bÕ)ÆÁë6]#åú³¤_tGZаáï›j†ºbh?–>L±Æb§Óâçx“Ø…qʲ«éÿšœ¨-1ÍÁaèó$a2ä^pàë¬ÑRdž–î˜;¨É)êß„~Ö‚æ™Íɶ=oüP5ұ¥N~#Ëò2ÖÐÝÑúÿëR5ñò£t•ÑÀÓ»„†,ò†yÉJƾ’|äX_c²_o¤Ø™iB/Û,a.†^ç JÏkHS2˜dJÁÃ7´‡7“YLrž ¶óIpò€~¶9ªÊÇ^I$·(ã•¡¼˜Ò£û¦û}8 ëX/ÐeÜÓ¨,åìùV#jÐ~Ímµý éSZ,+‰ª:Ñ8$Dû­:ù÷z¥%Ä–…( ÂßÚ{§ƒ|e뢔í{Íüô;Ý{eOì†ÜžXoú» Ž^—l2¸>qŸÃH Xƒâ[àÜ.1µ{°ä@Òë°¦8·p~¶3åÕ­e 7aT3kD´gDZ®Co*¼9œïu UÚ£®´7ì "reøs¿Fj6Åôò©I{«Ô!î:`«°¢ äd5ÎC~ä áÝ…œ&~pz€zؾôï\5ÿ²¼6‰å©€g³ Í)A°¹,Ø¡ûfå ŠAfǪÇÇB§+… I”¾€3"!íl b âá#Á‘ö’ª7µóK¾…‡;ƒJ—ü6ìÞùûÁK[‘NÊÅZóÆš~F¤Tº®[è6ù¨ƒÁìc q¶Tr~Ze—9~AàM‹ÿ(8íËJs±Á•Ã#r3^ú’OIôßÁkI# ”=ν½d ÎÃUP¢T`±«o³áçå€Çè©`Ð?Ê*†šâàB\þTâ©IßÓ$z÷>ƒA°Úñ%ˆGÈßeÞªð#°aÆ2õ³I€~m8„«‘²‡•ß9føžõÉÂwDnúÇâ®×o´ƒÁ `Á~´8ö¬ÓüÄù‰ ,èÇÀ 2Ò´ÈÄïÅ(Và®t¤<äÔ©™K¥Œ¾žLJ tdIušÅkmþŽþ@Î y[X/ –N$p%¼â¡[Å0ç˜í.¥ëŠ¥¬KžFm¾{¶})ŽP/È3òí󫤰¼áÀš–7ÕƒPõˆúÈÌ8f…$;šyr»œ…ë/•(ž[T0€µ“Œ'ËýîÚC)ƒ%D³ö¯³û,Gjõæ·„»è{ƬÎú&ákz›wdÕ{ïõªc²’øl‘fÃ’T–gËÃÌÖ'¯êyÑæØã²ÝyÓ®QrRå6ƒíŠëc¥#,FØ_”MŽmy¹¢‚½)9Íæ#Œ¹N(aÀÂr >Ì%rH $ÆrÑÖ½_œö/òÀ‹<èi…‘ÓCÿø“ÔÂFö<­ÿ°{+IvD±WV?Žnůs»,kˆ eÄç4ó]ƒ†dÄBÓAÿúNÓš;ÏààxžUäû¦mº—î–,†g³uø&¬V½ísNtf¸¥øwKêóáù–‘-H,àa­cÖÓÝJØSªÙ›åZ1ÓL8ƒñ ü³jPŒ{ žš%Á\>¥ª¢ßD8šRËù*6Îü²m£ØT«N–>¼¥4¹òB.´ÙqEqDHÈgoD—H-bù–{0y28­Ño•œþ-bV½woþM×ïkÓÐÊ`ub:bߨ] ЋÁ±¦ÎÿXͱ9 ¢ñ¾ /ÕÛR-|+Eá$"œ›‹y1?HEÒ·°íó¡‹Èß·gÜì7M±Òˆæ¾´Db)=‹¿rÿ8 'ãÐYFÞ³YÃ=Xѯm§<צ(Á½\?<ß3o9_dvàµý-º&˜ç rZ5©¸";)Cm™6'ÈÐA&©EqÜŸÄ‹-q+õ•'©“Kkž[Éb·\ƒ—Oñ™‰«Oê|ÕºÚ²v›B(©›- ‡ÒÃ#ÊÅù1òm!ù¿;ÌÀîÐtÎZÍÐýðl¾±M¶Œ”Ýûúl4™é)ŠGÊÌ,dkÂ~ñ½Îþ?¿”šœ%øBßôÕJŠRͬTJ“¬œ3Vƒ©]̉à'j°? £ÚÑtãýåÀ·¹xÚK&¼­t7Uœ}£_ŸÇ­±hß1 ”(·7ÒL1-²³DaX+‰ÍÍSΘâµDü¹wÓ§‘g¤xËlç®î•`û Ï(v3<4A§}òÿº¯«D•q”“§%õi‘U8§ ¹Ã‚ÆdxÇ„OôÊž›W"/|âÁ”‡Ú'$yüÌ@Áª»•qšÜð a@o1J³(Ÿë€Ó),q lŸO¼ÏÆ:.5‹DZ}.«.²r®ÉÅ—ë«Á-Ï{iîÆi)/ï˜å7…‹þâÍÿÂЀÃABÙvé4˜*tÑnç áti¾U¾ï¢Ñò™Ò0cÿï®ÙôoÐ?>ãÚ?ƒÁò,Ýýáß4:·ˆÍ[ûŽ’/–X)¨ß'g””p„ö[ng½Èpq \IõbYeŒY;þä — ‹}’Ϫ5”sÙ»¥âXŒ4Ý÷ïUz½ Û@O]"˜¦¨°g*'¿¿\¡ùn=.},r¯³ØðÍŒÐe¥ŠøòT÷pWrû—J‹Q÷ (QÛ'Úô­dÕ,ð¢c2’2RŠ3ÕTÁp]Z*þÙ Áv¿0éájŸL9láóÞ6†dñVÿûÁÌ<©b:!äbƒDº• bùC>°—ÅF×Ì€¤ÜÁë_H$Î%±Gpd_z×DÈïI9gV]í"ö)]XÂäŠê{¯«[“Ö­áAmëÌü{Iã Dö8"CJGéH1TêØˆœÅõü~‰†V¶C½v(d …Ó™ê¸cÒ«ý©h>HTqS»^’+*§î¨r™f`vÅ6,¿•¬»N$9­Âþ½â¾ÏYî9‰x¿Öƒáž]‰]N- *½îæå\nCÉAß .@tĆF·DËs#åñäYѦZ¼Ô`AlÉ?e òõ?þ |p=D$šÜßðÉ)nÏdÈ· 뙈uL.e)]+\^ H¥‘ªý¹%r}ä²$) ¬@ž9]öš³d¡’¤@Š®_ö0$ï…L×ãÅ׊‚(§y–›g´0>д!u@lòɹü^Ëð=ÎY| oî¡­è£6Õ÷¹Ül‰þ»˜¨6ñH}ж8aÿ Žäò›.µÜ(9QÞöù‘‘XEd=Eç²âÁ†Å\nÓ¡ð¶ÿ&#}¿l¦´ /CeÃÀ=äׯjàŽnÕðÌ[v;?†µ|¨,ïÎ'PŠ6·duþÖ¡¼›l0èÞ©»ñ¹Ù;æÝ¸µ:Ð𤦜kO- ‹ªŽm–]]ü×å<$öqéy*ÀÎI¥G;k€øWb¹×5?^ã¥Øâõ³$:“›”/Jj‡~‰\<¥)—Í!Û]$}~.?ÄôL|új^ µ'=ÀP^ Í5[4óc¶ã¦ÇÐSlbQz»Ÿ~åÔ×ö1^Ç݉YäZÊ”gXµW;–ƒJ‡—<ˆX9XBسd ³·Þ8bÖÍS·xJñì~¾t¾@Ã)FÍ›Ú5e³ìξ=›û*nœÌ3ÜÇ3£¯£íÀ“‚&2í¬d»Å†ß†q$lPó­ì³q7#žë~Óð¨²yÓ!WÇš\Oô©ÿÇ— ,o3Ü c8û^ñð¡«ÿiD))Ñ1á6tyøàѵ²AÖ³@&½õÿk$õat`ëм9µ˜6WÂéP;”%«Æš óKÃ"…FA3D¿BHùã¦þopí]õÌ£-™4¹&œ­š…Ô”Òp!ŒZ§9Ò)2¤ß0b©Çží"9ÜÊÆRþVÔA@âj€Fp¿íˆ{a&¼‹Lóö¤>U}üb'œRÅYüw¡q¶–ÓÌÒ8¶ˆžäYÞóÜ€ol¹'ÍïR oÃNÕ®²ËBêòLŽuaÒ’HSý—ĹÚ«ŸB„û‰™lP¨Â>òÆ‘°‹ÀeÕøu“|°\ÊQkú˜´LJÛÝO¾VðÖ5á1l¼ yÀùß™ŒVJÑsù­°ÑÞ8«FŽsí>ó¶Ë)p ‹W¬.D‹²ØóÕxÂù„—Rêùâ§þ~¿e¬¾íOà@»P$’{ Å-SÉõ6–Eøy¬¦ôfØCò?E(Þo²FɇÎmvB¾O!¢¦I]ËL,MÇ‚- ðî/¨.'#¦IŠoÿÜŠÓ»U‹jJE&í|v~ùgu‡ ìS¯ëx3ê|ãÐéùϳºàÛR)´ú¦ÍïÚ§§*šéUÄ2bxg!?9*Eo?´£X‰œí/v9žÝ0ù}tݰĚ$Y‰Ó8Rø¢ZÚj˜ráTç£í³ÆR$ÑQ·Ÿs“â9Ê*}¼ü— )…n‚¥<¾¨÷ÖÀbfÈáaŸí8†|Ó×d4Òn„å¤ÑhGœˆu)ÃÕ1¡&4Q4õ°ÎF « ¬£c·€­ïF‰éV|yÈ¿pÂŒœ³.ØbBò©Nű)f?647ЧHêAH` â^aP áj+y_ºU#»N´=êÌ:ÐùxÁ÷æ ­[(3ÉÁAˆ±»6eFH‹f„(…%ô7ï´vN1ñEPØW¦þÕk¨o?¿»—L"+½g"ö,,¿=ïpé°I„àp©·â؉>3–ó÷•y<àçÃßiˆ³ÔïAl­"-Jóü>|À¬}ߪ ô|aJ›Ï‘`ÌŒ†!7𒆲®™L>ãνùËEÛû¡·Æe«¨560C=ìôò=áëÇÆµrÔØÈâ«’”-FàoÚ©~×ùE‚Ø®(ç'žü¹@#*ʳ{y x|‰—±«Ï¨Ó´)›æto«¤\°¾G'§ 2x賿/R»¤ÒÔÐÎgÁtXƒ×íI@tÏ0úvÓ:‰¶Ix…ò£SÍ žEÞ€û¨õœØ>{Eæ4«9q e&TŒgüèDLÅʃ²Y•¯dOX“ÿ'™^Õʈ”i}â\½ ùÿ”ò¹E"©`1)\¬!˜4+uIz ü\z.¸!{‡Ö“UÃ\;îmõhm¿÷o™ú¬ãZ¹ ²ÓlUñô¦¤”U ~¥’ú6Hz— ¿ŸàiÕ(‰=ÆôËä3Ôу#»ßýjнH¼}–Ó¿~NšÃåPÖu#ϘÎ8¥ännq¤K;ô¡·Š1Ю¼j«Â\:ÄmÔñÄÂn+©£Ë›’kȇPYG¢Æ-!Š‚ÐTFÇÆ7†È8('§ªW…`¼zrðÞVŒ3VX7 V•ˆúŽ™ñÒ1Š…Kj¾ÕÕ3sŽÜÚ¨j‘•^“-Ò®/çKŸŒc†K®±Áö=÷šÏ €`TÓ|–<ýÅX[19”![Œ‹XªÝFëìñûW… mM"úm͇Ëp"³Ðp _6ÆodEwI`µL켎á—±×… úNS÷ƒÙŒSbš,µ#løÅâÎÅÄ¢mŒ~à±V=ÓŽ+Š<*uبÑpþÓÎs¨ã+Ø_rýý.nd#–XPÜ ŸícŒaek1½˜7ŸŠû­]:‘º.‚ý.ÜÔ‰n«]uAŒ ÆRåìXî"–y €T7• wy¡]£PŸYSjÚЮi¾ÿ T«e$÷ÚúºÒö茤°–a5=Îõ‹€ÐÎÁÈÔæ:>Ç£ç:ÅÖóCâ ´›…ŸUOÝmî•fa¡•Ÿäo DçY~xd2€w6^óÏï` Óøóð=þé ñèë§`ÃÊS[B´MÓa]­Î=ðLLžÄx[3µ´òªÓ/û#cê3 w1| “ÉâY3+°Iiê{ÁN¸ùùÖõ•…›|ñ.f;t…p!‚ñæ¯ê´Àp.öß–øÆ;Óõ»2®´„r)ño;ðÈ‚åtÊR«e™´àá`MR _ì¤Õg ô“%«<éžÝÆ>$šò+—Í’ZzÂÐv·\˜è׿Nä$pΔ…³ùíÁßœÎ~3„ÝÉ®ÛV, H¾­ æÿΨ>`ã› >Qõ€¥2¤Ûãd–kòŸ>š:…“1ûÅ©!²@åx£øHAƒ†ÍjÙµÛ¯#Í ª:H-·}&ð—Ç ™]¡¡ù,õl*U³œÁÛ܈%œbL ÁI§oÏRýöʼn¹'Ç tÛCæ—EÅÀw'…L_5\X·ê¨±à­ËYŤä\þ¡PÿÍå;vém ‚2`' ay; ý–/XÈÔ«©ïô‚Ñœ¦½ü’Bú¦×ë(øö5¬FzôPr`&ë0,á×þ­Œ p”\YNã_„síÕ‚88–¸¸º®Ç-V±ÇËFe\t3…2\äë»ÑA%QÌÈ- ‡B&-ÀÇÆ/ö¾þà€å¬ü€=¶‘öøAÐŽÌiA.£ƒüœÆÀ#æ5tJmQ8mÑÃñ§;6Éá+©FÃD¢¬t¥ÛwÑA5NT!3gÂ;4œVÇÅߦ{Ô)„%03¹“£Ä„» ¡Z>%“îB·,"‡ŸÒÇ»%·A®®ÄkrVh-ý&Gj%#Üy_ÂSWâËB?ŸÃ{TýÍ”iVm3wÁð‚åî×¾Qpï${;Ö Œl°e]wS,þ8 ©¤Þ®´k¿u%ô¢<ªÀ æ5ãäk½‰ûÂF¾L÷ì‚IòÎ{góó,Ž8RÛc[veÔa…ªø¢ô›¢ÁrOÍè5,ô:¥Œ"ë›ùüŸIÏÙJ± uöŸKŽ€d&÷%™“w)oêÞýû»ôûLRîê»s•opÍ<¯ãÏÅwާo[Ö‘m;(ÐÕࡘŸ¥Þ5±£ØhO¢©›c“´!FM–ŠÑ‹µ…ûö2ïizÀ+·ÿ)²Ø×&1ÍeïŸ:]®$/ 0f÷¯@¶XÈßIš”Xš?à Ú!!Õ‡Hg7[®! ýµ Õr—çÔþ¬ù&Åù™WÁC±Îi1¶’£žÑ£sÂÓ Ç¾…u –‹à‰õ¦^¢ä,L 8,[[çåÅè@+1UbÀŠž˜îk“ó'†–`p|©È¼Ê&I{e8ÿNÈI»å¥ „VÙÑG´ÕÚ]T^r@Ð{šðÎZ¨yÝï/ i¿Ñ9mZÔ ‡6#g˜ÿÅl,¸J¤Èšå¡‹”ï¶,ÿ¿;CŒ‰è½jO_‰yp zûMŒ¬h¤]qÖä"µ‘],€nž”a7i½…ŒB° :_jŸÆ¯ý§#r‹âcy‰Ç"uî@ Ám#t2äÈ0¡Œi§ò¶Ú=þì°æìÆŸR!ðýÐв‰ÉÏ Uå3qn‹t[Êm;Ì”½l`¾B(±R”ôUûÚ g49ã7O3F´ÛM>„ljMû oÅKR;Ƙ›–S.(ž‡Yç䨃Ÿ" ÉD%—•ÙâBã ÿ~Ëâì þ9%*â3v}N-g„°©(Ùa|²pr1­ÊçúôÕ#mu‘Ú›AbØ}$ʇ?w%RƒœÂ|Ø0±?:ã#ò^ߤvSM¬UÑ‹ú»MÆ/¬D€D†@š½’Tn†%Ïå²K9êmÞ^¶F)Ô*å$¢BÞÔRDÏœºüNÐaOþÚKªÀÚ³~j4h¼R¿÷ø˜†B]fñ aIùVðHÝ7ǰv|ÓLפF>áÎ_RL=áÇ?ov$¹ä3_¶Gu„o]Zr¾¡|dŠR¶· N§ðÿÏ6GÖI>¬Våþ’'ÐKmýئ†­ä±î[HÉv¤ÑbHe øß>õdÌ¿¦ÉósF[D0œ”3q­ ‚žŽw `º)ÿV[&¹Š‘GÙáQÜZ›ùxio-™/…¥|ÄŒ—kLñ›sň¶ææmš‡í!ŒÛî÷t¶1>N§è" Ëù½ex¨ÄªÖZGk÷GçlDR‡A©]ÈkA`“{"ªVàê^s¶1Þ刹vAå}OH™_ý”˘üшÀµ\Ž}S³Ÿfy±EDºÌžµÈ{Û,kvúÎù°ïQîŽï 1Òãw…0Óg¿!9<Àx£è«¤§«ù)gÞÇÒaà±ßôdf¡ÄaQ¨1 ,†+´€CI2j ³ k‡Ã‡-Q±ÔX8ËI®œ‡@‹=§×5ƒpÓ8J¶Ë Ôï¢Jæ‘iÒá8AÆ\íí›ð’Ô®q*Hqýß¹*_ÍŸ“€w把*±íâß®úá/¾'N£§DüÿDC~< =9µõ¥ßüK}A|z»‰4À¤8‡e¸¦3 ×W›2…šÏDT²ÖÝê°LpNÁ¡ñBP欷M/áåÌE¼ˆgˆXÃ€í¥æ’å2¬Õ©°Äk—p4äw#¢µd Y&`µô~ CaN…´òP,Ž_–òâeªÞr…ÖQ ΕYï0½‹.¡æ¹)gã&(Ä_íUÇXpá!wþW““f§ànóû¶ƒ y¶’÷¸ ²g³q~<øìÊ‹¯0…m%°VJ´{¹áã6ÖË2'iïâ ÇPðQB¥ñÒì¤è}dº kÿ•mdmt²ºIÑÞ‹Ö$»"í¨Œ Ö² ÖÒ¯#Ï-­o>ü ø®CÎ6/sЄÝùÎÙÝÓ‚±ˆ¦@ê âo9±ˆcDªNßýX×ÌM¾Ñ+e<ƒ3Ž˜èá ÝñŠÏS›TéþïGÌ"¾šÓüZï `2CKeðuš¸C,q:+Â0O*O-Hj½õa^¥3)cM¤MU”ËôÞa ›ùsUÔÂÞÎØ»›õ†C†Zûõ»êËÉmu›WC—Z9ä.Ó×b`¾ÑÁÖÒbòN½¹_Úl]&_ ® Ï&w+Ôö=ài˜ÓböƼãꥥh i÷iõžóÎA Ëâåõ-c4}“EWȨ%UOfªÿ "ÿ{¯g º$>-V±ê?ÅßÚÙžó·—É•Å\²)WiœìÓ!)”þOŠŠuƒúÍ€OÁ2Û¤[8í¤6Ô«ye!2ä‰[¯ü³ýíô™ø®Á€¢Hþ %+õªˆæp¹ÈNÔ« GاÂß»³×Äwñn¦«¾FjðÓ U€¹Ù«ìÝB~ÃPà–l˜WÞ…“é‡ñ÷™E½£q<¾áËBîd(¶ Ë9¹°~§}wÐÍôX’œ®8Aü¯'ÊV§lÖ£ ¬,®.øÀ…2H$úÀöìEá£úX ¥æ-|ÀO¨ÿÿË*jªÜ‚â˜UKŒ ]p$‘Š\F›dshë³è÷3´f ß_g&Õp1¿|K3¾£5No ËÞüOì V°³ãŠþÖ|"°÷yPU¤ì#[-uŽ{¸Ó¿Ø–¢ì-üW ߈Ÿâ ß3%Ñ®‹:˜°ˆ‡\\˜éÉÛO[~{„þÍ;í=` vágÊ”ýnFÃ=%•о&ÖRºÂ´H„]½&3¹ÛÇZ¯Ê”‘Ê—ÖðÚ'sÙó“D‹oùÛ~=æ±yKlBSÊ9ó0˜]ä ‹í\ø鉻9h Í3ã‘ü*ûÔ°Oñsàö9&ÑeÊ¢3Åu‹Òv’P…âOa6žå92 +ñó߯¶=Æ2.&dTÞMŽö´ôäÂÉ7‘b§!zÙ@!¹órèß0£Ïû†CÉÕã(,.¾âéŒ6!M©¿3 ã6hðÍÝ¢³ÓocP7Ûœi«ôy’âjG f¸×ù¥¸ ¸‡}cµÉR¬ç–Ô¦ÉM–‰¨©;“[¦BýÄÐcfBö˜È„qƒ.±Ì>ïM6û¿“ ¬µh+¼‘·¨CÃHeƒ w“¯Å‘«V"^ ÛO /wÖˆ&ki¦Ô3&Q¦ž6 8jV5lÙ[]jG@´>øg:ÑÔÉ/)Ù^¾4¼[¬ç<è)x+•$_â¿Å!¸X¼Û6”ÏQ‚,yp‹b×êUú¼îpŽ bnyjÅi©»Ë#t÷Ø1oTuÉH–1ÞcE޵H¸RÕARR«·ërF‚¯ÁÙÎïðƒiúÕÕ\@ќ͎÷õ«qd ‹r¢•³æZSŒï&¡Ãw¦QzŽá‡µ°–±Ú¼­‰­>&×î ºóŒ |Lw·ìò)bAš5bÌâ;â(óµw¤‹?q¯Ä—[ºTŠ?à§Ó·pBì§ß¬Ô¥Ý¨¦gN 6½üìžDì›¾Š­oÅ“IÉ4ÇX#°l÷I®ü pìÏÄÇ7æX¦tMz­d_|1üwÚ€6:ã wf/z‚•ÞN4 Ãë04¥-Æ„ÔïMfœ*Pë¦g€%¢é‚("p¢pØ¿õ÷E°râ3EpïwNNÍÁ%›ET 1Ù|nà)xø9^e/A? !ÝXXªJöà"b'lÃã™ÕN¯uãrºð“óCsǯY·¡ŸU#r§Ök¤ÛdQ¿­×¯=›üâÅ®©@œZ‘mÕßiå| !º©ñÚ:ÚŸŽËCóŸëÈÀðƒbj~ƒMy&à9ŸÃ²qB¥á Z;rÕd÷ÅhDazŸÓ¿CE'°•®~@œ&Æwؼ¦xŸÏÃPÓ"ŸÏV7]¬8ˆâ0¼‡Ë¶—£"ÌíO¥âs”â½—L¤’Źõ©³èœ;çâ0]m‡9¨AsJB²Um?±dïÉ¢Q–À§²2ŸÓ r&w¦Žr“¢ÁCZgÊó×ôôñ2]¦SgÓ×¶»Ø ÒÅMõK½Sä¼~æ-ºKSh©t¥Þ2ž5iâ)&¦4úK+TòÄ:އ»zˆä‹ÏzÔya|Ò­ýØÎéq’rVTCbPc"¬©Ö­ â-¥Ô'ΧŸÿ!ËY•Ód~ÔôïvªÍ¶±n$€J¶¢8 õ)_4üKwãÚÇÉšrÕ -o¾Úz9Kp@n£vêýFÓ›pH­z˜L SFÌV©æâþˤA‚AÊBì¥õPÔܾæåÙ9yQ¶üXŸÔGä—zHù¯GB±“Pjïò)ÔЯÐráÖ>Á5tÝÇJÙ÷Qu†7ƒ‡»¤'²ÜßK†Ý^ðwƒoè°Ò±Äu$ÈR>:²M”èÃP_ÐÖÄ÷øÕ†^ Ÿ$þOPl!Õ Û;ü@õ¯` ±Û㽂‡ƒM†ÒžòTÔaùeÿ“þµÎ…¨H›F"š >ÅR»¥0­K´›6F$o>¾FéˆWà?øˆ—Ãûéɱ;óªÍ3u$@î<õGè˜Aë ·Ã‚pœ{*œïìYÂà·ßv†O³GS!{½°ÅYˆ4¯wÍoFéºRÚÒY]öpM´è ÑKRßiÏ¡ñHDӆޯÇü»èÒÿz¿YÞ®ÎG5B!\1Gz‰[ÕW`{w&¨ǬÁ*2jþ¶Qå90¤ÿíA7Z¼žDÂ18éQèBr)vKÙ·Á]¬ÏêIº&õ«dŒ G¸ÜÏWœø’IYP£Ôö>=ù(±Ì.rp*¾EùÏ¢ý»dŸìáxˆƒÃ2]šw“€î[æ`#ÏI ÷Z†÷cû/=I÷çÝFW—é(HlÊñö·¢™ Ð2÷\¤c4 ‘Ù˜¦ ð+ôëÎK¾å¤¾­ãõûØú䤿iãltÖ+„ì”¶4JA?ö;m94ÓØn†ö7£³<íO±aöñiQͦ×jÙª ¼_qzÛ¨ñ)ñ>{S dëù´Î–>ŒSXJÐá>­¨¿JÀ-»OõÎß,^Œ ý9ίÞISòJNBsÏüüŸƒjsã¶Ž÷RÎVHQu$P±/¿¼7wñ¸îbˆš˜w_\h‹€súÜ„òF á1hÛ‡•ø†…¾(Fbô®ç—H. ÞÐRR’ü%ƒAáü[•w”†¨Ô§a›ØÏÌãHÛY ð]šϽ± ¦ôwêÌ[ý>ÿ:¸‡÷Ï+λåjYy¥ÓkNVá3<Ö Âk;.ñÒïÿöð)¯!]žtÙîm‘tC¨hdËif¤ÜlݸcÇ™@¢ôÖPíFÛÿòÕ¯ŠyüÒØ´ƒ ¨®»k=ßJ­m3 àÑ)T]Æø™ðŸç<ì³@ƒÃ§ì<ßÁÍþ[ßÏ›ÈRxíQQ£¤T·zû6 y® Þ<Ð!ÖÚÁËQú¸äïŠQŠ®?Ç0¥V³üDãrá ”| ^uÂ7F¤òR…@ˆ¹¶½ü)â+¤³ ›º©gXâ™füRÒ(Ð2h/I?Õn£êëJ©©÷p·«w iÆ#[U_mï”­3ˆ|Ä L›=!w¡ÁPÙ˜>Ðe…}SuH·0ÃGÙ…rÌoxî°ùlÚånÜ4ÇÓoÌ¥ý 3pd|€ÞB.Ñ…¶G2ví‰ïZ‹[—¸â©Ž&™Œ~¤•ªÑ´Øò7™©þ'YRè³kˆCßÓÓR°Â•j\…ÉÊP6BÒvæÕ”_+²o«þ›_àiÐ'ˆ²I;è ÚWšî-¹%˜EìT‘ºkxü°ÐXüÖ‡¯H%Ÿh*4ÁXAymOËe¿ñHkï—™ZJú½§R[ñ/))TRTy\ÖË *ï„ÿ”ûw‚VEdÃc^;TáÏ ùî²Â,íH°°·×;?¹wšÎµÜ#ø–ÊŒÝÀ]ŽO¡œAvÌŒ6¶¾_‘àoáŠÁ¿wCNŠïœ^Q*»A÷½F7KÑVÌ qDî¨m³ëòK Tà„YÈmÜðlYñšVíq¸°'£üѱ¼Â`É\XÎåÔX€³M[šÛªo[Ìî˲ÂjŒœBÌÕÅ‹® -Kæá£2tUÌo&õ±Â@ºœÁ»è"Y×ÓøæDI£p‡Š‹²MyR~Sç1¤>WÁÂ(7¾–äwoìlÜ„©,¦aÉ.5¹çjþ¢?„»¤fA!é8Z&¦`<ÛK ca°+Ýde]m©]üã½pn:9e0öÅeµÖ¯eçAÙ6­Àê6að¿=µkl¶uãr™=©ŒOéi0LùziäW龸ªëÙBkòü‹ ÞS²œGd‚5 9U­žñI(ß *Dqkúp>µ*a«èšÆIN¢TÜç‰MPª!¤7´£~0f¿üþº‡yY)=@´Ñä >Ué†Qg˜Êá’C–e» ³Lþåˆ)ã¡&G]áQzaâ­!#1â2$Kù$µ³ ]o~C?Œ5Lúa£‹—ð$šÔm”OÅ×¶¾´Ø ÷U4†n­êü{ÞúÄ*m5“ü¿u@±ñßOuŸ´ž¨y9{7:Ìߺ–ú7¼y6"¹Gõt¥¯Y%wÜþ€¼ÐæZÖËÙ|=U£ãç´©%F {\•ùy‰(Àú&ÉÚm vâLÄÂc6Hc!¦¢º}ƒI^f ‡š;{mi¥C sWöÅ¥ôòÎú~³ÊdÜ{¬WÀÍ@+ñAÌ„Tj µ6ùÈ’W4øPjãQ²EÑ¥9E^[fö#Æ“¸õMÅ#»¦â Ng·Ú뇞ä‡|¶€ÓY=ŠIѬ-‡#‘Ž+Ôƒïˆê 05æã—kñ¢ŠÜÎ{ï´¼…âð.TÔˆY1 ™‰R ùHËJé/‹šµ øÖ>¨©¦q}pÍLB!mŽÜIà ¡’®dçÌÌ>ޏR@«½]æä<Óõ7¸¥m¢ÖXñS4·4 £~PQ/¥ûšy•ÒQÍâÒ=w³ù§pÚ–c4M@õìôÒ.Ì|þ«Ø_¢fç#PýŒÓTJùBŸÝ!K}Ëù’a›…G2Çà ºûƒžçÆi)Óm>~ `O‘otç~£–J<»‰ï…ç c >š†œŒVŒhP7±TRl×XJ/(K$d;íx|Á8ér”&h­ùüµ #Æò²¨€öú#f)ü¸p…&㔑e¨jàØ’a&ÛYØx5O%ÒkYØYÁtÈÓ¼è ] ¡èêóPCÝià5(ù\aéT^â’­ÿHsBÙá…Uc% Í4áCôƒip+²aíe±g¿K(Mwð‘/-Ò“3y´Ãá»áŒ…H2®z—¾,ý3¥„ú”¡¿ÄÌñî`›ð*x"pSÛÑ’HL‹uB½¤ðÛaÍ߉ñöpÕ§÷“9¦î#tåuìYãÉH ÷wäø«‹²L­õ}¨¹Nå¿„g­$ˆ€ÐWëùÊ=D +Â[Z0›c!§!Ôkÿ¾ß%Þƒ*ªØÂÞ;P¬;8¨9 7r8ï¶,Óôs|¬(žæb/¦TVIwj#ÐÍ‘•ÁÿTí`½æ^\ïpâI^‚=§¤&þ:s± èø”ž¹Ñ¥DvoÛ›ù^78Ê48[t^/F·.|ÐW‡}ŸVUu ÕQ†ÈÉ”•Æ0¬}·Z鶃”3<Ð*yö±ß˜5.€ÕäÜߨ=;Ù‡71ùl´L0 ðqøžg—<@"v¨k(æú߉ãšV[ÌÝ©?Üð íbKï®> »m êÈÍÝ—Á5dág*á ·¶Øëý™åô¢ªs*ä'ȃ):à@85cÚ 0¶Ò&lªdüo³Þšktœ;ØöfÅŒÐÄW´žEôŠ9.9ÎlbÔåç6»¶¦R!ƒÅeñ· a“Ð͂Ģò”ZÜF=¬Ô¿ÿàA4ÅF–Ù·övóÁV¥ÞT#X~@$еb%Pƒ:Ã?¿ŸŽrL{DFý¦ñδ§Ò¡y!Üš‚ŽqÁ“,0¶‰¾’`‡ŸÅúüÔ·Úp>Æb„&´¢z(_K"©r`êÿš…µ|a)bW•ý•"ê,:ð-ý+ Èç²R•|û ÇΖ€å7ž%á rÝÌÀ O4s^AH,Ÿ‰FärvÀá+]ÞsP£ZÏ(õ\ Ÿ§&*C»=ˆ9WiPœ%ØžaD>qcÈfM1tÄm lgE!åAF-9¬ác ‘&ŠRÝÓÿ±)ÏŸãïç9¥A~÷ðøTÊI7gõ¶ÄÑA9ôÕFG8méNàTM(½IBÖ¾ý‹¼Y»¥ £ž ÎëòIXN®&Ls­™2N‡$çU›ÎãáõîÕlmô¡‰±F¥\,ÇW‚?þb–q^­5×–\*]­þŠÕ÷ &nw.«îa'G:£¡yîÃþצµ†(ó? ™ß³0j ùo‘‡ˆY죠4LkíSÓLj+‡œÚ”?¸žC~{)éf[¥<%Òû î˜q`OÅÚœí6µqr>.ãpP N:ÏDö­],…Ò/ž3„ž¤=|YÐt¼ŠSÝqr8Œˆ.7r/ '¾ŒŽ|×¼±@;V4QüŒÞQ_X¼~ï/j4üwœ>rJ7Üjl]øº`¦…^WõÚ×}®+:±´îá¿í(é –o‰Ì)ÌçûpR£¬güaÜÓ§ ÛÚG ØF\4έõŸ*‘iðOÍ¢L{öo©uð-¿°²/Ou•±¬[š­(ŽÑ_ÓÍ—Y?¨±–žz‹DèÍ”üU›LÍQáþñûJ¨sµ3c~ꎡUÑ=-'ë붃Ød0]|FíMpšVš†ºNÇ ÇmM]RþÿÅ캒[_9-#;FTû$ª‘ÜóÔ?˯¡ìÕÁËde•ù§~n˜e/Œ3VÎçü³mâÌn•,^zé× 1¯-’Šƒ[[Óšp¡ãï Tbà©]D»z5ò¹¨Z|J˜ƒ-rOŸÝô2£4V×–7ñ†øúP HÝåëD4‰ÝGðg$Ñ8“`.";â@Õ Ð Ö¶ÞJ@ÆŠ“Ö±ŸÑ1(œ?6⻬6R{%þ†Cš§¦#GÜoÊ꼇é {§ÊƦ·&q_×ŠÂø3W9Ñg ™amî–! úÛü_™<Ä(@Xe"iv~Áj$µÖa̧ áÐMÛxn‹«½ò´Aw0£ »·+Êø{„k2ÕFÒ¶Veµ6ÁÔã=óÿm˜¡ðÑÞ4©Bÿ#¿¾ä ¡(å¦íÿú/D×ïÖžqà(ÅXw²fÓm ñ 7…²BÒëØÕ–¿ïòáT€¡" ^7©Ð}Šm.žgíÍq ÷{Œ6&h†úúIµŒ”Î-Ì”ÖZÿê8ŽæÚRqЩAëÅ ®n°¨f8n{³ŽKƒäá@­[¾Î‡‚T}–Џ½_âÉ=øtÊ4n¥^>F– ÷¨›Qc”{tØM]Ÿåèp0¡ƒ¸^ÃËpÞ‹‰èR¹ëÎCº‰1ëu(¼N®‡¯-_'wþY˜‰JéÜĉÛ¥—m²A )§‰q?u¢g˜q°ù}×ýåÑ’æ›}3ÜÄ ðZ´ù©¹fïþ`Na¿×fIIRj,h­®¦;ÄgâqŽsQþœV^j–BÛˤ*ßðU9`U+ܧiGµ‘ V3ÁZáøF’É$5¢0›érx#È©OµÜeÄè™[‘è€($μo›H6ÙUßH8óáŸYÕìÓ‹#Ê̵­1„…½|oóÊ,?Îù³»øãK~MK¹üªzÙ.ˆªfŸRðBs­0½]„ø±Côú"·MY¨º“ÎèÖóêüs½ÊÆü“.÷4„}…à¢X9_pH_¾¢ÍDmØ[ëîZX¬{‡®;räèò¥ýLv dŽžžh(ºPJÐŽ¦æÄ¦®}«Ž7‘§&>æý  Qì%™_9 ÏRRG‹¹Ç½bˆ½®À~véÁ{]°Ú ÐÙ¿ªÔ㨵ǸÃfˆÿš§‚’|?'é|CÌðž.ª} "Þ7:z÷xð½gÿx]RÜ-qdk¿3¸ Y°-ÿY<+꫱¿•Y~Â]~Óêè"묓÷ÄícåhW–{Q[ÊS(tÆô{êôÿ“8¼jbïZ#sCd] ¿?ÀÈn9.iË”Ÿ&–é$6¤öw&®;0d ·ä7•d÷£H|‘,öÌôÄ6_©ã‡M2 ¿:¨õ± ³2yAñGÐz ß¨ZÏ“ {¥É¼s¼/.±,Ö²€µÄjçYëkÔX‚Ü‹+žþc~ïU(oõ.ü UÏ ñÅù·DPÌeþ(ù2‰ 9õŸN('±ò§ä¹§fµàqô\`@0Ø®Q–Ñr&º6Ž=γ.Q-Üþxm 6:|.óB "_ô$1Yègøx 1pˆ³ÒÖ+„zmH:äˆÅE‘`ÝïYø•¸:´ãŠbn¯l ß«HÆöQù?A;ÉØã¹Ìùy’JÓqÀ˜Úän­N ì{@û8JÁQŸg{jícÞšóìáÉGká IÖëâÝ®(¶oBÀª1¼†¯Yhع\èêL©Ë ‰OXå(û¯âiÄæ¾é+n2ômBêÛÛ-ëß[yt®“â¦ï8p˜iÿ×û—£ëåPد`@XKÛz¸5àxP8{ Ü“Ña ÂI Œá䇳‹^^îP±Û0«–W®Þ¤}å%´'ñG ˆ:?œ~vË1@Óœ¸š!(±1jÚ?²7QdmtE–@Õ@‚íM”ºø¦öœ¤ìÄÌÕa¯X…”A˜ô¨dO&iÅ.Ñ’‚cQUÙPÓ¿0‚f1½"3úÒZ—5¸]OhäÆšýAÁÖ¤ÊæP&:U»È Dëp-ScÍ:òúžwe3㎓D‘‹²ðâžÇXSgúUŒ­¸ %/f µä@½´]÷ŽÁ@µƒ+ ¥ª·‰Ú xׯLñÍ­ÔTUñÔ½]€‰­ðÄüó³{œäe±»€”sKùQÄ´›ö„Á6ˆzD]øë$—D=\»µÕefS4øN4Œ‚)¯ò—ð“ÊÆ§mFô£‘©jÁ{Ø,îŒ Šxb‡NI;,éVbÌûab—®—{ëbœÏÛYëàÉÔB2ZqÔˆ¤ví§ü.^n¶°Sû‰gßíÔ­´®åï@›§R-ü¢5À\c&;†÷f £™|å±5« §d’‡pá;‘¥ö FUWrM!c鯭ïÔÁ—3U%5¾pì;¦§ï­,YKhhìiáO9ß*™~®#î¶øœ§zW NÀQ×ì¾_u‘—«š z­F³èj8Ÿ¯û¥h׳\g_Ÿ8ë—ò^‘Ãt ‹©9[¬5µpÛ´p tÓðk­ù%Œ©}©8À¦?ß²šPøéF¦C†@”NF6ô{¹Gz‰£–x;WõΡ~I7´Š$ ÏýÁÒç ×Ü‚j¾C–²#W ^_n£\ÞÚ©<ñ*׳±:äBH]y „ =Ô8ÞíçiÞ»žØÁw±†—à NèØfwÊAû£†¤U,*Ö7äåÔ kœMØ?– ’¦X(©5ÁìªjÕýÚQšAŠìH°F"Ì3ky*V´ˆd%Ká¯r>ú—Tå©W ãýÍíf…u¢|§^µÔM”i-~`|º [ùGo穼§ïWœÄŽIÁËVÅÖ™@[îí$Ó ò\µn—„1Ù\ÿAœ5K†ðƒ+»äîq)=j¶Ü¼uÜôç- ‡’rÔ€©›§ÏØ­8n2ÉÉ:ÁW­—ˆY'¨FOæ†N«~ÉÁ >O+Ù©]îÑÄ¡I,<†gl|8 åþ¨‚hÑf–6â?ÅRõ 9W¾&ðƒ²3XD˜q¦Â8‘5ïZd{5ÔϲÓUÏÀËw¡K´Y§8Š96º_C-Ù5¾Wj2Óåxk"«ë;º½ [‡ÜlíÍMªÐwû;([R¢eÚ ¢³÷ #N§Î( cïQË’Ÿ•>»=¥#ÞkÂHá0ÏZg1× Dùñ«qàM1§  *¨ÒXe]€:–¢·{=ó°¤D‰8çX 3ôËhøýQù‹‘L-É—Jž©¨{¤PåÕ6~’ÊßEíFjèsk'ŽÕ9®À)õ ° ºÅé“Ô›Y‰?Ö݆H¼¸ûé4ïjûôb-åôë¼Äj(‚Y±ˆöçy ^ÞÈÛK‚06{4?Îë7›…n~ÜóXÚ]îå}QÄ4“‘ƒƒeàjdÌ'*¬ô®vÖ€³t ܇õó’K°ìæðÑ!4ÖÂï ÔX^¶­nŽiú´S˜#†ó½Ê/¸÷,$w™d¡›øI¯­„š}B†Û(“ÏáˆBÿB£«ôYÏ&±–ƒmÍ8}ût¯ØŸo5þ}ëì]Ê÷ïÛx£ƒ&~gßÞ¸ züþÆXÞXCûVZ)_' óQK™oÖÔÝ -"õ2ß«i·‚lq^}¼ü¢KÞ:ñú#’F][0ëxLLÍD½ 6÷N‰<…aqf¥«tù›6“$XðBœ5«œk²eÁ°FÜg¡^Èê6jY5‚‡Ýt@K%K€ÍÉpÀ¢ŸG^“3íæ™¯E´@îËEÉ=ù©Âm+_ÓywªÎÀŸ Ãp±³Í¸j¼Ì§Dã9 _œ€ïsG5Î’¯k{´†°ÜLŒBL,väâé“òšßkÏ@Æ >'u°KZ(=C²‚0Ά€v«½á#&¤Y<[¬Ý=[ ɾ±‰²À•õùôÊKGÃËs³ÇñN.GB‘ Fx‚Ö/+¸E­Ôm€-P#ü!X¥À)(™ñûú«\ø#ặµš@yôB÷1Óúømqƒ5**;X‡VØeíðY-aA«V_ß“/èþΤ3€Ã°þ!e-¤“9·J·AZ²{ö¢¤éé"S÷ë±H‡AÕtŠifpë—Bz œŽk<˜‡ÅÜßÈñÿȼ‡œVãL¨›p'yϹIéÖyfïfÇéBª@bõ#1Η±ü¦-úiK|º×qŒÆžß²®S@¹+Ä4_å´]Ò\RÓù¼m¯Â!û¿Ê°Ð–—=ܽoXýãz/ÆÏ›qy³ðãïšB'(A­<4¹˜c–Ä0Th8U}â?%^2¸Ìq°ç žÅÔ¦”;|Êî˜s„éZWxÀ"}ÀkUû±T¯õ$°_}9ÒA°ì'+ÖÙº–±*–B˜˜àeCÒÂùZ¼* éò ¯Š‘ ãvôRX|dšáUar”î¬-¤ ˆózû¾mÍ‚/éõïMW:5£i£A« xs`Ùœ1¤ÊvoåRСϵ¦½]?Ò¤ôŽé׳^qäkZõõ¨$Ú½Áß\XÝ+· ò9éˆlNÃÊoSýJØÎkOõ‘æ>¼ÿ˜JDVžGQY ÐHQ86ßö¶E‡áKF‰¯ŽíCOa@/éWWêªOšï`#ðXL¡Gð"Y’,ó» ‘Á'ºGŒy‚ §ÛVMz€À×ÖŽHŒÿ=Ð߸CÄÃNKBñ·;¾NϦèÿôCŠ‘-©ù”ºælÏ]Úƒ,{’ì H4ÛÄ]}xÓt|X½Kè†TÎZÈ,Ü¢å»b 2¿ ІYv vº ahëŠh}Pþ¥*’¦Ê\šöí‡ñûð’Ä‘õÈ ÎŒÄs.¹šÆ„-ƒ]«Ù›÷¨|L`5?Àd‰eïýL§°þQÃÀI¹GIuO#ˆЩ‡&¨²N.šÛþù"Å…ng[ Åió¬  ]¬h¦YóH¸¬sSGôΪbïhAï¯C·Ë"~uY”ºÆ!ׯ‹ÖžûÃ5ÎpÅnnÏóV|ä[åÓöÓàM{Ú§zÑ éh—´Ö”†¢Ã!ýÌHò=‡’w¯ž-W+fø rMH>òí¯]ۨƙo„Ìñ8ù;zØú(²×qcAWa˜Njª3UŽ˜Q°!B„-òÔÆ[4&#ZS´9LÔ…œ¥ê29C´¬PÏ'|ÊÐ`.,® K_™ÉÍëa>¢4pŒ¬^=^XÃý¦ÕÇk|àÝâi›½2é×3$Tuq\£Ð ‹ þº[pØA@Á7@FÏæe&âË˦5jKð—¤îØGÔdî{]ÿ`(2¹oá7“úhnÿÿÒÌà°º,(-¶FE ¥ãVèãá*ß@\<¿“9dù¼òC”±}åÒ¹n‘¨ÒTW\¾ìœûÄL¦}‡º}ö§¡·Þ3(‹à8FåžK^+*Y7ëìšiy¶!Ÿm¨Uã1EÄW,gኧº5æ—6…Ðê‰äBfÊqÕkIwÔÁ¯dê;/MÏ ÍÛ|µ> ן#\ŒMÁáÓÅí†ÈñuÍŸódôפ”L‡ýí—oi”ÜJârògï18„ðdl‚pÀ–›Ø…¡¬YáË*¶Ê­ºr—h–ˆfe3bFTùåI߇xOv ˆk34¯$«ñNÌJ(Ë„ùxV a«¬öàuÆt®¹ÃËôªâl]Œa°T~8« “‰œ«È·¢E1g˜›ŠWRR4ëb Dt¿ .î¿ÈØ?Ö§l¦.·Ž+¬úãáýP”÷ƒ•ANeT ñE¬W§$ù^¬ù $¦J*&"™ßýù÷9ÃÓƒ“cR£üF~Œob£³“!œÇ@<åçÆÄGhÀâ»ëçÉq2¹R˜¯‘ˆžÞE ÷‡‡¬Š¾1)(XLaPMȳ_ñ’ÅQã$‘é`#ó¿8³çôÇu1/ R¼Øßü̹‹ÃÏV·ƒÉMÕPRꊱX]:‚!é‰‰í ©g~2Ô\öI^ 7;³ ¯nÌÇT“Êé§ý7‰Ð¨Š^jMË:JÓºå™z©ƒEm;2dº'ÇskÛH"‡E~ãUjÃÜ ÈõŠüŠ›»_mž¡Wjß1°5;”?«6;ÕÏe4o†“}’ ³ñtlEÃ]bPëÿ&â Bé_5m¡€ñƒ0øv©ç„¡e€–öL Ÿ aÔA1žuã}GÈocâÆFï¼_xzáO^‚`©ïªdàìwNò8/°'[«Òkí:¥£¡´¯ø+¥fôf`µl,WÎG¸÷0¹WL°@^&N+LÓòÿØ++ó™ÛÔ¨M蜡 ^e—³GùF ·qÄ‹þ“&ø@®xfƒìCªg#q±)>ÙKÞ¢ëäüý[ãìÁ O;PKáüf(.EÀ‰Ë/[¼î«yÀ…÷wŽ@¨ ðjIü¸ƒ×1+ÁˆjeÄ€B"ŸIjL úØ*yÏí³b' g̨Û Œ^„£?w b¨ji· ’x-Ôî DnµI&œ"_ºN;‚Ý[SR5qQôvÿLþIòy>X§d·B&zëž4î{¸ùË›m|—6Y…ÈÔ%±]]lEŒ{ÉîV[#-ç·<ìÎ_®Ø—íÂá ¨!¡›l¤÷Kù…‡®4ëj0wâ5Oí—%×Gþ O²kÏ’ùÑç2’ÝŽdøWô O‚û÷ÑóŒVãÖ¾(6ä#ÚPÜ?Àò%Øß¸ 6„î#'ÅËRÏáò>´b³ÍÌ.ç3Ož\LÖÆ0gJQÏf¼0þ+«#ú–ì ÝÊšSuïm!óÓ‡`Ú1öس£¼8gZìu¥SU±i Ð)'#ô\øQ’F`7´䛺筅qVˆý a›P]€¾B6„š`žÆý,«u ¼§ŽmLXaT„ÑÕ‘8ýù”7u@A–_Þa¢ [ÏGp±‚Ò++Ú\[톛_Š,)†,—Ç|ԶЬu ·…S7³QÒÓtÇ×<ïHK@_s3‚Ô°¶Vî=:|… Oí‚Cªõb÷’Ä›h—~é”òìέWE¿vØ}êÀî|Ì픽Vó3ÕŸPUvæ…‰;?»!Ë®ù±å…§sO ®ÀÒÙîpcÜeæŽ «µ—ÓdS–?¾é:¼°Ü¹ñæY.Áµœ,€èïŸÑ€(ãYÕäÙ¤GØh¢Â'•y{Á“YØwüsl¬vMó.Ås§ÄíéHøšRJ›`çBJ€tâIñ¥±‡P:?ïbî ×’0T­ó¦9–ÜÍ~µ$·Œ^¼¼®òo:ô@lyþªÃå—BÑ lBôD4™æ¾œ´qrcRCdOœsù\k†Ê Ñj˜0ÄVÎd¼à£Z]×'•¯ÕUõŸ\¡æNlЃ›ã µ—‘7 ÆL¦]5\+hy¥ŠñK6—gùÈ¢–×hAõ"£ò¬Ó¾­vË9¨¨+1¾Äûµ¦ÃJf^0©H–ªI_ñ´·£Ýø¦Ús¢žFŠb}ÐÐ@¹sÓG>Dkðv¹EU]èš×ð¬“ó_øŸÍ"DllvÔ¤6² µ8®¼Äü¤eP÷3(õµ¾¨ÈIü.Ì)`•i%¸­éC´a­|E‘PÙ럓¨0Ô{GkS2út¿ÙøpX?£¢dÏ5PnOI<Ö~T—bîþ§r‚ceQM–>ÕYm\@ké«á2a¢çÝcP1¨6ôЫ™FÈFT£ž'£• QQtÌÓ"ê?ð¦Ë1§°ø®Ìlɼôx¡ûB*ç¯ɸžÞŸ˜Æpû©}z¯ÖbšJé  =á[1ÃH0¬yŽÚºÞ¾%O—Σ*CTC´@¤ëevi-) BƒÈÚÀ¯Ÿ¤re¸›Ù:‰,N쯀‚©HH4 ZóµLisCÏ&*=ýFr¿ûÐ0r#VàO@™¡J¡glt޾è•5€SÒFï$²BÅíwg¦‘áA´·0Zõc|"„÷Îø‡™H@°\K{ñ0sk»÷"ãä&–MqÜvj© Þ÷ιØ÷Ì™Ökm, M–ÍÍî+yY2íT-þ9–~*Ι¿F¼X³(áóéq€ùèÁùK{õ*ƒë¯}N=ì°Ä«Yö5‚^ï+ûsŰ’5˜«¤õÇ ÏeM2 ¦m»=Ê4”ݶޙŒYˆÓ·À×¾ ÙÙ˜Rñ’ 7à)qÓÿ^€–ŸîÃ[^–Ù({ªÁ¹c.Z6ëuPB¡DÓKŘ(Ôcר°ë<¢–úìVAJlÀ‚eI&þêJ(ÅmÛHŠ)hû„ûÐGÃf¦C <”ø Â%0Ó ã”½Zí ETǥȞÿÄÓ³‘VêÚ¾8 "·Ÿ ³+Í&,E2–Ú²£ˆ¯£à'4…‹ ”_jT’4´¼ŸÂÃZ†ËrC(Ck ÙAÿC~ÐêÓôQü%<“ѬàxÚa+ŠðMßOâIœ)$ó‚w‚Kž uß=`s7.ϕ͕r®pûåò<À)Ëd²R(…õŸÒ¤¦Œ®„§=Û~]8ùÛå$q[Â,Jöó‰¾ÑuÈ)dŽ‚ê-]4•ÁKTöD³p6Uü¬ðEnq¸öYNþ½m[ÌQb¼eê÷LG©vÓÍÊPzZø€—é’¢fŽW-„<ÎÄ@Z´Ûˤ¶&2C¡ ñÇ •wªxK¼.;'Utm¹ºt_²/³#Ú*÷gµq/”$©¸Ÿ§FÈPLß?mjË]ßñ­v$°S¢ó¯ŠnÃoeÓû/¥ŒIŒ ÎôÓFÍcÓDïE%Îò#=+ûE%B<\;¾VÕ{:wÂZüͳƒsŠÃfŠPŽPØ8â~™ó“T!zqŒ½X ¨ w ·ÌÒ¹&Sâ#ÿd¢ëíÞ1À;0LyŒÛ8qýŸ:½à—.)çEà“þäýVpl’®S¯ŸUTÙD¥>Þ\X=5|³ R…?7JË~>¼nT³·¸ÄË—*)·®x‡ÚÑùÝڽȸݾìG…"©ñœöJv–MW’œXHêrOÇbÊIª&ðÃ#dó àHKÇ9 ä6\£cÌØGÈ…”°œŠ\ææ[){þµ.• lE£fhPáqªì¨\wŽ R!ÿ1¡[4Á…‚ÖU\‰÷Ì_[ã;Ž΢T)ÿGÎügëÂúCÔ3Br·`d1%­&F6{{ø3Ü÷­5Œ‹£Ï:ˆ7Y#Ð]³™Äd–ù¬‚-OÞˆ‚ofðÈÅG{éjÏí”Ýþê‘r·e‡É€éø¨ #†îƒA_Œïz~‚†Ð1„‡çŠà^8']'®³dó ÕÆÅˆ6¹"¦Nø]”QCâg®€m«¡¯ûXj 2?%Ç?¨õ±®¸%ó:•Ù‘”Ò÷…¤¬¡Œ³/Á×Ï8y1v?ãM uCè n¦ É5ÞùPÀ‹öF¥Â]uaZDrbùÜ–¤•r¡ªã«ø‚©é@ª3°m&*Rm“Ѓ´û‡º^ùé²yDäŠ҆R1s=ÄÛ`Ù £ëáøCSv‹§eWæz^ôï,[ô6æGø¢´»Ì`qÁžþÉG`zâÄ!< ´çõ¬Tâe™a7Ký†»É¥4×2æå÷L$*†=ø„íŸ\FFÛþ.õKDÝU7/G,ä…D“~²˜˜ÊÐM>q‹Ïð?.Ò@42Éhºh°/·Ë«a%¹1œSvލ:9ßLŇ}E†5aR³vÝKû®"Úæ« ±ÄÁž1 ohký©'ZÄüúWô®Tlýlª]4Kʆk‹2ssz]áçµ®\ØVšmú`c‰¨þc!Ü—31‘l(A«c#3¹\Ò=yp¢†ù)xLÀQÞ½û8é.†Œýv+1é¸Ö·o"ÎvÓp+™,Xey ¢Ô~T!''ÄG®x}‘²"ãlyŠrÈ®è†eS%ÖŸ@"_‰è•†§®‹ß¥>ËEé˾§]’´…….õ@&X¬#§c o|¡èGǺd#U|bl¦Í;Í:øT`rì“ÅÁùd4…€¨w7e?‰ ñ—êòhÊ×òj‹: nuO ªx®¶< jï´L/1 ¥ÛÂ9ÅZ3ÄpÑ]?ß>rZ‡ Ê{—¸ïÍŒ,iNÞØvìÇÞ7Xž°ÊÑ‹ÞÐÑ(Ù¾,¿ ‘HRa¼B˽€Ã/Túrñy*¸;h­à>j·˜ˆµ_ Þìdòä?hסGÀËÀ§~ð¥ÓS¥í¨Þ€Ø$<|ñÜ›üM6hå¡PÙhø*÷ãanÄWuëY‘Ÿ‹¢ÅL ²ÙVÂÃ-³ ¯vG?–6ˆè³WE4a˿٧îUÕ7Ú”)Eߣ’;:Íe¼u Ò?¨]Nóšrà‚qç pJ¼”§pÌßg€f2FµÈóÓî.Ua“îü÷:qV Y 턈dNÙ~ú"gÁ¯Üþšög75!²èBUƛĜ!eÝrF5t—ö<Þë² œÞw‡Ûïfð‘À%õ†a°û)Mûa;Vlïš ºBl¡ôþ¸¼/hŸßú42½á6q‘ÎV ýÝ †¥!ØÜš1³€ð§ Å1I(:Yg‡äîOÖ£C` ÿ@/S·²@$²d²)r«Ý"V“h _>*2=Ñ”2Ú* QÁ±½xot(´7H$÷ïQ!Èöô'[q°›<Ì sT.´|à ³•N{ÆM`æÙ]àÅLò‚DtjÎùºŒî–°°p¨‹ª:œ óåÐÆá½å‡šäìÁ)yYW»„j´’¶øò1ûAÏ—1€ÉÍ¡2ú3Ø4òHÙ÷8:+û>*¾rß”#Hj@.>™ ºÓü9ß8ê82úNæ@²Ý¾Ð AˆLq„‘½nÐÎ1娬‘˜“èJÒ×v'öЃüš4Ðmw¡j IP_aaW·×]U¢-°ÆÎ:\,1cêô(…`5@‰09ÑÎÏq_y8®уÎâÄBÏž¢éÒûohPáŠÏôÊÝÙFŒxE)'òsŠë Î »TÖÑ k–Y€Qœòw"w¸Æ oƒÿU:”Zê'€3–ÿÿ¡â>þeyr‡K€Éö´÷( ² ˕ㄢŎÿòL¿6'@ iò;!¶»éP ¡ãr –畎倻k©Ðs»Ó)Y„%"V èLûTdº òÐ…=]Å>j7^Î-ïý{ÐË 29Ïë‡TbSF¸·z‹3³I+Í:Sr$¾Í)ç ?ÙŽ»8Lw…‰°Æ5mQ›KQs$o^˲÷ÃJY0Kª‘}â®›óÐ'o/ïmŠ[f#žð^žb¬§°Òýo˜¯Ô¿Ìi‡‘Þ_À‘U Iá’ˆæÌ?EC ’¯H36cé°ãË$·urª~qŽÑþ»" •±ïþÀF· Äð…h%š1ýLþHX÷Xÿ¯§üo©q˜ÕûZÄ þ‚:Aø?‘7÷i¥–$Zn!@_ÇœÕ<:dë ZZuJ ¯„^ý´ËΧþHRŽ£ :²ƧE³È'Q‡Qæ"¥Ng‹DÝ”F¥«[X ÌœòŽˆ©$¤ØÝ³U^ÿû´g•Èõ½8—˜ÈzCµ œd›1þÃ?d”xâRF¼ÇDªG8 ¦i;ÖQ²¹œšµŒ¤y‡!‰ é*<ês%¤î“äÐiž¾‚"j—£r: ÑÞôÂ~ýæõB§å¼[ILqÖ ®|1~3ÕþΑv_Ùí½QÅ Ã9Å4@ ª½> p;rºäžð5|]¼ =Ú¸^ÝܳÏÕ~¬ò¡E¸gáÐ[îTó,¿–ÅS ÍP„åSð ò$`pWçù¨KŠuïf`¤î•ÒqšEsbç)EëûFÝØ3—jˆ˜"Œ—³YG{¦˜‰ºD÷ß™à_‚0 U´‰,%Û½’ô5C²ÀlyñÝ8éíåOÕ¡ÀN˜ÐHˆ5i^EÜý¬¶ÂL>ÉSxŠx§? |C“³Èd~Ê îH”ŒšƒëfT œåDtg;¼µPQwêAŒÿš5ñ{Ét61&l>(A Ù°á§ýÓ¶n+›{ßC+jeäODk|7Ž<]_ž&†(ÌŸ/ƒØÊaDCÊ”Ì eoÈÌgà¼%àA3f• ¤˜mEVxçŸd¾ õŒò:Ä‚+Hµß©[LJç"úð-×î6Å~[Ó;9ip"=Ú³‡Õ*d.e”R©œ-áN=ÚÑvËï]Ïû\‘7F%ætR‰0Ã?¸u+££@$'/ÆÇ¸dêmµp¶žÏ§½O*Ͻ 3eÔ#‡º¡¾UYê€Qƒ±”Ñÿ|Í7î’6_ÝŽ[n8ƪ"7vÒ;ìTÂEqŠ[ºÚ•ä¼á Á2Rášê£JR+þö×z9n¼ÃŽÉ¤ò¼ ìDŽ@¯† cï‘\MIÝë…¶×ÄeAZ # 0œ+hŸàùø¤RÓ0’bíj ú©B€U¬×Eâ)VùìVA”ŽiGÇ46½`iÜŸjäý­áÕ„Ä”ˆsO"˜³Þ߯»çÿ€\ÊìׄüKàþ+ëhÃ@ò4mYÃÑ‘&ONb¡²ÍSÄ~©:ÚñwDâ÷+,–\fï˜fÁ¿*c›RjÚ J½HÙ ‘»eðpO^@cÚ^#ƒHª/t%µ·Õ¡¬h ë!LG¾µ[}§5-ø@–¥¦6ÔFë×3·õH ”‰Týaý~•&É„ÿ¿B˜!)÷ÿ¿!š”ÝŠM»ÀžÓ)"Ï„~Šo v²aNÉ)¥ë2üáß¹(.MBž©cíîïÂ{çÝ@‘t cfcd:ð8T½Y&ƒÉÒ.î§ð–ç‡ €+OÝÒ8²åŸ@ùõx>0í`D¯ðè¹Ê¶†\“×4Ò Â ê¡V@Nd-c8!™"½Tˆx?´LŸA“Œ @†“ ‹« ’;M²’ý¸ÑðÌóš>J©“Väõ•Kÿ[:6›S6¶ýÛ£%¹:qü½rs,pëÝéáè/;YÜš¯“ƒ{@ñie¿P¡ÿj•©“uõµ³Uža¬ÄGð)=X…F¾·J ",b5ÀM×%Í»-i?³º‡‡[Mö ; š[)‚wzA.å9@HÿzI`˜Y¡"ž„³ŸëB£¬¶@\#{^¹¬šÕ`a𽩀pªj½0à%61¸x•Ëž8ù‚uÅ å),‹ú°ŽFŠ'2òü¬žU•OI½ÓÞS¿h§“"ÜÅÚn…–—ÿbšæÒôùÍU·ïó=ÜR4‘€YŸÐÅ6R{®GA]IT‘&”«aQ(_ý×õW_³g%é»9P[ÛTéH—„´}¿q.“÷½":®—¶u6l –KÀ¾lÈÌŠáéòí¸Ããøö-ÄUŸŽ±ë1¿u‡Pj;$vÊ:¾“u´' ѱ³ÓìÂU…1~•Ûû•å øÇJˆ685‘u9ß¼RXž`*‰Cœ k“2`s+Ìq¦ãkTXã‚€kµÛVuÒX—ûÈÛœ.šOÿ¥Ï9·TýðYM^G£Z/»a§eQdû¶k|Š3öâ|Sݯ¼¥§Ÿ\™ÅpT¨BTѺǯÀÑä·úBg 7o.Ù”¢¿8¥.7R¤Žõm¿w‡ôq5ìì‘æšÝÈÁ^*ÀØ©µ¼<ôÝ}Î~òÇV¯HÕý>ðL¢ïÑ|GhÙèáAÖ3©2ùC'÷±°|$Dß,ØÅøvgÓ;=‰c©äз˜ r º¯M†ÈÛ2³™¿7x1î9ÍÍ­Èt£§pÚx²rkm7Q ²l4¾9¿I’ª°¥ôs. —>Wä¬?ã†ÚæI  ù†mH®Úz ?¸Ô|õµ_äE\À»]ˆÞtîcdõÁqa:Ïî0Ôq¼¾IÁøû:‚Ç{+*Èqú€C‹7wGˆ† ¹†£H‹–ÝÏ®«ŠKX·F'xcÂï ‘ÿ§e´sC‡ÛÅ ÎYyÛ$^j=äÖ½r hœ…úÁi€Ñ4¨¿\M±*tÿB˜AŽ+—ú¨R‡ (tÉÔ|éÅ\Ω_‚%/³â¼´ HE컽¢ãðƒ%¬@²ÿOc/\‚”3ƒ:ÙÀ¯“_„Ì:F´°*ÐfF=1u8,ùÕö—r¶¡äLjšÎ¥8‰ÔÓ47v™÷›¬Ÿ: [ö9ùT]N§MCPX'÷ä ]z·<´.+¿ƒ!¬°Ҍ㳿kXì±0‰ ðí=‰‡>Sˆk½ ÏÓs3ä1ÂÿÙ¸¯²}^C3›ÉŒëŒó£kHÚX»‹@:~øÖðÆ¿‘yˆ6w&à«0TŽä±R:̘Ÿ1‹å¸­z¢È ÑÛW0_H{.“»=7Mmî;Tþ¶ä˜à€')IÛ‘azZz _ÄbÆô#/{6¨o·QžG¶ëê6) w0® {ÕÜnä˜*AD”ìûz>¡Ú“ãžËrѸ¸Xí Ku2,$ÃäãѸóðÇ9¯qÊ©B"V À¥A'6Ôï•Ȳú« àÞ* Ÿ¹£áÖ,0lüQÄÚq¨^ù2w1ðéuS?Ïþ¸¶Ñ /­*AÜ-[ÕÃòÅzSb<¥7cÔ¯ìVœ •}¼Þ™þú䨡ôŒXž'·î±…·-ôï÷»LEU÷ÎýÝ 4p ‰Šð¦r§CÛN„)Úš¦»ûm[äcTGSÜŒŽe1¹Ö¡Ñ"€Y ÐÝ“N¡#‘hìT†ñ7$¬¼»{ÅèyíS-ô½¡‘>ÃóÐv}.%79 æ·gDZK¾+e “8¤´Ä“c‘Í.DÉÖ§fƒCjSïÚ|U/¯þ^—4ÎÍ8d…-Óµ?+æ¥Õ8lR.Ò#XϰçíZð@Ã7Þ‰ÑOÔî¿{ "œnÔy!ÞÏF2áÌQ‰¥á¬Ë™IùÑSËY€?|bÛÿg ­…‡8©œIÉØß;kãK’µÃ l^¤ûï¯=P’vƒ©‹ð¬$±5½uº¤‹öK)Ø[uydhÝiܰ²èð1øp‚^=˜îä¦ßV!ëdßh2w³0Í0BÑßW#»Æ°éðgd¶N˜½V‹¡tņ!М7Å”Õ>†îà Œ®#êùAö¢¸ª†VZ2ƾ €õu[¡,ôO1Ê·"­NÄùå5Wìy>úÑý^Ûy;Öi•Ž0[«ÛDf5³‹™ÉŽY•ð¡‰á¾ž!D þᱬ„V+HÏU[õó’y,›BQ(ž´ÉE,¼ÔшSZ:€;ô‡}E å¦Öndé×óÄ1Ð ‚,ÆçÇs‘‡k›(æ&»ãµ,ç²ã›çgõ2Ø×ù>©|蘠xÀ ð:¥:lz¼4UèèLùC’;œù6,Ú\•bi X°jV‚"<ס;Ë’ÅÓÚ7"ó/ªØB{ˆñjh±á+A®>º-Ö›°añ–g~¥£ÆÙ*{Þ]PfoÔ›{»@xx×»Ì/úCK Y\û_Üòç¿1e­_T0j¦ÛŸU¹&ãVù…c¦QÒʤøÝɼ™²çyªS­DîÇñÀE¹¸=ìG¢û¨=( Ã#¨aÍv3`ÐUÚUŒ>£UÓ¡jR“ƒÐ©/¶ÓE9;ÂZÖ­­ìÉçHþDT&Ky$˜Þ§ñƒ¨;Ârç%ô;Æ[-3H‰:C·n*g築Ëîìâórš'ÊîªçŒˆÜByþÑI6fïÞúQî»ñ¸ ±_7ÚÓèwhE^ ƒpJÑ/Ð{>Ü"6 u¶Xu8³øˆfäDOÓt>(:›Ðlû|qzC¹` …µtú5™w½™Š8Æo‰¢åðsv’±7)·ýߕҧeoòuýlD93 ©¾Ï{òqÐÜxÒ“ª ÑØ!Û¸„^>íF†¹ª®³ÁÊg†`äø…m}à->ÁWxcß»Ç*„,8€¹%]0¹h×Ëáž„_ °lW/[4sê.ydñ9gì$¶C†#¤§ëÆS¹ëßÍ<10_Ìw@’ÇH…%ä"DðS?G= Š9½¡ò‰yítØ®,ÎT:Š£J¯#‡Q±·ÕfÌ‹ÿ‚°åïØÐ½˜ƒn«|óÞ¼~Åxo,d†Õ"%¨ízUR×ï«h¬ì­sp“­Æ-~ ´M˜398U.hVÊà?¿‘.¥·ÁlxŦ „¶Aµ£z§§±äå\æ.W~äjƒœ§×ìFÁ>BOzKXlq Eaí_?>‰X‘É) ‹Úí¥Ù†ÚZƒÎå9µ½µú@Ô†à¦\W>ž§p}ÎéÃV¶]—Ÿ6 …Šð•ëh•VMry«'rÒ}z«>¥HÌ6„×òÊ¥œôª?0ÄeÅù­‰)àG#tÛ!@M ªër_öíÏ›{4֨Ҽ㼹÷·ðÁ-Ÿ`ú±y&ùU¼P›Û½©Ûó¿†ht]D¥7gBvˆD;@7üiÕ6E«éO›U˜wQèt2ó$°„íoà}Òg›ƒ`ŒõiØ*µ¸*P~¯Ø|êþ†“¾1ˆ£ Snrí<îƒÌ”Lz•pÏYÜ Õ$Ö\‘kY.ü’%°µ÷ÿ}pÕ:¿ÜÐ…ý¿«‘†87™•aDêin<'ªÍ\ÆÐê=…¤FEs®9²¶ºQ’ºD¥~°¡w¬ð#þ8Ì:¯»Î5¢P•å§-‡¨;¨·`g7”µ6_Øn”4ˆÐÁq..ßšRŠ^䤦 ¹b0MÔ71Áå_ôbB·sƒ•¥!íÅÎkc6ó/wÌ  y%N“6!ÿ·ù{þ¹šºþêÌ‹“õ™‚œÞ¬Ð%'Ñ <ĵ¥ËÐy5ã‹ò%f™0Y…Bôëø¬ûÀ+ηçNÔâw ™²Ç/Í¥-Étzýà6g7êa©à—¶ÍtùPx³à ZºTórIr©õð†!$xÉ­*ò‹uhë_bX Hý,«Cjºo'°SÒ'vz¹ŸÜ﹈nÃ=q¼Œµä5&ŽÀŽü1r¶Á*Bîýáðú©Ï|´”6œv—#šÅN° æ¤wõ*_­ÃUëVǼ$ÛÐWÇ«l&¼§À1A>+6<ã„CßY›cyò$ù’<£ì‡Æ‚!o½ezÌè"Ðm›"HPëS<™^÷œ# T調rTnÀ€.—üÒø DóL'²¤nBN†Ì'¥nþ$¦WV´ÒÊ̾áñ­¶å"Aj3=ø’×å1€kãpÓ|µæ^}è%Àùˆ¶¥Ù8s —äp™yÙKVBæi†ø.úíë⑞ʦÐJ»§…ÂWŸtãÞŸ ÷Ùåà9¡q!ÛùôýIèW‚t†îñzÙ;‹šKp+bÍ%&÷÷¨ÜHJñV…M…ýÏÐ!~ö’)f6Y|bKuX¥à¢˜Â 6Íð™þÜNëC¬•2®ðj ‚häQ{Í›=Ò˜œDu±µ®è¨þ™îï…%–ÈîwH@àúˆÉÊñÚJ F„™ùC |=ÑÜè›(ôAž8‹¤ð+šÀÈF‘™°Röz~ß϶°Í”?`7P#&¬!ŽÞ¾ß»WÇxZyó<%TQi!ÛÔôòœ0À1!Ä# Ìr‰6\Sy7—éQN¤)-Žúw£Qé¦Lœ¾mÞÄdz³†ZÒDF˜95v_bß.e‚ol`«nâ&ðõ±v¤œ H'\¾©Vü6‚†×8`p(ø§Ïn¢6¬•ÿ„äf}üøY㜖´QüQò†ç ´Ni†ÄMÿ¢él‘½سÇý˜“oË9#$Ó¾A€…*iwÚ"¢ÚˆY\¤ôEÌH3¨‡=ºûÔ·Í~ ”R·²Òì=øÕªƒ÷[<Ø.ÀèÖd)?(¿3‡Uއ÷ jâJp®ý»´¶؇˗ŽÿŠ_QuW¹b\ª²ä'—jµTn×0`ÎêjÉí'JÏ¥"8ŠˆVþ_6pÿ†œD°ÐòX¤QßZ30ÂÖsD»÷/šæav„œþC–ij¤ ZÌxnDˆˆSaxä{ Eþ(“Wqâô;Fé~*ÜP()ŠÙ³óC8쯋œˆŽ¬73lÔ(!ñq{¬Í¢3 K³]„ä©å# OñÅA#•Û7°çÓBÎ6$´Þ,ý„Qõ1`ôEöv"G¹ŸÙ¸épt–Ѭ/SÇq¬6ìXF$²“j ¤¥µz…Ô5eí`v¢9àÇûϯXèé§í/˜ç£ò/DÚÄ̬“´ŠË!É·TÏ>DâIö0{‘­Ðk:‰I¸é:â¹àõÂrMW€wt’³ðè7_nrõÈ| =Éiªç £Øe [õ@ìÐbFDCqÞoõ ½÷#f0¯îK.ꎕ·ÖTËÒ))6$pû«…Oš¯…(–Úè“ÇàQ|Ù* ×ú‚õ7_¨ÁnŠ]ÕrÏÖ¸°‹ÎO‚dÙ\Í´þžû0€‡æm>$&ŠÕG¼5ºX?WpóÝ>,ªçH—‰tnl¯Ÿ4¯à8îŽ=l^¨gÙãq¯Îz„Yo›|OyЏôÊÚÏëô8j„š‹{=ºçtµ<èxaM–GC:¸öÝ‘ÕÃ1‚ŽmM.“¨[$©N#ði¸íbZí¨Å†7Õ¸…B[ºp¹ ’OsM[þ[w°eÅÙ_žç…W¢|=‰~•_åÁfM_öä¥ð<^[ üëvM1’¶;ÃtÀ¹c™x)û”–þVfIí¼Hÿ:©/)Ãþ öù>«IÀ†?)¼\4b€ ?TêÊIvÈ|ßÂdÌãâaO:‡õ< Ðw S6k¤ƒ^ªÄÝŽ1€Æi˃ø>/Í1ôv—Ö®g*ãXêða=Í£(Éì“Ëiõ0ÓØÌo]º‰VKjÚëŒ×« }+`GõÆ©“Ĺ}Ié€}²‰?þdà›¾\5SSÝÓ’Ö‘M+­Õß|=¾Ìt8Þ•P¸ç*ÆÃ×òÛß@·óPv4ÞAôô­>i¸Ù[†ëÈ?õ­RM»Üán¬ Œ>² ȵ+…ãD{qDÑø£W¨\©õÈyŽ%)î @£‰ø½­[\qÛMÒw§´¥Ê‰òù¬½J òÃ*ê¾u@â£ÇÍ 9V˜? ¼p)¢JÐ7ÿ@)«p|¾!—]÷ëOvá•©r™Í¯ÎÖ>u({vSÓã·Ü¤p¨¥uJ¡v$™™á6AçÅMï,2c“ÆÕ|͘0¢áv[ œ1óWÍI·ž9 th½‡Èv{_WÄu¢™&Ê÷Îú t„ÊÔyzžøZ»EÁ†Zèâ,¹KRýW¶:A'kN=[í6™ð×Å/|í/‰éŽÍAñÍgµ71íS?è+–nãük($l¬øa+‚cNFi-e­If¤zã½óCuª¹ÂþÇ…á­ûnAQe¤ ~¸èqYï‘íè¤çß¡¬’3–¬O™áFš+Cw’øèô,ëÔRØ»æw¨ŸÖ j‰O0üûthÝã=@£xÝùãÞîꙀ½a.ÝcÇ’©0TÏ׿ç@¢o£Oz—£BMÌÎ A ô2Šïã–a¿×¯·lØMÇd-)‹0ªÌxø)3€rtfÉec %Kf$ÈÒ^A2öŃç¨wÍ }8›œÃf %(èõXRª_´8]‰<9ó‹¿wÃ$^*ù<<Lx³ª•u àõ°¬"hÍÐ ½ëõõ† õ ›®C„î Jj»9Þ_öF´Ð_ƒ6Lb ’“ŸNíå©Ü€jj4gšEQãR"‚¶½]€O;œÊb× ½’¤í;)Yц¾¼s†襇.úhZ(Ð;È’;®£¯ (dv‚‚¼Èù™¯ Ô²u9v¥éèŠï}_ÌûŽœ½a49d1QÓZëþK[Z £âìÙíµ¡@bê]Šªê ‡VÇý„íÚg^Ͻ…£…¶ëW¸D%nJÕnKœåÇ£§Á»èE:ŠåøvÞ!¥æXsaÜ™¼[9Rb©ôüÿWO$ƒàºåгbðÁ_ìôí6˜ {÷¼i~;É-Ä|;.Eæýý lW»N}+7FD*ʘú=»wî6\„X¨R¾î ÁÂ;ÒG°êÃúŸ€ÿ/¡…r|´q»‡°‘Ÿr*ަÔèâœÀ—÷s¤‰¦ÌmþŒÇ1/F_lm&"’ü¡Dçû±±vS]ï™~ ÿF’ÜäR`_É>Ô§Õœg¬Hóð°Õ·HØ X­÷ûŒY¡Ïx_J,í¹Nß§/Ë•/D{’‚OIåvZ[ˆV²ð;ýñÄMƪ­Š…ÛÙ·|ãâøÙ›­ê\ìCèæç³fŠ;DãÖ3Ø/~ú¯gªµŽj{—·Üê“Ó®N>VpDºnΗ5s>“%¤îúôÅêƒ! ^ë]wöœ*m wb5îš]’Ædhç3œ`ÖÏI”ÝÌ}žyÔ­Yƒ4æ©„µ_ÆÃ¤°¨°Ï«±‰IÂÉJ½‘ÂáŒ#¨yz‡Þ¶…[øy´w – Pk¢dy2F1éæo•ÊIZÊ¿’ÀÕ`…ŒŸceº”á/é…Y"<@%¾³¹5•ôØ çš6ûÇã€Ç•´Ê¡q2;º ¯…iOnÄÁÏ'±0ZÚc`m9yÒî¨DÅó•B]^¤µÜ7fµYbsP´ …%È(E1„ã8K/Bò.0l¸¨iYüM?œ-Vì_ù ¸ì >c{^±ÏØìâ%4ÿ,µp£ D£Æ;!¶3 Ê¡í$Ú ÉæP„èŒsÍúû¾·Mä\•©É¹1õL#l‰Ëà°L$»ïÔé´I~Í&Ðp¨Búƒh –›NqPáR‚9ú™U)(ÔB7žàdôØE'ª‹; ¤¹• ,@pÖ]×Õaß±—™]ìæ['æ>_«³¼±’}ÈÍüý Å\Šˆ8§ãŠÝ¹’£rëAÆáÊMã¼=פx4íó¬²Íë ëW㈽%?¾^Ä‘ûoÖ!{eî‚I¨)ÈCŸe,!¶ºþ÷Ò6õÕ³mË¢<4ÔW.æœEYc^KËÚ·Šn¸ãýE ¢î’u‹M3/FâÇÛ¬·lŠCLÛÏâ¾eÔ1Bl} ¢oœÓM€‹†JDœ6Û–t:Rsh™hºSE2»LZ‹ÓË+ó¶£ñzÃÄh˜Êëå>†B‰qY8k¿D_Š9oœ¹¨¶ÓÞ7X†ëBáøÇ“} =¶ÄŸêÑÏØl†b‡Ü– Ytõelæ÷ÜîBèÿÕÁ%‰½¿»[ Þþ/›£…J%Œé^RpßQ‹Ë׬ħF™òEq¹*&²@Ê(úD†B¯®ØùuØáÜ)ÎíþaP¼&0Öΰ°®ieMâ!K¸„üÈÈaukÞÏ 2ø+Ì>‚k]·&¹Ö-/ ¥ØIÅaØëÙ•= ÑH'ƒK¿–°T§nà DMÍÐU:¹D1N§PoÍ"2ÿ®s) $ã!×=ÿ@Ë™»T…!•nÏÐ ƒ“< ^gdÂ\ª­ÏvŽð¯® ox¨°JIÜKfó ) àk²þ¨U.3&Π ‘ö,yƒ÷«æn’ÁDŠT@lZ¨hÃ#Øô=ùïÈ8[²AÎ÷Ï>ÁhÁ¤°–Ê«â9c*± X,ž¬S‚_5•×»VÝÄ´yŠ¯é—œÓjJæÌ¢/__ø|½ؙ̀Q˜[—MÞùX ;dLt4Ñ¿`Ó'©U—³‘uŽ1…®žB|o ®r(CŪȮÿò}iA&uæk¦)ÂöŸêõ-“–Ùzô4±Çí0®pŒÀKŠŒ=À5,ï&*›rØjaþ-è™é¿uï#<ëOYfbéŒnŠÍ$Œ1nzoPçÛÆsY0uO…5—[‹ŸèM»vJrÉŒ\Ä7ÐÜfÑZxp­\þYrogu,oš®Ÿðv^bâüº…¨˜ûv{çfÖ*uÛfz¤-ËINV>ÅÚ$«êÖZùñóüæ­Æ´ÃÓ¹-Û ÿ—Ã-•3äËÅøå6pE‚V¸K@‡ ÷s[;zn‹7ã~#d Tñ2›gÞËí E”އ3}l9ÎG>ºû®Švcˆ ò»ÎNûi!L$ŸÖ†‡²nYOí߯W&þÈŠU¼äL"UXvβ̷Ï™«N&¯–1Àa T1/û±;ýªqB¦áKMåŽÝý¿wD2_L±ý¶Ó¯çèæœ<ã¡(YðeÛ_‡”õ§:²‰ñõç¢ åÁçc¯ý"[L>ž‚Ý-ãtT˜DHÐZ]¯ã3jž˜D™Ù¡V›Ap]ëoº®(RZS†ÉÈzîÕªQæ Î_úN†Iˆ½ Ý$&2 ©ÑÔ_+¿KFæ#tù…µŸ‘"in' |¥µâj¨8dRX>ŒÙú3-ÚÔi ŸYÀ‡cÂçÞW(q溋 #Má²»Ò(ÅLåg8´Ú2O;P‚ Žã°ÉYïï¼wµõ:”´aŸÀû3òÈÿ÷ ì¬ÎmØ)ªáNj¿Úi´x3×úüFƒ}Þ…^’%=FªÖ®À6Xä6?’™¸¢·Fꟿ[ðÑÝ%GkÒ 2þ•%4Óß­^ÙE,rm”9ç„kÈøþ€‚Í'‹t©ü vA§Œ(Hóñm"C£”7L_¯§OúmU6¢¿ X% Æ•èÕ™è¢Ö!ŒŒd=üÛ s¢8߯¸í”Â1h¼ Û÷T`¹#6 ”œ"˜å-ðé{=¸´NPJ[y]ˆq7ªnÆYiõ©ª`’c TSÉF«T‰÷–{œS¤:jrÃ@e]ëö9guXKWÒ#RkzÖÁ5#äxÃ@ÄÏ2Æzݺ©zéÆ;‰ô‹Î}cG^ê£Áñº‹¢Zg½bоÁÆõÙ°†g¥‘ÉBÉ„º·Ô–¡ ¾Y+¦)sñTô—Wydúö'@„cC¿ œ´Æ9ÿ#…º§£Ÿl_ÿuçä*GŠØ4/øgÒ8#Á³¿xÛ‚°S›×,šUtö°l#'åX‰ü˜ì±eâ<ãwä÷‹OXs",* ,²÷vÙð <ófïÅe³ aySš«@¹” cQEF_Ú!Ýxk³€ôý)ѽ}wðFù)e N:ÚÐÄ3V¼Všùgø–0ü•9©¯aËõ êíá¥aj®Ú½*¬_ý(öߪîRèe\<ºÏø{§I2¦€ˆ0S9àa#º+ûŠê|¬©˜Æ¶”¢a½ù^¾:BÙB3–ÆÎ«uË;ÐA£Åÿ±s|=åîOòÁ.ú쇽âà×ï–½vå¤ãÀú#MYãä`B\X| cÜ].oo*Lû65—t*†‚Ä5¼>ëÞõªU.e|­lŸ<{0ÐÞ ê½³ A®tnþ+Æ›¡e`5òñä!iâè*ZÿKóZÑ )¹sК!*DÊpg ÏËŽ÷6¬ cõžU+PÏψÝVÛb:ô£N^y7q8†épVa%•ü)µmY} .Œø`κÖ~±Ë¸eP:ý0_Ü4èEhy9ðRZ{Æ%—e%n¤f±\§<…¸Ÿ M¹GK\ñ$Do4;Ǥ™'f¦=>1ŽÓsÇSÂî(Ï~ ^ª›„zQßnÔ§!Ù§ äã䕷̶m£!€àZ>y/Åv,©†åÝLUÝüL¥š¿db°ÇÜXÊg©™aídTŸ¸š¾{â?……’pUŒ°‚ŒE«¦5lo] JØ“?–¤ì ÷E˘ø~Vs“"9vùÑå»Û¨²Ô’PSŠg*•ï‘/J,²/ågbSÕ£d{µ,½â$³ýr9Sè˜Îâ{ÒHq8¿`iÏæ)§ä¶&U»0€¢À¼ü÷Ì>~?­ÀõÓ52¢­Yß}ãeBùT @~ˆ8E2”{i©Ï]Žöé-ÁtâÌî\_ÀÙžTt3ó0ZÀ´#7œÙCÊøèÙ#Ððö«·@²Ì§Ð; Œú-6Í\9~Â]k^¸œzD;׎N)v Jì?劚Q‚bv0bö¥Òo­Ð)ò—3B~È«u³áVk>Á0ÀcÒWq”¡ ÞtüìJ©˜TB\œ¦;:*g_Jz‚ü·kÏÃR'<°ÅÊ­™ §iÀH÷¡º˜—È«>â1nø–´”“ÇŒ˜§l¬.!Õ.Änù­u@) _@9>¦Þ «T )ü¯vX ¼8‹p@¨F¯ÁjDÂzÖèO¥Z(#¥zOî•i¦\Üùmkœ=Öãn%ƒü(­•µ¨Ý°8’Dţ›\õ/óh“(‚§NRPžxCÉiɃ±HOëdž°j)oÇ\äè±èC p+ôi­Aƒ ¿”ñlÔè/âý-‡MÝif¯78û˜Z ©xµ°xk¼ñrëùX>*ryÞH¿è†º0ñ`ºØ¯s:‘üŽ‘Ÿà t=‡J¬Ñ7[ÀK>8ÿûÈñÑå]áŸZÁ™EÄ»©œÓÄ™•ùÌ–¤_ÿ-® ä[%°9É%]a)5ÙnW±[„=ôûð¸7e /0‡Û7?æûóOR‡z€ødƒxF©Å•hßäñ´hÖG>,…Ë!S*ë4U1¬s'öÄõÍ’°±&e˜ý×§2²2,&,c,€¶éŠ™ˆ.ºT_ÿÆ¢±–E$0D¯ûVÙY}–¾b”ðØk~rÒ+Yû&¤ËvÃoŒ¤`KIt =x{„ÙÜð† ÚÆQ‰ÕlÐd䇗­ð¡hDÄ—Ne‰3Ûx·Å—dú¾(6oêg]6O ™ýÂj¬—ib˜xª©I¥p ßÅX’FÎ;ÂÂ4Ñݦp×c•7|Fd¿ý%;î‹{¡†m¨/ã[ÞÛpCé6¶N]3E¸é—Û¾¶x9’™–\³Æ&³5Ðï/ùïýçeÎ50«R¸´n•…¦«{eÇýýc–°“¿«ÜlÒŠíæ…Æ°ÑODAg’ËNs- j4®ԱȺeH,j1ó ø,QVå'_/ÿŽ‹‘?ÑdË)Ø›ôê\žyþ%–Î{é ‹â½ÒäïRQ8åé/6ú°—·öw°-R©‘6ÄWnŨ¦‚ ØÏ«ÄV~qwÛ8f€Ì´¢‹/óè¿*²ýÁž{gK,nà +¸øØœgmìšA^dY€N¡ ò‘˜ZªÑÅÙ 1[®ÛìMN”Y®Ð “GdÖF„ÍÊ^ü]0ßVj&^‘© †;(2GügõÕgþ¯²:RVjˆAÐ[T=Sç—Té«.dîäo°xÅQ©ýþ(™*ÏÙY‹sÁåSšòÒ*‡;d³OåÛ}Æ´7ƒž“Ÿ…nÞדkÞû® qæ)Ç9fô1pù»E.›ÄƒÞïÈV.÷Ö¯¢—|±RYƒDÞ<Ü¥%‰|–ŸŽo¶,|h"HT¥FøN–ÃÅ…eS<ìÅ®69ì%îôl!ŽsÏ®(ÂLzc*m¹\š/)”gSë¿TþÐÄŽ¯`èhwJŒuå¼6çÐÕ ­ñèw&ϱ‚]u€å7©N‹Ë0*ØÂ¦6Ô£Çÿs~ŒPÿ²ki·ÖÛK*Ó3‡É§³‹àoB„¤{{!|­Û¾÷ÄY^"õy„Î…Fùè¥á‹ x9|QÊnËׇÆ`uQY—e}0¾1죢©0_§- ´Ô2êì&xñ±ŸUºrÈîSž\ˆòŽ ~ºn¨«¼pÇåRÿ ’^ÞÎêÅZZBÝ(Jç@©½ò <—Æ©Hð)]ŸäRz“7ê_«AÄÑ­¼Ÿù¯šÜL eò¦Š 9‚¹ Ú¬ozÔÄëpˆNæ]«\䋯ß! ÑÞŸõ cm÷jY˜;fHˆapº!´²‰¯u|.lªäñ®ß<Æ#[ty˜«úÓ³ÌeN©·3QÿÀèlH{Nïùy«Wõ46{Ùè'9‰ßÙ›ù'0ÖmÊfmgfkà¤üxÁ˜)(Yo>j+õl! f š6STâ2©‰Iz¡=9KUO‘z2Û3NçÞðR,›:Ý‚RSÐIšÁìüLòù˜@•×5Ðúî[ú־͎T2÷%|¯èÆ‚‚ŠF@Æó5C¥ew€çš† ýr`åpÖr£‹KšÕ&dJaIý y©,õ/q>TðD RWQŸbâ$^0¶ªãŸ¤P, ,£p aæ4m/ÔñÑÞïX ô-Ô!V¾¾…µU`à¦!vùQXÉ ÒíqŽ®×yE‚ŸŠINÿû›ÚÇ”3&–ÇŽ‘(Q¸g;Ÿ'™íë=,-•yÙdEÙ—öš0ÄYúr’l6)‡æˆŠÜƒ¼œÌ~\ñN¯|~þŸYªThAž?娿?Þ£#puÊ.íúB7Î-pVzKzYVÁÔnL¶¿•zƒ&,@R.¹7÷‘l€äA¹ If‰¥ç*ÿôžíŒv¬fì]9¸”ö¯ž¢|SΞw€¥—­ŠZžg¦céIˆå„åÞW0_”·g[oü¹G3v¢BªOe° quMjÅJz9¸jmGT9Tv¾0m‰¼Ò·ÍŽÓ<53õ7ÿhîÎ ÝÒ„~kªLþô§þ1Ö"D`€ÐðÞä./Q)$¾”X~|!ÔÀ¨¿†@;†®½§‰Mþ‚¹OZa¼:_« TP¢P%P”€r ¤—@à•^õã4—ÑfëŠé*7B‰ Â{>½KŽEZ~ó8ðFwÒÒÜ,WÓ\VÀ—FGÞeŽ~.Ï ûÕú…í{Q[{*±FŸaŸ1d¤bJàÜyC5¯Ê·‰Bœ8â“ÛMà.ªÊœ!=Vd¾å 8—9žYñ^©¦ßppU™zÎkŠÜy[bl®Ä´ `Í ü¨#Α± ¸È5 £ä=XæÓs›Æ5ïžÀ"9 ¡Œzî}pŠ ¯Ôƒ1P½!p «æ¡)NŽö꣆9g”ø͸³Fôrþ,¬^ET<2ÞºåO‹æîä÷øj•]"Ç­²zàQyšç€”Ü¥W´©§Û¦ŒbÁ”qØÅMæè.ǃz8&¨žD'z-,ÕÊåµ°¬p›Ñʤ÷šñn¶• Ÿ¯Ÿ·]¨Œ/®©¡iža0P¼Êq®ž8CîzŸP_Ê>h/H“çF»B.l“ÖÓÉ?™âÝ“m:ö…îð”×ô¦Ðtƒ1OàuÁïm½å *Ž,èVʮ֔Žgýž‡è)úc.­ÑZ#·Š ‘žÐrfu<Åôy|pn,9„¶«èöîk@åÇKå„kÈQ¨Œÿhõ„àt©v‹V[+„¤ž~š“2^u¥’ñ²^4~ÁgêC=§“×NûB%ud3˜Ñ­vgÔä/ÀQlÛò…§•ªˆ*ÆIrão4¯ë›ù†ðØrn׈nã‘Ýê¥ÏûmÙ ,§x»dëTŸ!¡Œ;3( hULþŸ“ñ·¡Ö– L™<ºÚ¹£­„ÛL <«Pû87§K0òòk%ÇÚpJF »b”‚œë‡x‚`Þ>emðÎÛÛ€±Ñ\fã—m™Ú¯È!â#é»zP¿ÿþWê€x‡ý»íqJ}žP ¡j¥Þ——¶U'Ðî€òr& w¼äê"vˆ ÑLÌQ|…¢^Pû,JÝ‹ëœJ'Ïa4e•@4¯dê@Ö6tr/|>{çEº±¶e½ƒòw—Jû«y¾†X퀆eà!·º²ï9eÄé9þÀØ5|îÆKú/D¿»¾N3mž2Ê,˜ð™À¡m•ÅD¼‘Ó"BA´`ˆÂô "aFWŠGu¨Î¹»ÞAþà…š£opè÷B% áH¢í”GliMø+³ÁÕä*È%ìDý¼µë¿À§yˆüËyާaóúÄq¾0tõ UŽF$5H –çÞl•ó~üÑâö1^¹E!£á)î}HÑ{ Î0µDaxð†ŒԈǜ¥R m8ÖÍ\ 2zY\•‰ ¿“JÞåG\•0MJ?jXÙõµ ÉF´èé¨,æPôƒ†1áÊaÏ.î¶ÝªäáMÓ.çKg»¡¿ÞwE\éÔLÓi<¢(hž,ÂP€DDãJ×ÑO’²”€×Ê¡+­[ÿ0 ¯ äš?ùÔýëœ#%=™EG¥îÁ{غ åS~B* õšÛC¯©'DHóaq¶-.Û-o€O=ž#cAvOP‹‘G]bêĺ‡:Åõ¿ …^Œ;¨Œ>}å€äøûDþ¡4”œQ&«O‹ÍÒÉIÚrÍ=p%Á.«7…ÛCYÃá¹ ~·e¤[™\?ð„ëè9_Ýé…!‹‡ßÍ")> Øäñ*,omqS 1özp’º\ýú‚s8ÆDE^Ã-¬ÛÓkiªeòeß¶œbD£_zNÉÈþ^›AÍàL?†&$ƒ¶4ꊦ1knPÊú¥¿[þØâãboÏ$‘Ræ“êñ¦Ÿ»N…+lYòô¿±/ à:§WÇ,ð3¤Ÿt]BJn ƒ”~W·ïöÖ£ãõ mcDn;¿¶#À«‚Ú¯Wÿ‘©ZG´†8h¤ %h~Ðû-˜jLÖ8r:Ó'„ ÜNšiv;°×føªHã’¹;ü$¥& P›Œ®:ªŠ­ïiv©UC€‰“Ö"<оÑà˜¤Ï X} tM~ÚZ¨y¾t˰|¾þfLŸl÷÷ÒD‰¾ÃŒïjñÜ ûâIÏÕÉCœƒmå;2>BžîY®p#1 t„ôÝ»$ælu´OxeÚÒ=êNç¾Ü.ÍË'F¯z!ފи·ŸÏ}+s³p7íKQn'}$Hwõ:›º¡±‡ 7ey©„Ú—BcŽ" ( ›žXÆÍ>žÇÀàAàŒ8aUK¡«ºþ÷“äÊ…ëc.Ìb+†q»®›åsi¿—ïàŒ¿E±ÓzˆrE!¼Èd jÙ(v_¦f™ 0Íî/ñ^•@ìÏy‰œÌ¹PP‹í3@T}øM4ÂïÁ[ üc¿S&Ø/ï‹r÷u9?I­àiT(fdw“(µâw Êâ©Û¬Þ÷Jóh_>7¡÷ãýçM¶ŠiMësSˆRêÆ/Ov¤°=}°ˆF„y–Úæm‚Çg3ÎHæ{ëVTß×gõ‰l˜›0 ö §ê¤Ø]D¥D–x{¦Òðž´¶°±¼^"v¦ŠêÁSlr» iŠ Ü[˜ ⓺>ª?ÑxTœÑÒ‘ò4­0Ñ”û±ÕŽæò {ëïhøŒP–ëè`P!´iÀ‡wËXÀÛDµ ÑZx™+ô0Ë’¢u‰wϲǧÐíiYˆV9颧9µÄvŒèÕM'}ùe ¥±:Gˆ%¤Jç"kö‘‡©ã&è%Nk+ZLÉ¡€Â¨z~†4\:Àè›þ½ï±bK'Á1ÐG¥ –žU•½4ÄFQ<Œ­Zl¥ðÏseÆZòK•Š2KÇ=Ô€=—mI‡¼;U¼oøë³S6íÌ=”<ô.‡ÕØ® ˜‡Xˆ¾ˆåLù1Øc4ÕæVÝ,[æà.½±lÝÄç9ô°OÀƒ²xSUHÛ‘®Ý72Á`Áá„gO£ùi»ô `é.(~ðøëwŒBò‰©o»5-³+·ÔÕMvFGx|Úÿ¤¦«sDûä¹Ý*ذ¹àÔî)¸œ€Ã ;ö‹Þ (n·%çsþàØm4_5HìVbgwóZ(Å4…cƒ£¿Ur%èžFý)®­ú4üægœ‡?Ρ0Ò$Ï´°/ÛÞ‡¼µü…ùa1>­-Åw)¦¾¿Îêñ ¦pù²ò9Rà†Ž¨ÄT¨æ.Ör~i*CZ,ïá‘0¦×£z‚k2I Æc1]ÌÛ 0Γüù£Jæñ>GpÊT±±+*¸(!‘Cbãôuº•œºY¶MBzº‘“GÜŠøÇÒ2–Ð6Ö¿† 0Š|‡ í" @îk$àíÈM–5ÌÝ®šùùÑ%U÷ßk°•‚É«¼x{#âC5ñq[Ä2ê«û^„m:yîmÄô<ù±+¾mò 3¢#¾E+þÙ4i•”éSXj ù·›ÐðßòÁXå7û ~J½àðÎnRùÿц¨n¶vžeš.ñýì`1‚ð£‹Å²2VO¯ €6öõ¬6cÆ6îÊòBgîØ?¢‘›òYާņCÙG}Ð/]ÙŒÖò´½ÓŒâ¿îJbÓÓ—(‰ôí6î¢í(¶dO1’¡×µ#@±ÿóASSL·šð =è?E¥öu)ïâEj}—v«™·ljûYJ1pt ,@h«èàïÎÉ m²¤ÈVéïÛ– ûå”_Oý2ùwk —u–µË½…¢‹M³«½*@Ï©þwøˆm“a6âD•Îêá)%ö)Ö–IÔxXƒ¦¾Ê÷êyß².t§ëÌžƒNx¾·Q~dž‚«r…^'o»ÕMö7rPäƒõyø#Ö lv²O˜Ry] ôl¹«¢ O s!¨€ŽBI^¸ª/ð–óîÀÝR123§èmñêXfÁåc 6«’ÊRþ-¢X0œ«»ÞIš³G 8V=š([Óòñ´|›CçÓÉÿIÞ¢Œ+95#O‚­s›ó6•°©Ñjdd[Yi]%¼áù=úµ€¢-ø6¥ï¾­(:@5 m Û|ÉÁâÌ¢` ­s;I—)‹è„Mi¶D™zfÛB#MgR:óQ/m¹ç_°¢u~©ôÍÒØ?|Ä [ÚÏþ‹ú/oLq_jJpHøVïÕè°“ÒŒ ¹@º—‘yW¼÷_¶Ë†š?BsØÙ1&/:éV¶LÝ ¯VÂÇ1œ:!˜œ2 Þ/˜¦»Ìå[ÿšªC @¾^TAó+M”l•½ûb:ÁÌŸk…*sV‹¡õŸšÕ\…¦>•ºkûV#IKž!_.uwðW¡öÕÕ™ð×À¯Ðî×K€þÌXÕðv\ë°| ·CMSt p‘C9~dÏrWœVÁ¤L>­0 C¦â̇(Üè—·ÍC¬ÞœÜ(YÓ8†^‰¤»êcó¿ïµ.Ût×>˜˜ÜËYWÆ11ã4©¢ä¡Z­þG}¯g#åy-`¹‘C'#¬ßlP¹¬[DG¹ô—§ÏVyœš«@+ÌãªwX¼‡©Ové¡íL3X›Ÿ}ÿúDõŒ«ƒÍRéÙÒÀ ŽA\¿v‘{‚ wŸ+7Ë&.\údËJúýï´dèSLoÛØÔ{S N¨R™ÊRºñ2sBQž‘:po dƒB­¦ªFæYt~øn¹ÁU-Åý¤JÛ¶/zÞÍÞï­Zjâ`BÌfl¤îØö–KÂvn9_O)Ìè­ŒúÈ> š×½Ú%ÝH¨CIXUëëyüCØÔn(=t¯âýïyÿ~´Ð!HAÂðŽŽJÞ˜óuåå_~sw¸ÛCÀ,y­2@ñ,„´¯M(NÀÏ#8À‚KÔ$ô0¥žõ|¦H;G—BÙ:þ±+t´øK¦:A1Âýû¦vAf'#5m:æx †V?nD6„bup%kH#è<Ïç˜cŽG à=”•@ÏÚg^­K"”p…šÓýn 4°pæ¡»*¥?w…ªb‰‘®V¨u`Ë §UzP‰æÔFÃáh…BµŸŽýÆ%Ë—Üo»ƒ Ñ„»¹ÁÑ]>óØzY @EþaðÁ‹Ww²ãîÍNîsØV5}{u§›<»®†–Ԟћ!Ï{}‹FSȸÐ3ßpgûÖ/ßÿ“Y%”Òu–Õo©!º–¶0yúòäã€uY ö…˜µäzJÏzËçöÎ |y“§ê[&eê±SÐ w{ öPƒmRX{K¢ª™2r4ß×lîË:SûŸjr ˆin(¾ÝôöÛÂE¶¢b¬·øþCh2kÏZ$mNÐù¢œP{m׊£þª{¡ÆI)pPžåÚá@ôš’ö”hòwD¾ñ ´gíQué^kÿŽ“M¤=ñPe$Gïî€W„0,b ­MEÙœ=h0>xÀ–G¸Æ.ªSLyÝ€ªíjBìÛnvÿ;E¦ŠÊÛãB×ʃòÓÔ®VÇðøslpˆ²£Y\™Î}3îh· +Ï#‚Ö݉ৠfG¿#lHÒë%)¾Zôþ kYc&-NÖž~¤¬G(¶Ä-©ÖɈÓ?cÂ?—‡.Ç ŸŸ³öO„–<£`Fÿe¬LžÔÅ Ø·­ù;¨Ø{6’JsĪÅ1š.uúsY…ÄÀRÚAŸÛ+Y±Ô¼»î‰Þ!v»å:'ðPz,1××âÃG­®/Ù«–ÈQB•±ÐŒ ½‡KÝ<¨ÛªIp;7ýS2ÀX¸Ñb¶“áL¿ÓJwÐk´ˆ ¨¨íú·Lbô Ög’|Ê¡ú¨ýK<4FUò–ev~ Û\Ãñt gω(ø>¢°+õÍZ³„<Ño=—ÑœÉ[kd·hl­†â?°$Ø¢·e1aì\Ö×Ó®•ñÂOò¯‚ºp…ŸdN=â[e‡²sM’o<Æy(îÒO\]06§ÙŸë˜ë£a¸ÛÒ^j»æµ³@E'D"Æë„Öõúëœ4Ë3±Âo‡k§öÅ/WÐŒM‡ûälºê+¬ÙÿŠdß$®9Æ7êã.­¦‘«˜€•Ãk6[ «ˆ]±¸3óÈ!Ñ—!v+˜›¶Ï-¯ðž¦¢`Q¾›N5YˆaÁÁü1Õ¥É f{ ºœO„ë üÒ÷º`J€îÔ×àë?½ùï©ñc›ô1Ù‘ÇËÍåð|¤ÚP¾ ›tA$2Ø»ŒÖ‹øX±~ã>f×2%7Ò¥–]9†h¶éþ.×¾ ˜a[É4ËÄ‹r=G+yoµ­îˆ9ˆÝs®5½òkµ¥É‚ŒÕ…šÂÁ\vº™^kpüæ‚ÈŸŒöè&n{3®Í¤ºIÔÞÕÕµ#2†ix¼--/M,HRàŸ]IRi³d”5à¢lÉ—2Na¹ª×Ègè®Î(žíOA™ ÊfsDé˜ÒUy‹zÙ¿þq&H4oÏ !Š f,þšlRHëýàì¹ xq’:Æ<Ç`ƒl€¿ÇÑá[lâê rv ÙhJ+~ çÁr„` Ý‘CtDS´è–AI~‡ŸY ÑŠ ¥€ðÕcHo°âÒ¡ˆwÙy­j!†ò#ÿ\P9•ÜDß%Ú >ù‚lî¼7Ás-D“æú¾Ìõ7Àåñ3gq+tiôò{âdzˆñ­„|1Šè<_Ø‚}¨jü.¡ÈA_A  »:àS®PÝWÈ¥ïSÞ÷Ðñé¶ohDDÀ¢j‹¿É]ÙÅu€€Ýv®>3Œž ‡A÷ßÁ=EØM Ãcà-d +…¸…KhÂü¾Ä(‘Œz[‰"èLêW¹k1œm´/oó½Së¼P^¸ðÎû¼Ò4Í0x}A{çor„9ø;¥ÿsõè3âE¾“´à™:4ÚȾt¦&võ*J ¬áï¸o§$Vø³â`Ó\r·—»¼}G à¡ý`—§&Î;w\OEÒÒ œÐ"}—­u©°ž÷¯D¥à‹7[ºK¬†^ë±E®JCˆˆ›ZEû :`KÁø1ŽÊ‹Ç|þê;Óü|–Õ)þ|=‹!ÔïÑ«1Ž™þÓRKûÇk€$ήe‘àk4á¤.a; ˆÔFp4"§jÎyøv¶Wn+b ‚vrXàwœ6^K&)˜HÇé§8½¤]’çÞîÎ È5< Ä&8ΞvÓõ aNë›ðN_1é$nk:ÚÇL’ù@ëL¹Ý—¶¸rû ÷|h?›I_çƒö¼_ó‹TOåËtaðr/7Fé3:4 ³{m!ËŠÀ‚ØaãbÑf!‚ÿoëÔ^›%½hÛ*‹mhÚ䔸“˜K… ƒãPÚ§èÝô%ÌêNEÞÝo¸ü¡ OX¬œ–-¥ ›T>üV¼ïz–»®uÁä¤9!¿¹V$À;µS§bã[é<ídüwmLNõµtI…s7Ã`ÒaOyÂSÐã-@ìC¯Ÿ>B4x±Ö0Ü̼x‹{Ñá[D¿¢é1HÞ÷†þÇ-f¡~~KiëñIËki3®Ö$Œe«¸ldª ¯ÕÏDª(zAIm»o§H<+Â#O$™OÃú½hÎ)ÞÞIû)Á…?˜×ŽÈë(¹!¤â¢¶uSWµZH‚f±£_kº‚±´¥4s“: c«ö+-fÿ0(±þ‰úS҇Ľü›eZ¶ó$`¶[+´/Kÿ²RP€–ûîjByŠ*¾×PÄ" zä(DÜ?2 ýÚrÝ-óÞG°ã¦{쳌œs›ÕZ]:ué£~þöJY˜¨R²\ˆ=”¾A”(uäìHìž9  ¯mfU?ÍÆj?ˆD8˜œßìܹ¥lù™7g!0®O|!Š ·‘|§ë…x¯÷›âÎ0×ÑêY9SÏÆÚÓŸ2êÁnTnr™—â Ò·—x{þ>WU”P¤+²~uÀiH~¹Ç¸m┨ä¹9uý²xµèÌb”¯oöG~ÆÈþ˜ D¾u v¹p$+S¼÷ ÄØ†Œ¹ù¸­¬_p€æº-…­šôI¸5Ä'|fB»ßâÏo ¤Êù3H3nk–Ý-C}ŸߡÁ–ms ª‰7`ÂÑìËš³ˆ¬Àµfù`vIXìJóÅ5ÐÕé)OÞ;pnëS!胆%¢Š5uZŒœ&ôÿxE*v£°ÜË·ÓgôI¸kžÎûš]Ô‘r#Ê&~ûlç)ÀKäq¿ž¡$M*ÍF,déŽ5ünX—fï(Õ{%ë ú¹j´¯àÈ—ØBβbXM‘¡ZÖCߊDªÜ—ÔX]»k%¦Á(}žÐ¥†D<܇7¤>j3Æ`tŸº¢AÂ$3æ;£—x’!l^âW¼´ß%ëØ&¹÷'gÓ ¡ìª=¬šoÙ7iª´Íì¶¹oÞý*ÿñÏI…{ëù8¸ý²ÿP¯ŒpsÄoK3·:8K˜8ì›Þ¨8•àû­w¥œ°Ú#îDƒ@ ‹øë;ð°ŠZTl½`™ÇáüXôX~ÄO²Ÿû ·rLó#°¬8“Hf=5:ìÖ¿é<0KKÄð·÷‚;Ê]ƒ£ZE€Ý¢ˆþ™,iõ9Ó,z?‚€°d+7¢å Ì]G]yÄÈÚÑ£¶ëZïˆoHë¹ÍûÕOËÎåæeJþ=Nìp{I”>ÛO„*¹²6(dÉ(vžZj907´¡ù³²zWÃØ§su\´U¼>}Ye\•妋££>-‰|è¢ÊEã†YëO7ØRHŽ&òáà±äNœ”cOÚc@môOPUìk¼õ鳚‘CÅN¤ê! ñ\K´(…¢ªÍ8ã5ͬ©½·ˆ7áØµ|5üdá ι°¾Ðv€æ5zÁW±sD½: §±ÅËÆÝ˜¾eÑç¨n ÓA¶K‡ÿÅÕÓ6ÿ,H»Æ‚›ô’õ$%× Å׃<–ÏHf£šÿà®—ƒ•‰èóÖúåÓ…< ¹TŒnlêSªCmœGrõ< #/=üÜá=®ô>+,~PÕÀ¿Üè€Þ&_|ŒØ5&~á!ùëC+‚¹°H¢“è2ÊLa‘írw;Ã>w³Á„è!Uæ”Aä ¾Å3»>~ å{•àâ¹&KúZD•ºüj@¸J¿?d¼~ØçªÏò×УE∠Àë$®·‡¡œÅRs|³œE:›B€ßÄ‹XvÀ@IüÑMœø–RK5&ËðÐ 8~´µ(êV+)åS=¹ËB­‘å2Š+÷Žþ[k~ áî‡ÞpOÏ|€)BËç("ÍxE‘£›OàÇ[èá2Ùo ŽmÜÆ ƒºìÞs;5_øEàSÎq´ûPAË¡(úò…Á@³äJóÞ§¾»ï,°ÚßÒzìxºå]5Ûé즇xW´¿·íÒœ°•SÁŒ!̓çVúé8n$9Û ŸÅ®nõ‹¶Æ6A¸œmLv\eĺ¾e…ÛUÐÃ¥[ Y¡¸» SÆ r!' ª´ZÍOÞ®X­€Q¦÷Ó·VC\ ÁEkÿˇÍh¶+×Kx‘ÂÎIJ˜çÓê’,8 ºPÊØ:æ`1§[;$fx`æ§L:7"ˆµ2¶@LײЃ&rµʈdÚk*öÔÕ5u›ºˆ&áìs°iȦXÖ‰ ÐÒÉðâA¬Á¼˲Y¯#~<Ú¦(‰Û\È1¥»ô*ˆ³uó$þýξ\¥ý)º¥ä#–Rç^Yàª# 9·ØŒ'É Ì‘b¾¹¢€wÒÕÁ*È‚†mÁ¶HênÚÐ^¶þ ’ä‚Êö„g|ýæÛ¯Ho°¶ø4‹½duíÛŒ6Ó Ò¹I —£[ ÎduGvŠ ±ô´vCÍ ìŠÅmKFÄôh¨º÷ š›u—°°yð.]aœÛ€È•‰®e›¨cWß°‰é5)K[ÜoÈFì8~@ÒUÇ—HÓC;u÷X²m–O˜ÄfíG×òRÓZ·×C½€j!Çøj'µµ7ÿjkrBÖ/w`íÙLBÒjÄQ ·ûy%Lˆïe•ñŸsÿ~4"ÛÜèí‘Ò¿ÊÌT6ê/ÚEÜåsà|ˆz¢š³ymØKcÔuáÖê€9 V#êÒn³š‘MëJJúœß$ÍUUeF+›,!(MƒøŠ°$¤Žþj¿¡—ô¡‹,^2Æñ"ào~Rl¥ûŽ•m.ëS ÈP¶„/ž|ð3iFDOø9 C|½ùå®?ý~µœ¥M”–\Ì£Ý{9¡-YL"#\¨3uô…¤»fªŸÞÒºK{Ì)šà{”ˆ±+Û JOpfL¿+˜äÆŒ\3ÇcKD™­_ ¿lkŒG!x]­\ÄSÁl Ò㷻̟”êG‚"#w“ÈŸ†´£IWàý"áËÅ.ÓX(s|ä¦ÐÓË…8K˜õ}í§%ÏÖAë¯Å€”Yv—´vª‡Z4¾,sØQÓ¯aE9n|®Ù¤X³s³4WS3 |ŒqÖíY؃ªhO¯i5`}}À»Ÿ€…}4kÜ/Õ OGí¾ª1xžÆõPÁ¿( <7=¯ªÂÄG%­6NÑûù“d™9ønÇFÐZù]ì–ézdÇ–$I¤¬©ìN ‚#BU쇔‚lŽÔ¤‘Û"´É•Âg[{5lH„Ü^Ý%zû”/ªJm8Ú`?U&C€¯ÍÕJ21øÇnÆMŒx{Ù tlUü ´BnÒ ³~Šl/SÁÃܶE¾]€þÀ8™õ;È iq²ë„†WÆ’v®\}¸?ƒrBâEʶT$UrsªùI­|86½håäºÈ/ÕÈQAª0q'ªXUó0·úÔoè¿Â¡€Ây`Ì—ê¼[‘Ôñ|î~¬YÛt~£Ëî¨Ð(•»û<G¼hSË7eՂ㨲yÖË #äÂ#ÀÏ÷QØÿ†À‚€ûpªi©ÄÅÜ÷+E•åd®G #N`íR[Ëì“M’Õ,7êÉ·èrˆÂÆ„½¬nµ?|Íþ¼U¯ØÎvð)ùŠ›êmáǵ7{6Îɼwýxrè.èSã/Ñœš´÷½™)„ЭW8Iv¼ír^#w QM:°‚"2èYÍf©ã<²Õ¡ýOn±1­ÒmVö°n9=·ÇEI ?e•òé0j®[ÿMyÇ<úmÄÑØ ª×(²%2NÄë„Ø$ü`L:Sr%l-IPÞ/ÏõÕ%êž]w%‚ô¼Úåß&D´é±WV8¤Hþ°÷©Ã>ˆÏØÈ‰Ä×ň÷uF.õÜ•sù˜ƒx³ÔøqÈ1ábc`ôôfáqñZ«Ú;… =ÈÃôC•ºXL+7}S¢Äy*çé¥ÄiH=Bó¨´´Q°Ä±½sX¶ô©vóÆEr¦˜ zÈ"ò.ôÈM=’qâ8ö-WZ¯ÁR,þ¨_ªƒäÍ„WI6y¡8qÌYàê^·›£c*²^c7òÝ23ù ¼” ‘Û¿ôM6ý ýÚ®k–¨q‹ø2ÝÅžtûŠ­Æ„÷Ò¤:Ã]ÇPwE“·†é¤„Ðê§>Xâ;F@T榵4'!ÑÀÓÚø±[ù߉)àSF—Pÿ¥Õ£E»?Ì|1y• þ~ýNéÀ ΩÑð¤Rc‡ sIÎ&µu”¶÷,M'&A£í’¤*ð­ÅèÛÜ·Â"Ѱ.ô¤‘äGB;*ò·sìÖ©Ãv‡¯ïÞ‘ƒKÒ—U;͈ÂtPhõ0ÇÚÄʾÆå"ý¯ñ®BWàÒ/„Âx®ù"‹C·nYÚÝR©TV¿=0?à”¸ÉògW¹ƒýœÚ³mÙ8"ôò³W´•ŽG[Ò\Ü~íëºwãL2’wQš¼P‰ZFòr¡þn)æj£8Wˆ…Ë_«áä×<º=q¿hÎE¿d;Sk“ÖÁïõ©&À£Òre¿F>_þâȦЌïøî(±»Í£þ®‹|ˆ·ÈÑès]J\¦½õ€òµsÈ;÷2,}.X—rmS¸ ópnaz'Ÿ^îžU•¨ÃTzh®ñUts™El4j¿U+–c(á—‡©ÝÕ Ôðékr%ÄZöð¤eØ "f¯PbŸ˜è½èË®ˆúNm”°öõ*øž8õ:•Š2'»^éQRÿÎRŠÞ©h”Ç&‹¥’±ÇoD½,o¾zŸŽ-JL½‰Œäf\8]*þïvê\ l•â+ÒߤJ%6i 4£B~@¤÷úx[ÜnÕŠÞ&r¨£‰ÆH§¾ö—µ•I%?<¢WEºh¥°Í+œÚñpÎBç\ò­‰©(6–ÄS"”î¸`˜¿µ”¯s $3Uš6°¿"ÝFŸ…VÂø«3˜„„Cúü]ÿ‡ SíN=^-ñOåi?¦»ÐÍA ¥´#q K±Gç+ëñÖ:xûŒþ‚Î]}/Pds7V”Õ–Ê5B&§Qh•žbÜ$À9ü|¸§È—É_gžÙÐ_á>€š=nœ#¢Þ äž»4Ool?à#7 5é=Â÷¸fF‹SµÛüŒ0èÐÛÑ pãUÕüX¦c^”a›©žØ‘̇ö¾%Ÿƒ@ÕµX¹H…s³ïüGã2þã2²­Okz©‘¼h¨ž]Ôšár÷k5™Oèpº®•“ï8qBܤå^ÜÃOs8ýïX'ë+~ß8¢Íøa4Á¿¦©^º&¼Ga;ðr¼4|~óu41ŽÏý¶m߆ÇN°1´Øìx¹ÊÛ¾¥<î¿HϤ•¯z§›1-½üH]ž¿ë&ËóႹaÀƒàº{]r!Ñ‚yéPÇR¤?ðÛªÛŸ´çTvjôT¤Å–qx…(TÄ6úêÎ4ܨ¦ ¤ð¶¼äåk¡‘Uà~Äß?~p]M}h à¡FBáÈkV9BñŽC»ÒŽ‚íg`¼b– Ûø6?Žo'é=Â~|«v~YAy¯}„}#„<?(KÂtj½®@•|¡Qßnj+¼ìRÀ¶*îâ$gc ®}‹‚›˜Y¨ýb§Ž‚ÖðE ꛞôSöö}îŘ" àÀ¾Vn~’~ ÃÜ™ÆýJþ3ÍTúúñmŸ?üõu…¬Þ‰ü$‚±&¥–}Îðg΂ª¨tÀ]g£ß8Úí åmR¾|®{‘¾­s°¿7…M;“&ñ4i(?]Ôrà9î ÎF , x‹ªa~@ÎɆA¼•šòÏD_A¥T'ßöœTà 7UrÙqú¥€¨Á–ÜÍYnýìGVŠn/ìM ÎñÄä¥:ÀŠo¼÷õ\éCÙÂ|‹mTÄg4>bØ‘ªÑŠÛ zèµKW?þÇÝŽ—¸‡]Á³4ôÑ ÅÝÜÖáÇZl’QLÆDïG);BÉ0x5û\àjFñVcõñªüþBo±äÿÖ=¾ŠÅËçÊ&¥Í”­nn©ÈX…r_:9¨÷„ÉfF5Aß !É¿@û(–³Ÿè¼íIá9 °Ñ «mq§q°ÊlT·-w R÷xªnÑ›ÓjñÓº®!©¨µº©Žcx$Mê«"rO]ñáïØm~¢ŠÅB¢‰SÙ—Þ [îð;ÕXhCÊæŠÌg’©ŽebìE™×û~r8dì£Zû„¼Q3Òø b9"¿a>ü-îÐZÁd˜ºÁA¼8€ÚÆà¤ ÓÇÈWÕ¨D¹yûÇ^Ž ^Ö!îÍØKŒþ9\! Ÿ¶.y[ÿ¿¦éªg|ÔÓ‘Ë[Í„ª(Zª¯Òø}vØžhc#xÙÀ^í[wu«ÕQ£)S;*2 $‹?ÈŒxKïŽ}¦ë¨cb¼ÏÆAÊí–†¦Äß/?Ïsü’…Ðy±HÃL"$*›·™ÿÖâæGrÕ <%ô£è\iÔ-|*.u”þ¿c#Õl˜êWØâ$J3>Ø^³£?eE{Mô%ªÒ"–~é©ûaE”ædæÂü{æîä dÁðC‰kiÒã¶QÊ6¿H°_‘RgºjCάuèØ8y«â£7ëÒ" 4ưÁaŸu:º-!µÌ]ž0 ¾Q·Ú¯Õ&,›>¿^ÍÎá> £Ø J2ûj9«Ûšîgš)C†£ÿi©~p4CŒ¹SAoNã@°ãÛbIâÉUÐDXV©¹ú€e¾Ñ™Œà‰ ¿„¦“P±daªÏÌ–ÊËçáéJ‚øú_ðimš‘Ü-ɱ7/Ö}4ª6¶ óˆW‚þÿž7¢”„‡˜âYq»ÈTA7Ib Ò Qˆ?« o›;Î<‰à¹};"l-R_ú+"%'útkFøÐšº@#Úš< A? ÛlÊ\Z×3‡7ýoÚ<ègÞÀ€ 8^rL¬ãQZsñ ªh‹!Ô#´®GÊé~–yf¸T…ÅÊ™—“«jNb§³,D`¦#unË·0¥X3ào«‡>£®œ\¤Ó„­/^šÛ…@Õ >m½ ÛäCL´½â¼oØ|OwKoI{üíQßS…ﺿ[•¨ñšôVQÒÈíLN.¹ÖŒ¿hzðñßõƒÝqÕ)P?û'p»*C¤¥O<é8`Ì·+öЫ¢Ñ'gnž­¦OeÂñ¤­7‰L àxñ¼Ãª ÷*Ã[<{‹â Tןƒ¥•Då|d䕯ŸtÑ0FÌÇŒ!Tf$b…¥ ¯½ÆÿÂ~¨)Ãû Éï†Cñeü¬BE_g1òÚ ¿ BÆÒDp›ŒÉ1WIf³x7ªEÒtªÂ3œ¯oDÚŒ2¯Ö³“Aººé«%ƒÄœúÚâkÆ ŠŠë³µ¸QÂ`-ò.;çêü¤édúÝ'ÿû+ ¼ýÈšîàÌÉÛ)[>zô€6Â׊à÷ù>jm7±âäuóúˆvÞÙìYoNø{Ôê"V^šÇýŸspþ8Å}ÃJviû]­ï)øwWŸždƒë<3êµõ²éÙ/饤ÄÐ<®ü–ÈUuŸ¾Â"i H‘v?P)$ìµn÷ÁæuHï@Σ‚ñ):‚Õô1" B·ÚWv':Pćbܹ]Áð’˜ ¦ ª­½ ù·@Àò\3Ûç­¼#L¾V]2›>¯Æü­Wpz©BºÃc˜–HkÚ‘Xójâe–¥PŠòU#/9”N/N0@i¹{µ¸Ï”Ð á±( íßÚ×è(qGG¡ÿPñãDöê0Ö¼Z)ýfSœ^¢+0NqmÕºO׋>8¼ ©eFçË ‰©|?U Go¡tW˜0IpÄ–zÔ§¯™Å=X€Ôù·ÑFŸ Û"`xÂTm¸Ý„d $)þ ³×¶YÉ"ŠÀ×úÏâ~!O[â Ï=¯4¤dÎ Öú íDxC\\°lÞ“bÄ|é$5m|Àt½@kWKÝM é(îö·1À²ánáìJMbbÂG¼_‹gYŸË˜g´þˬë¸&Î>·ï'# Kþ¼˜½ÍžÀÚ{­´ÖÑÔÅk^Êé7ÁMYt"mñŽ3ÿDèÝjáÈMñ «ºÛ)Ï[$츯Y>àìû‰´¤d†8Jƒ˜t[2RöŒ‡Ò#ÎbýŠ»Ö/9%6ûGr8W xäøùüæ©ß(êÙ©”Š‹LtÑŠïÁí‡$ üoÖV«€™áäb?‹OÛM°Ô@øMζU¡;õd´&Nœèb BW Í1NG …Š6ú:Åu*`ržë¬'¢¨ñ±ûåƒW%È„T­1þ¸¦  $²[Âæ½b{ùåwýòÊÛÈUù˨O~ÖRºxr(ŒEW 5öm~Ðbù}¢è]hÝ"ÎAì·ÉáºÊÇ A”±ž¹&·çÜ9|÷ú€NÀæw5'Ø„‘tÌÊ ÷ÕIwl\©`iòÓél˜¬<ÆŠ¥¦;G«£G(Z–âgÓ—Îôìþ>¡²ëq¬¢FÝÑM±MбË%Iòaý°– TÈ”—¹ÉÄ‚W5ÿgðzÏ2a’HŸè<5P›„J4ŒT85~íleg@¹îÂï]ÃFí˜Ã0WVÕ¯övâWLðj¤’ ’)ÂþÝÇb?_ã‹xlö\àõ–p|Õ EWþY` :ÚàÂõ±utPþ[þV ¼$G¿s±<速÷í_êtÙ–Àw:Ñ£,ì 8&–Áç9RYƒÔJæPö{Òì?ÖÑÄd6\ Mï]U¥M£T@wòùcÊ-0 eº8׼·ý»‚¢åÌ,ñÅ‹5å@ÌCúìÃå#½B¨FH0kÐÅbtPVÙ1 æö½]5ÊÌ5Umn¨7¿ƒº'ÏÌÁA–€ ˆ†ˆºç¢éª¦˜>x@Õ׋îôØu £r¼B(,Ë2Ë”ûé>/{l÷¿ 1¢ ­Dð™8ydFNÞY˜’›ÆÈn&UgÇõaÆSµ6ó9¯Âß)¾ƒ‹È]-¤À³çXƒdd[X0®ØY‡ g ®Ý"²€Ú@0¥¡<ùµ …°î³îÂzøŒ#¹%â—?¿„Ʀ+²³¾zÌ{°ëê޾V®Tßu¹&8ž¯9ŽäƘ‘;?GV(—2D>„ÕEGf¦6µh›³¼Ý>ci­°FKÓ‰oõÑPšdÃMõÛØSf%zD;d"@fnk›¾Í³¶üQQ£²žœë~(øXfquzÓŸ­NâlLçªø%¼J§±1&¾ñ¤i˜©ì»÷r Ýh¶Tœ§g¢¦5¥Óç›0¶»¦®Ã…ÐQÜw´%j OïµeRE/íNºãòÑäÊà—% ´‚84³#ÐÜ‘£˜‘T( ò?<½¥ti@ý:Ò<(D‡ÅF1 €ÄÏ®”C*O8\dÑ×äñ*?Ö🠔Í-оŠà å ³8ÍNi‘8ÇH/ë’‘µë2LOpÞåDö‚WÐ 2çcÚ=-YœË'är9 ™äkiÇbò‰Q¨®-BhœK œ”N¨Š‰Èò÷¶þ'moËšog’•®ˆCƒü€!c~5”kQ@|2£º^šÖx š{pcÑÿ» 6Å-‰0"$ñI5”‚²€Ò¥„r÷~ßnuЈ¾P+μȞ„3+ý œ£Šü¡<"½Wk©#ÇÄd:9fw¿ÇQìÃú@^v¬‡Œžu,×D{oóðv æ2íbU‰«XÚH‚M|?² <Æùäq•a,.Âö úMÛÒT†N]$ßcÌÀ÷g=À°¨²WÍü«b¼–ã¥Íá¤Óy(Ãÿ­Þ#ëq–ù16Ùo“·˜tÒ˜õV£RöïNÜÝßæÛ$ õ ‡–¬¿Õ0äÝn2;äºÖɧ¸üz»ø³¾Ý:¾˜Ûyüë:˜!²>•Ó£–…°ˆÐÔãÌFZ™ËÚ&3 Ö=J:Œ»Æa¢ M£d$]v C<¥f²G©ÖC¤r÷Ù ÷=Ï+Ïó°ìÖ¿8™ÊÉGü&JDu1k…/îè•m5¢¬ÂÞW#` ùß–¥ðö; ñz¤õ¡€€ðÛá«‚Š¢T—hïAÓÝIkª@@Í-Çý ¹"'É2çñqo“¨5¶ikæ>·%á‘áÃc^Ó½xîîÚ´uIQö•fxû¹â‚Ÿã´™cX•G¨ù—/ÐZ±²î«Öõdˆê ­XŒ“ÅÍî"ÕÙ*d• ÅRyf—F= #ÄÐôñbÄυݘ㟹ACw¯t¾EÔC=(6u]PðÉãYHX›¨Óz¶¿ô%w®X¯¹&áÝ Lk ›â1» U¦é]ãÄ1‚ŸÕS¥ýH¯[ã³ÃÙÈ·«ÀL’6¯¬à´”ÀܽürŽX«Dhqn($éQ~9ŠK¶+ »V´°—ÚXç^¨ÎZK<2 ]¿„j–ÚÆg= –[Åš\å¦ÓNXˆ}¦ œB|­ÃOÏY,5´èÁ¶vŸµN5©‰IËèÐ û(.'¯Óã[a*@d`X†÷mv¬žì¼½îð?‚p²°”ìx/ìd»ûXõ7?ÓÏ`ªW~K_ìñ`ÏvÒQŽA†Uo »ÔþiXfGènÞfs­±ËUJ.Ø{R,ó‘S?È`,bÎä&e¥"ÛMö:ëëD M^½´ ݸÖMˆ˜.ìáHÃÛˆ~íä±½‹ãÛb”Ùm¯ÕYŸÏÚˆ,P¤5WaDâVXØ´"䨙r.GµÜí+j3}®ãÓ¯˜„@>½ñlj}hË“1tàÞ|Ÿ5D}ÂÁfšG7SQ“–0(/1+,aljÒkãÓ‰<ú/Ö†Ÿ¡Š˜ö„_º*-¶Å£—Ü1^è?˜U¼—#ö÷Šlµië]§·‹çÖ9‹Š#¬•:+Áz€ÁSœÏÁ×õ³l?±äDDòSfrô¾ä„²Œ×'- F’$š*¿™°ÚQ€³´V7vU‹.V2AŸT¾¢UϳØ|=ÑæäÝ1-9«*óIl6Ád¤D¾BIÍ z%ZöhN:×¹v™yÇ–IƒÆ©c5_‘¼{`ö~ˆßTð%‰]÷ÊSç SøLfJï¹°,4×¼Ö¬ HÛðh6jÅ´ìŠÀMj40Û6à—GÉ"HŽs¯/Ú°Uþ-[(›ëõøH÷í³MØj+ÂÚáÞ´ÇS…P ´k)"[¹/âêæÿ .—мßUÇz_¡5Z×ÛáÉ$ÚFÊ#Ùí³7Çàäïü5q#} Î(ýžU‚Ù‰B V^SÎR¾—@$›çá´OlZ:çoº2ÎÓÅBW—Òëõ±C ÃÌor-‡Ï\ÀýÑÊ*åv¥qµŸ(`(øq›Ó¼Œ;p–bÆ.g…‘Näk¯nZ£ƒÝçRµ0 –²Ðн¨¿Nxo% 9d %{ˆÆ†I ù>{Ã.(ä\µ3Gs@*´úA©Öƒ+¤àr´ÑxÏRÂ$öÒâ =y{cÿ—ØöC( íŠèœ2Èù&¡EŽZXÖpž& ÿ0loaF­;ôÚÔ;³Í‰µuoûaʺêÚµo ’km½•ÚÁ§U 6$øíÐÙß÷¾çÖ«âÞ¥´[K+&t£"ÞGf0d5žéMÑŽËÖ>"2wÀü.B²Ü&ÙÃ]yrÖm+ i r½ú|ºx#¸dèE+@¸ñSí?c^y¹–òÆØÏnyS—_7,f€È—ß09«Æ`MÅÏ’„—q·a¼´×{˜…>WǘúŽ¥KS`Q00 ÕA¹Ý¿€Ã‡l‡Ïfz¸´GHct$~-!Écf3'zÊa,&†WÇ´ûï“(u’_Àˆ3;¾Úð†5/ h-\Âa„¼—?·Ìóõt¸˜þ÷¾jh<ÏŠ?Òpÿp_w´”RÁÖì"-b#­Kw“êhŸ‘äi‡­%âÔ$~ÅМÄÓq;û‘±¬ôµOea=“朠r°h¨´áÎO–ïø˜¶`òW áU+'-§¡´ik{¦ Ù#gHßÀ§ DûQ~d­7ñ½—[‹âA[ì§þ1‘‘[Ç«? oÏì,ÔÛg§ï -mj÷ô4Ý. ú¤‹ëˆAÔ½Ì7ø¦^-)™úLhìz•¶À˜¦ª†ý·Åí\{÷±àÖK—S4{þyõÓyý­„Ü  éWå ”Üz‡ŠòøÕŸÐÃÄøuìA§Œ œA‚òZÅ¥…ÍN·þÁ"µ¶{FèW†ù˜Ž·àY·ö‡ä¹Svš WÝØí³•å“ó?šY†¢HK¬/ ”£9[ª¼M/ÅØ‚Îie‰ºZÇ0NÖbHÚÉÔ·g·Å' ͘>V IŠ8Tðw9cÅK‹Lͼía¾WxjƒÅ˜˜¶¹‚yj̸¹]],–ú‚²RÚçÒ.úêÿjBuìQ¦éè@»#œ•Ës¨+ÎØ€--xH?ŒÉz¹ê¡§÷ «ª³ÔWŸÎ•áé”*®ȇ”h§í 0ê×C²º^ë ¹Ìë’±/9r$eHÖ‘»)jg¨yB@±á%²e¯¥€\™Üyz_˜¯~CšHs3°°!bÁÑ’i¡ÑÇ•AÉÜ9Ð8®™I2/6}]ËÈIÊ6|êJf]„ŸM-TÑŠÒµhb7Þ§WqÁ ·Ql×á*ùK$©Øè•ˤó6ü%.v{Á¯ XG±£¼…·IÔÁ' T‹A ŒNÇr[°ÃÉÑà“kî<› *Ûšj±wæû=ÔŒÐÀ 0(äã)Pþ˜Zi~+3RÎ°Ýæ¾n#éø4²-@ƒÑ¹g½(:éfî,²iÅT>ÏkÛxŸš­ÂÂS©?4y.M",ö ”™ˆŠo'™uUÛôˆÅK(’g,â=NžÏñb];Y Qb•ÐÍ„IfòŸlà+N~/ hï[¦àlOPŽŸ)F#¬€©4u¹Kþ ƒôP'€|‹rã1ò=ʾǻëæ”2ûþ”È_Ý Ýú¯vn>w¹­jéØ˜}%ã™H²KLŽ÷úŒaÌc¥ÝI?fÖ¹lÀC‘M=@÷MÃ%ìv­Ÿ€ÛÃlÆFNø +×êköp5 ½  ç´b›¬íÓp%y••@A(}I¶v%MŒ®¦ Öûîu³<Õm EçŒö»qüq"¬.šõ®ÃzŸ+Ìô±)ÇØ¿ZÁˆÇ"cøöÉÄéŽx¾ÓCN½åGý©5D—ǬÄ5°”oºlNñ7%aÏ#‹AÚà®ÍÛm{´Ò@O˜B{úÛ“¾²v³Ð*SH3È>pC?b°Ý>×KÅ¡‘$rjÅIä {æá_ègå’ÏfJ¤‚ ±òŒiÖW˜–øåû~ñÎ6×døç§òÍ ÞþÞ¤·˜iØ ø«–i,­&K¼nÐL D^¡æ=†áý„s" g÷ܰ܂§Æ’)0_)<äïýÜÛ¥Ô"5Mü©ÄK’³A¸âgY|ŠUo»T)ãnö“K5EV˜?¥  zÍÐöAÆ`RµÑö] "9Ò²7‘?à½ý±ÜÞnT§RÃ?m¦.Ñ›¾S¨rçT­dswä¡Íˆv÷IxÆÚ÷K;úI¢:ÚHSެúùú¿GGðõ½ˆj&’’Óöï? Á±PIº¿ÚoÓwé²&#~ŽLp×ãG²f/Ÿ„ˆ›.½ÏÞH¢ÓPß0üU+‡|q_ÀÀ,¬2»'›kÍÐâ VAä¾Së4Oµ#=†\¡b¼Ë¦Ý½%l?ï? 8îÝðX²Â©ÁÆI¤õKRš™)Ö{6KÛ=y[¨¢Ö OCÝåb[rú0k%õ”>y¡•t¤¼¶u1ãÔ¤Cßñ@ö󶩪éÝÒ²6àÛuŠp¢U°m€b.Ãåmß/Ä“”äÀfh²×Z¶ÿWFFê¬#"nÇâ7bÄm„\Õ×thìÉýr•ìS>…µÄ'•Þyrp6Õc”X8ÔâXú·u *`ÂUøþåžv1òjžæ1kÇu3Ò ¿ˆ•ÎUÐŒ@œqæÄÄT{9=àgo=±¾>—ˆí²ÇL¾^ºÖ¯ÅPXÞ"‚{ÇëfZ-)£Äýi ¶M˜hä;'6ï7á«íNá¦!í#>+¸{ÆG t¶“¥¢1?ާrOÝMÿzò\' ÷®™|ØrØj€“«*Õ uöóy´h|á*M=ŸÜ羉m®ñºµƒ¤±­vÄjñ`—&äïì‡'2]»Ï½§E8qÄËÈ6ò ‰dX¯‚š“T›îå1oÁ @µ¤ä"Ç`–E>‰¹‘LÕ½cèJ"¡QOk“GÁE´A¸®bÙ]øæ ƒfÉIG©¾Ë¹{ŠIVzOòÞÿ:ヱãž7w4Oãøär]teLßéCKòÁO ÆÌy©ôkJÅ)}ú(u[mK”2LíPø\]ÿÔÒ}hú fÙ»eu˜Rm:þ¬Ž!Us€i“ŽJ†»•Øn2ß4º„záà«É®Ñ[sj’Ë=‚‚S,¼(wzž*×áÀ¥ 1<2G:QÜê5%+`ÔLÝJp¶ž>xP”wZ\yC{!Eâ|d `*™ÓDZ—N>wÃyÕkÐ-ñˆÆÚ|ª,I`t `û­Ûi*Ð9Y Q_¨F†‚¯3Sð̽¨ŠEkš¯Ú“ï6œ':ÀC!ǽ“þYŠÜ»&ÒôŽ.^êS§‹›ÉZH+·×FÊxRÌ“Ñ47œáÿqZ=ê?J•Cq³8%ª}W_€˜à‹?€øÉÌѰ ¥x?•ÉèæHæ;üƒHB"‹ˆt–/‘[LÁ3¢7oTzÊá¡ãË+ÊEš2-ø$¥ÂycȬrE~`µ•ï=½gãµä( Ên.3=`O£ãÜ"!wõV§x†6-„(q-Ë®æ—S!ÍÀKb£ÉÂЇ~i„“‘(opý·ùø¨ü £3ùe¶ÊçrÄ,3‡؇Ø­;8b#™î"•9y?Œ½rÛÄ‘;{,ùyêì‘%)J&Žº}8°ž<íÃ$˜Ô §ª!Ì9Ö°‰‹¨_•*o7Íx5~­J'~8£ld’0|Åc'²Ç*¨¾ŒQL²”wscYˆøTP¨÷qÖÃ>[^@á%®¶íüs¼k¿ù-‹ŠôÞ}ɰRžR†Â©rVÜ€Z®Áà ç‹›YSÔk¯QW <=Æb©áÓ£W³ýÜòc˜oÑù¬*.ÓÐç„*°wCJÎmùÉcÓ`=A\¥«çVÈ»HBŠ'~8®Aáu¿ƒ$U.ŠS.1bëYø¡†³zé~Îoò)þ_Òãï/Q•áñªÿ»†`™ŠÚl§Úi¶M‡‡V6ˆ«&Pë§~ƒûýÝm‹-€ž¾”¤#Û¨ àËñm;“—y™ÅFPJ“}iw":Ím8`±z†3ÍLbÖ«[³Ì©b®MEøqD½Çæ<á¶øòfÄ#r›ŽK9¬^ªžü×ã[ÜO» di<ªª›†!÷*ùa÷*þjiŸ¤{5§ ô›T;oêÈ"¸¶¿RàÚ×Õ¦$TxpA›iÂþÈ5qŒxi¾ m…–Ýh-‰ÁöIÎÓÁ”Ç_‚·ÎÙÂü JH´¾®êMuÈ©“Ïj&ú¾¸¾gEPŸ‡ÕãÇõUnLϜ°]öZ4Ç&[\( 4£§ŸåÌèÜL½ÚäeJbÊ/ä16¼›3|·m•ÛÂp¸Þï*k©D ÃáÅá®ß>ÆZXµÎ&u’½É5€b÷!yêãZ½–kŽ g,î[c_ÿoM<„»5:–^,[ž$™ûÕÃE RÙÿgí¨¾÷SœFÂ-"#—ð8OüóR`_5@|P;›ÿѲ1I«ªQÚYÖe%äñ7=FcF>Ô¨-2ÈŠ{×Ô¾¾b£´Ñô4mkÄŽ.BVÉUãÛ¥£ú ÿ—×–výg·T;±{˜";¨J£×K f`yyQ‡í ®­/.÷z²Ã²n¥þ¶2.šNÇpwóñoAÁ:ÌïB+Ò¦ý2Èa›r.D1jšC‹Õti§.D'S7Rž11ƒ%+6yÝVª2ˆfºl¼ïË’*R*>FFTk°õÑdCt6þìÄã—2†q iô<³èkÁÔÈx,Qô/šŒ|ÂpÇ7úî64© ët~P:U¥±¹Ó)¹ÚD›ÃÿTW”À+ë«3Õ3ýbp^ý©&ý@Ì\ ‡G³ƒíž`Irâs ¨ÜŒ_›½‹¹ûŠ2pÒ÷‡C€¡–ù ˆúiDkbÓG)ÚÂÞ,…/¨JÊ4ìæ7ï©/ÒKo”BŒÿÄ" ULFÊ%;m ¯¯¡°I¤Póì a¤oIS3-¹Á#ÿù[ôˆÚ7m¿D” O‹­³dïÎeT†š6.öý7<£›CFñ'¥KK+Ä¢õá’»ÈÕ'ʽïP*OF£Ú$ø”e/ÛŠÛ¨•R|ãÉo“ºÛÔê:Æ¡6+¥»VË;^×r/‚ݳ°Y{ÒùàÒnþÉâ½Y.¿åüˆÊ—Q`Áp•@?ëÇ™_Y=é½îðSØiݯö fælJEâ.”Ãe#5׿àïh{RnwþŸ¤{½Ê~õ˜ºñ€®§Ó=Á>÷q_¼‡f¼7õŒì½š·7w9‹‰Éž ]w¶à¸nm¼°ŠO¢X1ž/qŽDÅšîK†Þ<ÝeŽQ‡v ì»`’‡‘&þB·ä·ñ„¯“f½©¥¿…Pšés\ÄÞ è¦dUbsQN9w^¿}ŒL4zEÛÛ´±—x­¦.ƒxó,£¯ ¯m%ã)„L›æžèÿ鎸gÇ8­%‘!ˆ—[ªÌK7&])r•йBTSÛ3êõCr¦Ôž™±½;a*nÊ{¦ÿhèÕbˆDS‡o™îulÄF˜v‘0´€+Y{ׄôÿ„SRí/…¯ùââ~J¬ÜÿE® ¾ðJÁt–?pKŠ£!DdÏûd¯–¼wU­Óx·M¾W,“ ½¶ÚÙHÀh‹8Ö¯m#Øì; [,µ_µRæ¤ÊÇÂFÔºy~©þîQ¼}ë{f8¡EË“4IÛØÒ+d™5Îy ô‚¿G^î¡‚#|ðCP4ýˆÈûçè:ªªO úmçƒ(nFµóB”¹2I?*’âM…Çl!ô½) #Ú[¾)—´ ÎjpŸ(V'ûܱôLwÁig²KÙ»Lª¶®÷£8X^ÓŽÖ°‡G^•fôa¾™ºIãÔ±Ûo,Þs܇DC§±Rž¢€:¯ý ®ýg|®ºêœè‚yÒ:ÍÊ2–8ÿó휭Yh‡@cQEŽºD¾Ê@<,é1߬U!6ÓXv¯·\î›f6ÖìD(Éw«=Q°”=ÙöF-Xyq'Àt¬UËhsq Á• Õ±pøŸX³¨ºi‹²ø½QCÜ÷¢s±Ý°‰ ¤Œ ˆØÔ’Â뀊 ~f: ¦š„þweø†yá<(é_K¦Ol¨ÁÚT0µKŒKlyÐ3-1ÝÆ‰ ·‹\ÄyTªá\Ä~…)k‰“8u@fõ™ìœ ƾ B$5ÇiuâŸgùktgˆŽ7ƒ °Ýd;ä›lõ bWîsD ÑTË;ïìÛ7¾¹l1j q:*«dž„ëëž!#ž„k8†;¬ ¥æK%`‰q"[ê ²?BýÖŠ™‡€ÿ9.,­ˆÓ¶üOX5sWÄd´ä^ƒ¬º… ¬Æ?Jí½<.xõÎÛÑXµÏúèÊÖêµÿ¡OdwmÂZUÐGÓ²6oú2G'éY 7 ¸b”Oò„\iK&÷0ëTj+›þ '# ›,ÈëËqš#9íc'4Àk0XÂÆvÈQk´Ò,Éeô«>[ÓRp€F-ÉßüÆøŒ*wºQŒ\ˆVúÈe·Œs‡n€øò+Ûp ‘ºÌjœF0%´ÉkºÑ{æä:ŽšOuýßàŽÒí…ôZËp¼óQàŸ»öÓÈ_,û.“S-¨:bð )LkïyDÞæ-Q˜ƒú¼û¸:…I·8ÀBˆd½\'±Ž—¾: 4¡¾›>wÔ„˜÷À ¾9ÉÜŒ²¸¶©÷Ww`C¡¹œq$¹ºç¦ô5ÄäBvFèÞJ ´›õ8y‘ÓŸ ¤è¤#ðP3ìBXúWT‚4Ü…D¾Õ#‡² 2Ÿƒ½µÝSªi]æ¯U›¿þƒ”>†¶yy´¶ë¸½Æ|¾;)-†º+Ž(aÁësBì dÍà8mn˃ÚãÇðL” ôë0«’ pì}¹°ûdöÃ#IúýÇÁ³Hü낳(… ß)ƒP]áßE®¾Ÿ/žgyWdV;L]ï¢í2ëÔ»¬!é.^k¶vp0~>Ú}!ñÿT‚dØ_µ¢ð¡Ë`ŽÎ2¦g£+BΓýÒ^¦˜/lwŒv¨;ÖáSͦ†*±X@‰µ3€áá+M­&ØW˜¯ò¯¯Kë4U6”qn€…´‹M·_ÒÕz2­Í’ª:pÕá]öØ@“ j\lÌpœí€§FÑÐÔ‹Wmúv\fVr%u7‘Ú=¥Ÿ<­±Öœ¬RŸrééÎ6éwÄͪ $ö¤dïÍþþQ…ž™*d‹³~·\süùØŠ«oU$¯knëà†ÐÑ+B_ÃÉüèmóiœ.íèŸðâƒz x­“‡G¶U0ަƒré‚Uý 1Ërão%§5)Ï噉†ü÷,CŠ.JžØêwk jpŒ-®´¦"·M‹¾°y“!^–gTx…¥“[E'º€&ˤßGi³’…\NY-æIf½šgmŽð–F}©žÕJ¼Ó.Ђ™’ñEÏ.ëä%ò•æ<'! æ3€ø²ÏÛ†o]ºl#¥ÀÁ?d’^›G"(mîÌÍmÃìåéd¹µÏðJdÉS(²‹ˆk…ÔW8¡EÈxvT¡1—µCÛJ³åU&8l"ùa‹o6p]Ÿ—D+G…èE”Z{Ž£\ßgg²bžû«é@¿ìw$i ž€-?LÍ$ߊäe ÅgVÁA1®¶æŽõ°°) ›|f.7%ƒ":™]+ªŸìþ “nR ð ëÆz›ÿÀmÂZ®LZ…SqƦbÈ |µ_ 7–¼ƒíÅÜÞ‡nûÆÀmJƒôÎJóI/½ëR*ºé` »Y£Œö­`løÄåȲÞêõ/atTùxòoZ‚£%Á»ÐnQê,fÖ]æR ü)Q6¼ÿ^¢8E†w(ãÒÉôÕuäÍSfcÓ„<5ýQáÏç&ŽÕʦÃÍ„Ÿ@Þ/õ*á dûÕ3eØQdxå/$¼uÞÁš}¢õî)ôÕ5ê>^~,§!–†G×=v3øÏ¨4Ÿ( ÂdHãNcî\L¬û‰>uuá<ÁŸâpѨŎ•J„1 Âp¶†‹öÀj_Ý ÷·c@Vù“n]eD›uò5üY)®@ÚÌÐcÕ†ø5Viì•PHîpM»týÞSLÉ Ð a3Æ|²]Ÿ&°åï0ÖÙ€‘Zü!¥MêdÏäU´÷õÔÐ,—™¹¸Øå©BXnzó?j`åGÄ£ãHûª²-C•+SŽHœŽ¥@64‰ÿ´uÀˆEGë½ç—<ÁÑõýÊÐyÂ&î纂EóåZhx9™§GK»ã:ÝÙYÛSh?Ë]*ÐŽÝa¶¡§HÀˆ{Xà±»3¾LwñB) r.Úö†;4ÛÅÆz„ªèJå â§7b_dΦ¾9§QãÈË­³7PöÄý09Ñ_s.øQ‹7¾° |áç†vhÙˆŠçúàËÉuã,”Ïb!MöN´÷Y3ÃQKT‘XNñò,^¼FYßàNxȦEÎá8q¾_~.!\Ñ& O{ê€H}Çšoª*ìg&Š3íbÎ%JXJéHuÅ‘é š¯Ûá¹ y(ÝBÿF´Wê¦~·9½nG9{EH¥y"J0IóºP´÷HA{Œ(PºQÅó ;eÏr>ôò~÷»à‰ŸÚ€Äš;r"vY ¤™R¨`H Ÿ€VôÿS® w¨½¿Ÿñ þ»®á£äSZSB¦b€#GTg¥«Ë¦j1RÞò½sYOúˆz#ÅÝ´@¨íijñÀ¨©â-håRìqtÐæúžßÞŠA]Xya}ó•*ü˜­7P7ã–߇ HNF,bJÆøÐHªéãOOöæ:w §Á2éQÞê1z¥[2]$þ< d¥W£Ãù}£jjXö_mØuh3êËLãv=È­êVÙw͘?bÌx'°‡UYõUMX«‡‰­ ²tziCdmÂJ±Ò‘ȳ˜•A·™*íºÞm&d"-×àÝŸll¸_x™VÌfå¿ ¢¥]è%ÎýË–%³Ä~ay#)œL`m"›Üb¬iÎ],%€’©!æRQ ~w!²ðXΪi,ÏtTÊWH$ÿúR‚2­~È{«½—$BB™S¢nêþÆüÙEbhôf\QñŸàËbñõ°ó3ýwÕwˆO!B UsÏž <ˆˆD-buZõ­áßÀ_xU Ghä8M®B²Ë”ì絑‡ø2 Ÿ{IK3¶M}×?ôªÍ}ÑñVuõ¼fĤ§è>æ5à{0iç¾ÐX¯›ˆLĉžÓ-N°[°¬Å„&ö"àU‚Nåsm< Xº¾«jnev£xwM¼09ϲ&þÏÚ…ÅÌ0z﨩S‰”„JxÄ•ƒˆ‹JnÔ«á3‚yMå Ì#KâÔ²C°ÏaŸéQ™AJ= ž˜ 6'úÂ1nps‹ƒ´r™v– æjÑ›c»È@epCÝÎ[?  $r”^ ¨îâ¾( Àû8ikìJ{ìùÀ/sOƒðªå ™]~$rŒÆ¼¥A?¹ÛCøb/}þ¾9´y¾èu$¯¤ìiŸÆE@}gÛ¼*‚ÖþÛVûÅÁ¬A î ÔÚÔf'Øp)_Û/^SE”5p,ìršH…¡|²g`ø)Ò g8w4»òЄmyÞ¥öhzÅŸólQÑ,Ã|ž®]öŒãÙ ÂgOà±€l6™U£˜gn!@ö“>* ñP „fÏóúQ:Š~©[H©ÛÓ¸ÚÉÞÑ:÷ÐvØq ¶f„‡ uÀð5|µÈÆé«¤Q}Ê€ˆ›V¢U·gr¤çà÷+ÊH SƪÆ2=g/eÛYÒ¦~1e÷ 1Ÿ 79> f§/ ]Š^½—BRï5…lÀ£Ir<«aš vsœQ$®2%äÞ)[çФ„>Xpîº ©!QÍ’N项³©›#ÒÀÛ ‡7dRö–¨ vSL[|Æ ‰îl©cª^µPm¡ª°¬:Ñþå7Ö+˜ôH<&eá\½(°ÄR/qò™0ŠÊ¥æ;éŸ'Í$fÚ,DvG*xåË0˜Ó¸®†.ýšø@XaGálç!Q ¢òïÃÍÃÏE,—.“â˜î˜U¤±Jq|ÏÆ!ÔaKÓ$‹íw˜AÒHä!Œ…@ÒË¿ÍéÄ¥®,G·îØTTqr}™àÏìn¯ú”·*ùrvq±A‰`Üá×®ê„ÿÚ÷H°€lþ[2ß°=Ò§*ÓßAµvôàr ˆe èЊ_J†‹Ëݳ¿´ÿÁJpX6ýMòžÓ&ά°ðè[r—ÖíÖ]Ò+¥“Í:ÑÅ}ìGÝÖ¼°Ú¤zx|:2vã” •ÚQô9¹oÞÉâ:#Ot¸bpߺìÁ‚%†Ã\ ?ŽOæzäš%Xy >Ê£ŠœâwX¨›¦M6ùÑÇÓC2T êÌiÕ™”Vª ”ªÎ­ºU&ýÝ‚ÑX³´è Mäàλdç_Ú¼¹†bÒ*d÷WœZ X.²§ž€WH@` 3ús}8d‚€m„90s‡ªš#Gð%aôýo¹Ó_2ŒˆÑ‘ySr_€ÕsøSô&tÛ&:fgnúc2q“K’¨fi4ÛÓávç0+ õ¸zÕ5l4*wd©‰‡«’àéìe, }oÓÕ4TÏå/ȵ9+†Ñ5”^ñlU²¦\ðô¨kEV§~"æ)8¸¥Ôh0›ÚÐîW×,eð©#‚;uÖǧ‘zÏâÀ‚5‡~Ž7z!ձǮ±ç¾Ù߸ƪ&÷zê7çÃ|àÔ@%°O3äPKHúÍÌÎaVք΋|³ÑF~ª•+› ëm§×À§Ÿªã$Çáî¯ÆÎ¿Öÿ’þª|Üÿ½V…ú¾å—Ñ#L8èÝujÓ’IDòÏ}º÷ÃO÷lœ»¼ÀúWƒ6÷¬Ã‹÷ÏÈñ_Ë—öo q%™MžXdiÙ‘"åžx-a“FÊ M¹cíYGø¾Û^„wC:µ_¼|Ú£ƒä_)c˜B.æ·Át$°–‘3™®¡?@{¨LÕ‹žÏÏ(cÑ!…ÑÄK¯‡jÊ=±ÒêúIøZï0qÖ3ÛßôaÒl­õ]Ƙôä1f¾G="‘§n“Z»’q[Á ÔQó~´<€S à`Jn;­ lÖÙÈó|»óäZ8ž˜Y!.’ñEçͤÆÌ„À¨Dö *&ËM²?/`º”‹®'ó]äÔÃ(¦ª§ q—ÝúƒÊÕÜhᑺp”²Ü÷¬Ë:œ!ÝøÐóÌ%c‹Ë”üû‡Ñôž¤]ŠíÉ÷Šz¢0ö»;üú¶ÌôÊÍŸôKàVê^óüM&Ö E\€Ðn^j—W²ÕÈl«âã¼Ú žb¶éëþ–ˆó"Є.Ÿä­íW”6n(}Å{Ññëú“‡'‰9óC«äw#(SÅž©`¼„vžtfìõ“Šö»SæsY´{+~7¸èÇ” °/4L%¬Y:ܱì]5±´‡©‘4‹º¦ŒÕ”Ôö#v¨#òr§€g9´{ÐŒL[èAä‹®ŽM„u#H’À_pFŠ›B e’Ô{êýnÿ=˜lòîklv‰SϹ¦(:÷zZWÙM]cçjgRyØ+à ÿrUw½‰Á¯ñëow5ÖQëýޝM & ÑÃ@Ÿ »úT°]ÆÄ>îjQ÷ˆêNª7vÿã)ÕI|ùô]›Â»Þ3 ,ÏýY¯Ikн¨E:zvŒé‘Ÿ1J(€Uí©`ÎV#ÒjJ1-àŸÏ}ß]í˜d6ýÝ'°¹b«êP=®Ê ›e|vØ¢±qÍ{¨~˜t§6­^~u®:‚­Ÿ©¬É~oã©KX+x“Ѹ$ES=Îþ­Æ.ÐÒ§ñ¹GgäjÏQ™cÈ,„*e Koh …2ÍÑùâeH•*[þÿ›’òFˆ2¼û£ß~ymöR½žéöIª…AÜÙ ”ž ÷žË1WËž3öJ²‹ŽSP¥8Rð$XÜ·m­…«¿e™OºVšÎê|¿G*ûʉvÂÑÒÍ:T í"t®R‘_íûò—ü …´ç8‹‚hiu@Ž ¹Ù‰`{Fq@Ūb3ò‚¡ØÏUz¯Ió'Jó ü¨*º Å‚ó¤×Qi‚ žb›ø §ƒš:'‘A¿ãáh&y2)Ó%¯Ïño3E, Å”%Œ"Þ_Zøê>˜–1\v´¨¢YÒŠøç¥WëeaDKÝ ecËAù²c5¸>¤ùs‰kÉ©[æ¿Ëܺ_Q—WæØ3ÙJ”Lxƒ¬âº2E«À‡Í%âÞЇ©¹á9È$ì>ÂÓ¿#¤º#è5ÇTO\NÁAŸ'j¶ÅÍR,p‹K›˜1j°1ÛƒÓÄnZY 0#4=/Ó¦pž©äFÀü®³ü¼©èÐÄŒ2;U™•pR)H3ÜVù9Ÿd±ô¹Š0Ý>¿™ÆprÆÑ$Xˆ¤ÑåÊÑ×>²ÝÐm'ÛªÄýŠO{—èéì¢L\[J iªA¬ûŠ÷÷fD°VaMP“ÇR°á$Ïž‹Ý3˜lu ZÁäÖŒd¦1Ù.oŽ.³‘‘”&!Åžšu±ÚÔ4í¤¶_A눽äJ–ho·¨ÝªÆj»¹ûʬC õ±R_ߥê`Ñc¶“î&9o—aã (M IîKTQËOºz@’âé–YNAºo°M×DSXòáH —wÖeKÔQf“[Š×·&ÖrÇ«‹Ã,Ⴧ,Ïtˆ¼&Y(ƒøµ%P0|Qòt♯·ùtZ‡Øý}Û“Û¨â,·Dñò; )±ÈV=Ýy:ªTÔË0ðèj†ŒcÝéf9½ÎíÍšö‘£/¤cê Tñ]5é‘tñ’3ë[:‡"góÿEOŸ*ŒVû%Ü^çóÇ€À×àÅL''/~Àôl`s¨ÀÈriä°¸à­C¿Mœn!$%9š½qÓ ŸÕ›÷Ô³IûÉ33–Um`çpK*ÞÂÜéA§šÎ5r¶äÜ®ÌÞ I:VOðYžQH“Àw˜O“¼ÔpžNÎsôÑåÎÈýd  Ì›˜æÆÝ**c;À Ž–°?¸‡Û°§ gÈø'¨¨†Ù™ÇA;ðö­|;÷€ÖláŸÜwld__ßZî€×à“™Êrfˆ¦]Õ¤àØ“y7¿ãÍoâüLA´yìÎù¼}Í¿J’3¬‰ªsáuߣûT:üà¸ô¯që_1ÓÐ|õhÀ±âÔè­>ü&Ø»ˆðD˜’Û/VVš#o‹°âÞw Šô»Ô‰_RŸLÉleGÚ¤%g°?:šó.Í¡n ²3˾1&ê¨y{m~;ÎÜùœºž(w†ÓkVuçû—dÛŽ¶‰]Õ¤…E!ã?Kø ¯Dlö^¿¢&à û¤T˜ʛ̅~ha^Odˆ*ü»}RIÔ¬ÎfJ?Óƒn ¡oãÍAwAÏIcÚЇT’½z÷Ö »6“S|±A¾¼Æ'QW…Þ6柊À™‘„=œ»hedqfÍ•ù/q¾: ÑÒ°û¾¹Ùzì¯ÙÏ)ÿ«<ÚÔ+f‘üøÁµØ<:Û´$6©ú>Nû©½^U“û0|}îYÎ\‚¼ÌÍßi'm/=õ5 ~÷:$»RìÓÔèß-‘³cD]ì´7÷hšØ\à W+­B8ýfoa^/J¡×m(ÏA[ #¼ýR_ÎM>oš—]ÖOè·.v‡oPl¦=a¨ë‰6/K µ¯„`Š:Vê“]%éÛ\Óäc,&?‘uQÐþ®é%ûórp±Ï°,Õ¿¨v3þ’x´Îmêæü Øó“¿?f(kt¡màuzz…±%ü‰€쑺H:­²*°°ë ]!€Sï’C5=¦¹¯Ñ'‘ÞRÔª…&ð&…IÝzU¹ÊW%Mâ·U™Öëeÿ‡Þe}c®ƒ¤ó‘j¡7sJd–ù:ùÃ}€ÊߺéÆsä‚óÕ)ºÿUCîbUÞŒ÷;Þ`D·(Õ}䏯Úÿ:ŸvE«ó⺉Ey¢tÏõÔ}ñÖî¦ùrn#JH¡ÊqbU[ÉÌZњˣ Ò Ìˆ­sËydNÑ irkÔV³”ù¥}.uE¬Žƒåtµø0ŠÂþõÕ'aø.‰_q ^¤ï¤sPr?±Ð r_—Ð'øó+S_AxÕj¬*Òô_𓂬ÝR‚壘<úC ™FmÅ­ç~ž† íwy¬± ¼S“#r)$Ø@”&›:*Š”b3¦ÙŽ”­Z ԫ¨½â\jIݘéy—›¿‰1…ìe¶µ…ü)Ûj‰VbÒk#þ¦ˆójS¨Ì8HΙ$¯Jý"O¶™]/nÀM6öXÅh–M»Cž!;G¸€dJe¶ho‹6x0WOc×´àè¨}½Ñpíûß*°/ R­eHÈgw~v|0®r¹¦‚/-P4ãQê4ϲ„L·#fD% ü¼'Ñ @¸íâõ¥`s„¾âÊÉâ*´íö‡¨\#Ÿ¨ó"we^{ᆎRBŒ¥4å{(+Ýõ’"?Ïù."ÈæRteÕ+Õ.H¯3ÃÀùø²JæÍlð…  ÖϧÅ[M¡Õ’”¡J…Á _Ä%0öÓ ]yQS†çÀPU•ÔãEmâ£óòA¥â†?*Å0¨\¶n‹e•#Ï> pJFÔ=ˆ ~…ûŒŒÌѤ¹"Õ¾í$6ü«Ú2Ò¤M—Îô¦´?m“NW:†Â 4-çÔ’üb_â}âЋA  8ýœ†ÒÎQh¯sºS¯•.OFqš:íýwiÖ>J'—ël³!¥âV½êÚ˜õ½œ×õLZ)EE%ÀhK¦’ ^1o¨4ŠËqh¢’Þ§J\©öÛ÷®M®á&}B]ùéìTµpr¯ÇªYè‹ý_†ŠÀ½†‹¡ }í+ø|’’Çýþ¸¿‘ û¾\ˆ‚ºB‘)˜§é‰¨+Ìñ1S/Pʼn yê¢vŠ—!dÀ¼îAqnTДt–>)ìy†aq”,ì¨Qµãƒ¸É•µétXÜP-À¶ÂéoeÛ å%ý„ÃÔ1˜)Q˜V&Íiu‡˜|Øh"›eû‚lo¦0.@å’4Δ€ÁJ\‚Š¿³sðŽzÞÅtå¦.f[S"›QÂrc˜b¯ïÂr¿vô±–;ÆJCðÌ9I…‘øÎ{Dªædqg^€Åñãã²~ò×ÄÓ;jŠpShÊèP‡^è­öˆÛhv•l‚ïVF9S²¹Â}£s{î#k/)³eAXô¡%~®bò€éjÿ—WN-R‹»ÜúÁ¸æ­ÅY¶+çi€ùæÁÒiëˆg [wKÉDTfcªÝ+®ü¼Sù³ hy¶½A¿O@&ºq…çcŽ*&\̹ ßœ‰µÑHŸ¤;V[Ê#‚%4|ÍHòÂæ„?Î!¡ÑWÿ•íÈ Ù˜sª÷Íþ°­àø¾Ò „éÐelkâ ® K{ `Exˆ ò³‘œbyµþßÌ·(Ëa=!,ŸXjo1Èæá­=㎮ntœyÙîBþÁŒÖµA[öØ/Œ¨·´KiùÓqë¡Æ€ß U¥ĘèŸ&P¤·Ÿ¨¡ôÙÜ y‘Xv Úë=ý%h18£p]×{ø}¿ÒÎm“ùÁ&sÑû›9³÷)µoÄëÝK×nä?ö‡Œlµá6m—!µ.;À¿AXw~kÁ †ç%›4Õ!(¾®ƒÀ.з. MõpÐ5W.0o™PÆj‡-EÒߤgqìæöÉ8ÄñU— ¿I*"e‹Âå,®¹ÿ%Éü‘C›(!Š8Aæf=|l^Z¨ Z%˜*Aµe7Ë7´JLˆÉÍ=ÚðÌÆŠ¤`_ïÂÉÈW†èw¶mÝá‚¥ çÇ1cÇûÆÖaŒãqJ!†'µ-¬tÔ­¿Dx‚ICÇ4k°Mñ‚Ó<4dIiCßÚZ­{j,~jøÃŽ•¶å}þÛ{ðá³µâ'ÿʿРÀ´…ÚsýCÂ.™­çGx`Ö§¾ìL-~$Ö;ÙNFµÜ„ðžDx†éOX”ƒó…ˆÖ%"Ü„xb¹(qùÔ Ô—ŸkâLŽ&'.¨ ùHM`©rŒ…ýNAØÛ+§2íf F‰®¦º"XLÑ ŽOºRRúF¿~Ûq8vï‡zN—Êt%{ \¡5l|ñ}oÑ¿[›n6fEíŠWêpö#`Ü!ò j2ãˆX/Î(mÙÕ¸mKpÓY"šôp1Á§ä…ûÂó²Ýă6,ãµ?^´†¹’a¤È#l÷®mPIû¦Q”ÌÇ*^é@9ðõÊ(ŠôSt[¹UóRŽñQ#îçrT©ÿÍ¿ Øk‚Ó¢"LJջçqeJñé¼¥ë0Y…¢³8NrŒ4ô‡MùW ’_©7ì{Ï@ä³`?³ÀY¢ñ]Ç<ú Ý[‚ IÏUvõ*hÓy^Hà¼Ð&X_Eô® e©í©Ìöúepf¯–rÝ5/ƹt>  2?r‚£$ærðÐL¡¯ûØ+¬“mÌ¥MÈi CÆhUç›Æ^Õ´â–|Å+@餚ý¾Ó•VЈG ʾï,<zz•â·7„}î×ðö hcиºÚ}Tò|r‡DsÍ+ÞTM5|Ѱ¦Œkû®]?‹Ñ° Ý‘çŒw6È0ƒrè3nH7?XxM>ËBTׇÕ}¡Žd!ÕMŸüЉ¤µªo“ l:>rá :áb¹J=%T´Þ bAh×9šu)Lȹ€•4‚…·y|QÚWÚŠ§’) é5Û°É1!«£Ü÷ßu(Ô›cù¾á-r‚³0S¹bQ¸Ò ’ ¶ØK00Ï~—Úå3¨q†Êkîž¼nU¾•xF'Ñ]`G^¦øvå,ÙÁ{z=w¼»÷âføÄ_—ç + ªc&ÉA¼ ÕæjtUV WÖݯ|Gv‚ ‚¿×¸Œδ*w+X­Î¸×{Ó“ðÑNü„ÜEHU¶€òbÓû%…ɲÔ3(Þ,¡víÖºŒà¬°‚–¢«' :…³÷m‡Ýf)Ð>l î%¡ÆÖÿ¿HËîGÓ IX†øØ’»v"¼Aø® öw…lËA£e”–™YÄ @ØÐ6¿jè SuT;àªöc:a#âï±â^Ôådƒ¶¿¼¼ñé«q²œ¤×–vçÎz çBÿÿÿ‚h¥ äü=ÕÿÀæÜ!á¾[J:ÅR³§_GÉ)C‹ºÕMŒöÁ,×›ó`g?« ÎøTÆNUAÉûù%³(H²" ³è÷ºyî²^?ã¼Qt6O¿…Róø£ë”@lžûðž_¿JDôY±ßöÜÅYtŸýÅeîpæÓnÜée¥ø×ê¶%Û¸Š´ðîXß<Rx¢~.91«™ê?¬É.›o‘PY‡„åªÁF„ëì»ö]ÃçGª‹`Šøú¥­É‰[)#äÍ_ô"oø[6$SÉ>‰M¬½•áDóÙð'ÍTÈvžA•KøÂYqN*É·ÉÉZ™‹s}—¹’c±%xî€`Pø'‹e79ý æxùHVnYFÊ”1®*Ò«'g}÷;r®³¡SMbî“Ìq~ ;âÈÆåˆ8Å ©![/ dTñoÇÍæA®š9ô$ÆÀnûW©÷B^˜&Ufœ1¼ï4§ò Öíŵsž\MÉHŸ]8ËsÎÈ£ø"X¶…Î}¾h• ª†…iíùÈá,ܲúƒÎ³êÏ'Ácè ½NJqàÁ@±£ÆUlÇNÉlZ'Wƒlü±·ÑŠQ1ÔÒO‚¦Ih ­Z¯«ƒûð˜ëçÅôt§dÅGsƽ”œáÈ[>ئÔXžw‚àú©%÷dóœî_Mx¢âž褯ÏVI7Ð%æmOGgƒWM`^ó¯Z»V¬}çqRÂ}i:Õ”Lû¹ðÙæ_G×Ü¡À³™Á03Á©Û"€£]ô~Ó*‡§ ¤uVjšµî-)QÃu€9IEïh'¦kšÜÒúÄFšÏÐÉ’И­ìáÅ=[ƒ\ij°½•¨…á}2K)EÂ[aPôÊ1/*§#ó]Ò,‹ë7þÏÜh¨:0;Y4ù ªrÏÆ“ftÂ8SºyòMY›ë°ÀG\#=r1 ñ™™«ínp˜‚ô:.Çð¤•'I¡ÍŸâÜ~øÙŸZ“pÙ]œ-ñ2]z‚ü’ý}“­÷vt{š¤!ÞùÃ7|U͹ê2¤W7Q1Ïþ+A¿½¢Ù]>âGm¸eG‡Àɽ‘վìoz­~Öwf4&Ýgœž¿Mã4Å) l–ÐJ-–ê»äòËl§U5H넆3"+„è÷ÊdX£sÁ¸û«Oþœx ´ÿÍÔ·L ¼B?Ÿ~_ÜÛøŽq»Œ -UóleÐXU>?‡ø)€i¯hä”ÏQ¸T:JÆ‘•„Wƒ4úŽgö‹Â…lÈ=Ô¬g“>ßTU®v`à¨NZ5\Þ¡­']Õ·óÝ­ ܈uŠì,hך†Å†sð£pûþ¶+\îž¿Ê"÷0¡`;ôs¬PúGT b "Ù[ÇF¸Yé)W]Ø^06i“yg¸ny©•B5öoß ccÕ^/6»Oe$~<‚–ȇ¬åV^«~f c"BH±ªæò›×²4­Ày“¼ÖEëkÛ¸ýÁà5R¨l€ß±ÒÔá³ðIq¤=>áI)Û>œcoÜP=ݰoØ2o’ սωKBŸ&4C=ÎCh®{%Ý×üE¿‰¥f„;¹Ñë(žð »åÍÕa™$0†§ ïÊØ •`J)gÔ,îŸqKnU†o{Kê¬7Gt…òN82ã?–y¯°~ˆü“µâd9~5Ê. aŽÃ¼ïþ¥S«Uc:¥etÉãÀD†DLt àÙL³.„Ó*œ­Î´Yž·R)šzöí|Ó 2üöEY`wy.Â^¿×ÑUé~ì¥%ûñ]½6±`s¸=Æ[PŸüàgìlQ b(‡\€)ñü¼$_Û?ùP¼Ôî|äÂÇ4ªŽ0ŒÄŸåêjùhDZYl·ÿ­0Ò’‘ïõÊ¿§bö‘”»(RÒ?9•!7gßQœ˜ BÍmÃÀº¢Z”ÖÉVEÕvªô¸F9»F3.ß6eÛy@j1ù %Áoô˜šñº¦÷OÆ^ ñ÷O¯ÍÚH«¸´G9GñªÚ‡uÊ¡N;ºp}æÖbT4ôóžÈ£ì>|ûNŒŸ•¥Kü#náÏLÖ=¥HP& ܳ\«aOñ}?œ“‹ Áœ|ÍB¾2Œä m3J‰_7Šd5ä¯#Ô?©)ñ/#(VÎX¨²ã­¯w›nr¬ùé„À/‚‚jŠž;ßõññÍ ïÐé9P˜Œx¹ó>[ˆ¶éËÑŽµdý¦ÿÅßLˆ šX§²žÄ©¿&Ú›7Ãdƒ¢¦²ñÏä˜IÚ,ã ñ8ü}]µ88績8‚è7°˜wé4Þ©> 4åÑGšï^G®z`y5x}¶§Èa*&¦Ô?u8šIIÚ²ÍÆ8DkcIAòb  †ÅéJF¥—;¢þ;ž(1nÞàÙ’sÚ¾sü±ì;ÈÏË7¬¡_J5ÑywÀ ÍA‡ Ã’?ñ[äÚì–£„­Uü]¸vÿ$Õþÿã-¤?/.c†ââØÅö79éÀDÒ‚^¸® žòú)è5.è™+¡Á`8¢²»äUÔdÕ°ñ$ûTÓ¦qÜ&Lc¼˜s„7ïî„,ºo¯vŒ„H“Bð/<›°4n†ë‹‹ct¹B|SÇËZmÖ›ö ¸0âJŠ}e­ÎVêNÞ«s¿øÿExé­âê2vwô[ eKC÷'oPeä’Bøó2}ï!–ªtŒúYã=’¼{Oê‘× óÒcúD`;#¡¦«©ËI‚Ês1ÍðÒªé Æ:û­è0Ó|Z ãßæ¿×Ù²W’“PeÚÏ£Jp#– ö=¦O{²…yí‚åÇðÐË]x׌í þbéJTÌíLÐ 0jÕ$‡s±¢µ™´2y¡k42š¥7€ÛiäÌœ›µ"üs`GÍáÉSNûK Ó‡Ú?]"5YþÃÀ‰`XóŒ÷$ˆä^±7I¢=fÊR ¹ŽÅy®¨CŸH±RnGÈ•Ûå¶Ö–‰íeŽ U_yÕ¸_¬ì˜ËýÅÚÂz2õà³(l² wõtäx(.¹:«@†,ƒßÓë! (à±é«–7o þâÁ­l‹¤=ÊàïgF‹HÐùQ­ ­ü¨K8)]? üªÈ~0!!žT¥iÑ,Ç9]_¾-A%ãk„ôè¨zÈZ·¥ûû¶eyÜ€‹&¶…ÞK—n¥9I¦{øh‹÷yÝÓ^ ÇJÝ—dØ}1Œ÷ºïŸå…pDŠ»@n4J²g¹ÎL¬{I \C\î:~ÐÈM=; íÕ§5¨"+tQ£ ºDðÜti_ M±á.ÜlóIôö3XŽŽýòéý˜~z+ª¢F¤‘Êô'‘'CòÎ:ÕS&„Ô“ãôÅËgdOtЬ±e]¡—õª_/ ï»îSs…ÌÞ¦·Õ—糖iÜ]†–«~ýŽÍÏE_6v<¦OÆL‰‹g„£±…{ÃÀ›¤¦³pÏ¿ / ÞoÝk„YÎq~“PÐÃn¾Ž™öb—TYê´>ÊöõP99Oéäáì®E´d#|ŒÅ·‰S¼Žɺ½:’pœx8‘ˆ¯2©;Ù嶦àõ¹>b¶ŠC6L|JDò(ȤíÓÃ@gU„ì§(è_¹ds€`©•$U…7NB]=ì¾j×DkCi[™£¬&ÞQcKzÃÞ;p(E8þ?±w =.K¢1í;«3¬}º šÃ½)æšÇ¦²²'Їê*… ZÕ”µùǬ éq÷,F]V'$<ʳŸ˹Øòzm¯¥¡9‹¢øéVp:QJ@úœðƒ3푱15’gz˱¥C0ÍòÖyÊ&éL˜kÁA½Ò±¡êñt®h®Q8¾q’k½éºªTjŒtÖ“\<ÛØéð¿àÛ+@ŸNææ…9Zˆo3ØZƈR5®-ñy"±Ý!‰?Q¸9¬áêYèw׉‘'cš²ýk 롘DØj\ÏJÈT*i¸éâ[FÒuæÇŸU©c­÷ê;p2–ÙïŽ]ÔÛû*ôÎkN¾‡cmšwû¦þSIaY”ýŽpärv¿Ø¶$ì9a¢:4=×Lñ@ÔW‹ „±ÙϪYƒ#³!=¦ ËñG^†¯ß=ÉøyìÁåߦb\ãÌ×¶$QÝ6+#>NÞeäK¢ èñäÿnòh£2CÓLðÀ§þ<8&>B=k€Aƒ«ïç¶Þ|ŽD¼ò¢T²}Æ-Zª<…uYPgAª×[ è’{Á¦©Z6î¶•,Þ#ËÚEƒyÊwÖ Œ H¯"ãÒ9àÛ_.&ÇÈÈøNªH®‡¬~íãÍ-ÊÏ©EP£ÍÛ/3 2ÏYÄá¹ 7>l‚r ¾æºÃ_„ì0o˜vf°O ÒÈe‰»iI_·xѦ~¼Áºe‹=L^Þm.{½ ¬Ñ ´Ô ¹Gð\kàšE¦ëUu‹¡olÚ¬dh¶/ÅÌqˆ{+ç*ó Äìhë šæ. \çS(UŒßb»÷ÿÆ–ðë'&»1ôîHÁÙ~±&Þc2@(_t=¶ðȽÊK†FÚ†ïü'2½ýä0ã˜46 ª‚“a“L×m ›áŒôLk­øÈùžM<ºÁi›b=¶)6ïäHnB§ˆ)HxiÌÎÎSª KìV¬ƒì_”„D„D2àüÃÉæŽêú€òà CŸ=,Ò{¬ãéái°èW!©ÖfœvõDFˆ³@f+jG¼ %"²ÿ:ÎÙK“uŒŠú‘Qu3$¶¶8¡¶ö_Ô”¢ÔGýA¨•âEœ­ÁIJ]×¼ñ¡Œ¤æ­f7õ wÁvÏÉÃã@4ܸ fxmÔ d°k?ǃ‚p½áðÚ;[u"Ò0%º½6GÔþCÇPê µ'^ðÒ;ÈÝêBØüâWSn›ÌpŹXî; 0Ñí'=/(É´}í×à 5{"e„<à@©øC{­)i)k’ CøŠ£û/‹ùbœçW Ã]i݈Ôâf¶³«á8ª8I:Ý?–G‰‡¦º±ú/¨Ûê»éö„¯VóTƒí¢0~OcäðŸú¸ñOÛ!™3\xôÉYÉ=Ën‰VŠzˆÿ> Âg”³Qkq÷É*¼Ù8ÞI4v}îDÂPÚØŸ–¬}f²#™G`>@ƒQi‡¨XH4© Úœl×VÚ`êP#KÞßÌ‘?L(úX¬í„oÜDU•¬Ø¾|aTd7Òc4!Ø ›n6BíúèRÅcˆù–&9PÆ¢–‚G¼ÉMÕ} %§nïhŒ”Û£P‡šXº$Aomåš]y^©`àD–JwÆ9w¾½n‘š4]‰úêTxõ~èó7Ôó3Œ†)lú¡œÐ<7(¸Ûã‰jÞý>»ÙÂjD +î)-ÂÁ…öø.—2Îò ¶‰zàHp‡L†ïûunü…æ5²K ”ÃMÄ—a0O…þ y6ÄDÉêN[‹q†øì-’0v3^²7b/t„ÿ±÷ cf.Þýx‡dmž@e…[0¢v·¤Ô+öG?¨Ò‘Çgôl7h쿤".§˜o)`í½á)|e`àW{új1pMÝë’"ÈŽ‰H Éš7î¦÷da –‘ã Ú¼„oÑäã„ßþ?Ó!]öù ‚!~B¹ºØ?£V0«ƒÀjf¤,¢'ÏçY%xø8ÿGr53sâuÀ~–kÍX'+¨ö›£ÃÙ€GÀ wËÚ)yü×úè÷úðúK 0§®2Úÿ[“þ½6¯¿ûïØ–&*yP XUT#ó2­DäDQÇÆ;·°ÄB­Ut'ÞÈ~™Où1Ö ÁíÔ(°×3Çj4–f ÷‘`‚²@ËXÔÿâJŠãp¼Þxx’^yl«/²†Ò"úЦê³7H¶†Çž¡*vº NÌ´MŠlÉHÖFÍSY Mñ}_‡Ñ5¶½b,,•«Cš]c|ú«#bæhÝ3lä­Þ7§ò -[$µÛßÚ †î‹ì!ƒý±(cAèºóBöÀþ ˜BÀèy y 2?íܱ8Ì‘ìαæ2Ãy5÷…h«SðÍÝÊÑÖa"`©ð2cÄ&Y(à°ST˜U “Û¡dk¸Í;Md•t—ãÙºaR‰ÊJÑ#±–Z[%G$·LÚÙf¯ÄˆßÈ”%eC]rct¶êqÃHþÑÉæÇù]ŠsÛ¢­i± uíbk5YHÄC)kgwÓhëJ9-Ÿ`U)ˆ‡móA:˜kèrbÀ:ŸyèÕ`õ[¤ÁËõhÁ׿¦æ¬Ð7FôdŸ³e†ÅZaØßNÇQCËÔ \‡8Q P¯„VÆ2È'0 \¤žðSxx kµËY¾wµ©“–‘Ô1‹^'/]¼ºXT½ÂøÈZ #'Æ…­Qt6þyf7€—eŒ´×ͨ,{·óÀ6.û·V1]}ïs¹9Ìf%=þÀKòÓDè¸<½T‡š; Ÿ] -‰ÝÉ•gØe"îãˆT~ç½`öw©ËXÙžä=œŒ †^¦HÒ¹i² uS}ó¿°ý,©¶ÅH­’¨bbzM3µÅŸHÀtÿAîDs©‚7—œªjmá¯?ôØ‹ñš@Èýlr©ÊÄ1úõ;ÅüsõÓÇ3|oœÆM{êlD7C‘­ÚâßÛÿ½ViÊïÞ«·ÜAe\ Áó‰‹»Âø›^¡)·Zˆ¢îGFC1:Õ¿î©7Ýn%Ö9A“›m›Ï=ç7sÇýE; pkÅ4Aà$|òû†¾N9¿ñpm·ã4?z¼•»¥5 © SÆÒbÉŸeäØšnû˜sçÁBgÔ}Œ¡·¦>Ø3â× _ŸÅ¼ÕÀúÉ_ûJ©“6&ÙFÚˆþ6¦M19°8°fÑm¸©{Gùtï¡-"àò²œ¦»Bë6^Mnp´5FMsQžw\ªY‘š7`ãJ²”ï÷7ªíf›¹†XJépœ¿gð=.0Ê"[‹8#=Wb-[ü5MõaÅÍ4fl½!{›I»“cŒÔ²¦e÷Éâù{(õ„F£Æ°õÁ™Ü’¶Í®¸§“T#¦jX»oÕEè˜×Ö‘-.Hi¼k¨ãÙË8G¿rY)¦é²JÙ£8|Óòõi HÊaOh” ϬrÑ{s@³ì«Æ‰Ô ´—ZF=l÷ZB¥€H.<\Ü%5 IH õèçöbŽúá×Zãö^ÔÏóžé |qÛ¦$¼à´miQí™ k™­®EnŠÚÁÁ@«.zGY†}‚f39°c{A£þB¯ª|Y½’h°1ÚˆÏÌ…QS=H@íTˆŒÚ×úÝÙcp·7y]è·"RP¡»áAGÀ⎠·YUö¼ý†§À•­eöš¨5 ùNUÃÍ.{¦çÅ«ÎG¸Z¥ct÷‘,é¼0«e€Øô¦gwÙ)BMýƒÒÓQ¸…*%ÕŒ©8Ü<†Ã°ÍÜrùo-Ž+Õ%Ÿõ:1Ò}llw)Ì2‚B[îSí`›L;Šw•ª¶Áwاû»Ç\ù÷\”"0)kwåðМËQXº Ð"©¦iezÍ „¿ÎþN6ÝMäU„)Ž')ôE&t“Ù8%MÎ3óAÉG˜¶¦‹¾‹-‘ÿ ¾pà$~-WïgÍ‚òX%¹ï_í³¤ö‚êi)˜Þ¦oIK;—ï.-J›Â¨­ú~[_¯Y6j‚AJpÒÉpý¢òAV‘Õó©cû,>÷1U±ä‚?eÙ/èƒãX]‘ °¡ÈÄž϶Yv“·6*”½ÕJŧÛç¤Ü†ÕÊj¾€6_ëöÆa(‰djÖ— —Yû+RÏ"ª™b¨:½¸áÞ.@hÔÂWºêc‰6yŽ™ÅºÚÏÞÊš¬W†t§•!ÕŸ‹ìWoÛékãA¾²ƒz9!%=j¢² 1ŽóË]<)YPñkO°ÅÏséS½ù’hƽIJ Úñ«W¾_uÂwMÍ ]û‚šcU0«ú.Ò”ÉÓl²ýáyR¤…oc6j%©þ™ÎÐU|Va½ó¨¿ ¾.£ùD­/Dä¡%–6ßì2±k¯½²ññŽ}Äîæêõ¼¬Ù¬MW2øÁÀO'>µ4RŽ‘}Ì•¢ä?‹ZzùÓ®õvT‡ÕÃj%[Mí½Bº/aAú×7}Öky8:†ñ8+äÃ’™öqjX¨Ý6>h“Ÿ ›¹Ç$wg…ˆ+è¼Ô ¶yòÖ!x_<7— ƒðö<!.R‹"d*˜ƒ¬g†Dê•ê7˜;¦Åy”¢kÈö¶€û-~•ªã)òñ®Ü‘:®°˜‘¿ e¸½:ï¹s×cóØ×¸ÄV†ô ‡_è™EðÉ"¿žVQ+¼qí—)C©7xó‡ÅÄ "Ò·óbÌÂ3þŒS’;–qvÓ²WFÅ 1@ó£_,ŽwǨúQ@<·0Ê£ŠˆTð©[ëÛh¥ÒÙä¬Ê“Q4 pWãS§(\ ^u³/4…\ð£Ô%d‚4¾H²^oD¦fëÚk¹Úë¶áÏ€ÞúÅn§“m80â ÖëóéW!>4?yÕ/ÈâÿÌD`ξ¯¼ ¾ºØ‹X‚#`æ·u8¥ÚHärÃ$ãz(Û'ý²#P EPSsþ©RØÃÑù¯ÿäÁ~Â~Xá zÌGºE©‚$ˆ~Í‚rF«uÈ¥½2v–’ݲ<¯9 ÀȧZ•å~‡uKTn!«•LK}Ä}µ·Jç/,È <Æ6ªÂjYµgmVÝ Â'&y-\á|粋.˯0Í¿°XÚ«`TNkd:³ww›‹këç/‚àÿ ;›=Wü÷ü{à[Ñ|Onlï3þ7,¾sˆ…±·á#q;ò~̬ wìöèâì¡ 2.„įR\hWýO 0tSqIó>Vu¢ Öc‚¹çÀ·€}fÄc*Á2 Ro1˜Ã”Ï[ . Òcç7öFÛòÒ%üι7‹^MÄÕ-- ZȺcU±à…=ׯâå«ó:ìe(í׫c©“¾“mrhÅDw½|îþ}Ó Òp Ö(„PwTåj$\Ó¨x¤E^WŠ·þѾšcc[S ’UÍc™a¤ ¢L‰¤Ô˜#o‹GïÎj…±m }Ë£rÀ²WŽèÅÓSCå€ÓÕ‰êRõ¾ÞùÌ?Ò7qÝATv«sug—É’[%qá뛀œsª§M§Ã{€@𦕯ºx—^x¢NÉ4cn¾öiGaz%ö6å`UæØLÕ2¢¤åº%8Ñ9KÆûOµõåµsà2gòÚ*^â:ÏÁéÓ„`^ÅSŽ;¡BÈ[WP Rè…*â'Lα8¢L9à°ã½ ’–ù˜ ›?VʩʉFMßÀ¬ ¿Êm:&€-NuÀl[åÃe¦‚y=bP;ÒP»Ùâ&X•RP·79 ËCˆKu˜‚nùX'SHuOl& ¬­|AD'~;Š ÿ•ófß(<Án¬f_²œ:?½Õ: åe œ«­³Å‹ò‘dï·[úL¸UN÷(ý³ŽÆ\z¹º1d ë(!¨Ð-LS¨Í ?áÓgýìÖPâ ‘7¶öɇÂþ_ªq¡CÓ#QéËkS6KÚ±ÜN_–FäX¼v6Q­ºA v ¨ƒ]…íOËøxi#è°¿º•–bg‰˜I¨-ŒÖ¦"& ÚTÈÇòXÜÉlÉTNW¶âøÂ÷™àH¥ñaûœõŽ)&¶©¾–Ô¸Z‹–¼P²}Rá+ŠøIuDŸG]YôìåM¼@c»¤üO=‚ë»$Žvü™TÜ—ô[ÈºŽ»Â¿åI!ì”f¦¬4'ËÍQàSv|Z¿²YÖd¡² ÞT†˜zß1ÕíIeŽnuv’É[ùQãÅž¦°Ê6KëÓ"åÿ M˜Ÿ{Çóíö ~# ·ïðƒR5D¦ý£-‹>?sºÇiÙäªèÁkì‹ñ¯•Ú{¬Ii>òÃQQ_–Ç(Ó6C„i±Ø_¦B&]Ju¡VÓ7`?Šn˜‘ÈžÛ—Cpꛪ•­ÂØ 6Ôoîð}'ëzuŒ·3ðÖ|¶Ã9;/E0ùR¾"P•ªŒMõuDJñgXî‡ÖŽô _%Ò2CÝúÆ4£u°-4ÖæHÒ-hö¡0óò* 'KCgm´tžû)a)»•&é‰ÑÌB(îàwì…“T…½ÜÇí,ÓØ þjŸ_ eOd4‹Fj3‡šµ²î¼+Ʊå¾IÀFÓ‚×È'<°^®¢ ¿z ‡d Ëßü'u†ôÒÆnàh‡–Ö«P23ÆQº¹èP«¥ˆJÈ´mËd†8ŽÙ¤.ßÖË«$)ÎLî;Š„)#"®ý"U™±Éüœ‚:áô£­#ÈcŒÞéÒ,«!hi8~Ò‡Ô­`ªÃöKj:ƒ)D±½—3ó‹¾q8ä8A4BfÚtão1™…ÝØ>È ªx.YÛ&š þa€Û€ÅŽ¢°Êuàâ€vEQÖÆ½«`˜ò/Bë«ËGyÂ?ózªãÏaŠá Ìsäz†“õÕFCqAYC!ìZ)+O,¦š†qÛ‹ÿ›© 2ÿxEÄ,ùoõ¯¤ˆv¤EÂüÏ™ñZè vÐ>›k'Ë~I-ݬޚí×åp¼(`­üÍ}V wW"U‹³°²O{Œ7†éš0 ³ÝÛfwÒ”Œ‡$â§'Ž$CÖ.Pñg #à C3÷´NpÂþ®œ3cºòQ è…·TáHwòíY¡®É‚æéŽïÒt¨ÝY2fºcÔbËÚÝaY×Ékl~i FàoÜòPËCš݆8:Á̲úóhÜãàz:¦¦æSsçæ;}×÷8N¯Ÿé¶RâãIT£‡Bw×ôãÑáe•üHÐÞSÿÅA!ñÖ| SºÈcéÞÊÝqÿá7Ú\aˆØ‡‚…V¬Ä}Ч½ížÕlÎèËÇ\ßA”„Úe¨uŸ&¡‚Kä{X?>Æ¡ðòÁ èD ÜXâdy9%J ¯a&”ðìT¦oò:Jªr¬>ePm± Uí|.'HÇÚŽÈw; X¼·Ûï<s+¦Ä˜¿òËà0cW¿y:‚?ý¼"ÄTù/ç–OnPæ’ QpN{\¸Qº]ˆ§LÈðÐ?^L ¡ à˜HÐS³qjM²¢ÅPH{¬ )5¥›*¢–» >ʇ;b4!ÿ-¿4o*u£ šrZ²±mÇi¼vöY Ïhu+¸žˆpöÃäšKLa¤À‚Ѽð(puÀÅ)¦½_}›¹oá–.›3)ê^Ívë?B!?êádÛЩ~Y4qý£è©K±ôŒîÓGvâÛ´tWÁœ4ñM¶ã tEî©Pþ!²÷Éuùc ŽÄÖÛ/·Ý³üPb:µ@f9/ÇjZuÁH+wÿ‹ôç>)„&–çÇ)»È NÞ'øá üÅ8 û†ÊýƒÃè—ŠçmL¿r7µ³ßÞ™ñ¡Ý¡!Úî‘9}óZÎ%¬o˜%j|k1ªStÕ•ÚJ»IA6>ú ¢ÊcÕ‹ò]¶°qf»³HIÐu¤úÕIƒ×þ¹?oÚúIËìU4,Ëkµ)bþȇ°ùÿ‡{„×ÀzyDD‹NzëÛPÂTá¯ü÷š¾øž]bë`ÌÄ Š¯d} î ñÎì)ÀË1qSË?ÖóÏKŸŒ‡ê÷d ó5êôØè:)‘u(Ä7$äÖ(côñZ“XDdnHß÷Ë#”ÿ@î ÌÈÓ Qd§ÐûAšÿH¬›×4M÷'© Nw0€üš£€UM¡#ÖW+Ea4WûÚÈïãˆWÖmÄÍXº)Ua;q%e„Hx$„ë îòM\c4·&ªœöõ I舧 ÄtuL)!É“›B,žô&M#7bÉ–myëü\C`Ý{Ö%6 £Ú²GgE~GÆ0ü›Ýpƒ¾¡rj»J$[¿~[£YuO`eÉ9oñËW><ÐX30œýgw~DZŠB­Â”GFNéÅ(¶¾‹4¡|<Ù¤‘¼EÉ[ˆG/J„Ê踬¬ëÁw‰û!s®H"â°Rœ°Éš%6sN¦{ekuSbþIç·Á'S?¨Ÿ{,ÜÜÕ¤íßeëyG64ûwàBËEÒrèw1›~uÞh2‚½ ¦Ð¬jYš”òËD÷P¶ÊµZ¹o$xC‘3©“$9 rþ–c™Ógæu«ó™àc‘‚’µé¢Z¦)™è¼è#–ÝÒ¦¿¡X¥ü!Þ,™«( ž‘Æ"ްìÜÒr„¾§`û:ïµÙ=î+* à3§Õ sÆNv¯º7$!Dp(Fœ6~5)ýý5Œn0“‡‘jâ"å^ÈØìÞ¼\;Àä,§ÜøcÄææ¿ÏÈŒ^ÅJ5nJ~_Øß–¨¸|–­¨®k°z­•w‡øIà82Ê„¦‹… ÒhDdœË. ¦ÕvQɧ'²¢0|r˜†.Ç6 , ·°ß®P§3òÑ’Â/û–m¥kZ¬é—O5üE‘÷;BþrŸ'ÑcJÒtÝšÒçµfRõÿRï™<É%|HÙ0Cgù/²~ ûêrý?Ø‚qü`|dØjC]»¢IÏØç‹v¾á@Wc²eƒýë;l¤×ØÌ”ºï ´<9/Âc¡ˆ(2$†ëá&ÅßÒUìÙ,÷îJç”SáÞûñ¤îÎù®ž[6Ñš[òO:œ aÎŽÚ!#CÈK?óµÒZ œT$LdþˆOw“Óæ½+K6bÏ^:Ü2ûY^_ ä“v/5†Û#šé’÷ânÝ‹XÉÀ}¯:6#o‡ žÃ/«lm'zgŽrXµH¶ï÷½UG~ã›Þ7«§…ÿ0)ˆ6uí,Ÿ®o™«³=\;Î XhhÀc _Ï™Näɾ¯¹]0:C‘PHn1|}'¥¨j³Ÿõ¢8‡š«2^£dðazå t n°¿4¦ÁN¿Õà%\3ì~8ápZsÜQÕ#­ÃyœS}\—ÞVM`î×e‘uª˜ñlê_pqƒ‘ù>€4ÿ‹r‡F²|æ˜CîÐr¢æÖ»‹Þç€j%¹]ùòM:NÎ|ùJzüçúÒ_9’4z_H>L¿ÈB¬† ^ÖY÷»¥Ð³2ÊÉÿ%;!{¯eì¿ñàPóFjTo¢}bD¥Ì\æ ñÄçN@Øæ?‘çÃ8‡}µZ´êcæ\ʘ8¿ ó…fû‹N¥}ÙV9ôõp…Ÿ(r*« z9”JÅl´JUÇf¤µNgeCµ+¸GÝ–TTõrììht½ÚáMœoO)¦'YéÜ¡6—wC^ËÄe±ÙŸH@S‰ _ݼôQS„¿^7EÕRÑ!a™5L%äܧÄÛAÐ+9æeõûs ²!6w·$M±ñé‰ê¥«TÍn5FR)°ƒGöM³Qv·ŇZžž¨.‚¥©’(LüwY±,Ö_ö©"àÏæèw`$ç\×2'’ëm¨Õ|JŠ“^‰d·ê"Ly”(?fm$ápÒØUÞ™É<¨îZxŽº&PRP 6Ã#èlÊ$ãV]1Q±(¾@þ^ ÕÉG€.Áo³iŸ‰y=WOMig¨Jžìaíüf¥œ GlF@[¦Ìá(­x*h“ªÉÓ c­'dXJ–·–½ ÜÃ[%QMeJ¥~vl=‹&пtyR‡!cv:„à —ºà™=Ø?]wYà¤y35êÒõl>ÌüÔl›–U<=D‹V­¨_BvÍ›®>À1£R´ç³31º,Š }Ç›sèoÓúq ì¡A•¥V %SíÖÉÄ–ˆ„2: Î÷ÃÎò9Fp<› qã7½®gR(ìÂ.õlýÉ ¯L£$N÷kÏ`I :¶ÇÀÓi½.´™Òžuø˜Uè¯/´yH…ŽÀ:eþ}ÇÂ\Ì»à™}˜wY"6¨SbÆ8 5ŒŸ8háQ¤íi¦¬*¤·FÕYóÉõwÖôY®}3\—ì'}i1Pv‡žüo‰4Rò°­º¦,¥#ÂõÓ/~?}­|[àTìÁÈ"wΉ+:›éÛÖÈ›=Úåþû+J„køéEe;PÀë/ql7^Æ1qø&u ÚÄÑýnÑè<Á£z0¸W½÷]ôælªÞR6Õ⺛üË1 vryíZT9ÂO\¹¼S–œÅ OÔ׳<24ñ‚ÉÙ“åÊ —ª"!æ—êÐX üfø®ccÈÐ?Ïåæ1’ƒ›‚+pÅrN2J˜?$:“O?¬?/+ÿ´•í¿ežƒšè9ŒÓlèKIíçýu+!!êâök9\zºìuSï3§©#6×à÷ÒÞwMîW¬SiÍ…þÝé«bA·öËÃÚˬ֩‘øœp¡€ò|¯I´5 Ë9g¡IHeÿ—€4ï‘B™BY×jÀ†8qêÑ®ð% ÇkUÌsÊ Ò‘[Fè?ŸzJß1ðI³8#†ÛküÓ—Ë•ÓZlí–Ãñä×6Ùhe͈I$j—‘ã•·—E ‚­Ýé¸ZΖDãuŠô!G+µ„¹”‡rÛÞš)ìX”à„t(™Ë³‘ÐEk€’¯’sM}/ßÕìÚÙw¦£=!'ÁPÖ`¡Ì!hžÙn@éÇc´G,äß|Jféb&MÉ,ƒ³`ȯ+káœ'œÍɧS2\,æ<áDþ=†ëçeœsj`B€Vd±³(´‘øBsR&mÞ>H·Õvìüšä’ÉV0³“§Þå‘Z¸høÊ¼øÅÈ'ÈÓA4¥1á<øôQ*‰£åÎÐÒaw|§6(”¹T¼_'½ù¦?Á¤9KZÿÔYé]Ïgˆm™>G…ÓO®àßÊ»þ”C G"2ÝÉy[A[ÇSù>‹%ÚßÉi‡¬2¿w¹j@¢Å5ѤLñ`±!’d«½P^Ò¦%êA‰)ºœÈ+õ°X7ý,µ"b/ª’¡LÕ½t^M„8tqŽ»ŠP]Ù—JÙž&îìTm›ˆ¨müÖV{r£>ù<éóV|u’Éáz{¢p½îH’ä:Oa‘ þVÿxp9³ìûØî|Ùr–á®Àû-ÙCd²f†ë"ˆpË ¡Ž«— û¡¾YÙDO@ßÌaSÂpifüëóŒ­o·¾°’Ó˜Ó:Çv_§„®H"o)К{[ŒC; †˜Þ·ô:f9}püži¡£òâËAK°QΤŸmNg Ø¸Š¥Ù"Qn>sÝ©ù«,š¬T%Ê¢druv(zô"²6£~Q0:MRX. F?€ëíD:oûJL8ê,0ñTM„JæÁƒI'«—ðÂDeN¿ÌE ÐC+Rq“4±Ï®øÌEV:ŸüU×%2tÌB±ýY;s¸n Ä1¥Ú¦IZˆ2Swäï_“›¿Ž”b›0„Jò‰óTì`ŠpÀšËŠtÖcˆ¹ôKæÓ]-{/¥!þ3œdµ­•îœ9Ö|ÿ&m¡YòÇåqÚ´¤«®3 £*Û>ïx -·2¡®¤ÿ`1"d•`‡êÝÕ ~ê—Vdîìƒø_ö) ⺴åï~õ»Ǥ zVZ@:[[ˆ*l´H§svâÀÀojðHÓõ¹j'æñý¯p“®g:´à± «kûlÏÀÆÞîTùa²ñ™ªðoøAU)ýMx¨Fš† !®“¹ûÿÖÒ™.šI­‹‘ªÊÐ"ž¦"™…ÌÓßÛ¥‹ÂC¡Q{{¾‚ôÑ´r¨<“uÙpØ£áùÜÖù›ÖJQ^0~LÖ°÷ð™mh+º"@muÑ1Q1SÆÂCÆ „äHÍ‚cÖ'Ëþý¨¿Öi ºÙÒÁ Þró^\Éá5NZ:€¤9k` 9NcüìÔö-“;ÿ\õðP%‰(÷¸­ ŒU.ŸÃ ®ªÉ‹ÅÅÃBã÷ŽhíüèakÙ>lóZ~ C JS§Åkg7ó3x®ízÒDº 9û< „µ„†ª@L§$}žÌ­Ý‰bBË?íí™h•ë¢M7ÙVy{Ȧx˜©Êë'ûçìCë.=8ÿA™£7.è c1vni¢àY=ÝŒ]V>÷¢æé5P´ßCðm¨î Q©ß‰I¾K“È.UÌzüWd¬/=PƳße³„¥1Cˆ¤µíª¿VÕ?‘í{©æÄòž@[«ŸöÉ­v ¥¢ùÙŽ†ÛÞ-Ì!–u°õäøìCB¥£Øà(èùc žcê‚<•9a” HNaÖ©½ÕS{’ç$ÍWŸ)±D…ˆÍWÌŽ§°V ëÜ-Ó €IèæÉ‡y3ê!®Œœ•ŽÚÿêTÂϼJç?cZ÷ã$ÊÄ_–ñ³ é$¾Fÿ3 Î'Ü£U‚W—Ægb±$LR¸Ç˜Ä;ðIÀ®‡(ÞóU ®N˜1_‚HG|•ÂÏcÿˆkiëïÌvÍ}ð”‘eí,æváv`ϳi’äÉÙN7(¿¤B$¼doZ¯åæù½‡·ž~ŠùK­w‡ªq@Dï-fá»öœU  0èÂpAö{ÄÓ3ºý,‡¥{5Û˜x[Ðà’Šý¹,÷qÖpí&L¥¾€#/_Á-Ç+Í¿_y¨.æ÷‘5‚¬“µ[ É×Hù»b—w6†ü¦‚7&%£¦¨¥¿m—¦ƒõð!õ© ¤¾5ùx¼«.F-IlØôï`†Á¡VKoÔã>"{mmdtfÏÓ,¡IÕLÙ·Â{®rÊÿw§ï¥e$mV\‰Ó `…;‡ïb•/=L·¾Å8õ Ä¥©Åi'™‰ü÷á´RÅþ¾˜F,%Ìh³§<ŽýUÔ0wNskV+`UÑÛ)° Šù~ pH·drrh§ +ÉdNï©ÎËΪ[O]‹ŒHì ®¼|ZM¯b"µ—ä¼qØL‹Ûæ[Gû÷ÜýìßåM5E—YÕ?ƒÈÙ­$O£±ƒcHi#YÍ­wÔÆh ¯ Õš²è•u®ï;¦øûQÄj©7ç°ad¬²qì’öôs#ZÌmŒ3í’ôu<$ày°xKFPŠÔ•|dÔqM†3Þ”bÐ6HžÑ­aè¡Û:ða4,`­E×9 Û®ô†gCï# ËË Îîdæ•D’;Y2¬„AðY ä¦É&ýjÅ>2k@ä‹Yø»( Ÿo£Á-éÐB`½mZâçþwZO0ƒ×“¾ÁnÃLczâT]Æ~œJ¿! l¾¢ÍÐåÞ¥˜FXhÒ˜¦ì'UÌ>`x±yõv>º³l lš¥ÿO%ŠÖö-n»u:ü­¨fO„~GV~š,蓲Ápg”%ø$°é-xmr+qêô‡5e×V#úi™^ÐJ.y¢ÛðÞ Óå#u®¤·Ò˜ìg!ä{úñ$";Up¹B÷¸¼ ¤Ë#MúÓ XŠ„¬7a\×ÎãÑtŽ®µWT©/aÀ¾R!¤ReVµ.¹¨Yî×ê¤ßTÄöF}-\Ç ËR6(Ùùç7ÉPÏ*¯7¿gÄçŸ,Ù'üržFažØBý@ɘ =Âëê=†4ˆ+d½ÞtùuŒ|’@`üÃÿïxÄKýîQÀƒ‹8ýic˯ !>TžÞÕ.Žñûv’Ö¤£*înß]¾ÿwžêšêc¦ +"®]‘ËiûUœ*¨xÂçc±…Q „Ê«¨,ÖÒóuSpÎûA»jÅ9?ÌÇ?—?rý"™:Š3‚é‡È`Âë_¼·x³aì Êe~“«<)qÞNg¯Ê5"~b@)yâ’Íý‹Àiz•žnrlL!Ÿãã?Ž$ê´dÚ¤k‡ß§×ÑÌ,¯†‚õçÛcbeù>ׯ.œüÜ;Á]{=>ALøÌò¬Oh™ÎRb¹²´Ç^~ÖfW©üEk×Çñí:HI£n< §›äH¯°n¿å'O_½Ò E•5ö˜” • .s¸ÒùJž“0r¶IŸûMÔÝåžÙüE9LcýÚñ4 EK€·´ö=‡®Ê½¼¡,à†ýY" øtÍT—úµåŽ>:Âì×aóë<¬c:ùô?aùH ÆûþÕ¸ÿÁ¾Ûë*ê‹ 93™Ðg¤XO´võkevR*ûÖ à)оFb½³m~Š­\ǶxÒI0¼o°¢ímj¨¼6ÄÌ£7Q­p6ÍšZ6 ¤¸?{ò…®Æþ`ÜzGUÂòO{Ðô¬³ëWN©…Ò âñ¦ØLé”›À(B9òs¢)~)y.€vÑ’½éD0(òw,õ_™)N&N€ŽÀcMA<ù÷„2ÞõÄ-E#2›«ìr]ªúùGf ÿ߸ý,r—›`ç±–šxÂfuw}æå»üÙkÞ¦Ð(”3P,¿*þÙ_i·× ùÓûrP-9fb1å, €„ ·÷«BØev*¤4²†4|ÌTc…±ÇÖòKÎNš µ&g§Î’¦ „”|#­ìy«‹üYÓþ‡;‚I)ç_éaOj¢JÞ¶Wu(—3Û@ÖFR»îgÈúS‹}§&C lÃPLJ;C >O]Êìá¸ÈºôÔ‹ N ŽßKßÏáBІ}·ËÍ ]ˆ§KM”Á³¡"ù쀓º“%g® ·°ÂøÐéZŒãæßéáéŲѶ&i½y]†ø!0–ºz¬´Îó³>ÚçA;‚=ô†ÝRÜ/ù’//ÖƒâýÆ›0”¶ý$@¤bvCÄæ6%fYŒëÐ%n#ÃLSƃÜU;´Ê‘úSæ¥ ûÊZ¢ ¬ÉÄ——âÝOi{ ÑÎëJéR€j-؆‚ÙЃsé¹3åÄð]šÀtƨfÁ8Úº•ÊÁ /’TÁÕê-Ã[Ü™¿ÝÁ%[ëî”XÄèFKaç@#ø¨*¹Á2¬6‡ØŠœÿ? Ð9òÝqxIöy)×ðd²p'ì5±æà*j˰ p´|€,Õýz’yI¤¡²I Þ’ þJ’©è£/}Gý¸o|z'!ëµë|€óÿr8qMþaú髸3Þ•Íˎ†ÀÓµR¼9b3p´ùS\ÂØ¹Ãë¢ÃéW;Õ2ã•J„ŒTÏÒÀ) ].j6Ô)ÅF ÄɼCØ:Î5šxLnh³¬ÇX!Ô!즽6á’e•÷jO‘îòŇâÒ\Öo¨ j,½ÎÉ–N- ¼Á©*ü$<õý¥ðG©’*†<èu‡†?Ë=‰ÓpÁx ÜúÇ—v0 ù T¿|¸ƒþ·¨eþÁ=#xï>¾©H^+fÁ:æü—úzbΫL±ªìÐ\+K¯è_¦ž;çë¢MsöK†ôÆ”ƒ9ò>J2·æMÊ vñœ2V®°Ò´‰e–¿Ë¤='ªgé€Q¯ &»‚—e¥[Ñ7YDÊhU›ÙðçÙ0vY¢CŸ¯7}?¦Ùj+¤ÕÂã-uÌIŒ=ŸÕ$&7ôÄHƒw;³¹eà WÕk±ö­µy‰DÔÉpçû –Þ}µM'NÖMrz#W±?nß{rmàè«¿kÊ©çZÇO#Î?g®ðp<+hQeȦ,¨A9'›·¾Ï;ì¤ÏÁ‡úÇj‹m†Æ”C ýˆ|hò€h˜íÆèæ%áTŸ²­ÙZØElïù"èÄdüŠÑL9¨ÉDzOfõ]™©§iØ‹áÕNÁ?ʰ¼Í@«*6,ä¶.T –²QqÚ#Hv°å«mg@·¥b#_ƒàXŒ¯Ÿë^— }ßE€ÈG$×°-bç¸DM™i«ÐöZÎøŒ5 *™‹WË"õ‚éwð̤(>íÚ4ÚnA„è¬ß_Gg¼<Ǽ:Zc†“I”4IO5ÓÙ‰üOß~<Ӿ驗É]àépSÓí4TŒ[œøÚýwÒ…Iüô²õ2ævŸ­«\ñrYù’Í(MV.FNgºµ.}žØêRh—@V^MR®AÃZÉ*z>~?¿fþúqØ•†Ó Ua ™ÌeÇ"ð'ç|Õ€ô’À7û°sþ5ŦnÏÖ¢º®–­××3üû´x'á€"ÿ´Á˜>©n"aaÔêé{žÐz1nõ6y©“5X›Ù€‘ƒ–8AŸ@†”,,jŒÀ¶…;G ýð- ‚Ó%*~¬öž¿Ük(vP=ѵݞ“ Ä\çÑõ,Löu>Éɇ¢†)%sME„М¶hU1Öônøç+ÆKkÇ­-XÒdÿÈ*+êÁÌ€ ®ðþ²–BNš®Â6F¨g3fø•[`ö9íöO¢Ê예ńõéÝ̃å+ü—2ÿÑí¨ÊPáHüSUtšuD,•µ(rxrèÒB£¦-÷K$ÄqóMÄéy] @MÏvk5gÀ£1QReNã°¡·hóÏ5æ±"8óÞˆuûZŒyo+.sŽi±Îüû 9«"pÿù‘\fÏ›®A·þiÕÃ8çyùà˜,V¸Šk|_³¼Zú O­½ÒµaV5€`‘´Y„A>;>»”>U©5q)8!ÐÛl›9ï¨99‰“IÝGë/›Xšñžïn·ß$–uŽi:ÌÖ+Zñ¸³hQ$àÞÓAq.í£éóäúÔ_¸¹WÈtJ4Øøäs¤(«Žq0­ÃaG“+‘Gåmìò ï]‰mÿnþAIÀ0ÿ ážø"-Fû,déËd<ÛÏmúqðÁ[Øo.¥˜_Òù@Bw¼è2}Å\RËÿrÍêÄçWÖMV BÆúÁ KMJ¹£ì1å¤öÅ]n’·Î,“ë[Öv0ù,¸9l1Åg7Cé½µ8Þ.§×`vñ9réºgêµ”ÎÓfìNÖ;#}%„Ô›Øæ^c¬kP#gkóÄe~<ê5JZn+[Ñ“¿VG–_ÀZö1òx ùÄÓAÅ«Ào°„”3¢qÎ-"|lÊPã<Áªäj!ò\ùÖÉLÄ¡áO²ûxš%<_‡/`‚Ûôç#ïüBˆ¡àЀÂOÔÄñ¤ÌFK©i2Ò)'Ù¦£‹5b+øÑ#þ¡pœF—‘å´E¯×Šm½m`ñz¾áÁÓ¡S|pÂaÂzM]s"'QN°†Ž~£fŸ7ħð­eª©vøù¯ ©´Ú*MY^³œÜ.þ Ü¿ÕÈÝ¡RLÄF·C%8ï§#?°—~¤=?Géý.ªpø™Ñ>ÂjgJÛCÈפeŠÐ2ú‰3=òF£…¾'›Û7á'ø$䘊Â[ 6Íè•RÖ#}U#|¢Å¿`œçŽpæ1; sXá{07”µº,ó¥‰í«OË|ï_¡[ª6õøÈ_ºImt#(Üñþ>œ! $ ¡€*¿-Z,TB#ѵ-fRz]TC>eMÐ;«"Äh¡®-#—ãŠÌ„Y³{9f%þ §º«µŸƒ¤?¦ýhRÒl1X%ÊcØ}õ°ÏŠTÚ{(׉i™ƒÄ‡¯\öΡ³ Ð~¸rüÊÀÚFêâ°<£¬k˜ä«l³÷À“nR wÚ6ün;ïÜzlšxr™R¼Ã…!ø?² žË\8õm j;?°Qgâ:•zV( )Žéf<húl[)Í„a|1ñöù'"uòÚë8‡ðÚz‚ ešˆIi&@§/l?¨lI~±ƒÞ··ˆ‡ÄJÚÍÜΑõn~Ùç–ápf²êDk_ç¨Ü«»/V£ê6ÿÖ÷ÛiùzºiÜ(‡N£€Ï‰“ËîBVÿ„¢ñ®Èm6Âõ©9ÓÛxYºÔêòÑE//z*óìw`+Û‰! ÐSžõ:?õ“ô@¨4|@Y9´KøP4ëýFaÌ彊梖ìKÕllE¨šbCl¥n@¿è8I1W&92§ðvI„Ã'0Þ"á\ˆóÞx$³ºS­ÇSÜKtÓâœE"GWiø*ôA'_êm6Ѿ²]‘Z­Ÿ|mi€òú^)â÷—4у—HäÙ4Æø¦ô¤—ô¿C—“‚˜Øé#[<ãd„P1^{Öê3d¶õûª¯E«¡³=I$ë${æœçm ê)lÜ?ß2½ëh™D¯Áüõ ¡Æ9 44)Ðum‚‰]l'¾ <õý&|ʼ£,r5÷7¹m¬°fÓiÄùô4Cª9·é|5ÎBV¥ÌÖáù;8.œÃZÑ­¨¯JéÔ¹+Ï‚vs-Ôh]Çq-ÐùD[­•YÏMÁÀ\ø ¹¿ù&Wóœôcºš’a¢½v£"Œ]bmÏ5¢Ülg-ݯ“ «²ÎàÚžÛTíÕ5V§Ÿe:J y„Y,B½3YΦ×)9çIãJg( %â8=Wf¹G]Œˆ2øã°zÓwBÀê”EȘ²}úûö Ü\¿5ÁIBI»¬¤\;²Òk°RÂÅÙˆë×1w_1sêæèÇ?'<%›æ¡:·¶ÿ‡‡Rê™ì@§™+7Õ;kQbðªcùÂufŸŠqèåêxxYuŸž0›/œÐ&ƒC'B£˜œ¦â–Ô•Gp„ßq#•H<ômdTÿ€„¦þc]iº[hå"Ðð$æ–}8^y°ž_?B'ÃÝÕr\-æî‡X…ˆúòaÁvûÂ&Ã=M_O8ŸQØš09Íe@_î=qú[×6án¶p«ï¹ømÿBMu\{ò5& ¡¢•ñ‚/:öî†å%´7…q=èÜ_>¥•“ÁoÂ' ùŸY€7¥kpÔÒ¢ŽC2ÜGˆÑ\>êÔ7Ó4‚†ãz£âY`õžè™Pc©ƒÍpS—væóΧ©nßåÐyÄâã±µbŸÞYXõ?tdãío{š,ø¡Äüµ”žŒ½HÂ+¶ìˆã{}¶8Pcƒm€ !°¸d¨âiüÔn-Zètð‰/Ëxj;"; š?óN¦áÊdZlü(ª‹³âu½ÕG‹gÂO”¹¬û­ãùœ—TF ÄÓÏ‚¨IËpÕ:Žå2Ž“Ú¨áÀák‰¯ýHj8䆳\ON |tÑø2¿ @\ClO1­Î£aª‡š‡"ĺ–É$2tP‘\Á¿Ã ɸï÷°G:NI&•P0Þ>&\祥&–ÔCniˆ¢M\Œºyã)ݱ„4ï ÐÍJð®|¨vYª[÷ß/+‹—´ÁcÊ™¯Ÿ]T—Ëh¶µú—\—(LAwÚXÓÈU;÷qmŸ2‡­£—c9yH@?/LŠm`–¿½Z[ýÕû _´ïHûI ? ôŽ? 'ž?¾pzcÐPµDmR^ I+ºGúïg³ ¦…³D£_AÃCi¨<™HY6q.ÐâStzA±HÝ3Ñ R7W&ÈbˆH¥ãƒej‹¯¶ºÏá= ÎÇ€P-u»»ô.wé ×Þ*T!òˆaAyZFú tnÓ ¨è›æWfͬ+íN ¢-D™³‹þº÷t(?„n)´4Å¿ÐCËpópq—jZ¸ÿð ìNr-¢DœÅ†xIü56dü1=0,#.daWÆ›uU[%$Yk‘Ùcgþ§Ê‘°;„=`ÈïA›ÆšäøÉrd£^§kƒÆE{›ñù¡ýVbWðvÜlDøÿ±)ìPÇÁ\)ŠT®õCÝ+W¶Ò[,žŒ­N(të+ ©ÃH¾‚0¢],g:©˜âÉ–PG0Ø¥çý·0ýeÿ™ë±èºÅ(K§./AñDnæ^Rl/Tí3lUÛôÿ<Lr:–/4ɱ¤ÃÌË+='1§³f6n²î»âNa«Èù€¦;z.4êpäO9£YN)}ýZÿq åÐMú¾iCnïZóv~|u@¾8ìØ™¨êw¨=¿èz ? Yõœ ²s¡Ï‘¦æÍ¯Ô$ÛCö¿ ´ÔŽW÷÷ÜÆ3Q3Ææ ´F˜ÆoÙ‡£ äãmüÕÕsE­X)*Û*ßòNwÖscºO¾füªQÒDÞÌ[ðÙ⽩Tí­ÀMʈӒ#‡¥7Èr‘êWƒ'(fñªûËÞ oÂä‹Ü$ÜA1±:ÿÄ"/¿ó‘ôÖ²~ÚÍ©åLg¼x¥qK¡%j^>%C!s·Ñ<±8°E ó;ú`ï—KKü@iÓ+VxÃô^»ŠJ¾sÛè-O®C¥ºÒvmùç5ŽrkK¦Š^ø­ìxP)õƒïc@Þƒd©|Ûk-V}æÈ¨×̹_í·‰š;úÇJôÜ‘Lõ…x%ôJO#U¸xd\•,»ñ¤ÈU®SòY¼ˆ;Úcéègjæ`z÷5òªs‹kBQQB‹æTŸ1,î‰ÀTã´Kký±j (–Qªb¾ÏÔŒ›HD›pMãLš Öu³&6Cc¬>Åt]YãjEô„I>§âíaYê‰ý|™‡œäÜž&12oæD¥(gÚ©"UõêÓ¨üÄ~ŽÎ][rª×Ã{ˆQP(ä- èÒ V"j2z²–~.ß‚a#6nLD$« Hü·œ+w—“8Qù¡(ðйSx‹Ôä«­¶²B>u$ q ¾JSÁatoEeX© SR;"cn3ø’Þ5r)Mìijø‚Ùçd€à*èíÖŽû„â“/R¯3¹ƒ~î–÷ m¾¡ÕËH&móªÖè¥Ç1Ž´$ž\ žò„ü?4/­ý¶§ÌÅÉh-‹\TÝyà]˜À¬É‘î1}îr´YEÇ;8ÀÙŒ_IWŠJœž¤Ñìˆ|¿(©õ€Õ“ÞÏh ȉöUúÔÓIÉœd.«0¾âñž‰(øÐ“^н‚µSHÊw‘ŽãEFé¡X8Ð~Ñ™û_Œk!šŒÌ#QõÐä—‚hM%]6…"Ÿ^Vú[(½~êÈγY!ÆAê¶£oUaÚ©Šl¢ÂUu ßR€×ŽJðƒ^XI¢1×–hkÐÃú¬6­¼`1c9_på[<³õˆA[¨R’Ê~nK ˜Üt›¿ˆ<»y ¼Ôœ{/ióÉ ÷}…§“pà#ëŸ|Km5¨R[xnNÜ8Ln܈jr8áê–¼¾IîÞ$jñ“)æj>7 : &p^L~…†›~/Íļê#º;ï)|4QÙþ­œ»ñx-uã’Þâ;(ßm–Å5æñ1ïRaþAWV…‡â¢¼›B4ª…¥LÜáf­˜·ã°1{ñð⇣Fì ‰QctÂiŽØ+ŽW¸‹ýª;‹ƒqŽ•F(†wexeåÁM½OúôÕ}Wæ7:H}ž^ñÞTD0ªS*ÃTîN£·¦É²Íj” Rü9ä| erèFKY1Š´{Æhoån}ežO*2Mzõ;¾!$Ä<òïPÈðk}ÚDUGPVH$ÂéWº®ä·ž«§ý3¶˜£ú®½X’øGV6?íìv·< ©Çtûon§ËÌ}ŒPÝv‰uM0%BÔý‚–ÂXlŽ!X ¢ èÔÅþú£úÅá50‘·à¶oƒ˜>H]_‰ð)÷Uj†Yî&¤ª†o·ÔÏ„ýÁå) ¾‘`fYºÌ”8œtƒ@#d>“Çmgȹ"8ˆ@/4>X[åqB±çKÍ~wS¢Œ„ÉóÒÅÈñ®±M/Y‘ÍmTÅÀ‚0§²´ ¹F#ÆìÅSÎK×Ö,yNÐ!ŽÎì~~PÑJ‰á`#[ˆÃ+ð¥.êØð+ ‰»h‡¦•ì±ñÈY¨ž1‰À½öÞ$' qcÈ`ýÄØ‰Xgc…àG%]!dªý·$Vö38âÿRŠ¢ÁŽ´Zão)L•ŒGÑ,ٳߩü‚1¯° 7ûníP°·õz´&±Ð­àúŸ‹ˆ\VMND+9B!î’‡ Øá]‚ú˜NçüÂÿ¥•§ à‘ÞŒ™·4}휡œb•w]”Á Q̨ò¼ÏÚ>Î[0j…èÿLd.„VøIIªèŠ9äØ:¯8ÿ:zgtª.Iqð¥àóÔY±?Ž R½hó \ènYÉtš¤´Nú«ÉJ!‹ÔŸþ.~ˆm ª^i¨Æ }8ûo@4±ì†d–ò ñŠ}*íñ;\ê*“G|ðE°Á”¥òîªÁäîóbý¾ è‰fN‘æ?e|ïffqpG(‹ýÇç Ò·M “qyvöøŽeÎü&߬JÖoõ¸ ~<]: (@ÏŠ*t3ý`£…þ·òÎØæü Ç{.8ÁšµåÏË Œñ¢ÄkCÑ ë9j—EÜ[Düõ¦§…+Tð&}™ ñ|QßÓ†p2g‰-í~ ÁͲ5ù³¤!¥,äyýó @…¹a¥b6EÍ×°|ë>Å¢ qaÁ2{M0ê\–pŸ9ØWÅóv~&N0¨ŠryˆªŠý*îx KM±èÊìg\òãžKŠœS­wªá!×t‰»£@l'Ô-Õ'ãM:2û'Ô WÛòø­ßqBs³CdLè±ßYž½÷oÛ¤®ü÷ËGêyµ¾ócSˆu6iu‘ÍQœK£áå.™y˜­ƒÜ ÜL¯0æà†iÕx°Ã»w+ÆÃáf/dà»æÜ„VrƒÉx¯ ?;ûòY5vjg̸©{Y`vŽÉK¡A?ÇpúÁ4ÀRÝ{º:*Û‰°G 䞸ïÑ1ћˋäe¬Ó)bD:”½}mV1uø)Ð:‚>:±[­ðˤÉÁ¹ue!Ó°àXÔÕ…~ïšÌ(ñ‡¿Š íS¬Ì”¾øÌé¹§\Nù)ÝEh•ƒø[ø"­i:„Ô~!Î¥œøU Ö#]™½¤•ÆsÃ<'}™–AIcÊÂjàÉÓUÇÛî³ò\ýãÿüBÜP9î·:ý°€_ÁZ¶æ‡áäx{ö‰+†¬¤ÛгÐÐñ˾–oÕŵ!Ã'¸À(½ê‘^«Ð1W þ­_N0Õ$~WaÛm©vjûDÀ"Þ!É¥¿aôùå©,#«õsc£ðçÿšª¡ÈõÚ¥aˆ”ˆ;:£ÑÑß,q×V5ÿélŒ9ñÕ“:M<fPZ–Ig(*YL×­õ]‚ï&¸—¹LÌ“Á—C!™Œ¼LiàãyÌ%z¼ Jt$#Ãí‘Ô!¾‡åËr)9怛L|þE·P‹lv²iÏ”Z±‚…ž>§-ø‹$âòr$æÂÂþzÆ gÐ(Øk¯à} ØãçÕüvá!fò×jœ†pHÎC¯)h Šñºö´µ0¸xð&jž¡ ²ÈÆÝöùÄ4ˆ#¾o¾+a‡–ùd6щ¾¿s°³ÜçÖ}+ ¼L ä·ÓàÚ¯hˆók„ÝÕf¥† G˜½±jPàŠŽ‹Ÿ”„:Æ¢ögKª«á;–= ä#¹ýVQVï’Î ìl³ôö\íU.ªšVãÇñAöë¡I¦¼Vœá4±’B¦ÆKÈ ¦·SùÞŽâØdÃgèp_H«¡± ¨FΘ] ÿÜ"yž\#Ž3òRë6f§Õˆ…tUüøzžŠèfȧBbœô+`~V§§žò÷¦Ô·a3T-½yiuÐ#,VÐ[Èz}¤£O>VYøÍè>óz[ò¥7Ÿ¨–æH®v“‡6UÆôrôù“ïß{{ÀÉSËŸÝ1瀒aÞâ Bô3è§ Õ•€k k6}žï tCe¾x€Å_û¹Û@d䯥ðÕžº0jKË«õ$«Á2 ŒÕ[o=ó‰t± ”P’È"ÂÖRåN½ßæ$ò©òÈ6«ÜÉ") é']NÀ=uûÀ¹‰z.?{rR'…,^«’|ÂôçL„#w–°²_=Iõ‡ˆ±Ý\à:= ÈËW”<*ºU1f],¿¯« $ùG 6ñNÁæ?pŸ¥•çèÔ8]´ø>¦˜ÑÉóu »Þ6È,þêDz ™äY¶3ÚÜa“ù>׿"“}4³Æú_ž—\|q‰‘ÿ¦‰¼Ïò¥{`¬Ì2š ¿"ýRì8ùM­~u»U`Ø !:¯c³†ËbOOc ¬C3æKlªaÓY¦°2·×¸ ÆCͰÈýl¿ wu€öòL,$íÖè:¡ÌQ¬p ó ?H´vWà+Èû³ˆ ¢ÆÒW±ÁÕÞUÈ<ȽùÑ-ªœÒØ)wÝWlïUy /÷?©µ¼ÜÉø¦Óî3ié#Âô¦ÿú.×Z‡÷Í‚òdï®W4v‘[ËÔP6Ü®²MœýP K¿ûý[•§ηÎ{†Ic÷éJòóR˜§Ñû•ž•ÂYzœstWœŸg¾›¶á `ô<Õk‘«Y bsÁïW:¼©%’tZJ\Ü«þjºåGÝ{¢±·k½S‹•ØH?ÄvnÁeK±^(R­;¤-¿¦ŠjØ”jLRz‘‡7­IÐi|Ø™jùщ”kð*Èô䟯eX÷v檟†Ž»<Êïƒþ+2µžF1¹¸ê&?^ôBª$ÌtÓ¢™ëÕ;¥¿ŒÎ[ µ@ kt4›ñ–]ìÜ1„ÑâvdÍ!÷lðènLèB‘¯4ƒËA¡Ä5ù/®$ûI÷Ôêü5Ô\ j Ä«¦Mé˜ú¨Á}­KÜO•ß0'掠8짪)•~ô¨À·¶ÙÖ_•l^3Tß?¢OˆþA»$ºÈÅ ööØM |=Mtu>˜%Ö©wx#fÓOÖÿâ'«RDA2^ h4R­jÉb« ŽÖBRX³ÕÚ¿z9ßòÞ ‡Noƒq/†™Ljq%K”UªB")óâ»Ü‰Ô”UU²±z½¶4{5Òß?“ÁðõêR¤Ï\™s?šñk‚Xa)a/_åæ³kx4¯#`Ð}‚pÈ¢½­qÃÊ(¢£×½éyëÈpVðƒ.¸_WñüLJoCZ¢ùz€Râè?^€ƒ“üTõ­"*JxɧõµÖ” @>ŽÉ³aÍãã¨ÂÓB(¤%Y 5ŵa£„[ùüƒ¼eÀdo¿dJù‹P@Û¬e©‡^¦ýªÅbQÔ8Ž{õT“‰_Aµ];lþ‰ ¢vEˆYto¦ÒAf3­ªµìÕ]ÚíJºâ5jf){¿¥ôìÞaQ’Šcßf5¤8Ø£wðjBìYj‰ŠÇ[ižð”a> mG?Z Ÿ”²†¹ß'É4…üm]ó‡ä+x­MظEc2ìûŸÌ9%¢¬`j0…²k\@&jÛ¼3ø›,,5Kb°¿v·ó@áhZþR‘):ù(Œ„ÞœØyÞn›ZçÒpÒœxäøÚ™rh£~›’ˆ"žIæXÜùAâÈlÿE2K6i¨šÒWè*!®A&~U+™ävV{|A„qer¯cKß*ëôTI~|ʤA¸=åfÝ! ÙçÅÒ;!•Kø„„PÜó\×õ,-ÁË,B.â‚Ý=@{G#ö©øØM:D„ÍÁy‡7òWÎr9’Ò•EÎZߨл*ÚŠ gÒ‚Ñ–ÅEðüÂ:Gãw(Yb`_uÌLYoÚ‡ƒj·Hx™Ñ¦Õ_0L³&ÿMqþ‚Ï…¬W…¹Ââ6ò“Ê”}ë•s*ù²éë_¬0ÉPkz´I¶zu F_]Sñg7¿fEI`êë,i¹¥w…zUúÌ÷pUœWâÆ¾î+/ñÄ⨥hŒR°|Ã×u•޵ÊBÑp'ï*‡®£utîï\eàÕ"5ïÅSÁMõ‰miª{¦ap"úEÚ Úìúz.AËŽ)Ê!›Ñó¨ÜŽn ëõJM ºeåâŽW~W1ü;ø„)]¸+ñ»¿¡›ð.¾3•hÕî¯ÈQC½¡ÎLÛ•>"+{R¢øÄD]¥Þ‹¹GÒ8ÚW€íl]kGÝYµ¿L ðŒàñ12å÷T`UGY®è;ÁM“¹’9“/ó€ÄÉÊJ§ "©É…všv%lL@ßœFÒ¨ý3[h¹‹ñ:û_ _Çd&îÌÃꦮÂi#¶ùFÔl³7¸^ªÊ%Ï›FÿUn¿_×Q%AÄb:Í{ƒuš^»-Ú]‚»t2‰þo”ëÞXagM9=d½ch²6âÒù¹©1‘ Ÿ´ÒØi ºn4†<ÔýIÚÒtg{AÏ:kà;ª©LWŸƒ*EÅ;ªìàsèv°`õ<}N$[ÿ¡“å\ÛóĪ˜ï¨‰µ®nãdeÛÈ ¹°ŽIó•qLæá ¯xvÝâjÁrD?ôàB6“B›æ3ìVh]Ë!ÁAVk­LÆŸð¼ƒåè#€0²æÓŸ¸Ü½Û…Ж¸"“fÈ™ááb€Nß[Y-P8Z¢¹è-ߦº$ZÓHÎ}‘]còÔÃpÚ™•1z~ÄN&+Û±åïkª­¦ÐÒØ§~ÛÄð|©å("€§ÃÝ7«:ÛÒ|îKù‹£‰Ò×ò [­k¶ýáå¦â•O÷гÿ˜fóŽ„¢Åï–Ñ·_Ãà’Á]÷db°…ò`ÏK°YÄRíó!çÝc}™O‡W4ãÜùKÛ"é´†Kh•„†¬¦ w@FÉ’9_Ðj ÷V‹ ‚öýiÅ¿ßTbhÔ£÷u;fäk¿w¢Ã‡%žU¸úªOÌØM8ðÑ´KëùØÝï[¬Êïªm'ú†ìð8­'X'EÙwžO±u¥,ºîêjVµÄˆ(ÔäÄõûÕvbÙñ­VúN»ž¢CÕ¡HûBv} à:Ã]QÉãJÔSŠ¥p«‡}ùô0©ÍðîŠÜKëÿ×`jðÉí ¯q•ê¨ùò[°W¤g* é.”_8PnOØ:D€7NDHÓ>ù¼ÐÝ, LB˜{Hh8è—é¾Yd_ àƒwïãúјÂS‘{Êj¹ZC›·ô*ÇLÚ³ï€? ~{§Íw·2È:ˬ߃øð“¢´PÑ9=Õ'µ;>[Ø‹8†­õ.i»¾XD“ P<5mÝqð4¡R;ت̲!qNCÂ.‰ç=’\5(:³aC®ƒzvߦùØJÙ†„„º˜.âeÈ<«ÝýU—[«¾œ”«}ˆò«oÄP7z/ÚÐÿiÔ² Cµ’Æäø×bj2’>8Ã÷Tؤ±b)P棔-m^î_Ûé£ÄJvB=ê~7à×rg'aïWüÑT‹ãѲԧ_¢r¥ Ë×aAV¯tp ±ð-êW¸"Sƒ›|‡ .{ÔÙ«¸ÑþîRýiRÍg ã‹„óÒLˆ’M…¶Î, ­2XÆàI6ã¾§E‚ÈZ¿rÒB6´®8!Õe?ÕrA.ñœO«¬1‰Œ ®6êyt_u$޽»å|¬oE¤*¯-;ÿæSuZxHE±} lµyy*&'€a2£!Åì^C rtØ¢N71Î[µÁþ1¨ßªZý;ž ½ÐvžWW¡Éɰ¿†å÷:<ýzê°ápDeÉC*=HšñðG’ó›2qˆéUK‹šØR癩Zé<#8i«wγ®»ÂÙp@2pðM*†Ñc\ŠcË–|ÿñ3·€ïDSl¢òGµ OL"åm- óÓÚµÈqÍ’Zɱ%t…y±²¢¸\nRöd¤¸müÃcBt*ˆG§JØg E!lpÐC…mQ‹ª†©°FíÔ ¿ª±+€;Öï:í‡t„D§ÙÞH:ÀέYL•ÓC:AÖ˜~ E~±ÍUF\ÅHݹÛPyè±8¼[)€ÄpÄ1jÏþ¢v6Ñý^µð«ò?Þó ¶ÙÃúÙ<Ô÷£9Ð\°L@àÔÜAë!êñ€Ú ´>Ô@iJ•<Å<§³‡ª!zycŸwJº.áä€Ñpln¯KHŽT6Â5àÍPÖÔi²ÌˆD‹°Ù _yîÌGyõ8÷üàå5eÉ‘ÅÇv}dæ4!ŒÂ*ÆÝímiÂâóQ…Å &4!U«Üu,¿æÅ×?hÚ9ô,Èû¶- ¬šˆî·ubÍ^&¦íÆð3x,ÓÁ®™ë)Q€sèHå×EýY7û'[Ànû¶î[ÙRÛ–Ù˜¼16‹¤0š1õºÄ´Ï´…LΛ8[‹Þ$Ûƒ¶)2ÿ Úœ†”mÁšJ†Òß‹Áw; h*TGwª ¬ó‘Eg¨ ÖG“ß6ÀÞv‚Á«õ³è{€Bà}nZ%êqRì¾f¯-tŽ»œkâw8JÏã&ã†tVçÉÖ»Æø>/˜ì4P; W$ ²ç¦'?ŽÖ2|Fy*ËèRk¿`önž~¬j›çê`'*P>R<Ó§ï€h³˜ÁÕ#»ÁSjz½ž:F|?´Ï€û–4óµñVp㉠ãgØ\Õ# &µõª1í>÷£ØÈ"éÚTiü®³£qîæ²“_Ì£ÀL¡k:^žÖŸn BÌ}O ìÉQxJQ³;.…]g}fqsëSz»dêãcHÛá¤, <³€ÌºsøÏIZì¼-¡ùB÷ –;×Å —›Ìóø˜oWűX¯2¦"d¡˜óAÎCåB†%c} ·±´¼^UzA|4‘~g?Z—gwíéâþZÓ ÏT Ö~ÆòÖ¼€cD¼‰G3™°°®Ž7'4nýûÓ`íoÍ0šê—G $ÑÒå` `jøB}(ËÈ6 6QÒ}ˆ½æM×±‹,:Ã'4£~–÷‹HSÇ/K¡Õ×õ׆ lŒbzjŒ†M:~kÔ…ü £[h‚½l³/…ÜÒgV•!˜¹ÀÓ@ƒqõ;ì4X•@§°#:Š:bìPîÁCUê[±Æé£Ô‹l¶{iªÆbmHøSéöÁ¼†˜¡}\“ &û”É^H ù?û Ä©˦猜Tiª•ÌŠTáìU¢Ý fiH(a +аøØ†EÁgƒ#!¢œK¢¼+üU ‡j&s&­0(ËGøÍÚ„ ‹¢|i¢¯qmT&Áàñì¸m1_1è¡ùƒD£Ö½ ¢G®û‚)æÐ¯ÿ÷ZÓÛ¿p¿x~³)·)°mßs47ü¼&Ä£c;cMÄÓê⼪˜‰Å†nžxÚZþpD[ÖF•Ür ‹j)Æsñ¡'VÕŒmºq ÇÀ®åŸ93Ñðª]àGÞs§¡×}–y¹•³RÔ45]áŽÜ•ıöÍçë}¬BNàt ‰dPDÖ»Ó¢¨›øŒg$èztg×ñǪ„»Þ^>R%t|Ì ?Ç<’íÕ ÁœÝ±QB©[F;W+œežkî€Mb‰Ôà’k‘Y¦ØÛ_±0ˆG¶«uMˆ\wùBÊÝ¿®›ˆZoX:'Ô ”gËD§ Eä. ¹"ý ¯Ñ:Å›&G2¡ ‡ùÐJ‰·xÿS+I7kYþÔ®¦Æµ%õÒ±ç0¥RcЋë)\}¦ê'häg¦“Új¤ÔVêÜÕÁQê~½Ê€œÎï±5 ²ø«<þ 'ÃôÞO⩲*]š¶j2“oâf}Ñ;Q3ŒÛ•!º.Þ„®‰®Š¦¨ J˜Í3™¹Ý¡’ \ÍöÉ“Á೜—žödÒ£4¹@‘.ìµ|†BsÏ7a ,ØÍ®MichÙa‹Ä{&û­"XfÐ6ë¹ÔÊhATn¹šÚ_VˆæZ´ U2©üî4] ¼í2o0øM8¯ÃÊÿQ÷?àÉé(ËÌ ”=׿mZ žîÒXªÒÓÍ—ðP!%S·¡3¹ø"j;7òò(j'ü$›×ï8K•:h8S{aöz>;0¬üôç l@ÚñìÆˆÌ ;iêÎñ«ú6«8,ÈÏxfÛ¾ŸÆœŒŒÊ% QÀDÌãyÑ °\ùi; ìý»¶l%h®.×J3¢çø¾ 6ÇM¿Œ°OÂÝ,=>:«•Ÿe‘;î9‘äRôð‰3d$FnósÔ ÷lþ¾#çÎ #‘>jf9m¡Un£+\Ÿ›CÛH+Œ­8Ùãp>^‰G®PžÖ0Ï1Ï•å@*'û5—.ãZ¦êC¦ŸrpjD±ÂÂÀgµ?mV’råX·‰³§L#Êì@¢iit³¦ô •*4\$÷b—Þ ß¤8}ðÀ¦ µÔ©ßü~ÁŽmAn«óáÇka8­'½æ©ª î¡®gJdv\f’{݈¸u1íÞ‚á~ægôog“2®çj;‰«²p+ȃ°ÜÝÒ Ù±CÃÄH«uQ<„¿?‘2³¬ËcÆ‹pif(þ‰°ç*&,ý,ǫйÑ&2`=äòãôÁ™ëÉþäåÆ*8×lcz âÛµ,ö_{2»PÖi£è©AƒübøäAŒç²> nís*Ý.3ÎÉ ÕªL(èb‰ePY÷ߟzdP°‡YU,¤âùLž8uw橵ë5èZ0—¶B½ã.T\ˆÛX>o,࿳ ;Z[Ƙ~°E¹Êž «kr«Vßíò3iª”y}5 Íï‹þùªñ¤˜²€ 'È– ÷"ÐDSÞ1ìƒÿOþ¿E{yÕ5i{]óE ]é’?5¸NK)!–ÍHØ =°¸ù‰ž/›xRx"{×èCT&Ô_4E^ÌÜ*#“u”WTi;#ŸkKÿ†¡.´91ÅͪeÇCöXO%gÆò]“Iõ5Ef ©›z—OѨÉz1B<ó±Töw‹†DDÛµ +E…„`%ñµà¬.«ˆ/ü=l®p)Y»sáK=ë3h8[)¬mqNžç·¾vó1¥AËàJMÌ{çÚö)ÕÍxOƒÀfpgd9°—¡•L¦8¹È–&ó øC ZÃÔÉ]®Õ‹ËÀBÞY2A5µ¯´FX®Èlñsi¸Ê8ìþ(—µ¨Rÿì½8 °ÿÝ-5<]ìÉO¿b”´Ké@å•Й|ý:O…\Ò ¼Þˆ?%äž;¢mÄ£Šúé*AÕïú°¶Z;Q­ŠRšÕ`çóýÀ$ÔãcR-ÜÜzå¦ï¹ Cox½UÿÞŒynÛt¾”ªå±eqV°Íõx`n­—ÚÊJF£ô$ÄBH!aDX\YÏh#,·™ZÁÄ;Þ„Àþ8RÕ©ö˜:¹G¦ b¹‰©íœÊؽJõ³Î:GPôÛV^çðN›Û/¬J•áÍILv £j–s!Æ×ï0¥}V8ûɤ°ÝÚ¯~éUlD«´Ý9jZ¿Ð’ÇÓWˆoñÁÊ 6€×&I‚sÒ8ûZÇV&0ɘ1ØÓÞs9»;ìÅtA­5¥ö= ÜN˜!3ü§rrî°mÿUÒgZå/XÂ]¡8^ów´Ë­>Ú,r‡¹u÷~¯p\}EZYË ô˜7^e¼çÆþ8¼§—%OPèyÎ*4­˜bŠœÔÿõG-Å_"&H‚gµÑyy´€W>ežE4ÉÝiCYƒÈ+g}Z‡Ý<Ö5M^æÇ޶k òï×0¥5­é»[èãû\ýa7 wŽÖ’DÎ]Øí¨á's†P¯þÖµ)ñ¨™tÍ32½½ˆ¤"vɼNÏA VŒ¹G©ÆJŒ°ýì\Itkóã*àò@“rËŒ.U xÈ“—±¿ûpŸWDí"Sïü4ÖÚ3çPN«²½ éÓ«ã1ÆÝ²pöl£7<Ó$Ædùí£H*zÝàPi˜BOKØ ×c¨Òà\ßw9Üö_Ú¾S²‡P º`ìk0Œ€›¼ŽW§e½Ä¯ ÔHæðs ØGòp€äˆDåRqçÙ™aVø«ˆ…H99A¨Cû]àIdŠ~.“²…:F½4œåJºêÄ5Id¯-ô¯ºòðÉyxÆÐ"ç®NC·†WB}SÀ#m tNRõ„ïiûC€¥8znÈõ ã9¥£fÙõj ã*®ftïTž+íÒŸ ²^.ÉÑÓ•ÏŠqpø–ñ„öywò’ò4ïtÜÕï/ †´tüÀ8+FHVó¢ä &(¡ÖPöëgÂá Q±O4‰G%x¹h±£„eóHdéÓXhÝü®y;Þ®ž¿H¾ñEv!€YÐ[f¸¨G¸ÁWò–Œ¾‡{ªßO @¤#'KéyÅ2@]e1 Z«ûĨ¯UFý³?hA´¯t h.”è~¾Fv™SžJ`éÏxç `6¦ •Q±~d|¡œ•tj¡5ŒÚÅ:×À¾èÅv½`@ÔÍT§¢€(T+÷ˆf3`᎛­l™oÌ"¸ 8ø‚xJÒhÛ©§}hÄ ßwQ >Sb@%ݼ«Fð~@ŸöÔ* ­²–Ùöƽh@kÒÖw§Oè;Ž·~üt_, V»ó" MTû!Á5¨îfQÃlN"£³ƒ* €Š=“ëþž„$gÓ&˜l,.¼Ž„ÌžvûDôñc:ì÷=™‘úm«£a‡œ9ÖGÀäÎßú@ö”dö•ù`OTx)²:uá½´!­,‰ßT$@=ŒiÔx·žß(¯#BwðFÂÔÊe¦Ï73ý\º¸÷$…èÓ…ñ>„Ø”·¢ìTkàíÿÉà}Wnk 7®UÊYt8ëè™¦Ôæ ‡ 4óŽið‹Óúm•óŸ×GÆ¿¼õÐI ü#œpApÅs«Œ.®ü2-•¹í/ZÿèIñf”@q“°¯‚Ò6[×ĸüµžÓî\‹ÓˆûU½b1Nt‚\%ŸhJZXÇÿ£ Œ¬6û€z2:|j=~OX‡¸¢ÚÖºO“¦zšfçâ0Àù–¾öýê:`ò™þTÅuà0¿› `üüú"—ŒÔuáÁûNµJ×]ty ×Ù¦¾ñ0èi]¹oh@|Ö%vRÒ©›×P…SWŒ˜—sª’gñס}ó.Ë1÷ý’ÊCÊnÚŠÐÐ,]§Ì½HG=Ö½Ê}M[>ÍÛWê!R£·ñCìÊÝã›@š~W¸~ï6¦:`¡YEt|$` Œðð*LjMUöÄ8Ä_8·]Zå>*øvq¦ú}Èg©|UŽmSv£7îZ}X/ð±'ú°6ÈÅæ4ù¶2\TBÈhÔÉGêE€ËÇœ,QRòüŽ¡°SôR¤Ü?Ò—Ü!ä"ÿ"¯M\¡Ûè– öÀ—Ó¡Xà¶G®Ðkÿ×Ol © zßJ®÷/ÑÄÞ“ZÝ…Øn¯‚ž‹[æ#‘•¢(N¤34òפ0ãáÂf{ŒxØ”K§KBÿ aX;““"(¸~±P•JÑï´õ1[ZÑȶ¿ÃÎãæÌCQTâG•âÚ»’I?‹6ðÜÿÜ S -ùG-n8ÓÂ:©ìbc´p¿ùlíJ‘a¿ò}j䉼—õå2e.V.^E—Çö ÜJ³’™Ô:4ü>ò4¯ƒ›MÂüE;¦ËúGJ¤ŒC†ò&áßwÑOxån¬ú5w’´,w¶âþɤñAº’<ÉüfsËyKák}µFeØ7ï µOŽ®ŒI>:»à”ë qu‰0(XÖÑf§-ÉUïÆ˜e«Àk™ {ÊM ÿõ>›IÞ" ‚úñ§å+0‰ï‰óçn$î Õ.*C€ˆ<^9)Ï,ú0ü»ÐT6Â7eóœr#·‰ò¡w1ÏŽ.ûϦ{ÔÞ>Ùt‡Â¨¯nGìÞE¸L}q¦}cæv%(â¬4Þ@Ê•É?¢ÐMÜØèv¢öFqWcˆ}¥ø&ý!´‘²Á¢Ð¼Äkqó‚\˜ÝPmÆ ÌL£’ºæ]Kóˆ ¬2ùNþª±ÈýœŸq¤$¸/‚4_nºÅP6Læ–O&™*Ÿ®Vñßo?,¥p ršbx@U~ï{D†¹©¢º®VðËå’¶º\SqÓxMâ1w)âz9OЦä@õóoËÛ y VäJ‚2>G^§*Ús,oôù»ôbŽå/¾ØkÚ/4;B©F‘Û @oÔYÙ—ŸV¸)ð–x›\ÖjíjË[%¸pËMf‡£Œ×qh¿¬Ââ¥9‘AÔêYÞj[ñâOôÂÄl<Ôð̽&±Ã@ž‡rðÞköFè쉄™hO(Ûz7Ö=úbh‰Q'sˆO @¬hCƒ&ý·—úÌMþ’OqÆ_:ç0™ÞŠ3b¸ëÅ™Íb5†¦1•NןD/B\[er ÔNÊHtº,XU‰´ŒY0Pu;6;í-2½übÃ}|Š‹Ï®jB·ÈŒ”‹"jÄÔ‘?\ÈÀÑúN„0а=5ù¥¿-¹°¥öò„¡Í¶(ŠwH…í¥+» Î &nà§BµŠÈÌ5cÙ“ƒ[½¤ôº÷¢¿öÏ\o5,sÈ…脺*zÌ­„É›ØÐ)ö×ã[¬kP]a‹–£¥.\ªWøS?,@E¯¥èBæšš7:SŠ¢ÍLœZÿ¼a¹biýfÎGçái‰šq£µ !ñ`x^}QÏg©Ð·MÅ@mØ™ igo¿c«ãýA,vVj‹8R`{½øË·1CX<šplCI]÷Hªè8‘¯ ¬ï0ù]„%àEó¹üoÁå°0o(²F"E£ªØ¡Æ¿*TÿÏ ñzS:GÕ„Pø¿Ëè9‹S²â#p‚¬r@êÓüžuûé+ÖZ‰‘åxŽS㪹-šš“šÁñÊýPºÑ¤0#ƒI¥D}ûgì{é9ªQWžyÓµj‡®¹‰Êl½êi}Z[|àrãÕh7N7¸‹Î?o0à),jÎsMÀgj’Âת# ;è'*¼t.×r~æÄªóÃí4]H·qÈ®ÚG^Õ!SG…k÷Yê¼QôÆw¡,{¹EÜ%¬IÂ5d‰Ou5¹CLU_ñA}ç«xÜ–½?ä¿ÖAÁ¢§Ç£Á.ð+Ðm8bŒh9=ÒÎ¥õ¬¯Åɳ­c³'TSרæâ•¿FQxYHÔ˜´KÎ2Û¼ü±/ Šz:9ãБÃX$ —´Èq†R²ù'âó÷µn¥ÚqÚAªyÅýU­d…º•¯|Ãx&B†@y‰»ðÜÒ% „o€s·Qê`€ðåT²ßîwx— ëAb ¯OíZ¹Ñà„ ÂAužºg× 3~rTŽç’TüD¹v˜ @£±¦Õg)`(iƒ²¨:ËÄmÎIp>¢OµŸOæ8Ï )ž†í`}j¢å?¼JJœË©+÷Å™\ãdÁ¸šèC¸Á'niaÏǸ¿j›_ŒÂvYŒU¸r@¡Ñ{÷X/o5èyg½¾Fæê‹tÚ$e>N ½¯¢R÷²Í54h;ÛØù÷TY“¾ßU¶ò…°üUìPV‡b ò¬Qó¼{Yè@F«ÿËþ°hÙ]¹‚œÆsaP}ÁÒëŒë„,t¹9ÁRÒ"¸'å ˆ¾/"òTæábÎÄ‚4 öæîÉïÃÐÖùuèpïÍ Ä 9M±wðŒÃïÎJy¦’F4~.Ów¸’#Q²Nácˆ…ª ±¿çÕ$=Ò?þî ÀgÀý«´ßYg 'ËRF%穾röÇ”Æ[ö\ƒA•Ð+£±8r]èÌÑ4Ag~¶$Å;ß)2£ƒ•ð”ÆV ==`ƒ9ÞÆÖ>žÃÛ¬ØßÞ!¹‡ê0¬„_f¨%·SÇ vÂA­i/ú0fý€„š}dúÄÔ‰2©øÜm€Tm’ÎQšŠý?-h€ç›ÓÿñÜ–äW±–  “s01Œ%†Ûâb ‰ ñ…@Ë—š-Ukƒ›Ã¼'Ch¥›½âúQ–0¤fžMºÀ ³yøa‹ˆæ{»þ'=à?ª4”Ÿª–ÌÍõÖ'¼]iO¯§U&ÙâZêj('¨ÚªÜ;.°o‡–y–þ…Ô—ûêךp[¼_:¸G,Û1Þ‘UÙ¶”«µÚI5¸¶Èþ*œ¡“e&0oÏG|fÛ줦ùÏz¿Þ˜ˆ¦yˆd!Wªkîû^¥Çß ä×pš›[oÍœ3oAA;Ü[:È´¯!uxb•Ä€ÉÄ^­¸mã·âÓ’?ùþ›fÉ¿£ëÍPïtÌ÷v¨Œà¥ÕŠvPª‰º&Ü*ΟP2–úr—ñSW`3Ìd•Ïöä÷,”)òuŒêõ” • ëøÇ öV€ij€üÇ›Än¿Å,”Q.Àp™©*ÎvÁÏRåBÚÂÄ66G =J¸ ¤]ìc35¬9ÔPñ(m®¬÷üh%v3·tCm'°åÌÝ9›†‘“ûaÖ d `ÛôäbZï G.þêØ°Ec„\qôÛ fl÷¬"œqUoÞú[ß ¹Gàjlìþ†Oí›È¡í[Íì!.&}©ïïùa&G›?1‹wF»0yï:pÁ0 ӵ峽7ÍzO4ù£õø%éÉ~[/v€Ü¿P¿ÑWîáÍçîãèv§Ù(Ï0â|òˆ©Ò‰ÂnV¯å óû4ôÖµ Rü8]Óþ¡Ü%œ<0d IP|qp˜‚¤-7ÖyòfžmåäÃþÇ [À'I`^t23 û‹©hë¶ÿ"=·¼t†¶N„Ùs_”bK¦+zNö¶àÌïk[‰¦¯©OúÆç#òf1NqÔ6A‹ì¥Ê¾Hòt ªƒE&cµë·ÿc]̆'ËF)"†fyn]³/Iq&7H•ù¤i0á¯QÊ#DëÓÓk¬-£Ï(ž:Ùò«ÉzûóªQKR`g[{öœ|ád¿‹ žVÖVb20>ê«jŸ“Õp…§×Èó^½Z‰cž†äAôÓŒ÷¿Úkkz>ìµrw+Ø“ü˜Óò lŒ;¾«M,Ú"ßw÷«šºQÜ Ɉ‡¥7]•–ÓÜ!¯¤„=blÇK þK‡¦Ô:î¾Ý#Öêß¶]6þa§o7¦˜«´ƒÃ Í o²ãiÁãm}éOüáµ™ÆV<]Õ¦N‘UƒÈ_KƒR½Aé­ðTC¨Í]ä!-¦ºƒ£Jº·"]Pæ²Ó"Žá =¿ ´ E/>žob•ufãP~Ëè1áëKD2/`Úpiw§`£—ðÑ–l3È"™ï´}(ú§„¥ô¾AHz»ó­»¬Àà/˜j•¹m»Þî&â ^äNâB1L–e~8*2õkj{X¯+Ƚµ Ò>¶hÕG£ˆ»ï/+²ÿEÃÛá"-¨"ã›ÞCÉ>¢â…Õf{ô%<ÛåÏ£Ì!TÁܶ;¼½'ºˆb/ÞìjƒYšˆr±J¹ßSW[p\‡;Áœ?Š“1ó¾·ý½ (øð'Ž-,êrw”ÄŸ{bûã¦9'C¡'@üNfµ~w"o"B°*d„ÊðL± ½.ÂÃv’xÄ”kd”lV’®g°ð<”Ý€™B„DÈÎii> O_T ֳüº/Êuù‘ø_–Ÿx¼õ ›SÁ"»Y=¢y!Ê[Ï?tÀ¤õ¢*¼ÚÆTÕŽ%έÚ-‘Bì‰R}cãc‘Í}|bOÓ)Š;Ĺ6¦æÞùÞsÿ[lâÐ!BD÷ӆ閘?ŠP·93]9OÁ hA)¦6¿ÌøÔòƒÚ柱 A‡˜‘ žVu©™,€w­×–•tð‡ÑÈ{k ãü©´œý²'ÿ—tœÌJ»î‡î䎸}%ҵ؄²4ê)ƒÏBMΫ‰R¦E.íV׆Óٖص}&,A ôn3oƒ‡ê…¸©d%Ðwó,«šŠ@ruäÙœ"#ï3SÙ=©ªhwákñ‡¦k_éÚÖ®ѵù»Øj\Dû­@ÐȺ¬ŒCGˆZÌÉé@Y'äà1¥ÐaV¬X¯CÕ¦üy8)_j· ÔÿøkHqqkÉEgºË4-„5©™‰7ÎÁ\¾¾¤vK =…a#Žï•¬å›WªÃ³²´ehíçq[ÎÖÐ¥àÇííz0Û0g /Žrþ¿"1Žz1WMžæÝMkÒîê“ÈÚ—¾ýû‚F©æüªjTYoºÁšå³— œÌ¥@^ž€ïÁh‡[ß…ä7À«3sŒŽVô¦Œö,ŽoQû®‹û‹¸žŸÃV=m:é¶Õ餯äªÏ[œ`)*5×"KX·¬¸t±Æ&áÙVHÅ– û/êûi)Á]¶Ž¶ìÿÂ’GiŠö55í¯š˜?ÚvL[ª]Ï b§3Lã?jÎÖ‚s÷ò±òë²ëÇá§Q£ák€@ÊΤ9^Ÿ½LÉ÷»4?ƒ{ ·½Å‰²Â‚Ô%Ùô»9~»D€ ðXKi$œ ÁÕïû º0!ƒóÜ$횤,x’¿çÒË }5Å; *q l± iåe4¼UtlM³þ=>ˆCP‡å8SxF„Ju´jã‡o–yGBjù±¼n€›SÿPżwÕÃÆ}÷ß°¤¬€°/d á?Èv° Õ,˜‚Wpu|éÒÂb®;KžÌ±HÚ0{óÏ辂‰J1Wý iɪ|¹+ô£SÝ'dÞn*øEòeA]b÷²-ÙIºO{@©~ Uä ¯åù5ÝE8jùñA,'RGzhßhä„ÇpÙ &S¡yCyåmªÿ:òƒÊ¦cz[é‡LaÔ’¦ýaõË™¦í7+Ú÷Y·?‰ó©ÐêÉE¨9›ÐiSZgŸìXë—€¶;Ó«c)2ºõ#ÛdáEøÿ Ižøéï»Yfþ'5*,ަ÷@KÚG‚àž1@E[°W m1OL€nÞ+Z–D\O^ýpÇR?lâÝF 9,;íƒby#½h [êoÉŸâàƒ ãƒ•§±¦»¦<¨ñs7±s S‡-Ô9œ J·ù×ÈSH#¢C}ºV}F$¥ ‡CiŠÅVP€;, Žþ£”/Lfå]pˆ ¬‰Çzñ°ƒ®0:Ò›¹O¨s‚&zBD¬ÅÔQÏÄÈä¥ü¢É&ÒŒDŽÊ°ÌC 8™ä/¾¶hFc¸(%¡/&'1ÅÉý¹ãpR6rzX@o× ?ý’·ëyŒL´›JÚý>lr½õøá?ýu¬‹ð~Y—Ó֌©Lˆ.·†5ðhW»ÁÓË^ôg%ǰš "êÌ Âx“u‡6Ù;ÄMd(Fw³éÝËËö˜ O}ú꬙†2zwÀ«n¶ËaT5òÒøÇ¬‹¶*°“2Ùå}'P«xê«nÿ°®$ùîÊ;GúG“ÒLœ̹ö¥;C΢ëUX¨…Ã+_O/š†³‡+·•éØžo,ç=ÐüæšN¹+.!Ê#Þä1ü-ùCp2ÔäˆÕôrðŠØ8£IÚð ù¾tPGzDhZ÷u_1»Öh„l /q!KïyM›¡p8€Ãí§ÏRèRß#éÏÓdcî'[2úÝw¦71ê^ëSHSIèÈ‹Žüå´q=±.\P”=SÜ)‚ç„ô¡¡cR%è€Øj¾œô²Ð* ¥/z9:/®üdÇîú´±õÔÑ](eQí¢\±wƒ±á8¥¾T/®Ñ›òIÙÝP?/õ> lµM]EnN1濞àþ‰§`eüÀâÒ€!³v¢o:lr€ã·xgX®ësˆ%yj ÔÌù,UÚ cÍm: ¡ú¨é|gÑ: ý!*–«+ŸÒ0ÂZð÷ËK< V–ñަo»5•ÕÏ© Îå;,EÇÒNÂî8͈À¦M_ ªÛo¥ úÀ÷:"å¢\/…›€²™|{UZ·ŸÙ*—ˆÄ£)T~DÛÇm!­vë,¦®fV÷“»ß&NÀeQåPD²‘ˆq‡ ù'Ého-=Ý¥Ö_·}OàK‡\S^Á&Ñêu nÐùeÊ2 ø°lWw¢ë3´–‡âËd <ßœeuÿl3dŸ™’ýxáTE’œXYÕ/˜xxæl?¢(u5¶C£µŒ™ Æ×KŒ¾PA6ÂIf!¤%úàšCbçÀ2©RQ⤂¢èÄ—”eýˆÞäw—x(8Åâ–rËU®2'rT‡=·H·="ÃŒõtÍÍ‚j ã§ù!¸(¥rÔóåÉIV¡ÙÄï\·(êüÇ*c9§£FZ8žºýù1ðß@—'w±ÁøÊ«P1ñ·]Gb´{Øâ_œ¼vÉ -ÙÅ}ÆÒ÷X¶ê•(·rÂÓÄøÆFo ÑaÚâxÇè³ ‡ÊâXi£'àFŸìúÆ®†AIµìÐq@×®6MÙGŽ f!P>ÜÚnYEEήXÝ£~Âd¾VÖ—Uh ÃoæF>Y³ógÉ9êÁ%FC¦{êtÅ*ŽœIˆ-C™`ú4‡U±à±]c ›ì½ŽÞÈ^øÕPäÚ† &ìÍY¡ï‚ÑMlz¾v‚]™ròIV'®ôˆkæá@q¶2ØÐÍÀË̓‰¨Yy®ûíÖ?Ù"°ŠQIu‹~¿ÿ„N¼#7Àù:3O_¼ò¼™Ë£=hLqÝ[£ôæ¾cúÞtÔ¶¢Hœ†ßÅ&nºÃ$¸7S ²K*P2Ë ËÌ?G욀 xå.,Ô<ÖF ÌŒºW(‰žYä€ÝÝÀ<2î "‡§§X‡_t±‹n²wÂFÝàé9D·Mø_¦¯bèâG­(Y÷#÷Ì"¬RWÎEŠ£†·8UNæ’ì±ÊMtÅÜy8tÚӪדšo*E:œðÆâ…Zï ^)j ç¶1 ùˆ×¿¶Äe'ç˜FŸ¦’Z†‰<¯u¬ =•WÔ Fã°D™8z’ÝÆU„ÈÛ .)«5Õ¤#÷0_ZsOAœö¯À¤¾‡QLÔC¢ÞœŒ·±[ ¦‚nº«7–¦e,ñC˜vkÁp@?Î]ª«FlÂôþ3U/&½nÏ–Ã(B[ A(š% 0/yùD¬EqQ OV:CÇ7Ÿst!Aʬ¶4a¡ÒÒ‘> rlê‰IÃÕëÆÃ;f€{¹šç¯*³­ÒírAذ‘•=D•ÆYɽ€Ó:ßê$(Ì‹Šƒ9ጉ|˜o…‰³™Ð8Ï„Q süTÊ-éá’!9ÿµ“`¥º›­ÔÕFÎbW$ÊDar[àI\‹0Rˆ9F¥EN‚‘MïöºYbuåj|QŽ%=Ö«Þˆ©E‹›‹1 \™w ^×-lz­íB׸¥vaýïÞ%VK·ñ–Oìv,Ú 6~ö‰\ÅTMÝdnAÚaòø/[ÿTjÛo9n[6½È¿Gä'¾4¸Ë‘2ü\ÁI©šxV:ÙN,z¯™.áqß´Åmè\˜sÅ‚bš†^v¸J‡W܉ѿðjL×€—ãü.Tíq ‰AXiâM¾ÝPAI€–TÄO:N$G-J˜ è7*t«´‡qˆ&½ÕŒìÙ½U{ªG­A9bi o×êµ[n@ãû»ì@‰"€É¾Š\î%h£O˹á32ǰ6þ®ÖAmv¬¤(ÊǵUµ€qu2Ó‚L¥»;îÐÔÏwÛ[™Ô*×/½u˜{/·d”íÃa<¶´Êˆ¶] öKƒO4÷{§Y¶ñüRT[#š¡†\qmx<žI4š!ÉqíW²öOŵ&dM3o Ci$Ã=®+<0åg™vÓ ó}k7/¾£·mÖK„zJÂls‹e'çY4/ÇëüblKÔ)E–kÑØÖÜ>!ØÏ\­—›ëÈ þÐ2Rú˜’6óÿñdÔ|¡ž#A‰â:Œ©âUΤ€¦‘‹‹'‡¤›løç^¥¸ø&ËÀs‹õ® 0A"k&›PNõ0öeD¤38%ÆH¡² ÌI¦áƒžT¿%/%oH0êTΕ‘³?ŽéÌmÒ¢”~½G‹kG>ˆozžÁ,štú%FlH¸rbaP#;ïà-é˜guJ@clwÒ$þë£?V“ó QïoûS›ñ—«ÁzðÒé;iÂÝN]Ú©ßXÔ®vèñOãã€ÁlÑ’9ýN rÏ-©q½À’V8¾d~‚aW‡·ß—r ²âÍñåËß|g> ö%Òƒ´òï+Îý—mm3Íêùæ{$´ÂTägf .pñ¢’E€TjépMm…l Ÿp´H«6£Nœ’½m+ðeçO*I üŠm#K¬M“j<ì•NdQ“OÑ”mÛ•TH¶ù%f SU*ÝWx:EÁV‚ÓÁ˜¤³v½÷ñÂû–(ä$ Uw}¤ 54û!‰ŠÀ LDR“ƒá/úÓMêÓJú°¬|Ÿ@.b5²CìÂ}å¬ß+âˆê"ÓHůUŽ&æ•sbH‰éÙlBÿ-»xªž÷`רöÊ·¯èH02EIEl¸ŒJ©HÈ(§rø2Öþï~þ|vx¡t—ùsº ®zÛ„Í™ŒVp£eàp†by¨ÜuÐ4¤Tú@8ùsÜà…€áJÂú¯>9kªïf#]c’¢îv›CŸ’¸èÍ︣{Sc×Ñ">ƒ¶{kÃodl6ÿÛ÷¼bª /ýhZùñÊ-¹î¼¿·@±•1‹½ÊŽt($4pëêú.0ÚJYÓµð¼-–šn+h‡˜Ò]Eà Ì3¥õø_¦½j:l²Ñ.’œ=)ò“ –õ rE5[‘b™\áö6i|¿>ÉG׊û}nZ=°8Ç]C”¶“\¤²HŒµíYpèj3u†ô¹sï|Rgp^·5ª>Xn}‡?O¸úßüí•->¶ÉlH ÆMJ… FöZíèdýäëXùèá¥\€÷VUUíRÀ^ðü¥DOæ‚‹ÁoXÒ‹¢—^%wUÏ ühëðø"=FÊc !:I6T:-øºšÙ=æ{b0#i5xU!7tû›9šKŸÐŽTÑ)êÍè;ì:OêƒYÉn7ôv0¸MöûòØÒÎ[™XÂ$Šf<=`WI)@Þ¾M–bµPkJ<÷ØÖ.wÔž·˜Ã=—Énm™Q8r¸²B*v÷M3Ö'\|Ôeɧ¾¼–;v$¤ðdžYÓˆöĶâNḆ±(¼òYC½0ª PÆ[ƒpópå îѤ?õÙv\… Ѥéꪱmïî[¸šïºh®ÉáÏDßËßuý¼~åöû“?µI~< KZÛ·^+ŠÞ‘]ϵ!A7k £ŠÖtkÿA¡ŽÓq¿ÕqíkDÁ†×ž±ŸææcqN !­ZSjN’®V@ËH°ªj{¬¥ä/žÕÞtqSÆŒÈã =-¨{l©Ð*w;ÇTi¥8•Ô^W”â4ÎOÓ”Lÿû¯CPë3p…G¬ªß$¾r[_µ ¶:ŠI²—Î]6!Ã6ñ¬@By ­Vl4^¿;àç€ÕœóZèMäí^BßÅgßÃŽWý†Vƒ<-¤ÝÃ0µë£R‡üŸny4Àþɨ¬¹Fæ˜Ú؆½\6ÒÎÑ*ÂP•èÙAMÇ ±ÏlGÂ別€Ì=Ÿ“bˆ÷! Þañ­šØ/3we`â4Ñɼ†ÍáÍâ‘”ÏT”æ—u¼A'xg™o4„²Ñ¥\B8Z…×Gl’ʆo»ÿXßöÛâçx;:qd(ÀØK÷óâ<ýîÇàªÍ Þpñ}´ª(Ž|C49;¾Þ—Öš§Þõ$g&èMÖìPçÿp%´Ã¹âÆ8jSæÆ Ÿþ žÜHZ7£ÎÖ¼ÉÌJÓì%(ò\ÀÞ·±vѲjXVn]HjFÚ? ½#[Zk‹0´Œóíßö!m7‚ ðP ÿSWy[ï©H”W,€ÙZû#\ Wò³•6þ È:ïmÔ«+#ü†h·\.ïZ³þ:}w‹œ¤réð5C{,c§>×UCRùu1Æî|}íAIU›BŠUE ZR–Taž0'…¾C¿é2s½ÚÅU•`ܽ5œq®‹×ÄÇ4§(àÖËïú¸ï_²–Æ~û éÿÔ¤[Æ Tiʹ ¡¼›¢Ü7}mV—ÖI6JR(ÄQ„Qå&˜!©\šfyR‡“å°7Óµ½M~ðþS]Dý§˜ëRoè{ζP¦}åÑ$G‡¾À-O‹G[ÜÅå%Ý<OÁ6é®:ž'1íS Á’ªÌŒèücÑûwDÀ£mSTd…[†¾j&î¬yÒEƒ?RŒ«¹tN”W^|Åæþ]92G„¨åí‚ç¥î«àWE¦«""$·» ´ÙÓÏz[Óž>ÚÚµobn˜ˆ|_(°~)ˆ[»¶¿ŸfÏb¹69òÕAFöêa$"~›ÕÔÑi»ÞK2•Q³? ˜Rãë ã¸GÜ‹¬3=½»*õüRŸÆyê˜ÖQ–`ôž¼&“²A¥"GŸn‚sµÿÉ`kýÖš9¤¬a–h–¯è“øÐo„R¸ïrìØ„Ru1t 7&&ý›Èú¹Á:¤r‹¼€®ò!sí&-È]Îl42ë9ƒ|A.Àî±´¨±ÁÊÜRÏïùa¢ËUPHxšÖ3¤¶ë“{Þ^{ÖÌÏ:4ÁlÆ’’|¢žó鳩‹þ­+£†–@^BžÏþÓ çB×d Ü™‡1y~K„ˆ!kœîú‚ çkô§ÊUÅ·ìŒß-Á}q®?hÉvöÝÕVįhË/ÏRsøÕ‡y÷%¿¬IÂgm£ÉÞÈ'G!9¼uhG[Þ‰2Ò{Þg§jÇÃfê$AEÞ»ÍæÁÜ (¹hOWáÙ§n‰'^û@I-íUÿq~– ¤ŽÏ¤üóêL¦ råb!Sëþ¾ÆÙ‡:¡oË8P·Û|©4@ j‹ßú»¦5![½°Í@]EªHý,Ìã¥ülTRë‘~ZÛY¨9SLÀÉ/¹Éµ¬ÅI0Fx©¹{a‡w”£<Ñ­n|†*¯ü.º‰Nñe¾Ú4ÕÅdÄೌ?Ã;6ew¿Ô_¯8 e:þƒã,'¹“ïõUcу=|F’òñ@P•¬à#~ìÕ!è#˜ÌÒû–rƒè<÷ŸxÀDì`gÅ Ø$K$FG“RýyL``È€¹M,Mô¥q‚Œ¯íÎ=oÇ>øÓ” ?ÂåHùSÙü›ƒ!F`K ȶbÒº“94Ÿ‡Š«èA ÿ}ÛN=Y‹‘ŠÈ;1'ƒ•ƒF3’)ITä´ŠþtÈè{ï2Î}ÜájÙâæ¡Mû}3•” ¹x…S³óÕSÿ9”V=MÙâ±±È ñÕrJ_ÿ+‡GßÒpù- ÖŠ˜Ía¾j³Íh—Õ åÁ ÖöøÀJª-¯9døßÒ¥ýŸR Jˆ£éÇqø(«Ã뉃¢Íù<¶´úÂIÑ3•Ù´Ö½ŠÐgåÒ¢àj`ŒËh„iØŽ\±í€¶ 6½ ’›æ^È ü–¤Ž§¹~_ág´pÅ“ð$înJìÁkÞÄu íyµèiF¦Åt *3´ðüüœõ£²ð5ÚqΆ­jÍÁ÷! ÝpšòÇ$×+HÚ‚o=¾å J:@þ6w6-,?û¶¶JíÐxÂsãÜæùÃ,QiÚP‹;ð‡M¡.…±8*©g¡«µ$3d»Ì³1³>ÙñÑèHâ±Ù ØP4Œá֌̙S'°¤¾ÿ?Ë;|7¡uÿ|ß–Iˆ äh_0IÂ;cCt¨+8M&¾KÏóµðŽ1“=×®:NCȈ¢Ûô*å¸?€¸Á«³æ²†ŒzÛ‹†B­=ò@õ¾ 2tH|7Þu(–ß §(9O"‰uihÈù™5“:ú¹—žô¤Z¾)¨2¬FêÊ æH³ýEmz_îÎy p2a;Ódµk˜Ïl†Æ¨ø0ŽùÌu™høª>yÛS•ÿºzù‹F]À8¥sÁ‹Sc‘ËcPm@WÕ³“Z4øÎ¼®å~?òâ‹àGíܳϧªö¹¾Úd~’!‹S—΀ÊZãi{­XdøŒ%ÝkšûÛy»M‰ÍF²Ì"è"6EÔŠ*^¯n§Œn©:yzeæ™Î=1/w‡ØKm÷H\Fž# ¯ÓÖÊúƒSä÷ö.ÏÊŠÞë©yœæ»ç_£ìÒÏ ¨U[=Šf‹çï#.{æÔÂÑÞ ÷ÜG.ËÁƳGÌ“œ,Q'á*mjmÿÿôuL³>ðò´A5ÇâñÌøIýR…Y> d®•òëôël‡-Ös´ñœ˜=,‡ò~YšºíúvP‡µÐú ì½ÉÍCãqC¥L$äxfœ·¼è¶¨E7ŸI¬|ãìS²ÿ¹jÏšüwCÛŒþd18-¦ÅAwÌúb]tDˆo?ÎÐýt'4¢Qlbn¨8"¤)ËU_”³FLYIö$š@3dG|bîÇz¯"y‡ †T$skB‘à°)ÿõ< ˜sà`S"½½íÜôÂkfÔv×##‘àzYJ®8Þ¦Íã¼ãòkZƒ…|õ:&ÔæŽvøzϬÏbC‚\Ñ4ëü2‚¤´úñŠrôyÔ$ZeÕ×6u…̶lÚ¢٘ VÃ!‘aÝH':T„d€gòüÁ]ݨ2Oè° äüÇàÑ(µO|Mcc­$àÒ’²D>Û½ŠÏn]ZدÌw…pÁ3ÄÑz­È•g5yi -á.WcÔÈ¥e§ŽýJŠñ7Eˆ´ß?W¯GV´2¬SdH21Õ»µ¦}”²»‹ %C26XÝØÞ,Ïá Ðâ¤l‡o-#ƒœTU×  4SàÍ gåÇöôŽbù`þÚÿ KëÌáS5¾]šÝ}DMÅâ=VY7L\²ÈvO»KW ~°×“¤»ÂeEÌ‘d?ª 39ЀDÝY^™š…ça‘JOÉͽ›­ ‚W¬0|ÌÎôŠŽäiíâ¾»wºÇ-ƒÙ}±Òa]M<ó½-p¼{DF˜ë,*U1æçšlíÈ-øléÖIþv¦9lOA¥„äaÁœ6쌉(Ø&BÈN\ÖÞŒ6‹õÔõø6XÔ½¡%—t,‚–«®|GÖ.ºz[zØY2ë"èÿ÷è·°zŽQ<§` ³S}ÊwÑ1MÍrÄ`1)ÍO»í×ÒÇ)ÑgðÇ æµ éŒØY’©¡È0è°1¼@ 7A®ÕïßWC|Î/?ëÂÓÜQò'‚zò~j|Ùç…á$'M²«5P›-1pÛ/hîÌùh™¤»!µä;Ÿ–½8O¸þ*£üïÎ^™ëZûH‘;äˆð‚„ÿ±¤²—&n¶ï–©CO&¼V ±ýj0¯dš$.kº Fß” Œø‘fy©èÕX1Ä6)° ÝX;©~À UÂ…ú„òÓ©§{ßë«C!wzˆŽiòGAåsXsk±O€ˆrwÏÌ:9ü¯¢‰ Õk„û!Ôå…ÕÄ#)Øçõ‹ö;<ÖIza-fES…·wŒ*%B=°ãk¨%FG¤ðîý>5qõ¼X¨‰,Ø7rõ}ã"cåßÙ î8¦§Ò›QMSÜN¥K3ÃÆÊ5Œ[YÀjNG¹’õ¸UdÉž`‡Þà©PÏFý³£Ò»Þ„:ÕÁç 8"ÉC'àä†í” ÇÁo$Ü¥EÅÕmv7.Vvõâ¿’ƒ Ù …ù"™‡K“ã}p¤ýÃËŒ®Þ™Hþ¡i¿|ž²à9*”kå"X†Q‹± ïÆ&×dT"¹3›+^Ï1¼»ZéoÛù¤p9¬wVtÅUþt2;¿¬Îª~¢²xürêõ—DsI`C¯‘n9>qæ +ír((­W°‚#<ÞÃ5ø-’]/m‹ ëë`§£ØÑœzä§Ä”~æ3†e _„/Ä$CÃEšzø  Ÿö„¯«€MrDœ.é\˜˜]Ó\ݲ98ådDIãz@K‚¢cç4š>Hõ‘ nK/÷¢ó­±ùÿ=:d'²Ã÷Qâø¾3Fò’˜ ±aw3?/Q’ùHÛvrÎJЬ™TÔZÚBÃüh(B:dLÅTælSö†Uϼ¿Ø’8ùf\šP¦BÚô¶ù°Ü9€ (qœ}«²zòM"7ìGå“E‡Y°Û4šBœ’»k_íºLb+«Áb6lçT¶öÿÚ¢ÎKEõNM§y/<ý+™~„¹Žˆç»zrÏy0axË£UãÞÒ»˜ß *Ì A¿õþµêć 6ò×é5ìœó‹¥¢0<ß±L­“Næ'\‘†ïg¸n€õ÷æsŒµ lâ8¸†r¯c‚qO”úqí̓ ð{mG{YÄ 1bË+8)_†èô&êŒîž$T"ë4Ò€ÛEqÁ@Rþ½YüdIoþ%7$€'èVtny=¬¨ÐÊãö]d1Z}Þt/FJ3k3ÂÈϰLaxN¾é¦•Õ変۬áõ{©9Ypƒ¿ŠEÖ>¥âý˜W-å!ê„>Æ”ÇÇuivçâ¬Ñª'“Óв 7µ5Û¬Ø!g¾'WÅžš'º-r@æ8ßꀯ¹ñÑ Ñ¹×?ÿü 3g'å5 Ž!OОs™bsynð çòòÔ`ßôƒf4D7á“AUZòõίnþVßc/l‘NÌu ñvšÚÑúD—2ç»T¼)äþÃQŠ|ŸÈ–èÆWº;'íÆi0jÄBƒxc»T€7Lì0ìg¶*D3-s6æøë Û­ªg¢èæk¿4M›Éîæäº•]‹‹D×ÁI7<Â/ÅžêIâÓ…žøz>¥³Ý~Õá;¢Û!Ú*h+±Í…é ê _íáW›°¨”‚6é{GÌ­P{(~jy ÎgI×Á»‹½ÑîÜ;Ä^& Ä‹pUL.ÇÂ=¡ˆ]ZþêÝ(¿öäV\•<™]Ùç½ø¶—W&„â–»Þ”v+$£š¬Õˉfox4uº²UÔ¸¨7ã¥Ë}×É[çƒíG;Äo•¶”óSK=Ö/D’x‘7¸èB)Ÿö‘ø&œÐÿ`_Ñ-B‹ÃiI?qgéÂFHÕb†méZˆM¨[ê=TÂ…UV®_ßCó›ñ˜¼ÿ¼˜a».ðÌQûh‡\ä/eø]_ùw¡ÀŒàý÷.»xB‡5bÇÌëãÿ<à6Ǫ¸\d —e"ü¯—Ï1Y£Z¯ÜdÜ„`(ÿxNez=¥"ÿ—ϯ®…š—Üxîêæ…M¯ ñdЮQ%LNý>¢ÐŠr}æÝ:K3EÝP<Ýõ¸ÐJàai;×yüÙ㈶®.KOɬWzw+"ÞÂçË‚sÝE ’í£ˆ+^>_Kêwpá„Í:ùä)»³¢•ÞðòÁ±¹Ì]ÈLyò¶ÐJ«)eüauuÁÃòÖƒ H+FÙã´ÞÛÿ9í¥6ƒUüA'ŒMJ–6'D SÝ™YAªÎÅÖµTz­å®1/ýHnND5ú2³æðbíæE~VÌŠá ˜š/£ó„äÉÕÆ—%îùÏ¥ÔÀ/U®§N7”{»‰7ŠÀc b¯à£«š`uGuCÞ¯¬&PôñWq5ÔÊ'Á03‰R l÷Â#­|%ꪷiãaìM“t®¿œPû;Š<ÕÉÉ6óPß8¼}CÈ"HURµê[`0ÎÙ&{~ ó’Å~*„5’?`ìMôN÷Dƒ£­Ý×õDe ’I`ηtúí\ô¢"¦ïkà[Šýñmæ_V3e›5£*¥†ÛýídÜ{fç[pý©ÂyœYÄú÷åkT¨v×õ·ÅµÞ°ØZ5²EưV[»]…‹P±XkëEÕ«½é±ãÑÊÒ!GÞ’#r< ;Ö1d^˜LœVÏMf¦d*+3êe7î=äYeÜVŒ††ÑArˆÜ+—5®îÀè<ú`O™í’žiûÈã–û“Ò&d€˜™¸<ªüÄT¾˜ì›å q’Œï:ä&ä{®ŒÏÙÊE²›ð"_6®côiz~&"ºÈ7E<ó€ã3X˜u 3uZ„줤#Ÿ÷È$„ƒnrë“]=ó“ì˜9òï'TmUW}Oø/ëúx“t¾M‡Œ›!Oßġ擾Ò/Ý~”R¼³Aj Æ»ö*OnÆžá€b¬U}*W,–mCs ïŠ( ¨ªÖOäd—î_ €MÝ(]ó¼…J_¿Q•©ZP™¤É—ÂD]åœ`ðz£%RtÞîbùÀ¡Q•ÈŸ¨>|¬uvUðØŒ§YRöæ3OÓÿ—:Cñ¶¼ÂJ qÓÿ#f×’x‘œÇ;W‹mœŽúdÁ† üaÏÃ[ˆ¸¡ö­’ãÑD aÖË­·:¼#ìC;¨¢ÃKrå$ÖQ.;' SZ¡I H ô7k…BÿãC@F¬äšø0àLâµN„äFµk}{úTÈÏzÍ«îêæ›JÁÃÓy/«Ÿì)ø\£^g@ê'D<›!”’Õ_ó¡(ý¿>­o犊ü/ äSYÿŽ’‘䮡5ëã³T×’©ÅU\¡œ"S¼£~ð>VÐ*ªF¡`ÿ[Äx“…‰AòÝ.°1¶ç&šŸé‹;J½¾‡ÊÒ›/ÍÍý6HâbƒÒP¼…m &²µº-B%#€9D }}Ó_ߘ¿es¸™?zë7#ÆMåóQ…Ïd(>RbVj`#ªHÁö÷´Ëá4ªÓ9–êC¾Þ{#ß•÷Y)’†ÌåVÞø-c’ÖÏ«ºz€)M퀼tìgh=+áªø¤Õ`É­[”KRÒ~»f¡wFã¶Ù>ƒÆL\¾Gô¨ùo|_¥ƒF¹ZCª ò눒úuøLmŠ×O,Í­b/6è>‹å’Êj-`oܰIbÄO§ ¡4wJ®RF:éJÍ6|ÕŽø_Nš=œ|…Ž=4MµŸÔ£Lh1 ̵ãÞê<ú±†Zÿ´Ñ]ÅÔYtº~@áÀ¬Ü-´FæYѲôÜ.ôE¦1ОDiìk´ÒÖvÙ;;`Ê2„Q©3¥»41È%MòX#»Œh/å•jtÛ”4„øÎC]`zóÉò{Áoz ž£ž(5 ÉñŸ+´´'¯ ñxÅ¥œ8÷ î×äÜo]&!@!ïí2rãùwG8BŽÿ¬£ÇhUCß·IOË#Jd|Êz{?¼þ¬àMe7N6#9aÑ9{—¢èô ©Uo‰mQ›wça²Ü¤U$P‡(ҥ͆ˆÂ¤ÐìËæ©Ùìšã„¼ ÔNøÄ™lóXw4ˆÖ‚GYhÎ§ÒæËÌ„ÍÝäÖ½’WõQŒî¾Å½~7å…†];3£Ä97üQk¥ øÌì¶Ye”Öá—²]>þT·â35êž?‚¸×"¡Š¿uQ­³µ,:oüTB„7©0Égi#ˆ¡ð¾>N9൹-¸el0ÅÈ%ÚÏ$UC›ÎŠa¾–QÇw‰W,¹mµJdIP .ìÂÍ}^ xºª<ºnÇu—§”kUyøQÈéHÍ­)#‘Uh­ä^Ë,ï®ÕSV-“þÛ D[3AÇápÜ^oˆ"vgJàTÑházšB†D¹>ÒäÜP KýCs~žî{毦~œ9Ý™4ó­b¸Ž? ò(\®dSîx–ß×╟H¦"Š"·ìí*×ó¿ÖT¦\+Ê$+zö–Δq­¨ÚUyÖìêâi>J@¥&zÀ_³›t‚t¡œÚšr•3ÛÖ nâ(Nw½ ˆî~µ-k„ERC×!?ë¼Âƒû'OóøÁ×á® Lq×ü±s…`u]rÊ ºV™éŠbµágLÞ‰´…>Ý C¤³udó 0¨Ã¿NI²)`²žXéÉÇ¿I6BE±je»¤0ºPì N V÷¦Ž›Hþ4ÍX–<›iˆ³¹†ñy©œk ¼ÅK×)\ö>Å׺‡`¤\¤:CÞƒMú˜° /Û|6“~èëõ¼ :‘È™ôßbg†ý6½Üöa¼ìÞû–¨è1éÍÊžœ åúÅqhRãj.a8b­WY×!è¹ –’•ü= ì$0ÿj×,™x:#l€î lÇ x=ëú™xÖÛ>—м/S_*ª̼æ=Lˆ Q76!…¤X¸€—ÆÎÜÞôA&XFYŒC·þ-ë¾+6‚Wã|Á°Üg34à`=¢À]'ÁhÝ1ì ešD3{Z¯Õø/Ü€²äÌcyŠÊ:(h†+aprc‚e¹°H¬Tù—•²Í&V@ÔùÁLôõ$œ4Ä.D‡aa (°fËæ^dðDÑO²q~¶i°`ý9°×êW>¢$.βµŒ?[‚¸èùÜr@iÿ4+ÎFkSlÙ]4åmS¯i©GŒ˜„1-b¸œÝG2©\Ûp~B“‹üðÙŸ­‚»ÍÄ.ͱÿÔk=hm ¡ËEÇRëi)s¢žžÙ ³C-<×L\¯ÀØñnŸ‹áÒÁOJ¿j£Öùr/þ\q«Ëu}o¨ BÓ—m.Ö–jp4gì0Fü¶~^0jç"YÛ-¾!L²œÍ¸S «¡Z,”µd¡Nø‹Ê°ÐÁƒ)Ê':I •ñùH)ðL¬^¯i82„(˜Èµk 2(V­G²k,D‚/—…Âs0#ŒžÉofo><ð,UßD~:,â–×Ù Fô<÷À¸Æ,ªydìÜœÀr ­` ;¤u/®ç[שq3^·ŸÐ¦q¶û¥»˜2/ððí‚ï};?Q¯„ܳ ¼Ÿwâ.âwrpî*À/†Ø0ë_ÌY”’1g±àB(êõñÿ P[Vy:9Û#}ü®Ew½–æIôÉ+µJ’/˜ÿWí åÇ–fÌ„µŽ5Oà[¿xô•%xb¶zÖYî0æˆä|6—µÆðÂ,>4y5oyM…yu…?ˆ/MÔŽÝÓ½ ÃûvY‚þûÌ –#íÒ@ ®°Ü‚#?Ãó_—D8–¢‰œVV#°#i3Êþ)–9ö9°/Ý?Ãð•¢衸̠xn„œ¦sìÀø‰$?&6&^wÓLU²•H¦‘¸^k‘7•;pÅ¿xc6tm>y£ì,8ÐÝm´-Áj Õ5Í73$,cUC“Þ‹ÇÇ0LÍYºZ÷ÍÒ[Oá·e ZŒ–ÿÊ«‹¼,h:&n›÷¼µ,èÑÙ'óõw>@y°¶g½n‚Ì—Kû8¯æ™€®nÜS¨ñ¸ÐD¦õnç0¹ÒT¸¶)†£jô·Ië×h¢%X|ø¨-¢jcÀüÅ;:ü^m^Œ™wIœÅIZ·ë¼h¿¶¯ñ¢‰äêt3Ý{^ÑqGÕ“e²¡qÂ]hé"ç­@õüWÀ~þÌ\œS·ýgÁ±Â2í“~óâ¼­nîÍÅ=§Î¯P´\‘ÅjGņJt–"Zõ—ß­Œ½¤~kà›í¦rVÞ¥»ÌS–÷PŸ¾ ¯»ã˜ ƒÎ¼Æ¡Qjü^ Ç+ùŽÔÁh¥¯&™ß–C°¡©–Þt•Tâkšqá²)÷)Öº²r±Y¸ç¥”cÿO9m}™¦qrcaš9X\ŒAõ8¥ûÞ›™ûÖ•ùÂ%ú§+—…—[u*¬úý9šÞ’¯?uSÞV™ïņÌ, ·‘\þ£Æ{ý[ˆeS6iaþþrg™DÅÚÖwéã|h”ˆÝAwkc¡t†4ÈAÀwßÀá2ƒÛÁ5¬Ðã]Ö?«wáuÿÝ[žuøsý#µ‹M„õ¶´Nå|±èÍ"Çòæ·5#:Z,æ+^ºÇÔÚ¶ôLÇ«›±\(Þ;ÚîKö©ýLºlM8X ±\ Åë£âQrïÂÔÆË'ÇV¸„Ü&£qYQui4Ï;YWü0«.-¡Çj ÀÀÛMÝo’‰Wвr¿|q×n\ÏÚeð$0@4&ƒí¿_øÏçfXŸQ€×Nß@˜m)ߊ!ç}ÕH|øƒ1ýá €‰ShL'(ê¿xeΗ¬õ6º“ÿ7 ‘……K*]ÙRÕâcM©˜ã‘1ß,LýÕžž'^c‰vkã ‘?7ÎE¬0ê\¡ÍYÆ@b+WÆíÎÑz.;;U…¶¡¯ sÍ íÉ«¹=FðȆU½iPÙÀ‘k!ŽëÌSQ¥µ´B­ƒµ*ƒ@«Á¨@þ®Ö«;ZœKþè©)†vJ ˜‘0îšé¦?]"Åhê:¿¸8Óºýôè~0Ôµ?ß½Ø[‡“!µ`Ù²cÖÏÊ5È»% CZÂ3] .¸yw¸ó­v1È"®ßŒÒÏwËH|²õS4Qô/&×È&ÜvŸ©1 ¦¹1 ÿlHjš®4¨„Ú~a§Í ,/×oÚ.©4kÖ€©¶}žWV¼[:d™5÷xëM»&ùzÍ«,ô-Þ|öþßî³s*«kœ‰8'³VþQþAOèžL°Áâ¥ç”æ€]oþK9•0i¤F.U–¾Î Æ}(n¾¸ìZvä$Æ·½J[}Æòdk Œ…8_ÈIjFÍÃWÑ“[tí<}.?Ý뺨ÿ¨ÁÅ… ’ÓŽ»ÃߥÁK€T‡ßØpb·/.·¾ÂÇÆY[ø iÆ0_×;CÙS`:dGDj{€f¶—/Š µl7øHZ> IjÅFhdÕRËŒsãÐH"JžzivªÆ¶óVÝ}ÃvžS50P! ‡˜Ü9âóx»º”Û ªœ™•€Úˆ¨¼4Æ×/v»ÆÙÝÈwÙ7ï­„‡¬þ£™ R9‚‘ÄkÜ _Ö€Mx`)ˆ4Cßßw ¨µY›íDÑqOw=ÇA²q‚&™BØÅSm2§HO/¨¯ÌQ«s@XúæŸDrIÕ:ÓOù;O\•sdÀž_¼ŽUq'\K"ñ®› ›Î~(Ô‘5ˆ¨·Lžµ?ç[POrù¹,¨± 2–c²€m²ìôÌ© {™eøs¦J¢ÅøÂ'ÐÃdaƒÞxAÂfºúö[?ºC¹V|ðxTÝî1ëÒŠ@`^¯¶ Ë?{÷¿TÃk¯lf‘‹5j7ך%¶c¸ð3ñ@nxÒɬó»$¶ÁÔÜ*˜Œeía˜ëRÏÎêÊçü0P……MÑÀ µÃsÍK,2‰m¡Ï0„Zù-³ÁD"ú8O†=v\lì#»•«wXiõP¼øœKœ ~Ç1ÅùÀÛŽO{5|Â4èp¨ƒ³§r=SVÂC™.µø(2Ô;âðÅJÆÂÊ´D˜Qå=M‡²awÉþ¨C¾åϯ¤ œF†”p/=aëû úÞº¼rš9’Þ‚ª>èÚ'þDqyÖ†:ON‹fAL%ŽAÀù¼ü´»‹1Ù0n(EœïÝœ¸¹g1÷ Çðo® €lhÌF[úp¿H†µ+ƒeÞ#{S&ÊX¬‚g‹F8†¤j(mÉ.ÊùHçé±w„oÍèýoÅæÌ³oÒYŒ0ò¹Å  Ðåë[ß emÝý 'Ÿ™Ç¥+Ú Ù«~mpò3%[ò˜ÏâÌ“F"" ‚{‚|Vå¤Z¨¥GJ¯)xŸî×fÁgÐôÕ– ‘„öuªü=ƒ"Ç“J ì!*z±olÌl†¡åƒCú„D~\<'Ç}€L ÛH“G[^ èVÂ’8„¦§£{`à3qÝ£xS÷*ÈGÛÖ(›Üfÿžãó¼óQ…¹ô¹(§ÒÀà$žZš&·©·XdáLá{|J~通æ ÀB’ã]þ7æ'O~¾§éšÏ76*) ÿ+Ÿr¥¾p§W±è;1ò²B«.~hÅue©”¾„~¨Dj…'ö`öÝÖ$ÚËk–¸¨ÂÖ³#Ÿ´hüL¤{œHÀéIÖ;è¿‘¨²­‡ºõñ`ý '§C\`QÕÌøN†_%.rØOœºµå-uøå6fc³VèyÈ0fëÈ0ò b"/bž°Læ(Å ÉRŸÏ&u  5‡“ôY+ „m@~*§r®=xüQoScÔ<ÌàÀÞCE¬föÚß•ê s’RámuÌô¶ =ðÆøf›`$YM>4â:ªiÛ7SF/&æáNÐ sO¢in÷sôº}…ñˆ§šÿ =ëhwÿ~ðôJ3‹v•©ì £_/^ °Sõ´ #uÒB×ÑT8YÃ}1ˆ ë€è\õV™1' ¶›ƒ<¡ýV‰wCÊr9ó$ÃÉïÜÛýÉ¥£Ï›¤w‚—‘‰mZ¸¼F\ƒˆ L^Q\Pþ¤ih•F#C¹{r«Æ9­ ÇBöë™§mOïÔ[í þBk–hfþ}­Ñ±ú¦´<ƒt$Ÿ•uè„SŒÔý¼“&Z¶4ä™D!}¸<”ã¾V+¬³ ߋҤö@¶â->y¼éC`@ ®3rXç{Y(ZÜVW­Dží™Á×{QÅ’’×fyú›¹²Z³¾|/É# )ßG!+ÞôŒ÷>“*8Ÿ3êí·ûèù˜4g•a +‚'xƒú\Êjn÷ _ÃÖ Mn•˺{~ý¬Ì.§p13ù^ö…k|€¨j‚ýyFõãÔ9£°YlIã<¯rmý÷jÇíΖ6'íb?„Z—¢.õ'ïT9Ð×FÜ 8 )ÞÅNÅÚÒó‚¯!ÈB! ´U.ß& a4^Úš©Dô”וTà×gSüÆyXþyJLTÑ êõ HܱìÒé¶Ë6ts&¥ ¥‹Òj)5òŽ‚ír$|½vn5Ãq]A œc±±r‚ˆpyŸx߸¼O²‡2¬ÉH_~¯¤X¸¹…KÜuêÄÀ¿«ËÎëé§ãõ—Txž{Þ [ó–‰Cu‡Ù*&0üE~ Î|  L=ÔÞRmZ1iã‚M3F©§ÂF|Êp?2%k”³ù%lØû°-Píl™æ*äU¦°: (²Ðv.¶ÛY6mÐËs@ÐÿDòP˜ü:³›ÂÜJÜ´»‰q NPò)²ÝØ,Iøq)Ïþòæâ[6¶–«úDèGN™WB+²d¦¸LiÇhÍùH9ÜØÿ{¸Ð›"ã/þ¤¹¹À&²6_#(ák¿²DhÏFe±$§1òlÖv =‹šÔ©õ²^-Ãóñ×zú‹ „o?ÏÛwI«¾Ç”{"‰Ét\¯ˆ¶Ÿi鞨w·ËŸi±é8^\XQ¥x?af~1}°¾2ÄíòMô³¹U×AàÒ";Ð²éÆ¥ ó„ cú6ÆátÏÿ©`ËH¦âç{3ÒÒå‰35RÕå·(>]—á­2Â}vqó’AÈw»Ä`K†;Õ“e„sÒwñ@Ù—ÏEÿbAÆîø`~X•¢An\—“2IÕ»|¯7¿9Si{7=ÏPRÿ8„=ÐE0zxŸå§I?:[; ¡ª,¤'°»…L‘f'›k©ã©¼³Úò&ØàÑÞ7ý2I¹#H•»A4étøÊV†üÇ;‹Ÿq˜m¡¼¹ÄMbP€âæšNf³*æY”»1µfƒ¿{}Ú5ål†¦.ÜðvêMûá|^ÇZp=ÅÅÇ8™Ÿ¥¯"Ä9n™*PÖP`›A7jã“í‘×y]ªÌ ½?Rég”Õs»RÄšƒÒ;û—ï:¹Í‘䇮µu^tæJ¼±‰ó7-¿îK†ÖþÒFÔÀ“ÌãÂå·zFDWÌž´w±×‡RÚ;xDëÔx™±Äˆ•%w¨ÿe¼¹]<%¯+I ÄâH×Ãlv¿©Ä •ö:WÊ@ó' `1h2ö æXGyìLœ)G~ÓM‹VH¦:Û+úçGm <~ó™ÜoØþáŽm‘JŸµÊ›õ¦é¿žúï¤:ÇC?kj¦mr¾ ~êj-#´ÌzôÃÐQ—9¹cÖ]²‚Òçp'\rú­ñŽ`±õŽ`ŠTHF-#m›þ·aÔÿ!¶D‘Hjϱe,…¾7dÐîPA·à3Ó múYÖÄaé÷xÃV†4[‡¦Ž 7uð÷JM–W“­Ée²îþ*箃Vâ¼”p ]ä¾d.Ù=ÝÜ޳îr0ir.|óÃ’UV5‹àP.·¹ÂŽK™¹þ¨ó”ºûmS÷ µôÜÚÏÄ³Þ …%‘ã—µcw:zj¤ânHBoË9/ßôÌ€ØÕ×ÍÂR{$r3Û$•’VRG[;Mz¶§¾öcí±ma!6·bíÑ‹ÂvÎlAÎb‹Wô'½±áŒ9s‹"Š‘ö¸yrghÇ’ûÓiæí¥\Àš–G9Eÿ:¹1 Íéæ³ tÿ”ú©¹ëX7FŸ½tkJÿŽì=é!ë5þqhx¶!süï ›à@˜7za 0Q.« [ûÎ0üBS5pBÇ”tâB¼í«6 Pbû-#¬gCçiwDˆ~ì±8 ËegRѳúôž#ÃìÛX°¼Ôõo6¼BÐðzåáxÿ£Zs€t9µ–•} ÈBn“Qß$‚¶¶7òš¬a­Þz¼ ¼k†ŒÄ[Ptò·¦ê˜ÌÖh7V¯Ú嬹ôtÚ{¥’ÖùqfÏüÓÚwÏ/³-¯€‘öœEmvà´¶§k¨+žÍˤ™ƒÈ*.-6JŸK`bï¹Ýº'#}ÿ€«Y h.Ú¦q*&"üÀ߀*KÔÆÈ4é…•ðtVøÅ=\Sø›rŽœU¹ó°Ãn<Âd“¶šÉÌlEÈÔWGIL?aíƒòèþÕr'˦‰È=è2 æf¾cÂÉwÞWåTZ¸n=//§¡IôŠ˜Ó?pг|V =†ðŸ;~rËy6ÌÆ’ÀlÞ¦«ÎqŽo{ÑQÁ ›È“6œg« –tíŽs)Þ9äÇTisy¾–c‡çå—ÿ‹Ëš(ëÿWÍøC,“ó¡Q$Ôæ—eùÙŸ w@{û]çMc:}.ºÒ@Ûx^„Tõð x[pk=Âx¿¿µ)›ÏÝ]‘Q°Æs¸”` ‰[ôô™Ò«çœ7— éÚDxü9%n#'ÊRË„R‹@àÍt vìT]Wy· “&ž5ÃÑ"È 8§@x;¨7ŠóæUO˜F@içY£ŒÚ„‚U)­bUiÍò|Ê)›Bû’§F[Äb¡ðL ‘bz¿fz6ma×e\ÖMƒÊý·ýZØ&=£O«ê*KPUÏ[«’ìÌî€gô踽ŸÕ né@ÇÂéGŠxþФÃÌ­áóôvó¬·|L˜Ù¢Ë£$3˜ïú[eFÊŠºøÑøà)H"â†JI@%@ÊFAâÁñ…tÍÊùLçž Ê3(¤s©´#í™<‘r0ñœÃ‰X=cpá8àÕË3Íš¡‡~Ò=ñ›p¨Ï-³WÌ]…j·;`8)Ìòÿáf4'suL6½ þ¶1°µ(ðçB@j(¶•ÁÓ–¤ëó&J;\…)­“ƒfXäÏSÃEõiB°2Õl²«Â (¡QÑÏ–Õ¥~–ñÝ•°™µgAZ¡šú‘àÔáãò;Bp€Âã蹞Ì}ÌáäÓöT¥EëÜZ &¥ë:»¯†•õ‹¨¬ÅÔkz×Yñ9mnrïx!zöÀÿW-<21£ë…Žå©à8ã*ÐQÚX¼*(Ö€+¢bˆr«¯þòz¡¯(% Eµ%`Ñ9ÍnO·)ð$¬ï¯IÁŒ`éšÝ1†ƒ l/äI?^$,\kÕ2óÏ’ø½Fö—Œœ8—¾ Ùmuc o¾–™XÔÛ4ÚiåÞ÷uÇ&¥ñÍãØg+`vUFJƒ­:Mç<‘ ¬Û”zK¼¸] r“úGJ^…†u¤BH F9ãºUÿÙGY.´½(L–0aBIhFÞ‹Bˆ‡ÅTbM<ÿq#Ë+k‡ç¨cà8Ã9Å“ýÊk`HbŒ ò` åŒo_‚Œ&ŽèVE²ôRÒ»üÿ_3¡aˤ³–ß l$ö:¿5_¢} Ë5ö˜r5¾:ö},nj …Ì&csÆ~O QH™e°o;Hz…ÈwÜü,Šé8³þÚù©v˜t[Nëã‹VQ;Pg©‡FWÝßË~RNüþñhÐêÝh#“/!Ðyо‡*e#ñ„ÝÆŒBð×£„.SÞÉ>¾œÌí\7®©zöÒ^ßLÞ°‹ÃøÙÄ<œƒÁ?‹|.,¦W“”‡È/ €­Í>¼‡ŒºyM~Zjã>™3(ìÐE¯v ñi?ݼ<_ùß@û Ùt»Ù¤jÚ©‰ ¹8w°[âÐDþ5MeÅúDw“ËöC¤¯| @Ô_ÄkÑÒæsßÂÒê…H0«kßóÞx8ˆÐÕ-s5ĵ¹¸¹}ã[…W‘åd´ýî^¤Æ‡NúäÓÔK#í~åè=É.¢§ÌuRn„TrvjÎZ-¼ùt&õ%>—ºåý¸dmlè1™ÿ×έƵ ™ ÍÛ\½¾Û¨Rf ¯.ý’åó¯:œ‰“î¸ü«+c`¨áJ‘U;ƒÄÒJò6ØXvýë½XÖ2>p8œGÖ6½ª_ /C³Ÿ$ª˜r€>cïc )P¤Ä¼Î‹Ä4\ÈdÞuLû8/@­%‹†Ë°on»´9ÊÚ¥q$Ó´ð¬c^@ˆÞj+Þä™\“ûæØRúÛ÷©ÒÏwÂZÉ‘ &ê`D©hW‰_żÆê~±Ò`ë¿=p{a{>}@{ÈãŠïJ-h uHw3þrö‰$ZºÖ–b<Ïkf>Ó!xu4‹Õg“´‡S~56C¤Á/j ÎHõ6×HXIá¹Ñ·#¾LFñžq9$mj³“,œÝešw­Z€v‚$¥lÚ°›(¤Q·™ÁiÅ´]¬ ‰œÅVe“ânÌ^÷©ÌŠâë‚ò5ê˜ÓDlÿªâXÁPù2uo ÊC÷´Z’×UYÈ6áð8&uÒæ«\œiË4ì¾rJÖÚ³mõö:±¬\ãÎt±‡~‚c5¦7Tkâ» ¡s( Z\½øU= ^ª†ß^Yĉ&³– `ç-E¢âú¸gg°Ñx‚Ê'/ø1ßɦ&+D5T\¶ûÄœÎ_¡×V¤©{×çvq™–ë•Ñ?ÀräZc ë}s»±W¸޼t~®v5¥^u%ÿþ xEŸæ,±â°Ü'‚UŒ?èÚ·È ÂÇ4!Ø­úgAêa&˜Mˆ8ùÇë‚—'Ob0·“4ºµ)£|`û¬ÔëÇCØ{PKX?u€a |-G" Ç ·yÆ¿4ïØMXå䨴ê¤Ù7µN²ÀLñ`=sîáa;Ñ0lùÀ›—˜Å)«_s£·-u¬uÏ€j\/ëÞ7M¶%){´1 ‚”W*ð õO Ä’Ÿ0öðÏô!Ÿ(wãëó2NXZ¶«.ú6ØàC#9Ò}åÙ„ënÅ?[!†Ipƒ¡{êë„Ò=9›w¾¥N?·zÏŽtµà³ÝÃJ•æÏ°X r¸—즒6ÉÖlE±XlÑtwb ¸µ:Ø\©ÑÜ·î#ö} ŽiÅ{–E¬Èy-/à"YÂ<”PÀdÈ×'O&Ëäê¿Å,É\õ² m–þeÍçmÈ1þaâŠ4vfÑ­ãõXùQçiÍÃ,ÄnHèümbÒ©XüÇ׋ÊK¤çEU¤ØðUøÔ¨ÚKÚP–” Í59Ù?²mL³ÚQV3N|XÐŽ‰HVÊI»#S^DmÙ|KnkY¡´é\¢’¶'¾só®ç‰K@!…ÓÑ*c‹w¿rÇÛ½ó’›®›ç*'Ї4«wé·´¦œO ¸—‹u`gÈÈØYÚ//“Ô¤ü¾dvìÖ\)º4tÍÅ0Wb{ö …H¸µ(AÔ§T¤³‘K¬Hqþ¹í¬Ik¶FU±§²¶OéJÊñGµÈ{Ébã?ƒõv‡iBí­jFéüä,)f0ºÎ¾1wÀ cßE°Û-zÛ•ì‰Ì”¥×ÑÑ=­úëøc5î X¬“^S¸õ´½Ž^_†ÌNÓ¡ ËÕTœÕ^0EL0 ?£ˆgßî40Š+:°J¹q;«>¹YÒÒê‡fpÚe=ª}®qó@ÌdùŠ¿¾jË·@ªXȾˆ¸HÊ}ÙÒ¢dƼ}‹3wŽöýA4¿e 0 Ñy Þ‡´W½³REÊé·vmÌ'ýý*1|‡âËŽ<R¦ÈÛѱ£tMÅYl*L u/7v$ýxçr ‹h1ò†±å¹ž*ãÊ€Çâßøx¯ykן/” 9¨D“€NOpíÉK1ׯ µþ¸|² »4’NªÙžüóÞSˆ‡W_ýÍ›¦!âr¶ÏÕ‡úêÀ(¡X (³3³¨só Ûü˜ª`Qv–Ìä•+(§Éèð®Ü01­•HJá4D”Þ‘¶¹‡{pK֌ŊÓY–;×oÄÓìbÅN“ŠÿebXä?î1—×LˆO¢²èU’!*5‹R)mÀôêb*¨!C-°‡ýYû“ NpÆ[AQfïÌ-‘…nþµ)åÏÉ?@É×I×F¤l~êo«§Û°’/Â7šZTÒªïȾÙnhJ¦¹)IæQ¤¨Ýص4¡r§ E»L?µb3Д5–¨q˜¯íäò“³Ô:ô±Å¢õüu„¬>Gfáø#‰t?Cxª¢VÆ©à:RÊÇá>Æä÷hhç‹ùÅzAãÉîT8ÈGŸBzôRW Öêu%ѽ¡‰m!\PRŒ­“³¥·©¡£»$Þ9‹•å)FöAñiv4·™z‹¦`ÆUÈ`ŒÞas‚ÛÜŠJŸ@„Jã .ZíVF"'u ›”vÆcq[}ÿª×ª3Z`ê2,xøê„×ç©*e@§‚‹<†ŽeÛÎbýçÛ“–ƉþÃf’ª•¤…qãì »Z.Tå‡ð6>MÆòÀ¾ïŽJÒ بÿXhÓ‘x¢Ks6µ Ëy0 6+TPHç0iÁ© >ô¿ïóßÔ®8Ó]òr”vEÍh¹¨èü5Ü?Yã˜Vyc¨ S^N /õ^ˆŒ½+Àˆ „ (Øß«Ææ©¦oàÖéR³ÖK–š§·ãÄ;‰uç}à¼/J³)‘ÎEyÂJ´T¡ÅÑCà²aJƒË‡Zsj­Û²T—có­ûáë'€àÚ`OþîGÈ1?bª¸Ôo@©ß ð5KÌ¿>r°‚xÊwöŠùúÿ=¶Ìº —’jøb­îºž¦‹+*¡Ï yp=fösÉèž]²·‰?¼ó}ÝÈœu\HågÝH¤(æë`_ŽYÕ«Ò´ 0‹&þµÆ–s©L$\²£›@xÊ&‡;cá«´)àÆÐðûI<à¸0ö‰ {AtÂíC¦ýO¥ôèî‚ÛÏÓÕ«óLõŠQŽÜ[ôr[ººs»-[’þ‰t¸çÝRò àl¢ÏWˆ¢©mÄo×sB‚?…ððƒ‚\¹ÁˆÓÊ^n~äQ8Ôðu¹ZeÁl‰4€ ò,Ðz+1xÿÃRŽt¸PñpíÇdyËžz–wÏhin7ŠÖÏŒg£üã­Zdâ¿pÔœò¡Ü‘ Ѷ·µÖÄjW‚Ô¡Ep=Ò²É,#P !ÑþxÇ“Q/®¾.ÉRè±GWðªÝ)®r¡AjÇ–‘_)§R+bÜRü6” §Š¨â`“be؆p–~ŒBIì_8)­ØkM•æ¤NŽéý\¢1慲ͧ“ƒ1yxßb Ëå'U¡]á#¢7ÿøSE¥ånrËÓ×zÛœ 1¶ó>cGMdý ,‘3òïþf 0‡n€¨k\®_‚„Lãÿ—›}G‡y›c±Z…y‰wÄI”ñTŠ¢~íõbê¬5µÃ~‹b ŠÞŽÅ ZMmÍ‚b´÷¿ü³£ àé…œäèLuo:&£ø‘’µ1aD~¤…¨¨À¾Ñ@Ú¶"ƒ—Ö£DªTžç4•ÚåO»S0‘!áA¹/Vøš<=ì'¼Ð.–UIDc-N—4å¢ –CKÈk/á·Éí¨ºE2îúQõ’é­ÇÌÃÿÝ0ÝüÞíÖÇ`ŽéœodcñÒŠ³ÍáûKBD£Hð¦@Ïe.½Í§¸=Fqò‰ù«…㘯yþ¨ì˜t2z©¶Õ¾;'.M„úÀ?|ùBAèÿÝ08ýQ†ýk:úWª0 ¤òŠéÇj¤*¥†u£ÒÇ€¦vÔZwáòì&Qæ;MïŠ \˽•„ð¾UxF­=D0A?ÑÄlcVWÇ”%£ž^}æ.²%„Z÷Üræ FK!D&ÉìƒéÛÉC^˜qÃÿ×ß!t—¿ #îÔ$3PjX{EûDš»ëÀÝ|(à`—d aÕ'+´tÃFë÷T»Äó# ƒvLFìí¹ˆõ;¾B{ꂪ„¬G À#9ËÙÇ·fNîKÉi µ'YÃ.æªn·_|v5{/™Øwnå±Fµ±=ͨ2ÀÓÆ­#²þ?tÛö‹é®e‰Ûuª(– _º’:5š6ç&_‚(`«eD_m•툥¹›ÂaÝ×y5B€\ŸïŠ¥ðFXéc4.opQ^²°3«„äÛ_ %]¶äãp"g; §¼(Yh–ø.‘ aIp§ý(eþ¬À9TYr ÿXY Þ’ôåÎwòÉÐ%K¬ÛÔ‘§JLåyºëîl/§w$­þÞ?øHCÕ’}j²ÐÆøSˆ°šG¹W±]D|†¶Ä>hÁVdK»ÜM>ˆ—¾.…Õþj‚Ò©Îm—jÑý:Æ~œ¯ýéAé•“L—ÁödÙâRr¦°˜XUXNŽ´kÇhù —4’Ç#.|uŒúTwýÏ Ïº1Âx*¹¾°:!“<ð™íÆWXå_6—N±JÛ®O·2ðÒPAߊ{íbé#Ÿ³Ã™=R«mæåEá‡Üø¹Ta¯<Ä,Ñ«'¨Y#FäÓ°o+!rC7öQ³tN³nãv‚·õ<º¬ ê¥Ðé S·4àâÝöcÐÅàÄ`Ö,åÁ³œ%"^y¡¸UÀ ˜’øÙ@‘…lhúÓnîrpG·ŽÀ²WÌrݶD‘.T/‚ dh (Ä/·{«“wõllÇíP6ñi’Ë †îõ‡i~SDÏYFŠ8Ñ74ò£NL ßR åâýé `M»(‘$Î^²2ø¿âñ,9«]™[Vµ±,sªOø‰MÐÝ)v˜ •¾óÝ»@iÍ-aŽͰ\¦w‘®ÓÕ“C"â8§ã4ÊCÿU–Àw?µ´­K€g[´Ð0Xún4!ë™ÇnbŠ$“íLõor)Ìy§~¦Nê‰UFË“·´Ä|‰S?šK¬†L€Y µøÅ}g*ßÕ u¤Àvåb²Ü‚ÔÕ\¢»þuᥕw‚MðlÁø– m»cwPž»éÞc{WZU”XõkÌË]sÃòÑ[}„AëIÚ4_ÃÚ`ÐÁN‚öYYík⣴ÝóOk x“bIÅ_™µ‡¸$| üeœ;l¬K{¶W Ã} A¡:@®)pô†ûøøëO@_ä Ûhw¼íGz‰R° »¤a%õU‰‰­°Œòëú&¤Ã¦Oþšäåbz¨ìĈX¤ø³E%¨£/§o¼Ùõ¬ÎGØ2Û‰¬$Ý _&‚šfȪ–03¸‡ÆP%è–X*â,ùA€ —ï0¤“:hü œÚKfQê¾óâ %_Âj@4ȳ– ‡N[ª¨³lQ—!sÖe+ì·µþˆu™T;ÒAp |)àJ''}Ðã’[*±€ªÍ#»1xÒ²JŽÔ – "ÒºíöÝ"øY!Ý¡]p:ÛR#ÄÿÕ¯·=~u$ìçÜP¶!˜JÿgD'…¿@ïÍŠ3Q‚ªÌq…ÌYh$Ø´Š³I/¤]VÊö†0ŠyëK‹ä7Ž{V%STöT`b±×Î3±³Ò vqHò,ˆžuÏ)ÔdÕ‘÷š LgMٕΜHR“âÉÛ¯U™ÚÅ(|w SR¡ãH ˜)ŸŠ\qûN|‡`o4‡…¦?¿Üx*·&« ÝM$<"ÀÁ–»_u;‡9Áƒo;JXÜü„”€xIqRÈnš™³2‘û@ÒùΟŸöê·×æp3"^‹®ôó[`·x4àb9ŸÚ¸H³xª>O„j-âH†n·ø°\v^Ÿ-{W¨ƒütE_1Øè<¹ŽaöAä9cwù¿– ÅÇ«Ã|K=÷ðç¿7$ö :Nnói¶ï¥¯eé¨Þ©iŸ;ÉœÆd¡*8mÜ+`8ŸÕÃÁ¸!÷ˆ¥Gp û˜ƒ¨§©RµïÍìòlßh½L£Ã°ë,j¸ÛÀ4D%ó[3«Òl¡¬¹Ê¹¹l…ßű|uvIùÆ·›¶ZOVï])Ð7xß6ŽîÌ䘼^0+]§ú |•(-äìðÚ =eà÷ Hª¦‡—2@ܱK¤·SÚ„M¨]æ,¼”À¢JÓ2TûÉ+h}² ɾÕóŒÖ‘ÑlOVãŽþ*‚q£Ž·l{r¡L}R`âÜ6Àȃ¯Úãí=H–yó.ð-3MM™+ªSï€[U¶Aü›`a÷Ã7šäæžþI˪Lî3UõÒëy‘÷ÚjüÊ_÷ß8(*AnëþlešˆVùx”#Ò1±kžXÒËEb‰—Áºh|y´f-(1z[Ú¹. d ¶$E[GÜáÒ‘‡Ø:ùs9¶¬|‡œ¸ðÉæ}?]o€-‡,壾!~ð8N^ Ò!$+[gà‡¿4+€j~êODœýA”Ð%±Ç²å*ñ+› (ÐÈ——°šw !{èCJšOåþ2qÊ ×JPMœC"¾¾+äš¹@}½‰Jïª,%ç¥Ô<ë N;õÎi›7®B™W9ók¥öø?·GG£_HÃ’RùÙPÍk¾¤£07k,*8Ë-QÁÑ\ ¢ Ð9ç$H‚B”#ÆØÔˆ¡Ç"¤£ИÀWr‘`BÄ#Óé }—ù*–ãXlÜQåñàv3öߥï(A·Ø4v­ÁTõB:2©=˜>äk( ]CÂò¬ñ2pÕ•xÁª[É'QÙv^RSSoˆ=¹a•€öŒ<ä|°eìùkeÌÄЬ‘ÍÔæÚo†«ïà.5÷Ê´ENv–ÎÝs"ÉUU`˜@Öp€Õ¯HÑw !´ šÖˆžˆöþÇûu¦‚ÉÄþö(Þ¦ü^ü„Á]CÝÔlëÍ9Ql5œ¬=âJ ­nœ,´¤§q³1,tÈçÅcñúhQüw+úXÏhÁݹآ_„lJHý3ûIz8Á9ô¶0!À¸iËCÖž'Ûoª2>º—ì~¡¹›tµŸgá>àIo£)ëNq€­4öý¾ðedAñ^¢Dâ¶bƘ Cìcûþ4ÅP•«wvOÕLbºìú5˜éM(–’ÜÍ*“ãžØ`ï¨$èÿsâJ‰Ú…†éV¯ë|lk¦u—<‹'#Çü`brfˆ²ÿâîȲ©I‰%ÉIç˜Y5óÿܲbâ<ÈávL©weëð"•¤Ò‡GÆ¡hÞ1 ®ì]¿÷µ"•©V®›tj÷ˆj>¡å_Hmš} L$DïÀƒŸÖ€€&‚ï */ƒ,§}jT¹óõã{žÆùS..ƒ{ûǶH2‚pgZÐáít×™LÀEu1“γGc·oV˜ËÔÏÛ’4ä˜kzL1Ô{‚;æŽS›‰&T^GøÔ¼¤´C5¸¢@ÓµšÈÕ ›uH½"Ó¦?»añ˜éöÅ)æÃ™2É'ÓT·ŽÇé‰Jl÷qˆ-î;(Ý=nbÑZ—ôû Ÿ g¢œ®˜š§÷»Œ-ÙH öÃ+Æü7•ò¿õ˜–c#^.Dk(¹h8šƒH Ü?cÓãyX-M ]%:’c=Ú3VÂߘ´‹u¾êœH!ÇÖZ˜Å3äÞ’º×F2ý8‰þ쯣'vý[(×™UVµöôf¬Ï™‡n1«BR:Åe»Ç®túéoßì·]œ£7ºÐÞ(¥sê9f!ŧïúO%[Ç3`\æQq-”r+d;ECuK_±÷x|“Ç·‚¹rSží8Õ Ç©ál•ž( »0OÜ#ç¢!j Á?‰ Ôñšíäª:YŠžÇ]­D—Ñ©ÀE8º·ü3zE“p‘µÀÅ¥×-É,¡ò¥F²Ôö °Ö uoÃL,œ¢â «ûx¼Íýw0v%óÉ¥º¹ gäÁí©ñ®ëóž‹kÅÔâ|ZH.cA|*™ ¢œ1v­ýŒ‡S~ùæKÀbf9‡™=çK÷ˆçÞNÌâÐÑ0¶wäÊ™èÛæ/ÆšÐ+ºÐÔÈ[H–Væ©=À*{ç¾X0ðÜ7Ž­rîû¬€§²ßU_ä“u±?WžI„“XxüQ+ß1ÁJ2¦œãJ ËZHÎ<ØKÀhMöza¨öFD|-&‘>)G°˜ëðz . ~Kå‹§/©¾@ÿþ#‹½±S5[y†áK±Üàókšà{õ9mì\ýœr¯×óŽÅÅz_èẫ8DªíCòÂ>ÿ /%Wf… $'”Ÿøí‘ÛÛ9Z±ù÷J +”¶Û€ ‡*$zc»#ðÔ{¡Æ´Â)ù]Ì:Ù3íŠýòáüÞPêmÝÍië¨ïŒø­oÇö`ù^@ŸqGÑ@ÝO_Ê-Q»U¥ž#ߢÖí;w§’,~Ÿá·ºvCà…+Á^:ŸÇS#ú'tK H áoœ°\ÈNˆÞt¹fI¡ yR†#Ô™LÖ®71ƒŠ­ýÿ?ü]—QQhô·I ÐÖO`"ÓB.¨™Œ­ìܲ{Qfâøu¥D“¡Ü|ФÇÁ°A"u%°*JiÜ t'(ËZz=_Nv@%( Ü $ ÿEH+;é6ˆRà¾K†:ØR/KÓÅ“½BP@ ¾ ~Ž/~Gï‰äZ½+f¾tq-==²s£9T(Y7¬”òÍÙ~³ÂJ øöA¿”Y¸o¤Æ´Ž¦ÞkÞè“Z’¶N‡m(PXñe©ÿ;¼üÏMR:˜²IlÞU ŠÃžÛvèÕ­P8Jª„¯œÓ Aa=þ“»ÄèK W­¿oÉàÞÏ–¾ýý†…ÔSe§¥š¥¸z¿É#i–b<{^eSgä~œ§ÁºÕëIÔ5qÞänã„Á\9í×/!Á°M‰ƒý#"µ¨ÌƉ^¸+r1·q´/Ûp¾®TþF£$§}=²ì±­'¨úë²üçì-O¬Ú,ièìÕ øåƒv«oÇÝ6¾£‘`qª“-Xªü™ØÔö #TAÚìÒ›ÆtlÿxËjÚ2}† Ô´9$˜Ó‰Kº0 Ê>a”›“9WÍTv4lèÓÇž…¤˽8Ѧš*EhÄ;[‡¤¤©ƒô¨¸dùU~šùUòœ?,¬ IС6½åó+h¿±r;3 q*Z¨wn/Î8[Ù<5ÑŠ¿xù&í݉µ>4‚™_9€ˆìÉ4ø€K;÷g@K…è'Rä\sÉZíÀãLeá1Óp /\.ûȃr9¹…yÕ ñÿ´‚;¬_mun WVCÔŒ^4°ü´V§h¸ gÊæ·Ov÷cVa7ö°#4]‚G£’%3HÄ}øá›`0™¶Ph¡^Hö}|ƒÅÆ\q°ÅžÚ(øA©ÃXU½õqû0$õÞ;2ñrˆY˜C· {, 9Ý\±Öj¢‡@úûU„)â2ÈIÅPöÌ[yk:‰·FöP\;ö¦š£ªû©ôHcNhñÈT.Ï<û°]&·”.Ä )ÀE´[ r¸ø£4˜ö,“Ç8xÖ”ÎÉWq„JRc»¤=.ëN‚ÞŒ7å'+°Ã1äïºÎS"–}¥ŸñõŽ]<"Iokîh£xpçO89K*š/ñ„€ävÚ ú¹ïÒTRk7Ú”&Yº3è‘4+!§ —œÎ@lZ'¯§Œ§WL¸ú7)/uÎæ’ÊÙHÕD–†ì-#¶Pú~æ!OÃ,Ä¡­®ÕfF&Ì/„öæG=BËM•P¦¼ L„4áÖ¢ÇHkw Q‰äšhMbhäŽÆyðÆ-‰nDZ­lýA³„Èfß25$„W(Ãymð"ï¯"ÚŠ×W ݺ¦Üé¼ý£Í‘™‰’`ª™ç{Î÷Yj9d6Üñ_Eú/Q?XxAëÛÒ(šR(ú»Qµ V¶Î ½"(û”Ñéku‰$ªé ¾y ºÖt2A•Ìü¾s05S\zµ!ÎZ«—0J_BxA›‚Ì[Ç=è¹ÄÑN Îÿ’øÔ&§Gð ÿ*“ÆlÎ*|D ™WqˆØÃ3H!Çg¯üãmÞ&CÞ´À†^Ñt9¶<± )ª¡Ò$Åv·Yo>R Ó”Šà çÂèßäÚûºKïk_FÊ´Eú~4Ÿµ±'KgŸC.Nìo.(^F#ŽæqI!Ó“qš4k ¹Ž·bdúÓ7P~t)‚Þ¯™GQÐ)+)A‘7™{ûâ;²:¼Ìá´ àÝ„½ÄÇŒ]gTKh^E 4Ïù+ÙÃcYxZá—œ¥d^D-Ëò/ÓötäÛûÿtËì2Á;›b!º8ù:Åʮԯ¤ø˜\öþ<ÖƒÉ@¸Ð¡1Yj‰ûÏŽ`\¬,øýóá-ªŒè–iáï*¶1!ÿ…Uâ0b@»yErÖØe.í ·„ž.R¶˜o¤K=ÅlŒÇ;G·ÆÌ–K´­iI`ŠÕˆG–D´ê¯*d†,—m–cÞ78ã%† ×5Æ Cøß÷hM©~’ ù­Ò 1Žf¦È-…‡LÿŠ`Q_ç/Pð¿µãZɉ°Cƒ;žýÙ¼<±s–[Ò)‹?åpê+ÿþ#»–úÕ¡±üóÈû}!¿ÞA'È ©¾`/Î@Í| nÿ<Ôƒ¾$¹†®Jc˘aGÍÌÚG²‡ã§Ÿ·ìÉÓ#þ[ø€i^6ƒŠ§†ä-µÙãjòÂâ¸f#ÆZh-ÇD¬1á<ø%Ì0Óœ†¼,§¨p£sòÅ×÷>â9¯«¢HÌfôÛ*‘¬æŸþ¦†82Ö¢~7Zš¾ç©%u$Êži‹8pXÖ(€[dU6l‰‰åÂÉ6âŽiA˜ ,É/*é(xC´Õ3Q>—¿^JÀñÔ[‚Q)‰GŒVu–gÓÁÌÙo¼Bmˆƒ¢k%™ÿN}Qê': &Vt 2{TÌ×°ˆ6‰‘Ñ+JâWåxv?qÌßµÁNByBË^‡!4Å+ÄPE:mº8¾1zÕ8± 80$­áÙÚvX¢Âù:ÖEÎ>4é9‹¿ù‚0ôi-RX;ÀE²[è¾%/Ø/H_ÎØ{'O·©s Ö0Æ^ëÝg+uešÂ ;ôîÞxº¸ŽµÎ:±«*’CäàvyiÒð©/_Ð"ÊY›±a*ôÚâižxØ–˜3&$ÔšàAÌÀl=Ù–²2`£…„‹(ñY%wK ÒºO  㯢LT0ýçºs­–ª$7y¡ì– ’ÕÅ9ì|†ñ‰$àú) Ë0 VñCÏ(iÿv½Ð&ص²Mœ:‹/Ñ€Z„}¯[ɨn÷"ñpŒþ7•¤ðÌ…çßHÝ™’\¥­˜…#÷’ª2TöË“¾ nœ1…L  HséÃrΩ@8 Žœ÷E¿Ø%}fôJ䆊öyl'œ³Â} +B³þœYÎÙÞ˜’zDŠÖí<žË~ü0î`ܮ׋¸]ëçøÉ„±“êL4ÒmÇ@\¾Ó¢eÅÂ[ ƒ ’¼ò\I™ã}®¨ÔÄ”JçȬ€m°¦Ré‚ã‘,³qbߺ ]+…á jìG¼&‡`j\=¡´ó&`ŽX*…2";ŸX ¾î ÿ;@ñZ;cT1[ð'bjWÇþ²ZŽÜ„=YÀ´Ý4™÷#äö'™…=U…׃˜Õibœ*r³,zÀX7¼w¯vP*ÔƒDoF½×Ýþ µgäØòß•-›¶(g•…ø•Rƽ'ŠÞðš)Ü%Œ,ŽqÌ Žóì”P÷Á)jå‰GL½ÉÿŒIÑÐ;’× å#ÀÝg#s¡½ PÑ íÍsBë°[Lk*ãYñFŸ¶‚!¨#zƒÝÿbÓ9„³Ù ny©žzs’Ã.ŠJå¸;^Õ;"E”i¦–üôÄâÝsºý¶ýNtÿ0ÆñÆ^CÚ1Rñ(¤!Ž!n¤€h–‹6¬8. #ß¼©BÙÆ‘Œè'ð5gx[a6­W{4ùqÝÁ1ço–^m”U¶ :HS7 $ØÙáÉ,P(ŒÉP’‹ƒBí+p4£ú×r‹Ã—îÙ"ââkVƒ>úŽ®äÓê×îPçcVð„?ݳóÓ0UÉ1˜Æ:”@« -2êücK|§.¦"#¢PùØdpÖ ñˆ vI¥ò’4òòKé¸RÏNùFwn¥Ê£‡uŨgT€:_Â’‘“ui4R N0Á +® rìä‚DIÐÝ‚"ìu†ýOÞcŒ?eoùjd•wh™ê‘í—Ñçtݧ‰lEò*í—uÇ’]}±"ÁM4±M¢J{sß z¢ŠH_íÚÿÝô?¬—+f)õ~ú‚]añª³# T¯Ôöø°çY8± ¦ø9¶*Î!ö†B×: !‰&”¬Ãº,¢ú¯ gÌ—÷OK/´“Æ ´^{©–p„tY€Dï<$ƒµß4gŸjÆxcÇO[´þÚ)±ìǼæ®tl§ÉÎÚ8üÌþ;*ŠAL;V+ŠjŸœ”þ<{%[Çí´yÑD"¿5÷2ú‹Ír<Ã<Ü:ýcçãëTÈ•RˆåÈ;L[ ^°?Vty7åQNóßÉÜè@“…MHÔ§ƒ§G§Ò©i²ÿè((0ð|2,uMI5ãá3k¼ª:­÷£θìû#dXÇü~®/Æcp ôA Ú$r ®¨qž–BŽÀÖ2NÈP©‰2T¶3å”ÓGiÈä~»ÉúƪæbÆ{{ñ;ì]íáÉJª+¶8¯ÁnçŒÍë 8SÙ4 ÝÅQ L¶ÐúªN4Nð-ß&ƒÞÐ_–à î6ºë¸!#œ];“Ÿ>»ÒÑô…8p¿‡¯SHedÖùžWÿx «@–\ð –!”„Í™s0à¬5¯¿®f’Ú|‚l#~ä3ˆWÇ\¨‡Bâ#ß’®ŠE7™ÓÙCð~”Tp:Ž{V{ûŠuͲc“tbƒ£pÎnB»t‚2å60’¨J=ú¤®12Ù£ÝÃZKô›¶ÍÏô´<ìÎt—2"ªKðíÇ–P*LSHX…¾ý‡y¦amÛŸÀ¶¥Bùg¥?ª/p¡BW·ý¡VuñDSÌ®u]ŸW_²EÖ€ñÖhá‡K>ùÏýEˆk$nObö¹NS£(µg„ÒÞÈ%#4W›ù<¼’•økæ3D‘—ì\†qØF§Ûlqo‰Shõp…\T­Å󪜖­¦îå “@⦿Zº¿r‚6+u±áä!õüy’à hÇÜ…}bM¶ýh5'n&¸Å(_³f^Äžbç3¤Ug—gÀ¥Ôݾ቙Cý°}H$ÂgÿؼìÉ3Û²0¢•W’±v©düP`gP<”[ë'd7êür”€a›Ô2ºµy+­Ûëê2ÆÅO£öÑÛñf“ž€»j>5_XÅ †ùUëðñ!|3‚Så µÁే¤,€ŸÏHSÌygé×8+ ¡Ø 1š28œáÜrrT÷&Æ>†@¡1_¬£cÕü+‹ÎiÇõ@R~ÞÓlar~röÐÍPHýsÞ&Pƒ•©ãÜZ$ªÀs¼Œêyt"©º¿ 8µ¬O!hìd¯ü}0òP™Ñh™Íƒ2œƒüwËŠnq„ý¡éXÁõ1æ#ì–Ge¢b½·pjÁMv,îl(똀µ5¸ñ?fç%m꘦˜d¦…È!wÃ.jtœžb&Þ7úÜô 2‡S|ý^´‡ˆ¬xf9K½s7]}V†È]HmKIšúP¢õ¬fò1–ÈA&ïÀŽFÚLðj·§5_Ë$]Ëk0®gÞ³âô™™¦ô.Í¿C´ÚJòÞ RsWØäÐç’°†‡ô8¯ @ZWyò& Ïš'87|†j…Xø6¥ÃO§épeè+±¸šÌseùæAœ¹ÆXxÕF¢!… ;㹇- Q}7ôi]œ†Ôjá‘кùÙ›èˆbªàÐ’ZàÕ*Ôá¹—B¿€ox!¸»"è{W+åã|PüóHkdoÊ⯂Œ¦Ç0ó^ ÿÚe?'ø‰ÛÅŠRè>ß5CNæÿÞeˆŠ–¯¶ÖÚoÂÖ3Mö…s§|³0"éí¡›0Òýè(õpX¶7Ò/×EÉ"õ)®gQòK»ÏrÎ’04—‚÷%éQ>}ýdÇd· +.¸0œÈ›‚y«\´à¿ÍÚ‚gÄ@‘Þ²¯x”ô“O’>OìšHfñÈàœ‰Ö»^PÐð\æ€ÄÀƒS•¤­^ØüÌÕ ß4tœÚJ¥© BÒh¹(œ™ze–ç» ”7.èoJ”JM!Zôa”&à*|’7fФŒœ3/¼ÁÑK/ #"¦üf j?¤r¶Öý àÿÚqüh0ÜhÖ4µq²#™A {½ ÃÌeÑ¥sk¯›ªtGwÓè ÷ÊIî½t—VPYKéí 7ïÓ‘» ˆ\A©‹á±ã=_‰y:·Mzé껎 8” ¶K»âû{Ù[J "×3 üS`Ó]WEjQ°Ô¥œj¼0{S÷JêL Ó5mûpjû}xƒÔ­ú†ÿF4¦ƒH^ªÏ[•=ÞìNÝZØ åNÝ´ŒM÷:¨‘¤Í¡˜ç´‰tN¯Í H#‘ þ ¸ì"†C­zl†¸âóôÂU¥d9ëí¿tz·£»NËç†Wq¼Ò$Ǹ†¦"Ûv … n¡ƒ®p>‚¶”‰rÃ#ØrývMV†å°`ïüÔ¤o¥~¥éÇÅðr I±@âÊ#~¼¨\‘­H¤ùï”2kœÏ*“b«@ǘéLM Å}ÃáVÈlh4ÍäñêÜ ›¼Ò•ÆNÕÆºMpi#mê‡SIÝ¢ÇW†O~ñ¸£Ží8]ÑŒç®ùI¡˜°®§ìdê` ¸ó'„Cx˜zpG5¥`DÔ\Ià¯ì‡˜Žd]üXò¹I!¡éâ×ìv‡rBÆýöLoi?wšþGPF_ q›mp<@D6´ù)]ÛFÑFPø‘qù¯(A@HSÅ'øR8 ok;ª÷$À¦*Û yÌ÷Ë÷‰/d Çqã08ý^»p’Yã‚y6({¨í[ö½šâãeƹ8½ai^«‹é d „D @þ^[ÈX½otâì5uͼD)õqñ¶ªªT`ÛËDmË€^öœÏ]0`­ñ¡ŸTÞI™$PaûÒ-ZûvQoÈõ€ÇœÎ«ñÚ™äW§làV9eÿÀÄÒ¥ÛcVäÎêÍݤ>Ó­ˆ´¹Á³=Üò½Ÿdqd,˜6QóÙ¾–F½½Š¨K¨…Y P¡ù’[›…%Äður<‚Oç[]j¸Å¿HcXvv>Cûö&oyƒZe×·yû+ë3Ó¾ùb  ”ÃBçKõ¹ï–½'†€•«(Ö¬·êÞªŒ 3¥ïÎýü2Ÿ\¤µ¹rR’µ"Å–Õg¨Ñ‚æŸOñîp˯fîÏÏÕ(›ÂnUxœ3i1¢bãa¦¼ÈÄBËÎ\–"y®À$w*É7¿â™æ¦¬!˜v1Ê@‰êóöÎ|¥ÑjpÅ { ”ceùS«|kï»îGúN„8Úpaéˆé¬<Ú©©¥ÑÌo¬Ö}¤u~UôDŒ’ÃUïÔòÁž¾ @ Á¾5Z }ÆC SÊ"<4'ÇY2Ùt•Ñs¡ñSÚ¾¢3ªƒ.‡°Ü³CDø†Û\Xsâˆ2¡˜E†ƒâ sS xzŸµf$×ÙÛl¬D2è$ñÖ¸ZÕªü"/Ã“Í í€ @6ìq¶#ÞEÄÍUºvYÞI¨×·pÞR.b£ê£Hâ¯(§d5#òKþžÎ§wããÁGƒ§×TÇ^”´ÎU[ºŠgàc‰ßbm(À=öÊŸ¾HC«†U*[¢{­Å ²ä°J¤ä:kŒÆÆa\GðX/¥F×Éžuã®b¹p†gÉQ¸ËÀö75$AUžÕ‚c”t Ú6Àí6Ú+îŒèñ©Ü4#C€‰¶lB;¯sJ²º2ÅÙ±Uyóš;L¢¯þÃKnl{³©fËßKý“ôi=¥aŒ…h%\Ã7sôk¥è4ƒ2a“³À|ø¥.FóOBtö8Î~ÎaÙŸƒgnbŽê¢Án aëma¤ Øëú”ÿL×Þù¯Š€õb—lãËž´s¥÷ÞdªI£} k”›Z™ÅÎÛ6®We´u ¾YCo®ÿü¶Î‰1Ä×ÛÓ¶§ƒ^¬úÇDd+k\‹Û‡Ð Ù¿u¥ù^Ïýõh(‹–¡ÏÒøpÀn`²o±:vPFˆ mǤSéYntFMgyÏ6±»g;rg†EtO+G^½üÒ ^Õ;‹HòšÙc¥€K ÅÏAE—é±m± …ŒJT‰=3—0X[AžÍÜ,éé‚xR"¶aÖ›íBr—nF¨°ïO+ùlèÇ0õz‡ î1ÒY@H®c™Cב ¦^~¤CfG+ÝtNsN0¿Do¾wà¢"Ãó@À‚jKûÜ?3ªOÿÌ)ô¯‘g3§¡T`#Æô‡?^òÕ!CK8^ÃY¥@@,ʽü’/|  ÄÉùÀE\I]ŽŸÚ]¤ÀÑêÕë?ЛÇ}»¢lm`ÿ‹'u¢ùçuæ¸TyÞýµ–¥k³Ã+èe ÿ Q¥> ™h<Ʊƒ™gqÙg–—4œtÁëãµÈo`ãû­èÞ†Ö#’Ó¬1äutžLSJx®7¯Áý°ÆeÞàc•g Ò/ Ùú“B¨I¶ôðÄ‚ëI¤ûÌà…1¡škt»¤LoÀØM$6d ‘$SÜ;®LMþ,ŒF tEXÕ±Äo’{Gõ½ç³}!Mô¢ì§v·Žsm¹Î󾵤¿ÚxìxŠÛ»¡þ€ ЃRÄ kÕxyu?ØJ?dA1 ]°']xg¨Rá«„2޼à2ÙúýP dçüIÔ«üy¾AZˆC÷ã…'¢‹"½œ¡6ˆ¥Œž¨JqÌëbÛƒm)X‡É;£=o—q=ò/k„}'ø"FâêYîy¬}F^Wõ—°Ø: ÛÊ Pá¯;3߃|#ôÖO­®1"Ф§R\ìA0[Æ%ö²OÙ.rÙl™ †·¢`ã£ËïpxV?=¸C4#½«£Z‹9XÄg€nLYÛ’æ ̼dåßËPà£ó ?oÖx¾BJRïE#ãYCŽ/êl{ʪ8‘„CdÍŸûÁ&ÞBá*–(é•/I’B[]ÌÚDzËcäÌ´))¸¸¡Ÿ€^œ5ê(ÒJçB7 Á/oº s-f)iÈêžþXk‡„ÇtÑÀ?ãXE3W/ͳ—L&“*4v XBÚâµ  ADÔçYì@ššŽ‘$á@­ìÖÚÎTBØ”íç¨ ýýcslnѵ›T¯§vØc“Õ¥õ}9 Ú·Ôb©õÛ¼àUž}¡­Æ§@M®à–*¢pª…I‹‹Ê›6]‰"ÊJXZˆÏ¤/q«ó„%[ò¿„kÄG¢BÉ2¯!ª½/ø´ß³ËE•q„-vÄ·7È„ãwV®£¿/CóÍùÝËâ´tZ ›þ}ÉçõKã/ã]{ýö*‰eICÓŽ`m?9ýÒ XJº½ÍÖ Úþø«0U" â—ó?¶Å7©¥²a®7Gç¿U0&y¹XSÂÀüd’1.:¿ˆA»aZÒJÎ×BÍz»€&©i ÷«òžÅtn«¡÷S¬í”¨5¾®ÌïÕŠ;¾-„²‹m‘xuªÝîÄ¥ù²<Ûß"lúP ž0¾‡Ú—Œ3XÐ%ûšcï»LßB½¿_ÓÕ’Å‹V@ɸÍPNî6 ”ZªÇ:}(?ˆCÅÛ|/A¶R)ì/ú˜”¶þ4@:>ØiÆÿ¹’î½ù·D¢ˆ8ye HÕŸJS|ä ofÍJyŒàÅ]P<'às5ºÚRÕµmZñÞÚ¶5ŸØ.q6¼ýÐ’ 3?­Æ uþþ…âªf–²0*+jÕ8?,šp¬ý¼î}¸OªûŽÝéê>(Dc>ù¾Ä˜6£ÝÊÿ¼6%B—#ŠiŸ½'QüÜʇ%>P;Ö<ÂZµ•¢IFéïLFhƒåîGr*oŸ Îäá=[‹EÚ«áµì¯ÊA¹\ZJ™—؃Û>Óì«ý×þtäeE%ë{œ9é…̤Ö|ÞÝ5á”ÌÇŒòZÃû€=»ÏIÝÝ ÍÅßl=ÛøÒÝ>Fâ—/ æ¸uÓ­õ8\JKl`š AhŽÿµV—û…¼²ä_mã››7­KèÍjQê`HÕÕÂë«Ñ¶<ùÁJ³Fm‡¯O{ð„שÊP`êèÉw‰ŽÖ˦ñƒ)5°=8 5oŽ£v‰ˆÜ4r¶å7úi¨ö7d·õó© ,ùˆ(Óo ÈqÙE²ÜS™Í÷ƒf7Q$ïsÈ…Ä–‚б4ý·ÿ‰ õAä´J&«hÝÖº5ôs…ѺBF jòGáÉa ¼y€¹ªÐÀqÞ"&ÙXN—:%î­_’*ÓÕ7ði€þA°¯á¸á e:ýfØÐ\½ûu®ìäÓïõÝbc3¾• “ðL/Ò5äýÃ4aV$e8"~F¡¸ëZ¿»e·óðô´RþàÓ´`›`:t#}ä§=F'Ç_œ<Ýi'DQü¯A7‘FÙÙl¦šýµ1ðzʘD“@ebœZʧVû•”:a¼Qgtr õîTõ¢Eè{÷u7Ò¤ ®:Ê$T í"äc%ô˘Ìeòeƽ¡~ÚB݉çSù0 ˆñ,¸·$œ±ìG[Ì ´éTvÎÎõÐ,9?zv¶úʘ´bõ¨UéHK‹9Øúè ‡TP‚Î>ÉO‘Áb*\kÈà-ËCq¢lPÇùT°¯¬´ª‹9Ù.ᛥ›­9©ñ¸’HÛ凣rqdþÑnQ1pîÜVøè`lÐêÌåH«?¼ƒŽnѦO`×Äèkpðÿö20Z~1C«yíÒV¯V|Þ©=à*^—vÅ”ð¨D—4Rû¨ÁøI³!;"Ú´cRcšʼn /³áOªùIܤ«ÝfáÒ³ÄHZ×dv“L±€hûvŸi‹¨Å¨‘¯yvˆÃÙâ™ x±¹”ÔÈ6Äc%“ŒýnAPU©ü³'¥ãÑ;yΧü][î¤ÁÏÛ_^TÌK„“ /°¤Bk]nz£Uñt’¼ÔÊßn¸‰´`uôü|Œ|n ƒl•©PhhÓd–f©½E½G«çžýÛÎÆÅ×5í"°VÏìà\9š|DEZ ˆÊÒ3Nƈ,ÌÆì7K \%EÊZ$UD%67£&QÉJ2Ö<ììßïqñ½- +EÕô[f‹…8=عuþâàå¶u±Ê'í¦¸X¤KÇ3 GêdÑÜ›q7 BO`®k‚‹°– ±5ëÓ-1tÊ*l€Ú•TÒåÔö]^ÄÑÕ…žç–_ È ?ŸúWDünÀ›z;#a x–[¼qÚå§î­$ŠLq,d¹%¾×~¾ÊêûLÚ«gûžÄ™7eˆõ9IJMRcÄá5æéeîQA§È‹A M«ëÄ¿›ï¼þ ‰˜á§Rõ¶ûÒŽ8œGÑ$ä•´hþžÎ—>ayh˜Cë-ö| ‘@aib^õÒ?ÛQ~G€ñ3S„Éì)C7"ŒTæfáŠ[¿­‹qš1»EpBPÛÈ $¢¡'»÷øÚá`ùXÂ’ `%¾ç †Ÿ˜˜¼’L{‰n”ãµ|ï/ †#úZˆ 1û ·~C’À«¿­BN^F²R²ù7Œ€õa’˜A ö1yqL¡²’êw[#™ìöšq& 4Š—Yq]d@«`8麛Ü%u6Zh¶Èku‚JÈîÖx´‹«i„´rÖ™ù9ALU¿-ÐùÂ1XÅÅ·ø6øÔׇaž{“ઓ²ÊáŽSı€™Ô4WÑ Px–g×6ÌÊQè^kØ2/£›|Ìšµø·®l+Œ\á‰l„fª e‘þÈšã}Xî7b–u~FÒet^äÚ_Û}݉`f¯ösOaÏ0{ΕWlTóuÙÜUNÊ8NÉŠò¾ÑÃbMèõI-#Þo\¢¨'s´§´W8F ÕGe(À¡–Æ×¾*ø»(µ¸Í&ä´ÉIx?ÛôH£â¦‡oF[xòò²ô ´õ;WÖ)T¼¬º›.l/'Õ2í‡[}–o'E)à=&lU4Mê›$m‰61PŸ¶pÞ·§®¹@é*±¦ep¬Ÿ†%”ð˜÷D§a»I¹½ŸO€†5R_àŽ_k¯Á‰-ÉÂxšÑ 8ÁúS¦Õq£†¥Ž¢eBøÍLEuB%—¹í¥•E¥4‹¦â ´Î ÒDHYèok/ÐD<¯?NÉõ9ýá ¦¢ÛNéáCV×E¥ÎL”„äè _;’LŒÛ¾ÒåÊ^þ^ô&bîVš™úIRë®Â9ÃãŇ5. ‹óÉiãè×<ÇÁ{ÿ[M³ÃئTúËÚÃçß6„{(w¯2„ ÍËÉuðò¿wPÛ#œaº~¨Q\Á¹gu§cWK¼*÷ÎÌÄcÔÂG£)ýÐ0½$ûGsöm`Ï…NGR¾ZBMÅ¢š´*\¼,ßHLÄÇ=õ„ ÚD°˜µžÝ²&„µªA—À°íÓµ—”ƒwþÓµ÷`Ër/¥‘OHU `ÖϾÐñ“êT5‘z ¥]%F&=¥¯ hœÄ.ËòŒböÝa?ÎUÆînbèЊpT™¤¬‰“¸•òbYƒ<ÛØì«E?ûÛ¬Î6[bð‰NÖ ÕÔ;Dû¼Ã¼íæ¹±ŸÏ±í P0…)«Éóeñƒƒ!®ü-$„½•zåÓ„¤QãSnˆm³•ÝhåÏ‘­‚Þˆ{«Ô!²JÐJM¤ ƒB~kÇÜ8ÔŽ@1Üís²r ^^€·"òb‚ü¼ ‹_È!uØÍ‘M[k\Zúh`ÁÐO”¥u5 l,½Î\À“e¤VéB–Ÿw‹„Tß•]±z[DÇð•Ût³©H5õ78Î@ge(kÓ"Ø åhài%h`$ ÊJ®E¥K°<-y,ý èéL?Ó˜‹·YÛ±hß™Ðá…lí`éñò>µ)!=³ãð÷¿ÊÜýÓ降*w"—,÷ã‰Ê9 œEÒ†xŽgcc_¢—•k&`Ns†*ì]$Oýy9ÎÄC¤Fu€÷ì-*Ÿƒ©;°²!ËxU1$•™v—7òmý€îë>|ªÑe̪R,9¾U‘ š¤(î¢}<¨L§äI–E&žYŒ,,‡gf’»©-þqG+ŽÅÍ ÀøkXŸ©MÔV­Ç ã‚»v„åÁæ—èÞj‰„UÝ>YÛ Ïò¡r£G›‚àõH 8¶’lÉFä©*E³°®~Ä¥sc<£™6âå hëkÈМ°ýý §AÃTÝÕ‡î5y„ç…Ý×\_ŠûŽÀÇ!d9B›êÑÝmÑxnÂyQD]PÞ‰y!b¬.‚wUê ©é¡ÐªÈ§šŠqåº0æ<>‘ ì½+aUWqº·½]þné¡l{“§ÄN¡û4ÅSzØà>۬ݽïó†k#"œ9¦ŽIÊ €b–{7l€ØÒ›½T­öâÒo§J ø\#¤HÛª *û9%}_× +û¥Cí Ó3û6®Mà·@Ö(tH±·R Ô%Û’ ¨% Na’VÕû&ŠU3¨*[¥9/-ÊÇ´FˆìPãࢸt&‡e†Ê×ßR¹lºôL’f/ä.HG7K¼ÿö™çÞSP}èÉÿœç¶m¶·[¹Á¿ˆð™/ÔöÎ…ÓøXhæ1ÜÂwš¦ÛùÔÐÑ$ª¼hÜ›ÓSF¢1'f—Êoq ·]~B§iª?ÏS¼ÁÒP{†wõêÿœÚ¸ç6 ޼—WžÌ›~´?ÜDGÒ›\ê˜M­¼dQÆc¡| iaa˵“&úè«Ìñ9˜5AJ 'Îk5 ûà nZ2s°‡G@¥B ÈôUX ó¢æŸI§’É”L,ä1À\|mŸuŽ•5 Ÿ:©Y7{%;«§5Žº'óš1QƸ퀺{c݇a{phòÈåS¯²±®JÚ¢\½Ù(‚ߎÞfƒá›´löö5Öð)ÕÀ½S™É¶sI¬qFøFÑwý&½NÃŽ®’mo[[¤s}~_j-Ï Ž¿©W ë(ÉÙê¸)(Ím<ÆüŒË‚®o"Ö^È·µT6$°¶Ð²ÛOgö º„¸I9 âŒmEª»oƒôË[ñÜ„B‰°ORåÒ ¾Jp(ëͨO¾–" Ï (­\ФªbÂHÆ!nFj0 1Õ °^ÒÚŽ7ßõÚ F z¿­ÈÂÕL9ÔzĈ¶ý/ÇéNsNN–BIfeÁ8F“ºOÆ(޳õûRì¼ÞÊé]òJ÷ïYH#‚¢D–5ü!ýÚA!—$3‹‹¶œ…²E[•¢úï5SK$è `ž•T%~Ëü>›ež†Æ^5÷ý'/þ@7M¢–±íð Bl´ˆúõ@¹Íip„‰¤…zØ#rô)GÚ—IÅoÈ$¤5y”¼Ì:¤äM¾ ñ:"º_âªU£ô¼2\9ŸHÌÿ=îÉ ¶Š-ËvS݃4bè>Þ:71ø‹ .¤‚€RÚM´ùŽx[`¬4ñØ›5Õ¾gLûI?à„køþK|Óº—¬%S ÿš½Œ2Å:]·Ô¼õ µ«‹f}D_öH¸PŠÊÿ~bBà{.ÑVåH2‡‹]Ü€vÔí"ˆ^‡˜F“¯,cN¢ô’ä.¿Tˆ@âL*g*tп”ó–?Ro’ª)¨Š0è±éEâÇ «ûMùÔ›Ã̖ت,ÎëIž…LÍ…»½CÖj³:©]·ÄÃ6«ÚâÒâÏcîXjª¦uS´³üprW&Hüy«I×ÌüUy"‚nJ’»ËGúÌ:ÂWuÞšýdSØ9L^iÍ ²Ncº÷<9Ý…˜žš¸úDÀhl,ýù¦Â8_òÑaµ0BrÏŠ ÛŒ¥¨D×’Äç`¶@¬iç;CHÎF‹?4ó¾ ™]U&)]Ê}ô„Õþ÷ŠÉ|bÏÈAëx˜lÁé­Œ=¥ÇRô Ó{øIïÌc$£SèÌ@vÂχñ S…{gŸê<ƒg—‹b»ÙAÄÓ#(܇wÐdùU^mnŸÐ˜-sDÆýb ÊÒp†è¬$ #ªÛa­ß1fµ°UÆ]µ]K;lô_*Ë·'En7ó` nèéñ`ç?ðx®¿{µ§òч[¬Ñº!·LñàÎ ™+)Œè &ðNFwÒó §lò<0ÿC_ âó9<:Àq7Ò—¹r+4Ý:à Ί ÝÆmþƒè;fmT‡÷ ǬˆÀØ£\!ä3-OœšdìZŽ „æ{ÌfÀÂ2ª"zñYº(ãŸÄ~¡<„fÂUŠiª…™xç`‚»±iG›²!íèÊÁ3É<vÔ9ìÖ…Ö$òî§OZd Žù-íxMàí )û/„‰e=˜D« ²jÄå{i—4]ÊRäŒØ€¥cRÏÊ—o¬AêÃP9´L)/¸UÃ?õìdÁ1¾|ü…ÍoêÂüS ÷õSJø\#¥ÔPƒ†ŠÚ*þ¹øáÚ:N+øÌ€ï‘£ñeEoyvoüìÄqéOߊF§b`‘’4O)K ¬ÎÊb ›9”J±qx៺¡.ðÞ~#ÒY OÝÜÏîÔê´¢Ø=¶D—®¶Þ>¾Ýý¿OUër|E™ïA‘W¾ÀéÇØÂ„zØ¿šIóÍH åñ‹QFùÇ”˦ ?Ì«qe…k lw$Fë âÔ,ØåDÛ­Ðá¿Ã½Ï">0ì• ¿5¤°ˆ¼uì¦{¾ˆ’d½€uŽRu25*1kƒ5¬µ‹¹Q­SY}B'åȈ)t Yà ŗ¶yÜ*è µ=h{I>c½Äh1C•YªýÅ &ÒBYÕÿ#â|§u^••­apܤW> ê•5¾Ä€PÒИz’§²ô9y0pC…­‹)*éŠÂ €$†*rµû@\í{àAjÅÊ»7õ}1_ãäÉO¤ÿ[”wímÈÔÀ¹Æ3ÃÈ  ê†ÕIΙ$NN„[Õ¶ÏIÔ踎*Fßo†ÀÁ¼,«—™.2ºÚÄiup;‘>nð6D'õ{pòídkýºÈëÔŒ…ËH ×ldýÔÄÑ—l,bt´D¶[aRÝL@p@’˜Ü1°ÄmÃï˜Zæ“Y¹ÏaÒ\>êQö–ÊŠdu¼þׯ]`Âé§æ9BUKýEØò2:ìÚã¶/L ]]8¥ãN¡xÄðx_sÞ#3dQ ä–~.Çuµ·å˨#9‰É¢â>!`8=…Mn<ö„Ç£žð‘5þÏ^-Ôáš¶yÝÎ9¾&Á='vY¿úºÖF<ñè‚òÚWšB°bœõKÝ”tO£ š¤‡ÖCyó$Þ›’@­î¶›cú £g‡²ÇóåÞ€»$t+T!éõê‡Mª~¡;?Œzo›§ƒ±PÁ%aú@¥:;nL’0AàK­ .ëÌ8ìÄnÅx®{¬¢×ïý_ÒSò³µc›Û¬ifPa¯Ø¬®&%QV§]€F6À ªj$eëäÄÉŠMà ÎÌ w¬.v^›ßlsqêõ59l‹<"0áÂÞÃÙB‚ò% Ñh-b% ÇÜú‚~úµãÔP,F•ãœjslm¡#féí“ìÙyÒ×á Ë%¬‰L˜}|ݼߦ—£)ÜËFk(³)·cêã=%¹/³C_¯‹ X°ÈÊY0ÌIFú{¡u'‰¥öí,^ìÓî|ý;·&=Ò:Ä 0 ”É'|ÙEá($ïjBV‚NYÎt‹Hëǃ¼z°gÙùŽ6uÃ=&¤Q”ˆMÛ\Zkq*Ýu¼Èû§9اâ4ЩÚì¯_,ËôÐW÷#Âóà”üq¿\ë”SƤ͟gid(f¾Zm†[´?\LÔ"ýgá¢‹Š½Ù?½“¥ÿÍLȹ9QÅ™•û¢Æ¾îeÿ ˆoÖÇD_ô¯BÃjB Ý¤E,0eúÕ #ÖûA+üwÞÛê'L¦¹ßC[Òê•–’RËÉjãòI6I,Ãì,Q(‹wYDމ:·>ATÇÞ*tu:jÿEõ¡æUþ¼nT_)·ì+Õ‚P¬½´póÁ€ ;^N³Øöx¸Î+¶éU4ð¼Ïš,9Kµ uÅr:2û¿Uû>™‹ü‚"íÔ÷ÂnUä>•)õÏKãÉz†ÿ§±i$z^“™ò¦ÃIJ~j’—ƶN>°†<Ý?2Õ!‰\H—•’á‚a:z dKXý@<óÓí£–QY]¼ö2v†m‘oM@Þ‰kM~·®YóHßS¯ÙÀAÊ}È·ˆ˜­@Q2{Bg]\°<€Ãû_£60[HÚy\ïk…4Fk\Æ:—D#òOà¡Ö ;xøè{Ïñ#•`g3XPN)ÿ“iÖ¼Jï ÌåÄtƒí…ˆ& yPWWáñˆ3ÉÀRÙM #ÓÝ,ÁðÜUÜ;Íp¹Šhgf÷»qœ=] ̸Gk+÷¥8²ÞZO“"yZÙ)Ù‘’ê:¦­yùÀÆ?íA¨>ο3ý ãpJè“j[ 5ì€ *ÞCÂ)LßžŒK¸Ey–±ñ_œ—ÊñQaýèŠzÅúÜæšÑæõ©]öF°míÁ¨"DŽ˜h.še7ízž;”R,-X:Ä zEkgÿ¾9£ô1Cã.WïAmæ"œ,5úA”]'(‰j–›ø÷ÌXTcI4TèÊãÃ(x/^DYVáZ™%;,"݆úAÏí=&øÖ™W¥ÜkÇ å[J'„‘¬zúLû ØÝ–äÁš´ö9™U¼|µýDiœ6Þ{Ùÿ·B& va&J³Þ&8¢1Sý­ìñ8¹rœ¿CH¥,×CÙߘOêø¨mÎî5Ò£/`©ª¡˜ s•I"«(fþ‡ duìͺuÕF±×S¬u$Fˆ]?•î!ê'<öhq½”;|iÁö¾e[©Î+­aFˆ¨¹9´é2/½ššÁ$ä—ñ`aû´:‘ 5]e`¿w&yøÇ ö/&Äüì@ìÚúH°9šKÓ¶4àk»B4Û…l®³oÁJ-öÉfäª×w ž³i½€ò‚RâYE‹¯t}ë¥`id_Th/xÚýòT‰d=—Þ1ÊjNbõÑ“\À²»ÿÜêë°iÿäº ozä5ÌêÉ#ßK[›§èÊ—‚BIÐ\l¹Æü'Nõ¢ -k]¦D‡’æi¥á©hDÈLìG~Â%^o¦ð œ}­£ŽÓ侇²öø} 7ݳVÑ µa]Oë‚MìÄPòÜîú_íÓ÷øý!¿(kà× ‰èûD?g†aö𵦯õøªãÁƒþÈu‘ºC뱂â`‚¡Â­(ëy>¨^¯ÚÎ(ÜžK†éˆyd;ùÈ|•DUø2ÖÔY4nÜ»¡Å3Ïa Zµµ!­(ÞÛ¨V”)ïïÒµž/•ûä›»jä®ï<ùâ<ѵ ÌJKÂtJ‡E§n=y1°µéG$˜þδà­ñÙÁŒuÂ%3˜¹3@õ¥ Gê†.™×Ï6ÊÙ«8Î7L¶šL rÕ4Œäºà·â¨ˆ8Ä…©Vš¼)’ “u¼¨ÓÛSìÓz–y..£ÍãØ a /J>@zdÅ/ Ò Ýžë»[há Ìyj $ºc¹;–ÃÇ^o _Þ†’ÚdlîkÔ¸q¦mÿ>›Î-,Ÿ¹êæÑF¹JLQÁNA™ o]¦vÊgµáŠó5±„åªÆ:ZÜ,UЊŽ÷ŽS ýg@ÿηšÇ IêZ¤õ4iˆ ²;Å~™ã¯0D8((³²ü¥.r®H]8'êNmƒ¤.™xù©×€7†ÁG’e¼æP‡|-ö ‚é5kzñº$¨Ó# Z¥ë[ô'Z+ƒ"nšS1½R< Û6-0ç|!86Í£¾&©ðºŽPµgÕ¬DàØçR"Ü—5‰¿þ§ã'´ô{ZàÉ]¾ÑXÚ¶½Ð5Y—œdï‰-FN½ê—‰Ù"%¾Ì¥’æŠY¶R÷BÊY§qGE<ëz¹‡ïË(سMN8ßÎ6d— óGÒ¢?îoËæP-•Þ’ú?- ýhõ(悺ÔèÓk@͵ ö¼9ôÑ͸Ö)½â§â×Xš:ót–¶fj ÀûK:-Q2+̰y²….¤ ­€+f•äÈóŠàÖè‹ìd¤Æ 8sì—bàí=Jîaæ.ÒstÂ7Û‰»•ÓxÓh(§µÛ§î>·&8Ïä¡Åÿ¼õ“Eõ½c”®ëôN”LÊõ"õ`2Àqõ¡kO¥*»‚M¹ÐôÑ×A•1~g_5©™’XZsƒDÇHM×¢“®'^³·Ë˜¥@¨ÀÖ€²úS?Žx$çŸÊT KLœ$w4™S45j»¢äËùyãEˆ“¢¤ÌEÚ¾ýÁî$§ ØúcÁ·6 ”iïÕÍpž7òV—hž´¢ûÿKlL¹UØÞ §ˆY#²J °+£F×ëUàQÞ–}SµK‡trU6ðð¼ÕÑ?Ƨ=÷Êõ…ëVbñ”ÕHú%ËyªW¡Í"9‚#á8  ¡öšf@^ïÖÊbñÞèŒÆ—“¿õÔí2ÊP*Heˬ%P‚yPJ·6YiKž¦B#z}‹CãAy¬O¡ü–+ˆE—uÝÁÆJ?YÙ<ö B‘ÉK‡k•T§_ÖÔ‚7xØ÷y^òÎJtõýÊÅ#µiô!',ÜÜ Ì‚asï:ÐÞçñ².:•4 y“&”ÂVRê‡¦£Ñ¼¦ª÷´uO–æ’IÒ×P>Œdá—tdTéŠq{< ¤NóÐÃNÂ,+‹È"ÒÊ@“½]½%ÏÎs}ôjÕғ~±za=#8AÖ1ÿ\öÕêKSmFv T‹ÐE1:Mêÿ $%Zª¶\&Ü&hhë23µb¢ØÊ#S…ìf‘¿¦ª^ô²@{`ì~ËÕ%8€Y%eúö ™UÝÓÓ´X`àÇEðóïV&ÁZÜéW—83,ŸŒV€eÛøü;a3uŇq“hˆ #6`ÐŒr'MHÿLû‡´ÖV²~`HþU$çcÖ{¼×0¬¥—åúÐD»é¥Æœ§<÷Î×›‘á¨YÁ@v1á'„çe“ dz åx8ߘY9Â0ɾ[„Å”}ŽY¶oùKVT›³êIÇAþÅ;{Á!à¯Ô®r 1,`Ê&ЭíFˆ®düŒ³‹xƒc?ú=ížJöD¼¹ò÷1oudv‹sÃíóO¢ý² yÝ–ãç¢Ô^‰’B7eå7Çø\ÍHEcW{3€ºEaFaŠ*ùœˆ!ÍÖJ³$\DL!DI_a•Kså§à¾ätÈX+ÉØ3Þ3ÕKïï½ÆBD†ßê‡á:àÕ<¼þ@¥Ý†+Åï£fŽ3oû©ÍÄ…Cµimx'vð¯F­k–Giû#‹*H‘ú±ÚÑø@–6+Ì2šq´!Ñc[Õ$âYJ5Os¤%Kå»w|.\D~P}æ2óÁtÁ|ëä?N2i˜Y’bÍî\0JB\:›ÝèÂ)aƒN|è£å¢ÛUmÐá௷”ÛAm‹·ú}ýüöËĨJ±Eí5V1aÕuEz pÏ¡±¯ÓM[‹ë¦ž'Q$u®ˆí¼Y]ŸùyΓ`#ä‡d–VžbÊ/#|x4‘¥È¦æC8d§¥;pÂÒ”¦¡ÑàUœ•h…Ñ~ 8ÖÕÇðÚÖÙu׆ÏÈY'’7¼æÓµÞ§PÀ§eEa‚ÏZò”3™)‰Gë½)vKXÀuQüÁDïÕt×GØnI.–q«E¥AËÁwÜI÷{|‡g0ÒF•Ý­\%·Âˆv7ÑP. æ¨Ä"ÍQf‹:5ßtNè™4ªs¾#”Ôªñ-Û¯ü¢ y?NúkÂܪçò©ìHäU–wõA TìðÿüÈÁ>Ê?¤ü%öbë~þ‚ì¸BªqñpãǯmÓ™Wµg÷þ¼+©#Â͸øEDÍE¸e0+]ÇZì#4DS|©+3Fß0ô„ÚYuµk BËÇѹ²Tû|Ne¦FÉ=KÂÚt à}‹“kQÌX¢½{¯L.~¨-JßÆÚÀÑF—ùæâYÛà©–g:‘ê“ǪϾbyΉýu¡è~¸«G½GèNñ. Ç”ªeb©Í„¡ž†-ÚÜL|„¡l¦ Ü$ÌJH,¯ 甚‚ËwÍçK\ÏÀ£Î;)ÚªÂåÙÆmù6Ûä ÓÇóF{†'¨hÈNkr$?¬™¸°Çæƒbn 'TfúÏ˳C†#¶€ðÑ%&- )Ñ’«ž”¶ %–ˆ‰wäm"óil*6:¿Ó~ƒ2¼4ÔUŠÿVçʯTä‹ê\¶Ð²[Ê´,8TåK¶ADZ ä]Vhwú« n`Š]L£µv¢†èþq]YßW=ëÚ!}2x¼sišAžEÏ"a@‰…uÆ3[¥Ãã¾vbJµí”Šûý@!Òß¾ÝöM‹ãæ.Cž¢Ø‡1ƒº½áúý…„þÀ—ùRÒpƒ?B2· Öh}=“H×ù,€lIØñµÜLÊ` \lþ™IæX­¦i!ŠD½‹ù>ñœÈ‹[øØñÞÅÞà¬UÙyœŸ¼áT|Þ{»6Ðý׫V|â”y±ûøÈ¹{#°Â¸Çb?@O‰Ôã@è©ý©Õ kïÎ%v3CyWÂ:šó榣ˆ«ä³Ó¾—½ËTûZ€À„#pº½øˆkêä³>£UJÍœr"îÊSËÄÃòO‰ á”x¥ášåäR•烜Ký£0x ÕCY›á !öoš"ƒÍŠ4 q %q8ÎIº`"T c€ý®Ï„¸–K Ä`õ8Þ-lW@ Þ.¨Ið[äú=J)DÈ÷>í˜@y*—‹h5¸âÊ ½»4äÛRôÍ¥¼ ™ûäþœ4MÞ•Ñ?:{TIY ®jêðeˆ>OüiýåK¥ÿŠ ŸJÐ8}Zžšíí°Ú®Eº °p¥XµZŸ^Q~´ôêŸ ocî ë÷.“£Ê-Ԁİyè[7öV‡Éë.W Väê/ÁÏïi¬Œ¸*œ¢GÂ!ÇCNö´³JhßΈd-éžI†ÛVIÈÁ:0a ”¤’þZC¸CÏZá,ºFøâmIgÝ{ºP6º7 %ÓD`9ÒÁ!…Óål/ŠÎoœîíëûîÞ5;|)xeý?UE?Ã÷Œ”ljuÁ{b®û#ÔxîþŽæhè8]öG×˸>a)€˜µG_±1 ÉìÞ\:úÀM$KWç5®Š²™²Èu/’Vcd€1f6“£‘ìn.ëÔ v’ÿµ"“ü4  põ›Q$áÒ]:*¤®l¶`—,3Ù¯þœO(¤¸»íæ ¼,Ï&´ä’÷½ádç½Ñ—·að+ñV›ÒË)„ý9ãbÔœ3Á{IlÎø1UB†M¹HQµ°XÞ…læ¯ËºÜÛ}»Œ•eJû,Kcúo6\kë®;~ƒ{ÞZo…ñê ß’Xé”h¸RÍ­Ufw"sì46øyP d Nº®±N»sL·k¹¥†®·¬¡âO¿á[zÄ hqÃÛ[YÚÞw-o+҇ˎ1å ÀEÕ>e”Ðr³¨ËÌ„DíÑZ‡m½«Ï™òxbÎ]bå?#€=·‘.NW³Çq*ÖÜ ip>Ç_ðr³Å ´ÿ´ìàJ;:Ðø,UÒéXç÷2RˆË34fDí]–>,QüdÕ‰£4L{æG¢jG^n÷4‹hœ• ÙwÊ{›I$mÔ\û÷Ju‘H„CŠ÷¾¬7$']ë×õI\Ä¢iˆ† }ýÙцAu÷—Xµo«»ª"­Hi\j{Ѝ\¿\‘Øûþõ¶^2xío¥á¾²Ð”ƒãzDn•ùá(´"™dmb¯Íáµ ÐÄo"X2p²_„¢2û›|ídQÊ©FrÞ9ë W–ÊIEp­Œ·îïºXt$‰èµMœ¸Ÿ£)dr–;:ì)'Qzd¬`¹$!ü3.náSZQü+äj’lß±’Ü‘%˜?Ñ'[Æ´œdž›þ¾(]öhõPF~ÍG%æ\áµíÀüJ'Ý{z°udµ~ P3å·äÝà>¬kOløÏr/ úˆ¥ëÎìÁµ¸²]æm1Ù ƒÝÄ(ކšËF“—¶n rˆl\¦<´¯•éÂQxa(⌙wbüSe› «£i?Y ™Ä°ÕvCÐÈ=< ·)ôý dÛ…Å@BŽ5eØqÆ‘ rˆË?÷è{JŽxÐÌœK:æ9+¥•d$ló–ùqBfTDÝ~]÷ÒóÜNƒÎ­•ÙÙX¼¤ Û@O0FnÖdd5—’zãí郇ÏWÃj„¤;r­ dð|Öˆ©35ÝG*á 3û\€N§¬?¬ÝXõ€™±cá¬á,»—ÒTïf’:ßGé®A¿wÄÀ»¦˜†õ~7­–FµOðS¼/`µð5CqÉP=Ë(©ŽZrW¾/@]Jr¯È»~Q¡/Ar£íµsÅÁ*f±+;´y}\v ôó©mªSh^4!#î$PT1VÖѽó]¡á!=uö`^ÈwÚ²£ti8'©|Dã-$üŒNÇ¿’©@{Mà›¨ŒqWÔÓßЭeœ=’:â~×[n­6™PšejãØºOÞcѹv>°\Å¬îø¬´pÆ[ ˆg%+ãÅ¡m”¹<.RT²üŠÍ×*7 ¯×9¬7_#¿{Ì8Ÿ†"›‡£VZ´Iý>ÓvÕ,ʙܕ¸–ýì³PiBjø‡ÍüýÉ·¬­0AÃêOÏ%&p&nìÚfZí%èÜY®¤ÞÓ7c½EM¼Sø‡±ŒwÞ‰ÒtP¿¯žôa71¶/òÆéôðè3Š‹,-óæ÷€9½’âª0á‘]:T½Íˆ´³_?×›*Í~2Æÿ²°r*”"Wñá0,8v‡=dÈ̺Ea‹þ_¥ ûÛ`k#¦ÆÄ:uYÐ%Q#ÝJ9µ‘¤6õ}!¬–,“Q»òÞt¨Å⻿#7– 8Kêð˜ØÈ¿œ)áÓ‡+cаnŒ¾gü¿DU49Ÿßä1U›HEz[Ïá¨Ô„ý(%,i&g‹ü©¾6ˆèžä|¦ñŸ9\ÂyõR³Yç -Ž&D'0iÄžõÅb1DÈÇ®²³@Ãs“ S)ûê˜Yâ4dˆ‚=N=rá¥Tj¦æÈç(‡GÑq]甽ŽâÅ;F1‰íè*­Þšƒvãþ€ I;“„ÆêpÏüÉ»,&\õW–U)Ÿ¹@Á ŠÞ×ùJ.b³)Ô¥ó¿¹É!|š·Àߟ€ 4:ñ†§2UÃü1 ÐY~Á/äÍ| ü#¿KfUXAû¹¸cÏôòð´pK€/°^·†‚†æV˜&=v†Ið$>’ÆY`ÁÑlyDmr¶Jè “·'P“Æ•j8L–£hyù?Áp‹¨ý%Ÿ\”â=iLPž nÞ…qó¿ÝpcæÛ ÀRiu›‰­|“[ºÂ3lÍ»›-É–&ñA~ȯ¤{h´¨2Ç¡šÆSš`]²øJy¿T!B¢³þ‰ÔéSÁ,3/ÔlÚ`öR=Å €è<Ó×éL^LŠ[¯­úEˆ¹ÄË=ŸŠ• Â€øJˆ`NõnùøÚmðªÅõuzßÈn53è†IGe¢ì0õ_mŽÛ¢ ódbîÙÐî Ò€bsÐQ®ýMN›ÃOãÚó³”Õd¼|T£ÓwEgÿ†úþUÇžæ‹&}ƒríÑÑïÏkœåcܘ̹Jw‡ßD×êÌhj}šÖ?µÙý˜‰†Iø^†"o[`(Ä,}èÍß©"/„Øž®i'¤›Òf\´.Ë‚w ·pBm&ãÒU79¸¾þ…Þµ à%¶§š$w×@P­œ„4êYÑ–Ä û}N:²<}îgþ¡@=’BÒâä/|±3›—‰`Z(tó¡bÈ9(âKÆÏ‘–V’4+ú^!¤É*ÉŠ`•žNL+íДü|Wø#j¢Þ¡Ì£ÇÎ2˜Æ*ƒ“b$„œÓùDäùº½õêSÈ}ä‘À_£vDûý9>ã·’&T0žMƒ úÙìŽ;ÕS„§ÆD/gñŒƒ€é3CÜ`Q3産6ÍKÖ3Rµ£<ˆç›Ý£*Òê´¼PÆpÍD¼Áê2à8‘ðGË/óúȲ'Oìߢ³÷C`LgsaÞx¹>ùíʾSzl¯@ÜÙw;Ðð– ÀSŽ;pû6#¾Ejœàl„M÷>ªÏeͦž¬ü4ö Êœjö7p«yY‡ãõ’9Cs‰™p6Q,FðÌD¤±ô‘ùe_|"²‘¾RWœh– ÁÀíÿE†@œ'îhO¿‘C?·6 =QlZ‰ŠùæñmÓ/F•ñ41ÇüÛ˜Ö÷Ì<", ŸQGµÂ9Š|â³ s!º`H†¹ÍŽŠìÒ# z&xº*9,^=‡Å‹r¢fq;:åšUZ/·q·‹[oVa‡gPžw`ŸÏ&M)bjùKµ¢MpÌs¶ÅÆ z(Õ1Ý(dTÜÏz;»×Øÿðpe3CI½hàgÕÆY0ç»EÌUÕÿ»BS¬%^:OŽ‚žFö4 Ì]"q”Ö*ÏÊ<éCÁ?öK{­— Ì}Oîæç¼W ˜ÁýêùØ&rð ¦K {J®˜î^ÔäªãÙ 1“Ek˜ª×Ü @’Rˆ Ÿ(ÂÑ ÕkëD+EË£mà7¦¯¼pe²ß$Ïr —‡ÕÚ"7ç=EŸ—[¹K¨óã`J'ÂÕ" ª ã+š\pã\IЄ cö‘oXf-Nl H…ËL4Bûúö±‰d1—–ôš²|šƒf„h>;A§m§ËÑJB‘‰íNÛ c° kª@n¤k5åk+Ò|»õ ,kY@»>Ë9¸Ê;ˆ7ñH²]¦erÿ -áõâ£?È9Uržä_3•À¶uëãzP¤ a\DÅ%Óö߭𦚛-{9än lL²\1ze¦O6 ê«Æá¸öfø¨Õý¤çp×XãT©)fw̰Éí7NC,<÷·zÍm€õØ{ND¾çòR4NUÜçc ˆî$usáÉB é”^ø.Ei‰Á ”Ê=tì¶s!¡ëkÙû Ä^ Úwçdg6õ=þ·w¤‘«šLñ€ûKÚõËóÝ{Ÿ¸Lí°GzÄtü«ÙþQÉÆgKsï:åsø§°‡¡Á7ª-¸÷DvéHðf“ëÔÿšˆ'&TaïÎ;4Õ¡šAÃÜÃÔA9ƤԱ¥#ŽkbׄVKÿñaF\­ˆ–Õ¶A¹ŸÒþzË¢qÈ)oiÚœa•peNÚl“P\ɶ†/ÙÌ»ä6®V£¹W“ìi[Péð‰ÄTÓ²õݾ`ÃRv!åðaþ&ÚßîòÍò;Äch›iûÀëSJ6—ðš”åÔ½÷¬¦=Ý–åù;ì†,Måâ-c6:“;.ö2O}¬2ƯÛmJr§1éœÕÊFÂnmÅß[>öb²œÚÖÝ\†·|Þ6$œËð .Ÿsü¬Û“†Ÿ30uþ]­}t¼âÂ;ᕲ.åÃÛ³(ÝòY”º­Æ}”×M®>{íÅ·çÖ_?Ü” fsÓzE¨xÅe’ÅjØèu‹sˆZ@O³RŒä§•¢Ý ½ï‡ /ê#Ý!˜Å_G$Ÿ•ʰõ6þ̇wäñ½åHÝhòeþPÀŽ…Ã;3A~OŽj a¤ 9ý-;9iÊÛ]Ý꾂ß¼ƒŽa£¸&¸™W:d'OõQloÍÀ7DÊ E7ï­9çÊÌ#cmSl¼:êRN;6»-Íbq™,c–f·Å\æ,[¸äv¾Å¯–]¢‘mŽ#|ÀÊôùŸ;Ÿ•V² ì@Š>²«¥‰&÷ž1”²IfrÛx„À×$Ö‘ ›‹÷ž7 jFfÊÛSLzt\`a“,ÇÂ/iq8˜=­È¢@Ý~+*íç/á /êºâ‚j|žbj©sØÜØÿˆ­NjPØ•=PïÞT”‹ |UuÚkŒÂ \V£‡]ª„ ›Lmù¶Œé%?ú_[‘¶EæëÈÄ Ñ?ÓE\Øì Z.ÜÔ¬ä%hàâ'îKoÀqÿ•éß}›£¥·~§q“«n-ÓâªßÚÿÐ.Zymg$9ù×G|©"ÅÚ^| ]BdV÷ølYuT–û¥zÈ¥ÝÏv ÔèÌ÷ã#ha'»“ƒÝ÷âÀ^% [¶Rò#X+Vâ¸Ò¯Y fÁ‰†G´ÑR*Í^ÙÝk²ç¢ÃçŸÒvL_and¸C3ŠúË„Uâ¤ÐnrVøZ}ý\ÊzŸ‚dp¿ùº±á3#ÔŸm–Ô˜æ8gÖäÑâ®SÈçîO€Ø$Ùø¦_™Œe ÿüqã¶‚ ¤–<í“èP öüÕøR:4¿îäíÞóÊŒžÅçø‚l69žyµ.dr«Ha²0ÁA·€½€5ÙJjù0%§gwk>ˆ¡Q´´û7”Å=éîù€ú½2u‚,â•ÿÈÄvú§˜™jvg°ŒŸF@€TPÆ®I×2™¥žÐ¨ ‘UÁyãyö =¬lMî{,³ *l_Uñ¿ˆDõ"ÈšJüåÊùâ”wegãź{·5›ÚR¨üôÐ ÄüL³ Ïsh06ÛxÆñ\Çìo›ø ®h«õ™€ò{»´ÊÂɬ4K†Ÿ%î• d-œ†¤áo­ =1 ª¯Jõ¯7_~ÉЖµIÓ•å䑳i 6§(5‰’„×õÅá以BûiÓqØÃ²šÞÅ0Ÿ­þ*¸ÍåUGVLø‘kžñÖG™§#ǃd¦fu`ßC÷Xhó¼¼MOFe ºµìâlà y½)«8ïkZQºT2ñ±’}_ЈEÛø†àb÷&}`±ßt¨yÇÝpÖ½ yFØÀÅícÀ‹!7½å‡\Éò*êÍɹ- ÒÐgóŽ¯Ø ÈäšëàFâ]Xò/ÓÍÅ9 I›—b¥V%ð˜ÎãûeÍhÙ½²Å[%ˆèÓÎzPĆÎ~xÙ™ƒ @T›1¡ÃQ¨…þÿ›DìÕ«ÿôtÒÔ Òî80Æ×Ûz;Ê dHẠ *~a½ÉÊ)ˆW†­‡çÁÔ¡À…½lvìdñ˜]t^ Ó—1ôqWå¸úlçmG$à—`{þÁoL`¼þâqß:D©Då‰äà˜Î±ÍÉÈOVC´ZWbèHi²a*m.jsü3¢œÊ ;úV_¦¢õMgG°òŒøxMJ)e0\ºõ"‹ ]%r"iŠè¨”;*¢æGèÅæ±05MNêÅÈW)¥MÞLQ÷#˜êmB9í·X°PKqò­±œ»bÆÈøc* ßN›Þ¿ÞÑHå;Ò…,uÖ4q}Sˆ²ð³úA|,ŽD㫹þê0åýi¢Îi¤§ef3ïö¡=ÔkzÔàÿL…,¨˜*¦¶»KôË;,èå ôs¶ªðÉ"hÖ LûsÝyüEr…úÿxEÁ~ҙ䔬^Ü¡áGÍNUz¯ÐêlŸ¯Û²®%•;l -ÐÜA_!Çp²–/é¨#’¯tãÇ‹·ø«©GmÒ³ƒV­›º½™`òÊ0ÁKqcëDҳ峯T]+64ãò Ì¢A)šÃ»ø¾Ó6VÙ¼³ÊÉWhR*I¯ÃimiS7³å´h Þˆ†„¤ôÓÐ `¿¨†‘ZþŽý†&ïv 'ÿ6_š ‹SzĨÄo9³UôñÇ{W%}yÔ´É& ký@jKOßU¬<èÓia€ªTÎ N®ÿŠºà’] 9ãjµÎ3ŽTÛrå•ÜÒC#®/šŸÝGsVÖ4íÇŠØ®ŒÀì5ÏÎAeÁ“÷ÿ‘Û¨giã ~ª—·@ÕÉÅÏ1¥$.×Vìµd•õc}ÙצN¨iœi[[ n*¨ìì§âšCǵ¾®W†'ÙŸ)CFðÖþv ¤$ÁAQð1H62Ô\ÖÅ×Ú|>^ÎQUe†ï°’¥y;í¥s ³Ü7hRïñ'œi“qÂäèViËq€ò…€óâ!Ä~r¢×Ÿ— æ—ÕyC½€r”6sJcöã³F"¢’‰„ïM†ä#‘ÌV!k  ?²îĶIÙwå2htødî`±´$c,¦“€%d [©µnlU=1,(ê4¦¡Tõªö<‰†ÈW1j¿"Ÿ:|­wó5¹wùC9¦¾Ö¥ØèÜk^8×ï'°½â‰ÉÍÚ‰æ̽ŒÊ0©g˜Sû6O~Ma8ÀØk‰·û[ðE Ð7®A׎ÿÐßÊkñŽ»sÑÉí þàÏ6Ï[µÄÊÈî‚=ocÀƒí2`Ã9ôÄõðíOðóZ3‘Î+ÎãÎ^çÇk*yG®"N¿%ßrä[«µjÁ ¼rgb-=´ìF’±ìÕÚˆï9{Êævâ]içJïådó—ŸFp³ê»ü‘eÛ'ù_óÐ@[¯±ùŠÎU"äA&ÔØŽ‘õP4lŸµâ(¿Öè‘ß7BWU•ÃþæD›?wZW±ybÓÃdây×:’j†¢á®¡‰{é ·ª¼v'^¾=_ˆ~èº[øµÇ«¥¨w<|2¤“Êm&¥Ö9mIÀ2†×J‘ßd|™¦<ÒêEc3žÂ(Èo¿„¤¶¯Òl/MP§ÖJX b0ÇÆ" ±µOgÅ1JjïJ¥ÅLRo3}$ÒÓmËxôoQð­ª:zLîÔt—îMG«v%3?iF©âiÎ&¨šGͪ¥csòZÈu©ÌïD<Ó©L¢ßŠôÞf.X‚º±ôAÌd7¤óaÄé²J¡k‚fÉTSECšI«lÙ ãt¡ÑÕ˜0æ/ùePiä2<%[bbbв&‚†ù(Ý™”«Ð…ðEG¹c€ÜòçyD@uÎ$·¯eMè¶‚ðZe‘èË¢`²!»ˆ|ØÈïLxƒNdsÄ£[^óÖŠ É?Û·Ò*œ ˆÖ>L¼µQn3G%.u[•öR-Ž˜¼¹$p>º¢‘©q±¢ó<êSIçFG[;R]õ¤ö5b±©(ô+kSÔÝï•ö”ê}zª:ò‹ê'–<ëv,ÍÙ¸RטC´æ Á¥5i_-ʼ»VC$ˆ4š %Ñ,‡Ì^U/üÉ™@ªGÚ>cA¯^òêôJ.û©Ì‰Š?S\#[ [š6•TÎÕ×ÒŸÜÅ»G•gϦXÓ @L,Ê 2Å¥o«$œ0-Qeõ¦¶›ˆhlè1 ;𪲰™þ”~%x… ©eÇmFµÀÒä wÁmÖ¿<<@Ž-p‡¾¾y'PD¯ Ðñèñ>ðV­ÿ\k–Öcî­Fn»¾LiΈH„ΘT©ósnUÇ*jÑÄañi §FZ°hŽ´­7Sþ™Z$7[;Ïs"wÖ­ZÎS1+âF ¯žd6ï™a ê%7س¥å¯º"ïλ9'–oÅýü§pÖÃ0pÍ)YæZõ!Ç!~ÀÇ‹(zHð…Žb³$—‚‹…4ÕS¥gÝ…Š†‡ñZ!VMVye¨lˆ@¹¾õ küªÿ˜o åðW¾¬_gæ“TSfÕªÖ¯o£â"–dÓƒ¨ÓÇ”¾ƒ»öQëSÌ«ÓGé&­¦†[ò<èɪ·ciiµDÒgþ†4œ·‰:ÈÓ!9J 3Fl”Õ®ÖôÛP•YÄŠâÒ¹Ò0ð†Û§œ›<1ërך]:ŒNÎJ-Úd{¼Áï<•-Hp@)°zŒ'ƒ­ºÌݾ«ûõÒNî*=$n::¿±¾Öqòs“#Lë×ODøåÿ,ÕK ’E-8ü¤Ñ¢ySüM|ˆ ×ìþxª3 dከ9?éþJ n4HDÔðbd˜ªP1¹r˜Ûý£ùÅî˜jC¾!êÍP50SŽ’’«|ÖVç‡-•æ ¤¯Ïvîy@¥2¢ûºŒŸö«ÓmÙ;Ï À¹¨ãþ²»*Ò”˜Žù;sĦ’;F!ÿBEî½­Jrü‹[æ'hÌ ¦"¢ü=ØA/á—¶y¬•}¸|ËýòŸ?èžLù@ÀÞ[A«v",¹¸P󺈽Ù7,²_±Iy¸§3=,vr7Fi²8c0t»çäo¿ È>KÖÉ/³501z+£b P,˜>ñ“ŒzI‰ù{:×6%­ÙE›R}¥˜1ޤÒñ™’³XURP²lß’=(Ã"S‡ÂL;¨y[ P’NP' ¡¢Vó6l×ÈPÚ6øÇû §™ÄÙ(ÁÐÒrΟ.ü 9¼TJKÓ”{DÑyÉb*M“˜;Ô‚O:eÒžC7N>yzr'L‘5TÝ|üL_MT6ƒ_‹ØÒº}KȪֳïóHñI¤¸½½wGй*'¬®]XHaÇ‹­ÞºÍ4ÊôìO£þl¨÷B¤Ì‘@Ú‰ßsS¨íJ(Wm—y2•-0´‘:ç•VŠ|"M¡ÛÂAȪ¤ `ã‘–ª%оóÍXµ=¨[võiââ)ëΖÎrW,:§óÄk3ç¦_–‹ib'ºá®-›Æ@k… •‘øËxì~>W`ìIJQ²«òóÇÆÿG–‹H¨®¶7|¡ï·‘ð)Œ õÑw¯Ý6½=}ùš0ƒìN¢Âæ)áŸ0½£‚ÿ*Ëe–\löÛNJCøÔ÷~áU±ï’²S¡ Gã0ÝÝÚä_ ;* ¸gà|P겡™Ë5M°3ç]ƒðTúwBF[ÍÃN–ËlëÚ'‘ ë\Â0)ÆýZÏj™‡Hã$––:ø>Í&ŒHÄÞUÒØè³Iü&:JÒVœ'e¼®íÿT€šdŒ¡³æä2Œàk€ 8‘ûMs}ò\ 2Ÿ!lñnÎ5bÎ×yÝ0Œ ! Í<ã´„ÄoùÞ¼§«Ê·“ÑÀ üÕÜ;y×C)óøÑ©Z"Æ!ƒ”9w=Xl³Æ )J€|C^Ð0X&%ö§„ßÚvè®br…¾Ä¤%eÐRƒ#§ûgßTÒîswm-=›ãiÐ3f_}©`”ÖJ¶¨’¹ñ­JV&ÓÓŠÉ—R­‰úº(E5UšÚGJÅ‚‰®=ŠÐCdú‰Nìa\Kµ}‹^,–Xþ˜x§SÀ>:!½ÑÏÖᯎkç6ûùäq™Î>Ùù þô}3‘ ÷`ÙngÆÍ?ަ2Zíò„T‰Ñh¬¢!GXÈì^`ëÇfC ¸-ê9s¾ú_\‰U(èþp·ÛÓ;"PMuȼ³7o¦ô­¢FÎZt°^f:B lñ|¤@¨—5ð t¶ø¦´›nçT˜éæ¡NØVBòç2í¥³ÖuúcM’×ÔfžûA\ƒ¨FÑ„¬Ännðû›µÐƒö3^tS‡BÍ%a `ÝÃ2³¥7+ïÛd*Œ"ÍŽöâW0äÍf;MYY­NèîV’ó>†™UNyNªAÀÜÃQòÊ€Ï.ŠÄo¿!YÇùVèQê—Ç=ÇòçÕÒï º”곊ò9E?Æsº=_‡­Î~Z»LŠ\¾0ëT÷º(¤ ý –ÝH‚¿Üõ³ºÝxëçs87¶Òy¾«Î1¶V!§¯á)'E¨5¡l¿ÉÍ›d|Ü.'çí”Z×;a¼(Üç' °ê=, £é³0ÜHK´§‹tˆFæÔ[„Ôb ±:c±iK1ÙÜ«‹ÏŠ#v‡iÅá«Lh\ÌD<Ñ¡ô—¥àf¦@JTàÊ $š#bHG¶ûü\žõò¸^F3;IèPKBôm¼(GìסE\À9 ã‰ðY(xPôáïC[T’ÇS廪ÄIË«Æu_T{‚ý(%šFµ§ðÔû£Òòç°[݆›{œÕIŽŽ—I5– u’αå"Ç€÷aòOS 2!¿'ÛVë´±óYVí3˜>9»5Åd‡èpŠk”ZlV¬,èÇîÆ0üa¹ÎiAœsüqDúó ºh6­.)©È‰ÇãfjþF!l›`e'2“G¬ñ9}ÀÔ2³fÝmúnÓ»çòì3rW(k¤0üºÛ$72¸¨^ÆÍ9Ä´½®M›·ã~  uÅOv›¡äìÀ%‰Ü¥R‚ÞÓ×üLaSñÂÑG¬ÌŠE¦bVïÍ?‹ ï=7Tò¤b¡÷Ë‹JœÌÏ\ êxœúõy´Nq$3e£ JÎ9öý|"w}: KŠÌ#nî$g±b­Íqbi«¡FsCJ_ˆœLzûøÌì¡J%wû|íHÜ{`°úlrêÊÂW_Üâhù¥'Xic8—«¼ÂãÄ ¢×5xœ&€1“õUC­3ÆÝdiµ>ùÝ„reHk[ž[xÅ÷YÄÊS/0Ë›%\Jt°=¹EåW ×>Éq©eò½kµÛÄÚ“Öçmµ@Óߨg:öÞB^Çk…ÄuŠ@¨*‡/&ìý—øà]E)rìà-@)ÃüC ›¡'¯Ð‘ÅÂ¥ŠÝ¦qè=]ÅôÏq‡ óöï«;jØî>!=pœÀc3FÆ©Å=Q)‡Ru,ö`ш^Dƒ )0°Ãss_öl#œ„0ëZ@–rÑÚ”,ßáÚC{Ú“uJ‘.»1g¸˜HáÃhðÔL¡EiGÓ¦mС&cñÃØgûk‹h> ÈgÊY1×2@û¹?h_ϧ—òC‹ÉËQêP*ø+aM¢C²ækÍ~¯qª‰êæM³0ÑMÆ0“‰šþäp ÒœÏñ@s-¶wº_Ùc㦼#táPçR#Ø•ÛÆL‡àßw¨Ú’[Ü¿;s üµl)În lBL<ó*ås«|fyîðá/nƒ‚¿.+Ñ8:4Im,ßjDmôÈ'hž™¡‚G¾ëèýï^â{[y3hÑŸgœæõ£½¿ý-ºÓ?”R@ìñ]÷qà`ШKú_MÔl£Ùü¥ÒeeF5‰KƯÔ6‚÷þy1ñVZ”*£Åt òc1÷‰J">N"ØLе¦ÎŸé{ƒå[hOŠÇB&ÅÈ¿ÖÓÊç^­Ã'x@údí_s=•¨ïfç êk %*-–Qä!¯BZÖ÷ÿŸ]NÂcù+þ›9ÅäDŒ Tš 0ƵŸ‚A‹N·Éþ¬*±«ïêÌëp]„ ›ãÔjÉ~ ¦OTÑ’\‚ÚÿyÖÐ8þBZ³¹“þÞ ·ÅöŠ®À¬²ÊÜä`¸/¿ßKÃ9.>9ÎÉç­çvnØÃçÉÉl•ÒAbt0$èbKaÀZµ±³ó œc¥ÀmãÇ]‘í©IÈžéÜ j±ÿ^™ÑB©iïÞ/¡»æZN0à±D ùÉêOk€jS(©Ü/I(¤ u#Ò.Ñk–¢P c+âŽË¥hXŽn}öÌA{^JžHÖÌq\ïÉœ‘{¡C-”I™†6 G-|Ï“4ㇸ÷Ðè¢ùÝ<ÊB‹åeò¾NBÄ|„从+¼äìeÁ‰¦¯<À?ºUñÆJ^ÔãiƇÀ"®$¡‹c™Aä$vO4Á‹yØŒˆ*o¨ëž]63D"•̤p^°6µ˜÷5ßÈE˜’mnkôþB—a™Ò:ú²&T|I#+Á)á‹dü­KCYð"a•ƒB9W#\¶†”Ú{LK²h6t˜|@mI´´ö­\Šÿ.‹´0#šÀpòý3¯¶öŒN”_”‰ãHCÈÒïŠTž„víbŒˆìÌ×X ¿ÁD^ßÑ9›}l•«N;R¶µŸ …ð=$¨²NÿI.3Ào×õ‡¤þ  µøZ7wr¶?Ú\·7»?ë%œ^’p9¸™@ê¿›¿¸ôURÔLò¡Ó(_%–sÄïT,Øß; 2«@q©EsUQ— ¿"X’t/äa壑¥»Á…˜ãlÖÀ dí4Âö¡ _XOáðÕ~,ømÒâÖ8ëÇæÙ4‘»¬‰;mIÁžiêÏ%ººmû¾{ÏôôñÍ)lO+fÃAñ"÷ÝŠÎ*W°}­â”Æø3WéïÛ]J‘iËX‹C]å~¼G×Uós:”£np® ã”ÍMV ®7yÆÂ'ƒªãºÎ5¹±øIŒMmÖ›–¨T—ÐUû ÓgÕVï*X+¡µ¤0ŽPi×n(­²ôÁб„ ¯qF,±y€`$¨¶t‘™¹U?ÆæÒ>í~1zÊc=*|»…k츶_ߦtª?A…:Œl#½ÒÒWÔX´§H¨Ú£,)Æöýô öQݱõõ¢€çYîõÿD“%O\—ÜÑC«Z{Ôg5UZ|XD\®¶lÖqÑdÛ‡ÕfhsH§¼E×Þ(Œ e¾aô&Fû‡€êOöÊÃ>#|7ô„ë¨2ëÏû1»  ’m-»o?†¥rºDD >4LÙ¥àhxyèhù`:’Ø£Y¼դ¢ÎÓìî U¾Þ[I`šÞéÕNM#¾gÙwêèÔs¼€¶×g‚ôDYßÑAˆ–Pów §ë=ÇÓ<§O÷i±A›° Zc¸J\19ì"bäÍà/ ˆ÷pvÊ˯ÝÍA8ðܘ7<œÂ½t-U {?ò‹ê‚ÛçB‡t&VÕ1빦Þ\owÎ;ð17m¾º†jN‚|ƒ}a†–Ÿ¿œº²ÁîµØ¢©yÆaóê,MJ*­ž@[ª«0¹¼EÌâã œ ½^÷WÊt'>©QW\^ÁÍb‚^ƒçäzD!dBÅ á·~%†*vº PTĵBƒÔFr ºhˆ RÃŽãß»rfÃÃÊŽc«o Ûð íˆåd‰Ó7öŸù×ÇÒ¿Åigû®4µU ì¦PÓ¿¿ÝuŒ[ôÖ¯c¬tßÙ(ù† ‘ýŸ ‘;,~k°‘LÅ;íæÞ¬°@¯nV $FÇTz@˜6a`tðRÞDF•xIøÍ¨Àgú¬ä ã#_hœ?£qsÑÁèךýx:Q]ªtoȈøÕ ÄDJŠÕÒó®Wj“.`µ¢ãB·õ^qïò¨xúSÜñËãÝÊ0ƒ¨W礞ÆàHÚ4 ~¹á¨Æb¶jI¾ÚŽuŽ«ŠtÀÅÍîúÚ‚äjËøÌ«J½Î:dêE°PÀÓ¢?;‡´Ü!áà03ì¡j_'kß+•zv0÷»[-°9»/­ò`nìè)”`s6ÚÞõW™%±õ]Ï&Y ‘”ÑG–Û,W7·7'jäêO:¸‰Õ,ÎyËoÙíVÓbªãÚÉc=9DíÍË¢YSÎ$lüŒuÂò>ÕcedÝzÖŒù1Âå§L˜MÅ&Çôí‹×¸çQT±¨2o³Ó‚ 31Ó*Š«)‰b³2äZ(Kµ(»Ìæk oª[*lj˜Ä¯Y3ÎqOÅQÃÎÿ€opóòfè­PQÖÞ@µœ˜-€ä[™9ö`öW©Ðà.v ©!ùÍ,휵#ï³<®´,`òqèB©ºj“Q¨(W îßÇÐâÔÃ`i^˜tz¦Ømêdà!)G}†’Ž †^‘wY¦ "²ù†ã¯æTFV§9<ɶâµaÙ¨@m2FC ÃÈÁÙm>ËR1q Yói ÍUJ´PÓ* R ¶åä¸õyµ"m&yÔÝѲDn'hiˆïuþ÷ížÕÑë®R¥ÝVµfOâ:¾/&¬R\3-Ä÷•œ½:Q²œ£c[ ºë)É "ÎÙè-<uqý,eOï·±åc*“$Œ–nû&i ‚òj¹÷ TÏ&I`Çí="ËjñJ™:‚‡}h„¯÷0WâºÒv‚,LÈŠ=¬ÆÚŸà  6Ù58sû³Át©,ʤ7I™å´s«¹ÕD4ýÚ <í¡o¨-Ó̈ŠG4°ß”Y`\|{@’‘ÛM¤žb“¹?꫃ê˜äàÄË–ªÅŠà²Õ=GÅkýCŒc6þs¡ÊÊUW¡#eâGöé·Çêc渎ÚÜ)âØûŠóïÀ64aº²g×óqѨʭ¤Ê²éǤôJxkôߟB£ã·ž¶kÍÂä®ôäVR;ø^(}{•hÐõ^X˜Ž¸þ“¬üú-7ëÅÄ¡âDN^‚÷^Þ]PO:Kž à¨kAã$f ]Y³Â”žÖ€FFnÈ;Úá &ñ;S"ôvîÐð”P„$_8 ý–;%FÜ«Le™Mצ&ºN»3¹1™z¹[ã¥n*™~ðNå&AD 6µéöø¤>!DÒ>SÐu·©à†`ÕryÚ„1>Ú{ªŠýÝù÷Y¼J2\õ¯¨tmä_.Êö¯Øé:quQç÷䇥½qŠ6ÊRzŠóHÞJë’•oE-âñ½±É&²Ë¯¯ü½æŠ÷Eéü{*‚{T“œ§Ì½•+sj–øù.¡ÇMšˆKƒÂTõ›2Ê:|rÇÛ LgÍþ«ú" ¸åÍ¿ÿÔû½N¢Áã!)òP´ˆJà,yO¦ëñƒúÞÃ{ë«›‡B|bâ);£ñ~‡Ã©œºâ•fôIâÙ¿EÛ#n׿0½—‰‘ĪŸwAë¶JÒxR¨rˆzÓ"—ü¢‹º°^ðŒ>¿2Q‚&‘tò­•"À¨<=!åÛÂWôQþgÌå3ÅJÁš¥^«‰WJ{t(çÕ·uÉÿéB%%¨ÌœÓA¢ “xÉ!Õí -ò]ßö‡€V*O[ñga±Fòx ¢=‚jðýü‹A„dEÖ¤ëAç¯fˆ4;ÊNS©La~j …ö•Í×ó¦˜Ó±’–Þ¯xi{l–ˆö’‘^fYnH tÍ6½3@b½ô*”˜ ¥„$ê_GdžЩ±5Té–òÄ@þ«mË…™ƒ"è×Lñ¸&Ãkl<ŒÀN©?Åö*km©Ø•Z¶[ °{®=¾§u¡Õ‘”KsÊc}&×:‡@F«_Íý%žØuøÉ#“âE”ÊâKFØI?ß—œÃ‡UM‚: cMiÝ—ú{4êÏÝe n¤Ø¡ôÑ:½ ñ éX¡³^ be£>G³¢&ÁÕK fëjÆù&÷ßP7ªÊ~³Qé°  EWÂþñ²–¡6Å_ΞÞë_í?iédƒÓÇ Á,È d¡´½†÷VÄáðÍÀegx˜Ëš’ÑÌö'ëj¢>8\YSóÊ-vwÀjJ pp*IûUSìö4º] ÕçÎ¥:14þÔÁ…0xÛâÕ”÷ab¤-ã eGRsG'ÿÕÜÌô’L¨…0Ñ¡–©Ìj¯™Ì¶‡ò¯Ø¢ávh_Ÿù&~+s[nW¨ñÝ×Hi.bÍÏþS42Ø7d)¿Ž'•4ŒZ§H0‰òò̘àRÑ&ò€%æ÷à®Qb¸sN;º^bµì\P¹{o+Ñ¿Úçþ5O A4ï\⎄©Žç.åí´0Ñš§ð%/0âs¶B)1rˆø$øÜ æ;±xÖpHZ,jo†‰1;€9fÛ»´×ÿ×ÙÃÎ2lÈy&ã‰ööóâFê?it‚ñLÖØ¡P+³ònâ. ój*´žÚ}C‰ºœà<Ï‚È(º‘ ,´nxYÞ„ÓÖÞ–"f<ÇK.Ñ.ëD0Š(írÚ‚sŸ¶‚¶s߬í%”ÓvÖàž€µT®\"•wô(€¼ÌîüC›`<’¾•«Žæ ñiíÆð Ò ôemÞm r‚ [¢ì1æ3ä1íêÖ7u¢‘4jª|ž!tçíéj‚&‘r`Ýùô‚`V·lÀp‹ŒWÅ`Zk×õ~šµv•¡ä…ÜœpÚüª~V‹dë£3*ç _a-‘ø ðÝýgÑTÖôtF–— +VwsЯ¯€¼sÊñ\ÝCW( 5ˆÙ‚áºvO‹2„s‘,ÐfÖ¯nÚ˜¡¶—J+éO9ú _`·YÞøî}ú5ä£8ŒÜ¬0÷WœÇ?… ªpÿ[ I/ÑÌú5j­k†@nívnÙî·#,`›7~¥Í›lËw¿®V@¦uol &âÇ'q‹ßà”’¼oB^ú”6ž:S!õqgS å®Sß‹ui—^%OÄHYÍ…èYNFQ•ELo!”ÅÉ®/&ñý¢î¾R†Ð®)rõŒuþòšFùÕÒ1sjøÆ!zÖ;Iª,¼H ¿“ê bÓå9@ïW¿ô5Õ}ä>0ABå­1Ñ B7™Écf0²™« u#wàu9«n`oõ\ÓØçÖbA[('•¢I¦u °…šñ¶X›Â`-â[þûÀãS“°ÔÇÆ'̇~ŽwØ$¿p/x$¦³ªº?Hè±ä¨@ÏgDÒf^ò”¹k»ï’š>›ËPDã«k–{1¹Ñ­ü‹ñu,Ø U xÞšKì Í®fÐ{{M°ÿÚûŠÔWËÿÊ\yH­?„b.M<ÏŒoä¦ÁUì`Ì%lÙ OÔâÍÕj©öJ¾©—óå6ƒäCf0Ýœóº¯\u ½dæÍêšõæ;0á-—^eñå8ˆ²±WpbOR# Š8æh„ø?‡çŸï@´QýAJs=ñl^rߨ"Æ<×\(¨¡û)Õ5™–ÑÔÁgÏæÊQ ¯À|Ô˜qÓŠ®®ÔÕ‚óí’¦wI#ÀøWÕຌ|xdÛ¹:“ZœeÓÉ[Ô%źåwøòeÎÜÊö½?Ê ³ðþ{oofVÅ`Þ×ZÂæ—YœûùE޼Ï_kv<#à÷ÒGˆå„„ÃNt< ¯—ƒHdóË–uQ™¡¶´Å7loÜjºb”¢åYj'ò‰•Ð*$c:qÐÞqÐmÍðÁЕ)Öú/0j–Þ¡ôÐõ’´á(í 9{8*úW œñ+€´Q†ÍŒÐ/£ä‡ä¼b;Ó"B'›ßu©æS“ì­±\ÅTég×f!Ã`ß©0naºÓ þ¤·>Çüù¥ÿóbô¼¶$6¼<ÞÒyç0KÍ ÖA›êêCåcãí–ñ?Ó5$Çëð7©ìœPCŽ™yªÏÅ…£ °Vn?Ë™Xû q¡7ø¨6¶|¹-[ö$®¸8'ã1ê›_æiò̸¹í7‰äÔi Í÷ËǪ&ÚF¤ÛÅ­¨[}—o¾„qÜ 2–u@'H—û 8p÷ø«jPظþ+/ ÚcÙšôü„Žï”¾2Í0KqÌÉ/О*ìrïTÄûÉ“üÎØ«)d›h ¼ˆUç5€e0Jü_º–cLï§ä$ß,WP3FjB Ýìõ‰ÇÈpîd3yו­!‡*åÖÏ‚Ï&,Hh]…¤{êõ.5EÞ²fø«AWúÔJ_ËŒšÙ—È[o!STžÀP[uõÔx_÷Þ§ Ú­?0ccÑÇÆç¢ä³àG™ÓVË6ÒÖPÉ1!Éãœ2Æso"ÖÄ1/ÎŽóvôÄ Ï˜éw€¸UñÛdñòQx‘’;ˆføû¯¼íˆÕä>%qÃ/†þÙÉD]û]ÝÑ¢–éç󳫪Ü´!èÍO€D=<è´Ë;†õrM÷«;aîdûcþVÙoa„¶ä}?W5ßïh üW{èœvHnÂZü™ã¥Í5V;`ñêiëoKXqá»é Aíÿ* Ç j¶Öy@¹Ú¾š„ê: uòþ•¢Ã#¢¾õ j/æK+Z‹3ÿ•¨?_ %Í®PËEÝÂ0$7þë6 ÑcÍžû@ÌŽ31Rd˜Q³"—hD‹)_6­^á¹²+²‚|O¸§Ë¿äL?©uÍGV=ÙgyÙ6 µÊ‘}[§×1«ÚjU OC>ƒÎ¸~Ž™››’g*OFfü(UŒ’-×רÐMQiÕé(Ÿ<ÇÝ~|LöLë„sŸÏ} N —¸ð[<ÛÓ„±ñk9ÜÿòÕø¨Tï ª-`ù•‰,ôm1ëÚØ £Œ?¦¼Ç´…^‰lE¤Tã¡5 ({;lPPDÁEø ùÄø¯tC‹{ ÐïÊ~â߯…QÅ)Ý™S5-ü€hH±7ö‚ Yx¿.e ¾É'Àê9労/Ö²„”>Á€cš—Ž>*¼"aÁÜ1ŽYßö;†'J¨ýoTR¦-EnAçåáâ®kUr0&ЮT‹[TvÕS¦²°â'þ2B©.Å‚vߤoæïѦ5)§%VÝqòÃE„Ë,HW4~9ðûX²v¶ˆU¬IHh,Ñ,&§ä‹ÏÙë"+ˆxxžx“B‘½è ? 7;` 1ñh>Õ¬k“@~âS²èØGW¹xTfwÅÜd¸Â¨dÏmXåCcà ùÊÙwQÆ ùÖÛíaÛ5öh*:àÙ¦FßäîΕ ªø–‹Â¨›8»¤+ühø×é~¥ŸšocE'é±Ô'g,m7íÔ{Óƒ¤ñð]Ç›À”0ênW_!<%zŠ2ÑÏÃ_쥡÷ø JrrMâî  )‹Ýõ'’2ÏUÌ/uXåe‡„Âx{5,gû ŠH ÿ—‹å5Wb”ý¹ô<×ÛA™ Ù’ÛÒ\}Y6ŽLÒn•Gá[¶úŸÒø"#›!¼úûã½…qÄN9q]z_ØK¢+îyxîÂêi¸Úr:‚®ûzàwY¿P\Ó¸~¡¨PÀu,á ÏšÊ’²ªóîÅ3Ñv€Cƒ?dÄÓNYª,ú?÷~! þÀs,X´ŽŒÝf¸†g–º[gUØ’Áˆk›–ô[f•¼<ÖëÃ:œR˜´õÈ%ž–¬9`1hüýŒ!`R¬ˆúœÍ–ÞÏø©÷¶æ)ƒ#±FÔèµ#ʰhã% Ô¡ÞAxÛÕc~Q,§Æ®”‹›»Ñ­› ®rƒæBJY’Ö†Ôp[¬Œ—L,d¢’îl< Å–5Œe™Æ`ÃŇ¢Q^$Ÿ-¢:=òÚKgyhñ…q-^˜²ÍÆi~bDÐ…ÀjžyÁwnZ[túÔ ‘šG'ƒgÞîÈà]Cx£i¯wÄëÀ¾„<8Ó{Qϯ/sHºÄ…6gZùº§ÌÚE4?ƒzC š„í OÇ„°›:>FÎBíhO°$$H`þÛ!5þͪ(ãħ_’õ|&˜n-4~á²çgC&Êkêø†IaO"jh JºSb÷> ¹!ÙøÖrNû…:O‰ÅalVa™R º¿³.'gÈ Ï9<ÜŒtY‘ñd/Ï{¸kJ² }g‰ºe9Æ sàgI>á¿ÆìöŒ-ß¿j&æÇ/Hhr–Rµ˜‡#8™|‡õ3E›M¨ÇñÆ~ fѬmXŒƒð„³ëŠvGQFZ¼òѪ ÄóêPu f%ŽÇÙªó¡íf…FS^h»Á"¦²1y¬üqUp¨­7éåL>Jëän¿:t%gPÛYÂ23߭䜷7FÝþe’²™)œÎã…·ÑçÌQê,¢³])qwÒ¤ 䆇zÙÁ}¼úJÑøk…­„xÓAŒ"Sƒ«H$TÎ\ËÒ;‹p¸Iô_ö}?BìKó3ÈÍtÈf¡Î¥^¥CÖ`²›tÁý}–f|É5‹˜P˜q¬ª¥±k‹€>®Gý¥p¸Ëp‚ð§ì—ä\ר%ÛG“Øhö%œAÑFSªE¹¿îEÙÙ:¼ä¥;…ýnúÐÞàL2‰®¾øØC-ûÄ{.ú,„ؽ=ë4ÚXñX=œâô9víÁRÈÍóÆ÷)÷wqæ¦PM¹“¤:Ã’¥ð’7½¯ª˜W™VÑA€´d¿<ÚÇÚ¯ÀŠO•‹`å&znFP¿æbŸ÷©µ2°óPxÛ>E&yc/€í‘):j´ +8À˜ÃBPð{‘g•o?îäî/)¦®¹ç±Çšz_¤—^¸ ޵œk€WqB¡ÆæHþ`Rbù¤]:~(„?8ý¿Út—“ÓùÉW‡: ‰g3qW¥ä¨Ú—Ê¡  cË…\éhÑ'éë Â@;RÇswJ$üBn­Ÿ'ոɨ`Kk¤Açz ¤G‘lD°Ë÷³.ȱKv¸i} mCó(.Woä¼úöŒkk‹Ž7 J[u£Z«ôþΣp›¶hB)´H×l+J¦êgœ4ˆŽ2uô­Ñ «*\ž? ÙT¿)ë¶{\æÉ7໓ .ù 3{*_¹Ý à¯Ýl?1!1ÿî>3<Ü*)ÿx9-ŒNpEV1aþl/0„eŠ¥©ÄAWÄ5´†¹h\ÏÛ»ÓPUûÒEÒÄZ×*N]j˜»¦¶ÁÚÊÎR8ô9,‡@Øx*áé/]ôeõÎ"b8z † 7<Íû -„câ$Lï…à¦C÷,kl“.©/b z@Š{i°!K7†•Áñ"ÿÌš|ÈÑÑùH¨0/ÝQ„Ü2ëI–Â6wfd¶´E9Ã²ÌÆ¶W—ÍÈ ÌN ê@z77Ì—¿­ ¶Æòu5üNQâ}hB«MCXccjB2_íü”¾Ë‘¡,‚*bèMdU° V> ÌÑ£MÂ? „zEqfÎÖã|õo¸hµÜX»V®Mîa›ClúEùÚ¢Îre‹/3SÁ”#;€–Ôéð/=Žš2›ï‰ºjPäiB\f* ê´%«sâ¸l•”<ÇØO„_£ðwâ¼ê/Dô,’ œ×IvÌÿ+½¤`x>!>¥)ëÆ»q›é7§S%ºÌÞ2Ep8éÖÛÙ+Y¿×Œ¶*P‘'0íwáÒŸì?8õNDð+T0&`ЮüW!EybÒÒ@Táün*`c(•j–læÙ4ÈeDÒ¯2~°ãc4!:ï ©©8ÿ±‘u8C/ú]÷QÐCn‘)É×¥ø&ò.j½p¸/aÝå³»B›N–Btî[ÔxÏ üèÝá ˜ƒù¦S lRYq ¯H’Î\ÑÝÔÂî9bn¤¦ê/‚aÄëY÷G"†Õ¡}Ô0w#)„­ |Ï:ãpðúj;æž<Ìgஆk5ŽÊ XÈs'h¶Yó4”ò‘Ë¡u(ò¾š¡oÆaêVg8Zz…ê´$ kåJ˜šJ±(‰º<M…ÞȦ”š •²… 9§Csír·tžñ|¸†o°Ô…£j€H¸Ÿo"‡…ÒÆøyÉü¡à=`òs)ÕBG“ÞÆ™™ŽuAåësŽ;8<*'ñŸæG.1&ÑÄ=*F†u=hƒk×GNŠ‰í— “–`ó‚$Ô§µÙvUO&0KcKZÑ7ññõ+â“þ4Öz‹ÐW¥Äz@h®µ× ©öb{-›Å&t³…æ87Ô„¥ÿqþò'÷ëƒMå’í„è±÷O5ý7t¥a¼õßÚÊ¥3©ƒMœý7©­E¨_Óó–öXöè^–~â§»OÊ Ëþ²ª'{VR€_+©(¨Óâ1sì-Lºé£ÅÝô<\)Cß3Eî¸KO´ Fí·F¢ßŒœ ([ŠÌXx›(Ûæx…5Dÿ0 ¦(RI‘@mÔúãGzMÁŒwüÏ@C‚Åœ½lÖæÏva¼ñ™ªþõQNÝ=xj¡ì¡û.+T qÓ¢wzׯ¢e„æ;Óq–õ“çÍΠÃD··ïO×þ©ø€¢<à<Ó„¨zøä…„™Üã>‰¿®×žûC®`r—ÈžœŽ¨0Šðm@ à »Âž{”Ùc€ÛÓÉ•5µ ¯²®Ü?˜7>eK©Å´¡…¤/¦M]îGTƒäÔŸ[U‘9^‰)ÏÊù9Kuút =‘̲„H¥Wº÷›BK†3¯XÉ­–Zûò•7 ¦R ¤x‚õ䬧Þmô˜ò£M ³ ÿ?Þ¼)ûw©÷kGjõ]ÛÈ;€ÛG}SöXùM¦w\ ½Pø•Ö£ÐjLKú’óôZpÏ‹ßÖ²‹Ö«þH|èÇÆE 4“ô‹¥LYþžóX¶ÁùÊ›f±9NŸuº[û©›égöù) \ŽØ;X§Ô¡_6kWoNÉ`pMo:þ»–RùMõ;IDð-àðqM¥| ‹Ò\y´í–õ¼síEúDø2–œ$ïÈz®¢Ë;fhÀ2BJâ%}quƒ#2æw’uyaÿ‘B®%#£Dÿ¸/Ò3Wz´,ÕÑá°Ù@õ‘7ÐT¼“¦L0ò:Ÿ<·}0àmò'§M±€ªUå‚/&³•^ÃÅ%ý>oýBÕN?(}sz¡›€¢åÚ¤º”†!Óœ xÄNôzíÿÈ­ÑNu ¦/ÌUÙü¬58”½,h!]e=ûœ[Øo*A_ý0KwÆ ŠdàŸž£ ÏytÅ7×hŒÛâ(q4j50¸®#¹^KÔ£ÇÕôÈU:–»-2=ÝŸ6Ç:»??ƒQÓYA³Ãl¼Ÿ4\sJ¹¾Ó¡•›b¶þ75ôk,Œ„ zÿó6áRtÚ­+LxÃ,âi¯ò!e~ØÙË í·—¤ã° †®âï³LC,'P¤çÇ ‹¨ó'½zF&»£¶P¬m»Îbó\\×ø?_~¡áM¿ÖRÙZF(ý…F§¨´ÿìÑâIð}l|(÷»|²ŠUìoWÊ{7©LÏ›Ì{%x.rØ /ËQÁ¡ZK[÷a±ä\eXNXÕlÉ[kV­Ðij2ég\löÔhq`@¶[¾ší–ÜKK‘„aA‡¤×Õ¦÷~–ОÍhwqý c# ÀMÑ÷Eƒ^>uI2ø³·Ø×Ž'ÁÓ÷WXœãrDY2#”ÔŸ‡"u4_´dËð¦Ï1ueˆx¶ëj3¦œ õ5-.!¶6•ùÊ æ¢«AŸäj¬)ÿ7Å‹ßJR’ùo\ÍH^µã«  ¬ëŸrÏVÂù»pØi’­f‰sÿ~ǘHÑfD<5¾—{Ä×iVwªYØ9ã‚øeØÛ&ÿ,6ölÛë¹­°ÖµÿuŠFüÚÔñÆáj Â²$æ.¿¦Žp‡Â9Êô¦Ë¶®Ü¼?-"s’-éú³.‘´¡Hsq˜:v¼¹mŒ-¤çÉGQÞ¶ÔgÄAݲ¨4…­è©LPíåŒ0ª±‘=*Aƒ‰4†‰LÙªPHBÒà7/Ãá(·4§G«…4x«¸9s¯šQ; ³ ^6žà@LƒÕ­a ˜[¢—k'a`51œS\26?=ßsMâ,Ë(÷üÊ.èx$pÒå™3"}õÛ×ËD9à÷-\Þ só¼a,òÅ/£v ÖÚhÁ£Ÿ5÷0©‘Ùtð íRôY¿uüu¼Kw êD$xfßF\KM¾R,G¢ì¹­ô·ÌýôA:å«¢nW~’à‰“+è¢îø5w±W*˜`]Ϩ?8|C_rsërë Ò]~^zcžÝtïKiÎÂmôz¥ƒ¦+—D¥ÁU¬Û¿Pé»ÜÔ8(0EWðÁÀóó@X!˜Sþ<;°³)®r`ÓÂ!»~+wÏü’C·mü<±'ënä6èim'ÑFÒðF±­(Ib¥úMÕ˜pÖ\Ëkñ5EiPïñ‚õF4?)7ʬáìÿÛÿ|æú¢›Dš;0ÅŠÑðôDäÛgþ¼Di{‚|ÂD-¢Sl_(åbñ†2Ì Óëì*©f&ׄhyEîQ•;_ö<<\N&ƒ /¥/à9òÞ×>"Vë ¤o„jº 7@¨f­ž Þ…µob騀ú@Ž” ÌÏ»À—UõŽŽƒg©ßÊJæ7TŲOÓ5^gþ,§Zå@Âp~•Ò^¼Ôm£]ñ UÄ¥@s1]ñܨ¹ßcBúÏ£}ñi%×ùPåÖ÷^JÆì¶ÓtDa¸ÀqGüli—½03³Cd’‰Ã«¿Ê@˜r6á8N7Ì6¿Ÿ«….÷;ú¾Û''g2¯ŠZì’]Ó7î“©´>ôŸ×Õgv´*ä÷ÍÛupÒ 3ìC}Þñ§øtxÁ:QÝÃË"ÅÔtŒþµ§y6TÂÞ=’¯Þ Í|É©.ÃCä³”8P·ˆüÎ(1Ï@Õïb#-xr?RZt”%¶’>IXœˆË_EÅáì.êHR*٢ˤ-H}³þé×ëÔ_’ò¯¥sÙÉâ0Çõß&Á1fYÜÎÀX×Tãóf«7ÆNÕH|mG½i…a)6g»î^]Bå óKð"@ŒY2-êp”¯O¯]W)à"C#d-9‹Ý)’”„÷ÎÛ+½6±ç©†3ž9Bv`—#h’˜SJÈF'Ó@ÔùpxÛ³ÿQú gÊ­“hÊÖèÜòÆ.± Àwò¥–¦­ÒW2”°¢æ}yÔ¥ƒt\p¿ƒ vãmü:ßÔ%…1Ót½—²¤¸MÔ®¸/UÚHÅœ}I1ñb’pÙËŠ¯e¨ôm€ë[«Ë.ØQíºPû>ÅS“– —ú,aø gæä¤Ï’çÁƒ&]°£ö ÀšbyØyrèëþ±ëQòå-ý…ºáÓåÝ«/—ºvgl7îr$,ÎÎbÞ+T8#ÊWò«¡]éZR­ø§À°áè…нb5¼ÚõðöÖ£`3HKqƒqsó‡e¯=Ï ’-ë+„mÔŒÑ1¡ÌäŠEéç·•o÷$1=ð”Æeó`Yó}#‹18³þoö¢êÅ ·Œ·n0ÏòF™oX¶-‰ õß1vCäŒ}ù&$.;eÚÀL\V)°˜+2‡o†å•G+ÂÎÎHºr™ˆ"“ëzaIëì(enÜT ôÒ–@T¶µÕ¢š¡‹tIK®eäC$ƒåT/€3›©‘cìχ; 䲈©  FP)CÁÞ÷íÏÂKâ±&ÙI×MÜ9)ié,på¾Ù_4*!þXIk=ÁÍDôcÀõ Âó˜?ªî÷Á›Ã1@¢#Z venªaþiûåÐ ®0) ñ™\æ‹Ê3:®FJ%5¼üúJ«'¨ðÇ¡·ZÌa㦥ôìñL.€ÓÉQb‘-L ‰Ü™râägÄЬHƒ¡ZùÞ¿qA3j‹#LCK(t04tªé[û+çšÝÉÓ?|úIµ¢N½‚ ¬-à5oÕ&bÙèKã‡ÁCMSçÐVh.º¼|EÂ)¦4“·¾¸Ï³e°-z^⇺¹ŸÌÕ6沌[M,Ã~/Áè¹çÖÊ[dIÅñ‹ W’>äárüC`¢[ë{)•Ñm›>Ušx×AMîYWbesCnê”@™Ùî™XpCpw ¦Ç §ñãËM!õîæë aµoÀz«ü]/ˆê˜ ¹Š°U6†Ì¯êûo’ç¥ Xa¡éÌEZ…Ó†âÈ!v œ8ЭP)'¡Êsð©1‡/yq<<™®ž×X>Ûe‚s)Y}ª˜ê5åOþE «báÎjOþ?`Á­Åð¤¾ÇJﯔ£oAS†Æ¯í`'|VP8²þ(RàÖúPÁŒdKŠßå¤Ù#ó8GG˜ú¬Wp’Š¥@Vö¹Õ=.·1¦›÷{ÇŸ}þdk–ÁÍA">ƒn½áÅÃ’£’‡¿Ý~îyìÿîÓØ³a îló¸~·AÞ}¡ŠrA2,µÇ;7:Šw%M7·èk$,œæÜ‰ “øðëë’F ØJ)?™2˜0òm=£È›6ØFä~|CR—§ª"hÒl^cIÁ=m¥²ŠÔÉ HT¡%ò—7±å)°ˆ=Ü> WÙh™ô‡ÙSCËzy$";á“¥ÐOÎ)¿IaDÒù \öÃ;'œ¦íÅÜ;+Ùºtv¬V.¸c‘D¢ûAre$õ¢ai„´ºïëp¬;/œ¬,ºËÌm M§Õ¦¦åÉv  ëñv#»Ì+mÙ¨p¬t³Ž¸)iQ)™ÊNs!!ÓJù]/jæŠÄ$𱟳C*µ1Í"[<‚Ä›÷­'y±æÊ,.¢üÀå‚«;œç;¦ézßZ7s•ªi4‹øÛmpÃÞ D’WÅHÿÜ¿)ô+÷âT1ùçy“0à÷ob©š,meÓ›×;¹jNÏ×bQÉ$Õ*˜]äüE¢gØn[@>r5SÉLÛéå,§Š‚ž>$šêV²˜9E¼jg²Ž%‚Òüv‹Qä9Riø…J¾ï*¶…jIkäbÓêVé ÝB‰2ä†Õ®é¼Í‘ƒá¥ÀÎ!ÅT6ÆœKmê_‹_ÀèuÊðJݿ㦈%}½×ºÄ}ƒ%*Ú=Þ?÷ÿ\× ÊÞ—÷ðä9_¬?Z‰üËR†Â5[B<`èÉÀÑVlƎΤ´€[ÛóÜ Dfë›Ó4»[gʾ†hZ÷ˆ08[öÏhýÔX€=–ùAF_9:UäMÕ:ÝÛÚ&/ª/Þ³‚£j©³,–a¥ !c täÃø2ôÚiòb²Ôýï{µýlÌarŒÍ7&¯Šír_…TÿH7÷ øÅBþj‡OF©¥@gf¸+°¦ s·1S{A'wû±ŸŸ<š¹ÓùŸŒ¾+ËÍ‚­7œêpu"mc¡ò¾ƒg )L’ :‘ßAd‡a3ó›~1ó7p èίy¯üÐâ|”M Ó‡†)4N:4gpl鑞 [„ü]ñ*Ì8˜ˆ T¬D=\Ûù4Æ{Ä—Ržì•§aŒÛ§Ò03¦~ÎÍhåÿnî¤׃©n…I0Pªê‡[r´Œ…¤eOÿ„H» sämdò«ƒ¶Ï…¾e/Œ>þ×ÛÃ4Å=zöSF‹¹üÒ-|Ü{ 6æó‡éÜ-¼µ½&%Ƴ‘Fú¸)Hkñ(EO±Ccà qJòàN_ˬ¸T®ÉÿŒ]©7ÕM—_çÅæhKÇzŽ7ªàÜåï³dZ$g~?§ñvמs-çD/`tén¨smZi›H67Íõ€oØoœWB¦`拾È‹,Á¢O+³%c÷LC$¥(‘|Pó‡©Ú `™(ãÒUôô f WÄÂI:Ô¤Ÿé;ðkëlFtºR  $4CÕ1&3Ô\¸1Ëš—SgŸûÑT¦oEŸø.l™wJ:–»”ßçùþ”ã"³Í7Às\w¥¸3µ^¾díM+ý¨­75—UpÕZ¸?ï'#Íñ8YlèÞºƼàKUßmG*ИÞÅ…Ë_äW½‡Š\@4¨K“Ç=ˆ§§?µ´÷±ËG΂‚»Ç`nŒ{Þ¬Õ™¯Rµ›Y`(êžN6ƒ5ýzT“XE9- ôǧŇ uX+#Ó’EtÓÌyT7ì¶&5z/V#VšXw÷l¾«¤,ò{lòâû1ÅZ?TÒÅÐ'°%DîÚ+–Í=u#ê :®@ü…Ÿ|˜ÃˆÚ²1ª´g^h|ÖgR!_ Ųi TÑáNE.9ãc‡…¹£»›…/~7‡ÚC[jvyLƒ¯¨ò|G²›ë¢žC¥èà Û/lá¶O¹HœFЕÑQ¹ËZšBÛd‡,Å«º‚Bì›PE¯ÎŒÂøj‚x³›¬ž˜›1'憖ç^§’ãá?îç¤Îm7ÒÚmŠ4åþÙ4B:f²'æ-䔊ڵ[°æ1"€{´-LjÄbEöøß £ 9€0½·DrOü¿z†©F†‚sQYÄUÇ®2úJìXQà@%MLmÝbïni]F>›5“'å³ð¶ÔÖ»¥î`žo¡B¡Û˜„{ª™ ýÎ'™_Í{ørÚÝþˆ$«‰Ñ.@‡AktáQËi( 쨄HàeNoð4#†X%\H¿Ûf |¤ûUdE7³íI“תÀ=°“óR[z4êî䯂Z5•Âî|ž£ÍmæqCQ{£$! q0gø1ñº­)bíN ¬½¹¾Ÿª-./ŒÜÍ–©;V(]_°m9žÜŸåZJòÜ;šÖ#‰åÉ`CƒÈ­&¬’X:ˆ|^—$V|ÿa0ÚÚ<³ˆfåÇÊc"sÅ ¸¹ùV«9‡—_Ü$Ä{½>Úºí¾œHEÙÏÛª Â ë§c„#+ýL›‡ü|c6?=²NýãÀÛ:Cž¼Š“uÎoü\ƒ}¦iD|BÐÛZ;p·H¡_¤üùŒé€+ð4H1üp¯»÷ÏeÉÁd#Áåc_(Ýf¹=5°ö•«ŠFZ°£—¤8™_I°äžži=ü}[ã¥EÂ¥(‘FÊ[œ®*M]ä ÐOUÙ~ó~e,Q·ä·Í#Zn¦¤ö4 ;ß.-³“øóÆÛ…±ˆM‰›¯.@ *Møª†;¶ºI±A „[/·1…êNýF éŠ&€ÄŒ6žs¾¶*Õ¨¤½VzôP…Ú”ÑÇ…¨·\²CUfz;}ŠƒÇï´'ç ÉZ t÷_ŒOŒµ§7} xûç|"¾Æ…þˆ8¯{ÑGù¨‡6Y¹ó‘Ra¢mÆå«œrÚ‰×Þ[IOSÂý‹¥aþwR¿{zú–?eÆŠÇ­Zl„‘Ï 7^ý!ŒUÛã#$|v‡,ç±û1%¶\ãÎFÈ1n<3ŽòĨ–‚÷®³“ª²„5)àÝr`J€3º®¬¼ 'qЮúSÞÚ] ?ÙÇ6õb†/ ÿµCü°ö èNKÛ_>Dâó®ˆ:¹ ÷mŒÓ«8ñÀËy=<û%¿ÍÚž^œ-œYˆjç#ØHoïò_´ÅXªrƒÛõ^¾Yê…u×Í…#P‚ƒ6³4÷`‚Ãgm×ÉÇæêÄd0¯´$ìʌʼnZÝ U€îEæcTØ‘J¸2Ú®:ÿjPd­KT‰î¤¦'¦²„3ÂX Èî9ã,÷’\ðjŸW5BjõÍ*Æn ¡…ûÕXÊ?u¿ô4ç«Ûz4ͼ¥y§HÊú€õjÐD=îâ‡ÿQK·kRAhD ¯‹©k´Î¤š¹i÷Ež{GÒ†ÖІ]ü°{i>œ]Æ8màÝ®‰Êó<ÀÕã¡04Ùë#Ë-oÓÉŒjÄ:Sὦ¯j ¿ „—W˜ù–[¨…Zð”žgd©IsÜÒÜKÃq\ýAH„0ìWo·ª®²²ŠHýù#,9wÕg€]z¡«,’Lë_еQGoþ„ú÷Jd=§s, ÕËÀ™Tß9&ÕøÆ[½Õš=N¯Cï[ÿfÑÆ{bÑ­Šûö ‰×xé2Ý(ÇG€‹ÕË[‚2Üá0bæ¾ý^É-å}¾`ý në pƒë†è÷y$Løžõü ÿ:q̯;šˆ˜%–¶©…YM‚.gl„¾fÈ5ß­ÕÇÏÈŸ1mN1½3(yø\œ×J—ôÌ!„ÇI 6êÒ £‘WÇ{Ç& 0¥³˜ÔÖÑÎÎ ^ßÍÿÎ&æÜ…ɨbr¹Uô@®3£Nûp|‡^Ò‚VÞg enóËûö6Ku%Ÿ®.L‘\UaI™£yå廼ARSeá-|o4œî¸%ÿM$rcé¹·ÖJÌwfæQÖçÚTTe2«GMtµ7ä ÉcjN—J(5ùÉÛeùÓd›†VrdXäKܵT6¨õÃ6WýRçY¬`W.·\ÃÏú‹;S‘› ÷·î³”ŽŠéã‰Ëò¹ŠC =©XM|§8æz“¿.µÉÊ.´_‹ŸÈ›ß¹¯û“%“Ç®,ä¶69ZØÂÉ2çÙ®à*¾@  Ÿi ª³Å…¿uU´ØL·«Ô° ö-ž¯ôüÖ:„®ìЧŠ“ÃÛˆR=iaG|øùk4•¹j^RίµÏ|®˜1ùˆ4ZE]ν‹«ˆ²dÞ)¡\Q¼‰Û `ön:žÄ~!–L…Ã=ˆ‚·ƒó@ÏS!õƒô´¡ §–à)Ðñ®ô÷‘ï<¶¡ü ÿë!¿›öxÀÛ ˆš_$­=·€‰L^Rz9Úª¡ûö@J"åkMÒQ¨Ì«ÙÊÉ•|dgâ=uÕ°›k@Ë6"³Ò‚Ù‘ªªixÚ¿V@ìÚœ…á’»ð ¿4hÌ%×0wTQù{ÖEýŽÉt$~à19ã6cªÓâ¡ ß(,z#}Cì­ëºsxÒ|ØÍŒ]°ZÕ`GË”ÕéÿÖK™26Œ4:kP¤3sG¨ã¬t¸y6ÍÝ­Çüþ_ø…ÂJ:óÖ÷!ÿµsVÁZV櫺du š–`Ä`£*áÛ Ð°ý›5$·'C·ŽýV~Ÿ°eNT’¥÷£M áÊÿY'u¼¸¤Þ˜9'ñ‹­(â\SSqxÑð©cÄ®ä6–è=8½CåÔù1 #ûô gPJ‚„ãý©²åÊ¥ Òú¦±í$:›¥hø‘§…ƒbÊM‰Îib÷^‚ ò|%gº©ÍnÏÂ@Á_¨Z“54ùd¸ {êo±œUç¾È¿™Î‘ïK—N™˜YB˜–eU n-ð8&i®Û%”Æžß…ƒ-wµÉëv»°Ýe!K†IRdïŸî‘#«áPžÐÄ+V0"éUlH,Khp¡½Žc=8’ÍF$ÞbŒªÏt%ŠwKþ+—³ªX'²:}4µR OBÅHÍ¡C99þè³»~ŸÍ^­ÄÑà©ÿíO—”´òùÄ¡–ÓáJd®e"·ècñÊ+­.VÃ\Ï…ßQ Áz~?¦áŸ›)Í YÍߢ³“¶N‡Ò†GÓû³×CÙd°áÐeÄ€9Ï‚X¤½J‹'ꎥã§ÂCÓføÀR”JÈSÔCåÕwéÀ¢täáéõˆie*Ë# !Ý[ät¹™A²°4qŠÞBg¹óMÑ‚¸°/|X×âéû~ª#/è³¹dÆ>ºûH¬a'ls=zËD,ŸÛã‘a§®0رÛÒð‡‰Ü³Y6°-ïeqrOÂ:]k ŒqY!¬W(ü9¹(p•2±j /¿iê ,™ör`\9*»_ŸcÎD" C4ÙcD‡S¿Û™ YN&Vù«^f i>ôÒòC…ÙM¬ù¿§,=YÓ\–xø0ãú;AöÓ`o°OìÂV©¸ìˆ`xDt ŒÎ澿øút– …SÙz”õ{fgaÂ?*A#4d¡ ¸J3a5u•Ôe+¨uz)¨©kÏ*ಲA:ž`ƒ½¬Q§'§~™jzü{nýÈÛmÎÜ­^-oŽç~ qÒj2R›Þ'¸4ŠnpÉZÓ»mj=~è3Ìa)ø*9?Ì'šÆ v>*YÎâIÀÕþØ6ˆ$¼5rf–¹$« 8ÀßñºÆâœ˜þPXËÝ¡ûž<Éícˆ'p·1®-wÎè'`&ì¤°ç Æ x\øÿõ7½²JZ-èÅ Ž‚ w±^>R¤™—üà`]›Rïm§”Q‘ sü\[ÕjdzœW,ËuX×zcN²~‹1~TF%{¸1)µt5œ·Õ(®ºê¯RÞ$Ç;KùÍ=¾$tž°z¾ÄCwÀºÄ09Í$<Û)ít{² ו¸‡œ6ªiçÿ¼CRwõrØñÑ ïг|֜Ɣ w¼yL.†ÀŽÚ˜‘GËmy!ÙCÖ½­cU´åèÅI±³x@†¥è*ÔçsQ~QǵÄð§„—Èù{YưrT|ÇG¯ ãÌL«ñÂkêr¿_Õ÷Œn?Ó‰¸ÑÍUúÅmVQ•”ªòÙæ¦ Äü(µ>g€EºGÆÔ UªqÆwØ8EöÚ"½ù¿ð•Å6’îFɦ¨_¬d£üËa‚–øÀsèýû:)bøo2¸‹’|ÙbA@ ìL²†¹â¼T>FŠ[óCøÎ¤ìdÀtwPÃGJŒÀžÓ5e7]:ê•´Qà9#2Ë|·¦Rà]×Äó°ãµÅ@y’P´ ãì;.t?‚»´ür1R¤Ì «®àÎ’êixè\Á?«àé¬çSýµ8ßì.´{§îªv=2h¥w…‚\•wøTÕ_e¶_jã‚‹k‰†b1 ÏAú·^^ÎÀ«F0zâºÈìj@iMnoZ#‡õ tnc¬ÅA‹µ–º)õ½Öˆ×8ž“E^;EIð³0__¯ì®ÁUm4æÎFŒvÅÌ8«;,wf¸²Ø;ét" n1|Aû6_j•Pîg7LéN ï ÷SE„ɤ꜇ŽUŠôò­[±÷é}ª/ž1aO£6Å5+ÜÛ édv™ÕàXüƒm¥ìQZ š²Ú~½MûÒmɈ,áp^G½ νþ>–74¤R¸ˆ4Ðdm°ÆvÑ¡W¿!û‚~£!y—Zž‰†Ù@à`JBÂFK3iÉGËЈ)Þ¼4{“à‡ü‚ôÚeä—#È50WšÂ°ÆõU%6+æd{¿ÊŠÁF$#ß yë# Ô à£êªœº{_]‚‹Í鯅Z¤z‰B/¤çêĶ4½rÁ{艦h¼©iÑh…:Ú}ɶةNwøJT&¸3kެÉD6Ç€ôm]Ïvk)øìñd~tþq½~ð¿öâ«)ÒY›ÜüÞŒ•ŠË§¬·ãw„Õô3i-ްø3Yßáy;~+ ęşD+‡èøX¥ñ+ ó¢b>Sª¸ º ðÕ‘X‰´<s2ý溻E rëXÑ}Ødh&Ãuí¥9Þ'j¼BÀTh®f¿‰ž>E<°I[Õ;h-š@ ç~7QøòÚ¾à,«cÜ{…l"æü,‘rÍ€`Ê¿{ºÆHp…½Þ.?YEvdA[m»TÅÏ $8CÚµ%ÐâCÙ°ØêV d¢æµ5hÅ@+¥½É+¢¥e5 ®ý7Y ™Äø2awÀwEÄ£žŸ;}ç·âÍ<š²ƒÔsÏa7ùÙ²¸P=¦„@¬¡*õaW—ÑáÒžz«˜W§ËkwôÍŽóbwñ£”—Uª¾±UÄ+wè0KÒvÄ’93:6¼=‡·ÿïà»d•ƒã¾qË>†ÈЧïù6…B4ï ¿iOJ€ó]ÃKª CŒ-Üd°¬£ãY¯éÙ¸çHõ‰ãý–ãˆê@n¡ÉÔP²A(Ë( ¬zuU§ˆº-š!£&B*‹t»>_–˜/ŸÀvù èív¦@~Ðcë3æLó—ó¨÷!j;PÎgö5ûÂSs‘ åÒó Ý´×2Î à8‚`§Œb õ2Öa*Ë8µL<͇ij°N{ÔÊ@—å cQWó"]®­ûÕYŠq‹ =s,±Ž,•ç] Ry˜ÎÖ/Ÿ?(“¡Çwkñ¡5mt’nüŒ8³˜@¬ÿ­+ê¸2d©¶¶Sð¦»2#À}Ù#š{à3)gÕnB®«T߯*˃¥vKïO+i ²º û۴窔]ô';}ˆílˆ×}IÇí”m+ƒv Öˆ1ä‰"®1oÜD£÷M¶Ò®9Å~ ˜±Ó§N”‰:¹þ’:'´Õ{(Ò œ: @ܬ`GBOúZ±™Î ƒöc¸/øÃ›A ð{£4·kÐ×¾îŸÃ°ÌG/yãÛà:DVpT_ûY&ì D*&B%±owq9lMr®µe3y™€÷ô@øòG,(Õ©DyI ¯‡ÊŒ/j*SRGL9¼¼QáÎáZßt8|ñEÍžM\$Ì‚(ùP“¤b2É›¸tâ>Ô_Pì,䉲´äcRjÆ,Ò:a@Z•öÆœáBXd “Š¢N …éº@q9çf4#3b¦*W.ïm·ñA`{žŽS,{¦—):Þuék#6gLò²gFÂñ0ZK÷¯–|û’vW&:§+ï¤ÊÿxsA¢s fJaFø}•˜âzÆÊ*›0¤áÇ—Er|ñÝ=vb[Üøæ6”ÔI)ÚL3Üõ€@ñjŒøJc:ÉÇ8?–Åá*.¼ò\î=ƒ Í¿ü4Í~Ùo23zO¶epL@GÐðMB»à¨ú9(²zJFg ÒìÖTL”[®åk€ ¾• ÿ‚e9†§±~£À ô)nÿÅLð4:‰J‚²½T±àãEE.Ò‘"Ósñ^ò’€%+ᆡž:’ᨕ¤èxË5à¸ªÞ‰ÛÆàb‰ Cî$oó$Jë_x%øRøÊŒÞýÆþcEmj¬Á·ÑÀÈIcøK„ždE¸·1Ë-ßèÓù¹ò&ã»ÈÌ](c¾^Rƒ&¨õ…·LÝJÈ¡¿,BÕT,ì^*¾<Ž«éK<®é¦W z‰*É"(´ õ¹®J,òtäÈ-•Ü„N(Òð'åšÚAšÐÏŽî $eÕWRò•ÿÞû2_4"„,Ô «ŸÇ‰ ÛÐáM†j¡`Œ^9R…dÓå¦ ‰æÊ³J#$ê&¦°/ÓâÓ+®(.<8+­A¸e%…F™õ °Ë1k¾¦¾I"œ#ÊÔD1ïH“sëwzI¤áÈ´pz»r.ˆ‘7,ë'AöÐ*VEî=KsÏþ8²È ¿Æ lý6‹0JCºß€0zH-(G;õÍ@ÄP…-×)ÛòN9¯ŠäQ¡H)óö.ßZöźñT½Þì§™¶ÿü³Ù13·‰Ð†íÅ=Õ­q»åžØÿÁ§Ú]Äqv‡Å,!ksÞnº ‘ê½ßùBrÏ`…wä!>CÈ{Æ·¦˪gÞˆWw¹íÎaJ|<3“ƒlo¡Æiƒfv"/)üN(¥Æ»Gm†Ÿ£"„4)qÿô#²ð³ :m¦¼¡"µ&’î :éA(^u>væ}Ñ,ǽév<ññ f#ì7ÎJó©©%ý¯n-ƒ¶/Úhô…ÄÝg/˜Ó¾˜"NÝÚHy%œ`AŠæz¹/¤wª"-Qõ}æÞD¡TÔ0ö,7MN»î=GvÿêÅ|› Z¦¯·³ìó;­ggçjý­9ã[1S…E-R£¦ùz!z¯¹idÎôîíȼ#lÏ ÔöŠpª¼ÁÌ7…Âò轩‹ÿA×hèó~§BÞ{(µ-Æ `¯=ë€ò¼꣙g££‡ÛeRÕýZwƒí²½ùlþǧ“&?5U¶Áû‚:'ÂÖ![¤h_>']ßÑßfÀ«ú$̔ٲâlšo%¼¿´Är¿QeñŠôX6d5…IþU‹ý£ùÒÌ:‹§O\mÜPæYsüëQÌK¹[ÉN(ƒó¤êïÎ ›Š"ÆXíÚ¨˜žcéLfGxFA‡LÅ©†³e¨°WíQÈù g?›Ÿ×­Êp/bŠÆ*ùß-åÛ—¯ {ÈØ#R‡~j@`Îu8ަ×ìb>ÖA‡¾2"¿¸ä80.p'IýªS_PÝTûµ/_…S_jœñ4\Gs~+G^èdŽðõݹÜÖyC ’$Ê©ŒÇß@c©X 3¥pò¶ s{û½§™8jŸgÙf=0‘-!åŽñQ}Å\ 夸q²Ê~µ_p†ƒhâ¸äÍ”¼LW+(¤=}H3&8Y—h[r7œaÖfØë$’æë•H!S‡ŽžóO艉òÍ~¯ãðÅÕàq•h›‡¸«!ÚÕBS¼üþË Á=(ë9B.pròõV·Û†šÊ‹øÖ ,xXíÜ„xh®3JüË îÚN!ÿ¦ÐÜX8‚`÷B¥ûª«Sá*F­aöÈ,aþDÝßñ»¾±ÆÖzÚwåÞ`Û‰%©›=ü<èþ"U.k;RÙƒŒç|ê"bÃÓú[°5 Î1{\~RÜ48;­r‚[ùÓr # ’¢ ?÷‰=\u’'a0æÂXîŒÜÎWÝÿ$O§ ¯†Úhº’ ¯½6{çÜœ¬9| Y¯.bbIÒW€«tðko—?Ý9X…ìd‡[9¸d€„íŽí> XLu5n(Ù÷Á\qžÂMÁ0äMoȹ¸‚33zF¾&¦ßÅ XÎtô õ¡ñê‰xŽü®+CÍ¿´öDä R.u±ö¸q+N[º¼6.ùtº†•3گˎÏÑÐÝ“ŽÍN&G1 ¼+Îh•린´¾¯Ë¡è@‘ÞâÐòeˆa¤§>X€Ù$ñjñ[b†¾Tz0<ÇñÍácð¸‘{•c£W7‰µ~N$™¨0Þfº˜ß¢¤îb¬Tq~héUcå9;E.“8g¶]Ï¡|– 5A“ò:VþžÝ0ÉsëÓÙ¢tJ¨1~zÕ¹W`ôKo<%§´º..ˆËïwM¢Œïê)Ýp&>~‘ÜÝVlšÜLË÷.¸Ó¦Ž"t~ÈE÷Ø?§£DjL£l\oèæ6Ý`)ÅѸSI<Œúzßãô² x:·>¬‹dÉÒ' G‹‰îdĺw5¼´WmÅu_ž.ñªÆÚÙÙ7ú2p©™(鈙ÈrÁlt>_Á©Lsuev¶ùÒ-5>”pm.š¤*_áaº;„VÕ4ÖM˜¿‹ú?„þs#Î…O0ãPnlw04±®ÑN"5ôîĺÆb"‰:ÖL ÍºÛf[¡%P‰êy~f)e _3a¨¡R}ò¸˜¢–OY½0P)aÀÌuŠaæ,#;*ilŸb‰.·×’Va øŽ§¾'„ºÞ?÷ ß+ì6•’œÈqÑv—Ø¥KŸ²hã}|e ب|sôØ[CÖ0¬pÿÑ€òÎ8QDU0õØAc×!î-šþžÿënjCîhõ?«qx*0nÔ:›+1N' ø“]…»Çè/ÉüÉ’·-Mõþ4É=ˆ‚7Ç|*©8·i£RK•naÃ2>;ÒøÝ¼>ve„V}ý"r* à¾ÛÀG R›·”¤ãFgŸªñß(5æAÄ^@U–8–îÞØ,£+g$Y‚³j#áW/´ÆÎUdz:Ys° òè-~¼5~½ôþÃýîÿ§¬Ò;0†– ²íò Ðð ÿµï°+Ò)ÿLvߟÌWF&OŒ{þÂ-zñZ¾÷cÃÍo´‡í¾ LÅIªs-;ô¹ÚØ9çü|¬-Ä}ÜkîhsZÞÔ,ŸéûÁú¼»7ò`ÆG\éE>˜É27—hÁÜË%<íÍÿt—Æ÷IBäLboj*$ÃteTg‡{Í8©¦‰U ©–ßÁGí–µÃ*¤pqíŸüÎ=´Fæ E"øŠ I J8 êÚL><ý©Ë¨2ç|¥'šÊ¥e“Ç'•d;LÖƒ-X¥Ì`SÄw—õŠV~{“Ûß g q"ðYÆÙíX£àA‘Œàí7Xúàµnß²Ïi¤i¯5@X¢?äÞ":Œ±øQ,0@ªù6©;œGeö‡k0¬WOR¤EW¥4ô§Ø.òXÜÄÏävùxaÒ,^>ªëi§[vÖè‡&è†|xÖÞ6a¦€ 4ž‚µCy.‚ð (›ØUÍ¥1úT~‚‡‡Îü ±8:ö(X údÔJ éQ Ä—Ç×K{ƒ‹;[È¢`5\Ì~€CúÒ þ=<¸W hðN‹ú! Oî ˜Z/ópmp Q‡ðW™â3‡›ÙŽ£^ÒŠ·'%Yì»Z§µ?táÏÖ¢?½9ö·º)O8* ÕµÒ‘{>ò¡?A¿7*·1Q-ÊY‚õqÞD¸‚^%”k1¶ªó£ ÈÝeb`¤”ž•)GÇFWnr›ž~XŽjg]²åÝ»F¬z/³©•\½øŠXž=f:s‘ÑÃæNóKÂ1ˆÉ¢ØÜú=ªV˜Ie>±c¹åV¾ï›i58Îçôü65@ÄFW¨ðÒZš°£ i®8— ¶‘ùT…â훀MHóÝ»¸”n¹¤~xK³µ‹€Æÿo‰²cpþ+ ä!KÌË}îSí$¬¾7åâMAZmY ÄJ[@¨,÷/q0/î8úñ³(%3­¦+¥>iÁå‰Ý áÖÏ~OêÿZápo†D6¸¿a½¾R4† wÁ8SÇy:`IZG¥«HþÖ+_ûM8’˜­¿>›]® „MrØMÍÒkÔA°ÉpÅÈ ?¡+hzt«žãʆN†/­` W„öÆ+Ïó¸DYoJÉ¡ å~ICœä<—0µÃE$®\üÍÅFžIëº93%d‰sT [Ò†ÅÅÙ+²'zz½#¥Òn©z­,b$¬cÞÖN`4I¼'$q’&%v~ ð.ûRòHlpciUÞÏfhs<\ûöH[ZZ]5ÁŸ[T`$éþʼõçVJ³ ñŒ]Š`A1;x¨á:<þ%üqYãÁuk˜N*’* X\Kè×Bå5§s‚½XxºOE_€lÉ„Z\åü?4Áò[±!+oi6¬DEýTFÅNÇ%ùô´ñ=r´ÆîL%Ñ}¤ç¤þNN>iPo®s”¹ÿOÚÍÜÉvˆ_#VTˬî‹!U™”Þyá/¬”2-´‹å®Ì¢b:èS§ÌF*(‡±ç1דrKHOÆžío'píç³ù× ¨_j6´YœMMD¥‚K(Pzõ†bÏ{ÝÏm<‹%ŠÎDÅxʯkiV?‰T×V[q&28Tô÷9Ü}¿Gj˜1™þÑ?a26xªlö{Ðìã˜N"ŠÄ9½Ù9[íÞʘ‘s@ã8• ^ºo¹€±¿råÞTù\smo¾?Èï´ÓÒÐà2Á3ñS(*E`‘s ÔÒªÈ÷ÛY}4žY5éPªp•ÿrJÄxKC_Ýìì$Þ«3"î‘ökÍCM_ÌÔBèõZ‚µ“¬)½lÅ$ÒDÀe|Þ’Ý¢ïÏX*ã¿VŒE˜UÞõ­´¹™¢mYéA;Í.&°2t:)vŠß}(B®"™ƒ•P%áå9¤ûV_9„©gÐRi±­¤ÜBýÿ]¸Áúµ˜§l±:”óØMtƒmZK;Õ€ÿQìe¥m(t‰ºŽ؇74>¹ÅŽ

q•ï‰.À}Ò{~ªiabiV‚%Ùr¢ü‹£€ ÜLq“1C9À½¸×ÍþB¼•"Éðµa¸Z‡Á×gýîüAûžky+Bíù4ð¡úõŸ†žk ý?Ù1k2ÃKZb*wÕuö^54K¶¶êe°GÉwž<äiœ¥‹·®¶ýqÿµ‰¸Ò¥aʦDÙì³´å‰ÇåÛŠU6ò ¹à3èo[ÉJõ~üWÍ}ª6É|Öê”ýþrtëoó-[K‚œ§œR§*ÝFîÖñïx^±o»üÖÄk{™­k—Ÿl=ìræ±wz¹AÀ| û}S]Ñ ] ã_c¡xÙ²RC‹¾KTÛsõÚиá̒¥¦ÓHÚíkµÖÄŠæÙ`ÙP¡¢çhGÑ‘T×ßô€ÔÌR*ÿŠ1õ¬‡â^ÃåÄ*èÕ ë,åòÝ ìS±Y—¥Ü©\^Î$;äõ.ݺ‰aN{ Œ@¯ˆ¸Œ1qlE¼ÌóqñyS¦ÙhFÜ*,u÷è-Ãë µVg£µ±øa™ø”Àï (>75ETSß›¨¶Þ?äÀ_ÚÑy¶>4ý·}´D*ÈÓù4åù…0*IÁØwÀRûwG’hÎ Lºû{ÌSÍ‘§\ƒO… ;Úf ±[§¤fd,¹Ó±¶<ƒ"<ëý»÷ŠR¸sÙ(@5_-kŽ™øˆ„€Ëõ YýéFt:Tœ†±“˜uï»úàû€±rRr§b=:Ü\¯÷Kò:¥[#JùˆD\)òνCé಼ó›X•¥¤pbÊHÂÁcß² ©“}–s³Ÿþrmáúʉ_öK™È)°Ük˜içÌù©âÁ°oZuÛVÈlÌ1»{‰7èÙ!™Ê:¢#Ô}¬Ì{Ÿbr.?~HÔzV/÷|ð£å^¬!ñ–nF=†«ïç¥ÃŽN/hRຖ”*dÄ”"c'4 r4®Í ˜Ác×ÜVöc²^"~Š&òhMD3Ÿé¦Å:s銷ӟ†æ&‹,²ðÞ™Xèþ_œüµWé Jì¦92©–µ }™[s§¡~ÅlAkòíâ¢&ZÉK+?¬Úä\= ‚ÆLˆ€ncë·ÚEêš7å#2JÁà=I< íøˆ÷Ë'2šx›ji™²!Ž2,¦´ÂÎ`àv¡ÂUr~âJj¬ôêc΀¯eu fû—?Úì€ Kͦ )§boS•êÙµøÐD+~PZÎÆtRγÎèˆg9ò>Fo] äá=µÊ@blîÔ´Y1·¡ Á]_ù˜Vrçj@œ«e"”.ûég)¯»ÖøCo?'Ub÷Ž:=Í „h5kÄ>•¬+*¿îÀ€hC}Þ}_dqlÛ¦—¿èévÆ07Ø)À ìŽf(¡¥f‰O .ÂdÎëâ3Œ½É¤#œ–(—ŠÀ‡ ÷V¸n§1ÐÔý­=Hõuo¥RËŠ2_ÆŽÃîÔ=”¬4c%§ýbâÆõɉ|Îm¿‰¡ üôGÆa!‚²ž©e/ÿÿs¶y÷·TZ öš4.G¼µðŽë¾;´GÕR¤Ž¶’©†"ðñ¿"ëVš‘c 4·Õ ɺn—"ÐFÂÍzàPX}.“ áçäH‡ˆüR“„O:v:xH"ba[æsj—êé»3–WÆýüÊ›"à•ó÷H˜Ó(?k7h2ú¤ë•[ï³~‘Ê”Œ0ºCÓ…K’yãZÿ[#\q„Õäo’“Ó¹·Urh¤XOüGÏÊ/(–™æ!¾ì²ô®OÕä€Ä%¾Ôc8g–œøÅÂç¿E;It8;8¤®FÃQ*ßëÆ£;®'ÔR¡Lj•u÷]Ϥ¾ó·ÇÑ4Z¥ Á“Q[£ â2^Ñö”Ü´ùŒÜÙRj7(¿-î«`)È­)˜1Q$ëí8ø#$2Úc¹'Ùx¬û¹êU¡ý ”Ö£z}ü@P¥ M²ëh6¥«ôâúeÀ@«Æ,â¨|ƒº/ÛþõAÎ$5£,QNî^#ä®nF‘ö —¹É ±:˜)å[§q N'åÅ-°-h’˜çªÕ© ddcaÔ)d$4ý $ůäÚ*¹"¤ð&%3q·c2Façûþ^ç)y“ÖØqûÜ©¹'LžD•˜’¦†{R“É=Mkì²<ù¾8š¡\.Q,Ôà[±gáxWkîÖhK·ÄÒQr0gBæE‰Ñ€\•ñ¦™Q$âb˜(pƆşpÀb þÀw´mðn‹Ïv¦ÉR“¡ðUV7ÿK‡RœÎåyölMžŽÝ UB1Pî5¶î……ÑÛèÆn;‡Þhªî¾h‡ñ³Ç7çáÞ{ãÒrß&gGd¯®Â—äú‘kÖ,OZxGµÌIn;Å€ ºœOâç^g¯0²ýt‚[§?¦t"W¥–Žo¥–h%%¾¢-<^K·ef‚HïPŸ3ß×¥»H[á¥Çü+Zò;Ý÷b28Ð{_eP”‹ID\Ù`öÀÜ@ënç­zUú¹žZFê:è¹´ÿ 92—üµ½flz33¶Â.¬¬†ßüõ?îWê>ïÜþ„ID]jG‹·Ì¹¸·/™¢lWÒ嵄¥•KŠ}7Ì}™·ÁÕà 91Vyÿ&’ 0B%ˆxA‘Va°üîð)ï5QîêyîT'í¹æ¢o§ÅWq&ÂÛJæ› ÛLÅÃ{wèÍ,°¹å*‚•ù)(WȾ%·æ©Å€ñ}f$²…ˆIM ­²ãz§ @ïu­ê‚ ×']Õ‚éá΄å@¾¤ÊæÁô:’>úµÕ]ÇÈ9ýOPÔ_Ûš$Žq ·ËàÖ N/rŸnÏÁcˆ{z7 éNÿ™´¼ÔÊ!µØ¢W‹B!ƒv·!æÌ@9–b«*Þ!•d>üS£÷>"i»ÂfÈ-UKe(zÙ'@1®Z§p÷#?”öênÆ»eÆm½‘ ͵Ù:Ç„ÞèýƆü ¢Ü„S¶’äINCp«ñ½åû ãñ6‡,’ˆÔt=Âó÷Õ…ã°¢Ï1úKQIió#G™ˆq\«¨>Ù â¶Inzî.Wâ"ÆqÝÀ¾Bõpü0&´Ü—@1“–gò`Ó_S 6Ü' ”S íövÈþýÉc^ž¸Èc™µ›É#äv3®4™«8IL†/·Ã6„Ÿj¨u)£n?ùÒ-0G’øìEž×cŽÖÔõp:ËT ³0»ÆÆ)š(Ó(H½Ð Á5X¤„ýõp{uf 8iè#ÀršUísÒ~…Wž~{Å”/@UšÚ °.Ö<ŸÉhðÑ>(>ýÔõ†€ €ûŽWdMkWYQP1ìòÂ’Ê@eåÁpÖ,†ß^< 탶“ƒ¬Ü2zŒÀ,a£„SÅÁ½aùÈrxU¡¥Âøë ýGăHÒVùÔk;û“sƒ`› _W·³˜ŸàXsÙå@Øûpè¡FÂG"ãònØIVKFâr!Zùà&„ùÞhÁ›¿Ž1!‡²ã(ǂ܂;~m üW²ƒ´pÇüÃfb¡H«ýŽä ¢K±˜žÈMôr«Díù>ßúz.>5Ç_ÓRÝŠ!“¸–ü¹q^u1cnè·Ü8á‚fä›lùJž›âcæ¦_Qè¡XNf n˜ªõ#•ý[7qÉ5A­ò®µ±FIfb‹Gµ!ì'kã+º-\&'aþ™ÑŠ3à}¢1q±òiù^Ž}¯«¯U:¢È±©»D¨Bk^áÓz­ïF[…µç¿*,¢õŒu7IÖöAyfó4Eç5]œ×›|ºâeíUé·.˜Zô‰é@f(D>jLJ¼ä~‹¯ÜŠ–Pä3 Ðnuøa(äÉÝþw[DÀšCù@¨ZëãÑ›x’ g¥f)¡$𕉬F ù“»´Äƒ–” À8•‹&†,Y†«–ÆDâ3ã~¨ý?c>%Z†u˜†Ü(VŒƒá¹`L¾l|6 Khúàˆa6¢u:¡BO fwh/#·ÑLD·‰vÑf‹2(i}`PL¦Çñ.5ÿ}§ñ³Œ+……v¬ø˜5Ž|z}Å'³A”¯þÖ#‘Š4L äæÖ>y½Þ…bžù'TÓëæ£\ŸÙ¸5ÂI·C_ø½†­‘­ˆrÙštÄj\ çOxM ZS9Y.¬Ç&sòxÃßY:UΔÎqRgs_%Ó|G»yñóZì‹" qj'¥¹è ºž`Ÿ¹„v)A鉷ú_“=Ç„ôKU¥ i¹µþ]!¬^ÇF ‰žwy=ðö‰ç\ŒV™õ¾I,CqP ˜Òf`+Â% ×ôÓ„‚uDÕ î‘A0ù}¥Z1Q¡ nÁ®IzV¹§¡¦Ö×ÿ§ ˆ•éº<6,ÕÙ¤µYõ:^Içy·ÓVÊ £æœû$šŽº@1Ãz³ÿ[#´;\àgõ°ôÖ§øº–Óž)@Dì08xÚÔÆnØTŒRà lçíØ]à¡·; ¼¢åjJôXÊñÚNx•Ð^ ]‚ß‚r ÚºZÖD}JãNk–bÇI «ŸV—;éDßlºú`">cJÉŽÒá1>Ö§äý‚GÞiHöÅ~ ¦óª’j§¥¼}Vÿ ÑŹ69Êšp¿š€µrz-©‚+™üüôŒ¬PpŒÊü<˜ùUu².¤À~ QÚ‘Œ·eïÄß\æë’vY$d/ÚîIþ˜AlnÅpc=JééÒiþ.Z'²«5Ȇ”cô æŸ]xUìTEJïðˆñTÄÄ'\€‡Ì—ßJtN:îD)‡wDñÀY¸Dšakk‹Â›¦ë›©bætŽ·®>š/™Ôõìü«`ÑGgznzÀM_!8 ÆÛŸDQ÷2®«!‡3¨žŸiòÏHwDT]’»UÓi[§¹«s $¬èö›®®ÂsÝÀ gNèè`·úm[lê°¨v HSÜ›géžØ8Œ— ¦ÂªìÝ»³§¼´ôítŠ«Éÿ‡pT×è¸j-ª„:iKºÕ¨-[ìóFáwY¿ÚJ@Ê%]«6,‰Ó ¾T—ÈìtUšÃå°(ˬ½º\©0¹B…ËpÒ'Æë±û¯&† àþfƒ)öƒh[Y“³I™«lX:¿³©Ìc0‚L7á¾lÖÌ °ßÒzöÓ&Ê,IZ8¤XÀèÜhPZ¢kjºOÖRï~ÈoÌÄúÕ&ÐÔQ-¼H¾rËÁ´ÏŠ+¢“r·æÛ¢‡òµ‹7Î UÃd6»ú‰×ý ((#óÏ×r½ÀϪEl6ôi4ªtøO@ÌÙ÷W ¯¨¨êlx…ñL6î)âqJò\eP×h8üþnrÀÿE 9/Ûx1á¢|ÑëÃ?Êlõ‰!aP?ïVB2 [ j¦ ²Øb¬#gÅÉÈÒømdö…AbmÞÁˆ$¶‹ûUÕ¸{²hìßýgÞh’nHÙDcËrÐv×B;£¢] °Y_‰ª~¸ü<%€¸¡^ð˜~‰R`PL-BWI0§î½Ôcµ#Õ¥îÊ‹~˘‡tû dn$>2ÎMŒ¸-óû]æà\Á†ž'¨Åác{Ǥó廥ƒp²kŽO3¢mK(¬Óæ‘·,]mGä°Hç e¡Ûˆf¶‘L=Õ×£º:rº>kç¸ß«å®VSÚŸ>ôg$̦6Á|T_Á¤M9,ꉒ£ŒØ¼Á8\EÉs«":`GÏg ÖÊ”Ž&wÕÌ:tØ_v’¹p/iJuE6³ËŒÝ§3Ï{þk½¡õƒ`©ÙÁŠ)zØ{(Î^–+­*!Méž4X´‘Ïñg‰q‚èõ^æ ’šwNî;¤)ªšP¯3tüöïßsIûn_œ ¶Jj¼ºʘQÀžr߿͵t·O§(T³‡†ÌïsЭŠÚ JhrŠ̳MÓSÊt²˜ÄEž®Œ¥~`SƒõµÔ}BÉPž‡ã·…^¿5)¢áÀ‘¥Ö®Œ`iš`ç÷áC»¦BÆoÊTC‡,9ðŒÐÿl8k|L¢¥¡ ¢¾ÆA܃@U›hŸtlÈà Ͻžø ÄÆD¯n y¬"P÷[ Q¾j¨)ºCœi^øùæÏX‹óhhFtáXAÖ¢®¬H ¬Ô¬.Þy¼ÚÝq_úÀ»`|©1¸jÎ>ºEˆJ¸@¯Õ>hú *[дg‡ו\´°›~KÈüYp/nA¦¶ _šøõ¬vD«Íщ±Ì>í ‹ÈÐ’WèºÛˆBùŸ#A†F û•ÝÒbWÑŠÓAf=Pj{'s s"+E„3ºDg7öZÄÉNI·ÐŒ»~ ó;ìé„Î6ÎzM ŒobÕ%([ cmäýEYõÃ`Né.ˆ¼Í¿ð¼o›¯qÒ=©zT;²ûpK%~Ïï Žk"ÜÖl×@ÒT'ìÓØ I?* «o¬ixêÉû¹Pè! |ÝÂ.P“¡!jÌE‡ ëßa¢cz¼åͼ€#ÈLAy«ÌRòj9(oƒ5ý,5!bÍD€³è'å‡Køî-‡×¶Þ6wqivÎ*^|NÙ—Øøû6uo×ç’˜ˆm:=äJ¯ªén^wJFÌtèœaíÌåžé’Ä|Ñë»ù ÌoFÒÂÌ›²þµ’ÔhÐó7vÁdXxZ!ÃÞÖÆæ¶Ñoƒ½Î’,N$eÚŠŠM˜­,–»\½¶þXqërß²„+>A€ßÅåÈ} » _ˆ¯lÑþ é.«çOŒ§-lÕΰl‹Ën½ZøÜ, ‘Z©ß ÕÜG'I³Á”z߃þ÷eòLç-Žƒš@6½c/¦ËÇ*™©èJeüÍ!ø+]Ö’¿öô!z¹d™¬¼gë {Œ`±+Ex<.'Ÿï±‹¥ W"4±ÈHlÆ£ ÖJ䪄c½O̤® |ªV`^™Y24…4}Šo0µˆ_¤Iø]'¿ ïOõ"`¿{Õ,‹¤I1“]û<èv{ž ýõh=ò¹ôãWö¾þE…—C´V`* ¹€à¢}ûœƒ‡Å¿¢–pcÊ­Àó5¹'  ¡ŒÝÃX#çªa™Žg™¼GEƒ³EP¡XÈw Ó?¯Ø'¿®¯ÅNjÊÒ’cä&SXç<ä¾Ká%g'ô*WÅå°wÒù@. ÞñÀK1>ç>°GãŸOLTýÌ^ˆh5ݬîÜbE7„WcéCŸ^{L·ƒédÇ×ÈpŽÂ#*ÔtÜ_3Ë/åSyª’!¤ÞJ ÎÂip«ÿu[5 ƒ½(|TÒ>îÏÓ˜‚co‘Ÿ–M…#¯¦8vb…Ú»YÆ%êi¿èÿ_~Û-?ÿÚþct1ãnò`rØ(AU¼ýwË€„o¥ÿG&! ÊnRî0Ò‡ˆà‘\õ´¹ŒLÂ]—Èõ%SÎI°¸ã΄Š!‘øÒif÷ˆ'’†ßÊHõ]pïBÚ)‚­]|§_2`ûy ŠêXñ;Z*ßfžZs~J uƒ àJÔç§Ó+e%ÐÆØWåt¡ ®S]„ »j¬=ðÐs¢;hÅÏ9µ°Ð Ðìrê8’uPZ¦¸Ý#-ìñœÿ0ÔS›{¬É€ßÕ_ŠÀ¹ µqVdðXJŽUUXð %œì`2×àž±÷{p£jüüzõœÆ…ey>úþ@Ç÷`óo'Âq2jVR^ô´‡{¶ýØEqàMY¢1<5¤Û³¾/ôA‘„MÝvH¹ØFyˇÿ=Xœ|ž›~~KC&Bj¯>ú9ð„«ECò½»NâÝÖ¯¬`÷“cs1‹å):=_[Ø¢m(ä7áýÍ]˜tÇëTÎ,­ ÌOSîÄ|úJØ %’fÀšâ5² Ÿ_÷è/V~ÔN¸•t…3¥A¿‹îfÍñëB}q[xf¨(;ÒÝ¿ô#ÏÚª] ±z²ŠªÎB™yC¿ŠöÐ,i.±c=ŒCò ¹l¯$T8Ps 2O¥Ä÷T¦»oûøPz;]ŠS3}|±Í™U$ujP Ö"|¨^W ›J„K7ðÙÚ$þ­puzz©3¶>329H<Å9ÿeΔ±þMz[‘Ûõô?*_ì ¯J’÷þ¥vlC?_ì¦åyBÏq€å‰úáÛ‹ŽŽ®v³vÛrƒÌ ¨CO˜  ÙËþ2AHn¥+]·´Ø?jQ`’<*yZi âcõ§èå0XfÈOÊ´ÄðíŽ ¿Q”ú›_Íž0Ï ®ަÆ$wÉ•†]bR!)‘Ùn/äÈ\¿úóÚ^¼¿š^p9ò~Ýå§5õwÑ`ݬ„ž¹oö[))5]=Z+î«q#ýàù×ÙSÎÜñ-Úò{ããädVè$œ‚z÷ Àø9ÆÔ« Ey¯›ûmLõë) µ;\à0¤“¼—vBL×ù.´ŸIäG#–ÆgŸäœ´u¹Ã A*FN×Ûèôé åJާ!†3HšÙÌx_j½7;öRÍ5)Eâ\ßwr¦—F«y^×ø5»â%®9Ÿì³„$!„ [<‡j@ÌîžÍêg‚€R–õ)5ÇÇN'„HæU1ûdȦFð¬}óOÒŽÍD¶Š·j½òܦXÛ&Çýö÷– kiª){­užª…•¬Ð3“Ê!¡7§r óO‡'=wwý ÿµË+¨Âæ²þ˜6Šÿ9_¬3ØÌ)(Iä$ø< š [-ŸÈtÞ8<+»ì{°“€&ú‘÷×5÷RôYe“­VÝaÞP]W !5•EÒ{°Þ§+oZ ù%‚Ù’ìyý3`²¹løºˆs˜îæX.[‰\º¿ô¤—QÓ¥ñeÁÜ·ˆ ç¹Qˆ:,0@{ÐÎì; áj(Ú^ófØ©‰.R!ü‘™^øi ØYÙYj¬­hh]°'¤…wå 2Ù½¥/éè\漏l'í=Œ@²Ñ6fj°ë•êýó¶Ó4¢e½JÙU1ØhZü³iÄCGEîΣ}«8¬Ž-ÏeªÝ ©|zúÄž)ãÿŸ¼ä1$üLÇ I$‡4æSy¾¶Ðñõú l>yáËJîªx,ùà~üyKßôñ+]N˜ º€X[d))T %Zß3ì],T+CDˆÄ/W¥ÛÕ\™v‹!ï*K=ÿfÔ›¶{&µ"uÝOeYìxã,2©Ç/@c:¾h·•·*^ê@­)uÓuzîHÏñƒù6 ô5ûÏ:å·! †â׫>?¤‰zðÉ@†o`ÁT­¤óæ;ÍÌœ†£vj<íj瘨úÒ’ ¥šuÜ3$œCM {y\aïpS* aí÷?Jýždú": K $UìT5Ôý¼ÈÌ@ˆÊ±W³&Est°€NØâ²0!Ìv@ì$˜ž”Ú–K–D¡?ežô¼Šo ç©…xð–û9#$W¨aB]@°x®‹ñg¦oÍ>ƒ¬Ùj-"±—29¶ßÛ kJ/ã- $ k— ÂÊk:vzâ‚´g #eˆ½Š¼¦{/š"'t^p+4•Rsagïµ_¦?Cc:Ž'‰ÍåMfœÍ°iÆ“ºÂå[Ó23ÔþA+9ÒM¾“r¿¼o<Í´oZÞx›°žï ˆ ZîHïs™vÙæ%ˆ^5Kv€'õUB§þmÂJ8i½\蚣0OÉš¾¤,kΨ' è¥÷ÎÓÊ 0Àõ»öàY5.F:ÃðžÃe¿c}ølÐáxКÑH?ìõv'Ÿsoùƒ¾jAvÿ øê!trU{Íôì¾cy½è:¨+¢-¸0ª„WHñ´ˆûÐQ<ñè ­LµŽÝ¹yÍYÈ’;-äTЙ QC†Æ;†+z ¹4ì‘V‚ÐRQ5¹ÃðN/ò ÿªÛw®Ädò<‹åí}‰‰‘ªíxÿSM©dþ]¥¢[ÎýÞÚ¬wsßõ:ìQ³R‰‰ËeÁMB­ œbg lÆ—’7åÀJ’?wPÎ# ÐÇJ.?¡ ˜áɃ—£ÚŠà“¸B:¥”ÑÜ€¿Ê³(¦)÷·}TYŽ¿ÒþMr'ç+åÅm$VßÉ€…²Mýž'õvçYjï/Yå²Å©…¥£¨ëÝõp,ä¹%Å©-Þ“§†øMÆ«“­zûLÚÏŠ—)ÿB¹¼WSºÆ`zΊ‘Б\Öû?í'àÝÀ×Eé|Á„‰âHôŸÁ8;ëmN‰æë¿´B»ñ@tu¿AY†i_°sÇQJ·®]aëqö¼z:T㓞ï9e‰Ü!æ¥ú"H"S°¯•¯’äè.úfV¹ºYÞæŽˆs¾Øû{Äe‡€Otì¶ò…þ\a¦Š†±ÃÄ5–ÓÇ\注& *„—/%bÇïÌ_If;zØÏÖiÔ‰TÕ&S VͨôUàîŒæ0Üò™«‡EÄÞdÍ]ļرxây³™'­a¶bº÷rH-PJGžIPô¾âs³Z¸ YH­¯ÌWAî~2‹Q—¢Ã@q ŸVp\/ö²Ã4ºic©¾6g«¬¬“ïÖÊX',í™°K׃8ª%£Ò™3pwá)vå¯oqÎNÝ]| Š­³ÐsqŸ‹§È«Qβ"yË/JbQçÝc¨@Ì`² eó›uwl˜KU«òŒk?_´Õ·¬ÐŸ×‡yýt¤J¹úlIƒñHtbuïÙ¦˜ ô”š«òÈ‘ Ú·cΧ!>dkòúînEñLðŽO“{•½±ñPô$aHÙ‰á†ðæã…Ø#@”‚¼"±òoHB~óå½FÊ Ä•âÿ±Å¯ z81w;sÉÙ€_'iåó2ë=ÂoW3U(<±îÚe§¾HV7›Þ`ÕÝðçÒÌG])¡ ǹ‚ÀRŽÙU"TòÔýÙÀã›±”¶ÛS‰khSÍðö!£ó±ï%Û1 $ÕÚ$[⃺r]<@(qeÑŠfð?ZäŒðóˆ}™¥)•ÖkP zEÏüq©OÔî¦aš¡){«“¬¹LW_L—TU $·,NõS7Ø0tÅWÆmÚò5²,Pj;`F‹ø÷QJ3½fIjÎl/þ‹Žf­i¸Ä•O[djÚ!–Šé¬M_UÞVfÍ€býð‚½Æ»bcoW 2‹Þ„D)ÙÌÒs(+²tíëiqÕÀaþTnUÙ]~²£å3¾~+XïóBÓ»­°t– L ×Söoð «ë¤³LA½`"ÇÁ1d€qMàÍa}0“ž5µv*ví›dbíLm€mÂjyxD4ý©N8ebQoìåöw} oQˆJx(QígÕabúxãx*_]x˜•¿³8Š>!ŒÚoï“H^œ·IÃêª(éRÆX$_dŸnД§½JÛÍPP–ÂY”ñð·àÞYSBZ7à°c‡ƒÚrÙm%jÑT“Tz¥Ø8 «V/’ïü¯»l’6ÑÁv>l~Q\4yTX*‰Ô…¬ÿ%$”ex¨_l%ðfXâŠQJÔ, JD¶Ò¡/ßOä^âíÆ1&Ó«F~²à¢¤^eׂÈbŒ²÷ÿ¶áÏG? + úø*DhŒø.Ç»}’MÅ¥böÀí4´<4±’ˆ°Ž0鮸ÓÏ·ÃW}îö¯Cˆev³æD˜xÌ7UŠX=€h ‡€¬ÞnYf†:]Ø4´€o ß ¶Î[‰.§•á²ÉîoÝmÉ<}Ý9‹ÿ&éïF†-.5+x[¹Ý¶°/òb·³ oûQиãB¦&ö©œß:Âj9ß&aL¡ÏÉì­zc¶ 7t9@™È5þ í~Ò!T>{"BqoÔQ0fç“|XÙXuÇŒˆýV¹ánBúûŸŠš<˜îg¬BŸpÂ Óøþp‘… ¶u_»þÁ>Ø #°(]YÇÛаðÌ]dj¥’ì‡W¹låÊQ­2žÛ¡¯ ÈN‹ûHòàôOoŒs'Z$±ÉÂÃÞÔ"µ¡›FÛ#ï çÆLP_¢%ÈâW5¸È­”URþñLgâ3R9ñö»»Ó°Ü§÷{Õ:€ÉÈãW|• hÞ`“¸ì>TæÇ]¯'»M%¡ƒø±ƒ oæ†?a8é & Ù&ÿŸGT_¼MÛçEN‡b¾ôª±Ž'J«¥â˵º¿Å}&|èR(Šû¾‚HVÙ†®ðèmà Ü“A¸?0vDæÕk×'JGNÂèÿMæíÛ£œþнE åq%àyS¯v2.‚ä¨N"¡4&L›;¾Þó2üAägÛJÀË7M–²E'»ZïÕßþ^^ 2é;ºòô©‡x ~ïŽêÍIèS‚#“<Úä3á*˜\Ä‹£ôt ‘†ZÈåFãâj(!‘ƺT'ÏsøÆÓ@=Ž€–Ú –&Àúf!r$‚£ù‰IhUGyvŒÈbdñKo© u/=7‘áûŽ˜=öµ¥lXcˆt]ñç2ÄÛ£t×Ãí=´=¡(?ª¹»ÓŠ]®--»ec·|J*Ü9³2L³¤*¤Îõñ¼¾Ó[!Á™D$Êš[Aùwrñ-ò›­Ðu©%Z`ódY‘àÊÎ ]ufæªÞq ëªyI*?ž¯Yèøí©6™žŽLŽÔãÖ¶Ü•‘Þ“ déž\Œú'Å­mç;È1lìß|¾ª!bÂ3i–4™#Ѓ•^,ñh‰ÌùÚÔÓDPAО¦T/nLÈ¿úÚ'eM}cr÷Ú©—³ 9]4Ì—Š×Ô!&GèùŸ'þùL>W[¯jZ# Ø8¨ Æ |*é<ìGy&½êÚ?T ÒöL!4aÊœÉ)È·»ø [¦Ù’VÍ,’úèŒʾ÷û’æ› B3dóµPë’(í1{bôâ`›Á« ÷ÌêÃë-_&&šžrÖâ9eÛÓm¾Æ•ðÈ0‘&ÜòœêÇýsˆÖ¸UÁÞê*3w²¯©ýYwDŠ´‹@q¨˜ñì[Hž_¶ßzý2ú,~È B¢[t?ù±ºD Së<(­Æ»qº¡¸Tg^›@z×¾qõl'ØÖ¥!´]Ô„ßÙxÒ EíI7ù·øÎ=7»ùXÖÜBt=(álS#>½_£õÊ&šo~¬qTqÆO0ó\ô…w¨vœFeõîÊ?º—>Ùšû[‹"³l§L¢3 ŽN4lÀ !…§DLT ùoBE|õ¼6Áß÷Ël]³cê="ϤÚñ¦ÍcGDI½\_„ŸžÍã.Ìo´²êöиð‰½3vYEø‘ΖbHçUi’ÿZßÌÈq@|¨Ú¥%÷\) H1 µ'‹lôek«žÀBC㌱ÐK"ü†Qã#înüXBö]ÿDfØcKfÊ«Úñ§Üµ©çñüò¥Eeþú2(îÀ¡ÇÙ>ÁëT­òÉæUÜ/Êv9ŒËVW˜aýkÛôa‘’v¾žÍ”,Aº›ÊºñíÁ¤$¦øº„OÁýϺ-]<‚/t˜,ÓÝWº¹h+ÀsoÓ‡Cèë¿ûœnÒ/W½áÙõ‘<®¼ àkìIÌ£¤&¦ÝZ—ÿŽýȕ߇J)¯—Åq¬ênëÐÖu¼æ¡ÕÜì iH©ï•º¢Ê9àeóÇÇq>´ÑS~Dwâu÷YïQÒ™æ4`ßw@ßV]F¸ìð4Ð@8ã3N¥U †¹„Px g³>“ÖQš®Iþ ­Ðùnµ,íÊD¿CÔI(|ðo°÷Íöš™¿"fAÃŽ“Îrtz‹5Ä"¯<1·r²q¡š0o jœÚó|äÐÕØ÷/Y„rKwp$àÞx®}O¸Õ¨Ú¬¼È4jbKÖˆöLZ:G¤kÞ“¼ó[Üh)â÷Àg6@D1>žLTi#ˆX°;Ú^›Q2,Ê„k{,~ç®D,^jG&Q@–ÚF¿bÙfûóR+СHôáNAPȰ¯)ÁÑÎ9кF °rÖ“²MPÀCX2×Éq$Šî÷%¬qXêOX,¼e1Ìš±ÒX·hjÐWÐì*FìH¸_(hAVC® ƒNÕNøÿ(´Á¨“•k*h/è0+gInÛ’Úáœyï5IÏ“Sõ˜s©ŒàXÄžZÞÒ)6õitôfÈDZoªþ£P=ú$÷Æü†DFýcÁ6KéWºçÿ#Êb=ñUy.p5ûC"A'Ž™Z€yfT„güTQ·0 wIe2a–hnYýÒƒ©½G•ýMÉ*èäY7+êÇ“PÀ¸ÛŽ…mÙmÞ_>÷¸MOÖ»²ÿŒh±B’+~ævÊ­kˆ[Y|ÿ¤wìi‹Ãå‚ÒG‚Àª^™/«@“Y–W|WÁoŠ:ò[8’Bçùq¸¾J¨é€î4((êË×é•ìÚíIñÕµ7ÍE†ÈXßOfã\Or9©ÅüŸíŒ©­Ì!8¢n[ƒñv²&&„~I†dÎ <ùK÷™äo;<ÔÄ|—&äë£X±¾Hb<öá’ëüDÞ¬¡Rêß®áûµ ÅÛ*ã¸Õö/žÿ¤H±9cüš›ºnV:ˆ¸ÿ‡µ|ÕgИ6T¼1ƒÕΣPË=ßêø­i#d¤µ–mTGZ§c•°‹¼•—«!”÷Tß¹˜éeùÿPIcFoŽÉŒYôqS­f ÚÚ0Â]¬O1w/ž¬3¤Ìró¥€§ùÄžiºŸqMEM”bÒ-àXÊ‚Yv#uðBîô(¿½Þ$½Ë*̆¦µëFÛ@« ÈvK‡Ÿ"Ü0§É­‡À\‹)ò"ôZpxÎe:K-ŒÐ"FÈè2Öa÷åX6!‡{ÈÑ76´3emøp(¸‹?Ù+ai$äÄhbUrž餀 "z^ã¯/P»áòiíè²€>n‹Òz:IÎ̧˜`+U»ûÉ7{KvCˆý÷cz\2Ƈ&u÷]ždÏP°¿cãÆ–Á‚+Sz?ݬ|_ÛKd}ÇE æëâ\×0,gu6ÕèŽ+m¨x–\sÅ7/¿ˆÞ;v”%ÙVcßXjþM5ºûºÈW!݇÷ŒéÀÛ¢F³óþœÇÆ3êË*"üY† '¦<‰ZëÃo·˜-í„gwUhÀ3» ”} ÉUF‡Uáðåóˆ1}ˆûS‚Q©“1RíîèGkyG5x<òªÙCØ`ó¤aï—ó¶ Â\•LßU=Jÿ¸W®DY| ?ȲÆ(ðK&v¤ÙÚ<’¶€ì£˜Õá’4”êh¸)Ôÿ·Í1Ý‘B‡Ða)öz €ÃK•Xð*í^²þHRÂ"È7'SºÅ›Œî€À~r‰øPü9Ÿokm©¸•½ˆ^䢓Ց.rÈÔ.ëÐÒø0F‡é˜L`Êø äâ`ÏN” XBQA–’Sµ Mã+Ò<‚ÏàVáb±)SóЧqõ„0D–Œ_#šþV¿XìØýK'ù„Òü9¸­©c1J^[÷^Jˆpîç4±$vùYÒ>Æ.c'}`å= “o½þi¤‰o v˜øL7±x­uÜ×~ÿêõÇØû€„»åøNVn Ï¿¬c€•äÅ-†g¨‚Ñ£_ÿˆLþœ |Õû*@‹«4‰'”µgêF…Õtc‹—–Âz/÷&´ÏV3@ú¼5ÄÍaFKsEÓëÊ` çÆ0÷¡£}óß•סPz“*H™¾mÿ\/W–&úî  Ž¡í‚DK ,›ìõ‹#ÂäTåú-Áõ˃6Y¶'¢­™øš£gMy›“iwèÆ¼yGæZWá^”º“@>Oé(6ж‚฼É+cî³¶ñ“]%+&ø[Y²¼–…R¨B¹çßs¨r’c‚â”ÐHåÛ%íÈóÐè^ACª¶ñ'‘äs©äò(!ì¯5휦³¨Ö0´P©LöÓ¬¾fõcMföH.kù—+  T+Àãõ”Ý’ÃC”QÖ¸Ö¼4=nš•ûú?ñ4\©b 8YMV5'­#¸o} ‡ˆÑ­õè™bþ²ÎØÑ“°5\à‚§ Îñc÷R@øp{ìþ£0±OBÔ‚o(àÅ€ AoŸeÁ†ÆQÎS,˜>2a5…ÁÇÜE&žU?IËO„Fùéä6AÝt­á¯äñêã\µ &ªá?-Cƒô7„šUûìq¹K›ŠÒZP¨Ôé{€©MþtápK …sÆ®$ò,Q½DZãì6=S®ï ™í&š¢ÍÉtÖ˜ ôwÏŽ‘tNlѱ€–ïóÓ\Çß@¶ð“о±ÐäëA•ù‰:ÂD¼@âzñÄ·ýØçý…}ö‚ÓpïÎjw[b'’~.°’ãr0É#­^‡ÓáŸtݳ¤J¯»m®”ÿ3Î+˜^ªõ¨x·#o•)è@Xfõ[ÝZ å?*°~•#³?F‘M=ŠT% ¼œaãˆàöáÁ fÅÑ™-[:œôÛ]ïë5ÂW£âf. Õ½ì-ÅC?³ü ˆ!Eš!k‚¾áé:åÁq#¯Ù¥ô‰ ;ÅD’Ó×ìÖø9ðæILƒ`µšúñ³œÖˆæ> 猒?sÅ M S;R Îé>Ar“jX¾Ç®µ6Še(Õ4Hå 4fÁl÷¨5ã¸yL_I:Úm5dd…&sL¶ }kÜvç¾pwL]¦ù#ickøže˜1˜£SÓ¾þËæ^‚§“8«Þv«zÌÑòL¸BÈÝÐ- –%ðµ€RÜ¿išêPbL>?ª¨„}¹†baæá%Üæd[@»tZCºì:r&'PÛªy“M=¤•)Qªûx BØàaQr<(X™†iƒSUœúnš"ŽÉË •¢±Äð@Lè 'UõMoyÉ–ú%6â8R´˜‹xd0h çë1þ ä4®“µ‚IÿÊ9sâT%ŠÊê0”Tó¶µ*3 Ã)bÕ_ŽhÉÓW|fF‚Ê57C ô†©­÷úÌM]°-ÚÿksÔ&$ zð-JŒ“£ õ8ÉÍtõ^¦üqwêÅ%ìf"šZÊ =üT®ô´ü/®4Ï{[Ä“‘O´Jð®b_&Aþ™E)xR|A™°]–ãYhèZz£Z!©;Y0BÏ‘c8Ф÷úþS˜åJáïÓ>?ÆyÛr1%ÀñNmi9P.O@H Ÿú%·ÁŠuabüÆ|ÀUÂ[bÂËi/€H( ûuŽÊúŸè'¬Î›´çó: Œl…Ð9(C€Ñ0™6ü™h ½³Ó—.p ·„HêqX±LracÄbžÒ)%0~WsûãDôv'lðíUG5>]ajS]ùía¸´UYúÿ˜‘+—AlRÖ)š -É9¢nê ù§ÎaŽ ûßfö°:Ä•ó}”B ¡×îÄ‹ª­¹jþ„éÂdD•ÓÞ2k‘úoZ”"Y†Ñ€.!f€°\ÓeŸ[Îãó7Œ29’ÌWÐÊ(ÝžrÂÔS€þ7³¬|ά£ªkÛšÄ&¢µÖCïètæ³á@t_1¢² Ôƒ™ø6ù“´CRf$D3K€×—ÆÂ„ÃlŠLøŒ1–UI gn¢¦%Ä%pjzVÔ8™`]<Œì=ê¡íšôšC@[˜¤ïÖ¬Ÿâ$?èH(“ê~rФ²tâmA=¾è’µdR pæßï§eÖSßPŠ"µ7U†oÿÐúIœã2È{˜À‘8zcÒŒG`– É6xã¦ÿ*tœ3µ«»¦–,i‰Lôå‚j#w¨4{žl—p(AAîì9œ‹3.œˆW¨Õ²:ºÀ[(gODUää(á}LI_¥$\Ÿz. UU÷³)û9b»åÍ™º%¯&–Ñt5”ÖH4¹4ó½±HŒü_qi·ðì’C-Bƒcç¬{˜”ÏÏþF,¯.ª·ªnþ>ᇥš9Þ8€àiÍ~4êßFÀš!óz¾ð )}dŽivD5Ý3LõJ^1"õÑ—í¿/ÝmÌ¡®Oõ‘äoÄÊ{6+5yŒ°ñ®w­J + <<¹‹÷Ž»ëþT8ÒÁ±*ÙC&sA¶í¨ÃgÂeÃc>*ÍXÖ?™„HÃËd»#´R½LÌZmz7N|‘ؽºn¹¨XD“*ÐYx 㢳Ý •AnÏa0}š¥XÞ¹&3óÔ›Ê>zD‰LT—!Éh…‹4S>R³HÞ>¯™„Gº+Ÿ-´Æ(y¤š0)াٟŽtüq<þ^ LÖ;9 ‰›1ÙVÜ;€ ÖrîŒê‘ÍÍY_{“ÖÍÝíê2gºŸ¿b`H)8Œ V“A¦Ñ¿Y ˆúÿEɨ< -N‰¨Ü™ÂV­E’Û‚K:_v=ÔvfãÏÉBd¹cŒ<24(‡€ß†¹õA„u« BÜO3¸½±d”+Šë£Ûü­±¶ @ §.j»*r1í-î¶ðÉF3(÷«Ÿ/tjAÝ6šTw2„èV´ËbË¡}¤Ì÷äÔ¡êþů´ ¥‰ökî×716A}€pè9Xr—òo"aÈ⃜“ýñRÝO|Y'[v±Ù«2+¥®4ÿtÝ®Û`Ëa—*'’í ƒájѾ·ÂŽŽ6Á+•-yæ ÏTð:NÚöàBéŠ6>q_ra+ùù%!ŒÂ …Pdka†Å›UU°r²l&rFº€åS¢R4pÀ´ï ßÒDH8оL!ô¨aê¥ñÕiFZŸu6‡÷ꬷû¥|vFM8šåM8a£¢"½þ Ïž6[¼8³™ˆç"›Áœ!j"Ï,¿gt„Ôí‡Vù‚Á±{Ï“Åúלßý·á¬¾Ë=OK Žï:šcÃ`1ê!Ó0(ðŠ± ‡—ܺyøú­øB5ÿ#£ÓÈE¦…/ó:éàç;Ý_4g~…ÌЧãqǰ•kŸ*n«“1³AQ·/.De% CÐPÁ³S”ž‹†£rÙ×êžW(¥5=ZýV Æce¢ä¤m¡kÁ.º´/µ¶—„Þ;£‚w}ËE“†(W¸ñ—ú⑬wïý‹ú†µ5ËîA„1èO¨Ï/_ü>øžã¿‚ybÈõ*|2»•i߉ó2S¼ô>³6ºÌSO·¸nÿÉ\rgQöªD•€5AÐ(¥œÿI¹’ë=7â„ ã ’Ùeg21.AjXÓbÊß]Ts"wš6~Zåç]`èp?Î#ê\i³Ð€±m/îÜ,p/úƒT„0¼Â”Æ47 ŽØÞû€®žÅgóµ‡î[Ui½qòý9¼4½‚ ¨]˜ i² ëØŸz‰4wVk†©¡}2…¼åóÛ«y+~tæ_ÝbjÕ|ÁÁ.G³1~#Òî&„­·?ÑÈ«Qh@ÖÔ±{ú{Z}xro‘U¤˜y>ûOñÞ¿Ø€?¡SnEž‡ƒ9híVŸvɺÛÓ‘•µÇz4‚Œ.p ýަR¿/.Q—u‹fö³,Çy2|r.‘ÅÔº•cÊúžËÌ ð×-èݺY[H—ƒ¤§Ü½ÌOQ²¼ù¥™ô‘‚÷jb4 ¢–áF:¼º¿9= <çã°"Ï–†ÃÔ y{üR‰¶}kÇ"ärUŒ½Nƒº÷oAÞ‹`•ÖT¼PµAPr1í¥a^ñm~:™PÜ™iª.PÊ.Áæ‚¢7ü:šö—¿9ÂjþÍñt,ºO(Ùœ¬΢ša"ß6€Å"¿_«ü”ÇÀrtV£>c˵,»æáJ–OÑ%àC;5çÚÌé‘O&üöjÝvÀ,²F¸ú5B vÿ¥Ð$d Ÿ(âó}"Œ9NÓÞµí Y¹Ãûg q7›ÔBs).÷Öÿ³œÝÉÝJ ë뾿´g±¦2¥ØÃkÿ<ŠŽãÔÙ¥ Ö0Öí‘eÄÖÞjßjÓBD˜9b *¬ðõ5÷ à52s—¹¸ô%”¾ïãUèwª:¾\ÍXM·ÂTËÆX«öñnÍYV`0-?qüÆŸG°k\Ó.’¢Øá¾¤Á4èŒxü *ŠÀ+)?¶ú—q{dcCU€L#$}ÀnÿŒD¤´NR\Ê›N7ÍÌþ:`Æ4Ư1@¡×o¢.%"˜†q¼Zß¶æºÜô¬!®–ÅØ ·Gâ†4ç@*!û ˜µa(Ü?]ZjÈ>ŽêïÒ"EO©TC1òj¤‹/‡˜“ÌxVæ†nýP|š БâÚüy…¤/Óv`ûÃàË1ðÔû7ª Y Ëf øi¤ø³}´p/,Š"PP<Ðxe’vC€¥ºðG±¢¹Å´+Z—n6÷ûþÎßjú0%¢T¤žsˆ)§¹  ±œð bÐw³Œòñ‰Ÿ, ÑäÍ/ì¹9‡6Þ¯X0*ýe®¼ä,ûÛŠiëŽZ_¸SÑÐÝ*ó ³“Ó•«0dM·³×ÝlÙ3(‘Û? …÷ ¹é¦NvPœî]øéiî‹A±™ÞsTÕHŸU(ì Ÿ~ZvfÆØJõ]lŒÿ¾]Åîì¢n7éHèäÆA0MN&8»°’ÖDŽÌ1®p‡»ì5ûÎÉY&6ŒÐFW¸«5Ñ‘Hkáõš„tMŠ'‹’!°«gkäÖÄļÚÙII=¯wÔ‰[´\d~725‘<{àw¹‰pê¦û-’ íŽ8‡]¡¤âN•o&" kR¿¡M”aNxúèÿûʯÕ¨e*~X%3 àšG6A‹62(Í«þvŠ FªzÂÀ}²ú½ž8mó<”ª±'¬èú1UÂäQ5¥8‹NÄnk䔃P¹ÊùÔAÐTib›®_]æ—e·otœ(ÉöwSáK†ª£ø|ÄMÁÚ*?Ä_'UM–æ¥i¨™¢ä”_É{=éá-³°ùÓ¥ÜדTSƒ!b˜ì3>àm `?@Õ#º˜ÃO¯ã ¦lÉGƒ’pûŸ/dÅhdz£êCàºÓ1ú¶È˜r½ÙC/Ÿ•2V *W¦ñ«_‡À§•«2Åá Íé žºgi&½„5,p³H1F‘£ô{¬ðñ 0ˆ«¯Ý(.cPÆ>J#—$[˜ º—BŒÈ4Ig–[¡/Ói˜«=d¢Q³Æ×toh¦š§[ü–áâMk˧K†Â.~Äcbá¡Zs¥‰b¬vƱçx­_zÉÚ7Š˜=Av¸ú„  P6†£8qIÑŒÇoÊFŸ¦_IÿâûTúcÈ`DvÇïs`¢Ô‡¼÷,V;Þ!ÛADÌ>6’oïL†IÉ}¶%uQ¨ÏÙs=zé;^­Ä 9<»ñmþFIÀß„‰g DÝ+wå¸ Y¼yÕtàlÍj‘N›Äùø@^¿ƒÿ΃L™Â7ý±é¯ (óæ­¡Š<¦ EÅM˜¬(„Qb“Û'eŠN%”{÷èÖû6¹G%êE#•ŒS”y±ãc˜#z¿ØÓÓ²ÀòÙ C?ÌýäuØÅ¯ˆ¨„<ª\>’m;¸q&ú{|ì´R-×aV•¼VIã,úÛàÉ´@º$3tâ]Íî3¬3£Ñ³„Љâ“ˆ‹3ÑH_ÙAw¼ëI»ÃùmDž(ý믋ÃÓ›5ì3\LÛ …3K¿Ôâòd¼{Nj<õZcS„äö:“a5K/ÿ½¨’?Ž^ˆÿ:ºJìF"ÚÁ[úÅ” aWfd_‡ SDaøm: †_ÿ¼i {:HÄV„¢bóíYÅ¢xhT'¹zt}bámx~Õ•ÿ•ô}ž¦Ó‘Ñ'nTƦÆúÐiË!p†@ Š`N§w‡ðÛ8& \Ê·è/wéµx,žkK²*}DÁw7´ö¤ ÌîR‰è\ó$MkgÖBÊ«ð@+Œ)1¬·W;?¶ü ÿ± rȧø©e…úОÃÛy³v ® £J/>NþF SoŸ§Bñç¡Ìi]¾l¬å—¡f˜À]Ù¤ ‚$­$Ëd±Q9ƒ¥žð„7%µ{çÙ\O.&Ãh@+•à /ÚFµNOjÃsQßרí1F ÔU†nèäA ó^ùŒ U•^°Ë«ÂÿÕfN±±¹£„Wø}Û¾–Îeåu1­ÓÉl„¸ÙuŽ ªŒå€XÜ-©âD‡C3,ïS(™yJ@²øà©‚ˆî>aÜjÖ\NSט+8ê Žm†QWæs˜¼ ²‚)ÚDþ™ÒNᯣ_bE€ËxÎA€SFÙz²÷*¼áySÐΘ;t#ÙaÃ’f©r効Yú˜gèÔéÔ˜pV‰N ºå@õ^L›Ÿl §-êÂþ嫸(K~Ÿ€ITN¾sŒì&âô3!9ã¥(#ÊàíîÙ/ërt+B"4kÁgYéX—‹(‡`çd7\[îã|¥XýŸ`€¦Ž Ët3‡iàÀ7¡þ=ÿp©G™ÖOAÐsÀNi«ftÅ+üH‰drÔÆš.”±'P6áí75Ød#ªß¹Á¢ÿ‹Q~øöúÜŸ4O^}*\s°Ó¥$’m܇Žg²Ø_šWšAwŒÙ^*Æ/ÏF\›%ô~»ËíùjOì½5ñ‡ÀÂÍ*¾ê—ø¸Éh…9ˆ# ‰IÎàÔyŽ =oç´Vœk>mAgA ¿ŸÏ¨çÕ‚žŽ¿–Üz6m3ª÷t-0Uß,³É5×KN›WÏ)>0å$õ_äLL½)iÌs£Îœ‹6àA­Š¨ÑZ’¤&+0öš1’™=Éž5›‚3—ðÝ!epUuŒ-®gˆàNÓcâï4ŒXóJ¾¬áJ£Ô]oßDÔjYÎ…ÕCijQmÀб»§ Báv3Ö˜,§ÆòçÃ/5Ãj®Í¸‡æ*mÂäõm¸/Z¢pÜ¿²ŠÇ)UÉhJgÛDËUT#ùfý}pu(#$%¨Äâlôþû'ÙmCýb:¡˜‡ÚhÀO}JMÆ+4„W—}[, Ì%d °Þ%T~D^ì7øÙbV§²…µÛnœCžÃ‘-Í™b¥=%j,ñ4HSSmÌ·t.‚ÿ Ö쀑ꀆ°¬ÈÐq…&OÊŽ@½ö5ç÷"¸'vœ@›D‘oÚþ¬ Ÿ_Ç)[sw÷5'Õ×3Îu8[B*Î^>‡kB­àØ¥HY}ZQ•Ik „ýӶΩ+¿ŽEŽG¿‰vžVà±OÓ?ÔWHÏ n8çí³­p$öF­úY¦LÊíã^×Mü9©!‡= <´Á>æ[ñÎSø¯+"”-c æÍÂ[·Uˆ‰Q-CÅMÞuþGiuÀv«-›ð2C½¤ ›¶î@Â$³âÌϺ??êt-ÞP„;`ê±Í)n¬?€ÂÕp8-;Lú§¬îˆj|8ì¦%³À”š±Œê÷Ú5s@䦳°  ø"j!ÿ•æOÞ{,^Xª¢Ò•¬¼|¿ëìhÒt¯‹CÊn~>• h¹É½M„`­¹€'¬•cZn½7TÍôØv‹ã=#þù’§8—è 1„ª´©Ì(P´])~ðK–0KPc°8 ³+0¬jxí°(¡–kÛ\5IÏ“#Åùá aa¢2sjT(ÿÅE5Œ72ÒDé¸}J1®LƒÎ5?þ?O½³¡‚[—Øü2=aÒ,l½õ/3á ‹k!½{+ÊbŸÈÅi`4/þ½«Øß;sóôÑÀ¢‹êiC&Ö¶s1i%Œ÷–IAì]ÿO4º%S¢!7qï­-©3Å 8Èt~‰ppiÕº“¶ytÐæD›bD [ƒÙO—*ð´²ç² Sc1ežGxŒ{%‘ê¨1ˆæ ú|…ZɹãnÖÏ–RúulqÞH…ý4xî°°\Š RVêNŽ`îüÉf>ß%¶iµç)Ú9' 8t†cPÁý|<ÅXH0èZzô`æ´õ ÜUm(¦ó}ËÊ;c)4ýéÞÀ¸”µ¡¦#\¤þºç9¤PÈŸR Sk äöåO«*ÈM»Ôqz(C$¢RÀ Ì>¡ø#aw¤1Õ÷P¯#©hÄ·8¯UfV´—úq=‹ÇÏÆmTµY"Ò<»ƒ‰°Òc:-Æb4=;? û‹×¹gm…jòVê!&q›¦ô-/úcÏØ¾ «NðÜFj‡ÿ¾éJÕôî¯é•ê*åDYéXÏÑ Yƒf¹PĆ`ë9èø»e>OÙ¬^™G|­7’Škû šŒSI È.Þda,WµýŒ% ¶¼âý¿ûµ˜]fÌ,P[2 ?H‰Aí×b®ã´.KôaL×a4× \ÍËëàTÊv'$‚dhh%I,i<®pЧ<€šÇØ "'í ]³ªÌ…š¦Ãè'ùñähó4ìÓÌq™ª[£¥HÓ‚`|SƒÞuÓ IÀS‡cYÖ5ü»;¸¸ˆ‹U6ƒ—]ƒÂó‡7•]°¿*¨¶C¯ßŠPYÚû;¹¿^bÍKÓ,íÜ {’)Ìåpßn=·:1Û]ˆK»«=)«ì—ðž7f²G[A\§²ÐNèC;!k ]ïÁëÛå´ ´‚±¾j¸B‘É5¯ßz¿Zcä8ŸÑßUÚ÷3\úèýüþVK!½eä8TÖ™KÕ=—\2Ûü Û^x¡$xçò•x"ËÔ;Ó½[¢ŠÛ‚©Ëï‹b(e …Ùî"XÌw OAæ6UÓ ?wØVR¥ÉFŦúÐ-MÌP9 Ð?Äá` £lïn„†„T•ß½Îß‚ú*?ŒÐ>æcËÈ N/¨L¶ƒŒK-?æßiï*W ×1ÛQb ®X³²SÿÛØo F€Må¡Ó‡a«=JŽÅ‘ÿm=öø20½y͹]'Ž3 8z×Hh½Ãæ'ÎÔG>+ä“^ ²ª&ÑÀ©•F¶2cÏ+Ò¤ù ´öBéíQ¾í§r8F¨GJ¹¹ßÔ ÓsÂù¿Áì1ïšÊäàìr¢íÒiƒ†ÜmàBû£BzE%ÉÙÆ\ÉÞ7y›CÒ­ÄJŸ} êÀí‚sý+™ê*¸Å»P/.lägƒ‹åá³È[]O3ËÓ€êØCSvTh™OÇݽØ{ÜBÌú÷Kâz«AUÊÊÈwé‡y}àЦ&·m\R…É/X³]¨²-4™zÐÖ 6Åü¢B?ù}™ø ÔRxÅ\Ø‹~ …eÏW}…Æ;lÈ,Eþ š3Eb‚6åEÙPgbÂ"ÕÄGJ_ dHçÝÞÛšŸVÙœòGú=«B¶RN–Û8Ht§<£yŸì=Ïs$m3"íÞ·KÉ|ÒD$Ó»@ê> ýÙ¬›Ò•aP¤õZÅjRÊ]@±Þ¿ô§òŒbñÒÚ1fÏÐGnØqûAOÆ­¢yÑÍõ‰¢Ø8f*iÔ™.˜Ë„ü–,ªþZ¢ F²@ÎŽt¬ Û‘îÊþôÕV EÅgž²¼’nDç+[°~Ê~4æ9›*{5UŽÒ’Ÿ‰´¯¸Ò“¨Ñ☢([˜y†ÖšÛ§äé°æ›]žL÷ˆ¦¾)£<®Ñ§s¼Ôñæ;ô©¶üÍxMIÇOãJ!kºõò–Íïýlé{rŸ†"\¿¥sŒ ã«8óèETtH ¹KΙ õN»‹Ü¶E[¿S÷kH²e‡!Àf¶³«Ãå*êŠm8‘Ý»ÙÏÚ„fl'&cX Y]¨"žñ³iωIs^ˆ‚l©Û= o'=Ç»¡‰‰è‰u>¾:ºäñ°ù˜„!wÈ1ðJßOZ}ë´Ô¹dd-Û´OqqÉ©/gÁ08˜R–Y§jÈ¢éÞ… `´CD»°JdOc¹ƒwV?6¾Ûc‘Q“,åúµ•T_ÛøAL‡Jæ}WEåm~R c×Úãº8ÁkÑÿ¾‘)­fÌMWË7ÆBYa«Ò¦8›ÚéEVÊoÌjÄc¢Ònè¦$ÂuË4É…ŒÆc¤~t3„«&ü‡­1‰Aå[¸Æ)¼6Àô¥YÖŸ¨…­N»kõ*N[ ;Íú†Y?*ÀGzù:)¼÷)åŽ7BÖžfs9O.‰K¿sŒ¯íz¡FlÛùÜËÈqlô•ŒbÚï b]v/& ÏVÑ»Ýëø?©¢ •«eÍ{K+JW6ãt–éË=”À;FDÆÄ:á±õd‘ë|¿Ò‚m¤"š©õ3軈a™äª%~(8åÞ­O¨Û;+×µýÀXFJ"1_Çêâ—´x´?"âZ>™ìN%úà^¯œuR'«Äèõ4…¿Qy“2/¬_8:˜U«1S§|Œ¥k ±ü!M©ã9Év(º×TSGÞ3$e7è”ÝkŸíç*æ‘&µcDâtõã?RÁ.n7ë×ëë…U\yꌣ ¸„ÙËQl¾÷ø§EÙóÅ~º¢†KÕÁÂýÙ$œÛƒƒÔoX›ã³X±,AI S¶ì¶>BÈÊÌù$¾„x™fÜ/üéœ%ÝPgÚ~/·);]lš¾«ðÖ¹ò&fÄ€ÖŸ¹qEaÁK®¬7ÃŒà>ÄIžù£Ò,àÈ¢ª'QdeŠr¤dçGɵ}“%Æùø@ÌÿßЈâB Ñ7Šœ>ýÜô¥rÞ:²"Rîy{ Ó—Æêsj*ƒ%øÞPgK GÞN {Ì4¶ ºw R/§FÒ”¤rF…S¥`òëã4¡Û'öµªé²ÐÆÕOkÏxÝ®,"²X‹ C#O¤}œ5p¸N1²—y ©]l¸¦šÄCñ”:@*z—tÊæ¢ºç#Ù5úâ個ޢ®Çï„?v—¶èÕɯæäM|ßÓyÀ™,È¿ó4æ*$½ÞFæˆU3­‚'8vü3sG÷. —]qŽ:ÿ±=Èì'XPótýÁù«W:µÐæìjJ‡Œ]EO÷Œ™!¹ØÉ1o ½Ã6Tõ¿=ÖDÙ¹_žk@Œªû½‘" æíѶÖkž.a8’DsU‹ÞDõ·ßÏ9^µßÕöŠÓê „4É:JôÚúÐÈI ™6mÊÏé?#©=èõ1ÆA¹¼”Îeñ°/ÿß@1À٧į7Ÿ²á.±¥HögÆXÐh^Šÿ®UïëôW ÎR“|§¿6¸êœ*W>?M>µ‚¥±~Üðßø¥Snž‡Ç‘9öd4Ž 3óM ´Š[y4ä´ÌF÷–XwäK }ní‘õ=™rôGCâCðq-{¶YÊ«$.û¡¿ùbÔ¡-H´‰ÿ þ׋Ÿ)7ú,ÃVì!åó½’Ñ9u´W𪘤âŒnÖ âUv’gËÁ9NÂÙ†8\ÔÃ)Ò.®""ÔRPêÿÊÄõ›&À4× ±¾öùš±ç“N»VD!%ýBæDz_²íŒ®XÜ%Ÿ'%¼…ÒcRB°H¸gi{ÊùÜE׆gÇ„ƒ*€"¡ÃïÿSæ/ì«àï–ÿë­¤2ȃÖêg›nÈ6m¿nMO¹à¾Ý6z›ž¼×Ø^SÕÄ×ë@,æ¦,p™–vR»¸>lv]¾Üs0âå§ž½©Í#@>o¾ÌùG!¿%:Ë},¡Æý2½/¯ ÙI]“àê'¿îãgè˽^ðëÕæn#˜beо.Ék±¬’]H±kÌãáj6uBF÷¶¤lâît%¤1§ @Öƒ(Â4ÿ<Øh”VçZ Á8«+Ê8ŽŽn ’Œ’QØûùZ @?;W´ˆ¼ŒÖcÿEªR‹Ë`©—þÙ=ËÒJÂ{ŠÛ®%$ £Cñ{7׬€Zù h2 O´Ør4E—X̦n)$¡P¹Ïã2—å\¸Kè ¿‚ ß diO¼‰%-–{3‚>§t»A»wÒÿý^kxþÇz¸½‡à†LA#Ù¨ …|ÐðéוàmX¢ÇŒ9‘ †œ©7Ù_×NôZÈ»b\‰‰ ÐAãÒÀ-v3v¡¼­ñ:´ÏÁ9€f±iFæè¬½Ššò¦-´•ާ }‘ŽÿUJÔóÉ¥†D‚Û ¾y¯'ò0íÉ4”¤õvÑY®ÐA) P»7-\S,‹6Vö#×W¢¬æJ=EÑg*DFð”fm㦼övòÇÌö* ÉùǦáHtÒ!)„Góº\yfuŒsA‡ËóyA²#zý-FH~­gBd°×«ñ>?ÚY `ŽÁ/ƒÛ—›ͦ~àšr€ÃßЊEñµ6ܪ«»p°Ä!H_¬QÏ\†hL†ŠpÅ´PvÖÕÌT= —É`L½»¥qOìÚPeBwˆh5êüo0"ÿ²"úd¼«Ç^ •Ï‘ø®k94l Òü°OŽùûc§+s¸étdœŠµNÿjH‘?è/J# z½²Æ™‰ yÀ7ÄcE‚u©Ë“ÃCÃ…qÒβÆ7œ×ÚÅÔô2ô‰9èó”Ì—·Ý4>UæD8+0`y‹æìq~9®ä[(«/ÀUIööúid«Í0¸×d=Þ2áÛu(h¸{çpœÇÐVŽ›/DþžœPtßšŒ VžO-Z\)H¶Jô'‰2¼/ó_'²0ØH±E5mö½`ÿèQ¯ Ox–kOFÒ™ù‘x¥È‡Ð6öT)¯§ò*jÀɦüÍ‹y™ˆ˜§ßÕƒåRg4õz{!²—*á9‚§MW˜õ4ƱÜKŒ¥\/ñ©EŠÚ8bº¡^-‘òk~—‚%¤(h™vû©lf¤›¬ÿhhAòȀÀ'åyGýNáç£gtÇìÀ yM~±ØÛ/ò¢übÔtâð2 ÛVšCec¯ Œ‹å¾i̽•†>¸ÅYgzÏ}lè¯A¶Íã2x¿?í*» g/×K“a¤ù¡øS ú11pmRc§³¼µ º")Œ[ƒ£5&~­,æ¾`›÷:Þ)b†Äèµu]rõÐ~„ÐrÞö•Ç1m¨î·…tå®õ´ªsî}ã6× Ñ®Oº.Ž©>ðfþ“™lßÓ–£DTaŠ?:UY>Ž +LÒ¶V‡ËR’-ïOÂD.±ø´±­SÛ–‡ ‘ ÷lÁÀ•[ÏãÒ¢F¾§™°rÔ¿ÿIŽÏ¼‡^HÌF‹}ýdÃÛ]ûP­<õ‰É(¬†ó};ÊrIšÁá>ïê3RFCä3¸”+F/Å6qÊÐv"ž"ž¥.´} 3è†ÜP5^÷Ž“/ÌZ!æ~ñÃÀlä󞔣j½T/iqÅfþÎ&6“3ó<–ÕQ= Ɔ”N Þ ó(1+X¨%î5ÒÈ´hO­RiœZK6žbzS2AL"ÖO_,¤ƒ¾@wø¢¶,oèÐò‰Ìøc¸é*å:ÙBsÿÒvªÞ¸q¦JíÖò÷­,PûåÒÿU½RZ6¶”¯H…šGƒÌt{3U>t"Ep³4â¬LíRà$…Ümòu ÅwÃEWé9‘û¥¶4¦®õO Æ›.¯‘FóN‚·®ûFc ¡ ¤ßljR››yµâÅ@ã® .Æ¢ŠHYgàC¯Wï[®ÐÆÞõ-ë}jƒÎÚ f¶@®Î!|³fá•‚Së×в½ADòµU²7›Ž‘‚ö ‡}ÐCRœL§ò\´œH滌æ+oR³DZ” ®ö¬Þ¡r¹üuxsŽ|'d`jÓèB÷GÒØ÷GIÈ77[€xå´ÓD‚3/ÖŒ˜P­ýƒ;§4ÜjˆèG¼Y5nh‰é†1×kYkŠ|âI:´PIO•Ëå)y®¬F•÷¦§„í$ 0ª‡n²]P¨ °4ÞþkµËè~í<ËËû‘3q¨ðÃ<Ö]†¡a_K,ìë$$˜3”SU$kú´Âw…<Ý2™iˆîꪚãô–ÜøI/,HcAfŒæûÈû±zTv-V|”¶”¦IŸ£½X‰ÊÏGªHÆ|ç#sãCø¥-Ôåææ W¤,ÛInÏúîí0Ëí ùœvôH´9rúRp·^µ¢îkcHÙHš^©’‰!ç¨/²Ñ BZÅÄÄpkÕq|ê~ótžÛ”f³^|ÛIâå¡bL»[o(–³åä1¯§L¸U‡Í”¶j2ɯš”|Ù“ëä\ÿv„åhÃ_»è1•/ÒÎþRöà_õeDA…O÷¶ùn¿Ü]GäÁgã­g2t±ú[ò÷çwôdÓÄÛ’ÝrÅ,Ö˜–ËÉãuš qƒÀcuhK‰ðEÐÇJÖLP¤ÜNæÙoåaÎi} êTöç0ƒy ’‰Qw¥Çûx’¼¢þ6MôIñ¥9¤ú ìe–ŸÅê>Þ]~½yf…¡ï$þ,]Ñ©§Ö ö„ÑgÂËf:¹pEL¨ 7-“¼‹²áò˜¹á§³ÑÅê i¹¦|âüD•§xdÝäŠÚ¢VÜìßÙ±î8!–°ð¨Û©¶‰ñÿ{"³šUx#oÅ ¼•>_ *vz€W®¦3,¦Väd¥v¬,w"J`¯§ÂÒ ¶|! QYõrOè\%[ =èPõ,KÍL"Y\Lþ¢ùðûþ¬¦·Ž«Jlô[–žù‚ÆX›ZÖÛÒòPsc@tïÆÛŸjºë§ÎõP©Ðœ¦¢t0ÜñHÀHžßîV]›½5bš/8z.ð!\ ÉWg Ç;Öøpò'#à™q‚>¸T [e­ô€îÚ¦‹²µ¤Ê¢§Gµ…Ü™¨ÛSýˆ4§1!‚uݺ_æq­§‚/ÏazøQù]Ìýyd°„[‘A Ë@Ò=Ôº’1sç Ê$ôz?!ÀÙÝákv‰'3è4 cÎ:ûÛÿö/G¾vÅqur¡©£ õ§BBóU„Èñ9ËÅ@Ò¡êaÄ ¡¡ù¿Éâ`ߕ攔­5œŽâøi 4»IGž~¡å`1a$‹=÷Ð9«ò«‘ –ôî@†Ï©Xd –zˉ˜C“G’K«: L×Á,TŒôŸ’q›±I¤i·½ ˜Ö±’;âÍ·p|tð¡åâ}1z»VkÉu^Ϊµ>92Ö¤ü‚›H»Ž[Ò̸`¯'d{N†’÷0€ŠSÖ[¢ˆ6zª•Ÿá’9é e™p˰ÀA9ÞYîܨÚ2?piúo—‰LÛU‹ÚJe×à¢ÜŒs38VlB9¶ñ~<ò:}¡å›OÕ”ÆÞ2ÊÚ7¢˜CdPìJçJêš®½ yo[Ìy™ºþoë , w›Ô¿Ž Þ¥hØë`LhˆÖçOaÖLÊŽ²´–k Ižü¥„”aq®l’ð« [ÆÃʃñ§*!x<¼n¤°cˆc Ò‰û{zÉå‡*q=—\˦[g•oéyŽ‚GLèŠ{Ú÷ôB¢å¯aRMzڜ筬÷ÚcÅ 7Ðq‰ü´Dö¢›+›H`õidÑ3íÍò bˆý«¡Ä­à ØÅ= ïKD!¾Å~âÆÃn Η†©cHH.!u1Ù)ûD2“…e]tùÜ@A(줇0Ö–üDIµ.௠sÇ™±j#ý‚°ª• Õ:EhйƒivR±ÒÊ6ø-&fª#‰ÊÓ¨¶Ý™Me3ÿJþSS@dœ#GܧèÃržGõgÃà¨ØŠ·°Uj\–ç)oš|¸R•ûñ#2ê…7=Ö`` ¶ùò§¾ úbqü©p^ö†' õÔ¾2ª;±Qe|ª¡X³®›Bq’Y–ÙübøS¬$hÜ-!OP[ÄXÝ$U S-™ð|ê F}%ñS§ ë›P/¿›ü7Œ !ƒð;F¼r¹‘Ia9ˆ§KšUq¡Eÿrò å0ÿ€b0m&QUº­9Ò­¸Ðé[1ê›Y¹‹èc,®óÁ ¿ÞØÄÓ–;4ùZøÆð¥•.—ÎU¥ŒZïð]XâÕ›»1䖉ܚ‰gÁ—ñäÕH34·úTéèÆ%ÑüˆìýùÓÝ–T$λnßijCäùÇ,í³†Ç‘ï± °ñŽÚ­o()iFŒŽ+gÞ>@nUUÔ‚Úå¸1‰‘VÇË<ÜŽÆ2é;©¶"ñ2? mÔ¶‰ ­ïL™)â$S|8kÓ)1Œóº§±›¸ x5]Eù‡³ØTX”m(È“ç@ï÷mPžv:´)?d\-]kÅOÞøÖ›2ûžáâÝeáûOÓ×D<eë×½÷(H剒‡³ˆQÓÞÏÜJ½€òÉ€_lÚCuŸ ¿ÞûÇg]tjž·PàcÉÄá`½U–Äúâõ'«éÏŠ÷WËiȃ=€‚™C”2¾¤¹¤5T³¾§ÇdœqâZ¥oe×Xª‡ˆ¦ ÿÃïô„ßĬâÚ©¿ÂŽ„c $ÜrÛÄE¿‚>’‡X‡- H ä^O•o'‹vBÛ°dkãP1}[?ûkho±ÕÃàß°f"öŠMÿî†Þ· º»êš†T`“lw©,Œrž;ƒŸeÝ)'3ß|;©ÂI”9nßUKY}žsÌ ‚eÖ0H=o&Ó!ÁÎêcŸQ´]8Àô§aÑÉsMÊ#mb· ƒ¤)‹­l†FS(Ú'ð¾OƒÐþó¡Ž‹vIõ™öbKËhÂÓ°š;SÏñÀÉé„uÁ¨ýpètÏØéL)·]q”*Y"¤8X@tùqò³e•/oÿî^eí= È]„4˜iʯaYc©};-ØS¢®ÂÅÓÖ¨s߸[GM®7YûzŠÿx”é£@…ÏÄú¿ô5Þ.²@¦•ÏÏèXOLÍIb´Nxˆ…­0yý«¡!¸¥  æîbæ´42[[èn™:dO¢€<+ãh©Hq·G xÈDÇÓîY—êÂùBTVµwòºÊjg¬g%ÒŸE¿Déì܇’¹3¬}8ù`CÉÚõæÖöö,Û°$¾(§ûÿÅÔ1š ‘ôÃÎ61†6ALÊõ´uÔ&’Ô–Z1ZJqˆ° .¾¡˜›ç@æ w+c†½e¨z_u•QL gñ蹚ÃMr’PF&¾æ|î}íigÆë¹÷} ­‹'CJ%Oë/¨9e_Uj|ˆÏ6jÄ]2äž½CôXUø=Í>nø®sÄØà+ݹ²¬CýkÛï  Å‰º Y˜·öQ Õ;ó“¯ÎôA“ÛÇ'"+ž®Úz|\@Ù1.±™Å®ÿy!“\äÁ”O³¥4Ü7”8eü6P/ÃHeM&][´¾”Ýd>43(ztƒxÜ,õ‚â)išJ½Vä"ÄжÚÞ‰…v¯…¤Íä±xÀ(HФ q"À‰ OÛ5Ö3ŸÁ<¦M?6…¶’^êu¸KÏâ…e$Šc·ŽbAú­u¶u¯B¨ìEVöŒÍ\ÂQ*étª i',ûqŠêÏ©)c \K-e#P*ÌÕ%cq!-­çY7çê´¥v9^’¢ßtôö‚'[‚Zór‘¨^w~šf ³t=—“/È„•¢§ÚØ¢QMm–zc¯³¥ÄÑ®¿^­­¦ö•lë¬ c(ûÏW}÷oûgG2ºèPb‡_Ü„‡ Áf0UÛBvºçu~±:µº6º¬)ƒÿûï_ÅF%î›!¸4{I;£W3‰Íÿ9€º@š(‘ú½¯§ Àü‘”*Žoàeݶ^(sÐ)VV‘ŒGÌŸª Ñ:]Ü’fÑÀ#î<àÒ\õŽþÙ‡-õ˜ëúb¢üªc†æÚLû<îVv!~àq8Ø#ˆJö¿'0vŸnvjBÌžM<œÚTážý?û3Â"+$ç5nм­×Âê<…˜€è›>Á.±1µ5(wKpn.Læ8ã…U˜ÖàRÁÓ¢ïØÙÏ!ž›’™ÛÌå\zÀÓÊQ„Œ5îm•ú>¨Êž%âÆ Dü̈kó„Ü]2Ä­¹P^äÍ·ºody&6Œ-lû op.Ô]”z»:fˆ‘N –»(l zÑS°@èñOÈÔŒi.(F¤Z‹oG'‡ÌžFB”¶Ègض¥ªt~ÛHï–²/ò¦¢™ŒÀsBbÓ­4}NA*ðMÜc_cùû¸®WÙû—™»w?œ¦ÿ`Zð(ÎÔ ¶f½PB½¯FAØËZýnb´9fI·Û(¹O|L´+1e?wJr®–˜H“9(Wã!wÑ£÷Ùü,ͱ™Æ‹ò^;µñSêvÖTヱRBYùÁóÏ “S/žÎ¦ÑØN;4)‚‰+‡P©ÜQÈñ= 1€‹1Bÿpµ+¬Ä`ÕòS—ì‘v§M¨à!:ûy4¿–»F×Û?_h *(V¤òí¥À‚¦yzϪÞUªw`Ù:«½ŸÞ"½’¬P0¤äßÌ^¨.Ä¿¶C“Úp®ƒ"Ê›‡,YâN»"`æWå¦8ò•/s0Odέú®Æô%Z6Kj„гíxguØ8P –þ?áÈû¹vº€îç• &RPò?dDè!Î7Zdzô. vd­¹½Ã@9p)ßìsùó8¼óåiŽïÛòmÎù2YàúÀòÆœn7Uœ¥5÷j¨øüâKUrkî¥eú2*KÏëÈ•ŸiWŒ‘ÐñÈZt[*ÐN"(ÕJUé` ãŽ=zƒ|˜ÆÁ\&€¾ƒBb¾v9¹ÛéÚõ'·ü{ãw¹üö¦è†ï¬0¢ís‚{Ëþñ–u“fçõ.“ÀÅd”û-„÷¦ÂXž”›—p[Íó×ÌÓ"@¾Œüü?-lýý†c–l#‚rt'X6“*µ³*³eV<÷—F¨“rrã‡&ÝH÷^ $nºIöÔïÚàüiüœ3X¨z¹ÛE–…‚E¿¯Kj(Hœ19«vöKÿ ø“ o¨Ò±ÀšF Þ½€ôéŒ,œ÷bœlìZP‹à0§­U´_ð‹“nØÐà)[L€²(ÕK†‹¿o½*x;ÚaÎ}I6¼-YÝátÜÀe\íÆÍYŒTÔ”nöG*~äJù¥¤w䣺îÅLäì¢KðÀUCsxr½ÎNB6+ø¨Ôq ¤4€^ÝP‘ƒ÷7n²ï8óÖü·ŒÉÀæDm:pJ·šuW¿ê ¼¶NçØ·äPÊ2iP³R0^¸)(½Ëšþ/Y„ØF0ÈÉž²·%Яg”•ã—eu/ÊÀªlB4Zíl$.M+Îæ¹7Ê;AQKx͵°‘¤-›HuÅF^RoðXwíNæ i¸_í¬ǰ¹fVK'*òt©'pH(Õ9W¹VÀFÆ*¸L­H]cEÚ¶ä²5s¤Ü5˜hRj¯‘Ìnd[B@uþ¥å(Ï#ÉæOè"†HHI»GP8¹¹ÇûÔ½Þa¡¾ãÅÔó™Ð:œíj¤Ôñ$òKeOÖ±,>æ–9täÞ’¨[è(C3–ÔšÛÛ»B¿Wä€Y>1ÖCÇŽ@Å24D`I°[É ¨užÔË_'\ ±ÕTøžŒq:hÜ$ä¯m26¶ -'#µpøð Ì%ÔËô'Yä•Ãúý¥hýÙ4ŽÖë×,W º”\-4¶k—óÜ÷9R«û¨¿:¼<„É“E„Žá²2¤J$ÓÆ ÚFh%üÄŽ«z-Ër}«Ø_/˜îŸ:£G‚—(ô“á˜ÚèMÌÀsq _ëç7áýkKà<»×²¸È¿˜FˆÍùtù©rK5/ÞŠÆ~þž¼ ¼5·× €œ0 <3ëÊd‰}C6džR}êÊвÇÄ&Xf#Ürá3=1 -Õö¬ù-|Bõv»åSå!›ð­JYè¿Nü fˆ$°3*ÙÎZžSésô¶ÈRI)†E‹o&|1¢k‡0$Bµ…û‚¦1ùGõ¥ûF¸_¡§‘×õAVv8¬¶js3’5‰õ f Æ t¢‚Zð«É3)ªÃ„¥£R“¯Uñè½/f7ô[S";£ô“å ƒéÑŠ:Ñ]<®›Ã«{Ç€Fv ®u«t·B:²ºîV¬·¡s"ú836–âÐ>(¥—>ˆ¯ýÓ~iÝ?” `ë^›*ÊûE:¼5ÓÈÿ¾iQmÀ(%ªŸþL|¯H}B;À½Ž@˜Z£éÆGˆC—°=p¨·6*ROÞµ=ßUùP›²Ìʦîxsœþ°#—…íˆÄŸ¼ O€³â>ݹž`îËßåfü7ÍúÅÏA>ƒê,{K^½;ˆ•µ ÃV3ø“Ö²HUÖ€ûGœÈÁD–*µ]„”ÝÎËXhÍnö^¶Ý´x®Cþ ‘c‘õÊíZàF1Ñž_³CÑfµjêfqûò:WgÙµ²ŽH¿(«äªðûÌh7Çëc”ßò=k óSjaeIN«œB_ïpq’aÙuó®[&æÀyºSB-é€LoÀ¸"Ón(“c?U•Ú%£Zèì¿€04× wœµÃ×Û²[¬‚©°ü å/X«t»ŽxÆ nd(™,^Aû[g¥Gè_R€¯20)iç-”ãPldUÐjž}wðNtÊ ÿÌñµ—&Á…Nm3ĶÞÊ—çh'朮ÚîjCœjäämírö)ARм{YïKö¢ÛñRe°)’«ògÛ›XµV0vñ¿ã•x(5ÄÜÐD$*z-z5Âhí…7bVO;Ýâq¬pÚ\ñ°²Æã£½µ%Ò-çÓ#ÏÏ­õ¯ï¬8SŠŽ “.Ñøâ\»"_vZdøá\}—Á¼&&pF¡¡Î²vü}3,4èÖÌ&A‡1>Aºß°Ê¢PZñàSr’’³9>ì{& ³ 9C†R¾_:3u@ÍPˆãÔÊr'ýU?ß| ³Â/~K®du(ˆ¡©1Ï ¨ ù‡<À¶î)7U…ÅΚøþ*|@Ê‚c¦„ŸçC²)„õ欯 Wk¶W"“@} „„‚·07Ï#Q_”ÀÚÔQm«$SâÑXŸ£]@á•zi¬ømIã¦4ª” è5&b |3ÃÎŽ—¦©Ò…ÅÌ)»s0Zì°UOxñ‡Þ—ÀÍàÍŒs µ™àï)‘†%6.gL“s0”/ºlÁñš .6úð°M5a`’OäÑâ úÆ^Ö›¸·3”)§¥|H²ÀÎJ5-CÿCÍQ•vaXÈfÞz¶ÿ iÑûvýÍ~¯âq½Ã½Èæ;~Y-vÄy&ÏÑÃ7 #|z€ÇN.eu"­’I+-ˆÞgõ{¢²äÈú»‹Je+Ñ<%aEc‚KÎ#Œ¢WH™D1#Ûm—?±9¿}©Bz²“©@ 3ÑòkÒ@Q”%\#]üaI¤ÂM‡ßƒ¤xÏ.;\ÌÝÒ5ìÍI÷iŠýˉ›™KoøjÌ8º#651[ÜŠ(=Ýt>èô9ç1&gcíoNBô5Kýž†K€–èH¦Z€¿0H\ŒfR5ÚcÐZŽ­ÛyÈÈu·j À9;QšÆe´â¡ÈÊ[3[çvîTÊÛxTæ ³LGË?éÆ [¶‡Bp!td1Eô}Øn§‚‘Ë¢uïNrÇÎÎì^+ì}/jé¬C9ÌËOž›ãoÅ­åÔ2’† €!äéoת‹ 9ÒT×ÆÈ’AI;(ž¼´äg™¿‡òÙÐGÕô£€²È÷ºîÿ$pF0¿dGœ-ra±Ò¢™ŒD‰¡Àö °ìY³Û¿äðEÄÝ+L&¿ÝšŒ0G¢›s¡÷Ò'äå­#Òæâqn²ÖÈ.0‹g~å7Máb ã òßo˜º~L‰^«¬×ÿOèAFAÂ…Ê—\F·ŸeŒ;ßÙ%ïxãOΑ—Ñ £A6‘mArx)ä‹´õíLÓÃBsÒBb‹½¾r­òÀ3½]ƒ¥ÒœáU\½µõ”îù PH>¯n]’•ÐÑ*~ZŠ€}éDJSúUX9J9ÕÐþ"J -à/ŠsŒ½³`¾øú4£´_³,˜ZÐB·R¸…j³IÙæº‰ ˆ)Á±Iíö5“¾[¨².|*œ² ]͆ò_ð œAÀ0?ã6n”ËWÄÒ2kDéy² ›pÁHâ_¡ì}scÆ‹k¹Ïù>ÌÌêjþv"1ÎÎü1ˆúì”.oXñòs¯Sª›B­@¯ø*¦—mˆþ•ŠCÇ´¬ß™>a@Åx_Bç§ga™èùËC²~Z7ÓZ•íVèþŽ+ÿ;š ç8höâÌøz×­ˆóDÍ ^„W¼Dþ |’ŽÈs±Tv„y—¨Üu‚à›"Ø7}/ªuq.¦ÿKµæ|…ŸÕœX}‰CèðâmÑhÓÜMü-Ý}ç3 ˆ¦N€á„ ãî+î ‰uMTÃx«™°#8„ÔJ„ E Rð qÁöh£ÔvW¿_EçNÖ+Æ¡^éa’±ÂúË ¹NC"‡Ü%˜kg«áX®'T+£òÅRÀì·Ò 4%âãQi¶Ã0èú"J‘nM(ž±-&Á+Í<4X:ÞŒ Èsûç›îE÷`µ0“gKúÜØ½HN~·ƒÕÛC6Û^ ãM©x´zŠNÝÆ‡†‹äW²/I zd{-ÞYþNcÐõPÛ"sÌÞgÐǺa¥7AŒ³ ƒö#|ç›h‹¬ë€˜sHN¹9µ_åÀXc–±”Xߺé7˜—[¡ ¿‘Ýî¿ø»/¡õ«Û+Ëͦþ“£ñ74þpŸÔî˜Jü†÷ý×xÛU}rY«~!Š…Ù_»ìIîÀÛ U «´¿Ã/8ß8TM»$³°æZ´—-XÍŽÞ®%©†®´Ë+Ôý¯,0ò9î€Ã(\Q8·„&»ýw±× rÙ ø1±”Ÿ/0:ˆ†™ïÌ›¸Tõ4‘±Ëú³À@¼?LÔÃç£S~Ï è’¸Éx’ÿí9RŠ^걄?õm×ÅCB5ýUÚ;ê¾àtoT_µVŠ®WŸé𗓝ÑîÑÔ-¶¬ñ…͸9þcøC`ƃ2Æšýœ¾YÐå±"åÓêë®PS¶Ì©hxÛ‹î ¤`zÞGõYŒZ[Ô£Z«geÓ$ˆ`Æ•V³AÏÌZÇØ~÷©“G“(«ø$´[mG•„0“9)¡Õ†ÀQ˜Õ¾ÿDa°%X êÊ¡&‹Ç§-pc­ìèT¿WÖ•€1y„¹¤Êƒ‚”I„t\pIø5%†'H›UòËã‘cNüÖ“xÀ8VÅ&HÕ¥ZÝñ8„Û5 ƒÆ€½˜ q1»$ìη/‡è?xæ†:áú®¶3Ý9Ù~’û~T¼hT,X­÷€·j›ëGk÷Läf—|c¢#Kÿ‹´ð°EÀ4a,ÇÆts-oav’‡p xð×cY1OÜ=ûj5´ ÃiV ÄÑ«ÿC †’äSŽ+…XZÂÇŠ÷½‘ÛY;m­¹dµÚF¨ÍðïN,öTÁzW‹ï¦…‡499±éò@¼k—ä_Z¶w0þéz…Ö?Õ ñkÉÂh™)¢S’ÃÀ@²Ÿøz]cÓc—og¢S"Mu Ä9@¾L x¶¼é!MK­!°¼JÝ×a(Ð îHßA$ª#¶öVã²tGÁ"º Ep "}ðл†5Mr|P,¤‡?8²zä x@ xíxqq'l$ÿÑNfýÂÁ²÷HÇsƒfw=øeð€ác›kw4ï âJ+zËâyê”Â߇ÏÈýð9@û_­Øš,ŒÒ”Ø®Q6PÙ[î;ë ÁFûžiä8;! ÑýÐG]o•znˆlˆ&zÒ  ¤VZ‡kå)/dˆ‹ÍŸÝÿ|yhÕU Ⱥ¥Øûÿß Ààó‰”ÙŠG˜gEŒlWn«”Q3W´v¤/¬s. "$·]pú$£ãJ¼Üè_£¢(s}¼®£k"bݯ”˜r\”f›$àx›!ˆàŸ ŽÒO¤wÊi…ÄŨÿ8ŒñÇ .­+îq̯eL)ž4“‡r0"È ÒñBç.òãÖépv*ºÕscrf-"Ôp§Ÿµ…{¡éj‘ƒ«ÜËáÝöÖ…Ÿ_ý¤Ûô‚à« ¢`h^,M??Úÿ>~ÈÊá—òzìŸ#_ 6b@~)˜Ãu¹7o’]½ÇŠÛÿ̉ÒÖ\$œ5¡zþ‹)ЪÚ[ÅDD+æ"±B§Ç…ýA³¡„óy‚Q)¨Š‹/ ;`1lQ#áJv.í¢K'‘ŸÄ(RCÝ}Hûœ§få |¹fŽŽÆÂÄÌÛÒ‚­Ûi€•óÓ@Qo˜¥3ÎÏfh¹Í÷¿§…%ûýUJZ_¥Yiv?›éâ Aðw{”û¾À„&»M99ü¨&ôÏÇ*!ì7í‘Íc Û5õ·pJlÝÒÔa1ž-B·³ç×ÀÌÚ ÛÝŒ-NÊ˲¤âX޾ò༴ޑÿ~,VEíÞ ó–Nû.¦ø{K (‰Ó¦@÷k¢)<— ù|4?+S0)šÓnuè¾:›ûe®m- €óŠsÑk#» iQS?Ùwk*‘8Eß1ðõ f%Gع"î²:e$e‘Iõ/~¦:™€cGî~ˆÖùkòÇÊ™oÿ×û]Cùs§Ù¨ÈšB’p¿|—Æã ‰!{ü•Ó0}ÝâŠOýTlÝØ€aÖ°§Öùœ‘»Û”ìwÍòÛ‹šf"ÔØ´´‡¬ÞŸüŽþj©7+Œ× ,àÐØX8Fàí2$!ôl®‡Ž+ ?ñÞe-ŠÐ(¿“¥ÀnTXh:P³új0PÚY.æ¯å‘Í»mQ óPçbÕb¥¶ùØé¸¦*ÅZCcLEþ=럧·]Äðà“^q[(B)æ‘ÏrYt6P'òêO'1’Í+Êw“ ƒ²G+MÔf”ë>Íã%T7îØ/$,ÊtjA M™ìbèIåó}“ºÏ«æEºäZ t‡Úªÿ½š$ç'60ƒ_ŸX«[èØöpúúÉv0ñ `ÀY’2³jWÇtQúñ+J$L(A-%“[xná6= pw€“nóvcu9HP·] õ+ò1#ÐÚ qŒìvÄüQ<:¹#ç2c¼l?òy¶™ªkí^jÇeúÚÂj$ ÑÒQHîoƒjg¡h ik°“Ö\ôð‰º-Z¨_A1Ü=Žqœ`¨Æý„j,lÊ/ 6ËÄFÓ¿ZÂèï•Â$üp—|ìýÃkmîcŒbO ¨Ö êþ.ˆÐÑ…Â"0ÃIt£î÷ÉZ!^£›t W$‘þ3Ã…þø¶¢©Å9@?ú¸˺ŽqÕØ¥R!mŒƒ‚OåNámñ3·£ï+*®Z ¤1Î •B|Èʹ$­ó„°*‹TÍD/Vrœíaz¤ë9¾V!@êhé¶vcT&Ž­:lž3•G  ³´î2`ç^ÛˆñQ9uš*As—Z d´uÜ“´óÇF&µ‡}rÉ8ZwË›ëPÃgLV!Õ¿³ÔÇšD¾¬&p‡AÁ|;ûAuŠADéðíß8ÍsZ ¢öŽî±ð“n¢hQzô!ºQY¶`A›Õ Ö³£lRɤÚLÖ¼×ÞFeÎè¯Ý€ÿ€¡ËcÖàAKïJºƒ ÖÂ/œ½ùM—k øÁõõK`‹’{RªbÒT%‰¿š®é”•÷ ž©77uÛú4ûËÛ%O?”ìÍïGïÖÅ£Õ"õír1è±ô¤¬mÛß cÚ½0 H_rÏ,ÃçŠ* Ë Bg¿ù¤ð¬w}CÙ“Å‚°\…ÏŠ¹¤²H:~Ïaýµ0_XÓ7Ó¸âe–GÏåxUëgîÈ$$Ó[;­G†uä,¡‹î)@•‰4Ðê©,u?lu1¦WZVɪØofƒÁ8’ƒÑ€yÛ,/_gJo¼»›“6• #xM~½8šÌ‹š¥.´gSþ®ñé ©ªW×õu1fbèb¢)—'—ƒ;÷[ôHäaqÍ ¼Êv'¶-3Üe‘ÉÿmÀ À.ipÚ¹¯¸ÅjÐfX-Bý„ÇwÔ: ¯ 3_iÖ¿ÃÂü_±ÞÜ}w‘“E·Ó„{ÀÛ>Ñrˆ»DXÚ+ÀZèv k¼ÅæÙß]ÀˆR"ÙuMj‰Åùž¡ïN¼sì<ØÕ3™²ŽqNSWjaÄ®:KpÒ5¶ƒx³¬Ã½a2Juðg0¾rÃß5x÷ìNƒ~™V¾–«’ bß®=çÿÜJÑ=ÙÔò»Ã(ñc¦ú%$¾œOvso| «@ÿ>˜S¸•¨ƒgxŒê´ì,XfjröÉ!Kå©`.¬ÃG«xÒ#ÞÚ\ú‰*JhÞ¡MÏKvìæ´çé’€…ze9A^–›üó‚Ÿ=«ÐȪli?ŠÉ)þ !¢·[]ÓCìÇc V‹ 0q&áÛÑ7¡Þ yeÙR[ÊîŽ +/a¥$3¬)äœÆ€¡l•-:Xo6!rê>ÒOi‰kzÃ êØØæ;;¶*?/Íœ¨J­¾Äð×ð§ð°{iM.®Na‰M0Ï»Ï_º ¯V°ÈnqsŽïGΣU˜3õ —ÈŽÝ,ÀÖ*liV=·(n„¶Ð]H„_”Ã< ¡2ê…ÜâFwºçc›L*½û£``>(m†®Lå>ÊyiŒÇ)IÊ]òÐNPYÎŒè Ñ³¯(¹Œöô|…¡¯7Ùšîs8+Î…ñ´Ánù?0ê3{8d  ´‚Å€àÕû´ƒå!Ó9B™* ]y?¾•–´êù[4ӎܹ nÅÊ ù8þù¥a™C€'>&Hå—e‰rPsYw\sˆx_ø²ÎîƒêΞ¨¤é8~õ’¹ e Ãù1CÓD>ÕïÃÝû6ÝBìÈÿzr ÄõNÉû2µÁXŽA”)¡ê?LšÕ>úº=)ÄTë»0eÚdagC!=²ø®ˆÖ³@6`௠eÚ+Á}Ž-šü‹¥^˜Tÿm—LV2ŒY‘÷ažýX`X‰ìäée„àW lŠLrÖ@˾…ÛŒtU_)þ—wxW¸‘Åâ‘âØdÅQOCçÇLsG¹Áh#«ámxŸ°µŸ¹`&eƒÇpí`=íUg÷¢µÈÑ ±íú\P†Þ¹ôŠ©!š.*ƒ’jÐÓï?£‹9wË ¢¦Åì.¡­ ™!ÎqʸÑÝ}#GÁËzü¹ÍÀô® -pXkq1t˜‡.E¨/𼿂^³µär¶‹C´tã¬qp0Ø+Ê• È#³ÀF_öê|ÍýÝ›ÿö£,'êv¬0è œý±ÁÎIŽªòFפƒï%m¾ oR±«ª68Æcd…ÀÙháÉãò'lÙØÜßï‰%A„U¨* ŒŒ–!;€ÆÈñûƒ£1¤³¬h†Î!ÕNlÃz]N¶ð³(Ø 3PP5É$Û·ÇŸ®"$°ÔZÙ¤bæ$šðÏßo˜“m’gÈÀ„x¶÷B¸ã‹TI§Íža“2¥JóÙÔâ7¬sš 5¥ïœñ=qÊ¡]ûLÌÔaVÛU¬ !UØk È Á&Èþ:[–">ëów—Í[îh·H Ñ&€/²Å/:ßãP–æÆþ&SÆ`yÍ£˜Þ÷)»_`â{€7ܬD{* ±æÑÀºˆm¢‹®L <-YÝTÍZÅŠc¨|^Ú½?ÐÑ)9À†¶èfª«¶rvÕ6–^ Í7õÖ$⊳džî™ß¨B«^ΆޞËÑz…N„ŽÚ4úÃhúÄ2ÏÀ_3ö!3â¾–…cC#ÿ{†Y³ìõ÷.­Ê½*ü䌇‚hŸ¸Šþ°ŸêùžQº¸ˆ,tüv4Œ"#k-ÿ°Þ[)O™³½ñ©^œs4â•Ý2Ê&ô?ffw±Ë´<ýn!9¬J–ç^ÌïX¼·aC(:†I“Ÿºñ·u \:§N—œèl±ü×s†iIº=¥ÑS†Ä]]Ö™£½GуhšÄMäÊßâœT}ã-F¬& ,5¯i¦¶0ññ¥ƒÜ`’§;*¿„]ðpåsÞwœ® :A£ŽŒm…‚À(x €.Sí´|zV/`Èîq¨³tº!+OI%A[Õ¼?8 –öößEˆŽëÝ“ö xvüÓ5ñ¿(eHd‘xÌ—®§éw¤_´³é·*ßMaòˆµÝ ÛWûL`÷Jî'Á?râñZO¨GA ¨â{òDðXt]9äGìõ@N¶ËÆÛBm5:`å+¶úg‡Y7ÑÍw8n™î0?ÖÕ£WÔ}Šœü»÷~ ÷*Pëwiì¿õ§üÏç ¡Þƒ¼f™ÿáöz(_cŠF~™º[(I$ÆÝù7žÑâ!Û85\e¬¥h/€³è+YJú©PˆsZ¥ÙÄ|äì=îÆtrŒ„ÛÖéõ¨“)…«î¤þûzíÀóœVæJÅ÷ä³õŸ&ÚF qqŸRÖfEAébDE¼’1¬ÖN«ÈZV3_áQQ_‹K&61~MSu>ˆ;iÇÚ€ê⋉ªÜ8WŠá»5&éñtÚf7ßIUDÙaÎ5þ$èl×?¯ –5M0›Ã°”‹#â3v—vWàReÒÌÒpG@,>`"òS@ŸxìœZÌ”Ø$ɪ1µN%|fQ; m\ZÒÍ”¬G ¸/;Öî 5gÏx 㽌LNÕ“C—ô²š#î±e6˜ —dÙ¬{£œY‰rD^«#  .D‰a$èäRàZÆò€úØã5àµF2–Žâpâ)¿“æÝÿ¾ÏûÕñx<ÿš÷ )Ñ$QVÚûËzð•ù)eÁ›7ßš´¨"ìýð–N-cyÀŒVfj˜é×è ã#<¢é!Écï6ŸWö•\8dúÂ0qã¦Ó›áè¼ëŸiÅö?|3¶­j€À„©æàôl Ó4‚»u6nd\YåKÿÒU¢‘59ì»ëÉ0$ð|?@¢7!VŒ÷î³J°pY=VÄ£ÒMô±ã(7‚&™›·ïxúN‡Ž®¿óÙ5ÍD °s‚–'Äwt}D¸]2öÞ¾›Ò }×|b÷üá2Ru0µça^† a)Ô:+Òþ#!aS`ü¦–òíMÖç.Ž_æïµi³À‘G”d±i‹¡©Ý&£ƒ³½üü»zºqö—}Ëêè)Ó$xÅ$×>»!¾IÿDôº¾Š’7ø_ :ON;З@mÇ dKÌèu2Ñ—el\FJ)j‡ï#ÈÝ;+ED Ëfø±ÖÛŠnËÿú84|ÑY[†1÷äÑü´óÅàʧU-ËgßÜž'Ë… ÊÛi•ü‚–#þvÕÁ©ü°*J #èR÷šBôÆ®*mhÍAëP5æN™Rs¥q:9]ñ¤Š¤61Dˆ—1Ÿ’‚!:ºQ<õÿÒÑ]1ükq›orße¬tj‚à,'4y…ÄÂÿéט§T¹ê(áhå>7ã; qñÌõ­ ê+Þ¯V_eƒW¹½ LNÀþúFmuÿ{ôßSu –2\Ã%áë{€š‚¼Søi„É𱹫Ȩ.9f.qÃæ SŠŸ•ÿ÷ÜsÍ!Q¹ KTõ6)4Ýo™(ƉL¬X·,,Ó™Æßf©Lª™˜4㿨ì³Äg¤§– ƒ©“˜³U¼vŸKDþUºMìjíèðÑ7=ç€Üâ6 è*±Ý¢–x,¯a*­C½…Èîc!šñ°í†ž?¼:Öù^=Ó¡ ´ ?¯Mçu?¹³º €ÙxU9pÓu¤ÌåÖÛÕi×ü»IM†“’OíR½É°¤$¯} à[ÿÏVH>gSÑ–/õÒ¬jѸã?k¯ñ´œ• ºY*Jdrcüd0WQaI½®îœŸ$$­äc˜F=Wg¤V§ˆ þ]Š B4bð,úУ&¿˜=;ahÓÊK)&øq^ÆK𔛨ŒÄ<`ý¡„šå(¼õCd]3täðRmA…³*è„LÈ3àˆJƒ̵¡2Ü×­ô¶(ÄÏ^ûÕõ.Û«žŸï=Ôe’IL݃El{Á´ÝŽZi©¦¸.øä–Ë4ˆÐÇ’!G%XÍ)Ôî4¶ÀÇnF¶¸äãV8ÂáE-ЪØ:S€ç:×U}ˆ_¨zû%D¾¨f ®Š³–4êk $ Èž…z`5PDj'Í´¹æ/Éûm q#2µ´÷·„õ› ýÜz,$¦íðkÁ™N¤1ç‹£,ìùQòìÕ¢÷1¿ExŠNKòi'ON¢›ažôËLÈŒXi«´xxj½¶2ÚïôÅ*ßóº¶:pä“*ë?öI8®¢Ò)ŽhoÛ¹ƒÑ &¬Fû„‚X Ž×$«Øa2F·JR¸Y… ì¹÷bRy§Ix&ŸÌHt‚ÿ”/ÛìiýÓVÐíÌ×Jè¥6™®}­C'P°{%;yåuÚ£A„:b%˜f{0¨ö~=wP/È¢)ðg« §gujƒÁÈ¢R™e¤W£wÌœ¤ð Á; ïÖ$-èS‰jQgó³ô~…TÛøˆµø¿Ä5©KÓyÑ¿ï6¤»¾Eä î]…=‰G‰ZEÄq‰~«aÛi雺Å,òrâ«yâ½TÂ’PŒï¶Y×ï½gÒ2ŸÍ[p·ÞÙDî8SºKú¶¢˜È…FI%ý3’ݼ(Ãî› r uÆúuW1ú4†ÓѾzÖŒü[SKvm#¨§ Ë ¡@)/^¹?W¯.ÆÃœž¡ªâ§Õ.FJ =:¹+}ïx`µuÅ™Îý"féð•Ýà qyu)’k)ÿ›±*»UÕç+?¤ö“5¤Û«¡‘gBãloвƥÏhÛº `¢hf>]EbJµ¦E“ÚdÉñ~pH\*ðA(Û}­®6Ò~…°A˜$1ÿ ì²ÊÍ“Oë®çN!s5¦²œ¤¢jÁÐ0-¥~¦Â×ß‹jóž®bc‚Õ*ãvH…½Æý<×m@"8zÜ›7—§”’AežJÀÄæ¯\}¡Ę̀J)¯2WA:nÉ)aÁc¦âqŒ•AÚè*ôRl¤UÁj;ÅôÛ fø=LldÝדR÷;/ª®éF”× ›¾`à¿~Kñ®¦{Ü‚<xmÙëÑ £s»ï)û¬ŒÓ­KœƒUôöé+hÍ}Ò.ªºÓ7‰¦ >¹CJùnÆõë¥É )ä3w6{ÄzNPj¹{ü¯.SQ8tÛX|Äi]y!±s¬ýrŸÐú‘ΑpÙ£«rEÓø”]þAqfé6Øu—\!²<”.½ O—­ÇÀuù'ýçdÉ4Ð"à s,Ë¡yí¤Ã¹þÌ óÛÎk–;ÃäÑõ“=Ijr§kÞm–e‹e±¥]Î8ø?ŸÊª™~öˆÿÈ_þ¸Mr«;Æ ¨Â^7Ú”™#Eï/4ó{¶¼Žß}(  â—r¶ÄnTÚ×uCéª=ÔE@ÃFj Hõ @h$æÈ@«œyd„&91‚RøyCô,iwd}ˆf¾@, Ú\ˆˆ6ÿrǘ ‰€Pz$Rðè´<2xYDŽõüt’‡sû+ɈX*Z©5¡½“’‹âi\[IÁ rq:LG0«€:mž\Ò0€%­n`Õ¹‘ˆ§ j^³7o¶ü¡dh€×Zå¢ µû Ke¿7ª-0 ÖdÁÈ…’ÿ¦w5 …,«WS¾Húí¼—Íá]’¸øw„ë3—dô-õuµYâó4A¶ò¼´î½§Mœ½Z%¨RÿNzÀWé"‚XWgT_héÜGW¬sS|»R*.,Z < 8•+£ éFXl:,!ËehúiKå dçPØ;Ýï ¤äF´}Œdºš*«O«Ì…ô±Žlñµ†häèT O„Že÷Û»û?}X },"9ªôÎõà(ÕÍ•T¾:ÕÕœåYª”égtÎHAø~àÍ#K˜˜¡r?âi0v94p w—27sÛCàrðå^EZUóšv¸0(d>Ywâ°]¨'!ØU hº7]þXÑ\zM‡c¤yQ&a%úÔ:•õ`úÞD%²‰Óð˜²ý/öcƒSÕB/eö½¤´ñÀvPœ´B¶r“¹eZÌú¿¤s¢‚ð؈Ââà}Ó@aý•9VÕ’d†;¾-ì†ÇóCò<²×ÄKŽv¢°"ÃF¾ ¼# ž\½0.òëÎf×)9ç$PÐÓ)·‰3“ö Ý‘ Ä Ü¢iîÀæ~66»Q@sÂÕ¿?.‡‹ø;g´"õUß$˜Y, —ò ×zóþÅÆ)ò/ɵPVEšSã›îÎ:y'C“[RP3µÏƒZêöKÞ¤@4®kéЭbΫ,M·ËÑù´©,is¿èŒxÒP-Ôffmï“€Ìp¸û<úȆ¼h.ŠÙôÁ=RÚ8B†€ Û'TWtÈ´RÒ[ðÕûÝCà»)B7Ã;_¬hS¿ž]¡©Sœ3°o«_.‹˜M,ù‰Ó¼2µ»H¯ñ(4o&&0Æ«S\ý‚àAK”òuAJm?š ÍàSÇýDl-Æ´ NÙ»&¨— ÿâåS~=Zj¹Âø'”páý}=ŠËT¤ØÙÐ{¨n´‹ôž—Nš^+ɹQçOÙbøÎÉI¹ã« 9Š×Fk_*(•3O§JÊÀj ¼G¾€1Ó·hôá›æÍZnÇGÅEaª×¾ô(óÅB7TyJœo{ùnðÙ®£¿ˆêû#æ™ø¦„‘tCxµÑ]äžÅ›â×sÅ)µ^Sº\|¯ ‡ø³^ŸmEìŽD÷š(á ¼)x΄„ßòÑ ­wo –æB‘<ØÒ†©ón´%»ìÁ¦;ê!–âÛ7¦ÛžKÀ»›0U7n[±ßÃÇÆºÁ1àLìÐÌ÷Mmˆê„ý>šÞ‰ko¹I@¼íkŠz<˜Ð7#Ãrfv\ÎjÈ)éÀ·Z¹çÂà ú6±‡é'÷lÆ…B_+–Ŧoað·F _j+¯½‘âH+eг¿Lq2"Ê¢_Ñ2–ÈšÆe#êiAq{ˆ¥Äb´DûNßX¹„ToÃ}3»?µ ØY /kV/l§ êÑýŠâ·ŽLòG\?ÅXFˆ  ËÕÖÞä3ªýºýG—xü4hÂCó*†wD‘õCéFš\ÞK}Ù f~t‡‡G‰ ‚Ú0O·Ë®÷æ&nË’ØÜ[FÇ5q;CL©ƒkì*Lüèƒ_öMd¸’1&%‰šÔún”Í©{® yü›Õ;“évÁ$ KeÄ,"‡ Å™såGK(é&ÅÛ]ˆ0å•ķÌx8cYQ–_ÊÍ(Î|­I7 ûÁPæAÿª}!Pzæn±W{è¬õÒ‘‘ÏôVÿ_ñ}¿"›!ÌTÖ JÔ ÍjAipbrè«e‹nW=Ö+H‰}Mdß LÁÙô£TŸi@×"õÑ3f—;ƒæÐLؽfg”ˆðiÏpvÓI<úŒ$´—:8{’“ ²ä°m‡LÙ·RIÁÄÙ!ÂŽnµÑ}æÍ;àõµ,òœeH;åZÞÙçAÐ8I†pGZü)8ýû;(ÎøÐ`N8£¹d©„¿·vþ_d6p—PI.9M2_b(ØúÙwAf‘±‘zqõºÅ§\:~í—ÊGP],æÝƒ(£%‰d -l0ÍEñcŠkWÏç9uO:=µ±{¶±^ó²#×Z@¾¬QfÌŠ­'ùG;˜YpÒaˆuÜmdö©øhä€1–YôÁ°[AE<¬Aâß)ùS)jd™±‰¹sî¨f-å:øê'ëðúý¼[®D€"dFs•7V%o¾ÛùÀ‚{/iñ†Œ^¯+òö@™C™El)J"ÒJoüv9Þ<2´Æ[¯Mí;û¯{'´!çœåd$`‹è÷•Çkb[sû…øKÊ5ó,ÿª™þ¿€›I”+›ùB|Ri~¥3A¨Â2í@Ü,$¸(5”‰á¥öõ c×#Ë &|¤Ó+"+„­S€ãË^µ+]¯NR»8Zí RD ý½.æt0©B/ y†©è?5G\€-pàç~ÏY³(#SŠ[|„ñäHÐGÂj;bt©YgÒX•X°h[X·Ex{c ™d®,SÄ>} ;Ú×Èã J͸`XÔ…ÀÐ[öB`47€q€¯ËöB¥Äý!Æž ìo¬íûáví.^~`¯xwãÏAØ¡‹žÏ´'’ Í7>8Íâ¤ì¯z9YuÕ ?m¨È$#:ËC\5¯õ‘÷†¥òçT ̸0u›»õº5Œ––?±žöO›ª$¦Óä» ¶z–Léø=ô¹½ú*fœ}¥´‚œE‡ã¹.ótrüíÇû3m_ÕÌó'Q}Ö@É=¬6u"ö È]ÆÍ]ýÆA‡«Rxäø:–TÏËè„°úf•{ä l.£¤4˜ìm¾ $ãt›½‘jh±–Úû1¹×IÈY5è 3Æ7¡Ý²Ö´5×G ƒ0G›‰¬­òNxÖ‚]oC$¡ù Ïæç;²0B«›ñPYôTÑÅW‚æ­âûgâê- ÚyjX$á;m`¬F›”" ŠËDfï6KQe X?=¶írÙ»àçbýp¦2¤‘¶^%<#CR p Mi.#±ÖP¨ 4¨KO´³J”rm½h‘ 5ÙÁ˜¥fJ'š¢ì7yËS/ŒÒ Á­qøIZs=v^œ¼Jc2™ ”Tr»Õ¡¥šÙ±µkÅi Rvg졼­áQf8m˜%iRHCÿ-ü¤´QP† Ý.‰ iu’‹aéçùІ1LCãSo/™æã¶çUC\D(ÁSC ÏÓú7…¤Ô‘þÕÒŽ0x$€)›Jo£€¹$VªŸ:Ï»#ðHø›žmm¨~q´ dŽa]­’û‡ðô/¯TË:¸óŠPùå¹¥á.îw–ïL Bb¥b8j¢ÞcØÿ«8Z£J˳ZÒb¹oP ÊIŸ3ì·ž‚è•'£8݈8Á´^ï?ó…fB©6Ü]û×1Õˆ­‡ÔÁ¢¼:^ÛC­íh.³òË@º-Y’’éÞ¬Ÿv)Û‚8|áæªòž-ÆîR2®"œ»éZåKN½×î½&²Ô«–%åøÃÙÆž0þÔy èœ4áñõãyý_¯¶„ 2;H¸† ,qüAkZëïùºteÞTlj)h¼5¨‹)&¡»‰Èæ–“ãyÍ!eðFðâ§å[—uz$Ó`÷Ð D–Ý`š<9Ðu ì§i^ ¦¶ ]dýp®Š9ÃÙ)¥zwÝö 1Ée ×U­§¯­ËÂ+^MçtPFqp±_Ëãþ Ödfný¶γ£%Q”Û=«*RLµ-/5lIŽöÄf¿¢;bäJéÞâORùXè „ ÆhÔØ£! À Ý4èŒç?]±‡¬E²¨c3iî6ÞŒ¿&.½(#ÖG0¢‰k12ØN!=dHB ÄßáàÉTU–‡ú€¸Ñ›q†Oóº;Ãàoš:N|"f/Â#Gø`f· ¡LŒ©Ìñ§†h…<oãDZý2~Kå™]dƒFmƒ|ôY3 гŸ9À59ó?Ÿ6¶<áõÍ«‘`¹=ŽÃ/nÏË…éÙR²Ç" ZΫIÔ-Й:õ •­§&2„ëA¨¯äh×™ -Ô”!ø@hÏ”ñï;5ÛËK?x‘h-ˆ0Æ$Ðöâýžg“{ã¥ÉjÓ› Ò]ºýÉ,š£x䉞Yé$¸$íøéMF…¦ÖÐQ( `Î!¦¹‚«ƒ£VU Iáûâ²9£ü7'°çO@Ü$-(å|bÖ镤QäõìRG‚ ×Ù8ꄸÙ`kôË}£U ÅÃÕ»™¾m£s“'2^2qÉ›ºüø–ôÛ²ÝA¿‘5´êý<å,éÎû~Û^“šÈÅß+ìâ|æ‚cb›BV„ôÀŒ ¹´òØoÁ¹^G©ÍpõWv$2Ù²›CP/PéçJ©J£¤W¿¦|ú禠a=g&xkŠdºü˜6Nï/¬±Åÿ<Þ!Ö³S6¸‹öy;ÃJÕ\îýÆX#3ön¤$’øŽЧ |×}þø¾B¤+f1Ç•™Ý? V\Jx7¶§C´³‚Ô×ðnŸÛÓ7Bó÷¹€™{¿ä€"¼ÈÏÞ/'=‹;wcC|bøä.gªËŒƒÓÄ] N ©úÖ,€µ¢&Žç ÝO]+R  ·AÆï+ˆÛj"ö­¶øY]˜"îW}“b ÕÞÖڪײ7†uÒI­1œ¯&iTæ‰ö&ð4å}nýƽÖeÍ“¯h‹œôÍ´œ\N§½±Õ®RxÇÀÂaB÷ÈPûe¤0€J¯u¿°¯¦…ÕÝÂÿüê„~^¬W¿‡ñK(y­qCtt;%ÉoÀ¤€2tÄ‘áÚ²Ò[@#rF4gÛ¤.üÚ,õ¹Õ¨”6¤‡¡i8e ãUÐjµEÒŸæ'ó1³géi¾þèÓemOâ›ëÀ£ôxÓYÆ1Š¢téòrç%+¯Ýj{6ûõÙ-‹z'ÏèUn÷9ÊYaѶà©"5™[ærT!`jORÄ›uñzÛzK‰l¨mRá˜i^5ÿÂ:¯0 CÝ];LùÌ]‚J, Ž ¡ó­ò’eÊŸl™óµÄ_oèàÐ š~ßžo!Z¸ÎéªêyRÍþœ:e|Ÿimv t}Øè†š_øúESpž wÌÙ†W½¸Ï|@*—ê ª—~26Ј3EM\t!ÒXþñŸŽƒ Ýȸ‡R–”rAëÌ…7ÈL*¿¸—~Ž¢´¶ãÃ3šb„‘Cô¹ÉÏ6Þ;½Ø?A…_ˆe{ÜE ~”¾ØCÑYQ2F(5Îå2kë¦À±l¨àÙ YrGs‘ž¦«#ú>ÊôãØìîo\©ÙB Nâ«òÏh¥±ä  °t+ñxê-QˆýÁ¤²ÄªÃ#ZhØ"“†,jÜN"ö ÷ö÷8슈¢1:HtÕžgûx:ÔЙe&’D/ûcÀeL‚+/‰|­Gén»1Õ÷á?š!ZÁ1椵S«ìÌp¸L…¦Î݉«~m’fÏ‚0‚ÁDà„‹ËÿËÝdKŸ¤Y m‹ÆR@‚–€aÚÍ"«*¹B.c,Až1êN÷¥êéÚ[Su_PQÚ’fÏrB>ð²²Áʤ¥—d »ã`ñfÜÀM–tôÛtR×7ʯ×Ådˆ_xzAJV4}$.dá]Ÿ¶´ùß$»­è¡#öœY{š Ëáfæ¯(¾wg×\Ó€ š,£SÈùÈB»)PYN=Êã–Pa,^ 4HË=æ¬ÛwáB¢8#À>rà\fUf₆Zh¨7óÅì¼]N!\C)wAh¡É˼ð¡§ÍÔÇÔp‡ͺå¬fóCñÄWãfúiLØâl¥žjçç1¨nl¿ÄâE2ë!ö¦—¹•Ý=¯YQé¼.¯þöÜŠÃJ#ïöÄZ¦ÿ¼t2~H½Cë3QÈ#Â'õæô–ŸÐ–q ÅþwT‚aoK2R¼c¨–³ù«=nMgÇÐ÷Å]Gs!'‚"Š”®ÄiëV¢1G>ÉoœhŽÈso†îB!˜¢æ×²já ÕånºD_І>zl˜ŠÇA^®ã·X[9$‹V•†°PŸßÔw"òÌé§ xYb0`ZÓßÒåümÎâ,WöÖß%9¦Ùl ‘Ào>¬ÒîA¢ï¡Ë©lÛ~(ªîzzAvçI×)anóÞȓʎ^­y¬K>ãÞ7 ÿ¶N{dB뎱†èèT\%8·Ãà+àN‡áÞÏgÑuœUÜ+7´Õq˜¦•N%ÒÎúB,&ãÙl}Žºß¹"MºY¯sM)7Áˆp)“Ê­Ýμ¼ítfÿ_áÍÚ–hj§ÝÄä?‹nÔç|–ýeÛPÖÙ_¼»¿>zJû‹cù‡ÈÚ:žž$ä.¯šï½ ›«O¤je‰ìˆÀŠ!’Vúsóïv%daÇ‚!ý;êAê‘üzö‘¾Ê¢ø{œ rt{ŽV© O?Á:È÷ó4㊳ îz~$7׆ê'øú!ð)üßžiùÁŸÝËSP®*iíNœL8.ïâ˜l^K†p:äjm0dÀÎ zêIrn¥_ÆGJ$}{Ä¢ Øï]õpDç•%Ö—À<»äd.C @$!Oe 9Þ%HصäY‰¹´ó<ß{œ,\¤e]*²ež•÷­h)} %aâ+R&2W3§‹ z\%ƒ ”l…IŸà»$K÷ˆ±Â«Ø†Þß%4úŒàŸág4ˆBnóÆstÀ{Ëé¥ìšþB”ÍÒ²5¨ þPƒÖîEóU)¾–×°`ö¡¡0h¡·åzS÷þ¶Áh ·<$Wy¢ÐkÂ(SVØqJ:¾óï!Í)·¨§XwúBïÚáÞ-twpö±Û3Äš2øu‚Ç÷Žz¦¢S`¾ôGUÉ%É=¹g{ îdxÎ9„×þöØ|iú_à¹2›¹°%GfþÝžÝ]¶µŠZ0%I…¶¢q›j׺‚²¡\2ÅØê5Š6JmY>{œ¹Ô3% R~g-1äŒ`–_…fÔJ¶ÃË/33”ÔKÊFuêP—r„D™!}×[¿^Âì)+ˆ@)1ƒMŒ[œº™ähÂt@±žÚ¯$’º‚ҜΌӢ܎LÅ2”ÓU|&P?×yuÒc_@Xzýß°ÚÕDYÛp™"R¨¡õýG´î¡>ñ\¨–Á€1{çÖM*L»™þ—móÜŽ©¨¾yˆG4„å΢CÑ]šÞŠ ÞRÖêMµƒ‚“lj9]œqvtIáÏ4:@l{Äè+Ú^g0â…VúHK1ÔÚUŸ´¯AÉòX‚1÷Uš0ÐŽËzW?uð,Ö${’¤,ná·«Ó˜ažfÙÀÑX¶ƒôgÖ«—6^ Ý_8øè@§F÷ªœ¥Í5 £/]5|ÃÍ>•æ‘·ö`õ@ˆÆ*é(m¹ø†h”¬™Já>ˆý…*mufgǧx/ÁãƒRÜm×ÓUGß3!ê|^Ö.§›l·WÏ}“yb¶/Y›œŠˆî©Õ2êÿË/ŠNm×L:€x /XfÝž(êœ7ÊHf5›½Ùì}”71Û²{NÚ…“ZÌ^s´ ȾjZÝÃónеMdw˜}ê›~Ÿ[šQÀLg•Ýœw(UÍfpœ¸µí]±Ç$Àßö™3ÝqCÃÂÅîvïi‚‚Ч™IàÒÔ¿Š·Ë¬Õ‘ÇjâÉBÒyt*r¬µ¶ ˆ'‘Ýôp¬øJáfí„•ôåbÝÍ9Å‚´$Z¯qécËåŽî GF£¿Lï‘æ„B¨ ñm&¼Ý”áàmì®Ùç‹ÙäÛoY"É•Òá|eàòbU÷ì‚ÌKžåÌvç}DE¹Ý —ÚŸÝ’¸Ûô“Øý|ßcð4üT } yc3.÷^d„”ìPƒHÄx‡Õ{¤ËÓs Ï‚PŸÍåfãqk@¤uÒwt°ÅoŽïûÍÒ`˜<ð¥iŒ`œÉô½óCçîtyGh0Öª…šÅXòÔÌ£C;Ý{åbl ­íÓyÔQúÚȳԟ`þçÖÜJÏ¡ì@þ»Ý>XÏ3f•^ôPêÊ€„¥6×_É‹¡‰i1rzq 0ØÀsoGêáªe£¹è,sôdU99˜GØäaž÷3Ã~OéÍ:xj†“p„’MÓ-{ ™ éÑ”1u±c[4X¦Â+®ßOœ¼i3‹Œ.%žôX°¾B蹃Ôl¦;¥ãNÚÇAƒðá[Ì=¢…³1Ñ!V¸°9³¯¶Ç!qfðÀÐYB[0K>;,C?ÑJDiì7±ÏE;ù︜`Op3±&Ë-²Ù#‡?áŒ@ÈBO濱…³l|¶!÷Qâ³ù)ÕôÛ­È››V'/Û¤éfÞÛÜF©ÌgQB° 5eüûväcbÇ[Í?‚`-á„a{NÇÌ}SƒÊ}z£æ^“Ì#¯³—ê"E4;J3[tL¥Ëà~o$Þ”íhM8i•¯ýóö‘†,ƒ40æ#ŒÏƒÎÇ3]äò Œ± }`[‘‰Ù»÷ãNðê#úý÷¥ößPŸf[«o€eÌûšUÊ<34Ê}e¿!Ùµ]ÁÙèç!P­ þµŒ0¶zo¬¿Ë%á²v?B¾Cëf+ÖõQg=¸~'%e°:­Lç¬-ýN÷òÒ‘¡¨¯häÄ-n¨ò›-¹]ˆs#=qÖã h^ýTÂKà5Fãª*/tI«†{€ÆúcÁ_‡MM0ðÙÑ%}â“Ω‚¢¶cæêÚ“‘¥ËyP;¹i£ÇfAË·4ŒÞ‹Ño.5›õ¹…\(Aþ wUç áW9 $oŽÙÔ\d¡8ÝØ^TKlºIy[¡¯di?ù?GûàÅÈå—TÐ >¸©ÆhÇmtÚ(G'QÞP³Ø® ÌÄ_ÖöÉ/jwt+„‘ãdþbl{T L¥Ö¤Wúë¿>zòÙËÊÖÇ.eú]ÛeºIÒCèÜûÄëÕ ƒ𢺑w9Bùf(ò‚z½„k)0‡Û¾ËÀ .Žn®u 3ìT¤¢ŒQ‚'³ˆ+A£ì=/"ÇðÎͶ—Š< …n C+Ù.ðíòuJJÇ`ò¿?{uÖ-¾T¤@Ü2çèZ}&”ö~jØÒü2›_¯ó-yØÐlvœ^€Û7N«GÙ^‰ óÔë‘®±|¡Y(ü…AñÐÇ7}° %ŸáÁBñÎ/š¾Êð9t‰5(²B­IB·ìA~£<§N §½âAµÍS“Ó0öy¦:OÂ~à ¶™ VfÇZœ_Bf‚MÏÂBã,Zùê⻜sТX“ؤ~þZ³a«Ë\ ”»d?׃6Ø%DaQÓ)C.”Ó@¬ì޵á^Å_ê¹ëE¬Èw… ÁÇAÆž¬â;¢~h®”ü™©¢JÕKìêk·Ð!MYƒ}ÁekÎoÁ+Ú 2‡ˆ–]úêO„ã½dä §"ºæe¼£´œÖshÍaÔ„×rã¥á(J¸âû#1wÎ;ÏÔ>ÚSZèìà$1Ç•F=ùÛƒ²c@¸%¨Q^m÷ÌðË”BC%¶ä9…§T"™Ò›`ÛˆfhÿðÕ<-T0rÁ_ÏÿÓù÷—;Ãw˜Q«]¯½Î1|B²×ÎàRåõpØY›Qåƒ?‰XiÍ_-Gó÷ºbñE98&÷+F¤[„n™›¡KPo¥OùU˜ãЭzédg62òãW |NFÿïQ…_ÿSÕ6žš9{^ëY³ãl‡Œ §ÞQÚæ—ŸÃÁ±•`ãhƒðx/.øMÇi¨¢™pÔÈ´ ”›ûómæ IíÉ€é8…6݉4{’…åqî2›fy×ä×å­‚°›¸'*hNþ}hv ééö¶àwF›˜cggÆÁ´x¬*êžÇ6ÅʵßWa«»¢urŽ ônïè‰aIC÷jq„š”ÿÊOAÙ¢}íÇ©LÆ^shÎL%g¤3äFÊHLôzÒ¦XìDÙït'Vx¨ïRÃd¦DH¯ ªaÌÊߥÎ#–€Þš6n±wñÃ%äí/¶} §IïÄïÍsNÑ ·—Ýj€L«lW=ö¶uK¡¯9H¡_‘Wî g[_u> Ë9 ?uˆæÿÿ |úT>áϤT®?.‡ÞÛ©˜îú»¶m„Pâ,0SÏ¢àAA˜EZ ^ÈŒ‰õS»äóBW/£ÚSDôz2™bß _cúIÅž Ùð!!(D©­ì@X–É®Ш5qúêÈ›êK€ φB2¾l©] ú„íý+a1ÂRü½ê6Ýè³)‘eóÞŒêúüa~ï®x"—Jp†ùúÊwL€?5›©w6QS—Í'ª!:½êÑÜQÔÖü³ÜNµØË­‘rü54ºæÄHŸ‘ysÕÕFåš´3|NTmg<Ø™¾^¨qœpÔŠO¸ÔãQèfDzŠ'ÄÂÀåƒGðÌsö Ò bäÒ Ó”¼MÕÞò!þóñÑyë(yݼ22ÞÑ]13,ñ|\ÇûÕ¦”£\âYÐê0´¼˜¨ßÐrÉœ.PÄ•mÉæ¦¿]ãÛÞ»Kë±&„[®Q·ˆÀækðÆ7¨ÿ¦é¸Ûè²Ää1 ÿ{Fq†f,^ýøàÃì—À…ôï¡ü. p0ü&· ì9І]-/^u—£lŽæ½±ð&nq‡hr*$‰V“ç”»vãu,»P1t°?œ,¸7["?$ â%¼ºÄZ²¹èÁ¢½ÀêË H¯atLƒ&YhËð-R¦|œ)¿öóâ«qøpg^»:¦†—˜`¿ãª<ÓÈwmüFÛ˜~_ˆÝ#ч µ'°1Ü;Ÿ¤KªÙ1-ÒsJ¢ïrEt|"û¡Édñ5½¨ë\t+%k7•…žÐýÁábA)"Ž'Ñzá8çI9æ/hP‡µ“woBÁ?à[¬jOàÆ;T, 4‡ÿnè¦MÁóño±¦y­Ô¨9ðÅER÷ÿ©6RC­’嶨óAÕ šJêÀ5üÔ™™+•õ²vN¾á¡™´pCÛA8Ÿ|jó•ûî@Ô-¦çÔφȔ•¹{¿Œö´# Oº²;éüÔå­Ù0_šéèxrüŠYJ{…gçÔóýC1c&éb0´Ìø@šþB¸ Ñ”«†Ö ì*Å­˜ýu~”*;š™y¿N9ãg›€w¶)Å¥! Óc~ŽÈ»»Ý=%¯~/¡©üÕ !2›=R‰IÃÏem9ZÆá L²‡©ƒþïrØÏˆ‹hmœ¢àðVþ3þwÐ ‡wŒöã2‰¥ªŽÎcVÕ¦âÔ<)³þÃ_Røò`´Üg~ó{(sI·ÒhÍ“é%p3‡¥]áµÛZõÚð;¥4©Km(½¼¼w/gHõäp2/j•ûU/=.ŽÄN¡®‰°%U³O¢2wE'º3¬59•L¬^üÍûVˆB=5 ÒpŠß€“ø«Ê0,â§›ÇSm^O™§”ÇÆ~õ¯jµÜ –ÕêÊêpq#ðÒ*+ÊéGü£ŠÕÉ?ÈøÅ _׌B‚X•R„úÙ‹áæ+/Ý Ò\)O3qò|ÅÄÚÕP¡ckóÉÀÂôà~ÕEî"<ûü’Ä4¼X°˜­åWm¾ØÖNòË2jq¶Æ‰§ñ•[Û›2&ü#¦Ÿb)túIî™2»¬î‰ PÝP+܃¦ùDN è/¯<Aê)DÿžÄgPJÊð=ÕÙ@´õ°‚jY¢S4 ɰŽ<‹ëWàêe1u'ëÐÓÛµe©NóAq=£Q¤µbSšßwÑ’U,=ú~e)fÁènJGÄ–ºgòÃkâ õÜÀŒæPlΟËíN6°p.±›uÎA M¥O_üô,êá>/rQ>'¬6¹O0 ›…hhå¼&q[ïrž,ž2æŠA¸qôòrb‰bÕv•<A ôÀ·Љ˜°%]¢BhFošÓȰgŽüG£sB»§NYÅlAË…Íx±VÈꊢàf=wÙ`ÍR^b³Ì×…}cØŽÓ ÿîf àZM” T ônoïwÕ~óŸ½ß„»m Lå¸RÜ'ÜáÄPh(—±FaÐWŒÄ”®ÙÓÝÖÏOdÑ_nØÑÁjþê-šy¶:ò›‚Y)«ó¯zïÀ«:º\ Z›ž™Í8Õf’~søWÍD¦[¡,=EÄ`¶ZףʖŽõb—>!•í6¯!/ô»5϶’üPHIŸÞ¾ß¼ÄË’Æ÷_kçóžÏj¹ÿë3¾A¨ Ò-jʽ@4Æm!&j D‹×¾ÝÊŠ‹ž÷)âdf–Æ2ºT,n~DÅj׎Üùª@#yö§Åæ;3AÂ¥¡žà€'¿ÍèūΎ hH%UÊ™FÓ€yª`˜Ì5qçÙ~b‡×Ößx±üe¬.³‚ûLGý*|1½]°¬$ux<\¥ scNCh’hÕ”êV(¨XG∰íä^g®!mUÉ}~-ω!ü+Û ª¢Xon5úrlønÆ÷’{¥ÂÓî­ÛçÞ3?9»ÔlàØ[¥1âkÁTO¾Çr9L}àYhMÝxÞìusú–Ôr‘*’â4ÏJj"q—’ûdÂU3ÿoLŒ:^(Yãÿ9©>àñi!ŠÃ—£Rí>+§Ng'o-0y6]¢³FŒmügŸGÖÁcaÛ›:¨ÈíÌìc"}\/$1#j’ø—ïþ01~ Ñ#· Þ‘KŒŽPçVl”û¥’sðØÈµb¨1XT ;ŠâËÒêoôy9 {µCZ´á6_UzAt´Õ¼ŽûÁ ä9»Ì—TmÅÊj¤sO‰ø^9áùX‹¤Å‰KíYJ•#Xg/¹'A‚¢ƒt>ºŸ'pUÿ½³RѰC.Ò_ÐÑóbMí…(ò~p&¢SGÀõ4kŒ­SŽCÌlËìÁ…>Tî‘¥YJwž¸p¬rôo6—™*“ É´$¢Õ¾Ü$>gš»3:‘¡ ‡7ä<“¶«Î'§ÖÓÑx7Éý4ÛÌØ_U[ÇÿR(ßNcÙxL£G`ȲmH±•©>mÄú_Ǹ<éåÆÒõc®É‰y-ÞµQm/±z.ÅOa2 Ÿü6Vÿ·Ãtp0<‚æ4_Û¨jiýúÅ¥2ð-t±gêØO¡Í!…WK‰§ûŽr`wê¢?ôÇe†Y‚'– ¼v#àDÈ}±wú ¥a¹V†“‚Þž"gç «ª¸`úºÞ6C•'{§Þ˜s.c ë†æP°bXÎLÀàÁ›×Ånt‡ o{CœÆ©¢Qïek)ï†å)­(›ÑÏ[Ž Á<Áÿí ÐcNÛÕ­]fófoñËÕ¨>,ðH챋RR|Lê|òšÝày! P¨8(EL<æN=x¶ÖÏ_˜|/Ñ©(2cÎ×\qÝ’8ªÐ‹Ý­Á-õéÄiÁm,Wdü9¡èRa‰Ù8»§é™ÿ‚³ÎÖЄ [¾Î0m¬õNñÈÐl¿“÷.wûXLƒ{s"¼ÚÀwÀ:Œ np*¡ïntŠRM 4Ð4‡tM õg÷ ÷viÏ Šv1pêšOÁ¢ N€³—A$zkî•JsŠÀ§S%Ö0Žõqs¸5JoéÔ6&¨þ€IͳöšØ:(ÏuÐ3D8ƒÿ£MºT–ØbЛÜu¿£Ð-ÚtsúùÅ^wË­c1å¬Éñ»LÅÚ}õòx1ÄI*è¹JØ—ybP™/ã#ħø³u78Q†/ÉFüˆØ<¨×öŽîŸ}rï,i9tém^Q¬éÆŠüžBà… J1á®-mόƠ_ †@î·À¤uà˜¬%8Þ¸ŸjÚ®ˆôüjÇTÆéò?NÜé*:ˆSƒZÊ ´ßë½·dEyÐwð à¨Œ IØÓww}¶rÜ®µ‰Â©Ò¸EÙgeµŸÁ6ëPTOŽh¾å"xaï#ùÉñü‰?kP¥ Ä®–"¶äþ0'uæB|àÀ¡ѪàäˆØ7 fÍ/­ÚÌÍ|¾« IG !o¥©8 Ø çu‡É%W÷ðéìÈ Q]œ³]±Éw®JÏ#ùT™ù4·*D³°>2í¢øEž_ÌâSæ5…YM´ÊŠr3Â;ꢚE²×zëøï¯‡ ¥þîÿ ‡MtS@h6dåns»/˜‘ïõÀ˜q)T å&c¦YrÌ£Ë3ˆú/šÇãH(•MZ7;ûTIà=,ÞÏ®ÉKée).b&8~¶Ú"œT#æÝRìqhïk):Êæpt)£‘…ªq/Ì™É(o‰ ÏZÉ‚Jœ!q1€3MÿÔNã9}~>«CÑHüþŸZM¦þñx^†ñ£ÆZ[ŠIš§}2É÷†RQF°f×Q–ÅfA)÷Ö«4«+®¥R»¶¤UkxOQˆh´+÷Cñu e~GƬO³ŒŠiO] ¾ÜLm G–íAÖ THü/ •Ç /ÑŽß¹P[©¸k¿ˆûâÑ’â§ Hò†Ý[ EZe‹púêafšS.ðI z™-ª¤« ðíd$fÎí<9~]lQ¥ºìÔþ±-ÞSÀ›,Ò3~¼ãõ5¾yï´Š¸!ôfúªaû|ˆ-if] ©kFSy Šp-=Wb’-l ¹Ju•øi\1A‡}hÄ|@Iã©'ˆéÂð†LÞuÉê€éªB´ô]KB^7†b”ÙÏU"ªA›ðŠÈ’̔ѬQ°²žÅ̶N@5mžánmâ•=2ÆiNœ°DõŒH|ÿ Çô0æ‰ôo)iïÊšäs¦Î@ÄnTu#‰z¼ûæ¼ÖNºäò<µ[¸È•Žm:µÃÅUE†5°ÍG¯íŒ>I·Ïiu`OG3Õ¿ñÒEv7qþ‘°“óÇ„Ó9¥x)¡/«+MSÕW–è¦Ã†Àí(²¬¬ŸY® €r¥@‹ñÛ®; $ÚE”¯°ewš¸$ivŒó×ks^ ›¡ídMn÷´ËvD*© V&/¾ÛãÌ#.`— ³«‚Ñ ¨@$üsÁ «‰žÑé{»^Ö¦žÂgübkt©Æ ›e ÍGh9ZXHÌßD|Ù›ç¹ \"›9ݱ0ã q5~{›ðúÀ§3Äè÷'¸6R‡L-€º§…ÇMãö9NÑ4ëæcK† …ÓÑh†ÈŸ²ã?˜¤–ÐB1¹zÂÓ¡kñ6A;zHyHxÏÅj:YÍQD=ä4›>É¿±”y¥Å7 9SãD?læ¹nB–®Ÿ­È|u¡Ò›Õ·^‰;ˆË~~œ&Z.¥Xq×d+õ{7ÊåÊõëEpjŒ4¬š{?™BsžŠ³ zèYv’nÍñ´x.4k³/(˜.±m$Ǻ®ùEÐk–û¥—Ù|s‚,¢Y¬”ª 5TÀ/Èša@¹pßg5Ñt÷_ ­Ä~D$вödE^g-hÜýµiŒˆÇDvóÁî ÷bÙ·[L3´aT1Ù#?ÿ~xlà–?C›£|Í€L ÄâÀVÑðÉÛQ•¢ž¤.¦° 0†ëÒ|~îˆ`:äkäö6{õ\W•^]­+”áe.žkô¯>4a_ M[ßþ@÷ý†GôÜ™ŠÑæfÞ+“åÈ}ŒY¹¨Ÿ”Z}ýTb¡«üÞðò ˜×~ ‚N»hc ?G<ßF0—ñžxßnÈ+ðî…®`¬ÛVa  jPúúEÂèËéž7ðê§»åY(÷©³€DÑ÷kH £Ö"OÂþïR^ƒ2:ØÈáÿ*îN—%y ãwU_a‚ÎUû1)¿”¤Á·cœïÂÚÿË ¶V{Õ-¡KàÇgú;Ÿº~{]ÍÑnþN7èY$S”Z\<þØŸ½x®lL¤íÒmœ@ˆÈ/¢U™Ä¨Ò›¦×Ð 4‘üŽjŒÂ0 ÖöásËF£™Œ-#7¾_†Öâ«”Rus%¦A '÷†ÿDFS¾‰Ee".{ZPO\©dðÊ¢( CŸ·9¥¤µ¤éâJì¨L›Åî òl3:0v{ßµÝ>\„yœ0ÑèPI¯jÑÝ£/œx€¥ûÕ¡÷²$¢kå¾zX†|C`…Þ÷|`äñ $|"Á>ì–C&f2¤ubЇ{J} #­v‰¸Ý¶° ‚wQA„f. ³³ê1fæ·…ýì-Ö¢"mÒév©*Y9â+ãÇ?Cð0ø"ôZ‰¹\}Ÿ!sj*mK]ý¦i A)€~vä¼`r#'0J—q»WŽ#a~‘•ŽNûÃãÞBÈHøNgò¯D¥¦Xj µ@½ÏÚ9øÉ% TŠƒŸVºVÜ 1(f†glüu¿xŒ{Ö—µ°w˜ëBÌØh8\UÆ3m¨Xã?ù¼vÏè·j;7Æ…6ªn"¸áœ—·ÙëØ#ÿ?€­ƒM¥qæj¹ »@ïïÔ–¢x¼'wõôZŠ ® ÆóŒ:áƒàÛ …nãÌÆY…ívL €0ùd÷·é1Óæì¤«ï¹Kv÷´£NÛâ¯ã„š9kT÷•º¢U_¢€{åËL­†®ë£ÉÁ=–…Xº¬À¾ÛJ6•Tn ‹âg\–×I,Äc§x䯮Z°£>…£ýÜ»–XW¶§¯¡uÁ¨!Fy¤ˆAúQE+ë0¯¨©ËöJZkX<#‘ìéú¬l¢t'îRsè¸ïé&ÏÇ4–mtDÞ#»peRÛ¿”ÉWˆ^'J/²¯"ÇT£¿¢gk¿!Äz¢«Ð™kÈ¢R¢šš°… 4Ë-eq³Ôq8T'ò&w®([ùÔ„áˆj”–H ó3¤ß}ÓÌ­!½6Ë~»µAÜÍ. ޹ä2±w¹c–O¼Ÿß2ìÙ^èk‡=Cí”r¬SÛPYãȶ8à²âͬà@Å ˆ&'º²f1í±÷º#iñžÃÖf¶¬½mÉ#»GFMèw<ÒPã×-Wöí(©D&»,({‹\‘xê틟Ûô:b ‹ïÜ3ÿuCd±z'ùk#YçBÙº?BªÚv±ŠÍ‚ÃC‰,VÝ=^„n‘dz¿#Æn` 8Ôi"D·GÂÛ#ŠÐeÄE¡‡ÓŽ9)w=×K^bÙ†îA¦Ûj­™Ã[24(ìß;IëVÈI‰êÃ-+3+Ó~Á˜×šÅ…ç6Ñ×mÒB?"'(>-–º(çH1© c¹mñ¨v•Ð':u1(*€Žù¦Eº(ƒJ—´éÓ'Ð"¥G*óНoóÚEŠO‘JqÌúøkÉuá&I?^ÚTÃâeqà­ B$ïÓTSbÎG|F&ëc7ÏôÿúYd9ª&±J°²Ã;…iV%QçXQÙsm¤pI ÔPþ‹oNhZrö0XJ‹ ÷½ÆôuÈ¡©tµy2ØÜX~J™¬ inÄY±f ñ.=aGs¥"ôIÔæÕûi–Qú´K$+H2¾£ G/ä³#^ ŽËÓ{yXŽâ¡oH}Ú@êÐLŽéÖ¥­¯#»]×Y"3ê΋Á +¯Êøy’}Vq¶7Wywk' ½µd©h‡ã”qb®äpã¡ãjœÝîDb?+l÷°²N˜o(‰a ½Ñ×É'„¾'Ë97HfR)ô'±uCr–mŸ×¾‘‘gH…äzêF(¹ÂÁÄÕáñÛŒd°$¥í„¼ëg_s¥A+šug‚}9WJ¾Ã¬l|e£¶€æˆVé<ÎiPuÀÕ¢_-š§ä%¨LX•U§Á)«‘E! \z©}ÿ¶V[Í¿`š$sô+`æ}ï ÿD+O`1 ì‡tŠZgv†€7zçÕ·ËÕ¢î¸O.?‚<ÇYØÔŒè¯ ~Ú‘…{b:h–=þ£:WÁDµ±ÖÁ ›Mm–Š­*Þ¢°n½¦Uë…ÃÆ§3ç,h¨|y¦X²a§ßREuz r“Ë–éù~X~òr‘ qAŒQዼ½Aåh8Éñ¶Ó‘­y"ñèºq~ôå”Òd4 ¢8ÿL‰¾çnŸ³>¤é‰è»¸œÛó-#I~Ú¿rÜ-x¿ 4Jò5îî~v±Äi‹É_ Ûa¦¼-•~TÃüGc‚GTÈÍÔ{¦¯àìáTg£¥’̭صá]—* Õøû|ù.Ý’ÕE¾nw&޶ný™¾¯§§*b€ÿŠ$6Z# ‡B¤ŠDµ ôô­¶}B×Üëh:ún~ªÓn¼z¤;@›UÛžîKYà;,ÈŒ¿4É¢dÞ•žMTv·$ö^” ’‘+Ä“üüi¬yšBû2ó—Ú‘}Ñ¿òî¨Ë‹«#"aYÌ1?ß_t> %á®NLT¬s<™bûëP9K‹%ÆMnhØ”ÇA}úêÍíæË $‡z-^ñ‡Æ¸_a†-]¢4alÀ`ý_ðÆ BÁ_{%µÍþ¥*Äþ©"p˜I¼ûz5ù"1|l] o—[ÒÒ(×ù©!6ø¡”Z§¶ª£_tSÍãèsaX£Œ± wÉ£ˆ¯Æõ.˜Xvdi*Ø& SLJuÕÑOG¥É³P(>`š²±}’-·Ä‡åkû53Ùé‹Ô¾½Þøâ¯ÛÐÉ5¬Š™“c N`qÏ¿J@§Œ‡ûCv7«ê*޲SØÃä•$+µ¡wŠw ÒàMÉô?ïß^#¤D’±‰¿¿sWú¼Ø$´‰ª Ógrĉ(–žÕÝ[ s#qîȹ?y&³ñs'Ô¹É[S†Õ ¨FYí0þìÊs±z{?OR’Š|wî& 4¬’'h®¥ðxg·A:q›¡² ÖÌã9Å©špŸXCÚ 'ï7ºjל:H¢(¦W aA~M ÒAþUv.Ô­K7|¿D<³Qu&Oú¢SwA2$;ÔowZ¶³ Ì”M/Pa#ºn][ŸÙ2VàHž ŽjÜ>]¨)'¤%ºzÖ´%~‡e÷ÕŒ]G¦_µ7ÕaÉhÌÒˆ‡Z-¾)v«±ƒš’ZbG° ðCy,åÎu0Ƙ4)êб1:_ÃUú’ÊëÀ{6à‹çkíÐ,ÝI<þU#â=‘F%!ïÙªÒvÇZ¯+Gèý¼:äZN<-ϨnÜMÁ—ÈÚý*-k´‡=á´Ï‹LMÃj—·µkæòwÂ,U` È§ÿ20UìäDÍ1èÉŸ8»æ[xo³=Q¿‰Ìï¥Ýyâ°…9‚IŸ˜âÇç±[…``þ»ùÛ#ÓêÐro/ù"qòHÃýAGHJf)ø0qÕּͤ2O<ß%2Ï”‘‡’¿§bvÛEe¦ßÅw~ê8$¨{*p¬òô¨9!3N¦©çmOFq1iþà¯Ý„~G8F‹Ô®Ÿ î½[Í› §¸¡%WÒT˜Ø«%…=-ÛÄ‚V$ÓG­Q%õÞh„ò‚ÿû‚ÑØQ¨Š(^ò^ÃiêgÜZp¿dý ‹–LŠŒ~p•K†çä0í!#R²¡Õ£V>R­­ˆaÞ N‚Y2&ÜŽòTPꩱ„ÂuË)ª@úë‚" [p@ ‰:Š¿ ¤¼XFÙ³î¼oâÿU²YÎútBYa ‹Ó€I•éH)IoH‡Ts×W ®¼%G.åtêÖ!ÉU®%Lðw‘ kOµ˜¤-¤Ös‰ -éÍW¿ú†ÝߨríÒýßqq"™\Q-Odb½ÝÝ^ "ûU­³i~ûç¦Ó|;g¨æKk_M4 ÝæÔã³Õü`è-É]pêŠT_Jåªó[BÇ<1%\ x8'íæR¡zŸ«çû~Õá]'ŸÉ*\ù¢+ôWk)K¡jbû9xBܦæY…¢/×Ì@Œ×‚µqlxñÔåÛ·p|Â#°·† ‹Ùeùð!LP'Œ¥»íÒZtöiö&!i¿ˆ~•Ìqȱ¿Ïú©£ŽÑ8bá™Ëî`6™e@ÊÔàãéŸBÄ-º<à•íÔÔ _Ìf¾\{‰w'¶;£vlÒ¼5ƒÛŒCQñ'KýaÅÕ·yhÂVîI¢û[GÉ¢kw“ÄÐ#+YÑmøfα34صo³Õàt†Ëù«Km¨Ý…ñÏï°‹§ÙUÖáâJ¹ËäPÃK;ReŽ|»Z×€l7³o‰¦á ¯Ð”žq4˜É^ùÎKªoâjñQq€RÎ0J° 7ðf]WÄUg0GÎ¥ŒC+aÜb‹“$qêÉ@$´œ]™éÐ…N¦Ä—/>sË¢Ÿ,c¡÷Ä¢¯Ò’ÉlÔ¢.Uìrí0ÐÃ)ôŠœ)3Øñß þn'&áVkÄ!1¸­ÛVKC¨Æ}t26 ¬FiÃåÀS÷h&”[¥ÕYqPd ]€Á ®®ô\]®}Ln.xù&!ˆCÓ=k¦Ÿ‡²© }Möò„† Ýïw]6.^ˆe|”ÔcYw?pæòm6ùÊÅÅU²)LÃÃa³Za‡&Mù;ÛµÞdZ©*®^»»ßóDë^Ono-nÃiEät¿ÉZª a ÷!³^.ûþ:w#˜y™Dê$¿·þÇTÕTC(¢®¼0 ‡ð¸yä*N;ê¹'{ä½“àæ ã4òÖ-´—3uhРz>ˆŽ¿·5æóV{,ñ ·U8HRT™—påÐZ€Ý—ŠçY]l¤$•€Ec7à Ò@CqJ»Æ-k®n_ ÖÖ_Ûˆ_ì:”¨<š¬hº‡âLE®¢1L×gÇAƒÅ:4= =‰¢_.6ûá]“ߊ Bàß'³Ã#;žÍꢬ\~ß}·_÷vQE“ר×:ÇòCµE&waA;Mdó‡CßOÍÁ9Ž»‡r8yË“Õ!—¡¿ŒØpR  šjKŒµiîÌܸAšk¼¸Qé»wFÃmšöâ š.¨k1Nvÿ*,Í…]œæ\:ÿ^¦_>iöÂëM­W èHÜÉy|8æ$©ìñ”‡©Ú"{[¡å×FÍBFL™Þÿy´"/Ÿ&TéÙo¥ÙD±@¶[w±!ÿÛ=E=€àC`‰ìK4°ìŒˆLÃŽ¨¡B x,“¶{ÝÓØ†¶¶[OãèÈŠFª+ ¶Êå­&8†ŸŽg†A3éf5ø¼ÇÁàtÇr‘Ž+)b£ ä‚ß@} Ϧá‘Q¶R‹c¤·KrmO­Å4¤"ö°dXµ³*KÔêÃlɶ•ä2ûrè7ª„[»\ [1¹øCóe¸Z·³ƒÛxgÍzˆ)zN°M)ýA?)¾¬÷êž¼±nj´µÔè£bo6Ö¢zV# Íý“ºQäªûe§næÜ& )´·¡ð‹ç“3XÎA Ô¼§ >ÐÚÓ ‚.Xh/"YÌ¥Šô÷\Ô˹7à £h§+sbãÓb€‚èqÊì5‡C’IUßwüKÀõ¡Î´Æ–üF øîâ“ð›ø²BÙúU-üAÜr‘rÚÁ·ÜŒë½º æaK?6ëVB¹D5ÏßåŽÆ^Çà§¾ú½ {*CC®Q][‡U°…}îcµ#=«Ýš£(¥@P= ‘Ü+®Î/ª!’VE wD¿E?=,žIÿìÛòebÙ$€J_Mü¿é,SÞ_ ÌÀ$i^—‚”_¸%ÄIlŠcÓÇñÉR¡Û·¾­Å]1²¥)”U—«ÜC}ÂN©ó i!†F-_?PsKcƒP4[© EÝÖgˇ"ë,Œ†à¬Ê×òWy»µà¹‰™.àœG\‹ŽÑ j—.‹e@lÖ&!á?È«îüæâ›ª«k\jGhLà¶YØ%ÎÊø çɲŒåä²áÉÄ·x{)ý6ùa!W#«ÏȰ­+¹°ûç î}¯¶(ŒÚß›toŒPÍae¼‰Ž „¸ÝØ:Þ%D±²b3Á{B`ç/&b4¬ÖÊ¿…#\¼çർ—Ö/‚dH”ÀÃoW¼Vùy&ŠÛ®Ú`ª9ÐÎLj‘àJÀ7tu‘'<¿ÞáƒÜÂŽ†^ÝcBñ_òþl‹Ør6{ÎY³f né ËcPb0¼1v>¦‘þ¾£`kù_¾FÎI‚9\ñð{Q îQ",´Ûù}¿§Ko½:|Ͼ±Õ·Ð/먴ý=Æ–9.r†Êû)ç©\UMûÔÞgùYA9̇)þTê´GßSd»[¥ìH•dŸ",p½FmßàUì÷²ï‹’à‚»$V…ÆÐm]V>¹`&æãŸÓC\fg¬ $Üy²"ÚÙ#ÈÔ=úë¹d$E¥£§v±&ër\Á!È¡NÙîi£k‹@ž‰w|¦>1™+u<9ž¤´±î*\…1ê<ž#»}¸~«uY‚„¯›IÊALÐ¥Oçš·Ø[eKô "*XÁ*ã^g6ÜÞ*´ª4|Mý¨« @tN—g:ÚV.°›±˜~I“«O vŠ›H/®>˜WŸÏ*.¡ˆ-¼#^˳ø0ŒñþÒ¸Ù¥¼6Ãյəˆ¸Ó>TÉ|1F‡ŸûC’ø ¼zÄk˜â&¦œÕ¬],n[¹$x²GÈyµ‡ #™8…èñ/æ÷;ú ¹Ô¿ã1öS0Ç!$Ü$Ü þCænøÀ‡ÍÏöE$!úIR¦>¥f»û&¬È¥A¡õk%0ôjeËÚ.¶Ä¹BáƒÛÀºk¼ðh©†=’VqFÊp‹…ò€d ÍG;_7`çÆ ~»¶bà—)œœ©Úç@‹ƒt•BûßËa“w=’ þ·eáÏ··°[T@I»gü{w® Œõ7I­„ᨭÙNC¬…kvÔÊ®®¡]+¨C¡”-À@±¡_%hì ¶þrÛpÿ ÃÍÝB™•U&q3ænê'½–©ß7ZùÚ`õÚù8¹jØJ.qž›ûlÎU®ò#!AÚC¢j#Öò?è[AýéI‚Ò³ÝWdìà•j6s¿ö¼õʉt!²õcóà1Ì7­™wZã„kK¸~@ä%4H×¹TÔCJó<‡–º~h–P[TÙmÁõêŽT•X=r˜ø…¢ÑðS¢ƒÔÜÿ ‰ @ÛÈÈÐÛ›¨ÇÿàfŠp”ÒzôÀ?ÓB×U¢KXËÛ‰+zögIyR²‚›ŠŽeHö×<këûª|ÔÙ‡yóUÅ¿>E’ÅŒíÏÈ'Ñ+t!ßñ7­óËóÕÕÐO`Ï᯻¯O_N@jÄz0+ªßĉå#BØÜßFÈIÔ"Íiú×b.§ÀÆÓæÛÝ^¬Èâf®&fÃ2)ÊÈÒv“¢éÂÅtÕ±õ·&-Ř_4ñÍiÛ+læQ$-V'=-¶ììóŒûª·/hàVDp^´vð2ƒ—MÌ”«óné*õÄ,^ŸÊ>/+¾»Ý_û80þFÞŒ÷çÌÄyÇ&‹8îE962R™1PPLÝJyb€#¡ƒ¦Œ7J8¾©æWe©pü—a ¦ê¡ªìì…"÷ýEɃGc;¡a™©I™Î&;ŸÒ´ë¼/›‡7]øB®þþëîçöd»£S7a9)ë÷Sóà®ó¿E„çôøÏÈ6We]XHÃà¤$Ï9ätRµEQ0žÔˆÍ^#—˼kx­–oÞLxÚö¦ZßKÞµW5¡b„Î`q âDÛàÏðŒÇ¨o’ÕǦ’ÇYJö0l¼W‘• Ç“""$ð‡Ä:윸-‡x0íÃ1úpH(C ÖŽ”¸;YA˜©—&ý{š†ðüEûß Á„,}! ^ì›IyµÒ5Þ‡}ÄRp¯ïsÓïœI^!Ø$·­ìµþg„ïvûå*œH'úîï¸-8ÇËïûï­Ms>+U©]¤Ú•À:yé5«½Û=c…²cð]|fÕB:Ë@Ä@·º‚ Ÿ¢/ÀÖ`SýšÖ}vMêÑœÿb~µçöšC„=ÜdcYg«V®è<Ї:¢¤‡oMT§{Þn5ùŒ!ìÐ`E·[°¦ST À|Âhx £ÁˆÀ•NßÅíÆû o*MX.xcQÎ'd‡ÎŠUÊò3Ê*Wêå¢sÒQ¬ìh2çtg¢t²²p¦±¾Œ•$D ìÙC #¼ ´pƒÞ  °sËû`\NÏSÍ—­”}g¹•턎Q0Ôþ×NéIA|`w]ííWô‡<`ÿî×ôÛ‹1/ŒXUSÏ·É󬢑¨tÒ\{júDƒÏ¶Üõkýõ[xñdúÄ›/ .ô}Ö8óàñ>¸ûÞ³e8ŸpOšúz MMû/(ËùŽt÷ݳ›ñe«0^•aUÁ¥xÕmk.òúL‚¬%§^DÖe8ëgÖ‡ís·¨Ý€1i>½uSÈè\c s/ÙÝP1A ¯ÌÉ®W41l”f*c¼UÀj/@ƒwW©þÎÒÞ=ûÆøâ¾gšJ1a†0ŒîvèÄ«;i‰¥ ·Å<¯Jç³û2²ÛQ'Ä—>{b"W¿°Ï¬Kº,#ÌßzA¼³Î¿ñHEBÚ XÑnW—Ò]O°„.©¸-²SÒ¸æÀ'J†’]ÝP\/0dO2|RÅ»f DhujZ%ö¢¢•ôG>s½Ð0A%øqÑÜ¡+_ÝO4>Î.IqǞěO áþzáˆå[5w7ó×+¹e>ÚÕÞÃsŒÏ•ÿW!³ÉÀ­Î]óqÇF_|¤Ú4RÌÏÿká‘´Å ~¬˜)Ü6sÚÚð±‡Ïß*<¥iÓí§¶S3r*£8“2ɤ7î8©”;‰ÄRô¤B}xDìÓÀm ,c¯>¥ ruúéÈhö)"¶¿œ¨¤a ‹—NIò“Ø· ïí£ôYoÙÁ•‘(5,\Ô=yÂíÁC/—!¨I=2óÇÕM?wvËSÅðWj@âµb|p7€µ9ô6ÈWÎ]ývgÝ|VùëvD®F˜$B+ÐM‡SÅ+Ï «ÝaÝðk×ݦãíüo+vÈþ#ºLæÚ\‚Ž9éË½Ž¥¼‹¡añH퀟,4½GŒ2~%P 𮄿iA×Nùo¶gÏTüµúd»F äDaý:Y°q(Ôݨúó«Í(| v¯ÈEdÍÔ®ëjT‡óAð¢m½„€Y;ÊCׇ…5D0Ä¿Ð/¥Š<v3uÊ?À–X2,`®Ç”_\Åà(«D^ Öz­°Û~¤“nð L¬çÛÄ%dàR¼w)3Ç7(¬ãaÉÕ$8 6ŒI£ÍÊ\IU?Ü> ó¯0)—1ÓÞ­Aâ©Ðº¢·æVu|ÝÖoŒv5„´ÎÙ!t‘—ņΠ:†"?–Ô5l ,1kU88I×ýG,Ø8Ã]ªÓw¼ÇþÅÇðÂ%èà=]‹Ô9ó]ÛC.@RTã¶dÇ‹ðÖ¡Ï8ãOi²âú¨ˆ‹g3)ž–ˆ÷\:ÏÏ[Z›{ò¿‰J,8ÐÁâÎ Ò7 /¡Ö+º×æsIn9›ì|ÀDÜ¿H+´dð†gd^ÃÉIWnWdþ ¸½¢N$™*B9EåÅZ\ Ò!èbDXµàâÙYmlžÍ\îË7|óóuÉ–—b‘ƒ©žR8’ãûø˜_]:á_(e#›ä8ahšƒµ<Õí ƒOÕ€œ ?T%BIƒ+ˆ-bÞ7^4Õ MCˆæÄ ®Á›ñð(rhÌ>Gg¿Ü Þ ÀéjÛµˆÎñ;ŒëÉú–/©zôà—€ì¤oÑK„‡‹v|á}ž]ðQPŠUXp÷+¡ƒœwtˆš»( Â'÷ÏýÁRl,¸4c’|δ®B¢.ëñ1é¦Ü„©¶³,ïϯdûVôNñ@býÑ€-WÇ_쪇è¯Å‹5{LŽköeòW;×´AWĉ#ú\ŸÆTq–ciß¡…W&ûµ¥e^5Dp±"óªbÉÞwúÊó˜]/IÜÙøíÔO·`‡Ñ~¼N, û攎ÔqÕw싟š»TÁ²vñ sO%¬ïâÒùùAø¶sЬÅÔß5ÏL›ÎâÝ\’°ÝeŸlõ–±žæýàEøET½¥dŽë” CobˆçÅŸžÐ[îeÇzRæ›±¾ìb"ým0ºgãǹý) o¥ÇœÐ¡Ÿ©€øf¦A R›Ïsïî.ê͵ qðš¬!· ZRQ±H̳Õº2 #X…&‹Ë×wQ”‡²æ{èä¹éMŸìŽyèEŽ)yl ëún{`õÓ¿ï½@_ÌD¹Ì<áϺN)¶ÏDQ•¢üO7Pj_ Ù{¿j@kPüÖ¯? äŠÎÝC«øÂ†k!˜]]XðƒÆAü^ro ü/ÿÉ6O±öÃ[àž„”F*ÞeÍ 4šð;‹‘éó˜‘øQ€PŸƒíó4}ÙžËaƒž·úØÉƒ3 fû÷¤ü þF@FþÄ— pç™ü’uE´ô¬÷©•*ÊXŒ`–WÙ·~QQ¢Ö4îâ»Þgšï:|NeÆ¿žë*lØ&Wöv¹×,¦/KiÙGíŽ(–m]:Š Z³ytðÑ>•Œc Bçå·Vœ8¯Èw@áô1SJJ¯Õ‰îzæË'æ²c¹øÀª‰‘£ó:Fèì¤A%„ ×߆„Ö%PŸœãîê R¥PчèNðµÚ%ÔÊNrÏZ{ÜÁMß¾tDî`g»9¾³\…ññ#÷5ê½ËíŒf5ûô7C&¿(Ü;öÞS\…ãRus[ˆˆ»@õ°ƒçÞ½2/>Scãýÿ“LClW«Û “G_{ÌœÇ^ßbœGÖÿ'û麷V Ù¨JèH&>”ii) ¡Óî¢)•×€kr?î^ÁƬYáf¼g‘Ò£˜ŒP°Î³v³0*ÖBUFý,"àz$È¢ò{Ã( ƒ€³Å:+EÞõ60šÕå$£´ixCœB2O5ñbmèM ¢¤Ø2þ™ä4&;å >—‘œ¦‚‚JÀ‰çG&§õv7ù¦¸~üv:Ñ¡ S6ú7³w“^޶Y‹9/¾tûÅåcKíü0uG:˜Ìï¡;Ño—w}M$×aÙ¥®óaìÄËü0Œ1c cSVó¦û¼—]ÓÉ¿ x–Xÿ¢ïˆÑב 3õ´ß€Y HTX©ÊÉ>Òåè¹”8ôÊ™?Ëç/Á'Ãû‚5å˜Î‘]¿0Žî½)&e ËÁüý#°Úæ [õQLíìçÛß5Í6Zí±óŠLÂÞÂ_…U/SÅÞiÆú±™#4œ±#+_ f õxÝ)m_µí¤s¦ƒ=Ê?ú OèXÌ?[“Ý5ÝçHa÷Ïët®¯ï5Ò%¢¬äÁ5Ÿ6 S5T-fÃ5‘ò›îÐ}ŸÑ'$¶Zø3QydËÍó§*iAæö¼ «ù›4^£ù3Í¿ÁïÝ|`÷²¯ÝžAíóJêÅX ndãÓC.$Ücwe„â5PÍå™êðt?NéOlõ|åﻚ @ýð¾—TŠΛ˜,Ù_ãD¿ùÆe¥œwÄÔGLôB7 t"ÝòÓ(¯¶dÚ †ùp’´][ G3î ®H” ê‡ó…1F3IÒ‹¸ `JãÊÔŸ„r vÓá¿‚“Ia¿#êV“‚o0”)ÜGš–à=Ž«u‹Jò}ÁÎÉy­‘áÖiQ¿Úζ„o˜ÿ!’$6Œ‘%NY¼–ÍEþ® ³D9œk±$6ÅÔàË£ˆ?¦yŽ4ÒOeMEªt`r`Àlâùb[…qYŸeÿèµ^¯- .Ÿ¤‰ž0Ÿ•ªª?%Þd$>YCN[ÏsŽ?õjŒº$Û:œXú·ˆ2ÎÑÄs}°ÞcÆèSÞRËP¥Â¨&LJŒßzô®?é»%â’žåA|$ª ÛÈ\0o¹¬ó;Jê*é£ÿˆ> Ó7ñ-µø·¤ÖL%Ž|\-DofâFì Q4Ù‡ÒßÏ¡±»zÏ.q8Ç k«‰X½ž@Fa™o_©í’_’2ÖÜñM£o*1DÒ,2à2G^Ç,šý’ã—|•o@ ò'5Do7CŸ.ö‘[’ÿ5­Ë"€jvDÚð ò ?~ ÍrÆzAP®{Ê%¶éÉ–K¨ •ÞgL;\AÙH¶ˆÊj̈ŭ¼[ ‘ît>Џäõ'õ&‹–6—Ü''Æ•Oš¾ŒŒV›ÊpËü‡°a CLßÍÃu—@¹OžË ¾êÖ6ÚsŠUœ0TØøýoþä2Y¡ÔM±ÉQøIoÙE‘Ò*A…¬Ø^±:«¨ˆÇÿÅW™5d2ðøÄ½ºšÑìÛ†J¼-¹‡.¿¢ëþ­«¿7d&L™;ð›.szÙN åÛ>—1uãZ-!×vÄ$U5à´>íêû%Ÿ Ù¹”Žsw»tÁät;ޱ ésmqò šL’脼Éì\th§Ÿo·TÜ‘Œ™ï8Q1ˆ*l‹öóeóŒº8Äoߎ\bIç„d¶’þ¶šòòrÙç â…ƒ‡&?'#ÉCP6򾂦³ÀN`¥7Yž–¸à_ø£yâ,vÃ&…]ÌÔù™ËKòfÚb2ÿçãšpU÷ Ýløa,ÃsÂÓ·,¡—U{´šÅ—Î+Ìa?™––s|{®FTŽØ_³Hµ3°nüÉ 9î²»D7ØiwO|¡‰˜¼)^[[”Spà{T<=èr©ØÙÓÅ"Åá†&Ô ƒ@Ê<:Èг‡1ÛÇÆvû¦!oøüœ,¬z“±h5Æ+ð36Θt‘2ˆ?x¶ßG6¼~VM¯r–ãw u4ú~]![Æ%X Íi£¿K#U.§XÀxEhë/|’e ‡©‚8u&Ý`¢ãŒSœùúx7ÿ—ÃBì*—ÛNýÇŠ‘¸Ì̳vÍ“¬gi;Zg§âTó¶Á ®Ô%T#†«ñ©IAsûÖË|€a.´ £¾Çt $TÝBö}cþ€„"4/¸®+„¬€€“=µ hñŸÓ0™F€eŸrwrº%-q³ú{K¾G‘±G "”’v y˜ªS%å¸9Jvfì„­íéJ¸Ëø_¤OD¬‘§'­µ¿(œ½›6;ùüpUŸuÞ1/„s„¹”A6¯.byÓ¦ÚUgµeº+275ŸûBÐý7)¶5ÃÕõßèŽ_~CÂ%Í6çÉ ¬ é^7fysS"Ýo Ll]Âìº=´døŠC8kJÔÂy‹Ø‹é2Ö”…ól–ª³”^’@½O•8ûÈ3nAm$?Œ®Û&´ßÈ6:’,F]¾+(úªçzë\ý\š¶mÁjˆY]ŒÄÓ񿂦'=[Ée˜ËðÃq@m±u`É‚—¤ù—Vô§sõ¾Gön³ ~ü©T““,±wâ5Ö=Àý”/Ÿ&‰ÛÙÐ\—•ð ò(ó2¶©O$7,'Ÿñ…"P\w•½NÛüAB¼GÜ õhÆâ¸8B'½- ‹„ 7­ XSà'Yĉ‡ñ¡¢¸"òš¼ÔË?¶å´\£»\ÞX¦lབྷ±o`nŸÄE¸àÇ¥lÜ7–¡ÕSŠ‹4ÅÅ×€˜kS5²à`«|k¿ËZ¢u,ÁŠ_äåì¡Hßÿ<0·3s ‡rƒOÒ!uƒ|*h É^•À~$ì»à¡~Q®÷ï&ó¯Î&û½Åœz£mP×\EÉÍN!±2v.ŠÂÖç§­’®ÍÖ,ÞœmZÔeÐ ‘Kîñò–νإBÿe/ÿûOÈ¿0$¦¬Ù~.ÊH¡Ÿf08RrŒ 6Í1€`„ú ¼µ@4"¸BHí :~Á‘ 2ó0•óÁt%%-Û9èù å;%7TÅŠuM²BþLŒ?ˆ:}e¸0}ñ§ûà«&œr½ÛÝõŠöku`óž[°W‡”HSöTQˆo ˜Äy«hqyžd5¹lŽ-»hmÜ`¢ÄMš‰µš²eN˜Îf¹.íÁMoï27 ¨¸¦»ªWS¡j°„"ÃQ_÷ËI°jPÝZðËÍ=y׸×;r.툳h»ÏqóÍiß#Æ/ƺFòÅ ²¶9\;ÂlÄJ1òî+>y30y”Ý1<°  þã\>‚_ÿt alBq0[,×21`\×ëU/TT3þŸ´ÿrýÝÚ4CÑå¤ã«ÓŠX[3ߌÄ{‰ì&eÛª9ÀZŒêÇiäô6âL ŽXÁRyq+ nJûârÉ‘"œ´ß×ðÁÜvML /ï˜øTª„Žœò÷`M? \;tšù=ÿëjŒ\†y>¸‡I‰Sõ‡­Ní^¢Ê™]šôÅrCZ 7)†É$œžŸÃ²6…‹öZÞI¸?5]kOª³¥þ…cG6Jc‘u¹·¡›,=¦ äätø°¾Ÿº æ+“Âb–⢊Ka¤¡J»HQ  ½¬ Õ/O@‘ù쵕zÔ½Þ ÓÈ †•gÖÃÈ•O‰ 2œ­Wò»¤±Ó-à ÀÉcí¨ºð*Õ{èf܈£h i„¨”ÑZ£ìÎ~›&„È:Wª £öSq5R""”ø¼‹ B[vKû90)Ÿk–1oŒæ\Qö0Éd—ÀDAüJ >’ЯEv™aýŸFȘb%î·o÷Öj¼xÎL¼Ý^å×oµ5z–.TwÚaÃ7¡‹ò·ƒ25ظªc[ßÕ|–~Yx–o µµ?‚¥å@hsE ígÆï‘ܸLßj ˆr",íi°÷)‹nKä734_ú§Àu ¸/î! £HØC8ÇŒþ. Vè#v2®d/N »oZG9vm§«Ñ»àÂAýí.žÂJ%ÜQm‹Ëòcr.Ši×]GH´G—¯7ÞïÝo·"£äk&'V{#þê{Š ®\Lñœ¶h³nÆKéóo¦ï”g:Kï&è/X B£êJÖó«‰ÓlV]ˆº !”… 3BöD˜C±“ïŠÌ :bIÇÓ7·>‹îl—ëm’~8ø0GŽ ˆyWØ ää ù_9jʘ)Ñp€ò¤5l@LR)|¶ZFÇãú€²õå»ôAס½ÄO÷oFr[sÚämU³ÑˆPч_ò2 ‹Ô³ l„T1D‘ë œãÃÜ¢ëäÑeîdëœÄ!QÑyìÍ“h•J .o2•‹©1 ·ŠfǹYâõÙ' ÷Bñ#äÜS ÉÒI±‹†¶ÂžŽëôaE¿oÀù,h–JÉ€ Œö™îŒ”›Anÿѽ‹SÂðÃ3Tò]½[ÈŸc^þÒâ3Ë=À‹}Fm­¾ÉPÙeµÎ`½K°<ŠSB‰ëº¶5b.*Úv"8EøCD?> ?ïÂøQU¦Õ\kè?Ò~OOÔ†Ã28g*í¢%¿­ú»Ð¢¶Š'H¿2 ˆå¡áíê°ùì6JVvÊë €ÀFR¤`×^ÌÌÜn¨¢–ó'[.>Y'¢úÚ€æƒ~áÞsCØØ(Ò¯KIx_°ûØ{Åì¾ô¿‡q&u厀:ÊÍ¢±3 õõð½Ë&u ƒMUkÛ¢`û‡Ï9ÁÍ;QìôU7Øàh­å®!ö>wiÖ0¤j.§›Ü:ÚÀ²¡„ëÚ¦s ï’–ªi†¾02Ñ`<@Õç£ÃÝ¿^a3ýYóDÙÕY³FÈ ÙFªf¯\,ŽVe¬ ~ÙP¡ô‘Bgõu© üâîôÂÌ…6IȵN[²óû}´Ûv–8±}×õYoEŠ÷‡àÙ1&?csï³Î79 ¬EÛpD‘§‚´²ójIÖç8 ¿2~¢ä’ÅœÔZ&ìøŸ€ôÙ“ågÑT¨,¾N†FýŠu¨•ž+ÊÎ]`=4­þÜõ¨³?¥dúÞOÌŽ};14þånÇ–—a8t¢‘ÊœŸ7ÈÖ9׉ktÏ\©*AÚ¢ÀبC¼­±^Ûç}¶Ÿz3Û¼™oôè%¶è=ù™ˆ·"n¹øl§òk~vD–šªLÝškø‘ !^Ô‚IÍ–s·«5Cãk ©9=h¸pÙÌuæ¬÷¯"b-FTÏèSsbùÍ™Œ?Î\ÒfϼB Ђ٠S4›ÚwXÚÖ‘ÞiJÒâ¦ýó¤E”¨î¨aå>R2ÍËéaŠ÷&àí”ÞÃ+L}îvø…ò„59.(_Ô’ô™©R -©€nô׫€äì‹«&¿î÷/qYË~z¶ŽàV±IvàpýY!‹‡ƒ·#b+¡¢/{óË$¡.4ï#u‡–•j 8f6½—˺,½×b¹r'Wæë[œ zÇSbld ¿¸Á’g•9mÊÄ%"ÿ≽Ø•B&ŒšÒhF”•Y®‚*ð肆J4UZ»q4óÕq%ÅáÖ’ÿÍL[Æã=٠ĤRëxÈ=å[å®n†wÝï~y¢3¡ÌÊ®0]¼¶9Ã*/¦Éðë`ÔHÌð¢$njl 8Í•0PŒë:õ™a^˜“Ç¢Çtšw«Ë„ÿ+•  ¤  ÿΜÝ1.b òÞ]æum2´:„†ÆtÙ–Tcßž±Ë0›ç’´¬G<›§ÀçF³† Hl ÇhýÅ‘cÊSñA5 VR=M² çV …-ŒºžÚ ™€õˆVjƒl¥66 Dìmu}¡HKê„Ø]Ôõ[ZàG\: ºzTª¶Ò‡TÎ’,îòéîZ'´ïzsxd!p›2lb((†díŒ{Pˆå…&y eôdн,„î°”„ä@b@q¬(W§À(ÜŽæªEãi~íÚ´—ã¡……¡]m®‡Å³À¡sæ¤0Ú$Tϯ%x×›Áú£°Œ]~Ì׉]S„ÕËžˆŽ,Œ=à˜Q‹j<(¸>A¨“™ôEÃvÍbXÂàÃ?³ijº`ù¦§ÌJ% ÊX[&W26Ê9r9ðº]ØÃ~y u^cëŽx óì¿í¼x8¾¦¤õ<Ö5U~$tÉNõôÞlënÛ‰\¶!…\Ÿ.’%¤Ù¼T:³‘$RF`:ãðÒÕQù`Ü=@鱓¸yDœ‡dvïq†&·tßÛèß<–,î¤Ërn,ÛgÚ"åÂôe^QY{,Ì‹ÏÔSáw«¯EÕ}“×F‘¿òÍìÑ–áyZ»nË7­ÎØùp t×’’˜D8•0ó×­&tG¤—ý³öî#»$X°ñb ¢èm ]©)÷e€™L;÷Š´gÌOnÈ$óä@Wy{ÜÏ«¢Â·lBóæ}ÅG³go’tr(úøºj§çKGi»¸=nBùo÷Û íÅ{ïûØÊÄ$§ý}mµ¦ð“(õü„$Zb V\|yæ÷kªüŒ8¢ :ÁX¨MS˜*ŲÓHj=F½Ÿ&ÛîŽóqé1-cä ® Oý Fï¢ÿ©Ôö BÅL»òFR¦þr|¹ð›èGìO>EY¿: ò[ߨpÕoçIåNÑ}ÚOQ#ì=R=V=Ÿô<ZHùŠ!œìÓ€Ù†"ÐÁéy‘1]D4Fà÷!ÀîÆF=½Ô’˜vœ Îá;¤®nf×ý.a~ÑÇ„Áþ (Æ 8¹IÕ$»N_m¼Aðê ö¬v‡ ô£ ÏÝDtÝÛ|”6@2BTçÃ#qÞÏgþ½=þ±:’2CD•ãšdâÙݲˆ^8ÄÆýy™¹SñLWã—{=ß\%ÚÞùµÁ$ã˜ÙM¼seäÓcÁkIH»VñBö|§÷ºcoE±O–OfHæê/Á õH8ª²ÿ{RÙÖ¿ZNøÀ˜“™Æ¡)äSÒéÎm¹BÉÍåVðs飘ìñ¶(n>ZfŸ+åYbÍKdä_ržs¢è í©_®¿­é†ìioÀN«š\Íi2øßöz »f‚â%ŽÓ£–Œc?ƒWWÈÍÂ8×h1¶õè±OƒŒÚ´º0T4ütOMþÞ…¨ÛÛdDï`‰xÇSÐM²<°ïxCçeM Cjm;‡|qÒÎ~ñ¸½CP—ÁŒK³ÿHÂЖØíÂj¸×S—ž9\u¥æ‘UÛx6›ˆåàÏÂ3Y‹¹…y› çÚ·©£pko`›4ñR14“ó%6.À•_­Jp‘ÖUÖëûÝ1ãÏ^iӠ܇¦!¨'ËlÎÁfÌ•¥D²‚1ô&ÄpÛKÌÅB·5oRè!g_?Û7"þ-F²¦À±.ñ"í6_‰EÇëí}´ÜX]>yC‚>*æ*~Saä_T*dØé{ï” €ªgÞ©þNxßbŽc”]{Éæ[)œ÷ãÑ=ÝîJ¢ê«-€ kÁ דüouî»AêÄÏŠŸ~Ê:!l!è0÷ VL‹¤Æ¶ï]”§çÛv, vùÇqû ÛJb¤“ºú÷õChT*¬´«:ÒsâÙsL¨Ô-d³Ð¶ ½$™š91 œÜ¬6þ®|âQh'C0$¬Ó˜–`81×9‘òˆ ÉûÖËÑû§zµ¼²X©¢êÒ(=D# -&WÀѬ J—’pÅ!/pkœ¸±.w凸 $ö¾Ö°ó†°Mkð‹°Oê÷Báí\% qYKR’#Io{¤ó%‹Ü`ÐmÇÏÿ’§[O•íi˜¯ñJ^'ŽCÏÈô9iÒpg1±(©·ôt›ûGäGV:0ã¡õñø,ü‚‘—ƒ£>ª>ÉË¥SCu°¶md-ðlÙ‚½bæŠýåž]§¬m¦'-ú6ÂŽ#‘‘iµ¾ŠgE©¸ÅÑÚógr`÷+×&)w)Í÷£6´cI›$Pl·8ÊÐe(ò†>ã$Ï¢¶uÊ»!Ø)N'9"ë÷JWHêéÏ×(eÕ'ÓG%Á eì3;ò9,“$]À(£µ\lj /d[šÌ!¬Z“E‘÷y÷»q!!|O%Äá@etì´ø·š?-‚[Ù~pv ÀYâïðI"7ZqmN:ø ®kW°ß­ÏiÚ-€{YÇÇR×Sdž{Ž%׎]«ç‹œ‚ÙBø™d{S×pâj“*¨º\¸ø[¦œHÑÕàuJž,)ÀýN»þ¥ÃOg oѹú“³àºÌbG}æ²’ÿ˜£G,έ?áäq3‹ð1 Îo HÁ˜ô"‹?Òõ'±×./jŠòäIOÕ[²ùÌ ÏÆJž´IÌ%;£ŠéŒz¯õ´.i Ra@=ôs|zõ>´Ð<Â<‹-æ­ÖêY›Žu| fHìƒ(¾íxYMŽ£®/O!VV‡ìݹ‹:q¾úÁDF)µµdM ^i9«ª‘Kæ­ø}_š)Ͷ!ôp²b߉ßD/ŽÍ¸¢Œ‚Æþn<”š"fÐËeSÖ¬$쿥ϡÁr·êTæB5ªš]óˆÚvV(-ðe+„ã:ibé$”ýCœvóÙÐ’„ g 0&¾÷ Ë MÚ¦¦¬ ÅŠÇ2‚E‡¬ÐÓ­œLÆjl9;¶/ÿŸ£#–"\ØŽVíxÎâKm¶B ô0ªDRzbùB® |LHx0x å¾þKªÎÝ9ív6n Ei©ÂÚ +m §…f5ôa–K $úsŸ{G-ªÕaËwèZ ›yrá¬Ü%]ÓÇóŠªE[ÔÚí|Œ<¸¨©KK f!£/Q‹—S4Œ¼°R2àÄ…)_ÉãÀ½L¡Öc|ÝÞùyL9` ¼„¾¼Ž?à¯j¨5[¾KÐu möj39®çsøÐuS£PµwUÔpòï‡ ÿ{¶wŠA/‡ _VDÔ&)!z4ƒý`·UqxÁh&„Óh³j|`jÕrÍ,;õ•õtcÔûÈ5÷$ö«~îš“iªËeIéZ¾þjq¨1qTZç·w4›å®JæËÜ ¬X³S&õ6®ßù¦½­ÐK(zßiY¦j‰.zjC}ZHØ‘=¶jç­‹ ZVñ§¹/¸gw¬QL•fËyu€†X!XóA{TmÑDMŒÃAbâË:·ûFÌnªtd œ[Ã&q“{Bà×â~*Œ2d„Œ•É2À¾´7?5’ËÐŤ ½©Jý§OûÎUô«àéûÜô(xŒý×ø6ÿé´m˨W?ÖÊ{  ߉þ äÔ‚Ž®´8ŽB‰’—ô¥²zµ8u?ÎŽy -‡¢ýËBOOÀ7>,†þ±&Œ‘RfÜä½e:0EÏqÈ0háT­2f¶ÖÄ`÷Kΰ¹‡¨»B¾®I èÅDÂxh¢'SMe$žJÙ–U ÒwŽî”H!ì´ëP5°#–Çà÷‹¡³‰ùö¼þ3Þô†´¦»(­4Ë8¶Ã„fÁ÷ «0·4Ã1®EIß#MÿqzÅ"ACåc¹Ð¡xŸƒ`L+p÷Ý‚zCc;ú_ªÍ¾%ÿ1Ù™ÔïY}7º˜Î84Ãf›¬5w2S¶ FÄ|ðð?ÕF®uºP)“‰·Íö«Ìð㑎g_ŒÒk#}ì̬pÅ­¢ÖÒÅ4x.$Mªº“mñÑ+Þà¬xE¿ËzO¾9É—‡Öü¤ëôÄùÛŽ©Ðoô–ȹ¦®­ï±sR@ÊÕ7ðP·•üj Á£;;E °'"ï ä+óE¢² '¶µá>×¹ñN’ Bÿ†2rÊÏ'Ë ¸µSZaHUûk•'â4´r·].¹Åê†>$‡Ãª±ÇSÑ\'Þ´"ëÍGCaÔŽÅðWР¿`Ú´G³vôc=@³ë¡ÿƒ}ö~+ê¶v~]ÐÌÓ)VîpÇP"áÌpê¾í8ž®e¼OvKÔ5úð¸À‰¬&ªÈ|ÿ<î~Óµá¢ÕÇŒžOéþ lA6ƒ ËÐTe“C$×x÷Ø ;Ï{ b©ãTÊÙ’ƒæ¤©Y{»HhZ;/Iß ¡à£‹¢ÌÀ–ù5È5&×)OÑûàõ¿Ð~ŠM}Ôêýø›2‘.‘*'ü¤7²êxf õЋsxðm˜½fð‰¢ÛÐEC:BœnÆO›ÎN-§º ¬º!‡@“êWüN˜ cçôX¤ ‹V’§µ;>î2´€N™>­ünfw¦ø‚.d=>±k¶§òíTmVbSnwO(÷jx-t m1…¹¥¯¹Ä¤0Sl”äþÐèË{䲊ÚcÇç‰{øzgÇ•-¢¾Ÿ •Zo´”îzÁÅ&E„½z‹çxZ³Ò‘ÞêÒ»v‹No5£=%^[æÓ] W^ß\0BÕœžL{S?”~fùÇ0ŒËcËÄËÒŸÎô‰fÜÜŸBóSÝU^«°d­e¦…òsÝ.d/U›¯F-e T¥‘Ú“’+ØùÄЉ^zi=9ææÙK ( {¾ß=‰1»µCÊ«GØ·­E®êŠü5ÑlüPkxÕ \îLI¯¼¨5”¶VXyßhZJÔÞ"öáà_"5Å s÷CVækã¡Û}AVQÚÐ ”Ê€?wÐG‰1YN$ym$.°¨°î1B’ˆ‡NÛÕŽ, t}_Æ8˜”ð™c¥‘Aebt^iÍјéè‚à%ãŽRH¦J#³ßB ]¢¼øð]Éäô&€Éü©¨Ó$çÝ{$]x`+k•QpS߀p½f²Œ[Å¢·U’‚_Q^õ€1߈ Ü/ÔÎÄcÁΜľWî«ÅJ ÜéÊŽw¨lSãÿ°1–·~)‡yÍJV!‹õ f<„ õÝ“½Ÿœ Ý:_ÐŽâa¾}üï=™¬"eÅÝÌûýx.©Cìèª ZT‚Íê_ŠC*§Ø£Bq}U""[ ]=µbóšôeI¶æ|Ò´\í'À²W UÑvK‰f‡ÓU‰~$ÛÖ] Ì~JJ(‹öÍ%^ŠÅ~¶±ºÆÉOMé­~ù:Ar# «·ÿÄ»ÎIÔÓõl ÌŸî.‚ÿ" w{q´Û©p_Ñ/jR|çøÒ’§Ðçˆòy•ºKÏ4ÕØZd•*¹%Æi(&»'dé­Ìgjàh0Ô'z¸Û[P)èŠ;Ö‡¿Êgé7 –iÚY-ã;r%¦ºn¦ßšöÂy7ÝÍ<ÀÞt=¶—öèµâ3¼þ9«ðiç-ôÍ\ØÑÒLë9ÏÒneÞûZVÎç p½øjÚº3·$RûBƒÍ¸g< eÑw d—¢áñåËKוÎjÞä§Z«J×ÅWÄJày¨]¿ Ñ§Bâ|ŠÃØÝ‹§ð"ÐÀ0Å@F¸œUö6,ÞùÓFTnkXmPU»•`çy w‹pÐ+°p79*ù—LMÄt0ÖÌP&å~ÒCF»¿O˜§]E*ï‡ ¬·Eð9"¯¬3S H ˜ÞZlÿªYÄ´Vê ¸KèÀ0îù¹ýÁ½Õ®ÿ÷^|Áø1Å¿svè‹«\iÛ[ê7]²’£²ÉUõËŸ‰CçñAL­0¯'Õ]!U.%ˆ_ð3›G¢%§G»^Îèt5C¡ÍÖ¼Ìû–WÑ3W(àµ@3AT¯{˜& ÐÕVâÍ‘&ðŸÎCCÀD¥áJN´†ÆÖJb^K^WÝêÀ¶-w |œIkÚtÂíÄf¶•Q7²¸¥ú¾†¬±4b¹¨+§û,&e[˜+û§œ’ëÍèÿo–™÷‰…š.úmn³hƒP|ŽSã©Âý ò: ›Ü|T;…ݤdÌ@ž°=Îc¢ÉM= :î‘lCûƒþdJdÑ&µ-ìÉY:s̵Pµ™šo^ôœÁ»¼ÎªWw<õ$\DXõ¡ž­ßCb畈Žê¿MúüXwœv0"&”΋‚b¹yG;—ZxóÏÜë9½¥æb¹•ôU¤‹$ÂRd ÝÆkî–àbÒ‘5(ã±¼õèt@+Ü…Øfϵ¾£´¸¬“Ó>¸÷þ3V÷Ñ0—Z€A/»ÿÁj˜ ð昨kã´.8̈yq±•×ùƒ¤AoðJ­8ª;ƒwWù«áö’“ræ*ŸY^³—nÔ@Wnt—³ yœ>žE¥A„-5f! Ü=ƒ›»¦y”•ÕÅøçe#øV­rïýC “æ5‡´ãÐÇŽÏø"KÙÑ–GÆû¾ìI“íé0ÿ®¼TEQ0A!ÎÎòþÊyxk©ÅŠã ¸?ô•îK£é‚ü¶LWAWä«ä1K‘ôBý¹1ÖÀûä ÷j)]s…ðGbö¡ÙÃÏÉ€1ÀìÓ*<•"¡aÎ&ߥèwÚ –g×î×HšSP‡Ëω4à¶žtú> ,I‡~S'E¾Öƒ–û1™á·C÷퇀Ø\$ j÷5U£‰*ðVLµ6q#Ÿ?ÿžð ‚~3«ÊV¸QŒLȢɄ:rc‘ 8€¾û<¼¦a£uþE¬1ÇÖí»võG³Ÿa»q>XÕ5Œšñ5¼Np¸=„hþÙ@µBºÛ» ö{ù~×¹˜p'W¨øÜ¥ÝÍÿì´.¬Ú¶‚f@¥±Ìxä:¾‹çUã|¬oŸ—„ì49}&2šs<+ OàpÇhNÑm~Ô¾X(fÒfWO‰`©%|ÿ+”„qÏÀûmkîà†<çv«+*W›WeÓŒƒC:Y;! ,ò…éÌ*±êIZŠ)QêÏ3UlãÊã·­IŽuÑPˆ 5” õÈÎ6ZÍŸp[‘ªêEƒšÅÃAšµì†Z±“wxl—†òD6²ÌpD¡Ü·†Œ` û1—LÑ;…EPìMªH:0JP2}4Ñ(õ±œCrõ^…<¶’õÛFâé–›Ԋ½²N’`\ø,ÃiTF`¯AÞTFyâõîT³™Ë,IÙBI;É:U±Yùw…ê#{ÐÆ"ëI¨já%™ºè¢#ãócµ¤-±,È™ØÔ×§sjñ@1 .À×·ñÅY'ïà<(´·<ÊxLÛ(±PÀm‰Õ©JËqú » Ÿò»uÍùC~‹¯VßÓJ~3ôÚ…‘væ8I“Å?[á»{XÝžž”¨ƒ­e•˜p‹Í/ðž¤Щ2Ð훌Ÿ[µ‚k3Ë¿·5Düƒ¸E»ß‡©L7/6+”Ô“§6Ù¡U\¿ógQ¯‘[*—¼W”ÂíãhÈn•ÚÕŽœz´?—yFnúa6Åö9)įÀëXŽ T+›L•~^Ì«ð JûÁ#¦çüp½ÓÙiâ’RútÀD Í)vú=;OP¿Ä=IÄ0Î4ظƈ “ÐFxYcŸÇSàÈö ³aF:¼cB™¢Eéϼ6$PØõ…lh®JùD20à>8 Àƒ  ߤý6ø»Û¶}ø’ô6Í©MØ·¯ÖX‡WüOÕ0ô§¨MxAØO@`L­ƒ³õD—Ryjÿoóv„º*T\YZ’Í‘>Xa[-ЄkdÎ lÇðs’â‡×-¤ÂØè}¦Dt̆ARW†¤XÊ+Åk¶Â™ýån:\ÀïñŽ>&à™+·oLû¶ºH»DÏA÷¼öja¡t/LzÁ›t]©­½‹B½½¨“EÓ¿Brõ÷?C3vÎÈo‚ŠÒÎê­çÕy&‡‡w€PmêÁÃØâÁëñ5׈°—Na`ìE7]À yƒéˆ›&§ON9šÊƾÁC¼’’'6̯¾. dß­>ïAÙ±ÛÈ’9`¡X£Uó NA¹§ß|%û6ÛÚszÍ–>IP §(i}¨—yïöqc¦äú}T0z;KÅÛÐèá}ï}åHÝßR¾±N¢Eû‹Xr@}°?õò™¨k¯…}ö=8 6Ú|ÌòÁkhs»Õò”o<©ÈšÉùQbôª¯n2*såB’”פheÔ†ž½8oý\ƪm ö¸”æ&¦¢ƒaZéíy—Ày +[þÉ9ª/þÁ$¾(x¡ôÙHÚº¨îöò=•h›@VƒüP3—gs/…Eªr‚ð U0 ¶«k (U|;Ó /T tÞz_5†•V*ÐTÕmoedÅ8vÜÓæ¿½E–Ðã¯q!Y¬5ê{ÀV2ånÁÕ´PhþÖ«¦‡@îä ÃîT©Ì=Ý5½ÆLN†ÛŸ2ÿUYô^SšG†ú7e[ó¨Ÿ:HùGÑþ¬J)µ({ Èj³Š’|R`’C ‡¡œð£¶¬ vÿÑ{¯œ¿×¬'°ŸÑÖ¾VþÃmË4¿¦Àm ”AÖHµŸœÓ/Ÿpkïñbµ/ÅŸC;Þ?`êÊ„€“¿gP€nVֳ̈́|TC~mnKæQR“ÂâáqjXl†‡sz:$×U; 5Òàiô >ªhË÷Äêçʺ#© øö•Y B9g©>z`3”x+‡Ï… ­e‡*çºçý8……ò4'x4¾È¬ä懪¡£´©”œ)ÞÏ1ò´%¼4ƒØÈ&ñÊçÃ}pAüÙ,öDµâޱ´/ŸM‡ j«SßWL_ DKù—>P¶¶ÍӺÎ_òÝ¥±Î„\˜<+ —»¡—¢‰ðRÉptj,RÓ]ˆJNeåaî¬rÝ„™Â9/ÝÃn®nŒQÒšoed>úÌÙÌf]¿êø‰%ú‚›œµ¢ã–~q<³<3·²÷ÏÂÚy=çÞ(Ø §1=)fÞjÐä]xI½¥Ô_%O4¥1yR!Øí®¢¨‚w?Mêm–{ÛɃ,>:6Ñi¡;‡*AÓ`­\…7Û¾®~drµâYD•"ŠƒSÆ$>ØíÇÅü‘F¾¹ìÔ:&ô‘DSýn¶œPº{³ °·=ÛJZƒJe<1tùö_q"Pp_Š™Xý|uŸ£áÉÏ“«úÑÞ •º…öY(H|8 b8Í©úQ€¿!Jp>«ÅûjUí¶ƒCoa¿:ò¦æ5І’îÁ]ªªYø]P 92·ëW&mÜ•7l›<&¥¬=—UI™6ä™7$\$V¸„¨TÖ_ÕHw«9?—–k| DUæ6AÐ8¶0z£`‰Ž>ÛÁuÿú‹ó.øÎ3íî8s7xÞ”ô­æ5Âlø±ùé©;Š ð°»à9ä7:zÁa޼gŸÅ,ùá»÷_ï4¢Ü{šo8FçÎJgNN7¨¬fLû=<&oQ“þ…Öª§ m¶È>‡r^”< ? ªðUœý(w&6PЫN9A\žÆw2¤Ï«AÆ$”ʦô@r8. ™Î’Ãb‡¯™ü³‘R8}º,K\Îÿ+ °Â÷"(üƒB>SùÐÿ2uÀÄœsV$ó’’^ýd*vè°~YËV6Ö^ŠNÀ}x‚‹^Í_ª7æ¾Øš¼½ŒŽŒÜ&Å4[þqãB Þ‰5®ýZÿ ITf`ô#ô¾7xÑôÒôg;‰&gÏÃb#Üàê²!¯ó˜Éé롞$Q–a¨œ—¹+/¡är° -ž,ZÀ¦ë.‰¦ääË=ê ÕØ‘ÍÖRÞÒúù?uŒ›JŠXÑœ­Š©<=@˜ÞxY^ßµ«¦«¢D¥ ¸zrÛ³âÕlNb\c'z¬ä¼9]®[N‰U‘p*4åîJÒ=¸â^Þ.>¥0/¶p„ð9D3¾TCjóଊu± 8ná¿0™¬hÑv×1 õ1 -~Fƒ «g qje}%Ê×G"Öþc£œETˆe¹BæM€ÁÆs˜cäØ˜ºPú‚±N¥å ¨hå3ö$i>fR¢·®­ˆ›ÂW¶úÍ®‡N©Üýž§!®ñ1ïÝG¦Å—x‚¯á‚"¼¹š>Xt;\™ÿàn&Û¸’“ǘçN@¯²o”‹äª/ýèŽ4³¶­ˆã);B4”?Ú3ür6}Ãø¿]̳.–YÏ[ÃîE„‹_bô(ÂIq)©JWÚ3[ÏêÒÆ”‡Ø"cÙ¼éa›Õ/&Ú ·õê^c!â–”9ñad¨êühô¼QÎì1Ìë¯È?wƒ„„ºê„í¾íyÕj|Õÿ1$‰oçûðcÒq›˜°‘Ò>Ei^6޳‘£$§>ÚjºØ‰‘Z#®^7œD˜Y®€ù4†‡ÊæÈ­£·—ÄÉ:¯w0DJy8ëþGOй•£• ùj깟’ ­vË™øÃ ¥½?.©ÒYŠ:H€ïͼoSzÚà–±räX¨.̪ø¸ÒMv7,(ˆ_I¿ŽXàŒ¼Ü5}5œD%Øvßå ÄV›R„«{BF»X·ÅºWœv=³Ø Ððm|“÷Zµ›²?¶‘ŸIÈìG"­×ÞòVïWè[–ÀnÏÝÆxù _¡ñ [a0‡AµŒ4¤B¶4jÂäàDÓ†Y–óšb«³‚pêËÌQY §¨0J? i®3@íê51>Lü÷övH¹„OÖè顊£ñáКHŒ œ\:KèÑQCVeÞ]Ÿ‹)9yùÄ'…¾àS!P+ƒïž®œ^˜ð,g ;ä5+šueüBÛ´YmâÂPæü}Õm%«Ëd1gUžÿxpl ›©É<Öx]î‹°æøBQ³¬rQd)Œ%(lö%©à ýrS[(¶3€ïÀRW5hüýa%­›ºøBÈ`©×ÓnNœ°À5¼Íp·‹áQ rU'¿Íƒ«€¯È{ S€ 4cØ‹Aˆ7ÝþçËäi?&ް-ÓŠ.ÒR„.g£äÀ¿TQg´Zo¼€©S‡N„=õ0µêÕÑçç¿“xr“…šYÇÚiüÂfÒ æØ÷¢~Ãþ¼nÔý²øtòS<Œ®)åñÞ2HŸt¦âÖö],OPèT^ž~ç­élõt´4à…¿çZ>gÃP"¹oÒ8À["~64fÓx°õ±a¡òÚqÕPš‰ÄRûË£¦3®¬ìý­Ÿ›ãHÚ(™üH©‚*»„×à´É3Y‹ùtnb0D=¤}åÅÙYYÜ993÷€DãXy÷BÏ¥»÷!?sµÁšåгûþ¡Î™%ûìU5[TÓ³.SýVôRƒ½¸Wd  2.¬qFÂ^²k¨4Õªv¼m´ÂÌ´xm¾“§ZR,øFÛ1™¨N±°˜'è LÓN Ÿ·Äq ÔF >b!×mº÷ ì¦ç”&4fF;ÉÆ9íà´Áú[å&&«4| £ ¢þ™‹¯Ù¼ÍJ »ÜWI+>qòV1>ßHt¼7Bªj"È ñÁÞ[Îwâ’EÞ¬áÐ3„\¦á-ÛÖeoÓøÒjB¡:C¨Ý’Õ˜RŽ#±$²BQ-›|ÞéyÙ'}+—stº.E %Ý[©YÞø#~•º3v‹jÚЕ†®Ó“-ž§ÏœÕµ*³m–®6;y·½@4ug÷¢¤¦˜0yÁÉ‘ìéžÍþ¾Æ*\|5•~rómµùˆÿFpGe–R—M/ãø}”ƾØÝ1 ¾NUê!ðïÅÎ36ó·§~ÆH š # rƒÁ6ð†pIÖ©ÁJµÃ1rλÃÑi\ÍØ`D»·{d"/TöoÇru>ûâ¹èÍɤ‹–¥rëÎÑÇΠWmS|FÂr+ñ[I|¼E(g‰. %Ž’t©šÞß[ìÜç´8ª°AIÄ «|3îæ%뤙:â5ãÕòøRiW¯¸¼¡ü‹Â© m¢yÀzÆDôÕ©êò(>œ /F£vŽM2M5"¢Íƒ^›ÂÊÜ4hh ° Èf1¢#Ê)ØP>Å4ÍØ„Œg;¤`a¡k‹K)íC¿ã¼;¦‚Ô)’Qþ”p¶-}9X]Ÿ¯€±±Ee°Bf3Št YNá4?…ѯϮbÓ½¿ÛùÛìKv€yä…[Yµœã¹%Ö{·8ƒpõ^™ˆ8ÓŽ…)@~~Q­F¨ ©ŸÃ¨m¢Hq1ªúøã¿œ…2½ rý(óaB†£ÿçaeY$›ûHc7%©;éïô«—{ÿgÕdK1ïѽ~5_ÉK›ß!Ï‹`«XW|¹g7Ñ0Qöð•BŲ&DøøÖ ‡ŸXÕ/ Å…zº^â54fÁ€—5tEÎÒÊ¡lvXº€‰4f±‹…'›ä<û5ûÎË©òF0 ™ój™iÍÚ±ÇW¥DWѦ[2éßÒ z °MUŒÕ¢nqÍÀ^ò¨›ª¿å¡™áaÜŸûÉ”Í?Ç—ï’Ya)¨ S–š6õž]CóüÓ8.}_ƽOSN]5¾y[ž'C¯…4ãßð^éÓ (áÓ(hœ·½ vœ4nÓS[YÍÛÅÑxÿÝ1@5»B8_‹iÔ ß¤9eµAíå_„‰HóØÓ^”PîÊe…U±Åõµö…©?+½Ór™{,6eü†$Ò¿öå©O‡›H½ÞæÇcþrmA.“ +wOjUô‚@¼ á8ÑÚÓø´üÂ^ºRUB¡ËÇ>O¤2æ8?e×»oäÌý+Êÿ˜C½ûGPZÈ7¿GŽ2ï1‰~–ÐÖ¤-¼ÃóÜ’ofQwÇx˵öiç „±¡A’qÚ©.òœ1F‹R(ìËÔðüöÈãbK±ÎYÈ¿üßÜì"7}Ö@½0Ã.”¸7v. ¹ÝÅÿ÷]F”§”ƒLNa73âÅ2—ëì»gÈ`F"G&bÂ4ìÍ­GDµ3žÊé÷9î1 ‘†ÞwŽUU ø»Lc&Ý üïf¶ ¯w<$`?hÞâÂÏ’\H²ßÏÅ‚f?þxýùÀÅ—¾ÿM’$ÖÂ’Ba3Ñ3ZfVîF¹{"äÏYw ¸;—ap ¨X¦‹p7žÒ1—GQ>Ý=ÄkHj®E`>Fnm®>À6‹µUÇúÙl±l¥©LöuSƨ}½éTõ¶Wžw­âxpLQOz¸°CµzÑ; j¬Aqd°¦ð÷­¦g½òK5Ï,æO‰hä‰ÀÔF¡¢;ÿÎ!åë6¸Òá¬Ãú9Út á:Ž&,§›h3BÛ )(]2ím\bMf@×_ìÍâÒÜòß‘ªÕp&‰x.“";VÃoá5¯a®|‹Àe¶qAƒX4ì¢ýw ¼xtP¢nÑ{3âׯʼ*žW—Jt5G”q8¤ú bcX<lïk›í6@®ìMŽËícÖçÈw ?}²¶Ëqó4å?ã@Ú ˜ßÈ ú±¢›pÆÙí•õ㘰ɞ6ÙD “«êrí=x?¿íl%6€Æ ZÇœ'ȯ#ÍdÙØuÃ8\Ù®Œ6ˆÐ¨më|Q!@‘dî_8Ù*º%¢‚”žç¶».*ìèM$×cgÀqü°™Þóykž]Nb²Aê>S‡mViG-ZßÞ7 €ÜÖ¬z–t¬íè“ [’cü¯ŠÍÞöæ}¬´3Êvö¢ñ^›Œb$¸œYÍ—ÞÏkÉÐ,¢sÓýXä&L“<‚ÃI.²îQ–ë¤yïMOüL}èàï9:[°;ÝÝ*wùGn‰´êÈò„€W20EF‡3ré±Ú•º«k­ã±Ã޽ONzÆï¿ì(4.÷ä‰ãz¹õ±¹ý@%üÛú =ƒpÕr°Qk8£„g(£Ðï‹~-;ÛG{ÜmŒ2©–Ìq7¢?«…Ѳ7nO^V盵onŠ.ŸnÛJuTï±Ì<¼Ã¡×!<‚scdIv´!YÆ}‘ÆÊø²rɤÄòh·Ãœ¾Z“`JèQ¼ý¬vÚÌS’#Øfñ9ßè”·\·ÎÄÛèöKi(¯0w*¼Tޏ7_“‘HIÝè)ôá,¤²ÜÊæ+ð½›'‚hG•¢²òc æ §u¬§ 'd¿‘´z¬z}¿×ËTGÐ?º×Ç6ZدnUç¬éÛŸ¾é=s-"¤2f ßäÌŒ—« ô/ÏBÌ= å0P\³ZZõI9¹x"N7á`T¹îýP:ˆmÕ-žƒˆuî¦3Nè²&hè>¼… y%-HÄjÊå6Bª’HépøÀµíÞ+c3ti >þ݇õÔ…n:ÉÆMÁ…àða¡:n×½²}àÇŸÃ=ù¢Ey†ïîŠùo¶ûéï(GéÍU/p T\±—gŽŠ!}‘6:FùÜl¿«Zj²< ·è#/nÒ|+ËÞ_­†eÓÕÈØÓƒ#ðì´3ÉoÔ 5à>9Ô錮¸WÏ¥'œªlê£%ßx8+²Žâ/õžj¡÷én²t.3“CE£è4C‘ei[º|%¬Ô–\ø Pv&LLþN:ê¶LrÌ._ MoŒ:¥×©E 9»Xûé>n„_ÓÞæÒhPì*€Çg¥ Nõ5Kù&4!¼½=öÃG~ʧ{éüàN;m<؇«ö÷¦íÅ?ÆCÓxKwyjÑò~ʰp·%v^îfnrê2Ê!•ö’•N»ŽÏ€<ݳ%{^rù6²ÕÄ«ïö)U“Á B&Ö>ö– ®™Ý“ÿôÚ,ªl6M0ÑŽˆ¼p‰…zçƒi°bW1h{ŽSS2¡ªÆ‘œåbSuß@Ñk¼JWøPú̉â}ôüühQòÙ••!Û[†FóØmlñ÷òÚdAƒ öŒ ñ¤;EÇ~äqŒ5KŸ4ÓõRÞÈ:‚~-z¼z<øVÙ [àš¨1õ WmÑà êãÞSfœ"\hœgE¯ƒXrx-Ù]òXlÄi~ Þ¡®­¶ÜÉÁ›:“QÖbá} 5¦õ‰±5AÜu²¡ä@ /‡@áþ ®j°ÑuJ®Ô¨û„Ê×4ß2ª3¨Ö»¾Q•„Èr½¢d$rÈÞ÷YŸg žä”$sE>«æWJ¢1â©ïhþF$CkëŒr¤­çº±ªÕ¿ßÎ×@œ-zËâ¿'ÿ‚ø ~)\»ûp•xcHu¡0C~cm¸0B`ÆCµ0wî°Âü[ZÒô½j¶Ž¡MÆqÔ­ýÝmîfƒ-Óåµ_ ÃV„ƒæŽú±Ý4c>a*ðOùõþÕ:\þD•DP4”•ç–⯊³ç‹§Áǰß$-—(˜®¸_ ¨Æ]9…šÕaE[iÕ·o]Ÿ ®)†¹D¥¬` ü¥ÓT,#`ÁMâgŒõÈþcª+£±Z¶ã©^;ªþ4bÚÙèáðtVpä÷¨ý¥÷¾a{ÁÙUÔ„6h8 ³Éä †l]Gé™Üh½]ÄËæ4k÷ºS8GsL 9„ ìÁ"6´2²vŠÕŽw‡?Aiìâ9WšÐ ,´ÈXªP×y½;A™d„`C[ÒóÁÆ/q%ÖkJ_ö'ú¹à— þ®¦Œ9Pu‹hk…[ᢊðk[Fy@+¦è&Zõ7 ˜*›sòæ|mX)…·Øwè†ÓU6dÞ)ŠrJáiü¹Z¾™Nެ¥&ŽêÏÄ.lòF®$œÂ¦Vþ•ÁPêd>éãîóò¿XK¼9­wɾ~¥@ ž9*@߀üˆøwö¡jýPîÁsûg«WŽÀeŽúþ«:!ÝTÔ´Eõ¦¼pöáÝ… Õ‘[{ IýÄÐWǮ売@õÍ !GWÅÈ’ª‡@™G¬ _ÌfÏSdeþŒ¸çùO@(÷Ò¼ŒÐ妗l“Z¾ƒ"ÚÕxª}²B7€¢¬iÅ5ô°/Œ=¿;äÁvüþÓ/Ùábvað­W+‹|s"@›®zÖw% àŽ‰?kºMhÔÎHgN뿯Üôš5~l¼0ù§¥±·}#‹‘*'…y9Ùµ·¨ aÛV0.]†ªz]7çÕb1a(Êã͓础¦à¬¢ cÊš¯Ü K5sä5!Íê¤;.SÓ¹„×#g!Áˆªšîí©þ„o¹ãûÎæÔã¤?ñW×ÙCÊ|³ñ,û¿Œ2•éaŒÄ„0éçF‰‡®’•WnU3¡¥WGOÑÍt?W„¡W|)º>©¬°ÑUÓb8‹–Áˆ/¡„®@—}èÆƒzÏNíD%MÏUöí¥i›ÿŒïÙáNáKy^Ü’½`ëE1N™.6¥­û)¢ìO½¡*7flôª­Wº-“Vb UgN•Æ”ãÒãÞÖ lé¾NUÇs&äÌL\Q’ ¸Y§´o¦Oäáé7€ðAh‚¥9øÀwÁAwåAwaË òÅŒú!á­]ñ•<ÔŸúP…>в‡"ç ˆ¨ü^¿ wn”wÕĶ^q›š$£Úmºkl·ÊÑ ¯»2E½öÎõ¸æR–Mn?î2¸vŠÂ³òùHǵŒ´ÛóóýZ½¸–˜½×Vþ õűëùf¦øÙØëYéY0çË%°{ØÌ”{›:¬*@Ô p‰Þ¶*€Ï†Š#ÄDí@IUüYw*û";ªñƒ€Â¬}–Q ½ µ#R¯ÜçOÕª«”Ê|©~Üõ$` Ëpx‘_M[ä¹³â£ýJà#£ƒ»ñ+½ŒÄFÌÑùk’ç…ÖiâCèB@vRÍn¿€9üYmÁU:ñNU0©áð ?$Þ,Z¥ù6RïÒkU™ƒíÛ–. ˆÁL£%çƒ=æAsH¾Bîú´}¨1ÖŒ±Sg›1¬æEox†¼è‹$Âã¢ÂÚÁ:«b.l"&(Ò®Èâj1l-x46¢[yzÔš¥ÀËdÒ^ÿðÆlÎ'9‰ý+ÛG'GuÀÑ”ñÃió›Jò³lÐ5ñ÷OþU Ú?íxÎ"ÎDw!Énò `EvÎ*ÝyÉo-.Æ–qt)‘ $‹ö6u6Æmñ<Ù󋳫hõ~Úw]LoìýŠ(ãy?wkêÉ‹u¼8 fÔ¯ÖæDÍJ5n|áøsÿ·î=³ÌUÇ`6ܸe–.S¿˜Ô[¾n雦ÓÖ®é’ l,°¡=×üµ]ï%ý~æšKdž´-®ýx‘BÇ3Kˆq<œ@íC„Õ~ú5:.ýH³,aÏÑ{Bçåï/¤?o¥õif¡@±?TÑ–gt‡Ó(1t*–"¨Öt;”ÿ‹+©O˜¢uÄ™<#á™ WÃå$’É?Þ©¢Š@¡SP¸Îdì烶*¥.Þ5i ¬b– 4†söð¾z r"yùÜšÈaDî#yRÜ™¸SægDŽ´Xho׫òÞÈKŽÒ™Žúƒ"V±rÚB »Í3L„n¶rŸ ­—Þs Šý.*(ú‹ç€ðÎRáJÞÅ^u¹)ä$ÓªúF„‘K½‰’‡!®=ç~wxncùÚ ¦žóÑŸcÍ&ïFÄÙÛFEô‘3Íé0è¤!O\ $Å œ9YÆØJÛ5ÿjãQxPüÊuC7ÖCÿ„ ‹öÁõ˜œœÇîÙ`İ7II5žtÙFàõ[›R׈ñW.I3¬ÜÄkèÁ}@³}èiAJiüzwºÐï[ÀºŸLYIÙî8ùzkïÛ‡ŒŒ2tuÿ*ƒeý÷u)aª×<´„InëE¢¿|ngH”¹ÅæZD¡˜#í/ôO£b2¼dîV•óüP™÷U„‡m2¦õªñmmö¸#ª8>¾ÀªžåˆªdœÅí\RîOÍŠ<˜Ñî™^ÖQi$q^Tš…ª*Ú;Mž©D·wÈßj%ýb4à’˜Ò§÷GiHE%ûX Dé謤ïÚŒ¨'ioQ»éŸ[ÆÖ~$ß3 …xŒœò®¢”±y(qúÛÜ5sD +L(º_Ò ¯zE­ À»›B{‚©c¥ñzÛË`›fñàlÐù|&œs‘¥µvÕû ×mé'íf˜øör/¢2Ád¶Û‘Íß2Áåv·tá²ÕØ—(Îì.r×H§G2‘“3àÿh)sFÕ{Ø äîÄŠ ©ß3®/~ Nö°Xåi¤W¢ „ä“&‡~¼]Ш"NO•n„@T£Ñ\àLR1¶Ÿ#”¹ŒèyîÞ~¹up‰™}´ËÔz¸Pv–Y.Kí,òÝü[7uÄiDAÚ)ë%,ŒY°“ä´< û‹ôC’:EÝT¢‰ ú'öuÃ631žÍÕ7ݵÖ0›¾9?ß\8ç§^õTªÎ„ÊæžêóŸ¡´ëy|Û4{Ô%ó‡ð£ºíÍÞÄ_evëùºÃ õÚ ‡Œ7ºÈ+ /ÇÚC*^ª¾q)) îZGÅŠ÷¸{2»ÈÒËЇ¬V©«ëmÙ±w³Ëè.}Í ¤'ÑWÓþÑör:éE’¼¦ˆ6¶XjÍn.j'î» ‚ pÄÂó¤ün¢›Ø”Ÿó“Å®ëÌ# 49™/µÑßæ^]ÌŸž%m¯-ªÙÊ´ÃÁ`P¡œNw*<úÚ”mºBtŸH9~Gªï›Ã1x;ßúAcâ³4äG¿"fñòðÈLëbü#ÊIvÎ\Þ-+€Qh“Šã£Œ („¦wPñš¨Á6FZb¦Hª}(Ïã/CŒØõ`çÀ!b’“i¼¼_u†ˆâ~Ì{Rýucgý7@ãó ¹ SÖê/óæUýŒï‹ãjNœ˜‘ÒÀµÕ\Š¥õýéÑZ I°E¹ñ&½jÙ*C!He•Ç #$‚—ÎxÍXýƒ|¶Ð{ü³¢öBÐÅzZ©Jé´Çfƒ0~ÿ¼1ÃR+pYÉØŸGû~ܵHs£8Ÿ¸S·ü2hŸc/–#l·nv©`V@Ÿ§bû /?Ol'7_UýP`hüý@À’5ÑL'kÍuSpoïTnBæpmÈ‚žýØó\Âî~èÛÁÂîÆè qÔLÀAŸÀKfDU/ÃÓ¦W{¾ÅµB1º‡ •Ñ~¿»Ï½—ˆSZ¤EœÚ"£[%ç"´X'RíViX“ž»Møüq¬ÄíŽr!¤ vS4ì¥åñØjk«tžRïšLmó‡.Æe+ ØçÀ¯…G=Rq>ÈÅTçϨ 6|èoÙNûV×r~rbh” ›#Lß,bí×.%«žK¸‹ÀȈûˈãÒÝȶßvŸÊá;—› Ú‚+^?m7¶pQSåÜ–/­BôÒ9cÜK—öŸ]¼K, –t…oQ®˜Ò{±YñÝ‹4R9d—£Gd_ã(3ñ—ãéÁs#ûEŸZ÷7ë\o8%h×T¢-•rôòù'þgF@צ‚\9O»5¦€ö´xÑ)¸±z[±–fÁÉí0£1uÚe,5múMq8§Ò{ji‡n>‹»ûu¼ŸäÙ­Ã’"›&Ï=Åœ™£¼ æÖØa4 )ªa¤S.Oô” ³C<þ ìˆ‘5ë§i»rñ|T¤B9”û›ßUéd@Y¾]¼éL¿íÈýñGox˜ú“¨ºñ øp”=O최’Ä4úíU-C½|¤"âùl#kmì'©“4TëÌ?^ÇR–„yÂ% ÿüuMªt!CGÌõT O¬•g8¼ —H×RˆŒØMÁ É5«¿ùh–:úŒD Ù%+¢Yžë¢,QæÝ·(©H”¬¬›üÙgD>O\ÄÞõè4˪' Å@ðþç‡Å-ÑÁw„¦têyvü+w~ü3[žhSÙ©Š®D HÀÐù[̨ZÏCt¡Íøºú;äÛ8ø|Õy–WØŽÇ}–{^›Ëvñ!<ÄÈþST™u-P Ü:{¶ ´'”Ü=YÉi}fÀ½QV^ÛÁz!Ó€Ú¶è&…Œm·ÎÎt8´2…Ã×÷ÏÄ(x£&ç¹è¼~Ü|eÚïcòÎÐ\`0é°œ àY±ÎZ´¬»øãDÝ~@˜b5IUEä.¡H¿÷a\Ÿ­êÇÈHû –_¿}Øtç2•ܲ&@ø¥÷è-%{PGv.¼¸G ´<ú/N®ÀðuOÈk×ß¾M­ì¼,]ZVz·Óå2OLÌpèk­  éð[1k{ŸðÑ3KæûO5|”¿AãoÂH¬{¶÷À—B•h¯±“J+“!?ü§œÆ )pq¦êmþ:êâãò·ð[`aãÚàÖg´ñ±EnçÓ†/ÌÝm!÷/y~Øåÿ,‡êM|bâY‹´ PÚAê ¯ÝµpO¤Ù’éñâàÏêh-‰åÙÃ47fãj™a`Ú¼žgl ³"¶Ð/|üàí¤¸š Æi†Ù›ì‘Á•ŠëA÷W ܧ¥„vOI’rì\fáöÁ´^Ï×’UØ[›•¿WôgglJæÜ­î5×K»ˆkî‚3­Aãe²¢—è¾*‡øïá†rèp^ ízÖçQ‡´‘³u­ ÇBÝ[Ù£_+&Aõ辄?;0*â±—Œý5;ú{ãƒ< ¼Ò¿}v"Ô bÅ“×KåíÛ'dz¯ìJU©ìTIÌ+5uª„R|3ö¸4ZÊe¦*”ô\“â`öŽÕÑRH~ËNÔÿÃíF¦xþÚ¬Ïò¦·õó> ì£ìàÏxïáëi£¼¿JŠŒ™£˜^eÚHŸÓ×Úïóƒ3Þ¿û€¤$¸hú%"¾q½`X NÕý‘Pml÷@®öÝëÆUÎÆ(%8ä¯ÙPs¼£VÿŒ5»'ëU°3¢Åû…ØjG*‹4ÎXÜš®n¹lCQ bmÐSOΓ²ñÎØIͯGMá¾êž›¯xâ)‘X6ÇòUšÙ±¶Œ]£ÔûÊþ-Q~àǬ“¯1V›ˆÎ8›$Vñ?oÓØÒ ÐÕl iMR®ihàBÏs½ê²}-;'5Jb^™ a¼œÚŸö¹wd{O 9¤kû’'g8¡‰\¦p €µ[Ù[|•!(w$`_2yŽd™Î2ßò1äŽç5ÚÆUÛ ÿÀŸS¨Æ”o¦õh ˆìÜþðmïø"ÙDgQB¦·@fÑéÑQa…¬>ˆM&ðÜøKΘ@刈 ÉUò« Ä|ZìÎ ;õƆ W‘tÒvDЛ‡â«·S©ûEγJ‡>]º5’’8ŠÆÓÒuC®ð O¦'G%l×”ÌcÐK¡´Ž(žÚ\®7¢¿‰-¼%¿-ä5‰½e¡Ú—än—ŽûÁ×R•‘ߟ@; ‹¯xP zÇ öVæœÇEýmÙÀ8ßH¯Þ±&&Ø}ßÓqíªœÿØfìby¤ã_»Â™_WZÀz•×¹E5ÆUüÙQŽ'î·xh“Èý$ü€sÍÚ P¸'í—Øw§‰…ò€/«?Ö•;-x6 %˺k (Ž ð"ðççBò¢‚’ç`DÝ@µaÒÛ!ô×ýHÉ:!ÀúsáJ‡S£ s¾ÔGÍê¯3Hqg̘y8*€ô%Oâ"Cµb+·_¥ «ñ+Zšâ1ðX¡ÊÜbh¦†±”¯ g4Ê-º’Ý„˜KKÒ$þU¬‰S9€ ã>3_±)xv®6MGzùøæŽ¸¦2ýl;ÙvÞ{²"”,[O˜$ØwCżÔÝî Ût+»¶²¨™C~ÃÿÕ.÷ßpú@&U䀸Ýt§G‹ä—XT;,‡{`Ç7.ÝäqxÕ2ål–4Ã*<¬¡ßÍΛÕ|Ù1±€ñÙ–™ò#(‘ÈñìY@Ã\5\ ª¡q¦¿EÄê%£­W&qìýJI¼ÑPÒÌ¿*ÛÚ‘ ÒîEi¤¡\ ‚©Ó›¿8Á ÈN|&Ÿ;Æ/÷Ýuëµ€ýçß”Ò,7,×9ýÐÀ9HÿN¿a|]”%åÏûí0ì+Èyåç »æM¡fOì*µ¾p¹2GʨtKÝJ‹Uz]…îàKÓùI·uƒnI&:ÿÁtŒèrª?-%c© ÛE눸mÉQÀÍœ|5ݦ¸ŽQ3[¹ZT»Ñª··ñQÊ®rP\ésè¦óó`G²å&е̎øÁ\Å«C¢Rª`Ä¿ù#V¦˜iÒ‚ÔxiæTóöÉSª>-pp[ÅãŽÊÐê4¢g/M.!Q÷™ î-Õ{Ì]\`yÚèÌ=Ì&$XˆÀ®æ§0ßG€"HlûÀ…°ÕiÍ߇ï¥"©Ç =ÈÖ¸C¥Rªê:G&çÊð $]þ4]»<©\§*\$ˆ8-¿zŸ¿žÍÃiåÆ[E=nL ÿ$nvRÖ©7Zs‘¬x…Î`ôóÓrJzWÇ(î–õÍRæõ^¹>8¿ÊÒæ?SIŠßNêœá@@cPï$ Þ<ÂEþŒ]5SXl¢Ö üÅ¢-ÍŠÚ‰Ð/[£îí8zÖ„Í•†¥ºynJ¤«SºÇžiÉØžé zTÌiýa¸Ž×.úˆ!ZÐÈ¿‡†5„L±½Š¸ã1ý¸2ó®,¯CŒäFl½Ö𩵽Þá…<×¶dßOì:²Mæb¹(ñ¤&d&œ|.JÚ0\ma`l9T´¨QL­–]å1tµéâ`õŸÈgŸ@ž¹rÁ1؃÷¾çtª´ÓëÌ7] ý¤æ &>ÍöË2iQ*.)†‚ü{Ä\ÄâšÙfzýiœ×T=5˜®Fèâá@ÕN=,æÎÎóÌî±¶}@;UZˆ62¤éèÓXUe«ýXBÊ™ElÜcî¯&¿/aú-F¥hR×R©÷…wh 7n,z¥?rKoZÒæƒÒâEäø˜Üñû´?ô£ÜÝ ^‡5±˜=ƒã8O4j * £ E=ƒq®„Y"™ ”@([¡×€æY¶Mì<¹¯bSpuþ±åÙQûõݧÐŽõäÚ-γb¬ygy ®h´äR ‹pqöýfL0´¼{¼Hæëð{n…øŸ>ÚŽY ïŸ÷bŒ&{ íx qoXŽd?öÇ>$ù›4’‰Òc&:Ndº>MW´•!+t–µpёۼߢuåþÃë€êÛY$iÔb{$¯…¤h:ß²æè® BÕlž'¸¨ŠájåÞârà_¾–/üßÉd¡oÊi¬=(·ÖN`¥*&تìÞúg-ë|¿°½[yyd2:>šà7m$”3§j {OãÛº«w›ùÆF%%!ï_IcÈ|×ÙKFƒÊìÑÏ·AD_$ µxhßHzÓyøþ}YýN0Ž]ª³ËV鱂Òlp"TañÞ?ê¤Øƒ¥¸…p2‡tD|?·2<"ºÖÕK±ªµçy¾JH‡¾kWt0o¤©æ¾l±BsàÐ/¢³jsþ“c›o_ê1gåtÎ&øßý6,Ü÷—#þõöÖºÀœÐ©Q7 ×íäí1ý H'³¤V½ äô#ø\2î!°¸«Sñkð‘˜Pša>ûÎGRõ•#î×£üAët=já!&ãÀéñ•‚ó*‚‹ýE®4ÿÑ>ËÁ]=ˆÄúÓE¦{°òÒG±aj8Uñ?šý´½hSËÿ%𴝇(¢•9¸ˆ¿wÔwZŠœ*pñ *Ñ´a Ö‹+¡Z­—Ïü`[Š’Æº5¹BüÑG8ƒ†2¸e¤î£|çÆkO^ù)Õó‰¼$(n¶aÖQ³^`ú=óLVJ°V˜€:¢ÐŸ¿èhˆzïõöXäߟ«êy£ºâ÷{©Ÿ¶†9›ý»ÞfAEyøucIÅÕNýîŽÙúŸ1IÔ»ÚüÚÇ­Ò†ëP“ U©ŽŠ”?Ô9N;¡§žEÙ>$ ‚ºⓆ £ž´ˆì Ÿñ0RºašU8IqH¢ì¹ž[¢‚,"V7¶­õ«Ù,,l`õJ»+ʲé…\ëÿtOÚ³ßßÄÙ}’õ´°â3ôëôØV­ˆêÉÇì æ~”s§òÅz1'÷诅?™]móaëF ÿhÔÍ÷B/”ƒŒ§àÆÆpô‹}__]W¶ÔX,‚K¡^În¾üö½úܧc&x/ë–I,?ß•x“ÁYÇM*ÖmM͵ڿßI¿StDÿw“íÂ^Y£ÌörYÀÎ¥¶iÖúsïÎ _k|°R³Œ¤ä¹®šN.÷_1” ~½‚”Èö§4 :Ý¡YÍò“x(ü©î½[ƒñ=ARcn”&T ÌúÿŠVc‡CÙÓó0÷iDÒ­™¤b±ö˜B¼As#§å^µ5Ñ7Û‰XÆE𓪺,5J'çU<¸ÂœêŒJ.´îÒlân(Í…ö;»6RÝ婓ɳßÅ^]½Î„§Ìàk89x’!ïá¸Éìé])L‚=•½àÆNÞ ȼ’!ºb©ÃGî¥:U|S–½½Q×ÔÀ@m£V`Ús¡Mqd †ºÓå6 úáÑÜ¿–Lm8ØH¥Ùc*-‡Àž­ßOì9l#¨§q¬G \6Å•4Ç#=à,*¯â™[=Pš¢4x =]ß´ëæŸŠö6vóûýó—’r?êږǧ%•«ïƒ k_Én‹%ü—ŒÒ ˜Å“3a#Ò©éãq&õ]yQMiW¤¯&vN¾­Ìjq¯àµÅ$Hd<†ò¶²c›.xæ>£ú «Bî"$ÑMJ§™/ê®T²áaáæe çZ=ήNb-„ÇEˆqu/Ãï;6w6ä±T/ïÓØšÿ©gßóóËK–‰mhqíP~šÌ÷|¬)Rþy„` 2|5¤øÅ%Æ<½OÒoõ¤h;Ñœiƒ[´E¡UR‹%ÙõPÿ)F»‚ùÜH‘{ ¼Òîo¹±»- ŸÌ…Õw>í¢2ÌǤ¡˜ÕÀPOw—&:/²àxlT=ךÁq„týˆ(Ö„~„Äß^Þô¡F¼&®É³žKçrçèC$Üú`›­3 ×>7Zš;ˆ¾ðÍ¥ Br±ÿ™€Nw3N‹6ˆ~×H„„ö]Ç2~§¼Î®µŒ!©çcß’ýü*hDZã&­‡/ÄÅhT·° åÚ ÑÃý)†k–q-ø¢.™–’WŽè/:ó‰2?~.4UìGãw/Œ¹¾¦žS’eSdèÛŠ’ݬL(k–ÆÁ×ÉÆ ¶¨‡ééËÑb1êU|çQ“aÄ7gAtõ‡Úƒ68øï }ÚûØ2 Òž³0b§‡:£ú©šµøüŠø?áÇR`…/n~++%£ë7mlz×®”4©¡Øh1ר-I,zZƒ{h\A#™ –PBÞ“ž¤u É%I*+ ƒÓ…ÇVqöq¡ øè„ZúÉð’;±Á¤@ŠgRÂ(€5½…èìò”¾Ë"X³S†k”ÎJhØ û{ËÐ[Énó¾hMauš Í|d@‰ !:ø(ù6lâðÝóÅö¾çžÐ_PXV¾„?ÐiÀ—R¨kÙÉ”Ê烑ÇU]Ü\¸ç2Ød—#"FŸJül²™õ¼§ÇœŸQáÖ·R°~Óè*­?8h¥ÅT˜ð8ÐúWw½íà|0¨æt!+üVÖ4-$4ÛU«Óa©5ëüN3jØqú”—±’E ÑOõ‡¼x¸í€¯f¯ðâ¸WT¢Çµ¸oþ}L¢ “øeó‚ aÐJo­xÝ6‘Ú(tø‘:joœ[üNÏu¦Hç ôSž8{²Wèîù—6üÀa -‡Ë$ ŠAøš¹L´ŸRÏø¶?¿_TÎçµ4@|ê‰í° Ö…ÃV”bŠWEÀ¼ ×jñbÒÀƒyd Æ¢ÿólqoØ]Ïá\ˆÌ„kß@[Þ˜«C"M³Îï;û縮Ì;W>É)¡œþc;×c YA‘O¶íƒu|Ø9ùÅ©>\[Æ"X6ò½ ŽŽ´¼Vèêaÿ^g›?= L ¾ Pç^H¤Q}¢Ì…k ¯<9Dœ«‚¸Qø3S~~yÓNâöªû11.¿Ed Û€×p¹Æl$°u,Yø87kù§šªo[Dóo¬MA&)ÀbXîêÎpZ£“WùÛÁŒhJàFä¼ ¦bùw¡Å%:£išÚoÞðá/63¼µ«kyyo&†­@æ*໓ÀÄB MYÓ–wÖEbüóiG=]= :Ï)Q² ^ØèI:ÄÓ£Sí îÿ¦*‡zñ »Ã=x*¿©ÄîtÄ`­°ùêÑ¥`ôƒo7–܆´;U”4ȇs]¿^T隉W±öàã¡Az‰ƒ„…;¶É £dƸßÄÀaÇF.Ib¿ÕI×5 ~\ðëŸhŽ[˜s ù@ë„`vÝ’L(̯0:„ Þ%<´àø³$PIÖhæ<Žg0³“›<iÍiæ¨è Û4Jw+¡ƒ|b @¶ÜîÙT²³¢OUû;‘t¨Ú)ÅËxª»•h˜ »0D9®ÚL}3#¼Û#`ø|§ Ø1LîCµ`ÙòIøïö¨PZͯžA‡œ‹²O…n@¤l ÷DJŒœ5ðûöÜ]€ zp Vàa—·O^ ÔUi±}µìøP™Ÿû: œñ>ÔÈu”æ÷,]êÛ;ZZœ=Ä¿d/ Î6zÑC5äoNüh¨ÅHõ)–L¤+vñèo´dn¬> ‚.žY«p¦ö˜HÌÞD–‚´×yeN ¬ýƒžªÆFVùg|ósé*°H?¥JÑ|läA'Þ/þB4²Ðøê;Z¾˜¹ª2ªÀ{¤&³Ý¶Ëô' X ¢ä£=+8*[˜15?‹©§ª;6éO ú(@@ÎSPäipÕ‘ËK!,ß9¾—Oà!•‘K·6ˆ Ä·ýk§bÇ:/î«=47!ùâF,ZÕoIâÀ˜›‰†&.5Xš±ãô…ã“mL-­Ó/èV“0þ;ǃHãþJÁ5 Ð X#sÓï ÍóêìÖÕÍ7ýìt{û þ×í8"â–UøÌtDg”3+^w#_ø §S8–o…•}¾úÁú^{ÖNèZ¡žÏñÐ|Í­i Ù–*˜˜Õ•s=g*¯‘eû†8¿¿HþçG¬m³²?ÐVs·X]{p„Þ'mXË!ĹZéI„ì†+MVJr£< N¥¤¤Í,f:ü¯F±ycÏïÖba$,{!‰Ù¶y«#®q¥ònßU\ˆµ¬’ÐGû'¨î¥xùë &—úÕì«‹¿T´ÍvT1±Å­3/ˆW „Å@—© Þ>E”Ö«”Æ¿ê`$\Ë«§HY-,œ?nØv4‘rj\AÖ##?´‘ÔS¿lr"ó{DJ½¯rÀÕc¾:{õ…XåÉ£ vY›uòmÊ2Øz;Q™°‚í§¦mwJžå¦ Fê±ð3¹T~š±ÊÎM¥“%q`ëì=²É:þŸ±úž–2ázý¥FAXoþ·MqDLMÛð>”L‚Dþ¸<‚[ZôNïZÈÆx½9_7¦}çmW·¨¶“¿ŠU_Ø!lûä@,ñj­ŠüÜ¥…¢H_`-@óþðó™'”–f8êÖåŽ5QíŒÚ|ªªR÷×”R„t§ŒÇ)°FÓxié~®XÙ+«m-¾ó|y7ݯ|í¢u‹È›Õ'4ì‹—3¶ÎÁ*]½†ðãP•‹‘Ö5…˜q.ŠŠèúóYÞà­Žlkÿÿ3;Le¨¬ ¶þÜ~¬F´ L¬öiŸ)š×C ¼ÞXkþK­°²õê¶iu_—ȼûÿeCƒ8Ø ŒýÙÒ ;6>–Jü¸SÜ +Ɔ *LeÝLÑ«üz W‚¬‚ ©7,e})D?‹³R¹go&³ùq"“Ja–§Ýodöë@²|e-ÆÔÓ:Ô=Fªÿ‰¼OAJŽ‚ØÑÊHÜg9LrújeåJšM–­ÝHRr.aý)|7AkpÒµ50!w¼ ±#.7ÔC£‰ágº5)QßÎ¸ÔæZòsãžÌ09èoòäg/ K.ÏRÍå‡fwLlYÑÏFÌë’ÆÐ7€GÀÍ3’èÔ¥ëcH¢;ôe¹Y3‘’uŽïVˆ>@ê¡Íè}ä™_m,ºX1ýY’'íÇû`æçûßÇ´×{}¡$t'”þåÇ¢"ÐÓ©{/6 ")à»ÚúòUh9‰<8Qµt ýw:Y¡pЭKgrd‹[Œ¸%hb¾} <×Êy.âwjèOA¬ãhySô8ÛÃ_½TäÇ&¶/€ŒPJd?¬K3g¿O¼F¬Ìtœ¥4¡.I;ÿeª$ÙAÏ¡ ]÷Ú-wÇÂTdÉ©¶ˆ1y¿ÑvSÇ}!¹O-4³™i¹†iÔ{Éö‘Í8ëÍäsT!í)< âÌ]°n…tty?ŒùîRžXÇð²E¤”>BRò|¤!¥ï”çÄ¢bvÌÕe:.ÚH¢åL jë¸E»¤3!2¾‚b¨ÜOÞ{Ù|Ä`¢“)ñv<ôí ¨Ùß:‘¥E˜\ÖÉL÷ßµ[Á%Õ¾&äò€[á0‘vJRŒ¡åâQ…y> ã¸Lƒ‰Ï]¹†cfWß>á1|r†zP¾jy«i~ЈÛW¸EÄW2£·ð¦®C„ÅÔd¸ÂaäR·k[Þ©ìó-Y˜¦ýæ¾Ý»Ž^f9Ð sx¸(k×S-üV·D¢]ŠJ‰÷Ô,½÷ ÁFËõ‰òg6}ÿf—Þ®üþ¹Ù…œZPL‡—VÞÅŽ‹†gD“ó"ÜxÆŒ áü)à¶åRÉrõ¦J ˜ Í!æ¹–*ì&ÄFc!ï†)i|‚³ä’0:ò:‚“õ­<;þ/9ìÞ†.Ãbùe:žÐ˜Ç•ÂE•V+ôý†œVíÎRÑ„iÑ™p¨WDCŒÅe&ûw§¦4ao%¥!cÞ 8Eôð,WßÊ!’)"Cþ”S †!—É*¾DÄ «M_PýßR%„dŠ`æ+°Ö»Ùóˆ—ÀºÝhºÍå°Š£1©…ýb”›¶®bè\I¯€·¸ÐIá¥ÄÜàb 9=otQšÔ?b‡¨½ö]Ç~ÇÆÍ™è>ˆKÆ=¶å—J™c’µ<6Z&êñ´åeûÇœ—%:n•w䱨=Hõ^‹7pëBØÅ¾i™Øîõœú(×c|¥O*9Z•þ¥:¯É[ ìó˜â9æf ³ÖSÛ#wAQ¿[Ù=ô ÚvQ¡ò™œ]}™á,M0“ñ·¯ØÄ^¢|¹]Æþ@×t­{lG¶ç„}›²˜Øöê‰%ìÃ^!ÏãÏ\U“qšã΋O7"áôqÒ¾c¡¤n¯ª£É˜Žžæý3ÿ¸±tÑ`ËQÿè-þ1 ZfÚ•~×èž“Ñ̛׈‡£Ó`yûQ³Aphv&dfÐK¢jj,ÿ½µÏB¶ö!gïWãIûLyu K%¬¼-~ädP|¾©Èªˆ–p´ó7˜ñܲ°vÑjŠÇ7:¢såUUq8C‘=ÿ‚ÛÎB‰ ‡Â ÉcÖÆ¥òîU_‘;®xkÄM{ôÒ™²TÜ"š\Óªq©j¯øsh00à¸ÛAÆÝÌŠ£G-éÀs'“YˆH9J¼Ú[#ìÕ§®)ëÚ¡@»°Ü¸?0ªYx à›aŽ~?Ù&=Oœú1ØKH=*%N·XüQKòðGŠ`¾-Il/šÔwÍ•!ŠÎ/Ù{ÎTîµòŽúµâ½+3b-uU»´^˜×Ú4ìŠp‡Ú‚òPQ¿2ªVH.µÁ¹°ÊV#Õ󙞰ÝõÔ2ªÕP yʺìÎVR¯ÀG1~\ßF"°ùÌ3>=J“0ÜnTë¢\y?Êb‚2§lźådê¦7ÁÝ4Ö¬Þ´‘bŸI\–Šõæ%F%áJ1¹»5 fA¯rò Ç--$çfOL„¡âR¯¯Ýj§Wc÷4†øé±£¸0…‘AÁ\_ü„¡=:ïÒ/@âE\˜t]÷„ÊRˆ…‡“¨„šˆ?j‚ej »©ÿè µn—Ë`™Å-NÂfsâÓÉšÊÀ§eaBqî°_cU„ÍmL 4;¿ö?+°j›ïB¾tZžhàÞÝÞð½~^–& Æ «äçác攑é~ ¿K½TÁ•·Ú8”0reï<4Æe °ýæ-Žž`#@úòš[0út¾Q"»î$ˆ’É (°ô#5¹¤I¤ª0"éE®«§ÒïÆ%«mÆ÷äÐFX‹ÖÐ ‹k+ZÒ3i5Ê£¿tq@D쵬Q#Á¡—*„þ.Cûvjo6öcqø;¦ºÏÄÜ›Z¤³LuÔò©e¼)ŠÞÓ¤jIYË©¹í=1†˜ø£zUˆ'üjüð<•/–C !{£ì½ÈÂ# U†ÐŠR s­ÿŒ°[¬aØ›E²+»Øe\TèžCt³äí{ܘ5l>œ4”„þáæÍηà¨wàúÄû;åPÉpEŽùa-ª2¤ND‰ö»Ãq=_(ÎO›)Æ 6K~˜„ j’ð‡±Á™C‚Ÿ)PÏn† ZH½àêÙ…uЪ†ÿß%Qß“Æi{¦rïw+«¢#ˆ´EF®å–³tù‰R)«&h Â_2te ‹ÍKY%§þžJª• Ö¼. ~_0$ìS—6Sµ}pà×§8>ußCg ÆÆÙ;bA"òä7˱ŠCv8&OÄ{BÙ³é†Ï?&ÞÝ2Y°+o§Õþß3µÝg-/ÆWPeÀ9W´o(žD_Ò¶µû84uGÑDt¦LódŒÉì:‡ 5\ƒ‰¨ñ™­‘#ÿôÒOòâ¸aŒx-€ØŸž3V¹\@fÌ8¬-§…sš`×]Éwë@"B¬U¢ ü3ÙÓÐ^Ë»5˜«^¶Ùõ-ºçs¶R>Û‰ ˆX£áÆ|‰Öy*ûcç=€Ó-Öb;!//$†àU9€Bº>O‹ð¶P¼t–º!‘x¯=ÙpQ¦¬qÏ_øK`ö  8]…ý±TŸüJb"ÐfiE_eAeð—.QIPy}ºòëHuÄta«p}Iþbîê ç)Êδױï&›Ö>iÂÊ%5^ôÓÊ™˜FÈ;nã*âŒø*%b~›Qý$ŸÉëp?KX°e"•»Ñ¦ “ˆ_¬œ~L·ßó 5^¬m/©föÑÓ¦Y‰Ý:ÏÖ‰¡“¦ôÑð¯*;WØÝÀAn}ÒE!®•SŠFˆMÊû(<:\;‘iIŠÖÏŠûÝ•ú€ªK”5`µ?%TÜïr²ÿv”ŸÙ)†Hsï2,ÜÊ’ÕÖ)=Ô·Çí¨EªÅO^cʼnǜkñÐü¨¡Ø‘0ß›2DIo©ÛõØüÒÛ¡üyBVšQ½¸O†¢ÏÆËþuTüQkKyCV?4);Àá势/ˆU€žk„mü.Äc:Ò{ÒÍfk™¡E&BHZÕRØ"¹ê;Ì¿Q´ßE(l¿\¢9ÚÐõ¡öúHÎhéd+לR–¦Û8°ª¦‡–áÇq 6X2dö‡ä騽ÊCÆì‡Š. f—§†õþ¾õÔh]ƒFêÍ‚>5Ž}1Wït) ÷4×M‹¿çžÙÌwõ®O e;ž^©×zJAG01/äµJ¡¾ŠÓèÕc¼‰Í©úÞ˜z$ô‘7Æ5²¹E+ÚÖÝnÜ?ò¢¤kÏÉ*rE'âCA†mE}´»‚_(@¬Ç­£«’FrY*Ø–L‡vûaýmiØØÌ\»¥ôBŠtò,ÃIéï¹ðCž,Öþ¥*Ðßã1éÿ%Ï”kr°?²>ƒ¯Ê™µ1O]¡?UÅS ÀËPE]¡"¨®{ï¸ûÏÒ;…÷Ì/º4‘>3÷aò´›uAD£%B:$€ ìíâÆ;Ѿr2׿ ² l5,Æ¡I­ðá…Òá[â,OéEf¬òZJŠlëaV¯˜r©9?"õ§[û$ û0š¢s# JÕY®Ë©„°1aâã·ƒÆ7`.f+[P(‘“·ÖšŒoºº„à<æçýì¸D–µUšÉóï£êK´í˜ÕÈÁ“é•×®9¨BMÆ87V3+$ž§±] -bhsÓg¾zþG·ÿIºJve Rwñ¢6—ðÅSÇjW3ãˆ`þýãDG÷e ¢3•+> zÛ–¼õWV׿éM˜Ø$ŽA0³fžkè® ±<­­¶G<ß•úÉÅCÓˆJ–c›(ï7¤Y ôSE,Ûí–¶¡­yÜK‚²ËÒÙÐwõèE<­«ÀvB^6ŠTÅnG©¬¢*h|Þ<ÓhÞ·J¬ó#vZ¬†Xu†´ARtC’Ž|ƒ}@뽸0C`@{ÒC8åñøÖ£õq‘è]üãH`?=«ÃEçéùÓt“&Ø {õèw[>·|¯EFS'z’j|¯0´ÐÒ¬¼ îÄ^ŒOª½Ob|ÿƒ„£ ?‘ÂÒçdE[¸×׸Ïå˜Û‘ÙE'2}#“ k¶Î.¡ó¼†‰¨zk XîÔU'á"Ì–×¹–°I¨Uae«®·jªfื_µùrk?¶+èÙ'y>ª²´½5 Eﺤ–,A¡XmÌþi|‰¶¡ &…d­µ€+g¨Ç­Ávº(óž ­“à©Û·RŽR+hcüR£4f? ÆôMЩ13m¹uöܬTíA¾%ã'Aš‰CúPàe9æ¶çó•=wD¢ä±šOÜ(ŸÀw!e|$æ´‘ éævâÝù€re˜—i#°^“Ÿdõóßþ×rß*ÜÓ¼Mxšww¥ï¸.¹n"·V\„š(·×¾üùò«GSiÅd˜Åˆâ·¦ÖRÜŽ||qåTim¾’ɘèÚè `Øk³Â /ez¤”¿ÊØö§‘`µïǾ!{ ˆ½;¸?Š^ $ÅB|L•p)çÎåj¥F¡Z^B ^<‹#Ç/uâ¤Ò@ †ÆduwøÎ¡ï³`>‘tá¿+}æ«¢î×(!¾±àcàdf6r«„ßiY´4U¿ÏØ¥;ÔåÂïí}†Ô–Áß[±zŸÈ¢Ùgqe· 6@=\·+\³£ðªKó›uo¦Ýú×ÞÛ®ÇC«Í¥'TÖ¢µ(õ¨mƒ÷ƒPa,m4|R-õžN›?mY±i÷±µÐe0J–¢œ°r^ï ¿­Û“ŒQ?V¾+I[ḽ̌¥ßõ_S­Z’ø’íÞo¾~JÃr9b¯}–Ü{jîK3Þ•œÁj›™0²Q’¿-øØ¾ ½8僤ê{KÔ`RQoqÞæùPÖY‹üî Ðs¬ å¿Îq’1¼¢51àäÁçúdd±pºóµú’¯18§ª²ßÄâ5`Ùgv€±Ìqüζï¼õž¼P`þ­Ý©¤p&|Ÿª¯é Úù“İ–l`&؇ê(fæ —Á,ºA[ªBåíh+碛ûj“UfÙŒ?RØ*rÈ­ÛË4Ó˜aUø´Ü\,^û/•¦“HÓ­s caß®j£A·¥Ý[´Ìi_ €¤¢÷M¥ünú_~W|*ëÔ¢Ù©S¸ßË6ÜC9‘€Óⲑ †à+ÿ Þ%gz:<¤ç´ð]2`|™3ç†d„Ì.Uaqͤ¶ô(ê¨]¾ùo™¹–’̪Z¹ÐóÁ—ä(ÊFtóŋַlº‰ü+µ8 …k§… ª@`¼’Ý51¥bŸ•´–†&Dpëé0èÄ0”ϱLŠ–áª¦}£@µs:§UVZ‡­Á’`xw¥ß½ ŸÉ׎bM{†rmÂ#|Ì™”}1^¾ÖI13#þqC“Ω·ðý3H¸Š²Ð]5ËOJ˜æ”¸!Æã'»‘û$'qÂàhd§s4?êbǶc‹gÝ=f]6mxÓær´Â&ôÚ —Ú7iªÇ‘ø@÷+Ò"í§á’9)ôhè=©K&˜“‹(UTü&pE‹gfþöÏf t&ó_r*W«ÃÖ'œÐ ¸jLÔ Ï(ðÈØ;rÑoß´¨ ënâÓæ‚mBÍðˆ`¥@‘F(,¢*‹öËÌ !Ò‡­Ìчª"È¡§MÓ‡jÀnÄƒŠ£™õYèÌ\€vŠ¢üó ÅÎ9Ms‹†¿òÿ=ˆ …YÑc‡äæÌÄ6óÙ,/.<wòºl°Kgåb•Øciu SnÅ£Äw°%S«¨û5=Ëœâ8<æ²8Õ:±ÍØÁÚU,;Åéqö»¤ð š Ñã@<yÄùnsôHÎ_@±Mÿ^nÛ—•†[þ§þ¬ ¡oº_ˆž$Ã"€Cdûà+ü ‹óàs„Bê×êÒÊùëùÿMªƒ.)El™!DÅãÖdÆ,‰E~(¿èDmB¿6öUOÒA)áÞ>*p`¤ÇN´\fûÉê´ÿ¼BIJç)s Ój¿¸H'óÇríå©n1‡h™V”Q?5p{þ”¨˜"²³f¾¦Q'mºÕR/æfçí0̃p5²êÎ-*/ì0ã0º™š+gžga͘‰Ì'~C¨žF[„¹»2rÆÂ­~7eôåÆ2jë?ýÏœ\w–§däžòwߨ:FÿówÉ™ŸÃ;±“5¤Z>3_v© ¸–Ò ] Òˆ®>]ÿž&ž£eO2ûÍv#}âH#ñ²©¦° ]I‘•›ê“HÄv¡Äær°‚ì8Eó¸Ý^ñ‡êtÐÙ¬ôÖ¿w j)ªÒs¶aáéêÆŽ‘OÊЬ÷†íŠ@ÕÀ 9·W÷[ް•°c“Ö¢‹VŠô{Áv$êGçØ+ÎÙÎͱ±„tcúQ›»ge;ûÎX5˜'ƒø{©zæó—TÙšNá—>ØÌÀfû¿`·Ê^íUMLµÐEW“*¾)~1Ðw‹þ×Ouû:CeÃ’,ÖpÓªv$áõÔß'­B:ZÒô2ÍÚÉÏdá€ÿF³áLèOó™Qz¬å}r?¡7¹V –aÇfЙN;øÀ!ú8Ã¥µ ´ÏÒ(Z¨b ÇØhMíÃŽ­½Ã[:¶|º^lyXûÄ W\‚œº5fóËófÙXVFœªÃVÁ"¢±Ã;X»Ø 3ÆN[àX!ùp(þ4Q"ëõ_"5Æ~ŽÐjþïÙV‚;ù:ËÜ€,`WXž’â‘—DcpËŒþÈöP+aQˆ¦©»„qR:'~ºÜ‚\7¹Ë‹ÏºÏ%(­>¶Ñ0+žoNx;S&~Z§”½ËË]Ã*b1·HóÞÎ=–n3±æ÷¾VÕO3?cöνAY]Õ|[:µ¹ü.RÓ€”Hƒë¦\ԣߵçFÚº%C¥¬Í@/ÿïÏHð6ñMøB¡Cid‹.Zã{Û|h°K«6#H&z“LÁŠ›é-TzéRÿ|íÄXûi'yDdÐÎð¥@Á…èZ‹qüúi;+H¿R¸R½í®ˆž['-Èd³3ΔI¡É©'‡«…[çh1uZC*³ÍBdf“¸4›9 Õ,ä@"‹¾g³.ÆT\ DîŸVÔ6”]NÂkÌoŸÙ’U?xò5†ƒ?Ù£—PÔGµrŠ»ZÓ'PÓ@7xg|· Écó†ª\•s?oWq|ÝÙmj‡kè%(—\~Wˆ„Ûò3D ÀÍg_¼rõˆ½}¡ßemÌ¢ µ)${ÍÝçt¸]Ϲ'1"¤O€jíãϜﻄ´Ø>ªâ= ²#—<沂IÿéU*Bø3±U–HHg'$2#µ¹­_õ%NŠxË dÇ9‘Å,,ùßê© aˆa<Žø¼³«(ßÙˆ¢­4æ‹pB(ó† P`í4¸Þ4ß­$â0¾yÿ±Á€õ/·ÅÕL¾xÞäéÒa€­0q„ÑaŽÒu‚ › ÂÀB"×¢H­JbÿŽ+ʛ㎼l±÷Z-S⯔ÄÓ{@·ÄÉ<֕מ¿ðP¸Z1¸þˆS½¯Ð'Ä~U;n7œÕ¢ºSf,~{7Ã]õa9›â‡m~³cðŘ ´ Û]!úæÜ_¹ í) ÑÄ»çk*Z2n¡¿ÄþRm#é÷7ñ>ç4†®óÔd©LV”æf òh㊱’ò.ä`\mD¥›6öŠ±â» šV6à£$ƒë±Êî v<ë (YÌÒœ3÷GÝ3õNâdÛ ##æ~R—¯VžÍ«îš=3e ¸»¤^棘¯ðJ—Á÷\ÀÜ>^Õ»¹÷Ûõ”O²ZsCŸ‚* &9ˆ' ^g1Yiçaþ`\óo‚—ÆßçLsqÍØñ³Û|P÷ØQë˜[Udä3n†is§ÄR¾ Ýïa¬µŽ%xvòÀmƒüÞó H¡ @zäPfÍ%ž'î@&¯ë Â4+£àMà ±¸%ñÃ뮚m@aX"€T^Îéql9‘Ñ»ý@^wôýMlfwÚ½˜ÈYK¾½}VŠI¯>¿g)Œn„ Z@Çüß8•´ÉÚbõ•SrÉÀ’9ÍLxXš'ÌYš¹³Ò\}#C˜ç©_­ÚXíŽ ¶›w˜Ì¿/ðSßãc JµpZ²øýµss7Ë1&—$öÇ?- të‹FqÕ®ô‘¦QKÉqªÚf|æAš¶ùDΓU7vÉ%ݸ Gãä28/ßaéÿ/hÉ儊6JAßOª :Õ­(e'€šï?­} Éž/C ÞÏØÿ=nƤ(Ó¹ì½Iž ±Z äF3šõ¬Cé­_ÉÊ«yÊy5·‡àA*èŒÁ#' µ°‡è­–õrbKpñªvÿ¸­i®ÔIiàO©ÀÒÖv¤×.Mbäõ‹Y2Šiyd%h=ôCqbÿq%Ò´O\Ðwæ÷ü…R5o9ÖhJ„\yW¼znÃË~Ä×Z£µ•}në5¸5nÝT‹» h¹»Ô_Ô66ýd´·÷5ŸpÛq©nìEx)$gæmïáIÑj»â+޲]é38NZð‘.Eë¾íPuûòkk꘲YÓümþ‰ ‘‰ž¨òkÖ¦çOq';†$à¼S8àšpD5l2˜aƒP磶(,÷³RßçcZ ‹D.ª+£>jÎÅâKˬ¢ÿ´/Ö¸ÏNEO8>“îQ‰™¼µ–¼g–é&J•ƒ¿4ˆÎØŠœ£ãqK%-eû±*.èùëÄ`:gQØ–þ£# `6A¬ýkb€•Ô‡€-èBè!õûßü­¹oé>qW?ÏB8Ó_žúRÆÈÃ6æ&2b9I—:ïçLz¹îög|¶Þ¤´¼s]ÑuPZ‚§ó?ÙHеÕ•é›u]"0âjTcªé‘¤²Èùèü×-þ¨• Wy“‰UÙéºN ˜6ŸŸ:Jv°9ÎCS¯ß«d!9°Þ¨0Óª—Ùò"NæwÙ5 ‰îëÜ÷°¤î+W SVÔÓ<ÎH#Ÿl óE%ÁÙ¹d¸8òQ×¾²õ;ê¼ï¥œçß¼\Á>Ä^Ñú)é&ûìx8:Ê ×¢ûe‚ÜF«ÒܺDÆÀW½ x«ìÿ§h9¼×¾™ídQ³ØŸ”µò^\CH7Rñœz7 cžg *|yïÛÎäl/9·Vøk»á‚¶ˆzfMÎL—‹ÑŽ#ºãú|a-»•JD‹Uuk™5­ðŸ¬2Þ=µæµcôkIÀ‡ˆ®ÿÔ¼·Åo3^Û‹O I=âðšªÆÈì€ÒÖÑDBs6ŽöVäbiÀé(âØÝ\ ªêê~ RõÍçU‚ Ïöˆô²©B©±º+uÁй«ujM§ ¤WS'Ý2Ù÷[9ÀÛ™I'ëØiø Ë›‹`ˆÈà¯nh¾ònàî‡Ù%øŽœ×åÐ3MŽŽy4Úwañgñ‹¸ ƒRáÒ¬¸A¥Éü‹ööPËW‘`«`5-XJݦª³«dí m{Ä }u„­®"Pš{¯Í¾<•H¿}¦¬ì‹“Fk>/E奸S½È98ÒK¼f‹…Ùuˆ yµTin¿%Œ}Áô–Eq@éßæœ›jÿÅGq÷u„OÃìUÏ(À/JÄ^yÁH¡¶iÆl™OB5Ìïüh‰óÁß.ÃË¡–¯:ìØHq·:© ¹& CädVü\\Í Ø_VÎ&¹¾ö„’̤¯z?†mFñ˜¡‘.Þõ`^M››‹üÍ—i¸ œ—Øù´À|„q|ӆ̱uoP¶ ½2Œ1½ï÷ê4í}ïRSkòëôG0ºö¡>\7oGEx«Âš˜nzueÌÿÎeT§’h¸ù‘w¾ª¥HfÔ/ðÊ{E£É•œŸÒýÃwSÛ¸ ´óQ:>h8Zêâƒß`Y̽¾êwèÌÝêàsÂR¹ó¶\*b »ðtÚ÷/šXú´F ðö[jéZ¥ê’:àuáúÈVApOÀŽ5Ú\@È@âú7íi·½\q½¢'Ž‚¡JTœÚïØ™g»“£š®;aHõ¡»Ù(© Ec#óµQ¡£D`*œ4>—Á†On;(M·¿45’³K#q B(r…úÝrùºZ FÄ´!jÑ^’œOÿêt:`jÕàÞ®¼ºo/s ²yHñ·Ù9¤ù¢*Üâ“zÄ`ÖͶ÷®0ˆvZM‘EŽ?T(ƒËú¡iÒæl‚ÈhV…7¿Ü˜3oEZ†òAâ«[xk)¦Ò&¯Æ«àÿû»VOícS…Uf¸;ʉ£Å?é¤ð¾~S¦Ú^#‘Èr5~S•'R&Äg¶k§ÓTÖ©þÂY‰ÆÖ© EžY¶ŽlØqMËŠ±w8hw WiUºKð³þ”„̵J–ÐF¾ChdsÕ!óµ xÃêÚÌmÚ1HŽüTQ:L~¦QD€ÅP-µvoõý7Í òÏ÷€`gTì΋mÈ¿èž*û5䈔õÐZÜEf¸„VòÓjYœûì»åOŽy$ÎÒ„ŸÚêâ!Âc³êAra†#iÅLÇÅ/ôùµÛµÊ6ùð$ŠÝ[;{÷Y ü ÈýGĉ)õâ³ÎËð¹çþ0«3  ™A^´ßcT•)KÜÜL𶪶WmÏP>u3áePy38ù kÁ†!Ø8ù`PÇ ö­Yh}ï ½¹7.í ÔÐ9øÝÃ®Ô ¾ŒÏz¡‡ñ“Ý­žzß-ñèº]U\…Œ@œã¸]O6‰žnó¢Z^Ø>Ûp¼Ð½2Wa,oBˆ\Ê I¬pXL­ùãZß~µHËA 4L:ˆf°EØ<È‘5IWƒIÓ[Jó¬'ÈÆ§”O’¬= rÝL:½G£0ÉI/$TÍ0ia37ÿ÷à-©Cn ˆôèb„àARÊYm<ìD+n"q¨J޵õü;ƒ¬Bn6ºµ~OíÉ·˜˜ ËäÏ÷§ö z;5aB½¡s¹4T¢5ÀT·” Ë­Ì ¤ qàîüñ±_P“×ã¦áøXˆ‘†zwWµT_šŸý-‚)å2YžfÜ r}MªÝDŒ~¶‡õÙù2ŒšÒ \ÅÕ˜`m¢3*êR7ã¼q&b©G¼=áúØžSÇjV¶`©ÊÍåÕ°y8³è ~%ÀB,âЃÿ®xP(ÉÄå‡ ¢+Ã*ݪ…yù±Têù eèl‡Î÷Ìoä–p ˜Íð)@0áb‡ˆÈ=.ñ:ûšKª< æ\¤ y-zǤé$"Ô•®§’&É6™Ú29‰TÍé¿q‡L½Ç¿SU;v«â…|¦¥¨¹{:ï>s•AÈWÙØ0-ÓOø«þÀ¥J MT§Ì®«Ï$—µ„$Çò‘G§Ž*§¢ƒ'GÇL’òL=+•7šVHIåÊ#³…ÂÔ»-Î# »é¤ë¿+ž>g[—WþœÀÓaÔå t áEücG°™¨’à5ü¸¼;äR¼1´Oºo=L& V¬ôW½:ª¨îVÆnñoRÌÃõWSöÔ˜·âø:ý ýdÈr†I­gZCí”´ßš†ˆ(þ³˜aæ'¿Óå߀ºÅL ­Ð?‰¼·8ýtëÇoCŒÍö\læpÒb2)•´ãŒ=‘ÔD½d_H°£É‘Ô;ö£ I®V/Ä©¬Ûíü»Ò³7û÷Óaþ ±{ü¦°®Ú»­ýßݳ!8º(D‰Å!wýÏ1ðK«0¡ç†ÝUw·àõ>-ëa#ìV%m }4 Õ¼M/ K¯ºXxhjT3æ8g _ÏþG´Ì1+&ªÞ È9ÈÛ’zYüþªÇî]½oBË…Õ&_å[õ9êÞ©¦MY)õ´Zy%ßîàg^‚ˆ’DÑöZõ•g@bØl4äì¹GOË ' Œ‚³“±ê•Pr8sÙŠ§¨Š°8ïe1¯båN*w7…?£Z:œNjj¸s-âwbí“´þ08s æ%—,§”&îZÏÐÏKsóÑEžlw O¡tkÀ›Cª¬Âª<7Gf«ßKr~"ýÜœe~Q ”¥ècù¦£&ê‹Âá‚y¸qaùÐv‚nõè¾…$cË3~܈² (à‚At>¨˜Aä~Öt|1BG‹;?g@KfiÉDHæÕïˆÒ™ó›>_2ó?½4ûhBñiÇ5€Î“_¸<åB&¥t!©€¸?Çäè‚ä„ÂÆS ¨?‚˜XÆÄ}@[¤- ¯_×Rb,âµí¹_‹ÖùD[ pþ!ç¶–ô•&Ÿ/˜Ë§å_dsn±Ä231 wëÖæ bý¨NNϲ…6÷eõƒ~}4ù È+¥dñº Ó!9àšŽƒ€ìוÌôOW©«¢O}Œ*n ’œùeÍ{j,*8*~iþû{ôàBoçàUÑ-'6ZÜ?7öº‰Wr€ü<‚ÓêÆ¢'’/Â{›ˆÑœ7u¡ÓÉ ²:H¹A9+1tÌd¶ cãâ÷¿ „‡Íøâ9•jG¨%™]-SBÌ瘔kã.òí\õJÂC!¡Aí«¼v--›úœ>ÖxºgO®$«Yø©e÷g‰w R8=[¿ˆèõí„Ò³¬Ü`"h]»`ªÊnq¿‹vÙXbaÛ3ó'±`L»ÐL€<óñ6”ì#ôo*ñy‹–àÿã¾X¨­½±ý.4ïÙ‹j§»qŠ_k&«…½Kž„nfã _@ï³QMp ?ÀMû—h9Ø‹Ÿ´¨©;……Ï¢Í(ï?:š&W«ö¢’î;ò¥ŒÙ”hzóâjåYú{I¨‡ %ñ6Úž_‘À#bXԛ麟ø*®;¢Ík¹½gªè1—MÉú`ìzY{ݦgõÆð÷“Y{϶Šfà¬}Ÿ¾«„"Å>ÖEL€Áº^ù¸³Ç2ksÿÂ-_5½²ÛÚ©ŒÓ r3g'Žó°ÃÑD6ñežJ-¸Œ¸¹ÄahéíØ"+®åâ³ã*ÃP®ÁX@DTB4³Á¸†„0nÃzŒÖJkõ13«Û2)Ün›}Qj%–Y$º€N:<Ðl7'ÜKû¯$»kÁv“$ $¤´pâ¹@…‚½Ëõ^ Óš„‰å0ú:*‡„q °+RÊóùpë£_a³•Ã¥9Ë ú(ßÔïN *د3Ê{âøøô¤£X,Ôïz:+g€0Á,3aÝ ¿º¹mø¤!WÚ{ÅØ%a7ÓúgÆ>YÅlfKqJ°¾0Ÿ¸ËG;-^üLûåt4érzûFâ|Ô~9¹÷{ ôŠ›¼a‘ÎÎõZÔáÏ Ÿì“ßáü5°èòQ«L2°]üïÉ>|v,ú<ÐC|æ„m¿©Ù‹Ê¼0™Ë@ÊÖ9Íx2 ’V §‰&™‡·Uz5ÏÊÕK þ/ŸÈmëY í:w.y×îÓ5´–©YÓ7¡ÇÖ“BrÍ/íêõõó™†õnÙÏ Ò=w”¯Ó›õþ¨ü4!cZšûQàpýKqUÍÅh¯¡—­6š)Ò¼U/o'Íjµ€°.ÒÆ T e¢’PƒTþ¥_ÑðkG½ZH†©©Y%榩ûLé#r84À_°–]©Ñ)·lõáh5D\}’ٺݺ«Äj»X jŽ«Ã.5‰Ï²Nçª*È;Jý<&ÖÚ×ÙêM{Ÿ5l¥ ø’.R‚^øÊËØkÑÃ%faAÛ–ISÜѳÍ›ÞpÿZ7ð2è^w ögÕ Üb1°XINjҹU×õ=r 8 XrH…,­†‚6žÃ“‘»óÔ©Bô. €S’ÂÌD 0BP*®ßdž ŽT9’…ºB*Ax^ßw™œ’ǺZ5!¸U¼ ÞÃ'Òæ_]i»µÐAf³©Nü¦\²;5Š5”Ó÷ËÆð¥³<åGUÓîm¡ÜüVÿ‹÷ìWŸ«ó:+Üácþâuú°Ðù}N‡\¥eƒ´ž £ZJ»Ü.5®Ð0Y‘eÀåA¾W:q·‰k./îT\01|Úü4¬" "wV®–´ù‘×lIbèµÃ<÷â]·*Ðx³&áõ'Ö÷ͰFP=üÇj½5zÇžf@àâµÌcePã´Í2ãR¾Uù"ùl*ß}­¼k?°?þö¾çuD ñªÎÑ8]~øÍÍøÔëªì!¹g ^»~aįñ¢-_ñ[ƒîD9î398XA…¥AÓ«åù{‹f̨ú€‚9œì îû˜×“Ÿ ªg”YŽË·ÿè󷛊Ë}—§q aid¡Ø¾Ñæ¶+æEGXH³&<ú¨¿ì{U."F?—À‹h­Ôë0*eWù*¦ªŽFŽ+až­9U<̨‰q£s‰àž)\tòÖ ¯œ–ηe8Œ§A%‚ÂÎàpoôkêRyhêC´µR­Ëb±˜ÿ’í•ÞßÀœsæþò F¶Œ?*Ìëˆp ¦Î¦‘ã=ûæ&²øÌn,cG¸ß½æ†5S¢H~uQñdLÞ~æ5‡²‡¤­z½dÕ !ÿôN«<Àã ¢iYÌ8€ \Àa±áuy§±ÿChQu²2ì=”H‰M„¤ï6\ÇÏÏø<.éuŸ#У”Ç „Æ«î²F)¬‹A*[á誨\rù©R£}ïæíO TæÐš®|mÅ€i¸?öu—ØºÄ î0þôz 0µ‡‹ ®ë”3 ËÑR”ë›å¬èöœk"BLËR›¼ìrë]{´¥Ò¯’2 ÷MæNjCÚl›§™&qN$AÑu‡Yòtö‘½I¥0Ÿ.h¢F';ñswSÙÜ ã ª?sXû:ÜâlÔņ¬±A€ºs̸ˆ½E{“ê©m¾,·hÆUë#¯MÐ0¶8_ŠÔVnoÇú¨Ú±/ŽˆãGåBᯌJüíË1h )–úKsâ×ìe˜Cõ÷ħSeCiU"¤ OKîw˜6¯ú¦ŸÊò£=æÐ |eZõ üƒi8wýj#<Ö¤æ’JëU=éH6¤µfLjÊ$Óφ§{ãËL¯à­rÔ|îÙ´C¸ÖXf¬ùÿ à@x¬xQádz{+ˆP‰.ƒ·î6RÀSjá™ÚçA¿3âÅ«Ìòö>¾üº2"°hî#;ã/&eÑ íÏmP<®A<Ò@Ä ƒ/âæŽÈ¦>C84ì[[¦Û>„[¹-™c³"e€Eh#à !ˆË¦dpEYÓ|fý&ÍŸŽÂÀx­SR{£7¯»w•?¡Ohÿ\ØÛ^³ z76bß2ö®ËeŽ7OÞ±YB– ê]nGµäæ¬)/üI8÷·V”^ûr€÷§Á‹˜Àüßkkˆõ¥Ø¾îŽç¬]ü%À±1;¢ï( ªã},¡n>­X’ƒõ#¬7ÊÕ`×½A(W·öïØÄôZŽ0ŠÉªÁà—J\3®CY>2&  ùÞQ\8TAF\1£¹îüËÂéluñ•‹ç±pt'2ÓÊjjå4IûÛ¶˜¼^B»º·ÖÍûÀÙ]ÊJf„‹úÚ+ ¶e¦Ûåênu$ÚŸÜDDÞlzl5[ØŸöwa¹V- ñ±t<Ã<¶éWJÅ*xkåhñ 6<œQsž®•}º#¹ÞMÒó½mŽj€œ4^K ÕégíP&·ßT‡_‹µ 1ŒéÇ·œ?¢è„ÀŸaÑÀ&ËÌMdù8÷ÈÍïèçÁŸ&‰gØì§£Š’BzlèõLòš‡ô.¡÷Ë<­_øº(‚xZ%YîÅÏã]¢QQð,ªá ¥Üô½ò§›õ’Ù×,û[9 Æ?¶(+¶“ùÔ7Jø¥à ½ãÿPÀÉ,¨³PFc9 ²òVE„Þ¼¡|ãÚ+¥zõèHVÑß)ÜòÉ±í¥ƒ\›C.gôèðB€mÎ;ú•7™]­À…ïXtðëô›ø»hH 0­óõÈš9;vªõV»7+NœËƒyÚ15íÔc•>} E@xgAuÚ~Ûó¥q!Žú½ ,‡rm=AwË@í8á¤õï2'¶½rb8ky­¢m(µÐwõBw}™ &¾ñþ‘5é’eS¼0y=˜òTŸ.‹#¡ÓÄ۶̯m´< uÚèè§h÷'(oP[2œÅc/~ƒ•Ó¯ü¹ÓSa±Ë&8¿(ÃJÔuj|Tís¥ë¬EQjÐŒ³ÇIʨWü–’ cU‡Þêeþ.é†H4dˆ%g×_OçïHxš.˜¬µ«µØIÀÿ*{Ò«§‡oÎùåøõóôdç »´¹0ÇiEÞ}½X–÷RMÔ™"¡R½@Åã9í¤“u‰(úá®e“³ûÔ%ˆÉ6»Iðƒ›4ñ ´Á*×ë†:[gaÒ„]äó©FŸ‹+p„p¥-X£!¡nå—^=o.÷‹åµéZHï¼_G§¾–+“Kž»5Åñ]b(¨÷ lKÓ‘s °Âjôo%A8êœ[;ÀµU ‡fDrQ$õ0C‘^ÛHÉ‘U[ö“Ix;*ªìʤD¶W ]óÇ£,k¿¯5A*Wv9Þ‚²Ï @}~ÃÄ9„‚¦Ê³œtßcî… µ1¡iÉ1M |ç|àË›*÷á=xy1(ZƒÝU*²îžçŠ8ï•íciìR•5³Ÿ¹êßÁ uþ«cÀýÕÆ1-ÙtH<ù?Eõ‚ÎÄp8@§¤†G‚ L¬'Ö² â?Žî|žÍŒÖIUÿÑ»¯oòÇ‹ïÀ¸d:¢Lí¼RÝ\E4€Ú½§¦™œ¾Y¯ˆîÎœ×ø™ð4Ninx,òF‹jÛ·r ü¥f$$¿I´'mhIG×sÿªÊªû2k 16ÊÂì-ˆšº)aÝpà—½µªHëT &e†—'¦ ;SïµDíbP­´îéL¬%Üòý4÷B¿Ä×ø‘öžÚü_A¯X—., ƒ’œ>ç(.O¤f™Qƒw£àÇùùòrïŽ(²°•a‡%r|@³À¸fqÌãl’õèïþ‹@uÍs€Åvt¶"ËFµ8/~¤e"ÚäÞêe´GÃæuènr ±EŠ;¢Ñ‹Ë÷èHOÈÖˆùf¦ S6ã­YD¦6”ÖÏÀÝÜ¡ž'´²ko\ÉëÉáZ¯óÏ%†;5êæÔÅȹ@v…¹6¿[ÅÿopËeâ«1qâ-I@'°_$o©õ2ZÜ72#@íŒ$E¸¿5¨ A€°Ö1tñ*LãÌ\†j»ž*5¹¯¥X( ˜Ææ•Gz#'<±»ÎÑO¨˜MyãKS ¤ð¢2:1,Åô/À‰¢òG2R;cê-[ëò * l˜{>‚ Ñ¡ÛLHhݤÓЋR ź«(­“”ÝM׌ ‡´pEè K`†ìì>æSbüã,I)é^·gà©`Þ‘üÇìh0ÑáM&QÔÀ;M ixÀ7KîçBÞì ¼èêF»²[Üù9QK£wßÒžeîtðÔóïe¦‡–mý–’w½†IòØšSk´wu°—^TÈv´>ÊÛênûœ²ÄS}Š"Ê[zTÿ²*pv¼o&ý¾ˆåŒIZFÚØaÜè±Æ„ä=!í¸ &4ÌIÈ}(9öO·–`ýeIó¼Ð®ÑkŽæ‰ÍšÎ1±\¸âÉ,ߣg„~)/—Ñ&ÕK¥ô¬0eÙsãÝ4ƒ•ó3Æðƒ¨ä‚iˆ±”p]Z6炳T]Àä.S¶¾“2ÁŽH^ÀŸiŽƒª½ú©ˉ™h2»,hy ˜b"¤AÔá£Âÿ€'ÝS[7ŽÏ·Ô'lŠ‚¸² [ô&›@OÌR7é–p}øYeÖ@)é[R¹X[±u'æC%Ïw%,ѽá}9‚œý ¦ …«@ÎxÄÇäÃõà)¶ž…y;­Éy¯h'à>AÜæò°)â‘Ä”’‡µ¯ç§¾à»öœ¼Ltȯv©ÃTYoÿ]Z``;eð2rES»%O`¦§sñjû• `¤'¬Äj±gHªEðãR…Ãxèìབ”;B=ª"—D+Øtp„wÕÑj};ý^ …_ÁŸw(ö£xÏéÝÞû ºàv>¦å?J<TM¼£žºúFKA¥é¹´(ð'í%x±Lú:˜r-S àv,ÀŸä$¤,Üba™vd 22]œTc±øu|=CíPÃF[Z’:BT3ÄG³Ý÷ûÂûr‹Oš¶\bgÖ†åF#’óB«ây¡u‹¹úMpé üï¹6­Ë¥Ràߪ5„òù31‘e8]x+½¨½.µVˆ{D/¬ö9ý.7°ÀPQÈ{uIwãR¨Ø_´¯“?p’C8öâª,´³f‰rMí¹´uþ= ßN¥ošÃñg’l®C –Ô…·òZ,¿kfFîm QO"ñä” tS÷9xyß¾êä13ÝW#(ÌýíšžèL‘@\­D©}šã™âföY·â8—NtÚ}PWì`B¿z*=É¡!þ|`é~ˆ¯hd…×vs"š‹Üò4rGî­°ðÿ,>½ÓM§A0«ÚOêŸ8c¡9*„=Hû—åÛ]rZZ²^˜ôtqLÀ®êœ«ö²†?{íñS·ELYÃH®ôf"ø½¯óºœy)¨àí6Ùà¬Ç6öÎ6ìîÝù܈²Ø7xnü\¥Ö)ºÔï•“×y‡A›¯”Á·£yzqÀÑÕ’y˜&6S@S±'èÿ°Hy(®™ú2C5÷ïÇl”4¯gé¼…¦òy9Ãøk›ÖÍ Dî<þìžj3L¥*Ÿý@˜i®ëvF}­ƒ/oc¨DrX,Z)I¬£˜/¿¼[G,‘¨$ø’”áûñÿj6>ŸœÀçyOwª‹fÜóøð¯Únä#(ílŸ~‹hy¶Ùn­ 2nÙÚÚ*½y&ƒóh4ìާ­Ï·ðši1y&ä{Æàå“_ÎW¥)ôÉ·ÀóYìC@$N8®­}g_"uz"E‘¯œ@ÿÖJÔ?HI+ÆY ‹)½‘&.ðG¥eÕ0¬àW3ïD8Ët3†»-DQOÿÚš&àYÑõ€ õd¨)oÆÀà~ç›&ÅYÖ´ušGz¹¹…ð°X(&ž¨§c¾¶”×§­îRÒ, ®Ù†‹;[±éøÅá„ M ä¿Ö¤—e:ÇŠëÊ9€¶¯Ë•ÚÞiEç+Šº iñµ1ò_¬ÈÁy{©™X*Ê4¼:¨|³FõíÙ‹7G‚ʃRUû{Õ8Õþ*ƒ dwÝQåA X ñ6ísRSñèmÖcÚº„¨NlXFâ>‡&ËÜë'Ž\ž|ð»hX%X¼²xlíý!ß*Ñc+ñ²‡©~®XÁ'\ö|}6ÏÒÕ ƒ˜?±mÒù¦è‹b€¦Šš­Æí¶Ó©WcŸÝ»Nÿ>Îd͸:‚`Aô$hðô~ïi}ÑÖmzÀ£žþ;ò !¹ÔÞl9Ÿ‘ãB;ÃkÛ¹ÃJïo¥ãJ¯noãðí¸Þé‡eˆùùíÝŒ_´&öòµà‹^VihÙCÄÆ™‹E‡æŽ>š«(Ù÷[öInÝ*4™¸Ð¢¿Û[¦”ã+í8¾V¢÷œTÕ»fЧùñW-âÌîìGc"Þ¨fÅG‚HÔcH&C)ÎÖ‰âÙ‹c(#jH¶·S,¤ˆð`ÛÚ¬GÖo 7Ùh.ˆHÏQà FšÐå[»nT”ÿXQ/ u|ǘ¾Ga@—üÉ®7©Ù« 4Ä+ðÑ åÒ8÷µ†J (KðjDJ 8íæÿd×C ØRÒVâ2[ÈÎúºA2 蔵¦áB‚W½Ë¤ÉœXÕÊ-j±˜D³p›v¨ ™¦–w¿\÷°£­,Ô3ÖQºås†™z2PgÔVÙƒ U.©¦Ö©M!^¿%}SB1l$“P ™ªßí4EEçícfŒ~ i¢Ù Alr6îc_Q‘NPzÇIl»6Ÿ‘e\Všx ÆF~^пÆÕþ¹—=NÄÁƄɔ|çåP;íxªçç‘fH±ú–LeÔ± ˆA ÑÔóBùBçÓg98‡îV¬ë=un½ ~ñÔ;m–´G£@LdB›™¨a’ ‹_çâNsQÝóyI$‡ù!ÑíÚ{nÂVò…éK —Må­ĵ¨S—<Vzãä.Kx.Ž \›ê¨÷èß0Z $eý†É£÷°uùÓQ‰7'ô¦¢‘f÷ø ^ýQ6ï °Ý ó+í~‚ûˆ]e^;K¹f×lN§TÆXeý“¾ò÷ñ H$¥«S±‘¾мÃGàÎWUW|x™h­œÿÊXȘkRgAt{M) X‹fÐúö«š „3yœ¾é܌ɵÄÒH ‰x£åÄsu7,}õOâ„fµò¡d¿ŠÚˆ¾9"óÂzŸ5³:•ÖVNÁL©É&KˆrK«“°‹ÍÊRü®Ûÿõ ¿­kPÞ@Ä6sIÛeYíãùT&MÏÂO¯ýX ﻪ¨j?üy‚wÉO ¿å˜€ð84ŽÒÝyo8é]¸€Š*ÿ<…†‹s¤™ËP~<[ªáPÃL‰¶Ž9áA<Ž-¹A‰vÓ†ZƒÈMkIsº~óÊߢÇ÷ÕtF螺‰7t¹_»ó’]áèü¼ˆCë”IEÌ›}A´÷Ú@èˆB9™Í!|±#ymÇf—xŽì?ænsˆ í¯OâmaÛø¥áWàžKk3ncCº9b@+®fÈÝê£â§ÀT(•òJ«¦•gøßb^ÖM¬wÿ(%éK"è0¥ ½Eg¤/Ά(sHg£Rùgp¤ÙÐ|ÛMºn¶Ž8,mË!vº.tgúmKä㇜ßNû¨±Î­c&½Uü3§A5Û¬Ò¬­rýîsAB%VQ¶Þ,ÒUë–>öªÊ"¸\õx‘w¢êó­ƒî‚aÁ‘¤¿¯³×.µÑMîE3¨ÑMK Áhg”Ù¹—¼¤§.tГ¿ÒØ*®%ìä8õ™â)¤ñÑ™qs øž^:×ɬ¢ûù¶³[ÛU\Ä)¬2 m¹¤éõ¾eÑ &•*²r‰È”Öþ­tÎ;5HÉ?ÅÒ‘µô þ?:y¶A‰šùsïÔ^*„æ è¾Þ‡<(Zn 68®ÝcýóHѳµ5<Ûd´®q“ä®™=*›T,*zvdQ¥ß÷Ñ!«4"©*ª1 RM׸s€•s§LÐÔY@ÑÉhœu jܤnÄãæ¡W“Zòv@Eß|ƒÉa¿‰WöJ؇‹å<øÑ÷ž ÚºŠýexg³)µ5Üðä»ê‰-·k_RéÃ’}-1ktÀô¡ÁíYLø À0G˨û8m=…4½J‡Bȧö#o’,.{HñÐ?çÀÌ"š¿Ï¶$àsÉ5S:¹”ë"\Z{î2z´{ÖÏ@¾ƒBÀc=}Y]9Å¥¸,uÔ:-…ë'ŠÅË-„æ€ TgqEÂê,†Ÿ9Ðgb¨XY8ÒÚ¥0ÚP‰tÂ1Yiaª•ãÝêGqì9Ê® Ö´‚/“óóϽ¨ÈûÊA‘ð1ÿèpKëœ,¬’ÎxS¡7vóžk}l<¢Õ26ÈÝúÿ{y®h¶ÀÄ™T@Ÿ«óKþ¿„\;õ'vÓX§êÆíÀúÿ({ˆGña 6•úÓ+×P aExN UE–°]©!Z,ϧͻÃÙ Ž>຅ù„‹5hàɲ!)×DPZÜz†%]?ŠÈÍ‚»wfÞ-Ξ_Ãv6}“k{ƈuù“ÿ<³9ዽrm›­ ½+ ocµ/„ÏQs‹ö{Jk—sGÐJŽ˜Ž… ùÆ2ó\ãâ¡ßúJ½IúÐlj¹ãñí°ºæ…Ü´xµ\¬|²HHm\àäRmT®›¯8TIÛžï½Ìдeœuý%z 9IýYÆpòmxhê‘Í^*ÇytÒ$i ’"-g#š¬b ¹º¸ô~m‡.G ™‘‡3{î‘1iÉŠ(Îx¾æ…ß ®\‘f®` 4zAÙ"ë‰:Ðßž“VHÕxºfÛÁ÷‰þd„| ÷#G·+¡ÄpMn]5wÿ?¶Ü4‘>K$p^Æ'ù»x`Eè5•ái‡{šW³6K]~ àõi9ä‘é «3³o•àd¶™`U¼ Õ'‡* al8/ö²É#T¿-PhÍå½u­„ ½,ê´¸¥`–ø»Ê‹CS áÊ^*ûíX»œzw gèûË\Cáľjë…ÉŸS ’Â)FF{^\ÕµÁüœË9æÞª5Öç`Š¿·Âa›0]^Výôs@Ìv?þ'¥@ bHNžÖÞ%!Â}ÄäϦmåÓ ž0 WZy`…Ô(Hmäõß2ÏÀ.y2xõs¦,Ã>C\Þ…ÔKÈ·Óÿ³Ûèùl•[SÚ;üŸ g[‡ó%NÊÆn2U6á¦àý—hh Ǥ夺µxÅMwmyAU¼ožòàèóI3–ÉŒ€û1²ÛrÝŸðE{ÚÞzÓèrY¤Ñ GIåÊûowÝ«Æ x²³z…ÁOQ«®¨,2w3ÊU¶^·yŸ:øl T¦›2½Åœç+LÇõi›j‡#ÁcLWƒEÇεˆ·LmÙG ‹©ÙKcÐÆ˜\Vd`ã)S±„¼‚”wZŸå§có×r݃'Üü*Q¬(L´Öô…CEìDšùŽÊÅËWº<üS‘A0ñõ:Ò;ýÀ'Ò«õ¸_ñ3—-?‰õôƬ)­j²ó´y{]ìŽPS×þ›åϲWØÊgÑU²Ä¼0ëë4RÖ8‰ñû¦<ì÷«œÏ¡»Á:–ôç 3#£òAÐbÊx†Chkª²“+2Í}h@Õú‡Ö8`ˆ‡Ý‡²:šÐçÿÔ±Å<Ù¥rñ,ÇRzû×ßp'Q­áŠðª ç~»Öz(¾*?Ó..’ ?¥Ù)à«»LúÜÜÚ?«Jòj4Ûüÿ*=$˜”s Y…’á½í}65Wƒ~á%öEªÜGð„´;„/o´ŠAŸÀ’˜R—Ò·íÝ.šH›àé†]"°á¼èrå›Ð1Ý¿'T*¨‡¹äˆ€Ív{Î@Ÿ•$Š.î?>”ýfMt3ê›ò¢SõWO= , ¢¿Wx n˜Ëù-‰øÇº"÷)& ®mÙ2Ö¶‘HÅ<6»¬5·ªXÁåÝ´¥`âγaSK)NÁ’ÇÊo8­›1û¨ó˜ý¬KÝ>]ÍéGj«¥^{¡WiÜPbËItÀ› +’ucü™`ûªžÈ5zO@£°:ú»ÎÕ„º÷÷Â&²N89=¨9>»óᓊŽ:ÐYóÄ9k?Ýç±H0b†²PËÁ@| ÏÆÂš¢¡•­g3Ÿgì“!úCwnÃ:Ê5°d¸l).±]¤âÝ7Wª•(x.b%–¦S8É*ŸÛ"_SJ|®B¾oÅTU¹à³V ”†1_Ômx)!ön°kkï6 RL‰OØéSä’ªzE_UÈí“ϳì‚Ìø¹Rp5˜¸ç6’a{—ßN 1h. ÷´x] …µSÔ¤Nƒ€ÎNÝÒ´ EÓFnU4¥Æìµ·Pê=È”òÃ|[³îrÞ‚§~‡öœRkéÂá!ÅP=æ×6ÅOò` h¤H©œ[_ï† Ýî¢:°¿pÐG¨Õšjy¿–ÿÇ9F’™_`RNaÌz+Ý_p_ _’篫Ïüû. ;9%É ¹üþÍ5@Rús´Oý»½Oõׇ³ê+ ËÒFÍÙ:gM‰ž cÚFÔEìërœº˜­†ÙzûT)EèoŸ–$Q‰jÐø haʇp¶Š«=’Ý- ~õçR§g"'P1—ö8¿ÛC3œ ¢RE¯STLb! $èÇ wá©kÕDÜÅÊE–1úàxeÅpëŒ.(a®}P5ÇÔBÖEK`;·ƒRN¾ }<¤˜ü—&1÷ÒXýÔl¢ >’Â/ŸP:°{ˆ ‰Qå2Ð*Û®sú¬mucÎcYîfÝÏ»LL‚г ¥éufÓ'é!¢Ôˆ-O¬¢DCüÀÂѽ”TîV7 Ýb‚ƒVê| .êS~#oå„ÿ[.‘ú¶éªAé~8äOVFjNDžje… y2#$Ǭ¿áæ»Àßÿ"ÏrÉ1@¹FG«ÆŒx÷}ÉØáÃ-Ÿ¶z–öù6,¸qªM©ˆ4"oÜ0fd¤£Ì‚òçŠæÇPtéà@{&Œ¶¯1]ØÏÝ”å-­ЛDZʲ×W7Ôé89ã®5t Hä“” gtÈ]êk«>LµþžCapæn¥DÒœj¥6ugÿIŽ Hè—WeoÛ‘®Nð|oªÑ ¼í*%2…͈jÐ#nÁeì@Nš3Ô)ãij>ÂLwž#/M0͉\”€Ô}¬ ³u[dXÜ…[á˜PËÊ@ã«süˆ°‘UžW|#YÖá–ks[f+ƒV½RÙoÕt÷b^#s±¾Én’]Èö°ñƒ‡:FÔRŸo‰Vä'6)I7 Ð`‡$Ç==8@©>^@Ã诩N»&"¨¾èø¡Þ¥€x¿¼¨ _tu©Œ?1ùb)XÕ H+ £ìŒõá̪¢[X/£þܾVÃja Þ¤ š[{‹/ià"kÍÉ{‰f¦âq©á›•s 'ØAÞTŽIN™Ì6Õ÷œzî¥ò0K›c©ej_¡=Æ^“òų Á¶ã3 ¢* k¼FL)*Íw¥ûà´•I²%”L ¸ão°ìΡ˜òïåøÍ¼ó„Hå3†P8\5§vËGSRÇYÍ$V‡MÄÊT9g^3MOÇ[2ùE(fð jÄÂ7[%l'*ïö+•±X×ÉíULRHq÷I(Ä褧î³ó±^Zk{M“uswêÁ©3c_S·ˆÙ…‰+8ã-ÑŠ³k nóêÝ~°7™êÝ9g8¬8!¬Oh`Üd˱‡± 3€¸à2R©Tk½ìò!AŒÇÔ¡MM”Wá$<¦ ÓJO)‡¤Úg\:$¹«XÝ4̈ ®™×lV} R÷E7°Ç&“Žøª=ÇÒ¨9WÙõãß^Ù+`‹ÜMgEF3χð“™OW-øèÕ-ðùG˜¥%¼ÏA•껀 %ÍSÁÍrÌýnDžó[ùß$Ýs[:vpì"É!‚ZÒhã¥È?>Ê´ÖâÁ¦+Ù0”—´È<éDi6æ+ÒoîÒ„ò,Ûs×TüEáu…ô'"ŒëXwÿt,„$^wÛDgéÐi«Þ&ÏK{u\H×k/ªÅ»‰Æy”S`CO¥„áé%¯.y@Ø^~mnkÐ Õ:ßzÁ®Â ›ž03§ DÈ3@7skNwöôsWVþ)[±²ƒ#Áž¨¡´NPLXéL>›4©wfÍä{ÜÒ½JF/$×»ÍØæì {ùEiÎ[Ïèž÷ —¯­<Ë“;‡Ù­ø—t xàîòlüZlð"^u_ ü”b—5’š(r½1šýEy…)y@À ΠXwùèʦÚb޵*F¨å€öc¢VÿÓpR4Cn ÊÇ}Ó:¡LŒ¸¯ÈâÔ –8¡v1„*G]=¨’¥Ðß²§{Ê­k;%(ùoñÃCÔÞ…Ï[4S>ákÑç¸óçœ|xE,L#3¿ˆ"SRŸ\–^lBº5zG˽!Eµß`¥ÀiºûN`ê-àbL¿2Q×IùZÃÄmè¸s¯’‹yÕ3XµxOÉ/­1Dê´˜ þábW…]+mµ@Ô“èƒíõ@Gìw”\ËöP@žO«lR©nb×/äYøb í¡”Ðo0†üeË8¡ìúáÿIïRÎTÒí_ëS‹wjx5µq§â`Îrq"»½xxù:yúBÜ‘D4i“7ÞÛWb_tÖ»¤örqù‹±»tªm+…Ô]ZçŸò«ká+|7»*ýlMuÇ@LSÔ±*_•qö?͆]ÃÆ}—Šyô4sÞÞL¾~.²é¥ŒíáÅ·[&6ÍÖ®˜Šù!†^ ƒ_Ke‡”ˆcìùýßZãÿŒ]U³µƒÝ$ÜrI,5D¥[-Ç¿µ9ô•ß?/«ªo‰×_§É§\Z'#¿Ã‘øŽœÝ?iGw2n±ú ‘ ðVÝ"Û…¢¤$޼‘HX§Iâ“›‰±•ÒtNAl–/§”UCªí^kï¿fì½ã£¯áP4€„™°N©æ€3¤›Éî*ÓüÝ¿‹Á»øCÅG/Z ¸ Äרm[5ÈIPª¶ej>EÃÞ&ô¶¯A—Îg9XÐ/×:ëú í¸éÜàyÀF›Œ ñ–[K1}…PËhGøW°Æaר>ÄAƒ®“ óŒz$«ØZzvËÍá˜ç¦nr_MÿÉü^é)>6h{P¶Äæ]Hèĺ¹FYT`—'ùx÷ØpIs(U¼|î°–PµÏ²Õ˜^3ú ­\v_7J¢A’&¼X¾O,™@8|D­eoGx*XÅÚqÈWáçˆó¹–¨b‘Œö–²¦þ†¿.èQT™¥û+M±˜l×ßsö*÷˜žîFŽE¶Lç.f$Xl ro¼àT9·iôåÏ‘@Q×¢dáà©/Q ÍIrª÷æ5ý.¿žŒ^–D>+%ÄF”w•4h²ºxåÖ߆óY©%wrp2ü'J¶yØŒãF𱘺Ï<‚Xý[›@žGP®•Äîä`ØÂ*•séŸ8s4ì‘oÛ;A]v¥µŒõ‰Ðñ·£+ cdzLIÀ»Òœ/Ã¥íqҤЭŒ‚ÚÜŸ©òù¾Q°†€¸–£F-U§’1­±E®g~èר_VqkùübŠ"¡*× ŸÈ%u=ÿ¶\ºÄ€¡a5D¾5'1ÀŽ×­¸ž€þFOcŸ)êGrÓM1˜Åög§ðC‹m{m·H“MëeN£ÛØ…ëõoûî~ø&™K(š§“s¬/$œàÞÑ>CÌË4ø~¢¹àöŒ Ý|P>"´PìäÂìÁy‹ OµJ{ï\7YN¬‘:¼Cÿ»YS™«ßN0ìë0X–Oæ$UŒ ~ &ãJp8Ö³Ù̉&ÓU”h±³:“’sð¢ÐAŸ±#Å» å"Ò 9´C4PDšVÛET¸.¬Ré9’÷z3Úu†ß_iÓµ8<éÌ ³2¬WC±glݶ䯸Ì8éô&‰Ò‚,š•F =hL –ÛØ.ƒU²kÔHç±è^M¼ïg÷ñ&a‡é¶cæÂæB·¾¦ÖN¸ý½’:<ù ÓE°u_HšAXD¶ ¶·áŸÁ;$ì”ä&Tü`îÄduû¯¿°í˜èÀ~*­böA­r#Äë½ù}Æúu\.åá€ùë£þ-Lqg<¡ _BŒÂ*^ú˜²TÉ$´2(tÔp7­qÿíóiYÌQŸlFhÅé˜'{¸ð²’çSh1­9áP:¶µ¿Võ_Ù×Ú9LÛLìl‘zèÖ:,ÔŒ5 Zâ¡þ3¦ÓXjnlâ-.ML~JÙ¬u˜4°/Y¡ÕLÏȬ«0ot,ÚáFl‘ÚËZa¡Ú×¼_OM¶*êddêô  _CLyñ„í¬L%¦q÷ÐñB´ ­Z——¼ïPÄLq4Qº/:zبRM&›M<ãÏAb†iS#¤‘PŽ *õ±|Í‹•Fgίöÿ(¦gö§ÿ}DL8ñ‰T'e¿kÝÕˆµ²ØióÅGŒ¿„µk壣.—í†ãëŠ xœÅhX~h øö/J&€$‡ÃÆF££÷pþ~ßù" ï§{™‚âè̦ä.Ø„&Yëuz À‹trZý‚K@˶œ “î J}ï•!µ¹ù»T~›:hPhò^ô~£xØ,dýŽq`ˆ¹C(­qÈý‡«îÇþOuXo•c¢ËŠó‡cÒ¹‡ ·²IûÂàŽªj@Q{£ÃÑ &ùý:®eX:­Áœ#6¬üô@Y>zÏÆ­¨z‰™6¯CÏoSž›Þ¨—ô 2YJ½¨B’)ÌáR-ÈJb»µ=²;(Ú ó2úöñ/V5âåà”ŽÃ¡/5 º'>ø`û8˜­6Ÿ–¨#Uw¢0–0³ÚX^!âŠ"¸ëÜ~ñK¡ú»,(0W^1]§‹-ûݰ(°|ÉçV†{Ýqí%£Î¿ïš[JJ”Rv¥ A‘"hGõ ˜.ñ˜²KÌÛò @ W&¤c¶ÃŒÞd" „·^¤ÓLµP³.¢-5²`Ê%ý^Œ*(ËïÞ>õ– ¢Zî0i¼oäžû}Á# m$o2¹÷®;<_‚†\vd†Š<—£éWæ.r-Y8:Î…õ¾ê¡KÚzÀüvû;V ®ÑY„š(N/ŽOcl#¬')ÅÒh vvóÇ\:fh$gVÜÄñÆDÒzÞóI,±a*á9îό뤱–-dt]c‡j öJû<䢹ÊB‡Ìïü­ñO¬³¢ºìW+tÞÅ—„!¤t‹sî¿C×0¸)¿ý®½"}N䵚h6G¼í©˜å‡ÓÞîèBc&D6¨ïjU:_ ɃîjÏÏ…Çùp;C‘XE ŽToXSD†/jw+5…Ô^úÙâ&)·7cè¯dh¯¦Ä¼ÅÎpÃ}Ö~ö]=â Ñ´ØÝLù’ r͘³œ]}~éøôÚÞ-›ac'”ë\†xýqÁcaÖBÊ?'=ˆx eaÑ/±“5Ρi3NÞ%šêL—œõé”ãÎÕ”‚i<–¿/±A¡‡!¹vYPåcᛀ\±éGÞ²«žÕsª)OÚ¯³Ò|Å=-9[Î ñU/‚@ÙWÌZïAñ%‚Òï—‡Ùÿ‚àÍ8ĪVæb“ò~Ú?¡KÙX®&"ÿ*†r­ýE¨6‘L““´¡ù»‘=>Ï´Ù-Nd)Jn·ÂùeL™oŒÌsùò­¸“›Ó™=j›¦2D⦮¶ù‰Ã‘¶+¨³ÙHPoÕÉ7¯t¾ÓE»ÁS^ÌÁœÒ¾üñˤzÈñÞß!çÖÜžñï*öõGÙƒö!Zì)5R;™"¨áÅ›9à’ Ã§Þ#* 7ÆM‹ú-Àz:¤/æ±n¦U¦¡Ê^è`´‘å;­ÌÑcÁÎÚãó÷ÐJ£Œ&¢ µ8ovŸßIS[”r°n‹:ögÛÊÈ`øâ•@’:T1Ît„ûž(Kô·ÜùiŸ¿dc"`5¸)ÌÈn[7ñ½‰Z› ƒ0> ŠÊ»ŽûñôÖS=Dm°÷•±kw–H³EeN3ÒdS LJ$qóàwMœÇ¤2áÉ`yé+ò°ï Šc™EgÌ™Þ@á(µ”p¼f]7Ëû‹D©Ã—Ç¥?6'c¬1‡·Â6†Fã…öÛýÈÚ7x½µ³ÿM27kÆ.‚Eê;N¤º¾)®ír¸RZ?HË&ÊM>Ê­â ¬‘´É&Õ\ÿi¨îwÝïo¹Þ±Î.÷‡zâ㛜Qé[C=Õ5,Åkc(Lˆp¤6Yì|3÷€ŸRãv[“ø$øë®ç#¶m'ŽAÒyà‹ð¢$÷'üǬºâ¡’羬% qtl0;n†z…‘bnÈI½æàz'[ •ȘÚñt”â\Øú~€ºEœGû¢zBxs¡ëÏw^Ìû‰ª„cŒÿCPÛmp$éuŠiwõLß ÊRÄáHŒ…’<É£äܱ<„ÎñÜ#?Êmø0È4ç4ûºUîÁ´Êƒ9vJçé'9´aZ6™#u…À¨,šîØŽ„ç#¢{º¦Ì`mí¿Jº×mi——Á·K¨n×<Ë÷ÉWÆ£à—Gzvòhz-̓¡`÷gQa«ÅÞäoW(¼,ºA݇-+'ÁpVý¶˜3¤à©ŠÑ±þæ è/„kÇ< Ãdù5ÑÇà˜p'c²îpv’¸à3Õ­ûÏlpƒ÷€BAp x)Àa„È&)mb©G=³*–ú„o™Ãy„“Ü•^Ff0¸ã¹ÅjŽä(C´TaÇÓ@(³"V+¯×Ñúhµ>ãò÷¿ûvA GºÕ|µÊ— Äih€T™šL:-{Zçö³äÒzJZ¯ïuŸ™¹Õ3×?‹—4ܺÄ[x×"‚¨dàŸ¤7K>\/CÇ‚³hvÜpvfó˜ ÷ž0ÅX6‚ñ¤JZnµÉê^1ÙÕd:úDØI½1j5†sÄ($ìuÑãNX'Ç¢i†ƒa?у˜Ï6h¾–ó<º‹"¼Ãë|ÿ¯Äf§h÷ëÉÀG¾¤jc–5«¨£CEίi8ewEYÁU†_¥2·¢ é/±²bŠä½Ò”n$Å¢ù\,$ŽÚå5jr ]}æê³hì\´¤½E¥Nfg=¾¸aAK}/]ÅJN2}_RÕâ=æåµ'ÜÎl ¢NH+þò¿&êImðÕ'L•¼%åð5H)¼®ì?š&B32¥[M5º ^¯¼]ïÙ|ySÒ—XäL*‰aÐÙA$îU1|ÏJ¼Í(Bëбº0ça?qIS3¾{Y?é ,×¢€& ŠI.¢½gcµ]I«ü<ü`ÝÄ lVOÚ$ÉVPÚ•MáVs¾à-í#ëñ7w€`Â~d¯Îç$óÀ£y¦LF4˜s–af³yA~èÂ!ùÞHeÐSR£A`Ûò”ñôQ2tö«Í‘hWÛ%rgÒÐã‡!/ƒœ L-'Þ&my¸Âq>¤üÿgÑËI·0𵯉[òt )´•ì‡Dh—ÂÙã²õÃïŽ@ÀFÉ Âú")ÅD2|Q,T½ö¹8§ÎD¯+vM<¶…Ž1ޤ6 r‚f¬~%p£^lÎôóÄŠàÝÎ* Ì“÷Pýý*‚3&ÞPB’Ç|œ|ƒËÕ™K{ýq2|„*éˆXözW¸šü2¶àÄx£>èZÝfÝPx®‰ò?tJM«ã‚¹TUùl¯[>€4 Â^Û†é~åž!¦¾"‡wŠá-C¢ó|lMY }=>Ò9‹5t °¡TxS0Q î<ðÅR Ÿ¦‹öÉYpG€Š«¤›4W_Ì?‹,lϼþÚ½,$ÇäÙ(¥|8Ökò?K¶…0zXòÈÕ,‹œo,Gã¢ÜÑ>S8ý¢ÇAÊczO‰Í'ʱeÞSFÃb´À1?£dßgbpÙf=Lø,nÃINÁüxY'{`¾J›%êeù \ºšÓm>XÀl+Ûx“S€ d4ø?U³EÚñ°Z ì8‚’ë'E9xSî ;ºw³XÚ)Ò¯ÑÌþ>}jÚsª)EÀ¸$78GÿõÀØÙé÷]þŸ¢$‚øû 4ÓÿBœN4°MèKí3™ÜÁ(kŸaa%¥"Éd‘f²L{ÊY³2"æÕT^¾%!£8oN!,ÃëCO³†–ŒtCj:´Á4ø+WOŽœš8ìÚšåÀðÉl°_Œ2GoAñ<ûU*”ŒI@y1> ´¤´éw“Ǿy]vß=ë*ºŸ€Ü%$»ò#á Õâ5ȾÈWwÉ[öš³°áƒÃºT­bãÏ̵í;ÊÜCFÏu¢êyß‘")LÏ¥$­ÂIDÆ0,$­"b¤RÂÔ3‡¶c±ABmjG-QþÅ©ÕÂÃ%HFÜÅ&e^ÈJ_ÖÜœÛbÈã`í ¸hý½ãc£Ž†þÎO—?ÆéÎðPOÐÊ[ÔLµ›ÿ ÏA4\|”n*/^³ãfã$Ò ŽKiÄÒ?ZÌ·Tì¥þqÎG1ý‚ÁŒ¯'ÚQŸˆ2dCÃ<µ H§5’¤´ÚAùµáæòìjƒz¢˜Š˜áÕ œZô¥|¾t3f¦ìÛkg GÚ"ó²ûÀŒE)eW ƒ[™–~4‹íÕóªé‡W’‰NM8nTF»ýàíøþfÉ4rÜrÍœÍ*²C,‰f»›6¥WÎŽÔÍ\’»–D%¨Ž‹Uɤ‹P˜EÐú0)Æ2 ÊÖ½Á¯)‹·)yw ȸÉ÷¶jÞQFàŠ,ﳬàØíE·´£ÝHC¡ÑA\¢v®,/¡.´¾ü‚v05äË@.‹kž!õèòm=:C¨4Ÿ†ò_¢4«È¥ñE$i›ÑÃzƒ&°ˆkïßÑ :ºàñðËñ•ežùjzý°bmÊ·v £çž¹Ÿ›×Pp²kè­yþÐ÷‘×§Þ¿§m.ï" »•,yé*{Œ˜ µ®¿4ÍÞNªžH®™)£]'ùøMDúç¿Üøl ì0#”+ǧ}8À„úƒxXdÞJJ†`ÁD_t(ó~$õÕ9#ÎwvB îR(Ó”cÍòö˜£H#°ïÓNî¢6Œå60ÅLîNmÅFîÌ8Íú+ oй'Ô•Ÿ8åUÞ–ËO!­ÿù×QfŠà£ÌŸ–ö¼"·U¨@‹ |ìÁ[cpùßk‡Rz4ƒM‰*ËЋ!³@…ˆõ-ò.W ý|>µ 3®y½¨Èˆa÷€ ÉBõ?pºMÓ?"w·5Á´ù(”º² Œ÷H„Äx¸@ªÓ½“?Ÿu™&¬xŽ¿¸™ç‡WGe¼zúå·õ;ÑBàVöÞnË’ª¾?Jòè˜55ÆÞ@·EÄD„‡Vp©Mâ}Å‚ÀSýK.ß•-é®JÔÕr êtÖªWMÞEé¥(¤ÃÚÜŠÝTBs×M~f57·Þˆ°Ü’qñ¥+=¢Ñö âÄîÄ }pȉè]*;{/øéŸC™°…³´â̸´Rñcs‚u)»EÝ‚\”žæ& h‚¿ÙI¤;ºÅT]-úZ›p‹92Š•Ç"L½YWk'x9sóÕ²¬=—lŸÐtq’êr"…Ó‚mX^ý·C$÷ákÖf´Íž›swû;‹>y˜9—Y¾Œ¯®o-¢‚=(°Oš`æè¹KIsí”õ$ön3v÷'I«÷A®ƒ‡ö_ïº4rÙÔUCËŒRU[¥-"øÕÞÇÏûØ(yÆqÐ&Íþä€þ• í ¿øGFù§¬xÕŠ!ÔRw¹äÒÕf’ú®­çd‘úP?œ—º*TbÏè²ñrÒ]z*µ•¹¥GÔTÌÅÑkh½ê­Š*Ý›áZ8«Ö[\³2Atxý‘B®L‚ÒÅdý×½üH‘Új‰ùd0° #€êbÓ/P4Ûbîpry?2 OX„Ý4õœ±´Å¸Ïº'È\Ð"E»|5zUÓ'îšÇ¹pþ ;÷=N%.·7ÆGWy'B!¼ÝÛµ¶°š %¥´ !QjDˆÂºEN!X­ù·ÕÍ.~}ô|¬ÏÌ9x3±'ÇB »’éÙŸ„ˆ<žè–•ÌÖµ¾ÞGž½pK(¾$C&óuÌqŽ‹ðçá®A'3¤œD óMÍ_h,¿%[é¢7Ë+]ëñ!›Ã[¬C¨Ucãç“Ývç¥aakb±VÉgZÿ#)9ôô;¡Ð² wü €ÕðÑÞ…eô–CTå!›F´Ì§ °§¾¦àOGexóˆd%Y€—I]°]ZåK8ß u íatKÄM·ƒ1÷š¤Ã¡µžÉÐEÁð¸iïóõ:HoN/£ÿ”R \4-nŒÕÝÜw²‚I¬/Š£¾Ã%"Nû—âúÛ«yá}Ó'¬¤ƒ1¥{6ë€>eb×r_‡±g¸CØ,Øñw-ê®›kD1ô°H—(ªdàTÇw&†| þÏ`¦\í[S>ñ ¦¼!Ñ´QÜÁQdùOÎf¥àC™[|Öj§ˆ1 ‘KÐBŠ8õA0<Ô ‘h7 .&ÕÉH¥íŠ`Áíš:j…=n1sŒVx@¤ûŸ•fv(íQÔ¥GC[Ÿaþ¨„LN@¹HöŽ0¬‚¹vX»ð5"ïÔ#àÑ2{U’Ö¯61ôà’;–›Š46§d°¼ÍYë§PVÿuò°WÐ+\¨VÉpB³³7ƒ]³XG$²Yzꃶx‚¢d=¸ÌõŒP! ¢ûþÚÓÙ¸<æå”i)^ñ,¢J HÏ'G]tÔqìzΚòv¢ó-éF áêÜeâ¶š³ú Ÿ¯_»1‹ß)7C)ñ¹— F§¿Ý„¤ ³Œ‰5ÝI‡Šg̤†üSÁR¹JuÈÐ’Ö‚>¯<;Ñ‹!J=Ä#øÚ}‚À9GL‘ĹL8+@ëŒøŽÜý£D¹štÌ!¼¹fqGëVÑòôtµ 3•0°K jšáèz¹ ^¹»Îëþ†s™¨9iºí ¶^ÖðÄ ½1PÆÕÓ‹é,ÀÏøv-ÅJ‡Òr@ägU-7Ï@*eïoï“¡þ¾‚Ê×pw, ‡%@Žn„¨~á˜YthÊ;EòóJÆ]§G9N‰–£û›=lóG}AÃQFú×ÐGH'“CtùºMG¶;Fl—FÐý¹‹Ï2Ì ¦ð[‹BšL¥ä(SŽ{7å¸1ÊO_0‘AŠ‚WŠä_i&óŸ¢>î½áÛyÈ¡‹yúèÅwQ€ ›bZ>uûÌ«I* ¹ùGŸÃr]Xv¾“W«e¹æöܰ†¤¤kuá!Ì[êÉ-øÎ̪CD›–(â9ßXÛ>„VŽuðØX‹†6Ûxìka±ïXzsk=©j%«†#é|Ú¸ÏÞ©'ò>ñ|pDéˆ ÅÎmÒË/Ô9–„Ç1r•ˆ.œåN\fécù¢Ç¹-³Þ¹0y°Ù{‘ýN–„•‹f'Wú…']"2¸ ­–Š#_ÎöO4}››.Æ×—¥].tå!®e:}ëÜŽÉüøZ1j•¹êàñ?îå±§Æ4SÇ€thnüÍ,F» ãƒä©¾L†PCoM°½ð¯õ»Ë\ºø÷##[“ˆ“ü]Tù‡Òƒyl;%Ç=Ôhcµ¾ÝvœdŸÿmô§Í^“ ³.¡?æšt$/„Èfô»B5÷Ôû’ ÉÇsQGƒmý©·Ø³Ü-™÷°0Õ#­ÙO6ž`Tµ”ÖUS Ïæëb¿FeÙ³É#TÄoá›.ãØtú|$£ßsž¶ aæc>Î ¨Ç±ÔJºšÚ‡Š“”›¬°±;¥çâÂ$n9¥””`Ö£ÄLjï8h´v¬%Rºê ^xdi_Q*¢Î*=ø¨ ‹§¹\Ó?•Ž”œÿ“kbp:çÄ @d›Wr –-Â&&HZ-ðVGøŠNüÿj®›mµ!ÁzÞñöIʹs™œ9èOJ¨Lйe,ø÷NjƒwVš2öѿăåÙÅt÷I¿^¾Ó:6-7MÛ®Íò¤ŸNÅÕzºVê‚Âr_Þ¾d¾KÁÜ!Õqn…>lªv™)€-’ÓŠ–ϳù@`‘Ë@™­ð´ú4 ÿD‚!QYóƒ(B»Žó/AõÍÏÄn~}‰,VÁ":Å¢½±ÓžvsËœ”àÁ½ µ—¦|yT@Î^•â­ýçÞ0?ø“åBåc-Ã¥‡u68a!ŒöÞ}BF !lü)—‡4å#̽E÷H¨&òøÊ¶8‚FÎUÙæ|¦¡ÉgÌ'h.vHŠ`rúQ¹˜ùÅV’RÚƒöS »Ãd'øÕªª`G Úî(ÛVúfULÇlpL¾!z1Ò^¡Êø1ÛtT Éûìk'7-ÞdäûérÀ¢Àbš“ø>¤f[Þ| ö&bKýþQó¤ªP£¯4_9)^-•Ü÷ß)’x‘¸zW«2A=ìç•iBÚþeèÒ`à5o!!-yóÛS}œO twd,|Aîwíñû[f}‚òy¡–Þćñ¬bë³l±*"`êoU×Åñ¦k“Û• äàDlPNÂþOHÜc´wÙaa›ð‘‰÷¾š^IñÅÄår \‚Ô×_‘† íÛ‹Á& ŽSÌËú¦è_·)ðKAÍÆQËAgý#‘œã/[™¸±Bމklú27¤ØGÅºÈ <½2n_¡Ý5ÖiÚ€lËþA QæcÃ" Í HÈ´tLæÜM ¿X ²w j7?3™¬O8ֆ܊£9]úæo…`Òx@ îíPUü).-Ü„©›wL¼¨[cÃØ¿1s?fá=”Ð2'ÈBwhøþl.‹PI,,ShÚ2œN—•¹Q¦!óѾ¸9µþŸ(Œ—Ç©«"­„$kÎ25¿tuL¦MWÎ祬$‰>£ÑT9¿ «ù¼’ל»h_z^gü ^4òQ¯ú˜¾;&É øNF&iwMgÍv¦«‡pbÖÓýËux'âÛŽ~J{¡¨7=>ʵ0>{YPŒW…ÝW·=–Ù˜91bÿç½"¾N¼HW›‹tYl…|¶ÕUÙ’Û»È;"?f´rlH¿K”J¿48哦´ø\tÅK“$Mì…„!Ôê&ö¡ÈÔòèåX“ ‡aX8]þbÐR?·ì#3zÄ'Ñ%Š‘±}\˜–­hšÁý69–:"õ•Ãha²~i¹ì›ò]ºYËkõöRËæã-nùh©ï-FŒ¹¼UƒŽG œ¤C‚ ‚»Š©Ž¯éàÈP&„ú¹–Æã‰4Ä^!±ÿM¡÷štØôáÂNéüÍë[ˆ8gÿó‘ð¾–Ά2¿Çß’ßO”Ûõ†ø*ŒNÄE¡‹W¶Lt|«±cM;f»“ÈŠ”¹/€QÀψLss ü`0 æ¼ý¶õPýqÉbÅDxN&&º‚CW­B¶Ùƒ&ŸKgÑÛˆ¶IÊt¦ïÄW&hݧ¨Æ^OùhÝ%˜ã•N:eª%ÄÃâÌݲöQƒ §¯»AÁpÛÞd0Îå»Z|l†Æÿ Üíóõ!‘?¹ì¨Ôè庾”ÿ hò„«WNªC§ù¢ÜCÐÓj©”ÀÄ8êïT6vÖ`pmU(Däx›é’GT¸0沄…WA”L ‘ˆU<®[ôTî2k‰fOãúš•›±û¹×Ë=!hJªƒÿÒ"¯Qâ}oä”›óöµgnµXÄ©cQE 4¯´— Ì1‡}Iñ¦…ÚŠ}ÇB]{Æ÷@Œj»b>GúÆj¦zŽY_'ˆ¡×Zõd¿Ñx` ÍßFÉ,'ý¦åª|R¶ÚIëY¨:z†2+t¢ÌüŸTO"JáÅOÆÓöbO¸y%2ÛÑcU}ÃêMûìµ-ZqÄØä ûv£üŒ³WpCei¶ÝmÁO —¤…ÒºÙDM/Æ( Éí»ÒÎn)üâ’DÇkãʦ{9ç]ON¬°~ÞÃcþymhâLiéU¾<ŸBgX@1\®TÊ9½ÙolïQ±Æ—?c~NÍ5Ø_—×µ8]dñ®!Ì~zgîÍÙ´(÷î!„̈™B ÒŠ c}Ÿj¤ÙÂ걦kw{» ²èÄpÉ`Í?=ìŒÐ½ î‹†õ£_:.ô"°kœ.±s4¬™È!Š”™úZÔ Ôò•ú‡p½§ô;ˆW(ß¡yØñô²ó•q>®Vz<ŸÓe"?ÎE.muèNj#lð½§L߆(¼ß8yûa›öwù¹ÍÿFÝÏÌ1Æc—#Ž7/°z.Ú}V^'ðaÔ(œx„ª³A ;¸ÂQ„(è½îž‘ª ü«Ê•šìO~ùÖúÈ9Ib¶8×é]‚¿ÔÌÍç{’àroÙ`R[Ýê÷F¯Y;qÆÆwòQ»× ¬;èiLåÄÔMø¢’eª1s/J OÜõBÛKˆõí$û)ç à}£ Оe aœ¿ ‚åA„êÊð@/“‡èw j“œõ&&/Vr|€>"ùø¾¢ÄTœ½¯åÜj5Š:¥Ä²3¼wM˜=Ñ%Í„]P™´žµ³J±âÙ¯æÛáK 2g89 mU¾T¦zJØ<ÐrŽçƒ”)4´V?(Ê—sß]Tqð?Íéñ¦35R¬5‡&½áø.õŠU…·†ƒ¤®‘\Æiv~lÎ¥J²y#åŠ7øÇûèJ˜éÀ°5Cä·c jãDÌÄicP„ÒüABw3ÑOÙd½f‡¶*©2¾GkÔÈÔ ”٠ܤ ¾6Í‚™ 1W”ãxÿ¯®§¶c-­r.^l~°˜ L®ÈºÏ/ü:Ÿ µÈº†¦6ªvÄnSM¿ó1äÛ|R•[Fà¬-2ó˜Å¡ZƷ梻"!Í–¼·ºúXê÷0„Æó—nRUqÿ^Ë¢Ôã¼pª€ë™&s®…ýææ>–·K°Ètó@eœXòµª‹Í^eö2w\…Ò™aÌ{+)iût°¸5Ê@æËŠŒµE"ŒLß»bØKQWžÒ÷A©ËKÑ­ 5ønÖÞ¾eƒÜXLaî×^p¬D daVça9Þ1 sµRm™Íê~ ê_Ì? "#v@bg5“91%QŒ+­~2bnjL=þGÆA!Žå–<ø æÑ9ÁR5…°ÞÉhÓbúþ@ÿ{ù¸k~XÜ­°…éå›â/$Ùɉb®¡øÑÐY‰€mÈÃÅ$)$ß¶ø Ù6ȸnòA‚î(ÓZa<š±¸7g™ŠŸ§ Y¬m]á½Áß‘†ÿÅÍwž »LsûÙ_­,±|5e^BíŽ.‚:Ì|øtaKô_É«OTódQnFD«Ê–$WÝãO5oe"x•¹àsÑà÷b¯5~U{ýgì¬u Ê^E‘VK)ïöÒ.ßóI'ÙiB]˜°aÜ«š+õHUM …c©i½ •ÒþOk«¡RQ-{xC!­ Ê!‡ßßvÊ8¨f,Ï&N[ ÝÒŸ’ÜŸnÝÍû,$"…ñ6šËb £ l"ÃK½¼Ý¤ Å‹ed¦ôòýú+“cÕ»4EÈ |ö©˜ö„qî.œ‘FÕ 2WÔÀn‡sP3Ì8å#$èU·)¼µO‰÷@†’ú!İPñ£gÞCu¯)˜Ž¢ âp±lÇ«·ž»~! k„mËÂ*õ¸ÛÏOŸlBOåÄÅ>} ´gV£1Âä¾Zí9ÄT­ìp{ÖŸì•äDõ¢ÁXjmüA…žùhž½á‘JÏ#»Œ¥žÅ’Û«ûý¢ØF, ú¥w \^±¹½yã°—¨óòÁ˘K9þ5ò9c´OßǬÁ4¨«½4çðëY] ë¢xuŒtz4%µµãG}Çûà ȹҸ˜,aD1¯ !˜m‰óË £yÐÌÀHÊÍJâAy'¢¸ Ç”5£,ñ¨ÕpöyÚKpJuA¡úpž¸ó27õÅ",}®We22”æ$q·)<ù>/‡â–Ÿ® Úm]ê§nlkÙì¬ 4…f¿NáÝÚ…dR;;ô÷–ÄRBo‹Â³ qAâp4†“ü¡7šbÄt±BÐ¥’£«=V6Ä95Ž›˜Ê“YtÝz„e±´¦íhÍù8_ªTëL¢²¦Üi;'Q 4‘p™–®b3Š?X65Å,îNžéµ½@N*ØšôÈž%÷Zf—þ,„™Aå¨im&%MÜ; 7¯I55ßÛoA8fàëi<€Ú~bmxCˆ…ìRñEqâEJhkv¼uL@kš(šz²vw£ÿ>¤|6xkW°¨,ÎÁ<{ù°€ÒC´ž9^Õ‘µ(ÉJ’Ÿûo8½ÕÉpÿUJ\ÖN’RŸú`©ÙÒÚbÂàTX.A3_0Ï¿-B¹+ÿ\ÁìUYÝÉÓ{÷¸×^ŠæÁ8͸²B^CKS²fÇ€†PÜ7ÕC¯Ìþ#w³82»aügŽ´É5Šïîeøùu¦Wá>!´ê °•üïRjŠ€Î&!LÎyr+Ë•âpV‹ô‡_½ô_‚ÑT€ xQ˜ùú¬yphB¸/”Á2æþ|¡9ˆ¦u”½\õƤ’:g¨¹MZ›ê’Ð÷`+±àÊÔ¨y¶½CpúZ¡¹ÚÞÿBô¬žÙ¤-!€>ÖŒè€r{&ƒo_ÝOø±DæLn1]Eí„o ºÅ®4Ó«3~¬$&™'í_Ãb] ¾Ì½hÉõiÿÿÏ0gßEB3¯%0–ÓôNÑ ç^¬H§z@ûÑñ:FGFßvßþ0Cb›#ŒŠb/f‡íÕZÍ@‘ôÈÜ„?C•´.]|¨y%$(ÿ<á ,wÉ8}‡½8©·°À<=À€Ã°oÿº;a…e4íÈÞÿ”ù™²7=xZ¬¿ySý&ñ‚$~°íYnEV…’Zö×Ä?v`JL±.æ»ñ;—ÞxEPYðÓv«,T¥5º:7m~f’uFÙf°¿¨ý©í.c¸›BÐ0œÖàÃÅÙ!ÔBºiÐrb/ çÙ iB–Q~‚ Iv¶ªícÍ;kÊ“£ÄN_KQ' l¥âD¡É_yÞn¿ñäim«N~!iì‚‚Ze å±^:tF7 Tâ"xyÝXª_'îx|¶Ê)Ù˜a :¢Mˆœ¨ %¶ƒóU 'Qp+‡à”[bx骩üðFqÌ/˜¯*q§»¥bÆÜ ðØ×ƶˆz‘6ÂP¯žü¼¸~8!²3^ÍÙU¤!à1i5@-Ph‡N'£gÅÈž†“ŽdA𵂽Ì9U/ÆŒdå¿:‡ W‰ï…¾7˜6 ª TÒ=Oã­Ö!âbœØhì¢Ù¾ß¹½ß ^„¶Ú×)3¶¾yl¨ÌÛK¹._~Ù?õpetoÐÑ¿%TËÁæç|ä 8ðKð’ÇuÆ-Ð<Ûϳrg4,¤àÔs`¥¸±( ]?^P š¨§ÈQ;]±´ðiG¦®¢P(Œ?ÀÐ'12Úøì–D5Ôï\óƒYì/‡o©Z¬¨IH˜LS—èýÒkûÈ–ëÜ×MAÊQÔå&‰—“Z°ho7.ýa8%`ÚUáÆÂu[Ìÿ.$š [%<:ˆ]ùÙ›q>ô†ˆßÉü¤)üén~"æçžª}CÃç~dPuKm\•ž„³RóÀfGŸ ³ç~”õ]à£I0ÁvÊ¡BŒJŨF†ô<œµ t·¾Pê ¸‡}lš{ÔÚFçc@: ÿÿVz†Vcºq_#'Å–»F1b[/¥º:G:Å×Ëú Õ0}õ¾K~óÉ¥qÆI]¤ïPÃ…" êð¼ûñÏ!EO9PžòŽû‡eÉF‰â%ã\ÓzÉRS”Y§ôÅÖÖœÔ JV|†¹¦0{o’‚—ÒÛ 6ÒårÜB=IXGh(ªi{z¿W.Ãák§*›8t/³íîè´—ç—j댌d¸N\Ô±wRA|ât’Ю¤øq‚Á¨Ø;H°ú^cfRᤰ‚EãíV4û0ôÃ/÷á–8&rê#^pL¿Z#ܤ Ìjü'‚( ¹—k‘1r€òe£ýaÙÔ5F$5S}rx$ÍëõëXs¢3ûú©"ßX1ÅÞðXtªcÄž…í3Ì„hz}šsþü\¬ ­. 5%Ëʸ ÿêo£×Á\ÏaÊ¼×æÀ£¿*åZ³.‚Ÿœ$9l"Ë“R”yôZHp$ª­ )y¤ûŸZý©)Ñyÿª"êîXX’’S"ŽQŸì|îi½4®Y^ÿ³ÂN ë÷U10ˆÐ°Í!Â/=ß:NEw¿O6i¬Êgfù`OR{êÁ/lnN–SÖA´Âƒk;Ъ\wŠLÊRqä]Yctµ™Úñ0JÿäGK %‹Ñ̃Ïc6oÚ_5›!«ÊðÕ,&½€­ìסDo°éYå§nýlUY.ÿÿ_›Ý€†Î"? ñ°ü¼\Ó¤Y³÷€Ü}ƒ¬lwa­$VG|0yøqÖê•ܹý öMº[|·ü7Ø"›X«x‹öïS{z¨.á_Ò½nË™œ™0Î=·~wmÇÅ51}À]µTGß¼¢ ¾sº³)õ)’­Ü\•V½\¥€¤yÀÙÛ”j$d9ÊÓ¨Þµ…d¼ÚýÑò†$ßå’]\龃Ú|Ò Üq•²U‰}«Gñæ†:ðZÇÎåIÁ9]¿3A7Ä`ô «&·òŸËÛŸJᤠRä<(äMäïÈ|C7´Eæê,‘*??̘­ú(¨£õ5=éUòRŠëYDB@êGEøÙ¾åŠÃ£ªn¥ìnûe޼Ü4_ÿ¸õŠb®Ý³V |æiï]ùcŒüM+4L~û ›…_çϳ¸#x2ò’õöó‡:a£v‰ÖM [ŠÓÿ4Æâ(«6zoGµ^Š'CÏ\>,“ËzÝ(€KÁ`ž &v‘Z’K·ÅÀÌáóòˆ°ëŠ—dW†¾‡~ Ä/øtÞ1{Ö-¬¢¸ø©ÎÖ<6&*y•¦/¯‹¸y +=XˆâÏØ…†oßÇõ?ú‚Â=÷)s‰‡×µ¥°wvC!µ—œ²9¸Þöa²ÀÚßé{‚oÏÅ"x8XŽ`µOغÕv™ˆvýõ*AñSóZ`¯³û<[n9€Ø¸[¤Š*®èíÁü\7sZ¾vXT“~¦˜šU&dcö•Qˆ1‹é—×:ÉÁU/U÷UboÔǧ'ûìh7b¹Ý#!™ÎpvùEýUYRŽö'âåM‚µ¾£VÖ¨¼ÔD…ˆ²eÒ3oÇAh#Z¿`ćþí&«cäwÙCÚ»œbïÌÐñ>¸Å‘ýÇÚZº*É4ß» «V£ê¸òC¼6õ¢=u»TEæÞ˜™Õoï°". œdÑ9#5„“¶X»ì¤çÑpCŠU‚ˆÛÕÏ7agVwž|Õ_ïF/å‹Él«6zÌyÑu¿U#;•hG oÒ©/ëèº8.$v@Özxhînx;ÍSÌlô–0#æâ¬¦Â¼ 貂etßJ÷nËiP£ìg÷Xé$à‚'tµÒ=\9ys·"yjµFký»o(îÌmpa¹’û•‘¬n9BßZ{ú‰Òòñ·Œšy$,Ö„¿ÆÏK”¼)Ú­KeTäûýE>Ï~`õw`öÊ7jáQ ÏT¯¸×VKåÕ¿økI÷¦=skûs“UlåQ÷mè˜L’TšJç½ö‚óÄ4s·hðÐþ€ƒvÍ*:ys˜ù>—šðy"æ:®¢íx2 ÆË˜6‡z®ÿ‡dÄʨYýJš!AéPK¶Ós) Œ‰âF¤òÿÅðÜq$KÞ´®` Yh%΢ýÆÂ5O.¸ËV|@‹oc« Ûý裑a’?¿z?A&D51žú]ê¨ñÚ}«ªsðX´©ãÒnÄ_³?æªF"æælˆêk8cp b…jYeR΋îâ'ŒG6©Ó^Zué2dzÎÕ.Šºó¼ÍC†v­N—h÷>Ç—— üê²öL',ñÜ öŸwä-êÓ©»!€øÝdÙQ²õ±›Ú~i%#Q-2ðÞâΡÝW»ø¹]Êkc@NxåÎy¶ù +™—@þ–× Ͼ㙵´kÌÄ‘by‘ÝJiûßÛ^‘—Îî/Ô‚Y©4;q‹lU^¬¥j¤¯ÔO@TGí¡ìî5ÊV°·b$eŸº“´ H®,YC‘yÖ=J×…yˆ!P*ЉÒü›UÏo>^Óउ•ñÉÄç„Ç¡­g,›HÌ€Ã.ÏSï[Ä–# íçIB‚Ì„XEñ“ÔˆËÙjþ¹—ö|ìÿªy¢,«¶÷³•jê3H'œJƒ‡ök›°ìå|´ý:Ÿ^ÑïçÑú?`TsæïÖ—LÀØ FwdÁq¡å0‘„›U–¡/¶j-CWþC[4Wg)®€%QnP¬£b¥Šp3}làùkQ@ßÿ>Å«LúB*˜OPwFqë>dž¦ œ±¨:Pqæ‚éïZ¹Ÿ@qâ]t‘ýj” Յžœef¾yeÿ{PæÀ'›‹–ÍìU¯¹O»_²Ðe}ðÉ8b+ex[zÙ[Ûbí ¼:ã ë1Pµ’EI3ÌĪtAÁD9ËL iJ>BÁ»àÅOg8¸S‡ú/õ²!éÂHC š¸1Aˆƒ8~ª{Ä܉Ôa ¡ÎQ 2i²À¼Ñ8a·`Wý}©"ŽVs®,Âf•q¥…«6®ÚwÛІuwÂušX3 ˜zÒ°GøàSù"ägª’ø3ÎÀzW•#îÕƒ7T·Õ‡LfY×+»½XlþžLQ¦%‰ôU…M|ÊNKæœwŸcL`þ¨”Ôü¹[2úqä\•忉F¬¦Æ-÷§Ö  œ0H€î—T9y“|µámu·°Ã¤™Gÿ´dÔÓ7Š%̹¡tpŒ È…jðÕÙú"„\–Ñß:ŸnoC°Æ³Á3%Ö]^/Tåí9Q Î7IêÐå“»Ö>É6‘ë!´Šš—˨[W &rA‘dÖêëþäÏxá@w‰ ÚÑÊn<ÂÂe±-4Ê»$Ðâ”ï B\t3?ã43;4$‚&dFü{íogÐZ,¿²/[z\EÀ•T˜À!)€’äêd±I±q} æˆ8? ’¬$àÑ@¥œ” YÌP£\/·-°&-„/µéCª»ZÛuI)únñEcþŸŽ ÃÍVQh¬L?%¨Ð©Öÿ•wûGO8\Ü €¥ÖP˜ïÔpi@{žì/ò¶>娾uïCÖ©á²:¦L©ØéZkÓk¦ªYeÅ$g¨Ÿ"Càù½Vƒ«+v·0}´…ôuu êÑŸp%¿M•å«ÀJßËî‘"ƒ6§lí/iA½„ÚYÊuó $l§gMÙ3£¹öÖ¦ýãþ2üéq=IžÆ*Œ‹Üdâfüºgb÷gåŸ#×ÛN¯ÔOáižjÎô!¤ó˜ŒEºåÏÁÙGøÚ€ËCƒðð’×OþÄ Ÿ/^>IPPs~ ’ŒÌ´L'Ñl~±+ÀÛ–¶’Å‘ýâÍá9ìJGFM<üÑÞôYøN,vå>¸¿àùÿwÍ—"ä9߸>GÑ÷UAàržse@œ'+G˱Ê?^òöÂó‚âbÆ—P=ºâÀ(6ì5e{¯kiJÏFß!ÚÍŸ@Ñ(îåžÖ¯¦kÄa< K÷ãÉUfêvv‘Èýla³+œÑ—/8Ôõ%]vmc>ЪÞÜÓpŽ“ü‹²ò]²ç‘¿½$Ћ½Y÷„RÏqÒ‘[¨TÙËÞ¶]’¹è}‘nSBõ-hÔœíäì›cx•’Íst¶4>¹ÍÎ[Šo[=&üÍ‹ùÇò{Ùß=½„Îÿ+I,õÆ<Ãëz4Ï‘Æ^ªºÛ(Ó /q³l ¨öïv ]C—™óv_tyzÍ»#Ì®Ø×•ÅÒŒÈÿ ¨Ö;ÑaçcFþ7Q¨!½7¾Ö¢œès•¬  ¥8F%:¿·÷1•¸¦¸C“-…»æ¿ïÇ«|s¹á<_‘¨¬UÅ6?ŽpQèÅ–%,÷mñhF7€?v·5æL€52'-¨¬9[ïØ[>¯ÕS‰ v÷Ê$ÆéI¯ç4éZÛ0-×SñgÄüÎwü5_ákª’:ÆÅmKlf JöƯºüK³CsÓú9æpH±:Ý'£kv ”˜ò¢@Û¯i h\²¹QlŠ; ,ÁÒl̓»¢ÂØ®=¿1ÂvAF޹éôþ†Â8l¸ÝÉe;–éU×Ríô ã±§x ¨Á^îáÆ˜9?!!¦§²¥³ˆúü#  ‘ÜÌΫò6·›U ”Y £ûøêf@§l1¹!Ü\â„aË0æ¡ËtváWɧ*peL @°?Îâÿ“Š|  —%Ÿj_ÖÎο‡ÄS2å-÷Z§„SÉEë°®”’ÏÉ@Ðàør<Êl-m_­•O¯‘x¿a–¾óðû^Û²ûš5pˆ¢.—‰¾ái+߀ÃÉ×PMJÛãt>YOsöbÓ–LžZ¸›‡°µŽ$uuÙÂ@Á;Q'ŒÑ—Øà8EÞÖxf«öNþ‚‹Hîw×SŸFO÷M£¦ÊY móYVÞ‹Âj‹¤©(Ö®ïf8¯¤ëä̉ŠD„:<Ü$B“šGÆ“bŠQ¤ä _U߃ÂRê÷5Ž‘ý6‰ÁÉ—%•Àð‚Û0ŬùÊ+@¹ p̬WÎ}púÅOðNŸa_šZ_{™²=Þ±^=M5œ®•¿Nt–a‘'©$šœ`ŒQÊ›0's¥3°×…Ë.ï׫«éNåíYÝýdpbÖ½éY›6’€à&ŽWœ ö BãqwÇ®+÷|HCìøî¨¶ÚôM)ºf‘È5PijÞï” &Y çü>S©ˆþ¶yL¾Vw …ªö~SAvþ#ÓFuŸùQo»Zé—¦ïeAû^ŠaÌ1/›ì)šËÿÐ^#„`Ö—Ç—|#ÖE'\ü¾÷+Hv˜öÆYFÈ­šñ6©¿™&rjcã%I'E}.Éþ½c„ÀjV¶AÊGq˜ž0î)žÞ9g¾GjFÝØ¡Ñ®Ð”CöS^„Økêð³ýø˜q»öœù¿›1ÿ®Ñþöèp^/*Ñ‚6œ ™³A3_î ÊüñƒÑ «.ø ^.V0«)4b;Ç:Öµ¿øˆ hKÿaÔ³š/çëaè ˆÑã]t3Ï\(ÌÚ¡Ì–7Œ&ß5úã+˜{¨Q×fk‘UQm1ÔY™‡N} ˆËäEˆ)Z_³ÓaelÏÝšERÙuWLwˆ’Ûc`]ziá÷š¾“ÌÀ½‰§vj™4:½sº¡]ñׄâ¨y6gŠ„ˆ·f°\üéÑ_Óë¹z¾€å··œÔ=YÛ`5_è‰áŒÞˆŸ)ËåÊ·÷¼È­ìMNb¨3f¡;ÆOûšp'$)&ƒæÿÏî£a-+{ÍcÛW°“ì# -¾d¨L IY€§¯ßDHsò­"%dÓ˜öÎÙ¸†O2$èË›­J©®Ÿû•t˜ò#NoÓ J6ª6|mOpáOÃbZð9=üŽ„ùëb‚/C¦´qùxSlrùàÚ;ÁŒd‡ÝJ Ûî«Hû øvv¯s´ß+¦›¸hˆAÖpÿÔAWȇzÞǘzòû’×ø2<¯¯ÏèkþµnØ7=sÆd¨£{áw!ùØØ§Ò‚Í·=5O×µ–U®N@g=(ÝY ñ«ŒþdNº©dÐßÈr·uê#¸ÈÑ¿ ιùÏ¢ ;˜.àtÓ—÷Qó0~5áO$ã»°ŒNÛ- eù'þ'FuFMûƒsÇÌ•G—]T™}†z2†Š h×*ßç’ K᩺Ÿ]ŽÙƒÐŽq¡V eKˆëYõ`ý>„·ÛÉ úÏX UÈC¥ñ3&,aª†•tüUÿ]Û4Ì…š6ù•tض´;ñÿniÒ<£Fá¹êO ­ÏsB¸™#ªœR×KpóþñŒ²G);‹×ïJ§uÕKî*…GƒÁ*(v˜nô6õOd®yrDŠ'q©WSœ¹yã›?çf‡>éà­,CØfQ µN\‘Oµjd‚* ¦1æ±‚Ž±(4ääêRÏêES z=Àìß)y¶L³*Sa8M)ñ«d’W˜fóX¯òÓá&¸jÛIh ÛÞlÃêE‘4ñîúÒŒ4c`êb€5¾ÉŠa*˶Z« §øcÎäLŠ$K@N«µ˜B&bȪ`lØè–/Å79w:ó•¤Q£É.‘øêSÎÁÇû‹j`Ûú¾Aé°Õž ÆI:+&–J< »ÿÌ>W ¿;êß·*r<À`GõëÅo/å×`ê–îýã|¹·ßĈ›és‹ý+Ï÷Íœ€°.(uÔÉ@rãý)±&3æ:•Ãâûôêé¡M Ù „òrâ/ï<½ò‹a%ø;ùMÄó>ÿïÞÚbÁíŽù ÐÕ{Ö¥F’ Ã0f9T,!_(/+—B¤!÷¹ ±Ð‘¦{»ømÓŠxVˆ‰{«*å:¤ß„± QaG×>Á­Ìsr}úêá`•0ä©nÙ„ò{͘aÚ 4Ja—ú{†uL(12Í"-]NgìD>\zößGé:þ=œü˜Ög'Ð,“Cýÿ{®ðªÄÑ ÛŸœxŽ4=æÔaìo>)wéØðÅ—¦ÿ8yš( ]ƒçÂO&GjÈ«‘À(»Õâæg6æ$lCæÝ!^õÍ­¬nÂ=|MÄŸz²U€VL|ØF”¯_îcnY·ÿsOÿ$5]KN> c3ãcÚ+Ò¶™ óþn²f”<ªêðªõSÙŽÇúðÖìß\)ksWS(iy'WôT—pi'ìfI•£)?ŽZ幉%ÿiI½ted~C«ø×¯¯j¿Ã„ ÿ£‡ŒP›Gdz!„@ h½×¿i}‹Ð|tô(Šðÿ•^FñM‹¼ÉàFRœ×à€ ìs$éà¥CXùÊÍn ÷½™µSf@çtà™1éSJ±ü/èŸg½n¿NÞPÒîF›2¼Ÿ~8Αq7-p:'l èImßÚ…¶…\%‰’Ó»Â&cS@8Œ}„Tìô”‚0qD´æBätÊ`¡–în1®„+1ÚXèìwgAý:¯ü».Ñmô~#vmÀö ξ“ަ#bÉ32›p•ïÜ"á^øEÑ´ã\·™¼µ)O(˜yºY¦ªXí\95Àpˆ(9߇@ÝNh¾X/åa}Pz{o2ùƒI®>3°åÈ㉕ˆ¦Œy¿·Ãû—iÊ[$íx¤ÉðPÂ;•-æ/Ì4cÏ®|V™{êö)gµùËù.EZ‰H6çîp$ëì]]tÔœêCžƒÎ„§Ml-3o´FB¶.ïr)4H&ÈÂu瑨ÃjJ«¢3¦ÃIE—9ùïA/H?hŒ‹ÚWÁo¤U. wÉÄ5ù,B³; Ï (Œ<×ýÎD”25Ï×9ð{|Fâ}©ØIœÕœŽÙY ˆû¦Æú.’J¦¥^êt‰íˆÙÆÒ KvÕ×éoXÒë)î:çøC¥ô¼ÃÿÓýyßð»+ÄöÄko8\žU}îö¾l?:Eœ¼ºÇùrÀ¿½2Å^¯®Å]r¹rõZ+pÐù[l|%Õ¨&‡°°4»î,ö^rÖ̫߉‚åpè•>ð\ÄIܺaãí`ˆ(?œ»ÉWNF—Ïk–Š!Í2Ê|ž)7%VÅN¨o®›)É1ùîŸû7Ý\yÿÔ›è8 ÓŸúQbÍ£·Ú%cM@¡”áè]©9=²T»õö5î¹Ð|М¤›‰Qðã'–½ÇtÇÞyÑHÜqzFàdP•:ç­Ýù(/p¯>qåt°…DêÀk‰}¶jNZ zU Ûë ÀfA#s›”™®…{e&Ô¡StOD ˆ[ebBa½pÜ`™:×°˜×»PÁ1n ê”MQ¦ ]]“Ç„Â{¼-isÕD%š·ûÉn&((s V:àrÏÞpS?‹…­öoK¡æ"­ ±IöòµÏRƒï„Ø Ã¡*QÎäÖù •¯cM±å/r<UKpš®"þ\sÕݦ¶fm\åÒ?ôÖL í&Ž,n$¨×žD€î¢xȬ·°GŸ¼ÉT±ý7ªŠèfF1µí«F¯¼O«:èô^ÏÐV;ž=Ö¯ :IŽ!j‘ÜÚXÃêdWt¯ÍÈ}2fa¾…èù=më«O*ÌìAĬ=·Ï+ßYohPiv}Ä¢TV 9÷´Ô9t­-fµE 5"§AŠÓÅÍ[EÞ)© LKAªjNCÂü¾R Êtb‘À—çxó;FÛV‰ßpÅÄw뛤[oRù‚þ#ÀKìq!œW¡OÃN3?ôtGJŒû±-ݳŽ2s_!†á7uÚØJ¬÷Ïqˆš›èI)˜Ž.dr|*‹OàgŽXk¨”®ˆ53Ê€1Z—±„™”>BØ€· <4 |™¹†\ÃS“Ýtb_È9 )£Ý£eC)&6À€Pó¦d­˜¢>UâÇvÐÝ ɪ‹²û.Ý8óp‡Ñ!Nˆ­9Çîp{Ûâ:vGZqvR˜íð%•Ó$ Ö×¥0 š|v-T3 >7 Q8‰* wiôÓb÷µ Y€ÐuK}Ë›WC²eSÀý•òËî†À#•K›ôo¢ÝŒÆD}sܧl U6.¹ÏHÜ é‹æ×òÖz±Õm½'žl!àƒQ¢GXà¡@6ŠpÄ"øDÙ ÄжI•±ÍÒ¿Mé¬ü“·¨‚Ž|4Òp]g=sÊÍS´#†ÞZ)»a¬îq»ç€Úaf,+nÉŒðŸ"€c¥—Ì2‚9vØð(kɇÈÃè$[L„¾ òåoÄAÅÓÉ5dîëT1…œWΉ!˜€® :vë™óZ“>k°/:&‹K Ü$&ïÃÂÕùHFÚßz§©gé)¹t#'÷SÙýŠQÌCX2¥:0ävj+m¶o_ÝLùX^!úPÉno‰-£’ÈÌdÏ•—l§iñ×þÖpÆl¯ÒǬ^¨7 0Ò|Œà¦Ìüæ…q[§ˆ<&H¯j–3öáòÜ÷_üߤ…èŸ2dœßE½ž`ŸfÛ9bt»Qlj*”5cG`âá7ƒvþ¹îjž¦‡}1Ï"sĬW ]#ÒK(§)¤Ý~£å~zÁPKUµ†y@¡ÇEÒëšÙ|ý—×\ñ6F½eŽ]5æÊ•6O(B”Jñ”øX`­´ÿ¨³:|ó9ê>å6@—Fó3þ‚TQUÎgŽïäÁrŠ_á$”£[?(šè‹~/\ùd4˜Aõ|9Œ«GÍƒŽ­ þdz"ZK<-ZgñA†,ù00ªÂëo!hMC~”NÍw«‹g%˜),ô즴÷5bS†æ$-‹:Á]*¥Ó}Žý±Ìa¯ÿtä‡á4‰Xd}¾¢â†çô â<¡í»“žùÃÁN#Î%3ÍN³Õ2êiÝ€y5BŽ|›‰$ˆ¹¸bç{¤Q—„Ù*‹pLöÄ"Uº¨“`‚Õ"×-¼™8«ÓˆåÚµ)kÑ“êùõ½gâ5c\o Æð†º?¦VuîÛå.´ù¸7(»¾±?¾Uöø%œÐøZØ]¦¨Ó¦‹<ž®,¹É#÷@9JôµÒ8Àˆ6-¬%. z0\·~”É,´+gÙÎLÀh²øýŒ·åÕèç›RO„i%è¨ÚC,O·[0PE½ Os.ÉÅˤfŒ{¥`þß|Ôµós3ý}r¯ÁÍ(\ŸiqñÒFæ I,i‘ŸAA\ø×}üOj§ùYÖn³3(žæ_w‰ÙPb ÖŒûHŽX-ÓôZäB¯ f_ 5þ(‚„ŒHR7ÖÝâàÖ±œóãÛqþ óúKè¹ÞÂ6¸Šª«üéh5Ç?*-™œE·GN¬tŹÅW)÷ë¤2_’º{àây:%´óÞ ¾+X~‰¸wÄÌÕq'¸¸À©+2‚l átÈ„¬¾1Ì÷~ï7` wt›)Â^»V/ ó`¥ôw1(k²Qcg¸mÔ²BÓÎ[,^9e›îfæb-®5˜@K:v"OBeÏwœöI>Àg(ó1Gïß¶Ëeyhà4¾F DpEî\Ü=²¥ßg;ψ ­åñ΢èTÐù.HÅ~n L#<ÿúÆy4ØFlLk_„3™é©y’=ëís5ì®—6€å7/>‘ÕÜ1CT4˜ÝKÓ5ç©õ ³Ê¦O ñí—œïÛþ/>DYx­~%WÛË|ÒŽÁ¸Zà„NÃïø£ùrñ²_;óãz¨ŸST ÓîI÷>¼­ËSñæüG(GÇêí ×ÃŽÉå›®m/Z‹ ‡æBç5MR¾IÔ Uk)’šÁêÖ ÿFšþz’LÎóï¨â³WX´5D¬ò3/E‰« Z³Mó£t`.·ÃÜ7¬™Fùµt-)@)SJhD(Ù“ö” ßój‰+Õ‰ag^·®ÜT;Á…ýDÂWvJ õ¶-Õº"ÂÞji‡;É´ ds´¢11l¬ãœSÖ4€Ѿ —§{Lq{g«¬×v¼I7g! "vr²ÿ×^#sR”w·êÀ=?mßmÅ÷ãaªÂÍ Ó 6VD•—só>Yëè ¸%ŒÌG§¯5q¸{g–i–pÆr-[l¤(•‚Å…­fñ2=)lé4–×>¹Îñü¡ÇüžEÅ':ò(Òï!tç8¼ ÕrŸåF¹ÿ³z]§9wPP£QÁŒÆÐè²”ŒíÄ:»aØ%·ï‡CΨbø-œ×,n-êéE‰ð³Xæ§|wþpˆžD s&œ–!é*ßÒH1¿|l#%š8`\(îÍÛÖ/žS3žÐsล’0'bMÝWh³!]þ";QjÜmG¸Ùÿ%îU&õû«¥Ð™M¤ËF;®~Ëjkéä¢N‹(¦†„…t®™‘H§V|OÀðë"WŒSÿ_úpý‡Â2j;œ¹u}…n§ç†ÈoãW%{Eï‚5ÃMÓù¢¼?¢ò1 ‹x~ßX,{X8‘¢›Œ  J.ã¾ç ÇÄCìTþ×™´¡{8ðý‰žÞä/~H8¿62^k IÑ΀9æáRÔ“Ý ¼•—’ud¬‡å6ýMíÑL”eª6Ô4òÎHÏÁ –¦¸aI^¿¾¡Œ­ ß›¾å°4jKnG,Lþ î ^ôft؆Zò£ÖIPæGeì'"%UƒNÒ¸œ²µÖ‡Åõ|§z:¶ÿÞLô¦v‘Ãe€V%·§€£<Ø*?£tÒ5‘bèV_$Žv’› ³™Qm¼Úu¾:È/…LNcãgìî¿ånå ƒ¦÷ líºX-+…÷d¹Ž®sÇWqs}œjÅPà÷=ÃÜÎV/*»áßX³çò*£ú8|=vYd½‚æ¬2ÛÕžLV°IÐêFòƒÊTJi•6¦ÜDÝ%8Ýõ`–ºBU±’‰GÔ…O^¾ÓÄ,n’÷S®,úiL=õ3%³p\N %k"e/_:ƒm§õQ]’ï*Ž-jxÿ¼ ‡w„=Çà _Uø¯WŸàôÈλcaÐUévŽ ˜ÉµÍ‹R}Æ)|ú^îcw—²ð…mO•Îo„¦Ú˜¶^ž)¥ï\bUÜÚ¥B9 :tâ"ZS.`ϳtÜâ07ˆ$¡Ü„ÈRÝo¸ÍhÔ^ß„8}/ Ï¡#½+ ÕNK|v&¢u¡¡åe[­Á|!"qœËcnFrân¦\Wç2(G1{ò`©¦$Å!$Èt+ˆ~…RÅyzýe°U4fA œÇ ±»6âî©ACh@‘Vžd²¿Ñè€Ñ.L‚ïþbK^`dO ¥(1‹S¹ ³\†Lͼþí};*}‰^_…1‹?~;Ç2õ·JfBÌ6k¦€d‰ &GüuhûÛ;džőm¹ )Ó5,6N ø‡µ­êþ†Ìõ^CßÑôxçhÌ#ÛG{öÂ~ýR¬ÓE…&îÊ3ýNôOÐùôªÈÚ:˜© ãJÞlnÚ"qo½ q~~tŽä†"½ˆ5gžÆÄB`,ûk¼SKÔò™Ó$ºô[2ú²(F¦°ú›Š!obkNô†þôV“`çjsr7.åõPêrIx?[˜°£N§Ñ„¾Ÿµ†¦Ñœý®iI¹"‰uYÌwÕæUº¡oËå*P) çéØ73ÉŽk=€iÚ1°(ët :n§î9>ÛêÃ@Ï­sØàz;œ[é£ñ!çÑîcéô p.´v©5‚ÄK'øÃŽo‡A¬’è¤L'yKÄ9ùËãfi¹rÞýõbÌT‡‘Ö+FDH‚]¿9’¡Íþïí´ŽUÝfròÃŽA¤/v>Zñµ¦ >èžÐjÅë Õ$t£mÓÒ®ì5Y¿’ñ•¸’ƒªšêYñ>VÐm²v)`ˆFcN—¿×wÉ”$i+{° s¦ènþä„éâÒvžÊt<®Že|‰…ª;§mуì½{B’O[ßòqMÊšäY`‡ÛŸõ(p¾gëâdF4Ÿ3m4Ðúú©'pIIRóå9æ9‘#» ›@[ z­ˆ÷^Ah³ÖM˜)ÅØÜs_qóÖ¿îxÎÓÁóIµÈc_|èk3I—l^E?`8ÌY-ø¿i] ‘ÝP"¶FÄi-Œ³k¬ôÙ#¦§ÒF’5^‚áV=f·$/šO0¹P‡Í3Ðö`‹…á’ä îg ¤|‚,1z¯^$fR4FWDÛä³"ìªH@cìÜJû"ÎŒ\¦Ç94U4 ÿqÄžqC$iŸù;Wÿ?D Ä_~˜\}C›M*Ä’$|¨IZ™xbô‚Œ¯a ‰ÙËÌqÒš¥\@ÕTðisOU€µ¹”Ø¥Ûí l0Ò¡æÞ‘hÇèpÕ/WÕjŒ Ùd}‘qCÉoP:ù½ü]æsz.ä§8–¬£§Š“ @pðt×i¡ˆÚ˜´bÕ+Т »W;îçŽí'‚°;_¼*õ½5ÌèïF@\+…‹[¨öu]ÉÄŽïí³7¼,­~–’ ÃÕ´–ˆQ®I¨èFÑÓùXä cdèSpC`8îfx¹ "¯"÷yv0…¹ª"SHZ¾ÏÐ11É@dñIÏÝmæT_£$Ü‘´|ãkkŽ˜F)Í@âà]j¬“„)3Œ.¾n–XdµyÛçâFÅq“Iîé‡*}Teî  È5=åsRÑ…Bɺß(Ҝà ç–J¹QTfæÁb4|ÆMójA?bz¦üv½m`G’ñK+xW Ë"󱄉Å5#窒@ØNçrYÝA’Xã)0û±~luMwV¼‘§Ž{rò§ù»HrkŠ<€·Á›¦Œ 8y³Žáÿâm€É%…ˆ½AS_B¾º4s³ÖäD|:aÃ,Ä9å¿^cÄ >H,|DÙ|·þ.OMÂjÀV|4ÈsÝ‘M2Th­ ±©Â¹X†YzMy5çÌ—F^øÈ9²ëöù+ö‘ýú³mÝk²ƒôÄ÷ðß¼ª¾˜Ä„f¦ 3c§I n™@&¿¸=ñÔŠ`f·Üyâo h¤‘"Ö¢=N«”áàΡ°?Ÿó^á¦iI=ÓeÛ*¢°`ú—?c˜‚a*4õ¼É íŠl„¸’®ý_ÕuÄaêHª¡Ê…6¯^jùI#˲¦K^M7ËðÝVè™jæ4kWÙA÷Æn_€Ü,|£Ãï ¬¬öÚà‡Öû ‡…ŒËm?Ù±Ù™TË(]^ݯQ5jò¸ƒy—Á*‚=Œ;aœË¶(÷e·5“( © ¥¦I¦™ç4ÌG2ÉÓz8<]¦âÊP†¢Ò ¸U&ü¡ w€Ô±ñÚú‰ÜÂVœà |];ÀÓPôøÇ ¸A¢¡Eô¤vÁþó˜—ñ¢ü>Á½».6U„7G:'Ã,0WV$dzO\°?ŒKO?rÙ°V;’äaL»ìáyãY‚Ÿ½S®ó-²ÕŠ‘:D<ª“Š]RzJ=Íž^̓}>ü+° K‚ÊA "-’\ŒÚŠf¡%ÒKÏÕë눛‰íitl•á’í1(-{^eCex‚ü ûÌÙÅN¦þ’ÄÑ]Raןà2þ¨µáGÇ8‚9Oøü Ü©ÑQ Ö=|(<Á¿¢f‹s2©¡,!UݰHG08(ëʯH=f ½*vrÏG½sªé6©ŽeÐC’ÓôÌsÖ§ËŽjžó6ÄTž;8Ò¶cµïíÓÎð¶ö;–-ŽfÓšÿàn(+Srìa(ÊÛž"IÑŸ"¹'Ë`{H•¶¥3a\’j!Y?¡[|îæ`†Ql/þ1¸6´è¿édzh¦¹ÖzÙ#óOjtŒðzŠHÄiœ#ŽÞMü‹,D~¬o7“戢/Ãö¦=åÓ«Ï/GÍhF¶… ƒð…*Õƒ1¬!îš(ù(V³¶aH @¡®éž|¶^2ö£+WÓ~øFå‚wׄÏ*c¡GGò¼‚†q–ën¡¨Út©a\$ Ð[šQ]&ç1®"®õ™Ù¬üqP³Ðà Nl2ƨôš8Ú{ß¹DýÒº7MM¡ò;ÜŽutˆáÑš×Û±E Í¢¨2M5™†¸Tt,ƒ©%©|ì{ÿŸç:M†É]‡à^LçºûžÉïCÛ|G€4Þ23صÀ­Ù·M’7¦,ÊIêæGjí`ðž`Î9Í·[û® AÙÕ°VçÁ°:³ž4´¬zê}"ðb•U†ÑBø‡o/ðËÑ?NÑä’ÄcFEUâÅà!–ýÈ·ë­Ãc‚3ùX8ŘǔOÜBp&ëw³+~›áš8Ó§ÏÅãs°E>pÛ¡MJ8±c 1%ewÑ 籺Òö‡M cÌe?ŽyƒKí·V"å¿Êgïš½DÌ"E™ÃËÅûæVr;;»Ç®}¡·Ó·k•¶[$î-”¯B×H ±ý…ѧJÉj9ñ7+«iBޝK­kÆzšûᢩGÑÃÁëøûr?ñÆ–gI2¯ZW'ónF2:<ü³¶ÐÊBxìîwú*bÂ(Ä›€|AÖW4*«ÛãmÜJyáT=Û y¡‹œ†÷µq_+žä(}"2ËÐ?`|”„ê|0`ÞïåâÔãFÓlöå)Ÿà€GRM•Ú—k–SEL[&¨³O"Tƒ‹­‰xJ\W âˆ4åŒû¡"ö¶t2ÄžOxÑ ‡Ó-?éK燅€eB¨Z~<]É÷‹1×vз@6Öɶ;b›É¾‡:L¢LUÖ„é´Kl‰J"’¢)óþ¹»5nBÈ#²D´¨bDG$(T÷Å¨Ó õesòliÜ®×ÂbÝ¥VŸfÚžMð2a¸Äc)˜Y"wòÀ;³F M]…·A>úWççò17üãª?Γ •”ŽßÈkйH¿î§K©9JÕ‡ÞAê%<±§4~*b^°€ëÉDä·´¥¸Põ,T:°X' €ë{ŒG³šp¸ËÚ‘øo>áµþÆÑ`,5˜æk¦rŒÄ‚¨ 17 Û~‹ÁÚ^Ä .Wøx¯PßÛbÿg'Øri#H½Õ‚„ã[‘ÿÖç[ÿ¯ÀÝ HN|qRžT¾+ò"nmvÊ]¯ ?Àkì¿•Mk¤=õbøHYѯ¸ ¡†jU=gP„ïy9#޵u{¡Ÿ¤7HÙí2ÇXŽcõ$\GG¤óº'pãkŽ<ð¡âÙþ— XX€À9q½stgÄ|Yû§·ˆAÎЦv­Ü÷¸.Ð3ÀLj P‡ùŒ)ÊÜGî»U÷»’ÇBXì`>ÏíæÂ‹Îlͧ½o2@épår±'ÁRŽ…cÑ9Äñp8bRåj¹Yëc75þó˧r‰g;›]¤¶oòåPB R¯l¨S³[L„=xìƒÑ\Ï]‡ÜdÇÕòë¼âÉ·$«‘r"óN°‰‰šJÆ‘ab2ÏT9"à¹!q,ˆp}L× b3ÛÒU¨fÌ)å!þ­4'³µ¢˜Å,Ýгd˜i‘{jÚÃH‘~œ¢ðXoµuu½Z™ñ¸ŸáÖè©xFÍ)áTRÚÚèãàôØ„®W5Þ♕¶þ]ÖÆ”¿O8Á½ æ6„s´¡ Ʋä­KˆÖQ‚'^ªÿ^ŠË:F™­Ë;ìêx¯ ïNcàˆ{˜28ýÚÊ´Dg´ñvös»ZÖ32™›‡¯ˆÓ¼W·bp®sëÆÔeÃ/°±3­¡¬ÜÁà󒓃Ãw>’ž×'T>ãÜ'èå'v4ýf‹m ʈS³aZÆ—ï‚bДL_¹LC Ô7e†·‡µ2Ú…ÕnñØ6E¢±*ºß+ã#|5•Z‚øç¾aÄ}#ÄÜ0ÌåOZöÁ ·Í "Æ´ºŠÉª‡°ç”zÅZ‡;K–¡¨ýN$‘ßøg†VàrQ hÒYHã;Êîc`ûÝ'µ¯[ˆŸ¥µ“püß³ýšVwQ¨èê!ƒ•Aw&æ2?ÙÿѹÍÜ'ùZPÚ×éÒÜpgTI"o™í$r7´ÓW–ôe9) ¤0¬,“,0Ô;ñt=ë’K|gž7Ř;1ÿ3cUŽP]â1»­óÕÃ_»ô(Ãïå îÜß;%¨Ÿº”ªQƒð‹ýFPWHxéèi ÖGìw—Û8…ZXüjpõvDÉqûµÿï&\s†Ô1‚ex„R-î†Nƒ<–E¾7#Ýôáò=ÇÔû~[N³&4uÅí„B}×ø!(N^jÝ˱ŸÐ¥3—ÏÑî}Äòj#È’gVàÏg¦XÿFuü;Ï\érdfè +K€‰ºD[s¬–¢ö=`æG=„—cÙ•ÚÜç±Ë&÷Í>©™ãìÙMùŸËÑKxïÔZg0¸›ÊçßKϲK ‹,u[68 6HS Sßø\ªÝ‚$!tXæµ;lÛF¼9•ö\¤KCMY? ‚TDÉ# îÙ]'ïï9ŒÔ:®šá¶?6U¨VeW¼ ]ìáoÂk4×IÂt©“EA3ý-ÖƒAÚ<|U{9؈ð-ÌÊx’Qü(`ŸÑ8·D/šñð,'0=˜>"j9z…9=j5öÛÿ Íá›%Û5ûÿžUô>Ëõ€2ï)àù—ê©ÊÒ¥ÊÄÁ=]œ`HSžGzÇ—1ykh=G; Žik0=Ñ«°¥Åý"îVörkqÛ}â#ùN[2[‘œè4­ž<‰èµŠ ê·=‹‚:”‰±ÂãÒ²ßy.ĹæÔ¯|™KJAè.ÏóDe@ ïú3S ÕvÁh²¥ ¶¨zãÆD§§t²ZÚqv¼FzÐKV£5–úë ü…rfs ý Æÿñùÿ›‚’âK.ørヿ å ƒ¼Ú; žSlï$ÏN£ä ¨¹œk¹A¨%I ÍÏCFoÁ×›Ý[tg Áö~@,pù îÛ Vc·L±$Äh$… ß}ôÂVSeô›xÅcp௡#òß„Qt‘”ÇÛrE sFˆb¯+iÞ€e þªP35©óMz>/0â.¸ž'UaYÓµþ¢UûeSÏ8¾9$^¸”úe#ó… ûPöÆ#pÇ@ƒ7t ‚htG~éd::6G%8rF W5ú,Rýqç‘lGD©§ê=Î>K›à7©~·yT=þ sžpŒê~é·=«>'üENÏI2é'áS»A¹]*Œ'3cØjhcõ¥Ðô‚º~aiÒ@ß+`Ú„–H+m.f°îð}Ö9Œ¾²¦S/D• …P¶È®Õk˜¯¿"†ÿ÷WÝ3ºU/åCyþüÅ.×ÃÕu.ÕÇw¤ý!•Ò‡jÿtêBz¼i¥-ŸŒ%áƒ7õþ¯o@b‡÷ÛîÈu¤ÊÁÁ[Iþú3bú‘ËÉlQÊ5[£þLlv³Þ)*ÕG8äVqJÉûª)äE«Æm4A‰Ï‡ƒåb'IJí/m·*ùq‹ëŠ8RÓ…rðA‚ƒ‡â´Ú°çª1 lfžƒC›ÉVº”ƒX®öŠZ…©¡Q:ë³B®IFPAB®ó^È6-LP[¯wMƒâñ¹EØ÷ΰâ2¥ûwoÀCÛ=¯mⵯ@Õ÷ùé3B¯Zï×Á•ì8á-¯zQ/}Ò[´dx¼•Ð|iä°JËðUù$ÓžÑC¨a™Võq¼=Þ™ú\C«Ê_ÑCÍCx:Ù4¿ Éé,B Ö°¬V%‹ì(9fA˜ÙÿÃS…!áÝŸ{;‘ç_ Þ„yU;þìFí´RB¹ž­tšŽ³aÒѵ§©Éï:Ÿª‘ÎÝ&­ Dìknn‚Ò–L§îZ7A B!Öœ²…¯–D±ä|R mSxÞL2ddÖc‚ãšDη Ç{~M¡oÊ"¿éòöÂX¤‚ä/Ü¥Q›Þ+QM•ÌP8 …Tï¹a ÊÀ–ÝÑ%RåÉá)‡ß®>Ó«<ɘ™§jùëðªöh "Òlw-ènp‹|Åðä­¥«ÇaœD5Ç£¹)’ eâY_­__8zÇO/r- .à!ÁD³åÿ‘,AÀêGaPÞ †æLƒ³ì«•üÃþKŒ§Z4umÝÒ9áøíñC#=µÅÐ¥ø=Ž`®¶”{­Éšah~FõѰó¶éBRýúäji¿hþÙ-± ÓƨÝчåÏ—”Êë²O5k‡rbZ^À¥[pµÐîàY1Ù•Våjû\óB“/y–f Ðs”Ryþ {|wYàv­óV+×`¿ÎA:v\|ì(1­a‘KNaš|ä çïÐÎy‰Ä®p-,q*kàÊPäå àî¸1]Œ÷œ'¾ñap7¬Áv"µÖ1±ÆÙذ8—‹_¼Š-¾Ä­öðý‰ˆÜóP%l}Ý#¯Ja°o’ܲÓ4¹Ck¾fåò £]xø?¸H8•v¢jðP5¸¿€dîžÄõh°éèçzB£o0|h5± ÜDç©´»v©¢ž3¥ùrH¡µàC‘äÙÔ±„¬¶^6©$³ËÏ…¿iʧ¨b¤¥ÚûÂ¥_]1„èJ|1:Y¬Øl¢k´­l ”k‘¤MÐùîÏäl%³øVd=9Îc®Ó]†ýËCÜÙ^›_ØÊ R鮂&'ù„{<§y3[c5ʽ>â•E³Å_ë¿–ÏBŒ-gS}9CÕ¶Øš&m$´IÈ0͈‹W2¨ôÜÆ‚ÛîâKA¶Vr¯´ä<æFƒIðžæÓiâ ‘£ÝÆF9Ç ”ÃÃÛ¢gÓo°N¥ºÄK-(µR<ô¬Î·ùt–2â ™LÜ‘R/½œ’”—@¯Ëu¡ºË„4§2t/îçV7¸Óõ(\^T®&±±t0xé^vÃýû 3ý;ÓÊÍDMö0EÎܘ¿O|1žëtž…Uƒ¿\ݯ K siO‰¨üŽ Dß1”Ac°(k±H¤˜SQ“"<3AË_±BU§* hqîà5LKÎ'}åþÖª¹ÕžšÝ\˜èvmFÈÙÌ ‹±%bg½ÖÏ4-¢dä“ÚKýY¬^1—1‚\¡Ý÷Ç€âxʵaÔUKŽî j>SCîTÈ­Î_x×ïQüà¤zÚÜ“ÿ¡$<Žh É©²öÎ+Ó_R ‰½‡l!P%±FNˆ¶|¥Ðñf>‘Ìsª <×±]}î¸NP$¥5sÿú/õ9‰]!p›§;n ¬1}0·!¬\TGËÀ¾.÷ƒfX|9ÇYò8âY|ЬBèùö‡Õ®U¶¨¼3[éZ‘”4NUXn‡«à܇ŽR²šÁzyŽF1ʺ½Ø­ ãvúɶèM]-[O qÕjEø·kMtŠ(XÞB†ë…ˆïÝ5“¤Øb D œÒ8(Þœd‚¥K…% ;@3ª]Þ[Ä|ó »s<žp“š%ií‚@†{öî’,]Üvs¸˜áY)dXÅÙc†Î3“ m‰?o5`@+áÜEÇáš+)-Îb0+¸(D·ç²EwÔÂ~Ÿ+[Îùî1®hjÉœ²qž€HUaMº½‰ý3bÝI6ún辉ž;ÜÖS(8xßC‘ð΂óPþ  ȪB`Åè­J[ݪ@1\Y! ®„3¡ «Õ«˜­¯ç.¢!æJÅ£sÜýåë¼f7.ÚëÊ»tòmtÕ×vô+dC‘›QHÅer vÉÑÆòÙO"…ÞÕ4±‚ghŸù…Õ¡¨· *Á7Mæ”Ý ’tA8¬ndmPJÒ´Ù¶\ët;’VÚ³&߆:²«q& à•¼ðà6¾LyxÛÇ·çƒÝ€Þrá¬Ä5[  ç•ì9¼s¼ŽVë ‘5 [‚LÉa…ëbÉ L𶀘4Y\I‚)»ÝÈ«F0¼§ SzúõcM'}Ÿ×”‹ÔÂÇŸ<‚¬/jÝÇž†RVc8§Êõ»¦¡*ÀÄŸÂ"‰áQ®ºÑ)Nr‘šISAÓ*‰5ñàOc5w°üðexufàKÙ²·Òñ¬èMí—@¤:ªîõà \÷<ÒÃÀA}/"Ë/ %qj·s¯ÎŸdV»³˜ëWœ­BÌ$cÈq¿ûA®CÉX³&ÇÜ<çSùÞ‰¹Õ±K [ ¡c‹Í¶û~7ÀÏqrb”ä›ñ“{͹±á&¶qP*u‰ëþ²~›`çªZNÂáꈭL=[ý’bnÐ ÷MáCzÁ”Oò`K>ðP-y|"náÑ#·V¼€Rç‹AË?€È¾¶®VÕZ¼ü™`ë{SÏûŒr ýBxžö¶Ø30¸öä·ÈWØ"Ý,åãWpؒĸLrUÇÚÃxU½!ûR°ºÞ¼–åä3þyÏ¥=^+Ù¼¶">µœ"S1Í› '%5æèÈC´KhPߺòg+ŽzÚI*Û¤±w‘ Åã}[àú‹ÈùØV«r˜ŒÞa“~Oo „PP•õ:²Ä<&ÌöÚØÐ…<\R¾tZ虇‰è/†è˜•4ô·Ì•Ãز•¯…épºj¿„8€ fØ¡Òf ªè®x;JœøO’|†§½ÝcâJµ¼ž®ž4ÝdWåQv¶ëãÑ„–bòPÅ¢W÷9Ÿ` K[£ÒÎfrz÷¶yEJ7îøºJ˜šF5žé"2)††=u5[+íp& ÉOØç!FÎÒ”5ºø‚ÐZ¬Åî¨w-ÉhÂÍX£J¥/ zˆ),pp/õ¡Sí´Šy[QÚƒVß@!kÁ“¯¡¹Î­­GËõᢌ }‰^ƒH]¼P÷†&¬Õ– ;A÷÷·tF‘t'¢ÜŸžµÉ¬ØÆ~ /õÔ°‰ªÆ¥÷#¢•'“ED nüs0Ý4ÖûGö6†yB1±”´0 ™^¡/”{qvŒJ»"²sµž¥[Ù³¼±Êº§SÌ10Ò~(›™Õ‡ï>6y\ìÂ",8‘ÏfÃõ–i*#Iȩ…¦Œ¬úΗh~ÁW޾#"_›!ŽŽÐúy°@¢EçÃÔçžÚ—ôÛøÙHùhh«¥ÐÍr±ô"Z²é`‡×NâRâШwZYnGpM^“·›>‹¥à‹N˜þ æv7ù³¦7’®&57±K¯Ñƒ¡-d埖-Z¥ ¬ê¡úÂ<†«ÿÚÙ´'ã¤âŸ~ä‘7²ØUb1ÍѸ<¹jSÏ{Ðù `<–Àü9© óŸJÓ&¸ÛA[Þh¦»Ây:…ÂâêÊAðèX ñüÀ2 [ȧʦà]x²Å& èÒM/ÇYúùÞ³¦SjJã2ûjeÂ;ë~H¤õ[r1ÑÙõˆêhŸžÈ„¤{î«Ì)»¾½K~Í[ý5êFÆ93‡ÖÇ/ŒŒPÿr3"Œ>íð˜£Çeþ $œfª êÕ§í;ÀBòR=¥àr77Ôðt¢¼ÛÌ­ãœÆò/9Xwá…ÖôΆ¼yD^ÖÎ7C pË9Ÿ:• š…QŽcç©ÈƒžÅëÊQ>ó_ð.Ÿ ä~H³ªÛ-«Ü#}«¶ß:ß<œ™~hÚÝ’(œõ!˜9â(Bƒ¢2L£T»«aö0aîtÝNõ‚k¨3«¯k^"¯9‹Éæéi²x¶ýÕ]a¾9¼‘0z/Ë¿£ã#ѵ4eiµÒéx =ÎUªÚ®êcÐ¥ßÔ™ˆž`ÎV®ªÊZ”YÜ‘½…¡ÝŒF–c!¹ «ö cçl¶PHÔ†~©¯ÕRŒ‹]Þu4„S‡m A•ü7tÈÎQâØÒÚ½Ž TæŒò#\çêÆs樅×åNÛ¥›dZ4 ËK(!ßzkõrü UŒ°°RYžD¥¶±ƒ{'®-ŸñIgCÎ.y’ÿ…mïIÿ™Pƒ_X•Jfa>ý»Í–éd§’ƒõÑ¡À ãÅ4r$ªÊv; dþítjè¤g›fU€G*}­ÞéJuõ÷õ1—¤´Æ<«Ñ^«aP÷Wí*†qOÜÖY—KÕèUšívx˜rF0ú›Ó;‰öiT€“þŸ£‘¥`Ï–ˆ™5¢Ïd†Dfsƒ6SbÁγƒžH “5¯º*Ú(øðDZÄqj:Î9 "îWXÍûu @C["÷m 1Æ:sEJ”âÛ¹ñP£Uöt.rO%ð,ƒÖº¡n §dgpáDBdÄõŠJç‡É~Õׇ¾Ûr6ÖÛYŸ»TpîU,³@mÎ)"7—ZÕZ©\:_‰Õ‰Õ]>&ûvÅg f0‹¡K}¹¸k[ýÒ‹“¤ $#)Ãa Ý#¶!¡ó쯱>oý}PId"<ŽxÓëîO‰#Ë]ñôÒ»ªÓY¥ýÜÄeXäá îó¸‚Ò]Û XæªÓMÒâÖ†ƒ†x³ `@ \ØÊë÷ L»ÐC¦àË{!رP4z íØ“€ƒAkŽßk û9§1¨Û:“S½ŠŸa|ÊÏ8Øâ½—:U—­¿§/•ræ~_¼ |uò›b½`¢Bö\Z듲C¥0ºÈœÄ£ËEkäþ£ˆÇµW ½<"u/›øØþv°µb‰DçÉ;^V,X*`ÑæÜ<#Î'¦ŠîEõpÜÒñ—3œhi%PÁ5¾—1ˆ¾Ò¨’o›#zºÊx7ߪ£¾ÌÀúëoJòÜWãB·Xr°KoX§…­{šó¦¶=vcÎUÌ,þ¼ìÝ5 µ‹zÆ›¦Æyކ2ˆÝ±ìX ‰ZèλûUuøQþ$]pŬ5`lÉY+rKôŸƒ?Ïøß~–gÑb-…cfŒË°4;UÖ­Næaï|ÚlêzQ÷wt{èi<`åè]'…ÐJmúV`9¢ÓÙÏì§ß}40ä㨰XÝ…€„ -«6°ÍÈ_þÃ#ª÷Ϊ»Ï€Eo_J¼‘gøcˆcU|(„ᨋf¹ê& ØÄ±“‡¿dbH Ÿ+-’.bã~î?"ĬQ^"“ƒ<æu‰Z”î*ˆáË3Èì4¥k+_~ÿå‘C!.òz»LùY†?¢†¡œðkÍÄ>ý§ÿ°xP:Íwj…z»_‡ëF§ãPþò 5»6º}nî©ÓÅRÅEŸ´}ºÄFpÌ%ªEœ«.™ëƒF¼Ü#ÐÃÜÅ£YÇ {&+p³²üÝ|ØfdUZÒT)Eè|F“œ¯PÝZ-¯J¿,ÑÕköP>[ÊÃ’Â<œÆ[ÎãîeàH>*]Fg%t¸Ü+™ÚyÀDÒêsÞ*»­ìBœ1Éj>Æ"ª"ôt«ÐåMŸ7J‹Š³q7ì3y»1kÇÒµh*+Û€’í0`txHR*n“{L¢Í1Â-®’õì_£Œ=–`>ähPTp®ÙðW2ÿöä+´ìD|µhÇ÷¢æ"¢‹19%š½Ð*¯LB;†ØÀ£$ú©és•îóÈ{÷¼.S=øŒy/s!.O¡Ö›5€óÀÖmÖžú•SëJy×·†Þ;ÞR gÃ’g|y3k;ˆÉ>²ÈS?†½bmãŠô·]["F±vƒ P†»P9žL 'å—¦w0õÄ$e¦(ï?Å×y‚Ì_¥HîRë~qæ}Ååi“šÛ’μ‰<ÌGY?‘˜|µ¨®ƒj¥=¾¸‚,ߊuØâx^ 6‰ ˆÎ}7ûG0öÏßø¶‰ò ŸRi“bVuýž™ªëÞòáC2§1;tÑ.Qê[â%l ç›G·«4ÈåÿVuÑᢠz7ļ0G÷E‰ct¥[€ÝC¯ózY‡ÉA.ºH§ØkÖ÷V·°"­Ä‹Ç·`#t[Î3‰.Ä0mô½ÖlìÑWùºõ^Xtzò{;ðËuTpÃ!¾bÚ)_œf"_‰]pÆ,Öu&¬à Ô"æ rˆ8þŒ±œºëß<½".‚B ܱ‰ËèTi'Ë(úß¶D;,Ã:‰|\ìüèƒPyø ÁÇ@æò/˜G:‹Ìž·Ê¾&ø-!šã$ͳ@‡2@Ý€"ý50¤73 ü.\L+m“.Ë>L*>Ä úõôÞ‰¨MïÙ˜õdΑúÐuhýÐ?µV W1ÏçYñ¯-(:eâc­QȃÁóX|Ò#ø!*|¶§æ¡² S´/¹ÿ›ÆþN©ïpªÅù&½°RŸFUäà:kÒ‹I¾—¨0ÜZÛ!5ðzD¬O¥ðBÅ ˆùTyŸ‹ào)‡rü«È…‘íg…óàçÜÌÙ9Á¨ow«¤áù´V÷^²)$93T²‘¡¡ˆ  ´Š_Ç_aêg^1MeݪŒÿLìKª B i¦\ö£‰½Z¿HH!‡áëcEw7¯a¡y½¤\”?õÛSCM>%ëm¤õN›îpz´• ³P©&“Í÷Ê_ÜV(‡\q;®VykÛ°·[ê;3Ú©'f¾h3ñ6*Yáx±îð“1A›)}ÖÚÃÌ<VÑgl~8…Êñüü¼$Û¼”lz:ÿØî2Uªfûö6Q­WW ÞkÐ&í2+§Õ& 6g9e¾ Iѯ?HÂlÒ&\³RåŽB:Ýþ>TM¿¸pÛ½ºS„Mݪí±L?eã3eÖ¥¤‰kD¦PèSó¨‘ä"½™YÈ@œáVÁÿn6ÁÒrþö=ÍÍîCœ&á%¥æ†>Lô»™«Ë6¯üÀÓlµ"žàÒ@íÿ¼ë#3ŽË1ý6ä±Å#†–„ž=[(Kà‡!óf£ƒÜ­Îf-T›r)Qây‰dÿ50ñ D·ºÉÉd>Ç‘qªÂ²õzÛ@UlIñ"wެ}ܵG¡|p•/xQƒi7Ë \ín·iïõÒöÒÚ[;žë¬ç+T'qpmß!lñ…ýw½Îaøƒ°¶N§Pñ—ã=&}Âqa!ÒlC©Üt[†Ô:(åþà¾ëú-?õã¯UÎ/¶XÌEHrn—÷á)ýûûÌpZ²ß·â÷*‚Öö¹ÜÚ@•øçàozÚ›ÁÕ0݉œM.ë±l³ØaK fB~ûÇ/RtÜó¿þ-‡»ta&øÊÇv7Öü·!(…w~b=ÌÕŽ`HüS6ælˆ³åÞ…Ic¬ÑzŠ ÓÖÍ`$«æñãb5GÒƒ:­Þt Ÿ–Aíž[>}\2t!:Ë -Fù)ôØaìXï–M¦ø– Ú²§ÿX¿ˆ³¾uØYÞç”ñíY_ ;ÏWGïÍIû»qÅ ßD÷0°—bmF{­…ZÚÑæÚ˜çÃrÝØ ’£@‹çŠ*î#-P)5Ë#=îLÇOK2îÔ>ÈüE·%÷âÄÓŽÆôB4Ì(o^>÷Í^—éXÆžÍû1wnYu$W­¥¹ïü´¨¨¢cF{’‰[Á’-5V_¶Ë‚oË:n.épÒ+1éÃæÔðô]gõ›ÚåÌA˜iž&û¬ÅâS·qµþåOùÛÑHý}‚¿ó6Ìý“WÇÓ, §hd·–òNM7ðXØ×^…Zþ'Œ×öi 7.œÊ£¦ S:%ºÔ…œ$„ 2­¸ÆJ'K¯eÞþ0ƒqZ¢YNÑÂce$/f¤z‹ëA5ñT4Y3=µvŠÒ=¾—á¡¥—3ä€å €¿Y`±ì%Õʵ_qb•-+3͠ Ì?u—¯õ_o¬ ž€sõæaw5Ê(BìídŽ¿z ï€õ¼ŽáºÃ°ŠR#& úK¥žSßµ«K{’H•nJ.ÏR úZŸÓ¿-×;TÁóæwuú?–£?5Ðkx=xž[*í 7Ú¸>pZ~~Ø“½&0h$¢Î íòë£ý/\–.åqàäûá;üÑQ+®lƒµÃ$±¥™cY>—z÷·wŸª…µTùÎí¸,7Ú¶`¦avœnv.v»¸Ì‚L8Á•ubÿ߬º¦QΞSÏ‚3Unv}·ƒ¨€ØÝõ¾Zm¡0cÒ›ûb‡ÇNÈ´d4sf-°3JëUydóÀÜ^¢¿¼.‡â2ú0ϰ`/z¯Ãld¦]‚EÕDû&Pwäï6$¹{K·;&Úaþ¶Â¶cÔí…(ýaèIê°!z—>±µ²IL»ó²ªò.´.UWx1H5Á—²E)å,\•‰Ñ®}/yì…Eõ¾·`¼N,Þ‚#Ì!~LJÈN»'ç’ Å”cç<QÊ® °Vžælæ´<}^>UÊèÏoᨠjd3zµadr ÎȘ3 ­VÏg~¥1ôß2æ£y2æÔm_9ixqÉØý¶ ^Ý«”‚.Ö¬ …¾ÞÞñ +0`;ËobƒV °ÌZ%pØÑ®P F*h½:³É«n":oÖ±È*œºVŒw!"¬:9ôTD&4FT=c¼Í%ŠÜy’R¹¢ d6•r8QÖ Ìà zb©u]ÐFP¶3P˜ËT ˜FÓ<µ“ˆO€~¿ù‘}RIb!Lr¶¿@÷ƒ«ÙQ:êN¬6mìæð µKÛBU#o–Š)³¼7+ öZ1:e²¢V]#öèuƒŠü¢5*Ÿ¶¹^”?ö`Ãdš8u™0$ñÿü9ܬ­æÄó (JN],…ôg2ªåçvPc¼ß©l(Þ(’$I3£å—ÛŠS©6­@—¶h²ÊB4°â,cÔŠáÛØzëë[ MÜ+$‚Ø6ê™4èúÉgz"Ùt˸í³Ó&Ï>¾»×iµ ߇çÊù Q™ÛÿÞÓ½'Yƒ…UJþ½zs;45­¦mgšPTL`äÀXe˜W°» HåÞÑgÆQ÷”V*ÃCm:Lâeñ>›±0Sm°ÿ“˜ õWƒÓF4¡«h™“LÁÐ |™ô ¸³Í˜×ð)»uö‹L u å YH Œ¹nGWœFa6(Ðk4^¶þiz†I»>—ÕQÚmèÖ»V–`¼®f¤" ^+WL(<`æT·ªõ<•ˆçìcÚiýœSi8?j/Ö {ýztúÿõœNîÈÊ!b[¹w$½Eµ¤ãŽ[Ù§(ÍÖyn!0ßn¹`jͧ#ŽÄ€´veF<#œÉG‘íª>? V£Wb¡¸>UŽs!VbÁ—ö ¯¹Î^æ)ýh•êܻnnéO„-á ,’#}"á¤ã ^6;‘tìáàóÅ¢ŠA).´lxCÃx1—*–®¦Ä&™N&û{ hÍÌ^ítR »e’ÌpÃa CŒš@2äR)±ÁS¡ã}& ù“4g”Õ‰¡Ÿ—@:«H:‹}ç˜"š2nÜ ­–¡©¶æf@,ÌÅ5=²¿ýÞ»¸'Ž­ÞÀ­ñ®¯4N6ª®Aþ×Àèɪ=ßyºL®+;Käáƒ8‡ÜkÝ qóWi»…/sñ¢!ª"—nwاåwÚ1BÛš#»ï܃œ@ÿ(Ö"PEÑç“El°á gvÙ¬„à˜Ÿl×{w¬.Õ‚úß Ï:VM-œ8¨&mØ£A«³#I=ÿa‘б?¶8ýÖ?z‘²Sb>Ky×:º’÷[9*9…ùɇ·áBp–_i?B É`k$è+»­fœ¯ø.! ¥Ë&LŒ4)˜Pl Ÿâ+F]Àƒ¶åP¨(Ì_döß»ååÊ36‰1ù2 IÀÐRó¨ñ¡M"SmÓã#Ñ!KJp9C9î¤="À–ÈÛ¬%ÇË:áèçwÝä™ÎÖ²ÇЭÕ2®„Êî¼2‘ÜÌYhR5Ç@µ¼"Ƴ#É£5‹”ëáîI?h›O[ og‘öºž”ˆ¢çÙÿÊÝÿü‰k®ø!ªC*îâsç‡l¡g\m\½ƺÊzím Hv:GdWDÊ †rr"±q¾EëCisʈ“É©È?0ó&«e¼¿Ð¯ö+®³H|ÀWx_öÅ|I²Ÿ¬­â'~2jÀ?ÏIÚø—¸N€%ƒúèR-ž2P_GAJ̬…Eík¯ðw0J:¼ëËN¬êŽ2 $¥S%_–GQÐú“(Æo[„ùµ¸‚>¼$$C/O¹;>p°˜;Y¦€…°}õ5æÏéÝíÈ:c:e Ë—]dqQÑË}ÞâgZÌ–ÄOÂt#Øù&4Hhz—n0Ÿ#óôÌËpW)òCÙ$`ñ6XC¶JY6Ûûƒ–ƒ…Œãu7n zêa„ÎÁXÿh~dor:EÞWÄ{Ù®?c⥜AÊzÅîÏÍÓÝGt/ÛÌ"ƒ è¨ΆI 5'©¶Ö×t×·­›ˆçÛæ£Óf2RdgÌ)Ro³z³IâcÔŒÝÇsp<ÔaëÑ (ÊD;,»¸‘fÈúóž´c&}s¡#ç< |°÷5‡s7i|s§n€Ólˆ«ú¸Þïzu°ûõêÒ]eЇÌ#²’øã÷0j ¤)„@˜ÌF”0݃µ•wÌ=‡ç›˜ÆœA_ÖFàbö6Ô*–åîKõì‘Êükä]Ò­>è)¤V©Î1 úí¬ÿn[‹à} µÎ$#–vš~…¥À¸d2zÖ~ÁøÏ”Ç |8~eöQ³ÃèŽL|ÿ&„°Gèð‹c<èms”WY°ÜöDg ±u¸Xüø,i€¨ Drâ}£BÉXvÿYò«Íßr÷§rgåd-(½ò ȈÔzD$lBóMó ú;;i‰uíôUã}/¶æ†x q$ÜÝ´±ÆG¹>é]S³ø¾Ô°×ç;£&ä+'`‰>ݯ¦þ¢¤`ݰ@<&ØUQ‚†Q;Du¶ØÜÛ2"é…UÇLò#ó¼ÙU…˜Þg@ Ñkq©«÷+1îˆobx¶ X;[Ôôõ±x¿E×õþƒ­[-çË;ÕíT"g‹Pé!Nª¯M’›¯ÃTX¡>i«UñÄtïºÞ>U\qDµ?ÆÈ>y-v8$nÿ¶ûy W´oØ­6U+6oõ O€ß®+Rwá¯/áé#‚^Ý&.‰©b'S‚8é\.5‘+g7¿&–˜éÅ¥vÎÝŒ*ZŸµé9¦òÜËâÔO4ïlmÀÔå4šÀKM/< N@ Ïž±+‰žï1œ \7v3½çfê¼9 œ%;œƒ32…Ñvš8/]§n/MŠhâ×Jí³“úI7•õ0—J4¤›½àrfÛ%ž‹Í=^ÒÌÓœÖ÷éÑož2iý”/ÒT„ŸRëðÕ˜šç@ð£ÚxT\ž ßGÜŽø¶¶ƒÖO›FlÎÎ*‹‘P±ƒ™yàµÊŒm œüºNÆÎBR8RAppzMöÜK€}Š”_ž||;yÞ®¶p¨†¸Ð,›ÃÛ(ñ{. Ë¢Ð&ªäšÂŒž°YEŽ5Ö-¤nÛ…}óزIíeô0.cåÍà?¼^ÝLIuDݵ"Küä‘§*ÿæù¬;—§Â'wM)VŒm…׋z‘æþ`€øAƒw²èÉ¥ ö‰&>¢´t¯õšþ«€_4ÿ_íËa¹¨_Ðí¶U¡X_بÿÆÑÎ\÷ö=hDü|ÅM l-šær7¶‚uÈQ™ÚÝrƒän~ÄŠ†äùLÇ·4²Ù,IPíô Šê½„øÌç[\—W¦™ê SA“N„êZ0D슶¯í»~ãµ­ØÚmƒÿÀ£†úÙ âM.Ö)Swd|ÿsÐÚ@¾A·¢¼”ü§îQµl~ûäK†«O$p1ûJ9¯ð¸hkspú‡ÄÈSÎõ±ß)GS|¦ä‡s5DƒÊé­ öj&¬‹¬²G élÖ"5Ü·ƒsÓ|\¡R­o·DcÅ×{LÒ§ lõfxÁÆaÏ×µì„V‘ž™v£Äê ZžîC¯Ûò„f¢ý¤«–X(àùvÑÂék@ד1eCº ¬4ïñró@¯>ãóQã“¢^¡ôi½‹¢N0-üŽ•.]ð x#dmæ9ÃRÇà䉭©ßÝU\ø‡çÒ1ËZ®o9]’¡+²½åÏrRýYÄ‹ùBšc¶|Y‘ßo?Åø†¸˜ü]-“X­2oPû]óµãx Ö3‹li‚W>õçhd¯köäîÜDj¾ðáZ[7\-Xzw‡’o\ O+at<ܬ/cß Y¾¯='6î°\H—eÈœ©",5Œ€1Î÷ƒ½lµD­:¶¬.:ûöM¦?û*fùíû·µÛ{U):Û˜zQÅO·3<÷Å93£ñ®FxöÉv¦ò/.òùœ÷†´ùœ<œîÎÌšä,UT‘`š&9 •ñµÆtàçæ‰Óˆ•+ùMRvìsMÖ`Æ9¡Þx1òrÄzõfjîêÙxÌ%ÖQ=¦wš >>ŒHgJÇGN5Ît9e9¤ùŸr–qdl‡jó• ;ȱ13–,³¨Ñ™€à3]pŠ˜´Æ1$«RúÒ ãbÞ¥–†·\øÿ$ ŸhVîŽZ¬³fn+,°›Z¡‰Î‚rÊä-¯Ù€öµæË_£o–ü‹Ûáê¢J8{ÄÍ @4©¹AÿµAcýcÄÓã*ñ[OCú~}švÛ+ â‹å:šoýëNš &.½é‰FÛ6‚ÃkI1쟙¶ý^EDO.O2‘ օ³ž-€8=öäÛåÈ󖌡٘"6ÏTóÈ‘€5±ÙZ^ð<toÔOœ¯ÜÖUgB‡‘Yz?sþ0`¥áRø%0 ÌDæÆ½] -1?È÷.ú›ç\f@Øõ+É}{‡`òâ÷û]¾æÞqZt/=voà·ëƼ@+jàâñ篢WF–åÅÀ|·[tà«S\5¥8Í¿ç>=+ªylp3Äž—gÜä`ÌºÈ Z¢0äO) CO9:ÏAOó€ª/v/TKµ™6;–­ Œ’HDäor 7{25[nLÌý0Ë›ì÷tnŸ&h@‡ vލ½ š›—?þ? ¨1b¹ iÒ¨ÖÏæÏ¦´ª·Ñå⸵ö ¿š^ß¹/t4)¢<‹ë"„ɼLPlu•ŽùƒušB"aSHÇ—43Èìw ëÞvÒžTŒi/…ü¡Ì û¨×úíþbÁ1TrõÜÒ½¡¿!»ë»,Æ ø·xÆÔ7õ°©&ªqнYz.…¢v‚T0ŠD ˜Á6S !Õ0S£¾\G  ÜÀ¦¿fdé WÏŒ3ÏרüzìfòD./$n!]Ë‹ÃóŒí6Ç”ŒxìEç™Õ%¬„Q-°»9ª½&{ˆhdøaÛ<0—쩜dÜþL¢°wþ‘¹8ÍVsÿ¢µØ2ürKÙšA•®x_™§Å”|“vp£j  ñ~)8¢O¶Äêÿ¬–( 39ºˆk-oÚè8•Èr;°D¬U ‰ªçj‘f[Fwü½N*eèõûj¢SÚÏènÈo_MU5I­^éÁ Í®‚àI ÊFk\ÔÀ²ŽßÛR&Ú˜Õ[9—áœ6îLtPƒ{!ÁrÑ 2þúÕ<ºëRèï?˜aÛàüàT.¼*‹Þl·qY7Vñ±Áò 倿®féÉlÍ\‡ß…œEúðÓÉ-A{àMYsÃ6PBà¶>ƒŽªŽýMôÑF,è¤ñìÒÃ?£Ù´Þã* ®†üÍ9ç8WØÑËã = 8Î PâmÅrÁÝQm™gE%$îÞr”ÏÔ[©lv4‘˜dŒŒU6Ž‚x4`ZÉÉdÉt#^ƒru0:%¯4R…ÊSÞHG}Z£œν¼A“®x°¯Û®Q}ómS¼gjZ&¤ãg^ò¬º“üš`0è™u òÊ*nÍXö:X°ãµœËí ð0{oÂcëó,ËQzu7:Ý ÌÈ)ðØáì4n­D¸Tûzæ—þý9¹D-k±¥®Ûg|gÐC\5ña¯W~!‰ÍêäcÀ¹t~¡1?RA?Sî¤ XàtNKŠÚ…ç¢ëö…³6NZC½¯ÕX-#$MºštóØ;W}"{"ÇeSaBŽ.ãšñäs+P =-×Ȭ]bulr[Ì+Ÿ›o~XLí`Ð<èÃ&à¿Þ¦ûqýó†ȯ°B>šV³# åc8’.•mNÈ ç›h'Vé*{ ljBÕÌaï8&´ ã Ñë]õU -Ö BÖ?G[Db ’-‡µú ƒæ¡ôÔ6X*UÌk#¼nƒ0—ì’k`Ç£wð:¸+Là½Ò#¥îÖT§l:ÄP‡â_†Ð2-}REÀlP¿Æ‰GgÀ^h$ &š¢|tYÿ.»r<»=y>Òë)!ç$Ê’Ô_’JåT'ü#¸ØÅ€ås34•A]‘B”B HÝ¢¼üùQ/¬’¿$ì0Êé¯gNõ”lÈ‚¹#Ï nãv®M¨ÙìöÈF”’Wl°k«ÔtuVKŽk0~eåÈ|·;Áã?¿X[3ÃNÁ{÷‡vÚ‹ë 6çŠCÇ|Î÷Ão¶b%=ò¯-s *M*Ñ`6£%A«ÿbr“Ás‚ª`.ol _` êÒŸIìÄh²€‘ï<ô½§¦ØpÞNsi|º?¾Ú4«/ô«»\ij‘¦Qÿ\žHýJBW¶kƶ¯‹^›¥BàûZ1pAù݆Z‘fdùK„üºª=3wXØÚ!þt¥hÖ®Br­K†»`‘‘øæ|ñJ’[xm0D™e«¢¥æt@zòGgqŽ1nS' „3äü5XÞÌb&å?ÆT—‡@\m¯e‡OuAÇù¢ÁÙMJîa»§Xž8—\A£ ìF+n„•l’&Œñ ’óDdž†gB¿A-¼ªiõbE—ôûÅ 4ܪL—’³‘TóY%r0’rEÒçË}b>ˆÆõ¢m€ÞƒÛÝ/™Ù$C ® ³2ðŽüIî²Ã]^&Öåx·ø&á)Y»Eå#”¨@Å¥8ôt‰îg‚L÷`¾`Ê`¸SõÖcضŒé¤Aplmý?ÜÈ>Ýå=˜rÒº7Pƒ“Ý…H·«àø±ƒ„-=æ)$9#iÄ’¯søÛó,âËYƒçî%•UȬ˜t÷”sSRºìÜfa,ÍæÈš… Æ9ãùy ½‹f²ü}ÖŸår±zi›¡Øë€‰sñâ¿U‡ô•—³†ž.ûŽ!;Ú¶þ•(VjAàQưþ‚¢º!c÷WC¤\'5‹±`å‰áp¨ ;li‡Mº“-‹GÒ1A¡BcöÀ“ ²DÇ÷ØeKa«ÂZÊpØ”4öºgýÂR®Ø©f\P)PÍÑ“:þ”Ž`´O¤Ókba‹°É×Í®’¹Ã| <¹æ Ãmœ3,£f\Ëúé!Ï!$`i—)™z÷ƒ6é§io„*†6ÃMü2odóX`QRµ›·û6EÈ~¡L1F¿¨žVù9+½ÁÇY³;ø¨B }«A€7¾Žÿ_ImŒ âk¬ö=žýšÊžàÀÛU*]ÙsîÙ¾Ó­¡|qŽß\ª¦è öªÔ\‰à÷ß>€úºq8˜ÐgŠAÜUxÓ¡ñ”M›<à ]F=Ô½i™FJÅíõ‘tÛ’Yú{$E`ý“j{lËQж±Éå3‹j(¬ÊZà\F†HKÃÙ‡;ÀÍeM‹f£ÊšÝþIbÜ®Ëà9ô)™™£²GQUšµkÔ†áb§Ç?W1\Oaèñ\°ªæX¬Ï¹Bäf+)«/ ½)8:¸ ¾ó2°‡]ÓÑÒß"h%¡d·RÓD½gûyÂaÊ ví_D~`3í;à¿Åø xàø½7³D"Tcöà<Àú¦¿{—Wh£X­_s×F8V&ÇúèÞslT›«?ØKÄlÒ}ɈôðÎ  Ñ=”iâ@—>ˆˆW¯|ÉÅD)a{8@¼à4[†×µfŒÅ-<º8€ªš÷£uJ;SžM Ë:Wr±iÏÆÃ^â%ç­ðJð('òvÂb‰á^t?2Ör)¹zžÙX¡ÊFf½,ù£ÿgx•‚¥:€éÅXl lIŸ¸9…ÛW#Õï¡‹æ?êE=dÜéíÔà$´c6Ó3¬ê\(Ükl¨!p‘Jš„-#ïhÍuÌ™2V~à}[ÀïAI_tO¡ÛÚ}{‰3å—B·~ôaT$Y_BïèV¦³f\9«e¦½•ù"`º0YÇš¤•à Ý¢¸±Ôw¨Z±«ˆï_‘<"ñ˜ û}5èåCe˜=£bòŸà¦S¼6dØy¡;Ì^a„„8˜w8äT@7U®Wab™³‘LE8eZ¯P4æ¹;T¼M±iÀÂ+Ï?õàCÌ¢x–Y½ÆËf¬ùÒ”e<)1‹dwL)?£÷…³“hç¤'>…ľsž½ÝÅ'õ/WÆüQÆòOWH‡¨.€óÏn±=RÈ}iÊP¸˜/SÝ"æ8nm»\[˜aJè„ o"ËóæÛ¥c¹®ªXç)"~ª«R¦Œ`»û_ç[iT8ü­ÖWÊàâ¢m»½ŸöZ—uúd†E4ûôÓO`Jååfë«_†…r ¤¬·¤ì…Æå®ÀÏê‡#‚ŸÝÕ5æÜÖoÙ‚·FÛ´¯dç"xÞ ùû©ê)Ç.,P›$2Ú@s¬Ÿ:,¦¡è²×6ƒÓ”RPäñ)Rn<`6—Û‰G±Þ@ÁlxU‡Œ¢<‚3¥¦¨³ÆÇ¿ ¹øHëO–Žƒ‘.ÊEòÊ?'µd{8–‡xº´ÐÖtæî $0™=‘oË­| êbØŽHöx*KO2åeÂÝ4_¦>ùÏÛõŠ–CÁÄb*KÇQ ¯/”4ÙjƦŒ@ÈJ„“ñŸóN\_Ymž¬(.ŽG†ÑM±{=•K »Œä}\Ã^ÂÈKÇtÔ\«ªFˆ•eŒ«…õ›¥`ê¢WÍçßw± FB[ŒUÃd×Þ ~»2 ßÓä:q“ñ˜,˜ƒã¢’Õ±Ûï°(e`öŽ}ŠBÕB‰qSƒç³1© –Ýgžme7M»§!¸[EÄ>zY™~x6dÞ¼¿YÜiÒl5}𗍲nÄÀJ¥+ÚÕ?ÝÇZ7ñ­b¿8®ãÔ³S ”PáRÇÂÎäo ¢¨ ` t"RÊT{¿ŠÀ‹õÖ÷#À8Èyš^K}Šô=’µS3;Om¨UOžê íÜíFZ—~V¬1iXö ¹ ”a#’âM¿Þo…zÚ5=dXë„æ#ñôÅ}ððahPÖùÇ4ð¤ô™¶QäV+x;DùãÇJP^…ÉÌÉëQÝ"bË\òáXÅSMP§«7ÿ‡¹?óÛg(? /$ KDAÞÿ»Ø²· ì¿lH/ú¾w{};×Ð@¨Æ¤Ø?­z™¾c–ï»k3«hÍEñsõ+«ëQ¿¿„0Îî¨ÇsЮ&v¼ßÂwy*TdÆë_ûD掫«â¾ãÒ‘Ÿ5.‚~ž^e²Å­hñ]ø(/zõ¶uæüí&Èx´Â¾„ë{‡® =ÿNƱ†b! ¬?ÏcPw½­ ÑC–…§M†¯¯Tü"«:þ_dtiJË=B¿8Ñ £¨í‘ÿÝ<:§Õë0íÇ>¢ÓªºU[¶md–û‹ƒhp€ÀA­­›/*x3­¾JÑyK7ùöM û‡Äf3êAöH~‚8³¤ò› 7…4ë0Ô ¢‡:58\˜àѳ’]O²|gÔZìíÓ„ŽŒÕ‚ÚÆïBo)VU̯G!’tÚ"dÔN¾Ü=ÿ4Š­‘}û!Ю'•žø˜‰´÷×üfËSé6&̹=’ßJ­« —Þ?HK?5š˜Œ­4‘ü?ZÂŒD™–Þ›ow#?o]Þ6UØeÄv™ºI:e|ètÈ©·Üu2ò°|Ê[ºŠü{†5s^n{{ðÓ¯»F¨•N±Nb7#ƒ½BpF7U[R5›ž›³ŽiDx£ôÀáˆy ý¤æ ¼í&j1&8 èãs·dÀ4ƒ¡±š%gFž~Ä:òÑå©£4\§ñ''è‘OKpg]·úD³,q„Xƒ[}$!r˸ø ¤ˆP„QR““Àû‰J¸‘Ÿ‡)ŽÀbÃ¥Ç2»SQÍDfÊ´ŽvÊj­xκÏ_šOq’”ùßæ2-6ÆA1Ñ(±9™Dõ:˜k»üG'ÑhâÛ§ | ü¤£usÿ»tÞgíž”JAÛYÄÀÆo6 “íp‘…æœÑám¥íÛg%¥ÜEgâÀ.ëb ù¸“žß,G%–9¦ã®=~ôþ }»^Þ˜°™•·ªG&k£ÛšòîM¾¡~Tpò³¤Š©Rßl²Ú›Îa# Áëää9ÌÛ‡ÓÞÚ;_\ÐZ |¹ù"`–;:1à±Ø}›²¡ºz}ºûá6–Í ^ø_¥´/ %T .þÕ®"0b+Lå$à›š ‘B pãÉÝy Ì !økäJ©=_jmáô®Lâ”)h¨©Me#sA(|4H @ÛȯX“SˆIêòóˆB»snÒx[Ä$òù¼~!~¨ýÆV‚O+°³£ùÙu5ªÚà”œûà5lâú@—›Q&rs7˜ß»ŠØ0uVL°ƒÇ0™°«ÏÅ]îÊÝZ³¹…5¯,O+uÃo¤UŸªÕUÍOZøÄø=šb`“pn Fhº™ “ˆ¤Ç@|0§‹µN»ÓêožQ47ký{ÔàQU•’”“ͨG.M⣬ú)Ÿ1á¤Ýr˜ɯ¿ÈºAä jÕŠLRª?a§0g„ތԳfÔüß4=nªî_H0ýÇÍioÁÍheÒ{š+“—cÇÇe{ÉêMIOϼÑéN,?÷Ù¾´Ã€¥õ“·næm¦ª¥0Îß°>ÉC;Ð €lZ¬&ÈÇd<ø‡”’C ¦­`7†­Ë1ö7 ¿ék‰|o ²ì‰žgžìí¸1BU%wçpºû‚´€ívnÿJÛG”Àaöhnw@å†0Á¬Ú$ª×çW¼JôþŸõbȰBUô9áCàöâ\py,W‘¾Ôd5 ä(ó#˜kdŠT͆ÁÍçô»UTb< j1—$õÇ÷Ê™ÐBhÓ²\M?ÒÄ(³Ö«¸R휖܂á°.Q‰aɺål‹Þ^? /%ßÌ\1 ÷ƒLì€Ý›N¿ú^ï'‰ õ쎒×Õ.V>œòãG·;±»¦D«åã*Ñüë±(›"çÜ*yÈhöOb&+­1ï‚Å?³,NŽAkJ,¹Åªfm.HÖÕ;Æôq'Šx1 U×ÏÈæ€Šì/qzi=EÙÐ8ÛçüÓ ž,ö€\ËÃÃ’-+<¶&Iè³b¶*{è­|މ#èlÊ¡À𱩠õK.ëå4°Gn Ý{U€…Gý0O¿ãå¯q〠 ¬Öα»³žÍD.Æv¢õÀxóÄQd¤öo¸ñS+Ý8V¿ÝâUÙÄl–Ê^to4Œ!ý|SàÖH t¢¬Ò¹¢òùönΔàEÍ'zåîìú¬¾çÙܘ~´7„K¯!n›!qö¨b>À×Ñ7QHÝ”—žÊ»„ɹÃÏ÷©‚W[FʧRWçÆ|Ú}O[™0¸wäzbòÑÝ=;ABd]ž“ýÐÙ-Ð]1¸eíX‡Øõ䓮㭸¸wbÛ!»ÆI–X—>ÍWN‚¼13(PH…PèN®´¸¹y=e ÌòªaȬF¼´ø$Rφ¤Ÿ½¦ou€NÌ,˜F‰ÛЗF4%Ÿëkï])@¤eŸÿËx‹ôSŒ‰ZBQ ìøVz2úæœbñâÙ]ÀoQÔÿ i:ÔÙȯ+yÚη²2F’a@62)H8“;²&÷ñ˜ ÃrlÓz>®™ôœùçë?Ï+Ï’%ˆ$úê|%õìMT?ïŠ(^EI KùJiÝÊz V`};‡´.ÅänÌC–&×rU¬B¯‹ú†Vï-5g—š0²ž(‚fbCIÔär`©”ê皢ºhjkBŸ®ý$`ødé·å€¥Æ"$3 |f‡]ÁeT›Yº»0ç.‘àvkÍ–§ÑžŒÙúOy ;ôÃiÄ‚„­j³ÚÃ!à›«)9l"MäÖháü[`˜¶+CÆJþ8Iü !0½ëSPí|çÐDǬ¸¹•ñÓ•JØUç«Ê•žë™À3ý¥³9“{ìjc\L.Ì"¯[ê­y“F!³\H=Ê%°4½—¤gPe4é5\I´:ªT0M8(¢zÎÑÛìçȺî°o¨ðË´)@êÊyùš°5Qw”ÔMO£1þ+*£¼\ÕÖþxOeØã’jÍŠü>9iµÀÜ‘Qúœ%M>àŸWeÆ„TT ž ùųåÅ‹zަꗺ¸–€#Ž˜ë tÔŸ`µS°2‰©ø3ÞŸ¾¼ô^^QwˆòíVц§B“Þ_]xN-™‘@HF‹âòwÒô•éÃãÐî<ÀPinÈpLã·2Oéé¨&)PšuœV` ø -#žLõ¦W#$Îvr£:Ö'´?º¦ºDÕu.Y¿ïÅq¢TO­ óßÒ#Ì1o6Ç0uAÉNÍLùeñ#LaÙ„¶\ƒÑïÕR²ˆN¬º¸îÐòê ( …„ZÞêð…Å Å阱ù×­ib|Ém?ñ,¶GŽC‰J3ztABL6£é¯cšhÖ«Ë<5ÙÓàúb{KöBøCÌÓe¡vG—7,Œ×«öBëËRé>fŠW}N}Vަ_ßÙ^üÖoJ7½žyŬÔÑšœã´ÍWÃý¥„NÇTêìhVÀÞ O/"‡ÎÍß `_´­-\‚` *<½G?)Ò³CP\ì~] #ã»ûʼ¬@înI¾nÍîhÛž4¦y}ND¤0â¿޹—a˜Ža¯<¬¡Ø'´÷oÓÖã°Ù#0î0.!ó˜[¡0ôAsh©‡M )5ß7¼²Ù“ÿ¢Ê‘žXlð2Õi6ží›åÂBÉ í Ãi„(ß{‹J³›° ¨J *–U‚©S ô„Ã{¨Rû_´+k58×I{}ù- °Í'†ŽkiÝ«•Âc ~¤dñYs5ë]néÍFUvlýéc ßåëp¬þq[¥Ùr“‘"u»?ƒ<±¡:}x†2†S|%bbÇlS™ûÈöÃ&oÞ’O«áj5’½V±Œ{`N$wеÿ@0Rò¬@´7Š> Kîiö˜ËL#ãÑÚŸÞiJO2;=IG%Ðs •uã¼QÉaJ' ˆ®Â(…ª~]ú–“[Šˆ.<å<9™+7#+.Rû&J¯Ô;´ÎDp¤‚ÖѲ×4x=‚ —1•ÜZÇo:º«w/v¨ËË£:¥¸„šDuÍ‚z¿³oƒ3ëZÝH°ïaë\EaÞã ð‡ó%KîÜ}Fˆz±+¿—¢7Ï, ë)›ÒÎ×ø9(ƒ¢f4D}OS­eÂj∳äp”ç<²v[5¾#V3iiŸO7šÉ·=khmä·Ÿž!”ömRŸ,ÇÐNó~e#%¹©Ì íðžY€Æ0÷ßkn(ZÏ2ØÐwD’«‹pêYƒ™¬Ê ˜£ï‘„sáÄù^ªr =Í6mçUm½à e³ÐéE"¯I›…ÒºX„d¶Oo£fÆM—̸ؔ0~'×I+b;ÖÎb˜. ¥^°Œ(óÎu_ýj[†"ŠõIºê'ûé-'¥Ô±©w÷®´u­§™a–ÝMÚþJÃ+"¢³Ù)Z'ꢱx;EÎ ¨óùªE„Yö#d¨¿€ò_¦šÈÙ£ë;lŽ+Ë>šë ¤I4¶¾XìbTêè€ì0ui¡cÍ?L*¥—Ä6$ȰXYÙþKúf¸…ðÉ®u”6¯+ëRä ú zrÿo1ÔL®¢ÈØ’Wl‹ØiWÞö[týµ'9îf½¨E 6{´}hA©°ê›wãD6tî‰yÓš²Ǥ’Mù+ÃHÁ§ãù@GH –ßðr9´°‰lz£é]ø»øwfÖÓNj?ø_­aø?¬ÚciÁ"*Uï "z–†¿„¹6QçÚÊë1 Q”Ònœöòßù9ûŠ_ Æb!§6 Oáè»z`ã9­˜`¡%è!ù2ÁuñÃïôßé(ír7ÃBÚbýÍñÛ‰D¥¥vF  Þ܇"MhïRiä2ëÛ¯ÏÎqÚ€ŽPÒÃê(®Ó í¡¹POA¹®…ïüïíP›…ûõÓ•=¥Íç­‡²–*‹˜vŒ‡Ë¶~^…ÐÝ&€Ø7BÅ´ý“©Úä:é¿ðͺR‚5Séd³ÔN’Ù·¦Ú-‡Dѱj§†·ÇÄ«ú²ˆuÉÍ Ö¨ÔvÐÕ…˜ ‡=Ðýàý aQ†ýPwÙ÷õ©CKáõ×z`mGúûÒñɈ·áÈÓ²ØÌ¬Z®~f.äÀ³Ç ÷lÁØË™çè¿´µÌxÓ“A°RZ*Ô¦§}Ç ¦’MÛj}.V6Gél[V¿—¡‚þ÷Y‚£á—‡gWÔ̾"ÐÁ¨ãÕœ¢æ@ÅqØý3àÏÚÂ~X(|§¬,Ü_ñœ8‡Ì:w\QólenË&v[_xú‰àjœw«Ú’44{Õ›`¬«öEt¤P)GÖÊwÑùÒgÛ–“éaÞ a—÷‚UÑö7U[*¶>ÑF½Æ‹åZ½A¶íìbè\¼¦Š0gßç«?Á bgÀÒß`6ž»ìhÜdtd%|Ϝ㪢‘•¬G¡s´‚~¯ B5ØíDqíTG›fÁвã­óf˜‘%œÃ)ã)Èn+¹z?šmБµ›Âƒ+Ø«˜ÏòE¿ð°ÌmëüöªoÏL¶W4 >]¬v®ägÑDEX”ü5b`ë3FuXºMÒU“ ¿ê7ˆœæ^tV`Þ*ý .¡ÐŸ¼‰Nq]›ò :ŸþµÇ YÇj¥½¬©ˆ©@B{(˜¼OŒ™€ 5hh‘hPq³6IG?-õ ¹³ÕýCËQ£IÇú÷€VÂzWô‡ —<Ÿþ „¶f1° žŠ4 ÜÙÝOs °Ói J*¸ÏìÅ1dðyR @’FÝ$˜ˆÈê•^MþÌ*« ÜªÁ5Ÿ/jcåég1ÌÐ4w[ØJú™<}PRâYgœ"kÒv,¦ð¬±Õ}Ä—Žˆ4|ðµúBÓ=#Íì¼æ¿ÒvvìY¨o'?&b‡ÑW»Nó( ¸·7[`ÞItâÒf?7cm‡:OVþ«‡Êpß Yø>åÙFØvy£×>KÅÜtÛÎ?–+BÄ‚{1.¼8¾ï«í(îv³öÈìSB„iêÜÞªbˆÆ©ÆÞI¹Ltæ‡v ³ðø&P`_C€‚Ë©¹È¾I†sWìM#æ ¨aûvú‚‚€“šùwÓZuï!û¢xã»ÆÜPr w¾¶«ý™ÁóCÏGX^ÅÌý½U°Ûsþ| {žØ€úüeû/eññÙ|š´éÍ}fKš÷ ëJ²|Ù»3Ⱦm÷øÒ ±¡B‰ÍtA†ÂÀ4û£˜7åQÙÁæ÷PŸ½5ôJ±G™@äq-“”†6::LE‰ñ­• ]Òƒû±V&^µùrU¹8„–Òø¥ÅO³‹M›_{÷^u®[¬Ôh¨Ð 'VU"Ù‹qd’½L¿b†Ø3á4Ë/â<úæ³—¬_ÄíÀ7f™÷–B)û2÷“o‡Œ‚M0óÄf´¾!ƒ€ú†ÝÄE5o!b­„ýY&Z}š\<ÙE‚ {r7F×éæÑ¥7f Ì›Ñä0Ó¼í^V5Ô8²Å£¦;™+´8 ëŒÂR—ÐŽ¦[Í.KجWa-M¶cªÜ—ÒœÔ=>Óyz­ åF7Ïã#Š_Ze.:b5+µÉðc™Ùߣþ`‚äõ[€cPÐ^†BüüݤÞ=û\Õ’­Š#‘æ°Éuyüi^YÇ’ôk~JTwì¼é%ëîïe§šëtC4•LÒ;¨Þ8ú9Ðê²Wýáu’½H6·=.fÅ¢(¥ífy º!.º ´È*†Fy߇‚^˘ÃÚªÕ­ÜëRáCí¢¶"7 `Æ|?±½`Ø-zïò)riˆ#‹$‰T*&ízg3‘Ÿå"ŽÀë^ÒΟ d(S6âµg «CåÍÖ€Ówmr¡'ÚšRšÝ‡hmlgv²Z™ð@x nŒéM \²wDáOiÃÎÑãÒÐÂùÎÌààÛG¨ß4'.•=ZŽÉ<ŽgðÇZúˆÛá®SRÀãî$É;Ó½ý„.n–£OX.E/P% l.£Kn‰þ%³ÏÜÄü™|hó7V¯ßeR»uàL¿á¡×dv8(ÉZÄô[º§¿hœ¡V.20k:y·à„};â§VîÍA¿ªµ¢ÅáE°ƒ{EºÉ„\^ Á.ÙS·§£O¥ ljF°Ÿ‹Ö9±/¶üKw>dœ *¢X;Ôgqê×N2€Ä-òrI‘Ë‚¯\FŠ ¬ÿkÁ ¬ápËè2]%åÅSõë<ïY]zÇF†0á6bÃö#¯ËÕgÄ&þ'ÖÁäªðµMOÇ;XÎk²0<¨™9“Z´îãQÈ$žm]nóqô‹Â\~ ],Ô,–ÊòœO ä‰ÕˆÔ×)X³2Cç!¾EÉòÒÜÛæ½€ $“%͉@ÂæÜ?×Üݱ•”g?JÑYlòý”AOy[÷£b”1¿Ï¥*ò·$IßI=.0ý-lz£8sƒh*5PØu|(· Ÿ p¹®øøÈÚ „uš¢Û)- ë³!¦…]2ø”IW ÐúÚ¾«·Ô·qóŠSá~ÓÇxHÖém|Qmб€Ã«Û3ÙÑㆉØ[>òÏÀ«ŽRÌ©Áwö9[tw_Àä8¢”‹ñ”M=9ü…¿Täá9ÇØp‹Î ~Æ_ØÃ©ãƒðßñ0¼ç ’†Àu‘‘À^¥teê^.A&OÓÃÚqð›EXt”8Þ>ˆ‚Ý[na|’DøµÙû£i“|éIJ0ŠÒbŸ¹s@.År•á+ì[Š^ ®¸.Þ - ]ÝŸç.EåÊ”š«ä~‹#7ÔXÞîö¸µóZm\­ÆǪ2 °#ý4E·äÚ®¤¬ GZ>Ò'´„íâæŒ[8þà{B2É·l «;úݦÎ/ˆBNØœq‰kÒÏžþW}ÕŠQ†R#î,5æ|£À„Yl²Â¼óÕé2m¤ãMÔéÒo÷ëÒê*„Ò-ðÖÅKâ|­”ð 4 - æÒ[ ì£Q_$MðaE›]M`dL }r‚“­ï5/ü0¬7(sž .„;m¼µ™R›oéøJÄ„ægBöªðïkQ‡Q'æÿø´§VQg?r!69€Tºã>fr“é¸ïÿª˜î)Ýù"™Ñ2£?­1JE©T¬¬ŠLÞÃ’©§ud™{r¥Lfå™ô>|žÙXvT¨Mnyý©©ãZiI4ݱöWÌ@$!Ø‘ ÐE¤+¨j£¨™¤»‡ŒªT{[w* j–î:~rëg©·«tìròÉíE™3‡wn‹‡j-&pÝ ýT¦V`?±ž/ÄU^F åÈ‘•ÆzzÊuÝRTŒ-X2ÿñ›eMa‹é÷GJP €ÂçqþøJ€º©ç°aÄj a9z‘žT³ÚYÿºbEí¶¼ó²ô9£C1Ô·ÕQ…˜Ú…äÝöFæ¿r}Ô9)*_¼ÚȨÅÊÌ­{vÝ%^„ƒŠçðÖŒ~>ùtžùR¶Â!¥µBíG/š4‰ú×x´ø_Þ>÷ëß 2ÿ#›MEŸDi“o»IýÜyù6*bâÐK!X °J} ”fåÁ/@Öï4“äÛÆU½ä01Kûw+æxäW2uGh>æ-Oq ‰Í¦¹oϽzȵ9Û·šËw«œ> ­/§»åE?$Û@ Q‰‹|$ƒ<Û Š2 JÅ?~ݰ‹eæÚLc -!' $7…¥ÁTkíÇ_ ;F|ÕÞ1=oU9-}F¨:.0Ðú˜á«¸Tc™›ëÒ2†…¢X¿Ÿ³h¬£xQ ¾º]ØB¼Îð«™‹\º\ãÞþ¾B?©å+%Fµƒ1»çÀmбjt#Ñ!f¬Ò’ÉÄ•Ýk<¶yͳâЗ¿ë&áX0Á79÷|sž‰\ð¹òÇEó·nú8‡&ÕYn'‘:à™hqäf#h½ ùš¤pùŒ–c.¢”…¦O 9’çµÿÃ꺼|â²R?+Êñtù*çÁƒ­*0™IGâ‚•(‘<úíÝá‹/pŠ©.trâïPêÄëØÄƒ8lHÂ?“²;âêÜWÿ”gÖÚ±®pú[G ý®Ž%W¶Ábʰ§I—ªïü”7…‡DÜ6&†MDâ.™&އbš•F¿bBuNµ’­Ë+AëóÛà<‘ÝZ¿T;ƒŽ:€¸5ÜDßÖPçľ´)ÚÒ•í6ÇHrÜGG¿ œžsHëgt!ó9à„:€£'æ€í»REì jótÛbØK<¤?ÈøX†jëݬ|´B›{©â"Xq#y[*´^ŽÞsœ§t6ž 3:ìUÒ\“§LT»¸KϬÔ\†5 ©B˜–>gFì#d™S:ì®›G…æî æ™»ù \És lÏJcñˆ}µ‡›ÿ]üß|”QÙ[CˆÚâYšÙ ¶å†BR#ø?÷œ¼`4x§([áUl<çÁCÆúD¶ºéf`u­0hßlx@?šL¡_ÎïGòæv§ñ£úÜ×Ñn7f͹©±þšÀXÉüÜìz7AÀŽ&/؆Õý¸îkEίdo¡È@z™7úýö˜ØÉMÕ‰Éyù E"Ý>ºËºyæ:Ê‡Šª{²`Vªkf‰n*=Q?èãïGRŽo]+ъݵ÷\FQ½îÛ¨èoí8t´¹Ðï—sr¶W¥ä@~7]kKµ‡mí ÊÈmŸ[úìðädK;qeÖÆMÌzýN®M×±nþJLiÀi+ÆkàÖ8œDòò˜8w[êVI-ޝýÕJ²¡éxbLpâ§±¾hÕ(œUîFúà×㿃¢(2ì² O®!Î"‘ƒœ\M=­A«©†e?e§ù˜ÖA’eEqÀºî§ÅzãIì×ÕÙÅg£“”*cò…1XÐZ`‡ã\ÆhÇF7ÞeI>œY¤´~P”~õÅÅ¿R­©çàÑá¡H¼È|w·¨tó![ŸmÞüjÐ °=ÿÅ«¯^ íˆƒï~d“g+°¶ Ž<ÒcÙ»(¾uìµ€œ¹¹€Û…„Fª5B5cíã„+þ0oOÿ7‹–/z°5_æØS¢÷W¦\p`¤ÎƒîÿµËóÞG­_^ ,(¤=[_a–úd6q™H::ú9GøÑˆ‰Gíq¹'{ t-O sÛh¼»Âm“o;9c9dòÍ2id¦k5Ù®”³ÖÐz2Äñ\†”W{Î ¾|zÔ,Ùòk¥#[¨’Š«W*eRÕçñÉ_}„_âÀ˜ W1í}£úI¾ý?:Î8Åb'WÔ¾óc"\Ã0MµxrþNn+¶ßIu/nìÄhÕ§%‰$kh$ímŽM¶>vWH˜Þ2>B,Þ¼´àeä\=:ÛôåôàìEæUÂçƒrh Øp{t•ðÂP¨œ;qgåjz YÆe–Eq_ý*UIò@^Æ­tÝ,ò¤± $žÙLsQOr¡u9æÕŒ âü>Âp@á2ŠþñÏc5·|¦uÕ²ÇÙ¢h€OTþ Ô\_ÉÓkÀ[ô&G¦;pì;Úù™ö¾c‘Öš¥nH@ô(>]­blåÎäªõò^–nи¬Wal ßuNeµÕ‰¥àIÎÚS1aË5 ~cõk}ë²³RÍ9o¢F#¯Ð½•¨?ö*A=þîþˆªƒgZOeÐÇLYÓ!ä­Ýã^„ç6–+RƒÊ 7¼$všh*ÕJ•¶5!,Å…ã÷ ÖÜ|)ò¡À¥Û”ž—ÌÁüu-Ù5Å_2_€ÑL:x’QÉu“çx“Ž®ë¸`m’ž+ŒÓ`×±áÙìÞqŒ'©˜p÷iãgq°Áý—xv¤Áh%—&‰Ä%D`ˆô…²9í[°Ï‹øßùû®5b b)G¦OE&‡ù2=ƒ¿Šf·Pí܉¤L©[7æÏL€ {ÑÎ~AUqÖ»iɈ§GÚ¿Ï3<ÎRä³ô!™ô'ÄðæTRÊ™yú ´¶g ”Ø )sc«¿Ø8ï7,šâÉ­^f³Š÷ð4'|Ö¶ÄçXôåüô’Jù~ɇie ñˆê% ½ ¤¾ð0±Üä_‹€Sxl.¹ ,eÒtKÛ^4øÖeJ_ÙÅHúÀ‘ò\îR‰ò­Äži •D .ÈQõmjöìzä¹—v*ÀEâÞá3È̃4,ˆªfWg¬— Ñr@ˆSjµ(©Q#ª³oJ”wDÏ)ªçf“,Æ^ ¬¨ý‰µ D¹wXÿz0[§ÛÜlÈZÖ&^ ç/Ež˜Æ™ É»f(0€MéNêÕô€ée:l!3¨•ür.`H–a(CŠÎ’%/,h¢Y_äBµDè|M¿WŽþ–É'JópT´ÀY¸á4~å*¤¡|*!õµ±qõÆE1‡½]½9†y¸Å‹½”RßÞWMôbõ £OY`^è"˜YÔfPj«‡·ü¡ƒÐ&‘JêÊ*§ŸWCÂÇÓHÃæqÙ~*x¶zìNçÈ*FtÜ¡æ”Qk±ž@–­!’èƒÝ”£ë¸Ž›å½Ô‡{p}êW)% èÐO†Ü`r$øƒvqÀPî<ÑèΚ!¥øüUŸŒ7‹ BÅ5ˆ¯;Òì.T«"v~â¡#õЪº°"Q¿¹¨Ô›ÂîèMÏ!ÎýL@É$R#4Çé ¤sºRIâ ¥O-Ú™Ÿ¡ìŸ‡‚Æ¸Ž‡Ä¦ô¾¡Dêpat§v,×G%'›ŠêǦüG0Ñ €ñ°Ž,¼¼ºÙÞɬû«#±ëd_ʑԊ§™Æžî'*`ç HZ*¹’Z§1Žîb¿©D+K«2Rðû¯h‚4[Á,bgª[u)10ÛLÎ!`ÿµü‚råe/®£lCrcÒqa)Ún.G?7è—Ênƶ‡cR]3µ!/¹´v“AÒ„P}ðnØÉ_g–¾~¼aRLZB·Òu5Ów5¼HÌU•Àý‘B»elÙ!öÉo©…ŸŸ*ó†oiî9UTñ_ÈXs둯Øëv •ØÁÙµäÔÒ)W$6ÜÞ§áü”Ðê·„]e¦P_Ä}‡ÿÒsP¼pvu©tâþ„wJ¶&€ÝÇÓÔh¡¼:¬‚F_B¥êr ­ÿÔD톯¬&Ú!uFQÙÝ2Ê> YI— ’3THa¦î6î:à  k¾ûp®{Îó¬·&gÀ ‘4&¿$·Â•ªC¥y¤ž¿¾þ'=Lÿõ”ØÉ ö%Z`fƒ¦slåqø»<·šˆ]Ò Ì/Ê#õ˜ådyËw#„.â¹_³Šn:± (Lú5€RXÐ`ÅþûRäà ¶m+¬·G˜o<¶`ßö.QSûˆBøã;’Ÿ–AžÍúþU‡p2k$ƹeç¦?Z Îãòµ È|‡IjK ÷¶b¨ökR(¾Oiú{9ú9§üO“Ðpy¬ƒ ’Ì­ÎÐÇê…ÏÊ‹ù•¹É(¤Æ’å ÕÜ™˜žêðÀw°°7¿‚?ṳ{dªqÒW)J:éyçZr©Ò„Y’kLPÎäàóÏ9µ3Ðëà“üˆ“ˆ”vñ±ênúw*?~Pág7­â*e!ßýH—…™°‰~Ú¢ÙšS×åß«ð®=ä|^O½2«ñÚíú¶{è>k´’PBëñBFܬDTª]VŠ6Ñõ!õ?|]M¨ì Û°'äìAn™Ë¤1BÚÝÚA$1C] &4ŸdùkIS>³ÈÁ­Ëù(»Tªë·sô¢u×Àë‡íÌÍå§ðk)8—IIu€ÌÅèËxŸâylí# žaþtY]éæ©¿º!3:·BÔI¯+¾0RÇøvp™É‚‰8‹)Z*¢Æ›!ég/±M ¿{P Ýœ¹ÍTœÔ M륃¶-å{`ŠŸÖ¡ÊøÅ|uÎUÓHØÛ áî¬kÐS:Ef,þS’:‹„¹c¨)›\K]Vñiùšþ)–ѱãÛ ­mÊ®YáýÞN´¥qÖS¹Ù¤z]Gä²d`ô–5éOƒ‚Õ9¬y›¯æSN ¾&acБ*Û—£"}«1yºå¤÷ Ì%(—ë¾<ªrÐqæˆw6Çÿ#fœøþHM]ÕùÅA$f…ìyv ãäiû#?¸1mà•œ"”ã??a~Aâºx¥)ªp³¡âÀ¤ îè©nº›—¿‹ðá ›ÿ¬eË]Rè3¥»û ½> Ý'´Ïn+hM!–2¦TJˆ‡@’‘$‹$iõƒ‹\éb(ST^÷ŠÀ—œöO#éýªA‘¢To5ŒÖ—Æiëï7ƒT7Å7ORvÃÎ…Ïý~ç­°ƒ¬¾5]æa‚" &D UðýMc¢5=£Ùm(®>ü>-ç³"\² |Ã-W-(ûèµ^üh,TÙŸÄ'»Hft}5 MQ,‰€Y¬¼èYdòÕ'§é%X_y»÷R¤ÛTR7\%hgºDPRØ%ïª9aò‚€&ØM<ã"·T®ënö†ÆLNLTà™¹zÉ ßÙ®ÝUŸÌ‘eÌÆ\ÂïÙ*@Gd–»~èiKFÿ–æ¦Qƒˆ±)”æšOÊ t^2È*°“ ˆˆç_ºÕÁn8^E¼Í_AÝ!_ýÈd]…ŸŒ¾ÿ*h^¾»ã¶ÖVÝÐÁåq[ð4IÂ5´È]†r– kªÉ‚‚BXcÔ+ODZb^­;5$™ŽÒó{Y'ìŒ!\‰? }§šÅ«ëÖA¥Û é™,GåÃùYѬÔ*¾Œg+Ym¢bóAÄÌ)š. ûLÙš }E_7lPs”@¼•4¶—Œ”àWý´–^sHe2{Ï·¤>Xè&©‹Ÿ AÃLV9Èø}3†pÕ ™æHˆ>•|Áwïì%¶€üÿ’$2½“> ãú‰æU£˜TE ù-SÍcŽœR!A+PHþú"®V‡V8Y¡·Óúáå|ð’<™C§û€€O¼² 9Xà K%¡&œàâBÇbÞ쟹±­ö„'>x‚tEÄžÅ*>hPåâ4ª=¿í†,¥Ø,‘8Àåý¼Æ£[¯ K^€ä’¿ CÙЧŸ­›Hgû/u,n3OiÙWa…L²XQXÆWŸløt§«‚;ñà䇄*•6 >cØ+Î{[ôÃY²“Vºò;,§’ãvM8}€Þo¸6Jˆ}û‡6õ‘€±jÓ”Ìߥ Ä~b@B^qÉzL”£‰rIA-Ñï+ú+ãpÞsÄœosHÿ ÿ¤k­­&R+.P<íeëÑÒtï»™v.vÇ­x‘棄Úô´”(Û÷ ~ýWk²Xò íâü?&¾ŒÄœgELÜ=WÄe.¸3…¯£Õڀ£döaL­ ØdÎ/c¢.ðÝe, t¬}é›IV;$ÖgBGùG'’ET‹ç/«~Ö Í›ü“Êùxgnd.-”ÌwÏß¶áü£f6i;ÆÉ[bÜZ´‹   äX{SÌÎ4o½  ë+bq—ÓU­ZÐ1ùÜŸk=â˜LÜÚ²Öó Q°æ-[´ ì0ŒÜï©h´8ìÞùÿްwV@'î6.^КË×¼híóÆ« j¸8߀¶L¡ \Hù§Š3‡px×G~‚kïálZ™nM˜pÐá̱a=§Q, . Á “„8BdsiÄãz¦ëU ÑBK¬ØÔ@Oû3²eVÚß›GÍP @Œ{°CÞæôÂîàpë7 !c#=ÄØF³(Ãß9p#ÇÁcÆφ“¬»½Ô>v¥Û‰ôSuž|V%>õV—'ž_ÁúJLJêÑ`»¤—T=Ój÷rëŠ|ø±+{s€£bM¢pŠáJèØä\ jÔ \  `ykq¨™…¤3ôRÞç0õHÉ©áÝ)‹Sã–ñJmŠ8 Üøu*ômj·ól °€#¹ÆÉÈ:îÛ¼jZ´o{¾ë\„ðM`9Y@CTˆõ»þ¬ímà§*5wP“Æü¬^‹ª±åÌr‰féÀœ²»Ø9Í”ó hã6uíV=XŸ6…:k˜¬†Gº§6è¶ôK×þçäy£›ìAKÊù¨©å~24* ê’â¢ovmÖœù6Ï»âùd²b"fÞŸ}=?âÔKÀÎÝȸv±^Ÿ' 2öÐÏœ”$0½•eÊŠrà:˜BYhÒMìºS’A+¿FðœLàíïä*}ÐÌ•tzÝqœÏ¥”+€‘jÈ!,_ÇÛd|‘êÓ»˜‰Ç™òí™îºØƒÞ‚X–u–qW3ºË\‚Js¥:-Í—‰¨ÄÑ–ïc2L¥ôtñ ω½Ì56Ã6J~|"Ê I°”%Œoù d:ÃÞ| i@² ŒØMA¶4̇NŒ[Y\$Œ$Ûzòáºt êG&ë:ÒÞx¥ª ÷†³Í0sc™°6:ú(@Üš•Î*}äèíë¸obÖˆþмÕyzžÛ&Â,€…®¡Â~žÄ’$:?|µEQ¹R1%ræ[š·ýåG›] [M®»öTöÀ»M.f`Ô„IDË,%Iuj×ÒúD?}õ$èÄZé‘Sëêàæ{QÄ*Ò4ltñ\îþk»åmÕÊ LÝù}V™ý˜‘<uZ ³v·ÙOy×ú$·ëØ¿÷{µ0œõˆlñh¤¬$E)7+ŒÙwaÑoƒ~#,ö}柱6ô”Á@Øë¼Øâ© ‘1Wþ4ņ-qG“9wÆNm’#®Wí(ñ¦ à¹7<Ͻ¸ØðÒJ’‰*x«l‚¦ú~Ò~ꩽ'ä‘ý>©±Xû»D«P…†¨Ð/µ\%”"N‚†]íhŽThk«#K%å*»Z¢ib'ûõ¹ç:€YgÍ9dÎÜJ„žíG‡Ôµs¸W[ô³|UkÐx‚K’ÑxÅIçWêÊ ±žp^òäø´\1¶ögpìÀ^ãùFòདྷö£ì;+Ì÷ðžl]/Æ7=ù¿<‘ôr¶ÎF7«ÔeÀ>È*íèÉ_ðš@ï„#ú$»À†DÝeÞ3‚÷>µ–ÀË`2}ajõg”¹Ü‡,K@q;áJʰ¹)És9–.B~*[%}•ʈ`”EÕË8H¬I´äÐǣʈ ‘Á·ä]!Ãßnmc„„‘/îò( &òš¿å’@˜aÑÄ/Âin¾“äwAɨ¹e:-1,Ò_XÔmn`«µÅÁAE.nÓ‹CóX©¯Ç©®Œêî'X„‹'}Y5È à&~;þ'¶†¯¨õ$Ð$£<í?²Lº+ŒQí-f¼GN`‡Ðk 1¼áB° Ü…TÆ&Œg±%ÝÀ§j‚5è ^ÍöM§L-·!Ί›tb%BZo­Ñsì`mI_õ¥ùýW•„×W G?I n‘@lz763ÕôØÒû–,ZÆr¤ ªK_ï–a*šë—e¿†Ôž{Ó*{%;•óC•Š 1V®£¿te<ú/10›ú f5#ýî·œ05Õ˜FXúDI[ÃC:¸œQ ©PN†‰*ºs6ŒBbÉ»¤ž©Í'õ²2¤>”õU!¬ðYQ(aòÙ£D°^¿†ƒÔ?ÉÇÀé²ýó¬OWsu­ÐS ?!Ô-HMÞ¨˜ÒOD§ü"ÐJ`ÛLÞTsÈ JYÊÄ‘®:&þ¤TÑCOòX)—FÓ!›=¡©·ÇÄpH×¥ýy2|3p"™³¢×¿é¨¸ÔOÛ¸ñЉD(.¸hÓÂyëçã)’ÖS->ºŽH¤•?XÕ>j5Ý?F{Öx%ÍÌLÍ”´)§QÆG$øhÅÏÕ•ƒu ù¼G€ì²l|7©íþ#(®w}²S“r¢L©7xÑóÇÜÜ53¢ÇpM×wN,ë¸]ÖƒøuŽá$\f-‘+«UjøÎ’¶à[«ØŽ© ÞbÞ„hï…øšH\°NËhç ɲeþ°•S6þ…:It|ª_ oÝkÑö\´$ûÂnx®{QòXº&îY ­©TJ±o‘ôþ:÷¤*Õ˜ðµd8ñéb=§2£×l*2X®…Bc #2íÿcdçY¸*Àj Åc:ZŠ[=D|HQs(2$¼±(Ê­{püwÛg·Ê×3*B=r«0‰—è³Á ÿ#þlß"R³¿œeÈÝKÞ~r!š?ð”“a{ ráBÍ?B}Í^.ñÊÀ Î|ȬÅ,Ú‚D„¬çŒJÇ.(ýL´ÔÅ{ñkäÎNˆohohfဿÀèQ€»ÅjlóSõ:’;µFÒ÷¤3ÖH%!?^±µZlíü’~úž› %‚êïCµnàþDûg´Ã#ÀòÔoS/GìÀ-ñ ‰9±Üy3{Ý„{QçûÒ-$çzhÕ©}HïúwU5±ø÷bÕ¤1÷rO M?WZTþ N Ô¢Xœ<„Úó©#Nò?qÈ^¸æ±¿GâËÐÊ€NÈ%”N¤y~Â:(Ä—ËÚ_Lðª~d{Þ(Sw˜´ÓŽ»6p0ªi™Òjÿü‘ËA\i9ó–¡D¤Yr–熹(³Ž¬#ì–ìwM\Ô@E©”Ÿ„K„7IžHÎ{ÅÿØþÿiÙ H¯!uÎÊ­Z?ÄÕE 2jÅ3‰ûN¦b’4ëN“«nt3¥Ëc©êÚ†x³Å¶C-DQ¼Ÿ0`™®¡ŒE¥‚9ï!4ð]Fƒ§X",^í/*úù¨-öu´1­¬¡Þ5)ûÅ(wNÿÌWìßÃЊrÒŠ]ÀRþåŠJÞê3ó#º¦½‰/m×€¼zÆ#æmmdæ3švèþ>†Ý<7Ns.ÍuZ žPnùùF̶Ÿâ‚#˜cÿ\£ÿhW‰Vºs´èÈϺeÏê¯úŠwùÑ ÿ3”dåÔ1XúîgÖ‘Z*ÐVb'>:Ô?¥Ôº¼¶ö~_:eaY‰Ë1ÿf^È UvßtðZL‘Tež3ÁåGûˆò§Öÿ}_“.¼F#쾌©#üŽÒ={Xkßa -‰|D¿L_ãcY°ãÅ:h2œ#øÆa}­{%7kB[7jEµƒQÁTÐ`‹¹7ej¤A뉔ÐèÇ ?³”Ä4WË3‡<Ì©¶ à‡áÆÕÎTõ·ÐÆ`7@G3AÈÚ\µ¾}ÊâúÛÓŒ˜o¹½m‰ ¬•¼¬5:ÖÍÜ|_ROH P»†P–’šG€™bFÒøÖŸ<б7iÈ<ç‰ í¦ìqÿV+v\ð¬>÷¸©†ÙñÎÀ(´åÓ¡;(a ]xÁ‘Öò‰ƒÙV|ÿ¥0qZ$L; ’3Më GƒDïïžà÷·7 R…'ßRq.F¹öh íŒYÛÝHÎß२1H«Ñc¢ì ™¸ðŒÐЋzzO9u^±íèùáIÅjõί R8š¡Öpüm>Þ7®!?ÿRÚcŠm€lòÌèoìãÅoF³uªÌÍMäx—˜Þ¦v×~=´Ì4®ã=˜hb½»=O&­m¸©)FrÑú]ðå_À>ý˜’C‘âGÀKMÜéí¾&]—ªƒÊQ¡­¿’6<Árá©Z)z”*”†à\c¦k^QN Ø{„x±ÆcÅQŽdv`s\f–ê»U¥¸ûŠ…ÙιùÝc šÔ®H)ŠôÇ•=’dÓ>èO³L0F²Á mU•ÿxÑÏ›†õDí!íÕÓD5a.pËØãl©O„ø6Ùøá7D¨%'M“6šyùRÔ6dÉqûØ:žImìïê_ôβòhîà“!vqÿ ¹Q¸ÀÀ†J3ô¦šú²@̈ގƒ‹çÙ§ìØk%¥¢× ƒª4žé¥"ÃèØP4žbe- (¾UaÐQ­ˆF±+[nõÌÒE~Øéšªå:±9ºÝÄØj7£fepl¢Ûý"åv ó¯¬k–݇,þ—îAxƒµåbøÚÁ¾Ðº1Hq¸¦G:IPy³WÐÕ­uì4ÓŽ M§}„Š»Øù Îåî|Í•¦5?K+Û)ÖhÅŒ6jË‹ºÈOÕˆqBݤ“½0¡ÓíHƒìKÐ3º?·Ê*—vL[³Q‡XVÞ­ÿxÙWmT™Æyv¹—ÁÞÕ¥u#(é×WߟÿZrzr‹2¬Çs´žú @¨H‡eöÈj5 ÷+³õfHî©hiñÛ’í@ý©š@P;&›ý.ˆkûs*L4÷ —.ãÓCE´ß\5öc3‰e‹ë?‚ÉúeèÏX’$&ˆ˜ã%RKyèhk«CkC¨†[”W^Jš‚DÉEͱ|Å#'Kä‚k3‡+ Z…Ø" QbÅÖìçN±›$¯ØËi¢Î¬KòE÷ÜÛúLÈŒ:ETˆÔq…V@zÊÂ:¿†]á±=ëæ%¯ËNö+"$Pœ4D½”€ˆÑ`DË®&‡þ]Ü þõõ³}|"A\UÙ¡~èŸä^èèýv<[Ò˜•å2t'EBZóõš Q…“ž»¸#òú…Ô[ùX^8°oÕbæ ]š–Œ¬4B“ÅÌH’¬Z*ÇW×Cèiî:ßYÁ¨IÒ™ôf’a}¤mŸ@јh \¤úl3`}9yœ<«šMg7À^vR;@ÍÄqÉ UXNx#S´§o0¬ÙaI %C¡L¦9æ7À+¤Û²^Ã#ã‚•Ìe®ŸtDdÄj*“‡Û¥¦ÜÂt™µ¡‡Ð6·(9×î '³¬¢$ôÎëäÏ×Ïñá±9⨔XÜÄèHr˶ ÈŸœø`}3p–§d`ã7†ñ÷lÇk³Vp†BqQdÿ„ˆU\Ü1|ÉÐK»Í÷NVuË{)¬Ê 5Þ`I!ƒÀƒ ¤ÿ Ž™Üb( ½§Ö9Ò "«ý™päìòk‘¼£³ðW{ Å'WõélT³<^‰˜¨éÝòÆæÂ&^l-rÜÛ•€ä¹ìï€æ.âð¢c8Ò~¨Û¤nE'—û7EÎø„ãýIJóÍØW¤xŽæyir©dÝE›Ï#¼l~ù…¤1¸Û±iþ}íL8l— âE›eVú“~‚ò§¶yÇí\g•Oƒ•ÿã(ëåIO¾ƒÂ R™¢ÞÄ«–Z'¬;©*m3Ò Øë·ÒqaR–ØdÎÔ¡ªZо_1#Ç\|Ú¤»-þ‘«šr¦7Ô³B+º0`˜.\EZ9âij?ää×ñ†»¿ôþ“ ×Ñdl,jèâgœË%D÷àIð æ`Uô¢6® DàÔ"eëcß\`^MM]Ok‘éu8‘M_Ûu‹tj–J‚I4¢LD˹k¥)ŒÎÎkíÔ›€:ž`U¡õéÙGpwø”õ¯V•á—¯Mˆ:”Õë"ƒI¨ÛÕ²CÛÿ–4ô|“Ù峨¨—.€ AúÂå¶+™ÀgÓÛâðUð:‹9ø ´‘½é/‰ @ˤ|¹ˆ¼ÿ£L2g±¿¸ž^`D½Ej$ËG<Žc8bË&óßOA|„p)Þâ‘yÉz‰Þ€ ÊŠíSò j›eü©dÞD•/¾­Gš9C<ô†¶ê”¸+!¶·gsøàYÅvqûCÙˆ–XŽŠÛq§FSݦ©h±­4¦-bÐýv“íiȃ š|¼"0R}YÝjß[Ü éÏk÷ÅéÆÏõ÷³g ÝœÍCÏ(dzÅkÜ/bmŒ:z*"rj‚:Öm³J—]^:y¿¡ÉAéÞDÏ+ñÅÁ$÷¡/LAÛÒÉÀåœOÁN‘Ú€.õ XLÈè®Ós(ú¥è›Û‹ÜʱœEñ.‘Ã?ã<ÉÑ>'êé˜Ô˜ŽC\÷ŽNà7«$aá„Vu— Ãþ«æ :Héï ÚúŽÝF;àZ ˜Uß6¢zOòƒžt¥QبFÉÓö–µ#»;OÇÏKJ&‚©‹B{,hɦ-;Îù„/&º>±b¨µŠL:H†Ô¥¡Ä¿|Ò–×Zä Ä#¦jàÍRn:‡4-4õ¥ý’8ñõ¹ îú>Û‘ã~)ÛüD Êì99oÂËH?­#pç,å IfzŠ$}çÿ¯ô•`1ý èíåx Q¥ko¹œ…ÞUC2Cµn™“Zº 9c-Íü{Þì\¡Rb½}‹^5÷ãE’ú·²Ä Ñv4tx7íYþñr¶Íózv ´ ×ÎØh§±ÐÉF–ºîF•¾³º)t Ðä¼0Sh/*Rrfª3 .x⻬ JÛf9u$,{Äÿ)éPïâϳU­âˆíõ·‡<¹š)Ä72xÍ_t 8úp²>óžò20J§§rìe~P²Ý–æ»oåSŽšfÎÔSG• ¹4 ÜíK¾fݤv’t¥Ç0õQ%'4>Ó,C$ÑÀWtµ¼KHcúÅæûÏšUßÅ’ï>¥L¢¸%´Ý.»À>«ùQÍœªriÿ;gôïÿ‘õ|,dzbZÂs lU·D €Ù^ÝiŽnMgî^ÆÙt[,q2ä²pÃ×ÍÀÔðrÞ©ä:‹ë“ãqš“Ðá¬ya*êî‘]ê*Ó’ÜQ"Qö‹&íFýÍ6|oÊÁUgî·ªºG˜¨ô S†•±šH5ÞðT{‚³HN¢—Ó³Î.Xó™gžp2Ï‚Àü³[•êHZc”•eˆ`%æoƒ‘±¹Vë7 LmB†"jëZ¶ ƒÔt’P÷\—Åáîg­b>œ³ÊD“ •èÑæG~Ì,!,Ûsþ–r'†öBÎ?A÷É)^WZq$ ̪¡ÊÍ4‚Á›ÞN²Å}”™h"µHGÉÁ ‰cÚͰXDðé{÷ž‘S ¼Dd5¨ÒzVà/™½3O;ædûÀ²öú¥è›û2 ûaêë@²E§â£RÔeãÛú¹ß‡Û1™¸®½Hî0h¦0#ù*žfBª2zÁþÊÕAu*å”ú\G"ö=–à‹rÞ²tÔ̽ŒÊÏùHt»üÎU?CK‚¹…êdyܪèóÊW¿Ynæ”蛵±' hbhp¾¥üœ+ ®G€#{‡ÁG+K]zÜ~±Øû£ý5ïwÈÔ`Êÿ4#÷i`Bä=^{ÏÕhº.û %3~5æ² ×òóq| œ9ÿ«ð^r¬.Ä÷ç<ø Œ¬&•nÏ­ÕðÔ²³¦.) ù˜ÔrJ5ô Îqç˸®{µQ3E©dì‘EÞø¼>ÂâÉÝ d³:QÕìºPh_Ñó°ó ëVšhM£•Ýl†a$5&ˆâÉãÂDö·'L*ì_äµð°mûÿ–蕈)¡oí¬ÉñÈæ¬xʰ\”»ô0`‹"*mÅ­Þs ÂzÏÈ+ñªU …\'[ï‰%>í¸‡(ˆ]’Q¥'ºM>¼$X‡YGv„lpÃ3‰ý…ÎÙxw5í†3âF!ż(µ—"¾í€½Ã¸çèÐr¾ \'ߠƧ‚ JwÖ†3M¢5™câ)T[¶´ð÷Q^Ñ-t:a‚1 þ J¼@=uàˆ†Ávüjÿ”NyÝ™P/ï³¾CÅ‹ãOß+¤­Òý“­AÞ3¬5͹«³–Ø0àÀKòE¤, œÀ+o:ˆFÇ2NÔ}ÄþIïõã)Q¼-í¯ý]ã5å¢3ã-Û¡Ÿó;dØÊ¯÷ü&eO´Ãކnˆ™^¸H´q÷r$_*À™ÕG³ª”|}ò~ß'£[\½v˜ qfÈÇE6§É]«ÎÇÔèCÐf®¹H§9Ó"ØmsË4Eþ‘RªÂ[|óF"žÍ’_ÁØôãcìÏóxjˆÒ©6n"ådnGçÉE¼Ož¼3Än5·‘$ÑhYI:í“3N›ùvš-i>ÕôŒ7/ØÛÛŒ>=ºF}ò‰½?=¿Àa9ó"’EP¾ªN>*³v³¸«’²Ëâñ$7†cÃBÏÒµÚÒJo âÞ>8ó0w ­É š$zžØ‚B¥–7²ø(ÐFvŽ©Gñ¹-^D¥4ªÒeŒÍ.UuÕrÏÿ"¯Ësdðw/òìb’@`.¨´-ÀÓÒ*~û•ñy -è7Kû¦åâL“—+“¹F¨­©Ê2Oå y4­óž,ZöHeŸãÐ3 ¦k¡ŠôZb&ËÊ9 r¹O}Ïùá3ÊQøD˨ߖ¢¨Î¡PL@B¨EϰwêGzPtIEι&Õ¨jD¯&ÒÊÎlÉ8Ý:“ƒ›gŽôž|Q‚–n®àÛ€Ä]\BXÁ³P·o·ÕÀL¾ˆuop¾íÅ•ñŠ¿~æèâÏ!T}Ü?ŽäMÉ"©!™0§¹#áLû—&ä‚]p…Vç«v_…ôPMÆãx¦±jÝ,­YÞÑkL-n¡“u*1‡ÿN™ìßL¤<ÔÈ ¿p2CÖO©€ÿmmnŽ)©©Z^?¡,¯Œn6œ¼ÿmv¦Üã±_¦ï#0›ây›÷é“Àd ýâb{[â:?raɨC¹·íÍgxÖóÈh9 R5¹bW™ŠQ4VóåÉ·ÍÆ]½=û,NVoZeM«9nñs—’R?8%GÐ5G˜‡¿Úžú²ø’f‘ùø—~½ºê¸µú¾Ì È6Óµžd=mÔ“ ðl®£Dÿ^æ8LeIŽx¤c­6,ÿ-(ê*Ø·ûÒDP¢|N:“Ò?â øCÐÈ?mÚ`½K‡øm‰Mëã ©7yMwÏ¡#)¡OB#UH·˜\¾”Œ×F²¬¯J7±ÎœÕZ¯ÒR€>†'§˜3†¯;œ÷ÕéÁOåóqê_›Ìɾ…=±ô•™˜ÈFÄÎåç¹íãB6ö‘4"ػڙ;N~Ëñx$#5A$Sãü»¤öD'õž}oî!÷4NÄb…Cþ"*χõøã‚aûõÒƒ­³ž…\V+·ó_0«§œÕPÝý† {»AªÓh‹) Љù©ë˜šN+x´E¹š„­<\OÅ•)h /”>ýÊù.;N„–]­À»ÂÙÑR/4ÍÓÊûFObÓ¿§.è Ð gëHÄ>$UOÓèi×&†t¯l}ÈR›aC!tœ®éîÏ #Ö¤Ìä ¯Eúÿ"”Œ™¿iAn¶v<âXMmòñ•`‚ÅÆ!‘Ü‚_L†5cÖŽarV|0¦·*’z ùCפ@?ÏIiCO§ÓØœ½lÔ  +ÚMæ •0)h¹/‚Û Æ³éµ“f³ªeÆüÂÆ³N¸?ø)D[×–®3Ü£Mžb<æêø$Ö-ô¥*"ºvnwzº‚Yã[Å 2åé.65Ä–l“WôU·Rlö…µáUö¢Ý¿rÕ*{÷as3$Õ똟DV”q’xÕ±D‘;ÈyþuÿT‰4h)íÝ|º¾~Éq.ûZ—¢\‘ #ü•E·÷²(zñ±}Þ1¿t—7Æ%•Ë‘Õcé"æ.” vM^¹ò}xÌÈ“ÛMøy[dÈ€^”RÙÎ,$6{U§¨A,ËqZª^ÊÇÑ·Æò¤¶”Áæ ~œµçQÅ9ÅGò2 kµH- Qæ1"Nõû㟴#'(¥Î|ç e±ÈÅÆµ›6Áøk0 —2wY#3«˜*@ ™W½æ# LÌ™ ×%q@&3_•š§ilÕÉmÎ(ƒd³‹h0Íéçhúìiꀻ+¦_ ÎÚjÇ9ÉÍ;TMÿ˜cô®ê@y*\xÜˆŠ§nU48jnоž%õ=Ó{ë(Áô.ØF& &¯N²¤—øK-wþ¬…•såƒà·1¬B&+½ œT”°ÏÉ=¾+åOã+Ì^Ë´˜ºûr'©ÀNÖ:óÑP î}Õy¾…#¹ÖR–Í•ÑôJ¤£ª`e*«Õ(= Yë“¶ÊOsŠû`b„Ú)Z Z­ÇעȺ4\s‚Àæ­‚oHà¼Q~ló .^}umP` xczM“µÊ·âÛ¯B옮\…ÆD3“êY·÷ª7}Áy×Nv„Bu`¦§Ô¬I-øÄ#ÛFïåæF÷_âP¬·a7´¤ˆ¤ûƒ0^¹˜Ti°i¸—Ô{KÊ™U,Çœ/÷!keÐÖîþƾq+ÉÐ/“É®¼{-%0à2^Ú®ŽM2Ö+˜Ÿo“¢ðÎÅ{ÄGÑä`¸eA©5å,%ÚÉÐ…<íd3ͨv÷—™Å] 2t³ÒOÓ•!ã{Õ]ÏzWÍ;Hƒâ³fÕžØ#­`ÆÌp•¿èçˈwáÂ*¡`î{ßP…Nm X¾p’èczôÏ;©H¶óMç4³6ýT'–¿ú£?¤ö ov¶3Ï»¹ãš@ÒýúsHO÷È…ÑDeqš$]‘¿@P)«€v¢¬SiÚ÷¼ø‘™_öº­0”ºnÆZÚE KrLFgØÓvÇÃß>„¸Cô’ÙGwCõ9¯o}öÒ†±Ø²Ú¼d}… ÒQ!«Z^—"êBÔ¿égþâk\ÌZÛJßú›:NÌŽÔ÷)îôÄàZ>N˜b¿Ö¨3öf…^EÒK{1µCœðXÑjs¤\"PI5eú6×(*û¥«óó&–Œ¸¥™}'ê†(Þ‚döìÛcÍ›˜È;ÕF ]õܲ„õ |‹â+Pômûîðæ,ìÁGò•²œcah9¡Á àÖ€/º‘댻¿Z Ò—¿8ÎbW‘Ÿ¹¢ÿ)'ÚûŒª¿0:ÉO4‘ÜÃb¾¯ç[l^ƒ²!Ò.rbvݬ¡-D$X@újÃýWvÆëÙ“I1FŠY&IMÀÿ%W‚í ‡ÇFø[’ ç{IwÇq¤`½éŠH¤éÅn ÐWjDZ«šå‹tLv ú¿,ÎëjZJÏ™Ÿa­”ð“oòGL1Çê‚9ÛøèðÍâ9ÃÌ{V@1ØÀ±~ªO<®óÅ1y„•2*ܪô'5–öhÊêòymÍ‚€•ùó\“.ò”<.æ"N¥‚ÝêÓ/'+…©JaŸ'óÝNÿô'ª¡ñXÇçÞ²‚–‚| t>Zì¸;ܾ ¥›f¬Á)…†"Ūä](fÕ¶a·G”jÇcpüß(Q ªS¥“Œ&‹\O†ÃC ¨NmQb›>9÷5Sv¸ÿ6“O?÷vû³E¥ÄŒÌ—îå$=ÖS š†õsíRi¨Ù²(ô‰³9vw$Xû`޶;l=¿‚%dà*0Þ+”<dz®™å}Œ™]*ðÙÇ_³¦Æ¥`Oäš•UµÚÐJÎA[ iñz†àŒƒÃFjnÃßoú••t˜·óiµŠnùê–ÍÍjª¨œs©a…ÇXtä~ïý$­ÉŸïŒÄu5¨ËJEüýEß­³†Æ¥pOÛ‚<Ê•©LÊðkRq!?Ô¦¢æJƒ—äŠ!>ÀöÖËXíT„ú|v˜Ãk„ª±\0§“ðÈqm©ãT\¨5º­d¶U${H(Ú]ßW  ¢_TÒ¢ïÚÏkYµ, uÝÆØOö÷ÎßB êý ŸóR_ٻʩøÐ‰í‰&ÕK£„wÚö3^™VæNò\ÔÔÆ=ÀcE ŠŸ´}6¦|CíYÐ_Œí3~p¯ëJvU܈=@çuâoñý›>`ân¬n(÷ñlõ—S%zµ¢½Á’ˆâyUëü»@@[fÓÆ9ç±½§“Ùr÷ûNó HW’…ŽÚÈöyERqîÙû!{eAçÏrûBáx  æ-ÄÍ?ßqä•“`Œzg’Ì·ðhN´/Èlœ«MåÏ”¢£pà‡'˜ÚÚV07tý†µ3vÉÁ›p63Jþ‰e«ÄHš©»‘é{SúQâþÖ ßÔWMzÛP„pß8Â9‘´ÿñÉ#vDYæð4ºéå§: ”X_`øáv±¶e”Æ4«ÆBÊÄr‘½Æ?Ë3lpmª¦ÅßÓЂ#H½ø£‡ðJÎuU½]®.Ë•ˆEî¨óω6ËãÓ@XÊÂݽ2EÅÓ!Î÷Ê©š(0iâ˜kD ×·ü)·P 3cW{1Ñ\ýŒÖߺ Dî¦qj*f˜íì¼e¢ePF¼:ÊiaœbàÏ{ÝF9p Ð#%Màó¢ÁgäŸ`ÜŽMŸÛÖ¥]%úóÛT¸ýºâü¯iP+éI9Ûªû&fÐŒºË8s¯2ö|¢É×Ñ¥XÏ™6ÔQ­ZsizM¶Á0*µ˜ ¦BÀí¥ sÆý,°¹ý‰C'îMD°rˆDY/ñDýu=:1(–|vŒ=——JmÐE+@& ‡L ~wœ†vœ‚«wRü U,}NNÂà …ûlÔfŲ-";ôØ›ƒ@>è;lë!~]>'Lȸz8n4§hÀN0QñáòMY5KªB)ö";ËvÝ3ãÐOéaQ\ÁÀH¿~ØšXŸz“)­§mK|{“0‹þqòi+´ŸþýIñwjbE,î ·½‡øÙrRP¡ÓˆjG Cãm ß0eØøÓˆÇÌ(®sÿÛ«¿p.¦½¾é›¶ó¯&µÂó-°/–fˆ-ã*ÌZo©¢âÇV˜©È¤Œ[@ ‡’؃êÖÊFǯ0œ2LÉ& ûÞ9~VÃ?¦®ZˆaµQ)SÆ’¼£2ªD€»0êSS·B{CøÖ T©~ ¤.Œ^—é90,°K?É8`¨5YyV(,„É\¨fúX¯/ÑWÙûè¿VQÿF‚æ4F7Ù|YbªÛÛ¼³k—ÁjÑ ¿À¼õiüÕ3œ“ÇL£Ð›-"_ü<ÝP¶ÂåsÇ0¾[. Ûd5˜»>ÀyWf­¦RÚ͉…ì6qYóýÇ ¸a|5Ë1©f¿· \½ ¨‡P›U9qS±üwÃnSÈúk±JŽôG°ã~}åÔæßF# ðqe”á-.ÂÑÝøï! ÿ_šó–úÛâ[Œ™¢ kù®P)?'…Mx§€ st†QÎ=¦;8?$ÇÈ‚`æ°UJÝ®u…‡™_h_¶¾‡õJ¬765Ôq’S#݈És<-òcç.§qÃéúÅUfÕ2ryC£Â ÙûF»œ$JæãG?ºá¦Á¥bªû~2%X5Ë:Mö—ÞôTÇ@ÝÄ:ž@B*L>º(ffCÞFïá>zܦ® 7©Ü=\ „r*Iëí˜ÀÒi.“_, Ídóãê¥!`TP±mHòsGJ.Â@ÕöÆNåìÍŒ-zÈ솩?W$iÜç»Xí||¦±œjäkÊ›CÒé®\ê`È*ì|§ò46Àý.i\Õ€.¬¥¡ZPŽÂSÖ»¾†9ü¨“_ o_=üÊÑg¦’¶Á¿ãE¿kQÿYÄ"íT‡NlóùÇ”âû“°ÉQÛiµ“2 ”¬Bª&­ vÂEÀ´Ñ¿ªZìOÑE‰.#«<å¹W›_ƶÏÈC=B[䤟ׯ˜åÜ–)Ps'©,,{2BžöF${”9§°©æ[ýƒ5 AJú_œ²ÉçÂíßjÉÉ,¼åv!3Ù7:Øã Ú–él\ºtuùÓÇëˆ ´5Ú>Ÿ€!tÁœüZºNŸ…¼&ö)a>Œ{³ ‡ÈŠ* qD';i Øe™¯Ka´ÖÝÇAÑ®;ÁQëb/zi홽Ãã¹71cÁ©â –ר4`‘ÜPAùáÞdIàT(ÃßR—%ìa(ã[“׬ñÅ’N,ŒNEõEr›»™Eu=E* ~(3Ö]>ȬÓ>UÈ¢YÉtõ¬Ù0æ‰22ÃúkÅ.¹Fc|ÚM!åÄÃpŽ¿E¤ÓRùs0ܰíJ'’Ë5P‹0Kî}¬Oïu¬‡ÿÝâ2” š%éÂüÍ€@ä@ÝB<ó=î€P`¿-ߥ¬Å?ÑÙ|ÀåØp£D Í»zÊîIïΪ?êQF‰ŸZÿNbZ§÷’¡®ÁRÍC¬ýr1ëßÒ »Çü¦hꥻlöšÿ¹ä÷®<º÷ â“ø‹õv4hz_-ÝQ½‹Ú£ù­wÞG•ŽY¢o½Êª‰±h×ß0›AR5³¢Öl´@vŠ„¾Bºè/Ý5 êHÞ/â£dzS@­pjDÂ躜S~r) @uÑ3kÇkœpzŽj$,¬úS>_x«B`ÎD¸ºqŒqbLœKÖp8g¿þ“Ãr›ñRRóõg¶Öm»h:×w.!RrZL÷¸/vëœzéñ­À‚¬¡1‹V×ÐaÐèö´Ùïú &-n‘N}GñA¦ŽÈ—xþþí&‰û7Þ¨MV Ù]z!YÀÛç,ö!=XSÖÏuß yFh‘ñÈ%+ö êÆ<`àNɱ‹nú”6.ð$.ðw…®ãÞhÛ¾fŬñ¼ðݱìÿ™ñ††JšdÁó1\1²°ÚÒ%%ä­`øVWt ®Ó¾\-‹i2îBsóyF“5Fs?e±Z`?Ô³ÃÛ=ŒäÆäöd!²2oíd¼î/ ÈoÔRWrW…NÖßc2!áÑN"ƒŽ¢ueœV½Ô/ùigHˆ²ÿÌi·ØK×kiÄâz¯1¿tÐwÏ–8ÆWiÊp¡APñ@f4§Gö;|1@µž5m.oíƒLÁ#»žü’ƒëE 0ÁÄ(¶=^aë¿"Ê=QûwÁ^0ZX§¹øÇÊn:îµ:­rÅà SÚ*~m)¾b‹w4C: R KÄ ;iÓ— EìPó-IË Çzçzˆ„XÆÀÈ æu‹€¼¥8ŠþF)À¡¤NÄì'Ïç]-ŠþmfoùdñAúH¬hB·~ ²ùˆ&/IµšÃTšVîU Oû¦Íyƒ6`Γ|Ôf¬ 7szÌ{‹Œ`0Í~Ö i¬ýO#”ŽÀÓ*U¬ËeñŒ|„Ô#@Â^Ð7<ëO€ÝÚ~CŒ!Õ+Ńr«´ðÜ A7ocH™އ¼»#Òzq÷g1]Ï£Hݶ¬/wË0Þq1–'Ïg¯(/¢BÑZÚY$(—üóRÆ#¿!WœÔ5ooÍ9ýãÛ5‡‘ {G”Ñåüÿ˜+®úGd{êSÛw˰>¥ “*š¬jˆ·B¥í1OÉ£l$Ö »)rgXh®3XPæ7+ö¹»FgÑÀìÀÈÅzÐ9x$2wÞMÔíX}gdIèeù…:ø3ó¬’ýàeà8¯5'fäS3«¯ÓÔÄûœðžL'³èíiy§ ¬¼t_Fz-·¢n…ׯ·Ma~6ô&ùŽö_øTò"ºå;”@Õ°Ÿ ͈7Æ×–GÄ-@‡ì$ ]ëðý|ë¼ W±UÄÁMc&cl©½„õÒa/:p‡Ë× ÏþÒ#SFXßD‡6NTå*lœ¤Å*Y²ßª¡KCkÅ5ì5ÛUvû ±_áy9·Ù8 v¿ÛØíXcïzk{ngÆÈØâšŸŸä„›Å0_—pŠ<^uÍ´$ 8NÚ~¦ãœ0„o“±´•êeíEïÒØ´4Uï][ªØ÷H3ô樓!Ç÷Æ×åbÞ«Í‚˜Uì`™¬,oúà¿áQžƒß™_´Ý„z‡f{Ƹ)´NNq †>…ˆ!Tpï–v$¹¬ƒö_š^ƒƒ{ƒ¥z8¸û:~ʱ²ü“äøîã)Ø|xMÓäD­ ï5hŽ|õ~°=ÝËDµ®Š†cé³³§ Ô©4ÄYAöü9 }k{#pÿ8¬Þ:µ72IúŠÂDÔ-‘­ü0½9Åþ†“g“Thƒüâ'ƾ_n…Åž7ÁÏ‘s´†Yúvó±JFà÷Ål+•^xàÏqÝÃXÇg{A2ÊqØà»GTÕó±à›ÅUÔ•Sê½÷µ*ØJæØ`ïµ& ·á!“îjrÏLås»ú¯êéþçÜÕ×û¥ÏmåÔBß•gK˜T‹ÎcèX’­Wys6ÅwÝ t¿­¥Qñå.‹j½2pT5y÷*“©¹‡V³ê+÷êKÁÄèÕ\Ãl¢$ÈÐz–ˆÙ· õþÈmU–uö“‚á*8§‘2'ÎG4òew.ÌyÇá÷NîmË4Tú©äñßaãØ¢¿å‰Ý5Cû_€¤˜4”Æùò÷tÍÓ™ €} {‘ÀÇ„ƒjµ(¢ð³ÐìZ–gWå‚Ñú¹kÿÏ_"—œôv¡Ü²Êƒ7ãÞ?Áeñ›|¸x«±ŠzA¢]‹p¬6ùë¥óáÇ1ÐC Àìbg·…îF €Wfî;ãmŸ}ߥ‚D×6À¾TãÄZËêìgGS)æ¥slŒØý³q¾äY& ‡$þ” ?AYhÞ¦›+Ž%¼Gn²3  šÆx@œ oÞ®UƒN‹Ò‘GžØŒšvß"Yí9&HÖ4‚ëßÒçx@Ú0Ýr»ü+¾yr_ÛöóD«T|†í¾Ý//9ˆ´…†ÞÌYvOÀA³â9ÄÞHW‰ÅÏ_=ˆbÁ™íŠ!4ŽÐ”|+e¸zK "ºaqå!‰‰û )·;CìÝ,Iã¶sîú'ƹv yC_À@KÎðæÕ0M,¤qO:§qõR° ì¥SzHâïÄnÊE±kTù «§%S죖HáÃRе4éÜ‹¾–Æae;Þ7Qq”é Ñ„á–¸© 1”;ߨzDAs1+=ÿv9§{b›ÍMñ‹ ËsŽ‹Àî0{J뜵íæäþ¶Ô©3±§PQçDÈÈZxº)¦hwóÝÔã„ ^×Àí_‹œ “A¯mRÃjT0Íëy—½æ/w —+d¹_÷;.¬`Æ †;ˆH—È™h”°<.ø9k|K°Ã‰‹uÁ'Ox]‚Èæ‹Å;þs¨$§ÞøÎªˆ&]½‚æç˜aSmªlKhâîSûtÕ®cŠbÇÂt½ô°Î¯6ÇeDPMµ¯ˆÙŠ/Mý‹V ë\%'× ÜêÄ/%:vP>l’ÂíMŠüŒ>ï(·¤Ïc~ºLÿ©¾Èe«oé³ùxƱ ! £íúññž” é<&†<2` ò*ç*©¸JR4 p޹,oòX ´± ßÈ *þDâ3æ`ÕR‡’íÒ7‡ùèC¾Qv ó€…CŽ$SqC¥Û¹äüÍú ²1´tKÃ¥ð³K{¢”ŠGØÝ,>~ƒý>ätÐÃ×Ùó¡ÑmR¸òSßÈ7ÏZèÑX]cýW``Œ»oÊ“¹jù`j%Ï‹ÕIƒ%º_OÛ–¼Ò=Ý8©dðœ1=É‚Ïj{I˜”íb›³W)CûÚÛ/kB˜Ñ\Š1m»Ð1èKÕ^A½³ãžw œ¨î…ÓÙbu¡‰3´wÕ#±B½‚–dµm(”t=z)‰ÝkŒÛT~tp‡…¸ bÆ –=öVÄ» ¶ +ü„rÉ>.TõsÛðå?vf`QŸ“s0¦U¿ë7o¥ã4ÿhE¦¡'°öcöSnͶ˜(*­ãbê! R«­¹ß^eeØÆX_Ö! =«ÏH„W §&â®Ò £$É81 ³éÒö"Ôˆ¥7ª¸Ð!ùÚT›1üh½ý%’s“Èj4É/¬ë’ã}¨ªsYA?4.e î%3A¨ì”àÚpDV «KñÞJ¸ï ±ÖePáQ‰ >“‹ž©ìX½ÞŽ/\܎ݺûRCk~° ¯´Cb®Y#m’ºÈFÐ>±¬Ú·—p×Ë‚ßÚhº³JèƯ?ß½amɆ «Anrèÿ¸ñ°à¬ì&iÎCcØ„«È ½yk¤ ¾-± ÕJ»Vó1ñL?HL{hîØS´i¯(|S8iQÌõ*×^3äÞõ½x?ÆdW¾'±hEd|»hºÖÙ´ôpúŒ2‚%1&:š0úN7eɹìÑù#†Å(\Å¿¢ö¤î®¦‚>êêÏ‹ÄHÃ=êAšÇMö9Óšo«ˆ5&Òw/Áx^`“À,¼ï:&¶I Á¯N)¾Z<¡ø©'(ÐeúÿÌóÆ\!6F E Í`˜6û¾¸FRs sJ<^,CL?P0û—Æû{)è×G͸f&þ`!“¤fnÙ§WF:C-*€TªrÃÊÓ´D› ˆ7æDηiÀÝIq?ÃÏ )"·ñ+~Â)ˆb±q¼Î~]©)«á ѯ~⯊»$òŤþ½ÉÚÑÌa0O~“Õ|›IÔó^1³sŠ@“©¶ŽÔ/…Ÿ/ûÌTþÙ^AVЃrŽá4;„­wÔWÖ3·E ’ù1}ù•ÍÈœ#5«%0îWŠpDñéCΚdÄß*ÉaÛ“&Š&z±5]zùVü§ïã¯'=a8O…Çj«n†òf×'%Ò¸C睊ÄÍZß„jz;ùŸ4=Å/­n8<4M¨í{ôkŸÕ&µÉöïzöÀò6µÍýtD&÷¥“§*y3qαœ¬ÙVF”{¨‹P#¸|Ò€ðF'¶v{îOµ‡ér¥ø P½zãYAóõë>üœ| U|»iRûJ:JŽ\¡OC ‰Q€uzf6N4.P?”;ç”ú}°djU„³TÕ¾CbøÕTÖsFOó&ÜVhò€ÍÅüÛG¿5šm~Û²@"D£^>‘²ŠÕscv†ªYm&˜ åY;ë¸5Ÿ7SÊ Ð4­R)v‘j.:9z !¦[ËÚ£=‰$û*d$³eb-õÚ—"ÓÛ·WF ›«eþ¤ì2‹åuîŒ:°ˆö 1ÒÀR+0c$¿±2i,î84ø·º"•ø>'ÒåÏ žyòÙ‡hò‚V$MD’±´øC«V‹øTÓL.pL5?ö‰SÉ Œ›ld•ƒoÍÅ÷!‹°÷LÛå=u)6Æ@Óãö9¦›JJ`Â[xÞwm†2Ù#22Ú"ñ\?ðh ·EOãJ\Þ‡ÁÕä%œb?ÄawûˆWC‚ªsoDQjCGŒ· wc­^ƒ*2Ånøy>€{ç­ Ne‰ç? 1©QáUzZ/ÅWðµH:ôøÒò}`-æ ÐÄ2ØÛ€Q?Ý~1œ•g¥©¿º&Î~öæ'Â÷?‹Ïݽ¹²ÿh×ÕåÔÔÚ¾³Ç d¢9ŽTß8Ê‘ò«LEãÒç[6< Ë<\]2&œò™¢Ùø%|-£b}*FGöȇœvÔ…)Fˆì´KÎ’‰\M—täVwGt ¸ê—¿Ü·†JøZé´UFÑ+,_XG§¼v¤·XÕUëD—÷N·‘‹=g$:©ÅØhãnæüãüajúà§s,™PM¯sÑrÒÑ—:µáÑ]t˜ AÜ ©6MqäzÙ›!µkƒµ›Äª`£[’ãX5ÝÍÞfC›I^nG{´;`±nã•Ò6ØY ÛÙ°}å€Ê+mø!w¾…"€‡#Hm¼€ùœºn¿çÚçηâ•ÙP3®Ò7OD.Õ†'§r–þæ€B6ß'´.y‹|yÒ&"µX}9T"<‰ÅoĆ ÒÙœ‚]šgü4祭²Åÿ„þ‚§w^ãxÄ.ÒfF }‹ùÈdsèÓ’ð…OçZQš%ˆd=¾7¯ëÅ.#ð™ŒB[†ÏC%U`VÞÔ ½f¼ÊûIÒ§!Ð'L=q=w¬T”rÒÎÌá+ß&}¡³ËRÉMïí÷PEߨ¡b8$|Kוþ»Pþ·²›“½NLfË"3&ɘQ|únï™Z+]±½ãlÔX+ ªÈÏÍ{Àäð ±£yð<üüAo¼ÙÃä|–ðŠ1™VHNV^‚®%:|Tm(HS™ŽºÖõ“«s )ìñ²ù°õD×—!˜/Üö˜úzšsN_¨tû­WÖüÁ÷/PÕ`EiT„(AØSÿOyÆ•;ÿ5C6ŠŸ äô…FX´<ÚroVØ‚¡†MÙÔÃõ97¢IÞ¾ÞGV”>›Õƒ±˜bè›"u!MòïͰ _î×Áç׬»Z­b}›{!;£#k­b‘í¿#ÅgWåO#¥ZºƒCÂCú˜mª¦(aU{žï?‘ß/½!š1~¿V:ù¯(¼¢ J’ÿ[òŒ–¹±,‰ÏV%’@.£ Ëmˆh…|tÚé £~Ñ(œ Ç›‡‚³sŒYe߯ǜù·Øî¢åZK•¢Mü7ø;•‘æ$v /æ°QôÑ«oÑ ôÆZ—6S•ó-žéj؃¬‡ã£ýwß·£Yf ¶Q\úñÁû„•›—j‚dhkt¶)e˧íxrêw/ë³å5Çhù;ãôïhk:¸`”ø q>xè(…x{߉O%šîÜŒ\„Ü[‹·èüEÀd ¦|éQ6qÝ¿‚ˆ1ÏdXÙ¦ P,Ùìâ¤Z¶aþ×%a8ÔÔ¦½.Äo®·±úUÕ‹›½.O|¤c¶#¦ØÕÑ_a}£±öKë) ík·Xñ؇ƒl›ò–Wié/Ľ=‡•Y8,Mx¤‡í ò5Ëíô2ŒtH*L-ò;µŽÃyÊßy*Xªñ!,ºîÔbìpÂÅq<‘M:kj«Naná|ê]JNÍ—tl¸K¬äjf[§ÉÍKgUTø.$uy^ÏÒwèXv?8'¸M¸ 68VjÙ¥X£Ì7=ÔÂV¦T{¤[þÕî¥Y¤§}ÞJµ Ù®ÓŸ4ÜV'íKÚÀ•‡³ø™H—:²MêßÃÙïr*„õÕ·ýÎ"M&O£®›Ê‰:UJ«Îu-þjÞ¤>N Ž-BÁ»‚¸‘ÔðØ@ï 죷—¯úB].Ëˉ ë2ï -ºL/¿*ÃsÞ,CÙ‚åG$=´…Õû.‹ ™%•tÈãJóMpkÚBQ´ÅKü—óêãÁùÕÖÐI–@½Ê ÏíiA+õìRÐÈú–ÁÓ¸´ä}mIAyÁÖ#ÇÚ›\ÀÅK ‰Ý r[igVuô`J´ÒÁ(ÇVŽZýÀ#jüHoQ+<$h鈷#öƒ–1¤øöôÙÇV"¥¦ŸõÚ*çïŸÖß±ž: PŽ…gQcë(Çñâ¼ÕÑPäo¯pœ¯¥‚?-Á³_ ‚¦»Ž÷»ô”ÿç ªyqÇ%}!P ’nÔ Ýq¤Íê|'gC<ﰅɹJDÀ‚ÃèD4¬ßeŽÁ0‡Ùû YBÞ$%nÍÔeQV=/6‘;J¶ÆdFïèù©ü~]¬æCŸ+•DĤ÷€âàgSqµS˜h~^-î&K8ÆPß1<. «é,M÷/S–9t)ŽG h ñ²ŸÈçz+ޭŃUz‡ÓéŒÜ¢¯;ClË­{ôõàVж€ëA™=1ë¬FŽ-vu‚sM}áÜ3T¬îgo )&œ ˜|¿AÏ´źhØê¸Zxó§gž {‘¿KwôräéÂôÖB‡½ù>Ûb·"ÔgvéÁ¬Þå%÷èÖËQÏ: MnÅÊ(7Ø6V•…w&œõŸU@vððto®)Fc¾"LšH¬7nß ¾8øú_ýSÏl­t¶-&Îy&Òk¾6:V ~gqƬ ªÈÇŠl©Öhvô”À ±ÁçÐPÖk‡ùL‘î¾ÑBSsÓð…‡,‹$–/äšhoðÛ1ˆCy/ÝÜä3úCA­ÚRþŸðŒqü“«M w'ÏP`Ãk +³“+×R‡Xh}ÿmŒÓȺ/Áx£zð^ ÿAÔîgiô{¥±A²›ÀZ•cX vb[ÿë³0æg¾FSç4؉ïÓñBæ,Î'›él»<±Ñ®¯˜–È‚›˜ƒH Do¿:Û²ìD‰ø3A­ ÖõZ½øgm,ÐBˆKПûý¾¥Rs>v¿×‹t+œ8´®PÀ¼íBœ(çmÂ’Œa·\`yÍ"cîþ\Pá‚-Š¥ÏM›<³btÒ[BCÔ;,/Uœô6(4¨­Â)$ôÃù±Ô w8Ô~̺1C V » ÕP”"MðñO3õožRÀÐy™“Y=4SüH§b@ o®¨Ü!ðfU —Ö(\'uZ ‡æ7’‘Ðçö ÅìвMæ=WÙâˆ7_½»lœGÔûÕy]ŽºY&SÊÍ´ ×d>]®YéûµTÿÂNó_õ…#¤XVëJŸ†æAhoO#±¥p Õa´0Að£hcеMoáÙy•’(Zë΃ê=ŒSЊ BøðÅkÄ:¡X*y3žõ67…I×WtÈÙ™AeʱO:-xÁ~„Ù5[šëÚþ0Ë8Ú)]öz«d×Ù]LÊ < $È9Úì£;|ñ>;Ÿ9öWÏ™\=x÷_¼Š³6þx~!fH¢Äwˆ ´.¶“¿W4áRJúOdÄJ¡ŠqÛTŠNÜ zeI˜W·÷Ü)äÞQœUÖ5O.Íõò?ÉUä»ýO—uXiñ»É²¦VÊF°à–IË‹áç `<â.>+AÈUç=*,îûgZ»‡öé®YLQ+!ïÿƒ~]¿\!%éÎq—–wƒO,]ùN{2»­¨OˆÒ:6ÂÌÄ\hIÇËÕ5¾rÜAxÈ1¢ &T+ºŒäÄèª%€ÿnõÁ–Ę¥éM›•`Ý •ÕÒ·­ ß&eøÃŽ v?dÑçcEá°ÛâÞÞpõ”pÎ\%¼Øu´ò‹Óµ±d‡é÷—ÂÝGºTeÑsª6¶bNß:éMU¼ç€ZßT!+ŽÌª=E›c[¬]í,i¾Hzd[=]ž™\øÁP¢ \¹°CÍlŒßVlñv‘ɹ7oP¼Jx$t‰o‘†·œsœ@ô†´¾`r3üÎJƒ €ÖÏú ˆ|3~ùqß'-bÛüp§ý2Qú±Ñ•ÐÛ¢´—1*qs–=‡ >e“u9ßõÿ"µ§yIt)?*RÒ½ °S„#‚™¥Õ­;¡”VLä}Ú/Ð?d¹ŽËØÞ‡ðä9G/zw× –;Á{Õë˦˜+—ÕK ó›tØ©<µ]¸°V×f¼¥³ð¸‡,êšäs6 u3üúhÄö·þÑ•ïú'´V¡·ž‚='ÖôC»`UþA¸¡ì^hÚ]GÚ‘¦ý/:Äî¡Ñ|ŪBç&—Æ}¤"€ðô!~CÞ!ÍwùM¸c€Ò>â;¾%-¹@äå†ç¢öŸN„ê¶ÅXß,ø[s:¦ßÿJ¿šo–$i Û­g²ùœ©Ý1Å f‡Ûf‘]iö)£ç\%Ü Ó›èæÿûº­ "¹¹µñ­L°…ÖG&»¼—åº f[&)_S~‘ ¯Äñš‡úOOC:Üüœu¿ÀÏÅ{°Ðã]2žT"¸GПNK¼4šâÿvÅCÿ›/øÓ Šgz>$õã÷#ëZ' —2 1‘LÖÀ³:Æ·Ù²#È+ÖíVNK@,ƒaXõ$K=m¶Ä½å 攂PbåÎŽBQ‘8݆ÜQ8Z¨2ç@úH.´!â-ÀPà WI(—TšvôêE<‚EÅ8¹ò{<Á?R“²!òz„ò‰B š£òçC¢—i?•ë ‘±6O†,]«7Rg«—ÓWÖ""òR9ÖŽ&½¥nêâý·9û€a†¦95º6%*2 ûL[‰„l/üG\ÄžCQ/“ŽæíDÓ=c*`Úæ3¨tLÀe-…n¸áÙè a¥ËÚ[ózÙœ("*œSÿà:’ŠÊÝ6bù²¶ ÆimÈ{æizG•0Q8f²Å…²‡—¶Œ”‹¢€8 ‹•È4–y_äXÖÔ—øÙefL0bè\®Œ§-J¾ œI@¦ b¦#f‰D×LæÉ=úN·Õå){oޏKSoâXIϯF'ý“Άåçvù{àøο–—ÚEŠtIõôS1ñ²WþºñLRêÝ?ÃÄ…éŒÊ Ú÷‰$03òA°ëÔ#“ßÒ•+¡ %{Í—½SÃáÌÚŒ·º‡Éfç/¨Z0ôù¢ßã¢ÀŽæD‰dI®¢¢ªº0Üm{ßw°È W=Ð)½ƒžÙ\i.³2$¶ÖÑ¿½2: ÅX2ÿñe¬AP^|¢Zž-H!<EÚtʯ(´õ™Š–2õ5)4\™Ü=2­tèì+$๽KÚ²Rfö…„Á(²Zúœw .Æ{§Š0zK…ØÑ¹gbyÞP;呂s§%×jÔÃRJ5ÿïä+ðÙÝ—•—•¼^/HÅœ¯¦1Lçï<ò;ÕzAÜ;¨?™¡ë9M"Q F`‘Æ!⑆`«À!ïÑ•^[2›%ÍÕBŠUý8êvå6ÂyÁ‰“w创×#X:µmtð×ãs6‚èI[ôÓ<¼Œu& |×A•[Ã4Õl½òH,¹ÆØ{^­=¢ ¸Í ²Ã©ì»‡ÿ“&N¨ö&"eÀÂõþŠåÌü¤ªG­&:V&Z| o"hUÖôþ·í-#½ÝñÞ}œä˺v²:Ö"T ^Jå8Ðz ‹ôÙä¬÷ÙWÅs|úô~\ÏÞ _yòö!{g3àø‹9k]ÎûÊ[~W 3Q´ˆ1T®Øo¡¨hÙ³Ó¤þl£Å„§Ç¶"=»Hd Ѝû‘yO±ŒêÄkY¦@îÑü!¯dáy!:9b[iK&+‰Ö.âñà[u‹4†LªB<  fÙŒüg´NÕ¿³¬ 0n—C¬.2 ?=|®óq Õ×<è/-ý9ßK¼m„êÍㇴ®A·SîœJ³2‘˜Ã-©UÅë òF¼^ûJcòßÁ rh·Sûv«;þk¹“aôiØ\‰Í È?¼ÜJ{6sÒçùú{ï˜ëÐj‰Xþö»™ 8¢|ª÷r\¿ìÝ-Ê·#ø¤Ì‘?©;]IJÜËÔf<½¸ÇïÍ«b²j«º¹gŸ>ÿ¾ŽÛÍPëÏhM‹ð¹JÛ þA·‹;w®%¸­Qc† Í›qFw@ÏSí’››àíz,‚.`C#ßw ë€vÓ•9)LzÁ€Ž ¢¡¿»Ÿúÿ»'N*ï]^³aià\w°¨(4^’¬kÚ=`¶Lw¡”ß𘠫ºLKíääyqï×ú–åPVK8ê {ÌR.N–ê4ö|š+};Ydu—E­¹üòqþ¾â984-Š<à ¹f7¡|ºErƒÀt[ýqE}ÃL$û yD”åéøWûÔ⛤ɆÎôw*8+ëù´º\Œ\ ¼Û‚† æªæ€ØÆà¼R¤ÎÂŽÙk/ù–kôÖáâð¨’×ô; ØíØeΪÎ]Ä…cØJ~ëGÍ7*&Æút–~ÌÀ4¹?ãLµ/Ó Þ­Ô HIl¬ Ü‹ôF`¢ëó· ·DÂæÙŸ#§-ÜnËSFÂOþ° ö‚gE,ߥ4§ElÛð͉…{#¸öeª-ì¬a›Ì…°Už¡1JôêÜp1Y5iBÅLõ„ŽÚûGw#žM¥ùÒH©ˆ`*^9a=©¯ÉnJ(ØO†©…p=ï…%»Áð8éÀõÕàzó2Ã;G§ÄÑvX‚~ʇžPÀ¦É#½ÛÍÝÖOþ÷›•°¦}ü¶g!TN,R‚ÇEÒß¼Ì㋪ì7²˜kdöš•ùáÞ¥•>z¾~²fÊ;NGþGBOW¡¾Ê¯£÷eËv’qÆKi @|™pMìøz%*&­Â[‡%Uó‘Á@Nð¡cÀ¯°]üØûQŒ¹.Ì„:ö0ÉβêA¨åÉîõªÝ÷O2Ä]g|QÒ5`U:gÜiËå¶cj&}Ø1J~Âú‘ø:<ÿ˜Öº(°n z¾šèÒþ&þ0Wþz[ÍŒ«üíôJòïÞŒ+TZ4ðÞMõÄžóìe0T[&±ðÕ¦Zø°2ת™Á4äO©ˆ6ÅôGJ£,Nˆ¾©¬[ë»Æ¥‰è(‡`*í'åÇž?ŒÔû¿¬A]Šó1z)öE/‰³Ïm C¼\ϯ|äÒ‡O›öêqó!ÕW/I±¹5%µŒ¶æ¦›)¤† ç›Š b$×Â?Ö·uº!5ÜÔ¯óI^l†&¦Ñ·šžÌF ˆÖ]4;¶+l&¦Ó‡ šGXùGþÉ8Fµ$¢¹±²¯ÄÁ&.ÓyÞ²Ìy.š£é6ýÉÀ€°ŸK,­•x¡ò–˜Î"•“I“ŠëhÛôˆˆÏ¥‘Nû·ZL[¨Zô„žèn©Àöbv­¢Çgqa› 1›ï(k—Çkýçë8ãžEê‚‹„ \hXžo‡ìGö—Ö«)þâ 1LÞ8SÅîa&y¶C5,µñôX±K°àÞØÔÀga™eØW;¤Þq¤Îãúoõ©2ÑÆ§Ætte@Y$ëDv^øÛ™Ÿ—óœxà4¬DœÙ¡ç.(LhŒ=¼ªot/Ñl2…åÈ%‹“µÀüÌhÅ*¢ø¢…`,"’^¤â\Sß,Æo¡ê£Õ~*áBTÝë¡À.0Æ CÜÚx!ÿªk×ós'¦EK)Е؄e>a_2ßc¢v"~Z V4~ Âèt7¬Š‰_ì-‡V­¶H:äàûÅÈm hµ´Ùë–SrotZ•xQTî.;Úƒ{$·/<¼ã–*dfØÁ=[¦ {š9Ù{Ybò«íUHBO…k.HûÁƒ¬¾b:ÊË ŒÚÚšG<-ddftâ «ß÷µQ.‡Ú•\VÌø•ìX‰a1/yñ¢).á³2n“·ü&m»Þ8"±­o¦óIÁZ‚BÕžF£Ë7Šc njsÚÍúF-‚^ÂY€ŠE'ëÅìP|³­òLìÂmŠáÊúß“; \â„%:ý¢ßusðd{l¬ÆµøÊÜPñíã£8œŸîÁ‘= À=ÿ[qšï$?oFY”líÛ¬OˆíÌ‚ü¡ý…1O$%Ô„Ú5¦b´rÉ‹9ÎüpôÈè£5)ùGÁò;µÖ_-¤]aì˜ôRŒº3ý–erM§ö A¡C¬VF ¼áQ´CxRÀyºlÍjÂtz ‰w‚ì†Õ[Nfþé㔊?¦™€©¯d)À€Ðö56]Üdo1. VD éys·É‘̤©à*E?{ž—ý®Ì*· Fýe"‰Wï£ %‘àíræœWƒHÿꌮBâ©ól–FǼt¿×* R_í’™½!H4U vk¶Gùý—p²xé£C[ÊD;Kr•Ç“ÄØ"ŠŸZóË)#? €2äZÌ/Œ´ùɵa ó&ÒQ¬-ÿ.1SB­÷NBˆæIÄZÆ%Þ˜bûåæ20úP²w¸5Pƒ“–3™Øe•ñı: CJt©À—ææ~X?gh?Þ2Ù»ò©…fwôß0«¬rÌrLö;©ÃóM~ìqlL»êʃaKuAôzFÙÄÅÇÆ©êXP÷ Ñ­Bd²}ŸWã]Ãî¤ôÕ`½‡V&anÖåoûï}û…ı¿ …s*4¼H€ü3xUDVù®{ð¶Ë‰øÅkXU?Òt›ðÄÉüή]„n \`Âí¾µ¹„ Ú_Ì”˜…ðb÷n=Ï…±ÉT¸Â1âõèsß~ÇóIÃÊÞÿéã»águŸ-EŒìä™X/zHË2ñ›ƒË,"l.œô#Þ"–«X0·„^ƒÄ…T7ÀTXEÖ¤*E\.ÝÚ ß{™wY'çà#¯2EÿîU¯¨t=— À§Jû¥…‡žð._ÓâøjÒ.‚bÐò¬QsaHA…€Ó¶aÊèöˆé]Œ*W§Wå9¹Ó<ž/Ÿ}8€x«Ö³TÈ lØmßP2oRÊþÁ`²šìt²Üä9CX¡dGUùIº:y‘¸)DçIuöÝÿ •ÚÒ°ë÷ôѺ_û©E*ô`]3BùР’zÅÖ`Æ/?Ö¨›GðbF†<¯`áV«ÁÿxLñ¿c÷w¨‚!NÍ—Æ=&$àåo7Û3µÉ+ÏMʪt‡L>ÆÐÖHÛ>Ú#ßÜhùò÷‘…5@ߘ?Ëqµ€*K)Ф´ÄÌ~Xr,lOH/Fû=™`¾ëê–â™ÍõË!.C7(” IúûkVô§ õëø4u5RNT³u@µ\醢f]› €‰Q§¿Íßž—÷V~‚/Šž+󆕶÷U8$k– æªé3·xýh»áâšôYåw¬Îçw7œr×`Ì{QGʲ~§v.­yÙ }$ܪêÀ¶î©2¾¿Üdÿ)¤w¡Lå‰ 6vã¸p®’0¾›vTåµVtÊ¿üaŽêÏ»^U<ŸÒ7ëŠÀž½a¥ah¯ðGäð$€¯Ååtr+ኡõUjT.5WäŠ.` ”´=áý"¾=+ò²¬Ž?¼>3|•9üÌñ¸»Þ‚\Ö(ª%Q'šTf²Š}4ø_fm‡Ö:ݜӔܿ^¥ÖÐ"‚-•-ŸfËF9ÙhZZßKj0ZoÓ‘ô1]pš'¯Su9[¯{hFÍ/lêØ?:áͲ1’ðx¦ÐåB*IÔÖT uwkºØ¹®œ÷^Ãít¦dÊèþcبCbý>Cjy G¯ì¡b0{Â.îh)pâœÇ+ê¨Eª€'—4Þ{´Ô}|Ò@½‡£A„% ª‰¬’—äå;88cQ¬LŸ"»|Î(° •ñI¯=i¼$Ê–i¾!!9èÀÊÓÚ÷íó|›RkKwù>à„Hµõ¤y[iÄ6J“¾âtnÄòmééÜI"”_²ãÚqT4v‹þ%?Ûõf&©vâøOö1Z­¸Î;5þJ:®ä;äua¶à<Ö­#;º˜ˆø¢|a%eäûòM«­È¬/MqŸ¬™ô_)ÚÞœšˆ ÈPèÃe£nAA"Öõudú©_:»¼ŸÀ#žáLPoŸ«Eôuנ­Co˜-»‹öE•œnénüd8)g©ÓÁN}k2í Ñ–Ï”Fô-„/è‡ÓsæÛ  Z>©$7VœÔE8BgUUxeÐ=‹< ŽÛ–E Ú—èËÅ1‡¶ýfš?âîêáqGãü•žIHo#JðWYö~i÷Æ &ÛF–+<ýa½@‚St§i¿á‘j„kí,!”b7Ü»ßÔ‡©פ(y¾€þãf®PÙ9¹è=ĿՓ¨Ògû„FÛîÀ^9LÐ )«1Y䇣VЯ<†"++ê,%\4ß•VmN!ëÁ÷ ¥:IS7½fó­BøØ¤¥Jqz{$>Ê_Ë´}ìávP“²:¨hÃþ›§øm{ÇÄ£¯+ê eí“N<ÚðÈ@ŠÒœïp@ (ÃlŽ‹À:ËšÍÝkB €Ä™ª5vvlý1Ò¦&<óêx^šóÿˆ&_0¡ýþ¸šêãxÌÏíO„óOœjË„ÍüÝ„õÙ<†P[”Ò—á&,ÉPOМгÐWBK·µ‘µ~t³D"¾€G‚u«©’Ââ`q­¤¾•m1£­5^®qváõk–÷\ºýý¯Lp‹Ng‚šÒè{ q+KÁ~ÚeL«n//Ð[ªÍP>ÜÄÂ×üFí(_ gæ¨6ëCgê,èN'ƒD½^ jë• û$¦ž¿´7·B´áµ¼Šj×­©¢å@d ñÛ¤JÝ  †èîŠËKÆ™¹ä— 4’@•nö¸yh-i<>Pëxmx¼áx(¡ëY‡\‘»õF¸üI¶GîÉi]5› e= =$‹ªèZ‚°±†~>^à „ðÎýÆ®>ø'µ1ì^4åZ¥`Ý¡BXÕÎü?˜]ç ¡sv\Û y; Ö”ã½"i©˜î’¡*½ÒŽä Ô-¢ë_óÜ·[Ñ@rܲˆJ´Úèu¼ò²™bVÔÊHx1œ™[*É¿m3ÚÛ÷g®V°õÂY×}öi .·­O-e”ðû$[€ÁÓ€Vy‚äð_ní|••ypH%D¼tÖmZ‚¯¢€M_„JÙðõ´%ÓM’ WÖºnNï#¹-ñ¥è×1¡4!Å ø‘†JXÜñf‰àT‡ ؾo™m„N Õ=g ßõ9°’†"Ÿ 4T}®nö/@ü í3v%^ Ã^Fxš4KÜy—"=ŽŸŸZç—Ê^ö0³Ü+P¿çÀJño¶àŠ_¦,l.UIÆ^žx骨übq¶Ö“úÜâ©U—zOœüóQ«/hË:÷r4ßË€žœrÒ̇}]}óK.öõ»ZUàmÃlhüBÁPHvÃé&Ó´i{Å;ÚÙWéîœ è¨òxü…ö¦³|e+%mU}£¤„m;ɽý7ÄØí;4CÖqùjwÅÎJß½öjÊÿ1;Ö"X MÒY2hίpŒvJ_È ÀØ^X¤3œU[’X×®P¶ð+X¹4(ÜÚ]-Ì‚JÑ, ÔúÇr­Œ>€W¤Ø R».2ZD¾¹®yÚ8¼äÙeŒ”ág2gUžµnЦ±kþg×"‚‡õÌy‹ûQΦ4ˆGr˜§Î¨d1¯Ä†× ÖV(Ò‰r§¬°.ÀƘokÔzÞpÒ ]Éÿ1®æ$ ¨ #Ñ4N ë{ý—¥Ãg0Ö°Zk½¶Z’}5û<òÔ¡&ºàÒÓVgpð-ò‚¼¦Kû!dU>×Z¿ÁÐ0êCÑOd.ùYçèP;Náìînµòµ“ªä³@ŒüîWqÍÉJ×NBÂæ kTO¿¨zùpœÜ]MëJR‰µäTAÝîä¥kYäf’•X‰üPD¶¸?¥­·x4³ËIþ¨» —Œh1NǬڞ‘£¾*ÇÛ!ô2Öz:a¹%©—I¯\ŒOúßèƒQ­ mw'xo~eÍålqz-kúõmF•ÊœÉ>‹Ö³FÅÛY2ºø]R%é’¦ûýYÑU·kYIQ¿ÄS¤‘Fh„ïìƒ|!…5¨Ü±P›‚‰%xE2p9ÂÓŸ8[¡¢~Sqß $M)ñ\…‰d¢ô¬rSd{;®w=`ÎY+P¼É0oª‡F,™*ÓHÑt*ô¯zqá»3 ™Ðvbfº¸GŒáfi¢½ú‹Ñùú Òï!ž­kƒ? ~‘gÛõ–¿+4k¾Çþ¦JIêý­ä¬àú…òŒ?q:w¯(—3F¾C‚9‚£žÁ°€ƒ41jBÊÅn­E"ÈÃÏú Ä“|.N¨×~ >IˆI˜m¯nŸiƒKsì;PÁ¬ñ~˜ÞöpòŽbÈ>yuñœ½(ž|UOeJû+¤vdVÕ÷:̵ó'›¶† ºZ6Ž¢» Áón^çÆ†lÐìd‘O<Ïf‚àºÃdCèrqïüœ•n˜æz”"ë63ü5*åÙ§«ùÍ?´v¿ÈM?À=D^ÕaÒþ‡e›xA{쯶Òë°}ieÍ|”»œêÝ:Àx!/סNs’ó6ˆ×ÖÿGÍ*%·àóU™?ê7¯ÂÉP°5_Ãi‰è¾k€´ºwó|ñ_¦àqfûÜØQQŸ)×7;ÜåÆÕÁ­é.ל=¥wlÍ ÊóþFŸÅtÂËGWÌåˆgØ ÓI…Gu&gF‡Ñç÷mmbÝ}ëÆÎòô8‰Ô–šŒ_û\$Æ—Yð9's'¦bâ7o>o×ÒUíV½;Bî8°þO°F/fï˜ùâòRé›kf§ƒQ‹qÝæyõk’t£Çýe³k½,,Ö-™…}ù*þÏ× a\ïÀS0<ìhX“jªrS=»•µSç Ä² 2$ù:s¿ÔÐ}û¾LñŸ¬À—P˜ŠÕ´Mè/Eª -ºÀöÁé±bwô<¡?rã­$yDãL¥¤,Œ8MÛÖñ¾ídM>ÇÐoQ7nÒ쀃ãv_qÞÏE-;ø/ÛœïMëéô»2ÃBPÚY=Xqí%Ây·¬BI°f[Ae¹tŧuRÕCcÇÔ¦kmÑ6p¨?E ÛŠ–†š:@ËMšÜ§Cõbž×štø¹±¿Ö®òˆ®^$(µ–üÁ¶zÅHtâèW;áÒ8Rn%>vBWïUOŒgßšF\°m_òJ¤ä%™l‰H†BÜ*ÇÊ_´yO\­ê‘Ûˆ#L£ÀMÛÜܱt7½Ð«>Uñ°A}‚z^yÎ{bƒ}<=8ùK´fýk@¿šŒ][hZî4 g«[ëâ¬R_«×`’½0¡J£ ÜZL¦W-ޤ¥£Ÿc@MQÒì°¯:ZfbÇ$÷·2A°_8¾^Œbœ?R17Yn ®Ø$Ñ“W“sAø :ÑZ¬h1–3(e]ô¦”IHTCcÖ#/n.¯Cê¿¥¿ZgÁ.Ñ‚l¦5ØÕém_˜ímŒôKÅ ‡}˜'5­B²Iaim÷s¨ÇlÎ9ÀäÅyÎ;Þ/ „(.ÿ=ß΄͂ÅrN—•Û=}…›ßhÇ÷EºÆÅî°¸9õÇù‡ûù Ö§d=p}¬ äÿ¶«®»ãU5Ã^qè«Rª‡›±zWñÐ;Zý÷±,¢ÅAè ë»}ºÎk ,|Ö'MÔðO½ñÙÞ#«Ó«øÖBNþ L+ùÒ¯¡lÀƒ8:)lÛñrœ\é#k¢íé7»ÎiÇöuì0üËÁ$ŠEã_;+pÄ»z/d'~!-È )"7G%.ïH§©ÛPØÜîÇC¾zÒaèf¬bφ7o¢í,1×  Tš ¾+Óái÷ìö=µ4U¸âî²óÇžú^ÿ±T­l·ôf/¸…ëD‡w3èSùÑ–o8 ô²´˜B\FlÃq½®¿•žîIÒÏ›Âß gAwè“D5?z“ –Ý2?£BMO¹À|ô>StÖ!Ž<röguEÇÐgÐæ:64©©ÿ+‚ÝÀU";þã\Ìx=°5¥‰`7¶']—Û5Ü̲˜àWàÇ"sÊ`²ˆ*KM¼±º½:M J‹:L`^nÇéŒòÊ 'HŸ²¯:šÞô½pS•š¦ Î¥ÈlU~oû,ƸC÷ñ›k¦Uâfø«?í<«y:YHYæ'ë×ô+•28Ž#òòêý_Ô-mRhþ”î@¨`å»5O½AóµË~߃]ȨY*Õ˜(螟¾òÜ[I–vÔö[ÀÅf5ëÉß¼,€Gùùž»+ zßÑOA)¸ItSÚ¦tõøÊ‘nÓ¢í:øF‡ù²Ö¨6Íݸl½ï}§*èK—õk'[Øôò4ç´¢ËF«#½«“[^[«ð{š8ý–|²—6{DðŠ,EQ0ü[†]ÕR,é54ZÎRÒm3†ôþ[­2‰Î>ú KíëÇmÃKcšdi%_/*¢-Šù„Çð/%›Ÿ…9Ëθëåñýw‹ã¸ `™ ûè«6R™<|€T%WÇ9â ·˜Õ·¡ ä+_Ü'ñ6)ÑŸ¼:ÔŸ3 d]%HÐaøî[V2äÁ“ñ«þ%|Šl‚κë„/éÿ·eÖÝ4«˜Úò¦p¸ß™Ì##.?Ìvô@Ñ$ãc“ùö¸K>=ص»ÆOvùËŽŠ{½½ˆÙDx•lQsk…’©ukrÏÐ;ºNfÜÎçcc;‰4<ï”Ä6œœÉ‹Œh²dÜTæj‹\À>à_ü‘j!ÜGôw%3ùQ#‚ýh€x+‰\äã.†ð‡Ãíù_åªuá‘È$<'ªo͉dß‹œæL;`ÛéÏUž5˜üˆóJTÂfžpwÅŒ:’ë—ÎàÉKïû¨]Êé1­EIÑ÷*ÃæŽšÜcYö±wX§£¥Ð lžülÛŽ“Cfd kŽF OV[Ö;2‘g0ë*îâüa I:7Æ$…z$;ª2¶¦rÕ‘TÊ…1¶­.,¼YÒš¨|Œ¾òúÿ„YÃ5ëwæN»B1∹Ôu»¯$5£1£é³“Ub­Ñ˜¶G佨†é˜6œ aAÅê0@½õŸ¼”Õ´ wpfà ­Ã2Qœ3É/YáE«+E¡÷O›ÐÕóñoôqêÇYËÓ~Âgù¨ú”ëÂ- *YÃÒémF3—² "6Ê{5ž ­9ÑŽg=u%µIŠ.:žŒEÎý™©_°¼»1ÞQÀýýz0íPA‹£›¢Ö´[zí¹qî~{‚UšWÃhºŽ%]­ äkÎ'¶éü+ìy_[ocX)‘vfÄÆØ›o–‡¿œ’‰áw$TýGó,,ÜðcÕ¸C£úipú§Œ7«š?c¾›’œx¢è`ûÌ(¹•.f¾N…ÙC>FXmÁî)ÒÙ|[»Tq#¹M½Ü5Â\³Í$ݧRœû÷mÇHÄÎìMk½_2­~ [jÊ2Nþ Èè{öÁ?ù<³µ P£D6üQ`È ƒã6’í®  Sk­MidƒÖ›Éµ^åaXšÔ,A“¬£æuvèö*<³Ã«›"a¦ufÇÙÁÉΞù¥-ÚTõt/š›í¼±|ðbNÕ½a6ÌH~ðlj¥\Ƭ¥bÎÖ` îl[˜Áiq;˜0˜.îš¼¨¢i|qèpâ]#äüYƒñ­¢{h»ÞrÒ "ÿ˜~ yÖ–^Æ´¤ù_–L( œ6žûԷÂ&ÄBnš/ÈE›úAþ¨Œm°Ú´èwçWóÍ)1KÞx(áÿ@äá8ȼŒI7¿x‡W åRæ9ª_CWJy\í:È×Þ¬$1¡&[ÕA¨,Èê>LUQ|$ç]°åK;T±WîBeÝšÍ/R1õ­¹D&´IAä!tþ¹#C«Áᢓ*ì•ÄálÌ;‡”«Y–óí…É‹¾´Dtý…k ð çõ´ÊÁ«?Ý&˜Ü°N§™ÿ›¡îõ’'¬»»6Q Q—ø./r#¼|Ö•Ð^ºæêëDÞÖ:ßoC!u+î€W²=¸Rš•ŸD÷õEöpd&DBÀÛ ´¢qŸøœpfkäp”?úNˆ!¢ Ŷ–w —’¦,BÖ¥Ép±½laøsº‚§£ä/þ¦¹úaïN0szwiTwÅþ-Q´)¿^Û  ™›=e¾|7ÿ÷]„ϸí,§w¢H*eº¬”¸­®|U®+'ÖÚçDJ“¡-ž÷¤¼G›až´”°Èðpõ¶^8=5òfã L]ÀbFXÁÛ5mÕïbé)Œp;YÅ!Ïc³C ")Û+D'YRŽ ÁÔ„KÑ!ÿÖ¤Ó…:!Ò°ÿp ‰h¬ßTVÊÝ45ogäôÁŠœ"a¦¦¤yg¥èä_fæÜ‘#vZ¶‹­O¬†à‡Žª 1dò ŒRïŒ×íÒ¼éáDLÆî?_J5ëz’‰}úóÖ©®õÏç°ñK[?fj’C@Ha­>X|– ­þChÈÓ@´6êV”ò۵ݶÙ\‡ñ1Á|ƒóÔ&8¯çÔ‡Jܦ-†q_ön¥ÁävôPÕ‰ã-J½svËîO¢ãæ’ ^±÷ú+­˜Â0ØÂqÒÐV„Ãh EgûUšð¦Àã×kÏ=Ù¬Ñ 4fgz5N tfò„“<¬ü2Ö¿Žë÷Þ ˆ©aI]XváÑñä¡•k…L¶¾JµÐ La×ôò¸Á;¸ ë0p5Ì$ÀÖöΣkd 7V\FÏÌ/yëŠ ¸™¯d @-µ=ˆ†¦Cµ‚‡ ¢Ñ¬ ã,QÌL. ™A b³Œ—"e¹ÒÝæc¿dåZ,É„·zÏÛd½a½<.ã=|ÐA(F$E†ŠªZØœÏ;ÙŽSë°4¾J¤¿ç®â²*Ðr»QeÕ2G˜ÎfPHãb{ |efÕ4ÒÃúy@%N]«ÍùpwºénÃÄ¿ͯ‘ å©îºeq>IŸûø“N÷ê® ù,QMlÃ\-Nô˜­_µõ`¯ßl‰ê,Ó.*E6ؘz¹#z§5ºšyT4Pþ¨Ñ-$ñœ€KO[ÙÓ驉q FxwÛ•ãT7ꢼ-+çµ2Ó4×HŸK E¾ØyÌvHð`Ú²Øw}Ÿ†D8l¢)ëGxm§ŠEÝÑ6*xÅ:ëX€*»æ|§8¡×Û…QEY•”;+%ÖxïЫŠøÐSqÄB“ÿ××YQðnݽó7¸êo)/üLõ±:0¬_ÂKDê17‡b£ùYø‰=Õ‚Úãç%pýøbÄ^•ññB_ëõ"¥I|AfV! F\ëTD”™³ÒMÒO,üˆ[!«i¤£0°™Q@ö«Ú­-4×$Å^_Å0TåbáÃ~fèãz.lÕ0 ”2óa)~Np Äi[ïf¹ÞÎS»D‹Ù,¦@(+k{¢ØÓÎp|¥ÔÍIìE²gœX|jj y×$Î7u5{m3Uä?çh|³MÏ/ôCµiÖë:ÏǪ†a(Ú£É:oœ£¤¥Ø3ÿ<#La %\B¾£È˜sç ,Ë!NnÖ×<TÄûÏÏfõoxÖfÂÄM?rt&¢å¤éb'•óiïJà3ÍNŒâ4ÀõTÝÆRþìH çCü¼Eí[-õÞX‰’!„pë ¿Zx‘Ÿ0LÇÒpÅÿÙÙ›^Uïó *ÑØ.½pD’C¾ÕÙhÂxyªÐépšP A)@$ž~¢Ùy|9ªSÛ…!ò#ïF¾o®ìbw|›%ÁAM†yï…Üõ»‰” BŠ ò£æOœYÓmÌh=øcuŒŸÇœºbn%XÝÒ˜·oóáÉPW¥ÏKU€ÝÁÙsDbãcT¹‡Ö+ñ†®àÃŒ¦Z9óTÉãòÛfñ2®¶õq) À«`rØEç±Ø7¯ÜÚÃ8„Š-“íð¥+ÜD7•ŽºÆ7}Ó­»¾eÁ4ÞY4zu¹¿e¾Éƒ¨lɹç1™ªòÍÀ[¦ãµ<«Ë ù¹{À6iÌ÷AØ‹bZÃòEe3žÎÎ)Gh}£8C¥­äó3’3Óˆ°N €!Væ¾zHžR½-®ÎeM¹ƒ¿ËªúdS;…¶QœKgÏÿ;r;™®P:u ¹.ïE¡éNO'bæèDUx©ÌKÅü<”’ìT„Î £–Zw®´d^³Ô€õºñhµ¿èM¼úÍk<µö^ÅC¥žë³dîíJâø2î’ë,¶?zHÝ#cAeñÝ–èhHºÜ¨f!Ùœ~še¥ †þ«no}è[¥.K“×ÒþVç»|ÔH–Dpj¤²*_·”$5ʈ‘xÅy°«š`\C¯ x"élz¸ùJÌ×ã·2¼bmCKÑYSQsÿdÿùfjñfÉ9×uÕDW§ý&³ÉŒvµþøóѹ)“„źM)ÓÁÙm"0xû÷µÆ»àô{KfS£TÍìÀÍmw”YY„/øêï¹qrn<5Ó’yE.d_Êù¶!H)täqGRz÷zslÌ3ÏÃ:dÆ'rv)f(®EwX×ÓÅþàNq?½O¡µg…1ÇvŽÜ•.p“¡£ãLA| H_—m“û‹Á÷\grn-IÊÄ.sd!VÉ"uêùyZP(ðÅ„Âïêh¤**ñ™ø'ïâ Á¥‚БúÑÁç’†·Ðjã0ê%]c„Þ–©›Ñï{¢¿ ëaøïrD' íÍ\51 5hà³cU¦Ö¦~ן°JzŽŠ•1b9îÚëñN7…M`ðÓSGÛq%j‚µîN‡ËØÁ8“¡¥¬,ÙôÈb2$–]Ç|¢œÝåÐëKFX€Øì*÷·˜réPCÛ\øW3êƒÍ=äAÛ/dßQr-Í.§7…ÍJyíº ë‚~ŠyÛíA•Ø`™GûTCVÁaŒÂ-Ì5Ö Û>ͶŽÎd|ÆÎ„£ËÄ/«ó>Nú n_@ÀI^üÏØ$PÌ„³¦[–´d©Ì™m±ÀÚ°1¶É r¨óÔ˜š‹K1lÝ$¯Å”<ú$—#må¿&™§)^¬úð€x;ôuÒûÀQoªe‰’äÕY ƒ@Û”ºn‹(Ê1NìÌøµUØi4ðÈnbÑVµ0v4ÀWR?\‘w¦fQ;ÐøgGÍ•>-¨*dæ4ê? -Ž´¡Meü7w¡àT‹õ™›ü…2‡Êƒ§H“5,*ú]3¤$êcÔÄ`ÄC;†ÑN®yò`¡N“Ðà˜+y5ýèªé‘˜´”tSv'#ç’~ÑR4)ø €Œ@—Í]w`7vøháÚïíh“Š ÐuïÛ$0cJ2Ï ¾¿Ž”>³×>(§ÞÏ eÅ®ØÐBvP™]GÎ) ¦Teð<lùïi|ÄQtFýr#í×ú¿½|½áTË­öurŒíÐÅR?ú¬ÃÍ­§1­Ùn lµ¾-€µ%$ä"ÕZ{Ë·Ä’² Çs×–ÖÛ²™óßG¼‘gÖ‘‹Þ0ý½hœùmá*ÌPÝ;fœÅmqL›Âè¤Ð$o’{áäG+¢òt %t"³>ºÊ*݇ýH™£/èõÖ$ ÆRî,ë]…7§2­Ž\äeLö¾îÿðZJ6/U@Ùžè'ˆ "kŽ÷±ìPCÈèø#™˜©[‡äSóIÙZ¤‹‚Æe‡í¨RÕ]èöUœpØâ½Å >¥œ}””û^%Ökeìev¿¯LË/(ÏšOlGJ­¥|ÎÒŠºrìÈ¥ElÏò¯æöŽÓ§ÌÆ“#0Ó&‡v/{wóMö^·oÿÜDéV<À¦õò49%x‹OÜÍŠúúÍ´9wU£³Õ—£àûßÀŠuóca cöŽ.¾¸V=Ö@&ºŸ }¹ÁiÇ`{owê ´wÑ µX-E0oueÍwb¬ˆ6˶‹°>¡î/õ±´…ì&ÈÀR>1ÁŠËŸÙÁÜŸ·Upa §NÛ\Rú$Ðr= ¶ÜÞû ”ÌCd¥œn$† ¤ˆïgtÌotÞ2b—Šcj$Zá»·–<Í­k„nUêǾõë×øØê\·u«ÊÈÖ¥jÔ*rn%v¬œ!?îNsÖßi¥Væu^o …[ݼ€n¹Î]z†Ñá@ùnÙþŸÜO’‰±øLXµŽéêu¦v™\I¼d¨±›wÑâ¨2™G9Ö*˜^ûý.@‚ðÀ½Œ‰©b—B£çågÚ›ˆX=‰cLL€Š¦ÝPáÍÐuX”A¼J©Ðv•}Ƚé¡YƒÝWŸ›íïÿ~MëÌ9/ƒJ¾õ{‡GÙͱßðo t^úUÔ ð¡;¿-߀­) í$&|PÀ.ÝÎY(Ͳ&u<#iKÇ’ŽøUÓ0…(“eì˜n6-¥%ÏÔÖÿŽÀß~Ìv½nÃÕ Ô 6û Äéò.ç=LiÓˆ=oÈQ83«gÅú 1Ik‡ð¯©¿û2ؘk‘àŽW¿àNž'¼­]žšùToWàÿÃxå‹Ìgö&òHÿt^½ªH¬n#æ˜ 0ùOXÄíÌ”^@N×γþ8æäj€Çpiø4éÎ>ë8Ýa^%å p€êï¹ü bP4s®ªÚÓº/¾ôù §4ó±ÐâF£gó×Â9C««ºÂÅñ’*h% â&D^T4¢ý”NáQ®î•Øn-¦ tVrè ,>dgݵ1wÿ9Sy:õn›åqJßÏÙd®Ä4Œ àšVꇾÏè*w]ëüૺyJáUŠæTIvs™A”ò Ir'vÿÐÁé·Òîú©o}Í|ÿ™»ZxRZçéínÇ_>XçÔK°T熌™Ä!I­5|2MëµZFZú|õÑØÞ®Š8<ÌÞP½48ibu®xÓb]ÁAoöü¯qô!Î`°Í؈oÔáeg!Ezù žC½_÷‚r§ösö)ÖëEnŠ<±ß0w.4º#©èã:ñù;o,Ò½±óÇsEúŽêŸ+°{@eþ-œ—äš,Üpè¶õöY}•"®Cs® ß–FØËk5Êù(g%‚ôv””hééóÀ}&Ê”„v&E”w‰¯xÂPÒyZ±î­&ޓŅk£bîFP KWr®‘ [Ç Z ÌÖ0Ý=n¿z®Çz¤¡­‘yGLÈnRJNC}ØÊÿ4(ž.p»F°¶ˆ*ªfc±£=×òIy)^ÌoµIõŽ?…ب\»“`å¿¡` ˆTAûÕ{±¿t7ˆ¿~HÀ”3Ïk%N‹@6Oí\FN[âœè—'³Ei›…UE_}z+kÈÝ%Bj¶‘$»¾Óü|ßm Çn‰ÉC*©«‰û4ÿQð¸é¡3,]žo|ˆƒ<%è›r¼¸u`[~,äk®ôq‹#o[0h]t}è9pWl…iU(úƒ\”ÂSõÞôöÝÊsv›±Øy+®‡qˆkàÂ3;^i.2Ê6át³¢›ˆËûjUFdGÊ€w°q,퉩ìñUêäÂKrßx}ÛóXËçDp¬ÍN1+šB÷à SÆË{6‚t®ò¸…W˜óóVͦGè:ªÛÌ?e?BXЧ-Ì›>>¹ÈPòéßè_ÉV”Ó¬»XŽ*¯R-ÍÛÖd©Q$Æx­†pë6Êî~ÁŸôèrqÓ Â# ¸j6ïÝýöMøãK¡ûwQ»`¬™³}»\hý“%ü»Â|Ÿ]“lA‰>ÕAäá$yIS¡uGøwa‹Ï[©À\7ŒpðÔ7[™ÆÍb°3_*,Ü«½E6ŵU‚(±?܇sktQdX±Ö±7óë£:_*ñå =FˆëʘIÉ4û"¸Ëw ‚ƒðèZOS^×ÀX\$v²rÎÞèS/ ›*⪠¹Œòÿ³ØÁÅ ¬éWG onäni~P¡Ý•¹¶,X,ùuQAÇ’#¹aòk  hªV ý7)ÓibÊèe éîß›…3}ÿ"‹¬é 0s¯ß1Xï$ Þ¤!Ù€³ñyÙSå¶ã$>ïç½7ZZ\ ì>‚‰/’Á$Ic¦lëÝvæ·ÄÙþne´š„îßÍx1=Ž«¥LâϾ ?4Èè„W‰›p³–5ÆoáòcN—›Íe%Û¹©[îUØXºd»rºUIÎôá¶}(èg¬¹Ïa2^`l\ýdé[úõ~„{01ñ&Øš‡ÌQi;eyn=ƒyÒkJÐm,Ù¦sR¹;¨çTD %ò¨x±W î×m![8-uÀ‚P¨¼k¶?‹•qFä€UAö“ý¬GS“ÑŽN&ôO€nžXxxÇ=Ÿr¹¢;žòÆëÌPÈ”¹óµg Ú ñÛÇVÆ1‚{RâÊÉyÂUc^Í[“œÓì ù‰Ž{Õ{z›ƒ!æ„@w6¿<ÉH„Üd€23šËu| •‚"}âÑ4=èΆuÇè(ŸÙ}_sKŒŒyK¿ñ蟉›~$}¢ËV>šœènüÏи¸±¨yHë0©1â> £Ž9ц“fØŒ‚¹–<X:ÑVq¿òL|Þ©px-=N9°³ ÑL:>›¹l‡UÐèî>!¤—ñÕÚº½þÿfsv å!»í6DðLµl C«ßöÑ JˆÚhÞÖíÎmv›Îýºw‰‚i8ìËk¹D›“:Ÿ«ô´_RË÷ÍÓ5£8$u"Y²¢,ÓÚ2áWíÐy‡ cY$j¥úóØík‡jµ™Sª™ ¢‰¸†&. &GN_ð©}ýÌ2—î¥ Äu/q#xˆ‚á´ª©¦~ >ä›pЪv™¨BÓ0·Ü¸{Ggž/j¸î2tÚ2›š·¼ášË«(<ÏW¯ïûékà,bⲜæW*ÁeŽzüé'5þ|ăü—É/›½¬MÁÄćÁôÝŽ|ÑäÃù–ësnµùóù(íý౸ËÏ;Ãñ£fŠõZõC¬gépsXf¦¦4‘Jæÿ‰œf$`om^˺‰ÖëVú…ˆY.£~C ž-L™ò´õZÙ5•7ö&Ø’ D»L·ü¸ìHiñî­÷*óç½_2f%’ZŠTD¦O 1Ï'ŸâôZ×8DÕ禯²ÓåvYü¥Ö“ûy‘|@BpRƒ/JfV ½®âÝ›¾ ²Q}œ7ÅÆŠ{u ¨¥FºÿóSÍoä…1DºÐ^£Å@¿¼l‘+ã.^gWòH¶aCÛKÜ|õíis="¬³—(5×2xÿŠ]»hHþÊÓ_Mr˜ºÀ¹êôíSf™eØó¸!îmòF_ˆ’¨þxhµgÃðìׂº°0ÄrôsR©fã@¥õE“ÓŒ½ÛiSŠÿ“æUbÊŸ¨xxuÅé­#¾š‚Ð~z§RÞNZ·Þî» åïéÃî"IwtŽñ†ŠÛ¨@zö~‹Œþ‚+9Ld°Ö¿@ã‹V± åLŞȑãØÂ æ -í.¡^ß+Kn¤"–{yºÝÌ~Ü}( |ÇÀ„gLJìfxÅífþ³´¸üȨѹÁ<Õ£ÇÜ6W²° å ®9õ#º•­w듉Ñ6VŸ[ D‹’ h|ý‹Ù³áUÑœZb;ˆ…&WÁ5´æb!íÜA8úß6gÙÉþ)׿á¥Óø‚›§m€NŒrÙºÀ#Â65zBó–ДÔÚF·ðy¿ÇÅÏžjÈdXë7£öJÄgs,~ËËöñ!,ãEŸÉÞMMº§Ù„ßf;†(¶—¬—qŸ5:Ω÷Ì7ª*?ÑÓss˜bã{êé–ÆH©aüð—ü5ùŸß_Õ¡x¶ò£œàê)µA=¨D  ,er±K9#5XXÉÑs믶èî.X–ò©PIf8ûù¥\÷Rþ%ï0¿6²2µ­Þ8qE‰#sùY{ðGt‹0÷¨£øO~(P"±²¬¸„ïb9ÈFwËçà3ŸTU$b¿éIÛç°OÜËÔ,_ðà·90Üz7â4ªdõÒû\ëkÝÏ]·0´S´´8½P3þ+Ê÷”JÌäA£A`Ñvë¼vrç8P:¾l#Qäk£ûBk±ö×¶£‡%fò³öžu1:À{ïbÕ#ŒapFüö‰‹=Á׋ٗ6™ƒ–gÏ8ö ´[]õBüLÁVGoa@Á{öÁ«N6{¤Y.GŸßzõQ…žý7Lß°Ù«SúAZCêT: €¯G·ý,xðüÈxj†i¼©6q·úþÒ8‰b~x7†£•®™Þ>&¦Ë öö ÂÙŠ¸•=t+Ý5p¯b¢·ÀÉrCu`G¡û‚Ê»â©Ù‹M€ùBà*è}1råGª bL*r«û¶ý÷ò#·|¥€CÀ ½~bÄ+Ýa WåÝN´ïøËˆ¼Nµs4ŽöaËšÓ$r;1çz´9Ī5¢l‘/[|&¬Cï[èKÜ‚8ÑEî4Ó±!!•”•w:Ä(,AÁ`ž’eb óg¸Ù°ßï¬v#‡öª½bˆÅî^C[ͦúÖ¼vø6M~Ï© уþdnÌV!ÀÿTˆ˜[œhÕ4_á<²{t»}+êÒ&ÓçrêB†>zoa¿V-ŒöJ"X«CvGvc˜ct¢ [}ò”‰gL¿~WNIí`¬Æ`¾Å¢¸a–›2î7ù4Oò^*àæÝk°O~õ‡¢æj8ŒýÒâüRùp¬Ê„ÿ¼d „2±QŒûÊzá×ü]v˜?†è ¨ó Qö“ïï´&yÔg¢HrëH§`œéS\@uÈ=·;o]7üB<; ¿¯ÿúŽÍ,“ñ=¹lòRŒjPÕ³©Hu{‹š¨]/ž®Q¦sŽ%ËSéEnöì듊¢3ÚñûñÊœ gmNö' r0Kg”§lÔN#MÓxõò@‘§SE©RÊË4e¨\C† _;ï=) 0- lQÁÜ€êÔ'n1bÝ‹ŒU¶Óò9Åð^¥N¼ˆ¯Q˜WÞ»Yk¼†:'WEo¼QG®¤];þþ¼W° !™=ís°D(¼ßɹ”¿1frëÝ·S&±ñ¢þùäY ]XÝS¦gµ6]Ã~˜¹ë”/_i“uû ñý„#ú ½Ó"Ÿ¨w _ŽA®>9~ª]õ\#?…½.N³¸DU×QräýO4y}õæ3æcÖª]¾ȤôªfJ)F©É_å˜dúú¸èkÿàÁÞ^ÇÖ Ìº< ¿Òš¤#F >Óö&`¥«vÎíÙˆ×n ã­A¿E¨OÏ<£…¹¯Z¯šÈíc~¬ ôz"}@AÌ/UÃ0z}—jÜŽ‚I²³">Ùn¬—5<>¿Q‰?ü»¢å½Ù龆ÍlìXËÉŽ¼ÃÒ>NÛ}؈Ç¡)Uß“©Ýg¿âêçý‹šåúxq7Ë)áï€pÒ*—Y}¥¾Ã%¹ŒÒý’RO§&ÐŒ1ô»®(՜מôÚ=6ïbž±2{F§×0ŧ >îHnçJ^ìß/ÇC½¤G¨ÚòÛì"N.¡‚Íp ´­;ˆ‰½‹˜¬»fýÈÀ/Æ5KVçÒu¯Ã‹–@ òS #2…âÝ? b½â åîc$#ÅÔ«òæ'-”/nlz ƒ¯ýá:‰'óé¹èI]"ûÞIP)(úçIJHÞ À²wQ©„Úܨ÷7¾`ôÞy/wµ¨Ò­é°Fîœî>¿·ï¡!Tý‹ ÿC«6ië‰|ÛLÎ;Àa ÀrRÁÈO†@ðts‡¼6ÞE]&Lk£V*qýMB«ožF‚$E\\ø9WÛÑåCo™þZ7çXBZýô5%lCˆ3l¹×Áîë]´–b2\CÕ,žÞ,Ÿ¥Üx˜·%±•#–: ô\<¬†ússÌhƒèMÁít@’©êá ?üW`óöyÓaƒˆ…&úlÊÏ#ì@u“w“µÍùг €<ÃO ϧÙg“ø‚Ó?‡fÀG‡¨„Úß.aéag»Ã— ‘»¨Šº÷2Áx®ðœJ]¦á¢ƒUÔíoüˆ=#àq‡‚\šŽâ–HTÖ@ËU*˜°‡9uô‚xài8ež ÇÐûP-å_På¤aÊí]s£Þ;xÉ%G¬Lµæ2u´Tl;a÷ßÏŒ^Hzw!#Ò~«2G3ƒvQG;¥Û^ÅAÉ@ËîÓí žBýŠiGŠ,ÉÚõtäÿ‹B2üå3IÜÖÞÀîPZ‘‹Ìe©à…hA´q°;pÇ“Q«ª«˜— ouv@µÛ¤+7ŽÜy][dƒN1šŽ8Õ&~+C®ÿ¾¥õ Úu'w÷ïßßa6ºöëÆ‡6eŠ~'LTØqÝ€·Bj¬^š\‹¯å¬Â{ɪ¤…ƒÇ-_XظæÁ²Ÿ‹G7á°;m7ΠÀŒî Á©DÍT¥ë7Á¿¡T ü¦X{8{B¿RÙ£@{¯‚PÁà‚d¯ÐUç4»Üëü¬vÌQ4çoiG¡ ±ný™÷V$ºeزòéoà ‘Žn¿’“®v¨ª’Êä63…z^Ÿ7X­¢#ÁðÔXà Ï÷‘£ºtØ¿è†J4æØ¡ô{e>KØ#m:Ô€\ Pòt30àù$ÛU5‘¡ ˆ ?~3æ™eù\’Á “² „Ñ;qR²>ƒìð¢¸PúÜ2D>Xz"Qðܬ¿Xoý®û5áïÊbÌçaÛu¤¯xH7¨í¶ÉQ.Iq"ÙÑB¬î·YÉO´Vû¬ž;`Y䟆hs@ˆ,> œÓ#¼t|bA´…²ðÙc+®eÛ¿'2ódž,WÎŒšBw~ ¼€ýØøªW®Áºª=Ö~ø|¯Ü‘N4¸ (Û\F%œÉ½zf;¶wBieÖ7v3S¸ôg*ßO&Âû^íÜâÎ3¸WDÄѯ‘'Ýá(„œ£ÿ/²jÍ£{A£¹¿ŽgÓz ‡âoà˜[ÛÄçú˜z'Ñ?OŽÑÕ}Bøæÿoð=¶p;¢þ!cúàý —3W¹T=¸ó¶}|)MR§¾^<Þäü¤Î%’|AÓ§ÀH˜7ü€“vû…ô¾iÅ/!„ïP 5Õ Þ‡$®¥À¸£>s–‘hûD•»Y³, /»X«.HuWr\œÖåžþ oœçYAdDðjèŠ=«æKw£9` A‡ ¢4¬'²ó`yc~PÒÖZðŽè‚üÜ?Ÿ;ú¼Å¼‚ˆÇ䜽sQ8öÛt0‰¯Ø!•ógÁ¼ &äÒ>ßÅé2P?5w9ä2¡Nsc44eÅ%:@7ëCònˆÿqj|éöþ!kG8F–œàü\Ü@Æx:Çè-/h»26õÛ_¶ó—gyM…}feƧÐoßÛŠžTî¸+MK’i1N•uLÚ§ôvŸeä%+\wçä zå麃¢ÉÅo¼9ß7Æ”Xdg:÷ì×âéŽv.J‹ÿ†a³÷ÄrŠC—¦ÄÕí0¾Ð%¾ý >%ÓíweQ¶š@TtÿGÞ3a“ oÄsö餞–¥Nȇå]‰ Y¶~ïÀ(5ÎíJšÐ` KZ]µ¼ð—æý ób¡—G j_ÙKLQ <1;¢϶֣i®Ž»S„|° Ûü‰Ÿˆ¤Ç°yÓ~@ì³àÛô oÉ…§ƒ“€ŠàQÂÕŠ‘xÞØè¢jÆ[$Z ‡I2–…?¥¥ *¸Àœ¡Ç±´Bwí5)“ø@`¹¾ktf#¾PD)él·qÃKvù$s±iÛ“ë+í8æ’‚x(¥Ÿ§’¼>CëðÚN)+;ÿORª;:â”ã‡?¡©iùÿõerB;`Œ·”DG_¤6m§³é°w£‹îƒJV‡ƒnd©œÊyÒÈ\¡ô46¡Nc%Z=º¹\òGhìj—§íwâÞ" ÊÁÎØ]´#ƒ'~`%¼l°×£~ºÑ…,lc?Ç™éùFœ¿lÈá0’¹® êÝÐ2žý„eR¯-¢@ e0ÒPC¢E®râ»û~@Gnb'XÇ;Õ¿>,#ˆ1:G/•—*ªÏQlÓ¶S’,éćW¿ [Se >Z˜½€k{…§I1Áæä%Ý͈Àu2R\آ݀p¾“¯x)1ò -¢Wΰ/7EMdg°÷Û+ ÍýYì@„óQÍèžÑ}gù@Œàˬ‹–]bj%ªlàR•­±¯Vü¬“¦&ÈÇÍJˆÿßÃrÔj™ -+hC 3ÆoT톻xÈ   —ÃJÁÖHýµdèÅt£“1°yCâZÚÃÐ‘Ô NZÏï-™ŽÍfI:l*ú¦Ž½8YrN}Eû )ÉáY©·Œ–iÕ“m" HXB‰I]_U¡@|ça–­Bš­JX¨êI`Æ•”KN :ÈG¤/«:Yƒ5"ÖêÖö“Òz©} µµÆÌÍÜ…cx;?y$Ñ ˜LËà#PöW—Å–¸£±ë]>3ãâë5õwY)Ó“24,ÕÏPÉŒêÔ9ÃkÝŽéPM a¡ú£ÙP:<ÚeT±Ð@«‚ŸÀ›-æz‰ÎÉ>µL®pÄ¥ƒXßOÙnðXÜÍЧ°ê𤃠ÝjU,¨ÖüÄÄR4K]œ–œX¡A‰pM7)0¨¢§U ‡)bÃî¬~Â[šEÑ”·¼u'Æ GI ² lç¼”â)’¯„æ©qO2­ŸÐ»»ì^'UE°’ø BÃȶ!Ú´éRŽ”<Ý€lu ®‹{f•óÁ§Ö6 <óé b˜Fm0Î!e>V Y®ÑÛòeæ:²1EáwËYmàªÁá¬K0ŠHü>,þT6%áwúgõWÑ} ‚NŠYãž0ðb…78u ¡5Ž&¬å'úœÅJ®ñþÙU“¿:ô:("¢¿ÉÙÝ“ ¿Þ¢‹ó}Í$"Di¸OS—=7&ÞÌ?#3‚÷%¼ZÂóxÛD$QzT»Ä´€^Xê/›è»à¶tN ±Ñë÷Yï¢_’ËK Ê4%i¬B} 1„…Üå¯ecLØfn÷£Çƒm®Ìy2Ó C—¯Ï%=¼f(ÁöéuT“c=é´a‘Þ2<É l¡Ä÷¶t]ÏÄÆ¸¬E?P£aÀ™ÿh©™fÍ‚qµJ÷ô/­ì*|صÃj¨ö)*IÂÿú°–„‚‘.# ľ¸HÇìáþ›|KCܯ¯œŠŸÕ2¸gÍVmMK7üǺM.ž[•šàþlÁ@Ëúè ®@¦ÒÉÞÃ)¼åxG*,[v`}ÉžÆ;”È-zÜÜN1SÃ?üóÇZ’P õqÅÀº@â÷Õz JB¼_È <©\-ÿIì’,¾x%?ló&Tb€]ÞcÃmo^\£gМJ(¦T}‹£)íåõDw ‘ÐÞy[{úÌDÒƒŸ¯ÅäÛÕÞ´¨Ú[Ý>²ÏÂe…={º¡ë0€“„þï®æ^Ÿ;Âs5¼ÃoØßëeþ­çäT®s³>ÍÅ ÿ$¢Â»¿«Ói G1ª–+@Ÿ_±ÄØîÊúÙÍÉÜÏîúN­`Å0`×2Ïžˆ‘·™Ep°;”îf½MÙ]çåê*†·é·‡hÁQÆx0»;¶2| »“Èu+²ÕÔ›÷ľwâšá:îøÛÖÕ"aØ]Aü„"Ãü$¢:EN6™"|Ù®ì+oü ÎDG—Πnüÿ Ž/­M‹¥ß† öïœS1ž°…±¶â@c Þ{lC*’Eã”oѳÒY9ýÆà¾(NÁ[HûH×›»½µª\?y"*x_»ù±šñfhy}¬;ŽìGÔF5x<Š×KØön¦¿©¤¸*|ý:£+¦Dµ\võîôõ}:ò3kŒ%"Ë6¿ïY³Ämõ ³¢•"Se×Ð1y¡E«Á‹"…A»,I¨Ü:ðeR~ÀÃÿgyhnw§ÑT¡å¢tÜ]$›ÜG‡Wmqä+#ÔdÒS&Oð§ 8Ö?ç á©<;¢£6u ÅöPÌc˜´ç²ÖîTÞ)úÿ opLûÃéw_éÊèá}쟢=t…—o Q‡5{ðd…!12œ{Kù.ZŽ+ä„So{ ¶‚»Þ•T¤¼?¨%…pÆ£‘Å1|[Im päS·ºf€’u#"xœz˜Xa†Ìãõ¦O¬ºr¦:›¡ïþ¨ª&`Þí›j©¬¤ùúhÝPƺÒ#RiÏvJÝ_5 Ä©Ñ{oå§ýDÉ'_ñ¿qæTÁ4F6Ú1y†éì|In¦H!=­9·2%"î Q`Ž0ø÷GmœQæÖôìö¯Y8ä¶¿üIõ$&£À+¦úï´á_xv?8¨ƒ ¬ÅÇn–H§B¡)¬åêÛ:9סP}u‰’-‚ö’Äx&ÅåÂø84¢vú[8™†…X…d2¥ïÚ²­'í]11çãxÙê±ÇÏÔ2‘(êÆ¢íÎm%²Ä‰úyò>‚y@» k—E<={“ $m‘Ÿ¦6íÕO#/£þ©ˆJ%0d1ÛVvdN:ZŽ|³ Ì`Ñ­ÃúæG±9c£‡L»te4eÈ›NÄf{;å pŒó…R)b€ñ(LþY b…”{ÉC[=`ûÖdÜ1‘›5¸Ðz¼ÑÚÎ%ø¾»žEŸØ¬å¬ïÖf p+d#îýVB Ú›ØÞd’N¦Œ>ø5,Žùd0Kae_8¨²©â2–—3GC Ú÷ÃÆfg°f`«!ãíaÌ•&¤Ïì+€s€Fq«Ú’Ä‘‹įýÉ&†-8û›¹ (fª¸z[¸` ÇB òÜ{F¡Ü|ͽE.Š-S=œó£ç‰Ë!ËüuÃô¨»Ãõ­ 1å°£š¯˜©ÚÄA›¯í›¨av•ÇH9`ŸQ€ ëxfí…±” k¢ ôþƒ¡Ïˆ ‰Í‰?D™yµ€"fIroÑ5–’È„iÚßËz$»%¹&³¨Èîàœ³—SøcTïvGË=4:酌͢°êôŒ¿¾]é_ìö3¨{ÚU `TÖë.´5oàU:R ÁRr¬ ápGkG©ë?_Þ&¬ÆÅ3ÈD/À2$ز™=Ë1lž3ÿD¬Ã´)㘀ž"ü¹¨Æ7|³á'í>iDä䎥¦µ€?oM@ 4ò* ?¼È^W}Å’mº©lcnBÄ»¤##ê³àÞ¼÷Nv“‚1RÐñöXó_•ul¾ãIïšd§¼vt¡]C-ª™¯õ•ŒõÚ6ù`õy¤~3Œì£èÿ6̾šANÖ±5C£#hÜ9^õ÷'êIüý^%c{N™HfLB¿Áˆž|×¦áØž5¾“2÷y|ÇT1èªðf?¡µÿfŠU×Ãc#Xh¸õÆIšÏÍ#~ÁuL ~³¦:i¶8 ª^òàüŒ0¢z–0bžÌÔ—øêoµž5šfº†qV\ÊýõSwÐV®Ã"Ë5.î^g, ×½±sÇîoüfî­Ÿ<Ò÷Tõ¹`„&$‰KA|¾òqÈ`›Ö`§àí¸ŠŸwUðq×ýóÌ“žÿWÐà‘Wª/¸Ëá=s+ÒœÞ<]¿}YN;XT+>Ä6P2o±fùIP^ÖF­=º$Œ{¢ϨŸxQ“þÆŒ€Ù &$ »WQ+êxâ„u"4âG9ø,}ôZƒQgA§Í~Œµ’ögÅS3Ý9»kŒà‰~q˜Aº£êצ—7ÊÌÂ#ëé‹d.¤úžhˆ1¿9øcRQû‡/ñ€êæE%MØg0»Ú*FùÒž«B°Ì¬æÎgÂGþÍMÏÏ2M{¥œñ)°‚E þLÀô] Šj“ìýp¬Ó(ƒ¯…åÿ‹Î3J9eÃH*¨jͬ*cçç¥{³# °««ÝhïEœÀëB8“•YðŒLúy?4H«·Á©ä¯þºH¸È`m•}ÿ{ES±ÒÓ•CEúR[ÚÒ‡ð¢‚quö6h{„Ô¢º©˜›<a}Ôó3¡¨ÞKv/!fCÒ$>óÑZ¬Fâ¢:u/DÀ+ˆG?Wÿ kW î›aAZ¿ _Ú»üeWFŒHã.®óû¿îzx‘ï1…\›Äd´Ú"JËVФ˥ äïÅ ŠÁ^RÔScUo–±!¯Âÿ=³J­@]L‘«³0Ëq#Q 9Æl¨¯Ææ¡ù·ã1e"c*«òögΉ&æ0/V¯Î¢†¤ÙœÉCˆH€ܹźHÔ¬ vØ>] „­0 áÍúV¶ÑBâ$²<í^б¨‚îî:õw ¨¹'לÌ}FÕAµgHg;¾;8#?‡¨~¨]Þ+™ÍfúÒˆ×Ä¿<¦Žà»YhöêùåYRÌuA?ƒF“¥½A2È Æø¹“e ¸=nZÎáƒ-×~:€9ÆÃj93‹e¯sºm\n_¿Íèò§%QB%Äï/fžî»À%84¶wî[]ò‚êØ_ãd²åm‹Èφmµ†ô½¿·}ƒ;ËìÐÁAã:ýܧù<»«ƒ‘¿i‡I'¡€Ò‹˜¥çß•Ï?!Èßò‹?:>U#5†$(ÞîÙåQv{éš½6SIìÑ<ÚŽ•ê#¨iW`b¸g‡Ú‹éÄ«ÈwË’nT¥YnßæW 7? 'Ú%Ü‹¾Ì:úÚÍ*ßúò4ÔÍ sâ­Kš(›™\Ó€dìFÿà\¶CÌX'„š0Ù±cM¨sTHÍPÖ0wv7ÜìK…]0S%?Üö!i Y– ¸üç“‚‹¤É-2á¢éözW8œµ_S©ÄÜ}F•²áâ7ÔÊW'qO䇬µß\Í™×­n@úï¿}ˆ_©!±_&¿" ƒ%ÃS™»á„ÿ(-TO›®Ë@Óó(}ðjßùìq,Ò  A@ B»=ÙUÁ@fÀάëv¹¸ªÇ$NòĪ(Ûn-”ËB*f`‰±ÿ¬"°/A¯Õ¹É/ö¢˜„,3ûõ—N‡Kv²‘;¨éß^ëc§¹@—¯¹ÛjirœÛr‡0XfÂ^z–I“œ×háÊ™ò’A«½ÜT|®Ðk®Ž¶*‰M1W½u_eAàP¿ŸŸ›R )œc!%ºÁ¡0…‰ò3‡nF$RóW™Ræ>˜Cø10ßæ}v¦ê%7WêmI’‘Œà1ƒŠGË_BdÀöµx>¶>òAÜtaÍÁ§f'«£G"Ø›U­ÔRƒ™ŽµÌ ÞJyü‰6“ý{¡>1*bè°q[ØÚy膂n”>LïhèÐ< àIÜRhØ·Ññ>Y ÅFʵ'.'¸î©ŒC­@1°Úƒr Èúÿü £Qh4ý,5¼ %±ÉYsÖʽˣPCQáÈdA—Kÿ$)°NQ@ï¡ÉÊYx÷¶Sì‚íý5ah¤ç윮õ¢)UÄL¿ 7lj2͸JìkžÁ- £"þÚZ#J## Mô½zûW £,;ÑjÛDi+ÐîÏä~è´é¡æÚÚÚÖýàp¹}÷É6TK =®¹ ôU®*qÈÚT^‡òíñö¤%z{gòì'Ó€%G^hæý„ž;ìõ« ƒoBܽ,¾Xü5fO0⣧¯c–g1#ÿ^j¬$Í9NâÖðÒÀû-)¦™Aêz˜œéþª›ÙˆŒ!¥%ã ®Wð4W¾¢d? KqLVQÖ`“(€C¢Jr6æFI}ô.È“¥ú÷ð‰ÄcŸ±Òåȸ kàé¢2ŒÎÚ}ìœ ÖYÆŸmñtµ[«A•t»¸&MPïÍn×SJÁ Uy´¼Ô¿=ÝœŽ]ÉgŒE„´]µ§ çf@ldSDçX–3T9bÇJ.m#C××þž±# –åÝ0˜°™,önii;ªŒµvl|Ì ´©LÝdRµ´`&Žˆ `Ì» å^U‡€½ŸFš·ž±H`Õ+/›U-啈±£Á¦Ù¶`$£¹n¬˜t0G—“*Ë(èùjƒ<ª zv:>gÊil4°ñ&Z «ºæ®zr>ÈÐ*<öÉatÓÈ n Ô oêþçÎ1¼­™sx?Œ’ <¢QÑ"¢à‚ÓÊAôúÁGœ3>™Ž°íä:} ÁdAÚmlÏZPIÒkÂh$‡!Ý>ïH|ž#ž(g=7 ´'$8? p3(&´çÂ÷Yƒ*ÄÇÈmCò“+œu :ùØßznЧÁ¤ÞÝçyÚ}NhùAôXHNu+)ßÖÝû¢½ïã”– ãÔËÕÌ™ŒÄ¨HFÕ4¸¥9p§‡&B)jÿ!Nb"²>Î¥®€«¤HÜeMà0Óe>çú'ÎŽ…èxW_¹iŒOdɽÃf&«jôöC û¨ Š˜[CæÂáDÿ33Ì+hj‘çÜÇ¡GÈtI eÍßs;Š|x…§” 1á;ìwZð³¾V ýþ ”œüYý„½ zè¾GØÚ «]ý BïÄÌ©¢Ô8/ÒjJö(EäF.nVý^Ö"ù e°PpðoFJçIš ÍY>dTŒ§Zƒ¶×vB!ÝJM>–ÂÙ˜¦W!åÑu™Áßd¤—Ÿ6õMCWá6¥Ks{Ù—C®1]±Òl1™½ìÆ| Þ¨·uB&‚>*kÙ;\«¶M-iA™6’o~£äÄwÓr)؊׷yNµ¥%~¾jí:*s)”†hnÕÎK^íºœû½¥oûR¤ô_[}‘ÍL%ñ¯GØ„”Æ~>a6­°…6ì¡• AéWOvôsÿîÛ¹ýÀqXe~…@ʶóÀ8ªÖ¥´IWZ–L-#¯ÛµfZp‰Ãø%Ry¦i*o/€ó¯HTCŲ2~MFÉøÍ9n¨Ò8ÿòuËôYI­ê„ø¬&#Š+CF¥ËÐ#w–$á±É$)„hH¶§ëðˆZ—\FÞ™„IƒˆâaFh–mOª¢?käü*’AÕ Ú2ôü†8õRª”n#ÇL×Ãï:\¾ø@@å5Ú/ºý—Ðæ)ýòþÙ s eD^%YfïµU´m)6Šdps˜Üã†Ð‡ùÆ7Á°Ÿ ··óÔWµ˜{ 8P|ä’óŽ·ICšÂ®Ú=þ‰ ¾Õf.’i ¨fD÷æ•òó3%0 ‘$+6±=Ö‡ù#Ѻ½zعkÈßìàå™çdþYã‡QЩÄð-îƒ{lul,uƒ&×§ýr¿ÌKyŽåUsÕoÿ\T]й™±ò‹½ÅïL¿¦æZŽF2¥È ®~¯-dìcr6³8s lm>xb}ÛkX¼^4I¦ÚÚÀ³n>1= i|±±‡*˜<ÇQQãªGA\X S) —Ü3ÄC?[5í))¾]‘èˆ#Û†Óó¹ªÜ±fˆãâÊá-VÄÞˆÀÃdïxeî…GU!/VR9î~þû …(,¾ÔJI‡œbD·O¿aïKD¯>°é(8dú¿Y$–áÓÌrÅR‚ÅP4Wêñ¿IÇ„ˆ;OÃ`  ä!‘žÓg´§êD„Q  é¡…,ROo >(ò iEa]>€‘9Û»¤I>ØÂCF…;€v¬‡)ièAYqeP°µ†W*]6£I‚ –ˆ$ô9ÑRÔTzù‰§ïE"iÞJ¸_Xýć«È,ãŠÜ‹S‡áa'/R3©u©Ä`Û ž_úw>%˜*¤WÌ!›s%O#. IÑTÀPË’–žÀžK¹}ø,´š¬Ü[¤¯ïŸœkEK¼VEÀØo§ãv]”†‘Ï{•Ó]q¥ûH}$8CLñx–®xÉ=3 Úøà ›¡X ¡*&ÂS™Ð ?L儹¼µ=7›ç×¢@¢ ‰<81‰JÏô¦ð~^Hí”ËÆì}쯉Tn=6µ”Iy÷v¯»+^üôŽÐøk§à·ŒÙhv}âÞÝAJP»‘âpõ(­y¼†Ñj´æ«¾9‘»¾ ‚mƒzã(É{î:Ð…AšD&¦:`ÓÛÊS¸è¦=¤ýÕTख़ږ…^F$l2éµü¹†|Ï|Æ×úþkn5´ º/\}“áâ§ä62.SûOeƒËwôU°¼‰¸’d™óg}˜m±ÌÉÕFt¢ôoÍ~fè×U§S__£`MúžôPŠÀâ,Eå܉֨ÔXÚ#r åLj‰,CÀÖ»‹¦6°s³aà÷o(ت¦›¼2)í\àF†ù²©ôêTG¡?áÙÀ¥`Q‹ÑŠŸ'«'e×ýE>Iå þå/1ÖI\%+sqŽÊÖô'ØYš:ð.ãSL‘I”*W_¢°öOht‰J z¦V5(¹d߀ÛxñšØŸ]†Å0r‰;dìŵœ´™ Cáê;‡F`Õ,jföK+¤39» 6ãˆD0™?ÎÀAUýoÀ°›€AÔkæ2—2ÁŽKa•0ãè˜_=â®sŠ9Ó…£ÖA^Éœ/‘øá=ýðˆ> m”deN-5’è&,aÿðIhááÔuÑÂ8äkIÆHÌv}(àØÂûÉÞø‰Û…2Øå/tŽËEà•uö††Ï?ÈÒ^z[†D,zïʨ©CÄ•5ù'=…ÍN# Võr¨{•ÜÉü…j&…ôg H % í‚:7ä‡à«YV½©Õî¹µYšÄ‘’6ò'yPgðXfÃQ´2_Üáw¢ð#°ÈŠ¢üŒEâ!Õê|tÌq›o‘|m!/˜íåñ‡¸p/ÛkEo Ïñ´ÿgšFE ?cp%M³FïX¼¬j—ñ(ã‚öÍ ºòæ¹T·Ä °œâ‡ÙÖ £XÂ&V½ª.kÑqMk± äC_.ÞÛŒf½\‡”yÕ\e9¨wDÀS„w°õibq—þ1ª¯Î’Xä(>®ö¥?þ‰ êÈ'Jâø.d/_Ç7Kõµ@§z—+ö(PWu]£†UqCo>!)&öÜíȼ»€%Mj´/4=Cš"d»³î†]0»Ù¨eVÝ^ ï(ºãöæ‡Vüªï¶oF;˜Óò.wF‡Ñ‘Æ[Ú>½ú£\¦9ÓHÆãgsHÑç;¯–ñ2YÑÔàŠ»xyЂY8 a~’ù¸Üuæ d¨°­ÜD“Œ¸H×ä„aöÉmÑÁ‚M,,ÉEýÊ$ ¾‡(Ø3ãÊë´ðOv2~Ì%¡êŒ«=°T²×BH¯%ú]áÅØÃùÞ†;.õ•ù9à cŒ@¼ ûÝ¡‹W¦É …ë_³T‚/G㮌‰åxJ¢™j¥³óTV/bî(Ñ 9Æ—¸Ë÷¤ÚÅ«’ ‡ õîdöƧΖìn¨ÝÌù?È] Èßæ5½£Â)bÓ/z¬öÜÜ!àbè»ÁŠ|ý äÀâÑ`?qzÝ`öżdþcé¯j(äÇhþº^!ýX©nZ\Í;Áliᘩ<“Ô4ª·oD3ûëÇ_¢³ïücçÏä)tZÍ‹ÁÛ(k^÷RE›ðwT2È(dÝŒr!–lÅ¥Akî/8Z¶²â&À½ X™’©KoÍèßÚŸÓ½GúZÚúÜnpa“u(Ûœ74{p5Yêg¬7¤O[à ïZú_ñ#ƒä—·ÜìÏms E&©,–rå©[²­ÌwÝA >ÞÙúÉ9÷@û¸·Þ÷ÒKÜèe íïµ*_)ºÜÒu*Êõ8@•iŒOFu\‹l=ò;ÀÚÁÖyÚ¥”~ ìLæÍ·t7•ëžž”‘ÞX€}ÒÆØ ôxù–œù> Í¿¸uú‚˜,±ê›¢|Im¢·è\0>)·Ø Ð`Æ+ÞXDU@½˜„ÜògúÕÈÚw“p„v]}¬1Þôú]\äqê«jB¯€«£ (?Åb§2×\x"ý3ŸÞA’A´Îœ´Èè ²áR 7(9§BºÞho+Bî3®¿^ŒÝè"âwN‘ià’)Á¢‹#C9Ód]mìµøHûèmðÞW±ŽÁiMÙÄ hËÀ®¸NÐu..ÅvÔlUñ«ñçöõº’ˆ“Õž„¶y¯›$ Õ/™K¾ˆƒÊD¿¯w°Ž.ÐuÒåS`‰`°„㩺1[Þ|¼ òLàÿdù¢;Í’1ëÄÌõ/Òà¾Fdð㯎ՙŸr¹2‰¶wF,5WcA”ªW—Ï k³¨4Ê”)©°j†}8뇂™µÙªöòù´ ¢ÉYFq"ÎiaOµœS÷ ìEÃêVj9ÀèóÒ¦êLQÒ6ÆVSJºŒ„?˜VŒzÂzæ'笈]wͯÅíƒI¨ÁÆt“~´Ä Ãù3E8ÄŸj©i¾;^€ÉªÆ´¹(&iÒ ˆ.Ű¼âÀ7Ãúéá Äñv\µ)Ízt¬@=yûLLíòÈÏFÊWï wî%Aå'PÇñ~ßY «‡÷£åY3Rš—ß`p©N¨]JËߎÉzý¦žH®ÿÊ›°,RZx°¡×qÆídz“¥Óì,&Dfi­=p õ„p±À‡6 JšFDj} =n›stYSRV>[BºL~å ;ž-­€—žiÇ_‰/ÅE<8 ð9½ÉôÿÜ;ß¼øTªË+x¿T'+%nµ:k=š_‚ˆð]²5﬌ô¸ëe{ŸKÍ[‚Q½>ô.º_SšcsåéáE#Wµp*h`õ˜þ&ç¶fø ¿®¿æ°ÁV±l…ÃŒó-‚²²±]G·ÂORàè‚õºTùf|(òˆg?:q¤O)–T©í‘bx`=ü³²$ºgŸe‹öÇ”KÛ ç¼%®Íy¾æ¾àˆyö² %þô´srï_+Âê^mCs?W´‹˜ðpjxgŽ‘Bò-Sû1Œ‰›BHìál¸Èš¯/©`ý¥^Æ8áRŒ¿8ØÒ;¾ˆÞ-× ÿX€ÌkÌWí©-€Ïïþhχþú'ƒ5Ì…éSÝÕ|¼×ßææ_ô»Í*‘„ççÚÙ8<… E}¨=”Q žú„öZGTùçÓ!¯9òÔ ~õÜÌž*œ•з{>ôÿL´ÐÁ2%å$¡B˜MñmÈoðÅ=Š–ÜÏ‘m÷»~‰ µív‡­óØq<ƒ™#ÓÌ!<áš@-¸™á Jo²ß=Lò ¬Â)çnÖ’$. Úº[ û„Õ¤ÆòKŽRƒ»L.±RòŸˆšMíe§–H¡äæ0#/©Ýt´TI˜'ô…0Ýxu`\‰S £äŠ”Ò *9fêªØ:]ÑœkŽ…\ KZó ¡Ü¶Š·wß@® 7fÀàâGõùFe7¦vÊÄFQ²÷ö )Ùø­LÀ0ÛUé.1õ£Ã‡÷öN–I’e4*~¤aÂ]—"Í»N¯*~‰ í€è°kŸwðÂײ,>q¦ç6GŠÛ‰vô€Ê@ßn—œ½ZMâlJÃöXUŸ=¥¶`[‰ºégóÆ)r#LÈzV⵩ôQ¦)AgäGÐâÙª^=ÿ4`k^V} Á°<§û {ᮿÐe¦h Tî}eúÇDí(„1¬#¢AF8îy=ÃvêiahKP hKÏÈíº»LâÇÕ_útVò¥:ãÌŒà®NàÇ“O¯Ô¡Èµ»~þ„Ç Ž<{ ±Ù gŸÈŸªîtA°ú¿ªÏjjËXÄ»«©~;'šÈ³|k±¸^e4¢¢á±š¸í¡?t=þñ üÕ id šU8Ï…„Ì ۾߶xtó*Øt7i¡£­ÇìÒ}Ì¡õ\»@Ò ,4æ@+`ÌO,XÌ&Û S™žóy~Ü‘¹Q°ö+&Ø –Ÿ5ÛοŒúO¸œþ±m cú¼ÝÈRüimF6A ¯þ!Åÿig@s£¾ýL®ˆP`>Û9[йñ‘€„Êç9[K2Wi«yß3¶H´ý“qHV_B³ÎF«µØ‹ž|ÍÚZ tÉOd†Ëî6«õ5^S ‹v5óÍ “ÎZ/FüúÞËKnæYÕW8T?’×¥ª›!!áÀ¥DêpS‹À5ð–B³£^+]šÄÃf¾:" *(É —9 2¤Ó#qÆ­è\aQ"¶(XÈn:$–]œ:@YgbFÍNäºæ˜¿r>©œè=ƒGLci’nôêYˆË‡Ks§ÊúÔb{Û>C5,ýØ ‹°)ýÖ= õ PT׸e)šžV9=( ˜ò¼#(`˜±£‚ìMûÇ„Ú^õa›~q*_ÃÈLéËkS«H;pÍÐÑwD›Ç3â-o3ÃùüÍO>ãž",ì%ÞTÆé£ áªn·QspRãР8W7n˜þ Å·Wþ$ÝYºõ­!¶ÑR¹P*c˜g·Ñ þÄÿRKˆ˜{P«ßY câ é²pò§Ñ­V œ[XëÔ^ÔÆÐð)wêCÂp£#„èȹ«G“a€dÊý¶Ð>Óp6Q(¨“býóá—Ñu Öל$oÃâ$-Ø7¸ž–ǹ3×wD ÊàiåË ’Æ5ÚÎ]rð=Âÿ.å‚+NÄdkcÛ õ¿ÆÉíÌþ„h[†½#Ží9=d"Uú{‚n˜b­/˜Æ%L|LíïD.£Ä§á‹Y:  °Ò¶ßƒyÅQéëm~­X?÷qQv‘[‰„¯è*ÁžøåKÜhËfì™OãóY=”sçéäævÂÙŸŠÌL4i­ÐPߊٙNWú¤,ˆཀྵªi$:¡GÛCµD­ÀÜA0*)e/hhÿ ÈAkÏ´ˆ4>ÇÀ•‘ù4´í~¢ìŽ!û¨„ï K,Šg¸yËÔï!.p"ÏÝ}¬| ‰ sG„1«x“§sŒ|ß‘ì/IÇœ‘û–aô÷$×ì<ÓØkrDƒÍ oôâxÁÕs…T8´o Ë^W¶ª¤øxÙÝÅBa'ž kV4g¼­á¼LË} eá½ÝÔy/ë]Ég^MŒªÔ)ó˜—îIÔDÄ¥UÌ!]a¬’(Ãgi«¡ÙÒ¾=ƒÕ Ÿ«Ê?[cëÏÁ¦²Ûë±É#—ÑT0…[,^¤v.B’xÝPŠ >2y8‚•A°p ¾‘fFì¹×ˆ¯MŸ#ß.#Bw÷þÕÞ¾<õãu0h‰çºëÝ7VCê.)º:÷¡M㸠ìqÑ3$¯NÊë0‰²Óxé Fz`>s[LáQ” jÆêº¹<Ïͪ _TßéRÝkfßtµ†P´žòBEÜU.›çÎú>4 g¥ÖMzGçÌ0¾‡"®}޶œ¶µƒº&Q{:¶ÒÞš) ꇉÁãæ €­jT4÷ #ˆ^Ýë튛^ Æbq\»ù´ŸêDí0SdTVÄ•8ß÷kmÀè|ÁÂ8³£DtN¼ƒcZx[Szë|¿D ›-ŽJ¬5oEC^!un_ïÿ®dÑ=Þyqö¸þ5#Ÿsˆ`¨\`å¼å(å(¡©Ãûe]Í8àž×Œ: Î¥%oHÙ­d/‰$€=삲f?zF°Î»8¡lv®çCná“%#L :J¥®pÉ£%foiPlKbç~¤‰v¸@àιSw‡¨E¹;ú3;‘úÖ¨bR¬PÙX«§ÿ‚¤©`bßæ(ëJ@{¾Ú:Øø3Î̳©•VûTÄ¢uÅe¸K¨Î&¸ô-9ú©bŸç¯§Äwü÷ô9 bÅó‰*‹¡§U?¨»y~c±ÆUfåÕVm¶ªI}Dˆˆ¼”¹›œff*uÃmo¨“˜siè3õÑ úqÝÖ¸v^Ь/bY½‡†¸d:­¼Áº`+Tf™ÈGÄÝ€ÅqŠôÝ”^ØÑkÎêÑÊmþ”BelôE¹‰v Žš FÁÀë µ¦BÍg%+-ù}n¸s§´¸ò³ûÝ—N¾ŠÓ2?0¹±J3¡ÄRè°1mw¿›«Ÿu‡8áM(ç«ò­-à{AÑÓjŸ{èP·2 sO-4ŸdÔÿî¥é‡¬%R«,~ðÀ\¶žDclF¿QdÍžvÎ8[•»a"/?«ÂD ¥þn +õÜ}µO˜é6öÌy\ï4ƒŒëBB+$ðžCAÛ„í6'–2Cÿ¬ÿ‘“/(A£&B4–I>K#=µë[\­¤~< J¬€ìÚ¬Mh"jy6;&f×(ÇŠŽ¼“+°à¥COXÑ…øÔøcà€€ßµ’@–³õ£Vð‘PKñ¡D½tƒÝ¦,õ{/øöÂKð^Ê÷tÐÏžÛ’1ÁÿÈp1_±b d¹êêè˜>fÂìlÒzl_¾ôkèàí 1UEdõp>‚ÎŒ%‚p×¾…4é‚«"Ù¤ÎqGÊ ÿÃs—Õ÷Âù6ÇBü\}uÏ«¿n¼'SÌ]Bs¢ ¹±GÙþÙ„Û—aÙ÷<ùiwmqèãt4Í‘‰úȡLJV$•ú€‘txt¼.9klT ¹¨Œ´×:X!UÉqÅ­äxL`ÆÏö‰,_(èéíLš®=Do“ç¯Ý8’Ñ Ü3V+Š3÷ÄUÅ®³›æ¯GrÕŽ¢Óe%ÎGÞm¨Öýþõ*ŸûT°G%VP\å‘4½z%Ë>™q<Ê-¼·Ôœ×ÁàÔ·Eé_Q&NëœxúÞ}úÏCЖZ<÷Ú)vgCLi%šÉ=¦†¼}™Í*²à® ^ûA×ÀUî )ôò;TTÔÔSNlw«9±Íè@ngè±cLriëáYªA‘aã^S¦‘Ⱥ‹ Ù×!¼$ó­l$ eÁÚU|e–f ½¥†Ëðü| ÿì´"¨™5)v­®£¿ò²àÍ<|ˆ¯Mû¢’™Æ¶™pûå(àÎW™Ôm¹ !Aà H)aA8®¦{ øÇN¦ÌKL!ÔQé'ÙM8DÎúU&•¾¾˜I$RòãñвÀ.yŒ¡—<_òÅ‘æYñ&ÈYÌ+H“òýg®Nº€:¬’óó ­§œóeNþ£®þäÒ)©ŒÝž¦üƒôÝÀw³Õõ•n÷¹€¢Û‘–#fy;È.˜Yµû^',ðôç3 säü*Èf´Ëù½¶Š¿`¬#TmL—"߯åü%ï 69RÀ£(?]×6DBCƦÞ?mì€J ÄÆ4:ð6ðÈ-åªFÑGÀ÷ Õ}kbÞhþ2‚.¤þ ÏXÔN³ø|{R.ËW±Üæ»UºÎ47BÙ‚ha'Òül[ /cÛ‰D±q„³†zöïû°ßaBA»`é…É{Kk™XC´<"Kqû_°¥áÓJVlÀSò4ýö$6Ž‚ƒ__ãlSõ^}ÍÅZëá¼sœ.oFÁй`‡ÿŸ3m×7)b%UPÚ†&m|) ¨~¬úÆ¡ÌÅ-ùB„7ÿZo‘xõd›]h©iBÙØ¸WuY°|…=§d™‡³ëˆ97ãµ^aÊï7yË~Sv8rÓ•1Bâ7NŪ@€0¬)mÎØîåÞs¤¿·¶•§S3sVÓ ¬Nmø.Y0å!eÒ»šc ñB„p-uÙ*hÒ#ù®:Bê03Ñ;›ÄÛ¨í$Ä OBE±Å†Fκ9Ð6ôÑ+!–ꞤƒŠÏá>Û_Ô8Шöß²b¿ÄÅ,ÀÜÃ@øhû¦L!¯Né²ÍYõvý|1õÒ„‚•Þvó"ùAîÑhÖrÁÕ@VŽÃg à™£Ï3K¾V„ÙC“ªå¦qÚLŸ:Ã4okOW2žbþ†Î;µ{F¿ó@LcsØcö¶.Öõ4d?ÒrøË»®/ò°æý ¨ljFÐù=Ã_cI?â~À@ÜéÿÆU&f‚ô½™ÂEHKhÓaÅ俱¤Í+IÖ™l Ó¹Ü,&#*±¥yFÐÊÔÃ2ï´î3È1߉`` w8ïiÎz ¨X•ã¡N…l&òÞ$¯¡¥bƒ¥7y bîovvÆô’z{ùA“kì#·î¡åžIôW?]Hç!ÌÏÈ53 êà“m•¹ù—DucUÖ@XÝ[íI´{Ï¡ Ùah; °áõyü}½]sµªÉTâ„yo{3,IM3€Ý·÷{†ªP÷VWRœ*j4[˜ÓÁcábmÝm÷Ž…)î–iå×;ÌR<ÉàÏVEÛNHãɆ+\Ÿ£ &À¸œ÷C.—²Ø#À‡¤¼#X}ä—ÿ‹:|à™Ñ–~TÌŒ,æa; !«Ú„›Ç …í³Btª)ý Ö©¸ŒW}þ@AÝ‘ ˆØcÙÚG¼†0§:£ ½bH³Ñ˜ÐÁîÀöþ²Toì#¡1t‹lúUNêFÆÕÒ<­¦wNBŠÅæ=æé‹ýæ»öˆ[Dz5ÄÁ͙¦%4.pg”E~±A¨îœ#ó—©Z¥_«ÆêQÛK8¨/æì¥‚_!ž-»žU¯“ ìp2Û\ýú¶rHpš5ÎÔÎ]x«Ñ뿹îóYÖnzµwç᯺M–0ý§2>}Çõ$yÏ·&ÿæ—·-i:H€!f ¢¦· xsVBex³Êî7vŲ̀q%ûðŽsn†èöÿ,-Häç2™F,¿Ö›‚çšGžüð4·ÓìÅÛqtý«ÐÀC$|Ãô†·Û,ÓŠ]° §±UÿÎK…˜ÌåI. ç_g†€,mß¾ÄÚÙæ¥•Ië<¶@7,*Œ8sqóøà>‚Þ@žfu9½ò# Q‰7ÒSDù¨,§)Ñ¹ŽŸ ˆÌpI2sŸ_Ü(²Æ½b׊w$ô¤­øt^lto^+‡96,¢ü\N©n•Uj]IÖÕS*ƒ¤ÿ!À #=fß‘Ì,v» !7U“™à^-Lå¿Æ¸/<ܳµx¿ã/'£¸`Ygm-«†Š×¶¤ä‡Ü4™sÃÏNðøÑºÌ Õ]ÔÃÒ¬1‘ þÓÆ–ÑDÏ™jníÙïË_èŒí„— àá$k«Tú"„úŠP!ÒûšÒRLìF‡ô÷Ô©Î,QUƒ_¨µÌ°%©j³r¾õ³t£¯óÝÏŽ5Æ`ç ´‚×BÙ?LÊ(P¨ÿX›à²›ÍTd’¶ÿWDC&^`lèìÔò•þ>o‰mšnTOIz¦7/0`õhŽÊÒá #u®É]P¥wSzž•æø(9k1‰ût~ÏŸÔzâaÉøwê ä˜aŸN¹PO» ¶Y¼÷B)訧Ã÷£5Zä篫‹;1dx”ûž.L<’C¤-iò ½Ü«øÄªÝ ¿åyõF›‡PzïÜ©•‹¬Œ0`®£^'öm_yàºs­v0zÍH3¢½"à«ÓêÜÊ_8ÍŽF8rÅäôkf"IY…òTlÈ`á†#¿5WƒaLÔ´Èe¬1Y”¡ÍØØ é_!ˆ«Ú¯yªª}÷=_D³—]Å€Hæcb­i›‡(S¦$÷ÿß-†sNtÛ)I€›J°xñÆwï&€žƒ·÷7©K'b-Pz„ÔàJ€ëÇzµd­—Ä]‰?³Êl9lE¾X§P€žþbÌt¥×D‰þù&7¼«Ó¢­_J‚ü°câuض$I•¦jT¢°H­î™rIûLÈV.›Né–H%ïëÆMQ¥sê5ôé<ÐMIK³Û<÷«O?Az'ÙÜoªûnç¢zôÃ[ŽÏ|O·¥)²­0˜//߲侰›ƒp†‹Ímt&­× C}A»/ðÊć¾oÌò(ãh°e{+ @N#±~Þå`ýeÇ~ýËÚE@*4I‘°4o¥·ÞtâÅô¢µjW4ó(÷á“)Û/M„ÃmÝ~¥¸TŽŸœÜólÖk¨îxcXjõg…Þ{bHôû„²­¾Xþ#”Vã%šô¾ PI #Iss1Ts¯hªU|¸¾E{™Ê|-šÐJu¢™öJeôÈ^sêü¸‹ª=A}^lð¨'´¨Û4ønêàôƒJPªŸÓÂ…O Ú¿lI ö dmúêùÏÐ;ÉXÖȺfYS‡Y%JòŸ6yéç@Çr%óµösÿ³¶ø¸ÔšSžM}¨´úUkÛ¹°ZÆMâ ‡ðò‰X¾ô‹°’f¢mÆoŸVŽÛrœÀ‹þwƒý{ELýÕÂHÖŠ8¸«£ÚÀDØñåÅzÚCÞö0ŽÉ_CeA´”¯Á ñv*8l~$—NÜ|ÒlR1ðò¡@3Ä/@ǹödǃ-´Êˆ×,Ã"Ò‡vªÈ­ÒIÉI»†ö2ð/.²¢éûÕÇòhLöªºi•>;f]fçЬ¡‰¦…€*œˆÚ×a4„}À®˜š†fCîÖØÂË£BBŠZ浂+Ée·VÜh¤4Ùu"êJ_>Ÿ- ‚?<jaYG#¤]9…UˆuÕ‚µØ£8UZ-’z~°‚#š›ÈoÁ=+nê+Zß»¹ü€]oÖ©ˆô¥µ¡I(< [C›oøhqdYÛ¼Áð#[Xɱå‹f3æ“þ‚;6z1p¨Nëƒi›‡êSµI‘' ¥•‚ΘεAšŽÈ³Þxã²²Ù+½´¶¥ú¨k‰Ü]Ñ‚ð°ÔÖWogÍðõ ¥8õî¯F ^'þ ‰Ète úþ‡¶5(‚ÝY—õ 7K÷íHµÑ±®õ¶’ZöŒ40Nâ=œTÉH¯ÂE©JO¦]μKs‹ó}!¿Ê2Ú·Ç:¦ª¥µV„½PÇ×R+@Ãÿ¾~³µç¿z1i”hþ ãwö óm²êòA& /Cð"h•tÒ˜\y]š¤VZ©ˆû¤‰.twøn¥i(‰ÁáÞ‘y Å]ņà9¬Ô ^ô@>Šøôº™Eg®ƒåSVœjKDç¤ô¸M{Ð9'Ù ÎEfÍ*Gàz§‡@ã)ÊoÉןÿ]q€ñ `XUø\³(¢‡í‘3 1hÆÎ|«|síPëjħäÍ¥ÌfÌIô´°*ØrkŽ¿¼óŸ^Ùû§Âéƒå->Û©±²¢uuúñæ6Wÿ_ ù- ƒ>>¯èƒ5l¡yyõFUªñFM!BŸ\” òþ%ƒtù;ù#ÂÎl¯o@ZeI{ýÃl±Æª˜hó‚eRÉ ¾=Ê#=¬ö¦´ÕŠ€w¼q™k‰!ÍígoT¥‰aÇ4„¹³ÅßÉ€92¹zGÓžQdrmR)òhÅ—Ú¦WÙýñyx<;._ÀGQ†g¸Ž >×ÏÛCªtéüz‚¸ô¾Ÿ_E@dhþ y„• TúiaIJ5yìF‹ºìßhƒn»iÖüÇ[*ií›ÝX®Q1òF]«Qt‡­s3ëj«ç!ÿ4|Dk-'G.4Y¨#ÿfžcNR  BkLàÊ0_B¯è]ٱǔ¼Õ!ZÞíO=Fîô4[yzF’fºÂt}r£·Õ= Ù¯ˆêŸ BV®½tv×þ‘žˆ‡ð4¨†žýÜb½æ›áÏv^áH®'<çQBÐF­8Ì|¼øeëlðkR±¾ÕZM&ßkä>Ö‚KT‰ô¥¨wÏèÚéÒ%$ºc¨b%Ìu¾NxM@V.XIƬþ½²Æü—'‹oæã®rs`ßoì°µ0Å¥^ ÍnKuåQ€k¨–Cäš’y!ŸèÖJ5ëb³«N`‡G$#†.ÅÝ·ºFze´þ@wWàÇ{>iŒ½Ú¯Ÿ¶8H[¨\Â-… ÉÿOŽøEç“["@Éðnˆ¡ ùoÁ©@ÿ€Š óz½^Èê õj¨àr"àHœj–F±óŒNñÃvÜczáxvn øneíõç•%Íȧû\xµj>ÃPK’'âct<™0 sg?Ûª8cÏ|í:Æ×ßä9?pRî*M‹Ýh†g“Ó0‡½GŸG—°9[×TÕ`„0äªVGÉ&Q˜ä‘’lxôZ™gÄy²Ì‹‰å±‹¶Æ}ñoW…ešT+ÁšÐ„ÜËÁ¬ÓF‚T;a󬥞î=“Çñ>ËMbkpêO ‹÷«Kœ½î9ý3µ=A,ƒ¯æˆŵMfèþXÈ©øù¸ÞtŸýlÓiN‘hœÈ]·nú=0çÝ¿ra‹žáùZù¶Y¡×$þF´e¹ÄƒÎS¬}é'â!d]:¹Xªy$Lõ×Ôkî‰ ŸÒ¦áuª—æxß+óð”­SŸ<ÉS¡½3 dHÊ…p®˜(sNO|-,¿Rª6¸7`²G¾ºæ Šûñ\‚8ªGeÙYˆ‚yí±‚­¾¾»‰k`áf--KŒ¦õ­°µË»õ* c”)ÉŽ«7zö—0qÛ^”~‚Šdç&u3ÅQú98 ê6†qÔ|%÷t Êñ ]gx>MïJ“é ¡HJ +?šÁDkÎm¢¬NT¿ŽyI$m×¥Z{Âþ‰ëa¼U…wÒ$¶¤MAõØ4SœËû(€¤ùŠÑyÌMÐYß?Œ‘Ħ¥û©ºûfS¼ù vµ( :S™Â^Ó`zm’ßÚé ÊGÈàö®òÓ¿Ðkî „ûbg^Ù–íPN$£xØåºùì¬FßKÚGvÄÎá‘*ôÝÙoD>Õÿ]@Yaß{‹^¿Æ?Kl{9Ä¿é–ò•iè+%‚­DIÀü-ìëåò2€`¼ýB9]ßæ… C‹zË€hL"±ÍÉÂÓ3FCUéMϱÙÒG-Q¯aÖç% oS«1mvHà|6¥QÚ{¸Îr£ÝÒ^#Z•Z²>˜!nMM+ÓàQº¶ëöo8‹FÄ 8K¿øè¨ÛN—3n~ØÆJùþw˕Ҭ\œÇðuÑôƒòk â´á/~ñWT™o¼rœj©QSJgé[çç{Ý4fÌë›\ms–脽o'•»Ž ßCé³/Âx¡.r¼_‹#2½4ñÑ5‰€ÿÛY„-ôè›orøäâüf‚ZÂÙf6UçL›ß>¨Œ’Ze~ð 4"¾È"4à©w¸¢~1_‰µð'3˜8ïo `¥þRýõç. ޱ è»7<¹™Ü•)Ý+ …Dâî€(.zVÔU˜šV1Ù²ÕÎErš}mÙ‚ýš/‹$'½R{d2?„#ІØ}ZVШ¤Eå|Ó¼òÏDu—Î~íÇ[¾—iÛS±mœk–bÈjs­÷ô`Š,þY—òó‰áy«ÇÅ>ÎãÙŸ # xÑä¿ÈZÌçVâþÄbÀ5¯§Cbjç)k$Lµ%q«Ú%®nP%ÌS^©#/PQªiSbN7¾ ÍÄÒ=Ö¶Œ7ýâS“5ýNóc¾—­(o®Qš ãÜ7ºþ%Ô}/µÕ¥­JÀé,† Áòß”b]¤PjWáõ =3À-œ¹"—î‚2i¥¥Á\:¡¯Yþ¨ ¢Œ‹ÞºÏC¸ø ¹‰â[‚h>Þ—Üüz ó8@¯9éikÏ„ïU‚ÿŽGEí¨YÜŒ©Ái7ÝÈ:u]ðXÁ#/FT(×NËN!ßàæ©jóËë&JhçRqBê´·²­NEùnÙ 2Í®W]ZB‰Ç×ò‡ ÄpÕ‚Lââ'anè]BvËRoÙjÊĘÓð–|þqYƒžH/rꇺΠŸÝ»šÜ)s½?|èŒrJ f@‚«\Wcúà!È‚fçQKÚ¦ÆÆ¡ù­²€¬¶¨æ¢ÄÙê†èw1Ža‚☮:  çqs2,v9ùDXÑ·ÅîL¹'&¦èT'é–?/þsš¹ê€~.µMq»–…›Ô,Hœúk«!&-•ß`¶‰FmvB—ïÇ„± 4˜‰ñ[ :T:¦ÂÄÒçze£ ¤¹âsŠÊÙ!Ž3Ä3·!1ïÖ}ì–6(s.|ÇòÐÙ\S*î=ã`(YÐb ‘-òóC´#Aï§µ¬ ˯›ÁüÊÇéFÇ7d–×Å&Öª»þØþ«ˆ¡õâ3þ?‰Â^ÖbâMÅÆ\K2Q¶‚EYÝê'{àÿ}Í%Q·ÚìÞºž‚m JC<•$ À$´‹ûC=VÚ)6F§ÏBµOHv—Ê}6w?°€ @3Ÿ¡Ö?5Q¤N×)»Ü yèü|Ý›m±M;ÀT.½ÝWàf¾g%Ÿå[ìðVÔ*%‹­Nþ6ó€õ¥…øHø­ù(QÓ^áÇ7•{ºQ*2hŸ/ÙðÄC%æO¹¯ðø¡Ÿ± B• 2Uýh'nõ$Cf?…¢%A—Î×±³•F¾ì7`Ìš×Ûþ­¹j.ÃòÊRÛC1¿³Ð‘–Þ•‘‹°™9Ù¸!b£ÓÅuR—6C0ÖeNYd±kQgPua‡ôh+ÖÓ¼ÕÖ鉤žÖtbö„iD²ÓnÑø%|͇S)ÎYNÒ¥¢ÎõÔ&ߪ{õÛ$´ûfïíwóÛá”9*J Ñ=(t½ïT:úD ¯Eêʉ#¨¨ Qà‚98¾Ì8ò¢\­:BÐó-,Xªx1@™ýìXÃ_b;Ë×ÃðÝÖžÇäGªµó@§ óÕ –Ù'ÉÖÛÓˆ^ôäóhª¶t»{$gͤÜê…ו\i)º‰ú>t-n·Ü3u[{^…‚Åscí^[Ô®…â'/Þ±a{.ržÅ­m è)âqè'©Y! :oëÉÉ*=\“™‚\»’Ô~AùOkT§Ô¸¸ ÐÑ^´e-ULN Û!ói·BO„ ïüVhšê¥omS=¦‘þETú•¡Ÿçr’gĵ÷-èï_T\!0~À€!öÿ>ç= *gˆ£ÏâlÕèÇDZ¾\Id›3ÆàØîD!g@Óõ¸é°awçzÒ"MB¿‹ì{øŒ^«Y¹a{ÓÑQ'÷ÑL‹à›UjdT h8>à*xúç¶ uÛs§£%¯ç§ƒ%ǨùÊIèŽeŸE6LêÖI&Ñ–Cÿ@"µa»è²‚ª[*/ƒüÉžÇEð»÷Ïéi°rç« ;h-o‘›%G{©8l(óŒ­M ,¼@ÁàFŽ9EÓª9ytgî}F îòÎ+Y}•í…Nw’uŽ-Æõmj²ÆcyŒûg43ý»Î·}êì(Á–É­ùÛø$Àb¥3†ëûÜX‚Å•u%pIW»ÝÜÓmæîöÅÓ±™üƒÈ-wÄ®‘´à)¹æ=óõÂ0*T8œü_€7Œú™?ü¤À*¾ö”ìz¤À{¿ÞÜ=wê'6y!4á‰É++äôæåãN¯æa³ò64ö†læ’Õg/u¹øáºRA”Vey‚OPpm¯UhÓ"l8Xîs2Ëno¤zêÚ˜õ¬üÚu|„&ö% ³še\ÑiÛ6óêBö¸‘`'{òŸø4oš|Ë£í:—ܳô›<Ç$בbmáumØ0gK$«ùÊi—,bÞ=½Ú’ózÎ=@´ì⛸… ’'Vm¬Îò™Âø—ÞÚA—øKaÆ©š¥iºŽ9¹Ÿ#ºðí‰S¿õ˜¥*þùº¹-Ú£¶¶ ØE7q í×$$¡qœu‚KdfÆÈ!vçV}»¥ —o²Û˜mm>šž/ºeóýDüí©)&û]½ÎÔ}×ÞëÂ/K-Ö4Á…/ºà]~4ˆ/­oº#÷+¬œÀÍ<*þæ°=Ôý-±”ì©Í4ÊŒDŸp÷?`aË Fß±o€­,¦äD¿ƒ7t@o@GÛ¹¡M+H½ª¾WÿZ ÚyçÛjržôr-¨BBF³Hσ‚:ܪ[·ÈbLi¡ÁI± „˜û8ò”²ÒªR‚Л¯òê¿S—àM•AƸÅ=¤2oYzð§&þ9}Ÿšgå1ý¿kŠ/=GHkÈC‰%­AÑ3áÑ3ü+àŒô”âL°ëoL*3ÏÛ0 %u*Ftc›äÒòIÚ˜béW÷ƒx%=/×À>³>a Ñü´ƒ-ÈfDhÿ8û£šËÛ”ÙøùÒZVû¿=ÌÒªì?pªN‰·8ý(¡<ëýï>›sDQÕÏIUDN+°N8ü0ËùA-ä–Œ¼Y‚\­YÎ’ž!¥0rb•az>òüŽÕÛ¨Ý,‘¯¡±Ì·éFC¸{(ªÆËØIÒÐFL{xtT‡AÆy¬ZÑ ŸÌÁe×âÖ¿’’Ÿ9ðÞˆ–tÄÓèÝæ?¨‘Ç%áÌO¨¿,{!â¤÷ÿÄûqT ô,qoÅÑ^ ÙˆþdÀúM‚Ì»Ñܘ2hÌC)V³$œ "JR<éKNôëQB_d;þ‡Ê“ô¡rÆ=ë†×~~BÅrduOl`£óÙ|U¿D@ÀÔwôeŠæ6ÔXôTZŒÆEÑÛýÊH׬lC?kÉo9*ñÑ=Ù~–³àøÍA¯‡ÄêOxô'ðÚðA&YêCÁzs鈘è¦ÄSðf~u×?øeî?]ß#ÖEGEuõµyLGÿø ljê5¼Š|(£B<–Ðßóê& |ÈÄMƒ^ý2o:ú@fn°*fÕõ,Ú‚‡$œHÑÆªÅ¯È V±òØô`žþXЏ$P’ïrw_sûŽ¥ÍãÏ=6æÞpðÖ¾×¼š™jíuƒÐ ˆRRH´1Q‘>8EoY•…ýÊ®µEÌ&• õ>”c¦8õ¹ö¹¡ñÆoW°t&jj–ëÅXÏN5!02Óô2>i\x¦Gåû‚×Å‹÷|Zq¿¼¡» ßåäsra—=[ܺZ\ñßE?©—¿½ë¹žñÒ’:˜h¼ò+ÃýE.O¥$Ñ1Á©¹ô9Ò7—M·¹òŸ¼‰úú‚Àã[ð‹ã0SûÄÜÃúÀo3tX?B„*­ò©Êà9}›876 pW3®Ó·­âTÚ¨ìpÁ€ºš†˜ò]»=#߯$#£œüÖ%Kƒ-qLDl÷ÈN Îl6Á9—æm§°/'¼M•%Ž£íØ¨º6«6“{5Ðy~¯D¢ Õà 5Yà{>àå>Å~S…|vÚ¥W&SèzBÛI ’%ÜžšæËùL!ç§_R _éïÛFU“ÛTö»ŽÉ£u®ü/wLG$ç©ÿR€„x:rÒd!GÄcvìü^~ ‹(G§}çÛ/ &õú½÷šœ™}QÆ@èšïkYêø€›K+»øgó˜˜ÎF/Qx6☋}7™^kÁN϶Ÿ H¡˜ìõ¼\}óB½<àà ãÔĽqM(@žÏÚ :ºb[‰tŽù*Eä)+AÜw.ªÄN3 7‰­ÌÁ^g-žþAÓwÎBßrÄ ÊØƒ°mÅÂÆ$ÛÄ/ÔSƒÙè”ÇRÐÆa×Níª½yðÀ‚óÞ%›`‰ ‘X´·ðïÃR€ßég÷ž`ºP•ÌkUÈÄŽÚz%V)¨'ÚpÂÏ|”ŒwÛ?¨Vb1 p‹žù<Ú¨¥=Û¶Íj§3B›O\êúÖBÒ)ͪð|‰Êt¥ø,âù³êuãg*²¤ƒ,¦0{Ùüôž$î<ñÇh^éCíýây wFà`žÉèVÕjâÇy`úÉùï/…XäåÆÛÖ…£´»Æ¸åê…òõïÊ:wâX<òÅ ¤0:OÑŽ4|©eiD“™²P1ƒùgÐðá8nlËÎ4É[ñN¥@rÀœ’ ehìþ[™Í©g¹SÌõ*”)Õpð… ³‘Ãvtt"4É´ã1îúcx-Uäµ÷ClúW$“€2ÌXÛ!sjò#@×d ø*_K…k4ÐVãPœƒ=VèО²(ÏÌ7³ …éQò ?Ãè©¿œ2ø8qb*ÞiÒØ:W¥øÕqÑýšx|{ÙxvÞ }´ÏS'TáþĘ}õÜI“*ÎÓýv}IêŒ\¼æáÂh“üsr;,½ŽÎ̲sG÷¤`ZÍ겯:¸P½wo8RôžÕ/"ÖÈ@œ¶ú©£\‡ˆñm:‚XZâx Œë ²6ûl:¯ÄÒß7¥“ésoS«+U¼Øƒ£³8¤8Ö£‘òÚ=Dœ2´iÊ%ç‹$;“i÷Õš9þF™<úßl‰!N_ûì->£>d|†ÇÜ@S ïGsêWùÕA,î ºð1ߥ8´9qjÛ÷åz¡Sæ Z¡È]¼Hç!] A~QÆÏ…R&aße þ¢á;”°·úô?÷¼^IÃùƒŸÿP3gµk‚Í8¹»SÛÂ`n‘[ Hñά‡*?Ĩ,Ë¥óûeØñ%y=ˆ(#§MxšáZOøKŸZ:ï&»}ªœŽÞjÊ‚£RËå/IMæ*‚ûE>ôëá/²YV(äÕL®¤©ð« ª(ÕAÔ;%DÆ}u®D©Eò hónà/Cz›[âh[1Ûu…û{›©5´âJØÏfö/×ÍZ_My—zòÄ $‚_tg‡•èó\+ô–<`ËÛÑCJÏÅÚ8þ»æKEÌp£ËÉE€2’BWà„&¹ãDe}Å<ÛæõJ»rO™óÉÌJ’TïÎ}³…Hpâ.Ê/ôŽÜÿ3ð½ìØÿ}C®(ÎlùN`ýä]öD#•`š…üc/oZ‘'ëФ—.<›icÙ•=UGìV|MBÌãØ)dºù¸òî¶b›# }þ-•Ìèzr'‰>}Ô¦…o$ÖoŠ€¯$™ûŒ•lXjãŒLŒ§‰ëÓÔmã+†¬L/Tü·ñ\µhù¦…/!·‰‹¢FÊÀé´ŸÀõ|Bèö¾„#*^.Öíô=(¯ü˛΀ÐnÍ0oÿ½t†¹m#Ù{Œ£îzCø^âõ9Ï{1|`u1 fF¯ú›Ôv,‘s`« úÖ8:™F¦ä€Ú#—R n®»4>Œ)@©d>;WË™‘ûTuÞÒ61±¦yÕ”ÚúRM[0z°¼ &q‰ù~—cá°:1#˜›§Œ§Z…YŒ#þ¢YëDY7ƒ#q³qm¦ýÌE6–Ö· jnÈãÎús¢¸×V±dY+T¡|Ma¢#nÁOx¼#Õ4çî$¸)ʤ®nèëb × V‰§ÝÇ-RÀ0É­ó ¯q²m|<ªh³Òi…«ª€l`¼u=…QîÑf ¹> ?@Ì~®)¸¡í7“SØÞª–ùÐ0Žþ÷†-Úh_Ø è* Šÿœø ìÖËp7”´¬Æ$þà9è8(‡èö}µ`‰enÒP0Ö‰ŠoùeC÷ÅS4ŸQχý¢V±Wµ\xqÙ• ®87Œ——æ«ùÀdÑÓñæ…žWq, 뾂æc¹1*°ji^ŸÊ¿y¡z„ ' ±=Š>eKæÌ†ÒkkP¡*Ùmˆ$sžŠÁî¶&`Etbô@Âàíc¹œ5‡Hjµwvõ:íIÇá×Û{zê:€“Ê‚´Ì¦òœÿ>¾YP(CUÿcR',°Ã>¾œOfŸrÿÕ€ž²eµá­*H¢”Ù £™†~òówb}¡g¶ÚgK‡¶©üSš…&@ÔVØE±‘¹‚|k<)ýñÁc©{õ5º=Z{ì;CoÈQ”㿎 û˜?³ ˜-ìF¼ùÛt“©ý×Ó@U›:ý(ç÷— _Zµh!€^%"©™ÈBüžwîÔç _ä‡ibê60Íñ»¢˜ slVAcûâ[´ÍõËÚŠí¶øŠp"h½Њ÷åR»»{¹kÝ ì÷‰ÊúÕRM CNqÃw†Í¤WÕ¼ó¿« 86$Ú&So#h—Ó«Ì9â024g¬d¬ävéõ@xf¨{¿ãŠ…_1å½vDÇŸ~Ñ‚Imt_÷Ùê%s‡éXšÎåÂ>“Íg>ùŽÍšünK˜òXæÀ°Üµa{ÚW箊ø5™MõÄD$4Ë{) •svÎÒæ 1áyÖåSëÀx‘z%ß–¦~Èk¦"RŠ˜m S›hx/c?ËO}k|š¾˜î~(™i•]àO2@ÿñK>ØC݆ÅÄ*ÐÛüÈK4Óèlº%ÿÃX|keé2CKp¾¥†í¥Ç€­'pi z׆yÊãvN|¿^ #’#ê©™­6D(§x›ùi;ÈJMU ûˆáW­¼ìPL8 Ë{;Ä:ÛÒu°;윹›±ò”X$r¸'cÇøè¡úà[æÒ&uM~Ð^ •+.*Ñ0§+cÙ‡M+üXIC5˜ƒ b‰ *h1µ¾q’XÝCdÉÕ)„i:ÉØyû«Ð–•¡lú‡tf¾$à"ÿþ~üGr;'ý§±z³~çÑW«Lnù·®œûñS¥7턵1¬­} ô˜yǸ“T;aƒçĈuXú­g)¤ye«¡÷5:÷* ð¯ÔÓ'ÇÍ'#ÐS¦¸²sPWÉeÁ†Aac*‰ˆþ¸µ YÉÆZoâðÌBÖÖÖYžµ6$£Sšn^‚ÞúœÛ7q]"‹vm©åXü«Ðô´—ä±ùä·(@š ˆ2íþ´³Ñ0]>íéÈù;´Ø5 ÄA¹c?ã²ç³P³Ï–°c®søÊ)9 ÅÚ”ì7"Gx?â‘ô¾…à~ ¶´äb00ÚþR÷Ÿ@@C($ÎP¿» <„E“ë95ƒŒ>+uè0=ÔÁqÀÕ:O|Õ¸ÆÎfþ»=×?*D…Øxâó-ËMñUdÌ^Ú7¿ƒöd¡Íʂ‰OãTÞl8¦Ò¬NF“ëÅÛ¿,àN¯7ù°!FÙŒˆåŠPT{ZÐåqÂ"^®”ªçžñµÄs¶,f‚ÍÆáWNЩa(NŽ<=b#H7@ÁÍ –ÄãVöè·ó{®£ìcøjüoÎJüOqgØ‚;¦·Ÿ{1»ßƒðä˜øæl†cLÖìLüßÌ\™d¬Y —£EŸV@KžƒÞûM)(¨– ìéŠ>„©vðƒ<×P˜¢jNÒ¤³dš8¶¤m–jHzÌÅÜ  Ûx¯ +ÒI1|p¢áþnf«÷ËÞ™ãœ#þ¹(.ÿwSèZ¿÷å%ïHDÝlx‡““)ü¨T)Y­|CÕ2‡iÐt:øæÙXŲñ<æŸQ”QÒ3tOQŒ(üÁŠàq¶”×6Ÿ ŠA–·ËÙ ˜Ô­SöriÁa—PÖDz£yaÕjØú]d¯\]Wˆ]e}uýœ‰—:ËR‚y!ŸL‚ )zÿ½ÀVm.2S«2Ù2µñ%ºT°çõQŠ;øhÐFµúb9nóôÆ€sàˆƒFu“d €ò¢"˜¸©‹Ù~uì›Ó4dŠ•G´nH_rÕî­Îvlèô7òh2Êõç-XËÎc±N‹C³uÇ’ŸuQ«ynRðÄ·ê°0t™EsSJîÒàH/a¯r1³Î/X͹!'åþQïeføò€€oGh v^ÂôÇWX|µV£^ƒž"˜æì°C1iž ûab²ƒE°²›Ñ®xÛO…;¢ˆ]g%£MG€„3ˆNõ{Èx÷•áòœšýðn˜ z|"ð;ê·!9YËä§(Ÿšõ’ÎKµL¶&ù­•çw1ñ(r–È};/P ­6ã¦êõpœf:l§—OvM!?k)Lÿ“‡ž"—N§¢8x‘ùp‚­–ñ™¢® Ñ$„€œk6šßý)àÂÂ2ôTͼ0Á,Ó÷xcÙ‚eø]¬À3gL#€=^ÀS˜„nøßY;T'ýZ‚EÅ\…ž1ýƒ{ëªQG# ‹tèïóÆ®ÆÇ©”Ôðž~U ”÷WÁ!1RqàÑ%´ù:ŸõȲÄR!@”©ØÑø:VF.;ÍRZ¢ä¨áÂxþ‹º¥ jG¾=ø•æ6Çû #†Í\‘âª}%Kß^Pþ FŠE½ÛH^ù`+ Ijª`;‡`kö=²ìN#¿íú9Y½jùÒ)e!J=¡¤‚.8X´Òþu–\w²MÑf¿’¡=å‘Å`Øæ¶ýÛ´#.GìV|…Ý%r‹UÌÞK> u]Ó²G¤ÚÞas]pFÃþï\öùòmjÔÒmŒ˜Y?öÚDç¸ÁÉz°‡_6Ý$1Ýåú½Y—~ôϔʗîXC·H+XñÏ”GcÔÃø`Oõk“#…<ÿùÉЛ•O.Ö!­­·Ýz—6;Wñ¶Ð)¨Þ+Ï*?ð=‚´ýÈ3œµvê:ůàHŽ4’¸µ5z„÷F%+¸Eá÷¹öªS‘¸yCDÈÕz–ÉeˆµËöÒå:á?ƒËw"8 ãÈÞ^`ØÔGYàxeüמ^$ÒTæ£ÀT£ xøY– ÓK²z)¼ô)?“?¢ZÂg…×Gìiðf  !L®W“^„Ir #Ìð¹n0ŸŽÿñ¢ #NŠ9ø${¡Gʺ¥ysQ뫾µŸÉÏÿ)ŸaØkmò¥ÊÏ=¨¶%Õ§¯@ËÓ*(Câ„aÏv t’ãJ./"Ÿ÷.É£²¯ q¸oÁ(ÇýÚBó™P5-RŒŠ§éÄ66 |2æ§ž‰^ŽY `O½§a—²¢éâüÏ2&HQ«]Àpéÿúµ©…õéûT•‹Ii¸ ® º¼ð TÇm•“žÑ.s¤Õ¤¢H”ãÓ#+Kö,À0¤>˜M*êº*Ügü[âÔsàYx"l©¯êf FqÕqÄnkKÐSþQ7·le4!^ýÙ±¡·—7Ñ]Ê=MÚð$]wTKYïºtfU¬}lÈY÷¼«>èukIɃ³(%¡=“Š^RJös{^oî M!¹ 'Ù‘ùŽ”ç“WKĶ_Æ…ûcì©‚\yXV“«,‰[k#Œ;$÷&nÌ¿¨nM2«¾<|l‚^ÿŒîû÷L‹è¸7yÆpè~ÛjŠeçðÈí?Ä­Ÿ½‚ÿä^l:ì~Bÿ›PË‘Å~%~jÖ'Ùý¸¸ Ë8%T;O²w.‚ŠS9¿ vGtJ ª5Ïù>àRðuÏ—Ù™çV ë _™"']Ämã´]ƒ†ÌXÆ.dLBDAè}Ç‚ˆÞt-Š›Ï¯SÕ W[‡p–k DXÚpstÌ·ZJuV]4‘ÁíÑ?9õý½ó\*Cݸô zD4ä) gpô$žˆH(å?¯ØQô í0Sl†èÃ-ðÜ0´9> A‚C¾§V)§ü*ý²osƒÁj‡Š uŠŸz(ÿ‹ÕË ’ѨYDí"Þ¢ULiDT©CáÐy[âfªZlùLyœpV}ÅnX‡–uWµÆÅ°Ktüš"ÓE{ìKª9ëF(|…ÑYÕe›*">î4®æcmòÝ›8u$øÂiÔ™í/ªLD1›ïð"WPWTè¹* >…Êžª¨?‰ïõÜW|,*½ˆ¦ECªº"O ôHf@äòEªôƒ›²RªêÖˆ‘0ZV_gJmònzÜ[úÛÁu¢û+(n³àžOº#unÒ6ê1J‡i Ê/ó)^{¢%a€%T"Ö¸Þ8¸zƧ»ód­‰&öþíG\¥]À)à=ø$/4™ƒÈ£µ×5ŒùGï3ݱº f&R5=¤ˆ­+ËÁóØy'£—+¤}˜Êjv ÿ2üø‰)¥¿ýžÎu†[¦Óm4 zn¶²bóœMëI'nL.áW]OÞcž6PGÌ9¾6øƒf Âù?ÊÄ,æÏ²%gf¶€I)bþø|Âø4‹§u;d~Ìmé¡ä²³¦:-+^”öÈ<´ Zæ“]°x*åƒÇÐF¿2•ëBQ?üö] 'ýÉh” ¯µ}Ð({dò¨š^sÙr`×Y·¦|WÖ}nñyãSTpv׳ë xº×:IJ·Ü^ì‹™ÓãºøÉÿ¹ß-ôÆ2)ÿ5*ýžK}qM@Ó~UI³PL[V™¶Ê¡ÿ߃Ô!Ê 0³ÃRNë!¥uìçð3»÷oÎñZ»ÞÞ§f™8¡  C$¥i&š}SæÌgäìqbSMʸPZ¯ãÒTˆ¬Ô:à.ã#ÒiÔš#Ì뮼%t@V™C%’±>¾Ï’4ÏBÊÜžHuîŒòŒa> 3˜Ðhzºd`¸;i ÷!i‡'ž>aØç§rܵ : »/Ï JLüÙÅT¢°ô‹êiƒ_üºtaRš¬½Wí¦'Aæî(ßqH¸‚l±ùª§½ûí}û˜¥6À®r§É³JLÏ­Äš Ãh: „Sî©wÿeá *’tr7Y-›{ ­•„üÂCq:½ë*‘¹¤^ßöy ¬ÌŽÿø•—ó¢*{ eFÌwjzEÎÿåΕ»Á*ñ!ww¸®fçÑØíœ²Ï1uTˆÈ´’]€raqå® ÿe5­GbWâ|úO` Œt﨟7Aš+ô[kâÉ4|9šèt7Üm6[›U½CV…ŸâDS4çâ\°Þy¼–©oÑR=?±(ÕHjÆ"¾©±ÜfÑÑFþ5+ þ„1ЋŠÂ58jðë¶–Ô^ãqÏÌ“Mà§úPíÂzD ­‰Òj\€vO52ð0}jë˜ÚÂÍ‘˜sšwOȾÈaâ@”wj1ݪËÌ›‘/ãà[ ýSÎ`4Ûჿ¥˜'”òU#暦.ài±° ©ïMA9gî«>Ù&Ý3q[ãºOXžóÊíUJÁK5Þ>d­ Ýé²›&Òë< ¶YR#; ³~k ÉBKŒç”Í>Žz|B¢.MNÁXíÑ–•~[Ë|Àš+=ÖSçwÏ‚]ï9VÁ ('õ®Ò]œ~™p`ÛzBÛÜŠ—{F°Ý><–pv…O"ã)r‹€EãJüp‰,­Š„êÒŠ@Û p‚?*ñ‘=06˜àì”_ȱ»jä2XC£•+?âø• zô^€ŒLÙÊUÇô0ÇœUKìX™RÓ'x÷ÖˈÿΔÊñÕ¡-_ÇsìŸSd°×}~üx±h7WH ‘GàÌ.tTQRÏ÷ÜAÒ5ˬm^›ÎÝ$Àé/“EØÉi¶'¥-—¡g&æ½tÄ[è%ó‹/²9keæ§… 'e=½áðœì@5ÑÝ_¦h€if§±†ÄÎtåq5pFj2y\BìÙÖ¬A£Y=°²èûréõæs«Á/.aîñÁ¤?‹PUš‰S“ŒCÚˆT`{ªêkÅS=u¼‡à:5”¿AjaEk¢ Kâƒx0‚âgŽäpKuWÙæÅæÒ_wD±ÿÃhM ›ñˆ+ýäÀZÏv[úóõôrÖ¥G`#›=©Ã—ÇÈ`'b'B‘0äœT¾¾Ç˜oÞU3ÇtìÅ'sÿóYaаإŅÂ{­ïiù5rûa!O¬ç§ZTýÓ:VµZSJ“äé€1Å‘ÂAÔV¼y&HøÖL20/Eþe‘Ê9ŸådñLœÂ°%Núc64hž3пà© 'Èî““nLF"Ç.‰]‹×¡ñ~ WŠŸ…dP;²Â/iÆ;Ï8 Õ WôçÆx(c÷''0©.z»e<ϲòÅbSãiÀ"?9El§UƒÛ‡.pQˆ«I6Î:}~vüu¥¿ý}ÕQTÅ;¤çÂóNîG®ÊtÒ™a;´#´Q· Œ’ dEàŠ™ÊL‚Šxº¶ŽÂÔ1±á»¢Ì‘ÙÃ\î ÷À“¾š¨Ô^ º¸yù¶–ÒòµžLºgЉ†\ÍÿY—JÕ²†Ùý = ésx2ŸºÞL%jhXD¢HY²ÿRãë¢>œŽá°ƒ ÇÄf ' Ú—êÉðêZM♘ƒl2¿/–h)päZ8x`˜K~7%ÊÖ \ûP¦²óØ Aü_š,ÇHR2Äì­/‡ZS%Dó_/2$ ×ÜëÛ®%­ýK À|‚ufË5’Ø3 dFtŸÀ–H}©¸–du’íúaN¿a<«s§èÑĵf-*N2Io:Ý1ê‘­‹ *Ñ÷kP­kJT’G>Lâ-’ú2¢8<膾ý/lÅ´àåнjx,ÿ{B£¢ÂL¯É6ivk“Ñ:A›I‰¯ïêèѧtÈ.ôñ@Ã.ÿ-Õµ«sðMúò©<£€êŽ–·pç&O½ }\cDã¸ùX³8¿@' Dg/¢m+Mm×Ì"ùÏ%eMo40ǦO é·Š/J4Ù®©ŠT:ƒýûËEÝ¢j‚òÎõÛ½ ÞDó• ³©ÑÌD%•Õfaû™XrBD]¡…$œ‹‡+¹û7§øzÀ +ÊåñªmÔ¶ûbL* .½&I>“¼ “A³^Òô´‡þ3²Œd™)(Ë (%à+mDÑ}ú ¡”~¥±ÒÓë½’òý‰ &‘(´åYÉoü‰d“ž¬²A-wE/­XôÞ;R6øšÃE°ImŒJÝÅš°µýïØ{r)S3f%•3tãÒgºŠÒÁ˹Ä\š)Uf¸¯ªl…8-Rééˆ)§ÿ)…([’ß{0×Â]!ÏâQˆ‚}صǪ1ôÎ~ØåípµCú#›MÐŽ<%øh` ©Hç`tpêGf3¢{ÊN–Ê™œvñ“®™•GÔm®¦ÅoÌ‹îòl=,bÈ]=—ÄͲSì, ŒÅšo|y½$ã°¬óÃÔ}ým»¯~Û‹5ÙÐù¿mD…dÕ Ö.òêΪ’5¡BþXu¤„¸IÍÎÏc‰*N’[™hDâe›åfÕEšÛ&#¤ë¥çÛS(MNª¢î)Ƕú‰“pVTÙsÐ=òøÐ‘Â!²…#ŸÁ¯ŸEäî05þ£ÉWöŽ~ËYmSÜ\ºÆªÝè?ðA;µë`c$𔇃ƒƒ_ü6DoR ¸;W¾>Û´&!á/}ÿiW÷¤Á(¯u ÷ؾ5Ä̃ժté¤LÓT[«.œÝ6¶“˜Öj²ˆEÞÓMîmÕªdUí½Å¢1M@AúÐ’%_7Ræ}´A÷ÏzÚ¿Å7Ž tUŽåxF·{‚%5â '‡pÁºIê<5ç]?ÔJ:—G$›E—R ««hÈÙÑHí!]ºØf¶ƒþØQªž‡M³ÀÚ»ôïÎ^‡•(n?ô”Èñ?ú I§~V+ßÎñÕcôT:aìåéðŽ¸Š½H}õØODË‘`÷¢›Ä róÍÄáÛåõ'nꌩÀG`oüžHƒ‰ÕÑycY4~r'.’ܼi8E>…˜§ŸÕæi)•¦Æb¡å¢ÜÐ@V[Ð6˜’Q‹kËR*ðùg¼Å›_Yè÷a¸P/{(&øµÿ*é ‰¡³ïV!ƒM+•3–²1%ž½r&rX¾˜Ãsˆl' Õ=þþ‹¡Ü\§%É.¢üË]ë%Æ"'–è*B"Àä ¨uÍu$¾ *sÇóáHòÈíØcªánXɬ#yèHf~™^®ÏP ÓÐ!éÕMÏ+¿çJ¹½6"ÛÀÇïÛP'añ‰'([aä0­çùï¥o&}7ޝô'ÒÌ&ÓËkeé|œ½Ì›ùÄ x熙þ{v5€[u!Oû°ã „Z´*²‘¼ð­}fylPgÍU‡\”_’•Q5ÐèËžÙ¶wyY3¸6’ðÌ·Õšö7âÚž5g>Þm<édÜÃø8 ¬Ò$ßγ–Þ"kªw4ÿ÷‘åô×ÏëÀdØZ…žc;-íP0¦‹†C² Je4Ú¬ÂA­ðÅ ©Õï4ý tTüÁí®{Gà?gCwò€FíÅï‹è©B¬ß´¦öJžÚƒ.òu”µŸ¯ÛŸcÀB{­bW÷1SÏ{Îdöâ5¬µæ3‡m$ÁíÔÉzÒÏ.ÃÓ^_í‚2Ú°ñ 넼WrÝ&ÙÄÜç(¡q}A;à¹Þj„y/Q×;f) a³WÝɾ)XNs18$ɲ%O»ZYYì9uóߦIÍoÍŒ)fùŒñ´öXi6¥¥Y‡ ú0Zµgº—µL`ø$ëz”ßJéÏ1^¢öCúH6¤ÚL6¥”àÐ"JÖëESó¶X÷SNq¤Ç½Ä„Ïšñ m»÷í7©gl*^ ˆ\Xj0€ÙÂÜÞ_¬Òn•*‰­ˆiDj`üç0Z`^„•É×Hð[ •ÙÚàTù$x݉TÓYŠhY @¸—·nœ€,œ míÐ . óîjîfžA ©Iò¤Œoe,2’TUdZ *›ÅÝ¿†CM—¸ï «À64»Àœº«^}Àq-ñ4#×”†Ç?r;`Ñ^£WK:ºD UÁcwvØûÊ÷ï:öæ%ô·Ô÷mª>/ÀÒŸ~çÔòáž˜Þ ²;£e§Ïî~T*&{9­,ZøßÓ”ÇFô:΄)ÆãŽ4õÛ¤VQÒç=DÇÀÖ}Cs²‚ŒmÒjùÉ;#1Ùò¸Ã\àÇó]§ŸC¾ÁúøfþûÙsžtRqÞÖ2Z>RZjýµo¥–ÔŸÁLrIË')£¦Ûâi|­°c˜q[bå=ùÉH{ßÉÜc^0ùµ¯b+áêÁn˜c[Ö­yž8žê¯Ôy£*%)èDlb­¤ógò;ûÉ%zç(Ì 4j‹IEQAݾf:î î LÉiàCyõ‰¬ú+Ökkzl (ƒo"‘†zÉ-èíìT°9[!tTtÞ¢  çóY5 K:fŠUK«©½áÇó{ ݱý½ZXJ€×nYLÙWóAݾ%š¯$L"vMô„߂陱<ÕoÇÑP7, øµHðKcߨl[‡³x·Q¦Wßý®ÒóìC­šxCÙ’»Å‡Ü1ô¼¿½xˆ1¢ÏÒ6'‡›sŒc®g±»óŒíäû¾ÞÇ{‘:~2d9×¶a+ˆ¸VzkÛ‹µB4šq*Óì¤*Ì!Ì]h‡¼DEÊ9¹¶—ô&YˆÒÀy¢?¿ê¼y±r!}†Ð`ü >6ñTN·FP‡Î0»¯ÆgsÔzžÕGSýcJ‡°cfçìF–¡Ôoüë5 FsšrйByÌV@ÑwŸ@Ï*o6„$M“uòaÄø±X]ŠÑ6"E½ $J‘òZ/‚ ëZ°Wü|’»ï*R_C=hǶeß–®Èµn‰˜uKÙ/âŠóú°VZ¿2ù{ß®€M èyq',)ÆPAþñ(6MŽÎAS ÃÜ8£´í³/GYbߊ¶,P§µÆz6$‹¢žÙá–ku`Å/t3ºImëŠmîÙ Ð ¼ÝJ·;ú»©Öm·@òb+æ›0R‡“xjåÐG¶Ð縪S:ýéõ›íêPN’©8(§UŸ—çÖÖ“â,Xäô©4ÑÅò¨Ô‘äšäÛ5À™± ã¯í¯ÓàÞ†xY ùføG¥IßWG³'ŽºÃ ÄhZÙ]‰wfy* ¢æÅú;ȯo)11;g¿°!„ÎgÍ”ž¡ô'³aL™!þÎûÅIêÇc)ÏÛÒ%'졽?ÒIÆ—ô{\°ªõµÇ³hs¦ñÒMéÁ¦’:kéê"j¦‰`®W>7ã'ª>ˆÓ7¼Ä‡e—•tf— ˆâ8ÒG³1Àž¯¨lóªDB¯é^„ÄÅØÁiÞAeÏàïÑVK…‹!«s¿H[üdÛvŸ¾i˜”¨ÿ_ç ¯‹N…² ãx® q¸*OÚßÕ!ƒÎ+IÍI†â§æ)ãÅU\Pí9#`xûn·ŒæÚiê5ê5sÑóÿ2.¼Ø*ºÌ'ùTfˆËI}© ß‘(.$ÉëÆÈh šÝ8|3#‹°IË÷Œ‘ìHdÞ–ÞýâiEÛ! mcqQ+§“A¤K;puÝÚGŒ¡ˆ®Þ6:k‘c„ƒ Àü2™÷š'zë–Q†~¯aUìí]l²;Ï2[§´üÈ0™×ó¯lÁ•0ï±Ø“òEIPLKD"Ú£Is éaÄ|íñÊàö$Î 9ÖØ§Q'ùÂ^Ç%a9ÁÊ}ÕcmR· ŸæÝ®N7òc”÷Âsöï©qe`x¹Ô»Æé•µ[ÍoüÂj{ iU¾¨è†÷Ì›$åËž÷ž`>‰4°\ ¡¼yL[Ö³b‘Lù?¶¤ ur—ÄšKy3.÷ ºè#÷7®ˆ‹ï•Ðà‹‘ýC[î(·±Ë ,ü ßÜ}´ÈIòLÚ+oUàñ¥ ̪NÐ3A a6«ŸœØò"n0!ÔHFñpÎn²L r`¶ B?ý`vû–¶Ñ€8 ‘¢Uš—;ÑVòdwN/D{DÕw$KÝvÙͦ@5DŽŸ‡?X 5ä~fÃ#¤\AFµÈheWº±Kº·R扬½´ò ´Ýr††ý_ ]€ ë59ºRùn4AˆÂzbéÃÚ(uÔoð]ÀÏÔG¥Ég²ÆdLŠŠ×Â8¡æ…®àã¤Ú•XMiÝ3ÌRg0FÂÔ1)CƒÞŒ³òhÔ!\—{Î4ÛèM®1\Ù”!l7 ‰M‚ù-÷)!bÞ nnøåÅ[”´!a>7˜)¨³Ô`¨áû©*Y¨K'±²pôóŸ‹Y×ëʽ9`Ct‘ù7[ÜéÎK¡Hx©™x&ÕÉt a¬3Yø*ßjË@µÕaT„¹R«û¸ØÇ8}:}ìuÿ[ÈðÃj›/ ÷V]Ž=%=£ŒS?ÒŸ«äQ¢¤E>’¾Mg±߯@Z¸xWÊÐÅ ­(ѪíimùõÑýeSþ_mGÂ# ¤³Øð©³@‰3Ðh:½mðCTÝCÐU}´êÚ>ç<õôâŽñ2XE¡G*ó›P—àz´míO=è¯ò+`ŒŠ¸\6 P@ŒŠ9ZÚÕ™ÏKÁ#Ô—I™W´fæ ŒZ^ópTñÐNòþMÂb_1p•§QlF™Äè Ù ˜«qÇäã³^ ñ½j6ÌK—áÁ[y:ØéãÆ•ÍNÓ•ª–&égÂÆ¡ oV€bö=Ä“€TSÏ‹ü}*·Ÿ–’h±Ü¬ùn®“;Æ<Ò“‡)¿\Ô£ŒÓ9Û n³/+ËxzÉH~°ª5Qsö#Uí.}€>Û:Ƕc”¡6@þØ` sÛõ]ÐKE€»üûE…k}Ý Î*=iœ¤J)Ú4)teö³@ÀR°s€åê†B'g•iXò%ÿš¥)ö>‹X(Œª¾~„Ÿç¸BzO¯ ¡¿Š­CþŠ1|ŽJAžy‚Å/²˜£1bo[õvd¦ËáâU7²ÀÁúÊ ¬¯“ʨµ€¨&ä©“Z FÊÿþu(<Íu r±±]Ù ÜL©—|ßF-GîRÊ.~*mÙ{e:_KߢͶ%q[:8. ½¾n¶¬š¥ç?´è¯Åì“#P<^f¿¯Þ`Eóª>$ãkáG‹?ýÃnwéS´v±:gœœ¸‰µHü°|Èà`òÀK‘~EÔà²*×L+·ÒØRF@EŽ-Þ¾ù¢_êD}jªo~×Ãêý²Õ†“4Åk쎻ŸÿÖŽmÀÆwb9€…,é%¦Kéj%ò§Øöw³¡[3~W¯µ!Tïï¥Ðê †ÇHôÐÜ žËxâ’@ðZût²*¾ '§á§D‹‰â8dqØ>òyŸ‰ÑIN Wm`Øþ(]ÞùL$w+ý[ª‰êÿEìù«IÈ&)›þ@©M<÷Ø pY»<«¡õÈ'cÍÀÆåÊ„ÊåÇWT¶¢WÇ;hø~\Pæ% ]¥VÁ–ù/áβ–âÄ/ »uèNeÞpH„¿UÓ;¶©è6›à¾ôúPwËôíÀòâŒ^°HˆIâB*U…æ £ãðˆ^eÅ¥X’L»ÝÊp”fů]ìçU_*‡óS—¶èîŽ:e~9/Ž‹gÃÕ¼0Þ°¢KrÞ˜ô0X¹·Dj|[&pˆÿ±ð„~ãü7ÖûKS&ªJ?§©ÒAwî æ%ÿåZD«üăCæz‰ñÄéq'¢GR…ákQ€‹¹¢RÆú Úèç6r-{3@<ÌžÓ^⥠œ ä!¯yu·ZI싌ò_¢S\–ŸâF½ñwt·|Z÷g\µÇè+ùUY«SÍìi­œ¸¤ ”*-Ï ÄhÔyà ­™.`˜rÓ¿“sDyù\J3pqŽ¡k'òMß©”hì•T0cÙ‚ßÈ™¹OD¨þþd*N“OUz´+øø¡6îuíbÚ– OïQ"/]WIõž°­§†ì-uå"gØHÁ¶`nÞUå c-·ZÇÅmÕ õ ·U ø=mÀG“íéeqϧ¡~;þÜ{ã{,q eQ‡šú{£WœÁëså[+()!n ”‚FþêÔVÞ¸FöÉ^”nްŸ$hs{@ü‡Ö —À+Þ^œ]z‚’…ßéˆþ`YCˆ¬pÙ—÷@‰ÄÄ`®(s0;â˜Þ¨ðP"Þ ¿žY蛃 4F.q2¥ÕJÝëå´JšDpèg˜òh 6- æäSD7Š]õ`Y7m³{q=Ô­Z,wæa}æ‹ê˜v5ö ^…ªà«u²wœ)t­AâÆDÕ[¢0£n w­oÃ\±¥;^íL¾sêæ|G &š˜¨¤£ñ‰; lsVU¼?=ÂdZö$5 § ÃË)4àmTøè‡Z”4g&íÑW@­XrÌÃÖÅŠÀÎë1|耓¨·lò̦¡Yqo5DãjCGü]9+òØš59ëàï~ã¼ó5–Ë£I¶Wâ‚H°»BîÁ¨9Ò"C£4l]6µwKæ¦Óvd`DÞ"Ôî8> ªKY§­ÿ!ôWøE˜‚m áNf=6KÔ¥¤{õèx£ƒ\TÂQ4pû¦­‘¾Ø¥rSáxiL4à }¡?šy‚[`®P·e.^ßFOF!!Ávð]; ȶ€‘þæÒ;Ù¹þ–h@¡ù³TsÛ)-i~¹éSK+6¤ÀdäàyõiÖš±œiÿŒ.q&hýa¦ûؤ&ã›W¹ZÒoìHÔ<¡w½yãL•®7GD¶ð  “ìÂJßÉs/ëˆÉ?[Ú–ÝÞ*U^Þ9Rö´”a%Ú79_.hNãh5¾µqÐÛ*ÖÆ°ôÛ­kÐ}37yVÒ³¦G6!`ô LB÷ICÚQõ­\Ù]¼î™-´]åþ䞃àr•ñAk²³· ÚCéÃ4ÇÃýØÆµ®Åþ“Ú+«¦©9t£Ò~à™7a±‚©oÿX —iø ˆ1vyý8ÛPƒœ]·×õ2¯Œ§†~ÛÁü±;• TÅ- '9{ÏKo4‘ó ½%hÚÏøDµõ’”L«ÄÇ虿†¹à‰Ö–!âGs’-a-°“tn#²ð'|ºÚ­¹Mó£I3UØ62n¡ùXÙN« T¯Ó˜D²”z©*vƒ©:ÈòŒff ɘÝýŒGš«¿‡ú¹No#®+ìLUÏå1}Y+°œûE¤ÀDsÁtÒVÇü?>lê„3¦÷è/6Hƒ¹ô3<¡ªÜËÎiùŒ~¢5ƒ%ë²lýšøüWÿþÄÄAׇÕN»,æ* ñVB¡®Ê/F;ç+r-ŠÈG¾ÆîÑÃ…;Ñyñd#@¿d!3sl¹êoktBþ$ Ú™Zá¸“Æ !aÊ×÷E®õ9k ‡„}×`µá2‘¿'÷½ÂÍõé?×;ˆ»³Êã'IÖs¸Õ°þ\¡y`Ö G¨‰u”Äw¶G!µ:µ-M…Ù¦‹ÔêÄÄ® ¬{Ôæz^þ0X^«^Xk„nðb¨ÈUÀ•áyt¬½ü8üeG° (Ìvr{ÙJÌ×3™„¬0‘È Ä1`TÅF\›ð"†’ ­•~® O´ÎÏü·3‰ôГ½E:Ñ mƒþކY®=üJ.Zš'/¥ÜíÛ¼Ax¦NÛ BŒi÷ \Ã{õsÉáÍøc/ «a€œw¸²YÊÙ¶W¿ÖäæxçA_E!Ö¨Iõ'ÛŠ:Á$±E-)Ðd–ž¿3@ï¨`ün[}":w°(5J¨þu![\w¿À`sõ΀ZC|IÒè³D]þ0æ^ò'‹û´žòÃ÷àkTZÌÕÜåHkؽò…ô Ä<-[$í›KÏF núg`rr´V{˜”n  á™@ŸŒ(-Û¡—VQ¢‹»;ʑጷ¿IôU-Y=êDØÛ›¦ÆÜKúoÑIC‚t¦g Ñæ œ? ®~7mØ5ãˆ{Þ͸¨©º¬´ä¶r›/è36È[k*]Úë©´fu•'Q6ýåsç+‡Õ`‹x&=jSÙn#æj'Jok*ChVjô0ù/õÉKúæŒräi'Ù X ñRaX˜ÃüT`Wô„a fÛk.mfoyn[? 4§4Z÷`Ë©ºÖB;Ë|-úeJg ÿð²p‘ÐùžÐ&¬Êypl|Ê$¯¿Dï½c’eç«ù?}E6té(øü|e ¾Tv È#¿ÿuü£Ü«ÙØbuú`€„îß,¾Ý¨ ºç\ î1ÓNáÃÝ\…”“]˜÷Õ£)áM0fc+úmÚæ¹¢‘ÉJLÒ3gN’NbÂߘ‡®ÓËeÁBš²Cžf†"ö›f”íÕnyÈ|jŠ‘©‹lùÌxP õ ;*< m(vº+ܧm>V\U{v×®“¡†¤¤(M+'ÑQн :¤)LÆ~‘†·Àô¯Ô?EìîÈOiZ®02â²kXD›§y§ `Ôì*¨Ó÷¦luÿüejª‡i!¨ö˳åBè_r®ƒ:C80S„m¥'Õ«ZNÏéìF¶Îô‰]¬ùØèáíPÞÑâ‘xëÉX¡¿Œ¾ÍŸbš«Qéšp3IîhÒ®·QRåÁ9\U0/xÏ~P]xWß4Ëd´Ò¸Åô$íLYÁeaÍG1vgT·Üë™íàGê.C½Šåç ÄH0ÏÕPÎT·3­Zgâ|jpã*í%gIi–Û‹ªâìú¢[IR ëyð˜åe@ST³ŸßÍ”»}è}lÿœöÞ'»,ûÑB¸)†ž e/£ˆz¬Ô)Añ;-©ÆTêEåXcx¼Z VýWl÷˜ bå*Õ¬öiSæ¾™w†%›éºÜ†œ6m=¹±iª±Q v0ÌfwŠü–!"½è™´cÓ'ÓüNæñfƒKýj+áAÙH: Ú…æœÊmµk…†ö'WX!zB¾Ùé7(â >îÂd DÓúõÝ[ðÇÐ+ï>{ºôŸΉQy€›]3õ¶‘†9’o õìA!FÅgfÐØ$¢ú9®†ÿìn({UÔ" Çß›GTP7hŠlý¶(²RÇÞÇõ¼ÞŸÊIÁµÝøjtdä3á |¢CÏÔƒúØB€,—µ9Ãwôþ‰(¼Ýc^ž`A & ‘6/š2uUÛMìÕ¸º•|ãCF÷D…Íí| ‹°åãoÊÂ{SM˜E•ÓÔôä³>ÒTL½É;šf¬Hñ4ˆnt=2¡s—ÛÍÄ*¹ÈŠPÁ*²’%à¾< Wm²x_—Ò¬,K–Eµ‹aÏ]?ï}l:¶ÅI[ÊT£—Wg`ªªÆÄ_ÌPmZ¨èeð3‹¬ÅÇàÿßøV+ÌXi/“·;Ý•§ÕǵnäêØ4vin¤¸.Ò¾ÛÀÿ‹ÕÿÂÒaWè‹"\›²Äª½àܺ›FÝd±B3ÍŒ¥0eº#¯­›ùÿêþï¡oúT“ò]S~мäSWöç'yô·7EÐáY~mÄhåTÿÞ, [eö¼PT<ýï¢ÅuaøçÇ [ZÄÖF¨.˜ýój†0ÂWu"îæ‰ õðƒHrK]>ZNDÆeî¢Í·ßÔçB÷ËØ=†ßóz¼ƒüáÙÀV„}¸S”"{£Ãž±òŽkgŸ7åVœ'a‡â5• ês¶;§×eÙpÙïh-g O ‡g¶;G|òH³KÁ2 YÓ–²% b¦Ä t'¯—™×)ó™¼È”#h­ë5è6îìǧ×y²™mÕ–i„…G5b¬8Aû–‘NIÛ²ë»Ö{„šzÄ××”}ÔÆ£¾\–q}‰”íðM²µØ!ÁÐü܈ñÞM E¬)Ôåá²çѤ?HDt!e¢4âu|òÄRü…Ô—ã™ìÑ~ gO-µ°ÐHlT—†Ÿ~2¡zJï˜C»­ë¬Õ&ÚGãöõØóBšÖŽ;.lžª ›%º8/[¡¼p+Î"óÉbõ±!…'ºгÈU³@ÉÎ÷)Î?fÑÆ7)ÖŽ%8ØŒkña¢º“üâTݯâeœ¾Ü*; éIjQÁÑ\•JŒú XØÞáÝ,k¯?út׺¯  *½Þ€*ª­îîÚnIÑ-zz¬±]°¸ã§« S‰ËL2g÷iR™Ígé d8z.^‹=©‡]­sWý„™µl¨ñ_ÞŒfsRe (Â-‡¤\U’›C7†›M‚evdI.6˜\ ˆ_³0ÈÆîúˆóR­U0 * ¹í*Q 7Øt!štÊŒ°]–ƒÉ›H[Ïÿ“ó Œ8,¦£ ~ô±Ñ…Œ1½T,e{´ý¢™¤‹é…~è£o;îa[©ý6 s!­ÝüŸF]*Öå%X‡SË+}ïģϮñ‘N{à²à[]¤'iY€¡,èm5£¨ KÖjÿ¯È£Ч_tœWÀß{ïƒ-ÆW—Ý©%ìÇi´§rCàj)óï]&nÙH˜áY…/„•Ý» ”v½t¥ØO ÙJDô-$;ofÌU¸vÙÊ8·ý€ü±^lÇ‚Â`,è.®ÕèüäP¿þ{uÐW¹2T…×ÿIKAÈuß—Gâû!àê% ñ yîe. ˆ—šú6[¶¿?+ލhÝrœSáßUlŒÑ‡ w7¦íƒ#áò± ã˜ØdÊâ*µ7¥åGÔO’Hnâïœ5_ü8oZ%ž™ô[„Ù ^±c˜ôÒ9ûrßÞJ×Vª`£bJy¤Sö—jÒ¢Úœl´£ã@ލ”2ãîk´‚ÙÓͰ£–¥8SÄ×Hn+"½=_o(Q7Ù›š†ù[êæðÎè,ÌpR‡i¹½(6àA÷| ƒ¶ã],Hò3B/d*´¶ö°ªJÒ„ª£××pËÀfà%nÿ¶Ó¼Õ"û3› ÜšZaí0b …x8K8ýEZØŽò’*̲€ ¨lš’yÄ»Q ÿÀij?`8]}FûFïb<ˆú¦R)büù¿2Â8EëÛ}·pѪ4óvÒÙ Íf[ÈÁaô«¬…#Š×¶$ÉÁd‰‰é…-E…ÿuòRO/o\ÜÞÆÓ«ë?ïê=ºwGžó î4À"k¤ñ'j|¿=-€î‚$; úR¶亡ò›]ã÷J–‰Ô¹—ûöpJfx0ô ¤‚ {©H3uÚX òP*J_ÌMfDJp¤ èµi E,¸ŒÛ1¼ ÌV;@Ó,Õ¾W|± žÅPÄø£w‡áÀ L¤±f°IØÀe'ÉÑ,š1E$;JQµßù¡n¬w-°ç‹€a&Và"‚üH£šˆÁßâr®Á©Iü[W¸ré„jƒJâ´¨Š0D ²Y ÅžÄbÄ$xùB°†I/÷Êt¦M¾‡gÕ¦ÃÒBùè¢û•0®7Í/j]©wgXÝàŽ¨ä:–TŸ»)B¼!.Nì­(îùhD'ž³[ÓCÌÈ”=™»Ý‚óï-›úêY3 Àož{Z`.cy÷±×;b—á×V°kÅàðuéW—©·iÙIÎøfŠùqú¡-V¿_…Ïúä­ÈˆT Øãø S ”`X1+åOGÁf˜è Ñ…Þå¶hìz$>¿À£aŸJr}ªÀË™ h7L)pÀ”*’¶ùc®ô"qt„ˆ;ߺæ¸Jô>RURfª@Zª’O¼wæÏ5 iôú yÊPD›+~ŽGÌò¿üuPm.¬êW|bçÓéòŒ.m!¢õ¼T©>óÚ úäÝrv-éùë¢Z™ÏŽÃ÷-X½¼n=ø~m$}NùÖ_ÛvTäÈ6}FùHk(…›ÍIq86 */×g¤ ¤µTBŸ%¹u·]x÷õ†Fx7daGn;~^dIÉǦ!R™ÿ%•9ºî”£“Q¡«»ZÎO´=gßR0¾Û'  âTÄ— *+Èöd,Ôìޏã7rài,Ä{<³[™!9&cë€bœú‹#n–ÿ°¤ ³ãY¬ ]$cßì¦Ò>\)§ =¬<¨ÎäÆ|:·K#.cqIÆÖΜ8”Œä÷$#¶?¦J…\ÛÓƒ5Î-.Lvq/~w‹¨R ²µ¶\î` ¹('4Ãö>œM©†ÒmS{€3Óì¶šU&q]s''¤ˆe×DÏ'1Ã=æ5cº”<<8Ž™Óz-Llμ%£ ­Û:Ð1=«Z¶‹ÐhŒh²Z,Ï(*e(éþZ8IKŪĸÅñäŻԗÄUI¥¼‘¨›é ¨ñ‘‚¶Xó °b‹ d%5r”ÚÀ¹vZ¡íÆè=ÿIp°tÒíÚ/‹Tmѱœ¶/ ^Ƹڰ9§Õ[­Á± ÃNžÿëmë•Û¿á„]Ww9i|ì_Êó’#Ï? ½Ž[Îàí¦FÆ€aÚaà´ñKf€ëQ@šNJMç/ Óø«#eí¨ˆu”Ýë€&B+NzÞÍB¥–†R?±è´Æ+‚:0y¼¾vÿ{MÀJ¯bW‘[vÝ„L¤4õ_yêªW.µò³·%äk(ÀÉò¿¡O”†Â0¡QSÿÛcê„CUîä â.%™]¿ÑW§ô!Vì‡CHÝëY-¥Ëö†å#É)H¶“OŸ_,y÷¡rÍ?í&.Õuo áуAÏg-BÎz³Âåè£ ´‘vÂ2K8Raúæ\žÙ™Ì?† |è xGøqÓ|X©žÇ~`·É;Üðàáü*,rÃ|žlñ2H…¢ gÿùdÏ×€Fk~¿¿:”áSå_dÛöÜÆ¢^öµ×ó7iuÛ©‹Ñ³Vkn~lk+ê~B›«ëˆHn” ¤YLÏ“–ÚA™Ïê7¯ÿ®í¬ÁÌ¢‘Óƒ ã@žJég);ï>dãÇ(ìïh µ¾eÒ…·½¯J½Ý Ñ8¦è·9ˆýtlî¾ù­ndiÞjnh/ÕýîÈЬi9„ÎMç>>Áx’:°ùù’æ­D‡çk‡<ê& `Èrµ±D†œÄË.X|«8¶PËñÚQ-÷%÷ J™¥¿’/Lº‡ko±Kd%çÃÀ OÆ·ÖßM4cÿÓ«ÏØÕÖZfßZ¯¤n±ÆÔá„úF4J9o¼wWwWõ8t摲ÔጒpSk·Ê©ÔÍÛî½Î÷„àv«$sÉ@¹"è¸ìŠÂ?â/-Û:¼ŒŠ[«õNÑ3sUÄ9uƒÜ_]Ï´L„…]]œkÂÜxFû&hxm‡$6ƒ?”úšå|Á{$¿g ©/–¥ül0¸лïYÄb uE±Ì'©±yêÖ %ó.¶“öVêÛ¯‰$Ü»_ ³Áé)úc$±…ì_ÂM¤Ý@‰ta×…S’=ÙÇŽXÆ¥´81¦-64ˆ[°\¶y‰Ta oÌ’ùŠz…¤•g°íó6}Qœ¨ÝhÏ.¦7v¯ ®qÀnË çÑ®j$Ÿö€Çö+e–G¨CMüá›´³öò²Ai‡‘LëÜFÇ' «)æ6Ý}O[îÂ÷0)‹Ñvx(€¡ŒÅ„zGæßzè³ØL)3?n¦£‡2ºÈד&ÕÄÏaXî·w9žŠk€‹åj@óx;‚9ÚT´Ä‡<(8„cY==õ"ŸˆÜM ÿëŽçƒ8OË¥t´Líîë•änË&Q´ûW$O7" ëim<¥6dÿΦ‚”+~ Ó`JÆðÀ08ýß)–À‰›©åm1û“Í42*Æí}sªkLv=©+Xþ@Ñù4ZÃ’­Õxð762µÜÑxêÒ­M0©ò­ú(¹ÓЧ²Ž?Õ3H¾¤ß"¿ Ÿö)EÓ¹³Ý§Ü_­cî\£ÆË=gÆÎ°ñ䇂ˆ4=羺šñ>3'¼q­}ÐÏêCøÜ«çåÀúgã ÒÝúÉ•ä-DkŽ£œžàË—Å“®öÅI^y{ï–úŸo€a­Ü¿öð°÷ÅT–b´ð²yæÏdp ·zí¼ŸàGûõÅH=KOóµ.&câYñÔZþ‚R?HÏw=å9r¶›[Ö€h©Z3˜­í‰çdJÄ,5_ï噵K©Œ¥Y—M(õÜ•±Ç© ÷2ÁëôÂ$ËÚÈ‘êR #&8à ´ÙŽôë(·î ‘ψ_U¿áF>ÑÐQübÐCsLW£C1yðm±ÈÐÃhgµƒÐ¢3€WHÔ ÉñXÇ÷#)áµR1;ø>ÁIãÔZ»IaŸÈ­Gá½f QŸ- ‰ËÒ”Oƒ¤*Ž5Q‹{Q‘GîÅŸFÎSÜž´1Ñ·5mVŠd8ý©ÃkíûŽ¥F¬}qÛ<ÜøÉ eÓ|SÆoµ5»dߢjU‰fÍ@7C¿PÆÐ`7˽ V¤¯$ë˜ÐÍ.vO;iÓ‚¾Ë궆®?—šª …¸£åм.À/uöÖ~È@Æ[ø‘¬#ËÒ—Š%®¸Dônc°‹Ñcœüp ˆÁy¤Ò†¡—b:³hzŸ-?we¢>lïØÔH½˜¹‡/k!~Ôq&… ù¾‹QÝ! qE8ãK‰š.×o¹;“t$N&cöt$Å“Vú\ó¢ÁïŒ\sÑt2îõv‡6ãœÆóG÷@®¼ß«n0œu*wËJ8#ë3-PäÙõƒ|ñæW™ã“…Ì7½s/:ØÖn,;摦ûo}Ai,J—Å:& ³U‰äÎÖ1Qþ¾Û¾ÄPSÕ¨-t¾Ë} ­ªè^TŒé߆º«#b¾¬a’¬è·ÄeLÓÎ¶Åæ>P(T U«}D™¶6ó®x-aEåFob(U¶£#s†§÷"»#Ùp”FÄ ]€2d!ámt»™¦‹Å=»;¢ŠRœµÐq’ToáWAAl«ÜTœM¬&{’Æb`±Žã`@¿U=ôx'9RG$Ú†ÏkÙ¥Zy?F°hª½e0>2#Å/9/1TÕÿÖ‚/½ÂÄ~ÝÚ¹EúõÛbý߆B1,Ès²ÊÓý[—î͉wò2:M¿9}ù0OÈD!!'[}½8~q§¦PÓ÷zâëõµÒ§ØCÛYt³^e±Íy—e—L9lÝÐEvá÷ãœ*iÔÿr"Àþ¨8ÑsÖKÿ&!ý:äòÞàÊŠ6R–r*󺨿9rŒöÄYîTzGg‚dáNom¾Zgô‘<ƒ£) ¨Ù«º——HîmRÊœ%´ªf°²Mûðß¹Á°545ÉvÎúŽ:öMÞ@äö††v™æüˆ}õKºÞY¿až(U~Þ$XAïm‘3]ê!9îÝ4ºHðlWy’.,ƒ_*Ür¢$ÿåƒ ¡»f¥ö!v¯Ù+?tž6Ѓ¯Qƒq}Æ46o§ ëâòBÖ”€â™˜v*7Lëò+}h²¼4@픋‰ÂciW$oOÐÍÆp Îþ-Åê™ÜÛt«˜Ì©W$ #ñak’¬ØÃiZ‘Ò.¾b¶¼Ø;xUa­º)˜^× AÆt¿ùVZÌ%nI[¿Ðzâl¾¬éàÄó kò…NYg ãLÊ©5T£VlõÅðõ³2×Ónê¾~­vi,ïMû‚‰bå±[º );Á5Eên8ËãÐçä*/ cÑÜÃS'(§Š Âç° Tìvö‰:Ñ:‰z볎¸cMµ› r£AÑ+/»ð“¨’uŸ~éã”ËsÜp [¼Öº¿DÓ .f{8‚‡êó¶![ôïÿM8³0¾„&‹ûÀsl{ø…ø( øÝªêÖ¿$t/6/_Ç g°&ìBBV-¾Å ŠXI ?GT¸y«â¹˜fXƒWuBNv4Üà‚¸¯j;kÐé‡cHv»aoæ­è¯±’㥳ÃÒ,½pw—ýaÍgaµpRCUn³'—rÜ‘ÖHë^žU¨ìH°òpû Ùˆ•½²Ä¦ó„ýšYKD³0B$‹ƒON¶Ä™‚-H¢øa:ÊBÜ%8Îrj!„àµ%¹Äüæ~ï ïÉ{£Œ1e±îŒa4.@6%Ÿª<„n½ûR~¦AýÜô•l¬É ^ö»ÜÑ‚g‰Y)”ä\±]mƒÛøàÇæM˜…Yw›[ˆƒã+й++aj]´ à`‹€ÆÉ«H@Å  Ó,—3¨‡˜(Ì/§ÅWge]í0xL¶—=n‰lˆ¿öи?8'fé^ZDÃ8FýNF×ÚtÎ[pÍŒoyUY5iMS™Kñf‚*Pü¶ÆÒ¡3{Ã<ßË7’Bö¡øBÜ´<™æ©Ÿ0ªZÛðûW%.f\B4E§æ¿±¯{b’ €ýÿ^• þ¡LGRI–.IKzØ~½ýíýàÞ;†7σ÷7\ÁÜêúþà¸^KÞDm¸’zà׉ ‚Jépä h¾fÔÂ-z[^S‡§á(É»ÂÐ2dû•µ×*k/.9ÁQzñZþ%)åª/å¨×T?í%Z² ÷©­£@mõ6.éáÈgùçýÀ æ.Í;MI&*®\Õxí]cçt"¥®3ÕUMMÉ„u5÷¦W¯J9¼ÞÒ$jÍ0Ä!.Þ·äªúGÅ(¾ßJ=û'lVê°Úxö€¢Š?µ+–^ga²6e8 ænàp=P7ßèºlÚ«Þ¸Ðãû^6-iœ'èÒ4mçg‹û£žM¹&FÇØ`•Ì_‹~^v!BM1;ßèkÚ:t>*§ðó +•’5YgÐÇ/¥ãЬz—'Q\bÓ€ÎF½ÓTÎÍõ%Žã² „%k"GК{ 1 á Æßù S>+4ÂÏzo½³5Âöêß¹ºÑÓ’}ʘd™˜ä+K~ˆÞò!XM ¤Åö5RrÈ'T XìS¡ïúا³#æ.üV‹Wa°F.ZK`µßéÀ½Âã¤G³Ó°]DÖÿêúfž©ÿ„®°uMov[?ï tÔ ú¨¥à2{b5á…/S飾¤Ã°ÏÍ…(ÚÖ–²:=Æ%]PªÔN;¶:)6"ñÓ…- LÞϨý,‰×W¨‡³U¾séóÎÉ”Å2\4 q¬hÇ •…Ü °‰4g/Ÿº'PÜJ‘ï‰Ü'ž“W7_¬i¡ˆþ™3í37:Mˆ ·ô Ñã®èi¾ø‹É£{BÀ‚nf¥T¸®øuâ<ý 7§?“1¢]ÐT@$=wiO´:ìƒ) ám#ÁöüÆ'@7U'YaЮoŒŽñ‰pˆg/ãÉö7¹ÕÑ` eµ9Z †‹'MvmgÁP¼ÈqŒ¬ (¥i÷6OFŽòŒ3˜‡ºëÈ(ìPý`)C Õdñ_†q—Á #ŸŠ“aâuךÂNÙ¹48ÇÑ`¨!c*Né@¯£Éë$¥ÅXäĹæé;äA7-Dž!œÏ? YW!1 1òuLàkÄz ެe~ üªaè­JÐ^ô«’KÃÞ-¦zk“‘:«!z/h…BÞtžìu­‰ÌAœ^Øû;öuH‘jz`Za4BcNq‹õã™§v9B›cãoneQÝ`uÄX³ËAœdW¶¹6ø±mymu™è.U‘`ƒÄ[5ÃÕñ“%m—ÔùÓû+ýw äÛ4÷¡Pxÿmhú1÷¬lC8\Õ‡ÄDÔ2"È®x§I,_˜WœÉS²I'¦j·µ Ž`b¸¼Šg¦só¡GU´§åd –>í2  à¹M~¥‹'Ÿú¯Âʧá&r Æ’y•¢V@lCÏLnvlív`¨ºÄáœÕî½oøñ£ìçV4gJßÄ–û¾;–;ÝòõÑé8@‡Ö5xµex{¡ÞN8ôèzsÍK3ÙxŒÉPq˾˜äÁš‡K“öîEráGÁW~Šõ²0 ›ÁàÍ•»‘B_{Cf(}„öFþ&–¯tø‚ÚpÂìqæ·ÉRBŽ:„¹Ìöi|'±ÿmü Bõ9 •粤ä}jv!¢uzS d¶•Ç@î&@¤p~†õU†%SFصÕÛa*c‡•rP]qÈöˆuh†ÞiÕ¬~‚]Ãú¬éÓw}å^ýå­+#ÅiuÎúðõéûé)±ARRZÄf´4Ëüͪu%ôD­jÙÊ˧õ3jŒçîVZ¢:öÁ"¾r!L>Ray@›êX…^ð‘6±Lltó¥~ðÍÑ2Êú±óýZ=–KwÃ¥l¶tÙVAµ/E@gDvDCS}³T˜näznÐ4UeÉ%2)‰ÿhŒ `L¬y0%Öß1Î)>å…<¼Ïñ=‹í`)Ü]r Îðø»¯n9òèM:víC•ÆÁ.o-~`††•>ÆÁ£§T˜Æµç±ô~ý×j?§:v0p¨æ˜'õË—±b’„¸® S}¾ÍoÛ¾Ÿt«[:!2@Æö¡üÿȇ;z<ó{+mpæð»˜QlL_žèH°ÄUy9éÕÞ‘¦}ðCk, ÛÉœ0»ã IÆE˜sÄñ×¢íÏ Èá·@dCnO7ö•æ.³¯ ¾½X¸T Ï6àfî k8×^™­ÇÜÒ‚x¿÷ž§*8×{ÂæÝ>ë0ôËZÖá`øAï›Ó›£_5`üÇ¢¬2líþ¥!ÁŬõØ•$ÄqŠháT^‡-)ìU÷iJh–0H¦<4¬_8ñmL›<ÚƒºÜD™&ãI,É›RPyo{ýmã /Twýé. _›k/øPr–‰h}¼†<×þÂt§©¯e“vŽëZàMJ›èvt»ZÔ/O,Uý }®¸’iõÑrŠ6Nƒ#·­ Ïy~¯ö½-­Fìù4†tŠïˆTîØj§.3˜J&3} óEgƦZ9žK›æp)oI»³Kú‡ ðûÉbGîð ŒêåRëezó»ÓÐÇœõ”·`I?0Èråçà†Â "·‰Or%… °å ¥õB}¿ ì;ÞÁL¸÷z{U…²ñ½C!íç€Ä”ò…§@-¾8ÿæ Pó %Ž–‘$(¨î¥ ™¼Ÿ8z°¹×ƒN(ªéUZÐâÆùÎÇ/hñ=y’qNßµù6­{Öq‰Þ|¢Y*öNOû<­·ù|Ná>€®+ÝŽ`r5€ƒ–§Ôîí¸Dû(ÊRa–Ö‡†@Ï@cgîCò$Cú-®:îé L÷Òù¢…/ùä <íÃr$ ¾bî´~¦ïÄàÙ9½!Úæ÷Ÿ Ò]G¯ÅÙÅr+™ò¶WõGÍá×ÄW5Ÿ‚篧:zF1pQ¯ÙéþÈÀéês'=MPí\‘w©Îm\ÙS‚:ÕçÒÑt±t3G•r3äv4m º³EàaÜ1åXþƒÚëy5ÇVìCØ·÷*Éø  MË?‡Ä“+mC<ä ±—€¬W!ç®bó»zX«ø“èTÝú:J%“…áŽg¤¨À.ÑìÄì´¾ hoæÌžÊšÄp[ôêAqToï‡BÈ|Øå­R –Sj›$iªáÉ׊Êʧýoš£ ìyNi–KönôbÔ×AZpœ76/°ÊN'Hg›•b¬Ó¼Þa…DB†­ºq)P ä™X‡!žåȾË-Å‹|Ùn#òÊ yä]E¯3˜ÖÔd£Æ>• ãbõ-¾E }ªl¦®óhÃÅ$‹r_7ß1ºW¯øáÈŴeiÚ<…8ܽ^…ˆí+\ÿ} Ú_‰«ï¼KÀÅù °ÑÕ±8Ϊïô^ÃåK2k3,Ò£='X¢^,*¸Ió(ô¹æhÁKÃM<ò¦ÅÈÍÖ éã µw&LÛ5rõù¯¼ùôop~«…ʦ?NLš •­¥ž8SGŠÏæNøµh™h_Í—wñ1²ÄA'£®~\S®¤H­ȆñÙaÀ‘³=(Y?¤o#ÃyFÈò|}{0k±J ÀýÁò%5þ¯.Î2£+n„Jøöô„Ú\Ȩõ“î´lŽœcs|ûÃïaœ Š&e|ÔçÄÛÖ(J¾ÈšÞ¼2¾XèÁ8´H=3ÚÁæÜýÈ+#SŸSB°6óë;©/Ó„€<Ý«†Ì¬3än/²sâi³<ê@Ÿ¥¾ #ËÐ!§“˜²GYIÒ3ÃñíMž“Œú¼ÞN%¥p'DtïÄOÏd ¡ˆg0Jrõv™tk$7ҬΒ¿‚ò£„5ÝÇQPV\Œ´npÌчÄÑPRDlkláÜžƒÚjxS˜û_Óí÷v ûMTŸ›^v0rX£Þ‹ùE÷@3Îå4 ð6‚Õ4éùR¥Dƒén›}‘KÜ‹âü?s›8)É£â ÀÁ‹…%9Ox›Ë]" t*”DÓfʈ[¿<î¿Ï)ø¯¾õYˆÁXç²3©¢y\p‘PJ[)²1–;TWËe”M÷ä12ìò[R>žpí2ë:ôöÌj%Üjñ&-{Áiêò¢0‘[3Å¢*ï‹Bövw;®U\ßaɨ¬D2l/òúŒË?Üÿè«i ¯$€È«e~t#¿EÃDVÒÎ⯯†²É"EI© § #üõ;µ¥êow‚‘z–¶xˆŽw öü.‹.†‡Ä(>ðä¨IÈs]*gÿëî»4`à6.òùÜý¿¿@RÕcnH^× ÏTÄ)KÃq¢æp'J±Þ“3þ #$°³ 1/6E5x¶ædò÷펚i:<ÞOó;1Ÿ¡ êƒSõÏkÒ1Ö$5”Þø‰öù˜oîm¶_wAßbíñyl—[~qs[tËn¿@{Ò³juúR˜yiÜÙ  S›v£ÏÅZ§±CËÃí½‡ó¬'Ìq÷ âÐ÷•«-ùHwãð¨ã¥Fö'|ºÙë…áÙ,T‹y?˜¡½Ä¢ŒI{ßÿï\–Ãã3RÚÌÄd«æS¦ñ®ãüê›õ†-„ÄS D˜muäG89†Òô ¦¸ñà¬Â;?çÏ ó7ã*ÃO§~nwVý+U¦ÝúO<‰öj®ñË£#¸ÄNf.CÜÁŠRw ºÀ9 ÂÎÈ7ùb º%ÃY1dD,eHYô.TÑ¢ª릇 ¥!±N¡¿Ò°Å¬üõ^Y'o³2nn÷yz!• PÂt§)7[.Ñ}ÞwZÿI_­{·PÖº–°o`ö]ñBt6`^Æ«ÛÈ_wŒVa¬2Õ $BdĵžWãýŽïM¬GI'‹Ê,yEg™nÒ”þ9¤Àh’ø>ÏP}áH6GåèžçWœ‰âh“i 5X€½[ìÌú€HU{ð?•Xò¼Oì²aŽìÏò‹Âöpü<ê@ÇWWÀöÇ‚¨¸^È•ú"Þx À?"†g(Y<8îŽáaa˜¼¢¿‰£µ½‹QÉŘ­'LÒ·O£nx8hN›Žìpd§Ùá¶uè¿ Õ¶ ¨!zR)ªQ‘Õ aÒ>!Ø0ÒEÎÉÇY(É'¹"teÛõV¿í듸¨o02R„HVïb‘ˆr/•ò*Ãö¶Úœ 3CrÂ’\@­F 5ëÛ›ÅÃÝâ–0©g¤XUJ ¤™¸…÷IµÕÄÂ~m\9u‰¯¢~ò1’ªÑ3ˆVôÍ[(ñ|1]Ôô‘]›Œþ6t!?Ö6Å<}¤•|dñ`ÍÊÓÄ^OØL¯vÓF„Îi𡽤>i ¨µ®…ýê…Ì‹Tz˾û)Ìä=Öÿ™¸›uk!FÛ§Û? <Ð;ÌœßÆ²u¸åî•ñsZ·öPñXþX:¯øÀ2㼇©â‹Ö^`Äíyõ±/¯ó&ئ’â² ¿6(, ™tòÆ-Rx‰H±Ž\Uò!-Š÷”ŠÉ?ocqOE}wÄ'•ÚÞàœ-þùW–‘ÊëzÃY¢B«3¸k:Ò773$ƒÉ ž–YÀüØÕŸAYB6§®ïÌœ¨ãIt±WŽÐ¼™* A&ˆ±×`4—À *oÏnþ r]ǘ’À.]´G-¹qÕ¯XÙôVCT¯¼TõµcÓ„Ö ‚dóƒ—ÙŠŽþ@­ÞΗ•(˜|úNe%µ†QmJóxÜTŸ·9Î_ó³!ù¸k쟠±þõ ůײ¾Ž4ƒH­˜<š¶Ý28Âã‚S·¥ sê·XNá*3\:*} ™ìBèÐ*Z·åÒ¯vX0@¥wöQˆj„nmŸd˜ènF$.Wíkoy}†^¯IOE¸Tì]z/ûðºÖGšRpkXRcµ>>q?åW=¦FÞÒZ¼“¼~.8.¿¸[R“…‘n™¬ÍºFõ•¨ˆ¥ÉŒäÒÝO8–}„Reôi¯v ¯¼ŒÏ<eJ[ç‹ê•‹…ä8J·t«i˜K]:Ð÷:@FYþTµ¼ù¸g'bÛ~S˜?:<¶nòü÷C÷¡¬.,ƒC@äTªð ú—­úXÈ*œ}5Qñ`¬ìQPª˜3“*#m­²Fj2agS»l{1îü'=6‰&¥å`È |j@uÑjìÑÕÐFÀlF€LÁÊü¼Ä[†ïò¢È\¾Wo­é¶££½÷0_¿xm6š…f7¾ØÚ¤ØúÐLë¸ç™áw…6nLÒ¾èxr.Æsß“kÀÜñÅ)ÄßMŠ_}…<òxrˆ Æôâ_x¦ÞÊÅW*U×’¹§‹Ý2ú òØþZÔ îÇl5Ê]§³kŽ, F%a€ÚÉ(¾4i Lº&à]顊¼m UkÒ0"*)»æIK¥ßÖärN6¨Ý×ÎͬÿMæþ‰H:-Û9L=‹Y,x{ãX?Bí­KÍyA²£²TÅO•` V@ûsLõ¼‹l zn‡·À¡þ$©jª”‚7ØöÒF¹Ž%ñ9ý9-gˆ`ÑÞ~,S®›+çÙNŒ)>µ¯µÕãõ2#üH· dD’i¼©8. Rh 3Á%ùàf-¼3ÃhC^Tö|ƒ„>(YúJúß…ä$º2˜ï(×rðW³L¯†t5iÍs@W3vK Y:0­[Ê %Êo^Œ³dXÂ-o^Gr)šâBmç÷¡±’ÚéóÈ5÷{@(…‰® ~LÙ4nÃD™Ú¾hð–ë£+Ee\_‚¤úôÉ”œrz&¦ŸŸa7]¼³8y# \vèFCÞB ` HGJ¢›³Ë'S”ñ²ßéù„óºÁ»7žKvªÚ0¬êv¾¨ô >Ÿ|§)\Ñz_HªçP Qb;<++P+L‡zàõ|§‰µa¢‘bHäú¶[,çŸ.;©ìAÎ OÞÅ €˜*‹×ÒðX‰öKb‚ò1ZÞ°œ‘fy/ç5‘¬Ø+ññf 9”οuB‹&âÚÔMÍ“2t ge d~‰Ç&®_½V@9ELaÞ9¯W JÖ» Ü–¦´7Ô¶££+Øû®rV.Ê„ž‘£ê%Cc»eÛêø›‰©ˆ-½Øè)Rï¿§èÒSœ(8 ácËãÒõu¿f!ã º´á%Hµ`j’ñîO#ÜœQa•ØØ×DÓ2$—%¹qó8ŽM àG},n*E:Éz,Ë:eÕL´]¨ZU’ÞàTˆžF“ä;v—Ÿ4-[ìÒSu×É[º\ÊÞ1ËÁásbÄd3­?ÞŽBaú%À@«¤Å"wÁö $ô‡ù(fqj·4¸YÙÙðüƒ—ðjÑÝÑëcºšv ÒÉU¬\~Õ{öcí4Ïv…ÑÑ£ŽÖ ôÚƒ¦£Å%@Ï Ã;½€¾ÒB´¿XŲUb¹¾òÞˆ¨ÆöÈrí厙p!>e½ƒÂã–áÒ–OO»˜|KªiügÈÜñã’.#a—‹è§¬]ÇîxB„–ýž RB:|#±D@‹(Ìúõ|õ®ŒÜFv ¯ÂýãéCÔÛÎ ’±tnQ„9”£‹?)‚º£ðU¨UÑm˜Î½šÛ²˜¶f<µaKãN\Lá á°N¥¶Õjö„Z‘Œæ÷û:â 6Qû§N´w0¬•ÙXøfñæÑwu¾”ÌѲ!›•ÌH§!OKmt2÷mp x²åö]AòüRðŸ÷N\ ¦›±W{ F|’4Žž}êÎ8 )åË1&JØ!\þÇšj5òR$mÜpäNŒX6_\Gœbež(>ëoT!óçjiQ¢= k g‰yý9N[ѸÊþ|Áçø_¯Év_< ±Uü4€üÇMÈ1>ZýçÈè0Ç ÁUÎÅìNaæï†å<‹{·J§“˜JW™èmZÙ4dÛ≺ªyr~faÎ4>ʶŸ–&qCù[tû»ùñü­"²®ñ*e"Ú  71~ÇÇï³›ô)ý£PrŸà,`¾ïVІªÓØ7æÞ«Ä&ðM¨„grR÷{b·«Žs#´ªh+}á@o^½PO N°ÝèæA{Ò÷OLƒ.²oÈšlZYcGfœo<¥¥³;¶w‘íBÃqkyc ùV ó¬K TÆ£þ€ð{–w§o±í'…hydq·‚ 9((ô7‘}»>ÀXÆ9ï¼CyŽ+ʡܘïGêaòL¾jˆ³0­œMÈ›);3ÝÉ­D8¦ùg4µ`mÖf+áQ;kyD[ký†“h¯›ÅrkÞš~ôìÙ–dKõn+¥W%‡Úm°ögB ÷†ü¡1Ó:ߡꌟÞǃ³góÊò×ú·à)ˆ¿sbGÿ€’‰»ÆjÁùômÃD{ùÁßÀ¹¬dãuõj£ÁÀ§ÿ˜ÞJ^r!‡otm°Á›Û·×¢rJÕVûKjŠž,VàëV_%bºion7?q®¹"Óújgž?Ê’¹IϱŽ] èŽ£÷%À/#sœ`ña‘펞b†9Œ½“á­å:f[0«iù”C\˜à\¯„Øó¹î÷?Յȸ®“ŒF$çLÉÐ2Põ²ÛžŠ~ù}ÞYóbDÒ?—H·~Üéh£„ˆiNJÏt¿õË_€‹¼ðÁh¨ïªÁÏ{yï= ·Ëù|%‰ÑÊûoÅï§~›¿TÐEÖ,Ž: ÎÃH× (¤©:¿v…nB6¤/#à.“Ïu¤|­¼Ë:hLûüDxSD¹!Tq8‘jÄ[B`_G]Ó€6vÔÑj"NC7Íé—ŠŽg0ÑA[ 4+·¬mœå®î*F\pܧ>vÅ䟴‚@mü͈ªFÿg$# FGX—:…ôcö¤šír¹Ê஡eV ±7x¶Ô1u dS-f¦Ú°¦ªÖA9‰©pÊžùšÝ¿m­X^™~€¶ Ôt–$޼ÁòÇ¿p$`û´ö™d ^ x¿»Çhò”㌯”?ÃÕ7RÈÏn#±ù½E¼ (É6Ãå0ñáÿ‚-u›ùð¨AŒ­Q‚Z^FŸƒFo˜žù~–Ö% ß©jL4ʯ R;i÷Š’'bV&ÁÚ?™“ô¦4ÛWñÉþakÏe„<ôY:ñi?6¹¨+—Z¡àøI¬Ù=6u×òVyó’÷Ý O YrV+>¢ÿ³UM5×Õ,_éY1›î¨¨Ï‡ÿq=J*ô²™>” Ó îÌOQKŸè £@ézûjœ^ýÀžO9'ŽN®¸´D£oõÏo¨iBa®ãë×®+Ôk®tûð„P=yÏêt/)²Õƒ…;#©Š‘?—H1ó€àó±õï}p±ƒ›¸¶;£Ê 4’|÷Z„½Yžò_o+/©t¨Y ?´]ãз••ó±Q.þµ1…GÓs€L0Í:ÇvÂúî·R26 Óm’#Ÿs=«øg­`¾Õï&5%@Rò7ü^]j›’R~]lAQº-cUP^?^è¼¹A›±ËƒÈÁ¾!ÙŸ«.6CÄ¿|úúûúFäºÉ~wìí0FÛ9˜To7ŽØ¡ùÀ$¨Uò_œ 6òÓl›èv¼¤—á»H$1Ÿ”ÑPy‚d «µl¼)™(ŽÌâÄ´Öy®îp“ ±©¯„(Sß û§!ê‚cµê¶©zßrCûË$øZ+DaRŽ/•o3dñ[m‡¼•å…ŽáFúÅ㫎˜[‘@Vä]ã+>lÔ'$Û(¯:µrkøæ$ešŠÆðàÔêÒ¤´—ÖêáÇ(%—Nˆ2Üáîu¦CžláSš°Z ƒ¸Šû‘˜¹‚Eá;¤Ç»!¢¡ÄRAvw~pÒó§,=fX‹7Ñœ\‡ú¸^% •ádQýþc¶l™ò2ù×ΨñÚsU[P¡¬ZY_¿£€²…P ;Ï’¼Ùë}!d4v)ääX€õ8AãÂ+Š@&ì§™½€|žTpg„¹º¨0£yŸó˜ûÙc?lI·±.Þ$¿‹íɃ$þ4e¬ßn@¿.Fhƒ^Cì¿ó¼Ë‡‰­…<™) lhýµ‡LÊM¨Æ³Ù‚„Ë1ã¢W«µ 2+4–S-æ”ÒÜég9 ‰MãÆ/z w=³Ötüòxë(¢ñåæª}ÿž§,8²ãiþŠ2î ï.ùýZ\ÎÇ:—f­Š´ˆÄÖb„Y1†Î «ò1gPFæò€®)Uj§GôÑúŸØ>}Òv±#s™×¶G”ZLÌ$7õ`ǶQ [èNK²›ŒlÌM›©ç*Üg–I’œ˜º͘J³ý#eß'‹Œhqµ×ô¯¯¨¶&uÞêöï6‚.ë&»HC²Û·‘¨u…–—"1;„Ùãß’¦®a!+ýRG„Ž#€pŽb8–}9IÉï­öïíVkÉñ«ÉúŽqò¯mûv®^Ðôœ R™‹tû’i å“p6w"¤ÖÎEðJ’ß•W³©×+*ÃiÑŽO X.t¯@S ‡¢0;±Õƒæø·ýz²Ê¼´'L# ©Úá‚®è‹OG5¡{Õ¢os¢¨Z„ïŠi{ýe“žbÈè‡RÑL¤ÞC™]r8HÍš”hhB,|UjÊjÜ.5ôrC¢1B^ @!žŠ²!Ý„ ï\-—úÿ" %ºaÑÚ˜¼sáí'D[­“ªÝòU°{’å¾õˆ®l‹Š^1Ëf2hÅ㫜5»ÞÖ'L—çòÐà<ñþ‘÷ˆKš& »oz©Ga¾‚^”±[(ŸÕâ•1ßcPVXäïÌ‹…<»,PŽÒ¡¯ ¼ç-:‹Èv"*a^w6?—4áÄ©…¦Õ•zWJ¶ÂÌv‹LcõÄU‚†ûû‰?J¢Û°Ÿ/lUÊÊU ö:¹¼kõ´£'‹ý’5_•ûø~lPËèä—L¨ýûØØUÀ'µSFçd+üÛä'ŸíñQH²*f7Fh/´I˜A[cxûy¹$®¸Jv¼?2ŽËÜð©od/ÍÚn»ûo4¢€®\t^‚Öņ§©P¸E¾Z…§¦¦Òזּl X/~ø0þò ø¬t*#Ü`ä¤30›²ÜŽLeI“ ×Ó^y×)¬ž&3Âí¡Æ°Îöm¥odn»Ä€t„þ¼FàYï6ä-–Tr ¢œ¢V¦2}i˫ڿWËUÛuPž7 ß‘ݼjI¨l (ëYRÒۉïsçÜh“>»·“{§’m…!mÆ€U-‹ºÇÔp’Æ?ßî¸óßo+1ݵ&#'C^\œdRЗD³Øyé)†!!vè0gÅN,u§fFðm@å–¸uuâ7›÷µ«%G$!Ú“FHŠL,‡ËHòH£Ž]_1ÄÒZP¢çÔ²†^;}uá÷ù³u¶o—§y§‰¤^ GEy޵}dÒGÝ™ÐO³»Æ–o0{(„C¹•išf“ byIkj}ßìÄÃ.0¦·Æ*xì´m¸ëã_z×ÓJw†ëkôM±Œ0…2Ü÷†:Y[z|…NKiUKpÀ÷ªÄœã|*\³Ìâ~ªz÷CIUÉœOêËéG•wJV3%E‰~…’#Fª#0ЧÒñÄÒ:ªjȆ¥îà¯%%`½¢Ý@¨}’Ûà18:51c 'îµÀÃÖM:W/ø*ä‘ÄKfÚŽu#R¹"Uy쟩<ÇÙƒ®‘ÈV°EGf@‡æóHçÄÆ†ÄŒ<äõ=” oV„¡L5 nW±’Èrʬ{E¬w!ýA*¨kSwÂj¡°Q Ëõ'·Ž›¼h~ÑI}ûbÜhEeª•ÆR¶úãÃê9Óhuð Öebât%ðg©(=Tq<¡Zoáû ÇàÐo}0€îKÌð"ƒ°ûKš2.[¡ùƒ$üAÔàöl$°)Âx/¹IµQÇ-K:÷™ƒl¡ª Ùæ2¥|RÝž·:Dݘµ¥òJIml‘鞺€A«¹)/ÞÍìaù“Û2ÎIêØ8ˆe£É¬O‡ˆELYð(¹6W™®•âºi*Þ"ê³@õJ7TØ@Ró~õo¢TH›Œ©-(´j&ƵBW¨ ’ )«–¿dÊ Î© ¿@‰õºµ·£ØÊCõ®MØfô”¸º¼ÀðÈ8ÊŸ†Šií'Ü%N*”øÁrþ­­µ?£fLK™³_Ôʳ²ŽüÁËžTü¶à9ÇÆ,è %@íâŒ#ÆÊ5‹K(HíâÓôž½ïîÈÖOtbƒMq¤Í˜U1Ãê(nɺà ¯­›JµÍ3¯Ë3F¡Å„Õà’‹(øŽ8+œ¸ ÒFQ99©XŒÙàr®xÔm)ÞöHÂ.Wê5ç[…Žmniôƒ³Ò$6€à³ðúß'c+*Ìå-^·çË¢Y€n]ÒôìÈz¢™ß*ŽBú“}¶Cäˆ6Фö‘È‘ïÍë\q»)mÊ›C&„5Ø$8æãê 5È>?õ§9ûÉ D9WźšÇ³'m btyþíwu®hn˜YJ\ºÚv @Ó…Ñh± I7pÇHj®Ô¯>à3ù-¦ö•ç©8É©r‚%‡ øB¼l‰#ÉêÛ¾­ì(Í%¾!”Ì…,Š:›yœ(HX_dGÓè15Ø,µä ­„ûê+À'‘ÌÒb” h—`‹üŠ¢\M4±'ò˜†ÝRçŽÎίÔÔÐæ,&`5vÜØÔìzgN%2‹B&†'äÝAŒŸÓkÛÍüóÓÐvcô²¿YìGþ4¾ÂözJ¾ôpÈŽ^Èö$ŒmOp>½“]½çSÐW_D ¿˜rI vù‹ÓðPSÇrsùÄ5±,’ÛDÕÊ:ºÊv­bAvŽ\ŸºRµPŒçNÑ‹á†nzŽ„ä}|Ó„Óm„NôlÐØp[ùlÞªmMU ª{\cŧüko³¥ôž¯‹QQm^À2Ý—–Ð Å7³ûR°nœq­O;yг¡õÆÍˆÿy]¬EÕõðU¬+î 'Ygå‹¡+ð‹xgzàZJ6Ïbt-Ü-ªÊ[UZß›ýëg«ÖÞUÕÙ㳕ãÂ×Ócr!ܘŒ˜ÿ&^Z 1±6G²ñx›Û[4Œ ùA"Yg' gŒ‚)%eæ n”I™`‹ë½¿83GS5 Å•ƒ§v–\üÏ\ÊžÏÿˆ‰æhw7RÉíÀûnxåp0Ò$Þy Õ¾ÍÜ¢•Ö¿©Dà¢p±%âÄþBZFÅ2ß*]z5»²2ñRæ:‡ZJ¨„§UÆ ÷—³‹5ÔX’™4kp§m$²2ôÏA=#RUãèÝ_f•ðfWä«•Tpmo¨h‚¼ŠëýðÀ4ëpxTûPæ:É­Jƒv¶Ær€áS ×D뙩ժàPZ§©KºäÎ/µÒ€50 Ô‹‘憠l³n¹„{NÌ] ·6¼#Í]”çLWGÚýó¾¾^süã­’ªN8ìoÝ›*ÎìtðÞ¼íõßÏ%sÙœÍÈÉäÖ®0!è.ôèjœÚ?N…dE°ñ‹¨Äw󸆅OÝbçY<ï3öõ¤ÙØ,§Ä@Šå²^ Šàv¦õoàö©F´Îwíí_ØñøÖHh …,¯’Ì#¿æ ´<µ¶et#6}'saQXlÜØñZ½·Wû›¬T}_—,<ÅËÔýíÊý/]ÝrªÏ}üúê”jȬÈ÷ÿ©‡½=Ïjñp!š}d͘¡ Léà­©óÛ•VZm~9ZνQ¨ÀµÒ¶°`÷’ëmž¸f×ò-þ²õqÄ)åÔNöè·Š7”ôX»¬ìt"ž»mq¼À¤Â8¢Úå­è¾Òļ¯ùN´a&É壯£ÅFn\ÙÝÜ@/ªéƒ{%oŸNÎÃxµo-iMpvrÊw²QóòŸœ|.m»)åÇÙí ul‰$7æI%¨4Û ÓÇ·éD‹ô$nˆ-Pþy_¥` ÄÔÖFÄpùÅõŠ$Y¢›dÂjïšê¬:w“f‹È=öUUÞzG%Ë€d[L2— Aò6öÆf0]+ø;$!çm±O fÈgªj{wSçp”Ö,ÕNôÙÓÎÞ ÖÙzY\¿`JŸ†ð”uSòΰ·¥†E¼\G° ‚ò”f:דîn‘uºGüáen°*‚e¬åëŠ"aþyC’Ÿov–îR‹‚ñÕDƒò>¿ßÑïᢔägrž²¿C["£ÛÛGŠ&ÛRÒóiŒ°|¬5^›jà°%GC#šøœ¥ª…ªz ".Ø<~íb{)‡ú©°ê8¸«ñCArðôol¢SÉm§¨\%¹bE²:›µ™X~d³QòbvÛQ“ Žþ̼Êd£3",Oý:o}ÄE`lÿ*.«M ÔãÓЫ§v‡¡’8K0†H—êg}E8܈c`úJd&‚3ûöý0wíˆ8½òs‚Y]vã¶Km>“¹.nmØî8€ÚŸ-ï+©ICnØ)í©S?äOy’ø"Œ®´_JÁUpð­ 2Ôåú·¢Î!ª'yvw`N¹‘ñR¸Ôm;= ¤ó4`”ïD 8ûI¬Géß8šô#¶wà~‰.kÅoâhHU×»”âãð¼/I\¨Ô¦‚ ˆöf“Å7øÔRTæ‡ü¦*P·Â€~b/ÿŽ ]±”BhóÁ¯¿f#˜ŸÂ©ñ~éŽuN‡k«ôûŒG‘<•ÿ ûÍä¿¡^À˜OêÆëµíÜ€«ÏÓIP…O!ªßƒª­3¥õŠ“/ p»B-„ K²þékNø&ìŠùoâƒG—œ•û²ÆP%ËÁ{|®8Oµñ¸)´þÍTrnÜö./N•7¶›{­%Á]&a`BV2bû½c êv²7UIjbÌ–£¤ÍÕÍŠY䑇ê:î}JBÙËŽ]¶?Ò¨°MQ4J*`ÝåMgË.I67‡l#‚ÄÁªtQ5Œße/om©|™îªuÍÓÍÒj¢˜Núоuu—@T”v²«A0ª‘>É5râöÝ;Að†eÎÞG&PNAœKH˜`A…Z&ÚÊÖøŸ&`Ý™µ Ü1Þn§y«,™œ³5^Ž“rTµÒGGŒÕ¡·ú®èÅ3à‹ã7˜ÀžàQ÷‚;Ý;/&å熬󻃚›a·ÆJ“ÅёߨXûP…7ôD ½E)K½¦téÖ,ºl2ö&¶ÈëïÐÇh‚HK\›#ÎQýâñ“P䣲%$M®–FÛV†;zžU€ßìDÏV-.¹¡¶7DÇ®cB&zºnîÀ¿?Ö~uKp‚Ÿü{.­i™“E¶ŸU7‡­ ´óS *†óÕ¨ókKôUÏ®Ÿ8ÚKýÜbrN-ÌRéÜšù$‘ÈkôìXšMádîkW|h<ûæ8£v„ŸéµCÌph¥=t«Ú“ùe»v°âYöÍö;´®?²É©3˶¯OI¤Fj &h´ ³v_ f]SZ¯stQxT‰k;ƹÈH…ñ7u˜ÛN¶ó·4Å¿Ê+þK–,Ô:èËÿ¨šýnD…›ÞážÞlSÔÉŸ:Uø$³W©ç‡Ê°Ó9"ûжõpŸ(BƒÇçwÆ÷y76aG±º# …œû­8UÅ“Xã³+âGqLCÕÿÎÓã…(C¼hÍ‹+ÓOªÿ$°htó®ðϾ¦ÿÝhkmVÔâU…‘E %LÛ6ÒR‚̸½&¤Rgú@D»%(¾aé‚Ü…ýCÒ®ƒv-¤ À›ÛYOìï,Iê’½S¾©òR‹2›8«Ñ^f CÐÖSR¯`]°™Û(\¹a¾Üž¢¯~€ ŽŽÍÁæ§Á„½î§c†ÄgG ¬ƒ``}!¾ÉšþgÂþ<ѵJÿ)°w<@« ®„#t#•ú£‡XY†|È´‡ ì]`E¡l”X ?&Ox}T{Õ»æfÆ6È^H¦ª‰G} -_Iƒî€zħ’4ì½·±YèÉêC½ò Æšl»faèéHy‰*\…V ÷­¿ÜN ŠŽ‹á,€·¿‰¿­.eÑöDR!Ó³äþ}‘YQéJÛ,JZØû=&¬÷õGmâ2dn›À‡¾:u]!!°–jFlHbƒ‹Í+^Ÿ=NÂMøY"©3 _T"Í0VÑÌ™µÒg<ºA/Mæ^Fà Òcv«¿†m~`¹yp!-úø§©Ó)Qgi°h®`íîp‡s„W*ݬù¹\@ùP3/¥~Ë~jøÉgEÝ-‡V€ÊûѲúŸù‹ßsŽzJvÁ]©Âw¡%.;C¥Â$q«à!"ïØå.r_CÇÙèíí­!Hg@;JìûÂ&Iå_·õ¹á±–F2>¦€/;7¤jÐ2ߤ#,V*¢h;K3Ÿ{ß%¹ba&€©0xÅ·À•:Í­¬3?¿Qñgg‘ÇÖï?”©˜1kõz¸{"n;–Ïi$§Ë ]fZcýãìU­×æ˜õkcTe¡u—ôÔ x>#ðGÛõŽ©£3 ߓÖ Wi_¢LÂÖp‘›½’PPLMVí»£À4Q,Y“Ýð°Ä¨Üx§³ñ·LHDÃ{–¡B©H𾜎Jè­¨bÈã䫜à÷€Â Ôð*zº¿”æ5=ÓTøýÌò¡«MÂ¥ æ™#üëp¿ ãÅ¥K|… ´{T¾µÂîSˆ¨Ìw˜ h!#¼£ f¶CgfÞ,Ò¦¢… iü­…Îh·?zWâÅ €Îða¨d­–qïÈ@ÿh‘—dâá[5UKÝÿµw€%¨¨q(MøÐ¥óÜ6¥v~y;èô›':•gjI÷TËj \†&úã£î(œ™îRÊæä>µ=2X¬ÄuWP'’5•w‹­(HœPKÝq±Á…Íû‡Ðø4Çãþ]€ÅQÆmå=”†§P|³DßbOV2M€ón’m ØgM*óstìÔ—ÖÂâl±V‰' Qõb×Å´tÒé±’ÜÄãÅôèBoÒ•LL`ýzdówÜiõ~P;ÃKßÿÊ5ŽÛvÕÏæã–9Þ—¼†aÛO®×UùJ ý‚!°r¢Í‰ÎØíñ•õ–u&‰m×F—ŠœßvÖÝä2dBìLz°¶Kñ+8Pp ~Ë‘1%òÊëíL/ªX•}…1#ãý¾.!Þ_Oò ‚ >ÆÄhKô¨ÁAè‘ ÏnÌ4*Æ©´«a×ø*ʳ’˜LMûÏ­™¡Tóô/@6m¡bçÌgU×øl(Ó”eCÀòþúH37‰Ù¯J³. ò¼sù¾&ÍóžÕsègŽËåoÖ› ´·”ž5Å)hÖ„õš£ýhe_ár%çúØÙ4<ï¥\ &+ÿè(°ª¿^e2éâÊø~‹L9{˳ßÌ/sÞ}éAç¡u:áŠr„9^{|dÿŒ†—ÎÁ[g¥¥ ‚Dó¯uÍŠ¾ BÍȯȷGR}lbzSÇny‹(ôÖ8Vo3>Úðÿ ùØ&|þ1Ï[´²µ1=æ%„éõ"É<ø/(ûe #P0dºVSû|܈=ÁµY"¶)Þ8ö–5½eÀ;V¬ÿZÜaØÙ´M¯\R+@Ý·î2~i PÄSÊ>m9X&ú¡ÐõBÊE3©oÑ]ÿEÇÔ Ú#¤T 1ˆÙä_Ý©Êežq¢çŸ rh&ÈæòŒ‰ÕtÈŽwbs áô/+‡ÊŸ÷wõGªxè‚nÙj ľF¯Bb|Ë]^:gªýËÙoVÃŽÚ_¢ëì– wšBoÅþ3>Ík˜Ûø Á¸ùgù2ƃ÷!踫=|¼ÀÙèpxþã<ä]ðÜ—011woñ²ÃÔF'—d„çWúøÝèbe2ìF7øF/~"çÂït´ÙŒs[K‰Þ?ýD°w|$ð*LUåSqªAt§ì_•Ę¥½ |é»ã—Cr.ΟÀk.>­#ûtÚÓ"–tzΆˆlÅžXœ¬2Ræ ѱ{àÕ­ Jiñ Äf’žñ;÷ÑÁ†-(Ť°~.¢ˆ¤É~X¡?¯64Âõ.>u\ôÄ­t† Š-ÎRCkì5Ú‚ \â§2šB‘@ÜøWÌÞïwùo©'kÛE ¤×x=‰×V÷$ÇœúhY¦èý‘FæAu£¸nÚWÕ3 ©)À¸·õ[ SÓB>urX÷w¶# eË5öÁêí»;ÜÝAö·…ˆ¡65uVÁ",cåÈï-YýmSE$ ?€m@ü_ôYÿâ€vÄ‘¶ä÷ ïý…;ÛAˆ[?êJƒï‘0^è;X4|*,òÿA†¥ »?+^!´”Ñ Š%1™Œþ³ßòHWDÇÕWbËŽ9ª5¶i¼Ž]£Õº넇Ι¿‘­–ÿ {£…üááÈ¥]‡mœQ“Šau²š<=tjꘘä?q8%ðOg0“±¦l–;1ÁdîCKV'áE®³Y°8¾eñ«;ÒšBƒz{+Sþ•±R¢#nVÓµóÒÑI5ÿÒº±-ðEÝ:ðU®Îœ%Oæ¯Ç"Æm“·å×yGþ˜ô¼Ñ-V“qbOiž‰ B¹Äà–ôGÕ¤ÝçÂ%£šráêK›•‰ñbŽõÕ;ýTL¼´°˜M÷OTIT?Ûi8³ŽÓø›Xø/›¥IZwE‹œÏVLt(KÄf9ßà–ØÎÅ$ЉL#ä¿ø ¯Ý€Pn©ˆC~Ø,}ÓT6ËR€[êœWÚ“¼S~êÒÐT¬]û£ó«ÿ¸±¼";ñWª.|ýþd¢¿Éù<8båFp»‘kYu|S5˜çâ{Ý1 ,£¸Ûc/××ô7PÖÚLÛõÆD`2·ÛŠÔ`D#{ Ǥ‡é«Sᚣµ»”ÝEQËAË¥";Í'Êá=)B0>£u]¸7\ØehhºÔuè!æ< éeéæ6ªêՍ´XìZ@éÖ™ Òm"„ O þ9)Êù¿úÂÙ—ö.€¦‰B&MŒ’ô²ßøÆ6(9ãÉ.´õd±¦µ/‹SŽ)ÇóÉì×,…Ö¤öžÐýå}Òœ´¼ ¤Œ­Vv¦y'È7;‘0T¶iÙ ŒŠˆ9³Ôø‡ ŠnC¿Š±ÄwðF²Té‰?±Cµî¢pú Ó2=‰Ëß»m PULK0ZU5h§ÝÕA¸»¬]æ :ºÚ§h¶ç%Õø?SÒ¸³ËO½–€î‰‘Èêz.J¡ Ú¢;®T=qØç“*FJZW=µ÷GØ7Y]KC]–Ö Ê,‡#p£Ø*‚Þ ž èÇÈ»"#h• íbP ßMtø±þP^õ¬Â0i¹1Hu\¨ïîÉÌbÔý ÈÈesª$có³ÌdŠí¯Åƒßµ; Ä”LJ´ƒ…W¼¬T†VLxnàÉm¢pj\§Õ˜/¼c{ƒJâ–M7í_}^x·¿dp™ôŸÅ?"Þ±eÿ«Š!«ZØ…Vßì"xúk±ÂÕUéq~Ò"’»_dFÝ‚àMÔœÅëÿµ¸æ&1®½ØúÖòÇŽ³áΓ²d—×2+úÆ™¸š+8u‰?AW¿9µA‰6°’£Lò•ûÔiW±5¥µ¬ ÆèZŒ)ŒhÄåËâ&=š¤DÎFQ…ÍÇ#7ï[Óÿ ô¦·Ù5·]þõBbÅfHñs¬q³¾ÈáÒæDF?}é祇—É–ÄËÁæ‚_ ÕyεòJñ YƒpzeTœÔ"¾y0âÇ=ÕĔТ–íQúÖœ³ßÌŽðvû]²øMi¡""#~Z?™så~ŒFá²,"†; hP 0CÝ^˜$,ÈI* õÈJñß>£sÆáŸõ¾IB…eÿ… „¬:ÖzL¾žBT;džKôL ¬ðx¹Jv>ÊF[¼þ±9¸\¼§.0E[¯G>­ÌÛ[½' (w²Êû¯FÀ㔉ðÒtóýå_€Õ½ ÑÿxQC™7%¯)ç·Zãç‚âû£ª#›•oMˆÔˆŸf͇€ruª™—Ùi$ÛeváÀ<üX/•‘ d) ˜„ù]+Ö½ „ä«dŠRRÈ3ýaõª½EýƒÄüsô>—m’‰$þd²¢-êÞy p™¼89Ä@ØÜÈp›³¤´§àb)Ýûȉי9ƒ+_ Tó¦ŽY—1…&[Ò° úƒÀìÈÃMZþ4Þ4/,cL ¾¼glÆH‡:ðñÊöê)|sŠC°¯œ#-ꕾE^áðʹ>ú¨¶{—=ïê5D¹ý.cöTþ16™¤h=G…×}ãî»Ø‚†¡NìwÖ§¡—Œ9É¡Ù!ÛPy_Û}ù“ëK˜?‘¥V#s¸{9ð¨Ñ_o AbKeÍÛŸI=óš–•.Åœ1³~ÞCL·„+uâiY6÷Ö0(F›Ã$þôMF,Åæw¯ÄêgL>R‚¥´n¥FIÎéÒóŸïvãV:úð³§•ÌŸÁ³hî¸#ÿ¯Ç0\2‰Ñ†=éÒm.6¥¬{ý©–¨Õ‡w+XµuZ‹¶Oéçõ xétïåùÏvshÆìö¼ÊÔOò5貑­À£Ï«9ïTÊ•Ÿ`=+^Û[ØP÷¹(;54!}É÷ÒÃmïýÊyŽF~Éô?:GãŒ05ç“(½†ö?bR`†è9MNý5ÉZ‡ýGð²T<¢Än¼ïÿ”Q‡? rk}KÅ´wyÉ™@2Úý¡ôJi«ß¹Ÿèü—èU•ÄF¿únÏ;YÑ‘<ágú¥9‹¼#L‹ò5ÛC 7[«URÙÍ_êÕ0éƒÎKÏÆŒZK“šdìÐPH»ª»æ½½˜Ð®ô‡;HhöÒŽ ý²D/>²oùO-2OíUÃ+]ÚðˆK7!¢åï¾Ô©‘[†þp×°ÛÔ’!Ï Z+œ›%§œ_4õN3ÄóŸ¦À” ÛPMhþËŒã»IEÆ{¨ŸeÏù¦T•ÝeD¦~´>•6(¦¦^®w £vØp5ü×’ä1ª+LÊÿ?±ì0¿ {ÿ~›¤ÕPÜìWYÛ{8=Åûm2åÿ\Ý·[¨þ<’þŒO%óLémk‹ ›o¬lFêæ7xÄ¥aí¾ðü”È=nUéÝ 0‰a^R.<÷Buý¸4Î’ÊÐþ:V»_0¸vümj쥖 bȳK”ÿÅ‚“ë‹[î¹åüÍDØçZ)S!^ÑÆwî‘—Qׯ‹„³tÊ{ÑFçRé»|Æ£þÆêzý™ññ*—Llñ—‰Â~vA_ˆ#8õñ֌ ‹Ü<_ œ%ÅqŒÒet^ lÓ‘”\¿4’J‘߀lwS~Lwƒ4üiÂÇq‘Ćwûqã¦sÚ—†t\0¼Ü±ööÉ©&Aq^ÓWdh/$0OتZl9º?ÿ† © ?7»àYX)­î3Nª®Çý÷ý`­ÆK$‚˜Õö¡Y’´@ù1ßOöè`½y…0ÖÔÓéƒoýýÐX¿8N{'{]U壔9Ú&Á[óxh'ûb;ÅÇxÚçE0tä:K£¿Üq0ÃÅ,D{§½ãžúN¦-Ûÿ¦ŽT—f(X¯Î–œê1ü RxñwX<,€\zái‘7ô¬·SB*”7M%dXwÍà*¾n^{ÓœRˆå³Ö¹t²Ÿ¹¯Y“eYn®Â —.:žJ4|Ÿé²yák§,·/ÄGŽaIÝ|;XcÝÓciåþ¾ÊA,Ég~-°4¼ .爚Ñqë9BÁ°¨!ˆ”a.'œIûmˆÂ\F@&̬¬<e`ÍÅnývr)#W]Ð ’é0,ŸMÿp¨|é¾MꮟlÚ|I”•³)XœøÏú‡&¡"輡5ööÿÚèvˆÉS–ºEøXŒ¹Àï Ñ@ß !ÓïwP›¥Ú ¶"'?ѹ¨‘' À|NàL ´ñ(ö¸ìC‹ÐÉÙÍÃè©ú+i¨ŒÕ^MGmnqä'…Þê â>K¤9ô'Ðy D]qƒ0Ã\þPkæ–Ïõ«!Üudµ®òœ/OB(éÑÁ®‚ulI͗˱g^Å2|ûz/7êÕ¯à¹Ehÿ ~T8åûá€ÞÎÅ::íÞsQÌã ðfjÑâ÷ÞÅ?ƒß ô¡[›’–š)…/f«Á©\ýËc÷ ×|šzÅèú¢Óqg–GSÿší5sCey&ý³™V=ÈË%è‡?°O—|†òBÏWQ݈٩Ü8)Ê ½ÓˆûZ"’€ùëÙ™ƒÍ4rµ{Ós*C·ÑÒÞ±R”ÃÕÿ;-'ñÅ?ák.lÏíC†¯–Úž±Šr4…Ú–çhjŸIl›@º[˜‹0±òdMµÝ–ÑÊ"4O9‘Ƽ/'ˆYž”;=z– <õEŽ®b!K…JhΠ›´ô,’œŠš}Û`Ü´[Wö´à8>øh‹¯ÿ[±QôëÄê$hìMu|¾×!!Úò—ÄE-¦7µ»˜ñz%HXá—c6wúM7.Þ…ãÍ hWªño¬†ýïÒPbYq„\Ú¢6K¤YZnÕò9ñšš¨{R%(9##k½´øwÎWzȵÓzÙzÒÚ ˜"Âïr r˜ô%4<,ý ¦Z,mT;á~qØ"Ý׺ګ£}}é‘}g2ÂcîÂaÄ-­|€ð©œ´M™6ÙÚ»—Ǿw·ê ÑÇéøÐ€dØë;†Ì“9ƒ4Xš“õ`rcP8äû7Ü@Œj—ªSèP‘)îÇÃÄд¹w6$£ºTcê Žgÿüt©7yÜΔðÀÿÒ.éÆ:|’¡pÖwa§o<ÀEí=Ú³aR¡9Rº#¸õ°ÓÚ`eõ2j8棸¤LRY8š#`[ ¯Iÿ?hºÂl«…<¡ëb•Ôù>Ò®GiŠU¶›$¢Žr„üCÌgw;&º‹‚¥ Ý® Vö3™mª$"šTµF`ܧ ÐC÷Ežg¢“ªõÍ¥y’¬œURÕª¸Kì'Aáζý])ÕlßKµfêî¹±5¼¿º”$žÙÄàý½8_g)ch²z8=ê¿eJí5ÁS¨Jž‘—gã¬ßæz¸™ô«òëĺüg?¤Æ£.¾z¼½»l ˆÒ›{ë½HÖ^7ªz·+í‚2Æ(æÚOˆ,2«\ao…¸š•p¢«(îBĸ™)øò†’'U"å+)ï•®Û ö-J0Ñk†˜W+5B”1wvÍïœÛ@0Y+`š ~ÂZ; K\[ ¯0oƒDý8Xƒe'>E)ퟔr=,/\S^n&5 .ÁX.§?.Jx©W݄Й9R« õ¤2®˜áW35NÛîâéêŒ0þ$pvº«*“bWÇÖ÷´ók©ô 9¦dþ(Ó“éÓçCÝd̸ñtÛžÃ-`io /È'¥‹7xXÆ42|#oØÑfŽa41v!Ý_QcÅÉœØ±Šæ¼­¹«by.òqL¸Öà'ƒÄªW—0BòÆ£LZ½²ßñÓ×íÑZhzðËXvI £NBG@hš‹gŠkÚÖ!¡lE±ÉêsïÙ¸A“AIÃ`XÓžÿŠü¥í`ö>qÞw¶*…,WsüùE]¯„ø^‚ G{¢>¥éé>é ˆäTäºiThT„¶îz"ßn&”A#¥"K ÇUjïo+!õ \iïF§ÿn"$ÅU“V5e› J;b(ÖõÏèB†Œ×ú)÷ÕÖ²ŠK·I>yLs@ÉzAÉÓƒ–`B¹Gö˜‹ñuÝ”b;=7ø –¢…vtNºõ,e ®®*¬˜ªCäÊÄŠ»ä­"­¶Š’Žn6•.—ñ´=ì7i ú9Xþƒ|ŸJ›ºÈŒÌwC $¿”m¥HÞ–6NÊikùiÅ•ícêGœ£û!o6Ö)R%^¢ó‹IjÍ=‡Ž|${É~Õ”ÜäöŸ2¤@ÇvÏñâ´1>ÑüE,uês¨5® /ÖÀ8/«˜fL/ZŒƒ—©—"oñâ’)‚?ÊòiàÔ·Ÿ6³"±¥¢rïüNEsQ0ÛçG°wû(÷µ™8=%ƒýE·$£™ék(Î7hãQž+Ë©ùxê–Æ)žýTÙ‰dùLjB¾²dvýg‘Û 4¬‡ÊfÒ¬ü^»ïº‰›j·ëœØ)Ò:ñð·V ๻v¹ñ&¢˜¹——ÂÜdB:¦C €îC¨*—tð)¥o[˜™ ÌžìóíApû¾ço†~ìïh¶:Á?¯’f¦äô¨V-T²åêK¥÷Ó´*žHŒ$h és#‚£eÂÿÔÞúwƒËßâEf¤7Zûl½P/ËÚäj¨¥ä(‚JbäÆÂº¨ëØ·˜«.‹í±o÷ß.õ–ï@` ™5ìÊ}³•À”º/–€Îœ@ á¦G6ð¹Ë¸(›ï~Ùn>læ|'`˜È©‹Å8#Y=}è É"ùbnEB]Þª…\ë'B+-¾*УVŽÃ·g ÷笒ëv70€zï`ûYþ¹€a³Þ‡GÀ‡k×jµ^º¿QW°ëBk.ðH~PU ëjÕ·ÖÔ9é˜ÅÕ£•±ácÛ£Bâ-š;«ãW Ú-_Þy%4Ö/bBÀä€wÙà$‘Vå,ʘNÊcÌߥ4Ç^H]$é¦.Ùw<ºúؽëB„ü¬hùy„|ÿ KO°Y¢’sŒŒ—á¢Nª8ßÏཞ7›í'„áM¼ý¼/üúß6’¯3¦•¼—®C1´OGÁU° ä“[¤úÑ2¯…Luê ¶u¾´Ä1´a/‘•r‹å¾%qÎnŽ„Â+î  ˜Hï‡ÑáeÒ÷àŠp¡¶À…Jf¦m'»2YÑ3}HÁÆ„?øÃ3 ”¬¬ƒuE¨ÂãE©T=”y¨V®ëi:ùS¾W|‘‡ZˆÝ×Ãó bÛßr;60ààËî ´æ`³Â~¸ÆuêãdèjÁ¸\ÎÖO–<¬¼KF™üÆâÈyvCÒ]CƒþG×ÁMÿE\  ^së7£+ W¥@;!”Doû”BZr‰ñiÎË gÝ"=Y¹~mZ8Çì8TÊ=;™.©]^Á¦&Ø"”\àýCÙžìÉvÑíl¼n chëØ]Õ:zôJĪüÁ'fz>ÃìíÍÅy`@zcl¡(y ^GôpéòÚtC#åxÈËPÜÇi=†$êE5ùƒõÞr[ÿ\ìÖEÄ·¶ô-:Ƴ]q›Öi-c¾”NŒEšê ivE<ÔÍ7êe(9,7V¶C˜P[…óL«f“éEšäæb¾^¹¯xýûJïÜI/wa:;*:qø8ÍôHr÷ªRˆÀ‰¿Fçqv‚É{€Í‘ÙÉ ÔwqZ´ÛÑÓÖV©9ûR£×úñ³pꎋƒ¥qœ™‚»'¯–HäÉ«À@0´çä !@hÄv~ÅPx*n¶§Ø‘úŠ«¡‰AùÛ‹TN^ÁÄ»½zr u$A›öÅɵð¸]{ós¢ª}Bn{žúÎò'Æ€v 3œCôfØ´¦‘Ày0X–vÔ»uè*œ:ÐîYÿ[ÙàƒŠ˜øGF›«¼üåøo+ý³iIÜ£ zQT 7wñïZê.®0•¹éé†N9N¥õV)KñÅÈ r÷lQ¬¼ª¼>¾Ù«\«Ô hò½(sè|°©ÙÖìT¬qúåd2‰§z=Wr˜­ƒzL–¨mü´>‹v¥û  GgKqp…°0äPš¿‡õx¨"œSé°‡-¸Ÿ±Øð¨)l™çP3ªŠ«ä'3j·bg¾ÒT’¥SQ~ן³­Ë®ød]±‰\Уñ³ÃN­½Tt@±ÛN= C•j:I¦U õ[½ßSùQMÇ¿O‘F<9\욺°)õ~âm´s«QÍÎÌ_=YÞJcôý¡}¿º=óæ ñ¿™»1°][7Tó/¯Op°¨|D€nµUbà ªŽ +zN!§ËùÅG¶àö .#·5B|нR+çbÿOi³®M½{2ÜÇ嚯!ªŸá p)ç Q¦ýÌOx}iñÏ?‡(x2±gβ]És›’fL€Àçâu_žÂõB‹76Îî3AÙ`‡k‰£ÇÃÈ>»†½{Í2H/­y(\ë:Gs7s-Üf,¨”@–˜™#k~SÖ#Å4½rÍ®slMl æ–üe+@þÛášÊÏþÞnôÙ¿[. Uâ‰eUÊÓ50¨žU]º\‘Û§}¿òÎM†ƒ¦mTÀá&ïU{†‹$”Œ< |QK•¥£k{1Å™üתCysçå1Çøpã‘ï4~ðŽ-d]Ù*#X G†¬\Ø•>›ÆÔkÇ,æôž^Z™wŒo$W?‡;bÐJJ‰{ fЬRà|9°‘@(/€×Ñ‚:ÆË뮸c¦Q Gkwø!Ò‹Úú‚e.š7oMïÂÖÁ!Cç ¨ûO€¸—Û“åq û¹>6¶X·‡¸| êƒ´—d©ƒSá¬Mé]ÿ-s¶H½*ª†û¬±Šg%˜«Ô¯³»$ž_T…/¿!,=Ò;ìYa)œTáÿYƒ$®«<’1•/bSöä1±¥ ƒŸ,á‘ œÞ\G1Qÿ-QFõaÿc•Wx—KÅʱs߸P\ÅÕ!¬ð)8ÖXx½x ± t˜;‰r3 NªÕ¢/Zk‹AÏO#_‹i~—Í;gþ™ î¡×_æ:Åìró(·Ì7‚ZB!!Ç‘DÔNüÙ Žs`” °*"5BŹqwùÖ{½Ž{dóÏd싹jz¶nkÂëVÝí0®9,!Ð’Þ-8s?à Â2¬Uv£»´•™NS ÎzùdeäQóS¦D²¼D• Ý3e €IÇÁRñ>úlFR„4+Ø ‹ÿÖ^“ð‰¿MŽ`û2ÌÓe=gysË^ØÎõ&LTðÜ=ðÕà<öEû1,[f…±8«tYàÄ :º9“2¢9f‰¦ºŒwˆXŽM5aiŒ7oD´Ö’›âZ3ÂÎrÿÝšÉâžÎŠ1a%&·Ó.É^ȃÈíïKUiØ&LúÔæúð’é!¿ã?¦ ëoŽx¿j¯h÷ªËðI+É—…FRZ×Ê툷æ8ÞOGŸUkë ‚@ÃÓýØ“MVë†:¬( P§õM“¡ta#Om»k‚x¶¤&[xÿEÿ“—O"9û“—“ 4U”ú±i*ƒãŠn£ªœ˜îÜ hys±x¬n>[>q^±K…‚õ}í2yÇuWû³çãÓÍ®# RùØwÖ…ür¿âe{ÓôoH°ælŸ>¬¨žoXèALŸð`™VÃSÝ^¢xýyS_zG~—“Þ½f]b8…ø4ð—Ãw2} 2ÜX侯i‘š·ã†Ä"ô ÔV.Ÿ¬³¹°ODø>·· `2 ªãâ¿eW½ŠüÆ–ÌHaNß'w݃çä©gá¡L¿»3¡+Û.›©BÝÙ>K[Ý&7kõ¬hœÍHÞ]£j­XŽ–3ä ¶¤ÿyØmOLÌö4l0O¥ë uÒ.:Nl2Ë&ûÃÍ=7½^b«€1¯KÕT<5¿Üû4©u®Xª;t,ß?m©N«ßÌÝ*'Ïú{^IÒ-v “>à“ÉÏã÷üœÐ¢UÖö­u±—Z.@2¶Aki²êx³…d…‰ãÎp¨\ÙJí̉<4ný•ç,ëÙjìq©‹‚= ÿ±j õÂÝÂöŒÏ^‘(G¼ÃÀSøQ>5ìTR&è·j Æzͳ׿Âa<ù¦7x74mMç䉇œ¦DuH¼ÇéZ¨r™Ì; ¼’`Û@}#× #k‚‡×(±‹}: ÊÉK'˜¨ÚP; ÍhMÌ[Í$s™]ÔäÓÚ:Ÿ‡hSФ—M›`äñØ2>ùìtûãiN‘¡u±3ɼ51öàF ˆbõÏ«ÍDâN«ÌÇÔh®’DüŒÖ+¸øY0<%ÂHô|¯ˆç]Ïåešiñ@ãVâ餫ˆDnßzŒ¿F`ÄÃëD3B ‡#w%Rt.gÖ«1-3F¸ È  mÒGõÐBüÙËü¡¡ø¾¯GÒJ~rb!f£î*ålˆÝ‹Vˆ’¾©…ÔÉ3ɸ*Êñ÷ªïÿ¢Awv\ì GŸ³y¼ôOvãIô<Øö8# óLÍVV ¿ª‰ÎÖ#ÿ*ºNƒËë :÷þK w÷;ÑÚpþöEBy=Á3=^|=Í¢x8¶)üÿ ‘Mi‹({1'ñ£‡Òt0Ù™ƒ0ürÛèÚŒ-iú7„MØ9æÁ˜½O{ÒÈQ_¹‹aU9Ü¥Ãʈ¦ô‚:Q൤<m—TmêÇ„Ž„W´nЇ¯Œ~T¯‡t eþ0hfOmzÛ,J GC8êDž“_.ÝŠxYiÐP¬TÊòÐ^gÂßâ&ó*(¯¸!Uš A?cžeÊRÖ×3ø3,¾>GfñÄ…×®u›“¤û€}>¡—[2xª;íåðSt5Xmf„²w¿ÄòîH_BÛÒÆ`Ès‘QeÈ‚¯ 2¢&´x#r¥É×. ”Õ Ù„êñ|cu½ÓZ¡]z˜Jzx|­x–¥ê$.*×çé´9¸íÀ¯±ú“1o[ôÔFF|sLÏážÒÁè®Ü'™zÑcz[Ö†ÿÀvìïª~/ò/¶™ÓBöâQϳÖMQ´¼äßîrÜm€¨¤Š$ýξ8ýCˆØöêE®×sVE).Êò‘ ´£dðŸNýSÆ öŸ~¨xbà™½™x0pÊsŸpðk¡¿Ø-%L³›=½ÿÉY¼V& uãoIyp¡µ;”¥H~UO©žíêîG  ëY·a­ØÆÚ/Fwq`Voå”cµ®‘UâžÓH4k”e+3À`Ök"Œ(:gn»@+´s¡œ“4c2«:0Ìz½F&ÞÃ9en¸>£ä™Wp°24YsŸòŸÀëlaƒ_©wNÖ–ç¶â–u`vÜuvÉΛ Á€^UÆûËAc¶v܃)Y5]‘?•tžé¢üž³PIIŒ@»>Ãianч!éA-FµûIW¾uêuYSª5G󄲬’\BTë_C»¬’ùÌ õWä5R¼pú áL;<ªžË’[œ¯‘óôåé‘cÀv9?*¦ÜÿªLìçÉ ç¡Ó=|öäŽí a™P?\¡‘÷0 Û‡á­L5L^=Hàq"./T–ßÌØi¯¤‘NêôâDùD VÞ¸qÅhWf_ê<ícˆýØHúã¼0úSÌÂWÝQŒ4…A$©Ä0\cK§Ù(G/ß6§=Ed·íMí©Mú‡²ÀT¶ÿÿZ/{Qÿf¬ ü“ sÊ·œÀÜÕ±.c¹´¹sÀÂc˜Å À^‘Å<ûcD6]÷ÁôH5‚‰\[Û²A‡E…Â×O‘A É­³ÜkíWÄ-ñ ´ðFtŠC+U¸ Ü|k«q¢©ÞÎÒ˜‹Ñ ÀŒWP{—ÚÑÖœ IMu”âÍ‚—ÔÚ¯ÁöÑ«ó.§b k+Â=§>ýîBŒ©Hy[„òaÐÉrÜD³¢v–#®å‘RÓùSÚŸH¤h\ÝP"qüsbß@^;ÓYµæ²â| ^ýe‡f –*½8§SËá„Ðôqew¸§ š«Üã¶\(S©9T²|Á7Êg„z’‚ÛüC†t7왲 ›„Ìm;©dë\¸ÔÇ}xmd¯dbÁViŠ4å&d£Êø—rÊM:ÊN ”Ι…Éæ$=cŠç®=IÖÙ™»mu™¿ø e©fïÃÄ>Ë“›¢B»Á²q 1+7å%q§Ì¥W…kÕ&ƒ}žu÷Z´N£„¦ŸPñÖ¶ÝÓâgc| 9,ÀÀ‘•+‚_@~®Ï7¹‹äšƒz•Uç­§eÚ/¢Êija ¬R¾L[ýµK_K;:2wž§ÞvQòAzŽ8v è#ƒŽÒ>È-õ-„Möé‹ï÷`bL¶»ƒM×ñ_h^Ë[”(Od¨åj»UÓþù›†G³k‘aI'E‰â·IÙ†] ‘íY·|ñ“… ¿IùJ°U?›†~ǨrÑG;ýãýõrcÊË{ä ¯j† ¶0…ÜÛWK.Ug†!œMj¥çU Þé,É¥óGB(ãg‹0ÃN2ÙóÕ×A]Wî»'8¯Õë8Y¢6|;ˆj#¢fDJ2ò?N®ÿžÞkü¡E’—‚ábЕÍrýõ$KðòÿžÄ·7U¹8ꎅ•º‡#õ^“´ôâó$Ãâåúý‹øiÞÆßEóSW#¶)UQêú÷½t’§µóêīۆ”?ýê2òUÉ¡ŒùÀN“èÅm â@`ŽnY:%<Ó$êf^‹×¾Ë\Ó3Ðy¿½¡FiÏVþ¾@ÆÁºsµÉ<³1Di­H#¿¸ Ž2™ê³ué†Ç7ÜOÏÓŠÉ^äž#jž.¹j=/#IÉm4]þÅE2À´f·A>RJl_}Û1æ"Õª;7¨ùÆ,£dº¨9/W¤(Q¥ÂÎu„ÛïW÷;Q›C]!kzÐ!飃õ¬Rj×óÀ¥â§£ÿöi9<_é,ꆹ̓ÒÕ©è•:Žð Ã&q§±Ö¼‹ûòï¹Vý£¦»çÁ,¢¬gÅ eP2Ê{ ëBï2a+wFÏË* 2ÈeŒQ |°0½ÑƒOŎ˨{w’†h™>ºEV•œ–Rël±eõO;wƒìRÀŸ50ÇXÆx ï–kÓ~ssZô“Š6ƒÉ°:]ÞZ„»²·ŒQˆFËð =T ½*¢0Úbû&e&üPju‡³š9î5V©;¦/ÓÉeV3=¡Çqó † ëˆf’ ŠM7&WǼUdrç©­“÷1’²q²i¾Jõ›4¬„~˜íÛ¹ãðí ÑÁ¬ ažÈ"®×HÓêÛ?^ª¹$ð4ôÒóqRÀ\¶gÅzáW»W•ã KGÁ! G lnKú¬.ž:ŠL¾eÍn¥e{Ìת>ª´X§³N&+2-þAG˜·%y‹ÝI*¯ï';õܸژtoÅ>`#ªœÛª^Òò.åÄ„ËúŸ·+‰SÓ˜í ¨¯ëd†q¥&sÔ§jOtÝv²™ îP|&J?”áäg¿éñÈœ: €ùÀt=ö¬E¬JH\4#HOÿf dþ&I£«$¦¹æ’Äþ÷å%öÒ°:cùmypWQ¹Íÿ1¯{˜}Ä8dè,gxìÜBeÊI’QÎM.H)â¼;Nßøp6Ù½àkòÿŒ¦N*œÎ?XƵÕ}$ÍÞÅ• t:…)'®³¹²{32Z}Úšæ´ðáÎÉ Íõ¥â[T2}ê à€£ˆå%ñ\N×X¬;prÑóa×Qe0ê/LÀì êKᘉø|ø¢…QÝÏ&[‹eiR²ÏW! ó½Š`·Ñ0D;¨t2ƲvóÔúý,X³ß×P°’7nDù3–$_—ùYÌëWG–ÝX¤ê¼ùvΒ¾’ýÿ;‹Åaê&&¾/8…2¦|râ~ Qp“ô}:±´_ TßLY^ônòdS|@ÝAÜ,æqµ©SstF1¨–ž…žнâ¾+ëÓ{ç5®k¿W³uކÃãæq%GÓáí©PnÍ)×OÙ’UÂXÆS ïT^àËK¡ô¥+Ì&¼‡.UQ”l^“‡qÃPÞÚcLßˉ,^½ò§róo­l!ñ“~%Å}zÞwãA/OeÛâ!í‰#ýKeJŽ!ߺçÆŸl/ˆÖd®LoÊi1Ô쿚—S¸Ö\ðž eF öd_êÏ(s.Ô¸ª²Œ¸÷ ™ŸF°Líj±íüªM|‚{‹vÁúð…šªÎ(î:x¹’W9dfKµ± ¿ž&Ãu•‰²œ´[¹×¢–™ýþrÓÑÐlU„Qô¾â Q,Yj)Y7$ÛE*²ÄÝ¿ç5ˆ+•>ùÙëuýgÊnêwæ»zv ÑäÁí®—J¨œ¥¡Pbj2NäCUÅê·ª_çh¸û'°åþª¡ú OÓ°rªñJù\qçV@¸Î'X€1üá6ªGÔô6d+‚n˜>@(üÙ}µU& È+žej;zÊj_KL¨Û”[‡ÝÇW±YCSù‹uã8¥%À ¿GêîxO:q¿ó‘€$è>ÓV]ÂÔ‰ åzG«òtß_§xwX“ŠGðÒrrN`¿·1ˆ^7gž1^€ Y Áß'f¦°ÂjQe) hÌ *iå)Qtð¤¾Ø‚&TüÓYø WÒsŠ?çƒFo‚-ärÂn‡-Y½-‡„ÿkèi0î¶Mi» {ìuͶâ…A?!Ø0¼ö$®o°M•ð€#³ºa3^²ÁŒÑy7úhòbض2[_^îù=?l÷î›6éÄß+õæÊš }>à¢Y>ªÅ=IYõV¼¡ÉËL B-®¤½tÙ'Æoä툅ŸFãc# @…4`ˆ#"c4ö45­Γõ¥)¯3 håeÖó¢/Y°š¢+¬É¤#®Ìÿš{˜;dËÃë7@¾ ÞÞ¯hÒ ½=TÙ-~§ÐDLQÕà乥ו‰!wzz­Î5âzH\qÅô îå­ ¶Å‡W©„ùÕß ( ¹Û«ÿsªà3žª`¾ÀòLîÿü{c½xå! aC!f‹R†A{qÉ3+!­ÆT¨”ˆö÷5©<³±Y´<=üT ¾€]UíF\H3j#xðÙenLËÞ5f“àÿÑIMŽø˜• ŽkÚ6‹»°vüƒ†O_Èã÷)דRqq¬!évÿ|IâÔÐғ툒0‰|R»àmáþìE$«šcêiºÏfëx"@5×ÁѰY‹Iþ]ØA€†=ú§½8×÷±ñ‚z›µQ9Ó“;+»ó’§t9wðeªnÆ¥‡ÙMV>Ó{F[a›óUmüRf‡Ag¸72y,ŒËîÐÎ2Ee¡†g=AǦø–îÃvAhÎì ÌYic¢Üó Eî CáÞò¸-™üî;Ýα êtŒ@˲*•‰)·óR~{&1’õ)’ån[(\ƒà îÛø´K2³]˜ÀœsÖ‰x*i{f¢é³ûüä‡B†ZE›P˜F©2WC“Ï~Üÿw·§>MÄŸmoèaäü««‘æq}=øÍÜgÝ‹=¾ÒYùu€NÚ*옲B¢³4¸Þéï,ü œÎRg Zcãƒ5R D «9êŠÌýŠŒìI'“®æ*A4²œ:¹ÝnŸr, x7+ßÄØF>7cÕPfy >°ø­S×"ϱPÝ…¾Ç\&ù§ûòqdz¥Åë# MT~¹R› Pg)×€×w1Ö BL1ÝÁ€ú®íÖÔsÏ%¬ÄWfS.Z‹x?n. ¾hš¹×6úIæs<~Pß–•аa/øƒ&WlשÜC–÷Û%óÈsÍ¡±QàòÛîTÊà»ÿî{#±K^ÊFâÐã)eX¹Gy / Û¾ˆûÞmð»n¨¦8]ÉØ‡×áIÕPÙY&‹.j'·Ì×µC”Ú•…ÎÛìæ¡ hJ˜W¤UÝ4É+±K½¸îŒEè/ÔŽhKÒûtEÆ<:†i`ÛôÏ¢Ù­}¹-C¾ ‰>;+£,qÓí£}­ÝK\(. ^ŽR7ôðÄô¨3 Të(q¬3ßæ5Ü›‘´–~Ïm¾úͦú (ó0*åVÚΆ2Š˜=îFo’ŒÀfà$VBÏŒ´±ÔÕkâÚLŠm‰"ô¢‘®^/àQJ¦ª!ø>w2²´1t‹ÅSoÒM½Ú:SêOµÊG¶o|?n…ˆï?¦J« Ú“¹/“x ërŠ 6¥aK·Q ÆÄe~»6Ý¢~¾Rèí—'_Üò©ÛW„éÜœ^"Mbå N1£—¸™$ƒ¢Â÷œ}ƒyI„ïGôn_Š.{iàè^¥óí{ê~«’4ükóô1`F Oßµ&bæ;ÛæWm0ÊDi¤ë•Šê9˜éXêÁÝ>;hq z•Kö`³r<Í`‹«ß¾ '¸en?xE'p]ë OF/šÉkì‡ç6 ¿‚ øµI6ĵ3í\Îýê OQJJŽºn…'ªÃ±:cݳZ±Àyl¤ b`I´i,cŒøµÒ$òz'XÏ2çðWêŸD„šL¿1›%/€#†9íÞŒÊê¼µˆ™Ä²'؜Ծ—4šõ~i¢>9ÿêš°R®?¨<ÏsáÞGdlëVít¡_‹©Ýî 3SÛ¸óëä|?o^)Í´°G2±À®n­š'Æ),ÚôEFs Cn÷Ñ£7èJè(ÉœÍÖw'mØwNt(«5¨¦õ#Tñó\DrZ´V äŠq¡HÒYï"O‹æ‘Ôc`Ó5³<±ÁQ{­ß:f,)¢¦RÖqJjz†¿†þQûŒw;¹ü»”ï'-!>ü_%·™úøŽ™kùÄßòš›¢èL£ìá[Ÿ/€I 3V[–þ4˜DòTÁsð$ÝœÝtù)X”—mÑG’™Ý¨ìÃq(Ó9åìf":’‚Ó¦>ô£iµgÎÊ`Ñ’ˆÛKÀ*<É K`Â`„/t T¤õÈï|kþh­ZzÚ¨5ÜØÚejù™¤ÿüsz6ŠOƒ˜6Dò~“©+»ó„’ Љ$ ^§Ô¦ƒ¿f\´eG'D(&œI.ßÕ¬Q}F[“7b‹9A[bLuüCYe‹Âˆª¶*cX€"ƒ‡½œV .Æé·¯¡zVk®‚…ÂEC>{ žHo]ÕNx&EÁ'w—M924dy$àh bήÝǃîˆ49ª{Xrö»Þ”-†x6–¼âZ¤ÕFNWÚR¢ÌVUWÒpa5®ÁêG ËŒRò¹~zˆ|ü4§ø QU°ŠV Cw’gGxˬúb¶O–c£š§¹ÁðG,½×£èïo[ÑJk™d/®û…ú]÷áéÅãSŒOѳ_[•ëVtÅ NÌr{R+dÀè9UøµZq— Ü)Àˉ'“ Dª¸,¶ÜŒE$cV5™åuÿõ¶u¶À¬Ä]Šà'l܉F£«~ˆØÅ„^ÃÏè+6ð Ï ´¯­Õð¾t¥|¤Uñ’«é®7'à€p$ÇäýSð5’>Ž`QÁm‘ŠÏEÄʱ ;ûgX+ßÜÀÿù&Ÿ¬½ƒSÄ-N™©ÒGè ÅÃê æ|½×wž«xÍ߸Ukói+[Á¸ÝÞ€Œ¬Ôk†Qâ©nï‚AÎahYäçn48ׯn…~±¢6ExGÜJÎVÒ$8³Íg?V%WÕ*NÉÿ‰á¹üåÑßlÒpççþWÄ÷(6¿ÖþÙ„$‹éõxÊ#XŸÏi~©çóóÚñ :²ˆ`Ò,,™ÀXÅö aXÑDØbztöJŸyFK&< vË>ŽIâKùyóŒ¿ß&Põ?ê»(¥LÙÊÞ€ÇþpòTJê•qò/S4¨Gv&©|+óbvÉ„;¤y\ÍØñp ì±äš\* õ ´þ&FC+¢pÐ) ùÛÞû#råd¯ÔË. œ z—7£¦œ. ¬Áëû× _ëÔÞjùËú—*Š ËZÅ©U´ˆï~G¨VÈ`{Þôuðõ1/G2£\’6QþW=´È(•ïùН˜êlØu­Í<ª¥1#׉œ2Æš+FtG*Rh!™¬×}%EpMÔ„É‹ôÙ/Hæ` ÂK;Î ÖŽ¬°^Rß´Jê gëfƒŸÄÝx|ùœÕiaO™$“gq› _eÏÃ’½ÌÌ|‘QŠ÷Ž õ¸ P€±ÄÌá§ôß[@|)óÃY›õå:œ÷‰ã9˜¶³ñõÈöw½ÏqÆ3³k„è›ãª$Þ´¹›D‘TµÄ?i¬iQyÈÞÒ^ÜbdnA"ŸõnXºž_iOÖé_啕мÝâ… ß¸ÿËS¢R’­ÏuZtDóÂ]žkÞ U‡›ä.ãMNˆ‰¼|¿=í8¡›Ãž7ÑÐ'E†Snº•ãsÙØYØ$A˜²µ±óÝ H€~ì3g«àÔ‡l—ç),Ýe6)øyúßž*è……Òí·`Š¿§¥Q©„-± FŠDŸ.| #’½›£n67iXÀ“ œ„J¢v`÷zM°)7¹c½»ìi˜›éd™ rÊDJ°GŠWv^%ÿ8XÐ ¼Å Â+Ôè3u¹ÇHåÞ¨Îl’5ôm‡š´`4˜¿Vósôa?Ÿ¾äµ¾Ë*I ŽÐùÚ‡ø'Œy ú—¥±O+e¦#ãħ:zŒê…ܦǯ ;þcð& ½©ýEÕ¿¹+u–çœ'ÂÔúJsOoKb´Øv÷E$Íö¸ó­ß\Þ«©3ÝÄѯÑDÿ;Zo–”¢®++ߥ'¸Jðhqè;÷=šñãìž­|ÒþsCX­‘@Iå·ùüÃ>Þêm°:écÀ¢¢Po¹IŸµ"Ï`K eÏûÖp»«yc=Ùdn¢ xv»-]‘æ¿Æ$ê¶,½¦N`÷{¢ŽÙ( s^äBua¿Ýíþú ½¯ö›G½m0½òêˆdnªT}ì¿7ÓjqG…”Nµ£Úyvßdâ|ÙïÀ“4xÑsGÞlœÑ{,ï8HhcƹFxøž CÌ]ƒ—©+f¡…ÐJ߬ˆ€¸9" ‚Æ¿²|ÙºRÃÁ'º{¯–€q ð@ …^f›)C¸ñ͈ºëv¶Š¸~}ØÝc¶ˆtôô௠§Ï:Šp øoPR{åÞ›,õ¦OÌ~…u×`a”rÀ„?öéZÁäñBR˜×V· L.NÕœƒÍïa{òÿj)ÜÜcÃp½(@ –h{’ð%ê#€ÅÿP8ûAoñq[t!…ƒ¥ñùø¶}í Æ“½¤¨Ø¤ßý;}²Yœ!ã)—˜œ…[0vÌll³SÌ)t/«›az¦´Ð_V]XCkàÐ'/¾dVk»ÆqÇg0Ó@COmjA£%=9„ÚŽæýÉi@N^ÓÚ…•8âã›ù’0à"¯Mù`KÓ8ì{ªHa§¬ós¯G¨k©ÆÝ‘Œ•¬?Ɖ¸Ë†>ªæ{íéžÒöw.ÿÚµú úæ­ï0b+å@ët:‘b@-F{ÉÒ—”.ˆÓíÝÆÀÞ´‹zvÚG¢_¨]:šg£fp)3‘¬ZBé(e¯†žpψ¿ ÓœJ|M˜ƒcÝOg-oËÐÒÍheùxdIÎýØxžX÷é®ÿ9^5É›a¬…Æz@ì, $ZU©5¹L=Áé`¦Ÿ+DµmñTRŸœj Iq3Ùs¶7ð%2ëŠI?柺îÑ„?ÖªµÁHÌsœG…8º¦Aå¿5‹UßÛ;ž¢woa<™çóÎc’P’ÀØxìîÁZЏºt{·¯é3Ë‚Ò5†Ñh©7ý¢Êhö`‚Ð~Š6¢5Ú²ÃËŽÕîzùuÀüâ»^²„Ÿá]%…¼¢|¼–×£„°È› ¤é+ÓȘ¤™v¸*Ydr”îÇÖI ­Ók>(–û|^–Nå^ÿi=2·j/öÈí¨±U³¦ËyøÅ {ƒžšÊ¼0ßÇ#b)†-®ßƒLÏôµ¸£Æj)2Wy&KÀ˱KÊ ÙCKgMI0(î¾ßmЧÜxf´¬Æãôcµ‡Ç3%²§SP)${a}GôÏ¥G.cò¥öÏó `¡6ôu^ˆ4µ]ñ¥8O-Ô3X==K°þ>\ÊtkÖ"oœÛßΣšww¥¢ð(Þ†Š÷º_ùÙ8¡Û?Ô¤_#¶3`=V)lEðt˜G_§B;Óœ?üÁP’.²}Ã…eª¥©E8P僠-®ä˜ÓD`(`ÏbŠv¾^ˆ#ÙÎÙrTþLámmt~÷§ëδrþ§$Ïjú6ëîÅA(b¢u útˆâÄÀ¯‹Ì8,JÊ‘à¼Ri€Å4à§Ô.‡‹\y4síUˆvx¡šÊÞñfo“§È\³Ÿ"(‰u:'ƒÅ®wÚÎÅUåwÚ ê+æ¦È8ÛûL ÖyÂÝ8³ÄL˜ Rëtü‘¡Äà g€6›¯‰û(¥…?Ü˱ü`~‡BIPè¬ AfÑ.í¿x{m2 '.Óƒxü—Ç›úÕÝ~ãÇéWŠC¼¶{.7õE޲›º)„PпÌR6ËóÁ$ÿ\НóøÃaÿ:ûé›4§®`%k‚H½ ñ÷†)  ©?õ—¥ZÄQcx‘Ðþ®t·Ä)-¦ºBw³G¤îUëî'ƒ¸G£Ž¡ËJÞQs…L2|>–ò3XÚ L ¼ (]“¬¼ª#wd8oõú{ÚÜü§Ö. t¡!ï}S#Èh',¤^MðòøåÍ(Ô[—•‹ðØòɤ­\É(`²bµH%CN³SðƒêI)±œ“É8ÕÍØÕˆt9޵+ý±$íoLê;ˆùð]LkÐùsò™Oï„}J°Ê»¦˜±ÍÌo7àÐåúå#ó w~xÐ#®£-˜ú§ 4€klÀÖd•ºFn0åŸÍœDþò o=M¸ØÞúÞUR¿¤mÓR?Sm?Ò[Ã'™ãÅϬ7’·$¸jtAów)\ÖûžN AÊ$Îg±,èÝfWûm•¹†ÈêhÒßþ=¯mm²>lĈ¢{˜N¡ËÇÍßד724÷KÒüIèýT=´5Ðy¹»¨Âeäኞ¿ÐL&îè:ã —ª^¤™À¥r~ .hw2Ð!ck•‚ö¬Êßa ÈŸ”Iü*§çC 6?*3ç8=€k´ÄaÆeë©÷èiCaq¹ý#k;cŒÿ•!Å1§Gg Ÿ©NY_÷„¯±1Fs+Ë}tl“¥‰öþàCR¿Ì)Ü«âxë,“G±y»è¦ Â\Fñð\q—‘ã ߸x=öÞ¯5Ø–+êV$9¹X ­\hßz°öt×&x5,¡ïž>Su¢éãýñ–'±ØéÕTãæU !lòËU•„ù.ÖõÚ÷ÏWÍ´wGijO,@똄€Ûr.ÀŠ9ØÝe`u§H¸±M‘>Øs¤aºÞ©Î8ÏI'J[¨Æ~”áÚܾ›÷mÇ\±¹8ejTG¼' ‹.ºøt0‹B9cª%Å7Œ&ZŽùêeªéLž’Øj,ˇJü\‚Qüæ‘ ÍUÄ1<.ëËY³}DeÂ=v¢îœÞb—Ç”g¥·‰ ;ë¤ÌøÓR»CKîV²-NÂ|`í’»Þ~;äð_&xv¡Rïù)Æ‹TùIllsˆ #ÄeÛ8å&è#3Ág–72óõís|S”û=s¡æ7(µÖéA]ê46tòµ"7Ë€ˆëYà7Žg¤,EøQ°§ÓQ6¯èñ½äzù4ŠE{H-Ý‹+¡µ-Ÿ.!kñÛg·êîlÎëH¹ìŠËr·¶ä(¹^Íì¹ÚÐì,ÆZ(Í}—ZÐì2HÔ R3uFæ˜Í'TXÄÀ~²²À åÒyZûšŽ¦&²;2Ȫ)¢<´§¬¦Þ Àœ³Fê½*ã4RU-¨Ç³¼z:~?©•z€>…`£#m_ãæü¢Ç,)0">‚·,Ëioait ΩŽ,žjàÔ䆊K½·Ì*¬Ù³¾7 ‡ê…¯ àEiöQ€È•†˜q–?¢7lÛ¸uIp¦(M…t€Ñ†+×â ö]9zŸ°:ò1Äñš©ö¥Ñ«ÃÆc&2n=b4P3j{ªñÄ ZåªWîåÞŸyŠúƒHâØÆ+ìÔ:?0ðf«kÐjÖðÄ\˜× ”2­®j…Àf°~„õA=Ì@K=ß$Z Ζv_—wàÎFàkþæ=‚è ú1™¬•þèšvŒ {Âl• ˜±`.{ž«•ñEŒx¡-Kܵª]+œk´D¿mÔ˜…Uè«9ëb±1t0×QÞø7QÏ@À×[Þý;ëŸ9Ó,õ:ˆS¢øà¸ú =W‘ç‹z?]§‡Ë°Ê»y˜ji\zI·9… ¬¥ô²Òó.¼n±9üé6²h€¡³– ¼0V€$jž4˜¤®`¾%Üù~Qf.ØŽºŠË§.Ñò´X®n€8êgü¹!»”‘^¾é ÅŠ°1¾¤„¼”!S9í'­š”u IOƒlÈ2ù‰i­³ÀÓ‡S—Ë¥rÄÓ›1;b×CBå§aðas%d2T­õNuSyñ¬ŽÇ…¼D¶W/ɨ6ó¸ ÷|av&q|IznÕaצ€U—GœLSf°y,} {™zj¡—Çh„¶/ _—[O‰æ(ÛÜEv÷‚÷4Ôz!e)·þ¥cƒ<²j=Bg?‰-çãÖB| ˜zŸJëï?ÅN}BW£ÚBu\â;EkyÜó1N Mœš‡}ÊI)2‹æ]ÄRë#JÈüô1ê˜F¯Y 1D‰Q“ñ ,-5Ö¢U•³ñËn@äT ®žB×…s|ìSÕÙÚ—ñò]³_O,Ñfmds$wv]dÎ “«3i“Îa烌ëÃr“Q¬.wÙ¹3QHñ‰cr#¹qÂEŸwíFå¿-SÇþããÄE=Œ™<ÚÌÒ¸­Ùµà/9\£Úœ?h>–ÄFé+Õ²hŒtfºÒž‰I<ÌŠpzüIM€lOí#­j ZÉ5È-j/¿Dð!¯åñMIÜD2±›TžÝÀЋHÒ‚$G³ÊYT-ZÚ<æ¢X>\ü ‚<&M]D?ÑP”®ˆ’ÛêðdÞûÜÀDÇÙ1ZàL¯CH¢9·=ß f,»~^¾uâ–`‹’‹0)—·ä’þ··°ô¢ÒadâR5Óíª¾ûl%:wp"h×4âƒ=Éãxj¾‰Öø625°ìÝ%‡œÒ_ú¬ºó uWëâr>£»|JaÞRº$ޱ=±8d.:D™#Ê\rÇE¿l/¥¨bFáeœ :ž~qà=ÂaC‡A©#o,ÇÛ]xöRª•@„jŠ ¡0†Tlòç4„1âãÌV’ 4à‰Þþg¹f]°gЉ[_ 8Ì£@'­Œä\MȾd;ßMbÆ+½z}­—Ïô &W¾ÇöØ«ÕÓ$õ5ñƒZÈÒôlz€m çµ—ý‚ã0­8–UØ\=€v†I…tîšâ ÖTÍx=î>G^¢Ž°ó"Vc•žGª2á9Âh¡“A8ô«ÛÛ&WœX{áã‡Wú…q>P+„Äû+hÙÞTŸÚ ¤•W |2ókŸ#mÇÕ¯%³+ñ}# ò±*„¬àq¯Â#›ñÇÀVûÉ:r!Ò„âòÇÎlºÊi‘ùæ¥[2ç1Y´2¥vµÆ¢ë£|Žì9ôº_`ÆËޱ–Š-*AVl^‘ë`b‡\æ v…eì«–® ¼–ÃQôí_J\Çw"?–oœ:Ø–“ÝÖÛo ^V¤e¦²×/WK1—åpå^ƒWÕ5†‡ëÏDÈH( 'ø‚1CÞw:ɽ…rDdû(4q·É‰ô>ãŬOD2*ß?]z‰¿FP`«”Ð=S$¢ {´m7g¿ä•ȧ]Ám¶…Ž“ZsÉSƒ¯Ø­iàsÜëÊÍìdÐֆߪÅçE`ã3øŒ°]ïc¡”lĶÀ¨Ì1h-èÒðß³ÿ*B§¦ÂÓ÷O†VnyàZQB£œ¦/ ÄŸ|ï®DòåC<.ðí¦Ü¢æ¯å˜Œ¾kTcð£p±×6Žeý|BË9ˆ __šÓˆÁôÙrpX¡k¤ûrè)PVöu•: ¥â~8RÙ§y;C_³¿ñû{¹˜ìrâ0Û£cüÔ(Ìl§ÙNØ=‚Uô)‰ ?Ï 1V`Ð!rõ@${^ˆDVVúùCœŒ6ÉMK¥7îg0‰Xæ†æ@4(ÉpG=«f^¡ºUhjwDŽÒ=8vH-xøÕÐÓRNÚ³šX1)_q‰ˆ’DvßîÃêMØqK‘<“Æ+àÎX¹ë6eÝ$ÌÔZæm;ü®Z Ÿ¥gzú+ûÿCÒ—Dž§ÀVC¿|ÉwG‡èîd‚”k‡Vjß2 LàPñ²^ÏbÚÄËÃíÓÓÕè¶(š‰ï(óõ±Þ>‰Ár0CD:ÄJ˜XYñ°rÈĈU?àÎ×ÚÉ™­NÑÚÄs#»ÿ2ÎY}¾ .«|']“ÁVü]YûfC ¶BF:Ël1]c‰M× çÛkUÖõÂ]ýH£Rè’ÿfW×P`¼nÔîV,ëZ">ê#Ìvl(¹Ò‘¡¢Hí¶×“/¼²PôŽŒx¨¹2ö“ª1æ„dÌ?F¼5ip$×QˆbLŽ+ÈnNL"Ǥ„EäØy.ÕíóùcÇ™q+¶ç@RüÂcŒo}ˆIMÏ»M“$¡¯PvN•ïæµû×'ÐIVSôÐøÒil)°žuÄ33_C=¿Ò¾Ð¸à)Øð¢‡Èë£Âr]8.=mx«ô˜æçS%¢Ç°ók”&¬Ð¸mLgœƒ‘&[h·ÍŒTë-ñìóûÑÉ­'^H>$lŒŸl‚ñþÃRô›ø"µÚ=Mô‰d„b(Ñ&Ÿ7*èçca+pá“PÈ2Èò`Ñ@jC‚åGKõ’’¨Tçž-EO®ï&”Ò_^Âù½É¡­:½§ì³Ü–•Õ}´†½Œ€ç­ƒþo2‘Ê”$Ú^“ }úm'Ä%½…Å`›J…ÿºŒ¹-4?„š 1½±Úù|­ðsÅ¡X]êœy¹¸Pš’Àœ! V›9Xð.ÆÔPáËÆÔìeþ½wiÉ4ff± Í叿ùNK(²×µ%9ˆu8Ÿ•YbrPQê½Ù6<ü>@-Å0a aL‡á­Q)±%¨E0Ýý*5Ù|é­&'”‡'^‡¶ ´>ÿ«W7ÍŒ²QÂÓ×ó\ŸÇPùþ/)éÇÏ,<ôúü¾ßd(4wÏyîÅøíºñ Ç=±Lk]Î ˜?)jEÐvÄÜH…âPÕ*ãŽW!Þ#±Ô\_ŸUPoKÜèŽ#ÂZ`,¹ëw&¤ÊóO—J~¬Fh³ùÓɶ¦ñZ¾îFî.r+ºoPè”Î6Œ-ëØì>´£ÃYähDî¢ì]6³Qé^ÓŽƒ#eÖBñ7_¦´;cÂè¶âmÎMkY –踧ȇ[RÎgÀ«Ò5ü/„‘ÞÖ’cn'³joE»cñ²)/kÂ*#?QSob«…êp”œEý üðwdŠáŒ 3ÿ´3‘r¼²çËFfâÈÞú²‚…Aï>w5±îï· ¬)Ô’©[ìA»Äð‚Tô·ò`*Y¤#P_9oEµ4ö{Áv":ÿ5"ΨB ¥uÊÊ‹šE©íRKlú–ÀÙVl«FLQíx¸míy›#ÃÄ%–8)Áì)¯1XÍ{ÊÔÊóys©8W¤JÕ<Ù]Ì/‡` øF´jáC*'èæ=@X|ù¬Šh>þ-’Ôi<†Qˆl© ‚Elî·|ôËØèð’’#$S]Þ?3M©ÆC)ïÌÂïC;¤óªÝ Þÿ›Rå´[…m#ð0!2ìºóͧ) ‘F~ö‰\qÅ9Ô[©¤œÜ@ì¹á76Ø‚_Sœ±ÀÖ7U/%ý…)Ø5¹Ãu˜Êìj¼UЯ¦Ã±X¿r´RƒÖ¶ÁÕFl_ LÍa]Cý>bkΨø¾6Ûßg–†êD9«&ùáÖœrJGÔ4Í©fûÍûILZÑ_w=Ú ~W#0ÑÕn>“ü%V9œ\bÛ ûï —`€¤$áUìÖÜîE‘ëàfùwAßœ]÷{©óžÁ_V4‘£ì£y%@æH*$Zˆ†\þ—)þ‰|eöÖ‰‹º—-1¤#=dŒî2ÇÌví\OK)BÓý¡šò؇v÷"îˆ(Ô”¢“ó¹Ž$ìšáâD–Ïüó#’}Ô9À‰*R‹Î<Ô,÷I%kd)cر¾ÞÝ·¯]Ä…Y‰·Åâ7J‚Ϩ±DUYœÞº| ÎØÈ ¹+hf‰ÿ D4ÏÄ¥ ·þUS2‚PľýûjÙ>ÎiŒ›z‚ͧ¾aøvMûçè£Â©EoËO…ZÈúk±Ý túE°aã;}®|è´Gý…²§'³¼æåq¥µ]ÕÊnõ†Áµfv‚2i‘ò4(ß5sX©ÎçIï˜Ò*.‘B¼:lÐtfýp‰%qºÂòyJf ™ Ð2Q‘k$GÞßéŒ0‹nYEÊR”ÏyÒÆ ]Œ+uÙÍ càRš¬à­C2ëüv?"÷vzÚ¢þ±–Ãn«,¿U8qÌlØ´nÆÕÝèñiÌ–ÙAýD-.×5áš@33²;AüÕ› ¡ >û“ùCUöޝm`¾l^^á|‡;Êᇸl¥¼ "ø§‰æÿ> «d,(Y÷»JüAâýVC‘u»ëÅ–ºÙ’X#¸´Þ=÷ QÐ-`øÏV™œK…I=¢I( X p“â§êÀ›ÅŸFÚòù²£êñúôºé·}šõ¾¥‘q¥œÏ‘vUHšíÆM~3Ñs'p ×c&ù_&¶T¦¦ÞŒ>²BvQ£¦g¯ÁÃ!ÜmXMÁéYßÍ{fêÊxy¶Ó3<š´øËVüÁ@-Ï–´ˆ yÛŠ{ñLW@É–`$i/UÆöÈŒ”"Òþ˜˜áuð~lîÿèÖ¶þO#úq«hS z¾wóIªÁW;v0Ÿò«ƒ /´ï†Ø\1fÔC¯ow»Î$b“;ì/ÝBwm«O¾Ø¾cC ‡C/¤{[8sß—¬Ó$ŽEž»Ý÷_’˜ãzaÏ†Ž »!J›6Ë“F¼¸À«ãOq {ßA» LqÈP¤ü mx)yâÁƒlÓ2Ó]öôÇc¥ÔðOXš{ÃY]¾k¶ÎÌ 3V&WW//\ŸC@öuEÓÏšF½Žx³ ²’ÅW–CV¯eÃÒø¾7`ðo¯Z³â;U‚‹×§4ãuO‘:„ëNC¸ôúª£VFšxb´ñÃ91’ ÑÐ1Å«ikû5Ñ­7R,ô>ÿ;,Íó1c;+Ö™ÔÉ'Ê\cEÉ&=ôšAJVWGIv—Í–°œùÏÉ^u­*<&Ö¹c-ÅqÒùë™Éø¾²> mU+Ú©ÎQ êÔ<¼oølmî ±ç-9+at3­Ö%8`£+€-J!à¹R—˜€aë¼æìã°hAó³«îEãëåבX±#¤o'€+ø€Žˆ¥Ž›ý&QQЗiWßmKçO8Ý6äÝv*ýÚÛð¸Y4Rƒ¨õ$‘<›gçÿwZ·»?„õikbj±fÌÀB!´ò®IÀªÉ~• ±å­Jêm¢J7ºUóñÿ |ÏÇÎ#R’On¯Øãõ[ I؆ãÛ@)®ãl7þ°‹Öm&—jÌj`ñøÀ%t Jî‚ôõf{!•¯^ÁÊñ4a]¾Âc ˆéì°@Q£-ˆ_µúuóºŒáØúñl#V‹Žˆè|pÖ9«¯=ÝåÀ›Y^õ2æûþ4Èæ[:´¶%MZ4Óš ¼Á¥ß.´%Á;X˜•€]&.Ísæ§#ÃÒ œÇâÚõ„'u6E É­‡Às!ì=³Nãþôƒ@ï¬rà´eÃÊ8í3ÂN„ÃÂ[‘ŽöQISŠíŒ}î p aâéÐ@±û ˜©6AH·ÌûHö›©6»Ë‡ëÏ7ì!Ö”ÿçȵ‡9­ðÏÜbÿKpa:¶<µ'®–l9¢º70.ar‡8;4ª1ý Ÿ¶—ûmÐ@Ôš†‚>ÿIc‚‰¢—VFšQÛ˜•Y» ÞHì¢2ý"–2êgwª»©dph¾¼#¹(ŽiøàÄøQ †}½ËGRò‡èºÆ])ìFèJ©íÉMµü® µ‹(Q¯ýÛ}¢¬/ ‡{Î95óáÓàÒ‰Sø êAt]!“˜š:ªüg³žöSãŠâe÷ˆjjÉ㈽¹¬ä¼¼;4Ûdb:SB÷'½`Ï[Ÿª¬T€aDµê3>gOçUºÉpl2Šy«93x<–£—x–rtŒ.À·ÞÒ"?°LÙ—aS¤\GEôªFº¸íD@1fQ‡ñßKe¼}Å<5Zf§£>Yòò&ªK'I̲Jà±ãË+øÉÒºNÒôfö—é=‰(F â8ä3)š—'h ¢—áÕú§+ ½ÐwxK_óÖQŠSœé²ãênP×, õH—wƒ€A½?LR™â?¤†®Ý»N{ÍXà§Â?TKàÙf2zgÔz«cY(†\?Û£¼Ð€\7 ËB8OW‰€Ëb±½yÊ’§{3k*¤tMb]ãÜšÐHã¯| «±°’).ãŠw$ζcŽ¢÷c°hŸÂš˜³`¥n›4IÅã©DÜä…ÄäËRz@Ål ÷çòÃÈú"@GuO -†på\i:”Tþ>â`åA NÚá×E¿©›&aÅ4ºÒó'ÙD²áÈDk°'Y8ÓW©ÖVžÜ'‰Šèl£¥®ÃAD·:õKöò™‹Äf¾rÙs±]Øó0F8ê×tœnÖ@°¹uÚ@ÃÿôG·}l굸…‘«>åKÍçÃn?ÝØ!²£ÌÊ9}ðuibÔ…†aüå¸o´ðu{¡1·´dŸÛT:"£§ÏÏàÈö*ª§å†ÀŠBG!Ö¤È¾×æûCß×5^(œ`‘Íü}ˆ±S¸ÓŠºG(4ökŽy?Ësª~=ü5½”G-ÅÕJ–|ü@Hî:F™õÞhfL÷p§³ÜÇö¢C1º(CäÙFìª8W÷26×™¤æ37ëP›Lxóý®x.“¥ÛõŸ²÷aÔ‘ÁÌsé­áÜÚ ñtç—õ¥¹˜}¸¤ÅXÉœõlåñ¡du1BªŸ}úôº#Ÿ‡ÎZ…‘‹û¹‚ 9bw¿Ã€ˆ£Rh‘}²¡…ê§à¥‡¥Œ«ûÁ¯ßöiªRØ.UvãBéÆ}´å¹^Æ-_ç ÁÈÀƒ†:¾°›EÖgø] =9 aûÖ*Ä¿ÇV‘ƒsI{ú—CÔÊ:—n»A4Î|’ªK ±ÚfNM>~õðã£Ä“Ú$¿§÷zQö‚.ó>„MVY Hr^ÞMÿkÔ¸ÅH+”8«ã:ºöän~ Åf’?˜òÜwsˆäb„ô¾ïÿòG÷ ¡¹Ö(²YR¾Óæ1¿%v¤~3O»B=ô¸¢² РŒ·xÜ # sé1s)i¢„$\GÍ·‚À’öú~ 4w)Û£€y@dôí)¼U.<6{ÒaRRdƒîW¡¹ûJ•¥~Iƒˆ«“0Áùn†e^A‹Cäú6ùÓ9•Fö4%övÎ¥rÒKISÚQß³wyßDÑ+>\Oé궤0ѵꅸ|Š×Vm»…vB—ôL± %\ ´ÿGáÄ”ý4oUAO½h/ÇÂÊá3‡ÜøøÅr+=À/ä/ ®gîwÍr,'@~i;UD]£(ÖDìCJRÅÚ^3Ñ­iMŠÚÇ×Ù´ÕÕäGÙ¾v(‚Ô™'^Zf”cZ+Na­‘xŸç›Qf¢7ÿ4€ËB¥†ÁUÁ”=õLÿâÁ-Ìà(r¶XÂTr =ó¿MÐo™>Ïa¬ õîÍ7`*p©&pM–ÀŒÐ†%üd½vœÃ%3|Á$wÿÝr,Þ"˜­"Ú^*£›=„b¹a9 HÊ8»ÀƒS‡´J²å%oªÝ!ˆSe]ìq#F+ïðMK}$°d¶2±–žr¥QŽƒQŽ¡þÖ?^²ÊfU‘´ï›ª®c6Ñ‚ïºQ(Ç­´°àÖ9g@ƒeFþ@ÉÁÛä-Âê3±9Cå ­1öà>œ0‘™DÃVÚ˜M `ê•GÝ ›™xZ3i>Ô–,%ø:neC>ï µñ)*˜Úzge”*[Ϭì É&C•ZŠ6,!Îí ›à,žµŠ»†yƯ!-WínBêèW½P4ßneÖ1vçðXv9;´A’×VÎ-0o÷}¢,Î÷s%<¬©d(+4¢2½£&yð‘~!Z‡bò£íNskÌ;°&Û`¨mæw‰~8T8Ü߸¹‘˜§¾)Uß± z“±´ÌУ¶Ð›B…¨ ‹=Ÿô‡Ét>}}9hÝj³nà»Y&!Ì%æ€Ô0sÙÒc›ê½1n9mq <¤#ݹ¨°²îµ3IìäN:‚g™Gô)€ºT’ö¬çÔd-INZÌßõ*GÿÒ2T ÏFØ'B¥ýš×@UJŸ;Þ`˜;ç Uä4~tÛÆù$8ÚÂ’;.¸…övÞÅLõ0›ù:]„Yý;ÈÉTTÐoïPò¦VBÉQÜâÞÿ*éèh,ŽÐ7“eÕ~,Z¯“¥l?ÑÌI ‰­ôýŠÙÈe•ê ½=5‹j8LâÈ ZàƒÔ­ã1$Í='};¾Î/Çà§ „ýEjÇÃNšŠq­YKÔ[¹Ž*d9Z†5-þ¤?÷k8gE)yNRÛ-¸ÈqŸË5mïz8–Á/ÄlÒÒ.‰ Ï3“H[ØYŸ›»ÅäZÚŸ nwŒ‘.«÷}³+y݃2³v•K[`®$jlC?‡è|/z§ñ,ž²×u/ºÖ÷;FVÂý5ŠŒ-x`í§NaÐJT»kYùŽLÝ€$h˜dºùqØ)ï7.ÔY'D4V’üç:(â«¿‚œ„ó7ÊRCÆ%Ã09>è¡-Ó”l+2΄N°¨½S:&Èr‰ '—Z­wçf€ª#¿—Ã/ÑîDraMÌV"ƒóéö¯i¯ °f4WŠè`žÙb,³ IðõøcÊ—™{]ŠÉÊÕbÂ}æÐ»gg®‚ ¨ìyo œ n½xk'b}Ÿñ[=Ù?â0…!ŒP€¯Ö`kò9§lqE¤|,¸˜~Ávͨ¯×L‡%l±¸øN 42µoœ§ãúIà`߬öúê7°Ó2m/‘£lòvÊ=9V`µ‘Î÷ ½}•ÒYQªòEÑ®d‘K„ûrŒQMW“¡Ímû2 ã[ŸŽÃ ä•oCQ¤â›*ážS‚ 9ûé—;¦´4­«ñf ëÕ [\”éçcûlíUåÛƒÁÜñ ã}Á™JÕÜMòG\ÝC&0Ã’Ÿ>Ã}7®Üê\6D’­)}e.áf¬²î*XÒOi4†•øçâ¥K&Æ6CO<èÛ@3íUñÞKÒH‡ zÜ_—YÊaº{W+eA¶çœ#é,Ï 4ÃÙ<4a!Š{Í”Ž?·AN†CH™RM>{O–yËç? CYãq,áZêõCš¤i ÔÈâÜ ìIÍ7ÉIÔP¯…•îmŒŠ D{ùr?ÍŽ¿kïO6Çñš¿`æ¨~Ó­‰—§Øk§¯#às¯ºh×Õœ7€Ñ1ÔAjS´ôR¶RkžžºÊº03zMo•û*¾bN3ad{sh"سÔXNŠ~ÜG I~<ª¯6>c¼7Ê'°¬ñW¹T*Èòg¹á[x†O…â+×ø¢ØÑ¶ŽQrÀ?!ìu3²ZEƒ‚ç«n’©¾Ì·fš¨ˆÍù2ýZ©dž}o¬ÉåB™`¦výí‹b&ü|76Ý«‘-7 qûæÎ´ÿ-´\´q–¢îòÎ’K\INȦ ¬°íÙk\õeZsy¼½w4¾æ­$©MèC:Ýd£"Ú›ŒÓÒ%í»öÓ±’s+BæG—Éó¦H©ËÝ'zAk“s!ÐB%,[‡`›~ÛÃÙFž ’$ÊqÊþg©[rú’Ê2}7ó£÷1Î1Zffñœ¸: ’ò¤ìê‘{½3¡rò¥À&b‰ã4©x­Ë…·÷èÏb/ ¬O'zÂáºp‹gF­™²¸FîÑŠè]„à+±ùNÿÜ<"‹ ó.J©òWˆ|èI÷T÷柡û")ÿ_då“þ8‡#u¡­‡ÉÔ±íFV˜ ^zL½ê%–Kö÷.¸Ä<‡‚–ãŽyºÝ°@úsRs+ÓfÜÌ)@/.Öçö¢KÔÊ ÞõX‹\á;ïã¸7TñPÙÏ« j;ŒØJg3V³æˆUœ.Ef_ˆN—A”KZº¾ƒöuÎ~˜˜ ‡6–ÓdKPCì9Xc¥ðaåæÝÓ¦uš½@ý!}^b¿ØÒé,Ê"m ¯»èƒ ŸŽcÖhU)WèÜȱÐ_åÔl¸Õò\8àIª#Êt yâëÈ,^®MiƒMFü™24¥tÀmJ%*€¾] DdXQ4¼v¶_klϰ„„yy°Úo}-Tæc•O[>Yîy?Ó¼Ùw™ØÚzc(ÂbÖ9·kŸRË'.k^Οïåî÷3/ecËKçÒ'‡ #²ò;> P¾îTízZõ¼SÚX²°×¢¸ßCG‰jÊ©ûN?"»Nì.´?½a;…ÛFØT]¢1ø0÷â/ÈÌpWJCaSâvFá…w|ÃðØ ZŒÜBmK¾o£!§]îÔ÷6F…C»ÝƒäÄÊ;³¥±9õ¸í¾v(PÓdþN¾Åå‚ÌMþÔC/SùAóöô<*¹ÓÒv vSÂw³lë[Àä‡à8p£ —Š× ëdûN,fKŸü@sšåWö=èŠq­^2s«&ÂRP„2³¶rýpMOìå;ªùÄs{¾ÓšÐ7é÷=Xpà 6MMoÓ—ˆqs‹9·˜Ÿ”Cû‰Nâ.ic˜ê Ö\ô\Q=UÐ!Ü”c[ß m:mCy™ïÍ"j÷ÐÝΞ>^f)ýËþ?TdoGŒ‹M]ì½ô)ôy-7©Œ$cBN†MâŒçöÒÝL¥tˆ+±Î_†!¥½áSþ£N£Èò•åû}ˆäÀÄ\Hî*TÎ_Úè\¥á#ø‚–P‚0™*¢lãØf89SOaƒUS79Æø£½|DðïT ò[16Gàã­õÚ’ÇùJÖmq»ñ´Û¢PNÕ–h,X‰†\H¯˜+š»U½}7YO;Ä qVƒØß¥ ¡à³.ÊAuŠQÿÑH¦¬>¤|ÆÑ­Çu[åü}‰´÷ÕÎÊ5‹ÕŠø§%Œjª ±Yº ‚À:䬉JE8‘v)ºx×à}!3>aÒy ¨íáõ:ˆŒcŸTAØ0Ç.ƪ¿NøØÇ9ã-°sÒ‚®6”ÙkgPѰKÅ'N½ïÔ¶2ÞOÅ<‘ÄOÊFÑd=ý^-Ɖè/ܵq–KžÀL^˜ Óꭤ͆a°ƒ¸»sÃPý³¶M×7ú—lÜ:ª.ºÌ^N±šÕù`úv,.?G¢tU:çmZϽ†;¢ <¤j‚Õ‰k}…„ß!VÓ±óû Òxo±³£”¾³Û„瓊 ÖK`2Èß±1‹¼éÓÙð/;]ÙJòP|ÛÞO–ÈI|ÉÌ]ïߤ­Fç€,eHnÓ#HƒZeö׈jÈØ˜Ø®7¼4¾VwŠ äÞ%•ý á?k¥Nµ~Z¢ÎþèÀæv?€o¼–¸ø[ úñ‡”žfóõ\Ê_x,Ì&u#Š´#? 4òC£³Ý2¥g~Ûî9ÂÚeÅ ¸I_œ˜·˜etÃç,þ´|'"˜aºB^âXÜñËÉ9 ®¿+ÕÓ ¿ZšC9Ó¥À\¾ÃVƒ¥¥÷º?У‚µþ"ë™´Ôr¾çËÉ…Ü7sÏ}²Èù Áª–ØêÅHè} ¾³'«Þ¥†<›ÁJÇ·ñ#Éò,Ö0Ã(4--FF\Ê¿’k÷Jƒr°?•Lk øÇ-vj¤Š ;z¨!'Ò½Ø ¸ ‚•˜£9x˜ìs BÂHI[:À³Eçç˜ Eäepös—›uâÖ ç0 õѤ#ìWÁ;Á Û7mi‚­™Ò8¯Õû¯ºŒº©È°ï3±Ò¤PÿM5 >fÉõ‡ WiàõGÿS²Ž=ÐË FŒcò×¹" І¸øµé¬Ï1í`¢[ˆ¨m¦<æCõœ²õñùßÏfcAM¿óhä@…l¼hšŸÿ~P—U>&ÌÝ­iõ*ô­@BŸé¶¾í²Í_zo:žadm°@—99?Û®µÓi~{Ÿ<ìˆÇäcÏöϲŠ"é¹ÝÆÎ/#¾E[þ¤å¯²6ña«Çoñ¾Ðˆ“éQ⋃ÕüÌKãðØ PÊPqUõ2øhÓÒL£ýìÁqwÀ¼6•4XcÇs­ü:_rŽ4¬DÙý—(—1œÜõùÓ4œK'ó& ¡-“ØL»½w}v䘑¹!¹zp­3£³ÔTžÁ½#æ.—Ø|TêwÕŸónÇr\8ð€=4@ÊéË5åëÜÁ.¾]“±ÊdÍõau¾*ÝÇÇ‚½\÷Ëåu•"~ÛÌÓrª ¦vE´=Y¸~šøãnZ`ØûN‡‡î–Ûu ?¤TÏ+ÖOô5 zºsŠ«S”‹ÿ»ìˆ^g8Û?`Eœ#éò ew%Žß¥‚BDqzp[ LìeÓ§U¿6Y(YÃ&|·JAm²=kÙ¯tœ[±Nx5å?|¨º; ɬŸ×p®«áLM’ã·|Ïì¾1Ùñ>GÀ u  ×Qì], °?X7’­ý %¸7;þÄqKÍ¢éÊÒ6ÌýÀ W]“Ñ›9М˜ôÆè¡7ú#kãÂe,yû~ãâÛ©°ÎLƒD§ÖäHòkgMýJ&7ðëcÖ}nÆÒü}6‡,3*¤Uàf]*¡œ˜&†¹æãÞßÚö]׫Ž&À&¦ôÑ 2溡ք›sb¤»Z2€Hg–p¾ÍÎÜà9«àÐ_›b*˜øO¾"qý…p7ÿryûŸÝ<,V øÑ*€ ãCmã³çŒ€ë‘qÑ„.p”$!ÏzšÔôé Båš½ê0¸’z2ÂN‚X¨±÷ذ ¾µ³à¢xjûÈÙÄ_•cÎüc/v¬UŸÞeY‰ô¡ž1GÕè[!ªÎñ»~V¤|<±29sóc]õ?ÂgKie4hS£Û›Ä¾dSHk VøMî«Æ ~‰i Áé0vWkdÑ8f†›Áq3Áºöb†é.”@5]–¼Ü0ÅØßÏ9|ùWÕø†—œòÇTu>ö[ 1\+™tD Ø)™ÃOüZíæw_¿/Rìz°†'î½28i RŒN?¨ôü×ÏMs?fžü¥mF, þªÌJgbK˜A£D‚ärMW¸u^\Y‹X­È‹«¸‘IÞ—¥’ˆžÔSÿÊ.ÂÚû|€C3Ýè làºE(̃|b2ËTŒhÑ–³AUÈŠ_̰ƒ´”ÆžF:=°ùúò>Nݾ$ña [8§ñÁ *ù2õ— çÆÊ`é`K8hA¼®¥kF«Â~‰îÓ¦~ÛýÔ´ã#j_×þÕfWt§¤ï’tž»¤£U"ÄçÔ.)ÆÔ íX=—,é`Ñq`¨=z¿a›j*_ÖµÐØ–(PñFoˆš’Ög‡ƒšp¸–¤Ä;Ü`ϱ¼®NJÁvs,¥O¼-ɪn–ø”³ìn1!ftq+‰W¥ÍÙêL~f6œû%~Æl‰8yØ_A¶ð3j_rIe·ä|F÷nµ2=—ikcÎßeúÿ |´ž¤*¬ÎÎbM+æÑïnâ l‹o¨—œ=XHX ÝažïçZÿ”|SzBf$äv*žßoØh¢›Ý *À?ãÌW¼J­§r¨ãK¨á¡êÈ "…Dš/  ÷6–!œÈdM­(ø\î¶…ÿøû!‘Ê‚Ðifêe=Th„#1>4f_·Ò9d¨m㺒q×s®êÇéCAâþ&Œ××M膋²Ä^ëâX-Aïí ]6ù7?'^Wé@ß{`dˆÆ"¾G<ª¥žDWƒoÀ:%PûÕ!OŽwÒˆ¾ž8hyÑ1Œò$/­‹ªçaŽä^‚î3LQ¢PŸ#˜ý³ éÒ–h ñ/ÏÉ3Ð$uḖ”0N‹¢æm ¸ø¸‡½®<:W™«A·-í>vÔ°Cß&mŠã”ÐìgPh|Äh­‹ 6:‚²¦¢¶…4U®Ë ªìz’UP‰UÜm¶K±óâmÇg9_í†FçyZíÔÓNøJÑL]Y*ÈþÈ<¢ú[ ƒªk\?ñsóÏz)äµî˜ưÆ35Ñ%ñ¬)]§bý¦µ4Ù¹•RTàÞ`Yʆ˜Ÿf¼¼/~sîDê •AOL~ O(ÌãÞ0ßªÃøg“c§¿=¦ü)ü¢¼žð,¾+ÔA¡ŸÍ©N-n¶`ü5¬a™ªJaI`ˆHf¡/‹t³‹TàGð \Ó÷ê‰*v ãê½-ľ0Ò)!íxÖ‹yÛT°$’¡±“Ö‘š.hkÁšÌ“Ndv.f=atš¶°?Ø—BìѹPH^•%Î[&vÞ”YC™Ú¾¯BÕ°Ô@Jë² ¤ 0paÑ‘Ìý ÅêÛŽ<¯DÿwÈ*‘» yf,Õ‚8R÷Ñuœ±JNh•nÀ _Q¡M1z¯ï'…IÊöEÓè›ãkj”SL‡BÂÃÑÖ{«H˜ce"¢§+Ò(‹ÃuTS¨þY"f‘vÍrý¨ÕÎE„ÆuHb¶yÒ€Ö7DßĨI=Þ¸ _뻵]¦ã¢µ‚fÜ€|”¾1¡ñæØRždz36MKÑPk;-Ëo,Ä[øÁ#âœg?•‡1ÈqüÕÚ¶ïQÙ,nÙ8dßÐ:-[×L zêV9£=¥u¶l…–iÚôL>{iê¾'C{ÊzÏ¥€µø¬ÛÜŠ¢‰øH~ÆBèêÆ1%M½zJÙå)%ûÑÓ+ }\ny›±õú_¢}ÆV¡zc½/Šó—b­ý~_/95Á¥“ÁøÁMýáÔÂŽèGª*‡¨9°\™ôÆ,—ê=üѲ©'­„IŽêªƒ£ÿ’‡'ïEÙÙ^1Û?ŒD•žŠ½àì¦ÅDéŠuÞCQ.°Î¿îàòPsñ«hYð¯,bëÁ¤ú¸ºJÉ9‹é0u´ß _,_Ðötýuʲ€‚‡¼l@ÄHÂ`2¬Öî›lŽ ž<Þl†Š‘@ôøM}M=±˜ a O°Àߥ‡ºHžÎGaõ ³KëÙ铽EÀÞ<‚aݪ{{òPÓ´üï“è„À†C/§þ¹ßÌGˆT sOWùÓ‰zªœö÷ú½Ž ™hƒÇ»K1³<ÅÞ)G¼¡(#á_)|šÓ»3CÜn¿?¶²û6ZÛÏ·<…Ä]&´šÏ[²Nü÷è¹ÖÇq®Ãl®ŸÛ;>hÛÿù\@ÜàÒ<#M yo+±/δ‚OM¬›]\ÏŒ±J;oIʨ'}Œßqiᑤ›—/QËÀÆ œLøpm›ãTØÆˆëôôŽÁ“ô‡”¶ ›kµ8°»q 9Êß «d’rÚOÙ3öÃ^Êç(‹!-ÁüïáÝÕ17榦†?EqËCÞÇìÿŽ/Ѳv³ÝÙlå˜ktK ?ÎúK»,¶ÊWo'Boëb¥H„3=ÍuwŒ´ ÝÙ6o47¦”èP`̰¶ÈÖ ì¥E ÏA t-Öò$¾ÛìH¸B\ò+ ëµ¹[d“™£E¢-°bK·#4X‹€PL¹—áf¨ðYŸ¯I°º¿q±TŠ(ÔÓÀdl„zÉÉ%aDq§Kzœ8p§¹¿‹ãÔA3” mò×4÷¨ï¼WM_óœãHл3ú6kñàú d S°NšcGò€c]y€:7™Ã àQEù~DF“ bõ¯³ôñæ.%ùŸ$§†ö<­FJ}tpi_Ò~ÝÄÈ?5®Bnk_»X'V²º XDÖ$;¹…vŽ`ØÁC]ë •4}|hEÿl`¯®Óøtôd5œ]Ç¢rN|‘Q<ÇFâ¨CŠЀVñ’Þ™,À¶j„ùÂnˆˆÐ¼bÈô’9 ©âUý—†±¦Ìk´1 2¹×&ÑÑ+¦ÛWå2ƒ\ù[¸‹VFžÊ]hiŠ<.ÓiN+RªÄ€¯­gYÊpÙW}iÀÊŸ :ölиòuÅ»h 05+hÚÚÐi•Z5n^Œ[Â(íÄ¡ÍßÞ¿E ÉNîdçWÍ^OJCSå]E»wÇM¥ñ~/wHò˜™iPÉË:ؘQœ6‘Žá鯓A•«{†½,5:ß;žCrš68.A^ô€›}}è;Vøft¼:ëIyU%‹Rú¥È‡N‹®¶0/Ýù‹aÙ†­ÈÕ,ZHdmʧç´ÕAü·sO ÈIC¨AÉWüi¶ÖÉ[ó®Å1$RiQh¦ò瑳„³ŒJË­³V13|”àðø._Э(  ˜ !dÇz‚mÛÃ(Õ¡ýÊʹÂñ†.¡oz¹uÐíã|ë­Êà’Á¸XÎhù4 *›Fìc3¦*ê”чvHm "­fÙ³INxb)«µ,Ä&žò×mé'¥z|D°~†y4> 8GêüNFèw°*8îuÝÅiÁ6έ ¦*BWdlVÓ[‹0±1°6"‚# ïÆj‹ewÝq\Eß-.õ¯4$æÏÝ(Ä0DÓ&Ô ù°ª,|ô9e!€"Ædpš[Òíën—Â>S_=†!l°œùEø¤ 1“Fi= ÿæÄx ¶^-A¦1òš-NàvÃÓžôð«\ yÒÔó¶æÉ¨khòdÔ?¦™²þqLJû“F‡þ@UóFiªy¦å²b¨ð>pﻈ»È÷úB }4áeÚh EÉä~ ÍŸÙn8 è§Ñ¯+ë%d˜Þû†Ýr¢­ö´Hñ!É"¨Úϸ[ "z'NÜê’Péˆ «»6ØeEU Ùq5’­†Pô¦PŠ*È{bóŸÃŒñ½Ò}-é—d+’êA(¹¦²¦mâ©ÂúraÐ:(©jA‘]ÄO9q¢\ II“ÿ¡â‹0Óp"v·‹i¢h“x¼TÂuýè­ýã'Çߣ’žŽÊÁ¬ÜiÎm¨xóÂ5pWã’´dÛàÏŸSÆC$ýþ:y‹—¨ýfꯆ[H‘mT+‘ãLÌÏxfÙM_NCÆÁÇÜ‚³å¸²¿ÁšÚ¢!kÝd,kCLo§–NªvŽ:H#kt›¯ë_„œñ*OVÅGß ¶ßý&?Öõ±¯ºÞéϪWswé›Îç3´ -Þb TÙ7ö´À ß{‰÷ª›ò”Y1¡\-:üWùðb8q¿w-ö>¥åð—*GJ*È`",Ø à`¢uÝÎÉØŸÇ¢ï>ÀCvRë.>ùøI– Z­¶ô=Љ·Ãä6ñq=>ÐtÃPÄ`[B-Äý©7²¢* ÙÞ[‚.ÔVSÄ #)ö®PôúßyIÌ·²ÜÌ]gY‡+'":|t!wya„üm\S ”«ÖÔêFÄ´ý¸"z¾›NãH£Ÿ·ˆ 6å¢mVˆêòtá°C2-¢¡Y9áT]þjfHNôéÐävFzäií.¦ŠQk=½À‹jùʆ ^·«¤©>ïö­@²oØŒÇ@ݧ¢î'o¸1[JxÎ’Ý öÊÀ¼“@Ôœ.S‡ÚËLû_ÅÊïkÔX–"ÙVu1Qß×’¯òõD¬æ»3ßGgKN˜ëuËÅX)lÃà6¾]è•Ñ J šäZfd¸CÚxÛ¹z9JmÃ(Æ„¤=Q$TæÕ=Ưúœ‡ÂO¦€p·X|{ZÏ2~Øçw#ek•½Ã°:ÐL´k°ŒdýÁ|E2q09Ìh·A=‘lÌ–øÖß¿UŠÚ-‚ô•a@Š÷çjUÿËò8F Ïç!›9Á!¨!¾ñ¡.²˜ïZÎ(L‘y„Îσ„Há²±›J‚Pwå[O1ËTmãþà‘ Ú,#…Æ]ÔZÚ? ÐÔlÚɳÌCD0­? ž™Žw{À‘>R H8ÄdVŠê1æÒ»|DXD°«?Vuªe½p¾4öQ@¯T“¬ÃÏéÈ畤âGFðše:¯ˆ›WÊ«¼–¬aX~§#\ÿ!žÂC éxB'«”ö!™±"ƒU†ûÒ¦=n4ƒ™¥¢’TÀÿñÀ gå ªÕ\ÞyM íÌ€’[8vß¾Ùh­(Sž‹˜çškž* îZ ÍF¡§w£×lViP`l(ráüeCC•¶i%û=ÅŒ4é»v›³¡ 5õDg2Re`Vn'„mdàn -úU–}ßṁkê.í'»–-÷9J^ÎðĬ’ݦãýòL/ŽÁG~Ôi_âÊn”Š4F³÷èê‡é;Q ™âƒíô¼Tr“{ã2›•î‡gür\HZ@ßF¨Z³v}eCE÷§+<—†z1žh<ùôNL!úLë” N?1ê"“š·Àä€(G~÷’z'>÷5PÚÐ5«j9Ô‡& jAvá•t_Ñ Je642ØÍ×mDhèé<—ݯ\ð‘é®.¾ÿŽ8[°»KyJž1£åœÿ›xû«æÆ«ýu<Å·¨U%"2›C©ø'ŸŒâŒ?ß í6û—;É.wñ‚Kx\>ª¹î%J¯â'™¥´•—ß_æ¼BŽk#KÓ¤oÌí ŠåþWõžAÒ$»¤Ý®9™w~cÛûá¢BC\žy&G©$ñ`ï_E» è•­ý‰¸­Xãȕät¡è"ÜÅ7ÓØ†ÑŽó£óÅS¤³£}=y¶ÿŒC=xà{û–•L׬†8 öÞ¾jêǯç¢ZíþHEh¢ì=³õ»Úº¸ÕCçÕ_V(&&PžÞ~¨ÂײùÛt}ô”Oñ*í'ã•YB½&+#¦1ºnu…HR†¹œeñ¢©u¤eâ÷Û!ÎXD]¶êàÕT6ÞOK«"¬èžV:5f$öêcއÃ^é\=(ÌžPuuê.²yƒ»"OxA^}û!“C³Pý¥‹(7¬$ í†èË*Ùï/=Êet(³˜ °”ï®tûô©>bbá°9«2¨0uAmOoÃ|ÙGQÅRQ+Á÷¹—Êdp ˆF ½8^*)º*Áµð»C…/Áäi3üS%S¾>ìWKä¢çãZüªDÉuhåùJŒÙOQu¸›ZHn/fâD2ë5µ¢j 9é÷ö-Íž¬ˆÁÂÂÜ‘@é_LC’Ò®ƒîY¢¶½u±ÔëÕmMÒànÃjñ(ÛZä %:óº®àÎ?ï'¥0–±¥áÑ2”£e<°"×íx†l3¤Üμ²C­/š_@ÎB¦Ãêöž³Ax½µÈž«›ÿž%],’DÓáFЕøFÿÖïF[XÔ‘eê6*õéÃôûb}¬*PΑQÝå‘¡C»~Ëh“O€ÿ§•hYÙ‰k£›Pô³¯´¼Â@ñDÕx9ó?Y9Æ3•E'ŸËù®SS¶å·åQÈ÷oÿÊDMùÎ)¬÷âs…ü@·ðDgиLÊT7ö1§ÂLÏ`‹JÈL+,OûàÄÍ9±½WÅâ¤w›©åsÄ¡Ó3F$EQÀs:ÁÆAo@AK1Ž!kçgsÎó½md,ð¯Ì‹¾Ÿ©¼ÊœPŒ¦ÚÉØ¯L9N±¤ðLƒ7:Üy¨žÑL9™Ðâæ”ù8"I²w·½`9"®÷&€v;­SF¬e• Ô77…0¡‘|KŒ‚pÿ…œÂ§7Ï’p\Éž,Sî!‘9Zˆ¨äU…j ùj½úÀy» £;e¸9¹®ËÏÇwUP¿XÑNª¥G»‚$zc³å' KZ;MWxÄ >)1ó¼ˆÇÕÌò0ƒË±=É"ð—Ô|Óߦ*üõAµ²|‘ò8U…ÕèÜj™EŠ"Mg©Ã†—±ßËÁUTÞŽ Áe<ÆÏ™¯Œ{xØ/몪¶ .B”—è¦ÿ3‘Àj ¥Ê@Ë%|ºÔrÍÐç7ž¸¥n³w v7úeU©†Ù3îÆ€ Vœ»Ä²Vßg4³7¸ë=~2é_ˆ’¶­3k!«\_ö ™¥Y'pîOl¦ƒ’ìÏÿÿQ¬Ø¶Ï¿+ÖnÝå²ù8@‘ _½ rš¼I˜ÃÏ«ÙHÈEˆõxìã½!ãçEßßÞlÅ…Œ KgRàð\y7ÁYó‹„õ¢ LW?Bä>Ï£Iã‹ÖÔÈñ©8!ÀÎù8R-*EàšãÑ»‚I\Їk¬ÀøoniR+„‘„/{ŠÒp6bA[vú¾j†?ü<?çŸ7€jîV‡äÍà…Ì  ›m:ÒƒM’+¸faÍ-ÎíþJ*,’¹â™/WÖ_7Í;¤®%˜TþR<‰K·ØÔÞ¤¿‰'GÛ³MÄ.©C 8£ä(”Î{ãxÕ!K𺰧L£BdS¤iéÄÎkÎÛÚ9ÿÀ–d²»SÙeî}g° ÆKw[šäæýð*±Z¾©ëÇóŸŒ þ›?ŸÚÚ–ÙdçTN‚Q–΀è~¸`ûÜ7Áúk(r@l ¢¾Îñ:óòlïW¹"²óŠ© ïfðT›îBJå,аdÈ(PJñv—þÈ‹ABý¤Ë½&¾’®‡¿M-“vµÈ¢ooZeöry3ÙŽZUËCù!0ì¦äæúU¸;A#iÝ6Zm»aî4Ї‘f¯w)»ÖiLŽ)v‡"xÞý¯|€†¤G4ÚK IeJÜ´ ™Ôɉš‹­ù4pVŠi¦ƒºéw+øÒs윧%¼b}fKŠM°I/m^µ¥7½ØK¬‹Ì·T|µéR* F˜A<ülš V _DäÄÛ|á å7Ï]±REøbèëÖíš’†52—;%]kʇ@1‡3 ”Õñ6ž”÷Ä;4ÿ¡Ê…êýXÈ£å´anà‚àÇâ®NI‰‚¶çjª>Ãv3u›[¥Û¢"ƒâ€’ ¯ÏÔâVô´n  zh…žû¸2øˆÍSD‚ñâíÄLwúôKA…íÍÙ÷'|˜ö±ÜF™LÆ8Ó]Ó[ß¶è·½r|•£Á4‡QE‘#èž•aðæ^5ù¯îýÙøLøXÍ vÖ|Ê,)Å{Ù²câݱà c­é/–~t¦rHùÄ tÙoc¶£­@ÓÇgi…‘'È^>Lk8íÞZ—iªHT¸ù…N= ¾È§¦¤5ÇŽ"ƒ†ýV(^B‡Óðp}Q*-ô W™ƒŒsòZd£WY»ÓÆÌn”¼¡}H¬‹3¤¸CBdàè)_KˆÃÂÞq ~‚´^„¥ìy’"Ó"Ø|•S|ôh¼ž ¨Sn^ä|Kdž~|£s˜R‹ÌŒ)QD¦äM±:oJ•Œf³sâ»°ÅUÀÿŸäŽ÷ȘÇNoÔe! ,dåí é¬=UyäVi;ã6Ü”s$í07º]-ŠI+¬¶j¥²žcæž‘Ü!3•ùW'œb³WY…ܹ\û9¤ëË"óL!Û*^ Ï ÁEÿxì¿$j8[G9§êÀõèíç4‡¾®öCj'&ƒ¬† 0¤ª§g1±€Ž-:¤t³xB¸ÓôجæÆM;Ûd¼{ì 0´xoõ}ÈðÿºWO“«8#DWpœéZ!9æ78úÆIaÜ–"¸±hÑÚ;Iô×µ{Ü9ÙÎ ì‰NYÔûǰâ,XA6°À§Qd½å2£Ðï×⸽ {*æ~54°P³?ÀJZƒv«ö¨b ;±Tq¤žYIc±ñº§¥çÚfhC|<§¿ÁÑå¼Z”pl-õ¹‡Gáó¾~¹ø ‘C>Žñ”Áâv,EIgGüÕ;<Æ>W«|CéP­]"OÃV_[ÿËS­ÒbÍ#n…‚d].ì'íÂ,ŸÂ¢Ùò#r}[˜°³òñš^Þmƒ„ÿ2[d’¾P›ÆÎëݨkþ¸¼˜¦$´þmÂÞf(~o¸žò g—í;ž´MB÷º7ÎnêÖ­JÈJú£Ž<éŽÐp ÀŠVÇT¸N<€¢?Ðh´1ÀòþÖ2H¸ã?“ûøëˆþEþ…†ôáb‘pí¸'øÙÁ•È Kð׺öýw¸èæûضҗ¯ÂØ^e$µñÀpÇE,£Ë  ™‡á235¶Ön1ø”ÃÍïZ0{Ÿ•ÌÁ·î&álÒÖ!ùvëò%Œ",Ç4úÈÀ'e9 ãñg)χä–Þ—pµC.Ê?ôñz×Þk@Ÿ¦\ý8\¢ÎYh1ÝtG-£Fîêßt[É }þuÙÿ›j–Ë'"¸L~&K­Çxà §Õ¨€¯AÝŠZý5S®CœXtÙ¹,µ>ˆ„sw“ܬH(ÛéÞ*"Yå¡|:ükR]kkºŸÿž,Y†d¦Þ½ÝýÇÏÎ^»§Ïˆ® ÆŒƒ*>zLø"Æ¡Kw(ܶB$N[üßk<,.-¥íü°~6QjaÒM—§ý–Ú·WdˆXý2 p0ˆ¯ãž‚­NN€ÒWHG å?·næ_ïš6^Sô>º$ÍF*À Û3ŸòwÃ.Y›³Iy¡Dß]©? ÒYd«øÌo«Ú‰¼ùìXd('µÑ'3êL¬¥k`Úy@p”ÿÏ—†ýÂ’µ9i ªÀ6ÉaºÈëõ&jlDì e{&þðõ,°ÞnP5á⇩ÍÀµ¥Þy—ÈF–ÄÙ^‡Y¢Î³µ3?î`.â“ÅãZ5S„/L<j!RÅñ1¸ m´Îß&y!Ã$`Kù~á*î—dz¾Ô®a“Õ0»0zå”è=ÿ©b¨7Æ:y¦l~TrÏc—3ˆ×¾¡lÿÞ-b=À˜r|þÚzýµû"6 eÅ3fêŠNˆÕ>A‚&!eƒ¨‚()ÐÚšK(v•¥Áâ$~æ`[Uv‡ ]«#xmߌøE ÐC®µ¿œq "£â(éŸS;%“ôgº9G‰rX¬Ï5C¶=›ó¢¹1üùííï}äÚ‰§-£F‰Àqršx冈/1öW¦ý ùRµzõ ²s‹èSO!EºZ®ŒzhFÁuìºá­?Xrz;‰æ=¢¦É4k”·cÜ"ê­S„réõS¢d¯›qw.h*p">c öq.Î’÷:/¶^q”2¤]ÔX-s³XÃF6óË‘!¨G(Uð¶ˆ}¯Ë’®üÕELÛ“I5ål Ðs^É,âs ß½bÃÔw1‘Mtí= á›O¹ÏDØ_kùQű©¤iórGq ýÚ$¾ØrãŠöA$‹yŠá9žcÝ„Jwìà{E—(0âuXâѾu ¤#¤7ÊdõµKDúÙ±Ò½òú@ÐjE;´@\-¡œÁäo·A;Ô¾{g> ìÓk‚è0ø~¯ÿí6,y[B‰äaðˆ|>H?sj䟜çÐys  ²áÚ\íµf{ÄT|³‘¥ÝôæÛÓnçDÝ÷ö<þDþêß Ò<ìÔÐ^hññ‡ˆÿ?ØrR,ó*ŠÃ$læç÷Ìé^pÉÍ¡Ô ¼M›Ù”$$K8çE­m%#ìÿ7úBN>¸!Ÿþ„ ä~)¹Zh³‰‡ø‘ñ&æmß6ð²rÚTñ×Ûº-¾Müe¶k»ÿÊA?ü⫱$wåæÞ0™N}ˆgÀŽjZ’‚‰@m¹·Ô÷Q9ãýÿs9–© ð@wÞ½’\ûu¼mÙ‰Ž8nAP¦¼;úi@jßEjê~aÂÂ!²â$®Qdž=idÛ)Ï#ØøS5Ë÷!yª‘¨€ ¯“·Ít‰ŽÂq•Ùóé| /µSˆ`¢Ö©> U‘öéYó¶Ä—ù~ŒµB8+{‰ÿÞÎPŠÎ°u¢1d0I`JÄßoË„øaI9[\¨R'nI~‚§Øµ‘b²ª4çï‹°Ø“˧«öpÄÏ«¨Äµ}I¿'‘…!Pz|³÷(mÖˆ¯;|~“2 kW"«ÖüíÊ”´<^ò æÕûK»ÿϨù çC ¢Ä“ˆˆüÜ|¥õQ‚Y_ak쓞îˆ#mÞø#>‹'Š4ºù©0Îæ‡‘5»4š£ Óª½hyᇔikœvW§ôíÕ½hÍ!ÊxW%ù𬇒 ±|8Ðü‡“­0L )Yéþ[k!1‘| nb¸á1£Žä+óHˆÿ %>š!ýwm^+ØEžn©]ÍKιp Õ\Û‰á³@ï !|r¦¹h–9tžé\ŽŠr´EZÙ)íÉõCpä*‹œYì¨&θzãi·Æj‡*RJÌTgÉú½-ùcUðô×'ñÖÊä³êädÚº–æÓ´›?ë¸},kÁóK.Xo2Åh%Éš€z,•[z^›Õ\”ù•NËr±5ñx`>nwm÷Â…— NÈð¬2ŽËׯ²ÿg¥ÊÜ>ä‚|Y¯é €@×t+£#~‹ÎY[k`ÿ¯z$8¶ù8*µt¹)#Ã䃹’Kiú;Ú8Äà–®‹ÇÖÆ¹dD>æ ý™ÃÆ®‚nGBÂú#üY­¿3¯ƒeÆn®]±Ðv“ð xjàn#î£{é À£“S*!òöüK·Ýç3£Ž:[’žæ‹lžNl15·W]a\yð™óÃ…pÚq—ÏFfvõ½9ÆÊ( KÜ{Yº A ½÷ÜN#Ps¼¦ž¯ø®DWxb¢ƒ A“±z½é!F~ƒgäÍõFõ V(B­aÓ!oL£ CÇü*•%Š1+™ž×.²“3uÃWÖ[¨Gø¼r‘ŽËÿŒ_×|Ylz ñÀJbÐôÜ„ ï·£¹:òg½¦X×áÕ`3–Æ~•Uà%»^º€qb„IreóHSЖâÆÓÙ_žÓýÛsßXdÍ¥¥ŸÇÈQ;þø¢·ÚÖ|c}ï¥DMÌÏa7Œ:×u%å-Ty´(ø£e¯Ð•¼Ï¾˜#¯zT&ã¦ú$ñ¦øÏßky¡Í šžL¶ ãS8Ù﨔ï±vâ‚)²Ä›#„×*ͳö µ7£­3ø*ïÕçk{5ßòÓÖ^1 }y‰ Gé¸ÿ«áxJù' ~õŒ„§2_t.Îçew€W³ÎšA›RDñ9ÃrÒ’±È/^ ¸/Î{?-LÙ‘+P"H¸\¦ wÙ›h¿ÛQ®ýP@<²œ«ù>ü5ã§™Üä mG ¼ÖFÀvOc23Å¿¢ö áΕ’j#þCf±ˆ]—5pSÎFw”a烆 žµ±êúÐù¥'еi|Rø<©=Ø£FÏÇÔ¯!3÷kR¿òÊćOå}|5È`'ÐðÅÞä}ÝÚÊʉÐmÀü`npk™ðæçô~øŒ3·Šm¿?z®ŒŒ²xþES "+]ßÕ×'°@\ǘïXõñ¾JQoãüí€Â”gn©—S'àk ¼›¾é³ ƒâ¢¤é=¼§·un3úw¤*["Œl¡N@ÄÈ8…h]yüôõÈM#Ä’àLÕ©tˆç0›¨¡Ù>¹Â¨güÌt±³€4 ãÌͱ»|¼ws+L¬aÑDŠ:¢Ž¢RìD¯,eNh„µ†4[É8uÛÊuDp$€3þ#)•‘¢S$bNúð¯Lä)Øót3‰÷Nmä h"•$‹mök*ñÓ´:P½iÅ$u ĽÑü÷ØwRÊÒ‘t¡ãÆqÈ”«OÓM©ª-õx5ã†ØUWÛøZš|ß«S u="6?sÕgÑäÓÒjI ÊðÉç='YÁ.DnÛ&Íú‚žiÆÜŽe“äpœFÓFü=Ó:ªm ·Ã4L(ι<2†7Ç4ºA~9©A_>vŸÂϨ28T€Cná[cj ›5ô ÃÆ@ùFÃMÞÝæ¦RþrTÒ¥Î\_Éz@óÝ&ŒUdÖ+T¡_IªÚu”CØ,z„ˆüd¸KËñàŸ/JÁL<Æ×^ Ì<ølõe‘J d±º9<¾´çÒñÁJ›Üd•?Q^ÚÜËÝ!ŒבTúå²oOþ«IÂ'æãGBÉ÷Ð44wÀ£]Çš+ŸB%]Ho…\ƒú¸Ybe,Òßx‡g&II³Þeæ5¼]ÇQyÇ<†ï˜ˆcfU‘l#3'd*­ƒŒ˜a/¥$J®·y–éamœ8W0¯É&dkáÕ¥˜³J”¬C®ß•us¯»£avž.'gþõ,ÕùK!› ïÙ•_Æ¢x@Ûiq÷Ú4t ARñ/}“Õ›üÎNjÖNá3 ¦D"à=D¨ÛlÇÊIð3‹ìÿÍA[@yíNÝàpp{W/ß"×ø¿wA½ÁÅÐ+c[«R.Â[ˆ>·œîNLº²»1es¹!>‹37"®Lzñ”åò†fˆšÂ6|6À)Ãt8ç7Wñºâ.˰rå¨Õ´R:zü‘—ejg*'.Ö;`•u·ËÆWËe¼Yd@ H°aNEaÿð|M™ðOG”D¦ÞÌb„û¢c.ý!Œ‚:W‡táÒ!sŒwúvþÇ3Ÿªu±R)¸¶c¸ç±ÙHÇÅÙ7Y:Y)‡u~Fei_º-‰ž3[î²;È̼Åý^’¸¨ä´¥õ}/ÚK˹‘å5åy÷öù³vÙ°GG«“Ä NÍ÷¯CÆëž/ ¼i~!_a,3s©J™Š#°íÚ¡™@jg¸ß!O³Þ©ïÉ— ”˜¬᫆>rÚ,®% ìŒu®«ø­#TàŸyVÊ8½ò6ÅÃgÍŽDÖ6@UÞyHŒ»ñ:òqí’‹ñi†œ ÚO¾@s[q—pÉûëºòx»/`QÎuÁqŽN»-tœ;ØW 6ŸPbãd» Ç;ªº?½ê@®ª²çaçì×RÙ9ïe¦Çh~BN7ñ¼|6yéºNÃ|v"òf 7žn¥P>Ù‹ WVÁF·k¢y>§uôž)J!¼öë¸pNn‰4m…zèÏ~IÓyiȦȟÿÛ((Ä9r:DâÕËDä{—&Öj Cva–Ðhˆ<«ÔˆŽp<Á„‡:¹Ý7Æó¿ÔšžÿÎÓ±(Ë8aÜËÔ´©:Sõ”×çÌ~ëÇOñŠX  u$¬wv¾¾;èJÐÕO ÄP?íTí€wsPƒdÔ œ'©‚Þù:ïÀjîØMá›3*úø6Y`?‹TΈ{'éšþ’¦ß/ÜSV½÷¢ÄC¾ŸË¥k2ÚêßHoTæ\ÜU(•MFq»"Ç®ËBŽ®àQ9Ô§¹[¢~ñ:‚û—£üÓ™%Ø “¶uM\àÍ•èõ#pþ7xUÁÃ!m¾ gÀz¸í¢_)L×ÇfÈ/ùMŒ,,ÇßF Aƒù3.'{œ™L5±FvŸ§Hî‹›¹’Ešµëxá4.ãõü)|÷Že³âwS~Jðßž -| ƒHÅÙÌ5©i77˜2³Æ#¼„ú à;³8¢[¯¶Cp¼Ü ŽˆAÜ´ß— Sç¨A?VjÒ­½6¼äD‡—ܨß0j‰Õ uµIš»·ÃÉ<û&3ÿ`ùò5¸ˆò& !—ÿ>ƒ{<”2Ò¼£n«Jí5ðù¶2xÖl髆kªª­‹+AÙMø"¡ãF<÷Åk·‡)Hø~'Õ`‘Çõ5üPDßxsJÇŒÇ`ùª|/èE·1’À£Ÿ”R£ÓwP¬Ïï9 /Bí©]…7Ž¿Ï?\7r焃r×8RG §hDž&Øß _áfóÌnƒd®ªÔTg£Õ=” \œ>jf áz¸nÏåùÇ)ŽOÍC=F Þ=g  ŠE¾Ìöw9Íçºç±Dø?VýÔ²DŽâZB WmDõ^˜B× X¤n¸ù!ŸîZhõf4¹éÔÓ²dµ=17$æ½ðäõpZ£ôJŠ áŠ×*¦×·Ô×ìQ¸¦âË—»­*nüÌÒ³EÄŸgç…„|‰€aδ¸âÆ5Ðùÿ:ÔÌÌþã'>)ÃÇù‘ÉÞu•¸[i›'™?ö•ô^u„1bQñj`ú/U#×[g¨±Š}.60<â¤÷ˆLY ¾ÉÉqÞk)(ÆwÏß;°–˜s¨¿ãéÁV³9Ôµ|/D9Ú•W“þ=ªN*ü64YÉÅ¥~e&¹¢û`—7"š„ˆµw=É_sKÆ;ø!˜¤>޳ÑiÖ¨®ŽHLí†9ˆ/½ç!Â¥ú)è‰r£Un2‡Ò.Ø0ýÜÈPχ9Ê £¡FSH°”éTñxƒ\p…ûÑÂŰF¥ÈqúÍ2´PÌ-[°‚-9ù»K† ‹õÊü6Ó]lœÄT«³R!)ÈRœd×oÀ Ýoż>*oµ$îÞGº—OjÍ !Qd*ÊûílwWêÓ° 9šygXlŽ]ÁD)+çÔ'¥y¤ ¢€ÊæB°a}’6­‰Š¬<^[Kv•Éb ÿ> 2ªT•&Åñ5¬ŽìÏ“§´…xœ…¡Hwýô­äs ²ÜâAÙ㚥{»^Û¬hµMiÂheAÓœ “3S wó<ó‡W\õ¥ƒÒíôr'Xƽ‹2‘aijåq·ByÍwñéðÔ›Ž\Ô±CºˆÌ?Užn,§«ÌOBÎÛÙÙ(µßj¶Tk7a… À©öÏidu—Š ÐÞÝõ9ìÅ5šôåTþU1$«À_°sðÉ Üqî`pK¨W˜L”A¬¦jzÉPX¦ !–ÂUÌ!ƒ-ð}7/Ñ*í°÷v¡ˆ°tóG7 "wž÷𭳄*@že©ªì¤ „ðó©Uö!=ÝõÚÒ³¿ÒkÊqò9Ìc/åËbnKĚŮA´•ÄË"Þ?îtü½Æ@z\ï¨^Óág“sZ*Ò#`$Ïu»ClJk`£!vÍøÈ™ªk§Þxd´H6œ#x"ÏÅ-õyY"2°Û¼Kߨ…R-Y\t‡0CTþz{66­¥røYÖ6 ÞÌË5jŠ8/}±$jô$õÄìÅ‹"%ExÔC*´†ïÏîÁþ%¯ïP_Òð®ft›ÊÉõ‡X¼"ð\&à-´¡kCë)2^¹< #¶ÛÇ.Íd€cüÃD±#²¡»_"„—÷Ï"ŽUM^Õ Eú—äš0¾¶üÂiÛȰíµá€4›‘~hzõÖjD"§½dÔޜÕN2‚ÑTx»oŠî|~‹¥=yŠ|M#cÜ.ã°Õ½_b?dµÑe¿{+ °nà§Òañ+ÐÈhœk^gl¢®¾ˆ»"#c©@1˜Ó±è?ÍúZÒ²›ˆ¨:cû ÅౡT)®ÎŸH5ÿÊQèãðGÕ³!ÉÝrZÕO)¿‘ÆÉGºï+£7·S&9ð)Q3¹2œ±×]ÿ)ËÓ&Kö¨ôôýë–Á€Zÿ‹qšçë¤ÀM(·dÓÚÐmsLgfÓ# ÄÛ•‡ªOš32kÔçÉ®—ÓÜ1¸=Ч…´¡õ–Hçð<¼ê$èÌ9vT/õ{©Ø\©PŽˆ…ƒ®Ÿ¥ª Çá.ih¡Ñ'~µJ¨ü‘{Ú1;GÕÅÅP€ÛaÉãÆfTYç.„¤uÛÀ4èÕË É¨Y^P¶ùX1W¿þø—/CÙôÏ›üÌèæËXvÙVcû 8ØåèD09ÝsDJž—o,.‚zSñ/dEÈ¢V…•©fð×^žãµÉßãîæéƒs™Ap::í@RV$%ó#?( »xÂ4y%÷¼}a_æàÙAš}øCáNü¤Ì7š>@_M´¤¯q ¨ÃtÈç.±É µl{-Ôt÷Ÿ3"lĤ€ò¯Cº9ÎoØ ýø¿ÍôÐàæ €°W¨(•K…Ö«Ñí˘âØ< š@œ€X‹¦~d·íuçWmÞ3oxŸX²¡¼ö„»ˆ¤Š6ô²)Ãyœ®¨Õ¤ÿ ™*©µkbÚS±¸†ÄoÖwÆ0®Þ÷ø=û9°¨»¾/<ÕƒÝgTÉi5s©Ù$”‘pìÊ ðåü ¶÷§ÊaJ+$¦‘ÚxIågÂ7„bȺ ŒPªFE†ÖZy쟌!¢h- ' ÞÀD屓ù“J·]Ñ;>Sí±¼.ŸÇÔM–‚:ýÿ_XµD3L´aæÆ·üûަ°±¥BrqŒ&å¸Á M†:sT\ÙÙ™9\¸YÏë‚à€?S•–ý’‰Š–{½ðÖþ9èÚ0p…è=ð‡FIÓ%vBâ~ž…"Ó¹ªTrDi¼ø°SÎRu‚>ò„§ÔË ,ÆÆ„Î }¬ +LûãÞÿ·a„^ÍŠSÉ¢óÝE ñ–.î¡*GyŒ­Už³•Aù X﬚å"Ë '¢)Š¿EìDýÕjxYàœ‘Ê‡|ø†K‡fŸõ_Yª¸[ؤCLåbw)FxFsÓŽ] °lOö_„ã¿Üð1â±ä“²P&–IVõ{›˜w/põý€n>B–ˆ—6ÂRj¹ÏU¡~çÕVa6â—ÈÖNÒ.ÉøÅì©;6 _*¬M"R°ÇÎá6Ím6Y/ÃÃØLì…1X¬ætÏËÄ}ÏáBǣʸȫ} ¨(MÛ»ý~âcksÖ0éºkúΛv ëm=Ùµ†&ÀHÄÂhýu)DÊí‚v™7›õ½;—Ï´g²ÐãwNŽ1¨ª@g8ߤ²’—KR_û‚[õzl'#*h”zÈfþ™¸¿j4U*³ŽÇÓè¢NeµòeXó¹5LѲ†s:‹`–7“výpöô¨y€¤ö©ù÷³šècÝíÍºÜ²Ò Áo°‚¾.­Lð½5üÄðõé³êŒîº·*]z´%¦iþ¼ÞÁ¡MeZI(Sý¦Ydîp×ÕC¶Îê§C¨lÜ£ðôöž4"&eÎhÑ÷KB _Vﮟ42üýW®:á=ÆÕÿÁ*'‹R~Yð*‹„1î5Mß~ƒE3;{Z;?oôJOÚÒçÞÒAËt¡ÈhÎJ/VÐê“V£7Ú±ÖY|²Å•ã\MTƒ"_¾&Áv¡cÑ¢Üb«úÜÿ#{ºI¹Ê\JñµÝíÔ¿¹öìOÛ&÷=pg—Œ‹)Åö'ÐDºi6/¿a,“í€ÝÐ"Ê=QxÑ.DçQ\W¡:žš¿“ß°Ö6ΊEÂè˨—æ•íú/`—ši’½íÝÖFFͱ’À Ûmé}m^›‹Gg cå~sçF“H¤TˆoVL3»{-=7Q¹p@÷ªú’ÍZ³cýüÑÂS›Ú¢¼à&0YâS9Œê'ô3doxôÉ’5®®Ðf<`À®4~»ÖH:}&Šo·"!KËÓƒïþ³DÄ“ Ö=TÍÇÅ·=Íïd–WöGòc8yC5·ù'urV%­=º²,© þ¡oZ¼”„'«µÒBíy]tiö7×ÖWQ_ !°Rù“ ljtÆ&6(úV)Ad_šSÅ Îwô“ùùPm•ÐM ¶y;½¿b?ì¶×²¥Nyº¡_ ¸ÈаÚOv2sœHíØÅ¢®áŒ³¼½2PÝOƒsᢗ×q—®8]ŒwŠ·ìÐŽ}úã¸ÝîλèsüG™rfÉ‹yÁ7î;ñ§ çdÄÖ“O`·ôÊÁœróNÚ1w¨Œœ›Èä&öô>x¹6·×·ñÀ¢ûÕ‡G#´+*˜DM¼”ω0áStV=îÄ9Ðɲ¾ŽáÛÀeFc'*ôõhÆõjsÄŸä ` ¼€ÅCÓQ¢·uÔsâá'ÖèKL“®ÂéÔ½\÷.9F}ƒD²úýÑâmŒ‚~†Eâ÷»vp ¸ù&X‡¢îYaRÇdƒþVihkðG Ï^•gMo™àß“…t‡Ûô¥¼>7S5ÊЮñ;Kh0G¥›Ÿ'Ù‚Ò|4 –Çrq31¨L™®¹cX4ºiÀ÷±VG.}Ùb´jHé`K{ )¨âåt{Ë”ß(`¬Áe%L™Ë€‡Œiz³‹žf2CoSN¼ƒÄJ\ƒ ¶&Q£ßšåËpÍŒ‡Ù‡mW¼É}qøº– ÊÙ èÒýYé*p¸þi „ph ¯iòìȰ±>ô¸ˆýgtJýÊ;»£ij9M¥¾­ä®ˆ’œçP% Ñ±N?»Ô´@2Ô ×A{O'3|ªH”,˜v¤S±z@ ‡©o·û*½`—XKËþÉQj"ò2(»¬9ôÝu1)>Pe#l-Ž).%: 'ÄtÄ–ˆ×»ëPVÁÏë@lo°ú&3šŒ‚䛑ðŒÞxv¸¼îNÏ¿²ÊÊ»c©|gfn«OèW™GB’о6 E¨*;ôX,?³>YôÌÂjÐ5«Ú—fž:nÎr|a49ÀäÌ‘•y!ª-&Ð>‰¬…Îó% Ê·ï©'ÄfúŽ#énÃÿWVÜ;°·S@-šÜCøbˆ”—§ê‚½ä_çÝ0ЧÖ‰]ì–tcÎJ§ Töz:bVO1Ì1·oé ²B,zùi B©ŒÑÕÿ”g¥ïõå#úð½FžàXïí²™ år8‚š©Í´r®Ÿý²?‰®²7NZíÂa3_Q:>Œ± ؾ­ƒD4½Hlca0sç…–5‚a¨z¬[¢ÉP§œ-s¾òN.>ùÑ;ùLõråÏÓ¾û |jy—ÓKaƒšDg’9{™¼ú1wwÔ3®!ØŒõ>%åsc#ø8±á}ƒÓkfZ0¿ó˜bê€s’”`)™zݪš-Ü[ ÐÖE0Ç;qík¦d+7ù_W|Ck,žoÉ”Eûô¶…xx­lªÝ¡D¥Âxì´ž:²²‡¡ïŽ3'q§Â+]kÑ!fŒâ‰­úÑ£…#å¯b14Rãx¹ ù×­?ü$¾R…>ÄÇ3-²‰Ë§Áøwúò¤u<…aÖ"¤„ë·e¼ÛÒ!]zÿ¨æu9«¨Jû8QÈ?÷–â.<±ÄÊ™ªX‹¹HÅVB¼à%¸®4$åH‘®{ѺÔ`‰*¼R|rqT³1J‹,ÞÚ©âÿk}²Çd!M$&œ&oºÎÓ/Iïýè‹Ðú½\H5ëBÃû=‡J.¶27 p¯â0¼§‹|ƒmâÚÒ@r°Bƒ»É!­Ùz¬t¨¿÷ÁUQ¤·“yóÿòÏHUºÎàR\„ŸnþæŒf†rFN^»Ð¸zI9ãgïÁEûn×èþöZåAÒ´±V•–ãÐGÓ´0^˜›Þuö‘·$èÒò}Ü8ƒ[nOdœ\u_3cä¦bIW@Â?‰…°«u(’ãP_muжÒXÕÞKóc’¼8HLþžÕ„£’Ã| “å÷åSðcƒWµò•Ó¹à¦*lN.'=ÖéÆVÈRš¿Jû.*˜dÿ/»/3mõ¬Ÿ´j² µq’Ët0$‹(|›Ã“ð¸Ìk‚çs¨)§ü—¬Ôå ÜÑ/該^DÌ™óÁI5ÿ· )ºB4rÈgPžOžs¯Ö€Ê3ô0ªƒBB Å07xøÞמÁ.ŸØ'BïªÇ4Oüžò\ÿkòçØ+µóïÝ×–ñ }Ž®ÁŠ3ä¤×j^h•õ’«çàáÁ)ø˜È=ÁïöŽt¦Æ…P Áèthc3Àþ¥ø×u¤øœF„´wÃ_®?ãNøª7IÝ¥¿,™qK‰ÿ†' õ~ƒ“˜óäùÜ ­öî±ÆLâr²Å÷É|X@ŠÙ¦JÃWvⲺ unG>Ò.8wq·еu2•…XR6Ú§®û7Æš¢_u™¡ˆÿ?Ú´Gþ„nþ€MOHw7«Ͳ)Ò,{¬”}$«±Tü¾™ºnPÃ][Nuî8$ÁÐÞçÜ+Ђ.Ø>ôAè7Qq¶¯'E¸še÷AÀõû¦•¿žK4œ½ETW³,ÁÜ‹ÄùJÈ1°ÜÄÖak{NÔq¿5‡[°««HŽKN܇lB<]Èz ¥rZFLÖ6–ù£ûìHÊdá°¢7t˜ùAr-7ĬXûR Væ¤ÜÌÍ_a: wZÐÐ=<‘ú`â<(þµOv<šÌ¾½ m|•úÿxIð(*>“Kiýa l Kî*ß{ḟ…då|U«C¯ y¿h“™®}dü7?©6©XÝx¼®Gö*~ð­ýTÖÉRTȽ1go¦ðLã|½!§DfRïFsga2`x øñx$–§d€1dÇm_Èk8•ˆwä•!sžGÆzˆèºz^…Œv·>Z_?X!“Õƒ†u.jƯj'£š»ëu½­5˜nR<×™©ÀCz£t…œ‘ewóê™ÕƒÏkÄJ¶»»¨JÇHâÙ—¿-SòÇ÷ì„é'س3‰k;kJ›ÃzŠñ‰)9컺:&…¨ûð«l:~N4ˆG:ø@º ÓÕd+áç–!NØÂÁÏâJЬJáeBŒ©7ݪÀ$»µÞƒ»ÌI×¶¨6ÕÖnóúëM] íG û#{R‰‚ÿj%ˆÉ ØmŸŸp FƒÁìM?Ž•_\…_&w' DdñAˆUOÜ¿òá L ¨"½œb˜XÒ¼¢¸ù½PÐö‡ö¶°ûóí‘‘(Xõ¤t$bÑÞs»ÞŽT/yöÀ‰ _(N—PA•FQ’ÈW¶Pš"»úllMMQ Šc#´Ö|N¥žBUGj˜ŠGž‰ $>(4õÀbá/Òþà0Ê?†Lqˆrø"0䩌5Tø§‹Dl×ÙûSØäÿþ¦¦‡Rá:Uá`E×Î1PI<²IÃúzï òP(@ Ü&u÷aV Óǯï‹Pü\Edd)”²{Á\¾ŸoÑ͈óg”DÅCl¿LÜ<òÀðêèõZp¨˜Å*¶ÐÓ A«ä¤¼=Ý”Qö6> ÉŸ)Ñ;ÖþË®xÆ{—Ы¡KE™ì%‘ …7‚¨ez˜»óz>JU¨ÛögòPìæá=r8Âþ~‹d óí}z¹íräGøE<•œ~Þ[#ÄC÷Æ·—Š3óâÚËä`C±ãà2”·å_öÖ’d]ì¯}'»ê”Þ5ãùƶÜDÛ)ÃÄ—ÜçÕç\¿MU•ÃbÁcYýA(±9xÌÍY®rùçZnèµÛ›5DxÏËÒÁ/ð(eº*Ó÷r©îA´ƒ³ÞbXôòmˆ§‚Më™Ö®Š/ `«~¢ÄB­ÛÖu¥pÙÄ•ãatÍñÕÒ[BÊHÂņ°ª)‡æ8É Á„.{ÏÌÇîãTæ¾Eì­K{ÆÀª-x¥œ§xÓÆF£òJ §æ½î.ðHÏ«Ž¶5¨貦ʘjoœ– ÓÅpo•8"4š©Ü˜@§H8]q£Ëîµáb7{ Øâœ,ø»¥nCÌðÊsÀˆX|ñÿb†áo*†1EЪ‘´óùèâ±9M¿‚뽬ÿZ§;ϳÆêc{èxß²ý6gñLOØ».˜vºŽI‰W‚ë‘ê\=ÒÞy,˜ò:Àd‘*¢<³¥*äËrCz´ð ¼Ó‚ ü Rã^—ÑNˆ*þ¶áUÌ€¢Ü†Æ›“v΢\°d“XR:ð™î•›_¦«ýÅ€kâ¾ðð²'2 ž¬Z³ÅîÌ~ˆõaˆuÉ*ÐLûU:Ü¡SQ¦ë>˜¾Ò¸“êw^÷…اþn´ØŽ­Ç¤U>ô¦ì´Í‘QÝ®|Ú¨íÐ* à–µj(«šNÑ‚þ^+ ‹\;eç—~”·YYêÒ…éX@p³‹ð«XŸaøÕ½¡&†é3¾Ù––Ø£9(ëá+Á:UÚÏ57œ‰ÒÚ¸¹ÊèÐ}HÈ_OÄ€‘üºduõôRÔìXé‘ôDŠa9õDßDIÌÔ¢m­|÷pè¹ð–.˜½è0¾d–€jóí7pøôª_‚x®+ƒ¨,e’y齫##fÏÔÂ:¯‰áº—£qÈË£eUzA®j%»4¦ EØ:¡÷ šS–“,"H4õx 6ÓæÈ&$s+‘[þ˜ýÑç¯ð쀋å>²mLŒ„cYn“FȽ}QᮤPÝi—F/ßÓ±RIuæ0àFÙb÷‹ÄìšC@Ø<«þ‚†ÿS+Õ%‡õÈÆçe ”ýK¶7¿ãORj¶Dvy’¥3YëìݲßF/R‡ŽD çE›ýdïp,–¼¼ƒu"¦ÿß-ÙÍküúu³xkïaËž÷ Ðy«À÷ì*èÃ_Íšê—!ðã¾M 56„ã,÷%­}:åVÌ™­Ö+«»(°æ¼íñ}q\žž W.®Õ¸—YÄÐæ xÆÙû`ö؈feÊ ¨ õf¤¤ú§K’!n¨oÙ=®#¶¶VôôŽf°‚¯“žïÀéá]LjÈp9u\ï½VŒöÇÞ† {ä]«k8ê€]•™÷ÊܲÕã×Ò¿xýæ'ºV Kãà‘²FýrñoâYÄ«¦°|Ý27Ú©º7|¨F fewÄÍrõºÅf\:Ö~Àa/©¶5]±8œÚÝ^Éå ĺH_Ö- ]&]îg|„4Xôeÿ‹G($s IÅIô%»úéh–âwýðlqÏ/˜ ¢Àî†Wvÿià§=R¦¬Š…Ìo.5›J­ÍÈÆ]ðs :.!ÝÇZÍòArYlA'âãÜž‰ºzLM;Ý)±Qñúª"¼oÉRN¥@ üUmPÿø%¼•”¼89ˆuL—^’DYðP€¸á×’¢(¼}]ÓUë4 ) ûp>;KCß\ÄÆbp}Bƒ´´ÔþÏrMÁQ”1ÐÜ#„¢ðlî«hrZ1#p¨[ç+t©%5›<ës?0ÎE»bO=6ï{¤´Å,M£hÓúÆú‚ö·ì,ù8zRlKܤÌߨÑdÃR úœA¿å¹jªê› × Î݇¯Î¤×¤ÏâJ*B:¦œÍî.Ñ‘ÒùáxÉÈßãu4\d>=™±·®X)a-àÀÆÎ`þ2#^~ÈåÛ…µN¬!#¬æ€Ý¿“- èAå$Ú!Nt¡ÍEÅ ? Ò« ×¥œ+x˯A•N† Ž“~,ƒ ªx«¬ ÃlQ‡[ù*Þ Í³‰¹í‰D–¯®ûʃë”x*× j·ÑNë¥8Í‚«âˆÕQ?÷gF5Å`ÖÈawm|;£ Q¤Ã8Ïï6H?G°C‘öЈZ~ÂÑB|_ü¡æ)°Œ„"Q.ÝÌ,LZžî=pÈ ¯X'»JröÇ“…Òàd”­Äºtÿf¹i_j$}5CrNG;‹;ߦ:åÙ¥/ð{Dº7Œ¡ ôVI"ŸD·f·šù͈:´lÓßJ+&àWœ_?!Ð’¢¶w_;+Ø‹ì{gGÑ,ô ¿@4ß_·‰›Xû¢YK72ÎŒ ¨FÌ­æi®Š×„Gâ%¾A:ŒÓ*²I³²M[4:9âª×R¨Ç‰èr|ãYù’q =}2ô‚E¢o#€&Áöž(¸×™À+òž׈£^œGt°µë‡t„ŸúÏð^ű)Ýæ5½ý–£jþ_³ÓsŸëÌ×P‹A_|W9ªéøµ äKp41¢Pà ÀbÈèK ¹¼MÑÙΓ…‚¥_$jøËõ˜Ü>úpTD·Ã0S5ëG«p‰ÛBñ¤¾x´3´Apú8_»©r‹^Úbú~ÙOãË]1™šv\jb^3ükr}†î%¥sQ=˜*êÆó e7ç Ll"wºñœÏa_õižü‹½ŽòvãC²¬Zú=³fß·u‰Ë1¨®Dé,Òj9,É­ÿ…¡éOÔlýÁ=×Õ[Ù¥fë!ÓÞ~YsëfÐ5’ûu‡6Î!Ÿƒ]%`Íó2+¿´dÁy‹›Âo^œ,lQº²ÄÝÛKrH:޼æ•Ý<عíky×”¶ÁYˤ‹·*`~(PJß{æÉšWEtoËxÃmyýqŸ”¤|¢[Hþ8- Ño¸>ù 0T:u|ºƒÒäuÝëd¬f/ˆ¸{®kѧÚîb–/žŠŠ’µŽ1»[à·ã”gZg§Y6õl«2Z†½ä‹…Ֆ¡ÿgR¤‡)Fe£28Ùèv¯£¤$5ú¨Áa°Ïœ\¹Ç‡.ÀtûåGg¡d ÀM&U…Bå8C‘°Ð± ÏrÄ›°b2H^Rt%›ò•"ã]æéÊa@×rY}Ÿ¿’ õ‹)*“ò| ׄ}Þä–PiF>y mYM…!¡nÂk¾aú4’pßè¼j;ïåd™íà^¼½<€C¶Š×!àdÊV ãIÆ€z™VßJ¤4èDÀ§œ…^v:ƒÈ‰ƒ0>QJÕ§Ó°šÀ´~;4‹ñŒÜæˆ0¿[›‡£VB‰YIóš1ŽÇs¥…vÂÍ-ã ýN ­/ûK§c&h¤ÄöµþåYp`Ì£ÉïÁˆ$ãP‚×¶-òeÌõ<7¯M÷Äå`³ÚĦUé5ܧék×– ä‹Î*N-}d‰3ýû¶8—ÓK‰á^É^×y(.ûÓõéȼlÂrÉeVy\^|(í|‚$T‹;Ú|¬:v7âÞ-¤f òH× OòºLÿ5—äpnÞóÅ ,Ø6T™Xªî$Dx‡` \¿¥Õ\Ö¼ÙAé²ëIÀrý[ßÂM‡ÏZž§÷ç,Pî¤AòÆ‘dñq«zÌ2Ï£aÂ|âN—¾Ç¥;¿ Ц dyp«} ¿|=:¥]ü“"¤ðWH»z îÁ½¾»wŽŠ÷ baŸF´¼õ‚Š¿—pÌgç͹Ú(ýµZˆXry{wpâ‚`Ö­Û ißü-ùRpH‘3ÀÈ®й}FÓbßÜ¿`0ö§£?$Ódø*%RmJ<²Ÿîpn@8g“bÓh_@‚Ì´§§ü‘*f¸¼gq_dZÆ)ÛÎÐn“fÜÉ”G]"qK9Wc;¹ßlPfö¡ôT}M6l6ŽZŸ¼Ù>î õ1qÐOž®ô•ß~îÒÂ>i%ÀÑYeN  ­mÈaË€«&O+øüVo?æ·Ÿ¬go:[๙ØÍek —s t=æEbJŸ¬ÿ5ËrÍ´eS‰0S!R·¢ÙQmš*üÞ:“i Â)2lá0ã^«²ØÈ종Âô¾‡Ÿ¯Ñö׺Œ ëâà^€gX³ÊùÊdK‰æö…_®'ã¤äfLÅ7g3ç}×’S׎B!»+Σø’€Hhk¡² Út¹dLbRf€Œð½‹¥HEò¦¼?ÓˆÎN&ï/›Žb *ñŸ*­5ôDQëŸEúecuÖ |þ ÒLƒÔ£Ú´eå4Gñ1„¹p üêÎ=a®ë_R°0SCÎû[â1D~ß'æ &L…S]Zݺê‡r óá:÷ß.®Æwy¿ë`›Ì¬GiøëL€õºÌh¦‹ZuøsaµÜ&n3åÒëWq Öw€I‹ÆyŒ‘ç¹ñù{²@òWw h ò7&ÝiwõÒ³'ÝÄIâ0¿*·ŸRÉ&¨Á’ö4M¬¥CÈx¹ñôuùÉq@r͵ښ+0çézý¸QñOŠ[UDÆÈÑÌ QfL\Zl“•é(M©M*Ó Ñ•ˆÖ‰‚òêC!“„¦¦US@cì%ÖKyñ-šbȯ0—¯'3z·6¹DM® ­üÀVwÙueÌíª‘/ó]I²›ò Lî'lQ')A§sŸ`‰‰ˆTõHê¾jÐ[Tv”0÷ Y<à™†×1ÆŽ­.­«¸#NdjY¸Z‡ ÓŒt´¼ÿ¤W^ÁÒFèãØÝ‚ 2ÊϨüKuáµÅÁížsvºÕc=ÎfÏÏ\öÞâD¦ÍT³ƒ‘Náq›½ŒR"#—ÊÇh¬e/#9nµAh×Íéúb§ã˜æÄÍHaŰ€6$-Ó¸ã<Ð=òFì×ñ‡-yž•®[ò”xËüFØWT¼xH—kVE[<äm̾AT¤âVfeáîOëï”=çµÃÔ8&@"¨ ޲àt¼%zü ¦d®¸åé ÄDðXw<øªá p!´Ý|^Ô,$°¬Û¬*Ô›Î_ûÍ«賟ÐÒ Öˆ¸S …7?é{ð˜™S‘–¿‡¯=ö…y‡žEQr‹5ñÞVÚ—yXÍæ¢5·çýD#Gƒ{ Þ3Z# `þFÙq!énÙÆúT[fâ:3úËM¡ÊõôôíÏô-iî‚w¤@ĹºFèíTÆ“v9(nÓí‹ï| ü»Q̧!± ½s‚õü=ÝH%@jêÌdo=5yM÷‘A§—Á›%×\õá8S%H/yŒ†ÏÔW"ô½ÁÌMŽ/2ßñÍP"Ü7…y(©—5ÛY:¨ŽÝÇ”±ücùOJ3s#i"²”Ñãço¥€•R9gõÞà/gC.¨'Áž¾x壨¯p{ã´³C·Û+„]Ûiu†flïH±©Í%Åí¢º0Gx‘ëÝž|QãÅ;P´O}¾õÄGÆQ‚DG* ‹O¥ì RôPû†Uð6àÓð½®”4‡|¶„ÅFÃ2¦e˜ˆ6¿À¯r6bTØü[ÍQ|qˆg b²SO!áyd¶08 K%¦N»×h+.%¡}¿¦v’èûMà`Q€Ò«(šëüQÞö|©ÑSó(š.&wÔ¶ó4*j¡Ìüž«âдшy]uÂ¥³k»U,‘• ·läÊ[•AcI€zN2&c ¨²¡‡Š€YG^Æ´ÅsßC"´Œ@ÐìtÔÛàê6ÎÜ„!ýò+Œ!yÜœAø¦üМX©[ éôúªŸdÚ9±Ìžé|°T';ÑžÙ:³6f‰{ôÈ g'Ô¤`U2‘=º•ògN-züYë–¸6gŸ?*+Û¿é:Yð”nˆe-|MôŠ.a¿Vøwůftüc„Ue_áÇâM8ÓÇ NU<~FÏO•¸šÊP{hÎ*mMÈh„F©¿pRÙtÔ„jÝ4u#ùÔã¶êèó òQ$å]ÛbÊ0Q?åªÒâtk7DXºjhèbl—5ç³Âœýî<«ó_4ò&lmîOTÉB?ÞrŠW™ë¢è‚¢tæ¼­<ź[3üìÙÏùÅm/n¸á0Ü#@4s •Qé:ÞûkOê{’}çO4Lš/Æ÷2¥…é™\̘ËÞÿêã  —R;í„”˜±ÓНvœ&‰¦•± "ù:•$ȦVȆ-()¶âÂ,û˜å V»v=°#¾½ŨÉ"G•§8M•ä3†»Ä0^–iM+¶G üE§7ßr7õxZ4Îï›8C«ä³kèÿã|Ý1ND‰Ö¬‹„8.+®V¹^ÒMã ;d4œ²@`1H{Æq²’€ $[>㮽¯¶·¢‰¡'bПӧ”IL¼³æ¸~h½Ì½–;È×úü›šÞ(§dj–=ºLøüÕ,5ý²ñ!q”)¬Pä-BþÁA-y§ÜI@x¹Ù‘]”â¡nGQ3ŒvºõÆö"3ÎË5]ŠK 7[Îé´ö&Y×òZ¨¢úuNêÝXmL?ÍË xFßI†Ì#›nê¿F0H›EƒðÞ8<íîDÍû³y0õLžJ–cåñc× i»·Yg]Eã4ªK¹{BvLâatOÍï2RÊsÅfN£.+šlÛ¬*À'T·¤>4r=õ?{Õò1ÜßüA9‡—/†;n•‰l¼œuôì©ônµ®Hi¿k½\qf¾3£‘áùÊÒkûZl3 gt¾À~ÈñTEþ6·1|/®ñàÛžoûD3Í $vu î¹ÏÜÖÍkô óYn/nÐ'|WjũʦÓbfRÄÊœ „± ‹×Õ@z¨/ƒÿÐ Çþõ”’þâR&~kì}—ÿÅ£޶¹œSÏ¿Hòz4Û N^£5þ1gÍW˜Âz5žuò¾úY‘SQ‡¢‚z‘DHÖ`êÌoøÀéÀ-_*u×MŸEÀ®¾œÊªt€‚|¥ûñU9ììD÷Ìè •ìx42]ïÙÅžøÇ#WÂT¢ÕçšMš¬í9'&c»´¦Ó©­ÖõÐh¢B½Üz×Ëè©Aµ_Iÿ§ê!±yˆ›4(úóHWwÔ*pe›än„lÇBÕW¼óDÐKLªä¯QÝUFný!6-ñJþ$»],¤ø]‘Æfë- Wû‰Üìu*8ûÛ•F>¦ÐÄÏZè•’ü:*FVíÍåhâFñJ„² Lè¾pBÇZ÷ªÕYÂ÷Ì~âJkol—J¬m—E¡lheÓB7•¾;•V;ßî tè)Óá%ëUï­3}ÚˆÉHZÎ8{ÈO šÁ¹ôä5pDaOÞ…å÷½ž^ÈÚXÒšbg û’¯3›{_›4|ÜOŒ¦ÙÓÍô¨;DKƒíK$^ZxÝ7ê–@̃É乓?è ’D'ñ¥îy—…žä†µ.7'«ZáÅZt‡‰toKÂ…µ$»ó¾õÓŠxzáéÀöj‹³”–)+ÎܬŸxÀï¹^@4oò6WÌš<ŽbŠÏÿŸ ·$75èdä¯G¢Œ¢½Œ êý.¸¦ýñr¹±¼&@”9ñs¯ÌIÙB;FÐëùÊþÉúLƒÛžðI¤¾ò¹®T5ÌTh²¸M©ò*s§Rƒý.¢ÁÁm4ò…ôþp©»OEŸ¸’â«/‚X>9ã=’YÞ´dá™ì€äG˜óÝøÓ¾#YGЭ âe…_H¥‡´pãòEå‚ÒP™÷QäþàuOkc;Áè:i$R;‚‹<ÆšðÍ-L*£ìÈï‹9mpÕ/ðz¹Y›¨ŒÅÿ²Ô¥  è¨:ËÃð]ÑxÌ»ZNÑinÿ‹½ÛtðŠSFÉÊR#Lu Ì«©¾ôŒMå;?~Ô³¡0tBhpÕå$|Emð:‡G!jM™/uàËC¤ÙçÆî@®Þ°~&”¤ôØPíb…ØÖ4A4K‡yƒC­’/’»t(‡ˆL€™ÂX?¾[{Åo·cå†È’¦¯ÄR2†Cë÷ÒÇ{[^…7³Wqã<Öž«çNbû:Mig5fÁ¸ñ§Q=ÿü‘Òèè×¢ž@ÀöJ¤ù'¢ vüàö¼„˜µƒÓ¶MøÜ ó£hûX.¹²¢ññЖI>nGB$IMy·=eT¡¦iz‘ãÅ\J™Æµ³è¢ {Ý I¡½5ÅSÍ‚L\|2€G5GÙ Ï \ªÞŸ™/]’Á° W¼°›Ä W]/ òGïôᩊË:ê¶X•­šÀb³ í`ˆ±º8CrâÍã ‡Ï ¾ÈH8ÍVøÊÿ|ërËÓv˾'DË¿”pZƒÕ{ZÙ¨ dÌ¿,Sk¨'ã¶DSþõ#ÞŠ7okdž¡ºiДJòãñ%Và/ÄH6~±°š§ ÑŸa]OQ‡(XꃃøË–ùñ_/vwÃ5 Uªž½ùYŠU–ŽeIZEãÙ®Ù{o–°ëŠ ‰º*ãÍ”óq MIuT±‹ì ²•ïߟŒÊ´¶^Eþ>¬J_á"N< ¼XÉêqPkàu~ý’S4í,F]¨ëÞkˆœ°ô4\/+ØhQ &4ÇÓ Ô0L/¦ ÓWfFQòÈ¥m‰ì}|O>¤zù…’ö¸” ½ý¸>¾QvÞâ8ÅñÅkPA Mø×»¹Ò ѹ!¼9nÈCÍлÐ㼺àš.¦ä,üÈðñxwmH€êI’ºv¿ÑÂ3÷†[ôÄ\ІÀƒXÝ©j\/åéìP™+v’ÿtžG®U4€z²å̧vÖ ®—`ÈÔÈë`ÃICì+8“!Þ¿ëƒØ {¹IŠÃdBê‡U¯¸‚#Y– cSJeHqÂô,-3žygª€$>áÚ…¯=F‚#w÷¼”I ï\‚µâÿv,$Rhà<‚pŒ5I0­8 ¶ƒ1(Ëì‘ß¹üF=Iµ«lY•Å]qy-/kUg“‡oÍí0ò»òŸ©1еîdkŠØìŽFÒü»ˆ<ŽBJ^ïñ—ªf pª8¬¹'óìz3¬H£&h)= IvŽ…€¥™öÜÖNuÈÔšÜp)ØòÛøÂ¸ÜýéÚ>FK•Ú¤f{•‡ñ‘Ã.¹k–ÒØìA+,¶í!lð?g¡í¤à¡AYw,í4;ÔE ‡º“ê‰ÁØ’¢.2-¯yëgV×’üWRÙãÆ™%«ª:yU@,XÈRôh’9*iÃÇ Äàìi¡ÎÒäp"ý;Ÿ—¨OŽË¿M\åžÍ‹ÁH€’YJMt®qÁÇ_ϯŽ}^¸kò>årQôòÖèN2“zºvpŸ•­ÍM¡9¨¢\ÂÁŸuË2V}ø”÷«“¼¹ÎÄ=à°1§1äí?ÅT_y®™éLÁÙ~a,ÁjLŠà FÂß`ý¯¥~ÒþVì¢ó8N ÿdÜýZI¼“n…?»‡ ÁØ.Ê÷kTŒ—þÚ¡;ËÖžÊÔÑ ÿÞúâ¨qÇnꌨ“:0†žZà-µ«4-Çv¨¨ôœð:üb«÷™Å` v©Õb:¬æ®yÛkñ58eø²eU’?­ú‘ êG›¸æYD–vž³A¦¡Øn\©A•ݾºXÍA/T;tˆØJJm–C)½Ïák+ÊÜZ­ì»ëÁÕÝù$T–’º²ìÚ§Òu㩺A¡÷gÐI/‡HF‡ÓCAZùK¶…y{Ñμ¢Jõ´¸Kkùðô÷**u“"p÷sB€$V®é¡g·:ãsW#™!‡ó&L‹l–ë&ö%ë­©bt–.zcsgÉýÝ7°fÀ»^ k†[À ! Ò°á…|—©Êa¿ðDÁª³p›úHRá%J¦šf]è’Ç0ေßÍ0AO9:Ÿ"Ós„­»©W©z8?e%0.ï©J‰Vx·˜v-vÐlÕj~YpøÇ²C)œ¸©¨C"rœâH‚%‹@X£F3£ê5>ß“Jsþydø}3 p‡l Bë¦8c{Ï’[¡«ëüïv‰’ Óóç¿£€EÐGºïï9Û{|O´¥ ë0ˆ•SçʸtÃS¡êPóf{ÉÐ+0¬Üx®a>K­Êu×18 ˜©ŽûSIxýøª„‚°›ñ‡Ñšó2ÐvƱ1ë((]ŤMÛ•2¿¸TŠÀ ÊèN óøðà[ …ÅSËI¦[)Îß ç(Q€)ý·Ò`…ó!žuíí³3%P¡|Ö‡¶ëî,3î$‘&Vp"t±y—µO”Pô¿ô±ne"UÝ&&ŠXˆEx„Û Œs+ÏóèT¬g5v|šÞF½´Q”+—G¥ÎD£J«5htmÕŽ.|{ʨ9MùùÅç.Ýö‚``|\;†ºhgf߈!Ͱ¼ܽ`ŠŽ\í5ÃÑ9íÁŒ×4)fPÀ9|ÑW?á¬ÃöÌfb!$µjMnÑ= /Ò¤œˆ·Òå'YÒ©È­ êÁiºq 6mTl¨ð9êÔgoÜÑýkAuAÛž‰$äUí€-å„4{üD¼b`>õâ.TD’l÷¿—æý:êH}Ö_FY’Õiðu!m³Š-zdkô‘=ogZËŒŠ<§V[,üÍgBkvTýÇ+ ‹ÏsF>뺀˜âoäGZ<Â0ÁA ym* ÍÌ«¥“`üôœÓ& ï*÷i¡—9¹ÅŒq¬’KÆ;˜wÐÇÕß3]çízÖÒàõ¶ P —GsrÊ?”¨I[ùD£MÙ9”æ4á!‡ØáxJÍê—Š jº¡”Óì÷PïQ3LjÒ}û¸tÊär)‹šú¾á HYÍ#0ªœ5Âi/©‚•Nö¥y¯v(.ö¢ñ$+Û5„lÆ$LùósÆ ±eÓ7ò &0ÏÍðRÃÔµV1ûþ>¤ä¨›öf¾JÀ#´·— ÷ÂÏ€8-V$OèD6ÅÂD×hª!ÿìm$lGä†H?Ò´Óñ‰ ‹ÒUäꇺNfJÁÒ?#ÖßRß‚½šé i‡¾Oî骃¶I»bîŸM¢ýz9q¼QåÊô!3æZÌŸ3:ÛW𼨳-3„it£©9NsúŒS}‘«±€5d-’ƒ ók8ñùîûigI½Û#cq‰ú«ê€%hUÑËîNB–Ú…ÐF›TâƒJç>tJM«Ü d;1J2ã D,‡oŒ¡2»†¡ŸÍ,¶ï§‘[6öó1Í>t<àÑÁN ‡àïi`û¬™ Ý—‡ç‘µ¼À9¦cÝË™K²¥=îuž,JsÒ€ñËønL Ðp$GnOC׎òli(g4÷‚ÞÖTg®ý_hîÄS|õGl­ÆåÖzÎÅ7X+¸ˆ³î¸\$&â^KJôѶÔ»b]Èb“CQÒ: ø¤óºßŠ,Dï&h(T'Þt%ê#Ïà¦õ‹¡êjÎJG6;G— ÝJŽHH©:TÄX.bëD.ëÑ ¾“h!ù-ö o.™Mì[VØò©-%®¬Å©g¼°ñNÎvÅ|N¶ÄÝþ³>¹46Í=ÕvuëÒâŒÚ>Çæ™,tG!k'®Y0àwÝb…6%~Fðä8×ÿá²gÇ1ÚˆŒËœ~®çqù’C"ñyAJ6oñÅT×—?Æl ÛË-.ƒ§‚dâ×­‰4˜k1|>°nhs·¬Áœo¸‰k¤,ïqœµZàJ˜$P«æl׺Ç:² ÏÑlRNùÎŽÜ|8Ê­ì"*_üe Î9mlêÚ$sÝP3:ªa~8»­™ŠY'ðþ 4¥ÜÐizzë¯rÝåÞ¨_XL1¡BÆYu‡v $3OÊ1%Ì! »x¯Ïg€|'ÒˆÍHÔz ׿ –±Ú¸0›ÊAmC‚-gŸyî¨Ñ‹--*UÖ| W˜”±ÖÆD_¾íû9xC©‘‚¿o.¨á Â<y{"¾Œî¬ˆC‘Õç´Þj†›U€Pz£óPAšºÓë z®{š,=J_—rʼn´&¹*N>8_1ó4©½Àm÷¿mÕtk2>Ch1QqÖ-ò^½ì5ÔßQXq—ðLÇIj\B}ƒ¬É^¹¨[´B/í5 ËÓŽ¾½ þÝ‹cXš¢¶Ùœ•õyû8Y98G–€…@^íÞ¤BB6>Êa÷Ãl}E´³’ÉÀ ‹©Þ:g½†JÉÜÕVËìXþn`Ø3¥0Þ™ÝJxlõd|›¯)>2_v…œ…¼ÆBêJõ±µßüï.ãÊ=»‚¹TûÕ~–‡gÒíC´M‰*?"ŸÊöX)†Yô`œœcJB}ö¹;`­4p²š:( ¯×>›yøÇl4UµD¡VÀNISì •BÆYm2)ú}Dø½þfox€uæ%q9 PÕj¹Ù–¥I¾ÀPïxTÐjJÚå|tU0MÈ–b#ohA4¥V”&°o Å÷ŠiliëõÓ¸^îì•c £Ùð^ó8ûƒÚ•ËèBp…ù™ƒ!@˜¬&—QùÜóá¼ÒUUwíñKµoÿeßkt;\;"9'…ñ|NóÇñD¼ÃV<­°³Y”–ñe±âk6BšˆRsä &l»‚a|ù-Åñ3©þ×¥Þü<ÒÕd°é’‰B·”u˜Cÿó!ƒØ÷WË—F^6}RÑg «îVúÇÎ]Ž’oãñè¤<ƒ=^ËâyyÍ×,× A›;á?¯)÷Cj¢LDRJ4®0¨á¸[C|…‡Di¸(ãô‡J*mõΑdü†V °|ã–&v~#*Ó/6ì- σë]Qiå(8î Y0Uv<@Œ[ä52ebo9JJ‰¿è(¹]F  ;– QiÂåö8¨!ó“IãP8©þí'€{~º{k-aú\Gòœe׈‹4=þÛyèr€ íße¸-…¯àTin-NuÖ…·Ú;p¦"ÓçÚ\êRœQ{ªÝuPµB¯y¬"“÷";+BgÍty—ÝÉÛà9Ó}¿ #Ý\ ¢ï˜ 9²e×Ç?sQg)xOÔCßи“ýÊRuÌÞP_d­ÅÔÎZ‰f9|…½>!tå›—ãâZÈ>Ÿ>ê=˜l%ÿd”!ƒ'„]A%æiÎJøáòäK8¡±Çwš¶¬ÄOñPÀõ ·JŽIíâÝLr ùjrèõr®è4:/ÆŠu @å ph”w%¬A$ä%cR\¿°A|dK;†ÙÏ;R]‘|øcñe½ãLú`çz† Ôì"dŒ¢Ù ·¦?-R÷#BËdÚxm Ê€á¥^Ý4 gó6µ.ë©ðhœOµ#˜/5TQú#IQòiă¯ª²aäƒÏ¢f«¤ê¹D*ç¢òcøÖjezÎI`<Çâmú~»&ËdÇÅ$C“‡ ëîY[’ÏÉ ÿ@{JN<‰ ÈÐâRèˆâ¯ìÖÔ‘ N˜12VMZªÇ³!]!wàmoÖŸÒƒlo>L ëÝÚ†l‰&â¾v\èA}½®0;ê4·u"0F$äÒÿ3”#– yÉ+ü=çÌ|Ï&“Ù{š˜…ªÏ„ˆöúf&²½éÃgóºGDï&¦Ó´¤p0H_ÙDfݬAykùF2›ÿÖ­ñ+3➃z¯û_:ÀÀä¢),c„ü´Ä—g(^U Ö>$oXÀ†œ;q÷]üaËßima !efóþü"&©,P qieÞ‹‹´ëƆ5û ’èöî.Yt—ÌÏ`?… šdµç@wØ—F¥Ñ#wD÷=…ŒÂE:½`0d›hÀb÷¤6ð9m‹À²˜–%ØŠ?ª¡Ö&ù­y~!ù5|öz(g.–Ûñ˜ZŽ|bÁ·á ƒØ=|ííDà^_ò ˼¥QÓÈ—ËŸÓÙÞR·ñ³¾*±1¬}{¤›of…]¦ndª jA#C¥T”ÿª èù$Ñ‚ä:XágJe¬+vy Aã)ų[R°ýçqèóûñöæôÞnlÞˆïãÔÒËÒé@ÿ(¸x!ÝK)WŒÙZC†Ä ¬/™ÀÓá•SAèð@z¤0é8Õª`m3©´éS½½KuⱡLjMTqZ*XÝààš¹óÖA›¦e? žý÷ e†=Åsmªæ?Â1Æýá’J0ÝS,Ž^éŒ|Á})ºÀÅ>/0ùãÃsêå9„ i/‚™J_LÔRo‹´*$|€¹z=¹ -àù`n¿ÃÒìT[×]ª'ñCI´ÔæB¹s¿ñËOQ.؆&‹–‹óŒ$p ´œⳋ, 7¤“!KiÒØLÛ-pÁV¨„Û(—Kv:§ªYqµËù4à¤UåÒk'Ÿ7€Ùñ½uwÒçÝ GºVß7}òJ)9& ÉøðÖ1 hi”¿@©¨‰NßÁž`j¬*ùW/;2 ^ÿ=÷QiP |&Šß Rµpq¢ÔIÍ$ä„o÷8Ê¿x|έĽۚ%Ÿ8ìaèñÁG™Q?Çí½à»´OÐ_)µªà‹µœ:þ—·x.ß³Dp`LÑs†¾ :¹BlŽÑ&ð¬Ãµ°¿óa?°o{,×F«ä쥿0Á×Z#fñ#è*¥1B6››ÛĉJ{|âOTú׋‹ŽÍáÈ,e¬£±·èß~b{µ/˜@²£›x*j¹ÕY?›d…?2ÚéÚ9'Œ5=ÉH¾¬ Þb½‚ó<™kõf€oÕ«ÝŽ:ç®é‡s¸Ÿ\*D®¯RVt$E±[û·,¤N7='1ËÏ#µkð<ÉÜ‚‡<$dòE )5ñHmµ©g;Ïa)nCj52 ßl×ôŸhyAtõálDìÂkÙ_=1ù®ÄÑ@:Èsq‚2ª4}Ì¡àÙj÷RPúD¥Âê­KÉäÃÔV…ÅŽ}FJ¨©àÏ[ÏØå[â”K½[²¸åàÛ›¨+¾W^$ÛY ]ŠŠ˜aÂ0®[‰PpŽ­÷–·ý—4ÚNÎ'Q=™Òžãå~ ¡ç!+Ï{_….›Ý/Å à1¬Íêà/qr¡dyìMQ‹àR–ŸDeC®G¼BžÄÔÁ÷.ý}H%×˯£/µŸtÒÅ£GÏØÈtž›®aG÷û˜%ðïËß½Ä7 ö¨¥–± `D š2òéI¼–ð= 7âCuRwHï”E¦vù €Ð;“@5V>îû|•pƒd¬<­)Už"V³y²jPðv–¨-hkd S«ì´©Ñ.-(&„Û/3™ª B®Ÿ©h`]o¿1q¥ÆÕZKïm Ɉg5ägè&;À€øû€„/ZD4…ùÙ^,Ú&HiK¥î‰úÃd²:EV÷!ED¾ÓgãÄTâÞH˜™ý(mH¶”büݘ°yÝ`µø1+†ó’ÖÿDõßIB\Sï݃ó\ràó3ßÓSí ù9„sÇÁ‚…w †½j§7¬PYèyA‡0˜‚íªÿí5©*67ûš·œlÚŠÿ釅_®£í¥màÒjÌ}lD^ε>ˆ9²5æ!:µz8Æx|\–ýCy2ÿ&Ö ÕXXb@ƒÝ,#©ÔÀ¦*UDNðJ`møƒkŽY';½ ZöÝÂ÷µü_9à…²¢¥ú9“µµYÍ„‰#¿’~h’‘òî5™‘¯jŸ”'xŸ °P!€¯d´îs7æu¹ºé6Ô&ê lpZÚ²ú$–fæV½Ç)éþõÉ[æ¦:öQ©ºþ@†ÑNãÿ¨&JW%JÀ(ã{ð·‰Z å.E줕*ÉâE¯‹"ä-¡íŒU}t`Ñ&LË2Œ$p#²æ¦é*Ƀ˜Æ]½i„YT•Ï–YF"—F'·x_‘C>ëâá8­˜J£ñ+½ ßÜ!ñÌ:åÇ/§S2"8×J!˜¦êô¹îWÄTÁ´‘tCdYÿðß$ÞÜþ,ޤœô2b;ŒB³cõ¿çJQ‰jEÁL?Ù÷Â$²Íé¶4£ž¦ m4Ú9·s»ïÂfì55%RNÂrè–É–0ð5UGëéR¤ µzOÓÞŸ¾¤°?–JÕ”©‰Åhx|Hæ¹F½«5tá¡b:°Ž ò§7ö¶†Ü{k|‹•(ËLÛ(k>Ff1µPp–Ô»šg;Î@š~U÷’ip}Ì ‘ÍÀž7¥÷RSˇüá…Ô±Gê•›F00ñõÑ“&Ÿ;!‡älÊT«fí~«¥ÿZ'1¶Óãg§!m›å˜6Íö 9ùÒ¹í^Ö1ÿo[|~Dx7íͰœÈÚuæ Éy‡߇=Êïûzæ$± Ï/õd8ÿ4}åü¾¿fO;®|ØT*ïåbµÚ ­:!ŠòÓQÒ\Ý•Çq«úÆÓõIÿýµŽ¦{•ˆ]™[sÿ”£î8øæUUÔnæqyu‹þFE¿Øºñªý8–GwÔ‚XÒŽÃX“¦ñÝ5›¢Ìa4Nñ‡°ÕÈ;ò߯ðAòö”Jˆ}å]þâ@» [rÔ6|ça5ýª[üléòž“·Ø`;Y±.‰Ùúì6¿5Ûò'b‘Ö°¡å§ ?kŒ4ýŒûˆ‚'GÝœë·ù¼:s*Û ÁY‰y z•¢áLp˜nE´·Ïí¿™uÕÿ1‰’ Eõ{”¶PdØŸ™‚vSjyN&7††B03šÜd¼èBB½ü‘áPîÀq#ç@8”x®`¤õ[~¿½u;#eªôƒ°6¡ÀŸ>` «ŽšÃ¦ñ R¡ìÊÆÅïþ#ÉJ»Šþ ¾¸gغ\½;ÌÄ`6±ï êéhNB"ZŠV˜DÞnzâØwZ|Wbå!b}Æséчº» !)€ æ#&ŠoÕ.Q„¾ ¬Jú˜¥ãÖ6¾vÓ›£F…V §Íé­°¶Yˆô›…"OZÇÔuëÌî§K¶ÅZóF´¿ß;Z>WUÊú ƒˆzeÔÔy¡ƒuÓX‹`@_%á±§VRCä‰Ti%7ߨªúŸžO·.¯ž®w…õOŽë;2+þ„ôv]4¢Wç¥y1Ï­ ë»ÌÙ¶¸!¡tÐ\U¡¯ñ £$~J€SkN¸›4œ]OÊJR’Y—å8“7QËÀɉx!ïìÈ»z)å¢\CÛž‡’ù¬PÉòº46ÆÍ;_R#A=É<º>õì÷lH€­¼p\:#éY¨™>2þBK‰·L7@(%;´d}i0}Ž“í{º.êÑ£N¹ q©TµçÕ·Ÿüœö»Ó« cl OkÑÙ ÑÒFxi¾ÌÏm—ž\oس§@uß}Y¢É¹û˜± ~Õì@/®¢W4“?ȇ; ÎÕV=æV;·Ï#]†4Úar`·uJî.aÝXkI¨$°ZWÁc´é_|>ËÅæ»0]k7É)Õsp1o ·a½$Øð»üh ppšƒÓ«£(‰i8Ë貦¹Ÿ7åÙÐk|8äû¶QH0—~\@aÓ^vš×¬²®Öûë_µÒ¥€:´íÐi»ƒk»ÞÁ_ŸªÌ4&וÊ7êY¥-V¯û–<áà0¹å© ¢3’õºø7YÞã,rƒÚóçi|9¡UTïÒBÿw‰|^L\ÛnK^ òÇbÂ,9dט¼/Àã5ÙÚw>?cÔŒV‡F y›¿sHÄy>VhDͽ©¹É¥¬íTÆÒ•%óEËqwr=+SûÙáÍp© ‡Îï‡@¸~t뤷qbò+z†ÐטZnh3¨_z¶'Xž-UÂÉ–qd=¶¢;‚?ÈõéH¤'Ë BVÝÒǸy Þ ð­+LÝ4ŸWÓ8š Ô·ïh¤öŠYj¨àùê+è¶HKÐó9tá[ë‘’+ÕÉ(Œœc÷Ô¼†Iu¸ZVwI±§,Rÿ\…¶gçRªíeÑøûÒ4ĽÂ_ríg.³Ù ×¿SÜB*{ÿÎÃg~YÝO0®ÍêmAß Ø“ €/~ÁNFúZ[àŸ¶BÓ$=-"a× œöçáh5ð'õdè¶7é% é2Ä5IžÅNÅ©-¡"º˜ÌµRŠSXÄÆÁãÝŸ`ºÇèÔÂÏ÷_•Ro °so¡!@nª(T-{En¡´V“Š)Ý’{B¸÷j@5ÈBQ@ßrÝo*ÁàÆÆÏø¹Ó¯†ª3ƒWH`d•XÛ×2¹ Îéqx/D q™´*q4SÇÂSÔA.˜:òJ•5(ž›a%Ïd_¿ã2Ÿi˜A¿ÁÎ%[ED’U/NfÖÿÃù®+Ù ÚoÚ¾(íqŽC<`?æ ˆæSèK‚k^¦±¥#%¥Ø ½èáLƒ3”™gN¢¬mMEB8²ÎÙ vv\@,ZWuu·ARb ¨¨è-o•ìeÆúìØ²KöS¥ƒMj\hFÆß@¿1¶j²ÙÛúÕk¼FàÜæƒ|Å6fôv•Ý`Ò§Hi<:èÊJ© ”p¿ØU¯Ýé *’ÖÞÀ1€º@§T›Åt$€¡Ø> ’”´€Ô$Q'ZM#7žªž ãQ©ïµŒIîw1CϤá;ÉìàJsT~ƨW ©U•Y Ÿ¿€AWHáwI<éD¼Åúµ-|‘‚èzmyó}½OB¼ÀBv®zp“4¢ ÷…¡vPŠ—Fðú_/ä|e§»[ŒSàˆ]ÔëÒä•€„lyÜ„v\Š”%zûž¤ö²‹ÜâK$Dó8S<)m']ê-Hº=r iæÒØìq±gŽI$%H×­­>¹H4Ë3V ¦Œ9Rò!JƬIòÊÖðÿ_J¡Û/rÂ(¶Rê ˜ã8cÑQ×u'žè_éë¨Þ[±V H­ÈK›ˆX-¬ Íd‘32;E0;r~GÛî çz°S÷—*~i¼2`›3¤ÌlÄÖü@¢¬ãE•‡ÍÚ &Z€:ˆ†ÈØ,0ö ßbsšÃ û®Bv3=»e;¢ÞÑtÒƒ3—Kòv¿tõ†tà’kÁ¿‡fƒ´s1B¿Ë‚-1锼W¦y+ª€G|ŽE³(ÇWJâkƒ¥šOŒ—Ö÷ì7;ìýÎõ\ïݰpjÄŸÈžš¥È¥ŸzRlƒÏìPþ¢©·¡¹K‹‘Ô¢W® hÍ|ÖFc’´ä§nvdòÇÕÝEãVÝ/ôˆŠD¹`Ë¿³¸¾9ÎDÓ¢£1Ó1XŽÚf +¤9£Éùû¼.' ÷³s£“ ±ƒI†ÒÓ¸'ñÉoßʹ÷ÒŽiä%si…íD ü„ê+ŠS~2ßäˆãÐz8˜3º+:ù†™¨ìž JökæÐ]ž|–\³ˆø±$$À¤Á^bb¶ðL'º¦¬}èbsgä](<âö¬ %òÚ#5ðY„`!±»©‡¡(Q-D R†_kMRiÂåûž¹13‡`Å#FÏúÎđ迼ýÒIÌÅXÏqç—æô§øJùT·h{„xW9ÀeÎ;3g|qÜ•“±³óåèï]èÕYLÅ•ˆ†õcqåhð¥K—èH\ÖèÔ3bY? ‹lFž²J+ . $÷̤4ïoFŒ‡®oæÿY°s2¸‚w(uÂÖ¿ ôcñl¯kç5©ŠçÛH?àòZC¹ !ã6ÜÛP4ûöj‰·g…ö>£)‹Iw¥º^)erÏý¸œûò']Ö/:Ûà6,·ÔñÀsŠÊ QB”±c«YäÌȇhBr™CÒˆ$ºÎ ½gÊÂÃ…T¬*Êë·¯œ£BºÒpº?YnÐùêôËŸM’Ó}ÿóö«íbïHÒRP(û¦î6}­w!Äl h\üƒ;öh„E=Í8ã«CïçX|ñSO¦A½Q<]?ø áügCõ¸€4'»3äh2j{œÌïòB–ÂAQºÓ AManhnð+п–"»<8É{s·IEä+h3ÖÑ‹LÊíKúTµvXœR@Ú“<1OÓ‡R2 ýí¥&æÍåFÆt‚éßÓ æœ<1ƒ0žb¶q¿?Bø>3/¥žÁßD8sô®ñAÈè•ÝçI„º‘VÜ+ìO,j¡}<޼áÛ[ž°“FlŠë„X…¶ìÉÍÄGiOoŸ¨kWî$¯÷í®Z—mˆ!ÊCX(«RUfv¼O lM É–ì—‹]4Ê ¯IÌš)ýÅ_]¿ ¤@´Öòß›óœqÃà¢$u¤ô´ý„!>žxŠ0El2\Y¦@«áZmáVåóŸbûÿÅK“ûöö‚FŠýsìæºÑB¡Ÿ—60‰¢3õ|BÈ3±›4E³ÛÆðà:þŽ,Œ90¡9£ñü‘TË{™âÄ)»‰Ò¤ÿXéÅ88u) D•ó«7 ¨BïüwÂ!‹XC¹H$]¤)ߨž¥^äVû#½Â5 C©á+ÞÜœRs[VýÚýáòœ2P¤?H»4=ª,;0މ•1âGÊ’û‡O·ãCKàwjÔ`ì™a¶»« SÎM™BÅZI[l@W9\͸ƒä·¾ Ÿ* sVúÌ ò BÔ¬üv: ¸H°*Ø=ù$êk"Œ·9Ú/Gœ.ÅÞâæu,Ú)@•P¤ÓÍ2ó_Ûz9(ÕÇ0tHœ´¾‘êFIß÷¥itÚ1à/²µ@2´s©[2®'a?gQ=Ñ#4Øçù?æê:ˆü™ƒˆœ<½×jºÑ1Ë—ƒÐ2bÓjÚ›ùÊš˜]>÷œ]ÿÔ õÈú[üqœ‚Ëü(hˆÿ-åuP6pSüú*~¼GãÅÛÁÀèö‚5~¢$ïU‹ØmqÔþˆúªJ[vSËSð•êñ-ŽIAEöàÛ\`3eÙÏyüY®ÌKx8Ç匧±ì€ÉâïvSÜ B¡9ìgXf½Á¿öõ;ô3ç§^MD-.f æ¦Ë8å¶>¸ƒz  ֌䴔ñ×{87eòuu©b0‡ Э››i-½ú"ÉG>òŽeŒq*îÏWN{ÜíQ“,cþ‰‡@ú—íZ-cijÇÍ qˆ5­è_ùág™ÝEË)cîàßÙ~‚2”ìêEûŠëfuÛ ò+ÛfÜ#;¦Ý•Z=›¡Þ$ÊÑÌ4·åóÉVè¬\ìÝÅÆO“Æ*¸+“CÚx¢UF®³ CnSðÞTíIªIúð}+Z¥»æBÂNÞ\4,Œý¾«üÚ‰ýMUÝ2VÐq¶ò!,~ûô5lb¶æoçu¡§šœHR/9Y!qÐÙÞtˆŸŠƒ„†Ê¤ ±ˆ¼MX®étª†ìàw¸§èõ]¦ÝÙ¸] €b)íDØ º±êºÃ£€÷|àxJF ÏÝåKAí-ÇuËH4é™­ Ü6ƃ¸tçäðV³í~å9œnsPµz „’*²-mUŽ{QÜçï%}bt½Zg­/²°žmB²II]was"òY`Í#+3RèMÝü§ƒ%]¦wv:™ôö2–R"¯f’Æ„ž¢føS”™§h^÷€äõéqT/<~âœHLRfV²ÆÚb$0Xˆrûúc°:[°¥6¡kaU˜n`ôg”É·ÿ€¯÷ùè"™-!Ú¹¢éa£Å©1$m,=¥G¶qQl‰]­ôÒëì£9>¯ýCšôõsu¡ ÆOƒgxf‚Å2öz¬`ÿKË]~¼¸žÖk¨·%v3b¯²E›Š©‚:ª…üu°Š,m¿ße>sÁ]Äú$!Rt ^Õ£FµÐvģ෸mP)V”g¥K¸›z¾ƒ~Z­‚‹mìPí—:3œ42àÑ2ùúÈálczÝ2½ à?DŽtÜ i4A|óõ«§«Ncçì­Ây³êÜ^ˆŠ›ÉÙB~‚fdQ'¼£q]}6€)üõ ŸÞyÅëgãŒß™ú;¢/—3“߸‘²Hwï\|S•%à8HÕ¢}©'Øò¥ÏÏõe3O½«{R¦'ÖîÙ´¨±y`àLK^Èa—–ò¯í@«g%¸™õ€¸mìµ8ùNÊùÜ“÷c‰ÎÔ¿²šŸ¶ß;Ãç¼!¨l·ôO|aÌîÂøZ³ üÒ^@ÖÄÝÂXHà–/ž@ÄÓIÑ.¡B ÖdÅ—L½ ‚lìQ¤!3‡ ÇïÏRˆ%1´4b n+¨c’bn3E›råæMó7*CvÈÄÉúWëÔ]‘U]Z’\¥Ó¹´H{sx ùc (Aê¸Héð‘ÿ†¥¬üÀ˜ ]¤L®ÅèèUê!eëç¤Ï.óÑA[(·•ÊÉ›“áÁT1¸Ôž-Õ­yH²µ2>Û ƒ/aèCeïe”Ô¥©½Ü¾tßÀ<Іt'Ž](YM2Ûà ziK è/Ƹ=~[¶¢Ü¶—T‰àOkÌu+ÿyØ­k0߈¥Æ×A® ´mÖöÉsF`÷3+½–œPô)ç¬áD½‘·Í3"‘-Žž¾!-FR?¶×ѹbj:¹£Žá ±”Ч¸›ã€Ç§è]I,`"Ë[bSOS{ôp9±¯WgÌ4¦—Ìa¨®¶ÒÂË+ ä³J¢”í?!x,`FØ.yÝìŒ/˜3,èr’ÿ·+ƈŸ Ö’:Qš?A¹8ô|BSnœ ý;^!ANKF:ʨL‘ÐÂ]PÂhÇ%ÖS²ŸÆOhgÂלUjkobM€;é§JóæÀã›Úô‡dò¨¹¬inÙ³âZE«[&±·\”‰†¢q~]jsñE ²K27Ѷfñ4ü(¬­í¾Fä óIÔ$p;Å?ÑeOÒY}ôœã+£üÀ:4…¯ð„ù“"X¥xÈ,¹s¶ŒUªVŠ@R<‰;C¯€Ž]÷žyUæVD¥&Ñ密³Ÿu‘À«Ÿ‰ñyØ9(æ€üTrML'uÔe¼žˆ!ƒÿ­Ð2Ò(‹êž}^Í œÝ„’Ùs"sº”¸ÓGD‹Ýf‰À_‚oló¿ûé†Eý/cn€©û;½œ~:F 8H[¾ j„ðQK~+ˆú@ KS«37§@àxº3bwŒNèç¦ ˆã~Ó¦Ê+¿Y•‹‡“xë2!>ÜQc(Vãn¸°üذJ-:È”‚-ׯ‰/¬X‚‚UOâÓØSfç{äSP¾®sáßãf PWÉZ¿P]#ø@Ÿ…FÉ,î N·…}ëONTXfÎZ&3¯ÿ Äk¦¤ôe‰:»=•¿„UdæQЫ s‘ÐÈɈQ†ÃqèFP²I”L¾{ÃI$î™aÒŽ MÌ?xþ€Äþ÷«0Q­Z²ªèçËd¹üósÎêÏ6¨ þ:C@ä`_œô_ Þg{ÙרÉ!!ßp†N‡›¹dçõ}£y¶…%"£Õoà F¾wC´`h,CÙ;–ÉæÙ J̽‘<œêŠ5Øý½sž‡ó•jÕ×þ‹º'ôcM¡.ì‘Z”µl5þ Š^l^}¢DY…/[^OLAÀ—t¾ü>ºÈX5HÚ²/ŸUæðßÇÒs-B[´w–¢K¬ööDʥІÏ|¯·h…6vfx›³¯¸˜`Ü~k)1~W)­ ´^µ¡tÑ»‹l¬;NùkÌÊÑû¾˜/ÛîÓ¢¬‡„G:ª€¦âr’lÏnG…Ô‘ Ô<“‚HÇN›Ñåð—Ä(_xʉdÃ)Q· qŠdB¾¨³mÛ,¬(/þ5æ«”XÒ°Ízaþ“™aÒ*]º7gbQ]y1ÆG¡å N"¨Ë ËEšÃs‘ñä?*…,A+¹Ä[ìü—NcòÃhÝꜨ~¾éñíwâš+ØÚ0š•TÕq–¯Wv“Y´ÏÐÙ‚2eöÿZ¸)x‹l~åªðùí{Jv‚"YÏ;$–š›Œ9EÁ…ÙXÚ“—"ŠK/½f¼T£B÷ׄýd\ 695pîØÍR%“@–7Ápþâ¢É;Uìš@¥VvyÖ“o“ë¹ùÞªºgÂ¥x+» mú0€¡-޵/×$½Ž¾äG âqqð­XA7T‚ÏHlàgùƒ; GØoWWB…5zKMr÷r)ëÃc5±M²€šêÇKµŽNVÁø×Û+ÖvÁtìŒç_D¸Jûi˜¼[¤WpÈt®Î솶JfHK{ ă_Q¦æ¿+t“/U{þ£§=¿D]I‹ÓJbñÇn°š¼0‹!j<™ÊV½DâÞ>£®–íþ8¿&m <=±sÇä0\5™ÚIøüç8{"á Ì!æWÒ®)o«wÑ[‰Vòô•EVTtÄ{¡Ù(4ɬ‘µc­O7ÃÈCØ%¹wò(nv®{çC1_a"1E5ÆrÄb­jIùŒ'Õ³)íªê´&kzäoŽ„Œã5ÎÔŒ» ü2%êPŸÚQ”½”Âæûu5¢+” qp $w×R3ÀÎ#K(½§9Tx¢[©E=×ãË·Þ®#’úðÄeâî´ÖÞC&˜ÒÓ•¶1íÍow·Ä!z›‰¨z¯  —;ö_ûh«Îí¶ÂLž³¸ÀÁ)aŒ…ÖUÀkëÃuà­_ËðêÖ3 ‰ vÈ|UK…KòMï"õ¸»]sÅÕl¡£/p÷ìi¨U›ÇÑNÔœ±ÖkP ”i]uê´«oðˆæv]ü:É ¹J\ 'lÄB?Û`esg턳Kms2ðÉ€ b}Mâž^í,ÞòQt»w»›züOy¬¡Í»x Ô‘—rE^;ƒ’Ý?køí»€ðSÜ QŠÊ&r:ž½ ŽÎã…Š¡»›OΩç’Öt’bŠvBFˆÚ݈™g€ âÆ9¢šþ£c^ËS`F€ç Pž[]ÇqíÀ»¹€ A.Ëɵù¶°Ç79Ñ’!Sýíø’°Z>ÔìüñFœuÛçÿ\SѺŸE4]0®nšü/N<ô…cKĽ-·i®Ö ì¥8þ4è6𠹦½+²‹æÏAÈ¥K@kñ›Ñ½ ¯Äèòl[sãüß;ìíõÇ“¸%¬Ì›å??9|[›'`†¦Cô «ùñ–mxå¥i²à@VŸ­ÅtáVÐû»yàJ'¦…)Ä6M 1a›b¾qQuÏâœBþ}6OÔƒ)nzØ.‚LÓWñû× ØSz ¤Š40‰êdv* Æú”h¿9 O>$Ÿ`ä„åü[ÍÇCUqûä2,nN®©¯a¿ àÖ±5çV¤ƒÆß:ækŒ:ÉßöECz‹s¥ŸÓO^ˆsÙÓ¯ˆÝ¾9¯Mn¾nrîö xÄhüŘº{©Ù|'ÄÃn¹TÔp¾µá·ï©¥šûÀ†õ[«â -g]%5(~sž•Ç!%^ö\Eê•Ë+0s z€x‚7tDoÌgÖ‰ °‰—d<ð&(ï0G]‡a j%JO¢ ]ôØVô ðKeÜΠþ-!µ'à,?‘~·±$ìÕ÷¡)H¸H°2.C»(sz9f…½M{ âŠI0Ï¢7nwé²j}â×a|éÜ&Wz˜u)_MÜ9Gå½Ý“`0§å¶ MY‹|û… #ϯ~ºYW¥ë!’5àTcöz ž£7ã#϶!&O¶7¹Ô+OhS¡Æ3ô¾È34Û‡¢ânÄ ÞÑZYI‘µÆ;•$Ð Ú< ×µP|2_îÄ»á‚cƒ¸ŒÃÜiüì5yâðLC5 ®zê_©¸öy84´üy‚äDžRZvf™ƒ“_ï§CäD o­.cx]WŸO‰Ÿ¡ÆV° ;Äu~à)NS žT€(‘GÔvÅ–é„”Ö„FOE?"r:©¡Ç/g³+ôûý4¼G…ÿuof¢Wìþå@À“†Ê)S.;(¶–˜uÞ|q¢ãOªgŠìÒÍ:ìh *ŒZy’ùU.í¿Y:Š˜3ƈÞlKsDýüMî%Ð#»sÝ“oE½z¥ªè¤)ašŒÁÔµz‡:«‡ár¡‹"|gî¢Püýºê¤Zá‰Ô²8³ö†z7ã^įs®Ëл”ÚÎ-×#í» ÂŒ|ûå"ì9Í¥»…—æ]Ä:Lùg‹ÍÁ.ûðÄût#lPÅ€øÙŽÇIµB±Ÿ>—‘©°ZÛAEÌ Þ9ø—û‚Ïm@¿úǕߠÇá•\k£(¶EiŠß?0ˆà]06T²¾!?Áࡆ¥/‘°ArÄ/¨Š(Ï.ÒþüP5ºÍ°1¢.É• -åc¬(Äþ.’Õ%°iTtœ͉ÌÙ½´99˜Á@yFÛ^GÙ‰/¢‰g6!l­£»Ê*™™Ë’F?S hË7·ÌÞu’¼Øï²±³’AðT]t§ë‡c‚&Ly®¤+ѿޟ j×ÎØMT¯Ø ´R?¤Â‡"!L³ï^ÄGÏeÐpðÐcç5XùøÔé±8ìêÄY+À u ½·lëIŽ_ôûÇõ›¬þݬsêeLòÿK–Ù÷³vxŠ*³¯#°Ûˆ8t¤¨VwRž9Si´QÜ•¸¼ç”õö›ì4oZ¢÷2pÙæÇ‚é¹c”IPZ/Ì »ÄÚûx›¢?œ,²<¢Ë]ºÁ‚²\|Ywž Š„¢Œf¬:y±\¹×bX.ôãZÂì9FøùÓ»Œ(ÆÙuTçÛ7Å ÎiK`™µÙ²s.±!‹ÄlW9ÉL—±¯†ÿ×ȶ%2!+:D]ÔÁ©ºº=žDVvs  äsj ¼XpÊ0-¸5ž ³|”úQ}†íR©Ð¤E¶P|¹.:ê0p|7¬ˆ¬)uKÃ{×Q¢Yû˜Fêsƒÿ\ä‚ _“ø2æÿpN'©ž†oꑊr·&sg •¡1àMãIjÍJóâäJ§í…¨¢¢P™“|´Æ1(c¯õU²\µœG‡6ÆÂ®¡ u1z$j|°¼B­lÛÅn”+ùÂt]#)†ìjØ›rÇÝ ^ìx/>ÉFŠ÷Þê¢Ò®K|Ïåªí•¡*ááDúÕGlwc;s Ü)>=ØRœ–Á¯u@È®ŠOwö¾ŒO›ó¶<ÅÅ™ ;iRW¸’ExÖ2”¬€JŸ¸é[/èjìJ¿‡§€ê«a¡äS‰yl¿ÏÐÿàs…êÁrX!Õ¯´ôãp~<î4¸Õ±CÑ(†U…$¶Û"h1 Ô¢B$Z–’’]²æ]Q PºpÌ¿úØYN‡¯# lxÈ­ègÍ¥¢@–yXÇ–9|Á†o:¬OEâ½ÊÞŠý=ýÙ]iž1íÌ`Å™/ù†±_ÞQ=´&K¬²Jdg[žE6Q€EaH„n‡ŠTÿᾦˆ˜Ãž·¢ä Ã¥W<펞Jß3©³Ýšªz5 x±ûxóÖl¦¾¨´,ˆîáMbƒ:ÍÙ÷™×– wY¼ÖŒá²lFÚÏb ¡ ÏÍ`ƒvèÒAƒR‰™ß„?ÅŽ…-¾î˜ÙïQ˔Ʊ¼ªØX!:þ*¸'ŒU/â G+fU³t/í(C,ˆ"ã7òK8KåòÚìTÚè½?>&b3Ý‹,ª2°< ]áwð#îjf®Ë'ÜèÔ@9±>ý܆ÃÍÉ¥ÑTa«@{Ù†ˆoô(K`û¬äÊÝ ðüäÿúl †éÞÌׇÔlCÐ IR$Qž…Þüž‡/”B2døŒ}vñ €6çEâaÄLŒ°–Á¬<¨Ãž‹óVx»ÛZó™ÇP<]vÔ{y›¶J–¥NUáp‰9¿ÆæCI¡+£>Óϯs 9‡ê§e6Tßžå$êávúÄ»O òº&o.\ºgC‡pÆ®”„Øì,¤¨•qÄ爐BñºSÆ+hKVÐ Œâå+óLò®æu';%m“…x645ÌÇ ¡a”Åä¹êø8$l'Þ÷Øà;·®CO^sÜí©Åëöû{‡~Y(tyfÈ{y;ž)´2¾Hd%å³KÝ|ÄG²¸Q¨Ú?±m†Þ•P)$kìþ‡K}lᜦÚÑ1Eœ–žzÎ"8lpcßø†<½–€²¸Xà,?Aˆ®V«ºíÌôÑ=-' b<ßá8ÎC>æ¬/9:VNÀ>}L|·º—–2\êõlÖ}žÇÙ  ‘$LhÄÐË^Úü§z‡drQ} Ο± î‹#v ý±…ÀM±ý6T´ót4“Ê[É@»½W{'0{Ê"Gií×’¨á>|Ê=fÛ0Ÿ›éj¥º}áw1}dç`E«$ˆ1#)Jrpæ­Æ×àP’ûnDf¡"æn>ü¼f”˜íuß+Á.o=ù…W6Ô;©Ý™D‡X«åw-P6ñ"‹v‹[X5áž­(§‰+IFdûà V–ïJwUÁ‡ÎO‹ü2I1;€ýÙ¯Ï"«á9*Ç&“þ¥bp„^y©¡™ôÖäÄ‚/¶äj—/óó™gb°Ó\íFÚæ.wÓ€ÇëÅ猊p´ªc›øåæù¦G©íÐ~@4±À&.è²ûP&MM‚¥$s4É]í'Š4ÊÐBÓ¹#šoÞ¢Uk‘Íf;€{«¦%„ðßtûéJ˜œN;Õbhi=‘µuý$|ìzS›¼r‰òÚ„.Tl!c¹;¯ñìå N×I«‡ŽÁPK‹²#S~O4çã‚5û-üj b4ÌñMÄJΉܺ¨&XâA·f®s²È&®%ÆÌÙ½ -Zút]0Õc¡ô°+fqi)ÓíÒa×ÛTÙ/ŠD/ç.d>&_®9bÓɧ¯iH°éçfB´á+uÔ¬ñdîØÏ²®vy®T¶º•¯O_B¯ó¶U¼7ŠØÏkï¦Ç"]d/­ye~ š³lÍ‘ç<¦XÔ5¼ò[#%{É<Œqºõ¼h²o8Óøáùïmi³§s¥%6nž·Œ®¢; ºÄÞø  ZêœúÂéÁ_Itb­v‰cpš5ã£ڟêÐðÛ˜)Ó*j•°˜µ,IE™8LóÒŽC´ˆlýöÿê”$#;}e—X.$Ó· .½ ‚&€j¨ï?æb2Œý†øÝ:¸qG@O &ÏxÕÇí²çÔ¿Æ"˜Ob~ …Í,m=#`MÙÔ¬¨õ¦C¥Ói_s߯FïGP˜F"¯N'I¼ö½~ð¦Ä¡`0­Å×®ùã’ r›îüˆªMè-c,çem0 Er †- L¶‹ ütüëã´ÆÛjdm)Ô‡tòá…&Ö³n ¾ÕxL€Š“ñ9¼Èÿ̰%‰Ã­3”éLÀ¼×øÒwïeÊcAïÈnJøûIƒ,½xIÓ Ó˦]ÏÊ;~ ÞÞ vç w !YN“ÿT›´HÙuF¼=tá©¿Ãnú1)_ôsàæpRkävûrÄbKmì?’ÿJéLæ`ê—*Î>(¤ÑieiÞ5/ÀUsUJâÔ(õÖM„Œ}À¹ŠAIr+üãÁõ-‹ÍˆNû%g àªO…– aº7Ü€=ÂnQY!²?_kâ—û”BÙ9†•j Å¶¶n¬![b¼lgh¬®Tƒ˜ÁCòCˆû›XÁØw5Ή’‡r¬ì¶÷fÊM¡?H.@ÔÅ—<¶Cq âЬ®ˆÄz® „ßSƒ¤­ä…2ëÀÍMX€×¤|êmjÔ-.:èïpUó|tR9 ¶.NO´WÚKËaÆÊ¨Ýc‹‰bbyŒøZžeøý7È žáWƒ ­¸š¿«®ßM°á gÏ—–¢øÐêW°ô¹sSÙO>‡º…Ž|ÈÍow&'¡ä‚>Š*ÓŸlC²>ß«NØFBs?WC;NXù‰³‡M-–¤wæ/Üý8í]£?ŠM‰Æãr‘ßISÉêä 9?ôªœ}Å$&òx¥xU4©ZŠÇ×%_Nq–ÒÙ¿õâ¨AjÜfxrtóòóÁ7”÷ H W†L $í¡ ?Öå9ÜVÓ4FjÎÃê±ýŸvîCÚ²-ýcI^69é9¿¢„Ø2«vet«ZE·lèa*ú‰cUcžžØ•—ˆõ'™õ#{Ê}Žè–Ø:ª]l1lg%Y_+8kïm‘ÿ«Ž+}M½é¢‹0ß v(8pðì G¦ð}$üñ¿ÐPجà»@h)È„Ecx’•·Wò)(2sÑF¡Êà3»mQë¯ ¡ûà¬XÊE²àäM”HM¥“†*ª ]了AR1c¦Žù™$‘Œ~¯? ‡h £½Ò×ÁaTW¨Ðá•`p”ÿâcY%ôCóeUêfqJd(Y;öšÍñx¦…)Õlð¢@u­&¤îQówBŽ£ÌL'4·Ëd—ç¸îáåC,"¸îÏëŒ;€žCÒƒóëåÓñœ?¾E£Ó¨(•÷‘›U8ÌÊ”·þô€HÖ«ÙŠû€ÍÈæ‰”oï—ù„IŸ²…2X]a«VµI'RJzõ ¼ã‰E(ø4Üߢ,ßíÓ\*ÙÜÑ>Žx\äÔÒL «:¯/wõÚ›FM#|î¢RŠ‘øuK6„3Î@¶”Ò•zÝÃùéÕ.G¦º¹7k—ä¬õZ†BG¡wѸ1.t‘|/Q”d@–[ÁÑè‰UÉI˜ÍСd‘cS¥ÈÆþùÑ…K'ÿò7˜çb/.—ïA*–ü¹vf8bn©Fž!'µØàoO· ¯—äĶ־ÈÕéCÚ{»$o/c‰ÛéÒÇÇ\ý‚J^­£íqþ|†Ê°Ïs?‰Äý0eô ×|Ýþ&( ìfPò)ŽCfÿ£í8TµJ#CÚÃÀt•hh×=?:¡2奅(ÏR­Rã7hæ)ùbcF*±fö³Ã},KtS¼/N H’'.<ä87 º4VP*EÂ-³ Io‚Êxpf"1´©}Kž¼Bb¼•¬E³†¼ IœâÁû]¼á >_ÚžONÄ,J¥­BŠ­™_L!§’à¼êý$š’Iç݉±¸ ¼^ì׈LôÈãñˆÊðÓóùu2¹L¢fýû F'êHÝ¡ö*@›6Ý5µç¤ˆ]´…æ—K˜š†s·g'ôÑ3êÖQí)€è!³O<3r˜;6\¬I­"QÞ#޼€>~½d0ÏV=hÜÁÒî˜âÄt¯kyUß¿ÅS¯ºW³ôè›Ñ? 7Š• £$™úób7Kœ*bÅ0ÚøçöÄ›Ggmä_Å{0!Dâ´3ÈÔü)Ñá)ó¸–ãò|•†qÃ7m“´ ¹Ezíµ(šð^ÛÕÕµqT-3ž]‹“É÷}z/|Ú?Éì><Æé¦—#³lß‘j³©HàÌ‚¾ç¯Õ¢Èi»U‹jø(6ÊÀê½E·u‹w#°a‡öø80TZ¬F&ª µ‚µÌùË€Áž’%ýÞâ+’«*¯Î"KºJ¢ µ©ßÁyŠþ]_E¦¹·ëóOx¦èåM›¾ƒoT}ÉiZ—(ÿ:NUèQÅ‘h‡sŽ)R_õ'èê´ý"ÀÈm2x—üÞ=5εž¯ƒ= Ííãm‹uUá8Í9àè]Ú* Á'.+OÝÂ+"thšèÓ÷Ä”ö„!«d)Üå콿»griÑjéô°èYÍ:£5пØÂÌ”àF³EnajÔ°ujÌ©¤wA &á_¿³-‹žƒSXòàDsÑå|¯¶N)ß‚qúAÆÒ££µƒ%¥l;Ã(3 À«-ÃMX |B&ÕÆyþ]‚,’õ,nŸþþHT*ØŽºtO¾hËwÙÀ“­ ¦ò äFo+Ø»;õw‚¶BT‹§®ÞVËÉV…±·[NKaÇ%YË º5IËÀ>áqæ<-ÈQGwü>{ȘîœÊ÷$¶<;ÂVá 13Y8x¥è©ªÜ/Òh ¶HÍù´Ø¬¬n¡g˜è·ÇIÌjQM;”>¥a*Á`Õº¨ŸÅVaÖÒ™‚úß]×›BM3g+R‰?þ>—˘ñ³Ç¿1(é°[[=´%}Eóõ³4 ç¯!H=0[Sï’`ÅšŒšdaŒáú#èðzÆàlàáö=§ñr Ò~/ÿ{¼n¨ÁwË)i›düÖQýwv[EÞ+{ñ‹ù$ôæÁˆ‹ʪ\2O+§nX‘ëõ{ FÝt$@¥Lß[ÖPšæèØj6PF°0qyIJ72êbǶè§Úüc*¹ÔBwQG©súŸB§¸ÂHÑÂeìhTÓ€nPË—BñЊ ¨eÀQ‰ñœ RO%¤"eEñ»¾îÃ'ÑÿÁ7ëi«C«ZÛaù„@—ƒDYûîæ»ø4¡³™‹+_ä, yànÁHxÙd¶R­áã!û„'h,•6Èí­÷½ý ¹‰†i¢S"Wyú);jõ _&”Yœ¿¸tbwçïñÚ-'±×Õãg"«ò¨‹%gÅ Ú}í<ì7Ô™u[Wªb]MCÊJsºÓU÷j‘°Œjø'—âäåšh$•IL«¦M5ß ²˜9.`§¿O‚¹¼DWÁˆKPº©4Â{‡ÔG¥ßM‡äORkK|ÓM2“¸ÎÜÑZ9bøCåZ9Êp°¯¹ý‹²Uh×H®I(m·)³m¥”0n·–…o* W’œkåhÉ:ì©ñæ£EcµõÎi7Ñ’ÈzŸèOUbu!u1Ý Ý ÅL³ÏKïd¾*Ê¿I]Õ3¡ôRût9*¶’£¦¹ðÂíÅ9Î}Ä JFçõE¾$ÿ:=©ß­Ìù+so ¤fÕ£ˆíä$Ñ&„ÅòPrIBô{(³‡¼Ð\'oCž>iÎãiR‡Qà§1eK‚.е=I?jŸ©}7 âÐÿlŽH•Ý-æ» Ô×c5d1V½þ?ó—¶ÆZûÎÊêàJÜå\ÁY5OÕÏOõÍäJz¬K%JxñA“‹‰9FËY_ËT2u*gGl>âádBY.x˜EÖ“hP-ãnϾŒu\>é²¹l*¢UÉüƼ{ëÚþ ­çîvo›  \r†¼Ñõr¦-î¥TÛXzê»Ú¿W³«(L×s‚¿²)¦Ôü[d%ÀgNƒc®^Å’ÌÒ‡‹ÅyÔ,Ü2A¹fÛÏê §Œ ³!iú]L¶ Ó‚QTš«×ûÉÇ“–ñ ¤ ±-©•ß[Ù}Š‘Gàc`µÖ÷Ìï b¬—^Í•aš;þÍèóZøÓèVm21¨¶½tV©ÕuÝ®<ìð€²laYp"ܤ6BaEÀ8‚”æÏ£»,ׂ™ÝeÂi½Ì¬¢^a8æb³mîJd¨hF®þÅãö˜6ì*¶Ÿ&Ž2¦Jt(:†ŒÃMô#ºÖõÒ^–Ÿˆ!¹|Bt:fwµž 軬2Pœfî’ÚÃ'EGö½$áìã4j˦£pžÈ5£QëLŒÎÞÕ³žvó¢wm¤2êŠ?UîQÌœ@–[Èù]—>¬}(AïFvËMÓâkqçtþ*„˜ù6¹YCzragåc—¤Uª5§éP_³â‚Á¯ØU¶±WCTq˸$9àg<÷¸å«;kq5œÀù}­µ‰ ËÍ v‰œÑNZ&ãꢟÊ\ª:Þ=_GÑÝŠ¤‡’M‚ìWè¦ êÂÝÓÞ{bmÂÎ Ò<õVϹyø,=´"ðªî ²º±7o1Ìü#®Iv7)/…Y OU^÷£Á„Q®~DÜ5:ŽnÀ#ÛéRçP^ xUY„ˆ¾Ð}°DIµàÄù.‚EùéÎMæY/™hÄ7†ú‹££½9Â}e#,Ý(š4šºóV´)"ÄF2¦ƒ@VFªJ’!oA+)Ü×iÊg ‡ß]ß&án.XG¼JÌÚWá‚l{jëË,§„„j/ÿ¡°¯O虪8’Ããb–‡éiõ®âié/·û÷8FbRÐÎÍB“åz&r¯u«§E_©½ž¥êé?ˆ` b2p9ñû*Us¡;•-übvÍhØôРâJ<ÆÓd" ðsõôäŽArд[þ/õóTTº>= ˆ¥4–•êÊ´ÄZ‚ÍZ†¢GÓi^ç%o@ B‡ s-xàñ¾®»(+sÒ:ù&€”=¸Óп„Zè W n¾HŽÄŒ¹qö~u¾BèÌPÚË'À§æFÂ’CÎL4$¿œ«‰&ø‹¶ÐXÀ-E1ìÖÉË‚ItIŒ V†ôØ}ˆÇjeƒÌ|¡YŒÐm)ZÉ1ÕØÿ]ÊɼÁANHlßn5vª—á°BŒUÚrÇfÁh¿\ÏËQ¯(?9p¸öÂÊ ì ú§ý½§dý‰}hKÏR£…ÁŸ7Åâôp±™E!X4"7& ¿–e„¢Ìk”«™pƒñ@ò*ÞVxûPp§ûºº²ÎBÓ£ða xÂü ^ç¶Õª®Ç”~ª†½G?°ã?=‰ùj¶L&ør4Ú§àZß8mz­‘’¦U!Yé]¿[Óˆvš¹Ÿ[ØÎR2J©ƒ”!S9X6ª¸on<œ-:\’Éu0Ëõ J—N (vñŽGkLƒRe8Ø¥´¥¿&¯]UÓëÝÅ%PÈG0×ㄯÿôm+‰É\u Ü烫…‚Õžµ“ŒêZê¬_µ€Æ;[u>‹ÚwÏ©£P¥–ªB風6¡}“Ò"úÉó ‚øËY½ (–2üŠ &fJxŠ.tûqúI20êHg¦Í2O#Mx°ûÞëÿ%çj* › w¢³êúé°;÷p¨ô?}óØå ÑiÏaņÇ*šmá%ïŸÞ°q·ò;ùíæSöµØ™º‡cžÐÚò"/v[o‚ öÄ …~}>¢Š.Ê,?±¬bŒrŠþa$4ªÉ®CY{ˆÑÒD_ô, l×W ùµóeú]O˵Ž||y¤¹ òÛÈüÌΤü‹pçuŠU’aÒá:VË,H¾ëGÄç¢häXÓ T uÅÈ9ö«…CæÆL¯©5Ra3†bé j­?¶µË»UyFF CuŸ—JL ®´ëÖš¿Š3n7H™öëC by±p-¡t¸ku߈Ú^­ûžøDÇæbqÝ#$Ó´µçž2dL—Ûà0­âÍtºwæU\áÊÙ)°ä»ÓàvÞ²ì¶_.(|üz\‘Eo¢Yù±«b¸—Jê3Æf»h§ÜhÔÂ&Š¿/F;Ó7+í¤E¯©.(«†PÖöÕè5@B 2gd"ó£ÁU=$»$ñ׳({Ž…Ÿ”My¢°âª‚{`¶Cw³o'‘ SbH‹ùÕb0#X{U«{7Jñ"˜ÇxE Mr=O†tñÖ”‰ËÑÇT:ÕœzrPúÂæ‹ I9·Ó•ªÐÂu\ +”y)‚ ÁèÑë <¦õ (ï9òïö*Þƒ&Lwºqô™ë÷M4F{¢”$ñ¸; aOR· †Ó¤í£¿¾œuÍ?CÜCjhÓíÄŠ£-SÌ=3¨xVµX4$œ˜.ß°ï°úžCƒ1+ýv`‡u§«z³Ë#,µ)O’ª.–¹i'1±!­¦œ”—®Ù•âZZñ»8·«f`¼ò¬gB­UÌ×$ ÊÖèS¤:ŒcXe±Ç®ØqÁxy&ÿªGKíYUž„Ê0Ó,r%ôó(,¤î‘íëây„=¥_YŽÑRuWó•Á»OÄcηÌS‹^‡z —I‚®x›ßTt†s§w° ³ä`S“¼c—CTSäª)­´[x9V>L<;¸ÿÒ%4öAÚšàž&`6cêÆÿø”fU¤ zK5Û¹L•E’ïºÈ ˜ EÓ;u‹Þ“p)pf¡³Oq×â!„œ-a¿!Qag{v³×ž@8p¼'âè\¶KC9°yºóÆßÜÒ@Âw:'siz7©9Áõ ¿ Œ,š5=V°Uœ¬1C'€>åÕ‘Ö…×­c1÷br“TÖjS®ª`¸0ßq®þ†z s®Ó²”–8ÙåxO,7eÌRgªžÎ£C‘•)°wB%!ÿh×0× àV¯|ß)ùœ°HóÅööÂX} RñŠÉRÞó«mËŠlg+mâGß,»JˆÚ|é^>i2¢ò„ Eíln>”â=,†òÿfK–¤²-aC:n.¼(Š"s·VO5‰$Á?ïšÿ°Ü«Ý‡è;™w£Å]]©ÄL±¬ý_y= Ñr¸TC•v÷oÞV045Ž)X \ˆávXœ.c˜ñ´V’tÕ97?÷y1àR½ÜGSÖÀÞ^Úcí˜YÐùdQñ¡ý •Ppn ¦L6wtt—î÷‡sØ¿¯‡Ÿ[C‘ãGœt"¬¨’Ð]ÂeØÛ –~Â:Ž9)§X»8ú] *¶X4µ „\ÅÈÍ£¦Úb‰0Ç8us´e;%Ûšcý±¤ËÒ‚© +QøÎº5µFm£ÓÞ’«`»Õþ\Fй*MpL7ÁÙâ¤ñnû¶5óÇó¡ûŸÉs‰c)÷»ç7Üp,9®Àû| ‘#[ŒÔÔ•¥¤A3A€IÕÕ>1{Ë×øA¸c=Ã*ζ¾g|zè¨ú7:óè:ƒSv~bcǘ&w:‹»*¸êâBú·¤…ŸAgê­LǦ(ò+™ùi$i”Nl%-ãI®Ä/Z4ü[;Ð7h—¬ÕôœÞ5‹*÷ˆ;ºëY!åÑ#£¨¦‡Ç4„ BÛõü>ʼapŒ!ñ~T"tãî3&%+ ֦™™Ðõ§Ûk¤Ò˜Ä®woýÊajˆˆð³Eþá¤ÌC¶8Lçɬ8'ô惙f1«l¿ú¶¨â0¼Vbþ­.»]ÒŽè‘øêïO6m’}"¾JÝÑH>Ææ¼1‚׳†ÀA²—÷jÕÉ“?Ðî_ŸÐSÛ£C'‚àqg<“~D¿„/]ìr_£¿¹èI£ç‹gFøiÎõ2A0Öâ Ë „æa{ÝiD-÷á_ì–ÉEš+Ød"Ûk“„wv`44Äû$øúÚC#y„†ïgÞ¥ÛØ¬$„î¶ÈIû}í Œ0OÃÔÙZM3öc°‹QhivŸ¥n· zÀ#¼‰¼½TovŒ>ä´Óƒ~(ÛMIaëDáZ䎶ÄŸ7°Ñp!õ÷( T§ü ¹¢wpSûäc(V_äµ®¶å\U–Šéª©–$`Ê[§£ Mf‹ì-ÑWÕ‹/^ûÑhÖÇÆ£ð”W=›ùÏÛ…þø·Ïõ~ \P,è¥Üß.ã’qÀåc!Äò¸–¤k_{• Ïþ.VÉ™‚*>d†Sjtïägl¯Ò£“69½Œg›àC)* ¶}àû tmÖ Ø€ã¹ÎЋ2ÆïÔM¹˜2<É$ÞÞÉ{_Mÿ¬gÖaƒíO#ð=ĆÍç]%.&Kö´Þ;;’ÅDQï ësu®ÈååD-fh/Çvl¹ä»X˜ôb x5ƒ¼htê)T!tUf}0áBÔé<}ø›l[n(|Û;€)Ñ(b×Ó³îFW OÔæƒ¿M!°_à…!¤š’†,¹„2ïÖÇÒXPPx(ƒò?5ßnäR‡?×” ¯®`r_ÇŽg¹ÑþÖžhbÛ¬Ï`樜®Úȵ%ןĉÆ%ž­·ž'¹~ —åYçaÆ‘¨àL‹c¹‰RZÈ…Óë“Ún$ RóË:*1bY‘×Íf]Ýž'Þ æ7J}2н˜m^Ìí}Ë—Ømn_@H{݃®eØœ2Dá2Æív(ã-s±¹ÿ@«œÑ€Û$7Nt Iõ,µrñŸŽ(‹ÜQõæøºEômqŸ!ö³[_E­UQ”a¸hq,_ÄU˜çqO+…(õÏ]ßõØ_ó™º0[fƒý&ŽZ i"¡A„‰*œl»”…Ž(Ú½¬a#ê"Xc;ÍFdîÒu»î;»zñ©åÀYêÓó>¬wO=P·½œ[œY{$͌߅,à4ÓmN¼ïŒŽñ²Ò¥Äàop; ‚¶•…G5pr4”pe†³¼a‡ Fq¥/&Ú5‘ª aÏâ€û~:uý–J)s”ONÓYþ3i›Sì"€F‰z™Q¢£èkÂ…ï”-±“­ k88÷(Vé²ßÐrü£§ñÊéÞÀ>¹hp¥‹ÄP¾5à5eWé.™ \î(·}&!Ò{Š‚Í‚ÂÖQõ=%m I%PD)+·uTÕ{ÌåU³$mB N_v„DÊ߻ϓs^Éõõ•aÁ˜w:ãÅ8uÈÃZfù&™Ë;j€ _#É¿XÙÙ5‚gsÎØr ÙüÈÊUtEuP{uvæù,jÉ ¥(¨?`w\½"dR*ËÅž`'øb¨©¨ØŸ€Rë‘ÞdØÊVˆo8…%¸'…¬AR7¬•Äî) {t-å kï6µGKñ¯M[­ÅærÒ¥èúÞ{NF_ 3íúƒ87„6dAü)wdéóÄäñßméDȘÖtIB‹67°ýs0Ü)®íJ…Õîÿ­d*[+•ù;`dŒ¶ "át1~ŠÃö6_ÐHK¿"'ì^“Sº&0ëÁ<—hØbÇ|y½¶ä§§ I EžXŒühkiíƒx)ÊbÏô#Ôiã6D׸ñG\¥äOzÖU%µMü@§³o®^¿êÙ™2Ó¦S‘6#œö©$•ùKoHvŒŸ˜Û÷®¡0|ÀÙª¬F{Õ3dnÍÍ©DMqqJÂS;㸀“ÕÄ7ÖP¤;ø¸G"Ö±üLÖð¹áCôàçëÇÑ‹222€o÷!+öüÊ>‡ï† “,ŸiN"g%ØÔ×q•+ ’‹äFeEwW~ Tú.¨@À¢tvëîùŠYÉœó E7ÀSãŠJ}奴[ºÐ‡õkô٨ΞßÐï4®®< ¬¸çÁŽ…Áb¼<Çü®_œÏÑÔ»q>!t¨Xy÷(þèÆ1z¢ë0=³Wˆ '½Ø$‹k“sq¨-lñlYhŽÇ`¨ ªiè )öë¢gúÓe|Š&C¤Áì™õ2<ê"/W|:Ü-#’NúaÔÁýq@;ç:YF¯72‡³ÉÃxMÓ^f;#N¼þ{Xƒ©tÑ…ãü뼟¿Š¢"áø#Áâ&t&r9 òÖìá‹+®ŠrJÙ»(1”v)Ú|—Ɖ«Çî^ yd„Àæ]Úw´á5CM æ’OÞB‰Ç¼íi±êYcÞûg3…ô í¤Òg÷“èÇIA 8¯ªRâ‹—‚*Ä9jÊÂØŠß‘šõÔ]kö’Æ €ÔCîjWB‰:Àåi4y9¦¿šmž$dÄA³Æ:Êrˆ[ª2á>?®«?ê «¸Ð,sôN ›¯¯9ß—©Lñ 3v…ÜríÄÁ’—ã_üš*8ƒ‡ï#˜¸ì!6"j×SŸÔàžšÐyÙ¦À½\³±9aŸ2ÇB\À “í¯€zÀî49ãt”< ö‰¬îw¦i OE¢W‡ /|¶Y®¦8D$8ÿ™*­=p¼·ê(™Ü5T¼BSße:QŽ=ü+¨¶;–4/³z$G÷Ó÷§äÿäƒ ØX÷½ :åEÑM‰—I9λΟpM–Ð!N¡Ý¬†ïÛ+ds 5C…´E•¦æµ6ž•ÈúKŸÒÏEb‡C.Â2³cº;ÄÌÐwÞ †a&Lˆùç®Â_ëXX}pŒh,Ìbíßäßàø½5ëŸì)i’%wÆ•PŸ¶ä!CÀ)¸è…pOùµùlžE@®M4Ѫ縥(“Ÿ³™wíª¶cçF£šáÝ–TÚ‰"°Ì†1öyø¶¯£³¤š¶=•D.]Ë&ñÓZ6&pƒ¤Sõ7¤ H†_=IT©Åˆ€Ç‚®†©¾O<1Aª`‘Úïþ޳Qû˜Û5f]¸6IåeQ_Ç„ñæ¬Ï´ Åej)No ÈZfÚA)ÈÁF0œu“ †8 Oo)kâÊ–€vÚŒ+©wÛѦO“—¿ØÅç}ù ü$lx ¥tËòüӟ÷*hÑ4%ZX2€ÇÄ»7ºx¦Ó±!†hƒ`Ïþog¹»ÿõ̪ä…|›EæÉ;Óê"2Í à)­9 Øó«AÑvI¦ë$nmhµ'´B^#‰ãt•ŽÕŽˆk¼'Mjň¨ã>&©f§­;Ô<À ûQÝ‘ùæÒòÙtdé_Öê5Ë¥Á´²ÇØzûØÇh˜ž)áÝd@Fíþ]侉ޛeìéZîq¹Ìt_akã“þe¡©™mòðg¦ÏiLµ– vðÔú§+ ZvT¾½#JãLbpè–˜"öÑvYBþMÜøxNØÓ4 H«»Èõm(,”hÌöRÌië£{c,ÛQÑâŸá×’RnÜ{Å#êÒ]•ˆ€À Îd&"{^ÓbMº?„>³68O WÎ,i–ˆl)­2‡ê%«ü[Lô>B‡%£Íò ¤ýØ]éR½›¢m2£ÿncµÛrÀºFî{ZÞ Û HÇîë¿7ËP3tÛÙ\+4Ó·ìnë ¦­_{ãÛÖ0ž- „u5õ ®Ç 5P¢ªŠÑÁx£ÁPŸ4Ï”ÃvÊJkFeû(g‡‘IðÈÎ6%"c ‰ô¾#ü$`7<Ÿ%-ö¯•ƒwÌ—»ƒ}<§>‹jBlÈaÆCý¼†iÎ=Zìƒ :r”½gë¿J@ç˜Wë°d%ÐC ­Ü€h›–›·á„ˆ>u„Cg$æfQ5Ýaذý¿äv]Á $€)iWrØÃWÏ'-bBS  ¥CÆùú™;í"hlÑcü—žã2®:•`AÓÐBågÈ®æX)kb„z¢bÏ''©Vkƒ´WBµüVvF#MÃõ1*ù8h%'|7<Þ×^µ±Ž) ê“TŠ– €RÀ1ÐÁhòùë“Ã…þÝ¥ ì¤sþÈ©Ê~­•é4D-Ù·_Vµ8pþ–%JtÞ¬ó> £P‚ó'»N,\îBW¥¯… &Œªðj¾]^±6¾ýæ°o¾xnæÙÈjǵÌå8ƒ„Nüó&V¿>¹¾‚šSàIP@›F¯3Ø‚=â J êi„ŒMÚÑÓ =e´´¦‰­P·dÞÓÇ ‰ éïŠô¦”`xªÉ[7 wœYÝ]hœI†'÷ÕuÐŒ©ÂÄáÔk®ã|´:ðM Lœ×‚€Öa·Œé<Å•^ IÖš¸»Ç'ê>[äGLÔÀÞ2ìÕ«Äfç§r”yIe€ ÜÛØœ×üZ÷d¨Á¿¡¶u¹N¾Ç)-ì¿ÿj,@kWÔHêݦ1䜰¶µwù’9ðAν*<›ó/É‚h½~ðyt#)é¾ Ç¨÷DÏè @œŠ4ÙÏ­ó*Þšþë¤KŒêf8yöPZü3µ!, çzK*[öÆ_Øw£¼<$ŽÉÒùÐbIˆŸbNù9ÆFI+¦Æn¡ Š…¹`#ˆîÚ!šì˜éÝèßÑo|´–EÓ”­þÍ 9cÌæŒËÌ9.éx7Ôð_ïœÀÃÍën÷r‡ÍΜçö‹S¡gþ²oˆRl—Ô~›ejĪ‘ˆ™–×öãø%s[½î´[# 7@ÇgBò©¿qÜÄšöu»¢ß>·ZWeFMÏN]´ˆk!±jz_¼Œê‡‘äK) ëÒ”æìÿ8äjA3Š}b•‚¼vb‡bQí?“^Ä Ê’™ _ÄŠ1Y£)ñ}Þ–$›Eõu)ô¼;èŒÁšè¶³ç‡ÊZá¹xs.;ýkp:§áàã•{xáEîªèèúÏ‹DÐÅý܆+óˉC4•ðñœÜÉ(M*ÓâÈLÉF‰ì’M}¡Új´íeÅ®1èê¨ô0öø'ë$ÊõÌ>5¾D³JÑ Û´2“¬&Lp&¢Ã,>z'ÿæ4¿ 'HÿtÔIù9ÍùééL}ø’O;G—k\OY <Ý…÷j¼ÄY޼Á…÷h\v•‡Þ{0ú=Ø&ªÇ1KŸ4 zÖ¡GÛ’ªõÞ)Ñ8€¨HZR_Ùî‡í§!0|x ªW¿¤cˆT©ªdñDçgÁxÁ×ÎÆ’?·@n±«bÀŒ·.ò.Qk­ß›¶ØUÈ09PÁÛÈ„ žƒdì1Án27Ρ o¼?œŒBrï<ÚÒܬ)‚•Áþš»C4 ¿bànîJì´˜H ó ¢±4’¯ŠüÇ"ían˜‰Ûf3Þ|ßpÖŸ mTܛԛ¾7]M/2^f¡6ï±H|˜íhòj0`eÌÕV9%Péž.s®`/˜a=¬³°f“UN!ž(í-ž:@Ç9ÑV»¯±HɾÖçFT8õoKÔì¿ßLYhö` ̺OÛ×Ë*s€öWQÃwfsƒßÔ´£N0„`Æ¡qñ˯%P»b€$±Úÿ…+TïN/³¶]ÃÖ|ç–aäýðf«‘8€ÄW‰‹š®*¬³-"G%\ô?ì‹Ãf7„-l"s[“:´ö¿_|*³ILÕ/þJíáöÉÃ’xJzfû&ù¿öò¡z†Ñeé {(×*­éÇ£&ì.îx![šÔ„tj@_¡›@SÎîվę†ªªä^¾îq ñôz‹øC+vÈü¨ÈÇ“V§H2¤U±ŸïžTl–{7L+¥øuãé•¢+˜‚´¸?TiRÑPc¿&Ìàwÿ´Æ!¡¾]ä UÁ]ðQvÃÊ‚YB=ISÖŽWx(CY\NÛè/½NÒgÎqcmÙòþÄ’'Q ™x̰£X}P56OÍ 4¨á¼Ò'OËï)ß¼Ú#ÀXvE¿7 £–~^Cö%ë29{v ¨Ûù”ªVèÛö ÊÂÔ¼³ ý«>ŽÇ|K=©q ]¿'•õ$fÅQµ`FXáÈ(|.ùl®¦¸pduaf~€õxqÌP²6jJýÉF«jwxú²´m @åÃì_øá’Ò»$ò“·[TÛ_†™"Ý&•ÙOS®”CFÚçäq·SÎ×@°8†D–b™W‰>¤ØBâöT3©<ò¨9>»ºÚ©ù¤FëÂÍä-H¦vä:¹˜Ðy‚)Ø?4Z¬Çt‚2Ç{€™§ Ÿßúfx}K ª™É¥Iuœ¿‹ÖjŽú¢RàíT´½`J8ú²2Î"Ög…§b­éB+Ðíq•Û rUP_±n<«Ú·‘XìÞÔêÚ1ô`ü"*)riZ²ãí7ûð¸­;ûҼ빙"»ê È"MÊ•A„Ìt9T[«. Ží¦«¿³¦Ÿ«Ó(:o³¬ÝY[Ñù[,œq¾‰™·¡‘Ø[ΗNåó _~ hmƺ²0>¬;}±ÙØóï©ÞAEŒÁíA^(ålÔG¦×ðJ<­›a½ Ï/†Z;G@Ê´¾ÝO²tÓ£Nµ*è¦ÒS©vJƒ€«ŸÞ( aˇµªâ^Ô­1c“{_¡«Æv5y‚Vyi¯¼¬%­é‰¶±Ö•ÿ_̼¾ÄæñÝ“J5´cÆTˆÛšl¶4»Ý½d $¨TŒÒF=Ué>»=‰Ð˃) +ßžßÉPïâ¾ )†UÔ{_œØQÁREÅÎÁ¶—Tí´-ˆÅJÏÍϾ¾é“yí2…_&FV¤v¦)UÞÂn%Wøq¡hbÒ  "¿Pd2Á€µó!ü Æ×=íˆn,O.UüŒšÇ½ê²R¸£Pw±¡ ñ¤ÌƒgÈú®0G%ZÊì¡Ö¢t ü£w¨ïúÝŽö[®µÉ·9NçêÙIkè©€ù ”fˆqVôH¨7ñaÙ O%PI;庸LršIáÖ¦ooXLÝtdÞB)°™‡ŸŠ_;Ã{gqUÖ1 fày¦ƒc=Œ´øóy}yß5aI±dŸc€™á¿³…—ΚaU©8§ŸSŽe´²1™þÙÊe:²!¼‹<óÆÑ=ËÄÿUœ¢‚öžË¹—š-ÜÏj~ÆT™æ†€Úˆ|þùùJ9O’é¹+®ªü-OœuûŒÝŽrØPÅ8êæÃY‚Ê=äb7cNƒ!Vú¯’’qÿHÔÊq’Lù_.RòÂ?û#§fþË#ÙÓ¯û´¶A,.°ýrø~ú{‚ϜiÌ©xÖÄJ_Y™KÉYZ‡nÒß«ÜÖc6¹ÒºÙFÙàJÂ?D N½áÖþÃ/høƒÜkËX[QüñÔ4—™ß‘hï¥Ý^øÍþöIÀŠr"bÒ=#@¡šç T AmîòA¨µU{!‘I•2¶©øï%I0y¦6'QŒEQ FªÈé,!/èh`ƒNVl×åWõ Ó`á&SÈß[îa>‹W$gþƒ±Ü ôy ƒQÉZ"­bžrœÏ›`Öœ˸€y's®*H)¬`]Ô#ñGW˜t¿/Rj:îµ½ál“ïÖ·Âø¹¼{¿J§fëù(¨iãøÊ¡îq¢û¤,š!äˆiPüù»S£$CÈ_,ús¹|=þÎÚë[Ѫoo¬3ÊðãWà{VTpBSµ¦€…á-•ºW_-rŠ.În:Œ[<‘üÑJnýmííÞ›"ö?Ú>ti‹N´Wëï!Oèx…OjQ•”ÉLöl´GxGä«a£µ¬îæ&½ÚfLþ~îÝ+û»äK3DÅØ¡^ž‘&ÓD¥ŸªâÊ#¸ß!8NŒJR½~³eÛjBQ½$_+€ Mô®„wS»XÛU†'âT ?ŒãODW™ìEŒ?;”*(ƒóSB .YPƒ“(©o %½;̲Y—6äÏòù±nîuÖ}©…Õë@Á|öºg÷-WáüÊU@Á¨g½)G,3q_¡Y‚&)&À/Õw‡R%¬F cG!²lH[ÎßV¯´+ZËOÜ'Å:Æ¢§r<‰Ô!CýrjÛo|&0ù«š©ÌMÝ[mFÌ6ŸíŠÎ3ïàL„ÝàÒ7Ÿ´áÃZ\QÞÅO`³ j“çP~s.DöM~ßìeTÝyÁJIeýL¬ìub§ÝFà€*²¹UÍ­X½çQ°fI?á¥k(a'û…‰Çß hV_-2t¤]bèv¥±üØÈÈQ‚;VË…µõ.3ˆhîæÄ BSo[0G|¯hÿ!:Ȧ‰ç 6H±w¬uÖ\N#í¸X5ä§‹¬åDÓ—RÑMVÆÔH˜ @¶j˜­_bÆùI¹âDuÎ?ûüw¥UÀà µµ“9,ï¤bÉÚË6ÜZQÈ$G»õ½WïŽ&‰Mb²­55À8*oÅS‹ÑPbIþÇÔÊv¸ ügßú°É§+Éó@¢¿!‚ŸÓ lÔ§beÍcšqjƒ]Ch³øT¯6–ܦ×ÔW£ÿF—|ë„NíÆôH ›À™¹½M¤¢'Ê,eWÚ ªÜÝXº‰æÃ¬²1Á_¹$ékœ““Ñê‹„Ý«9|„^ƒ…Rvm «ÙæRYEFȶXr|¨1yùO¦šˆ—É~L3M•¾"Ê{7²Çg[Eêf×K$™/¯“ÄIqduê ÌCé‘"êMyÐ'q0aAðÂÚÚ_y/4j6S˜ñ6<ë1öôûØó qû…ªú‹/JA¿þ‹ŠÚE—ÇòQ8¿Å•м-­um„ñððX¦RB#I/rs*U‰§ÕÔÓ…qŽ%p%…KÅÔ¸â~Øn«aÈS¾/ ׋Õ¯œU†íÎFÖ9©¥LšYúA||ƒ@!°Ë˜,K%¯aGîT/$yv[.…Ð=+pPeÎø÷GâSPz) !IgÂ`ƒU±‚<Ý¡ÙLÆŠ|íüãÿŒØo§A9ÓkаëËÒMƒùþOKÆ$=‰Ý…o‚ œ!¿*`ðuh"¨Çè~íê­;þRG‘¿üi¬gPú<®7 ŸÙÄ“èÌ-l|¸I„W*ŽL¿ˆÓf?–ÞņVÛtD~áÑá"çñóÿ™æ&ëà»ïG¥Àí凜nÜm`sI%† ë »^Ê"yºÂOæ•ý¾Š&^Ë_ˆôÅû™³E±ÝáŽ&¬hßÙU%+ñxœ3Yá‘ÚÀôÆ{PB°e¥V RÍ€qÄü¨¬Ð§¬Ï‡”!%¶–¦‹Ñv4è¹ë ÚÇNCÊåݳ}4=žéà#{Ô-O(ò|ÑmDÜö¯\bƒ#©—H!E!l£ÕDÏP5½ëà÷<ïr"NKú ç‘ÈTx H×t þûeg{Ð:­±éµ#Yü.Úsìèžê„¾Ì0â(¹ ê1ç3Mvª6¡Á©7”ÝÃŽFæ\ö$7&É9 PdÑ2%7° ûº›«±›$^Yͬ»Rè³2®Y]µØBJï¢/;˜V³·Î» ­ B|cÖ\R•G®m¤(hŸ£U÷eG0Ëš63§ÇL8dhΡ_x¶;Ðv+Â)3ÇîŸòe6y³«¤¼ÓXÖù›Û—ë1 ŸïòϹí0õCÁmM äòe¼œRé_í‰ê*4írQ[3Q¤ŽN° Ü̯dEp/?ú•ªàìrpžú(²y"'ÂJг‰jÚ ö¹®Ò‹ÅJ)‘šFÄÔò4Âvóãêi1á ¹¥=„*‘‹ À,Õì.Q¨b^Õ»9³_¶” *ZØ/>iEÿuàX"ú¡¹¨ ·ö€vL‹'Ž¿ésO·’èXw?ªŠdĹ Ú4“Ù¢äb¯— ¯‡0£ž…RÕ Sí{9•>¨;eÔü(–X)5‚’±J—X¤Éáöí¨€àÓš÷‡Âÿ2Yä»ñÌ Éu|jwt ò0áߪ.W¶Xaúf¸x CÝË‘wÖäƒD1^Ñÿœ",–à}±ð¶I#ù CÊ’: (EV™Ab¿–¢«–~‚Šiµæñ³2"B—½ ÈsòMR„؃pÄEOÄY+K®…Id4°›Jmãc'K¡iñ—-°îú™#Ü(P< îTÍóÝ„ªyÄɨ “Eœ{|MÝ»R÷𥄤‚»¬ÿ‘A¨ ž"AÛ©ÍïòÒûû0½ìy-yq…5ɚ̌´ù8Önƒ[ëµùSȵÄãâf`NÞ ~e™gX'â#\HP¾ÄmsÚFÁ:ÅK¡AÇãÉc¨÷8I[¼†Å¶ã6ízÕU¶©ñy 5µ˜´÷ÿ0zNC9E|‘% :þ΂FYêùr¥Õùjj÷ø®ìøS˜æÝÃÂ…Úñ‰Û{ ™œÏךm?tøÕóïA0-h‘¡Ëdïñéþ¿š¨zÊåíX°êhûä:~ãÔZ}îð³ð¥J‡jgSì›LåßÈ#7äh[¯Ø?èÉ‘H!G²cÀŒ‰hTžËðaƒ/î½ùuš5»FêõORW¿Pï²;W KÞ‰÷Ye{@&Î`:"ßPþ¯Ò‹Ùà‹€N?_Z0+®(t{ ÑÝ/}_¯_è"zÿ¦ª¶;9£‹re§ª„ÕœíAh`A¿ •D'KÉ–õâð\ùÙ‡ø'Åü¡Ç…³­IC¹)N&ý£¼ ÆÍCÚÓkJ~x‰Cd¦µ‘—×ݧºÖAɨ¥69Ÿ¥“}èMlÁÑQÈ\JÂ='²€Î°ÁÃP'[ôìÓòÊ}þiâ­½–Líìlá1¥Ö³Æœ÷»"׿åÄG ¦ôÎÀâBX<‰Š¹‹©Ûðà|(ðòQD·¢]–3^©àÀ¡dÚxŸôÐs’KZÆ`¤ŸÁ²\+ÁÁ™ˆ*@qžþ×Ûü.»Bq²!ñ|¹þ.sÎ=%pPXÑS>)nšÇ>ï¦0g1Œ;>ò¯‹bº°—‰#Ó  ‚É÷&Ö¨£+ÊŠ:šhKy~ÍÅl³¯{qʪRÈGÜ⬤ËV7B ~RK/ˆfxÿêýs¯!%Åxzô0´eÎ ‚$0:Y®Ç† Â÷’93ÐeQsöœøûÆµŠ“~{_¸ÓT¯ö …ÃÀíö«¢ªÙé¢t{˜-3ýä|D/¼’ ,ø%¼¡‘âbÜ O2×l®~‘^º4¹{¢›ÚÐ)^ŠubA‘ÛÈW ëøÿH?u\Ðø.hjÆþÆnpnayG’ +¬Q…<-ßð6œŽó`å¾r{XøNDkDÅvÔFZÛ£3…ˆº”³'†z·BP™ôç,T~ô>D¥ÅãÖÐÖø›` “F7ë!î`ô!É ž*få™U]WkIJ²FfÝpHoàèx c$°K”g¹¼µÓ!i ¡˜®¢Àî±o 0Çlö®)À+ûŸ½2¶q4SÂ9“9l•bl…K£osuå¦äùÞdÁÅðŒÌÍu<ÂÍfC8£øHÁ+Hmº¤¡›cg™H3h¡À :!˜ºÛó&n×9åS… óNêgð;B€ùÒ™·óÕÍ!ÿQ¦:„ó40/–׿ kù]7aÓÓ-¶î×'iš|¡ †ÕñÚ+pϳbtÞŒz$,Pÿ‰™ sœ„Ö„×}È;fʘNX¿!ªGq0÷Gk¤Âj²¡W¥Þ`„ >NÅ<”.Ãü<þO°‰'ðÜÈ·%;U¸Ev¡ñMµ —áœ3c@?žÿ 0¥¸€ó¿ þÒš†Jè2ÏÔèÓ­kä*/2*qλ>µÏVa´ìûÓŸ(t#–ÖºÁ8C¼ç-Ï>…#o^ç@ý‚[€¿5½²Ü—R»ÛïàÃ…Úí¶Ÿ.BÖ}â¥_„@ŽÎRš€¶Ì]A…ÅüÚ¢×  è=s¬beˆ'¹a¼Ú —Ÿð|×Y›ò̾¹B™™ÞA ïë÷߸=,;‘ \™[‰éÿLy"å+÷Ú—^ .§.‰À¾T—ß{‡¾<É|-ˆHáMàòúÅc,|ü¦6¨ÿy¾™Dþ²Ó˜±Õë}Øm1‡P|ÎYü®Výý;ô åj:';É Õ6’v×ö eàJ@ ×Ô'o±µAROîòÍŒÎ`y:eÙÎ\µ1ó'‰Z™å— £Õåíhz wù*<¤`|þKo³Wg÷+¢b¶ íÕfÇ)kùä!?¡T&,(ZÝ¡Êèå£v>¥£7ì7I¯­»TË;rà3Ð’_ *VöÕ×t%Þ–ÎuI4fÀÙlGP¨tþrp»†µÈåÉb"¦·¨þˆL׆#Œ1çúÊJ%®u™úEÉý<Öd°'áQW8¬(lûÐÿ¡fÔW² +„?Ãô66•â$t Õ'+DµüɹJst½<¶i³¨€`霉N'Yê–ýŠ»›óžíÚ—vyÿáTÛ&Nƒòâb,öަòZ«Ø´õ~µç.Äúæ“'Ä+3¶è›ÄÄ“\Jê4¬óð;žbfp[—ß1BPF‰ :z‡ÔÃæ ÝÄJýö¢¤6}Èd…]ªÎV>ú!Í×4T¢˜˜ÏX&½ògÁT¦‹jè”QZW®{&þ=@êEC.ÿFhÇèòJõGÅp%íÆëI:°3úúA:JúO$CC¹éã#Tzi¢1âBW1œJ[=\¸ï!¿@žOtçûÅPó7(ÏçšAw1¡4òÉ‹Äö=..Óynacßp¨ÓÑ3'Ú.ïJà/ ,6 ˧¾&dµ8Ý}A”`$´+Oß‚.Õ|3«m­ŠÏç´·"²H.Pš¿€ŒÍØÄÒa\I”5Ÿ{¯Š40ø€œÛÆ. œKÌï6VøH¿ÞœÕ¼ƒ‹jfU‰vùvë¬KO¾°[xWûÐi¢,ßiȦGš³01”Ô'ýqÖH§{ëî4ôi ¢ëï#Ž,ÂÅ@-'¬F2éñ=bÕ=`œ³¤Í™»Ueý)Ù¦ý´8— ¿†Pƒ"œ W¶2$·Ý[¯¡©•p(ân\ƽNM<Ô`$¦pj{LL‰•=…²B5:ÄN“‡¬² Rø6ˆ}ŒñØD†dRÄnì w?†úë`H›£ÌËTQ/µ…U1ï[¯†Ì«5ÿå|VŒeý€w FÙÍn§cÜw[%_ô“‘Dät×ʾ¢¡HpEM–Õ_Æô›Ìݲ _ˆ áŠF¤·V Ä®ÚÌ¿»4G—O&çu<½,Nqýlà§I ¬~^Kž¼B}¼Äö4ù¸«,äæøå:vˆR*꤇Ôä#ˆ˜ÒêÚáܨ¥c½Ÿ †¦¶H¿l È2±¼ÚÄA®ä—“5ä ºö°8ovÏqÖö¾~Ì rt²ÂÎ쬲iн4v=‰3lÍ‚«Ð²ÒæƒËwæt‘¹w¦ÈÖƒ¹2þ&²<ýs¼ên­Q©¯‘°ØW Fh>t§NrÙ-~úÇý3é‘B-D“@¦_bÑ}ÆT·^žqL1¦¾Ð<âÌûn±Ùÿ„]„ ™Ê§b…–öiß Nk<ëo6gÔ}lDÊnéóÛ2bUÒ2>?Tˆ},¶o$%H'Ÿ0å‡$‹B’®@: tÑÔµÑ8‹R韷´ØÇ¤Ý3äL[Z²›¡å g…à¶Æé…¤YØTÞŸ j7ã“ä¨g†ÓI¨É2²Îòf4dü ¼I/ÎUÀÇדÓ;ô=\É…ß­ä‰6Ô<Û¼áL‹1@³JI˜˜ “Ã3I‚ú6 ¤Ë÷,eýñ~¿ó}#+õ½yn.£P/\+œ‡rM¿¥—hõ‚fö€Go <|ã n¶bp¼åÜ¡¼ZùÁï)XÐÿXÊ7K“ÃÀòº çX ò¶Ãn2&”=É4±àYÝphS†C¼SgTY]Å_ãd›4ë-%õßTz•¶å]Ú˶0xx”¤ÆÕësöј9/dâŒúÇ\§ûµ.¸š€±Ô°!:_ZùÀØ=´›Bâëå˲[ ‹"¸nÂp™ ûQÆ!}fú´9yÍ Tµ@x1ÿ'=)¡Â´¸Á¢rº0g­8÷/ïİޡßñ`Û8ÜIN&ï×´‘»rG¹G‘&~ïê&ì8À ²ëœoŠ1F^WR;¾MyòÔh~X»Ð C;^M™;='ìË€óg˜¹Ò­ù‰<Ó¥¡²éŽØaË‹ŠF2¹¸©Œ ¤ê«Š·¸˜|*êGÇr;kHü~}ï’‰½rƒ™£`Û-Ü;_ùÃ<~qpdË)’úa%ù ¹xù<ƨæ¡Ó©Ù{ðo(Ô~ÚË{VC,aöÊ*oÝJË)§ Ñ‚/WÐEU*¨"¢écªh¤LÐߘjnW 1îTn[܃E­LÅ«) „µ8à $'gy©þ?öêè…–¹\SÞ¥C‘#¹Wog¢"êžJ£‹úñÿ;銈%€õ›é-vãv_{_¸]6?PÅù31ÝCP{®òkiÅï/!Ñ—ÚïÕ^šÅœ T<¶Ji_ `` ~üÍËÕá»ôrdÖ[€üþTE“kI/ÄZ¾eù€¢³ì+ >ŹƒŒò6pPPùç!ÚÒMI\Š·…€Žm¾„™jèOVð´ô‡j"R_÷ä ÔQZ]@Õ8ËâÑñ#k넌u{z®›8mЈ–vMŽ*ÛÝïÒ§¼äa€×QzðØO*@®âQ–~Tu#"Éi’œTµ½ÕOddÆ?•OMCe«A˜<àxŒ0÷EßEÑhç£$·pQðÍ=u\?#Oçü±½:"fÔ w…l—¡|¨ó÷SØ)7£Ñ>¦ÝçÀ ƒ‘ö*ýjöw«WŸå.ÞiÉ‹oˆT0¢#>‡_Ü ÆÊxHyÔò›‘Íä ¢g7ØHuˆí;ÏCgldŒ¥×n$Iè)¢×¸%h×›Ÿ»Æ²¥@ÖÂîõnÅ_ Ù×IàûUÞ#íÝÐ  mÂ*ë K"Îò×’ÜìÒô`ã™{xšœ-ÁÉ0|Xû Å÷/Y÷°2£½dNbÁ`ý zÄÐH8E¢ÒæWZbJª/n»×Ø­ \â½ÕT³B±6"Èú±®¦ÊŽß÷€ŽE"‘0è%cG@žÐww ¬./;Fá*oÐÈè\?í?²‘QZn´'\…êú£ûȾ»Æ{p!hS³Ÿ­|âî1,8N$%$Sî\³ž´õš6gõhõGN[ c¡ï;ûG ÉfnYßáõµØ PÁül_­vXøÔOyäþ‘Ûl6g3ë¦|XWÁ—Fq4æ:Oš2ëÿ,½N’X'Ÿª³ºÓàÇ ë20†ðôˆ—Šßžd?;ÂgÑqÂq]|Fá-…Í•¢hŠ®ˆk×Þ~9K¯à^P—ÉD§ŸôœÙøÁxP M…Ó˜î‘#Ÿa±âù÷ÜŒ»d>nNÝæeB¤ìyjïoæ Ê¾½ôJš,áß¼×ÉÆðÑiè-ÅH®£Œ5ëß-iýî%V:LŽX·%2M!ó–ÊÓÑJÏpc}›â*´¡ ÍÒ„ëÃ"ñzÏóîý}dwX ðþ™ºÀ;•m…¨©UÈýv‰ˆ “›˜h¥GëÍM±ÊÍÚÊLÕRP ±Èj$#êá™ ybj±Ì¸ºS  .äÂ]«µf|–±À;ÇüjÔô–Œ‘†6"&ôøÑÄ&m]ø}MYg{Yj}ÜüTrƒ™¤cšA­$•'‘.bwï½+ÔhÂ5O·ŒÑ”Lú¢=ÐÚ½tÚÅ RT]! ϲhɸ. @ÏÔ\Tì½2d«<í3Õ²s*°kc@žY©Qî€Kâ(Iu„À˜œCš¯+Ü@¡AµV5°Ÿ¸4Kˆ%[g‡•ø[¡gra+¨á?÷jåj›¡¦¼½~]Ý÷ÃÙ]C‰CåVëê “Ï$ Ôš /†>Àlí»&:¿À ·ÎÛ{å8è›ô›Pn·*^E)²ž­ æü¥kTøwD‘D‹ß޳[RìÏ@*jªèZ}hT:šð¨õb”½”È`¯£!¦!”º}%$”yÒV.-ðfc1Ö*²Þ;¸Î¼¡á«D ¤çéOˆßê ¶äûŸWÆqX}zè<ìúgFçÔ7Ý\(1ÃO<]D…(ÔÕH;¬k'%*©ÊÏ•ú´@#[À†¦ì½Køµ°<ÊZáIÀlÓÀ2®Þ†ÒO³÷¡Š¦g½B¦ëA•b_wØ€4‚Ö…›X)õ°xƒ±kÓ?äúLÇÄ~ìG“µ ý–Å,Ö¨rõâ©\ÔSàkøç¥ò±§_gETƒùâaôÊ¡Þ#]Õo®¯×!Ͳч“çŠwã€Ú³yAf櫹aµ¥rõ¬‘Ga²î˜Å<Ý ;j‘=!ø¤þED|e)G€k›kðF5©LK’È$M0]4À\ŸÕ+1”1 ¶^ÑõÃN׿ŸÅõ6-˜ÏÒ €ö£É‰ÐŠï´ÅGŠ÷iöºbÆðx(LùÞáêt”{°6^dOÜPZBž„YáŠ7žvlHS¥Tý¢Q‘ŠL#¦ §c³LôÐã‹GÄ«œ¥ÆzuŠoÓÆŸ â„É%D§ùÝ±ê‹ [H`-þqû«p@DN“¨GèÆ¤?—Ë]àÍó\[3%(ä8³¿¡žLNU^.Ùš_ÌŽ]Ÿ©õj¯»Äµ¾‘Ø:H4:–ŽðìŽ×>Ø¿Eœ½Ps©±’[I:Õ¨Ù 2€Ž¶jÎRá ¿à]ôq¯H4 Å,{mí¿2FTÐ~¯9ÍŸS$¦7 Äö;°e˜–€L¨¬KÜÆòÒêÍ(áç-0 ¶‡cÕ¢;IM.Kà-Wìp•í>Ó€Ñéµu†Ï,eä?ƒ=(¤†Ê|›TÆœ49p¬1õ&W‘ B…4bÙÎAiØ´D͢ɓô|Å­oº[í[yWvÄjÁ¬#ÖbbÇÒ!B鬖“yH[»ÁÙ“Oñ£í@ô¿”+òüØ/á%ÿKö³rÔ ‡ÿÀ©<`Ï7bJH®[™1ýFÍIUåS®ïVÃ-pi¥a*cC‚8¡Yº½ô–pð\°²7“W-`¸ò°?Î Í­Ú«íÖ¯½õ;|ˆ‘>PÀ¬všÆ|"²oa©W™ ÊÍ\VÌg £oAïÑÌÈdëXÔ° ø *‚›„i0ËÃò¦Ý;,è2†1t¨“ çxKÀY'‰(nÿ RŒN5ÖjôìŸÒú»7òÐæòÇþ“‰€–-[™˜â8YÓÎm¤¥6*Éà.8±^â¨úòì¼äª´‘:—­¬Žˆ™·Dˆz„Ö"÷¹r2 ‘7¦dÛ? <­ÁýÀW¿ÿíÜí<ÇXD—ð†¡Ók:n,Kˆ²±¨¼@CsØŒŠw†ê¬˜t€lX/‡šÒ·ø(¡š|f⊡ñÇ ÇØw áYÂS÷2çÀ-˜ÔšîÙMj8ÊŒDmL¼ö?øç‹zÖT¼ÊG*zrŒ¼L+ §¡L”Œ·’¯ZÙ爮Œ;e¶¡]x$f°é ¬y¥>Z"ó–εÁIüê>·U˜ùËýsÊ”§÷Üstì>ÇCººì2,dayÑ7T"od%¿t5q¦”’¢^æ íºA1tîµz[ûÏXdr*‰¼<=¯ÀÛ±V ”;†s q<:õÝñ¯’_‚'à¼Ürt=ÉY"•"¯¯TÆÙè´€Âr©àyß)ˆKÎÌšgp«PTsgÁ€¥Ïž†]zØQbÙÎŒõ){~¹ÿ’  Ø5©«B‡M »cÖÅ3Êý¸7æê¦ëûhØ ±SyîÇm¬ ‚¡E”wxeú›‚á8;ý·Q]Âê¤oÔ1Ei˜íEVá«DyÑŸf£Þ81ËàQnqÙrorGÒbãx ]“Ö²ÿÃS–8ù8‘Àêj´8 Iùݘ|õÇ‹°¾êäͦk© @3¾^ p4ê¼þ…¶$Ñ\EÁöR-9×vr¿fsÈ ]M¡ÍT:ã÷t½Èy_-Œ}óKÁÙc+áºÿ£„îBÍN½ÔCïñõ+ø¨ h|CO²9´ Ùߨ7ᦊ=_¿(\,vÑ)ØCQ"‹UËáC‚ÔÒÜ×Ò" žÏDª½9%m·Áá2š-Swƒ.d¸É›¤[¤iئv‹ýh¯i1T:AIˆÜ¡’D«ˆ")ï¡ñ¯bùÈéú(ð°Ì}á,’Út•W£/Ð2¯Â–ó-&nkm8ùI… ÖpºÁ_.d*`LëàöÑcûc¨>í²ËûÚbDnÏ߂˰Çsòá&«‰PHî;ñÐܹ(¤Tº>½¬,þØÅb:¶¯<{?‘á•~œ‘£Ê´pËä¥*~ÿäî4ȯëT=9/«”øŸ¯M¾*œL4S2=§[óµE9è´ªÔÿólDÀ,zýD§u—pŠ“ôF„+ XõëÉAwyPë#öWå7ÄäŽX>3’çRP¾üÎÁÞ3•Ÿ¢7B}Á·(ºøGUñ)”«…¸cŸ“Œb9HöH‹íšaÎu Kl—n­Î÷Î'¥DÛ41}Ò@ékZ1Þ4; Ÿ»3,—ËÔᓌe‹V>fGŬ‰e“%°Io)@I±p4ÏôéM™“`Ú çoŸ6½sNÀí$“—Š“Ó 6¸“ˆl›ÈZïx™Î¥?Š‚Ñ¾ÙU_‰ó¤~ÖèuÅë¤c¢J·˜ÇØëÑn¯¶œûe$üñeuá$Ç&juûdÏ[›¼ø<¡NõÎ|NÛX¿ J1\ÛpXsÐ766〠VÇH ¯6_±¶Û…™|mpùm] ‘P^m+øœ‹!p5[¨$Päÿd·€ÔžÖš %×"„m6†¯ÖÀŽÌ`q¶c|¥…ÿUîJ\ý9ßY"ö×å<ÂmÙÏ¢þÓ]\<'å_ÔÐJ,˜‚Ûú“ìy»~nçBóXüfÇϾc…•]R¯X¹Iû¡â#r“Ôdê£/,Ø2:ôÔ{ÅÏšx%ÄÁã…’gaã@-7-¢ï˜^áb¤G·VÉ^Ÿe9ÉBÊhRÚ×ÌšöWmB£pL°“røp£S•áÈÔ]åI?áÂ̤ž¾ôÝ.õÚrR®õrU½ÓNQt,Î_ÃÒ”Þ:],¯Çž<ŽæÔ1I_[´ èÊ›@ÁM êzY*ô¿D™a Í -Ör8_>;éåÝö˜ÉõnJ¿L;‹×ÄF«SnôzÑ•ùêcE)Žææ‰mEÅ…©²ØMnËÝ,EÚ¸%‡EJ±J… é Ïf~:±ïì_¢…ÄØV[¤ç`¡ö­ÑÜ<öyÅ£Zÿú9JþÃQ—ØNM×F©[úñþ ñµÞàSAÀq뢢ÂÓø¼àÐAÁœx0fV½°‹œ‚„5§9ÎßžÉfJÇ`ÏŒ÷aCÝ1GvžŒ‡0WkçéÓóè\d7máÆÕÜIàW@[õ&Èi65S|=vÙ½jýÉJ¾ÃÃæíÆÏìª=În'†?n¿ÇDßS×›æê°ŽÓƒ46µ½®`â5 lGÐ{FÔH©Iwh‚¯(à*jo\¯pÅn33²É]`SÊ]ƒΜ­Zýúüjf,íÃÓ$ßèfG|0<×½à]cÁ$.›ÁÊ2±µþ²6ÍH¸2Õ®OÖ3˜“VÝÉg28Ë妗§¿‡…¼€JˆækÝÄÒ&É:Ƨïïpº˜ÿé(H®ô¯Q‹àÕ±Ÿ2)åÍŽ"]™ÍpSE˜a&Ž$ÿ )3&äøq4²øèÎP6ï ’<¡Y-ã:´( ùT›ng‡„_\›Èì‹“†Œ?ðokÕÕƒò¸¬XRFÄ--Wë‘xtðÅžh4 ‚iYƒ‘k¬_$x¹Ét[YøòKtIÄTè³á_¿k÷µ¸ßÎ‹æ‰ =Ób‚B`ä;×7õ/>@ÎÈÎȃ}CgĤì¤ÎîDŽ $¾ÚH—à ñFÇ s}ãHþ•,¦”Râ^ª¹`0å9(„ |mGQÔ|&óirZ Kqˆ2‘–;1N<8ÍÔŠ3øÏiÃ5íŠâô3â¹v·êõgô$ä0+ØbÓÆ‡ E–@¿.•³ò_«/ÅèÄ–³¾l%Là†îtÕméè­7ê#DW)3Šf?ÚìnŒá°fÛk7Év)Ñ&KµQ ,P–¦dšR%ã„«‰e¬ Ó  ÉJÑ«ŒÊo¹åµô&¨àÙ“L;Ušv&ûÄBð;aÔ¢¢Hïè×Xÿ“ªï4ÞÔç#€%§Ü#Q'V‰&b[tÁö‡ýæê3A9@òµÎ –æJô L—Ê.mB¿¤&ˆ-# Aæ‚_IþUWF^©N QÖ4 ‚ŠÊMxÀð¾´šö* w%ÎJ5AdçUKÇzi-"¼„ù{ˆ†lÐ>×6ž‘>—ûñ÷Bšû2? ¡1\ÎÔ™ÅúCÕ Ü' R¢8ú™…U?wêÓøõúº‰êÎNi3˜2Á@~´A“w±úL¤ 2tuéd·\lZk§[K;·AÌîX$·ù¾×ƒ]¥4㖎嘰â•[¹™±jF¹R^ÙÆ±ÈÓÛEe6m¥ó_ß>áz1~ØÀ¿ÕŽŸ¥>—” {°¥&á”À,¬³ñE–;°¬#‚±`ä €c¼¿;]óÒ Ë˜ë‡wz,%7K79Ëiyx5 /qÞ´Z|›\7ש$mÑ%ž&Èì¨A[šGåæ…’@ò,ý*ªNô'Goç €Ö5ÐÃHºå0­^#uÀšÅùBªœBEmÉý w†Œ52ÙâI?T{x}ï ¤E[1ݸˆ"«·Õ±;Žû˜B‚7cø 4, Ë·ˆ{¨þÄ´®¥ QÆ.ÉyV&ëˆ}Ö¡õK€{aÀšº¡32i…•±ä[»¿gä^ùUWÇByheˆè&ª LÚ²LOþ,ŽZ‚Vü€ì¬$\3 E‘á£ìKãÒö‘#XblݼnïCñõ" ª¹3Úhó¢j[˜ÁÖŽª@דּSþ=<ñl¼~Ÿ„ëåÌ铃“ºSjÓRZÅÜ íikŒtþ1㬠8u‘ŸËÉìÂÁ~×­ýÞòT˜¥0+ÒôJdfL\ :?ÔÑ´ÁV_.®õKç~ë¿x}eç <ñnÑáŸÞo´áæšùÖ"Ãï³&g °›nJÉìvÒ¶² „v¯šPC„œQ 4ò¿öNv°«ùœ¥ëÁOѹá1gY­a·ßÿ£˜ —T3½õwq¶ï>PRúô¼G}ü¾AÖd,·J”Š ê ÇÞ8QKN kíÔ©à€ò»Âƒ3# 'ôÒ.dxÖãÑËT[GGfèB-^5º;Hû®îŠ#Cçv7vsý’X(ð„wJÚ¤Õ×§¡7¼,Íñk6þÕulzƒYã|>NQ×l2èlvÙëQ_6°`&À–ˆz(BÐ77ò6êoü‰tKý}] Ïôy!/¡SI»çrILk6Óø†c´ÙÑöÕ±#­ %–Àï:¦È­Bê»E+öÍÜX{?Îô·›­— $aâ0 7,¦³å‡ðáúnuû¸t1в¤ê—‡n‘7gÛ •ؽ¸§Î½/YVξeÒ`êÜŠª?EÈZv´Ìì·µ`@R‚î3^9µM·!˜ô]Ñe:'·‹…m,XŠÞn»+ѧ¨Cfx8\ÞXmy9c‹LƾEozÀþ€ÞÀ½Éý—*¯q‡§„d§A ËÔwÔ_‰Ö[?Ÿ3i±[õÞ§ ÙÈ$Cffá-v¾‘âNw­nwlÏqšáFpuNž¹ÎÓPªáš¡#Ô=ÂxÚâ¶×IcŒRÀ…2ÄŸLµÎrµK³¬±6YÆÁ ÂÙðV•ˆÚ²™âß=ÎÄpëDÿ à–wÞÔYüYPCë¬ê9î_"à4—-/Ḷø³!IóÜž x´‘4šbý‘â×äßv(Ê2ðßgÆÎ wZ¨gÒô¦þ\†“\ ±—†âBoûŸV~Ì=†ùxânŽni ˜Òlk’÷µ‹@_^EÊ¥Ýänœ…²SÖø\¸!‘òÞt}‡[l/mz£6y›Îº(.M~qæõ1a ïQ«ñEîXÖbÞIaƒ&¢FÿQ֡І±¦.‹.±<”Ûxm}Kê6Ø0Dµ,˜VKsITê-Jsˆ=\Vûß…T2ÑDZÌk«hSX K¢Ôëmds⽜,ëÎùV,§ZýŸºüçœÙ†J›¾Þ+™â-=£¯õ2rE´S¯Ê~Ý_~Þ$_RfÁß ú†Žë[$ý%ƒNx@TƒG°#¦!­ÃVbƒ>dÀÊbßQtf¯óê_èÏg”w[OLd¾dé„`Ì`ý°Ø@DŽüĉ܈Ç"´Üê×f'@窰·AÌÆâ‚ýSãx¼Äó1D%ŽùÛ5|Šœbc—3üGê7ýòMrSeõ‘š!Źøý>enaÈð°\¡-aÌ<`è͸ëé<×s&Þ~¤à¥¾ö!É"}¥L2c¯UÁ°“52¹Er0Þãl@‡Ö:%Oz!ÿîÿ®ý-qD­j¡Ln®¬ÄG{ÛÅ^U¹Qi…·yZäS®Ní½øš¸ž ­{†“ê±5MÈ˘ûußÑ:ÿî»â‡[^¼h¥6UëËÜм¡L°Tòà­@ÊÛTv÷þ'7q+Å)?Ð-µyé¦oñ¬þß ¶íñÚz6µr¿p™6|*+foÏC+EúšÔÛiW¢0ß6Ø:\èô]êh¥‘ô#ù‚ŒP/ŒŸMºXÚ.¢ž+eýd-¿ «$ ZÏuÑ«"­áïU3ü*mIÙ}:¯¼òb±¤HÅþ: ·Åï2¥ù8FÇgaSܺ*qcLªÅÐx)¿ øœ}> wí/ˆEÍ¡•Öå;‹>á Š59«dnÂ.¤ç޳¬º¿³Tù¡?ΠIÒÛì|VU ®æ"eî¼—¶Š*×/0˜%oyo/HMˆT) D–¦¬Eà4Ú«i†ýWÔyrùÇi¡Ø­'ºœîÞûȽEû;%zps¾ÓiK(´èÈ]Ö[ÉÆAÊ~:ô:$—·Üî0p¦U IKSÝy&ƒ„L®C– ¸sõBˆë‚2-}ó-eá±ôðÜš2úØÎÌEç›|Ø4ã, WÁ@\Ís.ÙXJ|Œ·9ÝÂI;YµÚÙA¥eÅ‘¹èâáÒ§è·Ûøéƒ÷¤M·‘|OJû² Ó4ýh¤ú¤M² úvÞ€>þJÅwïSôHþˆ ì2ÙÕV†lÙðï7õö˜« ")û¼Ôn·ˆ-¢ïËd§v¬ Î«zYÕ6òˆ=4zà¼×¥—[],夲åï†[ý[gÙåaƒPçö¿])ü{¡u|(É“ÃìI€r\vÉ÷+¶’ÌjŠJ†Ï$Koù Tñ‡¶Å»jLn¿J>èùГó„·(,cB'ÃGŽëHšD^¼´t}€öÚ«ê ”ü¢Äò Ô… —€À?p“¾¢jÊ 3(0’¤MkØÄš€ú'_¯9ÎXÔÀ3ÅÇé<´•B>¢úi.¥ýðZý¹ÚžäH ã'Ú+òøX-üø± ˶“[Ý´aP­­‚ú„ÛÐ)-£ØªÉ“5ix53(LÞì²Ø#Æx|zŽ7Æß_Ø_aSs xÕ·Í¥¯ðàç1ëh×lrÏ‹fŽÇ.æºoÍ\J«ÖØdˆbÑêfÓ-r|ÛmüM>#z!kʨ vØgIhHÞŪ, DZ™²ÕÒ+)Ó@< «vµšå•œË„­tu`ŠÑ.âkt€³ 8>²üêܬ„ñb^ G<>çÇ6m„ ©ÃÀ2+Xlv=˜‹ãá`£óY¥VÛGí|abç’UA¦šàÕ÷[Þr=‡(oÛ:á$‹Žd­jݲ¬Ïúñ=¤Vtà–æ¡Yâ>Îh½^ºA;ti@ü°oú±<èOo¤Put“Ï;3”o™½¶É‘¸´Ž4 ‹¨aâÌ4NŒÎK¯¼ì˜LT>ó»ñHn&*ø¹ˆí¤ ØIúk†¼9µ¢R‚¼©$•¦ 䈶W[·¤ÿE%'@Ïéžš.•kO`:é0ôf¦p(PQ;M qõ®Ø©mÁàßݽ‹BÞmNv0˜OnÔMëôxM Uˆb¾+>´Ð#Cõh!²sg˜-Ï)7XLÌ>¦!2àÓ”½´š¬PÏ7ÎgÔ¡yOÒÛUFéÿ‰T‹©Èݵ"ÎÊuù4gc]©>¸‡Fc@I ¼6bÜ"°b¤ W¿|“òl.o÷jÊ]ÔšùÒN§ÂòUóB:³˜>YéúÍ£x„ƒ$°6™|‹-+`8LGÙáZm4ðMö[Æ'çPN?s¨¬)nŠD_óÿûx¾*P^ús÷'4öHŶ„Ö-Zr0u”>š°‹’ÝÃÊ7ŠM¡êûý(ꩺ¹:xêꀤé-íG²Ùy}Öå·S-Mz]y§8d™úuR‚RÕΓH<,}-(JüIµVZ^Æ–j—}ÐíÐŒHÑ+ÒIùP ÖQ×ôÑ*lb m®²CØ®b´Ó 9/a}Ͻîˆ\¶_ 9* Ã5ÈåÂ(¥mâ}ðt=±Ÿoíè‹O…V¯Æ_06ß|íCkÃßR©NÅŸœ›†˜ú"Xå‘vÀãVG˜Jæ×uAÌñhg¢½îŠbª[£o£ùßT"~ýÈ •+ðNwb¿È÷Gó®ë,Á\ZA¯lУ?§ªo»YnxtÛ·vVµÙ%¡À° ÞˆúºÿAܪÔ+¨ ºW’¶hÖA¢ýã€û8,†‹Ž¤¯Í*Õ8Ÿ-´š5ÉÒ´TAxz4øS‚Ç¢€íöå]Þ¥¿ÃÄÈ’Z ͦñŽ6)vrñ2LþØgìÂøœÀêq £,ZŒ'Âb†³…³YáO`=ZQ”Q1¸?1š9;âh8DÄ;Ü_ŽGØ“Ø?€´½3ÁÕ &nþrè]j+Q^ƒ®kw^N.— F¯êrÃ÷›nâ:Áe:?í»|ÑÕ™Ð,8ü#¡t¼œ«ÿ?RµºxMÚ%¸üa0’7Ïîö>Xv>G@š„‰s{R€ªSê90ˆ§úC $nVÄs¡ß7‘üˆEìÃÆ¸ŽcÜjt(r׃‚ƒ›èFžk`ùéPà‹þ&¿òzïà‘/­QlÂÖÜ”C+%¬32v+×ãø¦ëg[Ë'OV²­YDPwë¦][ªf’{¬ €ÊæË L”1b„Ã9É´äD!@R·WT{ÐÆ," •w:*:H Wà ¿P ÎCòuÑvMÁ™ØâøÌÓId,7¥+chÜË@k$pØÃ€?2Þ¨²q¸S±j¸Îj‰àFÓ-&“¦Ê[™ ¸oÁÆn£÷#ÊpàxòL’+ðäéP n|"¶æä ÉÀQNY?MÊ|gµŽÇ3fXÛ_çØoòW(Á–eçÌ‚ã@i’ ùæLÀ0 #ž´ÍÀ€,¹“M,Ê´ÑO‚’­sAÌs×Ì›´B"Ç^É“æŒ} G …ÏT… ×ÜÍ«Ç&÷»  ¹ Q@ú ¬u—n¦´sÅì rsÖ1@Ö¢,HÖ±“Z¡â´ŠÅ9Hü'5Ÿ8PÊÉJ½=ÔãXÖu¿Ëør«yL¥I 2lb½!9Uâ bë.,¹Êü—²Ë`꯻ ¾&¤YwRÌ9Ïc¬¬<ý_çÏ~‚«%ŸæÜGösR9‹“ D[Äü€/y°ÀÕ{í¶fDû*tJŽ[‹c8¬;Aàf òÊZA ݘ약çÇ"<–ü»º8ã‘$iÎ -…©ò3‰¼I9o€3¿âˆÏ–eyž±¨[ƒ—‡Í_¹ê–A#¶¥{[\àìÇ3O;ÝM燖j¨y¡<ÖÜ¡x:б¡x]qˆ’ºx¾§'S«Ï3ŽŠŒÒ« + (ÓWÊìW‚u ÆÒõ)ÓÒׂ%ìg2`Œ€í2 ˜3ßÚ¾€Øã…ÛM¶Ï†Dëʱ#×Õú$ øG€s{¢ÜkEt¾%ï²+}N–g“†»¢cÿÝ£fvÀr®q”àÛî&ƒoy°Å0 !,²¾@”£IÌcœí)2[ò‹êÄP5åz+ö¹;¨¯>:tè½{vâ÷¾øS±=–á½­ÊàÞ>þU1¶êº e_;à à g[:m½J ÛâBô¸xPÂ_³;X0éW£%Ò[Â'åŒ]8ìÔ{1Ìe¶oð°Û—Ó«Wƒ8ÌÆ‹SË]AoóüVæv &fÃÌ^†n¢ÞUƒÔ»ÂpŠ [SK©üFɹµgfçsA¶£2·PåivNùµ”ü™Ø_1ÊœWAÌ„—’F³yIך„°ô¯}|xÙˆ¼àAÊ2·Œ7ûl5˜öH±ß„†ñØÿŠ©®æ.ß ÜheãiT©‹¥ÐXE-®ìÛg½gÁ÷èfHÌÇÛ»†¸VT;_ÇÂÇW‘;þSèvD¥>Lµ Lp¬øâ~d[ѹ‰~ÏCi µVñ*…¾—ß3ïË÷ZÍ&Pò.yG€C7Úwá=Bý'zSÒ4ÆÒ;>Ô½fèJ­N9¡5C4Yˆ&ÖxÒ–°¡¯Šs"cwÌ´ê “‹nœD¶ÙƒÈV{šá_+cëLT!8“ªÎÝ&¯R¿Ã“Ä0T Ï“è²)ÿÄ´\P)QfÚ¾ø.ÓVï›êu.êöÇeó72L¶]gw]}(8þ/ÓÌùñ*‡d ß{²°Â´di¤g´§Yr/³ y³VDäž›ÎzçT _ÁñQ.®è0 hf¼õT½JBc‚nlÐô‰›dêÞl(z*OæìøU¾Müb«¡¾Å!ñ8C9"¼jÂÌMŽd·À`¼Rl½ybü³±!@Ð èbËAù†Ä6“{\Rt‡±ÁÙí›&{5d’ÖÚ>)g~3›…æè”ç÷Íþõ*ß/äZ>ǃÆÒX¿mÓNžGc @Gnå»ÉGŽãf3<Êœ¦Ràë§²ä‰2´¹¦qþÌ+©ó ~õÖTµƒR®òžó|ø¶ùÕ矤îÃëJúšÿºœ8y•2æ¦ Ú˜ðCbqãïŠ8ÆÈ"äÁîÀ’®Òà²Ûw”èä•l‚^É[| ¸ ·ã/Ë |^<èME”0“ô†6}Vø$&xuÆAV[ñèµsÔ_sÈoÜÁmóÀeÑsX“nÒy‡‹´Î Qñ¼)v’ ã™°å’À‡¸Cmt³ÉÔÞ»%ÞË|¶ þR¿ìð /µ•P 5ÅSèsøgÓò@Ýj¨­^ÿ¸¥¦Ív¤0q²žˆ¾%¥“lÎåv¯E·# دȇ‡{˜îÁ ÇydQóÈÈYJ,øFVËöZ({ÛÂè.(ƒ&Z¥å°Ï·­Þé?× Š‘4Çw™ð®»Y¦k®ûo´êà)‹c—-b nl3ý‡‚È’A:gÿÒ˜†é°Ž|ñ8Ƭ –Ú­nŒo6[„Êõ–ŸÝqÛ3ç,«Ç;J7e¸ØaB¡dþÑ„¿åñ´ô‹÷D—I†MãžßDGÜZSßm瘼€V%Ûȉo5öªº†tºG‚ߌ€Ämª:S‹øFÿ­˜µOOl–ÁÜÄì¡ßýRˆ¶ˆÆ!n=_b©yW@¦OØøSt/gA¯›0¢«h¾§ö}èI€ÆÜª¨§\j°î•LL¢ Q§J‡ÏÏ›Y9UEó¿ð^B|P…¡g`¤Tã¥öÝUë]t¨^»"–5)#ÞT~ ãM”7ßA€Wó×2´mg႘<º†mãhÏgEÂðxÁ=_™þ"/*Zb¶_¹mP½h –þ9yìý¾ÂÝ™ÈVµ¦½© €ÞŠV~ŸžÝæNŽjÙ‚Þk¯ÙjHìꙘî%^ár{õU“;D]Öìs6éãüÃÛeiST<¯¸TZ(18<—‡B~ýÞª6Û(ê }iÒGÈÿÞÒ#kSÇ3…äé? Nˆ›à»ÊöŸ'Oî•dŽGÓ «Tïê©ê <\ÕžÞ©l¤ãfGT8<1ÿáDŸ ª çÕ²XÂìsn3…ݤMKòW¶LŸR›‘&L‰|­†·$'™ª!5è­p?–ƒØ”Nšû‡6ï½;¶%Q½9cd|IEšïÞ¹Õš™~dŽíÖ3O5ãú¹7Sax½ õÜ{ô(|“*ËX5Ñ@ñB¤9KÀ]¿­ŸÈÔË@°¤X.ªÇP Ž®|¤Ù ­’5ÛÒhô0eúò]pšÇ# 6ḑÐå´ ƒIÎ<åLNßKÎò#`0| ‰Sf[‰ŒðÁU÷ém,Å'µ5[oß$ãˆH3´S‚vÌ»Ÿ#\ÊYíWÃiƦýØ<ð–¤#{¶¡KuŠîâø à½†_J8Èmã½c7¸\bƒŸÁ¦±¿žDðÚÈÒÏÁÇ4`‘^1 a XÔØòâp±`p›#¾ÎÂÂ{£iÛNSs@ÏÝ04¦^ȗŸvZàfX‹ä5ÚÆÇ-³7#ÐçøŸ¹Á¬ Wé§4okCÕ‘ax[» zV¤d{:>¤MÜãgϨÃ_|BµÄ™ àeÁ wàt®DÀ2¾žúàÖç'¾>ú©¸“‰ÐT#~rJþf÷±–±Àú`dƒ,ðù¨åå¢ËfÃjÔ‚°±‰ØrTåiHɵ~,´²õw#óÉý:÷ÏmÛt^aª'Û,œß?£‚¸ OEW°`s|&Oø:œÕZ~`ÿú·òtÑEímžŠ±:¡©ÌâI ’–9ó4h­0—’3˜¨šØ} ”=êù¥«˜à7p±•Õù!Ùcþ|†(–FÊ'^.LÈg°­7éäé›CüE½‰ çE~•ÝòÔ g°ׇî“ý—çhb$Óáiä nÅð•Nמ¯î»‘Äì{W|ÇF⎆ùš_™1wdzaúwZžz ®Ü —ìxø·½R¥;Í@âm~+Úœ·Þw=ÍÞñ'ˆ#œ½!eÏk3>¿ÏmÍÃßÓß¹ÆØšãRïÑ`VîIó/¤÷Úª¸hT·1Œ-¶TqE¥/7]ôÇ!°uÇl­³sþ|ØÌ þñ(çø–“3¼™$sóg Öü‘Uø ì~Äöøn’„kÄ’ãÑŒÔ o妀7E²•DMøñbûìQÇê¥ðgg1éÆÊ?4‹ªïÎ ‹^ïzömdßùkÌY…ž¡×5¼g¾âáŽzo.À÷y\ÇI€øˆkËjÌ!‚,Év’‚·O“Zâ›zÐ;‚Ýûo\¸zß~§Ÿ±êŽJ=ˆý&I8ûÒ êÄÍæú¤™’•Aoà iAÊT§HE~î ¢eKÙ*o!+›o¶Å¡äÅÒ&GæJÙ`å¤-yé(H^ëK¹Q‚úëÎK…ñMñHÿa\èƒB|Ù n™áå„Aã@VëˆËe„Óˆ¢ôY©(ÏЩ J¾Q á©=cäH®ðêžL[AÝy6¸9˜­âÞØè»ÎÚ#AýTkIÙ@J D‘nû4ÉyÙÍ7uSÇŸ†ëqÍ£ˆB`ãõKïGë2iÚ`U«ÔÀ50³M~̓«jæˆëêoxªENdr4]i„m9(ÅŒS}2Î2Ðû”ÃZ Ë„ Zš^? ÊŠTßã^;¾»jy}ýàír_þ—›d*>Ô”ˆkØœ’s›8plj- Š’ØS‚ã ³áŠß¯ª£|’üû ä¶;CJ>Í®9|{¡=7kņž ‰•vEaÛºíM£5[ò¿¼]ö}èS–KÕ%r@p}j¤ì­5µ®4 þR{_om>Ÿ‘IØÒCeº£dx½OÛy¨ÔÝý¸”ñÜU*K]Ú–¿>óVwgÕŠÑ|‹ ïÖŸw;)F‘!°G1-Ö:žŽÎ6W+È-¾°™qÀœVk\–›j¾îo4+´ò!DNdAÞ8tÝ÷ïòfè êŠ |³v"Â_oÃBƼÿÂ4½ãúROyÚcÔk-^…LþçtЏâIâ½9{8Œ¶Bý¦¥çzµ–ñ¡O!©¬Coy˜òÌ Ï[¦¤=Œ $‡K¬e®ÆF›¸ì@XÌZº$Š#ÈÕôAtÅkÆ^›.øýVšO¥ùs·´‘üîJmU(¤‡äóéÀM¾æ¢Îï3|¿_=’ cl¨Ùª¤P=Þt÷à¢a¡9úäÖnd5§ ±%ÄÖ$W:(× ´ò‘8 js!vkp#S³P1G5õõû¬Ñ$…»¬„hÌ»ÜfUÃýÃsR¸¸ýü#È7ky)jp Wfo‡²ùi7^ÚÚº.€2 ðXCQêæ_aMø0˜Å"´Ð(£œ›eÏÞ‰å$+³¼ÓiÔðx*RÔ•ÇIœ“~óB¢ î–ï¶v+y×6ù͈B²E2˜ œÆ9·Ö}:MÆDû; s¶ÉA#xè Äô±¡ØãÎþ•h1‹E½‡„ýä7@*I­%dÞ°l²gQXkèg¸ó¸q¹W–Y\¯Í2–7N[VÇq.^>ù–*E¼í¯Ý£ùÄZ¥ IVëU}hhò.ylÀTGâ{QÂݼó¸z¨\|šàöäïÔQIÎ(Y‰Œ¡5šyðÔ½QÜIW–ù¶ À?LãÞÄzŽè†WNÅ·E6HÈ’4¤%¢ÒŸßµðÓqk¸ß}”—£ÌüÝn5ïÒëQ­M»;êûb—¶Õ<ÙqfìÔÂgÓæU†ÂŸêÃ{6`Á(ì ÁØiÓE}µ«ïÕK­G‹ï?½öÕ÷ä…"i<«*&K1!kf4Neu;¨’:Æê­°ô­ëµ'šm¤˜jLPûbT(ÂX®†Ià{ÓÓUDB­¬ú«ó•]búßZ•†ÖÂeÉ4É•c->:È!sƒ‘™A]yDæYˆsæ²ðID;s[ݾÍj4ÌæIºä-ÔáùÚ/’ >¥aº4´«Úø¤JQŽxÌ®_Œª#Aêù6mýU•ÜËqd-¬’ÕÆ0§i®?ZÜU3kÞñ¦~*¿*>NÍQ6R€ø·ÚMÈè‚ F¼9õ*h £²ºc:ÈïÖV1äþýܪWüQÇ[§†XÈøùq“RhßóÓ ŽÞu®¨éþŠŸø¦¿ø÷Òêk Rö@ôTá½Å.€Rùs¨„L“B3» ºŒÜ‡mgªi ‘ÊQMPcnl¬´_»ö[|sï9ïèJdhÇq,Dls4ûÈÚ³o’9û‰ZiRÏÓdÊÉØ6,Å¿×Ó™^%ú 7Lq»Àÿ½,GœÊÈûÑ/gÄéG€ÁšÁ/uÙo±µzŽw/<ǃ:ñ;kx.a&Ø?Îj…æ:]C‚‡kYØ”Tœ«]$ÉnaKS5ÏI'À=Ñͽ}3U°ŸÂCZHÕåÏ=2ùhû6ÞŸ¬½òãŃK(­G#«‘ühÅŒJ¢Åñ¤SÒ˜-«êùl"µ^ƦærúîÃ:ÐŒ~ôýQáo´è›;roÈýrÕ½>À*¤B' t6Ìm?þ˜N>&©ãWÉô;{^!x¤Ø2p0ôõ¨›|oÇØÜã;çܳm¹ªY§°§Y>SCÄέiV_é†ü€$"†ÛpôJr«pV§ª'EL¼S¹AVðs[ë;¨ —ÈÊD[œÐ1 ­0£g‡ æ@—ÕÀÊ6ÃóÄ€¢­ÈÁˆ-gWÙêô±Œ[Òi~TRŠE/´©™ÅÊ=FB\Ì%òÎ’îεïö¡ÆÌŠT Òb…>æ¶ìYmêe{B)ú–— $±Zí Œ’yÙü𳥿å»à%ªlöYŒ)^îË´:'iïŽKeNÖëB8¸>Ü.Ï»²$^ßž©!§¹õµ—;Ë¡ëÃÍ÷àe‚dÂ<Û†7Iÿ%h€‹Îd·¸Í8mWG9ÒÆª/$Qa ôš:«•F ™'ÉÎ+7Ô–ÿ{¶3{¸Dxh ZÎú‹øìÕ&¢ñu§îX?Ãøxiëíæ¸‚zQÓ£ucÒsäJ8ر™«Q*Ÿ<^‚¿¥bçÎ`.7X6µºxG­39™yKˆy·@—Kš’ôZíÑ#~ÞYP´JÁEs~>„KîO%àµÞç¤õ²Am#úÓC¢k~=ƒÕÕÅV‹B4 2Q ¥‡=.UÛy% ù¬í4[k!ˆa¹SiÅ0Šd%¬23 ÄÙ‰Žöwf•’ÞUr%"¾ˆýR ±r—¾t TÙq˜[œI*æoe‘Ú¹í@®"ÝL Aä¹N ©Åßühµ›í†…/:Y…Æ…54»BÇ/A-—ÓÙPUA)ãâ19{¿k@ÿ²–ô5,{”E&LBKW€zNRÌ×ð“VX»•{#OïÔ–gäꑊÎb´ôÙ`UrnDÝz-f¢¸VÕ%•%>àò=gMvNZØÄ0%É!÷bÏÂå¶‘Öse™éÓÿS!•Ædýêo«£Ä´Ý'” e¥__sÈ/Çü§ªæì:T·ÕŸ§vÝ.”á)4I$&½“å(¦/k³‡Ö /Ô3ÈÙû#A™!¼Bk(!l‘ àU^ý‘dð8* ¦(ôÂæiŒO?ÈC££šc;8ÏÕ ûÙ`ƒÍ•“ üÛQÅ[¹s‰t༇%?¡ÓÜÓú‘ÕöŽ·ÏÆÚjs‡®•PùáRf†ÊAl÷|‚©áŸê“÷uŠ{c6¤Ê}b~¾F~ãô÷§ŠçªؘÙiSž–awÿ¤„?lË"…#"OYÍž°zaKÿX©Ž{Ϋ㡹¶ùqää:.&¢Æ/¥¡<‰|»¸)è½çÔgœµð#Å3ÝúóOò"1#¸ã£Ñ~swi™ìëW£²Ä‹En>Láë50Y¸ÉV” ’[q°ùeñêcžIo2lèñª7‚à^W³wbš:«¡v'«ÐÏ…]½©)òëjíÿ(ÒášHb¢™ ¿;.ì¿ì^‹üq²ÀÔÔ+ʳ‘Ö=TKEM÷ö§MNç ÎóäWT¿ ±—¨‹–z'Ò9¬|•2!ú¼²Ñþ4PÉUÛt42kà ÌöԼP¾G BNg¨Õs?ï!9HÉÐfJyQÏÕvÞ1|p^ß8Æ‘˜Þ ^V³4¡AYÃZ@SÛ¶'zÚÎ@ÉÿÆ‚êZÓ<ºi•Àœƒ1'âKýÔYgÌθ#È`t(¨.ÇÀ˜pì ®T3ØIÙCËÌø’Õµ4jA>ôî/w¿äkC×{1¶üs—±©# €Np pÅxGd6½„|ÁGËþ-!ÔÁ"nY:† Z¼ðg˜\ §´vTÎå2†}È#̪:¶9¨HeH)þüo›™é´vXl¾‘åYÿú,Ú'¹0‹ÍJ©OÖ+'¢òȹ‰²>JRA·ªh.Î;ÜÏÇBQ¹[—( öÃfݸ6SØñÅL$¦; ÝöeÕw©+†ÓÛª=uÇû;¶¡ŸÂLk©°|›[¦ ‡aª×)Õaj!TE8V±¢å£Íw¯¦6ú½7¦ŸŸåœû?Ž…©]®]Ž`eTÕ~ÄJ~üº·‰û…«ÇÅU[ZÞ%1¹4ÄŸ¤w§¿ðz—ò&ò0aŠÖ­w&ßH[u¼JkÓÀ.=™cçáãÆ{Åqðb-žŽŸL–k‡zwIš î¡´×á• ^–h•D ÈÖȩڟé™4±j<]C¹û%Â!­Þݬ+†’ß.‹4ÃmZwVg(“¡èv<ñáqÏ=ŠVýY—ôˆ(îÕæ‡£7'²}¦(Ë(î“®ÌA·ÌÐÐÞY¶·GvFéøt“9qo îä/ZˆN9J@‰MÒaq„Pñ*(þc/ï1ØUï¿WÔK!ˆœÑ%•¤_Æ|_Ê;\Š›ÉL9§úýBväìGâ,Kº±íÂlìQJJqó§G( ü~§Œ%ÔûœDÇ–× ƒ‚’ÙÁMä,x³p½:Î •ZÛSÜyK@¿Nâèþ /Háx+—¸ìó1]Qª|.y"ëH,*cªNÌK‡‰„£s:È›Tî_%kÌ} ’ûœä*ÇrtÈùà·âÖŸÎgÚ`é6r/Ž€x?MÓ ”«”˜×¢|”‰ÍžK¬Ü]§ïŒi­þ .X2£ƒVƒúß7foràÖÑ8*a6ñÁhûùöwb@boÚ)Œà½ånI²8³) 4ß^Çet–\ÌÌÖ= +ò/RÅF,|bT“°òó[ŽÄ-òÀgFPê•îò˜®1Ë~íìéLž#yËÄÞAò¡Ymƒßçà“ÖÄšA®{!<¡‚©eZìh‡»£f{¢7èÿ&T e¥‚A£É¿û#öÖtÍ@¹Qú¨­Ø²¹h¢¥Ô= #×I§ø£l(áÀz%Piíkù3Šäº-"‚ÝkÍ£EÆgºŒÏ—â€íFÝ­ÿº"à¹3ˆ;éåÎa ©&¾Š<å=hÍi_Ýáªe¶…J5XXÞÝÁ}¹NÓæSH0í¨ï·ëëÛÉvE`’ÑÑò÷ÍŠ¬©?êÿ\oÄÍ‹ºÆ{zJ|÷ô¥Õ³AÐAÏç4UÕ²X¤“iŽ8-DF†D ˆj¹¶Ò2åˆ#ë®çØØwPNS>«P¿¤§ÒÑIîÅ™î÷ rÉ–[¯F7u§>!Þã9¿hkÀÀ’’jµV,—77•!k;`UŽˆ ÅYq +\Û5— D¶Ø6Îl‚ÜééëÕ‹b¹Ã5U•¦˜îN3¢:¬$C¾¿FŒö"ºÃœEÚ¬£‹RÓP+ª32´¤«˜$ Ù¤–7éìܬ¤z…'™Þ&F×C!€€€v=ËóÞÇÒ«rKÑšÄHf+f »YòŤ…p†.‚o(Ýp²‰{­«©D nX^; R!~,µ0p÷¬sŒ|(ßPj÷»&°k‚Ãö‰ªCMÉø‰ÐÅËŸ´¿U³Bf_èU{eK€®Â¶Å‡Û¯?K˜‡}cÎæ«þ>@—±toTÍ—O¨€ÿwÔ÷paQ Ø~£$>]ï#3€N.T_ƒÄêÉ7$ËâŽÒ¥û©x*¶‹ú·¥Q´i·‚C\;·¦Iö¶¿à f…*ÌêC؈bIlˆØUƒI4‘iÍG ÐÅ×õs5±¬>{Rûâýé gþ~?þíºP£jÒ‰ã]DW»³ŸCÍÓA DXÀ#UKJÐüÝ%_ô§’þ|‚¿Aë§E´ÒRºåóÝS³4+ø÷Ž÷?G¶¶pдÏ¡ö‰Éx?ä®ÈÖ·l±þg9i´™Û*KýYÅ:‘Ì–Iio?{Ԧבê pc‘kÁä~ý°÷‹`¾_ Ìç±W.иÔ2ƇÓ#õ½Ä!;4éºâMÐ|‡Õ{9zÌF•ÕÜsbÖTRÓ”b i[fÏã™Ó²¼T²«Ð½5°—ý«“e™[­œáwgbOÑ»/£»kͦöš ×JnuX®¤ ž‰Ù^{ž-Âf8öò‰VÜ€Wb¶ ŸY¨ŒJNRes¨ƒðÖt~²´|ø@šÑת æ¡äëÛñyN†Æ{]‡&†ºœÄ¹¹AXÒ!¯¬qÅG«_@½þ™ƒjªúè¯g-+2­ì¹¹–q¿1¬!ØFöÛL#”•JúLbOp}¨N‡]Aš…Uø/On ´AT}„\z³ á8m']Œ:¿isŽIµ›’è4{–y•¸ÝÑȬ- r¥3ËVø%ÇÔ2úI¹è]~ÑGÿt¡ä[¬øíxbÀI‰O6ø_Û«©àrŸF0>ãÕ0«°Ô;T-êú3Ôã:ƒX;º“î |ÏÊÜÙiÏ(õV'”|Û3% ˆHi¸»Å È’áàÿó×’DKb¶¦›&h¯¿œx}\#Ø4ü2JÿZŒì5W…màõ„ÃÇ•V!2Æ {PÃ@5LŒ¥£ik]1ä/Ài7ûgÖ ™åP¹tâÎ!ý™12>Jå8/’¤å,žÛ8¸ÖEÃ…ÝJœê)ùÄÖ°qÈø¾º÷A²¸Eaþk… Ëé†òæ¿MœõÖ6·ßú¹q6Ò­(ƒžd‡‰õ;¸*£ùVȾT*<)õÇ·0v=Ø|â3ývÃl;Ç ÏÔ6’!mßy1¥Ùk{–ýËjëA„³kF“§ Ð!­y`L@S—ù?O?#„®åsæã%H@G .å=dXµÈŒ)*ƒ ¾ÌZ­á ‰lP¥>4ÿ]-¯7-˜ŒA’[ob¥›F˜…ÄõÕmL¹4¹þj#>„Á¶=§¼‡ò/{ã€h„"ºF¢]d1ÅxP\_ƒùÅ›;óÿ¬£”Y¨ùîÊàK+±Ä/Ù.†¢j­Ài1¤…’¡±šòÀÝ>òW'Xy`„ÕY·l”Ö·eo°`ÿiŸ£þVÿ¤¨«½4Ìê:˜fàŸ"¸‰Mð_À#Žb-†Jí*Ê^ ,P§ºx© ëz£îëŽWfp®ä*›l–G%™x7)d .Ibt-"%²1Ðw…‰Büpí¥ŽySøƒ’%<_s™;d`^Ç-‰ ŠyG¡—§ý>_ñé6YœŠl4j¸Ñ>×¥¦ùƒÝi³¥"Z¶¶ì kïÑ( ^Ʋ%þ¦~ŽàøzEWä tÃÿÔQ<ÙêäÖ~¶g©ØU?2êQAš5sl”":¦sMýÍΧünëÂܘ…òhË<— È;1|@”Ø@< a§HžÒLn!޼m±ÍmŒ¾nµ¤çüÃֽ̙‹÷ŽšµÏ€Ä/ð…R5¼ÅÈȪًªåžZ¹\ç/oߕ۷¨[ƒnÜè( ÔÀx:ÞÝVíÔéìØ¯à3<’LW˜éFÎG±qɽÈ7ßùX³bØЩ®Ÿr98Ì ‡5¯ß>·Ì{ .@E²¯o§]ÇÓéwE¥‚`ÍÔ |½â¼Læ#Gt{XZKªÍ™Ô /ÆëáÄDÉ[îGDà õë=Ðá/¾È]aÞå%uÓ·j"ᘳû%ÕÇØª½|X•{Y|”DËØ~ÐÆøŽÌŸä–æ®(X°s©>¥Ð¾ë·ƒ3f¤» ÄUãÍ6M2•:àõ'àU~­è-3IÈfÿÁ)ö(ÙöLÄÉ·ËYSBÛp¨”kÖûÄÆ²íø²˜oywBü¼¡Úœ”´â›TÏÆîìl°p•¼YPøÆN£Ç¦pøï%·•S@õ¦êz%)˜ÃÓðOdA· qãL«9F,˱;Û·I;E ÃULVB¼’‘d¶À£®ÒÙ‚æv¸f~ÖwX-¼÷©“%š}Ò6ûÊÀûŠpƒW¨˜ç~ ¹Ãhª&Úçu{?d<È=àmúÅ¥5¬Äf,e{‘e<mýOÍâà¯0Ç/ȳ½Í}•èRÊŒËÕX¯k/†”ý™*Í!Œ•â0éÑ5Åïr. ¦Ã³Ž¿]w Ôc€µøÇGÅö«M¦’²ê½·%´yê ÷»»úÜBÔ£ýcMòÒ£ÛšÏ]Ã6=~7¥P.ÿç Ž˜~2’ÀÝN5Ž%ÉØž„PPx#ýrŒ³­»r¿ˆÉ€îgxÍê€ÀgIé2+PžHÔ¥(oªHÎi!·-ܾty®IùÇê}’^·#!ceEf1W²£ãm¬7ðã!jiÜÚÉ––Ãr¶>¡¯â\¶žßrØÁΑ´§3UÃ9óœü¼Û>–…U3ÍÈ6j7îžM(f êr–— ¾ˆ(áŽ0 ™jx™+‚5êQÛS~2;ºþ×â í°Ë¥$å(ØÀ*t‡ "°þa×û…¸Âòó Ïî=Iz¡Ã µ0¸Â»O"§²E­µë=1(œ F;cjiJ¤å÷渷Râ¨$O×x ³–®ÄòÎØˆ|®êH‹è»ïûÇi¼…AÖÇÿ1º“WðÌù†^,~t°kt^I çÏѲ¾µ,jß.°Üo‹—ìˆrBuŽÁÇͽEùQ€ppØ”‚‡Öf@(TÜ ”àL-h/ ÍÔ]Šp‰ ÔsHº5”gËœ=n|F¯èf%ÿo¼¶Ü¤1{HµàÀø_äVø¾òZ…ר­¢žÑù~R…É*š ÿÞËz.m\x]ÝQ ©ƒ^¢âB­g‰B½FUš±WëïN_¢9í?¡O LìÕª :P>xR÷­å-ÍQmóqwºP±!{*©”Ô¯ã/ßákÇ\Îó CéK¶ªÈy› ØÎf.–#DÊò^:™^O¹Ø“FƒwÑJÉ®9>•«…ùSåç AG­1ÏÆ@¸ÄW4‘ÿÄO;_e¯^íá¥ò„é3láÜòÚ-óŒ¨[9«ÓÂ4vaO„òô}#ôsñÆ–-<Åk­Lt|ÌúÈ%(êþôÌ¢_ÜÏm~óÔ[ÄÞ8¨ö2•¤wöÉš€Ž ™;“Çá• H’€3™T3†ÄÚã§#ß´aâòÌC½Ñk˜§ÿlw}tzˡſšCµÖލ7–­]¸„£àö¹IeíÎËÎÿŒñGâ´ï¡ $UG=äK2û[¤TÒæH²wGš‡\bÚO‡Ò"„1ó?½S!GªÀØ»}ÎÜ-µ¸Ëø%Ù`ÿŠ£Ð,ì‹æ:s;\¤}?ÂAË®×Ý‘‰æmáóÓº’0H VûÉ…îÐ#v!§1£‹r S?bo(¨\v@Hø%•ÅÎäZ¶Õ¥ÏVÈØKȳÏgá¿àc_”빑'\j,óJyEŠj ܘo'©î›^–/’ Õø÷ [×~E¢h‚¾÷; 0Cõ{¨/Õ’aÖ a˜ØG€íe]0gúV/r°¯-C¨"ª½ëïѪpYˆ÷˜%Mm×?âT$í>Ûþ¯§~ñ¦rQNÜ/BλJ"‚/<Þ‹Ö„ÕÁ B¹Êࡤ0P~^&¬è(Í|™¢Ê¿˜6±ˆ)”ù8Í/S± ÀÖ½Q‚ïªI;”¼Ãn/5â3dVÄýëý¤FÌ»àÕ´¶­}(Ї0¢ßÓϵºÝ-}}Û­¸Ý4&[<9èK.íC¶œè.©õ5‰xðÌ l\”…9-êÍLjéÖ“‡I Ð¸0æ‹ @ÿÁ[µrÃ!,ÐðÁONŠd%<6O¸A,>> ñ Ò~æ\*Ñ—ZÞƒ{»òéòÇsÙÅ$_ÔMdd¨ÓAÇóѼ>›q·!æœ×¦½­)<J«»ZäBP4€K½ÁÏx×Í4˜¤u©÷èaÝ=ñµHïÞÒÝ/:WPÿûÀF1C¢Cáú¥:$µ&Ì; k<åÛ© kG=äÎø´Pò«ý)AW¢áøÊú(Ì16‚$Q%å'+imŠ»ƒaP ¢ìQ@DB' uÌf"÷˜ƒP¿Þ8õvmlYÈ—CàYžæ¾dÂiSpõe´,D«b3ÖéMŒ¾lF°ÎJ‡щ®»ëµúT°m»Äp˜!¤ùeЈ­PÝÊ?ÊlCi½”œ’*1Õ0U.Å>üõ”ÆB,kû­?],ù—%=H×ÑkÔ¼ø»ìŸÎd¸¿Y3’Y×ò”¾a†iå>Æê/檓üùæÕwûZ@%+ŠèÎV¯Ò–ØâvÂï¹€"ý€º§A ¯ÏŠ˜±Ü'—MÖÁ>zR/×ÈT(<UJÔrQJ¸;ѯؖ5z¶ùªÊªò=A_¥¤"i:J «_4c~-_H+pJC1ÍÚÂ*ºô0·…ˆPìGŸ[ ,»©¸—ü*xÞ,m»§œÁÈ„d2#ê^ƒ©ÿŸ.;±`3Íðà¡3jò­Íœ‰Z}0ã.c3܃ŠÂ# ·ò••#*s£ a9d¶¿Ê1l3¦"‘1ó[%Þë“{Reì½1¼ð.Ž‹;dÖ}Jc%ê<çáu¨‘|Ï£Îq/!'(.¥ÚåÏô©h¼Ñu<Ä•¹.öMy–•êTÑ…ûŠMgܯ¢õO´EÀ,jΞÄ'9“X/‹®õÃRÔ=k´ß/¶¥ÙÖ綪}ned‰¢õØ•Xï%ûFú©6â©ôõJ †AZÍõ‘ð<4··PÑcŒÞ~"Ömÿw×à³pJ˜›'ªdžhö‰–ìlˆ*Ôf áÊDFÊM\t¯–ÅnìäÇÐI»ù@Aa ‚ßæu ìŠóÙ-â¡¡#)O+MgVüO¶ÀÈš-V9“ OÖ«¶ƒË’Ùý2Q&ñüÐI¯üÈ]T0°Ší¿Ö½“2ŸÓÜyHäê è’¦©šJÂÍXþgÕýð§Œ=œÐЂTÞÈ!5ê å<€Ñª m#ÝH£sHݬ©Ùím #!„³~¿->LAr^Ç '$¢åV»÷Ä+lsúÕåb ?‡¥G"ö1 37wÈv2@›.ajT`"W*ZÇ{ƿޡ Xh>Ý¡ø[æ€1á–›Æí’X¬ŠPjúÅŸ¬ðE3já¦4À ´¿Ö©ýØÞÇ—&ñF—Äì'|Î{ÑP¼xÉÒ"´¯öwê˜SÄþÿ7”¶ž¥hR¨P˜,ÀJ术­XŸšËÛ'*›âºH"öjå×—·ŠöfpÐkdïÏ©pl@Î.ôŽ[±{—ÓB)ð)yY½Æ–¬–þ7«ˆXöw=Bš5iÒpª•0 E<)#X,ÿí±Ì… %7Ü¿1bS“TºÈ—=ž%=·d…„DªAÄÂu€€¸ê&Â-=\©Qo5b÷°ˆû••’ÖË)ÿÚÑ ÃqÅò’F(6D"=¦ä† lˆÂŸ:MŠÀ|A†äŒÄ?×Ö7?ÇÊŠ¶ôø»ð½Š€åkƒÞ*àÛ°Æ ²¬Û ƒˆoT==¯[7‹ýÝN¯a(ü£LµlüÖc(²a²gõµ³Opùk/‘*ûnXÑy˜ªÛãTܪØT{””D{wÈ –ŠïÙŠf‹E„?÷ʹÉ'[ÖŸáH”þúc }f“¤ÄÇ•rµAJ3΃†×•~«P»‰·Oìž) É0æä¼JnûÒ( ÉtÔ$s‘ jÿC2ËP/“Փ룡F+þGµ:ßÊõ"^„þ•ÈBοÙô«þ´ß’̉—¡=Ý`âçõ:6hŒ¡`"[Ft‰ÍÛ…‘¯KB†W7¤½¨ªbkæb_ô«3€‹xÃ"ÇÛ^<‹QØfJ¶J®hEõRmÂÀ3Áeµ?&a§-„Sí1®õ^£¾mÓm„”ô3„(b‚#8 £.ÛæÅ(–3¦Ù)TcGí\`à!²²jñ4dx_‹®pU;©TŸ–Åd]g|ä0;ì¡J†ö¾xÚR#Q4Ý cTE‚ðÃ)ªù;<°LŒÁm;’Ðö5“Vw§3æ¢4­«¥£ÎfQÖõüâ-g®z¬daÂ'¨ÁÞúØ Z¢îÐ($œs o«ÉNÞ7Z÷›@¦ I…AqîW%ý¨+£Å\Y°{{ÉVÍlçû].‹Š&¬@$•¾KBád“e²639Ã"ƒì¯“ê¹éøïtažñ7uÐQÂl2žZŒçJоG¦–šß")å\)͘7hAÍyÕñS¹E`<õðãÕÜz=y¡úp!´f"/ïQ üÅÄ[7ØBH{÷‡–$¹¦”è¼Ri¸þœïÒïWÚ/.dÔô†ÅgÕ¥i „wK›í‚·štN$h¦‚9Ò#,re¶ ½a«å£ê<©{4ù[ä2Ý,ž§î5¼a3 ¬z <Ô˜%=¬ùK;P×Q_ËfÚµÔ[¢áÀUœo³=޹ʱêÉ·1Ò‹1mŽZMĹ0ƒcp8º©ãqº‡ÍÔ1÷Ö¤ ƒÐl]T[¼‡o•™äBºë– µè>x¨eRu¥Ìòn}WaÖÆ×ö랆'ËcN“ùi6b*<›y)•¯‘¾´R_!ϲ Ú”ÈÛyÝN²§ñAXYV)¤8·¯·’K…²¥š@¸´y–5%Cø|&€=ìCįqk ¥ÁƒÈ¦Í¼×³ç€ö"Ì%Š  çB5`ã´Óêª>}´pµ=ŸÛNÛ•áëPOû á.5$he“ÿ±GÝM¿Nl¹v$ã㑽à@VŸÍ§xiÚŸ„Õƒ½qS´æ]k¨dE\ÞP|%âf?qÁyFH‘ÕmoÐ4ÂB/Ö¥ºÐê ðô7~­ß'®j´ˆ¸rGbÛkÚë–‹ g@­=ôëEÄ^…qç:gµÓ‡Q8¨<ôIVäÎRÇ#á<ÖÜzýäú¥Ïå´ð$&ÓÑœQ;ýu@n’pLüØ­¬.yÇ¿bÅæ‡ÞÜMÅ£v«u-é¹g °‘ó— åV’ ££ŒñI/qÖsñj¾ÛIÎn ø¸ÇyCð)e2 !‚ Î7?àŸF¥ð‡³¿51“úceƒÙ£<>}êþ“Ö—}ÞH!ýŸxÖCø¹VC  ÂA¸ÇýYc³²½ëZ1B½=•‰&*ªd@ÖƒwºÔÝ­pb˜;¡"~ÝCjœ\Â¥ú, Y ¬›!ðVæÁžBÀ§©S›@‡_ˆ?mkY±äÒ0Î=ÅóûüMÆÌ¨g¾um‰ç?ÌpùÐÉ3¤ƒ(lòSËEŒÁ„%­ø©ÞßS¢óÿôƒŒÒu·¸ •B<¢?JW‘n* £4H3¥šNMŽÍ•RÖ[â2I¨¶½/’zãŸ+ávgjœá‡T§Ÿ€ÜЪ³TÈlJ”|GkW«!·~á«T ƒO= Ú~:ånç囨øq°8x°1Td»__/Ü-»f€˜C™]s921nà/6­sfsŽ ÛŠÎ%ÚÂÅ'¢o¢B ùŽ¡‚ù5âTÿÎY÷È ƒ£îp<м%–gÒ´1÷PS)—©¡r$~€SÆlï Õ žÉ ™_(™7øß_Ƭ<Ø´ˆùö¿‹õ ]ƒæt<ª`c€pû¬Ü˜µ¦³8î;KÃj¡³Þp!BÝá=¼iäâÖtyŠ×À¥`F&œ‡¶CFl’‚œ “> ùÇ×t9Ê&në -ªógÈ /F¼‡)¿£¦ß!ˆË¡vcð`ìÒ'£6kÌ?f²ž+µºÂX"!ù#V’Ú(›˜Z™«#‹§‹½¨}hqkû¥ÞÐ2^B³U= ¹}†•SªC=n_{Ï+Ÿí!-—‰„I4¬ëÇT q°6ˆ#±E„ÛËûáð{L$ÃX!2{Q™ÉMždKøu¡¤êå—ÃgRL<àçß½øß5–ýNŒ·èymÄLÈ݈iÊsJ•öÁ^Y¹Qú€·ûÓGåAÔ”ˆùìxCl²HQyOØàN¾ók ÐbÒI|Ùu;޲r£Ü˦cm0^Ï“Kz.¦éàÅo*W븦8ŽŸ‹åPˆ}…m‰e¾ðYçç‰éôQå‚ú)å\HºåEÐJܘÇâBœ}ÜW ÀróC;"¯XøýÐå’r{€îz…áh/ˆPPÔ¡Ó é@ ï—´ÉWH¼¤©ïyáj²:ÞÐùú½¦Ü9Ôø’Ó™E*$9×r¿qh¬€< J¶ƒ^ ÌVAd#’ªvPÁ6x_ÛC[¢;?ŽnŽžô_!z=µê< .ÓøÎ#gÑ(èâž°ÉU)_²ùmdø!I§³nFí¼yÆÙc¶‘ÊÍÝëüîñuI¥’²ÈŠî£ò¢öÍßc‡ÿ¯ŠêWn£%éJ'¶ôK~/f.5‚xj_½úÓÆ¤¢°¬Ößw–&‹x‘Ñ•jhö„ç‡Ê‰Yà³[.ïHW˜è§ã’¦-‹îgb™ãÚÕ±4º² ‘Ǻ±ƒFâSÆ›_,jW¼k.ª~^ÑÆpCx†Zh4†`CÂc´«’ë°®äk³­Pù€&TäCxJk&YÃØßÅv2tçN3Qïdkþ[­o´”(Y“ŠÒ´aI§ HR9Ž0IÒm:øž½‰‹"sNƒg,¾3¬æg+Šº›ß\K/uÄ»"xYÀQR(ž}ùÓ%½)ÒE1‡*ä.¥!JZôh–•bO!*Ì1azú?<Ÿ=ÈGsº"Ñ ID0̧å uõ¦íÊ_¡3îõl›5<澦<”èW7ÏRJ_ã¹b|׉Aä«ûSbj/γ•åh4åñ?VF’nƒtAV+4ýƒÍ&Õa¢ÜàZú}GwÉvñި»U—6•dˆŸÒ½!´–dºQ ®aK´V§ê ¢ÎTzÌ=¼C¹ëˤðv8ÞPÝxâd7;ŒYÖnî(c*Y3—8M¥Oï<ͽ4C*_Ƕ“)‰«Q†¤cp=Vv_õäÌ~3›`2äÔ![¡Ÿ†7y,u¯Õ2ýy^ü^ÑABÞFnÅY$GCÞI[:s™æ/ÜR±'4ªž“gÊÊqh^³ Ø29$™ÖõÕ"IÒõÃQžÒ ,˜%Šªr¶w°÷±ó¥ùA‰úW‰–Œ*ÖÖ’ããÚNXEtÜK=W¦hŠ™­8O{Ù2ñ,üX{ dS€ô&7A´°T€…Gˆæ|ÏKÍà~ ,6Ðþä׬캞–M§ògÔ¼@®»ã8ïÊI°tç­$ÆögŒ’z¢lµ¯"DÁ‰r­ [™NuUÞ¢ð(<úX 3Ë‘–ný‰çërLøP¡¼HZɹjûÚÔÌ.X$…6¼ GÊúŒŸJÙÔ¿]h®é§KáüÓ× il~“Î}¹YŽkLÝíóÐô*¯×\²á´z"õ†&[4^ü¤ïÆ$Øñì;YÈ­^ÛÄÉÅd•˜!Ï„Àþúù¢;&~ñqqòZèÀ€º­|òcàÑ¿_ã wú&~#Ysýàí´P%›-´¦ Ó˜2‹ˆ»ÎB‡I†Û:",²•._Íïú ˜efâWyµM9Ýò]¡õîFž4 &êí༱ù0³Aî†ßëZ}{ì…¬š@ˆã„yzªTJ¶¿ÇÁ6Fî ­5èå‘õHjÌtfêuˆg¦FÄr3t0*n DDsOQ“ €w·e¦U²p<£À Ø=õÑUT:þ­½m7øÓ2ý± ø%߸àŸ6ý'4ÓÔlDÚså§Sfü Æh%ÛÝ|ÓÑÏÀ(5¥ W´1‡ï-¾Žøë†«}µÞç%ã´¥“ )ik&’c‹#+?¬›Qï¦sîöÛYƒ²“Õj†ç/LˆÂäï¼mºÎ„‘'e Jû0'++zjÉ|ÞêîaÒ®²Âi¸1\nÒ¦F愷ňŽ@ûZ€mÌPº’çã*{ 5Å0fF¡‡…Ëõº3Éו¦60ü¤O…8ßïŸQ”«+jGª|rR,/}¯çj2åWªEtt[[¦£H v¸Aرô F[Ðý…¿ŠWêNN}¢«ËÜÏ{[©³ŽF¢Ð[ÍK%6ɇ*ú>X_ahœÛôØÙùµ(š ͈‹ï„ÆF<;bG¬²KøÒ:´ax’ûƒäÊ‘"^6š¿€ðiâô“ã⧇a,,ïüßÄC„°q.Ôø¾F';à'øØê÷{Ío#ÛIs3ôF±CtXéè€oµj†$#“ Þ¿|=ÚZîr;•ùEç›ÎÑÿ?ÐË}8öÆYèñ‘‘¸x<ÔæxDºÊ“¹`ø©ñ9ä£í3@”¥ï_™þt8‡¾’¸+qª–E¬Í™ôS™Ž "—Z‹µëöÓËÐHoŸþ:@KD_©—ˆl·×þIRRe \S»ÂÀïµ°äÎ×,øwR ö÷³ñ÷7®>âò eÒªí×gíÑÄÌj:¤€;a Êf²¼j²BŸ×%ó¥ŠHEk€Íó3TÛ®IQ"j'Ëñƒ èCÕdßzÜ€Vž~ö tÕk{!B<ÄÉÆ†nû«¼±­>ãš4ƒ},ÖûïíŸmƲJ2¯q˜vwsõ‡»§°s„çŽ×*I¦€fú²^dºŠŒœ§ÖjËàX~Þ²l„0ªûHŒ"ÌgÅ"ÓÛ§I:œÊ[ÚlÔÆK*Åš‚±×ÂáY²»ÁÚ ­×‘Ç|ÃÑM &T`)%ïZlÅJÙQjæ”!’×½NT#^¶ÙR]’ÄeÒƒ‚ºTÿ£ƒâÑd“¾Ëq6hÙªÿ·æ‡.!KF¯{R #ÔL“a^Q™¾.QÉöKl‡éî8 GÄæƒh}8p3Xíj¡ÓùÞñªHjÝ“ŒìÜ‹Ñu ˜“ýದØÈBhý8ÌžÕ’b²Á+³ ˆ>w"¨ƒ¼J`>ÅéòÏ€}]+p™H`5ìFÅ¡†Ö˜ Žå–­0±R¤{>Á”^vìãef\õ1‰§ErºˆÐ}Б'Ó¶ž–à¬'º‹Á󦇋A†é–úq(1ŸÝ3¬ÉýøÜH ”ø ºrÒõNq8>•äï ö#äVB¢Ku…ŽBU;0ÞʉêÀkC oqÎüõS´6·Ë2ð$Ä7¥¡ƒJ}m]ýÇŠ|Z$°9‰ÔWßÛ\/ Ëe"É+Šïv›Iܽ]`Ï…ã0#0xaò›D`â¢-òÈ8,ÍFïÅ÷±ó.= [ß¾Ó ¤ëI!81ÏB™ë^ì×sõß^Ê.¤?²]XQ.¶]b»p\¡ J[Rn'ÅˆØ &byŒIªÓ?³]‡«¶6PPGêÚzukï¯×&B@g&î+¸F7÷êu}!Üï&ÆFH?ŒÓëž4ïàI˜r±#™‰>œm̸ÖØDšÑ^-øØ8û¿¾“t{D4%x+"¤VŒ®–YÎþµÈxù¡ /ý;¬CXm£1téêÜe¨G¹Ã˜0[ó‰e°g€° W?K•´©;Ko®ØacÕõ ¹ã³¥)®uðP´²í‚¼£çSïäúé¡à•{äcÍæº€”¼à‹l«D/N¤GeÆ5\žÒ^Ëè^~M/+XS7À~ ʬæÆ5ÕÀÍ™‰]í¤ ¹®¦ ½oR¶C>+YYS~iúcðsÚ1E ú¯8ARÂËIœ©Ûw1Á&ªô6ü²j6Ü«>g˜Ù«BF=Üù”8G4IäØV“v‰µw³eZ×'ˆZÍuDL&áqÕ&MÃÑÏAÜ’¾Ò}&^ÑÉØ–n5ÓòìÚ•Q"ÌlMUH¨U<=î \Bä¢ÊÛ@Öˆø½[2YB™—0K¾±œ‡L*DöÆD>z—.>ÉòD¶öÄ­ ØÎÆeo¥ö¢ Sؼ±<ÓIÃmâ{rµ÷Ÿï\Àá´Bv‘ðSœi„‘âÐvBÊW°ÒqP ½ZczO–™àhËÇc#o›H#þ¾ÍFVsJ¿½%áϱ=Q¨§¶)6€eqÏqdV€†CýäƒbH}ÕÓtãeÇÒ‡:*€.bë öù *3eI>BwƒÉØaFÁÚô:ª¹Þ\÷Xಫz7Oí?ɘZÎa ú‡DL“,Às†#;üeÃ8‰¦ <ðÉÆÏ@2…ë\ˆ:r$@N=á%ÿn„Âå¹WÔ÷y[öà ~h!S]¿ºDòTvýWÏŒ°‚ -RŽœ€ôfh˜íƒ2Óilx“\¬QÕ•w—¸”ÃÉ'__q°ì%Q¾zJL¼FÃÌá"ô§#œH©¡RTuiÌxŸ‡ÿˆ®wè ëFÆ®AÑ»ðûk¬^áœì3¿£‚zx›ªa{)¸$SG7'-Ǥøýx«Ž|½$nhI§Û°YžO ÐÉX ƒÎÑ^fÁÔê¢j+ÞeiM³#žn”lÛ‡¯)4Y::;>6KJ%útû·2Gwpáß—d¡ª ˆgÿÊ]ÎÈDõ,´˜S|ºIÚÉ#E.˜Ñ|_ßafLZøSÜšli\?dÜ gˆ`•Ðñaá3 ÎÊ{¿™n(J?Aê&!OµwwüIÑ„³Ýú”f(WÌ;ÖŸ€¶R¤ÑÅÔ“†ùÝi´è]ø-O}5(­òÚÐÏŒŒ²}@{´NݼüîÑû¿ð! ˆ¤W%a­(‹€°/¦mk°\Úá•B^â?áê8š”Šq“r>oovl€±b¸7g—ÂÕÊÎ –ÐÎÏѤä& ÍF¦Øº&9²k}˜$„ÎÇ?ÔÕ…& 73ö¡*ßÁˆ¶1Oû#[“tÅKÆÑ„¬4¥¦“(*¹+£SÛú$ç»ë&Nø*yÕ|`,ê¢É„Æü#Ʀ}©ðM†°¡Ê)e•¯T‹ÉCYgœ‘³ü‡¹"+aÒ¸ÅF]Áß?$M­#éèÂ3$ºüØ%°µgèkÁg³±–˜ê»y>bÜþs%Õí 2#FYŸ 9Óë¼ãé{Ê…ˆa<‹g8eæ£c„[=Oàˆ;¥š÷³ýª¤)VJuWzsyÑœ~»­ô58>rñûKs=ôæÂÒkç:‰T[¶øs7^÷#ž{sø_ÿ€šË$&Ý®x^ êÑr‡Äzæ‚n¡–*g,O-dÞX=@€o¨ŒÓ4LA ìê¢-¨™?¯UQe$]šµZãˆÝ5„n­ÉGº7·›Y–qŠƒ©¸Ѭd…ÿro!¢Ud~fÖd,7¥aXÒ©`bqú(E܇Éáùá%®ûkÖB·Ã:×J±ÃA®~¨½Õ;£T'· EJ5ºµo·GÕÇ``¿„ÑðwöÜ’³8¬á Ü`«ÇgÝPAV€.)TB€}ò/ ÷0 Õž :ë÷Fø³qNL²iò¡*ÎÚâHöðo‡&e î‚ x5.š›•çD©ôpÊ1×U¶TÉAdÀPtaâÌm}ìï=ëcœTÅCÆVÎÝY  PäUÓQrSˆ«ðí²v×™_†¿o¡ËÔžÇ ‘¢(š i,¡hzRöž–­ùÄêó‹Ü¡º½‡(ˆQQH>²ht—Y#[ÏBh=3xz–>ìül<k„÷TQkª\­¡¬õRyCkÿrW ®©_nÓZðÁK|z *÷+Ý.f7og0"Š8E¾g›WŒ¸ø˜ hÜàCk×"øø“¶ÔÞ¦y-gã˜àqXµ J5Ÿ°!œÝ¢¾´¥N.²ß3êÁ§ãa™¶‹jä÷ݾC" <7Û|€p :7_Aµä¥:¿o&ìË>Á¤ªæWSòÊmáÕÓºœÊ£ú »ÖÄ8oY`óPÀêšù£Jêè|d7d]„ê´½ýÿ÷—㺓ü%guÖ(A°b÷¦ìäGⷨ׆ Ù&D&i¡Ô9>ª²4L&µô¿GmƲMí”–»i9¢üìèv¨Ü1ø˜6»«ì¾V~/ wÝ)of¸ÃÛ8Þ8äIº27þ¿,öý.!~¾Õ­ì®Æ7ø…þÀëCªRøç`Ÿ³(yD*“Þ1¦†³$߯œö.T„@rV¤btÄ¢Óæð]ÐÝeNPG—J¢"HÅ’µ·ûQde B:DÿKl¬¸î‘iPŽLXJNÇw1uûÇȉ,é×gsr¸{ê°f>Âê†iñ+ôcîw#ÅõÙE˰í!Œº¦)íøf.ô%¿ éÀ#wÓ.·mí{5:³Õ5¶ÉsG÷Q¸—}pлdíôßë?¬rI[¸¥áúHØš—ß¶,_ÊÍëSòè¡jÉa>9ÑúB+×äJÿ4-g#a´Š"BaW)½5ïÓ }¶Ã¹¨ÝLÛËjLŸÇ¹Çü'œrMÏJØŽ’G–¢‘¦ƒ­ÿw{UêâÑÇÞMžçb˜ H>ÄÚë­ âµ—ârùXž0–f™¢¨ ´óÅÙÎòrx@ú}hïâa¼¢ØÞ7ù‚w„Îh,Þ\pøÑ 5’Èãœ&'KžÇ;k`ß[à $™h{ïÎ2yl[8¶³œçÖ§_W4ä \p4Ü m±ñ:Wé¨ýëH|Db(¹®\íjH×bzâD9úiÂE"ˆ#…å$)±ñ<%sdüLäP 7çM›¾Ø…+µðåR^€¼bÞsEF°ž« ã£Ã ÕÍ\Çõk‹_ñ ÙÓ?5ÂþÌ÷†ñ‹ã¸Ó jËD ‚d'ÙÓÜÊ•¦Åãµ¹´¿È{öˆd²ïµ;ÁéM9×!œ¸ 6x[?¦«]øg"8[bIôE÷Êžîó0ZtòÚôcR²wõ ºqvmðLjœjýÔ5éb$"þÆ-< C%5ã_‡êr¥aX¸8Ÿ/l+èh¨ðr/—A8Ï+~¨²ÆnBÆaègô&he˜º´àÝý%r-ŽWÜ×>äuu,mç2-N*^6 7cCäŒE¥ÒŽÛårb–‚,Ÿ³Y¶š ãÓç2^±$´ýÚÏ$åÆ*™8§ì€ÿ"ˆ7BÔ® ±>évyì{SO²¿0­ "% ÞF±+Ð-E'rËÉ݉üql)nÏL=iŒWFB'-Ýô=ÄFš}´ÝÈÐ@Ýo¾›Ù¯oOaÐÏÿÅ15¯ÝêòwÔqÜütW")<©µ« ¼ò\Û¡UŸ4õ‹Vú6oÔÜåÞDêã¾ØÄãGiãEÒ¶š5²ŽÝOÙËe^3¶ÁûIFþÏùú)HÆoï5A©"Ë3ðEX+yX¢žÆ…ï°pxÇ:a ñ_PÜy—Q×ðÕ‚LyÛ%̕ॸñÅF/-Üï‰ßäßià­ Nwðé4·s"É$’£?Ð¥X²òšuRÎík:d°‚¶OÀ°gê64ÌþFÞ§i(Ÿ“ÀRì£"³Nt'Lª0Û;&²d{̘0Wâxšý¯;,H%óž#î`5º*ç_¹¹!¿8äz9z¯ï¸ïY‹VÕWÜ"®ŒIüÝ•ŸR&a |åÈÔ <Ôs=“¹ÝlÉ ´“›,‰ã-XYîš×¸U+b¹C6Gó;-ûåëì"râú[T™j‘¹³ÆbµÛöq"F΀dÚëópºø/,jQºÂg±×=³]7`—,Ë[ ÆGت1Åø»Mñ¡°¨]õ[ÀMLJ¦ÄQ÷¾æ›°Òœû#©µÎ@ÓX¦o÷WZ;¯mÿ[Û¡7pjŽÏ èO¬&™æÐ»0x§…”ˆàCÖÌGE[ª<>7X³I›~ƒVÙ1Ft›$Ö.‚ £½L G;ÖÑÖúbl,_MEÔÌ•=DË£aßH¬ö¼ÚìÚó R,ó~æYÈË­t!<Øz'&¨zǯƒicš¦ª¥“ƒaTA+±‚Tw™ƒÙôÓÐ`ýÚ:üK*¿Òw«÷Áƒ0»B"÷>EBo¥ ý§|(X(ì’ Wšx|bƒ§/V'Á¶‚k€Ã9;üzÚQ´M¥äV†2Éëꊦq00P¦(zŽTŸ‡xhSk S-+Â’hõãn9YŽåÎò>=;èŠfß FNšT9­-æ8×ÎßVà¥i¼5ëA­_KM,¨ðÀêzs͹ò·ÒàªkXNaé @÷´‡Éž„F¹„8‘07*™B¿ýª@+âóÂÅWlè¶Ýϰ|?!×jÏi…BÀvîjüŒ§ß´7{¤¹íl()Æð”¢HßœtÐÍcÿ !C¤Ó3¹ÔdOˆ««bS¿šû<6Åô*ÍO˰ɦÌÔe&†š[Î+ÀŒ<ðŸlÈŒ&ÞÙ¦—Ô&*ɨØ©iiÆÞ‚ï(‡ÁgªáBeçÔåþêÌŸ‚ýÀ½ËnǾËóIS©Ä玠à`Ïðvtî çÉ)Ôë¶åHŒ#·qºûñ˳$ô2W¨@¹Ò3[¾m<H¸Y’`ÿ¯8; =ýçp¨¥ÕrjQ+²G ŒLÏK¸5%}Þ¥Ímá4®ˆ«lË/Æ»úF_ñÊ\×½¸áháÓ†ôŒ'ñ'ëEÓÓÓ}ÑÆЦßbHÍÄKв˜†Ⱥé²ÉlgN ¸Y}:Óÿ‚ §Ö2Vþ©|Eç#&†^´ý™‡zÓl» Oùk)Ãù8Þ"KQìCݰ2[ØÜ7ZæÕ*DEµ#®“f~kˆ´Ê7˜Xa9vGhLÿ6mŽl}l莲°5M'é#,‚Y‰?¥þ7.#ÖQÐþö qc1MU´ŸÉpPÉJjðI„vWÙÂOÆ¥;½i £“ kmë …ÇéÞ2yÆ¡k‘Žïpà“‚R<¡ÄÎ÷Óç  · âÂJ#ée^.i¢)×–ª=Ñüÿ&0ä”±E<Ï5d³0™åž;Ÿ¹Áˆ¬Žì7pœÁ6UIˆ}@ ‘¤‹ˆ­13ì+-øc{ÁÝRí`VÉŒŸItm9€œèFgóaœ|äÿº>ǧ¿WÊñ:½‡Iø ZÉÙâ·Ã/QO;Û¸¾§òïÂCpÆbsñtwÆ–˜Ôð:¥%s5Ú»KüÇź[e>ä{Ó!ô)“¥ |kB[äHídlžZ+ÔÊö— ÙÎ$ŠÜ¯rUDÚ쀳ÞWüœžw:~€xx¸À|AÜM0¸èËÎ5·g±•10wŽ$è‘áx"âv|* †› º}AJµVÞ\ˆhÈûžšM ²Šnù°;¡È–âÓ'Ë`–Å—v*óS à,惵¼¯ÒfÏZ¯vwúž)ì‡;tÉ©%\u D;ðR(Ñl]ó­õk¯d˜0DïÖ^¤>”ç¶Š£{¢È1·Âo0󈆹ˆ˜ð+ Ç×=rj>:=|BUíE–  0~ \ˆ=Å=vŒ‡ëÝdã‘ÝU-ã€a[ZóŽu÷0ý¡ÿ•ƒJPUÙp+¼°Ñ*¤ëˆó²ö“Uô@¸oÃ]ŠpKf Yĸ%pE;©‡™Õ74cæ8y™cPà‹Mzù(i05 6²ýÜc#âØ èü¡)åó,),þý¢ËÊ¢(EQ‚†µ1ì%´,,ÕÏ5˜æ¼ñOúgãƒAÈ{ÝjM“3§[®qƒYÃ5ë󎧑™_ÂÇ€h%¢ä°Ç¢=Œ0Í^SÅÔ…âS£†ˆŠ,ât$á[ʬÜ;8ôøéò_"F„q|Í<0º­( ô!¥êañ騠Ç8­·['µˆ3Z¨6(¯—Â1‘ó¡xÆŒÊ)¨f®Qõ]Í•c…®/`‘ÊÓ5Õ“ä÷ Oâˆé·ÝF0@Ç{SŽÌ·)–Tw“ÉÀø ¤^®®ggÞ—7Ð,ëÚÎIí¨„ʼàbEÇ’0ņZO¼®íî™íÝPÖ”Àè¿Ò=ïPQ~Lb.a¯oY ãæ^&„ñ鉼çu0šÊÚÓG£_£dÄÿ‰³ƒëì3e‹ÁìEœ~Ý$¤¢ G1x×y¾JÑ'¤{í ä¶SäøÑ¡È׺ËÈY¦ý˶SŸL8kîÜS?šK °~Ü0€”¼spqìÍæŸPéÝ,@€Ï%k”½Þ¬%e슎qsŒº‰2Gërõ K6Ðz(dïb:εœ 6˜¶J'c[h„`Ý;7?¤³OŽÜy¿à ‰>K¿Ø.ý¨ö0>5“YD›žd|]ŸÈ*ÈdÓʹ±øMT”Ý¿°£þçÃ@¦Í7γ7­ÂvÎ ¸êÄŸœ*Q~¦”{{¯÷º1Ó IŸ•ôÄ$?ºÆÏ…Mv8®‘3xc7ã½´´ÀáORÈÖŒ¹ÆýÍ:¤4Äz£Ó¦c¬{®‡ï£‡…xðÅtÊ^•É„IwóÜœ˜ &ļÊ_/ÈÕžÄÆÆ÷™e)yoÑŒö„n'ö¤ÄÏžG<‘çò,MÔ—: ÝôŒ)m}nטd﬷˛GÏ@y[ª¤V°;È/I&..ßçµÄÓ…­÷›à1ÃÒäe)zG{]˜¾T*‡óî°Ih!°êO>Õ64øÔ^dõËä}u˜*–l‡½Fa ÙZ,”Z- {Å5Ýø1{zzùÇÍxeXiDJo,p¨íç¦.îúqtxHçpž°½+¸ Ô©A¹ã¾ôÇ—»ûâÑY}žˆøÓþ ß,Ȳ*JwCF¥EÉ쯠yK-fQ2Œ²”`†Ãâ bæcâüY\Ó ­]@îQù×å¤Ô¹y¼oáâ2$/{v™0kвß-ǹÃÁò po5å¾Ë†‹ŒºlMê÷αãcÿ¾ÆGjôö±_B&p‹Ÿ¸Wñ¾-PD'$XEô4ëÒ5DÁç5('ÄÃ0–õ«ÉÜRÅyŠjÂ<൧oÁq ¦ì¢y†¢* ,*Ñ#¬¸ D×­¹Sú&תϑßÙ79Æ~;Euñpå›5‡?ñ  ‹ñi(aÑ®·¦Âbê^Ÿ|’´´å °¥¨¤ nƒÞ\ÛÛ(>¬v/ì%"™¾knzZ •)× T€·$Ÿâ ¥ž*¬?Ðòñò ûŸŠ žËÙÊH¾ ¾ÀÆ ¹D©»ðUŸÛ‹&ÃÝÐh4^¢j·ìúeÍýÀ ò â÷Œ›óM‘#Û¶…½R¥åÓLpušÀÊã/áëè@º@*1wböä¼¢ÎxVØI8õGÑ~¬Ÿ…«Yês"ÞÕ¨ï½*!½àâ ÁåÔ.Wç Þ^¨\/eVZ:µYYÔT×t_6@#Ï‚†=Þ`I„ë´C’t’¥LýÄíÛ©ÚƒŒ=7€rìv‹¼ëÙóg-Ôу+­ÝVjYåGcù«¦¬¼úq\'ÈäŒÃ¸ãuv–Ù-úP”y¨È\„¾Ðèh´¥óÄ û]@üÙ³~¼P8¤;FÂ÷å±à_ɲŜq΃uÚ:q´“Fâ`à€¼7bÕ|¢T¯Bœ÷Œ ’xzöl!k‹ÿåHo DNGó÷ëZ"-IOS“Ò­[¿G£}‰|VËWûUO÷yTýG„Û•ŒÆA€W˜vm¾ˆ.6óPÔ¦`zÀ5Ÿ +mš®C@¥ÕÏkë†ÉÄàSÉFlf-؃®‡‰@è<ç:È,òÌ`¹ bJ:ð2„¿”Ô~™<¸Ü"»¨;³½ªŒ.®4€‰¡WQO§¥ÊÉ;ô1Ïœšÿ)€Üc‡EÚ!¶%SCï.T@í‡L…5…âÕôm.£…SM!‘Ò¤:U“tW'n†ß¡’Ü yÇ}£ßéó)C­+pÆØÀÝu<§¡±–?§×ãªN8+–îE™ìžî¡“q ~x;ÁˆfUݾ3¿ú>+Ä=®‹¸(WÇ7+q¢Ö†~{©úHŒkÀ©Ñ5çF=C4À¦Ùöùø.rWú‹¦}˜r© b^…è[Þ wYk/ØöUg–|1X~?¨Ï+ëþçÁDúazÄ»îà]⩦×:3˜o‹áJx—¤jr>9Z iq Tæ÷ìÎ3õf2–í °¾Ku¢ëÛǵQÒŠã¹A0¸rˆ ¾{àgÉØ­åÄÞØO9ÕLo ýV pWcÂU?;&Ý5¡·’,» ‚ܱº—Â7¶>d fãPœÕ²Ó‚äv`aUaò7°ö%9­ÇËpŒüb¹wr1d8Ò€_óàAûhÚq›^Š.Œ)PbœÕÇÏüQD†5®˜ qÝb‘…4-± ÿÖU¡UWG`g SÿÛÉÙŒ™ã†P^îMðPê~^áËœ*Î9Lm *­§ì[©R'ë¨'{»ézªÖÙ¿FÖ5µœqO K’È& ‚¸×}(Ss?V_ŸuK48÷èÎvi¬óIR­Äì5ÞE¾@5ê|ø»·¨âÕ¬ˆŒÓm±4pE·*-ò0ñöð¨üƒ,ŸÇYjÿ_¾ó3®Ї;=—”¨fŠp#J¯þ¹™\¬%4¶ÉÅ`_ÏèÔÉ7 Á¥°=ùÂjIȶA‡¯P½¹m‡XEÈ_^ÝÝL «ël:„#é“ö·Ý%.¾YY³¼–);Ié`­I V¤ õ*ñ<Ó+< nûnZ«÷A[œð{سxû:zû4 ôñǵ•ãݽù1]‡ãEË<‚v2š 3X{už8Þ>};l¤6QIÛÔ9Æ&ð3ÆðÇí)"LrÑ«VÀ-‘9‘p!ä@Ò—Å~ÉøÖa(r qßæGënJé÷Q/¿vhB[ Šémÿ§ÆGø’¼[NìO>Ók¶„ëï­ÛUÈ?DŒM!æÎ#Ô@Œ>¬†XYP-C Tì’®÷#ÿEÈÛúïAÓ­Â„ÑØû 9Ç3—_ó¢wÔ5ÜPáÓ‘£ Òƒ]!·jᵟÙñnÔ¼­Ó¯µÆÎ¶–*cïöëh,u¿,—;nÀïø\“ªbcSM§Õí{×¥¦{¹å9ÿ3n¿+ÿ„ÿo¿ÃS´q]" ‡dºÍ Íuµ/®ØÙè½éN o^µÔ·ÁCe w;¹B:X!wc/‡!Á‘Y–ZZ>ÅP‹ì§oóEó™ZÀNw žð JɧÃõ¦ào ÿw›äÅ5¥ž©§ŠŠW)»y›Ó¶‘d`?¼­(òr¤-CUÔ‰“Ø™Ì À=àœT°ôOJ…2 1“B¦€2ÍÑT[UÝ3ÝJB üñäà›t\äe˜Æ8äïæ%'̯Ú_¿yY/¦y³0¬¨š¸!€X¶G²|*'§m–Ü‹p$‡‹L#²«…¬š}ïËšhZùèå’i0(͕ÒRyƒ=÷P§u#[qÇÚ¿R$èßLJànÒœ™…Ty,=_•´qáÓ Ï>ˆgv\ôƒÄ˜fvV5ú’FÓ.ÞU éÄj§ãp›$ž£à§Å“ZõwƒŽÛù•V¸ Q¡^¡­„o5(‘­¾Ïhzñ åXòu‚!M8ñö`¼5Ñé2Ôã0 ˆ.{(›ãìlM$¬Ÿ³"³®v"¼:¯®`1~Ø,²0¨{‰ ÏÀëaØTø„¶ÍEô]¹U@–Ê™»z¹X&2L{í} nRô@¬æ“vÖcu¢yÿo ž’D=‡ðud,Ö̰&Öå  Éý_ÃN36ÏS€U&ð³}5ÇA³  'ŶCÛcý.wÄ|)ŸW`4çebÈ¿?Á {CV¤G/|5÷¾Pøû¢>Ú©/9Ú:é ƒc'y¾Ñï‚y›€üïìï,°Ó}x¯/ÏXr¿ì2¡ËüÓ±éÙL32³òAGüÌø¬…¼1q$~#”—¢s9®:ÈjÄþcvóí‡r+³¶+éfÐÍzÂyîÒÓ­*"Ð%Ö(d8\Zö‡CEtªú=¨_t=, sÌ€p7 <ØPBÞ_n8ûÒ´7xJ,£Í³T~¯“¦ôEo [õXÏrðº‚ŽŽ½]Œñy¶f $x›žM»E’2š”Ü™¯hSŠ‹Öª˜ÎÇ.V`ÊŽúEæ(¤äuCƒB¯ÂèÐì¹~[þ)ÕѨ‹áÒÐÃr»ì™×/Ê£\¶ ÃXz:tôí¦vhC×°š'£¤ÑYûm²RÃb_)÷u‚·Ûäíq>]`öûXãVâcn¡[:Ó»§÷¦K3µ'×8QX+‘¯e5ÍAhñøtù´=Ñ‘tvò½óÒp—åÑ4΀Õ¡F:íÝpyäõº·àªÀÕNFý}]&0‰C“F lór5A[%Ø<þþ ”B0 Á˜ÉÀE÷àü: l¬ŠÙ¶½º;Q ú,e+þŒÜ؈ÀÁàÊ|Œ~DáçÖ‰@¼Žy<ó€ÀSPEÚL¯ ’ˆh®¿÷L;wå[Ø™3'éQo™;Ú2oß· bô0!´ÈiŠœû·‹}©{úóÔ¼Hn 8ó«’¸Ã[Ãý¯ggw˜fФRµv *9ÝpŸ_pa“Ðíâ…<‰îL¡˜–ш·¼ÓÀËÚ_é³@’–›§¹¤àxȨ²{k§®ZŠ”ÜÁðÓ]–Žâ>u&Ĺ•«ü3:ûºWëZУ™ Ýk´Éc¯;áWõÆÃC´£­«õ eéÜ£fˆJK¦Ÿ£ºÚA¬p ç Ÿ­ 7yƒRP´u‡DâÙsÖ ¥"–oaSbåûÁ›7¾]báì÷Û—SìÓÌš÷„ý³ukŒŸ…bB°[ñ€{ÙpˆÒ”Þ®¨IfèçríëŒT;©ÏMNuED·Oç°Ãï V0kC®_;t^‹NWŸ²ÓJgÁÍGÍ ø4Ð3ÔØQüþá©Ó8𢸥unì8¥¥…o3\…/õ”ß×÷çWæ 1däÔìÖŠT>e=¸÷Ic.ýœlFspœ+{u ­äœœç¥IâÐøÿkó* $b=úöYõIÒ¢p'R¾»¾Ï¾ôES\©äkŸz§Ð/‰$9^ã"½wó´L*Ô·§VµÔFüu »Ô–ÐGʸäCÏ¿âmÅ=Ám †¸qßàm~šg6šSë–‚hÝäYG´ÅgÀ÷ßÀÈOØôÁ;8„\_Ðôö—üÁóŽÏ›({»ÆXËMyÙ>É•I½ÔìJÓMç”JgßFm¾Ê¸ÌéLl¦zÔ?t”àÂ&Cu6˜”NÀSÙ‘[coAåZäÀ]¯ M:é{† ¶”i4wc[ ùIñí½8™BåªÎÎB*ö9ÖÒ‘$pZ,hý³²r´î~Vñ:КVh QëhÕ—…U¢ˆOë~”<qÚ£ZÐìã°rËC–Fý·%xyƒÉ®É‚;qWÎëgPwŸ ïQ2bµF¸ƒot¬7wAÜMEšÑ×éWÜ}´®„¡e%WqvÜ t3¬Å„²Ç,NÀC˜eD×F©ÖS°0T‡Z÷Õdß›(²”Ê b›eæŽö3æ±3äŸüÙ VžÞ¥cÑhGTÐÓ!Ê>èê_ôMã¹ñ2¹¡iú!,Z5¤F×±ÿýFªmÄ‚gJO™WFXD€¢So$Ü3d&æ;IJP„×M8Ðg㉼òÓhÚ¶tÁj?ÑwÚ ¯¥U ™q×7GÑÓC=õìŒ.…›”Òsa*‡À=®sdªr¼öB: W¸o„zvyõÌ‹^¶Õ–—¾6¬—ê¶ÜÜËïWPúÂ!‚·'~Õõl{Ã¥K¤Ï5÷`W©ÌÞßXvúqõ·¶Õc|vßpb µ0"b#×Rƒææ~ ƒa¼ª³ð)OIÅ A÷âÙºP^ÙçÎGö F¾·‰´~j6®‘ÜQI1GÔõr6ü;em}vÅFŸžÖMóÍÍÃ]cnKš7JîÂiç WÄàÒà}„7ü9Õsy'äHÅkÔÚh}Eš1Ø­…>N MEã°^ŸÊ.¨ŸÛi5|´¶Œ{5hìÅóùÂ1‘$eÓéwJ6WQ÷>=ˆ3»ÇI¾»<ò Ik×üV½žO)÷Añ©ñšÍ‹¿þ¡„‘”(O™!š2Q¾È–ß0ü}6òô^νü÷°ÖŠ3‘þ6€‘à—•±Hž¨ÁÅ‹5âY“×i²kV𥹔¾.Áš4š!‚ Âj„«Òý2#aÉ1"o1K[?‚Î÷) úª"QTÂÛïçû‘èÖC›šúF¸FÚ¨½rüº™¯¦Í7è+:$•m¢AE3©òÆ,° ó°,°X•=±K| üÜK£¹Ð4±¿_ˆø…öƒS{6©;{r*dîøƒpå:fYžÍxÑ\,"ÒýB›k™ZþS•ŒÆƒÐ„j ÿ+&ú£  |pô¶ýèI™Rå>õŒÕ4< Xá°|¸Œƒƒ=¦8³þßj$Î@s>›¶ºŽpQXVæÁ7¯PÄÐô=‡B£Í&]à'P*9‚é¶6ü†ô †¼Âi:‰Õê §D»€h-퀴˜Ó)÷-`L>ôÔfÜ6H|ñz¡24\®¯Ø{†Oª‚d°äúŠAÐñ*Ɉ½ÇÒê–ÂúŸ¯för•©u¾GK¹ÖOa%Ñ–ÎÁŸO"ZÂ2©(Kçä-¡=vâÌ  Äœ•OBÝé êî0+jLs1v¶ÌW)°WXsô–FäB0f«`gápš÷¸25gÚëП!zïÊX6¤ÃN•Ú¶SI`ˆn§‹wÍIuá¨S\óDð~¤Áfeðâ|v!Àn¹¾*[wÈ6I Ý ÙHu:¼Iªf¡oÊb¹yôg¬¸<ø6ÖŒÔc^&_«Gj‘–”ž€BH–Á¸—úþÎîÂ&‘·&m«#GD"‚%”‡íKhe>yP ‹ˆ,¼ÕJ-ºƒÐÈìºáN&¹×}6¨í¹)@ãú£XíDØNv_Þ¯Å#‘I@:¢9)ûz‡¤ƒ8æV¤Ï¦91Q0Q6ù€ÿñ×’Ê/~ñ”n…ÿíZXŒŠ3q„Ëäa¨°F"ip¹÷zl9¸,Yì&¤ñèse­ùY`ü¤´1—5-[ZÌë²Wß+ £ŒåOsæ«•«¼÷VdÀ=ò3îÇQuKÒœuÊhú¼ËOwÜæ…Óˆ{qþXV˲ëCæŒKßêðèL 8H`|ÒÄ_¦ÎÄ›mN©1Ð=Ô¦ÑïQ+ ñ‡-Û½ ›È„²…F áóAÒ˜T¯1±ä›~¥6˜¶ï.q¤S¬gô KšÏÖ‡J£1»z\U$!÷ˆ| >–kPáü‰ä~^ߪ­Ô[Å lH>]0^ßM·ÏFêQÀJ²t¢ã4’Ù¼£èò-w´Ò¶ˆQCžòÃM‘U`ìyë—ŠC¥œîhÞ™äGšj,I$âw÷@Hž%Öû\Ø´?¿¬öS³’JÛu”¶Aüìsƒf|ìeu?mW—¾É ´¿bôbPÕQ䬵Ոst™ãn‘Û”=j|z“˜·Öp€xC"w}´$¬ †0…`ûÓ8PƼÝó,3äoR¦µ+¶¿ŽtÿCš¿šQeL¬•'g6cVn' oEø÷ÀF~Ê]Èàf8㸥Øvå ЉÍâ|Tš÷§þ(äkºµY}ìpïúÝÞ¼H¿“ùxHñ É´MA‰ŸQ)æ9Ö¡—¾véÄàï–œ7BPšÎbظ•+ÒÊ{ƒš¶”ë˜w&X&Xâ=-XX£òiˆ‹Õ€Ý•´+ù9”÷_?‰ëÚ)Xp4‹8‹2 «2ãzˆ Œþ%³ôüí­0W„ûÓÄÙ§ŽJz-WäyóHR!mz|L›²Qa9¡EAøS`/¥A´ƒÝBLü´˜Ê ¸°l(׬©e/)Š«x+|oÈAî² äÌß´ÓT%Ó z“eÛ\Eª‡!œ€+ ]èBk"F‡ü¶m,Cö°|™À¶þnÛAÓNï½K6Áõž‹ÚE"“ü>Û€¡Cÿ8Gÿ¨^VòðýK6«ŠÌŽú½~ë)»ü”í|%pű‹ ×ô­g®HMÀÉ¿ÊWqgT¯'l饀¨gXzì ùdø¼/ “¡àe}<â¶Ì øÁعØFrk^À¢“ÛQPJÎkñEiYšTX¥hú±t"]øiì4ÞÕ@*Æníã‰Ð•"&OÖ nT­ÓY탯Üñ`òM9£¾1¯-¿l1LsŠC·Q²¤3²§0I~x¨Ç¾WNA²@áÄW†SmÍï¢hüªŸ²ÖþÞ;-öt$ÿò럺A„£G~Ñ3®ÛŸþ -pTÀí´E•ÑÂþ •šÿÜrþ^ëâey•Å`71EN4|ã™è;UƒÅ¾ßã~{T!ÿ\AâP© =I­%´]­ÅÜäPÆZJžrí«òÄíîÕ›-¶'Ú7˜‘†ñ‘¤»G/}Ô5˾V@R³dv{×Ü-S jå3nÙ#ë¼>8ºQ‹Ó½$ú±”Á2÷—Óõ÷ú®_Ýò…»°NÒZŽ<*ÛÔ‘õk æ' {1 nV×éáôC­¬õ…l±…ù¶¢þ®ÛýÉoãpJ*,¶\Ãô+IáöT³ì i«€œ±P+ä1Ö¬4‘®ïä“û¾/ØÍÓÛm Nƒñ4áì«Ye¤*m@´h­9¢ +í1ØL&bÎ!þ­ÔßsuŸr’q–È‘Úò ”}vÅ>›.ì˜,Sì2ÕªÄoÙ¹ ¹£“Ñ¢$ ÉT=‚cK61ø„z¨û^,¶ß¼u=Ã!L£Žo&xúŒ*›ÊÊýc‚Æh@fÄDë|y<¦÷à:d¦8»Œ›òý˜ î|=“Ř®cÀ¸y)æv¨·©¼†ÿØFõ¬ë(|†({j2rr“/ûq@ñ"˜{ñøÒWß»»\òµÛIþs^¾Nòýô2 GÀ±Íدõå; ´q†ÎYOɆo^ÙÍ$²„žW™ãÆú(6&…Ò9Úc,µ¹§ÈN 5ª&‚©ŽqÀ{êõè·táŸy°E4”ÎçGp¬ø»$[^ëÂOÂjf¯!aWC™“þ5ÿw⑳Ԋ4Ó*[_w±Hˆ$gÛ`,¯H·tó⨘»„:/ òUýoùšfä«<…¾ø2  ¡æDLdÌ^¿áVB¸‰GdfÖÿhB6bíHÑMÔìQˆ{ÚýB¥QpÛøòÃÓkC’¿€ W—¸^/³÷ùÌ«¦Êï:¨åB?fY 2Û(™ýz÷BÊ8§mU2lõ¸ÛZ. ÓŒo[v‚1‚,3Ípµ¿ê‘d”êt÷)¼um TïŸFLŽÎ¢öޤ üŸñýühµr@-R*@v¾!È-Qxº1#³Æ5jÄÒOûÈ6aˆÜoò-öíoI)}¦)þsE¬y{?8VH±„?@ñIVÔ­Å—/@·¥¡îXòéf¯¹z‹‘pðà!·qø;÷™G5ùõŠëÓ60Ї^Ó÷ŸW:´åƒmú˜ɬk:`„œ!“EJ[Ô¶£ôÒ‡ *%æÅ¾Yé’³ং›Û‰}“A3†R€3‚=«Oúaž¼à œb9e²¿‚k³Bó²}½­qÄÒì-zpÔtßj‘–t-Ë‹­O© a"kÛ® =Ï7$S¼ _EËàªK?F=¿Åô®°«&ÞŸŸ8w0rÙþJàk¸!±RŸhf}%Š ›ÿpI=ýP7"‰@ ô 3‡ìX‘—b}VåRâfß9o [™¾‡,‚>šQŒ!× \G —íž•/á°=Œô0aY–y-:f–Æнž}¢;šÑ IÝ1D:”:§³›œ"—?5äÖtñAq'"ó(ɦß+4[uËÜJÍ/×nT/xõ¤1¾ÈÕÚD”R2ãý.–蟸¥dð.°˜æ/ï”LVWmV(ár±!¥í¥^fqSŠ,hS¿¬ ôØoCZc¥arÓrK.QÅçìs.ÞÜÌÇðëN’¬m7[Ê0‡ë9ÀÜds©§?îþŠwÛ>^„L úœr/Â}˜ €ãŒDKZÁÓÝ)¾³À-‰|½Ùy½Ž¬Áì´†&…=w™ð|/Õ_êýiËÑMÜÍݼ9cBbÇǸ„N: 1–ûc¿ú=Übž¾U R†C9ð´Î¾\C¬b4˜/À^ì­4çúz?VA‹B?+63êVƒ%ˆ`Ixú‘ ô¦Îæ5Ï4³DlNQ&†ðT ¨UïÕa‚©ãFµÇÞôÙ5g¼$üÒUú›Œ”dt¿Jœ/õ½Ð|¡íé`¬k2f—9ýÃ$Šk€{‘u­ËتûÙ×ys4JE‡? Ú®îòYw«ãVí+ë] ]{Ò©; `,V¨Œ5AXÏØ† Ã±$ø'#¡£ñWð"ý"RÛò±)ª©I'zm×@ܬäkÄ+ÛkESð $ÒlNÌù›@P—ú*> ýP˜\…w’üÈj€Ÿ/Æ%ƒ­  *WS Ï+ª}TytÒ””¢VÝé­B_27!´Ìf…•rESÛ\º„šÏ€Ì2Þ* ¡VéívÚh–7"q'˜ÛKrÁ.è”ÉHUíÉ0^(UÎøV¿æ¯°ÄYµuœwx·ïÏ §e 3aÞâ7‘Å#·-Ò ´ÕÌõiv»ñæÐޝ0ï~›€"ò„ËKÏ,Cù;»×˸뻧s"BŸ"Õ:Lë ÷ièÌ_O ¨•+4îVä†^B·¸ýø÷r›—]åB¥¿a2êÃ՜蜸ה]ç3"Mud×[%Î7U˜ÛkаÎ:ð™÷?ü‰Ä} ´çüvÚÝø¥Ïز¡41`ÅØƒß†R²ã39ˆ•®¿‚ƒ²)æJ’®(™Ä3Kž·¬­)=ðQ£äû„°, ·eç‹?Nl16dþ;Ÿ…÷îãJlc}üF$"òòºÄXnÇ(~æ’‚‚ðT¢âàÔª)\ ÝÐB²¸%‘±uÅ51aIÊ^#C*©ó,õ.!ÐeÎ3$i7Ëê‰E¨Åùã¾w#øx+ü”±ófaPû=ýv±±ÈJhPy6ì£ yh’™É}€­% íÌ׬aÅÈ •€…J —zæË(јNÓÝÞ{u¤j–eÞaõ!6ò@­]Ä;à†)ÁÐÐsÎxÖÇM±ÎW$ÉÄ­\%Ž=(X·ü»Á@V›C·¡ÕwÂjLƒWé‘ùA¤€” ×îÈøZ=[/Ïç™U7@J!ƸEœª4§òíÿ-å}”¬Ÿ°£Ì:RiÑ#¸˜#(êüd;øô…ÉÃX@O“ÿ¡¨={UUĮе€øÐš#&({!²8‹g f]¨²Fa=5ÑF6*;00LÅØ„ÕꊽÐG¶Ê±Bc­®Üo ÁéË@ ¬×¹3‘ªÞGÊ?€Œî‡’VÞ*âè—ÏQù•:=ÀL6îÙ rkŽP¥ÌIxFìj’ûø`|,=dÇ¿@Ö•´€=ú2—¨¢ËFï3DÄ#IÎêõûÍ©`dú虂…MÈ;A<×­5‰`PÂïS‘EÛW`r÷–T0Nv8¿@ôDÉâC” %G¸‘~zxïË,ι± þ ÊŠ—ypS¶WÝ3¼eþÕÊÑqœ¹(KQ‡~px¢¯N³ìŽ2¬_s0_ïŒAe2‚áû^v#@::í¨ )ƒüÇëÃ8$VMóÓôþ+ß¿ ݪzý$ÓÀÂô‹æ_¸$è·UäÛx[}Jh¨v“ÐÒÏ(4œ¾b6\\PßÎå´7Óúp—t€³Ôî–ÏGŒrÒÃje9fú¬UG)6„;¹ñ.4ÁÌŠç°Bôþ¬oÚr_H%x9’"_Žëä¿ûíß¼3Öo‰E„×ÂB"®Ñë§¡duõ/´6.n(ÞÇÎ9òÄ®ö(A¡;vtÙÙ)3‘ïä<-7x/@ä’òh’&Š¢!a‘ü`úÆ|EÒ ¸§yóLâϧϦ_h(»ì±S”Û)U›²çûÉ”èÝPFE}eÉu ‘ás¤ÖÌA󫃜¢v[ó+7Håú·¤.CÍ›MG“³×Ðk>yeêûÛ-…UìÊûWë×;í‰Ý”Gi”æö¦eÅr•’Ù SÖ(LJתŒÆÂ"?"EÇæ“·Ä¢ µ ›*Z{}ÔJ|MŸé•ÃÊ?Ìc ÖpENJy,7€ö‚®¶ì@σqzÊdôôD:{7QIlÆ(ÝZØ;[ þ;`ÔÙ—^°DQ˜çž\ëJõu6íYŠ¢çó}¯@‘ÛÑ.Òæ¹p{ÝÁl†oðª–EªÅziÄMŸÿ¹AQsM`¿È<¼úä'™êüâí¯™–™¶GWY‘¥ã»(>»I…tÉÒuB•j®OBÊa´¡öè‰÷â!+séŸPt^™(¸D@"áùcÚpÜ#§äçì–' žCÛOÏy|Gmѵ-CÉœØ EìÈ•X-]F‰>á Ð*4—Ó"›gÚ#YÛú% u®ºpiäèåîymu>èí³‰ÁÖƒM:RÃg eKZi†›xöçºc¡Âã~ÕýŸ&Íh‡sÈ9‹ƒq4üJÖèÿ¾ŽP#z—»ñ€ìé0~K|ÕÇ\„ÇŸE0ÒÌ-•`¡î¸wCÜÚâ£F£2ÏçyÒ>7³ çÙ½Œ0•2€:Mæö›hPÊdQ¹±D„ɉ“Š£ÁüÈ—I­-AŠ×Eõ]õùÎ"ù‘<Ì=&²æ€y[l i–´ü `êõZ10y‚œôÊe-о–U©hÿžàÉÔÊÚÖ<-l©íb"³…1¤HºÐ?üU®]%…%mñ)¨Í¶£¦Xõ»êæŽ ÕOªÔwI—bÔÃ<µñ.Ï®†wL7\­ô³EëÁø”G@÷vŽL6îßb³ØÊÿ¥²~“¡‘†É殊o“„ûÜÓ² E8–¦çûq^ x®ä&2Œ@Q·5ŒmoASlÎ`=®!È@† ×¾=ò†b5l,Éìúô®i—>á,£ÿÿë(ÃE[.ÛÚ]ôÐ{{Ñ+S|{hõ¡Ýq¶9‹¼’ê{³Ømï²”¹=ŽAbûZN‘>/eÍÓꨆ¤lf3]6{¾¥{³éb€5–‹/MEç!™•ÑxÏ0 Ýá)ª¯JÙ®:9«­î ÿšÍ ÎÈ&JÑhs;o3EŤ«y˜Õ^éè*/i¥`8Ék¨Ñ¹ÓϫɎ[à7¼ÒÛ`P5Û˪œ; iC0MõJȽÈÐOñ—¸ýtÈú*6Ò÷ö›‘¸~õ~©n”Y$ž© ©ÉéòÕ>=†”!ÒÛôí²ïæ O²Dƒàj1 0.¬ãíi€;×:N$L—Y‘ˆlÒ/ëq×(9?ÚÝ¥òHϧEÛ®´Dl”Ë&=Hé/»zW&Rí)Bœy·#=Àr¹ñ'f0·ª±wU™ê0ƒÔ‚ÿkºë!<,`ý½óï9]•h×’Ž ˜&ND µ>ù<¹“–€˜×—’±­%ÆK»( î«ÃÇ“ó ‚#|v ¹ªÌ•ùÚ=빿¾ë—­*^óSåÖâåïÚR÷Ê…o¤¾Ò..TlÌâQÚ{vPV…­À-¡¢éß‹Bg¤¾ä¦—± Dƒ¢’±¿`­‰U ®ô×ÊB±°<†™HP‰ ÐBÛ+0îeßÐÞèÌ`C2Â;zndé=¿­È)æwç™’ÛzŽH[×^™`ô½ô{mûuÖÑ ýߌaH(Ž´ùçEú“e_²t|õç»ðxæÑ,ÍËÏ ¯ÒEØ£)à5ye:¢ûбC®Ó®–žBžuxA`êq1ÄbfM zÑ8òÐg¹x•—†›ŒSAdÖBñm#°ÄÕ¡}U7QwFÝ¥·‰ò\ûŒéÖ`¨š2¸foKå Õ ¿Ö1çþSÕ Y{´¦i÷Š$+îƒ*“­Ãl¯‚8¶kˆ ’ˆ-{ÕµUm£8¨ÏîD±Ü¿ƒK¥÷À:z<©µWÖÝÚƒ‡Äâ…ҮѡŽÉnè•ÞÍ$Ȉ E8•Çž«0 t¾çn%Uê³9Eua4‹/Þ¡ïäœLÜÆ‰ãVÊïÃŽGL»Žþ;v®ÍKú*|¾òÆ:O¬á%@Òô¼J^iÍÙáCÐPÚ"ž“ù²nùWÅ&Ml–9Œ'$ oSr¡Ÿ±çWI­8ýÊ”'Þmý*mÖ xgúˆþrºé·ñ¡ÎÝÈЙì‘h‘_ìjÖÀlmŸMÖõîÝ;³´'õœ(ØÎWRézA²LÞóUò !ÔÏ5-§‚jÙb!*‹±Ý‘Ûö °çmJ7='$Çš tûºü–àЦ–â`è›åäúÔï™tþ`£{öƒÃ“ˆ6ïñ„0¸ü*i¥üÒP¨ „-ß¹ÑÀ ïÙ«j¡±jiŽe#‰Çùƒb ið"Wç¥ûB(ÇœîÂm-¬š‚¡àyy5À•K>èÊæZ!ÄòõÖ`¨À»¼Y¬.]p6QãÃÐlÍ5† ï ë‚Ású¹Â÷Öøî·ðï[ÝÔª R³¹09Á§Ã»¯6òžõ#mcé5ź9BK/1œ?¤ä³åz8O®H¤¥ß¼ïª¥,‘C³ýbõ–Þ9/“sÓ®2-ð¾}»]} ùÈ ×雟k«oµå]ñƽI2cßdµö¦µë¸Ãëë ·v‚¡¸ò C‰á檚u‚«¬sõ{ \5šóòk¾i29ˆ¢ ©¸à¼ÍáGt„Ñd©¬nVÓôý¶Ç¦b& ݳóÀd¯øK®òÒœkßH`%«ŒDEØš¾1n8èF¸¸Ÿæòÿm³ŠŠ` hõ%;V ͵ø|> pÎ+‚Mü9¡w’ÕüæmF å e‡•1$Ñ3l¯ñgèÎ:ÙxOéyC£@÷¹\!¥F螘;Þ¼øÒ<ò®í­ UÒî§ÉämVÉ—G*q<Þ®|6FîBŒGù“h³ úÉôÍ[+Ðyä1¿9a?ÝïŸ%æ^s’$ýÒ=Ëdé+"!o÷£?ÅYÞ¢Ä=ké ”hï4kj _îK ²âtÊ&ˆ1· ©10bFˆÔîÓ¡Ž?Ï'cêcížty^™°%è,|¨æá_¹¾ÓMô€`¤›Y4›!€V a´¥bóâÜcŽC_M²Éõ¯dD=³qžD;±çÅ~ºŽúf àã*þp‰U|Õ²²ÆÀ¾Qœ£P3ýgÑ J¾JÙÙE¾ì®•ÍÁ[ìYŠ +Žyu|Ká‹ûª lèm”:Sg9a =þ–^Œn®®jz /–³´è$B¯Ð€ ¯·.Û±ëÝï'‰¯ÿ@óÔýBà;0C³¿ñ(’{Ÿs1tÔX±üÁJУWl·´Ç@øÍ™‡þB³ŠF—iGÓ©®‰†ÐÆéÇ(#‹ÕKd3bɯŽÑõBˆ¤@Õ¿ô8U™£­Ò¤ß%­~’¸´›¶å…jL’ì]ŽU™ƒ jæÍ9”¯I|öŽ'^œ–•ëiû{…uÂôGhoŒÑû'£ú´a (þ÷ ªR ¿Ù´á²t !ЋõñšQ#”:¬0ZÛÈ™ªôF-Þá­-u&/`&£&3ȇ}Æa‹ö´†pÔ)»¤u”xL=Ù’rÛ¢¬ ˆÝ^¼8]0F…k›Å1…‚ª¤4E ÿ&d•$(‰2±8ˆ,/<Ã9ó¼I¡ ÒƒâŠÎ<å`ŒU/£kq3URÎÏÜVáT±4Ìml­Êù˜æÉÛ¹Å$ 8ÿz#g·×~«ÀT–¹…K`àÆ¸ó ¶žÇs«·N î*õ æaö'¥ŒoÀU;!9Ý=mŸÜ«ähƒs@¬HÓ“àlÓœØbãCL# œ¼Y^í¸Yf‹ÓY<9JâØÿ6´ª=}æT\Ö!ïñxb†X륣‘ÓÚó˧¤S IG['™Ì /éÉF¢_lC-øá5'XnÔÏs>ÇNÜGg*Ôˆû%À ZÞnꕌ8¼ƒ¹p»þ<×Ü@'lnrDšz\]G†2JZôÇóßi̸èÃB:c£Éq«±ÒYB²MOŽ+j½ÇåÅ– àAmÚtÌæ˜Hm7£²x§yï\«R’<µ@±ÖÏ™vè8úšû‹ÌÐÑ• ÷°è%Ôd<2Ti£ûYmÇ›´Û&äQYðМòèà¨Îþ¢zí|ÒöH=.o¦€D¬²¶΋o‘ñ41—0ˆ·Æ¢{5ÃSµ¡Ú׆éAô-ñør1Š@µ 2ð&Édšªzþ$ÖÙ#©F˜gcS°ý£`cV›öÚ*ÓÙ¿…ß}+e9€¢RïŸrÀ¥¹¹V„VÖX†ßÑðéS^ƒ».–>¤ õ Ô¼LSG¸»•€;Ìá÷²~þ}¼K£@ ÝcêãÝfåmÐõÇHÍLÆDS`ð}dUžÑÐS û¦ÿ üBœ5õÅÌ“a v,|ð%ZŽíÀvfšI’ãÞ0%š²»T_·ÔŸ>[É]¼Z“ÃÕa;Întø†ÈÛŽÌúsÈ÷~Ƽ˜õ! ÑÞ´nS‚¯».g‡·Ë†‹ì·Üƒî¸š!õaÐΫò¦'r¹ÌQ—«µÒü5²AÑ2(‡¿]d\ô¸Ý¢¡óv¨E×2fôE¡>´ý»’ÐÛjè”rŒDf™ÐãG‰Fë¦3Þs+­§ð×ï!~ª²ŠÏù)®Ëã- ‘!¼ƒ®NãDÞ³ææ.¶ã½Y ›T´ÀAÀ(‚Zåf㡦wŒÑñ, p’¶Z·#du0þ㊻ñVéd.ípƒloõUÆRš5¡Ñ)C0SÕ¶Ä㌠¢Äg$£M1Á^›ºOU’=áxu,~é!äxýzWºð>„šÖÁCØ1ÀÕ¡¨ûv O Y`° ¹^¦Nùé8ó\c KáÊâlRgj¥€:ÿ¿¯¬› i[ÖâK-1b^Ýø²’¢ƒ‚ºƒ6[ŒÃDòœ18 «x(3®*–oÀnæÂ=Ò¤Làú+r†ÿ8c²H–ChˆB@ü.KÎh“"£+Ìùsëoˆ $µ}ºÃ)–œš`ÕM†=”u©Ð F',aã–ãË&ö—6ÄN›eQrwY]Vrãp–ÝBÂYk·=yÙ¶Áê×vÀÉ,äóöB—Úð˜Ë,tRîéÅ£– y&%ŒPüsÚÁ[H]ßSÊáNû†#u2”¢)A°ê¢SIT:^ ¹nj–Š5ëÇã$Èšùí9ž¥i^^ëlTn^5ø¬'—s{§:c :´NBátÔrze#x¾ ©¸ÂíêIµÒ¼i{<>êñÄ1ùFIúi®ëÅ‘o2¦ãVÓl#Iv¢‡5ó€I%JèÙ˜¡°"dË8ǜع+¡Ñ`öýþ e-èÝLW*¸¾Åˬõ8g¦ú ôËÉ=cSrC•aŶіXg#E~w‘½æ’ÅpòÍDS|é’Ì8\P- ªþ±,ŽJhžÒQFG&#.íË-g§Š¬ëîSfU2§ó³]Yϰ”ôÿèæÆ'x Êkw{“…,hœÊþ?‘ŒŽéH¥({s9B,ULNß_ b>ëÙ/†Öe‹H‘ P_ÈX· • Il”éΆß)<³Œ…ÙÉG·‡Xlí§²+ò‹Ù£iýTí:« ´Â©ñ€q¿îÿ?MO› $>2ÐæïØÃÓxÖòÁ÷U|(*òA¶=ë²,¨,¾Ñ]•…( ²„ÿñ‹ññóI×'6Þ¦K¼™5ŠéÀ²/ÊÐÕgl=L¯ölk¯H% íü³>ç(E‹°»èxAËÄñÖY Áæd™,&ó'ÇÔT¶óY\[óýÆ™]_¹ç&Þý¼C ßD Í+Í{GàŒ[ž~Z•®näÓ¼…¤õe’ð~ñª—7OŠÿˆŒ°ÆZ·‹„Ã÷ÇÙD:<ë:0Áwqªtã´óÓzÈ^€ˆÓ¬øƒà µÄE]ìÔÈðC$‰‚®±½ðÚŽˆ÷îZ®û·V£sÕfv13GAO]¢-:?žW.hæù|½£`v—NcmÆ´ÃsØz¾ð@;ü#œè8–Ä(W½Ýo¢B„ùëâDZkü8O4›¶¡²@+n˰=É©wZÃ=†í£2ÖûT„ôL Ð%ÛpØ£n mË>~Ë;!>»âºã£ÉáPF‹çW%-Ä%†µî±Æ…Q!dãH™ÄQàMm£_ÄÊÜédÞÀÍ®@íûdbVÍl¦bÊ{qüí΋ÏåN[³ÒEÄ.î…Ïÿ‚pˆñ³ ì€-Œ©­Puh0^öƒÀh[¬¤¿CˆÀ÷7ϰ¹Ÿh'+ @†Ø³Ö=Çä69µ™•q|ܾ÷#Ž¥5ÍYn4Ï™êRqkUëŽ{F_–(ÁÁ¾°¤Sv=Â@2ÿÉaûÑe ¶ß ¤F· {ùª²l$©Ó®õŠ_f‹Ö+Ù@s"¹»DëoàãvQ‘d$áökuÈ;c]Ï»4¾:7à5†¥ƒ¨–’¸6…HðK{Ú)µ¥Oìg8°ÓÇ+áCÁ«<ÂkH 8V:{bèòG\r¦Ôö(Åæ„oc¶š ŒÁO¸ž`O)O¼iÛ¡«™f½çÏ%èϼڡœr=3m6ˆ-âA ;ü¿Ú·~­µÆù4Èy„JîMÄ®NµóbÛÿ²+ƒCp«k®<ƒ–)YÖxЬ?‹ù U¿Pk«V"©e´Tå2¤Èô²ú\µHŠ*–@ À^ó­ àùÐäýv’úLùª™%(eYþ±.h¿d“ØþÎ_¥aÈ×A#¦ßÔ¾„)yÍ”1ˆ/‹E·"¦²+K½“6ßy°ÓA´fÅ< =\ãtQ÷ÈJ?HO`ƒEeeU6i­&–ææ² A¿°ùÑý‡û!5Œb…xÍø»h >ùÅÚÌ{NØ,‘ßýBRõÆz²%”ááHwðTºq¼ÉZOè¢÷B,ü§Ï©Ôš`š‰æ˜ ½oSk³UU²âÀI€âÞ‡îÑÙÌÆeRŠDǺ¢‡†õI¹ÿQa& –pC1ó‡!²3À¥vX—Ѥêq໤+pá{qP:qîvà?s5H‰‰G`tvPð#pã Çp.É^ü}äc?öײ[žRçŸ}.k´ÜfõœŽÊFL¡¢8‘ÂS ðÀ£ ˆÕ˜’V„â4ýÙÃÕHI»¦=ï[*Ïtw›:)Éð¾glÂäTd¾$ãJz®d·–n,±jŽöìÉÊâdì’¸N«Û©¯»¸} ú˯ùX¹ë öò÷¹#¦PÿY~ßWrÂÀ£õÒ0,¼ß/ÀüÇRHæ#L FD<_v…»£Ê±¹©\ŒÍïA,É›ÎÇôó©­lqÅYœ”O\ ”¬2ßid*¿S4¶´°wNý`ÁÐtä3àá9êòx’ñˆ|JÍV¹« 2CcC·UDàæ-²P“4¿i·Š˜¿`—òž–"ïguð¬Æ:Z>¨U›^dQ{®C‰Ü×_ð‰[»±Q%µ€,1õ³ƒhä\;²©Ûÿ­«/#mÎ+±Léžš'Ñ0hãNaAàj¦˜—Ñnç»òNp©G\t?JâëÁµ¿çkúB>Eh#îfã»Ñó3z9!1†—Áˆ'sB~‘]Tß¾ï 2›„ÁJ?ñðúFY‹#?$ $[ŸbŠîq}DG#ŒãÑ"F*Ÿ;: ŸQrŸ’j>œV¤HªÊÿzÄA¤U5šnaf}:(_0êT_øp;n%såæ…2ñ±â!œQ¼a6rüæÇ»!x$êúEj¯áޱÐí«ÅQµÑplžcè ŠtB¿©ÒˆèHx{ä§” [v7±'Ùõy7`î!SðFTG‹ˆ¼`AXïŒÊûŸ9Ôî1ISÈd•qØžR$-ô”-iâk6³ë³µ{€”B7ƒ°äÅÚÃ>3DÉK&Ȫi½è`×v‹–ékà²mP‡íž;»|¤Ò|Rï7Ò7Ž„<ö½£n°¿Öìíµ )OÊôb+ñ1´§S¥tn{¸­pŠ9ª1–ØÌ—í®æŠ Â&–M}Â#¡.>¶žŸQ@ »R<-OXÛš4Û ßóEN­ôë%GOrqžÁ(#飗Ïk·‚Ej)…ºîuŠÊ ?]~_+>ìG7C\~éãóÖ0GCD|'ôJ)vŸ¸ù¦”YG6í7™zµ_ÅŸnK·üÎôªÝ‚}_WÄö½Ï ªÿ^FP†1?†Ñ5î 3’†ƒ—úzâ0àsp¢ÓrZhð*¯ûî‡8“;l{ùhÃôž“Ìu¼bÊg­þJõ¶*Ɉ~äÔ‹p´~?‚#ÒwþOw£lP·lÈ56[U#êWM¸Í4YCqxsŸgB#MÍ]¶,É·$Ôóã~Êߨt—`¬‘G…¥¼¬QP˜q*Ô¾uÏ(TŽW¢¾°p4 àKH”)N>!CÁ”!ý85îïWñ³Uü‰¢×€d’_и¯ æ¿ü_'£ª7.^+!Õr:zô²¯aކ@—¡Nùƒ`.sÙ£SÂ.‚NÚ÷‰9ufŒÂóžþ¾PL³SÞK³ l •$+¨GSŸS„dcñ¾ÆvO@«¹©ÈQ·m8µb%xš´—ûi/-À^tGJ±0”%™èKrUg;ÈV"Ÿ¸wç5†cšÖïúiÊÆUlZÞÖ€Ÿü„5€¢ødŸ½«"æ×îõ˜AÑK¨»ò‚Kêvj‹røÖcg|o»`ÎŽ£òÖÑù*Òy[+ 'Ém·W÷{/¤åZÇ ^ØÙ´ŽäE?iÕhx&'>àCÐL*Ž?á‚3S*‰ gƒ8Gi÷„¶’K]m]À“¬U¹V$¿?r‚æÏ¸;8Ñ/ÑÄùæLEÚM´ žOˆÌ¹M—S¶±“$zP€ìó üu?-ØóN‰Çœ´Ùä åp¯j•މØDðR;Åäàç‚_ÏIBó”ËL{ªd(^kÝÛlžÌ§ÅfBσËà63Ô¼ò†’Îcâ$³?˜Ù,Õ_Õ_§Y‚`õ©úÕ¹ßïß¶³ªÜPè¥R¯RÊyö7• ¸Ìqg(‘™Ý=ž™X¾T‹Å ãÉ5ù܃my×,1€Æ¥Qz¬õå3Œn tåºLñ›6 +þŠSKð4W¥¬Qh¿AœhvížÀHPiYxÐèÔ™“ÐÈÏp1ÓiMµ’®<Ã'„åö _•]-â±ycHDmLá#oHwCª Ìmƒ2è ¼H"±ZT1Ÿ‡o|‰[êˆSŸÇMùm'^«` ,¤ÍõôуvUEøÑèܦ<÷•ž+ýjbϸüzyÞ¨a2—ø…+áVBßžÌ#èñ¥¯VRq>–}I°T;ümÕ·~q‹‹nqÈ +.mðÄ £²m&–©Õ''Ìu¿nËsyôÐ?Nœ,¸p7®»?¾Ë Û¤nß+Ç>¡•{ýÏŬð¼ã‡;séHkív4é¼óH®—ðãkjÌ¡« :ƒÌ%®R·Æ€ŽvÑ¢Ä~ww•4®¦¸üDIöq(¹óo‘É$ÂÄàEûÉ^ì/‘øçVÊÔØ‡={;…®""G p:&^M–"¯ÓwyÞÐl›óæ¾nPÓñ-iÐå>{³ì¡‚ãÀšÕJfÐŽLâê ÷ŒS"(©Ž¥t}g$¢½{¼³ëFlí¥õ mI€Ùaù¨SĪˆšô®E¾u ˜n™/iß[ý®Þ˜Hû½MÂ¥ÆØ­Íùñ~õ®á÷6­ÃxJ k0pémÒ£+úá{†f+=ÖÄíÜ®”鉒’&ÍŠì$"XêPqÅ‚1X†ˆ¸é¤Áˆ2•pF÷ñºXLï°\Ú.ÿÚ=ËÚâ¤}ð€6ß ÅlÍ1_ÿyÚ+†Nœ8‰|DŠúçñZ.˃i~à”Ø×”!`9Œ¶Õȶ@`CUTDß°*'¦ížZ2w—ÙÞðX óš‚:-C3w2Êßm:†¼_ƒŒÑ—0´õ_D»;©Àýï.‘/S¥q>Š‚ŠòT'ð_¬->Ó#Íï6lÙ×à¯èÒk¬ChDSaçɽÀTL¥yf]t+=¾­r¿é4¯3‹ÐĘq¿ gYÇãa|"ø2ØlâõDê‘Ö , .‘[¾v°éøQÉòZ³é;Xw”C½W•9ã-JEdÇÈKSØ`¨lÏ®+iÉô.K— â¦\ËÚK¶Ã/5ËQtó¼¤Á SäiVäîLê7}¢Z쀴=jU±:„\Š$$$ífŠ…‰]ÉŸhlØ ”Z"þ}ʉsÿ3nP îB,Šn$鎀ð}hÛŸ¥û}w¿}(úUv9f¥ëž(kÛ±ä,8þíd‡8'®‹’[ –ò¥ºØ.± Ô“ñš8þn ÌÓø_®æðÓB26slêë´æ½ë’¥XGËEµŸße…f.ÙmE[PÁ*ýXÿ¬Ñ–§Aš´?1Ô2y¬|’°ßÒ¯ XQé>(-Ž¥¬C¹}¦¨Yè º2lÞž~š–Wz5[‹ÍQùH,Í2©ÃXÿƒê0µ°B¾‹­r˜me¶•ÆÚkÑ^ÓUÂ~ üÅñ Ÿ:+ñEñ¤eð)µÎ¶à²‡Y5“CzqgÈfN.A¿ ·‚ÒeôÓ›n²‡iŒÆ.(F•\€±8•ÒµLü¢È¿ƒÅ¶D朗‰†ä¬´G–©Ã7ÁrÑ+±Ú¥<PóE?àý–!¾9Ô~åK™ný±éóu´ ÐÖÊëtã(~Ó†{ó.‡M´iFc#õ˜/¾ò#Sœ Vo¬KÇÄé%€͈Zíü>™lq/©¯U€¼ÑÔkx¿ˆÅŸÚg6ާgcXÆQ&; âæàmXFÿ8ÄLíÛravÚd·qµ%m=þÏ×’Ü„!_ ,…îõ¡Ûâ„®åvJ“´Ã^iúe¶;’áš?¥G>“€–ÄæÛ÷ÜE9XNåÛ–Öx’-Á–Ñ&Ê·7m¶µîûуX¢. sÛK²tšHÖd°ÕƒÛxiﺧu`þïË¥:u³ñ^c”óݱ9-ìþ ¹¥©•úÁ“#”9[MüΉ/ ,(·UŠiuø~“>hgD0Øôƒ¿%ŒÂjyYÚí•çV ,!³N/|Kr;ê[°ÍJÀ×ÿcÌû¶ïÙ’eØ4úÖž#W{Øái0$ ¡Î“@°ÇÑ,Z¼gkǶ³Ð“ßMÛÜœWuÜ ¦çøiUâtÞ¹¤Mj›gÓí¿&Ö;?“„fÎÚ˜š$gü¼‘pÜ$ebt"‚@ÓÚßýØô€è~ªZT^ôm¢ñ˜³[%.3‚u‡×§ý™…ƒ9AšÚ¢ô8wÛhŒ ªÄ é›…IA‚izåBò–2f‚â œ)–mS»ºßQÒ·{›‚OAÀ ‰¿ñ°XÑEÐX¾Õ¦=ñA,`CÖ¬¡€jyMaËÂˊ؅wô¹ IùgQ›´ù*¢ Ù„(zÅýF<Þ¿(¥¶œ¶¿ævv|ÎØKšBñ‰ìÌ]Òx9Š1Ô0ÇÑÞd¨”øäëÛX0ùɰè’LË~³»£‚¢»7-˜Eœj œ‚®ùŠ æ“˜_ϯEsÁ7#h1óa“ëÎ?ø#[Ñî»|÷³Xùlf ž'@žŽŸ#,º6W´{Ìü‹>FÄž‰xPêùzýé0¦áà˜\VÝ5,lÒÄÕæH©-öíá†Ä÷9õ@û_Ž…¥0$Öi†µ‘a#³Þ•‡™„Z©0”“L®¢9Í©õ-úºóvŠwë7ÍhÐz&~ðçd®áÕÑÆÒxr à‹ËZê²§¶Ùd¨~?)ÝÀX(¹àCãÕEÉæ|­_²n‘e!aÓÐBp.Cá ¡…j Û2„‚€zúh‘–q9$f¦©jj£É×WÖöŠüëPúÈ„¤B²~|ó7ç.Ä|”äh$tÚªôߡݘ.‹É8#ûí“ꇨŒ¢vñ¢¼ ”ÁLÐú• òf:=6œçp¹oO‘”ò ùÚpëyžtf#A"ý‰i!Õþ¸—Ù/åm"Ú•'ÊE_æ?ž–K·×[›ŽÏÈ?:áÒS¾•URùA!ý Dä«ò`J\f¦­¸^¨ºË; ¤[íçÔEà!žÊCP0%n&@ñÔDQY;è¿ìè䈖ÚÝÛóv²êMÁ{ÄÃLa1[¤2຃¬öÖ jìªcAº¤$Â2vÓ¢3”î»Ý°°vžå¨ Ò762 cY;BêP÷“ \e~ÕÔ&Û]OõŠö.yèµéþ‘…‡±ž­P²+ôxØkD»}U2»±ÍÐÿ>–ôf6öRUCv}jUÛÖuº!ta¥EÅ`>YlÔÀ—·³&zª ûGÌáG³2”ReµQÙÝ>â4Ø. W žù/Ù ²XþøÂâWü X«äiU |ËãóÅÞU yVV?º`¹ä‹øfÒÈ2“”Æ1@öHW”mÁ$X}Fø+š_5öMû¥ásí1i!+ú~JÈìImßÊ&1@v ‡È‰%ØPÎrµOëùá[NÆ2ºû_K›“ì#¨.UÈz9«ÀXFˆEBrå™ÛŸc‡¾¼ ÿ²G ™€x›üÙŽd!·M%IF¥0¤»B‘UbNç`ur ÉÚ~Îý7XMÃç•­/V «õç¹ñØ/7³ú è 1r#ÇkÓa@C±8Iyæ-/âÊŽù¼?±åõcR½Po¹ó‘{§ãéˆ&kÕ#bt‰‹°Äw®Ê‡76òO[Zy=¡¤¾#9ô*|t,=$2éÌKû'7•¦yœ¨Zü¤…qî›ré<ëL¥¨áÌçSÒ¸U’Æ¥‹»z‘Eq¢XJ)Qã1fã¶RžÜÓ‰eâkiî}´âÛ‡[°Bkår榗*åAš¬¶3zÀ1GM¿(äÔÿ5 ¶ •F°­«}‚Ö1(7ó>S¬oý³cô*u|ß|^U­q})X€=‘:¼ F¦£nÑ„a>&–D6Ô£r@+àŸ€—“úù×ßê·hUsÕ¨ÝüÏàúQ°Lúë”tWÄ‹Ù)œ¿M²bÓCe¢¡ö-Í#˜«ÕFKçǪ>tŠ1m²O”LUÒûäRmãe P[D|ÕüZ¾¦1õÌ1,ñ2‡°ß.t…Ö¯@Cÿ Öõ©½ø?:uœÌk¶ÂíÔè‰ä²—Ikàš](Z“å b}É ƒ&PYŽ*{‰±>a™P.0ýg)¶–ˆ"­›³Íf–š¦hœ"684)ÂÛ#ó—u-©<¢8‹ßÃ}‡ >€¤.IUí2‚²Ru•¾~æ­&`œGÒ{<[!0%nv—nB"˜:?GN†Óó‡Í$jCÄó\Ψ2›Z”lÛÍÿnư불Îwa‘#.<Ñ×S<}{f¼œé4¶ÆÝŠ#Vi²œ¤N”SU&Ú GNÒoU~ù@¢^Q®¹²a{ÂMxµ¼ÝÜæq˜H€òlÏ$nËöRH”tÉ5ðÂ,¹µWo®h(÷4yí`Ì£R©áv–±UOÜj‰păN›pÀbOô9m5LgcÖÃü…¬I»Ëˆ×Æ‹xi&–\¨Ðg¨ ä—/#‘Õ¢TLiÄ_ÕÙ=Lh„,ª.$…¼ZÑ/”eï}Pì–B±²= Sq=°ÛÊ»~lI¤!«0r/½×tÞÛz ±é$!`ýè¡{C”mýÄû”ÏEî¢kfs™À¸ú¯è"~C~Ò8ãÉ¿¦‰À”Ü©ãøÅ¶)×"-õ bï‰Ëó¸peö 7*ˆðæÆÿD¡W†Gl]¦‡Ïƒ ù|ÊÇÃz¢`:ÍJÊM¢`94'… ½äáÌô–XM`Ð ê@ ˆ§CÂ"[ˆc/GB’¤¥Ÿ:²,a—[°é(9–áŠú_^ëJ¤Uàz ºÎ„«úæÀØZ·€W Pn¾¾´ö¸Ä Šª#±s„ü^‚kaY© ù N*‰;äÿ4—(=µóŽF2éÕÕ&Bµ%_’Z]¦@ˆRb¬s4^±ëÜÅCtZÐìɉ5F“á"¸ º£Ìï °Rä&˜¸s/.Ï~óáŠN¡öîýÝøýÉñ¸óð!17£‡# ÇÙS¥ä,(絪¨Éñ±Óý¥GÓ&ì ñP5¢Œ?1Ñ´ƒÿJVȤBŸ´¦ÎÌ'7{Úa4Ñ0À¶Cô†Œ|»¶ïX«ÆÈÜØœ—!¾¿µW:RñA±V†¸_ß‚3/ö|Ç{å.°°Tá'’Žw-fºv®wƒŒ¨evö‰ï!XØyßÝo ^“»¶h½BW4œ·lÇ<Ãp'Á¬%…ùiÇÛÌqiЇT WA¡“µFéQÀžßBå? _ ÜEwgW‘šª±ïhœ!ì˜: [U@D+–-ÌH)"¨¦§“]—ce7vCi‡Ý¢ â»Ã„hWüB‘N9»[Ûªí©‚.ÓÙ•/–K‘÷é#hX5/o`€ß´·ÕÁ·Üùc¢Õš)bUƒDž8oV';Ìb¤Û"ÃrBû²:ªöý;Ɔ!œ'0»±'5 !(*FäÊ=šZ )f>¤7àb®éþ®¨¶«%}2†\‹gÃs–i‹4¿¶g5X/v Ÿµ^bµQ× ·H%Ǻn ‘´t\½öÇ#µ¥7íER±ÛEü 1/.ý†Éwx€“¯x.S“@¦gª5tí;~’¹Î×]º&ðÖ#º£ynÙ<âiç]â»*×òôØ$QÝý}©Ud«OÈÞþ‘CbqhšMJkL­…}W|uÎ 5–mðŸÈ÷ )6°Eû˜ýó¢gÙ, #ŠO!-_!yÝÒq/ÂêWkÌWÉÀªéž@y)~>Á7ßÄÔú‡ª~V‚Q5%wU¶ÔÇ’ƒÓò7„òûò9 ¡¸Ãç—Æ/-#|S7‘ÉjþˆR~ÕGÜÈÆ¦_›¹è¼Ýy3ãz¥¾ªOÚ"FÉÃIzEy‚:×›N§b±jÁäô…ŒÛZ_6J™¶+oÓ2I@OûFðp1 X4ƒ×d|‹LTüb`ôÒÚÆ_d‚Q¹†HßB¶,;àOؤ¨ôlؤ”©ß¼Ï¬a2wž‰²2Á¤Í´>hñõ/øÓÇ…³óA¹ÜZ5Û¹ÚÝÍ_ê P¶-÷Ú`›á¼NÃ×÷Æv_Ñþ{i›’º®’1 9 [šÅ¥‡\ŽxH„FßB96ršøÝEIÁU÷>0CSlÀU–]íÁíÝ){žú*’XÙÖKû˜*itB½2GtC"IšZéeÁ4¿ÿYŸ@ Ç•µNFU tÄœ%æÉT‡eê¯ßÉEö®ëí¼/l)ôOθÙþ¢O: kÀgŠG‚—êL z*©“ªbæÿC´I“9¿ pÀÛ²Øê¿Áh¸ÍÝýd¿«ml’Î|îš¾Œ®Ó¹Ø}›˜YÕíš‚zéðU¸G¸iU‡H`Hm4S­5E§HfP<à#°)E„}ÚX? $…n£*Ýå¶Š¡7Ì¿;°·ºyúaÛSe꾫¾ŸŒçV]W)ü§n*Ï¡‘¦ÅK3sö«lá/½M1…ÀüÑn›Þ‡3ù'Ä I¹ Ún“ú°ý¹QkÁ@0€À¬…!PËeÖƒ?Î?j-ÃÕ+ÀP­m·5Lõ—_­>a4r˜ ¦ h‚ÕSfpé“!ÔŸÆ«ÝDø5…èÄi˜{«­Â(1©sÁg¦Ëó¤½ MeCO§;ì_º2^ÁàFäÿpH´ºùûé¦m/ΨsP„•M€«1ÁqMàãl¸óÔÅŽ20¾B{‘›5—böH ¹ÃÚT˜ùñjRñ<ÅUùïö“4ú8ÑB{û ¤)¨]ŠÏ&µXZ s˜ÿï¤xº¼$µÊl»…µ|ôë‹Ûñf»ïR8wëÙ2Þ«†E£»âF*ȃÅ[昛»ED] Ÿ3ŠŠ…vÒp„&ö•Wîú¿€RÙ[ðÝB+ÜÛé…¡}"ìÖc„›@’r`h•9ʶ¿!"y¨²LYÓ(ív€U¿Sf8ô'…„ ŸIïn“'¢]àãm‡eã딜f’ ­)ŸøówâmYFÊ9*œÀG²árÔwºy‘¤Ó¯±`—êU~܉èè€X¸(\%n’bÝÜ#Š,å—t+>4˜îÂËØoû"Îíê'³”i¹ÆÓ=!B@â˜ð}ß9S½¨–߯F’g7‚šùQü ŽºR'¡ÉÀf+›Ó°Þ’4’©3ÌS[µÛvÓëhfž£`gůš„/Pcbüòj¾K¯¸—hei -¸˜ œ¬z“$ ‡ëÏL7ñ]*À»$“ÄG/±­¾TG‘·“ô|”WåM­Ã­Ä¼>f“UØá‡°5ó:¥•wf“İ̉˜®2Ö;ÌÄCÊâÀCük¢Žã0ÁËë:é?“utË4|Ò 6fÈ,דéÇây¸‚;ËìUT£umÇÑÒ“…FYplK+ èZNfﺪrÖN¥á‹Foàù¨ì¤*•>|x(ªvvÕN‹´yñìÔÊñ‡=HÚ#-ð&¸5¹ZHÏ-‘¬aHögu5Ü_ûv4Ã*XÏÜæšÕÝÃÓóô‚R*J&ôïVø\¥˜†{¾Õ‡ª"}Á®€­IÈxÂ8@·úât#é|šZmû™­F®Ko *9ÝèC¾:*Ni®ŠBÌd4%{÷ˆ‘Û†ÝhN‹·‰$—Ã̪*÷m‚œxµ5õ‡‹ÔD‚o†Œ8lX«VÌ솣T‡¶x¢OP¬G?½a¡¥_þE(UȽM„½üûKHÌ1Ü;Çpô•Ÿð›S5r†¾ªYüb“b±9?…J¨çÞΛ„)u,멤Tšµ·]×%XÚjv¿×)˜€åEâ{íä]Œ ¦2žæ èôˆ‰áoº!•B¡ÐCÈoñöÜW“{ý¢’O¬Ó. DỄë„k’p¥ÇD^–Ë ¤ÛyoÆv½;îÛföÖ=âë¬ÝÜV”A-Ž‘Î¢ó1~Á™÷“è?ŒÃÔÜ囯!µ'½y›í¬5¤Óãa|:^M£«Žd·±¸fZmõ¡³þ_oVM·c­óC_w3­“’¿Ó¨ß«côš`ùP<:Q-'ƒ·£óˆF¤Ë/ì”¶Iõ zîŽI+ wŒ+Â2hÛZ¬8ºÉL¯#b¾FºØ2Gò®ùŸPV„uE Çqä¯ÔC7KºªÙà€öÐKfŒ}6,#${׬Bò³ïˆ" þb¼Ë š{1Ç|CikÁ>ÊÆ>ˆ]÷mgu.ð ƒI/ï9¡æOÄt`€9aÌÞЄ®«oõ˜jö •ƒ‰Uÿ­´Š\¡­‚ D‰im«ñ¨àŒFìFµÀÙZs ®k†Ÿ:.OëҤŎæ‚뽟߮Ç6v…ugdÊѾ•¢ýÜíp Fx MΜ;wðƒ[Wš#ù²ëÄ·óC:%:ɹÃ<ýN[Gøˆµ)E$QcUg`¤0~C÷²ýRýØéò4(ˆüó,ÚêK†Ïv1Ô­,xozXŸ{T$oR›h>@µocñHI u7pÿY#¼¦:hÆS¯BÓÊ“Õwð)ñ¢š[ê·¸ y¯*FÿâuÉFhÃa‡ ô›/ÙBcyÏzkU¬/åÌøW̯.î_òO}¥¢P@ÇfÜõ°Ýhæ€3Æy*ZB(·ÈþC‡qV{ÙGL)úWÄÌáÝ`ÇáT…•WcÑE~qK¤•E”³›ÿ¬xx†aô„ê›{© ¯Ð ”ˆ\ÓÆy7œL5öJÛùÔ9¡;˜úìŒB ö¡(·Q¸Ó3(ÉÒr!nßQ{}ù®{ϤýUÍeF¥iP%1,´C+‘k¹s—8vHS,-{µÄóN ¨\µ-h¹LûO©Ê3Œ¬~tçAüX‹¦%ÉJB¤žw-bÓ‹Ù®v@Û­ØÔw»zãõ?@¦”ùËôçé­\¨™°-ýƒñh¸SÏLeaéË;ÂK&=”“•BÒ.ROåA¡2†HSÑ¢²‚e'3ƒýzO­¿ûNêƒÚa[Û@ ;H¨~øÍ¸Ór"³>ÈÕCrÛGãw}6uƒß†]?ºùú@PÇ˲)ÐO‚2½±”Mé0Ñß8¢PÍëÃZÁܹr‚dØœMœÈp-<…þQÉ4744…×zȹ1ÄÊÄ‚]o¨É"ã ‹ ÿmÙtc¯VTÂn h1zû»6÷%“{ú.:¡æÄŽÒFŠDõ_S­¡%jæNšÄ×4LeÿŠ s¥·VܧC6L\ëŒú@¡¥Þ·:c'eÇ¢x8–Ýô‰Û(–k¤õªg^áŽLŠaÉaÓ à6ßë-g«õêô Àn°`g±ÒׂaêA¬±ß(Ñ®¬W¬Ã>¡+—¯[Û'•:|Eá•Ûhý&’éˆ1‡|ì´¡!¥ñ{œb› _ÂÚÛHb‰¾³[UeWve™ ôát3®µ˜£EúÏa»+n0"|áŸí“Ü€­QÜØ-R n rG-Ka:Ò"+K eÐ\3Õc~ò*ëLáIuÙ²ò•6 M¦°ÉN¾¤Ê<(8,šY ¦„Ïî5…  RŒHîë :é­Bï§;7qG¢¼qÑkÕ)ðB˜šy,ªùE£F 6*@¦éšZÑDðb®Q1ZW#eT1)•‰ûHÖ Wë¢ ÈX—©+»y3¿•}Rq»ü°âóXí)/šÀz“›•ÙF>D‡f ‹€7TÛ Xdʃno /²9m[p–1±ò£em½jùP?~èº%Žĉ`󙸤pÜý¶¾ Þ4Õ£çYwgFbO>ƒQ¬@çJ™*ɯ'ìßÃôS$Ì»Sy­#Šÿô¢Š:Çê).¹ûØÉQ1ÆšFl×&êÎ7§­« œMù?“°ÊZãùðRŽp u¦Ó¶*«ŽIqdö¬=_ê´æÃL« ïC ¯¾×Ñ7<\Ùüsz ®ó1­Dë •†£€þh÷øùSÅ«¢Æ¥3µƒ|† ×H?¬ÃÎÓqàòqí!èîý’‰­rœj®0x0À|* îœÚKv8ç_ð(Y]Ã)X‚ÊY`ñ‹'÷OxÒÎòÕÃu­!v¬¿:ѰbMÎf,N­~žÉýJ5ë#qQt§u0‹N/÷}Ô!ωæä‹R*×eWƽÛ’éõóZXך·–VÏ“Vzh&5Ih²è£~LH“ª­_åÆ¿œÄæTS¿ìdõ‚ê‹,ê¢ËÌ„äŸ!þzï?ÕkfUl[ÝÂÐï)÷7+œVX›¾ zÛË’ýÈEÅ åCPY"kß8¬I¿°ÕiÒ:3ÎÅY}ÊzFú>É•ÑÒè‰KË›¸¾ž,©:€×ÀA-»çudd}o™èIwç6pf`ñeí?ìþÖ”€´azÕ)ù;¦‡Uhç\š\1LR&ò…j„ñ¼WȹÞÜ¥ê¾WÏEUa‡¦¶d…q*Ê ®hb¬â÷;w|P[íföÍZʳÃå»vóÂÄʇº‚ÓbÉOô'Û5[UÈN®‹‘•-ÄÀÖÙœp{‰*éË”%·^¶õGn¿»nÆ16n¢ÿžF H/ùvRoöîèWœë?M\æÄV+,&ló2P÷0áÖ}˜µÆ -`°ËØZÁ-z8I5ЮgJ™E•§¶>‘à®ï’ÚD&¶|Üùò ™8}L ¹ò1=3ËÓGxŸFÞî&RFX?DÁ¡{.*áØ›­Ý7Ÿ†Œ®_1ÁÑñìµAÞ>4P*¸‚¼ñѳx´¾Ú>´Á7-7â"8œ7!á;§§ktÊÿ`=÷òÌÌÉÕ”á>”“¥¿$K›×Á5nWöF¾n›Õ® S8éÄ` !¡>"¯f“u鉣ÿ‚µ—vŠÑþ6mÛ—ÁT ­Ë°Ô—n“5®å %îZ¨›¥&“bœÒ&2Ž›ÀSu€gø¦!0ÞoHéÿkË—Ù¡Ja䝿g“bUâ;,³ºƒì‰uZuL®É—raJo±>6\7g>៣ýpN§TÝܨа¾àü 5,¥Jj:\XD¦€å^©áºÛÊ™”Ê+ýÛº+{.½ŠÏt'É'ù ZZ6.ÊѶpN¶‹‰4b"¹?*ŸÒ£k—x˜Ïã®…7)N“é(BëÊÅ®°N¼±òÒk“†¶@{ º€qmc¹ª…w³ý1—n&tË ž&ɳºT‰(f+íºß{„(™K4ðsE“¢bw 6pX¿Ýy“`Ð_é½»hE«°.Â,ò—¤6i)²Ì67YÖÊùì3.Bpη*Ý™öú€‹šù!=ÁtÓ ZÏ0*‹:‚QhE:¦Ý нoD¾ÇV %7žrj4MµB—ØJ¶-CÄ|½ðÛ¸bfÌQ=TåzQ0é¡Y,J“y’7•ìX •>§ïpºªîÅ®ϋهÍXɬœ¹ûô²)­4šb¸+údpL’ƒ¢¯éTmj„û.$ŠZ§Tq¥)§BFP)é½E 'b¸YV ?-° £|Ú³?b ž5vŠZŠYœ1zQ!W©M&¬ðÿ þÝb9Þr‚9j­$ö$C}÷4<èb é„°Á›Ÿ$;² Þq*Ý"±×­qL=Ò_|xnчyXçì{”å‰pHˆˆ˜D2êg¿t «ÙŸsÆ—@ ñibÁèz˜øc=§pÇ~b7åã /.œ—Wûó”àV^XpÒ°êÔ•ì X0Ïëʬbè¤wF¿ÎCkBºî;“à"Éh4>â„òk¢;>Ωë‚}ÆøH›![ Âz»Ð={ð!hqV#—6Òª"U¥^ÜCiØe:±UÀrw©>¡<Ã}"+[- ÙÁ#=QÑh˜ƒ¦}“J–¨C€¿°ï/kåb k#C¤.vü[+ׂ÷ÓÜιùïæö&úÙ"8ʱ›ä#٬纴0yÛ™Æç5kXèé»08ÃqtÐr³Œù¡nØ ²-lK¯Óï½îŽ¹ÚŠ'Û´Hå·òÉo Å.ÀÚuÕBB:Ø¥vËÊ+7Õ—¹Gïü°ÂÔø7@"€&d¾e’ ÖõB…wÄ"NGÕ1JL¹˜O#'<Š:çP ¯ÜfÊ‚Ç" ü<“;@é™Þ:Þ` Âgþèu­ç&v¶.N(,²wâÏÜÏó2´>Ad(YÝœ¸س†K¾]œ£$°šP4Û8 ž "«®B’¹ÒNORȺꆗ·Ô½.…=Ò<^H:Ùí ¡{ÅKðý»rÌ'vŠo&ùB»¤X1m¨§Sl'ÎïÊ×K;³ÊÞù›bqšy>-!M*yÚAQñ¸£Ï= PËuÔ¾ÁPûßâ` uH1l¹ýº«H‰þ+Àwr’píß3<üêüb¾K pAØÖX¸6ØÀ$ø¡ÓN áC10Âå˜y‚‰¡È’\ö›ªã®Ye$¨Þ4†{(§4˵ËtœØ.kinÌ{Ÿ6õ ¼é=Ö\&Àºxß9`jÚÓ™W¼*ÆçrX“rR³i„iWlçp ¬ÝÀë7$ð+ÁµE”ÿ@& é Èçÿ),â ©/XO³©Ï?ªQ’ùFêÑÕEÌ™J(}W¾â ¡8Npd#~Û¬Aß«š0s|o‘ª¤¼OÆ>k,àð+ãHÁ'ŒnžÐìg=‚(búLÌ=FI°Ìâ¡3m"ýbsÂjæ¡2(5ŽÞDEÌωøÿAç­vÅŸÛ?÷°º®#ÆÇž#øí½Â8?´-5ýnÇ?E¬ç£(Š<(œ¯F®ÜBû±í‹iÏ(ʲúC“¤<ìËÁ7¼kÐi8£8Œm¥É¢_K¤íºB¬Yqˆ Uü‡÷°´²Í“‚¨K+ŽÑpâÜn,VËúë/„̾¯ç5¦Qïw5Üóð»…s¨zƒ)’r063ð1‰ÚîCªÚ…æÛ¥µžp‡*z.©YôNˆ Ý„®ü"©vý2ýh5*‹ÔVì>ÿ- ý(Ñ5ôî‰W2£¿“…`¬òK'­;ÍóPul×2pþ†IªÎeE€‡ÄîÂnûí~²…ý]sŒ|à¡'½[«Œ>tßgM¶—a]––ù—öƒÏ»b,IsÄ‹¦í<7Ó†] yŠ› :Õ×”¨ÚŸH)fý#p©½ã•2ÛRE!åIû[7ÆÏe';VqÕ•ÂlT—Þ3{‘-Çc¯Z¤ò}CžuÄw¶vV§ÍD6‹¿åÅý/?-ž|O6„nió2W–³ðÀ~˜’v…Õë*7¥I jÅ‘Ö)£`êïÕ!&B}ãÜzÀL@›+Á=ou§$¢â?,÷õ…ñbBÛkõÇ|,+ÍßÝW¤Íð}ÇærÇå§ÞÆ8⯈Ðgõ(x0ÝôÒ8²înîŽÜ œãè`ù¶àOúëS¸A,•3õÙžUj?~lËvü¡'>|õ˜Á[z]z S RyÜ”œ­’ •8‚2™öþ>Ü0gzåƒ8wÏ9¦~­O6ÍÇÀ•ÉŽÛ„8~Þ.¡ãåfGŸ£²ò{ JÉ¥A[ž0µ¾…‰)!›,´¥óâIýÎ۶Ÿ´Âjäz?fYFáW>â|ÃxÅË8û’€¿ë°‰ÔÀm‹³µwÂÅ †qÇ2W(˜nç'3‡+®Ò@‰~dØçØuI³6{¹à·2ü¥²îSÔ„ñ“ÍÅ,bEª&Ø'[SìÓÞ^[«­Pu)†ó °|TÉsáyÛ<£Ã¡Ö[«­èׄ$‡˜ª-ä(gœ1w @~aÈŸa?f¥YayG”¶Äò­{;2À½s ÷ô·L žû¶hZ¡n8'Å®2 <7û×q['ÀÒGT4\©é#g»¼¸®Îÿy:?¦°#›´éþåý;óüU…ùêå÷%h¹¦žPbTZÊ<½÷c`Ò>¼œI|Á¿ÅËG}ä›ÚTë˜ '§©òoÚé ~–§¾”|wºè&Ò>¦pÃh“Þ½ÆÚD‰eƼåéK´êepùuÈÅÝ’®NC¾=0·6§ô•â3¥ÀþÏBàöÁ—È~ž oÁŸ+Â+€XV‹GޤíÝ?9ëZW4ô™#¥;¤W€ªñÖ­HwÆ£z…4cxÈóªœpÃ~ˆv~9-¼{ÕlöQQsÁoîyþNî±9L2=À+„@”›†7ƒõÅß³e,Tê¬{?Åc˜h&ZÑœŽlÁViœ|žŠ*°&+ÖxoZúƒRžJdç3e9‚ˆíÃ:dèr°¯›>E*K¢¡ˆfÌ¥"^µ„GKô¼‘=²­_p±^kJ´°¨zaþ–›YÜ|ψþÑüÝÎvräíAD–¸Ê%çÞZ²e]GðK Ð¥ïµ{®s ±ÈâÎ÷’³“2ÙÞ,ù!ˆŒé•yøN(:3¢WêàPøJ,× L±\vÄ)+(d XàÐ ”ê*Ã(âüÉ­˜†ÑàðÚÐnO™ßT~&¦[Ü÷d‡^ënŘpuć’¼Â9¾w‚ºÊŰá„âV‰~S3˜ˆ”’ªÖnË4Gfì‹‹Ä»¸Ú 5県T°ØGÉ—ó­H8JŸ…Íë:1rNqæšg»ÒcëGÙUµ;òÝXvì#té“ÇQ§/šGì… {d7󀙚ÑvŽl…s”^.›¬¦i«†ÁÔ ãô5PªrÙoÌF«a«Ò;ž˜&qHŽtÇ7Åæ]ßêG…ZÄiFLø|§{¶P%晘`NÞjxÕüDеobËJ®éuƒ&u?ŽÏƒ[2#ÒQ]ÅT=…ð*W#ÉêÆäÓÞÙžÆ4c:Ï¢—=*[¯aˆÝÄU -H“mð„³¿¶Ä(¡~sPÙˆ¬å— ö6HÞÌ#ÒiËuÓCÝùœšóBu¤ÌF‹‘Ÿ„nœÙEß@k,Âç¿mÁpOà øU„ìºü‡ÎßgW Íá©-Ê+ã–¼UÓ‚w²ý.G¿Î%œd ɾqG^áO2Î×¥[³ìî[ÃýÙÔò¸tyñx¦ ¶òŸ³hú’mZcņ!L©wÉÐÝW´ÈŸ`âE" §´í7››lùíEÞõL±’ºÏŸ ~S’ƒ¥û˜|'A}_²Ñë™ÞÁl._WL% ­·LÈ`ÿå¯ÚV¯Ñ9k¸ÃÏ[/ðèÏÀwòV†â/ET²›mXà˼њ׽ÀRÍê;‰š¡løŠæ~N[诹ÿø€S–íÈÂ+‹=0Œ*¾§KUXŒjMïäŠIJšW½LîÆ!ç‘‹Î--?/f|BµžDAòx,ß-÷2±„ÒÆÏ0LöQYe‰`Ù%°. ±ø²<BªIò’É"•¶É¸{²¨Rip÷Û’SH¼–6»ºiHbĦ\æœVà§Ú§HOÈ*· åÏrÕ<‡ÔòE"Tæ µÁæªëy‰+K¦jlBé™A_gV÷Á…™­†!):õQ”VùQ—lL¤³÷²Ì¿ÅÎ5‹\[›óÓW/Cú!,åÖDX4%¹™~Ôq»5{‚œÝŒ{še(…>MœJQfÛCÝ–Å5{Ó² @Aà× XønyŒ¢z:hçÃ{!ègQ.¼÷F”žÒC‡6Zqb”gHÊu˜˜a¯kÕnÒùãÚº§ã c vu@Ûÿ³:¦­yú~2¬¯ÖwCi«Á…¶TKfôVä¥K|k _J…áÅÜ0qee·F˜‚ïÛ10\rbP+\·¹#ò0úcð´¡ôny¿©”g`š4fþ~E)OO#ÿD.d4·Ê‡ì™W¥˜ßÐÃ,3öó÷$Ø•…H<ßEîÏçúœCcD‘3Ôçâˈ;Æ4'dkÅ.@jÁz¾“ôsšú#ºV/~Ñ·ÈreUBJzäŽöË…²9ªÞ̱>™²S´ž¿ÏÊ@âuZ½é3|xÀݦkþ)Põø&Aü2ñ²{ÇÊ9Ž9¯ Ý®â$h×·iæÒ±¨{Ôç» òF¤_"<¦‰aè’\]b2Ó’à}'‘œßË¿#ëçÒð—e$Ožô”®D¿¼0öî²o‹IrÎŽºÂ0ï}碛‡£ÔnwìGéºaû¹%$µÓ¤ùË  Í~ß%wìAðÚ©Ž}Ö\öòWq—–ÍÔ›ò™‰åæBúèw@ó¾ü_Qþêa‰*JCS²sÙKnN¢UzB[û†VQve˱ýçu‡¥lBá`Ø1J—™™ÒçWÿ )ñá°š½Aô¿Ü“@å§¾L$ë/K³ŽÔg¯­ôç *Á¶”“Xƒ+Q´ê)½Ðo—ͱF"¬ÈÄÝSØu›Òê3‹¸¿½õ¢Å3`¢Œ0ϱL©Óu„ÀÄó年zÂÌIž±ÄíÝ—ÄFªjU­JÖÅ*\d;¹“j=€&ŠøS'‰ŽmV–¶1=rBPG–J¦OY|ÕW÷º“«º/jiÔöZ£jdÊ ð(r¾Ô¼_Æå*< +ßÜûãµß=ç‹Ë§!UmÕ§Ý)|‘Ô;A(„Õ¥¬!Ã2qéŒà K€S]¼DCg¤¦~íTש®Ó!anEÔ'4öŽÈeº…S]6_PßãTâèq´…Íçâ'Ùü™6Œ´ †xˆqˆ²4`ÍN+°tòÌöoÛ>ÙùS–òèåÏÏ!GQÓïzÐÿçUÀÞéœ@_y{ÓZ9à}B_Ф¸^·è%žÓ˜"•£eÀLqkþÆÇ@ KQ4óü%ß„ »éM¹âL±à×õ£¶†õyVä‘ÍFUPp!*Ó`þ;¦Á%Zn‡Š‰ÚÔy†ÙÜÊ%^ïý–trJÌØgbxåÚÿ fÃ)ÌÁÙk±0ôðÙdø`ôÙ9ÝÝ• *fd]G()ùa%zÉS³7g Js'3ïH9é$\¦‚à!eâ—Ó¡$‰[wø2 ±à7 œöóN€¯V°MFÎú¬æè8U%>+Ê2±ºî™‡„ÇÊÛrºÁûPÔ©`i”¼'|ȵKMcˆoª¿ ×"ßÀU˜p- Í—Ä–-'7z< Ú¹2:'$ux¿ip®R”Qóƒâã St²½GÛ%7éÝ´ke2i6àL6ßSl‘ÉŒ%°G  ßV€qSæóà ‰ôüûhW„ 8ÕcrQ-õA~·.b YUTý¢Ôp܈DRYšŠ=â7£5¹Ô::„h"â^Ü^\ú¦l™FX³øñŠ”Ç®¶Ÿ~¸R ï$\fíW|O!‡(ã êSPT Û‹Þk.O”‹½ÕÓ°°ŽÀ˜K·¬jèDX ¹¸Ž$-ùhÀÁE—/ÃHgNÈÌoâkÈVÉg·›ÿñȺ"ym:X ïøTLµƒ^ Î‹N9ÇjÊn9Ü/ÖPa}ŽÚÒâ ejê?l¬ñqWÀHŽ ðAP¸G¾ÉWŸé­‰*÷c.Þècæ­&ªòÅ奦2¨÷Ì®nÖk”±×q{E Û¡ß2ÂG@^8w¦_*¹\<\AäÑ[šïó™Ñ¥›¦ÆAÒ:ž®ô(%%þ!Ý ÿšÉÎÀ…öñâPtŒen.rrlYi¦1!K©äSgZêÅäCÃݵ›¸ÑãäÏöæÓ= »˜—Du±ÈÌ,# Ý3£(åP-àÀC!€hZ—8̤1gƒ…‹pL¯µÿ#‘z»OXMüÙåQíÎ+œ&…  Ъ)ÆeNÎè|iÐ)KqÖgH8»]h rj$|‹Ïîc‚ÒÕÍSV3T,è'¼íž8âÚs˜ÉŸŒ?’Ť¤ µ‚þP¿½Ä°™—éýF\ó%×O×¹¶¡ =ýhH¯Ÿ`Õ¸Ž8ëò±Â‰™!Ú¦iêà6‡‚¸7ÇùŽ&^Š{¯7ß5ôT«öëŸ#Cu”ùm†‰Êµ˜;Xlî9Fî¸áýCƒI(Àwk­AJb “]™ŸBCS}ü¶~åvãr;þ$AU°X!LØNpÉt碦5bËÕøKÇobËÃyÃe·‹Üè¦uÝ F¢[؃֬c®¹~ÜϵtdkÀ2p®²ÂŽÑÊaÙ ¨ù=Ãø>›ñwƒÖ,p4 ï9%aÂ?$o ¨Ö3R@Ý|’äÉÅ·\>aVIÆ’ýÄ9ìùÇ v ƒßƒy‡%Nxl‚ÖEGèo¿®AsÎØß‘TgÈ÷r¨Tkƒ>ßbI¯àÓ–gVáíÞŠ´–u²7AYZÈ¡} 0óôg”<Ñ“ËMâ{÷•Lt'ƒmšÎÊ̘ ùÄpOÆ“˜ÓiÉl§xâÆ¬jؾ²ipAï`ØülŽÐZù袔fŸ¬r&É5o TPR<Ü•?ûÔü¦cz¼³Ó¸%Ú"¥èP\G†<œY9íã€|©õFÔX8kä¼#Ì7?kg™#’=XG¨ɉJœùd i÷c€¬•äoŸ›`Ùž£HÐ&X•Š5Ñ%Îyõ/ƒ¨îpð ¿}ö·ß³H‘q•‡¸°KÿˆòP<‹};ß+}€3€‚d±µtê5…^qEøù-?68OÇ…OE0kžR2K”Cç!4HÐx˜qÔÇͨ-òúŸ«è"Ñ…g6gJAôÑ<Ƭ‘qÀ @¶Á©YŸî…¨µæ Æuk_ë“èÇ1Ê=“²–^cÆÞ¶nŠ_ˆ¨¸Óæµð*»À…¨i9Á µ[@ŸFßdT,ìæ6TqÿE¼ê†|ÌùV9¶³“×=Ë{‰y»»‰=–I¼6Y`ñÒ?òßÜëî$¿¿]‚ª ˜´Î~¾ÐÙQ{ømw]ñ»Ó Í–-êO‚±¹›ÁùÂ@ffMáäŽT9>Òø­6°é\î5÷˶…TOÀÍQìCÂâÀéµ…±Ö_JÜ{›ÂGhæ¶Õ{aî]½ª Äü¬¶™éU¸gFSå:®ÄgŠ_%œŠ€Á¶I[ÇXíÇå»à‘¹×CŽ fñëOòñ®·&pœb]ñ°§5·Î{GØ 6=¦æ•,FyÓ.-úÕþ!ãœjÍçØ ‰8Ä8Ç> ^é[k¦èvu³µnÅ*´e²³‹‹eš±%ïÚe#Ó›‚‡—¶(ÅõJ¤Óíûëйֲ]vSkÚ–É?=À'+©šìËs!n ö\ !Qœx`ÖÅ5ò‘Ùú_ïì\»•pÅ‚m@ˆ…ûw5a…äƒÿ]¼Kð`¯ú:Jаuª ™€¼Ì÷‘¥ýï:+Ä?tg¬L¥PÏ2‘¿J *w‘•Á\ƒÑëÒ,‹Øÿ5Ò0YACp½ÿþ„FOÓï Ú¾\O¤[Û„© ˆw\àôÈ8mâ“=\2S­óÕ¸u‡)HMd°%.KUÖO>ªj+DËgr„Žïš„‹¯À@RoáÜ×!¼DÈ˨ìZ<¢ÏÿÔ¿Uc7l\©Ý;uµ>†$|kƒº—oªX&‡€ëÏ/׎©PÉ1=¢ Åeö.ÞîŠá¢u…åÊ>Ú¤îø¸ÌëRÛ–`×,¸?„¬`8Åy„ïÊ™øÉø”PëÀR…$»^à4P°0êÚzWø*ñŒ—ÿhÞ "2¨Ù&RF²,h+]aÀàÏm_/Éð(c,˜ø)'cí9ßt/dœŒV¼ê4Þtö!+2ÚÁÆdãN‚C†•¯U)ÒéåV2>‚àάÊZÆz² s%$ÙßÚÿ³Þfß×4Jô–Ń€öZt¬TãOh!2c}‡¥ÇégWÍ’‘yÀ”A ˜žÂ>`Âyt‡ÃœKäÉ–çÁ»–„ŧ=þ«%h~¢¾Mˆ47a*–ÿ.»®"ÍSz;Â:Þ ð:ýÆ\w/»5ÈÕ©p$áÉÂìEÖ>VIŸì{÷‘²¹mÿý°‰;f^Uæ†jN#kšÆÀ‹Ã¨7…½^C°7Š! [½[ÔyµÆ§˜F$7!`Y*€,)í ùáòº»¯Ù-T¨ BS°«jÜñû!&ž*l3!¸¢RxDåÐOcêDŸiÛA˜~ß´ÐwÉNt}/ž_$ÿ¡§ûn³Sþ|ÛôjÃàýÕÚúg 0Úúú¨Z¿)h8-GõISŽe(05úg8¯’‚ñÊŠ¼ÆnoŠèa²³ã-Øæ¥= ÚM6òlMõ¾ì7¥óÚ—ÒYÍï&Œ¨¸ órlQÒEKµ:ð*iÏ•FØA Úæ9’eü#GýyÜWo>;‚E#pƒ[ûVºó>:^¿<ê fì]@$*šº’ nýÓ¬ õ?{lw½ÇŒ68)Q1t}Ÿ<É>î“þ$Ù}êô”3Â|™Â÷ŠÉ@2Q0Ycžƒgõ|kü”>©•Š9ðè—-Jv%†÷s£ÌÅ-î~Ô.©Íb°Q 98ç’¤¶IÂÓ–f{pëpj|úc½Z)ÂÒÅ¢±#™+H³=eæ›!ÊlʱŸƒ®{ežê´`ŠÛöUŒ 1£,] ‚G?y6ïÙÍ=ŸiÝ1W}ïÚM!ˆÌ­úºÎн"§R© Ç,Ó?ë ô°CË_›œmQ¹…*Ñ%Æ“IK]þ˜¦CqÂulä‰Íˆ @Å µàÙc¼lúð¦ð³çŸÛp{§°…€[pDÀöMâŠà“y)KæbŒoV<¡Šé)ô$äîd›1×)WuâÞÖˆC—«©ç6ØÚs1»£Pju¾óÚ­*êtñü(‚v”@}önZÂ}#9wdÜ¿Ï0,",‘:1(‹ýø-—òÄ„'^)Àc]+_ÓzýCè´5ü³çýU*B¤a‰Nùðz6fk }ÄO=•¨›ï ©ÌhçBå¤Q@U2 à2¬ÍÁi«˜%«x!íŽUùÊ{ÑÊ2r½þiËqÍÕÕ—¾þ+PÍþºXÇÁZ£z¯.¸â¶• sîêïúÀ7ûi-Tyçs«$Ä÷wzíawBƒ›‹**Ùôgµ94‹6·Zˆð„Kå¬ _^Ü]y—AGxs!„Îs£_wQÉ"‘Š)ø ãÌ`ÆÃ_׉­Û¾åÅzWY£»!s\Ý}‹ö{§÷JâÄoÖx~"úõ>8–¾çäŸ",™” è›îò¢B†«Wƒ•­´o1Z©Vÿ Iˆ‘†ƒ ³PQ ët'å¤IÝŽ%^!/z¤~„·3ÆäÌñ¾l[/O#ü†ÆQŽ MS¸‘” ¡ÔNó!~çþaóä/ö¶®À!¾à?`cû3pP°^”Œ”ûy‘Û?ªÚè³ÅdÕJi¸ÐýÐ h̀ݗ} ØuîïéÚX‘»µË¦âñ0Û„F¢ð[ø9ˆyuEÁþÁŠWYÆq3¡=lnÚ_öž“ÎywA¢¦Ú=µRö£[êèSåíîxg*_ X–»N;À‚W•*Àc{ÆáxÉÒ.ºyy²Ìg4ï p1ÉõA:ì"ïl_eŽö¬w"“šEcv†˜ö“KJ ,Á&³üûýBëZš¿Cã¥éXv䦓µuû-òbew9·ÿˆÙßÞ{<`³{yâ´Ëª ¶R=ŰÖÐQð>á–ƒÂF¤~Oñ&0ö]Ù8³î{˧vÞð< .ƒÌu“$¢ÔÞš¯r­-\\ﳊ麬%¥ª˜±UÒH“ͳãÍ÷0+²µý—²& ÐÙæ ÕÓ—A•PÛRÈê ÞÿókôCûÝov„’O©Îȵ~7ûw›õ·…×{L­÷äYóô®d)“Ø:¬{¿–7ú2åtpÁâàv6àø‹Üë‚E´ò´Ý;§û]ËΫ“ï[Š+á˜à–‚pZZ<¿ÅÏ÷îÆú¼,æ‹·Øÿ,Î9¼Ë«ä-/(ñ6 §ƒö½àasãžÍ2ªþn3‹®ˆWíÚi¥®|k»1BÊ2Ì-øMrÉØQ>†é(Dà"ßÞ»0íÈÆåj¼ xGg…_”°§ŸÃšDˆç¹ž<·À¿éç·[S´“r§º›vk ß“ØLóô^äÁíî¡6zØ1¬jZŒ”;ö‡ÔcŠ%º5 ÏÃ`ž÷˜pTä~tס §‹â…¢§ýñtò¿çÆkÒ·/£©ÀŽÛM\èäV£é÷Ç$¬ûuˆª2±`èûPoj/×K6Ó%ö±#Ï9Ø)"ãG´Ÿý"~l ãP[‰¥¤ïž7í}Ç’kÍvű©2KŠ~Õ®¦†ê˜¡œà#ê" ;~~Jg-(›27mÖ:r ;ê~0•¶òÇA–èEL·.<¶îåt_c"Ö]|ú´Ž]Dád üiA)ÐÆýwiªÔ+^ÓJâ™Ô¦•EW×H|Þž[1Ä”OOËÃ^¨L ö‡h{?ðy“ÚX§­çU˜“—g Ë Ô£@Àí£Ü£Ø…‰:i‹ü!—Nm¹uØÞ _}v–F,Œõàæ€2àóÞ…{Ø0î¡ð@·1+¼fqZÚ¿)[^¦÷ÞÞгÕR¤Æk®(Û›Žÿ,Ÿ ¦@|HÀQbÝkOž7BÑd]s¹=ÿ¸º9‚+äüˆÙ+tÊ'²Í¿²‡Wj„wgwã% »€q"wUÐéÂ$y-‹ê„`J%‹güá[Îãæ’@ê”L´ÌnH˽˜eçXÜR"èéU>%².»ƒzkòÕÆu°Õ.Ê´7·2j›TìùäìWg.âÙý¬lý?êN.OY%Î<ÐsX²zUñs †nÖÍl@dÏWàÌ^uq.,ÊQfé¤Å¥pÿ{45ß­/:«ÿ|ïw|m—åδ]o¸æ`x*øD‹7Üæã7ä+þÆÝ*œÚɽ7·W¹\ƒA‰›&T“Câʈ\Û•X ¹Üï7…Öû\è²i¬WÜÆmná©X]x츤;GúaÓ¶Pȱˆ¯µ.ÖHö9zM4־К[í¢Ð~äK­ÈDä5›‘¶ÊŽº çQ­ð4adŠ ":L^ƒFZQ 49Esoù#58‹5¬±|[ØX:F—äL#z¯¸¦(ÅF=qåÑ®Ë6/“ÀÓ¾U» ‚åf±yQˆ®Oïä3V l»Ñ—¥†›ºààQ÷qUbPJ ›”r;a=u „¶Ü‚.xâþñ’çÐΓÌG:ýŒÎ¦Í3ßWmG¶Rös&÷8ßç;®Ió)ÁÉðf¶ :“~OO/MÍjŠY×rÖRÑF»V’iè2’Î{œ¸ X™QxàµßÅ#”C3uA6ߦ<À—ÆÐ ›šƒ}#¬‚ L.o3A2wN]ss2j㮌è 3vPC´@(xÝÇ×_}ýv‚ÞSVò Xåµ1ÝìÝ凶q,CcŽP‰*Õœë ¾*kÝôÄqf|µ!€ ÷Jp3¥ä=Ÿé߃<J¯|†s˜‹W„¬ë0LÄ1}o©R.mÜ "(ºµËH„@iÃûv ,f QŒî"³¡_ipʼn/kÀEdΦúÍ lq±õ ÎX½êøSÞ DüÇ6‰Ÿ@FQÈâO4íÍÌšðá̽<OK¸(x 9}kº"~¢µ3¸gËÒBœË§¶ñwìº;ü+ƈE*üýA«$ rnue$%­pâÁ@ÒsO>ÆC‹æfÖ1XÞw—5|¼Ðo• ìÒ¹œн2ßô:5ÿ%ÄU¯ÙèÎq<>Ÿ¤`ÜFèR„aY=ddÚ#•OmÒÆÔx²Õ¥@»ùÈfô* Í#¾I<‘Í"XåÛ(WL@enÔ’ÍÕÿn¬=Pša¼.6Òi¿[Ypå²ÿJþü  ;¡¤8#ÒÛŠß^ãX2HŸò°r –B2Ÿu^ÎoSÚ2ÙNE'ÐKÖÐ%Е£¶îèrß·"°u9Pp–NN‚àÏÑ-Ÿ—g¹áÊzäk£µ©Ž{>t§¹‚ÙÐä”ËåÕƒ…@>ù´°1“J^(l"·YfŒ3Ó‡¶rì$”f¨>ö*+„Žâ¼ŠéˆÏÆ ­ÞÚAz}ê»iucY³~[[ò›ô :vsZ걋LÅêó5Hõ¦:çW¨º*Yó—rÂj ñô #)}¦¨Ýxo¡6WÑXÀjJå=Ðm·°øj1élHÍñ‚ð²bIå}š¶nMîKŠüÓ!!Ó['¿ÔNømÈ:©Pˆj ç-û,ú±©5ZÅZƈ0å$ͽH¦z]ÜÊdý‡>r3vâ?T¯‘‹LTyJ…¤/¬÷IŸ×;VZŒOY‹Å¸ï£ø dýÿçç(î˜v NâëÚtÂÒ]ø¶[¯öqzù$ž¯ƒ*ÂæG¦ýù¿˜$NÐâ!êk¬A?€iÙ9– BÏ1•|׿WiZ,3jy>)"exk§÷.ÃÍõÅ4|²èô\ÅãÀÉù¸÷Gªhæè™5 ‹`þpKþ [†-^Ú–ç©ok’v'"ëÃfiÿ©úÇ Á+ż¤op©¯{kâ^Q—ైÈ=X1ý«M|a•‚{‰¨d-Í_:ì•“:œHÛ…¶GEühKð¨"˜‹™ ²àç@³ ÊÕ|\($•î ¹F\§`P‹bõ€û7Ñ£yÝF¾äµ9ž@-W—BlÜW^옌XÑ0I§Ië÷eþñžW·õ¼—ú{¥.Ú„Lúa§ÉO×¼ÃÅÇÇb";ÍN­¹$èXL‘S¬L»˜:jÊeš_õœì÷VòLÑÖrö§ÎÄäCÐÎqgf5Ê;È©ËK¨™UO\±iù«L\ПT¯âú²¯û9G o„ºÎ†YLíB\Õ#dØëdEŒINX^ Ø›¬s+ðaiý:í!d#YÑM—á¼¹ð×óð•oÝ`õ#zw• ¬ÙÝš­Õˆ/ Àbe é+*¤d˜9øxÊÒ™X{Ó 3ÊÞ›v yÔÜoÁâuTÄó»¤|<Þi| .1`Ýj,ä#ÁªšÇΖÇÔRèß ×ÆúîçŽ ûx &tÅÖ9Y`7³ç¢‘pÃ÷D¦íœ¼.d%ݨÀ¤/°Èm ßÀEïÐ(*¯¢&ôÉÙp$ô14Û;Eî±ôà¼I•ò.ÇYHט¼NѸš:ôO˜ÿç¯Çü ñ͇0~ˆly@AÉw‡ÌH] 3ñœ eîÝ‹ƒD ½U~Ðû7xNhë´3’Ž—C®91•Y•6{BÊ;½ðÇš]‘¾8MªDó©üuòGv”T 2¨AàË{C(˜â½šo*(CùufâIމ3uªn³Ç Ëëï“¥äç·„¶Ö”>œ²áþcX¾Fæ¼ïnßßÙ’ˆ}®[:PßäTܸ«W_>îð*!çvT§bÕ °±yIŒœ½ÿw\íf|3vL=NK8§µ}Òу.ÄòJÛ ®×ó£ÿªàŸÔH)“«¼·±ÿ~óêm³¤|^¶µõ~`”· R=‰QBÄ‘"ÂTb¹•°E)NŒÐ¿ OØAòÓþkqÕr…sŸ~åôÐ9º¿Ó“XèƒoåšÃ*\ÛŽ¯¶?õ{²ž ónWlÒ,µ8§lñšî­ÐDý³ë¾•.ä–»[¸ÑüzWÐܶ֫ŒäþƒÑÿ&— :1J‘E˜ ƒÊ𿟷x©#q®z¦Ú¦©¨Ôµ)A=nIX\Æsâ½–:³%`m à¦|”~BmëÆY†4Ü‚Ü==F ‰e›Ô¾ hEàsï¤ÔI7fà´Ø¦!†eÿ4ŽËêpj˜Ø¯YvôÖ³4 u²t(}ÎN^V¹~¬¼7°c‰3ò‡"Žx,ÏÇå¢IÑÍ=>÷Љ¼é:HßÄ•.á uµ#ˆÉXE® ­}C¤(Æ!©ôWèi¸3ÛªƒÐÂ<ú} g3©&è¼°Ë Vµ, Ìg`±t]DÐWHåÀâÚ ÀÁ¨D_†U;ãé´x…Ü&i1‡«ÃÐG/ø²Žþ z\zD 7À9 Ú–¤(<öH· õòXÃ÷YH aܶeIrá ˆ¸X´Ìj&jü…Ôùª²e¾·pjœá±Û½¬E'Q|ˆ>Å_™îÖ–¯´ l¡`­‘ËF>(é#”6¢Ž>i-áa ~f¸ÁBŒ7FÂ<ãþ_^ _}½ÁYè 16çûbudގǘLòëVŸpÿ}[_ˆ\èòYªðy̨¯Ú@~rªØÅ,;1uý$ÒÍ %»=û¢QW² ~æ ñAK‰òõÙÆ;CµŽíç̹ÂXx¨2*)-AÌ!!H?¼a0u(kï( Ë ’s?0„rs4ݹÀ(±Wf®JwèvÕéí•׳Â^¸|Jwá5îð¹Âe¬rÓ—ÕÀý;¼#=Œû uþRY¶^T“ß `Vqߟªþ–Ô–òÓMrÒ` .‚y¿Â‚m)­oó€fÂ<3¥:˜-r Ó®")nA¶„ÂT»ø„ð5®†ù2HëK@ζ ´~tƯÜNÏ”©À`ªL‚‡š«Bè¡8õíôöï<|·4Ç¥S)(R'¬A˜´¿œ tRÚÓÚ%<(ص\™‡ŽAªæ««Ó…ò!%8,òC„¨8$-GZЋçPEJû|Æ»X\v1}¤Ûñ¯í9dK!k÷Åçt°¼cûFµgm|#€'ûÿènf݉¢¨À®j¦¸³>L½ÏŒ§ñ³!f­šû}o~„a¦$xåÕ;Îe9Ý6j"Ÿ“8VUtfLÞðmüÜiØ5uõÃ…é—OýrÑÅöI²øÀ¼ˆ¨Íû\¼ð~!=â¡ç/³k„†®Ü}êWÎM~øßf““0>*ËÔø.®P^Y¿þ£‚U1Œ×ù¹}{‘D¸§¦ÏŽé 陹yŽÀrfTÇl”vH^Ÿ‘ƒ` gšLC :îÛµI:¹sQºSä!#Øœ¿¦?ç>¥tˆûmÄ©"‹ª.öW"oåðS =, 0©ƒÍ¡Ò #33«)½2ÕZÅ%šqfƒ£"^úzç}>Bû»š–Äw7nM9°Hw¥ƒŽ‹‰R¨ŠØ¶¯;ükI,ŽfdÇѯÈd”ŒÝŒ±6™°øCü*qÝW–G‡aLeQ´òó¶ÏÅ뜰Ú5Ñ…¹žÉµc0D×(ûæ«LB%^‚ê1ŽçÇð=ß|»›µ¼ø6¤ä(/IôÄÇ]Œ2lH(fúoty¶> ŸåúÔ‚Sdñ*ä°Hvä{à§4Ëõža¹‡Eâž% R°¤™„ãòí [«ž 7 ,ì>u%Ž x´ ެGDv­ôy‹Š&Y•D=w/ž7³Ñ¨%­<÷CƒŒ‰rs,Ùó(~yz¶iƒæOñÊqldÄÜjiȸ¼Obé@1r¤àWòŽ!¥²Ãð¯ü9‘qœÅg¦«€ßfÿ%ù˜²U'"mض毗tùn”,° yk)‡òá™@Õs0,DT¨§5B)Ç~9Ë­i¿-Z7y|m`Ì#}éð„o%ª™¶Äïó DDœªœ ¤ð-ÅPp sŽFÞÑ{k/ƒ0útúrUnïÏ †«Ýå’Ð6ùÞ§?g»¾o7Eîm¹ ¹ Ý â<ц³T«Öct ÿ˜Y޳ãÒáË›aËf3˜U†ð(;WÎä°á­Ob¢§—ô`×ß¹˜¶ÈRºß¾|[g)ÐfƒcO†P ƒê(RÕ*Öõé}@ìŒÝ1ƒ6â˜ìV ½mRœ–’–q}¸Ñb¤úÃêR[Ÿ !•ÍŸX‹ŸÄc½õ¸²{$ä béðq;,Á,mæn›éV"ØÄá¨rë—€WÜóGëÙí­ð)ý¤¦-Ž֕z4öšËRž_²Ê}Î;ƒüº¨ú‰£×j¥¾™½ÀuÌÑã“L?†EjE#óÀGöMƒV6Ò½ÏX–D:ËØÍäV^v[zn,í³½',ïnl³S)G$‚àVr8ŠX¡õR‡¡ ¢ø-Iƒœ y_ÈTHèUÄCô/Š)ûfh'ï¾RÚÓÐ ûõPéI½Ž¯¨nò”žh› Ñ:ŒXSØœ'¥M=ŸÎ,^YsZÔªœ‹d>ú ‚J¡Ÿˆ¸yh–%ˆj¯VRŒÖ>Û]`"Ò.üÊìÔLŽS¾åÐï¿Aϱäv€7)Çu ¤6’’´öê’ýÒ6î#¹G»¦Œ¤e3”ÌŠ÷¹ÖÖ#%p”Ò3VòàApÑmàY‡Ý¼ÚÀ‹Ê(K´´•ªˆàsü¨ÍÎ& æÉ½¼ºö“ðÂ]@Á‚O…£m™ìKSPAŒÛ­V/_„ ¾ö–;T3°"D3ó!Ô(¯Ð€l‹p\_5"\ä\ù˜9¾ç[ìtiçÊ5dñšxƨþÉžO´åY*¥jo»³S ¨UêZ73‹æ}âyo¼ïÌK:¹O} ¤°—ÊÍ/¹óG{$YqOÄ0pqOí»Ó[úNlåy4ÔôÑç8.Õ;ïM¤Ðül–Ö£ýàý¾Kú^)Í_°F[üôÅdŒ•‘²Áº ÷.Øå¬XBI_5¦äè­Ý|þÝN¿¬KgPøÍ^’îÁnïu›PzJÎóÿô‚£Ë¥*ñ_MfÂ~Ö©v†kL׆æ¸4 yÿ *ˆàìh´%$¨u¥{ðÒ!#3K„eñô¶’-Éij|¬·o ‡ ®è5°§+Ú‰AãP]ÆHCÔÍÔ÷×z?%YÛŒ5mngsísW?ŽÝøÏ¨ àä½¼žæ=nšÖ—LSo–ßßÁ/ îI¹ ùý€¥þª*LÅÓùÞuýã…ÊSc63›h )ýLÚÁ¢–ÔÒ{VzTƒJ‘ü ’¹Ê¨Èì…§*‹.Û “˜„H -7ŸÜÐ@Ï©cF—¿¬1ÍX  &²° ™Á+¬xEÊÏî›ÑÛÌáÖ¥’K ÞL£·Ä £hç2DúÙˆ¹ª‹ý@}‹—Kãr¬Î##å– ß u¨cœ·/Ñ;Ä‹aПüÝQÈ,]t!¥ä®’ëG$ù%àa4OyÍÉ3æš•pÎE³­Ã_&ÿDêDÑöâR…ªjäÛ”9ŽÃ†ó˜Ï'lsUèNêâËê㠣ýD‘c…¨­ÀÌ8‘¯ƒ¼Í²Úw4ØWRöä=èuÍeV¾³)”Jú¼6ÕT´êSdïß”]{¨GÁ(Î=¹ôþãİp©DEù 'šKOî{^ǺW?9Wöå¬'úruîÂà莞ßÕŠ—´¾"NSk>î^:“;Vö¤=Í;èOõ5IìEU A¦Z­ mó½NïÆe¤Hñ¤D,]s‰¯öMÁ'D)ã®Ë‚*#£í è” y"÷wÑ»úlõY¬Áøys8¥qCÎèo`’ ØÄ«96CŠÇù 8€NÔ2U½f£üY‚ël4ɹòî]+ †:ÞÑ2Z Š ÆàmNÔ:ô>«׳lÕlDT\W­¬÷æ^£ ªD¿ÿƒnWWr„$=i]¸È¯¸|ÊÛm‚[« ÄÇCH#Oô×f²5€€É)P`‡Šg5§™éPÙÓÔ¤ùÚ+–+$€")kžú‹¼ zõ ¯¢í(Ò$X[­¨±]i:T{j§:–²*z¹©À¡C¹V±'ûoÃ7kÔ–áµÁAóÔØŸNîÜ͹yc8‡Ž/÷ÀVî\`ȹ‚p¢·õªíu^ï6ÿ«ˆLý^³ºÚÏ6 3 ç—å<-ꪷ´™Òívf@ز~¯ ç3Àì7ü¿Ûêóü•Ø4©zð°!\@Ô²Åa„7JóÄ}JuÞƒ.%…âôƒVSo ãzÜJV¬žÒH¤AfŠˆ$³|·Ë¢ŠáQ­Lºkßž`øhÚ'µÊnQãXåÎç51bûÿ¾wµyekŒÅè4ñG+˜äÕbðLð¾Òø1#íÓßnê4#*J5 ô!KxZ”áªKÞ¯:eÜù_’û/0ÐægËF$Wh6Þ?·|Æ0•!Â/ÌÿP-‹ü‹“â„´ý¦å)óhÛÅX©›xQ¯þOª¢Dq‡Aa+ÝudAãÿÏÈ«xö^ ÖþN>ÒuïºEâsJbfnšá¹äÅXÞ1›½IeW~E †˜ŸÄŠ!©Òåøü~‡›$aOž!ü¡z] ¯EëBÂË(¯U9ã?n[6ElTõ“z!“!éTåÕÛïÏÙÈUš:cñè³# õGµ+z}ÖŽ·W¦ÒÔþ.“¡óúKÃînx±b×UóÊ·@!ÉBr–¾ëz;ñ?àïLDCç©H² ØS8ü/öw럀u¿}ÇŠAãD´‘5‹ù|ÊêOêXȈ°¥`¹Ë&gå 6/ÞYKi½þCp¬?[}K+zAÝ=sƒÕ—A\-Ë\<$12KkŽweaPe¹½Ö#éÈ9(”@IìX9¢ërÄBëÆêÓþYÒWüvzྭ~œ÷,¯Ø–[ˆ°,è=¸ÆÔ^xôÞ·ƒŠ•ã•Z°»i.í vÁù+̰ÚöÅ3A1‰¥ ÍƒL·­LÔUa„CÛŠã‹E᜙ø¯Ûfì/eÉM«<1þ€/¤ù›½dœ8¤z@Š.X ÷à3î¹Oï”A•A¯ütŸÃ°Â®t¼ãó•õ¢^èãa%ŒÜ:c“e^Øn _ $ÐÎQo]I'U$’ñ%!0ÛàâYdŸ'ã¸|Œ5Ë×=‡¾Àž³E?PÛ3A*«6ÐÀÊ…ùpÿ÷YÉî¾9†Á’¥h†_}§®©»ÏŸCA%Ý(¶péŦL©º·ó¨…bå@mCR 9Ž¿Šß½h¹O]#-ëœ.*õE—ëª8„ϼ ‰ÝUU®R`#nº{º=5X+"ÇSfÕWpw3úC/[?v±(DÕ³7?T:é_]Då ¼>í¢‹ÙÊäKÚ£0˜‘°æÔlK5åá §Ûd©ÄҲ˸Ti³>W#¹³»!^ÿ*p COÇ‘/ÔF§Ä|´ä‡„`Þø Êìó:ÀàG[{êy3â' ¨³k­"Ë´~7N.Ÿ3ƒi<Þ÷϶êÊ´”†ÂûøFaòl›²?üfDñ¡ëdo§Ýp·LÑ,çþŠ^,·^…¬#ªp}ÃyÑ“¬ &‰aŒó¬ŽF#Ræ«NK;wTv™XþÍ=¯Ôjle2; *퓸ËåE¾cLºFPë¡8jœLÕú„N‡ûÒ¦BA”’Q1rÎÜj@¾Ûj¸ŒŒ-FìÍ©0!oºicvò ›‹þTOUù;FœÝn ÏLÔZX³4ãeÞk¨Í…ŸÅ€ ÷}c©µ Û <£fü9x€Ân¨|&žòŽ[•úüöG¶µÒi -j['€ç°ó"mðÁ|tìSýŠcÕò?s þÞîª]õáé{²mˆQVKMv›å \y<½ço'ðfîÆ€] Œ\¾À@ÍÏR™œxm/à<î%t N¯lcî2–߀–¯jƒ['ñýawP(J9Ôî8†®JÄè,LÂÿg³šþßÎ`ËÆ@íô¡eW=ëÅlH¡œÙ£]U¶Ëö3®åLÔ9@ö@à†' :ËñÓ¦L×누S˜Žåì$„‰Xc~”ƒ&x8V—òÉ M‡ 1‡ss´ôıÓ#üh{&i#9/ ÏZAƒšj./àxD¯îÊ6(MB^Ã#q |±ñ²°ôoé Y~)ú/„š¹`Ì¢L‚¥úÿ·çÂ4Ð(n4ò‰t¼žU]Dá€ßÞEªMNM>ÀÂaGIPÀl×&ã0¥™öÞòC êV™‹Í•A¿®ƒºDó[•µ›o„ƒC¬Pbžu‡KfÛ¤%M—MòLfM† \¥&ˆ¾JyưUd1apUíMÕP„çšÉ,&ã­.BÆ|þÓwTŽkÖ‚7áU ©é-<„‘áŽòÏ^à ñÄh€è¤WöóÆ´,ºs_K,ã Mõ™3.±TɆîôs;{Q*øÕð!׸ ! Œ,ýŠi発ðL"2Bª¬ j5°+Ñ$6‚ðrAO}JJKC«~ù9qa†% /mánŠmB|zfž™e#xI?nDÌûêõ’™"O ±ÞS{Œ)‡ÍËÜiy/Sž!zòDvš(U‰?“ ’À(™`v&"«¥Ö°N$Fì*ÛåhÚ]p¹-GÊß~Wà<¡vhÇ®—ñCÁgdeÞY„$JÎN“³ÀÂ_Ȥì‡Â ¤U^˜W¤Ç@‘ÅŸ7»QèÖ¬³B>"ƒe®¬sEòÏå Ô€œ÷ÿûÏ/îì8O‡´k‘Sf/õ[×õ¨´íµÝˆp?º‡dû§ÄÚS9‡ë;j(sÛvãc}ϳÈéçNõPß/(…ž ¢,Ã#œ³ U¾ÜÓPV"Š&‡É}H¦7È^±>7œ DNinBA¶M¾y™ÒêšT¯0­+m6ßÄqº°2ç5HÛ¬ó@ËÄ+Ó¼‘\#ù³Nù2}K±AÅvDí/ãm@ëëÏ®Q° Ñ\Ž!LœÐ¥S³zܸ‰uÊÌ/Ér¼tY಻‰»ÅRTúLFI³²³¢6y®Ö)ÙŸšcÒ}ÿùdDÜ3Î¥j&Ɖ½¨v¹þ=ñÖõ­EºY0» “Ê6”³?P~üÎðF§ê#Ô2¯ØU*•iSåæóÇ2a/-çÎqk–/¤ŽôY%2%÷s]å>ˆ%%úyyÎÁ"Ç­à7I>DUº–þ §gað©th†̼ÎàÐ 7NhMõ\Àóã!` )mÚ)X÷“rü™Qckñ©8êLR2R–CšøøD'Ù© µüS5·2Y"îcr°#Rµš~CekììKqPŒ&@I§µ‡ÝáÎ7ª’\” «ÞÒš ÔæíŸ«@hTôˆÕy[Üâo‹øOŸ3Þ’Þ ’/ŒÉ¹¬‘¢÷·†«ˆ}Ίš'¾¯œ"ß6nNĵ'T[B#,NLÂÌó½1 ”0ï}Ä=›rž]N±ß½vº'ü›cpPÙE|a˜ÿƒJÿ\žÌZ¹iCg÷©o8é7„2çj¯]}ü=tˆîð—°á“ÎIâicy“½øÆÐÓ…$T¦ ÆNÞRI%œ½˜³¿0½ì¿–ÄìDÑÐn݃I‡øó9è?f¾Ÿƒæú¿œ™p¡ô–&„–$êÎvûigùÙ嘓Q[5í1(8ÎuÀCŠüI&¾6¦|óR¹wP 6cq_šÅ9ÿ›†cÝ;%·”°-•¡64ÙKÓeYA[¾$‰"v!Iæ’"*+·Ö£O„n-Îóaf%êµjBŽš²†á ¥g+<+æÝXò—ôµ0[ƒi¯(CÉR£K=SóòAòGA°nÔš¹¤û¯ €œÖgv³nÈYú…Ô´è%˜†á΂“¶‚ÀÈ\p<$Jx¤$¬mž.€âÑzE3ýäj_Á§ÜæÛ›!ïJÆR¶çKÐ:ÌÏ>k«„è ·®ÿd;R`õÓzRÜe\ËýOç‚9r}&WÅý¡Å%o,7Ì+áCˆ¶ò,Sk@i|»^ó}Ñ5úÃ’ÉþêÓ& ™<¥ÊR£—RYA´r´³W ÄÇ¢€çR|Îé ND\mïçÎAûhlÐï$ýÒà¢Ç*V¯qù‚/ý†JxR„-«Sbq¢°·;©w÷×ö^]“9á=ý©“K•äf\ ¾Q`ã`KbÒâ«æ¨Ö5´n´_ ‹mï3¦qðBÖÖÆÃþ5´C³ò„[\° 5a‡dýJ~„e~×øƒÔ¯Ã å×5L«ˈÌ•H©é»ÑÁÅ8]Å5k¶[€ÈlPuË4pãÐs“žát];&]¯­‘~Õ«8e®ŸE™Ö¶¸þ¤îLJ‘åeCØ//GC³ÉKØfCh`Q/M þu4fO.æðz±ékì·Q¹?ÿjÜÓ†}¼À~i Å­azHòwOÕ.pÚSnÝ ¦—Á9í…›®AU~Õ ‡|¼¶Æ±G—äÐd² [7ôu`.Á:©Úœ{ö;>+lŸþ ̯6ž¸a«9ãäæ¶eg!е1´’Ì—Ü´Zð|î4µ•È­Ôu¢ºÎݘ&È‘Î*’ê#ˆfœí¦i9°q§qÑâˆÑD‹&aÙø3?N¡ÜƳW ̬C¸Yß“J<Ö¯ƒ•™= ×åO·ùï[IkšôC#ã³=ÀÊ ¨Ü‡ý˜’þKñ°jKT¦×–è*çqJ®>n˜_\ec~‚²MµÊ;øé)´’ÊýtvËè‚Ê%~#=!Í& zhÕËù'¨Õåæ)Ì’lià …½ç*|RPŽÈäç9êEÉ+±Š|›åF˧Éf‡oîÏJ€ØÜ?ŸG acÖ#”ŠœÁñ¬\.:WŠŸƒDü…U#_H9ï©Yç 4Ä]€X¾€9ì{)zÃ4 g°/b?ê´™¸x;bȘaÂ~‚+è ß(ešUA—N24ìqU/Dúyä\7ßïÆ7ì/3®ø³œ›ô3ZŒ)1g„¿þ·Ž› 0ºÌZ¯<'GÉ^f‚á"wå•Û90…çàà‡I(…øÉÇp¶ ,À·iš?Z\# ZÎ?kA;l¬O#`ëÑ˯ caÝ ^Sk •úSɳ©Îا‡¸Ìü`kë?ÔT/4q 8†"ï=°ñ7@©5gòhÁ,UCMó¢§H‹ÎBÁi/j< I,…gs(ðÊb¥uMïU¥"é[’ ,¢ÕŽ(5€@âžõCâ䜧^“×=þ^.ŘG×Ó5é.³c¿WÎZÂi aëÙ’?.f ‡°9Þ èɤtZ¨yzu·k4E`Œ|< ‹‹a¿Q}pØ“ê»ð¥yæâ÷›\Nþ‹gmΪ6@»),›£ê “·‚Îcýh‹?ëE>-,qÆëÜB„&Z—T§_©¥’Ðe÷lOx¨X1{fẆcĵFÀäÀ˜ââÚà)œU·%ïe¨ ê÷‹Ð`‹zPRV9óćžùºeü|åÑÃû~ZT2Ýq¯Ü?:rp* ïöB;ÊfÉ¢ê*Ôb+À÷ã÷}˜7ùþFɧø;t ˜á4bV‡Ó>Àê»è\óÈÛ ?<¨7àóÉJMíâ³…ûiîeYCƒ-.û<°1Sr”c ;{:)*=…H$®V0ÉsO„¤‹ ñ‘a<]šdÙ°ë+8ÕE•ÇÇþß6Æô~ðU5Þ¼@•!åǰex©ƒ¨Õ˜x3°UÜ€{l#ŸCt¸ÿé_ûqšöU÷{Þê%Œ»U>õœs˜0ÔSº_þ‘úOÌ8DRÅ©hÀѤv,Ï€õ£·4cì‹•iÊKà*jJF†æÎbæ¸Ú_ Ê0 ½W°èÐ ÿìºY¸f.ú\ÍÄG×–ž|ëÍ•þA²;>“ÖÜíÄg“*×ïÄGþ;Âïµf*ÀŒ~Õ Q±¼X0{s'Bµ°žàÎ~úÏ0[5e?‡ÑTR”DÀ(RV'ö 4ó2 ¸âTÇ\Ï DîHó<°g_ÕÑEô^½ç-‘d™;+µQ¡ÏD`u3Îÿ—·Ï™il¾³féÂyÎe£ÜÖ¥õiöùv?¤aCMû¸OÂ]$¾b}ÿSÐÓ@]Úuñ Ò9jôO¢yO–µX]ʹ ”;æiãÃ&fM9é’‰t-¾yÛŒ#oE+ºu¥!™q!5ìà8/¨#VE5[Hg‡õo&uË„`„$º-à…dGaÕÌN5="ýv¼P°Ìx ²U·„ßIé&¤#ÂIÕ¥0x6@Ë÷9: ù"2¾š(£Œ‡¨vÕ¸— LzZmì+ÇFVÏë{~ë*\çÅÈ1 íïéþYõ¨+ïKDéüH—¶× —¶3…¶.ÎT‘”ù{|^ 9%zMê¼Lnž… õ 'œK¿×>Z…‘©£M­ A%8æŠûÐõ\S¬½("üãe™lŠáVW«Ó¢-‘^XÉæŒ^\›»û&£';UC&šZhì?\¶Ǻ8yÚ=kéÁ@z'\ãV¶©Æ"ƒ{ºŽ[—¦ê9»c"¬+N9Ïâéì¢AÅEXðΕx©N&j*o”ùms…ŠXK‘[ˆÞé1tˆ]¹‚ †Çã½z*!EÖšAë¨-©QËNhHÍ•Å< g:¶.„'0V•”?u5 uQt•Ù|‡)™®, ãC•x¿w[&†¢q@LÕÂ~C©‰2¦è1…) 1ù#é׃<ñÛsx£Ía$—R«•‹×nÆ0î¯~ïZ·»}óOeÒ¯^°žj²ÏYÎ0a18S,ʯ„8jxÓÞd­r†”ÿåëŽuq}ã7îÂ3"uÉöal Ói£‚·Ƕ„Ê*ã[#÷5Wö“é½d{³LÉܵ¸{#ês”$$bcEtïßÔqÙ{ª>TwP;b$Kµ§ }î¶qP*2ieå]Þ§³ˆ¨IÝôáæ×íàsÓÃØº—’!§õ;+-ÀŸˆTœw]¥ŸÏÑ 4Õ ý¸DÀ4ÚÎ”á¹ØÊý ŽjÁ- XöÇ#bŽà£ÍŸmŸö"àŠ“ùOíô2¤¨›þ¥­¢\¸eŠk“8 Gòßû-rÿ^£Jiì^¨å•G.2¡`ž°ƒÈÒ=¡ÙŸ#c®ºNà8ƒ-³•'áÓð^l£ã(3¹kkއ˜}å×K:S%’ÏÍxÁ‘´]hB)˜•6|íLzÇ‘hæº÷" Õ$4ÄÂŒ‡9ufiÁ^°±?œ ø;úO"Ï|ç ”ëÅIjùkûþév 4ýp8(ÂéKb¸Xê¤/H¦Jy¾ó¯¡Ý?µeR–<KÛ6.A68^}æu0 Ÿ¡ñ›†b¤Lovtý£¥|æ¬bµ—¿š‹þ]LÔ4 *È…]rô9‚3p½#mlóþÊé@üÝ…™o¥Õ˜¯mor«L5>‹ç&Õy. zƹAC©]M‹õÆG£=þBÝÑ+fq¬˜Á¿$Œ|éM‚@,kdFr‰Ïp\‹¼Ä$íq…©gMD×ÎÁãq—F¡?K9Ý;8çtªsñè£j/€ÞÀ}9.>²5 mÆÒ%VRåíìW‡|0w<Ó•!1¥Ôôr{íIcÒâxj»mtÃ3üŠ•í-~ˆŠᾬá–Ào.yß#§Å¡Ð£´'ëïQxAÛµEP|×S~€xLk¿¢§¢”mvۆũ\Ò)âçªH·ÆÅçï:úŸ)wØa·!Ü7)Û¨ýöÆÀÀ›®!n5ñÊA¼Ãè ¼O& ‡Ìë<ç§€àÏ¡ªv²ÏR¨[`ºžíÆk|æä-b¾…VNÕnH ï*Ú4 Èò íÑŒL"ˆò;WjÃjQ¥ ûÒlv8—^»·€ßyn/‹å.‹[‘!¡ÐäŽjf,4úvÉÁŧre'F»Å˜©Ù~sðДÅK²4q¶‰Æ•ñd”ÁëÍ Ø«+âæJŽ8ƒÐRTÀ±µe{o®£9 µ·Nf]9ƒ‹ìô ™nLØ“¨'e™ø©竼žüÜ(0/ø„• *î.,j¨[à?þ7ÞŒmC•HAq¾BÚù½â¨C–áa&—7–±A’ÙÏY•ZKuÿÓÔq–éñS®:O¶ûQ»&lVò3tÊO\ð ]–8WA`éÊeÉ€À³VTÅÞ¾Z>X/XHÏLòh’§:qG5ÜòºÏ°’O¾~Î µ°âÀÇÉà•ÜSÙ%ˆÛu¸µ×éHêÐJd-#ãÑRÝ¡" J@Šò4y7º ž]~š[„y4,…æRÍÒ,®uÇ1}^æäf ½§ÎO…[Ï ã8×b,Îz¡x,ñø[údM˜|;G^û6×HÚ–RŠµÂ“å‚¢MÐEùjYZŵc‡‹”¸††ôdbcðŒjå7-Þy5‘V@,ÄgfSߊnR”x Ö\sIÅkz-§åY‹ö—gK€JGŸÒî¡ï>™ÍLN‰cz¸Ý_RbÆÍ5¥h°Ûrzo¢ð±¤é x(ü’kê´Ð–$G¶?ôå]Fîåûw(§êɳRf·gáS‰Ùœ9‡Dß[¿€ÄÝ«§ñƒj"ÏàÝ2’!ã+5Â[˜’“¸ÌÊဣ]=pÀÛ¯aî VÐ h“˜ hA~•]·äßD  8zã½v”[ÈE¶j ‹,?¦34sFR/ÒüÏ昵ԮôP÷Tð§ù0¦#î"í׀ܵã(Œ0å‹C,ß¿ÃËÜzGdx`²aHÁh^Æu¢FëÔÚ6ZXêGwœy"—]bY34Ý Ú²ûðЦ~07]êP2’çq8í!H¯Í«~ÏÚht k?{æsCiÛÏMà߀ É3{Nƒ¶(i¶¨¦@@²PxmG4©_…žô÷Y±ÓÕ~±}ß*#ùÈ»’Ï þÈò=08Št1w>lÛCï¤fÍS fÒä?L“(Òy›ê±ö © ZX›ÇTy"Ïú}µZh‰]˜”a(ˆHìr®pÕ–wáË7ÄNøÊýv‡ÉxcºÊÄÒ+Yñ,ŒËDIZ_¤§,£]ñ’Efâq8ùÇü9«!~îÔ,|r²ƒ ñ­ÓnÇÇ&;r• Gco)s[–W·5$|1¤]O9}þç‰&-pÙÆMËLÒ÷uºýGè© 1…§¯^)JQ¦A0W3Düܬ`·¢$²};1G¤Dšâ\yá!¼(,|b½èDú¦üá]ŸüJW–¯#0]FÊÈ‹Ne4Þa‰;X’œîíWÈPÖšáÂûEx…7ªHkï…l ÿ­Žbñ|ÙK –J˜ÑµKR‹M ŽK‚eë9>¿ãkÆgtP¹^)ëN¶ÅÑŽu…Ä# Í™•¬àĀ̌˥\Þñi9ô ¦ü±Xb•‰Ÿb`xËp.} Ù±Ž{]]7Þ0Ÿ c9Ï[ G›èÙ¸YtÃl¤ÝÂÿWQTzmt°Îðñ÷ü·ëÕV†Qí¶ì¤–ž.•"Èþª¯ ^f%µOîõÛ…Mu¶ò¾Ÿòñä=¶’ù1SqǶíf6®ùu6²c½ÉÔ(uƒœ é ¢å=„mÉüZw$×3cd7€Ò)ä’ «ìúújÝÌŠ øû²*^Ûz¥ëasÄ…êÿê‘]PJÕ,¶$»Ç„fècçº Þ¹jOœÈUw4¸qöt[ƒ“ǺåîÛ˜wƒuaüÁ]ijiiìf¾¤­å.¢Î9Å&íB“¾­¹ÓúqžÏ¼ZTÿa•c—UòB– P új›aMõbk”1 óQ:𻳼ßÃÖ›ÀïNC^D¾ªÆãXïÚ²ûBƒvR °ð­{¤%,7n{ÃÚ9f~Š‚ÞÞл¦0;0³¹l@µ ôtó ÎŽš Xó…¤Ë­ÅšCyt6†À}ª´½ÑÈØ7ôH…‚Mîx‰Ë@ÓQY”BÈÓLtJ¾¨õ7èL‹!ŠPÇ”o¶‹m¸÷[›ÿž i¦LµÖ1XÒ]îžÓ`@ÐLSOed¸‰RêÁ_Þ#~Ô‹’»ð$›N(WÚ¼Ë/ ãzЬ–q󵿳%wÁ[Ö´Œr›Z2aÂpѾ… S?ûˆl’gˆÊ´€V!h‘rQÅÁ’&çÊY‘qï%!Rœ¦Pþ@ç—ê*cì™ÝÑãž®©ú^¾kbÌÍw`_D×cþϳ::;/Ó¸ Ú2 "«öNAlRƒ~›IÈ6‹·$åÌ"^-§{ûù4ƒÍz©r¡²‘sõÀã)ÎðòoT Ñ8ùpEÄŠMMûý¥aŸý‘o@CB•pÝüÝ…éK‚uˆJ¦ÄÊHã»lŒsù6€µ„fËs!_„÷*¯>¹"X~*ÿí ͬ.F…VÓüÛýÌ……9š óŸ†ÿ¿óõ±U†Önú{”.[-uxÐÔÜIÎÚ«tD%èƒ+ɾ̘¨¥ÉýY%âu>ðM$A²ÎPñB4× =¿D~½>îøßÕJû±,vÜ•/q½~¨/^Wy8+ktŒÚÞ•™½W´ òõ‚D¢!›9V“×9¼m’;Î1oËø|ÇÕEYMúœ÷o1©ywѺ¶Úc›Ê‘¦{ín r‚nºÀ½Õ ?¹`9î–¦fÒÃ^ɿܓ¶To±Ç%/¥àlL*µ 24iSóVŽ|À»i1aÐ’71¹T)§õBŽuçôŠL‘†ÐÝ?|vÀ ü•«'B‚ì’o1E vû¸T³íc3io`à© ˆÂµOO¸ñ ë)+ÿâ°³î`I„ðH›£lvÅKøï“gR“‘þiõqú¿}úEF «8£Ì1ÎÈLNÀÈÈfç³æ¬4SÄë\Ÿ,”_! ”ãX&hQ÷mfîÑñ°îîŽ<”VPwuŧ¶,È+Ãܸ‘Ìh@]¨Ö=¡ëòœôþ[‰kvÇTÊ«[o ðΔý(Q%•½Š€=ºN‘Ũà”íÌp ” ž„×Ú¶ÿgç†Y«Át)fCxa»´ïh*ín¨dôºtăŒ³ŠÁ­& •.u#=Æb=#ãeck4Q™ð›:pÌŒã%Ùã638¸™r-ØÍtE(„$®c€‹,ú\eþ,…ÅðRÄá%ðF‚ÈJŦìSˆ;ª¯ø è@”ç'Üã˜Kô3Œ×µ¥ÆÒd8àÄ_¤ÙZèX¶µP ó¯5_˜*ù" «M³ÛÑÙaFôãUJåÏ­Õ:åvnÉCbÞD¯Ú¨>U‚;‚¢'i‰‹Ô]Ó0ϧ¹äbthÄ@ËrtþÍ *’A@%ðì­xßmPŸl³þéb Ò#…à¹<õøÈ?iœy“<!¡a<ü2÷·ÁKáe è…ŠWûv‚o‰ƒF¬MÉ!‹ƒš”ðV)ézðaÑ#ß׎»E‘| ³Ek Ò•;Š®6ÄɼTªPÍ€žß¡ëÚ» ³éNq ”\³®y@hMš>2)Bx'ò=ú›¢ȯ›=¼ìž4ØóBÀ°p·«ileíÞLó·Ýgûq’ŸQïÓXq~‚œ«þ©ðLYz­“ä×ÇŠÚÂü8&¼Iƒ½¦Ü7©ÝéÒeƒšÇÁ5pòq«Ó+€hßË6eñÞy+îMÂÇ ÚP¢¨f>gé" ìÖZÔ™Op+ÑZ‘÷¢”ë`éÕ¢Ízu/¨ sìq\.E=曪ڦ¨ëqôÓ<å†Ç(bJNÄ:8ñ÷² Ï9¾‚áfÂâ~.´ˆ\_27÷h caWÈÕ] 6¯?gflZÞ_ ò¼]ZS£ÿ4Xþ¨QжD‚þìc^/ø'Ÿ'œä*| NÝ+ð±^ž·Wû³×Yä9|~$A¦WË“¾—•èFžaó¢ß¶GùòšëZ‘ ´ß…‡Gàoþ¨¶£PÍY}M?„}ñkÝu/A`ˆtîÌÀ’dÀš&Å…¡¹¡(7I%ºCÌŒ¤¬›zªqIF›.ÏEw½ëI,•IåÇQ­<¦38S|üt\%B Qì1pàhGk°òWíkŸ%Vêïç²­à$6 Àd·îª] ­¾ãâW]s~Ú)­#³ôRÏÍ*‡B ŸÐ×myÃûä¼¥ª’@t¡ÜãÊ]Ô,ÖÙN“Wf(öíÇq/)÷!iì•qM¦ýG¨Åú†Tguì—¹ ø­¸3¯UÍK§Ž<‰ÂCì1¤À¥­czqÈ ÖD²^‚ŠC¼ãõg‰+6¬Ê-Æ.-7 U¸§­«ÿp±¬=*žü° ê€tmBx?ofk¬^±üY&d;ˆ4SóxZì› ÝÊÒM¬”äà‡'ËŽí£ ¶HpGáPUÉ¡”0ž‘Æ¢ ºV‡0ÐÁÁëLs|ž/7&² §Ý] Nlß1BšY,½>*-µF 5Üž?6ñåú¸9µ£Ç¹]½Q=‡6qìó›ÔÓ¯'Ž/ãïy‹½ñ)8Fv0TøøùÇkqZ&WÅ ‡« GÍ0¦ñŽÐ}C£]QâÕû[/©ÌÍfɺù·‹%¯…fª-ɲ ¶ù®i½é‘J†™±»§}¨edÕð¦¹6íþIÊé0MãâËæXè°1`©‰Ç Ö ÒRª)¨¯€^ãxв·AçÕg½_š^”¥b‡+¥ì1µ÷ÿ9bQ^ÈER˜)à‡lƒØÀezÊY¶ç·¢9…FÑ•v)·v%à_´CAåBVò6í È×ñÕŠàrû^¾ÏXiåÌ{Ýa~Ñ·%Ìk‹Dîø¹×dmÉ VºÇ“VˆTùÛìÍ6j"¥5¥¡Åé LxÓfÝ£„9£.õŽDô§_ŽÛy í¥DÅPd Lºh;÷γ·Üèø=qí–GÈÜ f Ó)% _ýÆðªgüRÕQ±·JØÆN`f!âúýÀN#>j®!ž„ïGÉGz.ñG}᯾òÏ;™Ã/GÁeáØ;5ี‘ î&®ùˆÒË$f£Ð,“Žg3ÀÏ1œNW‚±Ÿ{¢Á†m\»k¸¾G 2DdßF}ûY9;P¿¯(r6 ¹éEÔöýf%àZÌa³×¼ˆ¾Uïÿ—ùŒ!Qr¦I2µ$·§+ˆ"•´?MòŒ;ê{“¯,SHz¶>‹sÈÀÂÙ|ë}ìk‡ßXJÖº<»–-ÏsE/kyÀ%l½ŸR?ÿ5›óú<_P«êS›_¸Ú!Q% ÔÒ ÒÛ9»£/$N)™ôUÇMöƯ5‰ºÄ7…% ½ošÅž*öÁdtå·¥CÛÉDªsDËÓ½ë´ç¬„Ÿ„8_?tMr/òk)1Ok"àFF¨‚õ \1ü)LÈñ£–И¾N¶4›áBð3mhq· ¨­™É)¥R.……í4ËaÓ ,LÔ¨v|K€WK2q«•@YzU<üß ßki5Ñ¡åÕ·Œ(ˆƒ±&oÞçå~F³6ªŽxðưäÌG©XÛÞ¤ÜJŒöí,垎x d!øð¼ZXVÛ3ãiMqâø~='m€š‚Ò¿òM#‡>`‘Ë Oá’¢u®3®oåLŒñ¬29‰ŽœOª¬’=g™0¯º—6ÙWÄßW,†æ‡½ÙŠ äò³ôÒk§©E U9ø¼æ˜u%뵌9f­Ëp~ùÔ™x|@„êeý¨Î_Aíæ]VÞ¥Óad@hÍ 1 'K ÕÏñÍ*`|Ø’c5Êÿ¯…C –§sÊ%M_×àtoš27ÕÄ­ÿ)òiD˜ßq©°°QF<-”P×°Žb|8ŽÈ_vÓ+s²Èµ¨üÚÏÐOxʵ‡öÊ™ê|KàB¡‡}‰$\¹ÿ§ªÀø- €JÍçÐEØú …B÷bùŠJbiá÷ÀÇ:]FiÈ] ÿ©o( ž±FC þ EM)ƒÙúõ’GQGbù›ê¾‰kJü‚8·åž)¶{Áœ«Û'S»É¬ÊâSs¡Ú<–fÞí|°¹×ì˵ƕ5ÄðJy.<›ˆ+jÄKb•ÝÝÌ d œìÉ¿ MÒK°ã0z4o¸cVžÚ£¶bÛ[2T~ ÒÌ% i9 J\¥…¬Í¼7vÚ”™p€&ï^”°¹¨çL ¥ESCßæÓ·™ÎŠßJÝ­Ë£®!ö§Ö6“ÉêÐ$OÐÆª›á ÑÊ„¦×tõé>EV2º1­‡!Šlá8“¨t¨…°SÃéœ:S:ä &œø)‹íà§È ;Y¦âcPé­zÈ&3õ²Éó+4&âÚXÉÖŒ…*S%!q‡™ZªŒ†ÁŸ@ï{íeW’âaWÙ–lŸ¿7g‚¡Oc»²nÝÁ´¯±©Ž=ßëÞCa•×O8òû¸éÿ¹<¡ŠM·¥ÜwZ–ýÂß"¥œHBëÓrDhRD›‰àqM¥½3íj°äJ6LîL†ú³®þé+ާþ Ù硵4׫õÞSpq±D#JAŠ–äpCéhÊða¥$¨7Óðo©PöÉàW‡f2Œán€R>ÝÏ£EOœ_©±®VþÉv¯ð' ‰¼Y îùMñt6i>–G ¿Æz}"åâoñɉû¤‘¼(Z’Ò¾‚4¤ Ùx çàMz/Œ1ÓjW‡ª—äTŽrUµ +Ê8½A'£î XÊævzH]³Ão©0ò“ Yaõº‚sÖl;ñÅ.Þ³˜Ò`ÅZß”èÓ–N´ H)$¡²Spí\ÿ…Žxįï?D\3Ïu °ªòQLfYl ïû³óÌ7W®CaTzÁ|.~a™…Æü[¡þ,#ø(ãC#8k– f‰“ìžœØh ¶+dÖµvx–«e´xTÝ "»Bn¡ê°Ûl,¶j’*’0Äé&,v ÏÙ‘)à† èÜQ8zí§…ûo’Æ> šJ~pñ~“#kíÉ«/°šËi³N‡ÓoíÞâ/6’íHTÙÆå{ï6l/ÃO–¢(;ûšRÉp5Èi¢s+ÑiT(H³‘Œ‘Õkëÿ5ÖRìV—ÀÙØQ±F h1ß?§ôôÿÎçFåð€¦C0P\½é0høhG?³(dÀÝ¡Yñö«v|Ù¬cµh˜¼Mfįïÿañ£·“O­‰]kGË]nÞ~ªd }Wdƒ±…*`¥ ÆûhlgUgÖá¼åõ”héC\((YÒ7hí W3SYotÙ©^Ø y=¡¡¿«·w0Å^GµûábÐi8Ò{/ûP‘rç1슳¿™g¿ûÌȪ¼c¶KLV¿%Æî!†z‘%ö }‰D Æ«üo<7Ðøl@:gÉ)  nº kÂNj€×^˜©8+ÜÛ]$x„zg¼;í–%oÞ>fü*.Ž=¤©sÛTð—ÀïW$SÜž! qøzyÅ’dA㔕7UjÀEØÓV`1fÒ`Q”ºžˆ$ qÕB÷xûk þRÞ°5¶ÅæM«Çâ;ùýúñÐ t§.S}„Ã*Cë0©»v~ëóÙNO_p\aNAéå,QG¿(`Â-þáþ».BJ'*Ú,j¹žB¾íBè0‚,@î#ÄÁȾ9d¸÷s @Ú{€Œ#¤?sÈÐvá´{Õ'¿i½Ëv`]™ô¯·u?Qx2E*> «!ºÄBâ‚h• ¯Ú޳(Ía„Ä)Iáâ÷ÉÇÙzÈ :OúíwåЬÁVLûrI|&ÿßõ†¿BҜæƵZ1AWy‚VâXñ_(Æë#måÌLÍ Ìêðh¤‘Vof«ô|$·g ÂBhÀs;öyU€´ƒ]šĽJ²Em‚’#'à پ¶Ç wÝù´¼ÇÑìÃf~XÍ8Ù³¬Õ6¾4<(—•p‡ChX®’«Æÿg¸·m¯qiq4˜¹jkÞˆª·}—VUšfª» [yÈšcüâü)Dø!=]β!ÏŠpíb†Bá,Ïi2—Ó‹‰â™§TÀZsF±Q“{#eŒ<—,ezrØ_e)‡½öD´óï:‘: j}ZD‡“Vs:•«ÚþÇ©éæ„X’ÄòA2ui ÛÃÖ´F)¡m}Øæ±°.®¿5P`zgøs—÷%)Q¤*oøÓˆÃÞGAz‚oÝÀW´ºÉF¯òÍΉ¥]˜Bûhzwv{·éCçñˆ zÂn/JIÃ^SH ;•ALœaǽÉÅÙÖ>ž=c­àíD¡ÛR;cž¥b—ÜÔøŽ6Ý^óÿèD/w‹.áäƒNü/ü„& n[öË *ÇsðZ’­Z—zêÖ/ÍÓ(zšÑÏ»)e·a~6ÇßÉùˆìtÜQ¨Or:¦jðnù[ õ†ŽÝIî0úd…˜éE½xÞsøÚÄM€ðiÙÊiÅ’²”KHÍ£ ûPa™uoÁ),Q˜ç“[]ä1Á>V"8‘ÑŸj=Zí[#R ?JCèƒïJ”^·¨(¿†6‡Äâ§i…j sÆ«ÞüÝùÁì— Ž1|3‚D÷7ÿ÷#ˆþ`˜[¸]clàäÔTÚ!y‘B.J6&Ó« ÔÓÀÊÄÜŽ™—m»uo®-öù&úÜFÉ׺¾Âå ú;ˆdÅßÇfo •bʽ핒܎­% ƒ€¨‰4€îÉ[ÔH{sæ ¢vL}‰M±}í¡GÆ’dº}Þì»îÿÈô-„@ wÖ<)³ž¤Bï·¨S“uDÏމ·08F™bËß1=б8y‹ì¡÷ë·)Øÿ2Ý“b;`ÁE< ¯™EýõwƒqÈ7ÑR@,ÛÀ#A8s#/e¬b¾¸Ûª‘LϾÀLɉû»Ha {©¦ µØæ¸“">֕‚8]Ô„`FP~Ο‚é ªp¤:Þõ+ÃìžÀåÜ&k€¨ò©qJ? # =ÜV®S¶üO=2P2šßZðLɈ}ø1®_¬AbN½qÞݤdÿ,Œ{ÊÅ4Ñ ,¦Û´åÁå(ƒ%iA ˆ/±j/•chý¸ ®$3©ï£ì+!ƒ;†EˆóÜu–Æ^g¬V̨ηÙä"fXe™º¸¬nn ¨Öû¯¡lþì¡”=Tk·ý«)qzox‡¦í(Õü_Òjâ@&¥1OKŸ‡„Ÿ¦&^Éo#G꺄  «{»üa`îoö)O|¨Ã4µi?ݰÈQÅÕ×÷0½¤h† g"ˆU»þÔÛ? ^nÛO«À©"?äÉÝ÷8jc³D”;_/xãß°—c"Ðç«„œ²,|ví¸0<˜7onÃr,+>ßÉýj2</û2Ûb¿\øýÙ@ð•µù¶c}‚þ–×¢–|fªµŠh‡‡.“‹õB!‚æ¸?UÓkˆÑÎ|ÜèkP´´Õˆ‹b2~MªkIê‚ëÒ9ÂÍÏóèâ04Ts:8èÊn^ìhˆ ¢Xz»|†²;‚¬@vAH™ÐÉÉ&A$gv!tü ahuv “Zù¡M¥âlT*ÁA›=ÉÍý>Ä%‡¶m¹øÆvïf«_d}1Å–t\àH]NÜ9°“À-†úêyÖ¤ÿ‹öPIp BN­TUM·+-ñ—G¼ó>‡ZF–[ˆxl{« 0ÍxÇÉd/üI\že²·Ê€mÝs­ff1”6ô2ȯ°­ý j–âþbe2Àg˜5‘Þyîbúƒ%¢c娸U%“MÁýŒ[qŸCk £â6Ki`m4ŽÞ±]æ ŒØU5X'­T ðœûo€O!Ðq“Ak9°­:êL… / ÅT]h¡Ô2üƘñP#Åp‚PÑhãxËòáBÖ¤ Rµ¦¿Lä\Ï!nÀõ¬\+5Z¬¤†@xñ¾äùlω*@yí°f%QN昃ܤÎm‡×åÔuZ§8=oJô¦«-ôi¿æ>]OÁ¼òJ/ ãÛöGˆÐíí¥|óò ~ÝG ‰?ÉÂ͹T’Óbª¼^|‡Æ\ºøsø÷4a} ÌªgÛyflÓz5ŽžUúUé{£‹wpõŠå>`®«Ìl0̯¥YàÌfAÑ¿4™Öó”gt­kœ.IþwÏÕ=H–gÓ‘¸ÒGZ%—š:šÅì}bë$ÿoÒ•j€üTáû{P¨Ŭ¤#Íe‡¤Æ¼ð‘×-à“&‹±Œ£ÙÇ£X´·ƒm“”˜­‡˜jBg!IõÙ¹ƒLÕŒmP4÷¸àácmÿÐ$Öô×Çß„»~ˆ?§7š,·ô“B‹PgêëNAB*Ó¯ÿH-Î/ \îÚÜq¼í“xXèäé6òìzW+Þ¶÷¬øä?g0˜[=/rO†ž®Š‘Ÿý¢ÃoÌ'íCÆ@r “žì¹õînt¬ç΢½p¨J{”M¹÷XŒØˆutƒk«6¹í“ÛN¿¶‹mž¯¼ ›Ð›âZï¿líhb^i |t»dR±ðÈy²FüCmA“ Š¼«¥;&¡gû|¢ “AU\¸+h"I#¨ßZ˜ôòäkñ„Ÿÿ¨_ÖÀüˆT¸Ü_„Щ­xW\¼©*Åõ²ÿúôO„i8kú¾;çX5‘núö¨¢à§ýñ±Y+ú=Ǿ¥“l¾$ £Hytý™Vö&;ûϨOpáó‡) ø± ikP¨8ŒòxHVŸc+Nw"eßhŽ€t‹cŒR‘Ë''Dë^:Š"ãKƒ*.¯Åönæ1‡6ÊF‘ ܳÑhÒ†/Ð]PIÉüÊõû‹ ?W «àz%¬ü± WþPŒ¸E-,ÍÔUΠlU[,†‚8_›kú~Z@eE·£™ÐñûÖ{‰´D5Ë»]üÚt¦^õ¥ ¤ÛO…ç»}\/^3⼃ÚÉì†-[ã¥(…rfΑ¼àFo/oyèW“LÐÚ6¹l;šáؽA-pwZ¶ ÀVH”“z]QTXÝD½ÆXäÖմ쳦:šñ‰Ú𽯭'«2QÈ1zåôU›Øå=iU{&lv71 A ì5ÓÕÇÔ àóm |bLGpÉ(@¢Ð™ Ôè ÉK:+Š4¯Åýã›M9-5ŒS˜)>{\¡wÑç|¿áMv\¦:•¢–VÄÚJÿCŸÙWaÅÕ }ßI ?«|ÿ‹‹±4x[š°3h¡ÚOt¶âz­U|’Üò™Ö›° Ç‹L›V !€¡ßäÔ¬ŽåY@äyCè-ˆÇ^£ï•™pR)ñ”ØÆ]~Ÿ¡™T:&Ioœƒ±úD )¿Ôx#é>ÙXã‚°Ù´#qÛV;ò”†ÀÍk½Õô#ÕˆyÝÅÅuö Êÿ×)¹wOx§^ÔueNG¶N!F¹wdÊç2lS/!ê §Eím˜ÿuk©úÓÏjgxux·ö³ô—&à ©O0üi`ï¤Zèî^=¯-ÂVd!8(Ù -?W+ /©c¤nÎl¤º¼$¶¤×´Î›AÆápJJçŸ$7ât9ð¢o¯1ÇÅiR‡é)P½ü82¨È°[¿˜TÁ¦`¤=Äà¡0ÿÝ­™ªÞY0¨u|êÜ’`‚{7õG•´rGÇåF([lñßË.zÉsËW@Ê¥È{ÎSY ‰|«ç|ܔѽPГèÝb¶š¶Ya,>Ê¢X{+™9ÐÊ}õð˲ÁȰŸ×ší§Íú°Pû*À?†š‹}–s°6 ¼×Ø„Z¬’î¥ÃG7#zÓ,Ï\UyH¾ptqK)ƒM# ^w{©usrú©yUŸÓÿ;œz¶‡æ‚^0PQè–úÅNêü‡X¨ýÜo¶êýùžÉÆj[ è˜&”ŒC <éѨdµ+ùyc“”Ë^|ສ+DOcv*eW×yæÖ„8Œ?ÕÄ“ÿL8jÇsVþ}mŸ|P®0DæUssú¾yò¦&Íðçã>ä6î ž®©JCaÈ«Y8 Ý†b—÷Š.ðàÁa“¯™Öàåh ºy¤ÿáz»e—ÆÈw£– ¤×yø7S Ý0ã>nGni—“ë#ý¯ÇÎÉ[ÆþMkØkŸkƒ–UÅõ;üªQgêàInL‡ÌLG<ØÏid $G)~ÔªO’}ÂBWt~jE§ë6íÕßàçîºxí=¬^þýåxHV3ðŒC·.®Àië ‹kòŠ/@æ´vÖ„^¹ÈÂíZ¬<{¯!ǸKì^tÒ€™[èö-™£#s‹Û¢›¬Ð  œÍX8ÚÙ2x,xfGz5z¼{ºÚƒ†”P½h’ÿMºæº¼ÉyßÏ%gÞÆ¢ô}0¢2›•&p£Yž¤4ÀÍ×@–‚LœåŽ*šOç0¥úx5‰ˆY6þž¥»–ã¿õ@®R÷c CM~fè[eÓÕ(íŠ/%kïN ÀS»ñÝTQŸ¶àÝD¿Å¦sñ^1í%õNm'®v Îô§ß2ùú眶Ž9è<ª€ºa Ñ3 *4h¾­ög@ñÓ/™¬£5U»¶žtiêýÂ~§h^:V»È&4Ž åFÒË;y$CÊ“Àµ÷l,–¤­‹D„$8 ó­ªQ០÷^Xô*åÚõ÷ñ7(—’îðhüÂ"› ß`åÐÊ¥«ž¸—™&§‘ìƒïîÕ®~º&” dB2°ò·äÆ¡ã뀳T-ÓfH4Ïåy OK?H)Ï[ô@seM§M)º&Œ‡õ.Ĥ·­f¬FÐ*†.XÝ„`À`JRƒî~÷ Þô\? Ô¿ª2?¾PF¶.°Þ©­U‚£:t»â wÎoˆðót•¡-ñ ëï—g%fP—á9KÝÄ/gÛÐÍ$…*+ç j0D!Øic9-ßq?]Ì  œ„ìÃ{;2cqbø ëðqòÌköG–Þ{¾?óþúWîçgôÁŒÊ¬[ ,)ˆ$"€t1…Tp¾ìûVÖ¥€T*‚ÁÓ_Kò`®ƒVQzoÊ ?÷ŽåÞHÏ|Î8UL³÷®þˆ_fXiÇJÍ“h§E/7º–~øÁ73¤Bñ†0ߴЏ­yŒ×o’âþïÓß“ü»&¡Žh&¢[¢¢-KÖ Þ+œEÌD‘|xñb„S‚…ì÷¸Üh‹ºág(¢·À!¡òƒ( ³s$,tûxúð½{è©¥r0T>r ~1ÑK›°s²ÀF¶™BPcƒ½›i.–˜RØÍyXæ—6€wŸÈîQ_WXާ9û‹K^3¶\ðQ”î#ÖŠÑn .Ól|̫߬ƒ#6ýíw@¦3å}™Ã©}úQ¦çñê}“É^B%Îu¤É|ŒÙn¬ûX–/q]Õ½´DÖæú*Û”+3PÐn©CïŠ4Ø\¾Ñó¹V'Þl>“`3¬ø$RDlÁÛ”J¡ˆÚÈž¯â7õ*Úˆd”Ý­²…ƒ¥éØ×&QÌ”Í_½]ÂgµL €oöÃÙã¯ì©…>f¹H+¨^üy‘%’r¬OPÂ÷ñüì2ëuºìâ5Ä6JCqÇ8E¤·7Ö˜BfMçrí„h›B®.Ñü­0JùU* ÝÕ¥•‘;EGf1ØWÁBDv—Š#Ùkj¨Áþ[W›4…Å¢šâÀžºl º>Ἠövp›Ge)IÀ$ºƒ³ŽöÆvTw…_ËœªsØa,ήªçµ0x šs£ñ‰ÛÖ4nc•šÉþ‚\ë⦉õËg,?~Lx¸äfßQ R<”\òö ©¬ï’¹¼ñ˜ xìš¼Ÿê!­ ýÕ’]M‡>ÓYâû[*ÒѸ3ZÀ‡U;¯T1þöºmÙqâ ‚yÑ–2l4^,.nWîQzþP|£©Qc'þaµiQ 8yK3õ•àÔríñßùN8e÷ÛÒúƒöøXæ )Š:FäÅþvnäÑè\¸æSZ’$®8? â²~X`“—FììZû k !0©Á†w¾çE;EÚݚïí>þ–­J‹¸£Ê¼ ™â»ë}pDïû!f|k‰©HȶÆ?êV¬Qf¾¥½ ͇ëFDˆ\ ˜µ=Sߨþ£÷2 ³™uŠ6;´”‰RckÆ/͈|[Yxf ¢ÿÇU„(ƒÚJê¢Ç¬oµú ÝÁY»hÚþ;HóÅ_™ùNG&' ..ns_Э¹-nÚæâ´SÌ$u4ÇŒ|9s1Zç=W'9²]×”Ö/³¨ö÷b7Ò¹¬êòäÂï|-á*"ã„°Ô?m‡J~ÚŸäY-w-æf²ÕXä¼zÝBêiTimÉLhnP$›ÿË ÿAFªˆ±ÝÏ(g¡ùä ³&gÙZ©ý\YF‰‚#3î¾Úqa'¶ŒïÐ¥Úù…%6û‚ÚOþ‹ö5¦£°šöEÑ:ÚôœÈé Y»ºWÉý´¦öè—5P1–ghlê·!º“ÔÍ/´pªôãO Öeø÷ÚÚ“w̃,…iê7–ŸÔ¥,nêo%|±`Ò“^ë’ÈÃ÷î— ³¤ñ«Á²¬¢Õþ˜˜PyŸœº/†·+÷Ô4âvž*Šh€Š¸uŒOÃTîÃpáÁt¢÷‘—y?âkK~CI™Sâ¦1åä~´¦\T/õiŸšŒA¸ñssL® A` ÔáñˆëàÑû%©ƒiºKµ‰yæ=^ÜéÃÇ\”N_Äàü}.££ËP·v™?ÝR9uwUÒÀˆ,LÜ5#í!}!&[>˰ð},Bï=Jðú«d ëL½düe®Aªè˜ßÎ{oèu ÒfÿÍÀ@@¶• ú«0¶‡æ!¾,IÐóò½QÕAý³ÝvÇÔ‘–©µ~¶ÈÂ!zN‚¹·XÅ%¨½€£pÝ[E¨Í»È£X‹=ImžÍ¨ïž^b<¿Ht :)#³Ž}ë´#™p…©Y¸îÑÁïØ¡¤—þc9yÃȱž`©[˜MŠ %Pß㤂gVgÜ.ž4Ÿù›÷[þg•VÛ<+s<¥­zÏ®Ö.;¤?}‘‡ å€ú3AØÙí7Ý®5V3Ôµ®ÔókgèFÿV$ ¶²%ý("]ð°ñ)d·"Zr\\ã>'–Jß'jcì¢@wµ° cÄ…;&ÙùLÞô«Ä›gk\oÍN×téKìÍ.¹!Z‚`B½öÈ(vÏ,¤ÕQ~Ý$ˆB˜ÒiB£s‡ÆvUþ\²Ðé±þMÉÿ-Tuì bd¸C “¯j‚‹mŽŒZwÁŽ1¨U¾dƒK`î*ËíRW ¦Zª’^‰q¹Q{¶ê€±ÆnWiFäÿªÎìëä?=C  ö³äœ[å ÇB?’^¢±lÈÜ¥ /)Q×Kê)¶Ô5;Ÿo=›”n€Už ¬Ý–]E¦šykø¹ËSŠÙŽ‹Ñpk“Hb)EøÉ®åPΪ{„QÇ!?ÇI¾j¾c·’–ñ,ÖDôÉ#aç¡TF®RŸÒÄ_€~)ð]Æ3b+¬mÑ}·Qy¨ùë²ê ÝÜ¿–‘[ˆJ|úƒìYw¦jUñ{ÀàsŠÒa´è1‰šhL+ˆ&^OH51…\Þ$rô¥v‘é­#O¶Ì⑉RÎk¼(ü¾»íP0%-ä}Ì’, *5SŽy^?Ð Jéµ]yvM%ÛØ_1V´šì}jãÔg9 îhey>­ä &š² ƒ%bT ýùdgÂ]úºæÚ³çR0vž§í·¥v{²­j’ÙòýÀÖÅ^ÀÄæEËŸ®Å›9Bù»0:2‰¶Aì$æÓÔͯo‹šü}¬A«J@“]Gl_aÕo'Tz®äûWQ^¡®òâ›x/šèÞ+½Íð¬-Ÿ\a(8Œ©[ýCÎzBÇ%`MPhW›-äcÏâ!Ïò‹¾ŠÇy¸ï`4?6·¨AÃ’Å«ùxHÒå©) СEú¤Ã€ÓxJg%ºîÍ—(„@8çHí*¡Ò¡ aE[žs0·«-Ô“4q*aÿ°®(N·6Í·{zþçp‚miZéC·sIæÌžWˆëÂbü›IJBÆ7պכ½ËÂ8ÝéžIIÀ~ñ¹À•!W6 Ï£åâr‘é1ù¾W³‡;ßK¿¿YãÉv¹èwƹÀ:äûº¸Î»ÚÕÛ¹áËv¦À>™·F@ŒÉõg@W/ÏEU{ÁÕŒŠóï»DU5,´¤0`ª@ ±çbzm{P °î t¢‘C¶$Äï”àíAåãTrÍVkn¸Ì~f‰*ñH‘HaÍn½uå¤J84òÎõƒËC8ÎÃÑ-›Ã.“dJGc[ØÿئÈL•jLlÛXBÅOpµëÔ½¶ŽÏkO”´0cÄLqÚ·pßpü^E`Z-âyÕ2ÁR|fu5ÈÎý+Éöèµ*³°ñ¤ÞÊÉyaU!ŽH]hfþŸK«‡­¾Ò#Ñ©7fCÃdÌ©ô„Ô#MU)Öü4rÌà⤟Î&ÑU9//yÅ29DH’¢€°þ”¹ÁòÐ/v¾sXêÖ‹(à.9¾:7)óÄ“'è£e¦±9\¡$¬ì„×Éô#Ì9W’Ö4ƤØ@©µñ`iú[rÞÙåçç ä ÌÜéGêhèXYk͇¶ø™Žþ]Þž^|çù‘ö~køe›Ü•!¨Á}>\·_W^Ó·WE5VÝyY‹¡UŒ`êg:\v×ÿ–ŠáàLüÖ ‘h´}_XË }›‹¼…2eô.f‘£ "¾9žâød®¦82HjèL›l9gwÄrŠ8'eÜ·n.`PMëO1ê]€¬á|lÝ .G.\G•õà$INÚÀÁezÑÏ™›¹ rz:ËÒ\í¯ùj­[?vCB®Ç&ÿ6EÕ`K‘`Îì\+ÔG…rœUo?{dš=JTúZ,g@?7îœ_ùF~7;—$zÜÏ·WÿV|pÖ˜Yþ¬šæÃï˜;‘ÞÀFm&€¤ Óìz9íØ~ÙM”à À:œh¦]O}îÞ³—*òÎëTou¿ôÉÑF,ýå‡Ý¶î×qAvã¢dÂJAÉÕ"$±j~ËYz$Ö"Û6ÝxKÊ«u›éîb/R¨j7}–/UñSâFwÔ«<Ó?cFxž9YħT‚ê·‚eÊŒžf4£JZÍ ¹9~;&¦Ë møÀ…—twGÈ#¼)g°Î2Ú_³}Ð6RŽS ‰–¼A›GKU(¡D´·±“¼[lt HÝ*J0±¢UȲc¾nþ»Å7"¦<Í.˜JIœ%Ð~íxg7£ËÐîUc+®2{qŸ'´Zn;K.xªY¿Hß3ÿˆqÔ-{€BAnpe0Z4á¡t2ö¢÷³¢–ßò? gŸ}ŸD]},-ÉôÜþ{‘Ql&>ɽ§Ûß–DLzÛ[¤"ÿ&I“˜¸—:ûØ ÷Ð>ñ¾ø¥ÁÓè\Rí$cBõîj*•ºz€H«_ë ÎËtfíšÄw¸ù–m>±QCEâ¢yaîÞ›31Hºl$¢Ù@«£²åÛ{ ῸxŒE—&KÂx#;Üee}caÆûj2kÖ/¬ÙE_jr€z]üka7¹ÖŸ Ë‚t×àzÍ‘ÓÛ,b.¢W‹„MlgÉñ+ó…’sUã/™§°ìë!Šš Y P }™·ü{ms°ØÏø¤@Kl¤'—ê¹]MÆÃ@F S›°7µ¨<Çû°z6èS\[ Ö/§õ ª4g C Oš1ˤ_1]ƒÜùdħ¢®±ÓÇ%HÎöçc¢ÆöFÿöÀÊð*0Ϩ`»J¡,…„P ‚ø~Mªhââ¡C71l56¥ªÛèW·ÜHáBÜðnZá`^À«ìI-éÇ74B‹±™øµæ#ÑY”—ßùìŽëö{ä¼W*2†õkF§˜{ˆu˜QÝç:ÞTÓÃr°tÔfe»Í‘"s ;C9¡HýXVÈ€XKF†.ÕÇJr†ÛιÐïgúhÈdg3uEÂ{L—A—,íiaÄâë)É}9ZXœï•eueQHy}²•` fñŒ‚ÓbAÍl ~+ o#6Ž2,)D"N0‚vzó'ÞÐýðÀëK,T)P¹°Ú²-å¦É„ÏÂTWÑô¶H‹TÇÝ>ǰåV›šr9‹K¦í‰³y’3£=Y'PÉC5!¯ÈŒ¨»<®ód ¹Í‚Ê:@zN߉;kBvòŽ3è0Y½çßo™j?NIÝ@uÑS ž|BSòf¼Ò[0£ ŠÛGº¾ìŠÎï0|œdñi·œ~Nh²‚–fø$•Ð×ÂÜF{TàÇ+ɺ9Z6`–^'5ߥ4Àê@ô&@¥=µŽcÄ–2§!é¡Òµàf@^_±1rOÛÅ5sΉ9÷sV§ß×®àýøu!zmÖ½AÄ©»ÀAþ3’ äÌ(~öN2ô€iæ Ksk%@á@%\Á‹ÈpM;F¥ùaȆà‹j¸ô<•Á¥pj¿qD¿Eä£8þ鉧{¤™|Ò4„§±{¨rÿÆ H‘åꑞâOý?Ï,~3cñôŸ¯ ™9©u˜Y…ü‡]µìÀœª*ɇ?ß37äwR4bhº%Uç¹å›¶Ò!Ú´ªoýB¦•Oæ¾0Nà¬ûë-Á&¤Î'”½²8 Ií¶¯’¡£Q½W}K¨ï7]I PBAgìʼ[—øF† K5KÝä HÌVËÛ¯¢¡‚„Õ½Jý$ý¥$¤ýŸšOv­ÊbzbÏÁ"Й‘gï6ñ™SEpßÔT'ý¶®bÝI×D6¼!uÏØ”êÆ'I´¤Íª‚üÔ#7•ŠIl"@ò~nz–7ñÖÜ  Uv_ÅðÈÍ8ïAití·ÿò+ÎN5Â/(ÔÝpfãŸ2+µU~Wnw ;‹²ÔGˆ‰ÙAëAòÕ>˜úƒ-ų¦î~"BúKFäÍû6Ef‡È"³ŽÔSÅ1Ö“ãA¶ÒqáfÔ‡Ž÷'¹ñçí*ýo"©~׎v@”ãЦѩvg̓;á`Pó—YÙˆóü1xS¬í†wÀÜþ×D›G‡ðnñÁ4YáŽ!Åé½ý%â&íÅ?|Íi {Ëu÷áç »ZF[Ìâ›4Ó8ÂÜsß¿ˆo çóõRBÅ‘ƒŽ™ñP±ÿ5íw„t™È »Þ_ÏŹØ*nË8êÈR†§&3¼ë¬&Åx¼u©‚;¼(‹}´t­q»E­ ¿J~†¤ý‹TÈO!¿þƒ™ýÀv=A@’D¶ãŸ:³­LRWÉ ï¼Ã®¢ŠhC}Üýµ2Y«¥«$™„£Ù¹q\Ûû|.ñê¦E‡(" öŒˆs@©¢ÀjŽ‹Àvƒzy4°‘ÚTnlŠ.E¯Áþly;ž¯‰óزèNØ_•wÙÖ{9ÿ¥,9>†¡ê”kÛh½t0Ù`<ÁËÓ÷ˆ<+Ÿ*C®½•5M×jIYšÜV®·;¿í­›o}ÍD=¤X¶¢©‘¦ëÃá¹Ý{¶’ùøŽŠy`7^ Rò¹&mmø*§ƒÝ@Ÿü+}äW ‘p)Lç”^ÜîUäDú‘õG"¶ÙéÉ% IæV°2ž$8ÏDÇ=ÿñO«ñM93ÐRJ$ýXª¶á’@¸Ü :lê°JŒÆd„Ucèâá"0·È,º‘—P{ÑH°¥gõ³ ú–¹#_>ƽ› øéšÉµ›‹ `âwøæÔ®(²‹«Õo£y˜þé/„AcA "yE” ˜&…O§zSLéúÉÙ†é f2’(˜e;K¢ÊV´hÐd×iªÚ`× «= eÄ!Oåƒ!M¸É¬½vB£)Ô9„ª_(XõÖmí•EUÀÎREƒ‹×aæ8ã6b–HŒ¢ÈOçÈŸ0Y·{DáJ`—c4` .Sâbßènî›"UžV1ç‚f/B\Ò¼Ž}.P„¹Ÿ% 9ß¶– 3$÷ºiXDXlê¸ ã\¿~\þ_ºHŒVºñ1[=Üìjí'EDO°×?Á","ó4Ì/n›ðxÚSÍÌý;‹Ie0æxãQ,;Ý¥¾ÂUn³XÕ`”˜~7:1ÈÁ¨·ä1Ìý²[ýjVÊz²Z3¸«ë•}™~Z¹¿œ¹¦jqûj/(kÖòW ¤^A=ä»ÿ·r‘!ÚœI:JyѶÝ[Ϭ޳ÀyµÄ·µ Ü“YK,œ· ¾)ÇÀ¡ÎîÎaË’É`«¤öP ÖìÕ°:’µË\#76›‰ÒÓb"@ÉÆeÎeV¶C‰ðwmmn¢ó¨K»ÈñUüÊSŠ(>4T’[I}’ 1D#»….%ª ²g@B›{sÌ;!ÞϘ ¦—ÓU±wYŠÁó˜Ì©¬ƒL£)i’ò÷XsÅ3Ûü”bhÚaë‚AÂÎv,­þáagüY¿Y~¼ã`¶ö@nžÍÓ`J}g|Ùsv ‡lô~M³'+s.WYiíyžÍÐgÌM—À¨WVC?ŽM°óg„¢uOäf4¶‰›“$äCF;96ú€H›?¹J›8|”ÌäƒÜõÊÄGŽ¡«Qµ:ëÑWUH„/l)!íŸÂô:…18S#q="â~sÏÖ¶Çd@z:—äq11ĉ°µUæw & д«F'ðFpØêä)Wá7¬ê¸®í0¶Ã»Hý#»OãêÂ5Bí×â°Æÿ~AP›IÀÿZW¢XŸ'#èì¿lÈL·r™§ŒŸ©qKd0‹2mx¹©ª*uÞI”ŸaZìó:·x„e ƒJï"éÛè&2è­ëž¸MlÙg˨’þg*‹Åøáˆ9÷æ–ºz?à§Z“çkT»à½‰%x„yŒi`´ÇÐVÿ‘/® ±t³Aƒ¼qËKƒ&B¨Â©?n¹d_(˜vcwµ<Ãf½³ì‘îÿ…"ì¹–{çwͧF4ä‘ÃÞe 4ô¿Ö,€¯Ãì݆?Ó¯ËA—=°Vƒ‡Ð›‚™ ¾ÿ £cJ(Ò’×ÄÜ£U«r>H<Å[Ëe¹:"¬É±çe4¹ì3Ó2Ã?RFhÀy°%„FÄÐw­$‘ÉsP,fµJ­~رBúÂi3&Ȇye°‘«œ×O½?ƒ¼1y³ ;.F(¼±Û›œìò¬A­ª¯¥šv¿<åd¯§¶ž¿ßŸÉ_CÍ|^k´õ•‡ñ‹Ò" ž,€/sAßÏGûöѾ¨šÀaü®7ó„<ŽQWðÏÇQÞ§6\Ï(çºqüMë\eVÓ"{Å0»0zfL×ÿëbʤ —6c8+sˆÜöTˆx΋$/‡ žÚçˆf×ð=°ˆÄŒ.ß40¶Å‡ƒ-§ü bݺšÝ‰ýÅcÑÂf:ý—XÏu B„÷€•×à“g ĸ0UOÅ®X5%¦é.®aÆï؆*ƒ¥ázp¨@ž?e]—ˆÍÇ$EPõPˆˆ=Sûîe‹çCáŽÿój…©ÖN“±Û:Žþ¿¾òíî¡ëW“î|p½––ÎÜŸÄC s.Qñð'šèog«Bßšì5$Iâ9ù.™xP Ü2âmÆ]`O•&ûŽ4VJÔ>ø™Ð@„W•W9£uÞm%*8³awý­•ö£Çi{£>%ÇCƒ@6Ü1ÛÁF`ˆƒé¹XƒµÆŽ~àqå1TÏˬ<ù¼ïOÕÁA×E­™ÈaŒ¢#¦¦ì5¼DD^z)ü©;nÖpGÅæù3Ù{lå.3|2×4(œ’jó•^Ù¾xÓ‚æ œyߨð?P(ÂÍÒ?ùT GÖl"¼K÷cËtAlv8€lÛw¶((ï·Š«Ô%/Õ­*ˆ|äçó:,4yØzÕ¤3”vlv¸Ür†™‘Ç…ÄX{hšû$lüð#ŽÒÖòêöPÄ”jUŒš=X¾(¬59òj*©‡:ó 7D\)½÷;ÇlÿjÜ•ã¸_5ìMn\·ŠX)!7¾Mé/C)K˜yÁöœ]ïL^œx<5gÞq5ó†‹rFzRi7áýB…ú09þ¸ªûí›ÂO´ M ô:ü¬˜¨Ürbô•³ö  vÅ«øÍ΀™¾O-}»î %ØVp¼BîŽÅ¥þ—DAÕ84¢ fƒ)u“Ìýâç^Ð4SóýkU+¿'p‰4’1i·ÆA7¥ŠaK¼}[ó\ÈB †|x5ØÇîD‹õb+ý±$>ô‘Ǥ²hŸà¼Zo£ä‚í3N Ú}3 ì¢èǼI7Y FVtæÙøOý–z©ùœ;½4óï\SÁðû±òš*±—d®A±MBž87!º:˜"ô¥|À^°¿2ƒ>ÖcbXH¤[¿hú+­Ž÷*ßñº–­ÅD =AI~öiX!|b›!\Ï5ÁÝÛnðÕÜ7ûsnó.p;`ÒÖu•HtÉð£6#/Uçu!jŸÏÎŒÀùˆ÷E!"€è×WÒé‹*´˜%[¼U­qUŽ¢'·±Ñ9>æ¶|’­ïva7ãÝ)Ê5¬ç”Èš+9ê~·ë• W, dÍÿ.GÁÐHüQ*¯÷ŽÑÊ G&M뾈豮zz`Éö–‘}J Þdu~˜½±„˜T/Jà®ØºC ‰tÛUÉyСû18Ý7&Ï“í¶å[m¤¿+â>p¬={ú-î,âqKØ%&I#wßfU™VS"®¬‚…Qø9\¡–qWH] -¿pä`ŽÍ}¬˜–ôY.›É[‰‘-(jÓßAxÄXç^n<‚¥–h»k‚u Œ•ÝwõÍÅ…Bø¶ðaˆ •Τ®Â’%æ"³TRÃfã‡û>¹½8õûºÝÅ|œp}±]wöÐ`ÚçÙ‚ÊDŒÂðP®ç´žô/¾¼5NætÅÅå0½ƒó<+FÀÐ{CÈmì×À V#@=dŸ~õ‚ZxIÜçãÍ@ཾ¼£]ô–exV,Óq©yn/æú›!K\Ó̈&¤~ˆcÔaãYŸaWvvñmxát´û´˜*¾}ixªÄ¨{?¶ý ό痢ésÅ Ü—9m‚ôµ¡(Ô‡r¤cÓÃô^.MÖ°Ç|uØÇ/ßÖÈ”s#õþ¯kiëqTÀWnÇø©Ê}÷'0hƒz«·“•øD‚=fál—ÞÙ›½‰¶DÎ7qd›šäàÇfí¼Ðœpчq=]/·üÍŸH l?Ý.¾~!ðÈ¿àH­¹÷zø>ÇØÓL×á¯ÒgÏ™rýóƒlðä¢ÏÙŒ*¶BºŸœ@uøz¿ô-úu0*¶ q»m‡N°ørÔ!ÖR‡C 'îÉÒÑFÞë„…všVóí]cÅ}”ˆ.­‚øÉÜ8µé^EÔó˜ ¦”–*†h'ÆhOñL¤£lßÒ'öЦ®ë±SäéúBéB€L°¸ÛR©V ÿ¡¶–8µC[°ØÎÂלqÂŒÆ`Yº¢%íþ³Š:×ù2àäœGòËX¾}üÚÀ>C¢BÎuÆ3pÂF¡ý!ê4Á¥X 0÷úŸ³S´›ËÍ > FŠÁ ¬ÈV<®Š=5b½£‚tEÅú¼6R¯`uIûÖ?™ÛÕ¼Ÿê…"ýMlC½L+쬰£>^Vµ†`"vf(²Ô¼^ŒXÞtvc7®7o`ìtP8¸Xïð¤Ò Û´;„íúYöz°˜3"ÒkÛ³=ÈÒ(ÁWKÎÝÐÈn°Ôº ÉõÝB,s›Dšß.ÏÞвÓu¾/ÿ \®…ÔÁŠßú5ÁŽ–?÷§r'Köµ Üjòùí#²…¡ À7<)˜:€\¶­¸?5 Õ'£9°û6û•nùqXªÓ½BPFÏøÚ#Œ”£a:¼‡]~#|ÎF&Û½{V)p˜U!°¹u…Ä!¿VpYN6XºqÛ1C";ke ÷·U,yI/ú¤ƒ£všR.s »Š%ÜËä9W­ó¬ª@žxÕ‰NzÌ÷Wì €ò.íX¾È‰ã_‹°Œž7Ôâzº%,l(Žœÿed\•ÕiòT¬èWÊ{¶‹ÀI Ÿì»y[Pùô­ãö: JöáÚš…Š–è#–|‰ѿɉS¥ë<ô‡@ÃOë—ÿã+ä@f1 @À©´RúãÕœÜß÷†5ÎAãhjËò øä(ºÀœlïWÅeúúò>蘌b;ILnÑü¡*btÜÆ½êÉò²lAÅ!]þÔ¿ç¶°óë¯<0pâAŠ1ûê$ =çšÊßþõÕªnûô•Ö•޲Ý+ñ©¢éí r’ ümZýº•Úë]EMkâ=Šä½£LƒÍ@Ý!HK×3ŠíJŽvµ˜¨$Y¥ä@ÞC¤HÆw]QV…Á¢»sÓîaÝp½ÿüÝÉʼñÝ(ÝíÍ«ö0ÇGou%_ž.©Ï=uÝû¥%Ì[%ThL±ÞŒ¾ÉáR©?‡,*•\°u6ÚËŸ© cp3]2iÁc},Ö¿5ÓFï|ŸçÞA2´¦C¬v=ŒÅ¢g®# €A'G+•äy,šø±x[Z·6ÒLÔ§^µé°å¸ %Ð!kŠiZx’Kù'MâÛùçÊÒR<Êy‰zÇÍÛT`uÊŒÖxi:–XNôç+¥™¦îÑç¢Yq#/tbŸˆä’ÂGùá (|MÎÐ2Œ]Öר¨ÁÞu’¿ ‹|~ÿNÁ›Þ0í[¿?åYl5ïfsû…µ°ù¼“3«dé±GS•ò(†÷ÅÌæ˜knVX­Ò‹+òH›÷™fñ™´hÅØcóuÄÙÚµ¾ûxæ©ì¬vI€RíËì ~Š”5èÚ—yé)ÍÚOËÒ­í’F+aa|€>A€ªrl޽DþA¹H ®€ËóÇŒ Éçún)6¹ùu†»æ!x.žÒ¨&¹Š9÷ÛÎyý@µ&–•-Ðüþ‚õ Õ6eÌVýÕY “)÷õÉTOíÏkÍêÃ.Õb‡ò§Q*×Ù\0BQLJÀ.1`Ïv2áº%Äc-Û‰…q3 V^r%i Ç\/æsO[ÛÚ qémÓk—ÊoÈ $‚™¹x×baÏ,nŠ.O²³‡î€mk¤Kº’×ë­žj]IMŠQ ³æ„W¡”K\à±zÚþÑëÈ.šŠ§ZƒcT`uA/z®Œ›ÉÝKéNâ„aEv,l×+ÓE£|Ÿx"IMÜÆ¯ðù8V³É(§Ùb0Ì!c1ˆ‡2&tŽjç328öÇ@ÞÌül?©Œ’>‹S‡³ ÙPúíD½nœ*\—‡Ñ‰ñ«ƒwÑAYÌÛ(Áû>(±®ý|‡¸PxÌŽz ¼4 ˆ(“Ö¦1ÒÂ-J-c=Q®,\}4ʬ]š¦P¦¹‹¢u¡k]dT?|4÷Zoì†dÄŽr¤ùŽEkXEõ>;òA.ãÊhéÃxÉ*ï _V<%òÖ&혪lîŠF!˜jU\4Wã(sYÇÀÊXÐ…Eª ‰‰UýˆÍÞöœ§¤÷Ï?ßþ§h²ÔŠcþsÝÉÍxGÌ*ÜK¹DDŸ½[W“ØžÇY;¹¤Ôûë<—*tÆEjáêÈEDñ¬ñõÚƒ‰^gÛÎ-ÎÄžÎ~[ƨU¶Í.l´|úŒÃ$¢ÅcW™×†µAƒ¯t9­Íòìô?ÁêÝqù¥õ%–)Lg¤öÑÐ#­ˆÄFE\½»ŒÂ…†M‹·½Ï„4>ŠŒûmb{€¯ô£õrÚ<©Àd<¨é'êM´£Ô¾l”¦vNV¼ºw!•# È“ÈæŽ`MÉy…èÆs¤c:‘‘ã’ʆ¡Y¤C©ìEýº‚ö¦‘|üœ¢oàWqô*<™À:TVi³-«ú½UE€CÁwãw_Çö/ ú–¢hXbcb•Y6ÔåŠÅ…ZM‹·á‚|k¸²säxÊÜ{&GìfQ·d]4¼ ›íI«¢|ø!s’#>¾6|P9\-`¿! R—öœƒç_xu¯Ñ-lXMнUò¶àUê'@ä/ eFXnìŽM”¥(°„¯.Få WX)ë]+ôi\Asôú-Ö+èÒ°ñߋ҂^ Fº=­Xn‰gŽ‹ ú]fÖÿµ#¨Eé-f7 ¬›w'Ú`C÷ž‘jʱUW.y˜õ˜5GØÅþ·¾†ÁÍÀk‹ .™ Hãôþþí[.ܶ[Wlâ.ùB²ë ’O˜¶ Q•ëèo¾<¦°ßg²§pðp¬ï1£¬.¿½ Àðxüh$,¯ô7W!¬(iÏôPÁ¶‹‘øÀ˜õ(®`H„ÇÎqØ N)93RÒá÷p/O× 3‹¢í ˆÅ7¤ÈŠú›gˆÄÿnN4¾3‚ש‹[‘vÈeÐEì„OÚx–g_ñ–RT`+»Ž4ûg6HH•@¼såJ[…—”OØÒoeÁß¾ÀÿCÞ L[ξ^ÁªÛ¨ŒŸÁjrÊE§büÜi(ð?,Ðý„·×>ÊäY la¼ÿú#Ѿ‚¶³Ûk>®FÕr¦²ÛÞØÁµ‡j‡÷³h_³·æG¸Ÿ4­ÓsîÊ‹½68 ÿ"HR»¢æ¶…Á>­Ÿ6º„’Ä›ÇsEŸ{Ìžï—QJ\]-ËHL&9# hHàö¢SêSm½7¹ƒ+AWÿ¡˜ÿ¸‰jB²D”óà öT:¯0¨šø£%wÔ+íG·&ªðž•ü~óý)9<[j3i`;a•sŠvåÂF&•øF5Y*^ž¹a.±¢ /uE8LÙÃm¢æ¹EŽlQCXs›öRu8a‡‹>wE?% Y˜y<·úÖ™ü==*ÕE?ÏmœŸ@öÖWÊ Îôi·W¶ib[ÂáçZ3¹'5ÚY[wâäáþVÎábV¡$ÔÃXvôuŠ{n÷ìRJÌgÇKúƒÛñc/5«çØÈÂ(4ìro Hfê;>ïi¢ñ—oøèÀL¯íÈfGB•¹L 9W¦iw•Ì=ß&ÑÒ2¥€Ì J¶ÓñÓI†f‰^‡Êé/éȧ¤^é«ÖàOMö-ü$jE(¹žö.—n/ª$ oÇ« .û¬¿Ó±"°ì·é¸sÅÚ¥tИåyŒx´‰ô‹Øm8Pì¡M²H£ì•W¨‚gTÇ$yVhüs;ªƒ;ä0³Ž¾p„’u®XyX " #2«¹ÏTõ•ã/œ9;^C²ŽX•ôvÐ;h"\=Ü»Î?r›ú^”d'v˜˜ûư„|ºùÙàô§Ç3ãùÔâ “.N  ¢‘Gþêw7"ÉÏ„ðÝ÷ûÁÞ@äNësÙ/œ¾Gï^GÔÂŒÐaU_#¬œòBy‘tW¬"o±:…;^W(A3h|È=ÎZí9I‡ÏbònÈ~\¼,^xõ}_~°1dÝçߎ¨¶öb¹éô3»²–¹pyïÚÕ‹5ñÿD&Køß×mõzç„ØÒõ¤›“€[¥Ì—ß‹çÀpç·Ë#ú t£LžhKê½"¢Ï5jÓ`{6Ó‘5Y¼½æ0!ÂËÜçö¢¡Ì¶¢f;6ONtóžäkÒ½Ûû‚,€SոƬT²­cûóÎ=v\ãÞRµ¦g wz]‡ˆä—kEcvÁë÷ ÕRÓ÷õ•Õ¸Æ7?²¾Oìöµrhíòšû¸#Y8‹Ã5Âã9é ô!qމLäJàÇjlÞ¿²JÁ¼Ö½s/¦Ša5=†°ƒ{^±´‰‡“šSҮǼœ¼1/ãäÝR¤kÈ>h€åEº‰i^Î<¯‡(Ù俯õÐÎ)ok°ryKCÁÁŸnRuý-Ó…ó¯ô.‡þÑ¿F©UW²Hù~çY6}þ…Aä+tx5ÂT7–8Vç‹3[#ÄR½¸ÌÈšÖ×}¦"í¸ÔD¶|Ê•i·-ÞVö£ÿo’R¶è]!/Òz©—,L,wK¶øáh}t•¯øâem˜sáq¬Çs´Œí³e›2{Ô+åbó**ÍXþUU#î­“÷Äñ¡œ^z†©î|O%SíëÅ$øÉ¹Ç.E èË®!’ŠùÑÞ˪®ÅHBH½ [Ñ"?Nxèß/–YØIÙHÞ‹ØOÈ+ô£ºæ–¼ŸÊ–Ç*oHú`Wi%£6Å?óÒâóŒIÿN¬|S¹­8 LSfãcOåKšQ‚ÁK Ð\ŸŽ¸÷„çúîZd—.…ŸÇLºŽ™§¤ïžiÊ­)ÿE?%áÑ£0‚¯-0¡e?oRë’BƒX¤¡†Q¯>³‚HÓþ3ñòÂç6è6Šßœ¦ËQ(Š~@éùÖ„1ÂøïK:ß Œ H{yƒ¾:L'Xa±›gÏÜíÞV I=ü\dÕ|¾—žÖ6ÖÝŸJzáÖ p5Ž=©«?¡AûB¤‡bâeÊ%FR¦ »2[©Å–P ^T΃Np÷Šó8k{V&M5þV§ Úp®Ôˆ;FF0 }ŒË|Yˆ{©–%óaä±õž¯óôPÓð! ¡àñ4åÛÁf4£Èi"®LPà¾AIb/6Ò·t„ G¾ìŽÐ /ØýÒ`‘ä²Ã¶µÑFaÐwÉp12U¹µê¦þè(†ä$j¾áæ"´Lù<‘„F»ÚrÆö¤­vÙ¬]#ø50´IJ2Å_šÚÆZw6Q‘x~q¨øÁÄK‚¼‘Šˆòÿûæ#Ûö˜ìfädàù–´a%ç+cj¨V» IVød>qVÊ–³”ϲ[GWŒ1]$Ê‘54(ßî—¼VHÔ–°´ýÃÇT}}§ ‡_•oòµ+ÂáVjÏstâha¸ô_ñ~!¾ZÕÏ:ðÍЖ‡?®I¡ÃY÷Ÿ;h_§òaÛ½¡¢WlU ½Ú«S€/`×Ã,I=¨)âôFªO§!Å$g¾ÉèË©~2˜ FðB›Õµ¯ù¼Ió]3 í rÝɸ¸m~x$:ÆÕ€Rµ¹`ǬY°š<ß‹tÎ$#.šgú™{ºÆ6; ó×ó«î·Éd:ò ¥†½£`ݪau"ŽÁåñD_iïð¦qJgå+Þ’1Kù¹ay<ü«:p½MIô¨n§Ú4£Á'„µ)‘….ãÆ®›ß¿é(°ñ1îc¹yZú¢üüÉKFÔIU3‘uI Ȱ‘Œ*p:~žõ{š¾vBó ŸîKøkx?ž¡×;þ¿^¹¨-íK´3“Ü" ÷ó_>•þ ×Õ*\,6áè¤é ïù^ôù²cb,ä›ðH[ QDÜv™7h¥ŽJ‰@³ê¤­‡è%#âõ•oûo¦&'Ý~ïó`Á7ZŠ‘/±/¡ïu ’´ÙlF„sFg® &¥6ms-[8ˆKz÷*šêÄı抙ãǯ-búÞ+'jT>½qÜnM#¯&*Nßcèî' “'áK‚ÛÔ¿À²2ÕO€ë­´si„^óýV—YÖhª·oCæÌUy2Ò×ÙåT?EÆ ÷èûŽ…?F3ýý­#âž8ÿ!ÿK6uì±ÂâýFÇ#›qúgH}Kc,™¯!ªvÓ wX„Ao Íå“þÕØ5Þ\M¢¶:ÿÙ½7ŽºVgð.ĸW^ɼ͢NÉï~WÁÈtœ©Þx±îN…mO£«º Å¶ލ½*5Ó*ÏON¼-†=¬?šÇ1·À–è‚_®KúxòÁHKsï‘ œ—£N'wf•Û±/9ØÓYú¶Tù¡Ú™ª¸RñzâM«Ì@ÜU# Ïà6—€?Þ: ×£n<åù(›Òxè0ìz­×’Ð\s"ˆ#6!¥,J‰¬3 ®ú5JöNò}Ž`ö2µýÌÅÄŒaààÓ#l±(Š©¾-€\ÞîïÿíÓ‚óßcšñë‹KÁmG½Ï]‰Ýa^H›°ã\uõ×,·æ‘i¿6–H‚øk¼‹Ò’ÏÌÂ]ŸPâþñŒÚ•ço,c4g^–ã0^M—¿œgJE̪·ýáè::•—Ž‘¾Y¶XÍE.t9nEþ@3tØ@}Qw€¼Šïù£TÙQ¹Y¶wB»»³ û`!¦åqœhRÆò9œ$άšš!é âDRÔÓj>;[²¯³&)›Š6€¼50äu Ó ÏóOŸ¢:»(uKRå4Ï€WÆbú– Ø-<¹M;kDÕÔ€†WÒræZB*¥6ŵ§ *†È‘Y»×bμVg¹X=ÈÉõ’µi̘Òá1Áùïú¯%¸¨d—U‚ÝË«9y¶Ê/mñ){1Iδš9iZv*gG“✧ R³/Ë1¢¡Ã«¥ qW;³E-QèŸzl 0* I%_¤ñsð+ö‚‚gØ:MÏFr8…;µ°4<)ÿ ¤©'îï^C­P#gÖwvÐñžvmý1¿]„Ú1cÖƒº¼M¸3Æ+‘umÑŸ‰Þd>#·÷öÅdÇVT5i|^C%Ü8v› ë‘õâ?C«Ïñ´ÛÆÔ¾•Õ´l0z:°] E—yKO·dœÒFXИÊ髨Pf,.§hÁ°º£|hüņ¥ ‘UMÓ´TUk$ZFxösM7.øÃÃ&—G6ðà²ô$XAƒ<]Wšj êx# ãZÉ -Æås˜od2Íø4Ñé¤NÎsÄ‘ÄÙ½Œ/›%1Lµû¯­Ð­UO¤>òŸÍÎøû·"vRÄ?ÃÆ¥Gÿl4À P{Ä‚Ü"’kÔ?|•6¦îÏŽÁô n©S°ê,8brfjõv‡|œXaÎTÀÝsH>Â~_ñ™@ÂFdÊÊBe°[bÏç¹E'?ó¼p‚sUéx,êÑaW%¶&ʵÂ‚Öøñáy “ZjxÈaQC½VÈCoXóð`â:†Ÿ6L_ùwLÐ^ß°³ðÆŠÄ·ÀNq¢«I‰‰BE1Û j,‡%›ùpiÀ³Ù)èhÐÇd› Ç€dA~¢MÕ¡•W|ål„Î!BðLj&ÃtE_9»‹œÓ>}9Ä2çøÍT¾Ÿ ½M•häG RiXˆä Wß‹†¦Û²VýÀ&AÈÌê@nÇ7´íý¾EÓ[kª+J‘f±â่òæÖ•÷ÅÚÅ’ë—ãüm9 ýª»á¤Ü´2ããÀºvá¥ç,P¬pÉYgâ(J¢–®ó̱»Eœ|oÛ‰OŠ64lÀyrBê±…r&' VÜ f¯Û§:¹Ì¿éªqÔX€v{ûu@ãÊmç pI‘’k2ÏbG=‰~äzGv´ƒ©Rà}äÇ£#ó‰t‡î`ò}Wõ¦Ž±l Æ)dŒ#ñt¤ç[Új˜<*z±•¼)—@4eEiµ;¶„[é%g$(6Ê`(Ê·åÄÛ-Ï~7Ä vŽªGUï"_’ û³?gkaEk˜åå:Œç¾§®»½³ ìJ«Š~EÚep‡´÷Æ4åÃp±`ô YÜ(6-Ë/@2 ´*†0xî/«áÑbÓ™.ø©ÖÚ¥ðÄ}Ih:OÐ æ5Œå&Éʆ×ìò$æÅAÛ¯ b~¦~Bþ hXcáÉEÍ³Ô ÜÕwDµ`6MÃÅônõÆ£,ÛÕ&èž‹ð / ž]f³®U€Š;2‡Ã- EpBåE©¤Èì¯iÕk3§u–Õû0:Z¿òÃd8§Y‹¤ÁêÒèFUœÍÝŸ7úÉêõ%‰TÅXm a_~³!ÿÅU”HÙ“ßC?ÙÇwƒÆö¼Z…JïÊ¢L„UaUlš€`sm&.ïøO­y&pÑM~èé,SUýI#Ó³µ“ÚD­)á4wgˆüŒlasŠØ˜³UbðHpD0è]× ðª_è1$w°œìp(—C™šÿñt£Ïb?Ç#gaqo5¥€îÁVZf‡å9z´1"Åô„E C¢JA>ËaiÎ õPÂÕ³Ïwm¡1æ`‹wJ›ŸÐ¡ûÈ1FÌ+¸˜F³–ÿŽ.©+é?¥qZˆ5Jô@C‹.Ó À·‘L^M¨ÕÚ5HAñá½ÐBž.]ñõX¨àã²µYN»<Èìó°£P=Ðú“dÊs?›É O’&ò‹QK·… ª„Œ«8X*Íñ‚HW;žÉëíQxý,jhåIŽ(®¥2±…[„$òšºÐ¢…ó§ÅÃ=å×¥¯ÙÈöb€ha?C¨*³n> ñÕÝK·AɧÏjŒ?:ã*/ñ%Áácë™ C¯{M&žŠy?Xj»“5Na(»“³WDò¡0‘îü$MÈɽ1P@Ή¦Z3³Þ¸½05¨âû®ÿiE«´5dµïV‡N§tVÕ-šXdÍÛûDÛuxštnû5Rd†bbõ’ŽÜÍ:Ü¥ŒgTQI 0Ó Ñál{N¶vqcŠ™¾Ú8}¼áÁ:EÍ1¡Âœ7.;¼[¤èªø/%ÿ¼K@85¤^ÐCxŠ(ÓˆP[rE£¨dñjÕ$Ã’QÝÑŽ ;hÁßT.3;ÍŒº7ö›1˜\mQ»¤ô¹4v7É“¤œ)Kˆ;bÙƒ$¹¹C³Ž7_‡4Öó ac”`ˆÎœ-’(ýu6¡~˜z 1H…+H«ñÊ:ˆý_!Óź kzÄû)‘ "\©_ÃB³J:q5¼»q-Vwôó‘¬È±—žqI'EOh/QyJç?3:NàU OžÑK°®ÂFûÃŒ|,CýŠõ{¨º÷²'ÖG&Ž{ 6B¹<ªIY!3é.|2€E.v+È+ýÅ},‹G ˆcíç© Ç×kZs§¹Ó»ÿ—#Ì][tx³gÉY*:§ød¼Üæ §CàáÍ(|Åæº–t—6KqÛëU—Ÿ£…¶ŸzIð³ÚÎw^vEâ *’Æèâ_…ˆ Ä '§{•¡¯E³QèîwY)ø{tí(U.§%(1rìîæ_—³R Ö”~ü [ïz[ŠÜÏ~,U‹–©€4÷Ûbˆ7)xÞ &xI{Sßìí^~YD%—˜hs«HûEF¦ñpÌ4:ŽôOÀ_?P¹ßýnš Ͻý8k`Ó"òaÏ‹„˜Y æÄÛèÛ Bë– N2ùÜ)wG;ñ„œLF-ÿéËcÑîd£¦"鵜daÒ(Haø?¹PŒ¨6›ÎÍÝæ2*IÓï â¸ï1‰tá4¤¦SY/9sBëóàg´3dÍ/Wzãê(÷é³~šFÜÝtÏZŠðHÑ’šf€'l)ÜŒìrG€ Êm sø›܃ÿ”_‰®k¡hô’ÒóÃõÿNR°ä7UoÆ@P/_ñòÌNPu³Çlg¡!põ”XhùÔ3.ßy¯³¹.&Y)§@H\fGÌÞ«Ó´Ó=7Fé{E„ÀyýŒšQÛMëšztÇÞäÕ° ­]È ÓèyR3‰Hfå~ÄŸØN·õ*š06¡hí:ä£yæ˜Á–yàV 8#±€Äï ­ñ,qœÈö·ÕXYÔ!+ÌLn}Dšßì¶% r/ÖËåÊhkY>%{!D<üQ-K^ßí&øsA5H‡ñ É–¢ž9XŒ˜µ=£ÈéUüÕ¤ú§úH…t—ÂÓ)Cû(М eo¿qÒic äÄšN¹ÖNã󴺮¸Í 2vúªêKyœbÏ¥uè5ˆ>+˜v˜3íÇ.Uùîb¡9ͽPgâ-/;OàîIZ„1ó\‹Õå%Ò òA2ì]­#¶ÍFà ×"~0‘:ü‘ßÃ;(¿»º—;Ð<—¬/âªZԘɈèõèòç/ns‘ˆÛçù‹ìã[Û'ü½e(ÜV´µÿ£6+Ê€×lÎaCœÉ¦æ×쪫 £Îë\ÍÌ 1%6$LF4ˆ‘¤<(ƒ.ŒkÊÕˆf&Tx=Ç 2K¿ÏP ƒašì˜U&W¤Zñ!3’Ú‰¸ï)½ñŠbÞ¤Ó<Ïè¤Ï¨ ÅPuOóf‹—µs¦Â´®Æüƒ&”´%~'¶‘r?\cxv©ž­“Yr}ƒü0wg!%¢ï°ÃYט¡€ŸK#þÔ9‰ÙEã‚ß(:SàS„ïp©ËoýÜÒü K¤,Y®Å¤»5˜]ïb+äô%lÚ)rP:߀•†HÑŒyb|á4ÖšÀ£º® ƒßêU& œ¡äÐY‹4~I´]»ÎÝ*†óg«(zr{©ÆùB_5žó€änCÁßà OŒö‹N zrarÄxÝ%bcÜÚ¬`{w7¶sЩ ×+ÎÃÇf¦]‚'ÎDAá¾lïUc7Fç Vxhí{+“#‘—›äe¿M¸ƒSåá¡ÝJÇ€i¹LyÕ¿;.9›FE­?8Fgº%ʯÁô÷].à4=›Ï–ÀP½Íå’£DgH¹¿»Âû®ºú0±«½4+–Ò׎@P¤dx¢¸šãUÞðKI¶˜¶Aflô­õ ¶ïTó Vbö½%j²Qm;B<.x½™£ùÛJ¢;¨1&Gv(eogôW‚ŽÁ ™¡•Tó÷É#Ähm‘ÒÄæâ)1{Eü_Š u º¼9ã·‡$09>ýŠmôÐÏ–TœÉÅ\íèà¥+q‰âÁ ©@49±Ü-ã-Ã*ô_Òn¨|ay•ûôAc¹ð¥#bðUZ¸ ýø—<޽›Mæ•¡ìX¤Kîó³›êÌpÚ›õ}yHi+ÿ†è LÛL8l+üë°º–M è™…ébnÂ]p;dPPÐ 9~$÷ñ$JA­•-üÑ^θSçâïqóÅðáÕ*åäØtÈ9„cÒ¾»‚Hb»\”Yºü>RÍúì1 ªü•ø9&1ʶ…€É÷Ë­$tÊH©|OÃrÙ°}›þ·t•+쯅kü‡¥†°¿Z‘Ž1‚Šˆ§:Þâ%½†2ŸvcSŸŒ›òôùƒèƒëéøä€4^Îð¼Ý,)Á*Ed~"AsÎMX¦ËB¬¿ ôì“&ˆÒÅÆ8"‹ê6ïÿÉ|T2ÝNmèaº‡+ÎrÕˆ#õL¸˜ù‚ÜqKÝÏÈ_;…^}g“‡“îgÇN¡Žl-Gíœß½©CùX'Û@Ât7¬˜n FØBõ‹æ÷~ÓYªÔó.E“‰ì™bûÕ ä4yN’/ˤ³ð÷þç`‚§*®üF‚ÈnT+ž"|6>{ÿsSÇl"º Sù·ãûÄ…§Û}¢¥m+ÊVâ¥iGê#e±ï?Wø¼üĆÎùÖ즒xøM¶ã^†52`)تRD[èΌ܌…äIrt%+Âõ~¼Ý…“j]¯³<uä£fÍË óÔè6“ˆ}ƒÄr†yu숞7þ¢Ð¶®Ãb6TÚî©,ÚV†(ZuÕ•ÅD^KÛµËë¨Ù3Ì>cl\_Ä8€S¶ÁE›¦Xí.ˆiåm0>´+aWÀ®aCj¡Që\;z掖ÜÚäï¯ýÕòH5nÝ4pÏôÍÆÅŽ gÑSskO‹jÇF¤‘k—å&Pi­A?_h¯1g‹/žÔãºÒø5§‚R²©p;Ükžòb|>ÛÜI+%mùü—tI+MÒG²×•å©A0ຩôÝ«ùàL>ÉÄq²z¢±ç“úð Á®ïœÛþüÛgX"FðÐÙd¹õ9M €'ˤʨoòh®ô×q™@ÈZ\uÅl¼€püŽU}`ôõ/¼dç°W´ÅÞõPÜ:õ–Ê¿†»úûsX%œpG<Öðê*í4jéc:à5 Çí€âžFj®?É¥–…¼Šp1mÙ>±¯‘ñ,³Ó©Çõ F à© ’áv³™L–éíÙÉ}Áº5©6µ#ú¶ãwZòö˜áÕGuá­¿œ÷UF¤|j«™…Ïð~‘u¤Úsž˜…øvÊbÅ ‚ˆä7‡1€„æHM‹±©ŸÜ–ä®\—úù ›W…9“yX4”Â_ô7k>··àlÐàæV7E›€°¸ü~K3»Úõl£IKñÿ㥬2ˆW«†ÐC;Le™(Ö-Îdd¤€úàþ}‘¢¡_úìHOg´Ç™$\·¦ªÆä¡`e ÈgUùÑÉ7=PpBMéSÅ8 )wªKecFÚ¾µ jÝ€†Ò¢èíÃ<æ@Ñ}ž­šÉTÄ&E‰ !1q‚vn¥%LŠ”nÚÄZ»ëV½Nœ§ Ë«!ÝÇ&Ô¿ýä»3€éU²s‡yÆX$ÉÃ)7uy 8@}Ì ß¾]Œ‰Æ–xzö²ÀŒ]nâ¬àmµŒ&;:|ÀCK1l¼ìHiÓ;MB Ú.B`{ÏbH í¹Y¿Å'Å Á¢—YÍ#ld™œðE¨B{V4i)ÏÖ YbåèVNuÿâ!ƒö&&Ù­€b0(„JÇDV=@¸•NDHÌTÁýþœBæ`R‹î†4¼þbÀÏsð«i‰ý ’î³æ0Žne¤Œ=Ý!J7'ÁB,3 OŠqÂø޽ ÇÀÉþWpãˆ#vÔ˜x¬:.X1YÖD9ûƒÑ$åô}ŒÚ«‹ß'F5¥çþú”=xó¾UaÍœG0J"ÕùXç"Bv÷%’)[‘l/_ƒ¯ o4\Y." €w·P‚44Tw>ZàKÿ´Ùzªä¢n?ê‹VÌ`ñ%jСgc0¿O$@O–4“M6åOÓ_ÿDæ"ü“éO2èIùG~,±L2—w~ÑäÜöžw‘óøBÀ &Œ»‡0[/*zÜ4=‡|ÒlŸ[Icæ¬Ôx«»ŽÑ!hZ_¨Å §1\¾`· ö¸pI”Ówáet¯ öí[Þ½ª&”…ýòRÑ-KÃQšÆí}þi«k²Öç× ð|]Ê(”Wº69ð·yÏ$·ç¨26ÀŸêfÊÔ.D¹Ån|aà뤶vÊôrŸ45ÚîKþ‹âÜ6…~™Ñ‰üõôLôsãÑÖÆ˜Û²y‘QºÜ![|Ûúexuãó‰þ'±2Ξ¢d®G.ëÏCïIÍÑB¨‡½*âS¡¤çß§òé€>\¯—}í:ͨ•gŸ ÝZÇœä÷æ"¿H¬½9ܰëӫƧÂKìé àˆWI¡÷g²ž€kt(ø!¾ëiÒè‘` ÞˆêÏ—¸-h凫,êç`žŸ] ¬Ùj†“BAÍëÓþÚÈ-­¹%g j"GFËõ5hjŒi4gTóx’Ôéõ“ðð¾‡sýGwVÝôcH“+æXTŠ‘e´(²véšÊÑLÞ˜¢»°Éó;L£«%Ô8«óeXvýAQ<0kïÖ·ÇjŸêDQÖÖ%¢ Íq iQµ+«–¯- Îöãq”<£ãÊ5«®w^0@á„Äøð¬3b:/x¼ßEFòôžÃ¯ëLLâµbݲFÌ<¤-PÓà’l XÅþ 5ò>bH™'¡ô¨â˳Ý`ý§_DëZÍòî¿ýßú@»uÍQ–´á¦äËh6É ïõ÷/"<&ŽÕ²§ª,ªtH #_­öò° n‘Q‰Î|¬fÓW“û<¼·'ÛÃÜ™î RŸ¯Åq·Nìzöåž ©i|/¤¥¯Iw±XN€Ô_…}…ŽÉÓ™m \ŸܤI¹Ÿcfwë6®C^³ ,ÉJ—ÕÏäý»25Öa.oä©'uYú8Y]6Œ4`'<ï–­2èšê ùÊmž¢2§Ò)ýêá‹dpíOÚséHT$ÛS!æR4íˆ"Q:ýnš®NÂ=Ëõ?™¨t~¡•9ïÅõål… âÁùö+1•.Á¡l—c$uç¾Ë¯z±—z•ËÙP-EÁ]S/]æs[$Êx Ù߆Í|HÓIQu•:¥Ÿ;ëÐø|ÁÑ÷Pøl8?xËgc!¾ x$øé`s’òŸøÏÍi›s9Î?㬠×ÔÛ‰K$‰:lBÎ…bw¡çß_‡cåÃŒyüa,wõ>®'¦£‹£²Z#A¨3Jz¼13p7PíÐ~u<ûX¿bµªL òF1·Ti! ßGÛ·JDßþÀ„Ò9JÜC˜uŽõ£Ûv)•ŒÔ ÑZRaü’¬9æžORQ¯1Õ8¤êÁãµW1þ¢>=¦„Þ´oC¦k‹"˜ÜjþVJ7A‚¬Òt)µC„Â…fꦰ°¹zÁc*ƒãÁðíîB5ñ™ÖÿÀhÈPö’šVôæóغúdé›>Äd£‡ˆòÅ2ˆ$R*I«„¥³ÊÖ€0‰ ]1¹‰qíCfP§ó§ƒÒ.ÀI!QZöÀNšæõµ½PU¶ç$ª®€‡@=åå¼¾´¥o¬‡™òäNj÷}Z¯zưüVç-á¹Ä}Á÷ƒ‡…½¸#Tá– {­1Êœ€,¨ êGac£ÌVÁŒ>}à"Š•~Z<¤–°S]¢¸$-ÑTDæ ¹¾2ÒiµÑ&˜•9Aî |5‘ olÌÃ+,ªäm\»"ÃŒB¨™·£ÈúBÓ±‡ÄË ³HÁˆÒŠ±ÇµÔà-âAïIÛ >÷BÂ}ÉJÐ'Ì\¨K@쯎ÚNPØ`W-å’(^;µÐùæiKÝhS¨äs)yì.ò´ ºQYDö&-êH(kPŽukO\®uÓèëMV!£EÿØ}W×!bðóH×d×ç6rSOG]9¥0ÁI)|]ìþý–è×cÞ^»ŸŠc½Ÿ‹€Y‡†S÷ý¨[C¸ ©ƒ/`{bEò’ƒà×kÜ\A¨ÌcF»ésÒ@Áàb¶KÅG¼–IæÎ""AgÔàÈý‚X]äà IéÇwêJ’lþ+ØëSšÂÜ&}å+bǽã|-—êïÈtÞŠàó"sîæQ 3ôi^ùÖŽû6ß:˜ëdÍè ² êT n‚S³¬ÁhûÔîÚæàÇÅG=ÒoÝŸíÜasd3ö~?F“Y*:'áá~Tà z‰`=Ï#µYÓ2g²•ã #áqN±¯+>‰Y<•wóDPÅ0Ö§ÓxêKä\ë‚>Óöµ¬‚a8¶ªnÄöKAË’váº< ë€[|°{)]ù¥C!ƒö)á—BÝ—mlÂòðiì¾8S¯ ÏÈöÙÐ3Ë”k3øn¤ðnÛ74ðΠRÁxF 3ÒÐ4ø.!v­ 3N>áòÓINIé™Þ¦÷”†jKö¢ÒSŽ\šÿo@àQ^>hˆ‡L-Oe×ùxb+_$¢0.à-%!Ou?¼*ÒAåî¯å… ÿW+k9€ÂÙ¨<µdô5Ɉ[ÞQRÊÓsáãîUûàÈnu„a57÷Áu+¼ÀÐ>¼›4IäA©`9êR†‡,Ëßè+i”øÇ³´—±ÖF¬I­R|ä±ÈÚpÄ~¯"ávÆ(©äÅxïóŠ!ÏúßnPá–«¬]ÓË\­Jµ4hɽõÆ£Îñ lM &N;¡ž]í=”«³c¾®6eUÖ]´f}®Šâ (÷#ØÈôGƒ:‚Ÿ±ãlR@j¨¿mïR-ôIèlH犅"ÜÆë%5—T} ЬŸ[¼M¢×òé›Ý58e,áŒâç~Ì Ìj÷èùß²Á$ñgEV/Œ#³z’Ò×y9Ùãkâ€dé1^–lŸ_Ÿleüïxû¬j ]Gë@·‚÷[ ”¼±°óЯ5Pü÷úÐPµ¬¢[ùÖ6 {õ‡[°㺌ñã£`œJ[ª l“7±™ÇÖº<0ùÑõ{å–Ã(ŽQc=³viX­øšÃ}õ½Žî™¶¡ÙÅ‹LçœOí`Å5Ë»%‰w¶wé:Òšð4ç&*žY¥3]¬#'\ÓÄ̽VWB_eÿ&Åô)êâm8CØp Žj?ô©TݯäRë¢hì‰)‰™Öj»ã©Ü'¥«“ÐäÕ_Ø©ªºÏ$ŒJBw쟖pÆôž]°0+Å+º¸øá´×,†÷û¹Å+ôlr¤“›s(£q4@u Ù¿OšÐï^oÄä»Qˆ¹f9ùHxd¥éàúèEV6ìY:uT„Ó “äLóîn°)‚×üôœšèLz$h«¿'µÎW¬o^¦6 o‹÷§b$Vï¼ËG©;g¯@ä(JW0cÖó}ëļî½×šaP°_Okø>I£±sÐýVƒÕžÊXÁÜÀÒE§PúÛ옊*wãUm±Á|;b7a¿ñ@˜ æÇÉìLE}4o¥ïJù&½ÐˆýÙPŸpƒm~÷ª«¹t Gûz£¯¨âÌ@ÏRì•AÖ¢~¿Ì†Å”èŠ Y¯T¤K$D'4OžߺÌ41jt›´4Dìs]“`jùLâÖ.SO(ÝÝ뤤“#"&ÆÚâxKQ9a©5ú*`]ÎË`ôÇ2b¹p¶UCÒ#Š­AX¿b¥ˆw(ü‘ËÔ†–GúÁ«ëFïÎa k£fƒŽZÇÌNÅÓ3m™qÍÞœÛ5Õ¨LMí&!BåFûVJ½Ú¥\€§³MÉ©fæ2"¬ÝÏY¹Š²ÑþŸ]ùúCè~3T:¢o Àp´þ<ƒŒ(š†šì/hxÔ}„j;^Z@‡üF£§ÿO¸ÛsvÞèt°è…´ö2ÁfN‚Ç\´Î§j¼aR¨Ã™ÀäbÏ™ªõ'vî)héõAzÇ ËòO‘—/N6ÿÑ d; ÜĈÖbîúó²Šq°G5G¤²p`•ðúŠ›fC6¢ã1*Õ>Ö  Ñþ„/œù–tÄd·ÿ8ŸV]%WY–•óV)UÎÛ·´1îâÑŠ‘Þì(á&Y„,83J®xH) ‹i' ¢'‹- îALï¨VY)=ŽÕ­¨ú¾Ó¿Ñ»†3j#kí¯Ý¿|y‡ •7탿ÍÂ@êFØÅZIŽk7„§¡,³¸8’Vš_V¡m}ë¢À/jÚíÙÚc§žß>…OlÍËÓlÅ÷^ñ½9EÏÄRó{ ëÕ{•þÙô€›2(61ìimð¦0œl9ϯ“O­ÚËYœÒð_I²áÎÃØµFä!¨¥–諃µÄxK2m”4Mv!‰D3»ûý-öÆ!õ=Îú}èeÚFÑÆ F)€^r×xf-rÈ}ÐÞæy›²Bü¼ à!rŒ 1ÇÊO¶Ü-E¾÷ü^$Ú0õù[äz}tšKÒ´ozäª}/ÀñT‹¬Ô+³ô™:%Cæey^M•û»Î€s^fÂÍ 4 W‚%•™!Ðú‘Þ³+™s÷õ£F Üô$J %¼<Wpo&zSOœ’Ū¯!»ÈÜÍZ—PA»Òý¥7á{Êßó‚qÜ/kV·ƒ5À††šŒϨ›Â±7©°'9%ÉçvµvYi¹¬'ð}ÂmŽ7Ó]kG`‘3ŠdÕ%{jU9Ô¬ixtýÑ_¨a[/ŠOþ(¼ é¯3ö¿+Äê%wO˜ëƒ9p-u`Y‚C.ÁO–pa”_ÔìhKWž¯ä-«)× £Ì;ë*'»ê - :î—Á´¸è}Cɳ`û?ŸšË /›v£I¹µj5½'ž‘D÷„Çu·aa$*·)“ZTžRhY.^])%ÏA¾|¿L‰þþ̨Ñ&¢QÕüB‰6"³ ü~çRòwî5rO¥)H–‡’ù—×Ý“¡4ÞÕ— ­p‚ìsÔ“ „bt>ýÉI«ëòwÅšüõžšpæ2\Ï]9¹Ñé.v¢xËÒ;0HX¯ñ®»¦b‘~ȉF3œ“_m¡cOi01§l쌓‡{"Æúa›F?Œ‰y¯ØD+ÞhKì2×aÞÚ0XœDC¤íâáhÝÜ<‘kÚw“.µfE~ZëÍà`ýÑ¿ª–¯:—’Y€u6#‚bÈ$Q SÏH¹9 s;jÈ«È&pëÛ+—·Òì°÷$mUÐÚœîÙIÓ;LËÅ Óc¹¢ê¶$`g ²ç”SÎÔƒiË䇪·Ãø|Ô!ï™?ó×5 ­UÆÉã‡ØRì.d¶Üv²W½:Y›@ÉÅLÜ5A_úX—‰[$Ó².Ô9¸Bo%J<†Z«ÊR'ÇØö!œÊ-¦ $hw;¾V{¡º„ZŽ 4íÖ~Uèڑ߯’â7‚aç´¶ªö/ËÀ¯áŠ«Ù¥º{‡¸'‚Üè³JsÔRª9ê*G9e€åÎÂx6mþñá&àöà)sz~§¼Ù!ÓêY„§/º×P´õ°]t¢nN¡7Ñ!Ú¼X¨Ü@6s‹®¬Ó&å7‰¿‘Šþgb…ݰSfîi»¤£›‰A^$\°ÉÁ%´!óçu®æ “ ruzÛbá)ÀZF#Ã?–S.;g§‹Ž/É m3ÕÚtŒ°…ŠßÜYÚu½=Í~A÷ßÊ¢j›åVŽx—[᱘W[¡C¶]u©Çþ{-Üž‡s“k.€N20Ì~"¡|Ä*Œ~݇íTÏưiæÿ+4ƒÎ᭑Ǻ‚YvJT…8üŠñŽn[+¶*¹s,¦}ƒ`Ô/û“ ¨âæ^õúÞ¸PL"îL—Rxi •L4Oœµ˜:¡'‡øÄ NžuV|Ù":Ú®`Ü^¨¢É¡˜¥ZæÐÍN>•¨z¢€LŸ3j–‰¾yþW£ÚÊ—ç].â”±*¼á’Ú]ñËùg aÛ\'$7ã€SÔC £°ê‹\'ªMNñv ŠR˜‘ÁžºpglÅÞêÒ™ Ä'™©ü­0ÎÜŒºX8ñ0xeCïy¢aëyA‹À?L¹²c—×j@‚hz–˜hþ’µ©“•Öq\…aë›§_, 1Fí7NHhGžÁ‰“SÜÊÑôAÝÌ“Fƒï@VfÂãC¨Õ%õ\£eí$;Å1<€{€˜ÂW`×OÇÊY§,Ìñùjð=¬ÏÊ—G¶™ÞN+ñ œÚ±ç¡_£÷>¿»'ö`%0ÚÊeË8YQÝ: +LqºNì^ë <žR÷Þ~Úqö1»ÌúQŸÚ¸–Clö(VKÙÒvŸh°ES£)³w"ÚôzÇôŒHÚì…;ú3K<è[N!i]l…«O§„†H+Q×# %ûì3·fŽëIÍh  ¨ìoñíÎå•î6¹ ÆUþ.J~ðâá0¢½½Ý´&x ·ö÷À©bŠ•^Hß}á¤Qs2¥á²•¤0’% xžEsÇE{þvZÈu¿ík†áô…Ûäç´9៉ҳwü%ƒ{I×€I)$¨º¦Œ-l+ÅZFns'9O6Åsêìâ‘uÏ·lÄšQ^þúõù B…0k‰Kgæmõ —VÉî*§<§Á’l¯^Ì&VL2€[ã4½Ü“~˜|ÄÃ~+\k¸  |¨ÿ sn¦=iVdrT<ú?BÂtAé„u m†\a<Øæ£’oY{ÜVHÎ\𼿰žÙ5ù «P¨[§¬Ñ•…íÊ-ÞÚ|ðâµeh™§ ¡S¸o¿{!Bˆp$§jÁÊ/‡ÖE:ƒÝOã,— f²¬÷ýtÜò–[eRc•üVqS€Ö§¾²P Ëùƒ.§'&¦7[mdÖÝŸ`h8c¢ßAud7Ï3Ø i$2÷€Õ«2ò–a\ck&äºÇÖðý:|´ìªCiÓ-̃ëOeÞÚ ä²q­ú)˜mv(”{ÔŽrdA=øO¬¹æz[äfVÕ‚óƒl‘ß‘4+÷Ç]ÛœÜamç¶ÄÍø%£dðÐIV°Vh4‡É»Grƒz N_¸Zò]8Ÿ\…Øhÿ¡&õ5î¿ò%ï8Ó ”ZÆsi:€CŦDajÛÄ4üzvñÔ‘†Íé‡ëL?Òañ¿¾JÅà#%‘Cú/šr xVJ,õzq;o›2ü‰Ï•P}á¤Ø=3Vžu««ÖïÞ/þCÞÐR.`:x\ôgÎ':“i ⻬´ÀâÆH:-¤WĨÀŸg‹ˆ ¬s¯¬Wê g5-¤C‘u Öt ²ù‰Â"n˜ñió³±\Hm…Ãí£¸ÄÎV3ÝΡㅆ\x Â8&€µpùÕœº/àwìwLÄh ¡=NÊ áEa:~ùêÅAßÄ&eùb€£B^^ôE¨È»LÍ;;‚€Â ÉÔ£€ôwÄ"åá(õèUœŒ½¿Ýè¹-º¶áZ2¨pëšIÓM\»ÄÜi'`MºÃlÖ!ŠpŠÔ‡œ '‹ I–r+×£ Ó €Þz´„1Ö…b:ßȧË>A`b+¸'¼BàÂY~þLJ]l?QJ óùÁÍx© r@RWAãö{*.‘d÷Õåd¿#tz tÊ" ©¹t78v0F4îšÆGN[”…{ÎÈ82ž£|›~!IÏ”Q7:Y󝝸b¹_AYëMšÀ¶zôþ.vwÃþ€KÁ»´è´ÙÞŒ•>­HïXÕ7š«\Ä·¾m+4³€áЧç‹aK‡dfØvM½ÀåŸE$PŸÂ}©ç^StLFÖe`h¯ÔM¶I¥ôËÚ+;•'qKºÊµõ W²!)™rØå?E¢àüÆxßH÷Í>üÌŸé|Ï´¢™o4#üÞ,_9òh€ ¥-/ù~d'Õº ›©¬Öú‡±’›d\1{ög%¼\e8¹»ŠÂÆÇ&Xj¨k²ý¨Òî¨Æqw¤ íúºò¢ðÿ¼ÿB®™D+¡Û @1¨IZ˜NÈq~=ô‰ˆ~$ž8;@Š›:(Œ p&UãL ¶½’q•çêGGx¡¶£áogÈ Ï|¶¶UDõ·Œ¢¥TU·xñ‡ú [T¸Š³šn®¸Vê¡¿ åðð!¢DPÖLy'Y‚2{<“ÿIúñ€•ôÁDäqâØ.ˆì⃭K˜ÆŒr§b Jpœh‚Æ. /‘¡:Q•é%J„¾ùbÐÿ4™â?ð}÷¦MÌç’÷ŒÐ,»aІả}õ==§÷~\9G4ŒBw”½”ÇKÿ”9œ1_Ù)˜p´0 ‰ŒU®e ï@{gpWa€èÆ|:¶á–‹[؈1Ø‘š,!e[œRE™·ô $°ÈpSŸ•p yé¤sÿê$MÙ„}/JŒN,Hzt-Dåäöä²uÍC5p?-wøYºÊ¬Õˆ.ÚÛ£•²:ã?¦iÜ}­«°Î§k’Åh HùŸªì@‚œ`3•|c‡’¹–@‘½®>_°ïô^óžzeè~ã ÓŠ¢rA¤>sbq \ßÄÛK0¾Bàƒ‘7 róåDáxíõ‹¶ ÃD€ð«VbÓÐc*¾4œ‰Óæz4±/„CéLÒĘ ·ßÃNAâ÷aÚäÆû”*´,£,ðm>™%{i"‚íb.¥Ä´–•Ê "ÈÄ'ÝæÅNdD?cªóuFUÔðIÁô,#g;²Á7Òï&uÇÉ2‹îèÈ/#1îÈV’<U‡þUH±œ¸Sc-oƈ²©}‘5ÁHÍ¥\í‘ÔØ ` ЗG”¥[JóœY°ž¶Õ·5šw1ÔiÛÝ¥ýœžUF¶Ã€þlz&(öì#uil…qH h}ªÁŽ-z›âá,ƒ³ò-“­‚=ìÜ^ù9øa&í8ÿœïÓ2€¿<0¹Tr*ÇÃ4òØc¨îu U(Þõ%ˆØÌª¦’ µûf,†kRn¨=*HÒõ\±óÞ L»ä½Õ Š›s ‚rÒœ«ì"RZÈQ°ñÏ*ïnt?€¥ÆùLòžÆ‰zË„ç*æ·›>|=¡)ÁÏ/l5õ–jï^ÔXr²Ç”wç@ZÙ¹p©às1 ±èò`M–þ.žzœ©\cl;^ ":hs9Å ==x#&{J-Ùd7ÒZ¯.=6š5‘ˆî5yÄû£!cdœ1ƒÛ—| ü{1DV…œ&JÓl|[#‘ÿüÙ‘}œyÕzÒ4Nvü™cÚ0%1ÉÈò¨mçjxã¯.êe[ž)4MV-½°¿…$ú`jÆ Ê“•m0hö°º5{:èV^8Y3j§?"T@rõ–jÄû–Ë»q.|"msQcfg’&gXF;ØšfWwëïÛ”I‹usѦtÖ,¯è×øñåR8ŽWYW£«2ᙉMæø=Ö=ÕÞ%䋺{çð|·QœŒACKë ðD9°k ÑjA¸.º£ãáFRضK DÐáÚ`Í‚…ãÒ”Ó_i\„$A÷Ö'cs†©ÌO1¢ßªºèüˆ/ú^îò³Î;=Êqž:ß²'¶_s=͈ù^Mºi&|Nªày¯¥Åq*M:Ô.)êèÁ(d$ÄGóÓ“dD!•ÝþÞɨñÒiF%¬'õ:ŒöA·_ŸSBñƒmú¯÷¡IˆXÈ"ô¡*Iøš¦èXa®iE£h«Å‚²wÛŠT R7áÍxýÉP'8ú Oár¥¸Ê¯&XÙ³è.²êï2DÇáÒêÚ蘽¨m8„ûÂÅÈzk–5ªê7u «“7.Žtõ ÁbÿZ:Ë£êI-¿/(fò³wº˜¹2>%-éŽÁC xüŒö.°)Rħù`-gëÒs6“C7î'Ôæáb#Ü#3¶À#RùçÆÒ1åË_îT ?¼t:+ZF9Í÷«v„iAS€é¶¨÷,˜)¥! „ï¿â²(5ö›¾óViÀºà•"%—Wö6kUbX!-W*™úU ‹THF£89­LJÍ mÅÔs¨_Iv”¼î¤«*4Tj”•r%¿\#Öªs^´ÿÀ3ÖR£®¾˜©Cÿh ¢»wêðñÎh¥L»Ú³d,B~8IÍÞ8ÛÃ9¢óÉç-&û3ØïŠœKŒóolÙ D(Ç$çh*£µ‹rb7å5‹¬Å:¶D<ÙÊ,Ô!ý‰fÄŠEÃÔ’$'¥ÄcàtµÔ5&¨%Iòp|óÌÔy ²@„Ñ燜Têyx”ºž=“ ]‹H逫¤³šO2øÐàñ§ÿ“ÄQ숗ZÿÚyñEŒfè]ýÂò<`Ï·ó¶¦[e×Äu¬wË% ¶•s‚s¥ ^[1mf]ö¾ÊCÝwív<„fCÖ€Åré0O¹êº˜˜S›ƒ_àI?k¿¦¦Ê?dûÚû†zQéK9¸]ýø6¥=ý½!ó‚›·¥À./O&5 T›ÍM*P5M ÷K^¥xí~×EJ÷RšŸCE]ËÑM cÔ|]Õ—iÕý$÷R,Ç·ë Ò9;.«:þ`©} öÕæ*‘]ô[d×ÌzLñ4+ËÛŽÛ+sÖdÄÈÈÌæEÔ-a¹@ÁŒîëdªÌÁ.z÷æEÓ@·ë¹º9ÎvY«àY¼d#é…Ît,Ö;—f3´¸wÇ]éúÜqSÓ¿ÓK.휭½Wô^ŸƒÒ}{¼‘mB›yoÆÞZù˜ØLbÀúÕ‰˜A‰òC»q§ºžEDÉ㓘‚]ë›ßf’‹Ùjè¦Ôœ§PŠ‚<°^ŠÐBsá7R]‚S5$oìj2¾Xá»+X9‘€’鯌D©Bu5˜R /'úró+òÆ8‰E£Da‚>^7_1È“ua÷8.py’eæ ÜeÒˆ'f ƒÓé8¸…šFïŸÛŠ *ÂÍÁu„ãµ{~jRØÐçdcF vr‰V1ÜëìzVXg}tqîõgp»’ÅJ ××`â÷ü'3óÓÌ‚6¡E$W=ðLjZ ² Á/pC?kã ÙÆC‡®‡ZqÚÕª>,Ì «j¢º½ KÕîwõ\&Å'êÇl¥Õ—ŠÂØÉ”–·c…)çÎ©Ê §Îv‚©TÒ\\_ø ,CßHˆº¼á\x&ZÐ’m'o^e“ûÔƒ=çW)Ù‹A&Tuׇ±•ÆF%FŠgák¨­–9 e`Tךqïõ·Ã5RA#ö.jÝ2•1Rø= çôRt÷&0Æ‚<ŒüµvçkÉÜF¬‚ùlat¦—_Y(= åkz 13!ìxÍ©ÒÑ8€e3 ‘†ðÇAy”Ü„OïRsÏ©®ÿ Ø#¨'ä$òŸŽæ©?W [R&,R½Þ?•Ò<ñŽ— )‚Cm,3eÅAþ¼Ê:•íá$ðíéêÙ¸ýòº7É˾ØPwë’:þáGów/¦C„¸g²MÙ!Åñ'f™«ž Rߪé"@ˆ§ÈøÕþÁåz‚¸w|J/Òwo³W*…ªn¯£ù282‘ùÙà.éÊ:¨÷Ks¼æªö=‚âñ•Dtü¹ 7¯/C¹ù¤®­—f»á° Ë!ZwuX&Ê#Þ·,âw›Þ¹†.Æñ»—í† EΗA¾tê±NRõ~âr\möñ87BÄ‹žgsÍ›@ ¯doB@ÄIÖÂÑüÜ« ØæðϤËG”Ðg›¡;‰‹âCMºt•Ï Á@$&ÎÙ(ƒöØ59”bÀ(¦œÃ'“ø‹iÆ ÓÅñ›+);æ;!«¿&=Ãë¦ Ó§ÚÃúîǰp¾‹f.•LlÝYV·ãϘ.ø¬‚½ µìWa™[fÉ:¦ÓQ†²ŽŸ»Æ©;ƒíS¨S”º¶èÀZMÄôÉεPdAšâE .ö[S@)”Ë@ª€Ú ñÆ£—ƒËƒ NäÉr»«BYŠ;"¯¯Ñõ<°âü³¼áU»ž&¹—·krfèô*r ÛçíPE˜]ô°“a"žF8ëÿ­Ìá¶\>«¤ù„ÌU‰kz6nL;¶>yY{Ä\»S)zçújÐy¬."ÀÓ¯Ú‘Æ[ä¡¿i'^Њ‚ªý.Ã’OãèÄñ©úÝ¡íµÐöpýFò¶åEå4¡‘¶"9¡h}fíǬjtWZ ¶M4'%½G\oý4€•Ÿ@”7¤J—ü£ü‹ ßýø«lx.ŒØ˜/ÓÈ8p {ñﮈÓ.gÖ}È×ä±×\#1.­®<’5+[ÖeU3Ù†Ì)O¬·¼5?ò¬ G¸ ;!}îéÑ嚸Y‰ 'Ù„6[°<ïXhJÅ6Ë$áIQžÌGýM†Ùk@|‚/DšDZ©d52ÆÐoD)2Ù%‚s†o¿j»)ù÷W¥¯8êÙZ€zá¬Åª­r¥NYN+È –: —³í{¨2„ônvÞ†v6$v:Õm–Ï;‰^Õ'½A=GæÖ-©ðöŸàlÛµÓ¥Y1Pëÿ¾áé ê’Xé¤i&ÝK2½ßV«(ùÍFF¹_Kbò>!«&š|D±“Ô«¬…{æ+rØÀÿó #Ÿ:…‹%ûu>änÙÏ¥^öm]AÃãúùÐsFYÝ-t6p–p»ñ[³–Ã÷mªö+jqbÔÉQ»ˆ·Ö-ìh–‘É’ûC†+aÂçöÿ ìɃŽ9™òæ'—çKý¸RÌG-Q>t¶ ˜üñ1Ü„¿kå‘|Ɔ¤OGñ'äO"}à Vsf.p4 `œD&£m] îˆç½€Ð1$•Ø7†`«¡™@y"ݹ!LQ €ÒÊ:Ð0Sô¥ »](AlÙ/”˜Žû^®F$ßN·T(ábœÝêâX#°$Ñ¡=íߢ̡ÏÌMèÂÙ´HR²³¸é­K¤ U_bBÒ¢ž¡³;„í¯‹nS”‚MÆ–û¼ˆÛiƒÂ•V„Eãáâÿ1½_nÜiýü`pÃBüZôvÊ_õ‰¼¥@h!|cùc=~§Xƒ’9úcà㎲#ªÒ¸¹¢ xJos‚Ñö N“¹HƒüYC¯1$þPð~ŽxD‹¾aRÜÙÂ`*‹Q%#]õkjú¦"ÿNrø(¢†Ó†ÑM÷'§/· ]ŸçÙ÷à±0(c%ÚSp¬dÌ-åÆu$ ¦ÅÆ6`B¦jº—Hp Åfmr÷yÅWŽºô ßHÚ®=ìî™ ¢©Ýt6\’€o&¬T{'Djêà§ÉÄ´G#èåÇíÃ&üÀ…cÞú+qíöƒ˜ÿ¼ŠýŽ©¢lœŽ‚TÁ0ò4»Í.YHªZÚÞÝeˆ*©Þ½Á¬`C°Û–.XYpìê/ʹ~ÓvpÚgõýL©ç¥á¾-0/âÓ`ïëŠøFrbƵhÙ#T¥.©;Pã³bC;ê"nwg¨#’ücnj”ÇÇîÔúÛ硆ö<¸VÝŽ|eŒ xä ÅP-Ë·¿„V£Ý—ÁgÅ…÷¼ñŒ>Äçn’·R¡8Þ &í³GK“Bë㞎nÌJÀ£DÚLG?™Nr«ÓWÌÅípu¤ª…ÁÜQÈEr5ÝÏ·B\’É]Y“×%}D‰ÛñX^ˆÿÈóŸÏÚÍÆP”ì:MŠ‹ì!½¼²ã™Ói8¯ÂEµ‰ ƒßâܹ\¡œ)3ÏzË÷Þ.“œL¡ƒi)‰C¡MÞ ‹¼w²«æ]§ó>:DÙr“ÌcìÝ5­QÞê¢n…†ÐœœS‘B®ú£m¬t3Í„{½†¤ßZ® Ø•&Ïå“|·¸;‰ÖFš~3ÎêÜÑϪQUw|Wir—ÉB+   Ñ1vY–6¿™EÅ0šœûNýúÓ"ž3ìŒ{Ë2ø*K¤Q\‰ú¬à­ÄâcAë½rã¡+ÚÕÞæ§Í®r®»%pŸ¶| lç2Bw¼Â£ÊÝÀHïRÀƒ×è!€ÝíW¹ÃýFt ^7†}ŠÚXk•ÀÔ÷0:ñø^ÌÏÊÖáì„ØÚzÃèS#—ÑÔm U#Ês Š{ÿÒ ¶±ÒE—5peWÅ9Ã0h ?J‰k±'Ñ~©¬Ê[i•¦O18BÙêŒÅ3’bWk+²ù¹p‚Ì …ŒžWãoß½ˆÝÎb†B}ªåöø”þ6tÕîæaB&£?z±`.È9Løðàì5w¸ÙLQ3ÿ|1ÆŸ„ð›¡c¶‡¾)˜~xG¬Q—mò0§Gßìo4 7ÇYF¹¤gdô€çrnë3ÂIŸ+&A€Ã´»XJ*[ô%%¤E…K»¤ú‡q¢O¦—Þ´S•Ñë[œ¬OºÆ£Tþé o­¡uZo$NðF˜k ʸ ß æ7¤B1ºH‰ôR6Ný”Þxu†ãVÔ÷¢e¶D¦ó(Ú7²½‡L–Ë+ìS<é ¬4z[œ»ª1Ln\ÃH=R}èóä_Fáž<ù·:f„%œë~Eëág†Q–FÞeçù´: ¸{Þ‰ÇòÃa²ûfɃ(¤?~ðí¶öÔ©¶Ù¨ú`)£%ïG(zŒì–öA2Ðõö‡Ë'ècÂÙa(·ÔcšJ õDU5rBÙ{ùç7N©gDùs[²ŒE¼´ç1<>Y=ð;=•=ɉÏõdipÈsk´„»Þ%¬22;A« ~™[!—D0¬Rdc–>Òט)w`+là /™ï³Ñ÷ìfÍeûØWƒZIÈpYçhVÓè?5¯,ÙX;ñy2Œ•³d ¯?¯¥ÉnbœìfDP ÔRŠ‘DEZÐAaNÒÛZ¹Ê°-ñ¡ì­pO$AŽ@Н[Þ(k˜œä èg‡`¡ØÆö™óú´ëœÒ l°¿HƒlÑåqñ5b¤  ÈÄS*e+û[óù›ƒe¡µÑÙ; bÿ_µXe:„wa$Œµy(àîì/ЧtMË»t82äžL_`Ãàvçó2Z° u.Ò…;+8ט¤ï¯c| %Êõ%« §– ¼'ŒCHÊFæZpùH»¬v•o"ÕÙ-SZKOɪøšï}Øÿ{Yjá­°£FÜü/¯†ëU¦óïˆÎ¶2&…vŽŒZ2䥷EZ™è=Ÿ¶ÛNý˜xÆ-X-ˆ¹ÊÎ$þzwÛ× +!""[w—Éü“b8•M¥âî ó7_à>I¤ @¶|ß@S ÔG¼zœ»¤‰éÓ ŠÐƽ }«®ãt¯¾/…x§{óßjTON)æ </ÕÆ.Üö8©P˜m¬Ò½Í£˜|êºâ ¿úd&[Ù”xmÁpà<Ö"º‰Æ4 ïç@pÉм+•€n4Å…~nî7] f/¾ºųõ—’!o ²RË81¡ŸuÛc]}mŒ}ÿ˜£¬«ÿq…ØÂM꥞u†+U^ J6¥†W7‹VÚPÊÄ?Ô<ô² Ji=½ _Ê¥XUó´Õe¼vDln˜2½sóÌöôqhÝIÀõÛY`ò šb²R€=X²g‰3Uf‘1ËÇ~'Ò®cÊ+Ì5¶ÂRU ëIW<ô¶ƒÎj½âß82÷ ×j?{ºŠÇ¨’5qWJ›ï}„ÖÚ”™f®qS7Õ ¿Ðª"KEÐv Éº\*g ÒêÑìâ1²60Ù’“ÀÈ ßÙpM£&w¤'ÌFÁ+Õþ·I‰‹˜–^ZXÊÈ#»‹ëJã`ùµ7[;ÇGÛýÓã7=® ¦Ëâœõ÷ö«w0ÄÎÛóˆÞ%Ã8ƒbLN«—])\l Bú§VN&ž)aÀqçšPì;R<ÑëÿÙð+È ¥k&Ë<¾.Æm°à‚·Ê3$qµŠÔ?à¢nS´˜:üÖ4”L}häñ)tª*§·XËú‹"Uò¡fFÜúÊ}õ¯¶$ÁuÄÀÐZʬô¹òÓì"g’3xíV ²ð•\à$àÂÿæ-q0ᨧ¿ùŸ”ÏuŠoJ± Á‰|®Í¬°!œ¨Ê³× Qõ',ÊS lÕ¯¢ùÝ]¯eðÀSŸ9òeÏî$­Ç¬¯6µYóÄ–lΠ|ê\Q‹”¶ûD°z‰ø•ƒI•ÀÙ^õȑʘ&/CÓ1¿ÿ¢rôe³±´ÕRôª`¾T¨K6ÜA§´ ûB†ß½´lš3Z¬ R¢É×^Oò„™ï.Ð÷ùæµx¥5¤±iF\wÅ7‚—>ƒê ™>:~ý…@™2œÉ }3>JW67޼ÃñU‡3ÓÅ‚ðóühñ!>PíÃã}b|”°0Ýuˆª’­cý‚]—¤K;d²Þ·Æatÿ£&e‹“‡tSoLÄ!«rýâgÄá¦1ìe™~˜o‹¬éfÓ-˜æîð*+GZtS[xqMŠv!¯“û#©µ13¤'äcÃþ‘âªÝOü¿ŒÔïóëð9`q:8þNØLU>K/ºƒ¢Ï( ˜BÓ +‚„“þlSAæˆj[ÑhÉŠ1ræ-œþÕŒn-ÏýnB¡±²õ™˜´|áë¥ë>ä¶ïS˜a¢˜èŸL[9¾„‘®ØÊér8IÞh–kÊÌÆAþàFá€x¤^ÙÕ€º^ÎÇNKÕ¶Ozˇ[ …B|‘r¶ÑêwÇ©ëÏ *$°*krÚõaŸÆm×NOxMÂ/l}0–Áb^Ì×d¾dh,û;˜þ¯šÐ²çøa%;ãíΓm¿œr´Ç7Œ>è§ Û‘FÛðëÐ$éA,NF î™i‹r}Ç€m5BTœHà,™ª[ަF¤ç‚¹ËØVj‚Q¿ AC¬ýÏ<<ç€n€AÇ‹Oô ñMl]s¥j~m£oŽt2³Kôl«/”¿7(=©Ç£¯¯qÌ! $n ¦M·v#è#7ËÝ© ø~£³¬Æ™=gÁŽMÈ }·¯Dœõî•2óGcÞ—›²°k2ïãÚ•ðÖÿ6uÍ«‹—< R3øb¤]E¶Ü`8p=VÙãü,Ëâ¼—GЉÆ}¨6žHˆ_|Ûp_"Í¥ÛBÇ>TþëPϳEGêáK?ìQL^A]}àel“©‹"Yü$®X®'ÿ£iº«)÷ÔPcö®QúhChI¼‚kaÿiØ›áÆÝGÒ‡Á ?I"ÒÚ˜9Ò[Ô&‘ÙÐÞK_£ƒ;MþQ;Ðâʦq 2ßjÓ4ûÝ×ÉVˆ@ª"dƒ1àm )ïÌú„µÌå#œ»”MVêYôކ yÛôh ­M —‹zN0$¦÷·œ÷È qW?ÌáãîÖ?v³¹þžóýÓÎãX ¾ømÞÌ>œ)wøwc7û©¾VµÌf–©sòàÞróLéÍJC†Ô¥«x=Û¤º¼ŒŸm'gœø¨ðô+ñø½È •îê9ƒÙ챓k⥼/á±yfŸIóÙ[uÔΆ<¨|ÍM#ð•1BÊÞåÊIf¯ýe*®jè`Õ'D¯6;“ºúÃÂ<¥ÐCƒ¡ â ‚¤Akn9£Åw74à‹¼ã³¬4¿Â/Ia]ªgŒ½ê2œê»#^2yÌ“Ç>”þ‚æòZ ·µºG~ßL °xA‡VŸܳ䡳/9høC °â%‡¼¾dRÊ"Rp(•°Ò×¶Èù¦+¿-2däö> ™hÁ“¶­]-x «l)@VŽòå6+9–kso‡õfkŸ¼Ù°€1ŒI-›Üx,ý\á<ÿ)´÷~W¯;ˆÂìOl¦t‚¨êÖÃl›Öå‰ÈsaÜ <íXÝ«D(¨e’)ƒi¼{xr+t (tÖ £,ùIiv¼0[Å~ –vý19öïÊ®ƒ•î}¾RBk®³ÔZ•©á?ý3Ù€¢,rYüN{›\ÿn%duw ðýV¸øšˆ‰×‡mrä™-ÕêZXÏ%ÓoÐT鿸…˼s‡â˜wiTJÑÖÔ|[ 8B£ŽÄ%(D0G¿\ä)P|4ð4ˇÕŸ0±ÁÝ?ÿÁ.Ÿcm/“ãÿ ë9ã‘Ü· ­]9áçèîŽVRï=0ï°ñ­·}bQ[Ìž+ÿÂÉZ9²+¥3.¹ª·k³õ‘ÞÚ}j¡Ì>!NSÊSø‚B±Düimà€%ƒ™iÿêϢǠfq¸‹P­T¥%bàV£+Éÿ'ËÙÜþ¯)Ú>6þô•îºçpcCÍæKqi 1ëf!‰Mñµf¬áoȘ‡íQZ»RÌ,a€Î Wu„>SeûDØÎgè8W›Pðõ·OK*Û£‘UB~œ{Ës×v!, 7WÄ_<4ñíøò½hhÔ¦ Öì&JÚªÅ9Ä® ÁC~9ºÐ²kÈÙçcÀh ,yþh2‚ƒÑGWÚ3À2À@Ã+çl·ÞQÍ#ò¨üM2¸Ñ ây?cÎĤÝ&5SØ_ -ÝÍ(f- ¬Š)S‘JÚŸ·Ðq*'W‚ÈD37ñWS¢ðm¸~û·}eæçÕb9¨}F¥?ñ¯0x ëX'•^.DdlêýA\‹‘G šVˆ\û?~SˆH†Èî1ÓF84U’3õ‹Ñò02CÖ×fx} ýçUe~ €¥œ\ÔKõfÝÌýZ8Òë/^dÞ¸?Ž€­jŽ3½º³œ”hÕŃyÁ4¼[OAÞ4]×ÖGÝ¿ÂÓºŠå±ådïûœvW*± 2íÛ¤/TBÌV F è“qsÑ+Ïg§aÍɼ šÎ,zä.ö"-§m-:~g¯wy‹eÿEY´ÕrªŒEmÊÀ3÷Έ(åàÕþìÑ0\awnE­‚wð¼9?j Û“âl)?;îIÊ HœòžÆc1ÄM±”$~ΩžŽ3–u™scöze‡Á†˜MÌD?d?ù;׌|Øwû›6[\_*„Kµ“X°×e©^ÏvvB=Ý: šâ¤PŒ_öy?M9FÎæø Úômqp„à|«Ç1Snsô±ßî)òñ{Ÿä4¨CÍ!·…S”Ø1·Ù—qi;„:Q±#e|H:4Û‹•釭D³_¡,$z±‘Èyãõ˜XuÖ^¾lÒ,Fœñé¹q.)ö×SR¸Ò Ê ›$p!ƒÖœÀáïf¦½9pç@5¦Ù²d…™<¿EÒONL‰#]ÂRû†¸“ÓÓ$h ùcüqóGX\¤óø€[J®ƒ‡¥„þ$Ähø¤H 8$·l•ü¶A¢TVÕ+öç¥ {&câj_» <å&—ó _äà8êe*€lqs™c$ï¢/ŠÄÐ>¶øo—¥&»—Júý½-̼¡ Y ÝÎØ¥#³)6á$ÊYRM'-_3„±‹¶L¥ ¤Ôø¾ Z†÷Ei yŸ’­øc÷¬Ñ>‚c¸;ÒM{5ù;5¤é¯wmóPo“ l¦“1ИLÍ1†Þ§ f°P3—¸—ëg@䉺}Öê>P¶ùž/ÝârzŸoµÑYÑßÚ®=Ml³  Y²“þšÍ- ~õ¬\…ØÉÂU4Ù£+]üé¢t%]½³Xäõ¡I'˜/ÐuÍÅ ß(P›ºQLf»íwPwr#nº,ꞈûâOBÙ­ïÄ•¸jœfÍíÅ"G(nŸjϺNŒ ªrŒÿ,æšßüÙ½^¨ÎG7,Cð³yáàí·²ù‘ÇпJ\Ø(ãJžŽk. BÐÍòÝGël[ºNóH¸JÔCM$ÓTœXe¢Kçü y°VH¢ßÔÚ‚Â>ý§(λÜf‡›W‘˜ÆæŽ<€Qƒ/K&2•Ïœ*ŠK#ž\àWÆ!!ˆëœì`I°“iíR»@ôi\ŸGw>’`…c¶öæb­ s1,jX‡¤Ô¦AuLsÚ[{&Üðc-wp³ ì¹íQÀþh¹(fD²M”¹ño>©·…YÅS·‹½n\B>E˘?âQ¢b qƒ¯²]”¸+Š>s†,ì]wÏ*m¹» ¤˜ˆç^Û+{TÕž˜ö½»uc_òvw<³”\€ æ+Xa¹oCJù“ÁC(·Ä}ýÏè÷$ ‰„›èt=Ðe+j8X]HEŽÈ%ßbÜkc¯?ÎÄBÙ3„uû—³aØZo)8…ª©Æ”E¯§IB޶—ÅÛ\-¯Çoåíe¨ÄR~NòÞà²àª‹œz¬sŸ í5ü‡ØôW€Rþ¶ 7oOüª¾´v_㈠žsœ·Æ<}ƒ;ø¦uÙÿËe‘{ÿ×¶€¯ˆ@ÜŽ8ôº”cŽÁ‡"Äö‰-d.$yD§ý‘× ëì|U]a7”%“/¢c—~ß,ü¨Êæ$࿉ÀØ‹P=Ù–CÒ –5Î-ëžR?FzóP§±š4Bº¾ŸaêXm7óv¯jf7ÃØæ \‘9¾â45ºƒ~o¨<¨-oÎâ.~ÃJûº`mE¢¸y/L¸C²ëH~¡ù¾!yLÆâs¬F`Iå¦ñö»òM¤<"˜:;%wÃïýšA}Â>hÔ¬°Rr÷b*ˆü¼÷°MÖ?Ü7[Ã6·öûŽú =FY¶-¥d“á(õ-KKEo"éàÇJ)ÁfðZÖüSÏ ¥Ã¢4vb-5^ìrD£ x¢»6¯‰X$óÙú`d8ÍjÔ3áÔª=J‰L¾÷ Ko󥘋„üßblD Ìå¬ÿL8Â>DÙU¤V2¹òh]ÇEP’?(‡/cëVx ­ Õµà`QtÊ£mzçfÈÌþ¶§ê,ü.U×8B?5€Çæ•`ô©œaçšÏøó ÚÜŠØZ`* Xq~¢I½âÊ#-ùhÀ¹ûrá»(ŸHÔ¼t®ÖUê®a…}§Ì2.Pv 910ál=…9¦D©œPJ0¶þ¨–ünÀƒŒÜ)Ç„ :!v/“âõV4ØQŽshî"›Ù¢Òäkÿ¢ÃHϾt)¥ÊÒºìš-ÉøØ¶QÈ*Mu^ãA›p°ÖÊs6VÇ$†H×þœ ¦ú$=Ò‹D^`T2£¥uo“e“vÌî??h­“9`÷è࿾ …nC„"70–GB©X€Ð$™DÑŸ´·»,}øÊÛša„ƒ0«„.Qngèñ‚/ZÌÁã¦b·jˆâ ‹ôʯÐþÍ+d‹ |&(ãeëÆtû1¿Ò76ÌýÚ¾¸`ía²I‡ÿ«n¿k_N%pËÓ =§ÜC†‘ s4#ú‰„[´x×ï­´¡D N¶Âü’î_’’ñd=©F‚e9Ç®ŒÞ4Þ¾Ûワ^gxÁ·ß"kz#ÊðœÙüE¼³ášû+öe¡¾ˆ,¦Ðh­vGƒœ"Û~ðýØ-Åôõ”È@³3v·á˜ßô7(È…GÈ~a³Ø™è§ªÚÉ£›M »+½Î(!Ïy<—Ÿk£hgÚòäÔ¶Tr>À*É(½>ºÝÓ†*Нjò±kcþVÄG`‹yxžó^"—D\C¶´Q²kÅð6Pºf×|ìÙ;TÖX›8^›´ÿ¡$µ–ì*µÆÓ_èqüx]…õ-rrú j`’Û¤_´ñ\d.mR89Çð¸ l8o-'¤Bÿ™# ¬ÖG$ '¾ĶXr¤¹Pâ΋ѹdïÊ ª>©jÜsn³è"@&üd•ˆwS̵t>wž¬[y¥qX4Ë12X G|úCÌJö1ëÌaœÔãÏ%AüZ¸,/ܰaþ}ñlZÒæP®A O<MÃ…‚ürô}ÿ…óÜ7› wb%ç£ôç>*êã¯lÇËT„¦S=îDþ˜°¿òäb )¼*v4n<ðïéËSá0ÒEºyEq— ì0 ­ÒåÓŸÞ_ØËá–‚¶SñÀò}ÎvAYÿà4ŽVMÎÞ4ƒ`ÖN* ˆwJJ(¤Ö þ¡Í½¼|1:Ï„:ÅÂĦçkƒcÜ‘s¿U×n¹Þ9¥V­þSH'šúj2…`‘ñ,)gÑó0}6‡ÆW‰<‹p¿´ÿ,ñt‘ÛÊ0B‡£GÕpq^7~&äÀÿhõ° ·7Ü´ÒÆ$ ò–.ŽüRRÏ>¤C„WÞvwz½â›Ï÷|¨×µn'ÕWô+Žü=‘êr>E +k(t6Õ0N3$jxðY¾]ŽŸµÊ5(&ÔÏ€±þÝSQt]|”þMœw=w`;wÎ/‚Ž ×a„ÃH <‘&FÚÐ"Q,)[­`sƱ¤…µãhƒ‰È$‚ƒº¨#h™Á Š"âóç1æ¾ñ©¬8Zì½Ø+áP¬>%Y4´Æ 1œcÝõø3:̪ë³AßÏä5:áêˆâbXó`“vÍÔÀÙ[°ô«& ~-ÉGÅAð¾é;ÆOÛ–«tuËO{Ïíé~¥ÇH•ËÎO¢Yçò˜¶Új ]«w!–{¬07Šz D¨BŠÁBhV¸Ùg%"mG¦?°%éˆ úœ;Zs¢øâoSQDZ| ¢Nš±‰z“8Ï…-b}´´MS_Í‹s mÁ:KË G´È£ÃFˆÐ@Ô'u¹ÜaFðÈŸOöÖ•åÙb™‹‹¡p€óKê g æìòÌá+wr.ÆðTL²ªŽè,(÷‘UbÔ;í¬¸&šŸ¤1=Æ—É+QS¦¿£NGi"AL^™ë" /Ó4q^üÕhÃèÑìCKOGšy:‘¶fo,;å.}’#ÈŸa⇠¼Ã!²ÌÕÑM戩`åE. ‘<ÇÆH,LÚ|yä,^Öp~ü |ò=ĪûP^ d09Ý4×ÅVÖRÌ—[Uá%=žá´¤/šÌW±” :Ynöü4ˆo:U·ÕTÑÙ ld>ù;C|š^lîCzVÍàa¶Ò§ O‘K^ÄõüÃÒG1Zý"g%¾È”iöfs=Œ›wƒ) q¢‰E•õÅGE‹œ%Ø_ÃóÃîZ,R(%ÿ þUÿW—Qè)Úží”ÙÃÓŽÌúz 6ÏU…¬…œ^ÊŠ÷, &†=crmno:ú"jÝ×¹v {%’õ‡î½š}@„ÁÖ´ÑÃßÄòä p…”')í¹–õ¦~ʻס²cÔ~ Ë|ðh™sb´ðÐÞÑÙC1uýp…Cø‰‡‘ß3­õ³èæT"§ùO\¶¿1g8<* ’8}“è¢ÅDÞRw÷ÙÐf.ãVçžnúm4É«L¿G˜Ò{¬a?KœK9¸AäľiÀ· Šãš}EÊWÿšÈéÝqèE½½ôÐt¿ø°ŸÝ¨Í øûÏ””y±¹×05ò‹É>Æ]çqô;Õ¥ýw ffœfÁdŠrÒ—7 ŠšP¢b…XL0dÌLÒו<æ*O›46c#8†€7xûO5ó9 ‚\˜.Ißôÿ§ëÀë@-•\X…9 ÚAOoLb¾ÙCR@‹òXà£ÞÛácCWæÀ·˜Hlß ‚p[ŠÎo¹Y{8ž^xTj<¼óàNýq&5oq,àRÕÛ:Î4Û_ŽkuÚL…yF¶á)ñnw¾AOê=4ê%-2—½úw³€Ø Ä4IÞ)U:%({:›Fó÷™wþŽŽùnrH&›ò#ôлìŠ]vŠœÊŒb‹^ÓVÑÐÕ–ÝænOÆLÉä(4•s\l¨Q—×/] V&(AXT½kÉåT k0+‹bÓ#:Lµ 'òÌYðr²û"Ùö,Ö?`öú!¦jÌ(é–ýÎùÛ Þ2Eª¬, l/9Ö¹€àÉd3*âTF  &^‚ÕIÄ1>é#¼ï˜ÃdIldÜGùž«´”ˆGøœs@ùU-ÚBe k¬É<Ù(”S¦ÊBRd%õ¡C¾²X#ÅHôùÌZðØ>gæohýUSÕ}¤ðÿ©ñwÖþÃe·FìÖôYhýeŸ 5 ©[‚QȜĤÁØ¡ÚE tínä-ÑC¹OJ1~Grn$;Ö9ÄiÔݯIv»§OUÕÞXÙÊŠôRá¯Kµ° ¨ íÓÓä»XäY·k'V €¯ƒ´»ïá.üŮ]½¾þ—Ò Š`Kú;¶ \¬H­;:Â<„H«f¡A#]ïïáF|zj¢RyiÈOÕ¬-\ð؉y°äÂqušã?.& Ù£/~ü÷±ïÞ„ß›œãÊtNé¨D6‡²/>5O %(¦{¢h°†ýùå}òVõI*Ô/.ëSÚÂn;UP„‹ÔCó,L56gÅLÇ#/Cˆ®ãí¾í&·OƒAÙúÅôÀÞ,âÜ'¥ä#}"¢Ì°’:½¬ÌžÀžá£KàQdá\e&mWŒsoÞÐØž_çY8€Æºàº­X¤=\hny8;ø¼¥È #_¢ó©_”­–@ÓkøÇ–®{ïµ¢ÙÍÌ_ˆ¤T„áЧúG™ÄlE…xñ(Sk+fƒ•"û­¼ô·¸EF–L›ºGÓ ÔÝ›êmf¿â.®’xÅfÖ‹Tt¥páç¾r'HA¼$ÄRCŸåV}DÝ£z‰¹ºiŽ’àO>OkÛ¸¬½´¼/U—(­ò»|ÓÅ6e|…'Ò³qx2"ïy „ìØÏlC7×]–Šæ{Ë@©Ã[B‚gõÞ.z“)`ºtý»i¹–_@ò»×»>~2Œ)Û­ƒ?¸í¤ßOœÜ¤|ùÕI.,˼aDÎC¥GÞ”uZ«;HÌϱαŶÊÈëŽ.q[Úò pÒ'VŸð¡CÎ$÷¾ûIà™ŸÂ\m•ç4˜y,dñè~wÑ6y€>‹X4³Ö'Ù“ýÀq¥øO ­5aˆ±¤yFkxÀS™ªf‰F}x AäNd)Èͱà%±Þ"sy/(' îH£îŽêB}ÛZÖxÄâØì­ù p´9ú(˜ú½ŽiZ’˜zN_Ÿ<óšý·T”ÀÀ;m•›/X œD)r ‰®] ”YZý¶6õËñ|'Ž–DÎYõAßkäÓ0XçIðßüSR_g;è"¼ÞHYÉÙr€Kx£Z&$ÑcwãÍ`{YRû§K‚Û;4©$ˆDÂïË0±eò掋’€¯•ÇöKLÛàÈ{G¥óEÞÎöñ&yÀ-9ÂÄ-ò 2ˆGè„IBÛ7CYS1rÔ ½Ì÷±˜$ÁÝx5¥‹µß,Y+Ûg V‡h63£•q]ã¤fZr -ÔÌÏ -Ý7ÜR\ŠÈÙA1õ“`ãÎj…¤§Õ³ü^Èçö¤),ŠÛûìq´|Ò.„l ¢{, – `;î­EÒo V—†ÖÎÎ}œÅ)\)†çõÚ’žújø¿b3¹ÔGFòk`þ1,5h•gt¡hÉÑVÃÎÒõGkŒ@ekd»ûNÊX,Ÿù¸gÎ×{õ(/žY8Åuiea(Ü¢{àðN¬æ¸sΪKI ÊZ«‚÷׬Qš¸„ôÛÓ¬· ø}§/?P,(µ„»)ÍÆgNkÊnÖP)Õ 9јn`unK¡‚éÒâz'vìi¦K?Ú‹Ü—G·óqÆ»–k‚éÚ*«.¤ž#­:z³½ž pƒ¼½ÊÀs pþÍ9“û›cÍXY:uÈNï0w¢ôJeÉÿ«pëÿ+‚/î ±ûžW¡Xœ®§~¸åÝ€mЭ,„Ôœž@;4U¿B>|I:¹ÁÉÓa ðëMwÇ…|.J6…2òü™½¯4¼ÒÕEØd ö—H³º®EDXdj øÉ)3üÝiÖÆ¼W3``ô 9Ð% ×*uö¼%ìÃÿùõ¾óA¨÷‹ä‰Ï—©—à–%þ$“جa¬b;•óeµI-èÊÓÈ>Ì‚ f„Ú^÷£È?¥PmÜâ¹êð •Ißò°_žÒ•½RfÂ’O¸ct¯ž™K~²ˆU4+âç½~iÐ]û;öYqò>ê¾Ä¢&=„Ã#!ÄôÝ“±'¶¯VÔÿ¸ù¹oÁÎ¥n«\6mÂÏKÓ‘M+¶,z‡%÷ƒZ6ÁãAlZaùª~2ž VŸ^í‰È­ëöUÀ"Tï5Ùkä½4!vÍýîÿ=õÒÛC¨$NÜžè@s#ÅK'DZ­1çÕæ@3ˆ…J|Xˆ ø#fR§¡ 3…Ÿ^ ¤NÔÍcÄLd%)vS©æ‡‚°ÂïÒH¬Ô„§2!ü’ê¼*¨6SŽã /¶B±‚A“ 1úBÞ¿+ëyè(¨|xJ‚v\LÊLñnŠ<^0W+Ø¥Ð6SøÌQ°þà×;¶è?íeBÏËz´‚z•·úŒ^^ìH¯üô°iÝ’‚m_úèV^¸ÚfSiÜöôéh—¡‘Ô~¦´¬™@VŸË{97œi@âÖ”¥ Kc‰µ¸á=nÓµp­ÒæsI¯¾ËŸîŽ-cÈîì.ŽºƒÚ3Þ++º™5Õê®ø¾³Âz>F ¿N%|©q¯ÛȽX¥àÑÏURº 6ŽßÞK a&æÞØ×nÊžãâ 8±’UÁ l -χ`ךz1q‹F8|8Éw£stÞ—Òî5RÔkù ov:Á‡º¹Äº.œn‹}î÷+Oú*L‰8§¨ÞÈ%n, …ùâF%¥¤gP"ßÿß|ëPyg•yAhÙÜŠ»Þ`bì ¤†HD¶ç|›'bb‡t‚°O¼€2¡{PÐLLDm°!ð°â£64ÄaB/Ög³ñ®ÀA™ðÞE]\2ЉRã•+[méØù½ZôéŨõa=J ;†G’"àCò<§I.’¶Þ_4”ÌÉÖ'Ë5i|Šš’‰)‚j€ê ¡@:‹`ø/rµÃ`®›«1u?B9óÕ¼'ÔŠ>3 D %ž^´Ï˜n1ò7i›M“u€ pߘïÿsøØÿãÉù…šo¶*eŠUEóŸ›Jƒ5ÆÓ ò4ï|‹›­‘Õo!OI›ZG>Qª:®Î¿d…‘yvÿž£7ËLë/¯>ø:@TþY`qèôF1wÔT¸¦”5vÞä…óbdHgºÕõb‰—TŸ •‹D¯äžÂ—¾SË!Ò}ËämÌÈÓÄ È.¤Ü9ËT;5õPDFJC¥´˜Í‘¤%çJr0Ú@Ñ]z¯€ÊƒªDc³¾I#ß¡‰læ+\W¯×ÖÞ”~QÒëkO½H̲™òˆ|<ª“ð' þËdÔ™/é‰dUût–ìàÎv$ ÕÄZùùòÄ„à5V…G«<—léþ{]¹ÊË([¾ù¯b~Ô5Щ3mB’Ú¶´ímÄÞé I±˜² tU [Ml*ÛäÖöËôu%²)nƒà›éwÙdïX…¾S´5•çëkHF>¥t]žâ>e*9Á€#-Ú]úÊæn 4¶ЕVøâ¬Wß”`ÞCXA&B|é@kÁ"4ÃtÿüoóÀ«›7©]0d“§0IJ€y¯Ö…¾îa„\tTr<õÕ›G ŸÀb—P𖽋ŽÖä p™¦íR|Þ!^¦*ªÔJ Q¯e÷Xåµpv䆢֛8®kˆŠ‘Ü1õ1*Näðyä#ÁÕ-`ìÕ0xÓtÃJS§WØã'Fïk} CgA½`É.Ž?4—¹%¦«›ßÒY²°l?ÛôtêïAÀf&=k¨&!€@À*ºû®ŒëFö&VY“N"–E>{®j4xiÈ{óèÉ'Ãk«EDÔ~ûÝçÖ<ðÛBä&ÓëÂ:ÑVs’eüuGÔs1U/·3òìúy–!Ú;Q«qKOO"žxe—h-’Úì,g9KÎÕÙ½óûî òElÜDï¤RÙ:7´ñ‰°:í5¸—‡fñ´ßzó@”†>CÂC2>²cÝ(˜ÊD[mPĹ¤Ç ÜDyV~ô>ôrè¼ònÀöŒÛ~Tî–îòÊbŠ#JîbïÑ–ôAãn÷Gál2®<îKj»±¦º-Jݹ<ÏçlÖn è¤`f6j?ôô‘ß6[BÛ8©àe&¢:p~§j2ºZXÑH$ì©[1ÐÈëùº˜¬hy9H¬È»Žž[sÈa&ÌYò|õ9¾Tæé|çp´Ê£`ÌãíR£÷ÔsÝR›Ü¢µÒÜ^ ^ŸŽÜ(˜A¿ Ç]Ž×÷á ?€£ ¿eÀ™š‰bW>%9vÑ¥/s_ú~®Á¢4/×B$™bTƒÄU¢rKPg èfÆBU•‘£´~úkAÿɪ0Ù´>å¦-Åfˆ¹/zïÔWp7ñ ö€š9 (·>3¢ìLÃQ½t„sÊ ’;ujßy!jÖ›·¹~,w#åCÕbÔg‡M´{ÏPþô:ÜRÂQb-ÝÊ?^€†ndIÐç­82©¹ò{eJÁôCèóo.©¤ŠŸ—ksMŽ~j¦ŒŽD…•©âö ÞbhdžIÈþÖÚóž€jÖøÆ³LÈÝÞñ{ùhòãnEI]²Ã³3ÐlS¢ÂòûÄ@Nb“Ãn—“Þ¦Ô¸-ÏQâ°D[Òf T ‘ûÍß·¸tª|ùÕ˵|Me,XzD^>ð;Ÿî*Få8+XÇ˃„xè´÷=û„œXsïýl7¦„wr­i24bÊÆÜUšU‘ˆŸþ7Kű´" hΞ’oBî tî‚,´P+npŒ‹IàÓ[Æ.¢Ÿhëà×ÌêÕ«(ªÂlqwµ——¾˜½¹ÓÓpúÉóç •î'<ñÉͲð( ³´µ¾E,¸M4 †±žC/,{SÅ~üí8¶0sûs÷u¨ÀHx?‘hÎ6oaØÔ;| xÙ-Ñ9ËŽëf¾W´š|x‘¾/°¾­q8»•H‘Ÿà ï. ”V‹¼WžVsóDÈY¸ì‚° ØÀU¯D øý3ÆÊ¼sîãùgª+î#êªäO<Ãø˜(YQ¶4z'i}ܺ¼ñ¶ˆ]Ä.þì%>Ægó~®bEv`a/h<;^6&¬[CM±±­((T鎮®ùŠæ À–ˆ…N†ûý^“’iãLaØf~-ðH×î´»-f¡>,T1ã;0«† ²/ò˾øq0~ñž°³]PІêÖzÝß×Å=i…C¨¦èÝëþ²”£€íb›‰uâØßÞˆÄÚ4çí3kÀ¨)“¨†Ç~­ °qFDªLä.òfeîûô,|+÷ÓÐPì¢Í9êå}^ìG`(¿:ín÷µˆW߬#RpÌí;˜^ý6[EèHjFŠË)(Žy@)ž   <¸üô Õ\‰öÈq¤ÂÜ5±¡¾‚¤/b+ÅÅÍ2e‡¾®£,·=ZxÒ†,œOÖ]VØüŽQjòMS¾è &èL¹¡³ŠªìçV­ž¡ù új7ä(Íh›|Ê\ŠÎÚ\šS·0ôgšíÆ/Öcðãüa½Eh èÅ®±ÚìÐ Ù§¦Ø¡ýRmìfýà8°´7Æó˜ÁP’*¢Ga¹µŽt,³ÒIûGÆ-¾Ò³·WÄ«¼ÛW%ȶtÚ«r|ªà¹âá΂оd „d{êWÄûæéHvFäÿŸìœÖ$)½×ú‰¿Ý`9Bß„(q7¿îF@¤ý€Ëé+›‡btÆÓ½²irÙ_|Iò\Ë 3ª¾¿Ÿ8ÒYD!õàA@Eé´#‹¬CïÝ¥aYg˲Âæ:WÅàôcT£ƒŠáÝ'±„ª<;לRýBªsP‡ù¶þ>1÷ñVK>¥–Û#ù‚k%Ò$®kî°KÊKÊúõøÔx>îÐ0õÛÔ¡þ%q8r4†òdlNœ'm¸IKÿîêî€.Q`_cãXåCW‘<—)ÙLó|uÉCëüš/ÊÆåGƒue»Ú¨Vâ vTšÜRÝWaP#5ÒV›±ux;¯â3XÆyÌùÃÒÅ•1^üÿ?Ž2J§”¼ß ñ°˜ p±q%<ã:ììÉÙ5íÚmük°Zs6•Äòã¥ÂÎ)`t/ñF+OUñàŠ2õ3/Š4:}Ø {ð²Jñ¸IÚŒŽmÏ(A>Ç8xpå2ˆ/Æ Ø•ÔM\HþFJx®ÔR?Mónx…ݺÙgKÉr¼Ó ûgêÖ®i°ìè5"œÅ¯,QœvsbF—òaT;ñA\µ‚!ø›¿}°;+Xh,ØäskÏgÔäøë¿@?33¼´¨EًܾÁ­¨}"'ŠÇIjo}žÕ·W>< 2¼µIÈîybDtøàÁáÄq»žFÞÂ3™—Éo¬!¿|ò²på8sªáÖDœ@¿Ú׉¦MM[:…Ρ6V÷…uKs¨,1‹·em‚±”DL…ÛlT¾!Æ‚R[Cyföšü&ÈLðëȽ%¹tFá´Á=vÊOû¤ÐBœ1¿i;v2,»õÁdeÕçwͶ¥S²ë-›J\2Æ Jëøù’UºKàˆt–Ø"oä(Å'~«){9“ Àx“X¶'’ãæø]Š‚ –Á(ôÆ€ÅGTÞ8/'F [³f°¥\!'¬ßì´¹!\*Dfbó6czx$sÇP´Q¿SlÃb·êsµ‰ÐKýp¸ÚÃÒ÷ë?v~ ‰úȵ×zÉÏ©[q½mªÐ¿¾óöjtŸÑì½%[4O ÷èØ“PºôÙ.ºƒóGóXÍ• Ó£GϘëažÏ ÒµÂò·há™L©8ûªö³N³󸎳0W'Л‰Šž¯­ÞµeH›&nó|Ò5IH^l×j»~/žþ²è$p#ИìáÚ|=³åÃÿç‚ÀAý¢ƒ«Ðï ñT†%ïŽ%äÄ÷«6rl Æ<³Îø ®< ÷”¦Ñ.lÌPK×äZ¢˜+þ„ŒnäÙhßê? -dÎÀà}SzÍze±ÿ®JÒÂö- §g_­ImO]òçÛ ÞýŸm¹q¼b†æÑVeW¯}Œ1éÿ”¤W…êì“‚fe¦-áÜݭѪ¡À¾Y¦ˆ Ó$ýE±_ Q¢[¬ \Î͹ֵZH]WC™ú V±@Ytk[|(÷Jx¬ÖO[wqÐQdyòz…S.Ën2 n)T9Ï9È3æÌPYeõ'%WF°Õßl7È£ Kçâ Ž½•$EÇ¡:§Cf: = >sMho&´¾vz{ùž'2”LÐìtDë5¦«"ŒÖ ƒUºÙQ´Ùºø²Ô…ß)4f Æ•šÜ>!:?u$èÉÈ‚¦Õ{™ˆ3j+Q›ÅªpúÁ¤—V³¶(hG’Vúg”WÉWÊ–”v èJ"\‹è‰ ½°F¯G AË_¤ËÕ¢ ­$׊'Àˆ?Í÷i/˜XûŸEiª‰xÕ¯yùå…ìï•07­„CÆvr¤¾w—M%QöâŽ,[俸aiùË–:Ýbû«ë"Òp¼àeóV~-‚7ãCMd §Öð‚«ÒÇï¸ UÔ¸E˜„rÇ`"€,í—Ép'o!ËÖk.Â*µg¶â9±¥ÆR9Ok*À•Ó"B @fæÜjj µ´2~`‘¢ÃýÕ?Eìùu.ŒËGƒ.X—Ÿ–Ç‘– ·¦É ò{m˜Ú‹Ûp%]/]âÁ òu¨E…"b"AÕ9ïsõÑXYT>W/[·˜Ã#¦ÌèÿÝnêo€ÿýyU#ÌÇÊ!@œÈÒëRÞ3 “ˆâ£ /ÈNX8ÿ¨à‰$½q]¥‹“F7Ufâ1´7±ç¥¨¯ã<ÚÍÛÝ`›§fž(„Ý8{Yœ!îâP¥h¸ðXqKr‰SœÈò|`¸©Äœîœ+ZËNcóQoSØãÑ€ÜMqªY.†‘.ƒë[dŸö•ˆ—`ÌÓÜ®ÒzJþGö=Û¦T.•@¶d%B>ÔìÉ~Öh=åÀÕÆï4v‰º±éͽD]…‰Y[´Ý’©r”^Ísl¼#M^~;ïÍÆ:%BÛJˆGtÊt—²³·‚·…âߣ§yb5Çyæ_ñ»Ô(¾çX®²€Ð÷ÒÝЫÂñwg‰Õ|mƒ<`r#›è€t^:uþ½«%zÛ)Ñ™k¾Àÿ4U¨œs[ X[„ù¥Ðg~ç‚Ípü¢iMHÂýÃ+œœrß”~ËÒÑ?~ T¾ŠåÖTbv´Éæ·û+ß Ú|wÅpvì!!™ù¶è,Ï_hwEl™oÂã}ÕÌv½ ’9ÖX(çšÌ2`ìø° ?ÎZ^CR²Çÿɳ£`r†@²[ó–†`ìÇŽ>³p½jc^—Ê¡ì4‹„ï—ÅØkÕiÔÚ‘bµžãIMŒÖ”9vz._%¹Õ6YRóIñÐ[!Ëáæµ Ù ÙŒð±ÑýndↂuÓá Žò£Gï(.¯ ZX,‘VI>µøÍ2ÈÈÅß+™Àcnê"·ÑNß”´xE94Ä“1Ò…ýšl]¶”v| F“*áÖ›"ËR»\(.;,%Ï=ŠBbo0©PžŒ—/Iý½¯X.õ§2€µ„Š’Lþü³>!‰“˜nŒþ5¥xþØ^GìCËk«Æ,e–÷«ŽëÀtÿ!‚c &ÜÁ¦< g(/7H4] Šòt1¨ü™rÎhŒäEƒð2'ð‡ñBË ü ®4b©p3{“ÕžÆ<,¢ö_AÒ€EóË÷Z€mŠ^Ó“áǸ†H|SF²’Â@íS)­6[=Dl2©¦TUí(ˆú•Ë0Ûä0¾Ìöƒb㯟BÖ†ð¦N2»qãµÍÀá\Ol3d²ç@†ç·Òʽ¡sé6ø®‚)B6äóÌ‹»mM!¸®oÒ(&¡:åšá‰Ð^ÊTàßèÒÕá1_—3Ï ãeM¤í4˜že@Ë3ž7-›¿9¦ øv¨±HT˵r,õà…¾Ëkf´qÙJ¼þ¹|q¬ QåŸ$^üu+´­¬¤âÔ®\–?82—~)–þ`€ÅL‘¼Ü}ÏuzÚó¶±)—øHãÛ°¤st¯8ǔޚÁ¿×ŠŽfÓç¹á™²¢2GtM3)´\{-Qß`Xi*9OÃí¤{o¨gëö@5ã³Ö¯ Œƒ ´™á&E}fwýÒºµùæÓœ¤ñ¬=I'î»*×EcÒn{»gS`þ\­ìR {”l ì(&+Q}ÂH¶fSbR›OCΠĽ=]ŠÅ«MCíÀLÿ UK¢B{]¨o‹[¼BìÕ—¥¯hª .(˜ZµŠ•2sü±˜¸’¨=ò%?Dgi8šP” I¢@ˆ­He(¢¢OYìp%̼z);óf—E’±¾RùËÚ$ž%l5…°ƒ(Õã¦l_¦ç+YBXw?¡2Fqœûý2a Ñuyª‡Ïkë%qJÆë‹KYÙ•d¹ H5ËxRøïïrî¾"nÆÙ·Î>OIeô¸éGékl‘š6}ºxˆ^7IÝtDw{œpÅ‡Ë =—Ræö'ÞQ÷ôÚ¾ÿÃQ)–µŽ]D2ÆÂ-¯à·¸„FÇÕ9½À wí 2ée|âalL&‘¼ƒvÕôTrXé3‘‹zET#ÖÆ’Úï^%hºpˆñ´ ¿•Ùö“Ú„¥ÿîºoV [&ÀüF¼öíîÓáð™úµß½ˆw,áÙh‡²^§ñT¨ž qà¿x–I†þ¯N¶ 6•ûíÐJð¨6²ñ´ Jöý›F¤Ñ±Çz¾EË+¸û‰ÀLAçk¼ 쇊ß)Œ‰ÜÉ‘ùÑÛ:%boFýÕ¤Lõ/øŽVŽ”œá MŒûÐ4 zJµ÷Y]sž½ ÙyŠ1„Óôß#uw èÙšÁ¸RàTºmÄ÷LãôW¤ÝZ6àÙÓæVÒ‚ûîI -|ëØø±ypõӑ¿ÿŠ}tË3šã•r…>PÓ@ã ÏS³g@gœ ;qåEÈk”ÒõæE èƒUá5E²ÕÐ]ãïXp f)ô+Và5ÈÅ´=þã··Nf‚Àã$8tÏwºÚó=Ó.˜Šžºu©x:ô$÷~$úÔGZˆîíÙù)+Æ»b°d\˜eº oÊÏÁ»ä¥‘á54¯ô9¢7:'÷©˜¿tàl!K~ûd‰Û`ÑÇõ_ªé°‹ÑkV§;Oæ6âI£i=‡Hm¥.Å´’¦r³ÉX³Ÿ4bº1…,#ÓÅ@€i©µ­êYøf¤îÝwvH$õQ繑Z«ŸÍd逭ÅוŦjydfml7dÔœ«¿hkÛ¼µllC¡yÀ:ì£Ø[ŒÕtÖÙ|=ù„-!ä&ö! н*ù†B8¨Dk8âoöm ¸û|Ð.v0¾x*À²|U-N¦Â0ÏâºEs~Ç $ˆ´N|¬2ìßiŽÑ0( Ft!mZ8ÚÝwX´0W¬À[q±P í«§"qõ—œ£^>sÛtΪÒv·ü†•‡#(óñüAû^ÌàV÷¤ÿú›*‰š_wŠ5OOfº=Œx‹.B»‹Ù£¼ð²¨'«#Ó±ºê_£íßÑVºýŠô÷~X"âì}ÃùêÉm,Yó@kÆkúª®'x—‚˜AA úûÕo¼Õ3>¿ÑßfòF•€|+gš£ž¬;…,9N- RJ£¤3Ëi(S§øýuÄ×î’òüÂ^áµùr·ës¤•>9Õ¤FÏ© éÅS³‰IjØy’Ù 7(£ç©[¨¹á2ËÝ+Cǃꀤ³r,õÍéÈD-çkÕ&îNf:/9H ÞˆÚ/üd 79RÿúÎ. z|šaW¸`-a|q†b›…Ÿ[tåB™eÀ¦C,øp–dà‚ŽÎŒ+(º]¯ºÅilÈJµí×6B²[KÚÕ‹¼| %uÔOÊut.ïOÎC"޵_‹ª/{t¼Ö‡©£¥ x$’&»ß|‰_[šuÈ#¦Uš"9Fñnóo¹ &<íÛIþÀÐyÃO/º›9ÜÙ6Ük$:x˜~ß^~­®‡™cô.°¢ßô㌛4@ì¼*z´Á†æmïV]“ÝAwÌI»ûPi‚ÈQa=tªë`õc‘Ju¯ïÂn´%“´á> Ù¢ž;ªÌ›Œ©‰»«+;—Tñ‚ x´øyܫ涴»—Ÿ*©;Ï|ÝYUhjµ„”]§é;zorsOä=ÝSXóEQ_ËMyéòwãîñ|DÝ5ã°ú.¤ºÈwÁ]GðZí¶éð¤Èš:Äb†ú|RO1¨ù1ƒ£l@ØÓñªƒÅ‡)îN¹N†°óŸÞqqº« Z1ò—Æáœ8.'TÄ‚ô»üùè)HØ-)O øÞ]L¨d]Š騳:Æ*ƒÂÜq€Í…Ò-'P’^J1YõÑÌï[à¯ãfbHöÝ)e0AÞüûöé­y 퇨öÜÒ†±ö—ŸP—Ÿ ~HìNôÿÿ©l~ ê4aü¡¯Cû?@©¸?MÊ#éÂåÖrêG08#OG}È.ƒ.”©o)±Ì¼"/ÁÒe ôZÆÔ3@…ÒgÐfÏ$(^CÒÞ$ÊÜZ/° šG lók¶¨§´št:²£»ß™°w™Ð !‚„­¯`~­f3h®¢”˜Œ»›/+L°ì ­L1ÉH þòÅ›+äÔ½èÏ+`Ý6—À¾„zÓq¢óá¯RØ¢ã\é°æäŒ•KJ2Jg>\ø¤ÏO¦ƒ/=í—?)dš5Ÿi™¬¡…“ ¡‚kxp?»_ùCü„«2ùÇÜ!~ªÌ\MnC»¡—ÿ_“ý›‹ðÈ‹u³ Wéß,ã욉°3æ!—Ö«/Ì;äÉ×/ ˆ²þ|žf‚a™’J6âÙÆüñà]§¯ÌF¢[_zI‹9W6*Æ>ƒà–_9§`® ùÌ"'?¢Em·M~¯‡•€ù¯Ü•Æ*T‘8.¤ÊYEOa–Š-Û:$Î>1H¾Û@¼xœŸ†¾ `Í:¡Lç;cMŽìàN]§õþ”1ÏÝÉlÝk{‰OlšFdU¢ÒXàrïó6GõcÃ&!w¿@‹1°‹?”7½Àã:águlõ‡¦üêýR`d=ÇÁÙÖM~”ÓÆ 2:åűÈ"FGÉ]9n]s'}ñÀ!"¶b¥-x-ÅdÀ„UÚÂó±Î, PçK Z»w%zL}·“Ø{à»û`éêv¬@úé(p‹jýÛö9á`1ëž‘¥…!Ñ6’ý’8NÝ N$>Oƒ|36N¬/‚ÍÇC­ JR>йý_ÓÂ>ËâRQî¾}'Z]Ó¯çŽwP뢻kóÓ¶­É¨,‚j‰ý…¬ƒ²|@ßäZzvPüY£ÃÜ!ý)ñºæˆÕñf~Ì£³²6DpÈö¥œ¦~7U:`MÒâíÖjÔLXp* DS'72êBŸŸ¬BTu÷á-Aï­Yééâl!^o ËDûU¼Ûßžr$ ã^à$² Y±œP<Ÿ€<\`†!¨ìÉGŠM=€»÷ñŒáö7Íl$c¹­µ æøK¨e;3V¦/¥gr,«8VÞ›k ©Ê¬pü*$®ˆ¢h ‹D"¯wÓ Ê"šp¤o-Àhi2@\–xÜ 0dµ½†1=A„9gÙ[ÒLTQðŒy·×y ´ ?» ÅêûBŠKUㆽß/¸óá(·œ+×å#›é4ÝVJ?4ZJa΢è0"ÑRÓN(v•‹àËêí2-‡þн FF…k˜ˆÏ¯H‡=E|¬YŸSž×¬‰í¾$m(!-CÊv æy{nèœ2£OnõR™ù$9û dD)‰ïʶ’T»Îõšœ'÷-ÅV(û«ÛÐøì%´Õv°ÿkŠ%­ðÔZ…æ‰G£ÿŠ~^Ý8,~gS¨ Âò%ªa—t4d) ÞC|ËcKúÆVb­Õ[7à̰8ƒâ A²Šh«h÷ö2Ї’ C³›üOÜ›†;΋àÕÐÄYB à6à,äñ[³  •AôAÊ‚l/ï±M ÊHÙÐly5HEé)xÚ·@§‹¡‘è0l7kóO&mÀŠ_fìéÏ,¿¯œâÌ›fmÇV·Ž(ÔËæ W¼fs‹6'ºë™Üúø?nok­bŸæŽdŽsE KÜoMöß`XD\Ë%ŒñXžü[M=n}E‰ß®œuÅ›9I —zèóhV̧&ju-7b¯ùQ–楟@ÌÚëKüçEeÄ,ý—γ*Í0îá_£ 4÷‰0³c*«mXõI†J-i)«–”ºohÃù’Òç—½'£Ðä¶Ê#”`d žHïåѱ50dqŠVâ$Õû9‰•7LôÄþÁN Ä]9sÖZ€BB¡ÕžŒb:+ ]³'…TE6£hy˜ÍÃËËt£)rFÖeµã¯èª´ Geôd+ý©®Uª8ÇÕ(—§yš²ÃÚ™òguÛ-â³Ýg½Ë+ê˜v×o#$Z£ý(Å!áá“‹Bå6ˆ ?q+—Á€ žípäË»YzÇþRªÚP™´ª;«¿ƒÑ â–N3Žy§¢A,©slj /u¾\*0h£ø<¡Ô ö÷( &$ñ?”øÔ+Ž:NHÓìdE£{P¨^Ôècq¹h(mìøÙš<"ìõX¦&b…B΋ã\ݽ1ÕÕÌñµÝÙËAÅ·n³”ÍBÉ”q+¹àY—–év5ˆŽÀhÔzñu¨hÆÄ3‹—ÑâùþÖ‡¸ŸRlåÙ³‚‘±sûÉ”æ7ù9gEÒ€ ²NaŸýI£cA0]É@‚èî“NTSb'†ãKMFê ¥œ«6+'‹Ô4„&}ìÎâE¬âI¿ÚŸ‹W[”ý6H@ÇŸø²GÂ0†I+÷Ú°û=Søª¸B\ÑŒ–œÒx?À¯ÿŽlãòY²VÆ©$þ {PÚá%Y$>Ô7º¹X§ËN´ÊrÍÓRQž’’¾‹¡¨“õ—ŒóöpÅÄ#–§Y±,‹¶3ÄÒgÔc˜`RéH Kzj|\½F Þ»Sï«ø`lèÇjIÖ'½ Ÿº©ýfb™ïþPÙIM3˘ÌPÞ*’lN÷Kv]öíÈ.¢ØÝ…U³D¢6 ÷UwNë錅eyµÞ5vžHRxP=AÙÆ4úp‡Û«‰v2™§¸Ðƒ¤ïÔmE]1ŽZæÞ¸z÷gèp´P•èéâ}cêèû¸Ë'Cžê÷s[a)f•©¢±;0u°…#qt»²VÙN=^¬øý’ mŽï"Ž˜ïrE¸“¢#KrˆoÌB_Úœ|ÃE¯¥1k¼Ìkôð%¦ZJè÷¢ ;)¹‹:ø­kä?¨Qʈ6R7SÆQVÿè¨`¨š™‡Úf÷÷m§{'†5[ÙŒÑQåüù¨þe€ zÛÐCŽ.„›iJÖOƒa‚ð‚&µÔ’·öä¼+ð“øªÚØÑ"ß|ÿ™ÖÆ E#‚­3½{öîɽO·ùÖ jêòeÅ :OÁ6\hÊ•GÕ»S¬“ËR_hµ1†™^È䑚ݮÊ×…©ó¦[¯<ŠU= p^ø sºøj©[£ã‹³=Ä;l©nÃî:}JHMhä· w…9OÈߌïrÇ×–b˜`ÃØ¦09"Yéµöˆ&û¯µëÑ€¹jÊ|óº˜yŠQ xV­‚ªÒ©0ªìNW]'ß³>»òÚÀdû(“…¯° ˜ºS‰ìDq†˜k¹&DˆÈ¨t·HÕ<Ìb nZ_]H*¢ÎG¦ã„öž¢âûdîeN¨ƒÜ­¾œœôd¶dr»#Y¨¡ÅÉcÄofñ#°7¦Ûõ/BU4›ä'&Œe I{pV«µÚ®:ÿþÜ÷¿úõÇÀ OœþŠ’ ÆËþuã‚YŸËîß±”åAÊÃ"j¥Ýúx1{Š7ôˆ[%2Jÿð&4EƒvaZê[´ ´QÁèã]𱲤à|5iápt‘ŸtùƒÌ¬·’š7H Ê(µI†`ú7 h rL›PU¤¦–:¶™³k©NÇóxÃßž, ‰žOù¶ºÉ%AMÇ–ÌsÝr¦ÇhØcèNì™ì@`ñx†œo­]Ôã1 ¯¼^j\•ξo0¹VlH&Ž}Õ6Í5ò<œÁÌP<>fáw“E®üªþe9Qó¶%š=gÚ‚PÃû ­+—Åœ’Œ%Úš>CT>±,g!žë…Å´© YÛ¼D«#ê/‘,%žêÇgõtÖ¤(fÙ+0‰lÕä pìËšcÊn Ñ·~Æçqjªp8Ëè–sß x\~üàbüÁ‡£º%ôEš®) ‚ù×GrŠlúMY0¦–ŒÜæÿŸÛÖ¢ó=ò¯;ÒÜšvpîB`²œEl¯vWÉÉçÌ”ÑJ5™)Cº3èíɹFâ1Io’5YžUæ´Ñr-EÆ¥HÐП/ßP™•IÔ±h6ÊDë)vm!NêPc´y·‚vph4ì R´(»òýе»/˜‡gŒ:VŽ­>~xØÿûjêêuÌA#·²ã`S›Äîûu›[Èeøž Ò¸¤®Ž [öjC‰“Æó@t÷Õ‘cºª ¼¨Ê·ƒ‘ê ØZa FQJ‚2Û3¯ÄkkDØŒ×X¹ùÚÑdØ2)}pÓ[<ÇÞ|4™.V~Úx¾ci{Ó2ƒ?Ó8]¿“f^”9^ŠlÝý©h“v«ÖüÚÂbAÀÕ3‘œéõOø–ߟèâŒ~G¼ ?Ó¬ùÿ'ÂyVÌ65Ï¿U!ݶ+:Q窅¡iÙ¶ò¢Á#Øo}a²†ü gqM&HB¼:G)3êa3á1Óc§~ÂàœÆ¤K|Ú¤ÜXœVëú³y-ùÿäÔM!ykuf3Ö<éÍ¢Ýä…(ª‘oÓ4<£wv› IëâÖ€ÁÂ-ð'S_µHÔýsD?ßËü7©®ÌIßT¿ê/hþ~Éû}R‚k¶{ÙMÎý°ün Œò33Z†>ÕÓŠá| ÓÏ-me©¹ƒÌFUôGÍþØb÷ÆLõŸjó¶ÈO VTR|‘dç:‰:´9Š xû°ŠV§&¬[žðÎ1@™î³nj¤£ Øžce¼æ~›E"ø§Ô“iæªbÅà}´R­dï®úJç4Ž,VʵL0pž^^9ÔuÿÁùì +sZâä-®Ì<<òvû‘Ä<¦Úëß!1šÚ~:Ø_;Âiï’À]D!ªa ¢‹€ªµ¶@ëûË:É]]¡¼iEÄ¿ì–íB°•åþÇ¡¤øu¬{±y·éÿM±âõíÖæ‚un–âXÃ3:H´ q h6¹½6ÃWÔËUÉZŽÕEXl}Zm|ãfŒÏç(wédâ„ÃÝY? ð4Þ ©EÙä£Z¿ØBºæò²nNŠ’ÇË–X´P­É!aVxVÆ]<àºØ¬0M>Ú´Wdˆöpk»ýû³c?ì×ð„ŠqmGrÄ„ÂoL ëvTfH÷PCIÕû·{qɯΠ‘žóü;.=>Aç8ˆ¦ŒÌ0¯Á_W»jyˆÅñ{ÚMyÁJ•ô5ëŠs˜’UzYz~‚œ¬qüÝ—=6ºÿöó‹\<îg¤ÝÞ›~K#ÑOR)YVÆìb?µ‰º!–µØãga–ÁS:ÜmGQ -ÛøÊÿ_NA¡Êd± v¬i¿a¨ô/j¤ïsN ´ðùÆße^©eJÁW£¬×7@c—†x=­Ç`›±3 ]ÀûÅÙÞ]ë Uô:ú+‡qÍ"Ü}¹GôX²¦gç.Á*ªïÂ.fÅ(m^uQ¢¯Osˉ¥íV êïíâ«Wϧ>%Šj‰-ú뛈Z ¿uóÚ«A ¦ÿõhsÌ+ÎÍL°…Y™ù(Þ)¥–o‰Œ+,jÿ1ì¾dN÷N÷®š4)FRð$N›õN›T(øqC/‹6ý~o 9œÔŠ7lÉÒ~  ]ØRH×W/¾¬ÄÔìwp/=¾ ÁT•Ðj^¹(Ͽ߫8+–Ú ¡zlýù Gô³cõ»MóÞi  ›0Ò1a¸®ãŸTµÈ̹’~Ì9‹lLì‰{‘uÄB2àþ0g„~ ¨d˜TßÃfvÑzÂëÕðÖËMDí‹mÆHÄ ^æÑU³Úi‘¼PŽÀ¢jåL炲ŽT¹M“ý¿cmSØ™bHìD•ÈiX[uè‡Ç¸,ybQ¢ë4Z–nIåâY» zìñ?gÐVÙ”5§:¡«y¸¼Œ[Îâa6(øÂK¸ÎúrÇÌ„ïã¤I7¸ðB€>‘ø7å6ÒMÀB t†ãeˆ ê¼­¡nf*t7¬‰ff»b„ócEÕƒäé™Ç©Å/”PÚ¸röU ¢v…µbò¦ÿÒ›L‘¶þñ$å°©yØÒaE‰Á½Ê—‚¬Dø”*‰.Ó#Þ4ÈK!˜h" c»W:¢k»¦/_t^¯™1t\ë°ö Á´GpQ›8z˜lôÏž)RV‘ EÑ^RŠB« Py Š´–i¯¹ß²ö½ulð=ü±×UH’•ž¾ ‹èuJ§B:w-2+ öÖbÂ)lÎÓs™›°êo¾IÎ8L"¾eûŠLªDz5`í"#M#ˆ\âðYGd»£†ÌÎ9YžÀ–âX申ïàSkæ r2CÙd,èŸ÷¾Ìÿ¾‡Öáu­i¸²/Â<ñ"'_böc}ž8gŸÌ Rì¶Ëš„­ :¢@^e…iê£ÄnXÎÈ ©L@²6%-xHŸ:í€!aS€C(.0ƒ)ÑÓw°ç¾j×®ÄN°‰Ší®²Ñg—/î‹=HGbkÊ3 ×]iÒà&Ò!Ñõ’á°ŽDw3®5éZq¹:†'//Šñ•iYP[b¥’ÂsGÚ¶½C(Jp e©å‰Ï­U-:‡hþ. âû$Ýßþ ÉÕü«oÐ?–Wövéã”E'´XüÙ6BþW lžv-îúòm¢f’6 ¼iúÙ¢ '®îñ¾g˜<†Ó^.ß  cß¶†슈ýpºÛÂpÛJëÄDŒçNÙoLʱ¦ø³j¦ {+ÆéÝŽ4Lùñ ®ÖÞ÷!,iTâ¶äW1Î q˽TèD4à ݦ–J¼“Ažµ½°ìŽ€iíàIÒç°+º€¯i4õÖõÑ¥?Âݼ;AÙ2‰Ž"p"¤{[¦8ú0]ê"½!çËL@ª?Älè]çÆÕ4gËé[š¤:ÀJÎåz+¤dfgÝï àÆQ%¬µó¢=ò&ÓW›å0MÍ/ü_O²—q=6žuP`·ißîH~ YÑ/Æ>ôpV¾º Ùä«­h ËG}&VÒÓ”šÒø@<(ĸÈtù¦T«YýÏ›‚§qž>dߊ£#U 2Pf½cô©ÔõÕ3?âmÉÆ/rw¾Ê:ââÞ1áa* D=dHQ£ð…vyìXœ¶ý½äÈ÷~˜6PCÕgQø2ûÍÛàT8Aá8ÜRNÙu +–ÑnFÿ5œþžó…é“/ŽEâV&©Uø‘ÂÍK¢]«‚ |Ç©€'rB¬µ% ,n„:X†©ì;‰ÆMfþüÝË~ÞŠ»ôiR…¿ó¯ß0L’u_«jÒÑmò#e?Ä®—­æpLnIéeBÿsÔ¬i¿g²¼?_ñÀE MRKwÊ›ž<æRhÁ¹¸hPMðZêîfž5A@ÈnŠ\X4mö‚Za7À]zÂfˆtmO¾ ;³ÜƒHøZ//ð/œ§9´:Έ=€Ÿ+Ö óuÍáó£Fú|~3­ê #á²G6ú.v¨âG9ì¦4~Óû¾8°p›î¬/>»8ÄÈpÆ!”•ŸÑÞq ¶úKæŽ^ÿ?X ÊÝ?WR®™ñܨ3ì|ç€` 'ýÀ#°Çæ5ÃÈüØò1‚ÝWG+âqó–„ø#iÆû´g7¿œäDyÕ¸CJϤ¡wˆ±‡´býlMš.—k¢>¤Ÿ˜»*v2y þ”@Š÷ú×餔^‚XI"éœÊ ÙÖ·PÁ·ïÚ®§?ëù¢Ô«ð¢¹aQ¶⇿!¬™W÷V‚ù+=µ< PP|DhŠ·5YG˜«‚ÿjbÝümš ôzâÝ^ÂÅ: êÁtZ”…wúÉkºàý•Õsµ1p4P{µW"Ö]Ýâ ´§´ŠÅCÈKrÏÈÃí瘣XÅyŒe±\’xB§ÿÚðŒùû30;¥B€â»m“_jŸ3Ý6nØ]ŠoBr›Þ××!cÓ—Ïv*¥3ARb?­ÿO¿ý„ÝÅ5NÔl Q ¨Z¦ 8³nÂvv¢Un¡‡HB¢[Ö*ÀËj`™!VÔµVÞBb†}w°×@—´C3«È;Ž"Ñ_f÷¼ûœwÝ:Îëˆ?Ž(ÁÔ¹7UIv†@¬Åtce‡M½¹š©Õ§X0E²/,ý\õºüh^$­XçSÜÙéF%~´Ù¯|&ÿƒcÜpBê-€Ý§á•!Gx°Ìø#+"s„ñri’¿…^(ù% JÝlX¥^;Å´0ÔY‡ÓŒDþškŽJ–—AŸñP‰qU×ê½&fª1mGß­6/©«6 ¬R =ÐüãˆôÎW¬a˜ÐäiùÕ½Öyr´=;ð“Q½§MÏáQ[e0뎣T ïKPé®9ÄäÝ¿£Y÷WÈeMbæ­”ý蘣 ±wE½P1ÁƒeÒy µ9>Uè™4ŒÃ€Æ%¡m‚nH4¤í9&ŠŸ2¢Còžÿj²¶.b`Ea\>-ËC÷_"ï#rŽŒƒ #(¿Ò)Ù]®Ï!b›ëQ]:&·'×F:ÜwbK^ñÈtݽüÆ:´ä‘áŽN\ØAaŸ¬wkˆÌ†: ,ŠR<(ŸÚ~”Á˜Ç[5¥ðØ] „½<‚ïÿšZ®¬:´P8>&þ@oùÚ>Tµè$C,©Ù2=lþý²›q;›Ìnû¨Ãt•%«ÓB_¤ð/ƬÚí¿Îï°/P^X‹_(µI“Ü÷ÛÈ 6o .+«Z6žd¨kþ.0È3"l¸Ú^ ~}L.œÒÀËm}æ[ÍØ_'.Z#\ƒ®DDMV ì—rz9¾¥ëcLùþ üPù…^ØWê¡‹Çl}y·<`ûgzŽþ‘LJַwŒnuTà¡çcÌ1êÉãŸÅË•UÄIADKCƒ|sóí([Þ¡¼À]²àd¼ú×ÉÏÏ€¥È?ö Spq)½$¡ß´[ ó²JÕ”²š»\§ÿÉe#­ 2|ξ²æ2ÁÉ©È!yÚÕS…v;¯{bWúùîÖn‰H] ÎI)~À¹ôÈñ÷{á‘& º% t%óT•Œ©ÔŒ˜%Ú<8Ô–Ö¸®=_&ÝÍžMÜÇÝÃQÛ·üî%ú-¢2L…'O<Ð×9Ô7…°?»­­íËè㸶~Š5¾u½cwy×z—̱ô»/Y¹-Þ&3û"õAkøÙtçzié¡#büùdÓ¤Ó‰™¥7æãhtI¡©r1†Xœ5+ èO);ZA%”ÍòÙâ<°dcœÌ² ° ‡¿2e<µ_¡þRtºK= wã  é·bZ¦óá:<½J‚Kmk²+ajþòÚÞ˜R¸» æ>VÑ”—àD“嵆=" ÃÁÈìd¥<4‹U6…K$¢Áù¯åY¡Ö¨®õƒÅõ?V®pI‘Þåÿ %©1㛹¦ï ÃL6rªÎ›S¯ýAÐÂÂWïÉOÂl ür)5F³¡v¶õ>oÀÏÞ/X§‚Ý &¹f÷kÀÒq÷w½%¬®vü£ðxÿ÷#¼eJ‹ Œ~IHC´±“„ËâvÝ/!¤S!圩=h©€Z‹”¾$¢ˆJí ¢IT_o²~eì`î í)}ø@ƒØDø$gÄÔÕ@ƒ¿Öýɳ!…åÓŒ²=älHÂhÌüÚy›ä`Ò–e¶XG…gÔ;ÝZÏHç7ûòÌ#AZY„/ZpSZMêÒÇß J‹âèLПÐùÌ/œ|WllÒ¡÷óŽ ÆÃh\3ò¤,±tùãc¨¦ék µù›m˲ô™Ôõ9—4ò}„KežÌ‚L 7ΡpÚ5JO/š©Hä”ÜYcÿÁpUÕˆRjÝñÚjÎ@”výàÙo9°%@‘ÿpiàñ’<Þ-Ža¥ñ"P{‰IôyòŠÅÜwñ^=\qùUäøõ¦£CŽ(lêL˜'Õ̾®Ã¹ >øCõ¼Ø5nô¦ˆï›®8Xã‘3a-À¨Ée>îÓ ›Ÿ›‡~ƒI!SìßêÙiÊ”?à½9ÌOyy¤éÀHÔW˜D[D‡,9  bf^íµÓK-¼• þ Ro:öohýŸpÓoŸ0‹Þ™[lÎ1¶µÿü9”pñ†ïžúDsBx÷*¯nEWx‰Ô'ƒ‘Â4ÕÙ¡á@ؘ¬òÀ’#ÐsÇI¡O®à¹Z&tÕÑ‹@ðD³µ0ß{#×›Œ3á¶¢›'¢›sWÃüÌ€MeÝ|5šxUMœK3²D¨V™ ü檡ƒÎ÷S_ÓBVCPÿ"#*gT­ÌÒ/±Øµ'9B>6 Vïsô*ùƒÏ®ÎJ¡Ïôáó›,²¤Q œLrŠ´ñì#3_0ÈJûé‰.cq£;ÿøù«)Ã,Lˆ>Êu£5vQô‚t²¨úí_G ‡¢ª\Â:P÷-Õ;äÄ£g8zFµm/D•)ŽgÝÍH‘Î.PÙæÏv̈6l0¯Œ>6Es³þ Y$°=¦£–¢Ì¸›¡ ¯› ÓÒE5[Ê=è5E}3¼»·×£˜¦‹}¸*î 0µKe ùl¬Øb80r´Ü5>åw? ¼©Ô—ÌÂÄ1îÈÓ6³`„g¢$¢M¡lcå.+¢{rSéR“ÏpQSå4è Õ‰ÞP•'ø’ÓPc”}‚$Gæ À–r}àé€ËW8íÓêWR¶‡Š78௑¶µa–XIÎCа˜[Í…È“›Œ»[®Élxž8ñ*$UõªIõM˜{u†ÑH bÉÅäEÇÒŠ¡?ñ©ÂodY?p8•á¼Óªæ¹ƒHs:£‹õlÕ¤ZŠðîîÃzX‹ilE¨ÇZ%ÏÔXƒáîD8æÿ*wÏ«¡ŸCœD£!C¶"jô@œf€í±÷r)ÂÜÒr9;õçw7ë™Ú7­œÄ©bTÛ‘ånnRÉï)ºÆ¤`qî+gš•‚ê øÁJC•£Ëq[eÇC;‰÷¤düë¼}È(5ÂiiØúWœ ¬$žM¥o¯ŠâÏMÝÕˆkyAÌÉ’“-„ŒhWÀKÆçòD…ÍwzúbEþ¶á‹æVÉ._}ë_à/B_˜§•Za.>ovJÑl51¹`[êDE°æ/Ž¡L`Bäÿ‚¿ñN%[T|V¤œxM g´eôñ¼Ðý]8vkM®9\è!W¯¶6Nîé‰/KnøÄ$$J‘WœHi£Ã_óq ÕŒÒê 5EIofMÈR"`Y¯éº¶77ºCRU]n±M8ò´êìkÊõ³$ rÕº‰&¤vÛŽµU’ºõ+FK2¦Aº­æ÷5«,a`QE {6îåà9Öà×Û{fZÍ úo÷{ÿ´Ö‚‹ —Ì0/ËàòhL‚ù«QÒ,¤1èâ›ï†–"âˆß“ñÂø½ï‰‚ßá¨É ´·wH*z‚á¨ç-¦{²€É1g3Ú%6«yb­óó¥³AôäþmÙ…{¢ ó¦öJü1«d4&jÖ]Îøs³ÏØ\¿Db΃2Ór¡h5E —7uVnî~øŠF>¯bbGˈL;dôà[ë'Ϊþ€­ÿ³hWÊ> Êûâý´l'ûâyaù4ؤ)æ´+R}ÇÛЗRëçöeù‚"¢% x¹Uö•y¸T Iç;ìI`ÆnÉä×uwa¯±t­ÏÔëbßï'ˆ+FhÙ$Ì÷܄݌!p~:¶žâæh€!IÓ"Ö§­ðès¿ÇZeë ÀŸÅ 0|Êðþ];ý‰þ0þg-ѲF0cÄ…”»«Š,†é]1°¯'¢í–êítðØ»w¬é(/(·‹g„©#œD?ѯ$Ý´‡f|=ÓiPqB¯è÷ùˆ˜¸Êj?ÆÓ„PY§‰(нËQ÷”iP«|ïm*Xˆe(ÂÓ†š€É] |§Lÿ&’͆iª7Öiœ“Øî,{\­ìÌOTEXÂä± ädÔUðL2ÀsR(ŒÄ‚¦ 6ö1J,øæmG/ò®þ/ŒÆ¸@¼R·Œ?BžðÐo@ä¤ÜO#m‚rÅkæø]0$ìü¨ûïí.Â@£æ]¬CqA¸\€¢‘GøèDúÄÐ4«CÎÇ/ ·q¥ðŸú¶§êv÷z‹ÇeÜÃðÒÆ|Îý7aŠÙÏcˆëYw²c¦E[×z3køenèùü šÄ¡ù …_Á&fßE9³ð™ü.å"LfË ¾ßü·`_9›^Ö»y•Ù ê~.'aÇÝ¢¤YPyì%šÄJÛsÛ]°’ ;0ÚRwÌ6S,“›š}O†}¡_A"aKºDCDÁ!b»HAܵ©O¬ßвä“8ÔÂ`ä¢×yݘ3¼À7âñ³óÀ!æ8©!À'u:Æód.tKú´àÏÏÞi}Yïk¾Kèré¼i¤µMŸµ²t-™{|F¥¦­b=þ§z¥ŠŠé’e)f—™ÞE‹pEèÌ+ûBë’Âöî ˆ£9ìAh×!FaáAepÒe–lNr0"ãõ 0³ :´¹9­d§°‘ „ŽÚ»ød«Lh®~÷‰‡àoö—¼˜¶YyR³QS~·™$ÁÑ:ŽÔ¼¹M£ ˜K³¡1ÔæÊhM50ÂÅ_Pž:ÿ|m÷Ïÿ8¤‰«‘ÆîoéÀ±RQ"ر¥¸)~ìòí-îgÞ‰Ö3ÕNUgÂêfÞFa©Î|w—œq!ЬúàÛ‚P#ˆ‹=\åýï.dó²#oQpž æ€!Ï$º ¶zØߣ‰­E-@’*:òiï€S˜ô—¼µ…ÊsQ-Wݦ6f„ý¬ƒOd ¾ ¯Ùj¯u®_ÈÛ~‰š¥–0ì8Ýà°7½[ib&›Š ¥¥F¸Ú¥´ŽBWëP|ÆÑAG Ž;l8 ÓÑ$r|¶(ÄMfêA{EëÑ’}ÕæÔÎÁnÒ‘ÜÓÕhád¿Ö"Ÿì²§›{Zl´â­ðBiUíbS=V>NÀ³Í¢Í›iŸÍÀ5ªœ{ÝÏ Ý£ÂȱmRo8ÏÝbô7åL;Ÿ“y$oÈýµjT»ñ‡ýg mfD”téÒÛl’4ø%bØ,†–Ç ðä¹]¿AVê¬#Äwí¡Þ–– #u¯öft¨8Š…Ã€¤”ë2Õ 8­ûÿÌà¡’ #nDldŸÔ¿Úc“"Ϩ¿/ ¬SðÑM*¸]$i/ØEˆ"a¾)ølÑþ,*ƒ»¿‰ucSÝæº§iÍò”UùìfÏ„y¢DìN-{èxsHyÍÅRm…ùìþ”µù ¨ ^$å¥^¡DûcãÙ䄺Ko’««’yçD”3zUÕšB~m‹ª©Æ?›•I@‰üy3q>c‚´TÖÞ„az!~KÁ‘fܱî™\ôÐÏ:⹚XaÝÎÃüÿ‰?zîFÚÃôvi—M·ºô®[Ãà.äÌ’E D[Q/ì¶ÑÀì —2ˆ“c^©Mñ)Jý!ÌNRLZJ”°jѱ< Uß+¶!š¶µ3ÓÒ7aãdļŠ;Á2= ƒ˜”N^©) ˜pœ»Ž¢ºfÕÄq÷»·zªqàÁÕ>*‹0£º äîy¨½SûÁ.oðÚ›=-Qö{Ü0îDQòÒó| ´}Û*슄µm&oR–nÑþîP¨úÄÉ/¾‘Ò¨*Ãp·1dÆÉL§ïŠ×9…²IwÏ›þŃMûàlx™DwË©#+N¥Œäá†*¦½ŒöסzŽ4IP ™ öùÝytÉÊž±¤ñóªW‰!M‰›ŸÅ®sÄð;4ô]û%ÍèèÐ+»§YýšÀØþ6 ¢mþuZ›€¾d(BK¦¯ªÓÁ6~-¨÷Äó]†êMòq´Ñ^»þÕ­4ëv¬^¯ÙwÙSM¸qƒâ_F5P©Æüá¿zCÝE‘=ë(¿HÆkuâ½ê°F7!*Ð Á n(ƒGƒ7‰R{[Œ¶uןHBUPØHÙnï§ …Iït‰}FÿœÓ³\ø+õQ/ ˆvb-Z!IpeË.$SÆbNÈnR<öÁÞ±™8ž}r¦SMÉýnÈ£YèuКçYXôÔ2˜{¨ìç4ùæKŒUuO78ñ~6¹Øhºž„ê¿i.jovK·UóX^ÑÇï‰Á,œÙ+!ëã_Åûʺñwdþ/™›N…Ï‘á סœGñDâæôø;[‚ðiGë0Ïǯ¼ìßÖØpHaf¦ð»e'¹âËS^š$“Gãñn.rùK>„+Ê %ÚlÜÝ·¡¸jgÿÆŒŒ¡[ÿ\­QSÂzAëw@­¨ÕiZ4„æeñ©ŒMeˆðq¯C`Ô5|ûœ˜©bÒ[K— épº‚Áž?y/ %K«²‹PéB—´W^¸¶‘juGi5ë/<Ð(&B9.î[òp2 )D—1“ŸF!çÙâ b‹r ni¹½¥’:“œ•ÜIñVX5+¹c"ìûÚ"PÕòÒvöž¡8ú.ÇÑ·Yï{Ôêªd?»ÖgDºJʦr‚05  »T-Õ _dÞ¾å#k.´ªY9"AlP×L©§¨ L˜°²öiåT×é¤qs”YU×´%ÏîÍEŸ•-(rm"Ò!ÖÞÜ[0â–è&2?ŒCÎatuJɃh6;Xÿ®ÆÓèbÏZv§ tÈVBU_-¦àцsTBC¬!&|S4Êã S®ú¬èQÏ6ã/6×$³"÷>®ë–Œ ?YÀzÒ5«\t¥S­a³Ï‹‡äÀÀÒ@®"$@‡-‡»¾ÞFÉü|R†C»w‘5$nxHOX‘á@=LZßr0ª½ƒ:„e¤5ÙϼÌAÃ¥½¤b;§@R¡@å½o¬p¥ñHtYû0Êß'ϯJÞ¨­!Ò ¡öþVDÆø>rÒ&[©@iæÁ¼I!­g½\5`õv`I¸ú¨Õ©× Ÿqf ù—KwvüDïå´p©Â.·Ìæ›·¼‘äC~…’ørw·­ø›$àï©ú¨6ÉÎw¾ ³”Æk‰8*ئ·áC9åÿäºRÀöXdaÙBä8½ZÒ$WZû¦Ëá|P¯ÅTT0cŽÒŒÓ4ÈG`ËjvcrŠãû·„¶4¡üô}>ÂæˆÞ0àÇsãÚ­šMRr¿ß•³…øPW¾iΰ'$‚ûA2±|4)6¿Bázf‹åä`©ÍÀÛ0÷pIùÿ4j¢–¬½Ä~7LÒs’ºwŸ&»WF»Â@KûÞ&³³ØR,ß‘2ú›:¯ ¦k±v|ð.¥«¦ŸÏ? 5kõoßÜy˜Ng]¥ ïA‘óZW e±•×µoAhe T€Ô9-#Cé±Ls lˆ ÐpmÇ# ÃBîeãCÉr…uR:5¾7_®–qü*R†r‚ÆÐÔÎõ<ßäûÚr‘šø/:ªáͼDwKR˜m+LGýóõèmÄoâ-'‡ï|kG! 5]fLªÖñ–§0 +Eg*ô?Ö¹¿iˆIfEÈ„¾MNBÁ†"= DêºäymºyGbD7ó0.P¯ýÐãÅM<Øtn€DòÈî27\óR’Ç_VPñ›Q$îV£ Ïýyíñ¢3CÙò‡0ØÝlvÞèżˆ„êz-‚¤ P _‡š™I"·GþWCX.ýzàGeã§Yiìq6p.P˯A>£ÏƽkÛE=€Õ¾VJ縖 ¾ ¹ý’É_IÒÿÁ29NŽë9Sÿc*lجì8Aøÿš+Q¤–¯U¤óV2 ù•úö2w…ÅŠç¤PdײÊm¤š@PšaN°1ÖŠÁ¯ ð]1±»$ŠÄ–n²ð©Ò[·Ü•Íqš@ƒä± íõ;¹…ð©?×û)X’9þ¼Öf`ï’¯±’[ò3¦|‰bíð½ö©ûÞålhqÂuÞ Æ:G½%i:­gËî\EÃÄù²$bµh¡õã‡Ùµõ܆ÿ— ÏÛ@åZÁìÏ•$t/3 l-2“U™gf„GõîÃ~lÐ9Ë„Ö4¸@_Zé›á pñÜK‡8ÚRѪò/ÄÄú)ZOnéÛ¡©ä‹×ÛVI‹8ÛÅ Z/ZAôˆµ.µ+§¤Q­™çÝ^AÌH¶êbÓf@ÜÄ`Ð¥9<¢gË’å&DÒñßdÜ´âŽCN©]–¿]˜æ`‚Wpd_Z?%€¶@^oq‚oVÎ ûÚ˜#wR’~a]ÒUv*0#fPnYmŠÓKË%­¬õy³uå3±èAü:%!?H· ³¬±øVÖ> 6i)ëŽ+91ÿ„7ƒöÂõ ½i$÷c©š³¥ó’RÈLòí¼ÒQïÊ.þ¾9~š¼Óå3w”àRE² LûÌêãt“äiïö䦋±HŒ/×çá õ{ õ"ð„¨øä‘Þö(Ò¦IeW£M¿cRÎ Hwke#v9¢ÂÑÿ½=‡kY¯¼äl¬¼†ã‡ŽRÈmh)÷®+îFf>»Î³Úèn²è£‘a¯v´$ÅvÂ`Yã\ŸëvlÑy[Ùdd„Vø#cn_%°H .œ~Â|fÖ9UK&zs]ˆ®bIRÿ­éÚQD#híºá†°|1ƒd·HÈ’Qu>ìYÖÜÄHOÏZ½½µë.¬^‰ÈãD…õ ·PüõYµÜ"}g\øËT×th£¶w¥ÝFêõÕý‘SãGÍs¹¬ ëI.¸HÏä ¹…ÝnŠfgK†ê’ÀroŸ¼3‡K¡iŠ!#ó†5±f ñ!C‘2á-uV¥MÉÛhý§ïó̵ñðñÇ.HÁ–ÆW/׸£âÈ .cëjô%QpEÛäU†«îº¹ùÉ0cÎ7«iîšxÇ…o±R¶÷Èò:T“Úÿ¾Òmè– õ¹tÜÈyý¹v•WØÕrSò|Á¯ ˆ@|ôwC‚¦©K0åY† É ÿ¬MÚ±ˆׯ…£`² °[n”ºøp3 A¢“‡kÁì‰6.E5æÌ=iŒ£]k?ú‚:;6 'Zù†/öft1÷) µ`õxx¡µéFÊDíà“³eÈÚ†€]¹åÀIíp *ĨòÔ³‘»þÏS¥‰´¨>_Æ¢¨ÕI Q èVõÁ¼¹’ïiÜðÚ)fÅâLªÒw©à“g²wË.<˜`~‚pg§ræp¥ òJî·)­¾$*YÃ¥ßÊRøÅǵ2Ø-J­„¦ø"ð*™¥Ež yÜ›•4 Íz’Ëü+í`š²xËÝK®Wãó·5óEXK`”ÈÆlVýæ‡Þeï~p‰:/™=ÂÏ6Úˆ%³jµ©=żôsôø‡¬Ý»ó³)â|)_õòûžf ·®‘ƒÅñbÆÃ¡ÈiÉ|±\¤?ÿ@MöE ¥ €Ñœøæ^óýêæs¨5·t!Ÿ)ÏQNÃjPíœ-•ÁEDÄ]]#ã¤EU$f·ê®F 7 Ÿ®¬Ùrh›/›Þc¦5µYí°/LµoT7°^¶£•1ý÷GGÝÚÔÉè£[Ü™äùÜž¾« a2)³ºôÂë=É.Pàf}Uq¾ç°§’24ë¢à íÚ†Îí+}¶fs¿$•JP¡vÐÚˆB Ø=Â>ï»[õű÷Ó<䛨Õǯkc(ȨOLÂBý*¼x ÜáðšiÈ&t¼Aѯ5"6V :W“nûÓXÑ˞ˠ/U€› €«ƒ GH E¾P,o÷=×Àf¢×ðx_a+ømÜ9ò:¡WA—[™ÒoÝ&gÓÛ×r–3kíà÷:ºï „xlÒ1‘[’¾—2¯§µlÒT3D­zùϘšÇ|Lƒï ±Ö©]˜f“qÍ%õ;!‰öÉâÿH5æ)yaÌXÆ#t ™ÆÍ øsO 0qîmw˜æ“=¹ËêööËdŠ7Ì:v@½8¯B½ )¦áÄê*tŠ"ƒÚõnÐ`žÃ>—†&?Ë"¨ ôÛÈ#›Þ¥è- …hÓ€ŽºZP¼e&#xÄ|òI=x­@‰úƒ PešÀ3‡)JêKå,ÎhqÊÝ]C"q„qDⱊ‚?ä¼T"Á°¸O¼(åwª¤L¥j]iÐÇGêêJÛÌñÅi#A2Œš‹nòåχí)Ý;"tÝ ï0 «ßüh´uŽï.µ>qd`œ1‘}Á„)ð7•ÑÅ$ã¯Ì˜ÍQJÊ\ø— Y";ì9À*ºMS¿ ŒÚ#Êk'…é“’k™*ÄXyÓÖg˜Ø—l4²Ü¥žV_à FDypok<ÎÄSs4@Z3™o€¡®¾ok¼<µ¡ÇŸu;£„púø…øVN\²ÿׯðôq„(g×M êã&‰3nÏÁÉûlS0] ²\o¡âܪ÷‘åžjÅy²¼³¨:>/J£ýc@ú([`¶¦vK£]tš…Ù•Ë­0ÜÜ9°¡x»æâ$»ÃxÝä#3ùWÿaïáÅ%Þ'¹ö°ž´d)L¨Äã4¥©‹”¡ÏFU‹wá» Q§A{Aªz‚ê/‰ƒæÅFÂó{;ä ÿN „FÅ*ng7ö››òm—ý¢ VȘjÌC,ealt¦QÑ3¸rÛîÀ(ãvÚR;ðÁQ¯ë€²p^]¦Ò¼¡ÒR1©§Æ¿!µÐM²È|˜™H%Å»œ]³-"X²E¾¬1ÉRE²°Ná®Û¥@'¿c¦*”_´=3<;Y‚¿¢Á²;ÃBIaÀÞ¼;× p*r¥“&I¥ù6m­ rJ„Õò‚2€r>ÌãŠUîan…•€Ùá”U¬ìø>IR~±›i%f'ZˆnÖ9˜(¬96<•ÐövVä^ŸÚO˜Âö ³ &q?Û‘EcÝì]{±pñ*ÏÐ[ö¯aöJWÙ=Ú8Ø5Ü<Ö"cp‹pS‰1 Ϙ´s|BOtBæ=n‘šðþÆÖÀ+F+Ç÷å\4’d¾¤+‰šø-¿‰£ˆ`›èµ’;%Û=HYäÁ¹‡oüÏ ½x•Öǽ¯®³-{oâr­r˜wv¾”ê·çG9K˜ÿ¦C#|à€pI‘“\ƒúÑVS|íöä“1y_BT™%ØÜóñ&̵`<ŽŽQsRâbŽÝ.ÝÛoLÒd¬[ê»`q‡ŒÃ:cZBðØæ›"Tó9=bÒAmðèv·å»§8«3Úó€ÐgËúoJ½’n¿a œéT…¼n{MMFTš—áS}ßÄC+%?že‡Oœ'¾¶¡vÿÉ–â°ÑÕMàH?âÜÅ1X–ظ}þö(3vO|² &SW`xmzäœÐMÑŽPÒÉÁÚŠÜ”HÜ»¹ã ¥Î ˆÆAVë95f³o+f ^ýœ¸’BÜêÑÔÞz»º38 TGB!¼óf= cSñµ¢÷ªx©ôo^œFĉÅÚçÎ’9n^ŸãˆádñÆðæTíj=JhXRéš$ÉjÃÀ°–°*Aô;7†¡8±ÂcUÍ}FÐR½½W§·ÆÁ‰ºÄ$¼ƒ<²B oX8ð¶ìñg-úð(‰JG °÷ãPË<‹äËÏl¯µ–þ+wê}|VþÕòÞÞ¶ë};/ã}ѽ ¹oL͹XÂüWë$ˆI ì äGœÜçGòûÔ‹TíR×"Üͤ¯ö 2XVî»NÄoÂú îÌoúfO@,Š ãûïv6Fæ?׆½Uþ2! ‡–ç (Ø‘Ž^%¼SÌ¥©ð¤$U6a+IŽx¯Éfò$‘’vT&G‹$œ‚Âè—þ ìqosBBc¹ˆ¤’HõZBéWÍÂj•ß­odUؾhvœË•öMð9mz“§x@A{(Rø±6T±eYç,QÑð(nXÿ¬‘–d™–="ÀÌc‹‘ E5öÚ@ ÖÌ#QdãíÎþ¼Ü2ÛØ—ùÍ_õz÷Ç6Lôè=`FRÚ,0ëQ(>“C âñeŠõÈŠÛAa†l4K7±ìÊ‹U݆yîrCF_¨Oá€uä4Ô7ùGœ«$Ù@ÕÞS`††t˜Š]µ›àÂáò3.2[UÙ_L£Û9nüg´mÚQ8¾¡Kµc­˜IVÐÆò-ϬЖAú^9òQ›B„@9–9] À´1ÁÌÜu§±m.ža]7®X 0ÆpÎ;zÑ”\kr T›©èÈö«å/!úwú§Y”w0óÂa[‚;tû;²e<§^Ã0y£îr™ µ!)/6$Ë—¹\ÕL¬Ê´›‹’hè—ý#†J°E’aÊõÂøåÅö(Cç]S—,§Öèü¾Fö ^ë£Ab÷‘1zkM÷­´~.£Òé{›ÄÉ%Þ1FÈD¯‚OH<)»” ]aüõ馴™¥[¤»€‹"²Æ˜ê¢]â’ÖKýhÀZֱƾo»¬riéŸmGÖõçàÛ…˜¾yϺšÌv)º?±š¢JöÄ ah~2/¢ŽæøhO1„0Ï.ûBˆ {Ö¡= ÈQ¦7†ÊtÉ–vWc5ú£ª&üü¼ ê¶mÔRc…Ì›dÿкÏ{T¿½”4Q.ÞÎö#…iÎä|[³Ç„‹‚šé–«ÝÁx‰Ñ…œsö'܉®:XäzPIE°fP¢êŠp¡NtR}Ä€ ÚzÔ¯;Ê,È®¡|Àá3-à6Ðæp–ÔP#ó#xH{]ŸœD¡i^R ëÈ\ASîä¿Î'èÏr-ˆð‰ªÞé¢órA†A$ °GÈJ{`Ýš›å—_©`É.³ãGrÉ¿I,R»ŠXˆc>ôéb²ãÆ——²ŽÐ#nd07¡ü®1 ú¶PïÝyò”þ ÷"í*ç£)5ÎÆÏ–øõêYšDÞÕW <“«…w¦äÍ‘¼+Ãz»à -+teÏgä¹ZYªýB}ec­&y\|=B5iT ß­„gÉË­GŽu–óó<åžh²‹Ì«ä‡€ÖÑÊPÛv +ŸR+¬¤¬°íÍ}7¸ÀÏåðêH~¶Ë¯WG\o“{À!P s`q¾Äyv»3Þ;·—jz¾¼ÈÙ¼ê+Áe´i&ûFɪ@‘×û¼FÁ—îzÛ5¡¿TBÑõVK:ò˜¥—Å0%ý«æp.—cÖ˜Lʽˆ§ƒ»ÎMãdD½ÕGïNY-EŠÆ¤˜!ì|8³àUÁ©ò[ÏÓô¶ö\¿$<Ó€¯4´F¯&d ¯áï“+Oq®5ÙíxôSðe# }nÓJ¼–Ó‰ú8yž=e¬" JèãN|®3‘éeÎ74¿@ê|4G 6(1²粬@güƒöR¾Lq4ùˇfHÍSîß‘E.ºh!¸•µÉa™\ù•o½+ø¸"^TBÿTˆÆ¶ñóæ—wŸózš¤4jïnìÍPP‘ŸÄðÅ÷’C7ÜGƺ;lÌx;|ýZoè½ëšûÍA¬ÒztÓ{¸†)Ø´ÿMhØ;Èv‰¢ÕÅð$7K’k®íÝà½jø—’6æ–§Z«ÉBðÔ«–ÃÖýì£Å0’ûÕ+ùCÂÂÕŒ%üDœ“÷ÙÙ“ëh Ç@ù—ÌseWz–ïæ`6MSè)…W‰ŸÄ XË["aP|ŠÖ-²fˆšiÏo§-"›xùk.©ƒËpW-d2†x5GrJmÎû2{âÐ`ƒÆ$FîL-¤Š€ýaï€ù‰X˜Šuæ;º„fg0—˜ÂüªÝ.ŒÁúgâ]¥ü7~7ÿ†¹ÀÛ^ ®Xâûz¯ãÙÜZ;‹±H5Vxr©Žé¾ùê‹‚¸)oQÑ-?Œ3਌B!I£1í͘ ¬1šÝ¯¨)À@žˆ£÷;Ä'nÄRza¼ªq“SÔ Á³1Ô–!”v(õ`BRV=ËÆ¥ðÌcޤ‰´²ÖÌ`4á=¢‰,V_<%ÏAÖ|! -4ehŒ¼s­Å½|¨¹H&WÑÊà°Uåm”þå˜îȇ6D41 À,p§X«¥Þ[š)an®|mZGl¾U<’p`áI+sSZqßxK&q£ß‰ u„Ð|@–ß©_¢CÊ-¯-eUñ¥ý-þ ÃmS0ÂQXYì ´¦¶Õ[ùÂâQ¹8õZóŠ1ãK󻂆L ƆµFºúË -b¿öMðЄ¨6¯ó×s1ë ©ñ;[¸šá‹—«8ô^3²úÔÁÙS`y0pfYåsÖ+„wa¾`˜ûx*Òþô 'Î)cô,t®Õ ™gQ–§à†­ûtAl ÒÀ‚£¡O0ÊüTŸ°Q”\-ÄØ¶â›˜è h„cÃkCLBNã@Š‹`ó—[KËì3×´G…¿[ •Œa}&ÖÈJö3žÌùXÕØ¬â')Á<êyY‰¡u«QßÀø úñÉ«†pö?ŲÁÿ$9áT‡Ç=üpo´è¾1DÍ‘¡Ñ´¤&@²N-¥O5Žøõ¶íÖÊRö-‡Ù}F&*¹o!à¡É G,H3ŸØª¡hTMñî^wÅž"ì!í,T„w\2ŸÀT"ßáÚ‚yØ–c£QJN¼PG×=+0òÛ”)Q)fC«Ëaô%·áÔ{vÕSÖÜ5¾Ñç÷©Ì^Ùã9‚¼CfEbV}§!Ë;},0å¡CfÕqê,%v Ä©™-jyUjÏaç‡düHƱU:Ó±d+Àæ9iã—’hAù ÙÓ¨:s”@©¼Ò4™÷àÓ³¿«‚þweÙc¨cɈóõÛ3ЧeÊøŽ<ÎÇM/ɸ©†~zFú©{ y#-ï  SÙ®XAåÑû_bÊ£ñTý&nþ!éœXíF’ÒÕÕ¼à?„ì¾÷Ëòž>µgkâ–­ôÔCÌiuWf ý/\¨WÊ·†`w—ñ ]à}¾æì@à_"’OñæG-¶_5¡Û‘jj—B›‘õY]v¬B»Ç #$í°ˆàîÄT.ÞÇ7¼ïëp}ŽÍÖMÄønåF R,d%7Þß×!Ç1NÆ9&=ÜX+Ö¹\‰½ú§’½xa …ù"Ñ:YeüjWx4Šj9ÏÞÛ·£Ï•ˆ{Yg÷ «¿I3"0ɧ8„‘„ A~',èúŒ˜Ý¯L§ê)¯ÔËuZÞ÷‡®¨TQXvX0±Ú7]#M7NNZA¸Í?l¡zà §í¶Þ­Af«CâØËÞEà ”¨|¢î[Nò\(2÷M§ zPnS–5—\-‚µµ<ä”+­y6¡¼[@6µ0†fÞØ%Ä˽ÅçZ™É†Z pÃ{&¹Ï¯wOa„q¥öû.l^iK~/|6ÁÜ?ÀÃ-Ã{ñA¦ÎþzDZ!.êðï-€F]N"IÒ¨å‘ÔË2o„©uè*`8)}nvéÕ#Ú[èò¸vr¼1«k+åVÔ8Į͵Fë4ÖzŠÓ<¿‘¹Cû^?[«ÑÈ}~ãE—¬Ä=¦™% ÜŽûãˆÂqÑQIQh,wÁèz;›œn±‹_ðiƒ57<¡fFvݺ(™ÑV¦ª¸Ãç}EæM—(/~èçéEËTsÍòèW‚—J)¤"Z´Mà)¡ÿUPö Šòq«z8+ê'@»R™ñ fYÆüÖúÃø|ßáÝòÑ4AµCj3³-³8¸½d¾››³O¼;MÉîýÇ; ùÝûj¸ó=z-ÊIÞb¿v/¬,ÄŠaÿ .D°{MRß"¯$ƒ[œÞ!Ë#HvZ½ ÓÇb+ä¶x(Šïµì9ZÈZB.}Å×\i:3ö>Ä\9ôþ„{š‰ÓƒQâbË3ùOÉßD«#÷ì&QÇz.—l¸t(Ž’¨rí¤v‰¨ ._ˆ4}êì"ÔkFÖ‚eŠÄWÕ&êÞê-¢wËzr‰r”œìv﹇uqì©llcH˜¯öHÒæaHD !Jèâÿ¢aO+á6ndDQ÷˜v1'ѯ%™UÅ)R…¾RÓÏ’^{ž1ÂmâNfhïg\LQ:ùØî õKL\ô[#¥¥¬HÜ-a3Uð’}ÉuŒŠÑ[Ë(ä²`í=^éá :¹öèP5Á§HX¿J@ض‹½;G 4m¾— !l ÈÅùà_¢—à÷ÿ¹‚æ¿9$,cÐß ÄðLäõ~ÏÐöÝYdÉ šcÅÕh¨µÑ³%^Õ˜Ô—]²ÀM…PýYCýlÒW݈e¡7áE_ÙùÊæ©€kŸæid5oÖ-Í4waц²7¿>ï}²àgЫ €ÚÀ/<>xõmöŽÓ€æô9'K'†·ß»­F†p29±K†›áx?`—*3<œ¢À¨£œé@ô>¾Ê%vLžjÖö®Ëéy)dÝg§ÂxnÜ4èÏyÁëCùá)– ‘,/BŠCÍ‘¤ ’«R–3b,ˆèÓeC¨=²Á8B# ¤ÔÌ3Y5ÅsNPe™w4ƒ« ¶Röj ð‹á°Ôk.cš<;&ÿÏåšfÀòÇdHP`³±Aq­žèè†e`ä"R£^×oy|Õ_S l;}V¨IYõ¤oßÅ‘éÛÛ\ÎO œVu;»jÿÞa§?kc¾¼z7Ï_ö2)3ôrf‚Vùryð| ÃÙ^°@V$ºÁ&…¸Äå»[é—øÜ­=Ýä Š²hîW™U5DL‚žÓÜÓÉ/•MHÀp—“ n7Gu©¹2Ébd[úñjÀBq²"ZþÅÍ©¬JV¡û€zúú 6C¿Äós=D dGá4g©ÇÀHÀ§:Ϙy0m|{Õ¬žO"Λ  ÒÑAnÆ)Ï‚ô7A¥¼µŽ°Š×Ž0E[¨Þ“D«Ñ#ž¸f> Ë4šuàŠEiËö4™?_¢æ’“…›Á&Þá u³“% ðéPƒ­RpýyF<±cÁXj%ë…š¨h )Ñ=ð;=om%)û̳º4Ä37î‚ìVÜe[e‰>>öE GÅgŸƒGÃtéX¼Ï–Mä}²›^"åSGG†TêAN k Qk#r±ã«¡K‹/_ý<¦_-Þ—s~Ʋ.ðŒIYFXa‘uÓNGë‹Ñ¡.~$è“Ìs,ÀØ0<-µ-¾ðÛÉáŒ*¹Ñ*#›Í¶É=lÆ#U?%ÌYf"n[…"‚›7$ÝÛM}¦Ð[ÙØ!Ïñ¾)¥Ï‡L”imeöŠ+Î$ަÜþÞÏæÞ=žP ’ÊZ¬¯ÈQDovOŸµ§RÎ9ì­öêù_.Ì>‘,3 -[A™¼´CA\Ê¿þŸš8 ÿA´é‹mcÁÇ r%¸± ³%À\TFyðŠå±)ÿ^w¢EÛ¸WàÔÍÃÌuê\!ÈÄ÷äG~óìÑG§6 swWk+K3¬S±æ~U4a R8’½I’]ß?¡ÛAƒÀáI½ˆ*•¯â›Àwëõtl8¾!?¶š½šØ- 2–õök6WÖhÔ~Pë¢bÛÑdÞ)¸}ÖöЏMXš›U„޶!X·û©àETª²+‚à Úë¡cÆýàóÓBê_«‡Ì€No<–%fzÉO…_‚ýÈøhhÿÝE Þ)À÷‚騳ÞÊE<ò“tã<8Û°pCÙ/hH{ð¡°W)¾¥žPg²lJpªââ)–h_?Nórƒî}øaBõÉ}…‚©jë9‘kVf½”ø’nüû8‰•¬¨fbJ¤‚"°û—#G¸"">ùôbt2ðФ  žè“CfoáN8Ã2UÊvEÄþ°n§T0›D&­ø&ÉÞ;¨Á”¸½/v9iš—…!ؼ_LÕ×ʸ\*Ð×gf ½ÜÜEŠ'dòÕ³D!Ê£Ö· Æ @ën-­\û¬8fSˆò-Xš+YŸØ8¥?«(ˆú)êÛÍ{›Éo-ä­Ww&EŒNÍ%€àØJ¥§ž¢þ]y«‚.¹É¾což©FßMŸŽ&öÅçjáaŠçÕgé­,˜+Χ ®¬ñl–N›õø.©SétÚ›r´ç_Uö­Ùˆ_!ð´}ÄcE‰À°âÿžœ"Â7Wà’>/ô(±®Ü[DŒéå£-ú™ëix¨”ïdì|4®;GÁn:.‘›á|K\u‡Pñäꢀ…·Íâ6i%¦dH¨ÉUUšñÂNŠò04®{¢æ¬3p'™­»øZ¬Á„¼GÚN‚xT.%–R=±Þ3òTn,Ô&žñz~ür}–¾»†·m4ê½ 7;Ÿ»¾]j¦ŒŽTPÈ&¼á\E[éBÔþÕI¼x¼ ‰GÀJÁùq¿ëÌd•CÖ¾p^0s"®ôŽÎFTPû¶ EµÈ/1Àvó #Þ¶T+6REʃI.´œŠ@¼¬:+–y „ãl“·-Ôƒoö¶s ÂB¿ûTœ2˜”€• E}ÑÛ–l†3âêäXÅûsM3b‡ÍÚ~£ÌëÒ&w ݲÁÑ&a“Ôÿ–;‰¸®tÎ9E´I¸rà~:– ]¢G[E©‡NøÚõ0ԭ˳‚@WyàI ¸aaþë÷Àà#×`ìëÁ±à´ë¿Lôº˜®s^QRü ;è‡1ýëœ\À­ß áç ÑR‡Pk"’׊æã!½åÞ=}”Q4·ê%KO×Ow‡ômaŽ•±7V›>1ŠIHÎzlžµþ§ò~1)"Ÿê¤±–›`‡n4úê¤žÛ Rd¡S¿¯ OWÙ‘>Ay8mTkiÝfšýr/"‘ì‹æ¶/ÙÇìbäÙ€õx‰=&8»tH´”¿p~Bz¼3?Æeá€ruÿŒöÄã%{œÙ¯_t°Ÿª9cjìÛÒۆꇱn±Šð=.$-Ãæ÷–kƒÛoÌýðMÇj‘ý%¹Ÿ(@‷4>ä¥=\ÔX,×Ìû¼vW=?¸“‡g´;Ô’F©¥ýó<¯q`œ ?’¹â©@›¢HG§+ñøù­$)ÙÃ0á鞌ÌhrV‰eÌ¢ë~V!EV0ÈSåõ2÷Ôd›¶ôCöFZ4í‚Ð€ÈØŠ£»ˆÔí¸j\ª'™“ Ûè—Ay ó!oıS Sš/ƒSåÈzÎ|”P@öáw0› 㲓yÛ½"–(À¸myøÍVÞë&yá·R1ƒÅU·åâÇrØQé–& Çß…R× ÊöMê)Ž%ÏÁÖ÷‚¢°îÅ• 0º2•èE©æŽa.]ãŽÿðé‡xva©îµM9ìÙÜ10&Ð{zg¯¾<ó=pÚªJö ø¤eÔ‚º ÇÔÞ>+LµF>öv×54Óàƒ¸@¸íÉö+úAIÿdÞˆ78æàÀaî{èD÷.ØþavÎ4~9*}dsJ&êÅ "°AÊÌ…9­¨¥R”øË‚uþ+66`þtšä>.*O ~îw·#?BèNcLÂCN [Ë‚)V¾n®²/’¨ 5öç›s–x¹šÃüó-fs6bi ˜'?¨æ`­œØü ±ÔkvШížÉ4v6hs 2Æ´+¡g•H™æ@T¼‹FÜ {¿UjåÚ~i~@Ç 71ë9†Z7- fmrÖ+[q…ŽÝ?Äåüo#ÏïRmã5WƦ]•Àq ب”²Mü} @IÓ²³ ›€cn¾š„Iuóª'­… _`EK–OP>ä@Áú›“m¾9íN…¾èZ.Ø+a7ƒ}Þdž>4Œgÿ_R/!ÜÇ=juò+]ÒµØn½›ÍVSi➺ ÁžÛcÉïˆ$é5á‰Ø’oGéÍÿãó­ÚóFYA`…¢asž5HÖ+It‰·±é¸ú shLãžû®…:ž]Êôny¶Î‚`¥øØ(§~W¾Iö8ãßðK¦ y!¢¬¤u‘tßcælÂÕøÓaÍz³›É3ü¶¢©–€Í–°Ÿ›ÒpvWÆï…*£¤ÌüCìÛ©õhPdwõ(©Öä+¯I¸Bd;ˆßÌiÿHb5‹cuÃSspöâb¾%ÝçáÿÖ€^©Ty¹Vö¸ýŒùv†ô›Ô•ÒÕ@ƒ™¨¾ÌÐpìzü_ÎIäs¯ÓI (»lm_ÀÔÛÒXešbmpÇ,ÈžZz0 A /üD“ü,l¡¸é jRæ[«‰ºƒ0 ß$_®¥ùt(£âçä醇Žý¸ÍÅ4ññLf]ÿv „rXÜË®©u÷[HeÜcOþ±eZä>·Rþd²•P—úöÅ ú®‰ÅTzŽ­n©¢›]"»Ì>§.—ràü×|÷ABþÁ/Ó,xûN‘š„ܳêDø11WÝIï®z»ùÁ–*(lŸúTäöø£!‹ë¡Ž*|³©“¡Ÿ¸‚09“Sñç.9 ,¿ÙC\Â:H˜+?Lµ‚·)˜·ì•HWâò©(_]‹‡¥°û×~¥Ù—:ŒAd· ŒñŠ«½Ÿ°Ö»aLÉÌaÙXöïe@L‰ˆqœ™<——=@©[Ûd®úÏÞF#F›ã’ê¸a$$*èòr´¢#èæ:ú®~hÒÛLõ"Té²^ç8胡ûÞÔëS+Å_ÛÏpùªÀv¡ÉŸ;š¸ÞÄïƒ>ð3/°°ÑîbsÚÎÔ™2ïí*¼i¤Tçkâšeõ‡Ç.µ…«…”lbÐë:YS"<¬’ˆî…¢9„²«`åiÎSÅí­ààßðËb3ÏË®¼!—‹@æõ­Ÿþ¡,qæLàãiP§C¶ùÍi2òüµ¦ê—ùùI ÃŽºŠ ѽ^<ê`´zÔ7²œëübsc’”›\#hÛ¡èí_}RNõÌ2nð ¸èhžƒrð×4x €Ô ð>Ô!ìpàûÑø¹û°À»lÞOó°áý4-%¹:¡pÂ=‹©®øÀU+5–CV5²3™(H(åŸa¡+uãƒûá’ÞêEŠ€ Ë’JÙ²÷`ü n°QZÕ[Óå¸?Í:çæiÀQ»³z”Fpª‚ØV*¦Ë×!¦G¼6£(ú×è.ð—`»ƒMÒ’{8–CF€Vê.Ù5«G@˜OëädÝ®‹e[zZJ†Ò’ÒñàP Ä:}~•r7|Y"‰—Ûšjnç½g Vþ‰°“à©ùßÕ‹ÛÇa"p¢ÏÝ$z{+“ùŸ]j3<_=îáxûRì> |åiÿ9„9.Ë>‡qÊ"{èàÛHÿ]Ÿ¨ÙvÕ­Ç2†%ŸEÛ¤"¡úr×4®Âl¼úvi<G ;_Ôo“ÃôzYh…fj <áéÇ,1IB.Ò¨Ì0aƒR™ÝÄõ‘2Q\'0˜Ü_}Í€¼òð$”–U™ŒiÛ>¬’>,EùÊ‘4 ò‚NÕ_ë± “à\!q§XVŸön…’½¿Q‘Q)Žu°Ðp©>F×gt'©P©ÔQO„Ÿ±wîòyM5L¹Ó ÂÒuÞ+Aö¢lY²^0½ÀR®äd‚˜ÜÌ;fSØz2“ÌKöÑ’ó¹s¦íÚ’ó\í¼4A®Ê¦­ä7KñáH C´Û…a M–¬è—”¥oñ9ÌcÒ §ülf¬Âcá’Ç­՚|‚›Es|QF—«`”’òœ’âö„ÊžßëÉáËYðZ.5©¯Fµ”Â1Ù‚%q³È$_3lŽÔܯI˜Ò>s¢®¶°ŒÖR69’ÙöÍâ÷t¯Ø{“Ê]ep!J&¨ÄVx ÝY˜0‘Mvß9ÁèÔ˧O0 ²ÿmÔ‹5vzi÷­HGò I‘g*Ñ”h8Pš¹ð[?³ÿ1ÌËvüL€ßa µÊW¦U uH‘ÍžPŸºÑ=¤DÕqªÕ±á#ä 0±þÂ=îK¤ÊRS{C–¿ :Gö]aÌ ¶½–°f™)• xU)Þ0Æ=qò^Å!ms Ù<æó–¬Þ륹Màãüµ,#¬tÇ‹Ñã­ß¹Ý&¯ÔyP˜ö¡"©5ÚSG»µ¦ÜaOM_—+}6KޤâpÍ¥EB@‘ŸB–)9X€¯ÁèÐ*ÒJHÝüØ›ÂL&};5üdA¶ð—käB‡ƒ¨ð¡“²6B´=âæ|ŒFÎÆû² ÿŸŽ¥±®@8®f§+‡|€º™)1â0³ÔoÛœnƒ¬Þ\ŽÕTæÊÀÑ›n”åÏSàZ2„]EÓ˜ÉéÊ„˜PHᢆ_0L8ÎiX€…´a"á«a‹Eîúó¦h~oÚÛ…«0öQ7_ñQGÍØ4 í{ûXe6ÝÛt#.Ò°´6¡*}$jÅc?m¹™¸9Mkzå+þ“yÎÊdiÄ3ZÜ’^³"1"0`6líãKà>b²ækgAuµ ¹,çb3Š‡Ñ²ÛGFäÝÆC²²uïI-~ÇE\Í‹ -=}Â)þñï>Ö·ý{&ÄÅÖ;]ú +‘ü¢ efnS2hŒW”'¨ ²P–a㤢‚aÔñ¦~û? UëÀÇØP÷q ±áoŽ ÷ø±è•ú»Žê·›¿¨Ü.¼&BÒaeP{x™$ô”F¨f„;̺êˆÐjeæÊʘHôiÍ»fmQñçÃü¦<ÞùÆïŽ~ ‰ï¬ó+˜Æ>Þ»*`øŒYt,w ykÀ1‚ñR6ê2ãÒÙï'] Íb"qæÝ¯.ù ‰Ô5ªªÅóÞ49d N;±~Xá`I€Ý[ÂUТyŠ“÷ö5ÒK*™ë|Ûx_fSsþêL‘ôašçyQ¡?ýÝBÑÀwxH‚¬ß:=Ü €Ô”"VÙD[x!G¾vå"~@uÕ e‹gÑèa1únE3¢‹‚E܃7"l‹¨ØÊQýÀU\²j(m«ž–Cbºå(‹ÖKg¡îÅŽ¯à\¤L4··ò‘,3‘ݺ{W+VFSu‰Ä`D¿IŸéÁÏÉ$j º¬§˜Çõ úªf¿óÖê®CwºŽúx$ñ³ûÞ*ÂU˜¿ÐÁð¼€ÄPt8á÷.>§),îLtÓ$ÉçR×Jõ~]( MïJ?´u–¼±îíV6çmžÉ/â…ÒùkuP©täíµ„§F}9 { O»«âIÇUñF©=³ÙÔug%ç»f:¯¹dG,š²ü}J{hg)ð7—kô™]<7Þ´7©íè ï³'Í@c^ÛÌWö01©`ªtÁ`8]é}äít¤õù‘‚|•~)ÁÝ·‰Ú%¾äü UŒ©ª»ÿ t5É |XÝÞaTbqh.¬ÇïãÈÇrÛÐþŠÑg²öàOƒ¬¢\Ø*f8~MÍG°í¡“Tå7}¡¾¶d/ó¤­T"$“)‚gÌ gé2ÏKN¬“ƒ%ÂGýf¾æ¼g>eþÔ­Û8À³§$uŽÍwÌ#Bbº³MÑrjF…uÅ1š°YgD~ËÓ=’Ò5ÛuÙ’>Ü@ÿQ'̼‡XÌ4n³>—^&:5/—¼ÆJ2~ùYÕªïYÒ’‡þ¬›ò¸Ú0Ùòy•ïM뻉‰‘›£ÏãYŸV¡«ÛvÐdæj7ë§L•f Ê/¤­”ºè³á¯µË¨Á&Gw´”#”úã˹ìJ©:hÄ7S¼~Ú±Ñaáø-kÍ\¡ŠV¿9êo1i‡­Ôè,DoC½QADÉ(7ïÙŠyàAw+Ï@}Â7”€ù–¢”ñŸû–<íhIè,ºlNkÈÇ#µ4ä~ ‚‚Ø2B²ž®#[b÷M¶˜9Ú8RxÆ€D$R估Æñ!ó@„St»AÀî®óú ¹F¤ì¬K7錻 †ˆ} àH…{Úäu§>Ìáïæš6:­}leͧ–ñÀ€Ùûµ‘­ÆýÃê÷N¡ïWoƒ8"Tž½:S8‹dÂCŠzègyN96O˜tWÀ¯àmt \“¼G5cBÙ÷¾Ÿ¼}­h‰~Ï⥾ ÄG@ ¸ãzŠÇ`تAÿð¤Ev¿˜OÄV^á¿#'r"ÝY“{[]\bËÏGô®ä!ˆ°‡/N¥k½hÜ2çUTXa‰RõRgwiÿ§9 gFsˆ¤òÈU#ÒvëÏ`Šäý‹Cú¥Ø:JÂ/Ô±1€ºTÞøVn¨Ê2ÿgúðøZ›`5--ôFh!&ç9x"uüËååÿѾG ÿ|*’‹×ÅWS«A$¼/YÛ&“3Æ7´’» d‚àºÃ¶0´Aü•U¶0n©÷~´ ©|NøÎ+8Np"–OT9ZéV1ZÀ¸j$x"A#?ß‘¯\ˆÛ~ãA±#µF›º³¨Þð–eʤpÁü³õ³Â*,¹w}5Á|HþFÇÁmJõðHú/Ûev&¿s®4Òjë“÷}þ&BÎ_Áø>ªl·Êj ‰OQäj{Üv éÖÕšx]*|.í÷g÷¿fÂ,„oÍ7Œ>™ÚöŒqøGLqfŒàl‚ 5«øX³Ò’ª½`¨:~ݰ/–¨ÓTäz“e:MžÌÉ4ÃÑŠ1¬%èª I««Zv2Ý$Î kD}#‘Ïóuj3j§ò$»[SÛ•mV¼¢›81PñPq_û¦s\z$¶À*O©QÆóßvÒT²OÞ¿Û|ŽpÓΚ¾h`9ÎÚ’CP©¦Ó`M†IÀÉ4cUÐ  𯔬§œ&‚D-§ñ0Þ_”1¡ìåö ÔÚ2ž‘)¸=(aÿbëßÕltßÉ÷2nEžÖ•)žÌþïÈçrÒ¨’â‚þš{Å:àLÜ™©' ³…‡:×ï å‹ ëÚñ…WÐ `cD¿)ú4å\iæY$¬‰Î*M#ç6ú£ÝÇÿ@Ð.ÏQð뙋¯Þù)iã~,n¶_ˆÔ (ÂZ|ºá¤lí˜Z²À"T°Ñ]ó+š<gs;¹•Ì•ìóu<Ñ\kÜbžS؇™V 1Hy  !w  ‡Ÿf[ ûÅøë,Z’æÇ”Ÿãô²ªf_ñ8¾Ýr ÷2°Ÿ{a#8ùŠËlò²ó/QG1»Œ¯R3Q[jÛÅe–+ŒªxwüsEb 9rXW̵@št•·c¬˜HÂýô }‰T$g­&}~×| kÜó•?^^%é¦qĵöøMgÒ«e«ŸÏ{ŠŸ'°VD^^èðÏ¥„#Jõíøœjû5N à¶pC°‡ñz‘ÿ]y]Eê ºžž@¥,3jε]Š—Õ3ÀÑú°÷S‹p¨ üô%þ2¦Ív_äÇœÈìâEIƒX¤iÜáñ‡(Ìwu «A9/k™+*ØÇ¦ªVÉò¨„ ¢¶{œPQUrõÜ5íG×½Yl,1É¥S_ðûè(†G=q g1Z÷‘ {*î’ÅõkÓ£ñO~ÚPøY·ß%Ù€o|%$¨diO–æK_!s޽5ý Þ¤£q[ÛÜ %¨B|MQžª®9:ÊEŠRJzÂÜ ÏR2ß10åh]…ø†3µ=œœeqŠMÕåD…Zy p@ÌÖê¥2p6~ÉÉhøD yóä‡bó§Ð Lú[;†žäÏìþ)D¯äSa¸…µ]¤åبϫúóçëÝ´÷Ú_¿¾âò³©Gz# tD M‰¬,g;Æ"Ëœ_‰¡ÏÀaû¢Z^˜¬®l›bÈ`x$[0e§ðËUʱµj–»›9¦î\Ô+ mø€¢ÕJçÉöš:`pÑŸÓèTõ(Ì»ã¾Y3ÐSŸ®ç'»MCoj“fðÌÊ/é&ŸP“Øü|V]C»q¹ÃÔj°›³óËžÞ<.†ö®ÐÛäTùNB˜Oêò¾qùQt`@T™à‡wš¬æÚ!¼!c2é ¿3n+Š(0¡ó#}êˆj>¡«ÌUôgœ,˜˜ól94MÕ™;a²Í“VøuÎGÊìúá°ß­Du>Oj†8o%úb½Pu^ˆÓ—+™…½EnVMžàî·{mJbÝËxJß¾† ‡Wç¿ÙötœMíÊç íË¡ è¡æ5rA¢ù‰jœìRX’Ü!dK>"”¤îW,5X]Œ[c(+Û‰h*=ùËS³Gv3ç<¯B¬”[–ICúßmÈ0®PÆB¼G¶4Ú× è¡!…ìcDhÅ0Úé (Óû"FMÞ"‘SÜÐ)}èÃI žAð>Ù›E_‹ù¶©Ò¼V\C À†ø2iAƒ7Mm)±rÔ‰_wÒˆ€IÄ[å#ÆÛk]3×:´»®ß약Ü`Ú¦Š‘CœÐRR%È^¨ÎµJß>O ìj‘zËW/W‹(ùõ¨å­1q\9ŸÃzüȳ@\—xßR ‰çgëÕ!ÊZÐ"qq ½®ÿ‰¥>ü»¡Tj_Ïž-éáVž`žÆ'<éÎå,*Ó•û 1JAÖbH@E†2+Ш)†/hUàsuÝÆÑÒ¹²ãeûqÑN6ÅC7ÑÇaV7K'Ùš}Ökjð3øqWî¦O J$5;J :%á±fä ´üß"hËøWö6'M˜,]ù€°„Û{d ÙÑg¿E3O+?7âW WjèÁP;\ˆãPïÑÅ8‚VɲÚq 7Ò¤…éÄrìv”ÆT~*9cvN™ÇìÇ ÓÓŒmù4: ìÁ»»êP©HëCàywЗX7Ö´Ø Ö¢ª‰ŒëÈ€ù^Æ-aÇGQó­mÀlP¸7ÓãR;™ª¥”ÐG­§8éÕZþóµ&è›{žóçwo±ÏþÀ×?æ½×ãÖ3¤0mQžw@¸iÑ’Þb73Ù‘ÙWøMpôªFÚbÝ”†~lθZË~ˆ‚•ÒeËÍ¡´_ÇÈ2@Œ, $Ûº?ŤŠÄ6?ÒC3GÅM– Íw]Vi–µNµPœ(«½jjS8é ê $ ?YEô]X‡E¬x4^ÍYË—ìûõÓ ½’^R ¿÷·yqX‘*_߯ÖMܱ¾™ë*º÷ܽ)5‘³¯ß†Ùn3x’I&ìû°+ŸP¹¿ÌǧçÆšðJS蜜â*W«"•Þó(Ï#3U2U§ âc`",ŸN¶)vçïB2ŒK~ïÚÞp¨Ò+q%-¤-rˆ™,LÂ.LþPØWš_xh>š³Ò1ôÄ™=Za¼ÿ1 Í-]Bç†ioKfËî‰ Å.êuEÉË×ÇËÁ™Áƒ!€ +¾WÚˆ%˜¬̃7Uªˆ G¼ó‡ÏŠ­çUç —ó8šÈpÛá&Ù Þ7è¯}ÿõ¤Ã`D³J( "Ο8n¬ˆõhꆓÚi0ãAÈ¢¤´Ù{(¼ªÈ3ÿÆH=ó¢" ^¹Õô9&õiÛЗ¢¿°÷e‹h5ëÁ’SÿñsZOä-õ@ðqjnÞʾ±n´ŸC}ëtbŸ¯õ‡A)¬-£çŒM°¬²l¦o+¾ºO7zEV–¾ÌÔ© rP*€Ït‡Õ9½åwÐyËJàï‹æé@¬NÕÂè"êÎp)†2UòeÔOq‡AO™›‡ù…‰Ï@'ñ7C±O[vª—gÜôv¢Q,YOÆ®+ŸÞ¯€`¡LYÈGv»ôÿŒº’ߢ ué6 á¬N@.ám»Ù‹^ào¯éwÖ&húÙ Ž$±5Ñ6 þ§;»Á K@'¼"ÇA«[d…l ‘†ª‚±›sÐCW׉•¯•m.h¤&>ˆÁ’¡~Ï#u[Lu…Ȥox%Ó-ã;?2ÄOmùÚfl ©J(ÓfjÛÿŠ%’8žhdÕgzïýDzÉB`‚v ){“ŽœÄb•n¼ƒ.wI¢„Õa„° Úá›·ä¥W]ôÎÏ­@¨¨«Û4=ùG9N“þ‹<'>B/6›îgÙ8vÃd%R÷ÎØ(‹LN<­Î/ïxldÐÈ…›v¯ƒ‰”¶Î 5YZY^†*™bÖü¥úˆz»C0ã–ºä´í¼FHæú¹¯W*·Å@,1ðždð ÕÓ:8•ȶ!<+=˜^GðqAΙ­‰‚*ø¾äY©9nï»·²9"˜©IâZPþ!ö–¿\T§~OvÆo¢ü¹¹P q…Ï.¯ $ùkòÇ¡E5— 2Z#•ÚôœyQB X.žQA¨ïвkS÷4ßx¸{îQNÅU=ÿ«¯%Ƀg"‹¡ŸÛ#YYþ`&¶fDáE¦âj–ªQœ{;¢‰fEYþUÞaªIˆË~ §e]®Mœ6q°vsÝqy€ˆŒ¬-{äSöÖ Ÿæ—_>Léíä]ór6UF–ênZ—"Nè¹DܹüÊ…úo?(ŸT“7\ëÅ-|ã¬_Ä3àqˆ…ô‹æ% ù—’GjüÆí2 x;.¦‘6â ¤< Eüt¨¯ñI aµ‰QžlÚ(`[H’Ÿ†W…Ua!œûù*çE°)¬'ÔÚ‡ùÀ öáž/n¡G)‰¡dN÷`¤”v+«IÍw»*30@hý4.œ-Âëh 4ž;Š´wX(.>û²Zl½Šþïýšd5 ŽÅ °õ„ÍÙ£}_T¶âÔViò¬¸ö±UçŸx”÷oæN<äÌIPNCÙ@º¯$yƒ5oû×üB¸>²<kJ䂎zÖÁñ¡d¯ba€°ÎU‰\Ä!æ·-üG\C›.{d–õESbñš®òž¾Ä¼àxnXdÚ¦4b’íO‚orüYö:òlÃTð(oþ°B†¦£<%²^Êu (äø*±2ž©A¼Úÿ¢É-T9ø@- ‡Ï<ÜEYyääùæ§õ«uSkÈŸg¥Ö¤Æ¢ˆóˆ¦Ý¹ú'¤#L„3êWÑ!HfNûµ£.ðñ4ОÌÞQ›7ªêÈDø.7«}çûR§XA¿m&#A™Á¤kÆ‚¿1È&±€¤,½æ,a˜G޾Ð÷>C…j.燗^(8'~à8‹§ð5*šˆ¥ @®Hùzú=°ÿÝ1“àö«®+ Ô(ˆ©­[Æ}gÉ™d3aw}¬„táÙ‡,dztoäOc¸ p\çe¬•#6‰½—¯~#ìkT/ umÁɵvJr¤Á>ß#à©9.¬0òû^;cÏ!;á@ ©¹»®ƒ‚­B;بd•–ŸÑgåk-.ÿl&¾Á·š»0ôåei+ÁÖN¯Ðµò ¡]ã(Î ¬„Qô£d$ µáMØ\®ÓÓÕšßÑ6W¯Sðí[–ר7Ì¿Oâ4¡®Æõÿâ¬mþìdéן;Fã¹Har&(kLi Úq ð¢±;Í AÈψ‰¤¼?XÆ.oŠîtçq½Ž:3<ˆ£J°Ÿ…‰Æ¶kÖ¤ªù—Sç§X“"•õ.€ýC¾¹$\‡“vâaÀ ÂË{£q+d,Óæ¼/Ñð"PyÏH+Ya¥3¡y4Ú]Rúßð"º618~y™Ö”VÍ ˜6%½­(ÌøÁ]Ì£ßÊ/0ä]ÈU_¨ßa!BûƒàIj ?‚Ôx!Èí0 ë¹Á_0 —c«YÙåOôI!’,$•+_^´ím¯zjŒÞÖ!TãFëD¡Ï4›¶»^m bÅ£xwhkúøukÇteGIÐÊ—ÅKåþ¾e§ö2oÏ‹õÉ:dí {8“)‰ÓíTrä¢"à´ä§Âf aïÃ&.w VÕt|l\dö4HG|÷«s×4 Ÿõ§íz¤f¶Ñ??š1Id9bî ÷Ê­<¯‡{Ô_êBÑ3 ÷oúOë.âæ¾›¡!^&ÃSc hC”fhŸ¡o ¢ó²KÕ•QŽ@³”Ž{gâS²mßÁ…™M&Ì!Y/I|‡J1˜%ªÀ5†q'Oøþ°ù‘¹1µÉ-$Yèe)ÍÑÍ9¨¬Å0K¢Q8WËZÑðT狤¨E¬¼ý¤íà)§áI|ß-(~P©:ä~‰&½"Q_8¾ÍWge kE"å"©ì‹N—àÁèþ©jàV±è&±Åõþ-K ¿Þ‰ø­äLˆ—ËÒíJCÌð< ¿pÏÚa—AÚ­7ž!28‡9TÊɲn™ßú<%@?"w!$"Û;vDl–qw€»Ûy—å¤kÞ=*×éhÝØ Ûß´µ[ûA‰–"j‰b¼¼U¸¨EK(‰ÓÍ‚h/p?å1b•»?Ã:¡[T/étDÉ ó3ÎÌÄòéà·lãR„çkI-ØúÀ¸bTyž² T­5á!FYX9Ö<ë«›Ë ¸¯da^X™päÓí–ÀCiL¦/ÛИƒœPÙΪ†—^ ‹¦×vüL`ªâäàùä= ’ãä`p ;—Ã?ˆT« ïxâ h>x8“b¶bRkdàl:Ýæ(ó7´Ÿ(jW­ã˜²t`Æâ0Ó}„]QPT#û‚4Ehiçº&£3Ó«%|ùÖ•»æ‘KMµª·o±A°³G_¬’r/%¸¬e ¡[nKU—Bó ÕkTj‹w.ÉÎȦDª3µA%Å`r•G|×)ðË›»›§9 BM‚öÒ’ÝšÈ+&àZ­SÄNKõˆ;Tw4à+ýZˆÝÎrv¦ãæý[EÝ©$Þ‹ßë¬dXô=_¥üî#“Õ´ñ”ž9ù VcÂBé}ìøeú”8ˆãÖƒÔÈü B-ŒÄö—˜=¤9µ¬¾4,‰ÅíS¦\—ì§oÔñw†óƒþóÐûý›Ff²³{ñ¢mgiÈæ¢^5cʳ èé‹¶í·xgzyñ1«õå±·q˜ïàÄ®B§¬&)#œtÅëyf/ÊŽb\9&²q`N£Ð å”É&æE·×0Y‰¬àÇü’i0F$)‚¿,ù&.@l­Zp°·EÍs”KÔ~p`Ö9µhé|²¸Qò~¢¹QÒ·ÈÐUHvvÃó×ÐŒ×Õ?ˆqÚŸˆšÓ®¶fü1‡âœôz°GÙ ³|Sÿ®(A;>2OwñŒv qÌD^m]…™a*CÚŠ s´à'š†pñ"i` 4OÒˆ¦Tf¥Ð'¯åúšl ¤²ÉLsý(ÍÙ1noÅÂ(Òó¯Ðº¹Ó0š°ŠÜR=[/‰KY‡zR°úlíÒ둯¬ÚßB—7 uÏ £ˆ[~çðM:×öÆ(ãFwW²O¡Ëî̦MÊrÇèÂV‹Õ‡:hß@$h9™r²[ ¤{-™†LËþôt-ç‘ïºÑ±7"-ëÙ!Hî@Q.‚›‰Þ/Ûà9jƒh*¯x¼Å1YŽž°TËk«êë-Cño=¦H‡›œé(Çn\àuIu:z[pWç{|#ƒÖ²t™g&EíÐÓ°Ü\Dá€8„/Q€dFý{D’Î1±¡1»*¶ ®¥”Šv>ÍÃÉÚ9¤«cwÚè=ÆDä™!)ß'[t표-›—e°UGÌ8úضÜl:§ƒCHV†^im‰HÈŸL˽ÞÀ%üPŒ1û¶>qÁÉ7Ôü‰¯Gÿð[ÉÖ)¾pC¦ËtÌKl÷:—Ï4ÁîѰd¾‹’õÈ9tÝÆx”©8üâVÊs™ÿeQ]V?B%vaF×kÄj4„h¥Æ(¦‡ø ózÁ‘ŽÅ‡5ÂIßÀ%,e™zÕLnLótk3ásó€Ð<Ýfœ'OèPزºÁe¶]$ J=ÖKαû |±r T›*O‡^Ý=H²¹°?ìw9¢*£Zl½ ¹±KÒÿ•Ò™+MñůÄ5SN$My~„ÃŽÃÍ yxñTÆË!ÝÖoV[*[Ê[ÉN”íuOºuÔ‡³›”lÒ% vª N® UI¾ 0ô@äþÙÁ˰mû/à |iÓg,$ѹ—è'u:ÒÓt–Ô Ô;D ˆXa=á-w­¢CÞdßúéžÐDñäÔ«°€uHµh¹˜‚˜$••ñÙOo‰”4àr1…H8~y‰©4w«.º£ˆzŒñŒ&ðWÙy}dþcF­µÜR à¦åkõŸt‡¥ãàÙucûnl1×~›ªÏ¬Ç¨;e-¢iÒY~»þ'n4ë‰Dî¯ÛwN[“_R¿ÔÅ¢wî›D†Ö¼ô¹íWåå{·²ó„7 Ì»¯;z~Ùç­¬°È'-…á^²®ñð˜ä¤ßÇ!íl*T7²4ÉÜÙPc‰ëpÞþ™ûyDˆ(uþE‘ôco+¢@å¤ðÃó)ùÇnZsÊnzdzG þ‰'IUüOsuuÇŽqXëy¬»fy‚‘Ù«?kyÃÅœ¨röŸj 8 ><–ëƒÓ…Ë6eðü žf“Ê‹¹Ö8wª¥µ#/u‡Çúr4QD¤ ¯œF­O~ß³!c6 èßT9Äœkd>1ETÄMÏ…ÅT¶]‚­Û›QvF2™é¾oð¢Ê @Öí¥û!“¦ì|SËÀœÀz¼÷µöYgËК†8ÆðFòP)k“×Ï›í`k<æ_?nD Œèü¢1¡‘?E—USÅïÚQÔ©U]9ú $†.Æã|Ÿf¸>®3ìñ~“2~Hæt«³¾a©^½Ì™úiF`…‚á±:ö#&ëá÷¸«ëÄ%Rhûû®ïØlNÇÐ8µvNâ9Wö„þ`=CО’©/ â^‚© •ÈÑy’U ̽fŽ.MrõNíý~°ás–wv éýÊC¨ñÞc¤¦¹èÚ.¶A½ÿÔû^ˆ*S=÷:/ Ûº/Äwût0Î1©léàþÓÇi’º.%·Ú©~ƒª†Ä¢þtð‘ZƒÔ=©IXI”© ([”ÜÎ/fp1®s¼¦ª±ÊAœè}À`Êd­ÜôÒCUd“½ÂWµ“)iú‰KZœ\ÃÕõwçræ£ù§GÙDÛ÷›Ì‰o$® †×`p5Ln0{%Ø â‚¤Ï¢<°é³:ºbP¾vºq[ÂöüééÅÜå.šx¥æƒ)#±aSÍ|Ê÷äÁa“ Âò—°i?ø{µsá›aª‚«Ä9çGÔ„+¡j/ÝMà+KÓ—Ëqe¢¬÷RXF/¬ ì?XT0Ë E‚ã 3wIM˜t™q-YP/çŽbgŠÄƒÖâNGœæÙ·lA>²k‚ Bö%EëM‹†áùÍŒ÷Éë«Ì˜Ú”ä‡Bÿ•KNdΊ ¸NÿnÛÈ0¥äÔt?›]aH[Ê»’ƒG»Í)Ìtk-ghàõâæä‚ëó2‰#IH)ŠY-ƃš´·ÿ½=x$å’E;%áí}õÖ=…9@£H¿A«¤u¬z‡k•5P{G+í%мCŽNn¼²ù,CTDP𤦛ÑÑo«€±X<¼¼Â×; +˜’^=y” Ë`žkø‰ðKî¡›z!¶EˆFS_jØ€‡äOdüß\Ckò"`\Ê\ßLÌ×;B¡ˆº[h‡ÎE¥Þoûïõ—) ø< øÌŹB,~˜æÂ~=íQ*_OH |lÓýË:¶ö@iƒkýj_IôÇ3…É7sv ™DØâY}çÄj 1gÏ÷€u#¼ÍUkS¡,Ïy¨C#/ÕÞ;½Ï±ÉÜÓÓÂÆÄ¸Ÿø‰MkåRòw´·™f€x÷ÇOrÎrêÒ%ެ熺ää(»3´š|xÆ;f$8Ùc ÒãåÛ¡ÇR €ìÚ&ÉÛ=S],ƒpA&i×b#-ÊIxGaq 0(1ì™Ê©yÌ&<0›1Ç!-oÂ×”dÀÍ)¿º„—âl™Wî$‰µ´JP#ÙR©ªoÕK*ÒË‘XT(¯X–Qì×Ô½æ)¯…µ=ö^s÷_ª·aX|nx„ ô(èx©ªó°S˜24NÀáIþ`M÷˜a¶>Š‘8õ`™›(™éüTû<šrJBú–æÎ¢@ñÿ]‹r¡4·™$O‰í‰áK¹*í‹Tü>x GðèÉ÷©Qd©m6ø°„V¾.¡ëÂGù«GBw¾ÔÄwø­É­®‰î3ãÛàezœÚÀ1—ÞoE8 Ùò=~ó—ííV÷Ч–&ÅÃÃÈn±à+D„ž4SdmÞ :51ô8ÿ´W¼Ì(íÉiöЀƒÒøâ§v^ŸVÖàEoÿÿû!86r7ÉhÍ6{v¨NR f€ÿæ¿WÉßré5à¢T¡(Âp\¸„,$I^l#&H’© 6uÓ%ëøŒ_‚,7GJC’Q²À݉55›7ö5—ƒÝÃŽŒÔ˜üD‘(¶¾BÂ3i.‰Ñ’Ød‹d7„‡*5³IÄ„”ßçÙ¤5Ó’D‹:$D1òŽ“Ë>âðŒ~¨sÉ&3õÚ.¸X¯vˆ–ÑÄûƒåp»p´4÷ˆC$£a‹"ç§¶$5á¢ÎE¬ïK‚€“X˼°ç‡/ÂÔæt‡äé—ò#õâk\ 0ãüè<Je%Dd%p÷Å9¬ëâ½ ¶ÔØ–\…±!.Û‚^7x)ÜõÔ5,g#ѯã]ÿ¼œ*ÖtZjòÇH ©Ãši·²»$*,×"˜aCcÚ)†ÛÔ¯>w`«@ßàW‘¢w]Pp&R « ¨‹?_,q_kBÚ³êö,¾ßqMwªæ/ǵ€‹*p˜¸áXm;HÝ-ÞË[à€ç.”rÕ§ÀFF6k¶Èö) v„ºÏ‡¯²ÊaœùRË@,Ñï/£sg,œ ˆeÔ4¤–¯%#g€/® Öꮈš‹yŠéa©+ùvþ exâ*²ÿÞ$*•>ÓÜx>¤œ8£ÚXáÅÈö±« _[}8z.ÿ³Ê¯ÁÏäÁŒ6g£Š’ù­-!nפCèô[æê»Ô¶&á± "Œú8–”R ;Ð9¨?%¨‡áxºæ#Dß^?†¬(š© ¯¥rÿ‚ •+*ŸH¦9ä@”QQ¸pV,-W<Â(‚Èf…£«dªh‚†Ž€jØ FMÿ¢…‰öIçw#î‚>ßò2íNd¼w,\ÎA÷/¾$9㻸–zEÉ÷•bsh•ý2¿hèDxJ A*÷òWšÔ@¢íY'Ͻ(O½¹ZÒ0Š‹ÿêvaØÈ­)»Õÿíɤ€¢„ª/n¦l©S 4çm¡|a—Þåþ$ží#TÊzöñÉÒ3uG(}þ‚–‘²Óv`’½áêñá§o³`dÈ$c+–$ávŠ®x?^ú<‚Nž T²\Yugö‚>rx ¶ØÁÈØ#PÍdwøfÚ÷Œ ‡U›Ç”E„0WÖž&XÞ÷*îÅ$Ž{RzxIÃMèUˆ ßïOÓÒòâ™ÕpéÅ)3Íê*„xÜá„Vá¦2`6¿W6ó,óì/-â›=‚\Y|+„$«+k,Þ*š”öÉq?®*9СO|“£Î(Y1¨.jPX9ŠL#7ÁÒ«#/)éÚGRé@ºLë`K‹²à†m˜Úù?ÊÁ:i.é¨Á·ˆ¹öYÂóIµíKf˜•œÓ{†10ú°{5”ˆ&è…-bE™T'D žc4©Ú7Q¶P€Î½/díëv6ªS—¶'¬€è½o5Èf³¤*ó‚¨o-êä8šâ€ÃŽ…¹oD(ÃÒh'µØ¦øÇàBÄThô~Ôs ÄV¹ô=ðíóì•ÖÉ«â]8"€r½®øZý›s­óU1rhzŒN1dº½%b^ýÅÞ„D‘ Z丰Åt‹“Èpmù^ýVÕez‹á àrá{/Â%xÁã_Ôe¬dvçãN½’иÝ 9Ç©#Žžä|š]7´‰ îå‡ãDºÙ”ëúƒm”áÐW¹U2{×dSK÷9Þ;3Ãdó#[Vh[9¡ÌŒhmI´åOè=¼¯K˜ÇÆ;Í%}Ø·]‡]p‰”H‹Š´/çlˆ 070‚Nö\{<­Fà Ùß`à Uתƽ–Õ¾ò&V|÷Ó@E¤ã}ÛñÿÅgÀ7Xm“<›ô×ùùPïð/+êÂiª<Zd¶ddõS]2®Á+au^š¨¸]9Óü7á[_', GrÇ Œ¡#]Øh½Ca“E1áŒcº(Œ@¡îw§4)ë™ÝÞóžGÄAì›~ê‚ÕíO_³D9›FÅÙHñ,6ÏÊâtMAþueìüÎ¥Ð1ƒåHV¬ýò®'ÓÙ•S%­ï†#mz </"ì;ñÌ—'PáqW gQN8²aÐíMp)ú©(Iä1Èü £ƒmkyB0¹”fã^šâã ÷£sš1jœ¿Ò9ñ”ýþw§Äõ?7—Òlug¢Åĸú+’²«'%C9\Ë%…Ö¡"×x³ð¨½ø±œåæOnwï Zª›,ëøÑ/2{E"Üú?ÅudW}ªOôŒVæ–)½®zEN´9¿³üÉ™ ¦_°X·÷R¨¡1J=ü“$ýkR‹.¿åÈàìy*¹wOÙàúÜä¾à®ÂùzeSùùt6(µ.`k{¡7½ÀØîŠà‰šhν7iëóîy>:´·6qoÂ'rÖ;^ÔÙœ†n7_“xÙ}ôÜÓô?³P\-ްr&íÓ\G"MŸ% ¶Gƒ‚akê±Íò†¼lÐe7jæÿbjTµÅ-…à„N³ö€a<4G:PÿDZg’°ADÒƒú~ÀüöºKéGºVyU õr)šêhôÎjD§3Ó ¿ÏÍ"\¤èXAļíƒyÔ#4ÒEmø •Š@ØñîˆLcLæV’{ª¦ÕÚŠ¸vŒ~…ÈOy¼Ñt#6Æ…â]sTz¦[ƒçfíRœ]dñ†éëBÒ’ÎDcרƒ‡ýíR£çTÿ¨ ÍLûØ3 •Öõâ'R!Q…xM wI&ùEßèS£,k.ò€ 'P-ßÎÚλVåÇwš¾„v^ùúip×£:ó4hø`Ó¼›¼÷aæi¡B¼ž\ 6†@¡SÐ];–U‚ôTf`³Tª‰ 2àú.ò­r€°!Þ_Ø €ÖßÀ¦ï›bq"R:'¤tõÖ6ü©ò·N^RpIFIÞç¿NŒ%ìÐÄÏ«™íóéÅÜß‚`¥F¨FÚ-!:>û³øú$(ÒGFú7r˜R¾Þ¥Ó¯Ú]ûæ»”®”ÔwðΕ4/XëJë~NA¶ù¹¼Á‹p¶!z‰œ\Þ†?òã¯# ääü¡ Dm®ÕÊciÏÍ ¨©¹—Xš…nùÈtK¾µ„¨ß,ùd,ðG3ÉÝì(ãÔèÈâtÖ |nØq³Ä!|Ñ™`lÜF‹b>³ŒÞÍU}ŠiŠë•[µ«\Ô¢˜±¯•Q£úðÖ AKsÈôPNšÊdÔ‘¤yuèeꎛ¨ç¾AŸ0P$i Ñ=oU /c‚‡‘— ¹Pæ›y(…Š…Xl[òzt¥J3¼&Ïàˆ³&Ê‹Ú@ ÷š'…œÑ“2ö^'p.‚é&ÿ_…`ëØËÿÓÅX~÷­hßGKœ,P…(z3¾ô`ݘëíIÙ+B©j(ë‰ÙMbÚ }Û1ô>-ñÏ»ùÍekÚ„>ñê9Dª;ÿ˜°\¶ÊwšK!y€õxA†C£³NÂ>{e-÷øöµvSŸÑƒÃý‡ W±õœVr¾Žï«Q4ô cPà壑¶Ns„Í‘7•²‡ØâFtiÈÐqðT‹p±Ú¿ùãò·Éì*šÊ œ÷êz~ùI‰æè—™e8sƒª1ü¸“­ÕtÉÉêrà¤ú7]eÝãèEÉéÊÝ^–ßM0+Wµ¯Ûþ*º4·qå›@¢‡9Òl¬tE¤w{–¿nF[ÒÐóÔëqgÛÒN mïøaÙ{pSG˜Ý§ã æ28 ¶‘RíŽM˜†+FÔo”n¨ù}0»/-k¿9³zhîð°Û $¤ú‰ã5?kç:ÉêòÒslrjXá¶b †,,Ú?îqêìLM:ƺq²‡¸ph¾™…-@¤£#ë÷ptqy¾Ó„Öî¡1ÝÂEx/Y6òð#JØÃx² ŠÎ¢Wê¢Ñ"Ò¢(ª*„.ñy~ŸRž‰cþ% _åQÙ? :ò©P’§PÞöÊò1Ò&”2°º%³2)¾w&4Øjz /ÉV#ÐŽ=µPo5 t̲Ù±ì|à%¤°¶4Xù" x.µV´Eñ.$›Ö#(ø:h/ªD!—f;¥Ì²úÜ ±jL¦"]¶âB[?g#Ã\Nö˜Þšq›o4Ø*£+ ”Ë[ Ùç£U¾Z¶v} ¤©ÁË#{<íoð]Ö+RµÙõ ?ê– `AAÕ|‡nÆž7O_7Œ{ÈŠß9×Öœ¹:'’’éSayí׃Ý`D1Ѷ¨ õ¥w€k Ú pX±GØà\iv¸6¶7«×#¨/„¡äù„<–Qø¸"8|èT8M«b±«¼’\ñ° ‰ùOª_O{êúìoÂÛÞ£Á°?ª„ 8FýINMÙÀغ¦©?éNÛoÍÕ¤=G¦_»$¦§XT‘X{Î×w°”îW•3_çós[AW9*S%CG ¤Q¼ÖÁ›‡ÒhȈU%5‚dMÙ¤6È0úz¤–‚Ë dT’´·]•B¶“+Ó¾NÊ6ƒ3tæ™ Q$êºú€ôj 4RÄ ŸŒùƇ7ø+ß|;0ótwí2£a`ŸVTÿsœ’xl×Ýã•T§sgÂMû™¾¹Ï®Oµ¬`O´Žë¥Ôw6¢3w3g¡å-gÃ.|ûœÑ•@Пts[¶f?*ïÖTÂÁYjTÞj9›µ3˜~q‰ýeŽj>)¬œPï@}æ”}9ïø› ›ÑŠÛKwÙf¥œ!H‚V, ÂdV•»XÙDë/–d-‘)¡°Îu©•D?žã]Ÿ¾]Ubò¨§ ;9V¯¡SøýŽïÃ;ä`þë Ýedm ïê~°%±kŒ .&¬ˆÛ½VX\#ýöéÔ¬ëZ‚bŒsàÎ##7‘ñÌéQ%$1!ò v=¹‹ºPÔ/é¹”¢ˆ/ó+”œ¶¦Ò¿ÁøPn°x¸C¤–» =£¼VלéÐ5¡Ä[_ý’ñ"o›61¨Þ>G˜¤!`Ãog "O÷4Û¦áæp,ûKì)_8«¨ÍKÌ«œÉS{—OM- Pi47kÅÈTÂmæGäÿýpâ|tD´8‘ÌD<þÎbP:Ç´íÔlŒfŽJüU«/H±–L"ëâ`á*P³ªÕL1AÒ7< :Ÿƒâ¬Œ:ÅÐ)_’Í2×[!Ý=`£Š2åXŠáØÔ³ñôG3¨Ö.ü´‡C}„b`&K¼פjZón'uí¢Ö³£:#Ù<æ6,Sé†õj€ÞZØK­¡zdzmƒ@°u€ñm:zyƒP¤ö®G±Š¿¡À è6€ ‡° bö/ÉG©Ül,úîØ]¥º¬ÇIñ) ?âãüÊ5|o_[‘xɇâ*ô}3<á5fÏ<â³öüØ=v³ƒíC¦g7ãG¼]û¿Ö{B¶ª)šêié³òo…pàF Jåä},FIx:'Žë‘ã¦ô»! kmˆ>g‰|öÙ¡ TK~¨­_”ø JÔ¨ Ù£ÇWò%vŸbÈù{wg‰µ*O>CäœP%ß8˜¤>óY 03YëPZÛž$lAuÇGü5µ3¡µ™þ¦ñ„ÍKöÒ} »þ÷:¦ÕžvvÝA’§{(Šê[;‹Ø¦ó´§¬Wó1ªù®¢ž‹¢‘ðƒ‰¢F÷%'C,eC…s›g·¹Ãÿî9Z4àGë­'…\Ѝ8œZ+è8 ²D…/2Û£~Rj †È°È{Å‘b²+üoŽ8×ç*Ç€uÖV£`ˆö†ë] /Bi…Ñ,Ý„ËÛ »·vsp‘Dø)ǪvLH«¹58…óóz-à &ÞÂö»Ò|{¨DKÙ-ÂìÕ·BÛ²ê¾}‘è)jtrÈó,·pð馨I>Â| äÂòN7Ì}íMa±uÞS‹wtí6—s'äì³,o=vIá`£íÆP2¶—ؔšz…ÆØÿvÁv1úÂlÞ§4b|^ÃTR¡rE¨%SÈÁx‘@3’ü•Â#J®[óLc†„”ø\½ù>嵄ž)¨:au†u¾ºFUÐBõP=Ãw?GÆ»°!?éoŸ¶¹éf||a®HX½1_z•ZÏ,¡yt€õéõBiÄÔp“þú%ˉK[…ÌxΠÛr‹Q±Ì ZKD ûÅÍ+Õ±™B¦‹`pHáÞ¡¾hTB÷·m©¢¹VgálKÆ$*ù•æK­ð—€^/ŽÉØ(Z1/‰-í—]\{\Ge‰¼ ²CÒ@ ¥§4­YÙüô‰‹ÎjïÜQÆr6’°L@®ÉH6ÃNÊÑôøÆ»Ëx5ýÃ’—¹ÑÊ® ¹Ã‹°¿êÕlÐÎ}Ü“’OÅr‘C£SF[‡ÄðwÈæÂ³èºhÒö¡ Mº^“"Q/ï…ø]«ž.£•’½AfBág~#UdÕC¡Ùu¯NÝçVÊH*«¦þ!u¢û4ÙITh—­µÕ2ŸûkˆþSvsA¹Eºß]ýÔŒ ½¶ÆcÝs€ö_ì/‘âàå>É_\ìò[ÿÖSÛŒyê‰:Ñ›žë3g0Ü* X‹˜±¼Þì?aYß…üïè®/¼–ܼ†5áÏøu«5#¤Ö³×1ö‹¼¯+“ý'«½‡‚ðÃÝßõ©LsÙàX³ÚßÎT,O:áªaí¥íˆñâÉ)a†‘¿<¯ (<‹¨fÅ—QRqÉBÒ½oÁ™“¶cº7óÇTŠò±uDfÁ„¼øÉð¨Wn €äÃùSÛ„º{â½›§±fYß"<ß³·þÃàhl šTnýf­—ÎnÂw–•3ÎôtÌ&#u¿S5C8ä&‚ùét-xX …Q¹ïK8‘Ñhö­¨Çñ·~Ì“ë•ø¢¾„2ªúé%Gm¹£¡EÏ»®5Ç1#Ò•½^¬ðü­\> 0î§n½¹ñE“ylµ‰ò X‹xïü Çr’¬¨4ùþªVB&%‹†.é67vaÐ.¿ÿªxÄsí|,yWšÃé$táÃOžÚ†Ïï”35Ù–Öð¾±×Ãt'@¹C‘=Y•¯µAh]á [Ë÷‚È«¾Zgñb É¢ö::e£ñ)4yÖF‹KF(4ô¥‘[R ÆaØØÊ*¼6æÓIÜ ™¶XW‹ç@NÕç`?šdS~¢þÌbÓ²Åw¾”Ø_3/Ý ‡Ý·hŸFùÔ*zAøÚ­Æç¢cømlB>¿"ˆ*‘lkÑ*vcñnÚqȳw3#ãX„¥ ¡"ݾ¥r Âg¹º992±j2ÌO8^{æ=yŸïkìf&z¶ZUNdÊ¢Å/¾œ ǘ ›» æ}%ìg·5Š>æ£ß”óôXÇ*«ÞéÏy»]wÄóšOAúͪ£÷,Ù¹ cBËÌ ¦·; ë3Î…¦Í4%]ñÅXj?™ž’“8 Š )ÁLÓœî}‰øXQÔ’L“o+Åè– I·§#ˆÒkØ­²Ì¼e×ásg&¹ØÁu8$JÌtb¤î‰g®¡µ ç3ljTÍ(- Ü—ƒ¯”†Û°n怚x'=¯ÌÇ$-¢+J¼v°0ô d²j†Ú½„ÔœØ>?{mkF/U­Á1~_TæG\´6‹{Qô¤ºV^æ!‚öÙ“ËüŸ¤$œäQʼnB¤÷O{@ ™[?_“UL»Ô?*vnÔ¼JÆ9t\¹ž ìÿàà!=ù&‡3Cv‚‹×ú탈ó}§ítò Øð,ëúoóÿå~¢`J£c4.±ƒût[¹-êF@¼ Ã9Sí€þ#'JíPõ¥ó$IJ¾ËˆŸ°˜)Ë>Ñ… L[°µK'(„^w·(ÆZÿã_÷c•aQÓ.‚pò äX¦ì$ËŸ9=xÛÊAaÈkŽ‘'kûN¼A“KÖÇÜú•" 3׿¸ «í²ÈÿÑÕå‹ ç)€¸ªà1æu\Ö†'à]áæxÃ@‡Bú:/â ÏíNT…=ûSm¡,àß;sÖö¿±(ÿ×!g4C«¥…º‹÷q4ùµŽËoW¯BÃ…^¾6,ésù–P$$Ö¬°üðêżõ’4·B¥þòÑjÔ7ád·yØ+r½«•Í&º ZÐ0žx«*ȹ¹'€›€nX ÜŠ‰£&ÐÝ¢ÃöÛl5FDÀ!Á¦¥Râ„—-Ú0BÙ“CËLÔáÍiãMžƒº:’‚-„³·óSò4QpÍ ®‘nçì*«ê67”RxÕÖ`¶>‚´TÏtn¸“š¶õ¼¦í—Šâ)Õ¼4˜bß1}pךŒ)³ün±cÒýÛ´Û5*Èr¤.{žI,ä²HJý«š ᕼUÒªe •ŒZZtΠ݆™²ÓhZÀv’_„v’þfc~„TÆñN ­Ÿã˜ã‡Xm¶zÎ!”Ú7%£ÚXÈ–8R$ÀßP¼"ë õj±Ù”·&8𿿪£‰”sRç‰[xx7åôpêΪ iÄKe.É_@Þ˜U@Z^M–S\XÛ,µ JÒÀÿQÞ0.µð¬–„„"†|Ž·?E©Zz3®xÈXkZËv–JYYGj—Ûˆ$µÈ{éB_ÉkÌ“™•<¤{^¿•h¡yädâVZR¯êµ&phüN®Ák!“GŸ5ú¢J‹‹µi½NT"I ¦ZFº6B³ˆ.´BM»PYWP¾ä»îÿq¬Þ~ @X$—.‘­g³oüÓ¥Ùƒó=ï-Ûáó~•àÁFT½JQ7 gžO½¯>ŸîæS_/ÙbZÎþˆ«'‰Ä¯m>Ýþ°Ø{5¦V&ø¹UZ#vtÛ®®n+ﻞFtÑIqxÐišõŸIIÂO ª›–³ñÛy€˜{õY¡.Ñ8Ø¥Šãã„ Í×mKb¡ÝúHÐNÛ%a‚ôH/øÆ›‡ ¦‰w (WýAboiµì}Ù÷ØSZ’DX$ìÀDf­cˆ-±K ÀƒÙÔÊÚ˜š‡€ ΃#?Û?K=“TîqDj¯ïÝvk–ÈWµîJŽzPý_;ÿúëØúƸ1º°øÃb9žKÓ¶SÔW¦jrèÇ‹œ×¡Ð–êMAO×ÐôãñD“Õ@= .Š&5ïU¸7nãÏ;ÇM¶:Ì–¡–½wнglê|ˆiD ®žrù÷q‹:»²Í[ga§ÒŠÄhùƒ–4vЭx»­ê¤Ÿ‚o«|\r˜»Ñ¬er F)^Ï\CÅêýƒÕø¶!àö >c±¹Ôöšš$â‡N ¹|2Y0IÞÀQ%᧺o" J'ï©PënÁo+ Ó_”ÊTVeñhÂ×Úà®A«Bk(vEñ8ŽùPSÖö†”y·:b¶ëw¦†Z¯Úc}à븻ò ¬V>C>VÐÀ¦ Q¦ôí0òE+Ôkè}?R&½;õúÑ’‡FdB0ûŠ<úoZ4Q®b `ÅrÔÔRßc:Ù!¥dQLÁ€O{ ìÃ7«ÀÁxoâ^kÖãVRÈ𽵦±kˆ£}¹‚xäÚ¬ºXK²;÷(J™‚àþÐëðœ[_^Böâ%âÌUDj³Ñpªô›¢ð×VIͽ4³çÛݯ~ºPtìÐñ?møÅ"ÒîÍ_ð¯ª<ád·¹‘=þ›ã°‰:€Ü¬0ä¼Âá]­÷wˆ¯: ña‰ðü¬r„Stú-™P _šï/@¸ýqÇGgò–[ÆEn™y™ßÝóÔ”~¢]ê…ÞÅë†ÂõÜ*+‹˜§hÕ×®€zšh²ÍwqÂE½òJF ýuj¶°¢0Ž“¾i® l·g³—Þ³bÞw(-X@õµújXoɤ2ÞfŒk*L{[%œê%ž#h’Ógx'؈çÒÛ„ BÙ­Äj¡§ûQ’wn @¥õW‚T=Ÿõ¢¼0¦B†øc„ ·~~¾s%¬wù‹Ôéijì8{ˆæÜng¬Æ¼Ž]–äJ³¯¹ºþËÄAX‘£ H&ׄ˜|º‡ ·Ú9lxr/c&ôiâ™ËW0y½Ø¥Õ§…™ý‘(ä ÐÅÃ>[×¥‰3ÓêÔˆ(¬È?~H'Œè:Ö“ÑÝh®Ú¸#³ õÞÔ26tƒ_ÀØÊb×¥ûï8ú¢æ½ò¤UQéÞz‰5WfB«8œSÔUïéÜ.=Y ZðùDØ <%ø!]1él1M®.e’‘fËý9wB²ºO€ oè]ñÇrˆâu)†UÂyÔ‰‹þ|HàtH´‹wç2~#Ê`,ÉEY$Ì©ïàÕЋ‚q½|8fȰ!JJ÷®¾ãÕ'iNUlÑð2Ñ|€`Øò\¦áž7Å5ÂNlPMX”ÆÇ oŽ(»¤½À7Éø•þ;—â ffÿLãÛˆÓSjš·Ö"Në·Ïj+ÿz$ Ǥ×@î3 ¬ÇÇMpÎ~†\iLŒnQ[›|)Ãд壤­=çÉjk¡ÚŠêØÂBÚeâ8ï¦æü¨ãd¬a鑜­Jò|ÝêZa!ãÌY™™h /‹B¿šî ¢|æbÞï<¿E¤w„*¢ûÝA„‘ýƒv‚£M÷ >°ÊjE.ø÷¯ÎðS:n(-MžÙDúilºÐU‘Há]€AáUC"¸Š {Æ¿Žác8%ÇZÏt-ÓT? *Lø¿©t–k…JƒÎ©åOê7_©Ýn-û¼ßâƒëˆTtLþ÷>GΦ¨ä‹<¨Í?Ø€¢Õ`-áMÖœ¿sc'!•ý—ÑŸêšFUr;´]4‘±TkÃý-ÞÍüû)Zñ¥u„!VþUÖW=;ÙŠ ¥!•ˆñ«þhŸu, ÃÀ ñ/ÿ•¢;€‚ÉÕMéú/>‡~ã·›5º©›°Í¬‰½ø:C‡õQ{æ ç4†o„Õ•„ñ\Å<¡LúÆt“¸dálc˧{§üEMg_sEƒ*Ï0 ·œJtž·•¡ý¥sŠ*Sñ ä37dkW¤îNMÒ¬#Ü;z‹³Ø[´˜2Ø\V8átxm GSãañ>V4ëçp¢F¡[@@ßs~m¢Á›-¯ÒÖ:"oÀ½ic·µ›­‡šß·ãmŽuZòD¼¼ÃÛ€zg[áÀ €\zëO!Ç{1 ±H&ïôÓKöö:wFÒ§÷ù[¹OûO‹©”pú›88?¦4w:Îè¦'žºúKk~d©à®u˜Ï‹¯—Gn— pÜÀÿ¦ ÷“A¬a Ûăr£Ôt÷úP§«yÉËf–51xbibñjXHÅ\í/M­ýÌÐXm‹8ÛåÞáòyB²ÏÏ7㉑¨qÚI¸ä@€ý-2¡Ví¨0” ›è©)|Jñ1˜òº,9OÆÆKމ![§g3³ö®µõÞ†Šz Š«(ˆI‘)hS€'µ?™J_ó­ºUá.mñ‘~Qß›¿JeC#æƒAˆ^ëHwÚ÷& ¾,¹šrÈ׌öÀÚßv¯Äú·§£öIÉQTGOŽ|åÐ@âôÕGŽEX>­ˆþ„)Ĺ +ÇX¿¤\Ò¯-N©ß8ïïà ”(þïÉûBr锌CŠÇH:ûr¼Ì3mÔaiw‰ê¬¦°…s82Å7´ì¼‘ 01ù?ÄþâχÑq‡&ý¶ Î0‰[¢’Ú[éX®€>AÌF¯öhÂl’ ´l>¥·o+úxÁðŽ‚»¤[f"²áï{eI$3˜³­0¬/ž»9ätŽ´»Y*5É“DêØ`è;ÒJ–RN/ÏóVªï/Z誚#ìÕ‘˜R¿EÕŸ¤ Ãû$ ;¨rZó( n MÄÅùø™ƒ?8ª¥„†gªåè?”I·Ç+:§Ð—“…ò¿!†.h¢Y^õ®ÑêŽ4¡‚øŒ› ™ÂQv܉ÊÙÀÉ¿ÀÊ©„r{‹y %ÄŠ„¸<¼¬ ýJ{öªj‰û]¸‹]ü}C‡Mùÿpn]„¼m›ë&¤Ç<àpÂøÜ<ôMBù°²êcɘã•à,[`Àa çGjVNÀ(Cã½àÒl¥»'l”VÎØ›š6õT(øôeÔ¹T‡‡Ý¤Cc‚Qñµx§Nš¯;t`4S‘0lEÄD2.åz¼FÁâ–¹ÿ(ðrŠÉóyíDß´ ¡2 ɨCI ”·3 öW» …êJÙØ"H$Õ‚°†¸¿MF1ÍÏ $·Õ\„F†ÊO}ó霯”²Ý1eï{‰ðo­›'ʹË'`MŒ^«pSV˜±0CÎ vÞ>:ô@ŒiòD+éóyYO´%è“Y– äF¢òß­¼YŸ•P”öç¸N †ZG —Á?mDe޼1}þ+Õ³GŒ¤dÄ©9„6ÕÕ’V¬€,è&1'èóc˜ 6eÊr™úÖ%Z|’($]ׂZ,ÜÅ ÖØ—Õ†¶¼µ`[> fäÅ•âT˜¢W»O8%Ò]=ÃY“£²RÁØ#i¢Ò#’®@ø¦ ‘xuY3ÀJ{VeÜÙ¯#Ñ|~ÍÁ–O©Râ^[jÈ@P) ØÁŠ’ú –ôê$ ÇXžï‘­ØK‡Ø†bï£>´ÁÕW“ŒD)˜¨`'ÛÅáR® QÑ›½ø#‰Tû+;lÈK ïæ¸ög~é‚]|ÍÍ™ŠŽã‰%#¢Ðï/ïPìêX«tBOœ—ldS¸¹Xu§… Zãt3žFEG*_Š›–XÞåd“U»aÄ[vr¾¥– L ¥â”ôÄ8Êq‹…úùî úe œvÓ3ÙÈ–¹(î!>€ZQo?P衈;êÜo‰#ÒtwTol\©<üá–N5ƒTG^vÿ2Ì‘æ}|àz˜Ö<6½¦ØVŽqWC÷ú ÛÓ0»ô>ñ×FàÛ5–· šöPMFüÞÕ6І®QÓÁW«˜”¢Úrýù ¹ f3Q…Ûý ýfÏ‘8Cà8²ªqõ!ô•¬[Á‰fžºtÃYÎh‘É9cs_§‘/Ù$³MpĠ퇿í{PÙ@Äw2´B]™½ mó$WKfœE¬Ë“mÖZÓ°T¦éZxŒn I 2¼ÎŽ.í|eÖ¿p?~bØs"r¨'{g­@™b: ?£&øËHD´<Ó2ĺN\A{Oí©V —•6 Öô–°1vèr4E…áÎg·HüIëzY×k¶_ý7æ¹ÌdzˆÍ0 k@ žž>:<mð¥#¼BlÀõdQ žs7LVÅhxùÌßgØ#| Ï¿s5 †›(PÏÁ£p|‹‘]s§Ë}ífóLXl´Ý4é¤F°d‘l²œ ²nÑ«/I…—Vá¼lëŠþÚ¤yM-9ÆR{W±*)Ò¹ñ½ß.¹ lp늖j»ôÁ³MØh÷m(òê@ÉH,?…cZ鸀èaŒº{úቋÜ;^2÷à_¶š#&ïŸ_%~Ž6‹åî(¯ ìîž]cäRd‡6)ƒ\4~Ëaf†S‹éê¡·¡€N›úg•6¯Ñ)'Yþ–@-ŸXôm¢8Ë?ñÆ'ZlÒHÃ^[À<ø·“˜×ÜW4-•Ú¤­rž®†KûÔŒ\5ØyPb@ø¼uÍ6øÎò'ÇÄcøôŠv†­_DOlMò&NÑ7Ç#BiÚJBŠéMé?ÜT,W"%DB'ŒWâ+ØyGôÑ“‹§3‚Õ‰˜H)½d/bœwžÊ+°Vÿ‹m™6QÖéjOç³¥=åéÅ¡Ü{š˜DM+:tÑ ðm‘fÞñ*Ѫ‹ôÒ›&va½Ý=áë™fƒ áÚhy‚Ž·ºžÌn¸LëAü3 Ë ’„+ÜÁeŒùÕEò^‹£¤HࢣüYГIË!²FÔ„õ)•wàdG°¸-¶ÀÔ2׫æs âÔ‰)nºÚ•¦NÄ &"¤ã¥wìâç{Sn'ï‡D×êÿ[Ée0ªI!hª-~ B=’ÊO.Yø#âÍStç°r%¢l«Z!2¨È+ùzFÒ•7Øb÷ ‘Ò ¯ÏÁÑËx¶µk$ô´h¸Z…’•ƒNÚû¡GèžÞ>¼ï\#¾؉Ý\+p?v0=å}иaÄ8,ÂjÔ^òÇÑ03¨ücÑ4’0\Û9ìèåøEös^O)Ä3<®ÅïÖЛ…übÄ@f»y¹'Aëí|ì½H¼çÃjZâX)‰Ÿ¦’þMѼúð„à+p’ ׸ã¤{Ù³T­Ö!Òd|§Ç—M¶g’ìd„“úôaŽ!ŒºØ÷Dú.Ò|¼t™> —c¸î âqQuèM+KÏ•þ Dˆ°®Ä»¿´2Å›Žs§³®­YŸ>«ÅžÚrý½:H½GQªKmðÚuC¯úhõ£?€ݳìôqJõYѵ Nm&q!±PÜ»¿‰}öÇ,„€uË/yÂ¥Þ2Úà­V¬æÚjl­)(oªöÉòO7˜þ [fc¶*uzî;Ø éÐ:U/õÊY"4Ü®CE¾»9G³»|eS0‘üâ—h_SãŸ8¸îÀв¤×¾‚Ül뇱wúœ·JÊH‘Ä©F¾¸*2÷Œf<|á%ùULP¸´m?Š{>ob‰T†øídßaÊ~A ðÆ-P&´½t•V¿ü#¨Û'–]Ô´¹vÿþYƒÑΙ˻Öq­jh®¡•¨M¾Ír(2x«Ô¸i÷Ö{–(Õe~‘RÂÙ«1£”ì'XÊÚþQGv7¢ÉKAr‚ JòŠ8h¹sü6 8˜}L[(ä!iýKü,DyFST!Ï--x#^Âl²“dìàÐ ÄweíÄãY|îcyÃÃO@}W¡v4­NŽx0yθ é[üŸE|‚ëm< ¾½nþ>’ FU`[ExSªj£sLF_Â…gÜûͶ¶›oÑx°V²¦GœNÓÒÞÂL¦gȤK”íâP†X =Œ¿&˜½ÒÄ À‚ ¿š´ÛæF0œÄ Ã'„¼=©N¦% ¬ÆJ£…bÝqHÝ‹ºªhÿQôÒštxbHÛ Y Å^¨*ªøÂÈjüþŸ–`l¨±;”¼ó6¹¹e˜æ‰²þ ŽÄö]ÿöݤ´Á |šÁ9‡¢k× ª®üvÉõ4»`¤²ÆsîNõº­S)JJ>¦Ñ ²ýç€0Óu4[¸h|·Íü€‡WCL9ï,F <0ª#˜/çiðÑoIŠˆ^³« …¹iþ‰hpTœõ),ÂK ¨ ËJìpt ûZlˆ©v[þbsˆj\×1àN*ÔÍ7d”[]§Kx{†Yųºòe€èô€us†yôÌ¢ç’÷ªÃYJ´­q-T7ÆkÁ3n¾á*VA÷ }…ÔýL¡ë6Ÿ÷ÓŒƒj ¿Ð+J¤ G Ð‘Tü.ùïɺxT¡0ýpk®€JD½Š–^ö²¥ÒU’Õ‘9ØÉ;&…^Yô§ÃàüBdkDT ,eš¬õåvéÒ3­Iàù/GínLHrGd’ñ¬zêâªÂï.ùø’B-qÃ4²c„®ÞvÊ>Ãð¬*6?6¦k©PS•ÕX©0„56vwØÈ]9jü”qßl|q¼øFÓgS€nÏÍL7ÝÜÕDCHEdÅ ÇXKD§IY\{ys®¤0ŽÖô‡€H…ÚXíÊ ]Ã|¨Q+ fý93^» •”{!"ë(«›gEžÕó³Ï’¸Ü—¬ éåÁý¦4%ÿB°†»=ÛôpžÂ•m%Š×õmÂÓ^? ¥“ÕÂf²VÅ‚ÒðÔ‚ÏEÓð9ˆüAÌ…Á\ 0wÅŽž¼V­©VkM0¹Þ§É:®<é¥CΣ o_ƒ¨CÇh)Ý;G9<ù囤³<‘ Sr+ï^èfná¹:îhíÄ‚=@åybšà,×$ÑRD4,OÝOüK¬¼<êðùÅE`ÞIføh†Üù~&âÃoÚÔ¹l ýs¤”祕xÅ%L½Ä€[´Íùf¤«¹†±SÇ 0èy¹ ¼­ü:Áh-V«¹ xè&˜;wlOLÞ0Æ¥IÞ`¾ß¦•þìq©úbõ¹“´%”i˜1Äøp ëüàx豫ð{ÅQÉTÁ%ŠHÖVcÐŽ)´íÂé|}ÿ–üßqÑ É­ÚÑ"yb2 ^ÙÃkš²ètW“©ÚJø)C¦+GpØ>()ó3¾­›_Û;víu¢|ªóùÏL;?2ö¦ÃÁyK3¿f"óS‰ DóÕßôØÈx?ý@ö"“9›ÛÈ| EbÛKZëOvRëÞÛ¾AÕo¸bÛNÄÀ4Ç:Ûµ`Ü\A‚_膟k!°ºì£°¶ÁZæ/Œ²Ì.6Û•&‰U€gv5mëSì<:³d^i=×öªñÍ"q‘’عSÔ9e¯>Æ|(âç®q¾‡p˦d©MáÔ †—t6´&#»Çd¼üàÝɧã2(wª Û£ï8m7f¾ùoº±·ˆkÒJo‹AŒ…³­Ú))Y»!DâÍ¿ iéÆL „0®ƒÞ±4ëSîêü ÅÉX¤ŸBÔ÷Èð8_CGM¾›~7ýÓ6n”õ¯æRÿ¿«¸µ0€èoALJ†ò`Wè<3±Õ.Tèï® Í^ £õC!^2âSßÇ"+üIó’Û…Ôß6‰Áí7ƒ¡ÊV?›Òε©|é©9ƒ­ƒg´–5Ï®†hc™[U%LT³ŽR3Ùí3ú?aÆnR; ë@‚6þš²~Æøú.–.–Í K-˜Œ¼í?1¹íê`êøÕGÈÒ¹Sè„§7†ª¢ycW§sҥΰ‹†³»Û/Q«ï,¤´àî!æ­èÂXôÓ¹BLÖÖoGRº¥Åd?ųña"=xíSl¡î|Õ-ÿ)ãaé¯ÃᛀŴÜ$o£³·gç0Ê`Ò€\®ŸSP?_rÄÑ »LÐ7•YÖf¯)çÙ¥ByÚ.$/&/¢`”™…éAYÐ7®Í: }ÙQ Ù™Åóû%Ýá Ä5²8Q¨ôp+G!e©¹v  Ï˜ ˜Ù>Zo—›¢,XßI®)ý¡+ÕI*m–2¾ãð¹Ð-MõM8ÚÆ±æ;àhÚô‹ÎÖi$»ÐgKÙn.|#ñÛó“{ Þ1‡´/bBâmÚá‚gnAÑÀSV˜B—aI·I ö1«£•<À0»JõN»•,3ôˆÔüº)œÙñJøMÞ}³J“z˜x$¶w¾JÆÜ°åzX•¾Í3† A³Á:Mj¢Q¥b×ÑÐHÔ÷»?uoЧàÖçG^µëg”‚ÊooàSy¡þ±LÃ4®Òb á¨z‚J|‘²ÆÉ³\ ®J-.8ˆö÷JIZ°ÄຄÆþ"Ÿ´ÚXß(~0Ûîå¨þ–RAn‘[ËËØÒ®ãRig;¦uÜšTì lz­ ?gÏ^÷ŽhÏa³¨Á„Û}¥gskdÛÿ@f|3øŒ×5Gæe.TÞ`l8"ª¢·Âó´QÜ!€ÖÒÎÒ§EÙ’ä•%š; w¤ËLˆÉÏ¡¤„dtW¦k¹ 6³ÉÈÄüà‰_Ãay‘‰Ê¬§ uÊ+¼6ÊR£Eã;0Ú ¡Y-ÑÃæúÇO;ÐÆ®“ç~×\Tkz F[b/¥c–CéÔ§¿h4YžޏYæM•¡¼Å zk.pvÖæŸRSŒKlÙW;Ãwôs®vZQ›#ú?ܱ>ÜÇÚ»¡£ 3“)LØ'oEð¯,g 'ÓB’xÃ!_¨Ž¢çæm—E!÷¯ÝxæaëúÞH Ðù|ÌÅQo”Óù|çÒBÄç‰wC Óæ®Éi½2ÖêÖøÜŸÃõŠ!ûÀ r…ãÞÙ”„Ç…2”°¦ôâ>Lá.e²ôø¶ùp¾¼H‘kwYÖRb½á¬¹C]`È¿Ýú@D;Žl\˜¢+å´—¾½ ¸³íÇSðt5j˜Ú˜}PŬz¢32©Ã²õ…8q”'ÜZ<ÁI-åSüVþ\?ú`öÌYåà4’~¹Y2k)ö´¤|‹çÿ»µë@¬¼¨¡lœÜΫþ:Êþñºã#°þµÝ+P#l,Gßú÷xŽW‚ÞdÙ+Ããú2Æ™3îAϱìÕ¾ô­ážÉxjAõ0ÓÖþ„@>ÀK3H$í1FQÆë3Ikÿ®}-ÝŒƒÚþ«ûéÙûH›fùLûúL(Gª á`ýÐ/¾QéìNÞ¨‰h¸¦¨ˆòƒZ2¬¤Ð1‰¡7yò¤^å_ƒ }’k6V·yn¸Åê(šŽïÏúNLb|d$áâN|••iFÛlBÝ­$ˆ³Áïv-¿ |R¼6C~u¤ aÆÁ⎠|÷ªÛ–âÏᕤ¿ø!0yÙ2zòâ°kètƒXøƒwÿšÁ¿¶kïñôdå´h {yÒ%tj+0«Ä ·2LZkïi²O2*Áû ¦ÏÄTeeܲŽ_;Ã&gŸëàÔ,öjìŸ6€Ò8©¢0Ô§œ'&¸ß-nÊ×ýGÝüw-Âýß; Ï4?k¤mëÚ-f¦ômPY®xýs£pë;ßP9ã !:-ERn"Î ÕPöÌ +/C7¦/ñk×$%›qíL[,!)H%³ïÔc0E+0I¸Ÿ“ jWvŽÚwÃ< óŠÂ}øI¸µù ¸¶œŽní ýU­ØˆÍ/„*Ïôöõ«a·á <—vh™' s±ÍÙÉ(^øÕ.T-<(kUíü)¢CÛÇÀR_Õë9òÙ~ºw6˜Ùâ{½ @o¦ŒÕÚÍ‘×E>ËîÞlÑÓŠû¤x?³üÿEó5»9­Š¦HwºQ|ý÷·’ì—¾’~HjÉ׆ØEÜ7¾ÖÛØÏý4›+«*I8|C)È|bsjØÉÞò¯,Ö‡Í 3ýäýÏ^Ót’po,LÁG»£Ö¹ä’hλäâ›±g0ÂÍJ?"ÍûRýmø}Ï©rµ|À½*²é¡Õzÿ±¢Ú‰]þ¦fÂÇ’âs§›â̵Ü'ë3Æ…ñHĈõ~Žcy¾‘†ü¤Â^ƒ×(ìÎLeé2H€‘ù.‘t“å=Ì"`í8øö(T R7+œ–³iÁ1z]ر´ƒÔÅ#Œ6·%Uƒˆ°IõXêZ÷*u€û-DtGuä¹+·Ä¯üvG*¢€¸õk”VgqjòŸ(ýÉ{„œA¶œºLùñz³ªŒàëR>áì 8­x™É ƒ¡î(pí¨àw[sÿ—Õ'¿£6®F[8~¨+˜‚Ø!Bkô1†8µdî\äX¬òeT XÈ9_ñ€•á‘°¥ùK኿µÚž9Œ¥1{):1õÈ¢/PØʲšLE§ãq(k}.,8º—›Lðóy™äÃëðiçJOÐgÚ‹eDÓyLBùɛݥUÛ"E¾2ò±µžý¬¥ËT>ÝÓP>ÐjÑ|ÊU ®3³¯s:{XÊWÙܼâ‹ý[¼Ñ<èËš¨¤¢j"ò"Fo RìÅH¾™Ùϧ¤’››¤ÏÃ÷UtUX8ÉYV­õ8.wñ¨½è9¢jÅã¶9bxÎK)£$üTÔ;pü;¦?…¾Yi¬hÑjfÖìVÂTøÑË‹ˆé…¯WS­Ÿ\6PöG§ÉÔ“çGÃ1ª ‘%%Ëš¼Ö¨pp' #†Giê¹ÈF9óä¿álOß+,iŸAZù]Ƴ5þ‰¹‘¦8ïÏb™úèïÒ@pHÚ‚éÚ›c½ÍÇA®ûwÑ2ÔœŒ€âJ×SÜ,>Òà¡05Hâ ÙXHÑÝÒÌH# ›F„oæRK÷c†¬m"`…‚H¸ Ái‘M­|ØÝ‚Ñ÷ 1û”.NqU‡‡xñ…qélUï ÂÆ×«û­+Ÿy«‹í ^¾÷AzDRaÓàÎJåݼ-V˜ÌcálZ8³ 3§•'½•^QN'…ʺs¨4 ¡ b^ëÔåüÿŸdØ:NѰGu—„ñʾÁYŒ„P`3sm=QÝÙzšèë¶)Ò°ü}Îëä²htš¤ê‚2 àÃQLXÏ~•Õy zî­ë&lGûå¡d˜o4­Ï.Ÿ¸Ÿr ½-Ã{UlǾ÷ì“%ýËæ$èO ‰ºß‘}‰u5d$wØL+Ú'ýžµ+¨ÍöÈÙùÄÑ÷ëô{³º”éߨiÅ`¡+GÁ•ò1£ÅÚöä(аÓ?‘“åû˜ðÝè4} SLïU86uÊÎò“Þ^E½ï¤³ÓVz#Sc'ˆ‡É$p]Æ5ãÝŸëî9¹]WNü8+¤‰Q„6}RŽ»Sfù"ÜñðŒ–ϼÎo£3ëº@(ÑaÏ&ÞTs¢Z#f&±ÀA,ÚzÈŠž¡4Ÿ?…ö­ì(Š÷1ͼo áG-Hpc 8¡¼9w“˜Þ Ußp\w’]Æx‰61û{œVn¸ ]ºÆªY]«Àl×׋í^ZNP›Ÿ¾ŒOî_Š~USr=3oÑù–÷=IÐÀQéˉÿi%VØI"ò›®Œ¬®víòª./G$”¸B‰¿”€@©¯j-ô(E3Œ¼a´“2ùEC㒦߂ Ô©[ý…=(ÌEå¬bn8Ëç/¹‡d €h•qÖ 7íÞ [fåú’²%Ì}¢ ˪r¿4Æ¡ÜC2.GJ¢S”¦n¥–y/.ý9÷ñ«røî}Yù,mh*pÆ­@ðÀþſt€i®}ËÐHÞt&>£@QøV =ì˜jiTÄ£­±¯žÅÖaI NUÌcp8 »*²Ï4Ÿ@ÍÑÈööAñQW$#m=•¼ÕøÅE‡  5ÈœŽn/fµI³;¼¤%_ ¬ĨÚõïâ=1IwúßwNÍÁ~üô;ãá9&}¬É°³ð'ºæA&š2w)~“+îÞݶFt²ï ¾’ØÂ¨aTº/ïe;¡P òê‹ŲXk°‘êª ³%)~¨ö…w(±—Òwê›ÖÛ̃PÈ«²ü³Ïåö?¾Kû˜‚¿$¸—®¾Zí(¦¾½ÝÌ AV%_pB‰Ë"šjd‡À¥J;e…¹üÂ_KXõ*sªYý€üÓ‘òóN¸–¢Á'`öš©®r€6âՀȭXµ;‹rÑ‚t”­yäš/JãbN*í[æªäƒJ;¦L¬>8Åûw%’ŽÿÅ0(•Zõó‚“2\ªž4›DuˆÉk Sv]½ _¦Îº"àj–JM:kbÙé´¥9”¥w ä®î¥Õs\oGÈDêû3iîÕM²^öÂL¨ ¢‰–õÓçÌñ×ÜÎLñý¯ûoù~¦oðM0¨º4e YRöÔÍFV ñ„%÷ÏõìNGCî¬l d·J]¦A½ ½ iö¤[°wXÞ/dçÁý‹!YÝÒÎJBSñ4™]Ì‹舉ìåA\aíÔIq‹X1{`JºÜûÈ1Ù¿xGï ɨ…'°ìÄœÛ~L)û4VÌwë•+üÍŸŽÙä ëĤ…~:F»“ÈÊìì\úqú—ŽC‚¢I¶g£õc¸úƒº*}ã{†"†Pf«+Rm˜Þ¤lŽm)”«¹\a´EæÝ(–Xcz¿qH¦/ÌôD»-<Õ3tŒ»C´øû¥$Ô^ÓÚ®S“g¢a€µ"ÔÖ‰õAñ v¸jê‹#ÜÚYëG®X°+ž÷ˆ¢ ï¨\“ÆS8q«½4ÙWî#Ó‰vt Î3uÃ몬ízŽY&¹!³p=[ïhæ–Ê΋p3d\¾°*Ûþ»ÝeÖßÁï­hp¯%ö²‡1W‰€˜°3%Œl¼bp“ó}IÜåb Læi)›¹‚*¢KŸ¶[š¯W&*vc;œ½èV -eçäWÕõIÉŸ8ÉIãåš’ì×ÜWê}ß»¨töÝ¥hΓ ¯ÎË=b«ª¶Uô ØÄ±3ýeøeÕOòÅ^ª]"$…‹w˜2鋘Ê.H/|ï&ïõLóÉ»CÆP'fû•‹Dý===ÈÆ¾P¤Á"§7Iïœ ¢Ì²d„’ú«êº‘LjÐ A¼ŠÖÌ´‰B÷äÒ¬»?ØÑj}}´0„bÌ'íKÂuH<†ùú±v`“Òªƒ£Í=BˆîUfÛÑÞ5Û‘&DPKäËÇ’KƒÌ½•§A¡ñÓÇÔNÍYQµÁ54ìàÿäòuã׳…Ð5œGy*º¬HçëPÛõxzQ[y~Äö¾÷¶Âg»iàtÐÎhÄôn“ZÌíï1›†Y€ò3 ¡ªŠ…øóM£òña· tñµ´,­›ßŠCÐùÄ×ðdÔË4{[.óåU‹¸Î’¬·[Tþ‘¿V¡?!°æÓöâÙéÁ<&Ý#ô^»¢úi8ºj‹z»ÏŠùû.À¡aÜL¸ˆáë2ú„¡wŸëMŽêš‰úXí\Å¢¸»×É…i°Æd=2Q^ÿÐb*#!<'4û~žßßFÎhž1ÄWg*þ^‚Õï`£Üï†pœì]L*óžSû8û7¼B¼qšLÖ¦;¹ýÜ£y•@ë›[áüùj("s°ÎÚ© ‡ Ÿt€%ü¿hp~¿©ì›Ñ´P÷ƒUJÕT¤¨¡Ý׆iW>馿EÇÖ02±ªÞuu"õ8”QÕ)M™4w=P|hU¨_ÔBH9õ¢ú~œªÆÆFøZ·§†hJü‚ÑZm“1OvœgÎ>šü>ü%ÕÏh÷:.ãµPd°võB `g´q(Ì2IöŒµ4LZC+ü(Gß·EÇ’‚®WU€Ÿ©vÈDzc酔Ŗ{XE{Lht”5²nÀgÛì½]¿EçØ£-‰¢ë6ÙPýv~À÷S \‡šÂeÇÁ$ו¼d Z!Æ@¿o€øÝvkO³ÀG¦ØN÷;•þý*†ž€.Ù‚{Ý©³L]_›`2¿X Wî?î< O“&JÌÍ£ää4#ý‘~ZOJ³ .‹µCÝE™þ¡¶{ɶ§io‰I=Aç1-¦lFÒç¹÷ZélˆïáëaÒÅT:¯ýþ?JEFµ¢l‰{!Ë oƒ¹ÓrÛG^¶·Þv/bñaß ,¿þŽ1Ö#Í“Oÿ7ÿ™°HyìMå5\¶:hþЋûr>¬;¡gk¾Ó#ë/‘•ŠX"¶›o¾›Lñê #°ªrz°U0AÞÆ^ N23‘«£©0œ¤oÿïû–›ÓàüË…ùQ\á0—¹âä?Y¿ ~gcV,¯VÁ$³ùn¬¾ù­ØÕ_×tVÆ–%dT¦®ôÉC ïc·(DuãàQ¯Þ[ÒåNTÅ’K@’üÁÈ‘^BɰRÒÓõvGWÅUHÿü­Ýꔑå’?4ΉHŒò'ºWP ñÍM?ên°•È|è&&éS@æ9Ua†Õ%AÜâÂ…æá ªûÁû´ÂC¤r>"ùäϽççïPΟGתÿ!æ×åÍ—ë@?¬&i—®5Á4 â†4¸i+Âå`´^‰™Ï2å’ùV§d\ÎEÔï+Ë“)}—Ÿ%þKÉc–¸aP²B¥ªòùJŸnëÁI@˪h¥¾Aúÿß®_N8úèäx§ŸwuI2ÒL ›Bí Þ2³ðÐÒ»QOjoØAaÈËî0Ô/é©O3%5#À§1“lTj$zÄ;ˆÕ”ü¿•A&PBBH÷¶´LÏu¹93ˆ¯,¿u{¾ºÀYœG½¯‡ZÚ\ÓëAݨE¨1“Vfüó ç<(y'ÚTSR3«¾ûÕWÆþu”sn¨,ÈuèÆP馸OVþG2–"BAxCc_…³šxtMŸ˜Ã[ Xg©Áˆh¯·"“†¤®9±´àRÈÓ2-Ó™ºÄÑŽ?r7WÅø%{Ãd5ª3÷‰#ð2*0.ïPˆgè˜Þ⻉¡¢P2¶#MŸF1ù0QývϾʢΖZW€ äh[ªïl|8ë_—xu”`ÚBÜÞfNW&§˜Ð'â¢!ð¶ eÃás‹TÑsR¨@ÊZøJÆ ÈýÀɃéÄyÑhJ¹vTdª¼¿ypÝ7ÅëÓur?- ›x¢à¬óVÖ°ÞrÌ7Sicmô¸ƒ=ô>˜Ãn¹ `[>Go4B*׊ÒtS§šIÇSm§büÝù_È¢ø$àÖ‰û5^j/ÒË«aF¯Ä-@Gþ ÅôÖ_nûEXÙxVýâÅ=°kè'dbŒß%,;åAðÃy©¤%Ñ\ºÝÿmuä:)ü¶yðˆq³§ð¹Š’0r-Òš$¬|Ë–¡‹‹µº»¯þ4(ÕŽ°2 !‘Ê‚¹ŠÊ¶èä­TH®xfR'䘜G—ç럞­3a‘?ã*§[k¥O KwðÍŠ%ø ùÅ úHG P’z‡¶8Tß3ü‹û¾üËO–õñFu¡2ºÚ•µ3±RO¦N4†52щ¯Ñ*ÿ¨PmoÐ(_×ÿ×|^|6D—#®Ø‹;ÌŽ, (@òêí04ŒõÒ\ÿ³‘…(ê# ½„v¥F ˆãXU30óUÀšc5‹+esë>Æ•z,l:=+ÈØøò]Bpê\ŠõjÔ|BZµšbÁèÖ»žÐ²¿ýÂX3v¼BæÝ °^ü<·k'ŲÉ]åX·4JýÈô ù\ Gê¥bÏÙé#þØÇQÉñKó²jfŽzRgŠ,Šú:‰û6»7ƒn™`†¿åY¢ÆÈªñ7ÄwÀgà€‹iº°nÛ@«èó 'Sz§aˆoÿ6Õ“Ì4“Œ"sÖü- ¿^U ‚é¢ÁPâêE¶! S#°áÅÑä*åÍuL¡~-z„òµ;OVPoÅä ígºí8DesûßI*Õ/…[« :Ä´€hË%sûñ`O½ÏJÂ6ÌZÝyèÁ(éh*Žy{k¸wye¾¨, ûRù,{ôwd~Îýá™´_ÔâìOi‘šõÕ½$Á¡–¡É¢ Yw bì§úKq`ˆâÝNt6ÓXÆY×w63ÖÊËå¯s±öësdYJå¶´¼Æ“±N)KänÍMDõpõ›¨r¢æ©˜CHuWa+Ú¨)±ÙéÀÜ™¯ï‡§Æ%qÞŸ~©ÎíúÖh´Û¦°<¸t‚¸”¤výÓ²­H îùIÐ #[}y‡¶)ìw™YFãŽrªÇÜŸ ù ¹}{ì ä0¾Á('¨«övÆi+OÝ·ø0*˲޾3ä} yÇÍ‚<;%xïàL {˜¨)/ñFS+šõµ½‹’ ÁãeüPS69TÖF´óuÄ,À»Fvá¾T< wàqÀù ŒÁTÚ‰;¡N¥"n[»–ƒf}îv¢StÐoxXqämÀ,d$„àV·i À69i±9ÿíùûˆigesË'ŒÕ˜þ½ï¶¹o§§Ý5£Ö½ü>wÝS4óçLèI!À³Ÿã‹ø>FîwPùè¹¾ºÏƒ†¸õ «ùŽº!G$îÇ9qh¹%X‡õG%ÒÈŸ÷ÆÖó†–ôD~.ì¶½ïßááøÊûƒª“ÿB´ëß·däPzDë]ŸêÆHŠGF«Ç&0F­é&3É&‹U-\ð¶rñõ†Z¨âq©C¬Õín¦,ÐGb`H.ÔÕ´3zdepATŸX«ë›Žý²­6ßÌyñ?æüYö Ïë0ÏÖßË'húú³ž@"|”4‡B÷sÍW–ƒÌQû~¹QÚÄLrŽf=Ù8…Ï’a5¾ôoØÔƒrŽ™£IJøxYÏ1L0XóÌá´[Òø»&ŠpšÙK}$ÏžÇF…|<+H‰|‰‰–\0ç£H¥@øHøxn,Π‚­#éõߥo]ei8G7X!ó•£7"w%¬ú< &>ÏÀ»Àeã„P+îè×Ý?Åä¯ÈbÌ›Ÿ„ ïŸá@ ¡j»Ñº^¨m¯,jœ–PÚNrUøÊfôË?ÌTSt”A{7ùÈ…t^m¨Ký]á£x{×…œœiðÕ `¥*m®Ž Nª­¾º 0îWÅ~K˜×…a[$²3Va`Iî+Ü OÝ.PÏHjïR¾#ö~L>mÉIÊ,»<ʇ£HžÆ¬X¸Jl§N¢ž®TmŽ,W`š é¢lg¸Z¼Rˆ#À³½üáظ$&ðÛéhâ^ö.ö%È!!,¾*6S¿eÖÀñÑB^Ò}³ÜS­r†üJJWB!)fÙ‚Ùi²m%5™O4„ÛX#ÏN©xf™å A«×“Q6Ä—VA‚ÔsáÐu9{s;øTk¥ÜÁž|Ó5÷Ú_P–éÑÞFë¡'(?Nr.縑À L»Ü;p~9`JwØî +ÛNB¦"¬ôWü;®a³ t¿“$î»ÉŠI’¥¡„R¦l5N(£½³â~Lí;aÌ‚ Û\¾"¸zÀâ¯Hé8 ²\ºÖMJW\e=Ö»*Ðħ4Rñ>îØÔ±óºe ¯ö ö¶QäÄ[ͺ•Xãªø÷?–ta¾­u«Òk†Y®`4Œy¦_I›ûOÞC,¿ÊÐ xE·¤ùL6š!ëbÅ‚wãû7À²¬’FSÊãYL§«*Â\kEÕ6 WgyuT(ßý•ƒù¸8ÙÒ’ã’*mó«–v ùØì›–ì¨yvÁç4UvG=Ù“Aib¥B•ü4­Õï7ö-ÈD YuU2¬÷:ññª§ä_ï•zof½¼yI°Ü3ælÿ˜ž ±dyëႆ¼qÝ4~øäyÀVï›Ý­Îˆ÷éàïSêŠôë³c¨öœ3øyAq‹_ž†l±¦8ªõ•æñ%cTòKû‹¯73ªÔ±º°IèF-Ñ£õÐø’.cú$üÀvi…„ùå*<鞸/ÍŽ±†Aùàhºð8ç™|6‹ÏÈèZqÿ¯4XTiÁQï²ú$ú^>¹­g —:¸‹2;üäû+5ƒˆ€3X?¾_UÚÑËMÁÊ/„ñÈýì¿”®B­¹óò ׈­ÄXs‰‚è ºõƒû´¢Í{”ƒ4°ªâ[.2^ƼƒÕ-ª C 5Œ’€C'IÙÊ´ØH$@Š“rôM& ) „1_¬ ;{Ò/ÊNdæ-þ­F-7©7£Œ]Ì^uJ\N{aí³),ç&a&ú6o^ó%‚´L XàU’a=Ò‘•Ú€6¥Œ§Q™ìþ€çS¥†0¦h÷.ÄðPŠöãࡲ®Ïöíe~[t\+BAÈÜ‹ÀÍ,ªøÃ¤ ’UÀ>!q[åꇗ|…‡¬-þ\û²šüè—~¢âMÙ„-Ñš?-áb#8Z5N–òäväöÏÇÓׇáiÿª˜ð×ÒáÈ7ýãÊG‡mšËtxC('Ý2S«ˆ~Ù‡ú 0ep¶Óꘞ!ÈÉs ÆÛ—ª¡É¨ÎíiI–&‹?Ž37 ½”bmëü¯£Ñ'—<8`6ó r »Ú¢„f¼%y ö[%VÌTäåû/­±s¸M]µ¯Øwß[Ì+Ó ¼=­Zç^á–Íb^ç¶µ›‡eÍ´£ç¶;|q8x¹_9¤} ·`N<QÊ ”z•äj7kKy[î&±|ß!Lw6¥ÎZ*#Œ¨%Ñ.Òm× æV‚õ¡ÎØÝJgˆ!ïÿËýBviÏo÷˾¦àyxÌqòÿª§.%׬#?³Æúý$”Æñ›vT~¢¤c]î|ÜHŒë¿öÛ.Gp^n óßnz£ ½ÕðnVÏcc YH >èΜð½ú‡WT •ëú·LÁ͸Y"B ¼èú>жÚëÞ,!¸$Çf.’®z±p, Ç}Mß×Ce0 ‰çÌ’5"<žÄ0 &É› õÎ]a ÛXkDÔ†U‡I›AÚ˜|?o“7¢Íú"AŒ¤VºŒ÷"GœÓ!ÓËÄž/Ô©+a9æ°8x›KCÑø%â¹µIºæhv"9,È!*•­9ô(ö°d6‹±Mù<©Ê6Ÿ†­SXz±8M{a8 ×µ¡iÎ#Fs¸ ÊÏðv÷7²~ãïËQ*ø1\%‡W¯9ÙPk<CIš«—Naæ-ú_D'y þ‹.,ÄSg8EpÞË•©o½éøF¥ûmFäNùɽ±?Z˜[©ŠWXG)#Òªs`ZVñþä£Y 9Jiª ‘ øX[NP‹)˜­dÈñïÃA˜Y0—~&™cn]»^Ï‘lO7ðOÏ.êǃŒ{Ïù:Ué勯‰JÔšA œÏ;ÎT OKŠ!=‰ehÕ’ÌX7Šõµ,îÁh”&ƒw Z%U¼¥Îûh[Œƒ•¥š,üï©§Öìº->I¹H ^·Ã\ »fg}VKMr¡B ×§\¬ù¡ʬÕÚÉâÿï‰ïk±)¨=†¼gT÷Hì# Œ"^e¨Ö/–32r}‹ÊŠÏ•ŠÊ”ØFUŒF×´Oóytíë1ÚRìE¡²Ç‡uõ;”pþÁ±÷0|‰XQodZTgS@÷ y{+?ÞjU:t½¿dê¶ 6L¼¥ÒrY¬É°³gݬ¿]õ~Ye¬Ÿ½á~±âæ(‘ß â67Ûs¾*ð‘Rë:HìïVo@òîÆ¦d8^¶Á ´ óSÐ×fbÉÀëK€ÃëM胢XPìë<¥Á…$Ú0ý:ŒŸZ¥ EŸîþÆý<‡ŸxÜS>lNhž¦Œ(Æ­¯¶ÅèmÔzˆïÒÕ4ò¨¸®Ù$äºzcm ,¨n®«M!‹ä–ŽI¶=÷¾Ú$AÉóqßcw`×YbX·†.L?à6”Iø7ÙêƒÀãú†·]ZàGœŽÜœûò‘Å{ ¸frEnQ¶_âúdÏïÕlP‘ÀŽ=çìð7IIÝ3¼z—Ú-¶wõøý{a8aºyŒÃ%“a*ØÊ´•Tó(7Õ°dì‰Sùò ="ý¬¦ÜÔ FºŒMãll³õN•Ó63"÷ ³î¾yS_ä¡'!Ü™(v­’…nÎHA½A5^ Ie„/»ŒÔâÖ N 2Ë"À¹-:‘‘óõ³Ó2Øø‘Cª– þªzÓ6h»™~PJ2D;‡›³».MŽ“ ñ÷¿GY±vHH²(7?îD%™T“ ý0<Ôw!Þ«Î%%ò\²B–CÁô—TsïT¬V˜yåäwX C.—@«X<ÃbÏ\HÈÞjÑBßR+ì‚äJ`jLSdøG‰a0‰mÒª\G…]%[É»é=’{¥4m‚v½×|¿µ€¨Ûa‹ß}D^ÏËÀ‘ÿm«À\ÛD¿hâ—Éhç²ô£õ+µå¸lôñ’ ¤#˜›Y¤ÙÅ„.R_°^·‹¨ªSÞa?0(ímºñå¦@$?ìÇ rä\PælþíðNOÜ6íB‚ S<§­Ö¾$ B‘ €-°_rê£Ù‡SÉaXPalݽ\ï¶0,ØW¼Æ…³Î«íeq/h(£èKm†Ë=ÉÊE® ¼Œ† ûýÜEsãÞ’]äHè’A£ËâõCšbž‹­…æD ®èa»sr¦BЩm–›†ªò²òì$—Zõ$Øß¿J΋Ÿ6‚r›&(x£¢Ÿk§oð§ø&zL†FÛ=;×O…D“9Iäã´â2»:\õ¨¼Ù1°Du»¦=[GS³â…4ÍÎcIUÃk>gò.”(¿ œç½ÛÇ,TJ„¤Šo¥H:kˆ fûR(ã!ÉO³#ÿ©ZÏŒQÍû€3Vk“V· Š´Ëvøå¦i…hZá q+Ò8~&X/ᥭžC¿8FöÙ%$b·ý3œèZ?TÅšúÝ3ìyo"éàhÀëN`Å3[ÿÞ¹^-¥7¬›†µªÁ}Âw×V1>ûþ1©ñG°íJ–M±®ôšJ”…“‚ ÃgpšÉjë,Ó;AsOyH_ë.?W‡JìÙþXÐÖwY:´¡/‡üäm€§»ºRèÄgÁ3êwÔ/bÕC¹ŠØªÊÁsèI©jÙ1ë|sIY·ÿ G OËÅ›eã„Κq\ WUjª»Mˆ;e~É»IT÷$^W‚`)‘#®û>n6s×Ó¾]©9±§éTO·Ù+ZÒ¼•Ä,;Á¨Ó¸¿Üœ"Î`¬*a©€Áç•Úd؃ýÖ7ÔNÚl2ˆË9ÅfŠž–ξƒŸ?ÖaƱSJåvE“¶¿ä3aÞUĬ@”ò'øè¹ipÔÁR䃛“›zð#o°ää«…r£2_™Jš~¿½ÛúiÔi‘o¾ fÑ1SÛíöæOÝÔÄ[Íß Îÿ®ãA2ýËYé_^ø6O~Þ,Ïäw´ôˆ©š}8H‘ñ ^ñÆ0_<;çTW!#Yi—taíæÜ/³Þ¹•o‚·YŒèÉU³“®'0Ãvèk%8ßòxH;“wóþ–»6«¨Ušªú¯œý½4JŠÿÖÆ-!²_>)]âóiæ;’ÃÇf²# u'dôá(|×4Hø‘=UYIïÒ¼ÀJ7f >¨ä¶%’jÉQÂãaˆï%v⫨½œ¥«!JJfÐ# °Î7©×•.É/Ïg&Œ`óOS÷‹5}QêEØrq­`vÿßʤò HÁI\£Á\™½ßÏvÛˆórF7Ú˜´½ÅΠçY˜ªf³=Ù £7…M¦u–sv=Q‘³·µ$oªâ™bmñlBeŽÏøâ‘÷‰À]€'¯®H“¥¨.nLê $Sa^ÀÈ· DÚ8OºíTS¸ûª6jfʤ¨ášƒ¹|t¯ñE•¿B=êÅyˆÒB²}-k£æY;ñ=š}¹ußìIí” å€ÕÃë*ŸJwgàõË»úy-»êž[Å,z}RjÅ]^¹:PwÏ•KKª&ˆ`µ\5±ÈÉ£¥>VÔŸÁÕ€ —U,#Oqt%ªÑ#ª£((¦öâÎwâ wŸ'Úô©ŽÞS»~ÏX惘'êï7áÿüanÔÝMùÚ] Úè°ç@>^ôkû+’}×JƒUñ&1hÔMbîãÛ¹²™\¼J¶MqöÅ­€î¸Â2Qþ Ó“’6öYºr#Iì”ʲó80%÷ Ó?@ž 4ÛjÛ­¾õ,Œ‘pÔ"†AhÅÁ°¸Ãì'bú«O¤_y¡â@Ûyœ^šœtõ6òDà¡7Òro{J…T¬‚”§¡ëÁž˜¬¸ùÖ¦÷•éê Õ]_ šde§·óT¹iOÌdƒCõš’ØF?qo)ÄÈI(Mø•òr|ê‚ì•ßõ¹ˆõEU)Jó÷-KQ7}š[_=¼ÊõÑœ‚O©V¨¶Ì(Äò| ßÿv:Û̪ºÞŠƒ¡Ùù­(ýX‰Ô_g©?:…OsÜgqOªûà¬Aî”_Á¯áBêÅ™Fª°.i$ã|ÓªG?‘³³AÚK𤮽qkc wW|‡OªdRô<ŠŒ©‹Æ„ _oá’ yšøÕOìWDÃT½ øi†”3¨UsyR4v iÊ÷ún&É'ÿðbkOHŸ€XÚjoTª}B…LQ´:À'¬H[Ÿ}l·˜Oò„ÌPvï£)ý‘]dùON®ÞoAä ¸VÀŠ—ùDH§¨;¸í|—ƒ!óî~Ëu‹ª¡²+ypŽ£ìüßT -]ñŽK§^C˜¥1µÍ´2´vºGÈóÎu’ëhíÒÇÿ‡í›ÃFDésb=úqÙà}aÿ·³!Â-è@€O»•ÒÜ M(#ÅDï®èlªCöèÓ'ô@žu² >[„av÷¬5Q)Œý‰ý»‘§µ,´C¨P~šþlšÃŒZk,™¾˜.f„Æ&Ë41ŠnÆU – Hæô;ÙZÊÖG?Øà`!š’éón*í3bÏu)qÖÍû}Ÿ> l·Sõÿ—?G5¿ ‡êŠš†¡³4Hsa:ÿD>£µÍMrÏWŒÙ´k1J›’Z‹š/g÷ú92°¥b@f"N¯®OàS®¨Ú”> xxŽб¼/ŸN—ýŸ«fCàŽw®üq\&þ&ÔüfvÉî+Ž ÓüB›ÞáÁv0pò©Na=4DU¶ U¨} ÊÂ×´ z¸5ÑÓ0H‡çc°,wói‰Ôì®mKVE1Ô¤ ¯îZµ¥›)X•-¬û3ë-xÃù× >RÇy,S 4„X™‚ôr3ºúš‡Bæu|BÛ‰ï‚ jŸ%Mÿ5ÝÏOôº°U_&Tü*C°·R&”#9¶,­]ü=tŒÈ ÛAu ÉáÊjve:e}ãñs®W̯‹ÕœKZG=±A1KÅd™‡Š­4©¶2Þsr׺Ê`è(ÓŠØI9”ónæè »—ÑŒæn¹;ß”„‰ / ÍD~€I•ÓïyÞº²nƒ@ÒDÕSø< þ×úÏ—øÖð±=_qLÄ};çL–×Õ~¾YütœB¾KYö8c€%°!ÂçôÄ\Nhü"‹‰à@Åɱ7l7Þ“†ôòŠô Is¬Ž)·… öN0^{†pg™ŒÞ'ß#%·¸—>÷dÎc:̵ð)÷ ĵoÅïöQÏßc+ŠþƒÍ ¦EìID çö‡7š ÿ³4[sì^)°XuゾÍZO>|èÌZ˘ʒ)#ÑoÕËØÅ©cµ"ìÀcɾòJí)$Ö©5˜qÐ~®[S.u{Ø©Fµm;w!äpÜʨŒ¤íI³[¶¹¶ØQiëh¦³ÏH¯ß{ s.¢|³ß’þìš[ÛˆÂ`?7Uô-ø,VɳL}¢×iR—Úô.elf.6ƒ”ñ‡wªEÀ~É -j¤,V—WÛ”ãÅ>³/r™•öðôü{—P¾ÿO^ ~ÍÖbiz:Ž¡<Èç #;c»#‹ŠS^ÈSí¯Ý­#íà-S%Q}I—Ð ÿ$H÷â Iy¶~4;£œ±8¸ ¤5'’Có›©ÉðECv«BUþ¾NF;#ÐÊZwõ ÐÒRSDD*QÞÿ Óéõ‰¤ÇŸŠñõâeù³ÓÞ:@}þïiw½â~=TÆÌ‰c‰ƒÍ°…³2ÿ”ýy³&}óò½P팶~,¦ÉäØlÌé7‚wÈ*Ù>6¬®¥a÷å3ß5šÉ•÷M‡_m©›3òolGì ã Lߘ() Ú Æ™´j¿@u6’XÉBÿOàØUJN?枟@¯œ#vhÇ0={ˆ’±ã¹#ú äYzDwL¼oçû®nÑ’?÷ í~Š+Ý~½b !_± Å“ãbl™û š‹(¹B¡k¢5œé &ŸfW¶ÄBAäPDÔ 9êípúŒŸ—¥•«'­$ïtK,Û.ž×ÜB`¬ &ÈóA^Í&ÎL‹!+Lü€Ñjð9hñ^“ÄzC‚‘n°DÝ& ®Sãü arÓ<+8à´±P-]ˆÌŽç¶· 0¼»"™?²±>L)wB†WVm˜a¥K™JÈKØr°UV¡[ÅZÙ¬r´gé¥ÿzá ÊÚ/ÜðÀRîz«*ÚüÃÛ=ÑgµÎAÚ„ÔêlÜúNÖw3 >.fo ,D­„À; ñ áUÒo0ûÙúÆñ45Èb“.[a­Ý¬¢¢ß[âÄK©ba03¸µªâÆœÏ)…'.0Ðï윮«‡Î÷=O•àŒêQö¤Nc0~ß óƒÒл¤j7ÍÏð—ÎÝ”%¾×L«]¨þ p@³×v•¦¸çGà>é­r…MÕÞdÎÑXw<àÝbí­’Ù s,¯êÁPhËtÛ÷ŽgÈ2ôÁ@JsˆÕãmùÀ«<ðS[Ïâ*8ùÂuÙý}ähˆL=¼(ߟø°Íµr†J5æyäVÁsïhÖí¿[Æru¨ ~ ã·‡ŒI×ô×ôy6Î\2›HC·LC-“4äÖA®T/‡Ÿ6Õ¶s“¥Í>uŽ7¦ûÝ]Ÿ7D€ •¥?³x~ØÂc9 £ðx1 @{ÿkX1ÄlîO ϳÖábÐ6NÊ971P° “†ÃW7ëíü4%~Nt…̓՚'§˜þ¿ªl¡ööÅ" ¸O¿a Aœ}@ =°ÅÒÆŠœû\)Ÿ¾š ÁŸÆ¾"oU#”)|*t´Ç¿J‚’8Q.¿îšd/è¥Ë@F‰ðå]N–Õ‰}j¼ã†—ÁÐÒ{ +¡ÿ´ý‹NM-Þí=cÕ·Î>Ê8H$Ëo ñfúÁHv éÊtàichcT:”ÌõB‡Ö†¿>bà«aÔV}]Fo²–Œ#04º0Å`·-èfOfº)ä4‹±~ >سڞÅ`×K§fOPÿê}¼z@À]ž¢/zÿzœ±äöZãÐ=ûÔ€ d¾z~Ãs“éëF›p$ßñ—FäÔgoEAÌ|Ö˜ƒe\»­Qf%…àT;¹*÷¦anÅúqÚ´H˜s¿¾©/†uAžšÏ‚Ƽ;'KëÓ-é×l➦%’›î²À¢¸oâæ0°tº…™Œb£¬¤2-<÷2²#£ØwBŸ ÿâ]Yû–%6/vŒ,(ÍF¨ï×<øóÞ4—儳u͇¥RÙ5«–î{?'×Q¾¸ÍÿÔþ 12¯p-l;§Þ„Ôë<DhDëGr¯/öïÄ’[F^ÚŠG³uÈ–ö‘uˆ¦zY”ñ~Á1F’JgŽr»‹…xoÏƦþøãÈ;Ð0Ÿ(MXEÒ¶KÀþÏ p%Â`YÖ‹å äJjK˜D<é–ÈIÂvÌ—¥Øl—Ñ^ºZ¢›úÛ‰Øön,_šÓŒfÂÒ ^jô,r³î&g áÄjÓ¢F¢ÝÛÔR{è& @Ëñ!ߌJ·+äÀ¥ý0ze3s¬ƒÿzî4­õ™Fך&³^îV¤ÖÎ[=F,<É,EyýÆØ9b‡tm:&Np7Õ¸áüI/¯§A{´½Ë®acÎû6èÒ´¯´`ãó¦î&†‚T-2öº ¨V¬"ŸÈçi£ú2EÃD´Uæ_›àÖ¿â0 ù=ÛU?Caê-׳²]2ô,‹(P Ë€eîÏ¿Ás†MñY_'ÿL§N‚?8eØÓ:õŸŽZ,oÁ§åS»2~«Zþ;øÎXbþ{êadûè<ïP'€$!I’3×ß±ö¨ÝÿK×pߨ@| \}ñJ$f¯ß- ~‹.nX±Ñ®V©„Ú#R‘̺›£³ÔýÎ/@ÒŸd m‚ý]gÐseæ®1‘4C9‹'uÕÇ&†7«‘Ø-÷ Ô¡„•ÎnL§Yaz>AÊPµ6˜.îí×"K¨‡dÞîìn·;—ðëDºOø´º3ÎvEªÈšI„ûÒ¦4¾mí;ÂB´ ¬†t ]÷æªgâÒ½BŒ?cÇ'³îD Û¤{É’%©¬¤¥ºkh-ÄWyŽ­ZÔJ“PG³uÓm0ý *–”p†ór9 ÷Άëóu^I]Ë\HM)®£즸Œ¡GŽ’éîì”M€ .`E)Ï)s†µ¬Ï;­U–Ë5 Fÿ7x „Ë™–ýÿº ë«1"4Âzèà0£f†oй? È„\Åï-6[ˆ¯˜¹ãÐE9ÁgÃ46e0¾qÁò cÌ`B¢³‰åõsi9˜ƒªžªA‚ÀÀT¤¦- XúРݢëç{żÓÓíªæVÓé¸SPŠïärYH(ë;n;_q¬ Ùýøå¼Q[[ÜÿË«ÖlÝÀ黊œ•ÎÑ3âzD?Ì-PƒsØ ›U6t ªDÙÄw¸4G¯àèâ°‰,#JÁ*+37©y‚Ägc“ NêN|âüàNþ9  Ä1 ¡KáÛRQ}‹¬ñΆF1®3h‰mAHÒÞýò ô¯i›sÝÔ™cŒ*oàÇÑQ1¹KSçŠ%ŒÒs¡s:g˜tûbs€fÒI‘¸&”ð€å4Ö¼AzÄšð(9“°$íèUÑû»»•u¢ZyŸ]+Íüt§V£¼Qš!XöÞ«› Ø‹¹ í¾õÔ«—MTm)r{|°€ =e}‰îÍU¯eæòñH1 :ápfQ@ Œµyén!QýtËh›l¹ƒÐhZŸ& ò¦–ð¡›­³+¿è!‚Ûþb£ )HïÚÝc#Ä…Ô{•ÏÑûÛßWJ.Û,}Æéè¬;ƒ”¤rxê°9øf©xÓzE4D…w0Ñ9û–µ*öÙ¯¹ `×,Þܲiô/Iw|²r¡¬¦dNã-tmäÐ8}¶PíN`ÎÏG¸?§ñTâJIm‹™ÙÿÜÀGN~¦£ÏhÑôtœàXÙª|b^ƒ¶óü £üÌb=åK<_Ô[ ™àXN–=í¸X»pÆtҘ◽ :øŸ"R§?•óOiÔ‰ŒËy`Q ÝÖˆL7"šs€Ÿ» —7ìžÜo—sž¯º¦%’bh¾—’Ûóóê‹sÏÆê‘âÕlïÖ…FLSëô™÷˜‹°º‡*°‡¢ÿ¶¶Ì%«Îî>*Û~q*û°É¿‘ü³ ÖQÁÌr,–,HzûWXºµþ(bŸõÿ¼¨áxµ»c±QcÒ$ãë v/57!mÊ‘F—KtsÍ#÷¡;Ò:4˘^|Ħ`9zxs¦bÊ‹Ý˳änÎHÒüøÇœgPïÞkFFð÷åì8Ö ðaê.Ðè‹LŸŸ©r/Â¥¡­ŒÀ;]àÉSûÈF]“)1!¼ý¨‡U¸ZeóBp¸ìôOáÒ6ìzÐzˆ½ÈOÀ)D¬×E°)}kdÄKxÚAðì_ä<„Û“š—Ž+Vˆ´£ù…R g/hð $BcŒsH?$8qtÙkPôFGΔ‹‹Â i.v¿@™›d«Úô0ùNºu_çÓÔøÀ@•ò"´‚çw¸'>ƒ‘]`°ƒKqæÐEÛÇØ¾€ìö%cç´\Ïš¤$íiúŸ“c™©_·0‘õÕplÛN ê;¢Ö”Ùá«GÙ^á:á•)dqìž=“ä.·ûÖ«‘9Ë&¯‚õ2E_«é±™ú„›°XÖÜv”Ž%½Ð!ñìé*cX´Åš^ÀTaµÚL5;zÿQ?ˆtn¾8Z] ï=!3UPéÔíÂ9~¨2¨ìbýj›Ï¼ÎK·v{á²õÁo{v7–ãáA?ºõ£]L ÃߘÓÜÅ5Ò>2 D \æÃ¦OÒyþ4fýÁ#.êmÚŒb(Èëèh¢¯ÞÜXž½g[¯y˳ZÓ¢FèHläáï)xnM[s©MÑpyŠZñ·Ûà62ñÙaóºñ5ÕŽÎøO±Á˜SæM¾èÓ’ÃúCH¿ aÅ9Ü'Ây'/ܤPi™äÎò^Ȫj” @Ãç¹T^=ãS‚6¨JM+ÓýÈ$X¨€ªo/²^*I‰!yX]äV/°%~àƒ¦A½”˺†oº—TœWçÒ~ñqR)…V:®Æ Èá7Tn²$ƒsgóÿÖ"=¶#8ûÕ´´‹ë¹±ÉÜÞ^£(®ŽèÝ•˜Dñ. ì±´i¯J<|M ¤f˜föõFóhõÖ¸ËJñ:ž¨oÃO[~|ÉYº8ðâœsI ZéïØͨíb•]¯ùCüîÅ+²’CP…"> ÅØcH˜–c!ýJ<(M1Ï&z2ÍC´ë( aÆÀÂvî6Å0öT¨†:åRF¾nQ£Šÿ<$îöí§UPS#Ü”ž&,ß´ˆVeI¿"„¢…ä1JaÑo™æ˜hC[zÜ/æ}¨Í5ñt¤`,½ñCy8xs=3–Ýì$)Š#_ß· öG°ˆÑ(è¶¡Xì1ÒYŽºûÜMÃvJ‰)jÖn;V—.”®Ò Sº§5Ó3_žòÞ ¿à˜„ÊhàBsˆÄpn¸Ë#l ®D%‰"iÈ ¼ÒÇp,X&-ÞöPƒŸ!ëì[dð1Æç;}[m.€ÛîåýñèBS8€ó3as,„Ť O1®ŽHïgsЙ-ò©}ˆ~nÅŒÀ˜-é¯D°¹=AÈ(ºíÅŽ+l­:¢H-8»Sæð…ŠŒ< íéo•gÅY‹P9,Á2=Fp\o ý2SÔB‚{Øû/&x÷¸ø\Fsן,Ã&€PÅJGØóÞK·-¾°¶ôÒã›d 0:£tÑ$âç8À ;Ľ}ÖËŸBçWamÎ/ÞEèp ƒé Ô™òXoÂpUç˜Þfå©@¹Ü‘ä°;\¤!Á*w Içò&!FÄLÓr_òÕûé?$í»m ÚvÁJ”ðù.Ë üÏü¼µ¤„6¨íOÿÜ9ߨà‘ì8>DëA{ÜÛ1ø›ò¥ÛtXÀ6‹v¥ÂOöª…ÚÍ¿‚lŠU>Ž¥óùß`Ü3'?†£PÚ`#Æ #´}tÑMŸ­zÕH% Õ’ÙëudùTÁf0£@ëqVr¡¡™ü%úa(—îÀ.VQ+aO±Dvx/´=ˆã°£^Kc÷îñÄ¥èÏY}÷à“8w|#:—ë¬å‡P˜Ð EH-ÃÝ÷Ø­ZÓœÿõûcìh ž~ˆ Ñî© Z‹µŽgêÀîBÉryôJè–ÌþÌf ¡ÝoK '1_›¼cßÓ”Ú7ôÞžàMÁëåcUU•߈Òø‰ˆhÈÿ·˜‚ Åo"oYÒ4FpëàPÔ.`‚‚‿ tßÓävýÇWžã7´²²qE bGÙ|j_¾ &çûJȉ¶ãh‘¶ið«rÛè–|ój3ªðÇ»r“g$£,¹ÕÙ–zœ8ÕK‹=Wm*&ˆùÊ®ŠD×e¢ô(‚^}•&Í eûó´sÉûöý«užñ}:Çônó{®;´Î‡“Jþ¼u¯Ô€`­Ÿu½{I‰#êw^çAùîq­Ã¢ ®YÎÛzvZ(o+E[dµØ¿*j|?çMµúÏø1ÙÛP71êcÉF éæ°Õ±ÃCäÏÎÁª]NªçÎä¡òëƒÔÕò£Í%-Ù\s6Lúa6Ù(ÃI‰"ɽÈì á{ŸÞ€Ì%{ OjP¦Õ‹)‘ü,ñ!®Â&Á~î÷À¼¼xPxY "ËÔÛ&•H(FV­îjRì§nõû èÆ^X–ëæ²þ»þLâ³>¢ª¨ø9 ñ| š¿*®oèäuk¥H,ÍEZ´°Ã)•0}÷KÍp”B W{¡yB‚­k´…o$¹ˆo8ÚèÒJâe8ÒFS*à™BñåEôn,a ýŒNô›y@ÞpÏÍØ«2ŽŽ}“7ýYìÆ÷ìù¹P‘£ ½úl'OƒÒ¸<"·@4TÍX‚fì:‘ 9±[œ—óíTC õ´b¹ÎUar]¡u|$–\sšmÛîÑ9G®C9¨›«n@‰`qS_/¬³!J/Áµ•ñr´ÖþžÈ¯„Ó-ŠVÛGNO»§„]Ô¬ÆI€YCáBaÜá:™ÑEW ‘Ê@Iœ`ׯlöÂUJÈCdï„D rš$ùVBÂîî÷°ú £éž4 ”ó Nq*~\Ø…0àzΨ•­;Ò¥×MØÓkÐßF¸ ]Xɳ‚³bU {è N6 l'A×~ÄŸeŒí3wø|d™ELp»1²nº¨bÂ5/ª)ÜÆþÒàÃaøI½ÆÌ2õlo|ˆÄê%›zz‚["iá×øi¡O, Øæt¾ÖÝy‘ÐɂïÀ÷³-Í6xÞÊ®„ªç¨‡§KxyÓKusp%f)õú>Ð%*|ìh9È¿¢ËÏ-«hý Ä\‘ž¯æœT-¬è¼Ã‘Þ³Œ~$¦ª¤¹ýQìæírô8¤ífòqÎ ªØÝö· •ýò˜˜J³Ð[ޏC™‡æÖ÷E˜.nŠi¦6%§ÜU¦2ÅT,¿±Ÿfã¥Va¯C*ڸൻâ†( Ñ'¥4)Ñ~¬”Û¶Rˆmb­º¯-T,Žª»ÔŠi¯½ Ä!Ú·þª¸+1p ‘ϸ7°[ÊÁÙópÂHj?÷²Þ‘¶–þšq,¬Ld?òrØ«…bðΡ&qžró®»m”`ü ~hÙF³è)%¾BN¸ÉˆD€’Ë ýWë|+œ/µS®ô$Ÿûd —[ß½í«°rÉ™þj3ªÏÖ? ó8ÐÀØJr1€Zù´ç*!£®~xê¿…hn¯N *Ý!ôý|Ê^)*¢øG/4i¡Ê.…EºŠÝ Ųݸö~À°Öø?ïF[µEÐÉNüSSàôRŒ]Ùê–ìÄ 'â0XŽêl™pmô žð/ÞÛÆwú9»’9=;!K5<Òz¨ð\Q³±·7õP}3s¾æHœ‡PYLœþäH4Ÿ†ËãÌ|…“« J¦ÈÃΔ–±À›µÿ>¥À¥¯†.Ë\:•k>´{˜k6wx¼ÝN$èÌ_>}Žò#ÛŸ~ Lˆ§ßÃø•Sž%¸ •PyyÿtãFá uß„‰#>ojk=¹ÔðÔÄp"Ð(&e`¿?{wDgÕ}´uäp´<+Õ§áRˆçŸü!ÇAj©…/ñ@hVø÷CNñáSÉúð7•Z^^=ý”™¬µX„ªáEþ`;c_Jù­ µu( Ü Â ¶S¡FײZ6è¢XÑáÿƒL“óxŠE$ÌWi9þ2˜M©YÎÚRZðvñ[üw‘-È>®|ô§ï‡ðµ¿d~;¢GDCGz·à6¾Èš„þ¤‚&l°<øàÀÞµÖú>!‡Q¢¨M§FÖ•¹l•pÖ;Rí¡A!0ßå`Ì õ6Þ%]"”H”*ùéH-™×5Oë){»H<Û ìý! [Ij ü èZ…ª4ýª³<˜ÏÿV‚7ö ±yÈJ–þ?!'O¦XzšòÀǯªñ_ Áñ ¦øì8Ñýú¯k,61ï[Va<\6Žö“Ë7T“2úYpô¦uÐròÛ­•…þ™]z½éNwpŸÕb|úO°8ÃSëD®Ëqýˆ½» «ÛA=‘åÐñÝvgÔ†6Wt’`íÝ:õü6ÀBôv’ðåÊæBÇ%¢,ˆLh9jrÇbŸœ8º£Þ¯·¤i{Ø¿|þ¬~à>r\MR„5™SžéFà¦Kƒ ”“nU¼þ‡?8Ý9“y+<Öì§gH/(Òº'Ï!/—Õu¼&Ý|ª ;Õ‘›pÁ0Ü…Y”_Ø2*¡*] 6i0 ztè1éA¤¤øuèõ6-XŠûª„N/ÕX›¢‰gÐXÂKBM¿¾dŒ«ß6S*wËÔ3YƒÃ5#‚TdšndW,»°šC.Þ;’\„`1&ä׌€•1Õ„põÒy¦ËE´XÍ;Þ%EÁE þ•­I£”è’²,Ó—²ð¤ç"íc,Qð×Ç|aÓ—…{ˆJ-ÃF1t‹¼7"ÓÎóÜ3_[$@{N¶·—ÖjBÂ%¨lÆÞ=ÜÈ×/µy…ó>ÿrŸx~á1Ùåñ¸ø[} D¨¾õ:‹ù@ÝYЂå´þO,ÖsRÆÍ&Š6 ínT·XŒw†´@Ú,ZzgU!•µÞ–‡šZšÅsý¥x›B´ 2 _uRÕñ°”»mt©:2ï,ص¢p°Wô"Ú.¾}{ ä™ý¾aRF¹1|›œ}(ÐtþlVÎ jÛ€nÐ'û¥¸H™m í7w˜¥ˆ|ù}Ìþª¿RÝJ”ˆiòP†Uá£_rŒ¾€ œ¸ô¡Y!É¡úà¡@Wt‰n06esµ-}j>ŸNaT¡è³<øvkmo¿¯&O‚ñzý¼r,Æ‹>,;¥hª&‡1_ïÕ2ŠÒ‘ÃIXêìàBLÅV¼Õð`ð­2ÅpPƒ8†â^¯K}Ñîùvÿ©Lµ}nº.4ŸßI€½¿ÿ&w,‰]Ã.º÷ÄàøBªk„W„·õˆ"ŽXÏ~ZhðßaRá½aÇ~FŠ\Ì'ƒJ-Ý“ÊnÈR.œÓ´R¶„ˆþfΉ¸cxFXÄþ{´¹1؇_¶‘ØŒ¬*fîA´Ìø3b]Ëi+èÕzê ÿÄÚƒAÈ4Ùþ§û:]*ó¤;M•`þ´&Y•d|å×D+ŽVš­²i.¡hOòX!ñ™aéÙÎç « › `hÒ1ÈPëâg ñ´ Z>î0„Zoý‚vÉ „ )àí÷NÖK¤iÈ  ü²g‘C'šöÎTfq²«TZŒÆ¢ uy•ÒÌ Yw.eny‹xqŠ!4Nd:æš"*Ûa<ݱ+^Ðíqÿ9{i'RPc@$|¶/»ÀV‚⽄M š´Æ7ú1xÝcòæ¨mñKõaÀ}C€2i pe´AV\·hžòsvã\è˜l:v©‰(€E²Âä7*ŒŽçÞœ¼(·&}(‰Ý<̤”΋懺Þé¼pþ­7DQ©¾pL§*órJë‹{âŸkÉ“ü¨Ôfç?¡ñÛÃܨXZ{âéà°J¤NÉèàÇG2Åþ·­ò†¨¸$¨ëMv&¹–Ì Sýù‹¦‚õ2;™5.s 2s~vI¨ÆŠ  ¡e^pÃ\÷˜ Ø‹ßP£ÈE¶{xO’¡J’w$‰BóòàHŒ‰¶Æ©ž®)à3„(F¶e^œ¶¡6b‚M¨¢&áWÛ§Lyß8Ì á\‘÷ª_<:útõ¼W ´Zu˜vúÉ>·p²…}aSKIB›ä{j%:ìÞ˜œP8 e½–žD±Hº©‚Ô܉ǀI–Jr€''¤ `¦âÁßô¶gÊèþ)€³Š´œêY¬œm©ÁðúUXùûÿ /!‡·Ô¼…‡#TþÀxÃ[<¶¼,ö¡$“Ô¯plþÿ¸_ö×âª9{ôú‘êÑ”ž[¸üîÉlx׺ÐsÆÎ÷Š‹ã¨ƒ—ç!GZ—†4Q'ÈØÇæSÙ _ÐöõÝ{-5õfŠÓ%_Ô~EyZbéÈKJ¤½ëQæJ»†RÏ÷SýMQx·s¥jØÁÅ¼Ò Í~ÄM´ëFJ¥Zˆð\°e¾ù Ý)÷Xk¢{þÔɤóNzJ-3C‹¡+ÒOÒóøZ‹(i3CÉbZ[r» ˜RWHÿÁR‰!1_ÆE)~&Ã’-5ÿù×É\¸˜p}kWÒ¬ŠÎÕwß·‹Ë“ðÿúP:ÓbÞp晾4!(Û½ xJñRO{ÍìÛ¢±Ý[QaS·æ¶óD¤Yà$mgÖ.i[¬=‘%3Ú5®~÷KA͹`²kasPq+&ðöuó†Û«pùÒL³Í {6Jy0ºžì&vhD ÙÆoŠž»Çð‹³:áô³—’ðÄÍÁ÷Ø ›™-\ŸÑ.Î(\P¿.àBù€½º`ÑÁÇüǦ³0œ¿70BeBÀPFg(7Àå †yÎPJÐïuåW ž,õ÷Îæž¯×‰÷A|*‘”×ûæ›íœI‚¢Ö¼%)Jgz…5Q ®Hf—õj¡ž“Pí Â\KÛ_ñRæAb•ïÄ<(Ýj¦ Cª¾~Âa…8·å,Xœä7öçê¥Z &…dxžWc¦¿³i¹¡EhÂo¹îZ5¶*»¥¾ý'euQólƒ“4ì‚\¢ ªkØKD–AT’³ÏÙãÍWÒjcÛ¦ÉÅTY/¥– ]…?»1jX¥(›ÆÀº¡òëpÙç%•´Œˆ¿P‡×Ö*´ëS÷ƒüï€Ðg TñÁù¼;¹ŒˆŸ§º “#‰dõ6‹êï^ügEö ¾Ö‰fùù[g(¬¤û¿1wú,{YôðÙ%A duÍ6oêÉDÄw{¥-/£ÐWù•¯žt\KS¶-7ÏK‡f¥çši.qø0€P޳'¢¢êc¾v».B!uÇs*Y²(˵P½2Ôî¾J6wΔÔç¨ËhxOw®ÝïF70B¤W¡¡Ü‰Zæ¥ÏwÔRy:P¶o¹”š”³ãœ• b£C:»«œN€Óe¬´Á~§n»APôkoˆÇÀ/£ A|#ÒAž°³™‹ÖÇ ³ÏbÊ £ã¿ª}ígw ™uéü©}ûª ª_TFmj¾Öý}ˆtÉÙ×¢¬Ô;½JɯõÏ»µ>"æ™æÈ”eØL O–T$$g»¡¾VrK#MÎÓŽ³0ß(?h» ’ß‚÷š×ŽµÆƒPpÜ:W,–y/è9¸qiWõ¦fÏþÕ¨0˜Té1­éd+£Z)Ž ŒkG éV?®%¼+àçÂçI[ÁȤ+3.5R£OÝ×\/æÔ¼ºÞ„ŽÙÑTáÄM€#oÍ,ãºJ1¯…’»–ùMÕAÎèÕsíåiK²®ê¶@Dx²söÜN™»Õ#áUQŽ­a-íÂPÔ´ ײџŸ¶¦²f6Áúg³ˆ‡‡!­õ:tO’^¥f‰Ç¦þIÞÄKŸŠzÄ·RP–ºÖúW<%’üÆÃw?9íµÕ_=áÒº6̆¯°n^zy„qIRxt}ʧ½.›¦Ý!¬i7’ ¨pÄBŸÌÞî³P\ÀŸ v9$¤µªŠÿDh›×s™'·û¯›ël. wgÖ¹¦€˜x ‡ô]šØ}G"ب¿¨g«øõ¼ÔE[ˆ0áß®=μìÔbâÍ»eËÀ«‰2#*œ’*”·»j­¨&weÓð‚Ñ ”2U_N¦…æÌQŠ¥añÂ\(µÖ)T»kg~8ÙŽá? 8Â4?È©øOÜýª%òº#¨eRUMo€|(GÝhÚ§9Q„57w8]±zøí¹Du¾ªT–ÅpŽ,^UÄ#´Ù¡;V–bîÆˆñð´ÌÿЯ¥\lÛ]¸UóĘ93N+,¢¬ 5Kb ¢yÖ”ôƒ3ÔƒèçÉ<©¹»øo~YšëM=cË3rÁ^¨žðvL#Íútå,w"ýOĕɪlˆ¬µÞÞ²ö?èßr$yë 0Aê¶<2}Œ†¼¢©D C/¬ "M#«Ëzqðzù|å`<©ìüÉØ6“áÚa‚4šO4Òæ€·z\j- ·Ïwñ¬¨¡&±ë6Ÿ[¸.ã^†c܄댙žd)YZài&0ÏONû´N•ᘠäøeïw+öf!F¨ÌîÇ;ì·iq|ö2RÃm%9±Wæ„H sÙ¨ 4³à<.sÂ#ó`ø<³ƒ9Kœ Ž1~¾¼77 y¦yÉ€+5Z ÚLi¦e¯°„‘‘ŸÄLwVÖøJªŽ ‰ðqÅO+bNOr/»d’—¥ûK¡ÅÏ$J±Æ¤G`ßÏ¢Í,óªZ¥7/…(ƒ]†Ä ÐéŒÜ+B€¬!Òç`…í»»-U=u“б_iÞ·µö W+ô¼5¸•2±ÁæbâÁ‡Â5ox!D /È¡ª²£wòk…:[éó’þßÄ\c¶ísr1*ê2û¨‹˜“Ç2Ê;Vd –v¯ £KÄ¢Ù?3ðM_x1mÝá´gåH½÷ ¤S-Ajk/†¯ ð(3ÿ,š—¤–fŒ”Ç£ŽPÏfâ¢äk H¦¢x-áei°»0‡Z婳=u*~H› ½Á0ß 3½Oü*áÔ‘Ô(´é®fÑ-Nðã›á-C C¸Ó’zzñ¼Üâ‰6É– ñ#1/Y=s–éuƒ¥ÀL 3]X³˜ýÂížkºÖ‘=|]°TРÏ4DˆBf%j# 5É2 c,,ÕÄœ³ÚàßèÇ-ž#f–šq·M—³N¯gçmäñÌÖ(E·£®—+9¯Có¢9ñ\È7UA[ërîá‡3ðHìÃæA gæ-!5Ø’UqbPRƒ1ÚB¾¼¤­àeõ!êåüŽõÒq•q“yó¸"‚ü<Ì«Hs¦?Ö65ÔË ÞÕE­É/¨y€ý@ @dî-*Ð)Œþ n£zÈÐÊpòÓAN×êþÖ 0ðCJ“v)ÿbö“ðœ:ܳFù²ŠHÌ}ö9¶sÒ$3qOÁR¿ÀÌþÍËÍšW€48pqê- `ÜÚ•óŒ˜<ÒXÚ6£ñ6ǦvÎAŨ:1…ië©ÿæd³Ò3ù‘mõ¡‹qF@ ç«à\OÝÒþç<èMüÙS±(hðwV,Ù’‹1(¯êáÍ'O½U¥#ÊN´(¿LÓŸ`ËòÌõÖåþ¯æj£CÔJkhÁ¦¸6Ž%«+Fö?eð§‘¾N“Îìã;5Þ© ,seðG`üÏry"»Áöì59e¯PlˆŽî¨ŠmŒŽmLo¢fµŠ›B't^óêS̤‡lšØ»[è¼b‚í83âø<æ’Ç] 3{¡ƒ‰B¼\ÖŽ9mØÇFíáMyeí &M…æ¶ ÒkÉÉß"£ú5OæNŽ{{`TU@OknË5ÈK›P_@™#áÛ"®!›ÆïHw`¡M?½\ešÅ­Ù†à4AeØrYšÿ•¨ j‘¸”ZMj+ Óc—ó˜›+¯FW…£FuBwhÜ Èèô<ì™”É;Z¢ú9dKšx Ðf~àX¾Zrí³wñ‰aÀnÉæ3?€0´¼ò…UQtŽÛ6Kȵ¿¯ÛºoTEq¤. l)¹Èäî Éîg}dEý¿û†àå)êsÚüp¦ÐR/dù"©Ërf^:ÝJ¾ôñÕÀu6Ë–@qæ×ñû0M0‡f ü˪t» ¸·U1¯y<Â_>nf.Àï@Ëíºäë*ôÙfޤ–ŠØ',Ã)l7“yúm>¦{2°-£:^ØOh 1¨› Û¦K=›ä è£z`æ¸ÀÅZ»H»VW?0(>Çvû‚‘ ¸–üå *TKôNMyžÕÒ“SjõÑH­ßý¾ò ³J¤°ì"=ÎåZ~±jžO¤Í¬º–gŒ"gÏš‚‰ñPË÷,ó¡ä+àrž2 ›¶ÑRcÜ„"úøŸ²MjïY V9yçÿëqˆ^RrË Jƒ§ek`–žÂΩ ·úU 2žÝhûììâȹo$°>qa–ÊÌS ò‚jîOÞ¸0è!®;›ÜÆ)Ï®<w?×¼_8|ÿ¯nY …¡…„ã ܱá¾i8ò¾U"Tæ+m5_¤äÎ@ßl‚ÇÕÂ*&{žËL9á¢&ÿQZ[ý€²<¾lõE&gͪ´¥ó(U›`n‹D àQa×I°Í¤ä“×P´©Q‹ì°ü ûkú8Ë!ŽzÆ_>¥°Â­âñE(¶S 𽊺 Kiü;} záèiÙ`…tZwç oÎù… zÍãVŒËlê AüÁ| d¬rû0ÎF=[‰iµ™ß ×ÿûÁݱÏ^ÑNR!ó- ¶FQHHü´XãQ‘Ž]–ëÝ{WÞõݽ˜IZÙ‹¨‚)\ôÄ`´n61øÏ¹Í¶œ¼w鲪L@Û´þŒ±L \戾‘– «óŸ@hã?pÃùŽ“‰+ZË+\åy=¬S§){²I ,,U·{÷VýÊŠòO*;(_ áà Ôl M­Ö^cFL m ="NtgÙ‚ôNßûz¯87˜ÍnÕH…»Ù€¶1IÞ´w¶Å®xŸFz¿­(2ÞðÎâ7G,îBf‘~U,ªî£ìÓVª¾bÆô¤R ÛIµ¸P ±¿a@ç•1SçèT­§—µÎŸõd‰µÓ KíÒúlœAŒì4ô¸îB´4È‘ÁØšÕœZ¥§¨…ûr˜¶ÎaŸ#Þ^7³·i5µiE_ðC?άDŠ1NFW ¬G ]åÝÂø»þF“qŒ!®ïÆôÚ{©þܘZ7[Ð †­%KpÇ!‰‰›Ð ¢*–YŸC]§S¢½Ó››FÿÈYÀa·X²ØœÿÆý¦®c^ÞŸ0åI`3téÔ¬„äƒP÷; Ôï~¡õyá5S±4v+«-ÿÓOSw;€ì8ÏRóêõ¢õS N?­+ï~*paQƒñBx „·`?¿u×­ÙóµôË_š`§ïÇ<â‰GiðuÏ›wl±bœUŒªï±×ztœ'´Z£r—a|Åà¯6ŒQŽ6Š¢øT%ŸÂûWÜ—éïâèí`Û,Ó´ÍoxÑ }èh2yäã¼x»Y5ƒšví·µŠ¿œOÉŒfÞ^b×Py÷‚0YÛÔ ÃK¦QÄ”ˆ•5öÆ0®ÅñGâãM šæTUIã`ˆ9„"EȨó¢Íný6`Éwk’L_h8¼ƒì·§TM›³NÓ–|Åe;¦“å^Èq 9ÜÉU-ïœ/®OOts¹7•¨—$~"š¦è_Œ•å|B('9 òËÆU“Q¨—¼¹Œcl4AX®½Ã£|U2(vf«RWÆdiM›0–Ûª•½S‰! *Åv·«ºt±IÀCÃ}ÑÄDˆëi§æê&*<='Üý4¹…ð¦eÁLt ËÏ Ç †1t"w¢š ^æ{CÔa»¡8^ໄƒ{:Z?Ôy6¿l¹‘&ä±[¹æD^ Óïù»÷~Q™þÅyüG›9Ò=°œ —Ã,å*àqÁ0£ÎÌœçX˜D‚Å2y½ )I,ˆË úµë{Þì“=­9³ß4ÅD˜e´…ÞYÁßëë:Ì7»2d‚ÓaÕ°yð6µ­L°r3˜_î- øâ„^LÙaª­o?g…¬rÄßå ƒšE')É Ú][ M1£Þù’XBöóo4uôÿ¦z³ûËÐMä§¹‹¹8^_‹¹Óze¥)I~”.÷•æ<j@”¹Æš&v­-Gq•ÐH‡œýê ÈÈ ”’7ÇbcÎâÞeÊ®MAàWƒvÑÂΉRz7@ølMŸ1­šT«Oˆ#iIwlã$ò3:qQ$øÝÍawdKdîª[Á0‘0–j·$ä^®Ã3°ØR&ï?¶ÝÔûSîƒ)k‡ºù¹03@ó¼‹[¢ÑqØàÓ ˜ëæÃG)g2áØköa}?ÃvÒ27éŽ÷6 Á BiÝK8¨ÆtOGMü/Þ´ÓeŒ>4°¦?5Ð6§„k@ºض2ynì÷˜ó_Hñ=&ý.ˆœÈÓOpëœ#]h5"‰¾Õ˜ßÍNÜ›º¨¥&ÍGÔÌA2~G;Xô1Dÿ©ú-àäÛ°@ñ•Ê&,{f³±mµô¬—”íäœ0Ø-5 iÐÖ=+¡*Í¿Aóò=!ªí©ôKÌÊG` íZ"»»%%ÅÈi%‹ŽíTÆ}­èªIVKe³·ü$ç/‰žއr¥õ4Þ€_/ ¾>-VûëÑæû὎¨œY*ñfê “þ_(ty^§Ýý±x£¦[cé{¹Qö‰“©5œ°¶x–€ÙKd¹àªï{ q­¹•š¾iR+ ¡V#ñ޳¤Ï÷"#Èc©84zÒgtDi7ÉI²jîdþ¦&Í5±ŠÏ&&÷¾Hœò”ZuÑ\ÝÃîxo»‹q7Bòe—?qßÚÖ…O†K Ö|À÷ªR1YMý,°·;¹ 5~â»S[#ÆFh@ÅîÚ|;xÖÈù²yêþÚ1óJ¬k‘À42;Úzõ~Å6¥éEéPzô¿~oýy\$‡r£C'¢b„«òô¼ö¯(:`C öcOܱçܧ´T¬uÇ9—;cí°°{Þ‡‘„Wqlµ Ñwu5ZWŠîL·ù|£ú…gûãÈÃÄ¡±ŒÓkðÜ’Ã`|½tšx¥5„e£¢n¶z^“Çnýzؾ“޶ÂÀÌë2 …áŠ0ÁáCq3ˆÞÕW‘¬i·Ë˜|Cíܽ_®B?°BÆèòÙsv‡°è;YNk‘©5¶§Äz¡ÚKþ„ÃÖ>Þ…Ô&=ˆ•ÔÃq:¾˜Ø;}ÌŪN¼+‚°|Ù“«`îå”}AÃÍ(Cç¶lk…eNÞû¢WkPš‚mMM›bµâ LâÑZâÍT¬±T‚yb©‡K ×¾oõ8^Ux0;wÆ!½‰y+Øalä·çO[Tþ?œúçkî HI·ëôº4ˆIµŽy“¶L’ðšòìAIÓÉŠ¡7ÐÚ‰'6çÆ€Ëªi}È›nIä5MJ7^T Ï1¿8‘{ð3Ä{,H\J)¶Sû®³!®ßXNëÖrš¼GéfÒãÙ¡©É¦Ýü.&¾k;ñ*wzìS G1»|pâ5Ü}†nAÑUF÷ÂÎ:t¯OS}³Êø-Ùe(›‡ËØ%KfÖÕWÅ,U iñÍÒꓼw—vŠl‹eŠ€Nóh¥âã™”¥•Õ& Z1„Œæ†âANÌD• «Máy¿Ä&Å Oª{ËíÃNl¯°”u´ÁËý^å Ý+½çÜO‘‚_°ÿU%Ó€üA­Xª¸›óêU>Q2bvÑ÷ûqfª’4C¢¼Kh¡Ã1’9­ ¶}=šeEQ¥]þ=Bd„¢r´ºhÿAõÆÝP·hâ¹L¶w6é#©ã'[œŽþCáyƒŽpÏ·ü7O´XÈå5sN¸¬‚ù¨Úª¿# z–KøØÕ:6< ‚•X:2?m2xï~ŠÝm¶1Œ<ÈB ²‰$÷™»úb ?¥.}¶Ëßû7øõÐs„d‰¼°ha‚]ÚàÒ1Ø«VÿX¢½g$í7;ÏgÅ-æè¨sa8‡qàŠØ w±Ýkøþg1B$T{ˆµ§Á¾Œ‰Yµ:GM?ôk2kݵŠ2ø®æ¶± ëÒ×&·­l¬©{–'Ή·¹ò¼d´åÛƒ&?…˜Ó»q×Q•«5;aruÿ“Ë1Ó’½3°ËŒþk "†þ + Ó/ž ‡'¾ù?¾¢ÆcRì °X ªá«»à~û‡»Ît¹!ÌSÞË£ÄábéPŒK××ÚFàTBR‡ÆX÷úEN\ð&uûVÅÕÞ>$½`pËÅꆯàÈ)¤þêÁ/KPO]/[œ0áÇëÜýmy@êG÷S†3‘Ø>ì?["%îj•õÒ#x÷†ŠÞú^êÏž¾çŠÙ¨±j‹kafž™R=èÙè4x¹ý}ß}ÆH‚æ,gv°Í.åVqÅþîë÷ÁrXØ´DŸt¾!ö~Å`è0‡HC¾=dD¯—º¬À篣ÞYN±¦Öø6ÌîðtÁ¦WF5FjUᆦa †9X WŠ}OÒÖ„ùh|FçûΆ‡¢ É÷eµuGÐÈÄŠŽøPã©Ã±dìx 8&éCò·¼n —ÌÕ¨Ìüè8Î ÓÝîy\–¡SsTJÛȬ=$‘ûÿá}åôh]›^2CUðmÒùц«t>Z¦†å=Ó^z.c€.i}äfÒðL>¨sÀ¬ªµÄ=ž6¦è¹ŠÝœ6Ws¿Ø-_:;˜‹დÆçT- éðe^¦Q-X:NøOÕ,žÇhûýüKhD€YŽ×ÏLœpg-¤ó¾qØ,&ìղÃc2 x=ôœÓ/O}Å-ò¯©ÛO·-IÌÇœ³Ë¯7¥yK¤Òh}ãQî›l…¬*UŠôéú·Î2˘<ÏYg— õÉ®6ø#©ZŠ„Tl«á›¥”á Ãey‚\¦l¯ú±À~+)$Æ(´ÆÎgQÍeÂÕ5Ôo(QL¾æ?U`?mƒJfû§ذk}jàú2²­‚Qšñ¾ýR—z§èÏä›ezF¢0­NÓË,N”ñ!^ó&¬ýÖëæXªC,BÄæÉfáéÙ›‡ÜÃ576@±‹Yf>®hvsÿB¯Û#Î;L+¡‚ÁLY:Dáò—äÑüQ7¶Þ’w×]/[ŸÝ,Ø5ΓN\‘ØÚ†ñ1C¹•‘e¶ x]0òŒ×`˜ÞM0œ…ÁÈPÊB †ÅÀÂ"¾äZàMQ”†ã“ñ¨¥ B½T¥ES¾%ÒÈDGžð¦a›àÆkíùG÷)Eƒ‡4>Û/M©Ë°ýiÔ¶G¾Ù¾úíeÂ}Eó’ñ’ßÁ¬NIjƒ>ûÉeiÚ¡}“ˆîE”¾VQ`:à2CÍä«Ùž;ð´ÝÅ ëV(¿ÂšЇ¬Â¼ÏgÊaVëÝ7!±€OX9IOþU¡I›¼#|ã…Ä_ j;ÿiøiúÐ]»&gr—YÈ¡Dµ!ÀßÈ6b¡àÌa©¤ní7\9»kd,îDôå2³2 0óþy.StùLÓéïÁÌb~€žQ½ oÅ!²Yqƒ³[õ@Qì’º*ß_Â*”Jø™è¬øê®nÀ€Áy;ñôüðùrÖÎy÷„àé4AШ“øóxrRЫŠJXj¢*X©š|‰‚Vì‘’{1ýPÓ4LÛ»œ¾äKJÚ!^ËFýì*0Ž“šiâß%³ýšY¸ÏÓ§lLg7ˆ}بPÜ·ÛIß ¬xÅœXûépŽ£hÃk]K&£FJëɳ“!ºÅ¢Øåÿ¿öoxN´AÒèƒÆÇ½Þ=çgQ<:ákiK–«'à o¬Ó“+jù}¯ Ü,û³èÞèÀ}ýã&½(ªGØã’þæ8i¶v"÷ã,[ L×|d­ÈÕ]]áÕ{_‰¸æ}bUó7ÖXNäA9ß«íªˆP¬ò>ÌD7H ¿ÀÑÇS¾HÔL®cº*7d+šçÖúoAœÆÌí§á†ÙQº3‚ò7V´Ô–âIŸLBùî=ïy×ë4F úVœÙ€üpLÃv 1¬/äFÞBg²PÒB—à iqdë1<í“ óBe㫆È-$ßU?£°YXß¿zçd´ï”ÔZЏ™u‡L{˜6ÙúŸ®ß¨ÁTëªî,Ñ~@PÛE¬ïhøýÍ©–"pjZ™ óè6˜8-Ò%³<Þ}v”>>iÝøõ’âsÔôôÌ cé7Ãê¢ÇŸL¨÷ü›ÌœLÕ»I{ÂC´™¼Ô‡‘ýÒ|r¼ÌNçlC1‹±7úv÷°ÌZ¹œ9Œw±›üö÷íë;9-”ôA~C(íû)ÑÞPé§tÌ3È —Âñ£Èå:Ó[îÞèÜŒà’Øb"긃–Öñ¦cšiËÑ|†7®]»˜à~Ü‘@÷Ÿ„´ÙÈî)É“²ûkZo+òùßþ0î)gMÙ`]ˆœ‘ÛÕi㲞öÐÃØ¯Rƒ#a}ÿõ7˜>LËU.´ò“ËÇgL4\ÜvQ)ïÙõ/“<5¯[[Ðt/{†Ò9 6ß÷—šÃ)¸¶ào犖ƒUÒrðÚíbÏWÞì–®–,7ö÷¬ÕÔÒj.a}^ý$¿À]–ôv¶.³ s˜NO= SQGøËÈÜF‡÷€n®š>-Un>S¤Ž CT-2k•M,”umíà9Û ¬¼ \K0ÃVhÒ/-Û¼žÎߤýœkžªÐüLÈò&΃ÚŽ©¥€* ¨Iü G ²FÎ;mÑÔÁÚ™ë›" ’Û½—Fh2Ÿ•Y ‡t díªæ›ñ(K0§hZ\—›ÿc±Éå¾ Ü„ÑZ¾ˆ}ÁE·ež[~.3 ¾åKçàUyGÌ {:>̱‰¿Í•§Ê’ÈPq®XüO( J–'Ö£þZWPEø‹‘ç€pd«ÏŽ e•°XÚtjðÅ û^yÓ<=üùäà3ýõ‰m×Á)¯yjx·Mc“ÁõzuyoJmɺ¶‚ñœÉrÎ0µF¯äpÊÃÌ" |»é³£ãƒ±ç|"Óç„}š°7AuöÉnƒüCúg6aÝéÿ%Þ“äk?·O'å¢Û«Fzbr9¦»¨º˜èÝÜÒ“üÍŸ·¦êi‡­håRšÂ êÙ&z]1Ød#Hã³K‚55 Úh÷+³Ã•º8^¬u Üa^È ˜à—bsØÏ ë%¬yŽ»ÛF´y«“XòI÷BêX&2§QÔVŽÚˆ?eyJõ’µ«“^e %”‘X,2öcÊ*=º3Ãêp¥wu•Í¿¾tÙ@Ò:-¤£iµüá#q(‰yûØT¬ºxZ7|¤¦$­'ïP'~&ZŸŸhÆ™ÖË. ˆž÷×o^¾ª³ ¨õEkñWò‡$+P‚&[l\Ž« n«¿bF²ÑH k#l>S©"´¹ä `z&ÆY}Û¥È>ö ÖßIÞM6”Ïø6Ô¼oGÐÌÔ "DS¥Â¨UÌVbóŸ/f¬r5Ãì4f'ç?²ÖƒYÿQM=Eš%¾ãã ¼Öõj­xM®2IÆï° ©KÌÂ|ဓ7\Azw!fíUªH&]6u®Êõ²y…^9Û)©Ÿ—q¦Åè« Ô¯›†PÜ £0ìf ;ןvW̉Ï£¤ÊÍÇ—½ºŠÕ˜¿ÈÓdïžúØ­{;é€ðç̉Áç‡A´“¢æ“äÞu¨ñ¯%„6Ç«bµ¿#M¹¯¬*Ï!€ï¼Ê4¹µ^ùŒP<îq{惧"¼2êç6`¶+rsß=êäj÷hË û{§Sp-»xmOÝý©+J¡*h„…˜¨s{´{¬ {ç‘R¡¨pu II­(K!¼c°Z½a->€l¢X ‰|°šRÆN¥çl$(@üÊM –òØ{ˆ`aãì^¥÷CRü¥ƒô:þªª·Ñ¡3Øk €žY¤ á7qª¤~D§Þ<ø”_ot•+5½¦¢6hXa»›QÚ óEñíl’‹|‹@È#‹ ¢ ŸÙƒ(ÿb!±…‡vø¨qëä‘ Ù¢ˆÒé»o‘âè¹Ñ7~ÏþWƒƒ‚tÞ·‡)ðDÔÀ-[“iq‡žŒÁ×ôf@ò“iQÈ Ómílj6nj¨U0Rû¥zVçÒVTðÓ2sÐ9ïê}^&³+N: ÒG“/Ûn)C8¸BK¤œ,îÏpa÷ ÜHˆ•¾SÆÿ%fÏÞˆÃÅr ï^ù…?™L4ÑwdËÚaTÅvKÕZ0¥M¿«-¨`J @H’þ¾eÏÅð ëW{Ï[RùåhO9ç¶±ÊÖ©ºmÆB’-ÙˆF,ñÜ4 æuOKH µ--OUè =¯éè‡E%ƒÖ|s>Á*û¿Å ÁNûpëö e·u¶u=ÊúXkR†/†þoHS|°@Ö¯AÄbl°9¥÷í>-=í¦º±[EùaØø–“¦©µ,s²ã< ñ»úˆCràûÅŸ`ˆ%ÐkOô™ñçnìÜc¦Ì¸Ÿ¶u…e`Á_"‚ ‹'„‰ýFá!G¼š¾­{ p1þÍl“9FER†“&Ì1Q¥ý%À ‹&JiÛÙxÎAv3›šõòºWÿм÷ìÝQ2ÔŠ4&¶R– ÅAçY 'œªûþG…ÀÃ[©+†Æû0WBlSëSnq¡‰%ƒ ûúÂ’ÇLUÞÚ ¾<ÍU¹ü÷nÚ7âNî6DYT³*…'§ùƒ›E½ƒ;ïˆ{#èqåø«ŠvkÒm=y˜·ÒmЃ³T¿—G5=­ßÓ¸‡ƒÖÍÝ.—²I ¥E=Ñd‘L¤Wç…_÷†rÍ H EdðÓˆX„¦#Érz8tegÈ­ß9 ðê1a[g’íäüϼè«Q͵^c´œÉF±@gËléh:ªo¯„E6‰ Ô˜`æµ%ú=Xå›ÂRIbß{ËŒ8—þ€á‹IDyŠZ%“^pŽôT0o])㫌G0o½šÕn$°îKÉÖí^¤1•cˆÿˆ(±›ã7dg è)&44ÍÖ5gyPEšý³ºÿà`_ƺââÞÙa«üVoŠÃå«áÂrŸSõO'šG\çnêÕNJkÄ€ ­±ù0èPúå[kiEÏo¤©»»&)20¼%Va2( FL( øªÜäfRMíg_ÿcV ?MJ—«Þük)µÉŒÐëËQÜ&4Šr•…¤/Å2z¡ÒíI(Qÿ %r0TL|ÆŸÍÕmiz21xv ëuW2‚G‹ôýM^_TO.6.E@§³~ô#$²c.E†@IaoQÖ–Tò–Õøö•Ãn¥Æ°$¿‰âæ+†“Èd¢áeeªeø„²[j*DËNt!‹[5oäÔƒç*X Ñã]ˆXÛyÉÙ¹dž)aî*2WR·öà%‚í‘¶P;ÂáÊd0&¯ž•”CW´oÃ*Ì1 ÓŠ‡U?ÿlJx"ñÙöŸm$¨?tF°þ¯¦Od{_¯X z;ˆ2Ñhù·. ø=èºâ»ÙÕ+MãgoÕ,èvƒØ¾r³F©õ 1&£à¤É©ZJfÏh_#Œo¦Àn6Ü3 Øk»( â|Ä›}„etÍ­f›á²y|€îV4}›š šãÏ5fËä?y7€Hz LúµÎX„Í׎ô%y0àÏÀ­þ#WÐKëEÓ„Åz'É2Ó‹íRÕ@чÔ×…Îf÷fEJ¾¥ô›«°B»;×!}ÏÏa{Ñk7¸é¨í®A†€ŒÁ´¿k)•æÿyÙÏ@À° • ßÄ’+‡‘Ô€Ë1d¢J§AÌè{ÚØF†O÷ Ẽ)ÎàÛÎÖ§<È NùzÆw­© $›‚Wê|n ²Õ°—kÕ‡í2Y¡.¾›æÞuBÝúT0fOÂ)eà+0”°vª&Qú0оþ§pÊî Ĩö&À‰ŸÝ`MȠǽš~½,CÇÀ n÷3!lnfeÔ}ioø1cúê]³D™Œˆä¡Å`¼òfפy7¯Œ0f–§q'Ÿ#9ˆÀ \#‹ËµÏªZŒd:ø·œÌ±yã˜Ê² ïÛ—…È’Ò8 Fz݈EpÕù¡^ô¸}™`ê3„U¾Tö;‘IƒÇ—“É¢=ŒÞÂbKƒÐ´rг¿üØÙÕíd}Ì}ª°f'×qS¿~K¢Ë²šI1s˜ú!6g»ÀªéE›"Â-Å¢A» §»Ã}M°øFäÔaA{ôE<.Ë-%3·²R3m— mr&ÀróãÞâ“ÜaàÁp\D.Ž]»X ‚îNèŸ#­%;ûÀ 'Vi.ÌǦÐâ;Ešnßxs‚ÎG»ÉKdÚ¯¼ßr3ÃÔS <ÆkN:Ý]\$4¥pæ÷ì‰,µÎ |x‘Ðà³TóxŸEœ°5‰–`ž¼^ÐYÖ¸£mû¤­=Pš7¬Î†"¦K°oí9E¿1„êó5ÖrÀƒ€Ýâ*ÐûAãà›U¤Y_Hˆ³¡ <ÛšKb³oŃèâAyßo͸2¾gç]uBt¿¬‡wˆý®D>a.N,{I0õâ¯è±Î!?¶,=õj«È+8ji§Jƒ4­¨›±BQnS4Ø·úEža·ýϺ ÐÜÕ‡rôí_±È c#<$+{s蘾¥CËÐ…[|%ØØø\ø¾¥A…€‰‰P¢ùJ‘µï?gTÉ+Õ‘ ¢Éƒ›ÀÙQ<Î&DM)ëÙÈc!»pU-15õØ]wk;60ÿáâÈâáÊsÏ*¾ªn¦W¹9L†$*i$ê×Ì¡/Þ?LQvùñÞÝDC™£a_$‹•ÌÄf\ðEÕí]ö›ÏŸ¨ÿØ.º›gbMíPl½ªª„Í2g¤¨õ‘'Pö¼“’JðŠÂÒŸ^&oEhd£»výbT|Ù€—T ¡üõû•çî€SáîìwgÍðŒ|šäzª\Œ8¿ÞÎÞ`÷UÂÁzå~Wå otþ­ªyQO'ö-zEçwï" Mì‘H@0Èfð) Z{Â÷ÀÓyƒéÁné^ ÔæÍ¹~h7ªð)“dTȨV•]V'\ È¢Šy»¦¡Âq´zá¿£·b«žÄŸ¼Fću£ ¹Ó£"Ó}N½é5u1aŠŒÇÛá¨!jOö®5€'’Ÿ®±œ?¬8Lb=ì³C(h0½1Ñ‹žê<™…±^Ú”€Zj„'_?&2E-\†?dDâýâË£9ÂOæbíC±ÑøGºV"¡éÙXç+\H÷4¡ÆÈK{o…ñÉ~¢ @Õ9!s»mœ‘ÛViP×)xxë­L«–‚0ŠDù§à´ænÛ×v?Lú½B¬Ê…bM&¿hˆ Äø¹n»EX“ºe:ÄÇ«t„ls y+ãl¾Æ®bh}Æ\ vzßmjàb”ݯš(§·2ñÉörQ¤¼Ü¼!²JT»Nm·0‡Û<æ—Þd¸4b–áÍM«Ì9Á±X5$ñ+€ã}[¯)ÌÚ¬vÞ´ú†bðÏ£ð„­fÂ`µÕÕJý±6¹@yew ƒø2Ô^øØhß”kÚÏÆË«Pº§B‚ý†eô X„FÈ–ô)ÏÒQü@\ñJ«(`êÁˆ^•õ¹HÛŽH¶f4/æÔþÞ[tkÍ2iì©%¿€ó=Bê`œ pî§gn’®\\ôžæHkJ·„KHÛÐXŸ œ=ÁÖŸR÷É-^·è¥žÛNQæÀ¸›?õEÿ0¦Ըx×ô"#è²^9óä{Ê÷8´q§—ó"{=É>"wyî›éág}vª_T«˜£ ÝëáCEåéÓdõò]Þ†ì]µbÀHHC}̸§æDòº—…óŒìªgfÙ{pÝ4Õ˜ÓùZQk(ÍöæC»ÃL   ‰ðöÉŠÓ%!x98(FF9"§?øï,’1PŠî³R­™Ü¦± ’ÜËjb×ò” F.E•FÑÒfôªí æzÄ Œ!LÖìúÈ«ø‡—8^+‹lÀ?f§¶_¦<ßàI:ò´æÖ.´Ç·R¯výœCÅ"´ ɶ騑¿-º@KuÕwãù“´§@Q•vàõý®¸”WÍa½‰²Í‹óPÏn)·Ÿ?®è…ÞçGâ¨aÏ -¶³¦/SÈÀY£>¥±¤,²'ÕC;gÁýƂꂗ!zžü•°® €rŒøÞš‹¸ÍôKI§•ê詌óX1l}ØŸ^XÚÖ·!¾=6£¥˜”Yr¸L©{*'TZCtd>QŠ¬Èµ+å¤îŽOSÑï=/>k¡U¿NãÍTJ»Ó.0;¹§!Èq»e•(öô!­¨Wy)j¯w852}s‰ÊêûºÔªO©3•ÖšÀ‘ ÛÎ'òSzz¢¤§/?‡v>þ`Ö­«?$ +Q šâÉ¥ýÌwI" Xׂ&WiâqCÔàTÐÆ#Jœ §²‹)½ýÜë5ªÂ›Wv•fÔÛÍÝ@¬>ƒÜ~Œ¹ë«HÜvÜ ª…EGøT›'Å)•ƒ;dÅþŸpìÀæ@4¨vª!Ó%ümö¾UK¡ñiI¶ý0ǰcTfçpÍjU¯®°§j/VXr±¶*¥Öß®;Qa±Ü3­ôóŠ„nµ€øÙè1âë*«5+èvéœw(¢ÝÝGcEtzÎ’OäJœÅ“:õÍ¥3F~÷S3¢H«ía 2“©h–Dž¤(7N‰,¢àèìš?g2^Ìî´úd˜‹ÈÉ,.Ò¡º‘@Kÿ¾ 3Îo  YcýKOœ"Òáñ›Háøíiµ•EÖsÔÐç(ºÀµ{ÐIð}Šæ”½c¬}34ócø2¤ƒ+÷ä¹>Gí©ì“†š°…¸e9ÈÆ4mͿĉ–œ٪dz>™ûa•?ÓÍŒ)ú!Bî#=O+1½ó~e¾­,d¢Ô“¡|ñ°ž±ší(’é#üß3y¾=‡ •‡ÆgNgkû(»ZJÅS^|GlÆêÊÚ›Ð>ϦTÒjUÉ&«\9—·"ã®vB•Œqõò2:19 ñ¦±§7|üú—{ ™fNëûcǺ ï ¬Xè+`´`uÉû¹wIŽE''¡z¢Ú‹¿Ïvb €ÆàžÂèúÝ¡§…‡fnB÷ øB³<LJ&Ç…_Ù!_"CTOAT dŸßúÒk8á¼ýFF“?ãÆXEþ¹H1Z@:Ô3;ÙÿÙ–“8ŸÜÑáU¡‹›L%Ü’êr:/ð ¸ÐSà%xû©X ‚{‘!=}“m´¶€ŠØeyëu‡T.ºªæò?€“Íñ;_š£ÁBúv9ŒM”Ô³ã•M¾i–'f%ºè3Üì Á¸jÑî›ÿµlõ×Ç\6¾÷öi@¶«ÿ¿Á³(~H«þ %Z>®GÙ²3z©Gñd…ï|á{†‘LôêýÍfðŠä…¼ƒÊLíLq_m“'Žg±‰ÅWHþ†±åóáWyVM1Ïi,ªœÖ„q!À™˜Ö+#oòôN®7µ*xŽˆ&Á‰#dŸ¦Æm©Lñ†0Dôc " ŒÊV7ZgÕF“¾žÉUþÇ…T·˜?‘ԉ´‚5à0n>cmKÕ#ÏfˆkIC;Ìì‚ Œgøñ ís!ôK+n··N)Òd ©¯=Wqÿ³Úœ›Oòœ»‰_®8øäÏkˆ}]¬×TWV™iñÕ6ôÛ/o – ë¬†þ}㵸< Í+¾)l¡¡§½7ØÓ°Zî0q­e’I½K0ê yIŠFsŸ68çiÓYCÜ–X*ÿ0´jÉgˆµ ®]Jü¯|hs|˜p¯ÌÏ—€/Ü&ÑK–õœ&ÄIRv0ßÒÇjéãœÈwÖ8D,ôçóœ'^Wƒ½H}L¿öÏÎQ!ó¬‹EB¿üÕ~ˆ…àA "6üº9’—î;žL±_T›Ö´Á{Í» œª£èáĘ-ES 5ÇÒEä­JÉ÷#›rI–¹§¶/11ì#eüD“­¸¶ é…š7žö)Nl:jû˜ûåXâR›R©@á.s )F™k W˜7iÍK6ÝP‘ç[ÙLÉžÕÄ·¯ Ÿ¤¾ Ûý´9‚ÐL-d0¢&wÊNˆz¯—W÷ö]œÿ/T´ËšÐËñ™“ô>Qì.xVÄrz7bV4÷8²ëâ¶Ð0‰‹œå#l7ÔÛÄ.©[:ª ÄâÿN5ve4úì}4 *ù9ôS7,í¿«Q„š˜›óåk)´ßjÌ~ JÒw3àe²ÿäq¾:BE2ìÆz†6bБaa_%#=† 딎›¼·6ՠ鑃_€ÎÜýÚ 'Çé#$X”ÒIU¸áŒMœüöÜûW«wì'ÁÉ£§«¹'Ò'¿n|ÉP˜ Ð8Ö4Ç$OMâ”ìPrÏ ¨]©ÿÄP³æ€&ž¦¡Ÿ¦aöSø±lJU zÃÊóøqw.ojUBtVU+‘÷χø”×'£ ¸¸ôˆ8ç¨Î&¶²sOÂ9Kø QªÛ´³«' í´êmú“Áç—Ci9c¾Åë7ÚLân¾ÝP°mdƒèøoiü-ŸÆ½ÎÁ¢ëQµÝ¤°Š+¨/ú³$}ˆ]޵˹æ@|}åƒïAè·/lsÞí Y€”j]ñC@•h`ðG•^w«äÔ«¦ôRe† yuaspnÈüëšî<—æŽÞG3fÇ ¾ 7_¾‰q±ynŒ¸OSy·µnPñsíÞ€6™Úú]LÜ=a1íÈ‹öt ‹h=B¹QÊß~¡ Ý5Û:üôî„R±ÀY÷e“´ ßN½ËýÐ%;î­/+$/–. b'¡ëÇ@^Ë_¢{­É¶¹ÅݪÓV7€¯4¦";²Æ-ƒÙºÝC?¶Þþ¹òv9½¥»o]«)îDÔS»ˆºï0÷1ùåê5 òX¨‡òN®®¥Òú¿·sѱ¹*HTRíÏÇkîv ÞÁÁRrÂAY^Ç0fÓš™D‡„bxäİ$‹e:ÿ‚è³ÐÝ%#`W’rØ]™®Íµ[ÿ7÷kâXIª–MõÕÿ†Zªçä,/9ÖúÊ\ä’Ùâ;˜BCë Ü‚âˆé).# Ò¬ B¼[õE$Äž®¬]Òô3‡FÓ¡™—UíHÙïQiGÒfW¼íü¡Œ¹ê-ûz/2ìˆ_÷é*ƒLš1[±2ê¾V¡«ÇË£s¯o[cy¼Á ÃuÚ°ýü ©ïòÕêI2t¥ NÊHãkíª'ÕI ¼»1´•ån-®™á§Ð} üÅjVmÑׯGÒmEåú†¶!m¾ŸKè®*Ýo¸¹zûY˜S]Wˆó.2iq Wž‰8•¥Dª!T<Í «¨ñL ᇵô%ž ê¿fE¤æH¡_ N¢B ·/ƒm;îޠΙ4Âz¿Õ‰?boàŽ‰œb98²–ÑËpÒöMÿà÷”úZ&¾ë"?aš¡d¦¬Hø«ªb†„£çç…,ÿÚŒï±tº&ðtÁb!™c†úrÌCÆDßpáÐæc‡ßɶ'u#f]3†Q†"³çc~ãùaniæ+÷)-v{ŸZÄú/äØRTTM9åŸ÷ å£X¨iÇùv3ñeavFò8éSqÕÞ{õ=ç®þÙrç Ï¦©œ­F¶ðG˜d÷?¶Á4WB–¤O)8]Ä6ˆ3þiçÚ#‘læ–¶§jîÊ”æKôƒI”Òï¥ýYÕ1[‡$o‰-ŸX&n‰%Y•¿ŒöúÞÝ.lB$Öõð:@ëDs#„f®øVp,î¨H˜PöéäSÊ{ºá‹§¿!›\ñ(”ÏÙÌ’ìpTûËù=]]“X¡ۻ¹.àg·¸åP‘}°ŸË6ÓÄrÐì*{èmO·ò©Wø€Elôìºÿè‚{†'ÍÂ"’T/Ü΀b]ªø2z‹oŒfa¥ˆ*XXÍùSµpë¥+Ò_HA ô©ðYÙo3jßß?=Iž^ü–þ©†ȉm3ÖsÊ1¯ÙXø6q°¨!Ê7‹O€vl¾[ZsÈ¡P¾ú¼LH²y*y(­?EPÂ|ÿ@3B^ÏJøÂúåÅO ÖtÈÀÿÜ4(I“­T‚Í•è9µ\7P}…¹¸'È£ô§UéÊðUæaèIŠbø•d'`|̆jå_jìèmêqAӗΜ/+ ÒˆÇÌúBÍêéÖäòµßÙ–~Èy`§·¨´z´$ CB¿_ÖôüÔ]­å€×0+s(•%èú²¢*FííîPŸ±$ ¾~t¿»Ã=¬? ¤Q¤äR˜I†Ò T‚… {¦Ùy·¢+§f“›dÜ–’‘"•߀¿Ó‹ß ð…Üå:/ÔYÒê¥Ó“½{Á»ðm~µS±Ì¤¿î§Þ…LyùÖAw³ý¹Ül=gº+¹s°—Ž·KuöøñÛѵîî›ãLCˆHTƒ5¯‘GIÛ_ÀÂÞ»ÞoTAŸ¼ÅU¿ëé¹|mJºQœÀ»ožPö8AB¡ñ(ÓmÏ8L ¤9Ñ @tIçP¹ì`‡0;͘qI5²UawðØ)w‰­§GIg³qÊ­úÍ#% ‰RÆ^É;.>¥Ù Ë› —3FDmþ ‚CÖÃO­öòæµ#ŠtôÉã`¶í%J[ôO‰µw|‚Æ™?,ôq¡ž3Èí–YBèÁ”k‹Ú øx‡ÂÁ æ]9“Ü]•hÕ_†»4C› ”'‹üóS]eùù Â2}Jj Ÿý­CÜ>ÄrÑÓú­i×›Öaˆ“ï8B­¨êkƒ|ÿäR9ݰq^R*nPù2›ù¤‡ U_N£]˜?¦ñlwäR±ºŸKè÷©h÷¨…¦&nx¿ôc È·-‚L\ç–ƒ|iÄn¯Hã}ºê ‚ÚR×iJy¿cVÚ'ñÛ ¼n~{Q:q@R-Až«wcš]—Ô³´Xšu5 ‰hód˜=Ï_¯ ÃiÝu+2t ã€`»A%­¢þ†Òg—›F¥‰ÙT~LþÇ3)W{¹7Óµ³øàœ©¼ã°_ExO_D –·äÉËo6 |q¹”qm2þÜAÒ…ÚÃ,N{eokWÊ,¤=xºd¿àxíi1’×úîuÆ›v†wvë¼eb'_øÏð$%à¸q9ÿÂE1Ù/Ì4¹ÒÁ—Õ­m3xø¾øG²YË;”hSÈb( øÒŸtCŽYc]‰È8ó£k…")ÿ]±xb¨OðSNC@—u Ÿ[–ÂaFo|ðTEiû%Ÿ9å29Є0 $š"ÜéR£ßY½H…!fMõn†8JZF­÷ÜâQEN§RçR¬Å;@;jIQ«œz16Þ<œ—z®=¯pNvJVTTþ¤vózºow¥T7€;˜Nã/K&Â’¦ñ7ÂÚ…„'þ°«H[–çßúûç åeÿ™*'õájç¹Ãe¿cDzÆÓ™Õ† o˜ Z4:TwB¤4ZTC$ô‰ÞrWc/yt|‚ 9´6Sœæ:ÑYIUƒ=bìm³v#mjâ¾›°¾dç‚pµÖ-~Þy¬±˜ä ˆÑDaĵýž@R§ËoŠèñbûUàá‚M:>­pâ}YÈÃXúƒ×  Ð9–´¶gÛ€$þŒ@±Xù B‰@5Ï£Z– ?EëéÚ­+õr,º˜ù`mŠ©Yt¤A¡-)M ÓßA¦{^qo¢‰£…g9æâU%¬+µE#%ëUi ½e¦Áù¨LV;=%)e(ø™]±FTDìµµ¨Šárº =¬±>…M»û]C¤~gúÝ~K&ßÑX8 ȦfXáÕwh N`C™I ä`”ñï¼(ÃpI+c=)-ÌòV?ÒûŒÔi3Ö¡SÐÔÌ$o!Ï WhÓÀÇ…Rþëu(ÓÏèŸ_xNŒ‰À(¶×8Ã$9zð zèQ0Î㲬õá·ïpûÕhôà€}}t6}¨ çç ‰(ø¨Cb¦Ý‘NséhFÓ´„Véb1÷- ‘8³…?¦dúvV‚S&V ’ö±1Öˆ—–Hå÷27rApO¯´˜5C ZèÞȨÕ>B½¶7ª$t=@RÔÒ…¾m¦,ÑþAôz^•êÓýZødŽò“ŒÅðILw>Œï»KÕ~oÖÔ‚†Î<É4U0Øô •=i‰õimPËjDÏn e%PGaSŒd7Îî=ÔZ_>"}Ÿ‘s+QhP ¶o½K…ŠIzk(‡Ñm¹y««!^×ù;lr*4{ü¾ð=0X¡ŽòºyÉ5X½Ð‡DËПªáYZéÞÇwÌðñF .*iø¬ ¯úÐJD×§¥þök+Á}i×n߬•D2˜!€ üX·€¼äêLÊxùÄý :/OZ|³ªƒr3Zö«[t«¿j•¸€XîSEŒÇýÓØÀà䮂‰7À¬Ò-ãÕÞC‘µç%w§Ì,èã¹Å–Ö¨y©– è%·Û,‹÷ó†<°LÊyÜAMÄ‘"4U1È>?ñ„btɆ>C8“Zï–ž‰È+*FõïÝ»[mà,þOoè¸ÈÛU‘kR1«âJ2æÐjqËKÂmÛ‘uQé&E¼tX;c^'g:VB^¢ôÂ¥54ºÿ®·ç"²µü '4wQ€é ïrôOlžo9r!Ê}(IèɱvfÑ3Á¹ÙHYÞ²•Ì#ªÇFZõ}æ>âü‡³Ë™çy³-,‚A’ ?Nk –írÕ.ÂáþîøI°0ŸàÃË{ÐàT’*†ùÅ•Ì*oùÚvÚô0“l„O—ª#‘1øT€‰n%†ñ—¥ }JHÇço)ÓâÅÂo’·^w¯ËôÆâM¬Qð|h#Ú!º:{fù¼?rcX ©ë™ü€F˜FѦ·ÁÒ[½ì&›ƒ€üS¹â¡dýRÞùÁ³=_,=¯t`¢+Ⱦ/øbcØšg“4ö3 ÝwRçà"Úò]±f¸ÐÉŽS/v²;F“#ÊG?¹ò!c?uWÿk›+>Öêñ@:1S§¹ê®%÷ âÅLxfJåL(ð¤³X§½v'–îvšþv¢½(ñ†Æ‹8ˆjÁQdgÃ@»·ùnƒ¹ÃÀ (C‘Äž &D|:)Òä’ Ø+•Í™i2)ý6q¶êÍçPçwyµ‡1$\çÿ"0ŭпöc¸^ç``uP¶< 2aŠ/°¬ErD»l7ÔNÑ»-è#1] _Ÿ ŸõA§Õþ´NäøÔ¶UZúÈÄ MŸݺ£ =QÎJÐó.M v{d«vëš:FÇA Æ<¥iÛÓ™Ëfüt²ì_>0ö¼9Ž£·~r7þ¤ˆ‘²ül!ŽZÝ“òwÜTÔiÚÇ>½èôy‘‰L%·»#ÔRç臰6*p †ÊãÈu8Ž‚¢HzÖçd!Õ)÷‚çó9ÍðŸ|«ÿMz°Qè \›à,Ô‚£½í àÍÜ”&âÑð];$è­Ýn^èkKšd-…ø>ݯzÿÙŸ«‰4›6ìk¶q28$O黩/- òÂÆ^0# a‚Åg‘ ‡kªF,<¾°¾·+0S§Äóî°byYÅÐÀ2w‘Ù“;øNì—vö¤ÉºÁ&;3C!Gð3zÛe å*R@Ä:(ï@+¸ ”¿ØLÛkZžÏ®¬4=ª›lˆwHõSÔgïå1(3Mó¯#.ò…Ǔî’ŒM µ>#ÑP©ß5Qƒ-0ÒÚVs;±ÿ1i½q”u“ \“?mÂøò÷O¨ ø¹µ¸u”§N¸ì:ØD&IÔ]<Ц™ûxü&fkqqed4Ôù¥k=°¨ÛÀЛfz˜ëè~5“¯qç…@ÕSú!aj{ô¤$ZágÄKµª@âœ1-Q#³cº3øÉ¬£1ëö¾H’ñ h¤P á଩tø2°Eÿæ‡uÄX¤;*›(ïõ9åq:µU¤»n=’/éj›V¶ë8½ >¡K[8ÙóÖ²¿T„‚Ðu> Ëíró©8el¸#LoÊ:O³›c‘–å®|w8ù)zc<¢å°©)sѨ¦y¸¾š‹FòáÀeG§A‹âËK¸5î߆%sŒë'D/Øny£ÿ—°RA÷IȪýJ7†ŽC=)Õ4& ,gí¥e££àXý­ÞCv€ ÙKð‰…2xp5~—˜Âtw–Á ‰Ú1f-ÓÎÂÑážµ¨ôÀÜq”vyó/?åPùÀøˆr-ãÀ]´?ôü;ˆx·ù·gÃcà×€ ZÒÕ2Ñ(´Ù /O1$jÀöjU\E¯yþ)?ÁjKñÊ@_*ÿ'UtÛŸ´ëþ~XtÒv¥À5#CåXvÀÿ`9²†û2Y®¬ÂPÙå/økâ!— óÎw´K¤•(„ ™!Y(´ü–×[ÛÔ—÷w\ÂöüŽÑ¬‚xO0²R¿åÞÒIMbV+ ûì ™õz­Wõ9†·Âcþ ŽrhGúbí7ƒ].±ˆ 0!ÜuúÕ0Uh Ú=·8CXóq#L½sK£ææR¥1ýÆ”í #· h¾+$ëDì”#Ý¿K#’/¯ ýáä‘ʃ,™ÛtïV’iÝ8Ñ «úІ»˜ÂÆUZÝ–Çžo♧ʉIyS›¤ƒM[1c­ä^:Ü8‡Ž×U~*–uµ€·xÜc Q:z¡wMks_å{æ$amÄ÷æhÏhȆ@±l¸VsÊîV¯€19˜Å™™’¢Äê2êà®4ÉSQu·˜"ÓAp¬~q¼¡|—+LZ-+Ëê_ûœ2ÀŸqùÇ›½8ü=BJùž ×$bÉ2"O]¿û/B§¨¦Ô-¹¦”ƒö´…Z‘ýÉâðÿ‡'Xqð?ø§¤Ôû™ 1¯,ú>"@DÀŽÉ€c©zI¬û’PI»?)!NÃ?:ð±‹W¿nHjË>é€.ÖôVKk,…qónÁÇÚ&âkV ç™å•q±exþŠyåVT»,£3|®ÄÞîkÀ¬I:=«ç–‘ÁìÍGü¡-Pµ¸5¯'Oæ0l6{J¹\¨AÒ£Ú'ïÇ“¢Ç ã x^ÚªuTp€`³û¨ÒhÒA7×N]eçÖj½ó•O\. ²{0'”UãɲmGO×–­GÆÎ9õŒAƶ>Ÿ·}ñ¼¿¦z4âÑÂæèŽÊÓs3QE”R‚zu¼.Çb`¾y§ÀÍŒÀö$A’”LeÎɹÓwå:1Á#9®ÂÝy¢¥Ñ>H× ¯ø1Ÿ§õòGt°°ÀžµE^Y)b?(Zyb§±•é{ä’š˜=¼ÃÜÅwÞ,þ-ÓéªxëyXN¥a0.§Ht VÛ\hÙeïç;ØÎ‡@µìð¢©bô꥾LÁ­ƒu½ÁÅdV>^¹[oH_Ú3sKµeëì&y&^¥7·k=r¨a`³—äv}Óët³ì«„¢wh" LA´Ô"+/[{ð‡¦”€*Ûí%Ô=à¦Ö¤¸  5L”åÛo5>då4Êb> $½_ò<}Erüž1.MO¼Ô‘™¼×@ê[ýV³H¢ F'¡"æÒ3)®D&)>ìaíÝ\Š%A( J2†8%º€¢þéÊ …º‡sQ]ShÄ$×nW@Ž¢ æáÇ0[ppH«ã¾Jµx\šZŸ½g¡õÙ· q¶/ÓíòXGÎWœ¾àMž!’J:ß{}¬âð}™a&7üßdU ½ ™bs¿ ôHnGf>-³ë=„Ë Þ/…©wƼmNó¼–Š?Í{E0mW>ƒ"Þò—Àцp_\“…83«&¥xZM.•Ö½ð £`gdé‡îä§ ”\Úz¼¬:V6¢0o"Æ4 ·$ ª?¼âÑ —/͹rz‘6èÒÔ:8ÙM^ê•Weüž–~—k‰nè™™Ÿ ‡¨Ž6{-ÊXÇ@/Ú»_M–ϲ0bÊf Ze_bÚÜè‡Çj>KM |ØEt®¥Vn¦‚–4zÏðïz­Ñ-^¹;ÜåCï‘f·L^ž×àë7€ áx-ByÝ•¨Xù "zÊз½JÊa#z{ÆxI*êŽÏLKÿ"BÑ=pÀ"aiªµÐ7ð}Ÿ€Äö­8Œ|~I  ¾‹u@#Zî€ê‰|¨9š_¯óŠ˜÷ò0•âÚYÊ«?pIǰ”ŸÔõäIWkœc\MlÅ`³¤]X?›Î×€7_'3ïÔlksÉÆ#$Ip>}U;NŠÂð¹<à.8°˜#Hm:neß*ªEØóù1•PŒ0öóoT·ø ë7בzqÁX{sÚ·«<D‰%ß3-ýiU!–4îä®0þŠº¢eŠ\«iÒ­7ìfÄúdP@ïì1ƒêƒhCœ³3§ó'a®6¿i©áõºÉNóf|ø2ïm´ï«†þ†‰ÙÀ ¬4Ȥ4ÇTMå²93B5««»"ßÙbÛA€n\ºL s‚=¶ ¤2näïD›X-PÓßìUÃ…u¦âÒ'•Šex°§ÂrݘƒVi¹ôÔÕ¥~*‡‹|æ…Ùí92EŒJ¯ÂŠWj‘Ñ¿ˆ0òquïíüSu=_““4†·ºÖ’®˜Ê5ØÚ E'ç/þeÑÚŸ2ÞÜDyE¹Üßð¦J§Û”n´ Ú:™J»¾9¡gË4óðý‘@°ùә־ʉÜ9Ûù¨hhœ´yPTS'ùÞwØ^-ùÅÕ9¯£kÒ§D-Ÿ8óRp‹¥^Ä­D›ñƒ‹¨ Û—<¨É§  çKÌÕtŇèQ¼,~¥éŠA|‡K·êRÓ1ÙšIóhm§yz¿ Ü > ¢Í­pVb!:\ÁéX{é•"K{¡úpýÛžýÙìÝòØïñŽV‡~m¼™¢\˜Ÿ¹Ù•ý)wý¥néÆ0Iý•qÙj]ý#Uš—Ópº0i7§@ZNåöÔ(Årž'[¦oÍÃ Úæ¾ãi$«»×‡-¼‹Kq…FîUr¨d$7¶ÞÍEÑÉ…W¯špé~ô!Õó’÷O ¯UòãôyyÅ;صè—y‘ðÐota ¡ã®¼H¾ÂÒqûÏËšÚ!_;+ŒƒîPÜø\T¢ÆqI‰»5†…‹®vÈ¥Ò-&=âä+A¹Ž_²ó-OÓýØÐÐð¢Üß”pèe¼ûŒp\BtÊ–®—~¼|Èñ›ytñ&u¢zNÛ€_U¿ô‚ŸÐÔœE¹qFÕ¼•Yº{[‘rfpâ®j':hP j„EMZÝŒ~&-"©©y ×àÂÏo "f}¶ësœÖÄ sÝåÚ-¦ºÅìO)€£¼l´:8|I2žƒ]Ž`ùg¯a¬ê涪‹Q%òƒ[WòQØœÁvÛEMuüG>óoGšÛ?ÎEÆç(I%^P+W¾uûYœðêÚäŽË`§V´+ɺۅ`qìÔ(bZ|Lñ9ÃÛÍ9GÓ£ å<=OZŸaA¥%˜F2Ϲƒh{«wRSÑa’]~.‹Âx n§vht`+öî‹=N̦ ÃzÌ×2ôT‘;–MBo8KŒñ1BÓD¨æ="Ë,9È |´½£º&Š|úF¡h©jÜXÁÂúˆ4ï®åø€ðvMS.ëýÄN›º³@rsDíÛž—L<’Ë—`+âٜźæ!ĸF|+ ÙeìrìiÀ6ìI˜KËûDMKÉcv"P˜Ê’j¸ ‰ÐdöUE™¼wP”¥OÙat_¿aœWñõZ/¼")Ÿ&™6k.þ-ÂÄ>ž‰û|áÆlœ¾ ¯Ð‰ð'< ˆfùRù­ž{á7æ™Û>ã¶t+‡à3´ÈnÿlåUaÛd[¾)ßÄó“Cz3+Ú£1Ëåã¼ZÌׇ¦Âæ"$Uë=[Àî_ÉúCÌ™0V3QE–»«qó\2µoÿ°phí¤¶æzµ[Í©ì^ùÿÖÁKƒ¾€:Æ9É#cŠä Ú º#Gûæ*S#EÛ@Ú€ÛÎßõa=”Þ¥Þ{i¦ýž•5þ±ªe{ÌÒµÞýÂc÷¿ãìÉ^Î~=ã•jÇ¥ÜlÎ[S;]MÇkˆ6S(¼\‹mü<[ÏÉÎÜ™¼ø‚­D ‚)ºÜ#”ÖòÅQxk¥Z¥s¹ÄÝ7ylò•QÞ‰ä nõÖ¨LÒ=~Átx£“ïƒ0í'L’.\¯J‚ŸˆÑp±1pdÎì€8®þv‘Ý«H€¨ò¿ÖDû‚ÊóŽw­b&6Ć|õãÊŽX&»ŒèУŽÅ!ŶÜÐÙXüô§¼MÑÝ«ûhÀ>u8I”ú›ô,€±]ãZhlü¼$M´fÞZ¶"{à=Ô È~jO*2ÆAÐÓeµ™ŽþçŘzûcŽæUqœ­¸I=iräNC#˜‹^ÃuÛ¤\a0áˆ^á3ᔇþ<`é²…¶>öd¤¨ÈýI,/5ÆFÕ›¹ìËèU’5@‚yà”AitµeÕ—[Ö«þö~ÜT=P묀WŽ9Æl’‡`Uk@¯c€Q”&Ÿ F±‰ÖÙ&í|Û_ì”;òcØGs1±fƒmK´8$J(aíUþù‡8Ù:®ä LD9G9 ´éý3S*z½¯U†XÚ)´º1ªª«E>~ ž¸¬>(:´rn¤¦¡hQb”ä÷Ä žj¬ê*|…ï–j(5(¡ïøËFHPW+Àèž6˜7ÀÆÔ5ÃëyÙ†w,ä1ˆ½ÈBávOKâ¯,¹ëöøâïP2·üb•'Ô3{³#ö~˜®Ð÷£B´WcŠ©îeó‘3b~"X:ƒäNRƒ'gŸÞ>ÕHÕõ ’–ÝïÞùh£N:DŽ/OÓÓ–0rîl¶™5àÏ €à#e“€Ã†oØ]-ÉßÏñ …¦Ìßu9nÅÊ—à2>†b ì‘õlº@¡¸Á†xýˆ[þcÕÖŠ ?âèÆ…Ùàô·íL”Wr•)ÀÝÜ]"J¹õJfäI³cÏ_ŽÀA„]ï~’mo˜E¢Ç'¯N¥gž6Ë@M®8euú¬QuBÄã/ öQ•: @5:{z‚&ÀãvIX8’¿™•c/ò‡òHIä7^ð”ÆÆ8ÞÁ±cVz¢é¥Õ¶ÑO½ór–×PÁ²·θ/áv)é2’†=²®EÓJÈú4>$;Þ­#Ær;8{™‰5 ²UTMiËwRÔØ©¬ J]î½";™Š·RdLO™í€”ÐЖ†=ú¨Á§ÅœÖ-‰µ›sR|¢ìYñÍp° ° ç¶h”jŠz ǘöãJRñBúqèÒøÞàcG²]šF;v%dò0.yïç@NýxB–]\7Ÿ®Ã]¯ESš˜a» ìËó:.ŽÏ€ŸüLòk,Ǹ`·³8£ L¿&_„Н®éf»M‚gÁ"´Á¼d–@NÇæÇYžEÀ7Bµ$ÑðTt3å`ˆEËÏ[\–\œ7²†ˆ=¡/•Å6ªl‘zËÖÛï–¯ýÅað´ïΗ!ÛÜWՉ߂ϬòÍ¢n“ piç-)š%„ºLhñ•ÿùvá»›]óŠ&9³“Ñ訚%‡TåÆ9ÁH+=ñ,±i» ‹—E™E®ma©—a–gö 8âøXÐÏ¢<»ÅÔDŸ™‘˜Ä¥sw—‘­ÿk•8xZýiÍ­ºÂ#¤JzX£ž¼ bæMÍÕÉ[~$ŒÚj5! {¼—mòØ™kP»vÓ³{†ïÄ.oà»Êüóì‰Ó§Oy´£šÉ×’ fnçÁgìT™XBÛÚž°ÍaÎu²ª~,ß„b­ yÚVʲJø§‚XaJæ´ Å;Ðßg%‘Eï×¢=½-]Ç]…‰¬,}ý;¡ˆ£‡9p$¤Ôhž/?t.„3v ¤©Iá ´Ä æ°å<ƒü{kˆÅxN÷’6°i4L dÁß4†ëŽzÒI â\—+é^olŽÔ["{Í.5¦[ÊÝwÈNIKýÅu)à8%n-¶(~dkÅÊ‹¸ë‚†>ŽÅT-u÷/KNG2Zų(åÒ>ÑU“··-é ©Êiž%Œ³:[´^*¬…c‡áó)I7Ч„RB ‹@z¸È ý³Ð …I»”+¬AÌ«ÃøNþxc(d0ûÛ2Ï*¸[žäõG7ŠpgÃöh8çõb ŒÔz!…¡3ýA¶Ó-ÌדúY›F†çC–º,ôžß£ºæ… ‚Æ)ë?Ufg6ÙØ(“Žb.q‰®žnu^Q)™ª°‹¤z ¤Rçhq0ÄÚÂêIO„ŒÍtÑ„a«FiÆÅñ8'}_#¬Áìf¯fhzÛøÌlQv—V-ü‚CœiÿR 6ëŸXí“Ê5…®¶zmnƒdŽÝNaiˆî¥ª+3”ò¯ MJIÍý‚±AT(DË çHú“H\*ú`Ýòî[MÕ # ˜iëh;\MÓ§ïNlÿKhÉÔ-sþ¢CÑàëP{3CÈñÓM,ýXÎÌ&¾³é ‚$ò;Õ}Œw›MÕÎÔdFÓÓLØWÞóÇÜ|梚æ`g;EoM`íf×. ZövÙmA{â—LjÔlÖ}Ý7T6[÷…jÀ½Yf •>nu¶ý’ýñæ—Êš«®pJºk±U¨•sì÷NìàþŸ ñõšŠÍ®Ý¼ì¸&€Ä.Aº[`“ùZuzœu9¿Ž'Û_çí†2€Ú#:g’%O=,þƒQ8,€/¿‘(“¹8ÒÃʹ4aƒ[5 Ö8€ëAv]®]C«µ6IvòL1 üÝkòsŒØÌµ­ÿÊ™}›ã6©P—|´Àd¾rßl¼dÙwåß–áñ$íQôþw»HŒJ½lÛßô¯ó]ˆ|L ’úèf呂¡ó¡& 0ú$?ui.a½† ÂÆ7ýEÀi²ï¸n‰—ð‡6ZHƒí"~Y‰ç³á,!—L@db¦ aB::Â’¤6~…Žo¿oR)êj=»k͒Э h›-J¬ÿ‚iØJ¢í» tŽóNèZ50**«ö¬ê—g8$šdìC úE!ªZF× k:©Ÿú „úK8SƒhÍ{Œ‚?©¼ ß`4#óÛª­)<¹‘XæH)籓1A{§¦ìÊøZ!/%õÚöÁ°®8ÔŒµç¨ÃãºP2 m,Ïåp5Ä‘³á[Ñ%ŠåË›ŸCC\˜j뜹V/Ð_Íÿž ?Ãdó$A¿~uÛÐ9Ϙ®Ï”K^ÃÑÊŸH§ß+!Cc^®OIéeHÚÂs¼ù­Ýª7VÅ¢§rY§TäÀ dLw.óäžò?KÚcJýýuk ’É ô’ðÏVöi8 ÊØM¤3­MN@ú¶ñ¤Åß‘À_Êd`×VØÔø¹Â¤1Óè?SÕ„#Hò?Æí*ŠäÖ›™ÿ÷»°î:ðiZÌóôùü1Õtx,BŒíÿ¦*×lê2©ÆÍ” TK%/ ±£/\Ú‡µõ¶‚Vê;·' èÑhmÔU¶í¾=©—ðïpæWn¼=·uB)­V"Ò$ „ÄcïñªwÖI¶™Ðƒ¡ ´9>÷ìUòMõAN—¤Œ4>W£v`+ l)i0"I\œX =`ÉPæÛFõL5žÐüÊ KÚóˆà?½S.ïþŽH‡ø÷¢Þ¦„ÚÍ¡r¤2’3jó¯¾5´h¢,Þ?ו”¨5/®DøZXb»¸]FV«L¹^©E”#Á«lí ?Fô»Î[eƒˆ9!Tñ&®žïž– &´¼……G,ú§;HÜ꺴{´ÀÏpÓ¤¢¨¾U÷‘·f, jh?ÍðRXFGmvæ«NmÝ$¿N¿uI¹“|€‡.м5›#´9õ¦·3Àú¡ˆÝ›…ÈŽÃ…Ègõ'Ifzþ Ñ2ýÝ®îà›ç´GƒÝ „-‚•i®¥Oô-¸0Ÿ“è[¼v4¢,Ýf òCÖ±DOÚ^Vì©?õhÕ›c®( c½Áõ££›ÖqsoŸžý%=*òGųOÖ½ÆâÄæc´!;Xû¸:•±‰…EÌ*íÚ¦´ø×ûÇ@;|B“?DÀ:/—»è"¯(–¢f'MœZD„ýž«†)h"R¡b‡›ËçBš¿hµ†dE¸Þ½kÌA„jš®ý˜o­0ee¨äæ–éöþ“ÄÑú†ÄS²ôü?ç€Tó¦‘("³ƒ•@p«È†±sY°,» ý‘²ù‡ú\(6/5¨°ðÙ@!0L˜Ì¿ãªTæAˆ¤=˜c†«tWÄý4®Wor$bK{‘u^×ê#ž6:öÂë),ƒx¡¥‡ZBæ×_˜ÏáÀ ›-‚Dø(ùh|RsäO‘P¡®&Æ‘ªc¤}-úvn± š)-–äjmLWÍ*|q@\Ê4dèƒL‹ÖÔ-à;/æá?·"*–% F,8zÖ2 ”êÞ*)ŠCIôX|)ËŽ 8ëoDhª“ 7Õâ#ÉYr¬Üä5ÄìÄc£‰–Vb…w4L€ŒÊ­ Ñ"ÃÚ“ÖÉ*/€0‚ÇIìÃH1 Ä¹ñ½ZË÷º¯¬Á1êp:ùl4­s¡€11Ý$C·ë†Uφ06Åô¢•LFW†ñÅL°kœ…O»$Ÿ7.ãÚ^ëù½¬‰¼Þ¢)°øÿÒýcN“Q0q÷áÞØþ…¼LþŸ6…BŠY,ŠÉz\|Ó]Y!ÃXÅŒˆ&ó/€óç1¨­¯a^L¸~­{a+dï¡x‹YÜ?ˆ—‚µ±<«YhS›Þ}¯TÖhâŽý ôtý¢^ÑNã âOéÏ+îƒÔîëÍßÙýMÁ¬; ¾Þµ~‚Vó·$ $;ûZ>ÚÍÒ¦, ¨?Shêÿ¨(kÎÂ$»¡)––‹Géž)[Ê8(©ò±jË´å<–Ó\ Ç¡åNäw0®ÆU F¯^v$êðf+=Z“a ¾{ä@0£ç ÃØÎSìxâ’ŠUb¢ò”Hçœ)²YÛéN±óì«5?u1:!+«Öhë·=sßÅ,טƒb&:ý&ëÝûÓT{KkUCcžÖ;Út7£Ø9æ1e†6ëý–n—W=‡üÒÂoÔ4ó¯tË5À¤ëüHtòzxôÉVV§QûÍ>xóä\füV·âóÍÝ­ òÀÒÀxMìþŽ%dHÇk/?ˆ¡9ŠìEØŸ3”šöB%Xè( zW¾qßù,K ë•%LÎ4Ôjs î‚ñ¯á¾£þþŸ‹Ï1WÌh,Uu×¹-Ñ`×èx 3½ þ³ÊÀû”X£Î;Ø Ÿ¹¤-ìd0û¦qÀÌÅü%%%hGSÚ.‚²’ïbZsHc§£y¨´dƒžø}•úO>¼»gÊÆ¨Ö<Ö¹W³PÑ{êÿé:ö0›·H9A]2hÂ^DqÜuóÄÓªÚµý*öÔ)RÚY.Úòs¿e«“¼ Ï%vÄàíTU×wãÄ6¾'ÙiF]‘¾t•>üTm :ª"gf‚-S¡÷¦~ü=F½(™¬ó}#èÑyتlO™þ̯T:Z"]Ñ2ƒ¨ rB0¹½d@8£7Í8u¹™sQ€,>ˆèž¾?æm@Coœ ‘ˆÒ=–E¬>azb´8ÍØlk¢°$ÍbQ¦ï®yýžÏ”ÊÏÀA n>5KGå’RqK$<|,Þ§=xâDÝéM*ÖÀ —juOo듚%ô7Ò0øÂ¸oaî(»sÙ!õ¸ÿ[4¦àN½ÕméÛñ'•,;;ïN†>NŽ»=§Ä…Ëûìob¥ÔZ`r5£j’¢å’íe’õ¥9¿ŠqŒÂ ¸gãUî‘q˜©*d 4õ:AŸÆË™8¼•¤;Y3âŽ4<šN®âQ„ûºeÔ ª'CÔ,–k{ìdŠP!éA2m!t1fÑNĹF·›Lå”Y‹š'Óú̾»÷«H`ÞT¦¦[Š?iÊé0Àš¸¨BÄÈX bEÆQÞûè…¼¸gd²º†Ö%ŸGw]ÌûTëy2Ä}þ–òNl§à±H_ÇrlÊ&µÑ¥v*® @Qò%\–›qplr§¾ØÙ—äœ2gúñÈåÝõñò¾]B… Ç>@ hgÄá.à3…ÖÖ-bÀÕ/`èàñ7cêïz0ƒªr½“! õV¥e©üOþ‡ÝÖfå¾…fá\Zù¸á`šËï·'v¨¦õs¡©*áQŒ ¡èuñ…Ú/¨p8úbw!Ô7Ø1é"û›Œ¹\ž€8ŽY£Š5hn]ÌW¹0ÈÊre”“?H·—XF6b›©÷¾ìÿ½Ûÿç;82–¶ØdsJ¯J˜W޶¸Ž2'Š^ÜÝCÖà©›fŒÑìÉÉÑ~0d%:æ‰|òJ<ñâpj§cxøÌ¸8¾%îÞGh“Kf˜„dÛ:\4~N HQZË…økúsM:$Øï>s&GÌéÇð¤¸øxÑÀ´^” /yg`ˆbpÆŸQWžRžÝÌX¯J÷Å¡Ub’F¥&±ÿ5MzikÊ ô(ójqx£Ðt¤lÙq–ïÿ3†oàRî3zRlcWÒö¸¯vYåk•wi$¹ý±ºÃá€då{8ïRF7 àÖŠCMOЬ}é«k-È€”pí´lŸ ià AN—°A· ,-öc•`²ÙÃyÛ¾8þ¨€h; R×M³ýaˆ†­«*×Ö=â[ ×ëbé gâ†AÛZJ _;0Kxèè¶œ2šunV—c´(Ï­]W“HŒºsÊ\@#®Tw´JîNqš¦ø/ýÀp… ›]õ†"«¤{žŽ–#g¼ ‹ƒËO°Z¹Õ˜}a®’÷ƒ9½<ð÷ãíó=÷|DÐhŸ:çð]ûMÉ8“}ârü>wØÈª¿ª?€{ÖþŠvZØëµé# ôä0RîC…ÇY­ø±E9W¡V‚~…‰aüs>îí©”¨(ÀvÉ-æPò¥-±ôFí^~³nÕ¶^“h—¦:IͶæŠaqL{SŽ—Œ˜ªX±Køxd ½…ä¢zxâ]Žaf =xÙxä¹ÒFÇE„(à ùõõÀ9DZà)èÄ1µ;"¢YëÆvÍ6Î#1–6¡mT¯ñ«wi5R`/=*é–‰›@¡ã&n.< r^ï¬Zñùœþ¡X¿K´úBß‚ž¬S¼Å‰˜$-ÁÜäÅ@Knô‡g}yæ ýØkæMJgãØÜ!¬ßôs'ÂfÌÍBf¢zâ''¨ºb®]Õì¼ ¢ǪÅ×¼øŠ¡¬†ãà‡œfJwžÏf¸i£ð=È"Eª"8qÁÐ)§¸Ë5.£%­€Ê|iAYuÇú¦>TVµãŸ1;LÌÝ·4ÚñS!³¸yN–‘áV:ŽòC·Í§Y§²‹©Í–N½†‚ˆ¡3(Lí0‡“Y€Ûâ°ÂÓ5¡RŒÀü€Bo”WÛãû…67Hνïs­LÚ£Pör* 9o§Xr¢nsˆÿoÊoˆ˜"žœp{òÖ»”¢£> ÆQ "¡ì7âûM1aéw@ë8JM€…ºJšÌUE*jà N_³ÐÁsê¥!·¿ Ö8)Ôc ‡©7Þ~§C#ùÛF´‡fQ/ôŠˆZzȤƒWq/3i:vÏg}ºŒlaõºšo¬)âØ¼újsÆ1ç†xÜx<œÁJvf‰¹½ÿ¢8æ²Á±cµ.²&ö~|Ѥ€wê4Ÿí”‹íŽU ,ÆTb»Õë »¨÷}– r²@øµÅ–Êz×/&˜Bž¦|#“B·=2!aeGX*5ßsª ¢ë{ÂÿP4Š€ˆÚêžùhbÕSúõ°ÊäK‡øJh=ºádN¡¥:JÈ-’¿‡fø–àa¶…mïhªœÃ8œÉN«­î° ß—Hü(™’<üUÆ Üc—×þQ¡3ùí^wô’‡¹<Í‚>H¦¼XÌŒ:“98“Ê9nˆ•ód‚„¹ÜŠ»^w¦ò|ìÍcõç8׊jó0A’˜M,ÊúÏnÓ”¥¨0S•³Œ7?½#& Q˨aS¯O€œ:­÷þjwàsÔ’Çr[ÍdÒžn•ò%¿ x°ùSE(ZÓ©Ž‚ÙJ%rŽåáä»U õÁ¥2z'Œ-ŸÔþ¬¿lÓtÈí®4žfwX9$9¹ÉB9Lc_þžÃÁÁÔw¤PdþoÒH"÷AIªe»Kµ1u­Ó+lûÃÊ>•ÁZüÚTS½È Õ”a¤ë¹c©(KÁsä˹iÐ/)ïþÌ*È h³…ÌÇñ¿Õ¬B¨‡ÍËp‚Êò&"’G8–òø„2 ‘Aºa7kþL£ôë-讲ªU|i©bCO˜c©1xû¢B²Ã _R'ó‘ªE¥Øv%ž¢†ÞϳœÎ|ÈØgŒ›ãC»PŠµŽŽNû££XJóëJ’à¤ÐùÀ¿°:Ĩt:Ôí…; bà¼âî wëÇQÙ*YeØ÷×Lî‚wÅÿ¹GÇÙ6V€?ý7\˺ìj5o—„ƒ$ù¥‘7¦LØÖÕ˜‚ýð£ª$˜DT)"×Zbz ‡R4 G§ZZ+Ä!tgû}7Jf£ž£ði•Ñ#dÄ$gš8žÚqé(ÜK ¸³ -mÄ£ìÐòúý>Guö49PÌW£ÃþÞ7èÚ€$ñœM>òåuè”Û¿­«™4²" aÆÓÔRÙ}΂T8$ͤƒCt Zˆö»t\­ß ¬.v6H5z]×>&bËŠcg1\Nðì‘Òü§ÓF‚¤þp¡YÖpËkàX«]  0¸ÇÝoßo1Y’³M[¨ÅbNo;ÿ½XLÒ ä骦8h¬‰i%ÙÕ–¹7ï8df¥î÷4nÉa¾'b «;Y{ˆsÓ²ëÎÁß÷<=¹–&œ+§h=A‘;¥iáÜÆÒQµTb»®öÒ ò³—Šnclº=Z 8”G™O"ô>Scý$ÒV Cäç4¤d8µ1rj<õ#r£ð 5ü–ßMØš‹Šø™‹Æ‹õÇØà¿Kе¯3ŒnVZÙg˜U­D9}6òCP¦@bO:ëkç,Y³t¶ÌGK°j¿à*yg–l°p40¼`uÚ2ïÇÿµ¬™Y^ó¿D ³Ä­ ÿ æÇb¤wb¸ñn•hê¡Ý"M—fp¦Ï{âãwˆ© Fó?öÐy@+&ŸÝmé°w½f¼í¶¼EP#E‚Îìéo5-æ…Ëöy†LzÿX_å7äa|Q’û[šR k.ðÍ›•9S\HeÈ é5ùs+Ë!Ú: aò¨©YAýì˜ØÚ×€¶à¢Áƒ¡¥âú6¸  ç,ÜÃ1EÊ\ŠÔ#mGòJK_¿Þ„%LË%„}ïãºV\=D¤Uýÿ{ãAÿsÎÌOŽÜZ“kÞ/•¸x°þ˜×î5²Ç:<î–*íe&Eµ(> ÅüëA`ìO¸¤Xoÿkepþ¾¬ý§‘•&®[åã<ß® ÿîÇâ°Ÿ:Ø2Oû´a°¢ªÃ@Èž¹ÔÁgÌ™‡2ƒÌTS.¹3ÈA@õŸ(„¶º%ærg<†è¬ílFà$îÙ-èÖU­ËüøŸWWð )!Ýkhùr ÜÓ/©Ö±ŠKdcÐtÀ}ƬNÛ@¢#H¥…^{‚ظ*A©C¸¼¯vÊ$4W˜Y•ý?Ð9ìDõ +sÀΙìæÌž{Ë‹]?]Ì ˜¦‘€ãLÑWæç”ª2•H¡æóxAàÙó5—ºøh9vŒÑH}DPCÂà«íE#Rð®åÊ ×ri"ÈLŠ™:¾D\$(À@Ñè;Y‹kâ^ñ‰s¼¨|B`N1³© ?E˜6…´$Aî¤8Þj§A'‡m¹ô˜ŠÍRzwqÅ+c†u¾i ¥b¿–_|Z"!‡¤¨ !膣Él´„ºˆÉLæ¹³FÚÍi¯@§ÖÏZùŒ¨Éò,‡¼0Š‚âHˆ] †v—¾‹lG("dJ\É @¸ Sa£SŸyµÂˆ²êV!k¤hE÷wHžòU¿V¶zw_ð`Uª¾)Ä7“ àù$‹푆™í0OóŒÊÝÁÞ”éÙZán…Ö}cþp5öV—ŒT´¶©ÂÏæ»ïAÙ÷¼dP7ÿâuЋMBŽnΓ,ÕÝ'\´{~pòºéT&ùU@5HY^*Â)1K‘&Yûÿ-)‰†G7dgŠ<ûŽ&ÄßÓ<˜…ƒiŒ¿ŸÁ§í£ Áš”$‡Ðó¤ê˜½žc‹÷Wýí“KÄ4œ^â¿B@IŒ”šùR@µö`|ÈŠ]èåT¼·Ã(˜F@Ãz¨÷B KW b~g­Möü™Mà_I·ÞEDg+sßo³gÞ²â‰OÈnòÍ¡X†⃄0b⌖9ò€//» ëy`Yò_ê”±µr¸›ˆiúYRÊ U5¹³÷Kã>_ †¬C/¼áNô8†0ÚªòR——²¯w×Ð Ur«Vj”˜éŒ\‹Lk =MTäÔЪfà-ôE 6æGŸlO¸Œ„_¢–†üÑÎ_dWi ksøBÝîMÕ 0 !­é(…I‰ëXäçÈk{¦x¶úìý…3×\BÁª±cŒ„ÿÛ€®½af "w´sù9¸ß×½‡|¿ô7Fï’Z!“5}öíдá‹(G1@kõÉá6§ÃRÔÞO´ýl"Œ÷1IÐìʶ–oЧ4:ÆÝ'tX¯®?åµR•Ã*îŠ&ûí¢hªlà¢C=郒ö¾c‹%š‚ÕrHùu½S!kÏX«…µih Ddb*²¦ïIã+ñÞÃbÝtËk ²g’Æ']œsþi6o0W¿’˜+_dîú´®’©^ɲnFÞц Œ=¨æÛÁ›Ä{'g­n,¡l>tºKÐÖ|èrýÞwc}'†¿r0+Ì(BõbÀY’If÷Ùþ€«¦É‰¤›º”0;ý*¾ÁÈÆŠá.ãXžk:Çtl@G6% j²¤¹Ö! z89M8?é1§VŽâµ6rÍ4F$y±Wb-·#®i²×þz½®¡ÔA(Åû©)®ÞåÔÝ)èïÂ#±/Pl`°E…aË~7eRÝ9³ÎqeDùÇБo´ßqSj‡É}MŠàH£‘>»« Ñ"Zµþ nçòôxXk…ÿ[m·éˆžï¨È:3“;Ž ªÎlV˸'ÉÛk`ßœŽ©Ü`³\ìðf}¥Gy½8PÄdQÙ?Kb?ÅO§Ï“ã¡éCn^z4«zøŽ@=È¡¯A'P`âF6‚Î-˜\ Ý‚â„N56»t,¦9Kô_µûN¯ÖfWsðùÆîý›ñµœ­¹½þ"O׋å„ß3¿d!®žÓ¬oX%¥ÕG9Ûô~;Ùå‹­û#ç oo͈”E„ÜjÑBÄÜ ÛRɽ=!md[—\ò ‰_ë0 …Íbm>ìt° ÔÔ³®(eÓo¦¡gæz‹(j‰Yv[ºQNa׊w0w tà ”#¨Š ²CqÐw`åH*l¸r‡õi¶ mãþ·³S'µzâY^™Yp[Gxþ@áÊäv:[ß=¹[õ*† VÀÛ]üVÐê#¥MÐL™€ï.ÖÍKóZL¨üþ6q6€™t$!«¹°ž%ÊËkµ''Š;A'élv®vÚO8|Çbë«­vH&sðíº3áá½ìåW!é¤í-–€…ôÑ߀êNTØ``†Æà¯ñ¬úb¤³¡?z”ëxVʵp g¿ÌsÙ-wÏ|R©lnöܶ‘ì&eößµlÎ"ñ¬ŽnÿDÍFž)‡uZ@òyËÝYˆR{óîÎNé¾Bkäbd}™4õi_…?9HF£Ð&0ÑKù“üXYG£!ôXâç–õ+™c®‰†ÓÔÖËeÝßÎ`B­'n‡}¥ŸÜð©65oå˜e­ÿØÐ‡ô@¹l«çâ<}¦MòäT;µqªEL-Ùô70kè¿Ñ²‰½´ï›<¬“÷‚™Q8eñ»!@Ü{ŽA:ÈðK…MÓâ{dOø¦O”2aÕæL4“¯ékùUS‡ñ2ž,ûMhŸŒ ÉIxçü¦ð¢“!Vcb';6u~é½ãWš›$šÉlŸô ZæX{ øá'ÑâöªÎS¬ÔÙÁÌ`ñ¨È˜b)f¶2©K‹¢‡,àà àì`t‰¥pÏΉÊÁÞ˳KVÍ k@ Á‹„;íJÿÍÿŸíu øLS–£-Þï´C‡–AlÆ?…°ÓÑç'ݵ•(1ÉH+VS&=ŸÕm‰·"SÚfKÓœà%òzⓞJ^ÑNøØò¡øí<"ƒEzy£dÙãÖ-šÑp㑸´¯û´ck3SûxCmÕÙˆŽ`vÓú&%e¸Éò…ad[8Ëf¡ä»VR1Ñ—ä°›Oÿ•.!—Å\··ƒ»¨ƒH–’Øï¯. ¬ì`ÒŠ_R bÄFÛc$û›Èl;3~àhÌF7³FÜ}‚³¬Â+è[MÑ•>,Í™}{ï1 ¦ïð9gÒ}Z¥ò©õT¡ƒÀyvtš&Ù>'«ÚIu»ˆ› $ÀŽER¹«IhÇh”æ¬è˜wÙJa\Ê¥üšµQ=%ž¶¥ßgwõ vd§ê®Ïõª6ºÞŠgÓêfÈvc7FQíúr7¶P­/c> ýQ³©i¡“ŒÓ?Âútu?ÙI¨q'‰Ÿh"}Dƒ°8Øô<¨JqHK÷„TÀ‘<»<ôç¡}[¨Õä¾òNßYeŒ…‘YGr<^ÿ®ghÕJ#È0ǰ0]‹[-l>&½‰Nñq´¤÷ÀcÛ G…–V  úˆsoŨh`rý›Ç§  8hä¸Â}Ž£ÙÕBb@±:U6ܶôó–)w‰Í²ð@—‚F×»<öy'ÎÈ+u?d¹_`].¦xÓóÀk—CIºˆ†Z`úê´ zsÕ@ÍŽ~¡)„Òqã-uT ùÌÕÐmPæ5^cI³NÁ}ýÃêcì+臄p¼×["{/'Ýn—ßaÉZW¤ø,£}D¼ O>?KÝÁ ˜ ½2˜3ÀÜ^[”dwíȾÊà,Ìöò[D¾—"ƒ«Ÿ£ê#£±»Ú(®‡I9K/„H\8wcvÞS«²D`çpú@±âúQRÐÛ4­}óé_\Ï[%Aa–y fïï<‰.åt‰½Ë*%ŽËT„ÃÍÈ¡;²Ã»¦Ü%¤ñGÕ6`‰›ö™¡³GÖ¹öA “€ÔlϪ¹ÞhÆ“!;'ëRh¸ gš)ªÄWk¶$ÜÝÌÐ_Ö ,ëˆóÃ/CÄŠE~ÅuHîÁKáNÇŠ¯A*SСbâ÷y/Aâ †Y Ï\èb¥ÁùÚ§ª,9•Gg ÏÜùRMà/Yg¢Îr…gO¿G#“•¦lKŸ©f…¥s¯`Ñ›EÓÆª¾Òmx¯ {£ ؈çyL©÷#×?Ÿø¸‹x¡NðÎÓhü„îóŒàÁ]¿)² ¨;ÏŠgׂm®Z³Ê ŒMÇ;…ŠU¬â»Š…9EWüLôŸt“å¿L®}\yñÿ"i>ø hîµ³±ÇGÕ ¤Ù’ð Ð4Àج‘@f8ƒÚlFr5\=̈;7ÐGM¢æY lé]]°w÷Ð7:ùtKÉ"¡?Øu*µWBSzX5ô.ȘC‘YVQ¦fÔýŽÓSÔ¸¡T,á,&ûžÇй°Ù¡#×Oi ò¿óx^›Gsí?¥s3¦&z¥W÷õ†ŸvÁåÄãçÙœ¸Pìxþ´Pȃp¯±¿-N÷jIä’•óô|,ã,‡e¨_[þ±2œ_á·àËL¨6…ÍT„ }»^—%N›h6RWºËáèŸù‚ÙJ´ýïj³%Aç Û›¤vêAâÒ¹šÕ«DÌ"ñb"G_”T¤C" FW·*°…ÑŒD°Ö È%×Ñ’MZSÓ¬øºH›¬JV+r.+† ¯Ñf熅vRscv[%c@¯Gšª-ž8ñýMËéûïèkî-—Uiƒú\4a%Á RæTgèQ¨hhÑ÷vgè-0š wrUá!鳩àÅr&61àß”09[’¾îVdZù¢E+ηNÀØß'Õ°00P@Ü\´@Ïå_ªÿm„^3:õäÁ>]‹ù+,ù3›¼qª#+šPÐo»îÎ?§w¥c_Šáj`Z´‹s±cnO‘º—®ÆkÕ,;nøDsyr?í[¯q½“,¯ÝQ< Ô·ºœ–wŽ0 ©7 Ô¹º™«äöÒd ÷l®_w&`æÿc^ÇÊ•5­ŒGvVn]ßêñ¼4㟠Ž@B‚)ä´ãʬ1ˆÏ÷…}ø<ãÀþ”ßÿy¨@¥”BÙ,­™|Â7iß±p üðú 8Üi`¥< ßÏÙ¸ø̹m˜ h“¹Ì©ž¢ CU%ζ‰øo£!lYßÇFF_ðp–:0RíF9?»§ßp!ÌQ†«×¥¡uÔÛ[j N…keÝ™wßä”†Ó Â>(2²#PTw«ÔÝ:ïgÓÿ=œñ¥¡ËªBuRi)ÞtÒðr‹ ýq_÷‘Ý­ ¢5ð>«:0Uç±FŽJúà³PGùdx¨)Øžr±î¨ƒæMÉ ²vW&½$£â§OGB·ïQŽM{Tl|˜EòK¢T%ÈòVŽ2ƒ$“¯2æ®o0ÄZ ëM&0©ðfÎãÕ"Lœ‰¯ßï2Ú4VõưóÔë§ymp`¡:_}ÝRy«^‰ÓÏ$-R ò^6§)²’éËÖÓ¥ìm®VÐÂÄ‚åïª4A»ƒ ~ /ÕÙ@Õï}z$Ê ,ghów¼ô(_}'(¯©Qš¹)|é©¥€OŠÄaìë»ö­Ø°µ<1f'uÎq“Æ|€ïÞt·…Â-••ÙqB/Æ»CE^ÎSùyç%¼ƒ}Ռފ°½%‹z ù¶’¡š™œäx™Å–¸Ü‘ai!rÝ 0qœ…<Ï 0@¦èŒAW{rýeUƒbÝø C¾ådìˆyP¬òæÛ#Oô\®H¾@±e¾¿ó“¹“!Laj,è´dšÒá {7$*´¸ùÆ©—ÑÖ„B¥¡LÿȪ(Xo¹+шZÎSc.Êy‰Ë¼™ö+¶Š¹ §£_Áá7ôðßàäj)Ù†_¡W¯Q;ëÛ¨ÿ¨oÒÁq x8\¦›¿Î,ç4%0¶8è¾õ“£O;iƒ‘SMî„ür8€>bŠÎ‘'캎ÑDuÞaSÄ9Ò¼±¨‡Ï®ËñÖ&–ƒ~™\s~è`l„W¸Àñ:CEž*A-rºïô3Ôjj}ø27ÃRdKµZÐ<韶º¨ŒâIûSVBÖef¸— žUÂãÇ“yùR»%$Ls„­©dé=˜à8߾Ğ¿ŠŠl3Wíë't*^¶#‚{F/`ú^tÊe}Û™E ¥1QÉi»r>´.&Æõ‘q‡Nb#¸Œév¾pkK¢QƒBGë—Å^"T›ÉsñÃTMyxX蓘±öað¸¾>ñvi‘4—ÈÃìÝ ñÓÆõ*€;MQã{½;bxÙumŒRx¹”æÝÚNË« °)á¯Ñcr™ Š Ç2,¾‰Ž,/×U^ .øe÷T1Úüb€’%B¢“| ãÂÿ!9®•1óUÅ:$‘OãIf;dQF iþä׳õ=›Ù«ü‚ŸM®&á:g\ˆ¥Ÿ6 ,TIÂádªLEû„õ©ÈšH#áƒwdת.rÓj|馅ý8²°³«FBåd¼­®ÞîmY¬S%ò€Û®¿ÎÏ5ÌëøÎ»¥GtÚ“ºpp€€+aè—ÅZýPÚŽ_ÛA,ó3te¬ýÌísgùÖ°èª# ³tãKEC±&“cªqDîBØóÍÜ~ËlNm¿T)û÷1ÁÐ}ÁÁÐmü®×«ùCz*ûæšÇ‡'ù`ŽÃñ¼ŽÇ¦¶UÁ*“´É’^?0x©KìIBõHLŒîúqxy¡‘y¼Ëv×C†b‡þ_S¸Ë©Æ‘¦V{v…¬R‰Ç}Û1Ð昖QŽ{º,ðÝ.ÿÜÃ=XT°#ûn‚µ…Ö¸®åc^x\ØÖ± —¬€Ó_Gs»öö„WÐuÐ<¹DsÈÃ(»' ›|È 'Üz—'XYˆŒÑ5Y¤ï åòË·½ö$å$NØso¸|ólösõAAŒb6(@‰´»1SB+¼î¤&5&2…Ù9ç0ïAX”ƒ±)jWŠ{ýæŠC"…ãuÇc'YP€+¹Ù”bD¥ƒ·œÊð[’"ÄgÖÊváQŠ ç_ÙdhhµçÜ=œ¸tFäÊ4±ß‰ó|7Ž ¾ÿ ¹·U°úª’û jt,qVÉëàÞO?s[ü] k\­sîoù°ˆŒ]± îUâ|ù!JŸxD8L¤ŽìDâÇ[Å«›”£Êœ %@¥ J__*‡Zõb7Qñ«¡ñ˜én•&Ê”\¨M~[©:„»ûeØ-©Ç²\ "5ä< A¸C¶ÄÛ ÍÎŒ‡£Òßá0Û (ÚQj*R¢µ9×]Õ´cÉúÈ¥­o†»NÀÝÇUÃekC0A€ÃÞ’ƒÊ"<—zJÿí›X/MÐìk¢ƒm¼E+]¼c»#má·›ížbV¿?Î6LŒÍP¦ä ”61>pûc$›»-ª9'óèã›–/U\⑪W&:´òýÿ¬&Ùå2騙ïf”‚WÔEþèÝÖV7°O©"b/ï‰õj´UúÕAÝ¡Së´ìùšýÆÛN Á'©ñ‘û)ÃÉÂvøœ'0Q4¸X0Û»ZÃ"gúœ7€ºÉRh>w çö{[åPÅ2ÒÀcÛ©jÔ5wuÈøž¸¤(¬¾«uÝfz7ßóŽSõUFÛLãVžò÷Ž­ž ’)ÓS€“#¦v¤_0­–p¥b1}jûUa@r'§‹VÚ"b«€LQ¥Îå LÈov£VPE’ äEï!Áusæ%wùô¸qfdy ±Ñt¿cVЍããC¡£·sá×Üs:uĻOË’4•âˆýZRðž—¿»gžØmÑ}/Æè;Ì|iýS±#(šk“Ë-»v¯ G¤ð}6¦Ά!oßEX¶y“ÑQ쥗Öœ0GÀ]ñøHK˜õéW¬”â¬a¢Æ»FOœúÝ<ÍØ?âCLqÐáA..-#Ì¿È]q Î1Ï ÔÜ.ÌEýæOøw5(-¤®þ¾ÁýÍ„`q‚¦¶J)£=O0›qrá9Ħuˆ$ë7Ü¡ä5§®üHðíÂÍÊ©ÔÙü…_9~›®¦HšÛæi*K“ŸVužÓ 7Z±zÎ|:bî}Bû1…cçœ3t„¥ò˜V Ä¢ù¢‡XËjŠü¡ƒ]z¯Ú6QëMè æ— ¹±±bÕ¤€eÁ›TØ´§[•q›.gÚSÎu¯òÓ1»…îÊÍN {)v»·*øÇƒígåj ]ìœöÓ{¦­ŠFÀ°ÿF@}œªV<‚ Á•°xÍd)fg¥.ƒZŽªlzÀ|g`Ÿâ™¼ëµ”õÒöaà°öTû‹H~Û/%sǸYq ­Fú5ˆL#…T5ó¨/'öi£}™£* ‚^-ÌL(5Ê ùÑ¥¶?óòXòó_¬\ÖU¨·þË]/‘Oxö»9 åJ@‡{;3m¸ZÏwÀì|Þ6ïKHßài…ƒ¸Ñ˜ ˆ\{É’LG Îå\3EeÁ»(Ƥj¯ ‹ûˆ‰»3ĸ)ÒWÀCú§Ì'oͧÐ! …ùãˆ~»ðSOýEsŠPYoœú+½%¬OÎÜÞ> ÖxCl³A\ éç/oÖYÒMÍíòV”dúN˜,œÔûþ¯òñ~ŸþÓ(»V‰øóDN'VyI‹~z8 +°dD’;¹g#Óévš9vŠ}›þ\%²!N’ï¡~©ñl7YUu¨äK;ÚDRu®ÂV±`!|¢eµ§¬‘º`ONš )gý™WÚ²C·Z ª;Ö~ü©Bõ‹Š(Îåp7nÖ j´ÆØ{°€÷¾Õmœh¬u%i/;1ÜFÂ(¡ó¶Nà. s0PR~' Ä»`kel_fy³Q7ú¥š‘0¨Éœ;a¹X¾[[ïðSÛL¯~ç»À¦†jÿ)Èô„Š?gèîZL'×tÜ¡'øõóÉÜŸ¤ÜôaY^f€,A®[RòÿÐcr}·“>2±êE!QzDg©–b{+i@óUO ·é30Áp†h‰ÙÝ$9ld‡ñŽ2àÖb>QL€ ê´»|12Ü0@B“ì†_÷MƉ2VYyÅ%¦9¶)_‰e¸¢*>BõjE,¨kš™–ðI]ï´#¬Ú¡§ü/z})*- \Öyª+ü&,›×¨–š.¾µp¸rÜpKYÙßRÖ\æ÷²ÔJŒ®( Kȧ(ÈõÓ9tñOÌí€\„ÜÐåÅšºf’rbü1A¬ô¢GFȾÆo[™¤·]3ãéó"/’R54Z@mäs²uÓ’"_xŒ-Éo…K0…ʳgÝ…É¿5Wi¸ŠÖÜMÜ’M¢ _¢G&ù‡>uo:¦øÄ*}ŠÃ~! E·‘Pª |p€73 âU—w§14ž+‚›2ú_åû%}.Ü¥yÚ¡·5íE³ŸE·4†ÑŸ•æõ D¢ÄN0ºb¬°ì˨þÛ„$ŸT“@Z6WW·¯ÔhùŸË:Iq@9ÏÏ- ;h¶Búú|çÛ×7~Q+`^­È[I·„š¢¿0Ê¡t7¾­ª•MWlöWö¬KRÕ’­©\œ¢Ô´(E·ì™sýq™)Ò @6Ñù¨òÁ©ä`¤k,옭’ßPg„SUáý( ””[Ž˜gÆªŽ‘V ˆ™zˆ ÷ÇoWØ›Í$ÔäRxé T~^Eý:8ä…Kêe.iö—ûŽä>Ùi~3Vße¸ÜyrÃ6Uô`¦i*&¿w•îž±Û ÃóX5¢rí+ÌÐ^©kÁsa¸Üô …µ‰ô¯£e‰­h~DXÝZKgjôÉyé•¿ …„ÖühF&äí"î€téÓ%_[÷‹u9{àÎLâqÒiËŽå%²Üã­å©6§Ó„5@µö¯ö·\ªJ4—örTa ÷èûÐæJ]äzÚwtûXïµ3xÁ¢i.Ù‚ò`õ6¿‘ëy^ÓNm¹âø*ÏÉ>].æðôÄâW ñΣùöý3‘Õ@Å;稙ܧk¬ÓéðTûÀ «Ÿ4¢·Pik‚Ì“¥Ü1¾IL‹ yçO#"êg—˜f$Ç€¡¹½.öÿlÜZ@@”„ì1v[6¥-7À½”M]½.EѪ]aªê¾_F!¯Mk‚…¯6À:»©Ž}D´@ßMtƒ†è®ï,! öëÂý+éÐ\\í`÷,’yšªYBjgùx×Ófƒ}„ w~7ÕØw(¤iË›%dBçh~{FØï–8ÊeD!ÉÕxý†³µç⨅[ã$]ƒääq‘é]ï=pwПdÚVò‚Ø€ô…œC@ïÌØÆaâ÷ÝNŽæ=ìà?V–ÜÝìUâ6™RßÓçfHL}š×dIËæAyN‚`¿;9)ù÷NÔjä$§÷'`£œ¨g@9Ew”RdvvÙÀ]—ŠEã¡ÝÖ Úç…ì/zT¢BEåK.PÀÖB ¼ä²Gå™õiy­¿$žŸ¿œéPޟѺx”Hã“Z™‘š_"E«b—?2;VÂ]¡íœîDm¨iú}ªø~+–„™#(ÝÖD…¡HÇàË=gxbà0p¯¹V’|j+É®Y¾…ê ›jE§ (ÞÒT@8ª;‡gq|ä(>ÂRG¤ZXÌa0ë¶Õzÿ {¹½aHmµ¾!Ä)…OÌëÑÀPÏ3ÚoX›3ãFÿÑ£™Ý„È´ø +ë¹™ŸaM éƒ“JE ‹÷ [Ö­Þaïµ7|-U ÿõ§ ãÆË/ÝÐ=`. sDÓÎ'Sˆ‰íŸÞÎèßòà\<ú*LШua‚™-kaRZR@I'2}òÊE±tKþ¦!€·Ïëæ¨ï8­fçŽ/ÆKxú‰›ÝCØV°ëÄÿ¿})y" Â>—¿nXN‡‘b<«´CKË.óÞ¿v´a2àjXkÂç¿%Xp²MÝ.®%»¼ÖM=Þg´ òU³ËíŠÙæž‘`;ü$€Œ€]¾œZȨ"y6}aú𸠅?"³[jP‘PÀLH5•;7½> ‹ŠñHXN @>½´Ä]h6O§¹Rwº`òzl`”¬Óɇî÷_ÜÖÒ´ç¡ ’q6çýDíùja| Í–z®N÷n*}ˆ÷€BbGh¥%*³—Á‡<é'°ž –OuC›ë$:)z½½]ã8•\†(ü [íÉ’žÌa<Ž'Ig¡“”>ƒr„•°¸_£œEÅT¥hÀ™Fˆå1µÚ³’„f4ß«±.ðÒµj´¼‘Æ‚,|…ùäShú* 3Ã-ýôt¡2 õÅ9/<øcÀ X4]®3Ñq'`¼ïÎã½àJY2HÆ`q ™a~Ïán®€Â÷=Ú QÂtåas ‚†jË4s»Ow’pðRçèOQË7/ è€é¹l»ÃÖ­B|¹W5_ µ>EGq¨›z›8ëÀffl^ð£]—Yßê3¥ç©B’û^lˆkÀA— P—šˆÐ÷/_ÓrIGºÿ±yˆ ÁРº­‰©ß•ØÈ$ÕŽ\½ÛÚ˜ð–DS ³'Ë ÇÓûAKŒCXÛØÃ&²XÑ4{Y?lPº~‘²Ý½Ô%eü3Ùä@bƒ <ð‚bùËX6‡õ??Ë4×È5õ»€/£ÂXe˜S«%YVœ]2  _½Ýaùî“?¨d˜R·òÅ3¨RL}Z-´5žx+™Íƒaʶ“–p]{Î% xÏÜèîÞûüR„_WW‹1a>ÑËÿv¶í]ÛW§Ž%Ô7•º²)'ï£ÔB¢ÏÖÞ ñv)Z±$m¡%A¨«HË>KyTÓ^ÀÔï) c ^†Ö¼WD˜QþƒÑj–^S¬Àys|JÇÅ?FQzËʪ­h£kqó“àÉ5ºý× úú^A/)%óLYÈýèË sˆ ®e©Áª:”>‡âçl{Œ tUqîDÌ‘t¹gd1øéLþÀ Û| ïf }ÆÅCÕ¸oAŠŸ!1òÀVd«MÒ§šŸÕG:zŠCc²3¬ †ÊnL9vhrZsî‡öZß™·8{*ÞƒUDj¥ßÏB=ó"ç¤æàG¾Y7Ú'0±ŸÜ¯º:0®à7š 7_’Öî(ýõEd³g/ 9_øåfíáL¼¸<’ ‹gut«‹^3:Òß1­Ð{ô„md'ü|0åQø-ùíËþÔ¥šÀ=WÈ¡êù=–iŸ­ LÀDm±O|'Ê?  :°%¿Ô…»¸ÁGƒ… ØwÓÂz⪹™©ÖЭ6 •Pº§p¢Žw§r†ÄgÁY鳺©Š„ýÈ^Š`”©{â!.Ð'Jü=óÓdΊ2~rÄ•s$oËÇUŽiÎÆ;Öù0Ñ|"[s¢ ,Dy¢©]X_}ôYKÔ_Ù¿+Ží¯CÔt]TãÆHòz%»ï¿§Ðk(ƒ?s#$—·.¼Q üŽákz@Ò^¤F¯ëÌA`³ø3-èV°.ã×­4¹##O„‡•„l™¢ÀÄæ³€”Ž|Úh ïìóóÁ—8aÉãàËk q¦ÖtòëÓø½;¬Jß3uî»0>n-0 ·Õu9v'y6tA|<"|œÝ*íÚÏ( ÄIª3EÌCšP */Yß½)ãûX­È×i© §Ücþ:ޑ𴯰U0˜øFöÏÚ7Ø7z-ÇáW‚õ7~‰â=G>¿Q\ÆëèŽ&!$r[Â8ФÌìÔ×´hÕ°ØåïÐm¨æÂÕ>‚,* 2ù³þGém–ãÉØÃäú£+G”P²F³ç[áÞ|–j¿ož»O(â`×!Ž¢eÊç%™ßw&ùg½6 a¡`´$OíwLÐy@U~•ÝeO[Ö˜?gçc½Ÿg_ÍŠ÷Lu·S}í%Ry³áõÍh15kX!<»jW²=V\ÈG:ÕÃÆÜKeŸjùξ¸£W&sbP]ô{`:èyÜXËôþ6(ÒÆÌLäÄ-6³C¨¯@ýHÎýŽ­|¸B:ÀÕîù7€¶ãÐôæf¿Ï<ò¡§ŽŠ¾›!„uê„®‘«¹ˆ¡ ærEvÔÀ­£B»AuG„ZÛ_TaÝ£„ü x-ƒXþ#p2<æx{>`‰&WþWq'½¦T4TÙ•{ƒÖXxèÄ ‘ £¬-!–ü¡ê·%WÿØñfšy.§ú†¬Ä äP IBàYÉ)hÉI°Óbú x³÷ûFŒ¹ÜOåùº‡“xΩa³Ú]Ë3Âi;‡kN]:⿪\Ì¿gÍUÉÑ—äËø‰3züxØvH!_t½/‘íÝ=ב3iÇcºÞøhÓwþG6µ%˜Ûaí¢ÍUw% ™¨Õ–,½FD1°©Þ–ΣJdT0©y Cãzˆq^>-RxÃ?·X:ß-q©tä*ïZR]Ü Àøøj’³NU¿,œýýT[ œn€Eé_2í¼¸Œ´ˆ…Séa¯¹¯íñèbA¢1²¶ä/|î!OÖµmxÎë@¾ÿf·‚èj¹Ëÿæ@éû¼ð7:*Ô½5Ü·Å Ë(ňÔYÉÉ焑ȽÌÔÁ7vd7ˆ!–F¼Â$yJÂj #šÂ e.´25îy[#(˜ºŠ¹â|ê¸&¯/³«Á•7i¥Ç£2Ìöà‡ª€ÌàŒ¬Êí·é}Ìð¡ËVþÕ‚)×É£ -y†Ÿ. di‘ÛbTÃ_t-LhŸÛú. ²Îl&⟼AsÚͧýU{#óšÒ tlr±()nøL3}Z±¹HU/Î )éz žà¥Û.*zäæ¡l¦ýS"5çëI8ÙM¡‘ÎÅý}SAãýð/ų¿ÀäSçw÷ÜX4õÉ•qœ‰îGÃMóMH Ø¡ZH/¨eR­ƒfKžp8jÉþUŠ{Ëæ™¬“«£] LZdGâ8YF¯©r¥ï¿©ÿô%µ¿ÞXÐJð{dåùÑ÷9Ö¹aÁAzåšËµ”¤z]Jzn¢s–ôÜ{ªšIñõ×{8»s‘¬b|py‹²Ïa€Læksì&¢‚cJ˜që%EÓnC¨-”}GÇÎJØ÷9Ü@hLàqTìpï¡ADtè¦.WÞyÎÇ'Ð.ˆ¹ ޽^™ÀU«…w‡ïÕï =lØðZ,]%¹Ù]édZBðO%£ž jI d‡XõЙÁ›áöu+ŽRäÜËÃŒ ‡¥æXd`–•‚Úª2_/f´÷ýõwìä¬\ÉÄŸ¡Ú&­nºëaaš!J/Zà þä¦CR:—ñÊKi–F;ÅYØâUt Hž oùq_TB÷‰pfQg1R…;þññüå!²Â7SXJÊ&@Eîâ5O6Ô ²§-œÖió/ ëòÏJ67¯Ù;A‚Ÿ;a: ”—ì¦/éXÝÃN²3 |3Œ ½‚˜Ó ¡ïD¢Ñ%ÿÿÍVÒàTÅM„‰#f=]fZöÝ–a -ªóÎQk¯>È©F…v@vî™Ò… ÿZN[?ýÓû-³»1‡6ŽÁPÚ>vƼsF’>æ5² ¶%XN’\‡´GœC¯jñ•ì°c[„üã¶UÜïˆ`5†o‰¯TrGžÜïï*UòåÁê~_Ï'ËÛJ ks¹ gr$Ú. Óñ­BºË‰—Ç~( {Òˆ;¡¤0˜)_8ïNZ‚ûz×KEL¬Órɦˆ“DþŠ/J«–ó)gìÃð/b³oÅÑaä–®•qJrÆ– ¨×ÕÐ#|=¼Å.ßG’ÿÃ7èÒȨYX+ƒœ/eFNOj»‘P±0ÂÆ[dLpqý†°å?j–Ø4§ØîÉ¢¾ ²Z8:ÖýíA~VrÛ9 ‹¨-ô½@…à±ÌnŒÓÇüÏ@ïÇ_ Ì›ba¥)χ7ÑåwÊ^R["í?EðÉǹ*&™KäÍ{Än \ð<`ëÚûÌNö’y]ñXû>_áïÿ9cªŸÜ»ÄëŠo\]R¥8–ÎÒbo ñôxaºGD‰«ˆî¶Ñb³/̶*ºýHä>ÖrSÅW~…æ+%S– m­;>ëšùGlë‚30,Fç¦7@2$·à­þÈ2~G©ðØ^Ž`ÄÃ)è¬M¡ÞOW¸§3®Ðãv2â+7H—",ûÔXrãºú`|ÅMPûNxL.<ýê!MÑ‘•7(R˜.ìϸ:^¨¬d£ÿ@%Îß¾X×¹:6.Mß.€‹2Eë&Ɉ[Âc+é0l&bSdéÕPçï…ÒS*¯‰/ÿ®Gý2Á4‹5‹'ŒoŽÆÏêÂrÍZ!•³ý9ñ·PÌNèã?,3WQÏmç¡8z>{9£ùh±Ê›n‹N6XndÆ< €w ân„^®ÜnËcoX% "GwQ’ä”°@ª:¶p«†5‘v•¿.ZáD¨Å±‚…Bö‰ÿ>šð#é‚0d‰Ñx?ݨ,zÙk®>53•~jþàBM.´Í)ªƒÖ›÷[³§ïÙd˜Â~FGeó\yÕ‰/±gßDu×Ä":OÀô &¦dì$¥giN+Fâãrxõ²…/ÉðÁ‘:„»¾ÿpsù³Þ ˜éÏZìÁ=Ûĺv¼c«f¿ó÷‘T B}÷oN½mÛIn"D{‚ÅÝZmc<Þ§9II§?] x: y±žöð7|†e©Ró0fÿ6“©Ô~¡rWÖàÒ×èpÂAÞƒ¬b˜þÊÛgñ=ßK‘˜¯VB¯0×°ž ĉx\¦Xd§ Ä|E_ ß&h6áëÒµô´° ›¨wþ©³Hªþ0×¼$·bÌŸÅAÚ«/ßÞÑðrjòÛÂ7¿‰¤ì¨š»7ÚƒLeLvLpFD/QØcCì3¿'ØK¨ȱ:xE t&§óP;5MYç@¤ää{QÂ&)Ó ”#1&êòx ‡Ÿã%»è1AI–ë> h‰ ÒÌPßNªÚ² œ¾ƒÒR¯¥; ¤Rv÷þêÂxùÏ?ÙmêSà‘u%Cµ³É®ª·9Í)“{̾} ulôÄÐuzjÒÉÂ6Žßth®¹_L{ƒ0¥×Í?Y‡ N°"Êü1ÜC£áÛLgm¥ËtY:L».rõÔIl†×÷`f¦oÍryâ%ùf_MäBºÑ:r³©óºk«êtTKö.É_s¶±(V©ÌM¹Êz·~¸+f 'I¤h_ ®ò#ÇûÚSü¹Âa)»ôÀqjMQ> k'À#Ÿ7ª»d±8mv8 ÒN ½VÕÌ«ã¨O£Ë,ôUt7d \m¢ÖYGäïe‹1xÍ…¨×3ù!Öª¼°¸†cì/…ÞG±³cpðû-Ú œ+ºËm(© Š.îäòíËñ~NÓok¡Ð5O@–'q¶<éeñoõ0Ðd1‹V—IÆÕH@Bä€(TÙVídÔ2ÉNކ¹L‰‚}@ò÷^Ɔi ofà"·K8•Á•Þ†TËmŠ(HeÓ-ÅÊ’üOÒí¶pŒvý 2ptv°ëðZ7&”)M·s;’n’>¥i)ð¨MKnTÈK‹¦Pl®µÔËl“°8‘¹™å¤ÐÑJ ¸ë™ª`ÍöŽb‰˜¡Þ\ËÂ*¬-ª¼rƒ™³2 ‚ zÉÇ7êÿZ½p‚Rk¥H;m>îKŸ@‚[ÿÅTã5XÞ›žòeŒØ£‹b‚b Ÿ¬CùŠè|sÇž<¾Å¡YMÝp'QÓÐ)&‚H.öð¬D3ˆ0Îî(A9ò& ’ ð©hQ »øp °ƒù•U_ÚéÍAu£ÃÔñ Y”gã®AÃû(-Ã<Kç\2Y‘h¥Ó´º/Y§ÿRBj ‰ÔþΤ ëÃѾxLºëwšEƒD£Çt¥xÿ‚ªsåsJwŒL©æ~´ª{´ä7Q 3}+Dý£ãù Pz~JÇ ÇHZ÷oì$p}ßܧ@­¹‹e²  /ž¬9¯µü7.‘^Åã1”÷§™œ¾þÄ5C¿<­oëA÷oS·ù·Øø!évÆ0FöØ(ƒ‰©?Ù|ä,ˆW=ÙŒK`âÆ5؈ªÂlð1$²²áÐwEà)îB±‹"ØÍU“j…ø£ à"óÛb’¦c4áå¤[rq,|ò0Ÿ9tf¨ŒNqÉípuåä B%PÖ•`œ:EغJruËÚ8W¶ì1y†m`H˜Þu’r5~ø[oÑaNôÌeÉ/¤¡h(ninÊ”|þ*áúŒºYK8t_±VÁàŒˆŠJ¿ÝŒìrôW'äª !PJÉO·· ÙzÛå‘^«.ùEöJ'S€¿á³krh{í%ãˬ¢7ÚºiöNT»ûÓÜò,<ÒhD*­Ä¹[t&’ÂOãcÅÕuކZ[Uü±Tâ¼ÂŸª,Ã`"¸î,ªbºˆE -Lzð1;ï¤kD’2:RØ ìÜYa\†0½oº eôÂlòðÕ Æšá¡O–¤Op“òðŸÒý5HCs{7CgâEepºR²áGYuºï2Uhc­qø.ì‘ùM¬>Õ9*?:³oXŸM—´P”@ÝdÅâxýõ¥–½Àg‘ãGs—ŠJíC5cNóPÖy7*5EƒU^Ç­ÎÊÍVqÀ¼@7+޼rïó†µk®Œ¡1;²TŠÆj4“x‡5ŽÉØ—oo+þMg+¡òTC2¿©²8ÈX#Tÿî5oÝî®?H‹!Å|À"›¤œF»60W—ÕÔ[òÝ´ãp'ä¦ô+¤ _Nesu–—:ÿI£1·+çA†wÒR:°ÒaëòE»Ëƒ˜ÓuEEuÊ…6ÁÛ¼bÏÛº_ZbsX½&tÄ{$v20„ÔM%‡1gíÅ÷2[Å`šL%AOK P®Pœå´ÕÇëÄ^Y„¿É/!‚Z…%ÈHÒõp`ËÝ•§@ ù_Èi¦Fd.SáT5i‹Q9á+çp,Óç—Cß» HO°úˆµsÎh¤RÎâçé¤Ô¤„Á|Rýj~BMߥ\RˆZ@I¿¾ÄÄâpÚ;ù)þ¤58ªÃ›÷ö>9ÄÙñÔŽuþ¬+wG—ò«q†RM× ¨}ÑÛ^ñ Ñ=”¯!¿‹(·ÕíõÐŒÐèu ù˘A>6T'Ê…D÷®_ê0€‹ˆ¬úÝŒpxX…Œ{"ü'‡G©d‡›ÊªÞ¿sP‚ݰ€bS2Š.xÝFj&S\ÈûkBülpG>ð"Âí5Û2ŽCDP+3ó$wªÊÒ±TŠ0¬Bß=BÝO‘[}ƒEé T¾GÂ&í»Å¿é vÚjp´;g˜6Iv4GH"Ä^y¶œØ„ËÊAÖ"¡+5Ù¯ÜÅÜÞvBÖ–ÉÏååc¥ìdß¶’T¾)_±¯Ô|Ô«}³ízì­t1Omãgƒ×,i‚7ÿ Cròaö'×÷$c3IòTwŠë †Ø–çg4RظZÝsuÂó)NœÏÊúmÌ5dìÌ7ݳ #’%gáüºLÉ»FC!Ás¦iø`É)*y„áé²d®¨”eQ^)º1§æWöƒ3—ÆäjSÏq_ª( ̃0¡AM["J§•E…’RX·§_NLGÔŽ¯l/ ‡®6˜ç§lDˆÉš}JÑVï‘!™}[©àây×Î;)‚èE÷«[Ô'ø^rÄÄN°é`¯¾€OЯ¨øc“´î§ËOw$ê×Ö+ÓËéx§³Úx yx~pr… åÄ Ä;»Æ&]þkê ‡7šÒĤ'¾Æi3SσzöÝ6h7 èO.%$ž<Ö&˜Þ¬¹G FÀÞ»ËYP œæhùöƒ”ID&ª°Çµ‰»­X¯l1b ,(pyåuÚ.ϦrÙè´¦4›.À¥Ÿ?6SƲ7Ÿ®ŒÉ™Öð¶xh :†ûFŒÙãt(úO†í Ž@36ô¨ü¡ï<ÙX¯p *ñŸ½ÒSÀÆ3ŒšïâW¥P5ßÛϨ3rJ5j/$"¢°aU&©t\ÈŸäÙ&wË1<ãä¡FÆo¶ÖÒtJ¹@ðÉ9‚«7Ǹ›Æ>UèCÐ(#¥˜ “azíµ;|ø{Qm!¼H,zoožÀj9ÿ=¨øgLrÅÄ.>±ÞF¤E~t€)pJM‰3Ç óŽ6‚ò̈́ӾÒKEÖ Ž)‰il#ŠMu­ÚÂØŒ‘µ¿ûʼnš?;$3.¶óGíB¿|2éT2:¼¯ƒES0<ˆ=,A<\h`*uæŠ-¸‡ü_ñ2 òBQ 8eBøuY9èjÊAœ³ôXv¨A8K¢ ÇIÖÀäé`§2&ð-Âþ÷U gštñ*Ùjά5s¨NššÓÔ¶—m³¤ æþöl¼ø¥uxïKï–8„ÇM"wdã»]•¹Ì”EÙù›A|òÄ­ƒÉUç#mªõ’°ôÑhzƒºZõûÑëøÆ­]~€à-œNÂ8Þ„D<ñqbø$ZÉ×—yÆÍs%Ô£¹ øsÓùz½w÷ûØùÜÿQR”²¯ÿàHYuøââ S¶É }À‚nYÏ¡»ßŒnkæ¦nM2Åž9¹qeŽ™Ê›Qôa–—'ïÞ¯R›.õY6»‘€â½¨jÅÜQÆî1›‘©­ôÇ~•1æ*å] QŽ +¿ÞÉѰ¨˜eû½ð73ÿÍ3iâ£|<áLôhö'ü"Æ,{ÇŠf:¨%qˆŸ~‹2ö§Xü£êÍŸ‰'š~L*Řbå¢é,YôOnÌëÌid£"Þjá~ÕÔsù¼è‚« þàœÃB«nóÀf ­äƒc ­!m1Ǻ ^^S™ÝÙÙEÅÿw¶Ò0ÌêÜP&–È,ŽDñí…ð2ŒÚX¿ÜÑ¡aræ(¤5ýV¥ŸQ®Ö¡oÀËËôÈÿKêÞAwJ"ÍRG“óŸ]ñ`‹ÜzY²|E¸W¿ö½Áo¤Â-¦6™TîCòÉ:ÉýÍ<ϯ5c_]ŸòÜC°p=g5ñ>'ð›ûS8tá¿ ZCvÂÙç«x?sŠŠ0p‚±Þò@Ò/ÀÄNÌJ$h+g¸ûÿÒÛ ír8ÉYþ’ ³€±’|+®½?w'Ãýñ”AÀ°±·Þƒ&«ôæm†bÈ{FˆoEZX£§X`rn­©_gç®çÄ€=µÓ&Œ½kW$UlžÏ§;‘ ”Xvc5a%oÿÿ±ªËDå‚ ‘•0Ђš^¾x‡=ü%7«ÈÔêx}¼;çbÌú 4¾Îf%Ì&âfð°.ƒ¡¾Ã×na¼\’Îi"wÃ’€‹õÊ5«y‘•ùºç›xß×ÜšÒÅì;,Æò\à˜Ã èü=¾î;l´VŒÕýÄPË|Ë!üdz¬qˆsÏk›,õYݸ³óGÑ­ÙÁ¸ä%ú÷Ü7‰±2”ñWc3);ÓxT„PñÄ5ìiÊUi˜”Öa®È™D³SEä ùÀ²^à:ã4 ý°´ù­ñŽæêc%é+<-Í´Ýñ±Éa™¯ù×Aò¯Fò’¢4Èêb,G]ýé«%ýšWLÖå+e= ¹©QqåЭ×Ö>},·Ž'&‡ðÌp)LLæn”ØIiÐÖ%áûè÷›¾Ýùr] €EþÜ6áQaÁ×Ê7ßötì…º½±¯S¾"!ï+nÞð-Ñ]òþ*ÿ{§$aàw6y?hPæªÉ6ÒöÓád…ÈûØéç8“I¬1Ô»ûú'å€Õìú†$žç ÈîºÑ/xJG–sÏ.Ïå¼Î€0ÓÇÇy «$üï@“ Ê*°g’fÃÌ"ö‘ïŽÃ¸P“d·ëÐ-Õ"ÿzGÇDµ‹Çÿ õ€.ôßsˆÛŒi¯ÿ¢L6 ‚IÔmúÙì¾T–º{Q-X%ðçºH ô¨6§·1E'“Ä‹L¹zL‹`w„² £‘>I#ջ΂|ýæ{ˆ¸9”yW5г(Â{UCù0 1”|ƒ˜TdàÆõ€º§«û ]¤ØÝ~ßÂÐðýö ú{2KL…‹ ×Ö܈üZHI3^XÜq,½˜] »ãD>Äǘsñ_ùàa>=žÓl™¸â[4'ŠÝTÏ0ü’*˜Ÿš¡qÎÃ4HÊU‚c¬Zü 5%ô—^qÃ(_ô‘Ù;‡Ø3iÞªh©€4”¶÷ô:JÙÒ Èg£ÑÇÌ_ü˜µâpRÇ1.áX ì+µƒ7 älqøl§ÝÉ…Ÿp«L{ž’‰Byn:bÝ´C^¾A¸\‘ÿÔ£ªLÍM†µºPm<ƒžcœåpÞ»UdýƒÁ+lµÀ"eeß¿µ‚ í&ðCÂîtšy¼ ì6ãI=|ðë¹¼®ï ¼83U¿¢Å÷Úq½7 áã*Ì] ðÖ"Ñ´Î0±8¬Ø‘ÝgR¡J'%Õ’ŠA³€ªù®¤•ÊÏ^7ãhp,Ï‹àȆEpË$}§¯%;ÜâÝgÖKñô©œS‚§Æé¢|°” ¥@ÕÜG±¯JÛä¥Õ˜Êk]ž¾÷Û˲kä·cö®‘ ysqOË1Qùê¨ø "Y)ٯݻ‘عdø—EÆ+`ø`¢(«7‰~v–¢)€¯K½Ò¥Ÿ˜ƒN¥±og³²±HH¥éftX-i—ézNÿ»­<>›iúZƒ>:uâÚe,´==ný‘ ƒ™ýi[]¶Rdؑ̅í¡»)Ö: «}ÁM–æ?žF©uÌÒœL†Š¿ïØÑ„´£H"©¢›ÓPyÛÒ»hbüÁAß\+ßC}*^(¡};|Ï qÏ ÛÖÐ$@hûcáÁ§ଆÑñ˨Ì1 “å§U,õ›…¿•(|°[FiDYŸ¡]<éÄï–í|e¿d…qKá>HNÞ.9T6‹æ,ë¨Eò"'¯ ÝÀå‘—À˜U( ®oû¯&(%-Å8ŽNh‚„.oDL¬ã1Ž„nFü¹•I\vžÞÇr» w9¦OruÌVå GQ­Bd%@ux¥€ó(%Â,d(Ý­ ¦!®YOzÄ~GáÓ´¢]£‹ºP”Ug°èŠTχZfž³Q`o³j½äƒ( *šƒ gÇç2„ãJhDCl˜‰RH$z^ÄX+qÌZ8XPÛÁ·AvRÓŸ=Aõ²]÷Xÿ•ëÿ_pŽ0 +âÖåãÔo ±‹zBcÑ·â­Hb×Ä7ÝΑº™W•ÒÞ ±P©ò ³¤ÃÅ®MŠvÄQÀ&Bt!Kq;RsÝÆ´ö  #Ä…¹šeP7e0PºñÔÀÇ  ášmU¸3Þ¦¼ªtä(=(l!Uv+°ÂhÁ ‘ÝÚ@ÊJR]!•íµÙ‰š"]´"€}m¾qS¼¹˜+&CÌË+L“MœG=íúös‚Ѷ_€n,ŠŠÝ;foQ“T»„Ù´0JNVÍ¢‹c’É|¬+p¤J— æøÊ&Á) œâP éÖf¿ýÍàµï$2lO géhGд¡áȺr(„u–/†XÏóšm/R‚ÆL ŽyÖí(Æ \;ð;à¼[ïE¥µ*gl-ó&<µ„ÇðèÖw‹¬édfƒ¬¶·µÆð²‰žÖ€sdg¡_s ”ºF¤ƒd†5›ó°£~Š2ƪCM’é]ŒÝ ¥.éÛ~çTY~B.»eZƒLè±¶O¹:övÚ!—â^ˆѼb¼`-,v­z2|XXáÌŠWMÏæ+^×:žsÐ{{ÍX3¬ÿ“Ô6#sGÃS÷püÐ0ïï2¦¿©o¾Ù²Ãµœ«ØQÞŽ^ Y$š„äèø†MT/è vz² «±-°£@O]è°<Åv$µïƒr·¤nɯ–Øš­t4釫NÚ<õuK Å]á^<ÜC+7¼-†˜Ôû/­F.“ÖøAÃ}‰‡CŽ!û¬-úõ…¹›™×<9É쑜²J¬üºrøY‡‡Yxœæ¼³šèñéJbƒ©& :ç6J>?+¤ñ¸®ãä@îŠý¾ÙÑìG’ñVE½Kg3³Ç×Í“nGjµDY—}2(çÔÌæìŃ×J:Bì4Î"ké7Ä^â jØ…Ñ#Xªjf)ÈÇZJ2S’2s€©Œ›:7õæ°¬ Œcž¿ï¢Z¨º¹5 »Ò’§05p[‡£ôR *l1nø.Éß)IFc\˜']¯m›šg}á@ªÎŸÌ{æb ©Dæ¸Tu-±?´â.aåü–J66":¸Ð»†è2BöÓ+EÊd—)HÙœðˆÕ8ÍÔ¾úíÝ‘w;Õ!_èû_ 9»éÒáøËbžB:*½È Ê´¯¬ó§³ À5îGÎk¸6«ú`zïZUgìÜŽ%»“uäõÏÄJ¡zªeÖÔS Ê|6›LTŸÒÂÑO}Ä7í®'ãøkBœ©u”þßσ{J¨SÔæ&9®ZhÐãá‘ÙG)"Ô†½#éºR²Èµ‘Ë£X “<™t¿gÄIëD—ÛšØ /ôc˜S·÷4Y‘èLýeÇ<¤%2Þj1îíâÕ` rë†Wø‹Â0Ñ#IîæÈšT·É7•”€’S~ÎRòÜ58ñ/éiY–CË^ûÅs¹$ÑCB4èrßçÿqÕCè[É /_9eÉV’@5žŠÇ”6)¯+ñ½'·Á³E÷‡ð €+àK 7n9PGDÇ@Y0õ–”õÌNºèÜ™à1…õQÌû5ŠÆ2µ"ï¿^'¸Ú‹${VþáñScÏ´p@×è«PwQ”é =H…ÃjÌ}ÒüƒAN‘ ùÙ;0æñÝ„Ö{¢1 ì‡öA¦c1v#í@ýæ`µx°“:=Åd±>…7uG6n]©­néX° H¡•ßÞ¯Ë5%}àˆÃ_©­3±AA„³Ø@&6„ –Ákº¯ón\ÄFÌݾñ(ݦ!Õ,c™ª¸‹«"H2f”ÄQÍé\:‚£U´Á:-“\S‹7òÝékÈ#¦U¢èÉŒT^Î:n«ýÄûc¶“)»ÊFÊŠ&Ï%x×ùÄÏaÖŒÎÁÉá^Q^ ]ŽÐDîÖ>Éô*Ó‚MØo*¼„mµY¥kƳÊWxÿ)¨+{Îy!ËbBaì·Ã·ÀÁÆF9V¹PcOšŽm†aÓç罟7É\*i!ù\u¦*Õ‰6Õ„Û¸¼÷êŽÚ|©°ÿ¯_(Ÿ®f<ÂÂX»ï?Çè^Fx@L}rœMŒ+ʤžѫÃti×ÁÛz‰$E¿(tEú. Ý`4¢ÐŽñþ=ÿŒq{÷ê°?ëöT;§fwXjÌ冖•0T¥à 8£}7 ÿ•çØðÎx’õ-ÄÎþëø`Ÿ÷’—|ÞWŽ~K­•gN+U¶›^ò®ŒÕv7臅ºØ]t<~®õÒ«iœg£N)ÿÌu"GÕÓÁŽ„$×ï‹ [FëFiÕ¥ã ÅPI²{Zé¡iÅ?±™HEïfhžh>À’Q ÷¼*&À=^ ñ‚íD&„Ý÷ââ!Ù:»Îj[ÇNµm&uÞ:æc®‡ä!qŒ]"˜Ôc¤qaÒÑàf¨ =63ãÀ`¦~S½öH=}þ]ï½ôšÙØžÛ)©ð⦊I’0…&NdT‹]S^o…jõv}cœÆKíNÄ£0ªaUü|QÙYuÓ/Ü|AOµXõßÏšæ¨ý µ•„>OL< ¾_‰”¤E=‚Â9œO‡ãU’01ù¿}$UzÎdyCP›^`ù¢†,ù¥þŸÖs\±ôÓ¨1;‹õšÑêÍt4äÌçõG7Eì«~¡™Ó%ü$7¶ž›®Þ^AâE›ý†(¼ KQ[ÉF5_ÙÍ׳_Sˆ¨¤JI2æœË?ë<ñàúÓ… hÈüãÆ(,#LŸt2s`ˆ\“íÿ#f7ÁOHÔuâx« J‰%u2AßÉÊõx\-á$2Iâ@Ìæ¤’«mè+Šã!~>k£Tlüï (vøµÆ°o5Õ˜ÊLõ¸Ù¤Á\Ÿ¿tÄ7M9X~¶ gÉøÍU¼þ…zrP8Ù¶ØæÔÆÌæYÐ.Ø$Ä^™_6¤˜o O!k­ñÂÙÞy^¨³ë%ckÖépMr¢¤DÍsâ’z¬¾rì!:@BˆÚ™¦P÷ªN"i¥(²®è:¶ß›„d\ÑÖPç Òòß ¸k³ß»°Ó8¸Ia£ÁŽ§Ð½è&ÔýÙ€¸AËKbéHž}ñ¯oò¼klý?B8\4`šë•]²¡ ¢“êGË«Ò=øñ·œc¤F5ùÿGN®'º“*. ôß2ý'EõÖÉ©Ÿ¨!¯ð²ÈJßZn\šÄä}Ù}ȉ)ÙįDÁH2«±]2TI™™äí¿HuQÈ…žË’ŒjD4WSõÃ)™¡ÝeHûšäuR³½¡²»r)Šiî6üáúãÂÁlÄr<ª‚4™\¦Ð®Àÿ³Ñ´[ ÿçÓ Eª‹âñk’›b|°ºîÏ |ÐÈê±Ãtþ*-¢c0k:MÉ+È„`¥ }1x T¯m1!æc¤€’ÏTpÎŒsQ¾Ž¢vCä¾*_™IÞyn†{ݶG½Ä˜ü•Íà ëŠ,<˜é×4Áx~ÑÔÓ ã1 ”#¾úÆà‹l¿VÅx¿?>(!rÌÇ3Dì›LÝÚ¾'WüÏ#™u™©ÓÇ3ø9ç¥Ê<¬dÛV|žHk©Ú¹¨¸{É`h¦¬$ª§5˜Í´<öF+[ þµ›¯Zäg~Í$ºG¢£>mÆeMªJ“ª0ršj†h}nÃ'ËþEAe,ŽÁ&Öó©a¦Ûà0çM¾2¦©Ðl=XÊ~XIç>ìÛp<ö«ïð€à¶±YNÆÓknÓ§¤xèÎ7€Ó=1»"8Ø"NŠf28pkç§Låã~?ÏjO,4ï·ïB"Ahñr LjÔûöIÃCð‹Ù²*Wê¯O“øÌ)䀰„³ö8W6´§îZ «|£õÓÄZ¦Ê)ù›©è®á» fŸD,ߌäÜÕbr¨Û›¦§] ¢!ÅæÁµA³›~(6Bé+îcš²V!Î ]ä3!é–VµT]4Ç]OÐ'sÕ`æñ;Ñw¬eZHw?6ÄUÇ}O-†‹Ë¶P: Ä ëÃôË÷TÁnðû qÙÜ6³DãäO~õw;ðó¤ £ÛPY¥º7¸Ö '?ô‘PÒÍðFYCMøF0u·âr´&y\E¸äwQ¾õµ8G[YÆëÙ€À`õžôàZl´ôÄã%è«F±’ÿ-*ü¥&,„¶¡ïÅU´6U±Œ`ä]‹'&Š.Žr848éˆFþªç4Óþ‰1ËW"~¯WÒð{ÛéYÅb`Lþ˜šZ?÷Ë”à’ª£Þº†¯“N”…# g/,6œ–5–c;-up!ü7ìâDG{€àøÐ¤ìv­Õ åÁºög‹·±ŸË+6šdå;ó(^&eÈÚa;µf@m/h-¨nHSw‘¹­ ÁÆ{¯Õ[Ö"vh£ÃàHä2íx„ù’òPÚSÊ:p-÷™VUScª/ËGép"þ6)ëý¶r¨ÎÝ?œÂ†²@C+—Ž.Öi¦X€Áß_"D—ßS¶gö0B]ŰS=ˆ->lp~W¡<ŽE³÷‡hÑ;ÊG‹=«BÄ3ð‚jdº™Ú·b•Í iYÄ;¿´ p Yïßöö†ùí·rÚȰ^˜4@ãêE›_ì wè./üGñËÇNÃ)Ó,›Å¨0Ô xÀ[7Œ 0Ñ9ª,Zæ'ìJ ]?½øAùµ» )¡äj«µ÷l*°mn/¬†3Ñ ‰~,¬#:aqîà×~²Ïs ©Ç‡0£&Èð5q¯§nˆw»ae›8…õèh€‡ (ë~†ÀÀw”ƒ³ì“°¸Æ,Ñ¢ÿaÁ#»ßâ7˜M3N ЭžµzçÙ.6Ãñ/$j„ñìó|A›q˜=Zƒ’–6èã¾1P+¢M#øøR-ê{ÎÌ7y!1Š`jŽ¿YÀåC@7˜ŠÉpzwe(µ‘‹°lâÙXÒÜ‚¤}3azïÞƒ‘%ʵk:+Üñ:=g •¤9QèVÜAëF‹ÿ©¿z•¼Ñ0fþ }ަ⮫5vÝ̾Ž´ç±|½œ/Äã'ü§A(àÿm%ß¿d®ªÒ$ùù`ôõÚä†Íû¦o•Äïõ‚ø«ì$ Â•9‹ ˜¹Oî…E¬?öN>"úgúˆû²Nù)yf#”‚štçÕÁF¥í[ô¥V/ëFnÖ )'´óÅ$…sí2Ïq7Ö72þÅ£P?Œ–º©H‹Aþ¶#€™Ä¬*ͳšÌX<—2—]Ò ižKT¼aÄÞX “—©µÃïFˆIÖÒR±aÚ˜9tõ·dxhvKSâûB!gPB;ÓµEˆ_üY–£qŸ]6êú»Í€ÓÉ^>y„Zc¢[×"Þ4 >ÙÞÖ2à ”:Ù„Ýx'vMDµD8òúöòyß;¯|Ÿr¢ï¨g"a †ôÖ€ù5‹›VRⵞ¸bJÉȬ±ÚÞGÀÏ’xf7KŽŒlõð•DIÁåkŒW¦ÏÏ6H‡NŽÈÃê?¬÷¬cpè÷ßèô Rò·m!µáTë“4€•#Ëaço45Ý&jƒ¡î<â/,9/ŠytÝÏ&á4_pŒGÔâ§5ô|S8Î:íEBÒÔ‚zÞ"ëY9ƒ¼P±˨a­\?,i2FÐe3±Ü5ATNl€›tô•ZÏ6m:q(#üËée˘[?ÊCó†ç¾K áX#$™50 Ö\+cº#Á5ÔJ®ÎO Ü'û‹†—zeã}£ÎÜ8ËæjÙ±¾)(‹‡Êøþ¢0+¶ðœ;±&ò?>S?ÚÝéÒ륊•.XÛy G¦µ½Õ%ªÅ=Ð|òA|0k<–µÂ8ØQƒÝn[òì  ®×uƒ;žLX·/Ý"!ôJ×VPÀa_ ‚tˆjñ—ðIq>$Íá³»ÁÒ°ÜìŒtçFCŠÇÂ’•Ú†qREì±CC&©m ½ÃÂJ¢[bÛUª®à0¶X%&€Ý9úÀŽ7%Þ^iHvÌÓ¨›¨»Ðaÿ9ngVkø¶&wãs™À¿âô¯4¿ô=ÃdÃGt/ÍÄv˜ÎŽÆ[=1­•ÿ‘v>¾V¸öYsÐÓÐcdãó‘ÄÀŠ€ÍÖ$±(OG—ÚöëÈìÕ×òÔ¦‘ùûj±ö²Ð&¬wñeÍ8Z@ÜjÃt j“+ìsÈ45Ò(—\k½¹+DË{¶³¨o¥/d/&8;!X5!DÝH'%€‡þ5¦W×äPM<ÖO;ØuêoZ¦ßðKã 6¯W-·“Ií8îgä\åžÜòtF¾´œÇ@a!ö ž;×Gdá¸v?ûûHbs7ývØz{Z€NWµÒ‘PGš}ˆ¢¿Â>äÚÏn|áùË+<Ò³q˜üÜÉñ­­˜¥¸`HŸÐ|o^h(îx£+qOØ-K™;DVu¨ãCÝO}f—£„6K(š…¿Còv6p„zsÛרÆÄO÷ψÃn7gÀØùb-ÒTËsž~: :ã­0!õ½åLÅ~ÒÁ"{9©ç?Pä$Ô¹ØkL¨fÏM§ÝSæ‹>ÚnG—éVq-ûše=Ä©©‹Q­"·…z Ý.ÿ¾‘N« Y“|¥¢”½f­½±‹¨~Y5Êë£ßAÌ3“zŠï`Ýs­ó*‡2ø:E®ÔðÞ˜ht¶]4§á45–‚†ãXc¼ÃíN o°ú8£ÅÈnw%ÿÅ*™«e –éìÿ£³ f‘nÚ¦ô§`Ðb¦÷º"Õ6XÖ®3ó.>Q!äDŒSœ j•Þ¯ÈóÓXiêΓ"}†\•¢OvùňMê³l— 6Uîäm®=PÝkÍ>ý¶vÅûŠûž{M¢} ‘¤´å.áäa>PyY! hp«´0P%YÆ™CÎ!4;­`¢vËþƒüýd¶sVÒ/ð¿2¼ÊlRGâl2¥Ç¡ÄücÁðB ]WÆöÆ2šñõÍ÷X8hЄ¸¤à½4õj<X!_Yª$h¯_…^Õ‘výLóÛÜ “ ´3ôòª\Õ¯µÙHÜ$Û×úŒÝn¨ NêºUÖp0­Øvnã¾`v5ËÃw6Öο«”ø àò™Ãº*ÒÅf‚¶c F™Cþ–Œ_°î)2?vÃÆÖµÞ2,¦fpŽêŸÅѽ"èí™\,yÍ{× 4]þ. ª÷Äñ`ð¾âfšI"(¼J‚>a ¼à,¾Ë—e#ÿ;sN¸²D™„þÔRè/2Ó0(¥nƒ8Ž5Æw[§±¿ þÖ^ºGÓ…ÛStŒu@—dù~æô´0‹éüupX$õ½ðÕ]6Gø€~z_âê0è°²%-¾qí“"vã9ÑÌR¤æÖžÞ6² $^~x Ì®eÍ Â¤Ç$!Êä¼%5Èž«™œœˆx› ¾Ó£VöÌ5~@v¹£SñX¶·Ñ锑Š6èGnW#ª{ö© ¿£ ñÛ@'ÇÅÄس–DZï™>iÿXs.µúÐFÛ9ZQ¸HYã6ÿýèñ–úƒ!#?\d…Ø~÷¦¤ggQ ·ðÖð?ñ»e0çÎa’s·».—Yæ‰Ås”`G 7oo¥LM²Tÿ #;nuVÊÕ_¹›@ÍM8™¼]*E}]Q¿—÷ˆ›|éì±Î*‚{$m÷ÒØ0ª/WÚüR±8ïLß„H!‹Ð]{ ïÉs ­í*€Ígþ:–Îx®ü…­NãâÊvü3U8ƒRqæ’²» ÅO¿ü&_®dúÞÁwQ†þ]å‘HI¥ß…¯¢slöCŠXã‹~(=ýéôþ¿<:ù*ñåÑ[0&'߆¯ -O@åöù©Î?îW}q}²@!TO™ümSdqW_®€Tv¸ßËk z4!åx9«€S,’¸U±¹é‘góøVÖÔ†3”÷AÆ|7Îz„÷\¿vxmq*Øœš‹"þàýû‹ò$fÙ€W»xÆ‘ [{›_Ì'/ÇÓû%ñ·ˆ–ìÀü`´ºŸµ‡ô1¼é+gžg¾.GÝ@¦FQÒtb'|ýš—ÄÕÁË4г¸C>\`Ørô¶[U½Gâæ m—g)¦'Vë~-ñ|«v¥¶ª–^óÊ­áŠ'^üÛÃ¥I[ë£4Ö ¤ 6‚¡æz®džàDFkö~0þì{)‚Ö~ä¤, Ù™ÖøÙcÝ4Í]ÎòÉD*¯.ÄiãvGùÉAÞ¬‡o’©V¯š×í¦ˆËüØ…/EÐòÚ6º\e”øZá8CŠ®~7 b^N¹ñ•Dáu ùŸŸ<)–J(¯™žø!âRò”€$ ,íñ9°àõixÇRGâú±g¼kE¼Ý—oø‰j©Ì¿ñ#/ª Œ­"ý"Ú%¤H¼ôö%ÒÆçÇmm¡@LAê{À.ô–9Ó‹®+׈lÀÔqo˜'@^îÓ±§¡ôôÍ÷~Ô¾Æý_ké{£n´¤ÞQ~õ` 7]y¦ã¾‡Ýï/v‹¾VDñÿçõkvæH´sXCžÆ£³–Fm -þ=wÅQ‡sFÏ®ÙM/-³h&¸ƒ>Ú ÜlR×lZF‹¦Ý|CµeÉv$…ôø‚-þt ed˜î°Þ›×,‹ãš‚ýræµ¼þÆvœ>3M’2`ð e#WDN‹Å~J!î4øîì‘rdæða©!ÈÌy¬—D¨sÊñ¦<Å?„±ˆÎ¿Š¼œ”Ÿ~vÈO.Ýaf1@©ÝãzjS ¹hêRH<€Ÿ¡dÉ”Ƚ/Ó¨DnE Üå/Ùß^|éß`òvÍ9^}cZt{;ÙÒ»y¨_–ŠZX¦äÅΰ従væ”ç|fB¶eæn’#3nÖ«&Ìrþvýª.—y{*Èô¤p]õ=zuæúHа§›³ÂðÕWl™Ø{û›ÆEÃEWBŸø·NFwe‰!oÈhàÆC:Û<=˜ÐÓ'`ƒ·jàꔪùÅV--¿Ôu½r[Qäë`¨’ǃŒˆä]ÏN âº!£'Ÿ“¹°ô"eró7:ÒT5*RýX ¼Ï{ 9ÁKw·=\^T›w€¬ÏÃ9@-Ž$;ÛÜlOÑ*NË[*á^ÕN¢«âb» Ï›çe`ECd»È> "Ñ3‘¤$7ÌFÙ¢¹X=xG”âÀ=…ŠÜ0b3ø¬swúÌ­µ½”³ø—1v¥^Á ºÒ9ûÇ…~Wþ†‚ý[‡+öy¢oD–ütŽ_rÚâb±¬»é¤—d¯‡BkÿÉ"x¦aO×=ÿדúø>墳cýg/É0·¾» £ë¾,e@à~‚ð)éXÀëB†íeY  y¸/ª.ž®Í¿îÚíÞ®ò~0,d§Ni>Ðñˆ){GØ»3ª]ú¥Om(ÆØóFŠÈÊ=˜¶¶ƒµÊ'€[‹Á*F¥XœeÂ"ôFEÇ`µ‡2¯Ì´ð‰•f’ÅŸ6 a[|‹jäPIy@þ=ˆŒ³z!ïË 3ó|¢‘“^zÐÜõåã#zq“¢Âw[ã}•Í3ìrhS/(xÜrhŠPoÚ¸²¡¯uЧê$TÒdÒÎJ|ýw}ªK¦ºA+îN¡4Xå¹ãZÁâøÍSEÔ‰šé7mÙ™6ÒzJn0¢Ôäð›ó†:À¤ÓF‹ 8†:eMôk«¬ÝC‚*‘÷j“¹'fþ#”NkˆîÑfÄã¬U-½CrW÷ ¹>*:ƒå@H/To>o|²[[‰cÄ¢¢·Û÷àÌpN˜ÊyF ’è«àÃw0k¡yÚÄ·×~" ¼(*BÆ@Ôà€«Påó˜äh¡ äß(eWÉ~æ(‚!CÕÅ÷vtïý¢Ѽ¬EK®Æ(ºÒ@!¾QøÅæL‚e6(òÖì­³ô¹ ô™.yõ2,e¤éÖÕïe¤¨*Jâ½.¥»€Mþ¾jÄäà{7|£ÈbMpŸrLŒ“à§P:ù˜_öÁS!•?QU>Fþ¾pw¿ ·†f÷«€ì»+l]¾|Ѻv¨*ó¿ßD^ñ9 îõö–•¡¤öÁŸGÂ@0vÀ&"â"½¶5c3H`4ü°…­ó¨Ì -Eþv^‘ïÃñ Ö,t”´`f¬Ý4d’*”M*1Ö‚x'ʱܰg ¶Î‘ˆJS”õ_ߣxY©±g¯M:Œë¼ïœ±NGz”÷ïp|°$Ä.#GSYf–ÃCà>ƒ!XSËSaí„Þôª%8T9a¹ÖbÊ«H_¹6„X˜ÒW>àÕX™>gS49jBãÈWM«7¾ɶÝ'À¬Î©ŠUg,µ;ˆø`­ˆ‘ÒsæsfŠl=$Ó—j•Œ‘Q8 ê‡0¬|qϨվij(ð¤CéÌ+”ò!ñÞ™xCÜÓ¬ _,”ÓŽd€,¿Šà™ñ©#qžŒyý _~’Q¢áI52ôEZRˆI^½»³ñ$žÎ•ªÎ_žúOÑÏWG±"yz]ÎÁPbñ,zaÆ*VØ€°tÇ$YMì·eÕ`a£øp”+gou“§úpˆFF?á£Y-p/{ ÃîÙ8©,P»B{徭F\„t¾c¾Æ6‘Å€N*œòä;«š½˜øZÐIûµ­œ‹aRªw½Z¦2@ò•E-ܽC3okÜ+I9Mßçûî Æ‡\Ï8H˜wÍ»–T ™fp—œ£*”˜ ¥zM¶·jÓýç Ϫ ÕCt•.…¢H]jôoaH²b.u«¢ÚˆÉàaϜڳÛ•s‹PcQ< t~:Í´_Tb‡„£‰jâ%ܰ¦-)þÙKWjçwŒ˜=rEâîñÇy†Ú®‹žyC@‰xÞ«57É›\Ý·ð%Z«ëñ‰Tj3¼` å“õêF§#Ný4ô’0}Úô³íû¦Äêsç#™Ëé¼zô\Š}†¼N¸Ô%íO^èÓëeÕ¬þË89$þÍÅÆí TïQë8ÞåÓÑž˜"’asþqõÉŽ–êzo–S&ý…¶d†‰ó…ÿL âG³çކsëåýÌ ê®ÓR¦7fƒ!}Éë3÷^dÂÈÜÆÙç ðm! Mf‰¦8×ÒÊÁ<­+ðð+Þ\,`ì–y]K=šð`Êå¾¼hý|ìGÈØøI ï¬vœI.‡P YÞ3òGG›YlÜ`ÌsеSkSÏ4×øÝ;2š£[Àê¸[6<ä¡îºüÁäø@R©˜hÆÕGÑ#†¯¦ \pñaI¤#ä_z ?«}'£>YÇ¢™ÿyí8±3=ßW}?JŸVÈ7@‡;¾äQ$£yÐ.ùA´-3ÎGóeG‘XkɨÉìÙctßñÌS¸?ó¤ÏçÒâ¶>¦OÜQøÝ$·ªókñ ÐO»rtèRaÏü³_¿Ø˜ùéIÐh‘Äeod•%„úw-Ó¸p/äèÐR® ˜E.fYr32œÂÐr*“ /žÈ<`]/ü®ºÃ²†:‡Ý¡xGÿßø=U¢ä¢¼àIšÅ[öôNN vK›¬w©<ñëïš1rÝ}ã¡~€åBß¼CàA…]‡‰FèbøÓ#e¶²ÕPЯÅv «Z/N{nû÷Îñ!ÕÌýåå$(ÞŠ6<|sšW,iY¡Í®‚žZàð¬–]¥õ'~¦>”ļپ`¶š×¢r|‘Sëµ9÷rU¹h¡yݰkþ5_Z¡î‰Ö²‰Y RÒoSΤ¢éNÔFœ/QÄÑ Ï¹9wegïö‘ûÒ“†ôé1 \Ò™ª¯€—c`ÍÆ6 fŠ>ì?WK@B`4œ NÉ « –»“F^H(…×Üx'k¸¸MlMÃjô›ó#ÐaÌg}Ã}½X˜Á²M­¬wñiÖºŠGk)åÖ˜>gnŸ8³¾§Ù—€šÜýð㋪8IiEf2Åõpã 7‘>Sät²Ûp£|uÞ_wm–dN¶·ÿ£†í~&v¯%ðx·É ¤;áÛ €H`Í'nqi1eýÙsüºN,Kç¨\p(f!ñ–WÑ8EÈdª)o¥Š âsm½ŽØ(´ik I R™íÀa„ÞY†0ÛÖKG* &M£†…_YµyÄpL æï^¸_d»5„¬Ã"+FB€}cz¾/¶Ð -ð'TX•†D4CŸU5ºmJ©3üm] ÄuÝ.PQóï:/L­…RƒÒ“MQBw‰ ü,{‹Éô¢'úJ¦‹y¢FK±^~À÷ò_âôWmXï¸Å4!ø7X( ¥C”½CŽ=Âêõ?¿b‡2ú ‹‡¶êÁŸöd¬Ä&B&î‘Z°<9·DÝE×Ó\)}ë ƒzòÜžç–'æù£ýÌcä¡P!·©Á²:rT™æ”ÆÎÃ=dÔ‚ÃÜ<` dpskA9¦]# Û*áWÁzIkm%Ñ3°ÁÝÚQ—¹àä‚„Ø%úRýVæøHªcco8*?ñô4 G(gžM±Ô]×Då,áq 3aðu+–©ƒŽ¼Ô„¿‘¡çÛ¾AÄät½û3}²ð:ÝÓâ_ÌèCë¶àCP¸0±Joj¿ÿ£ðs·qö,ØKEá &Ù¹¬ÚX‚(r{¥0'ÙÑP¹xžo¶žSda¥¢Eâa/6W7õˆ^;÷qÐy’ˆeÃÀh÷qåš3óÑ,ØWxO§ÑÅq(̘ôô—R%#ɸÈü‚rikNm3e’ùˆ5oSX™ã#%W|äOÕ´ôª3W´ì¬î¹7RZôý'¿ÝÿŸÐ ×éEÈÅ{9eé5þ™ß)BÒg³—U"Þ)&ä¯Äe‹(ñT—ÙHá„ ÞB· €±ÕÒ¹nÏ*äÕV„kÖ´,¡ütöÄÎA—¸˜=©sI:³žZÛ\a‰•™‘Iƒô=òýn-Á'$R‹¬¡IÌŽODÓ‡±•°[ìÒ4~›}Ë·$ÑÉ©6¥ÂÁžpÃÊð/Ö€O1–›ºyú¸Ò¼óݼ6íÍÂ`n 5°Õ]I9É™a˜GfnÒWúD¡#}á¶ù÷Pcc+ÍŸKö‚(©]ØŸ„ÏfÛ~:Âe¢|›‚Õ.þÍx¨î`7Á€õ^¯ÙîÉ“ßIb±7÷_×$x¾¥ÃÊݪ`¨•Œ³, ¾;>Oãͳ(IÕïÿ<â¥ÆC¡ø’êO¿ˆuÀXÎT¤À„вB|Òâg®>^Ò1‚©ÕØÖ逧‘øuØ'k³™yg\Ú‹áNYºXºð—òâ—‹Z‹;™ wµ³ ¥ö¸‚T«tü ‹µÃß22’ç·† !‘ù¬å6ÌiÁHÒŸX|„Û}‡•]…šlê†ÙôkéŒ2Þ=ñâÙ˜qëÌo=¢9é²÷oeK².í(ó“lá‚´¤»Óÿ¯*Öer¼™`Q£ß`棳 ¢‘à¡Å-bÝèþÙvÐAô]º,=ßÔ;‡×’–Yán8#NªIiÚU²>Âj6cö§+t†– :q~ÍÒ–nÂÜ›³(PWÓl5ý0H¸Q«Pp¯äž}Î#‰­I¯zEyFƒ,÷ðërݹǷwñzåBm‰jÆu^6@Mª?ڱȊ ;ÏôYˆdt)jv»ø@ ú)†câ>ÀQÉ@oô†Ä¢ƒŸÃ^ k‹ö=2á,\$T¾D‰=ɽ°É߉­¹i ,KíÅÏöµ[òŽüôáì~nJ mjÝâ/pé§¢ä ] £Z9XwçO›¯ ði.ÈÓRè†WqÖ‰pùL„¾7*8²Œ ÷óÃaÁùñã[à9£ãg1EÙ‘0à–àîSçE¿Çsfâý1ûŽQ­òEÞ`à (+nÛBʽG¿ÅíŠ6ò~=øôZh6“K“¾V;ÊdÞ¿ž,!÷¿RFº Bþnç­¾ûS©{|æÍc7E/‰‘eJ4†Ø¡Ó.y͆ÇCÿð‹“ ª ¬=æÈ6”£Zµà`AñÉ×Srþî¹Õ°œ,üTÓ{å;^6‹¥ÝGÃ0[}Œxlg“Û:Ÿ»+a&`!¦Ž9–ñýiq^›õRþN°ÙäӣƮ˸ SMÒ¸¸Gäg#Ь+.˜h;hÜHW£š²´;É9“è”c–ÞõÇÙÖkÐÄ-Ô®•gzsäT®ãV›Õ„!JŒ¬ä·È…Ö¶Çäýú^âqqSòðäв»ä ˆs§Œ@ÊÐñ]=\±-¾Å„‚r ¸¹•´àP¿cѱȵrǬ1¡-ÏrÇ*¤L lð”JzÑ{Ñáï%êóaKÚ± §P Bu¦—H±|Ý E>Ñ!ö ó_ÿÀÙÍ0¯ÜÔW˜¢y²ó|ö‡+9Ì×&i=oòæ}I±åê< ÎÈŒ$y¯jËææ«åŠNC¨‰ß]„©ù4™ŸyxÅÝ$'£–°MÂicB®ã%2¨böÚúk\s¿ jW/W|U´ ·†vkŽ©PŸ¦òÈ0»¨$ ýñSCÓ*vüWFlª$‹(Eó$²^`öÞ´Ø{;PT6òÏ[ØÆÔ¨³ L†,o»æV:õ&‘p pu›$ç@FÉ¥M¶÷§¥«H±Vh/² M·xyÀP)çØÿs?z)£ëïngÅ $4‹ÒaÈa¯òòwŽE ÆT6È9¶XÓo&ÊÇ\çá\Þ8ÈÉ•À´†ïÎä7LQìÕýb8š]ºêD€Ýí3˜s4j¢•å|º|ctÊ…jv:)â[À¿nÇŒ/fª€99ÙÓîå·jl挻¼zwô·ÌY"Y8ÿ8@Ô °aT-ÇÍæÃ}¡NÊrN|lÃU ­ØS~KdV^Í2“\ç@—o&É#ZM± Ž1’£ž_KÕ`œ6äû3ý5#¼¯3O@§ý“w¤“GäuVev]RKÆ ½i¶Ãö{؉ϛ=Ñ”=#QàéEΊ",zu/r:7u7Õ®ÐéKÕJƺØö¤vÊâ6¨zsFócv7¦mY47û•æ’[Ä–t(øÖIßbo7Ò, %>pQ¡°[ÂùôC–ô¿`€rx@\p÷·+èc[Ûœôe±ø § É|Ñ“ Áë¢ÆB Z+ÁSpÿo¨öH{„¼sOu<"+’yÔñ‰–d¢)€R÷ËlfHÌF$Y»U¬SH?1“j õXÜ®™´K'íPM>‹¸öÉ*Ët—ëÓ@yGœG¥Ö«÷i˜|“rïñ¸þ<®¥ß&Qˆ[C3 #°M¹š{`½·Ž|zzE8bÍ¡  ±CZÍG‚ÇCMì~™‡¬]žþUø_¨Vfð#u¦³ î/Ät†¨±Ó„!,MTüÄ.wô»†07€/ù},¥2øtn‘Æ+f•g9ßCë*Çe84mð®~w½¦M‰hDÜÉÁÄ“xø=âáSbä9D½w~ÏM„1±g!îõ­µåÑ&ÌgÓQ4Ø6£³)ö–(Û¾ãX÷ŒPo'³Hì†èíFâ’ëˆ;ãb‡Î‘ v)$9šs.”! @Oþüø²¡óû)s·ûŽ$OWŠÉ¿§³ü&Oþ°£9¨ûýŒ)½ÏYJiÕDëf%Æü¬©\‹Yq‘HËã3Ì·Óµ‹Ò•$\[Nÿ™¡%µ&Émž¾è@ïbcºœÀšQ ÿêçåÇ„|"çQ]kø±½”ÌuÆ ñÕ.”[§ŸN­'QLLË8ÞÇ9³Ò‘+-Ÿpd|]PN¥IÊS7 LWAxV8þ´ˆ'rI×]½S®º%•^?ø¾žñQ‰|ª4ŸÁX}Ÿ Ùfÿ·ãŒÏR£¢‰¾6í!Z_Ý •ÿ}çŒD=ßùmúp8¶h0$ Ä© Çc'd¥›Ø²w½ [ûmƒáÑsïñêB}‚>·É wÏ…(²Aïsb@ldÉA¾ipú†ê~Ø Hü½çÚ·²Åô_¢Ø¯ÿ‘kS7\…"¾–½¹Œyå0Õßqúƒ#£“-$3*e®ú?Ou½ã|2ûÚƒòZðežÊk=¬0 ó¶‚0߯ïséìá|8>¿Ø/ߢšß2ÃN£žÚÆH&Û'ž@ãôüöxýO¤,žà2"êsˆ§|ž™òFª„hAg@…7Ú&W™w/w¯ÌV ÛásW¹þ"Ó¢‚òˆ 'þÄm檵[c»LÓÈÏ#¶c¼ŸöI0%óÞwBy†Qð§&]yœMÃ7GçN½O~X°=ñê÷“”¹R Gñ«¸@>Ú [óFEœ ~û4Ô„GáuiùÚ³eø–; Ç+1U’õºV{¦¶‡vx*x§þI‡I­£s~ä(Ö`A޲K®ûp¶Ïë×ý~ÊÆ>._M¥Rg#=¬ª|V»àÁ8’UbY–¨cèCxÔÇ$¤)nü´“‰Ó²%FMøM|†…«=€äàËNFi rXšc<{ØêÌ! b<Çûæ™âÿ¦ ½r燆T=B¡7ç 3£¶³¯‡›2€ØÎ8ïÑ!€(]‹¤pp׉¾ðg85ƒ6# ¤ûZ¿†ì5nAoÀl„)@7l§¡áñ@¤Ox9 žà†¥$ ;âc3å>ƾ¨p.Ø{º3×›Á/áÖ®%FºæÕvä¢Å²¶Ûr#Ã¥ÎÙ®‚‚ Tª¢ö•~B_$R'  ŽÃmÝÏqɳ"ðGûüZô!7¤ öo%Æk(â”=Eþ ÝæFåá.Õ‚­ðAµÊ3ßå7°YÔÒúy’9ƒ™ÞJ“Y=çñn~_@°™]—ÓqC÷¿»îL@ÁJ(Œúó!S‘:y…|ßǬFNÑ—Lf <ÐÓ8…­­†â8X ¸O9-ëN¢Lxñ´{¼˜Eô£¢Dâ^«É¢Ù€·7kž9N_‰ÜO£>Ÿ0¨Ô,6ª£™ë<áJ \&¦¹†¹fß¼Ò[¨‡s¬%=0cßC¢C^®dÊ¡›Y«=t€iƒqÓ‰ñÞT) —¢¸Œ®`_c-¡ko™zŠoö.ž†Š/qP®?ÍÛ³Ñ/cqM ·Ÿ—ŧ¼½¬@6fOûî á}̦n#ìŠ=çãF‰màž¢çGÜXd W7H6_F3 ¾þ“ÙåØÍhꪚjéãà ¥½ÁÐ!àšáý“S/õ®OcÊÈÂJÒ†I[#L7qjˆ(oDÏò’}I#Vùìf*؇[K,p¿ªA-s›%kg™µc‘C侮Ztëöí@s`½µŠ«lu ü#+YÑ6Ý÷¸]PRLñ~ÕPxr<¯Þœ4@¤Ý‡ÔGS¾Íˆ]î°”ð‰fåD6¿‡îo"hÓ œ›voøM“×bW¸±µ;¬=UÜ×âB;—Éê$‹eÄøg6˜Î/8¢ÖÍiÞÁaä˜1ɇÁPz~ÞpÒ·ùß0þ&2熼4tuº…Kù;Œˆ½bŸ‘d¶ÔAø Å+ùO m·”õCƒ ¦ƒAÜ/¾*£>|;Oúx²¤É5º Ó"3¬ä‘ÿɈÕ${zÏGLPLíå0~ùæ ‹„çÈV¹aè½ÖFvWäxq¹1ŠKf‘*Œý*]ûg®$öÀ椵×m‰î_¬µV£` 1^‘’ ƒÿœè«ú±Nq%eÒ‰€±3ò¢Œï3¿Œ^†«[xFc‡–ÙÁ‹+²§‹up¼$#0sº–›v>v¢Ò5“©¼ÊÜlK;!Fª‰µÈÊBccÁÔ‰õ†ÄÀ4på’P5 hZ ‡îÓê$þÉ”`·EU­¿—â±[ ú™µ#œ·Å78F&YMÌiðÂ# JX]Ü\Øæe¢&í!ª ‹í½ú‰ ÞÄDîä"ÏP*wBH“·pÐ!Ví tó#´Ý@·ÍJ A/R®ÐS-jzw%=ÑÉ£–X‚pŽ!­\Ä÷<æ›ûÇÓ¨ÁP…òŸ½9^„ E¥ìr‚ÁE‚¹{–Y7Þÿš‹( ú¼šTV52wAvj‰H¯ÙÝeã*§z­XWm•ÉQ0¦”ìÖA,© ¤£u¢É‹â>m¾½ Hຟf²€c¦\Žb;ÔЃÆ+óÉ 1jg;¦ýA¦ì:“êxË þ(¿Y¾v°-ê¼Dģп±Ÿ9o®Ao屌޼0ƒÒÛ N~_NÀ b… !KNPØU.'Iò í<|$—£ñ¿Ùéý¼ó¤6¢§,8®;â]ÔËÛ-ñQÜ3Ô”éT„¢\³Ø\Π#KR C—…£CU HƒÉˆi þXm¢ƒ-¥šQÛŸ"{øQ„LÏÌ qð0ÞI”SV„ô§X^ëí‚´ÔâO–ÜkÂŒ]²õ%Õ¬Ú1âLG‹ˆÕ¥‰» _5¬F®Ûô" íò¦ÖûŒœ"9˜E ö‚œÁN™.ꉸ™ÁŠEÔ¸Ùü|À"• Bñ$™Ç-ÞqÈ,–Θ²…´þ’äfZvߎs‰';÷OL¤ª«ƒœ¥gÔd5¹q«®IµWß—Ù£|Õ‡ÿLž{˜‚ïgãüuvÉŸšv™ß·xßüwÒ¯†ì_hMþ´É4eB ýO–x¯?õæð'"ríª‘\9 Þ¿è!˳äÉ©r¸¹ÿ²ÝòÛ­Â6·mH™(¯ð˜“à¤7ønIûž³ïö“3æ¶žŸÃ÷Ê ÝVbˆZ{M4ý[ï»ðbI.Ü8‡"v–åñ½M ‹ôüÁÈ…e°ÃüON1­Ëv°3^ëÓÐ4œÔjSV¨™‹·ìðá8c´ûA›9ãöl Ƹ£‰À‡õ®d .gvLLäÙdyHØÓÉœµ¸VÿÁœ1…«õt˜‹×zdöÿ“ƪÔN ×Zë’ŽK÷ØJù(.+œ=‡Áø§#¡!°ËùõóI}‹¹“vôÕŒûBìKHn曂}EΡACø…œ_6Ã\î PaxÛ+Š2d®Òá(mÛ†BF 8Ò‘fÊŒ‚þø† +×®E·‘+‘'ßÝù(¹…o×Çx$M CÄ“:)°sj¬„aòIJaiÖ_D Ò›âË»¯É‘ùÈPÙØþ]Ó´‰/QźèEÆWäà#–¹þsc=õa2ÊxùjšŠ9@7§¼¬ÆYÀÍ.˜Ï…3ds‰·æüFðàaÁr¯Ô¼wÈW½à›;Ð$|A@e˜qåU‘"`ÂæŒ×Pü O#ŒÄk÷Ý#cxŸ%)ø\®kF'Ï;¬4™Ýá|{ƒN„$â]íp·ËÒGÉô̬>ÂF­‘*g¡ú$¤K€Èþ‹ÄÓ¤$…žVhCšELAœ±/±¼Õýºlr‰SßÔdäæ÷Ó¹ñð9l‡™ÑŽ:DSù2,-{RV̰‰4[¢ÊÍM>ÙvQÀÞ‚º]ûý¿ûÖ¹û5ߟoâ, y”üœ]ònñ™P7ݵNAú÷î\2Ì­mGBÍŽ±Â›‰Fó&‰>¸Ø¤`ô%ú™zÃh墛|å=%›`›-à'Ç2ÃO{ÎÑ…ö$#Ë.¿cJ !žâЂÜ>Çj\—9B÷0à”3LE/Mû9—”Óµ´šs÷;‚:˜›m7§Ì1û$ ¦§è«Àl¼–—µ’Nà ÁvŠv¬÷1íHhGcÃL:”]6ÜÎ&@§~ t¹Ä{p©¿µÚ{ÀÐ ñ´GäsPjtzß4Fûþ‹ÀG@,Ëí´¯Ùe, +µ"& _›Iè›ÃÜÑÎÐä"îÉIR€óÖæ#t*‘÷εüܤ]^l»xá€Ã,(9rR:Cµä7BþÓªõØâÿññ½ÿ=+Jôªnî6İÈC$`½t„Ì;'Qr5aî »:| ä´ÈEmãÂÙO?&u٢拯m†ÇòtûmèÀÑÛBky¤@™N‚¹uó3žEKIÆ2¯Ÿ‘r£pDñýEd¼01\˜»ö[£æÙœ-±äáÝ'ANy´ŸÖÈÁGÐØo=ÿG ÐV;ì„íØ70Á¢âG(k9Fh«•ÓY ÀâM;&1Dj-qû/!¼Ó 1„ñµÃtœº„S]€\±ˆC²/Ùž* Õ1[nG“ÄqYE<޾]äàçFFã›D¥YNðÄã>&È|´Ç9;ç²Êh-Y¼É“=H3ÓQ÷Œ‘ˆŒ=b®–Sn”óë-©AäbÂ͸!íàëµR¥½²0InZÍØ_)ÃßÍqã^àYO¹¿>TÖøjÉ‘IZuìykK£ûÇ’r™ë±ÇJ7ò2Ó]¬fnE`%°ng~üƒöáQ‹vm»S ‡mõÍv¨x£Ù„7tþu’ЇÍPÓµ|S…#ÛÙô‚t—H!.·L ÐÈHq qeL\ì¶é:q’Àaê‚^š6û& £è5hc}ž­@]´¬8íQ)3ß.HC P Ç&vtY:5Ÿâ¥2ƒ?Ú¨™OýYç3/xícK%7³gZ˜V,Íè]:Ì6ÔüYœñ…—"ÒÅÄVúxÙõÜÊõ{ig««çêT\ëÕÖ‡'Ÿ)—>%ý!ÕE/x¡&u§cb1½5Çfmüù¦`þ ‹_F”!„ 5L%å̺:eʉW5Œ›‹^‰Âf~å¶ã*AREqV'¤o$?æ1D#Þ„³ÊŒ†eب nŽ·}y^ÎJÈ^¨?t†IíE».nëdšG².¸Çî¼2Ö˜Ž#ƒB|7š„Z=öÊ«]†0Eg‚]@ÝS9%RÕ}ðÜÙµžÞ,ôìOx¦Ùnôväµ;½zå©`Ð-¼SØË ÚÁ4ì,$ÄõÓ&ªÿ% ½`1±Ž¸o¡Ñª¤~øìæbÝÀ”©³!æµKÃÆn<#AØj©ÿïÑR@?ÝÎR§ç qŽòÀnÁÍ;ÀN”~-g¤ ÕgÒø„¼Em›(Ì32³jÐL9w‚yÐ,Üè)\ ìúN.‰”}T­^m»'b{jÀZ£îñ*ªÎÍ’f`eÞ´ÔäM‹ &ËgB£I~9QÿŽæŠIVö父è6ÝñÖØ_¹–üÒPc6ž¦³³¢!êÁwD¤ÇtdÛ‘%Ȉâ<C¤³‰ýÄÛö³L[¡"ži¾¾aÄé†ÍBÄwíšogu†ÂäýWoóõ=^JŠ×Þôá:‚Œÿ;LdÆ‘šf2'Gø¼¶>ÆŸÀöû1Ÿöú;ás‹ ‰›ˆ•ÕûL:š"¬ðôiôÒ¨oƒÃ©ÈœAÑÓfgéõ¼Ù¡Ö3O«Ý›¥6¥X¾„QVKÝÝ@ÛˆÏTÅî]nêª8´¦ý=“Û)V#ê@ç.(˜ÑsÖ@˜›^“êV6ÿµ‚ øx,<ªXzÀŸˆ°G~ªhôÙº³6ò³ãÛt1_Ú â–/³—úØ´e˜î-³G’ÛÝÆG¼Óðž[Àý®|¥ûØ’=“1›ò’Š_Žw#y°á0ðÈŠ`E‹¬ò˜ëzªH(ì‘­¤æcp%aA0VuGýµŸä*‡HfñóFçd¤¸ oÓ‚`—™ÿw=u†I ó{"\zÑ_hüäò‘µÜ®Å¿ŒÀ¥ðœ©§¯¼†“‰p˜@fsý=NaÔj­Å1ŽÐþ”²"xVõ6vøhøÒ’ /ÙTXRLʼÃ~ð„à+yoæït¬º‘¯‹e½?¬O¯„ïHÛèèÇ®×»^—fÝWXÕíÌi–BÊdÉÅ<ÍÑèîP× ,ÞÌkÖ†¾¿»ÇûeDS8F%ãDõŠ£´–p€åô4·›n ŸÓ]š5»ºCQ£¹¿çÇ/,D"ÊŽ±ÿ›È'ׂ¥ÏD*ÖVàÐàÓPºÁC]@«+[Q—Žuº—гp›‘0ž>Á+¨Zžš%ŠÊUwK…ª%'õŤ9ú=Ç{¦/v§µ ƒFS‡! §ÝÙR*±Ô5 ØiõfcÁfu(©6©[G”g%£”|¦cµ»£ï­{#ä©<ð~åí:;zÙýÎ)b¦µ>iüm½¶¬h_àýÐEÀò„nÚ%‰Ù MMÕìÇøñwàzì…{`îî­£áé«õˆí€…¿Õ–3‘ãÉmNb™I„®J¤ØsT%öo/|ÃÓWL  ÊPÞÛ9I`:‡A¸=Ù !¬Í=ÂæévÂ[fQÍ£ÉÇ@ög5`éúŸ»ÞŽ£ú?”ŠÄQ»p%i·.¾1Ï8îôÕÀº¤~ÞdO]H P¾Ã´Ê.cã)^}>Ê ´§œí ²@„~5Û©'vÎw+:Ð}(œ¡ºvª=•û¼²ZºóOÎsW´ô.þy³æF*ÐÁïè›v"Џ£ž÷öêV#‚žsã ø×÷Ñ@‡©ŠþZg€yYïËã "Sl‹ð³s›ˆ'~°3 ±\ªéª7õcÜÎCúRèV:Ö*áÑØWüù ""œrÛ°Çs΢…JP„Ž“šÊLFœš¼VH‘<µyþÒ/°GðXWlù+ȵ³-‡«?È” ¾Äø'׺ûÑuÚ›È)ˆ`Qð8ÂKbL; ÆÀxŸ‰®Ýl¨KBlIöCiP?ÌVÖW¢Î<|Õm9.ÏÙã¬ô#&ü*)ápÊHÇÎf º±ý¬Ü„4 y4Í%":­pê®·[…ÛFˆ¬@Ä|)ò®àÓYµ—²³^1†Ùd¼˜F”‹· ]Œéâp(Ƴ­k.„À\°Âd~¼¬I`ÏùvË_ÍõBÄ<¾ 6ëU‚ÂÙ°Àöÿ9 uÿ!qÛCÁ¶“tÎQ}uÝ­Òê¾®†¾Œ †¯D`þãa>÷ì]ÀœœŽ”°ZîMÒ‘ÎN<¢yñ3½%¶Ñå<¦/¨9~á\ßWÃX<'Ï–Å¢c(±BfûÈy}¸…Ÿ‰”¢¡¸·™`Ôïxȼüõ Ù®¡“‚G%˜3Ó¶{ÓfÕ  Ú]’.ƒïÛ5¬‚á®ËXâÐ]Ñ8˜üÚŤ¾˜oë rÝ&¡Cr åbN"]zmÙzOý‚4R®¨ÓÜTŠ˜˜f¨–Ÿ‚½ä©GùW” ’æ¸j剿܇î_ÆF‡ÿmÏXaº?½òá•oŸAžòn=ÎâY”ïÔìG‡p·ìíqQ¹KC*ÇÏ,"*>¹à£~[¡rZÌÂz[y]%€šU<@YE_@V;ûX¾®¢f†Óþ$$"ýO’'Í–ún0¡Åšô6V¦€¥¯¹wE²Á7„fö\±k'C4ìçElå@*0¯QOoB¿æ:ûÆ„ùÉ=NºÇ|[ú Ê¿ºó’LŸe8rðpµŒƒû•i+'©Ó{â˜ìÔˆq…4à ë‚‚]-ä§Q+†·Ç„¸áÖ a™%â²ÓÅP¢kn¥ø‡Ã¶‹8¥oq}ÊÕä®Z0{²éé"bWüÖ ZÄnbþHÄȬtƒ<€èfÛ)„,ãÎè‰FÄ]öP«"d¼ƒIFgœ®TÍÍ÷ÃÀ{!fÞɺ$° î°g#Tï5ìs¥1"7€íÝ'þXžYr\Cpè)ê ä6k…(8mmòŒxq„‹±=ðcÂÕY~$JÁ— ›»ˆÍ’j‘‹¿»„L¾Ÿ?ª!À£¦]„Ź Í7ö³M£#½M=çqÞ<•\="W¦–AÏn‡{ÚÆ¤§À Ãþ65Uà «SomÿœmmE‹.˜Y"ܸ| È<Á À.B^|þî=÷:˜O®¦7Õj&DfU×BèÄ^2íùÐÚs-Í.Γj1óÀÕPTdßovëÝù¿×夛™kS<-‡ËË·í=É:xãã§íôò/mz¸$e7Êã?¼ez×¹Ø|žä~”<¯û•ïËŒh äÁå"i²º±u°ksbDšW2g¾‹ó˜põ <zaZz~eöGÀ—ä|غðU}©ßÆ"sްœOi ¿œÉÎRA–\¤¼–%éÏ”‘íÏNUv=æö‘c¥]ýETX;ÂDP†{ÁÆ£ýø»¬/Ý·‰†ÔÃ~£"eé„4ÙÐ’ È; „dE`Ñòˆ¥úíõäà ‚~¦TZJUøððf+u.½ù γFh”wywä¿¡²K`ñvD í‚©¾ sîwçÙ×y1~ÛŒ±¹Ç¥¹Ö ôè{ -ÖøcÜŒF€ÿøôy X¹~óE}¬Œ Ç(õ%±¥ª·òŠþ;£ñ~§øã_bÐè:ž*U†ª‹6aT¢iÀ 6ùrAL‚ ÓëvuÊšBO%ýUC×Éü¨¬œxÖ<]PBªù÷SŒm;`¹­þ¡êhÒV©ëAYŽ-yÇYµeD’ô¨ÿ.塨ÉMé!Ѽ±ÙSOæQ¥Fg¢tc}œêÓŽ« …r¥cÍé'ib,‘ ÷ý¹þ¿0îáಉ‹ xDù#Zw›{ùœ/ÑuªïÏvqðŽ@tFÖßÍQîž„0úå³›_bXu%mx>¤`°ÓBFЦ1‡ÿ}"˜‹xr~‹ô"(Ì…pÎà>S±!¶Ï̆KÄ×ìNãø;“‘åÍ ¾ ë¦+ È}Ì+w§çcÞmÿ­{Р¢g÷9³Ý÷÷§,Ey¿ÝBºÚXÆßuëž >ñú!v1„@PÜoª'úÕŒ(Šk ÁMw7£´E k%éÓíBêd é½'bôTö‡¥ˆ öÂMUU z@ò~Ç7W¨Gž&¼Öõ»›¼Ë™òÍÌŸg#îeÚ(MSåòMq¢Gö˜¼¡K,ôë.€n™@¢rCä!>Hµ‹"oÃ*$ø“Ôžg‘#3YŠÏ¤%™ -µÉtQ¨e™a~þ/¹Ãq•†Òï°ˆ¤Š\‚%ž-Æ*v"çù¤•Ï5Q[ä?‡PË ¥BÇk¿pñÙsÉü—YúÊæ:+V“ߟkm|D={X6²‡¤ªÊUžîIä\u9N>PV‡ÞqZ„_,Îhyê î:ãy ¸õ„ö1æT1WÓîí.Jæ²îuï¯wÞÁ#جgø(ùAËM0úÎYE60YûůøãQÍ€‡b7}Õ©ÿÝ ç±t"S+`ª$~æîd(ò¼:g3¦WªKvC)ZnÒc‹7•ö ®þ;aŸF!u¾4Ì  ËÕ™°Æ–Õq²¿D>‘QH6•«ÑÆ‚(?ˆÑÚ’™‡]·Öö2²Ñ* µwÙìn {0ZÇ”Ð5úŠ^ª?Ë™>ï|Û‚øHŒð‰ª½"ÒjçÊ«wuc0$˽ïÒ,2Èq7J˜®¬·})î~9Ìþl"6·’1m<÷²SOL{à.šß·ú!&ôí%Ô‚aE1Qgo"¾UU5ˆ Ô×¢ÄëñAEày´AÛ z©ÕãàÔïpÁS~„— ¼§•´eº‘W²¢âón$ ׄ™äK¢‹Ö»é–NjÔâK^ð ýL¥ _Œú¯þI‹4[9ê›È.:ÑcÑ9æ>ËD>y#¹ˆïà"^êyñITS¡ÞEõ“±ÿϽ$µÍŸúVñíC°(,¹µ `y™,A¯.S‚IóO3BM/ð‡cb3âF} ‹††‹OIüIÇøŽÑN #‚;/Ëv¾“"!›O.'LƠש [àG‹m²4¤†¤¶ÎUU3©i¹ñ½{‹¤LTuÔµRx즖 «8\¡Ùë'xŒH¶¶ò\R!lx3™4±º·ºÎ¥,òâ)ª{SìTÅÝ §jf÷¹»¸nÚà©»Öîêºö&V¦{ˆ9èb÷²Kšµˆˆ£I}¨¾´ÆK$!žu¸®ùí g@^‹‚<ö&ÐKc›%ýe9ô§ßŒPð )ÑȨ{³§¹è<Óð‘üfv“F ã]Ÿ:Ë…rUÂþ©ÌAí—§¾úÅ«”Aõ÷ˆîd>ù4è[颵;ÿá6»ò8Âwiæ²I~ Û»ó׬´Ç(D`E:|Ëî¿i“?ª’ÍÉÀ akŽÌvÉRØ(þuì… $½Kjð· vñ…³ÚÐp]¿Vy ¼òElÒMõÅ^çY‚ºÒ.RGÆÜKð»ï=ë©pm’™ŠX‚YMµŸãŠø yBXɘ,òýè ôÄÃêÄÙ…31Ž,… p5ÿ üBSÒ#2­·¤<Õc“zü¶Œ¶¦ÊdÝ \ò¸'m©ÝrÃÎuôn‚ØÐ‰Î#ŽtÍ#­Ú+9üߺäVÛ—+"<ûhëæŒì #mµA®7î¿~üB?²)½à±Å~`Š·ÖÔ îiê3Lv‚'Þ¨~m+%&¹Ûœ8Ýz<ڵ߯'P„íóÞ0zÊ£éЇwcaÚ6n—âUÔð}o·K HQ YUˆ¤)äºm!_Êc ë4U®Kê• Û 6ú=øµ*º :NºGŽöMøeŸñi1œÖ^ÜÙ ›LØð]'ÀvØÒ°D$;ˆfŸþ½Mà\ 䓽#ç 3ApÓöC hÀà÷îPß¡dk>(áB©­Þ{´Â6óÄo+;Ä!R¼·ÜèG+göAeWâ=iŠyV(¡NXBæÉ'€‡T2€py©ÞÏë0ì2¨ÔG¡÷TWhÝv›Ì€`tçžÙù²½]Ðå³Ú÷lñ¦Xt"BJÙ# VØ?ÊÑÜ™tÔR>"ªáUEíTu«—§bgà=¡%*åböøWSÂëúÆlˆ²#Tx–„:!+š7Ü8z© ƒÝ¨àwó©Ývâ;æ]¾¼s¬˜öQÎ!d½ ðéMwøß.°–/-jŸl Ÿ.¶§Ɉj?>Å9Þ¡#_h™JX¹•ÈeÇß_O’~ŠL^¦OÀ¦xšO~™þý‰õ¦{$ûЛbûnƒü©doæ¨Ã[&é½*¦ÃJ‘µ{Ï©Àky=œñõÒ ªìpٟ̕ÆP×ucþ6¶¾˜"~Ш»—P ȵ"`lñÐ=#Ó@ûÀp.‚B”`•5M= Áee˜úóå5#]6% êŒ@‡`C-{Q±Šâ¢ÄpL7žè¥åÉ”zóÉ‘„1PD îXKq8>d¡âÀ‡+ÂIhf‡&5Œ­ßå¡rV! $Ù:#(yÊÀŽÑ*.ílGÙ5ÔdH}r;+ç<Í'y±£SóY|0¹D¯v_‘ÅKßÄYÆßuS9–ÅÆ9Ó¨8Q?±¸6)Xd0þþdcxÍ„ts“ºmfpKeüˆÝÒž8` ÙneЦIE–Ñî`Â@©2–Ôòß\¢7,Æé‰w0Þ͉šä[‡tÊ+°AwæuUV_.5ÏaBz)Z«<$Nu³²Óš ОøQ3\Ñ÷&»æ­‚ÔÈ®7€GxW=\_Öö°»·% .ó/Y@Ó\Éo&ïÍ®ºÃ¸X×ÝüK™ËBR×OÄ<Ù\5Œ00ËŸ}¹‘P)4_g2ŠÎVÃÍÈë¶@NCfSñÅјŒù×fgŠ˜çŸi5YgK\•?Sxcª½„ìB(>bûðx™Äø¥€uw‰ô#\Áý Îï#4–`ȸ¦ ØdG-¹HØ''…Ç1I\‡Ór´!ç$ ‡¶|è^7sA]½ÂÈQœo!,ɰjkÿ…‹ÍvÕöuH…Qdc¡Šü1WÐAuPÚÛÚÁ_«”Í-EkfH]ç`ì V6-•n2Hý?³Ù2ô7ˆ7«Çìx#£Xù¥So¼àz+ Bwù_2’-Ä0-m®0n DlvúƒBÎÂÑné ݨpbîuªvòÐß×éÒVnïÔø/Œ¶bõÇ~ñM¹U"÷ï}=´³H-K¼]Ztƒ×°{PÂYZìÙ,R ýRzbÑ#r¡®"œ÷XÛ÷)û…¼ðãrœŠZJð&kñ1³M%U«Rgþ1™«EY¼ý ?7T<ÔÑ¡§¤Îà࢟Å~(I1îÂø²E' ” _ÞÇQ«sutÁš¯Ö‘Êf,ÂÓKzì ; ,™¤.X°Àd¬xD§¹ [Ø"uLÔM 1ÁFÏã®ÎyÖÞµæüæÁÊy?ÌÅÉoÿ«fÌ%|`Üc¬æÂ[ï–(-Xä’í’â]©}kÞ3ìßÿкq-ä[˜·át;ñd&Íò,$Qƒ·Ø˜aå[ah1çÂ…,0ÌÝõ¹€ûÞ‹ ‡ËíŒ] `ò÷á‚&.›Ö«A±Øª)ÖÙ1€íièbÌæû£^PtÂ*dLš .SaB#DÁ 6Á#Ã5-åd²1á Éöt®È܇kk•ËH{´ù€{ïÑV·’¦ ò$[=¼ƒà 5(#‡]žècÞÒÏ©•йÖ;’««‹%›Mœ¨GضE*.䑘 FéN`'¯ ®ú§Ž¦¥=¿x¤ÃLÐü«’AÝj7i†´I.e€Wmù?Ú¸Ÿ hظé/}žš¶–&=hˆáo Z€“ìÔ¡ùù©Ÿ~mÓoó—Ä“òn%àµeþØç»Æ§7flVô<1ˆ:ìȾ­p5ô/‘DáÁ[mi¦·Mf*¼èîE]1f‡ŠÝ0$¤Øm` ¦¥r3 =q!Yp ³|ð¼íY˜˜H’éBÑHyû´ÇÚÉn¿oyŸ›Šv¤Jö¶!ÓsÈŽ@^¹­&Ÿí1xg}ôÒS-°=¦Ÿ,Ó›Ö—œüß·É(L|˜f>‹Ö¼5†RXióPi~ jD„w;%ÄÁñó’euQlÞ;÷Þb²†æêY†Ð3FŸS–çÅf¿|…С—oç¿D°EÎBpê'Ä‹Ó'R4a[ÎZJbÄq@k½Â*ãeE¤#·¬ywcímy®¸T‡ïëX,léþòÆøº¢O¼J}6¯®0,¾­¦®|¥ž1D9Þêœ.|Ê/FñBqH6‘-‹>iÎè žÝ*Ø}‡pZ¹ºÎTDÛEÕõjøÙY¼ÔfsaL2Ð|Í'Öljã§}¹¬¼è6}1Ñä™NwGÕ¯„ŠÀåÝžÚÙÊþ­ÿi“’Gâ ¢P ¤ðGê¹ÅO¿ •…ÂÂÆÆRˆ +f¬p½ß•rí½uGÁ˜„£JzLD{xí£f,•Ás‹ýrðXM´Ï2 )!é·€š©–ÂÖ…WÉîXq‚íñ,`ðÝNÐHÓ3{V!ºÕêC½ƒòëzsð;Q:CyÖÎJ³½ÅóÂÿ@±xí©¡’˜)•ÆÉ„c=F8¥w<ÅQΛ3€Ýå±;Í%…X¹Á{¸Ââƒ?&çë WÆ{Îñü’"Õ׊™29®·e`#S¹ÿ)·…åP˜JŸ(yáQd:oPX 4³àL*_|ã•K†¿Ÿ~„™g]=þ¶ „(¦§¾¦úw©-èÞ]ÛMþÛyéáúé_fõ©îÞM}íÞ{¨(1W[¨¤ÝÑ(‘Üx /Ó€ ²äßF¼ê=qòàvÁ_ئ˜AýU]•7—x‹r"&þòîÍ— ,ï¦2(2ªÞ“t?üð¸Õ‹?s+pðýS†zé>©|¦‰\Z’ŠAÁA‚!J$×½“Õx‹(ö ò5|†ùËAW~ÖÈärt¥ŠEC&çZ ˆÒ­/b}®øe_MÜ)Ö¯3"{½‰ºd®-ÀPkEøv;çDY~éÓ]ËR„¢ƒ¤"o<‚2‡Ÿ2èvúÎ ë À³;u~£.U ³-è"j¸#¼jfÅÕ ›`oˆãÕÜq‚ÒªsG×J¶ Å@V2äsáýœ«~W ¡"iPÅñ™à;y5PŽJfGXVT›DFé2£Ç’íiH|oÁâ5M‹¦DûÙlè–ÌQ¨¬Ô‚ š çZ—ªÚÌþÍrüÇcd°š9Xf;º‹)ZRP½}:ùciÇ.Fùšö?nÉñÊ7ì!Óy*48J=3˜ùF"ìpž¬#á›j–j 0ò´w˜ößtGc À*Úe»£¾þƺK;=T¥Œr!-šS_kŽ  ÒµBsÄ=ÙÏ6¾O‘ ŸAýúžã“ÀÀè*`±²d¢¸¨ABú¶I”¶%‘, È1]}Æ¢R§øÆS¢Þ‚ÓxýN6ß{ƒjK…TþMéÅÊȃ¡f.{ýøfâÑ UøV!€:€f¢á÷¿ˆê¨g½×•ôû¨ /v÷©\·ÈÄrȽñqŒl:«ƒ¿r Y0m1— špÀß`±ÛºhöC(Gð¶;È"d«ñ½È2ÌÈ í±S”ÏK6YSI"}q,È™Y>†^ULŸË R¬ìðBh \*î>ϬæmuÁ=rv*¨Œ+pÆ-—"†m °Þñi  -è?Q³)ÈonÙÇ¿Gx]Ñä““,Ç^¹Ú¿Á›ì¥.f £l è½²&Å£¿ÎaîÏBua±ýyŸ0G/AÁ3C4y8ëÉ0åÂJ“qy1\?Vr‡ÒBÐàºg6±¸e×[ù~˜ßR=Ã%;w‰aÝþÅ¢Ñ ä·½ ~yœ_öWMÔªVüZÙŽ0OÚGßl뇄ÏöD!FÂÇþ¨=ŽO‚Õ3€™œ~ÛyêØ2ä½n|ûò¤È™õÕÉ9‡R'Þ6Õ]§§=,=*¥TfÛ^W‡Ú¡ÐŽ÷ þ¯íÝìB«UÒµð3Fç÷#¸ ¿À4ø ¹Ïiv5é€Ió\°-¼$ð ÿÔ¯#:ÐFäCÓ¡¾xz¿T[Âÿßñõ…§ÏŠÕÿ ã9´™ÉÙ.®’é,& N·™T¾¢z' k>·Ç)Et‰£ GÚ¬ìAuWF`áÙÁ´ˆùn£z͵™1äàK&ø˜Í•v\.}¶`&gpÈ®—¯ý»ayÍ,•Ëp^ Z´øŠb•™GͯÅü1D‘l§‰$÷5›ÙõÂn)-Z»ˆÇ‹g˜^{1ûºMÔ® JÝ>ü3ð8{H25ÜŠ”I†±@ µƒÈÈ’ ‰s½IÕP ¼ªÕ[S@_.rÄû¢Ê¥vdoZ¾e/ØõÆqké‘yʗ䨟‰Z!°!K›©ZE™ÛþBrŽ5f4vêètº×«$L©¤1êʲ,Hò_Pœ’‰Ê¯økT€;NÂ¬Ä ¡{¥g×Rõcp6Ü›ts-¨¦ÎÓ ãà4¡ŽÈš‚Ð/˜ø®‰)<~ÏGØ*(è8êµKž¡²ôªz½4×$ÔÉ0zË•þ¿è$çÜ ú¥¬Ö›u­×Bí–ÿÂð$ÀÙØZ‹Â›À€ÏlN›Ò$ÑPõdåU&“å6@í#©¤'d~¡íd€6òqö¾î·ÎÉ02^ãSµÖ­ƒ†™èVrR0å)¤2f֤ܹâAà‚Q›;­FD]À;ð¥8O´–ä(z6zºEÏÃe-4#Œ.Çõ×ÚíûOÊ4^‡S ,³T­UæA?Pþ$P¥1ð—¦WeÀŸ|­|Ãú>5YH™¬˜Ët§K¦qþ½ÎÄæïoZcT6U>…d/díš@q¸‰º¡·ðΜ§DgÙBìZŽžE²Ãà@Åz!ð¼¼]Ø×&;¼µ˜b[ftûcµ¢[øW}¹S°Æb}ÛB Q?]<¶÷›&Ú«KÂ~«v gjÛðìýhײî¬Ï༠”ÃŽhŸ§â—5mÖj2ŠK‡êk…$s3[ò1£U5ž°˜fC_ ÍhûëÈ/㾨öñKîÎLisì3½P2x“NŸ}Duâo«>œ©vb®žo‡]7Ž(ÒR@ü:ÑU #=†8sÞŠèxJÒÙÔKzÂòÜ ôbürµ¶æŒxÎù'çL·àqT]?RDÉÃ.s[¨e#„.ÛGöèÕ{1þ÷ŸY–³¨µFÆ,NvÃW`ª¬ÙÍ6­æ†D¿4 ®éÈH`án;&‡MRö–ù Ÿe¨T¾S Ó’iIãÍ 'd32ä+åÅïnc5¨G+‚q^wŒ@ƒxoJõ@ª³’ºg_Gnb =ʶGêÀ7˜gòmÍ\œÛGº¡quÀ<'Í3ä¦ÆÚŠº•Ôœ…E ïÓþa´?ÊN¥φa‡zPc2ƶ€™¦ˆ¶H-kÿ¾ÀÂq°Y˜¡u鑹›2ä£Ú„› ÀS›8Äî£_}| s×¼WE¸`ruÜð~ÙúYgk[!p&XB07ºnè½Öƒ6ÂâÍ@–?M>ƒ¤b3f<)¸†B’H“¥#›‘ׂéŽxoSûîw<ÜÒêŠÀ°@Ú÷EP™ÜpÅCì½OšèÁ“p¬8‰¢‚e³û„M/“n¤ôƒxD1–»­;ù›™œ"bvO(J žS¢Åþ6¸°2—4ïŸ/HÞuÝA Þ|U]Öä ¥4D ظ²,GIY+z6‡ †7§ò^<Ù•c'¡ÑÔÅâ ú‹`¿‚7jVhùÖtþĽÅÖY0*¸šq Pš×üÜjÿ`Z?hFWÐ I8º/Àæ-¹¸ÊM›Å Œ¦Á«Þw8 Ì$×'NÍÞ E´îÆóäÊvæx¶Ù˜ 2²û+‘Bë—1J¼´}žtaI{ ”ޏsŸþ½n‡©›€ŒÅÕÓ^ñs™aÀd꫃5Éš§ íÎ^* çs(×e.1Qðý,²fí»OCË2ñ¼”Ï÷Ü^³C˜3¡Sæ¾Wjwø¥Ã™Üö2é êÓgÚÈ™5f¾SÅ+§Š'Ü0G ÷¬Ô^ZôY¥FìÇ P´¤>AüÿLäý0ë²5™“ÉC¼VŒ„|ò4Ýg %Ww[*}A²\ï ëNîÑ@Àu¼ UøNÉC‡² 4m’‘Z­ Þ¹yûjvõóGÇ=Á7i+þ-ã•àØZÅSÁß”©t¨CÂû¹Ÿæ˜%à ¶×Ò’™?D`3ÖÆYŠºŸÑÞ#,|¨ît%^‹·ûQó"“iFд{¼Lõ3H¿tÊzO̦&H€Ìƒ=%O!)y“šËÝDSì :JM5oA1÷É9Äè9˜ƒ¤KËtÌ™‹ß´èæ3vœŒ^… “T2 –æpxå˜Ô Šú(|ݳp=¦6µ­ï‡6k¢€ˆ:e­dHn¦È›¯r $êÕN¿^üì»O†SRŸ‹Ÿ(D”ÇWðs~O³L«‚%©/Ü·q ΆsôéHÇ›çó¥R2º[KgÈsfÝÍ™Ñ-¢0³/’ËY û<Šl’=&Ö/23¾çS@.]Ã5Ÿ(a®å”¬Tº­^Uî>v`ý‰™{$¡q,.·šîÂ7lBfßJÔ ø UСÓQ2ïœTÀøSPq;¨[ò¬ å+tL¿Ëû_YŠr;‘U—5˜2`rXÐVÜ—±4>ôb`ê÷­­ÓeÞNÀ£‹‘<Ï|¯,öFöh±ˆãÍcخǂòϨ3ŽNÿÕ:´}Fá×[[:º´7š¨$úC»ÃÐsËý³‡Ë3Øâs5ˆ5ùcƒ»Õ—“õœw†Ýñ¥q,åX&íllß§ª ^Š×‡Å ÷ÀÍ*Ú!k[ÁTãëëây–ÑìšêVª%—²ÄX°3Bg~4´ýÑ—•¯Ùˆ/ì··¨^ð²õK]­lõD(Ó¿5i‹7`ó¢BÏôMƒ·ÞÏvèsÑü›5ÊH''¿Ö’z(Iü—i¤€ÌÃûñ?³ùXÀX(ÒÊ]¨ðÊ€˜†å%¯ŒŠÍƒB‡•‹ ^ÙG_ÚÀÈëênV?ntO,QÂÊåÒÔe?ò8ÝÌù²ž÷òŸí¢‚ÿ6uüØp± …ü’]Л >ÛO®FÿpzµFá§×[t>g¾×áõ<¦;ôééôîàôdä ?Öm3c!ÿøRp>Ö.ÂŒ]vµ¬rÌöL kyºÅ¦bˆ&)[RÁ÷YÄ[T‰Ì¢ÂiÁŒF,?HB/­ï¹×dÕ$ø ü]pÄ{Ü ¬|çI’ÿ*)YB3Þ±·½??¡²ö7ÌSÓäÂgGãÖNK…þ•UŽˆO$ª#*Á€ŸUŽÛÂ\.Ü‹æóÿ‘¿ð—œÁ˜¹a%_*×þ Ìš¶ËêKM˜àòéÌÁ1f¢ÑËÛ#†bÎu°ÒŠbþX*Üžd>?ñ“2©ìR˜Î‡Q4ØBBåb%AðDÏ^Ì€´·jJŸÜ.:f5Hë0G¸ø¹“ä-9“L‹–üAêé;XnD©âq‘Î3-&Ë´è`-æ¨<èG4œ¿B×ED¿Qfû&bÔVH¦ð‡°ih¹“568úUrŒòþ–ÚÂÔVðƒ`7"ŠÝÆZ0©[÷[—àŽmñi©‘zuærOŒAA'íÄõ ŠÖ$“T'ó°V*…vE IÖæÇ ÔMïðÒ²¹pßÚ"æÞ¬C‚ L€‹ÚÜ+™¯ué_¤l²@mIó¢J§•ßPý\Ÿm-èä§Q˜D0%#ªbwǬ7¹ê´¦Úq¹½]êcŒÃ¾eÀ¾ÀíÜ‚A; ”b MNõÔáÎg60+”ù]rÏÔK?¸gÚÅ$erãh”™¹Xr¨cLnÈljÖбµ%ÃÃò•0•sª”ÁÒ °raã*áœô6ï(ô´P"ìQVm'íÕ+Ì]+0{îfåß~z†ÝÔÐo>Üš,Œ;w­UÌ Ó »ak ‰9³­(ù%¾¢\®4ÀË'&Bš!«.¾_ëíT"Pw%¯Z^7*gF ~ "óŠƒîÃVƒL; ¢]v;sÕÛçbxç¾*JÔÖËê•r\.íÉ oè¼?Y _%ï˜0Èza_V›—v2ŠÉ ™2B`݃š’Å=Ø}Ä d)é}ï§<âc€õ£¨òáÀ3ßU?§¡콚xT‡>ùèÂ[©Ç7ë‹çÜ!‘Úe:Õ&9Ôqñ•qË ž ·FÝE 4íq]rÈàÇ÷•ÅrÑÓÎXŽ|LR04&T÷2cz¼”L gùuØŽAb˜“…ç;ý–üL*ZøíÅ›<ƒ×}î9g“dd}l'¶¹wZvˆŽÂ43Í æŠÖ‘‹á¡ Fš/‚Ößθ¿H”9®8%Q}· âÑs¤P†"à(•µÑY1k :ŸîX <°½% 3#1ê)¼æ öƒ°FÀjl—BøèTûjútí†mØ…Üs­BvocRñ¥”å…ÔWó;€î³â«öjZàÝ4{!·î—YçI大ÉswGŠÜFÉšø‡hM“ƒ¶È¶È;Õ€Ó ;Ðæcþý ‹ã ¼ä‹ÒfÞ©°)",…š8™ß.™ØÒ)uËÃÝîæˆëÈ ãæß©NÉ1š¢‹Ö²Œ$8PÌcÃΛ3«Ä¼‹NàÐpþ¥ä²9I墮6´«“†6±Á¤|J~pô~/@ã‰ð|?tú ².E@üj(Tý;·¡ozPk ñóPlèÏ„†Áozyv—”ì}ø½Üü†SÞ··ÿ ÊEGBZÎ芹皿Y*..9•}UãÈS ÞÜ>˜Ä}JP0ß°*§FõLP1ê'Ã¥ô‡˜²¹%½éÚä™ê¾hC¶´¥BÝ91å×,&(JL]“þÕ×­óÇâL³ÂC44k†»J±Z`ëN!R §ù>k5«OŒ ¨n ¿œÐ°fë}‡×αÎÅ-û‡Ü’h)#Å b•ßYO’MTfB¯¶.”û‡9ÕzÉé~ñ£„ÆXië!ÅTˆ6Ÿï!b… Öÿl­d=#âþ~å±…¥ët˜´}ù]æÝü$eC¶I‡¬h©¨ç$Rœv þÁD€1kÌ­á˜Õ®©×Ob3¸ËÓ̬õPeßpú9^+ªÝõNv€„ ÍEì$4 , $/oÁö±»§‡È®à%žCíÜTüÚ½ˆÌÜßÚm°®[­¢-ÊÚ΀¯–pΜ]!¤iðmhŸöý`[½â]-™Îìæ1!¬›Ö§ø†–)ÿM“´.A…QAòU ½œ£"ô;¡F<9æ^žö%|Œ¬"ΣãÅ6…ÞH÷' ¼4ÿ¡\r Ä«šÀ8rVð|޽¡ú¬f¤µpÞa?ˆ_Â4‡| @á}}hŠÒ´äTÜÎi„ûçûõ uqv™óÈ…-åaʈ[4q·Þ_ÃÁÛF¦ ŸÏf=ÄoÛ¯ÕE©‚·e¤H͸„ú”ý¥ëçò¸VóÕ ‡4:9ÕÂЗs{i¹[$Òg¸áçSu_…»öŸ˜nñÔ«^zA·‘95¯P|pýÜ›Uwü·Oc€èûÜßÔJ ôu—¦¤´‚~¾mS'()TèØ·Qo¶îÊC;ɘóL.ÏNnê­…$CáЭ½¤Êè[±yj\zqžÐ&@Q_Íi1JÚFÑÔ•eÖþ„ÕÕŠ2ræ™É,_èm¹ï}5œ-΢½Þ œŠú y¦Ì›7¿¬ –+hTv§ù›â–&n$ v,ÁVŠ¡5!AØtz†™k¹g‚7F”ÍÑÖúåvÍ)ê1hÄ qûõòÔSx8ÏÏŽ+Å)~yxþ¦®Q8òüèè7*X…zÇÿ»¢íá“ù‹)LrÚÙÛ´´|(ÑëÞ¡ŽüQ½¬þÔœU—þT6ÿû W‡ÅÄmA6¥n-9½`Ñ–/]RqYŽ$ÛiŸ Ö¾;øJ‹YÖUÝíñ2Ó_îrT:Þwce#J*|ÉT³Ý‰¾˜ Åûx3àíÏ¥¸ìŸRà|q÷D_Èûl¤‰;®õ¾Ü#V?‘0&I3Ý¡Þ^zdŸV§ýfHiø`8%ø§ùÖH6FØÆ~bŒw×Oì¡£Á¥P2œ ¨Nœê‹Áä\Fæg=Ò+9B…LeüpÎzËÇ;¾-Ñ`9äÂûh’10š9.zí˜êÍÌEæ÷üUþxÊÅjIjÿ«Ì Á±¸z”t×A=”3—{ò¯ŠŸôYÈõªÞ7¬ó¬ dZ\§¹C+Tøh}˜­ÛÕçWÀÁÚ ? Hâß ¡æ ·7£^ÏæÉy@lçKg†Z–w7ò„ÉÛ$ëJ„Ÿþ]b/8rX„½UMIf^ʃ9!2ýûÃßeõ®â޾µWY‹~}Õ‹¯Oèb{ýù•oŽœîÆºãÃÖu$‹W =ï`™ù‡=o]X¶DÚõWŸ‹î!€Fow½lú>»ƒŽé¶ðf# fÛúrSP~`¬Kµ°ë{ÍÌÚ¡|ëJð›Ëž\Ñ<6Rbí=ʞؕŒ8Ku+º`ëW¸$PponÔ¦@ÁfMd0¬Ó˲8®á Éå GOü:h1 Ü[!(r«;[7‰žhfUQ£2™yp•>»ŸN,9 ®”ÒÕ=|&´ôsE…Ü/%cF>ê±lÕPnÄîĸ€| s¥ç#s˜uÜŸ®g½,4»¶ùCë™ó…çò÷ïM&)ÆÁŽ^úPI´2?9ðÓ˜3qa‰šèqóaà XÈA@8\Ñ%âãE=v³c’ FIEwMÄ:ÿ€—ø„´èDô¸ïW\9„48„lûÙÀ'©Ø2]køD4,ô#ì}9{D£ô´ ìa£zv¼…âù¦ ¼Õ~å~T/ë|vçž0ìݱEhER«|"oD$“¿Å\}᮲¸Sã?Šj"½œœüa›àÊ­¨ÛM Ÿ×ÇX’$®GEŽ4&þÀšÏ黪¾³SÃ)ïPÆà˜™=4þ‘Ó\8òÕû$y;·È>U–¾}ËQVÚ{ F)({¬ªH!7(\‘AMäüÎ 0Ü×á£ÚL ¯Cþ{Ég ¦‰«ÿùÈF‘ ÖÈ[D•v1îųÀS.ưrÅŒ±(‡QN’gÎ+¯éïâ½Á Ì ÙbT2èoŒZ6CâOq„êõµÆùæ.îvœš\B[/ÀòÞLЉ-þKªÏ²ÔKÝd€ÞÌŽhŽÁ£Ü·ØÞ\Ú´†õ=Ó i}¥àÓW¦“5¸2[ºÇ?$„t¶)L?æd×´£à,¤(£M»L¿1•»ÕÈC¶]+$ŸŠj9KD-Ç’Ik+a09 }"úŸ°¾Ú Fì7QÎ_fôóÁ&êÝ ëõuPë¦ìçØNΊnÂÒ¼emO4¾væHÍ ûˆñ‘pÜ+þˆ$l_qŠŒxö&°ïßú2è4€Õ=J޼ÔÊ-´Þèƒ)³ž§•ÏêôZ92Õë³s¬’8Žo1í +ONG.t« ×'Íñø n¾¾Ù)2f ÓŠë¾ì¥ͯ ˜&˜Á@gúXn}¨€Šö¨(e3O¢¡¯r°ú„Å·~€”¥Ü|·×ˆÙ‰Ù%g¹4Œ#ꚤû,\ŒXMp¿ZŒÆ}·%ËÀªó¿µ“ TR…û!>_a¬¡×Ï÷~ø‡{á¹—†°ƒõÊ"m—ݘ<ƒ–U Ì®€yÎ`hg.DûªAPBy°þˆÜ<=Ü ÑŽS‹vÔ`Udä,mñZlW b †h:ßF6êm}>Ç7f–m/·2¬‰OT"öÌ·•Úp¡0b§Xm>æ«p‰”Yl¯`¯iQB£‰G…¥Rñ)Ò€Ÿ 2¶`µ;°M§çqI¦õÙó¦A˜‚¼¤ Nre²rŒÃ1£¢´ò÷åšä¹Eܰ(!ñE¯ÄëùžêÚ"Û=ŘX™¶FOgCñ‰£ Æ8Ï\ñ†=ž9áó B°š#Èå¼çk— ÜJXÅ1d[C_¯û$ȆXÐ_¨Kð@œoèëÔ‹çŽÈ›‘Ú}zLC±Ö…ƒ‚ßüAÍ †Kè{T]Å-·Œ•-Ž¢ 2TÖ^ÉȸKêïBRæ._ðnëAý>—:×pJt ýS'Y3¸8ùy·s ׂuB¢;§žc?–¶‘ƒ@Wê }'XµrÚ‰ù¶¡Rî5™4Hàl9–뱺@Ù%íV!qýº:¸rïýÓ[È¿úB}x¤5W˜¨’кú_ó/âì:ì€ËŽKÓé%ïuÕeÖÉ/Sžò]×3_TüÛ8cߺˆû*:GéÎ%óâ}ë%xx§2¯ø…_‰¼dÞÍœðÝÐäÁ¸IòyàæèzÏç”Æ/ß £ªÐƒ¿CÑã€|ª¢h ÿþíWPééŒÌšb´Æû‚"qÄÂÚêL¬/ë.gš€ðìxÛéa8Õ:y,õûí­xöRÙÛm©®‰üyJZŽS¥_ÓÝ7¿Ë9Ø.•õ˜%̹c³ÔfŽ2Õî½ÒžúŠ6ëŸù‡ÇìNð¯þ4^E«E`ä7õúýÇ6&‹v²®Í|6´ñffjÀÅ’ÕQ!£ä¿?¨²‘fÿäÃÝ!§7<ñ籘©Nt&X@Ô?‹4=±›ÿ†;:Ÿ­²»Bs‰ª«rô]ÔÈ$"n4Âq7Yc¹%S±[¾ë 9T'ós &¯Gbåp¾…,[D2ÆõüP)“2”`CÓr ‹&wÈ3?¤ÃNîà™×[÷£y[æG;EÏR†9š-|åç9\·CÚì1œ ¤„ÊÞb÷Q›H™-ƒÖâyðš IwqÇ+½q¦v rä›óRÛo¢¨ýžáylo ‚‚Bh_§Â‹“¤m¸f Ñý±«»p€‘(EûËÄ3^¢Ø´¯xÇ%Y<çÖo*oÞ_©’ö‚j¶ñ„qf6*i'‘ò:¯,>.~¤òŽ·…§} Y|rŸ<ñ€+eJ½”<7èæ˜XJ¡TGœöºhˆ‹+muÞ›L>³'E- 4Xæ92](gα†@Ð se/N$°•î­ FY<ŠÒ¢Ý|…²ÊUÄF ¯›†¿¢w˱JµÂ…ù0÷üš8ØÀ›£7Ú^š6Áz€©e•޵6¢ïìYæÝçÜÀˆç°>A)œ }Ú óKð^HÔ)â¥8u07‘ÿ4«`ÀP±z¦ª‹vêYŠªû.¼Pc/Í.ÀŒÁðU9Éô^#cƒgüè”e(d‹ýk6ÃÄø+"ç='B¤mòiÑi«öTø>]—ókç•—\Ša3§Ùki`p·¶/„&ß5‰6ÎÙ8ãAã€éÇU mSWËæyÜñ+±¬x«$÷s‰Ói‚ö¼é^A«+ÿ¹gr‰Ü$chÝÀˆú"vËM£üÊ—CàµIðšÂA¬PYCÙu§Ës›Ã?®éª¬íÉâ·Œ*Pìx”ìÔwÇ€¸ÉXð'EàGûžv&ê5Mp‡)’4mÅõE Û´G"ß•®¦}×¹Îߤ®áü@߬Ipúr÷ÅÙ\åõ÷ž’j„”uòÄcO´±¶y/•Šd<ÄX?j•[øQÝ L;^NâZ@DU)¾P¬àþoe¾{n¦;Dâl«gV=@jR@;~ <µc– W^˜šæ^«dfâÔkÜû¥æÏ»ŠÑÃM%’kr_yŽ(‡­±óô H¥úÕŠ+ ™B(R׋>¯´™Èà`¹3 +Ê·üÓµWAˆšã§åCcâÌ@xÒ9ÛÜf¹©É¢?*ÊT¥Iýá3ü’ŒCûÙj½ðÓ œq)sAÅè‚°&DN 7Cš‰Ûž*$XWÑSñÂÆÉô¡!ê‰ïs ¯›yˆÆ©`I?óìçóÏÒ§ ù²»ëư ù4@í¬En9¦Sˆ¢ý:ç.ÂÔÙ]V(d¨1…˜£1q¤ÃJä ©f-ÉÒ묛&¥áTá2L Úo·„øùõ[¤0¥Âpc‘”Á¦RÕ‚â!‘9Ô¯%L‚Wr[€xØí» òƒ1)2*™*EXm¡¸ZÈGÏž¿ÔòñgíûXˆŽ¬&‘àÈ?¨q¶`¶Ì”¡TñÇ>—5®Í›Hiц)QÝp'C)W¬•¬„Þ_,á,8åÞ „lŒ>°¬Øµ‡Åvõu"—f«Eš5YàÔ+!ˆ-Kzÿ.1l`f±Íï®ëG,èV}ÍH2ZütBƒ’ùm]IAö}>‡ørÙ%h‚x£âga”ÉmSBTsçü¶ª 8@ØS]ðæ ×é`1ÔÜGI‰¿BLooè2Š+a¸T¸ÿVôeR«åF¾HFÌîÉ“zÛ†iõªÙÿùu¦u§$…ÐèÒ{‘Í`ú&¬æCµ"{˜Xïò†8WÂYvværJËNí_e%¹[@½=.Ó“^™ñ$Écæa$ôF\Í.¨qo´´'D‚‚ŒÅ£ûøäH|wZœ6˜D¥¶Q) c_¢ðD-b¸6 KN;ñ~𮇣w©Ægž~û‹³øhJ;ª(˜z"½W©ŸþÄu¿z Êlþ`¢‘_†À°ŒBþÆz®YE÷t¦½{ûjg±Ñ…t™w`¡ë…†Î.<¶yf±×mÔí”C´Ç´DOÊΜÇ5{9;›óÇù}ÄCÍÓÔ&ç[‰3‡rjàì§ü.wŸD/Õ(†;6 åÕ¢_ Gï‹Ø²™C"Z¸Ì•˜ª«èO‰Ës×ÇôLC]Ô]‚TSPµ[Ò¸o·¬>›éÙ÷ €lòaö¸R´îWF=Éb&·L;N|dOvòÚ ÅÑäM)zNnå™/Úì ;ññd2„Ì|È(Z-Ô”96 ëØ„ -‰n¨2Ë—ö8áãB׸Y3>"Õ?¯“K8Ñqêf•¦9á»qVátÄh$'úhtͬKw¸×ï–;Š××VÊKsTív œT_ Ò DMFe¥ŸcV×N qšÛcŠswÝ+»Ñ1´Mrã Ùkùk²M3{‡¢< +`o¯©—´jÌx©†<¶d1½‹&´{ê*.¿»ÿO3_7±pÏá” šû_Ù;}îâ©•ûÃEsûvÃ7dE¸:2Fú§¡Gš¿F¥½È®Í_­»`ÕxVÑXë–hʳ³å‹ìtE‚® Ã×Õ—w1æÕŽ?I˜f[fsP[è=˜¾ÍµüYñ J¨Ù .±Äµ6õß$&à#XÉI°f‘­ï7ÛŸÛåÀçåME«=Æ–t?¶Œ•¾ôAl”üÿ#U£X Ð8MU-<›1˜ÚÁÄz~¹³\ÈNÉÁ^ínŠ$îé/›¦ëç©éCŒ;Š=GÖºŽ–/~í‹þòõp…-IpŠ Ÿv!N:[jÉðÞ÷–yü^8ª?ÄÅú‘üý9ƒÜ·w¬Ž6¥wŠ3Ó|” ¦ðìY—u˜tXä/Šo}ë¹Yuie6,éðõbÒj5ôT‘¡ƒ‹æííÎ,ãJkÍ©?õêë÷ˆÑ:ÊÇ1d´N<\scÛý¢8bëÆ•ù8MšILà7Ùæµåç}o¶PÚu÷œE.‹ç¦a6ÐêŸF® ¦:ð1ëB ^Þ¯¢S¾-rÚS*VXšÊNŒŒüabÌ·þNqÆr*¤²ÆÞe¥ ë¤ÁáÃM Õ(—ÐÞÄF1+Ï…Øp ÍfF—4Qò¯¯—â¡Ù­eY2Ín->"È=\-hÁ2Ÿ›¼éýt^ŠÎöp{N¶,²óâW“·5îÌ~‘…žsáV9DY¤3¥r4rcÄ7¸­Öª¢Ê÷`‘–6ÍO¢­s_á™*wWK&ÔÚ›ßx§KT‚æ¿þiZ Ò{¸âèuq«Ã9Gê|éo÷Ñ9ï¬ýDñv‹O6lgžã¿6¡Õ‰o%ýåÌšKø\¡Ÿ¯Gæ‡WîØsòFŸ!‚… ã©Å¢†¤0´ìö^Î{Õ+·äר{™ß0kQ¥®€”Ä´A™ÌZü°Ò5v"«"C xPKïãM ½ÝÞú5ä0•¥àøjL)kº…Ô°@ßHZQЫgšçƒ­6«(ó,м&èËV‹8¥¿Zk‹ ©)Š»2–îï´ïÿaÈ({ÄÀRpâÛ zC;à˜êl‘; ê{´(`’ÞB3¬ê}7ýŒÞ‹[ä=3Yç‹‹«¹~D}ÍÙïâ:°öKÿ)äô±ˆŽ?ƒõõ¾·4h®« ïîþ-MÂe…ª9OÞng%oÀ2;6œu‚L½»ËO)ÝUwTçÌÝÁr50O|W_.Ú›†(Š­3+Ô†ÆõÕ„0TÍÚþiënõ+Ü„¯†Y\t-ª6uçIbÀ’Ä“Äî8§K×ßUSø±æ™ö•R¸lQ¾TœQýòƒDµC_“î-XŒëÀvƒë¯ëËõù¿"(^4ŸÝ÷¶Jû|Óî_¨û0³à^<5N>LuÂßSÑÄÐaû\«!€¨'–'-žAWÞ}Zj]ù–Xîç 0ÙªìÿyWG;ØÃ(*T5s è刕 ¬Jm#Q©ã:€p­{ÁJ-|—³Ïa”¨±OÐçøCC.Ŕܶ”Ȱ¢—êœëßÍ5±hzvÿ7_˜[ÇH¢Íúº¦)}D…P=d åç.KÅ;ÝTgJ¦¹ª¼W!ΩPíkLD°¬s!·c(8Pî_Íx~<Ç—Ïù 2v<Çïr„/[³üW%¿n°ÙÓÆƒ‡±5=®™N½ºú%NŽ;7ÇÅ›ë±ëå0‡s¯ÂÈ@(o‰ÝOÛ´`^Ç—¢å¶T¬&h‹fÜmæ£Ph7"sºô¼€ô-"O>€ ò^%¨çïàTóü <,ƒ^ËIê™c~øìvyý2¬Õ}11QºÃ¡¬ÄÕ.ñ)äùÈØ$ ¹bèÖ!¬<ÐK8^ù/ãP4‡¾"ú8‚ò_Ô ÁÆ€ÿ#Eѵ¯à³ÿ180ˆ±˜‡“®—q™æñÄýb2@Ž"1ª!~Þ*ÒèÞ¾N«l:Ù¶Q”Z pûò— ØPἿf£$n/_ŸM¥È;;Tþß!ÿ«±¸3 “ý ßPÆÞ÷…u(×2`Чľf9vº£Ró6ˆÂ;ó¼YB£ú[)»w^5‚’MQYc.O¢åZì¥1gÄp_ý~Â…H1ˆ þ¬]íXùm† Öu [Í1 1 jø}»Eêµ:GÖq*±Pj¢ÅÞIÌ –,ÌÅ2Õrˆ@¡§ÄþsüIËFŽë/óN/±úÇ®¦Êý\‰ Iëý 1*Å Cyëj·ÉÄîW˜Ï_æõ¶Âj™t¬˜ ¡5ÕéÊ‚ò-…ŸX&3f“Úí‡x 0m¦«¿{™ç×ìr ·f~iæ1¸&3jºB€‰é÷]ùhR(ÁIá³áû-ì½aƒjʽy1ˆOb–FÉ›¸’×S Ø"Èv¬¸.âC®V$Ö+Rët«8 Ì©SÿÁbRÀ-¿Ù%¸¢N†þg™gÒ2h vÒje‹Ô#ú3ÓÐF ã»n`Œs­»­@>“GyÞÚ¬v“Vån|˜ñ6°v¿í®<ÑßÅ*æcY-™!Æä' dWrNl%’™ÝþØ…ÉA2]Aí±h ¹Hæ=²¹³ÏÈ_E¡Nv%ªé”ÛÝ©¾múMàØÂ‹]I•Ë6f˾ÔQ„‹“”CÚ’ .ú1¶¦³Í$ÌOïf3Hëï¼ë%÷™Lò5#‹zIÜ‰Ž :Ÿ£Ï¡§@ß»õ˜ñj×ýw# ‘Œ»îs®yùE‹Ð÷§é/Ù*jE¢ŽeÆ¯Ú ÇSaØàÜÜ!¶L%À’\úFþdù9 âàÁø ̃¸ö“‡­bqÊvlÚü´ßíO&‚¾ ¤‡ ‚¢LCÒ|^š„&å€S!½’Ô‰UŽbA)à§”Ë9r© c XE4&È€!ÒFd–g•³Êh ¶Ó§| d)ÐGÉkiÚ^ õþ3 ŸÓƒ`0F©ƒÀ/ˆ¶vƒ÷ýŠš –þד¿—Ç–ï¸![9‘è¨"3~@~ªü“vC÷¾X*QÌÿ´£‚Qµ™Ö6î_O(´·»B¼M|Íá4¾÷6‘æqS7‘€ßŹiÛ(Ïȧý¼ t$q¼a›èà}e­Ó¤?ˆaîÔ‹Z]hMÅÕ½«Zù𰃦}J®Îþ¥¶W‚R­‰1Lc]Yó{ŽIÁÜ¡tÖ˜€£ŸgÉY·ý­{íÆÐ#CÂ|õNÐz½ k:¬(Xwê‘¡]1X·avÔߌÙôº<Øw!ÃÆfÔxgœú€¨éX‡’ùónì¼¹¡Ë„ìü½ Ãß·úDïlÊ=7ó×p V¢ù;Êçº*ZvI°”Ô¶Á­•”‚-%†dT ½ÿ ]u$JKÉšIá¸Ä…™%"CÞAY@ŒîMlj]5Ilì'M#¿l:úõhÙðW^ ˆÞt®ê”^òZùÈ.V]ñ“²‰ î\þ—Õ®iï¾ûEÅ»n=;@ØŽŠNJVu3p Œ!.Þ•3ÒvœåÕå?}ñ^×§¨Ñ¯¹lÐípVñ_¡(‡&¦ï¢Çš¸óþ‰ÍˆE˜ÔH©8‘ó°?{¯]ì`6÷e—£6p¥÷ޡͯyl_²Ùz¨â%£ê1Gê‘r@ôŠUii§6Obմ첃]|^VÏØŒí¿3ªõ‘¶¦¢wþÖ8YcxæU»ìqöÕñ^m;Qmþãwn5Jñ,1½—ç.y]E¯$ŠŠá&®«aá\ï•´#¶vÀVk˪\:1×#7^AvÑÆ•>ÄY]P”ø¤¯£®H¼upµÜsÁ}õr)8lYß­4Î÷%r÷¾åb5‘Py)éœÓ£³", æì¦Ømñ2èLÑk@`Ak£YNM‚°[ø†!:ÛÓ\V;:Å…µY»†ñÐG®§!;Ôž¥lŸ@aÁù‚¿ žíè‘H?àÕ¥Hãï/^3Bà´µ•nŒèÔ¿ÝCd½uÞNå¬ü0ãW§ª&/†$ÿÖ¹=“6fKÂ0ã³L2Çy‚A¾ãI®FÓÔF^iXޝŒà€Fx¡¤ff¯ú’‚GÂÅ*$™"â£kŒºe¥êÝóˆ¡LF÷—ö6/Sšpµ[ÔE'-Fõ6"°Õ`¼€¨ Õ–màFýN–{#€X”T´ ŒqZ¼soÎ쎬w·RQóŽz&±€¢ “è$M¼À0m¨ç¼9Kñó8F‘–ïIu¶ïVÑ·ù1ƒ îþ/ ¿ML]•j›[Ì_âš9힃Úrô¦â!Ÿø¹/´ÍN5?-…\: BzK‘¬/¢ ªZ5!˜“#äõ)ÆAN&õ'[àMRJò^Ú0=yÿž#ôÏZä1ŒÿHUb ÕhF’+,ÀZüÓ/•‚jÌu—O’Ù—èäCGÍ,äÂpâp—•<é<.Ì”èýÙ«W°“Öa:Å»T¥C¬?ªê—.F_%ʶs/±´¦yËTÐû¾Làóe¶zɹÈã"j|¤(×ú¥·jWŸ*žX=;ÜJ ½íá¡×—šÒÀ>öÖhñ6ËrXÕõƒŽyeK¡aÒ£ä\ ›U&ê°AÕ»„©¦F¹&n s¥!x7tµã#ŽPsá":¶‡ÛBµ¯½ŽÜ°?ùjà¹sº±½Ákï2º)îWÈ_¶>`‰št­8 R‹*­qÈ࢑!d€–´Áƒçûë “w¶vÂó‰âi%Êm›Vˆ8Ä ‡'»JîcûVvŽÆ )É=…9¶j·Ü#|Ù¾Úµ‡KÊ.àý}’ ®ãv%­–V—ë¡÷šFC„[ðéš‘tHvý!¨×0Ýn¿sƒÛ}*Ï??eiå®YíK¯|ÀìÀ^Fµ«2ØTr¢*.Pèíz7‡÷£ƒFÖ[ƒv>Êä &FZî­˜ñî†O)Û˜\PÄ\òìJg@$J>wó“•¡6~ºÖÐýÇXY …ûFtD¯j¶3žŠ`ÒKmÎ+*lÙ[žÎ˜JÖ˜:,¨Ú£(ná'6ÑúÎq¦±uÜ`0ÀX¦ƒq&̵/bh=ÉŒ8þx™p^éÒâéŠGäŸî+'â>éiŒ`»{‰k湡ۊÓsl¶½°JÓ¯7´ÚIj"˜ºúx‰îƒ8x̪טÌÐ5²íÑ>º:lf'#Yó]SÑa›sìFd,Q¢ê  ÷ |œîR7X >K·ààKØ:r#·ölDgïTsÚôQâÏ:¼â_.Jàv²…¤Ó¦!ÌžÙó´F‰ÞÀg5+ó)ÒF½ŗ§û Ãu^ÚpÞŒñ¾èÎÆLlݰP7N@T©¨‰IX¾· ï¬µû6BZ>òy³ìbݸy"ød^û۬ʨåV­ÎXÑÀlÏ0nÜhž\ýP!.- çíe›cÑéz$ˆfá÷A#‹ˆ5ãsͧ-h¬ÔW’¾Ãgø§_ù¡,¹$o Ú¿F–Rf4gä»ý½6¾ ÕmD;ìk9ƒÒ,?Úý Þ•Lœ²$ RÃ÷Àor—ðvXÔf{;™' Éë!ñ•„2;o» ÞÏ8ºw©0Íõ¢í³ot6¼Û ÇÜá}º¸ Ðæ‚³y!<ÃU÷ÈË$øà¤²PœÜx|Ú‰LøSed˜î ƒ.10‡gü.¬û-T¿þå=p•dF£ÚÎëÉvéP˜#¬l;—¿f,>úéq\Pzsj;DK~ƒRÒÖ²0±0 ìcÑà#ã;äÖœ‰§ŒÊaÃ<–«u×'h õ1ÛdãóžŒÃÉd¥Af˜CCMä!“êZ«…Ï›¿4ùncóoœ´ ­Uiœ†y¸L=©ì¹R‚céâNLŠ…ãð#=Ò?»ò^ó`™9 Wð3ŒŠh²_3Ú½kÒ#VW¨~ÆCF‰¢Äã«ÉHrø{¡mªy p^ùØœnž´”s¥µªÔ@¸hiY“/ßI$íÚ|·‰>ÇÔé[ì4­¥­,<†""rmx.TYðñSÙ®­u…'4…ÞÒ#y»F±ñôÞ¢ 0ú¶µ$À*ðÂ<«ñ½:äâpwFÕ‚Sß8‰Ü±­Ã3mÂI¶¥è±ä”AÖþåø¼/ƪ‡ß¶í±A™YãRšPÙÅo¨dó@R͘mþÂÑ©Ñ#zçÚÊ3è¡ÅìvIJrÕ$Þz‡ ¸1ß‹áO8Ægävò¦A¼Ò€^}˜¤ÀH=|7EOõý³ùÔ@ÚôŽ–ZdþGbû?žûÐcgÓAYÀ€J¢ÈVÝyÚn~”³8§|å¬åIšªÄÄ@®ÒÆš§€b€:õ©À'@oeÁë“ò— ®½¨hÎßx~íµ÷4¾˜$:ÿ§µkÕ<nÇh÷¼W–â.q‚,ð/Ù!ý—ÝIá“ÀŸbE=Q&qˆŠZ.E´5Î5WwÆñþ"“=÷Ñ^šPÎó ½`RN”hB'|%2ƒH™Ë—IPwq´/‰çQ£fo2aŽeЀHéT#ÃÓÏ–ëFì9'9Å—íhÐü³÷c…F€ºI[¦×Q ¥pDiR ¢ÁbG§lÍ ¶= ­,¤ÌmÜ,ÂР'åL„Ž¡… ×û4”¯¶¢÷ü†Ï™*ÑF]tfÓ­=¿lØò3êºðŒÒé$žÔxåqÍ;_VX`KÇÞMx‹Q, %Mð˜ÏZéìwº•rÍ3"0öv~\úÕ$¶5תÀ)HEdX ‡æ·üÁM0ȳ³En%ëé”iï':y÷ÁõÈPÔ€žK&÷Ÿ.›ÿ2å•7D"˜l]‚‘dº¯?vÝG¢±–R4_MM?çö{è€K—ûÉËÒûBtäw€©ÿTkcÅï·…aβP XÿuAG3®Ï=ôÞ]H¼~~ÀP'”X-‹Âæ‰ä¾É¦ñ‹Ó°èáRç÷<šåô®þ¾±™Y*±Þ9×Óãu^/–±w«Èüé~Y58ÉÖѦÚÊs¹GZ$…qIxw‚E7(|ñ€»UÂã/ãÕ‚Ý•°{Ç×Þð5“¾ñþ•ðrœ&ëÒmß}׎[ã<ÁùÈø&ܦ<·ÿɳ-ΚV[{îìð0™l µÃRaLª ŸGöëË{ÍÄÈlÇä:sScKMîú$‰´ûß׺<ŸçUpVõDNp¡mä%Àå,2–, ëÐq‡¿¤¹<³¨›~í®¸2VÜÊúYN¯Ë²·A÷\ô„ñ3ÂÎ R¸›å30S'h~dõº‹Ùb>o¬v14å}˜76_ÖµiVÂ@'Ü£X·j6”0Mèöb®ÉõM1ºÜa¸Æk;)ZsxVùô¼öqL©ð³ŒFNâ1vçǼª/™¸ rÔ¥ô”‹ˆ<ý¤MŸå¼Àµ#ˆ÷xˆˆÅÝTÈõÃf/Õ™©óYÚ”ns¯—%ã°|P5v4pŠâÞdݵ¿SïꨘŒÄóÒdQØ;'öô[è{j;­‚…mÝ~)”¼2ÈD–õT´«Ô¾Ž0|GË)ÉO#+ô¿ÿÉ©ë{Ý¥¡W°_WÇ"•™CíÑÆ„QÌC¡¾}g°CÀ†ƒVð–Œ&Èr–ÒŒ;H;D©,1Ú—ÙQC.–àßc}ß´ÜSoÃï;pBýŒÃIÜñ1ýÉ7áÏžâÏÿ7%¯¡¾o?Ð} „…â)vTûØKö©à@ê'AaDÏ _„ŠîpaG]%Ä¡=÷šFOr¸Œ2Ð CPä.FùJ¦+ˆU' Ѧ2èx¾Ö‘'§l¬3”%YZÝÒõ¨¶dÏÁ¡ãÎõ$ÌZŠ#çÌî#òÅe¾í\HžÊÙÿïUàÔùâÁêqlˆW€hj{IüÒ~Iot ^Túݰ‹-Ç"6™:ǧ’;ˆÕ†¹x‰ÏªÐt Ëo«Ñw¤@Xc^í(ª0Úeú¦*j”9KÌ••à²d¯iðp ìù’¦ìq¬ô³šŠg$rEqÉ0œ ¥"3ýqÿÔr&tªP;{¦N8J¹8Æcðju“z1Lò§ìÑežV€Ùdñît-ï¢ì¤˜–÷©×lmFï_"fËuLÙòÌ.܆Ɣ²Ô³ʃøÈX Wô èb³A:‰„’ySêw#Fµ™›[5J†$7*¥U­ÍOÖ$TOk¸ñSŠ ìQ'ŽæÞÓ*Õ4ˆ ýÑí1ßòW‡›mÊlyŠ©¨±gkRÖ©Bõ Ÿ*uOÔǹ7¾èS'b«X•ÁèÔj—f?4ß-R¦¨í(¥»„‹ì D>8š=–œûÈåÏeµâO¢'-Z¨GÖ4nŽä×ö»†_þ—a£ôh§mß¾Nr_³X#×I%èP(Œœ=e—?ÕP{:Rù¾uþ~<*À7PsUç3a$Ÿ9*ÊÍ[éÜ+-¼º ½­4î£mwšŸ-3#Ó´¾cÈË•T%rãhÉ]É^*vðá_Û[ìÎ~Ù#3ŒO´ UÒÈûûö_…|+`žêcLãîF 'Ï_h7j¨ÝUÕ]7µ<‡vàã¨kaë‚qdú¬Ä;_ ]âO\}z‰šŠÓÖbÂåÛî"·¬©?ü©xïNÏÝ}œ¬vf«Yl6¡ªgZÏ ͯ• “La†ü)ê°¿%ÁF10¡Y_ m aj£ ‡\!?0ðÂáÄø+?±—`Çׯ‘% ô^—Ƴf•ÖÂwàeͺ6zž¢û}&çGДФ#ŒÑm¿ß?A`©€× ’úw&B§jäÒBÒ"}æèv÷MàÓËG›Q{¥ªþ™Pú;ÜÇtDø³!žŒ >­élß@ËÆ}»ÃÚåØU¾€ÑsNr|Eö´'þ`=Ç;Zÿ¼ I¯I±ísžÙMy‹…8¡‚ ~Säñ—cÚòìýusÇk‰YîŸ^z(±ø†‘r!¨Vˆ‹g¡•²þ3f'^|Ÿw­'ÏŸÉñãÞ¯u˜i“ÆmŠ€Æ–«š«gü†4ã{wú!Œš~dŠÔE±5¨Å<ÿ‰úÑ]…ˆõZLÂö!ƒ¢qöTº‰yf¼¡ó1ÙÊ+Yò»‡OÿäF®Â¢?H”nApË1ë}ç&>åñ©R†slp­ï«|R=4OhhE¸ñÖÝØÕVäÃ`PxTó*!ò çõ Ð\MÀ¶ƒ–¬iØ-íG{ùn¢3ÔMZû´„š×ñÉ€€öIOž€¢÷ûK]oÔiì…Ú;×1kÉ|×éÙ&Ù{‡´<ÉH4N,„1Fɇë¹ú†ó‚| E×33üGv2ÒÝNýFXN¾i²XÐÐî( uœÀL)jÜ6°ò±°´­êÁ‘›¢AGœ¡¡Mý_ ´kËð¬­â+QƒæÞpC÷Ñ–ƒU4Í[ü\Ý’;6ü—¬:jè½xX†Ýx. ÎÉ—Íâ#ì›ÖÓVówái_^Æo˜³Ö÷ciÛ¢sM±“×(uiCNU2#¿fnG·‡(8Xccî7…õ”ŠA‰¢ôc<4Ruv˜VqoâBˆÃºngN˜eßß=ÜSb #®´­7Κ›X…¥‚mZ ù”KWû•´µ»„i§)zz J4{n/Ä+n¤þÿt¥ñÊ]¨§¸_!Љðî¬A¶0©»—Ÿºß…—9€t)Tï…´NË•ŠOâfñ@Ð˜ó¹‚æOfÄCÂÑ‘óñȼ¨|þÝGn¾@ØJš^7~Õñ|š¿õÒ–Ytú丷~6†ÿ%'7Üäm?R0gFëˆÜ2¿¾ºRm:2ª$Ìø‘²Æ5gðk¦:HãÔ{÷QŸÖâäñøšiÛ½,/ˆ§¶˜´Ã&‚ékf]2jjMtƒd–™_ƈˆ3yÁ–®ˆ¯›ýμ4sÕvV…Mÿ)ÏÇSH J3—Ÿy¹Ø¡•²Ä:ˈÞb»Ê&d4gè¹lÜ#™2†áu÷~ÿOK‰½ƒaÛj¿/óÔý™šîýK'èŠ_µ}D¡Í0ÍïAHEšJÞž!™ïV ˜.èѹöØ †ß+Fe¥–މÄ–F’Á2”K/)™KáøÃwb˜oÙŽïÛˆÑ ¯h‰k—ò¨ƒ‚Wë z\î”4r8PÝ-üÆ‘ëm¿ZÑË© J >–ë' ©+ÈÄ6P¿Z™Y¹œ „»¯aŸºÍòê™)”X+ã¸N;c´ßÖ^…Qj­$œ™èú/¢Ö,ÿ sÝ-–›$()ý£7e8™qþ)ëøõ~ÓXä]š=ñ¹âc"?23xüš˜ÿQ5AÍ€•R6èjfàiý‰¹NnDÙ•ÇÅv)G$ÕÓ0Å Å’û>òŸ€á(´Ó.Sq¾Âš°kÄ#éÇã úg…3³#Âu—oÁ(×’|ãgŸJEÙúY1íNã]+ ~>ÈH{¾.¿wÂ+Þƒ›ö§”,³½e%K!e’í…,÷ŠŒ‚óDŽ×õ™Î}Þ¼â-õd ÆS¶3ò®T±b•ËôÎ;—ÐRniïè¥rÀ]Û@IÖ{Ñ£øCS{ê×% ¿GÔ6øê†÷"ûØ£VUØ Aå§Ç–£¹‡Ñ’TíMw´R/ ^Oöu‹æèüÇëkýLŠ#È™#ä‰ìžQ‰6 Žß%i¶Œ~2Qöç ,B]„Þ‹ÄPAþÞµú”RTX~wY.˜U‚zp ô„‘5î•6¥sW•4cê _˜M‘NMåÄu£#Ðß!RÐy(›å*|2µÏ¥£ö©Æ€6:/$ÞÚ šÓ‘¾v¯a¼ËÊU‡>V£^'í`$£ÇE%õXÒ'œç4žŒs Åï2ôß—ca²!0x­É ATÝ‹ ×ÛI˜VNW—®PFøÓ‚$®Í´qK{ìªn²f'»/òË.¡²6•2¥¶Q,ž eº‰ßBû?m62:.©qJ3W{Fº#X㪛DäCÍ¢šÞ†”gÌäï|NK™mñPED†ç,xNÍÒzì«çÔ$°:¡H•¢ò_VÛóQxü“ÿ±í¯y„oh.ØE!Žf¸ è,p’j«vÔ•,FÅ7Fº»‹nó¿h±E‹j…€Å^7ψ®¸ŠJ,»ãXÕTh¢ÅrÜï^c[í´©‹aíö M[$aU& ð˰“|›€ØAJêº £.`éìéð–8œ–Ný»ô.†bGæ}߆òCFý[…¾§{+Vƒa•ç`ž9?I„¦>šá—kî•Ö@ ­`ˆlmsÍÒiíƒ~f’ÛA –ô7ÍYYÉß„«· &¸$|KÓfp µÖæä;[Ø€xÆ2W”¤îÀAür¼]ˆ>j¾D¼‹TõÎÖôf‹üúÄHÜtåªW_•+ ˜†BR¯»Ñù‹þ¤?ÿ¦ûùhãì&éË‹Dó3šÆG"ö ñd%6ó#F²é:'4™š¡†ª÷äpÏÕž|£ºI ÛF’ø_¦`#ùeŠÇÊ…D÷àÞ¬“SÑF¥Ö¢£Çm`}-R¥@æ Žˆ)Ìv’g‰¿åäìÙi¨ÇìÖ®PVX{ŒÝqb4AHî»1 kŠÐTú.Åà‹MŠuÙ!©+þ™“ „{…ÌÂ]ƒjûŸò£KƒŠ?Û¯,âß­/Ñ†ŠŽð--À±p@n"™*5;E1%œãLÖ´Á¹žøx· ]_}çXɶ™ ªß¿K‘šlü€‡Ô0àYy.á6¯¾ ?Ãôæ9ã‰,ÙŽaPÞ¢ôOÅèIq%žvŽƒ a†ÞÕÅçÖÀ‹çãá •¨ÌD^t‹ý¼:;¬ÔʘŽ_„Àí[N8ÜsÑRÁ¾qfÀS[ʉ.2P,¡)—¿Cgr‚Øwˆb†V€Æ`I ùªÅ¾’Â%½âRÉÙ-9ý…¯àßåsSßz¾µ¯ÛüÄÅï=]çT#Dm[³¦Òv®æ:¯;+ÿOm}¿?=©îÇPìÚЦÝÆ»ò.µ\G¼ÃxY„ QvÁtð–F…ØkS¹€«ªµ‚OôÉÿ‡/}¤ßžîrÚ/ÃD a´â¡ÅãþAw4dÐîÉ)wj4–áÿ]EDº1›\â=ÝãKc#·˜v"Nh$œsm1Kô¶„= .ƋΔ®Ñ”)«ã4õÉC½ô‹¤Cì]1{ìˆÚåø›c!\oà¥Aˆ·X¶Üæ€øxÈK¯C?'¥¾Ø‚OÛÔ[µÜÇVHÙˆ”íÈ Cå¯3zeR:âÚë-pF¦ÖC™¥TäP”ß!Äàp2áW wp¼Œ -Õs6µĺý"Î,8æÔYm(MŒá®ÆÏI”`þË·I°˜©³Ü-NRcšÐA#\°ÁñΖûu\(¥ÒAc‘÷îºo¡ p6’—Õ-9ëÔÞ$Éðò4„ªÎÎt§Ýe‡CI€ôÈžu¡×õŒéj¸¨RÆO²+b’Q£4 † à¶Úûþâ« ù6Ov}.—/Da 2˜ªLýÙä ǰ{@‘Í“ü‹bìBÉÖ ±_IpÈP»dÐ.gzÐÉÍÙà£7|;Àté¦Ó(YQÅ'mÛ÷™ ;T´²õ¼ƒÐ–ò(Э…%.œ©1àz¿À¾TNm1jÏm€P¯ÚÀxM.8<ܵß»Cì¸LéF55 Ùƒ%qr³¥†_“þIð­h 7÷)dÝžøµÅ¡rfN±ømÚꯅ»97Ë¥‡³Åwý—);•¨ 6ùp§%W:»Xê’ÝÕa„½Öêa¥Bù¸±/T²FE™?AW<³ÛÈëПƒ'öÿƒ`T(~"~£kT®÷Wq gCÀ³à°¾A£Ihù/…âsT”C &ð­xh±[}8*Öâ-ëË0kÇ1€´ÇlHòAûßóö ÂCýiÖ¦éMü¬ŸD4mŒ'ïN Ç­¿×(¾¬õ3Æ×EÎIt|‡›*ÈüÈ4‚Gwç$²+èZ^nYÿZ²‚ÐS%Û—ïtt´ÊºÊçÇïá8ó5TY}2J ´Žä0Ñ8É!㶈¶5((þ‚±ï®Q«^ü§¹ʘi_$ÄKŽÌã*6äO[ÐVÖñß#&Ògi-5Æ…/¶¾¦™¤DEåµYzÂ×Dz÷å˜1ÒM6^©¸ˆªÙ6E¬?–‹6£{q½³Š:ìýǽU…ä°nìM—p§M©Ã2-E_¾^§ºÅÇo_Ýñé\óÞ üpyÌ .x‡üy’õ%ö¡Ñ”+ñŒ»É¨uŒÏy!4¢ äg€Ç÷–`Ð@Óe ïÄ M˜‚|«¢<3`”YF"þš²ý<%m¼4¥tÀiösx {ýZðWý™'8ðv|ÜñV÷†üMõ¿aÿÖá×Ü8›”’Õ®ðO­ÛÌ4© “2ƒ×à ‡ëlÄis -bJï†| øÜ®`àÐ7îûÿ)$¡4‡O@³ÓŸù×ë0üú°—»‹8Ó)ƒÊ©¦Ö •íeº°ãY‰ºÒXÉÄ6ñEa‹‰ÔgÓi™Ö‚¬ÎúÑX4°EM*‰×f[QÑ rÔS{8‹TÔ¥|—J™­Ì°¼_¸6¢Ýž·Ò-NÓp†ÁÄ~g{ü»=¡6)nåÅœ­a-ERÕ27•Ì0¹ŒUc1yTL¨53. ‘ýç¢Ì°éáFCKLÊ¥Qúª8‚À}&ªÚ X5Þ».-óƒJ Åÿ8ïŽ]æÜŸ€ÊÞLm„Mü~„ÀZ°Ä+¡ð_òaû3ÑsA”ÛØ¡´"S¯‘·nžœžŠñ‡”ÍLr ܾ¢‘Ï-jcîf…4ÊAŠJ.E9€Õ/kz{•¸EJ~¤*••áKLª¾ö¹)\ÕŽþG'—Áöº¬.L$ÉAnW®mæ1Ñêçü/v¡éƒGûx-½›Ì«è’JÌ w5ø P|{™ÑԎ±‹4ãÚÛÄ‘0'âÓ5འÑé$‡0Ýä7j^Ù‡cs`o˜×kƧ=’”Ìa 93h"ØM§Ž°‹_æÁžZëî}7Úd7ˆçówDŒGÝ­fDµ lû –eت^Eg÷J 4=ž>¼øª=¿\œ®ž®M&á¸Å;YEB áxûq«th‚,“hbbGÙ˜SvíÚÂxÆxì™É/;€í`E Ä9¨¥@UuRLrµ×?æ1îá´ÐŸj¿‹Ò„Ï;xñ€·0оôá^A‘jÑñÂq$„30ßû‰Ì;JdÛG± ·æƒ±¬áaŒ­nT€¢ÉÛëÏ]R4{á­ eªÈ‡3çÊdl¥ÓÆ ‹xaè±á ŠyEŸÉ¸IÔD$=NøÉñ÷8`%1aoyñVQ’ºø±Ùëò-Ûpm›jí®Ì?¥±”þŽK8aðØ©HêŒ ñ [úr+ ކ·bùüˆ­ Þšº¼¿rN—9«í¯Á¯ÞÆø¨(AÅó0ø2ºò¬*.~ê”6Ø‹œ=gÖ­þËÉqå¼Ý8ñð°ÿGéôŸÖêß»9sš†wyŸöå)ŸpTöñhËðá.Ù3УJU >ºkWê ªç¿nc€I„×9kã‹Xm³Ü$àÌaîž(¯²Ò¹áÀV~¬k*eø@1Mrä³"£×`; ­™€Ck>JÂZïᜠI‹©´-Ú‰%è*üص’‚eŠ4¦UªžãR9TKà÷ê?áæIM÷GoEYòøUntïa>­®^Ñ2Ôêô–ùöì~Ö¯»*ÎØ0(­GÍp[ŠÙ}ð¡öTgîY,ìÎAïNÕÜoþ"¶Täú!®úÇRF?Ç­MBj¤¼s3¸ö½ED†jLV)¢2Ö¢ÐK Kz`Ynà[OÅá”­Àñ%7µM‘5 ÷:ò‚±‰`V÷ÆŽ2LþÐ8—8®õJ먠wC¶.5¡9ð»•4äBü’‘ªàÏÈfnñÉ!Nü‘1ήot¿ßzhõã¡ÄTëŒ<Ë÷Bªw½­E³Ç÷5ÂY Ÿ¹ž¥ƒíiTå^ÁÔ=ž¼mŸ¹ÒÖcQ ëž“ª%*ý­Kd— u3ÙZÞ[ʵEr0¢þ‘»ÝÃWÍü÷}Q× ½qV·I'•SÙOù¾rGèsB>d¨~Ÿ=°oŠ+ݪ¾™‰Õúíÿ´Ý—…T9ðFæ'ž°Èç×z&6³˜öàÄo>7K fTe0¥Èß!·ºdÜŒhQ‚~8y[/º8Ó }®V ñk1û]ÚjðrH¯¶ŠÊV S·|u­•ï€J‘vHsWǧ蟾ˆLØà;”^Øsf#JÌÇ¿R øm$5#œÎ"™.`«©".¹UJbQñI6ú+Gð¶…³,¼¯õ¤DÝ‚®Žõas Q !)oX¹:!äõD纄üy•ûš0nwMkJeÖ!F¥ Ù_Ö“Lïï÷tÊ{’Éj«ÝÉËxe;­?‘?Fp>ƒGl­Nêe~OÒÜ[¥#ᯬEø!>”±Ô>D4ÜId+ó‡O¼ÃéÐ’í©Â“0Ï\ó¿yÿ`2£RóxOÇ KÜÑ#èVhÄçÜ;‹Ðåî¸k¶„ …ÆJš.™ò[¨‹@µ—¦´@´ÀLî`YÏûþÙ]è' &K) EÁ$Ò“Ì=¦Œ#upyÜì%(‰éÜéèuñuqÀ{ò.2d¡û¶LßEç”Ýwa. 5§ÕÎF?ŠPÆ S6Ábr.ˆ%õ…MË÷U”t×ø)ˆ1Åã­aÖhñI¨tknŽ€ý‰‘µyWHŽ‚¬°ü 1¿š¥™z0C‡HÎÅ€TýÄéHP–ùœ-©yÀ;¹ÿTlÑéÍ-N66g\Úƒâ^ûŒc¢%Ɔ´wü‘Ó¦Hê:…7=#;E/¯‹ÐÿæðO± „Ñ=Äð.â¾]SŒJS ïˆiœ2Œ«ACsÆñÖÆ÷—(…˼øŠq±«õ™³`‹LQ… -¶ƒÖtÞ­hvxØ·9tA†c¾Œ¾àNº£OÉ=ä€ µ3\ž9Bñ+EäŠÊHìÓ"EþÄVZÿº¦&þÅõ o-ÆÆÖ"‰¢°3B%ä{YwØ´¾ì@¢i\œ+gP"Éï£;«Øµ*¼Dž¶òæŒw?\ŒdýX…òB‡rBïí!h].â„ÿUÉ[oá_âgKü(2g  E¬ªŠÙaËý?åçŽU÷‡P'f/Ä¿ÇÅr¢ª•ÁäT¶yÌwJÔÊ|ƒ’v›.ÕêÌ•­©°¤é K©PÅäâtµßlгåªôœ„' !_²@± Ëã3¸ 'ðˆÝ) —*Ì $]yÅß?öa¬ð,rÖE6¢@Ó¹ŽÙ˜)'vÜ& 7Ò ­E»¶ee&è—¼êþ*z¬EÛÏ€B½9! H=™kîÌ¥k¨¼XæyP´…¡Ì5ø³wŸMb»IŽ#q°×qÊÿ9‡¾Î I† >ÑÌ@¬bÂHtæÖ×åÔú¶ë®×ÞŠ–[ VómPAHX{DÝ—6ª:p£-™˜)UÁ…þZ¿xÈŹÀu"3.Ï…ÕϬb>äĺ¸K}ÓºÝtCé[ЪѵTÀËwݽp9z N©Ôä9LË8%’ÛÎçF“ :ˆw@.Ý3E¾ËaKNºXd‘L¯ªH›µCÌWDÔPºJU3έb'\s&€4Š0ã¨Ué‚÷ÃÐþ’pÏw=iYˆ¦~ölvüié³w•/-´±Ø¾Ëi†9b¿%-+ŸÕK¨Ïn8a‡iéfŸãBÄ«_îéa6¯Ψp â¬fúô"àÙ!mŸ¾_H7‹ª4A¥.M#h#ið @0=PÍþfâ)¬†} ùºÒ[þ€HB™ä ¶=ÜИÙÿûµ8’þ7eI´µœ¾,Ùfæ\°ºèмóŸ&²‘2»PÑ}¿—OéJtûÞº1çû÷S]ëEÌÛ#1O]]ÿåZœ ˜la‹ò¶XWÊ!õ7Âà/iÙÁ´…ŽØ,ôò>çåüc.£Åü2â$±Žó„Q¶û‡¿ÕBKÌŽÉæqì,¡'r$Yâ;#§&Ž' È1éAX=®ë/ÌÿÝ ØöýðÀqÌbNhfÃTØBö}ÕôÀH¾*Îz¢wsü÷ø#—éŒi|ÂØ~àrǼêêAäüª%¬ µt¢Ëhs—un‰¨jNïp|úÏNãúvÜ¢`õXkݾ}!{Ý=Ù€¦ž0AÆ•ÍødõÕn"É>´ÓÒ½SOÆ Ö«èCEé)X—¬C…ð„JóâA’‹™4Èê“L0ýĘ-þü_?èÖ÷ÁHggTvKqȲaçˆÝ &Gó¬å¥kPj†æïž³*»!;µVÂãqÀ„rLW…¾_p¯êdlÞèXÞjÚ/OÖžÚ§ä ›¬‘’ðÙîë=6p¦R¨øI½ã³ñ„Ì1Qõ/$Ç™Š®¢`-·XHíì»Oü~œµâw¹ý{Ì꬈½nÝ>6Aã¼Ú !«Gçú‡Þš»Nzþ`Wƒ©Sl~üÒxAüÙ‰‹—\-i•1ꇱö¯’Ù¸Lñ¸#+Sgcª$8bh]1“dw~Ó„ÔaILúP¼mï Öü+.Î,ÚëþšƒŽ›–Xà%âkIKj2fÁE_’ô ô‰n¨èæaîöµëéÍ”ºÂõ¤½o‰çXú*Ü” eÙZÂxÄõ¾ ´*ªK:tÜ3£¿ÉÑUâÆ!GÒas»H}f•¨çkI¸Ð‹Y5,LÎÆg— 7ާQF" ¿ç Ü_À2=}-¾¿4–ji.OQÃJ¤°EáÖü®uloæLâ•m¦#;¬Ê<…¬>ëÊ!pÈP¥÷ \ݱ‘0ù„íFŽ÷µß‡ï(Ò —-ÃÿdhW®`§ž¾;‰p<–½er±nŒxzŽ< 'Ošà<ºT—tyĉuäZBP:æ0¨ÍEÖÑå¦è9ÚÝÇóa|söy}æ4F‘·¨Ü’"ŸHqÛ¿½EUœõ\:öÀXC;H[úÄG›˜FBa ÷PkLP‚éÖš1âÏ9#Šÿ"9õzùÖ¨y±òIWKQ~5?9t™v”VŒ¶ÿaBT´ß¢:‡!–UœÖƒ|a½*¾ck‰tLopù¹•—$ee‡íß3(*#+~÷ê5hÏ·é¼Õ¢Úƒl|•)aÔmê"Š©Ë†C}"""Gé¦è¹ñ'©:p­Õ¶÷½"^»Öæv+ S¦„Ž,°UGë)‘HÙ` ,¯‡Odƒ$*V¿mbw.«EˆRl¡5gTãÂA¾ç€ 4h›I#輋©ê?ÉÚEªÞ<ŠF¬0xdÇlÛçK¦'b“Ê"š lö-+U4A`¹+gŒÓ¹6.£¦B¬—gñœu¡yL°íŠþ4\©Ë»éno~jýa±)[íè»Z4‘ï=©¦ÆÁ2\lPâøÜJH(û6ýšó®ÓÑÈêw»ÆJNo}þæ!zëg»ïµ?,,²&º @ ´…5ë›{ú>‰˜–êujB₇ñß^džiðz0<„DÏÃùË›vŽ)^£õ×ýhQ"5@Tê; ,‡¥ eå‹‚«9yŠRÀý ]TÌÚ¥^cP½Ü¥‡)Œ…cyýo%ê«<ì'øÚkDzÙÛVF0îJ=ÁB5Jë!}Œ±å*K ¹¡Ò‚¡}-×*þ%Ëæ­ŠáC;ä^¡D2#~ºu=âyÀ›]Þh\l·k¥Çhm:Ÿ kM:J2Ñ ²Åá0ñŽúÙ¹ŠÖ¢†<™0¼SåÃv0K„ø5:Zÿ7³~XÙÆ^Q¦g R4½àÑ¡–"açÍâ0ýƒ)0ÏIÜ…‹À>Ñæ×üZ.‚¿³KŠ‚áÕèž*ðE“*Jï³Æ‰íd2áœ!­.Í’%'©ô\ÖY Þ•W~ÝU VËH3!Ÿíkx×/d³'ªu'ÓW?ÏG¨¨¨FÁÎ #I[PJãlfû1°·ž†pR¼— ¯:·óëœa•74˜Hèeàºíß×RãÔùTЙm´ŠñŽ^1sŠ‘)5lE½ØØÛ˜AWÃЕkc *³t»]™ØÆö`¶¥D™²|@P…«bœ£ê Q#Þ#Ïy! F5®ÔGüµ€©J'5wí&dp$€Vt®e@ Dµ8ŸèùÝo S1ðÇ-ý*À{%’×±wˆ$þ¨ííáW×B ,·gË ÅdÊŒ<,|^e÷Êy 7Œ§pEšˆó}Œ}Pø·kfœí³v^ÜH¼Ò°çI;\7‡rEšw» Vé]XÖÏ…q`æD)× _=©Kc¹]¯þ棲òÕÆ¢db¦™n®s´jéqy…Ó.&=¡*; H“…»Ñïv'~ .ô±Ý—m7"zÅú•ZÔU:x*ú±ÓÍÍ!z›ñI±ýDk«ãع+D±-)!##¢¬M\‰“Wó‚y~µõE»S׳ÜóÐ_À”TÄ×äý¡?èIÔ :¯‰^!¡®Sb¸5íÎŒ¾ü“*sß{†¤Ln;ìØÄ‡••'ºÑù'Nø3¢üÇA’ÑTkçü £_ɤ ðøD<$ø@lõÅ—_ô…?|Sœááîý~{+nŸò5]æZ"•Î6äÆEÎ!SêZÄÞD·,¹Õ;’Wsû4±åXÊ眤œ’ëµUU&L啤²²¥éçg†±,\”¦fŽ™ÎÕ‡_Ol$;ÕÿaŽÍ<†z@Ö–|IØ+½«t˜¬=zö¬ë æÈ‚©ú?êCìóÉ^*ÓÊËž,¡Íl?ø„®{ಘm4Ž¢Ö|Ê ÌäÏÂIÛ7몕4¿þU¸.ó9 \ÞK&¥[às´{SW;žý?Æ(Ïé² oá†Üve/ˆŠöü+k†PÎ8”@ÃQÅ3îKÊÓpXN¨ú/WÇ''Û¯rˆJA bzË–d¸ùo§Qz{]ÓôŠÊ ŠnM‹L…K)FñW9Ô˜»Ýÿz̧ÿMé²1Ÿ¯ú ~°æˆ-P¯Ì>ÇŽaÚL|Œêù®÷öÎ×@¤÷ÄUþ"IL"ŸÖ ÏW.ý>HØ—{Á" JsÝdôãóe²:8§ÐÍ)ùÔȸDé°²ð§’üë`ˆèûÌk~¯§n ªµ!½£&ÄûÌãL6_€uLSø/¡L û”û#‰Ì}-R¿®]ÇÈ5À­Ôþf š2”rsίsíÇ7»H .ÓL€ã¢DˆÚôFÕ¯Õ½”Ÿ9Ç^Vô¯ŒCš5 &uHçrþŒB§¹#¶©¾löQsÕÇ&“ci¼×U™õèCÞ^Pfª3O%hb•‹|MHuQ*ƒ2ˆCçO1ÛK)‘Í,«¶1! ç’y” Ôê;ÿpè^ìjn9”SÔßì˜ÀfCAgúm`Ÿí˜ožTO%aäM%ÔKª2ÔxéôÅ*VÀNU‡È°>‰žÈCëA.e“‘/~0›Lˆxb„‚+ì$…+è}+j\Ö3‘i¾˜¨¹<à1+ßyvÖ<Ûuñ_Êôfƒ‚*oÝ–ã´íVÿ ú.rªu`u¶¢â4MŸÌ)(œªÿ±@l÷‰\ƒ,䎻µtSè¢ÌqS‘EIÒŒªø·Ì &´n~’¾Ì)Qñî—Àx,³tºï®§èÓƒG3Ñ4¯ä,óµk *© >ä+“]A÷øv;Jó_ô––eöžE%9 <;icOòºZ9;w^“°ù"õÓužè /ÝòÊEÔ91=k!C±Bj¨Ë J–eƒ„ªÏÁ í|t?x'äëŸ9ýÂQV.V ) 0 ¸îûB„Ðåp~œ¶tR-S‚û2þØfT«ªß°4[@J®wš \@Ik_šs^ ~ 5ô2p±å¬¼IYD!õË®Q¼ÿë.y3³¼QAÔüŸæßP”=õm«Cà&åaÓÞ(¨ÉÃE8I²7öGˆ_.¸iÕ®ÛAF=½ŸÕº`:ú+­kºK¨b™kB=³îi1änx"²¾ÅžÃÖ»Ù 1}×ù^¥!ÃUá­e~|…C•2Ì2mKûZWœU _Më˜Ú½p­X ¯`KGèml˜p….è³Ø¨÷kü[×E;Ó§N1œè<ïÕZeÂ\‚¨h딲Œlרë:‹fO‰A-TF¾›%Š0['Ÿ±³å—l./1úœÂN4šã¼|ÐÿOÃÓ(!½¬Ù¨ªâ­B$ƒŸÖM)§WeÍ’C5lCÕfì^…±@’à€—Û r9N9™iP'¹{$# ƒFa¨ â6áq™”{¾h_$yÔVhCË|Šö€ë=_MÍ:‘l°žèm7TµÜ¥Û×…Úq 3àîÿ»ÖÿôVׯ£C?:CX 6 °ÞïJü}môO8í@^P°òL`k“!sÄšÁ딡º¯l5'nW ˳f4¹AeyZ™ÌÒ­©ñ“ä'ÊîÚ¤‘f\jEZ 9ËM"[ˆ´«‘ ®Øª#«ŽrNhê}“j €]'€K£Q4‰ „‚íEåÒþÝx ¾ûöýÙD‡¶u ÝšZžS©d;ñ[\$cA{/Z´Ç6&vëMCw‰n„Ô…}­sY #ÌÆ­áÖÛÇ®Bt¦¡¤A³àwÃoæà«|uq‡Š³VËWkGø•¿W¦§ˆcMV‚GoyÌyó‚Ÿ-„ E|à %"3»Öô< ‚ï€ÈXu·µ—HÑà5ê6ùŠ|Ì(½y|Ã,JvCo(z,æ·»¿`¤¯XÿˈOÆï7šI8Ôo2b[8¢vcy7‘Ò§Íwó&¨›ÕY—>ÎJ@“@F<ò{Ë}$½ÿœÙm¢‚=e9$';²EÛÍcα(Ø/…“Çþ Ë2ïûtøGìH9?Nß ÞiÃ@½EzºñйÔõu?âW[ž3À%@›‡ëŒÔ[>©´ 7›Ïsfõ·“bÞ§ŸY%dpO±7—hc‡]úH„à®U'ÕA1–:†å‹<øÁe.&ÔÉ4ýi'¼Å1{_Þ&¢mtyÉÙšH¨r&J'¾êÖšªáDe9R Ãg7P½3„ï#õÉ6¯…ç£N©Š )Öõn9 zÙûì8‹–97QJ¹A w¯‰“½säE‰K‘g”àM P7”€ÙÓ6qædaž¹N )±)J½q2gWg¡îðŒ †Èº ˆpƒ1榄õ"' ¯n:…³G¾Â¼í­Äí%Û¬Z&ÛbK#1*]ü?ì=&Œ´ óïžüm­r»þt\@K_»Ë†éÂ̺íœ7ì$»é‚9e}:,tïþ-úQ26äp´¢p+LüFˆëQžaPw¡íÿ¾Ó@·RãBJÁ>ŠýmF~Mc‰´f‰9GÉÑmვuºq8ÝŠA3úYÊÀ¾F‹O˜íEq?tÐ.Íc#õ1òsa§Ì?´æ¤Õæ`LëiçIňQ´(²5ãFùšPdïÔ~EÏØáóP(Ÿ³e„ö\o÷i›\ß&HâtèÂÀ¶½ü|i1š—`Ê–™Ë4Œ[3‘Gu%¤Zw¨Ø7î-æÌE0fõt|©â"ã´e¦ÈòÎ.v:W 0˒һʃŸÁÁ«éØ ™…!¡öËH579é,MxÃãv;3?y¨ó(£$…þDÎþÔ£l¡¦ö\^I›¼G?ÉTöÞ‘C€&Žd»¾u¬f.Øãü¯ãØó˜ÅÁt¡G-~âñoí탫yÀ†&I@$‚&à™¯”ë?±ätÐ|i°®é8^%cÜ¢FÐ $¹Ä†¿¶¢¥‘ëÌfßI.â#8 ÞI¢ŸrÝ‹ˆÂzR,˘䇾çÀ¦"c{ú0V¦dù°ÉºIÿnxa5Ì™ýÑ8ˆ%uºÙ¦‹µ ©jL÷þ ‚È;Dœ3±MK¶’'É¡šmòeÓ¨PA¯s|Ã|¦4G »ï<ßÝÀÙ8ÿ¡°÷ÙS)(ŠŸ®2ùrÈÕ.~ 4…o5À<»ËäÌĢƅ8ü`0€cj멌Þýº3GòùàYúqò–9 ÷ç@K|sövÕð‚¸(¾WÆN~šRp ˆðk_W>4?Ù~»ƒj´A¯[³Ì¥}H÷7Þ?Mák”£ ÁTÕ@Tî$ø» a”¦0Ùo%êÊÂSÁÝÔ¥w`esDæ%‹ÙƒÉÑÉßÀHwàŸ¼‘@’,HCñl…9[†pÁ­Hž@&¹~¾ð™#Èuó_Œ+#>úÛ‘”wÆÃžáâëã¶0ñÇ—‹ËcuݹÞ2‰|U¾ùR˜ýýíC†íÁ;ˆæ›ãi¬œ½èÕÜ| Ñ7p0¤vvøÓRöT—-XE·0R>)‡Ir¸ÙàPøùÇOÕÝÈCu®Ó @ó{!1ßÄ­Å¥¸bríÞ7aö4Á²’ ÏWÎ2 õxHo cª™7å: ÉâZxÆ4H2˜ç˜Nõ 9U:ô­ç ­÷fúßü2»ÓÆ_[=]앟B:©ð3åóò7P´+v ™ÿ:TûBÏðm(Û. ;@VQÝ GYM Ñ ¨©æêªwùÀè8þÍ´¤½i“6³›á1|Ê ûˆÃ®j{§Ç$\C¶ã¯_—£½öÀ¡o`ÀÖ0‹õÄ©{DeºÅÿûyžlC*› ß¬H£xÆ82žTh²h9€ìt€~Q cq„·óõoçÊ ’¾Ø¿÷QàncïÁ :üì’}lA;óÒ·÷`˜?¾šB±rO‹ï€).îÖ½F‘4X¡ûz [ìÎÙý¢—ˆ6á% É‹’ Çi1³F8ïŲÓöð®ÐÝ›š ­cç¯1æI?:5 v·1N;%ªÙQk7!¤îÖu¨$9­Ø&Ù`ëÁqàoúñ®Z•€dÚR(k€¹z…þlØ¢¢¤Ô2ÊAl·±Íºfªby³°]_]ª1Óó‚£b¶xG*š‹«Ææú¤Q›yˆö6m>{vJS)Özc´Œ±4"kd7a°Å›ë[S¸ófDqŠL8x[y8x’þÍÆÂwìeòVaªÉòbm穜b–#ž[qðÀýñ -–“ÇùÚ­ãóÅ^‚hþËyUöRÊÚ°¦l´¡[òíuÑém~JG†8 à^¦Î‹/°Jñ¬Ò<ÞÊ0óHZ¹Ñ™½¯î\½r~zw#]ª›¬âÓ Û¿##ä—5!]Ô¼*k–?8t×Q¹¼GKÍX«wƒU—~EÖÉß‘£-ðúm&ú*…<%4èn˜‰=§àÆÖMR"KiÃââ ¹²ˆù8™¿¢è’HüŸáGXVµS¹37ç@LH9™6wÛXæj„ã$v¾À5N‡›!z•EÝ~¸ÿœÉ'ræUŸtqæ‰qJlü+brhÂE´>ˆ¤H*þ±þ(°ÛY =ÿÍÚ1=4™ÍOE+æ,¨ƒ4SÖfèS~žÕF̺袹­÷NÂ_ ’@q =~|nUǶ)EÒ¾ÛØÝ…t˜y ¿‹p nµ‚\Ίç9—¡D²¯^Î)ü y_" ÷WZ5KÝ7IJas,¨ÆPdÉ…Ïî°ðU´@-¾Bõ›€0Õê’Xp¤B4|Fyô³ƒ¦«„Ñàû b°7·ªn5«+í¹ÌŸ“ú®N8èõU¹:{MÔ $|GrAC­,ªôàŽÕpx;ؤ˩¿ñb:â˜/“}ŽWFÖùDM@Ðæq, aª¬BHwg|Á#”º¢^Ñ›$çGeYOä$˜3ªÍSo¨Ò,‹„”µA¥`ïÆE|'œ «cæi´ôŠ{{q˜K˜Ót‹:BÑ/Ë’ŽÈ³ â;øÑ7ýL‹è)Ëú¼—ƒ``e'çŠÿx‚<¶Óùc—qhV—Vh á´ÐÂr”Lò¾~%ÔÈá&#ñšn 3êî=jYô ÅX¦â%ÄR-KíxmØülëˆÙóÄOe!ýuoÍpdgèÝÁì5ä·~Òʤ?PäĉýØxÆC‡Tÿ–iÆDìQ {aýØú™‡TŠ¢±Õž§Z5å·P”#ƒ¨²—Æ&Ká?îË Ü'9|d¨¼Ž³æx©n2ð!ÛFO: U|Lx)î+1±žªÖª¼è°ä §ùSŒN«|\×3—ÿLýlñŒt}|%ÕŽÅà|ÚŸ–})¤”ýÇ•|ƪ)³a`Ï~ÕT0Ô`ðoR½çEwÃì*јô*U·jyûkŽ´vH½²fï|ë+±rgˆPSw{4áÏV4<ð<8P*—7¾|àd<Ï\@_×?ó’Ë1~ÆzŽÅŽN)@Æ6?çF¼tè'"eî:`?ªðÙ´6vcˆröò °›’ça’Ò¥h_—ýÿýÓÝ‚÷•ù§£->ãETO…ÚÆ@´ýûвɮ=ˆl“öexýZZ‹þ 1a›³ã‹±`€Ð÷Z 5è*^Ýç5ØÅv4]ŽåNíʆ/ÀÛ㑟ÁqF4´¶ÓNá»jkxŽyÈv‚±øÄ†-yQ( 18:Ñíò¿L„‚ÜWŽRÙñWº¸ïü¸r3Mý ƒž£p:Ž+²ýd“J ®¼òð ˆÖ¬–²Æ•C]vO-Y8GmŽƒô¬Ê8®.¨‰Á+ºqQM³S]f=ÄèEi d·úOiAIPxÚˆxoõ°‘ìC‚O¦YÌgö±·€ÉyF}(CØÏôIÐÞ Ÿú!©õ»óGçGŸN=›„&bw¶mMüJLxtAÞ€ÈÊ1IeÉ`ÂQ!~g1¸…YÐîU7عŸQn£ràÞ Ž›ü5ïßti_é„Y²Ì*]M†yÞí¬|§x‚Ž imYç8w+÷äÄ_J)²fÞŠÏ?K}-5ò·Zgºƒb ÿÞ Á¯Ká1'Hù˜Á ?Ï€&}R¬µ±ƒ þKsôaéô3ÐÆpP€nB¾“<ÞàŸ;+¿% kâ“3<¹-Üø5shw½Ï¾BÌz-·>QÒ¶?xý2çf[äR’¬@¿ p°þ>m™,™}z-f"ýŒ¶SpÛ6”dªå«jÁjuhXmU5gk=õÜÑDŸ„L’¾•£‡ÉíÑ¡HN£K¯¢Ýs>~ÇAS«™ík¨ñ¥ö<¢²Ü/gVƒÁ{¿l…NaÖðmô´È+weèƒËŒ8˜¾»Ð»Ãâ}übŒÞô„׿cdïQü“"t,´ú÷~;µêènÖ—úÔÖîÇd3Ì÷³‡ëÉimi–¨œðÐÛK{ŒðúÑï—×g]pïŽW#à»í_Bü\A?×µ}5ÙlMvâðQƒQb]`³9ËœkΜPÿ™Ò=4|-íˆ/Ú?¬cș̌.$Dùní`"=5ÜC þÙ0JZ‰9\˜Èµ(>*F(æ&ø%šEï†ûa‡“âÏT†”`Ê(ƒùUîÝ–¹,zá zœ";’%ã^ÎGaœõYܓɯõ‘ûœ®X :×·BeÎäÀ:“@°jÒdˆ&F¤ÍŠÊþƒ2FÕ{Â:Jtœ¾ç(4ЖB`VªkõÙ5 ÿ¶ë­Gð±6±'ȉ­*tNÍ£”)¦€}+Ê“ñÝõ ¶WSâê±®r­#*¢ˆí¥ÞxÝ?R–BvzJž¢™,F a\ËÄ“òˆ¢!ì±›æºîë›ÓjÃu!ûô~» «íQ™-†<¡ è|˜gªƒ3pW¿FDjÈÒÎ{nØï{ª$í¸)½ñâ*/ãmO'ñóq\+såF"¤¬?Ù¤XìªdMÃ()¦fý`{Í膴 ÈòB¢G’È;…*ääüòØRñÿÔÆHÖ%.cÔ]R¢Ç~Ez'Mó–yøà°V].«¾H…Ÿ³ Þ؈ص7=NQ½Ü€ÍW)MátŸ}í„ödéè´t’„«°`9ÃVàs˜ ™gqM(*9œ´'´︹å'Õ~xêúîš*ÈŽ3,{NJ„_’:—e“ÈA5ƒ ‰ut¬~iÜ]^·}M&ìtÓ´ÎÒCÁi”®>²öœ Rm‹t„nžQïHîsÐkJÀ£¡ÿSí’È[ý‘Ö•GºC,@eÚ ²dMû^Bu§‡&Åă²¤½ÙÿA×" Ì4±â•©BnH{Ï‚Y󎔇ÉBΙá-îs(È~ ê @‘—–‹(ôn‰ßÄ]¦J¡†Ã§5¤U|þ­qÝt¢Áù N/o}#I;“¼/–¹}š;û‚³º~ë­™þžKR|©x„Ì cª>q‡ ×ᲊ ÏÇûåù•Øj…ÐF+¯b°¢|'TK:–|™gõ_Pq£šéͱ@> éoàšŽ¥‹èPJ‚_6[g#àxÆ´b+ ,eðícƒõö·Iëbµeò$öæckKËÒåíRëÖÇÚ`XÚT+‰ãYbᲊov£,å0ªn%~’¢úñ&Òï ºŒƾԖ€þÂàR™Ì'ð9X ëo´ôlAÄß³"pE®PRËTŽypV¾A8oÅ©Øwd‰ôéYîîÊWQ¿é±àâ¶íF Ÿ_ïÙ{Øš #ç õQ¤'‰­…hN®ü¢bAnKx[°ä(Ý‘iÞ\Zpb 9€/Bp##isÙpºæõRµµiH€%~첫Bm˜u¼éXF:ÉI(X+—ºò~ò £ã/=På~°€ýÙ‘7nŒ¶¥ÿŠd²0œ¡°RGV¥§c½÷š‚%&׳*ˆë³PÀ•†îPÔósŒD‡~S¢bó¨ö@enCÍKìë` Yçœ}Þ©Íh@Xi¬nª¯('|^¯WDA¥ç¯i³“L¦]›ó:—F“FJèŠXÿv1H{Ú⨟WÄ%ýEúÉbe}ÆðØ¡ðq´¢<Õ’{T#RCõC\dl+„檉ÖÂ’î¾ü{‚ŸŽ¼LæýhVÙŸþÝÍvÚogć°0•è ñ¼ ¯d”ÆÙÍ¥¼´JPV5;LH‡@àE}Ú¶Ç•;ÆÑð¬ÌÍ6Ñ™è`+%ëòÇd?™Y3ÛÆ¿Ü›œ‚k‚@cþ¥ªïƒÃCVN{ªÕ½­M%Êmh0²Îô"·ÿñãizÃN­‹«?;õy<ÝMú¼ z3Tdhê]‰ôø™r²:û‹OƒõÑl%Ä:‚¡÷Ô4.ÅÍyØrEÞÛ!ܨΊýçp!ìHžRüÁUGKˆŠèub^aq0s®ôà_¬•|"JMèÖß›ŸÍMLßJË>­.†kË&;ß'u˜}(}¯Á7KÕS¤I§Îe Æ!œÜœÈY…¦`È;ŸBÎZµµ8%Eò`±†Ùößå"&„¿è¢;˜H£íÆPÛ>oºF—Z«¨³l@¨/z ¾FFUÔ×á#S'Î-ôˆÛ’7 Ãs÷€™˜7™&Í ao‘§™WÌ£+_,)öé±´äœéî¤áÜWùìU„D½aùrÔ{7‘pƒ `Žú)E–a ˆU—8 ¥12’€¼û Mû7ê1t'G¼cð˜-A³:âò‚Ì’²…—BT¦&±ˆÚ¯xûX“ß6±˜³<QJ7f¨ˆgaT¡Xú|\— Ô5ÆÛ]Cþe`Tp"<†›àÜrP¥¬^(~÷Ítþ¹}ÄÎÔZ£ùŠo‰ úKS™KLÀ3zÝ Õ0ˆèÇéxë{5ÇÙÊŒÏvâ¬v7DIåä@ øÙ:6Ã!™Jt¿©»¤”¸ð^kBð ÚíÊö]7ªÿ»+a"¨Ž5¢Ö €.OÐSÌɼäz’dešl–H°‡»úb1/«rNuñu9Ïäjù€n DrðR3‹¦†‡êø ->)ŒâͧJàÇóÉíxx•É»Ø:Å` …5¼ ÉHoó„£+°’à§Cš¦W]Þ ˆô}4<~Ëð iMbD_¡íçÓû,˜A»‹môyK㼡 Àï ˜Y!_ã:±º)€Mý¢9Flk¥¼_isQëtæ¥òЀu¾žá%p8 7àŽø¯þrVÔcÖѱøøü$ád`.m#ík‘ëjµå …KQtº4t ÿ|65È@š‚¦Wø—,nƒ–gU-þ’V »°ŠL˜÷vâ'…ï•j6}¯‹v´p–=ñ#a”Ý2“nn6E½-ì3ÑŠˆÒ9Q1Y¹ˆËï«(ì+Ž2dÈúèwæ[‰×ÃàãáÕæ{i6'ÓÕE)*·Ìºé‘ý\àuo®s ÀR\í˜GB„¹¤‡¸ž]ÒjœÇL£Z‘ýè¦w=Ÿ^8: M\w†ã‚§fÊž£¥Ë ù%„+:şJS ê“P¤N~ þNÉ㥉a ‰ŸNÿYP òW%‘e½giø*›Žî‚ߕɠî”GÃC³%ý¤ Ò´“–Ê3ƒVh2À³ï›’¹z+#pð–>ƒŽR8© ueˆì àazðKAX¹}ÙÆwÆwg`=_œQáµÞ툉0>RCæÛÐñ)þ6Zýnzu‚=ùç-ôT;§yÔÖK„l|–ÜóÐKUзhÞN‡Cæ×Ô^]è_]cù¾«'Ã>~ñ“ñƒˆ@YxÅaÇ$‹EnIíºw6 }ÐNšœ˜³´gséðÄfH½aÀþSÒñ³õŽ…$ñR°_Å7RFu#)R pk‚‚vRœîr8òþÒ¯/Â"õž$ËŸ,èkJÐ0±¯XLñ¦}IîœZ Y3«L ã›Út°§J©Ý°ó•ß&T¼y.Çšä©ZIŸ‘#Ĥ@/°6B… V#¼ð^ƒ[¸£0s‚ì¼^ü†6üz¢ù_ ™İµ½HN?ëïÉŠvøå±ïXŒCTb/ª(úâÃdæb¹5P¿@EÿâˆÑâ,JãþÇxéWƒšv 7Ž‰Ý»XûÔ¡‘ÝÛj+²ÙåyÖè ß³˜V›§õÙ÷‚R‚¿ÕƒÀ"´Å†Ê,Õ ¬E‡õ+¬Ø1k‚á¿ îò ¸8F^ë…¡.6wIðTÔCõ"­ÙêŠD‰zè>«É C¨« 6X/ئu¬zev·¿®€N¢«ï¸»ªÃ®›ÌÍ+ç83iIÉÐSw%M^IR´£*aï~_Q.‹÷…ŠÖ¡tÕ_õ¸f.ªæÅì·ž_`ñhE–¦áUÜØ}íD/@©@>&5ï`ß²8ö( ËÆ6ö6Ú=ÓýMϼL G¢5ª=¬~œã é`%”Ú^3ƘOÂOX¥é¨Àz-¹«Ñ¾CQ£;˜ÕD6ŽÙ¢'‰ˆ?ÅÐE’1(iâ”z ô»þ­{.äPoÖ©ФÀ½n½žÚBÔPå¹ÎØóþ J@71̪ó¡é¹IÇbÄMÔ`–Ríëæ[á”y±§¯ÐTIÙ¡Ÿ÷b©¡Œ2ÕÇ{/DÅG(Ì/Y·m¡EûÉíˆZÅŸ†Oi’%1žŽmÞÓ¥­:igyy‘fÚ–y ÍëxÝMú:ÍépöØpÉOø{Û‡Ô#ýçVγ}!3,1Í©îá?-_H'yÈ–Ù‰à6Ý Ù‹Ü’#È[E|A1YÉÒ_u >ÇjJEåì„6,PUù@¯þFŸÆ¸õ¢ œÜT–’è¹T‚ɱZ°à¼ÔÏl^yC;°—¹µ8ëFç{Áepŵ¨„®Ç FrœK¨®Üþ³RŠ´óBƒÃ¥}ÃÐþ)(±„6$C¢ZÒ§ØÍ€aĵZfÍݧ 3`ŽÊ"H’·ä…æ°¿ßwŽ=É!1Ôô´„áWT\Ý©¥ˆTqãÇÝïJùHÈ!0/¸G{:Ôך…ˆšË™-Ñ]Œ¤7¢á•¨l1„T0ìc\¬¾óñY¨¡ùã‘'¡Õÿéè}g;ÝzaLÖÈÁoO²Á´äÍ{ˆpV¥#ÿ…2}†þ6½óŒX\±„Ç3nÂS ,ÑàNüuf-¢Û%¡Ûf¦¢E–ß§ÖÓÏúð^2'(ªFŸC$¶hBˆ¸;*òÄÞ§7*ØÚGó@¤Ò¹¹h°ÿ~ƒCu$YOŸ@šœŸ\üz¦P¦× $°›ºþpÂ>zÓkÔu[—ãíçÊd‹¢âˆ_ðCü*ùGÍëy0_­Li_¸t»„û?¬­9y8ÅhTŠšîcttvÚ:3ž™ÛôaŽ¡á“ÞJP6Ñä¢î€õÁPÃ*wÄ̯0ôoí±¨Q· &Ær/äæím{“?XáNðŠE*ÚxØW¡Ðí©å¿’r¬Á}Sn'l6ÝéÇCPI5ç·É2òW7 =?Že]<R iÂEׂ'žy…·ÓO{h.d»Ä‰åI·`žR¾ä8ëú²ç†Öséweõw½J=€ßµœGlÊŒiܲ¼ˆóc )’¡Ð'£þ×Ê$ú>/´ó ú*ú²Lß8¬­ à ÈC\ç-ªd¯BÇg_löá Œ^ ªG‘'þÃö¤õÚ7Åé€a¡ßB¶®=ƒ\ˆõSÆHJ¦ƒ|;ñ&3þòhÉÎ[A·íVt×9€¨Þ˜Óûš&—-êV¾$_yXš{x•½OD-i¶|?Hž!FW‚­¨Ūå@-îsɤ½bï˜j Ç‘”UA½@ò^7–üç¨~š|âî –ŽàÖˆ„*:˜ÚÇlÔ]EŽVÃè+“ihH½„)ÐhÏ©²É2be:ïüX—ݼؖr$ðB’3"$ìuJ2ư—õRN¾%i*—'›ìõ»Ã#{óJæË¡ÿ¨¨ªtÛ3’”v‹Cþ*³#Zq½Ç~¨óƲöM<¼l‹ûð˜®X>ƒ„Òý[Ì^‹†,ÊP܈kùv¼‚)}‡òõÜŠæûR¶qÅ1‘Š6àêÈå_‰L;«'Ñ,QãN2•¹)=æ`|¨e¥™tˆÕU°Ù(ê6Kñ]ÃŒ…ùèxoùÔfq•$ÇG ÈØË‹£[”/ÏeŸP3™A£¼ªk΄Š;î­R®ÿÿq³EŽÒ0£ÄÜ’„(5ìÂÀå X±íãñDÝ=³Ç*™•[=kôCZ“ mÿ‘g£uòŒõÇJ\sÓ=“VÑ2=çó¹åùl™¶Óάò(Ðc5Ɖ1»¶C77\µ¹yýŸ*>Ò¿ÿ9º~™ç_H°O”ÛŠ­4æüt%Á¹ˆ0Ðs±·G‘²2²É0'Ñï™–¢cðÁº\üc4 o™jœ•¡&c}å¹ôYÖr£Ûðò'~ òf3^ñ·–;šú¼£)i#×ùa×qý·óëiü5 CÛMfâØãŸ»8¸Wî» îË“UøÔË6’èx²AÌ‘äùÉý×ÓäϬx~ÏÈ1¡¬D ~uªYå°ÃË>÷©ðöK±u™ödq89·ëù—|¦9{ÜHPÕŒK¯„ϼÐW¥mþÙKBSë+®½˜Âz3oÅØñ\ÛaìÉpHAzôî$ö:¨µ2€@à´(`´ë²ò_Xönù4 QÎs†äàMàΈ+î5é¹¹_Û¬ Á€Î)ÀT\#VMð:±,D„¼z7pºeÑ,*ÈiiÓûMÒÿ’A5¼­“#I5{É33Ií²'C«Iogj.¾Çwß$ÔSç£}d®bÞ +å(:¹»‚¹‰Ft?´v‘S®=ž#‘€`˜,W(ÐÆadúæLÁâ.ýIR™øöØÇiw„d7¿àW 7PFZq¡$eJr ÿÝ)±`˜åÖjÈ®½){èŒ>HðMÃó¤Uãâ~k+;{”Ê·¡?~…å KDo:$ Žì°4';àžmp̧^Š·–PcvFœå¾k;ŠßMÂ’H¶)kµ_V—Þµ˜h²c2ª­u¹GT»TA¨l'iÉG†j2JåÀ¤3ƒ{´©Í—ûúÀ$›: 2;4`püJØX¬6f¬ûENCμr$ý3"àï ÇWüŽ6Ѓ„¢ôE°–cáàÂæ£—0¥Ïäô@àÑ3$IþqU¿×£ÒÏó¤“>ŒÚäÍ«]mý<æiY5V{QÑHB.Ô±7MhÅóhÛ…±5ï[Ú¼nAÕ™ï˜1À/d~b*©J±w`ÞÙ2E¸¸éÁqÖ¸·¢¿J>¶HoY=:E³@nÙê©&ê@·ZÃû"Ÿe¸+ jl¨_5äÆñòLó3yµtìü¦ôåM´Û Ùýì<¶ÿ‘Sn"yò1+´qub/Õ!_C€íc’©5ò²_û„÷0Ü;ü‘ZžÑÉ×ÞÊ•¦+5¿G@ò_AþÖ¨`ÖÍÒŽZý1¹EÙ´?€¾–ÙÅ­ãá-d‹® nu5{°ÛÞ1Ô|^€RB ?au¤TÞ?yþŽ·aD輑ê$üÙB“ùÎÂÊiÉà°ø‡ÌúD¨£~Y¿6tóÖ¶gtYÿ¤ó…wrù(MSû3Æ¢pžwÍ|ÀKLÅDÿvTY÷júB_l4 6B{o ye±"¡2ÎdIŽöÔè—WŸ=#Á+ü$48Ðtæ ë׉D»T¯ÂdÖÔ3™^S^C˜<¹kÂ!îMß»ö½›^€ÏK}¯+îȵϻ't×{¦ *!(k;œË/©Þ¸áÃÙ‰½¸9^òšP,êÙÁy#À¡gvÞÓbw¯]Ô+Ïèz<‹Ü3|[Þ[Íž€Ò)@28-±ó‰ ŠŠ'*0†TÑ‚öë%õð½i¢³¥ »–áÕZ f…µ-•Šd˜üª’nXöP®ñ»¹X8äw1J2²‰MïS˜Qwë(…ŒvÌ{žëMº¯•€Ï¤HµÐÊ8&Âi¤S–¯B%aùé‘ÓsOØ7·\Ý€òÞH- ’á-¯ªkPòðLìü¤IV(oàU[²Î}»‡qKFÌ…BóÀ­ã“o¸ºë\¤äz-Œ7­¡o—þM'dŠìW=Ì`5 м¥$e술úž3é »¯öÀ%›·éÒ†Ïì}}üD˜¤OÏD3£¯ù j{~´¨õe+Íçÿ)(³GrÀ‰Ýþ0ìÞ…'¹a–FÔ›3 5¬?rl-›¹. ö±bB´{ÇtŠòXæIÇLKÅ;%7@ :eÊü» ­Ð'óŽÇܪ éÛcg&‹%ÎæjÕŸoW‹AÝÊ› bLÚ7”7Õ'˜91 ý“ôµ®™ ÿ¨ò ”y>RÉz¢×Nq'Uí ,MN䢎˜‹ŒÛŠª2dúWçð—ƒyÓ*N±ý<’Ydö”UÕ:´5‹2[ofÁçÅS׿`é^‚—ÿ•¢’¾×Éqcv¸’˜w)|a±¥õnÖh˕ۃÛèX[(Wù™-õ1/±yÅ(Ц׮«N!¹jÔçqð¢MHšÉ•¾p¹3&›»­À×IÁEïçQK0ÜLj;ÑES² f>¿Ö~^rÄ@à[x«ÜÎÙ*Ø(`èË1Tý¥$Ú(«Ìà?}•ägå0¬ÎµözOçN”d(F9Ƭ”` ©öÝõ NM•u}Ô´=J*ª¦ÀÐh!ïßE¯ðXEYîd;º[Ñ"¬%ÆÖaMešp$T Ë”úH ñ^?éw™ÿ»Uö„/›iÚðøÞ#ÆvÏàµVÅ/6ãpRØpE:n3jQ\Ôßî2)Ü¥ãDŠòI·½-l¤ ½ìJ^K`Á_ (÷K%óö´/8y‘ŸØÝÐ Æ |øIžBKí‰(,…01<ýbüä«)”YÍéWmÔáûè3½¥Tù=èzê5ø.¥z‰‘ƒ4¢Ö‹îÚNÛ­¶¶+† a[¦«¢_¬æÐûýé÷¡4ÂÍ0z#€=­îÌ* km¾),Zo,Ѥ *û­Ù‚ÊÜ4&x.=ï™yVø@Ê_É»5+Â':ºL­6ódd¹Z¿òq2·q³J,æŸÚþvJ4⟠;Ø$#A"öþÆŠFD¦_gÓÖ~θéZÃöq)Ñ ™P‹¡OEEô}´pÑžwU«I`i&á×9HÊ YüIëÕ³‰É¶J¨â¸(RrñÉ(`ãЉWÜ]+@­Wž9ÌU>·%Ó·6*qÇ7gøãQ…ú'ÌKöQsiëפ ôNZ{åìæÈ´q’¾t¹7õ{Ë@‚|Î ·7ÿ1±Ùvt*3‡*ñŒ*宾ºû5H*ˆ+<>ùõàøÝ€ÊWÇJM˜0°X´y‚ “Ï…{—™ŸÞÑY Yô$™%i7Ñ0Ê-þ—,Ê­9ƒêŒÉzä–ÂFN•ùBQu1ㆊô8j×(å6Ð Ùß#Œêó}FÓÉ‘€ïÖ.;–R ™Xˆ~™p´L<ö§„ë6Ì >Óãq e–EÁj.ôŠ2ØÉä¶NTp@$’%+PŠôäY/˜TãÕó¶©U÷í“öo@•_Ù‚_½ËNS¥¶ÌMÁ22&Ê ®Ì˜ü=Õr‚IcÌÜá(ûÀ .·,4Œ=Ì’ýF0^U§×ar(ë•\ãPsvÔïÊv¸jS_§ÝÎÕ×Ù- Ù' ÒΫÿ Ìà:–D;gÀô2@c‰ þü„ΩŽxRÍtj·MïþE ÷á¿Ô–xîÉ|lí$âvíÑ©š§ÓÔþ‡Óãv@݆hdHT0‰Jòµ / bû‰©U -l¦>·ÏÊyHy¾ÂŽÉ“a^·©—ÛÙ>k&e•àܿۙ…"ù 1Ó ÷l"iFíÛgŽ{šj¨ñõ:ádzØÌëˆ^H¿kZÄ]ûõ<Þ»:éð£Ý0“xv|ðà`ø$'8U˦eé9!­ÙMšDÒëÏLÛ—ÛZø1‚bZ¹u½Ò/¨u]E¢9=®’ޱ.²ËJdL•Ë×â¨o«ù‡µSS¡ÛŸâ½î²»lÒäØw‰Dÿ®*îÜ’Ÿ•™ èXǰ7Ëï=ðÃsŒýÿ…~¹Gúf2„=þº‚‘“G)šA楎"Ø=ü´’ž,H;&>›tƒL;µ)44#øhW« ûwö®«>;Øi~Lè“Í©04™ËLAV6ôŽènÚ=—< ›K‡4@ƒˆ™AE}ÖUe)3ŽD¶°ß¶Ö±‡ ¸9 ;@IwWçÝ$D>b ÆÜüV);ˆæÈ!u;Œÿol=e`àj?¦ô-ÆýFI¬œ-Nms×¾óýïò>‹<¬]Ÿ¸çvOùRïíË={i‘þstÓT»±@Ö å’óyÕù(o"öçœÏ=D1›-˜åD.g†?b(F“µ®q°»ùhµ™ïÇi/OaNçÊ0E„7’½×onÕKB£³¾ÑÀQÙQúüµ_)=EÇd&a¾‚•ùôan4®•ehÌ·R‹ï ÈÐ=ç7p;NæDÉÊxC[$_(ZwzUf„ÁN¾!ì“U›)ÒA|ýU­E}M±ÍšFÐe&Wi;‰¶qM"Vc7”Z(gÄ Žn´z‹2 =_›+²­+Ý)šyän=7äÅÿ.ý÷œ>ößU7»+¾„`‚zƒôð@Á\ç^K–þU¼¶/0ê²É[Y•ôºqÙç›´L”bÔ-Ùx¬²ã!K¿} %¶ùKö°” LHhX‡3£áLî~|+h Pá=ºJÖOD?-ØHo ³Ú¿øpÞš‘Ó¬h`¨š<•Uä ÞøÆÔ¥16x—#!LGŸþL* ½.ßg…üÿu±1±Ø?]Šî\@ÏPÒ¿Û­%8{:l4ôAßzá3¢9-Ý•ô%±7Ϧ}õ¹—‹áFhæ½ìè²`È÷Ž(=L‚«•([d#rÝ?ÑÝ&¢œæVMÅx½G™Y Ч«:ì8ªæ&–t÷™4Á‡ô ¦§×bæÃVÙe}…Îøo$zBaež’øéé¢Åwg‹¨—ijÕ Hº=„QÕÝI–Ñc{ÚK0â×4³2- aëÍVoµ !N=òá*+’Ž @ÉSÿµfšÚ=ÉñsDMþ¬c™olíƒúš#F_ tnC4îbäe%—·ö‚ñ~„À‚\2ìË—ƒ>š¹þÈïß)(˜ÖlˆáY@Njõ·9Súœp`;”ÕðáaÍk;á !ÇBF?V¯Õ¹ûº8@‚4#²qí’uìz[{ÉæÒ«j?GŒãyë’”[Wç9[æ—?÷ù”%rbÜSYKvGp¶÷‰Þk<8YxÖ»Ãf´¦®þ fÑfËhWQagÁi0›NáOU™ÁÖÙWM¸ÏœrÉe'¦ò0ÐÆf5XÀÜÅútÐn©Û"{µJA;ó\7œ\ýIµ‡å ‘2ÌÝæ¤ýØ‚ Ê?]š*¡Êý*h .çÃ}rª¸–ëAœ¤H7.R?ƒè@¡~ ©&/hÿχ—7®æo»á>NÛþÀŸ}'Æ!}ÑJ>p€Räì(ÖÎÿø?{_ù{”Ýÿé-N £qù_6ŸWÝñT7ûS—ƒ:ø°’ÚÔpÒ€äÙšjª;`×¥67ËNÚWx_óAEbrf¢‹+!$‹ ׃UZyèm6×o¹[º˜nÛ†aÕ”éÃMÃëî…QÚAEªÛ?Yž”ì‡ BJ¨ú?xTA »¨‚óÃåÝDT ˜ Udk1ëÓáÐ|3\Òd[)z¬H,!|‡ÚÏÑ“äZØå8v±½Žå¾[vùæ%_”¤Á·øù/`q#´%½áÛÅ[¤HèZße'Ÿ`Âf¡óÈ ŸUë?ûgW¥Ù[Åå³{e*îÐœŽ•øÑèÌwz|"D* wl]Ìù#QW‹ÕU`²ììFF6Mø'™¢¸ˆž}|7˜ß™õà!Ö˜ÀwJ½9ËeAÒvÍ@í[©VÞy#»R3)ÂtpLíÃïNôôž?—³Üaä-ÀˆËבeîNÀcíPUÔçȬ§f˜ˆ>Õ´a"¶h^á ±`ñ=@ôL¥’(a‹ÿðvþB¹Á ß6¥Ÿ;¡˜Û6¥+ðù3®KFK› ÐÓ/jKë&R[ ®r½0KÖï›hO| Ýw°gÁašÛ‚ãå/ñu°P×)H»úoMìÕÃò©ýÄIø/a$3Óî› 5—‘[¡¾í×PB`&¼pí„%ÇQ[|5˜¢eZ|Ë…ÚG i—Y= zÖbØq"¨›Ù"MФLxac_lûP³±æÀœC’‡­ ókÉ¥di€d.]Œ¢Bî‘Ô9m•’¿¨î KL\=¯í^: Ừ‹J™¸Éwi×cuó ”¾¢rɨÈõ|q–ÄÔ—€²Y”#•aK‹ØÍàÓÚ´ðÑm`ºà9b´ïòî 1(^îJ"•Crû€cÏ®Yœ –){€ZÑéx‘pέÔ7Fi©Ä§ÔTpŽ${ $ˆ‹ZéQ{—Mи™De’E´0!’¢Ý>ÞõÌ£~À¢Ïö\«Ø77ˉî pé8x¢­G¡×ôI¬J›5Qí&xɧ‡ÔM»Û&Ýo*Ÿ’â?f ú•5¤Y\㥇†TsüÞÆ*9Í}cMg‘“B¯¶\!në‰Ò›¥åKfûšçŽ­C±l6Ûu²¥îìpį$ÙDª”“ñšŠþë꟫jã•={c|&ôG¼ŽjçÁ R 0¥Ð\gv¢{xaƒ¨¡@ϯâÞ™{"køe¯o¢¾{›&FØ„\q÷Ú”íöÒžø ©h¨«e~¿¿šÔL_GNÏ#É/ ük-sÝ”Suã¯D·¹O%J£­)‚ªkô½ÔOa@æ³ÍUÒÒ¼¯†OóNáGÅþÞiÚ¾·ö.nƒÇ7Ûéì7ÿA{(äÿÈÚ–¶‚¬W>MÊS{[ªC¨6®¸WÜ Ó±#‘ ÍpELN¸TýK&Ø€µMeøi˜èÛ™/˜ÌxÒäºÍ©5bçeÏ\ 9ŠM©L¨Üv6Zß‘%wņÇõ2ì&…3ø‹îýíƒtÒŠÒ>Ñ:¶om¦Ù97Ïj^yƒ(íb÷ÐÚô¼Û3„Hr‘…ÎaŸI NÁ¿–Y‡3^ šBŠÊÛþuGj®ÌdVfô‰µ8³­hm¾«Ò±¯M(yŸGÕŽñ7Ó÷cÔ ~Á [a™ cdÜ*š¬rØ+?Õâº!+ígp6ÝȿԦ ½úÒZò­Š|óë´Þh Jd‡®'qÓÛÇ€e²•_Ø­‰_ÎxW2qUU¿~I/ï>Zo^ߟQQ}_cju%_˜’.Ê=B¨{„-í¶tm!a-²gE/Óî¹(–‡ÿ£®ú)ò9¿ÇÚ%ʨD…Êž .ôûY k_+ÿä­àÕZaÜŸ Z‚#HÎÉ ±Îâ•nFˆ˜MSÙí({›b$;ØÂ˜ëp—Há8ªñµ]ÚÚ»Þegêâ„g‚Å1¨ð£è®ÇL³„3óRRèËðUáï˜Å(·vX†±;L šÉËðþNúgí“åŠE¢÷ ´ë/·C/ß“ÒC÷"£F=”kÌ®'Ž!ù‡7ëgxú¯¯J·–ÒˆY5Ûÿà¹ácM/ÌSC%RŒ'ÐæX”n¡uø:½[5pA•*âO_·Øzž…B{?Â.9ÖΟ¿‚(K-²¿Õ AlN V¿áÀz™âxÅÂíá ºk»‡âúwrþ‰Ìcbë1èUljk„•aÚcãéù¸¨³†w5ŽH€0·ÉªV£!‹[W/îålYmó®rclTVê:8c¥¯Ê¢€’üʫ¤j¬-óßwú¹Ø–ö&IyÃÁØPÅÄuóˆY ¿&ÎÒ. ƒ+.ŠFú[m[ÛBõ„e朒õ% Cçß*>Ó»öžzä¶„íö×c‡ÑG0Fª5½“2HÿùI¯V”“5O»^¬ÙBåëÍTìËBƨ„¾²ÌÚxg8Á‘˜½3E6 ØC¤ºì‡»úi’]@õ_‚ äŽ)Ü×Û–iÞóÇ)Â!Á K?hh&™#ýH^E@Z±-\1ãÅ…Àœ·ôV‡.'ÑÚVçTú‰±Ø,᪷Õý¨€5„*£½l<=Óh’S›uÜ$$2µÖpÑlÅÁ*ž¼‹Æïuå-á%ÍvÌd¼f\[lRÑ.³žs¦OÅ$¯æå¯ø 7¬ü‚3ôÔZ(߸‡²ß)«=Ä×Ô*öåbç´­áþÍed;³s„´Âùï”±1 FŠ ²3Š+ẞó WL´÷Ÿè „¹Ð ÈR¬ðaª¤ÕÁ‚»ôF_¹Šbå¬Z÷ªÖýÃ;ˆÁ[ÛŠT%1J«Ë[<|§¶ìÕ5u§>ÇøgêD7ïh†æ–.½8(óÌñ35ˆt*ûii_ye¥EÒ–ê«o€psÔÙ55*rÌëº-ýÇëªçráòß«\z?¿ øü*ñ·n¿L®®åþSV.Ÿùÿw–fCþ«÷»s€dµIiü±øA€™"9µ0Î̯{<@Ãp§~SÀ³Ë»[é÷ÜÛkž¬6žš¡<ϰSþÚ´vº~¡?žŽj俨ƒžÌ)LPõ"ûØëÛÚ7×çÁöaw®1¹JèØÓjíĈƒ,hW!‘¡”y7‘X´Ñ’çbE¤dÆ S–ùí¡Ÿ`ª÷f–÷‚îAO¸kˆ¼¡DЬÌ:Ähí ŒŠ¥œëN¾ÒŒÞv²,ùà}äq7Ê=¤úz/ÿ Áú¡/b'$s.c’P>4ÂP²ª¿bäE‡ÊÔ68»K÷5T°?"×1É£(‘[À=ýÒ3´t@C+Sxm7n·êÄIé*#ƒ¡ýµ5ƒvŽ1þ‰ÒÉË!ÑõõflØ*·’XyŽ-ÉP': TÀ™œæýíOãÍ=„£Â‘±7ñ=•˜7¨†ÇÜK~‚Ú,53Ë'Ö»ÂÁªq>)íU½/γ­»/®ƒ~w¬Þ‚¸e®Y\“µ,§Iœ ïš3ׄ.dÊiC"•’uÃïàv‹)îæÔwˆ­»Œ+ûìðчÀuºñ«sœ«~L‘ÚvI¼ cÍ‚:rÞPB²xÚ?E²Å…„Š.æÓyšë›ÈÖ¦:à"˜^Íôç•LL0—ô³Ç.¼ïaFUx…ü ð cZ§Ø5ÊÐÆg5²ê—<îµÂ«™ù[™¼Ïñn l—´Á*íw«kZÒ@—^P{{r]M`Ôiå:!»W@ÓQ˳)-t2ë²ðlÒî†ßuÈ, Œ SS¡ |Û‡>º'iøS.ªÊá¯Ö l·^®K•—+`žÍ:ÞtðQ;K1Þž8£1µô(öÏê Wôþ¤h¯¨<é‘^4@ó€þ¤ÓÅlÕÇí$uur‹S¼1Ûôé-®à`ibqtnŸ9ýšy ì—©…Mž—¨~/ŒB´î|’7$ó r¿Q¾KçT*ü²u;anøŒþõ7˜p õÐ,óÚÞ¦XBS÷ýhðGŒ[ޤä”0ß¶•KØÏÂÌП¯q«l†8~ÅRci·oS¤Mc®C{ó>Wdk “l~tÒ|ë¶…2š°ÓÔ{f ‹ Ú` b!ƒ’ª3¹b]ù:2²HqÕDÊÄí–d€óY}(ªbüÜÎ; ;ê‚ÿä¨ã~I©ÎJ4™Äõ_Û(Ú,‡Ç‹¦·‰•9ŒG:å ¿¢k.¨+£¡z„ÑÛÎ>Ýê X¾¡å­ÄV–×Yïë,oãCÙX•Å»þ¡ñEéåpi.æ&VoŠ£rØÝvà%ÎVÎAáÇ›’´¸v,ÚM X@Qâªýý;-]šQhRO¸RE½15á'º†SÄW‘×£‹·å{Ô/ou©¸:H_• Ê‘ªÁ´via$*q<ë+ºÝ6;/×mæ¯î½ø`‚$©,›_¡â¼†}œ¶)È4bTp“k™2—‰&ÀîhÃË èäŒiâíD”ëÆ?ܰСÇÃr¦¿Jh”¾úœK`ðÄk>#q¨Æê†šÎþÎÞ3$nütSéŒñI4ñvkUÖXq*y/Û¿üýK·nPuûúEñª5W LðærµêŸ ²£ÿ|5#£ñ¥–`ÂOéÒ6.—ô5Ê'ì~…OI2߃š1ECÁÔ°ÌÊükΨ!ôϹJ*ßðÖ –ìÇsαŠÞjè*w(ÈU6è1¸_ÛÀ˜íLú¤½«uÙ¹g£öì †£ÄØQÖ!yäÂe:7p;ÿ7zòÏæHάÆ*Í©`6…žþ½+9(ýóë:(rgdög–=ÓÁÊíËr©ûCc l8f÷Ø>Ì}ü`Ð €( ©–`ÜLªö{B²ÐgZ¢ú/UÁ èY7ôhññ€I¹R;Nܬ!†ïõÙRßİnç=üVS^fõ:ÐUL<ê½þJ›¯À-ky¢MƒbÈÌ!àÒÓb‡@X9ì‹ ì.^¾pI°ÜpµPh5 ÍßXéðû›°Ö‹­Øýÿa¸s úl¨5£pôjˆ|×·µ¯aVÿÔºðRý¿OJÊ,¢z”f‰š/ýí*žeΔ£º/*h“cËwme䣺¢\ö3ÚÂ’|Ìò–‰¯*©Ôˆp09BñÇ/ 1eMfq†áׄ4©ï³ž1l¿íª;â}Ód^ù@/cãÃbÑ⯅§ÐÓ”«Fã+3ˆ9ýáF‘ó,¥mˆ¯¹»CM• \|4÷.kY/ Á{ÇS¢Rñ±·'J|¡ aÏðèb½ ±—ŽEÖü~÷í½s° WEvÇÂ^Ò%A5ˆ³KÚŽÅèî0ZÓ]Ò÷nް¾•²SÖ75V¦¦|‘U­=˜P*§ â,,¤.d¾.‹Ç…iÓ ޝnâÏR/EYȺ—äyh€½rüY´&a®©3¦*ܽ:ËR¼bÇ)]kn?÷†ÒÀ]úåØ'“†<±Ÿƒ¼Ü‹ò?-ÐU걫ࣞ!Æ@Ò²¨ÿÐqÏ|!Þ1Û‚ÁÄ»„¯¯Åù>}xTwÈ+ 'ò=“÷.ÕGåþvWf2~”£_= ƒØò… ‘Àp­É^ò *bO)©¹†Éû·ãܵÎ/ð|Úþøy~:õqÕJá&{{"ur\ÝrÄ.UíuÌp±²ûþ‚“󗜆º­¼IœF÷6‚‚v`/,zÚ>€Q~›Ü^ðk8S¼Æ`íuOG¾«ãXðœ`ú*^ò䨪¦ã+&Åæ-ÙxQ9Â|òqývI™MÔhߢŒÅVÝðûw懮N‚â»’Z²Û[tŒƒsŠ‘‰ï®ÚœˆãgXÔšŽ»KŒÇDXÕ7 ‚VhÄ‘ÌV1q§}§ª5—Wƒ¥‚ÊlÓ,œ3´é¨õrcS‘ NÿNÒgMWLˆ’.$Ä,éËÖ­H~ÝÛ¹*±ä²e,»kLgʆØÍƒ²$VJqB£¯£bîƒKÄ›ÕþÈÏšsfd¤PCtÍ¥’Ép]1]oÒöPÏqv?&–¤bõl‚8ß'­‹‘»Æ`H_äg¬‹&aüð»¬zÙþ¬PFÇ¥J8ª±Þ]?5 Ýóù„ÿ3ù zõž{:©¤š†zHF˜Y>(ÿuŒ ÕîÞ©ìŒwù1¸¹CëÉÿy:¿Åæs*[Ô¼4Ä‘/êŽßÏeå hÇ\ìÁUÕÆÇ„©ªë朳ûº„ç]s™ð= ‰YÂg°êXHL G(Öj %0õΉÓû#ÏS§?kìäx½¡Y{ÀãÌ>"tê잆* êD %ƒÌÉÅÇŸÏ §Ê(ˆáÏ÷2xK,Ýa]ÔK_L)¸MëË/ò6­ä±ž“FðŒƒœdyäGF‰„š–náú]\a0½H\¯â†!„ÌB•)[.§“ÒùÑby®‘,x¬Â°l"5å7¡£{ÿÜiKZÉRš=/µÆ.?^J`Œ_¸ïø××ü½{ÝâÏ&Ð ‹6×­¥Ã®°Ÿ0|IVAÖØ‘f:+o“Ö.—ìf\35¼ˆþÎÛ5Ö‹_8­œÖ­l¾Ç5ªÎ§—Ü ò>V B@àƒ¨àð”OuŸÇl¢×FRâo_s!péjâFfßÓóÉ™üCδ -ƒÇù@‹í}ë”9˜Œ±z„žš*Æ·W”~#‰J"! ¡¢/TkW×n÷rr.g^Áh®Åû6r°ï¼€hôg ªXÌÇÈ:³uhâ…ê´fùÛvéi<ñ¾A!€ÿB÷< Ñ€A£{ìEüOûÓÁغ_Å·EºP«]ŒYʤtuÒJ„φž*ËjèŒWüÛ'ï)]}e™—-ê(K …t¯X „Šqb)Uf_f‘šÒ7L“ïˆÄŽ«Z¸ùý xÍ“#"‡Køq]Ü¤Æ 8‹àU2·ZdQØÍŒ¿¨fiÜ9Aõ†\Y Ö”ú—óñœ8"zºá¡Müù:ž•ŸÅX:ªª¾¯ZY§h ¤¥îhÙªü„]%y*?8o˜Xd +Ån \¢è„oÑf䓺†\ Ò:ÊÖê ÎÊ¥ÐÛPÈ®¨WØSìÂýkã›>¼zˆîØ)m6”GÑÕm½CßV¼ö¤.%Œè¬hÓ%Ýd,³"”%Ö©åM›:¿ÌgLRÿõ’˜¹íùÄ€QC#üYP¬¹èú’< (¨Ç‰ž™÷ ÏNíØ‚ 2ü_pBˆªæ!…ª‘™I uÛ“¸ú#ßú(ˆÄš”DQvÖ«Û°â—L5rö1“§PUÀgŽVSóóoEÖÁ…9ˆi½Ïh³Á®ç<£$&IÔ·OkµÉâp4€'-·t4jgíÅ'¬PÞ[—tÒ îãÈ[é&`bFÞûn¤llÂÊ„žS«$9ú8~–Ç’¹p‹& '{i½:ú½”û°/:>$Ox$¿~bð5*&õƒ 7Ç Ü¢ñó„ýG—^ŠçhÀÜ\†Ô·•c·ªÐ£âãü›œ:aT–|aÈ«¸¯dàûYñAùøµð šÈbBZE¦äƒZI›Ÿo‹’¦êé.&ëtêåÁÆ/x›…4æßßlÞ<™]õøß‹pçn°63ÜC|ýAzŒDPl¦Óê>¦^dVŽÜÅ]‘»êЭ<ðô’‚?˜0Qb:¬ FM…Jd³º&£Í ¸Ñ>µßüÒáð^òî4ˆž:„Ó%k¶YB!®?T—+ž²-¤ÛÑÒ£Ÿ‚MRÀ|ü ˜ðH_”‘÷²‚:jáÜŽø˜6dÐu|ï.Þ4جm¿ð®ÕJ軎|ž-_œ±aÔœò;NöNYFsÛIlüq ÿa> —pâŠ?U«ôÄ.Z×þÏ Û\b9ÚÊÁ=]=:ºZ¾™a³±µ1YsrHpY½ô¡r¢KÄ  Ÿ_Í_%bòÖ¯PF§è1BÎrBo"¤’œI™=yTb &ö¬ÒBÕá–LÅ¢pÞ¶B‹ , z‘6Ìî(ènÄÐF8Y|óD÷Ðÿõ·b…´žS(£FÕ`â/‡€»†“V1ôÃv†‚Ç(ClÑW¥Ð󪑳Ù&ÉUž9Í<óÿyÿÄŸA¤#7»'J7Uôô²éŽ‘F“$¡ŠïBQ—‘èi\²ß"›ü•q!ù÷ØÇ¢qágîÛ{u_NÊ:¥,1ÜÉñ¿ÌJ8•™Ð3Ÿ‡­g¦a|éÁ‰Ý mã€?rz€Œ1Î]Ôÿù:\1ѹ Y1ô‘Š OB9¹WØžŠˆûUŒ™ºÖÐ"Ù½°Ä7º¹cYý`7œ>ú ¿Øzz˜wµ°CLÞ Þp³ ÕaâNì³87±¸Ò‰Ïü´À\1¹°õ:{o¥pç‘!Úí9Y­žLÂN[Öî«*$#™Lš^-@}§â·œ*nÚ…5 ,âÑqÒæÙÌç”»¡…ËÊùçbºwôÀÝ¿„û´áïècÊßu8µè–Y“°#ÿfïWXŠóJÝé¯^O¼Æ<ìIÊAÒzÃCªJyªm¾‡ã u†n÷KÌSÌ0pë…@‚3¢ù§bñŒ.i‹‘·k:N4«²MÖtÝ}mgÈC3†þJ£w·áo¢Ð3y'FW–µ£7Ö¨9‰!þ®ÇN/ÚNk™›šª\DYÿ,$J¤) —ÒN›ëŽJf†Iÿ›7)¾€Õs n…‹Ñ_sQp6Ó¶ûyXä¾wg tqÁöíóìÐcÓ;rGb¿„9Ä·Þ‹‘OyÃmížó*8X"ûƒŽ!ÒÊÖw–ñ­’t_-w3;{‹š^­cÕNŠå Åjg‹é!ÿPmÒ«áN_poIœ@±ã€Nbõ¨’Í>Ú§Ù£­h&m™;ôtžBÔŽƒ2#’5v±VUl…ÉÆÒøIý¨ÝY*äËןHщ[jw91¿Ò Ï!ÇÞʶÿÁ7Q·#¹²ç5 ³f²òʸËXhá,ŽÛ‰zíÝÖ‹ uÇËG“‚‡Jr‘vç¨Â“ù`.¼µ»¢_hWþÎ%ˆq„ß¿.ØhŽŒž äX³-½ ›¹ÆÁéõxæxç’)'-w÷è¾…§µ «|+˜Á׌D„·“š=ñ)%ä_•k+ÉT§BjßòWÒ ÒRo~¦PÖ0±ˆ`Ä/õV…«6î³ðŽÙ:dxº*á rþ$ ¢÷›äìOcm/ZÄ__9È#¼rwå¡y”œ¥ÙópÝ©¾]¯K²½ ®(÷ãŠû—¼—HâÁvýñÐiK-‡õË+Wìw•N‘OžÃs–Ýó¨õÙ”Ëù°à·ï=Ïï³Ù Ž)_ª”IWG`1:ÊW«ÄµùZ Q;ºQ…¹LmÉnœnä[ÖIËd©M"§G_rˆq×’^rí”네Zî­î!ÃÞN9ì3w2ç·Ûð»ñcŽ.¼qu,Ôqµ|V¥Ž·Ø HöâŸÐ ´ –)Ãä„¥;‰¨‹lßέKhHĵ ¶Hmó¸{-1M›óåf•´¾È5²º¤3ŽB\žÐU¦H2`q,Ý“¥ FÍ‚ÝÆÉ9e¿«†®æ:¢YéD§T0ÞøQ ÙqB/øl$ÿléO PK“¥ŠhA5Ï64 ¹±¼á/‘ÏmÁíÕSÉ`ìã¬wwâCõ¸ ¶õäy¨Ü—aì•-à༟_lÝâß\ièÈ,"³lI{Qí¼]p=I_ô3ð(Æ_€ÍG* ¢ÑGĶ@>ü‚dï«C@\J·Åß–p´×ÐP"Ä¿iç¯`'kMÎkç|üo0´bZŠ.Kµ àÐBÆâ V<­ðRÎGBàËg±éͦ‡ý»kltÞkËG=¿²"fZB(ýà¡n?ÀÃdŸ3¹Lh$è`=U‘[³¶Duʡ̓Ç@ð×;Q¢cPWh9³¥‡ò93B óŽ]–ÂûÛç ä®kðëÀͽ6L›XÇÉÞ 9Ö¡l‚‡9¿‡Ï?Þ&ÃðÄjüL·~ä} yNÌŸŽ°;ßÃĵ ˆ@Q¼޽ÙÞÔ˜Õ»ëý_[—ñ‰®—ÛmjâÁ4é·S\¥Zç‚¶9Ö\[þ\7‚ñçKXYšaÒ†zPò¸ü£r?Èë½\ïgŒüD̬¬4EJ3DtŠªB¬%žƒPäiG/¿M•ŒÌæŒ nKG"Ùäq#¬zR¯-kúµbÈÚZžæe€6‚•9YüÍËì îõë¿(E“W-vŒˆ Ùõ[®uÜœRS$ݼAÔ€Mõ|ówk¤Xïë¨Â.TMºu6!¨‹9—L=iLÏuüЉ®QêÝϼ…ƒÐ¤¾¦,FÍ¥T¼djHsîìܬŸŸŽµ“(âYS±õÄê~Xˆ)ÚK®çÜH¸Çß$ÓXý/dPFš©¼[GRJÔ'n ®~b}»:¥ûg1ócFÅç¢_'1")Œ´C6–¯úcÉÄÉ8 Rh¶Yi‰87ú–WxOa½õ¦~ŠfWWNf¤™?R¢äÙë%rí‚hߑՒ¿*(„ ÞGhÍ|"ŸÄprÈš ÉÞHZÌÏêÓâ^Œó 3ûWц€´;âñ8ŸªëUVûžþË3þ¡üª8ä.±)(dƒÑõå㺮÷LýéGïÇípÖ/½\†ëÕFá#ÌxsÞ3¼$cà«âe}Â’O‚©ÓX_èM¢ $~öÏži2luáAH…“¢ºÈÎÝÿN¥éÜÍ)ĆÛÏèKìz|2$Qõ J8…1M›6Ñ*‡¦!º,Ô2­Ú&ÜA¤­Þ*VVGù:¾Œf–¬±·¼¸yêNV›WרP‹#Öò¿}Ø}‰µBïÕü±©/ð×NG¬ÐQc-^ÆMru-…ëq0a„ayÂxø.…”í<¡‚Gr° ˘®ÍdïÌÖB£ãwgƒ—Y1¿,ŒÆ%¿žŸž7_uˆNEQÅ,OÆgæ2ÔMjŒdß–]ïøLI¿Î>Wy&c©}lÖDô;žQ–JW©ûœ—~O1­.ê5dNÏ<þŸÌ™.µâ¶ªný'éÉ~ßäÌŒÌÊï¥` ›Žì|Ç•†Þ€C’0ŽØù vrœ>ÂÍ¡\Ýu¥§~˜·ªô.'ân‡I€™]d˘mÆ>ïxÎùi“l´®Õ2EcsE3NAÏ*bkšÌÏö5³*zÈkS“:;gö.4ìáXcÓ²EæéŒÈy²Å¶V¦ð“ÁãD;c‚/'ÎÌîx¦ànßqé€AU¤³‘ä禛QÊ~€TÜýwMìÐxå´|1^/´W~}½æ+ÀëOùúŸÞ‹>h.f¡gÉ9¦¿ŒÉ‡»”Þg ±Ó=ø T@†§çÝøl{€¦ 1Bµ€lXá휕½9@-šýcà(°Õ<ú–­¿ßßÞLsÞ˜àá]™ÖÖ„‹&c%¢'é¨$Š`l'6>¹†“À®ì=òϲŸ 6~û¤] ªëЏŽI@®1½‡xk£»ÿŽ®R¾Eª½â˜ž\_]ΙËòE÷¾OÔë¼ó,Nð}Û‚òs¹£®u¤µ[IAdÍ’¸+:Dƒ¹z­2‰>a76^ߥ‹„ #ïqe‘ F›³kV¥ÒaÝæ6«¬q.(ņBkOóå¢.f-uN¢h,Êÿm*[ïG4-RA;ÇÒJBP6miä:èé‘iþ3!d,æ÷h[#;”P³®UFÀ„ ¿Ò­>%£bÑÜÇÀÜ:2º:јqò x66ê=óúw–Ò0n$ˆEÚj°|EÌ¿¨sªi¥%•²8Ò÷>ŒÖ¬«¤F¯Q¥ðÔð¬¯î¢ô” onêDã?½qHuˆ‡‘úMû<©H^Jw2ãíãì¢e"³·ÌÿÑÄ‹÷.‰[ébãÄP§.JäõVü=ÛxY³­_PˆÚ€1eI»Ù Ó@ñ%ÄØ8ôú+E»§›8 }k9†ÖXe¼£Œ?k BÝøEµ€W”W—ãã& ïQiFè`ZªS̽ ªÚ=„ JS" Rï°Ëz#Ú ìLGYÎæ–ÿ¸Ú¬.?*@²¬Îø-»&•iw4]B¶=;"W’Ú7 ™‰Î(³³ Š¿Nâbcf‡möOD @9k˜ÖIþÛ¼º¬“;ËScêKJüb}gͯñïý¢¹#—Ö%@⣞.Ý«¸é{‰yøuþý«;´ïòÕ’­©m¹¶Û`)y2â…«{¦ËwØt–%«ªG  /ͳ•‰Ï†ÚÎÕVdž@Ð=u=wjÔŠo¨èÖf¤,BŠi.æl/ñ1û&w|iRnÕ<ç»y:F&Wsí|dDëcÒý|hi;6ô ¹SwsAl/VUÞüQ°qËn¿ÂHfk*Ä’܃ú©¿×r3Ë%o†p©CIÙ¶¥1~fƬ5¸$ÉT£©Ø5s¹‘rÛ» ¿­ k_(î'äÈaJ`çPèß~~ŒNÆÛ¢º¸rÓ²˜>’KöÙBm*`Ή…”ÓòOùÕ”Ë]µña‡6nÊE†C_ýÁ/¥d§¡vš‹É”fŒYÚ:ÏàAŠ‹]—‹£*HÖ M½+Ù8ü%·Y¼R¥T°”'Ç“ÉÛÄÆuÇ–®®Ýä²BÐ*8 0–MY­à&ëƒ)å[VW‰ÛA%õ6Ä£’Í¿ÐôBZÕúßpD§%k-ô¨—ó„_ä9ý䆋ÌBG–Ô &F¸×j$$‹ v-Ã0±…#ëàM‘(æÁ –`ó~]¤_È»sáfG€ß1*@óuØïºh&Æð¯³«´­yP÷Z–ª‰ÖFqQéZqR-Ø~CžYûRoŠzv¡FZ§N¹³"€qbJ‘¼T!¢Ê¸øŠÚœÂ9µQ¯Ê:a2-·Â¤ŽØ©|ŸA}|£µäûx–l…XËF’ã!&ç¡ý\æ’J´nJíã»v…E­8Tëä H)h*¬Fx[‡½;ÐbêX~éá­í´1Ú?Šï¶œ›_îª\o¤ï§.¬çIÄ -)t¤Òr‘zàÌÈà ,z±f½Þ'Oâ ƒÕY‚Õà«÷úÀQ¦ÛJð <ÅW21F¯‘G>á|r#ì(\¬ùn ¬$¿ÚßÇœú ð;fÀ‚ÀiDtâþ·ý?­Yÿ¡ð.À ª@·dšÛT*Ú [•?T¹#¼ñ¥:KuwZÙÇ?™Q Çù§ ˆJhÇ[%¢-‚bïÓ[FÒeeJ&Ì \ÄQìv5-Û¢kÈf—¥Œ_Ì›§O µ¾ÿ«ËÊ ²21‹ôƒÇ!$NÓN3ÁKÁý¢Ó)'™‹Ý.{Ì5- 'ûü.öÔI¸ a°h}£cîúS ü‘æ#•ºtæQ΃É ÀÓgÛ¸ ¤,$Ú&2˜äº AD±K cåœÖÍðÝ&Ù9ÄB¡ª >Í ùt°¥1æ¯ê<ÏèÒr§hçy^ 1rÛ'ŒŸÊ3 •eZø)/’óIÜf±ÄIÒnZ²ÔO&Ñ“Éɲ(6^Ëš~¾jUD€ÚDºâ6˜’$µé-œ¥™ê`•SÙæûETë^zü*ƒ%A|· Á53]î¾#ôíú-x„Î0<|·À¬°™û@Œ‚Øtµó_™õívúð]¹ºÎ|qÒÆÜ—u~Œ‹¾ö%&”©ËP.NÙ$¿¨“-Úðjw¡ßƒ 'J¡Øa¶ópΓtEA?ݼ'kÑxl„ÊõKú˜ÇÛÓÇl,zÚXa_ªD-*z;ô1Tí$)OpÖL±’2+2˜sù`&œÂ3 삘¦ÓABkM’«_sJ9ž{\&(¾‡A©bÁ·ã[{*Ù‡úÔÊò'œ!i™ö¤3 \ƒ‰¼ÙÕË”ôÅY7§»:IÒÀZi þf ›•€¼ÉÓ¥¡…Õâ¸A}ߟbõ]õ3÷»ÇuÕÆ5´M¾Ëý7)ßÙ]go›æHîVíüà¥M ‰«`&aEòßMp:1äY©ïä,#HÐ;,Óîn»$E'†Û%èd <™Úgìñ˜,jïu“ÈU §fdÑDÜ™é=Tÿ©“ýu¡Ø=wñÈ}/1?^îpÃ-ÖÊÈÐÊ׸¶°†/ƤÔÙ·â±öœ.:7¾ý(WâÓ¦öçe¥ýJ!+zja ßûÑâ̹†ìy׆߫Œžõ¯+Âðdöš¥çæÇ1vÖJÐl™Abó²—û<"{jéPîs¶8Ö$•ç ˆYDÄ"êwiѺæÐa“ЕŠâXF¹ S“›?µ$îŽlxm¹^dH C_\™P‚Nkveð°úªü½¬AW±çMY$µºû” ÕgÈ,}’©`&S™~5Õ^»“£ Þ\?èV¤Žjæ,ˆ&ñä_JMÿ'MÊ\ÎìðöÒ!—Wµ õaˆþ̲†´•#-0ÎQÖ¦ ô¥Ó\­>‘R†97M˜›JSf Ú´óT;F#9“ã$ù·Ò¬‰åu—ôGXI)tÙ©xY #÷|hÝ2sòÍ=(&؟˳âöŸ¨W²-YQ“q3ý[sœ"ñ£í'x;¦À¦ï†ÂÄy6ÈX8.ÎÑZkøS7WAÛà~䱕W–Óp ¦÷†™ýÉgúm,çÞ_4xŠ:ã­¤V‡Ä‘X\=ßu¨õoDY–Z÷ê¾e-†!Ñq“¦C!è8¹³ŽP¦(*?k× 82íIÕ²¼Òìî>ŽòÀÆŠW±²Ž}ðOÛÔ–ê¨ow²…ëí®¼±D{Œß?áCð½Ér妴7>çs“ö2 ˜v–YÏØUÌžÀ÷ÚÛ ’CÌVm GY¨È [„ÅV‡\?óJ4îãºÔOñ½ïÈ€êIÄÜ;*÷Õ ¤Í~-ÝL%¾9€øÀbª]¤VT²<7Ícfݘ -Êã0ºÙ¾˜½²¡šI@RŸìçK/ €(ªtâÅyëªO`œ\³ñ.2Ð{éúùˆ‡›Ê¬È{úÁä­»ÑFL¸©mûö(m ꂱx{ÑB,éH}£a7U¯»Æ²ÿsFb¾²z¹¯Ñ†øÔ»^·]Ð/F/ÒæßÞ§|±1”¦Ñ^,‡Ç^+ ÿÏô±`g˜ˆ¬›iïO”Xþ2 ÖdXE%UB: Ñ$ðéþËwà0ùŒÐè1Ñyë;'/bA"\zˆ—ð˜£,ÍîiÎ ”ëû÷²FÔ†g}ç±CóPÁŠù¶O[–¿ƒBÍ×:óK¢©ö‚,ØjÒSöå~†¼‚ðÿ9ï½Ú JÔ‹+Eiiü†«mã%Î|Í­aGEÆ`ÆP®Ç³ Ø«ºAçB)šµåi.À@¨2Âàe³‹#Ã%¸ÖE0‰‘|ÿ“Z‚QƒáÊàXP\WÛ²ˆÆÔ­8\¨ñ^…i‹"èüċƸ¯\»¼8<Ü´ãõ,Ýv*G|#𘲯‰+2d¢ÏÞSÁÞ€¥‚³ˆS.æî¹6Xg~÷§ü1 'µ»¡¿#Þ73Ãñ “3#Ò‹:_c“qÿXsÒ§@yzéÕ|„ãaEÓ¢îð4>]ÙÄÉAmu™¶ŒSó1ï+§U¬ùœ•>´h—Ħ¥S¸­:€÷=o_², _ûNA£ý,ôÝ8óèWÃr´<À–C†,®î·æîWÇŒ^ÖAœk¯‹%m.º¦¹±¾ŒŸ•²ŠÑNæï}Yù/»µ4»}Ü´¦÷¢¦Œ4µmée…¢›JY§·¯‚NrÄæjŸ’šPÿƒËXŸ™¯‰d)ˆpžÌTI7S¤Æ\b*Œei5ÀÌŠ.Ây!d–¹ŒJö¥ñ«A)+ÒôÙ¼Žvì‡Gjt}ûþía³¼€çÀ¯4!0œhˆ¸ä9ç‡Ò•¾þ¬Àžó\ܳü&°@×A?ÛØ;¿u•-Èç_/yIBnÿpº»Á5[À:"Ò¯W SxÖ'9©Ù46Ý[˜‘)!Íé" ‘æô›û_ âR¼l1#Ô6Ç]4"»ˆktÐŒL>À arÉ5lZ)ê»ml3¿Ó¢K™û&Ó`{27vÕ³Ýþ,¨ðN„Ïb»õ…+y„ z…{—pÔUÆ.˜Õ’+ÊJqNwÅÜôG|â×/.Iqå5;;] µs„ÝŸä]_W]ÔÉQå…{¢Aô/_ì¦í‰k„êc.ÙX¹ïNªÔž-XÙœFAÎ%ˆ=JãwÓßEµÜÆPr"/?2܇ÏÞ7E…éjŠK9¼» ¹÷r'ÿ®/˜Fnð3«Í¼X·) 5ÓR¤ahÏy{É¥î¯)#gI óË$®ÈårP݉ýnîjSE!Žù¤%šzt(·g§NÖAÏ:Õé–7¹)rVœJÜFušW†ƒŽYzS2IWÇë<ø˜`¼ŠãXƶ-zÈm ¯j×A¿»hÄ#;LA´¼›Ô€ æÙ>eu‡t%ÁzðiÂA=jm®T"±ëéiÈ!cÍmiÀùžûΨÍ]¡p0¡¡ ŽpêEKèd™31ÔnJ†áعÓ+wóWÄì”,ÁÿÝ€Q0:w!Ïä:~ù²žjD°= ¯°…K…Ù†-nÍ{– ¶ïÇï„ 3kŒEÑ ‡ûÝGÔ}¡ž¶IÐ6GJÿ}ÝïŒð!¹qîó÷ôÞ:©5ãM/²CØ‘lõR2våiq"­f÷ß5³#Þóm¹U©×tdAåPêyxË>캆§MA!O/I ÖÄ †âP%‚0 4É6¨¤7ÇWÕ>YS°BΙuèâ}Ì"šlr¥"ËnñþhÑ&Ÿ'vÀóPŸ4bóH´?iYé (þ!u“Wƒ7ööDÒ8B@êÕ>ÿ r°Ä ü 8Y…ѲÍÏ®èÑìB'Õ­»üjbÁ½|ù>‹8!sÎáE¿Ä ÐzÒµ?Ú7O@J…µ}ñHj/}ß>€º›©0û‘ˆ§Ù]ö (ÍìkKʪiðͱeßÌ>Ô3ѽ~nû2Cm9¥W–‰U!¦4J¨\z–_:'Ô2çó"]bú«az$‘¬(äugq»ý UAç1û~~òòyIŽEì½4*GÙ‚ó½}‰ ΛC’«Ýß6n©œ¾’?5¼e ðñCêl'Ž%N´ö ŸÍúÆøñù}Žcd—áT»Fƒoe¨Ê.чq­"Ì&ò5–,)C:ªe§<;ÄŠ\Ñ·P¢‚fŠ¥s}·ø¸K—·X“<þѾ›¶n6ùV4„ŽŒ‡›ÈNreOŠÎù®zØk¸ûÙSöøKfîdZ`jf„ÃÇêâxóŠZtnrZ`í9ãÎ{õ½¡_ct`Š …ÌÞN|Ù¨N#t§LB(E ;¢-RÌ=¶éâ8ßf>L X»_ê®7áœ6Ȋɉq€ç)ë®»@5Ýdñ¹­Ó¶¬·ÕÅbÊPe¢EFÂÙ«:»³Íý\+œÐÇC=«Nîµß¦.Ÿ­ÎX_3ÔtÅêp6/B¢bP—űµGdxøÁ2 Ë~ƒméÞt£sVmÊr¦sÏwÆVÚðšFŠ„5[•ÖÁçrž¶‚òµä»V‹ÈÖ p#ÓçNtûÊ».'˜OfG”/Œ°ŒeDu™¥šåéë¼”»òÊVûiñrl?â"ß®M{áÓ3¥!4¥•£uo¬¡ vr05’OŽ Dæ#)u¯AÝÞBò #3 ƒ÷[>Wÿí&G›x IúY;¶ù†>ƒ™IœdJ£v(%ªW ÷KYN‚ÕŽš+tÔ6qþÓé,y/á§ñèD¤(î÷MCë¹vHíaì=Õqz¨^޼²RHTñ ×-/óµ¬d0êPköŸFIö„Àpjõ Ñ?¹ûðDz*>q¤ÝËx|‰§»*OM"œ³¤~…Õ?¯ª3ˆ/³6V•x{%ŒDä4–QÏ»ŽrºRáÈs¿ëB@Ú.D°;©Hòn²íYWÃ{ðž«)>ìÖͱ•hõãîíú‚`íD»°7ë{Ùåßßß„j‰Á@.ß]•Çæ`AÆK™¯`¥]Ÿ Mmá=…™QÑ…¶ìù ¤´™W®Oè*ººÛ1÷m¾™h%N3)X…Ú{¡É=5—@K˜ƒÑŒ.“Wy&uÆoÙ0ŦTÚÛ2×§à”ˆr „P`/´Vï㨎~φ/¶ÞlO©.™>ù3Sâš}Px®’ÙNîÔ¡ÛÅ_`´ƒä­":®øp'¬<„ź2플څÓ>øþ¼3È«£Q Ô±Ìùní}ÚÙºWB¯rZ¦Súô²ÇrBbí¨áÐq$´Þw(wå–Š”³E}þüÕ-ØÝÎbÁ”¯CÅÏô@¦ãBt†èýHúöVxà¦ÅÃ)û†·lzÝýRã“I˜M0ýwø±Ak¨ºJ–Ç8þ 7ÏB-‹ð'ºéXðö2 ù¢rÊÀ‹W A}uWA°¹g‘ èØWôˆÔ Ù¸ó®N ™#°îöÙÎÜì bÀ¼wù&UR»p÷ÛNQ2Žžómµæ£Â¡Xx½´I…B*ÚgôîÖ1–ü+L„X©IáÀˆÚÉq‡$â’X£ˆØøðÅ o#³xÌõt^=qY&ª$Ü—±ŽSéñ9Ñâ…—!zM÷iÃô\@=j¡ùŒéæ7$•ˆ i¯YtXA¢y ó „†º#§Øwv÷rQ3[×%½wp>F uÃçj¨sŒjB~†쯼IÈn,H£õ€f¡~A”\°ª:ü!F³©¡Zö䨈ª8yWÝgºú2¬žÄ¤áq_Ž%ýÕ£ëR÷ÞTØ+IàýaóqØjÏ¡Ø0š¿7/3Žyv]°¤íy¾ów »ï×ýÉ«Š8zù  êвšys¦?Póo‘ÂÂVÞ²$®syèM[-Ìœ®‚qíV–ùýGg]®äèÆî[%¢;ÍŒ¦<:„‰ë¹¢¡BMü>½ðãŸãíITñâ&àýî³ =>MC ?”¼’?¿šÖšþå,¬pÏßX…(' ·MfU® ý¸=ô%Ž1`"zÝPü¾: Ö ßœÓqãx_&ž•6ŽzÓ ñ:À/J<ëŠc•æÀå…à3³•øÝ|§Ø¤º¬~õ½϶íê3Î$œ¼óE©$!à–J±ÅÃKùmĸày‰ —’^ÔÊ}ñ;ùdòuVhwß?]kùÔŽ›`>T`BùA×׬·ŒO…$Ö«¶ í,¶Q*©¸+ôcË+H“ŽW`êÀ4q­žV û9Ž…vÀÎv©Ñ o…iÁÿN°ÎïË$GãQög=0?C66œØéýäTˆ¤ït8„U«E4}XGâ‡È,˜x,Cä52« À >”¡U¬7jè\Û|‹÷»ùcÀ†u”6Z jÏÕÝ.Ãv´0' ¶òñâ~L‘‹Mé:¦^­`Ÿ;!+%YÉ#}ÿÿï•_\QyZ»ÎK(u†T¯â ‡—_€}O©k²fOi¯ƒà:‰QkÃQX[å¼DYMÇᦙªØØÐ·‡ÉÖL?§·'ðÉy;G÷$GOw+t?—A4W¯bˆváÏg:«„×›Ql6 ET>áXæÝˆêaxS#V¥îxcÎêm¡\d˜ÿg½4òùùûÖªHNSnŸ¼Ñie›;®ý<$»ƒòmú”OÁ„~ßëåôU¢ù.]o‰Ъ™zšéоÅÆ%9¼ºÂOr Ï{ÉÊ×\Ç#Œ& r ƒN öÂÑéìöàÏ®¦Œ +ÜäàfSŽ"¼ÖN‘ù/º¾Ù—½ b2GLŠRÈ©z:Rl¦~ÂH}ã.0âÖ÷‰pzWi|Ë¿ŒáŒÜ4´þA=8{”Ãÿ(úâ²ää¶j(wš[Ö ë9?Ä^’TÐ%uhÕŸš'ƒ!§™ƒ\w¹·t=©L_ñKˆ%8n/«é1ž¸V7,Ê4¿Òû…µ†Ð]  ÙŒ ¶§½dçÓ7^M©÷9UX…O”ó™k`«QD$µ·ËöÊL¬tþófô„àšJKš0“v_¨× ÊYbÝCzæjá-Ÿ¿ôÀ!ªh©¤÷­„̽i1³ÈÚHìøó˜|éoÅF\¾­yÙÌ)·ò‘>¿¾HÙ"Iÿ;/¨%…{‡ÐRŒÔæ3ž ½]£¨ <ÜÔ÷™`%iû~`]‰¦‡k¿± òp®ƒ²¶|û‰»Û (ö ã¹¹CCL(‹´“Yë•UvôeÈ ’_G’´hžG¯ÁLDé'˜˜ïã1! ØÅR•«ÀÕ¹½ÞÑWEÔŸ£œ8úƒfŒÆš)‰ŽéŽà{ҞܿmÜe†Ïúýí<©‡®ÀÅ@pÞÅœ%$µ8¶m;ŸWøÄ¬Ý‹î߮ޚָ{†&1ZŸÆÖ¯–í^=ýæÔîVõÉÜËmÔ!¬&P(ãÓ„!Üæ¹<0{[T~ÿƒ’}}+öV ¯r6º_%‡ÿtâ¶z¿txå ü”ṉ¡©n #Eõ}Hñ©–_]’Ÿu [¿]+ë—ÂÆ L ðÊNß=4;k¿¾ ™;†T¾Ð-7 Ÿœ1Qœ—/)Ïåà¬^–3c 0æ#BN •¢"!XK{7­ÿwM—;°ÁEf¥Xc©>uY$—¬kGÖJÂÒdÕ4ˆtv"Ù•†ÃãÓ„Bfg7Êe~tÚ«G€‹Ûö6Eé³y›.Ç͋˴eÔ|$UBkÙ£5Û϶7Ypõ\>Ù ˜$çÜ–6õ܇®ÑFGG®å­5á•ýß>ÉÆ{÷3ú”[6¯§öZNŒ+`sw®¡þU¥n›Û¦1¬þªwl%LÎpY5!—nAˆPþðo:*°VÇ’`BBò»É˜^‡x:›ÀäL­ù Î8Ù¨²W½¡°Ö‹ú¢†âvàg.®yšÌ/ìc¥šŒ™§ôõÊ«\ú,~™IR„ÛÎ8ü ßËÐY>îëE(ŧæ»&“yè4¿Ö#œV¼b¹ŸÐYq6w#¯þtµ2Wèþƒ¹ºâaE°Š‡¶€¬ƒð}‚7š!6/âØÉ`SߟjbmhŠ6UÝ*RY ì,»ËûÄÄ¡¢":À¤dŠvùûйþ«å@#+XÎ ÄœF}ìž/r [ׄ®e—ÿ­ Q—ò‹±.ƒ¹ÖI,J6ÙEBvŽïÅãz&fOûÝ}û=ós)‘ƒ=w?7.`ø(6wÖòêSãÏõ~+8tÌúÔDN-`÷2¶jJþg4ÝÖ7±–Ü÷r™”)Ö·/‚ÇéË´½ÔQJN«zHXõ”ŠV¢7¢Sž»:š§ÆšEgØ…Ulf)ŽÐ_ÖaþW¬´¯ìL¨W¬ÿì¶Q`@"_J¸Ç2åaqä¹ÊÚëü}¸a–Yùróí-¡1t´5˜„HŒS z]ÑïkMëBΉ/vÊïJK]±Wôѯº¥’¼Äýœ&~ð¦tÉ é`;ÅS=­|eX9á¢,Túá’î`o›=ÕwþÚÈÎÈß§ÄtnzÇØ×©¾˜&ÒGT°i¤ƒþPl ¿+†…B§s$šiá{Ÿ Å=ͬÔ9ÑÍÛÛ2k¸¯Éý$€Tˆf»ê¶|t1Á€x‡¹ÖÓÐ%¼¡–ÁWîèÜPi«ˆO¹fAõSP˱Ï)†ŠÖËÙ KNÝWi)l¶‹ŽYhÃô¦ùµ…NØìÄ–“¸Ö™L(ìÈ«n &’y—Ó&p_§-œ£ÄèŠg® ÊGC‡Ý&䃿 y‹×WLÿ;±ýù×VC‰Þ ›ÈðÖ?Ë5JZ¸9^7~pLœ%ëÂyâØ µ+c üöSöpËÔŸÀl /ãÔJí]ÌÑ×u¼Ù1ˆ{V] âûâæ™C6 +Ù9OLÿ²L›tSÒe-²’Aørä(x­Yߌ¨xôj_~+ݘà7¸ûÙ=\a­pΜeF) ¨øåä¶±¡í4` d1)éóþ**Ù7FrœÔ°7bò÷Uƒ|£¹vå®·ðmPÜw·ôsÜt‚N0ƒUÖ+Õ[zñí/°:`¤4Ç(与¨Ô…íŽÉ»¸°T1‚U€›jJnD’Ð$ …Ɇ<øQ'9õ¾U¼è–RÞ’^F¾8.¼/°A„;{Ň.›Åì V,Zˆ<‚Ùã92fЇ„ò°¯8&“½xy/v¡©Ðš¹ä’B…k¶Ôä¦;K;‡¸ãp¼”ÄqëV;z/€¨‹ÛdOàËRJ%¦U*“Db‰U¿@îA4ØìGŽd° £K‘äX³uW£<ÖÚÐA¯|H¾·ö™ÿƒ+©Á§޴ާ} v¦•5P±«´Á ’Ðçü!`$™Ðªk|v?ä°$J÷©ëÚÝž`ÃUºµêÿ #TQן`Å‚üÃp^Šy:¢ž¼ !ÌÑ=Gò¾1 >›:Áôï¿Ñœ¬‡dU›‹Öqš}†z,áÀ°»‘ý{û>iIúG{•K—n^ñÏÞòú½‚7†G¨ñJàÈþ·MêšÃòGmK|-«…iLÄÛª¸#kþ [Al[:ÒèÛéLžØ5¾‚ñ/Þ¥p ›Ê°f ¬6*ßkÒO3ßáçµÞlÖOç@$>pèuÉhªèð¸Á¨@ãÐb  *ö>ô<ÜŠhìrr±ñï9»bBý(ܬKw½&å5øæämãùö?CÀ5^ì¾0Z¨ö¦ÅÂÅéY¬U"ê'hœ÷î¨iÄTW)P úÃU] •-Àφ/š¸‚YL±¬vÓ[ ”­O/Ó„#1kÕyúÒ#Wª,Uc$oç¥ËÂúÌý Ý[gEQ¡ÈÎd¼Å'£ér ‡&˜ÁÏ0ð0ÿ~±ªaí~‘g ·4L Š2g½ïå›eОÈÿ”hóŽZϸ3Á#GI^h?™wëõFQ°‰VèêàÅUÉÙ¢&ñ¨L Ša§;z1d<ŽªÎøæ¹ !Úè*hîñrúq†Úÿ`z#&Ƥgw ­Æ Dú“;,_£ l© vZÏš<}‘\¿»^y®–|†½¤Z•—ÜPƒv.µä?bÇ.Œí1íáÍ¢ºAD¤ieä–c ÃKt6@F¶`äF¦î‹¤ÊÒªPFœZÄ•¤N¨m™.úÀ"‡" ˆbn:J²øH«cù¯ÁÉú®€Ú´Ò¦ õyùGÅ¥Ìi÷ 0XUEu1½'31™™…7ˆ® ¶>DAdÅÅ0ŠœuÖØa^âtÈñƒìhÐíŸÊÄHjqƒcñV@äUƒÓI^Tœç8±ûi{Cü½5£ß Ãûñ²'³tÿ‡αê×êkÌ1vÖ>´‚g³ @LÎA ¦ÍPÒ€rÏZ‹Î~Ð»ÉæÄ™ßÉ6¬÷à¸N;´žS ßÖÁ6¸ûTQø½Tæÿ‹ !(h§$ #œ‚ Iòzàt Õx1©6Þ)ðè w½KtÇ´%a#p– Ô²~ñ|5ßä©«–A;“îHùÿ=’€“Li=iq–3šW½Çԥˆo¾†Ó¦ GqW7A¶]汜zX°]죆 – =´eš §&©ZÝm#_¿ |yóÕÏî‰;,ŒâlúˆšC '¾*Z…ò†15“Fâet|r…ë__¾’ÆÜJñ ´Õ"Ëwd³¤ÜõZu\ä4æãÌJßVqÿÔ៓™ ©&ê/v-P-°fAYûd8ûF£•Rù’^UŒüe™p8¶Œ^7±ÛmÜyÔCÈÚ ˜›aHÞZcÈÀ·…*;{*­r@úXg8bã6sžÂCÃr$X{áƒíèÔƒØÖì½ý¡-Ú¾ÄýÂág‘“Þ„ˆoyp«OµCÂø]aDû@ÏS―ó(`sËEÅ Xî ÝFÈn·¢á& »ÍlãÃf‡rãÏèµØ¯ßæeÊ{·K8€CêØÿgÃ$OZ…IÊw{ï6Jr†er¡~c‰d$Å ¼7Þ“m.§¼ä8N.ÃÝ9‘ÌÇZÒ =ðX ³,2Ê!¨cRS ,í1ë"Ъ,¡'“-àùB Ó­æ†$'àž`F¿Ç]˜#ßô¡D)ú?ç·yÝIWJ‡ïÕžòÑN}…¿¡[þvŒ'¬ÏéœæÝΦª˜•ãLµqÙ©>sõvæþ²–3o x][‰Õ‘oá-ŒÚz€äîDKšÙò_Ç×.9uÄ‚Ì=ÿeŸ·îê´j¾•7 Žs=7­WÌÆ%Îô:¯Ó ÑÆ+f¯öf5<»‚®ÒÿÍc 4\ƒp5˜Ø$¥…y(%”&;Í® èpl¶fê%úó¤t\bç s´[Ö;¨'ÿë¾ ¨8y6šÝ¬rÂÑ?ˆÓÃ8¯Üâôò ¸€ÄfK;(ú÷à)ÈãHƒšÏ†Ê#9Z4MÉxõG÷‘'¸Ç'ÕÐàX‘ÀNŒ…{k[C¢‘©XD2 Ù#ÒÊ7µç¢DþšK9Èxcìš7)Ù=Þ™öØM[£ÆmZœó—aL7á88ꆆnÃ+¶¢Fa°@`×tL§±þtaŒÖg5IÕóÚëö½Ué8 Š3=šÔ·$C¶»çm\JªÓ`©…<ë^$Á þ?Èsœº÷ÓöÅ:0Ú@”çž2óº{å@ü;.@ÔÊœlޘ̜–Ì¥ÂO½ÙQx£@ Öísφšׄ¼#Äc.Oî«|sJ÷­±$|;(œ¯1+ÜÝ·­´íåB0.ËÔb¥A7•ýp>Àúw¨ã_IxÄÀw¹/”€2p—!òL\¸FS¬{ät0"·­=|ö.Õ‹⪘e¾ý*‚€I°{a%IƒVŒiGEó(Þ²ç‹Õ«Qºc<îîÚO'´©t«”á°yÎäDæ¦âc2¢!K7 ¸«‘âf9ÅXp½W¬GÏ)âÊ» ‘VŒŒÃ UD—6 ":ÜÅ Lï®™ ’ªÓ´eYÏPHƒ[63wè&áµ’>#‰#² öóÁG`O$—Ixø®+ì¡øM^Å^ÐmÞ’R¬±»ø|L½4yxdü˜¯: bkæpf"Þˈ¿':×g”È-ºÅ3"ýö‡|ÜqN„Øó¼mN2²Í~$ìÍ™÷Éc¹ M­/páâ_šœÒ½½ÛœÜæÎ€ð˜9 Ú½:7ÛL‡).e}V‰è‹z lVhd¾Lm¾ÛÄ*ÅBY4>·…Öa*†©¢u­kK‘rˆSŸh®è?R"°y£,.Zù ŒÙ8žWÄû#7[±(¬"þ–Ï0À OIç¶¢·Í½:¸“¡ v‘3ÿ…K'YA7ú›Ô‚A `±J#_•¬µÇ:rCµÚ9sЉ¹«elÓëªG_õ±R:² òENç|lÈãT2÷…{Šôß’}éi©–ðoüìöyy8.ÇË Ü®hð²,+|’w{.žTjôÀ\ó,U¥´3àË¢bûå$3¿¤TeÜØ-„,}@ªÿìVÞ\e-Ý-}aüO$(º m[‹M€ýÉ»ömç²®=xX\è2¾ß•’é«›ê;|Èc4¤0”¯¦}-‘̙Ǣï†"¤•(lš.QKvÐÊ>ú‚‹ö(>؃x@Z5ÑN<ù÷áîÆlžÔEñCy©P ØÃÓÍ#éJT£š¤¿¡“«!øp¬ ¶ÓÐb€×GÞªüʈ˜&Þ·ÐKnÁˆ“D£ý¹4Q|‹M>HÒçœ^Ÿö§¦2˵ªÚÀ€„Žg5ÀDžö6OQMþ?F´Ú¹Džr‘¼<&iN÷êEþ«mú‘D€¦˜µÒ•ö(ÿÝ·!¡A¬ 3M2Xâ´B‰Ÿ€á“ÖJ[óo£9/->l¹€ÑËÄÛ€[œÙ‹\ŽæŠª¦î%x´¢r#sMûC¯¶Öö*¬Ä‚ ²ŽÝēͧ·íÇIb¾ÿýQžŸßZN%DÇÉäËl Òœ Ý(yŒø±”‘¹ˆòî,š“–óÀ:`^‹°±w%Ðxô[Ù bÊÓ$½º½]9ó`ê&U‰©\M\¨â-ýæÒ¹Ï«œÞî*0ýê•y'±±–1ÕÍoà w+qÿ@`ŒÁˆV,( ùy@ë㟴M`Ú©6'‚ÓC TÂíøŒÛ8Çu+ºvj‚ºÜŠ®Ò²køa¥¥´-çó’xës')BeC`ÙÓ½FÜ26·³Âƒ ®“éi3¶b/î‘#ËܽþË §Ų·\Ÿ.¼©Ivü²Þ³ÞÅk³%ËÈ*‡!à ^Äv–›+Y0ä'[ÀÆ»0{Âf¨ÝÍvsâß[²÷\Û–sÀ‡}à¯,–e;h©ëõ ò¨æ1Ú[úr\&Õ¡š%]ÃÆh¾qÝÀ_>#"‚þƒ°è îBŠ’jk8¼/3 ãD¢áâ€&¼Hs4µÓ6CÏ2`hf 1•Ùäéî=ðuhÚHFg¿ÄL4'9®‡³òˆýàE¹K¼(éôÎùÉ{8Ócèúÿj›‹Êa´‰OìJ°&³ø¦±p3®%,+@Ÿ)/5¾¢d>éôVëÙXNTé»ý+S¬üÙ·/íºXœÒàC\ud, j²½;UœÑ„&gª™Æ§‚%äƒZ6n™‘b–ŒUî" KclÅW†ÿïg[vÒ€”Þ„óÖåä>BT(üØrŽ«#‚PÐi1‘ ¼W#úé¹§;œ×‰]„Y»°5´Þv¦âJ9Üö,I‘U¹ÇA6,Œé»tßñ1Q±ûº¥®ßöÅõᥦçÉxþïÀǹ`ñ,¼´N £‚vñ:”=»f@$¾•7x'f†OÒÎo"¡å=ïêÙ7@íåTJ"ýâë©£«é+ÿë¸Äž ÛQ·÷Ò^Š_‘Ïy­ºš-ó6±r*ç}£šÞL°b‡œ„ô‚±y1kø(Ñç2‡Ç"YfòPW)W¯þRéÕJÞš52'KÄñf¬Þ6)í}ŠJ¾[äó ‚¢O‡8?µ.d…‰ ß¼5Šk4Aä\÷‘Ï[×ì-0âoÚß'zÝòà´–gg"“O=v…Ò²¡ËN>»àú"Í øf'¦<Å–¾ý€håâ±fŸ‚„iޱb·NiwÛ'=Wp)_¯èi G+b…Üa8(wX)›åâÐ2œâZHˆ˜ZA׆ãMŽ›TÝŒ¬½ø€0’ÐÝç§,‡²¾÷K­‹Dr¨lÑu¢ß† äéš¹M§Q‹{ñ9ú¦p­—7^{æ2³qácC€¢¾j0 „vkl²Ì2ÓþÝJ,; ~‘ q+Íû ê%ºÖíJg`3âméægˆØ30tôz§†¡¦n~lÊŸ‡¿Z¼ËTþUê9·-ä,`ãÀÉÐê*1—˜R *¿V~J=U¥ò zÇ@D]‰[SMN›…Þè׎¾ ˆ–€…qû18d ¹;ÿß>™¿OúÂ%N{œD6ÙÞ/†ÜØÛÉ9» !'ázå8üƗ뎫÷W(2ª¸’öìÏÔDzÅÕ×KR.a'm-…ü¡>A ©³móñÁÂûhx‡S2ÔÐ òo¯"×ÉB èÖ~tžËŠË3ZW)Yø¡)]üÞ£í5€}]#Æö…üÊP2ê:ß¼²Çý1(UšëIŸ>NuŠ ¢£™d’Ëm¯ }’¸§ ¨¥×+·o4·ÿ?±S)·õ-ŒJe ùr¦Æ®2I!¯XxDúÂàÏ¢O37œH ÓŽáåÚð0ŸÖ«fÂÕŠì¸ð̾ë™Ó*ÜýO"Ɗ苎*ú)_¢¥gíÿ„Êç4N½*.-Õ}1/Rû.”W+ÙÉ×ò¬NÛSþDÌæÝ¶aÃ[Ûƒ¯UúÍ7á)Û!-ÍJÅD”ó÷3}›¯P~7½y­¢„  wÛ Hß:Z²q?7 PNÒIÒüxSè¤çŽ ¼ ðnùf­Ån«žÚФ~8*éô{Mà#ïpc›´~¥#Ç»$>ó4J‚ö·‹Gaâ‹×TØQy-꽩 „Î~¢—æá‚))V×"DŽ×'´”Géö©¡ÚíÎ×üC;ÏóÊWÓ‚³& Z2,®hÖ<_Ëáר©å·"ÐdÀÀÈÖP²)lE ßfb3æ*Ó*£«w¤Þm“Rââ3ýuÃÞú®XÇMè<~øâÜQŸe¡ÄºRHæ«”zˆ²æ¢5·'¬ÉýCTœ9N `+pøÜÂo=¿·HÕªÝV&¯Qõ@oìæÉâ{-Ý¢¯z]ë°.M3 †¬OÎF0/7Á7zcagòM¹ŽøZS×ÄÎíßIJì"€‚Lðƒ€ATMfVpþÉžŠ{¹NÞb¨Û á@[c6D£G©ÀÕ"ÿW*ÕÍÀÙŽÜ­9Ú¶~¶a…ÍËØ”ÆB–öK{;js<âŸzÙ'ÌLi½’`Qþn…°EÑ9ȄΓÖ$¾Ÿ^²»Ø—a¾=•\Ìâ=$„u£†ßa#q,—è¦V_vPeË…¤ðô{îC_É+tÒÛ“‘T-‘Q/òô\:Xï>Ô}fw\Vûëšiaîl*ΨIÚ¦/!D×ÞqVŠ`î…ïDs’õCŸÕR'5Ó-¼œ„•~/NsG¤pàl_µEÃÐÿò˜ÝŽÆ·Ï’Y,¨Ar;e–Ú0i84³s>l{öµPJ)gm F-6èˆÝiqÆoI6ìýXÄ„¸Å2³žŽÎÙo¤þeWÚ[Óçb´[N5™U›çö‰ff!âîmW!siÏsƒÃK{ä¤)ºKûûù޲©@¢5¦ìÀ@ñÅò¿b4­‡*Žcè’"*²Ø0²ÖQnµ‚©y ­¥@OèÊ”Eþ¯¸à”ç”’Ö’‘#kI}o÷㧦X %ÑÚñþÎÏ,Zæ%¸´³P Ýı*’ làäí³Á(¼ÀL·˜ñ“Æí½V¦§48•ù¤==ÎR?"yò0×Üí)ÅxS–2³âд ˜¿f/°­¡é¨'Ê“¥;-t–ÇÈ#“·v±5åÃDÅl¯“$Æ4h_kþrzŸ.``ÉøÔ© Úi¢ú(•˜^V‘A¨á¤âïÎ|%´.Õ\ש­f:ÚI뚤Ò‡  ­A?Ú¬u«¿%J ïÈNM‚ÆåZ=RZNWAEt°z’zÈë‹ š®‚À4`´Ë±Ó¤˜Dc€·}š¨õâY—"/øö7Qmt%YY Fa’ÚJ|­Q„¿†B Àܘý–ÞxX.>zGö¶ 0U!_Ô—âƒÀÍq5¬‹OŒWžôJ-Y¦_à@}.–*DHÂgð‘ÜNòžUˆYþTH†tyå+ˆ/7ì1;]Ûo-¥Ž-ôL| )úÆ šÍ@ðNn˜}óÐTà.¼2Ô†Ÿoi(ƦÊÌn'(+|ÍëWôþ…å2[’º¸Í%õtª»•O²L /£«é‘ø*…ü<~)ø}˜© dàé¡ÿ‹åg pbr¾ÌcçznSÿñìÔ¡xågBàq›Õ¬‡ÜŒt«Ià/HVŒZíÛ6Ïñ¤jž‰ã:òr¶•zðÖÀ™’GRs[N¼& ë&’H“Í+¥(Jå©è?É ó[š„×Td$FûRbZÌž2a¹ëqQm€Ê\””«’»›Ù±õ«Äe"u®rØŒ’Ôñf.²…ëeh£.=Uß”~³Qãw„‘(^ª‚®§¾:a!KÀñml#G!ŽùS9Ž#Vnãâ­}qÙñlßÎïçùhœ¯æ†¹­´kƒÛ7Û´•dT®ô0ÜL…gýhly¼’\bŠÑk¢èôÀ¨b¸zí2S¾ZˆhHëtÂ9FÀY —yï¼c“þaK‘¡ºÚ”xájØžý Aaµê"е2=iߢyœÅgoøŒr´ökê²Àl£N«&þÔJt<>ÔHVá 3˜üì®I×~E×ÊÉ-ÊqÑqÍĨXêXØÝv}Ð^•­ô'åÚIávù¥ç•`q äb>ô6| ð[æ C¾ËN˜\F†aÏcžy–2=À•¤u”³ã‘#ð0\DÛ´øvˬ2·˜h(,ù›ÑºÚ[ëÉ[àÖKbYkÙÿ‡U1NˆîG¡:Äo{ë{ˆ…ßo‡([×ÿ¿ÿE“Og±¶åvuÕ 7º™„¸eŽ\}A+!HìÿÎRï|öšÄîŒéŸAãnQr¤„¶žUÜŠ+_ÏÉ?`^äLú@ò8O„¢Ý§6ìIãýwÖê¿[r7:²úd)v+f¡Îë å.ËÜd™Ì‚2ÝØëÛ6Ü1v/É:BobL…ÕŸ4>ùë¯pùpžUKj–ªÀ$¦¡»£PmO{åôäê94^gp{W\X'ríeœ±Ø3Ñ„ø&–Ei°©Â Áí&Æ?g`­¤ý’ðÔêÑ®ThÊ7/½)ƒ},ÚøCož“â9I&MiÖA%PøÏA2ï;ãn«2öûäP„|ØeøÞÎ67²—oоè»må_œ5ëóQéÃïjkFuKVéFµ ‘r®/ULÃÆéÉ91ÄóX Â&ø+Ö®†,tˆì¶”6+¥|\m Eÿ°7@ñ_®Ùj²:?ÛQ¼M)?V.“ýmhiŸá>…dÿd( ¾îw‡'Œ¿ÅsE ¶Âyüt–wÌ&ïÞ¿·[)Г÷CÖ_â®õü´•ô›?Vž®—x|àÁNÄ”qÎn`ñ®Ñ‘HøËZ·¡Gv9ô[?Šï!pÏý¨uc**_ppµ_ŒH‘uèôsMl«Ž7nˆÒ*b¢­49MíkèëÌFºÛ 6(…¡o‚ì½ñU-»w|ÉV“Y¹Ìì"ÇÇ?î«õ­+•ãèfª†ål%M«/˜¸¤2øÖ‚dÉê`–k« ¸S™ „_¤‘áÙõFí)\‹*$æWÔúÆí©ñ§öWˆ–ŽoµånŽ>¶PãLsÚæ¿NpÔ÷BÔá8X¦£bŸ¾øc”óy/Ù†=nù3:’ÅRó·£°+:A„[Œ­ÿýLÆ$°˜-¦#ÿ5ŒÜîƒð $"Ù$$‘Z`9Þ³ènávV™ º_{W²)ÍIDº4B™ÍR‰¬Wè»ÙЙrƒ…]ï”é±§ÓÂUƳâéÚ̽6!Vh_#4Ü…ÿßCL?OÇÚÒt˜–‡snÀßíòÐ):̤á·-kòØ&œ„/Íô=`R§6Âü@IU˜ÿëœ ¬=>)u“7eÄìÉ™EÀ¾†qÉJï’…ë>÷ua|B\Ï iK?ÿkTRƒ!ç½ÝjóP£Y·pñ"™4ÐN$m…½õ’¢ðýEÌ„­õþJ3_:O.,H˜mÊ‹’G[bnI4Ø&tYÅѳˆTø/u̸Ðg)3ˆýö'÷y‘µœŽ.DJ"KúΊ»œd¼pÊ—bÝðÙ&§órñ¸«5íé©e´jÊ1™”Ìq(`Ëë¾ñ ¥ø@üï2ÒOÏñÄPñ/´ãPý¦±íù¡ ³À¸ x§P~±pš68‚½b–Ëö‘óã}båHÆžÈïŽÎ7^c˜Ci†WÓX²ú9¬ôC: (ŽCúëB˜¶eßvu@ë7†‰ù‰rlÂ#*SÊhyÆ“%îö7›‰8dGÜUTZ”Á7}Ò³ïaƒ.³Ý*BQ.ìÈŸóC´ÊÀíÍ› BøðÙ­‚ò·×s‡Ð ^IøiÛHŨÑù6dH·áf5ë¯+"œ>¹·_@»¼ux-ô•:à® vaÖCzØ=bù‰W]R‹~­e`¬.w=Î^ªLÿuþ>)¶Ń©K¸±µ®X‡¥`ÊEÁ³OÖ¥ø—ª1R¤jê>ª"fÙ¯U/sXKÎ)È<å<ŠÎm;žZž~U¬â³ßHˆ5ÄùðM´{   @ÐÉì„},£‘â%.A>iæo¹Þ•²iã[zçþ¥ fRÆP×6 ànrBT޽LÃg]Ò[c¤'µºÀÕÏ—PK;ô‡újjÊC6ì5ž˜ú-ͽÂ=hóÁ-6W3¤‹¹¯{únó^ËÈŸ¨’@IE’L =Çã¼êÏbÅVÕé 󿤽&ÚsCW Íï{3ÔÃ'ÛJ4×!›w÷z—ªìoà=¸:Ø­~Š AÎ<¥CóbôšûÉ s|ªè/ypóº<>s¹'ä,DÛT°²ªùêÝ·æ°´¥:Tæ8fú@îÀ%6S >³§/Ý{ofTî<¯.Îù̯¸8Ž]O*úÌ›gؠٓQLeþú:GPÊ hòÿ 3äÍ£¦Aô}•Ó‹Èå`rnÿdFO4˜âüŸuåbæ.ä7,ðÞ2½Yù¸4è¿“é­ rºÁEÁ ×yŠjÀþ—Rü¿@t]š»:d_—ݺmÈ!¡bù77óƒg~ýr2‹Aûsm×'²€Ù¢7΃ Qn!$@LÝdÛö÷0´Çï­sªOÍ\™¿(ÌIMì4ëëèšTâl» 4æ ¹±ÄØ6o‘)Ä#u¦/-@“’¯”D# ~À—sÈ7Šoàg¶_1"¸ª¼ÊGë.ûe­©>k/22Éè³¡Ž˜ÿYÌ~H[z‹Ñq!…ë*DnŒÒOZ/—µ‡Ô!@«Éî›m‹•f JN·óÐ^ÙžE¿¸ ™ti½r0yf ½ ¬t™9.(ŽÎDƒ Œ1y4ýn¤Ö`æÆÇD"oafˆ¨¨Œ;ÔM;Uš@ë[žh0®zC…~›À#8‚rØD§Ï‘ ™î‚ú¥âa–¤\Ø“÷ÿ¶Ÿ^y…òÁÖ\XÉÝÔã3)¯¶Ïÿ•H%:è—ÚY3Ñ4EòWÝFˆN­„a¯-O„ÿe»–ná÷¼Ð¦D X~V*oœ'o‡14ßʸîâWÔ "¦‹¾º£ÂÕŠ B¯$œ/÷~KlËtŽB*ƒ®ò>^ ±Ë€ÀæŸLòdó¯pÌ÷o/Šê #ÊØ"ŸÙs- Øæá~<ö·‘óö¦£¡Mt)±Àj°¡­- @UÒ¹šÔä¼£ ˜{Ëw`$÷›^V{-;…SFZvý4õ¼ÝŽÌ¨»gz;=¹×\0b²zÊܲ•ß²âƒM`ËÉ/Èé»& 9Tus)´L+e¹ì[Vc¦Ésx7¬:Jf=מðõËC[æ8U‘üJb}n„–¾ƒóT¬-P±ff~?¸%p5®Ôö’(´I…Àê9ÿguºñïÿó­lý\ûA±¨$~}—B bU+¥%ì$…o÷?:у«Á” Rà´@Ì |·Ù[ÆÈÀÖȉýÜxÎ\s¾(?µtslºµ^áaŸ|ôï%Oà Ë<­eˆÓt®±:cu"üû±õ”á¹ôÓÇ®_|–3Â-GlÊn$´™/é’ã"Åò8း%¼øœê‚]Έ=ûñÒØÞZ•5BúDU=ðGÚiñˆ:öl«^£© ÷ïÅ2Åú,uôk>‹Žø5GKFÙ¬JØkô¯Óópò ­ëVxÎë&”ÑPôLåŽ,­ ,Ú2JßË|+‰E€Vì32Ü 5PSö¬`áÉŠ9âów/+A®ü¤å_=}šôÿãÏHO¢î±h³rU¸Ç–1;¢ý8}}Ž)âf55F~e¾*ñèLçD?¿t"'ð6Hzã»ÜMçÊYv«W ªÇË¢ŒSTú]Þ‰Ò ÄȲNæùŒ°ÎHz¦o¸+®‚jäÐâv<£ñV×ö03f;i¸Ü‚6ÎpdñOmý³ŸÆ´‡B=FW“_n›'~#+‡€9M Žal¯’µ@š¦ìJ¬–yK“ œ@Õú°aC&NþüÅ6l/ßÃtʽ)k>g!C¶Ás-…Qƒ1òÿk2Äq²|ÕÏ`ÿ÷îªËE©]=à RL'Ò»ÑÛ¼YLI³CO½)ó¬­ \l'ªÁ¥~.x­Ñ÷ùÑ?¸Š ž»è³7øälí"¿,yÝèD›øÙ–£íãôñËU”âp Œh°x¶ñ±… ‡J(çE(kHlV6ášO¿A‹¥ÀÉS°¬p츚²¿Zõ¨4RHëoAÜD/È-(°¶x:uNÏã/Ú#(¯° {ò7ŒR ¸òÏ8Äõ~µ×¨ªÔÌ®A =/?Lš~Xß÷Õ’î­IûXK±Ÿ¸†¬A¯1Æ0Ë:%3ì Ì~­!ÎÅ W¬ í¹3cYnô• ‹ ¿_YB?$Yæ—¾1A…h2 F`:ÎP[OÒ-©¡ö‘¥‚á±/îØjmáÈu0R í‡ú…Åb^­Hœ:ŠøL·¸¢ë—Š /ˆnˆ-1k˜òqÐ@ÃAƒ%4TÞ²V^¥´Q6+7öDjL iÔÛ´ül%/õmÇGÇ·ˆƒ${ý„Rôíi3¥,qrÖ܉Ǿ ÿqV‘%¹Gþ“ÿ"eµTØED/ÍÖ\†¡—p&¨“úØbº×ƒreÈܦËl¥çœKä¢çêr@1U7ëS•âÜùe cT¤Ù·^p•g®q¯m̼Û@¶à£wu_Gu¤Ä—¶ZŠ*èE;AñœF™éz;LYò¶W#ĄǭþöYîSe®KxÛ1%uÿ`µâ£÷•™µýAþHTݼÛ@U¿ãñÐtœ=†ÁƒK‰kG—¨š¼kO@eIÁn4ýbÜzü¥V/©‹ Èícz‘ß–0†#`?û´+†:|Æ( BðóÄF•Ö¡êqè€^lÓ¼×­Ýñ®ßa©½‚K&»•ié^~+àûVµï½i†‹j¼*ž{HÝæ $†Ù‚|7*ƒ!±¬—QI4þóAa·3o’P^öÈMöÅÇÊvÿ,³a˜ˆÅ ­`¬Ø =ùWÙ‘GK7Š'a‚؃s~Ë^´£’ EñPu΋ªG–ÜoZ¥Ô_¶úr‚Yw ¨-sÙ”d«nt)ÞmœEÊ|´U Äiz¹”šNUÏy‡£b é–þC—q=³V áâõzƒh–8ùÛ»‹~Yväd·—Ⱦ8@†ëkõí¯+ÔN,­üèÚUâÁ/rÅ£>ÀÐãŒ?TdsY—’tÅcЮñ%¢óœq~Úϰd+^®”|Ê$ù¾Y¶J­zýjFgP³yj˜ï|f{ÄN¬×»ƒ³ÑÚjH5¬ BÎ-!²/?óȆWÒw„¡SžvæzÛã+ÐMö6“x%>I0Çb†<Ëø¥øÕVÚ7›±:‚Ñ>¤UªÂÜùêÍP´k5Œ&ãæP i¡éö;ÜaP ªÝ÷S0®Ï,|JˆÊâ©[e5ɯ(ê^ÄŠsLÂ%›„$ºm¯RJñÒ<òö¦Úè a¢8õ¥@לßóñR>ÀÈÄ5ÿ ¼Œñ©dªG²«´Œ|‚-ü¨gfÍ*²ÌTêZ-Î.§âxПkÜÔ¿°Ô8IdNímÐÏncݨ’|« ¡Ú ='\U–èiè¥%&hxpiJrØ0Φ×r©ÄD;\W8‡Q}rj’XC«¶ιèÜ{@‹H—{EêÒË:Kï)¿òÓ¦@>)šl‘,¡yÒ<¼|vÝ2iýQ¡m …¨ €Æãàí$ËuÁï.ÿÜð– éj‡ùñ[}“õ7oÐuD©ÿ^ì´Ä\_˜ÙÏyÉ4þ:§Õ…©<ô^[ ÃÁN{¸ãr¬œÍíø*)> Æ[ Ñpã8fÖ/#¬t ¦/J—áÂ+¸ë7d§¼-‘$»§ ºŠŽã(RŸ‚°:9ý«£i{½t«ý>¾lñgeO\s*èÕîgwáJÒ<çÆN¼× p‰±N²x†4·†>*GÝ„½³6_aî7‡Ú h¦û÷ôÄFl—cÎIœyü(ê÷Ë­däÈMÖ'©úߢ-ûÇÞã-“•¢‚3#I‚³¢&†ä/­_· 7É•Hæ°ü|–£ÌÁ8f ÿà˜8Ö6oЇ21ñ¼ž·:¨\ZË¿1Á`c¬ti‘£S,©·ÉPÔ.Ê2¬3+?Æ‹É)±ÀæÅ±MÒ‹¹ê áUئ¢– <Å~*ô÷fÐ'_¨í¦]î¢7|Æwˆ[ÿJ§J¶ÐìCžz…ŠçsÀ‹àeTï3¶sÿ80“nŸÁ¬-«Y°Õ'Wb:ÿìj>…]Àª!ô-"µs x+Bn^ÊK4€&ðl-þ¿õ 5~ß €+™é9uÓ3 Hc”låšÖ¦œ¡P¹qÔE¢=Izá ¬X”&ªEß•!<³Ï’\Ž¡òœW á4Ãy8G‚š›TzÊÿŽK€ÇÏ=õåÍk¸EP¯J6«&±‚›ÊKoLuô²E ;MÚ¿VIèÿ‰uU‹d†‰²%M¹ïT†1ö±œ?DzÃÐ9À;yP’Ž´ü×ã ­Âi_¯êDk6Œ“ sïÈþSÞ23/‡jä~[n¨Ãguä~¥Æn*Ÿþ·ZÑñÃ@ã±¹µCÞŽì¡‚›”Ûâ ØäüqaAž4…€lÄ[oO2¼ñ¿ïñí…ù’;7)ösV‚O¿Øã«ý² 'ÁÓZ<òG£œWÎúšRÁTœYèøÜw n¥Cñ$M•§Ûy.àµ.2 ™#~;]ô’mwÜÏ«™ Rå¶Gã¨ÃжI!Î×ì”ÚÆWƒ¼Ÿ0øc(í‰ìæ ;Žxö÷(3ü!8¨§ø/ gE§æc‘Øë 4™5»‹‘{ÍÒµz–žŽÄd<å|ÐB\•–?kñÆaê ¡qS¦>õ¬Aïuýd¤_Ó³ó•$«lÙI` žÓ&¿,¬nû‡ŽÄL“Uæ|»´ë 7U˜Ðœ–J*á)Š+H’«ÌqBýèNAù¼ïìV7î+R_ÀèûÈkLäFž@ñ«åmv…¹ƒÎ;Æ-Â`zî(±:ô z`äeøúM7Ìv—ÜßÅñ'é4͉jS»ø˜Ë`§–*Œeê & ¿Œœ{3&Ý´W1T²E9”j±‚‰”MÕ&¨g®eÍÔ°†ïùܤЄ‹2Œ^ã1½‘O¸@ÜþþŽz‹Uï!('×°DÇòòÎøÍľ–à÷„‘@2ÌŠN È•ï÷’7’¸ p«}÷Ìq¾k͸n ‡êÚÈfÇ–LQÌ ×êjæNéû›û:r;Îlu[™Æ‚v¹¢‡9HRá’Šè ÷~¬ÉO?<1¡±4 ¨âÒ.¤þß[h¦Z2V‹jë·’íw€؈…‰ˆžò¹[7Û§Æ£ÓÕuÇÞ§-.…¬@Úˆ&|a*­_…6³keÓÄ©2ÐdÑ?#ûµ·¢Àt”ÞXe­†£ÿ‰š ë>0¾QÊáX"s Q‘<˜ËelÍi/³!Ñ€¨+ÞÁFoNµ0™IJj,ž¨næfådÙ)´Sƒ³3MÜ—VÐPªu²gAÑEŽ2íÞÊbïf帇5˜ªM±jˆ—>6c¤t—MòÝϨÁd¶ýv7ç¸pÿÖËyÀ."÷B1P?Å’âƒ×QYgG!2¶ÿÅÛo—ßðu-OŠÙöà‰% FÓ"ïaç`¾ª4—µŒÃ”2c—œè28}G$6v§i®:jFµoÿmUÙ+öª±Â…Ѩµ ámŸlâàwcì¨îö‘æ±ñ: Z÷8˜á®ÂSÖ†Ó™ßé.g‚©¾øœšò›\Û3¢ð×û7Å>,ÏÃã«Æ:h+à j¥£_ |N¡Wç6FÅÓQ\[=WÛ æü¸.´¬,š×Å]°Ëëìí_ŒÕû£/€½ϼ4’¨ ¬ÞEÑSn¯*®ÁªÛ´yÿã#³2õýÏ«Á•Ö¦wàçz*£2CÌ ±Çû®ÿW0”Áy•X…òð‚G1(³ë,tÔ9àºhj­¾ØÓh©Øúò«ŠjX™HB”þé6}×µ=¾gNÔ/š4ygÈá€J,Uq¡TQ6-‘†H¶ŽGøÇ£+|Y³£ËUÏÍÀªd¢û¬ºcBRFÉ+*…äþ˜ÓJOâ¾&ú„š€Kd×Õc ûÒ¡Á{oš†ð›°ž€CÍ|j¡"‹#ÈØ®¡"zþ‘ºŸ–Ý3ׇSä8ĸâ)ãµ÷¾nÜ¥I]4Çis§Ù”ãCûlóÜyÅô„†xî´2È™¹UåaÊãbv.§Mph % äZUøtûSdû‹ë4i²YMrr£{(­ÅU–èócd· _Ø;ûn/¯²‘ˆ2v¬hõÉJüKĦaQP+Qø]ŽšÓ‡â¬Ü)¤/¢·š‘ÊzÏŒƒÆËøF$ß¡^+öF–²› *ñ½¢q?Q Æíàø˜åÈo꺴Áä?22¼‰éKB˜H©p»]‹meˆÍÊ@A³’ÅÎýŸíq©˜èPcpMLšû·ììÙ€}¢oIô‡÷–À`ßÙó}Œ©Þ´ÚÚöÍ€$|KŠ‚ü*gż.v Ô˜ïwå²'À¼#3ó«F02s€ÜsÓÇuæÌfÍ"™„‚ù‰ìWÂÄQúFŸ˜1j$’©AZJu¢-{LAiÔ·kIO„؃%æ)dÎ ™xÈpóßwmðÌ^]úfašolñ“¯¹Ç¸Så›$º3Úƒzà\ˆÚùD?æÌê§ yr4äƒzN„“ׯgÍý×a›EôT™Ûõ€¹õ‰ÝìWy¤'…V"}ëJ!V> ´Í]ðÙZ/*("%št­ô¨6û8š.È»äøa®’޳¶³WÄ£0)²,#º«z…Æô¡rQŠ( eæQc{ÜaØÎÏó-þ˜Ú{‡Ÿaúÿìg£G)ƒiŽvµ4M÷@Hl¦³f@õÆ ç–[#s£õOàA3} ¡ÌáTÙ&¿Ÿï`µ7V@¸ÙÎØ¾>«Ì'–K/×3Hwê¦?Wcì‹ µ–7ØJ¦Y]ºU…ÿ4ÏâÄÅ[zÚ!X$NSü}bÝlÒ÷•M µœk(PVüRö$FÝABåðòÅ €æR/6ÿ<6 .¼ ó¾±@ÔÆ&‡ê騫3ÎW>•üB3‰ËX5²,gc@ˆ3sVÇìì4Nãê¾{>žÛˆÉ»Aœ=ÀOh«ßlÜ”ã¶Ãsb‚í×W®Üfæ&íÜ'|egÓæ_†ÔûÜ5•1÷2Ìž›é¿U XW¬¯‰Ìi¿^Ã?4ýh¾ËòB.–QGÙ:b€ôm»W± cîsÞŠú¦ïÑm^¯¨¼ª@vãˆÀ'ζƌ¬¯š&·´] ‹­õu^Á5‘,0ß²%!³àÔ¢]j›/bjE„ÇX ·ýŒúŲÏ ”©Ã¦>²à;8\Ä„Ã'¤ýRöeJ݃±kÝ÷¿qÂØw¤§4{3r܆l-SH¶ÍÙP14®–ÊèC¿¡Ø?©tMÓ©¬4X•ûs씬Rxð& «E£K¬˜Žà#­>Åà/ßHš÷`‹jm(”œv¹ø@kÄ“g]áö®ã•‚ÌÜ…®m¨Ë瀉 ºWÖ8˜d¦ªj*Ÿ¶ ÇŽkk=_Cx‡ä:¦¼ô‰³“Ôlé UÚMZmØÿÐ®Ê ‘¿ A†Jš—Íq||ÄòPêpú#$ºB˜78P¥aä,Ѐƒ§KÖ(“ý.\”'i½¦ð>ïi~„“²ïðx` $óDöàÖúÜj.ˆìð§H¢åÙ]V÷GV1¶˰£Q[œ9‰X>)ëïc2è;eÈXyu1êUÿÔœÖD ¯ÿA§×ºM%δÜß>q†èd\ ö¦e,’E40~@çÃZÞqýuÌŸ†ÎÌ„‡5>ÎJ¨×K* Ù¬6î'à%`þð$ß¡²£-È¿ª˜o>?Ó¡KòõNØÓ¨þGýÃ`ô[°-ùŒ7Hc·º'í8‹õg8!8(98'H)yR`EüO¹3MjÀ( žº1`+Ý8Î] ®ý; ^šŽ[EÝuIŸNWþL|àQ…j…Óc=V‘°a+Å+ÌÇ xËÍó¨ «ß?†õ~ÕšðDÉ(ŒÒ:üÝË¡mO·+-’^þÁçÑwølÿ)úÑúáéκOÙùlÏZÕˆO0³HäVðÏÛ£…HLªõ”4&q<ÞiøSh5G›¼(™>sþÅvCÈzj—,1_ZÔþq&¡mW×ÌŒ\‘‰­D%SËâE“’-ÕûŒÈÔ!ŸeÇ€ú,’úª‚ÑsBÍRÓéoEs8¯á5ךüÒ“öW)b³ b~0+à¥20j2òÜ"Åèã ‡ t•”³áèØl£¶1¬Rax¥¨: ®®eˆ,¦/-–D“8½<©ëAñ !}rùý¨Åàä ÷ÃÚ]U¿<º¼î§W¿©æ¥5 ˆÀκ?B<ܧ{Ó(¡܇&]‹Ó̳Ðñs÷¯aµ_b *“ Ï#8Bûm‡˜ß±ŒÔѦ>‚D×å©ÀXND ó}¸*èý1ØÑSùJ‹m>㼂Â}ÿ“âºÜb‰Yâ Êt²Åü לÃìá£)²«™;k]5ŒD7 -`—2\O§ÍaÏ€b|P”Ö ÕvŽþä¸ó€ÊÝ“óP çm$*¯n¤ZXlýµé\¶žx*É+e}µí†ígÆ—;+gG‘Í [@–ìò6ÿ~ZëŽKÐÃäx>Süžî+#Dm#"lzDÎr׿Ù$ïìM/,ÒÝ•]˜PI[Z nšaÙ6Xa·€ª…e:дù2‰ì_O>ì=È[,ï%.œ)£ÄqÕ÷“²Ö+) `tØí4·è“¨YÔ¬Uf±±Û2@x7n0û­ÄDíb=™ ÿ¸˜ä“ÈhûGz ÄB3´Ì|G¯É «S¡s±s|ˆàHQzdõ¿+òó­²ÑÞ!ð¹èíÙ»|Nûë#ðÃIÓÀïˆç ÑÀüY,ñÀ…оmŽ’¡ÿ1 ÷|pt|¬é:ÇçícûÜaÉŸ£ÿt§ímúÙ¢y[ œc×zŠêÜt_k%ôðX kûLÔ¶hpÛ€ò*w%dø ¹ ]Ê!\ LSéØd#ÃÖ+"ðÍ yV7Ó"L´eÖÛ¤5't:NF¤.šªUÆx FÍ'Úóë<äÐà”×+ÂvHà |ÓãM޳Ûj Ý^.U+Î-%Ê-ìQr”¥XÄR´kUÖI‹|W–üp­gíZù†âÆŒô-ÞÝX ÅÈ:ˆèò ¥6ØŸ1ålŒØ×­(P‹ì( ˜%¹…Èȹ{ܵÕA"ù2¸Ò¥tŠõîñ$ãŸRÝ)Lø]éEFhcß!’Q/™Þï¥#ÜLɽ:7ŸðB£:¯ù¼Ð&d÷k]&6 º8$=nàXÞ%fêFì×ܽ[^ ¬†&¦ØØÊOÜö#­ñÍïÇ”ÁP÷C{ÞÉ’`-–ƒY.bj±…ßõ¤¦M¢ÑbSrÈüy*àÀ`xo‘žÔ׋ö¶ˆZö-(Ð{³ú­ ÖMº×ø¼”îRƒ3†BK†ÆÀȲWu³zWÌAH¾¥›=Wµ6Á†8£Ã|"Ôa&)O ù&ã8;[‰üAËpàíp‰›)—NÕÁ( ¯yíŸ)Ë©/:KUøŠ+‰Í%-¹SvNÞvFDI’ب2é>ÕcÛÙÌ2TrÌ݈9lC=ýžù!Þ–ØéßJõu¬aGǪœ`Þï6+3!§’¡ô÷쯅Ð`^½ÙAþSôÛx”»ùéÁ±¼>šô°ß\@ ¬Èc帉´;%‹I™~.c­™åTÔ\g߇ƒ¯ú £ vóûÉœ{úRgD)äŠ?ÒczÚnÄ|¨ˆU=a¾ð+‰·ªž¾V½ÅóÚÐVïe$vš#XƒÍ̬þ#å±{qÝZsìÀÆ7î_(†Îcî}žD2Œùè…»ç((~7œ–Œ±w  PrW‹ Æé0µñIoаõÿ,.\ªúÀ[%¸C~À÷¸{CÃYœûv±‘@Ï̇àþ¸I|FÊèÀ„•t¯•¾’“ÿ†ÿw¼É1\—è-—'nƒµ2µF[UTJƒ‘Žöñ…,VÅôêU‹þ´©R™"¿¬ïÚGü=µ r$`<ã½Tks·¾ËÄåã?•7ùé_€¶¾9 x³|—}?9Š{‡Ön|Ò%¼-}ù-PÃ%í¶¾Ûwî$DÞ”ƒKõ{§9> 5Â3æ’ˆ+Oöÿ"×ÌoDBg”J݃VµôÉ«ÛÊE€S[¬Òaoi.ïÚÁàžG“E±ÝqSŤüÓé…Ûòø“5íYÈ^rÙeæqÓí¡¤ÞI¸#ÓŽ›m[z7’X’Ú¢ªÈ0Ásc×ÎLˆ"ñ¥g|üâjÄ+«§ÿ$z‘$XîL¿`¥ Â%úÈöĶf‡Œ'9;B= ÚØ[.ÀA‹î>ó»øB¥[žb=¢°ªvT*bk3‚8wÇÒj»¿ìñÝ Üì}mÁ‡¦ó+ŠUõËk—r}KC]ê 736³Ië:ŨÈ=ãÍky Ò{c9»vLïÙOú/ÌS1@½Ãékì ¡€œ¿tšä¾$5®˜ƒâaÇŒí“YcƒWh#îðãÔ· —ÖFS/‚ßßjíÄRepÚÃ2-uc›¼y»]º¥8úëúy#êêÇPO´äï¶Ö¼ÕÌÀ‚¸•>–8Ïâ7ªé$\™·'ðdœwZ…ráŸC ÿ÷Æ™÷àžWñ ·>UY+µ•„#Hີ”~6MÉV€åÿŸ²b²¢¢Ñ£y‹«§TeXcJ1m÷ÝÞZqéÅû5*:ꮕÆ-G³“XÌ?†gi¦ª‰‰ü6Ѿt•A1½]"ïƒ<=ßš®øõ·ÖÊFî& r?;iM¦èçÙëfÒA€QÀe¤µöÜ=—ÃFÁ¹µd¦¤'ßûHU†×9©ö+9~ÍîҔ졣㉠qxîÃ’!Ît°÷Y›q^Û; ®O:æFÀ"1X©ÎÀñÚvl\"ÝÔ •S!OC+>æe6Îh+­€ßù‘¬õ²Kž‘‹Dq·çå2„¤Hs–ê]pžÕ¯ñ$k·^müh€Jí"'>$wŃ¢è §¾?'Gi“ErI¢Ú &PEˆ®iøDþ…Á;*LavnÊ)¯£Sïr‹•t T1^u'9¶/°µç¸ÿµçé¬ï˽àqér9íS®Ë°vÙîwì"ôw-À¼Ãã+ïËp”öà›:O%ýøV×¼XíJAÝjî Â5•ŒÞë! VÙrò:ÝÐB™ÜOJu¤å)ÙѶÎ?f–¾O˜ý&Šo¦ÝÃ[FÏ8­ 9TdáÞiÆ.bdߟ`jSo]ºßà á±of4ãŒá7‡æŽä2¥UqH¥¶C?YÚÌF&ž¯Ag28bg…±cFç™{Do“LÍÕ½ÐôÌÖ<¸à™6Ë­·$ ™A£QÀ4ûcA´µS§/9E â~ zšz§D2ìvJ´bï—Ú0[¿ðšL-Õ—)LV,ç&ц̚aÜ$Ïý½FËEªf#·¢ìùD-(sžmÇ({¤á|ë LŽ«º8…âÏø=Heмü+i<ô€8¹÷R9è„(‚v3Á–ÿ $œ30HS½ß¦Hž\¸ ͺ)îÃ(¾žj3Ú9î?6 ̓ÆQJHW`åH3Ä;2fºðö•ö\Bezÿ³_xU+Þà2!ùÓ=³ÚM«ÖzžTQ»á‰“6f|Ç¡IS2†&ª¢d«¥‰5‘7mSÞ.Üé”VÎàÈ ‹Ä­ !à}{‡l oL_²ž™nœ]ónÖV$Éo°ŠZd¨  ”­`[¸g„£9`>Yïq‰1ܶnŒœ=]#¶ïLbÅøDS(¨7Ø`Àq@øŸ .¯•ô¢è}é^ ômþ¸“K⺠.ø„üžîÿ½~ÔvñÖmo¼Oç[ÇÀèLº_#¿M1ýí³°í€£Z¦¨Â™°sCЬ`'ˆòé‰<þ¶EµDw©nß©Þò„«‡üÈùqã È…¶Çùr¨¹Ø,D ŠóèÇè)ÎèSÙ¥U«²ÑhUo^©Ô—ùûÊ—Nè/׋r©'0EDV‰Z¢’–W&—´FÿJkÁ!ëÓtÑ>:æÆ½)\/8×ðvÿ†¤®/ã‹6¶Î_ÀÛ +šæ¥òXhóó¬°YѬÎÈ[ZWNjün¶6Â+»ÇêÍÀNI¡¤ù NÖËTjl/a°jÌdz› Î‚²Œ¹(Åÿ%6¸0A~¯B«3¬¯Œ–Ðg÷­\á5´ð_ C–âôÑ5éÕЯ…DKa©*ÍfrƒÖF“ *ï§è’E%Qä2æTÐP}ó •q¥S~œHhŸ`‰}ÕŽêþ…yµÏ,•s¨E¶)Uz‚¾&Ò{4/­¥ ”èx´´mð²O Ø1BÞ‚ÒÀnû–%h"#V.ø@Â|xÈ.ù5×î÷ ,:Wõí]Lq$5áõ¨sPÀ––™N¶qQÏü«™DÔ‰ºu¤šhÔB Û/ólÆ+”-ƒ¤Œðî:×¥â³*· $f‹ñÏó䌧o@Tíê‹Ñþ¸tIi߯'‹±à\ôë¡øì`´>p¢0ãs)xA0"#ξ¾@8¡—õ¤ŽZ'‚ät$É>î# Û„ü~Ÿ“A¶ <£è@Ó²4 š³|7H(é°>1ekŸ-p}×ñÊ*™¦<(‡uêÓ\Ù;q1Üm•økéÕseþsÊ‚3ö¨wÍSzAyºAÅC‹Ž ‹èÆj*—lñ*ÃHÚ‰G|âØŽrò îƒ¿,ØÏ‚†¾È ;!Îÿ)­ÿ«$40ÍËrõ~ˆ;³,eë<°BeíÏÁÿŠ0âcV+ÂÂ[zp“»­´Â1–žó¾âŒ :n¥E¼ß6« ð‘ÔLÂí 9îÐiñJÿc&p¸±x™¢9XÖ*CÂw5‡ö›…ëÆÙ/©Š!8O¯9ئÌ[a š÷[ÅïèÚ)ŽÏ;ó*„“ ‘«¢|FNG‹»6êLd6²lÃñ+µÒâmæ®EŸó§‡ƒ×:Tpþ7OÚ£a‘Óܨ¼ ¾žü}w˜I²¡¢A\+¬†–óä°Z§ãj}QäfüìRO$âƒCJ}µHjzQm/XPð8ʎɇW, CðPؾÏ3‡J)Lž Šý “¬G ƒ¬TæòeâM¼ú¦ÿ»S”͵?/ÙµL ÕAcÍ­.$(©â£òjMãâzªPP&(a ¤?ýã+Q·saÎt7 °};œ_ÜКÄòÏÀƾ“DD¼5‹$d~¶Ñ6ñ*ÇÕ•óð:GMÖ^ê·Äâ…Uí)?¡(î‰ZÇxcMé±°Wô--7yÓ—ì7L”9h;J4J°ÍüvGd¬]Š¡û ¦á™7¾ȆÆi6½ÊËAuši¾$G8åÉë'á¤LmÆf] YŽÑBY~šIºg¹Ã¹ÅCÙäã;—e„\‘¼•Zr½¯ÕR0 gÖ9¼bêò´‚Ÿ+w !òg¹¥¼‘Þ/è2¡‚„T„ÏÛ8ݲÒͼÏ?}T^y<M2‰*e®±(55p„õï­*¢IK#4Jœ¡ù8j=þÍñ’¦K9²i½QKiÞFú;#½ v lòº @7XâÉ+POÿ Ó5ß1»ÕRQ C¢¥º ²Æ½ÌDBЃ—<.­ô-ø  6ÈßëïÙ˜í×w ^â|çìž©‡ep÷ñ\ùÂau¸¡Ñ{!’8Ça²4ê÷%ß+õ#ò¤ÔE'Á(ÌIü‹T§]myDëŒ aúј`át.š >MŒøAcžr‰l &ÛºÎ"«¾}?ªc²GS^9SÀ}zDjœ¢ñq˘¢º[X B÷ºëÝ9èè}~s,Ãôk UJºÔQøØ§?vFœzø›y²—öÍTÞýE@¸ýoÛ«¯µÉÔÙ‰ñ~ËÓŒê y©MŒáºTXCeHn« ©o1Øó¢*$é€bŠ3\ÆzÅŒ-ìXÃU÷Æ€(^ÔÔþ–¬ú¸Ç‹dŠ^3?’-ª`,§«½Âé¹B(Ö¹íîâãÜðã-»ÍiÀLâjáxm*ÏÌS_ÐéÏÞ“DTœÕ=¦.¡f­Š¦.r,XuŽYÐQÓP‡:×ÈJ·»È{Awj¶À¢ËɶLV®Ôµ¶¬C·lŽíáÇkžbJʉ"x¿ºð§p©”ìxã}Yªó]×TŽ ©!HòuÎF2]Y¸ ,°% Ý&«U×õìÉ@²ßÚ DþN¿ÚµAº½ÎX)Mc¢UÞñ9yÞÝŠsxT’,ŸÇ"ÐN.Öæ[½—xq¿í}‘­U2‰PºYRÃýÓ‰Sw—ãé:ÚåEZ„Z@ maX Ó¿ΰ¿Å%çñÃÜœ…YŠOlE%u‹¬én!=µ­}K¹,±Ó¼ º"ÈÎ„Šµ-yÃîBá Žó2.\ò 2zË^C2A’9ßûXo9îE‹:`¡†ArQøo|·XÕ59v('f×­ž©é¤D=U¾ôö€FÉ >¬ÞÈB¾;’âyÍ”¼@M®±= ൱o²œýͶ¥JÄŠ`W—1#⌞Õß(¿u°'AÈBýA“÷ ½V;{5¸ÍÔ®õÕÄKç"‹á×Í—191(u¤#P.ÞmxŒw2™$rPkZ4g\,ûè©Fk·rãmK}ñu¡ºyÌIDT'ã“ Måª=ðÿÂ: tb M» b*i8_Ýæsq¼çýBÅöÒɉ׶¬¥X(]ñŸ“ÞnÕ)3‰Š5ª%{ª&zq¦B¤6š˜ušÀcöËácL0¤|9‚é Â6*–Ó¾”q‚/c'ÊOƒ5Ù#@Ý£Œz¶N!¸£Æñµ¸gµõ|ƒ"D°Jÿ_ùÕXså(v—qÛ®¹MìÁ·ãJ0yuâ¶Ö à oÝ~'Ì“2F•¦‘TJI ¹±áaxˆYžùÃ*ª|ûµÂ,~â†ï¬VµEÀ;n§??æJ>ÔfÜ^«eßþ +¬ÉÃïÀFÒrí+u}']­à$e]7Ī?쯈•Vsê2I£ƒ íÓÀʜډçÄÁÉ{3ýJ»(´uÚü{L•ÖNe÷¸²¬Lt#»€ÒãBzlvÞâZ˜ô¿YôXDC“¡ Fld¡q Y^¸ŽŠqõ&h`ø°‰ÛÅ5øðFZÈC§½™'·ÒW=_@æ+±q/ÌÇo:lM™~‰¸<·rž#©iZ¬¹ú;Ãõ_ÖÏ‚Iæg\-Œw8#fמ¦–°¬±rÔ¨bˆ`Ö©l~ÎQQ€~$jÌöyp;šxÇr s;vmŒIh[©q£º7xõ9ĦsŒ5/ÌšŒ¸– º²NÂü°UÀO¸»QX’Ñ÷/Àã­†üŸÏ°¤nÀH…Íå^ŽñžpÔ»Ã! G-â·ºÿ¤,·óªH~q¶ÔåSÖ_nS/qçIµÆ:<ùWfuæç›‡üï£ÖTjʬK†‹KQ×Ìë©ÏÒ¸]•Ö)é’ˆ¸ ¥ʮ̠’|Tˆ¡ù­až¸sά€ÕŒ¦¬Óö¡Pc!˜7Ež±PÝÌš#©/›-R¿[áB ÈøÍ>u(_Û ­uÛ}œXh@4#&èWowc¥t±q%^Z`ÊG?WIÔ®‚¬UÊPš@쑬[ËF¯ùìç=×|/جܫÓÐå±&7Àµ˹Ê=ÝÿõçÂÿÙY.ìg¦6y !z5¶ÀvB)JŸÀuÎWØ^OLo1¶4™_V|û&›xi'ÕSË>åOÌþ§ ¨BÐFHÙ_$PX2›¤â¨͸"V]®F创‹Þï{#ßt¢ÏÇQa&ÄðC7àa¬Û¹šÝ@tÌú0ÔX~ÊxÀ4ƫ̣2;c2l2¹C›þFí…„ÜvC÷ž &!7ÌOÁ£ù¯ù˜ô,øk½àÍ­9Îw>Ôsé#ØUQnòÕ8¡(ʤ‰Zr» ‚*ˆ œfœ\V5uÄÞDB(DymÆìò¼´£àüo :Ÿâ¯)е¦ËÚ݈ÐÚ,üZºe?²ÐfÎÓÕ|"¡ øÛ*‘þm¬<Ï)ܱL;kåÃBåéCe»øXXÞ@¶ûý;3·öвÛõ4ª[ª×1w锲iê9lÒ"o/HkGß{—ßdç`‰¥ä—W•í& Ï$HN"´hn‹×?T.â?W9~ó2ög_^…¬ ø¥{$4ú¡´ÝfF%Ô,øS × ÐUØЉµÊ}kréqÅ·Tþ{Q§@êdÆÉ[PçÜ*Ú¬&MŒ®`“;•T,1W>h¹þ‰¥HÔƒB¹~ØÇÀ1LŨŽ÷Æ-·æY?å~Û\‰§˜hDDF’"®dý\M#²G,`xù7Žù×xèâúê°wØIþè–†Œ\´â† …lé0h÷¨þhg<ó¸•â¨<`&Ⱦ¹b„OÏ廟õ½+εðöL>¯ V¯Ñž|@üäåÞŽ]…ÌÚ'Mg?~£þµ'nÇ “(:#b=2SN­ô–KpÏ'®GʃœÜél<׳9èe¬áݲ"¨fÒ ¹HO8(…~ü …ýÔPL.µí;»ÔÀšvÏ”°'#Yµ)½ýËs Õ*Ø#»$xæóÇùÚÒdê:5SìÖ”s‘õl勃H&Þ™Õ däÒ™ÂG"½²P¹ÖáÜÇkÇȶ7¶ 3AX`rÔá‰%hhtÔ=€ãEj‡8]ÇU¦‹ ˜‚Å/¹¸DxCôi3³²¬kµëÃWòí(wÐÂÙuô*@J.,:¶±~YK”Û©ø ‘Ϲ³xy묗ò“vO–mÓAƒÍ€¯AM¨økô®_´ GÅÛ3šÛüÕïú~þb“Τë*´&ÎçWg–@1CGTWŽ–ºûÂlêÃÚTÄ!Xâˆz¦j€WÈos=:80ú½¹Ü})eÝ/Ó‹|\’ëjòŠW,R³³{š©É§Èúl^(ý‚¡Ê™kØUz»œ½ð@{eOúÆ3ðTáx´ìñ®^¯¢èeié Ç&þ:Ó…å%9Ã*Áq›#üâJ8”4Æ¢§È&ë5=2pN™k»<Ë|þó³=àW9û9€^8ʼnGiyýžK/á¥ÏU>õˆZq:qdé1‡{²sÃæ¿oi –†4§“= +–Vä'œ„³WÖ?³éÍðk¢6Å8ºj/NÖü¿-寎Vy¦VÄûvÆÕC­’#N”þÈdÎÂ6,Èp@€v:ôtÝK«q~6=l…,ѳ§§‰Mëá a~µ>zªõ/ý”yºørÚ0˜wU‰oáÉ‹~M]]u—Ç×:nða„쩼q¬ý¨²8¯È£š÷‰ªµ÷Ý´äÁÈÌü;‹¦î;·•Qȶʋ$^Å"çFåA#Ìà.©ÓÓåÛñ †-º' %:@áÍ!â‚TˆQ¡²ÊI€ç=—‰(@tšÿºû¡îg¦f®òØÆŽ-/g`¼%/„ÒUæÁwâ2kqBÄšµ5=”69{.‚w]ˆëê¸Cx¯B°ÌÆ2ì‡ Q]†)iéofÝ(0d3¡14ìl’Ô[¾ÅÞöXþ¼5¿ð馌ö¢+@IJnÚþ#ðzñ&/"³UyYÈù±6Üýø¬b<+©ˆ„ñ£p‚é²[™\sÐÇÙ»‡@,µWk³>&ÕO‚ AS{F;úVª³™cÿÊ7·j¡T\„ ËžMMãÖªÜoøy±¾Òø4´3-ëŽDÈÍ )ÆßXÜàú¦Ó©k¶`±r^Ö6N_÷ŸÖUŸ•ã’+-ç–át=)x¸m÷^íž>.Äᜳwm;HŠŒÅG‚J¹™1–ÔÁ1^ûïØr'Æo<¬RG¥)z“¿”àÖ`!4ºhùóøÃ+™³„:£mÈÊ]is°–Tf³ˆ Ûãê-ËnQ³%ßb SE;>Ô bq)¢yø8Š"W Ôbr¢ozj7‘Û‡—däLøu°Hã yîåŠfƒ«^v¿[|èWE÷Ÿ[WiÄóÄI?¬+Ô‚»-–r€ÏU°ÞNÌy*Y"W¼ÅocXØà¹¿6oðÁ:¢0h˜Æ® ü¬¹šwôé“ Àc1æ¢Sõ‚.¡&’Ýä\?Wã?½×­Ö;Õ‘ã¢~ܳ7êôº¸å%1WYw%RÌ)mÔy%߆`$„[ìs{RCU8[ƒ"d4»-¡_Ž9øågOC}•ÖH“e$ðÕþùï1ö‡…èšõ®úk¥N-J6ñKhpú8£¿ßlTØù®¡!Ö1$¨aúÝl&û ÁÇúäË` –¸N(?H(6Òt2m6èi@Èqš? BÎÙ°î³’m훌<Ê•rÀ ¿Þ)Ü¿ÃIýw=ßãξ[Ì<·¸ò^S/¡'׆O<#ÜfâF³Ø~Œ6,ÆËA§¯1y•vëÆf~+·s<…®†Ñm ›|«‰{¦¨XPæ¿{ÄF½3¼[ËŸ”7„‘§WÀA±O÷ë$(Ñ÷EØX9ã®CÊù}Ë7< rB¿Òp¸ÀŠ{ˆ…SZ™~æ?öx–·:ÿiY~ùîDR5Ä£ÔU¼Ç«’`{ÓÏ¢Õ©œ¥¤K@ # äŒñr«¼O{ªV’N ©–Wá×éŠo"øšÿ5žÞ¶WSÈãÒ¾á —þ–l’5ÁQ¯±ð‡_ï|ŸEªÀ²ß 0©šQÏŽ(öÎÞ"ò­Nx~»3ØQ‰œŽ’H<ç6ãx®>¯H @êîÖÀY°R¨úÌ{Ú„=úhÓ»Sºøá”†)]wº¬»XW¡ôØ ûj?©­òUÖ¸l£²_Ny*½s¦ÿ”6—Uó‚5*4ãrézÈ“5Oð>SìDï§}°`€–IZˆWßÉwo‹øxºÅÑœä"5*.X1Âmÿl1Ÿ@À>”aÖ-¬k<ù]«½OÍç‚$ï0h)³Pÿ|ïV³h\$þ"'Ÿ_XKd“gi_}iW„Qoýê½KÄf勚Ž7¼6ÖdJyÖ]©…¼-`;鮌 Ç£©-*õE~Ž ½¡©$©õïêÍš|]gzQò¯Ï«*AãÈŽC- ið÷Ž¡L®ÁÝ»3{v´@bÁ#߬Éá8%4ÍæÜ×ݛ١{áY®·Sš˜lD¸bIn3^D N­Äø‘ëfæËïÈÀ£¾Ù¢Ç*¶f¹†»åICôpØ=¿œž€ ˆË²ÿâ9çÂÜ×t΃ñž«9\V#X£rZ°D~¡¤*òJA’CãLlDù¸ø7G<Ÿ>¾Nrz­¶í§»I…DdbS ÃüZ¢º‰Âo–O•eiø•°¦ÚÃýÒ~ÅxER$ãBN ýa_)ý÷5ÖCÉSk´³1è˜öâÔv[£]²8ý¶®‘ÃÊh°â8§Â³_ ÿÄÌsÒ_-fx¼)Î=Žäz';²ï’Ü4vJ÷º¯cÆ:s–qñ Ä¶+ßRŸYT¾2ù>2é²ÿ“;2GNÁ[s\î"Ù;ÄQÁ´“a­y¹žõA¼¸¡xëUž¤v]óiT´òf^¶O¾û7ƒÚíAëq\Bævö­P5=ø^g«LÐÖöHÓÕÿ–%³_b(½=Õv¾RöÛ1ˆ‘yc¼^¼rqÈTApj¿£ÏBšŽÎ¾¶ÓØ=¸â®MC°š¥éºúJY "4ÔEÞ‘n0#æ³lfÁõ(o§˜‹k¹ð•d$_Þh€µ"$Ü-{­ˆ=‡bO6çÚgSnÎT '²Þ—Q£›ú¸IÕÄãÕ*=lïp‰°=ç¼÷ñõŸÞÞ8™Š.˜tZŠ+19‚SÓ*é"$R½®„Ò+ΣQÐÞD FZE./±&+™VU ”ñy0¶P-dS6ŒZªf,ilÿÇâ•-ùµƒihº·,ø%tïîÌôhP(û„ŒjOªšÀá~¸fFUèÃo5·×£vá‘Ãü—dKô"Xà*=Nî ‘‰y+àvŒS¾Ž \¥ˆö?i1@Ìß½ç#Œ‰‹$µÖ9ï!Ÿ³ì2,÷cÏÂÓཅu‚¼*N¨ƒñϰú“»¬ÊKâu›—k²Ìÿc± "m è=ØiNŽGÛ€$ŒQ¼@|žèËÙ‹³-Á% iy°ëȱ²-øWv·‹L Q"1@u…ØãG£;íÛ$Gc7áæ ¢ E…AÜ^¾S Q9›¾Ýõ¹»ükåYgíË‹<Ï^+‹d|1uì9Ís Öhe¿ÁY’†‹Ep”q’6²:ÁZW‹p¡/Û-›~\´c6Ú]Gy0v'×—sî‹Rh÷L áSHÙ+tÎkÄ1¾ÝPâ›ÿ°ÿXÆÕ ×>q`ukó£Z 6™¸rõÑ'ÆsÂi $JB«Ýyü§4‡ßõpËÏ0òÝפ‹3b¢ò›°w'9"8^É1-àz ÿ¼ ?èóõtð㡾z¾bpüÊJÞϪ$Ÿã„·¾åKÅ­þërþ@¯Áq ‹êÛúsÌMZ/0 uñª|,-d˾»Z•þˆ#n厨Ÿ¯²ó9ú`‡ôÉûËbÉ2÷\hC 0ÊJͤ€@t£Sèé3ÄŠšÝ +•rjðíµ²aë¹»¥Í(Çh)nˆRÍ<®½â0¾³~ÛkaÄùWûåÑnUW-¾‘Ñ®⼈¡bôç²F²wßaM,ÇH¦ÄJTÚí§é§ÍÉ0Îéné àﱘCdtÃS5ƒ4•0íï‡Æ’ø´×8ˆjŠDð ´ôGø'¨!ô~-ʹ×zlgÄË}ÇÉÄ0x®*î’„kœ>÷?õ‹!Ó* ˆÝ}¡ ýg þÈ£,ÓâÔ-HˆXÅð4G&Ç\ DÃçÓÆû¥¸‡ù9xŠ ë‰ ji}äbÈ‹{§i,"üg=Ý ù™—h 7)µ¬GóöêÅâ x½‰'•ŸGºˆî±+°>C4«ÖEDåýL•Fñ¸à›üŠÎa†«ž:ß¿2Žð!‚æ;4ÜmÛ0A×Wãb6édOf³o¢‰¼ð!ƤœÙY›V™OÓ¸Äbè—ƒÜOL#ÙpÈo C©y`î©‘XͲAÁ)¼ ½õβ[ëÜÞŠûذ ƒ4æ‡Ì{Œ³AïÕ!ÇVÿ¯®Å|ÔÁ‹¹rt[ÜKÅxh½9éÄð1¡É#é´d¯ÈCXf`-/k«®x.Fú¼Ítc«té€ly/(³òqõ½¯v7TM“Œ;§œ~×…¯UÅ[»=æ£ÀˆJê"o½Õß®›yY~BÌq›]Ž\ª0ÛJÌxÔQDq/y†JAÕÕÐbã0,ÌÄfže‚ú-P *¯‰8T«  ÄbNÈàN%çF©(ŸâŠj:[²¦î"ºÒìØ¼-5·yýíxI|ÃÓ«3ÛjŸVY ¼}«÷Êl,?ŒS ­-dµ>·Öœ O\•½£²½¢U²ˆê@îOçéuèæ¬‡3V;cÂI ²z±§U¥b¨c ÆQ¦R}7ÝÊÙ— â³Y3P±‘Í=‘oÒô@9¢7.Û¯Y¶h„“²3_•BAâ[zur¤ˆýi®³{iÆeŽm±Ü9lè€ÊúV©ú¤—æàvL&ISqIZ¾cÜ’øvÛéÙ ßHd_¯û݆¢áI=Ìõ‡ ÐÀ×°/’o rq÷ÕhŠLÚ:Ž,‡¢0s3â…ÐO-Øïƒqk4}à˜¢ò/R>®Dh%N¶·‹|HÉŒ†^Wñà,p¾€ .Þ2ŽŠ²Ù\÷<\"ª­!¾‘¡EóîD5:(¿‡…Pzb Y3jvÅE¦íÓyõþ ÇgÕ£k‡JIìÇx«D÷¨½µ™%˜ˆÈš­—ŸJ.¡”ÅŽËp ùîFÄÅ 8§µø] ß1,K2Y 0¦7yÈâƒOG¾”Ë/i€¦-£v2V}ƒO$mtü=ÞÓ­¨e]ûÜi”4-݈—Dúpàä©vŸQSˆÛ2À”UȪÿà­m¾äÐÐáF(˜Rm·­ÃD•q/ó/¿^[ ¹ƒJÜ–¼·3aÎK¬N Ðú uîkj£¢N{ñhy@h±‹3cŸ—ã1Õb øu ËkÂøº§œMœ2hO¡Êªm”-¹FAf´Knв-÷¸¿o½˜b¨-o Aƒ ïæª¬Œé,¨Ê÷£%˜ ØÝÖaÎÊ[>Åða³*âÈ6?”˜äÚ×OØ<Ÿû_*`>NŸ,&5#'²…D÷ùTsà“T=ip…Ô†Ô™ìjGÄyÞʉ 84«MÍÁëOÚί X­Þ)ŒÜ»¿°§Rã¯OQp‡ÊýôØhCñÓ’’ïýFÒ‰ëÅ|@€×›´)nW^ò,#D{ñ ߢָ_íÄèb^ÆN9 Õý,ä9'™ž&ä‘zÃCgÂd>Í¡Éç.¾ŒÛ@ÔÖ´og’†RÿŸsÉìM×<#‰¯3¥ÕÆ3ÐIšÒçUV«5Ðì‡ðÉÒǨ?:Åø§Há°@: üvAÆ%Ê5fô·l*Ï.È\|Y«ÁÂn¡ÄBÕ‘ôôY{¡¿6RfdÏ<%¢î'œè°†[ÿÈGå†åÈ¿Íô>ˆ$trÏéý$|7¦é¹+ËN£½ Æ­s½GÍg4Ìh2Ãô} f†QÛQåe&ï¡âÿŸ{Pd˜!æ´:®a™Þ vbðèZe!AG¬ÚŸ©>)ñ¥´Ù€ÍÚhª9Lt0x¾žy°{Ë€…Z„ ï¢)i.ÇÁƒA¥_µ%Ä»ÀkªÛ¶Ù&Ü™8šÊô§…(Iµ ¥ˆâ­?&Äk;oŒã¡)(*l¶¾/²ÚeÎX’ökÎßÒÞdG¦´ˆ?L'ÀvábwêT]“³ƒð°µJÑ¡btóB°ÜxT[àËÞ[ï¹»%òc&©©X®}GúÛÑñ׈JœþV€dê)zíáÕKF>\c»déˆÓ‡õ¼N‹7xÖX3‰ÐËP£ë"@Ó3UVs?ˆü †ûºÎ 5ðÛc”ù_Ú?±Ù¯¡¸þ!a!ZŒå!šyÖ{òë/Ügaiã)·÷w;¬¬yš"Çø[|W© HB44—¸ÿ€óf‘q!ú©ÈCG û7ôÙ“í¹¦Ü#+•´¬¬rAPÌ‚¤FåøÑWLÑs÷Ó¡.ó½)8ƒ^£†oà°‹2…]Jо\;êk‹eçÍÎ!mjÇ™½BÕ:kÀl÷÷ŸifjÐÒõwŸ_S QÒé'—–jrÚ ŠöY ):Øpæ[?—Lî‚sOßRP5²×)…‘y_ÐÖ.PZBX½@„Ì3irÑNöÊyNh*ô4 Ÿ¾$m2ΨéÆÏ"˜g0^™£;ÝL-©Ä5£¿´l¨Œ¤{–,J›ç7TôF*—¯xòøÜÐh:F¶¡Ãj‰€Å´Í<,|‹c7Rf­Ãð<û~çùÏù.ŸÝæ/àÎ D&‹»BÿÚtý “‘‚å³×-…šÚÂ;ˇlΜ @VÙ`(µ0#}…©\ä#¸0~Ÿ..i‡¸¾Æ¥a¡ÛEúI;L]{/nzËË;]ÈlÅzFò=f‘FÆÃ‡Oœ“ÅÓªt«“L#Y„å’Ýy<’¹{le1ü¬‹s÷°jíšF.xð††EP¿+ênD—A^±¨U4ø$ͯZè(—I Âh¿æ%Ž„Kq»Ž°éÕØa/ú™¿êÌ[QìfËÚÈ1@C×d¶P÷pLÊ^Ç!oþï7™®Þ‘Ìh, ɯ9«nÄ&Y^º2üÉ‘8‘L<²O«˜r¿·NêU%>kõg¹íO‚ØhEÁ•–§Ä™™oñ÷©Ç é\$Lö¯a[¿ú8¦Eù½§{XÑ!ÊwBQ+‚Ôzc>û™'8œzƒ¦Ò´F³TqT‹¿³ßý]7˜h.™¤J\ ™ pYÕÁƒ£5>„0F´‚=ãÔ©RÛÓ$Í™·ö¿éD4n1–„¶€HC% —ó–*0P~Éc»hëø,$o×#¬§”¸èe,ÞN}üxn>_y°½Xî™X>Þˆ°ä(SQBÎ& ^Íl6‚Ò¬N[p×IQÔ ?†a ¸ÄZh®BKã¨ópGóïÃ’WQ¾è‚*razÛ£Eú±¤>ñþbLØÿAWs'_ 3EÖC‹f»1 VñeɽÁ«¥r¹ ñ ÍîzE­_Y¹Åw+¯ û<üÙluõg}ºzMiba²ßÚežsìÂUçëuòŸ—ö3¯ëœÕ¤×Û”Eê çÊ%„tì„g¹âeüÉë'„“}hÂÝß,£VCߨ£þ`@Œ½„k+ù„q`¢•½|FWŒ^/Æ/þôËÆ–§ÀyDKHˆi?BÃÎWÞ¾~e-Ûeœ«Z©fÿ³iK~Ç’Ž”êý«3¾¶Ééíµ'¤eÖ”õí‡<]†lvòºg@#匸€ŠÈïz]ä%ê°ŸŒØ¨5ñïñhsí„eÔÄɇpž[ð¬ÆÙuô@U~ÐÈàz’|Æ÷§.ßì9ï­ƒI‹Oý‹9øµk`÷þtε°7¦·³LÄxÝ­“éãí¢ËÓ¬Dæç¸Œ`#'¼Å¥ŽýøíþZN×Gmf<¥ä<ý„< B²÷ÑKwH”Fö 3í1§ÅiÛdëTðÚ†ìK[¹±°EqýÖñz3ÃIj<+"¤¢·“’Ðþ ч¶;1_2€*±îû/\[A­|°ë*PóhdÔëû=VÙÕoHONX²øÐr׌^¢œw³wK-²gˆÝC’!¸[q>v<ΡœC”@ÖŸÃã £n´6k°Q)¡gÆbL)÷íÝÙ³HùZù _Å«bÝ)ŸvþüAtþ»sp±ƒoô8] m:½Î–TÂl[£ \ÕáD{µ›x_e І¯órŽ fc›¬U‚r‹\œ¨!vsúÑõPõ~¶G"]»IÓà£50ˆP¢MB †ºE´²gò+ê‡gëCÚüÛU³SÙAE bÊó=fL'Yâ³}g"Ê\rÞ‡ZS”QRâàFgC¯þˆ›_щþ©Í{I$©µèù9×À­»–ÍY¸k‰ë;UžÒ(MM%÷O´Ôx^@SfžÓF»¼aXhz‚Êd{ÛD·?Ît\¨Ax£Ç$º–qµô7qµ¸ÛÆEp(`[”ê]ßT,éWwÕ`B33à–!„ª¶¯Zù“¹S~æ¨2š×Õ|a—Ç;¥1\˜ z©Üñ|xÙ"G§ôÐê°6ÅÛþ9¦Zy'ÌaïÀݾ¶Øúš^)¼WMmΞÓ:¿ÿ@é`/Wl*{žãÔsR\iH§úŠ³Î»£]uÒÎmstÜíÃ{a#í+¥÷kW#»)¥f&J“ÛÊ‘!„L j“v¢LΣ_`´™õ CkŒb‹þÕßýŸ ìïFÓ¼³Iªb´ÿvIhœ®X­Èx£Å…³½¥Üø ¦ç-ÒÌ„>°&!<-°•Ÿ—Ÿš»œ×¶\¿êÆtË4Ó8ƒôm-VA{=,Ú8ºa²b:JuiP9)r¢Q0„:|LK»Vþe?À4ÎUÜSm¬±Ï>§ígcÐ'I`¨YÖkÐô×fíåô³³3 ŽõLƒç=nŽ-XtéïÉâOxîÌØ³Ý– ;&ÑYÁ¬ûÔ§t¬mŸð,Ê+>4ê›|:WÄôøÎÛD€znAÖ€ÈmqÖÞÚ?¸í¶‰ºE¾d4Ñà{­ŸyYº7ºM™ŸtÖóïC†×:2rû®®¢¿Ÿ«'Ýþ¼›:´ªq$Åb<“c1Ê-6ÈžwÔ¹NŸÞ›¨&Œt“F%$œÿQ¬áŸvâb÷ßùfSħDŒø“뉬šŠUõ UfuP4n‘þÝÛIðƒs*[)9–Ôm›lt±³m\`z½„õŠXYâÿã«g#}¾û]ä~l™¦’µcŒp›Dò<í3(!Ô”G‚›t©ÙÛÝwÏç)$xT^ÆÖY»äêþë.“ þI¨.p…*•÷޹jZ'™ô¤tüÚ?_Lì,n [)³ÒLe˜Ç6?ä,Øý#T2¯}»vµ©ä¿&=_c¦eáÀ 0Üuc;%›.¤¢ó)¹›ÖS±g•M+‡vJ§DrᢠØ6¿ø°ú!Ÿ L¥æ +E+¿•5‹“9Ní4J;̆Ȭ­Y·‚;›—èãž·ÖÔìWî¡Ò\Ñ–]!©Æ‰q…± €–‹qgSÇVÄ©¼@SŽÈB´ °B.Qº­_ èU¯9®Ë:¹QŒõ±ú¡|ü ·XjøñåÂZîjDY¯LVý‘~;ÕÇ–!D™•Pi1Æö"ˆàÅ0LoË>¢}l„­L£ýÍÁ,GÍÔÊð@I"h p¶A¾%h:˜x%%Âíþÿr:±÷tÁ +>,ÆW³z=ß««eÃF¡Ù—v„¿X£D;#Ï´C°ëVV@[’>ÝVeØ=û+r}TAŠi-ÜAÅ7Îbµö |úD3ØÄe_¹š±:8|8seÁ^hLÿ>iòüì¥@ÇÖ 0½ùæa:t¢}ó#–ß·X\o›aD¤D^x™Ä9yßÄ9óö;ä#OG)3ÐÎÍ;'ÐWG+”ö%h}N *qhb7`ƒ0Ÿx¨Ç“7^žr®ÐAi2ÕEYˆÞÈÖ^XM°%aÅßÄÞ¶ö/«ÚOÑÔðÉ¥ ;éi³2N…Ù†Dhñ õÍîѵ2.¯ÄÊù»´Aµ·áz3þ´O…½‘=VEf/»ëo9]üêžEÀÞ+~ ÎÞ[±—vÏ—‘g üÑÊñ¢=àb{ÌÉl»B€lVÂjýžù+j¤¬ Ô_«&·²Ë:t¨À¨ú¾ëdNð ÉËÚG£èùŽ{¼Ö‡ \áÙ§å’Û©»¡É5{½õqy×Ê ^Ãh„œ†XÊ%DH¼¶Š†æOŸühÍ€ 5Í/ ˜s»êˆkæƒHtv¯µoP1ë(Œ]y±sÌ1ð©C" €ˆ0Ñ|Íú„# z¼[û”ß®[%ý®>—»Ù¯óJ¿8j»O?uz9÷”ŽmK'šãIXŒyÆÑŽä½H,˜^ûhÂÜÅf,äËfGxFhïñ¨MQÞþ<‹Ñâ¡ *n¥3«ò ‡ ò>MšÈç þŠûHû·ótIZÿC}ˆÓBW£Ž•ºEYvd¨­ŒBQß½z²†kzÑàêyM»#w^oY"¹Ï·¡©8Pðpf¢ƒð8¯ß¹ñ?QÚÁ8cå­*‚é–7d&Íßd¥"¼Ä™Vàb•LÈÊF7¹9Wu‡Äú :çëÄ.à¹0ǦöƒA]¬ÈÝrIÊðEW'H­æ¸›&ן'_! Vø©Iž×ôÅéµ8fS‚ˆ»kþ«+ÆI…ˆÖFe¿‘—k厜c¿ dldÜ,î‘B=›¹m3|g ÷*çƒFZ¿1¼¨¤DÛÕ.“K#«Z’X¼äìÊëøÄñ”GF”ÑK¶4¸Y4ÖvéTŒy! ƒÚÂþ‚͈ÃÛ15ÄÀ‡¨¼¥V3â““šý m΋·! ’mrFF@ä  ,†F냃$ààY`Àh Ð倸OÖuô'âî½]=Zi1–‹–×Ûÿ„êêtfj*tøAI’o°ü´¹2Ú«À{ŒTÚ+7<И[¢žú™|y0¥¤þñu›+NCz0Û[¬½Mº¥tpJ9È}2ýÁå‘Î K£¾=ëé|ð1Áq…uh*«^åÖ–ŽÏÁîœlY  éóæ][ƒHÕ³•¬vm7dsÞjGR‹åî]¬,U„“'J}Ò’f;³%Th`U%ÄÇÆXòùp0V,{¼#*¢f5I[×Ää-¬‚+æ¢çr†›àJ}£0#Ág3ðñÑéÏ×kL8í#æ>ÑãJ:ÑaÞç%±eÔµ{ ³È »ŸEÛ XÝ-£ïÓ-4Í>‡7µŽ[NŽI ¿m É|„ |O l6殄2I7ËÅÎö¢„Uúq'Ü,}ìdH±/ÀS×Wc'š´É¢ír§q4o’¦ F(Ô`”)Èö:=¯õºBmœõƒNð7eÜ“ˆ{ÛÈ\ám½?<Icªxå>ò—)ÇS¢Ò©nöС“…™Á»p½…¿ßïûêN5ÜŸ(™îÃÀ&+ˆÄˇÜBGlGÄÔöŽ¿,Zñ˜‰QîA"gÖë³q1Iµq?ïôSÈ.óœ3ô 1*Iö*P>\ù£ðǰފL>Þi¡/áÕ+«¿ìÅÈr\6ÑEòçKà©“«z*Ϻ‰üÝÍSÃýt¨ÇI’öÆÂË1 =Ñ.àϹë‘”$…ÕV°i å¸µÎ1w›]zF•,É…¶lï“d†V–ëweüFõ\Û‚:çæÃ0eí¼¨ÝaøoŸ_!…Žšt7U¶JŸûe™4â œ¨cVÁ[u™"°j¶ú@†ÿ”ÂÀLªž‘ˆÌ¦ pô8ÈÌ‘†LùæS£Ó­š²ùÀwI¿ü›´ fç_ìŸ&.DKSx%YÇÁ„:£ŒLáª0}'e¡—¹™ìÈûP>ûü …ò£“ )yË´°s©»MS®ß=z©þ™+ºÁ†sžHY}‘ë.ÓÀ‰«â×yZÅŒâ$o…Ë&§’ (š¢ÌôO vwòÿÿöçLóßXwìb¬ˆõ@bÝ:téÄ+¾þ#’" é*õ>o ¢Avÿ‡4_O=öŒ,0¶Ú÷ 6¡ƒƒÙÊq;ÌQÈŠyÆî`,Ò 8‘^€ Ä;:uZTþ©÷|6^¾£ïñ cÌ0Žî*zF_ðäM‚ÛgA\9UÔ¨\š%säù—ñm§5ÈivIß«À¾Äâ ýUñä ÃéŽ;Vjd_ÖþªnbK¼©}hºÇ4Š >5 Þ°!ò{Ê.Ú$òmØÒˆ4X’­gë v^vCËDCTÓÍÑÀƒ9{N7&$Wm£Çѵ©”ŠÊbåžG¦\+^ÈW¤}°*¼Ç-Ì%Ðé+ÓoÚv¼ï´8³Ž\âÊï\’¬èï—ì{#§+a\ ¶FK®à´„޼X 8_-F{1{*kc6TŽ<I_šl„r:DªÖëRض]20=˜ˆG­MûÃÚ£éíâ›W'U³ äÔ ç+¾ºÐLøª‘E“NQCOï/Íœ„Àw‹m¹ã¯½»kÁŠÁ©ùß/ñ ó¦ÞæôÎë÷Ÿ¡†]¶½ø›à7&3C£ÄM ¸ÝÒ4úµ°È}=¸nLëü’B÷»Ó§¥wÖà¶_ÑS\/?ˆo1Óöõ½`.¿!Ð4ªÑ:]V2ûc;M™ÈŒG6 znk¼Õ eÊkVwHÿÕÙø÷šÑžXS±§çz c0%“xéRñ6“°%Lã¢Î–?S‚TæØ{Ìç$'´"wïοç¾Ï«Ñ{GqÚ³ ¶¾nT¾öºž[û%”°RáÀk-)ÖèÄêm_U?~¬XjjJýd¨ÐÐ_´ú_HÃ;lïΛž´1$´V€náÜ☮ÀÍÅy»ÈØ«‰ ‡cI¤°<úÂtö{–ç/±í+Sš©æy$.K¸¨ñ–r¢¿ "šÏ±‡)kzùÁq/½½ÌO ¨€vHÒ/FY&Ó™”)ɰ)w¹°/Ì_ª°Çj~EY½´ª_îwÙ?nÍ”÷Q^f74äoŽÈ0~( ¥µ©\>x>ÜÕˆmúy­ûÄ.â˜NÕHG1cHѨ_qå®i!–óêú½ú ÊŽèØæ¤ÀC¿”Èf|™ÆçG÷ùUÓzþÃñm6å§4ûÙWÛõÊv×ÝŠŒŒ'Xã¿ÿê —ð‡çìê/´%¸“BÀ¡Ýþ/…ÝÉ•­FwìP©çÀOßÞ.,@:IÕ,Ø ÅäÕ8)»\KEàqîß¡Å^oå°,«F/é§\ÀAÒÝyè‰×ºS<À%OÖÄÜÀê£oÚE»¦¤ŠvKŽX-]h>QûŸ$:  –ÜŠÚ‡8°)mN¹ø(_ª¶@L`¸Ø›U|ò\­ÿ‡ãn;ʹîx}¥¡9/äÌ5Ó”æ5%šÖõ T3ý-€ñÑ_ÐàèÅ­„ÄaPˆøèBÛ'³`™¦©žžq¯@>fÅ”¶Jî9šö"X¤ ¾,‡¾$!ñ7C-³„ßh:h ‡ MŠo¡Wµœø„¿Ýí3¢72†=愦G¯ºhËë:AL>Î>ÛèÊ­ Ï+¾b°«à0G+ªš;¹%{9P$‹ð¢Ðòü§{gç„ Š£œuCŽy#ºž}‰r~É Ô$bŒô±]ÐLSE\Aÿ"®œLŒ¥™!Æ¡‡w€€ú|­rGh!mñѯ•ø'X­0ñ º>FµG›0þÿë·ïKMݰsòìgïÑ¿œÔ`)JféÀÃyÁ¸þ¤\h´hMü—;é6›–‰™ýì%ší?ܰð¾ J¥©¦^áÏãÐÿó¢<*ËØ€W“·W#ÍLU¦p2Šá=oƒ¡G¦q*1z’¿ ¹oK2zMÔbãaÒm†ÇoCØ -YÆ3$vBþ×^-Ó1޶ŽdÌ¡i¡#þ™FWn¥Pg•”Ž¢Ï-õ†­'Ù¯T¦Øó÷ça½EË~! h‹È3µÇÛ·¥Ö¨H!@hYô,ðaˆÓSü•Àh’^Â,äà³ßDU' Â`Ocê©„ð[(äF¨6| ~ôY4ç»%™”ä/?<ÅÂglT%/ø°êÄݯ¤ž0cðA)Íl†º©Ñ~0VQ§—¬9M±äu„Ñð›pw#†¼}?Xé0_k¢SK©ÇswQ‰2DSPðÛmq]ì(‘u! žÇ`y} *Ÿ™ˆ5À§î8¶lå¸úì Œ—Àí‘6ëZÝK–HŒÌ˜¸g ãÚrñOQls¯Rtø:Dø…«b$1ïç¹P½û– ¬mi&Åè©ÄÞé~º¨Ü «Äó[#¬‡2,ôJz®síNÊã.ât6$ЄÁ¬ÞR×äØK#µ[ Π!B/¾4Þ9øŠrøIêƒPرd¢h‡ Ï~=XþùÙ‘!3ÆÉë89=Û(@ôÍÞ˜½’σ¾ÓˆÖéû­Í.·#ÆÙXÝãÕFxýìzä±¾Ö™˜c¹þøÙR©Š•f•€ææ''”ÇÛ,šÁºÎ×û5…Ï[=„« ëXÉÑ»O•×~NRB5ß´øg&[¯_"<;Žä™í¡¥«‘–ÐSM-k>/5ð4 ÇIoÔvn‹¸éÜr]îS1È%·çMNôÙ:¬¥9ãÌŒú%~s+¹"RvÌ(×f;%ž{þ–/žÙ@ov©£§£× öÜ,ÖèÏYÞ5?”ààMѠ݇Po®Ù}§ï[˜JÆÏÛ <ÜÝ"ZwÔh>É&åâ.Öƒ½ßÑÛ ÈŒõŸY‡8ȈìbÅ:³úÈ•Ov1mÕDñ?¢¨;‚É$œ…(ÿú0A?.µsFÍEÙ‡Íá03¹_ ¬QW`Ön?1RÄ+ö:óLNÄcóUTb„pÜ IãꔌYºúó¦ZÛ )p‘½‰ømhÕïŸÄû|‚Í£ó´¯N r3i9T…6Ami¼¡|cåq+JD±KzÜ:¢ä NèÌévW§•c7þIŸž¡ –.<¥Çešº)Áìú5œO: õýòLV?ú«lÌ`Áüåˆ%³Ì_1û†yÓs|ž¨V…δ :ü€?R¨p÷Ü%Î0j¬(œPÁ"V`'àc¹l…V†ûa¤;$î]yùþi•â:'p.ë,Ï×PÒYÅ1ZE3ÐJuâ¢È;£ úDÜÃloV«‚³=÷´?K›‹vË|‰™Eò£&êOoÅeÙ²«G H1'÷ê Œpm³ŒÆ[é@ ÷âq99 ’Cðkz3ÿåyBžeëïeÍhôÕÙÕ9£õxÆrØkACû§«¹öÏf„üE‡&ìhîÃÃ4ÒÖwF¤% ¦Ò@k›\ƒ×ÿÄþhÞÇ+ÜZò§Œ£6¿š!TãZí]v†ÃjÁU²2#?ŠpwÈ(g~Iaæ¡Ñ±³V\ñcg™*ÈüÑyÞ1{†ˆçÙ+awd-³.üXzLꓪ]íl¾+öÓeåÀCj‘º(é:B}¯ÂÅßž@D9ª4‰“gizC1nü>ªî%[ûÌ à˜=‡ &ŽpÌ>¦zF8=€ìÚ -ºqBU#Ò–s'»±t`9Є¼ÑêðH´ÊkÁ>°ÿ³Ùò¢E4ÝÄ÷£j2òv„„£ASÿ•×´BSŒbÀ–Û‡ÖûŒá <®"ô4‘Ö¤(J{^‡Œzâø“A„ãE©CœÚ½ADèæ\ß^hs *Œ«X~ÂçG¤áÙ·d¹›,øcÕ](¤ðž@U'óVɸ•X‰Y–º(’žØ^Ÿ¬ÉN`Ö¼ƒ³LšÔâ?—,i%`mD>ËBÜ4K~{}:Ï„™Êó<‚u]Yh™É:U­=:ü¹6)/‚Åoi€ÛìCI++RM_{ÔM'dÛ¼}I-)¤:àóH´ð:EÛ¶D°w)u êíŒì­†2i¼U·†Gj ãžV´«8H)GÜ|k0™»;1J=Mkî•Jâà|C]Ç ^G(#ˆiþè篑„TÑ@Ùæ¢²amMKY.5,üL¨Ûœä‰7ãg$±¼¿»„OB³£ ðk•‰fJS %Ž­IS°<3¿ÝH‹¡l©G ·f©¥ÁóLã³z\ïðÜ;ߤ&4EiCé`"‰– ),惤#Oóç¬Ä¢\„%üƒ¹i6'¥Zg=ÜXAʼÛiÕÑUÒˆò1åOyÇ’ /«¸‡àˆ°=ÞÍ‹í4ˆ'[¾Ý` A3oàÓÒçuåb ž–ýÚX y8ܱ0Œàcf†BZêé˜CRh¥LМ^X ì C—“Ø’à7•uZ¡]Áê7xD/ÁAÄé{2ÇèG}œX³ÒbpäíJ-ë/ï&µ¶GkkŸ]Y¬êyH-‡ Êí%]·tò=C1Êé's+Õ`ÚÁ^d jå2 ŽˆY©1üZ™ìO£E|>W©0,TðúÁ¿aS­J4j¡Ï>‡9΢ªk²Ú!<·â>‹Òº„”cTS§_÷H¤øRqk9]4+Û?É8·ÿãP¦ŽWZ¤Ll5CB§ügÑø"LÕÑÛÕ¡ǸûÍ~ñ?ð׺¡öA›ôãy–Ú1w6âÝArm 6w/g\&§š¦$¤•/ö(iµ 2­%w}xfÞäÔ_ú 5 ‡ŠÎEÜÁ¿‘_Ìê¤)k¤qú3ì·*ìxøÙb#„v›Qå*¶šÔ?›ÿêK\I \d«j`Ãìå*´ž¿ØáÍ ÛGÍÜK”CðÂbÿ+¿’íæ6Óœ®¿,:Ü£°`äÜ•>‡DLè¸Né™H4¢»º×¦ËNXoIÁ5zIÞÕwWH›úe͘\>”£; ({a/Ì31&ƒwâx¿¯5¾íñµ1½“á!iÎRU9CÝ“m{«ç ¤Ø“µÚ(K«a§Ê)^vbY÷¼¦ãìŽúÛ̇˜ûoøA?lòÂ6v˜¦¡äö^º±Äˆìeªÿ"à÷ óùgTŒ‰M³¸ÃXgëÚA˜u Üõ>K‘˜7`#ÉÉ&ékà‘"Î[!«þgÈx£”Ð]:Ôÿñ5é ›’å{›'xm*÷…m­ ãÂ÷ï7ùS–ŸVp2Õ…H»«*Z[Y–u‹X9 mWáTbÇ)E±{5ò¤ÄÐðHœxö«’°iœª³Îª¹¬G¯´ý^€Ñ@ÇÆË1 ¦¤Ž2ѱ”òß ˆì¦3kàªÅ»KÊ«q! QîªÀ™xô‚º:¢¹¿î¨ 1¬3´áµçµ ®µ"˜–n¼’Lè‹:c]·ÛVèXJo žö%ÔËhX”NB¼wD㔂'—Û&è[È\G=VÒ9Ç˲#0‘o¦5£ˆßm–i10Ss°ëßúC~:ëâb‰XNѨêÑGCTZi¢:·/Õ&þ¥]R=9‘eR»ö£Ù¨ÑèÝhŠ“•—­ |iáufœúÌ_ „ìĪ×}VoÀ-@cIÈÙC†qFÅ G¬€=€c)«f¡¡Ù÷pà[æQ!ùNTœfd8·„æPoÏñ¹ÓÌ¿[æy®TdÉ/¯Àmå¿þ æž¤™<\p¿Ìg[ü)Iþ„ÅgÑ9*t»â‘ ŒOyn_ͶjÕ4£0Wþ)\CNžáø N”$&%°f¬Üùá>$ûÔ£:Ò ³†[yáò·Tõ"òhç}aΗOB®6±UêñV‘‰ ŠÏ–ÒÈR0Ê£­ë¶à4 zõ­O…Ž ˜kH ô"È[¶S+dêJö[=`[Ð üÌšØ9!è¨k@pÙ&KÌ'ä6kwzvÿSæCba?ØÉ\†}i!ümôø-¦y\UáË,/¥L.z^!Ö ÓÌx…žÀÆ&׋ïÇ×|ñž êò[˜üĈpÊÉéyô[V%W¡ü.R ô.¹C{KˆÍ¼æÐ8¥buG ·Lצ(æ]JO×)u›[ìÊùä^Îd{#tí«ëîk Cáv”Ê!OÇäyé*Êb±l|u}ºWžCÞA¶oC ®ß¯3*{Ù6mš•ÀŠÒc3RXì#wœØGTñ õÚôҤʨä=ÃE5‰’ßë-L/¹=˜öKd­dwS†ÕkpV62‡sÛ±"ƒÿ­} šv’kž.*q ÝqËÅ3YÍ%%eD‘{Ìç1p+…-!ZÇB6ó¥KC7¶ª@Œ&îT"Ïk]–úœiŠFÓôš…J3ć1¾ÖV2‡ Ë6iòEˆˆ@˱}_xÑ[àILiHð[Ñ/%⬖•ŸYÉ—Ì¡qnqë“7 „0@¢ÖÌ–1ŸD¢ìŽ>‡~HÝ=<4¼´=hÀ¿jLõ74ß-#¿ÈQ_nwËß§¯©@]ŠÀÅæaÛ†-è[xí´Ê£zM!Ÿ}OI…w]6. ]ì·–% ”R0#ÿ«¾Æf„uLܪ( ´N7&wûîô¸ú Ïáô1GçØµ8÷s]‡åžô>­ºCJn„ÌÙ^ÍûEÖ`Q™Q–2¥gÒ®œøñÑ{VèçQz5b’ (B<ÿQõP(Ë×3fëXÒ’ ÜduxyÑâ½}íS…†`æé˜ZEK%s0Ù~ûèX@_ÀœÂ¦ž9ùe÷è9S~Ê¡8$AŒ =9ƒ9\NœÙälÎþÞ›u€Ü%%zìœczM¥nt!Ãk™x).©\As&[>Òoa)D#xuxÚâf8V؃pvöÿà ñÿ—©aM»šMÿmg;ÀÕîºEYY#“í8™xBÛb\>^uðTö-ºÄBNlÕ­rÀÖ$?J9¶ÔB~ZhÅ ^aæ^¤y1…°ä Ci5¯[žÖ`ãI`¶Èé•óù)j¾žÌŽôˆÀÂ_m`ʈ[á–¤sÑó&JÁ‘ío¼~=ìdÉ4m&¡o@–°Žn ~î¡TÏ­0g³°|¾uc ©Âžx[ÿýÄÝSÐÌŸ1g+µpÛáÊjŸë¢øøæÿGŒ­^#E.óãú³X Ä9áÛÏ‹›¨M›HÁéc{±q”ì¾Øõ¹°®Ì”dwé&^ÿ™{ý/[k»ìØ:õh·Õ £m±Ñ—,µ€`Û{èù"˜Æc|TاxHØï4ƒeérÔ”ùÕ€vù#ÛC[º¶ø1Æ| ­Æ‘§ÌqÞ¿ã¡Ë2 U¢óArÈGÀ(ßÙUA‰Ö´h¤®3T•›©”{Å8Nõý±äñ{jÝìK<®a7KÇË#YÞ€+’Ñ ' $ó ¤"ž’Ð%¥½Ÿi®ë~þÜ0È,¢‡?Âoô“­%݃^ùYˆ~ü“SÊí¿®R´âãÙ |dY 10Žèìùç8Ž@ôZ‹=jÞVê Л3;xAï1—<û &Òm²ü·4³hlM²íP%¸—Ÿ>„3$¿é·¥!ÍÆ¹ ¹·ÁŸ…üÝÜ]¿ïÓ8\¨æ-Ô\ÙÃíܳ½¡w&8îv ¸|´>.N(R¼â(l>œß‚} FúøýD1lâ6Õ ª!À «nÊ ,Ôé®}–;{1 ØÃ›Oÿ6Y!ÒóÄž9j ªCzI+wþ,—DYÄ6X®vó¨©5ugVˆUp\‹­=§•¶Ž_I@°ïÕ<'Ù`Ó*‘ºÍ#óç¾ïÕŽ+‘ý>ó=L!˜¼+ÑS …<ÊÁ+H? ˆÛü»s«>±‡ ´Y²`áQgøFšÊ+xl}~3Œei“G@ß5WÅõçK§óÚ1TÂI¦¯å8öqZ_¼Šñ‡ò^ÆOî­v½£=ˇøZR»I„Ä>TÀÇ‚ÙÆCh§J]“Æ“x¬ò,ûlL Ì[OªŠ<ãܪö¼ºðÔÄ£ÎG˜øléjnöb)Þ;m'¦õŠ×£R+ˆŠzÄWa †Ê‚{ÜRÏ…qšës ¤?bz éç0²òɤá]Ø”Sqnû6bUÚòp»‰––ÕÜh_ä—Š59ËòÍLÚ.¥h ‘6þI­§i(ªXøµÿ’:‚BÞŠ£,+ÐMŽÎÀBBx‰¾Ç.™WdÎÑM=W¤ç}žTãØ—#¹Xçlí*4ìÚ[B4kÚŽ»Ñ'¿ŽëZY¦>½×wý(Qý<[áU3JkëÑ–RÖü³/éòA+_ûÐ8üùÈ2Õ²]Ø"évòïû.˳æÈ1ÓIL^êà”½Y¨a‘v\ø~æŠÒö{½zyrÿa²‘ÂÚ‘·qGաͦ\ fõ “˜”G‹y±òŽVe.Äý¡¥mT-t'›­×þg£jÇöV9úº%°ëª¨¢RÜcÖÞ=¢,0ru—;>u* ÔÓ.kíëà"‡ë]„„•,»}a»úÙŒy,×¥°qÍYOA }ÔvE`Ò½EÁnÓ„nÝ3æ@ ÕÿÏÛ½‹Ç±ºòøÀ;Æ*w Y×%úø™˜;æçâk¡õ“›7=îl¼Ì“Fç‡0 Õä<ÞüY" &5@ŠpÁx8³+ Ò/éek9²w{ÒÝ.Y~R4 ¨¼©u”ßNcUVv>®´Aüln¾ö’ ‹èHäwiqgr(ÿ87ýx,FmÖ2xÝ”˜:B†~S4¼éo÷Ã[ÔWÑ"#µ÷ ­¿œt· ¬P÷À“øô›Yç‹ïý_obe h‡´×2Û%O”ø=»Ò:sEOc <`,ºq¼f®œD.ŽÀ´~D“½•¡µ¬Iž ˜Éò#æ`yËB&TE›xÖÚ4cýïh|îýKõ§Ô'(«9æ¹9ùÐ÷† »´ø!ͽ\¢>p)ÜÅ-O½Þåòá…Ã5WPð+CÀ†a¢Šq™Dè.¾‚ªŸ=znLƒBR ãðÌéŠò€1Û)`œ”…¯Çæv}ßIiõ IgÝšd(u9¬Œ0ýjçQy–PÂSåÑÙ_è<)CÇaÀ$ôvòàfýæÆB¡´Ø¸ú£ò…¾¿XBÆ^PL=A™šüƒD‰ŸÐ´º~E“õÒ.sîò'ìç;°Ž„©Ë¦ Ïжs®ÑIrô\ êH-îÊâX óÊi@ŒÚ¢Øz6j‹¨ñü”[d&~#ÀáÔîýV]oD^×Ýå•Ίßªdím#'îkq>‚f$ ÅNž·¤ÊEí?ÝæÁ.e@àªôpÃE@A|÷¿' q€0º¦Á Ñß7aº1ëO]Ü_ «ákÛÀ}«LÁNBÉÆ‚õãbC2—0"y±x¾vàÆ¿`têF­Àjd׉»_$ÕH4©T m¢¶Íl©W¨öhš¿QHªP&x<Ú‘ÀñÕÏ׋'n“É–Ð ­ÀYtAœ>ÕãpŒlrÓ N´˜ñʼnî<ÿ$ÙeÏÔç"@XI¸?¬=ñ'Ò—"FZE×ñ‚t鈦igcÚXð&¸‹¶9xß…ß쉛0SœZã;ÅêrU¬™²™¶’¥A£¡¾•p‚~XC–‘W}‚%©`}w=†ô†íê5ƒDà/+®)ïZHîhXºXÑâfÕõÝ„ÉB&l¸ÙüjiSïÓÆkÅ’­ ÿ§ÃؾȈÏ&²>Ý’8r'ÒOB„oÇõäVÍŽüioÐ0S |S±1ôתö§Îͨ4¿ا-GìEާ<ù!« ×±·É7†nÇ=Ø`a©ã2°­¤‹ðkPcRšŒþHh@1çEìzxÍh¬4ØC[õæaº³s|噈­ìkœAå;Ù‹™„gô"Èøú‡ÍLP¤‘I±S¥ðX^VWàV•*N¤ºí¦¹ÁøœÌïA©)Ö»1±½c” ‚ ñ—;§ÌáS¿ÒÀº¡.;{,:È |ÖçïÉŠ$M„Ñï8Ç¢¸Ü$,q-'@$p?BšM» EáTÁ†$ý4Å‚ $Q¦õZ&ZH|f/¯4˜#1BÃp¯ÙTv[j¡øE=/²R Ãâ«A!Øâ`àÆ™#EßfÝo÷Iòd‚ÓRˆ­Ùvóäqób˜Ü€ˆ˜NûÔ'íDGTm Î4‘U Jªƒa3=óÝø™§ÆíÝ3îh´'ïÞ€5ÍÚj£/&‰}«Î¸‡I6Ðôp¡,TôÈcôJÍËÍÌã6sƒ¸®±V+ïȸX  Õ’XhH®„F&ÉÍO&)Œg#u–L mo‰{& µ]ú–«Ù¸sS‚"nÌÉZqhUÓVø_M¢„\›Î/Íj™Ut Ôh|èål,¹·`eScÔˆ1Ja…oò…îe-§Z5-|¡*‡Á!‰”Èc-½ÄØWÇ'4bøïNÂᡈ6ÊQÈI:B¨öØ<”¬€sæ_ªc ¨®Š7³"ƒ:MØÿ 7¯Mhu3‘ÔIˆ[Ú¨ßoó÷Úÿ& ™wh­ƒÕÆ€åGÄø§ÛØaöœ—ÔJ  ͨgLí I†Ú§ZXƒªš LxÈÄô'&žüh ¤Oõ³}hòy„(‹µ(Š“X<ù±¼ŸZ¯š/‚7¡ðWçH'VïQQ`"Ú 9À[ÎX݇+±î}{•\šÑgþM`û/Õ¬as)EZȘQ¬y¨ç¾`<Ãü+•×â>²­ØíeÛêB(wë¤^tQ¹{ŒªúýÆø÷Å0µá›åõeX3šóR¡6‰£’53ƒeÑ%ÝóÝ͹l!Ü^²<­ØÓDº.×5Ñ!ÆÉà’nç‘uä+Ñ^äðz‡‰ Â”úˆgsí =D§‡j ¾©’â5©‚ö oÃz.¹j }÷bþ£Åv«gO—¡Ãê!B1æÈ†£ç7ûDð*7»cžÉá+¤ŽtÆÃ ÝÒ8„´´¼P¤y€œMÚÒb;oRwD©Å•Ý‹·Š‹¶©Õ†ËQ1t?B— w@üY€bØ~mäÆÉ×5è;&b¶€èÿèM ŽÛè¬)ô\žVïÝ£ŒVÆyytÏ»iZQßhµÿ¹þ»Ž UL˜fÕ%$n?W‚~醔ÞN;Ìû–¼çËÀ¤ZÏêná#9¶©BͲ†ˆuçS®öM<¦â xï@kzvBÏÌ™ÒlU7ØrbG÷­3ôb~»òÉêö„ç7NÄ‘:c¹Ðçåý†9]¡%,£È5Þeøž­dÁ¾M–²§0b£Ÿ &æ* éÊ2ÿ,)DQÊï½`zÞ3I·hÑÇ«°àxoÿ~•'ûo¼q6¸§;®|\tœ(h‹•zJÉtöË êâpX™P«GT/a¸À¬Ç©˜säÿöF_ç?ž=¡7Ò8%n˜Šè/¦uõk¬í‚…‚lèW‡ïQºûQ±ËkNƒ/ŒB|Þ½™r0{ðF8v\ÞYC$KcÝÃTDù¸‹¾a3U'»r:È;Á #¨ð |w)ŒV“È §—w5“5•9ξteÐ-HÝÏ?Ž^NÄ ¢ËMhq'Bhè·¤(º?†WŽÚ¾bó{ÝŸÉŸi]+}„"<Ÿ3Ÿw%œ¬› ´x¹®Tú5©Š:)³–§¹))‡œt`fýìhÄk4¤ås¥vûùöF’ý!ñ7.Tïá¼X+DyÈžï"Fï„ôî q?ë$˜ö„àëÌM®Ã Àì‡V-…ScVý¾°-Y$ØéR§þnX ÛñïîàYð°„t{¤,vc¤ÑÜAï*äz$˜çOû¬œ¥ ¢Éú [;[ÛhË­ú%ù‘3J÷^"†µ°1Ãé!èÆý/à?sÈ|lƒÀua–í}‡˜aƒ–ǃٌG³î£™%BŒ/«±ºÝùQO8På$Á&öRsJem ‡µQW™Á3ñÑuéB-³RèÅ—Úãþ;V‘uˆ‡ôÎÉë]e RVŠ…Å'ïö±I )›ó_öøtÁÍÖŸr²Ž5kUª¼ž!¾”°DÒ¢Føpƒ5óÂTR®XÚx23T=ª+)( …€êÃãÉ H]…VðÕ9xŽtU®Ó9÷ýÔøXΑ@.Ï8EV#y‘Gs«ÉEw¡Æ|þª ’OÅ$ÿX)$X‡¢tñþ£]ƒÇ[A'Z“é}·@XÇÞX;#0PÌ„XÑÃeT4Å‚Ÿ²¥ùš“^ë[ÉñEZ{qd–|ÓùÕº/æ-…ì¥é¸ØtqÎùˆì@ºÔÍRHÚfÁPk75þÎËM¼¦ÀCãÑè;f~51\ÿ [ñ‘  òrmÿ'ü쀺ïsëΓºŸ%‹+æR„'‘¤Á^àÆÌá§Dž§¬aêv“#Çð±4Ÿmè¿—g‡Ñ¾ïnT™»õ k…Ý1Z³?Šš²µW]Ñìä8Í.Ú‚ì@‰áºZ»Š°”Uütýñ™“¾¸*Üf®í,©`á¨ßÊ¿ò³äÄÄâÙÑ`—â­ùÈ#•Äz3žÍVþ¹*Ùøu¶…6e±_&#e8wzXC¥¸ñ´cûÂ(Ó%òåšë¼Æ&yÙÄ×*E¬¹²{4‚À¬ç'Ž9EÄü¯»°éàr’  Ø1Ðô«OÎ47<ÀšÚV.ì» é‘Ûv-Œ¹Ôlcüˆv&Üô‡ž«½O‡Çe5ŠGê„„}xm±ÃbõAbɽGœd…`Qò.ÿ»9ÝÀè­²ðçìˆí6Bä¶ÒÖÓå«-bàli”±d0`|tµ×‡K‡Jú-®' €-ûò›­4TR8 ÷µî´ò)¨õ {™~‹! l_“›–Í^¦¯¸Q2—Q®Ò¤ŸÈˆ…r5ʼ>QØôˆ.ô÷ót(:­äÚ©'üiý»Ý›^ÁÓ{Ë…š !Ko?rôߌ¹šôù™ßo4cT 5Ø;Õ½÷Ä¢ôѾbîÈüJ’×#gM¼©Jvk×ÞìÊE<„ø%W. Ȳúg_£}~ý÷%|î=Ï®7dùÀ±XA§(r¬—L¡æy0™@Ô!º:••§‡kÖ`!¡¾b‚¦û¨ÿFö ©¤…“;cš˜e*x'Fw)ƒÀl‚=0[&•ð8"–›36Ó Í;ˆï8Wœtr/ùÌ»ÅÄŽí½Z¶P¨ŽDƒšU® :8tj¢ÍöùËDÆž¸Êi0Í‹¡Ÿr,cVJ$ c7MsW{»SœœL…àïH)N™mÞï©ZÅ@¬NÈó­cÛ[Mã,ŸÃ—¹¹ÿÿ$o…£zôlÿwº?”üÒóùb´¿ž¾™ºÀÞ„HD z ¦l:ÊŽ"$* P˜`ÃæAƒEÏüA“§_Ìi£§~”\Œìã›E@’¥y×oõ¢U„„¾n=Mu” ?V£Ö7ÁßEä>xNu–1¢Ì›úÉâDZâø²V±3‘Kž ›5“#'‚!(°Wóäfxî¾–=WÞlé#\|Ž 4例8×T¦ß1KûnÐÏ<É/:/ð.ÐcÅ-Ì]ðÁäŒÅ÷³œ4iu sè-n”éŽ(ÙbŽãKôiƒ~f>qùÈé0‚»³ÁRG‡W¢Ò#in9 xäÊÄ[Šûß܆ªè?¿—p"…gd«¤R÷4ÊÊô_N/\)Ù‚[†B›_Ê£#á'Ï‚S£Ê¥ Ã>EØÕ¬‘{o²9%AÖ#W— ª£ÝÁÊÙ^ìÛïŸa1€D"0iî±GùüréUwC¿5DVT•ç©À> ü«mÓ7Méë×nº]ÔÙke*޽àÅîÝ9ï +\Áü'7ìã[ƒ”…«ØH8Ï®ë9¢Øcî´c!FvZ];ßsQA|‰šïšÛåþ‘ã ðÂæ˜7¢Â³ú5CíJ}M?½ÙœxÙ߇†ÉA¸¢QŠÿÌý0-Áhƒz:ÄìkëÕÊ,¿ÍÖJB½êµõ< 96¾#Âï4¼’ò¨B—Åv,’ ŠÅ Ámˆ´7ÐsØvZ†šô­ó¥l(ú£¢í?¡W`3{’è»V3’¥·i†ÝPÉ3…Ïß ­¼£Øëð?ñÝ醴L×+Æ„Ô ¦`ü?˜o 8ÒÌtæ¶ŠƒLYB ŒýEq±e§c³.ápWé>̽nz¡oS•LáÂÄõq'~[ ÷‚ø*øû/ zÅù É ôŒ\¤±mp ©®{ÐÏÙ¡J(‚Æ’Ë­¹³º‡Q¢NÒ3ûë’¡ò)»`æ¤i}]¹ÓäÄp`ö“×HiÛÁ†Ìüe kÙ£]#<#Íö_’lDÝ|a2-Œùäèk#5é´?¹Væìˆðè0³õƒâ è#º^'àz,[Áù|…lÜÇ)ª™ÔÀ2÷N±»oüƒzœÄëýr<¤Ù¯zìš\m­†JðÜ÷íWWÿ³@ÛCy`ò fzcER PÔm-Î¥gmö"òð®ËT}ÑÕT>Ô mp*yŸƒ"UµJ„v¨5¿¶Åº¶?P«øbȺ•k«ºŽ Í}áVèYãïfºûÌI‹=ÁÒ“I;P+:)ìßsÍ—N`Wà˜DLû6ß%òze U5™PAÍÆ¹â¢v¶PNôX(=X£72èÆÓò2¹’x÷ܵlµ¼ –ÄâHù¬Öõ×&™„áS¨ÀQ2¸à]rá®$öRUJ (Q ±ü®Œž¤žÒÊ)Ìð š¿|¦Â¾<кN‚g› Á«7¥i[Þ~Ïé><$ûø¾?عj/ŽåŠ‚øzáÚ`êà6µ[ÈøQ Düy­Á40ƒVüɹ²oìj&á@¥ÑsO3àÒX9—‰Ã~ߦÁ&r+Ô~׃£’ó]ØèÑK¤ûÀ ª^ ¶¢VØX»Ê£Ã¨Ï‚@ô)šÎ®¼š`Y”IÚ Œ-z)¥V÷LçM}K¥ß' «3¯${dÜ) „JŠÔ‰)O¦j –ÔߨK©¬±¢cŠ°Ã¦i—ÍñupyDX7ÙÖ¿7wCEöiu®´óúÃhƒ‹ž}ÁíŠc‡ÛCuJÖC®¼®Â»¾Y8SÑxü"¶™gõ6<-yßޜɟAYh8€†¡ÄáWÙ¶ýƒcC§Âã‡|i(ÀÿIž¢Ä‚¬‘ÍcPê3Rđ¾ŸÛý=nÉuÝ›ÊlIù×5Âp/Ìuížÿ>›ç¦iÛÒ²þ¾w1>Öà¡6 4ò!™y— Ö‹MŸä(KìKÄ/¯ž#N¨g"Èy5•a«„%D´Ö$ÅiKš7HÀa!¨×®)>2äÚ$z6…`W´ÀÅ kÜÖ<ü–6 õe–ÔKUÝš~þèBw¦Ç¢¬HÐa.ÍÓÒŒU¸·[ UÖ›¸ ÖNv&ÚþDÆ@KQÔªÙ.¾8A¥ŠÝSâµqΡULñlv´&öáálÄHò!Ãy—Ú]^ÝølèÆÞ·/N®"b»Ég¯r,¹£žËËX¦6üu û!”3ElÇ„/î½íî D14T„ª pèŸÎÛ6fiB«ÔþuO¼‰Šþ¼üF”PLa‚sú!¥*ZzŠ˜4¯ -±ÂÑB×Tã)´À&±*c6Fo¾û’àW $9ÚÉÅ:®6“2‡xðíN„Ù¦a¤~h¸ý‚Ï[ë»Ðèpk¯&Øñ5I"ÝÞ›‡ñæFóp_Œ€¹k§]©ÊÕf8TãÙ†AæUîÅud4¦%Ãß.ÔÓB—0p 1ˆ™Vö]{ÌŽŒ½]~=T¸7škq+ýéyY§}½3ŒðFOÀx:«×LŒZ «¨ÙŸÊïdöçRÔ •nNN-Ot/T©U Lüª  Ž2i7¹ÐðùXœ,\°™ŽBå!Öë%=¶'X·òóÜŒiÔDdB’¢å^$(òŸÉ£ Ê;l®p–¾Ø+ <È6!V"îÊk?°øvm¸’motüÝ>ì…X oö:˳À/ÂÎ÷H*:¡æ[±äo¿›S7?Ìš™g/%Z½æƒ TŠY¶|;¬z ݺ|x]Ta¨»ün Eub,Ò7AÖ-•íõí;P=©cÓ™¢²µµf‡x>Âæqϲò^ᯂ¼ó›‘sÉ8DÊ^÷ÔQŠÛŒU TÐÃnH $ýM[ѯ/Ç|Ì8ܯéw*5ì¬R„©›sE|ï“ýÏŸln`-jˆêïDðwY(5‘‰Ø“šøR}AÜç˜ …\L†/"«G²Ò`ò‰Ñ‘‚]ËtÔ<ð¥[®@|Ä „3Õjr/7 MÔˆ§˜J`ØÓ>¬iïÌ»R®žQˆy˜1ÿý…ùyᘊf©Hß'žzŠˆïÑ2Š×èÅÄ:¯ëš_\.ij[ùº9|θêH4‘ è°Ú$sÅÍÅ-ªÎ*Ö¢»=ïXÖÉ`: eþ¬}ç™÷}uÙÜêmЪë]X+(^Æz1»Ñp›A!1S«"Á ÀRˆ¨ä©Wµ][Ò¬õõ÷Æ—ü0öÙ‘©¯¨lÁèµGþT»«Ò~âh Z›ÖÊÃI ÏhjZÇG#ÅgupɲILw|V‰sJ<Ö  £ëº¢ìÀPÑ)uˆÂL·¥ÜvnQ”Þð}ž³¸ˆãîSoЊžáýö¦3Ù̲WçÕ]ahŠy1­äþ ÙÍ=!nW¦}f06©õ(Ü"Ÿº{{~Ò¨t›né¯ñë{DÕ3k±”‹VéI=+õ×K‚—ÍüF¸è1ÁÓuf¡Q8†ù²Áòø>ñº+BXÊ!ù{š'ØFn={óÖU¸®$ÿS‰ò4 DBÆôí`ã´`ùF.íqav¾Öa$pT5I&à +°Ýœñ7hû™…þ«h4d!Ž´Jù#Ÿšº8i.b¿io[Ðø5¨ `’i¼eÈøpüêçWRè//ʼn>Ýé­‘$ŽïEw·” —ª—øò}é­Ž!(ƒ\ \s>R·6pr}NUqf(Î#EzÖK¬C·»_"&z0ØÚáÑ÷´%f¯¥­¼ÄˆßƒL9vÁ¢€V[‚1µqþNÍq8iŽ»xf!éˆÜïõƒ¹ÁûGœqžGÏÄe&— ƒ•]æEVrùÿŽÂòO?‡f¬}ൟ3”ÀQp[éï@ìL,@D¶ÿt_BÑ^äÒ‡*ú}Ù£«l$¨h•ánëI>`³Ò>޵ø|h0i ¦Ùž™âÆvÏ Ä™˜RðÁBö=ƒxj†ô°<ÇÄæ1+>¶ó|¬Íy6dqÁ»HSg±ˆ0ñËÒk;#ñ®.ñÿ\#CŽAÃæýq)kçÜ ©(™U)¸sœÎ_éR<è§¹m 'ÉKa¢lžQ˜L×Ë—{ ™ J–©&Êçwh`ÍS²5ÍñD$rÝ‹U¾!ÒÃ*¼4`ç šÑX [ÉÅ:T$QL¤ßŸR—ŸÑ§–n¦ƒñ~X¤É[“Y¶‚Z˜F§%pc+×q@?évûSÖëAÀýU­›pEåk ´T,4G­5¤ÅâvÞ·®GÍœVO¸€E ¢``ú§¤Iììc~Asêù1¸ŽøÒ¡u•˜†~GkÆ—<î-•‘ˆÒrbu/ß{.iÛ K}VöS7¤wlô+5LB×±Dì›ë+«½ðýзÀ6G:ÿº„+¥RIe‡»ìW]®J­Öÿâ4¦!Œ°EÝP¿ÙÝæ÷¢É,µ'èSË+w;–1]”_òò£”Ê3Z0¬èÔÓ¬5Þ˧ß[K¿Øé‡J~@ÕãètpЉ%” õc[[Êøä*}\ ª±ØJý¤Ã>‘Î Øp® ¿ãhÞþÛ ½âØÀOÃGš¶¿[˜D†WÙÇDò#2ú)d_£ /ìS2êô™~pŽ> ‡hM~_¡ö5ñíøòª8׸*æÎ;²r‘‡Lb¹±ý‡^Âj.ÆW- óµíà^“ù/¯–›¹âXÖ%¿K逨žáJ‚vfÌÈè0á h%|ƒ„ŠEvUJ^ú‡öñæV…ÓýeX¦ 7ë—ªG¸’q(/[©*²rBzÚ’E^f9R@ú2uƒ!qÊפ Ö{Ê5ªLä)í=Ÿ½x ÛS¯!ï…þBƒuÆ¥•kXðŸ@ïaa0.26üâ3F_/sOch ì’lvåÝ¿ÿ ”e™vo$Œ¬ûXV+|OÐXÅãM Ì‚1Æ”µ²Xò p¤@ÎÓÑ³ÙøµÂ?÷5¼ã¿’`ž,žÿg'Š/þÙwÿ@}Ù’ñ#çdlË"mË:Ææ²rAª{§¢Oq¨auã¨-€FmËwAOÁÇãd.¤+\tk­¶>{BŽPÇÌåéåSUŸÓ¯× ub#Àíűš¦¼›Ï½q L¢žYØË¯b ËÛJHÆoÙGh2æ¥ú÷D÷àÇÁó“G¢¤~[Þ¦4’­“nØëãÂYPÜ#á7`hƒ¦õÿýPu­ëŒèô¿ STÅý,øàYsáÚïÕ„¯"nÓ¿xmsÔDpú(EfZíÆ+~È@cX»šQ±ÃÍf("dÔõæ×Ó`”KüË3`–¨žñ©G´E•Éz1ÅŒO§Åì»ø¨Þ“¶$àTÉßxÏ\ÇÌ?Mi^K) -UÆŽÔd<޼Ahm[‘ðí)ƒ§¹j7‚=2õݾ¦-ó——È'Z­G¾upøæ·_³',~‘íÐQuÊ„¥„µlD§Œmôpèa„«Zš9ez¶©z0–¸bLˆ3[ô³c†Ø‹-ªÔ„þÂ5‚%îÃøSñ@ÉÖ í}/@p÷ùU¤Ú±8܈t‹x­·s„³„ªœŽc¡Ií¢8W°YšæX,•ë¹^ög"ЙJ±ÂwïÈùhm´dÌ–ìï=”²þ|‘MýyÈBíTYòü5G´Kàoä…ÁfÏ—Ì|Ón£ºžìžÁa°Œæ0þð_V @ó>)³nFÈo˜â "ä™3ĦY9TköŠ¥þ+½kû=T¦' ±*eìÀ: òhJÀ'´4ÐÛW_¬÷æBº÷+aDÀlyÏŠ1tÆw¹¶9£YzYï-€šÚ«ÎŒ`¡ôtÇæå¼aš…ŽE¶œNºø—¥ ³“3µ“ZÍ¢6/„6 â@äœ:›0Åd¨›ãÏ+p3z유ÙÙÎç뼤#ÌuÕl òºÐu‡­ëO@ž~¡¹ßXˆqÎoÄÉò WïwÄjÞ6²n™Àâã FGZ!_2ãV³àZ1õ+wI9sÔ'9¡sœžùåPo«Ó¬PPð‹jk‰RO­–ÕìÎûÌýÌM©Ý¬k‹D{Í÷ô7rï²1Îbì~Íû4‰˜||”ˆ%¸¢—µþzÇ‚u,“ŠÇ†ç]¿%…¸¬TuÑD×+®Nné@ÉõK0ê™Lêì”óHÀ {©›Æ‡ÙôÖx>l•w87³ÍÆð!ÆC>+¶b ëú̆IßZ”˜ñ>I;HÝãóÈ¡œµx¹·{¦o¼gZ·óÂ2¿=ÓaB Åcaåõìhü€šÇY¤C=Îö7-󔨷ésf;¢[#y«Ç¡¶xÊnÓÁI*g¼h¡ŽSšñÃbì.Ý¥yi‚T“½G\Š™ÏI À;ë/8Ï–£ªµBAg(»>¹wŸ„é·†u4šH³ã·»ïQÐùVføÇV_m¦Ñª´;Áê«3{ïSdÜN œo•K:ä0Õ&œ[ûi=ðû,ïÏvpŒ(xدœ,¨9x°ýšs|x VâP¢;=Ó’‚â€xÓ¹=m«¶–,’áœNìRœˆžeõw¾CBQ¨`‰ç²7òœ–a…jZD5ȉ¼^ ¼ùåâ9zIç šÑ8—y7” çÝš=Z² <ê…v‚Þñt{žÖ2 Ín]Vâ”èZ•‡Àiaiø!PFI kÇÃiU‘ú:¹î™ŒSI¶¼æc•h—lu“J¯àZ—Nâ¡ÂŸ<·¾–^QT¥–ç¢b‚c3-ñÔIÎã ÒûÇÕ¦âì Lý°À…Þ`9íµÄÖ5Þ½ÝjšÃ^ú³Ý3ÅÞœÛ=­ÚG]B÷ O°pýá <Åf»ýKªkèªÚ0T»áø±—ˆ¦ÝÖ^ï@K¿ÇQ—Tø¦”˜~6ælœ ÖÒÐT1Ù¤gÄ­ºìGZiœŽŸ¯µm°ã x†ñÆkæ8Gã÷µX2YG¿i•;MÆô«ïØ0Hœ^¦Q0M0n.ƒ·|O׊K}c³¬ üKƒîĺ•a Íø!SR/Å]ÿ¬&c’b[© Õ©½¦Š”õ½²]º5E8òh¦ ¶d+”@¸M…½½ž!Ù°àÙí7ÊfIw$’*ᄵÆÝéQãÑggÚæmdM¿¬e¯V»Ô´’èlk¦ßV€—6Ðå+ÄÁñh°T£Ù 0?ôƒ°âk6ÆeÍ’¥Kei™ªøWôWÿñÌð8G|J×/‡>7/5v|­˜ (ðéÀùÖM˜$ {GEhÈͳ«Øzˆ6Ax:f8ÒY3r4\Ñi=¦x´Úå'-ú‰Çõ“(ÆlÛœ™ Æú+¢¡WØ †É¥NHÙÈA<!îK¹áúsE¡¤sæëŒš/Ðò·ÉÿdÍJöûxDÇÉ=(ïôÙ~ÓBÄ-^E˜–•¼ÜQË–¡áa»±ëÊ1Œ2…’tËö%î®.#/úäYŸ®‘8<rIJë¾×BjYã6™ l8ã,Yôˆé/à‚go(0#üB*Z®öM–¹4J¿š1,¼¤Šm¶ÁçY|ÌÍ+å'.51›*¶3äOõœ:£PØÁÝ™ù׆ˆû¾Û!šÂ–ëLÔȘÐký¶å[D,ÑàyáÖ|õuãòôÒtÔ©—·ÔæÓæ(ˆ÷é‚dȧ‘M³!ò‹¸Ùg¥…-µ B2V¢Ñ÷Z¾›sÚ·ÃÚ›âj7±Že& Nÿ…rKœ«Ûöp¡õ^V‚¼Òg&ü[ à8Ô×F®SøG{£QeÐÒ~2•ö.mJw¯U7y•è:oÇ€…sfE#É6‡Ÿ.(\k YêxÄHñÑþÓ‘€œò½°Ï|H„w_4¬q~üÕ. K½|÷+gM<;'…Í}¸u>h‹mƒžÈŽëøÎ30œÉܰJŒ˜^:wÃÏ‚/…´câøÿ× ãõèssñ¡^·@€2¾‚:'pT²—GØ)û€5Õ.»0鳇\£#ö?_®§#; l¾Ô¾C/,­E›¨ ™²†²@vôý#Xõé?…©LBpCŸ˜;þ#m'¬_¨}ÎTz#º£u1ãÔ~™fF—éÊíîçW ÉØ@W…¾2iw«ÑeB(É“…“ìÑÑXûÂ…uÒDí”jHm÷¨õl)ºÄéSÒ Pý˘å®pc„É×÷?ž–úp”ÿ;ùEçªû²èsƒæÄž\ül›Ù’ÈÔ`R!Zé?©vü`®sä´Ÿ‘l©|ƒ‚íA ]RìáͨŽ)áa½Ó?Þ¯¸Šƒ<=@.­ ƒìÀÐÌ8…÷©ÆXÛÅü“U( ›ª¼—iòGôš¦2ö:›ÒÄ’È0°[©<‰0,¼ël°%Šõ0ßž”vaók# 9ó½ö=/˜©t¶c‘î @ÏD¹Oz M&Wug[á»*á+2:ÚÉoƒ!»w›2ûcn@ÚùÄ,ú÷«ƒa«´F§µ¼PÏÓ>|ÐKþd`k|ô">˜ŒóßìOz_°åcïþ^(a^h¡3×oõ #*^)΋]”µ@óŒŒÆ]´‰„ž™¡ÁƒgJœÐ Úž-æ [&Èð³á¼Å#Ë·©¸¡à¤”Üç.ý–, ÎÕNľð—èµÐ'pÆ3Ïæ<äü*¾™+p†jk«pG/óAW‡¨'ï¯XN¨ë# îµÓùCY¼E†èÐàmÊÈÑv{¬œw*Qï1­¾ËÞG!‹ë±F¨7X5¿ï„ø³7…,)†L¤µ5£¿ƒ¢FÑÚ‡¼i¥–Ê Í²ë¹ ŒFõ?˳þ¥4…Î>­ëšÂߢºêÊ$þµI„EzZ[>IûWiüç•î?¯‰¹Å‚Ò9O¡Žð¤‹®­Î±®´ƒMÞ{Ù_%Ó#/ä [¼¡mEׂ•Ÿ˜Dyb·lø@ÝÑhå…B! ÒJ :]žy:…T œ‚*"Ì74—ºˆ•/_Jé:/Eé5 ù=VÉÑ&ôvSÍJ¢z*ù¯„mmpS¯L•gD¯¦Ù™‚ÂS}J5(("‰6«Ìe?¨X=ØAgðÎiš‡HÌ[Št´ãÈi÷4,˜èå}%^âˆ^Xá.'%|kzeÓ¤xªý×#LÇÿ„a†#lèŒlj;†¦=9D»‹úÔ!]òº°ZuiÇqD‚jîÕÅcUq •Bá—7QW¯-ZaºpŒôɲŽwþ*4± §aœÝ$×7Çvz ôGÿS„‚…lwé=éÒ)‘½!>¶¯Š1!aÄÑY>ÅmP5U.(æo‡Á¿jAB"vám£€C›Q÷‰œó1?’&å‚Uy!™³lsæ[D·ÕÁ…ǰžÓ梩Nv ä–wª@â ŽcºˆËÁÿÈ}*°'›>s@ÕàæÓP.5ÙßüJìz]›ÉÙŒÙüt"†Èûì‹­Ž˜„Cƒ¼.…)/ó©©£€{ie3zî†t=g¤tjǽhé-wiKÝ2÷Ì}‹>qoëšBéÙɃü¹ÐsX°ù ›ëcîÊgÊì•I“ʘ„·4³„‰«#ãhÀŽ´tw(æKäÔÇðx’ ³hq7éë\}3ûž£f­âUÖ8T¼æƒe„´"©4"ê"•ï&¢C¤6’©®„èÍ&ñ —-¨8¼·Á©{O©}Ô‘#\ñ¢UÞ?¾åöÓåª'ùg¿ÚP¸PªµÈXC䄿Zd0=’Œ Õ¬ËE¯û7WŒ;Pq)È( É„8èpé2oIÞ-€Ò¥%üT‘I1¨õ–Ÿ7ïàúï¡ ¬ETÛÁt‡8ü$Áð¨ä¬i4ßtv=„í« ]Ôʇ L®ÐDà/ç%Ú÷КsŽç[YÖ.×WÅ y9‹Bä©UoEU€¿‹H3Ë«¿O.KS5ì×#ä³Îgh©N´˜×ü˜ˆ‚v “ÞKy ƒÇÛ ö>j$“£×¸¾ž7ƒæüüû¢:ÿJ’ç§^1‡Åî—Òä± Úzö™¹š¢õ˜±É±íñ/•ô(Ùˆ@øÏË‹‰¯¢õO™oጟ²Ò³¢Û!‰¾„†æÞÎZ©P,޼´£ÎÃD›Ñga´œHž5étûàLK—WI—,#ó¸Êh¢Y̬#¸^Ó^º™f…Œ[St9òÿæi›ýñ}€É{ôÚWÛÙs˪•´§l1Š)à°0ÑÂÌew¤Æ‚ë 昦›ÔºV¿˜¶·Õ‘ϯAî/u¢~¤—³|ôP.Áñ‰å¯± % a«•|žž_¾´ ’3i+°Ôù‘ œ>'…;)ýK»±/°h?Žõ·smgT؉]&±2¥Õäy5ÿßEßNc¬ŸO;_)õ{^Cëëé¨jÆv"¿³=yuÒˬwïœ}aê©|f.3¦ƒzÝõY–’ê_fRÒǃ‰j‚`B†˜ÿìœPÆŽ•_¢éh—¶÷¨oéo¿ö~MÉÉ`@—ˆ.%ŽwycziN¸œØ~ä RQÄ{6ä>øB†f@@4]½š¯ç¬kNz6ß¼ä_öáÉ8§`9Ò˜mÏëO…Uö´FåzuÓü`žGˆScK†üÌ´>­å­ïï—Sag–âšgî¬E3áGèÏÿsx{éê!]MšÐ9J0Tü£üÿŸÐÐ%Nh;hÜ|½OÜÁÅyÖ0€^år‘m‘Cxã ÷Âóá¸}‡iÖ"^3æ 6²zmÖ–ã,ˆ'îèvL¯›|Ô)øN°t9ßýå˦j…yHò˜sG~óP€Ô9#··ÈQ,S¹±iõç- °5‰ìÒ„Nœ…ârîD–ŸÿFªTÀó¨Jˆœ£RC„“ÁºaíééïÂ?†àôXôh*@)P·½k£ ZÞf¡)NÒÒMóbm©êš„©Ú[ÐÝù²"Y•XÿtêÀŒQó†J¥+|uqгhÖŒXÈ©ÇtÌ‹‡ã¨]›d Æ%?zë+Èþ!j¨'Pä ?=C½}1*^ ó` tf7߉‹Â˜N'™ÂømÚ¯(®hU­ZÏ‘é¹Q& È6 ­µx‹ô8OD"±¦2˜Ãø™­°Ë§€Ã6ÛÀ&÷Â1ðªy½héf¨$”¹ïðÖ¶?í­÷ˆ`)“5ùžê\Ž]ÌÎÔ‘KéšÌ}¨¨Y7g#´3•x•·[,&P® —œˆ.0–WôM^”Ѽó=hŒ Ànjß.ªusçážw]ê´ˆGiUÌ(Û…/ëõí:³ØÄlVYì.WÉB4'ûl³†²Ïhs’?~ÈOC 2±,ôÌZê¦HE8N¦‹Š0cÃlåìÜMoƒ×»bB¼‰'çI¹74&~g–dF·s"”÷ÒúÐr„ñÛ‹>'‹AG_½ü(]Ï·ÚJBBvr‹½!w;Äõàpþ&Ú|£‹Ñ‡>+Ñï²äËÖmÈÅÍ ˆöD8 x‘Ï9ä}Ιg+ýöÐbší¬‡ 4~=Þ©vó^ß%Þ=œÜ`VÇi/«ŒxÕOÁ;ûî£S°Á4¤°.à ¢ þIÚp_.;+ùU-æ<]*s¹ØOÀ׃èbÒBÚ¼N» [¹ íMn¾ÿ~]ÉåÜ+ǯã6ä#f:Ô ß5÷ îí­ö/IE,£lµcékR!èúç0䃿³pá¸À¬¦÷²èvÇ¿+Õ¢þà:¶ì¾0\°q>z*f¥ Tt ?'ÿN’r-ÑÐXîÛµ¸* •@XËý5‡–úug­·/ öœã¿N=‘Iµ ‘þGe¸Z”éè{ΪoA×y—a& ¦N3¼=å …¥+þ1—h/@†I×g« ³W•îö¨:ü®ÓzW¢\tÇ."8@u^ èĘu/>õ×ôn8;Sß,ÅŠEzØùlÝºÈŠê± ߎ°Hž[¸ÐÈî¯YpþfÄ_¥H¯lèöíl¨Qò+ _ÁN€#sÏ,Ç™ …ìÑ›qšßó‰?ÅJƒú!ÕÝfKÈNÿ½ÊSüG1¡™Îi~Cl8âšÿÏ7DÛ«íöK¥¹B3ž í²œ˜+ ¶ˆqV) ªâÛzó=©9c”ïIÞ×îú7ŘZ{¦IÄWüÞ#þyÔªL¹žyšõXk6-`¯B£á?Ùþæ+x>Î3Hc5RˆÑìf˜âw\.À¹¨D¶(ì¢%AZëŽpê† FŒm›ø>üu”žÂlO¯ïñkbG@rh3;Ó®»L:ß …tÉåAÆëvùF®Ý=4 ±Ã³ÏFÙPÆÉOl³Ú}~¡oÄÖÍx ¡—µ¥»/kA¶Ü˜ÁJ}é^/tFŠÕìœÂFüFì³ê¶‹Kº0±mWDObãôùƒgú,ÈóJú:”BIµ”‰Ò”¤:ðm>kš #?’yš—ÖDgîÈÑf«YŸÍÆ`ˆtYX‹)»@œþ×çIHºžùg³Ä"”h/¬*®îg΂°kpC|]wÒg$­š ´çxN¿Æcž²xPc[¿BÁ=áãàšAÇÅ6«q1w)r¸}Ê©¤t'—í ç·s=KÝðî®ÔòcÁNÔÔ'Z¢ûc¡°žˆ) º,”q=h ÅÁu¯Ð™‹—õþ§0Xò1­˜—­Zã»}5ÊX̤Š(ÊD3š7r\Ìð}Ÿ[Lº©Ù3­‡#ž/áh¢0§âic‘ÆßMv97äÉ‘ú£¨ÿhd…¹µ¿‹&¸`¥6(¢ ÷ mé΄£\ûSØ¿+Õ0ƒ e" ÕO'9bÁ2vsJ _¨óznFŒÿ#N3™rØ÷ëVi™ÇÔ~WúGžÏ.?-þåbø•¡dQŒåÜsåÙ®0_b,gÑž¦c²¤|¹_¯÷! ÉO>_GU¡ü†rð8ßÁ¦»7³|ª1“È9jÜuayÄœ9ra«û1$+Ú¬Ó*)xþJwÕÌé»ò‰áÃP² çI‚¹ êîŸ=6\?˜™ »KÞG£Wƒ©ø<Q‡’V©ÓC…?´ùõÅ¡Ç2aÍ>à3–³bD”ˆ©%Ú¿7€ÍYNÌ붃pÄîWUgÂ$ “Ï1"SúÙ6pžï8@ª˜ÍÅk1/i’ò\å?L§Õµñi›Œ¦èøaÍÕ¦Ö§[˜÷ÏÕ{ñ¶cÁpŒwísIaJ…l±sú¹óP´Õ)ª:oÌí”·r;UÊ´ÓmNMzãòE &tæ–ŸŽÎªb5ëíÄ 2¿çé(a¼Lv ª¿ÿ}Otï!ÿñi'­ÌßšQlV DZÓ³Òº g³áx&yŠG8ð“×cÕãLÞVæ]{J^b'üli|[?¸¥,I„ô¿ÎjUýðtÛ¦Ñç¼nHƒÇ¼m[œ^²§ZY5×Oà øÓuºe½0+ªß[¶s#$9 Ë¿œ;•~¦!XÞð #ª2ØR÷ŒÓ´ðבø~YÓL? )ɰ4»ïÙOU¶Íî*Ä$ÄëôqFœªSzŠUØF }óê$¬à<äÂ;¨3GÈmQ?QÌ;9Z/ÚÂ>¾Ž¹º˜ZógÜÞ¤ ¢5îLu‘‘¦Œ~f9gêXl¹ì'°N¥ã=Š .7,t`}Þ/§ž³ÆòŒóÝ.¶LÏ‘Ë6%{_Ýj S“ªƒÕX6åÖÞ›í# à(UqÚ<§m¥©Cl‡4Êü 0Å&$ÐZèǵjr²+‘_\¿û¹…Œ#*2‹²’ိ³—ª¨Ñܪ+ÛHÆÂ¶Q‚JÈøì ÷hndèZà¶,©iëìž%ç²ïåÜÖRU3–ÑTZ¼÷È0ùä6°¢kÂòj݃5ÿÈÇÀqù5³Y…¹aº«DÅ‹x*;÷½¯(äì„h\ó-3 é²‹XèE†&#Ó¡b9ª˜¢A ëêPŒu£p‘ŸR–i „¬6½ F³îc­=6ì*[lY¼Û¥œÐrçz,À…=ŠÚ[eæ=ìÏ¢BÔ@.ºÿ¬úÞ~?÷|…=QÛù áÄ’a¼Ô,ao¾Ä”á±à”áËýÚANuq7ô›€WôO.rû7Ààp±å.ƒòylkî<6X§Ä’Î5ÞåTì©ÑëØ®i‹ [7luZÉ0g¹?Dj:è¦þÖ’Ð"û-±ÎÊñ)ŒzfÇâjz|=n€C®^H6¶%‹] Õ›Ð'²~.7&ùò¿?ÈÑ÷¤ä/[€d:s§¡Šdˆ¼þøG­PÄ,½‰g9¼¨;fÄJ ÄàŒ+o:-…®Ÿ"Ä…6¨¦%fG»YHjË@Àþÿ˜"Ý ìü{§[àIŸD Pe :q<%â"¨¯ßœÅFwÄc›§;¥°Ãá&~ÓР€Ò×3cÿ™´l9§w·o²’Â$`jk`.ç?î÷[bt}gÍšEé›Õã}ÏXj:iÞñª|¨ˆ>Wô¯;4T4/§J©’Õ-›b[W @®“.Љ!Kû`‰ž‡-!ÑgPRÕ¤OÈ£gãx:'´ÍK)A…uúáUû`ÚU†»‡"ß<`ÓæÔ üï®Éþ÷Çyåp£¾ô{Y%úsBsƒ8°¡*åœjã>Ä"ÔG±ñÀtÇà%K³y i$ú |_Rÿr¹ûÙ¢AåQ Ó:xúŒÊwkäüñ±Ý"Nå}×^—„cRH‡K£€3r"Ç @·*^GüåÆjú$ØåõûÐq]«â½ý(øÿ‘_H۲ȩ)=H”¢1áV/»¡³ç"2M¼ú…ïÇ>€`ùGÿ¸ä5[¾’íØZÒ™åû覆_…›¢òzmjº¾%\8¡ÅØÜ (Ä`Á_œ¯†Ä2çW‘þw¡^ó‰¬ã‰›kÆÿýÁc Ù(0ò¶‰p…M‚cò¡M<ÄÛ€n÷îxÑ5QûZ óÄ sånQþ,šìSé¦k«Ug=|P¥Á}¬ÄíL†Ãh•ÿŠþ;0¢¹"=ab`=Ü·Ç‘ú¹ÊxTt-ðo?ðãù-´%ü¾‹Ä #©f±y?Z³Á^f•cÜ0o”¸óž§zÒk?ˆD>Ë|ŸbzY,Å͸Ÿá¾ÌL<×h8–ÆØQ8Q¸øc¶Z^¤ã ¬¼ ]å›2cØ–®–@—‘]µýÀ‘'‹¹IlÔ’ ‹¬·å ÀÈ-Ûê‹ë|{zØ:U?›¢‹Á®Þ¿zú„žÒ„jÙqÕ’5 ÉÁ¯û)´ jGöú©ž;’±ÒŠ¿®:]zï‰]Å‚„qºFr¢Bÿt­š!ˆ8B5k"G©ÊÞ¹6C“ÿÌÍ~aÕm‚å¢îˆ5ÒŠÕÄÑe¡ü´¬…³ vÑxlíPG·µñL:”™3f­a{tX1X3‹ÜÈgGÓŽGSÔ$ÑàAÕÛ¸Q(Lɹ术á'Àp BöZ—c½Ó $ꕳýÇòí6cUöN;QE L[î/n€¼ +{Ÿè¢ÌÝø+N/ØRÑZÚs¡—Nb>¥r² qA‘Ùu®דçêz8˜K½Mɨ mÂ?Ôw$õÓÿMLº:#ÝYkIhó/DZè{‚}3M%¤î¤-´7@«9QWœ²1%Ï-}TÁŒó€;~¸‘-T[ýÓÖ‚F\éíöªÙyBò“¨·ßŠÙ4cµoYl]öÍp3ÞUÕf‚èûþßë‰,µŠôÍÍ”° Їðýüe4Êí‘hüTèЦ2Ê ÄjsüÄø1»¾Ò„²øMÒ},ìbIQ¿)wí€&s ÊbF÷%w}Sç5‚ϯ×Ñ$|Tò\ˆïäo·W™åæ_zÓëèª&àn ¤+é'R¿ ®|Ì\<Ðlêפ)»Aô¿©]oféböË7j AwL¨Öhê*jÕuÎ#€‘ ˜Fî2ÅmƒúþéË®ðÀ>,ò¬JÈõ¾‘‰YTZÒÖt¥$]üŒ˜”îêöÖøP¯•»Ôóg îîZ1C„ Øt\Aâ¹`§X—"à}P@/³Þ1ÆLqÔEÜ¥4ÙÖ£¬;Ñh"ÍMÀ_hÆ3¦Â™Ƴï£ú`Ú@KÏÉ0êÐm²X,Èð1¹ØTjÎ5ΰMæ‰8´u¯í%A»”TÄ|††NPyÌø­˜§íÎsßÒù%CýÿEDÃý‚GH‰ ì*|àL Bµ ÔXÓÖBO—F<õBrp©âhq8“Ÿ _³‘OšÝ„‰ ûqߌs¢Šˆô%Œ;ÔŽèo7pyaXüŸ—CPe©×ì0{Z¦ÊFÔqøÏÐ[Í/?ÎÖo9÷Ói1Ná*Ä †Èº“<;=.y =µ¡¦ƒsæÁ/cý¢q[n MfÒ‚yxlr§¨©J,`$ðõ™ÝþŠ2øûuà‰¥'Y^ââa|½Îò1¥€¢L fBOµX’;Öóv¸ôŠ&:!u5Á Ê02ÒúE4¢Ý[° C+{&Q•m.‡¬ÝO³b)¥—Œ<Ú¿“‘³*}™+à?åKöÕJ6'nu‹ºÓEøvÌ^QŽß?"¸ÜO~&uÉÓØš"K"Ø|„zî’Bø€ýàÉÍ‚J`†Œ*tÀâ$›Êä,ÏdPæ$AƱüøþ:rHbó°V4ã}¡æ<‡JÄÎ=ÛqŸŸ{§ÁŒxª%km¢{l¤'7ù@¿T oKgé“’îè•ã3½$ž‘E’¹×oöÀìÝÒ çd=ŒEÒ…˜"ÉŸÒäRÜÇæüüóŽ3žhþÄ.¤• -¼ÊóÙïW¥8ecÚÚ!I~Ó~.¿£Ã{=à¥-¯´õú†Ñ›(WœÒùë.ÔÛ€:ÊÁ{×@Ü"MšfTù˜ÖwɇX¼¬p­ÉuÔ2[ZEʨrå ƒH÷ˆ¡ìé@‚W« cŒ­•«—gå¶`í è¿ñt.€†ÀòÈEÿóE“0oÚ0Õ‡0l9}¿ê„Ž&™Ûh¶=‰ùÑû)"`lº®}IIƒE²s ÏC$)ªR×1T1’2'õ3KDÀ èùÝÛì3Äéð-ÿHú}?鮇Ž*Õ«<õ‹Êt8)>R‘Ø¥þôzDÏî' ½ƒBH¦§7ú³QP•´sœ‹ø4ÀlL~ác«±=³ÖpÎnïar©?ìúÓÝýr:ÝR ”,éa¦/+`†ýÁ\$!=¼cPô¶g™>lŒ;É7×õÞ]e=@Ai”°Q,À,ñc6 oµoÆŒu¦,ØÀÌà 3:½©ŸˆÃrrãJd¢«îŠ(?§TºÉOW\sv~u%0âý8wI¥Ñ>ð4ËPœLÔlò¢çáÆÍBèú?v«Öyô¿Þ¯‹͵ëò´ÂªâÏYô7°`ɽ¥îͬ}kâëÎgê¥M#ÔM- -Ͷåî™!âꞀ¾â«¯W´wQ‹¥50¯ÁJ§`r&™ÌþÖp^`â"Ë\®DtÊ®²äGd´"'mGIѺ`”„Y`»Ÿd)ÑC—/ 87Ïù=˜EÔ¡*h늟˜¿!ƒ½L88™öF4GóúGißu8…­ç’‹nÍuU7/}¿R8v!5bÕÕÛYgÊiX'ÏÉ 2Èym—nÞ ¬²vß8*òIõÿGª]ÚÀºÚŽ b m£>Yv§Œã44ÈYò¦÷²êºÐq+ïɈû-Q\w¤Ûæ¸ñP¯g+–LáΠÀ½1'7ìZ¯¤—o£ oê Ù¶ "‹8ß“‚~2æúyîm/*â²”çc!fZÖÏ·™®ÏZ˿΀)²í>ÚÁKãR¢—„h0Baàåú‚±Aèÿs\qM4Æ¡ÿ_{3°³ŒHkk›eΊV/ÛZ*K,W4œÞ:r¤EHRv—v¥0]bjirù}7™/[cç!c1Œ{¶µp¼¹*„“=V6÷ ‚° zÆ1ý3/î€ù±~ÜÔ |MœÔýÇá wëÿyêR—¢Œ^‡ßf ³ß‡<çHjØ5£Óš¨?Û âŽJž rC$z§:S‘Ö*Æjˆ¿Eô¨íš‘­<[LðÏæ.<´ˆàûràJN)Õcþw§Í¡øX¶±GÄ͘“â1ªqL rà“]”³Éˆìí]-#© ÂÏ?œf¢à˜5—ð™P"ŒÃ0]'›ñY¿T´|P|€â³°ù.L¥í”—Sfçjn6GvõÞü†À㛊JëFÂÛ¥²ßÚÛ°ªàLF8óÞ´Í'Ì2.25^'aÒsè'þ̰ðÑ0O9d*qÁŠäÍ¿´ø^™=á$fá J°äT:.:Ü †‹wZb¼ÙÙkK¤O™¶±s'5‘Tæaœì—Yw©ݸ‘qmìqËÖvÄ€¤Ød«JP×áê­L;­W))Ya¨¤µçA¼/is-ÊK΀íØ9D´H-¦@"øbž©ŽêÜ YYbÌ(²µ_)Ò©·Ûh.Eõ©$ê]ÆS!ëé æ"Ó¡ Nå5âNàÅêéÎP9dh ÑÉ£‹¬YÌp:é©a™0'ð®ÆEÂÓ‚jô#'Œ'ÜVß™F<þ V}%HÈfþ|†êÌ.‡ÛèuˆcÕî‡n„âw4äE‹ÈOŠðSN@×UÔ̶MK?HÏ$Žc7¼æZÀÊhü‡´•w{? àÙJ)½94%ýÊÎC$.:rõVý`ÂkÔT(ذ²j `ñxMg]§†vŽ{là”€ª®OÂú^ÿÛÔ•9·´ÿ¾€§ø™p²È$mŽèKF2d⟳Ýlè8úAQÄÂè'h/£8³ìÇA/ÚƒåÌãÓã0&kYõ+}C0 H®P`°áŸ² ±COÃ8WM»ºÅJ%¥u"tîqÅ_)³ÑFšww±Üÿ¢  Ã‰vÂý²`!idIÄEóØ€3M È™.jãÙØ™FOêÒ^¢ÀËBThÝŽvx3†°˜Ê6K%×Ó"¿¿ÿ™+.æL¥¦cQà <˜v©#[Ó:-z)Š™5Èša:'«ù·ör¬°«ÂÙ«ä¼À§]%úvä0¹m§°ÉRýx}[ï|aF˜ûÈYƒ¿Õw Æ”‘Ñè䨦*¬¼Â¾ c5ºFÜ3P¾PŒ NÜ %!ž‹ß’f‹!t#Õþ;ý^++¬éžT·üLçÛÞo¶Š B+3#áÞ¦ÃDòÌY+ †ûf®7&T©ö߃ñzU¦$3eÒ¥Z„€Ì²èÓÊF±ãžˆž6Yôó¶RÉÚü3‚ú^ÔéâØ(ã&œÛú,=¢mÿð¿Nëû°?¼Ò|¤,u;¸¼X¬Ad@s!qí)ÎâqG)B¸åØjüÒ0è—xNƒ1¥©`ff€4ÄšYz§·JÀýª:þ0ü~L°ih*T×JG^Mkï‰á½Hl/€‹$XNß¾ßê(HøKÈæFyz®÷4Vv„€Â_ @g¸ ç!Aÿ[Ñ:a³ô0—ây{¼V´‘û{¼÷D‚\sèæÎÞ2u&Uåpbï£á¯TXß’âÛ’Óºéiý‹¹'’7‘÷š Ú-ŠJ”µLìb š5<ææÅ­i9Ÿ]§°¹\#â-´É]¦I\†2^ã€F%»mÿÝŠQ[år`æ;ó‘ÝQÏã=&=«PzÍ*Sà-ò¦î.êEà+>”¼§ÿËÎJƒJrhµ%Gj§·ñª'åjH®G?û²g ü˜|ÁÄtØ7€£î±Ü›Fƒ‡‹yŽß,uÁõûô²$Å%jBý±ñdéuXæ_ݼ†¬­¯ÍŸ.“owT ž³#5…–Ø÷{‡×ÐÆQoÂõ5þñMäà±æW Ÿˆf;ËÉL²ýéòýú1‰’3¡Í×> >SuÐÌt±) B±#ú¼·ó¸ä PžyçSLøڊܘÞê–êß\2Qçæàߎfƒúw%s‚†–=”J”kpÕN«Û³TÚ6ŒxîyâOÒà+·bÚ=‹'T§¢9ôý°õ~ï’贼ɗMý³üÄüßhvæø.¸a9φ‘ÇÁ¸f‚pîcáÉTˆˬ؞gj ùž² `Äî„ék©[†\«[yæú¯SJ¨Ê“zĬ›a{Äl$ª ;¨—aµF¿Ëç¹÷xËMãÏ3ÊYÅÛ½”Ó‘G< ')f­Zì`W¨Uµ8Ì9¥1­°ÐG -EÃQŒ š^Èåm®&I¦ûb×^À.ž^· Ú¨¦tì/0W¾Ž¼wùOÁ º˜øJà^U » x‹ƒ6í>ÜÑߠռݲÃ) ½¹QŒ¶VfÓ!ÍÿöDÑ'5u*+ÂôÿyǸPÆXÖ_­ƒ@ÏbÛIò99Dj¤ջäîÙí³ºµN%ˆþŽÒ­A+=«å›{kå äiá)â~ûW!ÊElÔæ°‚ë{ý˜¯Ü|©H¿j.èdŽ5Ì8- Óv¨Bd ¦dõ´…dtÃS\R& ÚL»8ý,ü?„Ëú3s_T‰À!S°'–ˆQ¬‡cˆZº ¼ˆØ(Hz×·Ú#ítæ:ëj  û1Ë&·/Ü©õu44¼Æ¢Â®^m½ÍôÅÝŸþd\Ù4Ìs>œœ†ß{¿÷7D”½úá®Äÿd§Ã2ü.û_¯[ƒkŠYQÛ¯BïxNùâÌZHçjý©=:"^ÝûMÝ-@›ÉwÒ³£0_ìÊFhÕ¼lœý‚_ßÇÑ”Ds€y:ÇÒ›a›ü9U§ýþ ’‹4fózT!™ôeÔ«¢j³H˜PÎ×""3FBôyÆþRº€)2úc±µmSP£«H’™#Ì,*áD„¨<Èz¢™ƒ´K5››¡{³3.e/Ïã&T*æWë€ó{yœ«¤ƒ$Œn¬µëÒbÄô™ý€‹> Û®£/¦ë"ŽUˆ›éN5Ýþ å~Ì–ÉjÅâ+æ.˜ï¼©˜@ØL]5ÛѺ¯F4â‹1~ô|Ñ:§E.`ÝÞÉ<–/œÒ†Bì=Sj½ýoj”tÒW¤ñ6 ,)Ì‘ÚÝz³c¤‰pb5ËQvX¦i`Tã¸Yz¼K‚hƒ]™h6ØÝáóo³µ¯ÍRI‡üµ€3#ˆøâySûq;éRR8íâC¥adÌ+%:dÒã†E‹8b”‚ jK”5Ûhù3“É«ÆòøñRF—…þ£ Î7±Æ wUû‰Þ,g•ÔA¨ôŒXÇ®¿SI(šÝ®Ž55ª(g&ËrË[ö*]^À2M` ðâÕ»oh„êT(fw£F³wÖ]¨p'îRá5ytΕ%ËÄò’õŽtuì윻‹âehÆ&ßï¶ÀCỔ3¡œ†›ûF™_ ¾b¶zïâLqøÓ=Z^…š×\Ïâp!ÀIýH´¸3Zž!Áf³awR¬} ¬~,CºZ‰süçª-ï´%øP¹Ð?Cî@¼%úcAላ×kË?:Ët  0¢‹Y¹ОK³UÓE¯†ïO¯&Q˼ޡÁ&àœðžà–Ÿ–ïÁ±-¾$°¯ª  àÚT\Ó3U=‘sãfü )zTç[Á´×P­fé” Ù@m=yN”$§:ýZsõ¾§¶#¶š®ÛZÞl8Zc*ù"Èœö Ï”xÇlJ±›Æ·Ï&‚¸™ìšÕøq®ò”Æ…n/èÕjëv¾«¶§ÕÂO“’Lž¥úJ4­´ð!aS wQí¹ÎŽ5×a5D‚+-†IE¾a©öò}ÄÊ Nî8äåšéZ7%$m½GÂB 3¹sºÀžëa5ÐÅrxcZUݪoÆÈ™ç4k rH™W…õËC˜?nY lãðˆ¾øV®Çm¯‚ˆ}×· ãýÏXJÚ8Ø|Ÿ5´‡Œî—™ÑìfBc@û—=à3@{B:xìy”X^”©frU$RºaThÐØ „L—Ò؈{LªŒŸÞ!Vü2# Ûpeo {Q9Zû¹àÀv‚ïþW‚p5fÝnºgD6ÅO'HiÒ|N¾Þ(=ñér7fÆÒRôg^Àªto@æ&°ÿ™w »î…]ݤˆY³G{2~yÏ]f?RÈ"RžJrë w@‰®Â©yÌ0³÷„gÓ'3YÒ9…„yÚ ¡?&B=¹µ8¬Ý7b¾Lã`±¢úÒWþz" Ï³?×7—ɱ凯@Ì&¯·¡§+o_Z ¤ƒþ¹¯§z=Ûpîég¤Y+ ¸ˆüèI¡õ×DȪÞá ÃC¾óMÒ¯{ÏþFá²å¼¿P‹îÃiÄ^çÓÂ0Ñv΂²Å™¾ÓK\²1Z hr#e8u+ÉÒ1è"Ž…*èS‹¤Ã¹oxD¹p]PõÁ™j9°´±V…,|3“ª€ƒÇI” t óÔK!RmSÞ%™uT/ãÛ KìBÃbF²u¹ß'dg;Ö«‹‰c ÿ~ö“ÅI—75ÿ/PŽ1ÔJ5Þ\l˜M¢úGì®—=õ¶;4³Z/†xrEq9®‰÷ — „ŽéA¾ï!VwRe²üTåvcRãKÚÏÞÿ[€/´D3>IP+Š9!hš™c„€‡Z”¦dp²öî§|iÅZoA•ûÐþÓ/§#½‡ {bß.(˜ 3â\$5ÂÖ\éäÈ<¯7ûǹÜЧ°¨Q– jÞKÕâƒÅ·Bä‚ÜÒ”¡@øz¹Qt zɽ#•wº+E™ÿ´éÓF¦Ep)Í÷íàXã½ÀÛÜU».}Ù·v‹Z(6×µÀ°± ZcÆšh<]>Ÿº¨”If BAl1¸Þ¾‹kp$,B$;WùÙ:×3ÙUt¼O3DÐ_S‰DÇ÷DÝøiC¹š"¤ÉÖ5ÜèÌ”ïê1Ü_Z‚ÌT³¾§ îý„¡ï[p´-Ãt}‚Û8 ‘^Ÿ¨&–CPs+Á‹&Ê *ajÞôϧ+¸.±²¦´õÁ9ã…ŒŽÉß&‚ª3ƒ˜…CÖË: n;²Uñ®w¿ð?£®7·â:—ØË…EÊ|S³4AŸ°Ø¦ðsPÁq`·±^¼zóRgìlp×ÇÑ5üsLÍŽ]™•Nù•WI²û Š$¨ìLEcì@`ñg/žpôÖbÞ|b³wO/ØÉM‡r±é,4b¼•Ø3 W¢;~X zPÁ’冈)ñNѵ,á!Ù>‹EñzaøÁ6y“a{Éð8ù{ÓÆ ,yn,AÔ²úM‡®úõ…@l²hÄÂŒ=º¡‚©ú·¤=vRûôÿ¨”—¸åݪ/'`†âÍ q•­âÄ› ÖF?-,SízïgNe¥ÿ Qe¨¡Œiº=ŒD­û8¸0‹ç³{µÙœ[Ô$š¦u^¦?ö`ºQž¡ƒk(ެvÓ)—xZØŠþ .’¸Ôô#+i!ðq⟮íd:S-Vä­Î;ø—0êDê9rü]RHX/õƒjò¨ÕÚèEÈ[†ç 7 ÒàRAõ¤„ž=b äûŸ(·Po8¢b°`B ¦ª€çÒ½zÉ!Xz|œÜª[ðî–GuôJ»<â¢.¯° p.>ÙËò«RÈáY½Œl ô2Íýåá i^ï¼ âL@ÌB\“îÇ”q6¿õ²mPÑøµ†,¶KìXPœ?™:#G˜öÏõ¿&/ ¶°ÌœP»5DîÃa¢‰ÏE½^L"1rçLÕW]=¬˜ó^†Äû˾#MFe„aX›>ø»†žÀèXÈ`©hOx:;±Ü|»¤1ŽÈ6ä¡t=—ŸÕ­â:Ë j[æx/¦|ö³Ò\ÿ'î‡Ëòãô°g¸+žôR•Ú«6dFYrÛ4ÍÙçòq&ï9j.‚³/C'VµÙ¦Ry«ÌOGѼ÷Køªó‘d>"ÎÕï¯xØÕ»îlÃñ›Ü1IýbŒˆRÙÀÊŠ Úñü_¨ˆà4Øòô@ãLýw×@Þû%-!Þ>…šEôP´?~ðRçÆE‰ÁÈÕTƒZd‚µaí ^æE‚f#x±ÜF4ÁP#}¢ réüVU¢zØ4‡'ÔDÁ ±¢Á#¦÷FFþªÇóÄ¢ú€¸Ä¤ ÛšªIv¢ûÃI7\Üã겺tóx%X  Ìo*§Óª)~únú“Τ8•–¢Í.k¦cZ.ב;r.à>ä¨ Ê~çǬ„´(¢^éeò(åšÕ?U°(Ð FJOõ*¾ÚbÿœG¹…q`ì,ƒî/ÂPÙ¦ —†«•HX)/ {z¤õAü ¿mƺØ{Ú8`z `öæì Ýë´¸xRGme~´AÓÓ#¯¡?ú¶®º³âC€VÎÄ‹tfSˆãd™Ã¥wb ¦õ1)8”ããmKaûÍxáE´¥5r4|r^9†6ã®åV[Í•ŽøøØr©ºBSågOÐ6*,bgÜA(ÇŠq¯¢Ô²ë'XQA7•Þ;Ðéô1ôH®ÁÕUO{tòîzüHM2o,¼¾`Ç7mŸRHQgT-e±u”Ÿ`4$:Né¨uí ïúyÈF^ƒé¾h[ɵç~n‡1éE¹K¿óDq[¶vzVž#@ej^¤D´ÇÀp)qeãb£Ó„OîV9!éyÕF‰K`ÔâsiÄüŽcRXÆŠ….+šÆZÊœˆÇq‹0sôªÌIWŒÛ@UaQKõŸømRÞüI‰½cÆ <,‡šh@™˜½Þ»~¡À‘¢Ç•£¨sehP.Œj Z 6žHÅê¤û²#§¶ ÿ—Þ¨¿Žæ?jv6xŸ$PÛÅþkÿÉ×€Úë\Ý oÒS‰'¶_¼TQ–îÀç³{h†÷Ê:J©’ç÷ô˜­š‡mh|eüÁú9r ®:æËL¯sû6 ú8´äšEü˜êˆ`“Ô&âyjtÌ†Š·Y0³ ¬¨^„1Îm”fÙg Ý…;ÃѨ±<È]ªÚgö\·?)¶.Ú.3b°[)še8"’Z¢Nº]ØòÓÉãNhìvËE“ˆjêK"-KÇñÓAF=€\&: ÁÀ=8HßÄÉQú™)“‘4 ´â4Oñ/tYÛû„7ñÚþìvr¼X®âkjÓÛÑ ˆ3öÂg¡b!4ù*¸É§M(€#~8)‹$äX²äúxq*T—”þÔTƒQð]ñ½<äqȉ8¬ô÷Àh,ª»'Ñ«Q ‚Š¢y4È!áw{w³ÍÒèÆ•™xyúWF˜‰H•k¢c½‰xÛn{G3:oŠÜ±ÃP)Cé•¢ ÓzGoVª?ߌµ7$–@æè¼ŽMyå*1à[°[»ÒösqΩ9Ó y{ /ÁUÛM¨¸>Ú‘¸A-³ÐÉ^ÓPt0•M]S†fÄIGó§œ7vªÙ"wd ÛÖÚ:2µµB\G7ó/™Û9©pÔ!Ù¸`ý=5~ýñ²äð°Cç¯ÊÚu¢¤¬½S…sø¶…ûyRcV?®)ƒÞ%µ¡²÷#ª¢Ók~êå¹4„[Ül*s×Ò¼é]:̱*À3z«{nRO¤„{²i6ɦ0®9÷‰©›ñL‰m3hýßâ!—Î,7F²L øºuOþÙúÂÙù´TO‡ù…§ÕªÉÃrµ³ß±;‚$^äm2¢Fûæ\i€Yegcª6?|™‡´œêç8€_¦ƒ²Zf:ãD™¥ö–ïÞ©Ø5šT?ºP+ÖCCú› OŸHÂ7˜>!ŸäÙ1á®èù§'²&Ý`Ã=̯ú‚!öMØ,)“)Œ}kû“âz .;®y(°^€oÇižHŽÙÿys%žý’%È‘¦+Õ§c篮ˆšüð®\äI =dJ™0ø7Ôeæ¹wÍ­¶žøFïà ùTæ¿96ŽàÀU!åúN}ËdA;PÉ@Î03CԦĜi¢ê`&­ÿôËcÄ%+±Ú4t3>s–+ÿÒIâ,•ÚÖ>¥=©l·¸­ÙÁÚšÏêØçdƒ?t…$O=ÙVÇá·vúr'Rí£5T4ÆÞiK°4=wxï“؉b‰­»Ö£óRÙûÝãïªggeî¹ø0¿… Ü<³7%Ü\äÕïÙPûÔI[,΂±Wq¾²H²R9\#g¾0&ŠÊo8á3½ÍÍÌ›´¨ódt"µë”&bNÖëû‚ÀdVÐÓÚ¥žØ>ØQ`õ±¸þŸ`X!‚â\ë3L ÂJWžèŠiÞ¼Xʲ9óߣ}áŸ:'§][ëQcg:«FðƒÎγgO®Ã(úÜ4•ÿ¸Òß7óвYÙ®AluÀ…ú| }™~.@(—«ÚÔº©¬P4²Jt-è»>·•€td™6·”‘)’}±Ë\Öó˜o ¿U“AciÖÿ>ŽÈ…€jÐ Ãmdr%ŠS·ÜrSB*m`:b‹P˜ôߊZH!ŠYïf/¹l:µµþí4ʵ’2DùI»Æ#€:BÃÇÄðŸæ›¨‚Âq \>»H|Ôo ÷ *‡FPòHÏÞfóZµ£î!—SFª*Ébêäb]Ù:“ÌXZG(H¦I·eÜèð’*©EÄ£ h뱄%›ûÉÈ6´9¡7y>!#‡/çŒ3G½¨ʈ ËøyºJ¿@ n*¼ì ßוqüwMa(f+X½¢ FQÜ#ÍSÅ&TQ‹•æ­³A5¢vZŒ_\Þ_Ì…þxù"ê,Ãù\%ÀÍ«¯­Ä!*Rö¯y!ñk©AÌ8‡L¥C¸àÚ‡ÅZ¼º mïX—} ³V…j-üÓCŒÅ‘L×]oýyŠQÃçü‚3—0×zoÿ>ΈMgh^Œ®šÊ(-à=uïʆ [Ò¤²L.¦ûÆÆ]pî(7ä|U`ɦ%æ|F ÞFiî–W !¾cu>$å<yxŽ`Ë~æÆª+ŠxÖ¾>1Ïݲ0˜"Ñ,¬†úʘçÓ4–i€¤û"¸Æãš«R,²ê Jqf+ŠloQKó‰mÅùN¥QBè‡ï³…zª1¥x÷ozºYå Ø`n½¡~Ü‘âg]-œa¬•ï£ë2ºy+5WÞ;Ç>¸°[ϨãpÕmïÝæ"X'šT³Zº5NuÂeÈl *‘‹;K1%‘-ìöGo+ êá9Á™yFW‰–}dŽg¡uz䧃ٓ_-,M}¢œYÔë9QÔAšõÏu©»¼#]DÅê¼üÆ`}3—Q|¯SŸÉ·˜!:…~æF5û‘ùæ­<¦×Dݧ+®Wá¨gjr)‚Œ3cEOƒGÚ®áÒÖÖÌ„ñ80è· "ûë·Éœþ|?‡Fx‹±E¶¬= 0Çn<(‘ým±îÿ® è™nò•Ð!Ä/^JŸVFðW¹ºä~¸WY»In«nEÔ e4O>Ï)ÜzI¡ï‰Dž2ï.ûëÂÔ‹[ceâ™,‘„Òö¹ JŠ Å‚M2½-­öž ›g )DµœrŽRRöF”¡)ò~ a&âR´ôdDÿÇB¥î3~š‰T½rG͔ϢÙؘ’J—üè¥sè«x`QM¬B¯îK¬LÈqéý_ô—Íô$ɾ€¨ utC>öÀ›¤ŒöÒ(Á*¸F²)Ã'D Ž@h˹ lç}}0ûöµ}EoÙ>¶Ì|Ékò›'™_Ž kjC6†Ë%¥ç[£NêL@þeþŒ¸n=wH%jqZ1!IQG ÅD…6º“Û/7\}ç¸ç ü:+Ø”O;qxF<7<̨ä`Ô‡ÜÂÔ.ô“=xä°Ó½ÏÅjÍ’%Éðý83E.A1¨yçOÈ%9UýMªì¼ÆbXd¿ƒ§ÕrÚÊ\IS^Îÿ^bº$½éÒù¯c).˜"×Õt«P^°ÃÄ¥Ç0ÀfÅ)ƒïc÷(ˆ+kùR²ŠLV'ZU;“y Q qLDƒm)ê¡sÚ+c!0²á`6ãÐ5%”Qñ2õç¼N,»ÅÑ=ëçÈ_Ÿ»v\²ñ³ò+ÿk8 ésTÁ““Û¼èí4|¯ý«Ñ+ ]ц›¨]Ž~ÜÛåøýFÁ'L"³ Öì=´–Öƒê±/3/ò ±oŽ=˜Ñén|½9s´Z!Y†I5UÂ]PÔdW#‡Plxý€ùpˆÈ"[b‰}ŠŸÛž8\?N’Ò¡úÆÓŒ&îóZù«Ñ2^|Ný ¡ÖǦ-zÚênr}+ŠTéüâÑQ²—`Úê_Håsg'SïÕÓˆÝò±Wj+C«iàÐ’)ïå¤;o–÷Œ©o f \E;GÛè¾J|ܬwû •EI¾-„å r]™›x#£?³À̈Ùlj%û Þuè8ö- Ÿ·0+‚0Ãc`Úê>JW®xÛuuZg0IÃ¥ªô°LÐz±:W.˜éXF?€Í>œPvÛ¥Š™kÒG•ÃÄlSñfìh‡ÊŽRñ]š0fü¬§£y¶“{Ü´ö9Þ’ô§Ò¼·:޽Øí­~!Ïíyé õºpuQ-²¦C5ÎK„W[‰ƒn©YÎöø½ˆ³F…3𣴦3ˆ-ŸÿyÞ³— lµ¸Ù<ô{ïÃÅ1byKIx§€šJ ±Î÷fÞ«ïU~2š—&"–Ftp Í¢9Ÿ$•K …|¾6Lìªð¿…Qö:kE`™z®N•'»âôzuÌ^!ðe ǬþgÇZ¾.{dáÇ5„ç7À?^­Cöâ?öjµ¬3tåhï¨Dú™A&¾g°SØ\4üÕp’öUîRÁ7ò¾ÆRZÉ/Z/£h¯M8Û÷yÆ ·%RãïÇ^ÿƒ«£M°èCÞüX'¥¶¹¨çŇ µ¢‚Ö‰hÙ¡¢±ïÒ“_³+4ëFóÞþwqWè•U6=•’-·®óùpB#bPPS¾/Ĥ‡u(¸Θü!þGéo}›%+þïmc˜½"3µD× }¨)KElìqP³§Ü ŸN}•_> )TRU‡Á´†0£ž`@‚9{ªXÒRiï„*è$ýSÆ À¼Öô=Þ"úmÆ­.å®¶¹oÐÁ[’"ÿ8Ž[baI5ÄÆxÍû£&>iú·1·îïÇ‚p•"û¼ nR1ðí»4f°zV©‘Ìü0¨4qÖöƒ¹-ó|€‹ÕL‹T܍ЬÀðy÷~¿Âùö×`#C§•¯Ç jtØyþçŠ5a½x¸DûcÆ QzÛUI!J8ö(7ô­z®Ñ<Ûjæ A„À2´ƒzÒ™–¯é( ¶uî ÖôÇáõnò•î‹òöt³os¡o(¨0Ƥ.^‘˜å‚ ÿ~e51ø½63 Š-Ùž ׬ÛþDNæ^¦~R¯¸Ÿ°åÒòqõ–“ù+f£q²*áèmMÂQi·Øä„ÔNÖ8àp±#XÔíT—¶g *‚ ü°_Lw t·\ëÑtÁ˜00‚þ/Êß<à »óëœÕ›‡ú¼UÓ·Ë*SÑ5C&Ö½ÂsZâÍúØnÒ.\Š~}æ%µEW]ò@H¯áo¼—î9Ž—èj(áˆó:]ªLÅïX÷ð§ úmù(°¯Ñ0RvI™dYÔp!€Ø­…µcZ N®µæ9mt`¿î‚ü<Ï‹aû•‡¤æè'’4`Lq 2Û¢¡ëU[ƒ¨½O„νv [“Åw«âªÂÂû [GØ@^;6'ŒO­XºÍ%ÅÈ}ÿÍQ&µµáí¾Þ+( 8÷øÀ)c´iŽGöö€ÐPÜq!„©y˜f;í¨~Ò®™ƒa“Ô¿B„Äʯˆ^Õ¾ëÐ=¡PG®A%CÊóŠŽiX&û7M@S¥±€Pnƒ4<…~3y«tïø½ýr,ð1M´ÏL†³¾´@ WÄ€¡/ü²r°ÒÈ‹qJa Ñnþ)\ç¨d<øY axE°ÿ=¥oÐ…•ÃÇFŒ(³gÇAû¡I”Ú q÷%˜1=/÷ADÎpºâªÏ5;ˆä¼Ä3î’\_ nÇDŸS¤jÜýè «Z~@îV¾ù&ÛK'Š«åuøpF=m”`…Öˆõ²^ õ[Eœ€rãlïɼ»Lo—«lù\U;…—DþïÎc44r!Õ·oDšþ%a"²ŸÃ™±i÷€Š#Ú.ݶÈÍ…éLƒBØtà{Ü~„7´Ò¢.UÈ6ŽŸ¶”DðÈXîÙ>âîîx$où½ÇyÇsiŒ­ƒÔÉD³\ ¨Cƒ4&v˜‰a,6 ⮺v³w[`æ^ìRÔñäCæé±w“!áB<֒ئ¾áÛ•D,—š¤}™Ò{ Ñü"å’+ÕÒP@h$)ö $ÂIµ³mêƒp¼YËG°Õ3qCÚ?ñ@kÞÿ‡¹ëü`ŽêÑåìÒJJ÷ÑZ0_éÛÆj“ÇÎ/áΧè'Ìyc“˺LÊq¾ª¿‘”DŽ/Ý4™%×PP6Û4â²’'sÕù«`—Ðp€xiEF–]Nõš7+bL߯u±%73DïÎp ¢Û̬þ¡Ú•ªÜÕKñ¥ :í¹|Îñ»¼»¿›ÙÌTðªæ ¾ˆ%¸äUqˆŒó"]*ž0Ïiƒ5ÖÆ‘vÖâæP}?’ é¼ÔUÆb#ÝÏ🱸ÜîüÆU&»ï­(ªgh¼Rà8àR¸þOb—s”A­mÁä(`ðw°û›ÌÌc~XAŒ;##ò¬<›6Èdr”é ͱ–h`ŸH Ç­‰z>Q{!/‘8³©ž´Æ.:È„G*üâ5ëÀðÿÖº¬Jј –Ì6¯¨S$ad_›àÀþm £ß 0ÄR`å§cÖðë`Ë¿ût£¬ÖîO× ¬ªÉ´ŠÕê+·ÃvI"c˜ «êCR?N}U=SʲOæ|"¢Öăr1ÑnÍÛäCyÀ?IZ[S1“Yòæ¿Y`…Ô]?¨k¢8CáùБyP7t™†¼Ê@ƒG}b'gR¥ªz:Ç;,6Šu ÒM¨ ©‡úd+ø¶Í-ÕnoHÜ?V¼ß8^ ¢½ça5ÊìexNë T[Á¼lzlá{†°ì„'a' gûºzN‹„­'k›ô¦´‰åP6 Û¬±$hšß6í П݃ïE˃­õ§µÐTFÁàM¤âLfÊš ·Œ™UöÆç›O< [¶A¹Ž!ü¦„ò‡E† *£Šèi_ß`—µXýÙ|,YHj—[ª¿Ï3¸ü¨N…äȘ².`ÒO™›ç‚”'¤Ï„ÔG‹Èôs ç_™ 3úß ý ÿðHÖ]Î.n>Î&ô¿-0.Kà9§*°˜0òØ ¤/6`Ÿ±Y®ä$ÙøeŸ_pbOcø‘>­:K8aë4ã„·Âå>3µ-·«ó÷?Ñ(=Anüº¦Â1Hv|nñèÙ@n"½ØC=é¬YøÕ”‰¾žòDL?Åý¶­EˆW{/—´tážWºÎÁ×¾“Ó£ÁÁR”ãX´$Ф,[|DKÊãpF;Ìtÿ_Ìú~È%£í‡¿×ØzU¸—Á»ˆ5Jô‚b 7ù—4iaëC…|{4y©ƒY±~ù6RÙP¥!À_p·ƒJÌŠµW̆~óÞ¾äøN¤’½VÄ5N¿«P9úÝ Â{ÆñHeZíÄæŠôMŸb눗ñÕǘ’ ø¤Ý_¸˜ÿ`3A]þÔV*SDãÚœ#K¤9ıǠf2Kœl úLy=4Ô|ÁX|qüLA6†'Qø¬FºAbÏ ÀÎ1¡ÕÇ _ … >R¬¦ñOةƆ[’—×X”„ I3ÛuÃ`žXbdZ æ¸í}Çw¡ÿíqÝ5¾ïCæî|Oš´ïïgy¿‚¥Å2°f\&]¼VT׉@í±?Ô>·š¶ô¦¢DOë£%ó>,®»åòZÖ°ƒpüÿ ô« +šw{³ÑšŒ#3ùC‚>ðtS€‰¬ÔÐx‚6õÎôágþªšïV,Î*ÏŸ?|—Ë\wÏ€ÁhÀ¸³§ÜÎaÐ…;¹ ž5dà¨JrÍ*~Ú”$¶X5Á·ìKLÏ`ô–á¹öòM ªTá3H ¼½ †CbYÞÛƒj,®ɡŸÑêqOÚÆãzäà:¬ùuáÜ÷ùÓÓÝD@e‰y”\ýÀp86‚zV³8­-Ðè\* u/ÊŽÝËkÃ_ÄJöÊ`ã #F5Êw 3iuØÍRÆ‚Lçµ|–OíìµXžƒ\ÔrŸa;ÎÏÔÇ }DÞíë‡Ú‚µØ‰ùð»¦ìZ%Q»‚2>d ØSZåñâ×»v‘ºÈ4 ”8–IÉëåèä+ñ¢Í Xu …ÀZDÃÔ«’‰ú™AtŠf„<´)jÐ,3]ÆN¦.AlYWŸ$w§«EÎ2¿.µ¬øx·,T1˜BïDÕAðNöE€Ì¬ÿ›¢>¿~áBŽéf#ó^W†Jwl+\Gã?ÖtœÙKzZ´’–ä§B\ è:ž¹™eb¼E0iS~–ƒIà§eœ-3%¾D™ùP™TÉ•N‡^¯áéÚ_󷿤“÷V;Õ+3÷˜6v0ëjIõÒ©i= Äòù8ˆá6Ž“j£¾D*—Z›„2»®vÄò,53ØBÅí‹2yD‘*¬-× °*u/‘úm…"˜©LRW=úX kåîÈi¾«ÁWZV~gFaûàSš<«Òó•j)>§Ç”%úAá8{c¸'“d•Ÿ|=û’Â=Õ¢0K§ìÒZ9ZœÏ5Õê÷Ü¿±`¢IXt^´hZêÉ0 þ@‰gß’ ×±k†ëN9f½é3¥ÿ©¸ÿkIHþðŽ[šÂS¿Ï1~ÄaÍû_þh¤ WÙÑA!Å# _gíwœ@LÃU LÏü%|k/ÊÖ+ÿ‚\£'_þQíÛ;õµ0› 8|8„†ªÀþ c”‡Æ¸&ß뫱 Jr:ì`òóvO¦39__£ 0î1V¤„ûó©“¹û¡Òe—tœ#â(EÂâØTÛ§„ï÷šß‰ßÙŠ¦AŸŸ²»LüªÚ¯ƒ3‚ŠWùÖeÛr¡4È/^TIøØ5ÏŠU¯ä;åαõ3ðWâãÕÒæ¬ ’^ûù…ª<†ç:7:fYf¦¼Þ-õ‚Öç®ÉoˆÁ> `–ÎàhS»¡U‹é[gQÝ èuäó>Ú^–ºh0TQtÃ?Ž/›]˜Õ¬#ðq+ *P4™ƒâüÂøšm¸Æ£rþ(|83ña®ÇÛÿ€úheE,ãIÓ£Y£Üªoë€íàéq-“66½ÏîûC[Á>Ìw/Y÷efü…£ÝœÚI*Ðì$ÍÈÂã*=ÈïlÈ ×þÊAóZŸ!®jQïyêo«Cý;¢´ðàԛļü”•Þ0s1¯DüÈ}‘<¾ƒ`ãÌgÉŠZ¼4}rÌh#ä^\º‹rß5BOIª]ÐþqHƒ|a ÚÚ7š@íþ¿>æë äê…’ûaM`³ Y2½bÒ ÜüÇbZCÚ”üsMË ò‡ kÅ!'ކ™ë‚Æj½r³F4æ7¹3±cšw¼ïŠà|™qO¶[RÕúùªDðf]” µøùèƒ'¥[ŽÂÁÑÃ} ….í£l”wƒ+úôú‡¸>–œÐ<Ä¢­Vq—’ü9éƒã_ `¦@îµÍÁC“þLœjsá˲µh$$ÜW¤€Dª$;#óX¸¹ìÒôµ>½#§^ªVíDÌOÅ4Iªl7©m{%¼ry%­€éúŽäÝtÏÓ=Nb]× WY³ >éFý{P¾ý|„?î} [h_j7×üsgó'¦e¥jM`a…®úŠŸeÉ)Ô.¬™ÞÑjR p|Æ4t㨧Ül–ÏOì¼ä)Ôzx0Öªd©ÀUFÉ?èF÷‰¬ esæ+bEI@’›»2¦Ë0DzÀøÅ7G—\‹ÁfúiXW ûï?xië«›]ÊÅà~ø¦ý»–_Kä·þIœL¯b!ªãÁÙC/JåÌSÔ6;”¨ë¬ò4±†Œëd¶×q]ŠW×d}ƒMê#©Õ UzÕf†òб08 D/' êU]LÏYªGåܯ!B¢2_¸I+Ù5ßs´Ât…%ÖsÆÐ)ŠOS–I™3œôg™-}ªØ"L° ¦AòÖ}b§5¸; ×Aó 6¯_¼N_M2¹þ=©+-¶¦è’ØHÀä¼ü_Ç9ÑŒÍ/Á¬ïqâw¸ÏU­JûzqH¸¸ K%öAp´[¹Ûï*×Â]È1?òâœ(hÌjļLž•—oö:ãä’•«ã› NêÞù FþŒæ³¯DTHìû$f–~#7¢Ú³ ® $ƒ ›è!¾c«qÌ(b)R¢+:q:<%i#xJø>Æ,$º3 ŒÃØG¸èMìpÅÀOk¹å¼É”9¯½½Ï¿—Ôª?¤,PÓ0 䞈`®ŽÓ)-Úµš›$ôA¡ø"—¸ÀheÏö>º»¶„üÉ=C¸Í-¦>zð~03íy?6¦ Ê]?TòŸUxªY&Ý÷½ cOšM@Øç@[\›œŸ6 ¯¼Åìí,g9÷ëRä½îljڤ̖-UàÕμK[ pV[fïèâf=ÓþéL²À!Ó‹¬Ïgjzð{Õá¤AÀòj6l/C|»yÎúz¾ pWOà!©# ¿Î‘UŽ lðQvKüÙ-$éåþ–p_{mY#-éðÞűÇJQùD‘Ø«„ nËr£#–ûv„Þß’\@ÕFµ´ ‡–([NÜ`Yø HMÍuª¯WL>ŸÐtJÖIzǤ½ôO†ãŒŸÏÊ“otK³ÈqÔ,ÛrÎGWæC;ÐK‘šà~¸åÈ‘ˆ½pØzrÁ½ËÜ¿hˆ)ûI2(ßæ‘·}Ì:ˆÕ³ý¼9Þ„&í='½ºh—#bŒ¸œî¸·¼IF"ï„,# à¾o†Ûá3r–€MÊXåW%¶XuEä®SÚÑ+¾8¯ÙÂÄCl .Ãþ:Ó|A$ÌÙÙ9m:Ql†l"nBØä©À˜ˆ€ÄomùÓ˜ p™ŽTzXmÊ«‘¹s…^Xý°ÑºÌ9)8»ÏŒ<²}—ªåsýwv¸œûÅ²Û !xûB«e•ødà®/ÂêYk` Z©¤ ¿ÙÐØW ÏMSžÞG)–~-“ÍKê¾-ðÇ Ï$ˆè4V5ó'| Ÿ@œ­ã$üW*Èhék¸Œ¸–¬ÞO;sˆ{qǦv+}‹§Øºzr8ßÌ#ï,çN•# [m 2Ï,%wÁ ï-™YMzî@lí8^#+;áoù &ÄÛGXÚ¼¯J·Ãy-Lú×]ל™ÉþP—,ð£eRt>õ¸\HSçK¹ŒáÂWV##^ÏÊ i?îxiZŸ@j.+™Ÿ­Íï® ?0ý[MEùQ)sý럖!®Ú'ÎÓT6…(.eiG|Òè­¥@|/YkŒ âŸf¨®ÃïãŒ#?í‹€2µ¦å÷Ž]„úì…»gzæ9ÙjüÅšøY©û€D»Ð¹Æhb=œÎ‚ª1üÍÝýàÍso)áôNVzEB;BHÛ(Õ b1;5_©ûcéùO/žú‰Úxå4!ã<~èY!éáæøÐða:q”ví/A`ûî`!y?ìÄKÑ#Iæ¥â³vG¦?P4lu1ú£±ì4æ±âQ(%¾B‹£(ME:2•¬TÈ*JuusïåÉuÆ¥ 7 U‹qk;”³‹¥v‡ÔœáŠêg8_4¹rÃæ»¯–õ­]MrŽaPAˆŽ(ôÛ1ÿ“vaÀÇÁåLñxë4‡W¡èôjãqUÆEîÓ!7~6eÏoYü ã/á{‡ñ Ù>Z¸6³º5Îá$~Ÿ<*l؆>ÇñwåXN"‘•{÷R¯Œc"¨Û0c/£´ ÐÜWác–…ü9]C…1iì`ùf¡}ˆüt€Ä– §Ó2fIŠŒñm«B|Ä6cr÷Ê.,ïÜQb£â®_V‡ĈÌ¿@+p'MùÓên}‰/% D®,Ze½*]ÕŸÈüB0Ìœ/o‰ð…Eymfž^2''áCªRÈW€uß%4!²ª"pÄÏo‹¢ÌÌÿ–6úó%CG¹²DWÒxËIsÉݬ«ë/È`§ ûÚl٠¹ËNk÷Ø• «î×%q̼ÇûÆG¸xÏÊ*¹š )c/¶ÌcL ïWƒ}qzŧ(BÇìÛA…¾·,\¡ž  v$ÿ£¡,dxç‚°¸ÄîÓ€ÝBØ›ªiCy”t[&_Ñ óC€ÿpÁÉ>Ÿß™trLÿÕÐE\/s`êc. í?ÝåcÉ‘»ñ3d¸ÁÃ,cÛíÙîSùš æóYÒŠ*ÜDßõó ¶Ž¸f’" ¦{Qv¸µm"É¢@K#ƒB5øì™ŽPé_üñØ=#Òîe P!÷н ˜éŒ±E’‚!ñ·GKK:T c;ŠöW€Ø€â†Ÿ1½:e“Ç;ŽSÈ\¨87º0¿Êü¿j¥cj|ÞcW¢ê%ÕA{ä=:â3õq¥w”W©,E•IïÕº¼klžóT^+‚P8<Ýžüãê;ž-%nEª ' ¢U†eÞÀ¬@ˆëˆ8¯VQ› .›˜•æyQ÷I\ó"~ ÷d’(—?ú« qf @9Oj_zz ØÁÈðÿí'&?d^˜Ä†Þ’í¸~/E„€s–˜žD:Cô7±Ië.Ùɼ}Üv«WÏ e—ÂópÐâ„æ ù’£ï˦toß‚¢nnðÑ¿\†ÝÏßu°áƒÌ[ªšm oϬ¨~#ü“uWõ 5í›özi¤¾ãMkÆ ƒPÍdðÂN¢/§“>[;Ó[®?§ñ³€õ-ØÇ>…®ç^ųBJÍ ¸÷•ýèúÃÁ•Á,Ól\–Üç5 âÿ+z|ß) `HÔ…U‡A>©ŽÚOhÐr\ \oDe¶è{逴üŒ\ó03Ø"@K¡,xúC¸´À}¬1»,I ¸Y˜e“͢ߚCë›ÛFZ•r¹ä¨ë×™“°•À¥B6›Uµ…ä w?Sw¸Ëà&;»žuòëîÇßÓ²ª[üeÿ66AÂ-ŒÇˆÚç‰|W‰®Žƒ^ì?¦°‡¤?å×U—3>­FH®0–BUN•ͺÉßî&ö£»Ã8†ü\7À£ô¥BEË%u.ËtÒ!ë0®ãü)Lb§8ÐË=.öçkO©8¿ôÎíX/Ù‡JL_]3à´i Ãæb¸woe¡S«öíD5rñMD ñûÃ: !¼‚g|^koÕ&‘îî­X÷œíb÷õÍucS¦"éá½>®¶èrßÊgRÛ¿ ›§&Ð-ÚN{øÓ\?ßÈ ŸPß.§3CI1¸<ÿã›RÇ3ö-$¥ãlÓ/‡PƒƒõbçôM7HÒ—É6òˤF‘¥¼… gò;̳J«Þ^{P¬ySp§É¤ÌTþ‘Œ"FtñJtvÚ,¶ÑF7ãßË·¼™iÁ04æ³ÄGà<Å(ú ºˆXdOq_a™a{vò*U£cxòŒº“yLúöæNOz"L‰ú!}3M‘=Òë÷]‘Á ˆ­Ýª˜n/íäT;'Ò]½#‚Ö®?…€*Æ^£R‘E‹J&G_kxâ¸ø{UÔñÓò#²F0ç”Q”H¿ÝAÓtJTô?ÞÏLÓMC°Gxº?ãv¤xÕ8ï{á>¸øÕ(çØµr LS+¡]ªúÀ5HCwQÖÌp¼ôÀ7„øÕq–Bœ’ã6ð ÿïeÀÖtª2`A¼ó€ˆ§ó³JÊKÜ"¾¨7$6À$B†Û$‘¦‡L ÊKú,Ra°èÝ4;´¬a­ Iäý  €V>ŸI)ó-¦,Ðt+Ókz?lò ²ÇmvK  Œ„Gg«+β%x|œï’<*3FÈ9#p ÷ –äî¶KÓB$œž§P›e-´¶À«hqC7¯£€1Ï# LÒ—ÓIMÖEpɃwšœ­ä‹[ìµøl£ LÂXô˜[Èo³Iw¿âÍ05éâ'V½¨ƒmYùN^¸ò0Ç[RÒ=Žˆ±T"&A²¡ç„GÖ´oZ­„OyHŠúO ‡í-·ÄLÆÜu²7oµx%g—â/Ò¥PYøµž0a‹[„ÓFºUµ¹ÝÀ§ ‘ÔÓ:M G^ž€¢Íλ¹«ùé‹©ŽcfF¨wV j¹ÙšyÚö=Ï´ÖL\(A©v_u-sXŠe—lœÔ«“/éž †æ^6ˆ¢™â ó(Å€¬å­Dâë÷R£åu…¦SQ‚Qûô>¥ùÄç½¶ü½Ô€­ùŸ.³-nÃ9[êÌÐ8Æ=#ÇY“Ïj*dç¾wð^pòY—ôÃMÃÓãp}qÁ#®H,“ìG&þªNðtö‡°^q’é¨NÏ<@™=7ñù!XúÀ^ó³< ³¯½vXÜ}C* J>·0²ÏæYÝa)…y-›Ú²}ÄË„{í\îcöºÊ`†0ÙxFPÚt†Ò²";1ÿ‘$™Jä(cå¿8–ݲº&žà¸áøšè¾¤av0~‚¯Ù¾]Ô®û.ýR<ª?_·±*çíOz_6‡n½Ì®®² SDʤ¸©V”ŒVÿïwµs<4ý#yöl*¼l'ÓšÌ×AýNÍË_aL!£äÓ`}~èG2á «å—ÞVl¸*%Øo[}@kq¢ìÔ>‘’AvôënÛùz¹l¸Ä©•3Ñz¡Ir"÷ãâˆópìÐöÛ§Š ~ªÅtÆÎæõWò¦â¢c‰> ×ÒR•þ§Ч4tñæTt¹m«ÙãšÅØï0vYaëªøÔKôѶ#¾ß(K6d·ÕeBMri@kíaû§aÏgøÈ'áiŠ«†ðƒÆìq<œ…ÆO6Àà’œ="‰Nº5äšœ=¤˜ò-ßÞï—ayU;í ®†°ì„=ç¯ã׫ð¢âC¼',?Þ·ÔÖ jáàÊ+º£OBÂ+ÚW=÷ý‚µIw©ê1cBöÒ¡ÑE"­ƒù©èD6]_•ƒ™ë¢d¤½÷J*©Aòeíºº)âòiÓ4§àyçÜø¶²°~<‚Nj&^ŘiŽ;-«RІ ³w2w+­[P¦pú „•Âcmv2”#0I¥‚N¡ÝÔ6ÍÝæ’Ѭ‡‘½+–\½?æ¾ :=#°ä ‚Ìݵû× q9ÄvX?‚1íí{4àct¦N®öÛ(Ôµ Ú¯"òN  oΞwÝìð£{T1‹×æâjý±—…"À›ú¼3 <¢G,'âáiÐ’ù- Ò^é¥ñ(¯ Vø ”láÈ“üo2ÅA“Ô5îd©¢x&QØI m™Ì‚Z$638‚µð˜¿QZOéwÐWºþ„Ï7NtÍf]S.ÝH`D¯ÁòO_Ôm@u<Ë”n¿%Nà)º`DZ1À3£Èb@² þ2vÁЩÇEw¬9ûšP²4Ç9žP C¿"É–øžÎ¾^–H±@*È kÉSKIÔ>ÔO©éCþfe²a\zj÷/r1"M1Sè™`ü­Áè|˦¹ÿ{2±—ÑQ0/+õ`ôŠ{²ZC¤':M,®ÿ ¬ŽÙë§Õ•U° Ñ8ÝäI™@8ù±N è’Y»œ[®%9KaÁ•JgÜÙéûÇXß´ÙB÷˜(홊·<°£Ê3µ"V9¥WXQ|]Ö­Øô,æ4Aˆf^@€°¸ÃoI‡€&RÕ½y˜Ã®¹2ôtT€ÞtMz„ Ãym‹Ò¹å ÐOSS[ ŸEÄ©I¨\E”£Ìq[áãHZ{¥$ÿoÝØ+þˆÔ îjá»vìžFÕ~Pä,Qm­† ·Ñ“‡ù¤Zû"ó ûž\°ëÐø½ø;;©–ªG«“0šXJ¯WµåžÌ©-Ë C¹ÜTë7Î.EPçú™þÈÎ}l°(ç©FµTå½SêœsmøÌ 8Ìdúçyž kb¹Œü©¬Æ;qÅ'#àLÍ ©ã¼â(V€íMµ¥èŸE;Ž˜Ó÷ Ek £¡”ÄØ°êé!h1¸ÛÊ8‡ÏcgXÇl¥—+¸Á—ÏWáE|X%AîGŒúÊf‡ ³=û§–X–0 (‘@ŸoD|ž†I< ½x3£Àét;ä[o%Üæá¢ÔÝZê „²E¤9lç–Ur³ÅWÍ5«ûŒp50ªô?æä–4Ùò‡¹ b­è%vŒˆ¦ù¤ý}FÑö£'VÕ;/ýò2U#Çg¤Ÿ­’éÒa ä7º÷Ø™¯sùh±®ƒ{Mä¿_I,0}!MÑ…Î(9ÉíEtfü½±òŸé Cáѳ·íjd<ɳHžœGKn‘ü6ùÝ?š}9þTšŽ…¡ˆyraâ-M|fó—:Œ'OÑÔ ¹ôÁØx¿Å Jæ™;~B6ÙKv5Øt§¿:t¯Ú‹ù¡lŒŒ%u—é~a§F|ÜàŒ9¼L úœ=l®xu]BZ® ž×žjéh‚Š© $ܶ˜\÷|íè2+þ“y[Ñx§$Üžñ€>vyÏîI’ö“ò0ÍÐßÕ@[ƘO¾ V¥•i.áà± O¿~šÛ+«F¯¼P1í ¦À°Çf™@àÒ_¨[uHe¿º fG+þu‡Ìo厹 ?Ïw¡âÝ©d¿eZ¤è³´Œ-LÎw{ Dì÷>Á#ÃåQ=~ÒæÝ +µG«Q‘§û³6Ñ%Ð6všæPO¹\\ɳ› ¸MPg¸ÑÞ®ÔaFû 8‹DÎÕΪ˜ ÿ´-¨,‚4`¯œŒáPšæ¢VX´ÿYºŒØ~Øsª!§CåŒZë}£<÷ýK¿_žšç-aœSª¯ 6Hû©W@ùù6©$ë)1ö1:I. . waâB”q©„¡³1e=C)»xIÿpŒ¶·ÎT©$0ˆXKr‚’­ò†nO‘9sk ñpз@àbßïÄ!¼S±Û{…&–c@B1ä.÷zD£¹Š'T¸c«ŠGCg×Ôü4« „–Þ7r®–¤?Ʀ cFœjϸB€$4{NÏæÇ² xjÒò„X‚N`bÝ…rំúW,nÝåKs«Bu4¢SÖV:S"Ýv¾Cºé–e:·³’ME£aC9{U‰âZýèLéè¶‚©ñŠÖ–»¯:Ñ}FPÜeï aŒl@BüËÁs[òlËM˜`ÒísœæÔP:=Aà.NO!‰¡‹šu?MïÑèÐ&‘eµKÙê ¿›ÞJwzqGܹ'i`_|IJº¨âkC»«ÝwðŠ/SáIÉQqê¬ìb:uè?²L¨ác+67WÚ&Ð×ïú(N±£|`»PBe0£_Éy´BŽÐïyñ%=9¢ÃÒÐRü{õœŠŠ/¯w¬þ’#§}xs2+ÉN¸¹}›Â¸êè`?§š° Xæ@F::©×bv (Î7%lê —,!S©)´Á!Úz¤+YyÍÇÆýÄ!ì›A'òð %óˆ9ƪî@âË´)<;-Á×*veü º½þìlÓŠ)áM4B.Lȳ*EèÑáJ!ü«ÃgUû,÷Þ@êè›Ziˆ"‚RœêìÔv¤ãˆ*K–Ò¹ å}Ã×”Ó¨Sd‹võ$µ~m9Ö ˜U³ÖFQϸ´jŽñOÛb_+Aß ’ðÞ…7Sg%þ§iT'„x ¹šè.yÌÅl§Ð#%Ïm¨mVÝ;nÐûT• •å} C£mOiÒ)K±7Ç€çŸÐœy­¢ÈClÈÓ¤ö]Æ}}‰u++†HK}8P[ùÄ–Iðpb:vBÀ `K¾ÐÌÏ*àD¢Û†µÎ>ã#ϙȶyé¨}± ™ÁœË?~0w…Ýš¾†ä¢¹"ù£ ÑØÁKº8ë»ó5Ę‘N¤Æeð—ŠVöt…òª‘¢fN_{!þyþ]<í~^²”!6ðDEñçå’÷pEéA†KœI]¥Qùôáe@Ë«ˆú"r%Àï°ñd Pßâÿ³.„C3âúOÍ„B”~„hvªY»…÷9 ¬~é åZXÐø@@W¡A^Pœöƒ4y7á·dz£aí¢Š%'¬­Àl×jŠzßÒ´ó½Ðß7×ZRh;Bž³ág„ªšµgL`äR^zß[™ûƒœ'ŸUÜ÷IŸÝŠ™,1q¿àWäÀÇo¥ëÄç2vårØ’½_;Y·9™]jÝŠ±o~ÉÙr HüåTHæãCDÁ*aãξçô‘Œ˜*ò6OUrŸ™é¨zc-,9eá§ë?œ"ëÊ`Õ^c£!漉Ë ŸµpóØJ È^a8tXáޔ½RAé6À²dƒépÏCUJ]G!ëéÙl>Í~J´¥Ìj8 lLÁòn*[&f7eù2"“¨Im¡±¼nWìkk)~‡b¯‹b<ž'ìWÀ_"_ñªE=â‰çåǶ Žõ’KH;wÓal WXˆr7Mè¡¿üe­²Ç¾ªÈ XaWšó÷aJùXµ<2ù2HHWãªûk;©ëõñóÃà4Íî+§ºåûÍÿBûØcàA¥¦ Т ?òÞ‘©Úç1"‰A¼8…¼ÕÚÕâvº1êÝëÛT ÀË8Íþ —ÝFfÑ£*/SÃ]¬#[D‡§Kœðܪì^€r³ÝgÅíË-3ïê£_·€Y‘ô ¬¹z‚ri“¥¢£‡¦³!6ë§IÂÅ5tÝ;[K¼€x˜cŽ›uI8Yš‹ò-ŒÇÒƒÄɤÆ}¡ªÓëŒ;qÁÉçK2¥ɶæãAk4º^€² y@²c„ظ̱Ì&êï.6t@÷ŒO‹Þ¶Ñ¡úIV¯w¿6¥Îͽ‹U3„WRŒüw?·qqŽf]4ç”YH^;Ö!¢šìÉòooî½G‚1ñ‘ÛMM®^†·ÚC†VJÅr0{y…ŸãMq>¡DÀ3N†‰ÊþnJHƒ”§¨H£ð{ì¢[˜y( gÚkà >G&€Û†<ËãýHϟ—Jk½æŸÒ ñIÛ=Tñ¦Ôιç“ÔãA˜ùùÓ-µ>ÖDàk‘®D¦­qoyùha’dTdâD— x íÕÁ¹U4ßvü8­»óÓuÁ•>÷‚ëí¬Á$K5ÎMxbÏ=së¼NvdÉÆçuî2`à§ßLb²E ÷ÑfB2íÅp"ÜI…ÅÓÜÍÃÔòƒ½›q<ò‘³Cs‡M¸°Y.Ttf˜ÕÇG’1_@¸%– 9<«NB#ƒ…xKŸËþvz.ñ\NJe>ü}Á \¬ýä ¨YÔ*>#ZÚ]Ñ–3wÛÕC&¼Ø¼Ë·®A[Rîß µ&+:Âg‹BËMÃ,qL®´ØOû¹<áëÐÇÙQ}S¶ë3éÌIøŠƒ)ˆó!_õ_©â™øœSWc„,ÃÞÍ>w—³F£ÏÝàeŒh¬Þ¢ì.gc€ão”ÛþOþè¶I$‰ì—¥Ðc“Ù; ÓÝdàYðM¸½ª¦ !ŽØmÞ<èë³+ñ !ï³¶3}±ßÔRñÃòOnšcIæ²J•`¤Œ¾%ýË>.û+¨ò(Oz°®&õÊÁÙFyt©ÚߎöiH|ú ,‰‡sHÏífL„Á ¼0j4ü“FÉ¥V”Ö*wAÿrÿ±K¥þ&5Åç2¹¥NðÄÊz¨hÔÛ8 º„¯îËžšÑ‚åË—1Ưñlôä¡þ8tU6*‰Æá3ê6E0SîíGyÜö ÕNr{§=¸Nu7¸÷`QAÊÙrɳ6³Ñ7šeÕ?ÞÂx‰kÊóºø:•aÊš`ÿ,¸íI—¹2 ïe5}«Ãu1‚«pnuã[Mx÷kØ7XÐjY{îGònO"Öô•„P–wgô_ŽT®8«©€‚ŒjÝ”µéïî‡TK>ä“` ïNu|@Á— {@GC /¤jè/«”dßvÿMÙŽ%ð'ÐäÃ$¼E6ë û±ª*¨dÁXˆÍkCdì =Qm±,BþoF‚wža4çíúÃẻŽõè‹Fí*N§ZäÌdc·û'_Ãþu•bÃWLÿr]}ùÇy^ô’d æ¢‹LŠ‹\)Ìz&nÑ*ÌÍ*Öy±x o^væ*”pÓÈ¥¡  aî»O✘¿ ©Õþ˜Á •‘5§:g)׸õI‘¤OÜ÷ç%»ü{ÅXk¹C›ºfÿ¹ QÔ:ˆ†®å=(´8Õüdcsy¿/{Bze¨wÄøÕ<· =€Ó+T?™ªon–Í(g—æé O?ž·#2{jË’ÓH ÏÆ+«|4 ‘&8ÄÍ¿’ÛÏh3‚7¤¯<8 üïÚ^YŸ÷ÃØ]ÅÙ¿×8äù5Nž=ØÛ”ö’EšìÛÂBÕ™}2¢”yA0NÖ2qÜåܲ‡\ÑV1¨MËŒr·ŽVu…Ž·;D#‰í5&˜\Mí@½àÏøºÉ›­sk¶üq¬2n˜ñù‘"·‘Ÿ­%Ú»‚ô„ käQ¹:ørWx§àEéêái·ÌãN ®µ|ž,˜¯¸¡@èÝ>¹ä÷$ž)üÿ{àöíýþZ(q’ýÙ+_eN;!Ëë ªíyÂÓ7ÙŸ›9RÔ9/4žÊBÀdz‹ðó=*Jí`\A2~sÁ=l›~ƽs hI:Ãv^nH”Fseqù”w¿8^ZW¢ÃC¶<§T«…kw/r\ãp:TÉ*åÎîešöþδmºŽF© ‰:Ùã3‘;Á`;JÓ&‚*…û|ITªÑØìôÚF^záÈ *¼$"ïÈçÁƒÔ•ðƒ!®šÏGj³d!Yö\/Üϋğ›ó,Ç(£Í¿JiäÊbápV}©ÁrŒêSzn¸p:âFªÈjl% p°œŠ±ðâL+”ãô\з&FfŒG(ôUªxßG–cÝ%UçtoŽpð­˜Ø•ˆg·Òáowóµ<{?5Éæ¦Ä­c¨>™Ç÷^ÆT"ÂOð^½´¦Ø˜ÉÄm¸œ5—˜~òÉ:ô²Î=uÃç"ý¦‡"ÆïÉG›åÉ{ÀŽëªw’xÓ×k v/óX¡ÎäÉ~–´êÈ2ÕäÉ›+‰ã†tÌŸ¸'¦–Yh7ì;Ù¸ÐÌìíâ<\ÚC?íâ’I$Ç‹cÛbåsyÝÏzöÒ~6Gþ÷šÝ©¨&ªä~ÞP=Úï.e“ðÈêÔq÷QtJ¯-ýšÚßjU;ÅNƲ[¥düÅíD¥GTÄ42ð „5¹Ÿ÷’sóí>>?™nå©oÐdgžüÏ‘_³S)G™C¯Ät âÂÙ uÿŒ#ßûÇ.]¯Äïªw¥ÿ[ÇÉ$Ùq¥þ#ƒú]µþâI™P¸Ð/‘9 – Rõ±ÌÚŒH¹W%âì-+Á™õ‚n6 Èò¿=h‚ï“«í7¶²†‘üv§Ü®`¢v³é—‘è´†Qгø.1TØ¢ã!0@À4žüRÍ}G"SKƒmž·ùèÌ5Q’dTD²þË÷öŒ ~w¹ìÑÌï¦ÊWÆóM›4¤ƒ£Ñbœ×Ë@sOídÜÅÏ—DòÇá'¦‚“A¼ e, yíF½HÍOø¿ž¤ZûMùejU¬Î-jÕBòAóýë ý„ØÝÜÄK÷]<^-Ü#ÄÔÏÞû úƒœ«wk‹´Ú J¬ÿ¯²æsW e!J™æp@!qx«²eÄpÂé¥Îöc[+}ÂðKAë‘…Ï_¼ÌÝ0!!ćÆú5KÁ»´y7à…qûçû«Ù¥Êœ$ o²`²ˆ—b²Èƒ´^¾±w8Ö)8gó6ú“ "ÒA²âžŒ›J}ýñ²˜m©óv^û¥º>âTúœ ;†s+€a;—Êp4 &`e:àƒLTEÎg^,ؘp ¡Iì©ýMoˆ#|€&'²’Vh˜ yô#öc™ÈÿÓà€\*Â{f;žswïbx½Y²Ôß¼Š@ Y–ˆuàÔp~äuM¶(½|´œíüùÉI*ã•×Þ7¨6ã*Ò¥ÓCº9½Óéã;TËpàèÁ¾ÿäxÃ[&ÖTºlfin³> ”Ž'‡Ýü½¥Õ¶¾q ‡bò€¹éÝé!]£JâØrKãk¢&Ì~éµ¥dVĦ™öùJFÒˆVGÑÍÙA8NAþ=ÊǬÛúuÛ!}m% àš¦)™î—¥œsÂÑ‹9Ë ‹ä[ß ?!Õ'¡ŸÆyÿvÎÔ!…‰û¶ÂÖ—ìÝÆ#¯o¢½dYÁ}åÞS¬Å4ôÓXjoš•D‹´¢úë¾Ê8»«‚5Èácš@HvB4Êpš±'ÍrÄOŠ?4•]踳‚ŠÍL:2ª$°¬!£6}œŽCxÐé†GnÙ=öLkŠ©7ñ>ÄKªsƒdVFâsû–×R‡¼ÖŸþ¬ZsUc^ÉÚP||9÷ŒU®sà=?H>°ü‰XEðLû§R¸0ârö¡qrfYBB#c¹kãöèÅS‡œn`‡ªDtYDãbbe¿#LD›•UÐòòŠœöVŒ Y™Ó;ÆHŠ›E? Ž0È7±p„þ–÷3wš˜JDÊ´^O¨êHfµg¡¡•‘]ìSQ0Ò›6ru°ä‡ÎÀ—öú[T€‹,\ýQ95Kò ù¢l @Ziþ~q^íªKÚm  &N.ßÚQçñöu¶sÀ€£2õ´Ê3›pžóßwÄ¿C)¡ŒbŸøß)ÌD¾æîebíÀRaV²Yô˽JÂ;\TŒ6mQÌh“fân+eG…šŸùв±]¬„«V— $9ؼc’x=ÿIi¹p25.sm·Û¾ß´&É[ð§Ô™¸M³Ã/Й¾¦&™¡-]Ž3’G.–Åëf5§¡¿°·p|¶‚×yç’ R®4 D3y Õå‡$ôÇošGÞP‹GÌ?ySôÛÄ‹kÇÏoÿÏAüûi1h—À`[™1°ÍΦÖ̙ÙÖcK#T©û‹ø2£/ -å #. h½S…ë±Y…ÿ’Àü3ÙØú3Iû³Ñ¦o“’Ñ+¥È™õe&Ú|±ìñN×¹ÈXU×MjÎUËeÓ€ôbù ¡<’U¸EÏ^Œz#מgê…:€ï´ÃS}1‘¹‹—Y„Òucˆ½šà@šù¦ME8=Œq´t}sÍZv°ÿ+rbTÆvnȾseh¤·ì³qˆ\Džƒ[ÿÒb„º¡z넵 ÍŸÓ¢|a:Ž×¿8ûÏ1wK¤-®x0Œâ?±±ÊÀ3¿[¸²Å¢,^nE˜ÖÿüŸYoJ’¸EžaÕÆˆ:a¸£ÐÛ;ŒÉÉæïWçòâtÖ/_Û©³$=áõËy,Ÿâ=‚`™rBŠÄ‰müW¶ø >+TªI¶ö1çú?¬i–üü³ À¤¦˜é—¬ÞG…M”«±gýÎßÛ„•:LhX/'îÎŽÈÐ¥S W‰}¯ö-ÚiÆŽã‹9ææØr i¿ë£ô©|áî›s7Ñ„ ÷pÏž%:­¦Z'êÄÌ>ûÂ/”0§8liìq<bö„ÀÍ£Ú„€¨e1·ñÏR4º~¥àÕꥂ—6äN:ÆF±åò‚dÛëñ¦Û¦‰pÿ4a§¹6,¶’¤Ñâ"ZýÂ.˵mñ„K ‘¿šÑZúñ&±ºD„X„sÀƒt(½Œàv?zñ­ÒÝ*Ø&šc™´>?N²ò1Ây ù°^¨ÃÒÈC[1Ï]N×›Š(ŒšNƒ‚Åîåß*ö„¶;–õçZ§÷ƒeÉ´.€Žsëp€,D¡[Õ‰ï·ÈŠÇ¼¥ÙÀ0ÝÜýŒM|> /†ˆ°»X•—¡HãSsc‘DÁ¿{Hûß^×OÞ2¶/þgèZKf%øµÄ]ŽTk´¤tÅÃst†~Û˜µD£«†v<ßÊ eê–¿‚@¡gÒAq9Ùe÷HaÐ’¤G †$¶ñΨC¿ªJ¿Ç§³…ß3LϤ¿v—K`uÈk^¦AêÂæfõÔ=÷üj {&]£½é S¨F2ˆ'’Nâ>ÖþCŸ9›ÝŸã`yí²”©òEú÷]e0Äù »änÆçÈD¹Ÿóåùë Fš7ôÍÈ÷äj±í]`fŠ+©öûòÜròsGqçÙ«É2ð䓴뫎ÿD•æKTBä/æó«&$V#ÑP^½ÛÜF¿ÔUr³‡¡Tr¹ÓŒË½Á‡[®×‹"0vÎ —ó¬¿{1#ã[Øc.­çK‰O–¢+yaç6n5‘dU·ÿ#*ÓÂx—w¥!³DÌWFÒ¢Ò#Þ‹ëãXö† àÞªïGÕ´yŠåÛ–’H5q„!¬^Ó#¶×sÓÝ8  a&1ê™Á;h:uÏa˜!TqÆ7ßÍATf€#dþ…äJájlGšêQ‹Æ"î™3ë݃oð Œ2oÔqøaò÷~3DJ»W«nuQC½,îÝ~5¢h‹³ µãmƒ©pžÏ¸€°ÔÞš—,$ó?tL†«•ã¿E&ˆ&h£/Tó¥r3æ•çû§?7º7¤f–§5Zv ®ÍÎÚ'iÏXM,“`1.—•kŒc¸âåêo¸ðÔ…€<Ï%Ž0îé‰Ñêåš,ô5#† sÔ&"äXõjÅÌGk{iàrêéòEýˆ©r¾S1ãºYø5Ce’‘œç2é³~VOž­@/U4òZ²Õ¤ê\bC’V–¸Ü`²!§Ú^ ÷¼ñ<¢‡&&>u‹+ªYü‡®Lol›cj+·BŒ*Dk- ö‰Rh’mk 0H°Ì+/Y@.¼Ìà{•ϱ÷³0ÊŠŠ LËñŒ}ï@j|¢KG./R,{;&‚@5LOÜN¶QÐ^–·ÝÁ[Ç»ÎôÆÙ=’X´¾6™ÌQW${LjrñO»ö½XÐéh÷+aPÌ«¬9¿¼×0þ$H »ºTšÞçžÏf[<_Žˆ³Ž¥1Wc'ɩСƒ=Þ™Àeòñ¹P¶ŸP²ÈH” å?7ðžáÜÜʬŽFïîzŽ`JšÅ¯ç‰QZFà-ï·ZÀ‡“EaÎh#ZÝÀr€ùèõTQ@¼(„íÄI˜œeG…‚´ƒ~^ôØ*–ޯɰ0»¿ø=wÄ‘ÍEãa˺ë>Üç¿MÕ]xô»M¶*:§Ëª„ØŒ`À¿r{LSl—buñàÒºXÎJV,|*õrlrñŽïUA,`ñz(l×ð®q ¹q2dðêÒ“ñúÉ9½Áö”ë($«À¡×f‘múô\0‡àÊ‹Pz)1¤äx 9ŒEîæÏ“àUErû\J܃Ô&Ø®›é ÞC‰Ö¼8¨ –h ˜¨„éº}ÂÒÓGôê5 €¶ ËF₳n\ÿK«ÅÜdÐcêI“©Là"2v»¶Š©ÌØWþå)¾*ˆqJ¾å0w0”/Y¦g…5ðX#P+RÓôœF€&°¢C?u½¿ú+Tjô)ªm«iãY'ÉM‡PãX¬Õ ýwÇ„A¥'¡%š‚C¯W7sjN—ÏtD?S kIß‘ÀÑßÖÃÑ:}¿34Ž›_¶–Ö¤+ì°Tö, •Sàh4=p2WUQô]‘¹·=²MRîq„RÝfÃÛ³½Ñ÷¡ÚƒÀ©­'ôtBDR'$»3È?—ã‹Ê©tÏ{ïôÈ QÉw§€ÇéÖ¶%ÍÚ¶•L2E´­FÆ_GfN)èZžf}Nq êšE+éÉÏåø iŽƒÊÆ<¸Ì÷VÖìô#}>qÚPóJ\ç*õÅ7ÔÙ«ÆnÅñpÆ Î•s4kf ¥'=9¹Ô„ù“"õ’–c v½wùͳj|U7œwPYË`80Ôæ0¸Œý /!Õcè¯~r„¨ºëƒíg/ÙÜÄÎ}i1×/Ff›ª‚À–1¤wÐ ŠóuÌ“'`‚š^§ûÈÕÆåû%hCŒežUÊñ©â5ÞCÃR̴ܑhk6[–‡|Ëha7³#Ÿú%]%°z²CÉGPÃ,W@^)G¸)§{Tú³“šbÛ}¶iéÓh|ï|n©uV%Äm¯ä}§ŠØS ÁÉ2Œ‰42ÌÔzjÐ41CvÝÌO1 ¼ÖÀµ Å.YdÞÛ^èy\0Ô<å±v\e4zà Æ;:*ùá,“£Eorè/8ö¨ï÷¬¼éÔ¹62‡õ Ò¬ÇÛUF _墄çV –\ù=Ï[ôÍ\+‘ú’ü‘@ðòZõr=ÃÈPÿ¾[1‘ÿY…}£eƒÁ*Ë:>8A³Bu±á–dÓdÒüHeöêJ §§rÔN¡ÍŽ<çGV>ØÄèÞbÚŽØŒ>ÍF^„¡¶ÍR:4c¶x\±"ÖËó·wpÓ n•«wëÐñ·ž %ËÄ,ïÞµ©)dN[Ž4ã›áèwnáº7qe*v6 µÃA¼Û#r…O–㵤¥PKªzü­U}æçA5ÙÜΣ “EººŸ—¯ulþ “Ê#ц ^Î.PQ»ÝEÁWÛa. ³Ñ`a(ú šÐ§²A™_‹rÌÜó÷§Ýø®X<Þ;Eve|ž W¿Ó//ØÄÅÉ:1.xྉ1ã+Ü®(þââV*ño”ê2ƒÌܬ™»ÃhÕ¤E 7%j ÞG([ãjwȇ:8£†lîþŽaÙЊ°…Góê o:gü(„Œoz)'cœf–È¥(q9áJ˜ªãòª'éÅaΛ”ĉ6;lv­J]LY´9žuK7ã^$ÿÎP6&FNo[ ¯]~É„BÑ[õØÆc$¸y`»«cu£GVè0± 3gäõ(C0®~²†n€wd.Rë!d÷ó)·_w/IѺ©#„9{ùŸÙZêóW—Tzƒao8öï?»ôºät 7ñØúòc¸žÉ²‹2982e'[”ESöšX&¬p°P»bËgq„éIˆÂí®ä¯…~õÙ¾Ÿ³ØvÆóÜX ™"/‡Ã\ÉÜ5ãEII_JÇIÃÉüD¾¬,v; ?ýå…4Ìk÷ÁPð´Kmäo×F½ OYÿþz)$±VP§—_:ãûtŽ/4%xÎõ2Ǿ¼Ì=·T¶QÆ(® Þx˜fØ£uƒümTËÁaw…ܸ9ûR±ÃkV÷·9«´–šŠ2Döj$ÎeªÓ]¨FSHƒ6•åWw½v£»Õˆ’]jÖaí,C0Ï©DÕ¶<×Ûà·Ãœø¤«cwʵ=´ÁðÜÀ~H*3ß;DÕɒ²¯R©.½?~8ôîÈùgnÝá^Z×–Æ¢[:Áï.‰5ttY¬Ç".”a1GK wÙuòþrtÛàLà05IìcÇ6šÁË“—„@ëg4ÃÁb i0j5íÐ¥hç‰oå¶ dmJ«¨âAƒy}èÓøáúŒ=;Y9Ýçè.3ª8-.ΤëÛí€db¶‚_ÇØ"š‹"qrN Œt^%¾ž˜g‚‡».‡Oo€OúÝÙ!‰~ƒÎ3tÊÈŸ6}äC¯A¿÷©‡®¦çÿnP‚ŒwIk8ÒƒÆ n`Ž<[  ²jÝ«uëcâP¡PÜ®µdÛ—.X)ŽsµdÑÈ3HŒÜ»±£ãtTä?ÙÌë”|UÊoð2Šc§¶çð­ë2,툻ÝÎÛz.Fú6Ð7gÿHÍ*´=̦ڎü×ÇAņ9&$æx¡ÿîPf˜]öóBíμïŽCÞx*‚D±JC›'ÓÚ]Ó,pãÃáØ °eùÆ+Æò†EY'‰j˜|!Á¦Ü-¥á°£ïŒXw°7Å]ã”qéÒ¦~£ýô…ÁܹPØ8km>%0‡_†å{Ò\§iÔÍ(yó+ Åg¿™»¯ îß 4^ eS“s~‘ÛÞ)­é´;)&@Vs£qÛÉüIæªÈv½=‰Š8˜C.ŒB¸4£¹¿÷ ÿüA A¦qP~Ü—î%ð5£:•iPêćõ?ép&QL^fM€„ÚvcŠƒv/%þRj-ÜJÂÒ'×È,†^tœG¾•ô–6À_Ÿ¤Õy%¶-SY wßçÚÕ†ãÁÃ(~†=aÂ+ +øÛ[÷@:eþ¼v*SÂ>` IaàßWÐFÅ2WzžÙìϾðûÞ¤‡ °Lbã¿áSi Â0Ù4µÎ#仺1Éh*›ôXs]hƒ0Å×µÿP$t¸®ÎøàZð´SD "U¡ƒî6ŒI„käSbš¸“—Ð"¨â¥ã@b>âþÕ£è^ndãç8Êyé4ô,m‰þ°Š!E)„¾BE¬þ5BRÁt­-—®p9 ”܈‰.[Ué¯ v3¯Ü{ø‹×™†~ž»rZõžïb{áLþ -{ž*ݘ—‰ߊèöåòâS›jä“P†Üvº”h–k`O%X‹]$¹~½wÏÆ¼õû£h®ëo–£B@#h_øÚ>¹I×o>¹ùðÜÐnò/%e¼„ó‘«ÐjÕ rù`Ú¶q»˜;šNÆó©_!Ãæ‚$ô … Ëèÿg\[€Ð0âY»{ö³ÓHÖÓð\Š:nÔ#YH1 ¥(êUmZd”ÊÖ]«¤þ(ö>S){î§ZDÕ!økX˜4 ÑúËm¾jîWѹg­Ü×Dø±1³GrÕù|Ôj÷1Ó´(?Œ³ë!J²­?ªZ»Tb.7kpÁÂU¾QnZw ImvúÊ:¢Ô=®ó°H½OÿˆÿÛ Wp‚Óbè)âaF` ÌœŠ-aÕéYÍ!BÄL>8…¯ÒtJ;¬Â"x‘? ˜ãížÂÏŽZ‚ä^ræ…°¹´^VÊ<: õÐLy€5ndÚ6ÍZï/ð³®iˆŽW+B´›Á®Êÿ•X |YÒØ™EK €b,œ±¼€|ÙD±šî|–ŸÐDÇX 1V…° ´¢Ú1è¦dbÀ¼NìÂo@º˜¡£Hh÷ùm¯ÐI´(±ÿ 4*†þ„†` ­W™òx@øÇ.Àí*Âóô7æ”_/jEzê\LέRCëþM4Šïeß°·Š­ÔÅÊ®Êæƒ?êYûƒ°mÒ›9–h4Z½†y®#?sîzì•âZoQã<Œ€})&æÐt }]^r¼8ÚÔ‡@ Tâq”l”Þ?w'3V̯ŸŽ–_j#Nu| w”fìõÜÀ”ŠÁÖ¾é*rÛ¡p^“ézÏq‹$ÏGUþñ/Ï ¡gæE½¹7øÕkÉ|ÇØÖø°”®ú«ÆéöRÕGœ(2,¨Që/^qD5ëc>S‚ËPz2Ë_`°(¶š,`ݧ&Ô<É^ x÷¤9P#1»ƒ~ÞX9Ãwrè~Ç cêšÊD2àX³2êÁ§´sæ¾CÑ‹J|¨>Ñë¬Ê½î ÀÅ –½ôw áÈÞdJÒcÜtÛ±@Œ¤]u?Ò“Û]µ°TÆžùª“êÍŽeøÔ+#¬"l€yÚyùóðüjRCuãgM¢p¯oK¶Š¡dT‚0&|~LvØðÝÈ&»Ú44dlÖ¡[+Ûª²ŸØÃ½}k=AúØxœèòí(ðÜ´AiJ£®¿e1Åõ.æ/"úñx±zºÕhˆ“Ÿü-!âWh¼Nû%ôÖ:–zøwÒ'=$Ë€Q‰–`sçKÄ| —ÔŽ:x±ÑíRĨoa™i½>A_¦Ó¤=ÓÓûKt¤’´F*1þâ˽0žuÚWïª8;IÇý'.¸™\h¡üEÃöÝMIìjvºpûË•ø„h¤¼f¼æüä—Û¸¹0ꮀD,J[|&CΘºCŒa} >‘‹BñÆœÐå)‡* ƒxçн<´:î}O_WGI¼d‡Ñ-³ô}Vã1ËïÙ¸da‘¿Ó®oÖË}¼5 ËÕ­,²pÕ0»GCKŸŸ¦‘7êþ†ghgªå1 ž½ ‹)‹í?ñ•P'À7 ºeà¸\Bö ^/y&›þ²ÚsVì´©C×L³ÏbÔ€”HõT¿Rd@~¾ƒHJ¹wC±%>à ˜4*/¿Õ×ÁºÆY¦o ñÃDd·“×l0íS{ÝÅ…}7=´‚ý·¶q¥@‚ Hœ½·è¼íe½\Sé€ ô tÛ.o^÷¶Æ…¸]ÞÞ÷"rXêBjÝûU ÇhÝSæ ÈAÖšnbZ&6wy÷*?³½¢›ˆ¢ÅSŒxp>ÕYwLà è2¹ÀkBÂJºAãJnq*®‰÷zŽ“©CH°°ºë y7#¨‚qÚêæžL#™²~†Xš¤>Òiï^{— -àKÕ [ÐGˆsKI+é;ÌwGò½ödÁ½bþàœ…¹Gž®¢º˜7’7ÂNA†‰ïþMÍ?Ñbúž…•wÒpĘT]è•¶úÑäzDg&Е°E;”rÚç™Åe•KãÅÛï}PÙ†êœE‘‘¤ÐÞôFâKüzí6 óœöú˜Ý(ßöKF[/¥ùúµMŹ‘…«\MÎ¥ï£òò; 8#nr&´ˆÅÀoŸÍ¶³›ŒVsj†ÂÊç _±xi8Uöþ9v>Mt64ð§X¯¸¡" 9™Ç3öéfª¥V»7¥±…èIÓ!àá w M"&a}uÏîÖ¬ è ÎiñÏëØÙ‹zË æã’Á´Þ€åŠRǪAÁÉ'{±øPUº+#å!܆×ÙÈW·±‚%x¼ S:½÷L-ØóJ"­Cÿ‹ö{C¾€6ËÕ.¹{ö=<›jK÷[ÞŒœÖuV–9ç'ø†op jká1ÏÚ—qÂ[ä·×¢°«á¯cVÍ"&° •6)¦ `©ípòkÛhnå‹«<⎴sÛIÜÕ1á²²‰|RƳø¸ŒÅg˜¾An/šºxaDü·¡¾‚#+íùlþÉå£B“hÌÊgZi:ÏÛ(×”±&Ëš†zr ÷X^còèhÞ\ ªN)GÞÿéq WÖœÝÂÃpd»öÁ/àšß–9#1Ò{¿õ±9(cHë+>ú²(o/º(âý¸«Í´_Mí 7Ša˜’±\ìhi|¾Ú/RÍáÐ_%²m ƒRûû1Ò?|“¼µÚ_E`Y/­'3°04+#ÑAˆlûò‚‚P}3^ŠW‰´‡É*Ó7‡eYó´”í—pÕX+ ³¹Cy£%÷¡« û¹6ɳVfm®.]¾]/vrÚÃüØ‚Å×b%k÷kßùÂ)Aî(Cr N0e;ÊÌJŽëI>¯< Y¬Ì. ‘¦ZIz2æuêæ‹Ê…¼j°úøéAÔþ“¯=æáû†ýïÌcvj!Z{‰jwÝ\-•hщµËh¸ÂU·"zõáÿA1Ó€v—@ØHÙFo¨†[‚ÊnÈMâ®\$b ­ýþ.úIˆ&zWž"(«Ñc¿öÎUýÐàPã¸_¡NòïZeêF¬Ä7[Bñ΃R]ØÒ"î4`)ܬ?þ%Á9‡vôœ-÷§qÕ˜!T0nꕈó­Ñ+ßq6+Ô ç±/F€aw›:ò¯èBãtí£zFý-/f{²ºY¿xú¨Û}Àh˜k|v7§rY2¢‹)­d¸•Ñ<-Œ ˜áU\QÓX”5x>±Äµùd§âÂ&vµ½«bÀlC ï‚ Ðxá²)&GÝq7/_²E¬@ A‹R± °t¢þø3 {äRP¶Z—lµ„}SIÜpb†TçÄÀj‹ú°ßÏŒ4“Gœî*g—¥7NĘì7_ý!e‰¿NYoÐ#zt5Ýš $¿4×ßY.ÁPs*ÔfÎPül]ì>.`J ¤ãÀŽ2流ûÚf©Tæù~ØífwgæÖœiŽxfR n#˜]î…1vÚó¬‡çhI }ï7—ÝYDf—縫&ã¿*þ_X<Ìæé ‡úü’@N0`Ÿ´•{3ún޵°ê_áÁUñiòß΂.¶¬"|†ƒœ*ÐC,Õág–úáª%Ó[jiqSŠÆ±j÷霊GÜeòE ¹=y¦¨"†¼óÏãE4Glù”ב—–çnl—Ո脄ß7­Ç6°è•£ÇOõFJ·$IEoÅ«;ÝS¹ú—´ô_WE÷ÃeKu /Dþb™An‡ÌÊáq>Wk9ämS"#b¯5]¥uÛµ“~›øHL, Êàzæ rLE¸æˆ¹âWæôæc·”^—´{Å™UŸ…Û /èˆv –%G‡m+ôT¤ÏŽ4{’úäÖXÅ“<m/š$yÉ3O†åƒ§éh / f§ÁïˆDNõ³ÆÚqú¬$a&Šå­l,*nçÌ4R£Ä^¿€!WèŽwoºœ z«¡”š„ Ñêô¢¤­ÈКñ9£•ÍÉž]ÎNT·ž®™†f¡ÿ¥þƒŠX¦ç™ÏÕv]j[ðvƒòúrH0)™Uðòµ w&>»ÇAB•aÌI†¹¤jˆfO» 1ÂÆ"«Ƶþ-¶=¸‰ªëØ%¹²Må¸^BR%xâÚ³™™3+é¾<.±­nõ%ó3·žã·°â\ O\À¥‘KO°[Æ~h¿¿N&Ÿ_eè‘­1 —ýЏÛmÑuÂq¢;µËï3†+ÔÚ´€;lÙù(É©°{˜‹Ö¬MÄq™X:”Ïô§oŒys[9騅ðÒª¤Ãò¯Ï]òÁñó¤$Ö›N4Á2£ÚŠ•2 ¤^#Á ¡ÕÚý­1¦sÌ&]Ðv9Ž”º„Œ¼ò“`ÃÁ€ÍN'úþŠl”¯vþ™fû`b¾_ œ¿ŸìRر Q9Sð}²läèË1—¬ôcBðõ°õ\½ñÓ¡i7–rµ¤dyoí åTupÛWÖ‰æ Ü®ï/w­&¥Š$ö™ƒø§Ž(?\sd°[¶úí1 'ÌT¹?¨y®ÜÇNWBÛˆ¼´+`"*¡_Å5Jnûá‰î^RÛîf‘ÔˆL·JDë=ïÊâ9Jvó½aÏr[1íK[)]Q½;׸MÂŽfÄzÙd\9o¸\Èë´ÑïGRòº¾—^·Ýà·`qg‹a¸®ûð\kЉáÿ±;ë e9b/»S'±@ Fr؃öò¹áúß‘dÏ0ô<„7ž<ÖÁñ¡èæuÅmpãÆ©Œ^‡kŽáœÐ8|«PÞBâæÊ'°,Jfçöy…úŒ"&.(±•WæbðšAÓ¬¸amþ?þ*.NE!ï®´*P\‰…ÂÈÔrÔ–§³š—©]Š™KÒ?êS£ ÈRÄÌJîg¶„¹?ÒˆqÀ'¡)ha4U­ÊGÙx(ìÓd\-yÇ(–˜Ó°`b`ºmè‰&cž²©{BÄ&ZW }÷.”ÊO5÷ð6$…s’Ô‡4~f™\žLEÿǹOŒˆî€$é£r:¿ù:u€ëʪk­¾2DéRVˆ=rm\JêÀKôʦ.Rv~Š1GÀ×3¤w½w½õʾùËçàuy3^ô½4Ž)v€à]¤¦º6Rü½Øº£ó²²«Ócž‰ß_C+¿0§m¤qC¢R£fàÅ­ª°8!RÌ\± e–òUtó3â´¯üƒ2|·ß2a×õ¢Xe̱L×d§8§È™GÊ)|<ÔÛ*«¸I8"NÌæA™p‚1(¤jÄ U¨dÖf…\G¦šÄ-B¤mq£wz†ÚžYɇÛ4w°UÔâE0ªº´Sçç0+ÌVlž`XŸJ¥‹qe8ܽöX ÌxøÅiáuä›eÅû‹öüÓ­›ØœÝõ³9.ôž>±CìRjaöH8·ç’ij¿û‰¾†b6w°¼¤¦@NÙýP¶„‹ Ái÷ ÞøR}œ–ë÷¿‹`ßzV „ìîî<5nßýE™"‹}ÀMi{‡´ð÷å¥,_'kgGjdÚæ2ŸÖÕýOÇØHQsç=Ž¿ÏŠCñ¥ô8ã¾¼%.÷î±{:ùÅåuþopÄ Z{Äö¢g%Îü?,‘|³ àÿ9˜ƒUª¯0n%ç¢:̇\Ç ™}Çd¸¸ô’D#ðcÐuE_¹+PÀ0ç`åb¿¦¼æJ°Ø?c=›œ ­L«&¯w¸´èeaöN[=Ý$1ÄU“»;êÊH¼´(Å\™wL¤7Õ§кßè8»10¿×ÛsÃ÷ .++!ÏâÓa˜F3  ÀY]ö&Î…‚[xVA´˜¼0§”…À¾HwéDƒ‰> ÀÕcg“äêÕ©îvgäÞÖâ¤xøö¯ËxŸÒÔ’wt5ø³¥†în !tãMm˜!ù—š·òžeÐä`.**ØgˆG£ʳ¦FÞ¾Ä?´¬µ<§U·¿êXŒNM¬$5NŽŒ~#æ¨ÓOªÕâê—êÞyYA ¹Ì%†›{šà"áÀ»zý[²¹z•qm‰T`6}¡Î÷e¢ÒÆ›È Ú×ÔÉ»ÝÝŽþÛx‡$Ê õÏ1‰Š|÷^})u3ŽùNNu´¨Dq0ã õëù-û¢ßwø.møÍÔ+ë£é™(÷ü2E£æ׸ÇB{¤ÜbGã<Š*'Ú%0ÍA¥‘ÈÂ׆“k%jPrH ˆ—gèÖßíËÚéBó®ìs>ÞÖÐ.=—yjjT,IgB s†…lù5YáâÏp3< ½^îí‡Wè€/,LV꘽ûгßh¼ÞyA‘·ÃÈÅþµ“âÁwÛù[Kƒ »Ð:8_T=Z“ÏG..FߋБ‰Ê2éížlºîF1»5Œ¨¶k<µÌWûÖ…WÓh øAš‘z@f‹µÈ´pû4¢°©Àð„T9¦Š÷ þHR§nƒ®áÖHh›ïÊlM' ;Cö¬ÎžYðÒ,úW%eÊ5Sù83ÈQG‹¼IÁL°Â²6õM_3Óïùz–ˆmä4?¸Bí $^¸Y´< š"j÷Ô>ƒ.Ciþ·às×/ZªA]Þ f¾¨]|xžÔD? - Ù‰0†FÁà¹Íe¿WÞ]€ë´ýeaO FÈPa± …xÿL›³uKÎà'ÿ.áÜÁ+~ÕOpÀ•€ë¢: ä+× ¶€Û¼?ø -fÁ‡u,èµÈ›…“M‚#H1bÉXE»´ÅéºPˆWÂw䇦Û`b{‡dßÞó3=Ä‚~ÉéÁOxmé öiëyß>ÇÀ·¡8cÍ ·øã_W+vµˆXHÛ>Š8r%G'e÷Ê)q4K¥**0ÆÀÂNu«²Jšz}Hó]~_îÒÀCh—w-Îf²ˆeUx'ºëA3¡G¡^£Ù`÷*sçΩ Â¥A £s[¸,k9ÁÕIm êXDw¨P1l9{Nȱ% ¨ …©Í²ºTS+&“!ålH8¡ï¡åeÀîž+F•Ÿ U™:²G¸íRLË}˜°ÙôG q?Àדja-kvÉÂ+h[Q|®ßÑÔj •7¨Õ¾©e«8ë<ÒXÜs< ¹et ä Eã×~JœÜ•‰ã½3ÆoÚuC¯M \\ñJÈGè Ò|Ò¯ìd45&ëòæ÷‹îèüöóƒëÛBneL}<#ùò °× ´5QíèÞ ê Lý¡tP¯ªs“(ˆºrB®bÝs4—L"{œÏT‚8=_{tbÑw!—‘Jëµðf‰­8Dѱðº|ç\sØuï)Û•9²ÈZ#Ìb¸ð%ÞðËÃýÁ¿m·àøB Ó¦¡Åš…(0’‰vz„èØ€|‚‚7+-SŽH ˆ´¶®.2'hF ê€0Z#6enFg×ÈUŽ¡ˆ3èÞ·èo X¶Í­—‹séîh·Wmñ>ÏÁHî2óŸcg*1)øÙð« fs{©Ñáл0-öšVg¬Æ¤t…ÂQz‹&©0è³ÚLÜÎòŸ¯b5ÿö8†œ¶ ¬§vuÞ½8W$ú'C„?ä…kóá—3ù€=ÂN'”ÇŠB•Awï/z¥´nžJ ãa¯#f§·OTˆ’޳R·ËòOJU9“¼„Û5,ñ’¨&%³¥ñ¥]®‰9~ßZ§w$rôÊývÔõ÷/¿ñY‘¬×V ®ÐS¾Æ8*¡2ªo#φTNé¢F|ÀýTù"¯ÉüÀw=ël1óê<7:Ñä,ÎVi•=jnü˜Äôgî˜vPC)—¦:ƒáíœ2€f•vÀ©Ç‘¬XyÍÊ|ã±wõÑÅ0ÍÃ^ÖJY=Z ›x¸k4‹ºj¯€æ€‚ˆÉ¬#á»3ÅuhØí= }SQ?fTù³ê` æ˜×\þ°q§~ èóë"c§’ér£çÙÅéá•ÏÍ÷iiQ«QDÐÏ$XÔã$BT3éj7GÎ1ebÖ§‘°aøK~À²2üŽ:A\EÃÉéЄ& %yŠïAOL¬•¾¨Çóiñ)˜-«œ#HxÓkþaøé {^ƒ¢å<­Ï#žÎŠ2ÆÑæZ³Uý~σåâ·Ë%  /-À-ü¡ri©tL‡†ôÍ€¿1ÆŒ×ñéìX œdtª–쌗ÿh%ôkÊZ.éYüŠGrµÒS!ö½ Ʊݿ#ììtßñ;+žòæÝW° h¸vÂðÒȉ§¨l뾪åñ!¨ô°:3[^£E 瀄UWPüÇÔ03ïSR£¦.Þ‰¥@7n0My,4ÕXR²Ô8²ûK•Öâ^Îw/厎ÍÚŠƒÛZÂp­pôt:Ða$l“m}ÜÞb¹§ŠÔØËû>~6<}îA°¥ÞnÆCá#; ‹äÎí]Ý(TeœaÏ [,²Ð?Ÿr0ò=F8°CÇW¿f÷(D(UJÆJÙÞZÈT{¬€ãrKÒ$8ƒý)ÐtÄ×7J¾ÎD[®è½ 4fTñ¾-7ˆÁTºÕ–лtÙgâÞµjiœû}ìË]=äùT„Ģ̖'Ý?Î't¹G¡ŽÝRð˜Ã"ß³¯K@=Iï|uw‰ÆS «’9ô‰ÿò禴À¼«@Jü¼0‡ ¤Usöz[Öd¬4yós¬EôMB‰÷6Œ¡Ÿê^!9™À°µ¸Øag¦¸W€ Ï!€!Ó’Ûµ1zV ™¤#qà*O»DöLÛ?;hÍ1­öx%OóEÉž`ö>qŽÀV•Ù–ŠPÄÄ‹±‘Õh«ë™`qHì&¸êéËÈ€½I"½$]§5ƒáâtÅ]Uu»:µÞÐeýÝ1NH’Íí0{!“o«ÊÊÆé±Æ¶J2ô³ôPõUDL‹‹ê!Ž1¹ïr²PÚj€®R‹Í„•ÿt÷ ßäVy7PtÉÇ–ˆ­uSJ „æ“ClÝ4 Åcuî%Q¦Øp-<Ü]ø2œù¸}ñû+f‘h$¾‹û8nœÀ.çwTńçI)…)|dä‡aW½:‹¼•—¬!·Ô1³é1B¼->™â™e.í«Ø‡æ +YüÛ‘WrH‚cìc„áüÃq_8H=©±ià:—’k”°„¯â¤sÓ…B´‘CÝžpvžŽªpR £üòX„Œ0ÓIÊT^ÿ‚屪°ö¢ˆ#ò¥‹/z±:Qº]3ß×òXT÷:£dB°ãxøP5àiYn¤£jïËRs‚¦S¿z wŒ¹£A^È𜩘ØÙÖs­åÃËò_UdŒÕÂŒ§ªŠ}"jmJ©ÚxQ\  -¥wNÃîl|7‚µL§¼V¸ã€€…3Ç›n±¥Äz=BUØÅ!}Ì =ÿú"μ\‘î+©° ¤Š‘ mTúà“0DâLnˆ[c“xBcùy¹Û0ˆSh˜\§Ž:E~|ü„ì5#Š–/Ñ[è*Þˆ “–p`ç7œöNJ‘ؤ@÷½ÉK´7QžÑC6· ›M¿n,¸jÉe…"¯v/† üPéÆC0%+>Õ"eBFDL„cŸ¡e´D÷x啨 i~®´WîàPòM‘¾ßÞHhí`¢GóÁ?É7óÂf&*´jj§uƽq†ü¨ \x¥˜T‘G2MCÎoƽB÷^Bîò÷o––M ­ÿÕ–L AåÑài@e“ä¶â‡÷ág \E·Ôßqd$X–ÉŠv¤üRe¢NªŸÓÙÎÜœbv¸ÝXý^ÿµ½èuL¸Ç'0¼¨é º*÷êÛ"=*žfõ …b'¼™w‡ôQºgvzð54R@¶Ö!'Q)¸@µm§9"”¢.à jm³ÈøjZ»Ð…8¿¿ U¶‚†¿o¿”ûö8ñØ(˜ 7\]Mì–Ò¢î6,_ù&ö?&}K9P· ­Òg—¿`÷þªŽ ¢Å’LÑ?OñË•ù¼E´ß›€¡¡uRŒúùR¼©uJ#¹‘/ ÑC*¡âxRmñyI¯ò1Íþ$¸ dYQwgm½€âµpbß~ª:²„æ"SltÀ_C×V$ôENg”ÇÕÏÊ­ öf/Ö‹bȳ¬û'bS*g%iKb1,õº2)y€Öý­Æb÷åCíE«›b\2I+‰Âü?ù5|G´€{lßSàø¶|º؉½t¯ÂŽ%¦ÃÎY±ŒPÃ'.1Ĺ#ô¶¹^ Á}°mX(7IZv• kk®jêÔÌy¯'Hiº8þ¯3óéM+Fë¡«’†§‰ô~˜$€4Æbkò‘1r«k}›½r<Î>­?Ö¢,ÍnëAu¦:N›]·´ÂÊÈTÙŽHE.‘%P̼ö·~Pd- 邎!û•\ASïr±!hª¦®.?ÚíóÞý×ýD;!Çý[”àÂådž·¡R-ÛÆ–š:†IO|n†øžÏ¦Kù/¸yõ´d—ÿ †>fÞr³€Ù`3èrC4¨ © ªžAÀN=®ºúì.ôÔž$$Ø_'µjãtQ›âÍ~ã¹ ˆ¹ãLxÙÈÇ2vA¢#ò°æÖ*ÚŽ˜01†}X}A‰î8'¦nÍVì©´É63…^s}œÝïG¨Æ!ÚðIŠ[çÌ=˜sBàÙóÿð Ž> “pp«ëo£¼:‡®Q·%ó©þ»×wC„/´xœÍSGOñ™¹¾Œ£~†ßcŸp9”)Ô=*Ìüv‰æš"@þCs+I>8RÜÜ^ö-¡ëNG\Yþ‘ó"ã¤C%8}Câ:Î=b÷#p?æÿ»©0ÞÅNëëÊM2FÛS}Ø ¿ës^ãÃ8ý&ŸNЭùµèD%•xâ9`175ë4ôïv,>üÔêÒURUµ }¤ÄªõÐ&"û¶D?¨ÝM5;ž¡ÊPÖûÚG®â9›ò·[O -2C%o •È6ˆµžCüÆ€ùÇ((-^­[æwàœN9˜†[k²åI›Ð½¹§¦‘lh®©@ÈŸjf¦ „‘ •:êէφu‰ÈP&UßT?^â¹ç…úΌʤ$J§˜¯Æ$¥RrãJÚ®cÙ_E€'gü‚âþElâ'ù>¨9å|–u¢òQuH´°læÚZ#Ð÷Û*¹LX†ÞçÕ  òst2ꈱ}ìà© Yjaâ¡%Ÿö÷0(¶WPÏ+6?Ùê³ Ø7¶ˆä0¼ bKÑ~‡èÆ1íŸø+lž±¡Šæp}ùyb²Ø¨È)¾Ö¦Œ¸¬U–ƒ¬8ö3¤jZaøVÜ{Ô£Œ`Q %Ê>׆!J§ýœŠóþLd^j"p(ÚøÎ] §Rsµ¡xñ3{,Ù¼°wÞÈ€þí^÷?É+üSPèsŒhc¿…L ’̈’ñD,à~p¬ïrßÝ—Ò‰| ®­Ç| šÛÏ6¹øyf„þgÇKΜµã%Ã2 ^QhHŸdIp©¡qFöÔÜ÷ÛxN~Û¶2fÑšÊfé÷©•O!–†(ÃÙÁ^cæ ÷“‘}ˆ­¹ œáûåC ž¼,ØõðKÜð²3 )Fâó‚òŒlºW±Àm´g”t_aVSÇ89Úz¨ÕžŒ‹Ý°´ œ±™?Øw]¦püštaTô=~ Ëàp˜®KÙ6‹Þ (¹P]äM8pù]Ä“\q‚Urô4%”(+€ê¿ÉùkÀŠü2d;Õ]±Ž1cÔ°¸ÿþЕ E%´pÿgæ"í(•T,:¾ÿ¥§½èº ‡Ò7,Ï/àÅUr?–²ÍÇÍŽ;\¬®íDË×§€ü|˜%µÌ+­x]…03M˜Òo·×Ç)Æ“¦Ÿ¶ä40[°²¨üò¢g¡_¨q˜šõÕîRlKJq䦂º¿hÁº!’‹úQä•.%û ìU‚“‘qä·h¥;š†ðšw‚±0Ó]ŽZ D‡ŽýÇQ\=Ÿ·cf1ÈŸ]cœûj\3> Ùb¹eh ãG$z}‹|‘] íñù>²Žd'1çø…ù²9å¡]æŠÊ¨Ö»7¯Rh“REdÙlîožÿ¡°'Ëh9HÕXY_}aê·öYÔ†L±Šb xJLÖˆßR_å–s^Þßt%{"âNù ·§•§Õ_aUéJͯŠ×/˜q©èn÷ùÑL?_®Üj‹WÕ©0˜lûˆ‡‡ 4†||áѬb¢I*¤Å7åcýù@D=^ć†ü^û¥ˆÏì2®ùh1kZ~ÌÓÏ ô«gµ„ Hõ‡à)xYùP§&$9¥÷è_m`düù¨\€tÍV}|CTçÌå95kÔœ›6f‘Ú`t-®ÒŽi+*gÚ¼%ñÈ幉{©E}¯¡Í‚Ì;“©vz!;Úw÷z¢©¯ÚyˆEè%‡#Ù¿”ª…]/6sߌrl¯t¡L§õu˜ƒà"ªòؘYÉB†WòDÄä\ÌåÙ&Í cÝÇ$pèzÍz‹9„¹™èÄ^X¿>ˆ{lÇ4´DÑ‘ÕÇÈ+#;mŠyùËÙ&À`ßëI½‹ñr¬8… ÜÔÐå(1M\|´ð®£y1vxIĆ'Ö1PÏøä6æT¾ÜÓŒL’ Ûh“^:H pÏ$`{®ëýõØz—5÷eæZc7G©2¦>÷QzŸÀVŸ’=ƒrõ›u:Tw„àkNÁWSÿfWëˆüîdÜT‡åSÓ>â«¡aíI›×õæ‡TúîËÓÓ””rÒ÷ s -Aq}T_tÏÕÞ¨(ŠÙ7@CêrÕ¨5Òúï¹K #lÈQ*ª«’qK!8&t%ÿàÀ`«“îMð S €Ye¹:‘¥Hÿ;Ó@ò °H@¢ mödÅé„ŵ%¥ΞQ—ºNqlØâ¼7©Ã¯rq‰û¯ BšG_¥ñ™ë?œ¹§U¡ý>a~s䊊z)‘âIÀFkÛ-Dù‡¶ ðÔ¤ájåû‘QýRŸÚ6¸sŠäL½Ü [dŸOOuÕªÓP³tÎWüì@Šª›ŽrXjŠvv|ÛÑrÕKœ™ÐØšp>Ád©Íöñ?êÑi‘è¯NÇuë?ù8°’ÃþÌ>¡ÿÆÏNY­_à”¯^Æ”T;“‚ùl<ö«Kš[®¤ÃbÖwtü5òoJþcŒ’hÀÖ *xÁÎ…1bn ǰîΫzø‰’É·¶/M«ˆÀð¦ux§ÖÌxÔ íÄr3 þ/L× ¯eœ¤pZ×õXüiüsšφmB¼¹)ùϳ2†(>np×\;þµÅ¼ßT¾i䘗êâ®m‘"ÕTp0àø·0ŒuÕ!“»¾¬-zö4ßI]!­ý‰»ˆÒ3¡0)/å=›WkG}þ˜/¦×‹£º±® Ó2Ój«*èMQhÓ nA‚¤à×vË|¼u0Ñ—À¯HžBþd¹z³Z+Qx9^${Aθô“Áo`œUëql)œ¯&.y4£s…üK5N=x{å»ÇÜÊ’?ÿY¡oǾF“eþ õ‰ Sµ,­c`¸úw½W1§1`°wêß>½óM$;‚ßœ†(Ê.½©Ò"¨tÚÒ˜[xÔ„ª„‰"Î&é:[8]Ö¹×kaÎ*E&y¢f`a,\bzØàù€–} ûfÙ¥M“e_¶¶ EE‚` ï”}ò±¬ Õ³Ç1Ét[]2õ¯‚÷ï¬~mÇ"ì«ô Dè*áÃX˜m&’À$Ûo³KK¦óÔT_[û¡ Õe Ÿ‘/èµmg¬B{z嚺‚ÌN’׿º.Éìud8ç @(T¿Ú›@櫱wâÎ×’Þæh•ÉH–œY.ò_àm“;%1--¼ªFƒEÕñ2«á3æ“ Í=´í¨±«hqà=ûß'K&åB¶—ù‡‘‡»HN¢a‰áÿ>O&­qP–oqFnúÈ/[ô’Ò$‘™äò¼â9ƒÊ!ÁäS¾¼°F2öq‡ŸÛû{šäü¿¯lÚ¶ì÷o€ýþkfKÆžMÄ(³€_<”Í<›hANÿZòˆ_jéz€øT“¨}´Z`ŸÌVßT’+¥?<ØÌ@=ñ ‹â—`YÃíiçså(ž7·“Öö©ù¾OŠº¡²ÚÖ«Z,µRn-HÌå˜vZ9q6Šó‹–3÷ûWBõ8ï1RèåóèfæÝ>!6lË[íFœ_ÌÞ­.·ò]n —['dþÖ…»Ê %"®³;_ðM8yÀ·~šo'Ó¨O—úJŒûBc¹Â_Ȩ{M¸Á§¢—ú ´åŽJNag™ª†bæGx¥ã¹–=˜œüS×VͦP2¢1r€¡oåÁVºÄú7TÙI¡Wá«ßi€ìJg×èw5`â jB`1On®‹û,]&öïÇÜÌA”KQ tÜ]Þ÷õr¢B ÖÖõ†¤Q,}YÅ©Qåê$öq(öoÈ$öÒêñ<áq,#!`•}q”rüH±{fuÖ¥ÆR»²Nk<#wñS'¥ßc)Ù‚–T¸OW:\4ˆE¯ËžlsŸ­Ò¿rV¸´õ„×|˜—ZÚˆ€2T´–Ê@{æL Åv}Àk‰ˆÀõã]õ:X„,Ó…5Îlr WXóˆNuîUH—‰VÕ “ñªçdÉU[ÔÕ…9ÎfŸß‘l?Õ:³:åƒ ¡:Ixåšæ5ªÞ9+tÄm}ƃ2/«µ_%’ÔÐpí–“ÎÑŽŽ:Ì[¯8Ô6ÝËôpk¸±09F3/Y(Á}󽚟ûWˆ,ÔŒ6ŠÙÎ|Š_ Q;ŸÜ@ß­u˹BªÑ•] Kž¥_côH_ŸÊ&•çrWÆvwâ©Eìa>ê&f±‰¬ÒŒ÷·F¿û6rÂõz#DàE™É.bg)ðõùœÎy7 ziÊÿºÚ¿{ûÿFh<ªñlÉ$R;¥Ó†„‚¼“d™ëá gL ï9yh ÂñÕ#Q”n’È.ÕIû`ùqW¨A¹ŒÃF›KV ÇhZ¨ÛûHÔ?˜¡½ëüÅ@¥[Îémh°Mƒ¦¦2v–ŠÌC ¶ÿNU³ûOšþ¾¦ö6%ç À†d äÓªG3²ä—4P[‰4•Ü æ,*Á»M­”Z“¼ åEfE5ò8eàFkü?€…bhÔècé]Yûå­U¡«— ?–A‹Êðî@–Ý*' ¢Œm.&$=ëK ÚÔ†Œk=à>ω~Õ¬»ÿõŸC§Tá~~Í•€¸AQËšôÀ5ÎÛ«ÛÐXi+Ý(½ ʺy€N‹Na§ŒõÕq=ëÅ‹}wÿäÔ åSŽÞ€2ò“q¹’Ï3ÕP+R‰VÂÞ#k FìiP U‰˜Ø‚<&I¢Š,¤¹B Ù(z ÉÔ•ô‡¨c†rL¯Éë#ÿ\xÇGj`É21.Õ©¿_bú“· %»SϺa5¹±+rþ–âQ“[Z¡L5ˆ’ bÔµG£µvïJ¶1¾/ø9y&ÆŠ•>E =±\#¥[´¹i®¿“LwÜPG¸ Tõ`?䜤À¯!°HH0öLʱÉ&j®ëÙ;Gk45j ªDq4²Ž…pî{óÏ›ÞؘéE½¯åÿÁ‘pýãì<%*Cî0=͇ëç…†u&ö+s™#E0‰Ïºy:íkd§?ÄÊ“Ûw*‰·×Û'Áå3¦>lc†ª´a˜…?òãû_úˆ¼ÿÖ®«æ7«~LŠn?A ™G¼Ýè46È,öe%p5£ÉEîäBC*ö|]R0Æy–²¸FÞ‹BLU1FÕ?ò¯{|_ ?Röõ»õpMùŒÅã|K. k\›õSMà&ŠÍÃv8Á~?ÅPô‰ñ_è† ŸŠ‡ç]ÝØ²Â œ‹PÐþÃQË-qÂ\Ö‚) Úù֎ljŒQ_ ;$µâ3„ áÛà ùL…C,Žøsù48¸ý…jÇ p‡»bíÛF™|ÖiÓûñ©µ57vNrD±~”H“*H&b/5yu ;bVJ~s ­ÛBF8p®^~Nõ9oæ Ïtbÿ¤eع=sÕšÑ j¶HF¿6H(W¸UH\{ì-O j6»füé‹"å_d—,Ã`‹:5¿„)}4TzýJøþ”HáŽÝõ2òUÝФž€`®Ë3«ðÕ¥- BÛ©·Èanª‘3—;)ØCf#þ_Ot¤Drž_J²½Ì6A§W’‰uYHãVn7{C9<ôÁ+ÞÿK!÷áK-sD‚bèÈ–þYê î¬ÎÀuçAÀUø u˜¬E.Ã`Žªþßá ¦îÙ%ç€QÌ"%þ«P0@ó¥q¶ÈƒÐ¶¢d‘43ÿn|µJÌ0.;¾®ÂÆ%Aú*‘gùÔx3`Ìp-0¨úÜôÊ–”áîLýdSWhÛˆß[ù•Ÿc ʑËð5c£}›«Ïx*iT*åü[ëf»ñ(…Ob ~I ¥cé7l9ê|FO|6æÆ¬òrͼ;Žg^·úôìê¡Á˜ ­Ûåëd7 “TQ«G–ô|¹L’èsN¦dÔ¢B ±> oz¾œò‡èŠ•_,a4Ý× ëC¡ûÜ./x,æM¡%AšñJò^dT¼½²¾ó‰Tª¸}ÜÔô¢T%T Ãé¢÷K™-51%”– gød˜:"œf¥v­tf›ûò×xOdˆ€p´Èü· ¥s9 (Aœ´µóã…[“‡]x½ª¦NÖ³5Dº¢Äú|‘Å Š3g§ìoß«T_Uฌ—¾Qo-ä¼l9qÌ8(+P/¿k•Ôoc„A«^ûÍ9a ,i˜£}­˜Å:¡ ŽtÔ¸ÖìY« 2u €„—º¥)¶ó~KñŸ!3¡Ý˜å,ÓÝu»‹¨Y£A©ö9}+”tCvîšÏœ±ê¯óÏ‘sÐÒiØÓQ½Õ2an—_ï5;7€\ª-cñ&–DìKÂtYí¢Ÿ®e˜Ó0T“ùÓœÎ˲€5¤) cjq/Ì2Ô]‰¤{+¤Ù̀Ѷø©¥È¹»®ýhI•ö\aË >ÑOδÞ&}£é=n|Âés•tX·šp³L¿úb-iþv}7?0¢È²˜džLÖQ›}eGá-èXa„æW±,{ªèhO`ùHYµË§ZU2᎛¸ÐA ëį™L&.|ètoÝΰZ÷i›èZÎ(,òŸçc×T° ošÌ‹ûõnÅmf„qÊI»>¥`#›^8HÅÌúGX¥%qV"„L"%·pšË]£}Zâó'fK÷+­¹Ùûƒi‹Ž³D5s›ÔÀz©ÊSþW‘IÈuK7„ÕÈ:î:4¿5Ö¡#:/' zã›ü‹:P=ìÎ9Ò`´Ã€­—ªuÇþ¡R6©n½z«6Ä£ª_H< U«þðÛáÖæÛRÛ<*´ÞËÃÞ,ªëô;'™¡ ´VDÿè"ãù㺋%Ò£™±NXd½©3Uû‡— í@fIÕQ€ît$£¹ˆ:tå✋!Â<3a³±¨r}M´‚+óâ€ZÍñ¼;?«•‘+_Õ¦ñ¤wœráO™_¿eÿ8ÐA«$¹`v^󼘷Xˆ—]_Úpõ @mfZ{1iØÐÍÆL7Q‰ûûwoõ\µBGaŠ¢q\–1'LwŠà 7‰éV¸¡kfæ1]ßí!çFNe±¦ƒ‚a%¹²HK;=±a%¹‚`MG sTCž{Úšîa_CyÃoo:Bœ¦p-o8¡›4—CDÿ׋¯Ë¨žliœšZYø¢%2¬Ÿ>•SW-a@CËIS¬åÊ]6{J—!s3ˆÂ…;Ån—ð²?ñžŸ8Ô>)Âð^ý]ÿ$>H:M‹,ð#™SF¥@ûd|I¶ ˜øý"Pc²:X&ùKó¿Q«ì«`Æ÷½;€ëÎö=ÐÙíÝʤi·Ä΋ºÝQ,™û$ÌM BS ¤$.ð¢!;¹ÄêÒj&ˆ¸ÇÌѽñÀ'GO©K¸8¨-yšdÉUkÌfm›}ß*m\ï¨ÃFîwº¸†J¿co¾}Äy)æä×Ò›1äñуä@éÀùi„üˆø_îÈ`Øš>ÞšånÝmÂX\>ÏZ¦óѧQÙòvŒuåpýÄï›M…L½9¥=Ca¸§&ÚÜX÷4ª7ø¾H‹M¥ñPŸ$Nêñ Ç'´W¨Aõù·È£ã•W”¿#ôvI¨oÖèP÷gS|Ê’¼.ð#¬?Âúï$D°•×¾çG-j¹,8HÝÏt'°%Mj¡«#¹ n$+\•ˆw¯˜Fhï àO*W >TwSJë›Ý~c–t„¨'ÏwlâØ„÷œä {ZçÖ$åî°{²¦®v?ͤcO«ÃÔ8£»ñcÕy ‡j(T~6&ÕLØÀ“íäÔÕ¦jGFÑb cŽ%õ4ká‚ÏÊ2øVî‘C¹À¶E(L ÷,,Íý1k‚iñIõÒ+Ð~‹NíI=ĵÅ`>½ ZÀCöõþÂêØèš^¥K^Ƶo^½ïWFéç]a5f_¹å¶CÌ«ýçm¯c à@§y˜§iH®9z™Vm9¹ÄZ\³¥}Ù–¤©=Y—‰ŽŸ=d‚ ãÔëvÁõ6êÏ•µ±Ðy ×ÐýÆËÔà{..˶« ²bÅ;/Ãn~ªTüwñó@mz"»{[›þñHP=2·|Ó°ã³8GS‰,•‡+¦›˜„«ÊIü‰DòÑÖÊ*çâ¤Ûm‰€ê†ÛG¨šÎ®j§îÑF÷š$8r@ŽÚ8 .AÚOÒ~Ù‰B- ÷x;-êÏ„5Ýà´_ãd²ž˜èÓÈ&Xý§¶€]ü•mð…(À¼ŽT$Œªcã"iGü%£Î0ïQ Œ£ÉŸB?iB^÷•Ðyû”,Œå0ÎpBßÁ—a©NJ s·”¤—ˆ‰ÉE„¢ãþÆ1º!t(RöãÍœZV €BE…©i]ÛA€/¡Êø¿€HŽû Âî{ahÝ7К6wi1sؤYsñµ®w¥dܱ°M•ƒåP‘e%Z‘BF'µ[ùhëƒ_Ù/é¹å¼dŸÑ-0à°–8ue~4\¯žn¢Sw³Sû%võØ{•ÔQ¡ŠØQWåøÞD4f`¯Ø®•Ù7°®ÕÃBA¹˜iEî‚âJ=¦Sy>l+"ç¨\~(:ñw6àuKã=\wûm5g#d’X¯À¼/=”î~Yб<çqK›Ç,ë£.{v%(‚§Çâj60RŽÉ*ˆ¬™^rÌ•ú ´Ñsâ¡BZ5ªÂ5bÑ~ÎT1) †k\)a3W¸²¥rzÇNe8ßLµnZO¹a² úñ¤ä„Wâ¯BSa×sâDWɸ:~ô² õ²Ú¦áñ’¹É‰Ô,5îØ™?äÆH¦ lÕ ¼¾˜£Å‚×ý„xoAµ6Õ®ÅUìBÔpòò½uަÖ-Œ¸á†ãÖŽëk˯þÒƒ ãžOý ²²s±J,{Ê£¡e)Qq3ˆ¬\a®Ÿ>6ïg$뇩¬»lÊÜnGk*føËßDSºí–5¶XæÅû>NEÄo`r®\)PMÜX¶{|í&§Ó«ŠF¨›ú&äÆŠ ¸êáPcß ô+¦ÛmN–Þ ™z$F]÷"^àâ"Èpä¦v¡ÆÄh^²Žêÿ2œÐÐøO¡jéou éåvÃ|Ÿvë6€S„Û›Z~àÖåÓ§²["k ÔͯòÛшa°ˆNE˜ÇPUÒÜxVRóÊ_LvŠ‚Õ ááÅ8¦PW*wЉÊÒŽ$(šKñHM›DØÔÿƒYŒã‰á<P+P ÷¾›SwQávHqùø0¢«Üú»]>¿ërÉÔ­i_°þšç„ f_)8RQ“#ƒYÀ¥z:PÇDða*¶‘~¥$u ~—›vÕýîð8â .ì7.MýM_Cˆ=w<"hëRh 9Yµw ãh> Õ\±ä!6&Ò#*>ßâÛa–‚Q±¹©²Te‚¦Œ¢²\»ušä™%…¦?S‚¼ Ø|S­Æ;„žæDË”ð4ËYR2·Ä=ÿAjP‹¤@Æqöù 6ðí ¦Ï×^`Û˜÷òÞ’okK¤€9uMbó­¦·,'Û _‚0‰6¥|[ßGøÑDãÙ€ üÚCv½Áó[o‰z½Ò…·y^ËWZÊ—Ä dÎÃ\wå[ß Ýç{¶3xɈâÃA›¯[$÷eR˜ËzU6 Á¡‡ùÆÊÒg~x%x´ùÑÂÃX:¬ý¾ô°wó#ƒ;3­ôç‹ëb#]ÙÀÚ½QàÖí£Þj/%{BÍPŒNHÆ„K¯C¸Á¿aÔHlß2Ü[W´æÉe÷èÕ ­r´­ÃYšDiÇfË2 P'Wô4Éí%8v©´Ól‰ —”Þ97y…ö“`é­rŸ´[7 Ý‘9ïjRÌTŠ£?ýþÇQØV;Ú´Hu'M)·`ð_¶Æ¹¡>yOÓOËGÝ®¦uc„DGí£ÁO1 ¬ñ.ÂbLúo³9ÜmÕÿW 9u*—¸Qʆ÷|Šr»è|f\lÞ‰ŠÚ/ȹŽö&¤dSmw’y•bñE%ÃÐàýNHÔ7XùBùêîÙ÷¨E+UðˆˆNö†â/Ö+öt¦‹:•ù¦©2‹J§[ KåÎïà¥þú'ýáÀM´L…Öªïçrg’>8 ›}ð¨TsìÓô±¡l« Ã~Œå À€1{®Z½3mRÍKE+) ‹*ÎÉå¸ÉT:#Ïšƒ`«›Í¤×øÏ (‰ä’N"rB«¢ÿCõ‹´‰ FòO+ZU y.ßæ¨ô¬S›šóBËúì–ù#ûõw~Š,ÐÄ[íøôE*€5KÐ6IÉ7\l3T^ÿOe„ç2QñEÇ …p¢óXò©ímDñêùÑ¡! ²Ç‘¬ŒOBä–ò%EH^Êfjb  ÷3\ÌBÈù¬ 9k8ªJ¿ãEÅ×™W'ˆÞñZѝ˜ÑzÃ8ï/ÂÂ÷qôäîùHŒzNq‘C ¡µ…ÏÂÆ² ¤Åsheè)_ ]óˆÈU~,Æùÿ'ÿÏ`y¡rÄßëÞþÓ(ù|\íÇïâ”uµfÜþò¦ìY‘çb§©*®YŽkïj¥<ÀÒ Û‰˜–&Ž´Gû½«î²\)d,èß-^‘{€ý;àò®ìiº‡µ¾J’ÃýZ’Ô‰Œ¥Œh¸¯EfïËÙŽå»V†ðsêÚÆèìœé1vÌðüº±‡æƒû !3ÆPL#ÉÑ>—j£}h>Ñ4e ãWóÂu¿ð r‘†Óþ‹c´Q:U,Ò—}uÑήû³è‡›”˜Gdq\3ªîLõÐþ–ðÇ_Å6¡~¸eG|(í—‚‰aCöµý«@§ÌJ±JYñFÀÓ,j$^M+6“¯g©W›x¡õŠy3Q¬(ââàCÛ ÍÅ–¦~Z~ºúí~kJ„ݹlWÛP÷õLçã»B †ÛÕJ¥0!ª•Py_*è}ØAŠP9z‹RߌT Ü•¹u…Ì`,ú­.؇¾„á†ÜÍ ØÐ)¿@át-Œé,„É”ˆf/¡ÚU3£I‰¦È¬s3}¼"Çô/½/ÇAßnÞ¸×ùJÿüÍt¯Å®rñA |ºB)ü–|ŸÝ­‘D:dzε_LJ§ŠÅV!EÄ1Ü™‘L’sF#Ùp™zŽlÕkëÌxÃ'Ínqh;óÔ8¿·ó<`‘¦bvêM˦'½˜Aó›CÀIÜÉ#.е+Æx­šüi‹˜ ¶ÿT5}3†â×ß­¬QËlá!(k*†àVž ØäG+ô”ëôK F>f³{5ÊÙ ßÌË”Hó þÙ{ˆ Ò×þÍ^ ˆS]å ûY@(º´Jcyßh- _KlÒÛVóWÅÉ"°ŠÝÞøÃÜ+@(iŽíϾ¨NДåp€õ5Òû ,®R¾ØüöõžùÎ0ö+CYþƒ¸¨„äøôóÛV|¨MäÒdò“ûóÔ2wvblè,d»d‡ÉᆪÏMEûp#&9M:"KïÙ$<ÑÖùÉÒ“Duºh*ÑFUÚ0”·šËI‘ÿCÓеÛ-Ö EÏ€Âyßî ü ì¹bƒ:VLO”mEš æÞF¬€ì®M3L±M§âÚ‰ö×Ö–óO”!ñ8á SÝ3ò4õŽ4eåCXI~Yˆoù ¸VRº<€S\ |¬ köݦŒþïž>-Ëööö[Â~ªw€ÅÀSx ׺JDºj„‡““ƒˆ÷ŽÛð¼SC Ê>’ uöÊ»(IZ ýe©òpH”X‹%q5 _™7÷ðl%“¬‚feÕës_ÕV'H³Þlb\37´Cy(ï¾’v¹“ ·cÑHÀÆ9…¹‹CïμZíRZ‘ìqJðùf{„Š¯Î Ô³ÄìÖÌÈ )¸aï~¢ÙF´¿L0­ r.Š¢1PH¦ڮ¥¡Užoä: ßGáô>hbaUóÛ 6ôÊd¢ü±¹0s†¹£È¤®Cü ´¦&mxº!¿ýL"s‡šÏ ?XN}n™“W‹=§òö?ùÓÓÍ•+]GëÒ³\Ì}þ‹~WååÙä“«Ê!F£ßÙ¦ª‰Ã_,$E!¯™8-Ec”¢&«PX0ÿ1:iÎCì Ç}L1b»½6õPž·Öcn ôoïRŇžZvÔ„©’¹EÇtYÅ\…MX›q†±Î+1šx㋆jž*xŒoÖY05åYÈaçÁ‡šÐ+Ò{¨~+S®šóø€éð‘.•×Ç«M„;òH‡é³GÖšM„|.Ï·ŠJÏ"4…ŠCŠÿ)k}X¤+õÓóù¿i/ÎY]ûwõJEA†’*V9'84Òbµ†ó7¹Ê¡¤×Nmî§il;å=5§v˜)S† œ%°²köåºÙU‚¯eBçà¯ì¡fæÒÞQNêçyv–,í3¹'O!W™kìã]éóÔŠc½œÌJ>,DîÁqH·§Õ %0š\æR=æ˜Ç#mYT~BÓ­í| ^k*!ՂÀ…´æà“¥I0­$y~Äs€ž®s©ïѼ2Úžš˜¬µ[˜Çau‹ $¸ìÐ`Hõ[ì‰Xæéí)FIOj‡¡v5Þ]Ó ÑÕÊP{Cy~•†ñK)VEgc3$[§e'ªus_‹¹´^ Eœ2ngWpÍŽ"˜5p a5ëôý:ÏÝ™™Â¦b5 U–?åË9FoìC+2tËï¤Óf~fy_†ü- “¬aeÚ™Hi¤Cüê4ŠkðÿóÕ›Ù>z7rdUdŸä¡‡‰¢²³¡qHÐ fe­ qf‽ô®‡r+¬;à‰¦e<È»ÙR®¢ÖÔ“†ïXªVÜ{Ñ„…ÁÊUùx(Ã™Š•ÈΕoCÇá½ÏÔÊ¿ly³…zÛØ1zuìêÊ–p*ìÙñ•#ŒsYáËËR#f¥—¯&2»&â ûr±œ¤1‰ÍˆI1ˆtöjó>öžŸÂÓx°=›wv)ñ_à)>T¸æÆé–µµ õ a9ykéòºc#‹£*p»â«5æˆu¼[¥<à]©n  Økœß//ï8u¸HÀ¾•i‰¢§í¹F°¥ÛŠlJô—¯ÿ+…ýL¿èc ;óÝW¸§FZ T¯*ÛAyâp¥]ïH­p›å£âxœ~­|G¢ù±`¥híBJêS ú¸Cœ–SŒëóÚP9ü“ÞéBøÛÞ¸Wu´X®uX n5Áà«1êÛ tæHð~qã¡fu¥w©±­-Vñ^ÕÝ«)××ô„N¾-5ÍÃiúÀ®w8Òò[•G”2²Š³ÉÚw˜q!¶§ñX¦,4ñêMÂ4·Xtš±º`MÉDU~~×Bªì‰Ð‰R¤Ðìy­›gWIñÊsçšÛ€Ø*+ØYPeÏÉÊàµãÄ[X)nom=t€Átva 'Ù›XIÈ|ïs¦OMÐyÇY´†yãÚ„dàF@bà†o"G’ÓÓµK½¼o÷*º±y@© Ô’¤5ñèPWÂe˜P%I^è ¦¶^Öx±š…$%W@3ÜÏYn­d¥'pß©–î˜ÌEïÈÆÂ\Unâö àü€ý¶ŠœÉÎ#¢ˆ©º ÏïñYù¾ŒÊ“å ç8qh¹~=}Á†aSÄtð‘™•ˆ²üHi8jP·o¬ÿ@Y`¶°F¹D–w}—×A:Al ¼^Ä,Wv»ð*h{…†ÅÕ[ɺn›±sµ|¤»‰Æ4x4üR26•»^ ù¿"cïÌ0^Y±üza:ì²´ÂõOÉ‹ÅÑàP#‚QudBf{æcÉ9¥°ÉÐ$^ʤ7–†Î]=@¾íé/Ä刯Pª‚ƒóä×”v¸…㫇BzaxˆØ`‘,Ë-gÌðì:X§ëÈ"^¯@tØùµW=j ;Qä.iŽØˆävû¦®ýfŸÂËaÁ}o€èx窥 0çæ ýu¼7]´Eñ4:/³HK²JNT2¬H@*9¬¶ £CÈ1®º_ãæo…u¨¸¤tz©ø“p„¯c'™¬‡Ìdz—ÇM MÇ-‘<7ýÐ+Ëîe²¬ØF ­Fø0ܤö±²ðø-\O€§îaüÄxÙ)º#=èh]dx³ y^ýÎÌ?¢/lmáH௞w´e¶Ôº@ä­dÁ[iæöGtÓ¿;r[ˆCz÷Ëjd9oDè!ƒ7x•Ï;›´ UgT$š®„{9VeY)å=éèp¢^sæçë^þê:¹Ü¾vÚQíYèºf—wxžˆÀÇÏþ¢Y¶SØY`øÛ×Ëug ‡„J ÛÖ­Cn®ÞSŃ0 eúîZ5jùª§æ2úÖvÀП%äÊÑ,P™æ7±‹C¼O„ÑgAýw2d›ï iW«å%ǘLî …>þr–dKaÔ¾7’èÅ "bôJ™Ânî˜üm©?ÈÑ LÆG^*’ÞQÕµºIJì¡s ò !™N¶¸«³&—áë+™eKIŽùŒ÷Ü¿Ýȯ4[€F=À`ÊÝÒytTâ—~I}.„ÁtKe "3JÍ“ËÁþ:²‘rcññÐ×¹?£} fôÔR?RoÓ˜lku“cÁ«ÝAWØÀ×túRÇ7|hwY‹jÑýZCõvÔÜYÔ¿5àÿ^ŠÜŠÃ'b©R)ì/ÜæVá È—Z@¯õ %ÿm¥öwÌ™&ÇbVÅWv…h½ª™ìX1  Ôü¬ ÷,H!ÞpÄ2óœDÞb;|Æhë4Ìä‹oÿ1š•Å—ð{Ll@¡klhüçÑÝÆó•Ò[íÇc¡™4Þ!éOiÔsOAm²l̰ýÈ +×U6Ùƒ ùÑD€žEÑs ž–Þ‚¼ŽBæé*e3(è´Cbe|•‚s%KtþZH@ø ’g¿Íî€ÜJ½M“…ßr‡8žHN™ÐVC$,éÉz¸¥Ò’îÿ­_4|4¹wH¬¿Š‡ Õ'CW¯"†(Yµ5J¦·Ç–Èàë¬GØs1 Õ)‡ýäÔSë]Ñ»e±7³òHËÐ."\šm¦Å̸Ë~äÖ‰O4bkVp÷àAºÉäíþÅ™†ß70k‚qôÐä½ïø›æ¬,ò¶¸MûÉ,a]©³£ „h¹wCïBOö›kà±Âq´¾ÆF§˜–%Á7m€U<‚b—™š’c˜²Лá59•ý^ ¦ç¼é‰C´‚FŸá;‹›¶¨²@fi%r;2 ðóýgµs•V£o¼Ý«$’X‘¸@ÛÚ¨q3íÎLÉÙžd›£3©8–•e¾³Ûå ã`ÄþΪ 'IÎ_Úð&UÒ7Î7£ÿ±2q¬‹#†éÖÎgDúMî¾Ö$+)UÒîÁ#+ÉÐJ%…àäç„~0ªê°<¯ ¡ŽØ×ÓïŸÞÑþ3½ý-½é˜Í®7k‘Ólé¡fìÖ ‰Dµ{ÆZ¼eÙ½=ÅÒú/*YÛtàa7õ—‰-¤ˆi°û²/Ý%~e¡‹¶ –üüi—í.½·KX¬ëÐCz(¼¼›ð®%ÜáË„ÇiOÕ±|Ê­Ÿ•…_þdòÍì}éÐ`rºEÁè0k+$îtóV£v™ÂE!)Í3©¹u¬ƒ›Æfô¤!Þ2iÇU¿þèñ?âåívö\sâiBëÎfhpš»§ûM˜½E˜‚ „«Jm½¢§fáV•R=:¢}£I$Š,os¨ŠŠ¦-WÑh–«x‘›&ž„/_h? wX£pùœØqשü[çúÁ¤ä¢¼ÊͶ•‘ë«^#]4Ò÷5"„í:°¥q;SÂåßú¾˜ +Œ€÷ZO‘W®%§p þ¢Â,'r”K£ŽaØr%?KID›¬^~â\xq·È1O.uZJ©3_¤¥œP:oئÝL;ÄãçsQ2ÔyäaÓx£SÍnHȹA±ù¡¶§Ú”à1¡ —%k—~|Ò/Ê+„© ƒæ›‚Þ%ra´á‰RŠeúŽ` GÛ?aÆ5 éùá2¨³nþgÕH6^zëHâÖdþ)æÑsÇz_†—€Ìï.wQcb¤SUx?O1KEG]rÕm°V«ß¨ÊM'ÍñÔ[^¯2cÜÐùªEC©nXòxÄ];ÿäEÿÓ¼¸X©Y±‘Û}-÷¼}´Ð)%gÊe-ƒ§‰¾ÞÁ{2Š_ˇlÞÌô±{¸°5à¦rt :‘ÅD0åä+gÚ=NÚ²¡†N†R ½.x…®l½"‡…+ƒeT‚¢ee*Xü±?Ôém+hµ|)é¾M§F oשìépé>å®fìv’º’ ûä¨TêÞŽ'!µÙ à\ hÕ¹Ÿ)u¹>ù“2úï„qn¥\l·«{P@{'*aÝ+’ûåâêÅ+UÁÊ!ÃÑϯƒzï£U„\n»Ìuúx¿([¨ç7c|-”ž¸Gsf.6ξàÙh¸ýFÂÄŽL2å¼Ӗ:oƒÛ&¥ŒŠÀ¸8-ŽùMÈB¯û‹:ÿ˹¿«Øé XÌbœrzÈÃ-Cا&C6í‘;1¿DgÝ ƒòÁ'°ƒ˜{f¹MJQ¨'ËÁwÝý¢Š¦A Hƒ”J7!‹‰K½KžÃº³Iœxa•ƒá‚‚Ë×BH¿^6Rº^‡:‚õ ²#"V)p¬$Â1“?“ó"B#¬H3vO¤óØOή̂/ĘþÙå YöÖ¹9”àHG`õ( hC‰8 _ŠÁ,•îê¯hn a¡7_sÏ d4‡ÒÚ?HË+މíãý­µ4¬õbDáX–àk•ŸöT©Kó,ðž-ñ<)oÑZ…Õ"ƒ%·Ï¹gˆÓG‘§|vº¸7Ç¿‹n0&yJ¢À4oŒÊœþ7‚M?Â0ç8j»a…¡Rê^%P×î¾T˜*™MvqSð?\úUNñ³ü¿]ŠæÄ ©„n}ö ¬þâIsìv %XtËâ3 Ú¿Þ“ðÂÊzFŠ ’öÀ8å;|OØ&ŒBP3Å@«-šàdÎäÒUÍ´‘s0¸&[òKÝ/ùÔD¢¤ +fÓšü~±X¸ÿUbøux%¸žeƒSíØEA‘ð óÕs²ÛdÝë7€HËËä]ýHa ]ÕAš‰>ù¨) Ū¨9Nigjú!O‰37Økÿ!B§¢‹]2YYÅ£¼c´éõêÃüNDu68Ýqï­žµb†¢Nìe«üYa,©ÅVA8t²3¿I«ÙáÁË1Í|µ(j ¿’&@'ÝÓè”Lfá“ÝŸg…LFõ4›ûîŸê9s ïz†‹$Lºdvx소Û5¤ÞGòxð÷.­:ÀYÍÌ¡°‡yö¾ÄÙtœ ÍnxÛñ‘¢RÃåÇ”òŸC.DÙ÷R€3Pß ¨Ë”…~Ì–Ló”Œ ôs{ÍÕu®ÊW¾Ë,“H—z²›—J žÕ½æIõÛëPʃš7èÐã|ª[LÓÞ-Å]¤^Ì&å²)ƒ×*ðÚÂl,…X{ÔF(¤ø»Ç<î[â-¹S;H9ŸÉìàÇCaÿóyLBjm@¼œr9ßÓ”âÿÛI°û½DT ¦Žà´d«ÕoŃ yš¯HiË‚HA–4;¢yê;D¢LºëjÇÜÕ3>{ ·-’ê÷1BÈHß ¨A@RUÏx·|&rÄ`8V`’sNȳ{iaOpð®Ò@©Z÷’džcÞÈ̖ɳÝóúàžÖÿè kP\¿|1ݵia¤ç6y0¶Ïôn‹—{JIj,Ú7#§bêIæå„¥Ùª_%'"’4¢çd Ô£uvn dÒ³®%¿Í—;Ø!ÓP¡x«–­gÍÆÃ Å„Vº…-`ò¯!=8Ù›…@Ó¦WUâi™»h»”x ¢3¯‚Š?bÓÎÁªà³H–_¹n-ˆ×+9Äí§"ñ£ÔP1€6Q‹#7²˜j‡å½‰Vö>˜÷G\˜qaÑEq^ÒÌ‘v?]êCÁlÁr½¼}Ÿ’¨Z[œbàƒ­ °>#KX<·"ÓÝ´Í?XÂÃD"ÀÊ-Ê*ÜxfýÉ ¢¯ÛAú¢Èœ€üE6îN%xÆâß y µèÁ‰ñ¿Éí>dj–ß2hÅòÏ·º©cãÝfÉž"öO®^i¯^*©\¨ÈªF'€dbI½:¼Ÿü wØR;…Žìc?43M}Õ÷š)Ý'ÍÑ) f‘¸B×ÑÅû²ì&~ž:¢ìŸZBw¶Ù²Šþ¨‰wL&ò(ý:/*"´giiéËzB§ŽpSüøP¿V5KCµ‚G¾ýæ^¶Ù¬œÀ‚ ù½áõ%< K"}ä@z\%輨‘–´T’,uv4g=ÿÐç—JÀ’…±åÓ¬Ežxû2TÔ›"h·À¦ÐoúÜìã$ìÌI‰®«¬‡Ý¡ö/ïnžà…aÌ ŒŽ¶ŸÛ¨ÔZ¾?Å=Éki»ò·L¡Ì}®$ûÛÅàl–=ñêS¬qŽ»cóŸc7Ä#‰Â`X@½Jˆ¦ì‘âvò=AçœÅ®1UÈô`j²Î™fMPœh@»‘ÞH=¶küZŽbýEk·µi1§x<å€L¿™ üÒ :O\$Ȉ!=>=;­”“ô¾| 7]ßUDüYÁÐÅT²]õÇ ®î‘”ìøüU>äçW0í Ù1GO"4BG ””KQô]Pö̉øÉ ytÛð/é=þ‚:Û±Ì[!X…¥Ò½õ©§°¿Ls„œë°_âÓ­)¤|#¶ÔDª™Ý•3uVÉÌG]@«4$§NÉœnÛŒB!Æ0þäé¬W9áXËz܌ΓÓèeh%ŒÇðÂ+¯swþš˜ ü7&ñÏ•‘é…,|¾° XrÿÌ”4KÒùhôãËtß½-¾¡]ƒŽ3yPGâw…„ÕìÑ?WÖE÷úfôN–à18¸áXÆ;ë¯Õ8>y§aô¥rþ,.ö¶½B€¨®±¥Ø_²á¹°Zîcv§sÂÇoÙ:gÅÃO%Ï„ÕjëëÊÀs™ÍŽ<3ˆ cæÇSÃ8Æ\†{ëé%8§N.\vÓ>Æã¯Š>ùXÉÅÈ d>‘®à]Ž8rßZ‡Ž¯ÔÂ~7HmΊ1¦.¬ þ;]O0±9wMfïÙ®ñr>óÀ즄ÎK>vìÿ)jÁß…*]ä?ÙÄ@FqÓ»³@£ÊéE¥OE(±­Oê ÕmÔ+…qšFÂú }&GÀŸVj‚ýfhŽŒ~ö"h=Ý·¬q·žBÌS^ÒéþÛ¶)Ø}Å̵#.TZžØ}¤äÔè;ÑŠmnYìûIôÊ?ïj÷kV¾\+ž ‘zî!µí‘M4ÌØ·{hF 9}i-° ø­ÀÆFó65uè…q ÷9@EBmôÔ¹’¹•©c[ÖÝPæý·÷Ҽ鈸[c w†®öšô  鸑‡DZøóTu_Q_¡~-?C8ßèRËÑÊÑ«¬ÙŠAðûb`Åîi}x"l-shöå¦R¬yCóÛp8/ãG˜óSµûé `[©sf>ÒçÐÁ×»š„³±¾ärŠôÙA-˜ç&*køŸòPЃ7+zㆨòëúËÖã¹<¢;ƒdu®Õ×uºî:µjêA“—âþ""MÅדc0ˆ"«ÕsBñiZ½ê“ÌÅÚ‚vb<ßp—¶k'Ii²D…/‘L1C_zwÑήµt'ˆ ºA©ždFKëâ€ô„Å O` ÌnÛùA¥¾qçOî1&/[ÛŒßÿ±õuav9iK’×!íÛ.ò•õ`Ñzî~Ol…mÌÈPñ­c¬—£DœÒ˜6Ç øÒ±5\/×þÉKvRÖªL³©! àûÕ·_¿ßïuн֌dwFú½4,Åg‰®íéøŠ¹Åˆî}0j¿1}ƒ Zíéºßª BhÖgÁ é §¤ ¦¶\Ä–pî»t™¹É¬RÙ¾[û—Œð,ýò<ü׿U¸ßÁâ«^&àâh¨n€Ò²u ctüsìFoýŽ š~™<=ËvÄf¤&Ì 7[øÙCý·ï§®‘ “Aïô³A…õ w´/é×Ü8ô æ™#@tÍN°¸ÀÄÛïQž$Ô1¥>­‹ F-ò8ÿ6µW·Ãî.gÙ‡h=–^÷0>n¦¾œEyÓà ~x:|+Œ;ÆŒ\–.t•µT®Ä­æ4p&»¶!SáäWÜvì§*7#nű¥~3HpU¼³ë@¶ýp/qHƒZ ¡³ _n·ø[±f€ÑÐGØÉî]Ùðè8øwµ`‡LÇ”kÝ¢5¹Œà_Md`ºtOòCŸK¶#¶"­0º9èN¥X>Éo×M;_)€‰ø@'7óÊX¼'•¬;öî48/ºäû¡w¸dÉl.bI¯1ŸÃ!çÜL›‡I5Ó ŸñkTÐÂÐ~1oØ- ôƒ;A¾õb>à.qÈ;“B4IJ( ,èFhði Bv^í]Xn1Hzq?„kô»ùwNsÀÖk¶ ¾šb½ýÚÀg„«Ah¸ËïØŽL…N”E¾©$°Ùe¾´«ðÔoóä5;ŸxLvs(†±}vW‰í©Ù¶1ì”7¦õŠJ«öÐ#60„EÐÄtÙF« ‰"|Y!Ö.¼§[†“Ìœ:E]Û7ò¢Œº3 I8Þù”à5®jŒ®lDH˜.%zˆ[Áì¦Æ™­öE7£¨e¯¬“{Ëtsˆ»ifáïé@/Ò|—î_ kß÷AyÖPÐG¶Ú2rRœêl̃IÏ%è÷© O´k?¶V"™F–㢋#‚Æ¢—‰$ÙÅZõ70.'­¿Mãý=Åý£‰õ&Ô˃šÛ}{û3g¼t6\¶ C[…Ü){&™’ÖŽ€Iòý?ªÒñìC~s®>¤kÏakš4p3®§Ú±eŒÐž¥Œyh M£YúgÀV÷×Pý8ʈο?:2 [w°8Ôœ˜% Éfx ß]U”ðhè¶…÷0³Ñàè!¦ñi2e‚k}ÈCk°Z`B“ðmÑÏ’m'„>†—­ßùÈ£ºßéžthꆤ,í,¬ÈüÙZý'^7Sï$¥u"©<\•Äá!¢™-³5®ùóè슠v.í“>²Ô‚n`O½Aæ8jÜœwCñvY|bÍMª’>Æ —‹áW‹®*+8Ät+‹aÿ¼2&g—øE¸‹Ù ¦©`Ô‹Të «8ø§˜y:;¨k\¡Õœ…dîƒ2…kÜ}3ÚÖ-yª3LXî×—µ·™î>&!ÃÿAY+æ¶“éédžvƒGñuóêÚÄ}Ùç Lûö"7iéä4söÄ&ª¢‹ÆF8‡—&¸5:¼lºùb]=» x—m„Tí6aL ~œÉŠññviÔ™Àè?"ýM ”kOäöH8ögU繿 ŠtùÈçt·#å&6­ïÙ/­Z@/f‰F’¼ÊcÏf&nÖ‡&X¼©†„EZÄûZª‹²4sE(\Ö… –ßp°ªÿ»Ì«C›ŽŒýbùË@±¿PüQrÛÚ$wžš¨¯³©º]6¹OUL_Ã&ýãÖLX­bÙ&Ç%üâ›ðH¸ãA{Ý‹ì/¦ÜzËÜfÄö倠”Bá8uµ44ÐÐ`~MŠ$ýã“î‚åÔÐä¶&à(Â…Ø‚–á¤ýk…"+³‘ÄñP§ž¼5^2­C“J0åþÅ¿àÙ#ܧÂA ÝFjmtF+$R8ï9…Ъôc 婳’§ïþ¥ݹ‚-JFúá çG!ùîrNâ Ö'£áÂã;%~t§aأѭ  xWóGÙÚþ÷Ý<Á ¬¦Y²;ª¨+ŶþŸÜox€\ ‹ŽX°ÄelJÿ…ÒÑmÕê¡ñ¤å‚Òº*Û>ZGUï]_LÝÌœ4ƒ®°=™º¦n§:̲ê¿Ú8ŽAÄÁ¿Õ¦w–‹×IZ ÓˆÓ [ VýS°¥>:²=¤„öjm'Lþ©ÑXæNeŒƒ½í혹!š–Ë„O9 I &àJà×/¬s~ { FÚrÅb­°®™´`ôŸˆ•U“£Ê'½µ“2Óð¡–4CôÆàÏ‹Fý……pøÁS/•΃j h´Ö€78ÜÉRßŦÊ›¥¸HÂ:Ÿ‰àáÓewè‡oœ!'ãâ=°;[#¡+”ÓC$"_óë§¥ž¿ºnuÏu÷nœm’ÁƒcÃ’ç2°nFWŒ 𧾚š­L êÂÇqubép,­Ê­tê,ƒ-L¶ã-!žu:>›iž3Y{éØX?oø`9CFï6v'(u‹ÖP|”â›þ[0©nq¹¿ë¤ÖâEš?sÿ]ú)ÖÖï O$¯;›Ú÷~/BÐã5-óD¦seO‹V÷®Bæ®ivÆÃx›?;:.ÑðSâ{F´uoÝš ±g_‡Í{k‹v5:ˆ-¸Ó¦O1˜±üÕm½²ðíÑ‹Öt‘4Ã)¬RiÜ tzÀnØW+Î8{ö(Â$[åëU¨¾³ýˆ@ׇ>©1ÚȵÞrb<ÔbYó‹ÝE›®Î0âÌWûƒO+(æcpÊâ×Ì < ÚR_Úú^sÎÐÑi'YûX£¼ï¶Úα¨ÍJÙ‡ÄÎ]/BSÖʼn4ÕÓ(C{mÓ°}'xÓ&´ÞìAË?o*ø*âËDLˆß^=·@‚ò6Chn Ït7ªæGa𥠗rÑ÷nãâeQ¸Vôâ Ôz£-Œ[Ö¬g=€?&°þK0½~`ícù×¶±«Ž¥YxUDxP ÛG¬@ñè+ìÊñ_þßÈÏ?¬ß~ÏüJÅêɈV²Ø›zs)<ÚmÝ®W7|ŸÓEêeÕzLlŒ[Å[gïýÜ5‰ÒÖçiУâS…0—÷$ߟb†íœoÉб]5‡ŽràÂâ8¼‘ÁeòŠß75HC dMœ´Ùl(ªWK¶Š²¹IRÂjÜ™ ‹ wçS³b”þš-X¡hì¢Ë‰Çmÿ¡îm(U÷ªð±•p $è †Ð{5¨[D¨‰®%ÎèS’R3°‰kòHe»Á1 À½øö÷›‚®aÊø.cœwMŒâ™Ùr‡÷‰Ó污ؤc§yvXmͱPp 57y`“žÕJü:2Ù ²P•å¶Á+:qÄæÒOQ› ëËÖ—¯îüº×ÊÌÕ=üúwÁR¢ÍÆÑe~-dA #öuö+$HIÅÞ™l©j)3©0ª,?ñ…8WØ„¦Az'l<÷GÉÃåÒ10;®æŠ«!¶ „ð£Ò6”iÌ/ÐÞ^¡¦õXýC|úh®žÁ8Åq*3zh4àAÙÛ`ÞpÀdÖf~É!ÛëeÍ?P©Ëðý)ðñ/º„Î+V„¦î’­ÖfI­ÈiÖ±uðƒŸ|¿†Äݬ4.Æ'H1¿»™Nlr´ÞŸ{øÛa$(9 ¤Öªý¾hò#éÁáßvØ`,W(K@½÷.‰ÉÝå|0Þ”ô=䃯AÂ|ÀÃÛt±f*ù3н¯MÇ–x5)'ªï¯æ*üÔæƒwìlÎØò…çÆý§Í ”z«(©Bt °œRè [V¶ä94VÏP·’ S®Ü®»hçÕ¤Eþ'æÂæ²M”bó9f‰XO_¼g««`ô«yzèDCï4Z¶ƒ*ÃÛ]f3¶& Ž pÞÖ'Aml¼zâ÷Ÿ«åƒ¾ûBÅÕ.P‚ ‡{2EÅíw °È›¸´6ñ¬Öž®>ÓùAó¯=Û‚{«9RÔ¿Æÿt°˜)‚.5 ŽÏô×JìÝ0.Æìb“Æ’ãW–ºCç$.>Ķ2{–‘õ_âo€<æq®ª,†ý†åVò<ˆ3Ð…â¯ËD«’ã°ûž.pé»Ûð¦îÍ쥊8Ô.Ìä4a¨h—ÅàÒö,4{ìh‘¦3à—wáa å€l¤p¼¸ IEm""ã1Ûm2~ÝÈhT{< ¼þ—˜u‹Ñ«¬¯ ÚÄ„(Qã^e{¢ÿÎq‡Ž[QpZ£\çËþ|Ì2A‰d—¿è~ óBâ¤,µÃí“1 q6a¥É¹{'–O\>´0ÒNò}‚™#°+ -^Ø|1Æëu7ü,D`¼^Š5^=ÚÔ|N}ÁzŒç\¡É0z÷ò}~]Bæ:¢M—òóCoh¡#!Md@'“BŠõ|IE…ºêMÉÒ>lL÷Èã=jè8OÚm$îcŽ/v•0%Y/í@¸NûE­w¶<Û ßæÝ!>9Y*Þ0ý¿Á=ã%1²ôÂk”@ÃV¸ÀX¶ÛžÐ׬Iï$LRÖ ˜6sІV@\ý ¾Xÿúªz,õ'Å›‚Zhb:ÎÒ©Hж~ Óñ{©çÁ1é|ã•—VþÊL'2’a¨g‹,¡(ƒKŒý@ÌÄþ4€µŠ÷.°ùilÝ—‹FýJ¡þwžÚaoìIö#“…˜*\uŸ+ïWöF³šó«Æ÷M<ÇZqXÙW;ùÄù¾sdÄ <Æósj6÷ÓkµÐñgá&cúnIa׌ÉýßºŽ @땊©ÆÏü¯M„ e9"gI†{ zÊ[‘ÃÛ€”íip±®°×YJéMe ßcs¡E0h¬«õ®X^ÎðNÝðÚâÔÙ§ž¿ÝïžÙº}„4>ÁÉ;Ê~À%ñõÌÅ3° (¾0üÞX³çw—xRù®°ªrVEeMŸ Ÿùù½v&j/ 0䈿³ÿœ8½Ð.’Y/Bàß]LT¿‰*{‡)âí“[X  hÔÃ0çaCš{)INwžCÌg¡W°ÄMÐarcg}²‚â,É)9•‰ÞÍÃc ÔéSüÛ© HV¸j•O’†ßœuØ‹aº£¯µÓ\qPI&Â-|í‚‹Ô§ÝAG{u,+Î}~­3¹7ÂÉ´|”äTå"E³6v—5ñ{Gj-ÃÿwÔ7“8·S†Ø êuèžÁkü‘îü“ñ ]±±êê/¯"ý'rœ@—¡¦»Á,Jã£ò;C†xýlŽTµä÷™`•uF<ÞÄš¨vñvŽp#_¶¿Ï ñ´„!——-ì:¬ƒ y‹kÜ÷eéÌøÝ²^ÓGe¹AZ)JK¤4º÷°à&ínÂfp_ƒ]àÍ¢?!‘®[pÙÍܳÔÝ1‘î`@mUmYµ‰ùng®Y¬&Ov$âë³*yÌâ` %,5–5 žôÒ-ö0»Y-ï«þÛÕËÉoCð³F7¯f.Ýï>œƒ‚¶š÷ ¬ç‰ DçÉ:€L?ùñáDü¥””©6× Ã\áPn©Ìî#ÛTGn¥ùñž×/dãmLŽt«ø3æü™ôÔžK=±A¦A±¶|(Z—ú筺؂AÓÝñ8ø®;è‹ ©lù2–ö"úTËÀ>+’ WYЭºý’ƒH<’”-Ò<®ï¤‚CØ‘«¾ã€þçü¢ž¹fa”äaB5AzÏû|„|T±F™ex—k°c›×s¶¸@9J ~Jå ÜJ’«äAædwßhäl ÕáŠéu.Ö’?–t8TXû_82“¦±Žs9o3¥^¨²NÍŸõpL>JŸÆíV.éÞ¼C¦±Äs4FâÞ.°sGL˜3AS£çîòм}ÎxN:¶¤ñùþ¾$¤Ùp/ »zœbqÍ$\Þ¹KPžZÚ¥ô?ßJ~ƒöʧƒ2ë_†ýø.u’+£DAôq\„¼I‚Z¾/X’#®èÂ×$ÔÇ¿?g¤qF¦î·m£+Ú~ CŽü#­8}UÄxþFÎe>~ˆTx7¸(1 0ư¿WÈG áPa¬£¤0†ôNÝC9¥;£Ù7Z6ÉJFáè[Eã_ïþ*Œ¾“x¨Õ&£á)-52sm¸~Þ³šÿ#©‘AñCx™“ñ~‰i·U5É?¹’cÓr’¸Nñnù0ðÎúÔ¶·*¿>ØÑÃZÞŠ_ÿe XšµT¬ )<îqý{qUjÉhfsÏAk[AfOº4Ši_ƒÀàä…×,Ï+yá·ìfÚË@•º.kƒ(#ʆöèÍÎZÄñ|O–ÐÿšV]pòîeó›~6Á1ÀáJWlV±3ÝwÃÖAº¥žoóFø™ c{Akú~/ÊXµblÚ‘üaÙB½àw¶¿…sÂCƒvÄJò†ûLŽèëÿ ày + }¬LO?©PDUÐýq”žñyž« ò Ã]#Ê¢+áõÚÍ/ÄœhZf£ô­c=f\K¡ãMŒ×VÂ9ÈLíTÎÍãßé4䘓œÃ0ŽïRŒÖcÆD{Gß:ì>äUëñ¾ìà=_bx6F@«q¼=ZƒxÙÖh0HQ¦˜g¶ñÍÉÇ&Š•ÂèÄ_ú¢©ÝiºÌw¬³ƒ&t}ë½½/…8¯ÒÒW®ŠcyØÖ Á1A¦mb¡È4›„‡«s}%È+âxÖ;oȵOãwÄÃ_ñÎò8Ðag{D>€ê4fŒgG<5£¡„¦ »¢¢.HÄͱMÅŠ…(¦$yVCþè§yW¦‰ã`åH$2Èãïªgcé´èJíbµ«ª“÷ÙTÜ` ël-K…έErƒI•“z:h\|F6F2És™çsÛwãç|!ݱ˜_‹€báñ±|¦Cý~Ê1º6WdE[À_8QGÕÿئô#z¨Õýáj@m¿W½—Q¬Õ½1AHî 4]õjZ‹‡—£‚!Ätè³µoÌk¨+ ëIŠ'°Ÿà<u~éðyß„+½…C%€`~f¹Ç<¿cm–æJæñ7Åw~Ò‚œÍÂ~þkx}áQ’Ä|C›Tµ¤½œÚ»ÕÖBÚ|•vͽ0Ù@H„ÎRØD×g òFÇ1ìÐg²ŒðTª‘ÿbbÞõö^0M¢@ʦSm–ܩڢi;˜´DßT –Phl¬‚ÞA wòöa…­}hD™ª6u˜I“™¥3 qð ôð¯³DÚÛ¤ E¹‡VáñÍn ϶yùŒ¯YBUŽG¹šd‚é}yd" ÊV¢"àxÐÕj·îOÖ§Û h(Kìûü|ÓPÖÕݰH¯ö«f/i[OG© *ÒIj 0;¹V¬Íªè37m-\haíäq )ÔEEÑÇÈÌx,åDà§„—iiú#„ÔTôõ©ÿu’×V-—‚¬ÞˆÖA"{j,>•W¾$Ñù"6g¨äŸ=’ÖܽÇ%˜Ÿ(‡æKwéÁ†÷xf6 v–éø3'´&uÒ¢ý ðIâËÎØÝ?§úˆ( 4‰µ§"©?»dÉW¸Ó+B‰CÎè˜`›*µuK¾`°]ž&”À€x¯jMíX={&ź÷£üÃ+· îÒð†@»½K ìdîdˆs]§#$¥VËèçÛâ.“XèJÌê›$´žÎ7hÞÌ?•À€Rº^{d¹pûßÑãDÀ)íDóED&ÙquWüêJÛW¶dóÎt§P<íWuùýMÿ•C:óƒf¦ž`“nl×°&ÃþIœCËoŸ„÷t)ˆ- ½Ž² :ãž„†´L x}›cÒ›•¯ãÑ¥Þ ÓŸ1—-Ö[ÐL§ x#ÞæY¸óÏ'ÅútÈô™Ø7ŠÁ(/¿–HkôlßÕ¹~•#LÔ/XbÇûN`~+f…k+•hÏÚN+CÝ6ÛJR…æê^ä ìaV>æ:¡Q øH ÚÁ/“¡Ò/Sy;Æl& ÔݨAøtÌb\0ÑN¢Ã˜—6žwL- kLŠ£‹zÿ\ݬl96§jJméx›OÉ~Í ‘›–þ™L¿ÕÙ 8Ä· ý[©œ|Ìy›2ÂXnà *§”« ²I_µ]¾ÙtVlæ㑇áx_ºjÍ=å /@-²å ž˜U·>ó©jÚ/7?LιÂ=ãä1Oþ.D|­zÜ`Írºœ¹‡Úþ;ÅRªžŠI¿CóU‘‡¨·K4%äÖöf¢ù‹úKù{a½âØLNk¹NÑÿb~DK‰<…–xâ£õå—OÄ<£q|Œä‘cr04‹ý„û*=ßMä>¢³ŠSð‰ 4ﻩf…½Ðt ϯ‰z¿ø8Àa6–Ÿ+Øô ;sòZ£9ÿ&!)¦]OÊ8÷Mºµ-}5JK«—Sœîdm\-&#Åôb˜ï¨…ÒCTZ#טâSK'. ð½¶]6¦h4Ÿó Á’0x mÙSíÞ‚ÇÊûôÎÃåc (ˆ'†·+á Ñîaõ!ÔåìïÊWAÑ—Ïôà%H´ñ°'Mjê×Ð º’ó + *dDÒ iiõµÐê¡%ëTC6¾‘Ø S[i×Z)šëla¤a†htŽÇ¯4£Õ3i£Í¢Ÿƒ«â°Hy«©c5H²gÔÆÀ^P‡Ü¾Æ`XoÓª£·©ï~´pô¯°TwörœÔÛ†K‹<úÉg]…¾·Æ«ç­èr`w; ðú†h-3¾j÷ê¹ràe dëxÜ7–â&ã•õ‹·ŸT¬c5ùøËùAm FUª ¨§”E::£!ô±ï|d’I ¯xêýgóGùŸÒš*†‚x¢’î;<1? ›ë(W`—t†ÄqÉêno±plki˜Z¯ŽM6‚*O¯‡îñtË-‡’vâßW£RØÃü&¢!»8ZDƒÝþØf3QíÀÆÔš¡AïÄG{Åh(€ËKÐÉÜ6r2ÎH–!™D+PÈ4¦ËµJíUý.»…ý&vxákòA7tJeUŠlAÑs@Yˆd.ñG,Á+ÕXÞr"Ó¸îŸ*Þ»…Ö‹š­á󿕆'ï3‘¯Òç8±˜!‚þ·6¤PYçäŽhÌ™ÂèèxÈ-±|¼L€¨npÇÚd2 RdN;Ú ÅÉ  à£ó€ï7MK‹t&!w"»å¯_q/"-Æ~©(ò2ô•‚fn*N¿Éû*otWØIϯ -,?°´µÂ:L—ÚŸzCM3j¬l¾Ó.ôeAWÙHɸŒÜ5îY%O—üCH­ße Z9ã\Øl|–_ÜO¸>{¾G‡NàSŠò6åÑgb"Ò†§¡K+ã|Êx=Œzõ¡*[*¹ÙÇG‡#íKýµO¶’UO²ˆâJù/Ekì­n„\œ4°ÍíIß¾*pÊ£+aÔ©2‘ÌŒø+7&1xÔù!£ïË™ƒ¹ŸŠ –!ŒÖNø7ãŠsÅéµV’Dý©°±jü|£wy/‹÷Zf|mŬÿÜ÷ÐNþ(³³yéd:w ®¶Å~ßÙžæpò1BWІ–‚üŒù;©´ñÌL¾7…|,»x9d)@XmÊOÃ&û‰aiÄÅöš¼-0ªˆh{ô¯äÄEÚ6R”‰;Çù¡å8F ñҞ䄘—.2~Èëp«ÇFD÷I­eK›(ü:m%4è©‚Æpu»;Äõö˜B)›$w»éˆ—§kfÙPXÚ!DfóFõAž “<÷5^¨ò8ø•gã©ü±úã.v¥Œ,šÝ2÷:tLW+DYµAyûO®Î¢—[Ì+~£pÁ×í„ÙÖ¤ÌgÃëÞ†è“êÙBéÔÃYâT ÁcÏizpDRé«3&›a™rð¼ä¥$-µ 9Z"ƒ©Ï£ÃÿF‹Õëiœ&<ê‚úî6ôÇMi8!WƒMjzA™rmRKv5wps%Iv¨]æÆ°ÏÛ û6 'å™(MP 5ê÷dÆB#‚\uº¼úTxÑA÷6IPΧÄè{àæe’ÇÈ€|f•!G1ͲÝû/oËz$¤}ôŒ‰0ª¿¥ ÓAª`Ý,ªN¼‘¹’:“èbî6íeävh—óP^£šXÌ …§ìwÓ~’}×á{Òé´RW¤ýÏm›|ÜýÏWç Ì…+ÇÈöJ­òšLŠPÝb ÌcQ7£Â.<½\ûEJ85SO¥1Ú«Zø,x˜9œüeç—ž VŠ·/I)&ƒÞ`ÕÁ!8V+)AúÎ2ˆ3‚Ûé°ÿzRøÖWKRÇ6H)còËÀŸ)4^kפœ–þ‘…¨È©r *þ‹mÁn[Sz³¨fï>­¥Ò¸Öl#~FK „¬¢ºXM µª¼§ý\kýÕ4T½=¡I 9O ýšY#},<1]0=W#M×Jö37–sß:½]Ò”±Œ?ÒºxA"νìÛ†àtÖÒfŠwS­n4ZÛ˜ö“iͤq!6TkñÝ·÷‰`3sxy­\BQUj¿Àq¡ ±ÝíP5ÜÃŽ pàþc#âÐsÍ_¿·Ô³äý£¦ÏØ>=è¦JÁï(-ÔOÍ:æoสéü|7-*Š»í’¥ ¦„+q]rë›)W4 Û],‡?ð A®‡>%:`ÀƒJ ÕáZ•°§ÐÓ¸3 VЬ·d-)Ö¿¤jf"´Jý÷dî¬HÉ‚î]ÏB¹…§Q=£üYˆY³ª¬\¡,îUvJq“§*¬šè%βԬ+ßC-ìÜblÓ x¶Bø0YmtÒi4LFìØíxõ ·ò˜9ºŸ¢¤–XõƒƒüçñîàÊuoUb ú_ ’\IñøOÀ8a~à¢Üñǽôõ·Ý>k!En¼·†[¸„£*;zÛú!ààððÍ©Á¾î^h磉.5s‡¿‰ø‹Üz#b:2Z!3ûÀR‹¶/î¶òðkÕv…l—ûÊd¶”X¢JÉ;<Ž’Üt¿1 L­Í;l­¼‘-1Çûy¶e&x„é {¸hâèÌÕ ‘:@|øcó£±–ê'Jó½2d®ð¾Ó¬É–J |X•×¸ÞØ¥Ì¶x>B!›|BWa\U·ö¿.ÃØêSÏ&,G$,lñtçù .§¿xÈÁv‡èÿª7çç'y–¿××ìDæ$ØÍ¨&-qDZŽS)æKq]O³‡b©õ¿–¦rfOÿƒyðIk]±7nÙ ²'YÞ´<(JˆúßYïkScwƒÈ„£!íÁRà R¿PÎq Èì!gÖ›øM 6&\Ïœ¹_Ǥ“>6"§—ÂvŽ ©<—;ÐþÜSIC¿x_v ]Œ­éå8š•)úL!13IkÉ¥bæê÷VÖ‡½K‰;¢õäw Yž×ånÔ 4ˆ[„ÝW«&H늼ÞÇ¿÷4m8¶õ€b›PjßÃxAðÉý21æCFÒh;™ g‡²lt’;ë–ScÿÜ}2D¯¸:¸WØ™0û"ÌLÇAdºã[cñ)èôƒ.±p±kLDèãAáËm•bæyšhv±Žb­+ttq»»„ÜÓx¦ð‰qOmµòÂÛµŽ.pZÆ´°Ï9¨ý8H"ɧÞ8M„ʺ‘ÙCI†©¯–q‚±òwÍa^æÒD:ј͔ª/ê”’V)‰|ÎçQ ,7i¿~x£Š×rNÉÉ5ÛÊ…X+ 4»Zô€5,ܪ˜®ó !ÚëûŠlí‰pmH¦óßLF؈ÓÚ‡Š)çÞŸMñ>@×úMCœ]÷™ ‘“°<¥Ì §øÁJ„8ÆÚåôè!W»sO1…ÉFv Ý ‰×ðÛ»q º)çyg7-ت‹[ûÖ äGrÞâê^sÎzÿQA‡f×ê5‰þÑÉ>â6z}Eõ«dž/»]U% ÓªcÁ Æì¤¸ÐC%µ»Y„û`&Ül®¥“\|Š:ïoÔö,| YGñ—÷H~Y¤…Ž)J„Õ†;ÜÎvha¬ð3TEe¦Ñß>ƒa˜S'ÎP§rþë¸ûÃ.cŽÔnqªZËÄõŸ8)œ+°A¹'¡Í3Üh®­³ŒÛv?™5ìÎ¡ØÆv¼m½• ¿ƒ\Ñ„eÜK ?‘þsO]'jèí@d@Ê_­õ§–w‹X “O–ÎGû]|Ld‡üo‘ã z‚¸(maNAÔŒ -P$ñRsJÙVÊPŒSNJÞó2Ó-*síØŒ¨Fsڈ⴬yÞÂúWÑø õÝ ®÷öäuhÏïM&1Q\bS«Ö½~¡Ù¤‰½"…²ìÛ^ê9R^ÎÅô¼æÑŠ×W–Ððx“–‘[R}idD¤õ˜D¯0_ õ'{KãX‹€O†ö“©Á§Íñ«Pùçv]ÇÅR»¸å =­"¯³bœ†š{”²ÝEŸÿ#V­Šäyy¨b7L>Ìû\¦…¢H9û9zËáQMðÙ¦ZË ­4 ¿[cô§ íe°Æ31dl©˜ì;’Ï.ÔaŸh‚­1¯0ÕÝ.b@¶t<7^=þ mw$ëà|¹\ñÀ>4à‰ë´ŸRâlµç”7†|¢…™$ á’ÂFÒ™î6¬ -˜éOKÑèУ ±ë`3F7:ŒQù´òð7PŽbÖ¥Ï,SOîï¢Çè6k› ì ìëò&]ù”û~¤Ór£ÿúˆ!.¯Iód¦ ûk¥=.Fd3uRþ ý/}óså·Wˆ œ¬%ô,ðà+èQüfÖcà }/ÉM2Ž{ïºöÆ#/,ð'ÈÇ ± ºÐøl+5Þ6âiìO h’¸XÖà ¢¶#w`ΊzŸº|_˜‚ÔçÖà:P4ËZ>¥ßþ§d’ ÕÕÃïN‘ÅÕÊð”ît×;¬»L*Àî]ªšÁ¶±Fù¼p 0ã [´rýCÆ~A¾=T@fX?車$¸¯Ê0¡.ZúêÚÕ ˆ&½²~ˆ@bŽpÆT‚p €’y7j¹býÝɃÓ@»s©CYÜ5sHÆ_˜3æFbÌ\´®sÍ´³#TKðçî8)£Ö ÷\ˆyÆ_8™™õ¯ÂyzndˆiÛçÊîöIRì;YðERæy›Ã3õ'x¨‡ÈÿdàDN—gKz#ØàÊ•D\w{Ìø~À(|•F:š> »w&l˜w€–•©šQ¾÷z¶83D~!ŪÒß²ÇÖÔ€•óJ³¿œ“¹ûGƒ¡@žµPíoV® ßÖÿ#E(kZÛ^SêÉ'S½2‰ïtÝCØ?ø`n£ðΡÖVœ¥5©Ù•å?4uËIÀ©°šoÃ5“á¯î§ŒkñÓ²aÜ7 W¸p‡ðHV—o}# ˜ªñyÑe9b¾fÝ(Còš/«stó¬)`²6“€"sô/\íÛ‘™ÓF÷îIþè³.3êXº¡DsŸéöÎÞ3@+….lÜx†ÏÅœŠ’f†þl"ÜåÇšnß» Qæ9wަºTü TÆÅüR¸çœ*5¼`Ï÷˜Á¯°$ñ4;¦©Mú> _>ˆbq¸E”GÛeÛr¾‘‹ÃážWÖ”ÊòòAÊUø "žz_£ øš(!)Ã3~|¦v¾RY‘ˆ&ð'ÔÈeÁ^ôûÃ,q9—1J¨ô[5Ðá‹ÉѺ|~dhú¤îÅÿx½ÆA„˜­VS=yù¬Âžû“¾ÔßxW0ß Y|Ö8æ\ŸPWû´”¼G¶â÷ñ…²’ Î%d\rPÚxªC3 ÀšB~¡/äOHÏÞ5&­×sžC ¦xŸ+iâØ˜ðî)\’?£©‰{ ÚocÒÔYXN×{ËÁÎøM&H’B¡Âã¨Õ‹³ÆöóØúg"²_kD¦`g‡ßcSÌœXÍ>dI?L'*RätA`6¬¿Ævjï¬Æüžž«"WSöÙ™3#°s‚ÄXõqŠY®Ÿ’p±cÀ¢òè_M•ÙÌôbUéOäG™§£p1Ÿ¡o;ÿaöŠÓgyz/,]hÁûÁ¡Æ3º‰¥æ ä 3<Äv(­,°WškZh÷j•;qp×ЋErÔ;ï”> 1C»üÐÙA,­¸Zµ'G·ß«L¤[¥sÏ"/^e¦´ úzÙÓ´‹šjY·®(ÊÎë8Y_lßâì#,raÖ9în('afaˆÂå‚V¦k Ò*ßöB&ú¿{~…’o¯1Ú”[à ï—)%)qA=¢«QœÖ‹£U¿#Œu&EPŽ6|©©AxêÕ°¬ãóä&ôÙ³†G|£›aU¡¦b£e0WèÊEQÇHçpè™éçÈ)ÓjÅd/?ep…ôû›6áÃ'sŤ¿=RA4Pùæ‡ÓŒ3X3fË/g³É?’vŒÒÔcìþs¾ÙˆÀ ^0² ŠñY—aZš$øŽ‹­a™Ãc‡'<Ì* ò®‰µ×úÿ{+•”è°3 F¤$¿:q­®ÀD¸¡Eûø àíÖ†p‰'«$·\óœù U~q_€eÛ‰†œÍ;uä)ÜvsÛÐ)ÕÎ hšå7cÆ~Œ?_Fõ¾{Ñ@ÿð‰®Á°FÈÕ¢ÏØˆ¦n¥—³ÖP!µï®æð|ïÖJ]ŸØPwÛèapgÏE]ð:–»ïku©EæFˆíó¸”#€kD¼á»SÆÏÁ¢”}Ÿ ï›d¾˜$¶êxø,wÊ$r;S¡sñ¦’­‚ì0Úi®t“úØŠ&¿à›F÷+`’FÊhøëOÚØJùÂVé ¸_˜a¹8ϧ¸*ªŸ¦¢£®Ü$³W$£‹CÝaÏÂ;Šc'êgÔ]}|^µ;µKGì~ ¿¶þ˜l9m#3"~s$úìæ•¶-­Vcg&(K­Bå"¼®â*‹;ôpéHåu­@ÊÕgõ߬\h÷þ>LÖ›VV¨†„Òv¨c® ħ$Qø[¯ø‚>m(2hOk_û†ÚvpXœä+­Xàù—_ªÜéšQX#M- øÞ'Q ™”i‡Ö@Óé6*¸m»õW¸º¨ÒôIõœüAG&mpU môVÏoƒIãa¾”4CvVá3^/¬+‡ûâHóíÆlÐ4¤’;9Õår¢Jí®R°¾ QÃÓ®*œ1Õ½ï‹d˜sÑS[if¬Qº±MAC¾ÚG›ŦÖÜzË4gú3?ÙÜfV®jdùþ€z$Ôüvt(a8sY‡9Í· ªE$xÁK÷B³„ ÒÏ J7öºdêçÏ#qeùºgËC¥áý‰Ë¦5îÿ~¹ùð[MüÀÎ-{ýÝwEø[Ä**ÉóÊשÅÕ VûZ¨,+;D ¾†˜Bl™ýY%Nÿ’è®SCN9R¬»µÖÔ`V™K¨I ^™ÅMZ)¼o%«cTÃ@£(n6ʹçf^ßV¢“R‡ÍS‡:jìUç÷Í=³Ì+˜ö^0FÓË4V¬­qÕV›à¾ËžJºÜ€¹Y§¦{–áÞúœ¥_Jy$‚ÕÁaN˜ƒ¯Éøv{~âÒë°ÂÝ)Ê”îZIýŒÚ·»²qÇyS†ÎÒ#ü?qóc~ºÅ§J哤¤ž‰À¬wm¯ºò f' G~hmÌnxô­÷1X]MiðÒ9´?XÁi´¤ÄZÜ÷&®¿€Bn¬.XEmàP=ã7EélâùÔ›-Z@…n(l ÙëzƱ9ë6:ƒswCVˆpô/:—a‚î%rùRþûÅþÕ;(:ò.PCló®äTñ¡|ÜÂ@\ÈÈ;ñÛD/.ÌY9 FÕú,“ZÈ’¡TG$ªû‰¦¬êà.Ö§IÓÅL—þ†˜lu40ʼnY7ް oS©™‹zöäµ-²ðv ¦Ö©±†š?—–7‚ Â(h‡þ–1ÌŒÛGºÛ¶yô¼ÀQ¼¥W‚ýÒ@M{µ®À¯eÄ:|¨{æyž¬2Ák¡l{ü3’#œ ˜ses쇃ADÁ9Ñê|”U‚OgÝ„ŽÔª‘˜ÎéRRói&©8x«ÕäÍgˆc4x[Ð_ã0z¶– ªigeã9™ G| ¢&-½rT•¦‰ç|_º6çìÙ×ÃC°(‹}ÑdÎñ3¡Îªd@–ç_@ä¿ëà-=$ð¢‘ÏžfI[Cì}¾‰É@ÃÒë W†²dÛ‘oúÂèhBhcÿ0'àCoï¸JúˆÝ­’r\±¬++WÐO‚oÒûS±¼ÈÐ µß®ú6 ÑôBŸ•åxA|˜åÎÓ°ßžéEsÛ¶¨E"šÍ¾nña½)±¦¤d¼Ÿ‡Ýçu½ÀW¦’³À3•>Iè;±ãül Q™`—‚5—ÂÚxw"ÝRs«¶Ã¾)4Ç´ök—ÍCÕ»¿Ú‰ÚûpÈþ]ìyÔÕå~<÷Á¡rܘ'DC BîuÎ;ÜÙÁe…cÁj›ÂêÕZI'cJI{$}æk ßê2$÷G_TÙ¸{:œÇÅÑäè¤aÚi4Õú–*òÊ Ô»½°™µ›K…ûÄlÆÛ<ëV›Û¯Lô¼k^×\ªL>hVÂŒýÂÏM9v0†ì –"5 Õ;ø´´!ÜP®c Ѫü÷>ë}0áeál Kç62ždJÛ’ [ž…ç‹áäê‚@WF÷=¾ûO³§°Ž‚Ò-ÆÆíjÆq±öÙºî÷*AI€µÝy²ú1zžý£óöÇîºA š då º ÝôÏߨËì-Jį­$6»Ø îÇö¢£nê®Z•ã h`dþ*6æDš^¥JÛ2ð<éÍQky]VY ©ÁÊ=Ÿpc&‘¢·Q7TÅ&o q·x†CQBN÷Fÿ·«À¥cX§±#yaœ(ìö«¦9PZ¤µÙ½À D:Ffa¡árÒfþ}G¶ CÇÔ«ƒGÐÛªskí㓞’¾©”ÁÃó2*æ>N{¬L@-ËûùDqi~ë¬1ZÒ3WíXp Ù6ˆ”è3]ylJ ¤'µ:±›°àåSƒ¦$Z?´$–Ÿàå:ŸX„½^f¨Åì,¯Åš—w9Áþ æÈ5ÈÁq^ò3øIè¿3¦Á‰yY«c±î&‹1(m]]ä÷¦Þj㘟PRÛ:";Ù¢“¾Ê9`@ 7zæÈ¹Z CSu•Û´:|né„™¸WÔõð\5 O7αjqŸçú¸óêù}‡BšYŽ ¿~qaä, ãQ.dÔ¿ $¾”_]šÚ0fʉ–ß(çØD·Ç§Ø‚Øóñƒb,ÜÔË ž—î~BȬÇMrˆiòMpáJÙýF‚[ @gŽÆ‘i¾_?rÅÅÿGRŠäìR™> ™QO3|Ó ÙW‹)*$uYýÎÖ‡èìr^âŒp ¯º/å(8Š~H2`yù¹iñ¯ÉÄ©wƒ™ƒ’ GåÜYá:Š6uWáXäs–“¾˜WûÁwEX¨ƒUM£ûËã%äyxÞ:åâ¢ÏZ]û*…}ràS©ão¡ûœº$6J9Q(ßaSšÎãøÈsæ7[þ_Õá[~ˆ#uDן[E5ÕÄ¡‘­šëÖÍ+#í¥f,Ó8°ós]E´‰´·R®æô‰FF&æNv¿X¿Ÿ&ÒÄ~X·ùÑ‹:5W‰À%(䮋ƒÙ3‘Xùñ¤Î­Úþ0ïÓ—E'¨ø×;?<.]§>¹Úó4ªhµ/|£I D.ø;Þ> ×Þ\Ê4Ïóê¶fËúu…Ú?P~å%ˆ…WÈàª.Œ\\13­¸nN;:o¬½—tSSPjÆÂUŠ{g³sŽrUrý‚`YPîË< Åž:R*3Ñ1'˜Ê ×üÓÉNCIæ:wà ;¦\º(ûÂÑ®~Á£o,BÄUÈÑ?z*²£\o¦íX ¢¢W¸m2=,£½ý0é¦'¾1®.Lóç]ó.ÒÊEŸ§ñ3M(aÈ5òvdL‹l˜Ž­F*¸x]fGÄ=MrÙoŒ¯T³aŽNá,, ¼‘>y£Š “¤.æxãæ×JÎ fC$бKL[ZÓ§³ÜÙ‡LJ/íM°YªîfÊLÞôS¦× :¶ç½ñ 2¯,x‘eŒ\’ãèÕÝ\øq`¹y®ê ß…Euu> “Âõ€ f¸ M:Ç7 äÑ4 ©eÆmoü‚Ül‚*à!z )Ù¡õQ³fßFµ"7õäóeͬLàØÿ#`À½ ê+­ ¾@M(F*É™%LÛuˆ› Ð? œÔT‹å‘¾„ñ ©ŒÇzÒECÒËÑã"ñ3Ó¼@j ÄTºÇ~eq=ŠöNØ’§ÞÝ›„&¹á”Bå׫²Ëf!L;­PHóo–¯»§ùêºHìVxšÿb`aGÕ@߇d@u‡òq@4«X›"ö»ˆTk†Små§Ô@‡„çÅ©—ÛËqéÇÙ8Ù“@Úà@iûÔ¿ÔꘟY§¬`’ØëS6©Xc¼ó9YIJ&õ2”õ(©…­J‹ó½j?‡×´øØ3`= =Ä=52š/ãcÄÑm¦p¹‚?bØ:‘üb¢-úÜ^©¸–ûŸvPÍt½ôËçW}¶Jå°n'–CAP9éú«Ø×3´¾ ƒÈK}r#ã„™PÖ_f.“tÅþ€•]MÞvºúñÇ ¶ÎóM”d@¨>$6u° EÁàpxÅ8Bº¨vç¿Yºz'¾7šÇO-þ¢žS~ÅBVåû9‰9.Y¢çqdð%8³Y|;Õ3üŒ7óÞŽ–*w¯›TßžpÐx5÷Rsï™4âq> fÛÙ-d€Ç•\ئѱÀÛÐȃÏwMĸÐQµMÁ<|ÓrÚ«ç=ù].FW‚Ëù0$â¬/îuAmVdl½ ¹Œvm_›B­1=“Öi‡ušRÔi £Côù½Ð+kAf€ƒaNtÖøC*w†¢ ë—B¶ÞP}wÏ`Æ”2béÏrJ?†fa;¼ðÓN l‡žQcYEÖU#—.Ô^AÇñšbr‰À²PÙ\G%à¿I °æV½K­mÜa WwGgܹ{ÅLûÌ„ò‘Çݻԟ6BBEã†ûpœ^­×Aýì2êß•*ñQX)|tSΓ¿\˜ô¶Tù™¥ ÜDa+a$´‡Ì£h6šé‹q”*²¾î?Pƒé®Ä›ŒÀš½Mo}ùðPaüQà[F-%WÌ}MîÓ„|+æK™$g¾1ªËF|Õ–ê«‚*¢˜â{’º´Çiñˆ8&Á÷¸ŸÎ‚%‚Pµ:î¥mî%<áh ÉBÀø_ ægG-ÊZÃoÏØ¹NÜ`þàuq¡XGâ(àygìÐwKóöôñ6 õMM€$PáYÆíkãp|™0ôö3jB¦ 8ý‘ w÷è‘7¨ö°Èý ¤uvÌ1ù ßH%£ü6ŸL"=UÝÎ4Ïû›:•ˆî1³6|76]Â{vÜú¸¬ -ÈæÌ±ã$6%Ü¢pê`21®Øøá´@[£ŠätI09ž„i?xczA^çêÆDâÓSü­%cl¼aqŒÝªê2ßK |~dö°ý!.c´²ð…ÍN:h²Á’Â"‚†ša™^ß·±c8ÝǃT%Vr¥LÅ[#–R„Eå#¨¯ìÍqMj(ÙèÎoæ)Ý\êËAÑcõÛ^ ýû_WIB¨­3•>¼äe¡œ^s ×È cï"Ød•ÞÀ9ODŒA£7„jn*Š‘_{v·³S®ìWÃ-µ{ßÛX5"¼ÀA?#à®{—9HYšÁòûM²{oѼô/³ÌúhnQlœ/îµ§æNzq£†­€ ÷À;#8ÃУÐÂ=Ø„®R5bæLkÐkEy^¸5Í8<)óã‰tp<|°Ò’ƒ­1bÜtF¯M8P!×{=*pôaØ}*Wkî ã,¨4WŒ¸¸2ë‡ó“Q„G‰y«Vy[®aTñŽ1ëèƒèÕ’§*/Is[üÙ„…Dˆ›VÖ´=ïx³ï±êÎw¿ø³ƒ× µ¯ý°1¦›î„­U ĉ‰C'iºé…½Oe3µ­ª2ôG zð·Eá¢"%ô j¡|æA*ñÎÞÜ ºÆ iQ9o ¿‘·šþmèJÓ J‘% "Hn÷—Ñ0#ÚƒÓ]…ͤyh¢áiŽ6z¯òAï(x—@ øÅ½ŠŽTÓݬ¬$ÿž„æo¤è°™ˆÞ÷«E¥ ¥… â²Ê3«ÍHüéØïDW¹† Ù/MÚVš¹ ÕÉMÙá fuòçÌš$a~¸›_-Ò#Àšƒ^ÕA+å"J…ûÊÍY¬x›ž ¦ÆÎ¨»Bà#¥•ëÿpbiRÞ{`ä³E@¹°B¿hí¥ íûYí*à0‰ñFTy—‘?Ëi 2$/FA†ÈÓfÞáÆº8Û¢¥ûè&"6òjÓ.¡fŠp¶±·ðÏúér&+…Güåß»šgÖ½{"~IN³vðR·:B(V.[@û÷ëâQÎ`IÁÐN Û*:>!ÆÎUâsbOYïJíeÀhdúrgá߀L³ÿu?¶J’†ò¢ð5=[é¸{Ú"{Ÿ%ï<`ßfÁÜP¹ÀUâµØXÌ›÷)¿¤ÎÒ}–¬F[Vœ(Ó°UžÉûG½/Gÿ®¯ùRp ¡:(ª!å¥ß“ž>¯¶¿Î]ð|³FëméÜþóFf~D€KÆs)þè0‰Í " ùSåà`buâ¢NÂW³å‘†:CýAèL4ê Óüe9D‹u—J\(_‹]ü¼ÌíŠÖ±Y±ÇptÑÜþ½Ä°Ú'4Òhð?Yå5â@¬u.›c-…N …Ö’qôwÙ>3M2uºÈL©x½î¡Âí6¢§´êE|i[ÈP™0/ TÑ7GÃ]ÈA} ¢œ2ã­W(°2ݵóF›·–Ť³±¼¿ýÜî[ïÇtŽ,öRÆ–Ú'8ïî(d¤±U[C‘W·Žø%hôˆ¬àfõLÒù­&!w¬ŽDºDî=ê jIïáOœ³ó–é sùo•` øÎèɪ#|bèï)f¡l€üO€%g@­ƒžÖlã‹×ö%pÖºóŠuK¬ÕÖf-t¸­¤J¦Ømöœï‘Ým»ëù…ms¼`»GzQq¦%άezP\ñ{7èúvcŠëý‡Ôù6^2@„ÛÓ™R¥š?²…ä[ Û÷{^{‰H_âœC#‘IH«ißH‚ɨÖT^¾„¦Š÷¦ƒŠ@ͯ¨Û ð ÿݨø\L–;ž9‚10.ŒC“<…è`üvR,Éaþ½ŠuãÉÌaóDù+Ôôà’—m“p§ôùã&³ñã³Ë  Üó srÅøZ\˜W^\lÇ›¦zn›pÐÆ ¶„ÝŽq¨LG!pÁ™ò@¡"i¢jv^^œØ?ôo‡çzß’)fÿd$Æc¿Ñ 0…@gNOøK¤ÈÏÙ׺ëˆ'®!^>ûQW <%ûjŸ‡SùÌ Yñ Ÿ—i^ûÂõV1çìXˆ¼›q1§íÚy&!µBÃ?óë\Õá†JŒ ¬{Ðc6BÇã<^}ePÄÔ1T}Uæ8‹D 8|&”¨«Kæ Ê·r’L…l`£ëYšn×G,B–Æöñݼª;Bzüvâm Jn§â$×"|@Á¤²+@OÌÝÕ±•ª˜4ÆUhæÝsû–|vmþ5ΡªcÇxL\N¢¥˜Üe¯ShWÿ¯Š]ˆNxa•‘>zY,ùqÝ3vÉR¡©¬ma³Á ‹|‹|Í%Õ$/¼Ó\’ìøâîÊZ´Þ³TB{¶u6¥'{‡«nY}`±ô5ˆž!¤LU#os2xb`Ë/ˆr.K¯o4»du$8¿ô\Õe†ç6b[ï„l==Á‹I k¥go§É}rN‰Ý6IÇàÛeº=ñG«“è¥3Mê[él˜6ÊçT‚$RÞÍÜVÈ1täéd‘˜’)A¬¼ö·R^ `†ÉGCˆñªFÃ" Â;"h9Ç{2G+'xƒØbSpu3iŠA@Æ\zjºÊ£™-bSЧ/ª FôܰyÒ‘L݉‡¢Õúë/´@(2£QžãŒ<Ñ>«€•¾¿(tH KOðBéLxìK¨¿ ÿ§oý&†l¾K¯0¦.ïY„@©ÂÍ›•GÆáOZÉn¥òÒ€æjìå ôÐXg`{À¦‹Õ˜ñúrs ùÅG‚5ê4 ›,iƧìr‘Ì4:MCM™’tx6q‰`8 ɘ14<µÂ,÷ôvö—&h»W`¼gj8v@  ÛuÝ1  ªœŠ³ 1¿oSL‘ƒ0Biz}=eã ùލä9‹Ðû7Â=T"°šþ· íwbC.F·SUÿs¼Çÿíºõ* Ñ鯩ò‘[®Êîs®î5M@ÅkuhLò‘o5Ÿ³æ£«!`÷^ˆ2vÉ,ÚÙ,Õ6ªfƒ|dV`ÔNÉÁ™£ :ã[ÏR՗賂þ£ìΟvöœÜä¹l§èØHLóR‰[jj’›V1Zt,ÒÖfõ3AÄ‘ÖMI éC#=pugÙ½rq¥ßàÙ–>yÏ…Y͸&º¥^¦Ÿâ'¼Ò %òõÉ@rŸ{¥0u“XÓ³Ô×c~»ú…¯i  ¾’ÀkX´4ÎÔŸ†Þ/Rî½åÏàyS’òîÅ’œqJ¶Oqà<Í‘[Ý)kÁ@„8fëã+ åðÌ’Þ[½¬À}¤&8W³{h4ü(>'És Ý· D«äÆ ð¾m´¤GŽÔ-·-HZ2æ+odá9ºQ9¡ñð©#>¥g‡iÇðDûcJïGèÿ+i‡¢ç&¼edq`R]×Çm³¶=öœRøãKÂ˪v l3æâæ -­EY¢ "ÞG×VêÐ߬cÄÅðëÆàÁR9×óLÙöÒw@1'VÕöf.*˦û$ŽÄT ˜¡GwÀÎZ«#¡q—\2‡ç‚[÷œ¥æ~ÒÚÿ»ç>Vö¡šY ;©ŽŠvÖêVÒn*ý4)r+{èl-9ƒ{ÏNä"SSóµ]oÄhÄìóXH¡›¾'÷¦Ô¢ß('ñzcüŽÉ•Gè£vÞêt¼´É(|–ÃBñ6­ˆì%›p|O.úXf¦(· ›±¢-‡¬;zñd¹ñÝ•Ç~3”â±\8¿Z­«E\ å ¶‰›i(øMãQy¯?0·Siî”é˜ägdÅ–Ä*¯"¾å ç*”Aœªê-À^(fìäã¤[3õhx;x;æs;4{â¹<«z›6Ý…¥u­†€b”"#½úæ™­E Íê¦L-]Ï‹5G¹$f«¸­ü‰Ç¬à W3äã¿%ÙÙ(Œ}5éÕM°Äþ@4²[sÔ¨vc>[RõN$«ÈÍøº¶ÓKO—Hîèò­ç¬`±TíHÒT²C>—< ‚ós9E…'M†}é½1ˆ2V îíC9~"ò¶³éß'ÙÜÚ×ËNç¸,M¼‹R|)ÕÕ÷ax_Àn=SAíÚJ$Äaîž-O‹'õé ‰ž”`|rÞKÅNÊ¿±C0M7G‡›oMõÿ<‹‡‰n¼±ègB£.Q§ùW‰Ê€Y¿@~¿u\¬û74)½ #ƒJžEu¼øÈ2 ºéþIm¿)9ÝÐÌ«’Ôf{8T£IëýHB!‡ðð!QWËO5B4‡ÿ:Y”`fä``ûÅŽNÕðƒ'Ð}H½ù#WÒ¥ÿc5üG¦³’É$PÐyÕëÜšy%0øùnªoH¾&z7'Ñ ‡ë†? àÏÐ{8!’›°‘rYJ+»Uá(bH³þ@KëÐ ›K¾JÕpFÿºF`RûF‘ŠØúŒ€eXNs§zr "Ò‰SJK±±‘Š'Üþãe;¿]U›IF쉽¤ËcÑOZQc[l µþx ý0¶ÅO¢¡m]šâÆ n‰ý{+o7oøÚzd°âÈÃחÐô`ÝÖ¼!ŽéÅÞýÈM¸ØåÃ8¨ú.ÚtY`oj8ÑÓ—„8h>¹äÝJöºPئ¨3ü«Î³B¾ŒU‚n‹O1[ø©ÿ›h}m® "w¬Kå ÈLb'ÊM´µm–ô­æY§,'”èM>„ü»¯êŸY4+‘$-ëTBBįxÀg7¡Ñtî7—c2)oˆæ¹:¶Zp`+4ï°k!„,˜Ϊ;;t€¼‚Sþ•¹¨MjüÎáÌgì—f1bNÄ d1¦Nx„ñã%VMqÕnüšö1#“¬4Cà87heê[õ E>ƒ­ò¢èqÆöÕX¬è¶b4[Ì,µ®X¿Ø‘Z[&'å8., kF“‚nê\Cä“ôæÆS/¢­7sÇb¬0ÇÊl`þ \ù‡O<²ó1¦ì£ýà‘ .0h7"ûâhÝá(Þo± £èõ•NÐ;˜;Å9Û¾Hok€P%r;Û¦†)AêùhiÝZ ݼ#ÁâÞ˜ÄÖË;Ó©]ý½"SþÏÈŽûØÙ¨U“ÑLÈ9Õœù4½ÖVFè›·\ϰ)· sî¡1”Ä€á6ÉÉí6U›)`Ï9?!]µKöfån€0åÛh›ã¨ü !ŠÍ´¦_Ù͸¼ØÍoî¶Öi“}ö°SŽO¡áI¤P®'eNö$Öi´5#éªR+êÏ^Þ½>ØZCÓ UŽÙ!Hft#é¼látï(Z7Ü<¤„g;dýÎè'„á¸ÃŽeâB›—Ï5uJU3Ô÷ꉜJú4½&ÝmKÊ2×Í­6™+‚Ø-ÁÆŽsS·pû)A*üé(t9U"RQ|m4éálÁiëO™Ò×raa¦jÁ•±dš¢têbÁïè(Úa‚Åúé:0ÅÕ#Üøüub”WAnϧ=Í¥znE2u·;xìü¸rÏT+G/L¬J1”ýXøŠVÞAµb½„Ï´ÀŸE¨¡ÑÓ“á¹–E˃šðL=!Š2c/"õ,ü’\;§½+ç±²£tÚÖYØ6ÆÁþ{"”—jH$g„ ½àñJ—‡-]˜ü (†2&e+4aWÊNꔼî\xÌëZ'FØhÄRrûØïs–Ðp®£ŒM #þµÈ8×¾ýƒÀÓ "ñ¨Ã5#ê/?·G0¡½#:Šã‚öPÜVº!E~˜à¦™ÁÔÒ&Õú®ýC5Cß½ä¢èBY)0Yú}I¿†»ñÀ$´•«‡ùq€]±,pÅ2%ç|‚µMçPª&-žr+(^öü¤`·Þ¬ôpÒB¹²¤¤KçvÏœlÚÏ‹w1¤]‚Rȉ´È¨Lßû­0ÅnBBŒà/ »b8 £È¾c•oÓ¤[û‘Ö¡É·ËxNõˆD+£Êâ7E’OñôÞ »1*©Àþ×?Þí™ÿÆk)ã{â߇pÙ“_ø0+{éÔ ïÍE)˜p%õ¡3x¨à¼gW˜ª ½º‡»áæ ÓÞÏc4~ÉåúEc“Ù!%)”9a:ù›PØ“^¢Å­S6xIqß…’h ®9uvSM¨˜yNý z¾¿§/FÑ]ЇÐ0æ Ènö¥±TòPIÖ<úKÖ_´4ð™³×·Èϸ: 8ñwêÊ6®ã’T³ˆ{oU( ‹è¡ß̸õð§rô~é0€Ý}ºSâ¥>ÑÄJi9!2~Ž0ßb}{HA¬–ŽïÃÉèïäâm'õ8q¥¨Š XüµI"Û3 ènß‚_z$±¥–‡Ùé,[k—þÆjH*ý-'IûZγÞÛGZ-UnXœ‘^‚ÍOUµÂ-sIRëU.Ö&±Š%†é™^&-FLÄ£È £QA5B€u¥š>óäS#é•Àû3ƒœ/Ì“´49®œ>šý¿êv  ¼wR$~sç]iß J -VÌeÑ Y•:z[ÑòÙªÜÒ’µ°rÂeº#„ÂÔHŸ+PÐòfy†Vþä° †’ò{}!–ùÑW':jlAÍ w;>ýפ4$Nš…ãnõ’A, I¡O˜p­J6koâéÙ°Pˆ÷œK¨mÜÜDmÿ{ûQfcGØÝ]¢B§>‡#&>:; >ÉòœŸ@üI!SR¯_ÿµþˆ ûL3³|ÖóìdÈ!:òcêûï¢ø ¦ó»F[¢!Øh"SÙýrô³µÑpÈs=Eª)1Â„éž $Þí^f¥p½R÷ïHCçÀ®Jñ{—Éùƒ“bô†û$³džÏv”ØH%-E„ˆK=ô d`¥ì-k;Uú‹Q\ËÊ_gf»Þ+ûxK§ Ÿé S›&â-×ýçäè;”—’d…KÁ ƒKÌ #_ÇûlÑ]kN4Ò!µºx‡Ú(TZðÕ§Ë}Ù5ºd® >rÖB« DsØä$ï ¸¿Cà¬Ù*Ì.‰æª=|»Å<Ͷ–ØëÀ(¼ó•¿FxHú¡sòÑz*´¬ÊÚ°ý;šd÷Ï<ßÙ½ ÊWdÆ9.~açñf0¸ÇX•HRh•jÏYñ£þÇÜI¡ËM@Zïy}²œôù—e7¡},ŒaQXê¡d厗 }ëÁeÓÂÝ‘¿g}?¶¡›ÅÛ%¡G™Š[:[kjm/>ž!/kŒò~ðAãÓ°ÝRÂÖ¾æËßlþèàä(¨~>1U@œØE¸Æ[ýÁJŽØƒú#ªm·ÙìE | Áq0)Ëeu ŽWèåHSª‹Mìõä¯îØUôkÇÍx¹ó­ $ƒ ýžÞ‚vdy'äÉŽn‰Í›BšŸÃiiGLLzí<œA*]ÞÃëk#Õ<7S매w·\.¢s›Q=Xûø fóÚD¨8´ýâ(F7l ˆg?í*Õ ¼%{?\*>ém }D•þò.°ÍªûZ:Ͼ †PQ—Œ÷¨&öA/Sýþ– „mhÇâµ3 ü"—õFq#XáÖ!Ç=>ñ{oÕXd[<–ñ‚>´`%q¥ÊáÀh˶€¨ÿ™ËÀEø­¿­üåzÇ¢ö¤¼Q“ôË[¥Ä槤ï¤ÏÕFH·¤r,ˆ"ç‚B%Õ—¸L¤†Œè„‘s­sXgo¾cÐ_^W]HQG@Ïj­ê‡’'•Ä…µC"><óþúK»>#·ªßÅl² ‘ó¶µÕ*|aÇ`TCl‰Îî+ç‹=,"×/¹˜'Þõ½Úˆ}†åe˜o.D܃¾Iís°¹BFÖRüztŒ0qúƒCå b[oÔY3pSÿ=ôA+@ƒŒ»u¯îÛóQ„en'¤DÊùHÇUÀ_t>Ë>[JH#5<罇kÔÈ쿵G kîŒ&î=| Ú@k|B&–Ì»ç9 xU*^ôš¹ULî®à)t -Òëþdõ9ÿH9îV2Ën/ °ÀÕY–Yˌބ›±(­ß³!ÏÛUÃfù›b@K:5+®&fœÇ‘µµNæG‚•?`ã•°ò¯MÿS]øù™™ù×#?¤).áŽ95Ú£õœªÿ Ãè¿A]Ü$Ùão%:øKX¶÷`_pîA-lÚÅ`Ž›0F¸¶ƒšúö!ôÔžŠ+€ ]‰¨,Iÿ›ä)‰]Ò‹Ô’ÚñyL¥AŸWX=Vî$—¤hÏ‚tÂÊ9{cV'‰® Jâ·"<$­ ½:&¡ 6#˜É €ššÎV4CÒø¶¶ýÊK « K)lŒ–eÂ\uÍBÏÁ†Qëß<ÿ„â&¯r»ÆæhÊÜÓ÷­$R-GÚ{%F¼êÝ9Ó!%9¬v <ÏBuaîØbBò @³ï‰hø7ŸèààHÙ:M8?‡–76ãRk2F>‡“,KµÀ³lû|E«ß¶ÀÀ”F‡;xœƒžƒQÏ\\Óº*ôGŽêÖ๢‹ÿß%AÓ:€Bã¹–ªòÅa|"¿¤­'Ý{–“»e†Ä•rAÜî#—ïo¥…x¾©Âb5”2¯yþµ›Ê1Ì{²qöŠÅ ?ªL:öq案ŠJ)G#ü(–7³"Q½CóëVœ˜Hƒîè ´Ý±Ê»F Æ}àÝ Ëï6Ž@J+0ßâÍ)9¼׿s`8áQv»÷„€g#ã[§hBåÏDÂc2Äò“֮ϓÄ&'®<ÉT$L×ÚÅϡŦíàh¼˜þTðã‹}ãåN‹³»Úó×é|‚ú*zÞ–úC…ôROá¿TE—¥¾Õ=ÐfÝèì0á‰E½Ûµa-Ô Ì4]Ñp‚;÷Rç•8Ùѧê˜Àlië®àûV«<¶Y쓾;»: \"ÚQ¡åSä¡)èæ·3¿0~FD·/ÚvAËÆmÌ<[X]Á¤tˆY~G«ˆ^¨÷7‰8ÉVN[€Ñ¥xØ~à°†»5\Á7¤£bp ‚9ßZõ±Î f?­åï;Ðô² „ˆÑ½›ï ¹£Üø^É-¹ÙÇUÜ0U%F‰ÄõM¾‰±³<ÀD¦ñG6³°­1åŽRsk78GrAƤÞbËy,/¨o  ð…xCÏ¥?/Vuœø'ôOVnW˜¹Td°çÒáôÁÒª°× ;{K ›j€ Ó2Ǭ m±qu‚ºõ¸Sóôú/H·Uœë&øª¯üÁ†×´+÷Ó1ä]œÁ®Ècüý©$h‰í ª•Ëd¾Ä<ž&ÊùdÝ—aœ·lAkv¬ùPc„”%Enõ5tê—èÍõÅüƒ®ï’ûkÛò[¶•‹¶<Ð+zœ—D9O›®Ìdz É\ûýÔ‰QfFÖוœv9¡ã×ÅðèÉ[ êÓ È·ETm~›yåÜg¿oH‚Ãâ e vøBLcßi½q¾)›„^XcMÍ,ù°Îá`Ö§¯Ò'^Áò%Hz·8Mw¯ùÎ^÷ZŒ^¤Ç 'YxÄi¨AY´âP`Z4ºª€Þ›‚1¬€¼’WÂÌöþË|øYo³ÿî!}2”àÒåǤ«ƒÝ§B 4™à½>K"Oç=˜‡J^ÅÁ&žgؤ®–÷óÖˆõKòsÑ´ÎIÖ“¶…x›`Ë£¶6ÒKux¾οcA©pb5»¨Ìïsìlê‡åTŠŽâ¼ûÉŠñÖñè;r¶·î è 2Ý/mµ‰h} ùZ¹rŠÑ½Ý5\"ÙÏ2J?Ž”·UP&=­©¶(.?v¼1o‡+·÷»k] L—9<¹‚ ¢Þ?e°<õ¬ ¡@ÕȧgR\3P¦¼ü C’Ž\˜HçZ¦C¢?¦$•‘sjxFL02’“JÉRâ£<»O”¢ëÝTT:ëºíàÚ,¥»è±hî5æÀ-úôé#/ðLï[…$ÈõÝ‹ã‰í]éwpT•õÒÔ{¬V|Vò:­~6-lèR˜• ÀLMàU ÞÇÍöŒãžcኦ¨EÊ0^´Ìæ&!‚ñ{»±Qw%_TðtHu„ô¯P“£xž\ÉÁ)N³oHûÕ¸?U/ðý­ÕvÓoRÊïîÄHD *µ¸þpßwŸN.eŸËHÎà‘…»QtÒwX¦µë »ƒ’XÉ¥¨ãœë%alóŸWÙ^šªƒE‹ÒUÃjß¼ñ·ÒÓ7è…ë/D™¾g°ƒÂÉb7ÕÞ61*ž1V„ûFEaIÀX:„åìŸÀšÉþ~ä­×[”Û–£žø¹ÚºX›ÖsÜñŽ^¨YÆè‘#hÍ÷u% sÛ?°®| Šr½óŠÍÌìÏ™¢C¡tß—¬Üð-ñ£JÆq³$ç‚VÏNflÒ^­¡0XþëX”â«—D«¼'uä/ÕcMnä¾óŠÓL(o€jâeBEˆ£¬ži¦F“J ÷¬°Qt¥¡ÝEíZLÉQ0¸,nž±¯'"ãî1ÁL¿¬-òù4Ÿ?ñ6ýSkY<øô•{28S_‘éŦ+T¡ò£ð¯•ð×ak߇‹ÒÎ%÷°É†ŸU³mI´³ã¶¥¸Šjp0JbôTÓù?¶Û*xÞÙ<Žu_Ó$iÉ=`_0¦´ý‰¾ïzÖŠÞŠˆ\øàÊ3Az™Ó}')Q„+S»hpE¶R ®è¿J8]÷Ï|`4zn—>Ô òwº©tágñ‹<ÐWR~Bì¡T„F#]XTïV`3ƈ´²¾ZÚ}VÀØ2r*cÕƒ} ­›ŽO…KdÙ¹[; ¤Neÿý™áþ’ù—ô^ð\™tÿø1 ƒ/ÂqYö,*—ªÏ$Z¦·)t?V"—yLHbéÔÝÙÏS, <8âyBòÛÏc½Ç`”aèl‚ÎÖÐd¡ûVÁ5e©ÝÊ ò,'7ìôÇõSÖ¤v÷Ü>9ù5SÖS¥‰ýD‹&!j ¿g8=ûü4Ò“ QäN**5ñƒœ*ã£Øëÿßu=”¿êO½ü¯õß7 ‰²Úütœ7}Úç’£Õ’˜Þ$„œÙMŽ¡ÎóÓ+)‰Ú DºÈ=Z¡›œÔëA“g¾o‹Ü&Aýy”ï4ÌDzDªyß…ƒê(åÄÇ’Vk1wKnÐÝÈ[u·¶(~žÐ'ªòf“Û:Œ^–zô ²K°½ׂi–wÌß" m8O™#TÕŽrT9sŒ.µà_…rä;^9pï[–?Å¥Îî*Ö‡wñ5!yú3ϰ›¿í¹V@µ«Ç,/î~„¡@LóÐwìYã¿”r8» jñDÇXgym»¦4¶võñAVÞ¦ ®z‡ª–_ÜŽÛJq(‘à9m|·„ cGDXdo±!â=q\­ý|þíøŸ—ß±ñÉ w9Ìù3XÞÜ¿Oa¾5c`çj"÷CE—šõw| P=U1`ä¨4—1MÐ0¤uæ0ˈʖ±X\\åˆùõr.(jr=´÷丗¼ucX!èJŽx^ÿŽTm)=ËÇ[§KÒÃÊúBJ£ЫîsÛ„„X7ñ ¿Í²­©š³\°³Ý†ñçPšû´Ã çfž«´ùµä`.Qw&•\V“wX‘ô}ÍíùNêñffêùô&›—iA°j01¤hƒÍ¯‚¨Bt9;bË5–>˜—Ë–ÛGÄ ^[Kj(ÌQ?8YŸlì >|·nfæ'²§ò¨ïì †¸Zll²Ce8æ÷¼À¶Ø·¨05Åpµ†H׎C߬(-:!6ð3a®±L4j¾Éð!Ôè¨}F+g¦×}ðå¦Ù‰3èLi—K'Œï•&ö8ý+ZBQMcß Iµ(Äêo\Å—(£îÀÊ)fˆ€ SàƒõøAçB<êÿ}wa÷à bß¿W›æª.@‘¦qZC†M-×À rS!‹^¥#ë‹Ã±¾b@ÛçíeÏ âý¿×Yõ‚R÷/x ?½ÅõBÈß ë©9±‚D­XZ\Œ]ðv »3ÌÃV°ÛÑ5@b'•œGõª«êXbOhÖÙ=CÙ¿¸-ôD $¨à((þyC'›½„7~ž»(XxìÅÛ‹+…y¬"%ÓÏ8›½–¶tKj§ÑŸ3„Lµ¦ß¯D‰HoÃ} ý6òM‰²ÐÌ\š‚tr!+⛤ùi ~‡Èu;K&®…?Û³NGÔ.•P W3ìk{‹wiÚ¾R½U‘–àÛÔþ–^7ÕÖ^{ë~IÅ<•AUçáEH’mÚå´ßùA3nM…t'Ï1æ›lMÈ¢9ÕìɽÚàœ'‰ä@σ]€žÀ¸Îï¤qÚp e˲$Ø9˹ßï2—£ÿY{Í3iã“AhãÀü©£©0°?'oÖ‡8ß<§®cª‘0§{›ª® fK³MeÛëWºG>yëL‹~)YÁU1?¡<ß>X¬tcˆï…¸p³ªjî‡òâz‰jøÕß“|ºÞÿHéd›hV`S?÷3ªªE…iÓ×õ’W/ëÝ*”¨ÖKà¥-q¥ ç`:Ø×<\²×ËŸ¢ãÞïù… e]bjÿˆ$œQ\ÌÇÕy¸Ä2ír™·#Q-’™e)ã¯/‰nsåéÍ[[¦ËéÞ§-KÈs„¿‰‰ß5ÛßuNÙà³Þ}qOC[% M³0Ó¥M;á èCp£ÐœÝ¦ÿÀFÜ»ôN.æ#ù¹„Ü_Š7cÄ{ø ‹´›%Q¨–°$ý¦òZòÖÈN¬£5ÎØ{`¾÷þ.ÖÔˆæ}ó¹ Lp“æ² ¹ôkpd#|ëÈèbL!>Ug0+&ÖjEŸîûŠ¡³'ŸÊ`\gÊYHépЇ ¦ï]8äÕÖ¥ŠßfUË=ü‹q9|ö*ÊVÝ{ôoìTáŽi“äÑM§“G“[ùZÏØî!¢/ÃÒjÃ>¨"*VT‘ÌR½YZA!xŒÌ/;ÙÿûWX´_ß$’“Wc#i.Uòd±ýšæ…!'9ñN Ô*C+«;O¨î¹-¡± ñ«JÑp¯e êÝ·!ÄVêîyÄ«:-ëá2 H0XšÀx’Êèø’»«¾d€V+ýØò¨±œ¢l=„N®P“ýFˆ„°¶¦Ï=Ó4hß-ð VZÛ‘Fwréõ¨ÙÒ6Ú84íÊEòèWºI_\ º™ƒ$fÊu<[Ó{åoù!sß«‰4-á'ë˱ˆ<ÀCƒò5¢ŸýÛ„¢âƒ¿*° •ùŽK¹Üe¶h€£AVî{+Áÿ#lIóÑ¥0Ù¹ÓëâðÊg¥"<}Ö¥y¬”û¶À@ðh¾?ˆˆ@ëçÁ£z…ç·ÉÛ)×ïí:£ÕÊfwG€k”F»¶´‡šh‰æm·|‹W|õÑGjXgŠ„VßàÙS‘ºòVËŸ•8_±¶Ä‰ªª,Ž•«:ÏjHÊD¸ƒ/A{3DQªTsñÖø›zŽ6¨á,ÝšBs°D­ï)«Îi¸|k¦Õ Rö²z9eؼ)íê‡2ýÈs§&"“èóFø3ÐÔ@=”îg°–>Œ-…žIA໓OCîc;6g+ûoe‹i½xÙY7G~½³ wrCJLp§ßA€.®¸õú+*ŒÍÙÎY°³÷øf#Ç´&mª‰k‘’7ËWØëµ†ÇÖ£"V¹A à;’Æ–ŽÒ+.Cë'Pá.¢BMl¢¼²#rNqÍèµ£Û!‚SÉN?ÊN‹g4,òéÀ]ñÉÆj€¥ïöÐïWÆfÃPé%fö"¨:~ýÚÜ_ü™Kúår„m@?aÄoØ:¦|zM•ÙœƒªM˜uÄÄÉ!§*¹#<ìwÃV$27g.BaÙN¦—«QßaºêÖ®K*¼ 3&Zó·­\+‰qٲጛŽsó'‘ŠÛj¿õ^O+AcŠ5~À½šµÙÑÙÓ®Œ€€–ÊSÇÏ|ÔÞÉTÃF‹»ö]بë<\%ØÁÙ(Øá4i¥'4ÂôÒ.EƒßÀêDwý§ôFk@‹ÀƒóÌÖQ¶Ý{dUuœ•¾™ËÛHô¬ÿ³ ²4~ëc¶ ñºèP¡ÅnrŽ0Øž/l‹*g_¹Š UmmN6d»Íè®Âò¤±²OB´¸›Íy¬9îEËk‘ÑpËÃi¢9)µ(æ‘€ï.æäVJ”ÖŸ²v&nÁ÷“XºÕ&Ù³w¨¶¥ ÷Pá}Îb³Ëõ…ñ |ø¥|ÞÕŸòJám¦eù,¹S0‰x»y­²¬áãÎJmH‡+8«Ð@_bŠ~ÇE¦T|ú/H'n`ùKðIxþ"âÉ=œ7†òJôÂ-øk}YMÇT,Ng¦=œZöŠú%h@õ®ÈÈ–L]ÍUPì!S¢q‘ÕÚhã]œÈ/ª'èR’Ýî”a‡Ô8ew€o܉²6;DÚ­¨Ùõ˜£ÇLøK™¬;‰JÓ¢HS+‚„ºߌ[¸‘°úêú8Ê'€s©Ö.‡"ÖÿøèîåoTÜ 0ALbc[«¸Ñ¡F÷‰¾ŸüœÃtŽd¨hÈó÷xÝ<ÄßNTΗýÂa¿ ˧ĭ3uÌðŠºÉÎü2P”€Ë–L£F¡ú‚:ÏkF±/?=äåX%4b0€Wæ}óÔ Ø©ºéËPp6·ÿª‚Il"P±R«¨ÒŒc Dkÿ5Í‚˜ûB’O ØB Ø¡ågùXYóF׃&„ò/3è8I@ìÿð2ëÕ³|ÀŠ{”\K±j \³³Ý• ¾Ü™9+­5l)eéÙêÿ¶¨ï/(“LB5™Lj‹ið—Ø"™ç­ëI9Ãû\PÃö'Rs‹wÍ̯=ú<Ê!å”ω·1Þç²qºbžaD/NOSÌéèSCB-G'>‡g61ÈÉ ‘ %RÛ}Øx#M¢V1yÛŸ¯§Ü ŸÏ¬†\–7•HSâ·D¤P…5o,ýbÿÕÝgVË&š;g [Àþ,³jÑãêo{Ó÷yÒåDy§Éýæ4›ÓÒû®ñm^Woo–ñpô×8ÈÁ±mhóÕO%UAB>‚]¢ƒªX pqûÎZȼr¦øå”y7¿xxª‹kMrhÝÔówU¸ä€½àÍ”y–Îꀸ ¿ïÐ7+’9Q1&ÔÉ͵.×z~#œ÷½jñØØ„³aÊáççÚÌÙ¤Îù‘4{njt}¢ÙXg´´ Ö»‰â6cö¤ñ,~Ô†›ƒ-ö;‹£Í8ØÖ;ã‡RKøàÒEØ!£ü'c¦!QFy^KÀ8ŽAíي]Ægî/£ùLÓ?%ÊŽÏ%#ÙEÿ†7‡8ßô»åÌ<›×™¹ÃG|{ú5“=n=€IÚ^ù”Ú08±æk›÷êâõ­WŸyËLIyth7J$‘£AÓø.…;@ÑB ¿=µaÏŦÙü-9M™e‚ñ›6¢4[OÊ ùðæ8tŽXnvûÊ.wìH1†RÇSH㪲ÂhòÒŠÒ[2K¸Ät`ÍRÝ[N´m~2?òeÿåäÞªµÙpzÈŽmØkö_î:v7¢ÑÛÿ÷å­¶›[ÀÛÀ¢Š¬÷_Fo1ádÉôôôB¢ƒYÝÙ³¡õã¼¼9‰Z2ÇVÀ0½:³»«(–îEà˜é‘fÒiÏÄwÁ³ôÌI’þ}„Äcl$ŒôÔÕwbÿžµ\›|w3Q‡æYüŸfÎÛX²~û:×V~ý©Æ9Qǵòœ\³jDЭ~s¿… ó>ñiòÅho«ÛZ™–ÖX)Y9t& Ï ÐýJE¥Þü,q`¢.ÒD"ûiŒ­zÇSûE×o§{etå×¥¯— £\Y±«êFµ¢¸2`°§*ŠÃ.\“œ7ihŠø²9Ì÷­º~Äg™ u¢’Ò•¦ÚËR›@ÃbX’—¯oˆ 8XÔ€3Ȇh(*Q´ ›?)ðzâ^ÚÖ3ÄVG|îŽ!½‡Ln>RQ¶H–«§þìœÏÚù{¢­"Ùx% tÁ‹ÃÀ?C$Ìí%¯[`½ßÍ`Ž{½v"dÓü¹ä ¦·äÏß´jI%³¯–ú²°ƒþ =E;£Î×ðÛJ†" L°í$#É) ‹Oµ«ç–Ìd¬²i’Î]32˜-€¦½è´k6ïbè£Æì0ò™AŸ›pñFu;}&ŽHºïô²±£¼¿~¢œèx`<å¸ë pÒ°V§› Ò Éœ`jÐh"‹¾9é+&V…X÷L•çB7D+b„“6a(e¶‰‚×.¿íÜžþz+¤ ÓZ“¼'ØÃ~Úø>ŸAŠ;3•‡€p_º|¨u[- ÷Z´÷öo¸WUX}:ÃãÓr^xÇüRÓëð Úçv]™ì²ïÙ[3s†Ÿ Ö¤QUÄêŸþƒý7´GžáÈæMpÚ7 |– ?jP(,˜ÉõÇ 1™ÝîZýfÞruÂ~Sm ¹}µ²}··Ô’Õð3Ä]ÅA)‡èñ‡°ß H¢œéç›KýçìÓìv÷Þ±ðˆ­ÂúQ½»=ÙŒÇôçyW­ò2X[r$ŸÁsy°zßNÀÜËÓèEµÏwf8:XÝœˆÊˆO' ¦DOdãBd#è?Ge† žæ££Ùå8lhŸ–p`î°ïТjföe”vLæÂXRj±fåSˆç϶í¦Y‘? ÿX·ßuu¸$-CÒm§õ«ÿdšÀWÐÃYãü÷(!¢ßóáO Þ†Þ>мLZqÍ4˜æ|A„Ò?ˆäíè«§ää=Ze{´Fw~m1ÎâþeÙ´ÜÔ¯Cû13=¨gÞëÛÙþšFÈ‘IBÁv¢÷îêÇÁÛryt×µw•¡ð^K¦¦žÔÖ.xðb]þê2Ï£Z÷ G=òàlD”¬KÃF^ŸC ]ÞÜ×-gtðÏ”H‘Èõs'þìülá;Ãâø¦6ù2­>ól” Í÷b},Øð$ô… ÓE 4mÇog¸Ñ#Â2 Ž3¿˜ œò8ÞÉØQUû“©Ïnw— {,K}‡#ZìUÛÎ^ æø^©H¢šÐŸb½ç3‚$1Qòað5h³TÌùŽ Ýè)±tžID'¥[;,ìRŽý;ÔW~]Ç’&ªªðÓKöcPõ6lð`™4¾Óg™EÑ6BšVd;êùV»/ƒž äe•؉*1Yd¦°ú +ˆùªöŒ08amܼa,0Í»äf`}È]>QüÀz½@žL‹pHðMÈl"–JtNõÄèíV‡;ÏZšð<X³`w¬HbÿU(K]RG›XëÌõ´ ô·B´ÑÈÎŽ5òvF’zé¶W6ÒìüôðßÑŽBIñ衟Szߊ.I'fê‰5îΕ•wû}ËøÖMnEä¢Úˆ<(·cèâ »…þ뤸ìĆ8W0OK>fÓÜ‚õM´$-<³;ú¢ƒAs]Kê«ÊÌ›K£ÐÇC+é]êå¬|a¥1$‰X„ËXTØS'N '²^¸Ç¼,ò„ÃíØXv`ø­s€½…$=^ûS¬·“™¼ã.> Pr¯íMb¸é2ó€,â0ѵ3DìËâ[Á€”rÍ]®‡K¨|R»0ƒ?ì‡g\ ‚Š pPAòD¤c?GaR³ç~bJAmÄ1æÿÊ4óD-«Þ¾švñ¿.œE)Ûu ‚Ûäõm­õ±yâ‡.b"ªÙuwÏ•þÞÔù²ÐÂ'Ø·¹àK²Ü±—Ía_ÚýD™*xàÚ^Ý<ž¹m +Ó¤\wAþ[M2œ(‚RàªåÏkADÙÔ ‘à“ÑßÐï4ƒ+†ß]¿ÎpxM)15ô¨inÊÿú“Õ×ÌJrôNf/ÎéJ²Ù\5—ü_‰xþ¡†Yþ6èŸâWlø9M=xÆêLšïbtAÚJ7D)ûý”I£vv~?è^šƒ¹Zþ¬°Æs]“7?ØpɘlÑx“ê$¶DÌ–¨ÜcÉŽ¤fýù±„4ð^L<ËJê‰ Âu¥¢ê0—Qaª>3Œj»)’5¸ë’þvŠŠ€^ê¶} àP+ñ7Å":åÜ7ÎÕçoÁ€ì;Ûå5x‡íb'uZ©}£:!Ž¡—c¨}«¢¡è5Çösæé·wï>:³MçWÓò—ïqßÑŽ%»Ó>Pj31-lö&)hÑʹڴ¸ß®\šô}ŒgBŸæ;N ¤· ~é—r˜}ÐÚÜ0–º[ÔèM K{IîÝ«91YN;@–M2‘c>ö'´f^uÈ(7IeÅ +þYp¤Y2 Îu4Î×6Ýc4)QeŽ P=n[CÖRVÊ‹ÏÞ£¯OOYi4J6=¥b(ò'Ä2>gÑFù Ò}öyʨµÜuZ̈́׼o·~£ñ½~-Å‹¿Ñ¤j¶ûèùeÚIg0Ü1ÑñÒíø2¡í³´eº$ŒPy†‚›)!¯ì±›( Ïlt+L¯°³ÜàU«[é¿ÌŸõ^ åïQA«5äù§Úq«bEvÓ¸žQfƒøg‰äƒEÓиÄ\\è ^ÄHÉ!wž4—0 MÙó”ÅwÊ]|‰å퉼:‚ ‚ÐDTÚcÏ?ÊMî£@º<óLg7®³P@ ÃÝ¢°áA<Þ-ÎUL)WiR\{Š1²R­…Iƒ4æülÞ5„­È=¾Zc“â¹GFLÓ\¹Ñ¤ ~‘H[,´½Ó$êV20 Ð»x´•\Ë(ùDFþ…C¸bú§o&)°Gݯꜰ ­ ¯ÁÍDj‹Æ‹K£•Ÿÿ‹åîâ˜ï@Ô'¥»u†Ñ$Ïà~nÌ 84Ò”‰M•ÊM¤Oü7ÐÿN2Ï<Ûô7ÁÊ€º6 v‡]¶Á㤣Øu´d<6Ü?H«F€[x²a'wåQÌüKBÚ·8 w0ƒÜDÈ&ëá l›à½œÇÚS-OÑEÍLR8ï5^椱Œ0é¬ÞÕyÀô¢±ÍØzµãÂ…€(UÊ5V¢"W#”ï{¼VÂ=Z4¬Á$i-uV’Gú T%„Dí˜n‚³> Äw„ÈðÇ"2Úc#¤ÆÍD ÏW;Eý¹ozæÜñú"µÄ¾C&[“û#ñ£èaÑ×0yáÔïÃÏœMŠ?ˆdk0ìlˆŸr5u{p§¨˜r÷Hn„«<”¯Çoüª kœ Ë œ›ˆ&k:¢Ü_ëiö£‚ÁCU•‡x¯tÛoA¿ rÖyBü ÔèÎñˆÞ ¹2æ¦*ø-2}96$“–¨IM5w&¨œð¢þºÎõÅÆ«…ÞsjL35–Hç¾sVqëùMõ{12’Y8ä¹Ò–¨MddtwFãKÊÑçâÐü-Žf…Èf ˜è ¾Ò=Æ[ªéIØw>i¡Nj¶¹‰Äámñ½Ne íæ«SóÔè=°#hçù{Ë}ú­Ûå@y\xsôªGöž­_¬£Û¯@Ö×Ñž± ï ¡ˆ¬Ý—×Nޤ֗YXp<¤él“}M+±eÕÎ;íSî|¥>bÓ½9‹[-aÓˆ.Ð& @Ô^/ '‚×—lo¹]y¨ÏjƒO:uô(O ÄŸ×uq°Üdó¼ÕÒÝ¢ó®ùb!¤Ök8°&[·ï3ÆzysQ–&˜SðšÚ~lºÔ£‘K E<Èc« ºO¿g«6ŠÎyXÓØ'5¦uù"lJµÎ $Ýèw’¶–;„ùÆ=DúC ‘CÕ*ŽLþÇp#/œ9Õ©²ç¯¤c.ñàgÀNB3nxûyÚtÜ0gÊjVc—r¼rÛ{•#ß¿™ÍØ&ñª:ßN± §¹ŠDuppÇ §,DC…*D, ŸÍ_\š%޵Ö}|'²ÒÜ=Q¦NÊzêV×ÓbÎÖù}êyDrZ§ˆ^6™x[O‰YI£ —ï·âΰÎa—ue-‘ëR›´v3 r+*WFqÇɘÊKíBò§ü„õ°· &N› ¶ÕF`ЮˆEhÙ£~@Žé,£Ö_ùÃAúbpÙ5þz#ÛòD»:ûHîï1»æDtºÑŠ5L¶¤º:#ä84 r{#)hKïÂã·nk~=a·át Œ°¡‡³z!£Ê9Ë¢ÇÉ êÌÁI¨y¨ Õâœá¹Ê–þî™ý.û`ý­•^†ÓœŠLg`ýÔ…í•‘µõác½‚ãÄQO;áÜ,ÏúœUÆÛQ—€¯UÞË"<Ø›ÌsdóK°X³D‹=ó Ydù;ç&µÓ9³‡ºo[Žyç©<Êv§þªi›Š+†A)°~ä.Õ×-ŸÙh µãß•q ô!hl3D{ ƒ’îBñÑÒå+&ߨ!Lmmv6I¦/Ý!ÑÉØd¸¬~…ô„N+7JF˜c£„svöù] 0ó……ø:Ýݦ¼°Sü–‘b¥ÏÑË_ì­uåÆÐN“¶‡’ðŒ˜µç 1-–±úUþ¡lsí?  LDj¾µ•Þ<}%Ò›†°mœ9X–÷¬%£éŽíC.=w@i1x` ƒ·áS?¿ZáÜ–\ÖJ?ðh4j*ÊJ=ðÓê yä!Ç É¤ Ø¢u 25ÎØ& >ÿßÜ?KÒœ°¬ÒÉŒî°oXÆ*÷Œ°Å^ă'Z¿ÛÛÿ¥ªMAˆ.`©ÕФ|Œì<ðÃ5ÜË€Øèéš>üüDöý„¥ïPù~Ç¿® ”k˜Ô·Cص©¢€ªŽ›ì]4¦¸^®×ކøí­s[4±/ËîÅíêòqÄ«³pHÖöv1O,ÚË0'û¼nnVS¤_°¦Õ Õ¤U^Êîƒ ¨ù Ÿ0ì2L„˜eNˆbzµÛ‰Ð-ýÇÆ)ž})l²-šôÝO÷Ñ­ò@KJEDt+•ÃfSœ[ÀýÎ˪¶!£ÚCÑ´¢¸õ£k›Iª²Ðù×Óë ŸLÀ)Ë×B8Ï+)iBu_]k³câ%4ä*šÏ‚¯..¾ò¤ú˜u°X *‚’}ÞØ!i8ËúÙMçïS)ã]IÂühy2é!ûeH=^®¡èÚ›+‹UÈPÃï\wã)Ûkø(áè¤Gr¯…œu0:ËV#ÑàOâ/ºŸð“bÁmïa˦C½:1 L>èV„fÓ+ÔS×÷–(OÊ~H°Hû7~6ky^Õ²nâõ†(ŒÃ\ur°]YKf?˜Ö ;QµbÑGÑ‹ã`2þɤ2öNgÄQ­“6f÷ˆWkÛ åî*¶º[2&àÔã}D¥BšgÈYÔ¦‰½XºYnc"ÜBd=ùÈúñŠþˆ Tfýû†’3–„Ì©pg·bAzÏ š,·„1 ­jžÇ‘{¦Á,m&v€HÓ}¡+ÛÊ8âšB…Ÿ… ëB,/¸ ø‚Õ[Û•;§‚²[qW_þ»™·\pkapsøÅœ¼[™%ÈŽyD"!ÝúDø5¢“2j:;—›œ±¥³3C@ºµö—‹õ¦k`nº’’e­¥ò 'j]Qñßq挽ne®sÐs×IŸó9Ç ]Ý<>¬fդ߉%\ßNÞe©ZCÈèÂW׳£#bß>Ìsðréûú)X U7µ§#ÉIf›ÆÌíÕÈ;¼Û§ÖXoû“Oµ9 ]^­b¹~CÃc’¿çûaó‘öþßôf¼$’fÄödºK ,ký„•=ΰ¾M~Ò¾o;5jîÇžàîµGieeùÞ%lNF6vãýFgâÔ$²Ù¬e> .5±jUB·CLÜ}:?ÌSß9ŽØf!ý;“ÕþòÔ8”ãß2÷Ød` u::%h$Ëðpæõ„4ƒ Ø¡“ ÷úUb3Ÿò  ñ;RŽÏì° Œ£7ÚT.ÀLA¶©íN´q)›Z[D©íróe<ñ!Qí-G450ÉÎAiÈãô°]lË•ð;¿{òBì¥<Þ³÷Õ‘..ak.ñ“Yð9w¹Š6çôBSñú|Úº¼µÖ¸uª—æQ æK&pˆÅÓǽÃZ‰äaB£_…̈$§ÝåÓɹ"¼~žàW’½­hÿ½ÎXùîÃ4,çXÅaÃnáÑ$µîýgŠn\€iç/ËXdšd²ƒäÙ- xM«''Óö a‚Ý‘êƒNf ì~MݾºʰÞñ?t ßnÇMjôÄ\ÑÛ—ìõVô}Ý%;VÅåkÄîYIèÏú1¯_XÊΗD|u3ÞÂ` 5=פ7xëÍ!³àpp˜°7àÉ@*d”à [_‚ëi ¿Øª0SyÐÙ ¿˜À½åBÒ¶ L36iœÙKJJì›9lT?¼ù]̸.kÇÈ޺…‡S’Ó3ÚÚ[<Ö!S­~è$uX§ì«q6ë„¢ªdŽ!\Nõ+2ê'2Ï‘ð1QËÈûkÉ6ÂG~îž8n8}3»Híºï¦%u†Y ܹ;žþ–z¥õ•µ¶*Jï]S &Í,¶±z˜½¡Qgp9ÍFQòu'ò QÄ·¿íÊ EäVìÕ*pñ× ôp¼ÃìÅ] ÔìÉ›÷Í%Fº§#vŠ!‡fK•¹6 QBÞ=¿`z‘ÿO ]•÷Çn½µÄœºÆ{˶ʑ¼ÁËMQÖ¥Z-kû“eá¨ÑÆ^ó{ý–V«t.ðf͊ͽ#¬¿”…ß|‚ïBßbØ^.gFZ»$VÑô)ìͪÚA*›R–V%Íœ˜böNAèo»å©³Ø`<æH8á\¼ì“™eýß'8¶IßÊ(«ÒË¿üwÛ=ÒóFG§ä‘ë8L?I+ò›†^Sžzƒ|º]?d“s©WI±ßž×,¢Òô•Tr—ÝÙ½Æt£”;ö%ÉŒ ÍB~üL[ù ñP@*Ž#]ý3o÷1ÑÆc:œ÷J‘=³Ó”pì¯ëÐéfâ…>ô÷¹N*;êŒ\ARª ZSñ|‡§Vô‡vD…‚øºÇ«}[lG’Où К¢å®&[G;ü¿¸üáN¾î ݶ±¥¢6Ç¥&§3(R‡Õ…3¾1I–ˆi1èœÛþyá-ø"½@ɵ°²²(¹4'KÈæ‘XSß<à™F´Y~f.ƒ\j9Nç:ÆoHžà»ä­íkíá€_v¹Èɪ á&‘!G‘<=¯WWÖét¡|ï’´s E3kÃÞGE©¾ª,†h21A»ñéO›$zɦ^ÛdH£x ÖN_a¥€•ºîR.¬ÔŬNâGŸ¼R"†á—{).kA€JxmÓóú2p~Ê?ktAˆaç~üOŦquûYèTŸÜŸ°&Bî÷I¯w ›MÊu¶ù9k~ÿ8.ضÍÇæ‘q®ûn–×rƒMºU«éá–”˜À7èå/ànô[ž ]|—hó²‹Åd÷ƒ‡¼~þdÒ–í*E–Ò ©G‰S®“TÉ8 í 1wH’o+!À÷¡'["Ë×ËaDfÕi–$2i`q÷øý=ð’:;#«Ò=âëJwíÆˆvs32œSF•‚ª=S™~ÊF¥©œðé«…¿yƒ‹‚êâùÄï.f(œçÇ\ýJ·þ8]‡ ËÎLSÂ-é§Ûót2S‰½ïƒ m$›9ö…잦 o ½¥·v,¹Tf‘³ƒ%x÷fA8¦ P:¿´ó`T빤hƒ@ÂÅJ¿¡UÇ„ŒÆzØSÌ噪ÝË^g´Þ˜™íEÞך©F è©$„=«lIá1ítE;‚ÙÅE àÁæO„1Biðð'Hh¤º°üÙ´½éœS‚Ü™=³àr’\ô!ÄæÁêÉÄ×~3+\à&I&~â$˜-Ãîø°nÑ—«ýм 4bCu²uõ%ow¦ü³±A´’¿c“ûØJ]ÊÒ³ùšøz üÔ)OU;Ê'n?¯…îÂ4(ßNïfe'k\*™Å\¡»'a#ù¹¦ix”Ù«\} è‘Ý/ùŠ‚£TaýtÝ‘7òá¹* •ú¿˜¤J‚£¥9¬g3d­³¶gÛŠ’Œ`áXæ,ôâ_ Ñ”¤Lò%Pd/ñ\Ý5—ÌR®/o&({úº&¦¿Õý²¦î¬EnësSà®$OúZxÕ–| ÔD<¢¹@õ £5(ËýÛÈh˜ËSš]oÎN|YKÑÊc?ç9)•ìî>À÷n O…Oº´Ù¶ ñ½?Jµå©NŸg‘møD¡óÍ'ÑU´+ýØÇ)ƒ#Š{Egÿ Î[³Õ³J»¸{ðî[6È|XMú·vÙ)¥’ãôÓ7³“F¢ORÐW'OƈI‰åÌÕvW¸=@2R{44 01|¾ƒÙXg3­æÞ—¶7u߻ӌúdÁ/|¾ÿ¼ãk6˜EåUü;RÍ+äðãEpÎU£BÕåò_=öë6aBØoùrÆÃw¦cÐów³>bõç¦U‰‰Ž€^Ä:€l©N0D<¯œúkÔ<Æi5˜Ý]Ö1H(¸ïÿ·Øà¦p¿-ñò™Qk·®ñBÛ3Z„™t ?®xõ”òR«W ™@UwYž„Bü×A .$Ï"_¨L£rLJ%¤¯öâ+挪R]^ŒæAÏý£ç:Î ÒËÛQuÚ™eÂñ¹ 'ÛFs‰–éµ§dŒ 3M`w€Öÿ-èU¢<~QDcÖ3Oÿ‡Ðd„œ„W8Ò”oKµ½™ —èPFÄ¿è÷”C†vÍA«k‰™ÁÒ¹¤œ{fØÅQ4$›‘“´’ô 4L­*-[97&Æ,"ü›ÔÖo ïëùG½ øx|%í&«bå »ò™´Û ûŸ¶( `éWâpÔl=µžô4Þ¤>ÁƒÛ¦Þ ý¤ȩèa{¥™3]›·TN R’0™wÍ•C¬ ɧª,Òñp’`?£Í× cùý¬ÃÙ8¸2.\—ã9‹O+·Éè„<¡¤&à4UÄWöùý c˜ê oT+JGhÖ­WÐxô+õÞq c¹ cgÚ˜‘óç°‘§^¯(0$ÏQ2­.•^l¶7)„CÊ]DPâyy×1Jï¢åÉŒ?ÛµRHc²ªÍäDŽӎ!Á\ãˆÄ ¬ðx •±œ“LY“nÉ‘J¯á¹\"r«‚#ó ž&ŠËŒÎÑq ’ŒâH¨ivœ§ó:ÕuÜPnÑ"Èo2í~wG¹öÓAð Mƒ‘TÆóúä×ÁÄJzSÂIÙ3„¾Jqø.öÖÞ¢ØKÕ|%®Lm°²µ0x+=”ª†Êó-¶ :þƒoáýVÂ4@ÔDÙJƒ‚Ä€©%äQ ~\¸Ÿ‹j>†¦, 5TüpA°ƒBPrëãÐÌ€P<ÜþPÉI0„I ñî|kÝ·¬È[ÿ|Žn&ñÁÚMïŠHÆŒ.M»  æl›‹I†zÇ}ÄB $8”IAh®æÏ!nþ+j»… δqªd£¢‚ÂVorÎ>¤pÕ37îï‚÷ywm–ÆN» ÇTŸ_ÃÅsAr)b<*òéj¨ˆ•ÂE!<þp΢Žùã³öiLj‰Oªð îw€ ‰“‚j"e'Ǹ™ƒ ˆ0 ÊéKHpU°{ÐîqA¥ƒ”EÌ“!_PFN…†˜BgdÝ{QJ°¦[ÇåL-õ¿dªƒò-2PÚ„w@L³éóúûõ8Kñõ*|ée7"É ~ãV?¼@z6°;Á3n3o ðå €+9Wò´fHRÕª>ì!y‹0OÔž¿ö^Å“pÛÒ“mÎÚÝí76>4æú±Î&YV³ã© ÷^²ém¢Î0'3:\ÌuÑÖÔ  Ïcò®à¸§—°Kðç¯45ݤˆ­§ýj¥=þh}ÀÕÅùš/§¦ÙjÙ—¨Îw„b<yÒÌ ûž±Njá[!f;„^ÏO‹‚ú ³Lâ-<ôpe™z wC¤Un ̬0’\SfmÀÓ5ÞY*Ô|¤‹“ôê$åÇtHÍw àx ŽigÃyÒàäuT,|I´Uáí@C7 •›Æã‰;g!N8 ¹†ÈÖ­¥3¹^ø1c5> pÞ¤¯ÿôrï6‡üöì6×z:·Õ~LjtÇŒºšÉL*“î³…¼º¢˜½!ñV™42ZÜ\O¸‰¨Ø¤<´ùR@ P¦RîJlÉ;k»#žsÕÕ¥ÎÿñÉöDÁ>ØÙ‰ÎE‡Š:ˆäì ^`C˜V’6ßó*¢‘8/>‹÷cVT@>»´52錶¬¯KSÓ&}|Á€"žë>¶«ÝÌÄ{mñz=*0Pþ7gúÒ0Äq}C#5:Ù^QDAãÈ”»ÉÉqÞE]bÇ×”ÕÌÛ2ö2'¶R½¯ü„éqq€¯êÆT Æþ±GxB‹ÿgPÂLxŒ®ê3Õ_ŸeáeÎÝ÷Òð‰rP»nNUàÌ•¨~iÒT¥€ÇÞ|ô&ÄB(nQ¨©he9>û5œ[eßÜôÆ«¶>{éõ玙L—5†VIít2âðâ_‡jî@ó‚×ÁÃ<”îÛцrôÕ.Žg¼[9´X>×19t…ä×r'GÙžeòä;~Õ«¡ž‚0Ô«rL—½Ò™‡µê•ÁŒSaù¨öËÂÝl6Ú:»GĹ– dìÛ’(Bn²Ïúäü‡ë°døgh+DŒW£¼—/J› ùŒ÷¨ïãÒF“ÅÀ›‚iüñ†)sd¨é˜c¸=½¼¢ˆÇ®£fê2ò9ð-ÑÍËS¬µË .”õ…² ÄÞnEù[¹Ý†dm`“ÚüJšJ1×&ïÿ^QúfË€Ép¯Tì¹k?c&…8oTV„‘Ã3T :ªdçá¯ÌŒüŽY4 ±dy .÷àêþyQ‰ê© e7Qõ*W^ ¾+ðÀ[;ö£× ŸæëXÿÒ¡ú«¨ÐW™á@r$;]BŸJ8àIi† .—‹{ÞÅ]]ž› ì`»‡`þë”åþ-ç÷üF ˆ¬»g Øè8zèÎA³KîI*w¯ÌÎÉ ¡IšôXÑj‰›‚;!Á’wŠnï†õ¨=«x/3f9ƒWÚsgÓhÊŠ³}&”m‡Ä¯G—‘pŠúw §Ðë=‡Pü‰_Ë~†Y„!õ#jCîЋµù#ÚÉ"1ÃøR•=yÁQGð$¸ÅðS07C¿é¼›ãýŽéµh½/‘áN¢cH8°î2!æšFújÉ­íV’H pL :‹éùsaô@NÄ&y!¾Ð+mîSÓÖÃâSjµ~5DÄrÁî>ˆž÷øížÞÀð91ÑäœFÜÉ|ZÂ>íЂ%$ÓÆ«Ëóybòñµ´§Ö œÀÝ|§gü ©¥¯7 <´ yvà lGii씯§LëQ¥:ÕGGo!Š—oõÏ©Æü EØÌ‘죙_'`Ãk¨ê©ÝúÛñèZÀÝ€ë(m7«I¡¿Ö§5îU§sþsäÏ!«£MµR›Ð=†VÓ§bôâ^)„è@³Mpþ£%ñÇa$>«€JÈWK¨Á*ê“@­úçó:¸{5ñš=/]ð ze'ÿh4êW]4 1Iuš}ŽF:ã#­??M(ä`Ê¿ !×Cf.Æ<ûÞô?R˜ íDÇW½áîþ—ôÿeò£˜{»MlDÖjÈ+4š|daô Ímù§1}2M£„N¼úÙ~EÏÇi ¶ü`šmÅäºäż¸y‡ØÐë©p$ëÊc¨6#•&¾>@þÛiX'Vv”«½š…ìQTj$_—F¿‚EïüEôt‡h u1„û'sx©[¶ ‹C¿–~žÈ„˜‰ñ—<òÝÖùø0ÃFÒÖ[¢ËtnÚ úŽû©IÙ (WÚÁN®(´ìÁ'#J&:‚¶æý8Jý¸¬ÙU§ZªûÃÜ´±W⼺;GQ:±¡¢F_GÙGô> âj↌õ®Û®<Â~4Œºu˜†0 r¸ôƒ )–šb¹o›~(3ÉŒúfkoæÄŠ=x™b×ü(é¥iéCj§¢ýäÄÒAK(颕£Ä®ŽÓy8Êw”Zq/"=…­F“o¾|‚a“>¾ò—2Û¦Cµ„±î#ëðmýv~Ö— ކiV>’ R~Ø=,˜¿â¤7…+µë¢8Ì_-³¸Û¨8r7“½áÖäÖöŒÊåTÍVŽãk ÁÝ!l~yææ$¹T·6Ñ%û|Ѩ±ï(Õ ½:¬)Ó:))X2jK.›dãã}VùÏ ‘yLâg8ˆ%¡ ï RÓYðfûIK(¿ØÊ€ÅdÙ5í¬á=ŸæH$­G9Ì£ ñ;™®(TÖÔ¶Ê“ lee¶M¬æy²úÚIÔt„Õó¯¶~C°¡|S“â«uç¡Q™†œ–3Rcc@C‚@®…·ˆ'Ï'Óò&[¨hÐlSÈQúÊnÓÂK•uâ’¥Ú;ö0ÁByļw õƒþ*ÔkCØJí*‚;3ö[Ü‘ù@aÁ´§ÝÇô6—òzê|œP)çÛ°Îý6Õ<äÇ ˜ÉÅF×”æèIÒþªú‡¦„o58šâ@0Ofí¨IžB±·&´¼ˆï ôg•¤,®mBÝÀÐäJgŠ »ñ­€.GR> ‹ Öm^G追Ä0é¹~÷åñê8¨K1ZË‘Qã¿Ì?Ðt3C·&˜Ûu»kÝf—DË xÏl}+7òvéŠÐ[Ÿ7”ák Å– îFB1_æÌ¥Í@ ÖdùZ¹ 7g·ôf†wÄ?]úY­[“ò3…#]o³g]d*ôbf€ÐÞõÙÔ£´ˆoÂ5$·‡TgCâ¨)ZQP|]xf .Luä#2=n(­ àP¹-*£!w}.ÓS%ª«çXo;^ú¬›o¼ƒd/¦yÍ‹ îÑÚâ¨R °§â6KÃS‚ã¢5õŠ,â„…j$.§g»[¹pM¾É‡ŒQ±WÖÄ¡JZÚ]0¯ñÕ0™--ा¸@2ñ"ÒqAwH޲ñÚ@KJåÃúY²LÙÇ«×ÒCöÜ£ØJ3ªƒW¼d✣Յˆ ù%X8èé"a¥u=DÔÁ¨‡s輫ýç?H+G“Nç™¶ n’È]ˆ<2¶uªòi y¤#ô~-‹%}yýÌj;ÛÐÝ캉:Üš|©]»z³Àσ¡&ÁÎçIPD»ÒDäp«{nP,8šÖïñìæ¬d°”?ÌÀè]tSéz}[ÿ[†Xš à뿤éïô¾ùE´².q;‰ÁjlpÝ"! ix™Z•­Ô!èô\ª$¬¤o²X’§ ¿è*Îcuíá·RôkÁVÞ4˜_nüÐåØ/¯Ýõ,Ù‚èÕqg°í}°fs¼U„+,ee–~œ]Ÿ 9‡¥Œ¥Ox” òÖ+ÎUÞWT‘ õæyi,Üò  ‡œå.Si¾mç1! ·›n¬€p¦OWléÍ.2!ìélq®ÅbssÎé;7å€L£uEd2‡û£¾˜žŽVZšgøû}¸amNÙDÇsÊÒ Ïú¤ýÑ;J=D°=½•OC´±è ý¸..·ê»>T:@ƒg¬Uû‹æ•â»¶ Ž) SuëÚîwÏ ›\Ä¢6SK‚ÔbÐBvÊëÔ‰N†-%ÍÕ»T™C·ÑFɼ¡~“ƨã¿*V?Ýn¾©g üIWº˜‘µ=¢®$3Ö—ñ‡ås…Ë&]P¸Lf!Òjó¿\¹—‡g:…‰·©:½ˆ£#¶ºy,b¼^ì·ê2É+ÿ¯ä}æ#dýöô+@9–u!ähÚ^a7¶¾äêFôÅÐ6&®µz7+³ÚÂôþ]2æfvV3 чªZ"O¤¢¶Äa¤#FÜ!v´)ÓÏ>½_`Ô~Yбx¹‹îÔuUpùÒJöËôÒ,Û‡}ª˜újQ;Ûv ˦LÎÏäßÐscþï7`/r®ÿGùM¸¯ ¼áhTÿ±—ØÉ4QÅ­ˆjM LlèüöÙÉ»&—œ–Š/²J+ÉçˆÕ|¥ WØú”É3ÓlQ󢎽Ù@mq9‹÷Y`OõZ¿OÑ)E){a˜`(¾$‘.jF–6PÏÂçIù—<¾DVÑÉM>|DšôÄ•° XKe—;QV¥a¥]RJ”m¶qŽ0õùg¸ù‘VŒ†¨gÌ÷YØ^¤R™7` ,vtò"D¯VÝŒ_Oç]€È~CL/¨ûAkÕîSéN¾KÔ.ËÊ¿EטÕÔ›C^¢Msí=F×,›WðØþÀ”8gpå ¡¶ÔX1Ùò*ó¾5²Mž Ñ8ÄÎbâ‡9 Tг—±îëé–³|摱,à1 ‡YÛ:Ã:$îM]0¢,æÚbrcrs¡K¶MѨÆA_øC™îïü†àµ)ØG¼ÔU®Þªµ913îýeqÄëÍ$p ¿¨’áÆ8b’{uÕ€‚ \Ûesø¦Hk˜xÛ–”}è’bmÃüèœ °ã¥ò΀·˜„éqï@¢Êð¯É““¡ëó/YAâKò×9¾W3ÌÄ4(~ÈaåànÓ’C¯Û¿«M¤ó¸`༠#{{÷‚z‡Oºå ‹I_“ìÊZÕ˜ŠG¤\8vM1É/ÜâÔ÷st«ÞŒ‡Ä­…{aT÷D )ò †ÔQL.Tt‘ÃÚöžbNmjƆÌÓm¹PÚuÜR¼%§?îQð³8}+b¯vY†‹ú¸Þæ„8þeþ[s¡nñ''ÌÎÝEsü‚šž·ÞRyßg6s§ZrN®¸‰»&Þdå 9P›hkÇѬÁS^}ë¼Ô/iW.xl~"¿¨íwèø\ÔÈ}; Ý1pŽH&†Sí³©•°±šý“Ò¸²<öf°dŸ€½ ÿŒSsÎ…Ÿ/‚!Û.žï8b%xèÄÓp*Xß^4¶%nÌ4J6p”3‰¼8ˆ°xTý#Ÿë|R`Ÿ-Nê˺?&&•ÎùRÊØLGÀ—’¡q­{ëýÃöÜI1«Gþx6–Ÿ Ç ‘·Phù6ÏEõχ֙èÎbHfŽ*GS›@˜ŸIÖ’ŠyI½ÙÕÁ½ó°¾rLIôQ®-§øjkzN“}ôÕ%'ËÌ´ tdN‡8ÂêvLM;¼£_OèC?Dß2hÁVcœñ)£@÷äïyëUÆ.Â!>Zz`¾Ø$|X3"Ü%nøp@8æurã´0v) Ä&eW·/ž¹Bµ—Mˆ"(òÛŒÀJbõ8)$ö¤âoCôpã4™ø?aƒ_9Ÿ..ñ”tE©,ÙyÏÈK‘w唯²$º‡ ÄžñCìÍ÷x¾…(£ëf!¥!Ä ZÁMîbh¥Ä2é¢_e^©BAÐPb8Ÿˆ –,ªÍiÆr½«{Ьx‰Èñýv޼¢¢Â“&§™ Î*€+÷…{ŠÐ¦ À&Ç«¿òRÒ Óg¬6-'¢é£bÎ}[É™Vúo²4ÃD ÍÑpBþiÆ=ùàÛ`Dó’ú•¯ãÜ™,.\kRÐ0}†9Ãeôµ2²žxØfÖk¬ÄòvÂ~ñ?BíºlìôPɧWqÙž Ç—¸~':·’v@¶Š.Á‘p¿lÕ„è [°¯^ìl)Q#Q§A8±#àØyyH¨×˯Á/%¸ãä*$ãu­/èUã†Õèõc|ºn¥_ &Á?—ü Û°\¸ˆãç×ÖʯøŒ\ÂkŠ*Xû8I&èŒÇ-Q+Êå¯Qw?¨Û±~M{çô…À%ï!ý49ã’gSe—šÃM’1]l­ÕOªñÙã'&UÕL@6!×ÝBÊõ©ÜAF9¤±ŸfLäiõ÷ÃRʪÝE§ëhFOÆ^ÊMcßjZ&ox>„=…µw[?Ô‡ºB+ ÐqLB}^oÉî6Ë#ÒÍ…óþ4šAí_"xp“ÈüýÅ*r”….lVrÞ€w³^Iœ¯ÓØÀb‰¢âôz`–Õ=¤qrPŽA ¢îà‚3þ¶Y‰êM c®ÆyOaÂ"í]x_'ܺà°Ò]9 Ž6›òšâ §3{†1õ¨éiX oŸ7ß\ |"ñf„¼(zÑ‚ .ð»Û‚!W{¹âF b–M‘h œ” vV†k¢Iùÿ5ƒê‰®–ÙÒÇë\é “âûΧÜÒNµ•x®Ù¬Ãúº3ÙWð¤Hën³X.ì-{/®\mŽÙôÆY@È¿Pn8$Up„~2$ÁŸú¹‘o‰wë-Š€ÿÐá“.ßj­˜º*¡ö6Dþ±ú‹yt¥ÜqpáõZù.ä ºG!k”Ž=a*ð8F­o÷Æ ÷D±]K.FLå™5#Ñ8 ÷I…E¾d•Æ¡=×* çü¯î]c˜ªRe] 2þâÏxð#¹Fn×釠o×.g\=ÖsâïІ÷%QeÇ}ç5Õ’Þ½“f©~JLÔÞŽä‚ΕXäÉ„àRÎ%ÏÜUÁ@Qxce¬x7ŒÑFÆëäjYTüØòèÖªßyöw®HŠ`‹ìƒÓÛ5E¿¤ŸÕ‘`p_N®tE›|m×û¥àÔÇJ÷L0)2iÄãØ©¾>þ˜[ýŠeR®£ÙüÂ$ÜÊð$³ÃÓMjÁ‹xb3¶Ï¤µývPxÛª„•A;š:MÖfµÇ9üdÚÃ{*ÛÌeqAÙ^sü‡Æø8zjzŒe/àQ+©±þlZO~™-B/%àÏ£×ÕB=“Dß ÐûK ²<éYÅ9)è¯b[xÃrNVÿÏŸmÐA§­þÍG‘'žùì½çU˜S¡öÜ»YÊ´ž„"£b¢•ȨǖÏ#î†kýœ›$3 þIÜ³ÚØD§~–¦ÐG_a.(„f-W–æOùžéKú´îvÞAYawƒÍb'}:_™œ“|-·7ÔÓCZò¥/ bÃÇýÓÏþN¶š%Õÿø<£åðjaΛ•âŠGŽ(èvªH3Z¡ü?FÎ û:C̶öÖcÒ¢¶\£åð×ä´"\⮇ö7[1ˆ´W!°!(ÄáRÐÒ­çuí‰ëS3Æ„ZÍ€‘÷åÐÛÿF)[ð 0pJB—âv¤ÜÔ|>% 2dÝÊ{÷`j Œ: ¬<5OĦSÑq€Ü‰†Wnö«)ü¼ö•®Ã/ë/ž|*­æ{§eìÀ&þ'ëükxâ+'u¥´Ó_¬£³YŠûŽ—Š]àɤð¼|¥w‘1;2¾SænŠ ¿’È£eBAE{—;LŒ ¦ZÓª¸®âÛiax&hŸÅ…Å?ÝÍMª!ѳRßÌædt0oóv²*?â{G9—ãÞ‰ ‹c,½öF*Ãéªæ œu›ðÀS[äìWðàFgÿSîYª¤„ ?ã'Ôuì¦ £X¥Y‘_Z–xe³å#>§v;øÑ`lá7Jçð´„ÝyµAÏÖ†U>ÜîT û’vP]º8Ib ߤ_/Brƒd83¹·sâ•®ußùº lè>rüÚÙT’MÕu_­¨4eæŸX¥äî úl‡¶Ü˜µ¸¨çº®îû{ºi枪O,+ý‹/è{³ ]´$çi/°ßO°—þ6Ík1ØÈ±áÕé$àu*ÔîÿDY9Ûu­ÕÖúhÙÚ¬mñò¯*çn–þveoÃ]¥ä»´ÊHf‹ñHc’˜c â>°Lâ ¾…IÞ\»iÆö»®èo˜_kþâ BFNØUA°&L¢p|µ>}L'RæôðÖÛ¯»àå Cò»-$Ù¸«xœ:H$§Ê&x„½ÄËÕ˜>¹0ºK¨U/ícÞTZàûÙä GÃcšÅ¶ÂNÞ**ó=úĥΘX–g]$@[m@]1¶b—ÏÊOˆU"2Å„œC@F2ÝÿwÃ_þ„W$z×6œÈ>àL¹„üR[ðÖ8ߦu’‘ýZy±JsD¦w8>?sJ¹#jÐWÅ ;9¿\SDÃ~ªgM7®JO¼¿8€M¤Â¹C12èYR­˜-»Ì}#~e¥î"U­ù@èêilT‚äØgà-7û¹*]÷é“/¨ÄíërÈX̨´ –ððGç‚8ÙRÂÂäÛ›(ž·s.„·¶`"è¨Ä(•– xΗò|Àìå±±¬jö­Ýðk¢Þ#Ñ«^Ù÷¯¹Lõn›)ºeG&þ.× / Ü×Ê €•"ÏUÁ¨ûX?½ìOdq†ó¶ˆâ9køqäОÑOíô%8"ÉiGWÊ÷J, f³óU¿§pÂzþÄãCÏe¯vB<‚7õs ›nt*­¶^l=Ź–ÎÔÜï"˜Ô4ÓÍtrÎqcBgc°¦eLSüö¡hZÆÈ7™MJÆur5›lÄmc\‹§ ÷êéR$ÍÙgÿ/0l¬Ñ£ïç\Þ1I×ø’>¬wœ´=Vø€þÕ›AÔbö¼‰ÑÃá/"NÚ¹hÝ«?âwͨdnˆ,’ûïXŒÊV9Ûqû'2íÞA,yz£¿ªâ ØŸ¢ï¤3 ¹=ü¿´žD§õ¶ÌŠª#'Šm1‰j3`÷òY’º%(!³¨è8ª'zËJy¢Œ÷l q,¼%WwËDg‘dbä’pÌ¢³«vèÞÀñ_‘lxJ’v†ÿŒ[Ù€>5`Oàdލ[³bÚož^¥¶è 9EÅ”†Oðw…u2κ.„FÂÍv»Dë"4©9ª~FÔ>Åf·jôv¾ýu†H& 8FBŠèµ5LšËCK€ø*¤ ¿K$(ü/~4cHm±_VörGË}‘A8G8Yr8ðd®w êZÕ¥ÒdŸÿ&Om<¡_€Øv§”UnçT±ØKcò8¡ÏéK• ¼(àéÓ ‹[²‘V³NÔC¤¬ÙÌäáì †G/}77ã°=Ô¥±§ü¶0Y°û¾†õ®«.±¾_¯ÿlÜÓ~1šTÍ),¬ÿ3¨Yç+†Ï¥ %üòž<ËÓ„0@ ¾ÔÙ<gÛNÄï2i£˜$nà÷×£Õº`åecDÝî*ÜIçbèÜ‚{OÇ#Ü®8‡ÚÓ7!XÜ‘QIq£æçˆ‚vHØ^°ãMGŶ b-«yà)ÚËwä;:A2~ËÛ€¤ý˜õóšù‡€>s‰xžþrÇý|¸'Ý®#ÿSCJg\‡™ëB ±2»ý`qfòþ—2‚JV/S{Eò•Og³^?Ä<>.Mâ¡¿´ØÃ‹A+ŠEòuF@[¤EEDe‚]€´´¥¹vü‚X¨rïײt·4±Þ‘¯ÜéÎqöE©°›&à$¨mõvò“f^¨Ý¶«szcM` “ãrÜ\{@ßZkZº_r²<°Ò÷°â†”ƒù†7ïý‡G9>­Ë–ãJIQ=:ÜÄËïâ¾àþÇRÀ–WÙ ¡<Ì-ò&iFi1A €¢®çe® 5x77¾Ûp}ä^åÌ|s•‹«ÇÞÅÞÔÎ £>‘Úa§’rCrmM¤–”¶Ûõ¹P?ð(Æ·Ðg¼_hm¦e¥ª7ºßÈõk)t^žÀë6ù .QöBYŠÌ-«E=]©Ö3þµÏ0†éœ³eR4'aÐ2pÊpÓß/‘ɯ·¾'+¿¸Æ›,ù¥êÛûzët@ŠUc­%Ù—w´DÏÍÁ&€#ÈìŒä°/Ïó•¶Ù~ÆÙå¡Í\áLxˆß^c\~S;G|©¶Œ‚ ¤UíΙûÌúÌâ§¾ Ui-aNDmÞG`&Eª†Mr ð{æ÷u¥Á1YR°µ%Oä/(ä#›ˆ’ŽbõŸ[?35Ò¹Û×¼˜zç:k8Þ~‹BmÑáË vQª53@ ñåS8D¿GÁq†Ê +¼éšAø:À¢ˆjñ€ÑixáQBj®½óè§ž,¹¬1·qc´™ë\ô+7¦p‚ï6¹ÊÐ/Ûò#çèUAe'QO³L/•L«©$_Àk Å&õÛÉ/;Îcl‰©lZ8'Ô¤ŽÌ ~Ì꯵!‡åàå…Ú7àÌñâ“zÙ‰j¯KŒâðùW ¥FÀbôß© >Oùé§¼£c$ôùî9ú1|á.\-‡81iê×èS'Œ¿tÔTæ2†g/ϹVÜL¦U%ܼÊZ‡üb‘‡œTQmoV2²†ã´ºٚΪJiˆÎ:H@Ûu¾‘̪ھÑ'Cr7Q¥!^¦ŠŸgÌñÒŽ²fþÄý4½fäŒ&oô¯ÔQVà¡4‘»_ÄÑæ¦¼iˆg ±¥-=‘$ÅHPŠÙL­Õi&+Y02ÈX/äÖ/D'Õ²íÂÆ¸Ü/H øfQ\?¨Ïž\7) Æ·N~+ýáæ öDXêoA©·¾ómo:ꛑ­õ•9þF3ò½÷ýĤþóèÞêgE_U/óZé`M¦2Yd#M/L²ÁGK÷Æ™Z¿i‰§M4¦¬µÍåÜNGáæsŠð8ï0¤s6QÞ >BTX³q™ Y«øráíûÇiŽUÜ÷¿×øM§[œï…Jóí: ºk`6¤ñå.ÆŸ‘ÂPÕ÷­[»¸#œ·Ôö“rqï }/2O¨ûô]ß4 d囡ՄÀ~k~ )ØÔhK؃ŸŒ’ÀkAK?[EiõîÖÐñX¼¢];vÞ’ng¸¥u§!6«Ê&d…ËGy&á»q‹øµ ­d™WÅÑÐNHêhÄöØ@XGÈmM)›,»œòW~Í V’÷`Éjßz4¬¥–_óã?ê÷¶RŸnøœØ¥ü$I"Ì„Ö8GJj¦åbéü²·‰Õ× ÿœŽ;•”‹kJà‰A ‹Ã#6Áa×»7!w¼“ jŒ ]WpO#dbÓ>R ‘W€Æä-¼røvuäŸ4&´ çÓÁNj§+¡‚*±¦6¹è8cq~0„C§s8¥òß|œ´ÕlxJ+ÏÅ ÄpUjã´÷\§!GŠöðÄë\$ðWíØ÷˜ íí_‹?Ë£vÙɶөéR%„lèBJFRF”e,Þ¹¯ìu·D¥÷m¬‚~cg0hE”æEÈ/o=k ú¹§áqôëT¼OV±$µî¡á>Ä–âÊ€ïêŒÆ[1r°Åztå;ůñETùqKNM¸^ Û/:Ø.\ã€âõ|ÑH¦Yû£rZy|V“dßµÃ'ì>éór!š«]¢ïšD3Ü9”‰$Â*YC ŽÁ@“‘èt-À¡ë_&Y0Ö¦äÿâ”sÀ>4ŸBßë)þBÐàÁpV_‚[Ð5bÑ· }æ~U„¨uÁɪ/´m†"TA/»~ŽrdØMš5á’ͽeù^ÅЉ;)?‚q‡£jºäØPÍ«½V÷”¸X¶|Qæ®`‚$¼Ñ§Îõy£wt0/ãÒø¶ò¸î r¼éÅ*#«j]»Ã‰ÜsøFÜïĦÏë°t<Ú]Ý¿ßbÅjc÷îU½É¶í.~Ææa…Çi¤¤‹ÔLwHµ¬Zí >¯b§Ë ù n4E’/úˤùÜ 'Wÿ.Í!Aïºf¤¥&ë‡Cù´¿ßÛ™›Éö5@¢‚'`x7é$ñyø”ÐõÂÎ@˜íN­öh[ïV`ÔûžZ÷:pMN‡aú”°2)“û0ç6NB7jzܦO ºjxǾÎèjª•q¹/÷€ˆ¶-3§ë4âm¾*îuÀÍ5.©ÏÚJïÙª-s~ †2°‘]] G‡J–¢V°“ˆYÙ™pEn|Êqöç×+@lÀgr¯*ĸé}Ò ¼2}j“øÖRòü¿ÜÖ°dš­¤u÷£˜•>š`éDr²7¹¼ó·šæòHÈ™;Fª<{‘î,åêCDkæÆ•9•ât¨Bø0iR–»=àP‹/Hml¸,¬ “/=A¨º×+þ^€ÛÂóCòO•lVò|\€«]Žãu¡¯7©yоp/.HÚàd7ß2 c÷ó¨x$;“KÆœÒQ9ÅCbŽºöÄRÎéhr rìòÚiž2—Õ= 9XÆdýGðŒ6»0·=I£ë腋αO-F~2pøtoч1aa\5ßB¿Ì?ßGg¬±\óþj÷ZÇÇ£§00ü¶Ž £z€NѪß}‚Á´5#¹Bë¸~”S-ÄJ%—J¦#Í9¯I4Ï„OW„ÜÛ.4³/Ⱦ~QAaŸ§4+OÒŽwob´P³¾žÃ¯êØ$Ó÷Š'§M·^ÎAG£it3–8Ì¢ø À5z*]y•´»^¦ÈÂ7˜–ö4¨HØ%plUYßÕñÏQšE%Ô³«šó<ÏXná©aþ ™÷D7^²Ýñïp Ü¬ÑûM¤Â)e÷a—Î$Îßíý j¥âLb6ñwÇlZÿ9PV:(&3¸ŸÿWÛf6“ž}p,2 óšªJP•­²…P!<ŽÚßÓ÷â¯Ïœ–ÛP-ÎÔÙÆlމôÜE¥îÛùbœ–ù€f9UÈéƒa/ýøå²Ó¹Ã‰]¤³°1Xƒg‡À€°aŽ è¦åªB÷¿•ðÚgþ7< õY•_4|v%¾ûä²€Øà#¿®ýgûxì¡Éq†H¾Äb/p¯CèS5˜[Ì–G!P[—{†«ír°éNe·öä#Ç2"vù–Ï—LkULÞæ =!½ß²½4dƒ8zÆI=âÜ^RûB£=7áº8Þ§s"DB@÷¥³ÌhûÂú7Hó¥Ó‡å²Ü ‡tyh?Q!ëÉD&Ý+â ¶!¥â<Íé3úÌègÐ+Vz¤Ä-²’²Ó õe9CšËH„oe+„†Tƒî6Lªi/l¬Xåÿ‹Å’#83Qô5h̪mÄÇ Ï2måº 1úì'÷€™y¶»I|=yÔ#ukRƒ€vÏàÒJYó=Yj¶ŽrøRSìä°¥ûë…g 1c‘JËÁÉ–hGìzJ7‘PȪú)8­÷øM®ÃÅ•°iïd A.Kbfý{U”€¾Ú06v+‡MxÔ3luL²„!Ÿqdää Ñ<ãàq‡6ʳ7T&–Câ„}ñöæ¿ · «-ÿØnGô+ÚqÇÚÃR»ý”ùÚ(“Ãçi÷œ~„“³Þ5ØeÕpuƒò³¤^Ë^çßkª· †|ç¨þ_¶õÓ Ð(HR{|Ïtê“ú[DžK‰†9hIyåÜN³Ð,€£F#>7 ùb@›„? ºöèÛW§ƒÊÙ4Â…—à¶-ßÿç!§m²2lÓ¥VˆÆé—»åÔÂ@ç¨ð/Rè¬r*9í£¨¼Vìõ”Ä•†la+¼ä$°·¡ÿûW9±—ÇíöÛ§‡ÀôR!yhºpí*Žc[Â|Tuiíˆí:e^ §cr ™³Ûƒ£AæèÕ)#íR6©áqú3ýÜÍRlÆl¥+ò¤éšý¡тވA@·íÌš¢î]Ólò¦‘‰10{F¶58W0WÓ, _ó°xÅø E¤Ëb¤ÁW)⣤#öñ ÕvбÌò®Mß·s²ÚËùR‰AøÿÀà¯{ñ#´”Qê…gËñ‡•v0ÁuºÁdÊgšàg°öO’NëdœÌ¸ï¡cšr©U¹nGâzÝx”_Ý(Nˆvøüû}ôM,ì“]¿Ê‹ d, öZ¼¹Ã©™=¼…¬z§­¦õi¡@ìŽD$K G¾®__ß*ú ã:•‡ý!9ûèáàÚQäfXPWvÊÕRÜDaZQÒÌq³9öг´z³hÆ_wÎös7¼i:ÆÖ–]>‘·~Â÷¸ÜºÇ|IØñjûÝÞó³/†ª´!XLc‹c?D‡ÂLK7?È61¿VT½Š7îlºí¿‚xÙ:üÞT„ú›dÁ*HG€'#Õi¹ÐØ›S.Á²×‰ëâ&å=iìGÕø'OPȈ†-zØðlNžÈS(Š· Yôwþi5ú“ý®x㷕ʦÉXÿ´@é²{'~â‰h: ÇD—[4Jô>/bk¿’Ä}ýç¸/6sž­1Gpdù1-£7Ü×g6ˆªG;ƒ7Ñ0sVèßA‰×,> …Ú‰²4W^Ú¿a󫤌ŠEÁfƒÏǤí›=£zìäoš&Ï\Á5F@6à‰)¼³8šøèªÃ‹šC5ldÚ¯‡yÕT±+eµ£¼Hn90ø/Œ‘ý’ä4ÿT)tzY‚Õ¯PÍ;&†ÁîµFd^‡LÌ&/’¢AV_ð[ŽçÕv#VÁeÂ_ÿé®P¥/Rüϰˆðx=`"èj+Ûû…˜?ñTç{a8€@&ƒè ç—ÅË:%„ÙXŒiƒ5ñ[Oª½¶mG4o``”ßõåñ–?â’ý-¯¬“šq__ÀÙ!“ñ6 p¸ÿÖäìù}ÏňJ\ÂGùÅqLzãÝíGZ£âQS„fùüt‰¨ÛýV™ØµÙ-+‘c£—KXgb»9’X kFÌ:Qï#¦)`¥!FþqXKPØ_QÔ àG—GÍãù.+O˜ÚH>qZKq“¦ŽQJnÆSåùа…Jî­¤u^?±=“øš-F€â÷Zymf`};²]O9ƒ‘‡q‰™C~mµ…—\‰\"tígÏGÄ´‹ù#D+‹¾œåÞ?á}›«–qÄΦ’|½uQù—©s9Q·óÆé‰²`¤›¦"›[Øwv§Tñ-έÃ[ÑÖÎâX\¯"AÛ‡‚as@šx$“ÈZ+wBmIÆž»?EèãAq_#‡tz#»uY¿nÃý÷¦Ž=ë„KΘbzªàòVÿáå7Ҋ׃:ŠÑm÷é;rƒþ5šµçøâ‹q"-¿ ¥’´5\ qì1rmn pq{Œ"ÉO@9bÛI[:XŸ”®šÂïo›«-$#çFMÑ}òÎ_äãÌX#\­ÒÄ5½òqþ¡‹µÝ5¹GŠ5€ˆÙàÓb,Jf†|Òvµ¦1Ä#ÈrÁP‘˜­.q7k„ë²>¸QÔþ¼vWT‚ñ¶Sì ¼î´c#â\ r¬ –„p6C¼ól~uÑË¿578ÉkŒ³É›Ÿ5õFqi€3ìN—ÿ̺ؔ S™)BÞià­¾ñç¦&¹öR­,¼ßT€FÍ¿æG(1Aµñ;}ú»¬Ì¾ÝƒU¤Û\À3l r:gÀÜo³%ö­:QɶÞ\Á(;ãù6é[ošÐ¶ÆÛÒ‡–þ¢¨ÅȰl˹l‹'L@PÔÝ6·RèúVÈÐõ ç\ýÂ] ?RMgï˜Ï•hÆ uLš‚BûÓYdˆ5@R_x#Ç[K/JŸ§"çwD1EE•+A:TìB~ÂÎRr¸l^)pDþ¤œ|#öÑÚ=ÝáP*†¹yÎ=€kào©«’|Ä*ló@2’$V ~,· Ã0RCòݤ]´šº„%h¢Wn³íÊp!¡÷ñPu&¿6Ãì øci<›–Bõz¢¢ƒJ¾øwPù›Lsñ LzÞ'`]“`[XØ:I¨ÜýCê~{hñöRU`Þxçˆ`‘•À›(æè¯3…þ.9» ö‚8–À\YãûÊù}!´ºž!ôÎò¨U×zªa hTR¶æ:¤? ÅÜ é/u PèÇs‹œŒ¥1,%`Ö¥í…x ?§º^u¹iÉ(.¦o}a ÌT-Ê Trdi”)êÞLí()¿ŒðÛQK©dÜПºŸŒ`¬¬¦îÄ\ŒoÝÏ’l‰®Êq 手ìÑZÝJÙµ´9ø¬ÚIR|ÙÞè5ûëq$q®vhyAvOàÙ龜eÈ<š€ bé1ïøµ2¿+.ÊçÚ&»¶Lí’ü9ç.8ÄîÇ-FŽ#•%ˆÆ°ÄE‚)%ËñÁõR½åIU¯ !œOè”»ˆ¾¿SÊzc™t,©û‚´g{Ä\â!©v(mlyÁ”ph!b€&”ÖT”âwp›p芪_BøèŒäa³Dâ}ÑC!‹†œ‰YöJI¦h§~øoâø¡€à™x$uï®L&iôü‚Ëø´ƒ4‹òùëáô¦ y%¤¸'\X—® Ó{ßû¯PÙÆ†]sÚÖZCùg ½úé¶rj/ï/*B Òm]ê̇Q2›®ª(¤Ùy¥ 2»Ë­êO¯¥›Ä?Gv?(dÔRצ Xs™#¿â¬š~s.só3 š2CTíSæ½XÑ{‹€¦èÿó$†—uö¸¦£ÐTê¥.V5máõ¾Lµ°ÁEæ@@ؙӵWfú7i¯hÇk=L{­¶¤ô®ù±ÙZ]¿tbļuÁÞê¼\ˆ‹Yܵ{ÿŸ€*0UxMoÍȬð,È×Û[] §_ ðþX ‡*¨0þøÔÿ'‰HÝsÚÈ*:¯`š4¡9 ÏÀ(²Û©QóV!Þ÷ð<̹Äï"aµ47 å«î§‘§j¼v¡m¹ ”ž† î&¿¯ ލÿQ5Ù¥\mûó.2¦úo ‹‹µ™7Ç?èËoˆèŒ ºSf©§?åÆÐÈÒ+ ]_–QñSKÒŠ”bÛ±Ï]¡1ó^Þ>—~&_÷¦mÄ÷ÈõBl©— õBKq¥s>#–›qöÑ]½O•çܵÿ”Þàå¬u ø¡FºðuÚ « ¹:7ÝnâzzÌ'0éµò3"Õ[×û¥ÑY;\ÜjçÉŠÙ+¸’‡CÐô=Ħšj*PE{Dɧ±Ç/KRØ #žL¨A*8‹qÒpw.$ŽàžUB@Åôáß¾× ¢ÚׯРL×t-áBÃKzhT 33ýŸéEéªk—0êF3™«äk×3nbe1É®°º‡kGèãñ~ð’ñÅLCkZ@­~ÉC —ž¦ÅGÅßĪ%{Ykœ=ÒÕr„Ø´gtn«¥^Ð\Z®0¡¦¹yp¶Fü ÷‚85B,q8<ÃDBŸ¯*U-R ¥²¾L›Dá>X(ÖcÌ„jJò» ‚$>úÌ l¨ ðj´O;çDÄ”ú¼ä‡².7”OÊ_Ö:_V2¹UÓúJ„¤ÒàòCˆ>§³£,mæ»jxöT#xrka.ñó-xðæFX,ý¼ làDú\‘‹ÀqlnŽoÛú¸ÛšxÅßjÀÄ ¡»èh ŸŒÊïZ©¿B]Šu°U¤ǵ’úJ°ñ⪎®‡àò5ËÜheÃñ£ öÒHSR%ªošS÷诛%?8¤Lm'õª‰jy,³0Q.Îo4§dy|šhÛT]HUmßzŽ©7øcŽuùÖsyßBñø) §m¢n ¢Ýújì4OÏpqÄ Ÿ+§­ízÁ«ƒ¤žÉMEvÿMÖ}ÙðDë s·vQ°ý#EÔÙùÄxäm$))Nõ#n¼b^ìð“ Š©F«:È´ê«¥â=íýfeÐÍ„-”x „öqÁGÁ îÎfb6Ž¥Ò2³aû@½'Øa¿Øs¥‰²®·:Zj%ubÉ;걯?3OˆÉêÚý¶jܲEHƒ]L`^IëÉËC'8*_yýÇz=›f«Õ¥eE8$‘ib6¬èRÛ‚ ‡r `.æ]úS> /%&ô 9Iµ‡Ñéýë3Iâ†/•sU#qQýy1DÙÃ(š»þUÚJ(L·%v±Fºu~aƒB+<‡Yð!¾­ù,¨ãÜ{”EÏq*b6æê‚k)3Sò´aÆæpaúÜ=ˆWn‘‹ªÃyède¸¾ Iß>QÈ…cØ\YX”Ä—jε§ô¾ÉÖs·ïâ•AáíÐw•a'šç/`ÞÊ,“KÃ6&TÛ΃àxñª@YËd¯À®‹DœfN I´ .S(7òc¥QN¦˜‡ƒmب£I@ÛñŽJTÆÍ¹›Y#hoߌLJyEÛ¦ÿÏàƒàµ°]‰¨^v|ÒÓÈZsîk@n/9›¸¾™¾øïÚ¤40¡gÑìgpëlVŒŒüÜøJÙQ5Ýó›Á‰æðc$\(s3ðQzjCÓÌYRiØHã2Hy dŒx{‹î%ÍÝáP:Bþk–´TÈ2`¸˜a¥ÎŒ¥hÓåœ5Sq}6ÿ]glÊLwí”0 ²Ò i–W@9"è³oÌ/tX}–Þ›,;w’ƒ›2تdàìL&×ðnù„I`éxúVèÉ‚¡ èdÇ#º¼ óÁà  Ó½|ö˜Šû9œh ÷\âØ0üZ•qt‡xDÁ\qkh1‘(Zx‡•¬ÊÙtb®i½¬:g~.À©(0[•ý!µjÛ®ƒ%(šxîB@Ѫ]èÈ ‚šÁ/ø cýÆû”Wç‘ǾؾaWÂÁ“_Ö3š©'*‹ ©ÑÅÍ¥öõóvêVZàW®LçžœÙ{n ñ…iá1!?®Ù°c›†íóýCy{Ï¿_FM+ÿ 'ݼéU÷ú”â+¿y p‘åUg©€ ¡Øúñªéôf%mÕšêíÉpêpûØ_43H€tOÈ~ã î Dïåœå¢ò®¼øE[özA;íJ"¸q„È Låyõ'ó>ßÏŒ JFÞ*»€èûë85Ì#ŽpÉÅÕtŠ?éõ4±Ü>¦I‚†ÁjCy•÷š2tfH±8™‚H—y..D:ö߉›P6J´€UëÏë=›•²5ŽÓ ÆWÞ0>Rx¡²2AÙ½H€7¥}}%Œ¸Š&5y5´Éf¼Ðz/p³SéʆO­žG`cÃb™Uתß}zP:`»}Êš+€ºF†{°OãY\7lÌCshJÉAÌg`X‹±]÷ œ1µ¿h˲ BæFòwÉa¹1Ô«–ÿcÉãOÚ ä¶àÏ?@›Ó(àFçw.QŸh ˜eð=Ž_<£B‘÷ýD_D:Ž/Øï!X62SU?$¿yG ÛM¥–'ê‚Ýú‰?W‘tíŠbç(Q\¾D “ß ]ë3ú%²®*ÙÒWk\ȉza¬udJköZO`: £g𔮜bH´fºR€ä¦óTœ‘“và8·Nmè?þ&$™à:“g—,jÉ!0W°iNS)Ó„ öl$¾è¼_qÆ«I»ÑÒ@GŸu„:JVo…›‹Gˆ¶~5¾uçθDèØ³ÅøÇ?£ÓE‰ü¯¾pÈÕ^4ì ó­eiî˽حÈTÓkC0ö®!´7³ÀÃ9ÿwDÂ"½é@¯¸±rnYÍ ó\ÜèøwLÝ?I^«ÂvAo„æÀМiOó±}®–#¶l5ɸ”Yúa&®ÅÀåz7lwþð«s™¶'ˆV³ÖR«q\î Xµ+Ò"‘D`”>$$$^:Á<œR+»Ô’¯>جÈk30äu%šÄùqäµ ¹5J«õ¤‡áiz‡ëÿ6QÔ#$:æ®5 m8ºðTDk7f¯óÏ=]í7ÅÁˆKss¡]tØOÍ(3ëÔVøØe^³î hhè^™T7Õ+t µžrÖö¿?õ²?0° )m… ËpkHê8_ÕS}L5=zþ׊3¹¬¡÷¶}šýðÍE؈kÒ™ì~j•R:‘Ñý¯â-vã†ØV’Ägö™Rqˆãë8È×´xÔŒþ7"¾ô4+ª"bøöíKf÷Ü«¬ëhÊ—ÒõéZl´YgÞXÉ]^kHçH,å±R«õ2A‚؆¯ú.²»€Ëø>,Û-Ùwé ËRF›â³ãu¢Ýâúéã}4A©ÛªL¬úgÿ~\vC¶ÁSsÚê3Ú[§rï]2å«@LßLÔžzJÚÀå$²˜ÿw&Nî\{âsªz€âmImºÆêW÷a¿íȆ8Íá­ ³Ðûêmvªó¹¸¨ÁÛEöz+| ‰møƒÈn­Îmâè×`ËsÉâz†˜â ÷bu­ß§ÓÕA_Ù‹H ÿ$¶×îa™ÔÄi‹¹×¬ùŸÃÐX6Ó(Wµ6ÓO­¯Ýx%ÉSÛ¿'Ñ$][SÙßEÌRU»¹€Ô:“Zg)xK-´ ÷%1 w£¶â‡.€xñöb\дèÉÞ6¿G5Ó ÈÝZ,€_Ø7Ò‘î('/å#ykAìŸ7ÈíÎçØA5ž!²«}E_éÁb^\}¬…{ÁG\á9¥>ÏG£?Û] |g`¡ãÓ™FW£´„;ŽåÛ¾?rÀ¬Ò|U ûø<òMf-¸xÃtaÁdüò¸`Pœ/ùÙ·xªü‰o<°™<Ê‚Â9î4GáÂv–†!Ü‚3Š& ÄØ‡þ1 uûOq÷眜IÒæî Ÿ¼)ø†Êd$¦pâÒ\ÛÍLŸêߺ"‚zrþ'ÔGWØx< 8•;œ—©%ÈFÇQ.™%/Þœ„ì‚Þ",[ûMg_Z«BÄúr9;ªiŸZðuϱWO±v{r¸ æ(åQòZÚÑO›å^hÛ t ɹ–ä)E°òGß»Œê D.\ ÿ—`Sjf¯¤¼½?&³˜T„Ÿ»¦å¹,z–ö´Â½ûdõÂÇmh½M„nP ÓËD½ñ\Y9GÞ÷ïÂsrÀÞØá‹'&kaõÏ3¤%ë–LÌŠð¶b‰ë$`³j­ô°û#kÖ¿œ.–ØB'x­×Áë¿ lë°lr(ûôÉŒil¤fn.¼\Qòô¤Æm±qã[DQ• ­Ô‡@´X¹ø¹°ŠÂg\HÞ&)aNèyDì“¶‚¿pôz§ Op쵂‘Þ3ð犤hÚiå\¢§ø Ú.O ÜoדzÙL@ù˜ÀSÕKSõ¿tï­ Mg! €žš~Å­ø?y¾ÖXn‰‰¾ã¿¤‹sR!žE·ÄËÍCä,K€ïƒ¾ ®Ø¼±þ£e¶Ê]:S>g³ž­¢É])&œš¶öˆÛaÇ*”Mþ/:ˆÃ’õŠ‘ø3ä*åR¢™ˆý½9¶îÛãÎÒÊO6ÆøÔ%*]žxÚ†§,Ž—,s§Ê†~]3\†½®CW~³¹+v×^ l*½Ï:ï·%Ù9l(«%‰Ç œ€Ðáÿ)(€î—[¸„#aÁß9ƒÑù†ƒï~ƃÏÑ€t¯Ûש땒·ïÿ\d®ëd³h@/¿»#—. 6¤w¨1 KâJê6v¶_ïƒO[Ãh“€· Y¡AÙMEæQLÍç£×i%¿û”€Êò{p˜ÇcŒWaЉ€­5 7\:ª*ÖptmVªîŸ˜zÅÇŽk1T4aÿpyÛÞ¢ô>~ç*¼úƒñlP$ºôÎàJ;|êÒ1Õê]†äE&{‰h2-5 ßX©mdô‰ªuvîP­5hìi*ê¶ö0»¿$šä­À–s»ÁK° ñã<°â÷8úæöUÏC+——™¬±‰êAàýx»ùã\k½ö„\ Æà™o=]‹¢‹A‚%—&ƒîíÞsØ©üo'° 6E'Á¥­l«r÷ŒQËGÕ‹*§éÓÂT©QÁf¢iRª‡F]Wؤ¶<9õ“—P0W‰å%lbuúxã2Þ:FÖ ÅÑ¢1mQêA’Q÷„¿Þdx«ÿBJ–óÁ¶Íåª,m‡y°~ž®Ÿ#‚9)¦¡^೦…\Yø‚ iÒ¨Ñ=™Ù_uµøüUL©¹»ÇÉQQ/Tê>!l—n „ƒ– Ë`›®Ž½"‹ë¬EçVHË.6yú`cŸÂYäüd¯­{ÌCË+Å÷U¼Ñëòfï6ryEa4¼—œ&ó,84ÅÈã)”]Šë—« _t›áý¤Ÿ¡_Á-V0ž{¹Jà(^R@ùò ¢Ö©°~ä1•6I³î¡öÀ ¬¨8½ú /ãkà±òb|ÓþY‡gê[?´Ôƒ>ÍQˆü°æF–w\Ÿ=&QSE…9u Ò˜õ²1#ARUÄUDï ¸‹ïÑ™ÝÐú ³SYVe‹•KzG°¤¾ü“¹@¦0šOß%×ðʉ¨m¥Nº°“„ÁXUÅëFÉb@ɤB¥ï°RÛLÁI‚ÛÒí)g(IuÙ8¾á6eÛnÚF&Vo¹~™¸¥£rATUe7BýŒÀmª‘ObÕe~ù¤ØþÉ)j»í.KÂß!'$˜`á.?ƒÃRéW Ÿ±Q€Ë陀zƒnÿL±$ÚᯠžH ãK»Kÿ)œ<;$^W ™¨[ÖæxpRKÊY]’Ì’£}] Ö¥8ŽÒØÄ¥8vÒ ²e›¼"Õ‚Úo'LR–›!„vþ÷þVr™3nÆø5Ò›þ ?'¡pÆc;«¦í¥mnZ\øG¬ŸïÖ-Øý®e|KäV°±g‡â=ÜÉ›F’ ”ѲÖQ²Õðþj8¸P°M#~*GÉnzÕ¬p|³ð7éfG¬îä£>ìáÞSÜ•²Qeþ^„Ö䧈wÇrÚƒ©l$Ïiœ­$®¦ö@‰ãmÆLüz ¡£D$ÒÝfÇç×8[ám¾‘Ø Çµ£jΆJåê)«3‚Aè(y¡oˆå›ðZ­VŠ'ªäê@ɤNŸ•@7›Á¯`;n­¾ÁfÓÛam)1Á²¤}ÒËÙ‰§Á—ú½&Þ¬igû°WSØúöüV-yv)Fr} é6æö¯Šá|ñ9Ú]Ò¶Ÿ·óÃj«‚äë4=ñÃŽ$v5!Iƒ£â2àM_#5z³"'ØÙ¦‰B^¤1ñ%OI´tÛ¥$@ö‹2¦º»Ë_ƒ ò/fÒr„â'¾ÜÊhbÞPM[réÞ£GÃãl6×òê‹ÌA1åË!i‹’Un©[‘_cU¸©ž¿à|»øI´Ô™ÿ‘Qe¨µJÐh?¹ŠÞj\¥P¥kÈa"ÞŽ«½jtIÈþf9ŸŸß-ZQúÆq˜ÌˆÒ¦ß."éák°Ë}HÁ!£ÞH^)dm'ÿA–›H‹žr.H‡ÚœÇ_’_E¾:rfÓ"­Ré‰5{˜“¯6/(nCø2oZa.K‡qŒÐ½ö<šPTŒ[‡ýÛÃ,:oÈó@vïØß3»Ô ·ï»ïb´‹Ã†Òv#å~I³ít(«W>ka×ÛIàUWäx#áÜ>iÁo I…y2÷_çE•¯W黋F ™ýóž5Ô¥`À0æ@X"(ˆ>3z}÷3¿í¯¢Ê5Ç¿“jóÈ)ØCúK«@mbٗɯÕðë»RAš,’žêÕÿj÷„ðw0ÂHæJ“?iB;˜ à gÀ_ÃLÜ"î¨ÆÒŸFWüÁ¨ÂÿÏ -yÔ¸\w;ÕV O ©Á‰»JÂbgÊM³E×¥³Q€e±ÒÜT{êUÔR^q”Mì}d0Ée6 GsVµ-—pO¤Ñ0$^[hÀûX…+ aâÅZ¾8DtBm¬MÀ‚Ö[*¹EOž2Ç®j¬ØF@SxiœmÑöƒÎøçXIðf<´œy0ÔÖBaìç…Þ¿µ×£nJ®úx òŠ)£'Ó•½{îÎÒóo{¥áø˜ÎV·ëàÓ)Ïêo}=Ë?‡ìëÃÌl¾."ÖxÒŠÕÅ)BÞF)kÖH‘vi-±[~ó%™‘aÆç>#3Íݽð‹±•eþmÞ{¢Š²Ô0úÏÑ»Õ0ìçþ«|Uo¥^ ó¦º-ûÍmB×L®º,hØ ·S¿ïññ÷ôC"wß±­vîñïŽÀ˜Žª–CïM¯vgÚEjÃñoX÷èVŠ—ÔðIèÔAcnçeÆEƒ ¢¡ ‡Á"º†rÆ~Æj²W¹ßíá;x¢¡„d[KV휶äyh½†=áŸI)~pE¯ï8¿ÙÎýx°ŠÅŸ™•ñf ލv,êÁ}r9u~,\àÞ¶¿ÒWÆ›Ük§åÜØÇÁò±¨*;ãZ‘“%6yƒ/›`æNYàÔ{ëÛ@¼¥&tÙ-ø])À`ÒîF²þ”ðÓXM]Flí¬<óPîZ¬×ùšœ&¯K܇ó*6]œÚÝþIr4Gø¡Iº[ÊRÚÖ(DÌxÜ…ê’hµ³I Ũõþ)x²“ò¸Ø.z³I'G݃=i¿DbÛ—}ën¼²ç“PÈúº˜ý› P–t§/Ýßn")QUê>…Ò—ŽÉh£*`£ùíÐfÌôÅ3²&û…!0µÈï‚îYKêï¾ ¤­h¿ìŽ•/°¿¤Y“Ró:<å5P烋¸«*S]n`RI§ŽÂŠ‚f«ZLï‚Ò$©ZI‰®»ìu"ÓùFØWÜ5NÖ˲ád’Óû£ê£yê] ©!‚å ÿq*넱¤"½Ç'#.è`7 €ÞýWŸžC1ãOî« Œª‰ *SJˆ]„é층§Å#ì´¾ázӹܲ¾ÓmlC’ïiÕÃ+Ýù­Úq쵬þQC›²¾ªI´uüžú¦ÅÝš­Í&QçŠ!blž¶ËA]•äfëŽÈéiœ°ª7®úUD|l¡+Rܯëí©ZüQDå/¤,ÛÙ KÏÚð»P ^ÇXžEÎÚÓ ¬)…º34¬ÄðU‘ ¾Üy÷QªÇu#€‰“§š `ä‘ßú’Ý3³‡ýg™›ÿšlÙ uU+7>ó"{ “N‡…ô ˆ« OG˜°AØÇ"q[»G–©ñ°½Á¯UÖ°¦Þy*½¶óq ‚çƒÃh(ã´|heü¾:m/‘Ÿ9,Ë\“¨TDžãƒ@…½ ±=îæLu»Ö¬%¥0=z¡¶d“Ö‡)jr¼[аâ~Ÿ“ûÊØ62š…&²2ªVž÷sî8ó–µÞÞ1ÚËCĤֶxÙòN]­7LU˜ÙâƒÿÖ½ì™ °ï!£MZ­",‰úƒ>@ñE@A,?Ó‚i7Ôï^“ßL'H€ÇCE­0D++¾¥Kò†Î–A¹;w¼³¿ñŠÕa€þFmÏú(93b=:˜_ÓžË"+-[HÉ ÉŽ%®¬ÍJ©Üv •Á8$pÕN™)]&"ê½{<×f$Ÿ]="?‘hp¤]Á-7±à4öº;½òÔÞPÒf=–qe_göø7!kËÒoIƒt«Á”é‚®¢/véã²1g¾¾9@è?ˆZjtýáÊMc–Ñ¡qD)ìURˆ:°>%îèÄ֨ϓ&si ÚÓÞ¸á7V^RW¢‰š7²¯ŽÈÚ}Õ{š_7Ù«Òf8N8s³PÑc=;é7@  wW÷ÖíÄJÀ…ï•ÅQç:q†ÿå]‡AÐn”µ«OÒ°‡ÏBŒyʰ2Ö¶Ž»Ë`\$é´ãKr¦3ȸ«­Ø¶éK*$ûÒ™D,»úQµõ-,©¥n´ý âcôaH&Ÿ£ìfÊå"‚sæëÉdó•¦Ì3­xxØnR7YMJ:Ñ1*ºÏè÷Š/°]ç• Ó¤ú'ôæàÆÇDþ&ÕM¡­ÞRfýCa¾>Í&D‡ŽQµ]ºù;.}ðTh/Âë!8t€b»yÏeHß~09•b9`Ù(›mY•` fKú›³sº}d†"+®$gáÈœvàÙÉ1:YJcôðì „uµ„Í¥ˆp­š1;ýèm^Ôœ–ü¯žå v‡Jš¦Cj¸íÿþØAòFFÌ÷C»ɵ}?Žè=ÿØ‚aEÖî Ê CË´ïmnwÒ×Ð 1VÿR¦ 8ž ¾¡_ç‚)4ÝgíRƒ ìñy9T%ƒ%¹VþDîG ¢DÁïåo'$þ^\‰N| Üò…À~ÐyE[Ú½ÝÄÊ©r4ª&KuŽ é™QèaòMôÞXB­=Q¿ç{ÙÊá//°TM€Rû”s³œ#´ãïë%8¤#=u„Ã>›(·Q‚å~S‰*³£®©æáJIt°F,Öå'€\+MÄŸ $õÛ3OçR”¾ýÏ‚ak‹„õI:~¬½‚¼UƒÈ­9´v\Á›ÑÌ»Ÿ“òft9Hc¸DÚæÙG~ŸÛÓ>ìÞÓ»¼¦%7½¥H÷Aë»]ã5ÿþú:®‰lvˆ[Æ…ŠØ”¼¤Zâ†ÖˆöÇGÚô ‚ÿvS `Ë IäÙ:/ë—!选DP{ýºÒ¿X§õx!qhË™9“àÊJ§ÃL0kÚ¯c¨âçãLÓ|ì%ê—£ƒ5'èjS%?¨Y`Ñ.ž3åŽñ÷zE«#«~OíMÃzíJ佚XßæN½ß WôaÌгMr„åg`Š œ€/Åvæ«Å“‡æ›^h-Fa!á]ƒ&á¹^"Ǧ~r‘ƒ™N!ŒÚœ©q€½K¸Y N>ckšë“ª¢ST74;OØŒâ‘!ñÿsXÑû,³‚—ÿ;Ïo?™pÜ]“|! 騊î Êû¶ÝÔ™kÅßf耑‚$ÂóÛ8XEÙ(kÚR¾z%ãØ íÆ»càÅÉ=Ú$€¾%E˜Åã]Û!A×ÈæñGUƒà”Š÷ÅÄò ºy;ú=< Ü?ö6ìc·xCHÔ1*gŒ%a9_Ñ* …2†?¦¡î;²èN`òÒ°ðk¶'·œWÌà÷¦NÂÑÆ5w,1h»Qû•¡WìĪ¿ç!j=¿ð§§›Øõ0ïèÞô†È}üŸDl¿­‹9.4 ½Ì §hKž99ªê,œ<„òfÖ²ÇQÍÞ 2Y×¼\YxiŽ‘ºó»³Ucm S›M+È¥›Ø±I«^ÕçFÇÙâí½íÞ!_ÊxÞ•=¯õ¬>§óGÐ ·ä¨;Èp!‡¬¹©ÅÞ·æF§h£CH÷¿o+0<ËAYuÛŸ#éɹ¾ÑK~ÅEW@ðÙå‘Ãþ€mO5ñxw¾Ä{Ò¨&W±Q÷Qßß‘ÏB1ž£Ìq*K~{üav¯½9Y¢ýäqfSuI? sÉÈ`¿èA–Ð9róøYpä,;­¬ŽÁ¯Ñ°v˜è.üÝXHòˆE­ã‡‡ÒÃò$ŒÉJ½!f„MuìpVò·Gø9éì7Ðþ7dHKøg;ñ=# t ïSZ  Ë]bf`0;‘¬:o)&œ” ·àòýæ8ØÏ>ÓFZ½­­Ç*ü³µº¦ÝÈ­m-g›ªÆºåõ“(Ó1‰š+ã¼**fÇݱ$—’}\ë:œÊ÷˜¬ÜH,º†ªãêG¾@ZâÊDú³cpÆ+n_IºW4n{+NÂ}z­Õ¹yÌÃÉj8Ú-}G`|§—[ÞÚô²Avj±eMÊY2 ˜s}´7K‡DœûÉÒ[™N!Ì€•V&âå«x~r”Ç¥ÝË‹5p®tÐçÓJ &0ÈEñ”èÙe©­Ä, ê_WQU(!†Y1­™Þˆßôïû$­«}ÆyŒÓÀÔñÅ &àZ.mÑÚ P>ŽÃ쫪i/Ùq“A6ׂ1XÕ«EŒ€96KßyÒ.qï Oè{‰[ÖÚ~&¡q‡ ú#“!×$-·†ÎV1XzÔç|D2»ˆï0ëOY²»ÖvÄÁBºmøW,ÊâÈ,‹¬õP:4+C,]>ÀNGnŸQ÷ÚÜ Wcã259?—GT cæT jéù/ÎxÀ [§ §]ò"Á9ŠÏ„Æ–ûÛ“‘Ç1S%oóD3}½‘?ñÍ„ì\çƒÜdžÐz<<½›ëø%åÓ·$ÑŒluÜ‚Mù\Ïš.ëSî9½6ÞŠ„à’]\Lõ×hRE‰.j!Ôõ 0°ž¥ EÒ¶¦Jc5û’îE¥ŸµðK²òI—n^µì)ʼ¾× û˜…)'»JEG!§é½²AÅÉE•^ÌÁu4Ú=bÒ 9§»Ä#ùbTY1ùŒB8V©*¥ÇÉù•izuÐ_&è·/z‹Z€?³ò8¦uˆV$€Ž.c93zxÝ· ¿øÇ䃮Š~V÷s¡K”NJ3h¼Ïu~qO_ä@å~¼ 2ó¼M0ÿwHÇœ1Ö} ¶÷VââÝÓ6øÀxáK^oßAE¼ø­U1Td Ž•è LªHèA`mŒç`²ÿgr¡)ËTíö›$š!g#2é2o´’Īo«ø—õwXéÖIaw»š?Fí‘ý,R3Ð Áú²°‰„ª­??áy“lpþu!¶ZÚ×Oýp3ø¾»%ß(X9ÜVÕr×´Fêž$Æ€©BÖ‡±ß7VtÛ‚¢ãâMš$&ìÐQ®;Ôåaqž9×ÛP„¹mcuþÛì,Hè*–IôÕdóWE@d8_ž5B„_©K`ðsÄ×–‰µ'Ñ W“#h›p.â¿„î|ˆ´û÷}N…Vp|Þñ¯±ø7‹í!‡¯£S{eÄíï ‹b#ÕPCuh²þÃÁ´) ­@=ŠºiÇÇyšj&­ÐYÙ²)[ºØÈ¾Y™eë^Q–0U«ÍlÓk!7øéópAÂwq-N&,FâøVµÕŒÖÜt"~ ¹Ð>©Ø²«ƒ¦‚€¥’¨lø]'® ¤ËžvÑ—M+ª¾hã!áÀŒªõž’$Ú:è¾!µ‰y(ÂåªJÈ`Ibí;ðŸü-Æ‘”N )î”óÍ ˜]úݳq.}óbé(gtV¢éšÉžO»9µ­(MöëœáwY³°êå†pù×îïtáâ8_Œ7„“­}dÑß9á!/ë噽 y»ÈOå‡hLžYàr[M[1©f0iÛP¨KÎ-\ª6¤”…`íΫ|ÁÄLIÊòô¬c«Ûã2¾²,á†D‡¹I±mjžœÃŽ+tD¢N¶g4¡JMo•··—¸øòq«5ÑüAö"O¬GtàlÙ àÆÃÝ!,^I•PÏOäê(ž4ù­ë§=óCÌT˼ü–|±–l\Ûþá “vƨc¶ñœú„ \z9•^®›t© çË!·ïàÀudz™þŸe^ n„Èt=nx‚Tí7×ÞÙ…Išö´7PëÂ(î&Ö˜Øä#/§Rl?àK.äµQK‡«ãÓ¨¼„ªt”¨‹ykliÑÞs"Y΀´ð¡¸ÐrQW×ò†Øµ¤ˆ»>ߨÅ~.;_ ÀÜérïE®wïòä_ò‰òè9¥L御Bb yð±ª0¶;?rF Rsf£ß8’ˆjtJäwkOÕ¹^¦ó|Ý +T¾¦äòüDX\^hi¼GûÜ qBýÉD¯?«‹‹Z,ÎÏ‚¡KO”Ä|QŽGäx¨p9à·Eù‘™Ë…ÔÎÊL‚5@VŒ5."=ZÿÀtÙ0ò¼rI—ð—ôe{WýP@gÃÉ¨ÝØÅ§ôb«/Ž3)³ [K<_¦Ÿ“ƒÑu*ƒf “~n9„¢è·êbŠœö È™»Ž8v../µ~pŒx™ó+—‰Ö :LÿH=68„sGp±»O„»O:Ö8÷ ²ÂÓ<ý<ÀwÈÐ7Ñ÷oôN6€¬XÒéÒ¿]†åý1k[(…¦½Ç}EX{¯MwÑØÃõô»VŸþœ>¼ÈNx*(³;Üünç37æÙ0€‘G'Cý>n‹Î–ÑùÿÄxA_•{Éåš.¬¥Am»S}ñ¼fºóÒ,íe'Qâß«lN˜#–N§ÑØŸà7¡4@È¥:WpêRî×#(½Áwhö,!O¦&8Ã¥Ôz'n°E,—‹õìVÐÌ ¾s×ß/fYš££\’$ÝO©Ù;ÚuÁK ¤{d+XAÊ’¬l'ý|ƒHäZ¥ƒà©`€o‡bš¡µk”•wÑFO~uAEà3Ø1FÈ.ä:¡³hùÎA gwOç]`(²|Ó*P&ë[õf‘}æÝRþ a>†x•SçC1`à_í 3‘Ôr7–«ªc•fªªÕó‚j qª,“ßÕ…%•o –ý8Ì:ÀêE˜¤6³™Fkoâ®Æ!^ü?ÅCð©|Ü~›8A²%߬úøKË#i#vƒÓ±»G“Sõƒ¼öIÈ9lƲђs$yù¹%åþ“æ;0Ô-sE†:i`ìÙÚPm}.6Œ;³Ïެ»È#ú…ubööôĪÛ/ü³ûb.m닊FUWÖÒÙÜÐG¾‘?€q/ÏÒÔy³ß¯iëÇ OD‘ÿ/˜Û”IòfÀ= “©îÃGMºÑÕ*ÉF¡)—˜wÏ´¡ØgPÁÂÇé~ùdü+†BOžR}m3O°ýÒÆé˜2‰J Êôp[·øXች´—{òð"Ì„2lMëé¬Yz¸ ˜Œê‚ï&œÀSœï tž¸$ʺ 'h¥Q3ÿ3:r'ñ-O\Í_#ò”t§yºý³†H#U5W0ã¦(2t‘Þ†Fœ|„*¸kuåÈô‰àyx¥ìÝ3t#)1»ö8NW’ÄX‰´qŠÎÒ4ÝáÍãøCŸ ²i^–ÄCÎß[]¡v.åkõ9*$(ãï°Ó ^w~ŧƒ.çX¼íK•ïóiR‹ºÆ•O¨)¹orïv£¶Ì¡ØïLøƒz²b¹¸N•äÓ çG#°‰W U&Àþ³ë䘵I¾O첩+If»<K£ÉŸ7‹Õ¥êàö%7Ÿ÷›J2R®PêW¹2LýÉ2ûŸ¢—œ~p†â˜¹C¿þÍ 6[‹'[¶õ0w¹0 ÷âmj`v{BK<ù‘âV¾¶«dôO 5Z±xÚ(^Ô?‡G*(E5óõ?ï"A‹.Lqwà*ì÷Ï2ŠZ@˜šÊÌ}âypCNò¢jµ.àõ³MÖíË.ù‹ˆ¢ö§ÒMö,ünÛÒrê©5.^‚û¥Õu{“óóŽÑ>„Y]€Âî&O«äÌÕò-õ …йËvW^ÿhë•Üù|àô1Cfär; ’aJa34‡¯†Û®Õõ™Žªã ~;~ðy_ÜÍIŠ(ǧ)ê›.Y vz¸áRl¯uà îÂûMêmƒkQ“…¹È©ÊçN¬Ø–ç© Zòê2S}íD“69« ÈçoÉZc*É3ƒN@˜œ‚µ¿W•@Žˆ„kôvLÔTŰÎ)õÒnôƒäuÌI~Wzá¶]å °]ùªêx|ÆSåcã+Ïç¨ÏùÆõÀ3.Æ|ç:ÕÅUC²µ¼Ä ’ ZC^Õë¶@2ÂÝ%‘Rä¥ÌPz¶€›NõûC”«~ÕaVoœqjø,b í[æûØVpÊBc$”È=­ùfç‡d`üfÜ}Ñä7‹o¡bBt~jK'Á7°{xú”Dƒ"Œ¹–29 &40ú“°öJ¡Î$>¶//S.ሄ`d†VÿF¹þ¸Ç$TÅW—ŃÁ,[ñ¬µ…ãÇi¬^Aeš-³’i/ò½>Ìv¹RáYç T½<ÿ®Üw}be™R†gÈ ‡‡à¶ýlSšŠwu¾ÛfÀ¤gμA#’§*'+MÜæâ’‚($ˆíÈ+ªjn—㺴 ·Ékb{nÂ=Ý”½Bü¸2V»‹èƒ^[š<6û‡¥OIQ’“A¤”~ÞÓýO»„´Èá9ÑDÛ-;½mb²¶!'ŒH?³–¡â?ï"Y{„´Ûâ m¹ª+ÃD³îÚhÙë!ëòIÏ€¥Öª—¼ü7Šž0jÃ7Ô:z$§Ë@ÕŠS8wRîY? &ÖZwÿl$Í;œéú㔚ªËÚÓ¬aë$!xmgÜ ¸*W't!.ùîTnä«À…(‘DoŽIŠU! ¯‹•·ÉÚ¤­c¢Kó@h`«12qRr£\U˜Cl@•–ý÷úóÅŠ&R=ÄÆ°ÂñÕܾLsú.¶+î³&+µ¤œD²uI·Àl¯ÿ`Ì6R0¦G/é¬ÅîFx'…8©ŽÅ®”S8ºê1„X•éõ5ûìŒGÇ-Úœ"M¨HŠw•}]}΄ô¿LþÀ¢éëŸ"ÃÞL}_íßy_ ŒÄ~ˆãúÔͦ€Gg0Žg¡ ™ ÙUöÌ„ w´<òWìÁþµß qØøv{h—hs¼HEÄ&ðÑaBô–ƒ}ó¨³8¡41Rò¢ØŸÁ‘ï¡[¹$Ûß hkšyü'ìŸ?ÅàÐÃÞ ÷šÆI'3ùëÏ€JºëS¾T»Öä±µVš4ãèœÑ$Õ×£…„š­"É1±£aZƒ% ¤•²ŸMj?ɘ2nj+àSGO^2¼0¿Û÷ Ž}¡ë2ß”ý€»“vj!‰tíÍ  "Þ°K7()ÆPÑwzDÐ쨿Õèûo-.žÂ¬´…«h|«š Wݽž°0Ò ËëÀI!… cã4û9F$ÿÓòX¦/ÊÍÌ• ɵ9/2(~—Ë0|•5˜kýjŽ@Ù¹Ôão Hy„ÆÝ’"RêÞŠlεódO$ï–Œ1ié2-^yT¯<ùø³š½ò×$” å3ðTwXÒXïhºÙÁ!zÜNjR”bJ³ZnsŠt=óû½ŠeüêabÞ_¾ÀÜD3‚¨X˜—S;Û,_Äd™Óýszmê•ÎÀŠ:Îãþ}'Ú¯"Bï¥vWCŒÀ!AQYˆ|¯ê_cÜï…[{ñÙm— 5;`)Dü‡µ(Ëù¯âÂ7ËézÜÈŸmÆñMñÀ= ².¼!r@èoË–äû¹åÚ>s5ª‚ $ýÍ&ªï¶qê>¬9ëMÈ áнpt˳‘.CÆÙùÝç©€mX|$Ë{Ëä.?h¶S‰l"£¦›NóÙú`þ˜Q\©Qñﺙyiì>ÐxçWÏÒº…@ïqµºy’Û »ê|_ÄéÙrM6%»@)U‹ewd¬IÚk†+₃0¤NÎ eÔ×IÌä‚L÷õ:¼÷®à §µì+Ýyt2\*wã>àñ,£Ç88w O‰Eêäu@šâF¹PAzËí;`з'XC`ŠM·³Êé?Àðɘ¥òUPÙWDͧ.¾ŒcŽ ÷'í÷iìw•˜¶›9 7ëX¬“ådnÛÊç%ôšß¦¤È߉Ñ~Eﮕ&Ôn§=Ö4®/›¡'ÜÇ5^V?,N~Öø;% îOb‘˜€€tæZ¶ôŽ9º6®Øð‘ÛŽC]Û Z²‚©qYãêÙGnÑû= £VèU-íö[?‹NtÀòæ#9˜–PF)4.|λ¶-U2iÆXÃ)N» ,²"iØ*eç„F¾-hêâq?EÙ ôÖ÷,o©‘ú®«_åãïÖe“FH5³þÓš¥&£%á[Û7¢—Üf…)¯×ž­«bðï à4%€Þ‡}´ÿÚ®žï›j×>'`55eõ”$YIŠ@%Þj·ïð©þÂ>¯=¸Š><6"*Z5ùó>o{  Î(f’€‰h˜ÍÙç»cà[‡1ÛSª¹53rÄ61Ÿ0|ööt1d"* â ÒvÈZåçÕ§<²iÆ2yÆñ×2@;ï6P(ÕÊ€ƒ;zt·Ôô*³@ùñz>…OO•zgvÜq|ÀèpÞíV0n7©<錌်㣱pq½G«™×èúo×Çȉ$Ë›uzŸúx•¸\ë˜uð3Ñ{gïuî4T]±Ö¼¯Ñû7v:RGÔ^î‡ZÓÇþÇ÷ö¬fm“;Ë›Jz™|ó!Š¿›Ž²n„ˆ¨÷h-Ó}•꾋` _B:†‚G:TZJÈs%…ÅÔ'Ùy*GHEù ó°Çn þRGø=ºýðÚ²úðÛMaÊ!:ÊOQ3ŽÖ\‚ÄÚ°Ó®ŠÎsëuú)ΩZò‡É¢Œ@q_»¤õ¬õÊiò¬šïèÎ#ͳþäØh:Êc¸oOt€oßÿ*ãÿOåñxh¢Î¶a”žH®Ù«>"è :‹N²B×y½Òö‡šonË¡#ž®ë]ïÕï e¯€è+ã«©`Ï Ù‰“z•þ)ü”‘³)BF•Ms««Ò^*ËiÅÊ¿Vâx§#AÍ®LÑi.Vúa«hdì(¹ô?¾ñäXñ,„+þÛ~¨©ò7Á?pƒŽ)' Wö!¼HßT쵚}™½Mj…ùM´ZÁ×`š´_3EDsBA±Á“”ò\é» 6ÎÃÐNYàUÝ€*íåöj(^Þ/p »^HEiÏ™‚4iÝÌa÷µƒžÚŬdE°Pî„=vàx—$sª¾€™0°úwÅè4Q¡(r2u$¬# _ì ¾RüJ Ä.=FÃ÷búpÜ/ç?ÿLI=jeô+/þ¨®æ 0³ëK:×3¹ô4 PˆUxºœ–üªëI˜öÂD‚”)d|¯d»Ÿ;p2˜¥rìëZÉ<å/‡>±2èÊ©åDt¹‹Ê}3øÏºÃÆàV¼f7§ÄdŽ^ÏÀLƈ=D©À¼Z2ŠÚ—Íà-E"ë…aA´”©²’±Ù÷€¢•\ƒ¶û„¢‚ȪMºz–N¢›YpX9,-X`yö|9$µ„oSï (·Ž¯Ug˜ŽJzH7¶Ú£Ò~bÈ- Àn<’Dq¤±ÁºÔá%ápæ¥\‚ôþº›N qT|ˆ›¾×2|r[,Ü2 Ýò+,i^$'Ô-x’$a,à8Ù&~ð H"ü£ˆóÌDH«ƒ¢ÃsÀšWðxbºG¸ØÒÒ„˜[2¥ºÌ™F~‰˜ †Ýsp` Sò+mŒEù¨Ûa*WŒfŠ2­”i"‚@k€{P&›ÿ¡Ï[ŒÿÂvÂM^( ï§àö0)&_«‡QÔufe•‚û37¼ ¸…pV˜è _lnC-k)"Û"PäD~óÐvƒ! ß½ šrtD¨À’ÿLÙ¥ÈÉô7é@÷‘FÑ‘|ZÏЀ«ªÀ̯9k`e'`,î=ƒßVÅÙªçÛ‰žÆU|ŸáI šJÈ«©o¯13Œ-áIuk€ #Yèÿå!a^ž¤“FQÂZH¢×-4,ûw0-wnÆ³â­øÛ}5Ô±’3ˆ¡¾'½;IÿnÖª2ƒ ¢B‡O6Ñ¡˜ÅY¤Õð:p½Ô6u·MaÓ=¨†{Æó˜zpœvئծsëžA"' ŒÊ¢ŸzÅ]ÏHüÕ4;LÕò¦ðËß!m/7L”1¬»½_ ñÁº/+K£s¸PSo§˜°ÿ!GžŽß’‡ Ñë©$ #Ñut#/qƒùVa­â†ë ¸¾ù]z࣑Úzitº0.|öæR£-ç^4JঋIï#ºœ‚œ'Y/ÛŠpRxo:´ôâÂh”ï»p´‹Û6®¿^@€Ï rRqÓ] âNà]ÛFhvˆK-UdœöuÀª¦‘ïeñÛÁá–f ÓÒœpÙ²¼Î–¾À²šfk>fÃÁfLHwyk däϽD]Ã"3t Gc2=’¹Yô· ¬2Ô¹:6xMwõž³5ÒoãäÚ Z½9Ðæª’„ñÎø«Û¸\‰;éèÜÕ>û“ÉØÎTãù·Xi¥¥å0¾·iÏ…*µ-å%‚ûJþ-_i©€hÍZ,,=HvâÉÀí<¦ó4´ÁθÎ=¥IÌΟ§C:B2K ÿEZút »áK>WQÖ<7˜Æ š|bj™æA§yÑ~À ^xŠ íCqê†7FA3ƒ·30=xj±Óg–|ð8,ç5 w:ÂëïGe¯òÙ¾Ôäd9ÖÐYBêÓ:”?RAôŠxæ#D‹]±Wmš³Û-Xlo/°ÞŸ2³ãx†l,˜“jŒÈ)Óð e]ûôòIB¢‰Ø$œït ;«ËG›èóRÇŽ|÷5ÙóæloVa¡³*ѵäM´ ÷£gÎGßá@¹%¾.[bìŠ]è)K€hZzªM>¬)? &ðD6CÌwà³nª#SÞ] á,1ø¸j@ÏV@AÐÀoàºDtÇMÜô÷FʳcÎu=°WaôTOõ¸aÿ0fÜù#Óø&~PΫ‹u”«ô_ÇúðH¨Ó;‰ÈlÒÏ´¿‹M5Ó™.¶‚+³¨ê!™.Å›ÄÜ{&©þ–˜ªqÎPMjƒ¡‰òXáÂÆ__¡eÒ´+¤p¯¶°Ye’:K w'®#°^æ kìoWW9ßf^šH¼ Xμ!hãJÓÎù²©IM¦Ãò×JÎ’%D‡~Ú;ÝiƒYÛ•Fw?º%C¦FL¬ µ†báÕ>¡Oßy0©‰1UⲚñÄA§t¤Õ£Þj*j¢YuÀULÏViƒ3c‹ï:”É¿÷€Í…#ŽÃx¾„êr`‚0‹_rÅzš_æ sbµÆîÌÅT\:/nàÑC 2å‚´Hù~IgÉ]”_w¶÷k‹ýVÎŽ ¾j9IÂØv,c–¢}}p®j•r‘90Ê>Q%Á³œ¾{d9cÔh?Š9®6r`2šÂßüˆâ¼¶Q+È} h8¬¥~ãˇ³Kl=Cõ-xw”ñµ;2® "¹ñ_ëÔ>ÈúW°hfÈ­,@$è`ÕØ0¯˜ÒvR.ÖîÅ^ëü#¤ýí¤ñÀ/6".€bwÚÂâ_ÐúÿkÚ¸–åHz§ªûW0?*¡òøð§-g^{Ã/hiRPÍ‚ûš#­Ò  ï…ÞŠ³\Ÿ&l!¸RÐìâÂÈAàeáÜá” !Ø‚&Ãír«ÎkÄUƒô’Ü_޹îŸû‹YŠo ûZÛÁ¨—¹žÍê/`"„#ÖÈŠ¸(._¡õmÑ.c[Œƒ+LAphT'ÿÃ?u‹+ÎÙÁ=ĤùøÔèoΗžVgç…ðIÄÆiÍPÿ÷< ¦*ZÀ“Ÿï½†½^É(ù´Š›f/þ[È‚àæ<@÷û—¡Ý|¿Ó ÒÔ»Oû_g)6b­SI‘ªÀµ»{_ý½² o\d«!íÞ›û zhÒ tCg}-ôûZPÝ]Ð:·`¬­‹y\´r(–¤GŠØìèåLJâQ6UÜÍ.`WYœMðLÓÖ6—‡ëåê߯)§†/ÜÊ*I†)W»6gãDj¶¶;Ûïß/WÆUëGeùÁÂsˆ­ãi#íwÄÅðÍËÌ_vÙ¹^Â[:ü «“0^Œ©»i$>ÔìVdñ´Â»bú"¾FÇûófñ @ ;>àû.ùªŠ67€ k/‹øK@ ×3]hò?šÓŽêÍÁ^»ë«[bsÐ~cKÁ©ºTúEpߘ%"¬³cê–ÀmA§Ü¬x—m¦´šø·K}ô™I.²fT"ø;y‡ïtŒ /¦u€Xè Ò¨jq|n(Í«]USoÐå­[FãŒ1–IÅå+àD®ýE Ü€C£ÜÍík§nRó·”— aÉ[T#@+‘ÀRÛáÞ¤#òiŸ6[jÜ8{ÂI÷ -uÅg7ïdEã´+>‚ENÐÐ Á54bb¥u Yï–‚ã·ŒÚxR=K¨Ž¶w*ï6—NS—…ž­¨ùÅÜB·¯áðÀ )bÁ[É^Îû;›“`Â\zvA» …dgš{éÓ'÷ÁÊûýîãÛ3jw¢Dÿæêf+I$¸ËÞ”qúU^INvíÏC74iÔR3G¤GŽ5ÅÆ“šü(JöªÃêä '"\k&f–YÔ,VLe©¡‘oܸd r…dâK¸èÏx…ã •ð²õK¡S¢VD—”Wìþï+Lˆ*Îw”!uèœÔ¢ÜB6 ®²>iþžK¹NËg\f‘‘ʃ¡‰29Ϧ3Æç_UoêÕ§Ó»¶'È y_SìgsžÂ^U¨\O ò\Kø4º¦Å(úA‡ìѲÆ9Ãd½õa-î+=~×SpHQÀ.–\\ÿÖÍFÕÓžŠïå¶}Tø˜Ü‘óƒ¤+ó¿ýò?5») VÖR/pl"Ã]Z¡ 4윮îjº Jhu ñŒ±È~Op)¬£±Uðèˮ݀ŠYµsŸ¢UeÀe{'&>ào˜]°5D^YÃ]ÐmÀ{[„i?u¹¢Ü£ë)ŸáÉ2ËŠfvçÜéÝnõÏŒ˜Æ–`¡ “¿‚ Ý‘Ï`£‹(+E3gt¡r Ïâ_]ˆNžÓÑX6뫈írÿÚv±Ê vøŒ' áBk¥&<‚ÉzdÛeÆhÉ–¨YøoJS,e}åÑË#ï·‰‡ú:rÄJgÝò3S``Hx5æF.£M Ï`‰Ÿ^ð–5ƒpE¤ý:4ÀÎçz½Öýh^™]ôn›N<0ɦzßÃ*#AàLJ¼¥1ÙçÐoÈØðuÛ?é‰'tël(ú®t†xÈijI¶wR¾3“°ñ¼=K«¸IÁåB6Žl°<g¡Üb"‰{wC“,Wü«ì´ü!(!L*oN b ×=ä.1?‰¶Goü<-½ãÌûЦWÕ“æÚ)Z8¦uÑW®PÚá\qpøÇ}Úv°ç@™ ­ßš…ÖÆkáʯè½ñr°HŠófäS5]ñ¸Of+=cZ O¾±µÓj!ÄÒ‰îÄZ\Éå”®nTZæ`sé_Ã5¹—µC«L¥b=+\zBºñ)(÷A+<ËLúÈЖÊV_ǹM£¡ˆ"¼¨HÕªîeZçcÍŒ9‘ÇvÑê1ûVÔ@ýüOT±±¤þª‰õ¡ûj·€h_0[€£uúûÐÐ[Ù0úúÙðûüMâ·ÔU®¬÷;yvÞBI£U ¼S@¤´¡züWs”ØU¯ ã¼MØ>jÅèÐxé°šLj]F? U“=ÓW¾B‡Ñäų§šQ|øGk^£ÏÞo»~׈åVûÑC­æ¿¶on¿î¤ióx£{¦ E‚,qÈÖ…duBI+›@,þýMë¸ã厼+Q¶8A]Pá‘÷C'yÐvW’œ…^ ,?û`*þuħeúuCuʉå‡Á€+Ü[}4Ð41Åñ¦'› +ôÈ« /8–$ËÖO¤óÇ;C/Æãœƒ&I."Ï=ŠË`®bæ‹ä9kl<|·,ÛaÌ:UªLúsiÏÂÖ|‹iûêŽvK®upQ¦­òþ®ÄZ"¢•Btõæ(HÕº"Hü«r±ÿZ³ýsÖc&ǺìÂîvFG«˜Í`¾7ÑhV Aö~¥×6t–tʺ':b(2u&‰…é˜-9ŒmƒX=HTßsAÒm|s;JË8]JÇå†ëe‰¸þ¼ ÚCÍ^¯Î«Wƒ(Ž-øVës?±ìhE„_£ý5 ¤¿Ô×h<ÐHŽë:®áêe” Áôé£tæÖŠ;Uy‘"¢&ÿ )Å,­¶—&KoúΖÙ^ Ÿ«©ZHgø£…΃Rá¦vb6 ¿hИ&!Û~å8Âî’èô†SøIH×Ãø†"ì²õ…µ7®€vQÅ—µ+sû}ŽWºXÝíÛòOgÃ{@ß7V‰MÐëOLLo©'yÀw™ý‹¨R“ß§1Àê,*³ô!ÆOØßH±ooHÉ8„4m3Ôµä©úy …à5C1“KPCŽ”ªC€èú3|_RV?è8×1Í섚¬.b—ƒÏ§Ñ¡ñ𺠴ïнm³îdLwÔ§æG ÏûÜm›†•¯Ë"És‡ ‰™½}¥ÉÀ*$âr²lô·Á að#â$‰K Â#ŸûL€ê5QP 0 +ÐåˆÜÊ{†»dî?7–GS÷Äò´Ó°8žáÛÉ;SX²ÏÞþi¦o¬Ñ 'óJ@HÈHãµÖìiÁøžœ •0,¯$I;Ÿ·“ Î7ûjÉÉ8F›@ÁÂs+³¦lu<2¹øZÙ­DSƒr3ó¸`™\q`âSx¢IÌÔÍsH.cÒptÅ—BmBà\´} Znã+@©3(èáA-Ûìa"5O§£VÉÂäêLËÆ¨VáP0œ#1Ãl”§†y¾K¢!ÄK1tcÞÄ·yXwWå/-å­{_5ÍÄœânšUJvíP“ETÑ}€N`e%ƒüÖSssT+pÂæÉp¬i câ:(^ºÃr~ Œø—ÞÁ ¥³Çnìa¾­ûÂé¹—j{ùÏQÑÿéQ²ØÍZ³a‰`§%ÀØÀLÕU9»|~jm„ÎüfËç#Tkç'Á9jÈpyùk¬§hKðli|ö'‰¤üg+‰–+YMot.JxŠ…J°dœ‘2HHG+E†9d¨{éÈ|]aˆ˜Ö£'iW`0LŸâ/ì}œª‡/ûH„€~¾nõ”ß7|ö‡Ãuº]-×î´ ¯WA=ÿ¸å¸"Í oFåê:UñáJzœ32óQŒ‰¸8ÎCT£¯X—y¸Ç€ƒVôæ¨õ¤ÌžøŠöd·¼³ŠLPlÕ2Ð^5;ÓŸKž›ÅæÆ¦༓µP×ÜtF’ñÄ)…b=¡ã ÷(ÍÝÓ;`§ÄÑRHZ»¯;®kòIà¸Ã’¦PãèEv-WÛ „”‰@G-†9-w<ï{""‘Äš£µá«ö£›¿§Ú¥Þ¦Ó~­¤4C2€¬*Ñî e<˜éøÏål¢~`yZJT˜éÛ¦*@¯­•v˜H%Ï©‘¿»:ÔpáeIçÝJ\cý,›?q»ÍÕ|/¼1›ôr!è™Ú¥X‘gêä¾FRÍ{î: ¾IHƒª¥ÞŠ¡D~8Äcü¦1Š0{#ŒZtÝX{ncà Eªš—"ìÙ ^qð€FÑw8¦Úš«Å1&ˆÇi²hô†².9·û½BN !úò·V þîh'ÛC‚@v›©}g®Ybñ´Šç´Ë»)SøÔ¿«2Cû Ò‚b“´IBXïÇÑdêb¬¬m­TÝ ééÚÙ6¦-~¡•åÍ´§súr”¤*!I> Ü¿à¬Bòhohk .Jô¸•“DÎU {’¥aÅ«ZËt"ÚD]-öŠ`DL2Õ¤÷n{Þ¤dç¿^ áÖ\öo7y ŸºèEa’/n0Êð‹¡2i +¥õˆÛMˆ¼A]©°7òŸôõÔ9©r! ¶Šª˜éÇëpñtßÅÀ®õ¼á×°¶‰ÑO¢Á]‘Ê."APó}vqZgðbäë‚âm[qOû°ì y~«^./1_ìv2Ê-ÒTë&ÙvH<™©>Aõ¸v*CÎ rk—…\â&—¤0‘¶å=æ·º­ûlÝ—Ð •H”éV&'>‰žõ8Ï (©E‘‘Ïúäg/PŽ ß«ÓÛ!›PËGp”~UhÄ=ÄK™èvĨŒžåSæ}$Œ×hx&|‡Y‚7b©1.®FUÑ ŠD]wA2 d ÿ cíÍ¿cî0æ|]õò»r#ØfE¤„vð‚„a6@Bxƒ¸›¶Äq9VÀOÍÝóÃ¥WYBÐŽv!¨ÊįíX6~¸†÷¯7ß—> ä-Þ£¸Èb IPb&.tí¦2ÈÝ<(dœR†9öÍ¿<¡ä1•»³@²¹ùÐë>=wÃ.’B•¨ìÒTa«²h`(ˆåQt͘d*TûÁ¸ Sœ~æ^:zõ7’½ûÉ{?4ÎÛ¤¤Ž½oF‚vüä—kaÇì¹Gt=8ßJn ÈEÇçç!ÔR˜¸£þWÖÂowŸ ˜P›òâ®.FL[((tY€½Ïï¯ÛÙR¡È„Ö{nßs¡ë· “‚ß$½A–m‹Cwhd’ûëu/¥ß.º†ÃÕ‹,YšÓðTB.g|¿YUtHnø†5Î6 Ô>#c‰ÂHÄ&´=îtKÔ®†,ž²`5q{¹Q¼ÃëÜø0W:ù"-UÎê´ hu›iNu-…ÅJRüÅÜ·ÞðÁ㎘éu ÐNRÞÍ\œ‹Œ}U­üŽIüòqp+^.Ãù!Ø¢dÎI­åÝ‘X"S:úý¼ DíÍ1 ‡—uÏ{uÙñÙ“=,¶hmŒ¡ïÿßDÛûæ²Ö¸Àö¡áDÅ1+:\´ëXŽ«°bè¡UŒõPJ^º°iÜŠUÅA|ê³jôºaIÃý8à¾w),þß\¬5wdvýô÷£Šs·"1óH3•ö`f­ç+x’–s`¯Í€J»ßÆ>鉗Á{©Èò•ÚZÍ·kèî1 ›Ø AˆÄ ™ƒz¬ÙÑïZʯ’ì@àþÈßá;uÁj¶‘ÚåkÕ€:>{òñÌÔ声{ì{7¤€þ=3êRƒÊ vS¸Z–1mh»>ú” ²D12Ò,üÙ7&ü§Žà2íN¾YhïKÊðÚ²Ö‰è\Ù£ÿ>"6ÿ×Ùü[ð¡¸gfëæ>L}œ•‹á¿{V_ÒµÈ]árj)éÛæÌÒÞC¤E±ÐMðÛóœOð±ÿ«Ç1‚e`$LbêäGæBÜ2\R$WTÆ&ñCæc¨Å¼«­<‘ôÉÙ5¨2ç‡ô€ÍêœÃ~,ÓŠždæ´P2¬ƒ‡œMæ)i¿ÞÙüe_”¡Öûvõ剻„ü䲋ߔo éoùõׂ¢¹MZɃå)QÎÁÜm¤+Ç÷eUÒUÔ#ÕewÏØ®!]±ÍvØT1ýx‹G›§ážøÏŸ;,ÄÇzÎÞÙª¤×Üy'%笟C‡ÔÕÉ刞¨3¦e„©/:ƒÎÕ ÌU1„ÿïœ0[Py‰O¼¿¾k<ðB05 ‰žq·ûg¤Ù¸œ¨Av…i—­bPÀñh²5 c1üHuM\ ˜ÊmøŒYú+VákGÛ1uÊLÏês­‡5ÂKLrÔ+ ;’*µ Fü²}HêùÚÊ=`;xÏmŸü;ù§D§¾'# `äe{é,y<3Q»¶÷ÍÆˆp ¸ÐÉJ^ašžŠ!®€ïQˆ›åZ¡D9¾æ9MôóývŽÎ~Ï-ª¨d°±'bºå?ÉŽkœ`Æè²,µ ,åºÉˆñ%& fkÀÜðfÉÕ¼¹{‰0 ɧªiŒt¯ ¨ °ÖAš2x¿ÆÖªÞ½æZ™îþïü¯­¥É>rØg¹¬¸v†ØmÎ^b7C ¬53%ù ú„cw[û“ÝA^…qªïe/ÃôpÍÀ”0"<¯~Ò†"‹mŽ•îŽ&<Õ¦NñÉØ›à1žÒ~ãÃX|³ðÏ_Ù')ÿK„ýEÊ(_¯‚âOä/¤ 9\¥#ñwäÙ½¾I“ay”fŒ~úJHàQÑzt¯àø¾½#)àÍùË¢ŒjãÐ=T=ì_¿¥ÛÌ|Q¼‘oq·,&“·R*>&K7Ÿ<Ÿ°´d¾{'øÞ6ÿ÷,òB”{Ò²qAÓª,ãšmÖW¿e aBpI«cFB¥ˆb= ™á ÝñÅÕŸcüªÆFlU×õF‡GR¹cpŸ§_|uÛDg> )SZƒ]p {Iƒ.·Ž‹ûOz“¨0ÿ^5^C ûCù®„$ñ˜¸vÇ9A)Z;w9Ö‚º-ñr’IŽv:ŤXÀµÂo«ʳºZ/øÝØâ\MóYäì wÍNú‹_ŽÅB¾öæPÖ=þ¾TÐ’,ƒ¨bÊË:UÈ+(»‰è¦BÒøÖwA9¬C`\wУ"þSò§=UóO©Ý5²5¼‘JÒxxö•…±iPáDFEÌ·é¼ûZùÌRa™õ:kl1NÓt&R[ó454[„¦&+îP†*R ©Y‚#rþ­’ìÂÈ#OŽRÆÌ„¸qÄ…x­V/›aë†3¶¬ÚðÃÊ †™p¨P4¬í™&C ´éýþ¯|ØñjÒ§m¦Ô!Õþn~°K¤È«°97  —üøiO¥ÖHIÚ¢>ÄË6ApÿQ¥ÃÝûGª”#ú̾½U‹4Ã_¾$¶ýH‹»±´x•(7øÿ»i$›5°°+⮉6Û“)ö&íZš9³>OLz–´ çÜyP8OÈÜÒˆ.!U:Åêý={É êýͯ+Z9S–]´+xÑÚ7²BõÍä¡B³Òšü¹ ¤ÚôÝ‹[¥=tÑà†SÖiWÍÁd¼8eš Ù]øƒ€#¯Ù“"téøÂœ LCEç6 ýyô‘Àç!ª4ÐHx …¿×Z´l·\ztÿ³eœ6I7C&œ†ñ¢‡¢G˜mŸÛŒ˜9¶;i*Zá ù÷DFd^Òi·öÄeW£¦Ïf;±Ô ýYV+*Íã_§Ô狽zÝ›úJ½C’5ŽXãÝ—£¨gP±Ý­Çíõp…Š#E½"6¸uð‘Q üˆç̇Ì7æ÷1~ÇÂáÒ‡lK#”¦b¬DDa"¢9Ä—ø¦?½ ÑVCßðôdܰ>CBý]CSï­ˆ¹š Â8h­\ü[ÅÛÝà—,MÊcþ> YÌ“¯]¦&”Í’ù¬É¢n»ãdƒÙW5¬(SoÑÃÉØ'ô®ã€*²ýëÛâ§}ʤ´ãÚÊ€åNKÍÆÖV wË2+âj<§·è´Ï†å ¾ý”¶~Ò&–¶^-9% jÕH¸sDÃÞ,ÀÑ/æØHã»85dxàÃÆòöªB²eä›?…“ <4ª{æsIÓ`YóvÁüùQDzc­bÏÂùid¿>jˆj‡ZÁš« y¼ ÝlC1üÌzÃì7äNêÖi<ëC¿/vqK©bù×:OZíAŽiöÊÊâPK·.åœã&p”›}ñ‰Q½çožÄÄŽåQ߈/c0q½ð!~8íðйÎÉ@ÅP Ÿ©‘€P¥öG†&X¤ôX,Ãxsù¡J-ü[VRÚ½Ÿ‡[ºË¯âª Tuä J>½¼¯ üé„v4ã ˜À(´çe¶ÁŽÑ†<Ñ× vϪ)J›6$o¸G)Ýñeò¬Ól=óÍ]²–Ÿª·+ƒ«~b¬j2iÍS|vÙw²^§N=ä7¿£Ý _µY 8À Êž¼X“6Œ¡ýC:PîžÒ¤Ã|u°ör±ÿŸ Žó¨49PøeÿZ?Â|#A¬“Ýb£R çŠ‡Ù›£°ÀÒj¦àý×8:÷É2Ìȵ‹Ð4“©H‡ÕAÖ6'•9[XÙKPȳϖ ŤËby^w%ŒâË¿K'bJÖiøo+ÈÉԢυµßh¼4<ž…Ü£—%52Þ’áLÔÝ÷åoqaûã½Þì²—qý8âÐ /ë:˜‚:päè{ˆ™Ñ\¯öÅʸop›‹¹$ŒL. ýqCxÅÇA(éÚÌ­/¥¥ôI¿ÅƒÔçæ + U „ó á×.¹pÐg·æ›eí—¹o½ÉÄ×cÙ‡!‘^¾[pŽ S~ÑŸQÉ…4¼?DLYJ’Ê Få¬ü˜~»Uh n²ZmûpLæÁ¾dµ :|H¾!ó"×Ì‘4§¢ê[Õ¡‡„ò s:Qlá%vrjç`ï‰?ÖÒå¯Þ0$Ib3+ªÂ©gc¾º§ 8}æˆtÝ Ø[Õ<Ø,Î!§S" >)Ò°Ž{KXé¤úÕïá^x›7 u@åpþÑ×n¨o_S`íùT-Îå„èl5Ò †›õ¶ÊFpËM Ü‘umz®Iº9‹y¼÷È™®/“žù¹ž~‚'l³9㤫Öå¢Ð:éÏL‰ãÜÁ*æ0$ºê¦ø6‡3ÜÜíÛ/§Ïx¡9N…9Ûäy$Æ®«>.èÜüŠ~ÑçÜ -‚8É_Â+£“T[ÙçSâìÖûý¹Æµðs“ |;Ûæ¨ûaÊ×,ÍT©¤çÏ6E6üHBsÊ|é$}'xQzööK€C4 ø'AÇÙJGxv}”l$¿PÕÆ¡1Zc5šÇmjæïa9Ïö‹â y’LR7àQÝC½"-uO§oåòX±x‰’»X€Ñ}߯L™ßOŠ0®Çî)8HÉ7›]ÅU PàÞ>0)¼ÓÙì@ð7½B.Iªáw„Z&5÷ÊbòEçÿ¥é£Îª‚†çÆ4äê峫 _þC!(™íF”ˆÿ‚ôò¤ÄÚîŸvYÕ"Ÿ’õêÛ§ [ ©—è¨Æ ”)`p£cÉØ!Ú,²nÇqu˜=¥8Áœ(GêDçù3†Dßî(mQGÂ…ëÏš«ÿz W°*=ÚŽ¢;ÉWÏ+,Rüf³¥HäÓêþ{( !|šx 'Ä…ÙÚhþÛìoþ#(Z¶þ”Zîw1}[VX“=ï>Ю•» XÚþ‡ñXý^ĆÅ'viÔK2&ÜÀs[\ÙÔH9ÈRG[D(g=l‚¸“gn,øcíyš[œ¢7Ì¡›KÇóm‘jܪuðÝ_[öŒŒÒ‹"ûÇ-Y‚q~]=n»%ÈU±%‡õáàíþXw¯õU9XŒÄ y ô²ÉÿS­1s—Ô®8<ýÑ^Æfö&!ð€³¶·¬Í]ƒ¼®è|n„W>ÝÊÑ‚ÄÆí;&âÅÑ0hvOÈÊ£o*…;AüúÀ¦”>šFÎw8ÉõdB²~g­*9jëân¹k{‹o{ÙÔe‹½¬ ˜b£áÆÐ.täü—xU{5c5B‚­<Ñ ¤QCU¥ôPÄÓMJ‘ÈÚóÜ-)QP ­¸).õ?\›½)ð%>%‡zÖXe¬I$¬ÖÉeCzö-Ôq~܆šîòÖÞÕYiÓ‘ˆW{jo”U‹Í¾6ï”îá×!Fº\î=óuVŸ=©Ÿûï ÓYÆ?åd6±å«K8<Ðæ¯BSÐMSíË5°÷éfg—5sRy~è_B«}`7ÿ >™ï]\Ïìái6œ†¶s#&>ä—Qè.¬Âm½£=À†æAvϬCQ¥iÒa*]`½%2©£xÞ~N)ûá9sD_;„³‰c|Ðu÷’_(W™ÛAùT† ÍóÛ|ǵš†H_¯ªÀµŒCšdF÷Ù`ë1x?‘±Í`¸'–²ûÇžd$Æ7ð˜Ê ÕYñ¨âš]ò‡ÛDRHÛãhy Žq¤Œ[HC‰™kaoÔ]õCWŠFdfË¢M¯c1Îþl&»7%ÇéÙŠO¦E˜¶8S‚orã'’‚Nÿ dù•eŸAù­žN•;™¹r¾XPöÍÂø8/ì7}lÚÿ ½YY©¯ÅŽn‚Z.iÁ|êN «0Œtr8c@ßÙ7ã*¼^mÎ |tq¤ B(úøDúÕ å°ÿÒìæeùådCfW:•Û°ø3n˜ÒË K%~Çr üZWIJZôI•'¦ñZÊÛ§ˆ#ö+t‰DY€– @¬«× {:Ãà²ô‡. å‘=ÈW»)£éÚ„“P ',=Ñ‹€3'ÍX2ë J²˜™„µ0Ëâþ m©ü p·° ¡Ñ*"Ìf‹>wý)¿ÑÄ£ªÖål”h°1í*„ZÁx ø?ô¯ÌÖзp%fºD"µfözaŠô…j2âÜ;á6sŠC†L¡ d—w`NöaWÊÉ ‡(ø„ ôÈgƒÉCœ³uZ™&ì<õ={á¨ü—sX¡ÃÁ¼VÍëÖº×ù}¹`s€vv²O&óͨÁ´ŒMX¬ßi|È®H“÷ MÑ„û0ü 7@ ³ ÉQš”šü¢ž:%32 ûz{¢–Á—ïDBà¥F+v»ñxd_gïZ,ÏXƒŸç¯=fïûÒ «(*¸Urm Ïhò ‹Öš+ø8ý¼[ãTEÓOd~y¥Ö´ÁÞ€KNùwÚ{®·bLÝ™ï>Ûè gy•“u Ÿaµ| zõP»‰€Á6ü»†AóY¶¡!l/ì Ä»u ó[?!¬/éΡ0ýŠQÆÙ_xwC{lº.ÚVzò•ÕôUN¨œAÎ1ÅäMJœñr­ÝŒîzoòQŸCÔ­c‡OÄÕd÷\šãNÉ/}PJHØ“‘¸ Š!ø¢’¦Þ¶‘ÿùˆ$PäyÎ`j¹€Ä¥ºMÿ ÓP¨6sÚ^7È‘Æw@±7žìBÉ›Š樖ÿ° ±Uáž&„TL—›K憪¸Å® Úù)!ZØÎÓŒ÷-NpÛ¡¶Ž­–“±1È›^¡NïÇ\xŋ؆më áYÎÄÒø’‚ëû²õ5 è4øCùUmë{¥n‡ìUƒ¬ŸÇüœ®[ãÕWhÆ>Êa½/Òye…Ú^¥%Á·¢x‡ÃÁaä¤2“SÁÿD™ÑëEe¡dA4Àäô¸ ûáz;JÙ9`Ø¥óèÈ1µŽÿ©Y#ém[ úk­Ð¥OV±Ðô9$¨4`9Íx½®ê$‰m á¬SÞ„½ H,ínúq˜Ír‰›ZÜ)û“ÚâKT& I(¨üôßÿEsýËãÚ7@:h…7r tDª:å äÕ9<Í]x–áÛå‹¢QzwÂEŠ—IHX&Ç̪z©‘ì1s8ljlõ§€ìããÅÔ!­à1ïFÊ‹þÙl:¾·oC´øá#ЕµTå>‡‚éÜ ÿ¤ë²˜v’ Þ«ýK ž4Ëì…>¾æÛÑ<Ô‡áD4›™çÊàpÁƒN×ù¹éΔÔ_HÛ4Ùá+˜Ër†,‡/—<둾÷ýÄÝú§€­]¬Aæþ¬âŠJ§ ªGèxn‡ç€#Cæ{ƒ•£t¾›ÃÁØsêÔ‘ò¼ _)˜Ø· &R.­±x“9›ëc‚v'ÿA”¼UΠx á7Þó‘Ëé7Z’R˜Vùe"Å·©ö8Œfì‹66lý’.¸ cîëì‘Ç®Ã]  õŸÚqÕÅ”…%è-ÂŒXÑÝû 8æ#•'åP ¨¯äè¶/Ëhê«l?\ÔUì:i¿ªŸÔBc†}ÌŒàDÃ_¾€yþþeý8­ý¿à€ Ps¬œOOt~•"ÉöIѶ[6í*3Ú>þHåé¼;éÓÒ†É »ìÐp{§è,°•M.kù`ü:òóHú=‘˜ã ¿{£Uq“BØOÌwDáP!‚]‰=Æ*Ò_+ö -•mA••“sÅ'¾Ö%<“Áú|Ô~5ßÒÖWPOA…ûèƒk|¨ØMÚÏy“¯ìj[ÍgÝúUÌÌâG‡ §ø02‡ECÆD «ðØ…‡¸üâ"¥¬1Í”6/4³M2‚ìXÉW[ßÏŠÁW¸`xf׿ßy³H PÓÞfÛI“mp²ýñ jàû(¥^s2…¼Ù €–óQr;sí÷z õ¹NkãÝ«x½zõ °Ÿ™Dc>¼vAѧJ­'1BàòµòþÓ_=×àyKIÃ~Þc§ªºw¥!+7b•h<ôPF8£‘Üi<×buòQ="[RaÀÙóƒö‚'Dv.ññÕmsÐèc‚[†Û+±½èö ì Xù>qÔ¯u,vvÖ©‘6°:¸F›óúÐ1Q9„ü…xødæ ¥%Œ~V?beq§_2‘áå<‚‹ËÓÈv¬{º‘ý¡Ñƒ•÷¸â”°ký÷pè‚V¼ÎÁöïzî}]ðC— \‚'Ì”™å,ÞŒp¨ªàÆC»Yµ'³*[€b(ÌÃÑæ™R…’¸b¦¸µÁþ=1¼²¸KøÍÊÂm"¤Î©@Ý®FÔ_ÈÒ£ÈýIQž@'F„†I‚QJÁÈRÓjHkª¾hâ÷™§¦T©öü™Òúâ–#fаµMhôѵ%™ esmj€ÈµQŸ4[—ØB•˜g‚üs’¡7‚:[*î9Ы-úÃB TížTÌA‹D U…Ù%!ב+ž”RÍk¹úh¡b!§œ ÖÞO£iCjÖeÁ±°¿ëÈcãîjeuôƒ£À<NIKÍ/NMŠÐÜŠ®ÇŠ4T4Mcð/Ü_Z:êÁ>dËèµðt¡:ÁJŠÚ‚‰7š>Þ­â*¦Öw ¢b `IWlzY?~Ó>RƒŽ3/ ÐSjñõ}¬Ðe Mc”KpSÒ îÏ-Ç£`§êY¼Á®ÑЗ‡–oû„GKÓC ¨;0“³ƒ~H3L¨ u;ŒÖNž†`¯Å?ÕäúÈÄQlÖK¿ó`¡:Ð:â'õ“¾ ).¸)xôÒd°¬oМ 5 ÿ»SœP¦¤œ×ÆõÛž™CTVÉÚë©B6ýÐIŒæµ> ÔΘƒp©ô1’º-¾sÛèþ€u=k›€Ô®üÑXææ X=¥U0âŒÖŸõtÜ&7MzmÎ-²AocÓ¤ðƜпnåœÝ”Æ/Ï‹Z»âH@ƒô”{¨ráàb­®ãéËÉ™A­t¤u=ÁÎÙt£,%Ó€;¨ÏrNͽnÙGb å]ø](¶ùv –t‹è`öä~Of/å[y„ãÀìÛЊ6.™E»:zÉÏs{èþÜd€Fò ú¤ùP÷ïøÂ>ï/ÍÑè©l#×âÞ^bLÓMtlo¡’D™©{Œ¸ß»(=j›1tžmY’•…´!bª•Þ;X}Y6 » öÿén[uMÅï ÜLê©€ ûÌÎèdmfKh±YæÖpc¿{mH‹H?íŽcwŸ\”›AH±ÊÛÆCPÌþlƒý°zy«Ð~\VÓrå³hOس eñ`Á¯óúœN›-0Ò¼ŽDeÊ+®ÖBÙÄ ð3Úr'~¥AÏ-‰œ¼l•<Šžâ÷>t Rãg*ŠyÙµ­daF.½È±æo—ƒ™IÆPžµ=ÃÜ´²) ¾?Mðòçs mp%2èg $8‰K×Fd€Yñ$Ú ¡rß8³rÕZ¯l$(ªHg"ô—y+íAÙîªufÒQ*D(2::CG1lÀb’Ð^<÷²uîÛ`2:-&SaÂꡰÀFdb{ÃYÎÅ'*]E¾fGënWs‰71ô¶­k*ÃØÌÆÑNqÔk!ãAt¤kBu‰Æ½/¢!¿o['¾“QAÐ,}Ÿ. ³1ÐqU^§ºÓ@ke87ÀŸ~©©·Ça °­.„[²÷ÅßdÄÐÒÿrˆ›xe!Ÿ«Bü³¶—`˜vÇ#R<¦šf ¨Á¶qaÁ Ð(H¼Píì6ño¹Yï"´UøZîÍš[ÔÑc’_(qLlÔ@& Ÿ3®dTŒÇ>PÆ»o×.T*$? 6·IHÚ “/‚²Ý 3oc7üÍL–Õôs@Ä{7id!K¥ú$1A&á£IÐÛmÙŒPöA¾GBòUU œk9…Œn j›»Ûñðüwî@wBo6k\ç©Û±}[æ6£r1d 8'¢w¼¾5¥j.†ËŒo„±JþcÄ·˜sj¨cî›S¦sÂw“€*¼²ËPiS3-ƒxø /B«jºÍi Щƙþm»~£ð¹zA³dg\¢*9&͆VÃ)s«¤ô¥Œ`úü‡qáí¶æ(„ w>PV˜5&ÜGÆZŠŒ“þÞ"%DÑû’<âZV`J&‡]™¥ Ù¾ÁþÍíOEm…™—0$07¯X‹ÓŸˆÓK•|~Z±]&{>¾îñ‡eÇÀß ¶ tq¾FT®„ê3¶¥yÂv#æ™u¢Ófw•9»D:Þ3Y “w]®ÅŸ-²X[ÜÁ$¼iF4èï%ïÕ‹-ƒÅ]9áZ÷1 u_f”(~ ËËŠ¨ ¿o‰}Ì£¿mŸó}ü{ÜP¬dKqËuVy¶î]oBLßYÿLÎüVœ-´ãÖØÂZæÀ"öþíPÜZ¸±ÕuxˆÍ€ SàFc}­,¥£ Ú¼ðmà´ú÷xSWô“Žw^ŒÅÐùñÑIaI*%i⓳ºã*;êÅ“­´³cfgŒk`—¦™q\B¸»¥](Àö"Y7½â= „t¶}|ü¸NˆB£`¬Ýit£pŠ“ÿ±¢yTÒÜ¥a\+cî‹Ó„7 ±çðÒ6’U+Š[ß*Éwi¡Xò¡[P1ÿ´w¼ÿ³•¯Ó”v–O û§ù¾ÖÃÜC‰‰³DTë+ð¡Y°¯tàyo¬nE6‡ÖÌrª o)RÿÙç.EJ¡Š·úåVμkÖÖu³íbi'TùöRXMòN.É—){ÌùzéºÎ½J÷š$wõBPŒåqT]% Œ¨nÓI„£BÎR@¾5µ½08H;Sä“Ùß×Ö£÷@f³æL†Ä­Õp-ƒ­ç‡c=Q2?mpñ/ǶNÄr·§iÌ«*.Ï¿³%£g”V}Òá`¿d_Ãó¶c…ÿÎî.>Zì¦Küí¡ÁT†~ýÊ/l÷TÛì¨RNN¡¨-¹q›DÝâ¡«9å}Eî)WIÈ8¤† "-ñ`BØŸnâ;"GF©S%®;³P÷;ÊÕ1ÞME.+J@‰+ðè=\ˆ€¢ áïÍû ¼‘ >ùÔû:À•Æ"­û®Ïo‘©äS²RSöð×ú,FQ`Ë‚,ðÅ%€‹ß«*e ù³4OR¿“¬%ýúºqæÉ²HBó²h:æWõâ4Ç[OÂ3k¥†sþÖTÍîQðÆÐ¡ôGͶƒüHî$tÉÁ9þÿþk¿Tw ‡7}ßÝWP.sÄZ>»œ€Úáçß²Bã»ô˽S!ñs…Ù9™¢ëuø{0"Ûo¨u¼VÑS‡UT‡M5zá–ø‡U5äRE`S>k˜\6ÛÍw¿þ,v…Y•„šgÆ3ŽåHAF‰Ý“ƒLÓ¨¸¥t}ŒbËVØL)þU™µpg£)ÎÔ©~ŸiV%:.ÚîSÓТÞ<ÃæŸ9sÛAa £³O;éþÒ#2 Š Ú3X=rê*-l´4_öh3ÑZQF Š×çð³skAÛ,ÖvóT¼Ÿ `Òa˜ »ŠÆ5Ws›„åPM° ÇÏ®‡ÉÝÆ:DE¤È]#2L­âÜŽšiÒ.K{'ØÆ\§p\yl”b>¸ñ< æ[%·¢L¢áS¸\«\ÁíH·9±¦(¦Õ¤üs?Y¶°ÒØü¸c5—Úžza«2‹…w׿ö‡s¾[äPfqh­ažÚT%å#æ"C~sš±ËÓ]àÊ?‘;º¬,L’ÌÍåxAÜóÞ¯¯n=7ñ3QÖ-Jº+ñýož•ßÏŽ2F\ú‰(ILÜ[óY¤¬ZÿKÓjÊAÀFÁ*ÔIÇi.L8X¡pçu|ÌŸà}Lצ´ àXžÈ¥]µbî—¿=ËúzÊB‹»G¶‹¿aÿ}ZÍœæO_ÁT¹}Á¯ôãVhq1’ÜS&oŠRÔö7¡°JV0ß5+Âí¬פû¸Ÿ¿¼òñƒ/Iõkh¾µò!ãAS$÷%Þ¨qƒ¿Ÿj ŽN7|ÕÀé‹Ë†® RzDëâÙÔ;ÚàðÕJ%C ܱ©|âï®ù/Ÿ+Õ'%ß[(³Sh|P¹Ÿ¹FT{–sYjSÉ­Eu‘H€þUGâ÷ÁF–˜÷ RŸÃ*Ú@Æ+wWBìæ2¾˜Öø“&æÑ=ƒ®¦µ¸9HÓ¨Ò©È ÷ùœE;Þ|è5A`æÆ¦èÕ¾ÙxgÿÒÄxhý-ÛŠ@oÑ —ƒèîÕÂP²½&Bj²Û] Ef:èˆhº›uDž4[’äÌ#‡äx*T?x,í<ˆ“ÔÁLTCtP+¼.Åò³GDÛ”nê|reûcÛHdÒO¼_·Ò‰0XsîöÄúЪêNp•þ[$x÷—]dµáO©­µ(ãäÜÐâwÊ*ŠFfBØáÖ¶‡u%QÝ!Rž‘ó¤gê™xCC0o5Ÿ&Ã|ûa+ôˆ´ü“òŽ¿Ÿ5Nà¸ò݆Y%ç¼ú¯úØ!ÛB£ÿ⵿Zñ¤,4{ “H²£Vœa5^H àmsq9Sàž„‹€YbzÏJbV/I­#!'.yë–”\‡,úOv˜jª°hÚóô&.ˆaÉúãÁQòúù`=-z{[°ê_6ÁePÒÆ= ÃŽ…ÐAºòõpyÚa°HLô²3‰|) e6?máÅ@q’<å…€6;„«‰ÕŒÛàãbœEÈhíkGÏñbkÉ-‘ÝdNÙÚE]1QGžJÊ?@Cã"OÍWdz¥`æ‹ügÛКëˆ(óCøBÏëc¾ð¹O®5iI¿s¬ãöèï‰*ºEœ>ƒd‘2 󘈆t\ŒbO™Þ—~¯1ˆ“”¨‚1E'žzuÈ…ø K1­Â ñäèõÑ^-AúT6£Å¢‡M&©S, ™f´Ô^÷½€÷›\ûŸÐÁÄÈþê8 ɪ©³Êa÷ïíÏgÉ/ð*"(f´Üô›§_—)brŽ”yȤ!SÎÙ¿/Ÿð‹g·ô¼]¬ŠóÂæ(áSàÁ-á鱟n‚ðÇNÂ'+/[‚¨§O3& cटJÊk[zŠ®6û'r¦ûnæUJ’¬8õÿS}e4°¿Fö3K´n|HýN:÷ýZÝ‹¶€­¹ˆC°RÌØðÔ MÞß§¾!«H¨lˆNû5dº5⾎ž¾ú¥¹P„ù„ŒîBD@Ž.â—îÒÝGGú«ÔÁx™ŽMÁÞ:ÏšÁÂhI ©e> ‡ÜâSá/nS:”9æø±O0²à¶ì;8ÌwoÄ­û÷69ÿÏo³¹‹¥±êS˜øG|0[sÕl±]äqá±i½eG™ÝÛwŒ«iŸ«ýz»Õ¿œj5 ŸIõ 9!45àÒÌØ§ ãØ‚+ÕÁI•SG–xòËJåü6è½À§“1íéýËL ±‹}²ÅL˽;UÆ”¾‘ëíÚE—_åçWÞj]/0Šfˆ0¥­Táâ3TWX“¯œ©²±›IAIòR.¯ XjpÓqh阦Õ|W„Œ ô¦Ž @(t £ÒúCmÜùª÷ïê±nÓƒÇx4Q,”BýÏòx¯W ' @Ãÿ3Kk¢ÛÂ($è÷Ý©½àeæ6ùU7™a’Â$%ö„c›J)3hLáÆ§Ì ŽŸÓö¢­ñïÏ/ß\"Õ•˜1m¢y:J“OËH”œ_2ÉH0Í$s‹e?f䢑mRÝE%¤Aï˜@Y(ÛauN¹_š,aÏ|E†oÉ“z$󣞫Ög¨Gë‹‘…µ«]bûê‚æ}F/¼µŸg”HV#HrƺõùÔ=xu‹ruO;#,ûž¼Œá__o]XÅôÇD+Œù'—K¹/¬"ï¨7’˜lÖKÿ‚Ï7ºŠo–£FƒéÀo3»*øqxR?øBö:îÁÝy‡«kLz€ð°×jAê`ˆ9ZuÛ¢<9βjYV¶¦ZÁ;7ezNWÕ!¸Pék,mX}?bbÄø¬:ôÆynçŸWUNZ÷h3NQv(ï+åAÈè,™Ã^`›üáGŽ‚™Á¶›T×P&Ô±òÏâ•ýWlg]¼×}åÿfi—S 7Õ ÕÞÝ%^a˜e:Ù,`¼—£E}/©<Û¤rùCÝÝ(É"gs<|Æ â7×Gî½Ó§O„‘[9ýXųþPÛp¨ÓìŸm§¤‹4X×=`[ ˜û6?^>Ƽà.¯ì‰fÔ@îírèá©¶þ@{hvö0B†&t!åF,5ª ÕÊ|ôxbËk.«œº†ðèí0LB_hÙÆæGí1íÁ66(çÓ{%â†*]Þ(¿ýcjI$]èçTwÝ6uáJWÆú©_ÎIJÝØ—šÕ}kJ®ÑiqÌ :cÏU47›ýodTúãçA9ÒaÿPC$¦ƒÐ~¯ÆYé+Æç—䕺K¨›@ÇKälEXN ”×fmmµ]´Thx„y}e­›˜s@åj±b² ÐÒ\ Zö¬‚I[‚ÊdzԪ³N} C^Œ3=˜(Ë›³_ºëRLÈ®ÖBÉAT¢>å,ÓZ@žåî|‰Î-w¯V)ˆ\+š­Ãcu ˜+a#™õ{MéR7ÉÀ«rs 'ÎK ÈKG¿vÚ”Ùñ{PÐZ§#6…‰ø>H@C'Ó‰©FR¡WZj‚% jÑn¥©*v`>¶ª?Uî=ã?€?ûN…‡’¦÷éÄßçYE$o“œ)ý9/ö^Œ;‰dˆ+M)kN8éž‘/‡(ô>àkš½ÛÉÞÄ-¥§ÊX<^¾‹^ 6Ž Ûà˜/#8Ó¶ÿ[òÀHöQè¬ø¢ºùpz}¬è5­fÉÚT%:>úb•Ø–“vo%Ùè\®ö¼Ì›¥~ä/…¨k*Sj¯’`ëxpѬªé”ЬHáë4Æ/´g›þ(CÛe;_ã(ëMŽ‘¼yƒM бÄÄæ!àeyÜóþ,…—,ê4 œ†æi.Aþ| Ï®á˜2ñ GßÍwÁ:¸˜¬ëïå³{—B>ÃBUÚ%Ày·ŒUp"U:ƒžs#™—ÑGþÂ!•üÊ–†5y. ×+woÏÉëÿW"ö M;B` ~^U¾_–iHåâµk ýy.ŒÎ qÖÍUÓHè\ë9n`j Óuet ðµöÖ ç¥×Ó~Bàö±¢E÷¥.æÎˆ+ʃ61³™.Å3Ä×ü†“,‚ŽÙ‰î*HŒô¹‹‘,:­]©üw¶_3óÕ¹bM7“EÐÑwÄš]YÐÁŸ Šlü—@ ÑÇÐÇ¡vp¤G ýCö¥„þK&ÂÁ¼²Z$3w)¾ æõpɘˆ-U”`4mb@Ó:{sÑñítžŠ‡EØ%¾ZD=tS¯ÒWUl[e«Ó­Š–Ý0ZˆØhðl¢ì·çl¹u”§Û¤˜CZ×þ¿c£­ÒAFô¯uíG‹o Œ]·rð  1)€€„c :ÂŽš­‹¥ú0Acm¯= ³—›J5à2ž  ,õÕð uB¸H’^)n‘æžTdˆâ‡Czúˤ{ýÒ¥æ5Kôá-ØTè¿S?æ®"·ïjÆI©=¿ã^‚™4ä'„) Öé[q5ÕùÀ]ûÜؽoÐi{à…Ûý.Ë;™»Y†šB8 ¦o}cÉ@¥²1+ñÙ×[ÿŒÜ^ûÌ›ä©+KKüçyKq4v‹¥ Sï ‡«p›ëó̰¤b“ áfpü‘|Ó³ÑÈvz­½„±…ÎÅ_ưoãE`ÇpŒZØíæ>îâÎôá~ø…pö—Œ'þ$À†¨=ë9óÃ*9‚`õ]€]¸Jyç¯õñyíÿ¿} _ ØN•X·ª¸B,îwCåQ‘bÒZW™uMš5Š(ü–:q\`™!†ºµÎÇŽIƒ8 }áÎb8¾Š'¾=Uª•À°Yé™êKCO{å÷¨þ‡1ã"ËÕ”ìÀúñÂÅS|™4û$iš*¹¥ «=I¡Œ>Áºþâ†'<¾@™9Õ«b À™˜0ú{»°“͉~ ü—rí*ËÔ)/ˆÏrIdË ¨W‰S39¾œO 2±Ý©I÷ÆFŽq[ÊÄt.XüëJ§ ¬,™@G±…¹ïœE“Ûtlá,V0©ÂWi‘ÌmDèJ"a禥_4°Ÿ ñ lx`g½Ö7*mqU!~ ý²Ý3 WÑFÔ….Å'óï¯ÈüjL/Þ‹Žæ®T$HŽ^ª×º8йt¦îÆ]µ=€rÍÁZ/ˆFf2Ìam×gÎÈîTéf,(Ù¿":¾¿lªßœŒÐ7ŒÂü!A}ãäZÌPÎÆHä j<ÒÕô¨$lˈGµIh'¶ïàç~Æ‚Àyö„#jZYsh †YšÉ ÕB r[îTÕ]×îê¼”V9êDú#H™x Ï9’ŽN¶€JÇÖ”L3(}F×eÃê›s¤´æ€¸JºPÚXö£í=Ír«]rL¨ìhø5«Óí}ác@i† ád.°Å6оtãO‰&kÖ‹vÌbl¢~sCh¤p Æ`^F9¹™ËK)Ö²"‰{Ša–>2#ó4þS‹×Ð{¡Ÿ0ÊÔ uv•AWíÙ³òr݈Zݹ~#(ˆø¡>w³,Q$÷ëI¤Á÷)ü]A|™/•‘¤v×X“ék·Å1ÙÚ“òx ûŸ—º¼3Ͷ?.*€ czÕ¸c]žÆà±ôu ¡Î±£“I½;ñÙ4x[vëxÊjª, )cnuááÃZwú –a²<¤6¯ºRL—+ÏËtº$î)½`ØT îÿºÏ‡ À¬‡]®;" 7ʳ`@%Þ¾•ڽĚhÓ¶×ô[èH&^ìR)VÅ¢ÒÚØXâü€ŽÕ€ôÍ>ˆ:9úXä;©ÚÛÿë’¤ï¡2ÎÕ >æ¶=­ïÎaó–â ú†®5uÃDǵ¤wÕNZDÿÅN5vn¿t@щȄ“¾®rÓPæ1ÿ:PO}s,ÉãÆ]æ’‰¢CÕx5ܪܹ&ù›¯ {Ïzs›®ùHTRO8ГÈjU0?š†äKLEJg̹;+lÞ™X=¦–  j#_+í”tëÞ¦â¿Áº¼ËsòÐKS€P~[í&ìW²Oããã¨VYn”ú~\MŒÞÞS¸«<‚;8×zƒ¼¨ä²Là¦_h+µw_!CqPàÈt¤˜Qð~‡Þß‚åËšÕÌ/”.C€nQ÷…6ަ<±ÅBñJ_ctYSê÷vâð}p¶Þà*YïoF,Eã ›HaÁí|¦íW^E¬Ìªj´’Á‚i˨EÐh3æ¤cè]ºžkŽ+ªx…ºt‡éêI¦fy@íÍ‚m#7 Œã¢„ûtã¯#ù}pù‹S@1BÂç<êL¨Šû•€V—|À7Rδ7>ùÄ"QüÐ`Ȱ²_ñ“|îºq”¢“óç¯ÿ÷·ï€á€vןºCùØžAiÊûÉwíþˆzÙÓ¢ÓÈF‚S۔Ɣ«¶ÊPøï‡PªšÀFN‰/¿4~ëÚº/øÇéÀõås)«m;I´¸óÇÎFË×ÿc4©_¸â®põÀ;že®Ãì„ÆïXÆÉ&W(>ÙL85ç-=h¶…7Þ=ôjlN²d»F6ëvîªdç=%ÿaý{Ý0Ú5ïͲÐåc7±žX ‘";U‹‡ƒüí~J»R½!ƒD‘à¯]/D°o䆚;’b×üHÛú>íªb¨ï«u®ÇЍëÑߢ©}5¢¢¡]‹y´À8Kàúù:mY«9ÙèÄ¥ÍRÔuwwh:ÐÕŠ%i„¢}N'<΀åÞ„ð ã«+`üÌB#"}oªeÏAÄ~œ»]~ç£691ž'Ê»B4 t§dá%…N•¿k®Vñ^=à§ÁBÈŸë[’‘bÏÞ"çF-×"Âfº0WsÑ\ÒÇúLPgø“Tµ5®qŽs6G©à—:ÿ¥æ°¸‡ Ås>9÷æ±åÒƒwOÜn ïf'¥LÅfÕ0 /Gõ‚vú}PSaOÝ?¼ó%ü£Ÿ¦`Œy.wPgíû:—­óZ94%ˆ}Lì`!’¢~/R<¼$0ˆ Ë× é)ר¾â"¡En?2Y1iÄÓ[RÆÀK× îf2Jž(z8»o÷o®Ì…íTžÛ¦+>Ž jãðÜ/ÞÚã‰SI LÚ" 0d{Öá£TÝ£>0Yè *ï‹\}À1Ëu+¢¢m¼S"åèøJå^} —z–›€®fÇdBAñ0µŒD:>KÐ"õ|-¿¥Áƒ‡ïÜÙ“eðÂ}’§¼Ò•Ó´gþf'~eä?íO<Ø¿RÇ¡7Š´Ñ«Z'ËT‹Ù§ÛAòÊçâîÓÆ]^¯åìwËb½ý*ߢ?9£ÚîíÊHM5CTW£ *ô7'ª"QÅ«ž O­8™ŒN#ü%•MÊ‹móž|ì“«6 UÉë¹.Ä]&¤0%ruââw±nÝô=oã¹¶‰7Q‡)ô[Y“u®ÈÔXºá£t£«Pj_br„|]îŒJ`—„óøm°t5CÏÔª‘¯œQò9Ú½H ÓÑüÙVª¥`ù.OfÇkÿcKz+ù[¡ÞtbOnw¯åµ´¨Ó0Æ%^eÆkÉR5íB°°U`cŠçów¢Oî4•‚ÉÉU¾øéŒ>AŸøšoŽHUÀ€¾“©6ÄX€¹ŠkåšãW –¤Œ×F&ád„Kø~ Ž³'ùâDÍt¿Ã…1È›‚«µgíþ7•¿]3Í-0Qˆ+ÇqPÞ€ÔÖA»’¢¿kÒúð›@-JXnƒ¯†önòÄÎÑ•â8KgÉ{6–ƒlnºÁÝ,wÍýèLÿÌy¥`+´oû8n Hdz1˹=ƒ>&'TÇ/êúж¤çÊþ *„¯-:ÚèÌ뵞ŸJiæ;3–ß> BCÄ6iÝ€‘ct!ìþÏÉÖŽmÇÚ®öp–9v¤ 7Œ•ò«#½ÆÙöë—O"@®§í§È¨ýïÃÉ\{–`†îué”-§•P¸jÇå~!:•Á>ÎÇmcJVäpŽÝ¿T~ Q³2YkdË"¸–g+=Q2†ð–‡~rGÎà‹wô”¦Z‰¬6ž?Îô 7d´kÅ÷1x§˜SüF— ›üDó½Âa®'*†•Íj¼¾²ƒ– ãˆoçMرl Ñe‰LHëh…Éí«þªÝoÞlSs¦ê=«‚¶ßVA×ýÝJÌtÂlâ…V¿…[Äuˆ!C «ÞÚªÉóãxU€Î‡9 É%ʪÒ;¹…ª ¾œ³~º¸¿.³bT´Ao¿H#w’híË@ûAÕ:%Zg@‹ÑYóïÇóžK÷ÉjBzsÝao=M*A¯ Ø›.¹ü\_:Üy 0Y²À,÷Yhu+¥rXa*¦Èz`\°Y ù¢µ½v×yáØœŒÅ‚Ÿ:øá¯;XR v ‡+þYÊXJÒ-Ï'l•°›£…æê™üÂFƒ>¬ÍÊýóhŒjþìeû­ e(éu¹FÓÞÑÙô JoØ}â¢ä*èýlj±©°pi•+â‘“¶@`pÈe½DŽi Ÿò‡—ŠWζ®Íg26®y Ü±fYoõRÔõ<ÜÇ’W¾é~Â@b¨Œ.Ó®¬”6ˆ~cÛ,ñEo˜ÞÞÕÏrÿ IÁ<ÕÐvŒ€¶“w"¥.´t©Oº‚VR]Ѩ,áÚèÞçâ¨íï³êb÷*Þø€¦¶‘Ö¨ïÙÐ5®…µQ p4*ŠòmJú ø8ÚvÔÆE}p耞•ïjyDt ‘J¡ˆ¼¡–ƒº}0ïYšø3fÏ ð‡âUÐV©óã(|*þXo¸öwékÍ«?—NS©=¨æð0XÝ6?Á\êD^í{G[‘¸Ž«:µœþL¾96M{ÕjÏ “”ª™‹{ŠÒꮨgáªÒxîß .@P!Ö©—i££‡Ã¼¬ì„›{χÆÐŒÞoÀ«Ð±›c”Îiã<;Ö+EPSV-€°LY™§vιÛ'DPW/#JÁ[é';¸Ë[om9ïÚVu´Â§Œ é~A@%­Ò_‚ÛÉ~Ž3¥Á€óÐÑD«ÐŒ‰ÚgͲ Q% °í}v ØIæ—a[‚áÌŒ³™€f õæeÜm9šI¸?΢Íj‡WHº¾d¦ ¶“õ©Êï£aùž^¾Æ÷·ýy,p1:ó YY '¡ççW­1#5µZÜÕ"Ú2óÄz#và‚3*U´0½G/É«ýö~ ¾‹ &`¢Ý¹!±»y0‹±k=A™&¾RKÂcj µ\[×ÇÆsÎ%k­{c…©oºmY£´RÏK!â|!ô<×°ÉŒÒÖ‰¤È%f6àê‡ÃAz’ЖÃeS§Ë­¸ìÔkžKaäq®ôxÀ…]!dü ¸•¸Ë©•3µðkñ©'šøy—šÏ¿ 9Ìx½´:Hí\‹ÕÂqj)/'°aãDw™)Â…~®Ð €ÄqaˆüAÞº’ð°(ø N¡É0º;«ìTòUŒ7­úÑÛžj ‘>?<á-÷þx½ãæ±²ä¢Ø}Ý9tÒ¯]]©Æ0ĉݬ| ùݤ™ƒŒŽ„eRw¥é ÁýíZ<‡ßä߸}3ªW|‰?¡ü‘õlaÓùðFQˆN¸‹ÍÕº¾yªEJõ¬‘Ã]{í->Žh*G‚I(ÙÐêýö¡4ÀÅùâ-<íÔ`¶‘Æýéõ 0ç÷»–å– ëwŽ êjè¾u_óŠôsÌâÌ.‘|-ÜèÜjÙ#9¤îkŠ@¼d²x¡ ÙQL0U±E º¯oJÔ É†W 4{ó©nªorÌb᫳‰¿8r#—åý ¾ë{43åGOþö‰Vð”/.4CEòg„½0¹£ÿ[{uÉúŒr.je#Tb$4¡<)çC±²qϦó88ã‹$¶ÑŠ5ôº‚+Çêu¦Ã yaþU ¥Á÷øÈ¢Eœî[pež©|ÅZæ B"ÇpäÚ3i?5Î+ žWËàn-ïßö¼?@_àyÞZH¼ÙÉ…OÛn*TCh,ºâšx+K‹‚ÿš=­H¶0Δ4dž{£¼Àè"zOœ/ˆ}ðz•Ô’±mfÒí0Õhç¯å€ÏdÓF_ÿçé¹é@Õ˜¤µu˜ÛY†¤ús×åªQÏ›{úný2E:®Yvk@Ëñ†´™„×&ÿ챀 $ŸTs´Nmþçóî«;Ó¥ÌÓ$5àV(ÇÐæÉM‰{"™¹aªÆ.ŒäOܪµ»ÅÊm1†ƒU =ÿè²õºSÑqÁÑ—Ç~#Øžð*öUK+!’X2¶Æ¹¼ 5Û9äÑWgœâ&÷$ð@mœˆS]oaÆPÎßÍu"_j£T¦Gû3( QäŠÔ¸y#ÖßóQí¶ `¶Fe‘Ü oâ÷M ­udŸÉ˜ –ß'«OÃÀnò´Ÿäµ‚¥¤µDT!11Q*°yÍ;é=¡N¾–Û4™áA9ÇÃ͘ÑBö¬²–δB‚糇—šòâw–6Äà ¦˜îûKa£µJó¨œ÷‚¶Õèša¬ ´©è¸³[ØýûŠþì1ýW˜Zg‡³† †æéd€˜ø9O·HÀ;rE…µŸb©<E~ ¢U‰®@è;ºZ/pè›y]Ṵ̂>›Åš?±ájLMt2Új qŽ/ò¿úZí-=ÎG…o¶¨µò'Ý#:_ï¶äxÈY$–vާÃcÒÿn{÷½þAÔJãq<‰zÿsÓîðÒ‚±ª®·\ewÝdƒE# w6Ãù’‚ý­°Ït‰ ƒ&<Ã$ýˆ©§tõ~ÜòZ ^Ýp­«ä×ãû“7‚ Âet± ‰kÑ,Ïø$heý%ðMq БaßÔKEë€,Ž5K9 ‚p¹ì|§Ã—–<™éÿN3™e,~º§Ê¼Ì¿K!_£õ–Tý§•gÁ+Yr‹¥ÃdÃ=Ú’® _Ð<©ä€<&ü›)_g…¡rÁ±‡ÁRÑG4@½¼u]A-÷Ì£4õ夥Æu,`a—í¥le D;A«Á& v·4,ˇÔtŸˆ¿šáäö”xå(®7Ã#Hé9Ïz“SÙ̼µ ˼1×ó<7åÁy({” F drTJL¢…-cëÇp–ªªð” 4ãAûÒK³3:u’7P¨¼Ÿ—›æÃä,è¿?DanV2pšõÎDj3óõûᵫ|‚SL€JÑz‘åÙ.ƒ‡¶eþ÷‰¾ìÜ !æ\H öwAÄ»1è܉ª¶Àu ÒÖ£eÕtåŠrsŠ~M…·60…T;Ü~g»e>.¼¥É¡‡º™> vÜ•:Í2ÊÞž ùg¬8z,i½+Žé…‰®¹u iQÍR§îÇTµóo¬_21A;¬X¡j¶^‹Õi–‚z²ô5lž„r¹·å~]&66ÿ³aLµ&wñ5xü8Áœp-x]Îy$htf’F_µ‚=uPéÕ¬í(²È8ílP&â(ºª¼ar(‡L^ ,M#B1Ûéx‡¶¶ï.ÚÊ(…oËpiHOëª_À"”%IÜÆgsEÚjÓk¶–¯ Rd/€ÂPŒ”I#m>lùß~ñ<Ìë,M6‚H6±ÿóS–ºOqK×4b…C&>®M(jHøÿ7$Í¥¥õtˆUO[«N[½ŒeCÊx'·€Î’·®â:¨}ø–;lÆ\!Ø@EùÞ òÊú zåaŠþ|¨Þ®¦íçùaß._99Ð~ºØÃ˜¿ ²ËiQ®ä¶?ŠJ_:Þ´o“-éÖDßž¢³ÄžÊ´†CÑÁa‹ZÒrÓ…¡ÇŽ ²à(’>ë¹6$B\¾'iÄÜA&ÆeÂ?TžìÆ¿8–x@bšì¬äk*æìyK]E—žB#î0ÃSfÉ™K­s{-ØtO—Ö°x±áÙìTÉá/ô«%nýϽ^OÍXuæ» a·ïôï¡“®ƒ*€ÐöÕ@Ó»ñ´*“Œä‡…ºôŽ´â7…'È-ˆP3ÉŠseCz×[-áQJußáæ~‚õó_µ>>`tKê¾\âÉ"’UáŒLâQ­ô’TC{ì÷ÅZ-v¸ÉS…Á3+!ûîÜžNj›/`›fºm°˜_ˆžÅ¶îŒÇÔeðHŠ4·ÛV~çÞš.6åú"y*îEpº›N‚ÿœ_³ $³Ig‚‰¥¤LœÎE&pô¿ƒV÷RCs¼…;ÂXíbo†©1ê4ïÑŠäç_TY—¬°é·œîÿ„j ж­©˜R˜%­‚¿ÔÝoè¾CÏEG†`î þà6ÔÝ ÿÖ[ù¬N%ÞvÕR¢YØt` øfFC l*ÕƯ+B3k®òq•Z 2zÔÝÿô5¥â©|ú»±Üï“ÎaDêÕŸ›W#ƒOæ²NfO.µÀ–=ìˆeÙ+Ÿ’w| ?3 ¦zh5×OèM¶­¹WnÖ— —ÌûÈ¥L™øûü0¯Ã&<…hÁH]šîˆÍ‰‘÷š.¯}u<àÏTdø$ø°ÞTnÛØ|qÆÐ9ú·JÙ GC¶¥ ù’U—³m"À3³ò^Vÿï¯é…6H­%®øú£q1þ2CÑëh¡Ý‘õ¦´ îþDào\½³08!Ô§1b‰äM5@~¨8µ†¯wáó—…ØÂåÊGPÅIv\€õ£ÓÊnØb5¢Æ<ì&‹(©“Yîza„Lœª?ÕäŒpÚ4Ò”±<ÕÑÁi!þ:t'(û6~ŘkHH>®6/ÎÝ:ã‡4ßXý²!€¼Ñ0æ:†;jJëp>‰àÙ:^Õäü8L‹ãÆÏÀµÌH »zÐ-hø¹ÒÄØ¼‰F†ÌøIFù¿#—½EÐGÖLdÉžâê´Ôßh_}+)GÜìüA7+ÕŒ3åŠÊkÔ7¾ ݬõ¹­ò‡9ÎݳuxFPxB>Ï*Dœ@ã)Î;qÒå]5:{ž,E#U÷H_L¨Š‹¾®ìEH‹ÒeC¯}&`àmŸŽIšµ4Å̶.@M<“Míâ>sö·öÚåˆ1‚n?Â*8}Œ³óÏmጠbÒ¡ú¡þ@‰nì>¸{szvÎGÁ>DŒ;¾I펴QcmŸ5ųƒ—‰ˆMÿX@rxéóB¶yûr½ÅsÅ$ýÕl, ;„+É$iµÕÝ.“:ܨ'+y‰}}p+?]EF‚µG ´4–šWeX€f¶g½¤ÉëøÈ<”­ßpºÇøÔšnT¹eg¤ö2NËuÔGä"aÜ¿} &4ˆítHß² .Ò±DS½ê*áÆ¦KJCåZH Õ|ÍY#‚-ˆ TÛç”C{#]ìæÄûQ\Jó+Û´ ­m!2€_Þ=Nã˜ÍX÷e2¢>@(’ÂÇk»H‚¡2·œž0 ”=«K”…¬›6ÙpÜOÂß~™àÌ?¯8Îòx\¦¤ß\IïÏ+Q+êÃ++Ñ÷ÿ]GЩêÀƒˆªFÏ]tA)"P$3¤ÒÏšÇ×G–²H§æ;ˆEs´·ÞoÈ€1áîïÒöˆÏ(Xµ€Ió†—É¡.4|”T´‚f;êsTyÝ+w>Ÿ±Äœ kmðÌÅ»PŸÒ[÷}¼)²ô#Ž[åã=@ ÖùáNÓ··.@È?Hp¦I;Ÿé_òh¬F„täBn3zg<×Eãí`ÒK £×+~á$Åݤ€Q<šiÏüµø•§âƒ­z'˜™Tømt"S9äËÎÙx¨ÿ‰×wÄZtÆ­¼/Öºã³U§ÉU¼!ž'ËÀB-ôå>Š d$+ãlAˆ´T¯™÷É)Ôß°®ëC'žÚN‘÷ÿ [òñª÷ÀPºêá“àøÔ My†nÇÕöµ¡Q牗…ÓÉú|@E€Õ1Já}ÍÉM¸<›ðò¥#©¸·Àkö¹È½Kÿ]=™1bKÃìáO>±ŸeÜ×eÝí`ªfKwá¹âê²Þe’ÓÖ-¯“m_DFN\£Ï‹Ñ¨sè´?¨¯{Ðl÷ÅP¯¼½R'0=Ñsu¾VKÄCøÚÖÏ®ì´ {T[€ oßÛú Œ>Ù~cf 9±çú9¢DuZ²«Aìd.´·+³fÔ(ÙÎù$T#å|“Çóç(‘ ÉÿäHÄ4IyG?Ë80ýJÖl~¬oÚ˜. e“[!‹ÀòYÆ›‡ÛÎ Ë0úËt!¦’]®T*9fÉÒ¶îhá`I0•gXŠ®Ëž·7¶×T5hä˜ýW ¼|¶$£‡L —­#j{¹°¡úV­£^©èG8#‰?Ï*ÛŽ¡’Ø× q3Y ˜ÐÜu‡Pö.e¨§ÔÄÇÈj)ÿ£ðŸR@¶žÔÇ $ÝuéþÓ0@·fŽ>#²ñêvìUß$1í¨[çyÆDY¬¢­‰'FмFŒpÌÊ]áý 4—fŸ [<ÅØ]'L­ä­Pîf”ŒšÖ,uŠ+‡z,„g±ïŽ{NÛ2»e+¸ºôÁÌALˆó<ìDp#®ŠƒœsÖîõ;ŠÖkJÎæôø×¦ˆ [Ýœà²jf$“³‘$£±™BR£ AÑëq¿•>@;8„ÿæ•¡›\. ×ð¹EeiDŽ€šüÊÏÕÊ2¼ö™jæSœÆã”ßsÜDà!< p²šèn3gŽšñ´Y›WÔŽ<}{ÆÞa3iŸˆØll0U§“«T€»Ûý*õÑù×»dºq ƒ°nm\âçŒh‹*¶øsþ$³ÿ0¯¡q,l¡.mÌY–µ¦û«Šø7= ž‹–IþèàWSÇ»ª$íão°dÍÀC4°ýùc4 f¡jj“%ì®*…/0±MgÁì·R9\4ùöÛãˆ?wK@×=±EЌ«ªweÒ†‰æÈo’³s®Þ\Ìû—«[ µÑ}çœ ¼Édž€rñ?%†+¶–AÏò¿­€J"ÞoØwQb,7ÁÔ‡º Öä‘Ár£R ªf¿‰9‰7Ù0Õ«¤Ë›¢w ÁH%Ϲ•e’¨!깕‚8Î$Â2h ÌÔîÑïD‡e^LvþƒÊSý•Æ \TÙÕ>b•SáÌáObå€m7¯æ˜z)äÀ³«ÈýúBSóÇxi:˜Ú‚åw¨”\±31cC­U® ÚN6FŸ¸nÀ¿^(´UIyKW£îöOƒuØ`0ÁK©t\w½Á@iŠ& ïLFÁ-Žl9H ?úŸÉ¦õ<ìëâh!>¾P³m«²Ð:€ïVEy¼ÕŠ !›üšÈŽGj/­L;Ó-ÔEmvÀ·»½ÐxåFªñÇc8»³ÐTÌ{ ¼€§Û¢b¨î¢åJð— ´ã"¾£û& LÚÚ[ž²ªDÁ” +=Òìé‹yƪð Þ"Ú—›¥Vàz­mOmo¹õo5 ½ñ8Ÿ¯æyGÒfºÿÏ¢–0+FWüü‡%Ÿ™hmõh>aæ¦:wÆþhþÊqU)] ^.Êï›h!üÿRê®>)ç¿S_÷‚3-rcë¢RóÛr?W:¡(+èòaûk{Ѫmdœãµø¹UûW{ó²ïÄÐ?ÈY(S¼àP=4`|ñw¨ôTÉ!†õn¦ÖÜÓJçt -ˆ¼”ÖIIG|õÁã6=KlçF#ðAN!…vŽ­ ¦Wðë†oR ¾ úAºã\Lù"¹ÖxÎPPf0fœZÝêÍ_²…HQdž%øMuäTú4kIÕùòx¢Cµ*4~4ÿéÔ‹Nd`™Ä7c"Rð>?\i«éœ¡`÷!?qtÎÏELPÅ&q$yUaµižÊ†ÎU\HØX]¾|3ÇÔ™uÑTpbÙÓî¹')Íû>˧VZɹr1î(9Ì– S ÆÍ)ÚzxáähÙ_×îî~R è¹ôO;ù õ ;äÁ/‹Nÿë ­[  ôAÅ9º4²Ê2è0Û¹ç'£oÍ5w74a4u`ýO®æ(D¬Y càlÎêèbÙòɉ"ùÖߊîÑX¹wþ x›}-Nó¾i-j¹ç9‡E“3M@Óe n.à'2uW×n«IK˜ü~pAòÊ8"Àˆ47f±û9[“GÒœ51bbuPDµ\ ××ÜãpO¿I»˜ÜdÂ’MÐóÁú½Åë:a#â—ä½VŠË­uÿûhã§ ¯ûÊ…˜Èâ'Üà@ Æ·Ã•&h?³ïV+ÈVÍõ`ùÚûÅÁ¢ôõ@]³Vzž¯² ï€LÍœB#š.ÊB€Ù%2rÁù^™O"Ý–2SëdµZÔ½Ó@:qQšã€åÙæìc«ªµ1y”ºBâè<ø\ª#ÝýÛUrõÕn>ŸxEÖ¡/†ºh(´‡½);àÝõJëøÊΡüNDtÐZ9âߊÁòp†ÄÿPî_*,4T)'ØmÒâl^cX®¹u³>ô㟤FpK‘ e=×xUô#D3©Ì ØeùÌ+ƒìÞ”ÊS.³Ð‡ëJñÇ@² »üØð—ֽ˽ߠte”AÊ›Œ,óŠÌJvÞ­Yy±Ç8i§ºFïØA4?µÁ†G¿þÏ« m·ðœ‘þ¹èmå{ë¿PÑ» $þ¥ÁÍ]Þ²ÐÚD­=Öw5ó8¦sÞmCsîÜ+ ØÅ¥Êé‘zËœšnA‚¹™fh=ô®NÖǽ IÆ™’©X(Ðr^¼¬ÂCÒyÚÑ ¨'fž!ìçE¡Å7ï7B¯ú<•îÊËæ3£ÜB¤t‰å¶4hš¡Š­;¦ÒVjyý7šÑƒ2éÇÝq•½ßÔUŽW­‹gQEr>•Ýx+Ï/á¼u^}÷ì£hUÇ4YÂèdÒ¾?-Çs_«Ô ÙfŒ ”¤>!k èF÷s _ˆ@o˜O6‡Î­Oà¯78¾ÜŸž 뵿‰e¥-G«#£“Qo2ßž‡·× éyV³H¶º÷RØør`rùA?aSÎ6nð‰L2¼8}]ZûPk(­[cäeÚŸB¸ËÙÚ´Ysš§ £]BxgŸ@T|óIVèA=½ìíù!PÓú‹3ÌËþjŒñ°3½ò’WÒË[jºUŠ” ãņuSÀNÞÝZÈe®=Í›È@úvóMìC)Ô-þ·è*÷?å<‘/ær#®ÜÁàÛŒÏлߓ‘½xÎ_{¾”Eem(šdˆ°ÿ…?ú+NÅÂz³{WK´ôzh •—}54fò%u:mEݾsM²dîÛ”ò’íãÒª5åk¾÷SÀç)œÀ cFÏm,œi§¨—±­^Q[8%”§t†Ù2œà,²¿èÖÄíFÅH­hk9²a Û v•kˆIeÓòíäŸ>âF¥´]q£ ¡ûk¶óc¹`øo—ßsÛb¼Ø5µxéRé™J‹9Êî“ùù8HÖU¬}~pm) öôR´¤CdÂ*áà­DÏ3ÉŠÿs'5Ïã…µâÆ£ÚX‘¯³Éæ2;MKSÔÆXÅÐ_¯L5 >B¬»5O7 ‘˜³1Ã[÷žŽ™ 7ÌÂï¬b²ñ„;¯ƒ~</›4ÞrYË\Øm±÷Ò; âØÅÉ€1(°ŠäÓ´ÖÓ3+§af#§Ä*ƒÍ´‘tjO®9P ›WCI¦r]%VÉÙ4.ŸÓ>¿€³Œp!·[%Dh¤ûÑ“!¶ò¾Æ5²É8~½ôF½¼3ö`^;ªq=nâ Œ•$F"nã—w(-Q @QŠ@øXçbÄ[Al2:íñ6ùžž·ðµŽx:YÓéb¿â¤ÁV›±räfhÀ©€fm½“OŸó>"¢sÈÅzT€rœh÷s³ÑA| жóo~ÜaÖa:Ñ ƒÓy  ©pë'ÿU"n¦¥Iá¾t*o6Q"F|bÅÜ~5ÎÙ•¾¨¯&2™» ½[„óÃ`í:| •¹âÿb¼Ã#–™Õl×,*7£I_#ç€öÝl?ÇKÀ 0e«{^ÓÏá‰B–ØÑ‹šOšƒ×¡! `n…f <«ÍŽQ~-p—Éí´Æêܾ1^%°Š5Í2¡;Æês­û¨üô<ëUEó`3·,† ,´ µ][mL?7€õÍŒ5t\oíÿ©á"È:vûK~«¦ê€¿Ì(þl•`™î4Ù§ñêl t|äîmÏj/ Ø!)ÿnFܲÄO æu>ÇJÎz ìëÀÛ‚Ý>Ê Ö/å¢|8JHQ3 ¼Œ¬Í¼²ö2¾X$·r#POWáL¶ŠÇ†ëC§©ÅÊìktÇœRê'þºšXú‘¤¼t}ŠSx±üß8~™í2T9ŸJÊʃ·îÊg¥ç.B@´$J«dR‰&™'yÅžp9œÖ7q• 1DAª³§ãðOË[ÛQ·ráþ}™§/ùÒ4g[ƒ*ˆ-^œâ2ÕÕsNØ^êEç_×)*upàóÙ ½¯ÐV*I ;y(=T©íYlù¯ÿY{0„)æ¼ÕIb²•¸oœÀ¥.ÙCé;´÷²6Ù lèÖ<}¸\±ÀÒIZÿûëËÑkÞÓ¡çÁðµZèr–¾?s;ÂKjL¨Còƒj)¬¢Ø¸~Å]ˤ<>¥“÷KÀæé—ñæõí÷Líûkã h“îSÿi5ög:ö¨[ËOkÿ¢ï†Ò®dë¡cñÔ#€µòù=)…Š”¬IKásüµÇ;+ªÝnº×ê ãl1€hãËlÙ½‘#E§G8†êüIûÏÇVÄ9QTLŽ?õË4 sÅ™–êoÞÏä´Dj÷ì›,U’|I½UÑìn^Ç„`‡ª®Ÿ™0#}ýµRâ;4¶å¼H§Iñ¢›eà ˆ>Ð@E)`ö#ŽK¾&Ò"Eœ&i£4¸Ñ2 v®n·(-*),˨1i£|Kºò’çö½ü*"‰¤ßšh Ñ«»›‰tìZÚÏÚú®‹v¦»pÿ ¿vo÷CàDG^KÒÅt7*M·:l¸Kð9ïm+AxHô„EüiqtóŠW' »‡F=âH d^+iˆµ¼?}D;99 6l‚ø­a˜Ÿ½’ÏQZpÉ(Ž{EdÃ>Dv+cÛó<ýÞ ŽjERhÃÖsæU"àZ£»º³uÌÌñUCŽ®fçÙ»ÌÔ^6PÛ\û€RJ3'Cá&ÚÀ¶ŽBÖ¦ÑÞ±#h¬nJ1‡Úˆ*´ ö^h¼SæEãU=fÅ;ä­Y‚„Z‘±{ÌÛÔ>eä #[ŽAŸèGé™°ïMí2ô°œºœåœËÛ–ÓÚÌ?(~ˆÇ4ü4\'œ2q7¡o4ÞTêXssµ6‚7[*ªšz6—Àæ n¦¶;B#šFzŽ®UbŒ~Uj/6@Ú”çˆ<¯{ïF¾”ežû!+`}|ˆ_Û ©ì5WìùP-º¯þ‘Á®(Ôö¹‹Hh}»`¦Ù}Vða2$2"Øfþ›Û¸«†!éÝí“ ž¤ir¹\'ª‚î$Û31>+í%Šä€ÃÉ ùÛNÕì¢æ‹©º!t#ý‘&¶…“-â8E NpÚ›.e:ò"™¤…„ÿj…íœÇGzÍ#sµ$ŸbdðgÅF¿gÓñ³1WÄŽGMGj˜’årH1MiĤqdÑv—¿"C€ƒQô É2IaVƒn}–)vo7~Ö²0oÛ+޵x±¯‡WðVšZ؉êîÙµnñÅyûÇ9PªŸî_1<èÞøKy9w$ư5Þ°°qÄÿ™,ÊÎ:×ÀTÚ¾ÃJzÐ>+:vøýÆ‹†ó¹îêÉ;2NÂsS Ùg6FôÝdšY;Tz.ij¸á²[ ZÁÂ(&gP¢kò¢û1µ ¾6QŸA#HúýUc1 ÜwÌ™j¼({÷Ää‚D+ßþð(Ísu« áîÌÂI@é9€Éu§ ÷g{fO>%3ìÚ÷ú(ÞV£˜bJ¶Ó7n¼±\oLjЖeÏøóŸŒ Š‘K/ÌU¸”sA‰C Åê Ó<Ô=¡±rPýÿÙñ'ÝR%!̵`„‘ÔQ¤ ’³ÒLk'øÈâà[Zħý*U8ø—y†Uâ>Ãö7j!ÓìÀí0è¾è$¾w¶\?®bl ãwMYÝm.=,¤ýNƒË:ÍóË.3 ­O;ñ… nU¾;&$éüýA a÷ôù˜q3@o:} u÷ÉÉçÆãÏ[gjUÆ»5«Ž€3Œn$ÊóÍ+$ãø<[ˆ7œ2Q/D¦ËS}”Z€K -ý›W׿´ÑÓHe‚D=0ƒuÓŠ0L“q—:7¼èý˜2„–ͤ¨ÞE¹•ü–ï€æÐHèßôET¸æe/Ö[Tî$F¼õ*]‡¤mÙ«åb'¸‹úWXPäË5ôSIørèÒà«(p4E+C¯‘áŸÕMY:â5Þ­hÍ ê÷K—†@ Ú´òZâ^/Ø€=_Z(IhŸó3­ã7¨JØGñeŒTK5êÐø³dbŸŒRcEþ7}·H.ë¡"+DolR´1¨J3éÁ…¾¢3&˜ μœÛv ښÏhQ€9ßÜóñÑwýºZÏ娮õ”+$^‚ê{s.'µ'ÜwöW,$ñšçß‹W0š¯«LBÑññ#/]½~w–00ŒëdW2’r:¨IWUÉ8…¿ëi¹Ê”%ø'¸%âן¯ôö€ÂÔ•!'²žp\¦Þ‰ð»—´ûlíórúªUÝ)hË{?tR77)W ZÛAËì`ø£Ì|›âÐÿµVÛ´éTßÅM Ú–Â2ßÛ^Ïû­òÇhz¡Ò“€Ü}†½–#áAËï£Ðàž¼Ì¯»Eëï³§ÆAPäv7y7}ê¨aû¹‡ » [z=©Ì»BAÄ›`»Q"¦fTGü×)S–‘à2epÛwŠúu¾HGs+ô>»ú:ëäp$ÔÕl'G ßú^~íqjâÁITݗ׫Ldm è0bž ùyŒGOþõlj{ËŸFóMç«›;9Á—º×¾«Ÿo·!: I>ÜôyÌTòŒ%Q=ÂaRf‰zø³m3†*5FSN‚±^‘(µÉœŒn³ ˜Þö3° 4>9áÝ¡šÓ©»|r/7¾Ína~8œkˆÉ‚RaÐsÈðš ‘©¼6W“3ÅÚ`sÄ\æŽrËx\§ïU«Õèvl‹Â9â`iËÌ÷б·fTSÌÏžÐC›ã¸ Òýj¹Éd°F¢£E7G¬â(¥çnp1¿÷8y*#‹8±Q‡Óí‰\›èÀ Ó™ÊBß§{¿—Xú ÛK¿Â×Ö°?B}»@)À棒Ïi HK?Ñ ±vš5\E$ÖQ¿…ý i”\ÅûŒ¼Ù¿V_šU.ÎìÑ0åÔ=|Œ;A ˜´nÀþÒŽ\?ŽÇñ8—cGéÙâ<˜_»¾¾KÄ»E~ay—FËæMayC}É£äJÍ[š«ˆ½Åøa‘t£¨æ6èž>UÝùò8Àv%èúêe£4Û±!‹\æàÆxˆ.Ú`ZÐÇr1×l¯…øuU˜Ð³`ãÿ¥./3.fƒÇz˜t[Û_ñLŽiöÕæ~m±vž±Ðžg5-ŸËhg8‰‡¨}p ¥Æ|åÊAj™Áa˜mK¾¦÷«õA*hÔKÕâ»Úk‹ç²Íh‹þOׯY! ‘”‡£†Ü›`7B,#ç°-‘©?+’@ÂÒö¶™ñj•Hàk|Nq«àrd\8.a3± jð®Š-Ð]Ù'šÐ³L#1CÜU%² f¹ öz1€–£Ïù·(¤(û.b×ѯ¥¸>Þ3>Ç,Ü`2øxgæ›(ŸBð4@4y6jÆ1ˆŠFм¡PæP(¬ÇÐ7ÌWõú„¹Vã’aÔtÌe®nIˆäy爞«?sµÉب6f6nÎË/¾tÏFí~®V &Í]&ì¤ïs"J»¨Y4E-gÑÉ•ôm wE‹Sãh£ 8;CMÕr•1‡²>½Õ6ãïÀ£œ|zºP°Ê«ûíØæàð8'c#ùÂTRÅ^~Pº[ÃeGÄÿ=ý]ÞP˜ÀbȲËN“>(¬õÜ´åBé%)Ì`4«~f°Š^¤{¡CsY4²³á]u(W–%9¼™ÏVÆú‹ÿOª¯‰[Ñ5G`•(h17ÓÏ÷ ºt ñK§‘ØCZGÏ/o&g'ö™‡ÉÑáÚ¬ž¾ßÒ=ŽT˜ªò'æªÛ„êÙ øû„%½”ÅÄð+ó~@e644ÁCž¼ÖÙ³úi·Ç—me #÷¿ìø¸,f¥Ù‹ós=$%¡¼£eôX›$ॶ( /FèÃë?í"%Ac†g¯PÝnS¡o¤7ƒü¨£›öiøt_PsЋ!#j^ímw–¾óÔV®Iì&½X6r}²F‘Êv¡S_ƒfp$Aæ]OLzl­OKËìkëú ·©ð¹CýØ'9]u¤1 ff¬‡§»ì‡lã'ó}q<´ƒeÛÆã²‰$÷£œÂ³?ØRøPþ/ õŽœ~îÛ6Çn .äëZ»D“em]ƒ :­"ö¶»"càðmi…ýD`X7K*ª?°Ë ?éM±SÁj‚ö¯X6n®@ȧaé,’­®5!9pèß…Î`ÉŸKØÉ™W[r­#‘š-Œ']¹ä…t}Mﺒ*UÜ Ý#&~¯ ž×¯CÃŽ±BÙˆÿíQÐ ‡ Füz¬½Ö·«`·Sþ$$ß)ºÊ ïÞ~œwÒQ*Ò 4>©1æP‘†&½Pøa©Y¨Mg ىâ<93ª"¸) â¿ÚžÙ_ ÿÉP¬é¬n Æ[ŒÙ«F[ÿˆT¹¶ŽËu4¬Pf·“a‘Ð&z“Ë õZ…ÒwŠ@t,?uN€/#[VÃ{bY5Øù¬Û_Ì–†\@«´²lþÅž‡ÃRÀï%·)ÓÞ1zžs8Y/dXa9:² ˜4Vg7+C¹wëfð&Ú*Þú/aŽxPP€!FÝJŠ}!€"Á®}j‘åHÉFé?M̨`ÚXè¯ÔÙW-QD\~¹+âòfÊé¬iKá=a'HJlVô+ÞD& ˆI§Ö3¶•,j:ï사8’ ¹ß¤˜'{=&Ô|̳Î͜ᰫ3"t°)¨øî]#]¼2Dy³¾kÛÆò,±“¤šz•?¢õï¬Õ$‡¹qØdâŠùÂŽáÙ¢‡FáfùZRº–C³ —DßK[¹Õ>VËä¾›ME6:›«(ÿ(¹û·ýX»Œ÷朩äËDöDdãØÂ ®þ÷wˆqM#sN?Á§‘²l9Þ_,'ûF²›÷õulè}çá¹:¼Ñ!¹V>ÑYT|÷FÅ Åã£Ãu¶hs´Š–`a×èÃv¤éE”)KL½:û4¸yOïgà@={ãËêz Qß³¾ñÒÃÕ½Ïzò¨tÐóç"o…óÕ¢–$!r+ߦÅû»›b£šç“ :bá4À¦Õ‚p( r€ƒÎâ˯‰sXdj…Ÿ¸OŽ8‡„ïµÝO²O}2ìD-Íñ YÿçvïL×aQëøßg ¶XåǦP)£}î4.¹6ª@ìÆ@D@±kµU ]/ãp7ÙFGMB}ÓPKZ‚¼;Á.÷öÏÇW˜ºEÙ)SÂå¾½ÎÏ«A7ÖM}`o¿a1YJý©[±šÅ1NÈH¹ßõHºCÎçÖ´Jáü)ûAæá'mÝXHiú1Š®Vt†¯fd/8;N‹Ñ¨ŽªªÊŠ- úò—ÙÃÿ.s ñÿ7ã©sÄXc7ÎÆÞø¹F–úßî' ¨‰e?:+{wqfÆ4&±C¢`[Åô÷Ø#`]ÏòÖ?­¨ÉÌ,•å¥sV (™Æ0P>°Ì¼©È3ÜiSõ"Óˆùë‡IÁÚ*8ô¥r_ëgï ÷ûYRº}T”ª'ýNŠ®Ddf‚ l¨é&û‡ >‹¦ ¹åPÞ# ÔV;Ä輆eδ'ÍÒ9£>-ŽÚv±" ZáóVù¹êZkO_P¹:)Ê$Œm´š™p9œ²ñ¦áÍ”%ìÅ·L“H͆Åv­º¥Û#"|3‚ya¨ÖðÄ«¡ß\4X×­³# 06÷h\ôÚÛ=%2©|•dõæã¼úòÀÙ†EG²^GVOH‹1tWé7ëºÓ^ ±;M÷ßÇûSù®Ó×Zœ%†Üáõ²1[íkÚÞ/€5º‘ÏmÊö®û¯éÎêzÃ*ç­âåòÎE•yâׄ;_£œé¼qDóÙÌVEæ»$™uÊ‚Òc|Ú·f±: sÒ"cÇæ=|TëÚ©Ö…ßQ?‘ã9@?ĉööÙÝ‹K,zƆÕ?¯N4¾­Úz‰tÕjá)S@KU͹€Q•5öÉ;I%Þ#Ô/õ)][‰e‘úq‘Fs‰¹´XüíJ«è•®•¢w@Èî,’ž§:&¹qÂM ëÆéØ ‰¼8Óû§¹¬ î¥"=)Ò]OQ"×Äe•§÷šÔ­»?Á=Vž¶˜Ç¿5êçŠÝ`>ê6 ü=V6Wê!¯„•”¯Ë;~¾;NG;‚¦ôù-ª^d’QSJür1Â;~®biÂÛ»4°wytÉ£&Üh×' ËÌ~7køÅs‡óƒÙiN–Ý Å¶ná«ÅM»˜BŸ± *á14£|¿jÚF&ÅT¿â'ûK•“SÓËzcv]yt+ mè´Þ/‰Ã(¨)Nß^Z¡±§ÇþVÈâÀÿÿæc++HU ½Ò¤ÍLyÿ³»Æ-Ä_íT‰ÜhŽÈ ÂÝÕw6Iׯ™Ç´ÆÁTWYeÃŒ3Ã)àx±[Áˆœ»ª Êò×ÖçRë–Q:÷+xÑÐ…¼ÃïÚÿæˆü¾ÿû<«&D®ÆoÆ–àBÑ%æ>< P.ì û?tø—wÅ$t-Õ\ñ_ùÍÀZêÂèu/ĪèݰïMó¼)‘0À½§úûºÖµÄçýbg+T¸-÷«ûQ‡üW3Jà6ôÛe¨> Òì ˜etñÁ·Š;ñ{½Î«ë¢Ñ²4õÀû’LIH± âÑÆÝ)ÑóÄòåòÓG5­w1qC*­$‹mNÍy{•Ðæü-¬ê-PñôÈÆê¦ÄM¾uî­ˆoGÒ!]ÛJøbG)ãc–NB¡ÈñÇJ '‰V{° ry C*OÜ{¢s1Ó–°êS.o1ÚO35›œ§"sb@èsIUÍFÇTÐhfÓ²sö¢"GVKìãPø¨¸}”¼ Ò&Su`HÑú´®J#NNÖ .oŸ Mmì'£PrjFç² ßrTÍäˆSŠ›µ B Ñ¥¶jþ§Ó’t©v¡hË9 <ÎlèÀ·À$wg¬1¢| KHB{/ïØ–\ìå ·ÔêÑÒ%RN·× ¶#ÒâžM+o{½ßõ%…ï/ëì<ÓjQQÿ௫sêìŠÕ8â¡9ø.©º!N aºXUƒ@˜¾íöL–ú†œó!=Ê«Þv¥#%¾û‹ºŸ ÛÃêrtá“vÿQö“ š®ØO>ŒpM¬‹K‘(Ž)SØþ—EiÏ!];WͤŽ-±êœmíXÏžMB›T÷{¥ûG´øhÆŸak“N«’VA–Ö{1Q¡³¨bqq—ó&£Ÿ.Ø?Ü„×C[á©4³&”Ôò^ÙÜ\¨¦qa–ùh¡hðÁž%),I7'`±>£´Ö :æiì0Ø”z»ãæ²ß#\¹Üæ8ޥƒêiysôlÑõ#_;7-»a‡*­ÚÆöa4‡G‹ƒÙÆ©`ØùHù ~QB=…ùð'ÚfqÞ r´ß™–,!°Ô‹ì@­pƒ}sC¬ÏýhÀŒ.žçŒoDµó,rp·lB77+`˜äCØd È(s\ì†% Ó+vfëcÐ ’Âôê²ÝBµ!š´Ê)­' Ê7ÉÉ#FWFi©Ý?ér¶=”Ú» K€8m5 ŸÌ\khôÁ~µãõ-¢¥ö`¾m§˜‚Y!=ÜO©¬ÑXÆ\€‚ö“å¬òV¼¸jA€9¿¨rqm¨p7x¯e¦Ÿ´n‘džàñ Âf½Ù[Ç”\³:†;oñ‡’º0ïyeVûLõ‰LªÌ:ªY[m3_¤…ôäÏÓ6;Éá_ÍÔpsé‰*öI¦ø9_d‘Õ¸3-ÐŽ|=ÙÛ-‡ñOÜ Q0ΦÏoµÏ#Ï®—ÌQƒäѾ½ oGåy0¤Ä ½A"YÕq¦û¯I`—®í`9K1ö,"÷FéÅâÅvç<á‹oú¸ÂßÚ#ÍÑ›rÌè8¹Êñø þë\«šä9ž·ÐXEr`F ’K$ãÎÂ~ßd$å§Ðô`¡®ï¥”è \,°Æ CÎbLb2ˆþ…ž0]ý§b4Âà6´¬­}Õa¼5ÿAïÙ¾xÊTäÌéÖtÅiÛ5²¾50°¾€­ÛJ·™O á×À?N3”­3L3s÷®¸8û5Þ‘(W]v—{>õ#¨k*Ø!CÉ2p<þ‚7ÓaÇ;ƒ›ùÕÀfFÑ6idÿÍ=ëºSŽ×ˆç{l€ÝyWV‚¹1?Xi²‚2qRã aÞ‚³Jl_Ãbß–<8 ÃB  >gia¬IV¿;hÿófçö+ é´´ÉÿÑ|¼\$žÓðýòYH”3sÝ^kàÍÝÉš¢ta¶ƒŽLö Xó(15LëJÉVLMkľí+ÂÍI“§Ú'¦_7æ'ß= NçÐ)¶ ½¦ØS/öëkÚ½ÑSæï¥*søÒ Uª ßãõ²AX=%W´nÒÀïžÝvͺÝ«)ASÍn!iݺbþ‰×XmÎõ¸G@ÙåñiKï:÷«hËQi;ç §Sê°©{ñºÒß–[&¹TŸlô—7ÜRfD¼\¢±=ŽcZ;¿Sº”“eDp#¬ Hò³>#;94JÒŠbu‰[ýéÔº§ü9`ôƒÝ…03 6d‹wRVm¶‡þA„OAtf¡õ{'WóŽ;„/9OE ûò ÇÿK›‚}Éòµt.Î=­ÛÓ9¶?ø®~¹"û׳ÏÌõiªüÍ|Z9…WèKâø9NØàí‘ÉçyÈOÿA».–x+=¦ø¦ü«~ÙôVxäàþo¦rUF"š ³ÁPCˆ~ä"U«±9äÉä\¢c¢€‡´mSÛLs5üÿs‰íœa«~‹ZO;¥Y?Ùr›ùóùJI,3þøš)úåå2¤Ç~5u}“cïØY8U¬²Ï<5‡:óÊÐ^ ÐΊoúMÿôQ% Hô0r5“VC´ZžªbcA'D¦»íl*ÔkUAâP»¨ØjQÂRq¥Ì×êfÑON~áö‚ûͪP÷>­IàÔ˜(ÂK³pqÞbº§S\Qí¡wu ZŸ¨ýpR´ÅÑ+dé ©Äd°ªÝ¾ÚGè£Â¡@OoçÚžÀ×À+¡wõ'ñÙ®ˆ‹@u‚;|Sb+–&«ãÐ}·‘ÙŒ/ööÒsm F”ÙR¯¹-ÿF$U ùù>ŽªÓÓWŒ”:EÇîe¦îY&LËJ²V¢Ü{PÌ·0ªóÓŠ‹ÈõÛ»B`ö^Jó”ÀØ(@z­IiX‚›úDÛ„yøê*ñ°ªRSÊŒ’n#JæSârgeY{±a5:f6z­Æ»…çV ¿¹w pË÷ ¶x¨€V©Ú˜Öçõª7•¤þ¸ á€üÛª±½‚ùÎ \HÛÿš{f ÐXåÊæ·L+¯¹’.qéø£ ÜÊ?‹‘93ü„“&ÁFp(ŸRy†¢½ë.r.{á¶rËÙé|D$X³ÆTáG0"Ç*£„C/t–4ÀCy¡/ÑV¶R:É-dcÒ.‚ “Ì´cÅkðJh⑯<|¨˜Â˜Z¬ä‹ /\î[œ+e84¥þ^E´ ŠPö‹«ˆû5,:¢?FÄ"±‘&ŸßèËLL>åÙ“·4ö5ã]SåKoˆÐúRƒؼ?çÕ(Ñcœº<ˆ Ô÷¦ê´ë›L$•få*‚ÄØfÚ$Vj d¯¿KWkÖ¥‹÷ô¯"¨€PÈ¥v‰V¥Çpftª¡ÓŠ6ð!Ë<2š’%×+µ– û¡F÷/#nýM…ñð÷vÖdÖÈÎg%þ¦•‹ œâÜóxÌ/öfñ:d…Ê×’<2%“CÈ QaX.å(0g&L ð*×DcêvG¬Dû O×ÈÂüY.?¿»Ü@‚cäÖ~ß§›C×Û–úÑb€…JÉÔáT:w86³>mCZÍ›Jé0¹œØt]ñ¨Êxn ૆lm¿/î5oW×ÁŽ×ýòæê¡Ùˆ½Á-Fù²ûAd3êƒÌDw€LÛE«AŸÕ “g¾å2˜Ì»dZÄ-H¤ÏJ]p}ogÌÞP²IÞ—j¹È_nÍú¬™@§­1Ù¶g° Ã,Ð=‘­ò@·`Ÿ:Ò¼sdE û¹uÏRBo½hˆ*Ûvl€€\´Ã[ÖÙRp½«KËÖ„‡¡/!=hâ—`Ðßa¨&+³ßk9Ù?¤üz*²ùƒ>ÂC\=¸ð‚UΓփ”el¢£Ç®WÕw^ø¡\ƒ%ÁQ-kf,¦ô㮟bzï8(2DDæ!~“¨”xÆ¿Ï2áÈœ×kXuÇòaÑŽ¿—hÈUDˆà„ÖõdÚó¹…ƒóx0±sµ4\ÈØp¨ðxdoK;ß´`I"ÀVó{©O¡ª^”–.a&F` Íô¨¹2OÖizfð‹í¶®“ÒIG× òMÔÌGøÉs$­ òW°¹J¬Ø¡æªè½:Óˆq…oâšx·é@jÓ¼ïƒÜ ‘A¸òP”*,¿/ªQÒ¶Šè·…[þ;ÿÒ¹ð*öEt$ßó§¿ÝëB{"@KàÇÁÒÖJ­ÿq𛑷XÉÅlùÔhe®ŒwÆ/EÙœ‚ø’þGõ|t¿°)cÒä"¥a[ÙŠ-ï $T’û wÄX#ç©lÐ×<ýèð¸9!ñÜæÊ.sèõ[84iÙ4ç@HYb w ‚ öîx¹”76ð¯Ëõ;Bñ~'âºVk¬Žæ1—Õ6@§¡++õàˆðˆçÄK©çYfœKgyI0yzË¢(£›2&þˆ'C ޶bÜo7ï_Éá–}ƒjÊÌmÃ{Ðä3hvw=0ØÔâÎkÉ6½)Û~;qž‚½Í%m5®—'úJ^¦,çà\¢·ÑæžW"A ÜzEÑÚžR絉 Œ¡å—Dè@…}á ŸðŠÇM´Œ$ñ†MC8Q‹Š¥s¿¡‚³uÐ Ô¡¶ÔÉ•QpA ¹ÑWX”m?9 ͦï7òsí4ëË‹%/` ‘r³†ÊÆMY(ç*54Á¢ï€ÖÇ5©Œ÷™¨ô<ÎX¥EuðNY9`!9ß ó1B§Šë—?¬|b*Û¦hí*‡Ì²^ª—綖о…¦\ž1™Œݺã3rÞK7Ȳ9aˆÎð7î†0]©7¶`PØ9,*5¤u@ü‰!ïäÕJþE%(ΑKqˆ1fygAÑ–÷ž3æ®™#ñÙ® Œ‡µR>EfŽÿ•¼aºÔŠáŠÝ×"iþÉD ¿ ?ÔEØôé u®twÔ’/c5ÍèŒû/· %ëÅ“9Üå]Y„ K7‚‰QJTæ%œU}î^†-¥ž çÀ=˜¸9HÑX§C_fX'L‘h.Œ†AQ-~C4}·'èõÂ=îã1ždWÒð¹È\v¾ù;Ӌܲß&%g™V䆹Ÿ ~¼VãI N1/FHÄaãN§48lŸ 5•Ñ…’±µ(Üš¹t0§1fñ0˜‰'ºkŸK»éQ $UñZ$ƒþXIAn€œˆôÉ=‘­½V‚®ùø <ÕwëT”èDrÊ'C¨¤ú;JÃü¡rö¯P8=G÷ˆíqRß³ØcҜݜ¿Ú·šÀ–÷©eh¾iFé`þhȯ(è°ºù'gßó¢{g½_#-¿Øø–3¹óƒ%xF õ¶ Ps¹âYAññ“:p¿·jÀUÍøl×ôV'„¢hàútÆö¢¼ »åÜxÝ·¦=Ù#Rec&w‚ª…VÜFh Äšswò¡Ø ÇÌHE¹™|É"vI¼‘-žQÌB]Ùˆyß^Åã·’¢SZ@§Y õç{×…&ÃtAª¸±A¢6-y~Ä¢÷8U®h²s*8ÆÉ%Y³•ærœ×¦½¬à&8·2ìɇˆË‡%ÌNѦ½\ú4ÂçðâD·‚Ź&Ðu…—³üÿõ½R¬™%u]bOÙ0üëEöIµh½‡wþïå,ÌݱWš†c¤¿â¾ð^·]$ªº:èÇÙÿËÀ=¦ØÙlÒÔ¼Óƒ×E³5Ä,‹ êþV’h.êúC›4Û ÂkÓhqz?‹‹1@ùl”e‹ßë}üuÅ?Ô­(ÔO1û9JẃK³'“h[ 5u°9Íø;ˆjúÏ5&ÃSˆ$D>èØçœk¨)¯)Kí:V°X‡Ý ŸÝ=a4´sRvä4†WüÈ»cœR|e =ŠÎ²§n‹˜Ñ.FoÔ,Þ{ã°£¤£\N™2ðšäc€Òçƒè ;‚’».ôg‹n{=æp΃¨Š­Hÿd¨1÷R4_ä5vûBi Œ)î,NiÕxEHKiw…ZùY2DW-TGï=Ñ+ÕÝŒçc4wû‹«¸¹±Mh ûî ް Ö±xÞxw¼ˆ€{”6¦zÊ–g-P®œ÷‡T›<šÇ5W©ù:BTýàãî’WÓïþš,5óåidöó‚ÉTç†Z ,ù”?²ÐáË^w´Uäø€[Ê@,ª:>„+aCäèOUZŠSý½çð`òX„o± ®HÂÜPnÛ"c°×s!t|U:çùõôp- ¶B9’xzœt‰Æ®-U¢¸~óý~ôK ü‡½µ—ýýë°~ê9Mri¸*Jb‡˜£Êø¡5cÎ*Rrôœ ÐBßö'Kر-qY¤`­X½`Ð`âí!ßzÚßצ¦1/å§èqN 3+ó [¡³úîë©6ÒŦ|ÉAg7ê¢<NJ› as5®¥º‘ì€Ó$ð$Ížh` oÊaƺXö„´T) Rjð"ÉÊh1QÌc¸PÐ)Ç9€¥Òd'4õviÎÙXýf&Ѫ.} ’c~]=Ú:lËK˜o¤ŸF»ñ“Û®FVÆŽ›±#ùМ•X¯àzièÖH%W£vòKÇi<,‡ÿ×§U»G:Þƒ:ÛÔj‰Œ’ ":îôØà–Yy':Yµ_¨²Â2¼0t Ä^ñ.UDÚ$y’]¾•‹?´ÓG¯UèŒï°rŠÂè.dZ«júT*”©,×^zpäš>wÏÍ;;{1üÖ,aÅå!Ü V>÷Üi†•µ qjÔJ‘¿d=ÌSæŸ+{øršt‘«©ÒŠK×BR»9¹LÅìœ`îX£€…nô«’©Zõ¦êf3bH Ô²ó=ánIžËi:ù -ÅÊœ0é#Ú}ï£5NÕ˜ËÞÒ2ÑòÂË?ó‚×謫KïŸ 8¸Øä> N@´DD|«€<Á{iógZ¤Ød?}ºÊìá5¿Î3o¬7;;H(Z±©]råµ&C ‰Ù eûldêZƵK[´E Ú“èF >î/­Õú¼‡˜G£ÀŽ—RÐHí,U{T9Œu:ûG\ö<1£öoqæ®…*™ÙÚôFQ+= yDgÊïÕÚ&P\³ü5Ku ÷Alþ¶ÇH_oäŒUëÙvê9ë" zøWìïú^kãn`øPÏóhLÒòU9x³Êò T_®Ótéá…”ª¦³e.Á|÷>6jX…\ï¿Üx·Y±LAüLŠwüló2ë’ ƒv?«7õ«®¹}î"rãÇ )©){î:‡šsIgi>/ÈTãæoûýV&YÞÛÀÌØDé&^ßa²Ëá×1ÊÏÌd ðVFeŒ(ö(­m1 ˆŠ ·¥ëžu޽d¯$’\4â‚ñ1€…ð}5ôÓä:Î8aÙËU[À ð_¥=†Ës¸Ê[Á oÜžêf¨p§+dŽg‹ï¢}¨mÌÔpí! /ó+~çW‹›¼3 í»®ÿYY‡&ÐrSûÀ#;a‹œ  —6{Û'gùó‹O"ÐèLû7Kÿ>(燶ÎO—¤þ–ÚGP‚·T0}©g Q½È¥qžF–6z~;QP(h®?aÓ¥ay Þºøºé áJá±/²µK–v¸¸“¯4ššˆWbé|ìüTÿüǸÙ*¬Þ{=¨‰vGIï(4zêt¬ë]E„³xdÄž~âî mù¤ŸO³ÛñLv§‘ˆ~dÁÓ‚àƒÇ…9Ì »]2ð‡gHÍîºkPšþ£L‹XW0p© \Áh¤¹<Œò©ôD9WmIUÈ%·¥¼+¿‚κ ÖÈG95çü¿¬4`‰¡bã˜9uqñÈÔt4h(ÎÚ• Jµ2§Ù¨¯¸V"vÀ’TÍíŸaþNURF+›ê=t#Ÿ*›yÛ&!DGÇϽ<m(¿XÈ÷Ïët,"ÓUi*5SÈïœîïk¬ðqHn!0cvzëm£‚n_¥'˜v–Žd$;7ºôE×ÿÕXjp¬¥­ô+ïâN|‚°Lß0s§ÐÖ"=Cþ_¼8Æ)<0h6Íã¨Xˆµ_У¦a±¸y_—ï %RÌåþ™ÆÅ‡Í§<š5døÓ{â0+’hO``úIŸU·LŽ’YsjçÈ-9Ös¶k±îÐ5ÃÖ»ó %ø ÂÑ4=KE,Ùì|‹¡ð`USñèŠUðã¸wÎu4ÄtåéáÈ*‰#aN¤×» êöÒÀ^ô:‰=Þþ¿¬2âÝ-½BÊ%”2T f{5¤íøhåŪ/ðûp?Îpûüü©8ƒFе¤¿6ž¶ ¼¢Ëpta.¡û9+¢®¬­—b¼o™VzàŒ2£÷ÏfQz}™›ñÑ')¸×D‰RÐL^ºµõ@f`*Q H޾&´'eæV°ie=•± ^ †9ÅèvóJ@¯z“bÌÓÇ%ÍñÊœªî ýñ߸ÍεKþÇ©ŠjÂÞå¶¿Åì*~‡=ÏËf+NOeG»ª×ý´½˜õ=Cbr«D¦O[¨v^›¡ 9ŠÝ i¹í¥B4fGjG[+ê’ðLሯ5Uq]@ ~ÜQ„sÅÏ=ëÿ1b6³;Öüà_íÔSݢ倫⠄?)äÑòµ}1â—C`–ãfF€,>ëui|® `aÿÉ©TZ”QCG”ë9ÚI`[bº,ÍéZaÍ)žs˜…³Ú )‚røÖº¥Öv'€ÏM7?—îÊþŸf>S™ÌU8=ŽOu™Þpü%ó:}ô½Ž3ÿÝ¢½Ïý^­r>Hâ8rP'¡7ÌYù$«®4þ,¹‹Œ§D%`áPçÙvÇnÞÏ‚€þÝf_Ú¸Ÿçüa]_"hþf6øÔèúœq9Ö¾¾bi‹(rx'©KÉ2Dµ*)yÂð ½¹Ï(UÉýÚ‘V‰’'zõ Ž(¯aöjht‘6{c˜K§ÿ¾9Ã’Š]%’ªçY´:ß?u$,@ÿE휻1¥+0Ð ˜:ã¬ËÑÃ!ÔÓñÜI\/~Ý)lj퇬1‡gœxƒ]¨âoWïŽm“n«ÉJY4]óo"²ïI[£†6éXb¡ófçêVH¢ºuÿšD6 9±½±‹ƒO9d>dö t†SáØb+jÖ£dBx-‘ÕHSï[Äiã+¾ð=Þ_¶óÞÞwŸ]Lü¸ÒÜÁ X2õHÍ`’÷‹õ ÄpÑ>Û"OÒ«‹~°ÃTÇìÇN¬Â­<Å‚üµøƒ)g—„ÁÉ’¨kÖC³(Nõ-d¼›‰wˆü;rKÔÆÜ›F“é©[3QutË90ûšSÑò½Y·iËh9c¸–ÿàCœÿ峉­Éê¿ãoéD<ÄíD>;µdî¼2þsNêXhE„¨ŒŸäOsÝ!Œø–#{>ó¦XÅ‹Jd]@ `ƒßókf»¹'OÞ£LŸúÞƒ:4éâ3ˆ1¤`¬IÄÉôKÁ…Ì1µ™“ ⛜ëòà ²Â‚«_%=û=ìlFf½ö?¹4£øíF+Ÿ3\D¨…*I[ ç±h!"Ú¡²:!gAõ¿PF„SKÖYíñÊø‹}ÚÓ»J§ä#Ss(›È/#⚆Ž$C¼jÁ=~Ù!MÀl…‰ˆ+GDl\Lå½c¾Õ¿´ÞfQ-—µÛTonS@~Û¢ ñÀÊ€€¼ýŒ™H8¹–x%p#KIRk¾ÞÌCú¹I³wÁj÷< V]Û|xXHf”'›†ŒìÕ_› xe:aÚ,;w³QÜp“žËp\Cw‘€Èܲ÷Ö5<öèbñõ¿x‰‡ªtb/Îú|ìJ}Ú<ù˜_ë˜ðiCÖ: º¿/`rù)ÌP2‹§b>aÏôGÊã é§€éO"cZ{{Îàã€l­Ÿâ\‰¾~´Ñ'`xÀñ[ÚE6òSƒ[@•‚‚½Ê«“ ž^Ç&ͼ^¥£Z×Ú¨é6®áyí¶ìÅþræjË`€†îD¶(oq¾²Ós»±ÄH¨9ãô¥9ÕVqpŒù‹.ÊdL¹ÎÚБN=_T†ås Ï Û¬ƒõ–åÎVwÑ5¹~C"œ4hcˆˆó^Û¹fÿÉf‡S¦†1R`2ÿ1Gt¤;"º¿^˜l£/6;•í¯®#§Øõ¬ôÚOåmÜÀ Èsœ¸iŸÖ‚fZ@÷òU“‹‡›¬‚]„eÿظ%‡¹Oá6\3ù‘¸ ߎò/Ìô¤åÎåË—0/J¢3tÒÂùy©Ó[íÉùÏ_´«ƒ“˜Ógò«¨œy´¡88 ²í¼;}(=Îbìþ¾Áãß¼‘¼Çé'"Úr·¬7[q¡9ÒÝ §ê³ù><¨Ôv¼þ®h¸W˜ëâoÀI-Ó¿ ‹wDk0<1Fz¤E$ºüI¨ˆ~ði´[‚ˆ%l¾vvµ0LØ=†¦ ¿ÐÎÌ¿uƒÒ#iŽXÐã·K¾ê&pL݈ª6²Ñùø†1šÉ³¡ÑMœÒ_ 5'èÏûyN]ÁÒIJo&¤ro£@ƒaËQš„õa²*բغêû–<^ï¤òÅ©3uGJ—ˆËËŽ40 5wK¦ˆYV":{)Þ.ø>•#ˆnv¾±éÂz>N1“XLÿàÍ„ú øLëÓ`C}Ë“E}WwÖû‘(ó¼*¥JXF ëíO¬‡–âX»o.¶ÊëýDªêÍ’‚ê®ÒÉáq€Úc¥Üò¤~{õ¡ÏO §×kl#”ÉÆØC—±ØªðIüÀÖYQ3åÁ-å°éݾ pé÷¤Á}—–®æ LêOŽÄC>’ä%ˆ" Iw5-¡ŽøÎ°a«¬:UNö|‹hm}Ðó^@Iå ³P#:¬± ã†tŽ„p)®¡cK)Ûÿ«3¨]ëÁ*fšPc!üŽHüÿD+ïlˆ“D9â |X¬aÌ›äHMK!À¬¡¤´•—¤ÊÂQJk H8¨Ë¦7–_•wáș p ‰r|3VܨTsËÅwÑqËÿ x¿Š¿ ÝFÞ±W¡Œ:ç}#mÂW"«„’ s–D7^¬é_ué ÆÊ¹Ynq…™¼l§ˆñ[‚B}æ¤Ä¹i F†ø¶õ0^üPg.CðËêh5„™Âkoýe‰µMÇÁ,qŸqò_ìWpo½¯ï¹˜z™^ŽMG–zðΜ0Fª(ç~ûcm3D?Ђp…˜çÇ-IªáJ,Ṳ̈;¯2ߨÓ„?à Á¦ÊôÌrfEè¿ýXúx­nò–rç¹C8…Díi«„GÀܰˆ‡3П믠UÑØu\»ufŽA$Gô4›hr0¦ï1Û=ŸZÙ=ÝR4çf]Œg9ìxe{áܺˆ–é-œüsa˜Ïf7'–CfÊ¢ub¨/AñŽ”ØŒÀ~ͼ¨0<µY2&£Ãú¾bc3ÈÂ;Æ ~RSC…žÖ›3òÚÛ…}æ2[ê5ô¨…k²Ã*’n V}éc(Nû`L’½,{S°$0–•8OoòØS´_±øÌ¸ô÷Vð¢ÙdvæôÂ:\nô9j{VÔ‚ü (HR´Â¦C¬KI?Ÿ 3$Ò¡t,a9Ñ?ƒvY0Âd'>qþùÿŸªs ݲ\€ÑVÊ@„ŠV`£M”œb½Ø8]I 0ëôq,M§½;¬ º~ü™ \:³8@eÅÆèFê×ÉI“z¼K"´r­Ù°Íˆ½ïûy¸p¼Ö†B+ÛÎѶ§Q{zQÃfªÊa=BG|¬ý=l¿¯ £é~?8®”!Y<âðœÞ}á †©Ç<³kˆè×™VeìœOQˆ{q}ó»¤gÁÿxˆ¼¬Ü&MdчJöÃøÒ4H™×Ñ©©¡ŠÈÆŒ×oËå^´wVø ÿ™P-h ¿ «Ð‰ékÜÅoAžp½VJ¤ß¬ú/4ôG€A)ì²¾y?c¢cÅ꥘ÕMŽ/8JpEåÚßFL6#³BºoöúÉ|e<ú(p•u‡R‡F\OÂôÅÑfà/Ëà¼÷Y¤D­#³(ùú‡l\ó·! Ç/áKØW~kЧÀjøšNcY9Þ…ƒ²u)ïošwѨ8ïBÀ~K0Wæwœã.lžÌÆù®î¾’èŒüAåóÉ~…•žo#aÅË•Pìk5òŠ:¸0þagI'<†­c/© ŠÆ}Âdê•ÏPp6¥óc‘h®8€öæ{¾Üˆ›«¤Û”êðzbèÊ çÁèiÿñô£"ø¼7œ³•ÞÓòfôÙ~ó˜‡(%¡m%ÔGТŒ¿˜=f3uì0æœ"å°¼Û½^0œ«<Ò”¿Ÿk-‡>\'ÓoÈešq¤›ò%K†9n*uk÷ÙÜ©ú )HºÑ¯å \º‘¼fä›ÙÐE¼;¯Y|n•Ÿ’¹þR'Â5aP²ð°ãð©¦Teî•tœÜ8.œÈû5%éxkš¨Ó‘€Õðõ~ õÙ«‰`~Õ‹¡›Â~±¯ÙàÛî^<•°€’kíZÛj92 16¶")Ð^âõä†ê=4èïÜÐâœé)zg\¢á5—@$(qG-[{¡æ -Ÿ8ju–äX¨ÀSL5F9Ìg PÉ™Å#^ èIÜáù>|"jJKø²#SÜv7C:RÏ+Pì¼ÿp¦a‹µ‚FgÇy@ÍV}e¬g"„ó‚.·Å ºEؕՀ6wàDLjVØÒ®r³ß&¢ì÷Ïm™‚³ä)ï¤éÀg®§¼lP Ì>€gÊìoI¹u_uJ–_…p˜k?I^^ì/ð‘²)ñ½ ³„::±©hP°v V®¡pNÖõyrÇXK¦¯%Í’Þ•M`‘+{WþôL’%ÑÝüx¥/QçŠÚ4šrOÓ±]Òõ7 oÛ ò.O“¬•ÿ1–þ¦®'ÉU›…ÏkK›¼µîæJÔEe…Ú8û¨v¬†’6.èƒàbÝ(¿Zàœ(–Á Î O+&öSUŽåYü{³|\Í9Î긔†ƒKT ¾3IöÁÉ `_qË'/0¸SKçúv&H?ì«ËrÕ5¨˜4ÅŠ+íê„B:µ«¼ t‰*¢X¿”)a¤jÅ734HO}Ñ>Á2îÂ[ü´©¹žŒMƒdŒó1i‡è“«’æû4˜´ó$¬ù§±ÿ ¶JËå3|dM³Þ¸‚ŠÍ^ ¯=sóö—ÅØ1æ²PQ-@‚“6…2"ÄjµluÒ28yå2äeæªn„Gø”{4+dRe²"îòuoc'ŽáÝf”Í»2[U2ñÐÞtå ùu!¾‚§OÏ%0{xWÇH<{’F;™ÿ¨ÓßB•í3t-£× ¬¸>t|ú´'6—|€hÓ5¾`ÓÓÆÇQ“*VY Ïé6\SÐ  ÃJ´…Q o‘>ÒogEyu¢4?Pwé"—»Í_|üz‘¯¡ÒfwÇÜÆKCô¢3¤‚«ùއ!s(‚äK(òß™ä„É‘ë;æÏ8‡£V ]MÂU=MÚãƒ@ ‰4ý³=—X ÊÅñP‹Õ¦ú±Ó–žLñ› 鹎ç«l›¢LòçõTkž±ýe×[£]Yï‚ɶZ%‚µ,ü“Mm3‹,šn(!{\ß™ÙÆ$n(Áé»,74@‘øsÂÓ§þsŠ =–ÁY~øô'@¼½£šœ7\Ú²fWŧ [áÏï³BÅé´‰?9˜J~Ê¢´TË.ãßmJN˜ :5OÝûÞLËøá…ÕxßKIN½¯/ªeš“ â¤ÖXt4a”39&µyAº¨4ÇsRPÒ ‹+3×7CêfÈ6¼¥8/£óCXŠˆÙøû¢=~úxé3Ð_õZú`Ñ,'ÐM èþ–øFK2DìA5^» `.\cJ€B“5¥à$r¨,+ÎÄ?„{§539Ž¢LÆjˆŒ´+Ò17½Âÿ€Ééàød½¯Íñ>Jí™)¼Õ R$ùI¦PKiÖ ¸Ó2“:I¼¸W?±æ•ä2XÌ€Ê-9*wó¥Yݑٓ3ZÆK“?* -2û÷¼u+Ùç©7=;ìò$ç2W§“Q˜bð™Ñ–óKk xɘ:‡TBÞ¨šg 1õã6M#L6ÅìâñOúÞ½˜@BhA¢}Îã .ÈH&aÔ-Êeý!çîyJ‡"ý<ùh~ñ`©¯roh­ž*wu£ZÔ¢*øºË+5åÊ:å¶»¨ „µ&†Å*Z"ò«Ä‚È1¤ÚÈ{B¨Ý/U–n¸ïó®­Åmý±²Žÿlyp‡uí_‡Fž3ð‰³le § qÇ_TÆàkû¯+(€rmð†´ ñ™‘½#(¼I!sýž35¬ÃðU2R’Q;8&7RžN^™d[×Ú¨¬Ep0UÈnlZ³ºyAÞ™üa}}¿±é_jHôøzs±néÔ•ö4ÛÀ^Sžy½|%Iìd”Ù²hße;|P¿ãºÙ:- šjPºEÍäVpózwM/#zÆ] ا0kÖãÏ'Óë|–ÅŽ$U“À…Ùð=¿èL,°-'àr£# ôF'ŒÆQŸû‹õ»u¾ju‚wÇ­Ir˜` `²˜ J'ðÖaÕ©ÿ j½ÝüfÉ„·Â2Ö#;Ú0Ò<­t`I_ØyÑÀÚwÏLÞ”!S…Mô•ÖÚØÈp6‡ùh£­ç ôFÃÎÉ>`a1™Ï¡!#ýÄ3T!S×T0p]w ‰eöÕ¼•àÏa÷±¬p×xÜã ‚$Á\ÛÀ_±O ùvùÀ?­¸]ˆªè§JFµÊºÐÝcàcÔw¨ú“d(‚(®ú˜MLÝÊB±Åú—¿ˆ0ßÕ…I↨->”ý ØµK[-p§u“GÔf߈‘”ÈÄñ•Ý/UÞØrYqƒ”–ÎÛ,ÑÛÍÙ i[u[êÔK\Àb>ßyáüMçÞ¨rÓ2>ß šh¿ï7»ÙAfû¿Åk±×É5×!æÄÇL*?N"OÚµ—£û¹—⇎>Ð< ¾ì‚@•¨Œ¤ý:­ßT"‹hRD²Wð1û4_…¹÷ç¶R¨F÷†÷¼öÆý—8ÑÉÌÕ;pÏ{«=2ôŠúµÊRˆ»Ìµã·ïÜ/WFqlO-ÒK¼u.{Œê!—ƒ‰6­_\‡¾#¬5e˜ÔéoûÚdËIò{xÙ, òé°¡ÞÇôêSúA½™òœ‡ÇŠõ¥ q|….±UwŽü$ÞDVi´ïú;¾üçF‡í‘zTXm˜6\që@Üȸ¯øzø¼—rÛ¦p­¹.ê‚zïÕÅ9샄ð p“P|ŠVÿ“+•û«YbB÷(¨F¼Q¡ˆ·ÕdAÁ‡) ÓyÇ'aô`Y!ƒM =Fâøñq=t †õ–(:WÒ>gï‹h6HÎBžêÃàuR ¿'«óåÕ‘ý72s®•UŠˆ”Î8Ñ­=kL¶ÍOäþQmYÔŽG\an΄I,5:CrÀ:RUš!w“f2‚ƒ<¾ PëÈŠëE“/nQ§äæÈpE]åÖF‚Ÿù/IµáßtÆ`ÛÿÙ4ÜEÌq˳t¶ë k¹õV„˜ëfyú#žÇf.²î;*ÒÖºgœàÉÍ’Ê ý´gTþB½ÙWv3b3ÌÕí "‹ÀÌÍ Bmþ¯Z:ZŠÞoН„ø#TþôÍ ô™ÂdÓ& àfÎQ_'lNgƒ Iàfu[™Ñ¹ùƒ4ÙëA0ÌxýZ0·H“÷÷‹=yBWˆ'Wþ4UQa磃ÿôeY7½2 Ènà%Ò~>ß—ln{P[@Jœ^Üñc¨\N­\n~’6œ½e<ÄŒEž&[õ+½ŠuD×°…#YgÞ }T vüzKàJÉøg4SppõZšõôàÈ(³Â­ÞC§ˆe&“›r–U:š:E~¶ "ú!‹1·;Û¦ˆ†ˆbT15aXaëƒr¿n {ÿÿ{-Þ¥«j0ŽªoÙõ€pÔ€rú<Î8é:ò²ÌºßÊØÓmž´‘±„ÂMç 6_SG.Ù(sû°ê_«e§¡À½"`Jã8…mMo ·½.Ãfc ¾fÔi£$‚ë¦ö²UG (Ì„²¯’À7Ò««qr•òªcy¾£[0º„+/žŒ¤D@Ë»š‹÷˜ÙA#„X¨:ËÁÁ¢ÌêCD­¡È蹕á#‚j5— È ¦Ú´Ûª¨¡¾E¤Þþ‘³RŽÅ—:{ï)èñƒ£å5«v¾’‘Œ"Ñ­Y4aØÉ3˜sî0Ô5×apÐ Sû4锉«Ør˜•c 95矎‡œ”}\Jò‚M¹Ò„Kb{µl|E® ¼ýJ%*ƒf ³5Çzûª´L\µ„ÏjǪìP6þs•Y¬€x1_À¤C˜¹ß'06UY ‘8otxB$¡Eó`çÑâ¥7KǪµêåùÎ×Õ6%¼̯j÷µ…Oà†$=Þh F© aóRˆà[˜ó}«xE¾=C„ÒEvìBˆ …5Gª4 Ýb´•òeªP²ÍC«Ï›Ö£î‹Ârî dAF¦¾U¨æÅ(-£PO EgY9¾ã²÷Uûa|2µPï.£Ôp©iYý»Àž“²ç½‡ªˆ'ù!¨Áßýb¸J¢'^êá3m{"Gw+0ælÙ˜,>™Ž*Û ù!`½$ VV)ÜYh‰W“Ah€/Ê›4J~y°ÅyÅãXæŒé Ÿ ´²°g^`E»ÚºÊ0ÓvzºiØêŒ#§Žß<ˆÌ~óBËÏÜ¥;zå0¶-_îæÂR„j\I­iJŠ¥ÆÇ‡ìƒ&ah†§/¦‘VRõ‹Gx¾íˆô6|"CÁ‚ÃÈž’¶!ýƒIžé1¢ªR¯–ÓÎT‰L^·f9ûÛˆ¥¯Œì-£‹NÚVôü~EO¿Ýæ´ÌèðýpfÇ H»Oîóˆ52ëûÒÎêÈXùâñ¦ÂÝtÐ5×”mÇnöª?MT9}9.v>º!®¤'ëñt±€ @æÂ¤ÞÌ0³90DÆ  þ(£Çà-+Hx‹ ¯e^##ôÉÏör%K!erå³׬ „+}ùºŽ>·[q*Ο@›J.³gL]S§¿½þdãLõÚm\#Ö6EÜâˬ²Ý.zW1ü[Ü[Ê`·À¸A²KåLõ*03¾?m ïxÞY£=™{{q”·¾§|îvã¸qb v^¢Î…~Ú3Çd¹ dßLɶý««C!¨W¼)Hë~Ÿ&$Ož’º¡ð©þ;ß ‰×ó’hð1„¥> èt9â­žå.·î¡ËŸqJƒH¶ÄD¢…¹ØðBªxÇçK¢+ó?Ð 0áb˜"ç:xdfkO–”å6jùʶuÉpäLþQµüO9x¡ÝÉA•|ìbÃÝ~r4e‚7ªÌøÑL§ú9].q–aXfó¬{ˆ|ÿåôÃËûÃYû- <ìFÍ¢9|ÄÈаû{;µ€xÄ?.Ê‹ÚI/gL”m7ÍÝ3F«AÀ(‹=& @4ߪn¤%‡t(#ýípÅ>Ÿ<¬Yƒ‚>ç ²(¡ß¹€¶vFÈÙJeìt¾kpT@øù’\ƒ,´åóýqá–Œéåˆê¦Æ:È-Ù»ŽãQgZ©Áè©øÀâ]>{² 轪r' UÉ›¯âÀòÌÁï^ ÎË)óRZh‹ºàaŽ½Ã¦†/Ÿð×`Ð+Êfס£KXtCæó‚WÎYoËÀAjß(â¡b±à Üƒã×Ðh`$*„†mØúë]ž:ÚYSÄžÁé%ÒOº/䣶 ¹¡ìQ<ÂÜ=oH¼»Rìý‹ ÓNxŒ'ð¡×~Û aqbo€@#‰ïÚyL©ÃËõ¸ü¨Í“¯#®Ù|§¬Rö ˆp]üçï$œë§.bŒ…™mgèÃÝîe…Q£ v&Bf!AŸ:N~Ä«Ùò’öf,RÂK­>Ltzcgñ¦ù*†‡™8Þ<ÅY·â¦õ >ÊQ¢ `’Ãd-Töç>¢Ù ÄŠº4Èg§ ð`œJã™M°szp® %ô;Òº„9É`ŽÇÏsr¤$‘\6d[zcwƒZÌv;5ü&ŒLÆÔœ{;¨èIÓ+‚‚‹ÎÁµÿžqi¼+ý¯~þv„ˆLÝÉBçGB_|äRÉŸ-þAF&\Á×°Ûúv’Œ Ïyw!<£ÈZž¼®Ú©…i¹÷üO”â8¿aIj+NvšóGZO .Zîè"Ùe²¼¸¹Eq’%[ÂŽ´ Ùa%sý£èÚš(¯;©¾Ù¼CQ6_ª˜0× ¹è~hCé l#“ë,Ó3å,8¦~’ÂNiŸ®pÞ_ž÷À¶*h³ŠpÜ]fWTB´S5Mê6bÿdkÓk=\ÃSjîO‡Ÿzðk^!7`ì.°pÏJ¶õ[Ÿ¥‡'ŒÆÇÖQzÒÉډ霗0¸É êÒAñWí¶ÔQiy~ѤŸÏ¯¨ÞÌi¹">âèÎ*äµgŒöÌcÝËCº}†º}ÍkTy iWíêR¥Œ€VSs;=|ôÉìlùE2rŒQüVC|¬þœ‘9!røz³Ø¿¿I y݈»©ÙZKX[¨"» $ô…QÞz2z£¾oE)Ôáj`¤±w «ÁMKëzÝÒÑŦE-Å(`¥ˆàz¯ÞÊ<ƆªYÏyŠ G¿ã|L(Y¢4¦’ B?BTñÇ¾ß ã›â ¹àl´y U‹Åò Žvè“‹8Ì0ïÎXªÙúWòéu¾Á˜ßœyµ_gƒ»aÛC3Ò{§Ð'Ò—«î@î¨ _ê<Vvg$]|ißWB|ú{íÎN¨J7 8¿ÈÝNób³¶~TÌF}í•)8_‰¥e ¸pkjhÿ¯-6(ó g Œkéu‰¨o`tÎ <Ôn´inàW*³òúÔ{¤ËÑ36Àin©ÀÜ Öî}þL¹Pžäæ…¸IÊd_¿´GŽViFчÊàD[ÉE{Xî±bNe\9¶úã¶Êº$lAEn]'†ãy ªŽ&.¨mA-~9ä!.'àFQÑÒÀc¥Ho[r„LJHÏþAÝÏë„CMU@-•‘[ Üiù;–üHIñqM\|ffÿ’d¯Ñ™¥s—KˈZRÇP}± >tT…jM¯AR/òÉÀN)á#ê‡ #z£±„ïŸfÍQ¢q‰Ë¡Ž™³UήQùÖ%=^!¿8V:Íc¸¼wn/ÏO™kå·û¯Já'ªwm“>€:ÂP3WQšEqaø€f',H¤'W  ´›¥¼Fsw¾å²e'œ7ƒCg«år{ ÖMŽÉ×£ ÒxPh‚õÌf9ƒÖlMS–UZ†—òÃɨý÷:¥7@ß+¸A¬ñgY>‚ª¸ß*º:7ÐÛä‘ÈN.-ëª$n#öï© ó¨¼‚øŠZ¸ùuÅÇ>&z:-ZŒâ A+ÛXù1¼’RÄ­9Ô¤B¯ÕªÙnCD¾§¦´ÍùbКF½ë~Xpñ%F Æ¢õíÏʉ‘M°+=Ë“tR^ò©p¹¸ ÿ‹ÉûùǺ lû?‘=6Ý„#ˆLvhW£Â!$mŠÒ ã­º\a¥3 5Ã÷¯âdcôB;gÞ'¬²h[™>-é¸jë]E&t(ž¾½ôó}®HÄlULk_¹Õ›qd’ìˆñ‘¤q)æ¯Û ¥aXu:b¨,ø:€Ì)ã^ª%;Ð ó-óÂgÙÇa„[.cóª>PX4Ú–êÁý¶¶ AZ[Ï‘“^4n\fin¶©Á’£rí6—½ÀÔe(tÄÞBÑs„ÒQõ_ß n¯`Ám¢Ž••‘k?ìøØwBX¡îzüFò1s €ðÆ“#¡ y„ ã: íï@*]ª,¢^örÃù¿9ŠËÕöRÉ7d9šgYÿÅÃn3¤YC6I´mæ©Å¯P—|"è}‹¹å¬Š£+­Á›¬ÃªY;9]cH'ˆ]HH\‡ ¶2ÊxÜ©:ôžAã«âKñNxÜÍé!Ã<<^¾¾¬e0ƒ/OÐyˆð«OïÕ`‡Á p×MWÏ ïüâŽkí(sfâÃEèpÔÙÁzùeá=ú(»†û­U;4D‰OÎ,ñ€¼ŒÆ˜È›¨QÇ‚<”…â’¨þ-ËnÄã®e5kVxhj°VC\â[ ዼjUhKzœ–#ÿŠÊÌXš-Êk–†›«ÿ@Ý>ɈMãé…Çp\ߘRŒYˆM”ÆÞjpsLRl _"žyõÕ³ë o‡5úŽÚz^@ã¬ÜÂ;Hû¿!cCÑ—ýUå³O­?hÑnƼž¦¸”¿Àgn±tʼnGhtfá<±çARS8T%ÆY¬AeÇQÙ†¤øY€™€“jÁêSÛ)üÜÖÁ¾;̼TXaY¦Á!îâœè1­7®Ígˆ·¨¼%æGǯë "\à÷[YɽäáÓÛàÈdÕ‚6±Ä¥H÷¿( À•ݶèØÃ81ðúŠ³Â êœÇö¤¿4½ÏßÛÍäËá-XœŸPꋳaî˜þŒD¥æ€÷"²K]r#™øAµPMË^Ž/BÖ"<– ƒºÞólš^únœ™Õ]_A0"4n·ô›©¾z®×%|Ù?OÙzâXÅæ½¾£AžÇDLÞï·—ŠË´½Ù<Ìmä"_Î*~a•Ôck»pEÒ#n1S\ëÓ.„¢ç•7ï(òXɪ|ޱ;%AÕ±Ô9ž:¿"i=,Âàrl·ÇÀïPŸL¥ÕQú·õ¶+ãìˆGxkœOrå¡ï|$—ÿ¼ä«&+Âßûè„­Lûý7v _ žõ>åvs/äõ¬äÈázE­ž_ˆp§3–:ÊÔÂi$©.²ÜÓpšü@Sy¾+‚e (Ô²ÈÊ–«ù¼<ÛÏÖLZ{µc¿M *œg_’…C¿‘8ž{Á²0ÿÊîLvñmÑGÀ¡+¬ƒþu×gø+Zñ®Ý8Шz‚î7´ò¥Aа 1V÷`v2^·¼”lv´~ãwg¥ åÏ^i_Ór0µèÔ¯²ƒ²d{}·ƒõ^K*HKCƒÄ¥’ívY@§ÂßÅЖØ&YÑOk±ÀÝ|”eã˜ÀŽ|àÛWTN$i;·`Óè©ê_)·cÍ{‰ÚøÆM>Öcæ¦ÓØTjÙE#W¢¨Qæì¢?Æ «TÔ¥ÿÀÖ´ €ÀªÜM‚‰Õ!ó¼IÎh˜ä­;[&àå¤íIjãóWýóQ,d¿½ö!z…À§Rhíi­7ÓMXWV)¤seó¹8q MöZéšô0Á¦–ª~¢³k28>"ÿ„Nf ¯iG5”³±Ìåø‰3+<Ð…ÅÝ,cý×…Èâ“ %ôNXã²UàI2¶È쿊;¿ëá›´ç…CA¬¤NÙ|*›Ú9úu­fYâ¨Òõ$§i¦«½Õ¿2|/:½—Œ/ð5(Ou䈣9­7ž8›aÝWn·ùE<[`‚‹6ÚçsàM…U*’yØd“9@Œ æŽ½ Ì^3­3 ©¡8*´:]qøøÛªí€£,ÛüEMS8âeëAxL¦ƒ¸ºÝ %ZsT"Tš""R€©©fÃ&/ýå[bý³ÃxgÌ»—܇êùêîtÏPŽ¾Ç³ ëÄ‹·ú6ŠNÀ±½YYÊÛEKØ»&궸·IhÆ„.¢vMó]”óo -²±Y–ÛÅQ¬¥)>t’G³Ÿó*$*½õË5è?½80’ÒË}Фv(’qT¿û–¼†!­|: I%M=›RÞÿá¨KÝš ycdä>¶¼á‘ %_ߢo WB&Ïåý7+ù³D¼ôCnÏ{´ÿaÞQu"¤õXÉ{ïAójèrßéÓš“î5¨ðÙýœ²ƒŸåË;ª‚ßhbÒŒÐö€í³ØØ(–WcŒžKŒšø/.(}ïyˆòLò,ôl1%8µÁ¼{€™æBê8¶ðüWÒÊçEU²°gVÞMÞã^š xê­¡ ó乊0û/gÈ:¢Ö^ˆÉÜ-¤Žç˜h¢óWïîW!2Cý‘¼³`ƒîUeN’Z@Rƒ¯‹JÞÀ±chšSAF°bÄ·~Z^¹ã`]ƒ÷­€.\É'ÌåÅIõl;}·ô)稭WûT¿vÌ}Ö\¢`P"kÅ‚0pN€MU¤~^ýuMù¹-$±µÖ²ÖC§åàpÉ1Æ­LiûÚ˜‡`b:#ºê6….'¦’.§ø¹´e ;ùTß0€•?ηªY»CØj¤’ï=ŸÜzÞÊûÅëÎ’³Ç’óÁžÃ¥öºA†Ü‡ûÉÔ6”¤Q²šýL¯½ Ô¥3öm“•¤Ùņ–Xa I—‘ã-TaËÈs™é³›hZí °ç6ÈŒØË[Þ3ñác"GZÀ‘€5ËN+›ß·æ•‡ArÚ}•cã%‰jÐÿÁ?‹¢¿W=¶Ú ÿÐ$¬C¬?ƒ×s°· ý9Á_¢©7+å–Í~h4;’íæÈ66ôy&ôÛ‡!0&ßEDÔjoõ@ ûªá"R¥d½”‰´Alµ›3÷ݪvÎkÌ·›õÅ÷º‰ª)ðú²÷$×9ØÙ2YrYDp”¥®øGli«¿ÊX˜öâMþÙ Èd–[—U¾³®…¤þ(/OðJ2fj‚ÿB;;ï‚gQÌóF ± „`Þ¦Äm( p¬ŽøQÛŸ¤éØhsU2dÉ®[†IxÕ† õŸ=Ñ WYÇÏÆtæ:Þ•i ¨Þž$´ŽKAîÖ¼Ï!\"BÝ‚'rÛãÚ‘¯ºkËKrˆ0Ùæßä$Õ ã5ŽŠs·þñìœyUnæ5 /Cµ‹-(÷AùŠÛm4 V0|©WË˶ÙrÛÚÚ×kûµJ°r8Ÿb,™+¢útý»‡GÑ „˜$$¹Ñ¶$@‚;KS8Ó¨÷êƒÍ©]#+nzosI.- óAb‘Ÿ± þŒ¶FÔl–ý•a.•E+Uè9IÁ»ûêéž^ÈÒÁVB6÷ŸÕð®ÕÐéÎD/‡2¢¸RH÷éàHHP_.òOØãù€ËNÀŽQÁò±-{Û=2UŒ‚ˆ#¿/ŠZ¸ áÛ<0‰f–ñj•¢³Wv[—EßpÞÄ ’<Ê*>#{«ÿ'ôj"OÄ!*ö«QµYíÒÃ.”UÚ—î“—p¡s¿¼¸ˆ’©è¼HLŽ逥†§=R˜B“ìú”±?>ÍœlP Ó•€òç°¿vtÈå~M€+}Œ¾äÞ£4"˜r]-ÝÕF˨œbÐÍæq¥x?)Ûx©séý•KÇ%ê7q°Yº^þ©Cè8&eV YjŒHq}Ñ:Þé ‚§goúÙ‚!§A×ôMÔ®ÿ*cv„ G{)¬O’ÏÌ+ûâ¾Põ¨ÿÀB¤¦ßžŠXGi4ñTõs…ÍÚ6(–LU®o¡‰š·šÎ’jà‰4î Úõ¢ÿÖÃØ]·€CĘû‰‡z^‰’È©sµ„ýˆ&EcÚÊÆ-p oÙ.yï—VÎeô‰ìYV9¼ìª#l™BšTÙŠ¢›>Y}Š‘Õêçn!¿Þ„5xa²(½ŒdzZÓ!y‹D\£uºO›ìì†rÂdë/JOÜ5}®Š€ïbZÃñFƒW\p6ò=ÒAa$M Ī—ðÁ¦;vÖ´ Fy+|HSÁNqÜ‹• …ý‚Ÿ·)\{-‚¤‚¯\ýAt˜b¹KžÜ=ÖŸs~ä5¹TÚ|÷F€ëOÝÉOÁAkZ!eûí­r\o­StqµÎ„’¯±‹îµE¡†.¹¯Ñÿ |Oˆ5%³³ à[—zÏÊÞ¶çkAa6Høe*ýyrl¡¸Íø[ZqUž ñ¿Mæ­a„[òÞÓd~žD8C>qÒ)q¬_âŠ`>îÅ)iÎ̧¹«ò²m_Še1*•é+‰é˜óH^™ÉÊÌb”ÃÆbˆõ¬kM¸ýýçΰPltâ°[ó6äW•HG¹¿1Åd n+Æíé½1 ð™Fô°ºWˆèI_ðÃcc› ‡{pëÌÄ…ÀÐQ.öK ÒÔëóO“hå/€ÜjªÏžY§j$è2IìÕiB{}µÔ^/D¾ÐW´Ôµ]žVys£ÏKwK QÂÏÞ_?™àóxdˆlÛª±2jÌ(Õ÷ȹúÆ,æ“hæÑç|(ZoálZ¤K0ÚGáèRÜŽDPHqAƒY9ý”l¼bM—YÌŽ"»UÇìåüƒ–âÐ=Û—æ#È é"1¨í÷¶Õê\>¼NççÁ)w]'½bý"É’9­b%6kÈR*&–¨müéö§ðf›û^ÖaiŸmÄš?Id¨Œçüœ fͲi~) ÃÊ «Ó+'ÄÅf¯å’—ž{Õ š®}ÃÖŒ%,üÎygòµmëcÚYëô¸å¦ë¤·©d"®ÚÕ~£«2ÒÆiþÌ#¨.›­wÔßá‹;>Ärϲõ'¦MS•¸|7(¡:\0ìg€ÒÎm!”eÆöºT¶ü‹¥þñªªã èf@Ô8ž !å¾EÎକa¬×@ce*^Û§j ýAÁn©v`qp{¤þ|ᕉõ¤˜† œ«Z›®½6u®ÕÌ[Üàq"¾z•b–ÔÒH°f 3:Š&NjõšúñøÖÏ×zi»i1"Êb†íFWÿçåЇ¥ö1(® ªHö¡"vO……FF››&ÈÅ_BŠ£Ëì3ÇåPŽª1¶°ö£Ï+9ÅACu¬é«ÜwNBa ¶æÕéS‘,^*‘°¤ÏjwñDÓÿ¦RtðÿÓa%Õ£Þ¥CÞÙßê[‹Z„I@Ó=jXê¾~êkgGXUAÀ„ýéæ,³œÞ×ûw}Îyû‘Ì#1„þƒßŒÛnþ!÷’¹Ñ;BÅ7;L"«Èø}”K_ßàv¨}ê:Ÿ¿E݉sŸ®ÑÏßc ½¶fX]D%Ó9:ö˜?GË'`Q}UUUÛEɕӛ§7£;9k#"MS€Vùá>ÚÍ"4 sg»¬ü¯”ö•Ëv¨a ²"µuˆ¨×wQ8¡¶—fs$ÍøîÓ_CÇu­!Ò«Ê©é üˆÞõgJ¢Ÿ/^äNý§Z&i˜TèÄÏ™Lg/výêóÓKå©­-^ ©LÕt‡3ÆÄ·#¦º¤"/y˜-2¿ò”  '(ñáÄçÕœ,ÇT® )ßu7ÃTW¿½§Í'4‰àúê}7áµ¢ç}.Îë¤ÅëÔ>«X6?X¶/J%” I3 V[”È¿0Ô½ƒ[ùÿÙŒ^a%G¾õ³Î:ðëh€­ÛÁ¢:¶¦w€×tí‚–s_…úº ÑÒ A`Ôsä™ÑéqH³lQo=/çˆ1ÿt#ýC›GR²Ò_:’ô”T²4·½zÜ©X¿ Î"¡µ}#R¤l ÔǾ”i~ÛÜß"xãdUûJ 8÷Õà‹/\¹°–\Àa ·'Ž9+â£|ôLy¨¸F–Pw ÁëQš…>5»0ª&=ôæÂ!}oN²1ÊÖidM?i¸KQ—ìOÔ^NEŽí©@"u+Œ°A}`OZ†—e+Oé(GcàeºÐÈÌ5ݸe+ îû9yÎ'BÎ"n¸Ä·÷ƒ¥”P]Ä çß4F¦1AŸgîÉ(OU³ûUDUl¨VZ_3‘=0V¿ùþ¯¦ßªw6ªKqKËæÏ:Ú2˜.FÎc×IQ’èÔÄZ ùg :ÍKbçû°G ®…Ñ8Ì¢fûiÃF·H®°m )±èáâSz¬£¤# `Ìùm¸³U|º„ÐL×JU¬;k Ö'ŸQ§­6˜ùÊÉ%÷ž¨|'†pØÞ}ß+8Î¥Œ~dË‘ ÁÒ/@gM„5_gÜ´i¥¾/hç*Vg¿0›&%åmPSåø?Ã;{…1Æ€Ê&ehdÊM«× uäöèÜ‹w€é;f,¹„žŽí›ÂßÍŒûõ.qp²ÑüχvË #óX€\-&æÇVmEšºÕÒÍž¼ ü¤Í}ýÒ!¸ÍõådööÝçü¤ $o‹N²;ÞpÓ¢aË Gá LÂIÃvwRÛ‘Ëbl ]“\¹({u9²àùAÅ"F.)ÖpÆÀÉ@@ëùy ’ŒÜ-œ{õþ g”ÑJ’Éxð?¦=^Š4ãÌôw/UP¸dôù‹–ùýåÈW";—@¿]ß".§J29 )F¥þª¼ÿB¡ç„\·À§Ã÷Ræ:ºÕÐ&ÆgŸ~\<Îû‘·rÀ•i-ƒO)U›Ä4.g¬w“`n¨drl%««åÈôàLwöâÔ¯´Î¶ûÁy%â½%3¥ /ÿ@ºy2¯P©Çaü±êo£$ÖC¼ž­¥ÆP$leÑȯ÷NÊv°í´X¯k:ßÁÔ’6›õ!²ñBãçåcuWÓ&õ “ýX4èŸ*dêB¶Í‡gŒ^‡_Â]¦?¯ÕJü¤Ë9±=K5þÜŠóKÐÜ©ó9¡ !hA Hø§¾™vXÉóÂ^¡ÌÝ%¦CßÞþ…â“ô”>Ü®Pä<#OÚý|ÂH¾ldýêqqõûëSÓ-¹-8´-dqÁµÓ0&î£üé[üc%¢‡ùAkè àÒÛÙà ÎXóÁªÑÐ~E®çÏu[‘2’[»°R‡¸Î½F£¢fŒÂPQãÇ6 MUÁ¤2 ¤HÔ/½ïQX»l ’ˆú$·àZ×ÐQáxS#§O”‹,Ê”!–Lìl‚Gô MôA™ }^çågz¥¾ý˜v¨FP›bt±ˆõìc²«46I*í  ‚´È®=ÁûqÊ.ý0=L)C<)8­;lc´õFÞ§Jf³% KïQB >b_e9kŠŽÀKG:zÛs\ˆÌ#“£¿iÞC Ê2Ìhµõ¬ÿKDÿ¢¢ªF3“i’ïWÈ­`=ÛΦËSò:¼)Û•ßè&^G+Êôm[…ÇæB.6€ÏÛÙC ©%¨¨ùÙìw©Ýï5Õzs€Ç?ÔÁÐ)Ê»éKÝ£5úÑOÙctÓ¼&¶7ÕÕÏ ·è4PR±´€zllkNÆåB§öA7 ÜÁ‡lV%¦_ÅdÅ>ÛGbÔ‹)´xrºÈ‰•Ù èÅŽT&Æ”’ çwzAÞú‚)¶` ”ö:DÉ5þ–ûCó‡u¢Ûí.Ó”M­d¦ Ÿ]•‚ÌâUE¸ï!-ƒxñéÍ ÐÌHáR~pÀâåüC38V´gp;´ó~8 ä/žýÆ|…”)ÿ¯Ó¥Ó^y2Ÿêz³}*Ô±Ý^Gñ)^›] ‘l‚ ž•Y.õXûäH"tóÏÀ å‡Ä˜´£>'AúË<Äm UyFÙÑ+Þ´pɽF Ô@èÁÕFùaBm±-6¿ÔÄ‘ÏWxÝphìHtyh1^† OÅKˆ]ÄIMW Ø;"ôðÂ`ü¢ëÎuØû—ó`ƒ¹+R/ÒJй (ƒpÌ—ÛO• 6¬I®s¦ 0pö~øb-¦àÈes·"äCJ;G@™”ã»2XC—Ì?'q»µã"ËeÑ#6ÙŸY™MJÍ5Á‰FÝ03øi¶\dØwU‰Å‹<’>¦ÞÿJtoÐ|Ó ›9^º}ÀŸè¹£8½‰¢í)¤ÈnÄ+|¤*^¥Aƒk{58ß«NO§5„•ûιé×ÖÞÇÓõÓ]­ü>H ³ÖÉ‚ødäè»F0M´ÂÆ7%-Dô2M0™ê;,‡ºÍs‹©SŒ»BÖ59X+ŸÁC¢ÐGó‰&GÁ_ù@Ð^(DjÅÜÛì¤×²ZT'iaÞ ½5šdc©¯t„8™Ê½[ZHIöóUQša­§O‰î^†Ävç9™¥]ˆE>ˆ_i+˜±uRòÁûúCÍ™&¬™ôû’é*Yœ‰I-Û½´g{›Ì:Ž2‰ïDÁZŸˆ¤Ú¡h` Ȇe…Õr5s®e­ìøLï­£›é«ÖW|«fiæFÙ*Wdæ”6F¾u7ï¢ ;Ft¢¶ÂÅÊÀ{}©íg> 4$NOê‘b¨poË ÿ‘Ùöwbo-¯¬Taƒæ³ë]m½~ aäygÄí÷ÿ£B ílbs'^˜IU=úÜ®*c‘ÖÐB”S¬/lŠ8g°œ{Õ|øKy0-a‡’ÀB’ÚÙè^œ9ÓÓ ü÷5Åâ;äÏç­ÖØ —£tU„llL,/P9âdªÄ%×f08ä°ÏKƒÚrÉ Ž ÇùÁ%Lòû°ÿ©1--›cá*Iûi5µ°[^gl Kj[ìÊ˳ð1mü9c¸-” ¹–^m>)ݯdFËöžk‘Ã(ÁÓËvTå|p¹ÂR‹–îÑ3HI&› €º0E­Ç>éhg¢?1T¥dtŒ¦¶A{rÛ¨-»è¯µ_Œe²Wpᇶ9Ç~Z«wÅò·_‹òü •_ gÅ?wÓ{£êË Oõ],ÈÜ~âVhô´ì—ÑæA/@ü“+ÙÎõÔ@‚¯ ¢'7™4"SGfNA?W¢(+àïe0T³zo¹»tžÔÇ}¹¬7/ðˆšŒ&—t—¼µÞȯL4o£ÎU€áí«Üi¾ˆ²1€<ƳÊ:%ˆ&&ÍCÏÌ™lï3ô# c.ŒG¯ßR¦aL’»‹9tJ»þ¹ñY뮜ÐNAѬófFHrmG%®<7mç‘þ¢hµh²œÔxt§ÑszYKd?ð.…ïh&BS¶Úí©¦1â‚îÄØ‘…û-›Šš’Aïæ€*d•¸—îËJ]‚ÝY¤Ò_ôm5·óÂTG^þœ°à÷øÐ?º…ÛPD8º«®YÜx‚žï&^ðý·À1ê,m:Ü"4ÆUÓ™cEÞŒŸêü´ž¹ë1ØD=G¬ÿûLØÜ¹ø_~ŽÚÙ½#Ðà“_ {žŽÔ‚JÂGž„éF·8 I[ÍÿäÚ!'`ÃBÚ;þ×Î:;í÷䱸Òj©“mü½£ Ýþ¥Ó-yxö.¢lc6‘ò‡ëLóÃõ‘ØrµºÊÃí‘:Ú¿+GÕÄl2“&0ä‚9Õ‘%É55Z]Y—FÓK¡ç×ÂãŸõo‡‘68·Œr×tûä‚coaþÅ+ç?­64W *¼Á'ç°Ÿ¤ã¡°Dð*[z*ÓH0z_5^h_»öW›…€ñv ñ i‘M1—Æôÿ¨î^YÝ?´scþgvÕ¥þï Îä´Ò€ñVTÜ&%d]ýÈì‰S¾h[à = ~>g”÷ë ñLB('ž´u—_Oœ‡¢£„Šbcx¬Éíqr°ÖÕü1gÇ$šéiÅáÅæÊ¨Ôì§ðÊZã\ž…{•°ÿ éÞF¢eiÛtô078»*vÀ‰“gö &iñþ¿Oá9oX–&P³CÃP —‘ÎÒÂ,ä¶5tãÐðx?å0î-~ ÞkƒkëU«¼³•)iŸúúL¿(–¨yΪî^HuBȼe8›§ö‡Ž¡ÉÜ*UØ8 îF” ï[.“©Ël‡ÛO®st¤ë É²?n=z(}E»Taf‡ aÇ ÊMé¤Ä‘{LÖR¯“þH;ìtÃUŽ^!Ü–"Ô ¹ámo1SñÄ©ßÝ®E%TžÚðCP½Å"ˆÎ0jøµ^ü$(ÞZ&×|©Ã€m4õã ^J‹Âw(J3W%‹aóÆå4s•Œ¹¿Á_IÉL;¤K‹¥OxŇEÃÙN?ò†Màãe›áì)'q–nòž’Ã\µ4¼íbSCú“I·¸<ÂFgþß?ž•e®‘9m,P^]?¶ÙÒ†ãlM…T¹Lƒ·=ùÌ_?ÙµÞ!VàöŒ\r8©€(Ç-Uí>\ÑkBŒV[@ï®@ywȦ’õ°Šª¾¤}.h)î(ëúÀ‹«ÝüÐßk›þàùçJŽÝ>ŽžÖÐVM½“µåðˆ·ëU8yòy&%… ù _o*’Ñ\)Ãvü“xvü‚íµá¤ gÉi¾„N¶m­:m—C†·dO1÷Ÿ”ú1ê`½\ƳҲfsÕcÕËÿìb0 pœ´vÇÒÒÛw©×sU§÷)iõkÈ$bJÒ£| wèYËæµ0ð$Ê@Ñ[&n‘œº½35Ü·áý¨q«n˜rM,¸ìŸ©¯éývÛ*øôl8*#¨RU5.Üh~ÔŠºÑÄÑrß@cÛ˜²ë Ý÷]ä:…ø¸/De_pEfo¾.1Íðžmþÿžg$Åpk¨H=¹>Œê¸€¬Ñåž?/ž·â §Y ìðÂ0QìMè›ÜýÉ4%TÞ|E!s­' 4NŒÝŠ‹"˜¼ÊÌI©š—â7¶‚'y<Ýù¶¡MíÚ#0Õ–¾2û°ßîrššp°j0z/ôïµy’ø’fq©Ò(óÆ ­Lã®ÑSòV‡÷ÙÔ°Vß„/J{Œ,PØŽ œ}ô³“þ?s—!ëàu›¡ˆaö²"蜓–áVngšx¤:0ã0Ë&QBUKÊÊQòG M©&wÛØŠ¤ZÜýígWUu²ÛÀ¥t£ší!­z¸òãÝx²&»–ñ3J㗷ذÍhB —ùÖ!­G®¿ÁVç´©fâD ¹.%AWPKšÐ=oœ”×R ºý«Ý<“CŸ!¯ÀKKÑJþ:GE)PS†Ñ#fЬÜT˜‡$þzLâׄ‹Xa?5þ:rœ.°¡­u(ý¹Ÿæ­EY’‚èºÇÿÃ=eçŠG÷â%ÿçCD˜s%s¬¹Ïå¶~ÃÃiñ22c¿6êI“W¨ ‡W.g¤¿ áêˆ ¥vWÖÈ›±À hð…{;‡ðà#*ž W“+XñØ¡©F­½k¿tø2Ù,mœù øäÄʪ½^mÊéšaÔkÂDP¶LÆÆ< µ z‘xiOå ÿVÛGGàíôfãUÙ³% àd J¾®•\ñ·AÓÿíö±Jàõåc§3þ™òê¾s<‚§äÆxI-ò®Ö–Fx Å}ešw“2 pгw¦'#oÌìŽ\bpìVŠ’zȪZFî·®Ã5¤VTZÉY"†aöŽ6{ìú¸´<÷÷²õ³2éé=!¢Š¢ÔÆÛ¡ýÇöèåɇfµŽ‡–r³ó˜G§K•ˆj´ð ïW…¨­-Çáè|@Ã¥[Qò{®JÒ Ò”‰*0O4ñ“‡‘<¬ ZÌÇÕeåïÖ†œ•ï!8¤ƒŽ ½Ñ¨²iûI'E›§çoŸMåãÝ2ûHU~´mêLÜe&>m±“ö¨¼—&¥L Ü:Øk–µC:Ç`\/jÝýórwy:…RN'ÞJ¥^ü󙳃”ÝÈábù¶]߯ožRÃá/O’LÜðËêÏ4ØÚÌȱ:g ”¸‰–;• P­Jž‹~a?íÇòtÄ'%87E Ö+јX›øý†›'¦™ëNe7PMy°óì…„ÝŽ,‰•/ÿÜè–‘ÂR–ËÈE¯’Udq«ì"ýëGµ­hµ+ÛîÂ$±˜¿¤$Ç—50Où\Zãg°-ùçmï°U¬þ9T [fx‡S­r·Ö|× ¨9ƒ:È-Ôµ@•ØTTëË!…xè–èI¶½~þØr?ßÕ×é]39ry1/ÆvP»-d¼ôèÂÄ4LMþábœáºê3¾Õ»øY}:BT¨ðê z Û\Ë*" c;jÿËjeËÆÝÈSù/ ²Nn—I3º×NÔªÆ-Ý@éBDÓôšKþSþkJ-Þ‡ãé"f„?*>=鿸{,® µýýëɇ8qE깈vÒ`š“ù»Ù<[Ä+î~1â€S<Û¨Í×Z*o[±úµëÄ\¹Îä–ú© rõÈ| ]¢m4†ë¦î<÷Õqd|a¬ZWÆëõå:}~ˆ]‡åx=§^(Tro¢îm#gÕ¨øáÄÿþïü!pΞÌÁÜKŒ¨õ裂 \ü‰èécj£>{Buí¼3ÿ¯™ý­¸N{­šëÜ$Soå† :º€uÏ”È\SÝäÖÑN焬UÙ²Ø@¿vM¥üÒl™öS¨¼ƒ;þ}áð;­@ÕTkãð^boú{_@6g8¡s¬gáInÚNçøì×kWÔWóS󬼱òâŽeP[u<ÑAÐ53¡íÖSxØáR1¢…MþÄòÁ§XzÉm]GËá–‚_×cxûå*žñL™’Gû§<ük” GÙ_ù(âÛ §­™C⸒sJ@§VLsi_fè»ñ‡aC|ÏÝ>™7Ñ6˜›XÝfÛâ&!QgÝ@ªÛ®ËXûݡԇešê†Ë%*©’P®`ΰøïlê‰7mKŠ—:›}F›û°è^ÃmEÞ²›U©F‹ùæöo¨[À¶œŽ§–-Ø€í³Es™˜pˆD1üû,Á!ôÞFNø‹ îÓ|óÆÔq ä„ÙWÚïóVQ¹ulk;(³fH‰‚×N¤*ÅxV(FD‘««2<¯Pâ2æEßÿ2ÃD…¹(=åÀÞ_…4 °ï¸_?¥`“Í÷²Þ T±ŠÂÒ«FYÉS ©¼ƒÍ]˰Ä#uÌÅ´ã¡d$Ã`F‰;3ô1äÎDÖÅpB\2/¬'òå5éƒ:Œ~í¿"Ö ŸÞ§æ šÞ&´ÓÅŠAw †R £4µÊå?ýbaÆqÑiòû¤ª˜ÂŠ™_iŒV¦8ðþÏK÷…‹-×kؙ³ãƒvóŸï!" íažrÁ[ÑŒEßžò…m^R2ŽVÁì„QÁ×F`¶š¯mÅN ;{nhÔvXœ€Új®/y­ÃÿÚ^‡#_ád|R¸ØóS»±1”á‚@†„F+Î…‹V‰íõÝÉð'¦‰JÑ3 á/PWÊ`½9ç ¬»ZœYyKMbTÁÝ’iŽ$£s¢¿çto)<¼¤rbut`–’†¼{úM9ÑŸ‰¢ªîò˜;ü4QÉ ¤½¾ÌãÞêÏv)|¸?ˆÍ—Uêü…h%1W¬ pThÇàñ[6¾sÄ»RK‰€k ÷ÏMíB~ }rOÞDNCÁ\hžÓÍaõG€Õ³¡ìM\Âíª`:ÕÍØSÍðÂcƒ¼[Dz&H–:øºWî5 ø2í˜ÚÀÓÀý?pôzå§Yÿ(GÔ×lãC†hq|“6ÊgHN ÷)Þ"ƒŠZ\I,*5â±I¼£Ç,RðîÈ(½¹.qÒ"^ÁšMìr öž|Á“{d cRÃÖ‘ÎBMŒ)’Àb¶04÷ÏŸª‚Í›è5NªxÁ³6ϘûMöat0ŒG^J¡ö0º4€ Ú¸¬™•”ÿà&Œ´§ŸïáAÒÓ¦‡_1€„ûU¢4Éz¿×I iéøtxEGnm²bªf\•#hZŠFèRVµÒ4o. í7¸ x¤B}–'÷º:¾"ò)ÐÏ%ï²é Ò‡>ÑËk‘‡Ãê"Ýækú¯ç6'ÚñAb^œe‹»PîצiÊ?=]¦šŒL"j†\³´ã„=«ë-B¥Ô>!)ðzÇÚj]ê‘®ùó¾v!_ñá~©ÙêS±Ž0tË‚_µYÖÏ-Šà„âË£æÆ?x†>oÁ–Ûã¿òËyœ;i¡Ÿ…89h·3k¨É#Ì>u­ØÈœ(Æ},²—­Lc„ç<†nˆ¼ßÙÏœg|}ŽFóImçÑÜêZÌõÇ=Ó’M-OMñ‚ÉÁÏJ¿¸QõÜŽrë×u˾¾O†’ãöÒ˜Né\_xW7„pñGøäƒç€3ý²ÊL0êÅ&&É«C~@³.OgÛuÙJ,.Ù©mvò²Ë§ØŠsµUàŸ¤PöæB˜;ñ>ˆçáã÷¤½iâÚµ=L¥Ë U¿¤¯ÔgÀÝ…ÅëVêq™$/¸ åÙ°`8åÿ–]{»*LŠ,Ù4þOØaq:ËÛ)ônàK%£]‚öŽçÈU3ŸFB™_£i#y¾4Š?ИåÜe:[¦3úéNÿâiz …“~"¥ ¡lixåIµR$ˆNjË€\†Ãü`ÍÞ”ƒ»Ë܉qíß 5 (ÙžmP~-ë&g8uéÏ ÝȽ ©ã|‘KØOÎø¯ÅmDÕȳyª4×ä‹´`7+Ãè Í£¹ô‰„Ö!g¾T06®£âpk—1*ø§Š‚óo ¤·úA7ÍñZ)û~iÀ•üot/vº˜–ŒäÙ-u¯Ûø‚©h{ÒWœ÷$Kà÷Çëâ‹\õ—(e¶"äÏÚ»y/ 9^ÿ ±ÊÈ©[#?r2çAdb¸ Ø„ù´ŸÔÝã8ì-ÅWƒ¾ölÊîg’÷Ø yr(§×QXRfŠ~Gv(†œ2Æ|ˆ»Ü´s6‡qŸÙÌ¢‹¾j %p'+‹ªÕ”Φ­# â¬É¯,òEôª &T±öA §¶üRÅ0 ­¿¾ò²¯ñ{`ÏHÈI~ЗÃþ7¿„ËcaÕRÅïz”GžxÞòüÄøzàû[)²`ÿú©T?KkP¥ò +ô}œÃô5驚€…¡Æ¯Š¡£ ëØÂ42(1óbn1cl=Œ™&0âY«B¡Ë0Ú Ù=Š’È_}+µˆ ¦ <>oòaoXáº#_¾(éÐþ ÖÍneïô…—WéHêž t’tà—,-¦ÂÚaœÉ 8ÜkA|Ò6Eš[éäˆ÷“T <Ê6ØMÃí¬7EÑ4u­'Ë“Kãj~ ”R2Õšqi|òb+‡,Q* f[Á÷»Y&×±N€¡[Ϫ¢]‹CvÈá<$‰h™G:VµWû“(„ÀXd#¡nr”4pMy­¤A=¨ê„êÈÔ˜ i#!1€ÓkJ“3»=eUõë­}ÂÉ핺Ó[“û»õ"£×#¼ÄW²âР1.Ôag«±™Å²V¥ÒÓÊõ e>ÂÚQï™DÛ/Ð[¯KùœZSèî¹;D0—š_ƒ¶¼œý³¸_ÚUÃïS7Ãk ›ã[“χÁÆ6ùØlÂt ~ŒBcÎ`+š~MQäÏÆJv©‚°AúroøKy´Ãò}@‡Ò 8çÏ=­Y’!w¾?'7Ó›Êëox•Oò÷R‚Këü5רoî}?,‰žcH,ðŸ0tƒÐŸ1ÅåZƲmj„L¯#SÙç,Ñmñztßý3 ÜHµRxÄš˜´ÇŽÇ¨“-!àþµ²ô{+Ø-$—\í§¦ºÔ#Ó¢v\¯öcš-Áy©OcºME¤¬óa–·g¹íƒ|ç¿[-'èÌ´”WdTGYç~õe„Õj”êrHO«ñ81£¨¨ŠC,"Õ`ØLR=zÝ5‘ÛZŸw´ÕB>&ùä&CÌo›™ká4!¹ÏÊÑÔö%]õøÄè5¸±~ö´ÒUB$ ·¹äuœqÎp,“e²é’0åöCrµ¢æq0ܨviiÄ"ën˜žAÛÑ’xùH´,ß+‚€W›þØíDøv'´í±ç&ìW³Oú pÔ÷9 d&‘¤ß®"ÿZ˜‡ßeÖF.bŠÉQÑS¡©aPÝ;R蔵p³å+1Þü;ŒJr4AãÝò‰þIFEÞQÇCÜOµâ2¤{?‘¿äa¯KÑàë—m3-3èO¢¬Ê8:ik ŸŽíþŠàô1ÕÿšŠ57_OâþJ _…ƒFQö1gÍŸ€@È›pmè—¸8„\aCòœrÌ£ÙýèÌÙÝ¥~o-ã–nìÆšìñß¶`‡ÜÇu~>̾ë1{"þ¾È!Pm‡k'‡Ðÿö?fQª*Iù;$âeVÅp7ÇŒÏëîýþ“*©@:ꎃDY(Íjq){ôú­`Ü×K]dÓ…¯3")ùón Âe<ö®\žjftO-+)¶ üøN„bXá:~f\Ò<=M·¼MÄïÒ’¾4rjmé È9”÷À‡Á14¨W¿gKBA¡…κM`ÕßÌô}š"ïQ£Èf€öF^Á‹Êëk[¥ ¼îJ5$Ÿ$“Ë’4éï÷¦é‡1àà‰Tœ4{Úo›oÜ7ä‰^j£*ú¥ÃI¨×Vù™ÂãìèkRA¯³#¨vR ¿Áìl€IÛM­ñò ñ5 SôƒŠê¼ðh‹'£\d:hf|À%ë·¦ôß|í¸ŠTé6˜²>òßzãÒM@–V`H‰¾Hè5"B¨Sš|êê÷ÉìT2'ìIÖî8Â8Ìb¹Ÿ:iˆ© >´]×1˜W®–ƒ#çÎè°,\°j¸I2XÚøü4¬jpÃÉDE¼š[œÅ 5ö>ØY#«š”ë6?®x‚¡Ép-º^&,Þrô'º§Ç/[O’#FÿxþÚñ$Q¾<ò¥ª<Å1ûSB¥ F«Ô\PCoÚC^#ÚüqH5#ÇŠ&®‘‡&q]CÚºdÿc3õB¾g»Z“¤¬`û„;«¹nùPª eN ‰kTqÒ£Ï(D'C4YvƆp+…z+ˆvHè왦–”ó°X †“ŸýQœ«OÓ$ F Jd ƒØL9)»<¯nXl pqw£eõø/•‡øÚ nú\Ò{y¯¸HË“ª}X'PàVO0×¾*ÎbÆU”#¢Œt°}BÁ9îl“ Å{‚é¡¢K}ˆV‚ü²d;I%ç1>}_-Ðq÷~ÌEšª›F L}ÉKv~PñXÏÁÿ<&:¥Ê“¨©uüÔƒ`'ñçÑ-Ðÿ×ÐÄr7ã_OÃ*¶¾W{6;Ñ•_RRêKŠÙg~‹kØç­MÁYg&,u9“7íˆÚòÜŠp>ÄÜcœÇ5iå¢3¸üá0$S—r"¸#«‰¾µ¡gÇ’F,Ix?O T_Öô9åqø|#Ñzr™ß0|ÑŸ±ÀR¬ásíÍ­+;ø·À \Ž-Ññ–h÷GÚ¦ÛLÝ|JAª &p‡„ߨdÿSc7ù€ Ïx Bê[¦ ö=m Ú>*rN`Êmfqj΋ÿáf´qµ¬5ïn'²Æ˜‰ÒhÑ Ñ0þ5?„Uå(«By™øÆa! Ÿß„©ß¯»Ó=?ü˜ÃNd¦@Ó]%(Õ'J¨sÇe¿¤ÉÆszAw4ä—" FN€@qô5€nÙšð ïýÄXÙSæ?_ É5öw?qH}œ&ãø„bú TODáÕuú‚è"+ž5TN/ÂsWß¡è_õðyül®‘ ¹ +‰ˆÍˆ„õÌ?Â_îÜGP˜¤Bý¥þ‰á¼Ð!_}Ê-ÁLé>º™ fM}ím¸S=\ÃSAŒjèÎk\‘ü“{)a²Óð¼ ã”/í>èÚ¸º­Ú+Ԙߧïåð|+_gWTaîÁ+@^îVÝoÓáùÕ¡Ö!³ëµÊ/R Ö󈦱nýmK'Ü'¶ãζù³nÚèõý~Ö(8îÅ2÷ºgÇ10cÆÍØw+øÙ†í{Û™‡‡•ê+¤:­ç‹Š©Ó3j]òzT²®ÛÐSÔUiTðöÊÈFñôºy¿¿f:3ÏFØ’¬µOó—·«ÄJÍ©éú<ó;¸5ñ€1#‘“÷X½X /cеag˜D› ¨ãgTF’_& ÂL´Jg3™½Ãö‰WQ‚ ÈûB¨ fèJ·8Öôï|××éƒ5ßSb²—Œÿ„‰†îÌ‘‰4}[IñE—­°pÿkÑàËE꿽טüžJL“áµâ¶-Žåß6ム»Ê½ƒ}‚›Y  À,eޢͅóÆèƒéòò^%¬­•Äœ‘›ÉkÛ¥®æc«ðd îš ‡†Ÿ¬ .fëp-ˆ*—+•FÆP‘Cõ!Ñ=©Šq±zþ¢ñušRà”ç0ï¢lJº¹Œ/¹0„}CŒ¬ü7M°r»äL÷é/6Èå=z³_™ë¯c‚ã»kêE9~‰‡)±œÛb0iÒ4©}1+Þ×L®W„q#ûï÷¹qªÜÓÍã¦îß)7׺m3ØÒ"ݧ©á,#Ææš”›ï–Gzëz4GÎ6®5ÂÖLËIŒàˆú>“)É»`o–-4‘i ›‡å“‘°Ï²MCÒL,¥Ú?Mïuwi€µE^^ԫᆤîy¸Ö¸e’ÌW¶ ƒ ·X.T†ƒå€—ë9rk¹Š*¿¹Þ1¯á¯`FR˜A¹íf²^œ¶P¢Ã;ilSk…äã‰ÕIÓƒ$ŽŸ’~ã]ÜŠÔ ªë]ګ΢ÄɇOƆ†²3äéEHåëã¶ ÷v Á£hýI±‹®õ½1”TY¿eù"õ_²‹p&«|q)’A¢¹©ÇÐÅÅì–Ç6´5U™^¡‡FèçÜæ"hgËX“Ïé-B죮YˆoÍÚÒ¡Ðs«Û€¸Ë»£TU6Ü]-ÅWÁ E®¢y’,!нû98GZQb „ƒ®ïŒðVM· úʹo)|—O -Tž"M1º§³]pÊð—¦ ß ×ÞoQsz¤´˜£Së‚39øé$ÏÂ0 C 4Ú4T5fs¼¶|d>—*Y6hRòjG=«gûR,Q5ôF.;™zJ«•«¢C >©¾ R6ú ÂAKÖ€MZ— ±Óº3™¹éÖv•aBã epƳ›20L´ÐTÌý T vÆ´»;}Yƒß™¾ÄÆ©U±¥UIB0gBf®¾f€ƒ-,jp‘Y= J!(ˆ_‡0BDôéʘK$Y̯—˜³¡àç(yÑ(a:ùÀ?Ó´P.1Ò¥vó¢ÏžE²5–©”»\?‡çۭЉ@@{™ÆodìY¼9áú`×)›\ñCº6v4ìáŽPƒa<­Ͱ_`=hûŸ|!Ò;Ç-nŽ-âiéBÛü.)Do_†1+Ä왟q£?¢a}È“o g>1?@!ÿœj³ï“Á;Ê×±6æA9CóKjk1;ªÿi7±+ß2»ïZjYÕžßL‚?] {ÌŸÛ 6¿TËuĉÛ`á&øž¢/5ñm#Ò]| ÑΡ½—xèHšr*賈+Ük<º£¯G+…»…ÜqØ¡êù|£&,峨5£Ím£u€(5‰Ÿ6囃éz@—:ÜBùÌ÷SŒ?-ËR$,"Û½¡™sޏ©ò16˜¾÷ã~C\вÐt ŒÜXúÉ_†‰ð¬Y7‚ØÎܰ}„¶]+´‹¾>˜cœ‹’Ò±°§ÉÄWZŽõ0–iN"G˜ëz\ùýäa/g4?É#Z…_(¢M¹—-<Ù$0ûD5ëkV°5SÅZÈ%ì‡Î?{¦½ÏìY¢,#tÔ÷V 3+ÈÔвÃ%î猣Ì3ñXFârOëÍ–›êXàÞ¯qµ½£mRŽ—éì.ñÎÓ3DàŒ/ŒËVŸð^™£†®º°kbl€k‡~cõKœ„äë¾u%µ¯X–-‰ÿœýßœîÑ]-rŠ•zŒõÂ2†ßÏÍ4o ÿÅ (ùèÁý&aÅ ÊK¡fzÞ;0ÇÖ[ð çÌÖø¬ÉØ)ûª¼ CS­)œ}1,ÌólÉ4tÃ÷­ZE+­Øîª_Ö­½0‡ ¿˜`ì yó†IÑf ÖÀ ß’)uºÝ/[ßh‡$üµf¥ÀÙˆ”à£àl`™¦Ç3ŒƒZW@ÉzvðÌ]¹ñr=(zUˆ¨ëÙ(m‘~Xê( ‘q?í"DQ#”#`4ç¥O}FÙ} §‡Îêàyɪå¶Ç!F¢D”>¦L•Ø£ävaJC¤ƒN -ÿóì¨-ºƒpy8¾d«÷kiÕ>¡ÎÚ¯%LDÇT‘Y¨¿Å Q–H€í½ ¯˜õ(ŒŽx¹„?¡—T+ÐPñtP¿jã)>2’u÷iªL,†Œ´À1†Ó‹. Ñ($ï6œóc£jÅ ¬—1èQ¡ö ÿ_0<{N•, Õü~ó+G5âVξëòxJM2víö)*Kì¹@ìY…›=n†düIõq Øq$Ôsàÿ»ä5CâSÅ÷üŒå¦öœg¼F¼„#aùÁ¹ÙoK¸ðPz;SçdkIº^ì¯9Bg9WÌ8ÐXù-œßü,í¡„<3#³—Bül3ð7)È|¡j?èÿúƒ9͎Эžðq à1ßlt•µ€ü$^Œí'Ö0s!óê)š.ë":‡[®Ï•a3ûGÕÁ—À¢¨ÎÉL«0ËìâÏša›¨eØEœ«ãŽUé‘I¼9Ž"¦OÍÇv›¬ÔèøÌµ²~ H5¹ûÿUçé 1òDp$#¼xXâõ qr;°ëá­ƒçÆæ·™ÔÊ­kú¹»‚ž]žIˆcîSôþõRÉä±±²+û\þæçP.nPâ‘ܨTy2û?Ò$Ñ2™žHN-œÏ%6[èS ìˆåâÔÝ”a¥ïjJOx³²Îãß@šP“’Ñï?jKÅŠ49&„Ui¾óF ±±ÄH#÷غÒM>ЀJ·£˜t$+ þ LЏGQÏ­«C$äVBu®jø;› M¡9eœ.äΧyTïIq³“àã¤ô—¥Å)îu_bSßæÊO =g¾Ö®½FÙÙ‹ª©Ý2·6okÝ©¼zDÝ75¸ÕÛIx!Ö]%”÷êïÕV—Ø›àTÁtËU_&}<òn¦ú¢r™aÚ¾3W¼IöWaÛj_qºîö1ˆQ¿¢Ïn‡M@óß$¨äm/NøÎ#ÓIÌ’áÒ@'Ý-Ãñ;ÔO«ïö¸|¹ò÷¸ïCdÛ_à·šÌ‰Š‚cš™ÕïBx/®FÊ`•ž–”æ+x´ÿ:ý÷æ"¨è3ƒä#M‘ؘEHìŸEK¬“"Dˆu¼ «ª'L×ލÞ$9?p Ó²ñoÎ’¥‡yOœ@íVßܺ~Kò'©È:òOF0Ÿ·iñÒ¨KáÕkˆÊÊX?è;˜xøÙ÷vŸ0OPÈ@Õo³9>(*}w`.Õ-‰Ÿý¿?r‚![p²3ìþ ?ÈoGÊhÄ8Pˆ$ Î%?ɮҫ! N‚½ºúÑŸ+ô?ÅÜ­l&­à@µ5TK^áú+Á£}Púg©Z™’é¼áºÝ ýØØsåÚ f&ýSïueN`¼JøG’wѪ OÓ •ø?Ú´ßI"ˆ* c離ä†þŒ’£nùÍ) 4¯Î Ã7ÛÊÙêèíaGû\l|) ~O¸àèR쳨×n’ª˜^!•² ÂeÙeÒÛǫ뒃¤ÆÚ¤£ºë¬¤Xµä/¼ï«R˜àÞ';õµƒèB¢nÈöRV&òîœ "¨p#úûë„nÇöt<ÊuÔ3*e$NÍã·ÇÉX/`µ} ,¼„¹7²ÐêfŒ¦é%Â>3¾ÁåRÑÛÏLÈLm!Æê‚Êu”R» …i®À;·–iŲ̈ãšÍâ<Ü¥ ðìùºÏ£f\)÷–7gúWŸn_f’Ê9Ê_x`{8ªóÓ˜¯„N²hmçL²ý)Dû´qÓ ñN4JçÖÞôʉt¸“ö^eH]`pDý»Ð÷‘AŸ´o¸ ¤ëg™ø1×(¥ÜPˆYôáH06N¸æ‡a8" _6by[]a·Œ;ÐyCqyœzi¿7_# f —·Ç;R‚cDI;œ•Dºm‹-©}ÀEºŠ´ò‡]',+=ã$ª'½@+£,F.´¡J2B7C.7ÛJÆã”ƒκUÁ¸›”_>èkmoÐ]¹Ñ„üqG°søZ4Þ»tqgè?aVW˜Ÿc)´’áP¥U1åöjÃòqkµ) íSµ+7PoF ™Fe?—öÉî±JIżîÖÕxnÀ>¯dŽ´dƒÕ±œÖ9Êó¸B„Ï`8I-¬“‡Š”eEƒñx¢5!m>ùØ»é*¯õüÌ>jP)›—µ¦Y„홃”hÌ ÄüùeÑ¢GáÇR!ôÏBžš—š #óXÞ©ˆ•³Ä®…µEj¬xýàÉ{º@]ÕĈ®^·(àtŸ¹Ôöu cš=e-nÏ8§8Ì xPùÒëá…ùæáÛæ6ÈߥÔ5ж‡Eg§wâ6ž‰®âœJ{4¹’9Î÷y€shÀÏݧ2hÇ⫪mÚ÷E6Ê9ÈPàáéöÃx·ågÌÑ„/ž«u_~gWNÅQ"]÷%HÇ[;~}±U¦”!ÇÅ ]¬@dÚ"˜–Óð˜sqº/ €ÝÓÈvtú¨Õõbš´ñ+ âœÄÎ9¹)¥ë0œmvœ¦É™Ž èòe=Qj™ P%¹S‘µiÏCVzâAaàÑÚØÄb”u”Ñ¢D òA£Î¬š/=TË(B.Þ3a$ P*n6ê’ú „ý(Oª#»íµ¸ÖIlüÏ»ˆÁ„ÍNE A­nJ> ³H€éõÈvÔñÒÙ- m†žÌS E‡â™À- CËtkÖwÑŒÄ8bÆ3hŸò%4R{áSØ_X ~Øm¦‹;µš£%¹á§ÈsO¼è¬¥!Т´;»Ä7ÏÇ|+·æ£Õa/ÅÎá7ˆÎo]ª ^¥pµÍÉ@ÒŠ¤xˆµ5%·²ÝÍš2äŸN²†£í]{ªèÅXvÆ­ ˜¼zo– ¿KCÌÇgÞ‘MûâýfÙœcÍTO½¿ÊR²qÁ#ðÞwšÎŽ©M&Ú-(!Àö,%B3“eF-‹÷+GGêDJdñ=_Iù›HjÁ%ÇlÑÿÒƒú¼ÂÝKÙÛØ×†Et n” zˆy¢Î°~jŒ©¾&tÀâW€iƒ­ D¦‘GQ€Ñ@‹0£H³¦šàÅWÀÊ|`‘ÓǤ’H¡sU46ôjS¸l;Â2 r5>s7\0axO˵#$•$˜M6Z’Å…\Ó\JìÑ58H ²ý¶ fÝ]½Å?ZÔÆ FéBæXŠ•SÍGÔ07]j“O«õPåOÿÄþªLßO COܱjZ}³Óă›´%Ä屆zàŸÎ±gÝ)7¿ L+;y1<íÇ-’Ž•ñq{8#`þ´³ÿ-lEÈñ¼š…Ýn3÷.6œ9x ,‚¶Æ8|›°ë. @;þ˜8tlž´ø*õ ó%[颻%Á¹eþ‡A]^J~¯ÒŒRªGRÅ䨹I)N†ˆ˜Ä½R|ù!F–0zÛø4¿“ZǙӄI¼Â#œ;9û·3.Ì5ÁÅÝß›]è4Ô¥E”ÑQaG‹›IC¥ÍÏÙÀîŒ}&û1Ò_‘ØÛG-ßu©oÑÌôž÷¦ó!b*b00ÏH$ý粜Sô7‡bAOøKE¯ÉU¡"É2·P°’üö*Ñây“¨V¯*¿ ɰ¾•ódÔ¹k9euÓ™^f uùºÓ›\l;cªçƒ~L•½¹Û"ãj°͇Œ}O×÷Ø—ÚQNû«ãfaq’V” ¨5‰Áí[®ë´ÔA]­1@ <8WÅŸg—BïDÐÝÎ[L:k'‹ë=46DíÊÏ™4únJΤHç㦠{'×-«»¨áB€æ÷<ŽÎš®ØÎ3m¥è¦`7%-ÝÂšÒØë$`3¤Aò¹ØÕÁ`ƒKÍómšEýÙ»-Ê„éëŽòÛÿ+Ò «ŒÕU7¥G*ä…w´^sè·Ng«8®‰¬ñYbÁµÄ×£sB¸.†ïÊSÄ®c䝨ŒDùrS§D‘ÙÞfÚ1§Þ ¿J Q³—ÅÖ´ú°Ñ+6©4Àµs<0‘ÖB‡QâXy>é¾p©{dj8~‚:'±‰¾ßˆ¹n;øâ›ša(¹JøŸ¼‡n+­Åô=œ¡ìFN˜h÷Zòö&0É phÛÝœ{‘q…/3Ïþ4lÌà`¹ ôLæÀ¦ƒ ÜœB§7Ònù>O˜€@†‡VíoöJ€Yˆü¡d÷Ò,LšüEèÙš2¼pê{èNb™DÏ#ÚÄ''?~cPÒ4(Öa{1 ÈQºbÁ£r;øs©zO5£b…`ðf²³)£Hè¯K.8¹9†µN㸵ÙþE ÄåÜ ³pÆ{iäg#T1}šF§ËÙû³Ãgwš¸ÂDª£ ÑBÑ_=·0Ü8IâW^ I ŽÐÞ•Àñ›0-¸„¨}Æ«Sí%|b¬¨½¥\¨Ó ÜHì 3 0F£±ÞM_þ$ÞAHXÂGè®E§QÌjû¶R~ûDc÷¼È h4Ÿ¿]" ÄÄÅÅC_ÀQ#¹¦²òÌëZˆ«PÚýõ5ÓW¹Óï“LX¥,0ü̹ÚhpCn[”Œ.èDÁÝçU³î4}à÷Ð=™鬗—¿´M6Ù63/v“ÕÏy Øâ©üþž›–ÅÆÁ†î«Áo†cì!üÍâµ$ÖY Õ¹GÌñÐq§S‚¨,ix0m³‚ ØæÒ_ÔßoÆ0Gš&Ù““©` 7¥` *›Üzš sm×m¾K¦B[?r0:ë#È﬒ÆtÜe‡‘’%ô© ˜ýÒŸ‡ðktþVQ·WÁ;µö–ÁË×(qx=ùÔþÌN06üüÙ¡nB ÜeS³ÆXøÉÅ^¦ŽÉ&™׾ÝÁ4?mœæ6‰‰áBÖVË6s\*·v2ÉÁ !ƒzŒë…P½®ÀõöíR¤ÉªÐ«. ýÀ»6·ŸªÏlÖó@Š|®B/µ°Û"z +NÔÀ«:už×p3‰;Ö±v¶ddóå±Ñ”5C¿‚ÈrU×ÑÖ¦©Ù€åzŒ˜¢à­ ?½û–ϱŒ¯Qß‘ÛÊ–HGþ§7§-3l5B Áë•´Ö›HœÍö6àÌn'ÊgXœ!…½Ùù T¤„ƒ*= ýè?WïO·ö2É-k58¿Ð}h7 ±› ×^›r4ÌHâi˜|ÿmÊyõø öòü<“£Óê‰ »wóëÞŸ±‡áJÍÁÊ“‘[o:þž»¿€ô/ }ñ &þA ÈŸóE#E£‰G]¸7Ô-¼¬Nã>Û!7AÌ -×E^Í3¢c‡4aÑ|#ŠDÐihå‚pžÃ£¾§hãpG‹~³öHy(‹…üA²46nGM.)ö褎™|ÅŸ”¤ªÐÿFaLÚ˜F70D]Ú(­ Hj²¶?£êåΪ3]˜ªc«¯6A23̱K«E‚£ÊJ\»…÷‘ež(ÌM*W{•ÏéÊ9;“uË@ûüëàS7ª©ëì.šû¨5­c„`©ˆÿbø 7w 3Rç~E¯áŒðQu¶—–—IêPÿ;DMÀ|lµÚ¡Oâ\"ûTpŸ¿n-‰þç±dæFéú®‹á®~è#ô4'lЀh&íTÇ Ì ¢g5‡Ž…I (ªWÿÿ÷ËÇõ±¨D, j@mdº¢ŸI…âÓÆYaVžÖÓ¶aµÑ\Ü$ðíR=]µOˆ„Š]y£ ¸27 :ΉÆÒx{x›Ì#këå# aäÂÍÈõ¡³›@Õ‡®gRçÀ|#+«²†KrphÓåŽX¿.™V="®Ã¸hðJ×8µ·û­Îý#Ái“ öùó:Y'´ G¸úÀÜÐdY[92#‹e,Wô5–†OÿDeaßY’çnÖ\·fù"¡Û~:ŸKͰ&aAŽG;ÓEiYó‡ð{>p D}æÑê"B …ÀéE›ñÖ´Bý~R¾jù”²'«ž×ålX÷q-B1êv’ XqÍï6œh~©Wýª^}0*°Á.üÿs@ê¯÷Š\*üÇéõr)Sdâ?&€Ô_œkz˜ª4ãËä§Zxü.–~üIsÛ¥6‰gÅCMŽÞãÛSfóáË,þª<æ+X%ûâûݱ¨›f;eÛó2‹‚Áeò b ÿ`|3Ìî|²“ëÑÎtjxNžØò(5ÁMïoÁ.Éóá Añùmi5CLåSÕÎ…e¤à qNP½5ç­¶ >µnjƪ­ëhŒÅþ«ók÷ârgWá¡ÙÚªÿáÏè+w|þÐ4ºM>Áª·'娪#˜¬ú m~6ž¬øJ üÿ/bíüNKÀ©…G ^¹šüÑvÓàŠ×кÚÝš;(̘¶X]=múö|ˆH‚² b°uN:ê³NFóá¬rcS®nmƲ*n†|±ÿ‚ U¦Šø`dêT¡yGÉÖoK™¾4,Š*{Í%DYU€3²6ñ¸k„$«W‰ïa—AÝ×Ñ(.ÀÙÔ`rb©‚Nˆªë-W:hWˆ¿Nl§4jd´tÿŠmoÑw~ù bº¶Ý.úhêBž}Qb¡Å·´Y8|é1ôD“V‘Ð C:ÜB3ú¸ý׈ÖXR‰U•ÇÇ‹Áo€Þùƒ‘j 4"Š ²œî=Γn²/®UîÚtárº4[MòÈãÔ‹ID³Îx@°Ùú’'ùê¬Oé¤DœÏÊ?[ÜŠ²ž0ˆóè8‚3È|g¡ž"¡=`%Ïß=å€ïsèÿ°A‘B©Q‰»Ímí£4l–sw5Â+RñŒs'´R·¹äÞ>èb5˜BØË!FpäVç;ĦåÙššÞôMˆçñ!ªrCIòEº$¹…LåXï÷ëYºãÓõï*ÈJô?Ôé öîçÁ-Nª/ü`¶¸;vmïœS7øy]½ýfw1™‹#LƒX‚z,uOGTA½HüjÊXXs—ªñÙj¨uùª]í/²PµõXäå‚pÙºÖÙ¢¿A]£Ì-÷¼De‰H¹‹ê¤P`ê×zCN~Z`öÆÚ™›ÅÆ[EÊ qµhÄ,¾q†™[3¿(6іמ1œ“z9Š ×í?#.Ñï••˜ŽSãÌèÓŽ. ±4S8®]>ÛÍdb35êû³ M…OæEèY„¨}‹Þ¤Ë+%Eš…Ûäuý™5MglÛv~º„ï\°²öéˆucØ©qÚåëP•¾P «<;˜¿ºklìÇÏ[¶9¦.ÀêXŠZ ¹JO!ƒaîyÅà(¥á„‡Š*SÝ„Fhb}?«y ÍôÓÅÎÔ¸»‘5ó½*¶‚-ÍXÂÚþ.¦IÈV£5µ¡ò©Èá±Fþ+®Gåó£$‰¹Ø­Ùœ°ÌJ¶\e<¥–—š»V‘Œ‚t‰¼…{]f'ÿ¦;3ŽÞ6cÇ,áÝŠ"A·-c²O#;SN´w‹êN·x‰M«¡Ý¡r€;.!í"ûéóTµÓÖâf_Ž>üžü[!7ÎzP†èI(8#s¡=º›# TcÔ}ÖÁó»BÇÚx)ãúÊIC—cvñbõzÞòâ cØó*ÃêðÄJž~e«µÿ‘ ÷PÑJæÎs(;ƹ׬úZëñéZ.J=;“q­±z3”àt%OM~øDþ*Ê|GÓ$Æ´QñB‹3A:zÒ,›òóMÿ4¸¯¾¡žn¢þèï¤vÂåªJ+!4Þ=W “¡K%RßËΠ䯨Fª ­ßpåÄhO£ÉjÌD’Ôr‰;*Læ!mƒy9ö¦$¡‘šß\­=ÍË¢z]C÷IÄí y=ê!P9-g%" ÉmÑŽÔŒ¨¥Ä _Þ0É%`hwÁlGqÀM§¸Ro7^£ÅÜ$ÿÉ8Su§|«6;‰µ ²[vPIäñÚ1ÚdØøRæ®.(Š®_ÎÖ}>?º ½Oµ¥ºŽr|Ç.¸„Àä|®SÁÿü|2Ú´´…a·Å²ŸÛíŠÁ2|q„‚:‰à[¡aS[ "øù}ª9œùUe±Ð“ÝB«\LlÅeé˜nðçQåH…Q׈L=ZJÊŽˆï§ú÷˜bw´ƒ÷ô!.äÀÙôÒ¯~K4aÿ¥×ºbUbáx»~=ÕÙFœ‚ÇÙ¶Ù¼²Ë6,l»¬c}Ðà®í"¡Dá$:ùíá”W}¦L“¼&å.'o[Ç—³$¢pËqðè+­Ÿ¢þ8åÒ>Û{«ßÇà ˜»E¢K¸é^"m*¤ ÚÚ®¡ª“²3­³õzâ€þßîb[åW >×ã@–êœ>0Ó ‡Ü œw ÉJœGH®Éª;Ë¥Ûb~Ð/b¿ ‹FmÄVÉPº²ªWï­ÑË*[– ][fÉ‚éɰD›b©~®;¶^“XêŠ¸í ¾7o û’’k,9ÖÄ«Ž·Ù¶U°xãR·M~g4:%÷iÃQX’!`^ð\_ž¶¶mƒiQ‘ìë2U]78MÔm~ú*oî—’È‹=v@%/°ÀR÷ˆ›rc{Úꌊe“IdÇÀm’ñˆÂš34Ù_|¯@W“Ë’f~Gjž5øî…ÉôÜžñŒu·Åý<Iíe{7úP?×#•äQøÊ˜Ïa±×¾:MÏ5œ,Þ€èîV£o½œ÷íwW˜§ªú}¬äJ¤7ìå«[‰ÌiõÒO5 ùieôæÛvÕç—ìz `r°ÝQ©7—‹+à“[)y{–äùÖmRlc²­g…-mêõŸhún‰*1é€ô!û¤‡_³!$þ˜C±²À=±ðø¡haØ@óoô_«ª›í Ѷõµ* ¾y÷.âpŠLÐìý­—ÿdô½&>²PBÊoh‘#"[ã@…Ë„‘ø:kI_òlÉ?»hê4†±Š¹6ª_ÐbíÓ:üeVKhgkë7*g=x;Êõ»ƒ–Ø"ʈù¥ÐçÏ•âçNtiD䙣=f°®-# óåvÆñ¯˜á¶èÒykõr‡âø“İÊ(ÇÂÚÜÝd ÂnJÖ'€.] aŠ…Òî\1äp¥Ý2½ôÓý\Iöd%¾0sI¡ÈoÐzÒ5ƨi•“µ‰MŒy\7e¸›$6ÊM"kt`‡éí»˜ž{NÀÅcúèy‹&ON«ˆy^aãàËj¢0U´M!{Ë»ì¼LQ<¬\Ÿ9éYôÊ¡ì,;áËw k ‹{ð!N…·Ú#¨· Z) &HO-ðõÏ*QSA&[Zâ(¦4öÖÏQKNÉ$ÞJ†¼ÃTïƒçn7ޝ±|Þqã!ð©¼L‹ÝÆÏL>PeºÉ!/ÚÌuÓKQyU¤s­¶UXÄúKƒ‘X—+ÙpJ].éus\A‚¥R¼Ï‘;ç¼,÷Û¼ƒa6ÙP£WÊd(‹N ¤$PdYƒø¥+eçúJ·é Ø4 0»DÔÝÉN‡(s$è¿—¢$7Q\ë™YÅö€8!µ>¾Lô¯íKxßO§&¶Ý® `œ ÇV„„—+Åìüµ›â¹“ñP‘”'[FÐ SES#:Çþ¸Ú×xôŽÁOþ1n°ªò‹¾´ìØ¥ŒþSd󵺜çÕf¢âòÚÃ¥õ Ý ¢6±Ôïtw ­ù?Õã^¬'â.¹q²½uúÂYÏ¥I6ÓIð‘ dŽšV•t…;‹ŠÆó€O'ŒÂ½0u “Käv1ö p<0ŸAG¥ÅWÛêFoC­ç‹Q¬ç¹1I¸`ëá²!ô\ù¶¿î=eÆÇÙ^p,·Št^±{¾á|H'¨]Ëùª±¼ßt~ó©Ø8¥k>Þ°¤ò¼â$ô«7#ClŸÒHÃõ jÇs23îÖnäìòðXbæ¤ÿQŽüáÌZ³ÂëåæY RR$ôe·E Î¶ãaƒ‚l\^Bã3"Âl;*‡ØºR ŠOÖ‚ØqGp5:´‘cÇ͹×MÄKDŠÀu?fç@”ÝŒKõLySvå«6ò}6³NM™x{Ø?zîþwýX7.·‡ ½‚n1Älë¬Ý!D„3ÜQŒ¹{¥ÑI)P·ÿöÕzëÍàHîemme³¨ªšAú=i}â¯æOû7ƒ´2M1>3^¿;`Â?…Ywí޵ó•WýræÍv|5{±F×ÞªìÜX·¸­‰°?hÐvE‰FIÇYË»Œ½¦LÂ-øU‹hú±%r¢f„Ë×? c.ß2\[Ôoqük’ÞvHªœÖ[Eìì@H9wœ#í´M/é•Ê‹'ˆçÖBÄhô’Êq³Ëj)Ÿ™„;tRjÊ-jÏZü¨,—Z‰ôÓ³÷·LbÎ1äP7yß• AhÔšu«¹áºuÓVÛý×ôszÝ«ëùÍ?ã®H·Ù‹Y= «8¿EÃQþˆÉfÛD0™ž£ô±StR×22EÝë#èè“}æìA=Ç÷™WV‡›öþ·*æºëmuRía¹òåIåõÉÂkOj3|<Ü}ý]ù HŒÀ‡‚×Ê©00Ê}CÃ?]k]ã 'öµ¸ýmöÉ: ºùïÀ^ÌÍ¿ü0 g÷¡ñæ,Z NC¢zfòAK­¼rãßçÕHZt…&T…f_ m÷×5( N®N@oªï»Í\a ¤Š”2Ûe¡²M íÿ»w XÐjÇŸ@`_žãU1H›”ûË DÖâFú'…ZºŠž…4gÍáZ‡ëí–*¨„d<ƒr(q©Á¡R 2dì"dÆN9ë…•IÍ~€ƒ‚„°ÆLLdƒ²ø28$~« EGј|C7Ø]PÓÝ3Ù½&AI˜KÝZ­z n²S ½[ÓÊzÔªAYÌI¢º¾jY#ÊO·ï\rÖï'2Þ¦Èú€êx±{“§…kÔÙ&è’ÖYgþóªŸé€Åë5k®±{¤D²ÏxDâicÆok ä–ø×øçˆ´“œpš¿‚”C–‹{󕔺sËOk^:¡¥å¸]ùÊüŒÆÓ77m¢ÂÍÍAvÝgÕ‚žÇ¦m’6чTç̉p æ¯Æ)°þ¡aª´Úû‰'“ó )-8t (]ŒBå8 Ö„ñ"UòYᙼ »ÈIgqj2¯Rb£X´G*‹œ{(0KKQò/\Ã-òˆ\.°–ÂÖ?çプÀ(:å•ç3_v‚5n’¨Sˆeµ /Gµ·äGëÇx¼jqòc‚î•ö͸D’_Œ_ cBÊ;ʰÈ\0×y…PçÙðW33B”4PÓ²Çç*zõ YØ6þ÷ὶ|ÉZÀ7ê2E:Ã]™¶[W¦qPÙ¸(%ÁEÚ\¡ð¬Q‰öª„T¿Ñ/kò^ ìža ½6CÿéÇ‹¢¤GŠ€wð²½Ð…+Uÿ¯l½q&©9ö»â3#g£=.u^¾à¡[f¡9çÖŸ1R˜§àYŠðùgW&ˆÀû&ß/úq1·ëz×Õ8ÆÛ\˜2G{îøØ‘ ´Ós4ñ{‹;æUë6,ø¦áî $é³],®ü玛¡? å¯^¸˜TcR°…•å.TM¤emäð¶ê›ü¢ßéî0±îK½Їç×3äð%}•œð`Ž}}—»Vü¢PÔ›Ü}8½žnÒòã̺҂`*¡¼ˆµá÷`œïuŸ$v™iùßBÌe¸[kø»” Æ<Ï}XPFj)âqÓX:Ä¡^W:H]æ¶Ádüm8ñ.ÿVó g­ Ë<>üréÓe†ÂTí¹.Ù”|™ÒÀJ™GŒ{{ý·ÄØ×›Vt'ñì`Æ:·))‚¤ñ°>¥»xëñ„ëÉTϬü4r4ˆþìðù™Ýr¶Z¾&ÇÏW9ˆSg˜ÙÑ ©ß¯ì1a|¥)½¬^ ÚüŰJb½&áÄõ-qõžn<¦Fª3úÊŠ>f§*yqï[>Ö‘n&oâ8>Þnñ>ªqOvû”5 ÇY÷y\ƒ=?‚Åé¢c @Ö¿µŽŒÏ-ž˜7 _…ñßÇEC¸Ó”á›í9Ö±W¸§K²ªPz£‹o4ŒtG-M¢¡Ë³ùí¢¾¨1¯šìªo_¥ÅܯÁs¶ö;ÑÎêF÷OX}*ÿ9ÌmhíÜ /lûå}j ãž?ÌÜ ôß¼îЩ¶k“*™8õ¾Æ„žÆŽõ?˜Ñ^®+/ÿe)g橎tiyWà Š>þ…Dw»äáÀŽjÔ¶ïíZ_Ðú‡Y=¾8*¬岕‘ËÐsSúöŠ’•¬0e¦Mã¾3$û¿`(`ƒ/ËÁz…Ií%…P7\?ôzìØÚoly“Í(NÏàEhé÷À¤gús¦„¸ 6ˆÞ¶ºQ¹[%3I9ƒ¿Ó\nìw_?L´[ÿãšq»ÈÖ¬ß@âܾSϲw.†m4« E8Ð"´ˆ7]Ÿd¹Æ…ä%|&ŽàFYL³dÙc8¨\Z7döf¿‰ €5:Îx5íeú—ÞÆ³ˆ°åeyÓú‘žuÚŽÆW¤‘p§È‰ùKÀ1çŠõè‰Oñ21#«È³ NHK< < 4.º„Sµ"-¦Òe–dXKÔ@5„  õm×­Ç.¸…€C!JFD5)¬X4ë¢`«W—rð¬F&Fv®Áçã-OoÖ qSa“ÁC‡ž4ò´ÆëòøQ·`ŠC%Ö§Æægÿ§’¿[~-WüTÖÈðÃñˆŒœ¾œFeÂÿOJu“.Á_¨³¨šI;ýoîî×\Ð"Ù—»9D/ã\×ê vs±ö¯-WŸ‰ŽnLj"(‡u„ß߯KÍ‹P[Ю}ÉN«¦èã¹2wì~4ùžæÆŠyÃú™-m7HÑyé¡–šëÒõ°÷‡{±lfè.Ë–.=•@2)[ÝÄv#@a‰Ù’¥ßþ±¼-Z-4¨Éñ¾*´u#uõ¸Š£mZù"œˆùIdž_/v‡Èǰí 2Æ€p6ǬÛ^ÿÕ mjò^­ƒøãÊÙ4gflúò, %¬%Ù|+bÈžgÁ7Ý 14Å¡qG£ùm~Í–­¤ÔO§F]XKA‰'l+}GikO¢þÅ`äà×( l²A%%²l6¿³KÙ–ä?Ì%ªPýà )öö¼ „‡Ki&w ýn·Â Å i-æ“úÏ]çDJ ¥Ë|/N™¬g‘Ÿi’žªèê†Î¤ ú:ñ@Ã0Áø¥"3éªZ “¥‰‰ÿŽkÆç¯u.³qÆ2ÕÈyôåfc 1£79 zºLt {GòØ•²²4%´R©ñ ˜šk¶ÏêÂ2¡ú[8šÎ.àò3 ´ß?DvTço`Q 0¥·&A­>þBrA˜ÂÈ.£Y¨zÓ¡Š^d+Ÿ¤@Æz±Î'*<È_(ÐØF…SÁ8øÚâ0‡GùôêVï@Ïñ{kŽ÷®üÎ;ɲL/ºä‡!‡|ƤH/\½žXRjOFÒ4&u¸n ÞBÖ÷²3‰ül®PÓKš}É›«‘b%¶€FG×ÓØõ¡—NìšÄè#J'Nö¦PÖÑæÅŠNªë !.ý‰G†(Ü NŽæ%ôý”âûßWæáGÒõ;¡^wd4±¹eNš†.´ÜsTS)É>™€Ñ\–<7Eo…§ýwëEf~Â'±=ýË7 ðÚaÕ®Áïô’NUJ5fô ÛwùƒW G= Àð/ ×<8š/&¨·5jØ\ dÆ•8£b†x¼[]#¨uÜîA¡=–¸±¨ÓV¤/·çÞ+;>©ºþ.Dä­¾ƒØ_úÖ*•ôe‰8˜¯ä"8ô<$VO¡T+ÐN;Þ¤6i¦Q?!²Âý%Ïö-Xq' ä®ó°ÖïR Çfž§æÅ•Ž.k•,Ii)ðJ€%í¨þ“È3n 9k;À>P}×dF-È1"ªnû&(MýÔ˜ö¿­Ç-£i~ùíP^¾¡Ÿ‰›Ð©'ë¡% #YK­àÇ8愵² ¨O³B5êS?ÿ¹×Ç”šÅ‘"Ãôlè)Ÿ*Ÿ¡$N“£¹#Å&Ä Á5œQËaÆüyL·â„ÀÈß%^b+ÀÙ)©÷Æö^W½v%.x[e¾H©Œ3ªÕ7súK\ëÉl¶ºÀâ5|™Ü‰ÌñäÛâIT-]ØšÁš_òBëDE½*‰ÞTÂ-ެït}¸–¿Íßè†GÇþçß~<ÄêÚX§€Ü?K€®I§nœ·/Æ:ìŸ8na‡;ˆTsÓNa|Ì$Á}IòQÿûeb «Å/d•œIHÀ²y@-ÕmçˆÙSá‘™´ tÌýâ»·…ïú?Ž%¾ a˜È@®Jš{?ѶÉ^,I@Kbû¾r,éöÁuåÛðŠ­Vÿ½É“r‘@̶A±¼#ÎîÑz€ºdPÃ[îU_Ãfé+¤ð#ˆ[Š8ëárüð/Çf0l+÷½T¨e^Ôa²ú> +z’“ˆñÛ!ŸÌµ–»ÿ°=j‚l£€Ðÿû…§Ò…EêÕqÈ{$óbjk ¤ݯߨ5 Œáj™$7ÀC¾z‘=cpŸ%ŽHj1w]¡Ñ¿ {ãBæg£°ð(ú£Æ©å6gô4oþ¡6†‘¤À•l13ó$ ù3s%¸U·ŽùESƒnráñ °8;Û””ƒÜsÖ>â%¾=ö×}Õ+ìðÌV“nò úÇSNÙd¨vòžõœÈ7 ÑߪUõÕ$(ˆ·I.]¢'k«9Ì•äGæ¨-Áiû‰Ñ ^ˆGÅ=8Ošmø·Ši*Hæ’úÄð†ÿ‘4ëAðÐÕÌ™‹?m·±5*ÙÃx;† DÕ?9×éàà/ÒŽ7§=ç¼ÂŠ;±³`E>s©;‘ê Ö§Ü·Ò S{UAêç_Ô åH64>t%¨À[©8ÖN¦¦ßë7ª°«žÎ!&®Oe¾ÿŸ8þzxµœøk¢@øŸ©7µ ÒŠ¬˜V¡ÓÎn&ÆTÈô,¬5þØØo S8ftA"ßeéû¯ŠŸ6½TE·„¿p<\}yBÿÛhHgo¹+n¸ƒøÛ˜*ð3Á¯JšåôÓ*=~Ûócœã`=_à-³CvSö‡«Ð@·¥ñF˜üZÀíæZÅqxá‘bDð—b5 ÎÃî&ažU§<‚s/Ðì²áç;OJ:JÔö¼wÏØƒ´×e¡Ò D~vÒÅêE/]çyû¼Ã€*Å‹"ªž+óM¢j|„¼©U_/±%R>µñL+MOù)ý‡uub+r]µRZ{®–ÙY‡½)š—…)ðÒ[f$ÖŒýlt{÷^/–#hJ­ö&íÛ«pûj«‹!(×O¹¤šlÐd Õ0>ªYcnœÌæý$½nËy6;Ћɴ\x ø²zrsë  †¼Œ!G³<%¦Tõ±eûõMDõç|mùŠQœGæÀÙÆz0ÂRgWW¾çy°W$l ˜îã×h™­“¿*ÖoÖlý߼ǛÃ5o‚¿:$nû¿ZÆk·qµ0çwY`ÉP]Ó©®²Ü…;ÊXv+uÅéS´Ž9°æœyŠDÏR¸`æaÍi£;YMþèÓL0ç:&hÖ³ uy‘†*—àÒÇ !Ìí:ܰYI5€°1Dñ釓õò©þ;+·™UÚæ\²gm¹8}Ø"À•ü€3©ù›XNÆå#µÛŸ°>jöª{‹Ð<Ç¡4*šÇSÖHXä¤ ¯ú6ô͵£„ð@XÃH[ºwh:†Pšè…íBÔ–J©ÔYš…†š%±ÂNè6æ%ZC-,ós‘ÆU5¼”CH7á(ÂÈ@"ìåÑœ ¹zjS×ßDkÙ¯#Aº¶< Hæá}H/dàE¯ÓùA:GÒ7hd7‚™®È@މ}ÛR¢,.!ç»ðÜnø²@âmSÕó9áçÝ ·áמü/á·Fû€æ׸Q¦¬"=ë~”¸Ûb¹’WÎ8JÈmžœªE…½Zz¶ Ĭ ?¶§]ÙRÒXMÕoðWé™Ì»Óx4‹{Їuž5qÍ£/ÅfZ^ÞÚ9óz 8‰ëÜâØNø¾–zwµ!smµW½†ÿãÔ/d[ôÎ^th=u 8*#®C'BÏ%Äœ½Õ2ÉÑf%ÆÉ¬÷²ýŠHÜgý©*Ç^|ý0ËMSêØü½Êâè9ä8<Üœ)Uä)íÐÕ„KøïÈŽÁº •0}ƒËÉ{Т}Ž"f%µéásDž‘MTùP‹z=Èkkž¿·9©œ¾j3 8ºQƒD›³l´£>×MoàÌõ=þ¬ùcàŒ4,î¹­K±ü/w÷I[EåÚ„™¹ ±Ž(yCÏ2HUßbc…âFôÉÌšì`Ü)>zçEƒÏ?«éP¯:~‰Ù«í¹{¥EõSñ ™Î_"+tÍž”[Vû¨)‡QöÚ`ËQÔ<°uB ¢%ίL ”“þÇÞͲªxóéFÝ|Nr„á$Çm¶gÙ E==w¿×,b4 R¯(:5ìuüŠ+xíœaÿ|]!„_ZSíYñ =¬d0ÿdFó°Y¦Ô2œ @ÆÕäS,§1•Ñw`²¡ó¶ñ%3µ®(°žüÒHC¥ŠH¦Ó=Dƒfì.w ÈV4M¥°|P…îº7Pú²¸ïß™kJÆ Iò? ÄËm®@±y­ãŸœ~zwnà`í¥ZŒM Û|@&9I^ô"¼¤‡ —ìÕ¼º| g!­[ø•–^Õ]ø’À5‘µÈ“ÐT‰ìÝ~§_jþ±pw¦†¿G]wç~‹Mnl·,(cÚ›Ú©;†ªh’—ЛV‹-8¸€Wt=Ì=¥]N1Bý‘2¼îKÜ.ùD2Í”r9®2Äè5¤¸°]ò)P-êá­9]Â4"b½€M¬3¸"DS?Õœlh‚LiyM Oآྕ'Ú®É"•2"F—|µEu#:ƒ¿´:ŒG$P°ÑщS§4í}»P<ä RFŸuÃ1&ö§…Q‘=¢ž2ÇT€£}X`3ð'¥á3ס ©Ô‰iPüËÇo^k¢Ð d[$H¦ñrŒé&y Ôñéâ¨Y}“‚þT|’á6qÞÎLò©1׬%wß\ȰË6F¿Ãï(æ-nœ2–âä§½§(„àÿ¹Edßà['3»‡b?Žê™ VíefÝаo­Xú½D &Ƥ~k¯Uâ¹ÂHÚÀo( *`åNéNáÚâb«1á;]Ñ‹ÍáÍÅôÜØÍàF3Š~ǦÍ6̯ÔLB )J [äpÉ‘kЩˆÃPÔ®qííNl¹Á Ä$“H½,àÝp¡º ‰øG KÜv˜|_ó †m—»ÄN|CïëLCvœïô“ê¯Á=ïʽyêÄöOöf«8ðt'.¿aïÎ9ø½#z”2Z Ö_ôÓr<n¥4p¾Ó›Ps눷c7íê›]| dÿˬã!B%¶b–2ÜœH_AþGè¯ée _¦•ˆw¥ïMþYÑ.çà§K‹ ë5VBuNœƒ×$#êsY]žEËT·=®(¤l¥ÊÐk{«`")22^[4~¨éoÊßEèÏ™äœÓàš:óýo1°7MÚ×È'Üâ âr¶<)“ÕÄÎa¾:ƒ¿ÇȰ`ü;¤Š8r`·©\’uÃQÐ/uôoYdV©2 òMÄÚYÿ-*j¨_’1VœQ™Æ¶¿þ”2¼ãxÈ»H-I'Ë¥Èþ£M^êuuöd¾›€ô®(ÜãÌÙžÀÕ"ñíFò§êE`ŒFfܬ¶S¶$\·ò#³Ôô†òÔLŠÊðHŸÐòÒ?„|7r&AºÃêÊ(7¿Ü9ÝþDÇB:LøüSn•ª:ÞÉS¾BaŒ’³³7MôŒ¾± méçÖ<£4+L¥ ’ñ¯œ[HI'¯Ò[¿ÇôbŸ=ðî™@–LsߪZE-M¾Æ.ç/ buûðÍäÖ~Öb¸Äþp µ–‹‚3 ‰h©òêð€¿P¿Mí¤š`ˆ)‚Ç4¦†#g>ue=é¦%¸%ÊŸ¸˜Ê“ÙâÉð]íBKø`̰¡zjü‡Ç‹@ùhYr€à“™<ÓG#„Ïý ~JC5y-<'œxä&kÛôŽÁ&Hg¡Yaƒ\ž_çHÓ*Žë±µ9}€=+cÈÿ@åB ÏqTP$ EÊÇp–ªÐîØžÇyãJ ('r»Ï¹Ñöˆœ°¸nc²o˜ A\æíÀ€[_¤‹X¨(W7=A§å¬®¤5•AÂÁa#φ©A”1Ð’|ÝøÅ¼ d>‚Ÿ–»uà˜Xƒf@ñ^É[g©õ"KâÌš øõ>ü–mͶº´‘¤]g÷ã_„tN¨¥Þ+Ãkµf±Å¤œ5BÀ ðåÙjsPcûξݺš¨Ñ?;‰Ò †oœ®íï¼ç™w¹ˆÜ›ô*¸Ã0ZÛÎo —¬…Ä}ÛwFÏÓøÔááÍs›¢ (9Ÿ“r©Š“•®„葟´¥ärntÓ¢Áã/kª=?:ËóAþë§%pÂ06Û6“Ÿ;b”¾Øç÷f×Ô¨Î^Ðh«œü% ¢¹¢[Ÿ”-|´/e¿AFÞÅj±s¨Ã(FFÒŒŒ <Úö²¿ƒþfÍ‹çCÆÇ‚ #}˜[Û“|.p2+ñ m÷®¢—Žu¿Â“ƒá4"«B㧇ž4dP'6ëþ›í0ÞNÉ#fãÔô–üÔG.ø û,j¤äÐ Ãü¦Þë´é-C±##Šë†ê;ì™Ü(ÝkšºÖ$ùê¢ÖõäN Ê¥$­S°H_ºHKóø céý§¾¢–K©;©ïÆèׇYgÅÝŸ’Ùí€ãº’ iÂæJk‚ö&»âÉo&5d ·A¹Y÷‚ÅÆ<­>â?“,9!¢mìYØ Æ^$ Ÿž„~0™·VvûÿŒ…K«sS`Ó’²‚Z¯ ñåÁèЉ%ìr¨uœ›ž–}Ƹ_ÿ¶£Ê²Ž÷º( Â2nçß-õ—Y¢SÝög›«£áõ =ÀxDÝ:žå¦;ÊôrÊO·’yÖ¼_÷NwмR¹>>ãcã³L™Ô'Úþ1ò%ÔN@.Ί2Ùmi†Ÿmp®£áµÞêT?«û¦;‰.‚ÔOÈÙÄñ0˜h’èý .ª¦óAKMÛr=Y¢9MhÀ¦ÆÊT±Ó -rTà\mÍ×BÍ9¯â‡„n"_Èmv ¯—äžit(G á/uŽa>W¬a_º­wœÑïkH>Ï„”/þ'•[|°ò-Ö©sø°ÈåòUGò&ã–⃓ShÅR |2‰êºŒ†üÏŸÉß$Åy$ªøWÔŸ;§d‰‘¿ŽÈ)»ƒ8&²QiÁéupš-/!£Wv+YLn³ˆÕ¤h$©ócz"³ÓC`0ËàG\(Š ;é,ö'`«õtB°åà¯æk;Îò¦áž÷¨Wʆa treŸìM<«@¿½\ÈÚå–Ð %û3O«ÎúÄ1ˆ™ã‰v¤Í<‹ 2ñ ‡aËOϳáJ[€b " ™ñ[ŠˆÊõh¦®Ðz”j‡Ùƒ è :Š¿ÍCÁ=™ÉLik v°¡™u•øÈ'ßébÄ–.¬MXÓ3ê*Í80Úý¢ØÒ>/çÏZŽ­²;H.S ƒ7d 5g¡Äæ ÄÒà ÔîAíùH)ëUÃõ”_~L +ˆä£øš’Í&U1î÷:öÛ··CE¢\5Ì}|2ÊMã:›œø¥Òt›rƒvÞxÈž3Är\ Ą́£l½-âûô¹°£+ö|V€ˆN÷šå̓— ..câä‘ZµMŠÀwˆÁ~ÂÕJEV{VŒhUŸȾqI»Ã¸;4ú[OR¨Ü„ üçíY^&l’ç›3wëEâêF|ê,‹*ÜÿŽ¿! Œ)t¦îyßth½±·}xƒæaÀ€ïffý0ÍæÉp»ï(ð•)®¡)~Væõau,Ýl=±þ› ×i碖M㵂é8ûµeÏ,]aõŠd޵ —G_™ÕÁ–èh§ 2¸Õ–çój‡¼Q¶hÍ7ÀcT!"7ˆŒÀ‰/æîï rÞc›{Äž€õaPôAøË}9ó¯XúÅ·ÎŽ(¶\Écåc»¥ ½‚r-&Û “Ý@ÐÚõ•W^‰(ž¡`1¿ÈxŸÓ÷mŒ·’01L ¼/©K)‡)*í‚ÍŽŠõKf9gW :ÉÇlËœç¢òn_‰¨GR Ë$gIb_†’Jªû™w·s¤ñYÝluÅí2u%d¨Ë[¾ŒCRÍ_ •ÉSÂMÞˆ~ƒi}Рm‡ÙëU\þ•ªöfÌ‘âóa£l?8KSfŒׯì›zÙ8ɰw²š8rþàÞ~\TªOò·kÄ;/ôª2B(×méŸ! À]ÒŸè×C Áÿ”ºˆÖ¥Ý^´VøÅ>Ô-FZ?õØ^¾;¨3)ü Àú¨ŽíÖÚk“‰8¢œÐÔqV2 :q–°¢l'ö½V2 £'Úg,°Ñ2=aôcá7E¼`åŽ%IY/?d´×뻭܉”[q˜:¢­Ü®Ä@…eè»­¶¤ ¨*XTERˆTUrOnÖÁsR)CO½wÐY–a+Öˆ¯^ÖÄuå‹;W?Sô#¬K‰ÿ|†?úñ‰Vº ÅÙr阈ÐÏv8œËŠƒÐ¿¶ ¤V ¸OU4#hï‘A³§s¬Œ>Ù}Q ç>©eˆÕƒ`ëDÑS÷¾ál úG ¡Ò:+êÞ.ÄQ‹~:®çîôž¢¯Ð´°c0¬DGúàÜ ÖR¨ E‰H†˜ê˜¬<½,ù)ÍÌ8b/¥eä&R™b¬DOîü¢Ð õ F°*%\mõ´™@SÓ³ÇÈ ûír””‘åÉw’L§Fá¿òw!»|{bh:UVÃã1>eUỶ?'ÄÍ8«Z÷-rÉ/HcMW8`žx>:éúîÛfÐ3À5€·míê -¬EêL8^‰>B’1`:Ào>oRó®0}?@×5Ôí$¶ÃqCWïŠÀOh°·NáVسڳ<ÚŠ™þõèß§ª0}×V{îÞ|¥ÀQ.3Ó¾$˜ˆ¦›°¤—÷׫þ4ù<µ+ºhÄYÅ•³Þè íÂe.ÑüüPê>«‹2°))^Dz¸¾¼Í¨‰éºŒÁÑY½ôûjÀ¿×ù²•¶ÚTÈÜ<ÞMÍøMcd>Qè #nš)Ì”0UnŠÃ: €EØßñ$Æ_aù“3Âî±R93ºçäŸãè0•óËÐ ‚!úN’Ê<Š•\à»â.YÃÕÀH]à±ì¤%ù¼ªØïs‘Å3ÛdzIVÅL*­”» ÌÆšèZæÚÏÂ$ÿØ,Q:Áy²‘L¯Ä–"Á_w} ýæ†ç଼ŸðÚEP ^óu­ M×ø'=Îvm[™³£ÉvŸÁ¬—¡l„o¢Ënôfã3âç8·¿’);ÿf#øŒvþUGPìYýݺ¡µ£Á½xsEÖt^=.Eæ^OIž÷Už9 79…¿ùÏ®‰¤r_u]y÷èØ8ÁÔ€ ¶xþ"ä E1L_ "V!ÈðIê5êÀǯ©Ú’–ïóž;@é‘ýN!³Fý¾Û'ýeI:ø¯„$–ÞêÖ¿§Ä Ó<;m‘ûçAd'¾ƒ¿¨&ò(àÁ÷?ü†1*‡vÖ¬*ùñÿù4Û”ÕVv7{˜‚ðÉr¾› ÎfSI$’Sü*~Rg.p«ÛÚ†OØž¨Æ¤óÍè&¶NÞP´!Î:EÁ¤ÛÞæ;L…D'¹cÕuƒh êš Q‹‰aýo×Ùèút†°5ªÍØÓ¢ñÄè/ýT8WŠݰ›I¾ùK³'k™YAÁI³=|Ý9¿c93öƒ3Kî^û§ZþßÖÑ^09B@KK‚| úÿxþr 6’ô+›]}晨쫗ˆHVã{vm-Ý`° ®CZK þÈ›W¤®@¿»ü2ÓÈ[ôŠ`Eõ}ÿû®ã‰Iݾþ¡¿e›Ûw^^·œ76Mvâ—ü·;sœdre…*†.À&£®ª~õW–n‰J¸`µvÚS(í¨< õRüX[joƒŠÜn¼pÖǸþ5Z§È¿fîÐ4Ǧ]Yéi³=¬m æË(Ape=Y‚ϩʉ› 7÷–¿é4jv¥ªjèQ݆ÀDÜ…_ð`%[N(²УåÑÈu¼Ä#{î/·ÂƒöÂ]%6’àZnx 4>¨:䈡÷…×ëî0‡u“ö~q^™{ a"]Þ;=— 4`‹ ž¿§yQ‘ææXÉpÆ3Å»%Á(r¥~X¯î‰ƒVƒ†ã­@¼%³¥dðbY1á87ŽeI~ªxᙈÄÔT“1úÒ\ÊñàÒ!'ã-w¾c)(¢À²ªä< §bб2fQvyÌ®¹Ãů;J×OR ÆÒE[BVÝ‘áÛÃƒŽŠ÷ìÇØuB©‰×λ¥QµÎš©î+Žd\„@µ<ø«Œµç܇4ÿµdì󟯷)Ø–‡0£e6ÿŸôeDµ•WgÏ€gpdƒ.K`;Ìúï¯ؤ°w;!¶S:wÉ·O(=&^WY_:â¯ÀžÁ¤£yvÊ¿Ô}«ìšJj˜Uóg”½!#9y© ys0¥ÛGžü'ûÔPéZ)»]Ǽ’ÎpXZ¹&rK¹–ˆã‡­*’héjÚPÃH>}¿(XkÂÃUMþ‹?û8Ú!ë| Y§ ¬N÷Áùé&AP› Ú~¸ÍP£s8™âž6<6¿K5ÓÆ Y°¶_O ¼T¯4AíIôÁ†€fKDëÔY$ûB?¥·ª¢å~·®°aaÉ'`Np-Ðcõ»’Lc³UÏwZcN_8ž£üÙ~M°­gó,¬1üÌ%q|ñeÅ`½XãŒò!œÍŽ!b“!úxV›áœ+‹Û\s–l ]ƒ5˜Npi¼"o*òàã4’öat/ ¼ãžt¼šçÑÊ+|UPr1,|äS„u“LzzEN~Ö­™ðè Ø a2#j¥f'U/öÛæ£wwƒlJMº w¤þ…Ü/ïùbØ¡wž¾ $ÀT‚B𦇬ª¸Õ#Y}z’ûpo‘DÚ£ ïoäi¯õéû¢™nˆZW½¥‘ÃãEöay£ô*ŵK±™SA“®4›Oºå(+²Qƒ“ó‚m„ ÃLt3nƒò»ç…Ï()®“™[C#Y©^U {Y* L#ÙêoÀŸ|3]¯™¨<àÚò<Î"¥èPÔµ ¦µ†¼ý cíÐÎÇ’¬ХȄ7ö¥Y¤±h¨z#1¡X6—Z¯URSì¥ÅÛî´[_¢ÈP­ªF+ΠîŽÝ¿?Qê›»u²¨@­¡§N¼òÁ ÚÀ]ØO§›úÝ.ƒÉƒÊwåx)ûõ›Ø`²÷ÔµÉ Ô´h}ùJÕ‰Y†áè ÆNðÞ#³˜ºŒñÁü¦ð]D´ÉS“ù©Î¢Ã¬ËFÔ?üÑ5OqH ck Xm‹‹¸=PNäÎVÈv³‚…`Y21=ƒé©^8õd1¹Ï`ÉaϩČ-¡º'ÙR¿´œQ*cÔJ)ê\*ƒ ª{&3t#·$–†G7 ƒU&_ñUMc;Lü¼Kë‰r©•É ›þ–ƒø$Öîܸ.’tÒpÑö‘D ?ùÿ£ÑóÚe ñ€ý~‹È„ï.Í ÒY¾Y¦+j{Å-ÚņV Ø$‹±+HÿÁ]‘PM´ÊÒNû68M¹¦Ým5®á ¡ÙÉ#¥¢ƒÀ/E耤È%[»k môþi«íHo„‰®7þZ.™8ì&u@5í¢`üŠš6>½d,ø¯P‘ôÙ§}?ÆiÃd^±“˜½Ü“Òw'Ãx¦ØG*q ‹äˆsŒê£4¨©¥ea¾ÜZÔ7•:‹‰ðØ+_ µ”Ôñ±'Z_0Á·ðì»NÁ{þ–1 oCZ·Kq4$üZ,»ÍrR7z×Tî~¤=t©ÉWLF¢Yg!ŽËA`¯F`תtŠ¥·y’“‘ ’«tü¥¿yþÀëß÷hõçªÁ³ÿ:*Îåþ°­ö7_%¢ßô•”‹ÛÃòûªî¬å#hõx=\Ò=¢ÂÛeÁt}Ù°ÏÍús“f°ÀZxkÕáæÕ‰br)¬ON¬È÷¢ö8ë5LЬaâ0gt‰íU»ÕøÜ®[iBޤz§º:µ°üÒþáÉÞÅkfCþE¼»d£ðæ©FMÄyÓ¥Ÿ‡(åÆËÅ£Ü|8>c«O‘âÒ 4™y,ÁzöÄ#°¾¾îÏ«`Ñ¡x½yµÃ[Ößr>M™r:v‹üÇ€q¾e9ª¢dE³®˜!D#GˆíYcu‘oí®ð?) WR‡Bô–a^D%3þޏXz\%a›òÂ`‰\.¦(´Ç¡–.éNOÔv@ÚH gèK{=ÿsq¬²)¹qÉÈöM4ó ¬^E‚éÖÇh¹ºÿŠ Ú›˜§s`Ó‡·]D?Ã}¢(ZÙ»v\Q\uß,m`Ž<ïplœ²#ò°½ œÌ‰f5ù6ª÷ÎQ©ÇFÌ¿F.’Mhl‹€Àï¹C®·môÑõRδ(o¡Hvh='ž…Ô=D®ÌT³ýÁé¿ÍunŒšýA ³õõ°5t ð†Ì$Ðx÷3âekD‹²Ê3/Ï^È‚qSÒœS`¬-C:9>R‡ƒh\h4MÏÿ’»ÅN=üv¸¯’©åV,t€¤‚â‹r ûØ`«px6ŠšŸ8‡–ÖxQLðÎ?P¾.4 n'N@ZìÅ{ÓˠήñùÏ ®Æ¢˜¾>Æw/*ƒ'Gê°´«¹Ú<€ë…oŽ[îÿby'DWzε?}ÓĈ†ZŠ‚€Fä½v»û‚X°ýÎ\`ö ëðšç¾‘HX,ˆñeAˆŠ,q¹ÎíCÁ•€+ðÞ:ŒX™vÇŽþ-Ûj:E.ÆVؼ8{2±ìñõH÷µ ÂÈ á¯ñ¿|¹–øfðŸñöøGßßÊÝÓD ‡æäþÎ3SËpPáw´81’5“·’Ðîb¾(ŽÛ)Ñb-"Îi!‘ 3'Ûd¼eŽÏÈÌ)¨|Qö­†5¤UÔ£Nïj ÐÖ~鶦Á€|Q@ìõÒY¹Dð)jiáN %J@2é”Î]Hæ:êLçîæõ”Ò\<ý¤:6('U\Bتs|Pïã-˜‰Hü{cß!ÖÚï¨Ð3P¿fb²â.¼&‚£^S‹íIú5ªv1¥çIM¡’œe#ŒhY…†çD³Ä¨ Ç^½üa›öH5Š-52”}¥Þ&¢'+L.£FùW£ üô¿ÐŸŒ9 ò P\”fŸ05œ“E.qþÖª´r\°)jÇ9AÊb¯rPV>¦—']¹_IcÏÞÞ^ÿ Ã4 Ûåk ¼¤jF·™Sóca”!à’!J—cUÐý°í¯‘05W(µ(Œ^np!Í:™”Ñ3Œš!ç½^ë³·kÕÀãäˮӂI²ûéÈÝuŒÚoþ×R·¼Ô‰K8ßf„Ñö¸iå]ÛÓµWá§Ðã^„ ñ °Õ™0'ªk²k!}³Ë ?¦n¤Qv].ªV«‡‹X>·d»@#ÂØÐ6¿Kº¿³êÁ)b+„ÔQË/þn6¿›Ã1:›eâÜ»1BúŠÛ`¬Òp¬ü ³Ãœì¦^ùpPT1Öà– ñMfÀ»z@ kG“Ôò¡M ˆ U“ë-Þ•Å™Éã¥ÁòÃÂAÉŒ^l5`:>-5v{WhæœÜ×EÑÅšCµüJÜpþõÅ}5Ê– )jñ`WœŸå]\õ¾6²¨ÛÔQ W§ýt# º“üV¢.V¨à× Ûék0‹-L› åÿEhiÔÒß—é%mžöN—Ù(sÞ@=&s‰õÀÊN¥y†àXD.u7…ebzhM9Â_+šÿ„ØH¤:ýÚYcìëåÃC‘ɇ8º¢|#ÿ8¶4û4ÆZnÿwls€=9þºÎ'd“l,.ç‘§´[|J©oyôí-j傈ƒšLæt;Î/#dE…áTìë ÎÊ}Q6}Ș$1µ2ùbš Eû,,®¸ö„ú»•¶À¸«È yÀs›ôã&/×uQân§dÓ—vɽ´xPyšÁï »¢À5Dpö|œLN\§F°«‹.¸.$Bè­:KžyÂĈ6´ µµ¯ˆjåÝg ³˜R^ˆ,Q–è±dóÛøtÙÿŸ ¾c‚] ƒªQ~ÌCÞ¹2Ô¯ÝÓ»b<Æ ›¸¬G÷œšv 0¨ÂVKó|"íÐ+Êùƒ1ðqË& 2˜”Ï>¼I-{fWÑ4’yÔv…eªšËäïšKàw34 ð§$óia?(,¾Jr´\=J¿>RsÑøÂ±û%!#+ÓTxÀiº |ø…Iƒ_‰^ ¤9ã?ßî¡zΞ”é$3ãÄ£;_¨ˆDªs[ƒ 3•sŽc·3efÊøþ˜,[Ó¬%sš8ãÞ¬àÕï˜Å,{â”sÿTaÉ úЏô›®9‡!Bµ§µ—‚òxü)žÊ0e”¿€HéaoDäÎ3²÷úd¼Q†ÑÁ†ª€2óúX"Þˆ[«O09²ù ËF6w>¨¥h¤B„tˆdM?`ß ùDZ¯ƒ§Zo98ñ»´Ý7>±&¸ëÐd*G³ƒæZ·¿®ÚSY±)-Úòû*f «Ì¨‚²>¼ž/GI53ÅÿiHp=Ø–ÅJµ'LK2œÄ¤eRlµsw3î³Ö+!¿4^Ä&rZ€~ãöá)Ü»Ñj(C(T?+ƒ̺Ïnš+ˆ‚‡Âùƒs§4”d­»M¢õ)üʶ!ÏdÜbfl92%€É…Oý5ŸÞr,®èü¢(¦7 ÑB EøVIè²!)ÄÚ›Î\¢ÆT ËÊ:áÒó SvLRë±’¤"_%¼…¾xPh—è…Q¤Òù@:]«’Žä±¿Æ·„)õü-Ð8Ìp¹ý%}H«/ƒ÷³kTé5\•FiZÙøºýà䜘–¨k{½CŸ õÓ<øm©~ãk=6•ÓÑã‚k‚†À§‰Dìe÷£œŽ\:ßSëbÔæ–‹x ÇYO·ÅÃc1ç-4Ô!Ð,š‘.1Î+èÏnaùóLT&l¿=õ™mdnÆÇ”±tk2%„¨ñ~ A±]…š fÍúCJü,IÉ8΅ЃÓÿwŒÄ»k®Œ™˜àGH¢‡ƒd¦EQºÔïæ€]qlkIŽunýû‡t¥¸ª:¹Ñ 3ÛÚX·ªidG²ì)ñ±³y¤âô³ë±l;^QùNaàº@ؼHÒåCÿGsßÝïsÐxR†¶§x L¦‡u>;ÒÅÓ1H¾‹öy^r†â꓇œ{óYµyb½ÍPÑÆ˜‡VÚ\Ëïº)™ÝkxÎȈ~E ¬Ïä/Çâþ Žpk–T^LÉÄ ó¹È²ci¿OѬ½ïvœuzÓ‹’•°—«,ÃˆŽ˜ÍHQ)1¹Wãö2rd”urÐì ÝX[å™çþy$é8½6ýuG1æp71˜àN˜¬IÌ.o  6&½-ûXÄØXHÊÝoÛ×x-[Ú;NKÒqÿ¡k#äü5*ÄxÎ8oÎÁ¥sÿšzý´z¢óÝsD¯/‚ Z'܆ñ¤ˆCÎÜÞ†îtÿ«·û^%.$ªLüÎJ0øRn6Pè“D'ùÅüâœ(S”-#ÿ0œâ›J“ :AwÍ ]ƒŠ «Òìù³åSßÀoé¾ä©¶Š¥e¶ÿÃÃ,ÃרÕTèå3”«èôÍ(aŒ¥Ù¬Ãä1"vßþ¢ÞÆ\s¯q\‚PÓ€ZLó_@}9ò­ä/*ϰ7ú©)!Ô ¶à1àšñ‰Ëý!ð… JÁY¡ëqEN"%Ò°`_’î®u ˜(t°îή€¥3YDKÆrç“€Ä2RêàOmÊ“ufCp¦ÆPE’ÃSÏöDtëK^ 2%†Ë6ë6šRáËKt›¶w.·£8"×ùùvfV î7Å>8^\9T˜ßZ 1DÇg¨{Aw+H‹ +È»™@ý`ÕÌA††1ü¨cyØWrï÷wÙ:jh¨ªÕ¥õ]U•ÌJnÂ[Á)ýÒmù/‚uàl]MIn…u °&ˆ+.êÄJ3’²òÒp…»âô,D&âø]²Ûæq¥>ið€m"0Eƒ\½÷C•ÈÇ<½Xeã–RÌ{ó'„[­Ó8?Í…ú;<ïŽÕòÓ¸MÝ-º³øhú€¬ŒL0s"l·Kv#Kóg‡¥©j¯/ Êùù}lUÑJ‚5u¹69m”Òl3ËC&q•¨÷,”ñ›*„`y>¸×›ü)•©c6©1jLÕ­£Æ7hàøð¬6sÓ2 䨊+¦cþvC9ûìŒ$__ˆ?·ýâË?]´9Cµ3ÝÄ‘¬~~T åÌê ™ºk%¯Ô/´Æê'†‰K©Øâ½#¨2M)íÙôÌTQ^âµµúzü^Ú…vIŒ[2íšòVîHPÇ(ïb…áø? Œï'‘ËF§-<æùʵɮwͰôœ†‡ÝA?U¸½Ôë3¿î“Ó¡.W°Í*büÀß›ÑvÜìæÝSÄGèêå9¡ý Lm zëã¸ø „ U븠ÌëfC_P61'Ž×™3m‹»4§±b«!Òâéd÷pOð‡$ŸLdßZÑ ¢I*œ¯ƒ1å ÚoÂÁ2‡4¸n½Y ˜ý ‡‡­È}ÓIÿ bòpÊôCsÓâ(û tçx vâà.7;Zàë2ÏpBð\¥Ò±}¦6cð±õ’T£ÛÌà)"¤ÀçP"œ‘ÔRî˜ÖímІå‡¨Ñ:t’²l™ïÔ¯ 9e=“6”ncjžóë³'¾aK¦‚Û×XéFƒÛ‚»EUÀZOŠYšÔµn7¸jv¬ÿVNÙêÐRK)] Ìóañ¡Ý7y=Ùc‰ÁTŽêKzeÉ{¾CúñyY*bv¡ÀÿšJåÒ늽CÔÖ›[_?Ï-aÁëe`Ål>5™m´w_M焳]+9aj"ñsY@Ž/´b@`%“À¸€. ÀOœuÛˆ1ÌËÁ‚ù«=¡0‘Ã^|J(ÌÒ¹g£íD¾vYžˆÉr˜¡ ¾1ªÊf ·9ØckMžšô¦{zs³»=ŠÓï%²Ã·'\D´´ƒlŸÂ¸õþ2¬²'¨s^óôêIÉÏDm”«O¼½1ZÔstöµøx1${ …rŒ3œtuüØk°ŒƒÜ*®VkÔEïn)Q<-ì~s8LÍ5‹¹óDŽv~«I‰F—µ™ìR¬ær(0¥hDîfôw°E‚úHywg™!%­2|­”+ƒAëig‰;pŠÖy¸(ÕJø”U&C]‘kDµ(uÝ3\:_ WˆÎ˜ÇˆLã£O¾Ò(,/ŠXÓ!_è$yyô†~”i¿gs­©hÚë F™Æu&,—îJ-¡T×$˜²um2åò&PfaÏœ qTÌZ¹‹ÏÔÜ‘X™«sº;tr„PõÖÿ f›¡ “«¹â¹l IKƒ²‹ÞUùDij]´÷û®#}Þ\ˆÁ˜ùQßÐ?µ³·ÜEÓ6|ÝNöznõ=}eª½ùÏœ¦µŠ!£×H»Õ =BÎDJÒo+.;ÊŠ›žÆA]õt'xôœJ5³ïlˆö§‘W%ß‘à6qœ- õû¢·òç‰q‚ƒ±õœ?úÁtZC„†%åê‡xŸ7£lf—›gÑ·sìM_l!{¥˜¦m&QvEñòð¬oÍä¬ò²$•ÒÓöŽ–»d#ɶBuif»a›cKúi´YJg qÞ7‡®Û ½ýÝRXj~¹‡â•›JÛc‘u2«æDfó´:^•q…~nŒ¼ÖÁ{êññl5NÈ." <$ŠN[øèë`ñzª;Æ3S=·›æt"¯’ÅÏðƒ)Û¸ éOŸÏç(Æ•u³vh‹­Q^Aªá²<`!–+7 ±ƒ^ ¼»s™E]Þ‚?·ˆ9 Œwxò•{,m‹Èæ£RØàˆö//ýqY´-yîU:ÍÞvµDrçq[3*,>íÉÿ8·vèt|¡~/¡ øëªBfa|Ë¡.ß94|û(j"’Ì($ïWéäœjp¡Ç¬l;ËÙcŽOÛƒ›¿AeåW¯ÊÆúî"§1M´—Ž2\|#-ÅÝ I4#»;œ°2Vå[˜ó–þ~k†Ã³M6ˆÃ)™Æônbû ¦[†ZýtxÕÂ7#xr$˺RƒAèÊ_ksßæ½Y‘®`¬Øj»`-ÃP§=RžDÁï /MÉ@߯øRCÏ; —ÄØW¥š“³%…î§¢±û8§¡’ÛRÑ¥qcÌ:«!üÈÿ3ÊcÅ$-JM¼qÊe Ø Û^R»Óâ¨p& dv$Õ¹¹2”¤Ås»…Á]3zxAÊŠ9fãŒ[4gM߯q²®e=éÅŸ -µ^ G( òzmi·zr‘Mdá.wÖ àbh‰ýæ*óõ]±Dõ]µm*àoTzX¥œ=nÒ%5ÉãXž;ó‹pÕ·&kK¬LRýª’OŒêsxæ¦ä²‘Š-ôÆ*¡ºÜ¶ øÉC¯(зŠ¢Ñ"ñè êHöv`újøv¡Žb_éºCœ¶ØÄ@‹ÅÄRY\kýtµÓg˜ø‘],äÖˆMH^¥„¤Ð"(„8 Èm’@C4uÁªzL ÍbF*J>M1#JˆHM‚ÿÒ°Ìè>áçÀO@žC,ÁŒ'k16œàÂ~úÇÈœÞÌñÃc]ãީܶ‡ Õg£·>†Î³QËÔSùä¥n²W;¨Sš‡>">ФŽñÆ”k|˜l ŠpéËoŒ3ç'“ˆ»‡Œ©´ƒuÁîùT;IfpàæC¤fEѦü ÚÓ¼j9ÙïqA”Áç#>Gj±Œc~Û†©Ìæ¡zy"Q¡w°ßÙ; vòs{§t»&èÅN¡LKžú]ÛÒƒ]`@n¼ 5.µå£¼•{Uÿñ.B(B¹g(üoµ#µ‘È[Cnë}‡Ši%ÂÔXf¸I.ø«¨âÉõà*Eê³âú›¾W)ó§£±K‹4:»±ûnÛñ uÍ µö4K.Gâî¢E% y £—´ûý\}þDP tQ¦Íï,$ýè—- ÏrM(bíNóЩIí8ؔˠåà´Ð`™ê’‰ˆÜ Ôí;º–N ¶jÅW!¡«7Šrçe}Á¶OjÒ]ªéRϲ²Î¶'Q«Í<ÞîXˆ™U„dB¬4þÒ¢‘U»æÞÉõ[¼Wj¦¡öP”o…›¼LÔ üo¬ò¦n‡p}ÏAz,J€ÐWFY\Sÿ!é&=Á·¹B„!OUtä!ª•Fh §œüÈ¡·`µ©Îübö*±MH(¢èªk@-œröñÎpa—"Y<âjú57É8ó/C·×)2 '?‹Ý]œ‰ÂËWv—ºÞ §¡õóQ ×ð6&ÞT±I´¶FKTúâ(XÔʺ dïøÏ^®v/µ¯’Vg7g.<Ëd?8õ­ÝÜϽá@fé”y/_iÎÂj7¬Å8O4«êYleäl<æÿºýÍÙwOâ8׸|©j1MG]1èxOÁ; Z…ü–_¹ÆįËçÜ=B½[f°õ¼ÿŠPh_ 5ü'Íf–²ªô Á#fÐsݾ^1Ê ŠI–¤Mƒèá®7N)æN4–•ø}ì7á”0G¡‚F3Ò¹Z©ûpYèN¾i^ûBY–úÐ Bòº®Ê›úWÊÐÕUê%QG‚°!ôùl¥?€ [‚œH½íà˜™7è% x‡7zgÞn;1½\eò£¹a¥ãQ^¦Ž´_œáávç’t lÚàŠ•èß Ç“õ£Í$w‰§‰²O —J+ÑL?{·Ÿ9 Xqó=Ÿ’œÇÞØu¸mÒ†ÑJÄÀ¦?˜* tAa Ã܉ ˆ1·g4LÌ’);þäPèy¿ðwÏžE¸Ž¢I–®T ’› jš5E§ú ä<5 Åœí‡Ïϰ*Q­¡Œ?º*•-U2×grkê²D3û°Y—ÓÑ‘½bEPß÷p@nM([éÎ" þ´z4˦ºè‡ÜâMßFŠÊ£3m!qôd»õ ºC 4ø;´Ê½TÆEœw÷P”¤ŸC>£æ{fßbWGt—'<&D'ÊíBjh É43 Oi`¾%í+ÇËjÚ!ƒrú9¼ð»ûèD5˜.O68² ‘£i<ÑrGuÂ2¿°Ð¥›í™ú8ÎÆZãb-pŒ^NI$DnŽ-?`Iñ-TüøÇùÄ?O@X¤ZY zõÞì· ïCÚ&áç ‰×vò‘ÛKÕ¿+mv?â Öm—°÷¯”½§ET‘«ÍLñdÇëÆ±&ƒˆ(×ÿ½(Ô)óÈ‘_0r6c­y*º»8Eüåjì;?…KûjjX5Þ±H6È¢\øs­¬s.p©É[75¾ù²ñ„áÒk˸b½‘µ:+O®3&±ü]nãXëQ¹ tÈ@ ©ÃªD!mýwÞµž¯í.ðÕS‘xMéÞï“fšÙ–¡4B˜Á=¸ê©™ª¿œ&›,»°GØ¢?p ºÀV¤‡1Ô(ÏXF……š’ÒjÝÅÎë. ÿÌvOA…–DÁ¥C3Òq¦&ªDèF¨÷=±‰¶’=•ÜûÈús0|¾›J嫘t¡x:£{ ‹ _¦$QÆ-6)Ù$ÜÝͧ牽Ç.µ_/%°‹32%Õ²):¸ÖÙÊ”AbÑ(‡*&µ¿“BèÁãìAµ~Ϲ ÊVM´p(Šá¾PùeôžjãÕ­T¦æÎ?8‚ž ÎOŠ1j驮 õÝ"ò@ÐH­› æDÉ@|­âW%uªÓl“¾2vÓy\ŠØp(ÀëZþ¦£P,úgDk¥&X•ªSàþÐ0ýãY>$îï‹SÇF£CÊ{„+ {Ž–~­tœ˜û䤓±)[-ÆÞÊAñP *M+Á|[oT²¼H²JÞHZÞ¸lD¤r?¼ì¦[âÑŒøg!Š±Ñ´5ßV´Æ-d¨æ%aeOÖ]ÈY |\›ú?^·CæV6Ñ>½l:Ë[ðbÐK5ïùj'$ „¦Ñ&JÂñ:Î*T÷^ ÀÛÚ¦PÒœ­•çb.®1‰fa@ Þ%‘·ÄMZ –V²K@ڠа{q$4hÊSc«C/èÝŸ¢öx¯±äV~qséXË`¯¸çÆ‹fo‡ÔÞ.Ñ\jþçÈš_6s  ßÓ¢´»$6ÉU?ü{°¡ 4¹)à| ¯˜Tyžª:zy-WV©:Šßss‡Vyx^¸±Ö¢ñÈä=íÃCºÊƒOt’K)%;9×Ð 7Ù‰vËušKâzl´|–J^’I¼«°Ó+! 8Êìóç-À¯(Ó+ͤÀ8dAKåW_ÎÿÖÛÄ¢pôGƒè]Έ&â¬/"€W~È…&ˆ>y-¡EDÉÕö8¤'Ïa¼À]$Çò¼Ö¯fcƒaºÁ_ ó¯NXêá ŒÛ½×ÿ‚;½S°eâd«HÆ2'Yå¿›q^<½8C (Ðwú<Û·Y퀡 MÏšF–Éya¡)w,BŠ0Åá±ì \äWÑÜPŒ×@\ZRŠ£>ªïÕ ^ëÐQ㼪*—šZRñËÂ[qÍD‰Ú?ɶH¾·¹%¼œRŠD%K\iÚÂÈy¥À' »YI³ò?Ëá 0ŠçRìÛBe}ŸóHƒ”®74¿‚v ªà…5ëîÏ+±y#mv§ž†¨Ø§+ŒÊ‰pqãaÞù·]-Slሡ­áþ¬ßkS8P•Á®yc˜Ñ°$•“”²2Ǿ©Û™eœVº ¡³ô(2®?fOºz!îyÎ|_fËá§qF*ôœ(Ï„NŠ|éR'Vöx"öÑòÂÒ…5ûË pú4ØÞ)á5¿Ø@<öå#2žkáÄ1Òç€Ò(ñÅ2Ó“ŒHÃ4]Z7dO€yúŒ!^±æhÆ;mçŽÄ˜¦5 $Ýfl¬âëÿÞdN˜äëàÏËíb~^äÎÀßU9L¶-»I¨èšóº\Öw(í:pƒ z‚ßjÈfóò8Í0uóëNˆrMÏZS'ûúÑ–±YA·F'¡Á±NfvÁ6Étf­:µC¹g|ü¯yò²–3§Úõõ˜vÌV{nTgêílÚKVë¶ç{'0g­s»áŽú±è0]3¹îLæRl`¼›ó1€0—§ÃÇœ¸·OÃëMΔ¨·œ‘´MŽ«®Žâª|šoœ"ËlnÔ¾3'øçí`Î\`öË·Ê6}IÒüfãÚ.ºtä!a¸L¦Ö„IÇtÉ<±Ëæõ{÷ŽIýg¹Jž)ãÏù^`{ ã=w}ú&Nmp?…~ˆOÓØAõ½I]ý,j‘9Vl|ñì!?û¿p!^]ø¢…´-d ò/Ý’É›¨27&äIåúJOâ7É®£…e`Ð^[øXÒ½‹v3Þ=,|º˜ÿNà4Cg%{‡šo`ß},üLjÀ›éžP‚&xTÉQ kC<ƸèMÂŨ+£¼>gDò¾?ò¦ßG4~Ûˆe¯ÈKæU>Ì¥ÁÙoKHi¾óöê@m£==^º\l7-ÆHBe´*®×Ë÷§&¿(W‰(Ac¡€Vǽ۶æ.ê–d–S©;Ò] œ!ðÉN¥Æ©a$Ùì'Äwk”ìżÄW®6h·¬£®.ÏCj˜t.%© ç Pÿm a|â6 Û€—RYHIÆ‹w3º€¢*~“ lÄÙ’¯©!3œHL?P-f}àùæßGm–ý|ÂàààÊ1ÑÌBLä—ÁQÃV Cè}´Ò~QwÄɶOöæsHµ²½++c«&Ÿ‚déQ†]/*Ìã’jÃèwK4Éjþ³mÕ]]‘I›; ÚÙ¤±³ ¨|d‚®.ð~,Úœ£R6³ðmµfa;E–™Wò ±.‰Š÷^J¾NÔø ìú [™u†AD7’"'>¯*ÄœS¾ÁQßç)¥)‹ûo”Ô­¯8V)ftý¦}ùAnvÓn Ú°_Ÿ~Z¸-;uµ÷™ÓÙ'€¥ ûGílE²-?­LÈŒ!êtIy„µ­Y³Cjtÿ¨sÝ~|KyÃÙäøþ×C¦í‡e@âÊ%oÌË|›FÉÎ w&&üü+š›š†°’‘Mê+=ü]åQ³!*5·C©k“œAMf`âìàw½©hÆ÷í£D–›%úäßS{ ÑÃÏR:|¬“{GPmµ ºd €¸¨@ÊŒýP³!lKÿ«1ø’þ4y·T2Úh\4_Óf|8›(wþú=Ú¤_QM=Þ§›qxm_Ôö¾uŒ†Õ{±d5æÿ˜ºJeßBÄ#hù\/ s‚Rá-pUL„$Ì‹û=ü)“•VwPËô‘úîŸÞ‘X±A™Y:úgí{…QR’äÂ=ÅYg+Ý, :Wj›GÇâ¡»@¥×ë÷ûtK¼Ä“(®Ù' ÿ«Ê¥Gž;'Äú¤œ@KÎa†Jbø ýÍ1Þ T!W<ŠI-ĸ·¸ÊfÌ'¡–Ô3e» "¾¡Jð*{\”Ãâe‡ÍHÜsZÝf¨nä›C”ºk k›0Pyû\N¦¼ÈB¶ÍžÏ*ÓïÌ­V^„ë›Â¢Zd ;º±–Ÿ0$ûsAÅß¡>P_kÁ“g÷*üב“–Ç»üÈfœWO˜g0Då‰RPËZÖJÇôêÎ3ÍÑyÖ„2‰é/±ïu×fÇiô†ò굃ezÞ"aНE½A BHûDÂî€X M]±>ùÀ¯ØaìÔâ!eál/,iç.8K" Ì•B zF~,­ÍÌ34·.RÄç­OA‚l¡vÏI0 X¶‚F¨_ëè•Ò¦7­[Äíšß‚4ßs)¾MNÈÚz?͇wlb3?¿®Š™pªo]®ÙíU¯ªÇ-ÏЪ=·t5aI‰üçñ?¦iê7GÁ’Icóï_=WÇä_vlzßQó¿è5w’ša?'šŠ-oLn7ê6\'â Æãgo6¢ÕÉ>?4v¡ªÀÁô©F^)»ç$(ŒE:ïîÓü}–8Dv˜œr†Í)$Ãö¼„Yd®/QHÿ ncU]¤e¯©îçÆ$Êm®™ÂGM_XT⦾Çn‡­1¾S1þõùRb.éã½—É fìq½UóªS@fOtVžØžg×cû¤¥>î$ØñÛí4Ñ¥ë;ö^ü% ­£—Þ©WüBÃ@ìCöÇYÅþ“áô•¢~Ž#±:8*‚ãîwЛQ RbÖ.’Â>G ×MO[•§zjr–ÿ±‹µd%àMÀúq ï€ÿã¥Cd"Ì­&ÌùïXáÝfFC<ãZa"Üó,ŸÙ'­Ðzµ‹´YB zËž³)¿?®ÜµîuÆÛ ®|)VÃ?$\Äœ8Mbó¥Lo¥9 “ë¼ò‹)«B€NùÛömp3š=)S“møÒïFÇ2±'m:½[Œ;š5*ì ¥&U96¡32÷ ‘Õg&W¸F‹¿Ýó¿çvü¸‹O¯07³ û*ˆø˜Ü®Þ\iÓ¢XôuEñß§mWìiöÚbtŠašUð‡’òávEø¼.–—²{3´+)£pÖ†? XÛ1Ko¾1îÓ¾¼jjhPï¶o¶è™PçÞ¼ÁÎ5D1àQ›|„^ºÍ¾Á&¦L¿,ºòi°Õ=éüÇÐ#ˆ ÄȼÂ÷õLwàšµýÌJ ¾€~b{3wðÑ•rÍçŸA-ÛC¤y»Sõña/Û63NV+Tk4¯Ü}í›>—ï-#Ž–,ÊY²àEçBÅœ¯V©¢^"Øzo+•IȈn)Mâ~‚å»gÐ儬0ÉÎòž”É4Øù¤‹,p ¡”}±£0§Iv(wd ©R;(yžDvƒx±Kßrµ"ìº`j=O.îO*Ÿ?W2ò×OÁUÀ…’ ¶Žh么`3pB Ó >Ɉð³3[°k;0kûÒ3¤×O4)L€À<¢Á@NsíÚ|‘Ó?7ÔD½‰ÎÞàEþüD0‰ÝØÈǬrÖ³zþÌ9¿ÉŒGÅA‹Ý9NEî×YµïR_eã}í¤¼«"Ý…f½‹hç¨Êm, - ÏÈ[¢{?—È• ¤ºHGÐÏÍBöÁ/)[jw¬·?ØE"~þô£›ï©Âàþ•ô”×¥.PçÚT[—·Ü¶ „J(Õ<0ÖÊ©ŒÙÓÉñFL¢»ÅÆoûŽÁ‚Áˆ:Íÿf=ôHĹ8jÐLž‹‡Kriÿ½Ð²žÞÁŒ-]%©ŽÓ¶ÈÉ4ð¿îuÑ Ò1¼fG鈊c;ƒ§È\­™N7ÑäÑYŽ­9ÛsqoëUdѱ¾;šcüÃïDŸ™Ëê„»‡„OK<ߥ¿S©{þ¤#êݪž–¹4:'Pªw'aŠ%ß·0Ë 3ËnìàùÅ¢¥,¡Ô÷›3càÆøRtè™ÀÏÒ‹wÿ¥ûœÄ6ZÔÉô¿ñ©^8Ãá8¶õ¦pØ#~ˆYò€˜ ¼ôBë]@“4¨(;ÒÂ2ñáʪxÞçi¦d¥~¢-Æ*•Ê;Rõ¢[Ê%e’So¡¤³îÆçsÚe4$wÖqŒ ;Âð;×Dy·’q¯­cyC”„Ù§güTZþXÚ‘| ?ŠxºsEb¤a/6‚vΓ€¨¶,°FèfõpyÙÀlS`]—<š„±ÓÈPv¸J*)+›¡HÎèèJ¡–=ÔYNVÚð€Ê´1óÃnÏ”± ,ÎðLs(…±Jâ”CZôÈTX]Wí8ß7_W¿¹bÔÂ|›ÑlÄ÷J'cÝ„ôEò¾Ð–ÏãW8Àv¹²09XÞnfüÏdðw ò×ya2ÿkJd)éC ÃÊï´Ã}‹I;^¿ªx3 zδŽLö4,cz­A&WVeÖ–¢Jй¢‘AN³G¸ JÏÐbР¼CC¾~ºDÌì1˜0@VYÞt±è”ÍrqŠ#M¿E†·S½¾Îºöd y1¥T˜RY19ùÇ68|q_q#@Á sEq‡³d(³xý«ðzç;ÅzÆö~¡¾¿@wýk*º)† IC]eÙ/eÙ½:ã°ÉÞú¿Nò¯h‡zU–ÙÄ–H õcÄeméô—$ñ|]U{~Uª™dè,¸Й<™M>5b× ?öEŸ«úoò¤“á•–<¦b°¼ùæ Øœ¨T<ù 1G€—Y»­ä²Ú”|,F%íû+—0RT2Ák¸é²èŸÞ­ä»_HÎþjÔ‚ná–袴ÿ½Þ¸©Âd‡»ô誙ÄUCY¡Ç")€¼£IŠ0MS$åÐæyJ,’&­û­Qãð.ë&t—Jþ’À˜z?e ˜î&1‡+cÓñZ·­3É3š®÷Š]º¡5(|lÞ‹Œé“–#Nhû&oa.š@¾ƒž‚ÇìYl„¬±š‡ø*Í%PûPëÕi-·É‚I‚ þ;S6cSAÈß½m bÞ÷'·sÜÒN.úa1·DÃàòA³Ü)ë.¥…î#Rð½ ¢15¹r»¯Vî“ljÏW8»~¤lüUa&_ØNÑüÈшÒ#Ž!PòÓ&K ¤sÔ§pöÇšW$ÐFtÛŽn÷!wÕ&_¿ç’©Ò0 F×#M¦Á»¨b÷FNNà q üÿ^’ÑÆíŠ°iì”&㢂§7:¨6Œ¼w¦ˆñP ’häcu$3“oáh\ŸÙk÷´Š¯0«®bÒ]ïÖzܶÃY†h,îÎÈ¡ƒõ†<Éd“c` {k”MP V=±¢4ÃÉå£+rþÃ^ °µHªÈRuáxçDv¤6|ç_³áÜó~ö{á…‹Íè¬Ø´#ƒ3÷á›:œ. ,³Îh…}™ a‹µewö´š÷U*ÌÝcGpÉiqåÍšµvPÄ,å°Ã”_KO˜‹í,É;èAOb}ã!ŠåvˆÙ$ìR˜tú™èòÛ ®-£ Tðé¤ÇÒÏíiéÜãÁÎFµÓ 9Iœ²/oê(¹!úA½<”TÿgYõm>Ê‘–²<—}Ìw¡ cùpæ|áqhô»ýæbÀ§'óIU«õ@4C¡ac6Ùã¤ÝçÊ_Hšþ¾ñfÄ<ÿ1šŠÖ†)›1 $9]=^±nô€©CÖííõó<ÝÞÄ &-OÐh-DgÒá/ ïϧPð.‹v‘º'oÁT`®s{¼#ÜÎÒ|^,Nk>ßX–d­žº]Ö}¿Ûõ”ÿ;ÀOSŠ7¹kàذjR®±‡­~£®pŽÃÇã'©uð܃Ëù>Þ ÞL¨C4[žJ÷ÐíLË:§³Ù'`/›kl3m#«‚5þÚ´ù:‹GéÊŒY×K' eùão~Ù&+ýÓyYôšná‹cêÔkþ±PgSSNÔu_ÝÇáԈ˜u¶‰›¿ï²Öá2¢‹O(–éN¬é På0Þ"f} ­“߬•‘—{ ´‡™@›Õ4•>S¶ûDrã’´â*‘‘_ëÄÂÜ…+ÉÃh?hbú,øSN ëiü±'y`¶ Õ{žuLušw y0ð‹{Yy€ú ã>å_KÙ'±ª6®üÒ²K ,@šzÁ!öÈâ¯ã¼”5Œ’ÂJÑâ2Ž{†!OzöæÒôbiÈf:­àŠÒL±ÄÊœ4äÕ[€#.4CÓø£ú¡gÞ*æÇ`¸ ËŠ-ªÐ¯â{ì×'Ê(N9óñÀJ>3±ž hÊðIàà›ªµ©ðÕÚ¥k’®U¿ã6ŠíÕº(´|zøiïb ÏzðDœîŽFéüRCjµŠâå!®ç+ét€SÞ%¯o©$Ðÿ ë‚mûŠwpZh‹[˜Š /.'EHyÕ¢|üæ¨èM¯ÖsÀh1‚½ <ü†°VætÄŸàËÿñšõs;F•Ýr¯W³ íÝ4é7tãKË8á0ZåáO$,mÓ ¶ÓÜS¹'¬\ èEDc!Åm3¥·|et¶Ú—yôÚrµ--z[䦔[ú‰›’ý‰ ˆ$L|èü‰;Ö^ùØÈs '½hQ žÏ*£sêÏ*Í6ÍßJý…ÝÄj|¡êJ8ÐU–Âå#«Â¤çá©ñY9ßö‰è)oQ¾1zòî­9¦õÅeÅK=@x–@Ç WzÅøýuØIŽü#>óéfsÉŽ«ï$Y%bdï;ÐæØÌt&7ÓaÕþ„IB'i®¾ ùV¬–ˆ,ôÅã*…óâe‡éòë¹³Ì<<¿…ÃÐéMùFÒî8Áv£KÀ,§.æ;‰dð—joÿTø¿ýÍ;õT$ÊK $Ï#wφÑù0 Z®•:úò÷HWúù\¸~ùŠžÂï?U ågÌã9Þ¨#3ù,0bs _Ϋ"³‘gíãÌ` .ŒžÜîBÁtÍiÒ™<ÌFŸ Éy­òŽ”•k¬Q'3òä‹>$[x¢$š0Ñs¯¤Hù)à¡Ü…›ýVÖÞ Fœ ¯tó³#ûW¤D VßÜÃa¼!È__Ú@½jÄê]CHøüß3ÓpM¿ê?tP=Ž!XëiÓÞúåVœ„¼^'Œ>7­"ì.~m\éòÉj™wÏä²½xá×§„#°aÿü9F~Ûvl6yÇdxÕN±²*1…ƒMè“ÚºFæãüGùžR˺öêᜱð•¹óoÕÑ|zΑ({R"=E3Å6u`–ëÂÖß("«Ä–'vp©Ið^v§@Ûöºæ1¦–ÈÚì²…*õzŸ?‹8ÝêlR€‰xfCjCKj?]3ûî8få¤pÓì^†LI °aíœ/›Å/µ×-lç€êg噈 Âe“ ´¥Ýèt/ƒù´xO6Í®E;÷1ìêã #Xµ›ÌRѽ’êå$ÂŘwzý;­%g|ÂvÌΰv锿;Ê\w1l“Oí;HmË¥Nó^†Ší™½œv°úâÏê¤=%…:rø±½# uþN•L8ÂnõL™Ÿ¥kþqU&`ï Žwb ž„gt_hÅdRaQ3ià;ý-ŽFý©Œ©Í¿ÒC¨%Ú¤Æaßáµ&â¸Y¬Y"· ™­y¤ÿù}d¬+Bf.ü:å˜K¯AK’ÿã3hbë%f;•|ücÞÛ×'.'e¦3I“ûP& J²‘Zø„7åi}-üÑ ÿƒæiœuë¸Þ,ÝÙ·þ€ÿ€»À˜jÎlëLÚuƒÐÆ]—$W¨ƒîÿY.Ó©F•ÎHÛ2”ÿÆtÌ|D×… æ"+SSDyê`—Î?Ô¢Âów†Ëß|(â)ÒA¯bÔ”•º„fy׃Îè VB»F”Ú¬Þ¾é§j­“0ó [˜"ê7äjWA]ÐVÊzüN¯u`¶ .b-–Û7•k*B°ï e±OaìøãÿcjäpÞ N–gC¤%2´B5éÞ ÙLôÓKìuy¿¬t'¹S÷j\Ÿ[·fªG`ÌQ¤< ¿…º^¯ÓÍáý¢õLteÇ?í€U}a⊂²lDcžì‘pü'3_Œ)ËÑ»[¢;W‘ÝɪíQYRBpsØ ãEÁ™Þ÷±³©þv‘½†ëdä´Ã*þ¤RûÁt@`ŠºYó€ íÅQ¬c='Oƒ$Òb¡õvI˜|dž¸ÚtÜ…dq¹øv^ÿ¹­Ô—tùÛ= h3xå›fqXûž¾«†‘ö-‘—V¦lFPÖ=ý[up%†B^ÁÇv`Dô¬–Ë)üF+Æ;ëTŠòPôèÉ ÚI‘Ô˜^”u##G$]÷øBÔP’L«(hYd…7˜ý™f´xƒ\i4`x»(Q:DüKqWCws®E…¯!Ó*úÞ[k&Ì4mü­Ûîû¢…?¤°[qƒ?nqIàãÇk*¶~A¥’/² Á“$¼î€Ù8K˜ÛHbF\¢ØºÒ¶Y!Œ("Í‘VT0p6h$pEVÐÃJà±ãP ìÏšàCUjî6«ø(Εf»z$( °­-Îô(¨dhT€ ¬ QàÉ‘âZ¸–ÕéZADhŽFè©{v¬6)Ž úWdCêO/¾V Áº)ctó·ûŽ+iˆ¯€>£Ð +Šà "æ=çKny¯Ù‹2]·º”ªÜ%J{•K0ÏýdY…$n ?éÖEÁÀ¹Ž³à»u¶é‡ ¡‚Îdº&&H,Iv! dÙòdô’{ßOç[}X£p7.Êñ.A’Ò×§÷f¼ó¥Mo‚±º5…®SB¼hÈEøIL}±~ð¿Óï½3×ø^µ0mƒÝ2O. ›Ijé I›Ÿ—Ë„¥0H  , æ˜SÃâgûz©•Âjl<1QjwDç o}BÿŽÕ`¸™tƒ°F @`AQðóÞËø0ºP$2/™ÞUŸ¯ÑôèY ºSòÚF¶ÜD¹CAM'böP¦Œ‚ ŽV7”³ŽeS¹}à¼ÿ2Þ|¥œ?½ þ&âó¢lB¶ìÕÏÉY²¯š, ]ˆÍS´ÉÖ=þîYN¬˜çòp9\ä ox^x‚Ëʘv,¢KqÌO 6Lý#ýå>雀xijõvþäTüÁÖûÒHA§y®“2˜ ÞúVÈB#QMjT&À•ýh9yñ¯l;?1ì(]b{€癎O` nŸˆr( RX/ž)Ø C-(ÓÈd•rñy±r¨¶ Œ´&FõE6¼PëœøUˆÔvÜ#ÕEðåkÓNˆ[=šEâÉã0ɧ¢™ow‡pJøÃPÞrОfÎèܶÝÜôS3/5«ä%^ÿ^´ÂÄ FôÙסMÔU*NäI(ünÔmƒÖû2¬¨EíßáæÉ´]FÎáB”¹øt%µ›¨Vœpr|÷} sH¬‚ªó³âiÄ ýÛ±ˆr%íˆËwR)Ää#ÉÕ4… =çTRÁS8ÁTŽU½Žõý›­´W×dÕònd2@´DùÞ˜×ìúIlqIiGnUªmT3¯€ã¿öÌÀ„ÁQaT‹”¯ÿ½Æ'vÃ@ AÁ7­€˜ïñËrB £ßìŸZ«ÏKf‡UÚ‹hoÖP–¤'G/ËnO¥¨4¼Ùš Óüá™7àjlR18ñz½Þý–{e¹°ÑÔ +„”[©²Á™² >Œè<°»¬ëLPOAÚpÆbßÁi”V&cB/¦þ j©Ñ–Yˆáúö׫’d¡{ÅÚ…}NZ~dWsˆ`öE}ûŸ•xú$|¤©¶$Ö« J9ÅN£ºŒZÓïTŽŒ¤ËgÙÝp¯x'²û:ŒÂ*W A•PhïÇ^>slÛªËÌ~² FðÝ}³ë®5¨vjÙb¸g÷¿ù íæ×ì¥,Øóñ¹ŸTûb:©Æ¦÷ÉD~Δ~œUxãmÏÆ…ÐL\3±žsTL‘$ˆu™D9ø´S°ÀaC»…D†z7ñÍ„íwµÃÇ÷öÒ˜7hc ƇL¢r6”]¹‰ ÝÅœ2—F!ã¼1ü dJ¼¦¶〔aOûˆ® «R r z¼HKªX¼8 7ÌÅ_;=:ZPpËTZ^Œ±jt3ªý±sHýÉ g¼[P¾(k\ý‰Qn',ÏaŪèü ÿó—O İ¡ŽEJ/ºT]ñìb®=qTP¡÷'eË¿ßqÙ‡™FÝÓ¦Haߨ 4.¸ö×*/[ü‡;ŒŒã4û!×ÓåUüMôÄ sU³_—³Ž4÷ê,&Z|™Ÿ¡Ú¢.V‡O 1”¾»¿b{£¬€¿ì!"oE°>ðøãPžåŠ*&fó5*åäÿ Uís,O;Lîɬ¢kº“sÇìµ:…%`^§éƒ8¢:̪õÒ²ªBºÎÒ˜µh2í¾Îâ½ ’Ã9Yö™þ¹2©b,$?Mº‘ŒCU&æ¦Å×P Àsïâ&ƒŽHe,KåM5âv¯îÚY@Ø“‹­¶¦«rô†NT)§Z‹æ¾­Xº°MwH5Æ@è3ääŸØ‡%ûZÄ)Ì—z8¸¡Àr(Ñ“éÔÓU–<-k?„ÌÉ:­$^m¨¹B_‰v, a §éÆ[ñµÉ¶@Ú¼ëS¬ERUºÎ8tt²ÒýÊÅwæw»>!˜²mcd<tsoÑX-ø¾Õ©›ƒ„ˆ ÓH†Çì¶@&b&ÙŽ_÷êsd'È"÷ŽN]ãºR2è1÷+1”WÂYõnŽg-²SŽžSoü½AÝ=ùÓ:m”ƒˆZ yz_@AÛ»e~ ÷¯ÙS‡#ÛӒ̵¹ ÆçH:JÚÙãWkxE¥AÏ@ž¶4ñÕ){!koµÂ¼<®Ô..#E.÷±ÒÞVzä %†›À¹æ£q÷þSÓFÉ5²"(È y—8E´¹¼ûøó9„y:.¥£ìD«b»¹–¬]Ç*JCÏë×x?:)˜¥GbU–ð{{‡í5KðZ‚矤SOÐ:'(~ Ð4LJ9jɤÔX™p¬V´:ÌÊhOÆ<g]Prbg%\ŒGG—¸bòJ¼Ngµ>U[y!%¨~!¡…Òi¿Û…ˆ÷ï_ö@ØÚbáuNSe¼µ¢•—‹;ÚEãжißB|<ñ‘‹!–iº™V–Þø‰t #fÍBíïF ó¶>d/bc]ÆjuÙí!muGØzœ­¡‚"ÒxÍã&õ½ êB±Fh &b##„ìm:#@3!2N|A§¾1— Η4âõ¢)éžfq<žX_–;Ïì¸Þ×IIRX£ß®!6Ξ¤ÚËj~…c\±ÿË¿¸ ò²o’/ˆ²¡&rÁ 0àÊK<"ýaPo|ÌÌ´¡Ûê2-ûÉ8[i½j¼îÛàŠ•°ž#1µ.÷€ž¼ù0À¡R#vÑV8\0a¸pÐOÒ:`—ˆÆXK,&[}¿:Xý_ÂQ†M8ÐúÍ•¾âêçAÑKøzm# –P¬\䈸ëĭ:ÔŸ¬7@ö4º6j• ÷I¸ò£š´u›» I ÖÅQª¬8[i2@âˆÕpö†#¾|é'ø] g…ª}uu©F“YAb d›ÇeÖ¡cM÷išI^uúXn|µä#F[}Bð¦yHÚ ÞĺÓ>üjFµ8ìÓ^iÄ}ø;7¿‰‘Þ=¢&»÷å Yô K`/È™K"™àh ñ´Ÿ¼ˆ«Occ–¥x' µ&àBXÐ8+ô=%=j žù&ê£Á Yî®­v|Jñw&ÿ½¥ÐÆr» 0¡1|ûÄÙHVñ}úÒ²rzx“êXº FL6~™c¦<ÄMØUQÇëC®¨ÆÏÏf‹¡tÎ*.þÐ’ÆE™«àšcç­mñ˜7 zfй“…Îâ©ü_™˜êtdÍ7Šøº»”qF·%ü¥% tÚ$íôq6†us]Æ¡N€iéE´Z¶®_-/ŒØ*ïj7aS®¼?pƒ¢–Á ÅS+ÛQíɤÖQu²8>¿$f'äÚlN°áSCxÂ3!ë4kOïÖ[ 9Sj} ׿›Ö´{¬-ÈÌö¨¶+Bø fÿäM[št£ÄNßð ™<‘ò„|ãŽ5Ë5¿7ƒÑ™›áׯoYw${µ2>\.9wš”RúkwÛ)‘Üjv.X¿Ä²’žjw6:`&†æ¾wFüGeQIäs—¡˜€ËJEÙ†÷C`ý|Ä?{(7 Ý#bj^µüoÇöeo ¥* Ös$.9üI.1l‰7h Øôê&_"Õû (°æÚr±ú˜ŽiÍZ: ãÅ{Ïmeš~”3 l­Ÿ@È̿ᶄ —Ñ]™¥j¯Äö€}0$U.@—ÔT±nNL‘,ûzW_tRÙ¢ø Û”_¥¹i0¹·™¦µ#€òIÚöAäílÛ‚ËÏi’ðÑÍ0Èß#Gõ—j =Ü…9ªšúÎì7þÔ³'{l ‹º@ 2¼ÚcBbýª Dî˸±®º¢§Ê+-ïº2œcfË:àL˜SK!ͺÏ^ñ¢꿱ì9Ê¢XMêJÓ1c}—ý+’½4 WÓŠöXÍaAúîÄ9Œ1Á4.ê1Sä× ¢ÏáßFw* :QxâFóy«mmCw®mqßoËŠR r)u¤y7³4y×¾¤8ob–ÊbåèÄÝÕ¥¨ ýzžäfŒ ~]ã÷VÆhsꆖ(|vE!5ζ,<„HB>v¬GèoÑÞFÜ_ë$CÌÓ¼rKaíÙ> OÌ+>5/Î^ dl5'I¡³Îá8•òT³QóãJ Ý^¼’û*$mÀ+B‚yÉIF±í^CÃˉ'¦ÀÑŠ?~.^·P[ŠÓë¢p—" <§g{Ä/‰}sÈ¢å>Wæð³¨ |l‹±Éªƒ=ºy拜'ñ+‰âÔYr|N€‰°c•%˜nAë\,“Q‚lꀠîUÙM*Hîœ8P9º€Ú«fÆŸgÚÅåë‚ì¿ARÓž ìј6'„‹2ÐÆs ¿rE1èlO¡vnç·Êæ0YXÌÅëk ßi†j ±5ƒOk å±á„çÑkTœÆD<\`ãÜ¥úÒOQåM¤ÈÎ:<|Ö+•¤w…¥¡?`Pß»´.Þ ÓNæO®n¹2„˜Z|ÏzÕœ­ßYëÒU‹j„þtž eïÇõƒTR»¬÷UºUà Ëè[ ÃE`?þ£A­~ -:JÂ4ÒxíõXOÑ(¦Ô"ó8ù[EDZšœ¶êÜœÿ_g#Ô¨I¹W— qúïàZwô ’)æ´>NlQ± î'-Ô\¬£n6…þk¾*árO¥¢; ’‚QR Š_¸pܤܨOž“×ßLÝeð„ÙO´'Ò Úú<„: f®Y¼œØí¼SÁÆ„ÖMÀ©žªÕ§¸ó ƒ‰Õ÷R5rþÕ5é¬/n]z¥š}•îr‰9¾ ÷Ú9ýAbHÑÂMfã‚ÉHå5Ã{ìA5ªvÜߟR…þº³¥ÌŽ9•Ħø‘K½fßC†ÚÜèt7‹z™«:Ý’í;0eñ5ùØeݳ±žÅº‰tõŒO¥MnÖ}Z‘P`UpÀÀRsÇ£oåà 7­ë Wôf× ïä2³¯¤ùëó…,*øófA#0$XxV­t©GæGýlë{ýÅsègº²)›\œtµÈq$a’šÒ‹r³˜¼Ãíè”fÏt "ƒM_x–X›Ñ›{w5#˜5¨A13²I‚-ºXùñ]QYƒ!–8þZŒÃ3}Väè…¦½~øçJá•Ȭòí~x#Y¾ÁVBoT6ʸæú@ Z’¶_uþ‡Œd±Zw¯Ý¥$êlëpöÎÊšÌõc´o¸Ô¢§­­i||eôg®‹ÑÙ s‚Éeëv»1áx– µFK„öÕ™lvôlHFá¨ãŸ±,8;é?Ž‚¼"a½ ™›ÈïÓ²êæŒhéðâZ³+‡ÖÕ;]n¦”ª<Ö ÿ6ˆ-:Žç¯û‚âÅj4‰=ŽY̨ôG'l÷ ó~Š s+ÂX ’ò*X8DÁ"7rw¼ŠÕ£Xë“›ÇÖ¡ÐÖ¾²æk|Ù3©…&ÏzL%–Õ¸} §Põœ²<|²«aÆžr÷’†IŽ96a«HgÊØƒø¥l™ËMQx-Äï/ÔfwÂ…"Õ¿E°¤ËxY|‡ K¢¹bú”óЮúÜcâÍÈi½”éL“Q˜ñ‘}4ÀåûâÇ­¤m5W€]“W'iNoÊU —l„ô§GR´Qܧ쉤¥n0»¬´_‡«Gé ²Ÿ*{AÏþ¹æ¥7RVƒjec¯È´Û'_°åÒõÊ h‹jÃïA2“»ÿf87£ŸÕ”õðëò‚è‰OÏ„{‡Ù¿ v¥­O€S~{,Ñ×s¡TxhóÖ/™mÉ}ÍCHš0=Á²å” Ör±ÿzh_VÇåìÏ:9Ýaù³ÅÏ€ÓJ*E窮›Ó^š(9Ÿè½”SC1°Úü8]5ÿAšð<çÓ·™2Lðmr¸‰Ð0dby¤¢@î§\ƒCÜßÃv•qŸFš©˜äî ´/Ë@¤â¼xŠÃÁñöqñwÑü aPý—=M¸‘×óK¾òåõéHA‡\ÞjN™økúß¾CHzç º‘n<]òÝnØKÕ„&®£ŸpæB³GÕtªjGRôL·J,ÅÞ*ñr½?Ɇ™@Tï…IPÔòª¼¢uØ®òÇï,> ƒÐyÒØŠ¨A­äC6ZKÄ«úòvè¶âvJéõHô´°ægêNa"?T|‰ºÎ:òš¨•¥‚>ú3çú¸¿kGšÔtÿZ¯»­wÌÃWXŽ?¦Íp)´†R–(uK£¯¦°†ï´ò ðv‡zx:p§Q^sJª©&©kÔDþ[æLÜI«ÇU·ØÎa `:s€Ú¤k”Üh²ŸBÀ çŒÚ 4ô!¼ƒŠDKƒÆ+§U@ð+¸zþøÏT6¸>¶ ²ÔWQï ãý FAÅf~~)Jóy«ü éYj§‘pb_½gŽ®Ýê©xV5‘G7=¥Ò¯ÝsM‚¿Øo鹺-rú’/oM~¨î8›ÓE±ÑTL¾ë‘Ô¥é7@‡Ó³($BÒÐCÃpúıÓþ9çÌ]ñæ± XàŒ"m¼&¬äHÐw<¯öU«9ã…4i§½ÄiØÌëË8íÕód¦œJ:PÚEÓ§»?ãp³ÝC¡ýÁ0?üsz½Ù°y9=a*¼eµÃ›UgBÆÿ¾OËæbÄŸƒA £'4UÀ »|þ†‹"ßÕË—m}Î\AEíûHlÙüˆéÖ.;¬ [É'€ë2lüJq7~w}RuÓ¹=Nîxú %ÂÆz8ý°‚íDq À-áw¨Ëï»:V RožßDÙÁ/Š‚ìµ[üþ­…ö¢9ßöª $óD`”Yÿ!_PFÛí«)-¤ðúRÉEc~vXÄàÉt«¾xG ”†›˜Žq¦\’Á£»5au6uïì çÅ„8ë5h`%Mùª`t}_©Ýe©öÜýˆvÅp·úªDwÇj€@ÓÓâ>‹x <ð*\QŠ¥LÖ7biÛ©üÑW—T9l‹Ž¸§$¸&Rlá± rTÛ¬¤øií´jr—~|›”)wÁÒƒ9—Î ™€/,Ûªð*» &ãä´Õ«¡7ç0\¬ˆfM•þgÌe¦’µ²+‘ž.q^_UUkuäüo4hi¢°öÉ@Î>,æ} 1¦5X´ÇØίw[0TÎ'Éð@¨êìò¡t[>¯(f¤Òô†ñg¿„ÜàöŽŠ´Ú!hð…·ö:g&ÏŽMíݰ¬¹<Û­6Jç„Ñó•2O¢ÝÈ«)£b‰œíæàŸ¡OÏn"«JP;n×õ=Q%•B}yÀ,±ÎqÚë1§Þn¼*†.sT—¾­C]O˜!SÊ0±ÀFlþtÕ*o`#öõ ¶œ¬>àþveÀ-,Û*I'ªäZéH‚g¨É eoÉßË]Mï•7¨$ÿZpÖÚ­$ãHƒ|€lÜÈILS…¤üÈ–¤›©˜ã™.Ø«ùjAª‹¿ÉÆi»¾LĪ?G…W¶)ºõÛn.†8KÅïîB7¦>Ô,‹ŽÍwŽa›žÒׯ‘Ësx=Ô4ñÙß°M×T ÐÈCba>¼oNÇ‘sÃÙéLGöêñ ^͵»JŠ&Óo¬EeLµÝ9)_I¾@Åëœ>ÉËþŠO5[×ÍBꃱöô F®“ÏÆ:iD€£VF:æs´k”ì0Ì#üh-Š’•I jé}hÈ*6I8ÐhTܧ¶™$R¹–™mnï6 ðS7áÌ~¯žp ¬¥vuÐê9~ËlâóKA‹éú;üb?T_ ¦QÜNó{Ù^ò×ÚŒôöì^pné3 ‡t½|ž,ØGuW´¾.ÜL¸ <+^Gf]–;ô £@]AïñÝा3´lÓlþn™]¾Fë§Ú'’„ŠæÏX[:ü.‹·©`ɴǘYÅăBá ‚?שÉw£ãÖÝ3º:Æh(î¾Û¦¿ð—ÕÜÊÍ5 îÛÇÿ“±©¥6­ø5ôâòÒÙª½{9ÀŒBB¨N­=›’[o5aƒÙXépfºY¶“òޤˆ2˜^ZØ Àª—ì½$+YP¡åWð»æ®Ç‹§¿qêŽQ;ƒÓ j0ð–z68)—3Œ¬q4ÜëYaº29غ§o‘ŠÝßzðOõ•0fûoÔ†ïn´"­?É“ôP {m•î^¶‘OŠˆZ8ú›EÛI99Fo|~Né–»™LNbê‘ðF+Šj)p2Åj£Ê´Þ+Ü:ï€Ü6hvWó„4¡}Mø`h>+û+òóx=ªñÁcZ’5¸ˆt5N­ï€Qr”¿W,³MkrPw=UçφaœNš”ß¡Ìá$6tÛ½•E ;§Úsþ1qx?MBTE*8º)tÈJ ûŠ\4cì×9ïµø8eyVA¯Ž{&î¹{òñ8KùYbœ=Œ þ¡ë¶Ù*õÜÜc<ØkkR»"¶m‘Ô!ãíÅ©2,:ÇÈl¡ºáéWDÇ™hõ8ü ätÞ±÷¨-ˆ/@ù¬Õ&Ûƒ3a¤'1¸Ÿœ÷¬$Ÿ»ÙÅ×pñs”0 [ÞZ‹ÄÚ{3uÒ£Š…öôíºõ¶Ù3ê‡ö!´·V·öUoÎÙǸûÐ/.²cÑ“$Y?pi@*í„AMA°_–|%½ù/ý1°§Fø"¢e\î¡7®÷¶·…nȳÃvŒÅ¯¼”[rEHû•rÕh½(Ã×’ÐZ£¯¾^Ëæ¹áµIz@ê!ök'P“5§xºg ˜xÍ|xÒ¼|âÃÒÿ`\@j6ÙÛ7c ¤™aý‚MòèV LÞ³µ›h^ ¢×_d5®ì÷˜(ðb¾)¤GeA¸;~@a5}´GÇ“$Æá!ᜠsw«½8òÐD…ó©[>¨%ZiC>8¶~܆–aX<ã~ççÄih”mír|ûœ\X×Ýäç3:ÄÏá²4í–ôbº¯Mø§7NMøpÔùëjÄú>Ê]]O g¯óŽ\ðäîÖ‰îÊ*UÓ±­”*ɽ%Tô‡Ñœ§ nƒýµP×¶‰Œmmv!á§N¾´ì÷Š•»hûVÙ „zP_ãæAˆàÑ#­|UU¢vòéó;ItZDáâáç[,‹—”êá\ iK)¼ï»ÖWEî ›'_N2ï³ìFG¸L, 0a#ð¸ýö¾>\í É‘•…2¹\¾ŽfëSL¾?º›7š£¢ÇtE"°a$Ö@<—‚õOµsõùÀxs÷ –(¼ÁB–×/w]švÀºlöRœƒ§lÓŸ°Tö}Ÿ°ô­g Òä}ô}6œK¨S­ø&yƒYµŸY¹ÍƒsºuâfN »ÆÙÞ×ÉW+/}7#ÍèB/q"Ÿµ^¦ÀK ÄõYãPÝ&¹¬ý: ,‰†®ÝÖ#zÇŽØ Ÿåïz¶êŽJ™÷œ«6(. ›Î—$¶4öÛ§Jão®H±sŸ¶ù×}@¹%k#ŸWÅòÁíMÙÆP-j°â'ÌD÷²8ºsÿ!£Ij&ÆB]ÍËëõLéáŸjŸ$qœ¬pâf\k+ÖÖ¤]?yü„,„Ø'”æ0­ÒÖù ¢Y'“NÈ#ƒ4«>ô"Æcð—pz¹Ì†V™à‡}è➪õž1-àzE ´=þ¶i‘æm›ÊÔÔ7xÁ†½SÒeï !²£VÖ›//;G†í\[Á 6ÞÙ×ð€sï)èf^  p8ÁÃsÃþ³80]õ{Ín{±xaŠ~`½É=pMë‚WN*äöåžÆõãnŠ'Jê`¥zÕ"×°±}al9–gî€1ƒßï)•PƼ÷G増O%iƒš¸YÜ Ëœu’^ÔËUŠ‘Ácî›Ýæ?Ç'½±„wž?Œ#2é•û~j¨D?XD¢îThi9dÎ5Ì o5wÕL Ê÷§¾Åÿi·vŸÍÓ{i©3LµûDƒìÔs3‚Ç:º3ë‡c§} É@¡}¬á‚Åï°L0#„ÃYãýI`~óHÕQé ZúÍ{ Qí´Ý&Èûê¨à ² µÁ2››?&p´âä šý‰0¨’ÑO‘º¶ÎKלUé‰n(¦øËGpû¿¶- r‰XÇ—!ÿ꨿îµ€mó46/ˆ7ªÛ(›ò·ÎÇļ+÷¶ç6MÝInŸ†µÈ ŽIó»—õbÐ@‡Ÿ£XnÍj~ÏþSþeW® ïïʘ¼ßfެ•j&î;Ëìo›‰weÂÒK„ÿ¯f>1Ge±vµY˜WxIenOšPnƒÖ(B'Òù݉hÑËöðÏ!\N¨8 ²ÎEEƒ(½*Î^µWèÞ@‹å0¼üî³Ã àãœþyX\e¨¼¨Kð_È@ŒÄÚ$¶‚$“öxÅYEœsÆÛ‚¹ rªÿGÝÍ ’˜u‘RDi}þ§Ö8Í‚#|«/kÀéæ©p¯cß”Oø©¥ÕIyú…’hcÁñëní7±°§€­ÞlÖ”.[…í¥{rõó;ÙúêŸêó¶ØœŠ¯‰ï´­„BÜÍF7žõ(u¦²S€v°#J)ÊS8"—ùãƒc ‘Ê9l@‘Çn H&©NdW:ß!2º:¦XûãYµczxÐË$–æ{Ÿwm¥s´î‡Ì– uÂ!Ї,òÌñOöBåfþQ¯VšFAŒ÷¿Ÿ§_i¤À½ó'oX6½ÑMsiÇ“î'/¬¥`Y‰h ¨m ë3%§aµ3Zý]šn§5ÞL­Së~a°j´ÿz•š†™å“ù¶Mn!YptÓ W©çdÞýt7)¬ðH·£''ŸÊe¶¿Ø]ºWy°Œ<  ŽÀwÎp…Ê:Yæàd¿\ê;=özgª­~…ÝÔ2” @+¸.Q'+RòËÂÚú/Ú°*§)ÂtD“EÁÖÚ×~ð0È“g'µœµà,̈† $ÛϽM)gÝ—AÿÏhÊihÎ[ò·!.ðàt¬ àÇí61NÍ£HcuPg¨ÁÅRùUˆáÞ·yíÜPºmìàS sÑ]ð²Qm‹ø7ÐE¯u>[ßa´Qf`pq—8ó½Ô·²'M™Å]“¸âu¦~EÚÕþyuñ´7¢OãvßõÒƒ—{Ë-)ã\!1wZßfÐÐ6èL-a»o³ˆ×A®ÿãÀû?΋…ÌÓYöÙý/‡­ò&¥(¾Á£³ïÃ<#X$WK)VÏ7¹óðJ¿,Yô°¡ªr¢"R½'‹]/l2U”œ¡Ó\¼ÙØüÒœO‡e_¿µ®j.RYª§ï€ïè–f÷4»òb£R»³’%Ö4Ñ^>/ÕRÕ°âÿ¼à–9½Á‘Úš¼¨][$ iJ Dé]m퉤q©_OÁìé¤sì(Ð CO¡ÈÚ¥(¨›äýߣrÕHŸÕ™Üv³ €ù·­­ŸÔ×YF²m¥˜|öžîYT ’gÈÒ|æÙå³þ6£ÞaiãŠöï÷tøb×¹žs`t±k)Ç––¨šIÓ ÂmÙÂñO‚xOfwœ½Zr}D Uœ‹éÊkÜ´ ýÍXŒzÏÙß/.¶( A`Ó¥‰uàôxÑAðlB’Ö¯GÉiÙ•|ê…+äjayI¬näŽû‚¨4¤oU,"ÜJ'‹üÔ…7øˆ&¿ƒŸÎÝE™ö¯ð&Ü RJs¶)§œ ·µHQÓ¤kw ¸}¥;)K¬¯ÿº–Už÷£™Ò€8…„*¯Œa{œ5Äà–óFá¦x·$Þ•©_x†cÀïÈ¿'¡¸^&Œ¥äÙŒ¢Ù|*¸†ÍaÛ~öLV¥é?FJGÿ©LÁv:b:¢cP¦½LI®g0Ä£øb×þä¨h gUË89WWĸ¡\ôh‹¾åÕû°½¤ÇëäeËÄ saøÑ-eer’õ‚“È䮳û^~?²Pð|R Eqô*ÄO6?p€² ñIèŠ 4 Q´ ?rgÖ¬P›Á¥ð+‰k£ƒG=£³+ÆPl€ç"&d°Ön‘~L;~¸Ì­4M̸« Û„Èô òµ½]nŸ]Ô Ÿ÷•mgÉÓ¢°éÓAÇ%ÿO­WˆÏR‡r6ÐÄÎ÷!(±ÛôŸáÖü4~ÈsÁ¥yÉšÂÈðÎU@'q@69Ojî•z 1á…ŦàÑ8·ßäúždq×¢†õ*L´UÚOËr•DÔþ™ÑD“MÙ»®¿Ê%QU¿SÌ­û1’p6Kx_)“…!oc¼¡óþ;ò Ó_!Xú‚ox0çü©à9t“91Bþ}ÏyÊŒZãAEhs ÚîJ/ÏÚ]£‡,‘ð¾e3'þÔïþÙbؼT¡žØ{ÚTëhÒ-ŸeñEeÑs–z€oA^¼In½ÿ¸ñõÐMÂУfL? |R¼írä0!ª²äÄ,éê™!¶£j俺£¤+Pè]Ђ“z$&ÔÆ yƒð $áêOßšyù,÷ÄI*3ŒR§!À.?#¤¼ïq|Ô˜kÐé³íª“{L c¸¬ˆ\â5Ôëb6Ä;€e¢ŠxÌùuÿB•꞉ÏìntH9¢×Í fZ`Ö§b8M–§ýàÈ4m§æ¡z°iÜø>Äu¿­r9'Ř.§h…4£áÊ­¥“½+7OJõyÀl"ìá¹ì@`sÓ¥þÞ T,(æßëÃqvÝ®¬ö½ÿ„™óâþ½E”‚! Z‰I÷êDKÒ›¡¼”"mc¦øOû[Øx²©b5™Ýjí<\¨ðS”u ÖÖv 1K¢šÒ[Ö¯pÍ&ûžò8 ‚È"2y×l†àó½Ë_íës{ýвG°þrË H÷¯˜2Ÿ¾“Hvƒ•Ç|µÊºidE Ú[-—#Bm¹o÷V–äNﱺ¸WÒ'À¦Õ²JòkÊãL-÷ðv£?†dµf,Kû‹aQÈáADSˆ··ÓÉF·×‚o•ÒB×£©%ƒ¾‡ìóÄCx/ËØn é‹eZbÅyñ_¶µz \vkÂPÆ D[{?M m„Ìïé´ôjª0ÓN “«ÊgèbUi Þ%w” ¾ÁÀ˜,c-“pNþ#=øƒÇ½­Ãüˆqûi<)ÐQFx[ØÜ´YfÌ#­§IàÅÚ‚­†fM}0TëK«Qùh€P\*2”0Çì®Ú¾ê£Ycµ*ÎŒ¾|Ýc|ž¶¥¬h¾Œ”8¯›]C×|L 1 –ü.ÂÞ^Û1NÉÜÀ·ukÄ—v+&ÄdÝõ9–‡ÞJúl<§:”a2Žc”WÐz.ˆ":·îF` àK*¬‡C§ÿï\ºˆD¨K¨÷}Á+£ä‡‚¦­ÎÐ{ó{K÷ÐIo­ë‡úàWŠj´z”hé]Š9!Œ1r51Íiûn ™5Õ±û1ŠœiÎ ÄXuNãþx-vö+CC‡Ä@ã·&ƒ‡ÍõÒã”Zø˜Ùëƒ9JÏÙä©ßnËɼ®Ü)}ô7i;p:ö‘6ÌXð?ѽ£JïJÇÑ„.¥Q}uµ7öñÊŽ>íûÎÇ;4åÙåèäÛ ˜žˆ‰DŠ/ch/ÀnI—¢4Y Mu01j›¶’Ôw¬jâbœ«ªyÉ!iÊ¿0¤Ñ‘Âä餅=• jA‚¿Õ<|¿6 æ¾»7ÙÕz_ H´.D;œüóÄT–:nô‡¶Ô¿ÀÀFb€™]Ú\4sÒ×á9/ó‰úš€çØ´Í>™Ÿ¾϶Æo>ÉNPAûzDÄ€0º¤©ùä) )‘ÕÍH$/ž‘€YóU\ò’†û%È+¼Ó¡äÈ}V+Z»1É·¡îs=BF6ô—íž‘ž¶u”ŽQC Gj&cJ8¡»4ÿÙ¤4’K2FJ¥ªaßîÉ4y=”ûfò›G#¶Ùî?ÂdµÖ›ž<?»T÷™KšDº ñÂ(f»e"?Œ\àÚÿ$ýéÝRОšžá _`â_Þ‘š Ï9g’Ü@ì—‘ ë È™¸$â$•¥{% Á¯Rë1މ…ÛGrná” ª<')l¹àº­â«ÕG¨ÂƒW-àSqºI÷B„*ƒÁzW¯Xà½h ¯ª~Bsô|™·¯fEuĶAš=£vwÁ\Ôï χÝ;;¯ì_i¬R•ð®ÚýQb]‰ç¶KýÎm¼šÓùó!Û-´Çò¼²ð(|¢l–®Òø®î!®ÝÍÜ}‰F×Ð2Š¢)‰V31·‹AÌ1Æu?5pr÷ÑPQ ¤íûÖörŸšÑ›ž2œÂJaY;ÿ°:¢Þ(íRUðI&þ3SÊ*Içºag,cÏû(³›ÏX(Ø€…?XÁËåžÓ½~QÂPgÜi‰ÿ}†ÁJ®$™zºª¦ù½ÓÇ»æi""ž,õðÆehOÝK†ˆ€d޹ôæ:¦Wœ¾Ê’¡ ¦µ2ª±FŽ ¯]¦ßÞ}CµÎ_CoM?t5òpûšÑ8Z±}BdP§6–EŒ [è'WÀÙ¼RŸ›ÓêŬv‘PÞùàðV¡©ÏØŠE¡ø£ä«–¯#mAC —öø?8|„[t;)0,â“ cð‘J/oA |0 ËУÄÖª6¦@D‹ÎŽü5Ú¹Ê:TJÿS+>N°µB€ÑêK Nk6˘†F û¶D¿pÌkOç”Êñá`¦0ÒÕkaepj%"AüÊîPaj‰2ö¦Ò_˜Õs(‹þÐîYæi> i¤÷™oLrï;½Oºé–K°[ô÷Ûes‚«Ç#û1¸× îªKœ•áÉBóO(9öÇ<‚7³_7F¹:.´kEdd¸œ¡Ã_𫥄§Ñ-u˜$ŒÄ‹¸JÁ—¬­õ=-g–BÅbY¿éÜ!¿0$Z?OT&ü«÷Þɘˆ“h‘Ç•^‰TœpÖH6g»uÆvÝöjTwpûU£5{«~¤Ûð½ ™¯!f%ÑÅs»8U33Êm^ 2äŽ"Þpîâ¶|RwÛ¸¨YqwŒ€ À'÷Ô„ÔŒ™·>êâ`Múö~Ó[€I®œEË“µVhgÒÌÏp™Aeu cˆ¡#àÆFc<+µ¦ÚÌ\ƒË[ýÆ÷J=ø‹ëÅGß?lÙßq:}‰-†9.0J1Ût¶ÒŠì*™²Žê½«}zÐæü%’“‘n†Q3}n4±¼)Söû2_æóÅÕ•Ü?ŒK^š˜p?€ÿ#ö@Ùv²Å>aŽ Ò®óº—xéýM¼ýeýÚñWÝŠÝá|TÃÓsNß1³Õ]¤d½•]вì¬ZÐGâš¿Ÿ…J©¨‚Ðý•Žƒ¨Ñeˆ¾ùÉÔŽŠÐº"LJ–+;:ÌÍV×ó Cà“úb]…óª$ð GH£.¯g?¶ÎÜz‡@(Äoµ>áAs’u£o*ŒKç kźn¹?¸a¡<|(HVr‰ÎܺƒÉ¶ƒ¸åI3ÿ]+ Í)“_yßÚ,ì2øj½iþWü–Cê' š¥!ƒGÂòëãô ξ­ŸS:¹ö½Ìæœ>úÏ Á*"™¼¹í¨+ë8øü‚RÇÊ;ËÉQõÓÓá”L ãþîvAHÇáÀ÷*ˆÍ°»^þ“ Ëµg=@‹ë¨o+Nb°SiTj¦`vR?«¦Hásh–Ûìšá:a~—ÒòL§òL1¶*>ºæ¾¢¿ý…°öü§‰ÓË×ö ™ èZ‘‚X’CÃüã*$ ©“Sfåæˆ»#¶Ò¼?9Û}Õ³',Üí ïq¾_^††à–¼Åä<}(„¬)¦wFœ¤ªa¹†u´k àMª$˜…*Aèá|¨%˜c—×Ç,ö#7áÝ­…<ª±Úó%¹5=,uèæõ¸%R;.ä®'ŽèùEi™ÕµE#¡[â¨bF48à úNƒIØÒÕß–»ã_%ÐÁ[`ŠŸ|ûv`'ø$Îqìµ´Ðc$l‰BJÖ¢¹Âññ•ב‡f¯‘­±ÕW‡?qwí`6f¯3‡žfØÈ@Cµ®Oì]æµ—Ø?.=êYêžã<\Fg™ŒPÚví´ŸÆ/Zm%o*oÁì;½‘`dÞVý†(دúÉÓ5ã»C¹Ï¨ „K-çÝêì@IÕáÈëcj“YšDtlk›Hæ¥ðúy¯Ìº®Îå UàþOv*ºÅ¾‘„¾Ž& Å_}'Î[K°‚Âí󃶃‰콪Ûk§ƪ• §‚!@_£nQÀéÚ½«¬LÖ}1š£3Gñ„ÉÖL¥ÚD¸Íèçìˆzæ|¼ú¤þUlˆA«²*mëÊ•ògûڜ戫lÅ) …¾nê,9¯ëo3±Âg1#fÅ$:¨ã9Ôá;„ÁwW²æ?y¼R¬žôæ¸[~‹*¨. 8§.Ξ] ê¶ãŒeÉù•¤ì†Úè¾X/ìÆ oÒl6ÔŸÏ‚Æ=(¶þ"{Lk"§åð|Ÿ€·ìE[1€×$Æ”EèÑO€ÌÙz1ÔÒ/´lEòtù!4 \øVÌ89àYŸM%ÚØçPÉ3#‚a(éhz°{m~Ûág˜@kj°÷í(û-æˆz¹ ÀRxpÐÁ L;Ç_ê™ð‘ŠÒLý9׆¼Dsn«Ž\½’]a#Û‹qóH.ƒße˜[‚_#X×ìØëM¯$ ‡G£q1sºeO߸‡ËtÚ)}Œ©Cí—Ï7 ú££2>vA?n±E§e£àZ¦Ö2($yÇÚ*rð2»½Ðgy~÷£ó§ø¬o!UÏKJ»ÌœwËLH«)¬@õWý±å4<‡¼ðÀ…ËTùÌÁñÌ…­Y²}OþìCFýÈ‚¨Î±2@{”ñÛ£K豫Êø’Éëš…L²ªÄÑôŽPLå•vkÓO)yr^«àq+dôXºÜ‡"}mð «»u1…׊û -¿ïZª~—ÜÔkÖÞþºÑ]>C ojV€vv.¡ýû«2/.©Õ,Yðj¶ç(šŸP M)?q= ãjîÐg°=Áêµøœ˜ãG¥j°•b`B0~Ò:.õîkšYîäŠÄno†+Æ#HhSju‘]Ú7·¥å{Ñ6!MV³èí‘r5EÂqæM#&ËLRn|á_)À8³ãäúͼÿï3¦*¬±÷ç6žPn‡ÀöJíùóhkYay8?—tTY+'nRŸžÛt+}y‘1)®ù‹Àé÷Lä—1Ï`“½³ÊÕ«j$ùòi¦^JWóÉÔ©uá"ÀP*d@˜‹œÜ0T ¹6—c,Gnõ¸ïóÄ?œg|çÜÑOëÐñ[‹íÔ®×È,¨ŽßJÍÉôÛVH‰ÇT=Ê|ô=ÒZ4ÔK¯;½Ñ(l;gž]uwÙ·GÓ`ÿ ²Vq¤®Î–û¬, «§24ŠZ%Xv pV”†6„‡¨åØÍ¥ï'çÇ1IÓµ«ôdú(*k.dÙ)W&ÙÄ|“Ã;>ÇqÊŠ§¯y²¬h|¶©ioïŒ~cíԭ溕Â1²]Gi·¨#äµfŦSŸv3«q—øO÷5?½¢£$QA™or‘Ͻ΋C$„ײh;Ðý^§«fOu{(úÒ/hAk*bê:w´‰qE¾í1÷ü©é¡7¹à×ÿsz—ÀÐ5Yè “u{:ë0¤kC.>˜ÿFÚýôÈê5W·)4Çä™înPj_QXyõÍŸ‰”*==‚¹cùz<Œ5ZX¤…í[†ÿ\Yè`•!SÒAB>Øt:‚[ ޾ú;³²W6r–F¿òØwýGKd|(¦ó¢sÍŒøþ]k~”àö ®³•±²Þóñ±nÐdìû±†0`2+~oµ·åU¯è½Y3fïNã¢Ùòòá©B!³1¬—¾Ï/ªŠã|õ–Þ ×~SU샺¡ØØŒp‘ö!=ò~ú†îYµJBãœ$ÂqM#p$i%/¿mAŠê²‚Yçä‡k,$†Sr>ݳEå)¯¬þËažjØx&ü t;(¼Å Åš Y¶£„ Û>>‡& ¥þQô©ý&WÑÒ¹ã²2ŽýùïS \¹›X£ q*€Ž"‹6WM5þwŒ’ÃňòpÛÍøYÄÜxÇhéÁ‰Ñ÷Âãšœ`¡²C’T”tó¡)²‚1¢-Óê9÷¸£•§,~ôþÁô 㸊 íW^q^L²ÎÃA•¾c%G¤?-˰tꦤï:ß1ÃB’¸ú9mk 0`Çß{xk³_æfË¿5Dfzæ)ó2‚sY]FÁÙׄbËsð¯~;¥+/2Mb̼bHâ%iKzüï´~òE 2òD 0Y ŽŒ?òêÝž½cBÿ–65gzV9õxð¶|D¢@»Ð¬œ±³-bøY ]›ènxnž‹ã)}#œ¹*V³þ²÷·?H®a"=‘DõS°8ê ŒùàÐWKšÌ%á­QOÞ…=#©òu<#ó”ÿ]¤û`jä%÷‹×«‡«ž*†¥]9Ò64¬5&„ŸÁfm€öí‰M¯Ê7§æÈ·¤Åã'³WˆÏ0ê©Oh‹¯T(¾Ã·jÖKéx§É¦u(Ž. 2jwÄBô_Líùð[g‡yágëì/jß‹H ë3˜)—¤ÌÍP˜k•B£Z,:®™’âÞ]vìÛäÓºq˜t÷•¿ÆŒÉ&€‡6¤ÚÛ b©óÃ@~@ˆy&ŠÏÎ8ûï,lR)=Œø£ùK²œq54eâ'½Xí¹ }ã¾ü“ Û‡‰d€¬3PÏÈ×a~m± è„R¬á©[HxW…‰¶v,|‹äÞ·¿×7„zh_‘/± KnF§ÈAû4è«?¾·s™[ô9«áá1‹sì PÃq¨’ “ÙA†Hµç<½8sŽrÞ3eÖcíûá¨TòºryªÍè©tÞiMÚajà¬iŨ÷ tîòV±ß.yZ+M‹û†'PD‰Ç«*Ú ÷Ë›ùš{†à÷!¡K›„" Èqg2X9FY’xAþœº ¦ÛŽ ÆßW‘š\å2îŽÞ)±òAdï„Ú°Ë4ü)°ïæÀcæ8Ÿ{¢7]{öɱ¢¡ÅÌM@€ºäªÖÁyPNi„…‡Š»ÕSWNRÛ©"‰I¨]û Ù6×£pñ~ºÆ¦AÔT°‰êoÿDúPF@œÛCX¹ˆˆRxŒRÄ–DÂ´Š¥b¤R@$‡˜£×L£SR"!µ¼xdlcë°÷ŽnHG£ß,žìä0IDI& À4W¾¯³Ü°æ[â},…õ7ëþ–c¹³Y†Î'J‚ïù‹®€«á€t ᢷôe -ÌC$]½¡ëQËdô:ßöSK}h°µæ´¼„6¤í´ŸÂ?p¯ÉçÊfÌ/È£)­@Ãn~á-M7ëB=ÞK¾üŠá¢9¥íOsê’„u¨×Ç%î]Š¡½SÿåÈ’YVœx€ <iÕl­uÜ¢¬ì|´Eë'µ6–!ëôz+Agbª[ˆ×ñ°aæòtžRöE 1ÕC§Õ€”º.$®Huš3bMÊ7ýäÉ ¨>-YêxÍM~W7ñþk ½È>%ÆÞßjMª€äIÑZax… óY~, •z°¹ß+[à/Aâi5޾¦´Ùƒ„,d² ’JÔL+蜴-#Ñ7€Ø-âÎ[ûu:=rjÂEá5H2³‡ÈùÚ×÷gQà¢6%ü¡ÙXÌÜ€°°ö‰…1ßxò¶†"mTáØ ·f=%£ç ɲ‡ðæS¦NI bVò_FJçí)oGå<æäµfôýé z)CjRPžjŒ gý¨)j89 O_w?Þ‰qmÕ›FIR曌‡Z}®E\r©µ«%’éÔÿÝúÍ7Z=¾¢ª.‰aøûJvz»Ÿuñžéd¼ø-¼$iÇþ«ñ<;‚¿UÐ¥«øRÉ‘+²o-Íñ2ªáè·…‘ð;¤2Í/® Âòc g¦S#P<+[.¿SîU(㪜Òë34%BÔÍŒ@aÀ Ž…(… M9oôSi®ìÍd§Pmê…[f³5^  žj¬'¥n5fÃÑ„Ž†‡»tׯžØDu6´"'¡›5ºr'#Õš²–ßAðGžhˆ <ÌÝóØd£“Þå?#PbQ¶NÌ’;à?ï‡1­®Gþ6P¡³ðL÷Þ”ßÆ³ì¤éXwÖ ÎN*mI޵ÄÝ%šØão‹Ýùás¨*ì±7nù’¦aÖ™?)›Êî?°h‰CÝðWoÈ=Ìf%Ú3 ;ùË6^Gon\™Ùå^­8® ½¡dšvŠ éè‚ý—È‚‡,<鄸¶•´XDZø ÿ]d+1¶ô‚NOèËòèï OØ7ùÇ5˜Òõg¶W-¸±ñË¢é‹yÃvià•Üô®uX#£º’–­úÕ‚”úi6€¹ðú%<ãoÚ›Lò†ÞäIßä· ýP§¡ñ_Ñ‹>$\ rä{et×é±™ò½ýÚÙt.×°cªÄë=HF<}Ë“ëÀºo9=™C6<Ñ4*à±áXk¤KªÃ¥©Ëáµt4EF‹ü9ýL'w’YîŽ)3vs€ÁM=U¯i•)yÉØ`ò¡¡gÃþ·¥)šMÑéýáx·¸ÃVÏsH×drÁÑiþ9Q£PG4Y^“ ]>×r b&¤Ð Ú3ù(8ø}j€R oÁí=Ó´t¿|ï´r–Æ@g©f$}…F¦àˆÙµž„1EÉiBÄ·G€ôMH çŒ7[úgŸ· eLf¢ßZM£‰I§PK¢Z4C’gkü’Ø)xá)a‚'ÿߌµP,sLÃ)Àfö>™7ÌCö0(/n@…Æ*fmúš8ó#{M–÷–åâòú¦eìcŠÁ»Ò2yaZ{Š@ä'¥H2‡pU‹‘ õÍû/võŸ®imIRkÁÏ’÷ÛÜ®™"´?‰çÃvªëï[|^ÙôùÄôË:0 ·<ÎðË=êÂØrcî"á2×Ê7Ý1íˆÀ•UDwÁ€®ÝÓŸ¤×»©ý·ìr“±vÖÝi àÎP| ©±©o&ÿ ³šNŽïe̦_;WA¨®ÑI/*I›(Z5w˜¿Êª¡Tˆr½P•B*Çü|eh Ã~ðZ¡!Š÷ h„.ÓÝûµ!DÝEåü„«wŒ /z²[·;ÙÁ=´úA–忎¸ò,ìˆ,ÌÓ ‰)›ºÊ£6¹+’ €W®ùú#NL)‡<ÐOW?HŽmAï`ÀËõ GV*ÎéA®¥fq•o%ÖÄK‹²jqrc—w3¹‚ ùWƒ à~lw_ ™ß½ß÷’x[šƒD¹µoLPqYŠiº°¸‚ª)yárl…ÎÿFò䨾¨Dþ«†V‚Ï+ã2…Šœè§ €I妋Áfi =êhit†“ ŒËÙIB¼˜§²­p¶î`8‡Ž^¾q,¶ô'Æ…üßS|ía4’¢É\¥‚»\“„®uÁ¿pà ,ÔXaȰÞG£#L;á_:ÁøqÄ5ý )½‚à _Ôºa0J¶t±•mØÔffZm–žbÒšK2Ž= ý`ˆ]ÉKj¾2¼Ã9x¡ªÈÇèª>%þéUœˆ$\xlëTNMnª–¬ÿÞ·ºÖ›÷ë~_í‡3`6­À—cÀŠáYmtÖßÓGˆg»„^ýÇ©­oǃIáÓâ¾p±Þd 5¬åÌ8£ÁAYŒM.GÅÎml­ku]Xuº˜Ãœõìû7˜ôMõðÞxj¾1Áo;n ]yå°MÏÅMDßóÒQc òOV)ƒ¿çuzf)àoórbã×øý8¬l}ÄaµãÍÑŸE5Ô X¾äó¾¶ý;ÙjÐ\û2ÁõÍèM,c\‰óÛr}zqâ*t‹0;"\­¾…7ÙuÖôÉIûh`#@Àu¿9dÙÚO³¤oU¥x|’œÇq†ðV’"]ç–M®qá¯ìq¹ÿ©Kªácj–(ƒö”0Ö=¨Žè¯Ã»Õ“[Úú°ãs8+àEqÁ8Õ"<€ø úÊͦ%Íýþ,³tìG$'VþL°fØLà§T—læ%dj"^û"³@zVƒýYµ>9TDqÒ3wo솮Ì'¡2!×ëú1¶ãp2hÍ‚Dð?ñUŸ¦C²´zðšPŠð'%¸Ed¯#Í¡&6®ÊП¤Ž(¼§Ôû43¨÷Ø ƒ@C$³ÐLKmõ  ³@{ebÖÿg¿.îà¶éX”°_m7Âæa‰¼Kþ½ÜyX„µâÕqkUQ˜a0Ógµ5õéÛlp¯{å$QÉÓ¦wmHü_ú’jùÚµÅnV°÷öê|GÅû?]?ÏÞÁØVŸØm̸ªCÚ`öÇ›q„|J†=Ý>N&R€@pIi €¬ªZ&:Žus±¶©\*à©rÕ´'1Ä¿qmXãõzŒûë¨ ,î/¾VÁ!–7…<]É‹Wç@ø^0p‹k\vzÊ9“‹°i)ô͸'()29)³ ÀªZþK³7i3Ócÿý/3 À¼$k ð>á e6XÐðzË çh  ñ>EÚMÉ An¨}¾û3“ò+x€u‘£d-â  ž[¾E6|ÊÞ­z*p´†‡ÇD´ ¸2ô,ýšß[ІTŽokz«ÝåÚáUÍ=q‡j䜥œ662´ýg­rCésÕ7­x¶1kY…»(f4TÚIÕÞËëѱhPÁñ;Cû3‡Jçx95˜DÃÒgªé)K«‘jm–`àøê œ.6ŠG[–®/–à{x]åEÖ7£D§¹„ê4‚HB9„-QóÅ’_Óû>•±¾Ñò€WfNZ„Ò[ ´«žBé«“¢‹Á€h¡DJ§‚ß©D ¯cðqÀvÊÈ¡¤‘¥iZ­Ï2w»)l‘=0C‡ýDŽ$6ã Øì÷x±V¦×Híž |ÜRx¢›”5Ù0‰?ØòI;°ý•ËÍM¤ƒbñ<À¼Þ݇¯QG <޳”&)he€1K%Åܯ þu4KBâF¡`3züe*¯J^aÈC?!៌+×ÅÓ;žðò`öµõ „³ûÒæð@þ‰Ÿô”M)X§Ÿ(«;¶¦)±š£ÉC[IÐ:÷÷éq÷EyaýçøÁ¡oEK;Žï’žÉÔbÄщB€ ‰ˆO8 7«KhQUÀ™ “UÀ%Î@™L‰¼þ×¼0WNô–•@—¬—ã,(p#žb,Õ­’>¢û\†zÓpeÏ_ìéÓ>’G…š9¤ þ~v¨‡„0÷¥L^‘ßÛgéW]sÏÐÚ* ßñ5ð­HÔO0Æ‹´ñÄc/`^|­C°Àõq)Ë¢ÓÐxs¡æ‘nÃ-n2PFØV½nÉ2 0yìv,ÃEJº£Á fAâØ'¤ é úŸ[? ÀJ+ø˜¯È•¦ mvg”á €àX–öýd¯j¡#ÒÖWѨÌl“PÏ/E"›ñ)ƒv´vo¯øqÊ{H›à5_ìöý¾æïü¹ø.D+.²}tbÕ1ϼ~0UüÚ#²!™R†Ô[ˆŸ*Jl&~%êó –(1^¯8T/k £fF²;]U'¶°­6ÕÃt€·£" Æ_xéy¹NÆi¸ µ¶ÈdÈz ¢(ÞQÆŠ ÎÂ<Ö‹0‡ aþ-Ø„<©ø>_äªåóˆ÷=kN¥ @´ÙƒxD9ú^Ï÷6CdEýUîúá.Îw<Œfoð’ô\ibiž69ôÏ }Í;?<²sèä PCNtàjT(;!w«‡T£¸™2¶n¦èØÜñH»:Éeò†F^î}Ð&÷—«™Xbê$@‘çò~Œ+1UÄ” 4‹Ë£Ýîì-KOÓ÷Ɉ,_­f?¸Á¹–%M?¶€nº¯;¯-æEM«,]3¿Pk* žªaûå­`OJl™›¡Óš%¿wû7… Ú*­Î^ÊÉ^÷¢ÓkwtäVZ¦ø?øFîÂ$O7o§AAA[x‚"¼£TÛäÅX9t¶{aô oŠ| 9žMº”Tô2jomÚWuW)um©Öè2é?8ŠnàJ®ØùI¸õa´:~ý¤ŸÂÂýg ø¯èO\ýë«ê˜`fOmU%ùú­ _-5RÚSñ®BãªÖ=z’:óÁ<%‚¦ a(ot[ôY_®"QºUñ§¡ÿb‰ÍRkÕx€€/áŽuÅŽî¯TÐT¸1.®,ý°ë‡¤n­ÈÓ;ÖÝ:Λªà‘3¹h¸Ô« x’Ý^ú Ž>òâ¼ýÂY*Õp<`í&>Ièw“Âý¯“ަ¬Žò—•­+¦ÔNÒ\Í •QðéÉšÙþ–öì »ÖF\›ñN¥ã”2Ñ,åç5sn= qz¿™)è2.Š%½²Ž¢£}šx_C@v/á ­Mk¤‡YØæøÈÇ‹ÛéÖë;áD¯eü¡N ËÃ\ªÊ—Î þ]WM{â*Û†ù8Ñ”&’€hh£Z+®k™Å¨K2qAD+g³Ý•_ލšØèh9ü¶Ëÿƒ×žÒ~ÖÛÆ_‡)uþc/Î q=R9Õ3˜zsOXÅ·q ÙÀ÷sûÀåñ˜ -ÂÇÙñ%(Œ=í]½‰›H]QñÈ^%ª_‰0bh]æ7²À] ~Ø 6½ú¡ºx5ñµ¡Ëþ¤i«>틾!Ød ®ãû#¥$C5%{™þÃÕT’CöMò±øædóš3•[ÀNØÕ\IY ò8öQ£'B(BÝ âðÈŽÓ4æ‰ì~u4DZ•„Œ!NÇwm?1~^'0E8úw­CÇ·ZòGÇàÁB‰¼KͽÕá±ûZ4BYÜﻊ®5VÃÜÒ°š3-Â'ð×WºS“B1cÂÚÚfåëOiATülyÌ´ƒÁv} Ü£Ã"¬ñ?‰Uµl÷—õNÝíâ-üç~Ž3 Â@}Yî»_¼²WSáiȲSï:-À“Ó­¬†‹ßG™=ƒ™–h——ÆÑXV²Ã÷ÊæÊ)ñ)«Ší¤B~Eˆn“¤óH3[9 òˆýò(_Û‰-‚ÉŸA„ÍFê“sî£lÈÑm¹ºàÛ1©Ÿ~êÇž—Ñ- ³wxÂë'37™¡“»OI%Ì@®Hzí ÜSƒ÷b°ýì—n8?÷Õc#’HUΰy5½TôñÂÿÓjèh>åù+>‚fzµ¸:‚=_kÑ“­\ªü”¯ÚÒΨu4¾EDi*ÕsÅ5Ô0§Êbó©"D!¥ö+®“%hrÀ“ÔuÕC]=­'Fo‡š½³Çžu ûìU¶ÔÉ~»2"À½ëíÊ÷;,ˈ1.°" šÚ7Âè·63þˆqQ³É».¸¿z«¿G,—Áy£™©ÿ[Ê«‚3£.ùáÛ£q,¥äŒÕë¦|Lðoþ%{g–h2‡ò¸Õ³n/ÞlZ´Âî‚Ûã4~’¬KˆôÛEÿmFü¢a•Dî}GÄÈIœ½t]Î,õ3iÇ:ôŸü’Ýê²3ü4ë²b3£3¿Ýõè+ÊÚÑ÷±dsAÚ5 Ó‹^iœ’­†âV¯ш†2s?ùtèÛ;Äd£YvÄÂXűyF[´áxöYÛ+ý!_pÇâ[™Ð2)‰ì†aÛ 3ƺþ%9Úù² —‰h³ÿÍXëå²j2‘}eg´[x)Å”6‰1úãÔ§˜Y!ŠLŒvL‹3ò½:yY¤3¾ÐA%êˆJ+°€¼,Õ¿V~È'L?ŠÁ«¢4 ÉªUk¸Xê R <%ùU¥ ÄÕ8{y žDÀ'Íðm­aR9ÔÆ“÷T¤—,ÉË!”ð{nô†°Ù>uÇ׌;&¡2¿GÁ‡¤ù…è˜M£«ÚBG–‚¾Âø_;‹vV‰1Ý¥ö 2’ãÕº„;U•Íé¡—kÓ‚„ùº– AóBY½ÜÚËG¯‡«Ef}G™6$9Œ$ÜÆ4¤‡,v’Çë[Ê¿ýž!ˆ7ðyáx21˜x/?64loYÌæ@´`|L’¡Á‡Qã8wøý÷Ñ” •Ö¤6 /+dÙÔéqÈ\…Öin¹¯ÓC³Ï„,’>×{mߊë‘0±ÊNx8L<Þýã»ûúº¯Ó]ueζTòÅw´xÅ©A¢¦„.JOwbŒUÍÖf>ÑQÎG’kÃ#Ê«ùµßÍÎ0’zr´¾éf4àÈ(ή)|ù…m³…§ï;s|KêÃZm<К–j¡Äov±#îa-=–£~ ëe®b}Ó3B¨Iî$¨¤‚‹@í2 Q‚펚¦`Þ’í?ýNÂÂÂÂÐb¼çýf[YÊ%»jo|-qôM_ø6ÏéxÍþŠž¢>.ÿרŽ%l5úV¥—€ëHø׬ñÐÿ ?sEÿ< äé\çÂv€m.¢»C>#Í.Ø·cxª»Và@åF0hÈðË Æ»¹­E»n°ØïSŒ¶8*òÓ>øšb18ZÖÎiY°b"0ÕU KÎT\Z›_¢ Ù#ŒYB¹*JÉühèÃŦÑpdõ˜×æ»Ê' ø/Æø<Ù Ÿñ4`ÁHI—/½—å©°XÁ‰E±v¢V×$(^“«¥$bAóS°uPî¥× ¤ü£Y‘W¦í f«AÛ𠩤(ÙI‚: çA“´fX»Ó+ ¿wŠ5ÂŒ–ñ“ŠÝKbQø>Ãÿ–KZ¾9Uµ1NåFå:¥6u¨Ä¡´¡Yál‚Z°®á›¹jí¹ô1£©Ôíu£TzÆ”£Ø{›Õ{cB]mËc¹œC¨ÜQKR` ŽEÖG˜}¬2æ"þõ¼Òþ—¤AnÌTä‰K-x÷BÀé¼_ö_g~>œ‹ÝÓêŽ`ÜÚJqˆ×ÑìĆ iÞ!‹n†ÊªÝ»¥`©Ú)/CwnLv¬%H„¸î¬%T¥>"cme18„mf ýºÎóçW8óЊCE¿#É0ùܦ¶=‘J‹³ ë“]4NMΦâðk*£ø;ÂßÇÄž 3ní<‘§]tÛ$ï¿¡5·U0|«ŠD4¯jÐGѳv²PdÇTwpFEG•õzRß®2âŸÇ»ï(•S0=>yç½'Î~6á‹_3bÔ\Y·%)ü?² ØmIßÀ6ĺ://@½%Øfá×÷/»]粫O‘÷=LÚk÷ CTót[qí Û,X÷£ ™C”‹ùº¥Y°e¿Ðªý1~뮊лúÃ…ëÝÛÐós5kp6¨2ǰ°fpMûœXs±IuM_§9–ë½zþ-@r;s"Xç9MRdе:nqr Іt÷Ãxà%:Í©?¤´0Íå+ÔÕ#t† wØ–dQm³^IÕ•G±”"Ó H ÉëY>¿×„Š\îŽ\|úÜbbÛb²{·E¾n©š¹n¹dg©žÏ.‡¨ÞÂ- ù ×Z8Q™•ÊEþ C›sÏÄßã}†–F([ç06GÚ’ñÔ¬Á»îÏ ­V|" ÷Μ‹ÌÊá³qæìû#«ùe#Ð䋦õª•—tKw—„*Ê÷;·I¬ðbZZÜW‘‘*8M©ä¤VýUZ û &”.ÒÚ‘Eff6¥œþ:¨6å`š‘øÜöÕ¼d ”èLñÊèÈãÓƒ;zö)Itì)$!V3#£oý]T£]6Ä1ßf8é‡Öé?ò}t÷^š<¼d˜,³Â°é)@þ×ÈÓ³äŸûH5Ý“Il þ&øóÆ0_¥Ðò¶›îTd¬öÔºR-9vðä`*ç©ðƒlCèc³!ÊÌ€Ü}†“+/« SЏ:úñá#uš=ÖØL©+F¡¿ ¿ƒBÒ±.Ç£Ñ[ýÚÓq/ÞÙÊÚ. ­mûÔÓKp±ûálAVAÆ¡¢4ìÁU…tXs0mÂea84´\U(OÃ3¾yÏ„’Àò%)ÝAÎC–‹+ßië…sŽ¥»y¹ˆ¾ßž†¦úÐ0ˆÝŠeh‚Ïë/5ë¬Å ö —༞õ9»WÀU_¼ÁÈ÷,ê!ŠÊìù’_«v ‘=˜åñÜðª™@"îÒûj÷„-Ôxë0GÜEj4‹ÖR¾e€ŠS‘¤ÓYû7dާ_6žLø‹O/4Á­FS{¡²¶d¼f²EÎ £ÈÀÏadMÈS:ÐEënss p"K¿…œlµª"M¾ö:T“*`Ъ„¥dÊZ>•÷›1fq.)wbâ’ž7ùmìˆóa›ùP’ Ĺh‰f‡NÌýP2C"åV‡Òõˬòê>gÿ ¿X/vØ1¸Š 6ötô:õ¬XvÉAZ¦ø/‹WdàˉTšÃ½‡²ìèh!šMÐ;ÀÀ$¬Ê{xEž3šËçÜÁ_T¬7NØóÿ+!ÝžÍ s^:Q~¶lU¥¶M£Pí™±PÖ3È*Ê‘Äd¦QëIM¾É¦9ä2qÀ#…Á>ÔÕþSëo'ÿ èëý ýÛ ãÊV@ÆHašnÌè‹Wå׳d1VëîtÌW‹‰Iµöhð#qß%$Íë *!÷¼(ëñŠÑMÈ\<™Ì~Ý~åïyk4åVʉ²Ô6=ˆçMÊN3ˆ®¨¨ ˆJ•=K‚·lfš»âXjUÑ>¸ ’_´6ú¹I`ïgãa{zÿüÄO™áÀrZÃT‘ǽÆv%ËmIsúìin‹j¨ŽôÊžåþDö¹FÑ]|7™.9“nÔm#×ú]û¸Ø© \ì„ÈnŸ¥JÒÿéÇ—Ý{ýJÓf%9$_rÇ(»ôgœpâ ‘»$5÷ÿ!,†Ï¤õ_3ýΚ¹Ï ìÏ-;Ì#Átš- ÔöbÂ«Ú•Ï 7ã÷Ñ@/‘Yˆ¯â¬#–ãÐâè+†u%Φ1Ï™íÓ4â¹eú«ÉШ¿Ý¦Z1ŠÈ+4¹””󴱚 䨢1ë~¦Úؽ֢‹Bêt¿3’½çêØ É$H»h'4¸×ãSu]¤@ù7ðüHÅe3:(>-c×?, ä«€›é£ÜX›î£©WeÃÏÉ­;µa„cѰ»jÓz;7EOåþéLkÒx îG~:5(¼ü(B媇bGS!&JEnöi¼Àà»æÄ•é¿ôDM"µøÝ!#¡À(3Iýa†VuÖey¥éÎj{™áBhTS"«Ñc/’Š_:âåfsè`eN=@YšÉ žb¾Á_³Ž`ÊV |ƒ²ñŒ,“Öæ½õ¸ù$2í‡$&»;ýrÁYTUŠo@}Âþ>":޲êÄÔ €0ï8LžÅ+Š™„þ¥x æ¦Cþ¡&I¼7ß4ÓÏb$Þ(_à­éš)ºdÆ=ÆKuù#YÅQKμŽJn¤ÑY  2êo|p#…1iäîdÝG)ýÔóÐÆ ̰e ˜–F`3G¨1æ,*K¢6Ш¿%ÌΗrE˜éx¸ùŸ>¹òv‘‰ý±®ý »Ì'í´ú7Éjÿ¸àñOÈ3Ù[ÝB‡¨œ.>ƒ\+µ?œ2ª ¤ü]ô¨œî SÒ;½ÊvÙs 9ªÎÙF9$[ùa ˜Âš5MиÇiVZ‹œXÊ\ÙZ“!¤`û:ˆWiôeAåi;’ûfQ0ÿÐ3ÈÒÙ]A¼ã^2ú„ÅKpø;% ò@3D‘ìhU¬¡÷üÉ-¬afu“ÄÓJ—1Ÿw^¡NW CòUÅÂÜ*ÛÄô ÎüV7b#‰ä%H‰‹ìÛü¤v°´ˆ~ìÜ£¢Ÿ”$¨ƒWÌ… Ž5Aîö؇[!°T8£><±È $ Õb8Br+Ä뎭CÛkbzž.»…`oÚÉÇ÷ƒäÁÀ£¹“Å[}¿›ˆ6ž Ñ˵ðµÞ¦‡Úµ$hˆª8ç( ‚Ð:B Y’˜ã¡iýQ¿Õ8æ4àÀ¶³6+™ƒºì¯/°¸äæf>¢¹/Šÿ¾ð-%´ ©Wû~¤mJ*ª­J%%[ ÓŽØÑ“·A줂½˜Ò×Rëÿ6ýT5%Òòª(Vé<£ûJ¦æ+»·– ¯¢?§T 쵄֛gæÈ¼hÚ1Û}¯m1»¢sÃ;®K§ ÉîY † ’IÄ'fèišWT‚” ¤iäÕÒ@Ë`‘À\‘اÂQå©«i\»ÍçÓN¤²Nkoéò!]Rÿë²y©#`I.íã6zDø›Ï¡ÚB‹Ìi“Ë­½J÷ b)•’戕‰‘¨ÅÔ¿æß“|«±êÁgÅ~XÐÚ^WúÁŸ ,†A: …ÅôêS1h~@…æÚlUÚM>^PôOI÷dUÿö>”ÍjÅX¨— P^óž:Îíº¶‚.=<úZ:pl’z×Ö[œTú\JÞ͘8oŸn„ï2I-Ãnö^Ö¡¾!'O—;®Ü‹e¬N!t±sê¦Vç.ù£ ¬|艑:þôL¼É AzyÕÄ€¾*ÆôfcȬÈ9™€®~G7ß)Ų`(ØbA˜¯ûŽÛiö%K­uç|¸4Z“?1…MÉ„[¶#mQ™|ËLˇs e†þÈ'ó\¯<¯]=Ø •æ®Ð[,©E¼±)‰O×¾O—3«‰ô³5¶“½uõåM=—êâ–Ì4|À ^J¢ÊŸ¾ûfްŒÁ}.L±ÙQ¹ Ë·sÒ)M)ÚφcO’n!=^¦ êý±¿É‹ZÝŠg93{—´k'ÿòAÜèjqêŠb^̪àÁ¦„™JÔšèYÙ¦oµ88hÒɳ¿ ÈA"ërú6µcäÏrÕS˜`Ìo3ÅK’-%žbV»ÛyÊbxØy´r|Ï•ëÛmmRÞÅ¿‹ÇÌ'=<‡&)?ý"#wûn¢!æ{öëšabwðæETZf¿˜›ú«a÷vR>v±S7þ£… :U‰µlÈ ½Ð¤¬ïõÅå þJ gØÏoKïÂ…ÂerFùí¶:.£¥¥°q¼ÔÙϪIiñ’šÕúQßš;ù””´²˜“–Âüù2’½¯qÌ#qDíΑûíÈ}|å5Oeqí7Ȥüöæ­5ý¦àD}j§ó‹Êhñt›ÂÛ…·Î4w ­ídÆqíö”àâÔý?Ü—3žâõ^5ù¼±.Ä×bÆlî<À“fí;¼R‘“t¿’þ›F~™o®î¨^r—ÊE`L ÁÕŠUBádç…1FÓ¶íÙ Ðx††òò%òy–´?Iÿç7°9Lea<Ö›q:¢ø§ý„ÎÅʽOÄ9¹JØò£BEZ»µ,Òòñ†J'5B"šôcÈ(Ø“âC:T½Ô†gäµ÷u¨—µsÞæ~ «³ßDE(‘µ¹È6Z1•IŽÖùû*5û9bQ>XÄ϶ªBí-âÝPµN ­S>dþ9ï«w[,„üV+šíL¶G–¢·•ˆú›—ˆ:0fçàÖÖ¦ÚŸÞ*¼e…qßYÔ%óÊX¼«:aõL†µåsºåmúKó³$óò!|w"õÄùku¥‘ð~JÄêÉÖŠ-±„]7+  Rm£A?ýV)6Í´²7íFblOói_>f%ϼÓÞ‹K»Öbǽ•Jøj½”¡GÚ¾!þòJ¨OMÍõ4ªT@íÆèÐ8Iž(ð†jò±˜÷¢ÏÁì–¬m=ïÍwg¸µd†’ò{ÞôèKÔë³×â×H Z¹FG%š‡!XÒräavIà"ùapÂr8‘-Wô™`Žå^vDË%‰9î^k3-e™“23¸¡5<âxÀ Άӷò×XóÊy¦ZÒ1µ¢v“\ò?w[c¨UóvPÕmkWÂeÑu ÝÖÚòÀõÍŽ`s¾ Ï~›8~JT»o?Š ¦™†ô_hÕÕJxéÁ€«!ùJZP@°jT\å^ÿ¨²öИ5Ö•­` ¯1óÌ1)Þ ÈÙk®4/¸X}KÁâ9ð´0ÞžÖ‰¿£PNn¨õ³gŸ3$Óàdf¥ÂÎW,<$zØ/S& ûI÷ÎlÛDB_IÿuÈ¢{çuñg;ÞÈ<+ËTBŽ*úì¾âtk0ëþy.æ„eøîÄøâúNŠPXø gõïdžÃ;»Egös´ïq8àrjßf‚0¹>§Ç;ÆÚ‹v캵Ï<âä»|»ÞI‹û:ŒP§ÎK¯RLj˜ˆPùÚÐm'Ë|r+ÞØ~Ÿ3NJ_ƒÏ¿•#ä°QÕ" Aò!S_z˜¿}nM¢ÎD§Ñ˜ËG[¼.*­ë`S†ö|Ä„TkÝ—¶Ä¼‹nõóui˜î Í÷ú‹˜iÞCšôªŠûÌ F™`'PU!L^ßçk%VÛN £·8ÒgëÀ ºÎ¯àC¬QʆBK?±”Gry9‚—Gü Ä×öŒ(}Ð5Ùzx”TwŽ*ö×WoZz*VOpÞqÆô2ˆëÇI=Ã>ÇŸ^¬5å!À—!Œ0é4bC:½óïìIÅÊéÔ6Ê^Ï­%±xÀ±4ü1Ãåáì-Ø'*ø ûq»œi»þc-Sùç\c»b{R=wÞð{Î\¨…ØÓ)ð>ê¬÷$ž|îmr ëÜ.gÛ’€ç÷!Q»KÉÍŠÁ™žÃùÁ¶–v°#ༀ~#¢ôØy.ÔüLhˆˆk 4´ÊŽ•|7…KŠSa&‹¡,Z a…"ÄhåED™ŽpÑï@a»l• ·þ¾a`/`æ¼>.s·ÂöŠš@¹‘$\Y(«ÿÆ–Pïáìòä áÇLö"f‡gðÿ”ÂOË¿“7¾|Þ~å‹à¼úAíÕg(„™”‘è€_W•¹NKHxWÉ>ÕOdu(ƒUãæøÃ@<Â[î]‡Ó"á·k™“A(i¨!sˆ;‘9P¯‡ð0Ö”5`¨½ ÉC7I ‹Ý¥vR.=Ÿ·øÀ*¸_œËô„Æø“ó  Ã@Oå€IÛ–Œ. &-KEM¡× þ9ͺ=Ò's6ö þ£äëìŠô6ª‘ _F¯%‘sÏÁ°*}…"†î×`Ðh}Q9f†âüùAçÒ¸Zksw,>\p“×ÿ®4žá–Yk#µ»;x§C[úææÜåƒpáœÚÖžñþñy ð(Nz×W„%Ù÷,™_’Ïóˆ¾¸Ôæ–ÊŒÓãô†òùŸ©Èd8$÷Á¢Ï´[;ÝÑü’u7Ì®ôYúXªÁ ‘Ë<=Q"þÝÑÃ_}·=ªâ…ò¯}t–Q"þµÔýÚŒ¨’b¹â¿Òº'ß(ˆNÍq=ÂJ vÇl¹Ïýá÷Ù(€íl(÷z¤ú©§2=(åži Ê^ÃÉ4/ìûŽJŒ·í”wj%Ûƒ—$‹' Yßæ¿p«0ƒËu@C÷¸[¸$$ãu¢ð-X› Í#(åbä£_ªœ¢¦7Þ'òùŒ+Šm…Ý¢¶c#kÔ”ý¥"›¨ª8Ñ‹ʲ·üDwLÃ>q©ÛeM°I¼º²°*ô4¢±aÐ;0¸òΧ“\„†AþZ ÿð0®C¸_'ÏÄJª}SKÝT(õv \ãýJôb‘èºé£èöÓ¸¢øåÌîÍ«¥·çFôó†Ã…Ýÿ#ö+ŒI_r»'Lú93ÌšE+¸_܃2EX³>>Þ±Þv4ÈÛsp(4İ—* Ÿ{Ëa`†C°ó>Ú>ã§íAlδ#¯ø‡Il?Ö2Ç3È䔿L.Ï‚ÿRfÕdù£biäùgKÒHºcVµ’Ô'Gdzó6y[Yª¬¾<"ZކLKûc½…}+ž©ÆK%dˆz6ÇŽfÊõN #äè•Q‘†ú3.,­Å;ƒBwïo˜N el{Ï)úᯙj>˼‡W¦ªÚÍbéžÒüE¨~*V0 ú3Du­ö`)a ¿$û•ÚñoFø.[¡àbHI;ÞÆ«IÚ+pzÞ‚ý!鉲s²sZÓF~ór½ø”¢%°kËÝ+ Û¿·Jü.o7"\²|Eô#?-”ëD›“WF6FŒëœp+Öð‡É`:?nü"3…àîéP™üÔú(2N{b哟 ‹ºSqUd¤j!¯õGMµ@ä.‘BnãÉžŒßhøàHtõ¼D-dxÈ, nTÙ Ö6ý“%8é*ê¦(¦9Þ\øw3xnÏucæJ¾yìøRy‡Á” Š r=LûaÅ„¶* öHçAA¸L2œFÃî9ÿxÙŸÉÏ¢ûêá•4 ¶?<8&:a’ëÕæ¬Ú#ä¨KÞO>ÛQ%+3âK.É_˜Î,T°F¦j‰£xg&sðÑMzϲӆpf  Z.b;Äç1{ÞªŽ¼6ÅJ´§è=H'h­Tý¿`„t&m©ñ†Þ— +,nàm™¬U™3G~ûxÐ2U$Do4ÏŒJ{â0¤0rw)·ÐJñµ„‰î§ì–“¤ÔcÀµx õøÀºÍEÑñe[Æ8­4Ì®®qÖ³VËñ >Ö0ci®2Þqî]#éaT4AfN}dñÉy6/Eé)ÂÃbÎX!ë ½uбW\úYÊB Ïw­´ñD¶Ë*”Ô?Ò3+¥7›i!™"+h±Ïô^ݰö‚€6þLöMµSÀç’=šU…ätEæ||Ï;M3Íx¸xŽ,S/$0¤èô¤‰» H ù&­šÕV“«•¨ìH¼nwD×Xjøk¢Éç™±äºÚ¡»Oo¾4êfŒ Hhe-^ÖFR{²nJa·ò„i™ÔÙ%{®æô¯«‹¼‡ ëÕõIí½Qâ=cDi  E°A,~ 4D¯&î 1JWÝëyL,7Ê­>è×+Ø!tçJ»eÌ+½ÿ6lÅm¾ Þuj¼fZ%ÊÖ„Ú„( Å\¨~…t˜ùžä*Ñ5£áÉûN(0G3¯ÆKf`˜äI9ޝùÄ5ÄõtdgÚh„ºæy¯I3ºŽX€rî)Ü”;üÒ€Û£Ù£ºÃ±Ô‡%‚êk› ¥¼R±IÙ‰z ÇgûKDÉ\6®f!3êÐbI†%ß~2Y?;y-çN^pÉÞEW›NûFw±û-ÏÂ8¬H>{`cÝ\<ä`ØË ìùâútf¾ƒõQÖòp&e&òlDƒ G$–pÒ¬ó\?ê)ÙætË5}6¢ x7¥‹2„eŒ¡úy;kMýÙYɱª(IK%§s³'ŠÂì ˜i6¸Ë]D5e²£v·惘…þ¦j†`+ÃÑe/Ù:£CE,|ÐÖÌSËðÍò\»ÏÍý3€ÁüŸ-բ˴ŒäùÈ!("Öˆ>“…¼û>Ñá§,¶´¢{jZö˜ ¢ŸqÆögD‰@W»I¾¥Eì“ćY'`á_å^ýsOfË<+º´ØL@*;ùŽTçb’éÀ~¸i¢ z‚C3¹ú¶BñÄ£”urÎu±t†—8;éPÐ(»¨õ(Ñé)Â+ú—³!“zl=x¾%³žâĆ“Áœ¨¬tñn-ŸœN 0³J^Ü‹êJû5übØ ?"Gw8ð‡9Ñ“½ø¸:Ño½%¼YÏ&Æ‹é%!™XÇðyÐÂO_Ú‹Ù¿iœ@]-µ i¨!ʃ©1¿)tÖþŽ%T6IÒ¶ë²ÅÛЩ©Ï¡ÆP›8eú V µåª¸4‹”ÐOy_nNþâ[;@Ö|3å§MÎp_3€ö—<~r®7j¾Âÿ½³oGÂ-‘ -¡¹¦ 0ÁF^ð^°¤›ƒâ”%Ÿý]‹*çýNRš!¤ê}r“r³ï(¹y-‡Ýf^Ô¯8°Ë¿Ý:§×Hâ§:Ùi|¤~-¶ûºªý©æMÞz`d#¡ƒ­Î\ã^JÉÚô€K^UÙ,m“ó­F¸êåX×ÚIŽf™d. umnÑ5Dd- 9IñŒfÐ}DÐìJóvmJ]ŽB3ä»ÚD"~ã®Ë…`϶ÑCÝ¿“°øùƧ…ðõ¿©Bó;ÃÀ~1ÙP¹µzì¨Ì—UU`eÔi$¶W«•õ«+³­³›9­mƒâw¯WROÔ‹§üö³E¤žNu¿5Sr0ð{n¯Wq/‚w‘¼‘ûÖfåø¤Z‹Ú¶Ù â!*ÄxÉ‚¥‹UHâA.ŸK¦$2Úä´Sb8FE‘×r×ù­QØõ”­Þ ÈL,ƒ‘ô-2ÜÃwÿ’n3pˆ6¡Û‡2â®*Bg¬7ɞ̃¼KžöË 1TSKJS® ²ñePLY³M'Z `aDäBÉ^Ð!nDulÊ—\r¨&ðÆ™^›¸™ô“óSä?4&è—R ë¼óä$‹è†ÃÇÏÎthD]«å´¡ElVäƒÿãˆ]8 WkãÖçÙÙžå¹ WƒZ7+,Ÿ/i¦ÛK­”ªÖ¯ l¶€$?Ð&ƒÉü“9‡[JÀVÚvÜm9T``"åž½ž êŒc‰“ê°{Áµ[rU —Ð0¿¡úu&s¡ÆÚ+5¾ïÃ{ÞJ¿À”ž!“-:oU+l;àho çÈí« slf¤<\­ ôJˆH[Ú¾J O›[ã ã™æA”C–µ¤o8›%$Ñk´úYFÐð‹a´íw»°b«N¸ã¬Q¥KŒ=§q¥J¼?ôQ´þzŽ¢I\·œ|gvŽ’Mð³›y/ó|²úµgv"L,”ö‚%1oPmË^ËÍõYYaÛ#…uå°(ãcz7¼Øè{ä ÷»X&3èëÒ]hd ®–í&ŽI¡­Vqm›ó–A G«9€ÁFuê{-\’ÌhzŠíX¶~TÃî·KFC: ›ºÜÜ£ð«3khŽe3úê>ÄNÈãÉf¢Õ‘ÐCHWodxíT™hb‘7ºoƒg”ìr^÷v8ÃÒú¤àÅsÀƒâoCêψËÞ¬l…2ܯ+]…Ñí-ÿè¸#ŸÃ‰k‹RDï=¡b—Ø«WLÅëz;G¨Â8| ÌKlžWX?7l12!Ñö9–;Ô—Z`FE=‘;|‹¤± Qâ›ÔŠ?Q“m NÝt¢«Äí¡Ú5\™p¬#’jâ¤^Èo‹>0)sî“Q>O¶¨?vºJiZ8Pñ—ÍÖ-dŸ^3¸ØG’òØ·?D¨ß,…QÇݪý§Ouõ¨%=iÂ{¨ÿV}2ºvãTÓf3ùê*=ßǾôW‹¸™›–Ì®Ë-j}ml A¢ÔhäÍ1~ÿŸ6À?¨·•;ébB­ú=Ä C 3Ì=RÞ!œñÏZ€—xÆ´ˆPÝœçÅÞš°eE¦ÿFˆë²|p =‘h»á`p”pé_f:¿»†JJ“3£Õ:˜B2]ž<œˆ› ¨rT¯e äõ³R©RK0ê‰_h‚JO%Ê?¥Ý— ÕÜž1SºØTú÷f7> ú6#§1M²_}ñóÊ©¿¤_Õ¥66•'yë• µ5u ¦¡O5$}4üÖÔc:U/›¤ Á‚R– ѦÓE3Ƕ¸Òº½žŒî‚lA`5ÐÎ¥´+ügXSÏ¡Ub0SÝ¢ÂKÂ9/ÓO{ÏìýàZ"Ƴ Ñ—ÖkœÐ5«ÖÓ <ÝbxŽ»ÜâÂùˆ›”à¼Ìò¶ U0¨<uÒ H±SjŠpNÖWb<„2ç’ ?¢rgØÎê_ñAãÒ@H^úÆÔ‡-u²ttšâz1êî,Ǧ—`»óK{ÖÝô»ûJ€Ä…^L—fèÒS±êü6äZýkzNÖž‘c’íT±H›zÆãT|IàL¸è #8M¸­Ú¢û)œ#“À"@µµ^¿Øa«Ö]½ÐblM¤4.V¡4"VN¥qØ®^“ RÕÔ¬Û—`9¬å¤i{2¾·J2¸6º¼?ÉÛ›˜ãïÁ’«Hß[3ÎäÞu#X8úÉ´„qhðØÚ«¶> e]ãŸÁ—ÍÚo÷nTLôŒ]7³ÛeU, à–æÿóéfàoäÖ®O<+ŸÈY§}, áœÀŽ­{N†°“;B~• ¬ºß…çÐÔ™xÄm ä'’µ#hÅàK“ 0ÁB³Òœ9ÕÃ+ã#¿Ï¿Ìî„*P!Õ­.¾Í€ŠìWZ»êä‹ÁùØ{òþä0Ãm¿  ` ÖZ†ÕÏÞð–ØÞúU²ûÑt±È ¦ <˜;ë$Ч¿\ºƒÛJü.zöñbüC=Ò5›NæÃëž-c+S‘?[H< µõûfò@LÑkû¯ÙM匙Às<ʼn²ùc4ØÉ '–°Ëz`$½}[w²<ž(i,¬ÿÒ4‚‹4Þm4ÐÛ‘"´Hn _B“Qm®`­-¿›E‹S|c4Ð<ÞÖLÖ*þø¿]Ì|R“ÁÇ ìW…iÊãËGøäsŸ… F«ßz³±VuI`²‚Þ`ãÑwwï:ñ4¸1ðÁ”¡L|^Ó@n–i>Ôa}æá: jɶ›1ÿsݦ!­FLҜ̞@³"Ûþ$ªrâ\' ’*ž8|­p0gÖ!¸?°å§R_îÜ¥RR„ôˆ ˆ’9X1¨y¥GY¯Oâ|^¢ps‰lÅîÌ®D%s¯ÿ|„"ulŒå²M hWß°zã¢@ãØà7ò¥ÐÚÈæ=!¬nC4¨ÖŠ•§2ˆ3Lï˜Â1ôÇÍãÊü•ô×pç{»’”†Œ¹Š¢&Eƒî}ÞEó‡áw4iÙ•) _7qÓ(Ež3QϱCßlú¯Þ)ÕÅKý‰ ©â–i€IÇ™gª áÌølrï9õÇ ®Õ§ Ò kimç7;ÈrI+y§ÍMC˜È·ÄŽm¨^ ÀwnÓÚþRˆÖîDJ2À:]‰ãNÀðcL™;tÛïwÎAùðu´³¢FfQmðjtÏ»üß']Q^ÎRB¥ŒŸïÑ;ûF-bõÒC…yIH bP=²fò%Î×iüOL´(û°ã  ZÖ·ñADVPZ»[P âˆgnZ¯"ä~“+îäð&Êôšæ+ó+@¤. ]ç7¯ ‚b0âD‹‹öV Í1훸Þ'pô8KgàYÙíÒF½eÍýd˜ÐɆÓÿcˆTÙŠtÕ:ï­ÛNëG£•iØjKVþðÊÜØ1V^3îàßÝô»È$¨`©¬wÅY*a‘²¿CRÒ¶º¢¾wÍàó]g˧ÏÖj¾;x ·{ê2 •Ûðäêäàj:[W_k0å£åPѨq{à×3×!¯ÔŒámÀÀøã99›mDšeð’cM@ ‘m °u|¿É™ÆüKI„}üÙüæUšwÞºÈW¸’õ¶©9H×îä”å‰KøÄ,TÒIo Î£Ÿ5Å“®[x£„8VÒ·¦¬»H(µu{+o­ä’¬§ÒŠdÎ9ö•”9ïáùVHÓ§£ª&÷7NÙ’é38Ò}"-¦Ä¨¹°'Jÿ9 $&–‘'°!ÎþÞI"ë}îܹù.ß ð@MûÇø9ÉŒ½c/s×?õùaΛx. ùþ¯ðz?›?RÞÕ¥a‡n±K‘ɸ3l,Ó—ñæ.êö¬à¡S®SZÄík›Û@Æ ¾ç~êç "[`^ý«oYéa¡ÃÀ“öXYŸ§u‹ª÷ÂãºñŸ›W߸ããtó9YÄÏ× ¼hk›5ö$ÆI6ØøÔ±óÇ7FÂo¥9m¿%X,=##²„uœ#58çÔþw<#å[ŒùìQ‘ÛÛ˜è7ºICŠšN†ÏùLA¬Iîò‰º_·é2 Ÿµ-0ÓD¡p¿›‹[ŒÒÓ'6:Èœ+41;n?Bƒþn ‘;Æ!îHÀÀveTéHaP›îHiàÈ…äå „ç ÌÆlŸ‹|YÈa{¨ZM£ IÖ-ÂtÌ­›ñ”‚&jÊÔ¤ýÈ'KErP^•´?Sâÿ#%a’xÌñB< ¡´þQ1Ê(÷M.élõ.à í?ýCpèµ·AÑ"'ZüW)sá.añÆQ§à«lßÉ/çþö£Y³÷F½AÓoi?:u0RûqÝCB¢»K Ëü 7àF"¢š\ŸJçÁžb–Kr?ÿE<+K[g¸Cɦ²çêÍ•VjòøMkØZ¦êÜñÕB&5?ÎjÃt’@6¬l[lNDo1· F/À7Ahî*Õf9‹§/Ã5lV™ã¨ä¨{Jíü”Øo|*¨~‡÷’ûLˆo0#0ÀE>5¼Ç оÑI-Jl3­ÿd Üì ”ÎfšÒ*3¢®|¼D†™''jONRÛã´²»9Ï‘7;í §˜,"åíZÌá篆ÊÝÑü:]¦kF¢È60|]Ï[Ž@ÚØ–Ñ<ì‚;ÛÛÛ]›®gx|xÍÔ†çÓ¶ñ2Ú1="©Õ÷+Ë­Öý®J1¨Ð‘£å2ã­Y™‡)’¿¶|´@^µâ×Ë#\¦,â%pt×qgvÇ}d¯,Í€‰½9‰+(Ñk¯áI3þ5Ê\Êpwì4Û9ýHeødÚùëʈ¼ó5övg÷Ì­RLêûyt½¥Þ)†M§ÝL L×0ÏÆ¥^3,£}­vÜQ%Ÿ?hÂ\ß| G3aeó”õ›|#ÇhÁ¶–U(ôÔ¡l§c·£¹8b±Ç7xô^9&ì1$·íbRJ:|°~iù—¯¬.œA’}Q™Gȶر´ §ö7éÔc•O¨ cœVmLž5¢L‹JטļQ§“Ц‘ÖC88º6ûJõè'Jø©—+—ˆA០QÂ23êœ%J³’î–奙{Õ“ŒI{:˜wÇwøP¯–êÍÚà TÓVèkD¡ÜtoœWh^ÞtV_Ô Û$'äN©ºŒ-:´»ô#ªó'WÉÕErÿŒrTŒðËcª;9Ybf›þA÷Ûn#69ný¨b¯ÕßN-ÜÜf\’'Äà‹z-q¨ ÜWA»ÌØèŸŠŸAƇå ðæI--¯ÌI~ùsP…'nôvSÁI½±B3¸«ßKÞ< µäßÓoGFRjYÛ¯$HAÖÖëgY*s:"ì<ê0Åå0ãv‰‚•¥j}ɪ¯µ—w|@ÅuˆÅY²‰+WjÔWF¸(‘ýV­ #ÚûãÚ]% NxŠ {ùâ7g«ä sIUôA @ØK1\— ?…¡7¨FáN¥ÊíÆÑóÜ]¶Žl¤är p¢»9hËâ÷@X Ôä?’}¨qkðd¢ûYû,'mtíoô£Æ-ή¿ÇrÍÍ?z]¸)~Oº 5&g£O0¾éÔ0Û}ŠP‚æ ÓQlæè~Þ¼¶ð³ÑÜd~ÓÄÔšöÔq1Ñ»*Wè}&M¤ †9Ç '¨~Ž ,%è+ "ޏsX.ødO‹ èŽþêgCöi£‘Ž4’NgŽÍó§FQT…jÈ´%§åÝ]r™[á3aÔTñ -©+U9ïÇ„èa&ÕÔÎáÃ9/x’ùÞ__À»—&ãžh8»»ìø½”SÞ(²ÌM–çô^¼ˆÖ±+Þ0Õ?;uPêëT¿:;öYeèª$Et×fØÃ`[úá©VÀuQikU3·±ÎpÇ!•C-´Ü¹­çÑå°‡ú€%S~ºÈžï§WDéÏËdaX‡Õâª[OÚ%äÃ-sA9JŽ#~Ò©| r9ìTÈTÒäG¨¡ýw¡}Ö´êÊÚ{à+ÊoxgM Èr*+Àj½°ìµ=†ˆg£¬Ÿ ùÆg¾2ô>Ί‰†—.a‚(íƒòEÊS¹Ø¨ ç21 )‚µž†jù¡±Éœ›VØ—ckÞ Ä-æ³íBcJb}Õ~M—lV EÅ”šÆÝÜ@R‰¬_q%©„; »Ó¯JJï–D¨Œ® ÿ]±íɇ§†`ÕöØ4^/–üàê2Rª¡Aåþ-_øƒ¿·*ž7V{ùãÔýv‘“ž>m.ý†q7v;y«—3!>ÁºØØÑºÐÊóÙŠ¨ éÝ}sOQáTþ °QdœiÌ"¬[žA¤°õnÊËJ<B¦¡GO3Ÿ³ñÈ×/ê#¥:«òãÒr¾0Õk ¼$5'xèµ`€ÂIÑTÌÁÿˆ_:‘°ï €¢øƒ´&Þ#ü8ÓC¸¦fÉ[ðÏdœÅé§„»î©WÌh¥’êH2àn¡jQCìù8Ð-¬>LðÃ`óK‚ôy´ÖN°•{"dîœÞ‹- Ï/!§´ª¹£(^ˆæ¬Îfµßêy¼–ÂqKù‰޲^ëY‰&ÂdÉvU€°®L+?©±sÛr.4&æ®çªÑÅ÷|AͼåjݰClÑìÁåÖS~”¼#A(v¡ ˆ" î ÆZ˜ñðåÕ/žw|VüŠw®}ô6â[Ûaáa°Æ5=à…øÐ@\úUéåéžøqV»tæ×íüÅò”²á²ä®š¸P¤–ÒKŸ×ße—Ñàžalaòíi ª›gÏäµJ#,Š¿IbÚ¦…7ªYÇ@qW‡ûM+m¶²ÿÏ<›Ï;CÑ¿P ‹TÅ?!ç­Dßì¦Ïç2vé3yWz‘6 ¦ü_} Õ7 ÐÜ ¾“÷ö%,*äÒÛøB¡Øùsº…¢U£4\Ð÷)¤¨¡dnH¼êݪâ[) BºÖþNbqm![šœ¬.7‡íBwÛ„«bƒ_$¶Õ?S/Ìþ¢ÔÎ&ĪõÂæÆYÿäw^”µÕø†±|F´Ó`¿jÃê¾´b½Šs= éÞV´øFÄŸ…oH˜ÇÁÃå{\l§ÃlƒÓyTû”µˆÓ³B;Ó¡tIå2^D9g©üújKÊe·ÌP§Ïÿr†fÑ£C¬Ôè·  úzÎð¦á°²§á°‡_jq„µ(}IÐ’Ç\ë;ÅÜÒHÿµƒT)6ŒÆ, &³«ÎpÞˆó¡¶²¦^fРΆíN!ù 3ߨƒá˜»©˜E"Θ…ªtîázЬڒÑh[lSØ»Z/üvÇáFjnIWyhö…2È$å?—ÙŸQÛîŽ×Á»y*j €äa¼ŽÜ/œ@ki¿ß +çÜ­4GWrÄÜ“ai±ò¬…Ñc‘Œ8UÖ7Z‹Õ@ ¦RNÑ/f¿Ô~ayX–÷Ð~¡Qöß;¾é¸éÉÍ]ŽOkóÍU`é@o“¤/z±­+ã(,îÁ'0•c³71G>H&Ñ?oí°ã™ÄˆJ¼‡ÔziŒT¶Ð§Ê5zÑàÉnHô&€ÛíjÀ-½³''ųõ*Ô¦Pqñ%²dŒ1(ûµ=b½àË£y‡¢‘ýsÍ…–Ô F*öË\Â'?ýÌ&)ÎÞ¹µ‘¾Õ;ËͯªñÓ2¬cì=´Dçb£ÿ2¡œÔC¯vŠB¼¢:j?qê¯5 ºBÈS¯(Š2YåisâMç³—Ê;•KV~&Ru7Úˆµð–î˜pN‚£½ w‰±¡ÏebÙÀdK<_·¬˜eSîÑuˆôlŒ€ |»—ovÂú:]–Y§ß°8ñ©ñõŒ|±¨[Wœìl¥“¾c™… Ê!ãQ{êzTËv[3DàYóa˜À`ˆbšÔ¯ÿð´µývi§±³«’Ée–ðpBBàik3ư³Ñ/?}*6œ7Jå³ð\̃ìËö¾©’2½Â~«ú©aA×j•fTžEº›Ç ’ê’Í7eÓÇB¸Ø?li%e7çJð+”iK³U‡îF¬t¦6¢±;§á8¨ùôF³Å5ü²Çò;dR‘еÇ„R¿oÜ&ûŒÎM‰LÉw&»( tqòâ$ý}MéñSN°Ð1¨ÏgJtHÇEù½Pä$¢y#bˆX¹¢ñ••¬Iš:dÀþŸc‚×­,Ô‰ÑPKQ›¦‡“ƒoî`Y[Õ#¹4¦èd`sL/Zv@ÿfiaâ\÷_Df®í+ù@ßí[+_…¶Bs·üê2e¶}Ÿ &Êܽô­2¡ÇÎzK&ñáÑWöa×èž²O€mFÀÀ¿1œPZ’¢'ïã° 5B*¨çÍrò´ÿÇSÛÕnRþA[ï10Y÷š×ÔyDN°"¾•YIsò\àèßãAð¤=ÞU²WÞÙWsñú! î3m “p¾y÷ïÖ€ºÁ¤F_¯©ˆÃ߉ùB\pã¡23|±¦síÄjiªp¶X8?ÚªUéÙC?§ÝȆºžA2p‰¼ì 0=”#z7Ìðÿƒ£M6!À6QiM B(ƲӀ'ã[«¨íQÖhƒ²‡o)æ?“¶›=Á\­è¦Œ…×·'?رàz “¨/ÅÐñš¥•þÄÐx8ÉGÑéT>#íËr’‚ŸØ£;БÎƾVœB=vI"›ÍãJÂÆzWFÑXqô+ ¡]/’æÚÁgälM´ÜjŠ:íˆçù_¢ÀóÎ(@jc׳ ýe9J™| ú)­ÿÌÜßâ”Á}´]á)ga4(Ð"ÊìR·µ¼l.JÒÔ`z?Ö¦Žg/¼R¯¯¼K zOçô¾*gpruûÏÏ8˜ø‡§¦”ÈiÔ€¡bNb +Dm²! _MÙ™›TvôM+MÌ2 ÿÝä÷Ãìoþbÿ¬ÞÔ…ÒŠ^à[¢Qõ džšš×¨'–…ĺp(@ⓌuÝlWÏ®®Œ7V]§èL¦é<“5ø7¯fSP{$·Ë1Vìñ.Ö!IšF?Œs᮫„ú´Ù[íR(L\Ñm Ÿ $šœZ÷'w­ó£Ïâ¸Z’Ú1½Î”ôì;¶0»š‹{ïÛð ¹RÎX‰@„¼w¼Q½nV°¸§zì¼ãåo>±ö_Ü,Å þ/BÎæÆfêK)©ÞY C±»ëKÚìMvÒÚ·vÏò~ZÔ•?îØå‚^8…ÄPÆÕ–ý9Á2:hu¹ÓൠÁ$áãa(‘Qß̄Щƒƒ8œ»òí9º,¹g×öò)¬óXvòç9ÅôEc†«_㜒„4\nÛûä —q!$ÓC¢+Ѿ†d@, Õõ(`§:»!µ2*+”BV`Ç»ÖjP×J„¾â¼Ë7s»› ŒPÊRÍ5·Õò"ǸìŒarçQi6Âs}®*´œÜQPAk8÷ÏPR*|Z%´‰Ó M§ŠØ¶ˆ#EÍ ´ê„ÐgcL|+ÿóŒ-ÿºóâü=ºËâsREHÇåcòWôCÂj¾œ}‹—B B:iãu4ioØí©VNÔ=ªjQœ+7¦ _ìgó½U•µ4ÊB8ØHdƒ9ñbHCóa”ð’GR¦¨6ÄvdŽ¡êà g1tÁ,ð™Æ/}vš3„x˜¿–KñLg¼hÂŒÌRzkˆƒi,%QP xîè´ÎM ö£Kjƒ¦¦l:N.{„çßQÅèâùî¼½k†'5z)ÓÏAr¼Ñ^Î{_‡ˆJýT” ¾:f2ì.0Œ$‰ñò™&”iÓRAIª­`®KŸXÞ·¤ˆKo,.qGª;ɦ˜Œ¬*%äã^bÙnù%]q²o_¸%¡WzX„¤¦ã±¹W Ô;0½â´¢úM ¶;wÌh(®U¢ð1Ы¾ªñ$M!ÇN¬jìGë&kPfÓªÊç¿”'Ô 5Щ7d0·qO:Y¼C®é á~Èt7ÔøÿF¸H¢ƒiE%³BâR ˆšsƒŒÎšD  ËW;¯_øo!èl“a½£8 Ê]t>¤JTcù²óç%”å$  ùW±ž €®‰÷/b?È›ÒòÕd¼6G‰Ÿlœ.õ³3²H¿yTÛo>hö³)5ËÇ{6Èh¡?jÀñ¥gMK®ê51P>f±€œ„ºÒWYÃû@›5sE”z½Û W’­%Ó`ÂCÄìm°áWõsqðÓ.7V“±©9Y“Œw`Ê:G7֟ȳÌ@Õ©Kárì«j•Ëñ^ß²œ•‹uë®—5?ü™,ípþøÇ n§e wVÙ}¢°þÜûs嘕- ðóSŠÍœôKåF£²XŠ ÚÁÜô¹Êon( ü­"'‡$D7)§Øý>Gsžâ¨øÊ-¸oNÚS3Ö¦9DO } êöº!²íú\—ÊŽ·ÒÖ!ÝfkÞÖÒn^36œÀ¨0,ìð0¸ìȾ s¢1d¢pÀßES‚}õ«î 0-kJJ¥æÕ.yÿ1ô^ÈÂô]†"S© Ê: †§ / Ŷ…1qšk[0Ô³RgŒÔ øYŒÖ‹Yóû2TdH(iÝçùeʵóð¶Óå î.øqºH8gåDKã–Ü.這Ӿ°es®#ìc]Jþ€ø;˜ú†Jbà_LóÎë2ÿí<Û+´ÎEßù¦4Ü\ðǸ7@ªP:ø¾«I}¶‚¶”ðúç?ÕÊ7lüŒVHFïóÀH­84<&̱7>£ÃµÚÔ¬½£ºÑာ‘E@Pl+`‡!ÞñŸKŸŸ|ëcq’ý$¿m냗»1Ï&VEzkžŸQð Õ5A9[ÿj û¸™™lÝðcçtu¡®b¡MAÇÄ£6r A,Û+£LŸ|ŽéˆQ(r¿®Ï Úq Ý 3Ô€ÀzÄÛ•î[Hûu':óQJA2(óÛ¡W-²vvRP…ú¦ýã6P”à¶Žò—ß»¯ï#a?ŽÝçy!†ƒÏØJKÔíí•ƦâòÈEYp]]ÄWËŠnXí‡SXbd¦Çï X÷ÓE¡>‹ŽÇ¸›£“eo±-Ǭ›@s{ο|%ßì9®¦Áóu0`T†E„•žÚCýǤùmmÏ:„˜»´â•±üUN¹y2Nµ—n¿›N8táH‚Ãå$èØÆÔ]ÏÔAž bàå%UW0\v­Ö—°ôÊ`±GÍ7DƒÁwõ Gè¾#ãD'íWépu#S"?ÙÏ.‘‚žÂ©e s'{À{f/½Û`K&ž•¼àÅV·`û†ÞÚ}_­) $?4M«¢4gÕøAe­ƒD×.É+ ÿ˜bkÒ÷‡ƒIw ýæ¾(­ÀšMÃÁ@/¾§TضÝ.c\Nÿº¡Y|Á0¶fÆÔ\)BÁÓÙ—)›òNX]íŒ ¨ÊrÒp“@ ˜¤M«â`+|]Ìž›eÍú÷ÛÜOlgo7[õø/¹sR“` (É4qÌ“RD&RQêœÐG‘Tˆ2¯Ùɲs)ï5Ò3êD¡è Zœ#¤ö%¡¿X?­Ê)F§Xϧ\Âe2ÄoyP?p9æZAˆø‰ÍÝ0K²]}0ÂKÊ‚¡MDi:ò“ÖãŠóÔÄÄÌë–fxR™\·æ*Ý[ÀÞy¼å&¸ŒŽhæ@éÿ1FCl0EP2¨äyµIœ¤ÌE{Ó9ë«pŸÅà‘DåÜ|•6FDé…ãw·÷â#E™å…t#$½Lã;÷r‡ó(wR­n£©þÁº˜W¢ÚÈwRGµN6ƒÌ(Ì~nW;ý^ 2R|hyÉŒ½§îöZľšÚzx<£÷ùX °p(öÀ/e#nwbÌRëŲ<Ƴ3µ*KÎm#·2¿LìtÙnn¬p„ $+yÀÃõnqç3z®b&„×›l#FaÜ'÷•Ü l£§÷ÿÏ;¦=-Ä‘‚g–!?åŒÅì-v¢UQÜÈWûW{ûMN¤C~œôp+±¼ÒÉ`ªí!'d9sO÷ØË›ZÓã:äV6hZ™jub äz(8‘»PýˆX¸÷J~u Mãßý|'ƒÆ`»'Ì"^ ¸X8[éí)¢³ŽõckÚ™óȺ6Õ·Ø&PÌ!ð.x=õ¥ˆXì–ºòX .S:P>DµÀÄGÉ ê0q"Ú¿E+u°à¸îf£q;miŒ èÎË ··ÈÛ¤Ôm#Ò0vÑû¬ŠƒÕ¯Ë°ê³[ž“·©–D=¹UátÐŽZ×XA-ËORH/¨Húì§åÈnk¹Ø~Ø ‹À,QXÏ»:p÷ˆZ#!ªg¶‰ -ƒçÍ·B"-p½±W'íPÚé|ùµÀû9[ƒ:Ø|Êû<1V„™kÏÙHï^Æ’ˆÕ.Yþ¨Ò×úÐÛØypÃ`ÞÉìSL°ÎE÷„üŒõ²%^3Gj"Vÿa«÷ÖeÎ>¾Á<Ë)(Lí§dZSV½ø¯(P±L»¤ÿx?{KsÕVaÔ]³ |½öJ`çÍÛ3³ÙEŸ$ÏÔä;Œ÷FÝL°HvÚg=·â— ã C×¹…gÕº‹øÚùˆ½§NC9ŠO•á\¨\ð¾ö3>«‡”` ÆA“„oÒ£!L#ži¶x“ •RjˆxV½ÿŒþH Óë*dtó{~L%³QÿÙ³Mó–6w¶ÍÉÙ˜7”ø5h>$À6"ÀÍ»JÀVPó½~2á 좂"ð ú#eöb9ÍGœår+JÊ]•< ‹p{õ>ïè˜õóÌÿ Œ›íò.M Ä„æyõßwÐÜozœò ŽÙ÷;òÅ“ßrt-„ì°BYgL¶kFT\µÂm3IgVàyktç| ¨¢E%9þˆÖæzšãÆÛ„ìºp—£¨/Ó~6}¿`ËËxP\Ä,— 7ïÖ!nq4ÿyÇýOô5Ž%޹¢Œ6üÆ_ d!F]kѬS=f°Dª¤€vˆiÚ—ëR’˜Ó=Ëfвûï@ÞžVƒ,¾îh§NÆMÉá¿/&;8V‘zÞCKÐçãi[MïNÞ±(Õæ\ƒ€ðyス'¸SÛ{×PöÚ蚨¿LSè$ÎG03ÿ‹è”Éh}'KòŠ<¿ ;Sc´…É4"g‚»™A·þMøMS“…/)UˆYÕJJ©Ðê›5G磧G³ör$³¨) Ⱥ‘º‰ý€ÙñTC”™Š1¨æ¦†¡º~}c±´¾Ú¶MkMH‡Iò+ø?]‰ÍœcU¹P Bæ¿Òkp²œ÷?ÛÓÐFƒÞíâ„d<[B\¹ÅQ¯ñy¼ˆ:›&þÓ7&¢GcÀN´ g&R ­2Wö$Ïàég7—‡æ_zæ#dÔ¬Lm]û†Ni]€I7E7\ 9ÿL“†¯Sßzaç¦À’}ꟳܜ¤2‹&ÑúçõAÓÛáwk‰¦ Ì\î×GyUš;E†ÑÑs^ÃTðÕø4L¾ ïò«…I·…î"°¶„éUŸœâ,е¹GŸ;ð~ˆSšs3”ÊQ¼0ǰf¨ B/‹Æ@Ó>?*i~ïÐ^í幨Ó<Ý#È?vh‚°ù;E*%z/gëÉ¡Ô=¿¾!ü–~ŒDbõo„›~ý€¾Íù IW$xИþ·›¶$C2¡;ó±¶²Ôÿ@›Ï>(ÒïmlŒ("BSÏ.ºº‡æ¸‚‚º©âC>D¿Ç©×WE¥îƒkÙþn£‹ULä߯?x÷x”`ôų(VgS÷¾K¿{ÏRø^еñÉgSâ3gÄŒo?§zT¤»šqð‹Zxø·©\ñ÷àÿzçßÓȉaŠàûy§GOÃr3½½Òð‚LhŸß ó¢Ë`µƒÌîâ»42P_à„OH.vƒ‘¯Ñ¤1è¬ÌmEøDôŽoPNÿ‡c¿ð;¼çv³7Ë\RŸzÈÀa)köÒªßɆeåÖæ3B¶›ÍïÑÁѳtuCGÇç%«½®ÈÁïWô j›\·]àž¤:Œ ŸÏ±ÍÞaœXãn ·œ«ý DŒòÕ®RV;y:€$˜Ús(‚Sûó5’¼R×>[?¡ÊQЦ·=¯áªðÞ¼kmç9“ŠÐvTh¶+Äþ5ípð@cÏ>…I’Úe).?j—+N01¿ÿWZö™) ÞW’ȺÁ» &%FY àÃX bü|JæÆó’k~ðNégE¤ûÊÀdÛ™úE¸üÄD²–eQæ…æ£Ü“5ê]þ‹çøRæ brìÙiK³ÈÜ‘H¾™üˆh¤1xV3êÓ¡ìl6.dê_=dÈã®éGŠBjˆØ³ÊRÕzõ0¦M—ˆwv0ïʪ ×èò@mJUòÃéíÚr¸[Û3žg·³†Á9.+»6:”<5†UÏuûߎ´65/5Nên?;o¯ñ5çsz”w6š˜AÑã,Ç¥K„ùŽ6DBkÏUlSmvÄÒ ª-¥†Üi/coç¬Üf‰g=ÿ½:ûÍŸ<¥ ±‡ç ±¶ÑHJú¤iûC®z·5~}_ÌB¹YÜ b›óÈùǵâøäX® J÷d+qæ ðGŽ€Ž˜p¯—kb?%Õ±Ú¾ƒ;Õ8v(:í‚ì&Êð©îò°]Þ1Âw3]-’hó1³Ì'VìxXDæÎ%Ñåç˜U âÁx·öç–èïž0fŽ …ÐSPíç ígÌ£ÔkÌòà‰åýhÔ¯ín5Æ×¢àÄ$¾ëzŒ.Î3ÐDÞSÅ þaÿ3èò°X˵ŽÄ¿J*«áÐNñ£¼Ç-0;A”Ä4”í±G ²§àº¹ÔªbãÈßEɶ$àø áº‘Ÿ³ &†*æÞÔxÉdµPø[p˜¤Ñ›JÑŒü˜ÎõÀ‘ý7ýéˆÅ »pjyË(£SÚε‡~?NbþÞ{1™¨—ÒE²õ¢ÊddyÝ›¼ëz|Õ±Ú®0{5_8ý1¼tçŠk­*ñHºÿ þÛ¿¡,MíâôoN 3>w]Ï]CxÞè¾$¹ ìë7XÙÎx½ð‚„3ê#”íþˆ–dÆ]Ä)h8éŽAáU3ýžª;pBØ{ðÞÊÉGØk´ÆýšW ¢M`ꊆ¨¶âÌZ’VG&Ö¾ Á”öðD—xÙ pÎàéXËÅ:ÓuÉ#†¥&àHåÍfì> U.Y;Ò ­¶8À¡^A`qÂ8°¾ˆŒƒr–¸[v JQ¥]ÂÀ´BŠû woI&ßý‚ž”ìÔÁýzú°A°¦Q±oÖSQ¹÷JŠA'ßçµ}ó”#%W*;:LÞæ§[:Þ ÂAʬ•¢µ|Kº|¹4E sÜz 8‘ Oå(éÃÝÏ.<0BLÅ bŽÐz¸ß0Û‚NÙä”­w²¥–:( Ó,éIçÖ¹zv¶Ï·T*:bÈÒÜš·® ï‘ËÙ´Úú<©3-ðää²çO#Ü2ZÆ`/åÚ:©ŽMÅ‘D`<ï™)îðR„ª ZØcr‰ÚsIàwÞ.’1¥fÙüŒXpš‘Œ¸íü«¥ùºWŸdËk¡Éïþ¯ø_KËYŒÕu 8o¬p˜XŠ ·°B@³Éë½gK°ðAèÅ:´Nª+VjóLæÇ¬ÇnµûƒºhøÊ#YÙ{ÑSvp¡´"ăF…%.!ô¢I– €¤O0Ï©TkZ&PœѽÃèðU­µOY\Uݪ"p$áa2v¤H~¡"Måd"Ä5S-ï1hÐßÊÛ|]—°ˆ Þó|Ñõx'pRáѳ”œ*Ô¯,&,a¯˜Yr}ÀŒ튵ޭÊÒ¾6Ë}Š+^*&F‘s¢–¢KaõË8‚H`µÉ:F\–u‹ã4¡Q Íc_çN—˜yý‰m[⣅VOFÍ$3yèv¤èûø¦øZü¶¹9cc.nH” LÐý8[(Àqu ZÎ=W23=(VP]2õQâ¿ÞnÇ`~.ÂdµÌóäŽ2}ÇHˆdÿúðæIïIX%$ݬ‹¶ æ²§¤¢4„ÂDú­žCë]»µ9N_ÀÑ®A`Ú‘½i-5SÆ»G­¦ze^Çf˜øüqŸöÉ ìÙ·¼¦ïÒNyÅÙý¥w†õön’¯qßê¨!Ú«h´‘ô*q”Š´EˆŸzðsBdé4$ïÇí7¾]|—¸<@· ¢„ë Zôãgýª‚ÆÚpQ*ÂÄ÷v…?Á/ŽÇB‹0Kh zéäUPÅîç'O,©™ƒÄ¤J´ ä©óMõåRuøä¨ .Ç1FE†i¶€£Çg¸È·3i—£@O¬«²U`ÐúlcùärGÕŽÔ)¤Ûu¾ï ºñÌ‘Gˆý=TµÆÆÎ ,åxrr¾¦¤¼B©½~DUÚ¿É(Úú¡0&*~ŸæwI¿GØ=Æý.”ó;À×ð6¿Û?ñöŽ=o,"&E§èæ€ P‡Êð‹ã½¦.F›¿!šžVùv/=ß«4£ à’Y1ùP"{¦Šàe£ÝãFHcv”µµ’ÁJú¹ÒFé­cÓ/ÍÜgF´±â£µÈîT«y¥q¾±pKÚîWÃùºT€ë(¯[cÏ ®mêX Ó‰—€c!ñóÂZù#ݼ؀nÌ%ïanõE H®TœÖ²@ [å™k²¯’Ë1˜¿üÁ”>˜È­QÛTéN ÿ÷ã¥Ë(Ýþúø…}•ûs'~µÇ'ŽÂ«¥§XyŒˆ‹6fŸxô!ÖxÓ¦Á¢=iâxåYþŽþvv úêÉüÎ<#g óø?cŸè%ú¨S=Aå!ÕCûPôž77›M1Qì«·ÀÙ•›”»æ‡Ä„Ø¡ØÖŽÒd:²èÎpºM ÐaÞ³lÖ[t³~í£¶äÁ€Êu0bM4å:ë#Cø²©Â0Ÿ[œ€›jGÂ3µ-ßž·¹ÇK­ífºd“¢:jZoæF=a?9È'ài oÎ3ÌW¹åoìT­Sw˜í'Ìh¹13åîrÔŠê’2¯‡Ð‡’æw8)ú…NФ•¸þ“dìÖ1RôiÇ$ô/Ù:éMSɉõ0z½ÎâWq0±ÙÞ+ òÈ ìÊ-€xà±Uƒ[Œô±½öÔXQœÎâu…ïÔ?Eöv£krºæ™˜ï}ŒÛ\&=Qÿ²)„ÝêíBû K/Úÿ {"Q€àô×µ ¿ÞA^ëω~šïNedü#„ÙŒƒÌH\PÌ,MåóÌÏ(P¾TúÃ-Øl vÓÉ/ºXœ™šÁC£ãTÄzMqè8 WCà%Œ â Šs9&ðœxÉ@§slÐõ .A¿3²¿ 7~§’’ê‡M5&²|jèº&Wm²y»^h¤)0ø‘Ä1ÚT‰ËLš´­ü¶Øžtr`éü1õ+ið¬Ø;}™¡0E‘~ ¿u±Lo·„¨¶eØ`’ÁŽŽ«‚Ÿ¤6žBdÓ“~Ëœ„Q\usR/좀ºËÅ$ñ0R 1Ž)¨h3 &Ÿ|£`ò›‚ÆvÇDÿ‚€•°Ñºa[“´0 †ÒW ñ?@ÓtcöØ«²|iYÄhüb,•©6ýE!=Á&Äå8Öî¤SòºÑh˜pžñ‹ WÅ{Q'0ƒùSßÿOí"æT¶Å׳Ò-æ­D¯Äq’K@'þOdpžIázÖHÐÐ-?OÒÑa‹þ‰Æ•»êkª­.Éu½àœ%fMh^Š’J…hcè§S©N¬–²gÇðÆí$– Òn<(\„Íý¦Ç)+”Û=ÄLèªÿcg¿»ÊõBQˆv[—C7ºš?¡ø£Þ}æs»p5cv‚)ÄP#èk¡z·W uâ¬æÀ"»uìHÍ[(ke&gÐûŸ’™ Ë·®&v`Q_ÁvxXJqà2ç6RÛÒD*ˬ&Ï]¬l6¾½ K"\€üzÑï­Í^УŠÔV­’ñlûyžtìø4Šü¥Œ‰byJL’œß†P`¦Áï 8 åÅî̽Եe¡Úâ+Ïå·–pg#1é=Lñ‘4õ«¿ÐGo6j-üo-“z2×´»š~£ eâpAó §=ë$x +óšDŠ_×ba j\¯\y"ŠÁRôÅöˇf@îQ¿øGQ¼ÊD:³æ™ëz¦aêœ Ù,ú: ŠÆ ÷Ð~)Z³¢˜&zîÍ„ݘá÷ö¯þÓJƒž¿* M‰ÁÀ1ö94m{³ÔÕ¸[TÄCØð¦yørÌZ˜Zy¹l€w–„?ŒˆÔ*:HÌ:ÚflÊ¥™Lvúñ:Tù±[Ÿ—ðošƒwû¡èQ'!bsןmeÎOUÄL¨äH©A&¦½-zt:ºÚJAŸQĵº#À‡¾@L÷À´½TÉEKZˆÛ®P‚YZ«)¿æht~éjñ¶SÙæPòvµ¨&eà@ùã}pR$ÔlÕ·ì&…g}èÑÂÙQᥠ„hÝ:7”Å ·1”ë€7Ó ‘>èè ›FÜe¾óhÏóÊÓ8šJNú)f“GÆ3ß0çË$éˆ ÀÜ2X¯àÒXÌ3õmëJA‚pµ}ø{ÿõ(µUÚz•BûëÞEü€ü1Æé¬5°&ÀŠL4-ãÒ1å.²{ç£jtT<Ä®@-ÆE«¹%s÷ì®~cë],F{–&×ââöj5¨">´Ä°¼Ø2n…¡`à,Ýäqm±w`‡»j¸ËìÙ9%þE=¿üx;°ïƒ¹ÝöÊJ£Ègt@»$3ú?ÇA}•pe/°¤ëHÚ°RÂDEPꉒƖ܃s"J•ħˆ›ùõ5¼{Šøœ2”@yòÓNn~l9~It‚X6Ä~çDbÇ/¡Ò,xf‹æw *ÆcÞü7à1±ýgÒÂHݦ†ŠzZ»R¯ÿõ¯&÷ýïZúf¶eªÝK-,xË"ÇaO JW°wÀ*_apâ#æR` ÜŠcC0ˆX÷¯þ|z´…\éõU»q„m¿y"Ö| mµÊãÿ›4™ Ã"HשL™TAq傱æÈŒ«¢¹þºõ¼³'Mö˜”«7ƒ„ù)Ažã^¦l±µ){RíŸCE—áâù²ÞE¦ï_Vc9_æJÚ ª~plR„ ¸|Í-×XÜÖoÉ£ÎÚ<«àÕ2T›•™Óµ¦TàþcôËMß]¿^kž'3>û§=ŸßýFhüçF"ݳ°æó¢ƒWŽûÀªëÁéÇ YN”ŸÏíŽI€¼}øcxh;¶`2V´ eîy²‰·ÓIÒÿkÕTuqÖ|É2ìS}µUE‹ìrä*dç“^WW¼5zÕÀç4(&äŒüy•í´.¦@[Uõáh§úŽÎÊo´‰1˜•û4`*ýù« Gp «ŽðmÕis«4¯ýü£Ù¦"6þ„>gyí~M%òSnXåÒDrª›a2ªž¾÷8”4;õÁåßxÀ9ß2Ñ.1"[A›ç‚ÜÏÂ_ƒhÝ4Záç8€?Lܼ'ÊôJÎDw¾ä&DßñÄQ:õ錯ª˜ÓŠƒEŸBV/ó{K|is@”þÜ$ŒL[™­f»;Œw>Ö´4²¢ÈGãðP]´ÌÉ9£±×°n=Źrqžˆ-Û?!µš4<ØB²µ.Mh}§Ræº*Q”ô¾3㘄©ÑXر íU„0tÍÛ:R¬¾ÉĘ >½ÌWeÝÓ‡Ò¬g=È'eûÖÁo¶Ü(o¿_³cùì~gï©°Ó÷Ì…P„jöŠõ&ÄtÊIœ»t±wÙ×r¯†¨ LbÖSìÄ'"ê& Rü@Èxh¸Uð%{pr6ûó„ :r»• Û±%ðä)H&3ŠÄ±âwcÿ¸£\©Jþ°×nJigS³¬å§ –3¦i"‘8q‰MT921€Ú½rù:—´ª:O>¨¬KX•pôV—{ÞX+â†Ú.ª˜D2ÝÊì“ÝÙ鈡UÎ}ñ§ºoH5°œE‹¾^ø|{Èi×V~¿«~ßE3îxLܔŖrpóµ&í¶‰##Cf¡ö=ç³M'éÍXàéƒËèÛö·ß,¨¿mRÄ@]y-Òm(Ñz‰6-àxŒ Å#ãÆö>› TÍà‚ñs/^ú`ƒ„hyÊ \åªb>¾¥ $ºÌ6\ؽwáVntO›¤¸êžÔ…®f°?Õ…xŠ«ÿn~¼!¡Ÿå¾y»¡vpV.™âþEˆ³åØ4`¸ÙF8l>¦bY©”X1ŠvéúK6&_ ë*j;ÊŽÜÇÌ[-BJ àŠå÷Ãwà<³Í"Cuïܯ›Þ‡±(˜— (±æzlÝ‹¤› ß@h fs0ŒÄHQvçÄ£ƒã3o«â9×ïæÎJyUüDõSŠll«3ï!Þäy¡èK¼Ü¡ìÉ))ÿȱ¾ñ¹ßÏÊÌëBî÷ÈœÃJà䢡¼YéþC¬=ܸÐ`Ô/²qæûwòÛŸö6›f.:|+zÉÊÖçR ¥i¥š”Pã³öè’0ù9QZ<ònW8 Õ¢JÀåùŽ`Í9S¬,öTt•ŒîC^-o>-çÎb×0­ärÉPX |Ûš±tyÛArŽÙWE~dü·!aHåv_ou°­ ¬vÎG÷{.wÆ‘¨ÿ|Äy kÇ‹4Üsž³ö`‚ø±«õ™]¹ŽÐAgx1½þ¸4e91gógZ {®‹¸b‚NãC)ÐãŒ-Ž{f› ‘†_+ªî©wÌï™sÑàá~’{§Xh“ ëX(Ö öòðS¸¿;5²$~»)8$›C-vtdû­··‡¡àãQRôQàˇøH|·d•B¢6©IRÇ·b@Ó ÚˆHÄnýRäýD‹èYùC¯Z|ç% íU]yð°žg* dçÌ@Ytí¤L¾Õ,ñ5„€rޤÕÑpâk}Ü.=¦íÎÊ¡?§ë¬Â¾‡¹8zµ3“SãÓ®1Ñs©V‰)ÙÑ®…NÖtÒiE,°¹éŸFò›ÞŸ©â{µÝBÞìô_jҠܢãn;ÃJ3ýª™Û_éƒnZãs|[Ð?í_f¯ä7¢ ׳ePüý™g.+öcXZlòMÆC™Þ•7¬(h›‡8„½ì@aO±2ê>Ú-=™däÅ׋֖„+áç×ë dÃGä®H®Ü`9ùfîò®e¹²¯×CšËtŽS¢ký-Z®yåîQ6ÎG³ñÔc›&(NtˆÔû_Ž'»¬ö è_áa5ºX2¾Äj½a}oÀvj“ÆTð+¼£DD,˜0f üÃvï>Ø0¼pÑ—ÓãÝŸ¨X?µZJ£T*0›Í„­X5K{CÏ-ÂÈhôDá#58Þ@P¢Í¹_{/à''ê˜À\™hÌ /MÒ¢ðu¯¦Ìß¶¾‡£Ý™Qü*ÇŸè"HKÛªQÝÖ)’åø7áþ|oX/ÈýSÈcÐYƒUx)ÑÓCd22Ú ÚΩs{¸êGZíáã'˯ô–ì;`–0ð/äÆñ+^÷Ç@‰Z:WÿI)âä°¯g¦în”¹åÌÄ­[(JÕúø ÖFnÚŠëŠ-hÅÌŽÑJš ü’Dß+)TλØ)”»j)Ý|žÂXMÙˆ2¿O‚±­T*A õ ÔMÿƒú|úl+ËË(7tU)$ œEÔjÒP4‡J­²k£fm¶…"ƒ Ñ­³¨³ãÆeS+_ÕÏö§u¢ÁÄPúÎøãöV¥îCó•Å_©´näÞ 6Öƒb²öy– '`Ÿ’ãÒžý‘|^õê<ìŒÄû«ïY"Ýã/¸VÊæPK0ÂŒÎh0.óQÝÜ%v@_$¤¶†dÅk=£fä¯ÿáçr™Ø6ÖbÒek¤eb|šQS¡¦´š½Ôuò.šín”sÿ\Þ>kjIx¸×@©áØ©q> w|…/‰þÆéGÍ ›ZÚ¢gUd3û.­x6ñdÝŒBFצPûBGÕðñ“Òï”­0‚ã–\{(­¥ãç.±$,ÑÜäž=Œvê„ômÍ—GÈãe­V"utØ)<) kÆ"ŇÆœ•Ð@ Ò”›"N¾íó œôæÿeÖs̆&º¡³÷U:8fžšî‚LÍ`;q¢f-—S/`Ë̺ G3xý4ÖÉ䊷Œ·á:¶Ö7h¾›G ó*ÑU.2wœÐlÎwßRE‰ôÿ6æ[ ¹ÈdÈ?œëÂÄ&Ô­˜^Ú´}FZl?Ì•P¥¢xlxT»å¸i"•ü .è½’˜á`Ö¨¤è½–FÐÖNÎŒïÿkÁ‘…;”%’¾ò1”£—aTôéEa6..ozG÷ºßæírëõ}B²’ÁÃè’2Rò×Qd²>G­¹PÖ– N>eЉKžL ³Z0>`\Ž£/°šñ…RjR(âÃ^~:µ.Ô[ÚbÐo>:. G¢FýáÇfx÷÷bÌñÜ&BÎܭ߃J4ì ÒÍ«;û—lñŒó®^ÃîÂM`f&]PËrÜC1 Cý®'§ÛþΘ·b,$81(›o‡¶¥V ˜ˆµ\,6x6‡³ÚµI&)5¶ùËÝfMàX4ç4]Ʀþ6Ë:D¾,BŽ“;­/Àâá³°¼Øai-߸ˆ{¢ºr¹[üd8£CE¢„*ÝuÞÕÒ 0¦A_ò>mjäl±ñtƒŒP#œsp³ÊL†-À\4ó\±œ¥6!öZŽo"¼fl/Ëšvz/6IaS¦¾D1.`Àøs=ÛÖ”:Ê>ÒFÿà>² à¹äp¸"P­bdß ªÀ-+O+7½ÖFlp¡;ál‡ba¡×Ì:œŠi짇Mnc.¶Ub,k ÃøË¤u÷î0,l¢dùGŒ›Þ°þ™wZVã¬ö Œg*K£ 0ø n ”G·ÿƒêbŠåÀN—1ð¼H?Ä&rRés;Á§¯K8?ã1*¯#•$o©.«ÙÍXb\º<ºgƒ;›Nzr®þ>×'í/Š[´°h_h¡¬÷> H^›qûç×Êê!‚+ûØçeŧIK‡–¡½¸ìf‰Ä4Kö¸I°•ÝQ3"ÃÃì_4wJ«$Œ|Špƒ‹¦+­œj€XÓ·÷£9ô¡¯uÂ$Ò¾7+LÑ&ä–Þ_¤#Ïþ»½›o0hõ.Òå¥PH˜÷êZÉ B¼ãìj(ÞØ 'PrÈB¬sÐbwõ¹Pý]VC.(ì·z~X•ø>¾ãpFršóÎ gÓÐy×±>ýŸ®qåîv¥é´.¬Ï–ôIGTŠ'$½4þ¢®Í§æã3høÛMÇKÈcãeÂ_h±Ïàþ·•JÚžL£:à—\=À}çP(iÓêމÁ­„¯v IVá–ïVó¥š|çýZfïìõÖ¦ã|$v0‚#vûǯf§àVèÌH5MãUÏ8¾KÑßW'ªœ'ް›‚ì9ƒÜ¦ ä¦]W?*ëÕ¶R¸"WË4e$ßû¾ð€ 7ƒWpoõÆ«’‹K­¹ADGÆ•¯ÛϳçýÌÔA³Œ‘ƒnŒù]\{•Ϋþ¸¿@ýçvGJÂLg|’Å"/*ž®5zj„)w°ªa‘‡=Û@RR±´=Oq¬¦a™›F1»*£Þðí¬Ø¡ÌLø›’b‰ïÇ'¸º¬¦u¯K­÷Ï>sŒŽâA2ì5Ùï×?Ðî%'åsÆÆ6›Ë)­irò¼:³81E|6T2À„ƒ\boò› )S¹Oò)Ù ï.F…/4®97 <ÇM˜2neÛˆÅpZ)0± ×@òᘶ݋¥síƒ;7¹{—¯¯>¶ÕžKKþ0jÿ,ë_]MfU‹ªVüT¤—W–³_ÚŒì­jÉŠ›^÷RžzIuÉ5RÏC>d¦TÊ`Ðs)Ⱦ¿ŠjFNN?É0i›"Ef²k÷´bKhˆ_\)p¸#º‚ø•'[KšŽþüô<¥®ÕdÃßL¬å›¡q1‘ÄÞNõua "ˆÎrAªÅrØî#:Þ"KºˆBoœ‡V<õ•[¢ÐÃ÷d4ÃØ6ºßùN"-þcÿ‘1¡ôíªW©¡—RÖæ7³_>Ë„ƒÑf†6:tå°u›GááÅî ã¯'ÂЩ—&aV«?øæ‘f©z‡íèžšÒÍ`&èâömVˆl^‰úªÊ]N¾Ö)£µ8±ýù_ÒŠ4Äæº™ າ½3B5’O„gi´æÍÞã8ÌãWutgŸj¹µz­ ѯƒ#©,X0¶OçÈß–ºÑíHx£ã›>ÓXLpr%sÏ(-WZ7oÐï?–t[KŸûs¥î_ý gSx±ë¤[Rm9ÂteàDã¤ÈÒGÕ°ïž/l¥D÷Kþ¯—Ñö»-üß y©} É¡Íêï©WýÞeåÐâƒpõ ™éfs <:B\€F±w£ÀÆ#ÿ±Jyk0zóß4¦Q%'˜ˆÿû—†îð]7´Ò5X\ƒf\DÜ7÷¹K‹€o‰Û8w¾ôõ±ñµ]Xî¡èÒ%üÛû ½s‰1¥gO‡º ÉXY@q#÷ =Oª3–å)‹çª7µRRŠd*O?y°é“:•LqTý¹6ÓÛ¸aÌ1ÈùQT[æžqŠ¥•Ü2Íþ~¾Cº…—Q:¥¨yóóp˜d5ÆMç}êÝ~¹’)![Ý?¾§ßÇmk£Û@â8ÚPÌ_€6GñAÀºˆŸG¿û~˜Ïáí*!âg/¼ ÀdéçÍ UsØp ʹë Fƒßó7W’%#ÚKãxÌZ[f5àÆ•ªÚláÈ0âßGc©OÿýgøD‘Ô¶áj ·ZÝÇhÉI[güŒ_<ߘ_o91Íòž÷Ü•h£â™¬?wõS°«d—&ÞΫ•ÝÔV`Ç¢5ôµAd ±$ÖLKî º¡=eåò ú9’*½ï~à+Ô«°mÉ\0è—úÌå h—x—wCºQ2H×pŽÙKA±×š «ø[ùïñ2œs ‹N-½ößö®v O% …­ØÃYàï3×U»T¯û»)"TõýÊ'ÜÆr׃¾rÁ¾j|gd¦'y¢/´h‡Tª§Vs{µ?ÚyrgÆ£lKå4g ¨KíZq‰ýàM;íÙþl¥â¶H­©î¨ÖJHÝá‹-Úœ\|ÀÍÄ Ð9V¿ÝÔ~'ÿMevÏRĆæð;:çr‡aR^ª(ÿc[)^߯b-“=}|2i¥YæåD¿Oh&G hÇÎJÜfÔŵ·Lç‰'Œ. 2ëE= ¯WR¤ÊJØgŽ•`®Òƒ~Ô|¿„àiá©•GL˜&ÿˆ.ßiÏq<îM¶ÈÛ†|æ}ääé£à"¤Xþöè»Y•8’¨7¤oA·%Q×c\Ùàp#üu%fµKã­ I­Šiñ«÷n¾i‘ëÉܸÍe ¾ÿÞà+þ#£ÍCû–l€öY#@×ñ˜*öBZããsmH2)5t¬ ™‘¡ ñ²\€Sq@Ø‘p¼hÒ”¦ÅñCŽ¡×öÙDžŸ^*ë}Мé¨f8™kÃA~ë`$¥¬òæ¨ú'Ð*É¡0l›mÿ¼³ÿC×US¢æä­EýqY“Œä¨ì†þm6Áòon†D¹%8ЛÑñͱž¦Ag½÷Û¤}u®6Ò7P “ÆÃMH\l w1üü¤:iß ![½0‰ "Ÿ¬¨—'4b0PPy…?R.|n¢„‘›Ó«¾•јZ#ö"õÿ æ*[Øöøp¿ aúQè Bv£<µ}ªgs ©àôNÑV÷DÓ€ªú©ÙOsyk¤zuà®k1±”|k˜}Ú§/ü„¿zÝ%³&9J”!½¿éœD.öѺ›¹µ¾ !/IBí×Kà‰q@¨ÙkUi÷Jî…KXl`’Wa×'^QR6·C¨Sp®øþí~å±s†ËÞén¼£æ6HCoÈah«qÙ|üée¹¦A¬ â¹á#\0AÚ‰5NdÌH¸Ík±ìò/-·¸£ì¢À /ÍÜ(5W­G!ÃYPœŒ*ÐæðÃOd˜ Þ¨AA=I‚O;kK2o”j°½"»5$Ù‹8=&½‹½…œ¤ W3Û'"ÓQΚ6(²”0j<€Ö<ª¯paÓºörÓ¤^ãÅ9‹uåØù¿:ª.&ðHÄ+‹V»dfÚñ¤Ñ×(ÅE1cÓ.¹-³‹½#êS«°RxšS˜3Æžþn`ùv â0æ\­n@JͬtAtf•íJß<¦]0‚Ï)´/žG6©Ï­¿\Ø!B¡CPÚÿ¥Õž°°?žB‹AÂ… ûtï—/qSyö:z·–¢i ÀÊÎCJ#AyëÒk I~#6ÁMsl1å½8×i˜ZìKP,¶¸ÃO\¦îДÎVÜöÖ©¸>^Ý,g“fÒÄ&¦×)÷Kï´;ó7˜oŸsFˆz¿¯sÝ:<ÞPé»ZÇW3GÓ¦†è\¹Àk‡åòÀèº9´³Ÿ~N¦Ý·ˆèýš8P¯¤DÁåýJ.¯"æ¤ÈTî¶Ït¼4¿jWUü…f ­·Ýˆm÷ ´O‘q÷[$\’AV|B#‹:\4wybÖ3-zëîá3)+Å(Ö÷PŸ…¯¹Jyæó[‰ð‘è –øÿ…`‘¨Ç/›´8¾|»?¥ A–¨Æ’‰I±NîE"½†Ü!8ï9ô6=w©è.±`¾¯2'ö@žg¿!湜 ýæHœww|6(¬`¨Öâ¹nûÁ–PjñüÍÑëƒQ÷°z6£,RA©#mnY 3 pQÃ_œŽðÌçü6²"còýå*ÌSX¡cí•ÏÅÈ @kŽBaßÖ%¢A1ùC÷ÓUO!Ü©þÎz¥GêK¡¹ð‹(ålfÏ/ŠÀØ3íÑchLÞ™c%ü´ÒfzÀ«d‰ Ì6í¤ê¥F†Â˜¦Î<ÿ»AÐ>¬Œé;å Ä7S –ÿ²Šø÷)óZf|±¤Šlx¨¦@©;‚ž±FZÍÜÇÆ™/'Ý<{¯Þ<ÅÕ>÷OÚL±òbikéRÝ[ó+_f¤‘j²‡å ”ʘÇ=ˆ#Ѝ#˜~ž”—:‰ÉCuò>v&ލ¶ô’ðkm+f¤\ñWäj\5–„‰¢oëÊý“R¾6pk[îÝU(ëŸÕ·Ë˜ñ´¨0³Ü;zÃZÆíe[ÚZ†›‘ðBÏU×ö‹—KFǃµÇ‰¶$[\+{èˆ/ANXÙdµFë¯ÎÜÃÿ\tJ¾#º›Ý€È G‹÷}wn9J‰"9qK5v-¼nG È”ºíkU7¥A±¥uE‰®ðúÛÈÛú¶þªÌ;@Bc…ë­Ä~A–!µc‘.?ÿÔ:6¯(?¢ËQ'ÓëKÑ„Ðôª ÞÝÐý%lšÃpQÃ5ãœèS}¡‹ÀÐ lCy”= äÖòø Ï JÇÔHÒfäº`PoÀ1¥|à×Õ"Y‡Á-ÄW„ Vü|Q0(‡å YU¹Ì[¦t±qs ݨ®ºÛÝóJw19‚‰ò¸™ãÒ@ˆ*ìº ­3¸ˆÂµïUÃ%sVst•ÙÛÓP÷Õ>6—ÑçÓU†˜˜T˜V†¦˜áFG)t-Aýoí`âðõ‚ÌGIÏ‚œ\Ö/¥Ù5*@ÆKkwUÀ\%½_Ù¨±ÀhKÇ#HC¾ò-àÌgš±qY#ÖŸæ}ó´ƒEþ7›íÝrx; ¼=åFšÑ®-Hî 'öÍ©#ûxZ÷oþœ¬gò»y9Tßøò)Q'ûŽÒ2“K?¸³ËÒ=åí¤m”-\ö´²YðÕ¨{§9Ž;$ŽŽRyKVÑÜ’Éùâ‚5ÆŠ.OÁº±9årJÜZ…šW®‡w÷¨ªqÆr|üQøÂüé_u«–@¿ ÂA§QãÃj\VŸ %(g;@Ÿp Ï¥‡ŠS¤>˜•ŠÃ,§öÜáWÍìOØ/¿¤'ñù(‡,ÄÅ1ƒ¥æxgǶßñ³¸ÑLûÀÙX-9þlÌwàß~F½Oe‹³Û]}Ť¾/aé±}¥¯ôŠÝ¢¾O‡½úèk[ÃüJN6ŠXmøæÇg0¯ð•é˜MèYhÀP#îÏË/•ÇU¹eÝì¼ÈÛÝi€´ÂÓ”¿×q[mÐ?²Ÿ~T-ÍLÚWÐh7çn‘Míd<1·Õ§™Ãnë§¡fq%¦’à’í 2®^¶NÝ) ¨®€½¯oioÒÃ:ù;MSìѵ:u6iƒ$} GG²¢‰ÛÇŒS$óÒaÆA]¬Ñ÷¢˜B?y´áÜŠ5Ó\fðøc<+|Ý£ÁÜ‘9o?Äö€ùò׬š7¿‡ˆ½%zÐŽ_ùî–$\ ˆ©×²¶ȵšîCçÎôä"ÊÔ;ŸîCM‘ÔLÈê.gK1`{Üùztm൛aÉcÕà’þH­‹‚Öí)9­W´¼Q)aq2\˪°»$‚!pÒšA!;„90€¢.l"×Aƒ÷ªã1, %&—µO´+ß—¿Râ”øiBOÕ‘šez‘Ç#8Ë(I¥¼ŠUÜì ·ÉÙ¥¾êUŒaf¶hMR0V9PÏLc&KìŸÎÄì㎠Ûì#›PÛÍ›¼L]ÊÏiî,Ž]À̲[ä¨È»W,mlîüvR'âkOOT™!ÜPäf*Ù{¦'ãˆìþ).<5Q¹É˜1Õ(XZiV°}RCœ¸J|Ï/@à0jíµLl‡.ŸoÇ–üÍFÆ%]¥L¸& íÐDŸ5Q…hû¶þ×'^ 'ú6aM7›<‚ïÓç¦rlc뱘ù!­ï#ø¢;M¨Å-¿›Øn~íž?,Ç8\…NÚñÈ„žÎrèÓ|Ü//®’Ú¸ ¹™´ºD'Ux‘£ç;o¢÷7wNM_÷Î ìq„÷‹0æ²!Ýs•°–ÔO8…¦Œ)Žþ¨±J"jo¶ä^›LQ´1`û„ ÿ¸kéw$avÜ=riì$1¼H³hNïø…@|ÝÛÙÀƒ nÃÀPWWÅbÅZ(wÛŠjäÑR¥ L ¥%ÅJMró |®%-Ÿˆûœô°–ÏùÁçóÙäNtëbV¤>¦H¶ø5‰xà—}Ó+¼5G9¤.+{Úßþ[PW¡-û¨:¡fÉ,•^s ÖÖ%¾ŠB¶ZÙ%׬ ÀIɸõEŠ¢ßyÆ¢«3ÎÝ#Z d ÈŸó¹¸ßð!zÒ_î€K#&ò&»¬öOöbÅö<-ëÙVb6‹tŽY¨³ÍÄL@K¡L×H÷­ÏâíQîh;®§¹Ô/û‘9*æ{˜-¢V²›û|ÀØYÞržI —–0lã0‰³Tjá×Í“ƒ½¶ Ž0°Šu+ ñLMÓÛÈ?Ï4K}†¯ØÔ%ܧ»}VÔ pzµHkV4Öò²GL–°Ñ¤£üüÏßLÉÆ¦i—þ3£‰ÙšO×==HüÂ"L‘N$ ‹páaë¯ìj”ïÜ>E‹1ˆ•¦AºRwW ·@5i~†åÈù¹ˆ›—7¾ ÷'k’ |tÒ3+öFÝÓæLGïjİ®'º]‰ö•‰Z1U>6Uˆ<¼ê‹ÏTPÍ@†F(aÐ&E߀μ*™š„É'·©‘Ýëï?HCepjbᦼX r"Él‹]œ·eïNYÖf½ä1s Fah5à(Ïd¸Œ¨Û½8¥É›´ZI¨Ÿ°!a‹׎C}x] «^21£—#x#ãšÕóø´¾éo.øHrPˆÂò)ö<0%+uëkñ»‚‹ áÒæK*iÅØ–še6M5™+9ᦜ2ãÓ¾8ÅÚ’Ö!E)ø¿g!AgDÔ.–óÁ„{ŸaÄ,ÚܯòúÄ3$ì|û¡8å/æ0Y-Ý‘ÓÆÐa´>mƒn…®YzG!•ÏQÏ6ËÏöž{peHyytÎÀ¥\uÂWÙäP 6Ö yŸ+AW*ÏPVíòó1–Îü’˜Ó²€ßC‡_D9KMôÇZšî#Aî+åZ›M„ÓÉ䷵λÇÉYù¤úÁ^Q‡É>Ÿe +@qëH$u¸»"Sa: F+›,ßÔŽZìåýG¢ v+{‹LéÉÌúÔ‚…ÚŠj4æ[ìÌœì†b‰½ÅÞþà¼J´–$ÌõL³Â‹í~†û ®ÌVbL@ñšûÙÕ£¨uaèçfA™¥"Öéy¾EÀrIðŠ$9â ÿ™Vß_.¥DrŠ¡’¶¿«Qmï‡-¨*˜P\Sî¾U©HÔ¢.@Uΰ… ìŒuqFv/Å£û™ÔJn×¾;5Km»wB ÆÊ’®ÑÝ!óó%è;ŒU3¶—ÄÝüah' ÉkÉ}®~KN‹å•/¡ÿub¨<š¯åJ²”hµp~B ¡Âl(ú·µÄyE\|3àÂd>¡ðÏLŠsÂÉ;Ä«R68Qâp?zV:Xöö,oÝ\¨^0{©‡R¹Ø\®ì¹õ-ýOr·t±n,«A,ÝààÈž Æ›û>;¾ÕS1ÆžÊ>ùšaÓwP…ÝgÝé‡ÛtðzXÏìÏýàèQk´ã72H—fìÅÔÇ Èšànƒ’Óï†käºS~ –ðç+¯—­¬:Ù*fRžyùèÂ,c´G19d·–¦…±Bpâf0ðB`x(ÆøÆÍŠdë9oÔá–‚1¦Â!3 uÐ)(¦ÂŒjyü0 x%éô«(/«$$Oh-ñW°ä•LB2Å‘^ì{ Ù×-)…r%ìK”R¾ ½ÇÁ²X#åïˆU(Ívìu]jKbj è^R p­ââ²ûês.@«ë£»©Oþ|uDÎØr壈k!hEÌt1áa-·Œ}†ÍÄÿQ9Ne¨&=ŠÇ‰z­uU¤•õ ­íb=K‚-–˜ ÏˆS“ºXaVÞ¦î}˜{Ô=ð$—ð Y›wvsΦéOZð„=¯€šþµ%‚ÙZ¯WŠÃD`y'µè ÃöØÎ(&ÜÄ—e›Jµ¾ÆÒ8‚•I Gç#xıOÇ#ï=]R ÷Ñêö½Ñ¸Ò*•­«<`P”½¢ü+MèUuuåqà(¾¦/þ±Al1M5l&:nÊã‰N“Nz§7qtÕÆzfêÜH·}û3¯æ’iL‚‰€Nõo¾µâÒ PXoµü—¸&så—‰Aœ³Ï¡¿#©q¬bš6©ß·àŒ‚M·5¡ˆ·¿³fI{0Qqž<‰¢q =ëæâLª–{üб>®¼L‡äòEÚä”[ !Øvã45òOûîuoÆß‡ËZEOð1Ê.½6òå~ýN†‰»û²¹ãcmð0¦„UÅu¬# ]3fdmp¯N»U÷ ²` Äú¦À3 ?u»ïx¬öëm[)#US¹ÿ?™ºj„”ƒ!.… 3&òÖ‰oa›æÃÜ5!'øWîã¶t›Md£!d‚°M%OUÿëÑ{3ïïr©à¹yùtåa*GTÝ'²ºAzŪ;ð]Pµ¯Á0ƒÀàéZ•äŽ×22…Ø•v|x¢xïä3‘¼’`Æ“t}ÊLžµ/ôÅ–W âS-L=`m³²Ëv$+b¥Z–$ ëøÿç±T´é²býÏ([ÉéÝ­ZÔ«‡¾Ppe—;ÃhRËŽ ©$oT0òŠþ{TXFôíJ žI£ƒ¿ù‰¿’aù  á?¿4Íñ§Ñl/r±ìvìcóiàlí﹃¨¤^¥ª6#Ë— È\hq]ïL¨Œ”9êpï _+ˆöb{f14²}B™ Ó/ÇÙÛJ~ެY+šv?ŒÎÝÚ~ìFé¤Ën¿ñ?&ÿÓk–Ú^0í¨{¹×c2ˆQÃf¸„G÷I“¬¦Ü—JÖ$=yòQÚÍž[¥ÃÓ¯ä M ±ÃîÆ¬Gñ¯æòë1NZ—|dìÌEå ãýÿDô©8ØÒ¬á-£°ó¾Ï è¶2лócˆÓy,R¹ãê8#‚AÛs]­‘Š‘ªü±'•Ì"úÇce;Ic60Q {iàõÆ‘!=TÁ€å(†y^3M€ˆ!àË;¾?F!ÈÔ=lIô‡mªÝ_Íh¹ÊßpØ›=’=ÍÙ½r Cò©—\nWÍÐAO‰ÚHo|Ñ7IP²ÏÂǽh„i u¨†gÞm.3y/^¶FJ/¢Ž¦{•>ub.Ï(«G±PÅÝ_Ð3ÂkÇzÔ²QÐÀ0^—óï›h-©’Mé¥Qýë¼ï Ä]Ú4-ñˆ»KRŒ· ª¶}'Rd ÔlS°âŽ‚±‹÷bô7æQ—Ñø­xþiŽgãÛ>XÌ{Þ$¶(*ÖP®H´7 ßA$V}¥T§Ë+DÓÖ<ÆZ•Tô*CNA‘¢Ç“ÿ’Âümš‡Ó8‰èU,!èÂ×ÍŒiƒL Ê1ßli—ôD™ËàÍ}$—¢êóJ!ㄼÏZÜÇyDÏåÄ0üÖ[Eôžv‘ᑇñ;‹#}øg›µ± -ÄAXîÙæ’¼rê9æƒf…ÜiyiÂÊÒÅ{cú€Fis÷ü¢#høëä/nŸõ7Þ]–M=¡‡oh¢N]²gïÑQÐE`Þ$"»ý¤ÖŒ“G:¶Ÿº<~»|X;©Sm ëOqû•€rð+›Ûª“j ãñÇÀêðK .|¸ÌŠ{WéÛ0ÚáAÕðèÕÄq•!Œž!CKQy™‡*ƒ5 *NZ¸pÑ€0š1ø´3S5¸––öË¢÷‚Áø>¾%ÄxºíÍdbè4¢k}öȆ2@TŽ«çÓÅ’L•j’l"º=¹¦Úƒÿm –Ö{¹öéóÓ·ðù¨Îž½ˆ lò’– Üx @ih· ömõI´X LÀ*«Á·1uÉì‡Ú#l5Ã.wFJæAõAŽ›ì öD©×mÏfê5£~… :òòO%>Ç0/?Oº€Y˜›ôéy5 ü ñþÊ…úW °‡³´æ¢!ÓRJ\m‰ú¸7e‹®=µX÷nÅeö}dü5)šxŠÙÇUæ<Ç_¼“AR6Íö? êeGeú‹\ÞS®'Ô᱈µ_¯>zˆÎä6(qb Âíp£t’Ýþ‹°Yžh>#Q‡³µÉ{fŸIÙÃ)Ëyz­w§(÷ù3 %ë´½Å.¸pß߃«Îr~’Õ*è_|ðÓöö>œÂTJƒ)ß'Ón—fEŠè>·³öñ<›½%Ì="+ GŽfÄ!Àˆññ(? Ä~0 }r uá_4Âæs†™<ºYº9ûº.k~«S»ÄR™ó•ÿ`RB NzL.„Ð}ÑYšÚá³Ï£F«ì'ê°åw)96”\¶ªt‘n,êÿ‰Egˆ¶ß4|õÞ_ÚAõA5¿ÈpÇUºyÌ- É–ï´Ú}û0XÅÛ È¯€ Ã׌ñ5;ÐãQø@ tÃ×Cbz:Ì]ïk~T|8þ pE€ü[¹«—ö‹#¥¯ ú½ÂLfUÓ3€øØ8µ–G3`œ½,àÀLÐÜ^K0¤JßÖ“œHàŠ5¯ÄÙ5‰©ïÅ\-vƳ¥ïJŒ´'7 úç³:ñuƒeY™l7+á{‚œz#ñ×vªè1¡ @cÌ+¼¸¹ lj^"nXÍ›÷ n¹Ÿ—,qSWÖ¦´WŸuok‡e S^¦KxíãTñìýƒÂ&/¥Cº’²'ÂÛäÉ$;M»Db1_f«8%W » Ìq’ÞzRp\<ñAµV-iƒ*Í•w QÔŠ7l…zÃ?Dâ¬h›ºÍTõ>a܈3Ñ”Hé5ê_Á200ZjšÏÜ‘>ÊɰœÚ)ÿ`(ñ˜&«êfšÆMåœQª¢ßkv=‹Õj6…Pž#S[ˇ¤ùïœÖíÔssªG©¬Ø˜ò¡ V·.nqnÅÄ͵Rð=y ¶¸¿þ=¢™ƒ93àÅ5rhîŠð&4تÈ7'4PwlÅn9,-Mò®áÙm™¦t“O`©#›å…éÃaLSý“Óþâ*]³*7¯8<„mMóm¾¼Eù»À&AÉ9#DÖNx«·s ä?×ºà†´Q»—NAÌz3»½ m´+ïvCx¯ÙyZoJ\3ú/z[»›ë|!³ æîÜE²0ìByÖ-ú)}2‚Z:¶lö…r¼wŒ 'V_ü+XL¦¡‚²I:÷·Å™Œ.×ß6ƒkZ‘‹Å§‡%?pÅÆõÀ }ªfY͈;€»ç¤$©Z¾%n¯ñIér-Ð GýÐŽghdŠ+îÈÀ7UØ÷âÚüÞtßsЬ?ó|Y6BzÈd©ãÍÖYbk++·Øñ­Òj”³[ýM‰H[~àš§gÐáZ’[4]U¤ÝR–í¡U«,$ö‚G?Žá1‚ã<†3°÷í÷2FÞF1þ}L `…E€’a]²2Ñ—<„ã]¼ñÈÓqü¯¹¤€ŸYÓÜVdšŽ2AŒP›³Í¯68 Ùj”ªGD`e}¿{?Â¨Š™ä†Áµ4Qî@Šn¡£ ôP½ ¾ÒQ?/“*OKCA¯‡†Ri¸uD Ü8~#®¨hCıtÇøâF¥ º€?`ì[]›Í;æ¾tü“èÆõ=*žµÜ]#;CZ:‡˜^ü[ƒ|d0g@bðyËÓ >¾så÷®…4P™]P¢®*õ«Ug”‹£:ë)Ìw¦'ŠŒÔçâVæZ}µDlîÍ÷yXzÚ}&¢é©ÊKçù2'`åÑŸ4Íù®Qœ:kâë ˆ=íÓ §¥îïh•‹ÔÞôÞ‰L¸JŸ–³¼u¦1XÅtE ¦ý¤%]DÊÆãbÔKîS ̱×+½¦›7ã„–kűŠË)(6ß÷ºÕŽýìs7Ñ€÷nUÎGî™TC§Ž¢›öäÒõ’S]ÿㆠ߹vá#.ú¨ª âü"¿•uTp‹äó}ˆå(Ir¶ÉWf.1º%Ât¸9-l¤Q d4ù´Kd­)pžøŒ4(KBª>ª!wóT_ð/ÒÀ\ù¿DÌeaAÎ* h…/½ÜÂbšÅÜÔ’F:O9jN 19cy!žV¿ݯ*Ãʨ´Š rŒ­ÉÁî…$ x PzûûÖpSL?UcZ¥[¥(ƳÀÜywãÌ> =‚ú‹Ð¶úµ¿{kžÊå–ÀÔA˜¹Æ‹G±º†‡¯àÊ9ž”o ÁÚ+çN¹bèð.Ñ÷ÎGŒü‹y âD;åKÌ ¿DN5AbÑgv›ô̪GÛË;H-kþ `"Q[vÇAûˆ·aʶrÇUÞdÌ"QKõÒ8PßM‹-ìáùc%cÊI~`åœxéžô•;{ù6)–Ú=U¥âTC•:ÖÙ"#””žF%Âÿl–§Ê}Æ,×ìeçËý=hAvCIÜU*ï[ͬɅ-p"HÙÙK Ë® !9&– ‰O¤¦w‰ ),¶šYoâ_ÃÔàc‰±®\…°>#FìäL¬ŠÎ ªAjÂtŽ|ZÐÑhë94ÈýW-çïÐNGœûÑew`îèó—W‰ï&öüêšüÕ˜xâBÖÛž•½H¾åÕØšA–" `Ž„zZ:²ôóZ~ƒ©ÈúÏÞŽ¦iyGIiGÓR¥‡i£¶hh~Ãöëà¢3Ʊt #}Ö!¡-d^ƒrÈŠ©¡`A/‹»ó0ÇWâñ OIÒ…Jþpš¬öՊߢÎqb\ Pá‡úº?Ž †™úÆPÜûéÿ#Õ¬ä¯(¬ÓÊGˆ ¸g iifãÀ«%NÁšžbÈè Õ•]|\ý­Òj€ðÑ«’Õd?šV©ÅOÅ„³\n-ܪ]ñ›0Ð÷ÞЮW$ µÛÆß À/’°®»Ÿ\ ³ehÁtçî<ãhª£Z£2ñ½²‹Ÿ«-î>1¡ÅæW' çº0 ¿•ésÙ—ù¥ ùŠ4—¥Ž¯¨Pp!×åÖµuj]º¡Íex0^€îü>Mð*És`R.Þ>{ ‰»‚é*ÎJîHÁÖa ”ܬ¦ÎY3ùEáôk™²Ÿá);€æÞì„’:òlNvy·ÀÄÑãX8Ëÿ™pÿʶÒ7æu“O5’¥ Ë“…•új5oÌŒŽ}÷ªRÀw? kدٙÃyœpå¡kÊóâ%²îþT÷Óýt’•g¿­wŒÍ‰¯Gp6pf<´HF¯çt@2¤3ß|¤9eüUr(œØ…µ®xƒX&½Ü¿€|OŠuö¿ ¹ÇLY$Q¢•î!¤ ŽvXÉ-Ñ9! X0w3ú ®£û¤,ä%ÍÀ§ž†êoá_ý lC÷#ù Þ»’ÜkjÚ,ç¶y¤ðéá´“ÈÙ“t|1á×&Õ±aT$T «P,ã›j•Ô.Ë-9ÌE ëV Ž |ŒùÈiøˆh”øDOòGv…AºäÎÁ¡Ég˜Á{ïüˆ3GÿÁè•Ìý"Åò¦š¦•äÛ²€¼Õl©Ô#HÌ‘¶™ƒo ¸õ!lãov“wS 6’ÇÔ³ðk,[´$ôœ8ÝžMÛÿôaаªÇ™amáðÚ<½´¸aÿè8\ôÊÎl{A"â¶›4-ëëí™E­• %v‹’&šH›âÛ5ÜÔæ“‡ÝOôžaμƧ‡’IxoÅ4^ù¿÷ôì!¤Úئä"Ô<{žÒþ÷6’º"'´’:Ý©{D¯ ´~ÉWyÕ™¡ÚØýÐØ}¯Q)‰j¡{t¤y”sºR3.m"fˆ˜Ôjkæ¾îyÈŠ:47ož a«¦b&RíÕ-óLÄ++7Ãj­´×fÖïxX}5·VºÐj`üýíPóa’”¸kпKÄât‰'ƒ«ùë¼\YŒ!Ð9ÕÌëCáV…¤&se[ŽÝ¦a§;læ/BñEXÆ•Wce¯iLhóhŶ}’ü?ð²,H¶V× 6‚_|£ªYéõðVùá°RF¬—Ê|֯ʄ´™:µ;.ï[]$ 9áÁÙZ?feöø3‹šþ¶b,^†qéÖm"‡ý1Rù|[dnžvlkZÒ\‘Æ$ì~Ürñ½†mNÔRvjºÊ ¹ÍoO<ù(OÔºqn¿òïÿ,L—å{°Bø‰Œ â£H¶{ÆÙ/Eäëèaº’.EUf|Æ'íì{«Û ÉÄÿxhv{ÛÁù²;/Rõ1MwôþÌ5ô┎π!ž: µÁ>Oì+­µ"ú`ƒ[·9 RÒàšÀ^k‘øÐo?·Þý½ƒô$È6>þÿ{4¨ºfÔOk7 Gs%Á^—Î8qe›.8>?!"lþ$œqyV”S0Lk®n® fTæk »Eœ[®Z)‘±<öeÍ!™_mZŒÒ¦E»ökcP«ü&tÀm”ÎãM|¥-DÔˆÛß‘þ^:µ÷+t€šX­Uéwp.Øx(’}ˆ•ú¡ HÓà‚õHHÊf׈_ú§DÅÄ>‡Í#UÅ@™U*ÑYÿ®ó¿=®q(F@ ­vñÄý¿RßCy!o¶ïwÒ¼¸Š%W)¯ÔAx²ž›AåëÁôþ4“ÉÜ•°™ /ü²U¥[ [l4¼E2|Åj³£ææa‹ªÝ¹ÐíE@€TUR+êêÇíxÜ“ù_<Ã_{ÿЯ·±*ÆYÕ¥NÖ ~Ð1 QI¨§KvXpÅÂM¨óª;¥ÿ§Å=BúxºL cǺÖÊ{ ÞCZ'Õ Ø¦ì“òi÷eÃ"¶<_K%Z'<ðóø¸ôh¥2Ã1å Ê‘; (šÐæùÄôüÃÏ‹1 Í;Nèc¶"iŸ@ì†LFqBìP¬l˜¡ê¸4!)÷FaÏÌ4ëÀ$LbÇ´Ší%¢d©e¸Ó”Y ¢Á5Üsö•LP!¥xRìr^k Ÿ­\„SüâW.'’[\‰ WzŒ¨¢¬hn»ìX9Ë8ßè<¼7ó²QçÖB¤‘Si”Õ’NÏ×Y,Ó.Yb‘I¬þZ(ɼ'Š" ðÏÌüË.vž+ê)Eœý¥)Ö«Ìç7òBW…ŒÔ,sÑ~òîžX AC‚˜6c-)Sbp-±c¾Gš®^!LäßXÆ›[¿Óÿ «ÓäƒöÇ£ÞAIqÞYØÿa›LÏM§L¼ˆŽ­3mó.¼ÁÝjÜiÚ¿¢}WY3´tüCh\‡ªçO“_‚ÛVRžc4¢Ð\×¾Ýÿ# ¸V‡‡p¢þŠ>ÿuÅoú±ûó“¯QÜrÔÕo n…9z±¾àQõ” ¸/®ò\A ÃMX ŸÅ‡‡ÒTMû@Ãå$ ­¦``H—(VN+WŠÜÐfð×KB» ­ÑÐvmüܤ÷‰C™‚ôv|‹_¶bÛ4-ñYÌ£Ößê’Gû‹v¦^©ñ“ƒüBʼn…°—ÇÇ §oÿ<²pKAµ‚Ý‘‰Ÿ ¯nh¸r²oO7 üBèÖ5p¬±ÐH l‚%B@zBbuÙ©c,†×P^D‹À4ÃÕÿz ÷A˜´Q´W¹±oõÏü¹ÕM Å’vÍÕ+°ÅMó-Ç -[oÛ+À)7lP@®–“eÏ"®„*§‰ÈåûW'Ì|ÜìÉ$gc"é¤íÞŸèåå2 ig4²wÝþbcrŠž¼tÚ¡‘{W]&øæF]8´è”U!—AÅÓÌ:nµlzò Æ#g<CÝíõFuþáˆ}^Î)%óÕÒ}ÙÇ– ,åW;^¯$ýíq(8CxZü» ª‹|ýâËÛgvî¼·ôÒPÁÑ’Û®oJ†é7³Éuò¡²åˆe`ýÄ!òâÈiq’ iLd.Vš  )ó ÷ÇØ=BÕÙè_ó¿}Õ°Ÿ´ ‹s.g>±ãŸ-“¨ª]q”ÞŸwaûïœ4½¸Aw«×E“É%Ä™ŒDÀ³IJ]vDa^M“^§’ €ñRÔ]ôiC·ù.ÈQ¢* §Ãlt)Ø^ˆÊ¡¬=è3B'£È_™Ö» Ñ¨f–ÃpûdÊ gþ £Ê6ˆ¢G¦-6õírÈ]çaftJ:`¤úäŸXwý2Nk‰xïÉ­úM‚¼\mÍåc×®õ”ÝEØûK¥Ü¡ðéT×¢ì{]xÃ¥¾=xÈþ´fÙÿ^õz†:Ñ}t$: ˜¿Ì7†P]: NfØ+ÿèx¡€ög¤ô’Gð3”<û8¤÷ùl_ÊCb¨m7IÅ]ÎU Û(3ÂÛöÈ[HZqÉP·Ô.³oØ+qîy(`ªü&=Ó€–ñb •®Ò1/æÈƵ[¢I±‰›“£ÈV¯ïmx¼ñ1ãh1˜0ár)ª:cˆ|öTgc3çQ1SEQšÝ¹êÇ’4ý´{dÝÖ*[î B¦m|­»Õ­øŠÛÀÑsÜ¢(£}³/%ÝW³f2UàuÖ‘Í«LçÎ?p¦øbüV—B`¢²ó%¶±°Ø.› 5'Hƒ~D ;,ÆXy3k•½Œ"ËSnÊÛUöÞã&H|ö1§Ã$„ SÒ‘“:`YõgÛÛ}¸ÕBÌ„Ÿç!æbâPvcðdi&¡ ¡¬©²œ¹Ïm‡WG”C:#_þÞKùq¼{sŽ•e‰ûâ ËoÉïý©—o+¦ NM¶¹õëŽEãðÕzS…vð GHæÿ(:?šÅÖ‹­ &î¹>ܼG}jýX ê²XMÈX÷«Ý+vη©'HxW«ÛçaöIrù¹*®qn銭:xØ&–Ž/Ì3GZ¶,ªJÁƒªðîDΓݶÆrXÛí#§u¥Å›?î¡ðƇÌáÖŽfÄ:;À‰6»0jéÎÿÕ‹«!äƒ% H§_ã8¼Ýè¯ìñ‰Õ!œ`bd·Wϳ¹fÜŒ*Ò¿©öb¸XE-ƒhüS¥_âêÕÔ|—(Íó.+† HœÈo»vUZJå-Û~E¹¢°ýÀÅçèÝË®{f²ßä£%ÃÃt0„DãË”0a’•DG`¶&¼5À¶6â÷P‰’§†8¶ã#+óx_p…iOoÀi.Ùü¯!**å…[à™Åò!RV„Œ5†}åñNÓTΖ‚ô{Mt{%E5ÏpôVº±_ÕiH %ÜäíÞù·¬ìÒt‰º )4S+kZ&~9/¼%Š x}×¹Ëâ™›{L%ˆR:×ü]•I Sµö%/Å€g*B‘Uz66¬Wí$¾b._"SUˆÈá>ÃÅœµ5œ€oïÉ8ñígùð$ÃÝØã¶É@¼&¾Õ†êŸÝG¾ÀÒ—;–Cá\Æ&¶+™ÌZ È’ ñíš7K}ÕJ¼ÒŠ,€0tOl=¡Š`,YÕÓäÌÆïG w5sÒB0»ÃÀîºgÝH@:íLWãvƒâ¾GÖÐ2rAÌ$Œl!ˆ ý=§r|C&rSjOУáý <¸P³^‘>03°*Bý#z»æƒ„µ)¾¡’ ¶¯+)U+îÆš€u²Ïœú'Eéõ›OŸd# %ÂE ‘d`n¦¹ÙÄa©h¡1`ßJJ\›§îØÖÚyèñ gœ˜ÊwÁöoãÿX„b5Ýš{Ò/›`u’‘jsíz OÖ¢@Y„pUqwÜÃS¶P“ÎMÁÇad ÒÙ€‘r76º-̽Å@:CµÞú¾…vü^ñàÙY.þxÖˆ'å³ñCÕVÛL~0jÓâ²w¡3ˆ9GcuÓ<Š7vŒ_ ¦Öµ=‹®2‘uJÙFFü„^£oG—÷Ÿx`ëÄï^ ÷a1”vÆÖGw{«Õ7J."QJ3¡TiÛ0DÄTjÀŸÿ>[³5ñàZUßÚ`×M¼ï{ÌBK¨T3‰ýÜ—©*áá…ýèæ]“iPÉ‘þý/š3‡àЛϒ c;AV7ó¢…%¥øiOÇ8;[?Ÿ;oü/Ô]‹ò3Üøl?±<ŒÙ¯’ˆƒœ'󛃫G½eôìØ$ç· o„î&xJþq(›ºšC´)âK÷ðñ×  w¨Ñ M[6‡-I°—hY«¾@ßÜ¡ÃDÚâlX&K_EüžC±Àêï³a›`K÷ŒH/Ú8´.!×÷_ǵ_©vÑgÓ}ìT>Iæ£/¿Ùÿ·sYs}4é ³1 lVRõ‚óö^§•UÜ%8…óº×Sú£Ú,½?ÃMC‰!õ¤¸ìçG/hò½E6ä3q+‹H.Ôú!ófIOÈ2«½[hºùæÅ6Z~Òô*1+0µP” Wt‘â@8[2ôÆ ¿‘ßġѕ)[¸qˆC­˜cò$ºUÊX=þYú¤<9RŽJ^)ÚŸvrñ©k$ç¶wõ º$ëæÑ‘VÿQäôF¨À'N.ôÀÉkƒys‡LoàøÒ¹ÿA1 gt·÷Z~R.wÄ ¾Ë7æ°)Ï A´6?F®ù8fV­l®‰{ߨ­P<Õ\ó)±‡~ôº)t,C‡ÅŸ¹0؃ÜdÛÎUÓ2Rj ¦iº•˜†6´c&Ú°l¢NZkL÷üÄ먂œ ß4“v…ð¬LâÕ~ÏE±S+ÿTHYEO9¥s|d6f'„'t<Û°ŠÌNÏ  à9to,òĘåXZ£ƒqëΙëà†á‘MQ™Ø9® ’)ö_V.´ÿ…µ‰k½ø™q+EmਫeïyïÀ:$0¬>S`Ø;ˆT&õ||xІ_ˆâwQÍ.M ê1º«D"ñŒ|KV[Z[Ow³Ð Þaü{(‡’•3Sѽ5fÅÃJ08=ñ&ufºÓìJ#YT•äŒò~‹8-C`j3F¾‘SþHÀÔW*ÔS².†4ß¿:+'Ÿd244°O{Ù•¯•`†þ³ñ©Ýº#Xì‹åu”Ž­ä–*U û¹™3…Öc!Ü&Ñø÷…€#Ͷ¢ÜëG :µ5!5¹vä;°KåžpòD!G¬f‹óK‰:H°€*Vyú tÊíËn-|Xÿàì©££³¹@ω‘˜&Ÿ>OR)—S÷ ¡sÛ[Zlªéín&'¤kö4ŠÓX­=ïÇÏšççÖòŒöÅ7/0³©„<›µ s Ø&1NÒš6†ËÙc2¾1ô}àý¹­˜@”ÒnÌÞ3¢ªÐ+|à°ZL,rê‚`7çòÆÔ;аÁ%°¾½‘[’j¤·0܉ äæ!2lr–<»0 ™šÒŠõレ…%#FµÁ × ¯ºéUüû×6§‡Ü3×DN/u·ÈdJ Èhõ´Ú¹ž·͉ÖUÄ‚Œ+pSq³8;ñXì6»gv«HçTe¢ÿZh¸Vù:­q{kƒÂjÄo×ëL(b´õõúEŽ@g›]WØlŠc?•Ûc“¥ÌM[ú\Ÿ×©°Ô×v;Q (A‹Ì0Uûœöt.ú¬)4ådiqÐ+oãõ4Í?çd÷íS¥jÝ‘©”aÞJ+6®<ý2Cà!-¡JùÄa¾jõ¨qÛåÁ×Êðh3§#þp#Æ,6æcå2ä½–N¨€Ž&ÿ&·ÿ‚þÞ×M7|ÏKf§ý£ô5²|}ûM€§ûœáD”¦àÆeªÂÓÒKïw.ÐL7Áˆ]èšFJ0÷Û+ªQðÓ¦vã:·Û¢FRïÜO^gPm9²@u±!æñ”$;ôÖ/f^omÏ v:Js_Ò‚ïˆõÛõö$ÁÂ8Û!ºóÔ§gOHg·î(ƒrƒè¦ jQc±«>|ÐÃS$‘ó(žG™Ré¢E²GÌ>¹ÚúY#†®ÕÑ£2(pÂãgIó›4é¢'€UG,Ôä°cJ?9”ÄÓ9N£G»éBÁøc"P­Â0Û:0/I†j¼ýh*ÐBCÖ43»Ðó¯¦n ¬Ý„Ñ`¦Â ôÊ@VY]xüš&?Ú lL,ÝqY1Apþ%>ú—¼¸þ;as§¥èX^ª·¾ÂA¢½ÖI¼~0âsÅ8¯Ð@7ciȃ¼µð±ûŠçÅŽˆ+úÇæÀmâžÜ ¤PÂ7kǪà<ÂxÑ àB5'}Çø=èÐèê£ÅFUd§-&˜F.€ìYNË[ænf]&'è u3óþ&,ÿje€¼ÅÉÖ§¸{L¹ÀÈ8ÁàjUçºëƒ}ää ø¾Ì ðÚ×"¾íM÷‰)Ë,ÜÛ‡³6ñ>õté¼A¹Çq7'å¹ay6ðHÓ a¥qd`œs‹Æyµ—üà=µa f_åjx¥®Kâ–]Ë?„# -·CüymÇÿJ€‰ã°y#…©^M4T¹üÁšä 7l͘æ«éuvƒòHÁeŠâ~ÁÅÈ¿Ü}³ðE …ÞQÌÛÊ&ÝÊB$öŽ´ŠÉó>ß2è;›¿œéòÀÖE6¯0:ÍP*œôa{¢ê|^n†ô´\™ïMÁáIòŸ… pp˜Ô ô'{Ìò]#Ë}©ÎC(޵àPÏ\Zw^H H×%T¦Çœ¨‚–ÀŒ)\X–›q ãë,¾ÇïÚË6–°ƒckáñýcE!Ù{VÆŽßµ4oÇaîƹÕ¤ðk6|W’D½J­t+—Ñd7¦Ãµ· {~œÏ™¶Ø¬~¬Îi+DœK$Ê.aÂ@­½h€+Ñ-‚ØK㌎0ŠúCIP8,G³¨·É›Ý² Á5J»zÆ &˜‡ª‡¯=mx”tI'2nMÝ!t5öüz¹«Èük rcOQkßÙ•j©>K";jÏ”,“»„d`Ù˜íÙ>I¿òA«·¹íš0½Q¨3èÂ^Í"rÜý]°@;y ?›@ ýÒ\‚„6Ö‹„¤—_:câIºj@$wûÿ÷yÅA@N7†Ìi!C’H@k` Jh1°y- —¯"šé¸wãÕÇmsŠcBêáꞢó÷Ö"윽óóøÖ§`…}OY!Z?"Y @*1–d ÿŽ Rzʕڿz O‚üšñ»AÁ©f¸¹$u$,’½ËïÉï þ8PîÞ(žy|Égùö<,ɬçuñ«…¸ãg©ùÂÍéjˆIN_R±C¤åh…òU„(u]îïtáÕ[Çø^Eçñ%러¤UÐÏpg|\ÚæÝÏq~›Ì·Êìžn…PªBu›Y.÷Ã.ÎÂÀ¿AÊj®ÜMÀY­<@ñ³C’»{ÜÌô ‰m"N“¾™ñO5³€Þ^#×Á¯†«6ëÖjýËi¯ÍpGZ(æC°Ý'-ù —Ÿ}’زÍʦë•F°F½Ü´ Å q8Á“ÿƒô„.äõ„t“¦(=$íÓªM ÎÛØ”ðÊÒ8´aŒ¤Ú&òMÕñ 2öëžž¼n{Ÿ:ëI¾ÞÝ4¨·Ãï:¥ÎŸÀµ³.¨¾–±Èå|¢Ž¶j.[RóoÂØR]¾„Úì&,,ì\ û¥ñ.[n·:ùHQ ø»B nÄn:¡sþYKZÊKQHà,%ßñô«¹ºÑS/Åjálud[¢žU~ ˆæz%9ð6ð§ãôéHõ°®Ÿ–Ÿ½ê#üýfBoéIJºŠþð*çàÏsγMŒDk}îÇf;.±’ÃëbL•ðˬéõódÇ·Ç“×Aa ì„0fÈEÀ@»x¬ô:^3ŒÀSèÜ”_î€ãðލ[wì«,S+`;âÆíbøG1-?Ü]Ë9üÉ‚ÆÓ5Æ7ï~¸GÌmûí9Væ•màDS•2À†oŒ#í „çV BƒR!í ¡I3æò‚ùýg!¼OÓ<*žÐ[ \»}ÕÙÔƒ4Gxͺý–€ý•âìféäÏîI‚“%6pHÝ "0áKx2lSºó<Ýä÷‰.‡88R|›Ûµi³xYÖçÐ% ÂV|äwªûõL*œûj"ïD–mjé¤Ìs=ÃQžúžd†œÉmÛQÜ4ÄsuÓ,V›žð®-Ôv¯’˜#ÚûJãi3¥ïäø\HÆÇÆõnODbUtÃaSÕã’¬FÄ—´%ÃvÆU+á¬Ï&ÞXŽîäÞƒa¤Ðß"…L÷S k+tG7M"1ñÝ·¶7eÖk Â*3Ç5qO¡Š%þÛ2nBÕÿ"Ý,»V¥ýyLüªfq§Øo®¥NˆçPÖ3î€&¾$Ûs3¯ZaʘðT¤¯·Î? ½=FÊ"ßž&³¨ó¡: Ù:i3—JÓà°Ç?ǪûhÄ>ÿF„~D0!TÔµìÏ›ÇR‡ŠÔE;Ó}¼tOí<VU8Í-Î¥XñlÞ%Цa r£ÃùiŠfHY¡i…ÏïN^ElßéÕ]š  žßá5¥ÇæKi옑d|vµnQ Ÿ~•x¬ó»=Ð,%„ÃlúŸ'“IΕä×pÆÚ#o‘9ÌÝ)åh e ·¬§ÎÜ)¡‡¾Háå®FŸö~oÌnŠ·))BÂ,ZšëM æŠ;þa‹Ù†  ]T[s$•¦Jä¨ Ïº– d9GÐ7÷ÊL¤ÈÆ0ñ¸ÇÃU ý;o‚Uá?]³aôç¡E:ZÕl#Ä”Yc0d€h.kâ#ç¦ÝK^zÒtàÅÔ‚j˘û ? ÍaúÖÛq’¦6œ›úê–8òs ExÛº ±é¶tîx8€ÿÎ$_L´7Ê¢xм§Ÿ7-w¥¦ë´R\©N¿þ–×0¦§ûpú¢U4Ëf£«b½¢»ë@PƒÇr ¡Òµ`7Z$õŒú7l‡ÊŠ m€ÇÅ)‚å;XÏU0-ƒô ’à°k¬ÞÂÙ´‚-ï NhGmîõÀ K8<1휻ãûh'\ÂÝÊ[Á…ÀY¬÷: Z öѵ·ÙK˜å-+”µ±êés›ÇL°!‹È˜¿ÓE_ ÒYíæ7Æ x N@Á˜ÐJ¤Ð¬âþbÖ÷»#)Ö΋¹˜û¡^Õ’íðKTÉf. A ¼r¡#Lõ61;ˆp“rÒ—¥K#WW,8Ÿo#¹žâÎt z³–ˆ¤^c› N7°+DŽ 9šá Kïå'¿N*"Œ\S1ÜÄè^¸MC1áÍ €ê¡C“Y]çãIéÚƒpßßRÇj—ÁÏvßQÅ8^†*™Å½‹Ü=‡b¥—÷Ÿ·ø;"¯tzaš I"Nšèç™”iQ“ÜÛê·®Š€^.µŒå/ÖÂ.‚l@Á”À½yÀÎ’³Oø›HgJ¤•ƒ €âõ÷@(î¬;ßÖ-)´n^F@H“GÅN–Ç@36smŽqn’å"ÅO½ OnÑ•¥­ßõ2âŒÕ2¶‡Â|}rGm¬0n‡M ÃÀúÿh64 O뉽ñ4à©ò*BúQu}¬óÈ5õØé“¼[ N˹§ôó­cY»E¤(ÁQ¤cSÙÛ,Kø’ƒJÉ`(XÔü^zR­Œ¨Q–ÿÆÎÜogoFµCûဠ—a¤Ðn·ˆÝãà¹Ä…*zÒ×ôÒ)S¦‘ó¹±ÝŠ,ž1ŸrÈݽgqç¥,RÚÄW:[À¡`ÞD ²!Ÿ•)L¸Ú ˜,c©Ö>:v©Þ¶}>§Ö䢂0Dì¹W&c*6@jÈG±Änqþ\˜J€§í "ÙÝ"† ®é:+]…´cû'xÕ°‰9Žj•T¤†t"„4`JПµ¡LEÁNQd(žõ›ƒs»yÈáâOëÃâ|v*³ŽKœ­ÓÑDÇë2ÒjN°F.¥ÀCÇ·Ô=c8 •]C¡´vu~!ël›×Â,px—¾]ažñð÷ñÙû´eá˰9G0(=eìlž]‡ôF .ðFà€^®ŠÀö¦u$íf×è*nýagÅå¶4œ6Ch3{:Ï\PFnŸ™5Ëm~y&xS~g’6Î%‘Œ‡¹²Šiºý6Ï$ú‰®z|¨ÖŸd—D{áCRâ8&¨¢ zNR"Ò'ÍD©gr2†Ä9Xª;*f#+CÚ£gø€o+³¸&2ÏkÈv}¼î˜aRö]?ÜW,³5Þ¨w|GI_›únœ´û8T¯,ñ¡RÃ=´šØ )œÃ ªÏ h‡Ê¨*cmGÉ3öTìAEjWÆ*މºì£èúîν“ÔôdÙ0faŸÞn¸¯çm{ôpßZ¥£ýïvUBÖ½ ÷ÒÆsÓ¯Ž^BXJ†fÌŽT÷YGw9ßg*`ùÒ4ÐÝ¥áÆÝ9j¹aÎz—®s„þv²¹nòð¥õ²T;še¹Š|§ù¿% bùXO 3½7ß!´àÑd2/ѧtb_#œsi~ªén*ý½tÁï0 yžÿ$Ýzt½+éÕÛŒ¥Mc+†rœË9`)ûÕgB;b³¸B´ uŠ—/ò™å å”Ñ{›í àKZœÙŠ£ÅIJWmñ(½¯š^_hlÔ ¼¹ ä¼Ú#¬¦ÕúÒÏe7‹C0=Ñ£8Ô‚Z:ŪTd^Î`.ÑDs#´H#¤ý#ý…ùfþl©%Ÿü”Øà€‹ÿ‚x©I9[ºŒÊk}Æý•Õ8¦îòiKlŸÃ~Î6Ѩæü8_𹹇³öBêÀÝ>»X­PY-8’<Ž»¢ŠàUþÁŸbWzk,›ß•z¿ôžÉάzž`êvÑtfŽá-›É<¬_¹³ÉÀ[ Fæ(ÑL58RÿpÓ—ôCŒ¬"|ÆšŠ¾$­/!‚7¤ø`¡8Æ<¿FQŽ¢;aƒÃäbìGÓ^ ó¸”éPºÝ 8éN—¶Å•ïÙ¦±kž{ihkŽ Xw‹ûwà9zÍÀWzi$gf§QçàЛ!Ò¡«tÏ_ÀhH¶w€° ÉLf¿ ßéõ5b~æìÍ<Õ:r¥l{o4=x[¨Ãéï¸çd½ÀÅx²óþÎñí)·žÉÖÌ¡ÄÎmÝŠý¤‹ý:0Ug¯éÛ¹»MŒ±5îätHÚc1c(KÛ( KéC ¥ä1«­OmÍpà`Ì®Í!*ÿì_©a±‹ÙCØxkô§ý„ôãæx¯6B_ ¹oWm*_S¤Õ`yÌüwœ'0!;ë«i½>ßïMTóƒU¼9/&`dü@=söè’N¸i¯U@B8ð¥îTä2u)aýº’ã;»}žÐİù_ÚîÐ pŸ9ð"ŠÜÚ\²6Z;6—%€ù#ÒK4—P¿š·&OVaR— /úÊ|"ƒšìÛ‚ºåîù=ë/ y,ŽÉ.÷3N]X¶éè*§þSé‹sèü RÊÂçòð&€=pM¿#0ö_`lŸè’4ÈÊzÛM¡ÂYSœ!ÜïÜÇK½…"le‡ÅHí]».Ò¤1ô7›ë”î/ˆ•Ý'e7&_Ëz¥Ñ·ÐlpCá˜ûšñ—ŽÔ:¢_p2A %î3\Kãµ§ÈL) ¨Ï=dá”+/¶ÏO”ÅÆÌ€j«W´‚ i³NX ¡ým`Øq|©1O1Ÿ× ¶6}Wˆ@!ÞûýápÍp{ÐòŽÞÇÏ\ø=˜Ù³OµêÀÕˆ„î^»‘÷+Ÿß=§$>-rÖ_Í]…Œ}éCXh1¨í7ª6B¦‡OÝ?Å€C’I¸¾o#ŸäÅ;Ö •?å2l½±î̦€¯FAüvÆÿ\>Iøµ ü“”uËô a¿fñÄå®õt IÈc1tÝGx+íµ”Á\ Ý.óÉíhxà@?n•3K^õ÷è߯X)Æx'×á*€"aìž[;ʘôP½ºæ>pl•ë&¸Úâ)‹kåÿšû/œE ÕvõîðA{ŒdZ;Þ Ò¨¨Z½ ß*·«µÌ;NµózŠ"Í8’ˆ1ôùYu¢&î‚§ØÅt€-ûyžÿëIE¢¾-| QßY½Þ?Á”­Å"Äž1&ÿ7t¡Îs||ŸÀ‹66y’< Q@Ží¿ÝEÌ—¡‡ÎlÁqâÔ¥ïü],ÀÂÚËÕ­tžî@o´Ö§§¸T ÑBî<âT¡òêßû‡n“ªG™Cæ¶ä7«_@OLo©w–vÍDø[|‡bN¥¡V|7Ì­¿Û®me#{ÌžÖ/áoð5¸‰tÖeäY Âlê5ЉfÕåÄ©9q´“!î÷[)ýpÌÃß~aª©ŠÊ3̬lúÜý;]Vå·éqD¿Ñm»þ|±aæòÄŸßlUTi÷Hª•ñÅ]§SCi'ÛñëÀ놽&´’óÁhÁp,'`Œ°…à¿ÌHÜþQý® –WŽ„vC|pD”Å3=ðxMÓ{l¹Ð¤$kšÔ7ÛË Ž ÓªäsòÃÝu‘hG¾ü`ÙPÇ}€ »’±b¥‡œw›õP1—kž¹xÿz=ßdönX¿ü×;›)oõcaá‡JMüÄÚ/Ñ |ËnX§1ÊúÅŒPFߪ¡cÅ ˆl³Gø+TèÖD¡–ÁL(!|H­ùâÐaxü·.4'ýE:²ae¡ÔûšT§ErRWñqÃÙ ‹‚›¾,tAsÉ%+aNe!£¸ßVT&%[!\{§ÓE·jèxQ.³"­h.Î^Jöå8eæ#*äòNšOŠì·GåÑ6ïÞCòõ.S}Åì”…ÑÈ¥ót0²ÈI¹.ä´Æ€vßÚf;Ò;äÔ‡F²ú‰O&BžP÷…OÈõx)/™-ïF?Nõ¨WÒ0[ÏÐËL¥hlÃRÏ `L B7zŽñl{^4t‚•Œ ¦Cî$Tš='ð5š] Vq*¡3‘ó3YñŸëáQíTå12w&YyúÂTú5hΈ=¥–}$ÛèG hpJ`«±yQ°ÜÌã[– ƇƒoäÁÉ€NùÂeøZÔìØÓ&’3²“²f]Ë\ðvr?k6Ämm® ïäëN±êS-Ù’¶#{F¸w¼Û3‹ ü¹ú§7ƒ¼Š€¬iV-UD VC9fƽÛ‰ÿ¹k‡ef z-SÌ=TÌq”µé.KÈ]¨äý–’*‰ä‚º•€„òÛÄûÅ ŸBŠ1O“ݾ¸]eYJ°=:æ$jÂÁ/'µ204ß-мQrEΑ}™þu[]l!?2¨Ä»#ÂÎHTNÚïv:uCVwEàKÄþíp¸-û‚Téû?aq‡¯CDtÿõꆱ0Cb8ip”Æú¿òKª‰‡ uøã_ $c U˜“ „ gEUŽA¹Ab7±®àŸ;§0õ¸ì^ýµjéìe½ÿeŠ?K4WohûU‹QÄŽJ7 …®›ÚŒ·]î7c!k¬}õ%æËµ:yõ½‡ŸÆ,‡Ž®a¥ ºÙ¯8,ˆ¡—ÈdƒNÈ[¯ü/Oz{Õ+TC|fPƒÊ7OÌÏÿ%…Þa¼½î‹ñ×éÛe7ó9Y;9édpë% ‚¬¾r Ž~´Ù A.§» LpÖ¼½ŽùmP*#öcP„ïrE«lù{ 6GµIäH3®OZ²€0¼Û¹Ÿ„ºc¢¿XW@p¹Žƒ³£A³ •è”b›ûoþlǘÐø #£Ü*84îM[ý ûp3ÛwÄ1¹¤a#o?YÕùxßi«ï‘ز+Õƒ—ŠÅäzŽ0IS÷³PÀÈ@A‰$3Æ¢¹Ý{|î}|$¥ð_t¶ößzE¿|•M.ÛLm,±5)ËßJ÷QÉ—ÂnB%WFÝ,{­aá6Œ¸X…~!Ë5Â\,†I³²L“<}t@ÏŸÃË?KYBý¸Ú ù$²IÞè=áFLÁ4¤Å^ÆšÛÌ>}ÚÐõïB AØ¥B¡ë2"88z‰f+ï1ÖQº»¤¦4`Oä‹dwy8)É4| @ž:”[ÛVáðORŒ&´°9nõÙmúFÙw‰ç9™UqÂO/×£ÎçgÜO‘Ò=@Ö…Þý³Ö´~*Ú6a@éøû’â¶j´®nMPî5êäÑdLÄ—î´¢ý_iÜ)0 ¹T× 'àü9•&¢ÖgC2‘d­sÉ3Œêf]¤(–9Êiv•Ù«ÓD¶­—¨¸ø I4®ôædììS—s#Ö>6´+/ü¦âÿ0Úä='ÏÏ¡þŠ”>O—ý<œp#5Zi¦¹lï !ki÷ø\wõxäÄ[©/rXŰf¨ªÈ‚&äδPVîïuñÓ‡Lì»\™8)®u#é0·»õj¯<{ÛY}õhª¼0ÌT¡V§€J½s*Âé´hßejLlß¹…g *ÄÊ«­—Öeš—‘ãŠéÈä¤uE-9ÀÎ:|iÝmk`£½évÓ¢\œÎ,q™Ë%ûÉá!h.ŠWµŠî¥B³ßÿKèDJ5b–ûOsfâ—tµ‹]{ «Ì3£3+(äy÷cÿi>ÁSŽúBæ'}†!ÎÞSÞËö"å ‰ƒg1üh›Ü‚QÚt.R½‹bè46€‚nÌ×"Õþô`·Y)ª.-áÖ¤¬+ž+F '¸”wøi’xË1ì}ñBœÊ'—:ÁFʯA™½•¡«sò¯E )}¸O÷ˆ`Ž0úÆEäo‹½¾ðÌ~œ¾ÿóÒRŒ+SëÁ35:Ë£àÿ^'9ZhŸø½ÍÃGgV ‹ì蹄OgK:|ðK ˜ 1ãÃB{µÅVÒÑŸÛà¹y›øeì¹÷ ±¬ yâ¿ÉAWø¯Æ•ZgOÎ`tÌܶëw]øY¤¥‰á•ó¨ö^0Qx ™¡ï^<ájBƒ}çvê¾ "/PÌŸœz Ö›UË@4Ö}òü¬ïë•ãCÈܰ÷Õ]¨öhVðŠ…¨íQõ swì')âØÛëµR¢o|$D¬/aÌGPÕ^ŸB~!DNî•l‚Ԉù)r·ôš’AŒN³‹v8… ˜äæpLý`G« žíSÓVvötÝÝq_®+_ñüùxÌò;£š,€ ¼?XÉ#Ú§¤î]ë°þî«ÈZø¼ÑŸÝöe!M¡®u|ã_µ5•éz~2:¬Š }?Äë[\¦ŠÆús‘“$7ÕàMWg9h^…ù˜“üGyXY"xÂeñ]ÚÎò‹t]Ô4eùJn𯅤Kq¦"ÉÛ™~-‡NXd^™+W3:³r¬Ë¾c  ?ZÝ錃Œèc…\Ró¿Ad²¥ñ玵¤-4†ar†·‰©æMŸ‹ôñýjH2 „Ïëˆ p¼,úŸáœ¿]®8ðñrb¯D™Ú‰é÷""¼jñÀùU4]a_‡¿×ž¾Zé[Šœò¢ûv®8ŒN#§«}P¯@®Š˜Ð.ÃDÝ€}¸0NAØKk þr2¹­3÷$M}‘\ïöØa^YRlt.-4Î`¬<4Æ¢*ˆªö&ÉÆ5(­•¥Rë`<ŽýÛÂÁ³³³ás‘ú•g u+¿µ±‘ÕGÿD"f‹^dÎÊüȵ*ðìh•ªø {²\–† ¸m¥q-å8ƒëŠ&Qˆrê‰fÄýlà1Â[¦»›²?ØöŽyÜ~[gê\ '°qÂo¢>‰,CZU..Ð ékJñ@ÐAmþˆ˜‹ò±¹8fÕÌjYÃÅÇæ•R–uKÑ‚Yp­¾‘W<©‡–ÃS4û€¿M\N#íWpnÝê|V„”XÛ—HE©3„ÿ¸®Œj_ô‚àS˜‡»ôZ^~T^ʬ?î'ô55’·Øqo1¹û=žÞƒAu«oSãrï¼§WsrÁÔ©ƒ-Óf¸5ÿc˜¹ªŒŽ¥ïY›ju°‚‹XH¶îóåeKå–ý~8µå´4ô ÇžJ¨_ËYtk¥ü‘ÐHÇây!Z„2Žäÿ³ˆT›±Ê+½ýJ2à†­Î´Òz¸`šÕdô²ˆq»)¥tA‡ +™±Ö¯Ù߇aáðp.hÅ‹:§kº+³_æuÎHNܦ¹–¾ß++o„A±œŠ`§ü[¤:ÜÝ5uw™ œ°ŸJÿŽgS¨|„'Òâ –¬5rºŸÐšòtQ9«Ñý?*œ5Û£|Úij-¾qP¤k^vŸ_ZÝnUž –-v¥ êR -{ ­ )‘Ì¢øáX¶¤ˆjLD¯VtÃn{ZîN:u7Â*Ä/§;½)›„btwÀöF´Îæ y’‚´chö cZò.­Ã#·B\üúìfºÉ#T?Bw:=G3Æߺ *§fwñTÏ¿]Vw‘SVŸ,J)=5˜OÌÓA$0žsER¹¾v9Âÿe¹cËout5æ’W3ü–SQ“岪ü¨Y\|…a®Ìæ-?—÷(éO«Årbþ½ÑXg> ‰î:ÙÉøàf‹Ú±3™ù¼— Üz~$,ëõõF8w‡d¹â¿ vg™üAÆ,õžªX hõ‘~Xw`*f¤…6¯^Íó~Yñ½ÐÆœ«¹ÿw0æ S1å›¶°Q»ÔtËî‚ —Q†ã¿<_®r´¨Þ²îžÆŠ¬ç ²#`ù=`E-ò7Ú*—esC¦"㉹ͅúJBÎxOǃ”ôª’FŠ”Ñ‹<ÃRÑRÔ`.soÑ-‹ 7|Y‚± ?½=Ÿ¿ÌsB±Pç &¤KSîæ²!"<‡u…Ø~;ºg)^E…³P^ðÀ¨FœÒ9é{©|2s •NªMá„…øÞUòÓòyùš{¨7”o{™5Ð*3šZ©ñ-ë.lÜߟ~C™%Æf–z¤E·ŠbtÖS§8…çm„"¶>Áå ºC<6úøä8²T¯C^Áäÿ Zb‡5»—ƒ]¨1Û¸Ÿ÷K‡Øm°3¨¬*¤CNŽá> È«K%ý´‰O†('ãν£OüÈɳá‰#°'¥DuÏ<Æ_7Ÿ^&>-j 9êÅŽÑá¦LRø½k!wLj(»$Œÿ„Ÿ¦¦CžPópÉ¡éa¡ÄЋ†6èM»Ð=ñN†‹íÂÄíígƒã韒¼wPZafìÜå¨såCTM‰s¶H«ÒvJ‘Ýܘ§4æ!wUýÛåèEŸ8:'¹…àòD¡ÿ}'ºfsÊe:‘™8·Os_*;LÆ¢f.ÇÃ%ðÂÈÁz…/¨.¡ÔA¦H‡s ‹!YZÚZÌ¢¤>v¤džÅóDçö‘üŒ9ïl¿»´©CæG‹!©ÒÉ¡sÊ6”ˆ›¿yîÅ^ೀ̹M9 #Eª?"ÏÝ~bZþur ‹IwØØô·(ÇQ„‘VGØð^£ÐâYá±âéÚ÷fuœK„]óR…7â @Û”û-аRmIW(âV¤zí˜eQ=»iê€<ÞÒ`·%ÃÔ„u’%á-s.Ê=":]°LTVE˪­Ë‹¡ŸÐ‰ç{Ö5èˆë  ói,›üÑÖ†ǩy…í‘n:ÌÉÓû&T¹Ldžß{uÚzᄄäØHÆi#!ìbRx“TÒ þ40_Òh¯ÊàØ»d׫Ÿ1+ŒÃˆEº›H:,Èñ«dY®©Ét[yBü]¶Ïîvè´X%B\T½ÛVS&<ñNºÕ±F“þÑ¥pþYacîª}(íÝ2òrb}Ô!;t-~sØÞ>Ù£DA”•r€5ã]On‹9o2i’œÌ„ø'·ý•7òy4“2'¿?ÞÅ 4Œ7ˆ³ª™ªNŒ ].[9 —Žêœ]¾@™ìm<¯éueÐ{?Í`FiGgÔ/ûõ 8s.sQKõ5§”»-}¡*¯™2ò)o{ÆÛÌÝ›…*‚EÏ´°JeqÓ×p^#¦’Yõ-u9TìN2;èË " €‡RÀ–Žçú/Ï¡r(Ÿ‡äIï“û–PTñ4 Rä~ A`q.¿|½‚žæê9 ¤³ƒK0F,9•ü«Òlø©é-EôÜTrm‹~ž$᪶º`])–¦ƒÒX<ò©©+¬þ@·ÜÚ„³¡·ºü†ã!»Bÿð°¥½W(öK‘U2¤"™2 œ`y ˜}Œ̬þÔfÎI;©]@LœRƒINÔç¡‹U9ñ@S3´úêµ1 <—Ü$ßÜ4öi^HõQÇP Æœ‚·ÛAeÁìÀ:Ùf²·š„KDÏ”ˆjBÖq‹fa…ðP†‹®á~"C—ÞŽÿ“©ËÉÏ™?ƒ’…aé…Ü%a²J<è=ò·0Öþ¹îšj.Á,f“ͨýi"›M’ä$ÄöuS}Þ Ï”§Z]†ºº‹nlÌ7ŃïŠ{fByÒ+ì€\:y-J¬Z›$âKÐø¯rÉAñðßÛ½ä XÆ·€…3J“ÁÌxêÚ<SI”ò|<‘ØU¸…à…8ÑXÂ]wuÍ¿%@–Yb½ÙZg}—±ò4—mK gï†OÎhåmš©zgkB}wBbBkýÏïhÅ?™7ªÛù†4¢r›©ÀÛ½<4`Kåÿ0eƒÄÊÖ0žŽ“f~J61·?mÆiE¼hyË2úì;¥[ÃDtï7µa(g–;Y@ˆêƒíä‡ü>» ¼‰³K†éÙï¿8.½Ñ°¦‰Ø[“. “"õ¤“KÁVmÕÜ)E({“ü—ÖEycu·5.‘.z¬S×é­ëæ–0·¶çvÑu$äÂöuf¿X\ÖÖ;ñC²9¼€†Œ*<æŸrÒí\wn2žÁvÁ0´·Ò·À;¥—ø3ïh9ƒ¢)ïägáç•q‹çž|=ɧò–Á~TÍHÙ²ýOððÑüúB(çðÎÙNÝÆÕ µ#swâ›w[;ŒNüß­¨ŠüêwÎHÄàK ã†Ë=fÎÕ~ ØÞB /<˜rÖ€©)¹&Ó JŽ<¾®!'²¨bR>í¬»)cS«1AY#À‘Áßä½ÄS4þGõ¼Ï®>tõˆ@]U‹B†JA—½¾,úµYw11ð¤ÂýÜøÑkübiÒ•ž®±U£#µ‡;ñ£†ˆ ÉnbJ87rA[¤"3{bG9OÒ˜Õì<™+|yC"¡vîÛe*ËÕY¶ôeÇö‚\RæW–šI_“g¤pÔîÝY ¾ÆŸÍŠÈ­HŽ>ãŽJ4º*þG §]¿µ¨kÛ:l¡«ÚE €QÓ<.›cK(ÿ½Z0{E眽—¼î;0p©tÅ>{·¨(Ø8%ø;³“€Ä74iÎél]ÅûÈÞ·3A0ˆáÕéªTpÂûËév%ðå JŠ]©&ì0þÔw¦ÝŠ9ÂÏs~Û܇ÉV½Î]Ã.6/Ÿ½\g][#Xø¸Žx@h­èÀì×KLàXÔÌg„u¬~F›yPàÙ« Œº‰Ó´ãý37ô¯Å] ÿ\Ù²Qx#‰zîžiDô.‚É„–Öõ'¹ ü—Oæ3¯¹±Tû}í8cÙ"H²²Jm*ùŠÉCIÒÇLëW¢ñÿ‰!}¼H5zêîʵç4ð8ÈËÞ¢CÀBÄ}@ŽŽ]<Ž  |¢‘{ júÊK‰diG.¹ *Qssviîôñ4SbHp‘ðòí#ÑeÏ0#<áîδÆ왪Í„(Wuèì¸löY÷fmcoN0jfçÊÎ+®3P9Œuòì¬vêûÙnž:©_ À~‘ÿ°«2EtçþÒµz;j⺒!?ÔPÚyV»VK‰ˆ‰†ô`‰¢•6놖@GÒ8晼1aÌEé…@pÓ*ý8èjÖ*í™ü‰×Ì7AºÝŠš’nN픫ánaÃX,ú/É…­4¤U o²Xž 4濸õ9û)(–@ÅP XŠ7Möw½cH;Ô{…=äu7¼Šn³|R"’v]³Ñboeÿí˜É+M¼Sg¢5A¡¼‚ïê—é­7û«÷…™§‰.¿A!ÁÁ®3Øâï}+cõê„ï9Äð]þÚê¡Pþ í µÃz_i‹k½×áôºM"u;œFa^‹dý¼þUì¢7 åŽ\á\ ‚ÂL\¸¬7>»Õùö»9»g6”¦Èã¾³üD]«òŒÚ¾ÄLw»(O°0ø€Ñî8@±é[ÿÇgIG³3Ê Ù, ÝÇ—!å*Rœ/qŒk:g¡È¼"$œf2×9ê(Ý}'œÏ)öd»U}Ö;÷½pËßD, xhˆÌ¢yÝ‚\ÉÙãW/U°zm??§o#k'x³ê4áX/†Îw^4￈EI!3Fp›,“Û¡®ñÃvy3(27Ý!µë"jº ˆ:ÒºFg•êÓÉ|~Ðø¥4Wã­›Ú ÕÏsá+„#­þ”G“òT‰:q$~ƒªÙo9µþVMõYGH ÄØŒ0˜@,Ïlþo=táZú™X¸÷G¢=À"˜>§rL@b¼cé,ÛK:«³{r‚BÐ…‰>p3ßB\‹rhnŽÝbÇ'+½Ÿûr½lj—èp E)ÇE¥ô?QHçÆÉ«óË2˜Ü:UÙ˜eY 5íØ#J¬ü` x&·`ÎÅ \Æ0üAL« ¶•މíšOvti2Ôjíü8n•:¢ 8G,~FEs5•ÉÝ3ÌvñÕŸêyÇ%\aS§ =¶¶Âýp$AI.CçFoP¿úÞºÇƤiâóà熈¼’ß»ØjÆqoãçûWIâ7ƒ’Ùe\ E¯ª3ßåƒSRÀÕ“d•À7rŽ”JØiWe/ÇW*ß`¬ù¸°†€6Þk2< â «â—ÛÉo±Ç|Š\ñ£•¯ö@ÿôõ0òV¿Ƈª?û‹lÈ+Éû5€C¿»+shËZ0Í|X`  <ª.‘âà±$°¥­Mx]b¯õqgÝ—S¿îÚp}z^ vZ„²móÁSdïæ¢?¼œ`’¯Õ®^mEø1"ømg/_‹”ÆZù¯ ¤Pxf7›RGbÏHþGž ¾£á$âr#½Ã¤yâU—$ º,~÷šË×á!_4‚4i•0nÏínçóå_Îxb-u >’t£b(fÆñ ä×<` OŒ«[W®ë8á†ÓÎTŽŠÛà=ÆÙ‚S™Ä·Þ#¿ 2}ciuŽ ­È XÂ~‘€WÖ鈆7šSfî9Ä´én]ä û!ÁŽ(b¸èÔFœÁnúW‡ü:ï½;Vjïå\1Ò Žò=C—5‡\@b)WÑñ-ù±à@ž¦»þƒ©Öõi‡¬õÆKdÔ¼AèÉð…{.m…+)°ÜPö®eŒÄ€çøçi ½/ì4fÙf=$ Þ¨(7~2“’\ùm>È3ÖHÑ‹ÁÕ.+tŒga;îˆs¥é”®?¿^÷€…ŸH ª-k#¼teY¢mûDõ¯›Øõ³ñ×ßJì¡—I¡á îS…NNv ®Ô«îÇ! â4לÓ`ÕDèdµ¢]æî?IJáI{ö‡Ý¢Ò¦u†>—¥:fu£ †ªÕ)[¶d—"5?\½q•Pl…5Àæ©ÙÓ¼¯µ˜ @9MÝ¢™÷ÌßJá€×Š·’m×t­N”ÏÍ«”}Ÿ9óÿí¾O•ש3iÈÚä:{ª¸èc©Õ‘䞊۞ÿ7~h¾¯‹SŒ¿ “AJá,²èÛÄÃ/ª-ÚúÇ $‡…SW.éžb#QUdžG^kf ,«œO©ƒ¯ô¿C^éïûø­Hy»„˾´ ¯(à 'µé\çä áOœR¼½€c¸ŠZÊ÷0ÎÙãr&^ê¾?7÷|¡žÂ'7¹`ÅÔ¯lVð¨ï×:¼ÇÒ¶pÜk“ñ(Y2 sæP0ã—=ŸãöY»oÙUä-¥@ZœŸx¼y‹n@·ýêb¾k£#2ÞèºëéÝHeQ~dq¹1-P ìPvµ¯ þËëE)}Õû äúzá;,frs6h/çqÎ)ˆæ!´ªË«•ù£ß×`bH);ÿèè «pw—˜…/¹ÀE|GÝÑèhÕ'†WAT"ðA™(~žMZv´Ïœ6òQ!?Z§%!å¸v`i¿‚WñR„µý‡ñ+øpßÎW"ÅЭ3¾õBw“‹‘÷+íò#OÖHÃÝ/ÀŽŽo ££]dN˜ÙÕÉ3–vOgÈ*{#9P,¬yãíµ¤n¾´›>LIÌ~R•‹üØÚ™ 2—á)Å ŠQÖ¨ztЕ²qx7 o›8”ù]é( JªwüZ[uüÎXº£ïÖè"fÎ0¬0ò©Êéª@t‹PöáɼÐ?NØ%¬Œu*Ëà"‘á·÷®uŸ¿ùÓ1ÖÉÕÈÅÐV×Ë»<HðSa’òó?•¼}F‹Ô+@0¨Y¸ó˜löÓ; ‰ûw7\~ú>ì@<·fï¯W‘ lPàK øýKóÿÞ>bˆq^|ž ¹™tQ>ÇŸ· l\=rË¥/ñÿgsÓ €o¼ñCù|ÇÇø×µw2Ô©jìh#3ÁÅr¶ÿ/Ü[øM·&šSd@}>ÅЃ7fùËUžÂwñfÝïCì:Œé´áe‰qϳ"g½µØº ¸Â¾›Éþ²Õò8Yðf[º»mëLƒqÂk qôVÓzå/ü$W}` åÒPC¤"ÄcÅ©ý!Í<—ÐÓ½Q}eøèT×›ú0/Ý-Ì‹JéÒ=²ES[*z4`›êª³{Þ’¹ñZÞìÓ¡ª*GŽÔžƒÝs›%^p<ù‡¢²ì=bA¼€j½5€©NúªW»­O £Ã&*t#[µƒÊ%L¶ï 28KåŸoM´!ðÎhÓJuš ôþ§m ®“ ÈÎOþ™–å>ð׳¸ýè0â ŒúâØsmWàØcî0¸³\Ù ³¨`ì 0*agòU®3ø¯±*Ÿjçâסú°pX<ì1"VêCý§‰#íÕ_f*R”•Á]^{5™ª7 {qùnÉÖNº©'óaú+.¿Þ˜½ÝíÕqULÞ>dŒìŽ×ãAbUO{zFlgMh_õÍ#ÅŠG`ã ѶŸHû:\«´Xƒ sÇ@º<\ÔÔ²j=&ãƒÖhN#!€\PÈ1ŽÎ vT¨”’ýG kG½ãž< 2ÄÏÛ¸›­ÛÉ‚J—ŒD™L„ô#™ç¿j9ΪБöӜͻdgü nØ"Å·¢J§ü}ü­AP÷r6 n LÕh°ª¶¢ÜutMú@²SŽy¼ò *§Uå"Ð<[NÄÉR,r’zBLÅ\µ©ØîRë¬9dm}]†º'IßżÝKœ¯®Ÿ˜§&LŒ“6Ê­¤[¶5xg^é$Ù‰UȵbÕ‹‰-LÝEdó8cÓÊõ¿¥÷=ƒ²3ïùdfòÍ/°<úƒ2£›u#ô÷Ŭ:&L×,‹3Ñ"2c‡®'²Á̵1¨Y±×.ÏÁ϶ðFxÛv u¨cÒ«­bìsœ\$-}äZ >UZÍÓÓðüZË3t¶6?¨­g~‘Ý;ì? ý4Å…‡/2¬s0¸æ=›9¬êƒE¸û~êÚOJØ~gW ëÔ7 Š´b¹&¼õÂ6!²¾¯EÃÓM&RŒŠ)*9Ôßç\Á´ λą*YuŒCäÆÂ~׺í êöocg %Ãײ®…ˆQÆ×É”î¢Må \ÓÆ€^ÛT·ÏpïH#ŒèÓeø·”9B)1±Wy8-—½³[ôŸF¹PŽœ€wPŨjº¦;@;˜B$ò÷Ož%ë§\Ÿ<…ÎÙÙ ¨Ù"{‰ …vÐ¥[¤=Ž O¿ 4ýé9¶=˜´ŸÐkö›jø” (ê6$Œ¾>P’wÛþ=³uég!JUïZÎʉÿ/Î\aGs*| yí|tO5 mçUR»õd÷óõq^g“"ë‰(ß^oJCJ¸…Ì)çÓ¶\~Ý$ôv¯RMM®Wœ»ÚK‘¯@àC7·ø¾E8t*“JomÔ|³¤pH ÞîÆ\àœõèøÒ‚ÔiË…b`”å.€IœR5@çu~G©´š JP¡Òû8柊õñèm˜à€&—Nexcò¶Ö•ø<ʾšS§¥èôŸ+kpÚbNÓŸ¬[j3±” iøj;ù~'íø³Ÿ>1¹·aÐ×O.‰Ò@—1‹Ó“j¥WW†Õ%¸Yßêߥ0þ20!׃­ƒ*CÐ…^}cùè\~Á£Ìä³Ê ªÚN”;Öà]évglqfާ¼/8UÆ›d=Ê&EõæÛ bÃúÕ‚ ÉûÅcëZo[¾‰–EŽÓbë­Þó„b¼aXfcÉV»þE6¾(.À’cºÙ­€kEéBÍFÙPqúŽ svøì”S¸öœ^HÌÝ*PÛ¼ÈìÊu4¹w0­©‡á;qDÈÇœ0¹•0ë"çrÔÚýC¬O5R waZ¥ ˜!N„Åþë)…*öú²¾¦¯ÕÚ’á?»¯Õªz”¬¤‡Ñ‡üé#d’$ºt•P®þRBã=›üÉí˜sݽ;ð°\UušÖïcÓѳ˘. ?L>·P3†K›X‡aár"‡Îg=÷6½²>òp¥ þÚ»Äî¬ëˆîûÔÁ í7_…IuTõX²€+\}-S•\L~Ó'íds_ä ¤XOF» .(À £ç4ܑˢ–LHRj5+n-ò$FÒÂ*Yܩɮ`½oñТ™çX·áŽmdk¡C¢‚*L›Ì­Ó#­”ôçUÂ;˜i—`eæÃv„…™¤í?ÂtâæÚHëàˆo‚óÿ<ÙzþãÁƦê ׬2kø%½òþÔøð+ Ë s$7ãV‹‰ªI¨€Ê*$¿˘Éíœ_aÇÑkU®f$ŒÄ¢ÏV«oN6þgñóJöKªMœ›‡7›­£ÿv QÐÐon™Z,YòÉîbÜS ‚òp–|Hyˆt$Ýã*Ç8Á%nƒô¹aï°#ß^¾40¹Á¤HÍbˆ¬>·h<€Ò¸N™Â—€ÙiîȶÎCUÞTú¥ {îϜޑšPu ƒƒhqAÈmö‘ðœ$DOßÞÜu²4šÄáÁ¢wà<‰€Õ¤Óz¹ø¾ýœQçÝ­ÐËâ ûÓ¤ÝTñQ4ÐzÂj¯LˆJ‡0 é¬Üv:C€G|ÿõµIþÆ|ƒq¬¢™~ñ|–s7–²Ól^6çž™‰?o‚)C;{˃àÄ_hM‚‰ϦԯɼW°•ß.I-¯Á k ‘¤Ú?H¶CL€MíÝæ6¶v²;ÐÐì*ÒR5Xâùùס÷eþšœˆVéÔ`OÐíþß.C \†ÖæŒQ»ÖèS¢-%ABˆrrDÒmó¡&8¥ÖÏä%½ÿå.Y ¤5€Œ äÓYQ¹¸ZNüR/7âÜìþÏñ¾·Â®·ùd(7hæÏ ÚM® FB;mAnyaÔ†i‰±FV URhLU2‹Ö~(ºWëé’aYÜw™|r›.òô›Oÿ+Y÷)Ñ‘»‹³ÖD_Î’” míæü"z^Âz=Ò„¬FîÔ½ù Ô¯ÄØ¬avÙ„cuÃ/Ö?_Yæõ²¿ÚÞÈ!‹/ mâëü:øIí΢Ç,zt¨ò Kõš–ovc+yKtEZ©‹%¤¢íºµíýÊ ¯Ñ7â2¦¬s÷ä#l¿Nxÿœ²eœŽ@ £¼ì|vè¹lºæ(ʆí»Ä¿×ØÇXÒ4 § ½ý}*ƒÑ ’ûË¥«–Õ´Ü’ ºpøùƼEЄ„àäÇÓHnÀß1˜¥cBMHèïÑ$Z]Ó|þÿ!Vä¬Üex?!î'Ž‹¸T9i©±eµjCèiå2;?‹¤Á|ÑC\> A¬]ìQfWµ_ø}0 ‹ë›ÈÊé´-;mlàÄþv¼çSÍ3¸à -yD‡&¿ÚC|bŽ}[­`5,^³›«Œ}±É÷Á¹}UhÄM7zä†ô.ž$ÐowQt“Ì« Ág7ï¯k-~<̓P¢2Ã^tÊÆìŒâ/dD °Sè+ŠC/š% %õÚÄ‘q¨±É¬±NkpH"X¸TO°Ió;ÇŠn}m¯»½Ö×2â&¿5§Ý>Å.y^w´aùÎËæPi¬$_Õjr=›¤<–ù¥¦7™6|±àÀëZî¼O› â–.~æÚÝÎhÚÊxdµÓ#2ó߬„EHI7ä”­„|ÄÇ Ÿ£s‹~|R[áN½Ê¼2’sù ô9ïÓ‹X%'dçf¬yt—òDn¼@xà‹†œ•Þ‰…Ïy}ýØ]x§RkwGAðñ?·N†¼ËgsÃL.qÁaøö59îcxU·Ÿ°_díLõ«(æ$”bxù^‹~E›ã6ŒÑœîÓÄP"8‚¥±Ya²)eøˆlþÜ3,ž(‚šPÉŒû©Í?¦jP áÒÜdƒ ‰©#Çm4`½®fæjïw3“¼f4¢ùSD;ˉ¡0Û×B±§1´#6AÀ”"fïf¹›tÅXmÝ®Vþ&Á; ¤ö*é«^!P•»™ÿU/}×´á`tõïtؘIÄÀ`®Ð+'•@ÄhÜ`§Ü~U(H¡ )äØ}aLÙUDAU[÷×IÍ} ‚S[í¤½þµ· o8 O3;°í^<¸~·CÁ[¤™O°ÏvÝÁ^Γ*^öt%t%‰G?ÔDUñcܳ‚†ïG$n­ïGÛƒ“²â=ŠæiÚ𔘎µÝH™s„AÙ¼†‚À\—o ‡lôÔš@GLn‘ñ X*:¶S¯Z²˜žõÑјý¼ûæeøYEÿ"BûÔµÃ,#œÑ³ýSEGôÿ„òQÿÆ9/<9p”º‚~qó“I½ÿ©È'ÝÝÉ< 9Syúú±Ý–Ð7¸&ì3øÖ ¯ˆ4HÒÎo1U™ ÖQŸ×*ò3#› Ÿ`Þq¸„Ògåð»ï’\¿¸@ƒ}„1Öhª¡í#´Ÿð(Œ%ŽcƒL³Ñí6IÜ;"fÖDmç<öãÞô¶Ž{FRìÕÌHÛ›dµ³»<|:Ê™ì3Ò?ÍëhÍÖÓš™ð¦8»¬Ba$ꄆç¬ñ`!õ! †ÇO=ïäªy–2Å2ýè"˜…+0Nìê—‰%¡f눲:`³8Æ;›ù@â&þÉø”7´ŽAn.\÷ÝH áÈhØ2fWç}¼šÁŽ]B¸P`ìp–µH¼{‚Kš°³/m¥ ÌõUfêä”îoÐbôåÎf#2É‚ÿ$èÌÝàgò`s¥K‰M—-Ü´•tÙ íATa¨«È–«Æ¾ï¨¬ÄŽí‹VÒ wô7MSnhY ñ^8?p‡‡­íǽŽü°¨<)0Ã62ù†¥§£8ÏÅg<zé\êÄ“Øü sôô'`EË£PÝ´J6.ý³OǤdKøÌhý*³±A3ñY6½2¶ôV¨Ø.^bïj~=?ñMAÒ¹á-Å2/_­,½H%F'ô¾vgrXFŒÂÄâÀÓ]ø±)V­ ÷3$TQ™–É‘|èÔ™ )…cÙÉ!0p[NQvk~&Ü7ik' «%fsWp²XãAú7R}„F(ùñ/ÖVîW¡ ] ”ÿ;n¶x,B8¿qºELƒ¸uGÙy¢¿b~A’ˆ¥è0NAer§yȯÛxq[›î±Ú©¦å­»~#ÛR:¡€.¨|q$ÀŽ‘Í#pÕÀ4F¢³éÈ/Ñ¡Y-øQ66–8ßëD•cqºÊÕ´‰ø:=iVü°øX=ŸÔߟó­¹i;ÃÁeqïai? A£‡òVXšEÛú;xô,˜«ôË&˜zv7ªK£Î ‘Êæ¸>ýpp×§d‹Ôzk(F†…‰½[¾ãŠ{»Êúló"ð¾ÆÿhkнéKOÞ—L“¹ÛO$娼`6%¤ý®æfb³œ¤.›ÿP|‡õ/±Qý»Â¯1>sÿ*LƒæX{?˜¯Ô=öÙpyyÓàžµJó|°™e·Ïÿ¡ JÈr{ž÷5óÚ¹ÓSÀÊ÷Àf€—­‡£ùWŸì/ŽGE{wð—GÇÁÐø-òšš²š­Ù?ÏW8ËX°‰a£¸`[¢Ñ¢¾ _7 ±0=º_–ºF#ÓêÂÕá3Z9hYd]wÛDçx¡ìøM¨ÍB{wÈ¢ ô€ÛÒ8Z4û O†aÖUh÷—áQÒ.hJèͨV–×å9#[\Mþ1Õ^…á·®ø"XzÂÅ >Å©åÖ¤ÿ¶"ÍcÅ|.¨Ÿ<Ã~•ö,Ï~姦Üüì°^€N{Š¢‡ÓóÔlª’Þ¿ôÑxU Š… w§À7“€¬Í4ÑeÖX“t~¬Hna [ôy½2⩟5XHˆª}¥§§Â7'¾‰ª}|ý[à`+Q’yºÜòŒ†Þ—cSJ6b]>/޵ÿ Ëš "®çIMt4ÆÎb=þ!ùb!®uÑo“}¹¦i QˆYN.%{NÁešï± J/÷gْʱJÿ‰cÉt¼Ç×ïU·Q…5Ç´EËÞׇéÊÞ‹ýƒÿŒ\ê÷¬°q¥t-|'Át«ÞÞ%÷W0‚sl?: ßW~W_yƒr©’?ìX(!MÈì—,RÙ†$jŒŽ®gµ‡¦ÜT?ñf‹6Qº£´›G–¤öûcé ÊÎX}ýìCöÖ|A“xGw(¯NªÖŸòJÃìCäÈ/W #õÕ ºM½KTÉšïºg eñí‚U“çÚMþð‰âJ íŽ@£ù+1Ê.\®úãÄêy"¨Š³@8½EDù±Òâô•ÓöL*5ZÑÀæ‡èiË[ÇR~è‡@¢Å:[ÛT?>„ô¤”¤Ü^³%ÈØ:™Bºˆ*•²à#Y¬Ið†¤Ù#7£!S0ár" %ÈT† qvÐL€€¡V¯$PçÇœö—ºœ6À=³ïâêb¦·ØÍ¥žÒŒý»Ð¾´OÒ*ê•íÛl6Ë3x‚šêµßjíQÅ·‡ùŠ„$ú^¥%ŠšøP㕟KÆÚ<ïö™Ž\‘Òw«Ý&ðÿ½|³Þ·FŽY§—xÿAÁw‡³[’ù\è7¥é¥k}¹<¾R§AÀß3±,tžƒ?tø¬è˵º£Cí¢¤bŸàŒcqíå’(~e›"ŽxŒ2“o÷ñOi¾yy1ô뤰{¨²T7-(Ç•³ò¤~Á„/MÁ“)¹ŽuãuÊø¼‚.‘}Þ„Â>fÃe S«?™朸ËöÁ8'Ī].+e9rܪ7A”OÌB€–ôqqÌ0ªöoÓ0–pDœ0Gù²ZÀÎk|¢¹*47|aOe»ôŠƒ0=‰cM3¿î \p®µ\LJOV伺{^…ìý‡£8©sß}«2]0f(ë¯4ýÌ ¸õÖ‰Ð)î&ó!hšÃôG´vÙ˜ï“Ï.dpø%µ ]s]NÜÞÔÕ‡æsG{•u|Üh‹N—úÕë"Ñfu;=šJX(Õ˜$e÷à×c‰à‚̬kTö ´‚ìáQ‡á‰<â Î 'ü?Õ*°úÛoTòJ” × ÅE/„¡o”Ù¤ñƒh€˜&­æÒ醴ۛ¬EAj—4ÿyF¯7){4ZHùmŽ’þìmB§\ÁOê!(³c™C£IႤX£2Ö~uÙë „Áü‡ÿTŒå™­¦è3|zËì ‡Œ˜RöI6SnÉê¶|ÊòœÄ£z= ã[¼ìÈ0µÔTNÛWà8]P™Î2ÍC?Ðg6Š ÌC¬úQxÊÙ~W=³Gîp.ãŸ>ivN7Ä’>1t «ÃÌáĪ%bÏò"$pê¸î¹‹/!ÌßÛ:„UíÑêÍoÎrã– mP.ÎJß¶Çz’Ì®Ç 8=·1·mð”"[hC Ha¼ %ŸZHY6­°äNÕD(-‘ÅÏ&À@:q±ÈB…U-KL_v-P„nl'<•aOÓ9þ. ›çkµœæ››Íô¶§g%a&¼HÇ:O7ýRbŸ5Ñ)¨&qtYl ¨Èõç3Ç ´&oô"ÁO ÁLÃARZò ·dÿ6_•©‘R“'®%Øè[ûõDĶ-ìR‰="ò8€”ýÞ›ÐD÷¡ƒ…0Öº³ü9±ßtY¶8DXB³4òÉþ(Qú8tNe/8 Më[ôˆƒè8{‹7 ßul~aüœÿFí~ÆV|˜=*M‰Èç?ã™A{{ÏTÔd¥Ð3)â1w3?Ü‹cѸÛT±jâ!êÿ­Èd!àÉ"‘ˆÅ^¡­Íg`Œ,ÃûÀŽcsi›b?3$!±ym69hV+šS¬ȲˆÉC ÂB@³Êèyj4ðã5%’fuKrT[üÜûŽOyãÏ£æj^HCìçvWtóŽ7ˆEùÔ>DÙjãP¡ú(<úGE(ûWü£ëÜ¢ô·~wÛB…P1$âRhnô“ b¾Kcg0äGë‰MO2™V¾ržN>w30üͱÚ$ÀB;Aîô4Ïþ\†Nü`ªrtÏ…·¯ª¶f¦¤“‰£Œ¿VIOjïV'©eª½SkªÀOÛô·ÛŽE5Žñ?cõ~"˜Lš·0IIåÓGãdùAöÖœî…ü… äůT$;;€ÐÉãƒml`Ñ;Ek[H˜°ù^+CTkVuÿ‹½½‰/wK7ˆtEÄÿ/ÚrÈMB¬w§˜ o¥{7PBÁ­½˜9ÐŽNÀ_ø;­sšÛÜèß5È€¡ 8¿s8HÿQù†P{ÊSåRS@nÔZ|÷™º¾j/èWב‚öw=ç{vС՗½2ôàG ÁÖ ?E_UÕKU›´ï±M%R«ë†¼ò ÷èè œ’Áà/4û×ÐÆö¯ÕNÔÛ`ï&"¥kô|µñúT©žÉóS³åQœõœÉÕ㈰TðFÛ¢4†œœXM? Æ”ÄP³Ÿ/ѽàF‚Iƒè£Å+Eÿѵ?—ËbØk0?ÒÚ­G8«°#ŠŒT¤ø'RêHXè‚æþ¬9ôÊŠ—ï?/!0·CV'¨–DnK÷NSxô“óÝ —α­quœD‰Q@Œà`2 "˜R=0=Ei_> *Õô µ‹ÙXóU‰™‰T° ý½>Ý1Ó”¢DAcvBº}Ìþºbàd;6 &†=fºjªx犦“§Ú¬Vo_Å^ýHCé;¿,"™ÀcÎXsxf>ÐKX– #1q˜Ý¦…fåê°ó¿òªœkÏS³8q ŠD‘ß»£'¢4þ {¦ÌØ~"@!uÑ Ä!¹¹»F¼ô:$La,m³ø‹}ÜžËËÊÿO‰äò‡Ç•”Åé‘\Ó¤#ö·y¿n>̨Z9ó63"Ê„¬…ª lz”jÆéž¨ÖË£>"ðli徎§7|ˆ²¦¤Ina¤ ì«À*ö£+ïcºé¬bç©K»jƒ‘û›^”NõùØý4~A“B,{{êŠ_¡!>’äó'«ÞnãW¡™xv¯fꥎEa6®µûÒ¿æ<›Rºjiß>Ñ>ÈêWu…:LØ»ßÚ[-ïBïƾl2_a7a9cBÛí'‰ÜQ÷{Ûí,^Ç­Óx¯%+ÃÆ_§Žd6 ãªþL™h"Ä E)»ÑìxÂ.ØÑÀp*j—ê? m‘;á*?¦¦h!£âß&Ž%avIÄÜÚåiCXû;¥dWœ8 i—QÑœÀàˆª¼!y;£xbd €¨j¸·5²£mÚ˜~]ôÃ¥v…À·AEÛ6, ÔyÀ´¦„³JêÑ—uàÓs•pSר#z»òr‘|÷u)=~á¨G 6º´úÓ¡†_€Š¡BÈn|•9Lk ά¯åè&züé6ý(iÞÔknbS½‡C\§'©âéäÊV±éÇLRžç˜KþŠ~0çQèGîJ­cûÆfByà>î6¾óÉäÔ,vå±¥-M<†(åÒAF>÷∉€.˜"W‡ÂkZ‰ô ]æs‚h⌵V{8—øõ,V÷äVB$#. [›eÄ„Õ-£sÆ6wŠ¿GKVŸ}÷YN»sý+¶‹ð¾ÍC)ÑþŠSW’áFúÍ'¹“Û­À¾–ÿ p‰1êGRRlé°¹äq…5žß¤Ž®I$P³I| o:o_f5"È ³ƒS¾Ðd0}¬ˆ%m¶D…©éð ]A¡Ò|æ·ŽFbÍ+O¿øËÑãSRÿ<Ào|t• §&²­½çbã´Ó=o¦pbšn×Fd 'ÐöNa>9Îö”£xC¬ŽGÖ«µá?·ã0 ÷g&¤œÜÆ·µ'º ëÓ¥Å?Ò¸”.*áBnjÔ@»ŠíÃJÓ‰i×á—Ås¥–_èo5€ƒ‰@³ >8CWÃ[”ÅÖÐ4®I ¤iUüFîëCºQ…G ž”ä!  ¦a Ý¢Õú+¸üASïû1oý“b’g¸‰-&¹ØMlë ÇyšÓŸK@'Ø`£À­$HÉ›D7(EÏ0²½aø^Ò—TœÎ"ÚŽÇFÌE¡¦7(<]Œ¿Û¡fûöåÖ}ËQÁ¼Óõ&\oXë‡^)¯|w¹;3uÌ­J>làÎ3ªù²q© EÆ0ØÈ‚ ·‘ ÂZ®ýjË·¢'hÎ šÞ+ÂÂj‡©XÍbÉ#ò À½Õ:_^`[ˆ"°ôh9ŽÓ&_É%•qBQ«Å=ö‹¿VŽë³ûÍl+S«ÛúkE$ê=¨DþC`!¶{§:I!@ï/¾ÂE0 ^òG­qT'Œ¨†ýD}釄ÉO¸Ïe²*_•³Ö : Æ¤–É›¸SrÖ’IATDS×êAØax«b—Œ>±2±03ݸÏÂfk®”Cè‘TÝd$5ª$Äœÿ®äx7AÒ®©@"¬t±‰eX$°@sÛ·ØÒ°›ä²õÖ”¡âš(h4çÏâ–¢e`ø~wQÜ(jû•X“HŽÖ™§æ/ÛÄ×A(´â8h@!ê}pfu«{£fµhÌÑ@Luì„C²Ñ«<8) >iïÍE´âçá8w²Ã¹ÿ¾!]F”‰‘ëvw¢¯qù%IäIŒâÅÖÍèÀY«0À‡ÎÔZåVœë]Ûj²ÞæëÒ"LÈn°%ºÐžM‘½èWÎó:¦éqÓŸ>ô¿ª>#ü«*$)Q_„G·Fç2÷¯—ÞáƘ¤ 04ÖqeÌSv!‘H‚“è!i—¡_†;}FF,{Ña¯¥Ñüj–µgmÍklºŠ¤Z¾{º nž21¿6ù®JO⼄ù3I×Ï7øÕLèSœ—÷oZ,CÜëðÞ6Ræmå,ÆY’ŒhÙ\ÏÃÞÚÊæ©Ï'½ÄÓ3çâ ôsc‹ÐÌFyî;Êy¢<[ßêE|2KÂïk†xUó?jdÈ‘a°(Ê“2S,Z“vÍŠp”r%D†—>o?– ^X·3ð»Ù~³­±r÷!\ÛÚääz†~(ÜCuÂß(œÍw¹Ár$§Ú½!cI¸Mwè+ÚS¶UáÄ‰ÒØÌ¿ ‰8—U~’ˆ¤;Ïgïg«Žªk³“êN§7þÐØãHÒ4~ÀîCUDx¤\¤Í!–±TëŒpo&j.Ñ,çõ¡¨y9*^d Ŧ ÎÙCÁ¨sy£¯^z‘DÜwP>Ýð~‚ÓmÙM0÷2ÈÍÉ£Ì)â0§0—ÇI˜1¯/\?#Õ˜²¿jØYᆩv7­èöÏÔÀx ÒÒl;Mù´2{VíëŒK%¦nމþ•>w5X'²÷¾c¬´œüÇiƒ•;ë¬Óq~œýH LdßÇj!|a>{ˆc7÷,Ìê]0Û㮲±Á«^À^¯qÄÜbég€>vV˜‰?¸.Z¯XßthL®¾—*¹H"ì …âÛ&À&}¼š š^Ï:ÐΣpû4ÈŽ È49c$9Xvƒ7óE"ÁY0Þ—·&âuÆ}Mª¿|z@,8p‘`‘9&ÕÉZƒßÑb€/“óD‘@ï<VäêÒä#f_JÇÉ÷™t(Ad˜Ó¢¶ŠÖaáÒ%2œcˆ÷ÜJnÍ*!H¿KjßóõÐOÝWc÷šäÕKJ%üOɸ5<©/ÃŒ^Hâø+›?lz5ð ý#竤º¤|l7|z 9>Gk~¨ÁYË#Þ:ÓD;8Y»"‰Hb ƒh‡¾¼Éº®PK‹J6=óYAN:tj;¼ÿ _œ£D¤ k!Áì±ùäÞÀ‡m “öá#Rå…ÿ#Ö:̳êÛ…6¬‡r‰ Ø¼›ÝîlÙ/=Q)nÏuúíyæ°4œ2Ðq„¹–Ø„ÔÙP¦ÙÀkä8§è3RBîé’®ÈVº CSÝ ªš  6ÉÎýÜÑ'‰Üàæ”z»©EV_ÈÄ›V" 9……t½æãà›dÄÀI_´±D3vá^¤Ñ@CÁm¯˜:Žr&£™ŸBÃñ šíÒjªhCÐõÔжöø4Î (³4Dñz¸¼(Cb³±$OßÉ#åZW¸\±qìßµm»?+e ÞñƧ’*YÚƒ‚[Lbu(;‡Ú2,q¼A¹1ÁÌBò‰Q3ŽÅd#™cUÙ\’Mö}ÒjEy®£9{·ë,ÁJ]ÆÝR…Ú÷‹¤S¨ËšñÊ,«“ãJ'ÉÜòDO£^$¬šxHcw3HÃl‹9e¦a:8/ä2l]Åž{TcÈw~*ŠÎ«…Ë8¯ÖVöŸ©L¬%£Ä ˆ)`_Pæë7–±Ræ÷Z4¿õdw|ßO;6ŽGNÔËúÛ9ƒ6}b˜±µb1t{‹€I–tý‘½)®äá#“!·0h–LI/òƒÙä¦Kd9}qV›9´ˆ.wЯïhÕhî]Žkz‡¬¾%ßîNZÓ»]Óáw¦f·„,h6R4L*W‰@y„h'e‘§ö`nÝ·´f¹GÀáÅã™&œ%ó¬îù–|Öl&”,”æ¡v¦ÆùeãJs¾†îm0ø°gFÜW§‹Ù½µ7,1‰n_ôÈ€ì±-xúÁüD0’8WdüÝWÔ0<ò®,ׯÂv†ÏßXÆ6"³¤ï¿MeÓŸ{ä—B œ»$¸b³7Ԧ$1#}¯Æ#ÕÅAÆ‘š1£WVcÜ38 Ò¢ÖP=«Vè€Øºrå‘âl>¤ƒß(Ü‘ukнj8n›OGzË“—I¨Ö¿ llƒ}ðç—~´Aá‚Yf²y¸À€ŸÙêl“|{5B]Ø÷wÔòõ$§DV¹Wê¸òaÏ~9ÓRŒÄð‰ô†²Š?Iz1uؼ/xa«&.f¦08–â$lÅh3©[!);EvÔW^«Î2ÖÚôýмŒ’°‚—ÞJ ó6{m]—Z] "þÖè@Tvu%åÔ%ØTA‹4†ÅÇ·ŸØÜJh[i€Sb#­ÖF¢’¾l)Šcw@_y´«@Tĸ1;e ÇcŽO·CŽ)²ù>Dýc áL:ÍŸNñá’Fe7‰vЕW§HÓIÔ‘ÁqK=Ž*Ðí&)ùžú¶ôÆC >424Íe~…¬õ>töË¥žyâä úâš[&T¾áaøA–É–u^ûþÜ‚<Q-F›õݤHH•Ï'q8yètݶTßÒ‘ÅtÑ©òáZ'‚íMþ $u* ö„MÊÉky_Éèq¿ƒ IÖSÞçC{•È·õ%øU! ¤Ùâœ!Ë0™t`æ¾?u݉°ªbó“eñTí»7È“Êrv°Çg©í©1ýèÜøÿ€W•§rªÜA°T íBÀ±#c&—úá‘ìCz2Û¿2©Éì=5°Rkn&OÅku{%¦R{úñcír{ÀÄÖ®9ü-»S‰5ÐA7ž_lk[+IUî}¦·§½ä|ÏÑÓ¥‡süƒàûB"vìÍ/œpH²ØqÄY<|ÖEˉ¸á×̤2h];)—h`f¼EoI Fü‰ ›¢RÅ·)—å¨î©ƒGC&êÂêµræCú6Añ ´ï5戛[ScÝÖc6l_Öt}ˆ©I7 ¨GPŸŽ•)™h¨Èã÷÷Œ-òBLëmã²pN<"¥µ,=r¾èÕ‰|cºØ§$‘vüò}Ýæ«'[»0å Ïã·´À¾›©‡ €Ü­°¦]û\ò’ã×PYÄ’Rïω. ƨ ÍòÊœ»ÙRkŒ•Ñe×Ì“”ÇcÁw(((zø‡²@.˜Q‘[m„ieGtq—Nf퉅 Hf× š´GÕÜîàpl²3ïÛST­ ÎzkPž+¡ÿBØó‚úVû9ºë*x‚ýzR‚ò Î²–å¶<˜/û³ÀŽ]üâ,kÙ•+²{®{sž‚0ƒûÒ÷$ôDZ$s{+W“ÛËþs¶#ñ!çRlºjéŽaöl‘“9žó}™]ðòàÁ]:÷ÃÚÞt'﫨 ÷ÏœBÐ]9a WFÃ1.ì°ð©p‚yu.c'&‹(šVŒÿ‰-Cöí ®q*€lD’ ´úÝõ4gO]« 6É­™‹±U vôûª€fÊ¥„t·êŒ;êXz°Ú½ Ìä‚Âf/W鎉\Êmíö¡$©§~î<ÚߪÒ`¨Jv»i’¥gÐÄLwÜ&Œôè[a·Â~ ²×1ëܙԲ¬«ìŽj¦—í¨ÏÉHŒ¢ï*ûÈÊÅ2×RÕ1¯y‚ù~—Ò2¥Ágü²Ùˆ›&çÄçùzÏ~¬þÆ&|q~O³¤*ÙÀ:kñúþ'¦ªšªE^î€À‚£PŠhDbãtÀ%úçí¸“í¤…A)ôôûésg…4¬¥rU[ÔÙ8éiiÖ•ë í}ö—ÎiI>_Ûì{Èo ¿LqT`Ó=ý:òª»†c¾Eí÷«Tl ÞÅ+²m‚×A·ÞŸ±~¨!@wz3£rãFä(>1¼€øFû£Â~ÊÔ1n›È*wÜê\pð­„xáºàG꣄~a°¾ÅÊ–ØËÒ´%¾øä–À Ëô\BÜ1X© ¤oåŸÈ;¬¸Ça/7JnV“å#µÖPêa(s…+à‘18Á‰™/Ó¡î3¹¤Gî ¨Ù‰ü -èJŠ~–Øóý:? èç¥C’ù¸ bñ6Z#·5í£¶&̦úžÎ6„~¶w-jÁQ笔!Q+oyì;¿M–[îf³}¨¡HC6_êCßMnvÀ½$Ú·~IÇ€T’hÈSx#µgÉІz›wÈën/iI}*Ûab–_Ÿ|3‹ÍáHÐäOQýTþ4?Ix“ûçSQ¬è~ˆcœ§?¡èÞ¡²–p³ªFt{Á]øØ.€ -‡÷H"»g´qiÿ‘þ6©A ‡”@{Øîã’s"àåY½•×ê°\Iu¼$EVNš`ÓûÇtÂñ¹ #F;]%œI\˜p:”Ø®û¥ñp6¨I拲öä4`x¤<ã'ézMf-y³L7k¤©sÐ}½štUùÞ%Ãóyà¡ý§P—×—IøÄÿ[ºj!†=S½TW€™"±³ ÏHíH I@·U¾ü\>ú_c¿‡Õ-1h-‹Ï_D3òqZÞ§“LÓŒú±'Ê‚ð»@–ËE¬Õ;ÁŸ'Ë‚˜Ýq©Ð.jèªÌi?0ëÁ÷…ê]¼À*˜AÕ¥]•·È¾-3 ãÂÊ¥ñøœÀ-b²Ð òHòÉñÒ‘3ŠÔ7Gé•Q€c9rt ÛMÐWn2ßšÔ7bÜÎÀ´E÷8•|øwµŠf4bö¾•Ç ‰¹òÄ`[õ÷›åþ=C‡AU +Wrû«¶µt÷ÚÓôXЇd¯ë §\º)Û–œƒ Yv)Ko’»wþº0µ˜ëß¿C½Ìû>„´ð ¸äù:‘5IØœ#§Zh(JŒn¬È(Â-½8ògôÄr©Ð8p½èÇöùªµ»ÂÆ,Zpg Zì®R‘@}ð(vr¨ó<Ò3–Xý!qy@ËÑ 0²'ÿ6%ëæïw=ÇÍøM\¹À9z(©˜ó@aåK.‹“ö¨£ö~½6$4Û­Ùv|ÆìB|¸ðJ|Ãhª’ AÏ:B=ñÀDsÈé?¿²¡þÛCo—6_ç8ð04ƒ‚Z”ç ÐvT›È)¡kÙ¯ña ¼•oÃ<ýëƒÆŸ1)¤ÂçB+8MgWÜvÿûg…=¿Aðü`й°YÈd½$ &¥¨#]‡ËCfª Útf¿Ð¥?3ÖtJd‹xòág¾´j:á tÿÔ¯ôtÑÓ.p9l¡ÿÇ•Š+'¬àÏx$E#:ÿærHgÚÕ²5$™à³­|ag1«ò,â§c·'ÐÒ^j3r ;=¶<ÎIn¬WQð9alÏXÙÔ¸.ê­˜BŸïÙ–‰›ˆŸ&æÓ¬‹O_eý¦–%MØ)S„g˼Xóh®E.¿”3; ü7¹ÿW)³#¥/wd$xúKÉ‚æ¸Ê€R•d" Š•’-BjˆW¡"ŠI‹Ú*á 2â"ˆé¾ýmÑuëViȯ÷z`À“éèZƒ;êµó ¾ºŸâóMÛ©g\À»>H´úœîÍà°OËCŽ©'9Ü[«, Ê‘õÝð—i¬Ls?#‰zZPb³ßî–´_—ëo/?9'ØjZ|ÓÏØ&Ì}ßB®‚ˆ_)8S¸>${sö\ ò˜]“=}VýõKOc ñãDÁÚDäá^.‚Bÿĺ³jëFšg¾Éb[,ï5­1ûZ‘–ô‹Lh&Tåp‘¨QǘµZ+•¨”Æ­êÂN³´ÄÙC¥Zñx²Àù"«{í~ÍL ˆ9u®鉵:Õít9ÄÐáIÔ‚ùÅÇîJá€=RªÑûí›q©ÊP•×Y‰mò]¢¾¸Ã•0ëX"y25·7RßšÀ Ð/Ú˜*>£fU¡¹+¡0½â ‰éa¬ ¨ "À ÿ2̰bM³d`¬7÷âÖ›¥•ºÓ¥‰Í1ë”\ ³T$kÓ`0fmþ…{ð|Å#nˆ î0Ÿ"÷Vc?'LB³¡÷ˆ’=#€Ëé<×güG!ö´mÒi´ Õ—Ht×Áµµ»¢ÉÆTÀƼ¿TËh[w4‘´×‰2StS½È:žŠÌ¹™š•#µG|SŠ}ýEÓ?¡\0-o @årdröŽé2š)¢ž2­ ID>]= º|К–Û¶†‹þ0{ÕH<Þ33Ð{;dKãnó”Ô†®æòÔb´{b¡?­¢å$œðuþt{Ÿ4Ôj…6tíÉ™'TÎ3VKU‘i¶Ÿ‚÷›ªU?Yµ¦ºê%wëoU5Â+›W;ퟷŽWG[WFjòLê´$Vcóùû)îˆ ö—<Ä2f¾í’Dhœ‘v§Lãç/gT8[Jù4õ'VÔ…_@]§lè1[_Ævº5#>…Þ#s§J1¸ÅOæ¢Os˜'(y‘“YxÒC<¥åK’ñ×ÂkGð.Rôf°LÐò¯qªK|»O2¤3r?[Áw¡tæQÈrO¿RÚ­A {ˆ½Ÿ«ì="ÛܨYÉ9M9€–Ç!š:Iy̽²О]‹ó„XÞ?)”‹Óh¶¡°(b(ƒŒ¯—A-ÑL¤ë—Pþ‹Ì¢Jï%1²´ŽÓ.‰$O}„~÷ÅøMŸÏõ²¼F „‘>–Žw¦CT{ lÆžÒ3ËMþŒ®ŠoÀœsRŸt!B¿7:Š7¦ýüŽj2X*SûýUcvó·$>®JíUï‡p¸B–=«/ƒL\À83ÏjÇŒ¢ޱV:Ëõ>‡Q:È¿ãŸ÷5OcÞ©UlÃÛh.°nôp¡½Õ!ÉÜÁáÊ¿ö«‰¥q+¹Œõ4)\¤yÉ9¹Ð8Œ©ƒe9PàY,.AJë¶‘(Òç–BÇ[Æ-ïQÇÉöÜ©6'јó # f뱂ý‘½z©²îä5±üÆ *Ò值B¸a‡˜ºÅcšœÒÌ(îOYa»Aàà>à‡[{ À¢5ʰO›Òï %sëÑFC*) §èëˆgßpZ‡­Ö™LõûK ¼žm‚´lÿ¸/ãÅ+†}Ï>.ö:·òÝãìQ6Ãu!* ß7…&: 'ÐÞfÛ’ŸÍ;QÖöÞÚù/ÏîZ”€AXò^H5eìsb‘zn!H²ú!_§Èß‹f †Ö¬šœ·[­~ª «ÞÛFhîf°oso:NfC¦Í¯HýT±áC?¸ÜW$„Ê1Ý]°nü~4;3Åšý³ÎÔ덑aÍ\åM¼El‰™_ÓJ]™í?÷ù×+ž*Å<ƒšºÎÚ†t¨—?!²ã)Ù *W0wk$ilGdë—f‘X{!§È<Ê&óìl„õ:ƒ5j ¤'¥èJO±Éøy9Õ«Ÿ‰yüE†+•WGüCv™T†­á½¸wŦO<ßBÄK mž”(Ux;ˆŒª),ì‹O¢ðߨïÏ ò(0-¬Õä2 û„`d›‹ £|k§˜‹_Ä`>VœðÑÉÏXòæ‡bUÎS£>ˆ»kc¥*ÏCøµå¢§ ä:jˆ|¶Mš_—|Eš[ºJ"GÀÈ—NOkÆc²„š%„^ ³ßf-§ˆû:wƒ)7ìÚç"ä3F9æk&÷—6—nh˜Á¼B‰s„ât!òÙ¯Ðb»µC§±ÊÓ•Œ#ýè­ : $l‰pÏk5ôÒ:#àQî±Ù½BA–'þç„·MÜÛ«;GdkÊq~ «Qí+ÑÚk›Æpº{xØ’üÜ3§ ü%¶o>ÏÀB*Ô"½À‹uÏ–è'Xîé·È´aÂèšSךÖGˆD:Bl¿8uŸYû,}&­Ýê}SW黢˜"y|h!*VxWJÛþäÔvæ¹& ³Ä›:J>ö(å’R#²5(í¥O͉UBFªRÀò¦¬Í»áL(ÍûÑ„*xQ”Ul€p‹ç5¹œ‰“ ©É×›$£Fľ®ØýUüž<èXýÈNƒFµÓÛ¼ðù­OëŽ/åaý’¶è¨H/§ÆÑ;éݓʔzÊÉ0êêÚŸyùïK ‰z•Ë«R Rž,dë›È ¹MOB¥í(¬{Ò‚c8ÑyIdØabù³øý%ˆð¬6ûtÿë¼tKVÑkHÇ„â~SØÚE§·Êû„ÔØ ²7v¬$4´§ûã9†·(íýD„·;'aÍ©#UþJûÕ@M—F0ßkÈt„>ä‡ö€Ó¿cÀ±÷z,¹ÎÈíS°ØMXµZ/˜°Ãómá´‚MóÞ5¢¥£U¯µÔÐÙšŽ¦˜é$(* &’ãq£¦o”~g‹ó0½s(xiŸïf†Aå¢#õïvBxJMI ¿SÄRÝ -3Â3f;Eÿ œ²ýX4ÈÆ1¥Ú(h‚ }Òq@‚˜i%‡;ýÑO:HWkìëiŠ×E ¤®”v͵æ=}cö¸­  T¸Õ?aÀ»æ|"Ùz»É$ºÐI|ÝlænI¦8­%b\}â a ª r¬/•–™uS5';ë~[Œ©øiév”Ä(» Ï¢@Vÿk ¯7,Oq”( ’òðžÁžJ€­Š®¼)+ ÍÞ¶î7`(…i†hù‹_w=Xî¦ (-¸þ…`¢ ´¿aŸ{¾`­(¨QÜ.¦i#¬¬@‡6¢h•HèV4ײÐ1h{› mjsZ D"’wn6/§õ)mÒ;Kÿ·#é´ÞQá¥Öת[V.Ýc´ç¯¡|ûÜ1ä’©±>uº·ù»D@}Œ›¾%ßèqh wý=@ I•mOjý殪˜ÅÿC©ñˆ?­ŒÈÏkž_ŠZiC™˜™#"ˆPÄÍS»7Ø~/˹D f¬•ÄðTÖJ1X?c]„‘XåÀs'+9¤Òü¨Åæ–ÄAŸ3(¸*¡¥xûOºŽ&©ÉƵtfr/w>j"D÷â N¤ò……!ØËQd«p¼ú,iü=¤ÙËFÊ7a ç‡ýW¡÷.=Źï’<Öƒ.»»{‚Ò˜„Ë€Š¬S¬òB ¶£ÏñÐ'$½'l¦ÊNÓÜ^W`Y/5#²d?ßëþ40:X£»?íâ„#β\pVôqUÂDIºóâ,¢ê,.nr·¨ÙpPÌôˆÚžv¼ÆæÈÝŽfÇoi<¨|÷ª—VÆ™´¨Èí>éõ¡“Ì¢‚ïJ*S‹“¿k…Ri ßÉ5ÛF5rÒYI´?¦XÙÊ €àL9›W Ñxš…CZZŸtýQø±qvÃïÒ¡¸Wëèq±¦‘µ/5§ßAg=•‹btœ-/AÑÎíNfxž  P¾Á¸ îV¢£ ð„Äuãló†¨ÍŸXá&%9ª%Û¨Ž{4®³É‰ §/L%(Ù×5¾h¸ŸÏ–&ЛĶ;Ÿ¸¦Ý dû{0ý³®Ñ)nƒG«¬\/e@ØÎ¨Wå‘PQù‹Ï†&©·N¸£ë÷:¿À37þBŒÓÞÀIgïJ²ó yÐhœãsäm^ŸoaÄêIv±é$—eþ5Ž3˜{{ü§tÔ<‘Ǽ_dÌ*¨ôê^¾ pµ(!U4ý84¶,þN癢)èœ×‰y¬˜%¨, R¶÷ˆ—;7Å Yÿ“ñèà﹕ߴ0ѨÂóšòYƒ¦¯«Ç¯ößÃ\TŒ|=Z½0îö®¹[¯ØÝâA,*þà~•êoà/C„"0TþuD¿òîS‰üŽü$Î=ló/ì‘ddúù®ŽV´š<Žð@è—F쵩`ÑC‚·#Â&Y$¿!>7{·ß_?^¡ÖWK,(9ÅþV _” ²uC®+lòè둞Ààeh0À6*š@§| ZçÂÍÂJ¤ U–ÊN:;jwÏ1n²Àbƒ}¼††Ô‡LŒÅ`.&D2ÀIß¿CYwjSƒƘ Ü1è{šv « ÔˆªNü†Ã‚8òÅߨº!Ãð*™ÖQÙ&VëåÄ3Îîwä2× sóp“ß­öfchXa`v…þÕï;p[ïS ™Õ¼Û8xÒÆ«PwéŠ>˜¶ª«EðºØˆ–N”ÐS€ÄW…ÿ{ 4\£†#’št˜Ä)ê²!‹PtkŇ¾‚Üâ.ÝÚ…#ye¶¯rw–ÊÓRg6µñ‘ئ;üÝà ò=1LØ\K YI;Ì¡“Œøöû” GˆìnÏérÕÜö Ü — œ„Px÷äùe>þ:d’¥ªtùbmò5ž¦ O“ÐÛ•¿í:ˆ Œ’N`„Ê {h)q@X Õ/D˜^à sŽt¢jˆ*3¨ù±ô£l [$&®–wúºâБM\0Ê•#¶[1ÎÌÅáª;¡X¤‰s<ËÍs4 à@&’×Á6é@à™L,†&xÀù³!îj’?´Bð £üÙ…¯ ™'ôDZêÌ'lw‘Oué.dý]•á3ºò>rCÉS®]ä:’bXîàUóHý:Tt -6ù2†…Ãñº„`[ªMs§°_¸A|Nw~êÚA}°ò;ïú)¦Ç…:B'ËûLdØL®Y?Ëá:š¿{§äh ‡KI˜¹îe cé¤2žyE9z› pRXNõÃâ½%F«®—þªÈµû¦Hi‡†Ø{C£þK5.ˆß›?w[árššÂÙ×ÿ=ÐZ×(ýèÓ-ÓŠDhß4*8ÃÓ‘çèóJ¶ ,lyև؆&ßÿ?¡þ‡ C¬ö-R-˺4¦i8R!-~ßø¯Ù9 µÁN²´¦Ått5/ˆ¾” ¬À8äx‘‰C{¯5i1µ8t“ÛÏÆÝy¯Ôÿ9ÖÜDéÌìCÎdÐ…øà=,l "É‚ÊRx¥$sz¸*.³'ÂBv,¥U½x‰Ò%~™×ÀRi3›ÕriËé)\¨°%YZSÆ~̨-1ÂlœeâÜóqތ߸o1@æÈ–ÿ?Ü¢짬)& gtŽb"Þ¦ P”K? !½«}ó;èz¶ªü!ýXªºÂ‰~íD°CÚ#´.sWha-Œn½ÁÂE!(œLT¶ñ–íïÖb¡iŽ7š‘‘g竵È3die&¡øõ^ñü‡¶G»Œ§Y²ÿû9™q=5é`Ûª÷Ôm…b§ÀE1V¤º#5š9—|³"¥„Ù3ˆM›k©:x>èÀ#¥›Kɬ!õm:ùÂóÓvH옛xØÄ”ÔÚ¾¦gmCPÇ _×½«¨?ð†_°ñ£¨±F†T£äÞ©ßcgÜœÅgŸ¤&œNÐ×Ça›·¬XØßýHÃ&i&`Àe?)dØþÀ ‡r(Q1 ¸™Ó‚Óýwê›>ù)À}eãë"°¬üMh¸²$¤cP *0ïÕ¹,Ô½»›úTAÖC,I0úµ‹±­ T×b%"l¢Î&×:^É:”>{²hhÓ²Ûe §û܈Eô—tiål{{ð¬´mžý½«åužæ}æ>³ü  ¬ÁLFª®‘µS²ñìb𲋉 à¹ã–&M ZRÈO¸ÑH|9b€«“!æjTW?½bÁ}jýÝ"o’ÊÇ:]<`,˜>¾IeÊSdWàÁ>?yI»õíÖ‹.ôX |b×0‚Â?{À#²á"6Ÿ»N.€¥-6f/cfáU3Awî™0$ò±“|†¥åÔg‘´/ÏóžÈÊ­À˜w:ð¸‚3¢_ UFÕž·„03º 6ªK%ÄRetÝ.j®§[§“®™˜‘éµ\Í£ë¾TJ¶ç:&uz¥ëžH¨GÙ™Û²_HÔ<ÚÜ´auN MBL&˜ÜÓÉÃÜ·r;JÁò^9Uÿëª{ìpÒˆóeìÂg*…š¶ÚÇ[$£{ÞÁû\í`6¦"HaîÑ7=ý’èäÚ~2ËV¯9smÍ[+Ùvê²$w l/ž Ä—õÙ@†JárBó d ?ІC7«ˆB)­«¹Q¡( ñOÃ<¢¢ø±p‹ÏS=—[ÿ>ï¤2Y`³­“1Ü:H«¥‘þa‡Ñ’Ð=R`Ïñ¨v±Ùª~¯åFý¯]ëBœ¯U8¦4^pb™‘Ò ká$M&ÁÛ nÂñÄÝ¡=6ˆ=ÏÚ‰®ž3 A¬}ä¿{KjÓiÖ :°X*ÿ|pôòªÏеO+ª}ÙG°±ŽÊ¹§Ì¯¥áäÌf%Pi«-<#ËÒ ™Æþ‰»é5›Ü¦~âÃø|5¢W¹Î+É´25œRiÙgr_í–@'­'f2y‰\x–×v³ì^Ÿ?[Œ^Ÿë~u%@Hg°Xwü2BÁzv÷ Gøü¸@O° '*ÔH˜ŽÖiŽîÛ}‰ï^ÌØ\³µm…ôfÆÔx`T•æ„Sʹ³­hÑ?û|§4>À|åxš;™¬oÆRe=̶€Šæy»"öÕT ‡3Û‚NËðÌØpâß%ºq)4<3TѼО 9~Ù6x0u´­µ~·ùñÂðdŽlß2t9Õ½iJ—˜æØ¢{«µfñxj–)ÀSÏÓdá¢/õ4WÞ¯â>ºlÕ-þ â?.— ¿ ZYÑdƒÝ‰²x•‰té§±_Àò35V±'Fli.­ >®*–¯›½óWe—DÙQDݧPï\K§/rõBÂb 7RÕö*‡†OÍ&¨B¬ì}D`%ðü1¦b¶Q(†ÍäÁXŽ<ºªí¦VN‘.¼i)„¬’¢›<Ñцm`íuÜ÷4ðÒª_GqäÁy|ôQBåaˆ¤µòÃΚ ;ôÙ uh@¿:j2lßvæ3ª»Ž`pOîØ< BuPIúB¿ß×¸Ý¬ŽµvP¯?ÞûGq®¾YÃ3”¸®YßVcªñú{äwŒÒÐ0üHÁ/êPÌhPà ‹"&Ú~ý({6„Í©kKPñW–(¶ÜT±þtÈ÷ƒ& sDì™ïÓ¢Õ%3,êfN/!ѬS,±¼®œ¿Kø‚½­¤§’ÙŸª;&À:YeCà gbÇ ùÊ.xá$0oÂÅÚKbιJKn€l8y:!BßÔà ýnÿ÷; )(û_Í׊‡ºéúè¤`HœF±Ujƒ~ÕÌ{rßæ›"¨cþcJ­Š®Ö¹ç÷l}=oâVSvgyU©®§ÝãQxt$±K-Ž(¼/«öΫ–¡-Pgãéák ÚT=0³1~B½b‚v #o{Ÿ£~¢PUÂø‹¿fÚÕˆ}q>GI©‰œr®.–±uõ9’(æQµ9rÌÎBX‚! »èÑŠšQ\/§m©£¿<¨¢ÏHjB½Õ¢QY ÍÞç¶ÐþÉ™µ’ƒépôÚÍù€_jŒ‘âÓ`7GÖîtŒ¡ t€PYmJ¸ÑIÇéSñq¦BmU»Áž0û Ý@õ`Šc†MøÏÍðâÂêŠ=RÒ™~@`£!qÍ×áÑ^StºC‹/žñEz^› ϶ Z¢ØüÃóÏYÓ4±ÙÆœ2õ2|VÖÃn<Ç-6÷[—ì²A¸8AÎ0µÙÞšv´–-ƒC¥çjOøô­íIõ?PâšÒ¹,}¥’Û…Ûýé¿8pôŽk$n.|¶5RøÍûžþ¡×é>bàCëÙÊ4OþòðAÉ?ž’ÐݪH'P Ô?CÖ&£±”ØÁ.t Òûw»øŽè¥ïþÙ„GÆ3ñy–8±”Žÿ蛡Ÿ³X¡BúpEû·¬ (Bµùrô‹öë½Ï°;¥ÿó;>±:Û¦2±ùb¹¥­À]óšEB²Ýè< x:z5†à|ì±È&ø2´úñJA$ÝõšPEÃ{e݈ğèBy•ù§%âš²öÍ%8ÅQ4L¡” J®m,lßÓ{ÝÖùö vG^G¾…È®®PæÐ€8º £„Xö#f½bxÕj€ø.*aB¸‰LQ´=Ä¢îcÛ*oT˜õFGyú …°ž…J:\‰Š0/@f†$àãOœð-O²ÒÄÖB‡˜¥: ´<“¯ƒ}!D«m°j„»˜‘µ6£¼ãw$`ïúëY*ûö5²Vñ1lÞã&?öúÐ Ÿ³-œÒáe)éq‚úQZÜf똺×àh&ø‚ E€ê× H†dì¹j•€ 3=›v’.v–%¦»*ZG?Zjˆ+ÎØJ±îÆN"ÐÊ©!ÞV©ÓpÔ|E}ˆFÔh‚g‘ã¥[àÞ©Çâ‡)ö)Þª®ô„³’ÕY?ﻞMÈ È™XvßÙbûᧆƒ†ûR0î Äj\ò ­çQ:ƒz÷¢EbkŽFDì“þ—,zÕìu¶d<¼ ˆ9†ÁÛxâ÷zŠf"Hƒü k‘×´Ê?g{ºáÌ9Ÿß½Ð —AÃ9KQäè—ß°­4Á ÓjÌ;ŠjYÿê_!Ñ(ƒßì#Åô9"š0¼¨i”† òÌ &eÄ‘ÃUD |/ËIÃÁ~ˆkšVyá\SñN19@œë§õ©8 B¶Áyï“{µ2gV@Š2kƺÌthÐ-ðŸFPÕõEž›”HZµMcÇhw»R¸‹YŒa8kº™@+ÐLqVû³ª‰¤d ªvâ+Çv™ð¿0‹ì ''Ýd{¸i0ÿÛçP|A~¯FbçaÂø/§ÐqÓ›©^û£$`&k AÅBË3ôß®ùpº·fFqà,(» OºS<¦à;°gäJ›éÑ}ÃW‰¢‰P/€‹{v¹„<öÞ<'u¸Ã]È0SEoqÂç.û5biè&Äf‚¿©Ê)â7+ôT„¼Á3¬Üjx£d/¶Œ÷ ¢}UÇn’` &§­~YLC|—΃w!b?1eˆ¹á0/cßAo¶-B¼s]ôðPLÚˆ^T ×úBŽÂKÝý®œÆp©zÙ)R‘á½?Ť3Õ½£ìøV/íJð(ñîü=k0PÛHĸ PQí ûˆ%ûÕ‡qº¹h  o^æQ"½©UÌrÓ]ØÕjéøÀ}c¶¶Ýéîþ? Øhïå«PJü­ïø[ÝAí¢engù¸AÅÄq2Ç7>6ΠpÛÇÂ…‚v ó""ëMTo ÀH™ ´£TÝoLVû?µKOçÊÂrfn¥|Èi« Xb:)†çP¯¼¹Á Ã+1 ºM¤ j±´ÌÏʼé0(.Ä(C HUqXà%±)p¸e²Ø±R ŠòCß¢ÂØ‡'ë’@¤»”­iÄ ©¨Ø} ¢i~í\ålT7÷UAÞ¤bømä] j°WÅ K 6í˿ԡ²éPž•ñëCF{aË™ lZ™´R^ -1– Þ?úÄ87ºh&zê¥ëÿÂ4ð£#^€küÀ› >s—Þ x=|6MÐQSðÕŽzK”Xƒ)›”ŠI®÷3 Ô¹jÕáëø’1¼úþ¿ên‘ôØ•r09Ì!ãU<©b^ÛtàyOaÔx¾ƒ§kfe8Öm[¥N[§@ºx{X~•T®#®ÞÿÛ£Ã[™¨žÈûYò ‡Àåë¡g@!(ØC]}„bŠìŒÝ<\ 8ó$E4ú놛Flyê'ûgRjU‡³†þBÙ$]eZ˜lvý®%º²¦i1kS™¬H°èz|„-7üîCÇÖä"ãìr TÑï ªR'å2Z\ÏXÉûè0YîYP±)áe‰æ&“J¿:.p~ä|. ¬HX3A·€ /¯+ì:Ö4v<`0‘~2ù¤ä ̘­\Sã Ÿ4DËœ’­wXDhÙ]hÀ{MER*‡Á…Þ™é[ꨴ¥³\ð9ïnÆ„âAµ#‚Šà\8•–:–•œ 'ŸŽzI£-!©sýá 1/^𠻃òÖ²ÐsŠIî® +r`Ívâ\ÞçQXtí´ï×3ÛÎdÅ9è'šßØÄ…êQäúxñù‡{þm«Y-–bú¬Š>¬vº}ÔÔjÜ”&ŽñÐÈíÿlz …Ml •0p V1òØ*ÄB(]}<Ù¹bËÕö~ÞœóP0–/ãD²J(C'¬bvlðÝõ¥Ð8eøQò.øÞnóÈyÛä²Z%òƒìÿ+‹ìJ¤am¶qG …G·höÝ„šTh×¼ŽîÐ="•Úþx!èÖ5u{þøàzõ=åvƒ:{Qcz'^¦cÛo&ª¦™¶ñqPÍer§¡@øVï¶JZ:Ë/îÀÞ:4wÒÃÁ™ ô`kðö%ÓùªqcuÕ] ý‰nŽr˜f^~z¾ÓÝÎjiøºjllnËSÁW¶©“³/ê÷{0ÊÆ°Ã/œ+Q ©!èÙ}Ô)Z JÍ×OJ¦‰}FóíG„áë~0J¥“! c’h؈ï'×¼Cn,¾eȰ¡R&\ö Üz” .›H~•»”R#O”•–˜~ìórÁ$.< ¬t5•¦_”‡4!Lus à¤smÅ­}J9Ǧ´¢¬+ºïoE‹kÝ ¨ø=W``ÇM6W^óilît†ú®¦ìuwOðÞñŒàF§5²¾ ’Ü…™;&PŠÔæ¹ÊËÓçÖÈ_‚9¼#› ˜aŒiУ.NUóY¦ö×j¼xg¥vÖåÄqéðBB»ç²h#{bBÆN®[ !ºWYàŒœÈÎn6-êvŸ¨ó'N+©üHÜyÒ\<¥K&F âü¦e•z¤t,u¯ÈØáý‹â§Á gÕÙ@8‹ðõòºVµ3FæC’õ¬)ú4Cu‡¯#‘¢yÿ;h@sÄ3ÞáŸÔ’¨&ùêj?+£#Uµ=e ŠÜ.1²{™–©‰e¸€ÔÃÓ~Rµ(Ç]ö(+irû½a=,%1,Ž—4Ÿ£SÏïj¯Ð½¿]¤Æ"ü$ܪx+çkp³ú3¸®½ ‡¾­«¶Š-)RB üTFükëÎ3DER¥~"ÌÓ M?m†›2D¸nUöôI‡£éfSèÀÞÇ=3s`ž¢ˆo–ý¨•µ%±:ú@Üs¤3>€“ŸˆåÉVˆx˜)KPFr%ÒÒV]ü³@¾hÒ y/–pæ}B6ŠC|°Jª[Κy”ö‘1œXpe_å–ø7šiƒsÿt ·pÆÕŽÝ`?.¿{|D ¦r¹-B÷»°Æ >Üð–SçÖ‰ÞAôw ÊÙ1™›Å¤ t¯(½E$ëé< ›—„#wzࢠBge°ê­ir;m…œúŽ¿/òÛ_sÅ<ü~Kg*\TeªôÙä©ü éGÑ~K Kh¡§çþ8d¥Í»\‰¤1žmÇX‚Ú©à­ã½}ÆS%(ftŸ¥{E^1]úqéó½]ž‡®‡(¼}·GÙpv‹,f•7v‡ bYx +kјϰؚ±Ÿ,–ž·k7ûY¿Ú ÿ¡šÚ”‘|¦aŽXõ1„C÷Tð%xœ‚‡{±ŽÀ¾·)çÐ#Žþ3·8Ò“ÇêÔz‹™HT1ìZö}-´'<)¿cŽí0I°3±1®|µ™n€Ù—ŽÊH‚&0źŽàè¼ÆâŽc<€ýÔoA2ÿq#š÷®R8ª5žÈî¯ Ö òÓcŸ»4€5æ÷†‰+¯ËùÜjÁšDDXþÌgµ)sǽ¤ˆ’ô4X«‘ ¡Y|[¬d®¡0’/ÏïhºÃ¶?éGíMml }èĺB£_à˜¡òšsž³$K 2ŒÚÙ»ƒÐƒ{}¹ÝñõXºÅÕß„,"h¬mØÝ2Ow§SÊŸo)-ú¹9ÎÚx¸g×5wêŸNi1(°£HBaa® ºhFVí®x†Ë5õ½{»ÁñGû‰š‘îÏÔc!ÉG3µoÒ]¦¼n2ðM£‰zKÌÄXì—P dYÁŸ~P÷a:ETÅžœÍåùÜ£¬`1%^l߈üÛ,dY«“ýœbQè—ÁÑâÿè»UY¥ûS…vàK÷5v-ýý¾¼rL~)Ò‡˜“€h)T­ElV¸Ü·ìVb§UœЄkI^€xŒèvÏ'¤ý˜ügûïP9)ߨµ^Ï•H^@h#ÜÙ¿žjpâÖŸ¨x<æISåïFçñ»“‘ûFÕz¸½àSXÖÒ!ëìë¾Ìn ÉR¦eúÉX¿Êˆ»Tçˆ$^c\jRQ~Ó†$Aø¹í8½³OßMíÂÙ ÜèÛYÊ«‡ü-Ì-žb}òÆA{ÜÈáå/¢¥Úv›Ô¬ÌŸåú=Tx©D<>Q¥8m•HUøÃw"xø²/OK ÍQµy^èhTÃJOïi.ÈB_w²½½ÈI}“› ®©­ .zíÄäCź:(Á1_ÎF[:F @öߣ½Û挜\˜§(4EçW8ޝÑû¦Ó¾Bç1’2¸ºi‡©ô§CÆ%ÜØ‹¯ÚÔIæ?¡-—èÅPjíx! ,|š<3k©•s.I}ޏž8sA –šWE‹’‘;ƒT«=/ánu¸z ÙtF¢ùŸL”ÉzIL³+dk]çzMRa2ÞïÌB£Õ5€¡oQò²=Þ†µßâ/̵#Ãcc~d‹]cÉC}ÀyQ<ù*lðû* Žæb)¿‘Îî™N©¨¡¤¢ÄÒ±…¡N 5à†M¸Ž¿ù-´¡æÂ–,-'–µ2Úf’TäĶ:œÂ¹ë§¢Ýâçïáv}v¢7Ñø ™ìfyÚ?¯ 1>Ó}]ƒ¬ÊqÏÒÉpŠ BúÈ ò ­‡a Ó¶øÙyqäºïJG†r‘î³IS^Êõöºî}¦°27òÛ2̃ÊÛ91pöÿ-{â3ðrËšiHŠ…{p¦»ëB½ïXæk>'éFÝí} C¢ÜùÚKjŒ1}í$µFPÉ]!¨E<øW&ï×LØôZ·¸¯ i^€ëǶ>BmŽè¤€MŸ–áO†…¥üR³)ñÜ 1VÛyœb QtnÞópÂÙk}kÑ’ãLm§ÓîWNà/M«1#:C:Â1Ãî÷XR¶˜;è»ϯ…¶0„z`ÁLð *3üF1Œ~çR>\±œ¾Ç*ì º¾÷UÒyÒZ ɭ߬Ä#yc }èÂgôß÷¤lédh£óZH¸~§“Kõa5kI¸Y©–—Óq‹êg&AµLeÔìÛ#¿ü×Iu‡+7ÍHhAÔÕ xÓýÕ" ÁP¡ëq¾’ β—¹ˆ÷l ²d¤EÈ·3 ï§Ûe¬ng*hÈ–f.oÕFöŽïàòp/wÉ|{LSy*{ùKÕœ),¢ÙIï¥v[ìLŒŒ~-û(ÛHúM÷k,·ÖÛá”wCï"›q¬Ä3àø™aµY°S‹í1 K¨ ±Zõ=ñwwÔ¾¦ªØä€»M´žƒ´À”ΰTLàÑ¢2]³¬j:#6"~–¡VîM ²»ãåŽÉ%Ȇu¢žÏÜÑç;ë­‹Fƒw± ³¹±pîs´=–¾àvÛ'Rx%wÞ2&ØT DqËúßÈl¾òT#ÚÍþÕÇgT*z¬yÓÇ»ý‘ú kZÑ æ#ä;`#©ÐŽ%TgÓ(ÅàÐõü(ßà飯ÛË ÅÝBÒÀœ•¤UËîd’ü¢$Qó“*ÿJ$ôIçŒò¹ó. Árá•FÐ Vó¢€^UŽ3]¯d|< ¨÷u6|Õê½»7@Ÿ±ƒÙ‘TªÄ¬Ve`ò{àLÓpÇ>»ÔJ3RÄ•ºÈë¤OgÑì·z2vÝ›5rîâ”ëžÊT ŒÖ:Ëéö¥cÎÂHªSYê­Å&s@ÚÏOþ²²é‡‚áÀ @É«Ì#)z:Œ®ŒîŸœ‹6@£¡ÔëóìÔËfåųãÒ6é9i¿nrPCï Æ8™>ìUryÛ=/ƒßCò éþmF.<M?øÃF4ð=w3XÄ€AV©«ò‰•‚ˆ‹±Ýc=Ñ&Ñ…±‡;æÛøa¥ šfhLŒÂ¸%ü›zÖ±@Õèí9ÅÞeÅÈ´Iê~g‰D[»£¢¡ËëO~ éÛXåŽÝ«nˆÖ.÷Ú2ÒQ>k6 Ž69†`Û(×ÖáQX‡zímÜ™Ì_ÖßžpÆ™{Þd«Ïú[ríHWÈ(¾O{A»ÓöWGE ø”÷™ÐJp¤Í{ãDx6&%Ã峦5e© üêTKóh-G*R£)¨àò16Z Ù(cM¾„ú¦ªÌرö=I>èrÁöþ¾x}ŽGB‚gKcé%¤IåÂ"…¯ng’4ƒUûŒŒÃô.z!9üÎRëP”¼Ér™Lï.V:]ÖŸøØ9Eoir;üˆõµ«@ZÕéá^ÖÑûfÎr]SÍøˆ çVˆ|È龿Výhˆ‡Åˆ™C"Ü}`ÒŸ €ø¦N´ŒKÔ‡+.¼p!DÙcºð˜ ¨£¬ÿ´>]¯0<Zâø ØJ€p‹ñAxèÇÑÙõÁñÅ T¦Lõ»;õX æ0ˉi(@8OE¢#%°YŽÆ1û)ea2¿} ÜFÊ,Ù™A©bGDÐu‘EÄV ·­3¦ðÿ”nt‘üÁ5ƒ(àÁ¥3¬žw2F±båû$§èÈ c¶+Ci`›„¬×¸ÈöO³7U ÅVÎ?˜§PAC‰w¹ézô8œeʽ ˜,> %{£Wm « Ño)\v¼X²*yéuóÏ@WGóÞMZs}VM=t¢ßš›ŸŸº8FØ*ŒjG, Rgü|\Ïnön8€s)†û?uËÕ>ßV&;~Ûf…—.¦éÖÈ„û"ïßš­Ãõôeì'üØÏŽt˜­£%ÕâFg¡}˜/ÞÁÁKåMCùÚ(¢¹_e‰Ý½ä]¬„û™ü(âÕË rWýÊN\ZW›Œ~ÝwwµMcW"B-Ð\(/M Ë^ïÀ„^{9Ü®ùT [òÚÐþ uI·ým'*Š›‘ŠÐº$Q¬VÊVâ˘@tF_.•Érò¤ò´>mGÀ‹Îï Í(BÙÐHvøzhËFræ¾î`%ð0¤ŠVؽ·û¯9šöx÷‹~’›× hM¨Z†ÙüüÑ ‹jCåzv‹Á@ºŒ{kÌŠv%ájGÁ'™Ízð ½ÝQó“!$óÅ­qp^+ †kÙ¦*Ž¢©ÔÜ j­ U¤*³-ÀÆuœŒ€¸è$%D;ÁtÛu]Æ!˼ú±-ÚÒÖP–dÒ—í/Ó•4I 2³_´ÍuŒ9äñ¸e¤¼•¾Æ,d# ;ag;XåZŸч±¬ð¬ˆ¹·˜Ç¨d3¹‚[å…C#.ÎsÚs[;åqűóhL Çð$e]’=êòf)M[&zôå%¯XT⬸ÓÇe B…䆊iû9ž1Vy!Þ›U~ðʃŒ Þ?ÅHð˜8¡0ȰUis—`1J(¬;©hÂ&.ÃLÁ]™@1Ÿ¹IPõ†ÐnÊÍ®–(>Gibûz«K_o935ô,²•bÄU:kƒ/$…DáÜR/Jh%7àCò¹ýÀÀd`J­ˆšjs ìÊ‹7I ðŸrur0µŽúùèG)êÌÊÓ¹)_ÇŠn‡cæiô÷•?¾«_%¼^Ð/UŽlÑJ )[¿ú UÇ 6aÇŒÊ-\öÛ¿ó[Ñoš¨³ñéG…(‰n>.»%Ìk4žÐ]:? iN§u&×%õÈpˆÏx¡uÜÀÈ! ´RLrf=­º7'ÀRÉyž§+¸6 ®Ò0²Ô‚/¢µsêÄP‹^¿Œ¾$9Weìöª/H8·?3D>«ÁBüfƨޖMdxB-dÿ ‚Aj°á‰îµàNcÿTõQœq©Äo]*r-z,Îßê­ ÷™Ð椡m™òEú8/‹9ÙˆÞVˆ¤Î¢ýѱ~ü}ßUVæjn&)Yjv¹!U0k¨ ìû+”ù;?¶Ò1œ¬2% ˆ·Ø6 oÏ»¸A.¥|•$p½è¶!q “¶¯¼xøc¿–ˆ“®øÆ.ÄSWYò›ß5?ÿ¾;Ÿ3 N¼¬õlÂ=Ž ¤ù‘Qï™äPOèF@Ù˜HÉÔ•?íTN°&;¬?‡°,ì¼€.,÷V²mK=€‘¾•|Íïöi˜àÉvó÷j¤‡4s¸øš˜¤9º”º¥ÌП8ë°V-¶îÈQº†¢:0.*ïºq·U­Œ$¨B¦è{- ²©:¸â—z^‡¬c’¿cùÆLÎêEI %&/5dÜYmJSqv„Wž-È¢¦õô]K:j|÷ÈÛoƒ\Iå\7úÏIvUûŰ&PM§ST{˜À>ßÖtº÷ü«²9¯/”æ89ÙÃik8½Û–V< &ܚߊ+G)Æ'É2›<â(8Ú¬¿?ø•ÈiT剃¸üøntŽ‰Ô £¸1ŒœözOr25;\;fH ëµ,o¯÷îYn¥_ª3²q8¨ldakðÜü|œÿÁv?U¨(¦ajS)©¡,u%„´f‹Fu·šúÀÆLh*Õ,rUàaÿ’[Q‹bì Õâ ‹æ»8!©ZïÊIdÐ|˜SùBcé×d\ÞWŒÍº»ñZ±Øê* DWÂ8¢E:Xó, r’.“ǃj»;\³Ø¶ö©‹kl—,ÊÑë峎ÃÑôOª¸žþͽ¸ìQÔ×€öæ’GéUÒHgtn´¶ø«üÕO7¡êµãVbÆ38b«oXåjžÓ¨Ù:q†ÿÚn’ ”iVÓ 3p¶”è¡ÎnÉn¡^Þ €™ ÇSÀ¿ÿ~KµÎ_»½-Ëók€M¥ÞD©ÐÆ'gåÁ‘¹[‘ö˜¥y<¾‘e—C•vzý½3Hé}Ââø£r¨ Q=¾?Uö ÝŒYeÊ& :8Âùÿ4Rn›Ô$ù»µ+WMJ\%vL–LŽï)Ùx×eÅ«¡d»Ÿï6k¶µ²Ô áh‡j£ˆ“f`ØÇfY-$o»×w[¸±ŒÑ/&ôRb—ÃŒõá³d„ºŒ)!A¬ñß^BMCt÷À1£‘žµòšeä½P[»Ür,ÁUìÒ•‰ÞUcÙÈÔîÿ æ¦,Ä4uS)aþ“UèÒ.`¯×GdÛnòÙi)On5Nˆ«”ü7«QÎñµ¹9ÅíÄÅ´ÊuâÁ´ýÑî×_ß$È‹ö6é.*l¬ëÀÈ©h8¯_ã@VÕòÊÍÐë†ÁÜIBL0r}|#”ç«/õþ„±†Í±-$g‰ˆÍ×¢ ²—¦„CÍ“Nù7 üH‡Ð9ëGLQ(§sÃD•^μö­ à+íÃv̇×ûUö‡@¾•@_)C´p]1@=í‚IIâgB( j›âºFpyážW{ÒJ; cÖŒn‡“°{´´í©8¿É†°ðÕóÞ¼]z‘&ïŸÒ€HøÃ™—›gé¸HÒÐä³pÉ ‡ž¡®«¬ûÀÖ“s‹v jˆâþ9Ë.(ÌÆdêNç­F92Ï·ï 2ïÖ䡱}v{!Þ\O[#>¶ÞÓÕü{¼öþV˜‹5ø süÜ7–òù Ë7'¼¶i ëœ. ¥ÿrzÈÓ—×Ë Ïèp:Qˆô–Á$Ñ¡TF¾›n3뜧¹Þ;—ðß¡ÇÏmOÌõ"XF?Ý0ñ é×âZ6b0ñQ-‰Á ´ë-E@¹ÝK‰×+£)È•¤‡§_¿]í÷;ÊؿÎX^S4~dâJ¦çg T¸°Ü¡x¬ݸ¹mÁ2t%–ˆàA·Ù©!Èô²öè—U$ÿS{^4¬<4Nb…9ç@cüq¹¾E'RVíîFãň$°tgÆ7ˆ€n'ØLèþoÓ4Ÿ¼´÷×ùQØ’d3Ч‚*NØ$bÄ _J$ÅpRÒÚ!á„ ƒ5ÊX?äuÊÙÅ|†Û¶hºPá­ÐO¡wüÀ8¦üƒ¾Ø:4µX\‹ô&8¤ôõô_'rž R4G†ŽÔ;áGx*]€:^¨×eY@-ˆlÐMNøkgG<ÿ”`ŸpîLjÂés½5 P0ô–H{‹ÌñᨒzÐØ2ž½æ:êB­Hwr±,ù©•€‘b´oeuoE7Ìl )È¡ÙRúÅ z~e`Ξ:Úñ]y_€(ðÒ~“Ë3º¦NÐc–*IÏ‚Yb%=òÙÔª¹úùpÐÁÙÄY ¹H`–zFçËÞN=Á$SBö|ôF"ˆcÖŠ¾p^®œZJ³†c´)qhýdzÃû²³B`oÝqZám¢šÆá×Ùy’·¥l¾±ª£‹Í¢Düqa¦ÏzSw\Îv'å‡ãßW¿Iö+*Ë|ALEÐãoÄ>³ÛuJ2ï× –³©ªè;3/6>5‘ì£÷å Þpõ pð<¡úk›PÌ@µ=Mß±Ò!‰v9“0¬…t`iœæ$*¥ÝwÉt¹Á…¸ 9xÏe é'ÀÎÈÝjeë扵YÉ#z—wô9¬Ã¨Ïa;ƒÝX[3ÛRÃP=íà*%/ bس¶»-ªãh©1ôIµP9ñd+)*6u¢wÅ“é.0—N5¢N W³åî9O_hȈ›c)6Õ°ÑF颺}UÝž4%€§£ƒé§…‚†’û«z”5~ÀÿVŠñ›L ô.aCa àú¢wE…€ ÿL¨åÁ>­&ÐàBÙZzø¬ZvÛIY}%J¥ø¥Ìøq *ä™& SÑñ½Îu6yïü³G"dLbL.ÞèE -äƒR«ÂQ M•tÃ×Éz0™÷²6a›¼0ìH‘¢»ª(¬DTÓˆ"Óö­.{È@ÇíÕµšj/·¾¢@mSO¶ö)5mÿ)Ò-êÆÝD¡DRVîØ¹Ç„$œvÀ™Ý²Á$²bìä¬ÕR@@ü¸ QÉÔ¥”G£~‰Õ¯¤”Tᎅ ´ÒÓ"Ç…9 ‘¢v±&›ßá™÷ôZ»úKÒ¬,Ç@pžRÖo[{ÔÄ€ÃPî}õX¢ˆ‚ëÕ­¥‹ƒÄ u[Ä\•ùQÓ[ ½™„U ÀyÝü¶(Ùy‹›"$)I¾PŸO«ë³ú̪„¡òe8·…1¾w¥psG=ãê}I2íJ”X„ˆDZtW ëÜ÷¶¢<‡›-ëlt3ˆàL¤†<òDÇ«sJÈ,RÓ}7YWOØ ßí75ä}6m ,íä-Åó|0JÞj#ö©=ù…_2™ªéꄦÄÖ×=™Ç0卯›JÉ>¼šôzl1ô“”ØùVHzŸù}\óÙ@Kã”öüå„hã© ¿ Ä?R1†ŸO<³Š-:¨à;‹¯#ýÿ}”“®ö‘oŠKC¹CY]%*Bgâ©:lQ†«Nªœ¶ß¥Ùö  NïÙ-¥X™.‚¿k—JÉlý7¹•ñѨ2Üמ ƒQ¨&Йxæ‡î(ýÀÚ™ËÀÖ¿>q">/5©ÀR&/Þ!¡œ`ÙAÔÄlì*g?O—BiôÑO…>¼î=´…Ó÷¬¾8¡—vzŽ)%]»*”Ç»btA†¬Oým±KÙul2‹›4û•«¬N;ÅÌ”Tw{MQ)Ü¿|†G㦄œó€AƳ«<Ê,š ¥O¢¥C®+}õ3ø3šë’ç}AtÊù‹5J¦¶zˆÈ8[ßU[ùž.­ô©I.³W·Бhw›)XVÌö@âõKlåšCšëžP®‹–›¡Èùw°­KG›n%¾]¯Å¡åÕó4œB]Rž+—êïBHF•ÓÓg·õmå¹™ãYkyâÚ³ÿ–ø¶ªäŠ…qºÈ·_¼Æ üГ£kÊ~WvŸe¢óÉÍ´P1/ôõæv]t”¸¼ÁÓ›ôÆr7$”¦óÂ’&Õ’¾ …«iäøõC2zO³ |\‰Q u€$H9˃U¶Þͦvuw#ßè“‚Í:;Vxì%yr7&U)p ÌRšEŒ,ü¿Þ¸8áØ°ã‹cÃè 1±±k]Ò}Ùâ?b²œÏ¬!æX¶'Ú´ßÂËIñŠà>‚…;nÒ9Ô1¯u=RRŒµk¸·õŽ•£˜©~ÃkIK¹Jæí~öDšìˆÀ×'§ï¼Î¢7©f8ƒkÜDö{X4IöèÒCO3 ›ã!Þ³Ö<éØl­mÊô¤sõS•0¾BÙhB÷d”sõ–lð2SÛ_é?œ¾5Á>0mØÛ¦BµàrêiR]DÀ tj²%ÄÑN½¹ïÖ™^æ‘1…Œô¥ ²©;|Ir˹ Ù“ô³œ.‡jÞsý°©nV”–ÞvŸVõNµ°cl£/}…:šŽ›­þO@>qªùk}u‹ÁúrXxμ³Æçµ´b;»î Þ§ffŽßo똇*žSmpdK4ͨA"¡R… ,W·]7vKØ8ê‰-Š@÷( ΂=oûW嵬ÏAŸíNžåË…´ýø /Ù “I*£_Ë”oy!×XsðàÀ'Úïį‹cºD‡aËDµ¹J=›€´üIѽk¤Ó\iÕ_âÓJ&5RÑ&ê„õÝÀ ¥áÙ@ǘÎ5˜Ú‘R¦å¨+]±¯¦\92mâY+}s‚dWÕl…ÎûǼ,¼ ÖÎæÉÇ€zâÉE~bFtî4O5-z#îG"†ï|¨|‹LG 8îy²Õñõæ*óôû9¨ëíU²ê9CÓÑA‹Î{ÎTÜXœ+m§ìRMB38Õ@KErIdo˜_ç~1Ñ­9ÚËŒ[áÔë5ePÿQVõ8~̆¯é£{‹QÙk½’ƒy(f2¢}QÜCÛ.Tüù¡²Kð}¹YΫ-Q\‹lbp~³ ¡gx? áØ©ä¡Ä1,¨]݆~Ùa¦œ¤)ùœÕÖÀÜ«ƒàÄ¡'—¶£ö*|qµ®Éã+X™áv»«ÉJv——4YfÎ!Çë(ðn¦¶2¹ÀÉÌT¯T'0¶ÍkÑwŒ>M:]1JP¹u¯^<8;ÎeD9tZ.adà_òêÝjõ&;ëTT–)uÙwu}ä£o§ÎXã'’ÂÜV½*£èžm{8ë1FõY³bš‹Tû£çÖ‰"Ní?6  ˜'|-gœt ’ ÖªFÐì'¼¹ÇZ¤3[þEÏÁ»iÒО­]97sà€5»UÐ.Ò  oÚØ@“È6L -ãàõ;é!ŸP†ŽvÔ>¨5ø¿oßçTrìÇáòõyÚÞCE¼Q¶£=4gˆjxX§“5™uh šK»×Ý#‡’¾ýù—W4½à}ÐãѶõ/F®úejÏ Ø •ë•ö_4WQ9ѼOΫCöyG¡„ Ãü‚p6u´½ ³‡î­f±v“Æñ°kŒãÑgDè/í3š-¸aÙsÒiìõUÃX®§f¸%ˆÇ¦wW`J£’õ©Óc ­5¶Û'U£œŽœp}¼^Ì壯…?:śӂ)8íˆûf]»çžªKÔ€\ÕÉ.«ˆ·ÐÅ”½™¶ˆ»¢iw¾Ý«S=v ÔÃ$v4©¹,ž–5À½ ¡¨JYŽÚ7‹à3áfÖ1@›3fQm=aŽÁàsÞh k9ù<Š Hnj¬A$?JïÚšÍÍ)sÅQ Ö¨dÌà Íõ!ÝDÀýþæXéÇåVϹLbù‰M3˜Q±áŽzRox ¢&jbÅõCB¹ó*š‹Ý­ÁÃbcm¹V5\2“S~o¡%ޤKçIsëî’·¬ÿ ¬(ZFu^uÔ³T+Xþò„ð‡Iï¦OìNigBríO†Ç‡…°[¾½RPk6ÑÿÂH9©ÜgK‚Fþ``£–àËýäqoY¤&¯Î‹M<üÇ4\~—jº\‡ßP »bHb@‹ Ièô·^‚^\o'y2§ˆº…çèÝ[G¬¨;Û ïiã,¿´„®}†“:T¾l¬Vã’[ð60þâQÌíâ2yv¿Mõ±—Éú¼ãâE÷ƒ,&+;AU¨j_à­K»éY©rÎM[ýT‘j‚À[3hÀ,›þ:”G'FIõ¾7>Ü–€”‘4ZhÚ©ùýclK$ø¹WùN°vì¡¢¡<&k(m”—TáúyÛ¼¯&Û¥å§ðó1zM˜Ð LaéGèC¸‹zn¨ ëÔ©KáÕ¨ÚNòLGµïo!„6…³ïyî¾sŒö•u\éòI£‚ãèÏ[⻟±8DÄÎÂ`®_Ýqû¼‚µD¶”£¹×õ–!Zx°N‡s¦ÿoÊ'fáš>Ò³Z㋦H'’ãwxg­7úl^•Á@(fŒ¨ž¬ÜÎû93¯$í¯ÉðE‡|Ê„ÕC9×Å:caHnùÙ–óöhƒšXW6?ÇŽ¾ÞS\1J½âѯŒ\øÁ{þ©¤=šúÓ¼òÍÇÖŽ½B4vÂTH}åhñHK–^)Ò§EãìäËøÓTOL{ºÂe׆éœÅZàt×§­°´½@¥úú§f†n É”º5§7N@õW[èËx)ÒxJAÕÿÞº"&·‰¢ñßZWÇ5Ïü›_Qƒ»nRúN±6‚‹vî `ÚDÈæ5¿!ZÝKó¥Rœ—Í?ë'×éb1YhŽ›gåLÞÑ™“ã¢|xï#c mØ$uÝr~Š_‘cßéý6Òµêpã¾zY÷±ˆkËaX8%K‡Ý 71sB™9Q¯Ç™œõ "êŠ(÷€;±@Ü|$fû·üVøÓnÒˆ®ô¤ú„Êžz´ñ™°,Ùbâ•j$Q”‘ÿÏC£Äw4wb*¾ù¾÷–s³F;í0ôÉ¡;Ù•íGË„©J¹ùާ"%xºŒcåo]cŸb ç?f]³¶ÜÔ%ɽMˬ€@¸NŒ‡J„+Žå W¾ [#l²9 ÛztVøDIZÒ_&ƒÂ²Ã(NmرµÂվߋÍ3ª ~ëv+xRÿ7hc’röÏ\ îƒ2Òp¼ÅZb¯Z2Ôc۹ˋ5I`B›¤N½êZ³7®®£×ñÞJÐiþqqh7 ¾j•ƒ‹¾®"`.\üHn‰vÝU·Ì¤Öp?­ïHU| 4XH†¢@äø”ËQ’ó [мfä5ƒÿ\jà‰0žÀ“®ºÿˆþ[ƒ "íÏÌÄ`ö­Æpêf&,z.xÃ'¼¬à Œsœmj2àµä4jz@+Íí<Ü’s<Õ[—².ýh<÷ßxHo„]ÖÕ R‡N¬·Zæ£þ|Ôd_fQŸÙ®ºù¿À÷ºÈxž ŒŒòuŠãÈoà]ÝêünIÿ¥Õ°MuÛþ¯m‰XZ¨2Z ò Ðòai´5¯hæ …Ôœ7”î8hiØb߃ÌÚh3ÁÍiØN/ÎdKˆìåÔ%æ‹«T´%½VͤþhÃS¦½=÷Íó>Ì@)Z)‚ÒñJ"ow•(oz&&—ŸÞ«rCŒÿ—µaÖv?ŽÏ”z¨Å±+—3·Qh!yÑÊþéSÈ^·itÞ¢k¢ÓŽ«ó¡ÐNËɧ!¨…Öª8áè–åôi1œ › 4ò“÷J=nµKF5 ]]d8)ùDW{N³ˆ•×Ö÷nIî³´W-òz¸Xßá_QìDÄ")ñïÒ›±cjRA± MˆµÚØž;+nÃä)”þ I»ã„ ’=¡½»%Žß»ezÝcÓmqóX§CM?¿£QÑù'˜¤ Ö°œ×ÍÀjw7>z¾áôimzœŒDž9WxGAù;W^™i™§ ¶÷}šežÁÅ ÷Õé­o SÔFfÓ›QòàzÓòu»„÷×üÓ<GŒ8§)öþžÄDª$mToÀAÿv£u‡î¼vn%²óùGÃŒ *ªSP•°½'­Y‚Z$O€…’,`O\Mkê ³“ÄñA”lžµ£·>ÐüCâ3™G ÂÖ„že’¯-IôGoaÿ!&„€Å+Ï„}“1ÂQÓZœZÁÇ+sÆ‚éwÐE·Ê\Dz¨=ûbíÁq°·îÊRgÆÀÑÁ¾“ EzÑü|…\kôÄãõ}0:? È:áW1³€Ø„V|o‘ ý¦ea_ƾAt xߌéB~uL“F{MR¸ˆFV$³Ä¼:ÅEuÍrRèòìÞKÁ7sTÖ„:ÇV$J…ÐÿÙ}=E:µjÿ„dªåÏäØùr9—mâŽ0oßã2ML´£9)`=N-§×>Ç”0u" l“³XfÐ+Ê->ÝêZ^Jy²E *®uì]ÃòwЍ 'mðvÊÉ*;Hƒ¨ †mÂEÓo³é«Œ²l®O2ƒÌi,¿1÷öF“»PJÓ4uŽ¡f þEXýkð`Ÿ]³@®)±Ð•ÇoNÞ§qz¡)[Q4âÂ2‡£P bºz´&‹-ïuÒ8µ{ÝÛ¾9dg—À(Š4ƒÄ82ñæåQ ¹'¾ÛU¦±<{olܘì‹H•â)¥r“Éÿ=Æ„R ¯ß»Ù;´8Ô$7ÙFWªúÏ‹5@Õ£|"­N¸Š,ˆûº˜S+ GµQò¿ÖýÜâSJš÷>±çhê¬3ÀQ…ÁÄ;æõcÅx·{üÁØYú»5pÉÍ4‹dnÚ}ÿÖÑß5«¾òGù€#`¼Ày«@WäŽ÷‚#nkn·…öÒóE”‚1ý÷RÑ™–.Ø5zwÙRXI2 Ø‡lHõm€ ½md³‚P±e»W3\Ï]wžÚˆéÀf¸@º ³!Õwpœª=%3oŠ+è1‘Z0T4 •dp¢½1‹âUÎÔ=”?Ú”äN¸?g씽<50ö¨€˜2aø„«Àvky· p³¦]öáØÒé+j=Ú±ÌUùu5$ž¨u,¶Ÿˆ:§öU…DHÔÖ‚'Öñ›TçþòëNˆ¶4èZÉrlð¸á¯o(›)¸´&äw…iüø¬ÃwX ¾]Gó´}ûÎù¬‘’òJ0ÎÖÊâV%íΰ!}b†02§2£e3LÞH½ëœ°*©º&Ö`ždVj×IH»šÇá?$oÕyW3Š%oͧ ¹yf‡ˆNE©Î?-¶är“\zPVEÚÔ–@Œá4´5m$k‡#þ9â½’CçGO?ý:jZ\¨B+GM+[nËL¦¦ ‹ã›L¯¾IÇl綃Kïà?ÝüËLƒ¤éIñ1ª–vj¥×ÍÅ aWóº=!­þ!3Hzez)»Ñé³ûímkèö1»#Á8°—òFe¯!''¾1h¡Î:•'hæœ@ƒ±–f%ç>ˆŠ³™¨mÿ¸–0$¹™3Ç2>ýÇáÊ0”WˆÒ¼)t+¼s¢” šqåóž$ÁÜ'š"~+I¿†ˆÔjw¿(ä‚€9¤YD›î‡dvÑHøØ‘S?[N³Æq}8zàìÈ’ '²Ö;-P³æ˜!±móñnωÖðÛ/¤õ²9]ZUzÇ¡ N^î¿]7á;9rÜ™4ÌyßX“oªCÓˆº’Ü©P òUãµ—$Fƒ—·;Í–z2Cƒfµ6IöþÉdŒÊ¥Abc9Ã*ç‹%‡Ê"›Z7VrëÏf‚­{-ý‰Dø“u„$P̺+^‘,¦ ÝÂlÊùu_ʲ¥‰>º¿ž,¯ÓŠÓŸ~6,ߨ²†5óž÷ ‹³ge}]mz‡`e_|ÿD¬ƒ´t†³ºöNUIþÂòÓ@Â_Ön„C÷2ÖZXɲlÜøh/‹±¸Ä-ÿÙM‘` —ƒÃwÙ±y=÷B¦ T¹g‹ŽhãÁwà±ëm·7‹•×AùÀáyû¼Òü`Qà MÛ,¯ƒe¶Œ à ‹³v—ç“g…?Ûv]«\ ±‘ˆÛÉJ#î}ì_·%†Y¹ܰŽ7|=›Wbãwɼ»ÿƒ°À£kí—y½Ú¦¤[N]—d©¸uûe+éJ•%’¼—z• elæ¥ä–í@÷`‚¼¿GXk`X†u ¼Í¡e£Ì7óÁw,ŽA±üwÀ/0\²9H©¦úSéÀFþ¶¾C·‡œm½jQŸ%„–"äd_ÅŒ–שä›q ŽjŽJ™»}Ikø¯™›íq¸– ÃÞÄð`Ýàãh ™÷F6cÓæÙö$1"£ùCúøÎÖÞ´ËNÌOÏ®‘å2&VÜa¦M.“=?^!ÓŽ5È©¦Ja*dÄúQ¦†mu·’ ¥Åó'uɬœgUí+Ľ+VwŽ­,l@\}ÖÞ®®(/å$eO4—ÊÆËŒþi` µ„á탒cGÔ´\+#¬gïÉBüŽS7¿‰8Õ0o:sîv÷yàh„wÙd3£€«gÍñÃ/uÑ;É]ÜI9¯Õë&YÄfüâ ÓN5¼ÿ÷ý“ù™ºÀ>±ô†k6KrÍÓøfO(ý¨;çéàCÈ:žÎñUꃌc6–õ#&¿îP þÿ™ìÁúv2¤Hº·ª%¾îõ‡zã’•@§>ÿ®ïŠãcº”Ú´[é9m@ä9;ZÆ[qj íã¹ Ö;OR0äR2?4è,:…'h1ÿi¹ÕUýË) MŽ+ÑENÕ‚gD)®KkÆuE8 7 ¥}ªò‚<>½ktôe¨9IŸnå§ åZ‘Ñ Õ—#Oš^Z!³•ô´J§Lbí6‘†Ò²{H̼ïŽzQyí:C…C*1­›“âh¦ì‹1c+Âq«ó´ž3¦Šö„@29Æw·é„𲆿¼Í‚|ggò®½Cæ—ŸÖCƶ“ èGòVÌ^KÛ&Êå¨õìmqΚ¸ñÀaCéè Ó ï´sµ^R¨ ‘e'ý»ÄyÝo¸M3ŠM…„€áŽkzyDü†ìæCè¼ÂžÈ{wøz’Ä7¹gÖï‡Ê¨Ûâ·l¡£—t²ÉU4D˜Hº§è”¾Où[曟?+ †~d¬‹Ø±õ¾\UYuw³™¾ÂœÄAàI$êL9H1ÔFz¼KO3Ùr!"×rðíl¸A.9çÛRXé=K~RÍ›‘²=X‘ÂݾSÈŽá$•ƒ©Ô&¦ñ"‹tÑ Ÿ¸ûð“èÈóÄcTw½ËfÃÒîNôˆØF0¥½Õ{¥Yà‹8~ ôœ±FÙ#ekà‡¿ûU²ù©_ûrp%=þÜKEu cì°2j1îÝó…Œâ<”¿ðTY­2àÕ“LK3çÚ¦/0!PL£àˆö[æÙá^ TtïžÙ&>Þ%S.²Ð ±gæê¦'UœMlì÷ê¹'æ’I€U†‹”{³§S¹vmÒ‹5ÔB­ál2 Y\GèJ}åé gë<%ç籸³¹!“QÔ@É·­ â Žƒ–ã'M"Ôš¤‰ã%‰Ê~Bdiþ4®Èí[¸‹)ðšAP]ÝÖñ1Ú"GÝ,0Ò·YýZÚ> 0ŽÅìß©s;Ûó;t=NŽÑ,¶ÝVàÉ‘!­½²Ä;·´yx:·ú„uÓ:1WÄÌ)ÍL𢿠›hu¶8—ŒÉ/…†–b6·ék;ÜÅYV¸Z÷èóçB˜y¦À>)F]UMœ`¨~L1é™xYž ¼•f£@•Àj u˜ty;¦z|áPõ2p÷3,Eê‚6ç ÉwänB<¦™PJ/×òNdb|ªÂ7¢16JAg–¥Ñƨœµ×¾¦t6Ñ~5î¦<{-kÚz†AÀ÷åXöý*þ´{ ¤¢—óó.ØŸ5ŒÊ©3åd=núl ˜¦ßùk‚Vßo”Eî,øÈ:™Q^¾†e”‰þ-ﳓHŸÔV,Ú,G0åþ³n&®À1iæGÏÝo0?=wS~€&¯!ü•Ò9¡Ú¸ûºf³7Ü y–å”kÒj¡ª³åQ¬|å!ÆO9ÈT€.Ó&´ÿÁL/üÝ^êõ!nM:J…,l˜ˆ+†Ô¹e3q†”ß¡è÷ׂI¦è›Œ¡'ܡñŠ@K²YIÿÔo“E–¶?‘’~¹iƒQ¸KáÎá5nrª\;Ò'Ü Ó-Ö.»ºû:c»n¸0ýñöH®eu˜ÕXòñ%òF74Ž<]ͯfqWƒJ×9²Œt=÷ïÏCÞÿ ±~ì›úF9ĵKñk}ô›vÊa ¼›{ã Ûƒ¡@Y$jðkB‚ìŸ8ЬÃYoìy8E¼ó²u¾÷gP­CÝB£wà•^ÇC¿ÒW/®×jîË']5Ê¢–{$Ø­­„ Íäe•–¥Ô¯›sôRRÖ¹ »±~~Ô²{¶|¤¨n/²a‘˜°‘"з/>N6иÆsKÿ¬{YE®—5ðg+fÏñéçfàÜ\q ×¢vÞÞÑ #Ó”’}jm;Íel³œÖëÁõ½±­6¸È“]º¾ ‘6PEǤðeZu“¦fÂ,زt@çѼ;öÀp,>ßKŒ«G€iÐ4t@;sÜ™Žª*Œå_Êì;®šÒÆÄ·à b%ÂöPÜ/¬[¥^™ÆmÑB–5£xˆ):c¾Êȸ2цìˆ}²ÐD1OôMޤS" ²:}wg/š$±ËdŸ©¬0›-ÍUk~r4ÖH'òÆL™¬q}ƒ˜Rv™ö°´r®Î¹+õ›ÇóQ# …°Í ¸_vã[”ÜWOõ˜w9#Ë'rÅ -coà¶§F…F% Ä8$cϧ]™9ë% Ðn=YÙW‡ÊëëÇ[r_:÷:tžz4óÅ‹æÛø•ƒ[r'9îÖ‘_‰9 Ð„œB¢ÆI©voR—®Õ*R§3Yц5ª–ìÕ‘-ÿ4riQÝ»Éúg±c«ãÜ rËI›µV ŽØ5 ·™ý¿nÛý³r~àî@Û`,utÉŠIà§åO‘µe©¬§Ÿ1½N.ËËK4ËÜ V‰Þ±)Š`’Qàà ®ñï±nŸžà¿¡ ·^6W]‰lù|kì3‰2“,ÒŽ¨£ÅyvNxTÕ9—¥×g¶¤#˜ÍBI=‹w‘k¡ ñ¸ë*ê¾ÖõXÖ‡^Â,íìWº„[-Ë—Fò’åˆBÛø=+“µnQùl"Ú¥¨-q±ì¦°Ùßg{YÌÖ8´òVsî¡ÚYãpž>Óu Š«¼0¤xõbŠ}m_¦qꢬÅéW!‹‡…/bÍÚ¹,|øÅŽø~,îj±<ßa዆Âi¸Šz±²[ÑéºìÉT3NýfÄãæä¡:*Þ!ÄkD¶^Ä[­È…°Sš¬¼éñÞ€3¦–Uu Ì\Y(’¸Ôô–:™#ÕÀÖÝíñß?‡ci<”0d>m £Žß Ÿíÿ 7öƤÂÓš ¥˜q¢É$ß©Ôt‘H=ùEbþ›³ÖÁ&BÿðØCö@\ƒþcQåvõœ–b?µÅ~¿1UŸXp¶rÁi¡ßJd•úXÉŒdC ±ÐÓâ`¨|éÍ„;<›F2­Ó¤Z~ÊÙ@4ÒÊîýÎÈx´]½¶ƒxù„Ï1v‚/ýiæ(>²~_;¨ëíjÙ`§6™¤u/Áâਠޘ8cDªõ·$0 ¦Å\žú£º|\›%Ò¸ UÕ(9YP˜²B"×aëXÏKÙQPµGÄáèÆ·Ìòµ…ÿÎ]ÆÑ/lÐöÛ˜ {A¢Y5–ê+B™áÓtC@Ðvæ11”¢àUD mŸí¥ÖQqX(ÞZuüº&–>ñØ„ÍÖ_¿†^0ê:5o8µP:¨K„,ûe:Ì_”¿é¬i’Ò'‚ÀŽôÁ&ÈÝrof‚4f4ÛZ#!²80ÐEFðR„ÌÃ^Ȳ±Æ¼Æ'Ò—“°}^g—Ò¤oC:Ó 9˜T~æOóPà\Bªök1¿Ò"0N\ÀÂ}sâCZÞ”#>x#SÆž¿+ÅìUŒ}͜Ƅdö¨®¥ð¦E¦À™~3^¥ËMŠž1K-` W€;” ê ¼Î+ò2$ù…Îz¿ ØÅó¾y’r#maìi†²*×É´)»”&?ë™nXæ5wŠÎPõ¯ŠJ#?kÇ@.…uCmLâ[+¯©e)ž½Â;e¡OÂy0ýæ‘W10:¿©­$Lqì<ØÛŒ_ÜêBKѾ‰ôÉ÷ÆÕ¢­1ýâCžnÖ9·Ýèl-þÂêzõ«.æK­CÒ¥ÁòFV \Âl¹šikKB–œ"wðIÐ9ÏŸ³`';®të£é µì”¾™Ÿ!,U„zçˆàrצ_òG(ÊÌD~˜$CsïÞä E@cµ#«Ñ©;躑<” ­å³Såö)nÔØþ¢1ÆT›å_l€¹¨€bE¸–´Ü¥µ15úê~& ÙD”l7ýZEI}È-$߫߉ÇÚƒ…»h~ r“BÅí9øx“§¡¯0$]ž”Ñ=AxýGV®õÖ³ ü—VN;[Îÿr±Ì±wý™Ê· E0çÖDÀ¢Bä.7„kŽÍ‹çù„¥@œ.¹I „X7çí~®¬w&,ƒÈ¹d²Ëúï¤ôÐkôÿê:ö!ÕõË Îý€÷Ëä&ÕUwbÍýtèÒÜ#ð%ògªÙŽ*ä|Ì¡^,RŒ4ûåi#- ƒjùkU—m®K^¡«ê£{áùçUõ˜žÎ@ —þ™XÒSs#-ä`zåFÛ&Ù“O:MüZÉÝçµjäœx®˜ÀÃàÞD ú3®žà"‹ ’Yò¹µµÄIcˆuîÜyHsìò,Æñ6hxØß) úWÉ ÕÀôGÚ\h¬‘NNß ¸Ï¶AâæòÙ_QfîÀ¨íS†uÝIÐw²•åbê˜wkèéx:âÿ܇AÌºŽ V­ËlPfïB_‰Ûë4¿›µ¬ùÍKz>D`#T*E,æÀ2%Sç_K-¡~“aye¬=u^Z_•ç‚H(E%¥ªÜ¼N-EW£9ôÚ\›GÌm5¹ÇÒýeÞ¦ãé鑾·š.|`GÔ‚'eÓ¼ÅOC²¦/¬º©v qBÿÖ‰ô¦¯ÞÌÀjœb;²¶yEZ¡ÊUðöòùá–zsÐ蕌=/Gä¨S,zB›td‡>߯ýSq¾Üé0äÔiêW¯$¡¦Ÿ+èñZ(e­_Ÿˆ8ÅWYÑyã1Ç”'š2p¥éÉÍO¨%ç÷7Ðî}áJ4ŒÄ´ˆ¶0Á^3,«ªSÿ>?âÃþ¶Lý¨9KR¯4[½þÂ÷ ïêX÷,"½+ÿ˜xÙ“Zjйî¼mo×à©ø‰´xèÁBmÒrR÷–ê*ZǹÀTvøqòãk˜(¬'¨…ÍG`óf)ÙKˆœ[Åž5Þ¯˜{oØ©ç’?ÿsÇT{SîÒo£¥]yø$Ó¹ƒ Jã$úRº‚ô› ÚQ¼Õdmò:£¯þHkíÏGŒñ½€°°†Œ)ûæûü‘ÒË’S[›cš-¢¾ªÇ–7±So%æ2tŠ“v—‘¶a¤¡½ëÆé¸ô“ÎNØ|sõ+X¶z/+Œwt«d«±kT?'cù¹ª-†9oÙx’eåM1:ØÞÃh¬ ï‘÷ŒÖú¶,#q OílÜÇð§ ÜíúeÊë‰D"ÊÃ!d[êmºÀôTm¯éì½'&ÎJ6ƒµ’ž/Á¿Ct/dþÖ±˜¹ƒù¤eEYt2ZÄ ~Ü—¶û-¢ó D,²ì^ÚH3»µCïD©àÛ¿'Á&©#TÊ…'"THtk¨Î¦žÜêðîÊ߇]«Ô¡i¢ñÜV•VÖ2³+áZåú#…õblæÓ³B G–ODou'SQ݆©À6ËädÏš¯§ÏOƒ %œkN?(RU÷]­ügGJ{»ctrçgÌÉÃÐ.¸%O—†|•fÌ®EôBqšÉž¢å˜>³é.ÅrÛbqx^Û04ˆ²É©ŒÏv¨(εo³‡°‹¼u†} :ŽÐ†kJ§lz<±–lÑ„týwÁ)eøwþ‡qMÊ"_ me6r<&aI•ÐGBgi,Z«n Kko•»¹”„¿í/8º^Y?lR–þ°%¥É>Y:Œ~_BÐÓ¼ñ¿'Lª™6¢pãžãäñïͧ\+Íþ'œÑHÉT =;œP­Ù-&½«÷ ðÃÅSCó©¯É %î´2vÔï릪'èH´g"ÊE×Þ‰¾ƒà×p[æ#¢ÜÌv´“6±Àîß3@¾¦º¶A¦¹ßž9éü 5¢’ ¹”D =ño•–d×ÜÈ ΦúãóÿU›ü쀭=¡ŸKª ˆÆ&ÁìÃì \3›mî®›¾•ð¾Ð“ü¢Ýœ[Œ$ÖÚ†Vnöâ0íåÕò*LÓÙùYá|˾àËÞþË.• üŸæXM0ª|ZÝ"¬Z ¨°AÄælåî¦,† ìó[N;ï4Ê(tέýW¹´üü´'AN/G„ìa?‘VEÙ<½§cM«~Æîs¥>÷7§úÔ°)²sM·´G_¿õªu?®yØýV™:Y¢AIÕ³eÜ.÷í^žWÏK´×"Q7È‹¬2¿4b£öÈéDQPT¿´ðuÿ!ÙWX?J‰þÔ‡$!J©[ ÷ŠW”`—¶­î‘ÖVÅV$ææEÙB¤rÀúpñÓAŒ+m³b]ñ嬪gå¬o:4Ka±¦¼¼tׯbbŒ.E bDy6]D à›ÂAçâK7x Ž¼ß¾MÉòåù¡qF±ut)g¾Žeþ6Ñöú6äÀÔ%ø¿ùg#jïÆ0m–‘—5›‹e4óð+mÑÿNÆßîäⵞiؾ7ӏޏ“NbV–ì>Â`¾øÒí(ù„I5lv|ô¾©rÁ‚ܬVtE!}UvHwžcõ^‡ÒȾžn`þ¬Ò‰bp—Zþ•y9.‘/@t…„ãO­kû5ôâCÿïb*ö…ø©x½LQ­s¢Ô‘ºÂz2 W{DøˆÀ.ð:Ù×Èìºæ˜¢„-S‹Œ°Ì:ÕŠpj@07Uc}eºg½.õ޹S¡ßÓ—ºÒˆÆg=o‚áOÀå†íI.Ý!o¶O…dëßÃäv*ä^À~¢§àFPIÉÇBƒÎ™Yvm Bõ>|`:Ê¡¿ñ5$²r£KmÀ-ör#4äÀnIë Cc‰Ú{wÎ1óÎÍÌÇ‚Ï/¿\´ðnî˜È×K9pH­ ÍÛûº ç=úmä¢îðÄo*CÞ¯Ö³¾J¹”d!øÎÿnàñ6Ñc?„÷ÒÊ ‰ËëÂ'û'±ˆ–z(æj=¡vì—ê ð"äé­À›8ÑÎQÞ­ÿ-Ë¥ñ“§÷¯WŒªqåÂÿÚƒ‹^׸Ùx:wú¹4ÍXì5P#ŸXê ¤"ƒg,Î>".)”·¡`)U9ë Rm’$KHiGâ‹ .§C2E©s-wÃÈÔëœP}g¡,™ö4ÁÅoßBªàî·ì_—0õ.mùã{¾€0qJ¹ê5àÉÁõ—v7-½JÿÓÛ öÀ ïû&¦ÿÚ©ð¨Ò”çë1šÄ[Pˆ*}-@µ8b«¶ ø9íßßh*Å›¹ÁJb=¦CK]Ì œóðôcÄu¦ŸÈêhkÖË2ç}Ml¡¯V[¬yU¹éWÛ¦Å(Ò8¤«Ì^™^uå ˜=ˆB Ö3dÿø)# Ës¿.¿ϧ|"ɾß-tüïåÛËU¥"®CRv ï«Ç®ÕLÓÏJðƒ»Ý<ŽâÜ'w[”Ž€[Oh ê í[È€c«ò[Ùúñ»_£r S°¸PºäÖ/U#=Ë v9k.kh©GÚn͆‹Ú/]™}©ÅªFØ™ùBÑ¥–ò(=–yUÊÌe»·S…;I÷´Ù/AIœûþÚ³!¢±%œã¿­ï’¤KEÓhÒ©l¬eDCdƒbi ‡MÉ¢²ÈŒ„á„ëmcÚÕÁ[è ÜÏ:'¿Ž e*8:¡oú)`wB÷ZÞTéŸ#7åSI/\; rÊñògâôL­—xƒE3Þy# ¼rî‹g1ä&>¡ #ßbE$qưU±†ÄÊ«Hvǵrè|zãW TÕŒ&„Ó™i$ m»Chyvá¬9tH’ïM^otC¯#ð¢á ¢]þ¶)°.;¤é^gòò öìœnqÿMŽÜD4Jª‡ñ]Gèà[Áù <·òÐN•Ð f € L©ˆ—3Y&QÁyt£FzNAÏÚ·2s1ŒðˆÍ4@ß ÞůH1ZŽ |d—ˆþéÛ2çã5ÇDÚ®þ'é#.º^y¨t¶?BH"þØwiU¹'íßvùs¯ÃoŒ"‘·oî×U ß8]vÈ(j‹¹» \ø"GpV[+õ¯Sy\ONC–1¬Ûç÷]•Fhw¯+Ÿìådæ EOyéC^ÔÓ{»}>EyjÎïÈŸ<&¦™ðR?Õ×ÈBÀ#yÈE^%¢‘î˜ýTݽ,ÊrqŸcA•S£ŒrMº*ï(ß»láìIÚèÀ->l…ð†{ñúßGOñVaDu–íÚéÃ5K·.½ã²%Oy5mÒ`åJÇÕëWÛL>“dÉžò´ztÕ¼\ScÞí^a&cð³EÐp·GoFZõ©ƒ g{ÈSõs’ÇEA¿UÙ0t&­~VÐA¢—»ŽG™3Ò7ùß&.x( K&žDÕ\fºu?ü˜{kÞ¹˜Þò7GŽt}[Þ³©ß`QìùĪm$P&Ψ6a,~Ëiå „+2ëx©ÇžÇ%÷k¶i¥ËÆUatJþgzÚû¬Œœú žŸ6Ô¸Ò|?ü ýŠ*Ù -Âáþ5&gFçù›æŽgß\÷¡íxåÔSƒŸš†¨—ÔÛÔPßéëá)3\–y'¾˜a´óE NÁix¼à}ë)Íž¼þÓb:Þwö|ìsY‰…”`-£’X“ïÍhb;To«W.œêäòcƒ¸±;5?ËçʵqÜ»”çÚÏy_˜®åõ¥kÙ+­„Aœd´ Ü*#þŽðkü\5í #Ûó I³f®"$wc:ül(`?¡òvË9ŠÌ ÁlÏLâ¥Åb¥Ç‹ÃK§üïYÞÛU{¦¦;¥ÌVtŽÞe>À+QÓýñÜU¦æq]Ys3C /˜þ’0³&üq^ª~oë½9ã-_#¨fm_€j(ñÀºë!d¯>U¾ÙojŠù¨Ÿ• ã²R1øRrd¥sP,¯ ñuƒV€ú 妽Œ´±~Sb·–ëWíØWc쉙é+ñ¨W´¤¹rÆ‹”õq‘ü7H¨ÙûK•¯0üIõ‘·Ñ~´] &ÿÇ2Þ%{¡RäRÇ»Šëª•»Ör¼ïÕ­ÒKt4ÌïnÈÀp6È;ïÚ¤˜èSí¹ÅI²ÖL{l?ýü†„œuÅ@!É‘^Y¹¾«/;"!$Û¡±$2,üäL•Vü¿·`˜Eî?³ðÌ:¨jôÜÐ'Ò5æùÃŽ›ª[£Ÿ×ñPal>m‹^}áÅ›¹É6j%iÇúe‹X¶ë¯ŸÁ强ÔNêL ql#]©ÖËɘ•¡éI“CV•:oYwsÿô&wäç¶—“QÝèº/ûÏ{+œSbÛÚ€7ÏŠã¸ø%bú{sE²ËRì&`‘»NîF ¾yE‚}{êNêŸ>LŽr›Ibâľa[z^†ø.BÍA¸0 w>¿6¦æúZùÑ÷¾}tÂ>FZ7ÅÐvk '–®å¯R¥ƒ_AcR=MGDÇ9ˆ6éÊ…:Bé¥ùyPiƒË«c(1cù«ÜÊ2ߣ¸!ʨ̑â1˜PûY§Ì“?£Î"ë“se”âIÀΣÀç{ 9-§>µú—ˆÀ`ÄíÅU©¾a}\¸sÛÆ°ªLßáù/ÝöBx6E…¶h4¸â‘³R°ƒ # ºûȸL®<#^ŸâyðøŠÿÎÀ´e3 3©0À¨Ð7Ù–CãXèQ7YgY!ÙÓ&ï«“é4•¿÷/(²ÎZ[)µ¶E˜‡×¨ÎL]ŸŒ×™pÙ]œ=ìÖÙ#WïùÖS±Ÿ<>ÞvmNßÏ¡z‡¿NÕ³è3Õ ý?ѽäôÜôL“³ÏŸûsúÁ#ZjÃZò½IRyü¨ÝJQ¡ŠðéÞÛÈªÅ ŠÆrÁ ,0jLûêÔÒAÖ®÷”Ù³O@ë÷)@¯N±5~äí 3ik`×{»‹YO‰ivÄGØXɼ˜%,‰l¯l势 íéj¼¦oþö- ¢_ˆcfrÙTÑëÉF\¶êƒãŸé»úYt¨îƒ‹4ÝÈZ×b|¶E/J%®\Ü]%÷NﺱM„Rt™ð™%@SÙ°M§Ô`,ðŽ‚õ1nbK¤=ßk'vDXžˆTãMYٌ범 ˆÙ®³tQY9CÙ¨2+¼»Z;ýê+üìÊÉÃHsÖ4ýTnè¯ÑÕésD_oaS3ô0¡'Jy/úÍ(‚ú+¨ƒìsÁzFµ\W¶†ŠUu¥ÿel ÝKÜÁ ¿£œºïûN÷¬Zâ²ä^jãÊIgß¹ûm ²Õ˜ÁŽnŠ ÞcØå!þÚ(ðuºýµð­±Z_wæ¯ð–Öä£ÃûÉ¡ÃTqz¤h±F݉ŒÍP ¾bKa#rLñÔÔ¼‘F@3ª@‚+ƒóýĉŽfèåʳ’³^Íí©4Ùã=çÓ6ËÑ×ýœýnbIwøZ<ÌÀä…ÛrÔ½@ ÜÞ†":.†`¶ç7=†m7°¼.[>0óé¹[v äûÃÄ9šulö–H#}«öÑÔœþOW¬ü™†¬¬hŽ›N•»UfEÖAÍB§kª-T"PõDE3Ძrœçp©ˆÔÕàP!J A´2üäA…w]¨N Ë(´\h¶-®ŒdY£¤ª'ò>§a¿L»ŽÙsôßó4EÍ8“â°l‚»÷NcNÿ³¨×A?»Ê?©¸Ð2Ú(ç¾8†/öPݷዹ40›¬øCx†pέˆºØ³+R'J¼k!JpÓôÜ'É2À& ùj ø×;RK¶°d¹;ˆT 2âÔƒ€–(èn+ èóS‚£h»c/‡°¬M¹¯é÷#£\€£\»Gô(êÄFw\-Ø7 bÓ$Ê—}>bÕ /[¸GÌ.KÃòFÜ6õH=Ôxó1ôi€càAxgÍΠºôˆ d›ìý‚hpqÿܰª1½_ïì¢6嘿s­hcç–Š…- (š5ÆZÅ8Ò!EÔn8ùÁ×(f&F¾ÅYÞy3¶RÀA)oÈ%°Ãz[ú£œz ù°ý9 m³øD„׌ؚ¯KÆ[ULÙ„…b&‹–|]4‘•ÁóUT—õ3)‹7¤è¸ö4y«Kue…u@ %Àx0p$ÝÉ{œsâ°ð¹„^ðëGª™N±¨ÔsòÿŒ#ÇEw¶%‡¹&ÄãŸt,oÜ5yê· “ëV‰³Fð…:øMÂ܇b s¦pò­A0%¶ ¡ª,8¾ŽyA’܇ŽÁp †l»³}™|‘Gh£?Üèž®uÝŠ½LÃu+«/gÂo¾b­Åb‘âx+âZ¦F¥;2xtà¤]TèßÿŠBð¬]æÑø‡ã»Å_nŸ>¿>ãÈ¥^oíUáÑ_t· ¨N8ÖL:äuÞ’ª>›œÐþ¹°þ«ùí…ëý€~s:F«t6ˆœ×Óÿ¿Â<ˆæ%„m¢ïi¡ÄoéÁ_œdëÒñ„à×BÞðY›Di|Š c€R–HÚî‹®—xsºEÛòð~¸áôl þ‡_ÔõN!BÚ9M¿{ßaÕ%ÈTߦ҉ bêÁÛÄé†ZœÖ^vÜ)_Î{} "~ÒªSs/)¼pþ&Yzª’B%Q[_¾=VŒt5¢bD~©Wàì¹SصÉÃ?ÆHN1"{„v:ä?}ÉÝTÜh%å©‚ž Ÿ~âÃVȳæIÖw¡nϘ¼–2ˆÖ5IüæòN\½ þËM’iE”Ô·îV§ß¡ú°¸(³¤`ŽE¯FèŽMŸ+K³‚ZnFáà! Ð';|ùýãݹ<£ h7­;ÓÛÑK®b{K@%éý÷«¯™=õPøVMÌ §E\šÜ/y,®–<¨I Òì&Å;“¦Ž#1SDÇóÒq ]ô _)YCuÓ¯ƒiûJ§·\oá‚âHÊpyMí’äÖÑ‘þQi4£à”Oœ›Ð{7Ù> a-%mMI5WáÚr sx _Ñ e¶Ïx±4»¥?^n-I0Mì TÛʱTƒ‘Ÿ¼ºE?£©†ŠL%ŠóD„€ëdÈåÌR'K6؃%ÅaЖ…ï>Âio«ç7¦âÞx:»÷ åŽ~ô,Ô¸± `Bùîuàü²VÁ6EWeürw¡Øò›¬çŽQ$Hh+NYUø”ßbÖç—V;sL;bØðÝBÝjb#ÊC\« Õ)ÙR‰ŠÞZÌ…×æ¾êÞ˜hÎ4T˜þ>lÝÇkA5}/¢‡Ì<„g¨b4‹a]` ´ª˜½Û– JÈa”z2’-*OýÝÙÖsË(ž9ͦ  tj'Эo1Ñ.‚·š3ŸŠ÷§Ó,t>IsbJ*UIÎÚ0‘(óu–'òwƒpÅ$ö´sEù®Ÿ©¨Ìä*yM·²ÉØ'BôyµkÞAȽ6'2g>ê§“òþYzƒŸO™!C·QÈ$Ø•„RÝboIâÁèLu Lˆb#’¼üšbÌ<_Z»ß#v³Iöã®DËf᪻ç—5|ÏÒÒ‚äÇò³£.G*U E¾kû®Þjï’øök#ÝT¢¥2ËÝÿšf‘`巹ѼX¹Y[Ò¡u…, Õ¹Ãp-ÚÆdUW¶QSÉ7@ÈìWßÖ·v¡_Ár`Hlé>+ /hÅ­:Ö.®¥ª“xƒbÈj0‚ÉÅÈßY«>wyÔaÓ½ò˃UX{1ùTœ¬£Ú¡nü}0nŽqÈ–A_ °]%1´)áö •å=‡—3ѼX à_ôHäA'1DsØÝ‚;ÏÖEŠEâ”Ö…Ð’è\u*tj‡›ßTr‰Ñ[èœpv½ï8"/% §}g¼·žì½l2Ìq9!{Ùê²Àâ ÐZD]'2 »_ÀšÂê^g"BÃɾX÷à€°ž·of‹6V¢\a;,«!¤‰êÉÚê•æ«c>É£Y|xZ6$}¬X}žy:îˆ^<£Q pƒª»º>œ“îÉV]ÒÙøsI¡¿¾wâ¢ûu†\yŠÞDf¯3Ѱ-dÀSo˜PáÛ]‡wI9A:ÛõCî¸hIw0}Ù,ÑŸÑW Ëá4ÏOÆdUí—( ¯]Žò¨gpñ<.»”<àãP¿œ;­?Á6mŸZ8ª9 &㓉û‘Ÿal}GÂ^y:l®Ö[‰3§_¥µA0¿§ƒ UÍÄÿ`g+öü£synÝ DÔ-ºH%|0tëL"nº$aəۆ=+µùž¢Nùþooa2éK]Þ7Ãhƒ9DŒ)Ù·Žøíõ»1á²™n¸[ʦ:BØäO›Ò6wi2J”UÎ"Ë>ö‡Ñ“ªÀðèõ;ÐáTû½ëòP ¶¼h’¬¥ÖKÂLºëwHy:çLÂlrB¡f-¢™%ù‡Ͷk·2§²õøÐ‘Í<^aÄ‚š@,ˆeIh–ê-¦¢Œ2Œ,¯Ó \ƒím7‰RzÏP¡Õ„wP6F\f {BE~ð(lûKv¡‡¥0p7¾»`°Ç+¢-Ø Hu<›†;Á‚¨_§§4Иïÿ”=‚‚Ñò°š•¨Ž¡Ý2 ÿ"Ÿxa4¶uºk¯ ®óìwŽpR°êEBå ;C¢¤Ùì"Š ÝœZìÊËS&¯; ¶$A,½j0Xþ t“-ÿ4$ s§F‘Áe^½æî~—5íÓæÍÍÿAKp£`R';›=OP‹p×ÇX#n”‹ÍKøê޲‚ô*T_4÷½òex7®.xÅìžß è3ª®cl&HôFú‚Û¶«L®ÏB¢Ž­1Rço²½EpÀ_ü–̌ܶ³u=Ƨ(e&u–g-ä¢À+Ëúÿоóz’'ý´6›"ú‡±;ñ¥Ãxk&Hþ÷ÿÉ¥Ã*aäÁT‰ñà¿æÔW‚¡o*^oµ›r¬(f›±ÆÚrü­pÃ$zr$XnݵÂÐ%$=<ÜŒäÏýjks4¼ö}—Œ]mºg÷-Ÿ¼jŠÒ|ü^Gë`@Æ×è+<-SúxE¨ÖY-¿w°Qù@¤Q§>MÙ~4z÷0¥ïÞ z4ÿÜ( ¶‘òÖeÅ2MLlš˜’Ù>=¬U‡ÃLi‹ —®¼ÙæÿZø\ÁÑÀün•4WC'1»Å@>²‡¼8·b±ôìUµ°aYÕ@Šøþ8w žFR½5Æ%UlNÊǃµÓÙdßý’BŸƒ©oø‘ÔàÿVHNßrÚ™ö!Æ#CytOsJ„½l'FæE*Fµ ï+…ÆÄÍß.ƒ¨"¼Öäø̺Æ>º]Õ`^ "-c ôˆ>ú2Úâû )¬1í‘'PoJŒð¶Ó؈–º6¾F‹]rfÎê~“ÌY·"FÆæƒìjjt”›‰†ÑÆÒ÷9âìÓlçTR '2½8&•ß[ÒŽ~ m‚“ 1ñèIµIñÓûÜ¿>I_Ím/JÍ\ÂLfÛaéüóbïùëLàeFøçÜFºÛ3…×¶n”ã™-pá¢Q!=Z4ë_ºÉu~Ä·?@Æ!Ëþ­?.`(«[Dz3“†&C'yÑÎËTŽN•䥑DèwæÙêèÑ‹‹¥q —níqqàèGëV^ $Ôñ}WÆîúäè$x\t.O i| ÏråÃ-5uààËÏ]É/t;þŠÙìQø!RM«˜ïêÓA³—†`¡ì(É,¨²IT€ÜüJe{ËÚ6µë†ðRrMaêÿTcÌO²­Êüæ»ç/"”ê™[Kh$swí±Ç~.)%ÔþKbüýJKÑWBzøèÙÅúá¨)©âÓı—M :z8‚DëÙ6}ØøO«EN|J¢]gÇm¬ºî{X¼ä§MsäyßÞ9›_Õq‹û2'nšX|-¹´dŸt|jÎLëµ…uÌa~ϧ“M}à!.j¹À•3QIÌð² ô"ȯ<<û—W5`½Ø²Å|À-',¯L/õ©%@âÐ"¾„{s†Íé’ûpøÒU?’zë!OÃÐ þ¼†r{ÿ¸ŸÈ„dn¯t³þÛõí³ÀQ.Іr%ZI6*Ã'™Ùh//¹l¾IL Ñ0ÏEU gó8àyæ4ýÁÙ¢-åÅ’M‰<U â$QˆÇ‡Ã¬ôBŸY„>ð̺Óӱǰ;È;™1_‹f*%¹Óg/ØÑÇ;îÀ˜üxÀƒ<Ùãzæ0¸éŒÔ)ÃæwDÐ…«~ §¡»^Xáó&çZîI…W%/Žo›URxrŽq‘%Q^—xŠnlŒ»BxÄØ‰ìýœ›­V‹b©ýmCw^Ãè‘?òJœ ˆwù96î—‘* O?ñ+!ØO4I÷9]زõy4:è9¿é8ì»*<=ªËê¬GÜV›‰áÂ8µ@,Ë{sšæƒU‰BÓs„'ž‰y¥4‹4%žl.Œ+X…ôxð°âðÓ+ˆ‘|—FèxOzê ÉÌ=ï÷NñduéVë¥bBGdÂ;®hԮ͎ŒÕ´éj¹œE’¼Ò(E¡ Éªf‚•UôŒùµm\¤FH gUkEø$ü·˜ÓgqBòm¹¨Uud­÷<²‚`38 öKVñKœÞ „ƒÏˆ¨Oâ#W½áj5Ž˜óÕh9Þ]ÒŘ%ÅS‚;]#з…Q ‚Çÿשme÷«›GSz^—¸™òÒý§;ÚÍÚÊ™gšf—eñ}q$¿ ‹;ÃѧLPV&ÔÞ-?kˆÀì{,”æe“ïã¾ÃÂHÀúsƒ\çüõý¸ÎZ¼è×ãQU#6Å2ëobC:è iw’DÑ,|‰LqȧýÑotéÆ&k'p´â%† Y²8OzV`_DýzFU9¾ÔœŽp€œ±rðÝ3\ÂY$k.'–ð;’äU dL/ÏDg±¿’Š£/ò m !¦Ó†>ÎLdßa–¼›3!Þ®€- ~\ƒIÁä¨lQOŽÍ•ð3ãƒ~yc.Çôòª»Ÿ³Î<«è0:ð×…ðEƽs%½y]rS£\ˆhUëIxnÓí¾Çëg°Ô²jÜ4sÐ`A7™ìT78†ëÕ7å깦¤§çdñÊ ËD‚U¡•ŸC²íѶôØë £´Ô¿1‹êÑìÀã'˜j fו­r4>|R#—·¾Î^;I [¥@1ÑEmNÊmΉ›Š(;ERNxR@@õzò9i%œE?jùØ&ä°Ì ŠÓcÚÝDªG`„ðûkŠs-”Ú£ã^óʧ'ù—¾'J]Áù˜ò²-Š{®:sœûBÖX qkÏô©{\Evýò çbHœ–ôþÅù JÊØ”—lÒ„™yrq¢jÛs…æ°ÀìÏG±…Š8+"ëbùGᜌ ßMt¯À£Hˆ‚Ù+PŒ®v|¶5»%2pƽŽd{½¬á =‰ØNÞâíOüæè/MüP»Ê3÷ÒÌç´ë´¡5áæºˆûd({¬†1ÄVuÚÏF&*eõs3)/¨¬¹—víÍiÿ$‡ø}UÈïÅÀN¥n•äw‚ÌüK¥™á†ª[VAÂ;}v@]×ëî E:z¥ºÆ ÀXNj£V„ªò=³®™m/fº’WïûO‘»Ø?!Õ¶SËÙHØY.| c2Ëp(1žÜ?Rö>°‚WIOÃþ¶AÞqž¾®þIZ­óÌ 0£Bc¼ ImÜýBß³˜Iß–7õþ¯¡¢HÒ_MY3ƒª›¶• 9ÛLšlm kQlˆ_Þ»ÿ`OiRÆ¿'ó¼Ã ëT-ònÿzë¸&,íI/NùPð—þ²·¡GÄp¾T6)0êâ§6 ¨+”¹W—Yu ØdwØ ù¾WC™ âË)P&¼¡0þj~oïUçzQlP;éC¦âkƸG¾R¥ë¹5°¡ ߎáa矛µ~†9Â$ÓS:ÜêíC¥o?®8§HOí?ððP=„•‚¹£{ù³:DZ‡Ô°ÆC+òù/ƒ×Ê“uMÑ›!ÔÛn47»øÆ™( çt&Z^§ Áça…Væí<–‘\É@/" K*’5¤Ùæã&ï àW#>ÚæôŸç/QKÐ +U6àÜð\¹V*.Sìã ±“I2KŨ-ÔKF¼†ðá}öËiFFc¹ãüµ‰ÿ }~ žP>€L–¶ =áÙ׳#™5ç.‚xüMYEç;}gæQÞ‘–·4®©,å€ò%%ÈFù_aòíïzÝ4 ˜šìÓÒÀéua_bfo3‹*s·íPàsËkÂ‹× ôòfÅ&e§zÍuußÖẫÔçÑbäŒÆax—Ķy_ IÞÐÉeÐIš˜ÉÈ;ûOÚå§cEËWUò‚©I“ìjÁˆ‚ _|"¯ E‡`÷¡° ÑrH .bÌŸïYË¥øËü¹.ü^0ÉžèhІD½“ÛåÂetö©S„ß ná –¡¢˜Ò`ü0-ŒúT8wVõí¢JZ Ðä `˜ØO¾—í2fÅ6œÓHcØâ¼ó|PÈ ·Ñì.†öé†Kó¾ò¤õ†¡uãN#O¹Òþv=p‚}qxc¾€æ`ÈìLz·³¿ãCHú=I©¢7@ˆ,ÐÝɪ‰¸‹¯8Oˆ!Hgê¯xVŠ ص9¹vw1~̃KF‘呸-–b—Ñ^õ\©Î@5pÒË=e×¶‚bÇ„úad›>“€ÎJ¾ƒzÌl$Á¹Tþ–A„«ŠÛ2£-ò8_¶´¦818ó·­mž=°Û+Óe}ø-+yWåSãöý×l_È¿à%nx»pg![ k8 -4•¸pUJ8ÈÄmã`“záBíÂPë ऽ ¼ñ¯wy 3r.j{·6Î $¥¹$ƒôoÙ¢¥/—ø¤cÝ¥R‚­•^ÄŸDÝn»½7nòa[ºyó)ë)’tëI ãÌ¡|s߃!¶;XÛ^¶‚‹Í óÓ ¿1-àhRßÖüF©;¤íõ¶9‘Gz  såN NÔ|OºDŠ'‹6”ïÚy\£¤o‡»¦ëVvÆß}Ä+sÚÿ#Òp.“„³ÂVP€;©SðiÞd3ÄÂ?à¬Vâ•0ÈÙpžað†G¬©¶g´–Š€gÍwýM§[È4á+Wp…h=»A¯‡DšdsÖ²ñ‰ U†§ö΋ì‡_ sÀ™ŒÉ]VA{ÕåPÌ\}jãåÓ©1?s" v`j¡¾Qèýh¨ ?ò›”•HSêÚM™–ø¿ú$‹í&ÉLr$bîâO´¥<Þ Q>¼9R$öšµâ¹IÐQÀbÑ} f µÃ[ü)ç`t“|ŽV”Ñ?ܽA¸Ñ_çÕáY‡¤Øþð‹•µ¾r^¨×7ŸZ€ö;˜hi7$ƒË;î: k3șɪFÖ~Ö¡&Àq¸+ê)Éîëá1ç:|Jè/y¶ðŒäòÃþ-#³Ùeh¯!6´ýð_u{0ãamع³d H]&¢Ó¬‚ÁË LjÈà§³2òòVSªpÁ°…”¿jh·ñƒÐœÍ¼Ó ®FÍc$1’üÍ%3û@:‚Á¾xxÀkÆ×H1:.¨õ¸ÍçÍÇe  ³z·ÏáÀG:!ˆ†ü —\æé±l¥§2e3§Dì3’¶)ȳ'—Qžâ|¯üß$qTâW{"Èwž­ÀŽ›Æ‹Ô@1. ÿ£<2á¥éB:KÞíA8%€5¥¹µb*ÚÌ]@ß[µÿˆðeJr ž†æ t …Xfé걋`¬•Ö?‰º³úìì>7¥)ñAØ!XÐM@¡AÃ`ÁÕ2›m¨äÄÃæ÷áK›™{}q¶JrŒ<ä…·êúÈüØX#š××Ùî¤.°£4|ÞpUÉæ#üF4ñyv°y ü¯ ·’ûŽeµ˜†ž 5˽É6Ü`¦Î™ò0ÁƇ4½ ã\ؘ¼¡Š} …T~|ޏû,‘ïD6üÙr”½ŒÆNN;ÔóÐX®»2utíA¦Oç‘î (\¹„\õù­¢'ࡇ7Öš3Ö2ÁeÔú}¤–+Ð}‘°ÚÊóÉ5ëç—CÆ9ÍxËŠ¾p "ËkD`ñ‹ª2Cx°¨ÎLÒ*ÁiP~+ û±RPFROW³|TØ´²ÅÞ;Ýue!ãkF¡_+1ûTZMBae”ý ôGm?€Éóã%¡6‹ÂJR¦çDCçîó6OXÑâ$ßïCN7ìYn¾²ï-ÿ˜èSw¹ (¥Ì‰],¥ÓQÃW%gg Žàò1sçÛÅPàöQÚ‚¸2Km8ö¦zµPïR÷Û½o¾›‰Íýpšv@kíÑ$Oñ²®IS®y®E~‘²¡ dfÈïT0ÇÛžÙÖžŽmë›8uPä†[Ô`øä©°LÇN¾©~(M¾ì—¡»Ï<™1Ÿ–‹`LIA€ì$(+x²‚ÛßDu%h0lÎPM5“¹ÑéÂèQ·˜)¾Ë7ž)›Í¯û˜¬së•>戻F˜#¿(¹«‡!Xª©þü’nõÔ·>Ô£ƒ"•Ê…aJ¯öø•TÚ„"™<ˆÑ†Ä«Â+ÒÁßIde™‘£üH.nMCϧ§ÿ† £  ä1²Š†L¹B¹¤GÍîùøi›{@|µ›­?XsêJãyCÿ¼`4‡"âñ!%ÝÞ­âðG#©•ÿù½.Ôðï¨o·ì Ø:üï-uM䎂=‚'wp(VÅÉgð¹!É‚4Ñ"pÏ y÷M¤ZíÁ©g ˜ w>Ñ›ÞÊ"¹‘øaÂî ›^– 왥ÿçŽô7`­†C6›îç$G0ÑeL;ì‡søkàI û¶"*SKéù{~}Ý+"9ªÑO.‘Zhjn¹àã´L—[#aЧþeÜ«aìÿ½;ç«RÃ7#ygïÖwðÓvUÕó®„(Ê5EBPŽ‰Ã¨f*ògOQ!š#¯Ù¼YÎàý…tµ=ß''-Ü?ÝñûiÔ)9;®ΓN#ƒëåNF;˜ £)N}¬­Á‚70¤q9iFhMÏÀîÚJeç­D¿‚`Œö7,¨²/e;C4îT;¸Ï|¡s[nÙκ ôOú€2 ^’P¦G¡2±FÛÓ]ˆ“; ¡ù:DzÐ6¿qÞòë?ö@uSo¯•&ºã\ë2ŒS=e†Þc€š[ËøÀè§;äÝÃ1ØÐ_ƒ€¸ðUµöÏ< Z–C$†‹.¯¯$m^uè]VPú/¤k AÕ±Œðù€êÀÓa?tcwOGD¶pñumu·Bëó4§Psø³ØÕò$%õÉÓ‰·|Š+¸.ØïO@(Zï5[€Æ„êj£Køò“ÎÞ€žZ$ †oØ¿ÿ|¡R¹ž¹/ÔX¯º,sê [õg×µÙ4–têc\[Fhóít׿Qu1vuËÏMõ¢%Å]UÀ€h uÞï‚týæÊ·ÆÂy=Ól]#_13G*-à—OëÑ× °µJ× ³LSåy¹sèlO¾ê-î€U‹Ÿlˆ“wI2)îAýš*£7yƒX®A«ÃPç<$ïnvu„°ÂzZÕƒb !ÉêðÃ̇!HÛÙå}±Ý|ç§4¦Ì‰» Ô9‘Àß8F.ì×/épþ*qÔ´pß.?²qk}àv©ðýޱOÀåE³‘‰Ë#s\_pA2÷èM£ˆÆa¦:!ý¢ü¡×>îÏÜÏ Á}Ý>ÁwiûXŸ°<"»\D¶YvŠ0‚‚ûd"ŠÐý%Øí'ƒ—ÛÙÉ»XÕ0ßZ¤2w̽ûhIÜ€ƒ·‡[/¯´:öÇrB¬ÔT£Îõ¶Ï ,ba.‹¡„ Ñ <ñ½à•õã ¯¦sÿÝ;ôTx¿¨¬q×ãt GãsW«z/vhXž6‘¢à®M÷³ ÄÚªr‹‹ Ea‘5Á{Btò¸ ÊÑÚV=¤—:YšŠµíÓôê’dÔE­Õ=ChQS+ñàŽ}w¤HFä°w‡ß³Œ/ͤksA©@вyÝ‹<†©9a쟅àÒ¨sHéˆËáÂx4" S³LJã1þýÂèF^ ኂؼBO£HrÛ”6jœ¼­‘OPg±VtAS ‚Æ@n†êZ¾ Ëy˜ÞUÛH!€ª}¾d±:o6‡"¤uO½vÊO×èCyÎSŒODÞoîû•™°©{‹Xjè¼&”<;¡Î,p@a@ª™ü¡É‘2åB¦¢ªÑ ²‹Â ‹ wÅ´“qÓPµ ¡%´·zäØ{¹ÌLH‘x+üø¸3„^AâÁ AqRe6èU9N[uÜ£íH–¾c8|„Üœœ!üë W˜|PîKîuÌ?•gq¥-•fžçË“®ŠÉï2¬ýúO‚ôZE¸åsÌüïÂ,?¹Œ×ê7d%3:R}¤¥2ˆHÓGsm¥[¶½ç•ø¦jZ·˜=ÆÅ:XDÝ\ó°Õ?êä½h ¤Fí͵Gý 9'h@>ìó4r×ÊZ¡»‘/­ò81ã®Àñuáe¡ £Ðb·*þ•iXÖN(R|[?â8¡Çã@‘],ߢñ‚'å3†ƒ d7 ‚“£ ÿ@§*s[–!Q4ÞÃÒºê†F-™hK¢‡àÂS±DQ®·}:þWÍp-¶†/PB©KL×h¶ñ.LI‘éooë¢`6§sä >©ptúØw_; I—ñ¿×å›MÂ.æõ³°íb‚±¸¹ñ-ñ15&†DåÝÍ…V¬n>}ãç¦,E:ï†Õ¦©ÑÁ $]aæn½|Ѥò_frü¸T±ö×XÝQÕcÒ»•DªÐ 'hNïêð üŠ*Ã("íÀS„ä§.Ìâ"‹Ù# ‡¥\jnHCjsTÕÿÄ›ûnì­­ü«™ªÙ_Ûëä5Œ}ÛdÒ]îo#†0;2›éf¹*VT¬h2:·iÕ3d8á|H¿•ëÙüS÷›°Äâ”Êöf øóýpBí¤?ï|xõ!Á|ÚÙ R‹ÕÑä|EX3¥¤’JÂö¹†›ÚmEZ útÓ0û¬2çkBÖ‡®3¸¥q—oA\ÒÃç¹]ïüK‰†7Á›v¥yä,I‘uÙ9N/ÍS+qo«k=ÓTHz;9”®Åñø¶#BÓ~a^·k½‹µB… $ö¶cøÖÌ~ù¶ÍË[yjiší Átòc:Xp*›ñ‹$Y–V#ÜÑT^Öûîsxm¤ž²es&¡>·%^göIä¤õötn­1‹=ÇŒøÃ+”ÇE^mªy¯ •1]7Þê†J¦lZ'{4F)³Ó˜Çð†9móÝæÖK¹wôý;%œ¾½ÿ4ñ ÕQƒqôUÒÖ­ÛS|”\‘GÛ­>?¼j^)÷ié“­±ÈeAmÊ& ¸SÚæîŠã©´¡â>rA5þùa¯Fë€È`Ç…WîL¨}ç{s«.‚•aq/5i}MmAo»lR9ǧœÌMeyP 7.°x¦Ðë± %œÐ)Ë”¨7ç§R;óçÙ@A&ÞÒô¬‹ï§w{™lo»ÃWOmÅ[dG[šæÖ ‡«}ª«®7(bpb-P+ì\t¨‘—>·@sY7áEë¾”Ž3ú0¡¤u¹º=òêKæ“`bâüE²ãYœï‚ˆ~“Õ DÉ<>>V™tœT®ü™“ï1&Güµí `ÝÝ×S©ÍrpÉ¿]@õÈü-þAPœÃ×ÀTª³”‡^†kèÎn¹€¬µüa ¬J]ÏÓ¼GÄ¢h_ hDKÕ¹:¨]àX»Ïg(böǽÙ%ë9¹cp‡SSÜtg À2Ç8v¶Ï w [óX»+³¸²ð‚%R æ³G‚Lë÷D-‰ƒT˜›iC¹[XA¹p}u3RHEê€4D ª¤M:¿YÙ•T+r¹alò :§8ªJ!©4êï0ª÷‰Xq}²OáÆèÖ¿¸Ó¼=šZE}­ç¶VW ÷CÁ¤{„ŸöY°5ÓDùP5‰¶ühcxº¾äÐ*6ñòkFÞô·›\ÄXÄëæã„$k]gÒneì˜ZߨÛ‚øØËü¬âÁ Ò7Lñ|¤?½¿øž‚xU•׌.h}PåvC‰SÐ2ˆ?%H£h—K‘ ýÏ%ÀO!qíD!ü’Ž18ÓS+LúñÖMâ¿yª>Àß9¶ ëd8s·O‡ª)k % Å e§EšóPjÎ]I5 `ê¾O¢"&_làPÑ¡VéÄH[D©gû–ªÛ4P¹PCî®Rú&Œ6éÿõÿ­Ë+d>hJ´ óQKðVwcZÕÛžÛ„W˜¶%ZI¡Ai×)ƒ³Œ‘PšJOÓ•¬ºü;Yk›ªæÄ;Þ¥V‘š)¨¨™?'ÅP5®œ•|’PI ©ò×$ žÒ«mÆ41s:4­<% '!i$”£ËàaÔ¸e D‘SÿÀ|A\Êô….îÎçG6h@lÏW=ËQ§¹“¨a•ÄÈ»¹¯pãýF›ÛÜñ“ò·g *µé­Å¢ÉG¶ÒñZV àG9MSµi•ÏŒ¨ÃÑUï²êGD’ÀYs|c“h<ï0Bñ D®¬˜·•>oœï:Q°ö?¼«S!Þê$÷Ó«÷ø{ÇâE†ƒ.üfÕðg†šŒf‹$ññùF×?º–XÖ­º½>”‹Á ‚@ú*òÑw¿˜u„‘šp™#m®nF(Ì« _$‰0H•þAåðÜ2< ru¡0ÄuXµ'’l‚»N27^°õQá»L¢¯'±_²gœúéJ~‡v·A²^Èÿ>½êòzþ+ãXRìíûVÏ#„ zl_„è@öSÒÊ%DúSï±Ï_ž^‰!ÒÚT¼·'59ü‘ƒG˰'ÒÍs§ƒóW[MAÑçá¦AÕ¡²úw­³íÝu¦Õá^vP™¾CýwIÊ¿pñùÓ–4®êTkkyÒC”šÏØìPd¥4*L0©Su…ωÏÄA˜9ß×Ê! ÊÈù›úý<6îãÇ ‹,)µ¡Îº¤f´ègtYËO»¦ÙºØO6UÕÞÙrYŠC·û.òêí¨z%Y)ú^c¿"}E®¨QO­4nƾjdróÑ=·ÃéI`61‹m&¥éÁËð’Š+GqÙNvÑÇ£u`þ)»QŸc2}¤Lëbô³¥áT ’KΠ,¤”<°Ì?RòíP]*¾3ôA‘h*ÿ¢7ã¶ìWeÀ¯%{Èy)jÏ—÷°œÀfJÀ–”<Ö9³¢IËۇɮãµýñ½Ý¨©ð¡¤8èXH)òÈö!eeÉ«P(¹^[! ©ðò…·ª>;ˆ¯öâÈ‘HonEGý¹ß{Öü®îFÑs2HãoK¤Ø)|EŠ<>%=…F‚L?Ïi´àସ¡$èÐê%¾rÌ~üAg;E6ÇŠWã>RNêì ¿"l% óGåÒÅ4öVî#õ°›sSL¸œi&BGb° ›™'Iût'Yù~*±]õª‘£‹KÉOšCc­\·[ÒK~›»,fi0ƒ²p‚¶5Væ‚û×*T’‘ÕzÐ;mÜëÈ&¦+ŠÄÅ×mM „^.÷ª“Ù½ûV æ ó8,‘EyEˆÎ­q|ÈUT¡èS“>ù-Æì’ýè5oÍL7ÓQÀ,p žÎû§"“й*´ Ê69™vwt‘o<ü…M1À÷Å9ë÷xÿ»«‰.{aéÌÎ"ÃN&!ß[Ùt¬Ä¡é"`¦ÚÝÐ÷–„˜»FàrdNÇµÝ Ï”Î$NÇ6Ã0~»ä8Ceä©'QF+Îÿ Ëð˜îÊ¡ÑÑUEƒè1^½–‚¼6ëöÍP%Ê2¢¯]§/ÂU¦}+—/¿šJ³IÝ'ÕóÖ^¦‰@N‰¼:ᛸnò‡T_’qЦ§n…JŠãq+H !q8ÿ­ÝË‹ '?%Û]ü“½½£‘PÆâã’œ­OFªkûý:Kú:¥ƒU®œ²®.Ø=˜QjÄYŒ°‡/… xíür=Oõ¤„´sí*¦1¬O¹?”M¸Ä®?§’·m¹õ¬$N*‘]n ÁŸi*;â' ;Ϊò×·Ï!5æùÂ{¨Cf?Q2Ç ´O1¬&²Æc\ŽÞI$r¢Êú% iJG0§y~ZƒögËøZßÊmìguy½ß+\§žãWà+ó(æÄšPoÿLLNä4Ã0ĤSèí‘UÄfŽsæ°ÒDmv°™ÑfI—ÐøúM{Y8ÿ#q:LLðsxàP‘àWê~"2îgÂáÆc® ÇOÕ&â$újíó ±^ë<KÓ5^Y4jm°–­>à$ÍE·aÑàü´VgÈ!ºÅ_OÓéj“üþÔOÌÉðÀ°5‹\œ6IxòÎO„ö„å mZKøz%ÒkYñ¡ÄæHH9¨äñ‡ô{ss=Pü#ÎÅÉéœ+uVJ”ö9Ùùî¼€½ƒüþ¨È¹Žý"Úßcw®­VT¾ËS¨™)@ßC7X‰¤¦¹kUNé„*€<ƒ¼PŸ±õ¤ÖŸ<@(…K¢“ÎEwL`Õ—³} *âD®PˆÉ±X´h_jzHPÜ*ñ´F•àÀÎÞëXXØ–'¶9“ ¦Ôk…sòÔ/­@n¿ìèÅÿòç—éC†…Wzö è§žøòèLF• þådÿøä‹/Ï8aZ S1(zŸÆzŒš¯ ɾa„BÑ/œø¿›Lî;˜êòóÈç^¾½ÇƒM ½Î¹«G¶.Þp”;!Zè2EÈ–$àZós•­Í‚©0Ã…Ú^—Ò¶DqjHÊa·¸gŸ,“/1ßõ¬LâÌV”Ç1|NH.ÏñDkf|¬_jD˜À¦/‰ŽA=;_¶1±YóØ£¹••„WL ÏÑØ« Þðpꕟ—hü'æÀý昦88Ó½¯JLÔ™úrî^x·—nª!{ŸÄŠYodT˜ˆYÝrŒT_ <,½q9Ùu±°½ߢÏÒ$UKã6Æðžzbü#îI]p°ÆFßÈ:á³5mÁ}»¥%œÂ<ï;ö9@Ö„NÔ >Y‚ÄÚÐ8o³íëtk³»‹¬cóß ›û7å§‹[”±ã°Š™#±l¾æ@åî‘RLG *±½Ês’º¨ãHŒÂÙÉã’¶ÖJ³?˜#¡Š4¬_Û›­AVµß9LB^F:¯8ݯj§Œ¨%±£Ü;èJÈéôBñ·C2éå×Ãf„Ð"¾ Põ­2ð-tFQÇóÝ“6vŒ%{9âA!j† ±K³›óàŽêf_òòeë÷«þ°ÄiwžƒV4pD}—:‹¤““=åK| <á]Á•È3=áuFi²“òqM»ôoܻʌž<Ö'æ3Ããi„LàÖ0EÜ0)OpÙ@n[¯ëþŸ’6­>ÃöîåqMþ32tŠ%lkºÿÁC+aeîøà»“”5ˆ‡ÖN§B'—YÔOþ"Fö¬*ÐÄXÞ”ïþ} œmC!&Â\^JJíg¹°éŸ€â2%«øÎ552$q©é3¥šÇhâJT;ê èo¯žäÿ4ÏŽ¿LyGë< Ö¨÷Àt!Ö5)uk«4f„*f›OV-Óè pÜûä/S•ÀÙ‘f3„/ó0ª&âQù¨»ë¼d†®*3:ÿZ¨¢•ÝÖڇåbd¨Î.ѼêÜÜpôÅ182*J:Ýt’yžº#]P‹ƒHë²÷Y&¸-W•/`s¤åPû ÍÆ,uD+@Éë8 ôe•OëùÝÕ†B)Ša®çðü­†wµvUP.¡YΫ±a‡L×x±ÀÄ—A"“)éDçÍ6cÑû)>±àÙî:L³uf×®qeþR 6&U—o~w¨É]z!¬}Y3ÿ˜Zf>@Šgð€:„ŒÿJׂ0ä®…•ï•{úË÷Þ|åЙ³y£û€ÈÄn!í]6“øq—G†wš–‘aõúT;ÑX+îÑϯEz*“@Ãz_ûaýŽzWƯTH^Õ*L¨ +D-޾*é “„.YË.]êæ¡%Üäì#ŒP¬Daq(ûh0¿ ÛØ§ w`…ïtÕWl§ ¤tìÔ¾…&„´›r…·•õä4çÑ]±–óAyïFC $ÍWýF ΔqcžÃùB<ë|Çñ  Ês˜Ëצ”S9žŽö™l+’•À\ø§7üˆqûÂxy¥&Á†¶¶[±aÂ`3ŸmØH†{-ä;+®iŽàñ³¼ÅÔÒé°!i¼B™ G#õ*³‰Fš.ï’k‡´·i”Yâ2OŒÆ$.ø^åVÌ“DÃæÏ€?gPj•n!‚'þþ,¬31^Ý=Ô­¹mQevŒ|·í…Yb|ìÉ"gÔ&« kzl;ÿ3Û~0­òB—ÇôŽ‘CÓ@}â(tçf¸ˆrúAŠ„@p]}Uÿ;[>ð_‘ð#ö¬?>/Á•ö‹ËA¥˜îßÄè‡ùsÈË…,MÈ~8,8ñþâqF)÷C‡G¦˜ˆG<ž¸7&fÆCà÷Œ9Ò³pc”™þ='øZø :ÁÃQ¤s]èCß32VY'ÑS9:ߘ€­ùžgÓzlw•Ó§èœ õ¥·Û6†#­ËèácCp‡øµÿ”F¥ªíׯ£A‚ȘøÕ='ÆW™±‹®oe-#…¤ßpa\â=j²6ÝËþtèU/ÙL{¯IX–÷c²· "°êæí~ÖèÉñö/\GSB,ývxÔî”@ç¿Û< çsë&穎 óûÎØå/¦ÃL]å™<"pB¯w®µÍËÓÝVBYÿõkÔ«D¢% V¹åøK:d ƒ"¬ðÞ½€ÅÃ!Ö;”vµ/âU6@–4™;Ç´QÔRÁ½HzË" ÿÓ§ˆ…NÑG{2 Óøñ˜cË”0b ‚çi©6Ç–óŹfOf&ÔDÒ¢³Íâp¨ÀbêÇ‚œŒ®šZjX}̦r›ø®DK8Rúh22#’÷R˜¨‘9é G–¬ ¶-…Ò [9JAcGâÁÚr`ž[€^E˜©ºhå·,‘ž'±]™ž]rZVà1Ãæ¡ZTÒn#òmYßRÍEIµå××¢÷JÅi™ê+màþ]¿DĨ‡ÿ AKaùÔœ¿xƒ}î~IQÖe7N¥«uºå&žóìœ ÔCt]wê',ûLvR—é[®G‚@T³á<_²j2‚€@@¼Sþ«k”}kE*æ‹Eí¼P›¢Ìy³¯ðQiÍÁ¿$3~°†à„ï-ÙU½ª­fLyõŠ£e“âö¥;) tnŽ‚ #A-ùZ‰ÏÅ™ÌÁÆ" íÇð"ç¢x¬l‰[÷´Ôò4%#¬‚ÞÀòØ_ ;¸³ØC°;N=ÁMý™4Ñ3eþÁÛþRÀGà,Ó|<Év8À üöå2k¹po”¸+‘Y)Æ’÷9zL.#0éøŸ¡7VõxyÈ&ø­w-¥) •Ú\á…¢«S;í"5F^{=øÙ<¼xX½ÔEB=@¯ ÒùØô¤³vÒvS‡ÄŒ±bÐnLI;º„2¼Ï­[¢ÏéùáÒÞUkT€âM®ðéMŽkÙ‚A0:j 1êÈo·«ÛCzªK—¢=Q õ=–¶µÊìOõú ´ E_ÐÕᣅ,÷ŸÜ‘5[/ö朎ŽfÚ@¹Í#4jËK¯|-F*gÆè•®ÃɾŽAƒÎ.pºØ#lù%YðìIìçÁ{¹ÇC5Dø1˜ä²ä –©{L؃>ƒ\‹Þ?@4o>Âvsò$5s6è„Jf3ðØÛ»#"^гm÷ ÄK!¥ð}7ß;­xfÝ0Ü̾ʌ $ªª.º‚Uô>r³‚S›‚Ù6=Ä8@1€qrDN°ƒ4X-Þ¯eˆŽ¥'rc¬M÷Ø&&N1Îf¸Ë;ŽIÒiD±ÉN2T½ ¤©®\ߊÀ.BÃRCd)„ÈQ+Õ‹Sž¹ ¥ÏBèè ÔÖyT}¡GµOÔIôýAFr a+í¢¬YGaúúh¨ž×^ ©ÞAõfœ ÆÞs$~Påùµ·¹Tá—´âo¨5ŸRËgApÄÒWö¼Z;-Þ¼ ŽüxFž¾¾ë" ¬…h¦‘pĆ”˜÷tå|ÑxzëQIÚœsZÐX=T#£MåÄyUQÓP…P%cΰâeŸrÉ)­óÏ™Ž½€†¦™–¿ï$Nd~\~¹ûr5,šØä>#vqÄLÑ—h7oˆ0æêøßÃôÓó%›µ‘êÀâü¬ÇÚWfN¬uŽÝô§HŸÇaǬSÅþJ5Úà°™ðQcµ ’_2x¥?5B±2spiÒ:|òJ)mLì“ò„ZA#‡ rÍ~ù¨Àñ„ð–eå$THüÔ¹‚úŒÿ7%顲, ?ùîJ($ ®;©ÅRSö—mNƒ)î€!¬ jÙ÷l½H$·.ƒdÁó}q+Ã?¥„ÕBRM5%Ò®²Èž\ÁžVÿEãWn‡ìE’äãת#—C© @F¡ÚY¿ÖvÂ̱Ù¿â©@¹“‹­µé•F†ñˆÄ°ìG[ä¼éИF±wé× t)+½ƒ0Cg4ª!¤Ñ-uÉŽÏ/6ß Øhܵ©.Ó$8N·MÿX.u…ÇøÍYJ.:šçÒ½àºîw}eþ-×ò±’¨ñ~ÆQbÈêþ¥6íI¹É)f¬á.&d:”“Û)}µÈdoùÁ.~#ãWÜŸ:~`ȵ4O—må=CÚìŽ|‘N°Jv§½˜÷ÓÌ2yCÂÞ°µPa¯}%L¿å™çìKӌՙÊjÒò˜š^'MIÍ„WÌs1ñ±ýD\Á½N•Hùn¬qÂml»Õ:Á.G<‡'C»¶a7¼A-©ûi›!¸X(DÔŠ ¡ª>fv{ˆIÎò)H‰GÄK- –àÄéWô 3»ÛÙ˦&“»74¥ÔŠ{l8¬4‰hï2­ˆ;]‘šÛŠA6†„ ¿DJ6ÿe¬àuÓ§}Ñïô×¾|€¨ñÕû™ó‰‚4²llV‡@;&¬›oå’œNIÞð‡~:íŠÊókñ¸o ÁÍv `¤CK1‘ÙO~UÛ!ðƒK–*ôy€=:®¡*t`ª‹’ïƒÁÇA˜Œ²Wy:Ÿ—³.r%HDV~'ÝBïßÝ Ù~‘ÄP9¡öç –Lß×î³vyFìhºäÕL=éœb’Ïÿaò`£¾ÒÍ2‡Z&?Š}ºy$—ƒÎT…Ôû=²ð³ÿÞ^¹wvz¾ˆÁT—)7Ó¡¯cõ¸ ÂˆÄhÉú¡a,®Ç”¹ì×;‹ÑËQ)Lƒ­Oúð1e$þAL~u>%-¼óòÉcq¡;9§1!WâÈe„/°Ûþµœ¥ð>Å£ƒvÇvg‘”yÔÝ„wLvGIǽëù ‡¦eü¸cª•dóFíq81”F-ÍÍ!¢¶ÎýÀO[I ·˜¦Ò20SÌ.Œ‚C—Œ»û0ŒYèH\SÚç³£;ѪÃ}–®Óa®±lèø Ó}*^…™¤Ï;}ÖHP}šjLП =7C,ð ÈUo-µ¹’ƒ“–öz|`ì匞¾9ÞºC™€~C‰'F±LY?æBí3¶ÖÇöÐýTñˆþª® W3·C)íÊA¼­òù+1/büÔåa+s^âJrQˆç$ÃiÇs_âÿt6>^OæÅîy~,ÑþðÂgíçï:ÃêNö'ïÝîÜ*†açÙ_t¢Ð{cð¨Xã XM‡û|90j~õ[Ÿí ÞÏìX® f‚¬C=¦gÍX\¦w |föäeCÕÈÓP+ç‰;7)ÓGÁÌ«ûí¹S:uMþ ª5öµ^óÀøÈ‰<2¸h5ßX*„Àú–yøe¿€&~ÌFóÊUöãdã¬/ìãêA̸hv´³Ñ2€KàF•³ÂðƒXYÀ`ïÝ D7ŠŽ°­BÙ`9@{þŽTÕׯâlKÍv•–ñÄš× Q¤3“–í3¦„¾1ÿ¹ÿu€ Œò¨ì„â× üvlœ¥›-PVâómýH7cþï|€¬sâ&îVÊ”’ûÛæâ¨bØS²˜­ÇýLp¢²Î¼j9Íh)Г2ê–]Û/ÜÝváà`LÞC»œ $;-ÚØÅ¿Û'=w'*ÇRЭY´˜° ¬ÁNgœ2Í%è±óÖËÝúÓ@Þ§íê¤àüQÅóŠÁFßÒîKêw%k'Ö ¹T,W“5iï /9ÐñФ7NÙx ŒNwÈt‘ c3µÀÖšf›i¨waŠ¡‡ÄD„t)Fc¿õzm½g—¤,2Jhan¯7¢lîtñ¬í\ñüÆû7+…þû[€¥z(SÀ⹤Á¹ãÁj”½9™ (€-Èf7‹O·‰‡ "ŠåQxØ÷\[ T¶Ú ¤Oœ;¦mƒ$úãüÍú.Z&îv5vuãøZ‰`œ¯k„5MAØåŸ*ßѵݵ÷ŠÕ6x$Ç eúð ó É1šgþú DŒiˆçã,ÙÖút}^Ç}f&œà>пÝb‘Éž(N>ïÈ0¸0×¢&[+÷Œf±õèŒDìÝ­‚¹ûÖKK§Ð0ù?L*p¼7F¤ ÄR·O܆glÀ“¤‰“»¢ÆC&Ø~ÎûlŸ6Ü«ÂIß-»¼v¬^“G‰R_È®¯ÂÃ‡Þ’Žº>½$“a¸US*4ª™ê´‹Oº¢X‰|­ý8LŠÝ‹®þ0è V¢Lcê¶B¹ÇÇ4\´ÓN(͘ÉJ¼’cgšz=ó1ÍYB «·@”ÍK9= #–¤cÒs|·£;æÝ¯×`<ö[">²NºaŸÿ³Æ!¤•±¥=gMYîmXÛöÒˈ§lž¬ôf“`a2TEð çz‹‰Áè¨ý¸ÜñÞ³I5ßN”ºŒ€ËÎFú‡¦žï:Uß¾•FI«ð¨ØÝó’²£ÑOìeÁVÛtoÞ9©ÐQ(++ZÏPÒHÝÁhÓD.kðJ„c!²%ËÇûœ ¯ «^ÁVõm3iÿÖÙB)€ŠæÐ°×öÓKÕÚ8©4d޵'ß›ÿ} ÇäàU g¡ÔaX@6Ộ\x˜68 S½Þ û½þÃ]÷52´üM«…6/¼3²Ó¡ÔIey±®ó[»ìâŠiÆ6XKÅ“¦ ÿ½£¹Š6>£¶à‹Ý¿©$i©¯ Ø"{“afcªBà~Fêð‰§e ïs_¥p8{‡XÁ´z ûÕ9¶‚o¾• úSŒßc-ol9á4 þdõ…ßGØ7 ¿šíê°+œ×©7ÿi-ì<¡Ì…üS•wMWRËëñlˆÞ¸a¶&Q U`™Å¤« Yý76Ò? ôÔÉÑ–¬}7ÃºØ ¥—¢lxQ"‘¿‚‚ýúîuQèK¼ˆžúžÈu¤µCè€- ï¶S¶Gó„ àþ¨Îð¨A>Ú&Uþ~’JÄl†íÕ¹í žx+¿]61%ÉÊ’s,;°¨˜Î‰«?0öaÖåò;v0}£Ì¨ }Q<ãiÞãìðUd=µŽ"dìd:æØ¯½QT>;Ê'ÿ€Vº[øX¤4»—3v@ ®”bˆ ¢f8s(ÁyÃøóÍæ{VFµÿ€ÞM-ü³%,po˜T•À®¯^75ÝÕ¶&/ÅTùæµÒ=Äñ”þC”Z—<≩ Ìš§²Š¯˜€¼¸ƒº¤ÉÈe/ð•2à4÷éË“å*Þ¬à¤+°©$öŠ¥‹Pf^i§7¯¶n¤,ÉG+sÓ LA»|ÎÎ'ÎN™û¹³í´ÔTôb$Vv¾‰é¸cqM¦ÿW;€b6,tøe`’‡ÍïV¼Ÿ‰Su^^$–ÕÏbo­»·n²T$éüˆy‹Ê½–¸ £u†[…Ùï©yŠ;« ç¹ÖŽ@œÀ§OH~ÐÞáFÈò¨L ¡s»Ì$)y¢:ã“ëŒ3)/ICåÄ”NËÁ—T3•ÝcAîËIžúˆ-yÈ>š c¬(ÿ­ ¾îÿ„s 00 Â5ÝPÛžw+¨v– ÃÖÊÁÔϺeíÆôåÐA,MKÐã'óÃ9l|aÎ79v×iKû³¾f\ÀìƒÿW´uWãäœSí7ÅBÈÄvg ¢hÖ ''Ê®\²Q’êÞ–£êGcŸrª ©±ƒáÖm1á/×E¿mXp¼wêŽòã/tžõ ²¶—ð †rdô Rˆ¤µ˜„«ü,µ¼ ¿‡>ápÅ)•t¡œÁ%yÝ ÑÆM² Ò[ĵö1Ÿ¹àá¦õH°ÖSpÑfÆ! Bº[8`À韣†^0?V‰Š©Ä ÕUþ†—»Ÿ€©L—ÆÅp¯+OddBZËR'pçÖ_Pr±uI#Î^P{¤P‘¨Ó”n"{òJ”^ª“¾ÜûlP;œbÒ:nÃѨàQ(&`·ØÖz—)nïГ6C‘á‚©FO?úçæZ:fð=Ëìýzxg”K~5IÆEÔíýõ~ÉzoW‘²“޹9VgáÇ7 ø‡.׌ö&É9ø˜sæiªE»:§¤]{¤†–ÕÝw•TïÑ2âiOMéz‹õþƒÝ@êzB c§¶ý2º^{.Ï9¢ØÄJìâl…z,=øAñ£[Ï;°Aœ‰dã/TÅiÈû QoºA~´ãLeùó,@XY-·ëdtWe9 ·,fä·)`âÀGcYU'Š|.2Ÿ6œîœ z̺BÖ¿ŽÍóžX`ìÛÜA íy<áS°ã.=‹Ò ø–”G0Ã׿ÎÞ *—òsʬ$Þ—DáPyD0æöBî{œ;þ¿to+YÉx ´"B­ö_+`ßÂ~’Á‰P»våÿµ¡‡Ág¶.ß!U»Îôu¬"Y]f’½Î÷‡!áUÙµñkè‚´ÉQ¸…Ä1óý×Þ\û~¯‰Ÿþ΄½%9‚ÂL¨ß0¢ùˆLɈ¯ ƒ¸ý;äÀ‡ KÆé̦çu#³Ð/”Ɍˆî[×§+Š«jÁ8›”m¶D'ç`2ñ:Œ‡<ºÞCgUˆÛ2ÞëgïÄ ü {™7ÛteI3‡¸î]ñÇ‚ðØSª¦VEvWÕ-ï‹•“_–Š•vò"à¢ÔèÇ>Äþ•q|ÇWXxñ;­Ž»Ñ™½O‘%°Úɦÿ”vä[|ð3"kõ±5·?ë5ÛÓo•uäGuÖ±…²–„ÔS«é?Ë­Äp«$Z )—´‡¼ýº• ¸ña:,u6ÌRb‡ˆô毹¯I[­ÍÔÕU–ScÞwq¿GȆŒ­ÁHÜÞîá½%ûýä ÕÓ déuΰ¬ ÕgsæåöU'uÅ´2@Ä¿ƒú/pBzeи·V2…¥×ˆkÒ4Š#H²AÇ•Uï}¹LkØU¾ÇìME·œ Bú°(Sæuh¹À¬m).·!5¯dÛCòû#ü^SBÛÞøBþù§V¤¯~W¬uÉúe»oÈ!z¨dz©²4r†“-ÄxjÖ&ß[ÊÈÕžósËBMöÊâ‹î[Eìö½»[äœ.œ‹œ-`~êv6æôÂèl€5BÓ VõÂWr–äd·œ3÷Íx!…©”2ÊÐïÙµâ߇™ n÷‹pŠ"†iñ\0ŠÐ’û[›x~Cˆ È‘!°lï¨<‰¾]%EÜîx9ôTcÔÀøLë£ý Rb~b;@²n‰QËó€¹®Ogcï¯aÐ{JÞ$Esú[z©H‡/ð÷Û¯‰a¾¼SÃsH7®S,žñ ¶ÊR7obK^¤ßÃC…ç«–+̈tðÏŠ 85…ê²ÀÕ„¤êxle‘/!il}‰<6«–ï0eßE*9JÍIrèH³48j®Ìê–W ¢%©w¶ðs,å™âëÏü²>§¿ñ B „ଉ›ªrþî¥e!ô5øÃnj̲ù3®üQýK5³Í•Þ€A®gƒ2¸úCÔ‹¹ÏA…úù]¾{JÉÁº^³æØq4%àú¥¯'‘y4ºw—ÄÌ9ÃÒ·IÜ3‚¥•¸„„´À#úï×}­Tó€Ì¢«P5! ô‹ŽÎ]7[œ|QÊ¢AI#4ê0X†=(» òlòEÂbªq• Û mD®9p“g€‰–‹ÿŠìZ­ðT“âJåPÈ+;õ¿+(’ÝÓåÕ´k(>¸L­>kì4ë´(ܰCøC (­° 6¡ è/mnNs‚,àŸÊ5j]VýËßï?Ê¡‹ÒÚ\œÀ‹ýŽm¬ÛíÁ9ÃPf¨æ¼5œÙD†•p·#q‡$&úh,O {MÌEA±eVM;oÈq/¬°÷©1Öÿ’[‡’•ÌØJyš8W5´D(Vé[é#uÁO\”¥zÿ‡MŒ´®Í–rƒQâaå™XÅûpÆ?\ºR©Á-ö¹ÿ—Gß²Â=#'‡ÀõN‘Å0ýt§5‹õKö\ž´®4Ó’(ò4£ _ø´LùôÉýH—8V¼X­3©šKxËÄên¸éìæµìôô>-9z$ÉIœ*cŸÇìV´Ï9Ƨ+;ûð\4Ìnnu>û<ʉÿT°Nþ®¬lJ•ìò¡ã ãkwÏ!Õzà›9¾M›Vü‹ÅPFÜwËãEkØ5W£_ÒK2ø…J¥úW3+$ú _ðÕÄ¥æóR¾p8 ®>õA=úçß$OARýßx-ÚYLÂ'ÑÐRHZBv³Úäãd[%ŽÄ }ÿqeYƒ»]ê|&²CÚÊŠdµP(ªa3"ßèCŠß3åxV‡Fmóî…t"Óð8ôûšð ü*'Ô¹ÉËíxUWAFȸǼ‡¹7pÞ )ž9ïĦ%ðT D²¸/Üðì±­ÿÿOj5 Bµší_ Ãec‹²:Â<8[èSÛ,шŸÃÒÔïvS?.(´¾¼{¾e¤u\›áë"d3Þ!0yz}þVb=3®3wEÎVa¦z«É# óe.fîm'FxH‰5¨µÑš;¹×b¤]Od[¶é­åšFÙuOt¹;‡ì …æðÝáá„_¢qE`oQÍÉÈÌÓ™¦âYô‡f6 ô¥‘J~{á¯|íÕ¯+ø·qxþv: óI]éTÚëZÿ:!½(8íü½ƒý”¨3ÅC°hHóí-Xç§RSDû›P¡ò·e0QÈ7‰îÛ÷çjˆgŒ>¹ Wcó(ÚO³ã ¤‰n`&ƪµ4PÙ&Ìï RH§«vi8xòQ9È=ŒrÏP3B«Z¬>¤‹ÏG&ÂFÖÆÖ¸úVŸAÅÀÌÄ©8Èy/åjá_G‘¹4zûúðä@¢ÕâO#rtPî@0³j‘GHö7{ Ztû–zJº\TöîÇ ø¨¬¡ÍpºHØI0 f9 t…)%/ù…ÉxG£÷©ó׿(h¸¤sÔ_ßôÖDmk’†Ù ¤VMEv…“óiJekl1c±« Ëk¿â…µë 2ÂØÿͨ°¶ÖÄçmÕkð¡kÉ:»¿˜GI•GÈp˜F/UYvý銒"ž¸tóqgbw‘47’ Ò¼¤^|SúU§ööœ§…•Y𡈄B\pl#dq'7YD@áÒˆ•ÙUÿÄ©] ôaêÊ èÌk ]Eûaà¿Pù eW%TbMu¨W'Hz'ŸÿäsyâoȸZ”ÃŽ]èƒ=tÊ)ýf¾»ñ\³6)‰Êâ·5ƒçdë™Ôµ`£$ˆ•ÕèÄv Íç‹R¾hÿ\;*Çž‹~ß6"q–ø›@ô\AQ« à¡ä~fß²ï”ÄžWvTПSØ—%lΘAbvmé23÷ë`)#_«s}CFGÍM/å<äfùò ’&Y*•Ž3‚®q‰­û }½—ÌGè+i§c5òÉòê‹Ã‘8ƒzHÉàü$ˆ¾ys™ÀdÒD¢ÀÌ|/:HÜmQOR^ÃêÇŒ|.@k™¸±Vês›Èä©|;ÎÓ ³4%ËLØy^:¦fi¿wróGul§-ë ¬3µ9 âÊ— hNYAqðùv¿GÈwÈç£Á³‘"[B2B¿¿Íá’Äŧ~–N}A+ÍÅ%¥ëžxÈph©¶z˜‹H§…é¹ß¼¢ERíLj‰pÇÏx5í<ò¸»D sÌTEñ°ëL·àª^ ýð>€ IOþû×¶98ÕÙoi_8ÎÂh“ ©ÎA•JÊ€‚Ûj&s¬–ÄeŒäô¡9]m¿2ãÚeÇ€µ™f¼â Qi¾ú8¸ùÑkOÆìüÞÌYBJ»èJõ(¹MËagwø TŽX壯h&!ùó$'õç’kƒ9 žÞ-dêP­.Š*v¡µÖsaàÏÃo´ªxîþ“,ˆÀŽz5"-¼Ë–,v<‹w±ÊLrÏ{PØmÑ|#‚ @6;‹8Uiê(P}r¤´]Ë;bB{–±ò³ÖTX¤ØÃWÌJ;IOÙ¥¡¶Ò0~Ü«5½„âµ»¼¥y‹+é˜ã\ã¸ë|îXžEd*Ý'2Ågüù”Û»ÅèótÓHÎ[ 94[¼¹?yš© Uo‘ö£æ­ò–c@É×Q¯¾\§A«`˜1ü·‹Å>òæçõ¨éVëÅØX=7l½²œ$ÂÅ×ò*ê¤c÷Z3<òˆÓ›™PÙã˜Î ²DkˆP•-ŸC $þ´ß©—ntÀ‡×̓РINêBz£ˆeú{B²gë$L0»¨G²{_\ƒ:åÀVú‡h5±ò½ª£ºþ+ªÆNY§åsœjÑ~FvñiÎp™â`#Ó4ðà/Š-l\/¤.^dÿæpÖ [{ž!ÂêwBø9EŸÛUFÆæÃ3*â?JO*Öt`ëù³ÃkšÛ™gCnÆÀ~Â×m8ÑŠgè-ï§r°ÇÇ+øV JX|Khk¹¦™ñ¢™l^BGD8 ÄÒ0мüâ¹ÃSrô "ˆ›æMÀóñC’ýáå°Ïß!%Cð^â õЇ¾ŸA ³`ò”Û<Ÿðp±ˆGÑÝ ühÑu6œ.¹È[Ï#„oÔOýwZ)¿(síô~ܳã’s€¯ ’C׿ð°ÊSˆ¯åÂ~&ªžóªæAÒwJ«»ùܪJÉñÐR”6W2“{>×”+U´™3§ÿë ü<…£,çðêMYÚî_‘‹%郩ϻ¤1Nܨ$|¸=3Yw¤ñNÙÔñnéÄ:w&`Ò [v.sØTÃ#ò lÓQ'¢ÞÅòìôÍeg”JÕÏ/ç°³îôÙ5TK¬Â”ݤÌÅö“#[ ’Ë Hs·LKÁeİ1”pZªŽtε§\ìÒsÄ›&E¥7ý¸re r,ñ-ˆ‰‰HLéiNó"À)xŠs¤óz“÷]M#(jê8ĪVà›+CkóÒDaL÷œÑ“ç¬ÊmFÜaØ•0ú”·ô¸„”4K&KÇÆ/”‰˜ÚSÊå¿A›Q!ÂY ¾U#Š?('H´øì‰3†Í7O*¦JnÂAŽø‚X efUE8¤>w&¾ZeYT™†\ hc– tG'µ›è+p£…CŠ*ÂpaÆ3TOZ‰ˆ¶Áãf÷k¬-Ý”Ï3]L­¥fs›é¶åNkãŸ6‘`«55yEt«=ªJq9<K<å3g0DXåÿ9Öåóm_ êńӨpÈ&út:Ú²ådõLe‰ÉÔÒéF½8îó²ø|Ï›wóet¦±ý•|z<™Èæ¶¼Ç}eU“$õìò½týç`»]Ú¢RaCjïÕÉA T—å.ëÊqM þb‰1ç÷ÌŸN í£ &o ׌h ·»52Ë+„Þ¶ÐÚœòinð ‡ Ÿyœ÷dðB¥Fãì4—.ÙUî ù‡þU9Ä‘®!¢žµô¸¯ eû!.[Ä$ŽIO¼‡™¦ =¸¯Dq'Ðj¾Ü#ô‚.•]¶ÇÅ}‘!è„àòé€l#¸KoIC 5KÌÿ90” ŒÒôÆ“¢…ƺª<ᦣÍ2¢'&~{vp¸ð~N*¨)êéý±Ä[˱ЋÁœ¾Ö€k* žÒ¹>à`×z^Œð™_?ÿˆ¹[´ê³ÐëF wÜD…xÌ×8DPgÁÍeYÚ$¢ñÐÍ${ÄXè×ù<éýäûHE*wÙ‰ÈÚ¶œm‚2á¦-ë»Ñsîס; ñéqüª••¤»{æäÑóu, vUe»P].]å Z`á:±q^& ¦ÇÁþ‡>ü´ …³€œ‹º3”LÓ±_z4J2èáÑßX¹Ö¬uŽ3fn68ËBÌ-K zˆå!Œ÷5aðo ¨•½uó.1¡†8‚é÷X/›=âÑMÁ¡V®ç廒ZžºK½ÿÚ8^Ý÷Ñ1³ÓI„ˆš•Â(›G·îgk>­GòxÏe¼óB埔—ó½DÑ·€\u¹ÎìÉ…{0*ÈÈ8ئtiī䣅aÐ%Å||âøM({Ÿj2ûI*·@’^ÊÑy'”7èÔ.ÑgVª¹Or$~Ïi¥QgX0‘ºÊÊkôV‰ËE>î½cð¥u7¤ yX˜%÷Œµ‘ÑQLtKmÀÒ.Rk¤Å||ðJd¥j46ÌDà¿áC!]æC7¿}v½ú Dª=áJÅl ~ŒK"Ïõ±±&ûé©êê 24õøíÆ ¡­¦yû™ aŸBéípLˆôPìÂL({¼çÍDß³œøH±ÖµÞi®þh©·l8óaÜJé솷büÏö0T8–ÖS!á{ªBÄ@ç ¾Ö?>¬àçðŽž+—MÕ&zF1aÈs2¨%äÜì5úu?tY1H;lçE±ä×}r¹ÅËYñ¶œ)`‡•çF>°b…ðÅ_i~ÂäÕº…,cÜ W à"º¦5Òß[Ym3|9 W™R ¿Jý[°L ÂÓA˜È‘ΖÿKµ´Úù ðŠÜÅφs®·YTæ ÜÂüÅ*ÜäׇËáq”P£°6XýZ=‹8GPŒ‡R'Í4Bî‚λòú¹‚†­ØfH¹FtÙ†[Øór¶‚yW+´ä.èœÄ<Ü’$G=`tàÀÿfŒ†äHQ¨”·Ò½³;Fx%˜°¡½¯ö7Ì‘¯Q4]Œa°rÉwÞ‹¾ãgŽ^G²ÄÕ’"¿·H²rø!ÙIbó-ã=Zý^qer£ó9D÷½[¯N9E¤×y›fÅ#hX’«ë‘²wj¿³,Rs¿Ð… #§°8­ˆðXÜJÖv©±n°6˜ ®e˜}EúÂêÃütZšiÙëÃB¢Ä*°›³N$±ˆôÆK|7¨¼ ¾Úûþ3›Ä&¶ê²’`°ÙÚR®õ„O–o´‡x[!TGÅœîMçðìZôê‘Óâjxp4 ~n¥0¼a¡Gðs¥´“%ûiI1 ¸ç2kUÕµzm:3šy ¡•òfèbÊ㢥Š"JÄ.Þ$·Ú_Öþ±Š= WµdƒÅ÷äΨŠJOB4ž Ôá –}«G@ÉõuV G±hhmÁ#þ*ÚHCFçú¾Ô>žéÎËQƒk8—žG0^:¨MƒìáC#bdà±ê¯SbÞŽ4Z2ŸS7öƇi¥0¤êÕ±!|R:9;+¶í?†xff ×™žøKP¯ÝñëàoGcÿ>sÖ£ÒŸpr*%‹—6½ÖÁ,å5Û·6“ÖúhVDÂÙ6X¤žÞq¹Zò*:%Â+—«ï,HI”¦¤S5rÈ73 žSúXU!jLÿ:*s uÄl#|í3s’OœA9íí?èú1+›“\Y¼›Oá¯N—+Î-÷â¸ãˆ Má{ ð×” ÇÈo™ ƒÇ”b8ö÷ô˜óºbóãBhÈ“ÄdQoci¹¾r• ŒZãTuüBúÑC3h÷Á4VûáL}ßQyzˆ(V„?´}‚Û-‡˜¨ÕC@Ù(ùÝ©- —vgæ|z1«˜¢:ÝÛ—â÷1?çzBÏñáÈ®¥z;v÷å¨È »ëÛœ¨ºòAX7ãè—Иšf¾×sì ù.—S_^E B!@zÆdà>¶kËmÊK÷¾!Õ™2½RÓååPŸ*ŽÂLn‰Î[*†_Å} Jq´i ê;œU-*ÀZ BA¿üD•ôÆII®fÚT ûA‚¤õ@0‹^Ä0£s:!’\\•Óµ,ÙÈ#¤(û¤"UÄeø+©”ÎxíËÎ{û³…ô,å‡#4{ÒÈXº[:¯ž­ûè|³—Q@‚GGúë‰1Ó¶ÿ§0C@?¼ ¹7ìc[dÀ‡ÁqhR ‰sÿ|=í’~=,;–wIKKò°‹C/P“ yOý'è}T꫼¦2K¡òásñF:ØUñšÂB”y,¶“AÏ[ H|¢}φKÒöïn‚&’²ír€Fí\¨§²Í†DŽ SÞຢî«&4Ì”k"s©±=¡XíıJ²ž¡öuÃ4.²â™òU LNÃR†·Fx¹Íé*áßt` |„†‚ˆí·EÑÆ јI"$¨-CeÚ#\n<ŠÒýM½ µ\çšÚ—aIæ}•nŽwÓr´§è˜us¶½ì–"u‡I¬Ÿ²>,é%`" M—¹¸sŸ¤ìŒh&CJ:,]]G¢ k{?BkŠiü¨øÛ‡.: ,J£ŠAÉþÌÒ¢©ŽiÅ—Æïp¹\¶Æø nm»GgERϯ¨”Ȥƒ±äzñçRò–R ÒaÆõÔõÚ|´˜]0’«-`ºù©ÕÓœº;›¿-^-„¯|üEBÌÔûó?äz‡„‡G÷»scwè}X~"a p 0ÅÛƒ—wŠ±)ßá´qvªý0¬Ah’ÁÏëöÔÛÁ1¥³>æ@:ÆÝ¿v|l¹#šŒ &–{TsYë•×xæTl:1ì<»úž\׊XæÏû+vªôY.ëß­Z¶#‡ŽI–lפ†(,os0 Cãì· ­¼• WVM'ÎGå´uý¢ †'¹)¼„»ÒôJò›Ë8hŸ€³¨:òçà;$>Ô´ SOöCêTúÑU¦]„zÒBi™~© Ëmé˜â®DÇ‹Ž×+ž¿T¤¨uÍ·ßxM³AW<Õ¾«È´ì¸Ë¯ÿ™¥Eh”ñ :ºþa{%9­Xªs¯ÛcÛ(»¾Õ˜Æ«—ôZ\%â“t¢·¶¹ë÷/7žk©¹0¢bøÂá¼yd Ö_NæpäUf=ápõB\KÊ7›è9Ћœ¦Ò2^ž=²R~!¼½åžé…N˜{qª •¶§Ë2cpÿJdÉh_4·ÎGÃ]HŸ°ƒ(íÄSÓ~Œýôä]ðçzÌ‚„¦‹u…Ç™©ñ1NGœ¤Q”ŸSŽ MÂæVԗΖ¼?ÐkË„¹Ùw$Úëšú]©9tZv†œJ³vG&¯©'üàŽ=éåÑaf=oü¨½®e¡—¦æ*¬xq°u«×?ÒY­©Bè“Møçèkë .ÅwõJå‡>)a]z*a…Gî»Ö,ð†A]òÚ†=;¦t›qÉŠótß‹ºÔ·žÐ*gDlØz–¬IÏAuIî±8DÀÀ‘²¦´íµª¼¦C’Ígâ_za5÷ñX%JOT.…KGÝc‚L"+úñ<æå:gEáö5KùDYÕÅ(ñ¼¡@l’R?f€5œZ—y;R¹vJܦüqúZ²ºrÒZܯ«¢Üv¬H¥mÅGæØ8RÉÐSLŸÃ2; ¹g©6œó—YÚk}ç󨹺`ÃäUê „¨Ë[ØiG¯Éx¥î‡ÜÅ~Ž×\­ «1Д§x4-"m;DJ¨ÝH-^²£!Uì,¢ ªr'¥ ½çÙjT—tìÊß÷݈ L„¸’0ûÁ ª0¨.pÁ~Pöj&ÇÞ6;^‹J6á‚7Aöþ%ËdÓÛ «ð¿|W#Qf Äc1cAJ¶<˼}¯FÝiW`|²²Æ¹(Q³ýŽÏŸé‰ƒ?Æè±çËÐ{zùWÃ9ÕoçzN›´©}ån¦¸- $¯, .ëÖ¨WÑ-¸[E…Gt #œ—¨õ)ñbJ±Ä€øÛ{q B¤Ë{3>ÍöÆÖ祬3ÝêuíÑãdàè¢.K““0sjt5½D¾´| åï^ý@Hôv¬fb½ÇiÓûOÞí[ÏîݹUËK[Ä)/ZËGŨ ‚“SKÔë ™:´Ùáôu:aý&óŠÏÅNR¶ÿŒÆ€ ‹Šî!fY °Ö/½ÝRçfcý±Âl'ƒ0êMqÅKÍÓð yC•Í9ð—ÒñÞV% 6×ÒÛȅñ®¸„ óÞ#EØ›zëÐ*´¤„ø›•ÑdVð}>q@2xí®…ç(žà¦¥ÃR„‡ßè-\âªîåZ*rÅq»ð™©sž<½ØþÀðQ7¼¯û¾Š–%Û—|Jd¤j7ã{¤$C层ž©äünŒ£éÞe»‘n5ÃÀ˜¦„R}û";N5©mb¯6y Á¡¾ÄBÀ™„ ùãWñxÀ‹q8ѱ÷kÿ!Ú‰¥<ž$” '‚Üôž&1¯ÆÃa–ƒ|&œh-Œ¦<½Ù^V¸¥Cx|ƒüõÈvºQìGñàèÚqŸOí’ׯÀ¿ìq½z„}D*RQø÷òp’-Ç£`t~@#óÃ˹%NHY/Ã%tæHÿ·†I^§žØØàgÞÄÌ ûãÃI¡¤y¾Ù%6M½kuT¶@™…±Ã‡°¾ËE½%iG'öK0?”´ÄΕ7¶F“ R²Sqñ ¹à‚å uà•Få:·+óYOÄS¿I|¶, ö”`ôØŠªZ×Þ/Á¦¢LÌ>ݨ0Œ O–u»Š=QÓ1÷5¢HýÚuìÈ$q/ùHW-€7û«E/™æp1o=Iúôü%ö ¬ÿº–“œ¸9W žaì§I«B²UÐÑB‡;ª¦SHG¶¿—Üè–³+’H‘€.Ä`¿xÓK F›'ýʭܧ%LŸrúp{‰O#d,^ÈǽÆŠê–ÒWtÔ,mqÕ ÎmV yöû0$lKq[± küå{÷w}>걓TœûK¡†Z’ëè7âæë‡*T_”qUs§!ø!ËÜßå —ÔœZŒîÄš”íí`À®=±ÙŸZÖ8Zõ—Ûá¾ Á‰ß㜔È[{Å€4ôZŒD¶Óµ~=ÚŒ鹡4ôÂ1r ­0\ÚçíŒbU–.Éx´‡Âl†lî[0,Gæ ÅPaÝ( vÝ Åw^j‚Ã8n:Eal0õÓyðSmÔô¢´f¡<ØkvîYñ?Ò¿ò´'¦¬·¨²ÖG”w‡Ÿg§m8÷ÝÃvnÎaޝ󣗧…}8fÝKc¸Ï,d^`ºÐ¯ñ >8×ÃfJc\‹Z»€Ï·¬Þð\ûQ£+øGã’¾yIa&J_!‘‹?‹: A\9óH½Ú¡Pá8–3ÙÔ©’…ˆÌ[MÅð6ø‘InGdÜgt­{mgüœèÈo\'ΛZ5^È’äÙþ¥¤ò©#B!,û¨ÿ4T$êtæëñÔ}cáØÞÅ&ñf…†Êp§^‡Ö6|;ô¬ˆÉŒ;—RL /ù0åMh¨úØ›jý³íÿÇ}Ó¿ràþËšø“~¥ÑëÍ‹-¨4bÖP§éŸ½Æ•)ÄÅå~ Tìöé`;ðŸB>#Ÿ’§_l€G­-– ¯—˜¢¶_ÔNeÏ·êHc±LŠA >,´Üzx½>¶Ól¸È|™Š°zñ]ðSÅ»„†Ãñù,šŠÙH~ñ”Lbð¦;–ª–ÐeÒiIXŸí‡_Íð³› ô¡«X+w5M(2Ÿ¿13› îcÓ¯“hðë"‡$ ‚aEÔþ–iÃÛ@ÅVÇÝãþ{yŒÂl§ªyŸXF…ØÑÄzÃ`‚˵ÜñG JÇø²{ßbͳU«HÝ pC‚|•‡,ÂmkŠú` zt+†`ëxò`ÔIJpE§ýœÂé‹¶ W齡¹׿{$ò~í—À¤7Ë-—ñvÜqÜë T4òq"QÊÄèS{¦\F&F¡~CZÖ‰ìdNѾS}VA—3Å™ƒ„MÉ€í¨áY`êªð,Á>Íî%¥®~IBÌœ`¤ö¼ÆlëÄåç–'ùHŠ;Pt—]ß>ÅüÏÏì{>Tö¬=›ýÒŸÉmÕ}~2-~ƒWŒ˜c§ÓCg;8T°èAx%³Ùdù“¶uG[È/jÐ;v¯¤§”GÊÂ0¶CÐ}yºä¨Š3‹æ‹bn`Èk¹W‹:Ì‚ª}fÝ×O¢£i]ŠV¼,PZ5Wøß½—ù6%@¡u.x8wMWüf´%[þ9ëj‹È]î°^éy…:ðX /Tk9^OËØÐã7ZžòüôÎÜp0"ÖþÜè‰èpÐgX˜âyZsÁ6°‹טh7OV´mâ%)Ÿ}M|KGØ´®£Õ'ò+é— 'IHé Å)l0þg¿4ЦSYÅÂß³ú¨í±HöÒ÷2gòÕT–4Æ»„¹k®±ÄµØ(Ò×X¸—/·-M´v°ÊxÆÏ@]÷áþ=écäá"0Xixø‰MHÜx“/{¤žq¥óÞ}ˆË&b>iö$ÂP}RIËWÃPÊSr¢E ]êøk8‘˜œYr ÅÄLœdòê¢CôïV›a>K ì"=Ï ‹Î |³¥?ñ´œ·¢6SâÕë–ê|¼á\½Ñˆñƒ´™ Ç.®eµk/“††À¼Ž+¡§àdˆ âYNÙgxå®~Œ¥©¿1~ªßy/Yn:çÒêÔGóiUFÜk­~Ð&ý'J§r{ϰ dиËÖÚÉœâÿrÕ7=ÁMÑ#ó)øfë`"52£3Èô‚䢧®q­²y kÔçQ¾UB-sð¤ÓQp£´XÁL¡,É69 C¹ ë[0‰pJ÷ Ù£÷³ÔàÿµÚ¬ººÞžÌtKÒ¡–BÄͯÊOtÁþðÓ¸åœÐÙXçXi;úÂM͈_j÷ÁÚ¦ûBô©,}µùþï®Ñ²ÃûÂâƒíïuèã2qIß‚ýmPƒø†óeƒµÌÀ1ŽÅ±à5dZ¢4$ê2Æ¿£ÙÁ±õHá.†6ÞÔœkŒV6v™P¼dA†{ùF×°¦’–œV²µˆ›ƒúê{ XéÜ+ÙõšÌÈp5‚ëÖM÷Ñ¢…ÀkËyd]:KÚË<2ŠëÝ£xÅ ÏÝžZ;mϱR”lU&T¡Üúšó}àˆñ!aÕd×~§´:æQLü«™TÌzlŽ>á °Àmõ­†¹¸%ˆþÑXÚ©ý§oÄʸïÀ™GGˆ½ZL÷4žµ ,T¾m•¨ƒž-‹°Nâ# ¨°›åŸy9hØo&ó¥7ã.šv‚Æ3ÍdW(k š. =ùå÷¦šWàExæç 3E{Is|»ý†˜í"”À Z²=g0Ĩü0Üþi‡»R¬Fø™¿ëÛt2\®/¾=½` ½÷&°ígõ;CZNï'pF`;ºÓf 'MÝX¼œ_&wQ²*NÉðû˜-Ä!¸PK…M)˜ÊÜPð—ÎPO­_cúî"ÈÉY†¦>G%Ae k;â ¿rŽ@h½¢+Õ¹3ˆhÊUð¢É!`)ÜÆ•™’@Û™™y¹ „Z1qpZ ñħQ:­Žäâ¾Ú üV¯’B¨;@6%}þHgìÕI‘YCDidÏr~êàvÈ_1PnÅ)}!µQî…ñ<öÖž#†7_G˜}A)HÈ:HºégHZÚÈ}µ±Ï…—q_o#zª þºŒÜdú{£²bIÒ¯¾Í#‚mÅ€E3ÖY¼€§^à-(ÅŸQBÏËè[Ìçþ¤ÓÚ~`J0‘é¨Çó¦Kq °iS¾âÍÿd6`Ýð^›œ \™Ý螤o4¹Pkj•¥Æ‘ˆßXZÍ/Ë#Å/¤AígǰŸÂq·aD™êË­áCa5‘ëÆŽG¢,Ÿ!h+2„Éÿ´©eª×’+J× ¥]Ð?Š lo¥.ÃOÊÈâàLW®¹‹èÓøVR‹†|ZÕ4…J\¤¹ý Õ«Íä9¯nôán7ÚK VV>^ª‘åÙ¹>þ£TNçQÊW—üÅ#ám³ ”¹ÆþjZ¢g•ð‹Ö“'p9ÁR‡¤é>µK—ãørÍR¬ÍXp Mè{@$àÂC¼›ý‡=´âþ#¦`ù©EÀði+S¶(TU¿¢Œ«ªÓÇðKù•¹üP»AT޶×`:)ô¾­‘«X=L3‚‡n|¨oÍ•#ºÐl†À¸®O«²€=\$_<•¨±LÝ’Sîòíh ²¶ã­`i…R1ú†¥`‡©Þ¹¢•¥*Î笽*ßàSÔÀé±×6²Ç>ܺTk7:‡°FK`%Noöž"ß­à•>4ÒIÁFã?1ßçcÞ-RDöf‘ÕþayQPix!ÈÉÄD“(T“õ_`ÍÏ%;P‘×`™[ª¼Ãƒ¬"y]7cãÓF¯ú>Rv¥W^†·7) o™|똀X4ü•cúèÝW×d ¹Ç¢Ý·¥9Ì#!«æØÁdò5)äÏïŽåB½HŸ_KÐ:éç€Ø…Í•†7ƒo#±?ìYbwÄŒ N¹,$ÆÞ—Ó.ïàâe‹ ≮¾»¡1T¬ffÔ²({næÿÇ•uñϺÕXV×¼ ÅA¢Qº—HñÐ]‘œÄ[Uå«nb–ˆ÷ôœ<·e* 8È9¯Â¸shX>s{ä^7…™kooócüéšÁâöó‰è(Ì)¨(šA›Ël¼s88–¼ ˆ“ü¦<ùs t¬ö\û€þ+nKb÷%¨È$ALšBéíÐ_ü…û\T\$Žg&ù9ðÍš”;þQʼwaq›-_&Ã…¸Hã_–+ÎñIœLMF䀙ë©;Ïï¶Ë;2éåü(çÙäkG6¢D¸¹Œä62»½;r؃w±±vwRÛÚï#Ê—‚ü›T*ð•Cf”sÑZ—œ"€rôS¡jýHÏh“*פd†*. )jì¶}ÎïF‡TCŠ˜ìÙóU"]^`\ØÙª\^Ëw`ÖãEM]/Š×¨A çyqµœäßYU½­E¶ø ½ärçz!ãz=›ð¥T¼ÙÁ!Ž{'“¢6 Ÿ› Ê"ðª¿ð›¾<íç5‚«/ÏDœè²­T!x–®½î…eÍÊ—0ŸòˆEèëT‘u ñpUaAW^ê^tÙ5â yÎ’p þÁ“²é¼Ð]NeLm W,з¬økËc‹p!¨o@4@Y~“,¹`ìkD~ÄÂg´O(tÛŽ¾i¹oKí %Fá×AC:S‹¹©Ò/= úº™Ú• JËMKßþj÷!¾`îÞÅ3Ñ!bû‡r•3xæƒF¶-éÍn…àÕ§ÂøÎ¨æ}Á\i]J²àÚêîõ M7UâÙ5kq®rϸÆzÝMî+ó"npÅÈ?r »jM»ŸMzŒ¿XL…,0*,5oT&ɆòË…˜4¤F_œf5&Kó)ã^C+Þp‰Û#ýÜŠÄ@×™¢®¹:§gã‰ê±\ ¾æTʳ;†µPŽ FSz @†wI£ Œ“Ð>v­6µFâÝTˆ¡ñ]¥nëuœ/‹ LÊô¥Av ‡ªÜ«Þ±¡GäL°¡L0ØñU9ê9Èÿöiê\¤E{n593üQW ÷»Õ¯2;­ÿ\)£œ½ú¨ç8+ߘ ã ßµ5vz<%ô õÄ;½Ì™®—ž©‹HI²‘‚ á?J^¬=‡ïÛ+ú–à1®4ë‘"NF ¥Ý÷äL¬bláû4M› +4CÂÝvôÜÄP^¤>WöîìÁ¡Ï\åölÊ©Ý2&‚¬Ñ6þkç$˾c? •#ûÝéZÑO~ÞOi*ꃳç‰Yÿ»Ì꺻o úšO7]s¾ýìEj¦æq},ýz0JB)nêVMë4M6šµw¼ÎgׇÂaˆÂêPøP‡DüÕ€øŠþê`J· sfùa;*©CØÜ&ã9ÐD»"ź霎º´d­½âïÞÞñò´„£Š= Wní4C‹ ‰(ý`+¨7é6`˜BŽ&ºêÔ6ÖH0˜¬ðJpêþ÷ãb@\×]§ÒwÕDÍšÓ9TߪMeáרpØË´Uš:Ç9ù%ƒn'í¹Ý½0vÞ²éàAKœ%‰µ®D¥'ˆ–®nEúÌž!‚~¤ÒèDnBw[æ0©Ð†Æ¼Õ›3¨Ï¨™[GóÀ†aAccœâ3(¬4ÝÀàQ×áíW{Wox„–cea"O¶o›°c~í¨ˆ‰Kª5vcúØ G¿ï¦]ªÅ¿Ú:^·…¹JGh§|Èîâ¯ÖG˜a޲%Ñ;ž®>°­&&s¨ª!SC…zŸ©Û9LÑØ¨¡äåÜe…ɦZêPS}Ì€¿J4ŠÓÃÿÕå©Iqkgy˜òǤ䟱ЄŠZ)Y`+4JÞ¥ŸS_-·6cd5¥ûÞ½%Ôaî»ì0õaèF¡ »2Öl6ØZÀ6Rì¿ã:ûp”wmBî‘ô¿ÿ³~jÒ–¡ºò~¿aö¦ãòÒæ!:ˆÃ¯wçŸn@< ?Gþ¶ šS$u¶¦Õå—r:TC~âBKoWHNÚ5ngT÷©±±e~¬­·â;X`"iÊQ©MD`q»͉;"…G|Á¾dx™f¤åÑ5>²ŠÿhöîÀA%Š.ô¹©iž\/ÞâÊj¶ÕÐÕsÊ8}äV1ZÏZ?y%ßý¼jóñ>gvû¦uä’ìö"×g2<–¹rÅßzÐ9iF l•ãEƒ´%ߟ¢ü1Óö:­ÌÄÏ޳ã¹ÕG—Ò+ojÆâ«þy† ø„Î…ñä©ÕzÚòÎþhæˆ9ÿ1©øÍ'&³ œòJ–Õn$ÿƒs÷MY›PÀÊl 3µê™Üj_Pçàªs*Í*’È0ê?Oy–‘ÀóA3> Ò±Nz¦iv½€2‚ôL þ\Ú#§­v4ì+õ3¥/pŽNÒýp+AÑ¡ûÿ`‡ò›ßA;W?ªî‰Ã0 %’¾C޽3*.ArHh‚“ÝHç‹}\T~ycbøÁ/úÝ¢ÛÒŠ}3——]ÙÛ‘wf¿c°ß0®i%ŽÂÆtŠíÖAÍrׇçFJIpÛ-O7¡ét¬˜»ÝÍÐ!vÝk°Ä³Ž2Beš—áêz ö¨Ú½· ÕP}s.4iÅÁ«ÓÛù×DÕ]-sw¤5of‘Q­7Ìe :5ûý¸bï4 b¦r~w’U®ñG¬iD“&Oa./Qnðˆ°ƒÅdZ+!Ž[e>6Ïü’‰àóïT1æä¼ €äo°èÔÙsulôw±‹“Úø€î~7ûŠ~a VŽÉôÃС\ƒÄžmê¦/ÿåd´ã>bû^ÿn+,æ9Lû‰QõÓGÏ¡e‚Rº»Y†ë~@ÖB˜mÈÓUç.”N¡ ¦B¬¥4ô¸s»”ÀG¶ä »¨ç)#šu•‡‘.ò&>¥““+̨@š˜ðpƒ._æBws¾  ÏèW|6yÍ*~¢\xk×^+Í«Jnµv1aÇJ#R¤ÿSÊjHì‚åÚ~Õbé@ký!áhûíûc÷5ú‰}Q B‚V¯Qù}Šç2©_ÞpªRu ‰Áz@wm¢%‘Íþé_V7l‚N¼–ÔŠÿÔÎÔ'>\!H:ÿíij?µ>®í\±Ìw‚Ü"ÕÄŒ}€ƒì¶|Ö°Î@oNÙ«~ðV§o­æQø™›´ŽYòŒ içPQìß7Â'û¼R£K^¾ cŒŒ¬È;/IY©ß)o¯Ï¬PE*]Ä&å2Î*£xý{*ôÑó”½R`,ºÕ%–Ç.Hô:?É|_÷u© VŒ9}ï-D´»«_ WXoöRȶo»¨eËÝ;xʉ-͈D¯H ôqÅoŒ û‚RTNÄ ¨7&ósf5`gÏfkËø»¹zö’òB9vl0þï5$êe~š–f17PÂ=rk°_à¡Iž _‹[4Üáâaê „#ÛáTÛ†² R%—¯xˆ¤] ®$òøWavI(4CX'.ò?ÀÐNÎ.¨4N«µ¹;$Ç·¼zÛ§^M4Ü55—¼Y ŸþÞº _»vÿxÆ3èç¶#HÛq„åsœ¾Gåÿäƒuì)§Š1ÜÓ0êôVõ‡ÙJ}:ò½ƒ¨Íœz~½Ú­p“ŽoÓãyG”…ÉzàäǽˆI²ïç\j!=ÈÖ×1Ù\î]}nÑâûGäpZ†õV5xM~;€‘ã¬á†èC}l+Oy‰E b— ÿc—›61zÞU¢³mOz<”ôw2í±fÃk÷™´ÛWT׿B `<Ö@¦¿ìçèÍA7íÑ´}AÖÂ_¢'~@*,Gö¦Üç;½ÙÔ‰†$›mÐVÑa\)\bTºA†¤áµ½¥leæÇܸV°*šÄj}Ø"(½;˜ëõzN9åzøØ­WÛcHfíÈòHr”´¥~!ÀHÅœ{p´;¢–]¶Ç$˜!ì+êø®¦¿øÅK[b–HÒ Å½€ŽÒbR‚ȤQ¶´þú!u„>(†pü˜‰ö·L`1¸ä—3U7(«JN騬˾ _Ë:kŠ$}š¿nÚžóÓÿUH™ŒgÚßÐ 4”z®ñ:…²å¾ybEwÚep⬠*ÿ;¹¹ P[¢Ö’/_P»ºá5\oÿ4mwR³&àŽˆ"*G_…Ðwê‹^æ"î-±aç§ÞÅùP ¶¬ý&ŸKTsm›FˆXùúàÄ•ôûsxˆ¤jâ<€²*!’ˆI¶Œ‰ðrœÂ|ˆû…_µ<­k ¥{Ÿã šOþ¹’>”'·I™k;¿|);‚Iv“:Ú m‘z+´d®È µÚ0¡¿Ÿ^Íl œÊ˜K(~ñ<‹ß›þ€áœ¬6 óäÑà—ðMÞr…¶ÕbG3ÿÓ—=®¦U÷F„àµuÎSÐߺ—ÎMS2ªXí»+”•-ž™Û[’áÐÖ™ÆÄ©­ï øp~Ò›ÚÀjQáºQ•N\“ÉôÚž :O:fñu7D¾Cÿ6…}ZªÕìæ¬%ÎF>GÇwÍUEZÓ° @ˆQ¶>$Duèo1ÀMîÁÿ \.Ÿ…ÅmÇ»WÏzŽUÅ+ »™?FŸ’˜º^þѤ¥Å¹ˆ$ë ENü‘c »#¶<˜>Iq D!–µ‰•N =²(ôPBÈõ¦ÇÌ=â#–†ÀwGýúјöà÷ò£ukVe”ú¨Qµ4w®Ÿú±!—#¬Ù©w~ 'Ûûs „B*%²,@/P·1%׈»˜%‘±)*- HìÉ‹àqLŒC§ÿ¾åÚŠŒ]1Ea´sÔ¡QР‚8¸•Oc›”ßÃÉmEáÊ­½÷m(D|I CqþzlÒöÂɩȃդÞg»¥Ó$*\Qðáà“yäÕž×3½¢ 4½…úNBK#õóÐ]Fºæ²º‹™—1ê%–ÆÜ½ ÿ &<ùŸªö¬¨lì€Kv„[×m) ¯å õ4íÄ5¸({}«jxºRhxV}ë4«u. að‚JÙ[d©P+N>y Kt¦¥Fà›FÇ's@¡ñîÐS5ßçséµ®iñr||_F×ɶ¶ZS g½÷’¸ü.Ï%‘ôRЧvÎfíùÉ 2|ØUÕþÔqÓì¾ÈW†ÙƬŸjRÖ'XàNODéÒLTüQP­Uã™ýO^ÏÒcÑ|Y<]Iñÿ錵NUûÌmd„iP>ã÷ínå6ò=3§‘ÿÜRøÛªìY1NW=n ‹â"{7?ÏþÄt‚Xz‘Ê‘¼Ñ¶DÆîñŽÇìö]S‹Ÿ‘ê»Ãù§ŒsGäºÄÅ”—÷9"ò£~Òvd{ý„}»Giž+k5ößUo ØiÔË£í$û3xfÖg¯"ËôZÚwuÓäŒø¬òÉðú.@+BÇ@O/ŽEþ£ƒË„iÏà&Ùõ?¾òY¾S@ÛaÄÕà¶¹F»ÅaíBö¦À>Ñ“"€³#i>¢§ÒêP®KЦyáQViÞžu°ôÏè1ùúZ²ÊtC–öý`Æ æ‡vo'Ä7B¹âÓíø71òáií:á:PéÒÄaßÁ…#·u7pŽ!£¨F¶ðç}Ù¤-p¹0a–;[ýeº“óÙ³ü›€›¿â déæDÝ;0Xªó+³qÏ Ñ½£cU&Êj5TGQgó-d@o·ð‰`‘²ò÷ ô röÃç ÊX ¢àæÑ~Ü+Ó¼™DDÅã-'Ž_8ìoèúœƒq8èt v<±ýÝíS¿ažï§H/—Åu* pàä\Ä1‰ >Yr…¦O¨ìÅŠ?Œ³\¨¶@oÖð¤ã‹_zS¯hyú¿!Nø ©½-’ˆZSW¡p™Ãß°u£*!Ø&G¿9æxN6L"¶€0¨`á0Ð8“60@2\hsV_àzÓ ¼^/uܚŴ{@”W’’FP‰ÁÈò”ï¬5Ù²ÁÚ–‹ÓYVE¹–ª´­f‡© Û^];»÷T*üÄZ¸·` &KŸF¬yµŽ ÐHd´ûÁ‹ ñú†¨§T-Z¥èµ{ýüGºD0Ó ß®T\á ØŠÒm±c@äù,¹=!™¾+ ØQ(ÒÌ4 %HA`I¬`éUŸ)u®‚F‘rr-jðÆ|9䣧ôê å;Xkeœåyi{Ê@ÃVïßTxF’ÛI ucy9fΣ¨:Éç2fW»Ÿô2UŠDÀדH¨‘" §•)»ã}ü•Vߥ(P.´|eVÆYoç)ÿÆq®ïLäf8Æ×FZÈ5;FŒcU™8*n0Cø½ÅqéHÙÂiÜŽ„B”2úÅðZ%R§ RÚUr­C!»ì‚zé§lë)‡å÷,œ­ª“ V•–H«4ðäHT#÷ðè劸’<_¹MÑéØÓß=Ý$]Iaiè¾QÅ7¶»#÷•â³àfx%Ñì‹´a@ªCçh1‚‘òÜ¥\\ŽiÄÖ#F¤é$’Pµ^Ö©Üx&„;/0\¼qDS?»iÖùغ$_$¯ß~v¸ç°h\ÌhlÞêaö†mÙ/ÿwΖ²ÞÊ-˜öãú~œÓN4YæØ7 ¬ò׎·Æ_p-t›¶ûðLVåñlŽØC)r‹èÍu¿K=+…ÎGeQýéxq²³ od´Ñn{Ò°Ù÷Ìa·'S³÷.( ôOWMñ‡þ@S¼w‡+ƒS¸£xë?=QÝC±^$ر•²`{½|¶ª«9~l³H²Ðà äÐ/èª íÝ5tçøœ†Kø®ˆáÒ7¼ì³Ï>÷ö©ù Ú€æÝløuß©´ƒž4üBp%°ÐIð(Tºƒôàn%¤î oÄHWß6ãð$FËrû(xŒËŸâô6ˆ®K‰¹¬kcº0 ”Æ›ƒ·œ¥hFB‡Õ ~þÉ®0D{|óQ#”“6~߬þ8zž£ª¥dñìÙZܪ`F¦n£Bñe͈`÷ð‘Æ:óicn Ù¯d°ñuNªðþ'wÓ%’.*Ÿªó©b¾+A! <׋u“-@XÖj3Æ2¿4—YO"qͳòŸÂPq .«Š¥–5ë(ñ¦oKúrTÈZc2³±¶rPÓÚ²D-éÁìÓɆ£L®eaäœ96 —oÝÕÖ±Þ]`.Ãb‹Ñ›Ô °TkõØ(8góÜÞãúm"® cýÏIÑ#X²« z ¬M÷¡¦_ð"Â2D/ª›bÊfË£–hû†¥ßïhŽŒŠ÷#W€WG䟲pJ¡Ÿ&#´uëþèšOÇ(p¢y 8+ËÎ~©×Ïr`p¦ªüÇ‚vnøWïU§Â-4.á$]ÞâÃÆáQ€çGKˆÞcmI· ¤>ù`èfìº(qܶ䋬;|Ó°gO¯qðHï;¯náIé£Ñ5ô4˜fçD¥/¶—ˆ)ULsƒ‡C<ŸÛù ¦ŒGOIwÙZ©KŒ_âçÌãƽGë½o’‘ &ú}°õPG}-Sr´¯IÍyWü3¼·Ö@ƒ-ét^;ÒçÆ ü¢G'jÚ¤e¼„Ènàxs¬ÜÔf|õ(”¼°v?v.h˜_‘nô“|)^HÖo”0æCò óY£’ F‘{ ¡£?‹Ì’mOY.¼žÇdbËçÊÙ,ˆ­ÈPÜÊ<ûO*]ÍWå*”a£”;yW!–}[öÅ[ÞX¢3ìbCØú$´›ó/†ÞšzÿyÈlòøµú.c8¼ìõ’!%HG—ښT´K*{°½]Bºº7L¡ñÊ6Ë„3íµŸÕhÎÍý%fqîúmÏwKÒÀX¢÷×5^%_`/ù·oã ‡òœW5ÿô•-5lTl¸ùhïÒõ«‚åŒAöD‰e7·!’mà ŸÏ;KC‘i‘Òù¶ºXƒ7%š37†KI„¢TžjyOEõiñÔbuø(&Õ™nô: Ä–ûÏ¢rýå²qÐâ+Ð¥ç[Q¾þÒŽk§ñÏÅnd<Ôn^B]‘c¸¯KDipxD§:?Ж^ PÊ-¿|§5 pz#€õ;:¯—ì^«»õöÛöMmÌìÏ‚Þ¯Ó¾Û v¸ ldbûU½´÷Ç8›O£Faùh{z»dKAQDõðq¥G6ÒAÉD»õESץü Ôtä¦qäž ¬s*R|O÷ЙÌ/sšÌôN°©HžÂ ¼kVgÙ™Io²·•¼&Ê æWÞ™ñ¬ºƒñ„”@fNŠ1Ö?~Nqù’É””*,C(t”´é§Èi0óuTõÆÙlÁºèÆàRxü}ᆘÀŠY €:óyö)BÈ溩Z!BÇ©j]Çž¶)âáÑ¡7”L;ŽUa#XÏEÖÐòòU»S¡+W¤F‹„ùJ¨ÓõOV1ÇM¡ ö¨\·z€W+^í_†…‹Þk ±+"_ÛŽ?H’|Øü2±³ÀÐHZ•üAŽy¨G¹„-¯ƒu&å·:l6d˜Nqõ”£;òuF¨s¬>¥vNèɮç–!¸m^-•¼u C¨ŠP¾ßÁ¾úÃ«Ïø1¿Éî±; |Ø¿0tJ?Y '²¶©?¼ª{ç=ÒœfiÉx’›;šST½|{š¥â Hì5ôÆÐw’óVÙ¾8|HÕ÷C ÃNâßB <Ý cébPÔ÷Ë`M9 µ˜å"Ò7lTñf M b¼²Ms”iG¬M•Ço瓹Ð/…ÉDäÛÙ¶}8ð,¨Òâ¹6ӈ갆áY­yêU·nuaÚÑŵq.)–PZg@ªÉÆ×m>J%¤‰°uä$ãAê;,//‡·Û°UØ~ŒcëqJb¤Gþ¨ïêÖ_š«MKä׎‹ûbXŽŽU…u@ÉáD´ÆÝ\ŸÊæùHA/½àµwºÝ;mi žX›T½Pëi›Û.1NäÍ;#Û6[‰…9G‚ÞöbÃÿçÊ.÷:ÓÛ5FêÜltF%cW¶˜Äð&¦´b©Ì÷¾‘× O¯•!_L5Á˜4äãS”âZ'â^ úmÍÝ1þ¦#‰(O^¸‘á@ÍbøŠ >ÕÌŽ™öŸrýuœì%íJ[)±ØÓ¾Ç+l×v’brœEÆçÒºþ2Ö7Kú˜Lá–W¢~¿×úŒÑ~HˆÇò<<¥Ùêwö#d%PF“='‹·Ñ²!0ÜÊ^-c×è/ë6-Ï(šõ’­cÑEJXÞA9ä‰oW—uqÄù¢aغÁ“”t0Z}­Veã{ŽÌ-„è8@K{Ñ•/ïëô@ÿÚŒ‹Á;z¸úú*Ehúîá³,j>jàŠ?²’1y_ž¯F¯±&­ üyidíHšgSÖäÃO 9¬@œ'rç4ÒùÈiåêH‹»fÆ •9{²nNåû-ýÆ,Rj³}8³0Žô­ˆ6}v/j„ìªIfª±~]¢·Ãjdªån‚¯gòç†SzØ–¸:$¦ËÖ¬¿(r™/V<ݶ€ðÕ"Ê."©Éy“ çÞǽ͈úF¶±\±AÅ^¦PšÈˆ(#Õ_sÍ ú¡b谤ѫ0œ£ÏûNÍîDá;læ{Il*Ë[÷§¼[à¬O›ýR*Â;#ùU\r¸#ÚŠ“'Ê-Û´õT…!WOï-÷G”Ô§éùêÄp§wÒ(5>¢ü20Wb€6Ý*²_šV\WÏÏbÃc3§ [©{ëÐö%¥}æ/ºÊ H¥Ò©ÓÂcj·G8ì½6_u&Z ‘ ÇÍ—xO~6¹»¨ˆo¿µïw iÁ^-é·Ñ¦Ø{uÉS)’ jÞñlÅá¯àÖMŸ7Qg‚­ÈÞKÐ&Øøj>IÏr¸ýèb@á¬"cVgŒXurRKMö ÎPó™Ù¤ôr¬K¡x@tΖ0Gj³¿ÙI<¼åS7”¤jÿŽ¿el±!­ Ѱ0^ëckQ’€L²!Ø`»ÌrTožï5Kx85Àà{Ùé«é²Î R^ÇO[Ö6Dùˆ¨oF˜FRÄÞ§Ìq`†x†ßè†KâZÌ;k€‡1v´Ýï1^ù®ñr àmöU%É)üg!*h‹2èq»5ÏKÅoh*zÑ2ÒhmØ©²'»DR†¼¬ÞEbJs…‡ëü{ÿ¨?ñööóÍA‚чvƒaœÃ$°Ñ¯:ç:WîÙƒQ’Þæ®:û0ZüY¦zÒÖ¼§Äò•¾ôi#榕†5ðJl›¶k9ŽlcÀu»WÆé8"æ¯þÓÖëœÞ‰£¡…Z¼´âÐÒ¯{qŠ’{øže‰À EaôMŽ"ÿ¶ñ¼mn­ø·øÈ_Sø5`«2uçmSÖá»”´×“_¶<+÷ªP¹t’ ç•ï%"}‘¶ôZí²'¹3ù÷Z×êND³lSy5¿auÊ7õòõo#PöwŽ£î€â:û¼7²ÌYÑǵuŠÛ™NŠ€mc5pÚÌŽg{¸;^ê7ËÈ »ñ1}×ÉT¥¯üç uî;ôüø\£;‡§Ó$™áêê¯OÈÊ"i¦ó”·_ Æ¥VŸ+ãê¸×{ôOt×*êºñÃy¶ Ò¥hSÃù#TÎ8± Tì¥(âvꥊz§œx)ÙI¶ûpã<íDé §"Jðá2‰±4žøÊ¦ëö Ÿ©r®)»¶^—â3CI2¬zò¬+’I[F”%·Y;±¤¢¾X§ù¤ß‚‚Cס)xWXæx˜ Š«q]tAÌ:Ešd~õ1¿Eý¤\Öå©ìTbdF€Èü÷Ž;z—ÛÍ ðGrëcÅ$ä¿ÓîgüÌ' :£ÖÇV”^{ŸbÜ‚5»Íü­ %lÞ\.fjÁ>14Œ~ž¼}LVÌ>¡xÎÞ1B2Húsì…óÑÑAoòÄ·4ŠgŽl»Ë¡–[ žj«PiÛ õEZ³æjb$“ƒ[*ßÌ>‘ºni7)‡‰òNf€ïSÍê‹ÎHþ¦]ÚL<Ý‹7 ˜O7v žÁzY!:júÜ„øˆ´ wj¹Ü¤²t¢ö]2P†37v›”8ÂYŸ˜3z&óêgÌç8Xˆ;v|GÏ£|OÅÌñv¢Ãöô)±ðWFW÷%ê̼"Á²Y[×$Ù™ ÷ÇèTGˆHÝ\çÿß>édö&£ñ1y_%DoÁ„Ÿ«‹Qzã®Æ(ûÀ%&âûÍü¯V ô¨˜Îo›¥ûÆO=ŒWIÌÂó¸óÛd9DÉøÎÿl›S_~ÅËv/ˆÜ÷€âUXCª±¯ÊÉö%ë#zJ²P‹mÉåI÷ŸÝ\±xë¬e¹c¥.EÚI ¼õLg½¾Úv­CµÌ”{EBÃBZ¢6ƒ~4ØÈú3 xÎN"¥+ŽêçÄ…K%î¢|Üà.Ìw¤Æûþ§”¹[«²ÝK{qÉÝ"Lnÿƒ§£ÜI,•Þo¶ë—”ÃÕȳáMµÔ뙀vT] á²Ïï"é›2U€ÿ¿\_‹ŸÈ£““÷¦Uàó:½ûhY"™¯âæt Wλ>BÆÄ…Õ­šJ îCd3àÝv}Lÿ¬|áDß‚»íC~)ÓúµI¥:Ÿ¡Â?Ú‹Š™¯ñðØXóê=~i3›7$‡Mq¶¼çHrΔˆf¾/ …ôBInßãê™W‘†Ø8~çW3ÃLÔw^4™ðñSÐèì#°^LÛjÙ…[í=Å%©™P`UÊÑaË%pŠ1yºíç ¬ ¯Pƒ§u)¢%®>!>õîÇ&›¹ˆÞU”¢® øÏè˜yY„Ñv´zÖãÛK4òš6ŸÂê¢Ö‘ùî…—ùÎ oÝH‡ibÞàª0Ä&¡ÊêüWÿ–îÿ!éþÒ¹ÈÍ¥ÑJ—^ Ýè­zP…E`K €Ýpꫦô'‡&ðBˆZ±Z×buÇÉÏ{xb8#€<‘rbý A¹)ñÎ(DΊk†EUBæíм'– ŽÅÂ.©$!Ô84`.w"t-7-½ŸìTû÷ü¾Âǡʃàml­ñÁbÃEÍ8oïäØPÿUš_åI&ʰt¿ ¦,Œz,ÿäÙ–…T§š„ KßC#ˆiãI0± ´!W¯­+ø”º¥yÕ á.êHñl|ãó奢ÎÐ'Hʆâf3§u¤"Ïœ"S‘.p3®•‘’ƒÔí”\‹nŒ‘p„´Ðo‡äjÙÃWߨéMÙ q`[ö€qww<›ßŸtÞaÍì鸗ÂÁÿ(<Ý¡S>áñÈÚŽ ÌëS´Èp͇½Ä¡ÒélÔÚòî–K¼M-_’jèêÖy™ûru'9Ìï,ZÈZŠÓ”Fk4©Më» —k‡¢•Ú¡¬^ŬMÙU¤ÉÊ{ò¯Œ¶‰Ö¤‚Õ`æT‡ì¶õäSÑÆËØëy¹ÝMj²|‰î{€"âa²¡\7­§¹•R°ÊQHèö•žåai&]ê8]Z®ö¢†Iž¾$5ã0iCwìç%¿<ñÎÍ)#a÷ÂÐ_¥7?ÐGÄå<r¶ûLÎÍsˆyÐq:’‡*¹ü¡¥öý£Ñ$ý¶î>JŽê"ñÍwËò~³TólÈ ›±ôÐu°F ª=´~¦,Tåè³_a£ÚÇúòØÜÖø ,=Y´4Ï´üW¸ëÑþ¾>:û|™ìÔ±WÔ§ý2Ø«2êYž;_—«bë˜Åæ@Z0Z»·Ù–0•¦<üÜ…}õvVbH`/Æ‘øƒ¤³ˆô%¡"£õ¤·þ‚ylQ–7¡ûìòvÆ£—‚«jŒ•è›ó$OØ À)Ù¸KSíŠ6_2yÔÌü¿ð</sy2†@Å›:"ߟëÙz°ÞZœø§£ ×´U6HÑ¡)kÅœurh;óZ‰\¦JÔJ›¬íþ[c‹Oú›]¼õ,ûÆØ;“•›Gg ¼:l 9ðÛ”)®¶n(+˜B¡K¡\ÌÆ.°Ùl óÜO4Z¨'”–»÷êïžÅ°Ä=‘úeÊŠ³x­ÇÊ« ÇGãž3óvd'ý¾<Àÿ6ó€¥mcÞƒ…_ëZÑjP0}0üüPž͇kª½jM¨ýÄd«¾Þ!¨§©jêZ®wó§®_Sæê°‹_XÉ.àç9&âf ²µ’ÃOúœ§Ë¢­>]áOíѱf¶ï‚,Ò%NµïJ3Íü¦`êK8aàéÊì gÕ»$‰ ‡YÅ\njøÚÉÈg*Ñ×<ºä„ÔØ òK"p;Ùtï™–‹tÃÙù¢¸G:Óð(EÀ»uö©– ¯±CÕ„$/ø&a74Å6U¸n-—)ØØ¾oº2ZcL¥>GA÷:Š–^\Hµ‘hü"Cô»ÐºS„=€ª%B¹ ¦'¹¿,ñ;Š‹ •¿…ܳב?ë`ÏϧNÔ]ý¢[TŒ<ËÆ¾v¥!j«1ðÊKÄéSRK¤!|‡ÝQ)—ˆF°§5–HZpªBà‘»ôÂD¿E”t’èµ:>óDB"}V*#å5§ük I^®wyй½ã‘áàfA59LÄÃé š! A»IdÊN(ÐHáîô¶ögî%øEDÜjI.poé`øuäð­½½B¡mID,“/þ—@ÞçíÞZàõ{°,׎\©šëÈ„/r×Ògàî$غ”fÑm˜w}‹’êÕ]cxNJòJS²Ìw*Ò…š&ÑQç_ñ0R¢t¬@È”=‰Âî$"ª 4,¨“¬¸}#³=ƒ=S†ŽçuF2] 5­Úôë¬0}ǺD½i5銔ԴÎ-×0šìÂÄl)EŽÉø¡ RnÑ_Q YCœôìqG‘{eÈKzÁRk‰É|÷_öÑïXõxvü3_»Ìõ$wãNÛIWˆœ&hü'mf?ÌÌëßþü'&¦å5¶§;„l%Þéy1€ÿÞGË *žrL·¾¸Ï™ÿÆ9Àá3f>©Å3–ó’>¡Wô28^íêûETµäk¼°ãvzˆ\Ë¿æ7ª¾Ü¹?Ûõ«á×Hb¹MPòšfWˆVè&5*X†­üHhïv•ÂÐ 9¸x¥†ÓÅŽÜÈÆÞ£®ÙlH2ÞØ€—YR}˜•½‹Ìpk¤0¸Es8ò¾VV´¼!Á,*‡òÿ?•JÕ¾j¾ÔRÚ_¿p^E1ÉÁ9ò?^Å }K‰gޝ _p[=å)\짇€hà”_½[ }Sª¤‡ h?çëÚ•„zÍ4H»ÿàœÌf¿ 'í1.=â¶-ÀõN|!{n`ò²'ÁLçTöfp³‘ ’¼}c˜¸´Zßíåõ]wÃC‰š­DÇåÓ¶æÒȽiRà ªã¡’‚8R×Tâ=n‘7ï3 /ó}Ì „ÕKDúf52z~;ʈÜÈÐ'<à P쓪"’°8~, ·ƒ3ÛzBçJ|cý¦öÞmÛóý1«)àþ=Òð¤ü»LÑ,yh¿¨WϘÊÎQ‹+úö†¤-Œƒ#ߦä8·-*Íf ƒéeÅÀ$ MŇˆô ~gŠq(ID/¸ŠÀcXx_Ô…Ø‚/?qm¦X5 ÕûÃÎ…<¤dT†L~xèO$}:Š+JþkdqH³¥Òì“î]p.ñ“¸$ò334é–WîÑ¢¼š´ŠV¸U)ˆ¬p]+(ÎY†Õ¯!8íï²òC3MmNŽÇù/B V¨ŽÀmg‰Ÿ,ø\¯ ëƒñ÷Xõ„––°ä2–[2ð/«Ý } ¹zs<•ïq*E± )wñ3F ¨ Ê&l§H×<á$É&‹àYKΫ^ª…MC½Vàsžº[]`²¨Q⎛ŧ+Ë1 ·R»#̃?0ì¼ch ÒrD•N*ê§ï@[L–>¡M.ð)šû¥¸zÅ`-HHO+¶ÒHvúº¡Y3¢L“æi\tcëôŸ!›s]dBiQQK)þµ‘êt8#×m,Þ™ÙŸOål僥ó´(•èÌeA5èl³¸žŒñn)o?øÿ ÿ¼6—îþµN¥D°«Ù·7ÑD´l¡«âX?¬ æýDµ¡KWÈä>h‡d5 £úæÒûO礌©t4¬— Ø+ŽÌW+.¼ Ìw©)oAoÂ¥ZR[ ÆS€ÊX/ÁVÔêDÀ!=á\Dws ø„)ÐZ=ßñÕJWE¥tD°gî×ÀœŸÏÛ§,¶›ã”¦ŠüOèDškÉbe/‡X×€ XNÞ«ù^±ù L º~CD}"A”ŽÏÄ´$„i²l3šÏ{=¿¤ºl½ò;°À9ó,¤ á]&æíÛPŽW^ >àÛš-ïL—Þ™De°ã159¯Xd&èùS× „/ðâ¨ÚA¸Ò¸ßq^“º’õèÿGÒ$cŽþprÎ.ÍϰÍný÷ÐÍÒBüîÇòi¢âh…úìÈð´Ý¶B:í»Œk Xtò¹@~D[+Uż‹ð‘¹fÖ‹øùpïÑœ¥ànÜ[a*¦Ù”BýË’Æâcfm½WqóÝŸ^?üUEšc8d°,6Ï ´Œ~T˜%0L ¨Ì Ö=#hÁ<Êë*Ê5ou¼˜.2·‘ÃDfväþkã=øm仳s^½ßñ±¼Ü†¯M:Ë41uŒÖ¤å¦MÍ ýþËbˆn~C³@Ñõ‰ ±Â0ƒÎ!ž Ya¯Å£¬§ˆS/fÈ=²húE•K8 ï®HÆ‹t9V—ÆíÖ‡¹Ÿ ^»Bv½º¯±WxøCtû÷Þ†Øó¯Í^€­å²¾›¨LüpB¦clûŠÛ)Î[r¬êš6¡rV>ÀóLm<#é#fŠžO“½&Š2¾sÔµOjp˜¿é0¬bˆöA˜ÿü´Rau‰ãÄ Y–Í×ûÝ"é_Í_­ßÕY„àÙé ¨cXÇoñűÛúT×-»›F:“7¹¢¸ƒå‹ðžY8­j¬¥?œöVÓsÉ¡dRËf#vjfÓŸG,È¿°9kø‚z ÎàïqÍç ôÌïâþ9¶E‘i<É  ÷óàˆLU 7­ß¯ªí±LÒú–Ù]Îc3̦Km´òí(ÈÖTŽ,ãG¨ú‰*ÁŸ¨îhäŒGÿ×X5°R~ŠÚ…#Ùj¶,2( sÀF(ˆ÷Zy²Žq’ ª^Gðdü¥?ç3|B]%ãSQ‰Ì5=nRfxŒX2¢_üH|6ÜÍU%ŒJrã{‹;^È>‰x2( J”O+úl´›¸vuIgÐu.* IðÈw.“Æì`‰Db­l0?Z¸»(Æ€•FgÓÌJ‚S›-,ÒÇ·ÿ¿f¾‘.ƒa ìÖ…ÎÿöM½¢5,õ/ïXµéž+{)ÙÏ¥^8Iu¶½Ê^9D¦0p²ò@¢s œT6L×–`Ùá+¬| Ùn@küg{¢ý‘qÇL‰µáΫùnã±ë[„ô9 'kàü ×Œ(põMR ñ„‰€¼2<BõÒbáîØ³¯¿Nß ÏáÞGøç© †œ¹ÏŒœ¿ÜŠ­d\Ž-¨HcGÉ9ÖäÇÕ2ìe´Ô‹°ÐƒJÅlsMó'®&xªCÒ%möö4 C\Û§ê^â¢ÍGiã9™"~¾á}BeZF¸9BÛ9—‰¨9¶*3³Ô»²ŸÜÇ"Â*å4ï(<7}“´æX~¬½OPAÀT§’4Ðî›áÕøN.48Snf>OÇ ?Ö«Úƒµ-&Š!Ðq3óÓI Dý-èM—èß6çïOÀï\­NQÍɱd½ _qd!Ú1A‘.’:)Q¤÷8‚ÌéùÏûwLô?,)ÿþ)ût áŒãYºZK, XYÈ´ðÂ13ÄKmeøu¾ø6öM˜åÏ'«1e # åI…Þ`·›ˆ†¢Û·£cÑs3ÑøL¢Ci'›PÚÂWžÆüêß×Wê#âÿÜhhe&wлzÀHŽíížô˜ÅÜ1.ÁÙMY§°âR•†[^ÆþÕÍ dâÀ nOGÎlr~æ»RB>€ÚîÕl=˽W“eÊ0©éW{ë®ämSS¥CÈ_>Ä'B)Ó ?Úƒ45ùš{ÒKž7À0åF¼‰¨„‘yo|gªÕ´TË@šæÍ§]Ø}ÛÌ¿2âïd‰.ƒíª·þHBê@ÉܱxråõJPù_®05ëk{ 5; >‘óÊdW¹žj> yô TÕ> Ó QZug­oÜw¹ áÕdÿ@Gß­æ’0´>Œ d'õ‘éšd€IÌn}`¼xŒ4ø0>×;XSÛÇí/N\'•«>öIhZÙô÷Ǥۙk.ϧ8p~2Ìš…t?e:î DÄ5è•6¡±¯²ä0J¸6gÞðŸX‹ ŒAf¤V2‰A/8Kø­ƒ§)±=èd•ˆ«Ü©3Ô¥ü–”ØSâÐË_÷èCòüxÕ£å†OÜ4ö_bßÁ×ø¯ àHäí²X£ÎÇøéÇQ½q¢M´ J!. ~ÏIbêñm¥1 Ä × Mî‚ëÏ*jÍûÑB§sÏE¤ê®]FóF<ó ™z×n^4ûæ=/ɹZ^5iBäIb÷.‘k֌цèeYOmr잃)`a®2 ¨}ì¨Q#й—_@ÕªÙ¯ÌIÄ¢”_dP2b °ß+NVɺ/š­d êQ¶nãÉ„‰Kâ™%»…Z;/¢¦à,›Ò8OGãÓ`x¶äáÞRþ’³JTÿ4JEzkŸlüÍk—möî"ã xTÖóV·»Œ9®»†ÌÜQÜ›fyŒãÉÕ—þÖœ‘†´ˆawjßVþ=ÑdƃÑÏVâÜà²(n³ƒî UØ9ÂÕÑ«7`ëúN’`”îloкC³—1ꊽâ6ë>0h÷ˆKu Ä\$6"KAàcsL˜\÷0c×l3 E¨W¨]A,g±?vì9÷®ÔiÁ+®Ž³7i®I—‰Ý d3/!Uû¦RNà°µ.Hu«êbš[ öª°TÁ1¸о&S‚*”êÊcŠpN³ø æH°Žj]ÿ– ÎT¤ìý xßå³UÔñTðkaº^cä«9J‚`@ ˜Ýéw‹þQt>¬x6óoÀip^û.µ·‡ïî<êìø¤ÌzÊ<ì?•.D5bm¿ðVŸô UމÞÔ$k6’ËBhÅÂäOé "õÆŽI2Ÿv5º_z%\Xo¥¸ÉÉŸÿõèÑE ¾Á¦eáyöC’RåïN¦?Ù pNÙø¡ÛEzw)b(¤‰[D,G Ö?P1N|XÑæý)4p¯<á ¶bˆ e•QuÐ$üW:ÓÖ̸DpÚAoèÞ’†ôjž^CÌS(„4 ÉÚŽÓ|+¸%û›—rÎüÄdÁô6‚–ÇÛ‡;Ó›Â80ŠŒ#&˵ò/Ü!íÕ,ã '•uÃ[G¡»ô­Ñv1N8܇pÎ]X? KÚqHe<HÖç]ƒfŸ6‚Žìp]¡uv•’µv=LD Ö[2˲̵PÈ–¿•SQñ1Œ%ûqÜõHµMŒ^ŒæÃû½ÖçrÞ8¸bQ¦8D§ù˜°ñËÞ-sœ4ëù!½Ž’9?‚æZ±g<í"Uá¹ä&’Q²“›•tIIºÿtØÊ¦ÙÊlÝFH|¯gtï7$Øzkgä|Ä“ wF~È?/«0P ÇÕÍ­ø%ï±í¢ðWÔRV¤á*£1<ÜxÙT’ “ù>Ú¿è;M¿×‚Åá—!sù«4"ËgJeÿ‡:MؼÅCôVëÖ Èò± mYKÓd××¹D•§$Ý[«c…"•÷&9]\ÖĸYötîÌìÛ Pªú1íÔ²Šžõúïtc‚.–å:#ØŠV5¯‚ Œh'ÒÒ@9jꇒ¾å"5®ÍOž÷6ºu¡þ1NüûÂ϶¼Û15$+Sp;‰ñPˆnBg’\ŬJÁu/Ÿfºª9=jyÂͤ2ugë/~@h»¹ZƒTT¹¾ä%JS8?ê8^^ï²/èP‚*lø©6©D¢êßž&›’/[è|ÕKÖó­%ÎÞï^šêþ§€\?fƒšð7‡ aú!П¤60âÏWõERÛ™Àx}˜CÊaLVãDÿ×xÎ{-O¨ÉI#zŠ#Ü”œ¨‰¥‡ª•’jÑ3ÐÅîšÜã9€§ÔFޤeüm¨Àí2v ìÚ ž{(8È«ÿ|[|ž3fÌÏ[Žø¼í~ÊŸ·ŠvööüÚm$­9fŒ}¨”lY0q“ë -yü\NßÔ¢¹»¬z†‘¥ýMyËÞÝ*Ÿr÷ë‹”Çø7öó·„„‡®3Ññ=Œ|*Ìé „2ŸºOoOý/“!ââ'fÙ“]$ÒWO-Ä’Kèýò”@WçÖ_Õ‡ÀK¡+ã Bú ÿ«hßÞ½8T?ñÁì¾"TCv•8® uGN¸ˆ9Y|/âûÚ*¬9ì\'1ëëቄ7Œxš ¨>ŒËüªÝhdFâÜ]OE™Ù"ö OZñk?-ÝÄo˶¸Çÿ“ÕúÁ”¯áB§¸×•´cÚô˜À`Cú¤˜IWMÔ"ˆ õ?‚8”' MÔ7@øœ¾O„õù ÓþT+ZrâÎ_j?ðd‚µz½vË#Ch<(Î9d!O«8òbœ _P°Ù¥ «7WÖZmÃ,¿®‚‰œW”ÏŒ e‡ÂÔb%ZUF „ÜL®îgèí¡¢ª$];×'„z“oGÉ"8:÷8Ëkj’Ù^ý~{YÓƒ×élà0EË n ã5h®àt3P­£ [­ö ½’™¶#õ Ù(­ Y÷Ì÷¦-áP H7²6›Ð[s¥çcÐAΫwcP’õ@­ÖZåf(.%ùçÉrÿwr3ëë>7`?ÙmxÐDˆXl`'*øÐ/©µÝÏÙpwPOSa(PÚÖ2‡èÌba>‚S¥>&Äž(ùs&'-ÊYhÚcêÿ¹3btU"Ùó\ÛŸ›/j&Qã¼dàŽ“WD¡R‚þªÂBíÖ²ëÙøKÛ~3ü>-6¼¢“ÈUf‹…¢Êê/ŠPj¸râNÿ¾tÆøëÁ€|Å ºnÎé2xúõ m~º”Ч0‚ »oÒþDi% Ê¡×ùÜŒãÿç¢p†b— ¼à¢VćøY%TÌmáo¼¿Ø™ß•r|µ6~™óR§Z̵*·Œ²’ÎR€-€GâúlDŽÆý†\¤'‘Üi–o#@Þï´ú5R)qT¼P³Ü'…ˆóýÙ!7 u±0ô,O§/Z/mÙSpÜú1Ï…ÔŽË:UãV_ϽZëC‘¦øÆþô}ž©{qbÞ™ôÇоÈÚ+í¹æÅ¬YzØ€—Æj{ÜÍË9`wÚa¸oðÑí†b®í}å@éO/öîú6`ÃOË¿Yï1!û†~”7ªzm9 AÎÞb¯`þNßg~M¦„²À=¥v´Æ ¿Í&²Ê´'-Œõ?1 ÛS¦É$5º´Èî­ÌopVŽ2†šM¨B ª•›ÝãzuÇæ|_-“8¥Ä½¬+‹L˜n³]ãêéÈ‚òœ¼Âm·Yö ‘o×xñϼ1Á5–süh®cÏ~HÒŒ#Æ}„‹Ã¿•XŽ£Sÿ˜d\W¥oUFêÓ«ŠzšÇç$@Êaxð…ª·%fª°“êòÞ×å8„KÎë-Ȥ]OÜIL_Gôзh³Hí¾y£´Ÿ6µŠåšÕäD~àEä›4d ¼É~d1µSS<³çø{ -ˆKPN[ñ˜û8œÒHߨ"è¥Hî§÷š¨bÍ’ÀK€S„F•6Ö¾¸û¨Q %¿¶Ü6$wh^ Âñ<­?ª'øÀ­Ð ¹EÓ;ÄK¾£íu^ûO‡Ê„nòeÿnM?(ñ™Ê+-ZíÜ®ˆ*ÉŸî:üQŸвnL¨ØYßGµ8ËVÔoaÖ?ïqhÎE‰×õ˜±‡ vx& ¾f˰§];!íŒâ*R(]ƒ‘èêéã_ÍS}ÄÉ£ÝwyUQ±øÖ?Y¹b¡¹ô¨òÔ´k†l<°sãIÈ×§¸Ø§”2k¢M2¼XšÇ»¼ë™EÀžzæl¤‹¶z¼H¢¬I²†õŸí¦¿W—Ð8Ð.7Ñš¶©ÕßاôÞA,ƒÖEâ<€$öî j  de-r0#S¨Æ–¯i+Û¾_rìôé…zïkÁ™àæÒ6m4MÁS«np®3„{y¤UGÚs[>…8—¢ˆúÕ¼èBš¬5ÚŒ ­àÔ˜a½‡¦Cœ4"¿½NÆàüÛ;(§\ÇÞíˆÉzQ¢×åþ–2?âÜ;ep휛øŒîéƒÉ¹¶_6àXnnªU>÷ éû¸¯J¥:™ï ŠËûdeÚúÊ”î ÕV %N=Í´/Î2”{ÌûÆKÜb¤ÇT©Æ£+ôdGŠæhcÖèzw`_}:Ê ±BW’¶ké“8¼øF1| ‡–<Ž(ª@ÎIpÌ@§«"•–Ëæ £B¸ ¥oÏ*Em×ÜzEÕ: ûIog£rÅôRn\ŽQÍò¾‘,|[–±åfˆÎïGì)žý«ÌâŠ`ñ cà ÌSX¦ùªX)áÒ¦ýá¸A½ÓgüRMÞ'PÔ–º½èèg^NIƒC- ‹7ê7_=i®Ït“¦©ôÙñB-JwsÔΩ”åëO‚þ°}wï»ÓR"å`ÝB=…J@€ØGR›ª³ÅƒWæf"^^dWB1çQÿJàZbñÕxZ_‡}n_—Zbr ð7}éíì›%ß|;ëíîÆcxäÄ‘'½ƒnvÒûð9³› c‰‘$^ª¸Cø/¦Ê>é”ß7.ª ¥?oˆÐÆ*-b‡ @ÃáqDxŠ9d•Ë’JiN}/ä*l½f rÅ7’=¿A3tUÍ0æ¹€3ÕNE…:ÆGƒ3›ÑX^ÏJ‡Âˆ%í,æ°ö;}Æ(IþŒž Û†꺕ÈC“Ûî¿Øüt\×ð÷]wõIÇퟆõÌVÃÔê†÷nÎ&š*©&äaØÄKa áÓ¾\Î êÀN×H5UÝ®¹ª¤Ø+¡w2á‰#~•TT÷&u­i¤–šÌ†¡Bƒ÷þûî3~ñEV~°.•ª lU… T·³ÉÏñd?LȆ¦80Ôu:¿¶µ°ÝÍæÁ³BÓ`6²×ã-Ï»Òh{Mµcwk¢„ƒYîz)òmêFê°™—<ì±=P…Û='ŽU<ˆäÑ>+Ò¦eŸ8ªm„û*˨ºLïU4T¦à K{`ƒ•ÔÙâBB²Ö:oOb§ÿàEÔΣØâ»ÔŠÚ}hù¡œ¡b“E"k]e‡šò3¯Ž'y§Ž'ä˜X÷[§Ïòíî¬ÅJliæ~xAo¹°èÇNsë `[°˜2L/{@1Cvö®šÎè-wݽïÜ_œi¿¯¤ˆ®ó¤\¨´-zÑ@«Kqªâµ¥ï u‹sNš‘XOÞ„vòÊï­‚N êX™¥x\ØbË0[±è[a«=,¾<]xïÊÕèêiN!vOªk‚GÅàø`ã<ƒs¨ŸçzùÏaôEŸ¹b¶÷DNsâŒRt$,ø{”:¼üf=6~i5Û'b%BÍÔœiK¥¸:6 Í)Û'ÔfuöƨAñtý^ßÞdû*WîÿˆÎÇ'mè=Å bVÍÞçà k’2M‘Ê æCätÅÐûî_ÿpþí1Ã;i‰ƒœéY‹õÚGfÐüýhÓ¯'ÌÔSãò™³–2;l~N³€v¬ôÖgYgð8ùÁQäó¶SÞ²ÆÙÌÓÆÆKèãçáF¶z—.¼2kÛÏ¿ì·v”täüb­îiqTœ£‹šúZþV'D‘WÉÄÕä@2ÍvcÄ}á‚pºFe½j™E!£;çu_¹ÔF/zhð¹·pHˆGZù¢ï@¯ña9’äÝß»ƒíHÇ [±K¬zclÇ‘6KÕ®Þ§å#péCß?þ«©â¶Šòy ØÝÍõÙ3L å³Ã%ÍŒ°Ç‰ä‘kÐÔŸ ‘[â¢ÿ®œý¬\¹«ÕO$ú•?çTú^dpÔCîhê«V·Xt©÷Û|i7¾Ã¹¡Àôïz°ñV~tM‚Ø ²Ô¹„Ü;Òjêjh9·šø¨½ºþ¨»l Ù›ysœÐq ž@ôu³è íã@zq²z`¸böñ]¬£5¼ ’„›£¹óæºÉ:UÉ"üëV¬>Éi–µýmÞ¨„pj¦+^Wh¿Ì&Gî—®=7‘••—IýA„díË9/‚3òÂÌE¾u,øÝši˜ÍÛµ>äý¨áŒe/h8Eä§GÇ==ŒÁ }ˆ>v¥ú)à^¹ IliضdXY¥{SôêY½7é%¨ ÿ¾»1£ü‘Ûš6M_*œ¿´g÷@xd®ž¶³ƒ).ØÊŸG‚ʰ—¬Š¤Ÿva®’u½nõ ¢Ãõ;Ràuâ^£iöFýYE¨êÂC+v[/¸¯­ú‹ÿ®Ÿ§U` ¥°Yù·ÛºÁgš|¸#:+bÄ4˜–Êt½©Ù­€2óRH–¨Eí½ rå¶èÉL’”~y0lU«/›Ð;Ù.2º9Ó¨PDú'-d™=&Ñpæ…+„ýœë’ #ú̓j7mT?yýɨ7#øÿŠþD#ùãÛsr72o‘žãOóÕ7.|­Òc+3ŽZ•ìÓ’:~$ôCÅ k€ñĨú1Ÿ¥½ASUçÐý处'ðÂÕÿ‘Ú:Àû£¥ø5ŸóxöÑy…Wœ·¸ñìá²9Ÿ57û0j…ñþ™C+Ìpn) Ü7Á1OÁP’<iä ½¡AQËÍ»•ÏùpÝœ“ìŒE¥ FDb±Cþ[ÿ¥>“Þ§ÄvÊ?MPÙ/´Ãm•Gbü=|7 JüäÀ+Ÿ=½:ù!ý,Ø*K›¿œ½>Îݼz×Ê‚Ãû¢‰¼ââÉônPXÇÔJyXÕœ‡<i÷t[ºjG2¨“Yb1—=…©”á/·—¶…:‘CN*”5.Þ1CÏu üñË!ó¶6¯lS¡èkÀ3,(ÁùI$B0p¡õÝÒD€Ls oÚà&PZÔsdLÇÍÏĬ-*¤ü7«#ÀŽK€íÁzU+Ú,>JÈ=ÅÁ7WTü›¬·“«N-¥ÅèUŸ™\¾pΞšÉlPÕßÜ>¨ úìGãÚ?£H r~öt(Ú( ë㜋žTʿ߼»Èd2ß[éÍ´yRê%Cª¯ §ªëâÒ>Àa%c–~´ŸÑ …/Ÿ è;úÍŽíäìúW´*vD{’yXk©Ðóÿ­°{9JBfÖ#RìÕñúà©÷þ¬¬N68¶ädð(àñ¢œþJ%@gNŠ™ðŽßyo¦ÆPnäЊ¥UÅóÆùᛞHÂH'…}5äR/<Ä|ŒÔñ¼åû«÷© =Ç€2E«Ùm™í»Îë²bª:‘À‰¸uåp×Üv3±¥Í×ÛP’KCíÚ §×Ê3‡t¾Óa5ÐW¿qÓ¶axg°MÚóØ”$À@.ˆ¬WÕ<¼²4³ë„Ù¡Ð ccSDzŽƒ8+Éü)ñ šüÛáôIQÇŒ™¸Ù ê4ÖF‚t打šœ¼Â$æ’vE"d’ÓGŽÎ”£2lC©¼ªšºÃgAíOñúc7wÝ ]pCW+è8ýs#ÙlÒgº&úï­yÚ[î*zØn‰ï d+b%Lúúr{ N™ýd‡ID x³P ?òDÑ0x xLþ×m4÷¾Òš»‡Àlà€Z2Õ™ÄÊ®B¦¨ÅÛV X]{VÍn7ú ÄðíöÑgK\Û¦úšÀ2án]}ƒÍ…„2.zzuC6™U8šÞúïVaª÷|‚ÏDîú)»+«$Ÿè¯É%8ÊÐuøWô ]³ éD¤©ÔëLÇP ·/)…{våZAZ© ­p¹n˜ºë3ÚÝAØÔRåÑ4÷7P’UG*$… ;ÿQ®‚í^†\¤Náñõþ=«õ+—Ý0OûÉÁ€×GA¤!-†2¡žÑd |#ñ¨(Ðåä—Ú¹¯ÆÕÞt‚Oã}Dœ%ººŠãš]¨‡G¸åSt-‚{°2ý-¼\ú®öÁqg39~ÌDϦûòGuµ3¬ßçFº¸â`Eâqyß›‡pŸ5„Ápã6ôÑîãðiIk¿ì¼èSi`×)ë¦í+I~ Ôü²(÷‚mÜ$Á§è»É†ÉœEÁbiW©;=)¢Ÿ¢»¿¦}º’î‘‘JJûvª3!h_ç­êÝ•æ.@ˆ°WHÛÄíAëÝó†ðpûHî ~ úe•`×R‹ _rW ®Zô´³CËŸåñžËçÚÙÏÄ£rÆKpÊܵ§x­À(¬D%6~bòΖvÀñFœ$f–j¤p‘·ÆÕŸ.ë5“tŽÔ¿Ø9„©ôéGK{¥vuÎ)ÃŽÍ-Oú£¸¦tÆ7U"h-StTsøÂÓKg‡=&ˆÙf¦=ÃæÎõz¤Ç|Nû‡ÊŽ;Bñ†…öGƒ¤¦\Š£þuk!rE(ŠØ£@ûSåÇ·À@cü’ôƒmšœuÙVËYÆÁØ{âÎÿ`³g#‚ 3 yQ_9èÃ{š|Iiž§³#Ùº‰<Ç•¥vhÈ²ÅÆÕðŽÚ^}IãNãw¹Þf°û;¼J£Q§: Þ#%¿/å†ÍD–yâp”ÿÇÙøGÓDýoøe‘U«uÕxé¢åè\_„~$Htó8H…> +ËÀK‹×hü<ù…,Ú•®¯HŸ÷°7îPᩝp_F"ÿÛO8ƒ[n)uL‚”+Õrs 3ª%RA·†Èn%‹?#ÑtѶ>‡ÖmÉB•œEI7"g YûÌSDkG/ßÖ™0{D™‡ ;ãsÓD Á† K¤g˜Ê{Á+·L¾¶QFaµH;†SÜÏ)Ékßò)ÿl=´Ó4óúrY÷ÑŽÀ”˜pRõ2¿m"÷Žü¦v[¶ 8JêefB¸çýÏÛ9y#Kš-y¢6a.Îãñ›nÈĵ`?O?Ü–Ô‹5éHK#h¤]̉D"9¢Ä¦'ÐÚ|j`~±¿PxŒþ'SlëD²óËi„àGiƒ1$Ñb‹íCÏšb–"ýQCqý „§BÔ‚vtùÒ¥åGb’Þùóš‹ù­çñ ˆŽQ0( ?æ!›¢d8GDcŒ­•yK_;,å ÕuœÄÁ)opù@À“Q€ÕÝ1³Kr¤þæ?(´+@ªï$ðT˜© •¸,4êà&Ç®Ï QÀãöçQVÍóm¥C+ã ·®å{‡}4œìD›r%´E°gbÆzôWtuuóœëÖIæ­ö IòdÆR=oÛ°¼BŸC.éuøÃú·x¾J‹ˆF*;­Š*ÈçìçZÈó‡õ3 | ÜBx±-Exˆýù:8¡À!/Lô§¤ÍKè°#ÉO’´õp±ŸèQw°¢>h\ÕÁ{ä˜bPž_lYgÆ)ËM\²V¯ÑA~søRx!”ÍK©æ%j63¿ ¡ ßñþ8ðMˆ°°Ó|n‡‚p¯‹À‘Ö¾tÝ« zc¥³ñþ©×è<´˜ˆé†ä§qÿU7!aˆ_t ~¢hátW8ÑŒŸ7g>¬É¥˜5§éw;ÞÜÿÄ_‘x}TûáÍw²@–¹¼vέ2YòÞ4ôy ˜žúEÅÄžƒ‹ “PؼR`XU²¾µH‘.ñѪFp”E²»(PÒ±µØgœ”n6˜÷Oaë$gb<ñ_k…bN§™ÎÏ0 ð¢>[×Üs÷F¼â‡oâÿ®nÿŸNÙ&njÅ>ìÝFQG‚É·µ 5Ys´~ìh¨µ\+èßû/^f0+:¶cdz1“¶²øÀˆ@^·SšŸc d£¿CE&lJ™`Þq'=Ùn¨ÿexgÈR¢q³a˜:±¡Á„”mÔ$`Ú¡’{sêÏØ ¼Ž¿‹L…äÄ—±2Xeȋɺí阈㬹“Už;U¯¾DE”*°Öˆ’’UÖÔ&&ÄâN©Ý¥¶3'ȱô}«GÙë{é@¿×í-þ³#fœ´aXg8•mg†)é#9—Å“åŽÕJµL‚Ò€C¼þ“c­^Ô¡=ý¾üˆÙËÍ¿º˜<¤a xßÂÙ£[ÿ[¯ !¯Zñ¤À¤4¸3 Ò×;«‰êƒ+>ÿ?¢‚³˜'™ºÚX\ÐÝÿlSØ.+H,[<Îd1*~k‘‹¥ÂýXB\Ë.ÂL¾.!îâ:D|ÖÜ£ BF3eC0Wýz’½XÆY´„w~è‰k%Xïè6?Ó픇)ƒ ½.xŒ=žö±:ÓF.PGLLæe;ÎØïmh!‰DÓâÊE’|iu Ø”\GÜêôB´Á»¦xùD·«|O ‚˜vš÷jÚÃ:Äó+Jq‚LRá¹€¸­‡`ÉÞù%1xCDŒ&¡÷m]ò¥ØPÇ•¿]sÙû‹c,þLH.ØöYÆÞõàü™:)c­Ä_ŠÐ§Gí­ŒèÅ:¤hK7+ŽôMáF¸§/ðCß Ö¬;Ü5ë³2DO²(`Žá°æÐ/sÜ_öA·{|Á¸w¡ß(zë åpßE£€ÿFG{îØ¹«µ¿Kò>‘syå©ùÖ\w ð]᫳Œ¤­¶hzªU „Á®¾©ƒÉÈyÃ¥kÇBaê/€Æ>]³Ò虎¹æRÄÐ’ óüK³¥nÝOl€Ú«ð$¿[ÁHÜùöÑ¡³pC0c¡¶Y(`fF…ª9ñ´û¤!yŠÚZLÅèÎ4ü;ÞÂqÎ✊ ûï/¨jd±Á=À1³{Ô™™·àóúR/Ðez]¢PdKÜ}§§;4ØCÿªEß‚? ñròüÛg8›TpÖ >sÇ‹ ‚.=h‚âÆ´üt*ŽûÅŒ[ÉÏ@ ,ŠýåmQÆÐïÔüAîbØñ‘ –V:£çj¯hã·u,L|Ó$4ërû©wFE¹ÖW·§5Û[vH/³=P…k=Øpä9Ù6‘'¤†y–¦T;?[¾{y:4Ùé@þ“Dfヮe®iQ»…',É ÌÒ$`ûIåqS“ç8$~[ßZ‹VT2#®áGòËôAúk®e3maU0‰Ôì¦BÒl˪͑Pzó<ÍnÏ›þe—YlÌ4RãK<Vk‰Ò¾>œ¼ºâÖ25Š“²AaLÎ}^vöqE2+7¡}ƒ<í°ÏÜXAùâͼCvŠIð7uééĬ-€²ô‘ÈøÔ 7•H¼í¬Žà›ùÖý "Ã<ÖÏŠ@DA'¹ø IŠ“î‡+Ú,@VKæpoñ-¼BvóûÖ÷5÷ï©èn¼CcF²G —’}Òa_¼T/-îèhXm®ƒLGq.³fî†ÐtÌí‹„=ÀÉ„ý´·“²Þ…þ¦í=æ– ÏÅ+„êÏÀDcÛ?ÐR§OÚ•ŠIöñ;m-l9µ¹s3CfVFîâöÓÒc໿4³‚­ Lë %öXØbôF_³áLS¤4‹ü7Ô^ùþL‡]£¦áÅtf7 ð;CQ+@Ú`Û÷W¸Ò þauµPƒmóŽÿkÑ9*À7‚U«‰±|RáÊ”$1LÿÖ:'ؤ®ü†D×ÌX¾ƒo úað°æ0‚6q÷FÃ^’…ßÕ(S¦¥Ÿøšª›_á[ëTö±.­:µ¢Ð½œ5Þ‚ˆ¥ª&Qòÿßndˆ4˜Ùn“šj9êûßÖüÍÄÇ»7d¦pÜO»%ãæ~ÏÞ8y=C {÷Æñ–Ì ­Hã^„N¾ç‰4ÊNôGè]Ÿ`ô4jp;úÒ¹+vìý‘q°8x’*+QnŸ+Ϥ¥¿\ˆX†/³ª!ηSv)dµ!ïò"µÙã{; ûkåµ`ÊÏÃWýœOv)V]b¼Å¥AÜ8X*Çí·ˆ`H¨`*ÄÁÊY…›8¬Ö—ÉDÏÌúº/îS‰añÊc[¹¼< Ýmäà²H²»Þ$vŸëØÙ¶/ã6"i“¢|Ü*‚AŽÞÔU_‘ú/Ð¨ÔødÍíàé(I ˜-»–ð‚—-0<ýVk3 -ûÎIB¸{WÈþá°ç`"E^ô4lÜêmÄ?'ùÝdês'FZÇîªÈ¿n€„G‘ˆY Š5óÁ¨°zûôÏxÓQ{}x;l´ :¥‘({Xˈ]Xý»YRÐ@¶ ´76².×¥¬½Ã¯{u.“6?¢ãïÿÙNçF}å-ÿo8,‘ÓùóÿBs”šªùÌöV»m…ì% w‡}»Ñ©Î;Ì¿ò ÙßdPHfßåaç*’€âQÄj9¨ä9\æqA¸¨~w;@&3×¥QIÍàTÙ­ç åXr3J/ÛÓUD –¢y‚¤ñfP²&pjGfë äå7wpÄI‰.ÆôÇÉHÌ›äb†c›%4.–OñoÂIý /#×RßÊ­6•pŸ’h0*M®Ð†ªSM¿ i£º#öÒŠñbñôÖDƒМGdÖ(¡|CöÉËÜTåòd« k‚ì¥_·—¼:Þ”b¸Jtçd2üÔi!ÛI0[Uˆ†cj5¾œ°¸½Ö—T¢…É(L/±-AðI˜ ÅÒÕ7‚Á¤ïÿ‚ÿ^ŒT‡öd2yÆ!ޤu¦Ã½4~‹Êuo›¬$l>¸_¾A8¾«Ÿ/£²çÏügœîƒP‘ëö÷£¦÷OÔIÑ8ÌɼÛ÷£îä*ÔÇ¥o0ãš'°þ0@N|4’1õ½ÌÞ˜"cI©ì·÷N†3¼f[ÄcW&ÿ¦NùG š_·¦Ä) @6óð–ƒôóìs†Ä‰%$à^ëÛz–c³†‘່@ ó®É×n)"VV4às²/„‹~ œGÔb×䟸t®&¬X+¿M%ü+tÖ6y8/šÍê½i0Xä‚Õ}‘Ž˜HŸÔ(?ˆ˜!üÊ&§ Æs´ (Ï÷*žý»IÞ&‡šË»|ÅV÷3àòÛ•TÃÈ–=<¯Q—wÑùfð²ºjÀÎ FÍøüAµö‘îÞ"®¬Äk“ÿëqð&X1i¦áÿúkÍÅX·gWè¡ò —tO±É¨õî÷Ôu…hurBo\R€€ïÇÝÕÏ‘Î~k%¦W…¤YªÞ¾áU³j08Õný¾:UTr£²¾¨wNÃ>VÒ#Ú#.‡úÛ9 ÖÙJ´ý/ƒTØô~.§Wíç6MÌfúx•ø¯Bóñ%Qè‡øÒ±ðïöŒÔËãUˆã÷VïàZfZåÄsAÑó_ÂEÐÍ“ «™^ÿ4þªtSf¾þ×Ï¥«Ž+ì|wôϰ²[ƒg®;í·±kÛ7X'ï`¶'Kï|Åz»èG OPÝJS‡wŽO £Øx¬Z¥iBs¨%`E 4•_æØ‘û" iî!uASÚh…ŠñxO^˜¿µæðÏóMs´†RF=G2îÿoÙ<Ô$QÕ|X½OÔð%ŒÚ`$Júq¬ï]`53mÒÎûJNßw®_& cåüj »Ã BmâVÿëÈO:f2¿o° «!=”_¿¹Zv˜º%¸´{=Ð7Pƒ?=#\­Lv³·[ «%0*¡ÈÁŸ±ðq8/~øÚÓÐ×,ÃÛE²*Þfšç2Ù¶±Z>3&O;DÃ[/XÛº: çàŸ|U_2ðPAøF)·zÌòq s°uÃwÌ@M±¡âwbù#ÏqúœIB„Ôíú3 À8¢«—\·CË*X+] ÷ÔˆmG“‰¹µ 5,™od6"þ„¬žY”©A÷¾¹¾õžÇ¯1ÂÙl]d‘‡BCR§ÇóÃòÊ†ÚÆ'E~^†ÅNÖGxf„$Þ_]~[Џ`Úb9ÆK ü—¨êúµíb´¬wj‚j(Ž›7ûtÿjÿWZQªD·¼QÀÇe‰ITÒªé·_ùî£Øxl¶ÚÂÒÇ9‚Ô׺Ÿ[Åß-º¦®ßŽNAdÚ1î‰A‹Íù–C—=M,ï,Á^]„×Tœ“²ˆ±GÆÒ.‚ÏRêÈ ·(½Åïyþ}+§Jýó,‹ço¬ Ãæ@²n@k[Yê…«›-³Š,$´õI×ϾûZ ®m¼ î~¤;ž¹X¥rÂF)ä>øûh(T­òr8Jþè…¦÷z4²f&0Ø5^[Ö@Ôâ»$C\s?"lw¼ ~ÖÀáê`ÚÚ|óÑðM›‡ݰ„>­.]—0¶áL†¾š· ?`#[_=“î31(8©¦ÜÂQ¯zÞÞVüCus F]ÊݳC9o(6[TÀÿ“ÏœJ ŒfÕ¾PôÔ]=Õ½f}ŸÐŠÂ->}K4™P+ÁüÔàž5¸þ+¹r(&”ü5)sJêûEÌ´f¸ËEø`~›–K†åÕ†3¸ÙA9H_RD»+`,¿å*¶kbÔf5 ”6ÑÅüÑ× ¼^S’,ºÜˆ;) GÙ"3<°¯Á“D“aû®x°/;\6©œ:£màd"†¤÷X­…B˜­œ;¯ã³–Šj°Œ“5–?; Ö¹vB53Ô½-uaî$Ì|¶ °-©é·?ÊÎI^í² ]KšSðº½IŽÝ4 ’}.wK¦—¡¦!eTô,Úí!ç97ÔXœ;¨¬£¹ý{mqç²|60#IRÑåaycñ£Wkb$Zþòù|"Û^Q×iÖ'‘øÏ‚U šv;*oI†Š¾Æ»ÌaÙ@5´M߆ûNH0 Lv-¦(šâžòöíl¾O~­&ªÂ›»JîÕssjÉØÔ.IYlRšþ^D[O1„Gtõ£O ýS^b¥M*æù³Œ)šÇUŽ|ð»T{W ¾¼”r‚X)}ï9e!Á äèðñŒ„Ã{Úd vUá›Ù—ànpæÝS'ÃãØϧ¥´B®£îR%3õn+¾Á„prþ·‹úyMn×ïÆ³Ûr<´¬l0ÙɇPûïì¸ÈÎW/á2ºv¥ßF¥M° {û­ý9Ïk£Ý8¯¬Z&žÕ[2ý¹°°1Fx¨Z-N;Åj0—ÒCp8,¸«9\ ÁR¥Ñ =¢Âì“f•[𺃹 ÐQúˆÏòB¦&m•“˜&ºjÈ‘¼…¡ÄQpv/äPR$ê4štJF‡ÇœqÌ40Uoi~ÁtãdŒj¼F‹ºàJ!Ä(Gù" Äãùf«Å–2 þ6ˆ!U© MGêÊ…y` q×ï>´°,IÍ«½•­õì.~ñ:@®h·'¾KÏWEËszb6ç~‰Üv±M›uC€*ØÔ•D–L˜µÏe"Õ¤.‘÷;ƒ«úc¹°¸«W ó;yî)8 g'çÝÌokG º .›ÞëÙ£\C_&bµZ+ì¢m¹r1oµ™Qr©fý ˜7%ÔúaÈU U@²aùsœŽÄO}ÿô:µ=,%¾|­Hsٹʇ"•¯ãÈžº)’æU3{Z4T 5‹ø\– æÜ ¾v÷ÆÔÆwÐß3ð>{µq™— Õ&6©O¡†(¾’Œ V¾ãÙèÎ4AÙ'zs¼À 'ˆµmž»G Êò+Éñl§øGx—Ïüsâ=e#Ç«R™tFbDšé*U’¢-ÿÒ :þQþì䇺²“z®¯¦5ãùÓ0é˜ÛWYäÂq¶ð|¾É[§= _o;=Òã %¤W ²¦JP¦E=iš"üÌKÝ œ—†h§"`Í]§Y`aõx…³Ë?b@dÝÍ/ª#¹¸Þ™w|*à4±¹¨Ì‹Uç$@nJŠÛ÷Q.¶ÀﯪrÀ¿õŸBÿÏxæõE¿Ë‹B›œ! ˆF÷ÄгˆõÂGìou!2Ê… íѵ(¥)# MEœR÷УǗ$IèÓúÐ/žÇÔkLrˆ˜#_¿¹óå%$Š&%é£u J‹¹˜ÐBƒË:Õ )øîóû“^Á2é¼èÞ9——»·Ùi*î¡éX¬}@w¥™4ÂðVšÌÒÐoHoÈl¯ðh-•n…qÔ·˜ÝÔÚ_¾îlªWîøh[àA´ü)`bþ¤õ—pÖàýXöYJÙ\2ç:ÜÖ–+€ýǯ= kQäm\_:þùje]ÄÖaö,¡ïŒ…§<“l\Äší‘Ñ.@Z¬Io ð°ù€îkÜe'Ý4·ÂUïõ0é)[‚?6&¤ß‘Þô´Ž$c€vV"XÙ°CÍT¢ R¼Jg]b7U{Í:ïQ:åñŒóØ0Äbî¹%kjò&Qg/Ÿ|ò7<0®¼ñi­+õõG0Ø£ åvÞ W©ýA~ÑV²‹¬Ÿb¨Œ]ò‘ò(Ç0Úec«’’®ÇF3\ŽÞ58£xS¹èßö+°ÿhÀÓ›¼° ~r*J‹5;>íJsfB1ÓÅh ÷U”]!R^¾~•í%bô«¯Bƒ¹'”#­¹¼ ɶ#wCÿâgG;‚;Úd"šØfñ×¾lÃ|älãSšPL9OÉÀrÀF¦Ë©Kiç Œ¾ñ{d¶œ¡¹± ù9ÍÑÐHó8Ö>­nx¾}o÷È+Ö9XÛÚÏïàd_3Õ ¾™Fš mæºÊˆú´Ý# åĺVrjÄî­sbÂ\ËB‹ ½²°‹ maj%ïöW£¾‚öºÕrK{!544Iœ¦‰ÂÝ`àJ€@¬[Ÿ„yØG‡+é4ú;2ÿ³ÊHÍ®ÏÚÂÍ×j0¦i¢xÐU÷Dâè8á#¹‰ªÓ©$øSÄÒç—̦øßYA%BîÂT©·³­f˜í0ꃋzòs”üd…hÂoúø,[Âôäãx œ_ˆ›T­×Â{úÞf#KžA`€É Û>OLölÓéò:üyÒùKO7¤"¸b_×ѦãiÁKËk9£SpQw}P€É¥¢4Á™õŽí‰VÈë IêýEóK.÷ËRÒÈc{`¤dUÐÇ}c²3î5‰ášÞöiËᑇÿtk;Lóoö7¯ñzUÏKj2wO:þñ¢02ÝÈú²:ÞŒ“Ù3Œ¿_öâ©—SXevá 9OÞRÇÞ$xM Ø s’öÃ[ÑtÝQýÿ"1m«(Y㜪€,Ð(Zº÷^̰·B9{§ƒøJ–[àÞ‡6øPìý¬$§9FîõŽIðåËÃéeJ>ZV.HêW•)|Îùó3ú©°ØiØq¦TçÂü6%R•'Y$VMšÊ,VbÈë>!”û}„:!ÅË{é¼8Mõµ[k`G«eµN…ø‡x bdó  ‡_=‚„•Ì1”âIdü4J6¨ý‰á"±:á5Ÿ¿&R¥y:C]ÈÄÖâÊíМC±sÓôIPÑpY¹¼Î”^SuHzØuÝ}®°Ó BnD«ßþ—H9ýC‰V8*×:q¿EktÓ¢d?®¢Å~ú‚4±î.F +LÖq>»Âx]7 †ô&N¤ß6´Þ– ¯b*³'™ÏÜKW:£8,ž`±Hõhgì˜üÇ b·$¨®z1Ù_â.{ Ãð }mÇyýÜ@~c0âᔋY œ¢ƒ/" u(2ÎZ /\ÒŸ’¹Ä£Ê´œ~Êp£©ž'3 V"øç6F· Eà¬ÝŒfêqüdiÃL®s> t^Siê² ¦‡»鮨3›B¯ø1D…»è0;²þÛ°QUt@\³â×€j=€äšo†•G0Ô0A.yùpŒ§<Š- l R-©¹µµMåµ"êWÌ óÓTñ°»ØëT´ÝÀØ À˜ä°ªAúÌû{P,ÇõP0hÐP^ê§NŸäÅô·úd™y¾=Rm·ŒM=F½V´µâh‘%g¿ð/hJŸ_Föjšøö{p_¦ôŽc…ãïl°¦ºvŠ'ú¡û?~bð¯\ ׊ÐV½rÖ^M§"Ïf .&Æ2¸ LJÊÔ̲ãý‰\ÉÀ?aB/í…ÁhÔ^OݸÃó0D„9 îš(™ÒÓ(„4Êè¨ÿ;;:å¬Xñ×{"‚@þWlÿn²¢ïðÀýo›W¡“©i•‰ˆ–,êÀ”Y&ÒÀ†Ö†/K‰ö™TW@?݈´Õª›ˆ*Ž· s«±%\Dî~CHd_wãáâ¹zÚDvĭß#ôqq¾Xã?«ü†bÕZØ?Ä…†“ñÔ¯ROzmvÊ!úÀõ£ÛŽå'à^ÝpMÚ]R,›ï¹zb9elÇJؘYÏ—¤mr,‘¥©;<'bÂ+$Ÿ¯·ñ¬ÇؗЦùùš“µƒ¤.‚O´À`1(”_v໎U„¾ôŸfòACƒ¼ÀB7å§ ŸQ‚p9µœ`~zX¤Þ_^õ™£¡¼ê² m´‚46á%ì)ÞB^eÔešÏð¯ƒåÎb6Óå—cê`çNw.8sc–YóÜ,G P” ŒìͶì)ˆPý©2‰ïìEo¤‰ˆÂ^H›¡w³{¿P v–ž³Qï…xô¨y¿êŒK-`` ”WºKœ/ógÞµ˜6nÙññ­Ýû—Siîù×gj³uZrYÿÀÀ̼ðÛ°yc%þ-œ&ϯˆø¶Uá­!@üKCVìg’ƒ¯çT{ÔDò³ÌÓò¥7€„§z·}Sø^ÝO±Ö‰ÞÈ&iŽ¡Î{ЦU’Mòxk7 «¨7 “Vj¥{¦Tå:&=Å›,¯"@N]°yjw«ÇEM¼Ðq¼AÞr³O…ö-x4j™¥}ñæÜ’ûÅ+p’g~톘kZ%€àõûÕ׺Úà‡mлîgÉ|ŒfH¼Fé¸. À'&Tt(ÿ‘‹‡Ûú ¸&Ú;”ÂFód5ü•ÂP‚*Ö …JìYÇCz9Þ3t(°¥¤ðÅþùÕM(G¥£Ùc•þ“ƒõ3JP„²·T>T\#>àoùsŽŸôÔ<ñ7> 9#ýáÄeˆ¤P@@xÌ—NysE¾šÕ“Mû¯ÄÛÞ¶”šÅàšòlÔŒWŽ£³lÊ —`w_䨚 f”û¨Ÿh·•S0Ôi  ‘>b={× ÀÎol#7MÇ‹ÖaÞÜÕਠØÇ$¾KÈ4?ÞŽm€T¸¥m2ÿ7›Š+i6yç0ÅÊóÉR]¸Fó‹÷wã“{dz“1RÞ0¾9¯í•z§ÍîµM†ê>mHº£ímUf "K%¯X•#5Í5ôdóÖUÆœ¤˜ÀÞbš«ZàÐÏ”ÝbMØA¯ˆ½`©¨ñËV$žúØ¥·@ zD5W°Rô"l¶ý§á÷0®ð—½ÚO ­nõ—©æ÷ sdñ~_D“\ÙHðF'”Äѽ *¢Y˜ÿÌö•5L«úçögmÑ”:÷=ë…üŒà6E<ÈnjUÖIÛ¸ÜRÃ.®±6°nm8ËÙ<Šrà>ö`Õ먥n…¨0–!õBÎÆbQã#´“uÆž]{ aâŽ$X…*_A«ïPb×ÛÒs"¹¡usˆÓ>"›wwDVÊ\¶îütL wtáœÕŽ¥ò0>y.5Ñç&¨ N#äÅK44‘ŽPWïˆâ¾A§UÁHžÉòCaªb~}FFÑB¶z×/eAÅÚ“ܽ¿CÖnÑ¥Up1_á5úÉë‹·Wΰe…ãlù®~TÛxצÐl¯d†uy#ýYvËç²ÞÚ­vq3~'Ú›M7 ãv»O½Püéç°JÚ°·Z­:wbq¢—'HW„wÑ È‡QPЫëˆ0éapwÜ- 6µüîÎPÛë5àÎjbb#Ž'‰£ŸP­"2î§Ém‘qÌÌ •u3Œà.O©è¸ËýM…Ä ùf@­ÄˆEqvËEK[áŽê±Ô(ØÃpyß37 ·! f-ÂÁ0ß™1ÃÝùTGBœ Ñ!"+õ- (ÿ“øØ.x7Ÿnr¥Dnp߀M®ëˆ£¬lã-i¼7™7¥ð²ž_R¼FZÅŠn2’JŒlÈð*Ô·™¹IÜ¡Iã¿´}.Gà¸Þ[]܈ Ñä%…˜ØY+eýžÁë&UMy¹iЙ!`½*`¹à0,wa²^¤°¡½šaÔ›ÙT%{´{´"ÒŠSIe‹„ʹí9m»Ð½ޘŠ„Ó^|ÚÝ㵞óJ‘m„µåÞ’w²;×€¦â1ÓdùBá%ê.8ǘ”Ï7üƒ*ÞûýBñ--_µóY‰*YvVï ÿƒkÌ\&»¬ÇëôÜšu½!ŒJˆZ!ñ옒¾³-­C¹L Ý•ÝíU¹=ËqèË/÷ ÿJkK·Èxr¨ÐtrÅ&˲ú;”¼—¦úË€G‡f:W–bšY7\‘1êd,8C)áf¤§ëK ÅrX@²M]Õ„¿NÖ ñ¼Gið|˃vøƒY*ÀÞë/ª#ÿØ ;Vª=ð¥ç¿R |õK·giõ†‡ÜÂTi†X¹ü?hæi´ž¥>ºuˆ`J/aK½S_Ÿ‚?`›8o§¤ŸUŠòçÀfÒyÊ*dŽîºå·.L“Ú}I R±‰ÝZð“hí ¿ÃB½¿g »üGÉa@†ëúâàþ©å²\AÚ|†W{n ó‡c·ç¯vŃ€sà“k¯XÞªöbD á¹rñ/—¾oC?Û1E¼ø;YJ”> îÍjГT’WÙÅîIxæ™BCÃoؼ\ÀЈ d7øƒœXÔ—ôdÛ+ XÛ™[Ý|Ž‚Ÿ®KþÄUteï®Ú18RÒŠí‘ ;ÛZ-ªT;@|‚ œÉŸ$ÇõUC÷ýœœÑ Å[‚æÿ¹<·¸±¦¨Å衦)¹šY~*7k0T¸»=*‚©FFw¿ÉF’ ;´J6ŠI©ï/a,k¢”š"è›P„M # ‘ô ;²…ÐÌ'³ÆQ‡ÝKeŒE"äìhbb0¥>ù d|ÌaÝâÛ\¤‡,å¦á=´Wf,ïm™ŠÑ­Ÿ©@Q¦¦s«Ñ¾mC‘Í |ÞLåV!ÍÏMR<甾)oJëÝýÄÉ3z:…Ò ~Z¦1òŠB™¹^S”®97èóoóiÿüÇ—¤‚˜IFè â‚d™mµ!‚§Q#zѰ)Š !ô¢âKÀ*É×Ü{Ì]Ü'0#ëaþúf–`djTѵúÊ3€ÈÏÈMuÎáÄY—1f†v„Ì3òç]y¦ùYxÑ­]çÀ`ïÖ€CM*V¡ŒíR˜ç‡9;ðÑ.D x÷ОÄ>ÂA÷§ ‡‚Õx%¼XNȦ’¶t4‰ûÊDÍ.ÀÏ/ÿgQ¼ Nv˜ÃMXî!óòºU”«3ÐЯ"eöa"É›‹¯×m@s–)¢ Æ„Ÿ9»#!!7·@–\x.—š aS Þ}P®\L¿ãyz:ð'MRi%ꆛÑ$2@Ý¡5^0MãØÅ0äc`8·dN$.£Äè¶_}/CxYpÚáöÕo¨ùéø(·Ï wvª¼>$ãCâ:iín=()4¦žÏP×±Ñ÷êÑ^S*s@ØÀM IQznzæYËã)î¨á¾Õ[ùnd#Fߟݪ…œ Í±ÊìY"U ß®`äWÝ‚ãtJ<Oóòÿ—Öžp]¬Ç¬G/$z{Åà•%°6ŒÂ3¾·…½TÐÃ;µM+S°’@‘ht$Œ¤Å˜]É ”’ÍÆ­ví)gõýC=(¯øY1J°R¬‡"J§Œ¤0NTëíN7›˜¹‚"ArM¾D³¶ëG9¤fqWMTvÆ~Ùªá§æÿÞËý«¤ö3Þ´løÕxG)hΗž¶Âæeä2»Ð™9ŸÿÂH¨:ÖÇ;\!qAH‚k™: ùõCÁ|'À M–-;ÇØ^d'×—ƒŠUe{ò…Öb/:ÒW_eFÁf†®Ñ…½­ˆÅ"¸³4˜mÎAîm™Ÿ,ê\êBñSM 8Lv°IøÖ ÆwGÅ£q(ÖrPñ ¨HcžÆt´MðZ—+Ø_IÇhÊ »·é]œ­ü6«µiØeæÍ¤aR<71 É™#ül/ë–ý^êÂOâµV*B›h,s|ƒŒ(e£R_$õ‡vöêL„¢`SOèÐözÈ~sùoh'J\1båê)îø ë*GªÃT»<Î¥!%}–à•ÍN¨#&’`º;]M{þõ?Õ.rªãñ|q¡¿ZõÑ:ð‚’Š\×áØ%¯žàs¼ilÓsÚv¿_Ž£Ôÿvjš¡¬võ{±f^ó¤eô®¬·ÀÚïMÙ¤Š‘3¡KZª0Š‹u¢iâ);X,´lE~CÆû9- •J»v©ž˜ÜÒÀAŠf³þrd/µ¿a9°¥øÅÓ¡ÿaÞù¸zE*æ›;êÖ“J¢G­¯ÜÊŠ4^I¢ia+/ÊbC389óÀf—[Cò\Bv0Ãîä¼zˆ× X *;wHþUU Óʲ’ËÃõjÂýdßá^è¾qEj÷˜îR7ê#¸æ‡7!]‚yîïS5’~9ü²iû`ßWæqª¡·z¬ãx».ÞµÇÍóQ¥€Ùàml pRïÀ0æ+¡™ðƒb<JòøZ…³›ùâNhñ‚.å°T4!T&—J£c›ú±|ë0|ý‚bДÌ8@i µ¶‰IQ–:h”C;¶[IŽü÷a\"*Úÿ¯az›Ï”ÎÃÕÜéÌ_fÿ™FSôdnnÏ$êà'o:wS¦‚|ð`>óž¶ÏþÛeôèäž8œôÏ¢µ¿­nÚ¼@s|£â©ƒâ#͈„h+óäœÊS¸n•è•]϶$-¼Œk’µïÆÍé†]õ< mÝáŒaÇÕúkbøøz%ŸèÀeï*¹ï'à³¹ ¶1LPûrN~"_³FТoû‡Q›>ˆÄb`÷Í2ÊtF.ò”±r|‘øû Ì’ C‡>CyEÄÇÏ$3F€)ƒÀÂ\ë.4áBbÅD)m*?•eÎΟ¨YéèHö£q¬q±|ÔUL>‚¨X“ Ôµ²@ÞkàðcJzx ¦%SSΑ9%bÝ,®…Ôi¢L/î{™Ù\WRGÇe“%h:èUPŸä.Ò"BB”#<ä°d°U‚ËEBô4Üvm%»ÂHÆÐv$ØÅ!©Æj@óz,Þi÷N©ql#NŸ‚ŒÁ¸Êí!>Ø<Ý5bFtÔõ’ú~ß#åÒU¡6Ól!$ÄmÇ'³žÅ­ÄóÃÔöWÁ(Á^>ü q¸ANE³"£Å™¤`Òª×ÍH§ç¢‚‘–€²º5¦ )Ǥÿ(—ëØq•Ðb»]²õïìçü®Æ¡pY' " ÷Ñ;8ðVUKØ'$½zƒÓb»z,¸ÎìtÛ´ ¦-HeöjÉ™[̦•·åyv'Êv¦%\íô$n%†X«ÂŸ/«á9®4Oô2š–V™˜As>¢B1a,uÅFÅ=JNhS´×Ç|~R÷¨5hL©(š®&´`A§å "hv»°æ›´>ÊFEÔç\ 5 Žu”²í_ÃJZzÌgÓ¢ïrL+¼„6x™+ŽÆ*Ë5¾c´¦mùN}`Ï1A>¢Áí7`$' ’ «Y©xGh~c(Šc»“‰¤\W¢Ã(¯#ÏöH¦‡ýv(‚f½-Äu ‚•ík7ayv¯ùJôÚA÷ÌK…(„ô)½½OT[V—z6Å€ñZ—|³fïñ‹Ó§‘FÁô Wu:=#š[ëíøÖâÇí©2mÌ à[½c»èÊhñ[ Å“»_h¦Îxã?YÀŠ19+ϬE^ˆT^Z£#]|j¨¢ÔO„ QÆCO&؈JÜe÷z<÷¿7.î¼™C$·õMÊRË¡psRZÉ(µEJ˜߯NO<ý6JëË0 *uÑëé^)Ù¯•XGö|R)IA+K %ò¢ÕPX:vàôl^¡:£­ê×»rtµ+FP"¦ëËu²ÂcÈ— †´ÞS÷„€:Ã45ÌåK›~qš¿ª=†ö'¡ËµòI{Y…O6öì˜ø|í¯ ¹¦âçÜtÅ` öH]þT‘Ául­JÑîÞãÎk2NÛÿ5Yê0^¾¸¤Eá›zàÒ¸·ú‰­Ï0ºžM­ºÄ„u~:SßR»Kçw!tã§™;ôt|5¾œÕ¯=õütZ^›uùl|­­ÇV3’0ßÇñD†eÄšu˜JÐ×*s\‘¡µUÍÒbi$ÕêÓÖ€9ÂËš-Œ>Ð3·{Eî&G‚»eÎÎ)ìªë4ÆñPóÛ…òO“U|S²5ëÏv&oAfPbå £û‚‘­¹ßÎüzØ\IúÒ– È-`7ÿ6,f®atÓZ3ë öqë¾(–¢·ÅŽ|J¥WI³Îr©“ý-ØÄp¬pWFx+൶f›y„&Oê¬CŒÙ¶ƒPsUõ ë€\ì/Lèéq+’Ï‚êd>XÞJkj è2–ÅϽ ÐLXÞ4úöPNra55‹ˆ õk54C[Å_ñ@Måc—‘¦†EÞ…dö¡œÌ¤”páùÐj~˜h¤½qëGa"A@€t„G@^p]uô~عÝÉÈÿí‹)þ·÷cBi%w¬Ú¿\RÀÝëTœ]³\Æ P÷k‘(a3®Æö1¿jpÔ8·#:jDØåj¹f%Í¥j¸£ø>&?´ì#L¡w°¯ªY•vNÔ°ðÖ°¡ މ«¢ó#‰Á2Ê#¢<­l¯4Ÿí îeÔCM ÷!y»NK˜ëöjß[l›sÆZC+%/òêÊŠäÐíE^Þdo4¨¢Lk©ùÃ:O÷t£DÜѼ+§õ%ÿ8gdDð@ݘ‚Õ~*W—r· Û m6–XoÝ•îƒ!XIìåöà ºßLÊà<Á:×›å7â`×X6h¿ˆV…©šÐ^c`ŠÁHu÷µ‡½4[õïßG!uL¬Çt²ëjÊ4¹Ö]Tb0Fô±t¨ó ¶ &žfÖ¶²£9h{Û=¿([&~|s¯d‚dì‹DîJŽ!_Êâ ­­¬¥ 4!7²ïŒªæ±Ó–„~úŸH UE$E( Øa=‰:{ß ‚z‹:8rÇåh’íaèHC«ʤB­’©«ýª°É¥ŒLS9àð<ÉÊ2ðØÍ+þDذ_iíÙàcÙ* !°öð¶"/I.ªÓó¬h”¼Ç®d«˜º&œÞ£òûf"ælo)¼³#š÷)W‘}ä?žx”8ŽÅª{ƒ— x´Wr½dÜ”±A—A誅¸:ótt¹{´ÝÑa©T]—T Ñ«jJ.Ö] DÄØóì,”ß©\Öܲ¹Ù¶ø³žøX“ÿ\2…sóF‹0‘ê–áîöµšÖÿ=ŸÃáÙÙ_ƒ’l¦óõÒX„tKúpé¨xÂ7Ø"Þ²•æ“Q^ÑýêäøÝê”ùôpy~7`b^ö Š{EÄñAuH¶õ éÊ5JWütå%Ò 2£FW!mò¦MvIlOhœIÉŒCHƒüŸˆ= @MK›ß&`Y6ÅìɧqÕ}¦ª‹/åiÅ’²AG•¬G{™õr~a(O0åߢ=÷f±UÉ/r®7O.“8k³šÁõÂØ mÝÍZêÇ%Ì1¼‡T„)Ëkά٪ÓÖÆâ …Cãz€×› ð<µøŸ;¼Àûc°‚ã|©zðÀ½uv„äÅÈæ¢œôÀýl1§¬K]yråÈ*B¿*®‰Ð·+/kÿÙÛÏMMè} ¯¼œ¨Bfè¼ÿGð bJNeþ(¶COŸ$ªØ7ÿIØf„7#ºïƒPRF6¸8íñÏÒWŠ{Ãqü¹k΢+vRÁ„;^›¸´B©“ÎI1mÞ°×Ü7îQT œ^XF¿‹>œó[5âDoÆBûVoÅ·˜tgsç\ v×¼g=ÙúØIÜK²tAÛÓIO2”÷G–>}+H[,©DÇj>þà QÉÞ?uí?3÷ê2R‡’ ‚­^¿%h~cµC ”©b¹WúâЙX®qÓ^§M¤-*Om¢¨0`[œ²G†í…!û5žÎIîAK4_,\lŒc3<ÕXÕPþÚíV©.- þƒ{?7Û¸´À½s‚_ï®@:Èx•–]Ú\ø,ÅûM#¥ëÒ^Æ:p€¶Ãyâ0TÅWG:ú•2C×½»õ4¬;†:‚yˆÛ0ß¹Ý̉}èÿ³2µÃŽMBiýMEõµóu&‹ZOdÊɨÞò€Èù;ª:)庖Rç•§™í<>o¾]ý8‡+Ò?àü3EC=ßìlØÙªçh´ƒPÞPЦÓZ%6û‘èDý0áüúSê ¦éú@&út âŽvcZŧ–cM ÐDÔÃß%Ê>¸Às0”»å#„$§Ë<5;ƒ 9Ž8­ãÿo„…‰.h!Éë/‘Ø”XÁãLŸmK-èáë—^Ҽи>M|Š™*õ>e¯–ÔFÉH |š¿tsèB&RQ,šÄ›‘~…>iå+ÁÝÒôñ_£óN‘MÞºÿžµ¥J/=ÿ†Î'À»CZ B ÊÞ“ò uq“G|öŽÓ7A‘ºxÂìñ>ß,ÜRZ1ú*æ²X.s¢£Å_,ë½Û;ó6K4×׿1ܧYãBYA:Ÿ®¥[om4¾¥u™Õkq?2?Ø@aÙÙúÞÿ²â€œÖÔ/Äï6æ hšKÀ;³3ÔÆ}*’uÔK´È–¨¸ë¤S³>wG\gŒ£x“ 0O*dñ™¹šìÝôÃÓ˜_UÒ£.˜—ï­øÅ<Áê>v¸ñùhU2ÇíãàÔœNÖ¡ ¢(ŸUJlð:;¤4¥‡Ò!á²cìžò>õ#fu‹"YrñÒËê×d ÅÄÈóàSö€xî¹Û|®#ÆA‚?ÐP3¡—ia¥é%Ti˜HlÏÝ9î{´JšçL%éÕÙßKѰ€ J\ÁJ·Ê8 Ÿ Û5ˆ‰Ä1™íY¥e'’è£êM”H{pö0rhºÿÉwŽ¢âJê•D™Vxÿ‚ ›—çEŠNí²þe@1'·(É6aI•‘ÖB2Ëãò:S ¿Ê“éßÛc¤B„<¸©¦LŸ•ÐÃ0EÖ¡Û)Ý#6¤]Ééé¹éðš‰>‡šË+9\·°òÂ*šÄ:9UʦÿÑ)­ ŠŽßÞÅ8œ üF[Ug»ÿœ˜g²RQÓ+‡‘ª¸“P†28ê0Èé!lAŽ|¸EóÌ?¼iî˜øšl=ÕøuÆ¥œƒ|HT·æR{AÈÖ{óÝÁJ¤ Ô[²µy"g@=/ĵý{3üµœðœ7g:¿e¤¯lâƒ6€R^-( WÎÜ"È£kôøH‘Ó Ÿq“OÌî;ñjçð5þÇÄ'¸7“Ü/%og–ަV_ùkdÈq)-û9hyσì—WÙŸðÇ^k¯ÍK”b²ˆçZHöt¼‰ž>L¹öU˜†”¦· É`’?£p?ëÝ`Ûb÷±ü¬f¿^†tä¶p„)‹àkdÂÀHïÑYt‰‰¦¿cÇ? 3í“C„óµ bX¿D‡~þá¡Í¡Óuˆ£¿†ÀÃsþ¥Þ[Ö Áúrp ÜÜ[€ÆL6è íü½ÛæŽ úà6uþNÙò{KQ(kY³¼£îÅØ=®ž6Ão]ÛoÉÔ"(zêõ¹Š®Èhx倳‡Øå‰ïg= g6†×Ss-Õ…‰ƒ!ÿÊ%U¦>墓²1ÓE·‡É»Ù¯o—rÙÀ¦ÔõHØÃå?2â 3$ï“.ÄÓÜ’!Í2ÕÔwÄõ8…î3ý©9»Ɇ0'˜ñû/,2^*(YeõeêöÕnü $9ql‘ÄGó+ 3Ï¢òwã4?÷ˆ(ã„8z‹«Ú@ Nþ‡®Yˆö V½BR$ÐÂxô$ ":[™‹ÿLzÑ]â‚’*¦4…qRHí^CË‚ÖåëÝTÙ]Õs뮎^!6Š5©îsY=4žcš sS+o¶G‘QüôÙp…j{Ÿ*H„š “§ssJõÙÿ$CÖ6øç€°a`anœtØ÷cµp.Èþ)xÜtïVȹò’bº-Uý½Ø4þ>éîçþíeÄ- Ý02Zíbº<ÃÇ(ÜݬG%¡­C¡Ï M¯à+Ui1¨„¸# ]`FÉ>#†nØSÒo$ÆÌóY¾l&ˆE3ë.íNbw$ÝløVˆ=õ^ä¦è•Ë]4Sò‹Œ©ö„tåìÕÕæ9íê°,^a°ëâÀaçÁ€ëGiïÌ«¼¾¢{E8¯E„©žpþ½Oƒˆ&Þ*òàà †74tOÉŸ?à¿¥9);«˜-éšà™ …¨ölË’ìÿK˜¶¾p«ê°>ÙHdUòÈñð$)?qèzÇèËRˆw¯ÝwFe¸'^G©µÓk¦T¶&‡ÌݤÁÍ‚…¨Èù?=ë¹â•ñ&ØÎlMš¦pÏ0ÜðÓy&5þ)l!1œ›Ò†.=lo¹± TùB^Ëf6Ñ–,ý"Âa@´‚¦U¿ˆ©§1‰B¹Ñb‹n=,—c ¢Vt©ø0"mŽps*ó˜̆à…Y GoJã!ør¬²ÿh*%ƒ²²÷¡Ž­y)#·,–15z¯ëˆº#‘Æ‘P†ÂG÷‘Þ@™GNwk‘Nm¾LM€³*úIn¡Ñä3NÅ!5“.—"ôT%t.7 0`™ÅóíLQfhëåMY€ÃéŒ ?‡5l¨lÊ?7Æ`Ià‘ÌÔÀ7MJ^.¨Ë. öžÎ=,y_Ï¢;oXavôÛ=㞘ɋY®B½ŽÑûÞU®•2½Ã©ý÷h3\UÓûWá¹"þ¡$x¾®%æs35±Ö#WøâÀ±¾~ZRQ„<†kà†ì °=3Mƒ>ÅþX ò1_4^ÂÜh&†Yïœ&¯Ì‘1f}‚“Ž>zT c]q•¬±›‹™Gù¤Y]Çy´­äÓRFæcÎ$œÆÝð°¯%œ#º÷Äx§'ËÝ×P»$ߺ˜†R턎57!ßlßÊ„­øâ7ÝÙ„kæ×÷Æc¨)°=¢º,’iÓ"Á"ÖõšŠš*ÂZÆ J¾#,z ÿ¼AGs×°äPò°ºR½ÄuÎ Ž³|¿—_ÃJ°ð³rd)@•ôRž6m©¹¦:p4éh/äúÙȨ¥îª–áÈV`B›«tµs¯Çõ=É“Ú ¿y"ú2qæPÉ Ôù•’¿ˆÕKÐcp¸¶:«Ò8‚¡Ø&F(k¡_ÎzTÂÝ]­Ü2Âä pi¯õÌ䆤™ÔÅ_ôÛ׃!•'³<Žv7²9›Ø«Ø²Ošøî“~‘O±Àæ©AÀ´;óŒ@¬ ¬¦ØÈÕã>2(ÆXOr¦«søSSIbÒãô¿.rò„7ØEkPy¹bw½¬Á’,–C_Á†íBÁ‘­å¯'ÎO‹æX³“»Z@ù¨x*½ÙªJ‘H”°Ü!îñx_Êz$ìèºÈî€L²N)4Æm¶uf-?üt\_ì^°ƒúeÍDšløýÆÁ²¹÷jOF£ä¢à©Lkný¥@]ÒÃNr‹Ñê]ðíØ1^t8)ûÓ\ ®WóïPû·äp~gh¢ÊÉY÷Üj4h€tNËtkb_KŽv„ѯÓuu­K"toÐfz%‚ž–Þòzæhu9‰“ÃÓbi_îìäF÷Û?q"Œn1ÊÒ{/!› ßjkºj\  *·Ç'þÂ'…ß›Uä­Þµj«òÓ^|÷ô¢•5çºé’¦Õ_}€î-5M3eM÷¶t¬òUÁ¼Þ1ëæRùJXM´å«žñiŒ]³ü&è1i& +IŒpA˜¹ÁÖöÛ4I1!ÒNèö¤oÊkMÎ4žã×ü¾Í2 ž?Þ¬Ê.qÝ›‚òB2p1°É}°w‚Êhå5k¬”ü}7^Õ@ý,T…Œ)¬q—¼¦ƒt¾‰ŸÔ’Ä+yÎrN/ý÷½Ú¶ Å%I¹´W«6{¢52#ÂÊÒ‘®½Öå”»£”k®wM×H#u|T2‡j‹e&#‹pЉ‚®ÆÝ2uMaäó´øWö¼P­ë㜇€FÐÅE.°wXº;Mùè95´{[¶ä"}¥iA}IJ»Ûâ¿P˜z»pe‘÷%¼äÙúÖ%D©'µÌà¤&ã@ŸQ¦,ñ“èó Þu#P26ЦÈEÝ|Øè?–ƒj;_¢¼}%ËO¦oxUëPn1ÜÁ&žÚÀ.Qí„« yU}’ÐGtúÁËv‰]š› Ér¹Y)Ñ„5ÃTÜÖvêŽV´@’2’ä_¨R>¤¹æq4r Ö]¨À`:±¬Îåÿ[nü¬VI;îÑìÈŒ¤ëÛ‡‰{·öFµ&Ör´yÓíì&5ЇÈÄ×|ÝeÉSO2ðØM¬| îr*ÊiL){计3ÇHÉ:íðNxlG áøL„ÄPÍñP$m[$^@@‡FJ¸ÊAñùi„@¼Ï‡ŸæiC˜BÃ"nßB£Öõë“À;ß7ÀeÍðCCØT{þðc“{¾Ô¾ˆ_Éþ˜ì9"ꈈ Ùß]îæõs5€»À”r?©eœU Õ¼]ÕI“mÓ8w j¾üo¯Ýi³ÊOÄ–ÛŸ2´¿Üú°½.QΛÆá_©’A-²˜x{Ÿ¿¥y-†£&fÔ-¸åå¸Y¹<`p=׿ªßnÍÖ Öžá«åíVé`ޏ‘Y°*ÕE²ªäD¤nzR’ÕàŒ²(¤å û l‰½þl+ ÀÛ¨dX™iIñýhû/?|bIdüОà@¾ÈƒLXOK.üe„løþ<ü£G1-JÃŒ©µ­6dìÚE¼ÛÇ‘))ìN,Þ®øÏ©Ô‹Æ%†]U[彯ºö±i²ºà™rœ¡ÄÜT1¾iÙ ÒLnW_ο…‰^f/a>”t>ªÜàpî<5ï -_¥@ ›kBÅtŒŸ"»¤ï Çv8W•â]n5Úÿ5óTrBzòN\‡Å¹T…-\®X—,Ѩ7T®C³ßÕñ†aŽQùýß_æÐ)þ•ùHéN××£%9±1¾™–1{LŸèì†LÀ‘!-†f·³ž/iè°¢˜ò ¸!p ý•Uéß$€³a,]€¸´›ÿäßߺ%cÆ:≹ÕêH%ìì.TáØÊ2>™¡‚ë®™£šDôù9.«]$õ“ãÍÍÊ“~Q¥Óàç¤Âþ}xXàøfî«2ïK’q­W’zµÎ’ùÉ8 ›ã"MxÞÙóŸz\¶ R#æ¶Tvú¶MÊMÄ1"©R 6Ã랢˜ "øÚÓÜ»½F¯B³oÿÎêÒg¿ ä? BéY¬I‚îêRÇßõ ”æ‰ð Bÿò>—í¬6®d3pçñŽ£ñϺ—ðeQÍý9mOV Zh]©GËéìÂ8艩ˆ³äÒH(iAE[Üʾå­þñÉt!«’‘/7eLÓRD®lgÂ+õpºžW^¬ó_ø›ì¹TüŽm¯“Ö64ÆÇiéZò%/añ?Ó•÷ý –ŸÊ1šA󀉲ŸZÿR›T ©¢›ëÉYõ&H¬¬Ë¯…¹åJemÄ@[Ò° ¹öù­yêy¬Â ¿j›}³’Ô!uFÅdÛTäZâWæ‡ïǷƵÔrz,›g#q©¢?¶·0\:¼Äàˆ@ÔNàoh è€‡õþ6ÚC²·Nk[™Š:;d㳎>“ªà¶," ½E1Â&͵²vxhóÇ&ûPeÔa¸NžqÙf  ^Χ]ó½þÒ_j­ÕåÆ%ƒë/{ª—üÕÄ›PD¿‹~órb²íE2ùòZu\»0>å\‘ô›¥Ü ÿÀR;9Ò— 4*vtþè%ÓòsÝ'érj&”‰åvò“SMS‘qŽ Æ|ÆÎ¡'Mò°îQÀà&ñYè­-]*väaÂdˆýƳ'@qi?*.þÿôÑèÿ}Ô7äÏ#â¿ÉïŽq ܬZGƒœ~6##°q>ÕsûêÄÏ"e»Š^àIòVhç¬îEø coÈí%óŠó$TUdOãDp ‡™i…$¹ 0ÀÏê—² e­åÂ2bÁ*ñ†t-•Xk\ÇQ©§‘q/˜¨ãörõþ€r²ªO? XdŠ“V~øûV£ˆdH‚E¦"·šàj”ß‹ÛÐãÜZì‹%Õ)ÒlWÿቧٗg·žd8Þw¦2Û ¾Öÿ6bÍ1$.‹z|"=­ó TÏ-ÐV§¹€¶ ]icÇÈe4ôÿwë9¸ºd¥óR-ßÅ9Àoh" ½–C‚êû$ >¨üF«ÁÞ¦,› È™‹¸ˆ=fìTvŠWq,‚hŸÄ·q¿>ƒí&5`Âè«Èö„²/«xŸ-”Z×'3 úFÐÔ~üà‹Ù"`ÃXèÈ …bÛ~ìëƒÇ?oØ.P:Íž¤3m°âc'cÈ|JñÿgúnÌpn‚%ËÞ–Ì)ìÚSíBŒÆI–„gõÿ“¨9·ópÓ#(g¸¶ª¢/cÑP•+|Š!ŒÙÀWfeçÿQ»1J🩆L†ÿ¹à q)¤êcAŠ*á€ÓóÄ—ÄãIJ,Öž>8`‹!,?Q bH©¢Ë€³ïÙó1~õ:‚”^l³Çówéi¬ZFìUCnCm9W²Hö¤¢^Ž,®Yñb±0G¢ >úfç\a~ ÔSçNMRr>Óó947åø“/Âz©vF+€ØB[<æËêg#?s³G¢_àû¸ÈD%‘Ù=•wI›}h@]\Ù²—Åׇœ¸U·š‰ê)­ˆaéîl)]`‹ká†ó;ûÛö%)oD@F†õôò¢žyÔ}g“à)ÖJâ ¥ë=¹¤f>ê×›ª–îÊz49êùHàµ+9;0±I)¹…U'šKÔX# ÷ËCBhC*Äè;”M³ÿÁøLʽú0[£cÅ×tÒ½v@ôQúQªéûÉ%Æ|I€!Ì;¿vöJ¿Á4 lVhØnzŒëÞÔoKô’óébó0üÍžQº ˆÜ¡f2ÞÄä:}jb,Å©ƒ±zc@<|ûÉÍÎ^K‹?Aq@»kËlóàûé¢åùÍ’ »ÃûWá:Þ$Œ–I+<*(¸søã.¥§—ðÑ’ ëêOŠõ„‚a®K›•©Šëw0ä'´ÁƲ`*ôë¦F*žHŸVîf̺.±síEtK™r}J¼^±# Ý«bõ„ ŠÞô}åîÅYØÅ—ç˜ðw:{RßL{§pŠ >c˜¹˜…Mt/œ,à.MŠó•ðhb+á“£A1ãsxh_+H!ü2_ÜfKL"¨ÚDkh¬ÓPR´k¼‘9£ö–iWgCšm…¾¤¸@ßT4ø­‰Ãb]J½ä÷šÃVòû›(pY×(Öí‘¶ëðÓhðË~F7½FèrÈN: }írl0êØ–YPáv¹= ÊCMé¶$ÿ`A&çØ6? ž'al¥.£ŽéÚ2¶O"Å?ÒÆç~)eÊ´¥Àcis 5ðLÒŸ®æ{H§zdlì.ØÂ›®‚zJ‹ºE¿‘©±ñ‰h‘@^w¸9‡ã©<¢$‰%b™ÜgÕØccØ12ÀCuzd˜¸³A_™Ö!Ö=ûN& ]ÍaíБÓoy0Yã‚Íè¢eÛì°£þC}eà?vÏúÛUx–k”ñqÖ%V‡âY™¼ã¿,EÇ6äVª ›¬îB§6É.餆¶á<›ýLr!ä-&´íã‰'Írâ{pâøÀØ,è0Óìc0^Jÿ›í¢õv t*fƒÑý['í¶üì{$ƒ¨®}€]k)0ÊæN‚R«càhà}Z ¡Hþ2ÞÍwÒ ^ ¥Dói'E Õ,’*‰ ˆ‡é=¤ >{Üg†£ÞÏ"ÁN+@ËàvŠ;?Îg éæÑœ×ÀiT3"y— —þÙ!½Áí.tú¹œü°=Çv,ÖA;ÿÅ@ãõò å%ký%äAÀݬ†?ÃbšÙÐ,¤qh.ô‘~—\x}ífswÏ]£lœá6mæ Gˆ<®XP*‹ºE,hüb™Wx3ÍQ(GF £³y³Ø³ôE}NJ¬äM4²ŽØ–düRïóé} QØ'êòAX//± ÿ°Žn—.}|¥LJÀ!½:ˆÊÎ Šýý£²®ÕET›ÁS”áSàæùîs*ÊHVnÝÏú—„Æ[_®‘î-IÒ ·kîÇVku̽CBúŠI~ë÷Ìd}pÙí9E5Ü_ŠZÈLò™‘A=†÷¿`.×VpmQáÇųrŠÑ˱ãôàéUïJ@v̆T¤çsŽ95€óT´Ã2GB°Oñ¢†ÍÒÑ®'ÀA*iz‰*`Z†‡E¸¢-7‚K„^ûr1¼Pò5£ä䢻$’±@äGKñpÅgÓÝ2-çHÿ·|Ú u6_5ööCÅåzøØa ·£·$¶¡8Αç,SÕ†dqF”³3 ~ÅÐíhp¦Œy1¾®ß%B$•‚ýÌo'‹Ê¿Þ'r{yá8îÊ9UW°G’¾‰Å¿?ëi;4VÀ1Ýõæ"¡)‰”ƒ?.a¸8އR„k잀H¯O=ê–OJ—´¼ƒ}…Û†¶¦>¨ ÿ«( *Zýè½÷ÌÌdÇ},®é³îÁ;UXYS ȰTfêâ¶„–΂¹®›¼‘®¥&ÜA$‡ª<ËY¥Ú-fõÿÑ_H=ûÑ¡‚@7¤5\$R·¿ÖÕfŠ`Á½B®¿ø‡íÒwŠ —å„\BŸÁxÏ%\›lƒ½o°höôè8Ã@(è¹Zï%Ù[ZQhCh^O[ë´´zv,"ï”KkÆ”˜úEè5º’5½Š0µù@ ~kÚ…[Ñ-FE¥âÄ IÙŸ]!†æÈµÞ¢)Ø ¥äX;’s®_ë³#¾6~ƒú鋪@ùðÙ‚2eÁLî9ü÷ï§l¬ÂcézÝÈýÜé®óá6„éîÐ,e0¥)Õ;X.jÓ‹@Së–$50 ¡¹= F¥¤©9#þ6@4{Øa9GÛø9ïg°MÕ?óŒ/q7WyMÇø˜#R‡ s`z¿ª‰¸%!= Ñ5»U+ú×;@Nɇuo3ÈSóˆo:.»ö)1Õìá©E#*”}Onê·ÄE©S2Á½è% $T _f„º Œ<'ɸ\uBÔsi+¢²jŸ;%Ÿ_’™/z´55Í’Ñg(‰öœïX®••ø™ƒï«îm’dôtå‰? BPÙšµ+kîA_4Ш Ôê|Lp:z˜”|Û¼&¥*V#²rØÌŠø†ÔSJ÷å¼ñP¨„ïŒÎ^7è:u{*ú“7”sÏÓ—ãù™-Fƒt—ÆrÊEøƒѳC±Uô!N¾˜G~±åÁË.zÓOùÓªDYæ_@¢ÈÿërãΔ©h¸ºíSåcóïKæ–¼§¡+wñ«JÕn­ÿÖzÝO·Máùº±’€%=ä.ñLþÒåÍ+é[Cez³“ìs*K'ÍÇ“hÿ 7º“*IXbÕGÕøN~–›uìó_Q‰så_74ᛎ‘‰ w d¢î]CM÷VIÑiyKuTˆõÐ ª«8BÄá _Ô‡2šY h€2ÌãÔ%£•ù6èe6aIigÏ…L AbÆ{v¼Òƒ ®ìfͧË\®6Ÿ}»F„IA¨‘J¡‘D;PH1Æü$ôºûÚôÎ^Ç€ x¿«|ÛT–¶³g\EŠMЋӢ§cûE¬­¯™úÌiñÅÇJn’*½³Ž<#ÂTmÐ%•'ö1ñÆO€iEhIÂ'6vY]Á=‡a€Ö |Šs’™*ü “ÏM¢ö)ÖYã³£ Uå³òêTã‡=7`M¿=ñF{O4!¤˜DJE)Céï¿Í´Õ=$÷üåäþëb?q{Øî¾GŸ{á3u !&½7¡geoç6¦ˆÈ'kú?øR3%‘¨#!±G(ŒÑ,q üz 2%˜üX§Ü•° 9ròz™IZOYZD ô­±‡C­‘ÎYÿ¾¬f¨%ã„B¶¦Wýï}å©"¢(a•[íÌvŒF.žfàÁ˜`o@6–nìÆü«jiê¿7÷„âš+z†jï:^:=-ØFfÞ_,ê>Ù…s´ÌT²šÃ8È Ì±Õ§ë ~©=J”ØåøôW\¼ˆ‹''ÌPú=ñ£·ëÛy`£-‚Ô90Á+Ê0T :H:^¯ô¸‚‰Å ê°Á¦¯ê§¼Xg€c5ÄÕç8KÄSeð*Ÿ÷A05ŸjdWÌåÈ%Ÿ Ô øá “”wÛÙŽï#Z¢kxÂEÄâYá×/©åEíK9¢è5ůÄ?vóY@’2^F]¶Z|t'ºRñ|Æ6Jü¤(ä†42É E”a? žs- -ÒlxÛ•¢À²8ÉàÆæå뇼¿½nרO`3ÊÃoª‚0p"€Z~éþE‘Mö¹'9 :žá½FÙ• ê06’ÚÆÁ{Ö|öÓ¶è "þ(_猺žÛžÆCY£YÌž<5Ïœ)Ö—xŽœ'MUF¹Ï“ÇQ'Q#SôÄMÅÐü¨*óìˆ;+Ú±RìLó{ù}»RI½õ™mù³¯ ^XcÜ+ ì®Àj’“ U5—Ê!µÚ5¥ª5J ¼,/§”çÃÔçÝk Íåñm1 .xpF  ªï”¦eƒ«×§˜+ú§Ñd•t!š8‹_²’®Sœcúké vIë œåGœ‡¾–I¥Ðb äƒ&â¼a*Z$|ï¤]ÝÇ)ûR\ ô1W~žhó.@«Œ[Ã_]ÂK@º8 dXböØ~Ø[¥= …®­¬À±¯šxò±Îࢬ¥4@ô(d5ê ú,‡­-–äÕÅ:sn«½®O‡ÔÂ* Ò¸b$DÀ$°_k'úó/$Ø}H·TT­[oèp«ŒIzP—aJkìâcMXî°çi¬«pV4éréfÝw3®%%žnà„sà÷s£wÓu½áW1¡3â}…ˆN\÷1J†YXûÎá7 ÿØîXOë$ 4ƒX¥ ÍAÕýRš°,sF…v/qZØùiÁhÁÀ]Ù´ÔýVF6í-ÑØ¼Œ+Ot!ð' m.ø<›vNíÏ ÚÇ =|Çò‘´ÿãt ìS•–—HÁí&îëQ“Ô¬bµq´·³f@Ó‰,å£NŠ‚WtYVˆÞ~²¿ÝÆ”Œ‰&nA´PÓÌ[šü¬ ¼i Ì4½œ->׬²éÚk‡u-£šbXb+òÎJ;glpRù. 6^ÊW³Î6‘Ûà Õ&‘Îôªç¸Ø™ØÕß¹J÷° H÷\M7í°>=¯Jû¢¯ç¡ÓõÞíÿbÇû&…»¬Ž¥û7.¹s%D^Ñ­+êuj=¯óOÎÏH„5ÜV´xÅqæO署B|‡è»~Ö‡Vðµ>DÇóÀIÉ€"Ÿ {ƒç^k½$f1 ¼êOÜ´.¯ÃÍÅOwG+΂úÖ@nhtx·ŒÝK¶ÀÈ UDÒV#)Á*nE§3Éò@ÆJaïiè«3óÃK‹Ã$‘DýmþØŽ€8^þA­M]§[ÏͦIAWä[áè„÷1}_`÷!øˆcx¦Fñ-;ë»ÆZqïw-¦ŠvëT«xä"‹bÿ~:ªnÊ®ø °B­½ÿ_:~z2ÞÇudð{ð_hÂ\¼}Ù€@aRw ½¹£íVF‹ÔLѾ„;hò¸´¦áóTU¨š+; "·SZø¨ǰ…T?ÔI ÿ)¦.ŠsÙd4G“ö?¤ÂÕÌkˆ¡Ûéž A;ÿÍþ/¼ZÙCDÉbç' )Án4yíqðÄ/˜· Ì&$;zþüÅ£U9.K˜·ù}_"pÝ猊[ÉK¢dëÿËQ†š‡+3Ùé /(EV¥…7?=¤ðEL +ÊfÜÔH&¾7 ý™o'ç#4~Ïž"oÀCyEß Œ^Øû­õ0ßµ<ù%øip?çö§šV«VhôÍ^½è€\K¸ÿ‰ßR(i é-+?oQ‘§Æé€ë³±´Ï‚d Xt,1Òͺ¹‰ßª–s¹ÖÜ£^TnsYT“®<†ƒÞš=ž%åŽkqÿŸgz÷”Š¥Ô ﮃmYsN~•©~*ÔÚÒ^¼ª»|°VÊ·ZàïkJÍ Ø ÛhKW½ûÕÇl1ü+d¶»KkËÛÆS9- |.uyãØf—ýâ6ºê²´m¨QGìéúb˜‚§ÇlwCdç1W‡·ég–—\ÒÔÞ]É£qŽŠ ÙÌ.ã`õP+‹/Êc&LJ£4ñX±Çyð¤DAÖ;˜ˆ¾ôJ.çŒÒóÇ;#$éSÀSß>NõÂ58\hé ì-:¬‰oÏù®R¯$š1ß.‘Ü,O…ÚðàwN³ÊìñLhUH  ½êŒNàÅN§ÔÕxÚŠ$M c(“—Mê…ÎÍ€’ð¯s'ÙÂÿÒïSª„EÈž_ä'¯b'è|Ò•>s eb¥~à)iƨVasâéå »Sg’ë"=öu˜MW £s¡B–Ù»º;¶ðó«Ý³ Ž^¡ž“@SÞ§©6:žì&úÚ°AsèQüàäÁ•ÒêÓߦ݃BrÀ^Èíò&û Þ?á<¡üúSÇôİ µNÚæ>ÈñðÄg¤œKvp-r–Ò;Õã—5ÚÉ<0._%²Vê\‚ËÈ`o4ƒD)Ń×îi!Ž ßå@Æ#Uy&úCZæö9¢Ô·Ç ‰ÊÑíqWœËåüÆ¥TÙ3ó}dÐ÷h÷!c7³IɧÖò«Ül}K(À(œHÔås™Q‰ÙñÀÖáê^÷±˜¶¼N MOž¢ìŽqÅÀþ:ä½m,• ih"žË~¿®ÕŽHV†!?kŸhp¾\d¸e[®êÎ\ë|L×rN }”Y[ŸžÛ¿…Þú^©Ÿ=®í’\«eƒkìåg«Ãÿö c€§JùºÓÜÅüÿ¡ˆÓw߃r a"ÔÞÒù:“ePŠüoâPИúdy‚H›A2 ¨úËë^<†’hªë•Gqhˆ ªArø]šq”ùз} Æì‹Iqtp‰³"^‰d̲‰Å]qò‚e•¸oÓm½‰ã¢h×?"3ÕÏä¾ ÷tCÜÈa ÒÆÐÇ·íJ+‡õüNdz'›{àm”Ô‰ó#×£]ub$Œ˜à’JÙ%ô5Ê@é³[Jƒ±™aõÐò4@2œ|Äå™çIoÜ.lv6’oK‘-̶!ëÌö5éáw4?BÑ+‡zîÏ»ž5=oÜæC´X—"ö¤³çYͽ3¸È(ŵ^¤êÏoï]Œ À+>Œ>¦‹>§Äξ¶æ46μåÜbóÛÚ³Š§4Œ»Oi!'ú™ßÒžm<˜­“¥¶ÕX“J>- @î­Sç¨ìçÝÉ%Ðt¢ÆŽ…½ã¹U2‚‘¾Ž.ää…×t úW’–W{¶“oü,Þ ·bÚdM_J°æÿX×9@¹…¬{7r¯vxÿê5GÞ–#ù±‹ÏÅ,åoWÂî=Ÿ©Ì9­ãõÓ f€`)6¿p,(Oy?Í]6ÛQíw¬” ã…¡EN騼Âo2ôð(Êa…$ª@x¤VR—bîøKAûD™+꬧sè5<´òùK‚—ÑÐúNƒÇÎl³wªõ«Vž8>³A» ´Ì”†ÑŒÎ¶B» ¢ÓÕCú·ä¤ --šBâþ%Ø8ªÔós~"lØv¥ ÍjàÿÔIy–‹-·dÓP=äÙÖI«_ŸˆÙ…‚bý‹{>£°1…¼í[]ÿDí"ž«ä#§O„•°9E#f˘ò ãnEÿ󢯞ÛzLÙ}É^J=ÒFé¹áMM¾Ôi£>1Ð¥¾ ~å”O'ǃtC&$Él¸_ÄŽç ]ižhžŽÐeHŸRAìqÎUaxz Š&±-1ÄF‚hIif`y]×Ñ£2ceàkRÞcMzT¹ó½ó¤³ûÚÝøÍ Küºñ¦j–}ÌËþ¹+ókü +iæáíQ¥ÎY¼Ô ¾>t‹©ÉrOÈW†Ð8ÛizǯáS2}VBnÛÓænÒ`J߇#­% 'Žd–ÄLÖ k³ÉÙžöé\§(§eP©&¥zª ÁÁ0Î]¹u‚Ë)Ù:l‹#9îˤÛvåûê @¤ ×k¯ so€Äƒß²¾ü NÐÂWø]…£Ö"n«³Â›Âí’„!vcÈýFBÑËPõ#z&J» °†Ñóûþ7&²¿°…Êi53Ÿ¿‹.äY+ LP)#”› ?-nSi]hk kNe}¸£hýM‹ ®ÚܪŠÓÙ«Áô²oŽà‘XQµcɽýÀª`rÀÈ£|l¾ÞáJ³*¥¶u²üÚnܤʯåÿ¦÷ØE¿•ž#˜›Íª'¿%°Õa[}j†>h!G˜¬ÞÙìŽÕ:á…8µ.±0±.ëÈr¬5 Gî+ œÞsÇuZ;s8mÝ âÿ\‚#UŽa*¶¢´ßøßŠA¯Ä µ2JÒ˜N‹oÉ;E’LÒeû°v^ߪ¥&o„uZÔ³[’ƒÈŒÈ9º¦SH{mì4Yöª8ÜÖ¯»ô± ÇÂîÅfµ+òD5È¡”iØõ¨âó‘Šû?ÙÓYÔrÝã|;É?…Í>n¹»?jUÛØSÊáƒn Å3ÄËLAd;«YœðÓU^«nƒ¡ì É``-¸"¢I®¤—À¶º™å1‰Fœ+Ûÿ¶ª0¤É§á2êÐ:þÎÞÖ`¯û#erEô]ø–·§4¤àü°oºç×–‰—i6„˜ì<  N`æùw£ðNŒlQźf•yB›TøÛZžQ½Òé‡*cØ{h°42S¨_8‹ I^i¤QcluaÓÓè gW܈´t3~Pö»ð¯Ä~Åh=t þpæÔ ½-ø•û¢Ì®&£|ŽÞ¢7C2N€cÙhŒÝªz‹Åc)zèæñ—÷7·+šéuòóqþ{´ù1ÿEï=R|àØÇÜBwüi~Kp)a]ZPRêêÏf­áÇa8ñ6ÄQàC4枦φÀ§m#¯£¸‘¼Û4M˜ÄçŸ l%Q6<çDáùÊÍ7ašr.ªfe?xQðŰ_sféØyÜ ‚ÿ@ásü àÙä…M³pÉ.ÖÎ(á ²BaY{ükâê0²èí×èOykðØê®²f åT—’û&ÕÎ#ëŠ §9dEr (5Xo®lÈ]瓊N½yèÍïÑç!3@ÚŸ¢b©;§n¸XÝ´€ÿ®qk­!•¹¨ðšÌhõSÕЀð.ÿÜ0Ìó÷c~ÇKén½T‚*ä7­«b˜æŸ ý@:O@­âñx&¨ª×Æ‹šÃ«r»%A¶ƒ`,‚¦É]¾ÓÅn3i̾Ñ1•װˤ~H u0þ¤&¼v‚ž«®D’ݵzg²÷‘fÖ#q—'ò5Šßlþ<:µ§wÕÎv/ãxCÇWúe‰)F63 çðÏw¯x¨ˆ¹ß5tïþÄxšãhaâ{ ×ÈRÆ¢\~SÆCsGYY12š9Ý^q‘Lº‘Ôbð¥Ah̦@²AI?Ï ò{ðÕÀ° >…µ¦:e—Ëê3}eíçD>¥g×p¯DŸ(ZE4Á$\PžØ]ô³;öÂÒžeÿÓ×òZ, "÷è’™ðSÿ“¹ÖûÛatnVæWDöáàWÐÈýú§î¸Îò¼U·{.DQk·Tgé,"9;[%“c㟲öŠƒ‹r×_»’x‹—ÖæŸ8ô( ÛŠc`J]E«=óB”iG)^µÍ©£!ÿbT1›ã·¬¿#—Æ\¶Kžz#þZfnD•ï–¨N‹µ``aÁ”ÈÞY¢¶cÉRò4«}øÊš¥‡ZË š¥…ì}& .R{è8woÉÁ|'y m§ €°y-›š›ºõ/÷HvX/ðóX©•gŽ‚œ‹?¥CvÄ~Þ:ÑÂ9ë'T¤iuDn”݆­)µ™)C‰ÕäÓ’œ^â4±¢3¼F÷úmãBŸ9qà*îôPQþàr6š±|±r½2¢¶c_Þ î-WL§X´1ži_óò¡9&ù}‘¡y}XÑç€v*³äí“hóá$ûþ`Úí$®r‘ÍQ ¾å¾ò®1åAôU×Я‘™E2<~ЋF&É{mr®á|-—½8X)696»\¹óáÃß;ô'¯õˆÿFìíníîxšÅeÉMA90((Žm–Éî-cÊ@ñÃE §Þ\ǹ´d™ct M7_Œ€WSàcÞÇâ£sÌ”hýrÞ\[ Ku؈éíóYá (õðÛÐî,H|.ëm ºþ/`¦èLÍ´®z§N¸CÎË›Ê[Êئ€}ÉÆ@2¼ÿö¡ý›9m¿wÞX’å°­­Í'bmÉì áZL®*mñõ M礙m}þÎ9êB)ãc¼H?xøLb­íuèßí®X[NÓ3æwaq¯‚¢¿îYÚnEÖˆ] å##¯ƒEù›ÚÜ\ÜÓndéG  gŠ8„=ÂTÌYæ/Œ“íK‹Õ¿"Rbñ·j `»f®;AʈWÏçÑ´êù"â°?|¢ï!åyzm»A|PðCaÙã_Vam_cb ä÷pÞ*ÞÑýcô)ðë†Uº>úãðgþgêy° pF«í%¸µ¹ÁÂ'‘w>žÚ‘À骴y© œ+ž_AJ +ýM¬²U·pžH šÚŸ%Îãã:pg Èá»XóŒÒ£»%Ò²2~¦Ç¨"Ap-LtOÒ YìÜwnŠ_€ øX¥`›+œ ók±‡pݸFy¹f§!VÇ,Å6L œ¨¦ôþ‡n:`€|@}ã©>oG€½Q¶ئ ˜ ØÄÒ<¼*&)ߺZÅ¡ÿ—†Æ‡Úï“Åìbq¾Ò´¡\’wßsûiä#& TÁ –ƒù¿5!'‚Œ_3•bðHÔŽýéØ,¢¥;¦×3Ì QéímDë ڇɒ¯^¹¾*íæ[‹ù‹¿»/ãÓ:¤›ä…ÿ<"Ó<ûÉDÏ.þ2!¾ õ2V–’›òdú7ðTÿ]LƒJ^qx%âÉP#¼“ z•m „^šOÒüý_Ð<%Yø-ÄÛ]Vd‘¢âã†ù‘ÿÊN¯³k‹ë&”'̤»¤ÍíDw‚!ë{X`3üo&pPßojL ÚaÏÛRLMìöJâ¡W R%Ž¿Ôozýxú>\”¨Î½";ƒJpK 2 ù¾ššA»27LYk°ü;æ‘1˜JÈFXs’1n ÔݶP»¾T¸=çÓÆÉˆéÖ|r_hƹ¤yf`›“Ö/ÒEZ‘,¢A~½ÇkÌ\ûe(½Ò½íjEŸ.9¹fP­D¸èa3o‡-U1×+C#Øù[bøãþȪ`¶ãÙåÝä™$x“©Sˆ"I¿ÀÌcÖTz×…ð¡adϬÃË"ªÜ嘬#X›÷ Dù'&1=‘;F´ãÔ£#œS{ Û,_k½ªß=þÉA”Ï bÿIü©Q‚ÜÚoý¬ã¡÷ö.Å”Ðo–;@äŽxï"?°51F4~Àñ/³CÛ1Ýœ·¨ –À²VTê¯h(2. â{K“\¥kѨSLÁjÝ.yY³² ‰äü–lùÅ„~2ZˆœÐãë»X--µûÕ²ðk^ ÍG…ÉÜ1Y?#g!=d8ç…DmÐD*‘I„"ØÍ%8K¶¿ƒŸ™0Z^ÖÛEuë¬ؽ0r4pPWŽã‡q{.à0¨‘ð&ðÃH7«Ùaóxý@áÃ…ªh^$ÄŒ«wwF¶þ71DpbIÔ§ ­¯Sÿš±H 7[bÃÃ1™?i½´€ËrMóz2då󷇺…b:òBöÏîo”P¬íýU§+¥Ÿ$˜¥âë–wW »±æŽ·–¹×AiRq*„¤cš”^ÿhb÷Dù­¡@ÅöµÎ ™ya:câ1'·èÿT¹ /ÿœC„lÊ»£ú%Uݬ²×>ÇÕu‚)Â}£±²@©‚sr’qç<@Éõu¿ÃËÙCÛ,J\AbmºŠ0—¥n"u6PÄÙ¯_/»<æÓƒ•9¤¬¡‚p‚R¨‘þ%_š|@Ö½Jgª¹MõNpؘ‹øîûj¡uúâª~Ñ#¶4ø_"üšÇñéÕ»Ú¼Øq2 ÿ^5ƒ´½0,„sÿHC·«|ª‡êÌiÏ'íQ†éˆg1¹èÛfà·Ÿhü‚x–}ôåRûHÿfiÉää«;½Ò­FØóþþÔ¡ŠïÊnB‹|fžCw‘a>,-Ø,õ“¹itBlEíê°FÕ“uÅ›å¦~žŸïè~/Ôô{¯Á´¼ŽZö=e•¢Ê‹&êB‚"_tÒ³ ò·£Óx“óŸfs)Í>¸AP '©™»ÂñèÑhùU¿«åÀLñ¸±Ül"’ñ°„õ*Bè=+ð¨øXezÖùTÃX:å±#áßaµèúՖ¨`~û%€¢½¢®ö¼ÁÕ¦»åX4³h€3©&¶Î[×uì‚ÐøöY›o –E7ð ¡Þ$ "·µV—FAvÓËx+ —p€O­b l_‡qU^¨õ&œœÍúC.#"çòRL…’;º.eUövÏm$ì1ü‰:bË猜ÊYÉPËØÑ‚¢a³äYYH<ŸŠ&í9OÇŽ{›¦2•/if+ÈÄ-ÎHâöGÊ]ã~x&ŠD¦wAêAUi¯Ì&‘‹úfÅ®º¦ä}§0ÌŠXByS_à/Ћÿ©UÐnnšKÖòyd¤Épn¬3Á_$^ _ãP‰ŠØRÊ×°‘ ›Úe,Œ5ä;‰uŽ#•Ç×øìu¸° J¬þq }€ýˆmØnœì tñXnP[]¥'Kóo9ÝœyéIÝØe\ˆÖ íê9Jw;˜C¤o=¶¼ÀrÊtÑêµ[ˆAÂ|úæ;HÝs]N¤ï¢ DFGo'JtE½úJB{ ¤<{ Ðlà>õh…·å¬ŒÉ· ,Ï—à1vºJ÷i”¥Ìv!L––QpŒêzh]­úïlã?”ÜfòÓ‚'\¬ËÒäÿþ7|íæå­u¡èä,_=[Š9ì<]Ì—›’ì_ý±´òŽ_m‹§‚¶Â ‡ˆ·ó* }‘+ Q<»€,• 3màP°Ò'(Âws»!èO~ôN teuº–ÿ„fá9=LZ'È äoüÒãçki‚B•84u³H•ÜÏZ˜\¶UÒ—¦H{bdzCÿg@¹c¢ûaBvÀ¬ˆ…¡÷ããN ÔÛ³/Æë©ëÆt´Úòݹ˜®Ãš)ý±½Ñ#ãéþtûFs½\Ï\Túú?v–d÷ð?Ϻ]ˆáA>““ê3®•‡`aÁ¶åD†ü »–\Þ˜$N=/̉*–í IÞ<6†óeZ´Ú¿e\LIÍð’ð¨g]ɬ0ï5n³9A±ˆ“•ë€Ýƒ4êðHQúÔ’Lb-ä(•ég1ƒò翈y[¤Ëh¤XjQ:F mÿ†ÝOlL[VX³þkÝñ=[Šìkû~yáoצ¾ú ­ÝÓpÒ,¯«ÿ$$®I˜ÇÂ*•.‚1 °ŸOßY ¾ü¸ÎÄLûƒìLUq;‘,ÐÞÝ©¡3‡.7ŸæÕ ™`5ùØõ•`¢Í±I@ÜH/3ãwïEþò@t‰þį ð%VràÃQì©Þ~Lo¸3ž»áÛFxäÔrÂVîŒp­jš·B¦8l'Ìe× ï¹áÑ'ÌűúÔ®QÜi%´m~ M¢Ü£cŽ@%öjëª}¹å'%9 ×Ï'Ò±b¢(5û6“>$sÔ#»Tˆ±¨Òç/òˆNé ¾šƒ"ùjDÉñÌ­êî:U#•Wm`G¸õQT”òPbcÿ"©1cHpyZ¾üÀµGòœ|XíÑÃN»Â4%«Ã.iÆVP.O¸` ’Ypì¯>y·ÈÍ-‡Š#l,ÐÔÃÊ=ŒŸ3HÀâzñ;ʉ²I ¶ažý;œÊ|ýóNݽhYÜ›äÑÚoïítRûKj®üí{P `ôm_f.¾Æa‚bljÓÁåfÆI‹C‡‰ûv|»šE^Ü ¥ÂZ‡ãÂSÝoúLÿK_:j”‘v;äM~&é´ÅŸ=Ø<:Rb(§Ö0Ë dŸKÅ.¶¼‹™D¦7ö¢kO ‚*] !ËÏàg’7qT@|ý­ß×4¤×Q£ÌÉ sÙ2€œ°q(l¿¹2ÿLTò‹F§ÙùüÂTö^zž“— cGê½™êÀ0×Ô¯HûL?éé¢Bþñ*Û‡ñ±O'ºÃ«ún<Ð1+Šñw«C²¿E-p¿%+¼ÂyÐ¥Qb…Bz/:1Kwa¿pïˆéí¾h±5á<ªÔ-;×ÉT°92rMYÉ.3@>W¦pÉûçsßÈDÌ>4(WœŸ/ýËèÍYMŒG.–Üp-aý.6Iø8[~˜¤Ö¹Ì~þ}0ÓPÅ áv ž½€( k‚ÜŠ,»$î95–ó±IˆoPtì^Ã~#Tãs Ó £®i”ù™¥p«Ñïåö|$íö[3÷Þ“Ò+Ë("_@[\ÑŸKí]gÙÈ@¢µ †ˆµòé 6ÀœâEê&z¹Šl…ŽKÉáo.Ó³âóýÓÆôKð#ü°çnúåðšG ùí!ðqèЙ¤ô,¼Ûà *vР÷C\7 c¼î€kàf7z6ݵàL¦Óç±T°§içŽuvØ}©›tyúa…o8&±ÈKVÂnDdFùm8EÿÍG£é°…é\¿K„gu‘„Nnz4%@f)B†YáùSiù‰ÂÐs^’¦âp`Í‘½Ð2¡Ð¬Ÿ!½Æ¦²L?ë¡*{ÿE¬K  uÍŠc¶û×Iï퇶9IãÞ Þ>…‡ŸôMÓôú×qãJÊ«=QÐ!iÄNÂÈ›¿Pøºã°=1à÷¤ÛS{‚\ mvß<Á®2 ®—…'˜àyµT¿#&>â™^¡ãbĵ3–€'6qô19æžæù-ŽZÖ“ \ šïhøšÁ‚Ï—ñqÊhjù9^ˆ&®E¹ú’èZÜxB5ô7âj`z \ut„_RʳÜåfO¾¢~½¸Œ wѽƗÈEŽŸFŽºV•ª eë Ò–uÿ0€ Táä;'—yL2~´Eˆ·^-§¿…Rx«ËÁPݶ£vtc €Y4Ñ]ÿ5å¹ÊòXOJ›9HÀo4£ëš¦âå[6þ0lŒüw˜ãxÐY*´a¸‰»iïžJô”Üå¦ÂÞ« ݪûixõ¡áX£^3ðJ¡ƒ‘½¨~‡¨Y×–…$h˜Vfÿ\jQ¾ÇÐÀè;¹÷¹9jqÌÐÉnRSñ‰QHöý -ǃî:ß"(Ћʦb—.K¯4¼¿ËÃs]X¼DsU#cd84¾Ê¬ñS¼Ö:<õ"þ/{¸Ñ¦;—ÁÙÙÇ›U¾S¤›wPkkrºæôô‚•b£Ãxd—K„òeùE]¿Ê9Óc´ZŒÈ›¤6Þp¿ä¾xZ˜ ìy¶àV_q(öÓMe±Jéâ9Yª”ŸÁâX]‚Ì’•[+â~ ¡;¯­¶“Ÿ· ZÉñ› °bÂÚ<Â…ó“XM\D!¡ƒvkn­ÆÈ7ÛÄeR»j+O— Ï¥š^û¬ðJ6…ÏŽ's  á6‚Sbý&ƇUo| ¡".›58ÐÃRP2¶`Ú5ÝÇMôoç:P—Â36“LáÏ^ûOâ%ø)6L˜°~±d)ž6‘ûkÆ‹½¶|¥ 9£äXÏ@¦ž«ÏЬŒZR+'h gõãõ”(Bvsoöõ"•—ˆååÙ\ˆ/U_r¯¹ÌˆXd2eFã½yvº ¨=2dÇòô{Õ©6 è±å„qä3鈳%¢¤)ôï–fÞ Jje{±Í+ÜøIÌD€ÌÎ/xW”qW]_d`怜šä´j·Á ¬Ðû™`lÄÉWU>ФÇ_¦)Dø_ɸݻ‚rE¦ÇÖ¤°D¸—jUŠ<()S`·îðá12Uÿ‹ò]•ºÈò{¿}6»2ì©¶Ý•Cšf~*½É,P»lÍAÆ|5ª±xkÊÇÖ‡[èVQsZY MãaåÙ÷£'%ùi||RÔ¾+ç“ü›لßÉ›ßõ¾ª%šJêuÈÁ‚u}ðH©^´9ò°Ë¯»{·Õv·à†›ì4×øk´ÒßA½¸¢yGg‰™ºÎÖ^í§Ïš:uµ5$–%Ó9^ϘÉWœàIÂÚt¤é;¥}`Íq<Øä1y”ðcP‰r}a!ß{lÄ%¶Ž‹Bƒúg\üj‘ªt¼:ËÂçDsMkW,Ð(“QòQƒ(‡¡È¨@;DS9E">-£¹]VJºWòp;§m½†“…ǹºÚø@aýÒyÉ Ü=G Fî®r. L{fGDÝ–Шf&Óß„y#V”å7—›W š—Ò%w/â¾2mC@fõ‡àÌügOO•¦ÊÁT\ôUŒÂDѬëÖúZÃÔ,« n¥t¢³äŒ˜ªUÎåùý¶¢†ªüª%Ú›úµ!i@Z ¿Ö°S¸z e'¨¹€|Ì !ñ——°ÉjúsLØßú“=Dé¿ËgQEìÁôñâybb¤¤—=o2:ÄS‡+%8•7˜Æ¢“Î-áöÉ6ìl·Y@µ#ÑÍTÅk:©%M‡Î^ÿ}®ñ”Ò²y·£î¤À›¢‹éSMÁ‹zÕeˉ Û«‘DE-ÝÏe2»Ì”^oÍ£×ü ªÌ»ÇBÚÃy¹-bá…ÏYÞží›4õ‹h_+KéB ¶]@LÆö/Ñ©æ…Êe£îÊVhy²ÇŠ•^×ÜU‹ƒÚ™¡–ogpƒLãþ„Lqqnq_T.O;3ÉÆžC¿ Iì#YL‘óÀˆ7~b‰–søÄÀSFù>ŠM¶ÀfÔ6 ÓI‡¬‘á6^MÉ?<€ 5{ÊEÒØ‹,À¢ò‘@ ‚ôŠñ ²½™ýªs>² ã 3e¦˜9S }•‹¡µme›9Û[&©FíÇí?åÛLßúy!¬Ìgü+ö!f }9mDDp2ˆ7®'rÁGƒ”ϲ7¶÷{>Öïi8—&R€H&æW4/8J6œ¯ü”ï+…22Ä|eóƒB—Nm†4žòîo4îkûO›‹Z½à`}Òk Ga%¡Ï¸ÑmOöÁeGæº±ŽŒvzDõèÒ±ÒÅ3<øýoyý±µ 8¬Ý AFÖ)žïÎ<󈛳]_Ì— „BÖ;ÑaÈ9Á<*|•a´1îû-’#–‡ °0¯M½­»d…4âæ•ŒèK=IÖ 2($;9/çM«´3»}†;fö`‚Œâ0جQÜ Nír^àZq²ç5Y®õB™ž´í»lä…uè$Éc÷ŒˆUn”[:oba±¥tìÛ/¶Ô>lZ*õœÿŽpˆÂë\îËûŠFÚ…v³ŽÒlI`øÔFM­#˜ñ1k^v‹–Ê’•i;¸;êö¿u´-ÑL ôF_ýwQ8gå;ú×™!;›ÆÙÆÌFޱ 8óÓ;a¢öž|2Ç¥Ëʇ @BbùÞ6S)s;±Òç…zJU/Ãÿo¼°²Ú…å `Òîìµ!€º&µÃŽÀeÀLÒa±Ú• åß¿¨åº\M´<>“·¾gKŸIˆÊJ¶f„×f9÷ì”’×Ç):´øßl ¶àÏ:õ¬úÏ[OÖ òH½Ú-4jÉŒ w± qÏ~-BÕõY}0UTl1Á[{ŒäêÚtêп6S‰vo2‰ËøúÚO+è 0f­½l qx­Qk«ô¬j«Ï¨L\³#ß‘ë¹ù%Ä>¿ –T® †Aè)ßYÐöÁS¡ » ä/¯íL)R!r’_ AÝYÂì~‹Wx ?Þµ±d€h‹&ã [ï·Z]hÙÕõ¢ôfvK—ÿÅ ¼ÿˆS›ôK^ …å£}߆ÃÒBm€ˆÄo™•É„ö£_ÛøºLVìô…¸3kÖ§çØ00ºÚu¼¸±m)ª­¼.f‘½Oþ6Ž.ùûà$fSÆ‹ÍÊ-_ °µÓ™ÓËiƒã7ÙßdãZ9†ƒõ™=³mV59/Ú õ»áMùD{æX(”—æ²ÇÀØÿ¨KPy gQï(z7UõÝ7¶²– ߨl ‚\”hÃ+IôÁV7™•¦«ÐÛÿ‘Áò^ŠÏÏ`“õÕ…ÄÖâÓŸ÷nÜ* (‡n^­•$XŠ?¾mr6k ³QW#òµ«féPËk U,â^qP Ùi"|Pú™6`G*þ°±÷`V¯S¸l;•ó»ŒåwNþ'ùêŠKmVðÏr†n#Ç"xšȪæÊä Ý<9fP¯ð.ÕK|ÔS¸~Ñsn:ÀÞ jijZùâ³¹+ÙÊ&@õ5Ô‚GýþÍ… 1™î*ØO6 ¼g¨²îe®4oÉuƸ<ž"EQàvÅhB~žëM¼ÆŸ]É0ᓚæ#U‚(‡Z¸6Š^ÑÂÉB‹¦Õ:SëPôÑpÕí– Ó­‚ KFÁã>µ±%²Å@ˆÕ¼ëF+]õ<‹(\–=–šw6ŽH®…1²fgpKúÑ£¡­àëNˆ ï¥ÅXKf 6…Û•4_\³Azý½è½¤tzÿ³ÎO;%ú 7YˆG碳íJíxŸCyÄ÷ J²Àæ·Œëº5BI®ä¦Î>?ô¨@­6#ƒƒE˜™ÊM®¨7ÁŒ ê¼ºÜ2a¹ûYN_àU÷^3÷ ~˜e ¢8©qÅ‚52¤ ;~û'U™¨¢öŒéï5T¥–M‘´£$ÀýÝï|Ýd…Úʉn@vr²ÜbµØ£eœtÌÃÂfÊêAwÄ]†/•LÞwðyš Ê5"Ïaw TÓRÕ©6”…ðT†ê$.1„ÍÖ‘¸˜1 l0M3t{¤Ê%•ü²m/Ã׺7ƒñˆsÒz]$úPÙ>ŸœÜ@´@úþAJL›¥&>t’tˆ†k@ËöÆüˆoØ'q;"U-AoØÇ3•©¯+Œ2ÚFÛ›šÀRÚ??$DG\<(¤‰kTe&j¦žÜRŸÕ°ù=îÇ®[¥-nŽþÍ×}Zsªnä[þ‡¡W–{-W¸G¢ÌIgNÉö˜;Y³–¶¸Z¡\ ‚Ï?òì¨å¨_í3íq1&8ÝxYù¢aÙëŒpÈžmáFnøô½iká‹¡-´xzb'nGp&‡Û¾ƒjÆ"V-Rˉü@ö¨f¸f1Ɇ“W s–­¥ÅÎþô§H×½3Û¸$‰Åù7ï›Ýx<7¢¶#Eoã‘Tq=ʱ}]N3ˆÛ-ó¼¬H•4ÔG,vÞôXqcká‘y.Ì2;E]¡ú¶¥Þ•ç9b8ù]t%”¥d,Oíï$„C@›„Ê G;! 3êö[¾ŸˆAÄðp2õáþ÷40¼ÖdÑÉЮSó¢GtU±oZ(a„sÁ`gkÐW·:Æ¢6Þ­n…’ä¨y¯4þe®ýj– ¹¸°P¬ bPÊí\uú˜7Š€˜ê°™\ñé)¨Ð±öLPCKOƒ gCgwÝ;Úã¿©ò :gOþ,}\îÑôrF?å½zN;±ÝW%?ŠŠíÀq+…^©ò]@¬5ŠâÒµ4,!ðWŠýh/Ï?Hó¯Û³3]?±¦éâªÂYÁ*‘[TE“2õz7ž•A›wW ©œ~§w‚%y´Ò¬ñ䇩fÒEßÔÍ1l‘oêA;%øQU´¨^¢r2šƒ[ìxbCìÀ+.<÷= ­ ü>`àF|‚8ÛþOÃØk:VÎð$ÞÔ X n;)Œ,û÷¼CvÏtÁëÓ>ätq>¯e¢Œq00b€¹êð~Är3Áa#–Ð5ÓT¹™G‘;»Pïæk´«JúЉ1m¼Æºg']šŸ)”0÷BšÜˆIÇïVÏ‘H»NõTøÚ[81âyL‹´ìæ3á eª?(wœ¡Œ¼ Us’5ŨjgbÛÝBÄ©ÿ=óH¼ëèj ܨ¢›ã=.]ÆÞfÆ}yâèð‹ 5FÈ@tƒþÄ€Íl--wéþók¿}ø«€d(_¼™n~J›|òlÏeδå"å.5G@‰Û™$/ÙäkT¾6lHÜLn{QУ¶‰´Ú¸3ƒ¯€2¤U:<ö˜Ð_Em‡¯¯ù«Ú _ayÕD¢.V›+ÒƒçW3NÄú’¤ʾKHAv¸Â>k„¬´çr?ž&ß7ÂÌ»/ ä2x€Ï”ºðOßÍào'°sFdÕ%q"ò9?‡LºŠ£dôOA(ü÷ÿÂÚHø¸ÜÙ„Î5lOÅÝÁ\2EÅ®æ Gª›†JïL¶c}©®’hï­/öÊs g]ª‘é딩>Oy¯U –ÿbý_xÀqÇñä~rÕªr'ÈW½‰çÇ]ônûå–,Œ37PN›á ?ô-‚YåEßà¤ze¢64á'ஆ¹_Åã_Ä–£‚~{òÉ+”1n®ć‹8 bIƒ­¨Eã$.«Y¥£ £[HÙŸ-&?\Øaú¸¹A«9•½ ;å¼jlÛ3ŠƒZ_„óNÙÇ€Ì7;tªµôsþhÿÉ·ö.úµù÷™U&W>î˜ê˜€€ó¤Ä— óï¾ñ Ò~ZÁ°GzKœIŽjD×–TªÀ ^ê2EXÂŒÌ8S¥ØÇ‚æ`Œ3Ô¾~‚ ŽgCÍíx^'Zµãð^Ö˜¼;¨ÖÀÏ]p õÏR,ùsI<"á¼LZ€“ÅÏÇXl~[°#@Eºµ DTSÃÛ®¦<\wÃ’jÌÇh×Q­÷™Mz<â 4üâ~®­žØ<œþHrí?o(äw½”ºÉÛ(Æî» ¼Å”ÇÜ+d6ÞOù³»X‚Ô¹1I‚)ÿh/Ýr•ݳÖ~ÞˆÓûéÊ“b丆ùRuA§àÛ—Óg‚¢ïÂEÛH6´O"«¢›Ë«K¹F·ÔM¸Êe(¡Xmz¦å|GšGkÏáÞÙÓX5Àb¹ZiCG\5cÞ6 \€ðB'ÛdžÊSò òÓJÊpEåŒïÒN?EŒêA9çgÔQÎå¢piÞÕc÷Z°R’Gƒµ$JÒVýÐÛ&T`Ü%c»ðë‘ ê¼ÒðS½‡}FfqÄê¼òè½iú±û€H+Iê»Øß^ô,ûd8µÿ‚ƒðî;ÀEÊá@ï EV’õñLu´Bê57Pî¤(‡@%aÅ’?*ïPBEÚE£Á-›Ž Þ‡~’]«÷Œ/¨6–œÂÑM™kÐŒ£¤(?ùdg†"gù=©:ë\}ù¤ŒŸ7¦]xf' þ(Ð^Ä+¥¦Ä]dBŸcJÉú† »V×ïoÎ~pæ$¤± Gͤ‚*µ»"ä±]Î~ ¦sòmŠíZWKXn´‘bù~o¡¯ªÖ\1îä5‚^5À”WÓçïY¼GŸ¥ò¬Øµ]LuR»Îš–y¥Y[yh=ª(IÏí_vŸd®Œr`]üñ?¶u(ŽN h¶Ggš{ó{PúÛ5×ÁuÙÁÅ }qÂÙ¶ýÐð’ÏÎð1T“qá‘-ÁC‰Øm@ýRt­¦±Ô@Ä9²eщdç÷\¿Ó|Ax¸Xî¡À‰OUî±£}ž3sœ–¨Áò¯é]RħHyƒ?@’yy0›ƒ¬›‰ÈôU*5y£×b{5—/΂…ô‡èçS¶ˆ>íÂam¬™žQNÐô à¨Ü’Ô—9KQ?±Dïh8+¿)TØÉ³åb\ P™>«â¼{1±îÐ ŠÝ#³M _™Ò·û 0Ø4R.bÄ_[ȿυUŽû”‹<‡Þ[*”€%‹G–ï-ÖžÊk£ÇàmÉšZLcK+$ÍÈ£È Q¬LáìXÅÊŸ¸ ”å­>ðÏÙ>¡ŽÂ",§“÷ &½úÉ2  BVj„.Ý[#bÅ\±áâž5çÕeÜÑÈmŽlâ¯/§ßäsDÍÃ!3ß@}ùiÚ¥iö$7íðîl5o-$ ¤¸àò„™=åÖÈ:s¨eâXù7t÷ZP!‚Ä*º¨´>¬$Äqâ/Tå*É0¶„ íTÍ|i$`@a“ä€U¬W_ÂKR%Ê”hþY)û;~Èxi ˜KÕÏ€(Ë›¬7.Pެ«¯µP!ÉÓhh“x“…bý›P{3qÈ-—^É õè)" ±±r,¸"Ù ày±=_±Ú„ j 0xJ4³›‘ ¹žé»$ºâ€48üËŸõ0.¶a̳þ#Ý;/µáÌ»ÂmÊØ Ú­|öXÓzÍÛª.M% Šl^¢X5´©=>~F6šÇá-B”Jv7M³Í¾å_¥˜«ÆÌ3ˆa«Ù#v"¬õI¹SUOáD‹Ó†FëãF®g£ûë€ÜQ²Y^ÿÒh|èõšWÖ\.HíÇ[g|¥=yÙ¥:C쪆OË{1@•ñ#Wáï˜HÀiço>ƒÒÇÂ.˜9y“ ¸ÁßÇ)ä“§—(§a¬'{öà½ã¨š4tºg)<,¦pPù¾Uj ûãqÙlÕ Äß6Å7ãÆ\:€÷ÆÚ…KoÊ}<ÕÙ(*¯˜M›síºÛ¶Ø´­êáMP®2²Ž˜D!Z€Š;VÄkö, ´HHG® Øq§÷%k5akèò?†³9Ö7GG0­z´ôú~ ’̺:~W§0£9gHmœœþâ­R:u~`~UëÎÏøD“u@C@èÒàwÑ™•$"|^%á&kßïö½.ŠÊûËí¦%óîo)Å pý4ÛgB)7òYÙ'÷•²13Íy†ÚIÛ´â9±*J‡­³b±òr´óµÅUÀÇ4Zz,0[ )r»yc#•µÖŠ,ž0kjµÂbñ¾r¹‹ošáÃÆyÛOi¼é.£ƒØ ÄdàFë°ûŠh´ùY¤Æ"Êç$T ‡][‡Òm,Ó!yÉ ±óÿ%l‘ŒI;è>LÇáµçvñê¤ JÚeÍŒ爷J¯¿Ïtßî¸1âô‰¡á!:Û\ºOðÞmâ}'þ oúO ÐÛ¢¤AÔ΀q]Á'»ã»®õ™Ë›W¼+ìªø´™"ô¾q&¡õ îˆ½“‰¹¥ép#æŽÌ úͦ*¹”%ƒZ‹ŸöWÝá@™rTÛÆEƒLËÌÛÕ‘³$ t ´R,ë~åé®gŸ%A¨·]]'³1—á?øóŸ²Á<:/ÖÇyö-ñCœ‹sÆë›=Baßí”iVZ; ­¹Â}t%rk°&|]"˜h¬}î3îpÎZ‘¥wÆÂ–¡ -hµuÏW¢EUi·„OÚaetÄöBóÑ^—UŒPÝ6⟫³Ì—¹ÊÐ#m¾Q"ÿxÆ>˜¿ž3éìÒqUHU°3ÊÊöT”¹z9¬y‚DÝ42øƒE~ ”VìÏ­ÆèÖ«Û½ù0·=ÚÖoYÿFÙÑdg¹ ZwËÑ¢€Îe ÐçÈt” Ó™|ݼt”¦Œìɸ?PÙŽøâ8C¾ðˆ–CØý%®1BVà~è’¢Gö95õ mV÷‚ Iþ\߸bšñ«!o&þzŠõƒ‚slSµªŸ?—ÍT]7³&ޏ„"Ãý Ÿ@I\y»Âä|5´#/Ö‹:Ô+mÁ†‰b&†£ ‹ÝÖÚÛó?–PFáÖw‚l,%Ñùo¨çèíÁQ¡}ñ1–W@JDf¹/ƒ{Íqx†O®CDi$;î“ð&O° ùÈÂ,œcx0X쯣½8@îkwŸÎ"zÄÇU‡pd¨÷¢‚N7 .FW%°ŸÞ>%@$;jG½WŠg;Ž‚ˆ·üü-S|Š9vƪH´¦É?Oå°Z9ŠåGYd³ T©+¨x€ ¹c¨ÃÊ­¯ý—¿Ü¼ÏN-~Ö"½-Ëø$ðù{qw¹Ûò£5Î;sÅZ©²çtZ@ÁÃ/7±¦êYN{k,â­b-üS<öÙ "µœålò,ò×Ï“µFO%¸¡uƒÎð^ê—Nr5Æ 6ÕË(­×¯²ŸüxóêH¨û8SÞÕâ4„žÈ‹3oÃ+“¦Ö«_´æ9ô€ ¸ªŠåî«BtÛ£¿07É‹ ‰+iDŸWRrËë¤y­IO!YCC¦0ítxU…) 餤´Z£åŸÞRpIõ­¤hH2Q¿áðáH.„›:'!²b1“ #R˜ ÝZ…lÙ?ï seD<¥bc‰/Ho=žÂDLû¸¸µìêR­Ä ²À$ñúÑöBRKyßvqÀ®[AˆÊLeBí â-¾ õmâÖŒý)ÖïKÁâJ£†t¶&¿I¦+± B¸0£˜Ï‘¹"ÉWçç€YŸ:U'Q ­¡!eÚî ÖS'þGê“2R'¯žã5:†Ïo-ÁÓÖ ð ò¦ùšVÛ-œA-~ËÓkPÛÝ;äYÃÖAÐÞ [.Íâ·I9Æ'‚±œ¬ÍûVæÙdé}qÊb ¸T11ËâÁ59NLŒZßÜÉr9]®­Ì,öFÄ/3l3«[ê½w$7×ÇJE úVÙׯœ8;FkÒqüC@— ÈÅÀq—W×Ðè=óŽÛ˜"; ÀþÖ.¿±­²KÒ4 4­Ð(Æàs4õL;(^ÃõLüu¸lÔ9=湉¾ðµŸ'ÔbEöÐ?øgÑë {S ¯@é¶›û¿ÑÚø7¤ªj%*åû—éÄF&FœžÊÔã¾”-ªq«ÉkŒ …²;Iå¶J»ÄBظÒT%«É¶D£û‘1B#Ó…øÂ‹'#.ÿ¯O””-ÄgI¸cØ´iq¢™ïÉÍLÔ–óÔd=-²¤/8x?Ϥ„®®ÌÓ>ゥµ‹h"·>Zk—¶ã)yÌ$m„W¹ç}[ŠUÖ€XËš\ @Áqë§œÀ rLì/*]r$Æ¡x”ËqE3] —‚\Z ÕÔ¶‡ç®šêwaÓÍ+·r†¸OéÊ¿dÁ¸¦u„^A´jkÓ.•®Ó9Z×ä‘ÏŒ0Ú¿þ SZ”Ëzv©º±¬<>»GÊ}JŠaqPøÏ‚‰±ûLÓzVã!ÎUÂv^îZm~G÷óh….jYù4V!lTl曼#k™™·C3lÛƒÝ#|[ʸ¥)™ü§´¬ä¹ÏÒ®ŽØ†h”£ç/Ü 3-»­S›êä´‚Ts ›¡C憭8‘³š´9wé¢SC a:›ÚO|¥$`x/âÖ™dl¸ ÒrßPSVW{è4„ÃõýJ4s_\ýøRíäVºu¿²[FžÊ­òèÄéOæy·iKÿñhÞ„Ž¤”6æk&‚#Õ;<h=æ ¥¨«XågfÀ¡b,Šžêÿptæf¸6@)\2¹[yü:D+².ƒ2©| wájÓÕlFu·÷¤ÐÌÝMž#tƒs4[ )Òœ¡Fzö<° ýNf§@Æ™‡¸Ã´@~9r®±mHÌ>k÷?4¿¡<ü•të³AìtM¼þXaôé ßåbŒ«n`sDtžäxÅâ+~ËôÌ->æäúONÄÓMƒ•0Lû)¢ãä 0c/ÛTa^C®¾}šµ@ðަߧ¡1áÛ†g“!ôç$ßð%]Û8*œ„*ù—l bpYsõ®jÜé jçÙñ=^Œâ,âiúÍ`9IŸN¯†DÆQGAャäé7袵ø-Œ þ,‚>#Hª.7C%d¨’ÅiÜÜÿDJ·Á¹§°{:sWöâô?Ÿù­ åö‹ª nOÙ 63ð)Å£Ûª¤-ª'®ÊL6æb%tôWo ¬Øœ®×.—+þ³ÉS–J²ugV“!yvìžU,TèÒxT4@j\enÚ»”*ÎÛ~LIZrÁÒ¥ýΈ/=ClÏâÖâòS‘*ÍÞ&D“®ÃÞïAœéìNNõ^ª)úχ$>íªÿÊv‡÷mÕVGûè^"0Õº\Žóìñòän$øA1’˜+£o˜Íêo là«3`*K>ƒñ?qÍßÕ«TÿܡбæhG©zÇýçWN‚³f'#H6ž£Kíò) ‡™òî¸Boêáë@çç0 u™;¬~)n\»ØÏ »~G:?~;­Ãç nræž1£Ÿ³R¥wÿµOݨå—TuÅ‹.*â’2Cu,¾CˆVŽ)·Ý¯3\éTjžËäRDê/¤#¬äžBE”$“è:^½mLûó/Cá®}|²XÃ<†q(GïØ_üœ~q¾6žð²6Í!jFqã ÙÜfGR‰çÇPkFÉ’>Lw 5‰² ¦»ÅuáìÌ4zöߨñŠqµ!$ŒÉ¬tm+®fv穹S'oŒ¹ Æ£‚I’XÕE àãÔ¾[ˆ2;tëu-‘ÿC|I ´MRø(¼Œ 3‚G)ã.£”ëQCG†HbdÞ”V̵˜/Îf¨ýAgò‹OŒdø€â>XÇŽtiwÝÙ…q!FgÒ®C8h(Ž˜Š²khÁ­<7Õ_Ñ äÙ=]•ØìÎñ´ÔÈ4hZ_DºkJt³P†ú/E;„üyb@âï.öìUd¨¾ ©S¡géµq¼c`ë‘Æ@8†Æ}RQeÏ9(‘MÉ_L†Ò™£G9:¤`׬³ðB–£Õ`q”ÿU…tówŒ[ß©>-A±\»ðŠ 5›½s\øQŠäWÌÊ=§—Š)¼jžÂ“ŒKþoÂó³^„8 MªwÊÆJK&Y¦(ɱÉÖÉÇCãÐ¥ ›8’Ÿï ¯€Yk^UL–¦9‹oú ר®5¶PÊ{ˆZã!2Öã W"ftC B-ì¿‹ösVýPcø$àt¦ ”4œPTA‰ã¡¥vzÚsYÿñi;T %61¿ïÑðg0Ç0í×xœäÃ=tÏ_Ë ÛØ`Ï2æ‘Ìè»™5gµ¯7K¯Þ:q(.Ã%Íúó¢ì`GÈ_ßd\¼¶ mQoú5ÇpUt¯v4çשZþOŒ‘ïô¡ý.>ŒpŒ¥ë¥F‡½Û’ù0œwŒPq&ôʃȷž¡{ÝVk¿ÿÌ´eí"Bù÷Ävüþ›bŒZ¼œ"eŠŠÆÆ³1k…ªnXq΄ûµL¨Ô[Óà!e»”"û*lß~þÐqúÐëÂ%-B\ù%0Ê5¦ùT«ªGÓï&AÇü°em"­eõáÿ‚,NDGå*œ4ýÓnW¸F E¶ííŸ;Ìb00z{ÿÖÝØè“; –kåucþ¬“;bù%`w-¤3úüI‘ªÊ¼¥‚jËê’úè7-¯)ê¢L íC.\Z·0˜ðÞÐi$g¢ ì:=${²¢J^«<_?ÿ-foïR’7Ÿ²æº¦û€“ôÔ“º'˜sÜœ¶6ÈõwX\t[±Byœ|¾î뺚NlRÿ”¿‹Óñ»MÉÜp«XFçãuâuHgm×÷ÜÉib›Ëü™33#}7n°<"ÿ?>ž`”ŽÄ_±ävu>§ÕågØï 8U«¿Ÿ3¹.Y26Ø:$ëw ÷Ãèö o™+NÜæò²œ½1zQ±›aÁi˺ë†ChÌKóôO“8°ÒDä<öĨBÀ0úß½Vâ¨ÖÓôeFRÖìà½æyÊZðoÚ€7Bð?óܨצRácGX ü©ýá`œ·‡Ë/wØ¿r$àpBØ¿·eŽÅ§y“ïúž­Ý‚ŸE‹øƒÖp±Ó¢E„¡,Ô#Œí÷`èËÉĽP#ùß—(í² Ü8ÐäE§¥­nÌÁ'ÇÌÁ…&ãTñ¼òsò![¾£ˆNhÆÀvzÖý%æq¶b`cB‘[š»fN;;5_À>¨WN>ýR†Ý‘1¾ž6Ô›–8…£SHÙšÝ!eJ!oŸÑdì1ç+ð!@RsÕÙvn™ýðYPCÃÏáf¶ÖlôÄΜ)ó‘ÿ.ù•ý·oUà³âf²ršõDþ̵u!ãšWp^¸+×¹ 8Á±ó ÄwBZJÆn( 3)ÄÄ sN&u†TWÙ¤Ô®3Óû­ØòÄ~ŒJêo7Ð6Ã)š6 þn1wx{‡'MYËBж˜x{–©VjâÞq¥æéÚ³`YËŸ” ¯ÆãÚzÙ¼¼ÀpœäÚ=‡ïÞš®ßƒ: žÔ§U€eˆ>J!ön¼$éíkM€ob£Âð ¢nØwój·Êdþ¢øíà£?½ž/2 9îl#(£KÍkð–¾ÁÊÅãïKjòxmÕÜç@0ü(ŠŸlÊl€#­Ê L.¿÷’>7H"˜¾òÅ\*xN+¤õL¼Lvyy¶Ñfä]ÿà3È€£Â¿:ù`”W}˜Òq…@—¡åܵŠrÀRxmog•^(ËÒèoWcݤZ*Ò³Xá¯ü­#„ôÀ¸‚ÂCp :@‡òØÀlƒ ÒÈúëê1êY¨ðÐós´8æï˜iûáºRûuV35Ñvš²£æÏŸh…Lm$_|·%5Rr•¤UÕGõK0‹øµE¸ÝÚàœ$DćJ&ò™´+§èµ<ÚLd&êCM ì´©8Í CH¾”Ù•€N¶†z%®ΦdIYï„鿯lìj+m8Çg}…Òð ëë‚[4ÀÕ£´\m”Á¦Ý!KåMŸàZB¸|š4e–ãôÖ/ë/sÔ×xl0-íÚqh'0Kdrû"*ÍÖ1ƒ_Š´Ø Éy×(]Â)n—'Mˆ‰3Tïn!„:s[¤^öÂ3 rš¼nu03—†¤/_Áöíïœ Í'„™z”í`ÿÛû·Ð©WBè{qîÙ}–1AÏŸDI +ˆ1Õ;ÜõNPp]·ñ§³m1& í:úµÓ!ú†C¤Ó깊w!çm³$@¥˜Üå `ßs§ÔjÁqÐQÆ<ªÑgÔa’©É} ¤1ÚvÌ>ŸF4uI@7·ä”ÙôgvŒÚTÛ‘’ß.øÿÇ 4ËgVÀK‡P@H;9fÝØç†Ö–?|‡'v¡i7ƒ^ÇÝTèm /íOHÌ/^Ã:¬ÊÇ!Ððè„uٻʬXøÑàèÀðú@p¥" U³hê…}¦RË©qAŒÖÂáOøÕ¹*~ݹ^ºäår÷ÐÝM=*€½È=Óæ×¾b®’ñÌ1n;CSPKv¹xÍݦ]ÅóxüËò­|(#{ÈH€í¥|µ”LÏqDn1 ¸üïýUèÙ À‘Õ0•xr¤²N†U( L\ƒmn4ÌÒo-,`\xEbøDÆéçŸ2SOH; ýúËŽŒò P—ÆÔÄBò4¥94()Û¹ÖuFëµÆk¨YÑ‘l ·L@?³Ë·ísõjõÓÿkhcËñÂN7’ÇYor]0N”a¢ðM ìe©Ì‡Û™êéëg#3=evûzc“éQ»ÇçðwŽ-TÂzHašøzòtG: BÈBÖYN¿¬1¹Æ?¦,â o:5{mT®¹qHz(RMµ¿¯›ïnî…6rW›ý‰=†˜$ŠÂ…5/3)H(£N“Àtó/I€{`‰v‘úÀ[åÅŸ©ôç8-Ç5yA7F~Ð'% ãWËœ®ë~U éîR‰ÂRÊÞõë*,‘fÿ–Qì¸~\)qh¯pêå%9N*·±}¾wê¤Å§àÏùo¢zr7èÞŠÚ²­L0,ˆÔ=\34TÎh#¨ˆ`%›Æ4×üÜî ´ÂߎQÉÕ›ÍëÈÏ`vJíˆRIîÛ¾ãg¨`HÕ †îŽ’(Ói‘þØŧ2&îc•QQÁ¹âÿæI, Ên>¯’Ë`F5J„ÑQ]=ÇàE~"^ζÛ\gçÚˢܺ9'ÜeMÞŠv`~ȶ¹ùT- 7#ÿÉ&>wʼnü`ÅUþz?nÓ‡ž ¿`xú«—„:Ù!X5Ù;ÃÔ+¾Õ•½Næ vBŒu•Ëï­H±a:Owî÷ÿrHo¿Ê¤y§9ón‰d $û_( ù¾ç[‰–Aê3 GƒÙä¾O%ñ°Ëw„ªyŠÅªÉê7f1sM—]´4ˆNÄ‹ƒ‚ev®æïg?ÝÖiHòW¯ðdò¬¨Ozó¯y$|¬‹«¦õb΋Ȟˆ(8¼ª'­A‰µƒ©gWÕeÎïëà͆ äjYšb´'u©PH¼–Ñ—Ø]É .&Çß¶îµÄíW3"VÝ7Ù}Jg8Súulë2/ˆõÚªü*þ)ò•N²¾#&rÊ;ÊT¦øó™–†Ò!~!åáûÙ^æ ©³“ª«jZ†ùã)=GSˆ½Ô­~çç+I,úüøvÞ÷0Â`Ì÷éAš‚o×ue³8ÛŒògsï€[W²0F+•€/â±Å^ÿ/5ŽÆwÔÄPä&í¡¨S׋OšÁ}ÿðlŽ~—ŒÜè¡óòÁˆqpDô²á¨‰˜æa)®®2Þ ½t_¤]/„|ò3º “› ‚g¸; ftæ’ð®æÛ)k/úPéþ6¹:!›ÌÑö¤–zùã*é”if8&&ýœ/9Íÿµé—§ãX_s> @×.sÕŽTq(§ [½êŸ£ùœAœÑ²äõPy¥ƒ áÕQ2w¡5vÔÈõhˆÅY­èùZÕeÔðQ‘÷TY—1kú½ÔñçS´½HP¶8zOB™5âÜÔ1­("zžEÓVRB;­ºeÖx«†½X¼”ì”诣`#\ø‡æûú UšÅ¯Ÿ$o“¼4“EÝúÝ„æbî ·¬³£bý;[!U:)•gIãVysk>S Wš„Ð!' 2dm—GÕ_þ°o QeQB8Æòâf´»Þ${½[íœÊ¹ËHæpßø¯3¸^éCš˜^‡ ÖVîù¡ñ¯7ð¾ÿ*îõ–5*̮΅˜Oyîk*9k“–#ÚøÑÉEø‚ •Ö<ß\ž< ÆêðÈÂ78*Ñ,†ï\ñÌ­<ÀÃ9²¶Ðá)…«qV¹g5ühKúc9|ú–ˆñé¡ò—%×+9Û;“¢1yk&~è 7®õ¿¼¿WRÆ1Q¶7XÁS†¹³Rá¿ ÔniXÇ-¢»_3÷ØY_üA“iÖiï„XóÊ(•]ú»Ì Ð_çš²]ÿNmdyˆÆÝë˜Õ¬,E‰ŽHÎ#'ÕÿëZx˜ éV“ê|•ÉR ç`3¤ó`Ø?<ÍÃßÿáÊ×<“œÁ8”c¼Ü4¤c‰)Æ$ ”H-¢»Û`>é.4y@eå ¡ºÔ€ò Ëë3ðXÈ£3ÁoÒ–òÚŽ“¥ ñLÔÆÈ'÷U¶lO—¼~„+îŒ{.‹NVˆœF|nÅh¡†#iÁé¢Üù¬§·èÏtœ‘€Rè¿ Ô-ðxÆs&ƒ¬<ƒ‘:aà9"ÝOÞE -'õ¢`œ)6;›“ßg?ÑÅ.'B 0(œg¹ 4A‚Â3©ò%Åí2×D¤Ä‰oEyø¨˜¦‰p¿+à?¥7•ù¼êÕfßÖr‹W…w<­Ðó „Ý à©‘¿ ,µ€$b:6<÷PNQx’\:åò2_=}àÉ9­ß’æ$`§y)8Åãõ‚™=PWçH»h1µÕT;V1'ÊjåN:dÀQÅÍ%ۮnjŸ«³("H÷ºÁÍ6FsÁm2®ü‡`ÛY«Ü#œ«ÅÃèЧGê(ê£YÚ^ÿ÷æîЇ9D+ƒŒz¼}]› ª­ßÝØCn<›![‹ñS7ñ‘}Ö—âÖ`vÂ#áP´O Ë« ›±ë^fl¥ìQ÷:­î)ƒ-'ëéÜÜœ /ì‰RFãgNdÛÃhW9ô_ÇQt ”³U)M½{'o=·Ó‹Ó¾‘ WHj2 ÃÃÜEŒ·NP‘—Ù g¦~ ; okI/àÓ(³”úÏçIº€ñ¯ÓÕñ {ŸLà UàŽiÌï–mºùÐ5ûþ–n6‹^Á’+çâ²·LÍžc9V侂þ°W;Mê18t*¯Ÿº[i»Ù’‡5g¨ü[è'tƒ+ôhf\`0‘º^Spþ—@ xée¿ªNÉíR]c5!¨æüÍÕkËjöZ+ˆ~QqçER àŸ?!˜Í„i9–r´¢õVÇÁn¸Öóë¶î_‚Ø#º¨ÜV'—ýì÷ômóFZÎ1ó‹òJ':*UËÝÒ_„¢ßøÑõ¶©"çÊÜÝZGp)Žx(ˆÂ´v('ˆ‚6Švj°~(É›E-ž‹¸ÀrGKÂ[ùźìÊš@sY"ü5ÁvpyÒøØõÒù‚LþWæ—x' 8ˬQøÝxª°BöpíÛ·"ðB~J­ˆÖm¥ñN u=a¾ô1-}G`wÝ…Aò|Þ 2yLy~!bMÌ{Î+½ûzÇb<‚héui›hº·ô™òljYcÊwßAì‡ÀÐ21q[ ЃÈ8ÍÓêLÝ…“Ö&"%L’ºô˜”±ø\ G´&‹~M{»,¡ƒôq³±¨2®ø±ç å¼àPa¯í÷Vt®â‰)èµÍ X„¶8ð/ì/ ûŒøÇ©Ï,ö7gâ˜yKy×#Œ¥”ŽO<£‹ûª€bÞì˜â’H[ñÕü”Zr ›Ò’¼2Ò‚f*ZÚãbéY–l[Á<‘îfô±zêÇu˜ÌH , Ž~øÞËw1Äköµs%B‘7ÿ¦e RÖB’¼藍eª¾^;¯i¾ˆPêœÿ0šòG­ûÿ@>¦&¨Â5Èi'!æ_Ñçfr<Ô‡„‹ßL§¨çjðåŽ UšiäÙAÉúÕÙYP0®v"&á‹q)wl‚jd§8í’Jëm )æ¶®œÄkú±dÑðÇNMmu ›Cf Td7Túïö’ ×m|Á%Y ³  ök I®e úOLgÓ[ä±9BŠs=‡5Hšà«{꽩sŸ¹v× "*Þi#$DhVv4~D¥És£¨bôŒè߉L„>®àÛ(Ç ²À¶´ÑŠŠ…)KŽ; ö „,ªŒi³wëg9Íþ 73)“õÜÇÉyàÓªÚå° `OÂ%cÉm$g·»‚E“ç1Ý ,ZtqÄ(yÅÇKGæ>/R‹6󍿇vø·;ÙŽCÿHº~R ^¯[t#„qq>>-i©ªè®-C7yþº¶ =p€×¬¿UÝMµâÒÔ¥Ë%à«ðWZUˆ_|n4‚6ô³Ì÷Φ•e6å\/Ï é‰cĉy¹¯ædÓpŽORÌì %.í]Š,âT¼Ë¡ Ææ·z+…ì'C[h „Þne,®(W¿Œñ'§V²ä¯]·˜¶™ùT&‹Ó“yÕGf¦»ÂÝñxhÙ, Žm›A×Þà91QI+ÜŠ€NĮ̀ ;üÎYâóJˆœ|<˜ÿÕMòÄ"¿„ùþ¡tY¡žØ§6YÉ…7ˆôKøêÊLß…ÌÆ@¶ÓrÇy†ozid‘}XÕéjKÒÇôöU“ÂGŒ8QJäÕŽÜ“Ð&>Æ IwRBÛ©ƒÈÜ Yd6¢¯3}©?‰¥'õ Dáj6-^×òñ‹mÍlŠ“6±"÷v~#|jí­˜ôø§sC“;Swÿ;ŠNM ŽJˆ ™ñ=›P#†ÉÚŽAX²"npÇø5õ’ÌôbîCÑÉv—>‰>&¬WNÈF]9O¾îøuü³÷Ì=d¸Zºå4îžQ.XôúYþI^†b]ãrˆk¼÷ÃÞí›ÜÅÄ¢e|¢¦ ·»È{eÓ£Õžy.=€ Þ ß¢šX¬X( ÿÐp1;⫵.á‘;'ø$PD.ÙBd%ÎhâÌek¸¾->Éܼ½^¤ö÷‚[¶¤±6—’äÀ#Á~$øFE¸ÙŸ›ÙÒ}K—~îJ¡ç©D”À €£/~'@jU%ý›{ÊRp®i§åD“ý/³ÔMÕ¹:ÙÒ®’ÿ¢$·i©^÷Q“õ]]¬Ø™V-"e.»˜EÉîrÌ8Ô¹öÊ-‰ü÷btfŽt¬âìŒSZ8¢žGU pcœ)k˜ð" _øVHá˜TÌ’~sDËqDcæ*-=}ÐTl{p£“Ê“GÍœ*#3 ä ÊµHsK2™°no1AQ]æd\Z`PêÝE$Dà8‘¸²r×%LFƒònˆ€y§‘½"`'q¥Í°š‡[’EÄL1ðz³ž¶¦2_·°#@|t¼¯")©—7ÈY‹—HPÓÄ` Ë—9 ¤ohTÆ”·Î]âp7ê/jàC¿Þ«ÑŽohêC--ÀƒÆÚ¸‘Íñ5ìì§À©§‡‡f¶$gkCÛwn“1à±nÓ×Ú&âFè`b¬méûTº±g°©Ôý-ƒÂ•Ó`Bºò ÔÌ|ö¨ÏkNNði(zæY„YÚe`^Œ:åO¥çq )Ø_ö¯(Ú1Õí¿«û¾(…,ÉÏôd;¥^Û‡B6ûAqxÕ§UÑCïYx ¬¯‘]Ëœ¶Ò"¸´H‚,áØë  k˜Si\HÒãÛént-2£h#‡—>æ6^rÿ¤©þ^ÿ2ØÁéôTER¹ot•¦¼x;#ôcH6eÑð­Mó9øO&KÀfÐ]àn“¾0ã!’;8“@¥ °(ôÈô g«š€qIô‡tG[°Š[ê¹c¶?Šf@œsñt­ƒ†'é{¦F“븑êãéÕ8Džx¼''*W‚ƒ”§rXáEÖÕÁŽ¡ÛDè$(õóÐÜTq¬4OV»‚¡òÁ¢¢QÙdËŸëWáÛñ‡Ëãm¯fíI|ï8ô]¨- AÁ<£™ª(Š77>dÖòq ÏÙ©Ù-þ•Ëô é+ƒ_µ57¸¼ßajªbšù;glÁT‡}Ê»Ê>üö…©!/£›êL çŠ?R¾%ö:;ÑýȪU@MƒQß&±«¥bìÚ;] t3X¨‡¸>¯²Àeò(U¯ù×½(aKcªþñÉço:¿²±͖јÚJÎÝ/æ²)×Jª|œ6&ĵk–:h 9‘w{’3=Ùö›N߆¯v±Ü³½8›öï!DÕ´ñ"»âáˆõ…9wj ¾”$Zÿ‚²4Ï’ö¦nc{Î'~fá)v±íçù=èótäx<\ê ¸ Î-\ëüÅÀu‡6³(áhuްô†\V6 õèh—‡÷´V_À*@jɪ¨¢öÓ¤"^ü_eAU+uí:$§ÉNl°ñ»Ë¸¯,ÈC¡@ÿxЫ9*”8]3&랯¨vÈEËÚ=†mv¸ÕmdâÝ”}Ó÷OÖ`uƒIåó}ïiœLÚf|m±ÖS|vUÖ%¯Ë1‰9ÍîdyiÑEÅ$ÆZ_rcÞýZ.P)l¤ ¼`¶ô—‰äKbX7ÐHºÜA}b “4áÔ­Û‹ÓÇÎ ÓÆÝ› ¤"ø· ññn÷\pjM”Ƴ¥†Sà#UìóD×YÐ Ý®ËhCá6úébÍØ•·½¸.‘}罩 çÒÙtlhúÍ7žør[D¤Áªf*l»àÎàý£ƒS„›â}ƘäËϱF¹›·±2‰Þ>…ËoÈ¿‹Ç7×1å :kðZuÜ·ì™ø˜”ŽbûÎB&^ÁÙ0¥•¬`a-Ó‘r°#jÔ‹`ꕲÍULþÇá2¹O× ™j¼]fåo¤Õ¥}ÙD"C@­+D?¸15à)p™¥–+êqÛì+—¹+Žà¼ãü0×§× ðëÇÓoÐæÄÌb3Xô*Ê{ÑÚLºVó›*”m†Ê_ó«â÷ÆT¸‹»¬ÚvRïÍÞ+F©ÆÏÄŒê0ô“›5™ˆHNëvDv Pj¢¹â—)6í*:âhèãô}<9_”íIs_ÈC¸Š,ØšÖb?qâ±*så3wg]u¬VuÒoeö̹B÷‡‹Ówm°Ô|N»fLRpÐþCZµ?µ“ΧôS ^f3dš,†Äí:è@Å)¹é¾^Īʹ5Y}4£HDiÏò5ûØyAlû\Î{~:y¤–$5š 5%ÙÇ¢I݃×<éâÕñ.ÐO«h„Zì®Í×è*]µ¾IËLÝVìÙS9ùü¡ïö(døAêSÛ¹¶¡k‹ZuÛöþjã¡¥.k `.ܘ”&û{³žSúy”m‡Àãkt@ºydï@„4Mk4€;P6¯6)zìm¹0Û?%°†WXÍ[†s˜&Utö7!qíwÜ…‚*-D‚j Óo¡kj…ßäì\“íAµdª,U$ø[€Bâ”>úAI0éÈ S¬y¦x;8¨ì>3±0Ϥ¯s;ÆñÞBöüfTá!eø€žÕ 'ÈáSÏÈôéÃå»§AÑy¶ƒŽQîM»»ä;vNb.ÈäCøv0²Ãv³TUPÿ5•~Èôò:ðŠ±ÚµæzŽ}‚ž¥UÀìN%½Óíü 7­¨²èþˆ´ý(Ûó‹EüV[ð¯-9qÂ2õ®JVæ»*WQï¸WMLá f¢Åõ(å-„è¸FßW¾kÂwmêL§ü(h׉6lW©0d/Ý[ªë2Ð9”¸Ñ2ó-¬a.žà‘E˜Y, è÷AÊxC7œø#DÃ=\ÁÇat´F~5ZÕƒŽÖÛ÷ìT¬ê@ƯA InÜ”K)ß{2ì³ÃñAx—’Ÿ[-woæ0ï-ƱdƒSŸyƲûé&8-@¬ß,ù…qß,õlY Lüe²§9¾ˆVÉ—`n™GÔ˜mu{¼O±e¬†£†½_¾éÜr9žˆEHêñÎr}vš%3ÜÿKËyÖ!LÇfFx¦Ò¡4óXbÂóŠÀì3ùrÄ©îH£Z±î­M=é±'yC7[“Vz¹}_M¾;k(V»Ø­’;ÊÛ z:‰õæ™ÆÈ þ$ÑHUÉ`~øƒ,mhÒBD(„ЧŠ1¤àç=j‘$Ë3ˆ®ç0ópK¯ÑR¾¤ûZÌC`¦øpåêH‘ÁÀW’LŸÃ€V­1±P2kÇ‘©'nxܼDÒ3RÓlªAR5ôÛvšªÆP l¯yÇõNK ã_¯ûSE»€Ëü;úÐ[7ûðá%Ú®<ÙZ`Ĩ¬‚1þXùTÌW8=Ëi¼Ÿ>I~³ÝdEi| ò?þ·ÇÃNz[,°%ª·'˜bXùË<üïƒöЖ¹™a!t¸¨v…s]Ùð]n;¡’ƒÝ£`*Î ]u¼¿Š¥Îy¶‡¾Çž¦þ•1ëMþvÉ‘ û„}Æ?ËðIQ 3¯……¿éô.…ݡ۠#Ç—Î 1FŸ‘RY»íöTn$ëãéQÔM&¸–F¸”Šlƒ‹[„¢ò*’Æ7ù³v«½»…¾2¬ù~üGGÅø‰R®ˆ8¡@þ°$É}hdÄšê’-°<²˜tÊS)'ïx茋ò3ÆACÕ™'+˜&VÄjè÷ÏäG:vª‹\ &8ñœÞÏ*¦¢Eœ ,³Êžå6&´ÎäÔ < Û™sº½Ä‚˜Á¥hÌó¥KdBïãèÖ  K%B|¤d¦ F£ k… ’)ÌÎ*ó5Â× ¸ù0{ÂfiÏçàÂWf“lïñwÈÒ‹Âe!_}Ç~X)È?½ñ´Ñ]Êäÿ«5TgíŠJíER1¬<"éÎ/KªÝ¥x›•;®°¼Ž.÷û<‚õ)ùÃÛö±#‰ÂÎ1^Ec,d[µiÙ$¶3qŠÇ®>‹‰ø…C¶ eCÆ4¾ò„#áóOÏpÉò$4rH Ò‹{÷Û=’l S‡”7Üu„ƒ%¯!,–™ÁópUF°+[][ñÙ˜Ð_BÒVÀçÍ`&`Gô<½±>÷Ú³>RÊ{có×üDÅ`@oAù9bNªEïÀˆ¬[ nþÈC¸U0€ðm9À BOuKÕ§C;œ‹Œr›Þ®CY®Ãòby}?&ôqè1ô…]Ízž(ܶƒmúöÖÐàka·w·ï¦Ž„# ÁK¬gO´†¾“.r¢ (µC36ò¤yÓ`3\“UɳìyÒ²òBØÒÑØ®!Ÿ ⢖°ñiËÈÃr4 ¨ûA2Ôô`ÐßQf;Âý¦¯†x|ýT`ßE‘ó2ëšìÝJ¼i&ØßE~çàyE¤ {VJè˜à_½t;“€[ r¡6`÷å>Â<€æïa­¼!½Ž´à†äèÎK‰ Åÿ- à¥:LšÚõáˆ~mÄçKIî>{]_aгIA­EMË pU¡æ®ðJUjHë$›íîF2çòµ×צÒú%Èy3ŠÈž¾g2fX‡ ~wPÎîçæ—8ÅxIøÁºZGž-ñ#f§€Ø;÷ Z®V1þ!z‡¡.µf,Ù‚:¬ËK×Y[ÁÀ÷Û”ò<%^Cð@ùE†9Ȧæ(Þ£Âë§âR¼c>¾ÌI€Î‰KaÁ'q¤Ü“ûúd„RW+ú4HÈó*)×ø@éTmVk¸M”™~° l7í=º°vŠ’Ÿ|ɨ 1ۓÑ{ UÅl):IûGE(èI%¡L_¡kÉYriX ¿ù ì¥â²h?a[…†Ъ@-™wà6Ь‘bÉ/”¾FñÑT‘¨KáR¤í>A¯Ï HRý-ô—Qs/¾d>eÛ„YóÅìÈS\ü-À^™”}›8Òò%÷L3ê#Çkþ*ŽÌ ÌJØ*—-Ùòô‚óïôsV·c.¤§YÒ’ŽXv”ÙY‘•HìçÚ)þ®¹§ÿ±¿ðŠwï4y²D‹€µ7P*Ì~²5,~†èÍ/Ê–…•ÔÌ,‰‹5Ì$¢â’9+FAÆ’å{ÆÐ¹vº^Ÿéleû'Å ÷¯x°±·â.pÄÚèøueÄì;nLäüWÔ©µíû"6Çl"?ÃDgáíz A:0†xÃdÖ…Z©Zh¤¸¿ø1T0ÒHÚBá:3 ×*´jí”þØXÈ—#~Ÿ¦ËµÚvÙ컂YíI¿âÖêxOcdñÍ iT®%êE»Ú>ê`Ó³/Œ³a¢å§ý|™Ð§¤îKYþË\ ›Û-QÛU(Én„÷Œa¼1Mq7qýqÎ5 M§0‘¯-.“ÀÏ EˆúóG[$þR•ãJ¬m72%ºø&ö|û‚;Ý—áiÁ9+“Êüe¤Ð—4ŽuðíEf]ž³ÓèërùØ jÓNÀ 4’D•Íÿ}2³‡ÜÝß‘¼UïŸIy…ÕÒí@'Oa¢§÷ž‡«l“rÙ ïÌÇ2è®Z›Ï9†E˜:}`EéˆfúsÄË${ø†yAfˆALªŸÇqM^ÖíïÎÍËäÐÙ“"·†{¸P·mÒ‡¶a\ébµð 0ÏkDkú_ow¸ÝüLµ&8€KXƒçrn½ÕYWŸ/–ÙרW²àm?º‡&Ð5µ1\Êá ¿>^åw„L³xñ/‡ýä,í(d·œŽÖÅâ¦ËE—WaõÎ#¿1Ô¨Nºè|›§7ÿÁ~ñmÒÜÜ }ŸçBBÎ$„sBJù» !"Àgë2DSuê“e Ì>R”€’ؤ(éÚLO_O²$ð#<Þž2èWÕ !¿•ë ã~ò¬?„ *sp"ÍL»}½™S¸§ZÅÎòW0¬œÕ_ð•¦ÆñZ™;™0˜¶*—€I½SGG–Ï‹$MÇûWš¤Ña_lU€TU7Î*éš¡â“êõ”¼e¦x»/›~ua˜oáWÿ€ì×úIT³hˆB8LþË ȽEÒHöuÕ…Ã Û“uít·Vý5ýf°ßÍæž{î ]BOž­ÎA†¦ðW‘@ÉÖ\ï°ËANâó5ÄTµù1Ð!¦h™¬Ó‡c¢%‰ê0"q¶ÃæÈRa"až2Ši|o¥U,óz,ÁìK úŽËîQo«/f@!Íïÿð:np¡ñ1Í¢´.زn¥q ¦kr9Ý Æ`gŒîc',&³G%Iµñ xü+ #Žîñ@_ZzpVùLtÞAçºõÊóÃÇñý{tM¡VÑãds6U-Æ=—Øáä.wœäopó•´Y+YÇΡ 2\‹ÐeZ‹ëÏ뛣°šúât,[ì cÖ䔞WFS!ïò§ò›¯àéòùašÖÿO§ƒZ{@yÙk5[{˜ ÁªF.pê÷„«UñoV벇WÙ WŸØ ïÙ{8ùzýþÊžjsÉ6xÎèH©aR`³0N4B8oãuû1zTÙ!9 —;4ÙÆÌêþkèwNtÜËTow±¤n|6",›)'Â(b\]㚣 «°˜PQÉ?:`3çô-æLBipÒ÷DÐtÔî{zî zíJÄf÷O /7ëŸ,½ÿïͪe›ô0ÀtÇœþsË8­±:îè¢)Ê Þmë+’öÏð¦í5eî`x)΃|IТÏ<]%çÚ¾Æø’‡ N 'Nh©ô¢õ±Î$S0 ;GEâÄ}¾Ó8àdÁ¦ÔŽ´jBÿj}¯ÃiÄÌTnß'(Q€÷ò%ǽ!>ÄŠºÜ˜gÝ=• ìê;ÛÛ‹‹wPžtÀ,ZêøQBv¨ÙÒ³:š7KøÎ IÀè±Bp˜2?k‘(}L¦jzI#»¶fºÃpð1=o»Ñº”Õ:¸T‹´)¼Š&¼ùc“òìW£û†yrȬ@£Ž Û×øÝÓ|ÓÓ|ø5€j8ž²‰×k ä@ ·Y5—°Û‹8$^п×C„®òsÝrHs'B<¦…°ÃµÎ€Ÿa(%$ÄÁ‰Ã0“#ß$áÆRÂ¥#?¢ß½C?C@•9wœX­€tS% RŒ ¦ÐÇ›_#”i‚Oǹ”Êž29•¡`­+uAT= •Q(¯—<‰½ûÀ´S† e­@ü`K&·ßDô|^vO”Çl#kࣩEbx G]“ú¢ÿt”þfPFÅă`å™6‚ÈZ ¼¿dÑ£¶ÆlS¡ƒk*èŠ"·Ò-Ê´bìÿ!ñ=—_w(êžD(øOöÊ…Û£cPņ9þZ±XA§ê346i/Qv“ þÓ…¹(ìÈLÇ*VfZ£=V2z𻩏\UÂn<¯Wè–Īœ¹©Ÿßû®Èë·Ä¹z‘ªbº3Qû´Å­£4ï53¼vp/ô ¡´w…øµ­¸.j±e©Iíìà‡à¸„Ž=š6rùµ¾¦ŸôpÑmÌIWÒºÙª௵ûõËb`ÍÁJ‡"™e½fh>à”)íæ»Q£†Ë3 ìÃw{Ûýà«x‹Û°xõ¾šì;Ôuɺ]½–‘eˆÃÔ Ë4ï:FÆÚX_ìÓ#AÅ(~.¯¹×Ö»YZ•Ð!Næü‰´;‡úËQéR&À¤yԵ⎩³i¯JªMP¾ŽA#™ßóœÒ·ÒE }}:`Ø=–I<3ïWù°—Š×Zƒx[”º€ «ÎW!bljs–VW,¾½àD0¸h@ZÖQ°t'Ëz-Óú¬%yÂéåÿB¡ƒíWº'B’ñ*ÙðËïÒ…‰ÿˆ’¢B¨øÃ.áå¶ÉõW¤å„Iõ]M)f¿&C_ί´^®oœzSÆz_/͵µƒc–‘z-ŽAoÌ%»Ñ  U3Kÿô)àÑû˜0>ÐÒCûêS“(ŵ\ {³ðÕžVoìÚ±Üx‚ÿi8 ›„ZHÍxÁT™}<6 —UÅ!›Jë¦fÑÙrÁ‘ªc}þK9¡nåTT[Kî׆ÜÕJxOv.$#lR†>Zñ#ZK#@U³ÏèºU)ÀÓ)ð4ϲº‚¿à½iRe·Ñå °°<ú;°Ö)£á}ŒfßøaŸg:†à¦6Á¸‚O!`_<ëQ°d;F{ÖX¶æàUS¥¶®Ñ2csÌæ»ã¸ÅèÄÍå^„Òˆû¼Ø%@6¾ê¬œmƒ¿þé³ó,åàl+#&)¥¶î†Î*?QÜ:ÀLIXY¹úéq{ãx3È]^UŸVDeùÜp+wïÿý)sÃkR«HY˜¤mTÏÿ#Ý8øëtò'ºÃz:‡5\ø_ÊÎÍ12z:1ü ! ~ÎùÐ@W«x„iyz¹§ ØéãJjJöÊ´…ô•6™úsqYk7NY7CP7À"C=ÆL+F@i`äs᪽†UµÓ ±öíŽ NZykýWu2zýêâ³`W×­é÷!¥Ê8Üã­,Àq\ŠÕ¶Kð”+Yv݆B·\à¶%¤s`·ø´×JŽ¢ õ˼¼Ì´#¬lãöº—¥»}ºrì/!¼ñ^nHõ5>š3æ¤äa#›ÖëåÊhÜË£‘ñÖ ßw•no0áûq"ÙhzÄ÷“ä&²(½ô4ý´7Yûc rìd©Ç?SÅ7ÆUuå'ÛÊC3(Q¨g×Êl}{H–uý2·ú u%À„øæ¸˜Æó­âø Ó-¹Ù©—‚|Sfwöã^3gX1ô,]Ž™ÏX“Õ( ª9ðƒ`|W¯«žwzÇ"³³æÂz¤V¹h»OKghR :€Ñ‡§J.¼‹ ÏÏ”j5›p?Ë%´hyåÜÄ‚A'<‚¿-V޶–…éÿJàµÔÁj÷¹|ÏY!]VBþ–Öºà„ë9À`d`fÿ³tóÓå…0O Ÿ'žM⋬[KYðÎä\Dâg² `Ö–ƒÌd>^s‰Î½û!þŸ¹¸ÃK•Aõ?áà$*gÐ.1¾ ´ˆ~l„Ó=k‚ÈŘ|Y?e>‰^©÷Ÿô’­1Æ(SM€µ¶„sDjk¨9 83ÓP %ýS¢J?ÙŠèÞuzýÑÖ[|®¥qbÛî‚L·Ct5ØŽ¬Ê¡$-æÌ„rΓ‹…L‡;WNl&d,ºÝ>Ê(:ÕóB„Ò¤é´c#Ç6½Y]R]ºcÖ"ù.ˆ²«F‚M‡ò7ö!éZ®¦¤ª¼äæ¶>´ Ü>!ðu©Ÿ7þÙ d¼*s¡‚fÑÕCËÒAõ ÁiN]D°G/ž°›:jŽÀáܪß.¼Æ¬Å†¢¢Ðà:vœ|m`ìí ø“FÇf”°e×8-ÏÊ ‰šœâ{µv(ù°Ž…¤0r%ŒÈþ Tô¶žë}¯3§zÚñû‘œ6Æu3ñ4uÊv~¸‡(ûpý㬠Ô(9f}£ ÕíH…^Ž]fĨ9¾H™úûøèOÙi¡Îç,>†t–‘ø±2î¼­L¯úþ>üÀü„¦+="¤¯³OÍzè‹O"õÜ“CeîÁ;á¿ø¼&´uz¾nð…ô°Ñ°ª l ±Äð èÛGáƒð7ŠÌŒ<ÙÖO~joÞ.ÊT¹+d'XLy•Üàè‘ïË‚uQóBö³°Di…s0å¨ïúšÖ8×èc]o{LŽà=Ö\g7"@‡÷ Ф5ç½ ¼o*3bü=?‚Wò¸+àèÂ5PBZT˜#ýa©ç´<£”á·Ç„[ã-&½*ðê7Ñ’(¤ûø¬1$¿m†/(‹3Î}¯, œL»®bù<îã!§‰ ÿçP³ûKÁ<ßHÒ€žMÝvEì“窅 ׯu&sžgœYpó‚aQb$“žf Gû¸AŒ¼W”iÃNhÅü QB Õìýï¥ÿ÷¢Jó;„ÐõØbæå·Éò ”™1ÕÒDC–ÑÁ<êý_µ?¬µ©JÌÖí{[<ÙÄê§EJÂ|Ýw#¦á8½Jª'ÚìÑ6xß´"=ôñÒ>s×Ì*'YN\³]Œé«S©&’)H焘Rä|ô*»Ü@M£ U†Ü r52Ö„@”µ˜ð MT:ŸŽþa8†Ákço/ÄIk•]s¨–§['óm‡{QÇ$fY Œ#ïÀeóø°^GºeF—Á(FA”AüXÔ¡üºØ²ÄÏjzéÒuá ÖÅœ%½ìƒC·Þ‹5Îò.¿‰Íá-º®–Ùw}øüQƒ*×oáÅq?@ÑVIˆZÂÛšƒ° 6ඦá?r½‰PäÕN›úì9†v–¨+ìÓ—~¡hv*ñ¾­”– HÞK U]¬  }Xh†­Ì—4ß ÃyÛ':›æ¼~6[²qäD$¶¶“Üæ$šZŸŒ•IŽ »åp‘c ã"aÉpıHÃ9¿úŸl “Cn ¶O¾¨ù<BËÖå÷|(_ ÍlpŽGD²õH*%£`¶@… “(xO^aFW_Šaèwüˆsß&Ýû ê~ˆ²·`ŠX3$Í#S¥Z7v5}xÀ,–›X­M½ñ”¾[=®L%ð =õqÑWz¬Ècì? 0ÔCú#Ô 1,Ôõº§¯|6'<.P[‘&$:#ÊL5‚âm9\¼¿‘ÏüC|þ° Þt@ QÔ@—x@Εâ¶bp³ÏèyèÎÒ.;DÔùýÕ)ú\!O-y†9®ç_–?íWçˆBµ™pwG¨1Æ~ºõÛ¶èÿ:øˆÚeR’´Fµ‡E%]ÁSËê_©m§Œ\A™eŠÄ,*Šº‘Þʯ¡ÿ;åZŸûVÍmJÍYè•“×>ÌcȳsÉv.ª7qN¡‡ÈØ2`8Tb7½+R÷À[ˆŸ ø{ª>(_¦è=t-g!t|ú¬Vyºr}+OݵÈvæ3yâIÛÓ®‚oÀUà0MLdÉ$WôÃ'åó]öY Im¬Ó À–ÞÄÛu¢)A …ý£Ñyƒ‚T¨P•Ì=Š—‡”¢I¶l[®i8F²}˶ :¹ÖE¹€e)ú4ÛѼ²¸)->Åì!YY‚ýðœTb”»±hJÜ÷d¦Hhu¾vnfÁ° ²ñ©¨!b\æÊf^‡¥ô®Oé•k‰x^²Ê¬Ÿdëî⦜bÛ4gþ-àd K{öa[òŒº|\GÑ‚µJuÛþ[Úc UçÌí‚ñÿ7]:eÇž9î{Î~P«íüíÀ«È0«†â΀Ãog™Ï·V¡b‘6ÿ*M¿ˆŠm é/£üÔšÿhšú—¼Û*éŸe-eœpÄÓQ$ã’Š½ÆºFD™“óÖwâ?>.¨',˜§HÝãºï§è‰Ð»Þ¯2e»ƒ &U0¦ k{‹Ü%¡ÿú·¥`ý?5ÉV±O¤AØQ™Cå<ÄL€uǘjû˜Y GØHH¿R¨¡…¸wwq"ÃÕ&áËM%òœâéþÙÍpèîtE›&×§¢`™5dµ6d 8Gx,‚%pé"ð®!Á «U¶ù‡I0Êò â„Ý!rXFIJ•$ëe£Mu«^Õãž#ÔÛÃðËÇèFšü‚é™Õ/:cÕ HRn¶+d¥»ZfÂQE~“«!×9Ì¡Ûæ±Ú?q#:²§5fÍöº³u6Oc¢y¤VBÙ`æ™Yœá„Ù,iñ›Óÿd¦ KcEׯŸ­?í=Üp¿œßß æ¡hÃ+Ùÿº+÷$Ä´tý¸–;pÞÕ6`ÕdÛ[-oÓâ{Eí`„o "DiÏ:wÄ,~‰ ejq@ñy™<'Oß±®çÏÏaF>î¸Î¨-Ó„¡YâC280œ:i[GBÈ@óB:ÔD#S ô*œïØ2:ND[(J: Û¯~”ÎÞv²±˜ŽÔjÕg´-êý`¾sWx¹´_±ú¿BbPs“ÍÅØ‰ÿÐz/CŒ>h:ˆ\ôn2Yh^¡ú_cÝ? Sli°ö WbÁØÍo?[êß$œŸ£“Jø•œÃkÈöÖKtf¼XǧӱXº•xÈ*9¶<:øœ¬ièÿtÚ&©(ò°»ÇM°äH–ÁL#G¹€rQÚUSç‡Úز‘ 0µÎ‹F‘a"àý¬¼¯÷•¶Á ÑÄ.¡rÈÂR÷ß=À£î2G÷ïæFGXdbž}ù”l÷üäŸDl€ì¢Ì$ÚÏW€ @ðX6°E‰Rñ[Ñ7ªµÙiVH“1ä%¹ÏLíjð[—Åù仓QëÞ}œµî𬦘¶wK¬k|=3ÃõaÈÓÌ# ²ýmÐì¶c°0ÅèQ!ëg¯î ÎØ’­õŸÌÊKXc·-ÔºBx¿<£Ž¦Üm ©?èoè*ë.Ù!ÄÁà¿ÃRl8´5å1Ö¾PÆËåðñ-É£÷Ĥ!$c´äºú(ÖÇ,b5<öŒ[…˜K/£¨EfsXˆ,çÀ€gkx…Å&ïý[3€nŒœ®•mݦŠkëƒ*d¬Û?+ìºÂÆÅø´åÙd¾CŽÖ¶ž:¦94 ¹8!à¿%`*å„ôx›ú@Ög¹*m\ÁgmÜòø¯&…ã°æIwײúš[µŽ¯¶Q/­Èÿ(5÷„¤ÇJ#hˆMV 6Y„`›5삼€£‚™À`Ô|0›¥áÌ£µ¼ÙU}œ‰»cð@0z„|ÕNíYep¿ß/½]çB‰ žÉ _Q1ƒöš >Z’ÂewSäæ0‚/òæET2œÃ ’ŽâVÓE½Võ«Ì¥$ÚBÀæ$UI0øMi*pܔƚjËXɹÜ$NÆÊ£#XÌ& K+%à÷…]Œ¦8Ùù=©^ùÊâP³$æ‰V¯qþÆú·ÍZQÑa¡Ù»ÂG”oÌîмüó~+ôƒtD¥Ž/îVÞîkýQü€¿<[/½ÉJ<öîÈ–¦¯L\,ºUm;“ã+Yj0¦¾2¯e˜þMƒâ8õ7MÜ­ñÀàrËH^@/w@½EÿÐ>ÕNTk„Cv °å’T«dŠ/™­E ïíy½$v–-´"jtã¦f¾®ÍÅô÷|»ÓŸêJ÷îø1‚íòíì<ë&¬»g­É}hpLD7gAìŠÔÚ¾9i…×o÷usLÐ+ e)ë«kk~Ûâ —õÝÖ‘Ô 4/{»­³œ¸¥ƒÖ‡æ›¹ °ê{„v}ÜóWÁ÷»ûÑ3[=ªft« 1JïôOA6f‘DÆ„y@’?9œYT¡ š˜K:C[²×ÁýoœÈ’u<“26šR¡G/*ÆÆL÷ÛÐZÎÊÁi `V¤ÙŽÖˆZDD)ç>IÒâ+ÅL|öYÁ6¨†Þç1ªu+B~©®Ò/è‰ÿ`Gý¹œ¤fCê]f˜¬0æ¼€ö1ÛE2Uµ%b"ÒÅ¢@lÞòÝ·÷Σnêúi÷mV(æI9Fö\á) Š~•iÀ›áa/îüσJgÜ[d}jçâ k³ ohx‹2„ükMÙÅäØà%Ê /¡`ðyæŸò—‰¾$¸u™!Wp¬f#Œ·h%ÇsAˆôvŸ|ó³¡ ƒ‚Aÿj@Îý¥I¢UÜQòÿrM¹¼9íZå‡ëáó(º…Â`,t°ûÙ8Þÿöœ]ÚÐ1V°èXÿIA¼ÿ¥”ãŸî3‡ƒ7mCEúépÈVáüWÛ.){¼¢àe,pÔn*'·êµf¨s×Âíh›¶6s]@A'Œœ–L@Κç{\|F”·6çŒË)7=ÕŸ©=âŽw§âɃ˜ß5>Ü6à’é&¥ï-¶ÓO¿ZúiëíÇ.:(ŽP$â?üj§ê‚Wšä&FrØ©F}¶Y7KN.×çàÎvÊ.ƒ á¨Ð@M§ûÁ³ô2À ûøt¡mÞl©'kÚªí¼Ýç%5™õX²·¬àXææ²ªB9OÌwy.\^ø(å$œ–)‘öá×+0bp²ékT| Ñ^â1,RÐ鎗KÈ‘I ´ÏšíMŠ?aÛ>šÝY UÏat“B´3÷Õ†qaNÙô™$Y€ÈM(£¨»Á?üÁzQ~9™ý‘ësD¹UX7Xc-%u@IE•‡)ù›Ímú¼ý lòËݱ)g@¢)ŸQÇôÔ==$ªèŒØós”h¿x€%`o~B+¿¹85Š0ú|ˆtÄ—Ù¬g8<Þ±D÷kÞìR‰Ó7Ú?Ñ4»£µá˜ë×€2Ⱦk´ØoBê&iˆí0tàm T·Š_ázt"ý¢ÞÅS»ÊXçm¯Påê‡]ìÚ4’¨§C›Ç˜yžGÙóù¦_òïÖ^£%&†N=¤;à4^‰v$ÆÕ÷´=…ÐÂüQá4”‡g/ó žŽÓ‡•O†8¬w=¼ÀâT3~¡ÍŒ1{ØÅt¨~ž4)±ùI„[³ /ˆw«ŒîgÁ¦dt|®ù_àšÕ¬uŒæß¹DÖ?ÿ¸7«cî2ýÍ:IDáÈ‚+f2Ðlv‰Ë ëü8—/=n^NOÝ63”_Óõzx'ª_¬KðL ð÷!”=uµÔ³(Ô‘Ù)5€âXÀ3õ„¾ih ¿’h!27©çç9,EcLFCÌ`Bÿ½Æ–õÙ*BžöæiÊ{ÓÞÉT>oçööGÇÙV¹gŸˆ*|wáÝàç š­Ì ñA™Ðv…c:«Þ¼LÅÊàˆø5üñø5çúÜ‹°¨`*pL¶YÍ´`êl09(€ ±ùv øµ“Žß½ÎR¦Г+hØèdð óU£AqlT•0Ž=«’'‚†ÁÒûÂæ( …E,…'3ù÷ú—O`TÖ o êe!`ößÚäE¿¿‚NÿDÁ[r8 Ñ ãNËɼ?hö?ÊµÑÆ~à¾0™ÊÀ·:qQPF4pg#ÏïPzó¼¹'½_D-^ÞσLàå`yĵµ5Å${3ñì)Êm ÁdßÖãGd÷øJú´²)ºTýýPSf¬Û¹‰Ò[褼Øö¼ÁòãV8ŸOfå@#¶ÁÔµ°.Á¥©}œÜݪE£m!sVsÛnJ'79è$qÓoÆj!æ™d m xtz[Ui ôÄД´ 33!GE{]B]Ë60lì?ð=èýk =AùA%Anè¦@£Ü7`ú™ØÿFB’BÛ›lzcøZ™Uг|¡+ÁOþâÜ„£OïÙ‰‰6`×)xMZK2ÜüRà;Kd”WP@N£t„Ó›3M~Ð'´vNÿ¹ö÷tL[$Y«tô”-,‘¬ù C€ó‹™Å™ƒè‚ŠÚ,"g ¢µÉ,ovFâ£þÃe×>-þ1|Ú&M< erRi4gؽãÂð*-±†°eÌò“"A…¤”ª*Cê~ihÄåµÞ& ¬÷KsÔž|@uÚe¤¸X–„ÏmÐeA‡–B¼çdÕ‰ª½)5£c]çà7¹ÉFçzWÄ#‰ÁÝÇ—ˆ®Ž{ÖFgf ÛeòÏ®=Ꚉ0/JDŠîðˆ6ø Eû¾¨¿N?õn®¨¿׉¬)?ó³"DÏû‘¿æQ•gÎõów»2ûõ̶örÚœMpy¯Î£kIÔØÖ”út>‘Îøû@_¤hO>z$ÛRˆÛ€ÕåòÊâWMŽÅªùt•QJw_òƒT~âº4"õsRnür–‰r’¢ƒ›]س œ‹ç¼Ê[Á%r‰¤Æ¼à:ð&UZ¹À35·T» pØu%¶pãtÆ_r¬RrT³ºþ²lÙt}úu ?ñÖPÌÎŽeeæ1¼š^é+Ù± žâ§À#œ ±¢ëobðÏ9‚×ÜÉ!‘ƒ1AD×°¥+EÌÍ¡³£²bÆ›Wóˆh/ŸÄê);ø1fíUU¬J«ŒiFô m­à1ZªŸSyè°rs¶ôëcªƒêIXÕQ2d±cÙjá…“½F¢dÂ*â<ËÌÕ3–³ûQ;&¶ºV:Q‰9¢qYÉ2æ™äŽWî)ë9¢Ò¦b¢A,NLu#V'l…²<¨CùR*ŠGhÇhGwK³I®ÞCZ ƒä þIŒY·É£«å†¹º"©)¶wÁø€éIKœøÎ¥Ò$A¯ö@E'@xä‰)¸;¤O…†$úëê’_Th`.wƒ;›ÙE?V]Z¿Ü/ErìèÀa|‘$¨8sý õ¿Óþ\\9Å«;„¹¸*gÅy±ÛÛ5”+¶ó‰õNÞbü‚~Ëae$¸h4ÂJ9*pÍʑۧó—jHÑ «tlÑŠò»¯ÐеjåŠdÄB D‹âI~‘Dú<½Â‘YtJ鯳+Yad€qÎݨææÓžƒíÅ$À+“ãIˆY·9ßìnyòÑý¬YZ¾KË{¦ ø-¬þ'¼ö곦7+°Ð%]\UÀ†.¶ )ÊÌ}Xbjpàs\¨^†yõºµt~’8Œ‡¡†)Ë!†Ó[ZA£–Á¾(`~êïCãäY¼y (hz‚'ëìÐÀ{Íaeì×%$úÆ–Æ`X¼D˜#j©^„OÒ¬Áv™)Òÿ¶v¯|'Ž—üŒÜ… ›Í[Åù€£¦:aÜÆóËÐxLô¤:=¨Iœè­«øí?P&[oÔÇðæÈ Ž^êyξ MpFXÍÈ5q.Ø=kU4Cî|\LÂ5œÖc]è†øÙr&Zâå3×í«M8új¹£(€—ømcn§ñà –yéaétT±fÄͰþCáõ¿½‹ƒe£Ž­'ù¢Kâ¶(¥Ž6ÄÅf<j¾„‚ÆòÄÄv¥°"0d"„H*ç÷ª#~Þ¦9!K×Ú8G”0 bûðX â©4¿Oc€gãNyó¡qÐ V"W6$ir(µùø>±X,•xæKó³5©{a"‹‰ŸPªmzTt”ðš8†&§íƒkÉBkW,f†zVwsœÚÖeÚ|ÖõïðFaw?¯1ŒE‚­ë¨«Pzªðü –Ävw7HNô/Ô¼YåŸ,PÄÍHí„d$êËiÙëfr^Ø=õìót¿¹9ÁaÜ >ܾ‘×´‹yDoFu2[| |$·é…•k²ËBœÏ„Í}Õ)¥J„W1À°Ó§Hÿ‡bÃ3ÊåÑgþR ôãéºè‘>ÉÝ%¥¹Ü˜uèPæÈè¥o ÙŠMãyYGÐD×U‰[áJ8·Âw¿²dhÚ¬\f»µ5 ÇAˆXãñ‡)Ú1 ޲qP{r³’WÑœA8˜,ý" †l×¥N O1‰AWN±iB/$M¸ù›wd½¯H¥þï_Ôb¶TÃÞê–IÉ–fd¡’óÚìÉŽe‚A¿Œ ‘Êí‡CØŠ«±ÈDÀøtJ”áôw[¡Ë8aD–Ålû:$VõÉxð0óõlúaóÇÚ#žSâ1 9žÃ[[&ÔÖ*†î•:&ªÙMÎ.÷ûO¢ßá©jm·Ó´ß ­G‡¶Û¢Ž¿¸Àƒ¦,Ο€6P¾u%ÁË/››È­Æ¦ùA¿ ™íX…F„ž’&(è™Û—mÎXÞ"Çn$|ä.„ÚcV„ ôó¡SHB³ÐWv›«ÞØ‰Šœ"¯ÅÂν®é6Âxžé˜,£kfŸœÚú·–¶A)Ûñ£Pó²¹!!k¾ÍàÕ ôîÍâ'åÞ)•V‡šjLvvSÆFn-bP½1Å`«®Òɹ+È€œf»" 7hÔ/Ô›Çä(/âuþãåY#}1hèšTD< ‚'0ô~]ü¥ž°!õ9o‚ ±d)7‰±Ä÷f%ÜìêÀ–%²fíáFÁz1ÿX:ÿfÛò6% m xÁ?<þ>x½(UByL¡,1è¶Ö§=\hXúÎ7Ô­gè’Ј=&û-Žz2Ô˜ô‚@ÝNûÌaFÌWåL6é!.FA9þH/f®Ÿ|¦Èê±pÀ¯Ð <(XåpNl ÷㪱Ó+lFFcâ( Ÿ‘)YJ¸æCœ"Õy§®³x.4‹³fï ‡¢HÌù[–K¼‘Ï¡¸,–üÌG±š?ؓև‹Ahf5úå>ÕöùÈH<úê9)šÖºþÝÂXà9=-õj¹P¤XõšzQ"uþ{zÅ«§ÿTµpn‡„݇ŽIÑÒ•¥,/2ø°^[Æbo\üw¼Qþöþ¬o~Õô¡¤\ÀIr;Ï“â“Ì ¶#¹J°Ù|›ãI1ùÛ(sÏ3˜…)äëÅo|<ÎýÌ…æ6§yXSþç¹>QW»*hŒš˜}P#• C¯Ãܺ¼á­á6¦ÄòÁ¨‘1«¼Ÿç‘N?¼9m^÷ÕL©5õ†÷,ÝÙåû&…— ‘3°Róê_èñ'™I2¡Ý¡•EKïA/Ÿ~Ïp7çêaà ° ýß² ]W(åôõrúi›…™¤¨‚sXûUr!•½ä‹š[ßÚnãÅÆMŒó¶$J”¾…~Àz´EµÓ÷‰Í‹ˆŒCœŽª ²UÙQ—ê•æeÍ9âìµP`BÓh(ôÖ’bÄâ)ŽJÚØ)ì@¨§!Êë»/ ª [Åî³ÔAA]5l‘ï¥Dµ¦wE'9‡™Ò Ó©¬”ã(sñuR”ê_)| kz2ËäÂ"ùéj»I•èl™±³v´œ.Çê¯Áy[ÃûhÇÔÀ P‰ˆ§ÒÔ½œN9M§t× ¢ éâÁ¼”‹?¸Ze‡bo÷ÀŒ‘S zÑöå”­¹ÉÄêT‚›«W»§Þ|,ÀÔÌ ‚@ é©5e¾[FoÀ(áõá‚ â¦×m JüÓ#.AÀå ¸^{‰iU0SÛ½O؆áSN¯ö"ifYÁ­ßéÖ;û·Ïê¿ F•Bâ ̸J‰Ü÷®Ð¨»ÂùU…©„‰ iÉW³±°€Í4¾o¥Ä\LîÐ +¬‰lY—DÅÜ<øc¿á\ ¿Žßy—Äea·žÖSÐP–î ­–ðô³ Á£ºP?Íÿ¢ oì»,E±h¸ì¯3Q ˆ×KÏtZô8*©¾ó>lŸ…TD v“ÿq··ôŪ3îdœBÐÚ¾ SîS Keö:˜ÓÇQœº§¦eÓùQë™Ih ðm¼µ§2âáÚ?8UDk…13‘×h Zaý×z þœ¦¯‹BHRŸVÜT¡¹HaIÕ&W‡÷ ™¿Á‡šÎ~ Ó¨ârÅ4 aÒ:ȉ?ÿß4™ ÷§Ê)Ëa§ä Š.#ÐT9ä#øsgÌw¢G•Õÿ tá¾Ûßa†KãÚÖ;C¶’Y"‡ͶŒ©—­«(ý¬“Ž_‚¢zcѬ#½¢u>ƒýý¸ Ø Ñ¶oÿï´”ÊØ§«n„¦O1$Ã]ý¿Ë‡TÓ5Wôýáwî”\Z‹ÚªR'Þ9h‚Ä…®TÕÇ1¶¯ÀV¢~¡Eäå¸å.ÉñаÅ ëc4‚?bŒ¸VÀ;Òk§4|™|zúX᥎ˆL„ öüŒ™*Dši‚Î2¤€q³”{û¢5;ëIE¶[lëÀ{Ɽ®­jÊïµ$Тü6½Xh·òå8»4¨ ­sšT(ÌL !ŒŒ»‘±#áJí¥¡NPÏI‡•jæ)˜&3W).ŒÖÄ‹;I$O†.í4 çð©Lºð“‡ó ?ù ¹±d2g“oGš6\:³Kr–ÕL =G(£0c«b<ý6z)Bîd_{)`˜ŽüÃ3ÔúX/ÚÜ„òÐDZÖ÷Á-'ŠÌ[V™on‰d{Y$¾Çä¤lUD¨ÊxcTLŠy”ßèü;b«#ÙÇÈ?f‚wasuŒ²Î-TÀC2õØž+o™%J‡¶íÆÍŽeXà›‰ÒNÖfUA°½nC{áx`ç”Gw;YÞe2ñC¤3˜@™_? º$78ø–t¾(Îe>Ù+CtÁ{&Äá×Y ¤'ܰÝŒ"æ&³éÚŽ$ƒU½ã•WPr¨\Vä˜5ˆØØÛ;Y‰šìE²ðÞ ºØË‹c‘ŸÐ𢠾Ãq~Φ™™Ím¢¹Z[s­›ü7ìQs¬ \û O’úøÑÏËoö2qQLA…HqÈÔ²)t,çÞÀ‹òšØ¼±Ø”LA)Ð9zÃôÌ>Õ~WZËô'wk¿S7ã¹ö;Î¥QtwÀz:±Û€’ Õ|öšÙ~‘7Øhå3Ž£‹£ŒhJË¿›Hj f]Â(\ºr$n±ò/ŠÞ‘^“Ü%χf·Éš¾3 >ÔŠn@Ýaöíü¥«B}>Q}É;°9Ù¸/~)¯ÆN þNSù¾Ìûwå _FS¾±ˆ"ßÁjÓ¯ð ºÌšn'ããšE—Šˆ|`·ËE{òM>¢vG.þÁØ2™Ú¶xt”ä«)òýë×:6hÍ j`÷T›fÓO2Á£:ì²CÅÛ»@©†¬XÙßÞÜ”Xì€^ig Î-½š6³·qNÇ´ÌÆf!blóö´Ör”_ÜÎè`&\ÉM~@«BÃ|L:ÜÄÕ¿ùoR>×A:ðt÷ äûYæ²Px¯) D¸#šÙúßNbæ(lÏмé!‹´ ;x\L;앃ý¼ cÖ£>‰}‘¹ƒ^ƒ]ï¦ô¼Ö%HÝ 6‹”Z×`F*jDSˆÏ%ÙËò óÿ‘[³³Ó׫&g:Ü,}ÜZý\˜‰¤RVäÉTR0Ëhçö¹T\J–Ü¿µ%«¨ç¡–Îú¥wbµ¢ÌUU±3Uÿßà=qof©§¥B,U(ý€ Ž‚mð' RÎI”‡š4Á±ïÀÍÃåïÖºv]81 ÍÄ ý6‘¢Ÿ £:•‰‚v™â²ï¤X|01<­¨ŽjÞ‹ÇÜååš“¼¨ŠŠ¼ mõd6Ò¾S:Ä‹†¬áÿü+¡ô:Y@=ÔÉŸhR¦užŽÖÖ,;¤¢±èi[3/N•V¨ôÈ‚‰„Z‡HnI…‘Á´T6ù «§XÑYÀ7 ›»ëexøÎcÙþésðB͇xË“‘ä¢nú<)¿—ãqH±ã ¶³ç’ÿ»ìí·yMtª÷+L­i¤Qª4s¸ÒOØ2+²4Ã+sŠ 6÷WÙ\"Á4º)\âiñ®¬ñâŽçª€¬ ûº€(Yd7(u®ž­“|×lR;.34¾(@ÔiyŽkÃHÿ1HØ+ß+Ò¢hKñUóZ1}ùª]@É¿–×Ú¡ó ïÇ>Ù[>¹½è¯ZzKŒŽ¿Ño³¾%aw£'6dþÁç%„øB„Üû¨`–O²IÙ™ÄcÜ_%Zm°õœèžÀåë§½Êù¥˜É-H ™†äëƾ o #‡n®sPtÊg´‘7ýŽT™# hik.5½Þ8C ¼œþ”â¼;5EL'H©-®›”ð}!¿Åmq;²Ò}ôÔܯ²*m"ZÒTÆ­ܶ],0Ôœî×Z=7½êÆÌÚÃbM¹›‹“‘*CéèSŽVo1õö°Û™¥êÿÖ¶Zöåf¤ª«² Œ¨­×•xí <ÆYyM ¤š4ºßêÉï¨&p3-ä¾Gµ>æP'zÜÅ ƒüsså²ÏF’/¨“q»A6p"Öq¢C0®aÂTý£I¦¡„òÎg0ƒë=4_ ­5¼tUm×mdfvlRUì2ú©FQ²zšµÐˆã»Ì©wÆ,‹¤ÜÆäZUc!¿¸?tÅ}v­I“ï§ý…VaäœÊÒs²™ÖM“^•ú¯Œuʽø—P[_N·qe¯¤¦Ø¢@c·J ¿Å`ÂNT¼hY…N¡ïp£þ6pE ÁÙz"‚›íüëÉþ¶-¡ûë.91?FÀ×ÁY@YVÇdÉæà¨µ\áÂ’ëeê¼[°ïH¡ž6OR‘ñJMëò,Iz' ^„)© GeðA|ŒÑn±”~ªC"\ 'nx÷}‚h•)Læò×Dw=â69ÝONOôôÞõV¨–uœwJÿßJ¦žÎUŸg Xã„TóËáµaÄ"z'kÌjúN(kJ(Ñrˆd²Q !`±ÏM1Ÿ¼L,x.÷ÝH³U¬@Ó˯¼Š€H jÒ$·ï¹¤‰UGo±P=6Γ¹ªì4ÒÊɬ÷EÕIÆ •ÃD·ÇƒH|Ì´ ;”Ä2Ê㼤g“´´|ŒcQÜxo²ï§Øšw¹†ä‡B-͹Eh¬/dÀw¿`’qÈu u&ôo_ C¼ù>³swÑ-è1–36cˆ»S¶ò‘ ¹%CóE´ 5§»/ÐÃâ²Òºå’«x®ÍyTÖ¶_NÝÕÚulpJÍùMœñ2„Õ t¡…縅!´É-p]9÷²šMUî“7£S.¹‘ÖÝ'bC©ˆ\Kl¥ÈÀ¶Ó»RPòÊ“5sH!.†2gð!™û+ë¤Åí([r¼ÉL¾[!b4hÒϨ·RÓµuÆON‹ûðñ®û÷çIˆfÌɽªúN…‹Ì4+~¶· O“ævþ,¹jéBÓyÐÅHð%šAi©€;ÙüH@îÚcÇ×rm'ì±?À‹ŸùâüüBm@«+,+ŒEÊ꘹V¦ðÎì«xXgá§¹¸ÖÉDyú‘8¾a"»!ÉÍq-÷ªÈm#Ól…¬Žì_´,ðà¢ù`u‰P‚(à"‰†HÃËêr£V·NB6ûþ‚㌼~'‘æã®ù|¢7ú;åm½ó•p•e´þ’ß1„-ùÉ…3KN`zt’$Hè`ʵÆozˆé-¯‚ˆ!°¾€Ví's2¿3"•¾Èµ6,ñe´6$X[µ9òá%¥ 7ß”P;Š|¸…S }2¢¥_–°µc“e¼¼)N £0€¨µ¿æ<ΓéП…gôØF&¦×•3ýN¼#ëå9|þð´‡ë!¸ã ]DQxhÓsÆÉýI%ÖGÂÞäjøË‚œšd¨´Á‚éIÖµMW)É6:§X$F'ÆNd9Üçço'mwhhq_“ŰҳܯŌ3õ toŒkéZFðýK-ÓPçXð<ãæ¶s¢—³4kEú* LšÃ»aÖDY¶þ s”_;áäÙ瀟] Ø Ò¾Iª6 ÿáiôËl81¦< Õ¤4·"®Æ3ûÅ5rU²×™‡'Ç¡d5]³Jyk~Û?…n®ú©59UõÍüá –^ä3¢àFºçë4«¾uðgTÇ·[<ÿë6ÍQ¿×…\³ž¾ÕGÿd×zƒA©ç¥t›u<Ó^V¨ÓUÇ–Ø&8ó_ã‚0Kbƒ÷0̆”#TŠÔïÃÅaHõVïIª¹G?Y´n}rbèþÓ¿[ùÀ>wÃ>dßN‡2£ª«í!WB´wªÀ¼ÆMé …F$#µ³¬GñXuŒ í§OOömÇae2[§HxÓÇ5…6ç*lÛÞY Èð™V„´žï”p ƒ½xŒF„Ncö}m©òvh j>ö¹Y#™@pùÕJ•HÃ?¼Žú²©{‘lÍ(á¼wó5ÑC.èÎÅ{#,wêñQΞ&boƽ» ”Z5˜RŠ/y)¬erýý¢‰Hâî'•w½Ék+Ad­$ÖR¨’Ú™«CDpYG¯´õߘ¶e:aXªC’ÌÁqKm£ïÌ»±Æ&žFüË‹Ác¢ZìÖÎà_ò•nÆk! 4s4!x!¢WJ 0“¿ã~“Û“œ}SLî-v6š( ëö´ÚJ‹0½å ¸@Fìy‚é  “’ï1°þÈ‘‡þÒ& ¹“j$Ǥ3XlK†ÔxÕy5Q8DU¸±£ã¦o޹–ƒˆŽ1‹`fØG6|¾jKx`Û×õlˆõ&¡âc~ˆRÿ™RŒK| ðeå‹t˜]H>z+%*R³Çæh¥Í1ܰ?|1™h1]úðÅÄÞQ—3Û0=Ôb '³UÌ+>§(*ØC'‰™g»ôðjšö10þ”•y}l Õg Y§Çgߥrtߢ‡UQÜ#ÎøRÄ]ÿ:ߦ© öt´%ç'†»…Ùz,h}h:gÈÍ1ý´²9Â^JCñ§Èc¤ÂU>ñ–7ñíŸ+çÂbÙÛˤP(EEíŒ,”\i¶dtAäîJ—ÇÆ¸J8¬áæW™ @ Ç”¬ÿno‰õ¤žKw—÷Ž3´Èh~:•õï5¾¾â_놮léfÄd°ÚY&r3¥s’mV¯9äëÛNù3å K(6°áÌé°àÇ'Sæé[yÂwΘŽÇ¬}åH¡B“!”'òyµ7JŠºÙ΢ƒp@Ôv¼ßÏŠËŒ~fÐOp! "…ÑçhD€³“•g$gþô9"ðñFLçd|+.xá´Ô^¤¿CóZDêÙi¯GHÎ'²K”çâÀޤþ|±dâîEÐÛqj²TÍ­¿5©V”b‹SËùÉc€ ÍÏÅ£®(•ìØ›ˆÄ<£wš>•»2à+xU¬^rïmq¨=¯T³îP8)—ùó|%ñZcÆú²Ë¿I2á´‰rt"–Æ8S_°u±(`añuI‰vV‘€|'ÓèG`ZÖ™ôŒoÔÆf‹ý¥em—R6Øñïw~+¼u®ý#­¥1_\úS Á•h eуñÎó &_í$CÎׇöužWƨð(a7@— ÈÿzìQµÒd2Ö>T.Ðö8† ÁÕ– d&ðÏUËüéûP{?ŬëƒC „Ò²­¶­`Œ"5_;çq óê]ó6 Ì­œ×ôŒðpY·JW[m‹ Ÿ™áÃá>`ãdˆâ¸Ó'øq¸« ù\*ìÕLUñn±sÒS¶-Xë^“Š(oH` xŸPÙ EŸ<,OŠw—ÇGjì}Ý`.I¨G¤H÷#«M…^¯”À´@¸÷')÷­›ìY2Ú&>ÿHÚïûÛ:²g]£_¤ê ³¶ê©ÿ®iVÉYF\¶¿ÜkŽ>û ٬„«f¶yCŽ…k²ÈïaÎY^`MõºpÙÂfÑV,‰¢÷nån>Z¯íÓ¬V`ÙHét‘×Íckä ú69™¤„¤H¥ÝÎa´Â-Aø­xÌ#”5ˆ&n®ZŽ›ÍUyÅ å ýÜúÎèIñ#<ŠÍß*ÅÎw°¹ŒÊðȹíñR9*Ê‚h¢Kœ_{7»sÁÿ„(qõdÛÂ#AÛâüŒ!ð’¶NÀ´'Ì"¶=²¦\DlfèC4˜7éVySäì0ë†3pþø1ê¦$% ñêL¸ Z=kÜ#¿ OUëŽÒȱÇì8  sFIÅÚµÊìÿÓi!x„m÷Ø'³(®ÓVÅ÷b@«ŽpÃí4o1yq ³çlf¸ƒœÇ ~Ÿîð™ß[­ËPQ  ”é[Bc¼ ºW¹Á »*£ö Êàc° PJÅ뛥q$ŠàŒ°è eß3Ñs as&¶÷~A¤Ø8ÇÌX€\¹ßyæá~ aâ`t£ aC‘L<®#ððÔ#?pežãsYånk]ÈSq)W´Øì¹ÖÍ/ùj©£˜?ï³{ñ!éª}'úÚœ—3ª.(u*(ü‡Æ{îD}g>ÂãÒ@—0Ž_ëXf{™ý H%¸ˆ*.$Ø ”]CƳžŸÆp`DíÀû`nÿLú¾=µwDgeÅr²ÃŸÐU#¶©ÿ‘ˆ1•ÅS 'iºä“êe;kk-W\ûZ†¾ZÄ'VÎMð¾ 7ÃÙ*ÑHr«£M"K^•Òc9ðMuØ&‰.zª¨A¼‹ÁÕ—(nâ”ïo\dožè¡[îd’C:îö͹Ïìí#Þ,MMÕ F,ñWäyû™n³¬é‘}â¦\Y?œŒ&×£†2Zck˨éùʆéþÓû‰„CÑ“ÉôÑÕ0ŠOFœîþƒS6–;,õ·²&‚d>1¤Õx7ÿÀH&ŒõwímYm´ ëÅoK±†Þ`Ôë@Ÿ­±öÿйz1×çÞ;k!ßçrGAÈ]Ð7†ÜUxO2­AŸ30ø(9À cfá•Å-D/ Â4p}c*-@`3B‡c6™‹†™ŽÙ‡G0Ï5…5vhÈÉ-Ǹ™eª5a™ÝîâVáz /¸zî±X¤/ò^ÞXV뉽i´ ^¸w[­0^‡½P.ÕšIphÅL¸ƒÞIÓ³ŽðálR?¦4ë}ž?H<âòŽ•7Á`Æ=·íãÝ@ŧwìçCiÞÌ&ÿw_› ä ד5yìbJòp¬a¯..P¼,w$ „©­}F¥] Þ.4¶‰,ñÃBÚÀµ¨†Èºg•ïê}G9-²(Ûò±ÿJ5ð°w¦Ÿè¢,ˆ+fÎZ§]òszM³ M’Q(3žEå÷Æ#«jÌR;>'˜DòyF&Ò¦þ鉜ƒYb?\#“å8bý9¾ÉZxË¢à”‹d=_)¬Úog$ƒÝõM^¨3fx6þ艘Äí¿`”Cå€Å{Õ!Œdïül #¤,YT!1Õ³Qúûv%¸ù™Ê’—;Qf©— ±¢ÜS®XúÚª¾¹Á¾ÝF†7ùgT¢78­î¿Vø£émóüTHÿ¦{9xÈNHgÙxž§ã#ÿâ0 ÀÈ~oê6y*jÛ gÈ(»ÍxÍô>ΔøÛˆ­^Hð¦gÏa« C œ(ËFó(¼B¸Š)ˆ óŽž¿×nª ïÿ 425œ‰?Îèh³ ÏõQGã¾3ÁÁ!9CÊ“h¢*»§ºûþݘHP{8*„è;£ƒ«Vî­EÄ»÷‚Û‘0l>¡JÆ·Zu¸­ö·áô44 †ßšEµ`:n¤¶zÚo°SÀdßúµÇ߿іð{³0¿löªP[¡_öU¼?ièÞÿ¯  u•‚I‹v?5غF4òIÆ6ÿdýn©/žtÏ1D€©=„ñòÔ7.qyÐD¦ÓÌo‚¡ÄG¾¦‚\Ù¬) pð]Ôu;¸m—Í¡Ç\xsý[bf’@–zÕIýòªÛ8Gæ¿ô¿8âVÑzGMØmùÏó`dòú3}_*ã‰É™¯1G]r0Ͻûc)£Q«!E]\mÞ É [¾!½%÷F ‹–ðó×£%ôôR’X35î±>ö…t­Á4xÛ´û~‰  «àš*ôÍ"ªŒÆ3úe¦ LÆÎ³ }ø—çø&Û®ù7°ã£±àÍäg¹ 6ØøÅó5ÕèV¡E]A׋b—IøuÊŸÅœèU?ˆI »XùÀÊ\f#,^Óh˜Ú±jé*ì‚Yõ7¥w$ V$+k_u×°axƒ0;wÎLÖÙSí‰SÙñÚ±ØâðqQ>§*˜Guôa.quž¿ü!¸$´ ßÜôJ²Æ^—Ö«faCtOüqÚìajdÀtrØbŠ‹ÿ“m‰}J¯©zÈH¢j‹ÆfòÜNÞ>BÞ‚lµd$øîxW•0°øÇk-ÚŽ ¦‚û×:½ù@´~ÖóëÓ7÷ž‡d‘ Ì_)E’מwÝVÁ³Dj{*\µ*ið¯ñ]´a†F[ÐM 1ü£ž¿ãëx>‚è+£«ÒÌþûÞð’Ó®?2Wž¢ìîåC‰úÌ|õf¼ØtqÅQrÚßFv‰ê^ì¥ÆyŽ\h= áè¡7EØmºÒ;ÒMì{ÃT­ˆ’ãF&ÇJ,¥¹«žæÃ7.+½“´/*¸…Rñ<€E}GDƒ » €é{Ü :ÿþ–kì1X¹®1Q~÷}hÂYŽÔÅJ;YÞm”i¾ÓâÍ3öݯR>ÔŸ ©À‰Ýóÿ NC=«9J³@EÄÊ4Ÿ>€-ôJ©@ÿÉI‘ÐEÈ¡¼sþ†1Š©[‡ÝAƒø7?oõ ©I‘²_F4c~€­–ÖnîM)­{ ΄h/¦¨½ðÅX/ËÍîu:ø#7âoV_,T-½"†µþ}Ï,AgÀªGªxØ~'6É@AIÏ5©Ž›}«ÀdÎ@Qn±­ˆÝؤ'dÂjÇÇ­þh&Âmåï —T«ÉŸT‘t&FÒŸ˜KZ“*1~Xœ ·¹W…5‚í©ÊèÈš7:cnLO…‡¬ † Q§’>Ÿû¯Ï(÷Ÿiê“£d©­$¯Ç öL¦{ü‚(òí¨¼› »…ä«'ÆÄ 8Da7v^¡Å¸Ú2´,80¾Y¬Èã@€±ù?$GàèÀá2Å ë·‚¥þÁ­à¡½ˆ8»ñEõà ÁàÄŠÙ¦‹ãÒ2¼ê)ñuyÔé(1L×–I•&3M¢5dg¦Ø‹nK ”¬€mrÇVŒ¤™ôv-eD[•¾dáòóèxõMmÍW ~*B]ìKkOËe”¼Z¥¸ÂB»-­D2î‰ýƪٜ¿Áö²éHe°Ïnü=;õÞ\ÑUÃFP¿˜£ïì+öYã${üo)üä T;J”™tj?˜Ýý@ºƒ_ا¤’Š\ô“%ÆÖ§Aß|*:ñGwµŒÑn¤7""^ÿ§ÀwØt!|yCf‹¿ÌvsÞ>oSc'E`¿2º‹úÔ8Í'¿Ì„·ÅÐ@¢P|輦<ý{6A(þÞÒÙ"cÞÔ5®Ñ'¯‚€Œi«í_<¡f*Œ˜%{(±aÇWþ‘Äìð°ÐH÷ºæñ瘘E8ÓÂSާ=N®xeļÐÁ *Òãvé# Méð-­€(ÌÛ€AºæàŽï›Ô÷:…f!¸v?a±Ì}ƒvGKw¬”+§ÃDº¾…E‘ç[WÚüªx·)1¡…b‘°&ŸcÁÿ2&½ÅÓMŒ¾ÛÿF¶+lDc)S…6Cgm¸U/ew²-oÝõˆò†N*B/Ðì¨4X3r~—N,é!_¸[ö…þïsUxêªiEãöTÞÍØt|¡ª³Ô£ÓÎýDŽ?ÀÞøUÒÌòÞÊövþkáÍ’8ðL¨.Šþ(˜D9Ö&ÏÊλ£ ž…ù°ÞÁ"µbQ¸Çò GÈ´¤Ø¯tªÍ¥Pû>xoûHÕ”äÓ®¸¶„1®úmj¸:d/ÕéhoM|*9{£Xd-dΊZŽä=ŠÛçjê#‡0'ûÅíJÃj{ Is‘¸,ç«Ñù6éfÛ î:«JG¦ ”ï±±³§C± F¨n†ë@^¤/ª3ƒú×±¼”QϺ‘6q¶­¼Ã>Sä*¢Ðç^hãÁÈ8R¦Õ0â&rS—B&{eY… ۢ뿞Îv»†@˜ô†_«àu=Ã7‰ïÑ„™A™S2ï¹mÈò‚.ì·Oꆃa ›ÈsŠ O4}ð&ÎÀNøØª¯†O/;r³ª!jâÝ4JvMÄÁá¯Éj"c’ë2eGôÌ\Êj—8"ðÊV¼…;®!ãþ¾´‡$¶®ŽÊ+´âõäÃØ™~Y5·k”kª²9—UŒh_Z˜ßœ¾¼áßâ¨ú†½V½åT ‹ÜTNþb®{A1/ãìHb~8ªA~%6AiÁŸ;Qšð“EÙ)Pù'âáH|`)}EÎFé‡É^ñYWsmGÖç &þþªBï]ÀZ¬ƒõ‹£‹(5©Êˆ<ë ‘º¹Ÿc‰‡Xª”ZüøÞs£&&<Ô‘'Hµ–™ÔÌ'¤Tm2¢Ócx¯ –'˜¼(Ä'{/.6)`d0®ŽlH™2ØpÚÇÆü#Ë|¼Ý8g …‡3{/E…µšv¹tä¼sA²ý[»Ö„Ô>‡"’À1sˆî$3'zá‹ר ¡h >±—œÕ÷tmiŽ<ôÛ’KôZ6¾9ðŒ4)iJÝ#Ôî9Q³q[/;mU{q˜˜…q­¾íÑyXÝ6ªF:gˆ²ä™_› ’RÏI» 9K²{!§ìÇlî‚5Ö-¸9lôÊM™³þ£wmï;¦Œ<å©ÌétÔ¢s½%-Í"·9úºú–±B˜Qí…ùÎÔð÷µÏõTZÒ¦AhÿÛLWBKBÇ¡Ì ¸® Ù!èÎ(ý› cùåÒW Ð‰þ}½×»;I7_û° ¶gi0d#¬ìs ºD>òN4e “«3,o4"·ë"×"ô%0éϱ?±í|`Õ *kkáJYƒ]iž™ôAο¶¿ªpÄ>®q²Ë¦ls²Õ8<;±YQ¯=z¼1av$Í=á]\ “^í<,w½1Z¼ÕÖ*jŒÉšöÎ*IºÕ¢%ap™4¼—ûØ-7K†ÖJ’ÑgöâlGºk+Ÿ3èÛ÷xØì¾Éëwt?cÞ |gÒbRæ¶ý;Ä9r ÂX×b¼êõ¡´Ë$ÕDxÐÙ­ÐM›'¨N}çñD×N“¾ ÜѸN>bWëV[Љ®oE»yTLJŸ>GSYÄA3/¿À&µ9¨qæÈèÐD“ªóí]ªèñb–Eü‚Œ(Òžä?a23Mô¡¼ðÑ£N’&_.©Sè{%÷ò9½!<£{ór#žý–8À,g6ˆ†vË÷ ÂÈÎ[®ïù\ŸÍܯ·~H¤Üw¡ ÷žääKN§ÜB~RÇÖjQ×Ò¼‘¯„R›Ô3w˜VnʾÕP|tå6NÆ)4YYZªVïñtß¡¢Î ,“ˆBz[%bðá‘. +Ìf3(p¨*ÜG´[½ßqæ:ìÂL:ÛjsyšÙøÒøÔ¡uÕ­]äüN0Ê—õ¾åFjÄŒ5o¦òßÝ\=LLš±š¬(ââÍúß*ç¥ÿ:jG4NJ&šm>žneòÛw5hƒ;ì¹Ï hôN@ÓeH%»öüÚ$_óp×Gƒ‡ùÛl©¯™Ž(Þ~$èÁç¹ßw0½)6@£êøÄœ÷G³£WîáÈ¡¬Ñ‘†ï;Hü¡þ¯ܦ!’~3‰¼0±6"!ÃPÞTÿ0udõ680Ë“P€§GÃti»\ΊêÅÔd'íGu:Sm{<ˆ ÙÕÓøÎŽ¼¬óÛF_ƒ€Ð¨Ø™ÓL9Z¿‘ ['ŽÕ¿±Ïö<Þš\LôQ|®V…û[¾Î8IeîãN`Äz#–$àL£@6à2Oc×_-Ú§ê€`Ï{(õÒkÐôÅø¾l ûg5)Ç ^w¨‹5ž¾N˜JÁ„úª]uñ¼_6#‡yÿû2ª(U¾E¡‘`Ô9¶-¢fõer˜3.sÈr»MNI=+‚_q$ 4ÍW>u¹Ñž´~ c7KóÂY®Ì>¼þÊêDl·Ï[áD3ò–`߬!Ã6l@¶zÁFÈ þc©æ¥(5Ëáù8ýéRÛ¹úbU‚Z´m2Ä]Þóaúë¸1yösÈætùŽN=zöœ7ñë/šîªçm½ijÊ“ì½ÂŒü}—4-ô gcNÿùö¶þ…Û0¾wÐW!⸈¶´Zy8¸Ýh+ Ù ] d|6•Ñ4è´Ø´OL\¨8j¤rh@-øÆ§76„euCæóËy¡i9{K±±Yb+\a¡~¨»¥‘ß_}éÇh“’¿>(ˆ“.ÿ– D÷Õ / Hö$ Dìz$ÒÐ=øhZÍÎ zÓ‘kÞÉÚ(&Kæ§)Œ 1“H­{ÚÁREvßU ÝOZ)8¯áþ 1¦‰MuTÑ®~ž~r|àã5 Û*ø¾z„YʨüŠ¥íÞU{…BÊ32Ĉ|sU².HR‰ï'Рçêëµ½µ»Íu1a…„.a nUqOË)ða%cŒ™RežœMêníµo`žjýꇘŰ8¥Ð[^¬¶qî¾ , Áþí‰ÆZS¨Ê ôGœ´¿c‹.ñvñÓ†B„F=™ÖÙ>8ÚVÁœžLÆð\$êÿ¾×É3Va5¶bÔÆäÝ^m [ rëÀ Wñõˆ*ذD›ŠW»¸öýRþûì•Rpœ…Ã݃iÜ~.$™Ç.~FÖV`¤Ê#ˆ× $Ô¼Ý0YÜö‚ååîT"÷Fñ&Ü%É;Œ•É5N.èµÐ^’Ôd3¦`Ö¯Ò é+J‹öÛâ‘ið£ÜÔEÅÇ€ìßuÍgø³º$¿õ¬ˆÑ@XáæUÛ'Gí9¨G¶+¯Îéì ¨qJ˜ÝOoRdcÝnÂ`1ež´?÷LÅT¿cÏPbG?Ï•ϵDðÊÇ£³c´¦šƒ°ùö+9R’Ìv~hHóFÈA3ÐpÍ®>W0¿æÔ! Ú\õŒ/[=]¸ªÏÃ&û°¬˜¯KbÞqb€õ2- w³ýήhyÍŽ<éêƒê[Àx^4å?Ò&6?åÔZœ7¥;S}ý&>NÎpÑ‹çö1Úת8g’”KNí®uÐÇßiój‘÷¼$ÍBLÐÑÿ³Î¡ë•¿  þ-ïnz';¢AÇBzFqâ ¦¦ƒœÙ@æl…?  sù‰6]¢´ÇZá{ ^?’[¡}P¼Ž)TÌuš•K´€»œ)+¥Ù³HÞmqë†@¤Öå–øÇz„[’ÝCÞ9£°-[W=.ˆ9¬hcw"¹¹³åo³gLé|¹»ÿl¡è ·Y‹Âð$ªÎD…2ÞÿÇ?äo5»ŒsÒ—\®Uæ¨[=-ø¢ö™†œû /ëÁ ÚáOôTr£+ýè†Ý?Ä\Ö„RKfq"»\‹Z,8è 9”'˜ÄDúvï¿îÿ”†RçB(¯]ê”t©;Í’¼7¨ùmô´'Q¯Ž*&—¬Ã ÝÏäÏ·ý(2çÖܺ`WPØÔZàÑ òSñÿ‡žp)Q"kz–—„˃ˆ‹Ü‰¡^§%W#hV¸­ÅF1ê”Rªvšr\ u‘%¡—˜dkåïâ_ ˆëµјEA®Æ>d!íõ¿ŽsK`ƒ¥ôη¼Ö7pAôa °²çÉ߯9€…ácÒ1h4¸ÓÚDë‡ÈÝͨAó-P+§Â(j¾•=ŸéicÖ±·Û§Y%Ã“ÂæÇÿ,^>üx&«ì.þ†\S‡Vƒ¡"â…ëóØãp8Ù¢‹b³uùŠæ*øÔ¾¯Ä™ømDïþ2%˜Nö¥j¡-듘œ>Rü? ¹Ãu6­|¾€ïq«4Ûó°Š)qªÂ¿´l«fUö•‰ÊñÏ DÞÚ›;ÂÍÀš¼¿KXWl™?Pw‹h60ÒÝ¿éš)ùK±ÞÇV¢áÑuW¨MÓÞ9ÕÈ× Ç¤ã® fnëïïcBÁ„ËÐ(K_£á¯Ê¯£¡­nRÛó:»JW*…šˆ3§¤ƒóU(¦6”žt/iÃÈOˆzÇ÷Kvû¬d0ÃÒ(”·’5ÝÒv¯¥«^ù﬉4øe¢s&Ñ—ˆªrSÁHË#JØmçK—à÷>XøJAž¼µ!áèc#K ã¨~±ë#ôPª”|h2óÓþlîÂ×[m¨„¤ž×íßQG;‰èBu9ü3+Ö+`GA’æ´cf|©¼°uDëàˆ•I”®R:NAj)ù©4Ä«kS‰GbÆ z|Yâ¸cÌÎw¹Dèµô KfYgoÍrØR8îª×-Œ…PÊúwÿ¯Z‹ýüxgòÝWØ6nÊæìKF\˜YÒž½íMAà/ƒ¶÷“˜JÙPÄÈi£ÓhxsÌÖ¦ãnð$¸#YH§KÞ¾ïEr¾·YùCxpòxßNr]™€¤•Vv€ -,ÍÛ*œôC…ì>R»À³(æÝïÕ8-­Z{Ër}šfˆ[¤žX¶Ù»¡|ÏåÅqRÄ]jZ).ƒ¤é.Ojd½ôÐÑz€ÕÃR¬I(a‰1¾-œ%Dš,»}ŠRÀS·¦`6ãËÇ-¸‚TO ëæui5‚gâ¼øß)G%Ÿ.V¹† ›cÂ7©]ÆÓÐz6ôӼY{ôp݆2¼ 5³}U•rZ@s'4q×Q¼e4«y,^ÉÚ_û÷|èÒ }ÐÄqØÀbÞOüW ;åèÍì7'Ýÿ튴ÞY5ó$GüLkÞ÷wAjð$6£*“â£Zåý>زAÝ»`÷N§šá´º,ò§æ2¨&f ÁoNØ_Ù¼KfÍœUiëUðEÇ™ÙÚ1·¶Ô.c™œË`2“õí˜tÒ1Bƒ(_©Nê7›ôD69Y%¤–нåH?ó?üeÙba®Ž Êz¿ŽšÞ'—ík‚æ´"rÊ.x'ßûÁ%ö4ßìL þ¼‰+_P¡ä?¾µ+ÔWß+ŧ”.½´rmíGùW/‹Ì¢Nô_µÿ YìË6(T9¿%Ân ¤p0«Õÿ’…€_B8ˆ‘æbOr8~ÓU{šMëþ@X3µ]…[C±B¿,°u™ÑÛTð»Axð³U2]$o ©ƒä6#_X«Ò°Tè9’nX™W&*¢´¥0tÎGñy/uØNH1fªßbºTt#óÄÈúš'é¼Qä¢É )ÀÒÄFRàR“Þ’åœË «ÑÜì²C—Ž«aeÀ6M‚SØy¥Â™èb üöº«XÞ —ýǹ|c<çØt›ð-;^°)Ê‘Ï)¶Õbà¶´²ŽÅ µ_¹ûu'ÈÇÿþZÃá]£ø|«ò½Âw@•Ê?rÈuõ]WzZp¡Ü°ÀKçY½ªã±ÎÜôªÊK9¼!YoÎ(ö; Ë€åëê–ÿñP§âÚUÿDû«÷ð†@Ÿ ïýV’ ÓRB¹Ø V@˜N vs/šUÒçµM‚^Zkn™6ÒOøß,µ²>®ƒ'?£º÷Þp!ÎKoí¢¿x–ôÜe›-ÛH؇ë]oª6Ò2,™K5›ËZ]C5¡@ «EkÞ)'|³I 4…¶fFæð`À°wˆ[/ìù× ‘LÊŠ”¦‚d«;káz˜Ðaá G ÓIl2£5ôw|éÁ+ÊãéÙ‘,-÷H¾*®Â~3œðÖRm­O2ÏzÈ0Y0 Éà'ß6°v°+rÆ O«ê•%þðþðpn½î^6ëHóÊè§:´‹Ø¦ Mƒ3ø¸¸Íé{>iõ V  µí48ñÌcûžuŽÜ€ Ö%èz„ˆ½&$¤K·T “ WKm¹˜úHÄ!ÙÝ-Ñ„ W m7è¶Û¶Ê:PžRÂ<ŠÔc;½Øj‰€á÷ÑPñøoIzvaÖoõ$ wLÜ¥ ¢ ·)]ñ<¾®&Š£Ë9ëÒ«rCR®ÀQ2›Ì\ôità_«¿8ÏQ8)c°è­`’Ká†%!2‡K‹z¶¼¼“¥ßí&*fí3 š Ec½U;ëù;;ö²0ƶ éé¦<É!É`5KßWçDø"]‰ç€sƳóXà@²Ó³O™,ʪrNôAA2yayp?cðWÿZŘðà³¼ýÅ[”êÝe}MÁ™Æ}îÚQp¢Å€ûùøÌPÕ‡$Ir;Vµú|±|Q¸ò#?!bšMáé@)éò;1hÉ ‰·ñ'V¶EÁ†Éü޲5Gp×uçKÄÿ…΢N = ‹‡~ª4[®V7•Û‹h—×^[[è%aMëg®ÔA†‰—ÉãJ°n$/%+­oeýe·²ËX0b¿À¾ê5sm„Îû[T À#c‰yæd¯ê)‘¹<ÝcÕûÆ• €¦;zO8 s_t$GÏ“XìsÙ/FÓ¸I¾~0¾ºNð"K¾¢[ÜàNv$lX95XgĘVä&\zR»–Ñzç ÄŽç¯"ѹIàÉÎ0XØytS0Ôô°G¦•–Äñâs>ÏD?òêÜØŒ?δMënçnVk1pòt#jXô+#(Òú—Ëc›¨‰rúh=óJ>ƒâyF>‰ÉøZ—Cu^0©žì|«Åž¶ Ê÷ÛðáÎÑCg²²Þ‰JÌŒOïÚ‘&0À8ßî6µ­yÊ55`qKuP‰)°„3‹÷Ähz„´œM¸jn:)ý0m&bGBö2¹NØeŒà„ ïÞj)ôD§ò´ñÁ1Ð3ë®dQ,,@ø*wð)gN‹n0rG °£yõÿ¹V1Å¡‹VL8Åçæ†ËluÖSÒTÎoؼ°t|¨ÕÉ6—ªü¡—Oîä Ýn„1A!t„ïzèm7#Vü œlPd×Ô?ˆËÈÛå/ŒÛ¯¾e¢æñÄâ 1ÿ§Yl8 ¸³Ç– ín’kñÞJO©nذ Y}æf¢~•ÒØ^¬ï.Ï\=°(ô®s¼-NR NÓeû9Óú± Fù:!+%‚Ïx‚;܇ƒ %Š8æˆG9Ke^¯âL˜BÐúŽë ¨åíŠ@ ”À’Õ´ïß-‹¯!Õ šájI~¼7Ü—ãëñß“ÄáÁžtúƒÁÈÍ„Ñã œ»@@”þ®%ª¾£PÀŽˆå×ÚYf?ý*ûàH˜=Ž9•AñfQ¾þM‹à7gO£µ#Ü5€ë ŽŒo‚Ü´!zà¼õz™Àüî›ÏeÚµ^DÆò“kî7zÅÖãW YÜy‹Às¥Z–ÿÉdGXáUÜ6Lè:AóÄöt#kHQëXÀ®ñËjɨÁ#¢Žxßvý¾h:†"nÓSÕJàøƒÞ1µÁ]ôÌ÷Œ'"oÏX׫ÅiTemä5äÉ ·'šç;8SBsØÌ‘¸¯ÔPöR[kÞ~Bl“Š%Õ˜Qs Œ×á?ÙWêee»ªÄc¤‹Ð–Èf’5‘ò´<Ûux{`!)=vUóÓ÷ݸ8s€™–'Äp´‰Òj íŠÎEM/Ž›ò®ÔÉÀ‘ß2‚Õ7¢„ðß«È5ÆdÕ_%#õâão ,Q™I.ò¦Æz¶ü½’jÜè9²‡2‰ªÁ¾« K11=ÇŲûm•¥È¢aí?å»^¡Ÿ„J+æ<ö8Ó·K! á†3çÖ‹ôORIU¯ž¦~l%‚‘¤¤‹ljÚ]ˆãФG.«©à*NW ©õûпs‚¡ý[{ª\EÇÐR @K8ÚÚGd~‘žb´ÎºÄä‘Ñô›ÕOê#Í«»žê8æcö‘½(øŸ„Óî«ú%r¢­²Ýˆ|ÌŽ §í†)j—Ùluêô•_y‹ê uòv T˼ÿ€—H´Ò4ûˆŒL9j%Þ0ÁÞL7jT Õ¯¾.¡¥î`üÛ²YDû$œê# ãÿì‹¡ý]€Ñ, 3‘¾Ÿº«é»c¦ØXñ·BoÍÉ<5Ñb€gz•´$iNÂͧ˜tŽ ÉððÈV&q±XùÜÜ1¯aøñz&òkCá™è½~yÑ^ÛjÿBýZÚ0‘f ©ˆhÉß^”ÞãJ}¬\ôCò}*ßíiµCfež##<ëÏ®îð%ØrüÔKô€óªêê”`lQbï ˜Æ}én*û2wÐH>úrì_Ëœ¢w8 ÇöVr9O[™;FÑýIqPF1œ×1éNãn+üÜJ'…Ý ¦ šàšâ`ÓMì,ÏoÝäŒaæÙ·ˆÖÍ¢D­;çôªE»Æ4Ȳkâ{423ÒÉ;h]¾=v„‚,wt—ñ"ˆ6llìåø©>” ¶êæf*uCÊ’ÃH(1ž/xt«ó)³=2|$Á hnjºÙ=›Ð]S@žNs!X÷oLÜm €X Šø¾Äû}¡ `WH'QW‹î^áýJm„œœ”!ƒ¬K˳0,é²Î“îU[­Ø[bì)/ÔWÑ ý²A´hNéˆÂÁ‡h¸nʦ\±ü:°xCw¸Úrªˆùµ‡E^Gäi;œ„êx?–¢z¼ÿÿrWYÉòMÐâ*E3‘a2žÚjä9Ý÷;ò"PÚù1.*ª\ÆFcƒ·;‘ƒÔDù&GØÆTná¡Æ¢981%Ÿ>™ Ö•ÇJ‰µú¦þ{så;» ȉ+¶É>IùÂ¥ˆ½¤žçiRÏ÷•æ˜n=¬+ô©-•þ0j-å]:›”f£®Fçù‘k¥³‡7ù IBîΛ7ðJ€]–LÈ.RtDJ]Œãz |ëܱªz²ß;BϬ ³k*%#·ª¦·_øEóUµ{Ö CkðʲÂÛ ¾Ó»õ8˜z{w‰8ˆãhx…èÒÝêtÊ3r|˜É40DåÎ2Eÿõ'ßhžt‘ÍbpÇB©R®úDöY`XÁW'\ñ«å7ÎÃêèqöp¨££ûO·R£QÔTŒxYçç–ik?ó˜ðgA#ã²hÎíI¹N’Ÿ‘ãÌÆõ÷±’ò"“ T‚'¼G0 Y@¡yZw©§ÌöÚÌ82s|·Õ´rp[¦Ø/%äü¯Í®i£åmk!~ýG‡jž¿Ó©W"Ý‹¡eû½Ü(¦Š£GûÀ@MI‘~=i¢õ…Bž!dõÓ{ÂHãns'˜’0–f‚¶=†aÕ^½¹hb†lxH³’¯DG“Æ!ÙüÚUa^ïŠM¨} âv_’7öׂq[ÕRRÓ ˆ‹Â¸bI^©’ƒ2öCªZí‚GHyLdRÿ¹O8ó {ü}V ­øí2•ëÍ~O´^R¯Ï9ñ5BD±Ø.¤tŽñlnhæîä™àÒ=oc˜SƒœkPw*d¬låe®²´Û¦k$´¦E¼oVC“-.|d|í!9¨UlÜã8É g«r¸‹oR–¡Þí0ªdå$÷ÞÖãzNmu)+ÙÐlv*ˆðgñ`ÄÞ¦ê³Â” ª2(2A— ÌÊ¡/œóå'¯”ËvOöÜD‘"34ñáKɯdOk}x»20ÿj®ÂdznY9YN¶k‡O+Xï²¶1öB§´ê±—`Ѫ\@æÌÂü¥›Æ•MÊ ¡‘cg¨øõZ¹UÏð¶½÷üvf`³¨‘²2ïÿŠq³í,†¦¨ïB)n¾[Á›t¡=9HN¨k±;jlÿÙâ=eã›/x=å¦PØ‚^ܰÑ1Ü!¿ åŠÙ÷£°™JÏh®C0«Í.÷)ˆ’] &N\ºq¼É"•×i2кcMMÔéÊýG´] ]³7æÃ^ ’é‰+å^º£6ÎaJúñÅõßNDë¹£ˆtyL ߣ5‰5Îò÷ëùP,†ßh;rBÜÈpAé;¹ªJ'è{5ˆº“Ÿ&×·FgI ^†‰_§:úZ”sžò4àªm²•Bâi!+X* ýè?Éà Ø ÉMñnÍN‡Æ–.ݬ¾üð£É£0îÒ;vqÏs:YûRbB‰‘D/ÄP”€- Z¤‡£·©µ‘+ãþ¢ŽÞPçí¸÷A1&ÙÒܬ/,,3sù5ð¾w‹Ÿ@·ÔT¸Š–R‹ím“ä½ÈÖŒÉ].KÚ*K5³ žî"––N`/»8}ä¢YI)Órý„…jãA É¦®¨&zskÉêø"m.¾Ðãx‹¢ªÊ Æz†ÏHC„ƒ<&ëyçü‡|ª“~=àoÚŸfYXì¦á tXu_hû&¦Y–#$‰±k€ZÄJ²Ý, Z4Õ©óËÒæ¯ÔY/¦‚çû÷ ¸. r³¬”^9ò²gp^y3«¢lia–‡½é¬ù—ç9fXZWŒÏÛÐÒÝ¡¾ûk«èTJ,|Å6%( ú^L(x'¹•h8+Uˆ åÂÊ6õvò̈é1+Po¢Ë³_Öü9`Sgé¶äóãhðÃG9BWb½óÉ& þh›àFÙ¿¨G ›­â³V1B;ì¥é5Bû5Ç’rãÖ|ày†^4»&:ã=KÏÞ°^hÀZJ»­ï¥xtñwpÊ9ýsÿÍú[øÑïÂO1ÊŽÚ VhìN:‰î&$=‹×–Ü éHnÂó‘Rvuíˆd‰«ñ+NðžJ Tt)A9{ëÿÓÀœ¹%ßÍ'×âì+†!÷±‹Àh3š(x(&ã1pÎ{aQÚwkÏZ€¹`yÆ0¦Àö‡—Í–ü\Oƒ2EÅN Ùp-¦ƒ ßUÛ4’K-ãÖXË+UÁm%îeeøÑÁœnùaÑ·ÖyÃîÉüÄö—´BYqa›Ð1¯xÕöÏá`bÆÂî5¼…óÛLÉö¬_]W%"•1X;QE7¶&« s½š~j"¨?ÆòVqà =YCŒ—{먆¨B^ÕKÜ!nÜ@½ÍSÿ»c8P=ždvé)d:AÑkûš–œ3L©$k|oµú$¡4ip̶͖¨Š—sè®(h@ÄFÃÝËmdã˾Ÿó~øš®0zP‰5z)Ý™ k. kݧk·B æ=ホ¼Ò[ÀÞ¹ŠéëˆëXæ>éÒÖµH*ðª ßÁº+Ø­eR‹ºè»ÁP¼·=VP Ÿ‰2KH&·¹GàDjšžÆÀŽÌÐN@øÂXÎú&O+ö⹕tM͈m-\FWÓ@×]¾ÕÎëƒ@ðمݤHqL&tÁ~å2¼o–9î‹}'ÏhAëb.¥4†uKÇ ûI7 àWjüG.…€GóJØPɲ“ÑaB­í–‡O?žâBÙ:ÌFå?çDäã¿sü=æfàEúêépHJ(Üp²D'žØ^üéꮌ¡eª‚]=?Žuè-iÉ®mìOòÌÅ­”Ð6ŸjTr¸²oD¢p:¢Û>d»ÛÄèîÇxœ0@zØl™+Üfº!Æòg«@½,±£µ=Ë[íÂæèŠ0^lÍ‚? â?: •Ì푚œÊW("ßÈêý!žwú´úihíK´"Ý÷¼„ÿ ©Š›ÒA-/M•£WÿÝÅé,)çLÁB2ÜymÿË<˜³ ý…º±¼ÆvA ÄÒLwrÁmô™ƶe 'øõåÁÝo¿t”G)èC[ëæ"æEdïóöÙåäQ8iaîÿÐg,WÜÒÌä;T%žå7Ö>ÊìÃ/+U¡n0ÎÎÁA•5!æ>bË»ûüÜkd0’†$ئe£4HáRBævFflÇ´­<Ñu¬Öõä¹ù?bØ FL Íd¨x[²ÆäT\ŸEÇåU-IZ·Ô9èN?¶Ä0Œá²æ+ÈiòÙsÕT£ª$sƒ*ž·7•b*Vú±ËlÅÚ-Ma¨rÞ—ÖÎ&)8™,³zd¼zãѰŸYóúŸ[,ÅW vfSÝj鼞/Uïó›ŽÑûMùÇÑ[Êî“?T)ŽY'o =l-Yhí6æ‰Ü$™tŽÐ¦7¨ Ã/ÿhO,ÌÇÈB#\öhšdªVþå3Ú#ôÎt n;Æ0AÛÕ@ÝP{7À³õ™øÞ‰–Ñq9÷U®ûÉ` Ó.1:ÛÉÃ3¢tùï··0èˆ|òxk´/%vg3ËÚÊ6x'5Uz±˜=*¹"2Yí`ø^ñº\FaŠ,!ÿë)ê+$Jj‰OêMBh…Tù´Õß½.N‚«cÿ¾±Eb†x>;Ðöt³äA†` g­n$=W 2â*c‹ÙÖÑÆ%4þ.õŽÛÖŠÑ^'ªæ•h´™·Ÿ m:þŒªã݆ÊoÅ/ÅÁ‘ñרônG0.ÿOd÷ írhUY03¨U±d%€ÊÎÃzîh=CÏ" ¦Äg™õÊÝFH2efÚ/œ-y;Wtø·á/ÛE§þp^ÖUjßËcÈËõÓñݰ¼¶ì,Ûå'åKÅmÐ|5ðWÈé²ñ†òþüìTÃÿ7 üpRCS6Y,p‰Aâl$R%™Úr|„7i´²±—Z ‡©6’/—~‡7v_®$ b£{‚za%VÑe÷ ”ev_±ìWž ?º’>NTÆÐAf:¨ž€×rÁv…Z š÷ªþ=„22a$BeƒÝ׈óê·Ë­Ø¨Ð/%^¶ÍwiÞ³"oô$ïc—í+@Õ”y Hã g5“:”H®|÷ò˜|ìD‚0û¥7@Ÿùß1h)y܉#O'¨´~¶ÿù|!‚ò¡¶Â¸UœÖfqãG³4]7Òcª¿BØFßN¥²A[Íà=Ìüw;«Î3çÑ¢ßß©›Ó2cà Ž8…ÊÍÍÿÛœ3vo€1† ÿóÝõ­0ËpùèÔ4ô\äë"ûÄ(&¹Ñœó‚{aÎ*¯ÿ±˜–EnbÖÜÙL°&ëÕýÞwŽp¹€ „Œë±8¨â_ËŠtµ’9ï°\´x¥‘©oA®âǼs]VÅ—<:bûè´L>ŠÔVjÐ0]i‘ùÊíß7º“ƒ–½9›µ‹†¯LyÿÚ_¶ÞA Ý×?L¡“‡äÓÿm€Š>ÿrçdºì²§´[ŒA w¶šK¤ið×S„Î ‘Á¶ÆuC(” C¬‡{Å Ðn h]?>|ŒN¦ÒÖZ×v»L£eÄì°æB­o„«ø˜YÛÃC«ÌRûLj¦ €Goâä"”uÆD™Ò­P_ˆ›Õú$¤Ærì'EÏÁ“H œý« ²ùøH¿+×z9þô™6ÄÑ{N[j«Sƒ±ç˜ãÄ54¶M1)¤íÞ+cT#ÀLê‚Å—e³$fÒ÷׿!Èœ%ÓKœñ±Eº`»mCÏTB(š÷¹ÁÀ> fzë_÷†^-Û„r;¢&þ)Rua^YNb’sÙÒ7;áú@á Ï)&f¿×‰$¥“ºÅäƒkÊX)Óì gþ6FñÿÉIeTxà…$P½DáÐ>0›VàbªBh`ľèq†ÑGÚ–wл#A¦̧ž$æô,xËc‘¾0ôaË1Þ0qì?V¯“v@uSãli«Vcì7úx«·ÕÖÒó‡Gk…•bǛ䳗¿/5ƒR˜}ä^ñ¯‡œX–R꿎d¥²4¯ƒNM v¿WÅžXö9¼û“ZZâ£ÖP f4ÃX[2Ù`ÿ9v^†]¦È¤1nÓ—tí©ç0§øA,šÞ‘¿Äc=uˆÉÒ)€$ñG™Cg1'ŒsÇø¿] „fbQ>Ke•%–Ón®î8™Töûô¡sŒÊ,Ͷ‘¡rt‚k&ѯ•)¼y>ö(e b«êA¨ò¹˜AÊsp¢œ(^‚ ‚â>. -&x"‚'e«4‹ç74l<IG‰ç5΄T>×Î=-’7)[«ùw#Ã/;š²ôDû‡X_Y ‘'Ëír!CBÞ²¼ -›†ÎUúرª*†Ý¡D›[ S ÿÛ‹ËNl-.¬tÃ$›^ìÙÑýà ù…)‘½¼wvm@sÁálîÂZT(Ž5³1ÐÒâüÞýœU¦äý*Ð7%¼â|îM0|LAhÓñNIT°Ð#<è)mrv2 “¨aÞmíÃ~ÔìFAŠâ!À`'kUÎómRb¡®µjê…\=WV?VI~‡`¾œWøú¾LFôóñ§É+?LYG]F!Û jþðÎgvRÕ°Î.¹³Þ¹*Kg­ð#4©Ž'%q<"r•£özܦijnr‚¼‘åQs{ +£c=ä( tqñ ¿%v;I"!•˾íÖÈè/€Ø‰ç0’•#s¼áé û¬”}Ê3< k ƨo7þÞÙVŠÐ6Ä8ˆ›B'I‘YP6û+•d‚'O^×° ÌŽ•1ÌcÙ*¥ZH~æNÅE!-Xl g‘‘èUs¯ië®v‡T`.­ÃãИ_ñ͉XVw#TÆ£ÁTQ05 i´ –ߘª֌–¤Š<]'zâàiwÊI«MªÚ†»wÛjCá!Ü!Õ'=ó¯‰Ù{_aêÇC˜´_€ªÞéû#O7ÃìílÍÒÚ!W„¶Ól¾Ø²4nYl9½`òóGÏzç’£UBügÖ@Áu?H„è¢vôOz,8ú/´•;RöŸð†_¸ÓaJÌžaKåFÍYcšV«Kò®TBþ¬¾ón&äÚc5K;à^s•`èÒãF ¿zÇz=f>W€v'œûyžEé k¢#§¤ý7‡8ÍA`©Ã”æ§[v§hnXÜÂZˆlø.OQmÙY•vP=Vyƒs||Çžq³ÓÚñF˜R,zÒWvaË»èyÆQ)Ïk‹Y9äǘ›=ð3¬ÖÚÞ›Ï7h“^& u´bþ#3{ÍÝ­Y’µß“ïXÃ`4¯ñ\qßü­iw4äüwF_õNþ²Ë º‘Õ_ jˆ?ïP¡,L jdl=;ßšN÷¿òêAÑæî®bµ]å̃£±®,Ýæj{œÞ¾¡oŸW3ì!¯<´ÂÁÍà! u”ü ˜$‰oKa‡zÔ,Lo/eCUS|Ã]¢á™uŸJ»Y–…º×ª{%äî»âÃ]-#ó }+ú¿ïø ¦Ê9"Ìfæ:Ï÷@lÙUì ›ÚËɲàýÚ9 ËF9’Ä@1OžÎ|ˆ®’#Ýæ:{¨…M›/\³ÓÀz£& z·œxçüç ^Çsw~¾¤áÄõXjqùµÇ’O«9L;Ñ9i Nöõ‡?­øóò ¨61_Íy OѺ«ëˆZhÆþç .¡v°êìU™X+bégÎùA*}Òî±R×O:ÊØ­Éã³`ýOkl‰M´¶½JJ•!8åÄ|¨7ïyu®—ƒ¶s›’+y±¿„áƒÏ9¡á+¦BèB^â¼y \IëbxÆ &b:Q„Ì’nϬ¬Z›¾îØXt,a÷À) t4’äÞb=Ö!-¹GVÐðì¯B )‘uLz !v ‰ìçÇšpž© ê®ëš°‹pðfÙD)ªÇ—& =8è«Cw¦Õ‘ÁÝ.LÌk¢EXêüí4QuÄU=²Æªþô6ÐËÃXµÄ|ùG¦sœªðH´l²¬ÎU·å-·jÙŽâ H|LY{<)\ÑI¾vÄ"ξãêEÚ °Ýe)áT¡>“ Ðeê/Añû‚½:vÙ`cMx´åëfŽÃÇù®µ”@±¬5»Ú%GR >9Ÿ0ªž3éï!ã¬(Pþ„†6-àÕ:V„|W¨2iØ>òr=µ‹F ¾µ= K3Q%g¤ñú\7 ºµ¢×é ÿ?ü}Ÿ>ÜïҢ䪒‰è8’m‹Å)áu'Õû· ô'gr4J•3±¨®å’Îy6‡pE·U;#AÓƒÅ0`ËG—Þ§‘ëU“Üÿâo öT4G](‘¸ŽèT½#\QMWn/ÛÄ›!5¼‡+ØRc¸^އ4 å^ßCÛ`ÛÂÓ<Âý†’w•ØÚtnû‘((ïH(d‰¦M»ÌÔiáPa—6U®= 5Ï:LÊ@­ßÞs–´úQÄ©w MüB©jT™Ï‰\íݵÎÒC ÌÓzXH^¨é×®x¡Ç žµgS<‚£n §z·Iš¾9gÌ—tˆ/¢/SáPÌ. 40¶üëøÄáBç\SIs—¯LõÞICÆ|Âx_ó`ùƒ!;¥èœ±>žÒJw}q¢Á•ô¸G+ ÿ§SÚ bóu=ºI¤¶$:å©éÝ î—¬u  ”Ñe·¿<‹=k¯_“ú¾«ß,ƒ®þ—âÍn`è(š‹/¢qfœ¼ìÈdöe ™'¨ÊPj6ñÔÀŸ~™ðæ}Ç1”8•ØøRRmK˜mµ`*"ãôã57™õsݽT ]Cîä‘Ì{€Íóû¦4k[0öû¢H©âòx­-•¤á¡Ì|ÍŽ=l¾Qyÿ8ŸR ÁÁ—–¶j"ŽÉdÊ×ÂýA 9»Ñže²Â¨tÄûÜNpu·)—‰YŒï-©o²N±4Óx¿Æ£(÷3cÇAs|7@IßT¥AfzÖRÂÝÝ|/àld2€ÓlX‡?UæÃÄîI¤jÁˆÏíñÆ9qVL¦ƒ¨ Ãþ`r³Ì)¬ûÜæ$#ðsBÝ'€ëû)—NŸ j ûz¥J•’­»Å{›01Ç QûèöWD7t–Œ«Î‰ixx¦ ~ZÇÍçQ¢;‹z4Üç6»¾Öd͈õvЦÂGò²ÕFÔ=ðÈáÚex³ÂeÜ~Æ©#â@{þó@¨]6ÈLűH–Ñ©%¹—!Ñ7soN×wRÇÔ ŽÀƒ' ÊÌ‹4v×:aI[qºï 1¥{8}¦€tª3 †öã9Ñušv*t…w\[½ÒSõaiPÁ%,BTw"Fñwö7…NME©ïñh?l5u.·‰½(»S9pJGu݃Ín•·y8 !ñVF±Ýû-ÿ;Íù1PaÒ8@ϯúéí'90ETŒbg¤Ô1¤[F<[dÚ?]_Ì:ÑV8ê¯;ë>^i ÷Ãݸ»·Ëê„ÖpÚöÌ.ÁC5ãΙ¬²‰½! µß%Ff1„³3GÒ2ˆÆÈÉ ‡TÊÎD*×Ëâ lÌôré/a3=8÷¶ßMJzÐ3ñm¨ø|–ä÷®w|¥e{ÏQ±ñ4lü=f8Éãe\üÏPw–óóî¦fmHt;’±,Ÿ+¿clƒº‰ì+ yÁ!ÇÃwZ@*±s`—.“t·w˜÷ó±BøË\—þyÐ ªâçŠEä.cü½Ý0‹*rØoHN9XaæÚ5¢c¨8~à;LÒ’‰7ÆÜgñ!}”;4ļa º‹™ä«'íø{4]âª÷ÂQ(ï_í¬eß’{Tî¿…V4J Áš& ¢0fˆ4Ào„}¯¡®[=Õ®j_ʾÃã1ÌðS_¬V$&ƒï‹¹ I“íŸ?›“x)ºñ³°wø>ÏŒ +T~`í\Poð̇Á‰Æ? ‰-ï ÜX HÄAò‚iî'ú "{ Ò—C-›= ÎßRwäWô§RNSظIE/…îLà0î/n°þìôí%´¹jËÇ¢ üÕjRä8–%D€u ýˆ.IÕˆÖ+u1¹Ç¡L!¯R|Úh M‡­¸eÕi€]„,å+!ž*s«¢÷ÓµÖ_9j»Ö²–egU´à®`Þ öß!¤mãÒ'išE¦7r[åÖû I^ÏíÀáá©ÀÉs^\!à#§á'®¤ T;ß6â1 Ê¢€¡ÁvKYðT±µnùir\–…%.K*½¾NØxÇÒOU—(Q¡DUš‡4eÈs cû ™gáËt›z¸|1ªé{n¹º«§”TGU $^åSçR²žN‘~oPQ#ôYƒ”?öç\tË—<ÖQ'­_6êZ–ù4ª.œ¹Ï76•n_µ¦éÔSý6t">µÝ]¦M¸µíuQDwLQ½GBTiU49íf«a´¯PòÜ—‰¾jk…؅Ζ“cÇ ³‡mb>žV_.bàbŠMêoJ ¤”×wÔ&ÎOöÎôL¯Í¦;§4«]Š9öš_ŽŸ¾ BBÔ Â_éO–þ¹6>£an!¾@Kûï³îdXR€Ÿ¿ó¢Tæ?²m\J$C¯í¥ånµ¹n5ô¹±ÃêýÀðÊr§¥*ñw.G“ßñTsÐò1σã¡-ŽÁ;cÁý]x³·k»˜ÿ°‘¯¶5óq2ÅÛ9æÆÓòQ*0˜þ*dÿ(jvÖ½©ééòÁPÀÕ0ö‘ßÐ4[°ˆ³ÅFNË• ÷Ý´’t™”ש²I?P½û²f‹)4/§·ûFëvë%5†S‹‰¬³ÑÓ+<Œ`ÿ‘–DÒTP(¸â„¾ÿç»1XÌëÒé’ ô&j&NM°& Íls)ìoªS¼4‰ürß|Oì ?³öÏ·p›rœ žúÕ"·ã‚.QøŠ›Ã²{ÇÛÍcÂÆ×µú¡ìªg³`ÂÔ4?ÓÕ:NGÔ?zõcûr?„JÀØíyôÒˆKÆcj³Z‹>±5säúÍÏÌ I¶ÑâaZ»„ý0¿Œ\#{›ZGÁUŽç©>Z‡‚¯R) Èiß©3ªÂb^á1±"¡ÛãFáfM*¨¯€$ÝN’ãòU‰‹¼Šúä­Í‹'w¿›EðâuœÅÁkòÙ\@A°Øe-Ÿëð}…¼Zº†&ÍŠ´è½zMýB±j&õ0Nyë³cT^éRÔ ŒÎGÆò¢©*2(±ù´ò¨þ —"8ƒp“DÎÍEE›æ¬’â˽‹Á@S#ŒFµ‰z˜žKS`*S¡fîqœ.ÅÙ3ÐoßâáÔ;a‡úFC0¹~~ÌoAj:øW1Cõ?k¤àš{ž¢Ë•QÛøódëçdO'Sè”L»gWP‡À…×½ø=ñŠ*qo”ÅÞ±rÿÇÇúÄ&DÒ«¥òB.8^&Dò4#BO;ê±!íŠb$õÄ3×®ÊêŽÝ¡¤¢îj[þJ›ë*ˆ›´'à•2äHÕ%>‹¬]*MùÑíÔk‡êƒ-ùj¦é¸ÈzóyWï#¿‘nöÉbO3`™I}òiµŸ¿_‘7½Ow(·¹çúËÜDW2…åžr–mÑÝôõbMt¸ÈÉc¯|áhë4F/ ñg—ÁËYø]ÇQÆÚ‘ ^“ôû°¢~U»17³H<AçáçMy›q(vq®¶¤¡½p4^$e©» XzÜ\‡XÊ“Ê~t¸­ñØŸ[põÆEI޲oLZÊ âÄmÝ]HWjáË)(Ô—’{à •míx(ÙÇt›@ï©çògÍÛ^…¹I»V›ÛdJ­ƒ¦hYôN¨qm\°--þ¤d¸ÅÓ 5×p›RS¼™!ÔžG_ ú –4ïã#V?HOÅé å·aç„äÆÔà°j@½ nVÝ–Ï#àø†r“éÀŽyÄBýüÑ('OçYJÅ  |Z¬+rÄâÿQxóC^ç'$ÄU”®… =ó¼Ãž÷²8 R w¯$ý¿ƒ«šÈ5}O¿ÚË«¤ò*ýA}×ÙKÆ3ueò—o4¢cC'zU•8”\ò^þ‘yú“MÖ²Û88oPi#«…ÚC ê­Çݧë«Yã`S)¡SƒÎu-ˆwh‰/› —´a‰aŸ8ØãªÝ•Ò.Û@rïøoÄ`°ïŸu*v8%T…õÁ´£õ7á¬!t­ñ¤"ú^¢ìŽÌ{‰ãà¢ÓUØç+MÜ@>9ƒ¨íÁ§É¡9—YUò€-°Ïìv¾¹§ºE­¬=cù‡¢ÐóÒHÃ$Yä2Ô)˧*RàåwŸ ýTÙxÜÃÐ3E£¢†Ÿ%"“¡TßÑ9DgñÿwLi×kìdy÷|¨ÿ¿ëD:L-DÂýK)N¨íþÞvwÖß4Ö>š©˜˜¨õƒܸGLvª³jYðij†,ÈKr¾¨ïŒŸÎòë&YÍj9uT{°w£ù Z 0‰"5áÉöÔ€LÖz6–Œä “‘zéd¡ê=`kʶ—ܤ›„Šw×wÞŒkÁf¡ˆ5  ˯ž=~ÅSMýO§itìH¿õ7XŸ!¸ò°U i&–ú3¡W›þ6‘Bš¥Çò,NÛ¤›trL}Á¬êrÚö»yÍdûÙCg$ÇË©‰²7A~gh‡T¨_A‹yÞµbL(¶RÇOìØe«D)§ˆåÁ—,Ÿ†™—z´ƒŸvæ«úÉC§fT ”áN„EJ lùÂ…Â»é ž‹±{De•W¬CÏ ÌkdzßÒŽiuC?pãH•½LÑ?Esažš)I\›ÇŠ MtçZäùæ$=ÏDØÑ=”–Bêã–1ˆJM×jL±™aYÂŽÎÚKîÁ<+„'àou0¿½Yºþ¹±ºw_l)>…èW@#ϼßοˆ+sàµÙÖßüÆI¸,™´–øzr$[ØQxM#I3å#q•·'yCö[L5aÅ j;›ë¤œ2ä†&ŠÃZÿSf^üŸZº÷Œ¯oœ#/…E#à:@ŽH!Ÿ›VJÕŸìV=¢Tì¥MxžèÙºkLІ}m½gœ%P†å#gìQãf\ŠèúQ`ZOs«/(ð«5›°&#˜ T,ÉÙ´¥·žÓC#ÂÏ]WØp]ƒØUü;ÕO2á›´°ñz˜„>¨–DNTðE÷Œæzqé+»s>vdÛ Ê1{r·ÒM“â¼?£îÊÍCÓ ² ¯ôžËûÿ>6&wÛB™­3õ†mY´ZdC±ìh0~¬…Dó™ÆB/Ÿ >º/ñZ†Ì2ƒp&‘k®š÷:-;4Auâ°àÚöê‚-4B>?n´xîvÊmÿN™bαVha÷=Þ9‚çS<@·ƒü©ƒ/7¹<æÓ8—Fs΃•Ïú3ºµëpUU„Éz^'ömí–¥¦ÙVg²(w²í­âßâÔm±åì|Þ- 'P5¼r.“‚x²òZô¼¤N} YѬøÙÎ2íþxÍþÑý Ä÷7 Ú|ÔÐÊ™~£ºOøBýoÒld•—s?¡™v ½/7 ¾OuqÑJ;›V*"¬É—dÌÎ4d*YL¤ÍkÕŪUfÂyüUÛ¥›œ<0TMvWÓbè¦$2÷ÊDHò¡ñöõ©Ïu0ó2I‡ï¡-S^b…¾ÑñæÐÙó;„èHóq‰©4ÌQ³ê#(Ébuq¤ÆåYûü„ — ÇÇÇÂ@ÿ¸mb3ù<¹èïây®Þú°V}EqnjQ(ú·Ð:é)øéU0$îì5%BðÛfél¬Iá4f ­z²4{q½"ÇÉÁ¦}‚Ž\Œkÿ<ØÃ†~ÁúÓÕ›ÔøËήù!ø÷…‡‹¦Çs'èù¾«é=TsDÔ"ÂóÍÜØ¤9+ï%+×û5%g—¼ò±••°Å—£ÏpÕâ]2?ÌaÈoÆÛî’|—ÛœP–œŒfrœ’ã±Î›Nh§¤R,õ¦ù(u¡„Gj|“ÔɸäfîÔoáh¨àytDh¤WYÅÁ¸4Vñ3FPJ+DðBFk„‹ ngÛ£‰QA¹bK;µ-U÷—Áäå‹G>W/G ôÞnùÉ:ýÜU‚°æP·¢JkÉ27xx¶×ÍjÚ§÷kØ*:¡ßA|,!6u›éiHÝÜ}9˜bÏZÀÕ½Í×sø¯Wl]a«æ¦ï[áà$õNÉÕg×–ÂÁ pÂò‡&rÒaD¬Lz#y=¢{Þ¾¶†¤ç+ÒXx#Øè-ßUܾ¨tȾDÖâw[Æ›Á/àèÙ ØÀ‰ÒZ\äHÆ´ÚÆgU*㻹>æÔŠ ¼Ëy«%‚ Z`U«;˜Ô ©ªÆœYt]ŸÉ> "¼o€i‚QH8L“Ÿ„ˆŒÇ&6X7†?öŸ«n²)ÿNþÆÉ2³Ô(ßá¸iË7ûdßaüC;`m•jâ·6Õ)Ç„Êf­„Sùk°Y(µ~8|øfí©* aWY»Ÿ_ѧ¯'$L-IHîË~¡ß}­>Ïå[ÄÖÎXyñ…æMϪèv—¨”’b‡Òö¨X6ÕŠ°îÜoµÉðçx óP¸¿˜Åè§ú7n‡Â®ˆOIš”“K:ò®P¹¥êî²Ñ6’$°f`úåo—j­¼:fÆí—¯­€”%â ‚µ?Í=—Ý’NAb¶„ãúÚYÞ—G"S|t «ZÜ2"ÙôV%ñ.:ȹ¿«WAÆâ(pÐ+®ª)[N´/g{¦U3W{0t+1RlDÓN+«&˜Ä»þå5EÛÉnÉISÂ%ªÖ¿£’V¨Ïò÷©-¨…ç>j¥ýß1ì!@Ú·¨Œ—1gbò¾ÙÔ쉠(èØf9󹄇ts@þß¹Yµ1XöÈG$Ç2ôW¼d¼×¬ƒ“õøÆÎjÜ BåM÷Œ{*•ÆÎB.?¦û -gð\æ­‚§V‘öv'\! !ÐE~ =¿‘ç?«‡Zã 7¼ˆ¨·D˜I!Ÿzó‘$|ÂÇÒm†)¢ìp޽{<X§o‡gZ©Õ)·ÇMÁYÜ>¼.QÎfc§ÍÖLØIjá0% ò·ÆuÊÕ>Zé',œÛØZÖÓ}¥#bÏ’Žc𔫲ɹ!÷îY(èJ&ÇS߰©’VÒ( JMd&Ôxñ¢w»“Eà c•i²û™¼VúÄþº_ övõh5áèàŽ|9^öÈ tÄdßÑÎÆ Ók¾žïÓܰ¿ln´ÄNÒ|ÜÖZñ-kç.72H☰VØML:„ú6±r(F/’6½¢ÏZÛÀB…”fÅqÒ<9"¯ßܨm?øDg‹](‡jyh³È&­„ôê9àJ!&2šã|ÍJ~nÐ>>ۺđfÇ §Š—ì=vâ®ÇåÞò(ÊŽ‘ìGåø .,À÷mL9ÅÈ-Ux ¯ ¢'»º¤º9—”pù Ƹ…Bë,ムå"‚®èGTŒ×| /ÆÍ ð§.—&š,îæ”"ø[áâÝÑÚÙú˜óåëŠêGÀV|ó9¶*LJbê ô)B€|›ïúý‚±—¤d7U*¦8‘ö³NdY‚ †¦Ò cí‹[mùúà¨ÀT|eÛM‘à®~áºD4§UÉFª¥s 0³lxKõB]³ÚºÁnéJ~¹ÄöBaëë6‡«ÂË4ž„©U±8Ð÷ͧ/+ ãåߨ‰Ñ  Á‚îì"~Ñö\t€–L…U(„±DŸ9Οl‘÷uä3Ÿ"©tþÚÆdRóߨ|`øÐ*OÓ{ÄðÒsæžP¾Þ¢˜‡•©äU?b¼oÙ¶a¿ðb@Hqï(¦öóüÃ×(ÄEÈ!/ ƒr[‡ÛEPÌoä²Ôª÷@º2¦a‡ÇÑÏ4GLNÉ­$gtt’NP`‘²o@t#˜F6g±h/Šaļ mO’ö§]‰õŽytyÇÔÁr°nó‰zÀ8NjÿÍ&à¥ù[ôOcäYe-y£ð]óWgX4#q4Ú)z û®(ï\(ü÷¦_Pý4l!§àü‰#¤iÙ¶Óz lãõàú v–.²SZ±©,¦Îy³OöžûV ¨¢w_çÙq¨dÜ$Ö)­µ>Ö²Ÿ$ÿz Õʬ¸kýDîN™Z#Öý…ÇUJœÆŽ|eèz¨²qPþ{ÊÉÀÐÞÓȺй×Þ#²6ˆp ßÑÕt˜«¸Éuq˜¾þœýÙ»î;ñ.Aþ×ðþ Í¾ñˆUÙV3^<µYQM¶—O(ø{·§¦ibA!~»˜jšà«Bõ¢§W¶žf6ÀeZøY£šâõe$ìêìIÚYgú›Ij'éP9²­£?4Óeâ"5.s[$éyî( è˜ëFëMqºÊ…Yç*Õs>¥Ï:8$Ø÷ÁûQu•ƒÒÌ™.Q ´ÆóÄ›j퀰8&뤕ˆBЛëZlCèíòåó äÑfž-E'2ˆ=½áZ ý£:{Ó!/´=ƒsPÊ´rs(—¾O-«ëƒ&¿QùÀ"ŸÛ0çÑ+Ðj|Õ¹ú±šeå”4Ê= WLÃîMˆ9C\œP”r°[\šUÏq~ŠFã5–{+ûN²ýƒ­ÈVæôuë#1w¢ÊÚ2‡m'¶aÞ.õ@+ÒœÁJÒù@‹`öÒ=»žÌG!ñh'ÛßS¦}¢mâò‰FØ‹²ù?É_¬t¶à+JYtK÷¢ŠÏN{ M*ÍGHy¨p)Üfn´°íjÉÄËwÝ’Žƒ0u©¸ˆ˜f\t£3Õkñéê]UtúØ•*§“Dþ…J»¡×ÃT­Í?ãy,éŠ5ÏÙŽ_ìZ†z¸i9n:Æ6ò2T<Ýÿc ã‘ÉêF¼¼ãé-N'ÆêX ‹ 2¥„a›ÍCsØæ‘r˜ækð”3TuÇÿˆÞÀÍ0'èdO©óé<åâšcØ÷1êWAgIž´¬Q€Üò!`—ÈpS£œÝ¢K<÷˜ÉÃàZŸ{–÷i~¼j—Ù\lMá@¹é—oæÀ H|7ýt /#2H%” Øt ‡Î'êÖ&:°… œ%l«Î¹«Ëma¢Yä_-«¸ô n™À$ZI¯,ûÔjí66~qÕ "ä¤~lG°c^ž.Yš~ÉÀpkµ8Z‹»ÁK&»‹ÆÞ`ïTË­©Ü®èøz«Ë^q™Àݘî¥I³zÐÖ¸ãÚ¥’Òì×Ö…“³Ç”¾º+K(*Š9+·(fA:×Áp `ÐÍŽR¤N çÊï«1%qÈüV? þšö´¢UqS4þªäü ŒO—Œ)@j…&IMT¯Ú3Cäs5v4 éo£/Œ÷è6ßœ-ÞšªE»»UYªŸzM[9 íÂÂëðäÂØ<¬ Ç`uŒ°Qé…Áæ-ßê§~+2ñ_¾º ÂÏÁÿÒ5 Î9Z‚8ÓxþHº»X+䱟^òº'Õ.ïćY¿ßµ1'G6JÐ¥šË>Ïóϲu¨\}ƬŒŽs)b±o{¡yÐé5"Ò+2»¬…"E ÕIý=BÈ3UÒ…kùûNoý,x}­YB% PÚöÄ×¹$h”k%qA?ÛÁżÎh­-;8„ÊBt2qs|‰(a_üqfgœÜ" $Hk:€7 ›T aƒït厵 }kÚX;F%õ¦žƒnÜnëÕ¾ut Ÿ¹ãIF„Š'ïq% Í&º¾næŒFnâ;7Ž~þ0_ãWz®ØÝ#ãç(¶“îÚnwÿÆß«ñ+mðÂË “S3W'-tVîG§û½ XÂûíþi¡X„žöÙÈôࣸ&é,õ²ú#]S¸î¢ búÞ=ìæÒ #ü kõƒ¶©ßc¤ÃŽô‚(ë£AôQ9?÷™Q‡7–Ëæi@\ö¤`ÔCo%8‹ØÂ3¡|d±]ŠeÖ¼)º±c OzÎýT·]ìkÉ+§â 58j"à§¶Ô4b*è0€vîD¦NÆpGÁO–TòSI‰6Xß:Ëê–:·=]YÞš&gýʉÇSa«â¸ÍZÊŽ ”£XA‡}Y„ÒPÜÃÇð Ó@.3¸ªáH¿=zV^c€ŒÐ ¶¯Ý”NØãs Pð¿Pú“§QÍO=}¾ž óIŽRª“2÷zqš¦là$³øó†TÙ- ÃLp£ÓôaªÑ°G¤ør†ªw}Õ’T›AyÕ¸Cnû3Ô^5Pø÷¬Eþ«á—Pk×±ÖCÌÆ§òÆ G•énûÇ‹ÄûvX]{3‡löý¹õ9 “b2KdÏŽrÞn &¦ÜL _dæË (—Ð-09“ Öw=Èâ&€yµ›“ôžú ¨Éí“ýg{8MûÓöF@pVšÌÌn°Åäaêlÿ†ŽšInY©7$pòj½#¶ 7HßA™p]˽ä6Zô?®#~ 1,-iwdõ©cÕÜ,TA:pvÖt?†ÆÐÈ dÈ_Æ]‚L²çØÔ»¢eŸÕfÚïK'5lUš^–ûîî¡¡úà³÷Eš*?·*~Ÿ u·M¬es© ØÅPعßFørþž"ãYZ‘$"Ahr žÒ8˜a†¨)–0òÖ—”T¹ŒÜ2bÌ5o ‘ÑðDB‘Ü@醺G_9çhÏ~oL ãïZjm¸êqŸ×\ßËÐ’Äï6ánÕ(ƒ¬¿½ö¤¨4u*þ›HõüF4Àg\k¸ wq­9Aw+}..~ê4ö Ü´—ʨŸ®ßA–…UXî›Ùüs‚$êׯٖšULKJ»!Ô•ðzqÕ¨|åa/^ ,@‹ýšß³‡_5„cEÿ^‡þë­BË0¹uw¤”“µa‹pKȬyôJß>°–šû±ÖõëÁ “<_|Kûv;gÒjÔcRº°pWEƒ%@Ïc7€ l£ì§»1¨õý±‰0ÊúßÔ ÛqnRtzÊû~ÚÁƒõ¥n5/Wøƒfý A¿6¯FQO$ÛæF²­®”¡]T¬g©Ñ›¾-ý|v)K}äîägtB Oa}ý¬Ñí\ñjÀžÝ]CeRÝâAï°h:XØâ³3‡)üŒôÈámË=ö¾(›Õúì´<î-ËI­`u?˜’™‰‘5xB]ãů÷î£r[ôžU#›’xÚÕlç+%Ú(d{«Eš%äσ…„cÚÜm·¢e˜2‚+QûÂîu>À'gV÷½'–…IÃh l¢SöÂæe²¿1öŽP/.¬×9'ºK{¸ö°÷á3iÿ¯¶À’lj¥SöÓ¨ e·jJm…Àúû_©‚oJjÑÐÚ†ïá@º¹Oµ×ÉêXÝ©ñȨoÞŠUh‘jÝiXLº-^ëëèdƒh›%…XRû¸[™÷g(Î0â4»Á¥Þ[lá·ä(râDž“QÑ[Ð5Š®BÇ­òCÑ<”gÓhÝIu E9“ÇÔ;‹¦£ÍÈ¢l2¾™Gw刳-†½3œÔ]P¨Öcm„ÆeËÒæ_Faèï&x¬ö­òÞÛq«~«o,?q6ÞÆ½–ý6’ŒJ~ÊÕü2çG„>*¬øw]tu3ÿ30ã§]ú¦@J­ÿ©£¹ÀйNiÀT ‹ë¼+^ï—׬»Î}ûì–ôñ5=}úL®½£ÑŠ:MÕä0p+SNéA’(±Òz¸†¨«ð›DÈ Sûüfq ¢ªäé1×P"?³Ï\f¾(×ݯkR£ž? ίÓûÄ:\H·g­agÍÞå±mxs¹OIÖ·7´»t×]9kݪ¨ò*jQ:†fç÷>¼b€Ó—þVd éSÕ\š´ªŒ´Ã ¦Ç KCNY—0ˆ>f3;ÖpÕ#f‹«Õs W¸?­Ö7ÕƒļÑcííÞRæY\Ñ?:þ­PŽƒSà¡jãtZbùŽ ÒßR¢l¼—gè€õNDBÜó°H؈`4|³£-¾qb‘à…?Þû•L Qð:Õ@ŽNGF³­éî×3 §ž4‘G.”Àj2—LÛ} @M=7ÇÛÁ,ÿ²0°U%(ÝöÁ18UI ?ØMÈ,¹]^Ò.XQ“S¨ðiÐÎcÂÿº<ϳN=Vé! •©EÇÄø…çÁ4†g{I¯ß…Ó“â‹íh$Q ¥‰ä£/’gLˆl¶ý ¼µ+Ììj\m“Å_bü…diòXŸü?{ó0Án7IöV‹«ƒ°FáX?ÂtüzôòžÞ½®³;À€‘OM=íéê ç®DïìT%þ.îTµ’mTÑý-Ö Qö&½–I°Êá%d×|ÞH¦¾9䲄qóì,- X8¯Æµp”ŒF|qMéÝ ïZÿ¯Œ¢åÃWÈÅnã¦vHЃ§ywÝ]EhpAu§|z¸9…Ë+•‹Ì_›È `í¶JF½½ö¼8Ä[á'HÄöÚÓy­ûõh|p67—¶½¼“‚˜Ù;rÝd1*ûÝ(Hj$ü:xS¬1‰7‘¹ÁÕ|^¢Äð+ðÕÍú2Kj¡ìöÛÏ<õR±vwˆ‘ÐÓê—gÝÃ3W·:¦Ì6…¿`¹L€Õ ²@Ž7À0˜F|¯ ~UaœÃD¬>ó„ å¼\io“á>»¼)2¬;—!(E{…¹Gd¹F¨}ž"µ®#¡Uˆ7àþ©ß9X÷ªsÝÁö›jdBÜ—=Pp÷R3X ´¯ÙS.Xö¼nñ4K£÷§c­Éx)Ïö–pgKº À,%ÕÆøy´™fRÇøÆm¢{é½Zs“BÒZŒièÚÖzd Ú ]Šk°Æ­2¯¡?HŸX| ³œk?ÜlÓ´g‡m[‘æËìî×#ÎÈÜìzrZý K_Ÿ²{¯:J4k«Ù|c ²w±$ ÆdL7b´P_m…èã8ëKò̽]Ù, ZšF‘oµW늽NàšÚº0õs’@tÍOrïN±yd´¶dú°‡ÅÖ{GƒÇÔoÔ ’ëïñ ïJXŒþbA6Çg$‚¬%N3š—‚»Âýî±÷FoZ“ˆ/ë7 º³÷¾îú@jÏÝÆT4÷ññMâÝM Ùa[w \µüã×ÙÛÈÔFÖ@íÅ`ÅÁ!ú MíÐHxR¹ˆ•Éè@-mçR6Ë  ëÇoGHVÉaôú¸èS¢RQ.eéf¬/É”ƒÊ‡»ã~Äf@Rõ©l./t¯úü3q±5¬l (ÿ…Çó%rbÅ “?vY­i»`gU*úq/Á èŠO«g^py¬l¤¾‡¬¢§_¨¿ƒ8£¾ù3²½Òÿ†ª#‰lQÒ%)”HÃö®jSÎÍŠ ½¾ <¤ANCͶb‘tãGK« £+‰GpË7êÍ”è’üÛe3æ›Ø´™‹£!¢<]yeîÓòŽh·SêQµ,7×IÏQC逑¦,jXæµXÏÞÌ삲NÄäî€Vèðn å—™q·Ì¸Añ7 qOî$i ôê\eIa·îûLˆ Ôÿ [tel0’îÿÆ{°˜HZHj%Tæá ñö§@OÑç)&è&L/p%töP"ﱊýÞP£âýCqÕ¸c¬óte%|ŒþÁþ.£¾4ù!–êoX áæ¶mkó;˜Lœ—é€rój’S©4¯|áï$hæŽΈ œÿ4ŒÛß ±r+@üÝöÚ´tùÑA¹ÚÝZY§¹o¯ƒuvÿ2qg-4ª[‰Zȃw˜+âa=÷Žóà·Žâõµ6=Jñøn,íK–˜5O·,`€LþäÞ‘oVÙ²7GþôR‚(²Z\3¿u¥F8YôµÍq¿ãm8nÆûº×e»Þ's+[å$ÇU&¼s*]9J ãHêòQÐÚ¸:ÏNW3ÌñI#9Sa¦’}bHX ARœq_Ûñ™`;]Ï g0¯`ºÚ”‡VE>#;'™m?Á›ÛV½5cŽôÖ§ç5•ž§ º‡v߯÷‰@'÷€š:W‘Ð`˜2­ ^Û¬‚Å;ë~ñ©WêÛB©]e„k òßeÚÅíñÅï\wx÷‘,ˆyqÛa¯b`Ó»kyä*Nn^lO_aû¨mþÀ§a1ú·SÛ’”Fo/Ú‹ˆézI4Þ*õ®ºË®œùk¦Ö¦?; íÛdz™¦ ±xæäÛc`­l9#ÆòÝÕ´«‹ºX0"kÕô5S¤à¦#×@¦ÝÜÅV;FBÆ †'ס‹tÐ?“~ºúÑQh?¡…ǰ•¤ÏÕ'ÁSeô@»i?óß(ú¿¢t6ÿF žž1:Ù·a“#Œ¡R£,ÌIÀmòúE6íOÎñ¾níÂ3dÉ_is nçÞ4C¹ï伿õ ^?sad6¨0 ¬—˘=–Ú-/Ò€ à«6 â +2—é3‚¹ûžÐ‡£X}‚bDa-¯6Õèµó,¸û"NGÓ‰‹úFÞ˜ŸÙȾB |bÝMÂËߨîñXaTœåu?Úé‡1²±,ƒ·gïMrßµuõü´â'Õ=ÅÒ8ˆƒ˜™L+\¬bä!X…õTr[YB-Âmsï;rEN NÏ¿ó‚ŒTA vßá÷TAlMBc¯?%#­£9ãw++y’Dd^ˆô¸"é¿×Ù1«§À-lEÏæ„ÁqUÔ,¿;•®s#mvG™¤Æš·ŽÌï‘§+Õyͤáˆ؉“î(ü•çZ”†( 膑×s } )ÊdŽ#ø´p¦Ì¹¾yzÿ PÓúîZ4W~8•ðrùŠ:á³»÷ê-}ÿ·hvÕŒ~3¬Ü‘a瀄¸'•Z¨òwÈÝ}–›ûÁp]Ës‚äïX9Tc.QydÆje®YrNPþâšß`…çå¹K¡kœN“ðžJóûÐyhír­@§4Õ®,ÒNz=y#<ºô¹"qÄ;¦áƒYÁ«»c$Æëé 9 èNyntYq-´Ñºo—©GÓ§œ´4Îú;®ÐŒ…عí$èdmƒÿ‡­ ±Âqäzñ7È’š¶C¦ý ‰w `ܽދ[ÄûJ•¹Ñàµí’‘FI 2Šp©?HP%÷··Bµ‹aç?ŸR¼“„PYZ¦¯f™Óº9¡'l®db5(^Ip'Q5N%®é£ÍÀÏyÀFÌöþ¦4é˜^:Å)Xa ×ÀÀœ9U=5‰=·¤´€%ê¦KÜH’G!U³Þm…5Á<¨8̾ÇXôSuúš*ZL0lÝÝp@\ç¥:uë1ãGÿ3 ÂŒàd×xŒ&¨ÍLkɰê Ò‹!…©JfBTrØÑÖ{úæ/€è0M+98HqÆÈ%Ô GdC–uÙͼŠ'MP“ï|u¹ñŠ%L‚ãîîúÙ¸kíäWö*÷ë´ÆdÐzf>°¸ÉLB¢|}ÜÔ¡ê·`ÍÍq¬v\ûëëE¯-›|ªî„÷.V£eÔq¯ß…'Ÿt‚N¹]Gh«¬´]¾ë,ëåaT¿{d‘6&ê–±õþ„ž#m©¨ôÄRäƒU*Ü\ò>»­ˆ2‘um”#í„góÈycæ êÓ0-ეr >œT„Ç·,˜%¤x³ÆÃ9ó‹Hax”å­ÝHLhW„ „Ž~SÔztòRÍ€/N25Ù|êÌÅɶÔÔ}pÞÉêœf[ZÅ9Âkë`ÍE6)`­®HKþðœsD*‘¨SÐ_Fv±Ækæ«æåóg\¨'­í•–bDýV$ßBÎ7¢õ0ŠÌl[ÜÝš®¡oºØ‡˜qGXc‰9UöN?‡Øw—b¯Yùx—:æ>´S–÷…ú‡àz•×Õ3¶X ³ü¨Õo¬R•º¹ty¼ …¤O2~.ý‘ËÖ…$ïûI(º@mßùÏx`öÎÍB(qX¾…üU‰à°EƒtñNòÀÉO%ñên,”E™…ts\jÈí ß‰R¿JùÆšpÏ,~\9¦Ê‰Ò°g]qJ ·˜få-jÝ 5]‰ÂóZ¶ýlÜGuèä§SóÊŠΚ‚x8^“a)÷3÷…ѽ…ÂU½E-6L'êa'ý—Wž«pê¡Ë¹ˆ #$Ò‹™‘õ“ø¼Rsj§SX8ÿG/>J{áèåA݌ߟxˆÕLˆÓpÖÀØK^ ¯”ÂL¦ ØžÌá\jË¥‘XõÒÉÛKà˜ž§Ýè^;Eˆ}z¿ª²- É!·ÂÅGMæèœ¬•!Ä]_áÙÀÁqõ¢"R†ñêÃhºLa‡<€Œ¸=¶ C˹‰-º•¿?߈Nmò.¸ó ºé¬ÙþL÷¡hGÝóóQ WE¯%€þ‹ÿzç¦Ñþ& V眯àã2ô@Y]ÓD± v/edNs6¹©·¯äÒkT ˆ$^Ñy½;t´u kœQ#!5~fT¨ZCŠÄ°·»ÆädÃì}o²õãEî˜)Æe;˜Dßa„¨Yœ9Ë6UØ…€!0ª3“9§³©8¾.éº-f5êE°+€ë™[ÉÅZ­•ÙãqÙûã§"P¼Í†0Š ìž¸’þf´!oÑqtsÞÒþŠP•¥Ñ}Bóë²3ƒWc²ZƲ³Vs8#J@ÒK0‡Øãúc²àŒ‚²ïG®ˆ×1•Ž}!° 5†C¨íÚ5G&â>ôµÌ:Ãt ñyÉE ?Tú¦êÈ`wþ^/­hg@M6ƒÖúO±Jÿ1´’DÙ+ó©§ß@ÜÕ7®FRG ƒâˆkÄíîX ×ý†=µ¼ÝõÄ%Ÿ‘gioDoò×MW#Àp¿5ÉÅ|¶sŸÃ¶@P‹QËZ¿ir¶"7p‹„ºÐæó vݧÕ|)»ÒÜB’ãÏx>Û±iÓuž{)»ÓÌ.Üþ€hͪÕVt³¬Ê¢ ¿l:¨Z-€·žœœÞ¼è¬ /Û9,EXRìÌKcm%d‹›õ c±CsQ[J>·äê‰ÏR3`¼×,;²ØQöh¢¾3ÁIÚX?Í 4t³ÎN¿1„Õ¬[,+å¨,S^9sï®Qç<˜ÒB(éÕ{L?<hŽÅ6É+|-ÌdTo)1Äi‡>­Äq ¯ûkF[vG¥_…¯ žCúFŒàUl2>-ÔQoTÚ!Èãu²ð¨8® iY­Yþ1š¬ë¬^VD]c€ÕJ°è¤Û™€@ÔB«: t^/ÁP7ïlàæ'Hköç¤Ñœ>¯”AoÖtçñ›ýA‰Ã¢çÀƒhšÍÛ–SãCi´µ†¼ `;d—ø <ÅŒoëüžÛ¾xk=}ã„ú8Ž5*ê’ÜÞ´ÑÙUtD§ å¥kÛn®¾ x×­êÛкd¹¿ûìlõ ¦FÁÏø3ÎÜ5'¿1Ü ì?rxdñCOÿ~›Ó¯±#´÷÷ ðJ ûfš¸iN¼£Rá dWÁ²mLÉZ€Y×ņOäQü”=üM«ÂÃÑûÏå"òÖý ”¤@Ë„ô£)“â3Ôfì ¶&RŒë¼%¢Ûð'íb-/Î÷Öje_9ÁûíV”2ûµ7N]9®Ÿ]¹^âÍ´X³u­+ þ­r±«æGqäŸeQ°´>éWL†0Õ?Rt;ö¹´h14W­ä ²‡Óó[göîHUE¿Qa’îlˆÜá–]¾/ ëÎÂ%ÅDJÄIÇ pð}VHñ ¡^i,ùFÔ~a¯)]²|Tg’ì‰(€¼­…½•ØB©·åÊÉÒú 6Š5§õâ$¨Ã§þ_×:/`Td'ˆ»g>‹ÀvŒ9VïP=½ÔÒm†º'ØÊ.S,¾ÿ~Ѓ~kªz;^*zÑ„R g ]é0¶­ÿê.ÿ³²†÷ËôV6ª=­~ž+Í—·ÞS³÷¬ Ålߘu q)zõ-XÏ× SÎÄŸdþqSÄ¿“¸ z`#Äë-±>p ¬I<˜è¨Î× pÕ¨=¬u‰=6š‹KÅÃu€?ûÆ#‚ múÀŸ&K\°d–áÿ-Ä"ÇÕ¶ZÕ~•ʼÑÕž«ï.Ie“0J£¸› ›/ˉ”¾­.2ª >Häá¿mí¶%ˆâã»Öë‰N}&lK¨çsn‡U.¸vîeÜŸÓ j<ü9­ë7ëÜ —‚rÐxêÿ¥‡Ý7ÏíT=PÓ˜Ü[ßú&B1@½ª5Œ·GyE欂^÷xÑ¿F댚4ºÁD¼@M? 4ÊQפh5²2íXŠÐ/€F¿yFÔ‡$xZvÇònô­ ÆU¦±·ÂK´óQn)yü´ûÚwIŒ&àjáœËL‰MÇ –ȆÐâz´¤àü{÷ô_(&÷8r£P3ÊàÜ®ËM2¢½ =uãÿü-%‹(šúXÊ14Þ„Àº?E!:6à|úzO Bpmú˜­øž†Ó `ü1ëI(3^ÄøÓ=3‹L#e±&à·÷E½GHíŒs£C÷ú »Hu?‹È*MÐET ‡I7³ ÚÝó¦Žf—!Ë£¢â‡¢\a!Ú&© ¦×ý!ærŒ ½”Ð'RŽßWd5Š$Mò§&¤šŒ3(ÊN0ÞI ,áx'ýZÔß TºœpS™ Î*ÃéEùàh‘d ¤{ÛÐY»N¬;òCuPtN2cV{¹špçgñŽÍÔëÄõŠý¼;/˜ÇO4É ¿` \î^›z©Tžõ`OëN]Ãí¸º “P~ ¯sa¯~Ù³t¬e‚¼Þâ¯Zo M¨]Ô!ÚïR¹f-×?èL>/“w,ü=*!îé²bÅõþ„Š ˜%czÖB ® ~ŽÝÄ;<}ú{fBÌÒ%»Ð Žû‘”iú 6Zu£8Ó'(ïÍÌ×+²•>– ™Îp‹Ô!ïº.4Vlj#ÚÈ|E<¨8³%©e:¦G* DܲǼ‘p¯Åš¦ª,÷ *Ò±ç¿ —ì ¸tõÀؤ.gI“[©TlÞB+›q ÈuP²Y¶Ÿ½‰­fÀÉ„hr33é±ÿ,8´í]pÙ³^ ‰gávæ¾Æ°CLØ-áf6C«L Q‘ž†“O¼´’½‹ÖnÔºÁɱS¬Ë) –«ÙTÜAu3;.Hzö¬²ÂždÊ+Nú}ŒOrƾ‹éóÛêcæaÁ%]l$B“C‰\de8Õû3Gî%lãO2Èë~sšÅWÚX@@²ëE©¨5bé™—¶V€ÌÏ)Ö¤msÖú·gw!d¸Þ˜„rRsçöß½ê5 oQIlL=ì‡wÂG_Û¥ljóVsWŒBíĬ–å ’ìÆ4 Ö]±sñ-ÅwƒwŽìFç?w®]êGðD MÓO‘탟Ærùa_Re;ÿq$Ól뉤 Ý~îôsËcýA›h»È…U#u¸Í‘çÌŒjQ€~·t¢½L«ÃƒHš?ÒañoµŒ‰if »lšq$~P:g÷'zgX+dñsb5ÐLw×(ª„R«ÃòU47qe©Xo½' æ¯3YÂôàÝßá¼zËYµöƒíL@ø8eêTåß*¢o«‚×´ì‚oÛ½¯VăæÓ7ìÅ¢<Èê»ç€¹UøXç½Ê*àÛÆqønhé/Hc¦Î’˜[žñ;t Z…HW¨ ƒÀ;“´œN§Ë+¿àÃëpÕó‚E,ƒ»¡ŸQ:ô”¢›|ÞÖõ–ÁJŒ { ¹”’Ü+ÞÜobóÉê+»%2ör« Ã´1ËA7÷–åÊF±wÏÉ >x@¨PXæÂü3¶i¹Ñ')>rÿ×!p~×é!}ft Þ(j!|ò1dÇ âÔ÷ÚiMò@ t‰ZÌ_@y•$G»Ôë\¡bäÿܯÈàÓq™¢7qPªGÂØï1±G«ã½íY‰*ÐYË4,æ×;ï£7tT½¥¢Ö°é_ÙD,lò³ï5Þ"—ò”Ç4Ðt† Éë/€µ&_Gø=AEn/¡" r82‹¤#‹ôœ«‹íÜÛi7ÿÊô Vu"½ßÚ < SÔ´·ñÚÂCöÛÑÄ‹Œ/Lãb÷-eü!Ñ:sÌv> dØÚ«¾ lªÆ‡àQgÚi´V£·n¡Àʈ)u¬‘¿à={t <`9Á™|gÒ¸~GD!éàkqÚŸ€öÐ S”iaÔý‰˜š_Br¢d cÌcw”-OO²åž&#½ä“*Š#ê"ñîØ|, "ݰ…HYt׿hÚ«‹‚¿`¨ª¨ùT‹·–Rº­ZPHë Rìݘ¸Ë°7EªÎœp¢q…ÚÐÇÑòšæ—m WÉ^5¨Nn\½ä‰fj¨³º[=AøE1újù²Çž‘Ø#vßè 5HßÉ#(Q€¢§èjvr]y„)îsÛaäôGiŒªE ‰ék!Íçœd%ü2:¿òú7÷ë£îAÑZ¤'Š?´[tÁPA®¼Ï³€ÿ}†t*:!Œ¼üäI”HÁ}@Lðn€ K^?ìQyýôR€5†e»¤úÆõ!7Ì5§¡6š•àq…÷D– H;èUµBƼò³rµ}»ÈHÁbiã÷¦£G• ß­Txµj3ÅÔøÁÇËÚû2UU}G«¡]ô3ØnY_ª ã£/RKÅ+ê}c"Àßòp]dÈhU1¨avj{šÐôa˼ŒfÀš>÷G6PφC‚ßÇó‚êïOþÝc\‹Ã¸“ö¾š˜vÓÝë÷Ëßjf!lùc&#ÖŒWÑéŸ3jîòúº2ä&Ä ¤ßèÉñDÃvÑšÄ@u¹ñ¨¥"&t¿¹rÿ§žÛF€,p‰œjŸ RÀI˜ÓÐbï ¯˜˜AÖo}½ÿ`gÞ·ðáÄ»P·6 ¯h¾Øð†é™eØEBC•÷xÀ-¨ œT1:°ëG ,„gõ*í³‡ÔöC‹Ùƒ©ðÌÌ0÷8z6WTÔaɦÁeíõ9?Nªª)ßD¸p ‚!2ÍTØ I–¹< ä‹ ÕŸ‰ƒÃiçF’#ãëçízŽ‹´É¥„ ŠùÚx8ÊÁ/×FìùìÙÚFzªø8Õ£p¯‰šý¬ª¥+ §³ÌÙF؈Lÿoå‘j ƒÔý‚uEia¢ºH@›{ZºÉ]'MÐ$Šoä:®± öÿ`œ—¸Ès ZÇòMi=u¥ É(ÏwçñéŠr£Jû¿íþ$TžÿÈ„?h L´ŠÈ€Õ,‡¤y«ŠøªS“ñÞ¹ãmÇè aʺߢù5'ϾþØÒáà¨Sÿ+m;’…bÕõÇIÒª§¿ ‰Œˆä’SîR@ 8N‡ «`S4Í¦Žƒ@%‰PUÜælÄ¡C‹%Ij§À$ó̵;lÔ<ˆ]’¶þm.S«Ô7iÀ3Ëõ\¹Ó6zq,ÓÇ®3íoÔ±/_ƒ­5é'© '{A¦|ð¸Ã¤_å4õ/;ùÚážýš¦hM†k û8œgp'B°‚Ø——Náwó­W¤¢k¢Úu T‹M¨a‡ˆ|÷°u2‹{ÛœJÛ²ÐÑC¹Ž?®!ÃI3:T/+q2Yý24ÑëžNXÒúgÑ9.iדѫ{ÌgS0»b³ÈŒ_®9- ò"<“Su?$²zÝšðš+q®ÎÃ^»i2$å¥÷Ã0»ß1ªõöï"!>÷ãËVÁWŽäÀ6§È«c¤rÿèa±·ÄÔÿlð©sB…—Ñ]j„3ÁÙá©DùJæôÅÈ÷œØñdÑ{…êÖc~ãÿ ÊŸùŸ;®Ç8šiîÁ/:{Ááˆð ‹;b 3† ›‰“ £_±J-¡\_6ËTü½T"ö QÍ7›Ï :3â Ò|f…Ãýè@ÚV‡3¡[hÞ‰ª…›3>lÉ×_NsfÚwK!€Î=ɱôãÓç*ì;–Œ5Ëký”'£,T8’Áa†v|Ä·oØÈ^&ûáYdrÞÄ.û´DA¡°g–y£÷äÌT„ g·‹n8øy$Ú'qýUãˆCô´Ÿ:ß®Ž]‚×âð`Œõ Fé ÂÊþ4çy6ðX$XW—þñóØÀÎÐZÒ¢kN«¬D68ö(ú¤p%í¼i|„µ¥ÍY4ýáÛk&ê&GŸ0d¿2ÍÞyïÀ›;r x1OI,MPË3øÊ×£™-‚Âö[Zþ]µëÔ@5Í6W¥6‡_œ;‚w€Çu +•“—\?R †]ûÿ´ûêj\ È­ålÁc®ÛËhbi‘jÿ^ÞZH¥ƒK®nE¸÷EHøâÏv $ yþó¶ 3-nõÕ<àu««ÌÔ#^Gyú2,«Ô1 •# ž˜ŽðŸKÓìc_­üŸô†1„ÔÈ̯¼w/‡yåvç„3;¡+Ž÷”n;÷9õSB|Êä;åÔlò"ãð'ò*–‹u¯1">oáañã7yr%Ùö J~1ü5F¸Oh@&V[ÇaªÚTî½”¨¬ð^wôP?ÿ£˜ë]Òü™2úÐ3|Z5âwY¢uÖÎ&i$âg»]¦&Ðo“x 4nžÃtš†e»ª›ØÓ„Z%K£¹nnŒ°_pJ3Cx ¢d´0hìÄÆ ·RŒ@šÿ’>š¸€$†† €í¾‡K¼Å¡AÌ2NžH×¶\Kì×Ó <~®¾XöÌoBͳc™n):Š5¹ï\û +£ß˜J}Ûí´§ù͇ºíÇ’¦PZ´sOX Q†V—5D7#Ó×Bf +»Ý{P6Tv%¢pE çHgœÄ,‹y–p8§,=ðpóÚy½{<¶äo²PdjF0_¹@BÌ@ZìÊÕ0vñÛãßX®xòó«Ò=…Š{ÃNe1¼=ý{+ÌÂÂŽþ¡ˆ‚X6áqÄÔXRU]Ã]gkU¬_ˆ°çúI ÌOú%âi}Gjèò–…'.ÑQCÃàLi§Ž;/³¦ÅMXºˆÝÑùÆÂüÔ ý˜|¹½£–pî¡þ‰Ã³‡ÀìT' XòvŸ Q`€ÛAMóËd?ŽÍè>½e€,ÌüÀ™=sÒp|€‹ý=‰KAÒ™ÄJT‡TÒˆ|uC8 $äó[ƒÍÌŽuY`D°‰óý$-Û'i4œ©ø½[VPœBnFÆ«dúÑnƒÎ‹|Fà†ÃÀÊ\£™¦éôÝbSþ7†€õTIÖ߃yCâ·­¬~8y¼ˆºJÚ‰2ªƒO€žƒgó GøÔ#1) (lci9ñ,›×Éî®~Àãû 8VŽFJK!ôa–H›…Yk…¯7»5p^(‘7fxä*ÄÔp]´4ŠÖÛ_Z±Ê3Z3ñ4{–d-`¶ïûÛ%P‚w?°«Ù?Ó€ ÝѬ­´—:o%L~Ú0—&v£´ËñØ"ˆÚfßÎ;?~"Ïi+•ÒªM6ÉÔÏ5E‹ßâ%k‰ËHëÖA{B±Yâ(Ô›ÎuŽ¥ ê}Ú×[ù‘Kéźü¨¬…†ÒiD’žBd‹ê$žˆûf¼'Šx|óû3Jâd2ÃÖKú1‰nyr.‡ùØ”Ó3‡¥Æ‘¦ÕZZ4DÑ.0µ Ƀwh#ÏÝÿúBœEÓï—íQRá7/©S À¨Àåo“ª&ýU•;mÈä0ÇÐT2¬¹µ½¬™V…Fÿ±¸©ˆêD@ÖŒþSæ\SÅRêtâ2ÍŽBC^Y²%ÂÑùï"[êŒçç'ºòà%"1¨Eæ5ÛØ“Êr¡ëš+q~qS+¼?áÀûÒe¬È„0ð\õ®)1Æd*Ÿ€ò¡¸„šXV«gpœDàã†-¨°˜BÆ…­R¯Òì$´(tzI '5¨Í(f²l•sÓBC:K–:KêÑ{5œûÞò\—ywºr; AN‹YBÈ·°±‘LÏ›tÜ.&2¤½­ü–uq¿|u/Ïý1[¸i!bdòn‘˜dl¦üÁª‹)ÎWÍÇÝo£|5v“Hœct¼¹uÚ¼éÞ+õ‹Lj‹Ü?·¼hø·"÷7ÄQusƒÜÇ”GZŸÐ0[Wä*0ÔÛ±ïAÀS1e©nc°ÏÄý]£Ö@ÿјïi¢4Dš{¶Å*º{1´\ƹã;µñÌœK3_¸õêb$ä?^›ÞäÆ8ð[²÷ðMZéZ~_ QÖÛ°Fˆi «¡®ybÞHe›âΟƒy û Fp uóLª«êD Äõ6»ÁMöEÙ’ûK)æÂŠhû¤¡É^JDÒR/å™ ´Ìw ý×\ &Úž¹ÜUóY!ƒ’EÝû ?MµG¬zß[)E«¿è4Æ$8ÐÛåq²Á—0@rwR‚Ø÷‚í8[:Þ{–þ¬Þ~á-ó¼Ú‡ܨghJ(l#SBebÒ€ýxu¿b1 ~ÄêoÌ{ISÏ.!‚˜ Âñ(b5¯>|¡/ —0¹–â§Þ#BÐí¯ãçù£Ê+7x™Ç+²_ü½ó„€àAêš!ïÏ®‘ëÀwY!9÷6õCˆo4vÌ U| ]küdW”Nˆ•H¯óÝpì m[›‚±ËĽ,†_ý lý×âèEdÐ05þõ÷Ö^þžÇ”_$Ë2ãÓm^Ísîà$9uöÊ!&©BÕ£Q0êÓ­P|’5S5;Pp“¥·ÓIÇÕÍ“„¥ù¸kÔ;¾¦é<>b‚¬—œx’q:àÅmR fúaë(O:YðQ)é+0K3Ʊµƒ€ŽSý(z¾lOèRÈÉÜñœõÇû¨¿|ÜèÇPW?åI¯0'×ÊMÂר\>¨®%÷ý6Àø9hôËÒ¿§ù_Ž[¶Hz×Õú3?­ÜÁa~õð‘’÷DJj²Ød # )â&°UÞ‰øëŠV]ʃ¾õ=ŽŠn§ò#5 ÿ­×´© 0Æ4Ñ~7¸´F߸Ľí£/*Eí_iŸÚço³««ilYº…`FKïÔÀ•¨é§ñÞ¶~Ë@–¤¡`C¯#3ŠÀZï±°SxôКÆ[!3øI²ç/¨ ·‰M2-'[ïõžXQ&¥s–Ë1žã8°‚#ïâÁ§úf@HC•‡ü#Òá¼XkjÉ-dâ6ÃöØJþ¥xh$ŸE¶ì¬×Ercòój ÿnzKœ¼Lh‘ŠÈÏ ôê9d¼øm韦tU/5²:Ú¤ð.ž³Ä8úòj0ÞI Œ‚¶å®•¬–—#–ì1A[¿~:êg ´ïuoHòPkA!búž‡¿7>‡Jûz×ÿoÿ1’â1¤ïÿ@ÒW3­ CŽC[¸ªT&ô:f*æ§`g ‡!Û úÓDØ÷Z~t¨-Fu#ÂÒ‘Ïcê Œˆ2Ð<r¬tç4'.êÀÀGU–o1QbÚÄ’âI`P€ÅbKD¡ ±nÝi&-³ÜÌ á³XñÞ¥ìŽO¬äŸ:ð(XSÀÕΩüªÕè<¸ŸoV {ÿ…Wh`òÁ¼°öf|ƒ…¥Ë "l&߸ÜÎtÎ(ÁùåÂ7»½¿@¦Î³PþÔé„A¦ßöÆm:nDr”-ÉÒŒTÀW¾9®Š÷#íX®]ßz 'j“¬”>«®M®¿„C¹x¨•®†x$À„0]ýIfØÉ¢¿ÆwQfô?l\Ü&ûù°¸Ö½¬Ê ;o Ù DêuÓÆ¼LÛcV¢éÔ%‡àd¿)x6û~r6ó¬ÑÂAòkg>Gs”1ÉQ¹´Â#c/.\<#ùp¢¯0x6r šÈ$œó"¥þr'}W/ɶn¥'8M&ìñkV˜aA1$¿@@K‹8h•"÷G TÌd –¾ˆé,™E\o¨ÏÞcŽQÅýyÂúû cõÈmÔ4¼í`¼ûª3>‚î7<È'o¢*núÝ5¿Öƒöy̵‘#²¾uEˆ¨Z÷£YQ°` ÿoYÄlyкß7þòâ£&Ia#ow‰Nó%ÿTF&ßx±Ì#×Zãl†~(¬Ñd‚t7Ô@ÆÔZr<Ì€@È)b² «7 )½.螥Bçya=QºCËrŸ;vºƒõRS¯¸nï«ïRéºi-×¶á3L ‡þc$”z¶³eôq= ,~°7Oº›êVRt>Ë‘Êú§Ü"5ÖDÐË›¢-®³”êÃI«Sàtµá"Éùv^`G¿a"Ïõ̱´°¹ Ôï瑳gëoWþA~:2`á|Ý™7ŽëñYÀ4Ο¸ 5\Õ…Ð…_‘‹F`¤%—{hZYËÇ¢¦8äR4W…Ù§RŒE î$žçy‘¢{JÉâ¢G£È5Õ‘[¡*¼æ'À‘ÆG(|I«LVíÒMÈ >q:º®qÒ² ž·*l¡þš2ó&ËäD:©ÿq\¯• þy¬À‚PåæÏƒËµôtÏ£a6,¹ÏÒJÚkñLòL^9 1¨#Á5уi,¼M©DZ”·fƒJΚåÜï&®3¢I”{[—\–REø’úsé—Lmªÿù ©w4£hDöhLRlý3ë& ß+û°–áö .÷ÃD‚ZMz·C< m7Ô5ENæWË'xËØlØ%aÀ‰ ‡F¿I¿Š²¶c>èÊ;)¼t»E‰bˆÞãTVÛÔg\øãØ•‡”žq¥aÜÿGâ‡ħÿÈræ J^²áKì~=ä´±þìÆZ¤÷˜;=üa l {àW€Ûº”Z7ùKë^]ÊV] þqÅivÚÔ)B:xVc.N4QGIÕ…±IåÚ2 tg=²Õ‚F›NmŽoüjl>PF…ÄÃ0ÀyÚ Lþ¥°ãôð¸áhÝÀ‰ƒƒ 5¨ç4¸à¼Þª°laÙl%`òï6²)õ[/¢±œ ›ß‘t÷üŽÞwÚ\þy™Km•ÍWñg=ÄDöÀ8hñs²µÐ$Ç@”9½ÎóðZj(huÿǸÆÆáµ(,y1C¨Y«œî«.¡ú=êÉ·›ü¿;a(°Õ~bu4ó‰Q…«X-µë‰e0³˜Eóî~Š´­§Ü Ü‹0:o3üÁ!ý;ýË"±ÛÍ;°U8郼Äͽò.AãPz&jÛ Tü1£Ö¹ñéI=²æî}7W|û3¥,âHB–Aä\ÛºT’ž%«‰×z0+xì¿ñ |ƒoI×öÑ$ü {§ØçÁï„’”ôéåXNÈCd¿ªÄÐc#™û%>cÅU4¡ÎN1Õ~ººÀ[ ¹ØŽ&:JY¿éŃ^ý n¬Y©{ûº+¾:°'¢í3 xµŒñ­,KÁpHÀcT()­]¶…H8ü ¼FWqgåF‚’@ð•9Xµ{í {÷¤¸áúOü0w•›‚ðˆžã×€1o_­=n>ºë×{x±m>PH|êp(Þa3áU,‹¦Êý\Ê¢ê‹¸È ÀÅ]­ˆz+_#“à‚0$¯*ßQwÓ%~;_Õ÷æâÒ I^á->h&åÖ¤Mñ`óãaÝr5aÓ^"Óz™À‹}·ÍL÷¿,Y®çûl± Ï Sc†p’U€Þ'Õ48%‡ßŽ6PÇ·YÚæ€Þ¶CÜP\j¥® EÀÞ‡ûŸQ–±Œ%m©ß›s2û<:Á†{;þ­Àâé½ mB_ ÕÃ/:c*1÷ô%Ò.A+š·¹Ià éò³0ë7-½SÕ[ëÔ‘‘ÂVÝ\Ý, ÉäqÂ,™ôU>_k³Ý–-â˜éQ °à¥$½Fâ9[jô†.öp¾(*-¾лoç¦ ÝýS™%Nh>æ„°àÁ7NÙœNY—U¡Bˆâ.ÝŠýry‚¿ø¸·%°pê„ÑM}øÍ0·ë›Í †P Ž%¼2ÖyÐZ2Ø„×'5~Fž\9Åž±šA+"0¢ÿ¹0=ñmÀS*b1YJ\eey†¹Åº5Õ8ãŒu¤.–ù¹¦2ð:ÐÙ€Òš%€¸J׫kfHm%Rª§ ¶U-ôYý¶Ëþ,ò[­H}a¹÷B=«ÑŽk1Ö~øtY (î‘ îµëD˜–—­öívÅ™L qIb}·ÜJŸ6Q~0¯š™£èg휒}tŽ/úùÀtÂ_gQº𖈔g'{ì S_UZÿ…Ÿ™í¿úø3?äG6ÅÒÃlÐâZLcZ˜Bø„“íÿz²8¬e³¾ßñ¹tù0v "¡ûÀÍ9ä‘]Ë%3Ïã´ò¯>+YŸ A¬¶+¬éÞ[‹ENo$—º’hªmÝ—GO$ÞÖªC•Òz)ö½îE{…;d°_Éqë¼âão'j­F¥û¬‘…­$…í'LKŠd  –ƒ†Úé³V¾]îü9(NµAyª¹»+jUøç 7s*éZ‘I7Xæ@rƒ‚çÀù'²ÆLß>›¢…ª¦þ ñC #MVîyD;§å!2‡ÝæƒÓxYÜ@<šëgþ‘©=E“>Nçï³™ƒÂgŸ›Iúk2±@7‚;ë½+XüŠS;±—+{ö–îè‚ë«%5\‡‹è0ß|¯^RIßR:© —_ã¶pÁ£yY+‚eÃ ÅæÕóyüK±Ë|„ÅÓl„7Ò5}r¸ÅŽ Â2;/6óehà2æy¦Ý%u—ëHÆ£ñév×ÄÄÖöƒ/ŸÎ ìønã)Šíz>¸^Ïܪ¢ÁÓ kEp„5‹/ú/k¥†Îtnñ‚‡,Œ&{ ¾‡&CÞ{*q÷ ¬6yݰ$°äÖ·—»VwP'Çëõ Þ¸Éíol‘cŽƒöú˜!ømiCÔÐêf(¯“/A:ìw8TÏ-IS’¾u6~¢ÙòôÔã~Œí”é«Ïש/6}Ô)ÛuÞ6Ë]æC»¡¥•êPn.xÈ“Èy8Çxj}Á _šš)_s˜i«çpôu¹ðL"wŒ†5j5Ô§c`,}ÁA"UÖ Ž>Ô³ÛE TµFa–w$#uÄÏNå6ÚÔ‚GJàڭ諯'Íóû}jr×UÑ^˜WR½ñÁGepüTÙdï‚;§«=õz °\ò2áR_ CTþ4¦ù`Vs©å'^Å©tþ–¼JŒ’~¹‡+ ã ŸÝ1SæŠÝºÎ•À‡ôÉCF–ñØ[Æ™8ßçfmÊ̪¦¤©0‘gH²îð9ØBÞÁþrXçÒÃS¡vˆ ‹JË†ÆØHT7Ke©.•;Ó³uþcö‹ËÝÖ27EYÓEág°¾Hú-[ÿ-„)°° Ð Hn»©¡‹¨0yXbÌt¥þ¶EÛû÷ÛC¸–PÓÙàùR|þ¼M­ËÖ²“b@ì-«#x. ý|2`Ôâ‰lÔ¦Šiôüñt Ž™† q£¤¸V¦3&-óu¸oÊÍL3[¦Ô–Œ–êM€`2ÃgbA]¶|,éý PÕ!çrëÁ‚P¨5ÙË«ŠTR®(­P6gÕÛʃԩí¸AÁžd"ù¾–ú½žT’ÉáNI»)ñÝ/³=cä·BìÓû- öEçïCZ­ÏJåÐiu}ŠrOâÖÔ¢Þ„H©(Ù׊ûÃ!¹Ó£hôƉ7ÕO÷»$+³ý& Pµä‡„nœòŒ"Ëï²õ½¤jÃÜ-#æ3®m¤Ñ¡ƒï½´l[Œª”nà©K=åo6ýófÞF!¸é/úy,O+Îd¹,|Ç0†ì ¾!ѳ°Îõc$¿hÕë«;EíS€¡´Õ:¾§Ÿ²D,g[[ŠV·ê5q²#GåA]6Å}ÐX”övƒy ‹oÏh—4»eÝ4†[IDÍ0sÊP„ðÒ<¤{UsWÒí;;Ã%½UáÌTxŽ&~´Œïì»ù%Ó²†–]'uØ›/ë(sÕØëi“½êȵõ}N™+F¡F3#mÙÂS ¹¿(6 Ÿ×%¡­—Àdz矔èfß}vòjEÃÉTæÇA÷t–¢¸L «}WÉ-ñøãX¸ŠÍðÎè÷Êw\‹¨EBÓâ˳-¬ÆtJ¯}p§ÔŽŸLÒÅĵQpýz¼Läß‚“"†ÂYm êÝwN;aTv„‹q7”›ú @×#|çÓ›·¼•gí; |ÁggCGþ˜@z9c>°»ºhè/(Nš›eΑ»Éè›?°ã›+S+1JM*îî¡s‹n…@hí¥û+Ú· L ¸X?¿š‹ü1·É3 ˆjˆ+vƒK?è‹m´ëÃEyŒ {M™åéX4ˆH­žó”ÙÓ¡:$~®þþËUv ï^¦r w¾ÑÏ{€ÚVÍ Ef?¼œUî¥*•±%68 ç;UgïPºªŸÑËkd|"“lÒ6.Mˆ×9Ê Æ_ÙâÒ—¨€ w.î¢2m(Ò®pÝlšÒ»5‘Ú+þ‰<6Љvg_:8TšUv$Œ Âÿ‚Žƒ1Î]RÀm‹!›öŸÏJ4‡¬ˆ¸å_;…~w×ìO¬çÕBœªÊ‡^r™iÖ>Äê›0ÝÖáÆ Á³7j0]§ó"3ZCf{÷Që¢yaÁ÷JkuEìYALÏî/éöÚ›HÞôyqfTe§’é’ÊúûñÉ—Äwl¼çÓ8H¤îöµz*!T¾«é ^Àei÷ÿ×ÝS;ûõŒÛöwµ½ ^øfqØ¡Ÿø ³ÑOÐ…ý#æ"p!êY‘¥ÿAã5oỬÙÙ-æ,׬ÔL\À…¹$ X›B`ä2î#.oàõÀð>¤õ¨1ÜÒv=dÁõß`ÎE|W›-záðdSù×TŒ‚mÖ% ©h™=‰ 'âˆm3w©#¹—:¼œŸÁ‹#pfxʲ/ã‚Ì*İ¡‹ï<¸«ü“•å`K—¦–*ï) •¹ä¿&Û‰šÅCÚ:ƒÕVÓÉŽÚ*½I—‰ï‚kO¿{‘`ßRyf° ×Ø¿2¸å¿¨ PÞ/¯¥€â×ή®Y¡8Õï­)HceCÝø)7¹6Ã]ÊL·öjYQu¡»SnQÍ/´7?; ÊGã’Ú,¨_@Eñ~öi…]Ì+ #8§( DWçüÖò-½È¹ºAmš @ùÞ1¤h||è§i4–W~|…ÂÈþM¹žJ$ áH§œ?*¸øhÀÎÄj$[Ù²Ö ƒhà’ÙG¾i<¿+ÍXñVu¼Ôl7sè KÇØão 3‹“6h#âéÐLD&ÏMÁÿÐ$gØÙsŽoßXµËÛ"nÛÞÉv¼óÔ /ÈÕ ƒ ÊRcy©Óýøòò4q‘™Óý|:!1«þƒYWÿ´Lìdìâ»øÛE¸n@Ui yÌü´«Ÿ}P`9_+õÇ0Ž ö|»ø#äVuËYÌk Ý]Ù<çöj†Úéýód™Ô©Š•i´îi¦Ö¥ŒZQ ¯ØkWçµð QËI‘ð#T{èLú™÷²‡ygÂ%¾øžÈ=uU‚ñhŽÀ¦Õí°²ŸÆeG«ÑA†KžKx¬QÃ>—+» (Äùx¯4êíD—;dˆUÃA‹eûE£v¸Kˆ—`;Ò}~þ¬cŸ{ŸIbø§ºxkÅ6´C¢†]/ sÄ¡czðËäÎ`ÿoú½ €84Áʵý.4ø“F·kK""ž,ðÏ/lk Ñ9L †Ú§&Ä9Á ,)¨‘?Ù4¨Pr BUâ dz‘ ô/zÔªŒ¡¨üIpÞž]âcù5œW¸¦BL4h 9ÉÏh"ÞÍ‚ ‡ò¯7ºåa½Ûò¼Ìô5 L3Høš'AïØË†EéV4Šô¹ ©@nVÔ}‡ÌxI%xI¤ç0*¡’ݼ¦•‡¾€û¥aׯH]Æ“ꬳ’dÄÏf¥?0çØõy>`¹m{5tÇÝq¾î$™Aï£YRvmÁ?ž®ü㎪^®Ö}ë?l²æíÍø¹­˜ïn¦NÜz4ÄT¬¨£ƒ1Ï(kàùx¾P£m Í_[¥º à•Æè\Š ¬ÈdÔ¡?@Ñ6˜ÚýPgìý1‘vPÊŸœ„Ë=À)´µá•¬áå~*5÷Qê뿘žÊ¥léÕJ`òPБIôŒ„Øüu«öt™µÂ»YßÓ1’pLßñ©EFr&:«@𑩨¬ULI—C6 [ý‹‚vû¨¨¥Ø¦Å¡Ëuù–Ž¿Ô”Et{³ž¤æ€z"F'’H9ÙS ufÔð%•òðý ›Õy瀓ÊçG%rF‹èI:"=cÍ(F•”}Ê›€œÐTšƒw>ÚnjÑ£³6øô•šU™¥1\PçiIúc"ÎÚü6Ýt[L2ÐÅ2׬ w`b¹ˆâ4U:œWw×3yÅkLS)‘ªý‹B¹ï­¸ ž^y„T”]xÍúÙ¼K{í¥ÐªŒO¸7:‹•0š½i#h#ì~Zí´ð‚rA…«ÏZ0SÒcýÔŒ×Ò‡ôièþp÷Ù]èL(g´âŒ¯¹UqݘžùÛHD‹AùþDu‚xÙŸhK7otÎ#o€øZµ•f6Ø©ÑËh­w(µF8ý:Žm?q¦©‘¼p¿V‹ðþLj²·Ð;½T$­~V»ÅÙ­çuñ BÉr.TvA×lTC½m0x8Ç©f©²>B¿¹ƒãÓ%¯êcÜLK‹u“¿U¦ ¦ÁÙ^o ŠbÁ$¡lÿöä/„î,’"ô\þ‚Î¥Ï9Égxª2D÷àŽºG—¨NO¾}çOÕæumRè78ñƒXQW#&¾ÿoØ£sÍ®¤t ‘ëŽ3l€_>äCF4oLñ ÙÚ… >s¥5ö± +mÒ~D†÷–¤¼|êÝsûBë–½ŠW&41'Eç˜ ×åNùe”Ð÷»swf«´³¿êØU÷‰G%Ä«MTç,¬‡Tt» Pn‚‘›M><#Fæÿ³<4Mw©rµÑ©Ö-ü’–)Ê>…ƒ*sôÂ÷óF‘`±Q5‘ =²þn&r‰&`BîI€CêÌa´fÿ4| âÜ…3&4:[¬Æ&ž×Ë|Tréoè= \8f~Œ°\Îx£„(ë×è-æUÿÃ=ñº#!€:gpÏK&Äœ÷ök¯í©Þ’×½÷q„KÖgã%])uès±‹  TÜ7äƒeZÈlÚtþX‰³‰||ЙĄ¤DÈãæÀœR¹—ÿ;,‚”8ù'¿±¼HÆ0óægÐÎÏaèŸ!!áwšæÇ>€æºUõóØ/‚ÇÃÜI¡ÁäÞKûfPøÝ|nëÚ¾¿`õîApB@'FåT¸L¥ŠëÅ#r¹øF0"Ù¦7_YÙ§¤€»ŒØQ‚½=Y†áé1UG z¸Co®påxââBþåÓ(”ÝÒ þíkL.ü¦Áëfµ$ÆUpÑ\Lü¿ºÜ1†ˆ²“¬ Á°Pî —^_Y¯m'îÝÇÙ;šŠÆ¬Ã|0ÌáÎÕ‘tþ=XkyþÉ–aª¬6€xêò1t[u°ÎtÚÿžx·,^[Çá1‰JA›ë:V¤F4VœXLÔ2†ÑY:ÆS‰Ïk¢f_<ƒ>réClJ.#jÆï¾ ´ dé·'ÒuŨق¢z89šàÂ4¾ùÕ(%_àA#ÏÜ.Õ( ©5ƒþ3wd®ÌK²FÊÿí °|ö¯”—py,}ôÊç@ïb’÷ÍÃ~¥•yËzLê|ªmzÃê°sÃiQWÊ#„z¬ïâÂ~Œ¸4&„¤dï5ˆjYßþ5ÅŠXt{§Ãßiæ AEl`]/¦ äwø2´À¢¾Të r!ùŠñƒÓ¶¶¾Îþ±ÜÚ0hÙ©|Ú„Ôºä™XŸ¾¬\‰™ßÅä—ó¤ÉOgîø¥„Œ¿ë#Ö”œ ¥êªãsmüÛÝê#}tmJ'œ‹j{;]Çå}Ku´Ù°gëdadyÛùì$Ng‘åÔ{ð$´á£ÙxIü6"Úˆ…‡§qNz.qAâDh–Nw~™:\96Ër]‚£ÇBøTÂ¥A£ÔCôˆr=[²fóÍM}ís›{¬”^•Êçñ@ÜÄË)ýÅ:0ÔªÑkñ † æƒþÙžmâíðÕÌ¡z ÉÇÐã5ˆˆPg)è;E§ŒѶj_ôi‘ǹp xL±Æ¥¿sž8Ùrà½ü^ô,•æ*‹¸f¶Êµ—ÈÁ7Yóý¨1xmÕëmÊX®t ºŒðjh]< ªŸ—ž*=rN«2Þ° ‡ÖKB=·Uüê¼oKç¶¼/k5ƒHô’^j|½_Õæóz¢ÙÞŠ9õ&‹T‚({Ú ¥içwSÐËêiñÖw-æ|êшía,EìRìS4ù&²ª©*ÌÑsÌëVOó×YijžJTÅ*½ŠrSŸ.aõÌG§Ö~ûVž¾,Ï0áRz©µYäüúU›¬ÐcÝqŸù_ŸÕ]iâí‡â$”K*öe>ªÜ,wSNeCµ‚÷ô¨DÅN4%D…“Åk`@¥"Š#ñõÿ©^@#Õú[ÃaeûQÛŒ«·ºŽA(ÔÙ‚E—4j3ƒ÷Á³‹d„ºŽ6D=¯.ú3æìÀ?±›Î‰FpcF2IEÅüõiÏÐlðœø¿m<ÿ$Y.Èý,)‰æ‡›ë592|Ø&]b“‹“%±R­{\˜XsjN¢ø ëe À8Éj¿¦œD9i—qn×-+ž}9Æ„.—èÚ2®!$M†M:-/š{%Ï…Ùs‹^o~(ñµD(1¨Ýœ ÊËÌ£pI¨è„Óꪈq)æŸÜåž,,_Þ F–GÅ“Sb£ŸGUɽï?®¨TDïnÌqÏ“Ëxk>ÐóÕÿ»ÞOŠóÆõmz _«þ·Ö8œ`ò5¾iÞ,a’ÿ™†É®½¨jØÍ”=лj³CªÒÎpš*4ê‹›†÷3r5_ÜäOÿÐpIȘîW{1€ÛXøÎ£IÚ@9£´˜ƒ& 1j7†EÊ8að—宪ÿüOç¡åÍ(‹p6€Zâz"kä`­ 5tƒbñm_¤ù<Åɛί½Æïtö34n`¡>lˆ$„¼€N×T!cçI vTj§wÿô\ªÄÁbò”¢ÌRè´aÊÁ#™}X„ç h®6÷{aƒJ°Ù«àóYñ ò²fñø ÇçÑs‹ˆn-£ZT‚ºiB¿ÐJ¡‚ŠÞú-.‘sµ¿=™—âË›¨D‘ù¨ ì¶Ìþ Nòåí·S ÆuÚ ù(š9 ³X@K­»žŽ“lÚ‚å ÊgÌö„ ç#Y¦…ga¾;©MnHÖ5VO€ˆöEtÅ¡ÊÞÆeHÿ/’<æ'¦ç%…¤àÉ)X‘cT?È;.g— QD×á=ð{"‰?iÞÄœlߤ9:ýó€ô€EL xó®+5¿ãí£ý,úQ -¯ç€FšsÀiE .ç›Úß÷4ŒýuušIÍìZC¤z®«ËKJ‚IL¶ÊÆ&ÏkeaSBy“hü ±ú‘W°GÞ,Us¡Ñ7Tþ7kïQëüL†{„›ÛÒÔ»–¿§Ò~Ïqϲ‹yûqEc`ȈX2:¶@\DM}ð¿WQkY¦[eÒyá)›Ò„^ôÎGðÚPMd¤¡s62oJr;7ŽxôzSe€5ú%ïtÞà]PtýÎf¹\¥ë㉺ÿ6ÆeUf*›ÄÈ{ü4{>–<½MÝxKRš€ü£Õë2ÍÕýIÕ–Í÷¡lb]æk»\{8]`kk0EØŽãýpn½NY-¡A/Ö¹°~º¨]-õ‹î®ˆŠËIËì$º Ð÷n¡0IeîHô4.zóÇŸ X6|³¼6øh°u ©¹™\£‡m<çò ½R)`ÖJ¾@EêðP.v/TyÏ:%øˆo“%ê ÅÉ2ÌȤYñÙxµ²ºšÃ4vîæïÞQÅi¢²ÂèF‹¤ò¬±•Û¯Ìá=ÖÜiɵÉPÇ#šßoÆÑ*Òs ¡¹Uo­Û“åïÁâ%À³)ÓÝ@5…N8vgäÁ®™”3¡æÖ)ã Y]”Ó1½ßæüÀ¢Át¬V ‘ª}aª+=Mv‹ûûpëñ9|!zÖä6§P‘±ôGqT{£SÅ™º®/§?~eôKEZ|/¯o8Õ…ÝoxÚ…óÀó“"©ë¤N½¿{“NªÒNŽð~‰;Õ¤ëõ| O_C©‚ýøAeg8Ž|úçÊFŒâ“ù`5Š˜ž‘Íù|>MØKÐðȤÞéÏvµqÇ6¤?%¡ù,AœÍ#J,– oÉåGóÿ*Z‹Qý¡Ca“R¯`™~óh¥íUžPáÄ$ÙìÀÎ,Ù¨¹‘t­ÃŽƒT ¶Up‰DI¿ðÔ°jÎdC,oóƒûÌP\žÞhd˶Â9\æ®–ß>` ƒxn}ªéê¬MtJ¾M_üÎå#ëïKû‰™.(媳½€¾»ŸZÎ_ `È&D8r:4`<ÖºÊãíe¨õ* ¯SíI}*«þ¿S4ý´˜Q.µr8>]áÎŒQñ)nŠ‘¶M+û"àsrZX7ñàwDÉ“ý£1Eø®"/ ¬ß:Jv1vŒæÜÚµ+ÁSH„ß·C„αT®–9Z`Ò õØ=~³Ä#qD{Ø&0ù\ÏôŠpPÁ«Î—•Æpw@£¢‘‹8Oº :¿¹žfŒŒf3¤Úë]›Ó,Kàà¨%üÍÂ~B»6»ÔÌ6z êÌŸ7—ß“%4†É# ŠÎ ¦!¨„H…××1’/ækv»2Ùø‘ðœ¤O\€—ÑÝogo‚-f-¦ñgX#‘þ°Žâ1(~’…4n²ÏíÇ“ `B!VwOUþaÿB½B ¹«ërdû é §\É=^ÔprÕÞÍ蘾°@ ’KÊ¢ÚKQ¢N—¦•Ô2Rº{6Å</d…ü æ D'áäËIèp }ôܾ ™¡õ8”ÜÃI¬L„œ6È;Šør;¡kÍsºHe¬¥ÙZÞA³;Ÿ†lR[ °óc%ƃ|õkÛ18èzjªÁÙé>AT¥æ/¤0 VÅ_TjÇcl¹.ýeè)E0IŒÀLfØUÅà`IwœñP<²ÒÊÿYt/·•¡çfÚã,’ñ$E.¯Ä·…ú~ØÞÉwÃ(a¥AKä€#›9hgñn‘ÓÉCK)½˜ç2zjFC¹x:H«<´¦ØÜ¸ÏšøVÅ T“ð¶Ã£€Þ½êà^ÐûŠÁwâõ·°­ILñ¾í8t0¯±Å,¹‰È`Ú VrÇSnZ&´'áB=’«pWj2ÿÏŠ0ÀÕûÛ…é—*³i[¯Æó²âˆìNòJ»ˆž£_P•U¼´ÿg$½-ñ> GCìBZcoä¬ìÁÅM²,,ÊK{­˜"Ä<½×Õ…~k?÷7Iošˆ1 ÚE,FäJxÛÊžXïj®8 ®cNê2ëþ kðÞˆ' gJ|í’§Yj¬µF$F{‡2ÅãÙ~ OObymbG÷èºÇ¯›ç¹¸5—'"hƒ8#ßtF\t¨‹©ÕhD¨Œ–íWí+®ƒðtF˜„nöšÛx•²-Ý:Lr$A«f¿ 5ûéIΉö4ùF×*ö»ý´+ Ý–ôd*!¾Y)Z©y‹5ÈϦ?3×ì@Ï ô;uÕÐNI~¸ÛâjÄuȇ£˜!ßsoÖÊ;ñ^'A YŒ¾÷Æì6tÇiŽ<_‡pãÖõLŸ-q i´ãªF/~6"nðº’y‹6§1{îÔrq×÷b"x>Œñ(OË»I"¿¡‡¢`µ¬ž/NÙÄ›W%ˆ3«$w¯šòeáXGÜrJš ï÷×SfR|6¿Iq0ƒó´” R}ßĬq¿£¦'ÄÑѺh5 wi^Âcb° <Èÿ¢ßô`í/¯¥½ 7€™À´A;ĬC=· Jh\Ó 7tDɳ—ÇãHE½N ”cU5-cR˜ïq85tt^ „¡§r`óKÃt'è¯P)¢P)ójÎ°Š¯¤à¥Èå“r°ö 6ÜIÁ¦˜XàÇQ_ ;©ØóXÄÉ}/.þ¢ÛÔ§ÒàùøöF]Áþ¸–L©Ìh"qlq ÎÜ’F¼„î@ÉÛNâôPˆƒÎbÎ\êµÜ@‹}H7$fÚæÙ½\jáÖó0 qØŒ•‹½ý)þ<«#ÿ?.Xfò*Z0 ÈU¼“—ú‹!Ÿmsq²‹È“!i(®½.Õ~-Â),ªç€L@&5ƒku f0ƽ‡ìHªôXxÏqVæbÆÕú@ G²>9Üv‹U‘¡2PÆû `tÁˆ¡¤Ô·+£bŠù‚öÖ¥oqxJ§zýïÎ_FO~ j—yøéŽ_4,Œ‚s¸AâÒÞ’ÝÍIê6D‡Çw®\Sf, .²P‚> Æîf¹å2e©†ë8íê“æÚ@fu£`¥-³Wfð>Áâd¬/ã õàv×G냶ÞÜ·”w«Lʪo“`¿ã>С|å5Sýýºm·üBOô,×ã«1 sq“ù/JU¯Þ©\ ‹7'Uƒk>ÌÕµi#˜¡ã|Q©¬Ï“²F%©Œ£‡K¿žÂEÅ â¶s޳÷þÑ6Ð?Š@â•,xx>Œ=³Äž£(„ž­•DÞ¥bL „IëŒF´S†vq\Gåi–ÔOÛHòfïÝ7öê¨þ3ž²˜D8’v“K;™X7a4}Š ‡™ĵÁôff(ÕZjS1qÝÛ£¶CtTÁ4bØ4?‰þâýЗÜ6~½ç.iÄù™ ©[¦Âšº°šóõBpuóN §·@Æ…/H}•|GwöyOŠš3+ À†ó÷²±¡…Q6ÜGJ¼ÿê<2ÄXðïýà³z{AdÀ°ü `,7%1ž›î'h¼ê«4'fÓr€rþÏgÊÖasà_£hLacŒ1áÛ>´˜ØIáÛÿÙT1A!)wE€÷ýópÐ÷b #ѸÁ©ÒùŽ$.C]2Làá8ù(,[è%j½9k|‘8C Œw$¶¶&‰÷«T^ï¡.Éß>ü‚³Elѽ ˜lR:½Y²‹·QÕ…ÏàK áâA*]DßvOál{+¶ªóúC+Nëê|ãñ2Ub$VxïòN]Á5ÂåÁÛ¤Ôy•Ì#=†‰Ú•å©î60ÚG»ƒ :Aš&Q ÒèïE˜à7ôé)0ÖCRf­·oîE¨ÄUï…æ9o ÔsŒmnhäw| SE/MÈU7ŽôÜó«ÿ¯ :¡Yß?ÄÛ »ºæÂ¿ôR—ÆÓŠ)TyÑ–Ít4R’‡²OOö¹¼´6‚E¨ìŠt5ãCŠ((>sÛºyNß±'[ÆqcgÒ}[ `õ'wñN‰ƒÒ^䩯–½ðÈQÿ·~I å9Qm$®Ÿ£Ú?I{Ù/O¼ŒfCᓇùi¶«s /|7åjÉZÅ^¾²ž~7šŒùa+±è\¯Ü |àlÞÞÀñëÒG¯b!¯®Yd€}Ä0eJ²`Û®¡ØX\ k&¢Ý Ã5Atîï6”×Å/4HP9¬WƒÓ–ŒÕ÷åðêU‹4SŒ çðy´È¦L’]Æ%ÝYekªv‘ÀŸÆUXêQãa‚Ê>DßìF1P…– I ÷‚ .v°‰tª|_Œ­E&ö©}>ò‹=‹ª•VX*Ü)‰>ôòÇø¨®â£NJA÷©:ŒY­[LÏ«FY„ß|C} ÅÜ‹’;aG<² Rþ¼íkÉÎçÙºßéDÖÝ&€W¢¥œ<ó:ê«Òûwì]¡7#º#¡3É¢nêB(BÁëÞ Àµž’üXôÖÿÕðàvGMu>iºþoÚ륗K²µç¦y•ÁDGjçßH™ÆŒưގLÖ ¶ AJЧãR!œñÌD×Iï¢Á~°]K`íâ:¶z%ÿk2ð?ÜØ™y´£  ~Xrj–,2¤¹¬LEÓ«Ýü‰2p<ýxRg+£S9wD«j¾Äý®ùëC—§Ú£x¤—„ÖLåYnt´ù½å{)9·ä*K™!84-ê\‰L²B7æ!L*ÜS®õˆ ºK½ŒĄ̈p@Wx÷ž_.tiM®5¶Ñ/õøš™¼ýf@–åøÒ«VÜv1j–^z öŸª¤â %\$Fd+Wõ‹uxËËzÕ·†n9”Á¢àÊZ¸áy!}æ¥[^vÀæžÖ"Jƒ‰¹R7øI/BÛÛËk\ÅùbLKÜ=2qC¥#çaìéô©l ªèj£“H ¯Î˜Eù,äÌZÇáVÄp3ç¬pÍZÏQS~ªõG‡Š? X¡‡–XED[ )f—^[¢ÚxÁÇ¢íÍÅ<#uf._& Qyµó5FÛäØôâ cC:Ö p¯cé'SI·@p‰/·¦På½1D$uíÙß.?œ®õþïÞ'‚6½nî(6w7u&Ðîè^Ûë–N|ê—†e~îŠÁÑÛàé#VþEFׇ 8õ’gnî5=è;Åê‡L·¢#Ö°¶J‰©ñÊMI»õ2€)©ö¼qÌu½öË3DˆJXzÄsGôeeoÜÓD§·ieÒª«g8ºtU˜ôÎ*’…ø[zïÎ# ÿƒh§Rþ)Þ¼Z\Ï‹qç2ßYÃ3mü¨hYÇÛçn63µ€ú5Ôêçãfo½Hܦõ•Ð’’incX§K&ö(š“¥â*Ò[Kêu€·}SzxîÏ ¥ÑH™pö³ˆ3oQ‰É€½&Ë€—bò䟟KôÒáraÛz¹œ‡ê¦oz|íh*‚°Y[{3RnÆzÛ½ ±)ø€n0âA™PëÉõ)Õpá\‘ð±XLk^úzïMS¥€†=;U»Â)ȸ;ê£VÔNÝ[ŒÒ7 %_N‘SlVhž#Yªp³Dw5º¡øãšXíþÃ3ÙÃ¥&WOÄo,`¨ƒ'S–Üɶ1IÂ"Ie! `§ñÊöXVÔ‘¤"¹ÐVqf«ʸ!³»á»¥–r›9zºõœ¬÷F¶ãr£«¿¶²¨xÞdøÿÿsázXS¯Læ=üßlf8:Æ´ë‡u- º;Rð±f ¿‹mZ1Ýÿn)Jœ¸7]•o.ü™1Ê~˜|n¤ÓÑò`eywlÊ`)?uŸÓ·µÒ¾àg¢ÄÕOJÆBÆÙu¦+_ÃùòtŽ}×Öä8£zãÛ‡Q²SÒŒñÂnul ø®§\*-× ÝÀ+~•fÿ‰ÙW-ä£t­^†<*íô½0ô…1>"Þ ›Ùòúñ½… œ›%6ôû”·¤» ‘ß§×€[R²´(Ìy t¶¥6_.†`>‚ IcÁÍ@7¹ª·‹ŽRþµ¾7]„’Eç LLJ‰'î–†1têt¾€c™n¿úv‡=þ8 Õé2kæìá(~sÆœáT>å•UÒø•v1q ·|Ì6JѵC›²½S t`Ç;éž™QŒvHY]v,·Wp;ÌïIh;¸ÉÀ**D,†&ª,¨ú§,HP`F¶?*Ä‚B§ÐÑèdü2<¨:7:·;‡ ïN+,DóŒìoy¸çR87V¡øã&pÌ×ÿƒ¶ã„æ 3øim h©%ß*3*Äs‚áv6ÍG wF<ƒÆP¼ùh<¾üâ@ÔKÙòe‚1i•3è?ÜxãÖ«[Žˆé2Oàv2J27Hªžä˜î5û1RÎõe®BñÃö2 Åp)-N¶+ Rõîò¢ð¡¡ø]`ív«—*ÃU <#möçG1·Jh«8nYc•ñ— 9>”væÏrÈÍÙÛ³"É.ÿ"\77 ¤ü˜¤pú­È­·¯•öàÓFqAœœ"͈O:/ÓkW«ü# ƒt¡óäà ¢®B‚å8Gœô „»G›pMê6×ÜäÚÙ¯ö‰æ©‰÷_qdÒêZEƒ–z¬àÐÚÜRkdÀ5Šk°ivçaŽ_Y†{ΙE4Ûn6©wÚÒ{IërôµaBrcE ¿É<ôø;bÔ°â™[¾ù…ñe²QgÓëEÞ껜˜Ãú¸Ž’0ô±î“G·þß ×¶ÈDàÝYku÷¥“2¶àLÌ×X¹D®Éó“©³*Ã×/ŠÛü8ŸáaTà©/h%ƒ]ýŒ¯|fhåp/Ž?ÁÐâ :fˆ“ÌΤ‹IèPœ‰€ G>¿%øôäO¨ÄÜ¿•û"þ_¤¼¨öüÑü˜úV+Mò£˜ø ‘NFÇö+z¥€¸0f ‡ûI6å‹ÒŠÀDÆì—õéÑÿó£1¶P“Ÿ…ësŽfŽQrz±Â*UÞÔø¡AßÐÂ{¨PƒfŽ˜ìcÄçÇD;\º—?‚ûÇn"3“PiŠŸTUD’Vwý+Z$íuÅ'ŠÌE¢}ïì(9ôž­kb53×K¿5étÍJ22ÒWk{«nph@4ÁÕTd7B°M阀]ÇWìçizkˆ=Æ>Ì\º´E"Ÿ ú Þ?ŒèbR}ÍŽ¡gålmÛ˜Æ –5ôEÅŸ…ñ‰‰6°¼Ç!åÆuÜõÜ;»¥Ua‰ûlß/åy×OÝÍé‰ÈÄÎ1•Ú*) ¡ªù.´åØhýêh'RÿRš¹j SÉìJ›àBx¥à¸„s´Fïì$²Ï¦†Ì>¾Ñûªš8(»Ñp ½Xàþ.,‹­¹Óbœ ’6õ¦ëÇ!½¤ÇœÆ;ͯ‡Ö$ì?^ï¹Zp×6¼Û™ðjò¼ØÊdqsû!Ï1ZÞè¶bí¥j‰«ìú©Œø¢˜4Wð#Û *äÙž2@6²¬X­öðVƒ'ØÀWŒÛ;õ›à{qDˆcú™1 6¶=9Ôlv,„:ÎÕbkõößHz¿úxäwš?ôLiVåˆ~Ô §¼  C¬ÀÚžÉîa.ÓlÑÃT”IOUjEº >L˜îw¬íÚÐÊ E#ϬQãÆ\ufUá 1LMñzk¤#?ÝM¹&”ˆB½?å¬Q¸zîØ-žjœëµZ¥¡eíiÈtÉZA„Í;¯•f‹Òv”¹of½|ñyPP”ôÅ0Ck`E9Ü !å- 'G.ó½Ñh((ÎÒÓ‹¿Ù¥ËÐ8þ92‹äÝD‰ð?µÏe/D‡½)z§Ý@³éÁ¨!ÕBʆpC„Ó;œøO§È=¨½Û˜à—Ãß5"bûã÷‡®~¸U8yTEM­Ž9æ!&žñö¿ì°ßqs.ãÀZÉmÚ{áÜ‘õp/µ‘]Ë`‹„6¦ÞáG×!Èöé;Ö ]~d¸Ò¬JÒ²·n]ÿñò‚¿ÕÛcŸç p~»_f–“ T4/‹(vR˜>‘Kí¼¯† ¤p†©†"ûàsöîw…hÛüs«D÷“b.héWõµÑhÙCÌóy#Ì‘<§®Xœ%<ŸO¦÷… 7iª³øg$;ßMå$l#ÌíG:ïâ皬žÈò‘ðl<é‘{/ÄwoŠA‰Çÿ-öXÕw›½J¼G=`ù7tMcssªn|Ì®ÏkzÈiªÆÆVØ/ % Ïug€ÉJcŒ4hhŸ[ôt˜rÄ®2Áºâó!†dDDø6…ÑŠ[<-û©&@·î È åŒJÃ%6H‡´›ÑµjM¢ â9>ÁòbÚ:B95›Œ„…ŒúÑ1g2©õc¼~Õò²JᚉÄ~Vu¤¶®'y>su#nnÈhù‰üd^6¤³Ï€îªdÅ ýÅg¦å`ƒ±ßk¼)s¸H:ˆ`I¾yàօֽ¤¬c¥±3§”/-xKgÇÚ¤Áž<€RD*®¸‘ êšF^åQ‘‚×ÊÓ6Qx_£×ó)…BUbÞÃgˆ$þ a?Â2-\²f5äÖ~sov_žƒs&ÿPI¸ègz›0¡;ºˆh-šLóªh¡—0lÿqYx¯ÃÛ„UÛDtÑèíF÷lè:’žN(YëA½›ZÓïôz¿r8‡ÈL|œASÑÙØ†ÄÑ•ŠêË"ØæXœàTÒ]šÃ3çj&²6±nÊc² J#PY‘ï+ Io£¼¿3¯¼´-Ò|"&F-&dÉE}³Ý’˜Í|ü©“#ÚÖ/TåôhÈCøøÒc0Þ†K¨Íˆ)R¸ÿùö&ÃËvx—³:¼ì. ôë 58ü=bѼÀƒ0ªøÒ·;5»]H^‰ÕÚý,r/!½P²'Kg·ÈÊCsÝo Èh›6ÓÏsbvÈW/O {JtÑ¥Î-ùö?¸àÛìh2Â~¹ÙNsÞËÇ´>ü÷߆Ӵ€ƒ#’¼"ÊùóõZµ DM‡p’Í|ç=7¬|&¯`,³]Ý9®ÀSù•Âd?ÍÛРÇwƒˆd ikçPÚÓ? /:5±)fã ?hÓá“õññŠÅjv“È„Ãy³[~ÄtpNT`T×½+S H{ŸL‡Ée÷>œO„n;¿³ Ü´T¸oÃ:Ö¼BÈ}ÁÙ8 hˆº† ã«@V€¢œÍd¯££õ‘%V×jœãÌG]Nò8æX¥ÈX¢ððlÊ|¹:Õu­1â ¤\þ·ÞÁ £¸pAÙ²G’þíœfØÈIUK+5©O1 y¡)ùñÛØý÷Q‘Ê,ß}7ZL¸8ð$4l=÷ܳìãPETr˜>ýµæ÷v(¤ûž‹î;muO£nBî\Îḕ ï¼ù|3¬Ó_™ýI³k i³à¨°N®E,™»FøÙå¥(H0¦UMXS¦¹-Òhafi)?Êîí'»|nÔ|¨ªPj¶r65Κ¿<´e›ŸrÕ ÁO@ÞoìêSò®A¡Äe!¸˜omoõc ›ò«UT§›j06RSö|Ñg¯OBIdHc}³,¸üîÌh”U•–9X÷òa6UR×}.n¢M×L6/öŠŠÚ*qÉǸPéØ" û-ܪ­ÌMEý€p]&xêÜŠŸ‡í¾Éî¨ñ§µ–¦ÕÂ…Ï5YÔvï¾Í‡ó7[·ç×tf.\’êEBÔóg½`b;v¶Ò2rðÐîg1ÓL-dÝyü(ŸŒ[„‡Ïœ# ïý¼î|?Ûïi8& ¡B*ßi|ª`lüýáô@ÎyœI”Í«¿°p»ÿKî×;Û£z`iâ?¼N–ç¹® ÎŽ® 㑴哺2ñÑÐNç5ŠZ)]&$µäHmE€WG玢dñÞNˆ·ŠD˜…Çij‡ãí—ì ­«ö ÿÏ9ŠW\Oæm=f ï:þ:–ó\ Ni (,ò9' _¶ç•I¾áBHíhž²`J$´’üËÂæOôÞZKä& *ò¹¤L+¾ûR i…9ü~öµ‡šJb²9ñ«IÎ~ bU‰ë¼œ®ëÄ ©…IǽSÓÄiœ+Æ]qE×x˜ôéÔÔлú ˆ,éìégä¾ßŠÌ‚ åØ Cµ ±€¬?Ú±Ž¿ròXÐÚ/Ä–š+‚Üf €U%ꢖ“ <¼þRÀ{No‡þTA2jÍõ?ÿË”;³èiHÉÔ¦^…&⎺L圡\ 7ùhCÊ ök™2z±lYÓ0¾a‚]iФµk ÑÆaàìÄ„¿¯ˆ{‘Ýͤ:+ȧTæ«elyXKÊÙŒ Û!ÞôÔn €U•žøHȉVÉóë#5±¯ÌçQ oPÆÕoo÷º §=ùzCŠ^Ž^š ‹7WuöÞÈ9ïHg¨Ðç_õ{E"ãY\Ê|Èic0xÂQs­×º‹ü]r”½PD¿ÓE”˜ˆ; âêF0w ¤¦® è>ó:×Þ]£UN øú6s~0Ö8ÎS¦Ì¢³ßÝž§GQœBX*뛞ǧ©‚@»”Kö‘+:ºN@x¦ z”) Ù8‹| äL"ΞíNF·øA¨ J²H¥·9ØHÏ^±+&ŸÍ³oŠ1´Þh"­š ËàHEÙOtÕÊw²Ã¯¹»+µ’‘ý&…Cf¸”‰gæ²YŠZ ¯UÕDž·I&ôg¢Aæà1FÑqÉ]é Ž,?ÔlÌ«B÷Þùoô¨Øâ“pâ“—1f´"]ë÷ë®Öú ÄÃŽzŒÊF¹p®×ý=¨Vd>›‹Ûâ ‚d|J¼Í6h5¦0Dà÷ á¾R½ß©­=!£I󄸨õÆ4}ä—Ѿí‹úŸ8z`ßBÏDÙâß\¬s6¯;Ä*’{زѴ=/¦\ /F%LŸµ]AâQŽz}i£A·²ŒáÀX, QÕ·õ—]Ñ¿Ôr4`+¼Ú$î©’ûµí âΕb×M¾fËù~“¾ÏØ{Æ“i> W PsyÈ-ÿ€Í AÀ!º)$ŠŽ‹ÒðT†,‚2ž»žHýøôÊÙ¬ÓÄ:ÈÆ!4.s5c7‘ûnBÊÔâ ¸z†ç£5iozƒŸnãë7—SÍcÁÈÞ¶ø¡e° R¡Ò.Ź*éã#œø›-uìWÿó&±¯Î_§ÌÌ5 ‘´3T×â,ÓTB0µkS Ñ»Ì¿@¢«ÕÝÅÙ½¥ˆe±ø /“D•¤¹³þ½\Uñ“fè˜uÛðÄ#9¼¢Ô-¼›áIY‘H%DxÌUX§ÒÚì™U³!Iç+÷Xö–âÛK…[ÙËÖðÌËàŠw5¤gF÷ñJV>ÜB’;qbÍÈÚCè~³:&ýÉ3ñaðD†SëÂÚ˜‡ä޵±F8Ðÿ›Y™š!̃qy¡õ’t(ê[y¯|_BŽ2衱—òD³ŽÅEçÿ®A«ÔÛk¯AŽ’½†œ$ Ⱦ—2äP+Ûò9b éÅnlÈû¢Ö T‚Hßíì%Ìkðàh^™&ôJE ¼ß½ºË§È¿ßtËЈ¹ XuÔœ½ÆrVÙ¡´é›g%ÇÃï)STAÙ ÍP„¢@˜?/ÒÍÑòV"_L:à is‚oi‡Û%VéC l@‰-çG *ÅÇäG N‚l.ìº ·%ªð<">&µbdóþ+JC …^鯄ì!TcÊ…ä¼ @>eÁ ºK ‘ÄŒ0$Á B'/{ñì|4hXm—"lØÔâlRØÎŒìù‘Ñ §käÉ–\fÄ*û­å'ʲèLÞ:NŠ hÌK­·äÃWÔ2uÅÄxYÎ >ý«éÓ×úhÝVL.§o(‚àôø‹¶Ü?ç˜IÖlºqAA?å"SÉ„ÅKåµÖ}B–N\éÓ×hä˜)*iæÞH¾šÜ7œáùŒËÓ¶åÊÿeªõ,´ºhÏN€ðE‡á+þšÙº@° ˆs86¬ö7¯>ëÕz>ùÑ¿ÒÚ<¡TÒéhíö&H«PRnlÙ„¢sÖ>é6à ¯Õð"óõ¹ÍÙæ,ÉŠMtóØle»è§]¦…Vªe p©·´CT ÐB>:Huås4î ÎΫ3KË©}—Å„ó+àô±ëÏEWí¢=æœ, .L…Äd°›ùþ1Ãÿ4Ár’À »Ò!‡ Hh(íYi°û­-q\RS²*;“®¸¥ Ìòà9bR 6¸À¨úëôߦPÍÊbUm™}ì*6ÆïƒbO&Ú°šBkµzwÞ•7z×|PúfŠ(ã÷%jH–Ž:“´<)¼é¤»Pu`óP<Œ ê–zOò}8ÇcŠgkôxóv?ÞG²è%N[Õ9dvÂJαh?_×Ê(×·ÉûÉD¿/­À„ÂS¡Øw6Ã'¢„pTè3®­ø?@ž™¥Ý· C?†E FS xÇG\)\K6úlñUƒäõß‹zuŠÙã|©¸Ì“öu ë$_ c(G¤MNÉT²54Ï:°ØK}a5 å°N;)å“SªU×4”ÔÂ^̨*Y½˜ÔàF|â\vCƒ©Ëo µ{‘¡XõÈ~=ŽI‘F$”$“&‘Ä)a=ru!¿y1áTÊȶOèÁ©ml³ƒ  Œh1 óÙÒ…ÊëOMÛì,n}šbm‡4NkH‰¸F½nÖ»G¶?\®†ÛáÔ‡òàG¼£¶ä>ãâÛëÑᤂjý šÑ( š4oÌʵS¦Ÿ©:·‘C¸Á ° OÉjL½Ë§‹ðº>¢µ¡8%ÌŽy2 \â?`ÔÒÅ*‡}MO’†ù“ƒÑä´à’ÃücÖABò|q®W7‡ÆÒNÖL„Cž°3—ᜓ¼îbz:˜|zÄ_òdQá•;§X`L·/VT×G4I}èSWÜTX1Úé=ú–Ñ¢›e;ºéÉv¸¼½ðV‰ÅúPÈßë:üú¸õ¬–Íéì¬p-×¹1$Æa.Ìf¨Š®ibÉxB´-yŽVöÚü¾Œ 8Ó§gáné{¨G4=œˆ¤!œ1 ßUg>WöÔNï‡%Ïcƒ fºÂîŒë:v臲êò£APMo¦“•©îû”‹·+ SGî#Ê»¢ápdÒ)=éTÔ‹¥\â²lˆÅ餯TêÏθ¬ s«t9úB]€Ÿ®]ÔF‹côé0-îêûN}Ñ(þç® —~GÂÁææ¨¡Ÿøî¿7³øúÇ^CË•â6ìè`s´· ËK…ˆ¶h,Úb•©a:fëÜfl.[¼á)Ö•³piaoÚ ƒú£â&`n)[_ ŠAœ$Ö´ -!ä+ÿ½`¾y¯ñáuu_C¹X?k—[…®}:ÛxËà êÇ̵¯qc÷<¯zÌÙÔìêF`üîN¦ŸQkͰƒÁØ„¤lÐãŠëîNãôQ.)ø¾J³P†ƒ…îæ§ÚÛ@ 3阅#²“ævÔ©’/\ ¯Pu-§ÄÁ1¼x¦b‚yD¡Z™Ùl°4À/\zØÈ㇡)»§8ëÉu Ñ[nI‘ö¹ dD´Pk™ŽQ‚åýGìBÊCkÉ&‘Ë+ZGì!9ÿ½M‰R€|RóÏ&„„ÍMí!‚høèýͺ€ÕçÕa³¿y^qöZHÚô>¨ÈÐHƒhÃA‘IP¢d:Á·ÿèžÚtÙ†zOs6ñyàV gõî¤ÖÏò/Ù¶ù…™gÀÚM¿wU»ŠsMgU)ÎúÀ÷Üzu´é<‰¨eL©{Z¢‘ú 'ûÍê§ È¡ùÄÕ·¾‰¹t÷æ+± Ê?W̦ýif-W_Œ=âMhTÑãÖUÅxkª¯ó䀷‘ ì#rƒÕTb®¹ƒ"IOÕþÝN£,#ÆX–4!Ê|¡1“T£@¾Ë¼™l¾9“Ê—Ô)ׄöì•ÿÂó¯@8Ÿ½©Å |8êõêôÌÎ åÌâÔ©¬,ž“ûÙã“›M a¬¦µÕÇ9U´<¢¤8 ½<3{ÃÇu´ÚtŠ&Ž[ÛLó}e/§˜0• ¾˜+Ôg©ñ‹‹»þV4WÛç›Ëtv²:-ÿ+Ñ»¬åÆh»öV’Wg 2dÛ\gÏ|Û‘­¾2R2°eaK5›Ñg¶~.1\†±§¹ä0Ô[»œ/EÊoÞü<$† zשׂo‡¡W ?Œ+* `úObID¦Ó¼h£nYç[ѦFp>n|ÐÁÍ=24¥}3É+c÷¯o¬±_l‚Á¤ˆÔÝþo$çé?7žÎ.`é©FÇ~m–¥‹(»gu> š·X"œp|¤Òƒ˜–»¬ I—Ê@³é¡jX4ðL3¿WCz©™ 7?P½¬ÈÑj•\Ân˜T]a\ò†!'ÞØúÄlÏÌ,óHʬ]4‡añ¡bÑÿ9þ:6€­Bºzñ1»2¨Éîá+ŽŽ§ÁÙ6KIÚ®}û{ ­¤ á CöóAEÝœÏP5B♊ыoVxã|æ˜>Ô‰ûMÞUí……Wˆf]—¹æCµ²ßh™ÇyÝo¶öÏ$í>r†îÙ@ÅØ·tHnx«ÊüOø®UsƒHÀ^Zš(¹ï0Ð `§°8Èý¡«ÎÀ±çÀ0¤O6L( í¿Y Þú¬-ì çV“Gm#3¬o}Ò* GŸngW‡hÏ Æp`ÝTf•çO\±«Ž£âë!×y·eðïÆPšéò&ÔJ©¸ÍšºR„Aô&/V*‡ZOñÊT†tƒ¤l°Un`Ë'ü_Å ç×mÖTŒÀ ÿ‘ auGÿÊ¿7úÚ*râ±$n÷Çœå;Üür*1ùýÍŠZu ü«Ë]?Õä4!­øj„ˆœ{.vCˆ€|®G&×𨲅¥q¸ýÂ|Gâ.œYŒ-– ™õÕ¤W :Mí<Æ:ù£e3û`CÈïÛÍóü#¶§€9ïõypÜÎ{·Ô‡,÷_ï iönX’àV6cRGãDDTöÒ* Yš¿ˆHœ‰÷ER,i1ªë²WS)“WøA}gª¢aâ¿ù³‹ôW‘^‰IÓ6õRÂa²‘U¹ºnïVÔ‚7¨»–‚Ožæ<’õê‰K—»¥(º²T¬ûÿ½UõzŠÒ>kðã~ÕÎjæ d@Ÿ(qÉ[Ÿ’²;J¥g¶ÅÚc fémТ|6@wAwÕ8i¥#ÒÈͦÝIg·=rçë÷cⸯ4€|p>W{ÎÝjÎ×’ÚÅVº‘µÏÞ?ôsL$‘Ì?ß¶8WÊW½á€è*ã’Ùƒ{¡ÎYR݇\7ì”éÑ’´y;,쌻úJË‘ÉÊäu©bOå¦bVÈ'2@;¢í^¿æ0X—ìo¦(—j?”²îÊô‹¨›«v[Ò¿ìVšfåÎ2S ^¥3dÄR𙬥òOö ›ýZQ ÃUoíJt žÑÔo½‹N-:ƒG‰ 1 ”þ€Ÿ è¬Y÷ƒ$+M²­‡”¼0¾Àì÷aú¦êÒ%`¯áÎà aÚq¼ü`í±ZMo' Ç” §…gû2¸B†Æš¦ì!ÚFRK–%Ç_ÞHô˜¿ÑÑÀNöŸÈC…4ƒáe¹o¼¬úê$Ú¸_#Çh?ʼnsµ@Q­“4K $•–é"Ô|\YÖJ–0 ÚÀKíË+ðMƒ‰˜•)QMqk²ÖÌ{‰éð/‰ˆ¯%:FÆ~%ÿ6y<=@ W:Öw¹sÉu5æçJý]Kѯ:Õ³œúlöG“éVû¹¸û1e<Ùþ€k…Ý}àÁ¯p'ÓŒÞ赫1ø!‰ó¬q:I„\ |ƒ•ãÀÛ)¼Ü¢è»99‡vM¦<; ¾@àÐ’¢ËEËbézäë;oZ;ÜEV;V´™®û=²° lh’|ëØÁê%¤6!ŽÍu¿&D°`^ƒT»®·åšG2op®¦Yi=Z­b*ž["æ{€û µÕ°~±éÂÝNBÕhE—ÒÖAUœGlR+ípc˶ œ}ʧ¤®ü^•0†‘—|FS¤„%ÒTºµaç2ßw|!ÿêê—V’c¸=õpý”z=ë£ê qB‰¡Ïnîýì{Nýh—×zf%Á+cW¸äç }Þ/$#£'õY4WæB=úÒóÛýe)Õû\>ÑLK Ö}ökÁDë ;qpÚ$%s%nIa ¤Á¡ð¿l*‚üµD)d墡³Ùýë²Ï!æãe*çÀo)h6C=ÜÙïëüÁÉBz³·ô6Ô•ßÐj«¹–`ÈZ¦î¯r„ô:EU—»iƒ¯Lt(/cql‚èü»þ&›gô,ÐÇ¿€£T>j~öÆ_#ZA…U\s•¤ï¢)Ñùß1?•\«úHmà›ø ’¤¨Þ¢åÿW4§*zqˆüêVX€2Á]A2¨s™zA’õ·Ú2E7¶Ê:RC¡Ì žˆÈý¾ð¸×ƒ!$JCZ÷¹¯@†!_— S-Å'=ÊíU#G (?C«ô}±¶KÌCrîcDœ 186-É?>ÏxÖÁKkŒ4…­hÊÅÚ/ŠD)¶5–#ý–™ ó*¦+~ŽN÷kþD¦ ÍÉKt ÿ½@_òzLþ¨”›3o,vñä d³D—rHícŒ×þ¼åžÞ¹–õ “<LJoº\¨Ðß}"meÿKaî¾7Ñ0hð”¢ä׌ks?'Ee]‹Y•—exmrÒ)÷è½_¾Ž·P6 ])h<“ËÞ—!ƒfÛ3"COk²vhñýrú_qnj‘-…¡‰ŽÅ›”à@¶Ü'šŠBŽÜºjZ âB3w@RßSÚŽ‘†=ÓuhÊRTxe²JE5SÒ³îÚöõß (È-Љdª0ܱó_ÞŠ¨"sg‚Ñr‹Åj1…|yào‡N@—]`€h<Çáô6Ã<ïN†Tªg2ÎÊ8/0¼J‘ÓÈòb°ô±=E£ü“§ÖÍ„ô,J¯GS{dªùVvÂyXÞe•TÐU\\R“¡ f.rî°)âS’ë­þ€Eõ6‘wCµj£/ŽVñ¸¿"+­Ëp.¼âq%û8m‡À“H+Æö¡¾íÚ/ªOúVøêÖšòÓÁ-I!’QÐßéC Óò'eÓ˜Q¹œœiqf«:ŽAÕaêi Näôr½p ßZ !sˆ'7挊ëµ~Ëák0·¯¦â¾Dx U6XCºp›äþèYùÁD9`¹ÚOËÃ<»l&¼3C]„_6q†¶eêøˆ¾}Z$¼¬ƒТ"Y"Ŭú6ÔyÞÑo„>ŒX#ÍàzŸ@ N5Úá Iúˆ×=œ™K×?qÿ“ EëOŸÕäLµ0 ¿g,fÁrd'tûØLüs}à‘Ô¤£36.ÝM.;,]¢œ`Õš`gÆw‚%¹±­{R§¿AwA‰®;17k˜±˜ŒˆBýÜà3븠f-aO÷AF/äÍQ4bïGMú€uø;âF׳ïüì“¿=6Ãú•p‘ãÙ­Ý\°åB›òs@Áùg¤ï”sÕ–]:L?3rõ2eæ‡ìÿH®qãúÍxOñÕ„ciµ¿1oÎÍ»’à?ö#úØÀ†Æ-wº¸hâ«*èCŠªù ,Ú]v…}È åv®P~¼ühÇQýöÜKàýÀa-èfú¹ÿŒ9ú}¶ŽX²[6¹’£N÷zTAÐ5;d¡ÿ ¾¶íZ{s¥ÐåH%â{ø=™ÜpJµÅ°Ë¡/ÊrßP~u$VTeïöÕW¨jèÁi,”ÁŽmð6䧸5=²(²©ËÓ»\ã\g±Ñ&àmCÖOÜ„/„ºÖ#4÷UJ¼Ýž]¸Q"¯Ú€oÃ"F‘PŸF3KNK*ñGx5ÐÒÒ{Ádò†C$1ˆ}÷(2}tè”æ¥UÌÚ;aøð-Wr£ëR[_}ãÒr…zÚr²ã]ªÌWµcÁ4ÚÝ0°½²ñz¹4 Ê†Tóö¹»O}JmÛ4r:xúÿ'×B†éŠÒ4Â’á9œ¿ÓecÞ·™^*;èY­\x:Iñò˜ÿÂq¥C¤!ú Ð0«µ†°5:9{Rèé‰'Í@;öBA·¥ ðVpˆ5”»#sa51k*URòwJløÚ,$ëÐ ·«3Ãù)ƒk ¢ôÐVÝG1ÚAa3³–­`Rô¡¬’°¸ TæžÍ‹PXôÑÉ*Âá§y ,_dtìëää_ Ô4 §yFBÊôÄ Ê öÃ…_gäã™ïŠsºžÙ¶Û\ˆš¯›ÔAÚÞY?»^ûÙ3j¾pi zàýq•\_kiMŸýŠ{ÚÛüÕ)Þ :Æ„+ÔuÜõN ä‚nÑÐÞVìÑFfÜö}¤¼g­lŒµõÀ…$E‚J‡[mžÄI]ÍÍ÷ÐH?‰£¬ˆªÝÏ— ŸÇA’<`º§¡ €´DNƒ;Ù y6/Ö–ÅSlé07àj‚€#>÷ObÒá|µìLQl´ö½Fö-Ÿg|1¸En“Cy¸±u&2hÆPX1?¢}§Û4UzÏ¯ŽŽ–:–˰jÅÃEØQ y*ØG ìpH T…€ÙÇ+Dh/ûxºÀ‡C…Q€adûh"HÑ‹MJÄ—ðÚZšAψŠXÊc ×ÞQflÀýôB"­3QhDÆùŽG§(`šPhsË!¤C´·þýó†2!®à=Y¼ ŠœÛ¦cB´H®¤Þ€ ¬wõô¸Á¢xºiQH°9>[ÓƒX@\{âû­Å_õwï³+øU%ž©¶¹©we¼¾A£¬³«:rÕH3Ê CËH™±lPé¹›7ß-çÑ÷4;|Qõé7¢š›®ðºÖ,Æzy:å~ö®™K[{RK šZ¦I—Ë—Ò4\oFÕÄÃSä¢Oƒ[ÀˆŠÍ exhïtU'/ÄyCqïåÈ¢;O¾ÉΨ(‰îX¯±ÈãáòßÄÐ|Ÿ—†=ÒlóþBEùc3#ùª«ðÈ&£ 25Ï]JºWë/%j—pk–È A¥øAXnr íÉžçqýîp’fûeÇo±ü‡Á¦Ój¦6Ô¾lDe V1ÚgÚéjÇöGiKFݲ ™ J7ÛãÁ#'·Ïzå ¥¿´½›»“—FŒ±æ}æf‹˜ŠCê?E´;ó”vvœè‹1ïs‚rSÿw'ä?™[û>€ª Ò¦`Ôd-¥S/*†&n~^NãÆ¤eùbÉû–¶•aõLnz·í”^BlHÅl¡ \Õ™¯"Jµ&&ïnûfn¿,j ß6·*ðs?ê‡Ý™®Üw†TYŒƒº8GæŒ~‹Õ¥Ì––.“úJ´É-¤…´%Šî¬É{ò,*mïÏÿVó~ãcÒy/”a…\啼ÚÒþ1béä6v&©(iä>hJð-®‘Ǻ%WxÆ ¶áiYñС‘j™ÆM'}‰Ãä;B˜3&Ì~ÓüžúKo ö‰’Ò½žC´1Aг£ùUuÝ4îãÇf“ü@¸þ¯íˆÜ“àÜFX½Ê Ù²î¹{…´1BÏl^KûÓ­.@Y—?Ít,KûÚ–ÄeÜø{çSå¬%*^E8³”ô-{=4lOþqAƒR»%?˜Pœþ®»\ü]× 8f˜;¿|£Ä*÷&YLB{{»ˆÉ‰5-BÏ”ßÜü½'ŠðIñQS·­v£÷Ex“.»_ëÏËW“XCÁWõ!a2> dSÌó€'/9B'M¸„jfgy®Ÿ2ž»áGyÄvu¤;¼¬vÕ€×_Hç£c2_FPx £Zw!¸‡ÍLØUâoDéqo"¾ïf%þ&]ý“qRá¼Ë¥Vo«LýrQa •Ðà |ƒ^ (8NÓI‹ìLï]û¯Yq&•BxFÃ#Û8‘¡ÈÖPhì¤Q êöLJ“jWšù–àWÌ–«.FšEGFD†^Äö_›e•}¤c oœ¶ULÔGI$”ðÕiÜaŸ¦Ð³'<Ô© yÀ;ÿ‚:)%„tDÝ—Ðþäå ›aør@]Ç{SWš†¤i#ïö„DOüˆ ø¶TžŽ.×÷zˆg½aût÷ùÞCæ+hÂÜäë³d!6`èØÒBùÑÔ¯ó'D(@Ú¶ddDIðÕ@1&8&¯WcàjrHeb{ÈÂ|,òƒälU=N2‹Ž'íU"ƒFxrTG]”¤ø‰>däÎS½n[õá{WùÍg)«8 ›h÷†¥1ÑéÿšÙû›ýüÕ²ƒEóøO+AVùÙgŠÙ­&hãIV ˆê'·[Exóœpúi8<€ä€5 :˜æh‹E4wíóãæ¿ÁójØêjQ÷Ú 5ùœ7­J¶‹%Â"K}cVÀ¥Ðgß­9vX$T6OéM„ñÓVB«³B܇ް+´¢/òL–ùU{=©Ìè3öúD`:ýüÌo½Î¹Ï'X¢þVhôb(‡´â¨6“Ñ·µàÕˆ5ÞX`è”ʯu¬NYz6Ö]ËÁJœTPV³½´“å¤X’-ÄA3ñê+œ„dù#ÅŠ²‡f-H9›a#æÚT•í Î'+c¾1Ò-®8oæj/¯vžÏ{e‹UÒaQ© îwÔ‘²UðXr<‹±sÛzjÇ!72¨ø=¸UGpX¥3=2|#d×;Õ‚…kÈÚ´òß%ÏÄæ3¿ç/wI€þXÖ‘€gF›ÎdÊÄ[ˆߦE×®†“S?ËãôY…6«t\XLÁ±Û±r¿[,\îhýºGÍÏ™uå‹&¶7C¦d'¦·-[‰Ï‹ð”3‡ã‚Ã;&|)1Õ÷Vø, ¸Ò¤ã(ä¦ö;ýë\,*…Þ)¯Š ‰pwÎ`l3õÃëôÞªޣîŽóh'î¥âqM$¾„%C¡áC…¯¸àÚ,TlÈy†Ä×*à„µÊ–ŠŒz ¶¨)h }¼±ß£©ôiDÃnÐw‚÷á"ʬô‚´=Û±i±‚â¨wxSÞ«DùŸ,êdfWfÊ-2Ù!w‹ršš YâÞ´&èÛ‚YNštB_‚IoáU¬(Šg7ºn;Ø×/„ZÝ“Oƒ½êÇÝk•¬^·èáÂY¡‹·ªëÆìÇÀ£òÐ௻ø÷Ôzúñ9ê¢IÉl…mé¬J¦Þ±<°› ]Ûþû"±…" ™‹iKQ Ö‡ËÝàH‚æ!Á:;ó²•t*Þ°™[ÕDÊÄm9°}^` ”:]þÈ€Âkп×ü¿K@Í•4®Ä@}§ü11GšW|[ŸýG›Ú'!B‚\΢s³ö í‰Û@÷t”‡UvÏ¿ªr{hÖ$9Ó‰ÚY€ÌM„Ïì˪–A­ê|R]Nš<¨'кˆ'‚óMtškíÞšnv¡Ñ_ÄEA>ìh |œœ"(¡Ug‰‹©ÓŠB×#Ôz¸@?ÆÉl\{9·Ã!‡ˆ:^Ôf‹>ÖTU¦N³á þEéDïPK%.ï·ÏE®ìªÈ 7Ä—žN›Ê%^’Ïo.eØ2dÂ2)[G{ ¥ÄKƒA½®9b|˜›ZheÌyÔdhuol AJ’>O¿^ú‚ØŠ=EåCÕBZnéÌá`ùç¼™âЯ%ÿ½UÜÎ)§DVÂÎs°?ßà7ŽneWD iyü{Jd9ó¬@’1;[¨ Ã ۗĵéxf²ñºhîÑ¡„lAºÅòÒì+%¬âf1·ê.É!&¶æ·0¾*¢Mb^þK—@ºw†°ØBÃà-ny b¥ž•â:•éû@þÕ»Þ2MéÞ=¢Zƒï†Œ¾¶â‘¿ÙÞœwF[´i- svêì0úm·jxåŒy{ èï{ l·$¬ ªovŠ óÉ¥FpWÒpb~¼¨ú¶q:«f¹®Ž=¢)mòÖ!5QßvXû?ŸŸÏ-èb,§H±`sÕeöBJ5¨lƒ¦x i¼­±Ã,²‹ç‘„úUc‹Ùú­GÁÒ OW8!‹L>ø¡Þ6`æÞG¨7Éc.2z|”«ˆ‰jÁ\âëLMåÄ»€.#o|J½Š£Qh‹y,§ãÕ5@ou!x¤'AÈÜ“’ä÷Í'Îfå— ¹ÈtJ`§ÐöÉʧ7(°ô>a„ž ƒ圃à7vÒò¾þÂÉSãÝqå=Ê‘3G@Jæ{ÔÚ(Û±” d®ööмØÔœ ÍÌRGK°ÝHHš†G†²4óG:ÖY×± ³@ü ¢w³£YŸ‡šŽ6ÚáFŒ2h$Àõ+5s^@?âšó­ÕL)]>®MÊÞʯ”~µpê TЂI$;¿t8ök4‡•šÉ¸›?ƒ-ŸÛ¶„¨ˆÕ ÷I:©Ñ u NÖh[¤‚ ³4ïÓÒ”(]¤oá|PN,f3Dv›…B¥dâ XÙ¾).eyåºñ (VX‚¿ªsÄðÃ댵WÕŠÓÎøÐ¨V_£F®ù“€­î¼cbRèhšÁ¤Ù—žš¦úþ$ˆ>jÚ"$Ågéž…|éëç,È&^tL9&ó!@D¾†¥6¤æ|gÇ[Ž®{÷üÒ¡3nÄ,5¤ïÝø šK™9Añÿ£åsTé±lÕq4 8¨âr€ \zfYg×MäÖŠØBP·´3+ObçÕŒGæÀdßb¿æ¡ë8[AT§ËîÉ`^ýÆ"ØöTmt+J7Š—B¼í-r#H#Ú²z¢Sf6Z6ô·l¦”òGöÏ¢x8òO-ó Fn:ÓrÚ|"¼lÜï3EݼÊqŠÚÖ^q0¿ÄÔÎgLýܲão8jߣ…_E. ¹,»`µ]o6Ÿ¸y"h;ÙÏPp*‰¶E=Õåø‚–s×h¢?%Ó_æãF…*&ÏÅi [üÒÞDÝ·F¸¯ôNšÄ*IÀ î;cZè…)¶BJ‚äæ0106 ÒÓ(Zb¯Ü[‡L‹çâµäû餣cŠoš€/˜Ð®$â)ŠÞ÷Ͷ½²'3"'´qê;gI<æ¸]ï«í6ðU>Ÿ+$ºÙ¦ Ÿë2T!¼ŽPÆž L‰€\g8rÕéÕÿB ™r—Dr VO!ä7v=z4Þµ¹  6N²C Ò»§Å•[´}hÏaFWÖòUV{@®ŒBÒz;A 2 ù°Á`±ÅTƒðב3àíI‚KKCrܳ›Ô,C¸³Ñ¥>ôî:¥4æÂ#¥Ÿs¢œu-ºØ£)þé£Ü^:b¥(XÏ!‹·-J‡>mê!œIð”³XÆe(;¦Ã4[ògÂ5>Ì‚F‰q Kò·ŒÏçÖÃM´-¼`›‰1óšÙ{•Q‡‹}0.uÓžO•Ôµrm­á‡ÅÁ–Iœ‘iáž±×Z3qi:Nÿkà¨ÿ®eâÀ[•‰ܨ“Š.|øª”úÜtFÄ›yv8ÊdöDf°™æ/?òö)è‹ÝáÀO$— pwÿööM 5‹nŸ5ÇÏucB×ý’JÁ4%@¾*!ꔟ¥÷îÿÕn*þëthGVuÌrtÚÁ~hÀwx´‰~íÒ¿¢{Xg®Ä~;¹zVÚÜr(ËM{•äs¯0¤É<,¶À|¤Îx$7ûÊNÇàwgV=É w$8sÔëýM*¬ÒÐéìUqßÍ{hºö6UAêé'ßΑ—ƒ #éŒ! o›¤€ÄHëÑ"8œ€ú~ÝáhèT +nÉŠš)'E‚Šß¤nã*éìÊ ÔÈÎÓ¥K]oX‹PN˜>8žœ$c’yb˧À%S‹?oÜ5~‰µ©|<í^ç ‰-õ†•=5΃+BãDísìŸ 7A›é„ù6U¶ãî±VuÀOJƒj&÷ ÜÛ-Bl°€4ÔtF,B}¸<¸ë’Δ«3ý×­®ò°û¥Ê;Šqxet°K£mqþ×x髇 &ËHVÀ3ピ­Lßù0YF®xˆo çFñv)S%¹!ð¼Íä\óbš2Œ®….5/k‰½ãZ‹IKZ®—nÇõ‚ÖØÐ… UZ=Bç‡6Ἰ9ÞáÛ˜,ÓbÅÖŸðJ”¬wmTÜ©‹ 7ÈGo¥ï£‘MPE% HB“Uhl/pY;{Ò™$7h…ƒI{¦þ$‡çœÌˆ?‚qX2аÌÐ ;Ác¤hÀësÆA%Ðs‹…?Žÿ?æKÄ&‚ëšÏ3²X=zMü_Ùš«1‡TÐÁÚnд¼k­O Q6ú{_¡ŒTVô¥'£µµAã‰iñ6)Ù ªz=/²Ž¯èDN[üí¡½Cˆ·ïr‘á“يÚaEÜXài§~Àì ,ŠÌVe@Æ.{‚°%ÅÈé£Á`5Еޭ‚ÚKÈnÂÔ¸jRâÓ´².üÐÉ×%HëÈô¸’œÂ8aN“³V2ý=> ;ú’…œ”o^ åIüm&Wr=³«[/—j¾yØ÷ðUkq¼Ì“S <ݬsÁhœ,xYç1à’UÒ«ãÇÒNômZyG€œcä{Ä“_~qD ftóÄBËFñocœëG Àfëɼ°Æñ6|);&¡iÃë»ÌþA}Zq†ŒÐþ*jÁ"•sûÎyÕ1Q(ªß„f'™`E–=(Õ :{)êd‘ñ –æíìÀ7èAów!‚ßáš²~Ór¬üSèe2›úÍ üÜý[?ÉbX.^ä§1ä%0ÈÅróO kó9d˜ÑÙEqŸƒ§£7xzSp¶UÜÐrôdÓpÔ²È,K?£Èobþ€ºás9+ëÄu’îm¦V¸ñpá]±Ó W÷A¹»ã»ZA¥äA¡P¡ds0½­•¿DÐr¦Ð—vMK/Æó• ­]hᇒ‡æB ¦ë?ÕÉ’*†r¾SAÛò¨/ºÔ¥‰VE‡ÓŽ+}Ä7‡/lµó7±ÈÓdsb áG¹oG!…Á'äd0FXš®C&7öƳ;J]hæÜâžXó3¥-GhCiÍVL7Ä ƒIeæJÛˆÒ-Ä"ô% ‡„}]*‡õÐmÏ©^¥À-ŸŠQ½0a3s`°mºhõ‘þ¬^RUδ§¡qÍ«áVw hô4Å2”¸Ãm8Ì—%s›o!!wÔ¡U8>£mCgSô+2l{L½^âe‰ž[KI„Èû¬8bÑ+c¥|o.=UïÓ¡¥]@yäW:ëþLOÛ]úXZiÿán“.µh#©0øaaÜe oÓ¬À}oz¤°hÙö1×jÐõœ¡»™¬°n^ˆÂêiv÷­\q£Û›_U‰Ø~ýÔ‡f&ŠX¶Q(‚¼]QýJaÁÅ¢õ3FeJö7Î=+ݶžÓ*xê>tØÍ3ÑÒ ø}Rþ›ÿ8ÓGñ‡XõÖ‡ž`ÔUüåm |aeÙ©ñ† pÞ%Ïì§Bq‚H+âø“ÉG,+ÐÞÊô$?À ‚kHb]@xB7Ç4Fʃ2BîÁ'¿f«-õ©›~™tDÂ7ìÏhuqiÖD‡®ˆ|-Š­ç—h¦§xu.q* òMRȰ_|to« "é$’Òº. €|ó;‘r¸;Èsºdb„¤ØÄ#ŽÔHíäuá4jT–fˆ¶ÏüVä/Óaìza^ÚË>]l<*ñ…cXUGŸß YÈyîæì¾šyÇèçºá÷ÿ ÈÇ3«Pm×ç¤nÕöˆБÏeˆVóóÏF8uKo]dß ¢`¡«Ëuäh>æÞžG•©Ò†d¯“+ÒGð(öD7P‰ÓÓFø¢5üHúàmâG}zV+‰ƒ€¦%¨(shq(œÿ>â›ÇCu–`À!NyU³"§ªi÷…ƒÆæú Èóš˜è‚è-“3;«Ýy˜CÐ}q¤ÅŠƒq4ÎçŒQŠïnÄøŸCŽ”o’û\)g+˜ç­G¥Ëév7—¿±û ¥¬µg­=å­›o¶ûå 9?„Ë}¶è&ÂÿÇ¥ýU€I‹ òhøIë{Ðtç'e2 T·í´´“Ûrd´£C"b G]ÇsËLª(XK½¯ƒ ¥|>gdF·.šøh®I øHIHÓB|ƒÉéƒã-Ç‘É=<°µ’ÒzèXðÞä½*lÚÜBl;˜; [û¶«G&—Œ5“|ò(¯­Y®Jž³/3‰cbØßümØi´QMÀ'éV Qú;ô6íÝ=­òìœiŽ¥ãð>Á‚ŒI /it¾k«6?¯ØªÝßéç `XÜ8þwÉÿ»Va†:Ÿ¿$°PæmϳwHŠîá œÿ8G«ßû°ÀNý6™<d˜T7„P{˜&|̆Ff•4¦ BåÁ•².:£JŽÑŠéš4íc,_©q{ªéòô÷%½+ÔÐ;VBr¦[ä8ZcîÎiáõ·GÍ¿t>q–Õï÷°WLKÜþCÖÂÌ—Ìš‹ E놊ýceŽ2'h ]Ü zÈâ±[eA‰skålÌø¿ˆVsÌ•oÇÙÕ2J*…Œ¿?‚>šÇÜçûǬ6õ~,ÞH“®U𿫍°eðxk¹ãòFþ{ èѮʷJg$OâtžÐNTòË’TÆìªÏ€Ý'ëÎóMæDšŽžâêïÔys_ ÆšàDçrJ£Çƒ„z³9‹`ª#ìÄO¥niù ·‘^Ù÷µ¥‘K²Ø £bàÕqt)`ÓPwlëªT%EwÓ£'ÅÏL[GUɪdÃ(¶#€Cí ÅeC¼Sþ.ã¨Îà(ÍŸ,_;{ºÒÖ׉6‘ˆ\:Yóü†#$ÜÜ2‡¯Ò1jŒmù²iÛŽ:žYâÑLùµ7ÜnuñÕ@…„üÀ<ÔÏÇêÓÝS×b 膛Kñc)oVËFÛÒ¼¿ˆc£-Å]šž>ÄñÃÖû–}7ûRzhç irEyðSõ'Ì.Û>)–x‹r ¿£4ZXEtȲNŒwjBœ–¦¥ÿ÷^hïD nqîU­G£ðnÞÖ`è‹åpÄt¦ýö抔8ÔÌ»t @Âxš A²®i Yª:á»óx†CãI.7Toág‚ß7ÿqÆW P¥´A”~ØeHØ·úˆ_.KÍ- 5²ÞûnU†Y"óDâÊÈ·ŽPm&ñºÕò–·ÒìgÖR¿EŒ?—Ų„·ðUš6Ý‚–£¤TÃÛQðª @~Ê·á©xòɮۊǖ¹XÃûÀ•Ȉp»d½M Œ¼_89S;žôèæâz £h³Õz’Ó$<œ%BÒ¹™ìG†ÜÆžaúPó Æ!œ¤ªkuUY4׃g2šY#>ë ôíÆ½›9†TÖ}‹ ?À5Ù&ãBÝ-¡k|£C'“ûì§Ï­˜" …®k ¨šƒžjQmEó6Û·Å)Ù^æ/1úþ‚§rÀ††JS¡—ÙScf«$õäùVÀBþ¸"ÜPÑbê’çÉ#,ãè°~Æïd!OhªfINOO^Jå"ƒ[¿Gáí.œ¯4 Ön­ì»0¤b)¸aŠ·ƒê½¢ î8&VÎEb¶”ó ²é©¹îɦÓöÇOŽíVq¤óe0¶!¨í QÅ Í>îD+}Jì¬ÁEü­*ÒÄìŸCSßÜ"Yh&£yJ•€ˆ<¿1ŠxÏÓ·[αÇ::)•ÃIÈ­©íUBà;4ž-8DÓ»ÑTç主 ”p5u·aeîëOyî•Y§Ø£¯lnZ ˆÉë?£w‹ç $sì¨z/$çÌ-·MÍW¨ŸøñÝ}n!`ÕR!$VŒO•r¼:¤xû.±;23uÿ„jV›#……xð6\'Ÿ ³…ï|\r•Fä¾î¬¿á‘­9C 9ÄOwá-—Ø©i:íe䥽#™©ùd±øô¬€W•@—›¤Ð—EÀKlí·!7Ø×¬ROåU Ö‡ôx+5C•ü“Ÿ¬’’XèZ¨x§¦qnj½–R/úዺ}ç)]ÃÖ¯m»Wy’m C–¬oš,ò•´↶µæN•¿ò‰¥íeb„À`¤1©N„Äúr¹26  åp¯DÂ÷ž¡!ç€%J•nÜç*Û:0Jœï§î¬ 1Òñio} ¬BàNða6T¡ÖHÀvÛú^l´çis5 [vâ#`ï*ˆfóGÛ»'uE9„»PÍ5™¥6C¦“´¢gp¯ú‹ž ÊHÑšÊC¤?Œ¿ÕÆzƾ3Œ ˆ‰Ï¾íRbǦŸ„©ÎwEw.0ï/•®S¤¸áau•®MO:ÒËr7öÔ¥î $õœ±÷{°~3ø‹Ê3ˆ®íàA¤1 º?è{‡ö·¸JòcDy2É·ñâñü/#(Ù¾ÜpNµåX>G¶*ÈÁæÏBƒofäàö3騺²Œ ‰”„ˆ'*YSÑ*ybþrVÿš•<ßnßÂå.[*~+ØuHsà¸5·8Òä€ÿpÊ ãó§ýM¬-H­1-ÂÄDç+ ÿpXŽÕ†“’È^K\a «RøÍú¹¯ä=ô_™=¹áµÌ]¾°Wb²x}SH´Záã…Ëäç£ÙÅ-søÐ=Ÿq•¶ õþ6bæ¦ûÛÜ|†ÁÖ@ƒ€“´ZŠ…ešq8ᨭu3Ô&Íz®-*¦^›áá^|xRÒÅ]QжG·^ÉôÄ«±•Uªb;I¯?5Üåñ‰ ß5ó ÿÕ%èÿ¾,Uv `‡E†ùXÄb.º=’©*rq8LjP«š‘¾¹¹b;™ÙSJ@#%ЏýÉÎÙž3‘N_dp:=“ »JúpTµÍ^¼ÎöÙ(wzku´~••¼2—t,Ñ÷þ׃í~9y‹[`$À½è°B’'"fvëeL7?ʃ…r—”íßMc»B•ŒéÕÅ'œB„±òƒøaeíXãüû­‹š*ãÚ!]"` 0¡µË{U „Œª afŠ?a[Äiv°µLkNC_Û=ß=€1ÐŽ¿ Oîë_~ÏGPw*3*Z½8ÜÛ 'RNÜ„y¿¬žuUŒPÏPdÀ*‹øáº(ê3fnÏÃשb„û)„Õ¿†'†°róL°?eSöF2¶?„¢qÞ±à1váý¼Ÿ¼ù>ÅèéT•;vÍ/¢¡§ÆpßQþÆøƒ0Þ5D¡âB:Y-üé„W¿vu.fÄÉ;­,_#SÔËljP]5TüPM¡y«R1 ^³¸öÖ]+‰Q×qò¥7[ÝtN‡Cæß¼D;ôî^»mÇmÁ‰Z4ñ;NÆ]òG Ë>Ì£M9¨Û¸"£¿nùž†VóÎj&p`sHãíÑ‹î7rU[Ô¥ ²Ä€LÖQc•éÎj¼ÐÖ½žGaÚúÒ¶áT:XîøfrÀÂLŪÄý¦f'GÉ’µ?52 ò›CVó£v™güß”\V”ïÙc¹ŸdIpzßlæ½[òK üöa’iŠùH¡!Md¯îßé8EÜ\f*‰2ºôíÜ9I‹½(ÈCãà8›VáÆxÝÞ‰KEuõMW§Ø÷Áo°KR[J Ëö[b_™î`0wkÆGd]5½šŠeýËí?†ÿùìñû£‚t.hT9z˜‡¯•…Nÿn½èÓÏJ[ëû4n7gé&r,ÞFä×~•kb9AO>ÖÉ›kú93{—»}t™ã&™W:è_ Ôª¸'~z¤gˆ|Ô{!r®< $Ê']xSGD½Oqrßæh/…oø^ÙAGãºÅe(ì7_[cÙ¾‹È`Öåƒ>ï(7-Œ&ž-}tì¹ΆßüXfgO•sõF ½Žù´‡¦ô…r,uܩܫìš?}—ò«~vÅH_ tœ”ü‡´™{BX…¢¼ÓbGJ±w2ƒ ‰ì,Íç¯dÑ ü7À¾>šÉ~ÅÑ@<^¼[nÓNAª¸„î.‘qRÐeãWLYÏ Ö"P칥ƥamËw±&(÷d¸ ;àF–þg“——«ô¬RàCÀaö;MLËTõ2…Ç̬7À|R%ª0ÝŸ±*“öN‹Ï !O<û×µíLX%á „ [‡Ù¢B³iȪì[1˜iáƒ%1g×D¯œ( p¥=Šiÿ»-HÓ+ ÅÓ ;ØéM«Èœó¥í\¾\WùÍ,»ò{Éš­øšèÉŠ+»ב¾“Fp($gŸQ[\¶È²1ܹíÌHÄ›ÒfÀÕå§!)è'#¦“Ð8eHð!¶© ó9Ÿû3T‹Y¦‘Öug½ƒX¥òÂçÎÌŒVŒ»®'´u¨|Ë2~J•_‰HÌwOºª0¿*« 1VV„¨|‰Jq†ì–FØ©öOlS{Ä[“׬ž¿„q]¾œsÆ$ú½¢¬õˆÞ€Täõ°•+£y-ôÇ¢†xý-J_Žaº—ä.Bjð%³ÁèðFbï˜4Ã1>Òw&ÎÿØå`íêã¦ùeS§ °L=å­Ô)]c8AaáOŸ!¦ár»Sד½™üÀËô^ŒÞÅLþ7)Uñ¾Û—Ø>nãæ9¡…“2iÏÑ:¡~CùX#«å Pö0èi\¿Ä‰ttc·YMÐŽ÷&͘àÁW°&"Éi¤'ÇÕ¢»ˆ=¶¸êËí¼¿ÉÃ}ª¿–jrVµÉãêe},ÕŒ6ï*£\%UóWÆôØæ£@˜’3ƒÙ‹Ø­I;4¬:øuÃP²BËñ…Í¿‡€„äÇ«‘ÿ'w¡äsx`þ9ã7‡Y_63Ù._DKTÏ´Ë¿sâŒÅ a aX$Ä. = ,iÒd" ]ɲfNÝå¥eöŠÜ8¤šäj¥ÉóÚŠÌjYêƒÛêЂíq<òBTýz[å‹çÁFæcå&b ³‰~%Ò¬‡F”Y Í=Ÿ_÷12¥®¾²Skæ!¨òag`˜PÍ5l6äxÿ[ª‹¤.seƒ»)œ¼ùèóVC »W˜ E&*‰®×D,¹Ï$çôOÆ-"üdlÇ6ŽÊ¦¨½p‘+ƒíQ¹ØPüB‚â6_ŒŸ¯²¼ÙŠPþ1œ'À,}ñxÎRj®OaúýMïÙ d•I2ï†)6©2ýw.âŹpf;âYi®MC7Ÿ](›ˆ|bµ?@ã„°/ “Þkl”¬ýd…ô¤CúGT~ï‡wk ñ À°¨“ “)A&Bn%Ñ–2Õæßf!«Z¤¡ÏŽFô±n6&kt8W«-lì« í…EL4™ºÛuíúi%̸$Á,³‰Ë”øcš¸Û*+žX²yÅúëm!ùšÌ‚übÇmPœáóf^ž:ðïœB·5s…4¨\Gm]³¥$±²øÔøg-‹qÄtq°í¦ÌqXDõCõÑ–ÐÒ$Ÿ35òz$ë;VþØDÇÝiÜå5ÅŽÚ„ÝÚR‚}«õ°©`ö= Ù]¨þû13­\/ï§“ø$MëeÞáô7UiuAC@—9Žeªíç„OqŽ6§5×´&äší í깤¯D+d`ùb²)›íòâ)Ù´æù'——†Ew;úAÃ~-ûñøh+ß¶t‹kÓ÷ ts‘ƒflù•ÛHEx©’i™kÄûV­n *Gî/lóÍq¬GqÎWžN#ppgëgH˜óË[Ã^øS5I\ž&¹ã—#ÔíÒ2 ÁüWâAôVBZR¦)Øø{˜{BØÔÜ[ÞmKþÓxÕsħ&NàûŒŽœ&ìtؾûŠÌ4– ’UbŠ ˜FOÙ'B\2¸*+ŒQG@1¶œ“ÞÀÝNínßl»×Õ²»dðýر›=hœ]2˜ýìüsàUÚò” rMÜ8aÈ Ò£ƒH ìvC%`Óñ×EpoàÎX1M#Åý±î®÷»—~/ÎÉ ,¬™³-ùóçâºT,XñøÛµþ›‚#Ú/@Ìâÿ%÷†~Mk÷νp5’'ìâÜ`âøyHtƒÁ£Ⱦ<ýTp*y̕Ԅß;ŽÞmh#¯¥=¤z‹Syã¼µmÿLÈÒ#QLÇ·çPìg6úÌܨ;¼Æ Lrú_Dq­»ä£¢#Ù“¾ÊûÏ®„nË"zo £LVƒºöõ ~ìéŠWtŽŠÍÅýÈÄEáK…E¦®RFÖùD¼žp8ÅÈì5x¹16¶Êñ¢b«§Ìüc‡¡{Gða‘Åõ:*«b¨°,8ƒ ±Bgòˆv¨êE;È;ʤ?µ`ÍxÂá?ÏGRt|5øîFª•c:N`¸¾K­khµ¯D4RÀáËz®#ß)˜Ï˃ëì¾Äèæ®(=ñÜÂm|ǼOЩ­cj!"VSé†k,Ö{îS}ö`©Ž­Í=äÎþü»w÷Þz›Ô˜:ÿ@<|¸ Û| $…© ió)îU²ÓU|£™Ì°ò—­a?*Á> ŠAþ(>w“žéÉ_í»g)kÜC¦ð¾èáV’œûÕÅ–ߤiêO*€mä .£Bn ¡¸g÷&<¶Ràbtk“'¬m©DrÊO7—,Ec“Ñ-é°1ɺ ØÓQ¡ýN>´KíaãÇä/ÏßGž\N”OÛI¼ ‘gŽÎ¹tÿ‚±{ùØt77,05q7&VÇÄÔÔØÑ凴'™šÞÉŽ?føõÔï®Mëä A˜  -’öü«ùVìFš©Ê¥d¡íÜbìèÜ÷kÄ(‰=cË…"?[¤‹ã½IUFì)ÿ]ä®5‚?’ÙìZ:ˆªíªß\«‘ñQ-£§Ú(i³ÌC¹WaÄ=M×}Ýb×NEò‚…k'Tîº>ÁÏ6½¼ÎKážäž%¾j&šPOz¤™ðPåçÿ¿¥>Íb¾ƒ€Å˜dQ+7{ξðgº…½uƒ£Cg.QÛ¶#%Ü _IöŠ{B>Ó©0m/Œ¶r$Î/EÿÄN9ÝêeEƒ(ØÞOÞLÁHí>Z5bûTgûºã‘¿Þä#Ú#%Mê§Y›KìEEé®j´ê"][ÜåPÈ5²ˆA#ïkJŠà©¶2-|A(²Ô6°÷qq¾‹#´*ÞÍÒ·l –Á£&Czû|å[¶>$—{aëU_h¡(AK•gªÄlŽfV!Þo?›Í(°\øjËÆÜ\¸†µ5tä4áñêH[’aëBE­/\ÁÁ`}’ ? b?ikk¶» 4²{™Ùðû—ý™ Š¢3>¡«\¶;$pÈ1º,¢[òáU©‰€þ‘ƒ¦Íö$ÃM‹M7ü÷¦´ŸˆõEÞ·ÃE}È™¿‚ñ1»M–•÷/(pÄZŒú'÷Ô@g/Qs) Tb%*ô ¿K•F€s‚¤'( k(†¢@ž§eZ}¹¹ ub7ð3âc}¤‹ñ ß‹“)([Ò ³°¥J#좀ä˜ÃЦ Eqù åT9¯¾9UŽÒà~þ †¢,b$s6ÇÍ/Wf¶÷5öÉ5r¼RÒÖЕh /­†?!s×o"o¬³côWBôïULUͤ‚³fx±ë™y±Î2¤EäŽ:“´¬$œKæð™Á­æP«ŠB¶VFBTÆEYiCÄ. %p‰C/há$kÛî–ë”Uîh—Xð#O#ÕŸ¶ˆš P‶ë(Kæ0XuÅáŒ5:Ê vÀùªÃ¼Þ÷³"3¡±{êsŠnRN\úñïÌIªj! ûм敧ŒµË=Nû-D¸µ5¤x Ív’Ââ’¦uh€ÍvO¾%Ÿ®VzÁØvøëÊÊ"›É ÉJÀ˜¿^߯P†‚Ì—è‘ Coï믗 qÎö±¼$-ffBØdúÈÌüBˆœuŸ/#Žåݨ6×Ä—âEYÈ#Ý68 !<4ábW;цÕ(Nm^ºñuY·<ý-^˜èí6Ë#:¬ÛÕIIñ\~v!øÃ^÷WAedaö˜ÅL¾ö›17ßÊ”R@¢ ÙY(UÅzr#c%×BM _BY˜³ ó?á ¯ 7»8QZçÔwÔ *˜É#:°G†ÉÖo*íäHo#`/?l…l\Ò ùy·Œ*‹(ya«™V™ñ"vo,{ùÏáýÝ;ObȤºÜ'ÝInÜV_¨”·äÁlN§‹~4¯‡ãz8v,#ª.ù@U °î¸ÿð GÖkh‰NruÔdŸÄðÊrB±Hîc<®íhYÐkܱ¸Äû›®Áw‚%Öc3áþlZ}wæ,yfeu«î$xb€†rÀ‘'Œ|aœ?Kã h!$Šgäsâüq4B"6pI÷x…œ`6 ,>´ !6u(or…ÔKonYàHÐþ!S0F[Rp¢Ò«8¤»pPm+JÏÄ蟫ÎÇ(b'›(Šßý}:t5\ì™÷ø–²o5,®øÈ&ú;غ>»‹olvµ¯’àµø/àñVº&½šD»aÐŽ¿2m¢Gœ’Md”ÂÔð¾9a&þ§YÖ3´U_ŒæcpÆ9§êÁsC踪¡a)7B<¶¿ðáÖE1ª¿²Ÿ÷Ð{ƒ_T5Wi m{ÙAÅAò;öæ1ö¾mEfœÐ•\£ÿL:Œj(ªÉiöÔnæ>öö»““À7šÃÏÍ,=ö‰ànyèRþ°‚@Î'cšA´Ær”5¨;6^‚2ž÷/ERmy bíO¸Gž¬ùBÁ"—ôNÚÀ•ó?V>¥ÌEØNkŒn{CM  ÔÅH&¿Áe*Ä›rÚ`ûÀW€©*‡g“û0ŠóÉ“œzÈòçéûöŠ:_J¶…Ñ“]sô/„%NƶÇÔsÆz0À×\å5¿Í«¨d棔-xÔ>†õeöÑxþ“BÒnS§ÙÛ¡ÄZe þ¬; ð\6¼¶c¬·Ã‘"üWqº ô‡Òœ¨«VRFÐ)7þ†­ŠÈûP¿Ã‚˜¦ uÇâjn’È'¢fMH„ÂRÌ»kö’}ëÑÉ¥ĶDŒ^¯ËÒÕà7È‘M×<›c<*ãÓiSBWÔuªí#ÒYþ° ÁX7õþhlúã…N=Ë0œS°'è"òZaL&ºLPÇF;ÃB!AWö׿í¼þ´yÞ÷Õèƒà” DàÀÅÈ0úÞ¦ØØ"±>1ŠÝNÝÊÜ$µ+ŽÆ(¨áuÎÑe'Ã!Ô{­>æ«;´"ÜiûÖó ›e|ˆBVù_‰‡‰`)‡L ï¶ë%£BjqBË’F»Wï¸#û ú (`Âþ?yùããõSÊ𠉆´Y¡y @dvÐá€i˜ooïëó¾å㈉ªá†e}~ ÷»)·^Ÿ¬é›EÊ b¨ì Ý–æé×qÿ=DšL“ÏRX 5eÐê*B¹%—ƒô±Tþ­3hà³É0ßmùàÈ?ÎÀû»°P»±Æ†É&èœêÄ­¤ò¼9³øYذnÚÙþû”dèB ³°¡Í»Z 7ÈgÊAù˜ˆèǾÚ7_`V ýuWJMëÑ_ÔÒ¬ª '7#ž-H·Zò¶í bØ¢di§š ¿5=ˆ‘é,̹ÍŽ£ã×a+ÌÞtÄü`ˆ}Œ?¹Ê±f›†«Ä—4«96>JÍd3 “ˆÄñÇ$Û…x´VΆ6: „Ô`™ÿJxº´L€ÊŸô…ô³‰µâÒ‘|e7DIÄûo,Å|j>®…#Ô¿³Îí lÆ—¨Z¿QÌ£5°Yû¹m ›ÆI£¥Ü^°±T,=:bàšwFNòtP–Tîüý¦\}¤CèrþÞ}ÆØlú׬˜ž;¡…‹5Ñã ÓWCÂ$©bNu Õj²Ç¬ŠMt†ü§Iu÷IÜ<8‚Jd¯Ÿ)?¶æ~oñ ƒ¥ÞÂû‹¨ðtAì2‹òÿŒE±^O~´É:âíT¾®(°÷)Ša ÚÑeI`¯ýd§×aÏ]—Ò½IH²¡ÐÖ·=ÑtÜ: žÄþ"Ä5¡eæ‚/8­€QYxÏDV›•,Ä©Íøÿµðé·g’¿®J¦a¹ãº”šfE†kË®qwôʺ3¨0çNËÖÀ^ªºqò3ë¬BÑrqÀ=ÐàʾS-'¨®€ê{ÒtdrúˆC„ ØÁÅNÉô s­ùàÀ†©ºˆmÖjˆ“B]*±â¬CE žà@Dá-Æ÷jx”'{ƺÊèpªófQœ½¿ã_Ï…Í9ûä±ÉUß~XŸ¥"é2öµì22Æ =(|â-²+³ø£‚È1`çèmsCJqÚø ýÆ¿ãÈjù«(UT¶â³zô±E²Õà¶îåø BáЈÄjù Øi–÷Ž_|«oEÝEÚ½/¶$X0ëžÌ\\_ÙH„ç$ãÓ²•aEœM–l6zyËUHa¬_ŸOõ”ĬBòK*"÷©Ó])ÃãHà P³q yV"Qãï%z1”¤ÀZ¬$NÂÚÏVŧ(òÓvη™ý¯!ô{+q¨´óZ$Šs,+¡,>RßÒE»í¨ó»ðPv×LÃrÄË ·>ˆ6ROŒŸŽowR¸Ò–0¯R½yÔœ^‡RúÌŒ„lø]!-‘ç"&R`K¦kšGU(Ú óÑ8ä.Ô ¯DÌ•fßÅ£ó¦‚ìõgPŽD²Ml]%7ÅxF”"Ê^¼¦E›ï9[e:Æé¥ÿ(´hy{?¶þq˜æUÎy0É¡hÜt(|²¿§Ù¬á,†\ÒSlc“ˆ{ÿ¼#Ûm|WCö¾ÐL¡Ò¦‚ÿ—KÝ5£i‹‡]Ãq…#Á±m–ßvÇ~䀖õz²ý46±c6Èþ¤éÕ2JïO<‹|SÇâ½ߤÒÚ!vÖ#\õz€iýØþU*iíFï/‰bÈêÓñyÅC¥Û°F¼Â…\ûÊ,¨bFæUÝúe³‡Tfæ?òº\Ùd=„¥—ݲNw^arÎÍ–¢±Œ ùE×wînD>RÏ›`_Uy)äQñzY°ïVbÕ¦gˆÀSx—‚s©×û\¬ÖÝ ‰ýO€ágZzúȤ*çD0]¦¸ÉzÁb½æ†qˆ³.7Ü÷ÂÔIÇbæLZªPù ‹r…zÎ|$³ª&ÞðK0-ŒZã³'Wƒn{D²´rã‹iˆðw'׀襖´©éÌ?ó‹}.€ï&È»ý¯ãh+"´üx㮡ý|t^‘XøJÔ(Þbó%ü½e¡v¹ø‚«À•n„6,-Ho×RQ«'jÌâ‚vÁxŽÃ;÷y|Fªè° ùßÜ™xÿ@c—âLTvpѾEý3_ìãͳÉë)ü’ºÖ·`è‡Íá,Õ5Ây¡çF^5f£é\c¼!Ù(=¸ t¨Ù½ ô~ /!£qÁ žyê•«±Ñ¦Bö`vê~‡ºÛ#óXz¢ÉžM•g¶BPú¹©‹½÷N.8ë Q ÌÖØCØ™ƒÇì dm­&NCJÿÏmáGÀk¡ ë°bù]íh,>ôÃWµ1©C Ò”ÖÄ`ÖðKÖ»UÑ*Üd3Þþg —† W½›·âP,Nñ^¢ÅÆèhìéN‰)í•!/v›CQî³NË¢õ_ã¶ QEzýÚu8¥t*ËT“:$‰=Z¾‹Æ»;ø€2ŠmvQÀ©p®è}ƒàÙûsøÖ±°ubúDçž·;u¸k's¿év‹j _…áþñðÂ7÷KS<Üýo'µÄ ›ÑÚ¹5¾ ±Ù‡e)+ ;mtÁ)W£Rþü5´´Ú»ÇjïÍÅÆÅÁ…eú¬øaq'ñÇÚˆ‚t³¨o1Ñ÷•AP… iSlïüâA«ís£¥-©·Êc׿©e¾HfÆÛ¼Þ1˜ÿ?%ya@: ÷?øÎ¿ »²/¢]‰=µ ^Èö" Å´q¿Þè}ªÝbYßé̲|¿.èõJ7* ¼Gêvöð!ôÔðû! \Í¿Ÿ8$½¦M² Lx~¡ìd!žÜÁÀÓi±¹¾Ãçã¯=ÄÌ*í{g°ÆêЇ”£¢í3ÖXcXg¥o 4¬Ö6šF ÖéÊyL/Ê/yzÜfÉ‹Øùw4Éi¹ HÛªq©ÙB³£oGUòÕ^i4¶s.i›Ã !<â—‘!E‚S´GCV1NdIÇÌ)a>Z\@‹óFF«µ½áÚÙ`Â+¬Æ}3n™·Ic…S7²¿´7YË)<¾Wà¢&Na2¤Ld½`p¯/1ÿ+Ç´ ª|õ"©°Eñõ¾Ô[œ"N‘«H±x½CdÃU? ;Ü‹³Èª8S#|žúÕ»,B É%Á^cò[l|å‹pÃhÑ ì8%†…†ÁÊÅp‘xž[@}·&#’ÙÇF6M·º†=OBEJvÈæ—ÈVJn´ô)A•8CQf(r v¥ƒ†‹qTœ º‰‚½Õ½Êò•A•®‚ÞUT'îÅŽµZé(SÏTe‡×§ykÉHá÷ ›ÇERäÔLÂÔoÒBVò£•ßp¯Êi ;ñEüÜDqîihèn€ ?öî!5Øf|Lå±ÔÍ(!ÐÙ'4Ó…ý íJz:ÿ5’æИx"Ÿv?³³ÖE*Nv ‘Ã÷·Å&Ìß3Kb‡‹áÂØ¡±B{Äû÷:6ðüÆ0ÚÙpò üw Q‘À°µÂ2‹ÁÏUzÜ;ø^ 2l…> ÷xÆùF, ×±ÐèZ «Ë† ·°_7ºšë¿h#bT¿™1W˜wÁ\þë€ù¹T“Eë“[¾ô­ŸêìUy£éh…ʰ=ÃX1É[óXùvÐÍ«(’J¾©lõmk”§pV,pcªÕõÃ~4ÚÃA¹gµPîžñÌ/`’83;y\Y¬XmMšÃ*S¬Só+åŒ: šl% § ý ¾P[rL†e™W6ZkاÀ`mJÊÁ¢Ráwo.W¾ò’) ­g_ðT‡ 1û?e3Îö42Ï×sxÆm|ó!¼q›u¿c„ò´"\N†Òt¥áKCÚÍoÇdÁ€U‹ÞÔÔf(uo5»,Ø 5 ïRž›rjƒ•ã®^ö$\æîQŠ©þZä^o´òñìN5ßPöŽ®Û)ÕàéWŒ@ÀÐ+³}³YXÛàí d†ÕÉ[=~.¥7uÙq ÆdBG‘N¤l0ÏïDZ'mtT‘·h,0jwãÇ1{*ãÁWQØ5 +ñêë¶0Irdó¥rÿ®ÛPÂÕEk9æ¼:{¤ÙÐ5öÆ Ó@ÌñÔ¼1p"P×USÕ¹¸¸ý‰o äâOR°;Ç‹ý”ü;¦›ÿ­³ îXDCæª'L^-‰®û>´RÒsÖÑwÔÿˆmàÁû4þ*K(6«*û óçÎÑQô‰SðP2FÍ‹% ¤¥Ž ÖCæÓ /l5˜ùÌBÑ®­íX‚.¡häÚrÓÒ@Û;¼ÍôöÂ0¢¦ì%8a}²éRcŠ„eÉ]¥ hé®ü®cù«›Qé.ª"Á!v 1êÁU bã~V];ÎM…òöœ´©F•’òÞÔ$åvQ÷St²W¿¾íÇÆÞEÈÖ°pP,ïã½=ó¸^žf{½4ÛnŽbµ‘Œ! ‡é<6H¾£qêâ{ákŠÇÂg¿3\3˜e’¶Xé—¾îþõö­/åyb·Ç"1ŸDG_³¶ëvfòÂj½™Ö…Z<’&ÚkìõD=•ô+¿«Vðs2P†¢ÿý&Î~- ª?<¶•¿Zâë;<ü]?~Gú¸N ' °9JyW¨„ßÞÁ £Ç…°YJïTOòl¢xCý:¹j’Tƒæ®[Ä­(\ÏG8mFW(¿†3µ{Ææô÷…JK(M”YR[Îö±y½¸Å'¦†¤…D™̨-éÁ0[f ~KqX(2vè6 ÙQFq»mê1?üA‘ô:þÓ ’ŒUüàrUc—fÿ##u@ká˜# UI”vd€K¬]F@ì•ñ 6‚ZkfõÓS±[‹%jÝ»­%·;»"ÿØš/^eUíÔ¾’FBŸ€°ûñݬgÕŸ¼D¼ñtË® ®Ö ‘@¯G-掠\^u=JÚHuýF*á*ÐRREmu@«,®xD$Q’Õt RI†0 ðsB î Zj§nÀo@Ýn Üã6eÞMþäÍT Ù0£=7ɾÁ›‰„¤‡­d5~jX·Ü—#:ŒÒ£·¬èd{£y„°GÂ?RÄ #&$iiÊ"(ß0¬8ÀgFüƒ17Üìjòšé¤ˆ‰ºÝ§ ëkæxóBž`ÜXE#çG÷Ÿñl#[R^›ÝÚÙÈöÜC‰‘‰­dÙZ¥/ÏB±öÎÚQ¸^æê°b9NýA¼Þžà}×Gß“ùÿv¾äøÕ7PYÊÑ&CÓKû1õ(Lv¿†èOÿ‘C$¬LIß0ÏI¥´N$ïÃ/»#eB0¡¡gÚ\†i`Ù:Q¸ 2”fƒˆè¨«· ‡¨ ’1S`)^ëdÈz˜pê×»ñ"¹ÅyìUYWZf©®úO ð\ÎXâ,hÖÊôO=›FAgyÜÀì­SýÜðc§²Œ\)´Àªî%¨Þ!‹ZÑi_y®#X/B.á69£nrþ’Ìyü `‡¸Üœ‡ËÇ;1%‚_ÍÈ Ù(e¢®÷—y.)þ‘=[8Qˆ*:UQJ½’A•[Nr§‡ÈÚxô4VÈTñ/T8黌Lvß`t¨Ó‘cÚ¸dTqóíÈ|-ä—ÊNî2¸¸¥SPÊv3»q»¤:sȸdÖGpüCb3îå@PçCéÖª°Éhíá|_´ïÕÈÏ.˜¹E)!¼ñ †/ç—¹ Ú×jÚHI‰1ª6óµÞ2ã>s:–‘nŠØß®\n{QWÌ}íJ°>· ìY3òR¸¸Eá2:‚w(†–`JÔAìÞÂF·YÝ>2O'ª½ü;ùµ®à¤æÏ€¥öƒÇÃüõ‚Re”Å×Ðø éÊùUŒvæ‰QnûOBî˜ÀQ=¾Î•ç+×wCðÈUøB³ƒšþ+&&œ"ª§Œ£ñ x° \Ù—´Ù>Ÿ­Møå#},Eà1‰E_·ãÀݺ¡=¬1³iÿ šï L’È;·‡­‘žn.‚zÌÆg_-‡kiqí,U¥îY`àãïRµo˜·iX£>ˆæž¸ág–о˜XáK³)¼H¶UÌ/à-K?z¶ ïUüŒìöõ‘&wÍæÑ`ì)¥BÌß&n5j³Ú=ÙL-(ƒŽ^² ›Ÿ¦G&VîóêØ€H™Ý0^8ÀO!ýx£ÇÇÀÐÀ:â>Ù¦2Á&{wÍ·Õ'‡®;‡mšÅë’bz}¼Ø%mìÙÇ+w3ö}G#.ä‚­i G—¶Š„„ºŠêÓ¹ÐYT@D±^b¸sCªÓ|MàÔä›KÙŠ0Æ'À8ÀSk…þÈe\)Ø75 y¡~Ã"³¡°,lž¶ÒúiÅ*ÚÀ’¾ëku7+ `œ‡™“G\Iƒ÷®aY2* ¨âï§8ú8iùs/Ðàa*³Æ‘a|(Ña5öB\ºü §ê€ÎPw–Û ^ÁirT˜#û0ß7íaXšþø\{s¸:å4eÇy¦[Z“ ᨣ`ER–˜ÆðãÝŽ#!žœ0o;ü¢¹Ô•›•iß°á6Wv5×3ý¼ôw·É+™· %dÿ&ý0WíæãÅ@Ü‚É7b4¶ð«Ärr›ãŠ3 ¢ºr»›Í±ëtX [áü 7¬sóu>º¿ Øç΀ÒÁ%Eœ‰¸à§RÞû1ë 1u5ÿwN+¼Âä'Áß°×·’í1 ›ñeôl†0…BÔC'ÑD)ªùé†Ð¶¸r)è%ùã Ô<‚>_’™1"¦È/6+eãÏ‚¾¼!,#Ä ‹ÚUùtaááe¿Ãæ®ûÙ²ÊúÇ«D\‹ÀºôÒÅ.¨d'ª•·¶ŽŒu‡4ë"¾â@Ã)°%oCåŸÃœé¨fvù>ŠŒ‚&Ðv\ó•ÂæÞKYp‰”ŽžÀ—K@X@³SÎÈ&ÖÙ[k>U(çåçR…ÇÔ”ˆ®ùV¸ä´Áu>|$-Ð XÏ&Š¢b–ê5cRúFút]1Ó÷”¢ã;Þ˜r•K‚çH®vyúUâM?gYÈ¥ÃvƳœ¹}RË8/]ÐØ?<.v nC^g‘Š…®nëµ]€¯âÿ`Èdßèd­´y†;ÐSÅ|xêÅ*÷sZä° ër>oxÓ”y£g«T‘W‹€“ûÀ°DSh{táŠÃ‹•3g2߸TëC¯ÑbÎ@”ˆ¬A¥pl9ñE},aa* 8Ý48ôª"ˆ­rÜÎ.@Èa‚{‡¼HÖg”»ü¦ª•;<&íÙÓ ¦ýXÔ´o³Ô@‘IëS™ÆM„6õè½ 8ðtc9Ú>¦qÕÕ õ °K­iÐ)ºà\UeÚ‚#H9~ý!ç,ºÁÎt(l4;ŸW°p–“lš-żV6UÜ{,Kû$HŽ\.”ÿ´ú­QD>}  å{™Ú‡+_¢Oý_Œç!Õu6S[˜O–†c‹ß‘1™ËayºîL|ÕòZ§ãiäO¿G#üò­+èñõÞ.¢q¾Þ4§¾ö$#Ám™¡Ýt§„hAd¾Nèiïbãsw ²+ð}¦U ÈŒ™(ñ§ùÕÍàT~žc¼4?mÉkwgíDÝÈGŸš$o´‘àóZΟÏu2/Øç«úbÀY&šØOÜËâ6Ò Cݪ¬ÞPáÝúFw}âžbnR´ÀPпîÓ Ëi°bóè!ð R×D=~Ò/b¤¼µ%:vb&»_)ì1<98ù§›…aÛ›>e&þwõ3î"­os§šÍ¬D#ï@ÑŽÜW0Yþ E„v •'|Úô©`k”gdop¸/½ŠrŸ*¹1Ïst£3ké €ˆC‹c““Ÿ†× ÛCÓþDÑÜ·§zÑÞ½Àõø&W«çÒüOƒÌQ‹¼{ po&¶Îç—ƒ\ˆT3Z FGˆuÊÙìÜZÉ1I£ØßvCh øÃùº¹’Ͷþkïþ»ÁòôÓÌ0zO>“¸ÅÊ̶̞ÀócaX˜ø¥dm/™°ìŸ+¸Wg¨++اJMÄófü$uâhÔouÆÜ+‹¨Ô {ßrΩ=]8¥Ìñ~H¶âµ·±_޳ßM¬ÏÀ#›ïÑb%ü*J½vŒÀ«ðfOÒ߉ŬnÈWM]Lé(>3†Š™ÿij Ü"5.€42A¼þé^ÊÛvªjÇ» þãÖ¯¬Ô~ë³—µÅþ!têéSË&ç7Þ–cÀf[»FàâX‚á1'‚VÁÔBìT£<~rÚŸù×oá±P» 4Ä€_æNId•;‚É»å+à¹d 1¯±k¼Ÿˆý Œ”ôÏL#Á:”ICQuD^ìßôðC² ±ÚtÉDýtäöÆÁÍÚÑ× 5m!¦~)°žcB˜mR¨ä(xÓ4ø¤<(ëŽp<籚(VÝ W«õÕ¸³ã+TPê=FRýwWå +$ºk:zÙC,:ìÕŸ™g¸f~ç(Hp©¡5 ø¨Þ:q2Nó=)¨X—xW×äšcþÎóŠâ¤¦ÛVjÇŽ j Ý÷›ÑRàââ¬Àæxo^YL½(ö}·FÕK=1‰÷?|€…8¢¬o¸±¢+s²Êz±^šg)—û’ûù–Ìçñˆ‡µI*e¾)r-‰#ÈG|Žv‚”qÊkE*•ÙG„cZ$øÔÝøQè {inQû.ås¦0 ŸÊe öo7Æ.Üÿñ [&ÓÓR3f0B “¾iU—›öâWeènÖ^Ç+‘><ŠKsŒ2Z’µ1guÑ÷G˜È7Z†iž–­¾röµ@+¤/ÅÇŽ§”Õ]¹ÅÔ‘Œ…?0i/½÷¦~ò€ù‹(Gd4ºAJ¡ÂB:°ÿùÎúàât÷¦šÝ\©'…rwù•@¥x°©–1ÎJm1Ò\漫…@KõÀâ^jòâ !™°†âdð 1§$Î9íû.ÍÂbb: ™®ÏwJ›9(ñùo:ì&î„‘cÝ0rbñ&9nÉÆ‘ ˆ¢4«E\"Ææ€ÿcö°=i¯´{6ZceH£XÌè/Ï}n²Vä50rÿƱ›Í•`CA‹"«iúÑ£€å{±Më+Ój.Þ'eç©KºjñÅÍL·³ù«\ÂOï’áˆZŸ;ô †Æå01 ãóÊ£³|Lc»›†Þ€ $;©ì¼0è µ 4€êæàc)†¬–T0I»ÐŒ)ƒþßïY]kôE¥Þäe»9ô ›¢;äñRX •ŒMs¥&?9I â\>ãSÉàd Ó5y¡’ƒwãøŸym§=?¢]¾Š¡œ='ë6%¥óOþë:"öä‡=¦£¦ÚÄŽ²m:ñ«Òº1"ñr Åïô1ÌÃ,CÒ&S1uïpÂPèKK¶v£Ç òâúVüíæ_Üd,ÆT@.+4Û˜âÊæËEò±Ë7ÖH¡>—ïÈêJwm 9ÖÎì‰ìë9têºÝ•v™q¨˜šüŠFÈh5‘ôÈqÅßNÕ¨W€N¬Ì¸€…ööYJ~ÙP†OÖë¦VÓôQ‰¾úþhÏŠ-0¼£H© ÇÚ!íBÝxÿŠ& w5Ó|=YÈU-ëTB¨~õt(Ö %Xü/‚´½6» ?ÿ»ÎR:ÁIȼ ßä~œ>§qtY“óªC/yg ’Å`d,79öì5½ø;·ïÐ1iæÉ´V¬7Š ;:[uH¾Ãÿ%ô®rhò-]÷‡ ר¤2ˆÃÉ9‚«Rå¶[°fGu}œ²^ åîøZ:…Çc:­ö0Ö¨M—¤l¿üÐâÄZG]Înk…UêÜw5àæ*´Ìê= |àþQƒõÌU_ ’ÏÈæ÷nZcY£A m~æ®êµ('ï¿ll—ðŸq¥û© tQO„|Xòóµ…ïh'ÀQ6kºCñŒ^ôƧ"dplS3 9;Vei~Ö7'¾³llù>hb*ð+ìïÖš¬=`øytÑÁ•HõÔ‡p- $yA=9ಛãSa×¹ Qجj ¶žÓütÖ»*…–¥»4Û*Á;¸Ù,AŠô`/·ç¦í?]¬tµ˜Ú&ww´÷Ò[ê3 Z³Ò´š¤&0^n¨÷ØöQ¤±j 8¦‹‘2ÊêD;;›Ý¶ô žß¶°eêºÜ&¤’mg´9Š Öi­éÌpµ¹(]5»’n'¬ç9ãÖ½wäHõ÷Fcji•Â>Û7$›æ3˜…žVþ>±Dõ*I}Hç­jodŒë E‘$Eoí£2#DPgÉCóêÎÁ¤(òCn~ñ"º_‰¨£¾¯ÿ¡`°ISg×)eõ¨½÷ÜAÇÈ(‰ìq£ ±™Ãy˜ô4¾Â5“ÝY™UWˆ¾,gyçmh²èƒõ¾›·ÔñÛù8xÄ#¿×zwSŒ6vÃyûW"àÜÙ}À†ÒF~Ë\²ÉIºΔ&9–ü<År‹-ùÿâ˜t­ßߢ[¼ðÄ5‰ Y‡)ÿ'Ü3­³Rw 嫦ï¸òÈéä ¬Evü­Â–—È ?êyË^¬x½ïÜᙑëØ;[ãüÝÕˆ’#†ú á z&ßQ®,:“È{¹0ßÍ£d… †J‚AéÇﳦSk/¾"ÀÓ¬æxg[¼Õ[®¾sh˜øSYLç–ü²"‡åïªyødRÊȲhÆÔÍv(í¤ôƒ¾ga‰?îw“†«¾úrÀÝmÄÇŽ¡´Ë$¿MÒÇŹÀ*ŽqnVÄΤ®ó0;%‰ÖH…ˆI†i „G.ꟽ‰E9φÉw˜Ê 0„âm—Ô€`Xa† 7šÝ»#ÒkSÚš&‡Ww3[axª %·»h“7 Ëpº ¡ÉS$3«<ùœ¸RO‘«}àÂYûÝ¥‰6mª\|=Ü‚.—H§PÈ{nŒ ²G+©sÂtGlºtK[êøIånÝnqå±|RÞÏÄ{9ÓmrxÍŠÈoÝœ—¯KTe=´á°ü\Žh HMÝ ËÊÕä/hS·ß‘f³«`À}ó¨Ä¾6‡ùžÍ?`øÙV´Ðžÿã­ƒÇP·Ù/%Û ‘¦)0ÿªŸõ 2µ–%þ,ûL¤ÃS$—’ÈæÏ@Qy³LJQYšL¸)}n½¶ý€%ÅÓƒŠ×d|ûSþ¥½a$úxCÊåòwè…h䙤}C>ˆ";+æ›Hý&ߎœ«¼Ì3Û.ßÂsŠý›=èô^65o3ŸgCï£BÅå’þ&Ü—H lÖMÉ™Ì9@Q?[7:3} ºãE1š6FY¿0&Û¢u–»“vâ̘÷EÒá "MDsq/>]™ZÂË™ãm^tü Íí¼Èèeþ„Õò'õÜÀV^@ÒVXíKg¨‚Oÿå!Ç‘¶#ÀIËæè[¦^ËÜixìuž¼ÞÌû¯„®VÿHSOæ|õ:ruäsF÷‚pzRÉbƒño 3eV@Ïñ&ñù‚Α{÷ãFî¡‹¬Ñéߥ.£—¤ (NS5}ŠšZué‹ ˇ{ è’ªf»DÚÌm;¥‹•‹Ñ}a*·—•È£Œ6ÖÚbE Ô;œXI[ Ð"*‡]øJTsŸè”7JFêŒ?c—©2dƒ…®¬’káÙ|?Ì=²ôyq¯B {äâÄ…1}wuçhûP&äÓ¦™°«FÅm ç·3C ¬èÊ|?_è,?%àöâNLíç+gÔ ˆ ð0gýX7èJ'rÌm„ 9¼g,à’ r¢ÏªÙŒ#Yw©ª¼š½‚7þpB!À¢)VžÃþúVô¹`Ÿf¬Mˆ–š±{9.%¿å@Ε^:0i°8´‡OÄ…n4$c²øIÏè’C'çæŒi½¶¤Ûµ{#UOg!¼¢ƒ—ºœ žäýo·ºDÊ ;hbØt ÷GâuIyä÷û19„¶²w.Š«˜‹/¨`® šþâĹ`÷báPœ}îÁZ¾ü‡Ü«./4GÛ¹ú²ˆ³\t+a•«f…[¤õÒ4+žâÔ1Œ #–ÄÖ7±µ‹·:÷1QÆ›N1±8'ðç6P±Ä’0&u,߬κätfZÔÈX/Ͷ¿XÔìG…‡¬x 3i…¦¬žGAÁîÅ_Üž @Pë‘¡B«@š(ZL¤Ó/ÓéåžÓ®[f+@žP,=$§c€As¿ý‘U¢ûSzÓ:M|,Ie©…Ú ÃZBêËþ(Evœ?Ëéiå¾Dñ•Íq£Ü3ê·%jº÷ÃI3§ÎI)"™¾ kÃíç†ÞÏ¡P^(Kxí)McÑ Êa(Õ`e30Ó÷~–uñõá ÒçM»àéQãTz+°]4ŧ:Àþš2u}¬^ß Ïj/ØEû²kˆPg—×ezÏ¿éÓcþÎÚÁ@Fog—ø“Äv ¬l%±-X¯F°]¤×ª›k¢aÞ¢‚sz{nÓxྒྷŠg“km n-ÆÕº¼2–ï GU”8f$biD9ÆÁ•|ÆL Û”H*ŠxüØÒ8GëýñËB…OrÑ"ï/Ása»ÚÚ[s’:³ô§Ö¤óˆŠs %4Øõbˆq•ÎAvÂ_Vý´áY•²WT¼¡-½ôî¬Xo$‚(3š“»2w úèþ{¡ösAœ£Æ\NJAï¶òu„’.Ú‡ƒÒ%¬6|”\YG "’ì>`•^ÙKþô’[a”sÖæŒöpöÇpAx2ÿCe‹,› ¬Içáë•¡“A~ÿ¯A ;³ÈÓº_·”èâèŒÁH–ÂfœÚoéøFÒ‡Á«…}¡l@FbÝùyК‰* ŽWÄÍAo ¤ã¤<—Rnf‹Fß½ƒƒè¦nERÃÃ'n%¢§¿ žõ§r£D‘[@”õ{K¯é)ìu‡9Ë¿ ­O}Àý— HãKñ¾é“?d ~H¹ …Ê^¸)ó3Ší—…Ü–;5Wî&vÌ7·¹Ä,´#–…oµô±ûÅ>Ð0߉½Y¦YHÐvGá{–ÁÁ{¸¯¡$žm²lHpaµ†7Η§ÁXÞšiìf¢6&r²Mú\üƒOF%ª¬ õڃ㧠—ïß‹W«U8è^<~Âv5èšt[LÁ” î]çèUؾVt y`¬¨$Cwmo|ËýÝiZÍ­AöÓ>«VãNß-|4²xécý°w}±sìsíùÌÕÀôÛúÅR$èO'±:»O€Íþ-pòE/?ˆÐÞvš–…ÄžõÔ-x„†9ƒ—_jjxÕ¸l&£©Jo0%ÃÛé~ª$ÂÿØ$ îŒÞMš}ºejZˆ|o³ëë#04ž•Xúý]ZGÒº6;•‰¯o”%N°# }KVàÅßÒûj„Ú~ÝšbSŒ)¹ËÇ€)¯ƒ“Ÿ¬9Q³pw5´€(þ.êþ$N Bî0»tÄ4Q‡Á¢W*´_d«ÿQjF´åhçµ %è"·Ç*}§ámmãt|Só5Ý£ûþoˆûïýä²ëËø†VV[F;ç^J˜Cê ±h€Ÿ+§Å™Ace Ä)‚Ͳ‡[N¸8,´HBg‡C¼Ï¢„W5¹›Èm“á}cÍÆÄ|c¥”èG0?®??3}6_)¶ù6óÍ®"Œ¡À2{™#Ï»È7²ð£ú³/ƒ 'ß–#¢¿êÐÀ2—ÊXÑ;yÍÅô ‹šA¼­`­Æ‚GíÏGµÇ·:"§sl¦ Wˆ¢ÍõæÝ20’m4;£í*ÎO`Í5 '’ÜîNžsX M2àô–|ÖÄ´ Õ÷6£/l®¼\a¦wh“ϲNv»ý£Y¬zÞ`Ùßåe?ÛÌ…I¤RI8ìÀi¹ôÛã Ýûɦ²”çvñ:n‘¢.ÿI¾_rY>]ݾ¨‚½ÐB°”«·ý1JxF¢DUª€|Ó­‡Q- -Û OÜ=}|$rM/iÿÔÖü­ |ê=Z 0¡]¿µzõ)´¾Ö7žñïì4µ9¥ødk­21Å­€·MQÒ©iÊ)h]BMfäøLÙ—¸6‰4˜×›/k©3t*ËmÕÑ‘ âJ-O»%[H«Ƴ‡‘uƳË#\ñ‚<­p¾“‹«çíïKCÃw•ø£:E5Ia‚S7ŠzÆó˜ÝÅ2¡Ç]t‰ܸú¥cQvñmCè›L™·zOÜ% ÕJÏD8uPSçȸLÛùpÞÂ#^?C÷ ‰ß•éþ|Ç ïsau ûCð´ëçh©Ä_y­J;¹ÆReÜÈ,]p®±ôêgŸäÄÇ/ÿö¬!ÝImõ)(l»ßÅðs»° uʯ°m"Fðâ2<ÕèÈoÛ_?o!½Lä‚X;¥èê nJcÜ›!§Ä§ß"¸=áqš5 €õŒA)Q@?´íб“Ô˳'€Wìó   ÀUkU´iýº÷˜ˆºÖjÅé 0@¥ÄS’š…@p7sÝ ²ªx¸ië†@+êÀØ(|x‡¾‚b”ç6˜Ùp†Ÿ…3½ÌÿïTüëqhA•æMU¶%V ¼ÛÿaÊÌajÐÇÇÏcp¶ûg fù1®Ø@0›× ·o¨Ã2f"@xÞ¤Nö.d£)]£O´-¢ ªfEsxï.ó"Nò§xÀëqXÖ±UŽÃ®E?K¹ëÑ–€úvcB‹¹õ!šgZŽô×! Ž0ô'ˆ²ØÝâíï!GØy Dа‘,xë,u†<M!œ@t(NÀ(òùýÁ¸„èo–ð6µæ¾2» ¼·´:ذ#iÀ:¿Œ6¦ÙÅöTyEß5„¿Ü!{¡­ëhÿbg|¼>[žf‡N9!á²8³”ââ.‘áNïzÜÉÊ~ëKdÉÁlËð|pØ/€¼á Ôþ‹åÈ€óm4?k¨ó* -Ùƒ!Ì sä?S ¸E‡¾'êÿ†lz``(:Ðmm®T’‡+Ï¿¨ v½Z¾Ô¦ÿ„ܧPyƒóZ§¾L@¬ä8?ƘÁˆÙÑýÕ‰"“¯?Ó—ûŒGu0(£·v½âtº±ËTc8˨X™¡|ÝRr ™JK(¿f…å\°|ɶ¯í¿ ù¡h&X·”dƽ@#H>‚¨+¦NE\cù¸ Ç•§Ý./£MþkÆê¬ÀõíÆšŸÍàÃÒ|õãç³§ìÞ{9,mÜPË·Pò-SbVuÖÆG Jd [è̅雈3n,-ë†\ÆËÛ`Š<Ũ驰)‰çSäÔ\Î…p`B`Òäl ˜“û/4SnÚ Þ舤u Ê‘è0™Œ(oömI·½a×ð®¹WawªŠñ°4Þtdz]Æs‰üƒY®WÕ†õdføŸ¾~ãرÑÀoÄ™Ô爺n½›dg° Qæ¸ô×ôXþ€*ajÊ„¯rFTöù#o¦5ê ‹ óŸcàšÖ¿öq”e9òvƒ"˺e|íŸä+Æv´¿/æùpÊAä{=î°ðv2˜Ú^\M¯—‘„…J_ ÔEq‹Lö¼€8&ƒK·…Ö|®,4òÂ#[Î;ÕA­)]Ø|̧95øs0Z,»„W‹z#Õ²õÐ*âÄom_ (Û?²dð]´ýF uo ·6ba㇠¶Ž`ý‚#‰ÈQ°U™ÿÉ€ƒwå†9-?K¸@9.Kq‚‚bör‰˜Sðâ¢cÇtóéà4ÉÍ'v– ŸåÔX‡¸ýâÞ¹r 1¢K$ö7g7ÿípó”É 0ºï­¬YÑçgËqó¸vH`m9µŽe½¶ —fëAýàjïbMîñÃõžã.mO rž0 ‡rµaÊã>iUùûÃmFסLjAømͱˌ~ ¤)o\h$Ç(€Anè[J]5ÜiSUuB à¢õÅe';|N¾ñ˜¤LÛ,P MTÒÉúЧqÞÐÀTÌ—k–ô…r¤Q§À|¼¥é´Ü"XÝ9 ĶèºÅ6IiÈæeEa+q2“Òÿ…Æ¡Çh½`[êõ« aîÔõ`zó°©Ð¹RôçjWú™~3cV²Œ68M\3Îïi’â_öRtº€(õR ?8†} ’«Çž@ó…7á{ª§,umqwÚýÜ®JÁîRˆ*Ë(wõí«jvz È Î+üöŠìì\Ëf¸ycdÉÎül.—ªè”ú޲ÕÜ}T¹(^ëvÃt¤5™¨{ÓïªÔàVt`Ã;¸ßo“Ͻ•kŒe Áf±´Ï•N*b1È`ÉìH´2sîË3 …3·úõ(?jÖòöùýrŽ{Œo„<ŽÆ}˜å¶Ë[í²7ïKIBÇ PøÆÐF5†Y­~þíç±­û9~ÿI›¯zhГZe¬ÉÍj1ŸnúÃÄÑ/®õÜŸ¥‡*'zÄgø‘ªœê [nÙëê–=ÑY›uy_£5K[VÙ•T/X{ɸY57›fîôú&TÑ´è®Õµ‘øîxùà¼Àz>{Oå7(Â.á‰áMsÁüÃÈ,ÂáµJo…«¸g74±0»qeõÍk›éMc|ãÈJ—“>äaÚ»Q•4Ï-tí‘HÃGÓR˨ š·³è/Ýï´·ÆÈ4¢ÃŒ+âŽ5À/„ËlllÍÏfÛåbáU:etÜ 7¾·(BQ˜;p{ÎãÆ$äÀT]5‘ê2>J‚Ž {ðCNn4‰–4„¿)î›ðh¡:½X`ž”Ïé% ²ue<ÙX´[‚æ2Oçês€ízµnžØ¼`mŒÕßKDKŽ„Í ·wŸâ¦©m7]]^6^9Î~çLÑ/¡eg|·›ã)? åBÉÔj #pT‡—@Ñã}+ÎB.AZÜBóù—Q‡gmзýH@…´œK±S+ñó©^2Cµ‡3Êߎùçó¿ OÕ÷æy± Šˆ „1´Yϳ%R$ȉÿ‚ÛN¥B$ÿ,È*á(7{åÎìÁ¹£ KTáÐ’ÕTJaUãXê†R}ZÒ”©6 òÞùëÕº G‰‚Ï,2“´ÿÁ/$kÜE}s é)]wEqÄ¡ÞkqE¬ÍĹ±Ò‚$fªT=á&qÆI‰”êM©8íG­|–F²Ô Öǽ^šnÕò\.¦)P9ŽQéR(ªðoiûü¯ÅÅ5–pö(¯Ün*µµð÷B€1uïŒ~&#ÝœéØ"<¸9cø£åô ³W{al­5ÒÕÎV[”˜^;Z¼Gê>-Z÷®êzm"‘ªCú |ð$oÁ}¨â2Í è,pï0ë¡«R~DMér)aÚ{Y¬2ãg‘#3SIÜ ·-/.¸G|(œ)Öˆæ>OIœŠpçc¥#2#Å;vŘ¾%âó´½4RΑá=Ivj DôëCÖ¤³Û·°†ºNu¨“?³;m%ÿjc\û{U”ŒJ8ÕøZ‚ÀpÖj}cóÉ¿“<7D’ò­kâ!x½ëT ½—ÕÊÙݪ›“l…îpÙ£“õúw÷_–2_Apèû‚ªÐ»9ab|5Ú5‚þx­Ÿ@ÐFgKì}š†ëÐ2½o,«ØnÅö*ÅçæJ}ÕUê±EþÇÉs·˜àiÕ” Ë=‹èyì8k"óö¹JUuH!ÙËË p噞S› >)(é¬P£3dçøbVµöÊ8aDÄ=̲»|ÎD‡Ç&ZÚ- à["|s•‡Ðv¾å%Á°á_¼ÞîC4Z2ìŽf©P7¯±Å-jþ ÌMºb(µ[ÒL¶ÌµyŒ~èP/JÒrt¸”.´S )(Óµ¬Y“¶îåy7˜ ÁHƒJÒn}²Ñ··ý᥆7´IpDÙ£êO¦Î¹1—âÈ{ˆ*¼‹W”Y@ t×eÓ … t7ÀÁ>_ }äJ'ü¢J1†hH¥˜Ÿ‘õ ^Ñ‚²’‰¥‹FÏ…UÊÍÞ°–r#‰ºI®þö,­ÇÜgjEN;7}:V"ìÑÖËÄ~# Ò‰Ê@‚:jø”të̽èS99)íév9òÊË;³È’ú_¹¸\·ÍGåIQ—*Œén¥[$ž)F³vqë˜úKr­. à”¡Rìyº¯ØÉ´GRQ°ƒ*ûñð¿7Ì$ûžlHj”+BöQØI˜é-œD˜Bð¡BÕ[N(¶¢X¤É¸\ÎAÎ;­ŌNW3Uh°ñªÅŠ_T¢jS‚Õ+Õ•éžaÍ›ž‘¯†ûšwúÈ#·Å¾, ·¸Nˆ«çBÆabð3ÚÀ¸Lü"¾Råú\»®±:=¥ìæó*73^ðËyº¼ydDN¤Êüëê<Ë‹[l20§L xçY~ò½$rjÕO>]‡yÉœåQé£hᥢ£ô;ËTÓÓ%•ÉlT¡uñBUWŽÔ/®wû·f£×Q‡©•V¸M5U?Z!TC«\*Äü¦~OøÄ9#1 ÕöÅ.kÎÜ—](Š48·\- /¼ kð‰Ed)Z.’@í)å©CR¢åøwMÀ_íû{ 2%e2~8¼ýÛ*e,)iòtˆl¸•æ]+çb“Ré\y:~Ø_-Ö¢nØ\,ì ˆÜè‚cA›Rö/£¿ó›6iÊWI±áXZçex ’6èCîðwœkÏÑe@§äd–nÍÚ,6‚»é'ˆl½6¥õ©$ÿz“¦¦ÔŠ ¯=­ÊËùí"Í'å ú†AVåà »¯‚u¨7Kq³®£x°eËÿì)·÷]ÓPîzŠ(û ¬š¡ÌË"%ö§M¼g±zÃ\êco¤-wÜCPŒ•¹Þ½ Ûnª–¼5¹t¼L‡ànÝB^ã2íoh ¹;h?Ï"á6NõPLD”ãW#;Ù_­"]„ Mn®H?x‚ 0èéDmS™ÐF (9Q§8aYX’¹ÒN°{MjÆYS øH΄]ÉÕh"Ìm…âã»ÔÍ8ÝW¶üÚuj"o®þˆ½dc.¾à¦’°ˆ˜¡¿P[Û fˆ2=a™÷åZCF‰È ÿm´#÷ÑÅüCiF˵Uþ—·¨÷ð(QªÄOìC€êùÂk%¨W¾L“Xe!ûºÇæ3ÄÐ*«p2Gkz>ÃADrn”½ñ·ÙTèR%Ž[¥2!¯Í’µáª‹ öw£ðA ÃuáfµþÕèr­bÌû#5Ç#ׯŹ2šŸ½ªÒ€j~7óÕqÿ× p´ïSÒ,|êf*† ùÚ³ÀR³Ârv|3±>ײd–øéJC™ÚmL,¤ƒû u‘ ÿMÖPEŒÉb­òuéði“aq±z놙ìP(¾Ÿ%àâÑ(>¾ ä:n]?,àQå[\£x%÷ E8ýyxpó%”=œaæþqŒeÖV]„Ã,R‚‡»lø¶rµúÚÅ¿ƒÈ¥nžÇX»”R®0ŒGZuqÔ+ãúö‡ÎäOûs»ˆƒhIÖÅ·Þ눅.yÞI‡þ\è5î ½Ë(’l‚7ÊkŽÝ¡ã¼“Ä9#!  ìέç,S”­ìeÍ`±†ÅE4™T÷/’:Š;щ˜å }¶‹…²™_fÜ’›°"FîûÛ´‰ñ%ˆšþÌöì,Õy<Åχ–rNáhÜnyiþ‹¨A!ÌYEŒt­ñ Š–Z¬ð–ü†üÁh•HÑqcõ~u4´Úµ%É«)+ØÐZ©¹g­¿ïƒGN"ð5T^SáÕÜš5/:#~bbP^å8hÅý´DM5vŽUŽa«â\‹aŸÃÿ÷­¼Uy ÔJYãÛËu£g.nÑÞl ã)¦éô?I¿LûAeóý™Rµ>þ·¦…¿hÙñ-T#üxÍð± Ú«CÓ¦¨%üÎü³cöRò€ Bœ€˜ßš°ŽÁ™rŠ¥åzÂá¢*'íãXé2yœŒþ£ÍïÛ}¤¼·JÓ ¿Iدp:£ó áਂsè¡´KT¶ß'Êɉ”v†´à’»zß̉M\º'kcÚ¤¶Æ<rævÈÒãÑý± Š–m‹¾Gt Á›[¯ H”Žq:~A:¦Ý»œùjÁ›E¶wÞºâhPãÓèµ/ò¿¥Â‡Aehl{`.F¾o ¥ÍßðM·†¦´VPÏ õ8°õh5ß¼¡ÿãÈÁ¹‚³.ì±o>#®j³†ò^¼@jÝ Ë·A ã& Aô§_;ñÿç\)Á)žíÜæ@'sñmA/gd[‚ðÉaÔˆÞ@jôð¶¡²üã³W?4YKµ.6gŽgæ³'(†Ç›VL=zô®q`0¤™‘—·žieÉÿ³·›D³¢2ÞÐ÷S‡¨Ê0á Å€.ìk™€æ+Gitgþ3›§?Ä¿¨ÊåÇÞüO«ÈÚ Ô9âR•}ÔÉ'¶k×Ý46¨®Ä?ÔT˜á„¾õˆú3èaN™¢wÓé?vI6×|æ¤Ñd0âúc=!¹ÁB¾}ò°Ó#¥ú~Ó°nýp.†*– ¡ÎD'¹7J³¬1pjo…q¡°Tºì„VT *ÿÿïXˆëÈ%Ùsä0ˆ‡†µM`áFnqul*3Mv¬×¹<*r7<¹Aeœᵚ ¬¤ŠT³Û}>r¿°~ÙП±õ ƒx¼gRª&ûfìðk<çã Ó[g|àtö©|VÕz<ób¿®a¯ƒ–×þüc‘ç³ Goó³YMàNÕÑsÄ+édz8‚b$ïžðqu¸DsIül“®¾…n¤賜(;áמ]Yùýä *й^€4Sî+âÂÿ™µ&—DpD²‰áÝ"7šy|ƒF‘¥CÀ.Õ»S ‚rkÅ$1 CÙ ‹ ŒÙöd­pa’Y …ne/ÄŠ4–áÉLâò=ŒvTÏ*é<6}5Ã<ŽÎõÿ¼G­vÙ987ÊÐòD°Íjæ@û1z¢Ú3wI<UÆû±Ï~ªäŒäÛ¡°’%¹ê¥_ xÎé°?ŠZBocXß LDE95ݯÐ~Ø6hu‹ÏËø´áìþ!’ùl%‡Ù]I2€ÅÏn+M b”ñ4K gÍØV–ÕT¯Šš¾Jà¹8køÆ®A@ÛòI&2â¥a§Îq¬†u®6<ÃVxŇmaÙ®½ìÚ àÆo Ûì]…•×ç„å^l¿ž^»›ÇÖe‘w&ÃvèŤ<¯Û‘YƼKÑ XøjdéåZ¶ú_ÝydwÊß*wyW¬‚•®S`Â9 ºý?ÎÖi³Ý]»¦…¦P_CóP×»26CÑ–ñ_‰¾—´Ú–§ÉÞñO~-ðšÄ$®&&ã”ÙŸ>=0çCÝËM|Ç$sÀHu°í¬•‡Ô„b¨Ú¿©ºH w¨…~¼ö·Ú£ùâ;»*eº“ x$¶ñÑSºv¢A¥å„–"—¹Œ„Ý$Ql– tHt ‰õnÒòŸÀ €qžŸã—Ïæ7ÚÔñq!÷?‚Z‘I@„5´;÷T¡pš-ÅYïLvßÞ‚g-%—tÏÙiá½Õê F²‘[œz¹_¼i+sÌdm® f؆º¼¤´}³›ÜíÛ $‚‡‹Y€š´Yš=G¨ÌÊåöÐóñú4™[d®³6]|tè­óQ\ÿªömbå:½Ô5ªu齤ú)EþQ%©«Ëø.Á*s¶åSbÙ-Î"3°‹JŽÉeá:PsG~?bPWrøL wÄÕa½ìõláÉa/£*Ì‹àÀf›äó¦,é3ôˆ©çxã!š¿cv™s —É?‰Î&@‹lÛ×´…ŸÜ´¯ý˜>° ˆ!x27 è9Içþ1ezLñ~VóB›ÙV}AΫ_L|ÈUÌWm“Î/e¯z}s¨òÂÛS¦ Y™  5ùMðüülÀi¬$ “Ó¿a'²«h‚&[Aòl׆þ÷W£Z Ïã.ï37ÍÅ*fi³¸dƒáÛS1ð/BÑ*æ‹`Ò7i5ãeDŒÿ›6ú߆OÇz±oè…È+Õ#Yä¶árQ¥¦>ï3G#,ÌÏ[i¾½w¡ÓãÙ”l·vž6Ïb;Ë~ÞŒtºBA}¥ƒþ’ýëE14C°…Ö¨L§ã•&„ÏšÒbCMQÙQP„Ó‘¤ã³.›4Oº—L[ÆÕîÊA½—œŠö:É9{ý!{÷ ˜|á#Q»êFò•Âx—Þ€§‰ÑÓâ²à9—T1¢ƒßÊS%WÐ|ka A›¼­§Â=cY& ¯÷y0Í‹gÖGI¦Ï1!ƒk6ÅL9`õÆ¿$g|vC.*¸?£œlySÊÙ˜˜?~wéÎs÷¹ˆ eT@ª®57¾v¸aBà`ì-´©¤rt ‚-Ç`(ö ò®|‰nËÓ4€¤ˆ}ãûý ˜£oru÷NÏ88©jî|¡_ÒâS1+¿R²lh¿€Š4óçYúRw#”"ØŠ7«LrökÄ*»qº–3ú¸ ís¨³1$éRÚ·ªêgÔ6 ­´ÈŒïRÓÌ×Ѓ*g†œ Œ9h­V™åˆ 0Î*EІ†ÏÍ@Ÿxꛘ–‚ l#²n”>u¨<®‚O©E\zÕüW.çv‡Y#Iíl W )%a›c-Ð5èû4P\ÝŒYYȆÞz4zÛ/ä²mºžBú<íUöÌž E‹ü^¿ÿíÝ Ÿ t‚e„3[#$£¹£¸U5ùÒçT…ëñ2Ëø¥%³ûâ·Ge]ÿIbǰµ¼VëÏ„+¨ØhvÔù¼ zزïb"šÖ RU¹²ÂKjs [œkžÒÔ}™pÿ &Û‰ÐÉ-—yâ-[\†‰}gOµ˜ŽVî«-pï­°ß^tS0Œòø s¤,£A\Ia#à” s =PŽuí¿†‘B1¨òà˜ñšdÇ¡®ö°´ûKxfwó[8OÞ„¥ Ìñô}¸4¡»…%è´ûzP/ç¹9ŠžÓJª4'ÈŽ¥ÇÔPŒÍïÍ9̼³Ô„Ѥ‹¾·L4k6pDVû²º²Vñú†€J[l”-wžÑ­”Ü|hUwP3)Û ¸Γ cȞȰTf«à ;å±£û¾?dM§GŽ?‘†jý–±´Bpa—þ¼$šÇ`ƒa††\ƒÆ¡áÕ*~㠶詳TàâuZb,y&C‘îäÒ Å$’L<Â*ôçƒéÄ,Y®Z‘¬W8šá +Dö …Uì»øñ«#˜kÑÇîBñQò8‚ZïÌ’£iMùU’/&ÊþúsoqGFïÊ ”zƒÇ r J¢9MËí¾|1åV‚†|Âùt´®lz*ØÒAoÓ9jNóÎ>ïY 0j Ζ›06kiXuäÑÍÓ“3f¼ʼ-ŠìÓ±–¡ÑV•ä°pй},ì_€¥Bw·ÅíÔ¾—ÕaŠÜ Œóö·Ó&§TÉÏg\Á+¨F\©q 0¥qœÐâIF‹ð¯pVhX¶Àø8âùí¤}‘º„x®$OÕaj÷XÕù(Z©Ÿ•¯¸|ø¤zË #6ráËQ9@ѵ‘é *GÐcƒþ—9艕wÖ!½6ŠdJŒ£:S ùÄ‹xï´ gy,Ÿ‰jŽ$yç:þk]Ij}^£¯™êÑú7ûüÊÜÁÑþš;éÑñ+~ÿŠíõ 1€K‘ÎzþŬãÍ(«åÈ¡ë%;¶Èm\"Šõì=ÃiÙø·ˆµ-OH©˜Å©gq)&Rº19¢$%ybR$1S±¯ ® ö;\ð@júHÒžºu]kÛmY0˜ÊsRµâ„@PúWœÀì. .»®]¢‹óAˆ³Œ+}IrM -m@¸”˜i• bæQ2)¦>5µ8ó†ê{„¼,§°èÃ,aMÞS˜ÆrnزŒ³äE^ÐÀ4ö^GЈ%GqZzåí¿$°g‰o^óAáçÇ]zàƒÚ© ´£õ(ÿ¾w|ò”Ú™™™zÂUb„¶ž©i»)o ÉÆã,ÝUJ´Êb2'¥FWf/’¨%ß´Xþ"pÄ [Ï[ñ5µ1-/ÜÝ„wf¶ÔñûoýíJ<¦>nbjýòLz¶ÄW‘p'¤£±¢tD%mLð©ÛŒZŠðºR m ˆ易nˆ–p[ûAÁb U"OJÜñ8 ÅL-rHÔŽw›mɦL’:ñø¬±°Ü)ìá©0çÃÕ-D¿¦µUÕc”9©Žµ áB<¶°'¹ Q œÞ×–ïj#Þ†3u[.Å} nò­GÈb^cÂú{³£6Æh9ù’£=—'LëÔBæW÷R\1ÙðÛý`“Á»ɘ€Å^«}`t\,J75}ÇM[Ú»hâ!²Ã°#‰gçÓl—ø©*7ƒ+Ÿ¤€Ô¨Šcˆ%í©z/û’špK€k†Ûpäêþû«Y\.Ô´Äçˈï}yŸBMY"¡ÏÆŽ+£C/ììÅGË£>¸9 £€ÿN-j½Ù«ÌÜ 4@o‹–)`8ÛGÛ·p*i×·¿ ddH „sKs ÔœSÞŸdRÅß(–rc³—³âvÝÏðµ Ò[ås.yÓ ¥ZN_Õhƒ1¥é ÚíÎWèîxˆÉ¡‰Ÿƒ¾|_L‰Õ(žDm¾¦Þ|>3ðgÌéÆÍ‚A±O`æiKb¸~HÀ/CN"¾“‰ ,4PÛ9*,Ë#xfÊçó|—¤‘¯ð6îB¡Ìþ‘–7.¦MdG1}}ÏX>R¤¶,\pSeA¦Bw[¢ˆ!£¼÷¨?—èûƒ‚µÂÁHଃًžÎ,)æùüQo+C Ô “ÐnªÙÍØRÀ­ÉKJ]²)´Ýû&‹Sd7Â=ê$!˜?ysŒ`heé2Û-7#Ù†‰ [,†7ÂU|ºùq“ê¾»èóïÈÏT '^5-sýžRª‰&/´qÀŠuUW&ÑB¯=.¢0ˆiC½7?(¼€+~U®9Ób”Ÿ ]nÅi“o-Œ¥óô뮊ê³±¤›ñ¶ôÚaèÈAðô‹Nû!Uôèˆ÷À™÷ú“²ÕpýÁq„wc:#hù ãtNÿylYXJІhB=5Œ‚ÊíGŽ-ÌX-jfÜ®qÌ[¥‡¬Ž36ácÀëc? Œú€›JPß•Ÿˆ9Ožm9`ðÊj ÚÅ—ö˯Ká Rüóu„¸^ (knßåSLnJc™Œ»±gÚàž#ðì :ëdQ:cð—;õ­ZdMpùXÝkË|ÿ>múqIZÛ*#œ¯†Îeaä³ý`;]˜¬.{qÁ"û’dؔΠòư6%Ú¬$©pû+w fzva0f[_ÔêL˜/º%J3–pùÄ“|(°Å”®gÀ=˜¥Á«*ÙÉκøÌÏH†fÎZ¶èBœ{êùÃãÚš^³=»¨>bÁ-OT¾ïP[®­7¢¤þÿtxÖR÷Z*2\}¢ uŒÌ€·N:øIïpJX =M.ž+çXh^ÏaöËÚ´œ©v•ÕˆJÿ@ºô¯Zk·¬W$C½Ô‹Ý¨§%ã¡åmo©XÓí;šÇÔ×"²æ­Óû~G—o¹ fìE|¢„ÇýÛ@à15ØÀŸÂ`.S޶(4oT-Í@d‡S~2211À ϺŠ%Š€kßP?(ZG«Æ¯¬:&)¦çA†Ðr 3Q&Õû½À¾D… þ‘‚£¢Šÿé¹1<}´¹¿Ê\ePÀ§ËR àcñÔID™å?¹âfÊŒï¦Àb=àþ¾ J«NNg(‡[Ò 2ÍT¾â`Àcpè(À´‘ÚF–uéhÁN u ëLÖÀªÊA›$óóŸ\¬¬rzô±Òìm§(¼ÂyÄKÆ&‡­x¨æF/n?‡âwY‡QðÛ#:'©è ª>f¶:W Õ³óý†§ŠVc¸X'4w_Ì)v2fÓÈn’mHÒÀÖ]?ž[SÔpÜøÄH›L juÁê{Á1Ïèõ`l¦ÈU‘7ë8 çDÊwíXØ ÿšôzhÞ-„ÓИ«ö2þpµiê2Ã.yO¬-ðž›õI•lÓ"•_¡Í1d!¾˜Õ¡7&z%•o’ `zªÕ7ÌÑAɸ³Ç“Ûs IŽYPã dù”¡ûçŽî÷Tû0B«õÄWö,/ɯÒÜ&¥.è­_Їt\Mé[†™ØwY¯V¸L (Ž[ ýà'^„½/‘7E:-`‡×úc1¥Å¨´õCmãªý´»mPŸOtVÓ‹ß`|ôÏô‡Á¯„”Š<+´˜Ü‘èÞÌE”+ºÝ_•Þ^º8©Ïúj%ë×Ú‚¡8a$³Á±ÿÅF´"*«ëº˜ŒÑêÇT'æö ÿ9 ',¬¦šYàgv¡Ž ‰L‰÷§õÿƒÖßÜ&ÀòäT8´„7X–69ÁÇNרó¤5zhÏá´ÉX\dsŠÔ±XC³,™d¬aD?.]ñ‘m¡X%yΚTÿ®ñwj2³¤Qààã ç ¶5»‡NUDɼ£‘[„;—ˆ?Ò¸À(tªÞ"*íAmÂKçN¹l×§kj¸ˆ¸³¬´/¸vC÷÷+K´HcºW^°lƒûq&ai®º0&•W%Õ(±@oq‚&*ž§Û6e²Â±´ÏÒ(O%åX‡ÉtX-êŒÚÿ·Ó½æš1^9‰;z¸±ùC±<¢uŸ6‘î„øÈlò+í‚c/ÃpÖ-V”u½$Ķ÷áÀº&[ñø°¾Îu%A³×眲vË R*øzï'y#H×-<' !߬ ŒŸa™]›HÈ5?æp»–È“p'·b鱑–Y ¼ñwÎδ•&û^6’ռ͊C=ú]ù)hzßãõ›î r%à¿I°» Þú®Æªåè¥ÌÆf­¨ÅƒËaƒK¾jòÇ['î2«¯Õô ›ã’1Ewì:ì*–Sç.ÀVJ(íçÞ9÷@=7cèsâhÕ!€…iÃÍÛ»Ärï.66“^¯~-qé™5:P·Æd,0™bÅ#›±Úá±³JÙœ9‰Ù‡+gb‹pUI#‘?£(]´˜œîÅfj\øc· p©3™N/‰ ðCc$ÿÚ¥ÏNàD +Xê3c¯[°H:[Ð “{Ø1ÎWˆžÏ a\O•‘ó®Øp^†ì-¹MU¨n™Ùº/ÝÀOœ×”xE·oÕHÉGúúTMRu²E#JʸW¶,§=µ3'YšÕØíã(ÈË銖Ãà+ MÊ&ÁÁ1_­µp²±XT·-Êîâ ÓݼÐý ä·JtµÌVË->7‡*]Ä”Ž5ý«e4®áñÅUèå‰<‘¤ ÃE¤d3Ï|-’cÛ4 ì½4¿,=Í‹äm߯mŸ‚RÔq‚"ãHÀ6Aü ÆhifË^œGÔ€ cÄÕ4/òe$ÕîÀ £/¬‰só¼Æ?Ð,0F"¡·Ýçÿ­ÈI›Ìñ~ ¦9Mµ4Y¦C… ú•f;°*‹g‹^Ô(y™a[W!_†¾ÚRgx“Ð’¤[ÆjõÍòˆècKã„/H¥ß$Ϻ1hûj²:m[;·<)e…Ù Fª™= ˆàý#ò´™çþÞ€ìÊ-¼Sg˜Æï9¾îÉŸ¥P6IÿGiú¡ 6hUÑut¦Qmcåùê+i£Dù0R9¥²¥ëv• ¦ø2 pä꫇ONΊ S¸À\ª {öD2f¦ Äî áe\”Êú]HÖ€hKE5‚ržð_è¢^²:ÔÝ{Ù@\f_zì(õ•K5j¸»|ùȪ…‰0ºQN.m¶²ú€+x|oNñ÷6«‚»ùtwø3«õ… ë&.æßÅÓ’7“×ÚC–Ûˆ5`õ’i=&±G¹DL_t±qËÒ „ïw ºgOÿÔ^Œ$‚dOlº]]y˜uþ*x”i÷¶Ôð„ A“–´~„ÚÜL¡‹±\&1sGÃ>pÈAÈòP6#g1ˆ5HŸ‡`*ˆúÍðÍB^dl¶"{ô?8ÂãE¶ßžxø™Õ–ÆÌþhôË|1Aç´Nyn7óMŽ˜îs7ØÐú˜XM&Ú(ÇWʦ1–isФmŠzŽ"¬˜ Ú¯$½8×»¢ !œY,V h4Ø.HÇAº)qñFŠ’âø›¾×÷níûHÂÞt0ÇÿòþýAG\ ¦´ö&Q;Mû…¶¢ÞÉI´wH~S Õ/¤z?g¸Žç:ÈÕ3ôØn‹ðÄûÉŽ”×þ¼ôÆ\íÁ‰ï•'&äD=¥z¬Ë;Ç~!Ói6J§P#b¯rš¥?AGø~tÛ¹ÿ.Ëøü\ŒòõZf¾À¼s·´‰FãEø¿$™Ìiì£;) œ4µm´Ï&WZlí?‚¯!ÝD”cc+j"ûÂŽ™nÜùûÇö“ûÅ’a 1.˜½Ÿ¤[@2Ž+¾ÌÿÉ]@öë§`¨­/c‰tÏÁøÔ óØ×£‰Ïð¹‡ÉÕàÙ)-5u£>ãq¦91’îríÆW“SéW4Ã?[䉓*HžB'>Oÿ™ˆwœµŠ~*[ü¯n/£ÛÛ5΃(©¯’t„í™S“5Ò»Ûé@£‹Ò}#ÔN_àÐÆî9ãy”\܆Z02Q Ì ] äÓ¼ò¢SkŠì¼—¶¿÷ЄLRœŠ÷©*Ž”ßÝ|õ¬úCã]‘/%¸Û‚NÑÃëe8+y [€¨6E(“÷…ŸEªrJF­“·å môÕiX©ot ÷p6oæiº>þIy­ À$¿)DFaÕ’RY©‹òFprª«‰Ã»¾±[)(/)Séå0§â­¶RχÞHÇ­ç+5®K7 ‘e…~ `ëJ¡Áÿ´ ùŒkcyI~hæóÒÈ¿ýd‘â?­Zb ¯D’“h&ãnñl¥r;ò¨M+Ȳ?žþ½45ÀÕhW¶ÝhâT)Õ Ú`ém3ò„,’<Ì‘4H¤në{b¯%µÒV/ÍBï NÍr„l%h͵‰%Þð} $"ÐGaÊDI…ÕH¬«ÎÍjmUÑþóUJäMäž - Ѝ‹Ëf6[g¶¿¼XXëÐlj 'åìÎl‹äJï}äâ`55«ž«D*ÈH,ówÃgkö“s ¼UQ˜:6>glWÖ–z“¤w£é­ Œ£ ‰ïŒÈ$ºŽ´¨^W>N‰PŸÊ‘g*KÏ¡¦å¯%èÔ ·º÷i6y¢æ¼ 6ŽÝ”kÿ ”üåEˆˆ–.°EE_4«ãêI¼_äaœ5h›lQÌ"åøº‹õy¹Þ’K/z'ê¹ɵ*†Ÿ›K "Ñ‘2Zþ“Ÿt\íî`yñ~ƒZR;‰¾‰±²6J0<5X:WüK'ÌÁô`ËQ ;BIxuK‚#NìÀ _d¬E•˜ a)ÿ´±ô±²ðŒÇÈ~ìlÒÚ ÂuÅž¬D~§ökU<Ó‘ˆÅl *œQJôøÊׄ0„XùïŸr¹›ÛÒÏ1SCÈ-m3õì©›.Iü"¤Ž~XCû‰¼ªô”xÈÅ¿~§¹}‡#=ß æ\ œ®ñ¡îS}ßg­±º ¬Ä¡¾€˜Ï'Ërk½7´7Œ®XÁ Vݯòeº×î8ëC¬fĈaSÔB›îå)nô/=˜ä Œõ” RXéDBy§.À%Œp Cg-ƒñWâ›öu¤È4»»â¡ráêóÇ^qzÆÝ%¶æ…íŸÿi°â‡á†y1Ÿ7¾Xý´y‡ý¬&ÀúƒKDV,gyçÎnvbút#4›ìÌ¥¨I¾3Ð sêþ÷C([>ºyM7"œJÌÉôÐMåÐê{¨–íAø ‡ždu”#Ó[röëà 'ÖxV/= éq­E!ž)è=Å|ðÙE-e{Á}[ÖŽ”–*ùòc=»é(.fp.°MËü Bà$æ¾$EUAóÆÃ*p†ÊäÔ'^ãn‚x·]‚=R¯Zœ )o#ŘŵˆóðœŠácHö¶–Œ•òkÜDw&íæÛ•9—ôå~Á-xÊ;uëÃPœo–Þ¡È>­R3P3W5¤œ@¯–]ûœlöŽÊk“· öÐAýáI ÅH¶Ê$…ÂWôp£<=^#b zFtÃ@-sîŸ@‘f –­–?ˆé4 Ž¢¾=ÀÈÍ‹~¯©gŒ £;»o'`úÝêým´zÁíØö_·Úï„°& ãn a-ûÀËœL§ËŠ: ~ׄÅAªO65“ —_ÉÎÒJR_åËBJ¦3á°£Þ w[ Ø%ñåZt/¦ˆ/¹`8„, Š‘=H–ï0pà‡@gŽÒ  I¢õ’q`X~q?…ÔNuàfiñf¤“ÆÓH˜;TnFÎ!P[ŠV ùjó— Þä´Øj·€œßêÒ÷"R :i$\üO„Ó¯®é㻤|”XœÎcìph,±9ƒÚX÷ö°Å«µoŠ09¦ó‚4$0aå§ýÊÿÎ`û{ ®þ¿'N:ÙT:×^–PÝZø¨p°&ÅŸky~kÙNv*XÝòïT›ã¤6èóC”Te+A!šÄÄ"~)s"Ä•ãአ×F««!ÛHA;küùñæ¬o{¥\ó_üÖ `_ëê±äZñ¦—äá2–õþùhм‹*e• 8‹÷ŒkfY K¦Î³–œu7¼’OLµfZU›ÐÁº,´H=gN—ŠX€;ËË$0 Õ¹TQ_’í¡BØõFYDwê>èl–ƒúÇ‘›Á.(*ŒìÚ¾9êÇB‘ŽK“ª–jyäïŒûcü{œ ¦]«6®ÄOåtÃV¶á,œ38¦TÏþ>ñ®¾ógÔŠÑ ?q›Ð’ó¿VI{÷ŠwjÆùA•zåÐAŽqõ|ÕÉ+·¡(°ùŒ&ÏFÕ¯–\ÜÒú¢É³kø^ÃáOò~äÁÿvš–ººnžì³Z$|BmIÖê<ÝdsïeÄÒÀ Ãl¡¨ðÏ ©|•ºf>ò£JÅHßJ¼R÷yeå„ç‹“Î)Ô8x”éñZá³q“G[|Ýdm+³p†¤A‹{“»Ä[‘/îC©„sh×Ï’Ê«º‘ˆ3Ö̪bZ))›û5$Ka}®Ù|ÇÆÝ÷Œæ¬¦;mSÿŒG#>ºèñ½Abÿa%x1ñô:ǃáus7ÁÆD¯†Äy¿[a@Ô˜É1þÝ›?cï–4qD¯ æˆôˆ‹!Ê×¼!†BÔ5 žµ;!x¿5WÄ/>kï– ×Õ8è‹5ƿdCù†¾n)°º˜Ëø`ïUÕþöèÚo15þ&˜È ã3d%3L§cœ—z"%ö¹kÝ¿$ÐQå1ëk bFéË0mÍÏà³Öíî± v ÚA¬¬›yÁ –šf Òåwî¸AA|"Š&Ð…-Öse§ TÃn#dX‚ƒ-¹6S˜XJ´3ïQeŒ$æþÆgÂa¿u™a­ËÍCøbâÏæ{éluçˉNt¤?i½äÉp ÑPÝhB;ÄLg±®ve¤42vuÔv ‹Ù.µ Œ²VvòF·NÓÊm`Ipbœ­Ì¤¾\ 24ŠºXv*±ÿ.ÃûgrÐÌEa¼[ìþ ]ÍUóã£íIÓf0¢—ÇQ• ×ôq/%f«£³…Ûñ²(¥i2óýE9c?Þ´ÓXKÁAKJûüPl¼ŽÖÈl£GªiæÁmÔ ÄR¡“ †¼ƒÐK‘ `Oäƒ4B}S¶•MÿS_f&~4yoì(€È½`bN>{›°>õß5"·&ØBwÝ<ãª$ÖŽ‚OPR Ä| —gv¦áŽéþoò—,y†,ù6²!3I`«4»EE3c°8©ƒv"ö·)Ñ@ÛN}bpbÑU¨Js^ý_òæÑy) b¡º(*^Kõ!šÂE“ÎH7€õ=¿”öѽûP÷Š•Ï_"ãñŠ»{¨&{®?sÈÔM¸À~zm‰:ëÑãÕ³õ[ÔÁó Ì…MÖV¶¨†{ž ð=Å}Z£g²pëúà•¬fÛJÒ_;rȽG8â'lÝ£1Ǻ¨š?'* Àk•ä·­¸lºVgnʶX>ˆ|îîh ØìÅ]+knnºßÅ0ª‡àýܪ7× #gQévå_ð€^_%ÀsÝ©`(aŸi”‰íZ`¯¬Ì2´×¬ZÑèxÛ+€_à»Wóc)F‚>vÈ&hw@bïɺ̢mBYÔmÅ!¢öÆúóÌE±LõbOLl¬Ž,i¸2¬g1YAÇ#÷7,?€Å-„q©ÅÒo}(%:Ü)ÉŒŸcÈ/ 3“ZÇ 2$Cvxnr"7ô”ó´E|I|%ú/ûó“™Þ‡q±{Ð%+ø?ñ€ DùÖÍM]xX-«Ló)Q&¼_/¥úýù u4­ò"13”»ë Ù•Øü°àñ&儱V#.“ñ²&ÛÁò3“Ó¿¾Ía½ñyÅ3Ñn: ¤˜;2;°q|ÛX]É7®¼ß,X¸;D¡‰âˆì5ð$qt–{9H€¥-Û|wè¸m‚BzÄ(ùÖ²tf¿‰I{Ø´% T7¤¦n…ÆwÜ ÎÓ‘\¾µBoXm G×ÿç¹lØ4è›K72D¨‚¥ðÛÐASø¥k¯u>z]iÎGKek¶ÍF 8FwAÐÓÃ帀f /6®ZtP²ë›ËˆSÐTVq`@^Uqâ…¢ëªÞw–x•¨zuvïO¦x¨ ã¯V;µÞþfêa †ÔûÄ»k Ò È?:R@±’6GdÁL3™é‘ÅÇzþ‹uºcóiÂÿ„ì©"-èZÜc8±–[ÑÏâ3=•n{ûŸT⯱˜’1Þ2tȇô'Íz¡üåÛ–>HÉqY2¹¤8Õ3l! Ñ!ÔÑJ;öâ›ú3ÍÛ‘Ñ:²€§s<˜ã؉Üz⹯†S凲~m‰^é5ÈsJ;Wúí¹ EQ6rÊìHúþÇ;R-Áçk¸ÿÔ­Ù_ ÝÄ ¢°[ÞüL¸xÃÒZ÷¯á_#äËÛjA’‘|ôLf+¦°ûÿaÁÌŽÞêcu¨ˆ ;R$ýò®ˆò4n=ÙcƒáxæŒ Pb½`¯úpz.z£j”Bi_¼ø9\àAÈ…ýÀ«Ïž[Ó²©E\Ž}7ÿûU­ÐšöEÎ)Ku™ ú©ß3xpíÊûÅU€…~E]Ê|ñ¤-¾Q†&°ªþ{Qµ}н¼_pt¡˜émkÂ'+D;H_#FåÕ‘/GJ7I娗U¾Ë+^MêëCDœÁVÂ1 ¬Jâ}]–ŸøËš,9Îæ³ê¨ò\­É?Y¹ýpüßñÏ¿âÜæ†í àð¯{EÇW•Êw$ŽÜÔü<*E©¬ï,Ôî«Å¯o2#͆¤T[ÚÀLÎÍR>áøQ`Þ†ñw²³æ•u%Ðà{:“×9.,GÇqb6;胎DÕ Ñrùn ÊDoæßv<.lÏí"s$ƒæØ º@/޵‚µñ´Ã¸d{Ù³^Þs冘›‹=:A1à?®IË:”þ³NªüÕ«F•ÎçôÑRiÄ+ò{J+´uRA &û9g Tàw+ }ÛÛ~ð NÒp¼«Wг&ÔBdâìN¹g ³´û˜BoºèiV‚SWbî>ýøë} `Åf|˜ÞbRgÖ ÌÐ[ÄŸPÂï<òµ× ³ôìlÍö'–t’¡U?t º®äÛ eR2 \Ó4@ãâœ9ÇL™oÒ“U'dìB$v ‰ŒÔÒ žÝƒè-aPP.Ø RœâÙ¦Íz,Úø\Ƕ/PÀ@³)útB/4¢û%¹~~ãv†´M××;ç|—ZB”kÒ9½Ðï0ü¹ú‡¾oSò‚|¸6 ¶.ÏnêCîÆ{哌òB2̺è9u£QµŠ|¡§® )«xŸS´ÕTÀn•ªrÌ2öH°¸ô°@g<¤IŒÑaÂQ]s\5Ø"âDíÃ;»e#»3ËóR2å¥8EPè׫øZį̩i­$‹¢gžfŸó-¢K.œ±:ôkãŠ)G!Ëo. £ ¼+1˜]\=X¬äÓüݶÿ Ä{‹´ÕR]¹œa¿%O‘CÓÁ”ÞQ;<¿ˆ S%Š_¾ì<˜[ :1€ÖTÐtžN“Úì”)Í´®+{»&%óï/¾ã}ƒu¶8-ª•3ŒÕ`žëì£ýó¾€^ê‚oõ øÎ=Úìx¤¥Û£™£†öã}2¹ fÔ\vK0˜`†Óœ³ªuŽ—³|Œ˜‘±\Ä='[8á«¿{‘§ÔXåísò¤¯ª›Ú$QñöÈi¿/¼pÑÖDWr˜rKŸ|Ä!X¬&õV‚æá¾ûÌs°"˜C­vì{ ‡2ÞÔØ¥L~òpvx)cUµ¡fö›àkŬ¨Å~Ñ„|ý_á¡í @¯‡GßÃ`ö@˜¿¾plO“Ñf¨Udá⌷çâ÷ §I? l—µ}æF²›¨Ùj/G׬Ì~ÄÏÄÏÞ€¦­“ÿrò ­@•ïny'pŸåÑ¢,§ýÍN%Cµ¾»> X´Ç>k:⻺›$UEPx? ¿XŠ$°/Ѥ@hQôÕ÷µièÂNCÕàŽUæ×œÑ×GÉä8W¬‚Äì ¸­ i…¥HŽ·/(Ò»MÊ‚•¹hCUÝÀà.~æBãj•à./FË3x X¢Y i]WÚOSóv‘Of_òϦ¢y|Bª´9» Æ nÓsÄÄÃDº§ê$tƒ»Ê2©ÞÐÝ}PÇýh– Æ¡ù†aJHT­½àÞEù|Ô-Ú 5öOqˆÛEý/ Éë+C÷ŒWrVdÿ 7s&Îu†pWñCI³íÜÚÀ1QØDû÷É{OÈ|FO½sûÃ{W›NTÚ’öÒ9©ýûž#|S>|La+Pøsu“;5ðÊÊ1îxg+¢ OóÌSGò 3Z‚ KÌïd‘½i€™¶LØŠ_$ VÛ3„B™±úÜ|LÆÂžŠÙD¾Ù¶šP¾Î²‰]/’1°w;6¥QàG¨2ŠÄ€–Ä0(PÓ„3:a•ÍÄù&!ÃV‡Msw&í m¤<µµ?WÓç"÷±¼êäp‹D­~V¼~„Ò0k¤øD—ކƒñ©®–ùqPÅ‹õétܦé<ƒÒ¥Ð¾d&žV0 èÆÓ0.zɃ>&W@É4Z‰ÇË­œÔÀMBp”0]R`º=×í:Z°ÝA|RÔ8Wk%µ ‡Áójc>o[îÖúúö(&Ù‰Ìù¾‰"7²ò]Á)\›òYõTbäé¹aÕÙ‰ÕÍù~+èS¢ÖÙ|uü_q"”ÝY|ÿÁ‰gþÓ#p9µ#˜ÎQŒ·±cÄw晽ª\7~ŒqX Õ&q¤)sØ}?!”²WL€[qçuÓrà¶³'µ…ÇDŠäÁ/%´'Ðp‰«BÕò7º¤öù«åª!•ºbÈJè#¤FÚ/ó*J’ž+ÃËÍ@l\zàÉœ¶ç3%ÕÆ45)”÷%ÔmÒœÁ˜ø£Ζ¤4‘kþÑzÆ<&t? .MX§ü«ÞÑÉêý5²ÂH&\/«'Ý‘Ófeë±å¦fH@žJQžéŠ—©¡6ú*GQ3¿¯D5—ÝeÐô“æÑÛñh+' å’ŸÈ£ŸÜû¨ÛûnŒ¬êD᤯n'”ÎDµ0kÆHú·-%áWÛ§Cú¹ãlD’³8$ü±6<޽Y„8cb£²z]ˆÙíââLÜw%‰tÛ@{ ÌÃÛ¼}1Hñ`æcâÒKÏÖïÙÑ¢‡î`ðhåÛ¶ž™½r?Š{sÏUï°³9H@).Çb÷›ÈAÃß[â3íÒe9ñQ墿ÃU¹p€òç¯åù?HpÞJñéDy¸Â…u:îÕ¥8ó ÇÐêÎ)8(¶° 3K“µ Û7Z¦÷–ÿŒâ6Öås[¬IêÎE%쟅\§‘ÝñEÖqóâ¶wƪŸ—êZ_èèñËaÞX£˜«_ DXhòÊÜ<í‡ÚKUxÚ¨p›PdËx/U-ÇiŠ{LËÂÜE¡#7ÉqƒÄÖ!´¾n¡A_€%øÌqfÇÈŸ¾vÄãEÍ€BëJÑCyWÇ‘”­¾sKSjcÑ+7ír:R-f6œ&cÄ(¢àN´-¿j;ɳʘÂ|qþSÚ`Ž…qÆ£‹ÓC6`mJ²­6sÕva1Á]2ܶ¤œ'‡/ÉjíJ/,çáCî°v<ñoŸQ»‰ÕÜň>r¦ ¶ÞØC_[ -w—Ãâíq(¡£D¨U°,cW-íi‰ÏkÓ^H7ºÓuÞç ³ 5®ðüáÕTs%øªI±=6Ú¡X…únÙ1t×Ì‘¹6bQß#h/ˆPèÀJ¾ý±þ‹rBy‹¬M·isì°XËU«êýj`¹8Šû öމCø’cJ9ñ»ð¶¼gƒÉå*$-ýîæ¾ã¦:â =Š¡ê(á%¨=}cŽYµ~@I*Ï„Jt°ÊÂávÌxSOV¼ýÝ5‡ì$mSÍÉ'|çng)A1¸ÊC¾Ç= PEç{E÷`ƈ~U8ÜÚzB3õ_ªtyÚ’)ìª`èÄYTDˆ3Æ,+R‚Þ˜«b­©è‚yÌ’—Û$¿¥³]¦+½é4ëR´Ñ ¹H…zÝßlFUí„—ŒÝ% *À–žu¥TR0»éàÐ!,Ú„@>š4Â¥"p ±‘¸Úx ´(}a+L^:]ÙÈqAˆÝç8Ŧ%‚êÇË8T¸‘EìVÀ*£6µ//XÃW ‹¾_‘êòL å~ØýÜÄÚR÷ź[ÅʰûAöÊ]OÒg¦»ÈHF½·!Ø…™Êür¦Š€¦+ßDF§îìZÚ9Uì°SX ²ä–.âS޲†ó~0§ÐVfÛﯤ•ÆÀÂKXm[uln%Fgå½u’OåÌ$d‘²=/›ëiZ-‰ÂÐè1‰Ç>÷Ö (ÚeÜIø-p-?ðÀÌŽò`2ëZ”/œ¼Ñ¤ “‡Žèݱ?-¼i’åw‰P¶|DìÚ1’$ÈŽ?¯…{_Mž6¹§ð™Lˆ!ó&)»é;Nc-Ù<£K^¯Px9MÀ틇Iš]Õ=Kç:%'½£JW<À/SFIµ}YFaÅ´ÔbÜ‚'¯÷Ôuãĸ:Oõ·6"#&ÄvÖØÌ„$–¥uàÔ»¶û*နÊ\ÿ6 Í$Øø½ã0ßûÛµ›oÂSOòJ”—j˜ ¯Éh@½S‚…µê‚q%¼B¿m^Ä:.5Qjè€Ú_RRƒƒƒ nÉ© ÏO’¨gà£G:L†`øT™”Cëˆh o¸YG8eXDX·³ïýew†E—‚§îðÕCf3Ó§SŸ FÆ 8žÆ6C¦"eFÆú¦0m ºuW:92þü*:‘–ð{òÅ, ;üõ…L……^Íï@K4ŸmED–W¢`'QÞðw$nÈùSPЍ‹ãšw hK‡ö±·{]6-bvS-³Ùj)<å‘ ÙX,¼ìN¼ 0ij½!8„š‹ñÔ…™!€nG­·ÚîRïm‘ŽÏƒ7g@ °ðŠÚ̳™ýsrv;’˜~7X5øÌåyÃŒUÉ5Ëš:“¼œF÷‚ðK Û2—azN0ÓTÝëo¥QGN°}LÕqCÄDüQíIG:muÏ`žµ‚òŽ/:–!™ØÎðT¯¬ÉJ3uèlÌB±¦\er"°¦®r•õ‚Ø5†ÔùþãƒÔŸÀºë¨êâÍÕn·’†ÊøêuM]»:S¦ñÁk …Ú“µZWœ§Ä?Ns£éïܾĉP)$[ÔÞfXwÒ©j@›OžðŒÏÄA *ûÚM¥êÍBñY—kïŸû²Mò‰1•·ØÖµkn`5}©)wüÑ×EM`9þju÷wX°mYÝ¥µÆ‘ï\çoœ»j÷“À”ŠY­pxOæ–"‰9)¦uö›Q„”é ëvΓ{­¯YO”颼ڕs+¾a¸‚ZH?*Æ€£á _1Âí¡+ÿïuâÆ‰ªÒnt騬 P· |XmØÒOJû„q½ 7 ‰®¨-';$ÿϪX×âÞ7?‰¥ðòy–áë*ãy²˜4¸_÷yèÓ÷5ŽÉéPÅ îfÒW_X% ‡¦½kDh)&!µŠô–ÑU^ZW爐BXºMiµçãn±‘`ÏX‹XøÛ3¯^îéÇq˜ÍÑtqF6ZïÉ-Ú‰zˆÞòB kaçY;RçÑ©”u†â ´'ûÍ!€D+ÍÈ%ð’Ó =¬ü ûÉsùÍkîY(§>´³Ƨ!:z‚9QëþœrE׎é%Ì0DW—Ò -w‘UÂoÕ£ÅoÙ"áÿq¤=”ƒò%Å` 7Ú îð/ÀæJg¹.„x£ò\ø³ò;Ç<=[ã£ÜË¡ÙàrÓ×np&Žqò(¼‚~μÒô@æ‘R`œvÄÀúò-%ÓaÃs[Ö þü¹ yƒ Y‘w†¯EÆ@*ü;úÜÝ»‚‡g'.ùò¸ ‘]kÓ;=– dÍ+iRA.!þ&`ñ²¾~y¸1R0üµùÿû¥<‚#òËYRñ9P‹“>Ní½†žŒjñӵܯéß,¶ë¬ÑàPbS=ûël‚Ø9¤»Ä†•Rw4Ezg:‹¡rÊkƒ oö­;(>ÏÛºI÷ ޾ÚzÙunräåîøS"¬jý÷:¹0ØG|€NG¥éÚax9íØW¼ûN|øœWA¢H¼VÝÆåð$×´Äûô“ù³ÐCH…¨èWp¿Ø×yW9Ó<†û±„%G ü.f-Ù_Š3gú)$`âÑÓ2;î‹Óô±ÝNö?¢JÝŽѸÑß|P\ûôdÒ¶™5O#4†:ïi’ÞnÁÅ_öá®'£¢þ%0TmPØ#KkZdT,X)Š ƒ_*¡á¦—ÐŽ¿KÐŽuôá2nn[첨¡KQÉ3ÈÞDIúÖ¾µP¤¬ˆ¹Ð²eËt A"®¾ÇU¸¡ŸÔt$£ËòPEl±Àǔ⧋ÄàeThäw÷GƵѽ§•©º£(u2z•Ó Äwuîfw©UįA2×-|&«¸¯ m¢0'âÈËûÑåO±+îq"!t1Øï^d(¸$Bõ²|¾Ã£šÜJÍ;Ñt°>·~Ü -F””çOC÷;<#ŒÁM­8¡“‚Qâ°áJ¬÷ûOKg_ðO;’óÎ\Gñ*B×èl¥)-ÀTÚÐ)õÌÈHOr©å¾sÈîa ÇϦküWtÑ?35}ë¾ËÎ œ°ƒuÊsé!*‘QÖµ²ÿŠè™É7ؙڒ¶ צ¯8º‡ûåìÐ×ñLt¿Ïœm©Uƈ5Hh*ÞãÕîiÂ8õâšÁ]* ¸ÄïŸbQ#r8µ&d…5&ôÏ€ÞÔŽËßy’ʼĻÖzÇ¡ö\w *Ýß­¤!Oqö—Iy‚Dî@ æGºMS÷kB©¾"S¤ j`MòeÐ0²úÌÜ}ÀÑÄ4áUø¾šÙØo8+i~Á¿ó~þud2™B®Ú½NY‡&QÚŠÇÑîI£j YtH,Ê€“J(ÑRÌÜKî©Ë¶ôxÇz>‡ë~‡Z¸T,¤ÿm¤‹(œ¬ dÓ÷ˆ,„ÐXÒÖû4)8~Ó™ü ,„.©]j¤žû¯ÑÔ7÷-öRÇ– Àg­úZE¯HXyiÃZ÷–Á+˜w¤œ~»WºÛ¬ Ȇ\\lj:÷ÄAwÅû‡=cØ{kEÙ–¼à)²XNÜ.áTNÐ0R•<÷V$ ®yV&³¬l7÷:ÊA¸6Úã¡|m¡LÐ*c²L5 áÓ÷î–\y¥f¹®žy68 †zdjD®³3²éŠG›…/Њ̪®ä¢,ZjA |¢ê¨úÔP¢Œ× iÕšKì1’C-|-÷ž †™;êÞò BŠ'0%9%&›Òo­ÄZ»$¦´„ÆZ›/>8;.%£˜8½I8þ' XÁPŸ—ù'Â=æ'{æ®RöãŒ0èQÐMA¦öîí¦uIöD1£ I̹²K"U„“¤wN:RöbzLƒdfØÀ"ˆVkûVø Ä ™‰æË^ Æáib TЕµ7»ëÚ»¢%& /K\L¡‡ 36°Û:×¶3šl©vÆ@rUü\mÒÓÕŒ]îE„¾šOÚ%åÌðCù96mç_·íeÉï¶lr¦½Ä©¸B–§·õ$äk ÔÖ@Ëýº¿;„nìd=ÜC‡p À+Ö,]b ÞÍUãHÂZ/2O§#ŠÝÂx­¢ÅÅXU† ß¹­™¡¡J¯Ü;Ìì–´’¸*Öál=ñ¢¦óó ¤Ÿ#|¾«Δ1ZOb,›êˆ ~äÝrºåÏgçr Vq·Ó ‹mîã½=–Ù?¦g‚š†ä²ìñû¼_öO¥' í- Ê”kK{ÂrN@žF,.-³‡ßx#–Œ{™wý×üm‘‘«iÀu|?0RÓ¯w A|‡f¤Ïø–læ†ü3¯=])ðçŒÿeÏû*˜‚­ºý´>“v7Pˆì é¶m5êÅý÷¤n/ëöàÛT¨rx ßjXáÆæÕ VRÈð’ðX!x6aœ)(«ój4˜2ÖçIXmȤú`•šCe%i\È+]QysÞÔP†”Ó´'SÈÍo›k¨çh]–è|½¼ìk¿gÏhlúdU87Ú-¤yO¾·˜NƒíÕ6®_^§á£îå(]:°<Ý[LÕÿš$Ȱfê–£?0)óE3ór5EhºRy4]f»±{ßtЈ|ðYâ_¾i&C§“ìQáot?çà€£Jæ %\v‡´oŸØƒ¾­„t´±²è¡^›ýPÛ…yj ÑÓKßf㢚^C%3‰Úu?¶lÁÁ¶7K:™wÕX²_GÌ¿DDGÇÜØ'-Ðþµ¸N#g:¤Ù<ྰBPËÒÓŠ²ws)£h€ ÉÝ ¶E±«ýr~γ—Mƒ+~³wAn~°ÃòY>áJ‘?Ǻ{S‹tfW2C™;ÊvÁâPÞ;)‡…åЄZC#L¦”ÓæMÔ_çµø¿ç; ÀÒSìiÌôñ¶¶Ÿî)¼eS`ÿćÛôxœ¥æUž©eZ Aˆì¾@ЩBÈu§¦êgá(ùÔú`gW’HhhçôîÇøËÓEñî¦-‚4È”XCg\IŽv·¬Ò– ÊSEÚ9/Á©fت¼Ó7#7î"߸¨é–Œ—â/sdG´-rM'ä—Ó^Ï’)I¸D;#ƒÓëá%*kï(õÍ3˜:¤Rs¨;q71¹Á?_{=ÿ‘ƒ1¤óIeœ¹¨G"kc6FÓ…dN”^ÊéÔÌlôkÎÅñU–§Âü® `µ÷lËÅÝ܉ ®¢?Z–»|SØe–ÿÐ[—•„ ²©[‚Ú@50¶–ØÂ–ס£¶Zƒå@¾Òí£e)OP¾Ìr•‰‰/ÙyX…l—€åþ–ÂÛ?ǼÙyD«|ÓëCQd?–W6±.úµ¡ál¤u0%¸ ZÚ–ÛÌa¨ðlp."ô,EœÛÒê›ONCmëö6¶·Šº|1pÄÛÅŽƒª’˜íú°æÔoº=&»Öe³u¨ƒ× ®3RóõdMðw®)=¹ø$Æ«µœ`¼gIßÇ ívû¾|”‹ýß ͽÍ¿;%ÖkOp?9EP3vîñ}?ù(äoåÌRcÑÄkccCxZ¹ZÖT+`êÈ€¨©­¹Ny6c¶ìl%)l~Y&î*e©j!"-°C†wz/â$Ö¼K>w™¢ ÄÝÇ×ÿºekÂT×P‡hʲ5H©…Ò,&æ"0(ÒLW¿°”ƘPΖ×»¯ ¸‡ƒñ7&8Ó¯/ïx$ó×q¦e)8”l÷kˆ5¦ ñoÕ]ÀðkIEXÌP˜ïKk†/1-@Î=3Lˆy§âlÀ†Œ$Êyiö'Ä·{ 8ñŸ+Ë­ª Œ¯Ÿ¬p ">úÔPO·€‘}¬GóH ‰Á Ò¯Öa4.ÓIsßñã¿5XÈ#Ðl.ãvÖQ+íy÷¯tËI?…€Ë¹ª£^*]^a£ÿ˜„o<ª(¢| 1@hâ2V*³A8žtâ„\H„))ƒÿVû‰Kõ–4ÓÕ@Ý~yDìñ‹¡ÔÄC û…ÙúU½eB4—†—Mþ=Í©XY[« º’Âcg"nÚ—MlÄÝøRJ;Ðeô6•]BR¼ØáÔyÖ«Ø}­Ïý¿ËÃØúl ¥ˆR”[Îñβ!•³"1ÜVŽeo©“Xurl÷M9˜õ‹Á ý¸?@eþḯû…ü¢ÒÀîýK™ÛWC])®›A"4‰a5l~}h¶á#Ö…H0j6873=r‡3ÓÁ<ýðPi¹[Ÿ'£ºsèÞü’•žb»ëéfkÄÜùo—TµÅy%tô xÉó"„t¸[ÑÛ‹¤­®‚L#¼lÅåÛ³¯–ËR‰›Œ·!?µÁU"†Úɳoç®*¤8ìe%cÔ:[üDÄ­~áƒuÎÁýº/xqæºÒ3]Úö¯ÛC¡þž½ çvŠØ,/¬ ×Wè ÞýÊ„³½…Ã\"r…Ó(´ÿ§íðmÀO‡gYÑ!gvÊÄŠëÈ›©§'gvÞŸqXwU|èýŸ˜Ë$£PJM_µö XZ¬ë1>ö–Þ¸ê…Q×a¥Ñç–(r¶¶_Þ"Zˆ [øï“<çkfK®yÕ ƒ·­¾;ú0ÜEU…@?¸$u‰üƒ¥WM CáZl€£2ƒ¸ýËM&ÒÊMä0cØg¦g6Þ–•oÄÂ;Ç>ËoÜ‘´ï£hù¡²)0Ós¢òÞ¿{íE±lßµ 1qr2€*ÖÙëIg°{ž€Î´×ÍnNY`«gÌüµ¾ÜBF}ÏbSýÔ;$J3Û©—Èž±ÌT¥=xñß¡žu²\O%Ñ-dÌ‹ÃÝê)ÎfÞŸ·`–pÖL¥2kšZ™ñÚZí4ùUgrg¥bå5Ý/U0Íç?eYd@KäÚC^¯Hh÷Û˜½p/vP"Þ¯àþäoýú»ëÄ«;®†wôl¾à<ˆ½=r` nÐâlYˆdiÂ7óíZ M‚ Ms’(z}ÏuÀˆŸÂMš TÓ?ëÌÍ Þ4îù°Ôw`gÁ„è‚ÁFÂ>$hÌÍFz‰ü€5ÒÊÙtêÍËL‹|}¥ô#¨ÅÅRscs)I¼€»{hÅq’ ï-écävFiÒ4ñ6d%ŽH«ZÌž@sˆÀѰƔ$@ìÑ í¯F‘åh|»1šŠ’»£äG®™or <'ìÆá¸Uíyÿ/GðJp%2ÙÉ¡ J?Í=âØ¿¬ÕìàÜ­«)%Œ4wLv/ôŠKGmÒ/VÅë…÷‰k‰pøãQ<…+95MÁwí<[T0÷ý²‡½ñe|ÂÖo^Õ îË…ÔIåCnSr‡;Eæÿ‘.gQ¨íkî%öâ^­Î2lÚI&úå$‘»‡ÑØ«§@þ…ã¿nf¢lZp­s“– ª³H;åÏ`¸dò]È¿f+J®8?eÚmëÉä ÿØPªœÁ¬PHmo€eƒÀ˜b-õé—Ë6òÒ©ôí e% @úLj6<°‘ºEoB1O‹Õ*û˃2Òs8ß Šó9kÎë[ {|m.úꎰf§“ó/ÆÍ´^ØRêÔÅs#}Ç9V¶]²ä¡°5{ýÙ‡ƒ[õJ49X`l†";ššÑ ¢ÏðÀZµuD{ü ³+¥99gr覆ñߊ˜k„‘¯äΑC—,bGD‘: õOR'®]ubï;&Î~Õ’BóGÃÆ0Fùß’3X_%x™ð.-D{Ï—}áÛsj¶ÄW°òø™ä¡UÈ®°½HÅž®yZ‡6¸b! iÂìúåK@H²ºÓf»=’`­Ôí^A¥Åé¯)¹i|CðßâÉ´«reFÿÕ¬c Yßé2s޾cè=cÇÞ©(£äSIq'Љ[–—ǿؕg†Ë½³Xf€„¡´™‹K, [íeÎožìŽóé >ý‡«õÇû-Á[Ì_©¾J—àÂMDf…óUÉoL ºÜhø‹À{ë³X%¢*á?y&OG7OrgÆDðù1龇ôKCøEÊ)áÜYÁ÷݈€†rOUÏZ*/f<ÿ Æmƒaþ.9‡Æˆr85+D®&Ð{[F°€ ö'E¶¨óòDýoÍÐ)Åèý4 íñ蟂¾0Èl‹m“ÔàÇ+%éêŸá> øÄ»ì’Ý[E”†Sx ‹?‹ß§“Ú¹âö™³Í#/U8.¯ªøÎ€zÏʲ¯Ûâ=¾õÃ{ƒfQ‘Ü€/üÐ þËYþàadaXda•¯7>øªgKrt!÷žÿ‰0Ò±ù6õUt‹öÕO!Œ3ú°¬ófŽqåXëU1‰ÏMå¦öšíÖ¿†ÀDÓ§¸“ì|³ö‘În¿ë´…çXúÙXwóþû¸v“ŒÏ ÒUjõ‰K9¶»£S¦êÛ·Ú¨ÔÊÙC”õ2úW¾ÈÏ'$ÏÄDh‡A½õàÄ(åíÚ³C¼àè5P·ŸxþÕá.Z]Èí ÃßË”­£/¯Ü¿ã¸‘Ò[€ –ê_Ïñ+’Oí,†_×ùã™Üî‚7aoÌRÈ-£eÏɳÓ5coáÁµd7&©aù¢|N"öé¼/-ó)BÚ¨Ÿ¦šöÙG4QÖrp\$/§ñk¾Öö’ªÙK1b)!=ØIÝà˜Pn¦,Çwô*¥>WŽmJZ+ÏÇÙ¬r>ßómÇ*™HãSûN=‹ï`V,aIáŽÌMæ‰1Øî—«12Œ"Tµõwg÷1~lDù! 3;]Ø>W‰ûëÑ¿Œ qLåP÷íXÖó'UðÒû¹’ xY}ò|û­âZ+iž +E‘Ô‡«:Aí£ å·Dõ ëñ«¢’ðóØäv¸Ë§óà5Wø'?Ðt»Š9—GÒ¥¯þ˜ÁQfßä°øv.Ÿp3ÈrŸ±/Ë=³‰Ìp}ã•*r^ðÁÚì€÷€ 6•üÏ,)LNà.³ÊÈ¡!ÿºD·yâ§~¥òï^T½Û߉1,¼ÚešÖÎ;j9 ¡Á‡¨d‚»+vzKÀh½›½Î…«¨šœj0¡cÒ®cXYg ½›|m=ó Ãi…–D6÷êF¸üÂðÁ×cäʶèCª[5)ke8zTŸG6+Ö gdøS¥ÿÅÚ¾–ºÏàÔS"NÞ¸}Ü Xíaû·¹ fší§¦‚× )"Q>‘wÔF Zà[êéAhkƒ`éŽÏ9¬L€ I”Ïh!r…¯ôN¤³*îšì9Ë®7$¦Kîê+ÈþȳÑ•–鱨• \Ãk2îŠÃ¡æôp‘1ÕRøl`R•T2³ø§©`àíA¡·Ö%hª)÷i*Y·Ë@N“Ũ\`ôë ¿…H’ÉÃô{ˆaËz¨ lÍÿ¬^C£#¶7Ì`e~†`|Gäà×Ìh¿g/B‚±]Á¨õÅùraSº«œ•M-¶WøÑ·}ü6ô§4ãŠyÌ%…ãEØŠ{sêìÒš¤B*¹Q¨ÔTAµ gu,*&â°´¶Câ¿F‡¡P!ØÕlÎPLJ›í¤B\Ø„(zú(ØõµÚS6ƒœ6•9ïåV¾ÉâÄÇŽ=àûfÖEaÓQ·‡L –5<ÎÒgZ=¾H루SêMÝŒOu¡Ê¦_RüÌc–=ˆ«5í¬Ò?€ó4Š„o-ÁlãØÒðÝVe«±J§u¼…ä§&%8àÕÀ}[K¹N”1‡d .ÇO:”öÕ cÂ;œNWsÕIûÀS¬#L_oØâ2©³bÙGd×&.Û¶N]F©°çÅcwsU=3¿›i¹ØY²yûkÒ[VÒ¹fQ8T/ô0uv/%dðžw™ö’#ÁˆÙ*% 6'÷ÑÏÕ ô™$ÒôÙŒ2ñÜšÉ& ó:!J¯°HOJ0$rƒQ¢OÅ¢o©ÿ~D0ÁŒV jò÷öÂg™á>Êc¿c½Ä[¼0E@ë8+Y4-Pv²%^òù¹S~Ñæ „³@ r`R=°µíµ˜¨%®5¾«¯U_Mc¯ L-MŠUD| Ña`Dú «ÔžôÜUÑá.h_¶XÊîañl%rbrÈZ´²±Räç÷åј¶ä€ ž½•v£„UÙÏA:èUpë® ±qåþÝO%‘®qwyº¥@’'ÅJÉòhë9è'ÌüfÓûXO^°¾TÂs“íuÆã.Í'ýR¦N‹7ÑZXTjiõÇÞ›7ÑÊs|¬‘W&tÜJ6c_¾„•PgL?÷ã°\Æ#ªž'ÿËG³œ#þgÿÛ¿'¿bMؤð(Ïè¢Ô'!A4º )¸Qb—h°zsô^»Ú9‡ZÉíþ(«x¡Fî·(ˆµÈ?t¡X†èÛ°¶C5JÌ}sÅÎ õBƒRAê3hθ„‘æñgÂ-„ˆ”ˆØf­´0™"(­$Ê8Ql¨<öO.•/ZŽøËutíûSÎéUÊ¡NŸØY“ÆP0 µ‘æF±6¾¾BNþþ=-ã™{[1Œæê·°–Õƒ0´Š“¤Þ¶îwµ!â'ÆoÔ¤WBq˜cDÏ2/§{]ã§ègt”W‡ mˆÓHÆ©Æê¥žV(Lx²sÙG PcÇy ѹÌ<bß»„fÒ1í øÍçQÜÄJD3•·lå>#eÕ*ÞSÑXtd.òvXöµM7ãáÎCľWØ(yŠÆ2 Ø:t¢Ì3¿•ÅÙßjÌ „~=é' @cçg[÷Ñ-zW†æµÌV³­Èß1žÉcwa!Ù«Pÿ·ØFOMÌ.tXߑӾÃ@› ?fLÿqDAœ`sw×â^|EÍ‹kxøèC_ uàĉJÜ"mØrnóñê`ÆÌUåR»@ò†hn˜Å–|Ç*©N9£R1B<ó~…ÅB€éL‰üÿÎ ëLTí[P·¢VëoYìîâ7¥£f!>¥Jô¨D=GC‚¢îõ~¼t>¹Ô/Ì$A·¸>=,ªée‘IÖÁžÛ%Çmt ÿÚ\r™–IwY„¥ “b÷‡6éNînÇõk# µÛëÅMîðdH‘„,Ž?ü—ž2s³8ÛöfÖŸ¦=Æ{3Ô pÜÇ%Hª€Ü±^»³J$!oÑÌñÙ™«jGGr0¦ø¤æ3ÀôÜåÍ~Óᾨ.´tlƒÆ%¯é‘L­aÅÖ,¤ú‹¾<~‹¶BZyûÍçÃá‰ètz¼>1@úõœ•ÒŠ£ê‹¸$2s\ßțҗaT³Gæ`áDý18ñæ¸â°¶¹{ÐõæÍ_LÊÆÏ¹›ÅøÓ†p„Y Gó·E6éZ1í.É jîá¦dÂIð?©p¡éY_Rëº)UÏ~s ›¢ØNJñÄÔºëЉÈ"G¿½ÜÊî¯+ý;§Ôh’kÐÆY=º˜ûvËÃ(òîÿú²x#†3½4Ý+~ÿù(lV¾»^8À…õÓŠî ·q ijƒ1†ÃS·rŒ\ð Ý‹pìÔx¹]Õˆ`?3~(”TÊÓ ¡1péCêÞq÷Ÿ5o(ЋŸÊÔNHh!ñ .щh0Çlq';æøzû$u3-ùwà fWê3ª”Þó"ÎüŒׂ¤VAJìräÀ"}XO€¯ÙäZj¬4ÐYËbä³ge®Eû¯¸éà8’LÆ}«ó ÝWŽ/`äVz^˜HNá’šlZÇ0Ó¥’{”šq)®$Û—g»Ejz1½‚`'wþiµå}ÕjÃ…×<í’[NøŒ ßH¾fD…僴™!F±À1ù&! ÚÀóF¬@”bå)ž¤Ê™L 5áÜç7ášr5.{#S+ÎæleÉàªÄÏ)ÿ;›¤wâí.9!{=·òÔn¾îälL‡Õøjã…B½èßn{uÿ- üJ`r$ \‹D¡,¶DŸ3êUD®¤M£¬g¨Á¸#l’sÚ±ü"2ô\}—gð&h|¤0;dç§%˜P»àŒ_ÉVaS¨E¿^â {Ví`šQ£% á|•®¥æŠ+#;+£‚wL…È›>¿ß²r§†pËg$ÆP!2ΟÁë?™¬ÃêÁY™îA!Æ»GÖÝ#ù‡ônoÓH—øôYV§]‰²ªPŽ‚Æ¿‹Ç0e@¶§˜JudÃFZøÖt,p:¿3ÇÉà”v· ï¯$£žëØì4–"dŠ®\OxPël®åmºˆ%qèÍ/Z³›õ‹ ýB™<„u¼¶Ãœm9BåEÑ:1âDŽư´ÀвuâÝž’žg·y&£°È&v>3Ü3èƒó¶UÞÐÃK7 "\k /|¹|¿ É}[J½òÝÔïOäç©ì~ŽÝë˜0\Oƒz¼h§hȹ†_N´€ÛOöÕà¡é­F|›¨ª@*°e1uLgÍ.þç›(ozzM§üò.¿ ©ŠÒ6÷zæ¸yñ¦·Ø‡ôpŒ««PüOÉ€¡¶‚Qà “˜RJè9šÎGž3{½X$öçK£ÂÅ8@m¼¢ýe¢lA†/ÉŸ¼g:rá® ßOÆè óÍñ^sºHYXÊ2ê3½æê”îA• %Ç:u¬µÖáBÎo Σ._Àãš}¬µdô­¢[þ….Ó ŒŸaÚ=4ª7 lТÛN»x& Zî 1>=‹Ip›$Jœ-åáž ô65cJ䔚¦x/Ö.»7¿¼ †ëkJäÞ49»2Ãßçå©S#õõ>_»¬°Ó˜¥¦)‚2 !>–HÀá)}ÿ»¡ÜQ ÌŸmÑlïÞk¶å hÕ+Ý4'ÔNWáKd=vµÂ4Söˆ2®6¿nÿüÚd܃*á©~ïÅW(æãÀa_9ê±;„Pî¯÷Y)Q,Ål2äÁ…_´ù*îIà: $‰ÄJÈÐ#yõŒNý:Á†R¼R‚úQëé&±dp¸9¿œ}!¢@ ‹ƒ³ÀÕÚÙ‚Òÿħ£v¸Vsz AH)•°ãîD¾Ê› ÌXI"— BWm±Ëpôv^jRÙ/Â+©7W›ÝrõÔŒUP/$ú:Äì†q&ð¢Uu–îÊŠ0¨ÌDuÑí»vZ{ñÿrdÄQ>0;5—Y•lhBªOùlX¸ß™!c§UÀº*Ç*“›Ž³ž¸¬L}H:Íg"ënÏ»ˆÌQ}y_Å#M‘æiÕ-7ß!¶V‡”\Åà *]6(Cƒïn~¸Ìî!¿ý:a5MÅW pô,z¦À°süì1Ž-ˆlâ²vOøŽ‹:òæÜص]ÉÒ7ErÆbÞx½ƒÓì}DPw`BŸŒç6r>DYÛ–xÖe_å¡êÅ¢§ó8c%o(ØŠFoWuFáN >^_1}„.ûÿÉ5iVQ¶Ù ®ÿQ½ŠSGÏÒ?]Åßu a v”¿ŸÍ@Í£¤ùªÞD#2õÀy!³-gÇG”Z½0@NnI¸»š£„=Íbô ¨Œ8Â=:%Zbù#ÇX [­+øÛ'’^ñÒC¦¤lx CÓš_Í’ÅO®uºþt ÇBeŠ™¦–ƒ°Ø\¸Wä™8UFY/Õ}¥z3I•`IÝó¾øÚ]Úx!fkF¢…6&6çï+:ÆÐ ‰™_|xÕ†:;¨ˆÞﱫ×rï1w=¡që>1™íe»²˜[ìD‡Ê ˜Üb?d2oêò-ËQ‘©‰¿õùѪ°©?•X6µSZ ã¹H}Úç «£xÎ,ëˆØãyCR†@.ñB¼Œ3+Ü^¸»{…²2ø\DëÌüY!/*ó°D² ›š ¡~o÷å\l}Ѩޣ8¿W•ÆqÓ•\Ïÿ=˜wlÏéùgÓ¢ïO ý(•à•û4xíz»d>1` Ørnžè7ÓjnlUgU!w;Å¡ œ%oUo¢g÷Xú€7rÙȽé:дȺvHî6ÜÃ4Ѧÿ7î +A=Oà³ã‘MÁ™E×Ä8i"¡±È*ß¿B‰cän79fPEl}ÔÛ±SßO†ã²b˜€¯”î*a¨­bN4íâŽßÍ+1âT‡Öñ-?rpÎ6‘ æ‹q%†¿'äÞ¬;V*fWÐï5ôºP¾UÞíÚˆáÚ¤>¨œ*Ú׈þ€Ž+9®ÎvËâ\hôq4j7Gø.­æ‹³ëQuOŠì ³\ö›M¦8xV(L²Ó<}uòsˆwÈU”ý%¸)1‰‹ù7( E°" 7{®ÿ4ÇF=ùGeð·ôÞ¢6 x]Îh]£&è¡bÚ=Œ8@“㌞Œëz‰3pøeÜØ½æ''JŽaîžAøf^}ÿ[eyP­›=J$À­Ñ8;ìú.¼†ßZŒŒcÅÇ%Ég¬S…9ù²5¤ƒŒë˜C nÑ®N^îMáõX·¶˜5’—Ô'䨬™'š,Ž>éÏÚ]ý þ%£Äa‘¨;,ÀYø¬Â@«—Qdn§‰ <ô>™OEp+ƘcÓúÙfÒšÇü\•£á ¾½k¦ß¤” ‰‹9‚9uM §*Î>µçOᆠº!ü5Ýæñ9K‘­•ôʨèŽ÷b :-DÁ.F´¡€3ªXÝN×R°ËÀSlï¦}¹-„ÉRðh&|Ãë-§ 0K5§,MU(vv#V0£.{€ˆ÷¼Î@=G¶€µ§®£äêS}›ˆ6š¯‡,C{¯ªå,ÝÏò›VI‰ÙSuR G›!­ùÐĆ-íõXü–çî*…}=üš³ ‡]Ä;ÞS¦](í\5½}#dsÆÇÔ^mêÚ1ç´gC‰ÊT@+Ü+ÀÜ”œumO\&‰Ò#Š”CqÁ·¯YÑw5Ÿ!\}é¯zÙ›‰åÓiþ«'+Þ¬@ìÓÀŒ j[C›û‰Né„©E›”× ¿þÓç_bUæáýa¸×“ÊKÿ—raåA&üUŸ ÂÕ7ù±‹´‰E›m$eľ’ùêëÑWò-ò¤S{„Š{}õùǼ ËFºYÒ 8Ö:¡O4>ªŒøKÊi +Ø/I¸J'¯0#ÝÐU&Môï%Ħ»Xz¤¤ùcM—[62uó åÔšƒ—žÑKÄîº'­¦[3Å6‚:EŒn2(ŃE~Ù0¯”þ¬Î §íÈZI0Î’äjd,×[³ý‡_ dØœTVÃöÝÞ8€PJj¥I¯gl`¤N¬³Íô7ÿ !@ÔRTèCC#«n±l9X½þÆp“8"tP™ÈÖ…Y§CÓ—A1')]ä~#[鎄‘Fó¯L.ÜÚ(þQè_Ôr ’‡õëb+h0 ¥<8B@ÌfÁÎBh|ñÿ¬SÊœ{ûþ™ófp¿;L½»¾º]4ªìO&y¼òRCkŽÖqcžºFr×íB²a&Lá½îvrR{°&+$€ÌZï#{]µ0fhá8lMÍÁú v–“hžQ&ñ¨g.è¹+€;#f‚v +p½èC3—/Hišö³ñ=P­8lÚ‚ö*c¹Ç–sg›;*5*7ì%0õ¶--÷z²0ÉÓËVcž¹Ûéw\Û¿?×?¸;Üî[äI»[ur^™£¶ùã™RG(÷ѤYÎå\¯}Ã*%Ñ64 •Ï­‹¼c@Ð}<)c,·%GeE†7+²/ZŒ¹RÇFh"ùõm˜oÓ{ßOüø¯sh²I"à¥&sbšt ÎFå͹ Àd(pF1PÐsŸ3‘J/ÊPð Õ/í»3êlZˆÍ™Q€JЧIMTø;–«©öýb8™]½t“˜O§TÎîÑ“¡¬f|¡J6Ò]†Mñ<œK—Ó7À9¹ãÙ¸–A³åÆD‹§IÎínŽK†ý@ÍV¥~ým×󺀭ç¾ÏSw™¡šxë÷&ñ-èÄ©fÐvÔ œ„)E1ÃÆ 0IÎ÷òɈèÒ¥:ÓDw½%õÁ%óìô?tJ3diíäJõ^~ ¿Éåó¯S¿™ãg¬áIȇÆ6ÚÜý%&±ãïÞ˜0ω@¥™ˆ·%#Þüƒg« ÕÍ_„f©s@ö³(ßJev™X¹×2¢1O»=už9™ƒn‰QªRÆnË¢*êPÝy§!ü¶`]ò òò€ö €ßnWXF‹=}›”êV¼2„­‡ñåPÔvºV•/è5>ÿm˜æ4G‡±Öî»8FŒrlg’ô?aóÎ;4àR«ºË‚a«Ž ÿúùPaÆŠG£?DÆ4lqýZš8ISð;…<©Æ0Çgáƒíº'5ÆÀ¦B˜ï˜QÿðA%«OÂý¹‚ ®¹ƒüÝãáŒ_´< _ ¦}ü(ŠœVTõGÒ‘pÕ픀€Téçv2ÈÚ²KÝ$ûFLØb‹h­l˜ª"‰Oýú§q”‚ÚáÍÂ-üõ§ÿ~g‚ëÕ•Ùù:â0‘ñ¸ÚL’pº“0ÕiF"{EDk°tÔNj‘!+ blj¾õûƒÁ|#f¶*|Ka¤&Çe÷[0Äùå6²àZˆ@§|£“ÒÀª;Jã–>¤ˆšEC N ±wN¬ü¬"GjùO]%E,žÙE9ÜY^ïªjŽ÷hBp4ÕéíŠ**Ûã Ú¤©²Îéâ!SŠ•Ój#éÔÚ ûœÉÝ`*IΜ˜¦éƨÞõ™ëÓ‰ì4ƒŠUupM  4È™ÎÂé‹S<"6qÃKÃ$-‡4K÷#ûÏ|@#Æ>õ¯Y2‰=òÍ£wâ—ªßÊaŠ—~ÊéÑxLGx °g¯¯k×€@·S²ª”Á§Y¬Örhaü·Æ™ÈEŠõúÛþ]«…Gu+{«ŒŸ Å#\@þ?c@\rbÖÊ€Ô ´Â¤ó¶Hùú³.Í×λΊ6µ\?]þM _ï"–æè•‡ç{;KN/¿°ou'E3þ„Á2Jâ»z,ܺFÚÀò^;í±1S·ºg>g¹ö!Içêmjj ˜`?ò ´-­`Ç᪥Èë:Pé"Vp@N$Y+úÐázø”\,“€T]•'ö§À´ g,,© _#Á,¾f¾à@ ã.RÇáøçkþ}¸n±o¶!¬8¤tŸX †±"­ŒöHö໵m7*Ðâ)gÔ}’›û½2­Ñr‚IéM3<ð˜y (t¡z`Èuÿy¼-ñ²ulÝrE¸Ie=Âàø7UŠÓ›Qýòn×¢q±TÚ àgÂbì­/q9úGÕã/4ôÙ•A(ˆdÈ:MÍÊÛ4íÔAÞ.:²"E¼b@vDà?‚:Jša®<ÍÃ\>q£N$Ü› ¯¿ûV¸\JnÜOƃh Äü;¸Ô*4l–Þå‡nÍ~‹M(°ò—×Û°”Ž7àÐ=¾JÃÎwÚŸüäÚlL2ÍÜ[÷ÞõééU‹l¥l×ãÐP¡$$1^ŒY בko݉Þ/ é"­­£&H1gÑsÚ%’~¸l”·Œy!Y¯±æ¤+Þ­¬˜Gë‹`èlvwÚ%‚­V_i̽œÃrV?ª!6°ï@V6fmögCú)P˜o–ºåØa“rþÞò¦@òÙ(„P`Ž8qt¹}d¾Ÿu7°ƒXaPEÂdl³Tcò@¥ EÚcFYž‚~®A?Y¶Ï«Ê4©˜´ôPdiíœeÏ9 …ûr«x¶—Gy•ôyòþ}u£¦ñòè˜.yS“inèÚ‰ŸÂ>Ë`|è2xéæí¯“J-´C.E×ÙO.J𯀷ßÔ&>º¡¾³ÄúÜ×sØlàw‘çI‰†Ý«ö! ‹0úb\ˆ”8ŒyáÓ*“nz«À7¢SÉ~j`DP~wš!^™!#'>œ$XÜrûü9á|ZÞoÁ8dÁ#ð.s>[hÚ @Âù`îŒ=`¢Lü¯²ý?­º†ožB*äŠM™5àw„¸Ó"¥”áŒôÙïžõÐNßOS0 ª¶jˆ ÉŠ¹}’¹EÓË*dî¢-Õ3¾ù)×ú{aX¿¯?Ëù¨îÐÐ.*Iû¿KIZ­ˆK^“ÕTú-g~¢§ƒrœéŸA޼‡Ýì£Ø¥ò4·¾0™öò¼·â<%ÌårÒ©‰F± º%y¬|NãQsÏåwÓ¸‹q,ú™bÑ`wô>íàTó#‰ ¼wBq"…!ΨìCžùv0Ö?³ª21 u¹÷R ^Ì‘“Ùçj‹­‰¸Wé_nK[ß«×ÀÓܲ|9kÈ?[Ÿâ«ç1Q!ùL\Të½îiAUŽSûXˆ[-¬Ð…õ‡!gÊŽõ‰Wƒê …óu”å#Œ2`}yUêÓƪ¹a)ì­Ùtä…Ȱø¼Óó  BBb·ˆù÷Ú+5šaïv~{…””`Ûí©Íì®û¡ðÀÒ8Oß*9â¯ÇË“þ€Á4µSÝ7v\îËR\üR¨Tâ˜iV*‹LŽ ^¶ž))a¿r‘Zñõ’ÆüQ~Ï Ÿö¢qz0—½îŸ¹þ<¸?[aØt·–« $Ôw–%!ºå•¤ÂøáQXÓ ÿˆ îj7!eI¹Á¥<lØ–ˆUP¼¥¢|1“òíÕ£ˆÉ¡ mX’³è|^†½v)»ª|jIczašb¶EëÏ•sÏ1QÀ_Ñ €|Ú Z—ì ƒ„aÆË¥Ò»ÈwnS`1g ó¶ˆH(/e¦Æ’nmô®,_Iƒ€c$Á¤“Ž`ÇOÅJƹ求ób¦™ú‡2ÓÑÊW1ˆÒ#ô †Ìæ'ÑS— ¥b¿SDö½“¢õ»ó¡d´âÇóoðÛÇÿh§Õ–¹+Œô*¤8Ûi€èÈv:/iW¹ŠÊBÒï¸Ãžÿþæ³Tc5:¤–I?¡:k|€LfÐ[!|‡¬cmTú¨ÄʯŽì´uÄ:“ë?T™¸(jX`QÎ ùZI ÷GµnN¸¨fæ¼ ¼ï²Wpx2ؘœ¡1½Zwp/xzYíøÂ ¸qR;þ‘câ¿M‡,a_‚îd7˜ŸÝd’°1ó&2©q/92%Ëß8Oý`"ÇÁtΕ†êk€ý£º·ýv¶d(ݰóyõkÍ峯ÓÝZü­`¯–‘¦‘•“c%¡Èʈô*îËFO «ý>äç“1§múÞ‘¼l&'w¤ýë%¥†Æç&Ajw2§~©îÝs7†tv´b{âò…ÿûíãjy–Øö ÐÊ”Õî­txkaîPÚî•ÕÄcÚSFPŠžÏ€‡•½n¡”wv?)Ÿ­¸(G‡bºk$£¬M¿ÎQšôn8»q=ÇÌWµì±9œ*3ð¸a¡‰0ù§¥Â8„Ç‚±Íü=ÊãîmD&ê&Ɖ¸wŒJó\¡×”Ü—…¨}k’Q[*0…b¥ýÏQòöMÖq+IÈÔžXcøY`}Ð—à„ ïë¤ÓÕ1v'Á2‡-CY 9U¹0ؼL ·ýþb„*Ç]ÊÚ² Å®ëfŠZpBÄ[ˆ3þY”ì×á4å=-LÄ-R{D¼©1IarŸ¦È]"49ûgT¬¾—CÍffÍWiÍÃ9±½2ùt™óA—²!À0*íTúÃó&UM¯Ü$Ù$©¬ÓE·©ú#óyCTÉÔ<³Ô-‹‘Ë2+ÉêDÑqï”|F8¯Ð§ìZþ<Þœa¥e„ª ÚL&Gîïå¾{Õ¦4íÑ!<#ûë™­@¿b±r£ò,º)ÓU£LÄÀåímÉ,9˜ô€ãêëÕ-s/¤†¨?Ï—îœ0 šŠDá¨ãÏÿ½1bá‚~,yÆ‘_¹¤BòxeÆ»æÊÖäg§ÐÇ-Ø|ASª´Ï‰øãgÊì°ó­–>²žvÔ]bR4%MyúpÇP#b^^bÑ<>¸5ÔÁö (•Ö'cX–>Î~ɲ>G(ÑLÄØµôyòÛ(=‡; c–ßÑÝí]*x›`gïÙÿHzû2S ä¨=j >$‰QfÑh^ ŸzG°ò•Ö;Ñ^À÷{¤ÔÛ¥™mN]Ëfôì1G‚Ê÷;ª­¾ê°ÒÖã€}¾O4ô>¯ù¥Ëse,À„c•™@œ/3jŠ[þ;ÞsøMiŒZˆŸ £ Ã:uÚ{æîÐéÑÒÉ?Ã?``±5.|eô0{vCµI´xÝxI@ÿ›È|Hü_ú1ƒïš‹<ØÐä2qÙå—UcQÿÖg ÂµÓð—åÈ0kÞYV^ᆂŽÌâþ1ÿ.ñ•æýrËîÑñ£'÷Üõò÷œKÞãß»`óè‹#ä`ž‹rY#Ý¿›÷y¤Æ ûð<³¦Ó¨Scžâ5ÀœþlLkïþM ‡—ÏQK~{ ýš²*=˜Ba+1>¾ñ¾¼ÚŸ˜åóñŽK³%_iI|[Ç33ìÝ[çêØ=ý€¤.Ã\I%/Ê2`B¦ïWríÏÛVÍ¡R©) —ŸhŪ½@BJ@¸×Žkµ"ë¬m\KQ© ¬Í÷¶Šó:Ǫ¿¦{'[º¤ÂF¹æðŠÙ‚Ù¹®µ-\Š(—œ[©üüêKªÉŸõ…Eb¤•ùâÚÍ­ßî ‡”3Îk³«ä•@VÛ¶õBHšà‘Á”™þ·ÁIŽh8(­Û\ À~<– ‘YÐ’@þ“S*‚!G…˜?Š{úð‡îKÿTlÚ£1lÂÀlô+›£ù0½Å·ï¡ø¦âµ©úPvS¹ÒST2„g›ê”bíÿý¨••ï½ ¯Ô{þRlÄan©ÖÀºvƤ}½ø6Ù¬ü>ôXüÞ÷"ë…¶o±N tŒ’]uD4 tëUñ)–,|£ß%¡»©FAýlݯ» ]õÒ,cî¸5 ß8Ë‘ÂÀƒÒNGÁÜ@ó*Õ ùB_•3>ûÕâÝIùà¥õu&˜8ú­(³&Tì3‚Y¥bìzÞ-‰†]/ÑikJŠºÈâj÷íƒsl4W¤Ë³r¤“<ý]è‘~UÊàŽ'Ô›µ†¤µOèRf ¥e=¿7ãûöŠK?äü ,O¶mÐÀ8?ñiFð,¡®Ì>Ç«çè…(×-ü™j‡ï )ˆ£‡|‘>-C½ª"ìºi7!~¥ù«’ØË;‘'5U í –-WnäÜêŠ2GD„ì\UHH­Häøª0õ1pý×H‘æXZã½ÿp@ÿ{Òi »ÕY™¯Ð‰ã-Ü›‘5Åfº‚Õ3ÃZ8ÿ%ýƒ>죎#ÉZíµÌÀŒ(Š~U܃(oѸŸ4pÀ CG0]–Ÿìšét¶*$ë¥úT Æ:¿7ïÇD^:ßÜð„à¥Ê *Ù³°º²Ò3¶¶G†^çMó#é Ë6õR¥=¸áã'–üKu¹x·ûûù{=Í0â¢ÍYH ÛØ¶‰ñO%íp¸£¤œ‰ïÔ{ê…f Ä®×eµÉ!¥XéÐY¡r¬ Ké71YÆ* s°[¾Ñ[–ôpû‹d}`(÷”WóâÆæürmB¦9¢Ú¨»A£C/ü êOýã@.‚f¦ôç¢UR޲.&.$¼Xûž“™ ð°ä>V‘—,Ö‹^ÄÁº.“vkÃάÔ¸ê½"ÃLÜÖD7èùä9¯„ÿÄo[|OM£Zš(ßÚ#ÇÅÙ0n/ÕúO¦Þy®>ÔÜPÔ}²w’Ód‰Ô/…¢©Q$¿¶R5JðhH@7„âŒw¶Ðeýód1,ëwhLDö¡sÞÚúdAŠ nÉjð[Ù—+zú C§ô_Z8¼/áÁz‡Û1›h¹&ø„²–ã$r?’%óLô¢¥Ûkk].–nÓ-…ƒÊX&"ldJ ö›AXNÝB IÀà+^d®ŸgºØ—eZâû”{L•K(ò˜T10¿‘ª²U5v8y·Cœj?Â!ÚÀÖ’hôœµN Ôm,Œº>‘Ò6Æõ.GJ¸œü&EÖ,™QîôÅx{‡ÊY7M²‡Ù¸"€¯žì3[ƒú<m|áÅ㧤—‡L…ÀÂ@ ê?Z†WŒ~®ñé!(A—„¾YÞhǵzœÔFðžQ Í­ÜHiZ»`¤Çò- Î;F¡è,ùã?+ذšã‘|lßçݵô‘ȫӞPbP÷AwÌ6I£&×¼ø‡![¼wçFÙ³òq³6e¿{(‘¶ñóU0©%Ðtµ†V¼$Œcwô+NDbÿ§âFÕÿcÿðDTÞÒªoŸsœoÞq:‰X‘Å“ð¹HÞœ \dép¬â!ûÚ_©)8@|fÐ÷U±¾’ó{m^Ã:®tˆž ää?yB5çË{hG•ÍÝ¿h÷è”D”©]áj¸xÌŒs§–Ô™ÇZP€îá•y·´ŒŠ“ÙPÖ‰ÉǨœ×71%Ç¢ØØ5‰ W±†Q¡É®ÏpÍjøÖLí˜{Û7gp,÷ýêÆ U¤@¬ŸÃWL â‡^ ç%ä¿(èOa[N€!kö94Mâè^--Þ¯¸-×%‹E  ]>VQ“IÐ14Š«ÁÚ ÂGÎn%áéüôÚñL[¾>ŽR8‰åÐÅðÍ ¶¡‡ÏTòw—W ÷#©J±ò 2 Ã)ÏX¢¤2*Ní%ðÎ;öÙš“ƒf>‚ ™68¦–hd.0?ì —¹QÀÖÏí³Y« ®š‰w¡x±¨o6ß*̉*ìß@»•yzV…ŠÄeüZÿ±fþ$wÄ’¦ïp æ%åO¶g…?–±DRa¼:ýÝ~Ðqå’÷ –ÐÛ¶¾ý)'ý«W'!aë뤸Ê䪞S†Âztõ¡ÖڽvÈí—ÉÛ×o^aHamÏ`î .Ó‰$³{ØÓJ#ؘ”µ8œaè}0Î<Œwè—Æìk=Ë­ïÄŽ"êz¹„šÌR·5×Åó!k.ÇuUÈo >p Ôùš?B’›±d`J99+MîcŘÑ+ Þ EKhD@ãH×вA™êNŠŽÃÑÝV,Ñ»Uþf*EnÕÍ "€d¼<ñÌ!1æqqo­ÊM‰ÞTðû0zˆÌ}>Ý¢rVý§®$tÞgh²m’JË÷óךÜâ½:'NžâõCÈó{Å·šÜ~•¥Cwü{5Ýß á·yíÙÖ{}ºëåÔz-¹K;X«E{"Baªˆ³¹ ÜÃpJâ´î¦Ñž&-êÖW…|ÖŒ0KOIæ«“1w‚。Øî91Ôn8Ÿjî yPÈ &,N:vòÚ1RÞî3‰÷¹¨Gkð4Þ¦d€ ¾MxæAWØÇ´û ª´l3v¢¦”ÌÂ#f™7ÎI™™ÎÆ>21~C6o2˜Óhµ•Ôú÷ßWÌQj ù>Þ}þ1­x†¤>ÜI’pŒª·0šãT#b.מ]áyÚ©?L‹Cßhèfó} }"'~o¹x~ô1Ðî•,ÿ¬èèx:­굪ÕÂIJJXÕ²b*Å®„Fñyâ&eÿ¬bg¼á¦õí{«ÿG®ÝE*oÜ–°>áôà¯x?¬§L‡_¹øÊ¨/LuÆEѺWO¬ëÿNv+ešèTi¶Åj¾ "! †xz©ô´k{`€8³d‘æoܾ¹2è¦!ÑvÌgÏf@ùA*[-#æ¬'̒ß=À·¢©©‚楟ãXç©7‚ëO\NŒ›ån¥¦‹ãÝïC¿§ÔY²IoÖö¥Š4b\ ªâó»÷ííÍ[3¾2ÚÕ—´A·5ÖFèPÇ0ÎDe¾ñ+fìø(5é+‚Wˆ‘Ž<•e8挱ñC%,ô#¬J«„âcÇ|úy0¦“W—" sƒÕ¨ÇKEÖ;Kg!¬õ hUŽ ‘¨¯žˆ#Ñ‚VÉÇ!ûè-ÿ²²Ì`»$_lüÈ&™côûDŒ[I­!RäÈQêB7Ûl½ØÖ†©$ÿ#$l1€ Ëæ¹ÿ3 µõZ)9Õ À|ƒDçÀ>Ä)Z‹“-]2ó’®&ý}, eRê3!' £ã9‚"ÑÛ‹oÂaaRy‡Š½YêÁ·¿–·á¦„ÂWçœÝ{‚«$Û}žù´Ù6>|QŠcȱ°»‘P³60úYàV´"¬ ¾”-ŸЫ, •=Tˆ.¯ÕB†–ÑÜDC¢BL“C¦Æ ˆIŒÕ7 ÿÐ*%càwÙº¦`c#{³·…O©Cú óŽŸâëºP1O2“}R¿ì­‚fÔ?jY ˜Ô´rÐIuƒ*êÃøke‚ÚØÖ.O(Ç"»jÐáD`„eε ¸U½å$£ÜbìËž,H‰’”ùë{NCý èO]µe,`}‰Ô9aÎ[”¼çÎJDÂw¿Ïª‚-wf®ÿ…u``€¿ò{º'´®4$J„yXƬedÄc)¥Š ¡Ø¶…ûÝ#‰Ê"™&hÛèÀÊU«r¨h9Ô¸ö;¶ƒsøfªG=*ß­ZÇQºë 7·98{ZÖpÃüä|ß ܳ´%`%ÛŸ—ßÀüI?oïãÖ3}Œ3•¡ÙÜÕÜÙ N\±n¤m¼I©¯½²7ÏúßÍåÝçßÑ:G›°MŒð€} U rtñ¿(ö‚¿Î‚ð¬L×܃È5)ò¥®ÂÚÿ>ŽÊa)JÓ•k±R“¼˜%m? .žlKŒÎúh?‚ L§vLà ”~ôl:`xA½\ügLڰŸ ¸Š >&l½ËäøÁH39ù´¤‡9j]£À2þ#Š<Á}¡~³®ÛûõWNêøñç¼o‰‰æ)}üoàµ<×.òTu6l‚½->•VóC~𦋫çõî­éLH/i 6 ¦Âbã¢Û¥Ë²¯h öhLmm‡{lM½7ìb-S½³¹nÇ~USǯ|Ô™[LIFÛ5›Ex\ap ž’LœXËVUË:þ‹Ÿ=Ôl#´A®Îãt ÆìùžlÃÔÀÈ $Xi[ü>í ö®²˜ãOgÇŠ¿w”qÝîò MÜŸþ›‰ÊÆÝbÜ2¾#s¥;}ø8T¶ÏÊ!„5.‚0²F4Êî×¾Y3g¨©p E†ÇýÚe«£ÔåÎjµyf! W@DÈøÔðß#M~Ø7¾nâR©™Ö>NͲž‰xÀ‘냾Ÿ!Ϊ€þ~Á÷ß®ˆƒ¾VF%\5ªýócývã3`$÷Ôo}T‘7-‘ÅIäyÛ^¨ÔkNñº¢¯ÊMÇTÖp·`‚2ð¦i¾µ–J4âŽw~uˆÀPÙËæŸ ¤ÚqΚüÀÄG53òÇÏÆvû ÏSÒÆvrþ 솶†÷Ú×t¬½ %)Tú©yç *LòØjyÝšE=n}2Z‹OVzõxTl!uÀ³Öþ©²ÃÝJO7@¬i@gÖïÃ<¯*²8Ͱ{®{µìÂÖ™ƒÌ½ åQ•_?€îÁW²Œ9oÚ&Mâ´WÑßÅï2æjÔ=10yRŒ o*!^¸6¸ˆüL§mC?ÏroXX/-ÂÙûÆÖÂy5%­Û\MîcIµÜXÛt1×mÕ;övö·Ç{§ÁH g³oZœÆ-2£D?ÎpÜküXÊi§¢ ‡„B«µ¿‰­ŒØÁ±`o ægí;¨õ)IïŽòYÆ V§G†3–,ê “™{fèí¼œ6Ä]Æêóç-ø‡¢÷‰+Hê²Ù~„Šf[2?½gt²n _‹z’û58™³Æ¤ð—¿ÝÎÇSY»Ï›#Èæ“ÁÛzR7Òˆ ç×ÎÌ·Y1‡ÚHEù§Wšƒ]žê2…cw+ƒS(‡ß £þ‰–09Øí¨hCY«ØÁâ©B^§ÅÎÝáHq{íéJ^¦ 0«™£À$ï`HÏŠÕܰdÙþÆF¸¶È´ùÚò›ÑBÍ¡g*qÆÓ >‹¨EÞJ¥ÍŸ´v$w >²øÞ±ÿ« Î!8ø9·'ìvÿÂgÏc/âíÝF‚ZÇ*Æg­ ¡?6?•”ZŠ'ס;EL÷t€]2SŠŠ½¡Œõã MÉ5i!}H+¿ÂôšÃ͹ÉqcÐôµi°Íᤓµí±žcm£··ÀwÖN*€[Ó"™‡ù­FÙïÍu!üi$ƒG;$Qf@D–øÞÀó©æáö+U²ÃJUÉÇÅŸ—Ô3¡™¯ Êó>ø ?iØKG$ÒD¹vn~RÉ»cÒˆÒ@„æ.:ÃzøóÃÒî»×ƒˆ½ó¸&Ý:9¢O¯cß9„ápþp‡j—1ñëâæ…|(º oâQÌa!„ÞÙ ·²'ùÖ*Jáq¦š×ŠÚ”*No™šàüÙÀ¯šâùغ:&¨å}ÆØ8á±S_Ú‘=+W-jÛÑ[¥mÆÝ¶k í¾Ù£¾í°÷îr))­U–‹^ø·È î.¥D—C®F2&õo|®1A ¢òäûQ­§¦—yU'WãÓù¤ã —øl…º½Ý­»‚HM}Ê€ìBîRK{?G¦×›E,“7 A˃ÏÍ_Õ\Íy/¥¾„¬Ñ?¬QŠ€-Òcün?&3^KË¥¦7Zî;«»­ýmûÝi:=‚•†›":¦¾8¬€ŸÈEÀã{@„…ãóA·F‘º‡AY¨Îê%„F©TÖRD*w'/IÙmö9L¤ñ$Ÿ; du½Ù¾œÛjvDŸ$Va7“fÍN‡gKþ-vQ [¼»-é°÷håý«ûß–Bo˜™‚mpæõHˆŽ&Ȇ Þ`zŒâýRüö´ Vá³+tnN Yv×u*‚+G©åAÇ}[Î%™¡Kp¬@˜>VðÍ)5¥ÊŒù`ìF¡Þí1.››Ã8Xª«’ËS¶ ¨Ýd”/, ËóŠZPËîô4#‡¿ïÛ´lVü걦¢Ò#²Ýè g#ã³ QHÿ´:d×l³Æxü^q^kޝå$ š¸ÁÉå€ÄOXÜJ~e¡'ldOa¢õÝãžuHÜ*¦ 'A÷³«‡IFù`ªâ ô¶A¤Ä@–¨'º^Äoüû2ÞýœþÕ›e·Þ$yv‹Dûíü‘m3ÎÚp’Vò?ä$1&I²%‘=Ê*È„ZfdÆc_Öý90a ½¸|¦€ÎO—4À·ÇûOá°LÜi4z÷ eDÒEÇh][ —÷è¹ô˜$þ*ƒ…Km3Nevd«Âì¡ûs’½ï]6J|ÙÑBXW÷È·ö÷xö­°{Ëx.ŠâE¾Ïæ +tšUíIâv2ú0·:!´Py3=øøJ+S• RÒ¨Ñð낪‘°j N:¢sÛƒ…O’õK£ˆ [Ä÷g«éìêwzF¶!T³ÊT€Â}"Är_þ×› ~©å§ÌX»kM¬ñy0 IJ\f‚ó ± '‹a/¯*l‘Ú|ô R4šXƒþRꄪór#õ ¬O$×?§9GÀÚˆ ×Í;à L‚)_"-›Zu6ŠÃÜ5ûjW` SnK¯w8ŠøPz—†N2EæY.n¿îgqÿÎÿüd V¯®súÇ®FÃÕ{°¯-‚]’ЧIýK.€ý­Ò3üŸ i5&Ҋ«ÛDá•¡ée½…S”x@86®þ‹*"$e\Ö)ýœLk'K¤±u£5ñc€½NFQÒhâ7•Á˜Ôó¿îZW ìC5Ø»£Øñ›‚?}Ù'P¢¶¬`_õÅ^0Ï mâ0 ¦ˆØù–Í^[Ó#'`–-áåW" H³™x< ìn§=%–É3>ïuÞ'Të ³jÛ°f¢ÚKaùSYè4ç&gWªj~«7;”à–kk§Ä¬œ+Õ¤í|RŠmj­ÅãT$:“‹<̙ܦz±bnƒ—vw™‘û#ÝpG»;ÞÅlrŸ°p›ü á{ÅÇ©?҆ï%QšzXrä¶t@@¯G^Î*äÝo±õžxÎ{¼¢É]Õ Øw‚ ›i}[ØyÊÿ¢4‡Ô'×ÐÎÏõ·´©ƒaíåŽÖiWÂ~D¿£ÚˆÝ u$ x#pYÊp +ßaâÙÕ[,mË)ÜíÆx Ÿ'.ó·²&IëðWÀ}òÕÜ)'³ï×'ú¶Îö®ñ¼Œ§âÿÇÒg$L„ŽH°ÿ푲ø:Øðª-HìZ~cµ¾ê©Áçê’YÎÄ’ßÖ#}¨Êƒ0½Ú#ý´o Áµýæ´¶t 7I yw¡LŸåÛ êæFÂʦ1{23êi½(\Ñ#ÿSÛ,=©#x2ïÉ#Ö«3õ _þNй=] ÇËÍM ±#a÷çxÀ: n,·bƒ'mÄ_uSâÅiy°RÆðBËMxÓ­€¡ov¹NÉ3FÌ8¹Þñ^ßÄ¿Á±#N< `\Lx=#F”ºìÄBŽ+W³J ä`&Ѫ¦™Éçõ= WTÜNSòÊU[dAÞt˜ó¼š#šÄ‰¢„(³Ö&÷¥C —Ü«zÓ ó™dKü£!Iÿ_ý3u4Z ÁÊՓ®p|ß4tAÞiMî åŠ=„„`áé;ó¢Ì%) l\âUÆŒÉáeômØIr+ÃïQF³‘Ù0ŸýúµTbêõ:´Ë8‚lâBÈå“Av½U,Ṳ£«3ge>RÂ"çYõ&¢{NÝ©ïÍù ÂYýZe,#ï\fú¹Ú‰<¢DÃ8µæ7§È2Óˆ*úz%À¼‘¥í m–Šág–U‘þt&Ò5‚ib—¾ Ào=Ä¡Ý߯JÏb-¿?ÁÙ›åEº£õ[œÔ¼Äh*Å„Ä2 Äoü:X§>Š ¢9j²=_Þí[õÍNZ9ðß0 ÙƒZ+èðÒÚ$ô:÷Ð'³ù—¦…V#úÚuÔŠ¿zÖ”ª u¿˜×¨]7+®·ý‚+Fí € hw¬ØQTI8×yÜ!üÿ;ñ ¥£ñµXwç+—ÄEX{l÷¦¤{üM‰ˆOka;ÈwXJ ÇR?.ªLÌ…ÎL¤–`ÞÏ8­½ ,í¥7—Ø×[ÍÂ×1î†Ù‡øH-,_¬I̦MLbÅoXzýÆÆKÛ|L€†­Úñ•Id!—ñ ];Røc G.¿K˜ÒFµ÷šÄ1!}‘>9ŒºÖ;½u¡—ßLÝmkGß>W¯FàôêC¡Ôg€,YF;6Š?L°;¯Ù9uÓa =ÂS+,-…ûÆõý_ÆѦ=w×çG·Ø(µ“ ePÄPt‡‘ÏÆyQ Ÿ|£L¨ýÿVÂ%Ò%¢·šXÆfY+ùê<,Ï*¼ OVˆêõÐF†œú³QôpÜöÂ_O¿Îô–2Á4 þ7±Æô`.ê Îù_wâýOå®~,wàt~#3ŒRPn’˜5J°še6ȾÛ~Qø0ÿ¹8ð‚úxh;Åê-\„VÊÆžðnFÔòïè û©É·4*Ÿºðê‘ñ8PÆl–ÖZÒ+9MŸ"Ú€¥§$òˆ2™ ¢²UQië¡7Âñ`2R)óç’Ùj¨ÁØû-ð÷¿ ëOç[â5ô1 ž™©ó^K ï\Öˆ†ÎÀÏ5Æð1Ónbì6«M„‡Är(AW3gdH-ÆeÍÜ”•N³,nsIù9=Ÿ"~¾N/Þ2]¿EþoÙèñRïEw}¿Çäx¸TÂ[öÞÕ]úië¬\¢L•–~?u-¨nèX¶š ­«…ž;³3+Œ0qºÚÉ…42E0öPê²rHL\yÈ<Œ½ž‡KÃ_Žöoókæ*ŽŒEãnZö1·Uè}¨¯Êý°Þâ2ù.“Ô·ö ú ‚íFôRš˜Á5Hä«7E®´:ÏÄí§´LÊ r[î2„1<–™^’orܤ_,(Iwj’¢Tq°²éä??”pAEjϳpv?Ô±Örኯ ò‰¯x–¾9¼­g«uIœëaÁ¬Ù[€½‰;Šk”妘ÛañÇŒmG±èŸ½FÙèÛº1—<º¢]FÚñ™õÇÑ aýiÈG‰)…ºµÓÙÙ"þ•Ý"?Ü›b[²8kO7D1ö[xÜË…~N)º%Ú>´m#a—F÷E«Â$Zc :Í,Å—KÒ²ŸCƒwfñN$·Zy¤^‡!ó{ű(­ú‰ÀÉô¥9 §— ŒâËñ»"øØ•0©êø÷ôéq©T2Û–Cܸ€k9<5ר%ežçnË åw…f´‚¾å!}â“ œ¬ÙÚŠ&n·”ë÷à¦1(—kg)&âŠèóvW¥ø¯û#Oã8ß!u ^ý ˜ð.‹êå¦ÄYÙ<ú2™þ88>ºÉåz ›+ÎI=ÚkÃìà6˜w+ÆãßC û¤º1‡+ ­‚oàÔ¿ uO¨˜w^šÓ¡–Ób"^E8xœIpî•`m>V Š*02÷—ï¶AAoº¾` ¹¨tÏE1ÎU¤_…ùQ‘É.°»rl­Üó‚”ÔW?Š—¤H1×&T³jLb.ÄzqLv‚OàÉÞJ]^öqò¶-r4ˆö:ü«“›r*–ýn#Á. ŽØI¸`ÈϹ£ðŒþæßA¤Ž vµ RÖ•²JÐÆ\&fÞ«•1)Цä¶ý™YÿWV¬åDj·rAOGÀ„… £ê ³îÝeŸÅÆÿRþƒ a8´sŠ6õ¶ºdÞß®ˆŸd‰ë @8-N; Ó÷²¬×ÀVÞ„¢Ï›byWü.Ú!H„ºƒÃÕm‰ñtD=ïMàK¦puØ5U–ù,ÜžÒ8h~ ÏÁ y½å4É85„œà¶m˜“ÍýÁºC»¦úõo.dòXQfá=·³TЉ /YiMÐÖt; «€k!3)P·¾x[𠏏ìYR›¼fÉÍ%ñ¡XbÏWEÍß—2ˆµ*Wê(L‚Ötøô‡~×B‘wôªãj¼« ¡·¦Z–“LÂÜäÄç“Ö”­¯7 ¯€ÿ`•êY³<Ùò/VHÂoÌžWϹ™6:$柜2p*©`&À×99¼kÖŸ@ðÆ!Æ&Õ-x‹ó\‰ÎäcÁ¹A{D—PæâÙ>&©ºWž–é‡Ñ†·gþÜûgµÃHÃJV¾ºÉ‹ú½Çã¦\梪~ˆ;ÐÕœkÈ1:‘§™‰Jké‰W)íÑKEïtÐo“-ž4“eÄwÿ¾¢‘› QjèTìíð~/^_ÁÖí»UZþ2w­‰DBê[!Ý÷âMrníÌ/@êxH3\7‰¹LÂãÓ“¯ÀÃfœüK¥k$t ؉ s#¹Ñ©êKv €¿flNSMò€>0®”Ò£y Ú¤µ%¸±Q*|Câí|›¾ãvvô3xe±ó¡_´UàH… Ÿíò=B.0©ê Ô†=æÚhyÚT“¦ »ØÉJ?ÕÔ 9 Qœµ°Å†Óàsó§ =ÊÇö¡LË>WÓÈ¿În?\ˆi+Ÿö¿û ?@¹¶rÏ¿øÝM/žû3F‘vèÞ½94Ä9ËMcH#оáÊ¥êÒnÆíDãMe‰·G•ÈåÆâœ“<$ŽR¾høxc 2b©Å²Æüx³$fî8ˆÀ£æ¥Ÿ€ƒH­‰ÂXè™ýpFÇ=üÍúgYŒdibç^Xó¿ JÊ™B†*táVK hO%¯g÷ í*qÜõMÐ&äÍl0fñØOÌ9ýZ§pçËbÓŸÒ\Ôlå“[Ϸοal xÓý³ŒguRê)2ùr©J\'’Í ¿ [¤¿â‘šjGѬ“ ðU`˜À5 ³&ÐË€­,@HWøàù(¿o[ß5Ub’D\i|QîPT±Jêo/™°Š˜ðüù¯9¬ìf7¶!¡£m­-ëæ“Yr‡¿ôlSø AT„BÇ^‹²ƒ üBÿô©ãü¹ŽDoïÜàì°m‹Êcy3’N4+Ò¼õf+(8ô:Þ*ÉSá‚ÿycAªúòBµv¼½\.¤ÈôõÄz+*‰N÷þå8¦N…dÎ º“9)+,¨…,ÔkµåÑd¹/^érÒRÁ:Úºö¬†ðLÍ.Ì6„€š4Ñ3è«¡²è¬°‚;Ø'-?µÞÀ‚ؽ¶šñˆ›‡ ™Ø6á‡q²;\5,ÃõTUËúYøÕIÌRQÑ¥çR}á²ï÷HvüÆUO+=Q„>š–°!y×U‹—Œà{œ„kv%ÏËcþT¥?:›Ä”ðÝk«¨—Z²Þþ*¤zlâõ—{áÞå@•¬âOáá*躌½Í‹@B䀋?¨/A?–[üPŽ ß¶²y•Öy§Àö¸À1Êö2Bà̵‡•YâÞJ¨¿g³ÿ[ 2ƒƒqÀþ¬˜¯×[úB´ÌÔ|pƒ©––Ésþ“îBÍ>F¦ˆŽe±Y%?† .-ôþ¹ –ëS€´Æ {K¾fv]¯)Ûx$éßG%úø-Ë>žY/ýN=“(§eŒ_á¶%;01êʃ´è]c¦õõ¡ä­'h Z'î…– Q´lÓ5x3ì©òüÍw§‹K`.¨›AÇG¡ÉvŽšQÖ™ÁHLZ.ÝNìÜýl¸xmg½%ºZåUAOZ÷bDÄ>¾ïž¡éCÞ Äi^½OÙÖqLÈxÉÃWD9Ù8QÚ3sc´‡Ã{àò’!ÌV=‹ë†Ãt{„bsÐwEÍ+[«Ô4Ê–ù>#†÷Ñ)›÷wã0ÉTUá³ÈïÂýZZ¬ 6RëÿϺsÂY:uðöä´ªCÈbË|Þô¬Ç^ö—uç;èØß¼Ï©æ¾ðLt‘ŒÊµÆ0g}—Ùµ(ÚŒ=|%_È™v:ÿ/úûMÆ–o,¨ùOõŸ ‹ÙÅmÎf½¦²à>xîY8zf{U®ÜI<ØÕhZ³‰4o×MÑ€Çä­*ú[ðµêukÕ¤‰£o雑»¹MÒ¸£IÑW$¹Õ…2aê¡ I?3píÆF•(iù6n™cô›£aù®¿¿U“ é@¸ Bà‘Øãi.´,wéàóÂ9^j!S`£? \½j1XØPL ±dà~QçÔêG„¯óÒÁî!ÞïŽÝíº`Ýú&Š$ÖÒE¢¾´©¡zµÊs!ÄNß…_‡à7­œ|ò;«éåî&‡nÒ° £^(-„ë<ÁLتºë¨`B°£’uýv/gY§5ã²´SN~)Rô“¢RË8ÿRøQnµ¨îü€BØëè ùO(U]¤¹ˆ¢K§ÆÆ2_3’Óšú ô"ZBðB¥îÙ TñÁ d˜ÉØÂ“:P’Ümá¨É þdL0VôQEvð ø9ð\†8´, ôØ4IkñA+Ufú<Ð(6>§§´oÝTï1á5µiÍNYÝBDÕ!–þ|š4É™æc9/ørIŸïêZV° Mtx@iؼ…þTƪ 2½b7¶m¼'²DÅ$¶Î¹ ‹ç¤4~§4A…ê…š IZxö ˆUîB˜)Ç4v£W~Bh¤»#‡ÀqÕ+Á.ð@ƒ^zó݈Ų{åÅ^xõ¸9ÚEá7š# ˜ÑlH«F°Ù¥kÏc¢*˜u1æó r{"æÄøŠÒØÒó»÷,Ñ"ćvý^=P•¶/ú 7£ÊÏXûÉpЬJ8ÌüT÷&(ùÀÀºpˆÝèÈ¥90\³ìNLà@¶&ýlTŠg øŠnˆè0ë8bs–v€ðîË5Ϭ¢rÅ…8(%ÚWw@QháG-ÝjòÇÏC7¼k ü`GÔÇëðè*±g4ƒ7ó¤0IÅ3Õ\I¦A!òRGtzƒÀÂãy17F²O¾z½•ò—¿q¯æ»ÜÓá]¶ÜÉBL æ§]?ÝW¹®uu aaؤ?ñ¶]GÀSÛª €÷©ÊŒßg5Câ4ÕJï:Y'Ô=8\~R¡T6°‚5¦ƒ>‰Ôç@ab…J$ÀÏ”ñ¢³Á€‡U-Ô‚?J2bš G>ø„cD©v7·[T¼šn36Ýk¡ŽäîÃ4Ôæîo^Ý_I—csÙø‘ôhIo”å+ÆŽ£Zó :ÇÂ^ý˜-Óm:;×G×¥6VÚr62“öÜzÜiǯ³uʺ³í "–ñJáÊ~¦%DÉ‚Ñx¤‹óMïÄê¥å~Ü=¾[TÕ üqG'o¥áG£eÒÿÜLéKì‘t\DO;Lt‰hÕ<%顔᳆ “`f¼AõL>…<ßúX£®Vê×Ç áYuEÁ,Fqw&‚à|P–™x»f²zŒŽ‰1ÿƒÕR*fN5‹Ê?U*Iaæ Z^‰`lWm:5gf¤ýÇŠ(f/ì >‡¦À¾»qm’ZÙþͪïNnúÑÔÙE%&­„!xÏÏõÑͰþß!Î,8{¾:%U›õ”Tv.%/µÞJÀçh#Kެ·N€òóü âŠÇ'çe´ÚÌô({¢ÚÀü 0Îo¼Ÿ?w¥;d$¦’#éñ€†%ô¬KÆ ¾Q"Ul ­AiÓL­‘Ìfm®ú1ûÁš è<Øé}\ð=u¨K‡ÄË”i·l RO¼­Î;q j“`™It)Þü‚Ÿù¬£ͧq ¿Žñapl=7ί±6tåg|‘ U¸næ -™]¸nÜ5N†ßðlç+$æˆ+ñŸ‘c6wnÀ6«éò³I@ò;1û¶<;îì[ó`eÈg¯^»±ÌDîE«+”àtÌ›› óW—ŠZMŸQ°­ón 骢Òlj¡ýP¥“éÜ›ŸïÍ#B22%vXlæ9'ן½;`ŒT5YË}[ SÕå-I*Í‹ààe¿~eª9ÿ{›Ôó«‹ž"6e#°¾Œ 2u®y-þöl?¡‘Ø‹EŠr÷jp·Bɨs’Ð8èž›.¤SǾ!Un@êø[4$˜nÞÖÁ¢NÖÎu·~ø\žÔ-Íö‘ë•cCÃÏÒÑÁÆXÇ%ùJk Ê«ƒÊˆåîÂÚ G1Œæ?p,MŒ^>‡í «a…sÅe wl·%+i´„,¦jdkcÄX”½†Ì¾)9¨»“™"ƒ¼šgr[÷õš0ò¼÷VÝ«AÞj$–ûidL¨OñÅ)Sïeel+õc\eª*mÕãXÅò)[ )U±Õ¾R4ÒÙ-qž8#:@ÓÕzJ¯·Ìœn­Ynæe—9*ºf/Jå–¬©‰áD{΋E¢$í¯/ܬ9«C)œR‘rîûmÿ* ©v¶å“úåŠãMÞù(Ô¡š^*Ã@uçB"Ûéhœóês[£ŠqSÌ´RGTj žÞ)çãëx3Q1x½îÊ_éúøk‹ÄoöVš06÷Âí[}ãõvt›È f&Áh¤aWub˜þÚ½{@a«gʸ9u5¹„#ïa‡Še=<“ꯂ,oÉ!ÀüýÚx&´7Çtn¨lx¹É5bv×äñ<û­ú=Œ+…Àž†ÈœÆ‘¸ž@`²ù^è"+6„J"±ÀcÃÙF-S`º‹5@ïH¸|”F/sñ4 Ê@î[¨8 ,mŸËL6.¡¸â5 9t½¶Ì>¯ÂˆÒ¾4¯ÈeŽ\C­Â«–y˜T8ÉÆ[@ÇKv'(÷s¿qÝnl´uý6osw3Ծؓkó]4‚ÝÆ F¯<¸”õ3t§Ž½ç9žï%ÖÏòXA <=XåàẪtjêZÒ‹9˜È$‰¤c-þkÌI IkXëØáû$&“xÕhuýÔ÷/‚O0°]ë‹ïºàO°NN‰bq¼J|ÑŠüšB©°b£JÉÊýSÜùi½?€Â‡!±§â‚LR{Yt&×4Éf}ê†}iØ®X¢Ž¢ôTtÈÏù“Kh¶Æ¾;lHpЩZ-³…—º„ãéfbÀ¿®¼™v[ÑQ¸è‘„^a~U¹ÌÃAäã²8<–õh>êƒiyF{· 3/k4*ó*Ä„Sg-ø9[+œk½T(unÕºuž6hÀjdéBÆ!Ó•óQ%ý@ÕwÓN|º@ cŸÜ(®PäÏ¢5Bµ[¹{_äî±{}GcªA a|°·á<a8 í7¢xnká(Âj\P2`½4¬9Q€)|f„ ¡S^lTN‘P¶€jÍ:ÖY lqúS‚ÏöˆŽP ŽÅžS^Ú³]‘ÿGŠ&¹XŸÛÐ.ƒ8ˆD„¡î FøØ$[üysÐΈ‰_†û8ì PÆŒ…2ÌžsÑ)ã¥ÂÅ.1OK¿%q³²ö,©ÎwATžêê+·E¡MÓjýD¼ i‡>‚|o*v>\À$µÙ[ ë’¸,y7‰±Ÿ®lMýçÒUî~•(ÍS²ûØ·¤wÒ©!(T^Ýû®óS­lü2 ß^"èSmhÖÓ‚6 #z2U×ñQ³KhÑX·˜E,C;ÜÖó€ºÞ×à£Ý²ç¿Ê¨ruÜ Ûª€¹ôU~£›„:”AMf_é sðàY÷{òiZT^žÒð-³.Ã@¡øeI튃1jÒŠºnƒüXÀjëªkˆ; Je… öWJ;´,ð´e毓äN¢}Öo}àñ“X;äÃv‡%³¼ÉF‹ø“è ã1¢ñ¼R¼=¥`¿Ôh8ÊC!ß?‘Å«1å6ì,Ô!̈yHÎúvN> %Ù2"q>×{"¬¾‡Ê7›¸ˆ4mŽ¨Ë¸#¶KÃOË` Z>6v$I¦´+ã¯êÊÛjaÌ«BtkT5bdHÈøÄÖU….ˆûä+‹¼ËÁt~‘ µ¾ ØÍ.¥Î(¶þ7ŽŸ@Û©æ"_“3#á¿Ëœ˜±Fb•—÷Væ¥E?e¼ø»ÛþÝØþׄÜ[Ü$C}¿HØÕ~8ç÷#͂Ԓ°\5÷aù×fÄ2–.î¯ê6¤ü8ˆþÝ6ký–ª)qfßâ€Méã’ NPfFl-éì@ê«[·; ò­ÝmZªìýh!Fnæåi©;¾ð6í¸¹Æ‘ž›™r zŸ©rˆMZÆÕxÄl¡ëWPiMdªu+LЮGZÿÿ—0¯wFeæ ð:Ý‘°Äâù»]†?e1ÎÀ ª±ÒÛRè”[Í0FV»Öêáøè¤5•èÙHòО}w=w ÀQ' 5¸ëÏ¿6Ôbë w$þ›HZ·fHý”¨0`hÄ"wsQX3Î}0ßåtðB;íûX ˆŠœ]²{×ÀèÌ-•Üú¾‘ÏYÌj[ ¸tg2V]h«w|L Ï?HÈÊp2ǧÈÚó¶§Ló}˜¿7ôùKµá]ë8jÊôÞR\œ,YHßš£<Í_š¨ ‡ÿá_P%x[Æ$¨cN9g8HÒzÏôúÝAÇ5k0ÆY“=“ù¡°•^D¨‘½Ëí§ù°§j‹Ý›>»b´8|-SÕ·Tüà³jÕ‘ˆ`’+Tôg‰¼4xùøYaÛ9v`œ€÷/m®R•'•¸÷Ž€sÍXŒ[ðxµù}<è2F´v& ›4ÒΣ+DZØGô†Ì#4.ìÉuj[‘§I xáioÑ}|;FÓ¡ÏÿSèÐA{5Îå(’¾ûßI¨!6Z—©ÿtNe)ƒ$z詎õåšQw“ß™î7ûy7&©AG-¥Ë³u6Ö¹XÇá F'!þјžD¬<^ žûU›lÂá_Pêqí~Àžc?ŠŽ é l@;GM-?&.HÛÝQ¼|*P`7_Ì…Ãp‘ud;–©ÂBŽKePJ<&Lï°`þˆÏß· r˜'¯ðþÛ ŠG|¿P+íAè6PŒl–u8>6¯ËúìÜúÉ+Ö–z¨§N_ðCï>NeNªÕXÈë¡ê,·ñ‰àwõý ZÅÍ‹ á%§0w@öÅ|ØïSs )Ž‘™IÀÏö|O™#¥éÑ‚Ñö y¥ñ"…È:ÄçöÆ•D)ó·å¬:áO›xÊrÍñéþ[K)Ö²ýËM'óâª>es6 ¬W[$ÕXNŒýcžäÛÀ¼¯5ýÒ~]M',…#YŠEýEÑۆȎå üÀŽ7¶Ú!] ÝØí7ˆ™™{ß—8ÉŒ„t›i”—å¬&b·Ø°Á§Ç“×jö…\’M&2¡:aˆ``ŽÎ‚û¦äFßyÆH¯9]13±5ì=á(-Ežç2U¡lž ÑÕíSÂÍuM5L¶¾Ud¸â¿œ¬€]Êq0 w±Ð¬Ó;V †?¸Ï2?:•^+ºY2ĸ~†€ hÛøº“«‚0Å;]PS T*ÏHµò‘ØUˆy3½´£·hGï²”cš|PËq¢²YãQCe¿A/'c”ד—?õ‰AHÐóìað®§D/ "áTÓµ€˜éŠâ‘0š5Y¼c ó ®­ëLj%¬Ðz°vÂ2í7ù׫Ÿ Î6!gMY¼|ÆI4+®S!>½ŠÍ6!¤’»Û93Ž­Ô£ôØh—XLqQ‚±H£¶*ò{Á[]žõ36%FíS=‡4l¸e`콪@åG³X„˜f¿žÐ£Äàr¢ ‘ðmáqDP¬B0!ƒnVL f1çK;ö»—ÑpÅûQ̱9—"ƶ SèÔí[Ó¾ìÍï×^Ïe¤KnÞFxm¿–0) ƒ| °3Çëk)frù™?eBû5pÓɱ”šº†¼zø<ý…7mUå–~[•¯Ã¹åÏÆÃ—¦;jˆë ¯L'`Ïu|LåA•XÙׄ–÷”-RÀøJ†xͤ)5Ò]êHcÕVò vèUë)Öa#KôâQSzÉ($¡ÿìÇ`£èB©Ÿ;vÊ¥¹¾$Æ™ð=mЄŒS fTcók…›¤”ë€O—o½ß÷u–”G)¶;M;zv³—ñ–ZÍe H-5Å1dR°BâFñª(œb šZÇÃ":ˆC³4G˜Ï¤WUW´3•ê©u³vHç”OZ(oÐL÷-Ò&戋¦îlÍ£À‰3(<Ì:Í+Âu±&mŒ:Š;ª±¦§{ýü :L³5HJDE ¡B¾¤ ÖH³t›‡Ç/·g]Y]j „ËÁØQÑÔ]š”{2çgÊ®¼ÎæóyB(ï0âÓ‹„‘öéÛ\·[öM³ ólgèïw…R6ã?M«q~¾Ë÷CNë²çOÎ~ÓÄú`³3˜p-È|RÐÇm:ÁB~¹ŒäìÛÚIëš©PëÁÇëK¸Q™™#µX£F{6õŽv ®ó€’̱ß=ª´+êˆØoáXçrßÎÀÏ@ÛGM@O鸩dMÇÝcÊt)»¤°ƒ#i>«pÂw•àwn{lÓA“U¶gì›ÔMÜ'᜚o׸€\’ÓÓQ£kD?õkì»ä†ÿá\¤¯Á¡lò¬Ääÿ;°;ÅJ5¾ª h3 €’ˆHਹÜßÑT¾2·¡Û+Õ±ž‚@Ø#^¼p’¤zü5‘;E«ªÁÌ‘YHíØç•4*SjÆG6Bg ^ŒOjýýÝë2ÖùDã>!%èë\ +ûŸ…‡‰Í·_f¡@EÛ)s}>.°ÑRÌÃîw[ÒI×:éAS?”át$[åªO»a´Å—ÖŽ~ Ál3nr’R@…áégÚõ1ÿŬԩ²Ÿ¯ gì¥ZY/»a- Þ%i…ÕäöÇ!}mˆZ9•HS¡ö÷QdPf2§ÊôdÜS)‡ßÆ1+‘ä½ýo¿Fñ2t›¸é½R›k˜Ú#1ÞPZD·Ï< ™'²KY~žjÐëýäÙ\ˆç| É…¶1m‚¶²‚H‚bwŸ&7Ë-~8alsOæý÷QR3kèKE‡UÙ¼Bø¹¬`þ)Ö’i¿ò&™ÌÄ/Ì‹úõ@œº‚4þø¡ÏýõùšŽ²÷½[«,ܯʹzO:„Þœù osÌ@¬N91U‹ÁЦŽ-õj]ZÀø²ÊÄñÎäˇìó[у ¤è¡8Úp¨uYo·ÁelÛz·¸ð:î¶íËðs‹½+Ç dÏûƒs×f{9Ç®Û]a=¹Šo^H‰¿oµ "’ÛÌ€G“Ƭöê+):äø[§é{JaÙ|ÿ„wÎwï9yhê7Údè§î‡ÓÂVld8y¤rtC˜K¶Ë˜~`7"´ï²šh1gý%çnÜÛå–Ñ^øS†(`o„҆q¶Ð<šG¦¹…”™I›µMþÁï„Àiïìˆj–Nã%©íBÞ@&£Ko¬÷uĽr P0ê~(Õ#±XÕÈ£å–×+ŒçèòØfaÁÜ´ ‘ç󣺢֙% Ü£œJ´1.# -H|u ’¡ëð  OnºðÐ&x€¿ãÞŒ¼Oh–ŸJ¿)\ÿs qBàÛwñòÂ+·ˆ©Œ¤¨Ô…yÄ}à©.÷«â,?µ§Zõ®=ãvåS€Ë/Щ†&˜—aó©ìê°——ˆeðÆ²—‡Øìš/…š:„ 4 ñnJóù:Ëgû³BØ€›ýGHMix5¼†ä6S¬ëYÿGG[Áf€ëéF[ÇÙÆ¢®ƒmL°{2¾÷Ú¡K@ë{QåU¶ÉvY•Uñ¶ÔÈÖ2h<)!…ÅyµIØwiëà:•uWÉÐmjû,2MeóS’š ôiSIYkPV“,EŽ6{ïßÊ¡»UL'µ+»DÿÔG'Õ?œ &eV •uÐ…@6²‹ßJêhÊZ;, Ò³£¿{ãÕמ.ì%×p™×å+00-=ö¼©m} aýýaödGo-UÙê‘'ˆBùô»öC–û«jþgæcÈj—ÎÜKµ§¶\bpy{“53Ëö mÔP e&öký£öÀê aUóm²"%[~&C’ÙÆÔ  BŸN¬¦f ;âVx¥MÛ½€µŠUôY Tèèÿ¬µä—H—¤ÒÁzXÚÔ§®÷Ü áQ­è-Œ!áúÍb,Út‚ €þÁ§“\ú¬,Ýð¦·×3ÚJ-ï¸Y f]Oµ900Nw6ú…‡è"nOÙ¥+ç¥ðÈÒÁb ΚâÈ@ìV{^üQ_¦ž>æZÉ 4„Õ–íKå†Ó$|ŸOÙ[@9 ÛŽž:;¡êÞè›-GØÞõ•þ@›…Ù}rÔí®»õ÷6@™FW(} ì•V%×ý;fŽj|ù> ´>XUÅLmúN7t½Xíæ0YgÖZ • ˆ-˜ܾ§ã«¹Ô¤„ñã‰UÙÈ=C V™Ø¹NpV'ô¼©‚8¬¸H–·•psÚ¼ÁýÏú71'` 5,ðtj®nA|jˉèÍ`ÝЯ°{o€°)3ë˜Ö£` ßLTvéÒ ozÓ‘ÂæH÷7‰¶¶OïüÁ;I³±¨Õ‹ðÃÐTrö¿žG¤È°8O^:Îã­€± ýÝa̬tНLÕÐÉÇ])À4½¸[AèìÍù¶KßóôN!#G[Ïûœ2]‚{‘wY$qþ ¡’ÅX¦*Wõ÷O¨aìÍmC‘´-ÒlIp  NßsrÐB§ŠÒM!Dþ&§}l@ ·3,ìÛ®p1ôH ÅL{Zþ¾`„Caóa=ãÙP÷O·Å2‹fsoÿ³Av›\ô²Æ»"vǵ3ÊST?n&­9íÿ˜Å¦¸ÏFÏé«ZiïäJ¦\‹c·ü—e{å­¢ýÓÿˆðÅIÇ8û]bݰXØÛ÷[=b9wïE³:€]î¶'§Ǫ}©`…+¿ÿ¶\Ÿ—r\Â<#½å\©¢©’˜tDÜ9ÞZ‚™³J嘥.=á*‰[WŸX (š†®{ºªäŒŒ‚ZZÏØpŒ®‚÷¥lJê®ey+ˆ€}ÇÉ]K>„d$Òò3'ºë—±ðÜÈT÷–vÁî)`ˆeÂi3]Ô©µÚ]LZ|‡|avÌêã—"»,Ë6¹£¯™OÛ¯»EõÙˆ iv‹(9o }ôrs—¤,›NN%ˆÚ|& ¸O‰{šõ˜—@Ì)¨dñøFvÐÞþVs«äžL²™äiÊ@´ôr9w[Ò Òªº¼w c9_$XÞ&úŒrWp[Àñw«¼ rÐ~Ÿd¯8åÊ.ÆXÎRüšù DàB}U»‡;Â`..ôûbk˜Y<£s"%¥Pÿ³c Nx$à@t"˦Óü¢sêâ&sNæ™øÊø áèúH²E½èƒŽAÜÀüíðCŽKO!±¤2›ŠÓ”Pùàï.¶Ð’BзæÕ+–s7(ÂÒC`$n>=)6|œQßù”0Ñq ‹p¸…ú¡^ÄF¾OMoÄ.‘A"hâžÈ‡ ?è¶ÝÊ$ÔñÜi¾|ìA ™¾)röp5ã;½¾Îr© å p!bÇZ™¤h½3u•,œbE"ßIÜê‘ ªBð™m®&¬[±”ŸR£W´b Q-œ´ë×êÍ]{¡ÎVùp3j×&e–AçÐqýiù1sw·À”HåÖhH¶+£­Ùïî»éÒJ7&ÈñvÓÐã„aäiN”9ÐŒ» ·$OH>‡¤ ~}¯(h•¥¶=‚nÎô"3qDüðBÿÓnÆbF#Ê£SÚ©:À±‚•ð=ÆÙt˜3§´?|¢.;u«â` [)d=Ç .>3×qf¢Ä¥Ð¡²q$2¼ð§â™5%ÃÞtyÃP¨ã&‰Ê{1јãÄ•;¨cؘCÇñcWÐåÄ뙟¥qZ[ .$Z7½1ìÎâQ´8§Zóú%’I`ë Îü“«7´†˜R'ÀÒ-Èw°U œ}(“³¼•mþ£ô ì9`,·ãW’ÇmµäÖ8\ÕNmç•Úè*Ä6Ô}^¨pœ’ì-Ì3Ójr(²³?/™ Ôê¤`û‹êvud‹~•cQD2½²4Î`:¤a˜ÒOXz)òB$eÙë]¸qevªi‡Ô…F¸¦‹'ÊcȺõÍ|ãèò‘Ð6¯¸ôïåFÈÿ1Xødkèl³°-„å¶M¬ž]ä k=Ûè“Øì˜û¼ĘýäÅé”ÎÎA2¯ÝnIùá¼L΃¨ÓÊ]úÊNž\’²ç—J윕åëû$U¤œTJýŠÔ‚a±ÉEÏ0o™±UK[ØyüdqGΗÉõEµ˜®QžÐÀVDÁPIm0«´‚ˆ“¥&8f¿}}a½ ?ÖO âØc>™>…v­ò¬˜Q†ÝA©:12²¬l(ö¢6tJ+´ñü›Š÷/ŽFœ¯y5ªã­3 kp»øÕ}¹a¤s>¾/%ÄýŽ> ÅÑb{Œ¦]jM,ø”"G}XY@;¥úŒéf&,±&q_Cùjr"ÏÜ7îiÕ³ûú•3‹/™WÄluÌE,QkC½Æ^\ŒØé¿YŒÚ齃¸.+ïÞ:ÜhèP®bëÐúÃbR81Ò™ìá_e’â-–b]>;Ùp±±$¢ëYk4ÛOŒ¡ŒüiH|.â&¨H®A`ŸÓœ¤‰Õ9\®³W aÜÕñžVó“ùï\\ÜÊÊö¹í¾÷L|8$YýÈ-CJ#åhØ,‘Òýá¸øË.4­Ÿ‚úþaw¶W>•™‹.†é« é –gú[ìè:ñ*fÞ¯pyèBÇûòŸö›²Õ·)yÜó _¹$½½¦nQaÏÎdd`Ga×¶½u'´„!}úeš9¥õ¡T«µÄFãÚ,‡{<¥? 2{úÇóÞj‹ä[oòÜa˜ÈÒ—çCÁ§€!,èzú!y®-Ü$‡ü/ó¿²0†”UŠ}d=¿÷ûü\kåƒ1¿ÌMR}ÔŠ/y6}yÙ¾{‘@£^ÚJ äø¨þæFЩ¦O›Tƒ”µl]@iN}% Ì>,R&Ž ÆGåOŸÎÍ‘ð«ÀÓžd‚-kñ[¤ÿøÌ/’†Ó–€I™¥Rþ÷Y ´ØÁ—h¬áèáõßHoêV*JÐÿ°—%ù Ἆíç~óáe2¤‚ÑVŸùxêïâ }_Qk‘TÝ2äÒáïd"7Ùà0òejç£cá ¨šVÒ—¡šMlCz(úM¦³PWjú¤ 46p÷g‘ßßXBÿÑaC?•Pœÿ¸ˆ¯@HqðŸLà}?jeé^òkFâ>¿ån~/‡‚JQ/Ô| w …Ó‹ÌžÔ³ØYùnTA]áß„”ÚdªEòæOÓ:ïU î¢66h@vïœoPfÃ&þò’)R3QÜ.[-Uì×ÕöÀŠ$I‹3¨‰·ˆ„¹ö½WnB X–ÕæûðØN*/Ȱ̓¾«>Y¼[÷ˆü%F¤!ŒÜ[i9‡fkÊÐeâ‹©« “9méÛï2A=ÜÛäÇæÊ.óB[s¿S]\i¾ŽçlÛvû]ß%“ÉK ƒ¤¼Rl¶K/°'üŽA•Ôü{aª2VÁy±±]œðs¡…ÁåTj‘<“‰|Lü€­¡Q‰¨Ò¬äܼ}BÚÈo?:';Ê—…¡¹£ùjWš­‡ MÙóŠb¹ºfÎzõY€‘GFÒ–RsÞºdÕÁŠs»j›üA :ÿJ ü Âw’¹+PÄŒ±¬Ô-óе »íåèŶ׸¶éKw•Ìe¬ß9™^á t=Q¥ZuÇ¿ø¸[9L#Ž«”]èôæ¦}ÒÀ±æ¿îoX˜<|Ê ö…)/Ô7^Ø»±â}c!˶ ÷R„”…Ó„2Ïr³¯­QfÑøj,!S/çÎv>(¿à‚l§¿tÉ.‹Ò¿6ÃL9jœ×mé!¡#ÖÂ8ï;ÊgµõJçÞzpg)v¢¦Wß.weÆÂØ3ùß.  3;ÿÇk’þQÙâãÉ™%T” “šK JÒÔ¶xºGq¡´±ÇÎwæµ3nïbì ¤Øâ×ܘÀ^b=˜9š@vç\™¸ Î›Û¡Ò®2ýVÑaLÁOkóÊ7 ,¹nÚÀC¤,«bœ&×P£¯„ªª?¥ˆØk@…géÿ}öŠZfV›ûÐMó<3 9£h…QÁÒ¿ð¢ÓÆd†¬pû´‹„Îh‹¯{¸É…—kÏbšªˆ\“Qv*ÆŽª’ŒÀ;í ø¯.˜…”ƒ@w/‚žJlÑËw°tV4:eR/%Ér1/Kr¶Dø†ÅD.]xHªvkþ,ðî!“­å¶.mÎ EHÒõoCÆ4oGPÀÁý)ŒÏ×ÔÆxÂ¥ßÙIWJO¿‡“HÓdo7ŤöÁJvz·Ë›¾ÑγvëcK˜ŒšVÈ©”V‘„ho0ä](81ºÆ²¡GbCá` ½ëÓ ÉG™Á%’Å‚¤~“öº†{{$ÊþGUjÅ5”j0«u9+j:‡ZXº0†F˜Ü[ª$ÇwÛ÷×·XÝJpØL*)Á‹Ó†nYǵ—…pñ>Ko¿×Ô¬†‘ÓÔç,22]UåAF• )”=‘æÓ½¤#êÙ½ä#h‘dÈ¥*(½Ñ^1Êïδ0lt‡"³KÇr0ãL…Dìî¹ÙI»5]ù_ím,oá> •#NèùËNÈÓ¥3×ß6?eþdøÑéYµxÎFŒ*«ÞÒwvoÝ(o1÷3©ea\#´ãT!l÷8g­"~X®S€ìLópÉÛýßœ}¨Ó «Tê¨hk ˜9ëQž[è¢à˜çp&ò¿ýJöäÑ´ñ3"ÉëÊlsÉc"8t£ú+u,ªÆ‰G+U˜¯¤ùy­ép놸îEéÄŸÚ S}¾¶q"û–Iˆø»—X¿ `¼½›Ç}>³ÍÎÌLkFá,¥FxÄÁ5ç] Œ<^p^|nEoÇÎka¢ÌñÀjHùãÔ‹èdÌá:Hdlâÿ4M÷„Ø ûzò7Ÿˆ.Ù=fZµgd0hôƒÙó~-í °¼b ÀzúØý—PÚG G|†ê¥˜ZGÃéè|Ĩ±2óüt*O pVRBæß÷þŽB ‰Pà2ÐT°ÑipVxf[ÕM2Ë?8]Ç™sWŠñ„Ä^‚w+ê“|Xgjþ ûuúº(é}­V_L &×Ò—uÚ/Òås¶XáL‚ÃÓn¡p~ñ0Ó´PÕrü ­ŒŒÛnZôí€oŽìÑêmŒS>ǶRæ^›bÔÑA³¼Î®cY0·¸-Uò8M~Ñp­Q;CätºÂ4GCœï jdaØjy-‹Ók—wæ½´–z‘ØŽ¦˜$J™Úlš¾”áÜ´–'^t±Íù OQ)²pS¢ö€–u·‰Y§óM5‡5ɹ@îËVƾ@ fÙJц®DÛÙc¨a••Ôm´À)-J'¬C}1Á!?1bÍ¥7ó$ã§SR»ió?ÝOi‡Ý<íðÅê€FÿC°†· 2’–çˆðì&á®É©ÀŒ‡§¦V__"2 9àÕ 2>«&T&ôÔ~PéøG¾½l٠Ћà2û­ÛäÍT…mKWõVOùªUu»->ÃØò¥þßâ$ô㢛(Þ”úÄ÷Þ»èåÝ”B‚6Éé¼V1¯púÙ´#åkù<ù9.ûi:!Þ•­yN—²Qa(gßrVÛ7^¢÷ê?tÉ šƒy÷¥÷)Ř- pÞŸ#Wh¥ÀÏñ•A7¯In:³ø%Pç#噆îþT¨S uŽ“\®³+…6/Íâ4ô)Lwo÷{(C¥&ùX¥ç,ÅÈàeº ]£øZ‘¹$±/U†öU@Y.¸uM[“¦Ã1wìúT¯ Ç£ ©{™.þ?A^qAaåf^dKrB²åþàb|g½Zñ0?…CSÕyÄEfú‰ÑÄ(|“ï- ŠÆµå•~V`$*@?ëŒ#ë㢬êˆáƒûÂ7î­}&1÷\³¹ÉsëgŒhŸ7Wúé\z] Å?‰ tY”³Ÿ’§H…ï4^n‹š±¨Z üuߡ޸8nÆ=eÞ³"ºõY¾MịõdK»CçcEÉUç…TNm½BC2üF¿'Ƴ$‡qÎ0F-`Kò´eëLåâcwˆå}})î#|±ºÿÙç½:í!†ìéhtñTqÏ{ä=ƒ›‡cYþ¾´Iì»rÇu? $EÊ4¦s°Ìø‚ gjjâE*ò sÂáZ$°íÓ‡a¡*$¹Ke•²ÅÃ|¸j^ÿâ.íìÏ:)‹£|ªÄwZ ¡KâmDe57eÈZ¯wh~hÛ—¶â™G%Ž4Go0*ÄÇߦëס@ÂLp!wj€Âˆq.©¯ d [˯[c>OÁ²Ò†îÇhtœÐÏNô»iv˜RÆaÄuÞVù Kû#`µ¸š”þÂŽXœtO–\ÍåG<{#º‘“ìɨÉáëy—Asþú…×À•‡ØÅPAkÄ´]Àhñ¸À”ð~¥CPVL­˜P„ÈëH¾s–5Ü/yýYMþ:›^¼˜ b½"Re®Ð¡é‡ä¿³¥ÅÀÓ30šém¬Åښɻ3ƒô^âa\Ë=Ö¤,rÓ¨‘zL3"êî% ‚kA8«‡9+Ù»D Ý\¦?Ë…zUàЇhÝáÝÕ*¿\Ó¨Â)/1´õæB_ U¹ˆœ™”â+my ~€I9>`Œ»«ÞUÒ;ÂöÕúqlsÚ›Ò»þÔf¥*C7–M8À±ö F#4Uª–Ñ}ƒ AÊ›Üf¹˜GRÃÔ–ïoÜtûáŒq .Ì)=õs³Å²´5QùœZ7qîEúÔOðÒp}>UÁ$^õ\rœ÷ñ@J²ùŸel5-~v{ÔØ§µâŠ\Hž>íËs}ø§^Óú»-}hP7¨Qz›‘±qq€q|LÆÜ”6°7WDd¼í¸æÏÚ$}†^s-&ƒMY46)ééÿGBfKélY±R6NØ?}ÑK¾œ0$'æëb‹ 4ůþ­£¼g½xÃÚè»È¶‘2y ÿñm…âÀû*½æbß%vÚeNÑ(<~džüÃ0Å—{W¬Æ]s·öëh $I­]³ñ¥{îæ´yÈPtÙï±-Hm•¬>5qŽðƒah .9«It1þm ÜÕ%ÏSgS›®.æóȰwk´ÙO” “S”joÞ %(øˆÉ ÃÑÁç-æÚ)¶6SNd*²*‘–Å©Aÿ6ձʲµF«ò¥¢´ 2½c“Q¦‡×m,ƒ(¡îâ;MÁ> ÚÒ?¯9š9jN-o©]Û§ª‰YÆËe»wjÛnwJ+~ÆxÁÄÙ0ÖÀHx-Ccé'Ûç9¦)í½s"ÕÉÔ.Aº·­c0¬¤öx­Â:ò×lýTpg¹JdP<“¿ è÷=eó‹%¨/Ñ9»RÁPÚœù?¥¸,Ù*l)NÖyaï„áT]·bÿÈ¢wç,ì?µ4ÜóPHÕû5«;éöãCð¾a%êæ‰³õ"Ïét »ø>ƒ¡Ã¥¿7KÞýkÃP—ú ³ÑŽÅ Ÿ àÚ’øèz2Ú“qGôœœ€ñe)lѼ ÞÍ’z¬±øöÍE{Ê;îBEÒ¤Vsº \HxþÒ-ƒì!Ór˜‡§ÌæCr¢Wצ"Ê Zp4X®ãbkTícëN[NѺâßój¸Ç«Râ¾BÕñð±Áã5LkgïwN¢Ü]ÿ.ªŸpä;$#,·€ºøK êlýÝR5Hƒ°i”` bqÂäŒxðÿR™düåeÞß o”k?úøLóøÎÑÕúznð|ä eÎáÜârÈ÷øQK}F®Z'{슲[weë—aFv k:Wϰ>ðýˉnZYéö=)5=[ÏCžB ƒ[, ÷/VÝßí¦×(*ÄÑ­·º~‡±ÉǨÎôÈÏQªm oÁF‚Û½ÿè—‚Ð=†´A#PËZ´v´[(åÌ6Œ6(ý1Q š^xÍg/©jÑŒ68hàùPyüÖ€UªÓÓ¤ Ò€pñðQ„5_=}¦¯«ú7Bí8mÛ•4ôøGDsÂSÀÄ,xº´9S[ù/E¼2¿œÕqÈ ÑK@AH-'Lh_y,…¥ÌH÷È+V6›v†0 ºz§·ï*›ë×ý0g@Ø)[82°˧ªú žë‡•7åÆp_±{q¹}'¼‰PFlÀQÕï…42q)4Z<¶Œ¾ a±=sîªüDø«âÓ˜:,«Ìú©êH'FÓFdlrâÈóŸ’Lä Al럵RÕu<‡rVçÌK×ç¶L³²ØVE5ÇmÔ-oUÂÇÓE.œN'kuUnk&a_‘Õå08Н–ûGŽÝ¡¹ 1Dê-ý¯W×Îèþ V•´`!²åï²õŽgƒß•°P~Ý!…Týl}Py•XÝY=j=&(‡Åb]vBcuM"!êx´yÐËÒ®#þ­úëg·|CöYÎPR^EŒ›Oˆ-Ja‰(Y‚£­Yž0â¢Ô¢–q–§‹!óbºs@†ØØ÷3ˆTfZpñYŒ ˜A­Øq¹,²yËŸÝ4œ`fö½ù‰ùiŸ"}/§e88ö¶³˜ÇJq.G•ñ†+•G7y»zšž—žq…§˜ŽnÔ7ÜXH ŵơ ¶{«Ðmz¯U©“G¸ œ^å¸;¡"Áˆ¹™‹†‹NÛ‡»nÿë½ïiÚq“0óWY¥óÑô¼<ÒÉSä*dˆøF¿¯ÝN,¥’Ò.\f‘ímñÍß<Ôy§ÜcÅ£ÁÒ ãjôt•˜B=7&Xo[Ý♦nvJÇ=Þ†¶¬¶#\Û*ýd5Mªr¦2)‚ÆœË8=/¿ëôK‘…1ΆîZ4LZ¼7êqïüñ»ÿb Ä$÷Çâv¤Ûïï¬6SS»þ«»µÄ»žwãî[þÓ:‚ÈAAxª„¬û,Èü/^}0„ôaç: ;ÁP,“ÞJÙÔû×5 ËçÙ¯‰|‘ ès¦k‘g=0„O6Ý’¦¤Õ‹u3¾„nö“FO¬G -]ÜQl°—Ó7~ñÞ¸>gËÃþ8C21ëj÷ñÚ3Ÿ>¤°¿nÍêVÀä?)O’†ïÆ/TÛ`´²¯è\Ã{ý{di‰ë.BÐM >‘F|µ§T*gEàV”/ãØ]ˆØûtîÈVç½Ìf©Ý¿âù´]Îí üÌÓÄ!Æ1AøþZO ß´hÎÚeNƒVNˆ¦Á¾IÛ[”8óŠ"l ¸íñ¡ƒ ôºßù©ÿÄ¸Íð®Øv7f[3ä3(VÌ´êí3ëD€©ú8lÝæca`yx.P»5jUþ AÎbW“5ç)KGL¨lU¯|·èpûè^UdP)V»dkûVÔH>¼ïvÙzaOÓouN¯$þMÏ*>®S=§Jÿ,Wˆ)õùéð:ÌÌÃÜÿcsB<±³ÖO90§Í©¾4q©çûuïɶЂ’oճÓÙþg2ü8̃–?L¤&©ƒ†ôÄ`ó‡2ëf½Ê_¼t¥ÁÚóÿúaJwÀ’.Håêx«ÖÉŸ–öüeuÁ›ê½Ÿayž“ù‘3ÿ¼XùDyêÐ/oÚGÜpÝÆ6Nì ²Óæy"è´mqglgÎŽºdºJuÈÛ7ŸQ8Ê$VáL¡çåÛ{`+>>£0ßfTÔ¡š$4Z8[” Èüwƒ:HŠ7áÆìlPkŧ˜ÕMBT´ìØ‚ÇQÌ”ãÒØ†^Â1«vôG"¡ø 19¯ÖÙ9Òµãt8›'èü·8ö"Ÿ¶Õ4·7ÉØ€ÄVÓ¶!£^v½íùSZVHN}ÖQŽÉ¸´ gOi´‡ùÂ`“§ {¢Y -e¨ï˜Åîvu©ÕÞštþ›ª¤^k8m÷uè­N%z‚ƨ8j$5 *ÀïF¬0ÎV{!˜ôÀw{ M[¿¡àëIunÁ ÎÌh¢‹Õ»‹êhz.‹^‘æ^¬[÷5ÄF_Ær0{Ϥ€ÑøÜB?Õå¹'O­³ØÆ9¸O[ÏÉy–=U Dûú$Í@ 4¥×gn*¼7y"Å Swæ‡NÁìö ŒÄøZÑɰÌaF³¶oû†ª¾•ŽëBOýœú®N©l¶Bö)­®_¿–ˆœM¿B?vßX.+3¾w¹T¨l?߸-»Xk¿óÇÒý¦s0Yå#Ý>C<âdS߇wP[dËóëæÙNêQöÑÞµÌm×Èí åÿªø~—Í«2¬=¸æ‚È.ÙÀì,"õ4jZæáÁQ—VÕí+ 'ÌퟣÁM´Ÿ^dÊ-o¨\ÐVÚæõÑÖ¤ü,ç-o² 1™©ðlm;kHãP^“_Ò0"}rÌ1¼¡p£i¡&½ËËLg:+SÄcºŒÆÇéq„EiÿîßC†‘#¨nñŽþÓ Ü¸ù2oÉÛu£¡ŽÀk¶õšÿörmzn^O Mí騵®¸–RÛ+žï…2(‚½ß\¸ø€ÄË»©^ßa`MÐжV$50ßZ'Ö¤à~ºú\ý».ˆ~Z¦Éõ¹=ˤZCUëêœæÂÙ²¬¿Ë¢(0°+ñïÎ_à¹>àÂNeÏÉS‚ÂÙ—urKö<ï™3X‡–‹”JÃCM¦zh€MŠ™‹ªx1$´ÌŸ*ksÀ.‘Õ hí×÷¼¾w ¿?äÞ̾±Ç¿Sž‰¹|Í\«ch;KÖç7Š9Ù¦’è ÁÈž<”M~¤JÅžû‘Ï™5ŒI­¬Ê´•©d­¢ «4Þ"…ŽHµ#ÆkzgsjÁD’ŸæŽ$ògwƒï=‹™¾Tf‚h³:yöúMáá—×JÊ[ ˆ^—´{ê?Løž£#Ùyq®ê²gÒgLgþJuÙÉÖc£UO *®Ð5¾œâ“_iIÀJK¸áR4*ª&Ŧå Ñø7Sì[ÆToT>9@Ÿ4¦³¬½a½^jz|âÞs¢`$8úÝ~ÿC±Ã7l†Óݾ·J¥¦ZRßöÁ³Ë“ò¢Çhjȶ?q¡·áw¤ßq\o¬çõÞ¾J>БGÝ[¸”ð†Ûn7ÔËÆ3ìQp ¯7/û†ly×ß-¥`b‹Báy¨¯¬0nOshBl­^²îe«Á”éÿjXúÃÏ…­’—S–ã´ï+ätúF—-é¤<ëEêÂesþV‘XÌ`:æ¦,L)¹ 3Áß v_ê¡ììö4z¥|ª‡ã…=©rcê&ZïÃJ”â-¦¤U?ÿæŸú Ûîž×0²ÄCË‹µË+wxu¬›Cérn9ß«‹Ô7i¾‹¯Î—Mg5•gZ!M[9gt% Ì ºb=g“]g¢²ÀÞK ’˜‰ ãb™{£²±Ù®M¾S*€é†íS [´ßœ`tŸº½*¬àãë6–ö!÷îw@®pHóSÎ3ë£âRPnrÇO@Ь ©–î«Ö‚PkßdTÊèÁC}ŒÅ—ȡ䱡”È]·“H™`8'@£Zÿ ¥¦–[}ñÜŽYNbº3Fzó†;^å¯gCw[ ¤Zqè:5fƒj˘´á: ÐëïÃ1Þåw俢ÐПIð…ø¶¥¥I ‰5ÎSŽ»E²”÷X¯•ø¯£FÉŽ€¤¾ñèºm°ÛÂEõŸ³‹¤ÏÁ·>gß mæÌâm_ÑA1ÃŒåä#–ü™$§É?B1”'–øþ’ØÛI½š/2Ûªóúø^Ûð ôt¶Ck Ä„`H¬~ `—Ãù)oR5ÄvÀG ]èEÝ„qoz±#˜úî¬uð†ž—!*£1­ÛÌd•ÁyTRmT_Þ sç1ì~ä7RÕÈáŒTÈ»üµ¦ÍHˆœkºÏˆÀ»Áâd…ÏŒÙÛjhaÄw³ê," t˜ýgÃ)?xñÙÚÆèÃKŽ$BµÓ3§õó!ˆóS[S1&/;‡SI2?‡Ï‘ÿƒ½]:Å[ùU}‚ë¢à²Œß†³mxƒŠ¿BJi?µI°¨LçÍ>²Z±7è¯úR|ÂÉêªJfrg–ùÄ^/šŽ×r> ]ÿ ”n¦°jôö¿¾Y¼Ù‡v íAÌæNøÛúvƒ+‘õv“ô6µ’¦2}†ÕE_çd°1â•Ë<€^PBûX2å¶C­Ñ;ÑD×){²dþ@ë‘…· íe'êƒçÉ[J'÷ÀFÊ ï2.°‹ý¥œñÖHË™#Ž,¥¥ÐmÒDd§lÚéY–þq¯‚.êDj14+È‹W>UdOEUå±IÏ´fYg± †rƒ‡ ï⑵¶ç^´v‹á'½áG¡+œRR’Ú#¿#B°˜V/¡HÅì÷ ÔâÙ×ö=Ý%mÆ,àö‚¨²lGEÑÉŒ7¶À_@«¥ÓÍOyçT8'„p’6LŒŸˆ K#ãžBîô:ãîPÙ2˜œLÿ€<Üøq“¥pP}lØjï¾Qç³ÊH–VC L Æ› çiŽ!ÁUñÖ·(áJR÷àÖE¹èpئ)°Žƒº嫟ݪ+jÂüì†èÃüaê çeh x>Ï‚_ƒ›ÂM»@iTèäykeêþº¶oå)Dû‘zß#®ÝÔZ§Bæ.„>8 ý†‚]‚³L×öcކ¬Õâ]¸'qyÕ¬*ÞÙv^”·õ±›ôËÝ`[ü·áàôé½5¡m Ö^µ—cسùÔ( Tóa{À#Ìë˜ÚÐïÇ|SêÌ;•µnº~öçÁfŽÆÃÔܨÌ/,擹¦òéuá2tÖí¹Ä×2ø•aÍ\~œÈ¤jÿ 1×\jRe³º‰çõ\ÝâÉF¼âå¦o¤Q‹¯}¦ág4Ÿ‘@Kë't»i‚üA×D]íÞ ƒ¥HpaûèÜ!µìZ €ú˜Ñè ”–F±Q(¨¬çXãÙ[F6­B™é‚æ‹´¸7›©š,$ÂX*¤Iì"z‡q (íSy¡ùêG&žñ„³>_–w’&­Î›ËzO˜µ-ÖB€.£qtc‰‚‡ 7 I$fúÚ¢¨&"¢bSŸ@X¶Â›“bË&ܵO–¾¡jz ö•rÜwb;ÿÊãåv‘•´4~쳂ûìHTáØÑù&DÛŒKVÞ}–$íóa!'TÅ”íJ™‚ÞYdXˆçBJ÷¯p1v‡»®çÏÙÙxnŠ8SF-LÑ~µg*Œ¶½ÝÝ„&m2Öi–Ñæ“áHFߪECR5¦Z¼#vÌ„U¡š1=ЀãwTŸÈ:v¤-µeMúþÊMÕ†8Y²|lš6Û+ò~-NÁ—çàD¼zæeàÁ Ñ¥"{q¬É>G²[´v×tE¸¥ä²ãeš¼fêÉl€Î&£@¥ùJ¾>qe[Jö­¦:¤¶X ÔŸ—²>§ë‚[›-]¨Òͺm»¡wm5¡LÇà—iW.Ñl31ŽJhÑ(bw†<&j]RÁk¸·ƒòU ÕgþHÂ\×èÎ÷*»PŠo…UeΨ•…=KHþ‹Ñ¦½Ô"KŒã®?n¹eúÀ}S<ÛGY$C­#ö§ƒg ò¹ºÓŽñÞïzyÇ:hKí*ôôàÁELèÆw`XÍ%!j²ýqÇÒïF¦,’èïd£* Â,B”¡`~ˆ;œ™É$Ú¼²ÿàfUÔË8êU¯)(D!åû=3/¶ §·j4ó_w½bM#ßࡌ™†õÈÐ â]7JB««ubUþoB }ކµ}?©l‡·ìJ@´Þ»(—.„âB(/O9Æ0Ût«ôP(<€9âi… &.êZ†Ù©é÷>ÊD¿j 'M)õãoÎÒ!Š2a÷K^avAKJ¸ÂŒ÷LO®•¼=é<Ê>X‰üô"»¦;x˜$2<ò¾ÔÂÁ={™ö\ݘ«ñ2lQtËKÇ6å½x½žß­ã=Ì9jv±ý«Â·q¤Q®˜°%z…½¾·qwRP“PJê®ñmJïP€×6¶óÕ¤ºÝ]0hîTƒ£Á>’"loý5h`7KRãÆäCøjîÔ5ðr)D‡Ù Ó|¼åÊ8˜¹8I»~|=ü™Û{¼Ø ×e`ûnÖŠè(0CA³S6!CrƒÓAzH§eµúá&YLÌð7½#Vav`^¬ÓR„•cîqžèëu'yh°Ü^]NÚèìšýPBJɆoK÷µ¸·Ã?ÃÖ³útŠD+ùš¹–!Fìˆm<ò9¤*^‹§¥ar‚¨bÅ>¨‰ukŸïû"[^¨; =ÔZdö˜/ïƒgãrÝyxØ ƒº¿Ÿïz…¢gAá‡é#ˆ}°˜Ã/îÅ8Ã!tM&ÂÙ2„æÆÚßýÚSxÖÎѽj‘*™üJ·ð)êLœ^iLYgjt§9ŒåÙšgÜ¢M°\L}hÏDÍ›ÐiÓ㉤çã§ÞH/_÷kt¦!Ç*¤ÙVÌÍÚ§tÁMÍŠMtƒõ”œä©‹/áo:âwWcåöa8±’:6Uh‘“¶bL*€> ¸æHð ØÈlÖ;ŒR±F;©çˆdtï<ÍÇÚwµß(Ö©q–|ôQš;%襺ÈL³R¸äsá†YŠÛ|®A2®-~9•ˆ$•‚€·ðŠÿønçýußëÙʉУ„K¥3wbßÄ;Þº%:¬a0îûH\©-²H ã ¤QHÔòB˜‰~YwBž²V Ëú]ɺÔæ²UÅ÷kŒþ—FGÀöu©r;ÿkšçY ö>-dŒò©`ˆº¸}ˆUk¿©šžˆµ;¬¢à`_Š-‡B&x«®IãÓŒË3@ÒIfÖd«t-[ùÍÏw9qQeøJC²4DÖƒQ¶A nmCù1v´#§Ã/Òš°´ ˜ÆQÀ+£â®û;Ý“I>¿_¥^®÷b’ 1º†Yég&LZˆèéÈ&¶¨ÎDÛ©Øä¶ß¶"ÛñiBî1'‘åì&ˆ·ˆ5~=?õçÞ(5û{ªy½ ¶'‹è‰^Ó/—#„ÝêÂoóm*®¾~2Ê üÏ·@ky_Õ2H²u nL¬¥í±®ðÈ?þí=»{ÿœ!‚XéP{•™~¬A´a¶ú{^7n!ÆÁº)ýYþ_Â/Ty3€8ç—àµjᾇ™‘‡[ ˜!Æ?6ˆÄZ~ m]·(QÌâ‹ýõB wDœŽÕúÏÃpÛ¡^é”J œöxÔí?9Ê6ïë&ÆÑWÁëÚÛ¼™ShŽ‹S`( ñ<ê±Å[»·ÚXÓ‘#%ÔÍAÈÍÔ̺™xÅ‘-øa¬qD(ñÉ.1@0,¡²Ñ«#‘`{ W9ðÖLÍ1YÓÁm%ß-¥ ô´Èaø'R#¸s—~Ô¥îW¯ù0sB u£@ð3ØÑY¿®ÃE‘F¾Û÷¹uŠ'•¸†¸¡ îò¾S£Ú9rà~3¢°FŸúºÀçi㞥Ɯ!ÊÍÁäaìÇ™B~_žö°Á¿cOÃöWœÊ\§YE‘×!ȘIŒ:Pý×­"å1û¼c¤€vV$¶ËÚ%ÐDu"ùîæš÷¬Ð›)ýÌ÷9{÷«¨dö%Ž:¿œ‚ß9ÎâJ³ô%óEšoŽ¥fÄ_ÓµjY”€¢¬«/±‰ÑØ;kAÊx–l¥Ÿ“Á4S¤z’²ŠÕ¶âć<~RÑj»Î¬hÛ9éXï¬õ´JöV÷‰²u’=âžÏyת¡EßSù5ï]|Î(þQ#B CYO·ç÷ r †áä1`¸Úζ/57n*‹Ô@Óˆíi¢`MãxcÀ:Áš£µ#$)\ˆCEÒ9›AEÿ æmɬڙçgEœa>&ÇI|ê´¬'P§á`Ž ÀÛª &;_ç<¡òèë©W«üí51àÍÐMØs›N ¦¶ïŒ|‡ºÁP_¼Ò!KÉ4*é`¡ø°èZeÙ¯üÒÏÇÝ¥Ń0ñaù;7G½]k è¿ù»Ö0ñzi‘ôMÕ /¬é>þù«]â VKÜÄÞ¤aJÉ(M?ÙL"±QgC”¦É•¨ÈaØFÚcÏ÷>òå =þÿo!I Ógm±¾Ì ÞÊVp¨¥…†œ¥ÙÆ¿†ÎHMŒÏ°<£õKM)q'º›ž¸Ö´ŸÈû€˜³ÞháÓÚ†‘ÕòÍIÇh–Ë”ÛRÏàâ £ ëÓåêì à¼zÿݤT¯á³¶˜z{åa~­÷Ø(ë äÌäó7t±èyf'ˆ†»tü ¡Ô¡?„2waa´âݧ92’øèì ãv6Ž¢œ]à¤K)j$¸?¯»¥Ð}.zé<:‚JeNpÚ­¨Èb€‡´…~fG<…"?華¿Îëî‡]/ï¨?¦p’>rúij¹D%#åñEÍû"””(á©( ¥›2–W,j“Ù­S0г Üípü/˜ **07c‹–ˆ7éñ܆ ÖóƒÉNFȃ2«¦l“õÉ͇:ìïþ´r»p‹yäÅ;f‚'(YUnm˜¦ª¬â¸¼X¦8jæÏ³Â¿^õÚÎLÈ1ð†ÒLw’aJضrÿvoX…ÊÒ'À:jL£¨í'\-œYu–æÖœˆód•~ÌèóºœTJ*WÜÍ)Ü·²ÁϲA¯Ûè ?QƒIËYßf/ÕάDÞ üYR¹KzLQbQW5Ê0=¸b½?ÎñmëæAìfJâ<ÇÜÌãpp½ErÚƒ·sÍï|Û7³À'ñ¤þæD:u0JµFß6p£‰l®ÎVƒ8ðsžÝÄyæ‚*61ey»¸6ØàÕ¬eS4ìÏÎ'±žv¶×w$å6¿+À¦’c™&æaŸC·ñÑì(zÍšZß T$”HhèòÔRr-—ì±, ‹c@7sð_l²\H •†e”þ§xáý)±O~h¾oYsCÜšdúlºUT`z É¥*käQIÂïˆãgÐf]ªS|}ŠC|`ò|'9¯ùY„9,$t3"Æ™‚#B‰EŒtìíÒW[ïžøÒ!ÒœzO4nÏQËù NbÄeÈ4'3$ÉxÇîÇ?S»XU™™¼ ô8)ÿ`Laæ@{Æ$Ï|'kìÒŒe/¢#ü“°†ÛàWáQUt˜‡X„½¹ÅIŠSl7³fòÙm-2;ïkBŸÐszh@1š}°ÉÀò0^&dÑíi/œGˆKHTQÑž‘Gs8ª„¿_D]Œbd5Î:Ö]óÖªv»7/Ï%õ*h÷"R'ó˜ˆY¨tó$møß-hz£”ƒ'QΫÁ°3¤T’º¡Á!Ç;¯¬ý½I;©‚6·‡è"溜ص eÐs®SÀd)ÊãÐ<8Ð0)ú::[;æIÆGx»VîÇÆm€ö“¬Ï{^+C¼ö|.Öè×AçŠã刃ÎU“KîK †‚mF8+ ¡”…Í?&„ÀŒ[¾¼Cج)O\‘/Gõ¡¯„d€»ËL»Ve øO(R2‚•^Øî„MÒ—õe:¦0ßìê~ãÁ!®U+Evþ¹Ò¼°FÇTˆmÉf¹Ëþþ‘´—@LEU{‚’¨ö×¹]zc™“PÖólKmBÛôw?†š)ÊQÈcLºññ/l»‡kôº‡JíMñ@[»ÌýÊ5¤› ²¹ÞI“)Ú’Hðrõï#ïàNïí^²>ƧÔhÀúÆÝ«+¯_¦0`yZ·Ý[dÖž‡[‰BŠD^Ç–Óü}„YôL>Äò’¾Z?BIõ6•¡að|j½ŸI9WÆå,óáܺ±“…džñkiZ£G®]|ê£É#Bj•­±?öäi0CnûN¿÷àÁßy`+J0Þ ¤Íø’‡Í̵‰ CáúI1ã£;\^ægí@¾M– ÓNlI0Ügå"A• b]vëÿjt½Y 1eb[ì¨ú·´¯°µ^Èï#ñ’ õ"‡`ßß'Évü 1ý7e%LÂ6Ê ‡àˆ«÷H-p +ÄçD[´?+Dg½`Öfá2cVa€m(p¾7|$½3Z>¥Ã ‘zæÏî}U×Y•¨ÿò'L‹NïòÉl×|×½^e—w|ai × `2˜gs—n?ð,ãÔóéý¾%ßc£w\«á¹B·Iê$Ó:ÿO6ûíuWÀà´& …$B ˆ2ûæevxbã|R›ˆÒÀênh~ ¢ZÛüÛ¤Íâañ…¢z½6mùé¤i’Å‚Ã/ï#¡5ƒ\¿þ8èÓu“[hj@—v’—ÅI\˜Í ¯ä)P×À?)|>ÖÝ’8?oP`|õûÓ"S B"õ¥h\>b+JÛêxíHÝ[‰#F |=ŒVQÌékOÔL,áP„Rdi’…„ÙUd;8UÄjI–Ï —YÿŒƒ#)ˉRÝšF£> /"D¨{¯]¨ûŋۘõL™fUÙ)s~jÞ ®Ž”`–ËN·SÛ·¯ógªB›wµP)Ìå‘âÄ\¦–K‚{X”©ÜH±k¸­ͨ Ÿ#ðÖÔôÔ2å,Ä05†î‡Üþäãÿã”rZv„§‹óÔßÉz2õÓ¦Î%Ùðíe­ÖÚm0`*ƒY3þ”ê†$~°¾çÆ @ƒ­Î‹>°gë1"3ñWÎÁìjå3—uÀE4¤å˜yJl”vŰ=Ï™Å*syûÒ¿R¯y¨ ãÁ™h@“{Q£,‰€ßóï€âTÂáòˆÕp‡}Ž8š÷¬%Ù™- ÛÝT4$Œ*ÞÂI±!ss¾UÅ Oqûƒù¿ è‰Úq” “ò3†*_ÀÚ)v E ŸV¨3¬i:;Ü\r½V“éã¸T8†‚Û£c?};À”6¿~>_/KzÇb|Äh_¹2²—sÛ†ØÇæø¤C{)¯¹ m=_~êªWŽ,»+XçÎþÌT á÷9¬j]2ÿIr4ÏÄŒ[Ò´ì â"©‡=Ç@Á™ð àŸvê†s²Â¦³´µY·òìa !m~¥&³…ºµ7ï|i2¥LHòw&ç«ø%£Š‘‰éò9§ûz,òÑ̸ƒC6e¯QjXÏV§}.òR7'ÕZ‚Qñ][{5³²Œûn+L¦_ÎZæ<I™&|‚̉ ÒÉxg£L‘À>î•0‘w6Ú@¸¦.:#wáüK¸ÜùOÌSC9¦ã¨y/6ýËXÀ{8ì‘lûu'uVƒœlï„õuŒ\iß‚!YÆ–XKÌólɺmîÜYE:ôPþæÖÙD´ òW2­I½(¥ŒZ“òt’2¤\Z5j«Ã½³»ƒ<‹ùÔ„BÊAÿÚÎqyñ?ièÃéÿJª»°)Gß”³MÀ(ãN•–Æé}vBâK“¸V“Ž{;0[xB¤å†2«=׌ZTµ“>}ö*KŽ$­™z}ßl£µ‘÷†2u6š×—åâa]™Þ‡ÍÒEÕ/›këŸY4Ãô'ýZ õ,Má bLÌÑÊÜÈÙž3¯™ø#Ì4âm’ˆá«Qþ ?3þ~‘ë§ž0Êð\›†dI,,ô*ÒvL¼är \nÀ2ާ†ÜsùþøÛ3­“.ÍfaþÁ­ûÖS Ò”¨¸=+ Sg_-Ÿ¥æá昪«{Žˆµì!¼{¦Za_{Ì Û c?¢gÛÚw\UhÚ˜ò×ùåW2Rƒ5Ï$­ôÛ3g{ûÕs¯u“múò¬A¬Íè% 7‡1¤jŒ‰ÍfªTVRñz4@˜uÄlÑHG¡{¢WØÕwµÌ³Ë£¤+vêz$þ¿÷Øòk‰ƒÐÙì\r ˜ÐÝ&¦£hÒ´]Ù'(‡¿òdÏÄ}[xS9ƒÄ>˜@ãÃ(ìñxE1¼„ÁÙÆJÈßkŸüUI2¶+åQdä_ddõdX†Ö¯¸–`¤0F(ßk›&ËTÒ'`ûêûoéÏ G‡[Î\ý§§D‘ ˜\EÎÅL»ê”àIña/¶âã."…nS}‡T¤Ûc¤'£½öæúnž'•»¥Ú¬ä-ãzÌ``iyûsþ|¬o Cã Ó¦b£-v£ë\ý\[ïm̸`Șó9#„  ˜r­Ÿ?¶Y2Àœ#7ÒÆ–‰˜ê§éªD\ǃHƒÁ'гë²ÁªÂ¯ˆæg{C Y”'kŠ×·mèp#HWVf.˳û°j¡^#­ª'g祌í˜è{tж¦Ÿ¢t¢>ø9öôܤYâ;{Úþ“ùhäÞ¶ Ú0tbw°c¸àÛ•3ûT‚ÞI€Šþ¼ë(g«^ +0ÑôÝJYƒr2ë•ÿb(ƒãŒš`.úü÷³•=/«¢ÙRèý˃øêlj+sbáHbŸd`ê\µj~"±‚ÓAÉÑñ“ößÙ¢”vÓýÌöÚ«°)ì½8Ü è–ÐB¯5r¯(Vj4¾Ê$Js‚ÍëS"Et?XÇYýƸz–:D1 ëOøºS­2ÉIÛÔñTà^F\›Y‘Ì»æ‹ò·Ã¡³.¹«)Q{÷¢ðüŽç©†N [h›µ¾ŒN³)!Í,áÖîº#Ì«ûìáQÔ¼ ýù¯ w¬ª‰­Õ»)‰=ö]ØÜB“ƒSÖ¾r×ûS_©sß7"(­ý´ ŽÙC¼ñÖS¯â•§?ƒ}ïÚr¥éP» ÙÑæÂX‡ÉåF‘êý‡x=ÿ`à c˜r3túfãEð}?ƒUdÀÊEy¯õõþð&G çÚ˜ú‚ãbB9©zùá¬0»§6QÖæ…Ù9-¸ÊsyŽ`’[d=¸;Ût?e¨<©Â–©mš+íÝ5¡Tã÷ŒK;$fþZîX ºSÝE¹ *´š^x™öœBÕ§æì­¸öó Úá>wHýHã›,Ô,û*†¹;;…>)Å9Š5Pû×ÎàË* N /ŸNŽwÕÆS+§­:éñ1Œ¢åñåy:aÚgþÑ3)>øüŸßöÎÉ£F™ÒÈ98ºÊy`À1i3YoY°+êxÁd?)=Ù´F°æ¬CÿƸ&ÍÍ'#tm»óŠã,Hûìo7ò÷np%“¡MÉÿ—7nc²èñG˜±-sÀ&iš¶‚œ2âe²iJ2KëŸæï&NjßÓð=Û<ª]çìÿÐpz¬¢rß!Ó­¶ 7xuv *[>‡ý–ª¬Kgä“y^5廬’£¥O¨ÀBcNX9çJ˜ö„¹´åÈ”ð\½P¨]F°Û¡¯ü–ªÙQ»*çdë‹hË/ g~T†f—xÜ ï§ö·Û‚ b7Ë æÜIŒÆ ±ïæÛn&å[p&”{âµsz†¨ÚÔ¼êñ©Í™Ú\™ñkC~OÃ=>ŽÆŒìF͵ĸ-jÒU( ÌðZ‘1m+\Ö´[dt¾9ÇŒ$AÍt÷ùÞ¼ïH°fA° æW½1Ùƒôå´¯è¥x¸¥ŽŸ¸aÏÃíŠ-±÷G ¬Ô¦m1k¾™gë5á´ƒr¨nh€‘&ÃoÙiO'GNåá»Ò|n\QW6+ ÂA$“h¾Xtà˜`ÐKj{$ÓWæèÒË­t ¥Û¡_=Qœj¼îß÷ÞLòýF_Ü^~Dij€1Ü!î5£÷ˆ#ì/ib_¨È¡Q ¢ç·Äf úÎÊ÷KÙËóFã”î+…sÌB••‡XØ Ü 1K©žßC5Ô®»@¢ â…ŽêŠÏÊÞR¦ØªçôÿLÅÅ…nz5¡¼S–bK£UJò4»7!Õ:2†šÁpØIKŽ“Œ1—“u¦¢xrSd)ì c±6ñHH“ Ðüm ¦Ã<þ$ߌÍ3&N$ñSLϪ„nù㥠öµ:O¥/Ó͛Ť2q½€ô>«îºCsɱ׽ùeoñi/ͽ¼yÝ=gÄ~Û¨r`*Ÿ ®GB¦/RÁñj±‹3½V*Æmæ‚©x·3ÑY«åKTi.ä4å·~ =VÓ$ŽöWPý#¹ÈI,XÝÎŽcE<äx~ÉKí ŸÕΗ_ n5)ŒŒ4¥õkSdx~9¬†cvî‚bõ ²BKÊ©ñ…N嶸)Ù°w?‚ø chºFyá2…ÏlÅ)ôŒ‹ ${zBÁÏïÏbùâÇæÀ³•œ€Ž '*ñ¯Õaà]z'åÓ#%`)s×Ô—JD‘t£ñp»]sãzSG…ÇæeÞ,~à+º”órKéŽY•æ)Ù ¥÷¬âƒ gÉ,è×nF>ÄhÃmVal $æR©‚ ·ªzjþ 0‹ü$O fq¤]„ÔÑöª™Å¸ò¦¶ñ"[€-YX>ÑG‡ 9„¾>’Mw}'–Å)óOm°žæ<{1Í(Ï-‚±ÓÜÀ5€±C¡eü-#&!kèk³)ä‘Ýu]oj¯³ 2ì àÚ‘ã5²©¿Pqà¬s ´Od§ÍðHœ"¤k9ÙÑã „}Îí2&•PFN¦Üú’> „è¨áÛdSŽPPg›ÎLŠ|åw‚íj߀›|Þ0V›Š)ý[OƒøÓÕ›ßzÚ3©l#o!'5-ï_²¼BE9MŸÿ)Ë”§Ä µ3´´2~ý¤7o@·ûߣÛN‰Œù“) 'ìíIMG˜kÝÉL>ÈÑC¸BñÛ€^?éÆ÷}c6Ó⥃‹Vu‚yîš–B˯ÉáhÊuáì~GNYΘÛÙîŸýºÒq›œwBœBÊ>c¥…ßOžGv˜溕ŠCM‚õƒ×"ÃOÞݬ€ë âø€á›øC9Ž?câøY\K0¹3nÍà±Cq´‰•¶; KÔp[”³(þ•­\ÒEMÌ:$Š­ }‡§­ÊþKxãîó:uÓ 6‚-iôW/Ñ'äDžßšbö³]—ü·Õ¡W`ÐÓg$Ñ£ð’,hÔKä#ÖþÇç¯ÔÄ+äÀŽ¥®êôhÿâçWuiêÏj¬> Z'üo*¾6TÏd©2X ~3 TºÐ¢wÀzµÎ·‚°¬¥VߔԇõsÕù”™|ƒ:~š¹ëν4Á B™ó6KÅ+ÅåsÙ–3ˆ™²˜^¢5™Äœ°ELIÿêb÷ #Znzè?Ç1 ÉÄ6[À±Gó{}|ÕhŸ»¨üÃq Óº§ÏËÐP çÚVdiýŸ¡˜ ·¨=ëRÄÔ q¹Ã°Ñ‹Ô3\†²E°RH xGvžîŒ‹ÂÀ!“ÞhL.t"í[ˆ¼»Ä0 ãM©€,ŠöQuÍû‰îeÞ÷í²Å„J’¸!5/•–æ^$wVôÞ³žSE—q­×¾'T°*åLòÚ2åbIÑC—ñ%ÐP&!:Wêz\üøu1®'Œ¼na›ÀÔ®G‚cQíöÄÓL¿ØV0Æüî(ÂèssQPä³v©VÊþKOS )´±»üGJ¤¯u­ü^‰³ÕQIìZxØ-'Ö¸šÀÿ 4÷D%çY‡I`‘­ÒʶšÔư‚Dg5.9ß<ͦ¯üƒù­Òìfå#S¼hðdž´cR4lÛ&ÝŰF×L‡Š/§ˆ˜©"ùRd á§&Êöd§ð×hŸêv†rá4³OžBªXiÁäe>h÷ŒœÏ%?w¸rù¨MÏ“Íõ3J·F¶L,4é­«Hn›s†"«êøÛ›=Qsz’¶ê°jâ»¶ÎÌO"ïw¡kÝTYðÖØœ3Š:;ým*ÝÎÚ©_¹µ…tËoY"é8aj¤!´4“ÓVRj^㪷¼è†&c±Mw‚â™±Îã { ”:¢{[<[6 ^êšpŸ9{zVÿÖŽßF¢øm™mv€ð«À–†)ÆÄÚçZ LàÀ¹U(Û[*ø´?§YäÓ½ÒÆÁŸ_æIîB]t¦û5÷_â §oU‹ Ýïƒ,N ¶·v(w±ÉpˆÞ;?r® r­š¡iRûs|"óO£F®è 8¡ô¦¥ÄßžôΘæeKkÀÎd)#}·ÞqÏSê)Ï@áïþ!èqŒÀ7ä•÷ÆW¬m%ôVà7”s†ö1ÖÐXøJÝvµzÀ¦†x±ïÃÓþ4«šQJ¢yàÕ“î‘§57ŽY¢RÀèy¬ßú¤78.’#ÕÝ(-¯ãY2$IÖgùF¼3įcmSÞ÷´-îà85ê<§©$ÿ·±öCòÚ–>z^›èöÀº“Ô.1J—#¢CØ2Škß(à ¡ß<@Þ`#ÞU}£^pŸ4BFÿxÐÜ̬L·”›â“=Í®‡uÔÖ•Jâΰˆõ/ êg,ÒÄôïóÓ…;7!•u2I‡ËÖ³íŸÉ÷;škÞc[P2®(Oÿñ Lr›yNý"¡3\¯ &ÖšÒØxa+˜Ý žÐ>ç˜ÌÚbú©«òªƒæäóðo~Q’Ö•~ú×@-EeG9¥v•*l†óŽ-¶/NDãû-üÚEá ¿\„ñÓn:l±)sâÒë.˜r™´N²œ ׄg‘³SÿGGG5 5Ճ鯾\J½¹È]Û€X‚ðöF›!¿xÒÕú0gˆAPÓäsÇ)G-`´ýX1WHJAv†ë· ?4§â+T¸h­pÓÅ€.Æ›w©†8 ¯ªu9N:VQj=OÌÞ‘gy[e9g‹ÅÈñˆíjÛßÖ­uŽÀÜxòAûj çR$@¶º+:vK k[„ ÎtÍÁÜ×9|zÖô€q?pÉ/;÷Î2üÔ›7BLß—wbîü@Rn1ÿ‡hðïrA&æªÔø·ºÑ4¼ý$ù6gϰš 0ö­•Â7—Z1¯±’då8SÝ@¥ˆ¨¥á¢¾ð…¸Àq,V⦭‹X ÁIˆ@ªB‘˜ aÔoOåpÝù#µl€ù£sóܶ†¤wc8?ëNç[¢ ¡.&ð&¡)}o×{~·ÀxSÿÝå±al1±ëમA2Øw§ü5ÕaI?·ûTß‘;®®Î-¦WÇû»:æå`v“V^>Z–YœÍðG·¶¢ ß²Š.ôع=*tŒ7ðÏ<‘¶ÃÖÎyÛÑDDa ÏÆ›²m}Z0(ä°°ÎÆÜé/]±?èÝñ%¦Å `Ÿ{ lBå4Úu%D~µªð''[S ‘)^~B·¬ÑûÏñhØîo…ßÝ·úJÄæJ@ cŠª6 ˜ŽÅ› ¼“Ù“ÍÀmU ŠÝp¦ŠÊï‘v&äzŽÜ¤]ŸY-v4J-«©ñ#'±,`®x5UP¯=_ihc‹VQ‰OUÞ·áq£Z jš•&årRi‘`OK݈qY‡¥ÚRl?‡ý½Kuyíï¹á´ßD<ë—'¥CäÖðW©3µBvH4­kκcˆ·Àcþ¨ž”O¨PçT›š‹Ìw†:Ý Æót3ÙpuÓxwž^ÂåÙ|B`~kTŸ—õÃnˆzzLÇ=ÔQJÍæ3 ÖšÑêË,¢ÿúf¨°XˆG0î»'P½#;ßÈ %Uñ“•17³?®÷9ü!G^QS¶!tuJ¦{ô~—ý˜JðÇÖ¶$rÑ¥ËzëGèh HëFßÒfÁ_‰äÆxq¹ÀÅ*Ñ-naòò¬•EGàŠD‹×ôHYɶõ,ªI2n eVdÈl¶Ýí/°Ì4þTÔÞn謩|"¸¤´ï³™ DâBÁʹÝ~6uÖV}"Ð’½x'LC“¤²Áô|Tn0Ç–Ì9¼;¡†ÑÒw³>ÃΜŒÛ)™ÝqbSáï.}ñaÁÆ.4tØÑ›‰¹°xTNg’[˜KÞ0Jã§‹'êSW©KéQByõwÐÉ`¦õB0fUKÊ&ÂK|’—Ë$¦á5œP©£\ª O{õQ=fº=Bx…ƒ¯Ó]a1“yÚùžÐÑ¥°ôÝñpßN ÇŒO§zÈ$Vl¡O™‹“i¡:ŸC#:SMèѪKQù䮡Í6¡c³Ý1à!¢/¹)ƒþÙïokÈ6lã{•)j ÆÎ"ð”"YJAS¨í&ÑdsNa‹¨þÆáFu¸þ,ÅbbmüxU*‚‘9…]öÙõÏt(´å¾J¹–.n…¥È?†Ðo „ U΃³B|Ö‰_ëI÷–}SBÊ;ZQ¦Dª`ž«SAasûç-4–\öeÓò!ß9„ ÿ2«ÇuLðŠX\1/ÝOçB!µ™S|;£5^íP2ÉË 2õÒq )?>gùŸ:þ2G¶yÖÝ”zýÇ÷"rp±ˆ±ê&ÛÜ¡€±™4¥Á¶çÝÒ)µavÁuKÆUðNú¶C°i€]\Á&Âv˜y1 xž˜¸.Ì=_¹t‚JxM"øfbž–†Xñs²‹»3 Âme!^1¸ÿÄÇ÷ñ†Š[~;oF®–æ'ËÀ÷ŠÕ]¬*Üü§ÅÛ¡9Šúr|”Îl(Ôé Ó•îñ€<$šµ+ û|‘ö|õŸll3„0âÔÐ]w¡\ëjE÷Dmë;A3¶ÛÄâ÷i>…Jø þ/³OIMWš.ãŸ9&ÔÓ L ¥¼ƒ2ƒß™\†Y_^”bè>éãy"Hîœ^#aߪú8Ó&¾“øô1BnŸÌ Ѭhÿ«ð Épµ‹?WùѸ 9ÊNˆÃùP­-g³e*Æše»ÓE´º„Ga‘7˜÷ e+ßïT&ïNJdÅKep¸W)I!×V¹%5Èî 7Ë- ƒãÏDpè´;‡èÖœjH×܃nº^[ž¤ü=µ™.˜Ó£n߉hg åkH?¢1u4낆ðÞ£v_WYP¾­À®«ß2ÿ€0_iØ\ö?Ü2×Ó—§ªRòzï×ZVSá*¬¦aG¡&ßÈÌØ÷wòHÃ\&q‰Ž 92.ýä¤Béå¡ÿo Ï+í5ãwò¾^Zm §±GÿúŒ5.vb’“¬hçñÜàIL‰©@GåÏÏCs¥vÌ î^d\ú3UÔZ@Ón 1SÐtØ=~oïZ¡ÉZY9\TT‰€z‚¹>žÀhôOŸIYRÄRÏœÑW™›f@aG«¥õå‡ïÐÀ$¹8=ÙF@ZÃ=z§W©1¦¼ˆ5fºl#A¬3xñoúÂü<’TZ°ÇGMX­µf¥”ßá8xú .`¸Ê6±¦ÔLtwù(¹<&»€VX»œÙÉø>ùç•ÝÚ’}-쑨ýfU2ÏXj±Ø|-¼ê†ý ¢”^ccX´“Ñkʈù†¤\:4þ`úÇþTjgƒâ¦n«w Cºð†ì,rÚ-꯲ÿðÝGcfJú”[Û^Zò¡ü£×·¶íA.Ÿá»ÊˆÃ)L4¹ùŸÙZôcO¯¹½¤.ÚÜoFPˆé-»&G÷›±|ƒ.nȸY¸é[Þ@” ™Ó†—•œÆÖ‚…³v?©¸7WÂ= ß r)ž"ÊH/e(°Ã]¥4¶Ë>w ÓeMjö˜, -j‡¡Gõf†.5àý„gH 2~ùM<áLE:[ ຅ÂÝ‹àz<>¡‚„Ôœ!…©/ÂR—Ü™E$w{%€ÅΟEµ"^êp3¯ ºüÿfîSsélJí+à,Qé+µö^ £Wµ7ÚÙkÀ˜ªœ›ä*½0Ú¤;ØKm@t2‹£ŸÇ¤£t6É£¶‰X$VK¯~DÖêx϶~¥ÖÑ·{²?³ÿLX˜Ò =ýtä6š†¾¿|7&FÞëyUÇgÿÕ\¿æ±A ÿ)¼ðãŽé]Ì`ÇñGÝüЪ\Bê\è F I§iò7‡È.Œ„5ún³ƒç{ô\bî‚à$×Á^kë%°6“`qBZ Eç8g "…4>Öµß#ƒz@ó®‰Û‹rh^¬óò‚_H÷ÙENtYÂ¥"dŒÛr J‡úŬph¡mGÉu꘤ŽVþ^4Þ"ÕF¬§RmúšQ«‚ˆ£†"®;u(’´£ãy´Á- ¥RtË/Žz9dÿÑê‰IË›'Õ1êìù$ÀŸ‰&nl~ÿ z)¸aæ±;³ ¾Ef÷GZÔ‡ÐÈËl%°&˜ãsÔlÇÀµàÒS »/bQ~+ª‰9;¢ ÈIêäŸãÔåó?­Ä­Ó1€ÿöåö_òê……1“a´J€˜e‰)^CÏ¿>vg6ÿàK&®³38.Ùv˜òó\‹p'æRÅÒO]&—o€]²šÏBæÿ=hõœÀ™ã’^ç>ôÃ(ŠÆæ zGy´eÐÛ—ŠÌgù±¿²í°»ö3¡F¹{lKmÒIÀ±ë5+–Ó‰®³l36:˜Böÿ`"wQ>–¿­–­þÿ*€Ô ë )\·U9!­‰ö–uŠ–%D­uTµÊ¾#³]—@Ø€2,YZ2Vd ÙëmzýpÛ@ÃÆ \«Ô‚J6D„/‰ ¢o‰—Î+ð8ïç$ê Õ¦xÜ%ʨ›ŽõªXÅ.>À·î§ÇÂI^”ç”îLæE/¥¨·!vîLN…¯g…/fÚix?Í,_á è% ¿${q]ÜbA8ðá°:I6ïè½¶uøMÖ(x×ó8¹"È¥Q VJ9ÅmÒrF{Šãý\&*s‡h]å…à¹ò0’Iàðrªq ÌɈØå'„›Z2‚‹Ê9œ‘ECÚw°ÕÐI4•™`4Ç0eÏÈáJêÍ8|ÛátMæ+ÃÃn\_pÛ ®'Ÿ `cr æ\rÛb&íÊÒ*ØDqJ>3½‡$êTöÏ lmG/€wª.„…Á»:× Ö]¡ã_¡)»ùÏÅÕC­ª­’ _GP”Ý·^ºUH482‡æg(? !]“«VrEá6°¦”÷ÊfwrJªÕHJkâ˜^izÎ@ç¾wäþׯŽ`NÓ%ߪSÙ¢ ž)*½îXëPtO/¹º°x¸ÝÄ…i€ŸÕWSèEqÍØ‚“ -õ§ÜpÙ4m¡§ÐýY£#á_žk‚EFz×ïóõ{Åá„;çÌVGÝ ßœCk$ö'Œ5žÛn0~ðGðÕÅEº×y—”ùþ;]³F¸À"&›ë¬½/®£¡¿ ¤ÌhÈ|?XÒaA4eÆ«¸~—ç6å=Žk¹¥%äˆxOÁÔœ9'ðšä/æÛQ_@^ Ï1jıBÄ›åöe‹=$•¸«‡ä4_ш›)Ë£S˜³™JnrÌý̧¶Ì<Øð1@U¬È1œØ¼þÊÌk9óÍ‚Uè±+¹¥ç˜”T;£`·¾Þ] D µ*8I»3džo˜ŠÝ‰±³R•}ö͸À©……X‰æóR˜¾uCó0ÙÏCìÚj/EKûé*bèÕ‘S)ŽDG¶M¤TA£Oœ&Î3ªîò!‹1|F{?ÛwræåFŠ£û’ªðӨΒ] B-ñäBÌz "ò—êM(JÎ&7¼Eâ)*KS†  %ñwH€ò؈™õ't?!Úpáé$bæu¿ZOýûâ&og²uWNÖ·ŒµºëR¯òèe´ü\uÕ5øìJ2F(ÍâZØÇj‡¹ê^q&bHIþøR’Oüþ[øË/§¥öêºZwß×͇×€ƒì6‰¾£µSæïª9uªF SYÅ0MÀ£ÀóÎØpœì'¥ÔðPàÊ]TÄH¬¤°hš—Àc\9ITæZT&P!îkÔ‡¿ƒŒyU^6 dàïíwùR=‰r™‡[Ô!§ òw½ëýÞKBïÜ}÷¢cšÜ^7ò)›}rfíN¿Ë›¼_½§ƒ€\œ ÝðhÚ‚ïK2¬èkôñá‚É‘×ð“û'vU‡Ú}Lq@rg6¹nî !Ág c«S]ØN¤Zæ–)§Žû8æxŽÝd™™( uŸüfEI–ճ܇®Ý·DpNÍ~­¤UQ¸Œ&=¨,j‰)©A á˜'…åR€üÍÅJþ“Iý4Ú*gòÅFœÞ&½ã6ãÙÈÂj‰e…knc9‰ î¹½ÿ°°†Œãö Øv㶆ª:‹5P•ʘªƒÍ Vå«Í~ËÛ„,^g¾æ]L¿”['¼Àe·es­°‰¦¬ºÇ§ý\áÚŸ–d)îa4üAoSyî–“àµÀÇD}£ÏF<¥ˆ®–÷•ÈWŽœIöltJ’J-‘îttøêæÄŒqs 5éKÐí(0OÝÝÆÉ [$÷ÝÑñlªþFfRµöÔÓH¤ý¾âºt:H¥zÚü¨µ¡º8ú›Ù¯¼óˆso‡ı©Èóbû>jŒK@½g™†oŠë§Òg`‰ZYúèþM}´]Á @¯5Ðv¯ìP¹€St%¬Öb"­ÈRVj ¯Ôƒ}׿gð/=ëÖ›ù >Xx~Ï-|¥o¬ 8î®™5æaRR»®<¥‚ _³+¾%³¸ÏZ“ÝÏ>ÚÖÛNËý…i»ÓOSþfÉ-c2â€1¨Ì5c™– TOÚU8ú_Ì£×ÀÇýï©^­ƒßuOV‰¤›2­€´! ±“pFú7ìžZ$ßÄ2*(<‹µ§³ =|̵ØSJðþ&A¼M½¸2[AüNžn¿'£GH©o´ÝdôÿÕÓ„ÀÞx‚þ$F—ã& (mú:à{Ùè] K|uF´ Õ2v-ÔÑ<êMüØ4ÈÜPÛ êÊCÕâ°øÊú"’,ñe'ø-4”›îgU’|FõŒOÎÃÖÚFìn͵m!é(x×_qJ!µû $.Ä óGõÀE‹À²&EãÝYÛÕΣ§æ `ëÃY÷LÉPOÔvŸœasqR• ªªÆAŸ ™Íh¶U¹tI:º±ÍQ`n:Â^—û¼áÎ9ZC~ŠZ j­'E*J¶½¡´Ä.ZYR‚;ý{PT6x§ÞñQá¾9n¾ç[×òÔBp/£B¼foò£Ýdô(¿8ÌwÉZ`Kà"¹U1š¯‚žz273ÙPѤ™å]^kf‚jDq&sØ"üv@ð6h¾!ê?h U^¹Å¡JÄ…Vˆ…€⑎ÏÑPƒµ²±h¯Oq¿‘«lTyÑHL÷{gºœWÕt‚“ñ¦¼ï¥Î¿¬üYº_¼7"êþuÆ žqžõºR_"þr•À{O0™x„ ²Ò½i´”>÷SkÃþÞ 'ö™ÍšU”-èÑ~Á&¼r¾Fº(Û— SwRÓGPŸŸ©ÞxZ5ÜmSÅjÂ$øÓ†ÜÓ›'3öõîï-® FV&CIÉÓ<=Ñ jΟ5²V¡}ypšä?Á¹8ÝÂû8¶FÔv8Æs¸sÜ«›OSÝh— uXìŽlŠÐ횟(.PÐÖW|kÛ«8áá0O.ôÀÚµæ\ ãnÿWë ûãÜKV{nzÌžÕµÏÀ b=4Õb/[#si2ÂýF«O/ñ¯³2‹U݈€>R9ØBR$1AqJ‘‘ ÁT¢ú¶Ù.òKŽÀóE¿Ow:ÿqoW¶¸¤©jA(d&¶A—’ðTýjM©»KÌ Œ=2œ¤]Ëw/]’AP:ÛÈ®ê bÞ2T¯oƒ*(  “×ð^Î>U8f€Ð§Õغ 5 'HÏk!ë f™^áÄæ÷I}ÍÀÍcØG‡Òhv+·Ý|µî©_nq q±d.ãr‘¬‹ÉÕòZâ}•üþ-p+¾+D%j"¿_ï• ßÚ{Ó¶ãÝQP'ô%ÞH€¨¹ÐPc9æV3´…aUö^ ³¤àÐ(PmYB,]ùÚØ'ÒC¨ðÔ ocèpT4,0hH—5p§ÿÌ ôv©ÊÅ b³®wn:¬N?5­z(§W‰Wµ+0ÛÛHÇÿû° ³ƒÿá¡q¬-¡“›5Åä‹×uä †{Åb¸ØR€8ßq|@ÃJ›’’ZòÔô;¸g¬rq±êÒƒ~Í‚yàAT®¹Uö/N¿m!£Vu¬}¦(¦Å©váñ÷~~~‹t‚>¢éM»Ró€x›K:øÐd%š–­|ؤ¶ßa/‡‰õ–ùDV´·à•7uB ‹…b¡`Žþ2SN™4-°-ÆG²hnÙŠúÿÄŽnn\&Ü´­a=]ðóìþ ga°jgVLwC¾ÁYÜ`~Ó[J—oO.Mµ¼,˜¡ÍédñýÁÜð°KPOô™Çõ6ŽÒ¥@£ZŸkgS=2eO(²f4º%Ww`;Î=‡üBÉfPÀûö‰¾Ö©õ¶ålR÷Ÿ:¢ó×øU‚L¡u›­jmî-û;—¸>Î$&áíá×9öÙ{5N{M`øßŽCÓ(OGúa´+'áçC«o¿“ŒÁ0eì;ýîiÚS§(Ï ”§Ò®L@ˆ-]µ-TÄr=VÅ\³–:APVÑHWÍùÛÜñàË•ºË7 •¼Wáâ•ÁûCaz°?úª€VzÌïÞ}|MÏ0å8mB”cžbǯ ñ.Rá:Wœ®`üŸž BTÂ¥&ØAÛoˆ½î {]ÕÝÏ ({ÈÜ1<øöÿýðü{?‚ÈK°[IK¶=¦è·”pq'eC†‹¼Zˆ¸¾ŒÀ}Yªú/ØH/‰æ¯(BDÑ ‘ õÍr׌–‘f±"‰X}¬%ùÅ_@Æõ^¨Jtlú¶n)28‚¼EžçÃç®Efd¯‹ölÅ©U†(xg£j©0{ñJm YMë„ÉÅ­ÏÐÊü·ÓÜO5yÚíE?‚cóË6Îe€ ¥¾Â²ªáÄkÒ,)‰‹ñþ»ô¼½ë<ƒd IÉ ÂPïâÂ\äšã¢Ë㑲‘Xp·ÚA„ÈZ V|îêÝd¦N÷„‰Hs‘ëm%qjúyx-ÀI8Ì«!™ãbïþ¶S©ÿ4~™4LÃ'=ÿDõ¤|+/1¥Ìàg¨p°vu6ñÈò ÑËc¤õZ@Ú½"0=ÙìZ†ƒ…ˆ  ):(K(ýÞ>pkhnÑEs«fA±«ùM%ÿè;„6É€¡µŸ5o“zv·jqíãÈ` b}RË­¯ÐOLù´$¦C¨t0î½wˆ×€$MQe8 ”eJ¢D#1Ýd·ð®m‹¸w`— rH­»GœHÑ1ÉjÝc(¹°WßXWÅØhñ—ÏNtî To‡¨íPë‚"h1&Ò_É™–Wv[…·èñ ÷[‚?  ~ºbgÕp”©C0é ©s18($ERd[á”ÈôsD 9*³„ÂM&E²»/{š6Y=d‚2èD5Z<¨V&t Êsˆ‹r«øëºC£Àm\ØLAvzt F¼>mâùô®‹¬2ÕêÍ#ø)"Ô&g×ÅðJsüÖ‘–*ª.~ÐF¯†Óÿ¸=^ž±ÈŽ©ä.$ Š€æzƒ—‰r'~°)T4ÌUÿÛàÕvÀº¸dê·ý ¯o¶ŸU­{…¹ÐMLÞ2ó(\W±:êàøÌ04ýúãåpÒB`äZV1¶vÅjgöÕ˜Àxe¼ý&f[õi85p`_æêJn6Àï#?¿9\ j\ÄÖµÁðKuv¥ö‰ÚKÝÄú3Gfüßïå¯]µzIÛì üŒ] 6hb€YA<Ž¡ÖÞh k]a¢<ÇЃðUegÌs±&Ã@ýåF˜ '©ÌÝ0„ÏÞÆRÅ…wBYô˼…ÍPA ûP+¡Þ£î­H络‹óëlŒ:_ 0 ®@§Íž›º{Ö_¾ß“ §®÷0Óé] Ê‚‘+ÐsŠÛJ…1ˆykÇŸÂílõóØëR)Ôe'2Ì!¨C'G›‘s­eó‡Í9 tiI¡iê•Ͻ23¶'R’Ät¦÷‘óx¬æaè æÇ@æO"4­"MŠÖ‘×Çö“ÝUð ¹]¢ N´ÆO&[W€–a¸€oC8_ò¢Ï˜›õQ|ÂÔ–Åá€Z ‘„Á§â_D¬“k 7ãÎS—N€)]ò´å›G®·øÕ¾;žÌñ¹\øZ°)¯Øó¤eóËŸwìûÛ\«±x‡ì¤(røz;,ÿ „¢h?‘ºæt|œGüö€ud^k±‹šÛ 25 ½©Ÿ/¢v¨¬7rYiØ%E™¡¸µø {.>¦„b&4öÉ‘p ¡HÜv*X¤ ÛOJømÖàऄS/¿Rüs¶iìÓ0° ¾ÅÞ ÿÆxÚ¿‘ègä­ÕE:Ý¿JwY˻ѤÕ(ôû¿¿WGÆE³'%ˆÙqc:5.K2Vtª”Ó1Zý{Œ_0dîIœ¯ -’Uæ™ ¸Ï><¬‡’ÐØù£“[Þ\~ȘÏ?Ãz':Y”R$Íññî=Åô[¢Åná/²Âžr(Iœ­ë›ÄEÐ4 ®jMzI)qéÕ Þ,‡uP›6„Æ|Üõ(úéê¤ë*½Ù²ÙÑ>&¢|¦ùpt?§C@=mÌw‚‹P=EK2Qf’¿5–×”ÖÉöþÙˆNbHUÇ(éÓï{mä™Â¯¿oQª¬™¡æ’쯅+:ºATÙÂõïêzWê„‘Ëi+h¸±­~_ÚöÙŒ[Ô=Aû)>þ,<^oÞ±˜J2·Ïôo7‡Ò¯¾„Ãà*Mj"?ÐôŅ$ZÕÕÛ~š^„§Š¶·¾V˜ÚjÉYv‘–W~KüëŠíúì«ù?k›€ßê*‹¿îÊ×<ç["‹ŠÄ¬¿0wy’^îeÎJª$'liR<Ž«Ã#”tª»±+ °jRò ~±lƒöl””/-íã4Aè¢y«y„Üä>ÕÅtýÊ™G~Pcöss)õøùðî ü5Qy;±¡Id“ŽÄªy òÀ®´‹V¯Êd…ág‹½u±wZß²¥}s3üâÍ¥lóPBDl o$4Q„³1Ù‰•wI_¤)ê3<êýxÌPîõŒÚyá»ù‚‡]À¦IÎÅŽ‘s5}Ðñ¿ªè•üÔcKg÷s8¹~#¾ÀPrYJßýº&>þ£Uj݃z Jðj)t,,ÖˆÀÛ…\³7(ñȶå¨áïû3ØJÏ= •ü+m)0ZUŸIóø7ÃãÂ,N_-˜lßbØþVâßx913þÜÈì,§¢£«Ö÷›Ç&GGBÞÝ®îV>¤ ÖIô\é?± -t­Â©kY½D6@‰=“YœU|õuÆ¿“þµ‰w7±®FEåoãuåÕï´HPwUš”Jœ\ôêj“µî,—a©ìläVéMð¯ÅþJ.d±‰ƒ¡D÷ö®ý°’:e÷!“Bæ£a$ù=më¦A>¤”qˆ:[ZT˜®~U᫦þë3›òª˜tÅ1¾¿ááe¯Ûl׳(®´a,º¢º¾Iìé’&=Ï6å½ð æO4×­Õ8(!ZW«^åøÅÞV3ÝŠÇ*A‘!½¯¿ÔÙf%ë :Ù¥N( а² :öÈ»~Œ²ñáÈ71Â÷3DtOÛFÀ@3–¹zÐ䯚=j@V Ê§ÿ^ )gPå>€·M›£ð³v&ä[å¥×cÒd’“YÑaƒ×2ØÂ Ïe‘•Ùˆžö»p3Å)ÛÆž1dC•}¹êHœG¢Õp™~qDQÁLT©ŽåXJŽÖ´ÄW"ý‚'€3>§×zˆKd¡!"Óªä6ÃÛÖÚU‹Â€y·¿x$³JÎâÌû£eN M™ûŒQBÅ2`ÄP¿^¢7Ò!›LŠÿ´µP¸Íá}95ÎGMFÖ-lÀtvHîavv]}“‹ ‰¸sYßb%Nš&~‹œLSÆ=8LÓv­;¨Éz9±^2`xyx3ð×·;Ëu‘$'~Oèt’®ÈfvÔJ‡C5“1tÉ&×wTÁÎYûLœdx¼ºK¶.ƒ áþ‰…/ßëΡ•¢÷½ðXÃfqi«V£1[ïÒk©äaúzúÅBÞimXؘëZ会øèuHMy…Æ]ŸrP\=X_ׯXL®×c‘_Ö}'Ûya¦æ7ŠñÉûé•”)äßÜþŽÚ!$û¼ÿÜ­—\ùð& ¯¿xHÁõà?âËLÁEÒW#”L úôÂDn78òæE,KK™å]äÀEºæ]ªZ9uoò^Ö¨µ Þ9Ô<™ëÁÊÛ®ïÎ0µR_üóô…BßàþãÅ0™ !VSB‰êÀoèéŽÖ©”¾†§Òà@ì`¨.GT ÃBé÷ÆàÙTô‰clÀÎ ‡˜²(ä,ÁB•ùÑböoò÷±I3ánÍT‹=ºÇõ›9è—-ž„Pø°ò5Ùì+’lñ?I–„sêƒýLIàŸŠ²Œ½-/é[êòþÏÁišáEœ27Ö™üK)L+xô V¾:¨ zï|¡ùÃÿ™XÏò©TwóåÞ6RDáïÝÄBûn®„ý´Ì W“íø¼ 2cÝE¬ßËZ> ¯#Û3Ì p;¤PD¤,ž÷@5¾ýüèð‚¨FúÙLL/hœ6½3st¾„ 7?°`÷åÀ·ÐÏÔD‚rø—ð[,óI€üÕýïyáÀÞh³ë6Òéd’ÎWÃ@5…µ0dô!~šêc’¬#žµXÈ2P¸%z û%ûc1¾Ñ¥÷1L gS6”‹¢—#B°Õ:NT°ú稡ÚÂ!óÖ*ÕÞ¿ãíû{ª‚-Qb9PÖU‚ñ)5Œ?h¢Þªîòv€9oÒ œGw#„;jè½ =…P öFà[á r‘sáå|VƒpÒÙñ뙤Ò&údˆ]@á‰6×q÷Wþa¹Q0K&žÛ[ê‹/w™ŽWO²9…ä‘QK9ûnŸÉo ÈF¦f©s 7êã šja(!¸vúB9xaœ â*`pü¿¡o\ç$¹_ªUÆ2‘Å)€Öyâ$›µg'‹ˆÙÑr «)nL“´)’#DüJ)1oª—G09×—bq׋M‚—Sµ âñ\ òknià©…}úÚ©äÿ­aEßzf|}þñ?®›X§ˆ>Ô5ƒ¦&áŽ`­mohWVÔºXKP´DK²™÷\Çí¥Ø÷B¦ü!eׂ%ÁŒPH7CãWIW;L½ü4®'ûÑlÇ\Z;o×î™èé;M6nZ–l½îc€zq6fKBÿ¹»Ã~´ç–km8³©6±8+?Ÿ/@×n‡å%‹×…:ü"¸ j´36ðk?‚ëAOâ ì£tŒ÷ô©ï8f-PÐì2Àõ¤ÃyÍ’¡K‚‰ržªñA£ª2Þa©KNo¿l8˜—GA›­gnw¤KVAÉy£ó»ÅñUüC 9Yyã“ fQ½$èPV1ݓߑ…ê|qÅú:c%àÜ™¨cé?t‘«·nt bÀ±â7¡nwttMŠ&ùˆßœ»ÚJ÷gû6€¯7˜¿ðfì!g€¡HA5Ê¢ ¬éì=€Êä”*±UG«;‰k­Àæœpeó”žêæ1 Èq£‘HÛ¸,ïÓ°‚òÎqÇש"kSÜ}Þdgׯtßâây \ï,/9ƒLv¥°Õ<Àו1[k Yl/` ÚÝÿ³ (ÇQ&ï¯ÿ´ðÊ{IrzKÍl.Jk¹ÒEïÔ¬šCÞC5žÂ#dƒ'ò ¦Œœ6¤=¢.´ØÇiD_;ìq°™žº°tšJšæ€\èéz$ïã ÜkòƒÐ¸ f±óµ¡a~x¼úÞÚ,–p‹² ñ-.ón²XN8_ð"e{Ì‹%"N0.©tÀ¨Ç\näà{¿ü³@#è·ªÓp \>:K$"µÞnÊ£Ymâ’y‰²=»Á’Ú°#‡øã%š›À†’Q†úÒT@w07xlÞl²æ€5 ñ*\Óxö§L‚ã1ßöJ‘Ü·{Yö MØõרUÏ“Æjó1ôOòØl¡x;?Ivå]Q[R’@÷Ø/ãCiuQ†zÅ6†Â€ë(øsÖ«šœOÀŽr ˜KÁó3dꋞ{LàTV-e—?Š.xHÅ9n‡í5¶S2h›4üúϳ˜š·cÝQ%\Au "MyIl:|ÆŠÃi¨ß¼dݽéÀ¬a2§Žcâ)c¡— èèfäÿ‰óp: ôBŒŽÞù$©¡L¬¤îž¢DŠÊ¥& ¹ö¼÷¦º>]Ñu€»Ú§'sƒfÎåb$ëU^ØPÈ 2“ˆºP\G <VQ^{5|v3×ÍœQÛn´óŽ=L-ä¯Ãs:¼câÊ”ýqÖcŸ4–$^Ûx§ –Ø  7÷µb–ÝÚi¨M8YÊÃ&8¼óXf¯ËCa#w)ý˜w]=3‰,®mÇc•J—7Ǩ+Bªkˆ†éó|´Ä¨Ø„Þ¸`¼åŽO~štbÚ2é>¼T\¬H®Ò:of…ÎëãiÔÊÓþÿURùѤ#.~dQLº‘c9tlŠq(“‹yð a)š¦UÜ8K²žcÀð:×LÚ$Asi)ó"M‡,Þ·œ|<€_WZt»ça R kŸÒ²–1À…BÇan½¦†`ìçDK¤©O¨käñù„vž°Sü骊]R&·+{ÔWÏ!\9]s7j´y0̼n½j†Œ?1ш'^PìqÎ. íÔ†4•1N¼4¼Óî-m±îÓ ÷OuÍÝS¶DbÊ ³cžbûr® ýÞ Ø²Jô׃MÉ®Î뎽û¦Ãdp6!*}Ͻ9'•8(¨åêžõ‚ƒB³ÿ»›:æT 5rp4¸”«:‚yß|W;8€¸ôž‘5–°lÐzg'×½‚o¯}u æ_Õo$Ã?·Åfp¦Þtø‚ŠàØ,#a}5…‚·ÃÅ1VâóÞ;÷–‰ÓØ©MâÝ &V9~Cg+½·‰Š‰ôã( ø>+ôT‚cfDb<Ŷ—ùÁgn3}ÐèôïZÓ¥-Éôá(q¤‘°È0Ô}Ð 8yêX¦ÓˆÂn´j×¶_… 0$±{]é“Ú%šsíA®åS,~ü£èSMÞ–†S’Z°Â[ú+ù8ÇB¨*̳N™ò„-­–k$ËTSøT14pŽWbÔÇi£Aì@XÚÀ}«-÷`«¿À|žé{ºµåœ¢MCìд¤ËË%ëÀÙvþÈž'2‘óÇ i>`U+Qó=dè,:6¹íÄPåà>ƒŽ©š ÿâmÒÏ+ð4¾ž’ßLl)”ŒÇ»ïoc^ˆÉн•o_v  rꇠÒ•†)Ae¼Ý­DãÐ~—톰À{XØcž™fÖ\ßem•æÂ6ÿwê&0Ö÷uÑöù¶*ö˜¦ðVXQ?íXd!ÓÕd@hgT¸Ô±Ý„p½ŸÅ]ÛY•ØáqLÎn=®ö2@¬oQñðœvC]ø‚M\K5O!ÌÃ6ëžú:$²³Í\J¼|‘¥{Ù;a3¾øW¦FÝMàZ+ì,¨có–ó´.gµÃºO`2Mqù«.0H¦µnÀ®V¶W`¿¡ÏÁyV×µ­‡N)í]ˆ©v˜Ã{¬YIáün”¥cؾ’jb¯PÔ1"k2ZB‰û·NéÄ—¾ðž(-[%Ùäƒí˜WŸf仑Vó„è 1·vé —$ ÈÕÃT§P­qI‡¯¦ÛüÉ×i{7Xeèެøª°ñ‚ÆQ°O ù°Î}âh©§¿uÙB¢v¬®"ù *” d€Ü¹¥” dxIéþ¬q×ãÃpZÌü[™ÃB’rÂJ«x –­Iø¿ŸùZ—ŠͼŠÖ”¥”U| X‚‹u¥^é\…I|…ºÊ>³¸Yk8aÿã¼q&l£`;±¤8‘^Oül%gPi÷ÓʉÆ;¾«è0™¶¢³»úÏKËü;¦XiÅ ÉA½Òk~å}8_ˆe+/Œ ÌºÖRA•ŒO”k• íÆ'äŸ#ô¨,‚š¤O»Ÿï·9`ìµç¸æ%§¶œÀý×ûÇW(x˜nOŠ…Ï>Šº—RÎO‘N6žÙÔ|õW8ÐOÉíÏ‚N!0hÚÎk€ƒ¶Ë€Ø‹àÕAœSÁbáN¤È™±£W®áC0ž`“}ŒêæÕW©$ö{g¡]3 ÉTX(³êuá14±ÙJ¦EŸNe¾øíªmN´\ä,¼%ªWÐ|Ð%ùV¦"ëìšë™ÂBÞz >±$Y—geÒO™½Mš¿ÊS7ä Ã@Yce¤ 凮¦y;ѶAΦU´G̰”ÆÇë ö Îî/ Ýy {x¼Ãl§þIÙ¼ˆìUœˆ&eGèd…p´»$çd´@¢”Ñ =Æ¢'°Qº(»¼êgãE¼KŠì¤éÑÃß;]Ÿ=’Ö6w3É2ï-%‡¶N¤Ôþ)„ÃWr„òŒÚ} cºªêDWe°•–Y˜¸±ÔñëŠáy1áåWÀ‘ú§í!„É·z Å»ãÒ© _¬ xhbla<^}>RqGï({Œþ›˜÷-FR™Ñ|H¼˜íìåÒß\“g¯Éµ"¹“ÈÙRÐÝ 9³ìü Ú tÃæc^íf‰÷ ߪ=øVóJT¾¾ÉTA•±3b8¹š¥rddášÑé"ª$ì•ÐTfb¨Òvªê©åaêNRˆNœN éDÚáð‰'mÅ 4 ¸‡ß é››ð)ÒÈå!ã³þts¬võÂ,F³»]¹¬‹9KôΤcÔ÷Ø«‰˜é×Hêý-‡+˜ É-”•;ÿI•†}OÇcaÉÎp"ãÒk­ïþ9±Õè8âäs-:ïf“zɆÎ$>yÍÞƒzÉ%Äkm.—'pŽT…oZûÔÂn¾õÝôâ‘H[Ý•Ñܾz ‹*N@°”ºP%ê%ÑÑoïUå⺨jÍÂJêüïü/µ ÊŒÞÇR\¦€ yu÷RIhj>ÚóÜרÐ6úî.Ñ’ù³²d-E[ÜÝüψç‚. «·||Ä_âëŸøIÉÑ.„š ǨvÅIm¶E ¬Ù®UÞ4*bœg}Ãäq(Vhå[t¹·Ö?zVœ{õ¾ám…«¡ÐƒÑ<° }"°Þdq0ÈÙ¡[×³Ï ò]‡y…ÈcéM¹ ÚScÜ„ ]sÅÍŒ"‚÷Ž©¸7€,ô= t¿ýÑ£TÛ¦œ>ÚœÒÿÂÝû~6šã̰."’q!ÀEZIéF¡Ø€¾I™êdï<ÝñçRЩñ•çG]¡˜Í Çe´VX8rm.¹QÚ½âˆ]¥×ÓÇJájÎø±†c;“H´ýß¼”$qYÜ«TÌEÄ Åã”<§ÀĶ’›jg%á|ïü7-HÜc† ˆÀErŽ ‚öVøýM(Œ}Áni¨dî;3ôðua¸Ýç§tQ èìÈt[²J“PEl«*÷;ê;Vùwä¦~¯PóÓ¹ô»¥f¸ô6ÿÃ6-9DðZJ]—¦u¶ŠM´çV„~ ÏÀ 4ѺŽé.QÎ$óx8ƒØU¾(.^ú[pް±Gè†=T ¡è5 Ž/ÒNGdÕ,üÓ ´æ3fÚl;µáÆk c7Âp®RÏý“úh ÎQ³%‡xÞ¹Ž ñSQ”þ«ú¯Ü¼åNÖŸ?bÕe?^Ö„¾ú®>2òø’ðô-š´ïrm‹ÃO'3wU;ßçÏ»#}Ùh¶Í„«Ÿ-þµŸx(‘ |Cç#N‡´2¤ä~"« É¢¼2¹×¿K„•¦Dæ&IÜŽto61%B³ç$[’Ç,2/ÿ7½n%n…J¤€N&XÉ“Ö)GmTöMÇŸ“´fž áTÞ7Æ-ǨqM) ÿa&r“”˜1ëÙîTŒ‰¨[íÜÅzSr$O–&ËæaGŽì¾²wטÂX·ò Lò •ù¼MŸ¨}ÿEÎ7R¸|sP¼LsÁ INqã›yšÐÈwá[@•“{‘@úꆕÞÞI³½ue¶ŽM9ää¢w’»2ðJÊ2Žü53¡³E5öG×gž–#Û«1wH,¢jôÕ™YØÈéÊ•’ïéAÖ·Û³7w« •¤ªÃ«›ÝZW)(”ã'Ьt)V•Ù¯^ŽV—ÛãóV”3ø¢gÈÔbN@uºÆ²V{U!ìç0©Oð2?=ÃO Û äºáã¼vZ?dÁB¢ºÞ€gQ…PtÕKظhöDW‹ÌÿKƒ%óàM…{S¢±7ëÌQPõ j2LºÀtàª%|&šL`¤7Þf1û‚ßro {5ïÔªNKøò+áŸMàåì6š³ ¥K%l¬%åö9Ó¹H²d ¤á‘-+T^jÆŠÎ ÃiáTî/»… p¨f¸ÝÆm %´K*¿"š$ZMÇt˜³†ù¿¯Gs“>;ׯO¦œ8 Å@?… ÄÌmŽûÞÉ@£m0"Ò ™-t3“bÖÁOÀ"gÍ x›$°mè¿Ì€îº°EâlæVä*«Xn §YA‘`©ï~÷zÜ|{pjò>K#3¬n\"æÙ<í'htÉ2`œmx3ÇÔ%¿ÿ¥SRZj|u´ ØÀ&á0ü\h—<Å8ÁygWœÇ˜Ík  îIMGf/êÛð°w‹‰™äÜÁ:ÊÌÈ#¢U/&.ËmH¦at8.4n†ÆDåsEý‰ó8e #ãÁ‡䯇*ö*¦FCÝf}VN‰‚pSŠI5úÑèžÈãÒ¯;V˜’ªÕx# ÊUñö$w7Àza¸^G¤»®\½²¦iÝåhw^Å™8 7•{¢³u`¬ûh¼zxùCL8èha²ƒ­æçxºî%»©mzb­[¡ •SÞUi¡fµ¿°“°<@µ’9ÏÙTØïD‘ãúïXΨ#3`»¿ZI_jùLÀ¦Öä};$×NZa Ð’Ù2#O°{Õp«q0o¼”CaBº«Ñ† ûŽ,åaÙÉJêot vØNµup'M"Ú(‘îÿc|‰õðM™ñ¿›TÁý9¨âô¾7ªç·B¾çà‚zÁ΋O‹aÁ}DŽâTóæD!á¡åpµ£ï'+zÌϽÄÝWþí7(!H;ÜËÙy²þ2‚›´{ëmõý8#ìÇUuú¾5`çî—É}'{B’}Á™àf9ÓÕBþ©Ä٪黎—xUA¡„o6g3ý¦Èÿ•x*ÞŒad©ßǹ?.lORZ{`ýO@ŽäŠæó°Tßn:+BŠ ö yå3óuޱÞ"²ƒ\À¬ÎžžÇ±­›_)Êü‹æÒì\³yžÁÖ¢¼u{¢¿©¯2æþï§Û#ŒÕßù»J±Ã›‘l s?@hU8kèØ¹  Ó×5sghmùò‘Ó#M˜6mg„4.ì“(¿2Õß„8ƒÏ?µo™KUĺÆÓ ˆ;VøiL>+ ?—@xˡڛÔA‹èÝßOo` î>HP‰7ŽÉ­dQÉùµ›Ž”*xºîµúeM†Ïé$8¹êÉ%÷<6}Ó ’_¦±Ï ªY‡Û¶Fñ9”)­›…ŠDAEÍ­PÓ ½ }!Ép²…{¼aü/~ß•áØ Áxczcïæl×HV@±…qû ‡gÆ[”üN›(¢N_†6¸žÑ¾]²a–'Ë%]¤öí`_W0VOe¯ÂÀ%a£JÙõd_(IYC{[™Ú+TGǺ×Í•™©-E=p å{—]ÕÝtð…S…'ëèÞÿ¿ÓFú$‡læïm0ç$zly®úx\Dy.pg<ÇT–•ó÷žgà Ÿ¹ûSL‚Ah¤vƒ› Ä4ðÇ­ñžÙ%/%h…ž~)È’RàNµlÀc˯y>†˜FÓNJ•~ÛsEßü[äöÙ …bÁkÊQ^.\¿¥¡MiðáõÑèWç$¸®Qì/>3Wdñ œ†V,Þ9”Ë­j×LÄÿ÷S§ŸL¥Ž<b$^…­N;T ߎM¬daÓã¥ÀÒVÒ{$Ž.¬DÞçès´PÝ:@jûÃt^]‘xª–ŠK13µªrî"+’‰í_]Äi—ØYzìÓ=\lÙP›Œu(.ÚB¢…æ…nç ýh Érü¹’‚lT½¿ñ7Á¡“Hß“íù!?bÃÊ‘°œŸ6ÌÑwo§ÞTgV~>±÷?ï¡Á|”xN{kÏØ¤žPOJéú*’ÿo%yk’êÿ¿ù¾•Þô—!~ ´ç8VÜZ?^B®i$fУ<ã¾¾-ºÎÖÿ¼ÃLÛKM¶‘ˆ6Lf¨ÇªÓMÄŸËtk¶/i%?0·ËZU5I90<æµ£»À3ÃcˆHÎ †«²ƒL¿“UÞ1 &1¡*Ïf0Æ$d½JåA28*t'ùõqcP°°NÜñß¿€8ÌÕ†ÿûœ“ô-‘Ùȶ*»ÖT\èKv/«Ï ŽËzÛ ºÙky¿û4°É|èë#V=51á–<Ó¢“ú!õŸ›'i…LŠrý«O‚‘u÷íu?¥ªNh»½¼7wQÒJHõA;5³&}ƒ`˜·tëÁL@¸o©¦q@5v”R>|zóiší,N–Ö°lsËžîoŠG°‘%ò1(ã[וvY›O,¡làôýU^¹ðë|Š3:›g2üg­E„|þ .© œôlª®4âÙÖsbAÄ®6©"·#ñž881jÁÚÏ‘C2òÁÒÁ.õ7µî¢Î6ÔNt&IU ÈÉcbÿ IÛ}°!$lJ­V~jwgh á«HŽ-õ-ŠÐ¼ë I8´"ˆ,&\³<ö—€˜5éX/‹qB¦Á44mcW^\PuÒE \õè>·›ÚÒÌ¡V°ÈöÜÈ{Ÿ8Ït`]oÂSm&ãç5ç; ë×ÖñE7ÒKZ%îlϨˆ¡–bF݉¾¯z!ðDÒ–DcäuÍÏR5ý(\ÉÜðØI«’:`Å7‹ªJ‹ìë*ÅN†®9=ÁÍ N©YÆppÄ8ʹåA•àI°£ q>“±¢¸%ˆÚíBºu›"'R(¼ôö]7uïXB Gþâ?ð„7(|Íüg1J1C8š9ú™ þد’Õ*2] øøÏ¯²e3Kdé‡ÍxíMœ^Kÿœo£WßÜ}éV‹¡-kØd³ä¨mx—D Ó+Pg®‹hí³ö²ò…¡9G$À—ªNïB0š•…+òD3sÆeê·ßÑò!'4#°™sÖß”ã~Ââ[=s*íDnò±vŸ¦ü’š-gúQÙäš3¿øñRO!dì•jJ|ŸH¨«¸@ÄåÒͬ¤Âgå|ƒˆýD«ä¿Cò}:“ Lg=ˆÕ¾ ÐdÎl‡Eá -@ÄezŽðd©ÏšÉÙÛºº0ÃWîA»·êtžåÓ)_>…%²„¯?ec<çÜGeê½zWCë‚Ükº™²ÿdÃuØ6 œò>Æ4ÚƒÙµGhfÌV ÅßL³št'R—:]öÖø£×Ãèp´­ ÓÚqWQ½ÖÆué†\c­§€NÝY.ê6­gV+4?º|Àãx"àZEOOKÚ$n-p‰ Ä‹HEZtêwö ô°)”¨²Ô4/wµZ vÄÒñª“8êðÂ’5h1€«@Y@/ð$½dÝ?ÞUhy¬ÃÑ¿ŸãŒôRRŒ‰}‡øæ’¾5Ÿ%ßÕ@xVwqýKÞ9±É²Ì+AÌôŸj–eòbQŸcêYÿ9œ?·"ÚOž“ù!q—±× SlÛŒš<ÈÒ„ >Ç¿®ŽèàåK PåÃÂÏf[ÅcRà µ®„·MÒ$3îð4¥rSüJs©CS÷H3yúàÖ‹ýõuÇ%mƒ/^õ.5Ôd-B ñs'lzÎbˆÏƒf1Ñ—*Œ)¤¶gÒ‘"¿ÏÃOIr<¥œáK——°•Ī›ùhƒC ¥"f®& ¨¿½6´²9®µºõÚT:jhjkÔ7hçð¦ç"f?3Q~}*µPͥʢQíÇ¥…d¶ÏÃåÝãº~2³N%ùë_K¢C Úrö»‘™µ«ã½ÛD‡¼*ÃìÒNjŠU*úÄ^IHf©âŒz¾¸3Ù–ÎJOûßSNÁkUûÞŠÐ4ºáÅ‚0ÕúªÜàS.q7¦×Z?sŒ¯Os$<Ô2yð¸~TâÝÔŸÅqJ;Žæ  ×ì+¦‚ƒWÈH®y†–²Q^Ö'fCÇNsayü)yC$Ãm7§šM¨²E75+p”à3tS:2óósÂ"¸.öŒPRt]² ÁÆr5ÐFÊêÙ>õã\:èŠH§¿Ãíú·ùp𠈡^î”™Å;a]Ž”“sÈeðPÖï‘jûÊQº äÀ”ï “EÿòIOUòêÄ&2+û¤²Ð‘wir­œì~³*¢¡{Wä}.9–,|jÚyÛžRk‚5kŸaùc¡[¾•± *àþu/svéo‰ŒÿcúuV §2_þ1ÀÐ$¶¡ô"¦"èÎÁñüã6E¬—­nâÓ_OKEk Äy¬õeGðìl!í¦Éœ>ÆE?Œ9åíoÆ]x#ͱxR aCEN6T²-½_-AS½”†4w.à?=\öa¹3Ïâ›%ÀšIÛ;T7†ç bxžœC¹Ôƒ³*®÷ƒ~æ¡ÝüëÞ€3[Ûåïr¡e¹“¨iª9/fŸ¹Œ±eúØHÜKi^&9O1ƒò¸g+Çñ…Xå«­'ô÷m:¼3U½ÞcMmDÌF¨^ÑÅGµÖúâ»í oS$ýå\ wÍG]üõSîçÚ<`·Ø2NƒªWxœXºjtÔÍÒä¥ózÿ°4ð}Ò‚<Ö4ºTqæ`U€ª)þ[?Î[ç#Sj2NYWR ywñ,ÏRL{7ô×qkã­Zš?.°öjB©ÒöO°tHŠíßù~Ã;·ÿ÷YWuÀ´h04‡ÆÄÍ+([6èI预„=´³­-èWÐ.IQ‡7¥GF©¹òN4qq;±½c¡gØíssÉäH‹7a…vsò p#THÅÌQ¸÷úsuÒ[.¦n£ÿe«DÒ¶?Ýg&ÞìtxDèßÜå@ÞÒ‰72ù% ‘t_€`h<†¡B€4`À ml,0ÝLîÂö†:%Û6Kf˜ÉvÚŒ“³YWÆð^f@\Hâ+ æ »íí2"’ÇtNþIÊ´1H©\ðšÒ˜™ú…Òæ`FAò”ºý³¨s+|z6šcÁ­Þòà‹d¸æË6T”7…Q¼ÕsÇ#ûýë¯ûöÙ”‹µŽüÉØIh+n)-¸Ú+4-ò´‹_ßß&Aª'ê÷2à†,BËÄŒê,\:¦:SŸ_Εïi™6_t )ÖîmK\¿ùÚ1:0þWéåË.íC´goøbÇé@uò='‡e¾ç>Ñ·a´ÝôheÉWlú·6Úõ•àLϺwhÿ½y&VLüMÄËpÖoÎYŸo1„@2‰´Zgq0ü$8<ÝàÕj£»¼Ë<!Æå@>Ås@ÍQ#-”Ôë.’+í2%£ì î&µã™]ÏÞÕ#ñ†n­fJô¾Qa• ¸¨qÎÄèÕ2“Àeñ¡a(IšEl…F€n>«_Òâr‘°Žµž}ɪ—©×kÔÆóB×–¨«vôÆalnO­^|yŸ9/;†dD…ÈA¾=¸|7§ÚÛªúÎl[0ðTÈʤhß‚»2gAVkióç,b6Uè:XÖ+ÞÈ1¡Õ › †² ” Ë=­Õ'¼õDå$¢ˆ*&)wÐ&h÷PÀµS™Ø6 ¿è‰òœ|¸`lÏ,_¿4(ËqêTÒÐJ‡1 $HÚ´Ógn?¤¥G1¡ì^PÊV x}‚ix+ãôð8±sü5ã¸KJÚs%¡%ÊB¯SÈÎÚŠ)èÁöIyÖýí{#?›Ë³ óȾöNo)š×, @,J‡¾!6ñÞó36Ä;4r¼yéZr»Á‰ñ˜r\¬©Íäiî ƒíqeÿ/#*¼ø~Aû{Û#´ wcEîë±K=gµZsÚLý€Ÿd«F ƒÁäç$m?ЩÞ^Ý0›öxÇT5Œ–û£Ï£’ZKÚ0YÇw“"ùCx‚="\Ìj?I™ã2X/U¥7³+nÜêCÕiþ( \Ö”( è'v$E•¥Ý28wƒäD£ÚYÅm³k#å=ø)XWÁ®íÛkbv…tFüTg5šýZ‰ŠN׿)é8ÄÝ$YâAdáWcnBµ¨ó[ÊÔõqØúMo…)J¯_Á](Ú¬¶/c>~ TÁíŽôïpìÔ1›$'!£ðN1VLîZÚ­hG’5[ñ~’’Ô>ØœøˆyÑí2–Â(¥üëÌ¡˜À5ã>ÍŸÆ éü×f–üÁõX-z¿K›½àysNSx™lg:QVÛ£m~ÑAPkT ç¨Ér¼—‚#¨Išo½J?£à46šû¼àÔnðܧËl8|ò4§Àrì;HXKÌù»ûüØËæ<Ï#ÞäãÉþHŸIÃ"ÓÈ@˜G1¾öÔ\´ç…:âØ|Ù;m:<þÉAdAfÎt.,ú'I˜™êÞÀÏÀðúlØ€XZj¬–O=¸½L<Ÿª0á+â°ÃðÊBYktp™‡÷ׂçè;9#<§éÓ.ƒÉÙqâhíjí&ÅÈs–ò·±4üðå:Åœ`ß!ɽ1DnÌLÜ·ÓÙ´‹±´rñ"ÚÊ슄M®ô®6’¦Ó2nŸyJ¯šRoÛsÉlIK°d„ómÙÁ›%ägØW¦E$1ßà*w½Ìò3;ŠsÃVðvÞ»ŒÇÐï3y»CöÌíƒ(M{…ÕüÖnÅÚ‹mŸ”4²ü EMi‘:†?š¨\ä{V^±¢ %E™1Èu¡ü¥>1ãÖXAçËÈ5ˆâ¬6DÁ¦}ke=ÙyÕOöõü‡ÉlRØ,úþx©[ÏÆØì­ÓÜû$Á§" ¾ †‹#l=m§ìÖr[‹qcBa•vëÇeIY*·sá‰Qóõf¸7Ëô¢Ñß'åc÷øOžn¤Dƒ2ùÝ$'×sWøQ&Ÿ^ ê"‘Ï.ü⦢uŠi4ø,Ìüº½ƒD€+Ïïq<]ι§õtýŒ$bÀ|p¯bŽû…Ðn¼Ÿ ¯òø!΀uè¾P}8Túò¤Â TCî‡ÏEωgæÂ—P>«Z³³Œ¤¾œ6 [ζ±Pb)Á*Ï/êg®aŽú¿ ½‚GÐJÖA Û€(~ Ƽ¿,Oê_u Pæ¶ iì}2´i¬÷³Šòó3ûB"¿0Zó‰õy¥¯t€DÛœR± }Üócê’±Tz˜¥Àß\¸ È€s€È©óíehn;e—3«Î×ÇU*Å5`éöŸ-Óxæ ãüåiZ yøñâýíjƵ^[À+E•©Üe†«Ù‹ƒ†Â„~"cÍ.X‘eï óó›Uåãÿ“ÁqÛf\XWçÿ¼FÍ}¾œÍîŒ÷‘’oeÒÄqÙn²Hçý,ëZ¹"Å+€9_ГÿÑB’£+÷}vnÄ`ÞHãi‹?‘[@Y?;þO°††•ÚNSíD3C#€yPÎÔÜȸ'tÀÐy vó, ¬*òxñâÔ\L|/N׈üÏ>°LÉ€èp¥)E…S¼ØBÌ ÁÛn§÷¦¦".Ø™Í%$g±ÏªÓ1ôà¾Sm²ÐªrmU7¦AÇÒoÉq’X¡˜ÑIô„Xz3öðï_[G2©eßø‰ÖçÇÅva=È™¼MÂ`*ùþγü´î ¶úÀÀ¾ï~¯h6 Í‚sVÉé)L«Êi¡Ì<ãRûáÔf{)Ðr×û-‹Õ]Œ…}ÚŽ`v íg|¥»rÈãàùì'ûePÑE[³<Ö=Ò¨cmXkJ1ÊÞòâ$Ú“Øù¥:Øóg€ÁÖ©~¾##¥ ކK*œÞSŠ Cí×öxvCL3Y*~›ãŸðtŠÜ?ψ“¿?×ß@ ­SðH¤/Œg%ˆ?B"ˆk*tdÊ“ÚO·2_iOå§«fßÔXIì=E{Ü4 ã’f}¤Yem­\%$±m ¢s2ø8¼(ÅûŽ4fŸš$£ ™»ßzš6XVQÝÙ)X$áÀç}ÁÔLIЖJŸlJö¢QYÙó«™HµG»fÐY¯ Y›Tû¡›¦¿C³XV×êú‡^âí×αcÚL #­NÖ ê ábZÐVaiÕtõTOU«ùÞþH<òØqÂQÿ®y€:ƒqÇëU3-¥›2d5 c¬¹,µ¼éQ\̳æ×òø.•HÃór€£>$à=¥Õꟹ§¢ÛÅD«ÌZü3VT}êcŽÍÛ‡•Áš›°8K|ZÅê:AÁyây[H©NzÝi<”λÒ`1ò^±ì:ž3g‰¸Ç-ßvT ³‘ ›M ž.ã”Ë¡úú˜Ÿk ù[ÂævŸ½”n%>sßÕûJ/ÂØ‘ˆT„ᄹ";jFΓùÿ×*ßV‰%íؼ-NB!ŽѤ§Ÿ@!ÅE‚ŸýD©qè+EçÁ0ýXÁÌäóÝ("Ñèo?»®t§ß࡟jÎunW”g¦.€´l߯‹ìèzQ¢À7€$$*Ù&Èi†Þ㔲KÛ-©–¢>lõùƒÓQ$ñ¸£µ.ÏÓ¼‘@ÌæCq#àÇäˆ-ðP—¯°¬›ê}¼È‚÷ö§ƒ¤HOÊBÝ  c,ÒQ[Ëe®´.ª¦B³%n°9þº×äZ1$d9#eX“çÕò.£×%{]ìEL$UÁà©–CŸI¿Cˆ.Ò]ìÍÉ %'òKÇ™D­ym6² õÎmùÊßšfšýâ˜òï) F€ûÇðëøã㨧`7€W{ÜQžÞ@›çÞ+X`ò’Ñø}è'׿ ÖqGJZ®h1¿zõÒp¹YtÓæ¤™×ÒŸ™óþÙ/M çVå>óx§òWÀ Ú½Qw M×£¤2'¦é0÷Œ¶¦žÏÿ³®z]Å©äg\oEËši¦À“uZóñ83å2hêE­Òe†´"¯m«…oF!IÔËë³ØZ®ç1ë*jMŸ*„†ä¹ãÍÄK#€=TÛ}LC6ßÐÖIIa8}ïêêCòôö>2nÅsû±.–_6óÇòL×.ÿM&úÛRq!w'ß;:#Ãem<¨•^!^êLçq8“ÂwØaÑgb+eDÔ —bZpu¼EØÁæúâ'ƒt@‚EÂý¯7<Š&HšFø¼w•O)¼žrË+FͲ)qXÀÔD›ŽtpXÃÍ0²ï¦ 8.SÛ û–þñÛ},0SÝÔPÅQÂÝŠ;¨ ¨jÇ–PŽà[ÿó\Ë7ëÆÞ{ЧOÿ„ÚoÓ §æ7‰&Ö˜mé{œSû4^ÀŸ]W°rñsÍ ßßžÿí·}E« @*E¨[tù¹„þvÇݦê@ ö5èÞœ*´Ó~úû.ÔœØ"Ým6Åbwk£I]­(^½‚BèÚ›-9rðZImpWÞoñF\Jd@Ü(†§M´WúŸWŸžìÖ.êÇ2êvB¦ÁS…îÏÎ"%‰ò ´"â(c?Þ±R¦ëí*\ûXtqÚ]êvŒ¦G-Çñâ 0ùGÒ¶.’!äÉÂÝ9èd¸ù˜Y×1#»]C9‰˜ä/1~7A-gÝ„åÃÄ[BVò=ãƒ\ŸÓö²)" êÔÛý°y›E^õ±'Ör½ÍÈ‚m~ˆ¦íM¸Ð*ØfÓï­ ’ÙÈò+<µÕ|ë!RÅ?2—^9–a÷f‹¾ð(Q&Û«Ìïe<ºÞ¿dèU›:jò¹iΕ‚ñö@·°Û—RŽT °I“@ÑoÌ÷\8² š¶·‘Äï(÷uÅ >²›‹[þ/#ÊÏý¹¶Â_ï1¶lvgÅ‚.²°£Œ«4ù¡ðŠâš!éÉÙ¾‡t!šß˜MP*Tx63ž M²»OCRºg¹‘LÑ9 ß6©t¢«)év4ÃÍ/ZìD­ë¤ó›ÁmjkÇî/ ý²ÓVóÇ<:*:C‚òž'‡ëJú•YTû•l%_™VÏs·¬{×Ð|deîñ¼~èêÆ>Õµ9ÖÞ;wé–E~-+äû˜0Øáœ@PGާ(Ù²S‹Úä(FOß®$@~y7É8æ:]“â:4 ª­FtêyƒxV€1‘ýñcY“°!Ç\‡ç_œ^ŽS¥€œ’ ,9™FÚµ­ý¨ÿ!±Téð[3‡À`ùE—ЯÌÔ‚â|H©=j­—Jb„JB°*c5·¾?Z#4Z_å‡)µ’dað±p1Z{ª=¯] ~ôgEw9zŠ(¸—.W¶õGCγnyMѯ7jù²ÒB‡û€ÂWX;ÆEר-è8e ŒŠÖü⮪\„ñæfI•dÉ#n8OŒ¤œ6È óµt˜ŽJ2gÞØ¡"3ðKÖÔÊÝÃDÎ-Â8òÒs†JÒ v—Öc l¦ÖÐa)p »T ±ÈܘV”èEoyì¼ËçµB§Åk®SªÜô(Ùݘ‹¡Eý©<(«MÝÝ‹—U°£­-zÄß]GF’J3 Àa;º¬¸m̨cÇF]ݼ%”ζqwÓ”q=ÃÎØÓJdÍðŒ_QþN4Ùý$îíî%±0;ií]éÿ`Aÿ‘¸EáqÔEëìÀ,ÈÁlÛ?Y)ë†Yž3ø‘ŠÄÙÌGÀ²¢^+º6›C 7þ¦K)B¡úþùt †uc€•,®ÝxCfÏÞjÓ^°6ÞwšëƒµÆA¼â%’pñýÚ,/íYe²ˆLúb$ìThÜ´yU#¶ùþÌÏ`h–uÁïH­w—Í‚<?1‘‘Ôë½8¢ 5Ç=&c×8ý6+< oºÞóùq®ˆ™É ¥ZþIKñi‰œºš=‰˜Úо)¯ý̵ê³úwÝ—ûð…ëVå¼XŠ“I"Wq¹¨m¤¹0ß—š ;*kâö¿Q«éÀ3Ãê¡&óÈ.ñ‹Ns–¤,Ò¡<Æø¸5i+8)x¨Ÿœ×=þ¤Bò®ïÖÔý/2—­µÈkÂl7"ˆ³BÙËËýZ‚zë 5¨e¾3wWI³XÛÿÊÏ$8øÐ·­¶ Þr Ž{=3–pép)´x߸õõ/²ó@öö̱„-dñdIÿà #€…ŒŠ’p°wqq¸Ì©N€Xd@’¹¢ñí‹HÑžpnÞaÓõ›ÕߦÏäi刯O5kÉ^à^ %uå¾=$ùò;5 ×Ó4óG:>1ƒß™÷Є«¥îÌX¥H^i¬-C…ø×›ƒogGâ¥1³¨WßwYïóÅmq™­µêß_äùê°yŠâÜë±°û¸¤×này¡ î $íÎ,/TÈ:4î)„8ìû1«€ª âns¾¯ðËԱɉ q‘.lŶbEu(4óãºÅüî®Ë³»uŽ,ƒ„¥Kü†zEJ 93Ù'GÉjÂR‘D}'gm£#ÉOný«vF¡‰ÉV–»Tgµ’ªpQÎ%vöó+]Jóò {&ú}5×ùMŸ{¯ã3ÂŒÈÄ\3@/÷âÕ8â%¸Qܲð1Gc¯o®}&²«³·W%¡T‘_ÓmÆöXAPQZéECó‚ŠþIQ¾ç‹d–¾2´O>òL¥Þ±bæïªõµx{Õòýtãü,^ÞãûÛrÒƒP¿Eðƒ®þ[ðÆš.-—½ ¾¹ðjÑx,—TJ6z,VÌýÊ'ç¥ÁQ‚oñÿ—H@šM¨›Eñ¦X}@¸*ݘ<…Ší«šø ÓZæ¡ò»JN&°[ãðÉÅv2ƒ=þÓ?§²Óåck¦ùç ×ÿq6Þò¾]îßY8£Ð‡AuH ª|{=:Lt˜‘:m}Žï–gxç¶Ü4¦5g“ϧJi·©Áp×Ü7r2JÐoîÕi•ÖLhXZV|•3$tï'ZVÖÃ#Lc-àRØ‚ oú³u¢^ß^!ìÂD± ¯.k·äÞSLÁ,õ Ä– )d06{”9‚Ñ› Æ=î[0|aYØë—MS§Ö-ØÎ.z”93yÛT˜NKyOä®}4cn!/ëô½]…Öj¯I#ÖF¬Ú„#ÉÙ#ƆåDÈÙ$½i„©¦öÖá1s÷}b†—æ'ªV+èmüsÞmeü›J³=Tˆ‚_ºt˜ÊÑŠ ÈBuñbÈHWÚN2ÉyÅòŠp®öôWX±5eTF1ßGk̼"?¹Þwv˜éQZ+B£þû6î†lƒ~=ÞλÐR0@&ÔéôQ­zôÍžj$pñºÿ+Ro0Ú¯21⯚Hó‘¤ÿžxF¡ôñ‘E<Àíîè}N‰G—ôUåprx@2ÝËRR¶™ÀA7æúĪa3Ö} Köo¸‰Ê·#nx<(Xõ›«þÓ§áÌʧñ6g¥ªðŠ.ß•"\å>žý 0ED‰ECÑQeüuÛYg@ §W6¨â57Ž rÉÅl\±ÿ&%BñX ™T¬7CJÚ½2µœ'º*+:~ tÑ„"ÑÙz»#Yéz„ª§Æ£UûääasF@Ì‘gfMÉ“^GÚl:©÷ûN5g3­Wî RØm[Nk_5 “µíÝC)è.æ|FÞû´mdÔ]© ‰Ýµ^íÈbß 4( —‚…Y‘Iúbã87ƒ.Ë NÁå ¹Þj§Ÿt8Ä€ª]Ð(Q•¥UCc»&¾½¥I<:yG) »þŬaâøå1žð ñÆmŒWYtÿŽüh½Ùš!Ô³o»Ô´Pað¶1OEbkڊжö1sˆ¡í,>tœâ '~†2ÎårÀ†á#KÔ°¤g”ûîZc”Ó‡t|qÁ*<¢[lJKÐ}œâÿûLÁÚ,ÂÒ@&Nx(Ó鎀:Uëö ÌÀÖ4´æŠh³itD€W5¹¡éôlpYÊVé­˜ œ‰Eëú2бÉ{…Ò`t&ƒ¨7”Bºý~Ã]A’eàjQ¡e1v¹^žx”6Îîˆã^‘“Í7± åßQÌýw̶ùçm'çZT›…9\5ÖÈ’&-‡æSFÖF܃o´G†A—”£È[{|!®$éDà;ŽA ¼Âd‘÷ô?ÿ4-ÈOlôô„B¿1þ1³¡7Š¥‚˜ÍèŸ_?Ü\ý¸kéðbM½›2jµQ“¼Yˆ~È:UÐÚ}q⪒¦9RçFÍ=WÞ«‹è×–èÐ&GyFøùü)­¿”lŒÛήȹ^ýLïÒ¤BEB:>be<ðú/¸ÃÝ»ŽöD‰:–«}×ÛžÆ#0›Þ;RžPTK[:O¯.䟪^†™Ïñ#/èÑ¥"!—b ‘ôx¼Ò5å^ Ç9ßÇÐ"3n#%Áà ~NÈ)‰,-Å]å=™@UÃÕÁ› wÏ5\Â&qûöwm×·8[[‘` ³±’YŽÚÜN¡&Ofèð|¤KÁš±åý 5âWãºãúø÷Ö‘9C7Ã7´òs*ª#2OÖ"H0ñ+Æ[ýç5ˆô¹Ëo߯‡°2Îòù•6»iY÷e}Élךº™­¬Jæ°ò~Ï·Ît©¨j2×Þ­Ë]ÖË0gñ «uÔ¢cŠ?‹ŸàùR}“æˆ[µ{(#(‡¶ÿ.cˆ¨sœõ¦·X—÷ð=Òªûe1Å©fÁ$S) L6á(¥9ÚŒUÞ”mÞ€£AõO¤h's:0öŒj,9R ðâç $.‡>ò«wŠÒƤÿÿmÁ?¡kSµ»k²Â9ƺC¹*jëGÐmO†KB‹ù°ºâgïÛï®4 й_Ê)Áñ¿¬¬ôg"Ĥ [28VEu=+.æ§k„'þéùS CÅ£žZͱJ1&p]K µ0L·ªÔ»éèƒ;ÚÕ·ÐX™;¹ ¯϶º~—g_8‰]#cÝ´óówèQ5¡þÐCzŽŒº‰ÇŸ˜¢E<Ýš’‘BÕÉw ;oaBjhoãi«tíÕËPðµñ%yiÁ„Æê/lÞJ;0À\{fM™;~ìP-–³8áÒ£qÓ¤£ž uwï03Ì  Á–?Ä_šrŠ$ åŠåDtlÿ¯ƒwM‡Ò[!–|7T)ã Î….Ááð@±÷H#Q* @Q¹ºîNîҞ㉺ÑzJò,„»4µ5ŠÒ@ åÑÓªFzﱿ!=Ò}a·߈h¨á¬l >âÁ˜ Ñ<éЂ’/ÊŒx›”mþëø<³0”àO¨Šz®ÀÔëõÑÇ@ÀÛ\‘ùX.üQé>7•¨ëÓhiìgg1‡uÁfmüo2Úœl€ Q<ÆR„QJ¿JR:¢}~q72. :— ¿ç‡ˆT+ÄH)¾ö?ÜxTúqÏû½Œ³§Y\ó;Sˆ<áw§fêTüuvµššöçÇ»»ú1Ì2ö”^&_©¶Á‰aì¡’–™#Õ|Ú;LEíK á˜*f™£ÁvøšYRj©Ž¡bó\t=ÜdUô<…<§ú¸ÅÇ>¤ú) ÇÄ3™E´€9:¿m¸°2»Ðá»Îç ðS:X8ØŽA&Éœ +èÓ„jöÕ~¬K#ßèE°«è–ñï_\¤¡<ü¤íJSVþκ:µ¤V\JÜvrâ·ò¬Jž{JPX­†Aª–¼ÂŽ­¨Ùp€"²[lÛë/žZ\BLhÁÙAÄÖp,šÉ½Ò˦ÔÊpóX²VµƒtI”Tƒ¶v‡cØ„¡éê¨Å4 Wm1ïæcü}ûÒój° }1#Z˜t3_Š‚ÕüªTÂéŽDGbñ¼ ¢ŸÃ?CêƒâEo3 €Ñ2‚<~r<øliŸ?Á[¸à@¡¡Ëºe…ò,,?N¢[aú¦Uó\:åhÝfI‹I2xnËE^vÌÈ/SÅ)XoóNƒ%›;1ÉVÃ(¥ì)ö÷G”î±Bg­f gXL_ü2Ú%“¤Qrü@ËrRIX@1žÀd>áÑ«°$.ÐΆשªõG|uÜJf³^x·wZ0yñ»†ÄÚ—%â„„aþXææKÒŠ÷O¶“)¹ÏÔõÓÿã?÷|ÉñÈá‘sÔ­C_èªðÝ&¶.Sn”‹÷ž_ÛM?üwo1Ÿ…zA#.lK& ¸›¤X¬o¤Üöl¿BÒøns×m£þKâ-8¦ðí$ó÷‹ÇLiS¿%‹€{Xm=ÜÀ‡f2«¡„”1Ì¿}Ï—qœÛúæ. ”|÷Gbߨ,Ê!¸Ð 8+“ÆjTÒ$¡pîܶ§h8™)f¨±£4pPZ‹ûí³ÃÒÁü61¨4ïL<Ÿ¸W†E<€ûHT>é‚”Q>œÊR¯hðE{Qˆu›sýÕ]@HyÖáÖMÀíÂÅ:sÓº&¨×Ïãøë¤ 76v+ñ¢²²¸]܈ 1w>0çŽrI²²æ€ ¸xÖ=pÊ´î~Ò½ÃsBß碀nª;¨ñ›>Ÿ9ƒŠ:'Ûî2çY¬Î34Ô2y2Hs´ì y^³Èô¹JòFÙwûH0úu„±R1¤dË6ò©û1ÿ7ÿ˜.Ã,d²\¡éÛ\‰ûÀ4¿rJèƒÎ»§¡^t—vÄ"¤j:PÖpaj‚ñ€Cšç¸¢s,©­ÉUÂR¬(§Õßã¸$–Ѭ0–´ScÎ^yÈÈ’¢Ì| ^&§;ò]8EÁ5cyZ±lX¿›Dôs!«Ç­Î[ê Û!£¿³IZþËÌZ×aKÇØ­“&P­[*dy Ïuš©&Ú¾¦—;‚P9³±YøŸ@eøŒ°Œ×ŠaÉœ˜±ÀäQò©¯Êg•oœ£ß}^þúô©¡ÂoÝ—£æB¥?•Ù“Ÿ7àY¬å¯èc“‡j÷BaZ÷'fÙ[þïQ™…±\Uw 0…g6ÁTj¤šz£Â¥‡ÌŸÍzÙ;vîøaÄ !¿g´0`L3h+èi«-Û¬:tñl6XS6·„Üs?ý𤙗gmäænXCÿÌ”ã3;‰Œãê[Ôi<‹t6YÛjb%‹Çép ·­©6ÁŸ|åkf¡­Øá¨ ­šQæ-ìAL‹ìlp8üÄ3H'ië-Úg·~Œð*;ìñ±—ãa0Ê3.£§/Ðòq}%•œå=nò~¾àöñóÓ¶‹—¹!$ÅH:åš?hÑ ™>ÐxÄfñžõ_RV Cž($î6*Šå ðC°œ}Nç ÄN/‘¢w‡„W9(j>½Í«Ù‡ëG˘a— =ñðäŒ9©Õíj¹¿w’Ó·Yîô=Có$n9qÉó'Ñõ±J~‹bÄ‹×A·ÝÝ¿z~Ï €¬K}ö/ApÖ{²az7[ïª×Z‹†¢y™`¨“¸¹7nÀÚÑËÖo*¼·XÔ<.<ˆÐûô=Ñt"þ¡á<+ë±õ•÷Šn•EK"p–cRncÒÿJz sâèyhx²ó·Ì}±¢Ôº&tïõ ùÈ‹ðå° áPE=ñc«\¹©yu}:cY—“J1x?ýz®R–éú\silÇõ¯N :ÿÂÏÚ¾,±¯¥:÷δ”°ø… í2UYdÀÚz~ßä?¾ÇÛ9è î%¸\ñY±’Ù›Ð}ðÀ±‹hå*æ$ª¾¨'€4Ì«A»E¾õ6†mi'CÙòCUtnr#ŒRFÂ}Ê_´13½4RÁ­7*õ5ªòœ¢Mçùý³-)ÓðÓÕ¨6ŠPÿŒÚPë¹oÛ=„ÐìRí:ŽÅ4Zžžó'Ýp'uM}r·‚€jÈaÆoÌIiq@rjs*Ÿ¿-;Ÿ¢ »C`=D°"°;áÃ(þ®Õš…ðÀ;æ.œH`d2JK¼ uíˆPÕ‹**›Ú æù=°NrÔÓäA¿7J¤M—&… ª©š,!Œ"eŠ÷Ù”C(š<,b§Ë ¶^RtûJ;>,WR¬Õu¯1ì>j9ÅÕZùò¹ ±ïï6™šÌc°o£p…Öâ}Þ”Õ¬,¯˜íZJrÔûMÞÌ,ån*¬É`Ƥ¤fgìtU3{>-œœ_ú_”9e;s1ò(©ÆHÉüÓgódû½”À0Ÿå|zÊJÈ.Íû… ¥äÜ«))Él†^5«ø 7¤SIØ»š ’¯-i©­fȃuÂíž®/‰éâ~,.Öy¤Yẉ¾—yt¡@À_ö'•Âaž‹»èvÉE9úœîf¢¯²,¢P®@æV:ñi6È ¤l©ÓÑ‹N +ª§-ŸÆ›/õ`j³3V.Æj5Fk…ª©³?Ý8øgúV†‚7åÜíâäÏyŠ2Gª¨¶žØ¶#(T­$¯P!&‰Í’èiWIU„¬ÉÚ­\š.þ&õRï©iÑê4ðoô¨—Ý)²ÅH\øu“ê4Ø•Ä>‰¤¹Ãø‚³_ ­}Ã8<ždåô~†=“GÌG€_&º b\tŇ/ÙlpvdVYâÞG‰§È=)“4[ÄV&åø¡üü)¹qõ²8šw \÷µ©‹®s¦wC9ÜZáØìý”GK¸!ë˜8ׯü®¾ªNlj‹,H; ‚3²ÜÀûwÙO§ãGGóIÉm—ÇB8a”Žú /S*ÁGÁxsÓíç÷0åx¶È ’î3Ù{JÒH/[EúSì5m .ÚÓ€1‚Üd#OèX»hW˜—Ýí.ÕÎÄ7j£g‘`Y¯µÝH ô–zu<'æ!Y•œÜòüÓÓA„\ì=`4oxb‚ºÕÝ;fX$¦ÂP$Àø*ñvþmÇDc>sMºêÛn÷~Ó½ñÄU]û~·I«—Ma7ØîæÉ‘íMÐUg<} ›ùm-G¿ð4˜5Y¶rO+ɽsvyñ«Þ˜;-}¸jÔUàèÝÖäF¸B|ã Ez>U&’j¥õÚHüSœsîCUdSÊcd1×H¸m«#,@~"°O͇Ûñ¸È¯©eÙžŒeX0¬uÈ­_ÐZÐZÌ¢j~¸Ÿ_Ùßz“4ûx:*J'Åö.òs¼,Å?„msÙìûÖUÞk±Lf1\­MÍ Ç© *–Œ•voSJÔAòD Ôª¬XRG‚€ó¿¹.%@úX²ñ{\D6·°£]vÑðáç{}È6U¼Zs9²ÔK•e’¼9[àÒ@Ø 0Ì^iëеdw‹z¯Ò¹ƒ+mbÓ‚I{ÀË1"7èêÃW{$lQãé;ÏÖ=C£<~§yôfÄa·~jêóu«áÙ¼PáNïÂTÂ~@ØXM3d£Àñl?Tü±S]+ „¿l×GÎ1€x?×-,´½¦ÃÛnÈÚ+ŽD<³§`­š\n¼*&ÀFÞæJ9. 2¨:Fè R±d#Ñ4þk_N—D•GYwä§Ó¬@'ÎoÛÏ™/äÑõì8qI)gKµ¸ó¯Ö”¨Þul¸¬çCt-Äâd”4àý\iß·Ì(Šˆ‹‚äûØap0ÌÒäÚ>A3°&¿‚ƒl°AaÝ™ÔÕÌ?g­–'_dOdbW¨€iƒ¤ç`ÏÎ!å•….2Âò@–èð)M”º„¿³rúPÔ,~q ðaßÿÐ+hcm€ö<DøKoÈ ]'œ}o!ÚŽÑzgèTŽ¼ä™ ‘·Ç"ÜT¡zV‚8ßÿWí /.¤ý/íf¸q,’ëW5S‰ËmÐ.œ°:ÕvOÛ‘”瓞bñ–tÏi35æAµVÞå¤ý¬ÿM˜úCÞÛÝòxî…8»(ÄÛšÖ0þ®Ǿ(ýEø«Ú‹2Ÿ‹+¢džßùOÙ†z‹zÊÓ>žô+§[×/ȲRãÆÜªZéÇ@át†‡±¨yfvB¸ø.i`‡´ [@jè¹³Ò0'ÅSÕb¨ÕÑŽ0Ê$¬]8^Ĩa]Öd[€º4™.õÑ"ù ^8yl¿jdM×Yÿ ¡GçIU? †”¾d–h+û"=u¶ÆÎÏO*\Ï¿û–$´´Ø¨|SÂ.0›¬ŒX¿¤…µøÌ._Î1òõä¶Ìfšx‚¿ôÜÛSþ¨³b®³™JLA+í"E ¸³ §Dž¤˜~ß…Wö𒜗0¾ÜÛ"S[ÉÁöÖ°!4}2¿˜ygøŽõ<§÷N£{9Å“¹À>œwà¯ÍÜ×½<áùÅYÍü1O¨ø\½×ÀKÄë ál”Xf3õ.*8æl¢uèT#'˜ý‚¿Ç“{â­‡îÐxâµ= ùqE•Ü “añZ (ÃÃ÷@2²Ù>Í í56E ŽwbbϾÃÍ Óxª>¹@‹œø±‹A`½‡Ø5Ã|Cé犜^,a§Ú6È5CÃRvZú²"7l?íQššiíȹ)y±NH î4Ùýœ¦Q “ùfdÆmÈ1œûËãöÌrÚ'=ýYq~ÛF®^W]QÙ“-H«biÌÇc †ä‹–ìA(Õª~¢î±w»½þt0®1y–€]ÛYfÙÿlhÒÁYt°2I9î]eì>-V£œŒ÷lOisÆ"”þJ1‘8AŸkv°£gbY˶]K‘% v¨øÄjÓÔÂÀÕég2i=lÄ‹ |·y®<ýbt`O3eÐpP "úéXí3‘­¾UQ-¯Œ»¿~`{¯Û-¾s÷öõ kQw|:ÒO ջŧÍ' ”¿cXVÄ24Ø’%& zk ÍM{Vw©1ø‚&^ªMáÿxQ+aC,óExJÅ|ªΑNôÁ“t¨Ðà…úßcÚ…>Z¡ÉÉTpþ<þ‹ùïEÈ45U†Šâ‹1Í Nov’¬…µ²£‹ÿã1Cëª-b®¾ÄS1²Ý‘º^Ÿ~… CpW§÷$ù°ÝÌ×嚺"ÌRǶÜG•A~u³ˆ‚+¼ YÀ§žùfÖ’œT¬ž#î¥b’¿Me—Üt²éEéн]ä};[‘õÊG%E–º9/< •z8N@ú“ml¶øÐ=@¥ò €}ÛLŒD›ÈÊ$d‹  yÍ‘fÉSŠ¡Û#x]ͯRuy™ÜV[ù­÷ˆ¤"_¶Åqø0XÅðÐ}\ Ó€,¨€-—c*»ñ²eÚÜÃúR› åq‹£„P“Þ¿'ûV‰ØÇù°ßHÁ³vjD¥ Â𮢤û©ƒÛý³*¿´6¿=è?[]“¸ÏŸy·vŒríÂóéiå’ ÍäøECÿª $ì)‰ÀbsKš B½ A+Kœ±ªŒ}ã=‹¢ÚÅE¨_w¨!øwú7° ¢yŸ¶éðæ_•åRÛ·¤ËI&x*E$3Jlmãå!.“ØÞó[›LYã¥Ôàe‡óŽÿÚ´-[G3Mª€91ÎÚ–YÑ>l} ã3·ubL©†ßë7AœyíMž*p'œPº +T¶•6ÓzDCƒ¯(:¢œÎ¼o‹m¡_<ó ÊfÒWÅ—¥Y¥n4޶mEåÍO!pjz9ÞUš@F‡K¤™~üµP½kJÜôZŒÙh$—oéȯ®JÕÔý£¿˜x[œŽ3ÆIõˆ|G’öQï¼NÙ R ÷¦G’•ç›&Ã? †uÔ2šõÏW/\dvÖdòx%µ‹Ù.2"y7%õþn%ø{Ê ­Å»Ä_²ÖYŽê—{`÷£a¿„¸ëðvÞã}:É´1à)h'ˆcð|c1DÓ¹¦¸cµuwÈyC8]@YWS¢òH–vá»·y*Þ6’ïË®âl¾]„Áôi¾¨¹pÊ‘ì¢À,ß¶÷ÅÝ\`߆»@wgW‚kY­ûÃü_/&Ê ¤aŸâ±¨«=wÀûej98üõ0y Sìý*ñ;ÖbÙ6¾û6éºL€ÍÊ1ÄHÒ4—“GÞãbõ¿-¼.èðvYï€y‘b¼çÃa}·4N€ÔÓÄÂBVެZ!•°Îs¿ž¦©±x&—¿µÉ׌¸FèHIgUãƒüvG®É·¦¼ªZZTðÅpG ƒPª“ùýÖ’I;³#ë"Ó99JV@•^㣒ÓÔlñ–vƒ˜âгù‹ŸÜY¤â­ŽkBúØ¡TàØùZÔ–Ìwô1kòžŸÇ ÝxìŠÚˆe/>ž†ƒ¹×ŸÓdzŠÄ¸da@Ó"®³-C•hkˆ1†ÏÜÍÚïÝñÕªapþž`§ûíZÔ_·d’à}«9"ÁÝÔË9pˆ–éC¦B>ÎÐ|㕖”v¨HMš]¿Ÿæºîé›Û޳† OÞdÕVטFä«ePgâ$äGå±Zã=’OÄÒ¨`$jò¸Šä™þÿz¼pÛ£¥šZëãZŠ쎺ªtK‡:WöËëI±eâXvŸTRün˜ £Är×éÈðòþBi´Í0~¨ùš¤ò=ñÓvRð'–‹Öy˜?¨KW±Z%ÿ£­U7©Hªõü"š Рc×ãËèÖ(+©¡É•»®*7APߦNCz"q¸åò‘Ö›Û—lÂ2È„Äó4=l ?œ Vçîóä\Û5Mб_Lšqld³MãIùå^Ùaþÿ^G<€¡¿™=Ql‰¡ #˶ÂÔL?üø Óvdú k¯™GÙõ™)AÆ•‰b«Ò‡ÒØÕO÷%z–ýÈÙ¨xŒ`Y)ɪ>êä^¡ZúÇÆi§ÄG Y(]Oü­»# éAÔ÷÷ÝÔy‡d vˆW(±ø‹*7e@ÀdÆ@ ¶³œö³ûuÈ*šf Sú«ºü#¤o…%„¼±ÚC„ª'è¾JüohœX/Xø°k}o- ùˆÉäA­0£½ŠÏë”j®5‘evÒ%ŠîÕ1‡¦F—ò×݃X©{¤zV o0ŽƒÂN­p1ê·è¥:µAKÿa¦xÔ@újQ–Z_AÔÑuH,¨À‹×V‘T!BÑÉ{/ý›p·Ôs›Oø-Ô;¬„¿‚3kLeõ=ý‚ô#•ˆó`éó“ÚF-ðŒmÎÒè'-ì()'EA/Æ ÍßÑ‚§9y³"a³>mSí…,xúÄ^þôU§ü5ÁOªtΘ¿Hàëöê—‡î&«Û.üñçC~P±ä‘MY´—LX['O^`6vÖJvIOõÒÜ𞣄{Hõ;’–8'qþ¿¿ï Žæƒ´vòR³"3€ùÔ,ÓÞ XO¡Îv&òþ!m¶(…Ú6Á7‡0¢ïƒOrvÇþ`+o>Vý+…¼X?ØËú¸v"«Z%¦i¶_‚ß/ö‘f÷&¦ÿÔ0¹eÎï»(–¸ì_‹ó{‹F~–6âA‚i—)¨¤.Ã9¯âÛ  Ò-HÂ-2jÀ®$3Ò‘üš>æTvB¬F’¬ƒó9tÎÑü‘×üƒÀþMñ±Ö@tNH8Îb¨íÞ¿·£ k.€ëÚíãÒb$nUïIgìbŠ•\˜þ7ùXôñ9o›v§#É LZ´¯~;2pI¦ÁEÄzâÑÆ—Vè|`]ee>úÛW7šU…P=6&›<¡‹yR»Âr^©×†Xÿr¹,b3ÅÛvøÊÖW8¼¤¾*ù“{±ð†±ƒrœ{Ãg*“týɬžM"ù7aÂõÌ5 ž‹R/~@ÚÁñ¿Å¦IŠ‹iäßNjѧíQ•vÏ]Öƒ÷êæÌ4ŠœŽ’©ÓƒsräjûÛÃÊ~^Ø„³Ù±Ðp >ûÞÄ…Ô7³bnÉ SÇàKAí€ N¡<› Óu9—YUðtàeâ“J½˜ê±¢Ú‹•+š¯þaæcè2sª |ãŠ1cМ¬X4”aòÐ7t¹oGVd^©s­Éá+âçJ]»ugÆDB‘~©Ú@nUdú€ÝÞV[’t…Œ&C’zBGA-tS=|jGc‘ì×ëaSWJ#=Âo@,%‡>!ÔŠ°QàDxÞzYswÀh¼·å Y•yTÀ6cIÖQ0îà¦Y*Õâ nºªã[Wãh´f· ×†Ö'ÛF<{–[Œ”è𩇠€S18+óž^‚Õ Àg\<;¸»¸©C~ÔÜ¥³¸Ž~ŽpnSŽý¼CÇ Çzzâh¶nPËêeÄE¸´í Ìœ"Ó$µ¥Íø²ð ×Ô6¤_£Ò¸¹-ëìÓ£FÝŠ¢Ü¨… «™#LÃf5…ôÙÙ#jIáEô:Ž™Êœ{výÙE ã÷®|™Ö6½s­ß÷Yãk{ÆPŠœâ­%Lvví#í#+¦Þ\1#ÝdBÔ.#Âvâæ;Ëû±îó†w‘Ö‰!1¤êÉkéK·»5E¼[ ¤–kæV ¨yeòíMI²+´Ru‹ò¤Vjvƒõ/:#ÐÈ¥ÆÎŒì –g»²°×ˆ3Jç©/iï4?¢¶ÑÑû~²J¾0{~7ªÇ:~nöã…ȱvèýÓ•`S-.\d!cÛ3WåÝØWþZAr/rG![àž oÚ:!Í€#×ïZƒ¬¿¼Vd€÷­?¹PE#®·HTí×s \ßá#ŠAúø¶—›ÇZ …‚e¥ð+Ž3:Lb™HyòÃ$¥y@®ÀÉ>>g}•’. ŒE…i!pqœ¨Ëñõb@‰úm¥•‘À" lpç‚¡ [  ÝÙÞ'×é–Ÿ¦Ç‘cÁÍb\¼H|ìpÑ"C»ôÚ_w»®4_xxû¸ a²ì=à ûÕ”‰Oú¯%Ñ´˜>~mÔØšOîä ÞÍéòèœ6?‡?k9z:·ÍûãɧE.Í¥Ó¿UŽôÔ hv½Š×c‹â!qk™²Ü¨ x ±gKg9÷!¬Ã„㢢¦o¥¯ÿ9”HI!j1fþ¡Øìl0Q*_†­Â$Ö#ÏY²ÙÆ‹"aWà¥3N¶l\»® Èá:¶3‚ͱÊßDR¡£byo%¤Ée~ÙêÐÚÉsߦW­(»hÇUÁÝ/"x‡S+„I&ó*IÄêí!˜vB¤ Q@ƒx o0fo1a8#L~/ý(®$4‡Zc«‘•º…“¬Ò;±š}0‡#€ad0Mß±_öØ}Âå®Ý«"ÂÓ(tº)þÏ;ÆV©O;Ö¼§3\ø¹³‰P4§åAËzhÙ(¨«ýü‰ØÈŠX¥yšÒ¯ÞÚl oVÞÕ$÷­­×gbŸ=ÕE—á¤L Kûã@)*Yœ÷˾o¨ÚŽá³\![‚ȰÑIkMæºC~ƒ6âN‡Hö´¬Rrt÷¢ÂMçOQgêtäлs©nŸ¿cÑm¯~EݨSÇÞ"")ñ‘¾óõ³S£Ÿ¾rüÓ#¤‰ˆÏˆ¾Edݹäër(!0Oê@8‘`ÑöÅÆ‘¾ã-¤”7ÌT­%I;¶µI&`Šðuµú—”ËmÊ | »ËÑ*xô3÷w8“°aqà}ÞORiRÓòÜ•{L$,¥¢ÌJ¾f¾|wš-^µ#¾Ð0ø>«@bÏæÇCÒåOeã®kp™u…¡š* )#ÁÇá¨ÒdKHJ>:Ñ›ˆCÜfèk PéÌŸe¾J޶ÄÆ4t¸Ãz!2òrÃ`v¾ð ÆÉ&Ø SŽf&rþõÛXÃo/"ÙÁR[So¸¾’ «­ö3MYµ"M%î$—'wÊ”²ù‘F+J: pëÓ T0ã›Þ-S™Àx›U,TJŒ‰“<Ñ‚Ûô¡h=M‚]P‚ï„’Óèè÷qÈ©øÞm“°vÅùsä„™×€åUl‰=4ýRBôHÐ¥ “ôî©ç“Ùbåk‚(£•Æàµá¥{±’3..D¼Uýz¡¬TÝ 1KÁ–<·ð )ÖrØ%÷rèQ~¯Û|yŽ…aü—`’æ_ê¥ð¥Lh-RZ¦# Gç²ñsGŸÑj¯V++”>u=ËÑðµoB ö’' ôÝ ]'ô75G²4¨7]nú9Z  ŸÀßÛªŠwìuô¾äŒÈѬÿÞiœUŽh<™ê-̨õ]¶µ`Bm –ÊÉ|¤zÏqö ­ K[a£ K7ô1Nñ ˆ-7@þCñ r ßî¨7U$ßVÊÔ@T +½4ÔF Tw¹”™ÕÈZ,DªÓ9áyg5ûÎZ¾Œ¢zr¹C=|Öú‡}ŒGŽk !_½d2ñ4«ˆV d îQM#Qwhø%;qÚŸ†sØûœMe©Â-èë¥ÙÆÑé{Em qW<ð „„ßÅ”MÎãß;ØG%OxŸli£3ÁŦhׯ57¡„ì‚®6,fINrëLVÙ늙}Òèt|/Kƒ[ñί^ãþ¨ë»²w¨V•ìyŽËxðجױñ yüZUk•ˆÒ¸¥¿>ã,u´áV(’äÉ´_’º×E_ºÜt)kK×)×EM8¢)W¼èŽ2¯ºùèqZ©b"üÉØæ†ò8- Šy‰Z6A‡=÷ÚüMsŽ ßvrJŸ  ^Î4à›°Ïd`ìáÀÆ›¸ö~°‰ñ9ä‰|ǤȺպ9ÔýýÒ%Réêæ÷ Á9 0Ð÷ÔXååÖÃX%Véd¨ðŠnh‹ŸET(fz+fy0ÈLhÿµ(Ÿ£âvß-(î›4¼FÎ93[)“& ÜIÚ—@Ò8çÇÕ‘0ìl类ԋÞ#‡<ÃC̳r2Рµé/st"™åÕoEµ"ý… q@´°g_öùàäU)ìVk½Pªð{Žçj‚HèK¶ îZe¡ùÕZøîÚ©p?ßÇŽ-é8¸˜“ôÜ.Í*Kš6ÑuõÜBr¥ï=Á‰Ší*—#¤`õšè?¥œÐ' €YÊF Ç3¿’šOü7õ~SYj? YöX/™ÃÛ'ÿ²Ðîxí÷/Bæ«;Ò¸'@êT„¬, yHïÚ€AqöÔ<’B#Æ/„Ì jaDõ·Ž)Ý,ÄàìP.Þª¨r–-VJ>E.«Ã€oÚ |Zï£ï Òh³ÖÊØJ¥)ŒŸþP„í«Ldt@y°^d‰K¦OÐmØÈ¤RG¸¶ˆ:gŸý᥻Lry—œ›øÅA¶öÕx/fÉ;ÿH–vAÁ¬ô»YY@œ èêùÊÃê:`Öœ-5,*w%à˜õà5•[笣›±"0Ò*šÏ;»b´Š @UkFà-<Ú´0n@ú19+ QÓ(VÕ(ž…ŒN¯¯ù1ü\'–¢“ÏVð7äDêrs¹QŸkœôì+'Ÿ‹.~ÏiLé¦*÷´0Ö€X6ã±ØJÄõñöZ8À7 xø5‹¡¬€e ƾT´Úç×Åö&¤ÖÉõJS\]½uÊêÆ©e»‡K¢¾pèbrx<±Â"ùd^ ¬ü„‡ž¹ qli H̃‰*áøM69Ãú‘CQ(fXçxxΉ] íì‰òü 1.ó%’ó<ãÏ?aÝΪ)ræ ʆÞ׬àÞ-C,PÞpzeë{—oÃϦ!Æ"ìãFM£€Ì}&Y?z=¾&‹|²£Kw‘…ú:W?t,Ø LÔ¸79øÝÏ&N'ð.$pkûeË̹&Yò¶†8 «r]'ÇLJö[ï6KÝUœ§ìBÚåÛŽ™ÿ‘ï[$/\¶n1[%8Ó€Î~𽏉Á½äPùú€ÁE;t>ÒÌLÓœb¦$­†·!d"YaxýÓ®Ïþ°Fz€u®ÆÁP*)‡öcáÈ|ŸÇŠvÓìeÍfÉSåÕ*àL]71ë±ï‚ÒB!¨£j<˜ÈŸ&Þ¦ÕG¦}š œI¡¡ƒvqB´Ôî GL,{ÞÉPPÑò‘ÑS/SØsßkbˆÝ˜ìç¶Œâ¨ïÍ û^ÁÄt¤EqS„¢…œ«RHqŸôÑbªZ=–bÓlõulÁæ4§ÒíõÓá Ã8Á†5 –:êÕ̯{ûbZ"µ2ù…¢ÃJˆ!›DÀÀÈ`”ñÒÚ‡¾·H櫊²Œ9‡#2-”ù=fqe|N¯£°ÿà”5pØ,<ÆÇ7×\ þŸ¢^^¹jO¡üW¨ÃîInH'JŒéJèl™O«ÿ¿7ÀË õÀ«a´âUÙ[0TÏyã_ˆ§Â/:)¥c5UõÚ-ÎU© #G7Sã"mÌ‚¯çâB¦-]·_ž {5Iú÷è„1]!Tg®©a_(ï|¯jý#t:‹ÝfåS àEó[²þ0)úÝò!%LòVvhß©rÙž ù~ÒÓ¦ZFóf®ä£PfË‘î²ßÑX,œÑ ŸNùÙ‘Ó ¥áV[Ü=ÛI‰Y¯Ø}TË©΀ ¦@®l:O/pø]:êÖ‹ŠâÁ׺۞–Î_U.øç9™èºÉtgÅXÐá`‰îÿ:JA„¯Á0Ï+M)^Qïl MÚ°7Ù—C$|l⹑ÒRD½ñÿö…e³v¤¹麳E©Š†[µ‰½½GÍ"³µÙ_RwL"tÎÄ®/šê{| ¦ BÀ?Ä‘I OUü¬¹ƒåÚ œæ£ï$õcpÁkÃÅvÂïÉTyŠ"Í«ÙÜ™ ¿ñGÿé­¾c÷ÚCßQ: ñæI’m ,îúGÝbÔO1±Ô®žOñè<ʦOZW/¬³–pJA•µ*ø¢™œÛÔ½ †Ó€Ìãðm­föuOqѳ¢¥ÏÄ‘[Uˆa ôìA‡ùD\O—Û—å£ö…¦5ä¡d‰$w_Øë¿¼Yg¿Áóf©Èî?Ï'Ô3˜¼Œb¨u ’Y†òyYFð¸-Ô|ì¹ ('ºèPÙø^Vˆd_‘@õƂ텵dÞvøŽmR“¯CËѱŽäµW®3Q”ô«F÷bKŸqf¬1ª 5'Ú¼›¤ù-‹­e„ð þLmâ· ·äKx¯µ~r‹wÞy‹Ã×#¦(Â{±Ê«nYþõñ.}èQ7& p^N¦ÉèT<ÝPÁ‡A—¹ÌöU³*Òêbõ›L pª•ÏÜ:Ô¸éè Èæq¥"Ê1D¤Ô4i<(BÂåÿšÓŒçK‹Ê_d`RŒ¸%ž·+lÞÀ| ©:j³=Ðb-àÓŸ;p0†¥ýBxYFdxXq’ç·5€KŠäîBžôªêTê9; .*ÑweçªkCB†P瞨:±B1‘Zñeã½BlØžœðߟ©S;ÉPÃÔvÛ3YÌÃ-: rQp÷ïŸÈ4qž[±æ°&)’ŦRÀhñ˜¤‚F]2o‘TÅötR]\ÖÜĶâ3`X:àò>:¦2¸W^–iÀMv çÞæl+2–ËXq̼ÕߊQûÀ¢D¨p2ÅÅ”÷ëÖ—ú9Éí‹÷!ê@½Ô>úP»ÉuƒœŒƒ´•;: 3'¾šh)Cr"O@þþ;ѳÑæÿ’GÏc>HÜ[7L“¢gÉÎL: ðÒV4Îúæ# |é@ÿÒHIDdùòâyèªgÅð³*MA|-˜²®h|Î]/2ÆØé÷ÅE)ôÑáÐyvФ£õ|*B¢_˜¿º¼@‘ÚŸ™ª‹5KÊÛÏDõ~UÅ|'…ëµÝu†‹ß&šŒøÕÞsX¨u‘`ÿ@.3ÒÄ…m•¾ãÔa<;hûH<瘳¯¿ñëÇb²½AL2É•¿—¹ôsΚè¯ô[\¦½BmðŠ*+âµÅp¤/(F`;ï¯xßIæ}¨m ‚@pÌ‹ g‹»jô2ÚÓ$yºÇ憃¶¿`Kí2ÀjrLô4ó¼ÎCrÞ©“u¡§nT³MÒ‚½#ËJ€šûk/HŸÜFŽSÆJ߯ۄBeŸŸqŠ!êûuhÏ>´ã$ó‹j}®Jx–7±¢™„õtqg™rí;z¾®a]>O¤L µtXÔô=b§î£éæœA=Ñ…ç\p\/)Áʾ%]ð 0åã¶KïðVÐÓ$|é\æ>®ž©Fg/šþš~G &øåûcž…Ró@½7ðŠyÙ,ݬh«GwñÞ­ºÅw–”L‹´…¬§„‡)çôf˜Î0 Í÷Tú§R¢Yú ’Y,z|òGí=iˆª"Ljš—ù MôH¬Î¬=Ë60"@nØŒ#–ñÚ S寱^A™?WHFÜ˼ñºMC2Ч³Ôƒ!Ú7#`¸UQÀ÷7ꦭ>XÃ×y’ÈÛ«/qÂÖÁ÷ƒû$C»xœ?߇Åki]Pw€êvú|LBJ–“r¤¥VÆiBVDQüâjp7’šUòëÀŠÞH†CëM˜ö”Þþy˜—m¾ž›Wê;!ÓaÚ*:d:ƒD­â€ê‹áü:Öß»ûª/GýË ¯»ªòhá ÈŒMSijÙÝ$3uQ¤†X†w†T®a¼Á`]-$ŸÓ4ûŠÎ›/á‡]Ži%ד’&X¡·”8Ž1žŠ"á¼t&Ôä·×ÌBåÉÌŒõLêdù ÞÏ8hÌf(¸’€0"Iàj^DýÚ2¹¢½áÚ»ÄÔ$þC@uýißw9j›3z[¸÷¯%.˜VuhÔÿ í“m2ì~4‰1ñ³T³v,Ü"ϤD R†„ñ9µ.&ùšö…v¸Ý<>6‡aÌÐ׳qÔÀÈdè®^ ú_D…zHJµÏâ¤S´]ݬâÊô'üþLÃÓñæuO³µb²‰7ÉZ”°“i"æö€œ0l¨Ã™Ì]6ä‰Í'Ù„©¥â¼À"b•Ç<8R®^µx¡É‹QŸ¡Žì‘H•tÿNË®Z.™ždàtyžY@06 ×zÉóÑȘÚ:úôÿ½”#À *Ï Ç–š¸Æän©+5„¹ùUÚÁ×ùÿñŠœ·}w]¼‡B¥_Y*!I1Ù EM¥-e_kvÅÀe’º”J[®o$mÕ¢tb˜C޶DC…;Qü¡Ô‡(¡çìS ¼Ì#¸^jr.Ê¥ô5ÏðB±‡äï:_Ž;Ûr£U³w¸ÄݯõôØ “òúTêæ›ÀSÉxeæ=K^lMO \ƒ;X¢û=H’…@ê—ežö90ïhNêí^äó!šëˆ´0\eÿ›yQ5Ä•*·”±q›Š\I1_{R˜?€\³Ý–á±5"ÿ4›‘Fh” ÙË\©ÿ^h®Ç^Ã!€·FòV‚—¡!c ßÕçÿÚ‰*5a®TÜÌ9œþFû|Ì8ÔëU›O'ž3;ò+Þ¦îøüV©²Î‹]ʯ3„ÒÃÍá•®;½ù至¦Ü´æÙ´LŽmÈiÐQfY¢µ ¬Îœ¢0W¬f^Š8̾omUСÂ3ï/ƒ•(“ĸ(ý'{9A<Å5´Èsaœ„r1 -¶×·ëéȹ[ëJeÊš!ëxª¨ù¨˜„3Ù„pª6òtUƒöA«.›HR¬Þ±Çd'Í'ømÔrÀ –Q¿m®?õí}«ÈöôlÃË95Ëåz±cú+Ýre™í”´¨1Õ §ýtœs} 3qÛ±ßùæFH 1Tù¼•T»iãN›Œ’@§©¤Þ¶J̵ôí9çi>ÏÒËn”¼Áðñfuoîá,^YÍøš`ƒÀ¡@Delê¡?Jm¤8©YÉ ”-ä·õ¾ôÇ¿IJ~L‡OœÛ™Ê'IÚ΂¹-iXžÆ´?ÔÕÝ JÁ,Ø;>jXæYÌz7Û›×,ÞšÑ!¡‰Þž´ˆÕ¶hß]õØ{²mÊÉü8™e©(ÁÁµQè:zï@^³ÓEÀòÁw,›àïŽálY7þº¯4“ª½DOš{Ž1§îÄs¹iŒ‰:ÛÕ³¥ÑÌf ±¤>gm[)…Ðxþ¥^nžÒE ;buLäuaR7ô&6Ýû¢]>»œ« Üe÷¾Æn.ÍÒØ»¼yÿŸK––,_Yš ÀŠ4/5EL¸LLÏè{D_Guep³Ÿ6Ä÷³úˆþ?ìãäöø B•N˜ÎÛû„'¶FÛ\ÚfÛöK 6Í“@0•ˆ$åçZÀãç o}’+ß.ˆ‡wš*©%Éž­IÓH>¯…@-ôåà p'¥VhêpÜHÒ©bzqIù”ÒÀŽ6\³Mé›ÂÚÆzìFu½Ç-‡"|tèzDo!0‰ó€„ÆlÉ;TßÂ5Ê ÓßHc¯ÆÀºK'˜iA>-™\³ä‡õÍýoÍövÛjFçÕKË Êöq°Õ;2˜ëÙlìÿ(6Ã,¨ï×dÙø+©“hMÐ!ßÓ¦ŠüÖ|^)bW´÷`åŒTÃm¢q»®¤Ý]•+q%leô —²m|Ë.°=Ÿ\Uz6T -°µ3qС9Brg„þÓצuóÜíˆûûrÂX,³þ؃Ä\wp<ßüÜvcÒÈÉ7 @>¦©ÑW—aþ¨'a§ žžåŦŸàÙN[?|î_ŽÝ{zÔ ±/‹ž÷l_Ç(põÝ,Ü‹¶‹Ibë –é*w¨G.ݟևܼȃŸ¨mº".÷5Ë¡ñu³T,½à²$í¿ÁÓrlÙóntBÇuøÌ¦Ó(ºš¾ƒÂ ]¹!Õ<)AãYH†Á:õføÐŸ¤Ç2syö¶ýв—ý£¦âòúÜ_/eÇÅÆ˜CjE‚i¦°—ïg_ýF,ZÌpÖœdÍ–)#fktAQ²6e©€ªÜKVjBA¹Y&XÒP‹A±þ”Éc¶+sÉ6ä²×¹Æsý„ß5N9&rßNOdü ×’B’N!ʳì«ñ®8ãëãKàœæ@9ÅgXvNÿFiû"`[WºÏãGd¢Dc/^•@PþÙ˜[&ˆ±qbùÌ*›Øb=0€S)ûY‚62 8žQnúƒ N̘ΤŸ‹?Úé‡n-ZÀãŒ6Ž<`7¦ÎÞ ¾Ð]ñêÂfº1‰A8`Ö!bÎÛ…ø­j££hgq C=èËWZÇ1Õ"[qR¼[F(6’ÔS1¿¾æÂî&‚·*“àMFµnEñ›!xE"æ¥n—DÞä8·" Ä‘othë€ï5¿IîI Öè–ý±e˜v}Û̬û§úm¼}:™”w˜:{hø!UðÄÿ­'FbòC8p Ó¦N} ügîej—Ÿ46Ù›ÅrìÃ"ï¬üÊZ73©çûF»¬[êc ’º]ÆÏM7MÞÕ›]a «7ËçŸßú{9næné—Pͼ$ù-íij%+5µ¢º¤‡óäô\ÂN #`—'=U…qž ?Mä¹ê躉k•ôÿúX´^È„'ˆ->ª ï€‹ݮіJá3â¦äH?ð ?†Á´õw1‚nï 2 mr-`ÄÐ{A¶ìpÇÿ[ïøž‡oUñ12ánÈÅKãá· §¡ T³>6½ØË‘5æÞˆWKš±6›ßZ=dE"7pg²*$å}›…$Lj!òédy.º{´så.5ž·d%ó…g9ðìÅ’aƒÈAĄÑ Ö]¨CpžˆI˜ð~nö H:û§Æê~‘óEάô?'RTpêód °€^Š+3B4ÅÌœ$ ÷º7åÞ€C·¥P²t«u¸Ž %et]ÛnåýÉA¥t ½#¶Ø4Hý™F’ÿáQn+ªn%.…+F—k²@ù¥-ÔöÀøOÒçQêÚGõÀwд¿[Û3³¿Ì'û]Ô,”ž~þ!…LIpÄéÁ£ïƒˆÌcp‡$áåØd'œ¦ªßOùêþg»Xˆ HJúü\É´ˆ+ ›lÇ——*£äuãýõ%Ú÷ cÔ–‡%—¶úŒ6ië45& ÷÷˜iŒŸƒxý/É¢¶T™Üã Íïj”Z>~O¡ê²‰šÁµBëè‡îÁ-A¡:Í÷9‰~?Yd' s&Øb^³ Y—x“øŸ™zçêëATÊñ u™u%7Ôœo‹º>Š&´MÜšÓ›Åz×öÖÂèTóišœ1|–Þú¤zÑ«!™ŽLÍ[CÜáõDöR/vÀ?3Q»LJê=Ô‹£–+·î忌.c«çùý«áÖ=Ȭ kO˸&b‹ þ¯ a"€•ˆU`¢B/­£Y?÷çxÝ ÁV D‰-òO-¦>-½ïæ´ê•vý!a_ºœ€5~Ð˯®°wÆež¡¤X ({²éÑ­Gµªû--*!ŽËMÄåä¥Q‰J€¨ïb(j™Üòéë N;$Gé÷Í}=ˆåÁÊr6sãe}TG¢·é í‘M»dÆŽåSW7Ÿµ·#ß:¯ô/`™oM†ÊM+„vÆm© &˽¬îÉHbʼöó®ë*(ŠÎ÷³ÕhR¸$*v}—6v''ÇdͲÞvFã×€'UF W¤dšÚ9n\|KSnχlÕíFfn²H8ý&TE“ÄKrQ›˱~a…h޲þqʬ¤âžð-ƒIÎME 8£¯IA®Óý¡6òT ,+Q¼€Yñi3p·E÷Ýê8tJÀ1t8ƒÍÓÂ/°ã…‚Pœ}ë—«ŸåEï’wy£«TJ(0 Ÿ@TNݤ sš/õ°—ð`ÿ ªQ›*L Í‚@‚~úÌ< Tê',ä8VW‘‹S÷½‡Ô•ÙüyŠJ¯4¨‡7gõ„7b‘î" j*lAÞ#óa!zö¼^Ú©v¿Á-‡oüž×CÔÙkSwø§Y JŸoä| ÇÌX1m6ÛÑ'D±†Í“ÁÖmC9Æ•ðŒ¨ºq§®5çè¤ßšg¢±ÐŠèfrÂ5-Wg@O7!ôÞÜôkÉ‘‰ÖYM·OÖqhvÌ.Î o1òŠ‹L=h‡GÏ[F# ÷ᶇ©™­Õ1¯BˆœwJáÆÈ@ìú˃gR²× »5 þüêA £µAß¾Œ4ôÈìá,Ô7“!ª `Æpn®¦çˆŠryjö°ú{Ì»ÖX#íw¿z>ìÌ`^„±Ó­Ù²è\Ò‚fl3†´wðÿ5¦AŠë—1Ì“’/¬„ˆ<mG ˆÃó¿q­4væñä¼›Zh˜Â†À×As!–!̂͂>F>P†ÂT4kÔ˜²,RÜ‹K°¤¼ë.ÜÀÀ‘}Üìè×'§œ+]¥†¯­÷£èœbY;a9¯ß/Ùçë¹s ™ Øi*7 phÇ܆²Q’¢õ‚à&Û”’懠çËn­Ê[y¦¸5WX–¿ëîW¤ªu1äºá†ÂNH)/Ä‹C“ܦiSŽ¿LbïÌ1øžk³[‹¡:³ð1(øs.›´Ç˜,B2{ÖÊß`ñ¹KÖè»*†÷ É"€%ž(Bùp£”ÎÚÄ'c£uaHÈêC½.:O`AÔ|‘k©Xz…ß*+ˆÀšà4;­èÝÔ¾bªtfÄŸ?0öùÏØ®§ÑÄJj,O¹p9?å«ÁÆýg':Vã¶·É(9—{ÐÅ„¾Ýn5=ýÉCy€AÙª£_ÕÌú}ÀzèŠ,=†¿"3LTsŠövÕt¦y5kkŽ¢WãKròƒ9…¡_ê-ø›(â(Õ®H?%+)¯0Rç.÷âG– ”®N8:<¢žc½wF2œàÞëiÉÏûÉûâ#ñ›•8Ï}Ÿeòí÷È*Š)€&q¿ X3í,]7é åc|åÿ2®‹mg ˆÐÝ(OÎYªŽè.Û~ÞߌjÏŠXÒL‘^Á>å-;"€8Úr¥Á¾¢Ì|Ä&âj7¦È÷WòàtßùOhš,\Ö­«ÂIp€y›ÞÅGN²ýŒ’Ê„ûÏ*‰Ùɇ†J4©N¹I0Êh’SŽÀÖn®0 Í7ìÉód=×'FY AúPà6Ý€‚¶Š.Èú';‹-Öœ7ç09ΙJ/ÇâJ••Ðe_))3)O’³ <{—jtç?_Âï À©ÙbP|ŠžlK( §×(}šü¸ùp§•ìÔS9%—‘pó—1ªh^ÌAR¤³ˆ[{¿P4Þ§U³Íq5~мÌt®Ö|Ó´X´â-T¡h ý:ÊYÿäéO¶õä²ñˆBÜY‰Ù«ß¢#¿zgÔÕ5:è1mm2‚ ¬ª—ÎJ—­»mwìT!H¿sì l®Ý‹F$©.SU¤ºÕœ'”`Ìÿ³/ŒFTÿžQX§ã¬ã«©}¡ú†Vx£àfDV$tôùÖj jÀ}0t™(‚¯ôÕžŸÍ¦L´@ÎèŸê-´bÅ_gâOT8 YûÚ‹`R¢™Å±éò;Ø0ÄpÍÈjéÐÉ•ºN2'€Å¿Ä§änäŽCïn@JzuÁM>y8 .gà }ð_8nn¢€“YG0Š™Ÿª&VNsÕ§RÏÜZ[ $ÀŒ†c¤ºŒâM]8ö°ç…kÕêë‹ö…€A­šF*·ÉaöM–J„^è­‹ZçHù¯KËE¤–9̧Ìv”}ȵàÈbÒ4$Y¾‡ûfÌdª×éŠezðF½›ÏK|¾0,\h°†´ÖStì²Q! užùáè–å³94Ãy²}‰•«o®]XÉ‹ ÿ»Ñèoc‹×⯪LÒ—=rësÈ%|5ú…åà Y*/ðDæƒp†Ôº0ŸÎ†Þ5aÂákŸv·:is¼†LÖËD”›úl‰‹•ZBÖ•Žä= 86M ÏÃÜ×ðLâúãv¹nôh1¼1! Dt`ò‘û·Ñ tÝÄqNtp²:V~FÊ.-mìˆZ¦¡b ¼4”¸Ï:?O½s|]z9‹­f*˜vý¦«¿PZ°ÐJaÞ‹×ÔüçÕ3ÿpÓŠS`c6l¼Fzß@Û„ØÄ9ÇeØ_yÝh¦ù–ô^±¾%ŠºÄrú¸š03(WjÔ³ å8iœä¹d›Ué™3g¯qS|gìá̽äe?ýð±ü“ ¸{Ò µ8…1ð}qÀ6™¨ƒÇ¤<˜7GGÔf¿’Ž>IE ÉQ:KÖÝM2¦&LcåãRm–ÅOÇ?÷„¾BîL2©$È?«ÇNaveÚ¾­SdðK `]èáEA± w=åû=ü£ˆ^̧rU5ä4W˜ÕD±oœâµö¶wl°Œ‡¯ùJ.©Þb6.X`¹ [-åjCS°åÜÎýzÑÛo?7æ%Åg?§<×øvŸL7‚:»ñãý4ÇÇ"ϪËtþî{Ãs,OecÿŽa¿Õ íÓÍ?슳¼cdWçã™Äb–N?øŠx è—{aøwÛvoEøÿoq\"“˜Åˆ!ˆ Î!ÅJ»^{7­4 QQÚ˜%Xýq!Ãèo¬ä‹F‘óÈ´àwNºF#Ué©{ÔŒOü­½‘Þ~˜‹¨4ZË÷Ch~Ëø)¶™BãéMƒž¼òÀXM ­{ºÛK rúcï*òðˆÙ´”xÊNLµîz½‡Þ¢¦ÓJ9¨‚&## Éhêú1*/×ávÀ†ls,·ð¥ª›ˆzgTãèLÕ4`ø3_»Ð©7cšX°‚0 þÄõë¡£ÌÃÍí•ö|àö‰rɯÜ7¶7*Qà\9ò%Û¶áóç©—¦Ò oÙ Äu8ô+¡pêfU¿Ó<«ª…ô£ªÆ¿¬x"R[I9ùÕkX N§ü‘UÜÀÎ+ÑÇu´+{póã:é¨ç ô´R6$ø@íÔP6ìvÏ+¡·à¥Õè­ïÑ7O'¢Aθ?ßeÙBbÊtá|‰î–öü”Lôƒ;Mhxsè6ÜŽº'`Sa´Á׉î50¼üž‡¸o_~·H~hiŸDXn:üÒ¿gNbh1Ç&E˜!/6åÑÉeR¸Ö‘a¦4³F¶1‹õËþoG‹ßé3QÄE £0ÆÂŒk¥½Õ;Ê;rRN±5ù¢{®¢Ûþ»qgyÌs®ÇöÌ÷²<ÜOåŽۭYô¯ŠÃ]+Ž„H¡‰jù]N9_OsðÀ…F^F,x@“ ›?´ …í9Ø ö«¹Úwˆèâ§H ¿Z®Ú²G1”C)iúî#ì#('ïÉÍhÉŒö 'q—}²±¬mM¬DR¾sÅÞ‹6sRi¢Ÿ¯ëÙùæfœ·µä>C,{ÅOª–¬>ëÌÊøÐAÏÓ´UÿÏ0×î`l0'©šš6äï–)«JU)¡1Yi먭 Q!!y.xxJ•«ž„ãî•­þª£ú¬V%ËÆã&ý2I)—`n†„ëu]4¿……­Š_wÑa4½Ü÷Ø á°¼+=âäæžæ‡Ÿ«ÿMÚ¢÷¥+©Že0×>pŸìÒ¯ÑÂ×N[о¥<+ ÂÂJuÕÁ¸Ž§ DZ‹"3hUJéóž‡~PE‘D¡:Tá/yØ“g"œ˜ #|ÿ?åjøß¤N6Ü0v3Äå!šò(?½éL–=_?J  ˆ’–>(®&NÃP“¹-ßÎ_ý"ÃÌ>CŸiÒ‹¾çµÝø&EèœÖ¨Tz“t[öë}y·¥e·Õ]e—JõSÈy¹ˆ‹h¬À:ï¤>¯e#J0ƒtMd2æb¹÷ƒÿ€8ÃdhßóÛnml Ã“g·ÜÕn8'B…“…âr¼Ÿ–wÐð8€‰í³øX¦±Ò‰žu;šsV¨Ým=½7¶ažê7À/YT’´å¤ˆS̹҄Q¸ð¡ôº{²@5qQ20ì‘Oo‡v—m£¼# ¹ωfkðÜ^}|h„‡I[9&AÉ]çÜ;”:˺ن˜ªÓbŒ†/ÇJv˕Պ ˜¡vt'fRE§.þBD¶¡ŠÐÅ Z`xÙ60`Œy{PP‡‘ÌÔMcD2¾†»º=»>o Y…¥b ùÏc54.·EÄ6 ¦³ö˜p«Š©óòPÔ2 k>*Í+ô›}ñ”ÍÜɪƒè‹bX¹IbuÍR>±9BßM9tï›Óq-Žï¯d¼;ÓAÀª=¡/UÀ@:|pbœ´´`ðMû«ëæ,Õ-´üìQ¥cÖÒ"C7pNdô¹ë˜$Zù[ˆ`éÛá«^b3 øE¸Ñ£ÉÇ•`&n$.Â#ÛõÚŠs(:1øø¸WìBz}×ï¬ÓêXf+¦ÕËΠꇎص{ >éTÔ‡êç„͹æ¸)éË{食$onÓãK¥¾C[y‚¬ãÐUYÀD¡îÅf¥@àßh?CYÖ «Ù²¯z‹äX·…w˜9=_GFz„¾1W ÍZ©Ž©xš›¦ŠB 9ËËŸÎñj´5P A"­º·<>cÕã@Ù·[qêy£éï¥#…¯ läbM9n¦ôÔ¶·Í ÑU›Le‰)æ À&ðñA¼æ(ÝWL‹=¶åƒ’mÝýyÅ‹1Âp÷ÌáRCÂ멨™ÅòV•SS´ ¬1öµùÚGEÜêSwìsdvvìŒ*¸;ÀÃÖÀBF—ñÆð7~“"xÌHÙ¦dy¼^ß%¤(2ž¯šIàÈ&ñ!^ÃÊp¾“@|šx¬áúzšÎ3Ëdá :#.¡·,øâxŽêfì¶ÃÔ <(223üø…ªâ4"R§d6ãÙ—»F\;Ùëv;ÅöŠlÏ÷¿³q–ÊjçecÞ¬PÞoR"ƒ^_'§àt%wŠÓ€ü2c箬G*à#gzɯÜr•`˜T3ØýÛTÿ‚?‚½°ô¶N®/ÿG›¢j¥"ŸÊ’'Ø&£ªÊ¼öëUÇëá úXpËôPzÿÄÇÆ6ÑvÙQ $^E·uÝOX9I‡|Îô¿=~¶ÿ¦ÕŠBÉÏDI…ÛôêåýÖÒ¤lœe×(}[B¨þsØž<ök¡J•4¢ý8SÅ©>Ú¢¥;· T2«%µV%» ÷ð³€s!›ÎÔ¦FEÇ`YB‹à «šô©®ÒT}ƒ(Ê3Ai*¿÷rYÈeÉú•®?jë,RŸéÇ_ØgB-P¹¦àüUne<™/|T±—ª ‘ÓiÚ‹v•Y=¯©M[YäׇL–pž÷¶ „1 Î Ø97*6§@Vøiü=+¨ð°=±lI UYc’Ê#‚7Óé©Òš^äaY%ýÚŠêl”t³˜Y­6¯ûh7‹ÛÏfÝdICܦÜ!diÍðý•ÍœbüDíqûJ÷á€Ü)°YÙlZ<Gj9ûiôµ¸l¤P²dm‹Ï‚aWņã¹1”±Þ)®¨#þ÷ØÁ€ÚŽ›“6/Ú¯@/"„%]W÷ÕÜ ]Y£Þkw±³òA»Ø ¤Ãó\‚¶¥´Ëö5­Â†‘[†'¯5ë‹e‹d„… ŸÛm³¨EŸ;'‹Ã_«öeº•øò©‡žg,KÊÃÀN…‡HªkqTQmrU~À ›Stš0o©*a÷Ñù¢Åä[›Å£òp{­]€e F`:å·(  'u,2­…; »½F™ cÌ?bÿ:ûÔû\ñ”‡:ÐùtúÁ1¯žKAùØ!A±íŸõ*x_ìõÒ S–“)LËŽ|E ˆ'PaëÌÔ1Y·y9Ç„"‰´ÝåsÎLæW妋G §”}r’?<Ò FÖK)Û‘=Éw‘FSmÉS’õ%!“iR{9„±mtüÌÍñÐF,¼ÕcBIÂoÐÙ¦€Aãè¡ëX%Ï1qhŽûxWh|eɲ½‚Fѧ Þ`ˆM䯂Ö6û$“Æl¶’†PþP)k%rºA<7ÇtAX6³þœ"¦žð9ýXámp2A `ðý I•~,àSÂ)ë° eðü"óÚFKÈ¢­B­(þUeJäAWèŸë=]Œk?˜Ò«’^µ@ã3ÏÝŸe }.GÈIVà†.¹ää}¹ü:þf>û¦³„…ÐDŠy›Æ?5jûÍf˜  q«™üQñ”ôÈÁ{Û|×0ýȶÍ2ò À¦eð,[v¾¼õ÷ÿ–öûÀК,!p9®'¬N$/øhK/o4fð†©™³»Ãñ²œ¥ñ‚0ߨú‚õ‡*¦ 4™¬¦‡‚@³|ë R9gô\­ÑÓ¦ù¨]kÛ%“ö)ÒAËÕwhÁ¶_*³PØb¶µ%Ó 5÷ï–± ©_½”ª¨§Èþ ]̺óªÕOüŽUñþÄ#œ†G5)0 kRá4i…ÓRö^ÄÄæêk”ÆbÜ–MÊóÙ]0Î]hQÏû‘•ÀxÁƒQúð¡ÆißЀÒl<¡Zá&v— bž.Û9Çú¼{ëgÈÐÊ#ÑŸ´ç•K—¥·îg1<Ž Ëu~`Ûÿêå> ÕÒõRösv¨Èzí v8õH>©•È¡îâÆÉÊÞ)uéEµÛiŽ-Ñ=ðùB¥ë ”Þ#°ãutª‘Z™Té¸JJMñ0U‹ßáõ” lÂáÅÅI·m;ºSjr=½—5hÌRµî6›ÉI H4ÜAêÏCy·T/Bz…²ˆž¯N}ç;¥wy¨HûA©Ð xí¨9p,ù3£@8M ‰Š<Ðsÿ¸}„Û¸»]Ú·6fÚ„ Ï~•DL÷úÔ”“YæšžïP½ÁW`œ‘hãœõg™´õÌ|4 6^w± Áè¨gÅŠÐ \£m¡ûÃ0<ÏÉ ÿüjýu:‡fÈù«C/\Öð„Ì\Sk* £ƒ”}+Aj˽å¡unnoñ(.¡Á ¼¼ø½aür?ôÅåsf¿1×›<¿$oÆábh«k£n² üx ¨„~ôîý†‡gÝú<·Î ]e%³F YÑ6-d]»oìDiè.3¬ù>æÂòÅŒÊVf\¼3Kxw«AÐbA¿’»t/ø«Eó£Í>yªÍLJ•ØšVŇ&_P=3~œ»á9¾ÁãdoOåÏ4Tø›/I×SXÅôâÚC_"ÛÁÕ^çÞé<í>ŒýèoÝd¶j±‡2ƒ«9»íÞ^@-F*0D2äè§í^î1žaöÅŒ÷üTUðs \…ke€¨å¿†à¹n.ån‚CŸàÿVP„“-Q?Vàt«ðÇ`ùu´Î€Ì©6$þNd«ñ!=©½±õ2гêJí(f›z#õ2:ÿByôÆû]‘âƒO›”ôÛYÓ°Ôµ°ù,ÔõÑnàw-¨6Œ)5ßx>%X¼Jp1ÿט@ÀsZb–cŸÔq ùë :œÃÄW²n{€\o `· 6nc cl&g§Ö¿ Ü4I#¹MLÉÄ¥]wD‘ÃÈä6Šè.ºtXÒ8^= zUçÓŒ!ª,%îg9KàŸOŸY@ôtÀÓÓ-Bà׌­S“^bØœ¥µÇIZD3}x[h¯Õñ!ï†ÌG ò¡–_i÷ÓÂÔWj>þJe½êõaﯹ{`±‚ôVA« ‡®L×$Ø•‡FkäTŸUF?ì‰ËÌ ­[ ráÔn$‹ ¡âWïC¢“Íi@±±¹]„0Ô^Æ<`{oWcL»]{üñ¼$ÆjzŒ×–£TÉu8ŒÐÈC|‹5< )ÇÆ®ÛFñ=Ç(„Ì9xÐÖq®:ÛzŽ!ª–ˆo¢>©¿¢HYÊr\2 ÙMpŸO> OŽþž!&à˜³OØà/@?•`»ášÄOAw’<ªÅõÞ b~… #vóü‘ÎÛF;áõs8&$…Ž”í¤”¸*ôRu³Ïê1T­Ÿ«øVíø\4ƒv®ÀyMÁ¨ýQ e¾ômè˜ÒÌñÚòxL»è^à‡‰Ð…Ë®¢Ly¢,x×ç eÙ¶”`~ÉS÷"ØÍÞó‘-Àro•[ü 9GQFƒ ÈŸÒ]cä¹ù3óÓ¹fÅzŸ`Ï2d\AÔìú’[¯0/UIª†àÏ©Ëݤ•qßž=TAï$­pM©ÑÞ2ÀZû` Ï¢× ·ºÚÓ::™…'GgÈZ¦f¶W:ÅêäB;E·6î £Mo‡°­ ’Oò¾9èEéëqý…ήýo%¤36€œ™ßïvúOòKúÜdçœûÚäÆ}«ŒÖYÒôVx§\Z÷ãÏÂeŸ^AËù90¡úe?[XÝï^êôŠ­äm=Ùœ7û‡¿çÀh¾ª´”æ‚;Óó$ƒØo ­úioã¹SíNÒÔQb+dxšÊE­#öŸhwÉî*ä,²[æà^¬ü%’Z>IÛ˜Ç7 9œ^tçü“f%‘k1)zû>÷»hŸŸMÛ¾ƒ@Á Êÿ0òEb ¬LÙÀªÄù\ïÍ9¦KW)\b¦¾<„I4ŒK$JqŒ¦ÉÙÚÌL°0æ*³›zE¥ú,ÎÀ@ŽÖòîö ˆOÖT”à’Ögôú«fM&Š…ígº]ÄO]ÈÌGÕïÅ ‡à=uÔv' ÂûØ> «w6fÐ…w*òÀá0¥C¸¦?{îvÆò³¿«,—RFaêüЃíTà^$ Z/7cP fm$¬žs,õQ‹y~ Øpï$OíMû6k0Œ«à¸¾.ÖmöŽ©~Ø‘ÍHÈ\LŒG¢ðþ,^®ŠSéT—š‘üÐñVºyXK Kýb;šÊGóUÙÛ@…óa·CÕ‘’Åžæ ßYßšŒæ…Þ%Ì<»mm ô“ƒ¢ >§¸‘å«âê"u#·\k#—IÀ;HYRo0 ž?à–yQ17 7I–{øgis߉R†ä‡‰?ëx(Ù4{ÃAüTvÇiæø º¬hJ¶+èê߃;μŸÀlTA ÛÕiÐyb…öÊôÅ‹®Ú´¾¦Þòý¢b¢ ?ÔÙ7ÁrÓx~®ºSPñv9ç% ŠÙ]˜Ã¤É‰ù‚Þ+,68²ïHõYKª·–·x¸c{9Ð1„Ô`µF¡ÛÄÿ¯‘D¸‰~Q|TÓ|šÖYó¶À.³ïÝ!ëŠ5é+IBâåÞ]v\zÝËï0XÅñK6îP.ú™ L a²+^»ÒGúúËŠ²¾¹C«}âi0çG 'í{›“ 2Ä1w(Xî³ 2ÈÀ—W«« ‚qŠ‚â8ùþNÓr>á?ç£3 !È*¹ Àéšrny«Á852Õ©nEÜxB±ÍV’«€üëmìYózð™P´ŽÃŒÿg¯Ù7lèi¦ø[¬XW31Õä_ÆBý+5±¢( S tÄ·†ð'^Æx5õbB³”µ¸Q®‘’JrîÅpcÙþ´A#Á‚_°Œ=î(ÞÅ_XªµkŠ8d·yæhÿFz¹â/ó ¼H$É1ãž)`q¸¨)§ìDÌTY`÷°)ee¡¥ÝwÙ$SƒõšˆÚá¹È4jŒø¥•¶€s6Þü Ò³”¾Ñ½d—¸ÌéP¼ðp±ó»,.+˜õ›¿ù˜Ù¥rúöŽ*›süÌH«hо‹üa 7Ž¿ (ÚF*ʰ$¦%Ò‚&©òi»5­=™H¼–ÐA\€ó>u¹YÇm~aTë´–÷öt3ÓYwÝsw¾§îòìKQmö=¾²fE;y°á©~ ËLáÃàÝòÈCtL­–Ì6šð1ï Á6m.ŒÁÞ,À„îy–¶•…‡ÛsQå:EYGøöCGVÀ·/±%à·ný ž„õ#@5ðˆ»‚g»ûˆ‰ào©B¶Ž]]£ù;0ÆÃe´=c­¦ØšÚÔıg×[ÉÐÐÉK´…Ü^)jës®Õ9!IýK “}¬`tP«™RÁ–žPÜgAÏŠR:4-ùå Ó —ªÇEï$ÿ/Ò,«»r«ØÁy.„ Šƒ·ZÚ¨$³Y¥/í?È=U´-0> —bKŠÚ^Ždº%ý½à±;®V¯”zí)CʧaÎÃ~ åg2sfa&ä;…f V» -¶Šõ¨,‡y#yMm3½Oîê ±Ï@g%eN‘Œ-ÙG…€¥Ú/lh]F~Fî•R¼8ÛN´-w¿1w3°Xra28'Ì=LÇ>{§—´Í¶ˆg–Ìzc·tÝmCˆTŒO¨¼$:´œãi×  ÌOý„¯oà¯0dñž¿kPU‚6”cp%óÍcêÁþk¸<€Ó%êií§¦ÑvÄöÂéÙÞÉÈœ¸¨b5[ägŸ‹?mÉ´ ÏýRöÖQ÷ÌétÙ¾‚¡é)Ø”Í"Ƴ›mŽvÒWɺYê¹!Ìe!ì·PÊ´ÔÀZ̼T ¹õâ}"x4߉ÁÒöQžº)Eò*a’ÚÝxËX 1 tK7f:äC@Á´>›U ö2L¢Û²6W~ØPsJ’º:c#œÃ¶ÆŠs—aÕ']|stK1g‡Z§¨¾íù©4Üßj7«¥Ÿum‡gè9ÓFÌ´"ÀˆœjˆàØ©p¦xÝb ìZøMÒ„o©Þà‹’©jµ`UT>}þË‹²ÈÚ‘¶ïÿË$8ñÞ3P(¥’;¯ù’œ³³‘`Bꆗmß[£z®Ë<‰—·2{ÖGDëß±3@SøÛ–|Do#±è.1çïÏ‚G}Ït÷/oS‡Èè> *iKšLj³ž¿ß]¬\³/†²Ý|ø•œ+ÿ¾å=@á¢+¥{ï©Ënô{’!ôœyèÃvr8«4–\û}D:2òÁ›X¤aà{v’PÒ`I<‰Š)KŽL‹Ó ädŸal'(‹¡\ñÀV×æÔ·ÞÛDn~ñ…Þ¡@Î Èw­¸MCÁÌÙÉêű›kþ1ǧjɶ×U® ÇÌU¹ [k8#t£5 _Ò\Ùª»Q£9ÎÑý"ç­p#Þ”á글¥&hÃL$C†í±vúÐ8…5=¬¦Õºcä×Ú‰¿WO­pHX $½` ]ë¢k×Ú6 î×Üé0L1NÎÎT.ß”³ës6¾Á‹pKEù3klßÛËœV˜@ÞÚä4w¦c» V¡­æ¶{x ü³®ù¢€ÝîÙ„ ©„<[ ò*Ml˜÷³R emÜ»¸K¿Ï¦¹¡CðTሻtŸ*{¤q\Ék#^½~3­F[‘ôåÑû:PO,›1ÿ™9yŸ„( üxãç¹¶ýY6Ç\8O¼¥yyÉ0]Jh/`ÛndeÚ":—ÞŒ€“Y.‘ßqìÿÇŠD6S¦àsg¦ª z›|tÖÿJ³F¶œzuˆOÌ Œ=ƒJÀ¯ƒf¨zªv[ke}ÜC{ª\‡6 '£—>Zù¤Þ! ,VŒÝö°¥@é•B¤ëï„]œ3`Kz}©L)ÐveU­{“hŒ`ܹZ¼Yù’8¸[l‚QqzÉvtw¹LZsH¿Í|y\ÔÑ;‰Ñh*Å¡>;DY®¼|êÑ~oK¾ YÄÇ™ ã¨øD•ÁòäMÝóédH“¼ˆ)ýÍÚ{”"cžf¹€Õ0ñ#rx5†›èPºæI‡æ ž¬<©ÕvÝñ¼×H½ÃLýüX‹hNœ‘­];œ¶}oVòI7A¤ža°†Úh²R²ýùÃҚ̴]Ém#‡s_¦n€ì"§Û8“$°PhUÓ‰¿Ìì:óy|¨ÎàÌû濃ـڒ ÌÎ—Õ œôà2*Ýæ@od:óCWö<ijU~mŠDV©]î)jK Àkèî iC-U1÷ÒÈþ«A]E›+£ Å,u´$}H1¹)£$ãêG%Ó¥–nˆ)ÎcPùÃ6ª†7%×ïM «ÕÜ®{&£‘n«ºJ½WØ,:ÒZî¼>ò›íµŽ`Ÿj™·á ÒЉj#šÂÔxKŒÄÈpn#ÜËdî°xR¡ FèðrÑ}Q<[Ñ=ÉJ6‚”)äß~‡áUÄä+àçšG›ÝÙI±Ä;â#ZK.ý4Ç=ˆÔ’jXÝÈÃßÜ-Éô´x؆¶FÄ`Ѭ2œV<¥„ €GR@Ôª2]ÞšÛYaÆšhƒ²K@ÀÜÁÎhW`J²ÂƇõž„„Íx³§Ñi²C]N(ž™e_…Ñýà×îÆb2õÍXºf¶ñèú(y¡&ôâe­¶ê’ÜV;–Y›6䌤ü»²Go¸ÌT8ŒFû•Ž|:w}àîÍ2ÀÒa æAÐrûˆ~<™ùxàÆéjY–Uõ‡ìWDQÎ7Þõ쥕£Šø]N2é½þÛoi~§-xÖÌÑ1tl›rÓ†‡×­B7òÓÂ]Àì…uhï †q,·S&†cr<¨¥á«/+˜'2Ú6‘{jS“cúqÿ¨ñ[\¡QHÙÒŸæÔI-Ár¦_ìåˆaG÷¡‰5aG«ùÿd‰Îms¢¥ô]Þ»#=°p(º#£74›_œ~SftO@Š"Ðɹ •2X"…ûwVuKÅäZ¯z˜7D7D0j¹‘ \Á¬ÕÛÉŽ !oïGÓ6ŵV°ìŒTÍN`Aôië¬åÞ¬²H—dR™¸S;jB/á{YŸDç¢-oõ$wÆÀth?|8KV›I—‡ÔB!¾ª° «¬õŽ bSŽ m` 1Y­³¸¸YOk*¿ÜZ2ÃÍ#ù›±“š{¡¤Ð} rF€àËÏ¡~À¹VÊÉúVV±ä¸ù>bÔZº†fM…[­žföxäF-0ŽKâ †ekERÑÁ®´¯zöjî, ôe¸‡àüd%*ë‰kº/\^”@PtÇ–] ˆ|ÆŸ›“×ïN^QÅDÿ%€¦¢o{é‡O9µ8 D×ãÆEÛ` st4mÞ—Ûst:— ¿Å?¥‘}("ÿ'Ci»W·Bå¨ð^Ï*,¾ ÷WîLÕΖÂg’¾V7(«$"·Êìa1”íaB‰Ò‰¢Ô«¬«spa8z~Öö#9G¤QNôöiƒ(é¥6?6­¶&v‰µ5¬xÇ žbŠHG;«å²!Á¼¬¡0KiO}º!tË¥‘’ìÜꎖ•›¯i.¬©Äè\oà-2Q„yN®Z½IÚ BÕä »1.ûõëe¨™QÏæœæ ´ù¶;[[/ ‰LJŸ“ ×øäK™aÊÈFÒ¤¢£²8Þ¶FU|—µ â8>ôëªÓà#)£S ñª 湈˜…p‡Å ô+Ýú†l!ŠçrâWÓžÇL7(=åܧmúB4-À*ïõƒºúÞ‹ˆÔ+W-;\p—_Wµ†¶.¢"Ny\ý%—¿èµ0våÐ)Ó,½ µ~Y«Òî”èÊoér©­çÌ.C0À roH Ÿ¬³£>`6Aí•ÂÙ¬ÇjI%¡D-§†äàôléVãÅïúÉe¯œ!OU¿HŸnÓÇÒª™š6Ïiû·Gü ¢®_‰±|±ˆ$ç^/Nîž)GsúÇ7L4ZO½ë]rR%p|âê¼hú¦Ð–M£³À‡Ø¿‹¯¶,\fJo~ ¶‰ø™¢–5ú¢ç/¯òàøÿ\#cî>ù£Ê7HŠråG¼µR­vÏEhßX£~ôä0ª¤] ¸Ûü4÷ˆnäêµ%@HÉ&ÚÛ:× î5­G©b¨gëCtLÁüâÓk‡ÿh"iiY„‹)71÷6ÙM¹&g:Û.mõ‰§STç¬@Ûh‚„ a‹±Ù@44†b’¬SXüBô`&ªRŸw>èù~‹¬'*n½¢ Jà „4KÒM½Tˆ„©™8º°4Ú®@¥dø»Vo÷µ¸öÂÇT”px‰(3âL• <]b™÷{lrÓ»º%¢p-Ø&¼ëÑt*{Þ!sD2ÎÈϵ‰/ÌæMΩój¦NÁ¶*Úa©HÔ\ŸÑ¬÷Ë”ˆy»ÕÂF þ(Â`Õ6l¡®¥œ[¥Ñ9¦ëÙûѳ1ÉqEÒpS¹U+Z…^§ñK1›ù%ÉÄèûkÇ}&S­9jý‰,ÈTn'ö¢í[à qĬLÑ‘™Ð‹‰ Q’æ¾²gë›ü.×U 9È4 ùû‹Lsf÷NOñãË÷¼ÓŒÓUAŸ[µ ú Ìú}.$"°m*1«ëþx™_É»^û×ê?×Z†þ«{N9zo†7žzx²1ï\šüÌ{!ÏXÆÀ»AøÞ¨ d…~V@o)þծܙ¯oåÝͦÖ=]æà›|E„B|^["FíÒûâ²yÈ=º®çürw˜´S—z©@ö×;’ŸGº¿,³6 ®ÿü¾XZµ]Ÿå<_d¢’4ò‚mÊÉücsª™ ɨDûáNBât5 I?p;ß(kÚ¯-ÇO©ŸqT]¦Èà ]3ˆ@"PHYêZ-wÀÌëLå,£Ðp˜•œ]˜é4€.â2,’,±ÿeºˆYfp§ãç¸eî¶/€Töýþ²F×(Èû'îdv`- ½³Ô&:µVûG:†ã1d LÈ;Ûö‰[cRˆkl³¾NˆHÜúp‘úDžŸ ,È€îßbj§ù³ŠmÖ¿“45<Ë£šÂÒ%«àÉ·I_©ì:é^=¶€éu¿b@IË[åób× Åuý÷²(ÜŒ’‚àuùCÁ¼–Iä;qp\ñîŒæŠq íÿ÷ò˾I“u*ïÿm g~Àâø U.BÕó’~Iùâ–ŠÃàSËî‰R´@jÇîܰд´‰{…¶íº`êVOôÚü‘é#òX1ù}JnLv›y³²“G“‡¶hàiDñW}*¸Øœ?MTmšÀY¹ƒ­‚d¢ì; DgÒ¡§|*Ž}"|ô ææÌ~²>ËV$J•`+–®<Ć%—ž†:†`絚ŸXé*Ô Œnm÷¢|MdË,‚v€ÄQø;{ `ãNöá÷€ Ø+¹ zÝ"Æ_ûgW,¬½Ý}Í…µ.ÖÛé³å‚¿ô•Åó– î3þØžž*Pú\Q£_.Í ÙЖr«~»ÉQÆÞ×dQOÍd ~BÒ°^Gß„±ÉEÅC«(Bxç)^SÌÿî; ·Ñhƒò×`Á[@ÕJñ‘Õ²C|ÜÓ'÷¼U— L¢þ\ž–¿È5‚)}T‡Òy(RŰ2bg¾‹¥Bú']T=ˆþ-sX޾o¨Gëp*H'¬—ˆzŠðux·jßV]Ž—÷÷|‚Ž”×Ò|ºž£Ê£)ŠðaHsET»w£]u|O0rÝõÿ ß7<Ù³j·%HÝ!ltlR7´G,¤ ×9À~&VuKï–c•*Ð3õvpo‹éé¼ ”1C>¾‹E8LÀŒïQnJ‡ÍØxºÕ‚ÂDùÎ#C¥˜Ž¬^!`RÀ¼)ŒÀð<ã}éòA/4L|⑚Ogòÿo„ Ñ“_,Ž“æ§ÅÔ}£wZCšÄø­½^•†/R)¾Òª=vmº\–‡y®˜ÈYÃx,‡ƒ±ºõ¯(ßï4ùÔ7ZEœö Û¬­nH (I_Ý×*K±iëjEˆ)‚C¡ Iâd L"wɪ[á’®+ÞÜP—GŽj]¶µ7VÊ ×9™Ý{¾9_È´y,Ð~36”,&­Pe\W“$uÕ÷°E½˜â`ÑÔ™8£yQ É-+ '<¿2HsÅB:ËÔuìóŠ?n|‡-P¦•òà ¨‡¦ØôàùØï‚Ži…õ)Ô‚èpL4v±¢2›ãþ3¦½Þ/˜/CÔòA±G¬4q)A9¸›;˜ŽRÆ*)±Ÿ<¥þH^¸o¸U¿ò&Yµ(a+˰WèÁü(ïw·4¿­v¢]ŠÎÊB][—f‡V}pr*‹OIQé'R|Á ÉòÔ÷Tð0 –}Ò—ÞØ‘ NÆJ“àÄ%•£}¸WÉÒ\%ám7ÓÿëÄ€Û+T§‚Õ6®LuÐ4"«ágɾT-b1TçC{÷–³@awÒ7G›ÒP¤¾°Y¤‡– éüÊð\%?0#riæ8$“„ɘv®®£’ ǯÆ(ËÒ™Ômý5ÙÆÞÇQ¦Ôp öÈB)R™IÓw½½Axu©J2¤·Å9þ¥”!þ§é>¬Õ6% “…ºðuN)ò˜Êo¿w@?’¨ˆ}Ôùÿ¤)Uü˜«æ´|Êûe8ªÌhö·ÅNO{H~",O°·ávöà €ø¼À­P! -Ê<ÖP6l¿[æYÛ¿ÃZ‘3¨!rŸ’¢•vÙÎT±Hú|*·§Zøk£8 ƒ‰Ÿ‚€â˜t Šü1/ÀysÉyK½,©¥8ØÔó'âÔz†äÐ+!F¤^D1ÿHÞ?^8£<Úäp¬S$Â~ËŸärø/*úx‰š/©Èœ¬œ6¾;$ŽÏÝì)›ÌÛÔVv÷Ñ+ï&åø*JZê0d×qÞ‹Jàõ¾³ùWë{|uÝ9ƒŠßÄDýmí¤$ìD‰yK²ú3õ h–ãqáà$ ¤i4¸H®‚%:†2Y|ÀX(ߨ¥k`z« Æ]#TpÖÚ7­ËGö›L0'üCwYÀÈÁ)ÂkLŸ€2C8»ÚþÎC}$E^8•§ ÿD ÀµMî½C»§fHõš¢Èùi¿¡‚-±¤¬ÔÎŒkÄ‚WJaMÍv]®H-Å„@#šÇÆí¢Î¶¢:tç4 ÅÇú¸1i×À° p Íïj|Ž ëÚÿXÑô½óóaÉYºÙUT©©Bè©€çÅçAmŸjßèÀÕ©á>É%i:¸qUåÒ" Mó"™ÏËeë’›ˆ¤°§—2_øbÁ§È"¼pÕ˪@†ÅðUê8¼¦šLŒæoût’ÿä_Å¢€qô:·ŒÅ‚ kjè ½É4Ó:Óùâ«­öÇ£³l2›±Óna·Ýå*BäðO•'?‚³×ÁêÊQ°:¤†Nõ@ùK­´Ìΰ„nJLšw"9ý{ec6{`)·/ÕhÕqéÁ²/a €,ìP¼²ÑŒ›Ìè¶CrÒt.™ l2†¨^¥™WõÖusF K7$h+QYÊa—LfLý[ýýW/Pi®«ÓÜÍ~ѯÃü,Eý­ÇY/#ïz={â5ÑgÐM)O/W4êâ‰^%sSÊ~é2yÉ÷q¹q8œ°j7¥.©˜€§ì×¶Â^$ÁûÔy®Vä YôjÜF£Â\òÇËCŒ&`ëžìç7ͼ éÇ»rf ©¨BLø}›”+QOfÏ1ƒoê/FµÄÆ@:ø¬äz Â& vyR’_컑g°d ÿîç˜`þþkuÁ§º×Ê¿Ð:4¹‡Ý²y¾S‹ ¬¬¼<Íûe4ÒÂw ~@–Ä*ü¡Ï¾ÖIë|®çŒ+ÃjÌÿYPX.f™$t­ŸÉNõiwÙ§ ãž‰Û>6q!8w&“]^ŠàÇ<ôÇRй,°›ÂIû ü‰§>¢ÖÍÞ…`ÚXU,–íØ>œ£ÊŸ>E>D¶ AÀ»äpðtý…VðI{Éáh(gÒ»*"毦w½‰=¥Kè3õÕ·eGôð7ÑŽ^3F%Ú'ØØÁ±/(r„Ö÷)ìçYè#úÄr&³Ûq˜z>`aòèµ5¦õ¾F5¼¼¹A¬Â3#gli½ž£V.2± —ó×ý0%”U; 9ÓåZ6~ù÷².eËÙGãà¼;sÒG‘“L5àý:¢Ô½¹ÌeX°ðßA5ðJÂño¾œ6 ÚÜ OØ~”ïÚÃjöPªÄž;¾óDJ ¬÷à€8`MÉ-nã £õ|àz“ð+Æñk§:ÂgÝfyÛZ¯p1~¨J9,9D>GRF‚c¡!M2[ldPø›`1³ïªÙ8œ]ˆ!"óôù*ù¢±S]»ÃBc$œw8lR”×ük«‰G;ˆí5ÈnrPá.hÛ bN¨&ãêÊvà¢oí›1(®ÊÚɪrwzÔFrN–>ò¤Ÿ×Ñ£.è«!O¬ý£ë?¼‡Û‰ÃüIÇ¶ÛæB]ß,Ý¥ÃÇ ¨}Ü{þÁé=œòtˆr"Ÿ)+ǰ $$0ØYPÍã¶H2Ó”ŒÍoSUàâºHî…Ð|XXpÈhÒ¹ês$7š¸~ÿM{­ Õçœ Ò¸úÃPØ[;á“Z^ë&qTZø†Ó°¦òRJ¿ate¬.GÜó̃Ôë•7•½JKbÒ•˜ Ù툣fsIV† ïÈGTµ ¥»}L6[òÔG–LÃ[(>/©Ëab|AKp¨\^ gì6j ó+× è;{ â„ÒåÍðÚoÝNÓX{Ÿµ.<ÒÁµÜ^¼¿0To›y6]÷jOªL¸„zê>2“dï ÅÞ<ÎmŸésEªˆò“:¬¶-óežóöNÌÏ‚@}jÕ2,:Ï“ŽÙ“´·‹`¸ 1ÂЙӑ¼ õÞJ§š¶f¿öq òæZ3>‰œÝ%³~£Ce| ÖÎPlSþ%“–,kLØßdÃ¥AÔVº¢Änö^lÈ0ûæðNðëŒyËIóâ‹M“Õrr”+2êRý¬B¦µ ZÇóÈdfe&ñû %õLYtÊä Û}£–¼Ýü¯ mõ§˜¹R«û”/£TÙtøÂ‹Âÿ<˨¾íá&nåÒ²ó!“ºÁÔÁXš×ÒKÊ``¸Q 2{#LP]1pdïUÜß‚ßçéÆMÖ›åÿ_1xE›×àÑ=ŠÈx产Þ{=gMïÒË0ëâÛB/^.—y òr©©5D^ûö`XÑw¥B ѳ¼KÂÏ£H‘üìö»Åk¿*þ¬¦)*üm÷œS(û´rŲ#U9mã05Ý‘u54cšÎÿÉ>Æmî@ÕòøF“ª@ù”v=œ=È1¡¡?;b§a³-Xƒi`(8»­yumã(€©÷ûg—ì&–Ûf9é!ì'îTqÚI\/÷_råß/x†ê!‚Šªf~´¶ ÌÎs´CÛXD ò E•KJ½·9渰务‰h`ayœiqpu>šéŒWb{_E¶BŠ9D¶¿röËÓ^ÍÓ©¥FLÅ3p…:CóÍý˜ð R/ŸÐs‡;?úLGl×j;‰CHW(¡`Ä Ï+Ãã¿Ü„Cº^¿ 3CrÜm€5 ¶QTéSƒûéWûëß Ï¹+SƒëNïj£úW3Y/áãÔÂÆr$x½‡ön³J·‘Ö–ÖKZ€ðDÔö?‘ 6Ø]t– Pfk”6åU3ge°2!r›Pl4¹7$.õ-}çné蹬¥-¾¹Z¯-—MàW¢L¬tDh¬€ý¯OÁFŸ"›ÒïÂJ•–R¾³F•&qá²¢3íÑLÅ(¡tR™Ü™ÑŒî '`¢Ë¥»îk”¾®SJÄJ‰~újrTO'Sû<ÒnùçeªAÕÒ~»š¬Û¼¿ÀëÂaEúqn¯9FZš@š-¤|}ßÒm›ÿ.͆ä÷uöíÉhýã¿Þpbx¿3¢ÑJ´vÏÏ!‚¥’Vý‘-åÕø ÒØ5nÝ`njø X˜ú\›,í EG+# FETéd?:ž‹––Œ£njÇì1èÏušbN©÷-: |µ¯ô®“ÿØ1ù„-ŽÑ˜é€ …©apncøÍ ¦Ûô… @–L#¨ð+ˆžÁ_»Û&Ÿ—Aj]¯»ûëB1ÿÇHl‚¤‰`å.Z”öº4¿œ^ˆ,Sy1B}là´IAüñX‘ôPYÿ-šð}¢v~ %ªÅþ)„ëéovÅÍq¾%±²ŒeFcÚôbÿ„R®¬I½¾_~¹ëÒù_=póÊcZƒÂŽ|<¼:ч˜°=/¬úñ>UÚàóÏØX^…½*m§ÿ[O1ÀÅëhŽB –rsp8œ[‹ëÛ(7nk¯”½@#kƒ Ê¾D €¸÷ƉÂ.ßZu¡êäWÈœ:»kißl*=âü¶gˆN‡æŸ±*=¤©‚€h‰#‹÷³û»<>]yööÑòƬ*YNKŠ0£0ù~cÄ”Vø]S ½DʃANk¹Œ;™g_w²‹ éä·ƒ €ùõ*i,òçXRH¤¾)Ü’§SL[/þeéÔ`Ë©¿¶ó[dºŽ®{¨ú×S§æ÷ ’xcÿ•¦ŸsÒÄš!`2Z³nw—Më$³qA¼àº °`Õ'£áûæÇÁ^aO#—½Ó€>N zÓT&+L®=¨“X­ÔÜî¸ +Ík²úçBý} Ãî@Æ=‚-baƒ¾ ³™vn;ËŸ­´¢æNÜ7CÁf züô™7gðk`©1hk©¬jÊ¿^²€;™Ž£†'W‡÷pWãá¢Ý¬ƒÙ@í Ãÿ¦aÒá<¶þ—5bW`ç=B˜ðÿÀK`åÄB¦ç‹­¶ªdôvD¶ ºnžÏˆ³kì›1\¨ô[5ÓE¾¥ k …áDfô&Ž0\§VÓ%vvqVæ FS¡ÞzÁv€L¦ÿ+eÖªÒ Ô넲V­ç¹-~éÙEëÚƒÝJ¡$Þm ÏI"Ki¹Ê¯6Ïn=ÃFÒ‹žž:xéÙ »+Ihóè’ºš1RÞ‡¯š 3|G¶'‰Ú9ßöÅ;õJó@¶P_4nÿÀ‚ù<ÛÏ30½wØ[®…ù–ïùµŽ¹ü„8úo—ë¨ÎHPÐUE;Ì!2ûç)´«u38d/dÓZÔ xÙ’ø6‹q2øâ*tÍÛj@•0N´7² Š©ÃÍkº‡Õ’4^v+±9Û¦9 Û÷J ˆu¯;Ò)_•ë·ò·jà}î“À¬Ná&É…è†/+—mç!«Ë„Ò¦ L­)¶î.…¤É•ºèjá×å±Ë2ý@R”ÉP„Ž[í÷WDI~‹šË¡äýaä–8Uk(˜<[ ™¾¢¯[ƒc-VkA]Л¬ÛÃ$$ ÷f!z·â9ØR½¿Œ€Ïg±fà×ÝÀÕz¯ìJ´G€ºGb»§}S„ÕˆðÚž89h„,f†5|Çr׉cô‡„ì+xÄmNtE°°~Ä䙊u´Cây¾2ûBQçÌ1Y{`öG÷#ò€£¼!*3|’/a>hÎìË ÝÂE¯KÔ*rêÞGoQn=©Prª'–lŸ,h;ó(wÓfæ~ˆÍi¤Y]º;S°.üÞµ»Öä#² ˆ"ã:K`;¦ÒHð Ž.]@hh/Â`±Cs¹ì‹fËžÎf[ÌúeÖwgw]Úê ðùjÚ]Dø”'ûL~5a‘‚LD¿¬Jé–¾HÊ*ÞèO¹|jé&½‰×¦RàÃa¨æ«Hb+qR;©Ë¦v1‰·pýS)¬ÊëÅB 4|HӉƮtÛ€.r1Hž€ä ÑÏòc¢KçÌ€8äþ¶°$¹'uTÑG)¡Í9Dx5€ýagpXö5%!’†G7ºÈH¾a>â&X´¹á˜ðÖŒüˆëÑ'7`î‡ÅWß›ÝÕ{nT8‰‰¥÷zׯÊJ[ˈ¬y+×92ÁC\Hùí Jجh‘ )d³.þ4’÷k0kñx]ímÊÇÈô©9G‘÷'ìþµùLyúÕ'jA-`’Ax>p?ÛßjžûŠ/öä^Yz>¹®PgÅÑXm¼YÔ2,T=¹Þ›}èÊKAÖÓ±Ú¸ç …û+s¾ì£Iß°i_¥ ‘"þ©¹Ét/ÃÍ*õñBh!G¸+¹KÐ;Üfâ—IËâÊöñÌÊÔ‚ôÜE©ÅcÂjÌ à÷ƒ+XA™W˨ª(]‚Q¿H(PuÀ¯ÇOÉmw­‡¬©yœæ«?£lŸ4'þ]^ßÉ…92Ûή÷¾5PWŸ¯IjÃöÕdÖË"Œ½…¨ò¿jL_œ£ÆÍ \©žô”_,Š'ãÖð7ø±Ï'kš¸D( DËüº Á?G ¥í¼îÈ­Å=£¦ø“V‚_âŠ6C2ÓŠ2Î|H1A û„;…§Öiç½ø¨(E`"™wdú}^ñÇYe§PÏCBDàrÜÂÍ#%’ê)0²ñËvý‚¨xO»„âkb†]£˜}K ÒóuS!‰MæÃï˰)m‘´{öü¹˜5m¯#b¾Ôdki¨‘×€çèAÉbõ³³Á²‚k´ÜIZúÏ<‚C} í×h~”<ñKÙÏw,nÎÏ ¿¨ûfkæŒñ^\BhÈ=o,8”V[0Ç»èßÒUº†±%A®è‚âlÕ^Xóû»êLˆ ©»ùÊèîþz5GXx©éi*—®ýtÑÑ­Ð(†DK¨p×îÍOD·£mD5 ÿ‘ŸA­ƒ‹5¹@em=c 1©ûd“àYv'SDÇÂTÁ€$jšf@)¨«y X¬‚¼JwÍß ­2Y)¯{ˆú’ú–‡1}E}ÈÛÐ/«þm¢^ÑÍÀ„ÛGhj«¯³üÇQš(ð‹q wgî2IãJýáÖ« Òñ³âÓ‰ÂsB(¾×`Ïá–lä褱;óñKrõÅŽÐJçÛIYÉ~9Ž'Jç»al°u©›‡yNìa­=¦Ñ·qHˬùIj§—¹J²S|n†Yœ­K_œÞt›¿yr–¿âZ§ù¢ ëlû¾7ð1Ó§N+"@\Ó¯X9•Ïú'"&µìd……‡Æý0NùE¹ãø¥‘[çÑ‘e-÷O±bïï pÑ(Yf‰Åõò|"Âõ–>¿¹Ôl÷±Šò“5Z‰ èLCÏãíã¨ÞŠ•™ Ðú"×¢P÷ým½’é» <¯i:ѤHòðö©,"ŠD°æÄô=¦aÿ:å¢5GyQRò–` ÌŒ•B oó5ÿ]÷Y»ÚÖ ‰j°ò\ – AA’ïÂ(ëÑK;,ƺ•LÄXb]µds‹¬àj¿í‰ñµ×€m¿¶L³(ÝÙ`Wy¨9ÉH¼T–R»†iç÷TpAPó²*•8Gº™)=$äÛêºÅMÊÈÛO Ü}@ç#I’¼sç”õæÜR™•u=ºÿ[ËÝˈ«vˆ)?ujÀŒe©(¦F¦ÈÖ &¶þ–Ä\˜—\÷€\åÈäF¤Tµ[¦´¢³Pbi¿ÔüHy¢ûï»#±”aD«[?ðà°p"Ã#¢ }5büŠ»h3p¡‘ÌE1\ÿ×vû¯„S÷˜‰ç ©÷Ó]ñT´Tº:gÄǪðÓr¬ð]ßøöÌƆÅ@ø›ËÇ*„úÑTáÕœ©—éHÅÄ×Ñ T¾zõDò®4îÔ»Ò}—‘K'¸[·ì§ Jùab-È£Ÿ€9g®»cÓÃ@ ¿5]q•¤!ˆ-½^é~~p^tœ£º×s¡\<¸Yðýîï¸þTËÂMbx-×%½¹iEW:õlHK’ÜkgåˆuHÅ£ê5„Ëü$ÎfõG¥ë&)ÔoˆÚš® ­º4Yܤüe‰G¥L%*§ë[HÐ>Ç匥=”òB¿_ÑAªÍþf(|í±OÔ¼ê+‚‚„w"Y ÒŸ“†¹B_2Sf[ÜÄô;øÑ×t¿¶ïÈ¥>-Pã,ˆœD²¤“€]­yÁà™A+¶štÎð†ÃÇÖÁkÄì¯ÂƒÍ@ 4UCf£¢åÅô9VïìiglÛW+ ¢ž®'sÔwI3¾õ ¥EÓ=ɳ‘•ôUT9¶`1á͹ȯGmÚ£¯ Ýòßë•ð0¨‘Yå ÕaјnóöJ®r9µ*-L©À§Ô!e®ÁŸ…‘µµ}£xz;ê‡ùI·Hieúª¾À'òD‚Hüa”K  -úÿÐ\vÇñ¢äø4*Ù´T(Þ×ñlõ}G‡ô޵~EœY‚LêZ°Lj±aøŸ?n.1a»–m ÜÔÒ¶JÑÌ€"¬ ‚£©²¨âèÊkN½°+ÓopÅt£õ˜¿÷>ep¸Ó=I¼ÕØOã‘øU.»zTLwÉ(·iW™b'Dto½ü Çg×€è`i¼´Ÿ;ÒºÒžHqv‚DøA¼]ÚãÖÜ¿ØË±Ý7ãSzò#ÇÈa‡H|¤®ö”asâUO7ãÍTS…»ÁŸ….¡…!‹>ƒ¥ÕÚÁ?ª~!¶ÒïË—.w´ÏÆ‚,•"8œ¨g´Êîi€Es™JÓã?»(ñlXÕëaþ‡R‹ì±Ñ  à9¿ö#zTÍïD4¿Ð—b´Lˆ¡¨Ú‰ˆ*&–‹ßwO¨ÄÞÁpØ>0*þ÷¡ Ï©+rFêÀî±ðí7ÐÝóÕP$6È`ú»E[½Sâ»z«û(V$i Éç …•;äç{嬲}IâÊÖãÓ3©‰j8Ü$1ùk&õæãne õhcâtᯖȲj)XæKØèu‹ËI;l¬ÝOõJ-”ý1Jªøû9“]=ÐK=['òžäl`Ãkèb—S¡ã½4íOû’ÒÀñ`"T6 ¤ž)XÒ»ó©WÆSo S¶ ZóMä„4a‹Ò{)!–™7¤²‰°Ši4pâM\^/ˆ?åt‹ >Ù@c;k¡`|•©p6žayÃoÕšÿ¤sÅž‰îM4ÂúœÆVÁGÐûxæ¥- üVšBدV)ugýZg¥ßÒ¬†Ñw}=ª&ÃJ\Ån¾ì#ÎòîÏâ‰}äGµŽÛm† F»±º±Ù%3;¾*Çš†NG&/hëæ¥Sß¶}óØ„Ž7ÜŸÙ¬ãh®¼,èá¬r*a?ã¬8Œa¸WdB°3'd °óóÖkÒ„;Öí“ýᓜÉ!ONwJž¢ícø9½ˆÒåð°%@Q—¬:^|¬s{Ç-©ãu õÄgª j‚¬± ѦÍܦìyÒ;Ä‹ÓGBáÒÀN<§Ù¨ð¡ý4TEr£”ȃ°À4gvû¶ñ'ð«*ä’1>WÆHö7X0£Ü®qù7Û–wÌfª"Ù^Z ]”RP–,)Å-í?6ñÊ“z¨¥’Î;<}Þ«©¶°®Ý â¡ÊâYbP¯V+Z–¡  ‘>=€W>®òþ.=S-̾&<–*•}¸EÐ~õìz& Ëàu›+­’1€áÂoKWüýý³f½î ¡,1(h]«›UŒëö½ºÙX^rì_+;±|É+? ÙEá d'OÕì md‡ZWh€-¸2»6VäR‡Un>¹‰ˆüV>Ð×Ö>ÛѶ5û(7°  ÉÔ¡¢òò÷<Ÿzn=9 -‡Ž5 B© ¬Dï–¼~±Ò~§Ç6wàà–ñº¼`¦¦r>´FªPÇFn¾ùëí» þJ÷&ZnŽLâVíw ;"øc©ÃS«›pÓ²OÌaWÁ¯Ž=ø·]9¾™e'n2ná3D¤9§yÛÒpûãê\Þ ûå±Ê6ÕÝ[KÑ„rP6…"£sÒ©'n)Ù™P.™-§I"ÁŸHzd ce[¶‰„‹=BÖ…" ^JÓ¼›Ép0¢ð(„xÖ+< äoÁ6ìX‰—ìqCnÇþu¬Œ$ôà¡tCô©kŽbc¢ë{ˆ‘S…8\B@Ò zJï]lÛÅv hÕ›qÞì_Ç¿Ñ'äµ'ß–qbö3‹¼uË­C8¬Y@¨j¯d #Û²cZ•É#ì›ów‚aÔƒªŒæMD^JÇ›;Ô9 ì#øEˆ£³p(³»³B·‡Þ£„ÆÝoïMªTy"WX¡¦ÏKΡаsâ6å¯xGùÏWû]ÓÌТç@qC7ã²Ë•yk*4lOai,kY(È“+› ;kÀ{zëöUKÿš´æºƒ+Z4Ån(KpÅ›^#¥Zíûšs¨ŽÏ#Ö›+\Ú·ýNÃòHÚZû@<ä áؘ‘U†Œ°Mr™•{EKÂán óeÆÇ´P±¿i<ûš4¶ÜP¯£Ó«KW®õhó†¡Úäh\[¸³–>Ùœ»9`¼ZÄ5¾‰Há"æ*¸ŸuiBîÝHcß~¤ È;Ù$¦ˆ’×–q<ØøËLj±ºÜ<ª}¾Âÿ&ÿë\ÐL¿òkxi»I”ËÙ¸&šU«=&­PFn åÆmâpÓÍô"É­¾ŠB'AAf­BmÐ{!ÕhÆÕÒ?ÅE‹±·ïi,•6}ð7ßüá&ycšI. &$ÑCÔ@@«J²ñ bø;ù4P4èæ­P1º¢w*þç°y§ÖvMñ¶ŸŽÂØ~ÁMÀoÇÈxRË4R®·:Zµ¶× ^^~s>`h ½ux½†Â7H‘ûÓSùW äÞ„¤‰Mï3uœÉÎe+„Â0?&yé_÷Y"í<ø/ÙãØ¹æ½»Ï öå‹3öîLWÖÐL' ¾!·Z9´iÕÜ‹N%båafÉ̽ò µ‰_ƒ[º:Is‘Óï>çôØãÉuø¹(*§À^•gd~å[S¿~%@qAN§A7d_(è³­oÄâá1jRõq²s2½‚¶‘L’¦©2Zæ/WÛì|W]º ân><ù‚WXpïçGoÍ–¾9À CòX²%K:åü'¢¿¨Äz‚Ë}áÍÛDæ§¾EÞ·BHê3]{{u¾Ñ.Ç9ö+ÆQõWFŒ½œøv'Ö’XYUwïVŸµFÞ¶Š-¿Í\v"xΠ³xò‰ÕY½näø?<³·ƒé—áÿoaiK³/p Â{jý6{Ã’P¬MØÙÝ_/ŸRf€îÜ…%“îîc¤ZEëOaØ)wôˆ‘r´ôÅKmË(‰­Õ_ÛŒ ÁRÑ2>Ù™Doù­lä Ä2 ¥|BçËû§1G(%¨² –H;FAHö:“פví‚÷BÕ©I4§³‘Ðñ?|ã Y{–ŠfÀŽúĤª?xõüŽÃà´&þU‚ðV¸ÄjÙ EWÍ’(©,Ø#Û ¡ò7vG¾”ÝGSÑ^Í{É'¡J‡}¨@ÊH‹…Ö6/Ç¿eòÛDmèU‚óæ¬Íz"pap{Åy»Ž-Zț߃•ÔtàÜÏ 2iÄñ1þ°ò ³˜|UÖùí1?èÔh@öù¾‹‘ø)%“í%D²VÙ¡@]ò•ø}Fj»54|DÝ(}…xëø¶”ËuzùeNãça÷÷œ;„)˜¬Pf¢vþD¯g1.gÕŠ)Ñ äÍd!D~˜A^Àú+=°mÜ$ËÈná–Ù_dþ›œPÌgIÇÕüu’$ªqQàȲ)U‚Z[u“—ɵó6Ç‘$À-'DG÷°dX¡òƒížÇܨ5°Rd9â÷L‘îTè€æeŸᵋjD_Å}û >„È’,Ó£õ[z|iä©7FzÄ&Í5€JÍõ±|]xç^˜¨$ì¢_ýg²³£úºedþF¨'íF̵0¼·,ff|·ü(AÒ˜¸_¹ç®{Ör!)º@™Z‡Nc ˜¬}¾Ó[Àï,к 8º$ÒùqYˆ<”ˆ}Âé—7l+†R¡°ÏÒð^Õ*Øs6{L4Tœ³ì¹Ê0%ä…Âl?ÏÎì’øø> zßke~§¨‘‹‘g…œm+NäpÑlý‡â®v„ _ÁÞ—ÇÓ¤ï’vRûK†2Aö ø¶G1l‰*D²< wŽ ÿ‚ÍižÖ5ö‡emžvI«˜ÁNSb`Ò§ÉcT Ì<å8»Å;¶¯ýZì›I• w€¤UŒ‡_°É|þib½„`îJ©c‡°—zD´áÙ&Z9ô|åŸy-=bºR×~iEn®çyÿÁrÖr¢¯^ô8Ë©ZxAæj“0wAôequ§ÔtîNán;MÍTûR_aw,Ò) [@^˜Ø´¹ž¨¡µI¨ 2eº'dK¨Xí¹ÿèÀlÛõÈJ•Ú--³Oà/&’±¦Ý©øt·îæýcixÎS+„’Êœ­ß‘×A mé×d›tNTÑz~´Üšƒ„b} ”îjÓ€¼ž2L4…¹¸2Ù€&S*oê@B"ÍëF¾QÓ…mŽ-þaTj+[ü4Í…óž9eMGµÒ]ôyóDá ù0´,dÌ´«‡ ÏBÌ×ÐgXÖ‰¶õ- %~~ ÎpòGxOx-ꈭŒQ’­v¶»Ó'¥¬Î(#37qVŠßc@×)LX–8pêèô"ù-Ék€cT—/‰ó˜ÓÆ ¨0âÈ8#Ô÷mÊB’C¯Ž+iR$Ìɘ-_è>[.G-é: z‚<aP9ûLe·õZ[°> ûO骪©[XUñ§Ôª_3¯mÄ(&ìWax°3Ì¥âœÖ 58²!вiËQû®äW¯žÿÀÝ_ôyŸcÀHØsJ°™õ_ýæ}ŸÚQp(aú8|ˆå¿/äÀqçf´à«ÆßšØ‚ × MZ$®D ªµ“h~¬„‰Ý×Ù´€9ÏÝÏ{fz«’f²ƒ;ïwuÔ£Ïg Ý² êÊf7Ÿt˜94;= íJ§£É[_Y)¤>)Ú^ñlŠ¡§á„TìÑꋌáˆÃ½ÑnRÙdG·€B¤lDü‚=&Q³¾ýX%|Ñ?dŸò¨üá(5 |ÆÕ³‡mdâcQ^_*»4r‘B„½C†;þ3˜§£Õtüꎅ€ëy·T]ºç½Ê'Ó̡ɳŒ–Þ%ÐÕñ‹ñÄ[™ï¼=Ä;¾:åÛwÅnOyI*ŠíëKÃv¼íÏm•g"ï Kè^cÖ©àšÛ aß­¥ø\¤_¦:\öë?x†Åa¢üSéGÛu·z爨8Z†,žs^À—ÒkQ2ß—ð~lŒ¼8 ÙW­àá;¢ŠÖð^…Yþ°-Ô—§‡ÝfÒ? ˜n:˜žÕ’ŸBð‚Úâ,‘-üIǸV@ùç'8¤|‡‹åq^‘šæØÌ,1xA‡ŠK„#³î{øJ@žQ±9Bfûζ» ©ëy©¦ aw³–¨è<ÌJ[NÖ€ãVÑ•g“¿î*¦¤öãÄa›Æ'Ìœ8“ÁZÜy ÓùQ»u1ÐjÜÏÇî¢:àŠš÷Ð)uKRö®CNMá”ôØŠ¦dŸýì½s#±ÆD¾Ès<‡>²R‡Êi¢ÙŒ[t`Ûdøv¹à©ëÞ++]2Ø<ú|VA†X—×r6Ù§¸£O4¥…Ôëpédþ®äBÔLÞ]ÂRäEuéÑÃ+~¤Â¦²il:È*e{¾åσ‡;'ZiÐgFÛRÒÞ½×}’ô&ˆ˜Zè‘?¥} œÍøgÈCdò:³ÝŽE \)ßšHh{–û€0Á/ã:IN)ªdßÜ':¿µÌˆ’·l°Äjl;d¼B.H2”Y®®¯®f¹Á¯ðv9JãÔ›VtoxjSb&U)·¼$œcOÑÑk , $ÀUê‰p»o{ÁWªï‰¤ï|à·Éþ[a—Rcšz¤% ÌÕø>}“Úï¾!“³›j]3Nµ4’þ:¬ì{Cc»ßC æ–j(f>ÝÏ7ww¶ëÅó¶ÏãG+Xí±¿Yh«ugëZEAªÛƒ”€ãïBBè™`Æ…‹*ëôÒ!Œ%¤ÿuoRölÒ‰çÃÏ1 C’j|ûÕé„WW™À!ˆ}åó"àF‡Œo>æžÉ0jÂ0tØiô¤ØÿY›ç“,¤ÛrËï ܃9z—r·à¹ˆ7lÏzo@'z‘;öΘ”ŸÇÑÒ8è8ÁÛþN;õÐ<‹ã,EÙç‘èk UFT–üÁÄ ¸(.ÛæR/”ÙR OñY$$•åmV‘-“[¸?÷äg.%Ç9ðí–ŠÊYãF‘å÷ð§ ^ ê£6.ÐÔäèÍtìÝaP²7 <„Ͳvv…×ÌÕi屟G…lMZò­Hìà.%„8KÐI%ˆ>·„˜™5²ê¸÷íößö ؉uÇ9ùqN¹cŽÃô½P…¸AžûÌzµ\\‘ºj]4é ¯`ïAdhãyèNÁnòi‹fd§Z"Í*2pF<…Ÿ#ËÃw¯oIÒÒö&(‘Ù]J'Ñ0y#G® 3o¿áú ä,°‚ xäßnoa=±/f!6´xå°vºÈ„É"å ‡ù³£‘šÂíÉuàPáÔÝæ¼¸BšÖzˆ1ø¨*Õ2DÝ}µLž«Oeíae9”š#®:(‡pQâ%M*|¹7RÏ6HBCh³Ðæ@1h6a?¯+ðÝ~jbýxI}Æã¼‘¢ø ^¯¾•k´˜Š©¢2lj¹SÑšôÚ}Ç먨F̉Æôƒiˆ®Íòk"³Ú?˜£×GW£ N›8BhR™Kdê¢á{âŤ/#Ù|z±Î&ÿ^Ø·¿^#«üKý8F¿?S€ Þ£²ÝJ’«{fx£~¶üˆÍ8”T$A4½{H ¾ü©iôµ~‹úù9é&õH|#‰'®BغcÄÊÂo@kn¨üà˜Äôö\/Ü’±ó¹†dø#»™\Ðgv¨V5Š",$9àq]DŸ\Ù©ÇŸ,Pí¬ž”W‰§ñ²Þžj÷!h»ª+Ý_ º_âÆE¥¾)ªfëh›Þ”2ãÇòr’^uvûRŠÛlB#¡\?¾ÄÕôŽ’ú4¨ü&“¡,aô—}ƒ2Ýâ¿æ»ùÆÞZÌæ¾‡ÙTS¸¹¥Æcê™0à§VRjé4„Ù~8x](Ó)!*Ú]îý¦“Yæ²ãÛ=gz{âíl®ô§Új™J9¦ I©ŠIý°Ò, ”æ/0ŠxÇ6JÏÛÚÒYF€|”ÿ_1‰Üý—ï†G– ÝÛ瀛è³mûøÑ”±G?Ù8 å± ™š”«ÂøÞ ‡t¥ÂzÊq“ƒõê×.Ë W€´ƒ0‡¢ú æI“¾"‰à4¹X?yáÓ)ÑMSè˜S«5z“æ™w¼îéMyç§Ëš+¬ Μ¿ð>wÑk.·¸LÚÿ¢¶ýysÍ÷¹áp¼ "†…ɱ@™;$Nî]·¤Z2«:w$Ä\Oà0»¾ ‡ ò/%­-€ãE³ÌºÈ—òÊ`Š–$—Hƒ‡4±r-Òoˆi°2ÐB—=ˆ·¿þæ¨:#Ê™º]TeRd“¨Õ=}Âb÷Új‡„û “Vµ„ü[zP)€PvJN\é·P¥r_ô\‡Â‚Ô² Bf#^ÌAËÇåÄ»wn]ïEï'…b) ‡¹šû^ ܶvÄþÍN1:`ˆœcA@ó}Jy…èÊ‘ðÅ[Ëìö˜>[ïÂ+¨qøo8§óîòÐj.ÒÀØnB.»zPîŸöÉ"Õ×ÉÍì~Sbð!Ù×% Fb£@¤Šì¨Ì­ú(…í!T+Q?«ÓAŽŠùtQ‚>mup+^3ë­”ŽÞîìÙgìc5½¬9¥Ê±€2EhoKpsH|ƒ>}±ÁŸJ û»üD'`ɳ‰/çiˆÍ‡¿áJ$Ã`š€Ý{'Œ°£Ú ŠÒseý]Æõ9€Œ´ð"'}}P_qx‚±ªdšö%Ðß7e¥Ò“´‘¹Hâf! 7—;ªëÜe ?3B‹d’¹¹ ¬¾6§›‘P£ÍqÊùôQ :~͉#ãÖäɶ=GmË&fJ«áT–ä¨ôTä±MxÉF&ëm.æ± t&ÉÖôÖ=móo\@·Géw ÎgUP…$›¯B‡5FÆahW§+íåSmþý¹šþ'IˆŠ‰%Sû¦õ©(—Ë’íÞy)Ít¨‡M¸E¡ Á”8– \N…†—DƒäNÄbç–Þ´ü²Üˆ¬Î|äBO5…øÜnýîqåÎv¯¾H"ÚDÒmàËÀ™(üÿ‰Pµ¡ ±R@mQð³z†6î쪬¼Ž”=Z5‘»¼§ÇïH²A  …ƒÀ „Á¨zó(¦†*qô wÛ!÷`^ÎåeI6د5l‘dÒSÈ)™mßÁ¸×ð3{ÃÒ•Ï üÇN Ñ ²Þ‚€¯^‰‡ªõÙ2Í¢õ ¥f¬ÂÌwL35à$xÐøÝ`‰#÷œRò {*yr8^¶·©Óޜ嗤­_] `·¯½ëïrT‚èÚÙžÒLeûè¹+­M®—­ÇKÉÖ§åW¸tüxý X©“1*S¦~–MéÔ¤’ñÚzäªÑÙŽù|œ` Lúï@Kg7ÿ6øŒfÆÙ¢¶r8}Gtg&wV4ø$äÀCê ¿H}xÅ¥%^ zÓ¡IÄ‘Ó@Ã]좵ó­5ÅíD_Ë€#‰­ëWíÊ=Ñjp¯çËLppœ”jz>'î•)£ÑX‡ê…vÁô#÷†>wC$ØQ7n;1|,èâpókUƒ¬Y§âpιQ”Y½òé}“‹…¼¬¯˜ÝÖ4š7Ùø;²—‹‰1ñ’H2ÃÛN|SO,Á¾}Å?Lû^ñyW±­âa¸&=/»wýìj!Ƈ:ƒ·mcV{Sï@¿ÔA´€@ÈcñžanTe€ϾPÍŸ#÷ÛíòÂ…CG2;³’Ãã’>L^c÷ð['jèpÍéS Réå0}ÀµÂ¬‚zƒÞÚ쀣šÕ)ÇF¼ÍÆ •ÚÁ0!ž¾HŒüų½Ã Ý?®/iE»dô“智0Ù)ë]w^C(UiÕ´Ò Ä‹”ìUW…œÉý0Å¥•jüò;\ô…5’û³ÑJ„ô´BÝo}…•›û­:ƒþZ‰ª*3TŒÁÆt.ç™ùP|s‘‰BB8„íñ»,«ŠCÐÇPc,|n.܉õp²U¥±9”’2Jìu;™°ü™¥ö#~·ðk{…ǘ_ÌnÑhhÀ|fi;#)u1,w€Õ: 9×_SB‘|½ºãèÙnjlp("7@ÅÌ# dx­ÁCò%ó¶»\ú`<°£öB¶fuªÃ-ó®’[8¥šý°õ±Z$rÁáBB¥Çúg‚#™Ä8F‘·=˜ˆ¶}«ý§ Qð§(–1Ý­¶‚R2j<û£n•5…?R烥ñ{&¨nÛHdJ}iâÚlkïûlx U”·xÁª‡fo<ð€„ÜñŒU¤ñªbu*^æ7ñ—‡ÙÇõ¹3xµ“ó}Ù%¼cw±¾¤&OÁiœ†}àr&bÒ3‡Chõm§ß<"…Ð'$}DÛUοD&±¸ “%¯§a@µå€“ñýOÃ'#Á±v6w(pQÜØðž°ØŒ"XÃViìS³à—î§Ç×X5j(¨(øYþ­)ò- ƒÑ.ŸÚÄ·‹ëû "zá×`ÜôûÐ$iA)*¿ªŸ0Ÿ­n¢2TÕk–¬yKúf›È ÈVÙ¼¥)\ȈFÔŸ’<Ko/¥Zº[­i=ñ#ÓEÃ+"j”¹…þ2ú\À#»§×þWL¯òŽ>©ûŒHÎï~'N)QÝRs c8‡[Ô¥™1ë½$ â.ÓvÖÞo¸±ƒRn=eøÀµ|´´Õ#¨ÉÈÎNÔ!ÚxÐ( Uâ@ù+5W|gä²–p!r·YÛÒË­ê½GšnòàÄÍ; ô#K"ª¦ŽdW(ªâà ÿÍÀ ™ˆCño‹Á€ˆ_µý…=üÕ÷¨r‡Çíþ(CGz‚eW¼;ŒèÄÀ¸`ÛÔsUµ''Îà‹ «ŸJgª9y#‰Zâç_ÎÞ%Mjc}´I]0iÆà“¢ PNQ&ÆK–Û7ÏâUUþy|ÀÝ`ðë>ÜXv•vçæW®jw 3¢FF~«¯ 3õ²Š2dýßÌøÁ OOzæf6™#EX°(Ç×s…/Á·—\¶Hh› $KŒ’÷x±e+.ù}SG†ƒ¤ê8OÀoê¥p¿«‡îô÷=:ŒŠÁ´¥þËeÚȇñb…ÿ¹ÅÓDþP 77œÇ‚{ØŒÞ:,ZK–ª¿ôÀS϶8ï=ûʨ¼å±!“wÀ­Ø=–]}“ɹo _vFDMŠþº;sû+à즊ZÂO&¦ e€ßJc9"è ­½“¸ÆO+þ ռ턶+¸]“Zj®bÀ>™í1ªÅjžz3⿹‘÷„wvú<›d™c?’¬5˜iùi`ˆ)A%šÊÊõÔ ¡Ž—‚†™N-ˆ ÊIèG[~þ‡ÿ@\ãÚŸMå’¢•UXJ;‡V9öUÕg _Ým!4šÕYϲùMPœ]ŽRàáBgQTXzOz£ô‡E/1„0æAƒClj(•â@Ûõíñ;ÌEzbFïæSG•Ò±‘àA2êßÊ̵µ½Èò–uŒTÌ“WÌÀ=SmPy\¶g 1œ)oòšÚ¨“2ë,ÿ ~CWZ6±n¥©q*¸ƒ`´Ý6æñº@Ìôˆ#•s< .W$’fX ™ÔåD_?t< Šù`“Þö Ú$]I&xû]h+Þ‡ŠÎ·¢°™þYì¸?PÑp èC¿ô€PlÎò$e©ÞoÖ²[·Nxô²= “"d\ˆ˜xl"3ùO—µGcV>—@1I´«Èõ Ê3òÌk,‹”pûöPàôÌøE6îy"¼ª«lêNDX¼jYKeTuw kb/™W¯Ý{ª,¿x¥)±¥;\ 鋯ƒU¥•T eZò“…I½)H^ù°ß}áI›<á!ó’ð"lÿÍðoà¬'ïÖñP;»8Qö¯àë¢ÂåXÎû‘ãíØCXÔÈd†Åâz·¬EŠ{ÿIª¥µ–Ù  c,¤3'Àô!ØÁÁ'еR=ºÃêÖmÑáø¢—äàq6 Íp /¹Á¤]é{ÃÏ+åÁðòäøJ+08­·¼‹ŠøÍa‹€w¶ÄRæ›% ‚ ÇïüÔq•èIc0Ç%fø?„s|úH-™twø|HY“¤X>–|ó*§C¦ú+ý_:BÕÈßéë=Cp¬po£isß[ËÔcû/å~Q,·‘žcÏ®-Kk¼µë›A¿µ|âÍt¤´„Ò±áq)záÂv¢øÔ—¹£·ƒŒ»¹@Ù`(Q,ÊHí£@!?’> Ü£*ž“Á{ßâ»g•Ífb(Ÿ2Ϻ‘‘ ›cÛË+—ݸ•óH¡ctÙ3î¼òsú5ž%ÍÕ¡ê^'•÷oh˜GÔ™tY?ëüØ;zcf‹Ð—z¿NšµüÝ㺸aäkÝõ„Ù|ì˱~}“;#I§åÖëRúLk‰r¬Ê8ŽHrÝù;!ŸR^Ž/w9ÿ|.á¾Æ¨ÎË<#ᅦ¤³¹åê隸Ân~Wq»ñ¾¶S¥|;Ž'åºEIô$à Ÿ¬Gãpg§§ýΈì%>Z N=gô¥Ñ‰]!Æ>ؾ„G–i%œåu‰À Lú6ˆ) Ͻ°Eù©©€ UÐôL^uÖ¬jýŠìºŒ}æÏá+áKñNgÅÞ5 a'¦Fy©|Ó˜2§¯Z>"€ç¼:ÿ”°\É&‡Ö—?½EãO"›Ä’v¾™“mRy‡mú;{:ó$D€Ô {Ky]¦ñŽ["mþ4h8,á±,mcj†pµaj¶Þ ª*p#÷Ä ©àÆê,Ý–5}ŸøR| Ïò8º ”í&êÂk1_î΢>`›²‡Œ[ÛWtê°²´áR¾4S „Ãú£–#l!C{d(´GÙt6z‘œŒ‹ŽsÕ¯ŽgxʉóÉR-aºÑDò–¶Œñ0ÑE.a멆ÊW>à ÿÛµeSbÂG¾(S•Üùþ¬¼v¶–“[xú10’s—7‹ô€7õáôÝÉ0vþ\E@rù“tnù;R<ìiŒÀvû&XQ… SâKÈOi€&"爭™gM‰çZfíó”|OG‹¥8|JÎÚ2ádþ”ojYh*oˆ<ñ–Üc Œ*øÄgMÑi’ñ !ØaNÿUPQ‡¡Ðą̃p%ÉjYd _ÓÀšô‹ïøC.OæP¹^¤4™¿ñ¨ò,JÐ!èPSØFOÀ6œÕ ¨Ñ˜jÔŽérm7:áûú˜vªXK j•%é ÝÞÔÓխ݉oZúÞ¸q^Fª/\jF)©Ùd4¹ÅTaÚ!ˆªaZ$ßÊÑk /{r'öBŸ‚¥³+Ð"/š§õø{šÙ¥Fç=ˆ;!·­êŸ ªÙµÎë­Š]RóO>¶ÔÅP¹¶BÓ¾, Ä1y†‚í~ÑÎδhó®Û eêj¾ÑÌ…ˆ‚M_P§íµÿ}¹×6 QÌÉ𚊠ö\Ý“²² ’à–´ë“ ‹HD˜„¬x'½ÁEÙâÞšÝýxôùøVùŒrÈ<B•‚ÍæL½ø\¿…ƒÝ]ÕR3*<~GÀºîÓP‚Jìª[Ä7 Z,{£,ð÷y³Z »{«bñt;«ß(©ˆqÓ}BÄ[à†¿–Дָ4wøµŸfp¾dÚ Röáu®jr—Â|c‡bgx’•Añ¶K²GÒýóx=|X…ÈH)Í´ ºñ˜Š§P›R‘#ÒªÑ ðE8=²4,3ä“ÀŒî›°m;xýJ˜5ê¥IÄSdÒÐ@Ò [¸a²œ¦þç¸ySzÓNŽ ·ý2#õQ½|²Kòž=É9Mã0å©!d‡¦Mg|JÕÿöÙW/pé¬ô­€£.áëécЩ·wš±.V#uòÛ?O'vÅó 5~=g­KdÄó"\Á–äf„¼ÉZªP´…  ¹àÌLʸ¤©v¬Ð²/ÀèS5Ã*zö* ¡'å5œE»´aöHú)…f%v[X$c|›w$ 8žtm1²uPÚ_D±Žµ£M±jÿ7ÁG.oÚô¯;Såü±Öîd'ájH[^Més «È–thJ÷=òÞgÕ3,¬úÙ%#ZBqWopQqnA!'÷¿?ÚÌk©…àxIÕÀðÝÞì\vm'H )±>˜G/À¡ö@¼ç¢{]“•B­Æ1Ñ12¬’ÅØgÒ‘@õª}¬ùºƒL‹æRj%*µû·k„% Œ$ÈÓÕâ“eº ?kìø§ävr a"ì>¸-:R-.¶*¬W0µLXÔd¸$‹­ ¹¸«¨çb`ATDðx±Ï|1ßðUKj>K8Óf˜#í``Q³ác£À•CÞ™û;ÔEâòj¶ \»'" SnЈžª“{“ÿ]žÌ5qM xÊ÷àjC̾-…ÖÈÊ ¨ïÒÔâ]e ±U)U*Å= ðèò^ãÔ_t?áÿ\{:£ìt‰FÇ4’+3}lycŒõ×nŽ”>ÎÞYŸú—ˆT¤„ ù½¡ÊÊx!T¶'Œ– KJÎÂt‰}6/8CÔ;K^E:ì°¸›†¿¼ïÊ\¡Ú:®-*f+å {p;,çû°'bTæ¬aö,°(Î…²ªèöÍ*¬Ï!ä¡Ê­ òƒÛMú?4¶›£(n®·èÑüÊ6è½Î4I¨Ç²´cÛ)|Ž4Ë‚¨µ¨®ßàAcôtx7Ýf‰¢[0—U¼³ø 7¥q_¨ŽžxÚ’†žéo`ý½fr'¯ä2ÿÐýÎç”î´*>¶ý„ñ¡Åh X#¹Á<Á²E†‹±}¹[Vé2Èã.ÈÐsâ K„âs;³?@Ÿù$-ž?8ºÀù€·Ž7R¡ZáÚØEB!Àï=\jÀ Ø]JNƒé³¦€3t6ÇЋ¹Ö£f{Œ«&­ Mgæd¹(À<¸¯¦£il…æÃï㢾Œ"ôðÚ"Í©¶ú®VÒ3ÆÆÚ>Á›í*Y+oÀÂ'³RD7gÏv߬|õcdòã5å%•+ãjDÍ/e€ “àd ‘^M˜Þ]Æîæ (L &÷{®¸lÎ~ŸÒlµö+t Ü$Ä{‹‰”˜~: ir¡i}™w «µ%­œË, ¢Ò¡ý Øä®ÆØ½×HÌzÓËøÈÈ Ã݆jÎz~ÚØ±ßÂáõ5?Eµ\€ÖQ"‹©LàʯÝg$ŠæiïV‡µæ.aéýmî0‚¥#Õ©e9}þ9Ÿ3K!<ãîì‹ãìÝ ã­¸ì³K äÇ ’®ö)|ïzŒïø«$rgéûülèO£®S=‚ýÀÕÃÃ<<3½nßžEÆsœË€Ž· }¦á+Ë&rsY9žõï’ruÇp¨P¶K8zà5»9:õ¡ÞÒË8cÖ+ÿa»À—}t;l q³^T H‰?Q,‹Öh¼5‚d—¢™V€2¢]4Þõ­&7ÂBÚòÕVüϤ—ë]÷%„­) ÆÈr~ì°MbbØ-VieÜ1 v–¡@ý›‡ªó¬ÞoÓ’xп°¸?z5µ!¡¦d¨‹ås3™×Ž©ÄxçØ8²Rßj—òR! ÇmhDzs¬rÁ×_#•x‚¹á4ÂL8õbܶ‰™7ºƒ²Ùs£ÙÄÓ7iá`GY\9QrȆÕ[å –«÷'Xýq ÈPê'Ûu ÿnÀݸI:n #(•îa‡¾r“ØÍ™ñµ‚ùâ¥kB*ª’Ñh:›W¼ž´9‚ 𠮍"IS­iš4éS±!Aç~”D2-ÐQ(Ë­°»\Å0u—0s©BàÅÒÄ-dñJ[r~ÿçv™úiŒ5)üg…(ýdþG¹:cêgI70#DΙ6Ñ)u: xµ6ú`s欤À«Œ;5ÏXmGqŽ»¬Òê¾>iãqjaD‚UÅõÓ‚aÕÑÆDÐI7j¯þÜ =v2å6D~â †"5fù›4è,B=ª‡Å—9ú6‹+ï%ÌL åÊ›”ß²ý¿R*%åXÎ^ŒDúÛ²0¾;#[„*‹0ý忽ú˜7,Ê»«[Ó©›ÃR8nô>°·\M>ã™tJ ÷åüCñºLžfdžîIãÛAŸúóêÊVôç¬65e[2y.³MQ(Oø·¼k/“ b²í¿kËj“lÃK!Æ÷pîR½ilîc\ÔV·¸îá•K{8 0I¶’Dó…&õ?{ÜRθžÿ·mXÔiY*QÞs'÷ÇÑÿ ý_„W3 Š˜H%qŒbÞ"r,¥Ð SǤ`µ]¥»t{æ£í;µ7KÂŒV\Ô‡wìm; „¡¹œx KR‹…qä‘®¤¶Õ÷¦bãïn/µ%õX°÷½YÊ­*Š.¿ @G¿BŸ$‹îámÌ=:."Ö"Ç:?Tà„Ñî})ø3ë¾Ñä§]úȵ%úÆk_U©0´o“­åܺ‰æîw8dE"µëš)Iª  †ç©S}v“XHü«Å¬è¾š¥Øb¬§ Æ‹ª­—±XkPïÈ)îí”~<-,°…ÉEmˆÛP#–j„VWà5Ÿé+ú?^×ÝóD4V7gÞê캥I]0r|ÄïD¾€€0E”xÊ|(Åæ}°ì¤Ö;öÒ£úÈkzîš'›já ÌCQ!ÁŒ%ϾÐtU¤eJA¾±ÏþñÒ¥edzø—(RI“¼‹£?›éÒ;2ÅnèÉý*vâ³B)Uþ¢¦sËÀ´epçý¼ïú1;¢ÐŸÚØDßœêuâ¹ÔE?Û=Y«‹[›ýœ™½;£¡aÇr‡Ò Ò/é©ÌýµD€¯²9¼&M"jÎzånr ¢ŒÉ½Þwj¡DB>R¶-FØgëO³œI˜Ê˜Z_K”;@®ëœG.ý?qêLÿ ‹êSçÒðЯÃä] O´kRFv×±ääå Žð|¡ X™úÅëKeÓÑë©æƒƒËô‡&´vLjÿmpÖ]û?Cñ&ŽÊ¡L] V[îL*sÌ)šxø­ .ЙKÄš:5£ôì¾q^n:j¿P¯oDœý'Î%­¾ŽRixìgðWŸåç¸| ³„CYÂÌæKSeN1ðG'œ¼÷º ƒ$úp5Œ~—Ç“n†ñõHßÃ5M,¦fîƒð 8Z…oÁ$kykNáj̈þ&ˆï".¾Gd­`†¬–NÒ)K‹ò„ÿ«üPH€L éʇªaß%hr„ŠK‹lnwªÂ ïáÁ9OÅ;Z¾cÂ`šTb;³-¿ðüxŒî&öÚ”g;DæJÀ+4Ò%›A¨÷+!¿†}4Æ%ëœ| xK©f™£›"6áŽà ~ô†úÓÎÔµ(Œã°UÌž´òôJô-Fpþêçj’]—ôçRߊéü™L‰²¼Ù‡˜Š×fé¥#WªË» ͨâS2+ "ÙîÅþäר#‡h"›ËsûP1ËÉÅÛþNZfž²¢ èuúJ\-kžmh‡^ˆ@úç5«6®FÏ£¢Ýf`÷HÉøÜú‡ß—´n’/ ëòfõ0•ÿ#$d!c«²¨  Ðf@n§ý¬bßmYÊûÙçŠ÷ºø^~“™)àŒ¡R=Ë“/­!ýN9K·í¢&…K¾VŠ•ÕQ°#ãÒÎ!¥ÏÍ} ÉÿIÁ¨ [RÌüùÆÑJSwr^½æo t_YÚá4r äxó(©Ów°”e2QÃ:Yþ ÆÐöIJ¾lg/ÓIh¿?#ÚŸìß. c˜ûNß«â]Œ)R‚—øYîØ‘|PÖˆƒ–ú)q‡ä4"$^>§…Õ^ºå®?kÝ2(½D«7£ê$¶qdXZÊ}´Š){©Æ'ÒA£O0ÙåaxV9údû„‹Úœ’Âs³´V¥ï'æ&–FáŽ,sýÚ1ÿ +›¡ÐP&2UÁy±“íµt¾.Oû^{ˆ,ì|‘ÓWiN­¿u>­Qg×ë’{<—ÜâÉ *`S¿ÜɪJ÷b=Uü}­õ§ ©xÃí›G4š§øý2º\ˆï›tuIxl× öÁ· O4ÝÕ[ðT\¨‡¥suÛ.±¨“*¥rEÝÆ}h]¾Šg$Œ+îŽÝFÈu"ÿÂI 7Ú½AÞ{„YÜi7eígÐk”Êà{8 ܆"8ÍÊð mL´¼wk ̹¼×È7¸>Ÿ¿¤Û­£×,\S~Hänï_Ó ^øüј ÃÈz Õŧ˜js®T‹,¾Æ$Ð?ÌOxÈþ¾aëmJz?ëåQqÛâ5YÐÓš²X%<\ˆ¥&Â!ôÐRû[ý¡m×ä·3W)±¬ï–_?Fö?í¯i\àOÅjW]]mo;ä¸,li£³ËPš{è ž®u$ÛL¥nÀ–M`K0~=Û¯øŽ.òh gz¶©CÐCлƒ¢¥®$»+/ƒÂÝJaz Ð^ ZU¸ï“-ΑÀ°%“ë/pÙ<ÐBT'­‘Rў̌ˆ¢m'\Œ#ˆS»HÈBìB7¡–½Jůâ%çÄ~ŒÂIÑí'³„<©5Ѷ\é1Ü>50ËR¶ð¾gÓ,lwW}×~ÅùZoŽäúr¦É‘ì G£Í(˜úb¢¡…{ŒaV;£ ¶‘÷@aG &:Dv¨$Ç=¾@vd½”…¢âž:f¼V ˆcë#úÌÍ ú­± B'øNàV׫í(n¾6/¹Ëc'œqP‡®½3’Ó‡&†™ 5¤*² Õêø«*´÷:“Ãé÷M>G÷œþ«ñ o@‚6ÚªÝP;-iŒ 48y3nš%$ÿqÔÜp=°¾rÞ°— þÛ¼”-Å(WØÚÉäb%”áÇlÊJ¤¸)ž 2Æ> W:³MãDˆl(üç•òºNi¬D=P^µ/®ƒÄ›‡˜æ7v|³ÙÙF«Kö–÷+̨ùœ‘ëuÙ@¦ªà2¢ZAŠÓ+Ž+±®rV•ôÌD5þÑâdGÐX*uì"¸„ƒUjSeÕŽbôwS¿2qäQX±2=_# kþ—–uB‰¦û­u²÷Äæ„ôk[-Œ|ßỤÁóè³2«2†ûDJ0ÉÙ½=niTJÔT•HÞ ø ArAEæ˜Ó{„–ø×T&ü‚¡r.»Ïªƒ]§|ŽDJŠØØpÒƒF‘,ƒ†Ën®ÁèÀïZ*ÅÛÑ’Ñ|~ –"œÉfVÙ§‚Ò²H\/i^ŠßhþFs-Lƒ1úI¨¸V'5ug¬Î`NZKâéc‘—@y"ìdÈ>„+os`$Žß³Ë:|Fòl<ý|‰8ZÉ<bVýß[¿“Â~Û&íêÊKkQŸk@¯Ù+ë¨#¹i—-€]5åàëŸ;€„3%š§f|®Œš³fù ›"Þ:BÎ0ݺÀ7Q©^úºù8±¦,p5‡c‡U©)m%‹^“ÌpÛò«.ôõ“ ?Ýž¨Ç]Ïw ›Šl|ÉþÜ.ƒzp“ amÛÍ iÇÍ1x úè#yÝ1^ýÅXNäõíóØÅåÝ·uµ æ—¼» '×&$S¢¨†låü^Y“ꄊǂðæ2äìÐ\ïQQ_“2H´·Ñ¬"ñúC®”žñp9'äa•V…Ǻ{ þ—)ÏP+ =}ÎBþÃãåë0BÚ¼bJ¡m@ÛUlso¬l;ÚŒkJëåU2ª#m‘Ët‘‡’EG—ØHªD¨Ã‹|êè©ôãÑ\µÍëÝ›ÿá¤vfÄèL§ß,/xªz»«˜õÝC~X^3.GÆ<–K‘—!„ùc­Iਠ/¡áYa+íÛS  I9Iq;$ ¶Ñï_âRÝfyS_J͈™ î°ÞÙ‚mÏH =?Ý=h·`È—¹Ãg@¦»þf©Ûy]¥€ÁQ%‚¡T‰A×õÈMÖ„JÞC|yíïÚG"Hx¸ä[YÂÍT~ß#«”9¡éÔ6šWàÿT#Hf­¿D9–IíV*0^´vÊß·©L(û]” p/qOøhƒFj§'ÑÒ§Ë\¡WŽV~ô™¡ñ**^ÐF é-œ£\ÒŠU{2ò4º@‡‚h´jVþ›¼ƒbp†,.‡w ÷¶—|n%d|ÈËD— °#•W1n”+b‚†Ìy2Õâ\-Aµ¬>ãÃ0žvÕç¸Y‰¡gE ‹áõ+Úª€Ü³ºL²¨ˆbR É-Ò†ŸO#‚ àR`\“ ·î«¯¿±¶%fœÉÖ4ú¸•&‰ IPÖV•M±‘|¦ñ•UC‚ŽrzZßÃWó{& @‚XUyŠŠ3ˆ Dz›À.*nÞHHR)¸@9Ã?,ç^-Ë«`o¤¤xŸ°n*¨ª§8hN1`•Y§×ò€† (†½h&1Ës•Ec§8!ÕrÕ›ÊûËxÊÅUêm‡¡æHñ–µîp(°©Dæq/hÛ¾…c†…•"¼jí!ªÏeÄø4òSå]"ÀÍ·ˆw½ÈC >oäÓ$òùu!óEn¥&Æ™§lS®Ný2,¼@Ó&õÁ$=ÃÚn³LADdé­ûŸ0.GǦÖû³ŠX%†¼Düì Û—°i n”œ÷¬ëøÃrÆVÂ@õ7Çœ¤ûHÔ9õšÈ ¦ÆM°›çÁš3oÉ笉‹ªD¢÷ÉŠ˜y°CûaÆ)¤-†Q¯i´\Aõ.¸ñ·îH·vÊÅ•NòyTG sŽ!f”[hOÓ'ÞN·±zM¦  6 öõ©9R; Á«ìI°D¼h8Ekœòÿx*ua^Ë1j¬ê¡¶ÜyŠ¥à¬Ã»²èãm.v5ž¦1êGvÀkìO0¼H¾.^X2Rt(Ì=*óêØÚMy°ŽhEìˆölwî!8w)ï™ Îεe1ùß×óP®Af`îb¾Ç܉ßdl¬-¾+ ”æ-ÐÞÛ(7PCEq!å‚çU—Ë¥ ?ÿŠ„k4iý¯7Á0]CñÚÚ\º.uË'RËRœ•þéž@:/P«N°PöÔûmž6ÈZyèxO¶Ø Ê·m«ZÛ£¼Z™ôâ‚•™Õ #ne°ñh<³¯ü ª4ÕãÖpÒMÀé’{H™éÍ 7Ó¾IwV_óÐ4èJâ;HöÃGM¢b…ä‹i™Ì*s‘ ƒ‘ÀUB/¡žH^ ÈRD¢ÎÞ+©ì á-.ÉÓ‘füêÿm‘%>m½Àg ©’˜Æ2 TA„`<Æ$orÀ˜ö§Ái–ô^DJ…E”F`·ÿ½Ãm±|OœÒPrê<ãíP®_ ï—ïOýc@Ù]$ˆê>~ñšà@ùRãîQÿH!ÛÇm*z¾^wƒÊ¡ :yxÔ8'’(÷7r"€àù8¶ìÈ£Î9æ…HvS­PV´:Ç|gÒ½'oÑ,Xw°ÐgZä½ xßI¯ŸQz«¬ÁØÙÉYÀ‡4}.sù͹#\¯î0‘šW°t‰E5îƒ3²!\Ë ÍtóLIç¾r·9EIü xÛÕ°·¶XR¶¤É¤ù~ïÕ,x Ù?ü‰K˜× Z“ýf~Ôj@ßÄøì›Aéû%qd¸ÞŠvà¼÷Šº] I‚½àíyö†A­Ál€¦ 4¨Ê1ö•œ÷a§îåÎçl»æÀ°‘pìf)êI]œUìyÉÊj<Ò“Dõ½áÚܼВÛëjWÎ–Ñ¹Ž ãÍ¡fg±„ôòê²ÑŽfŸr·®‡$OoO‰šXæ^O<A׸a!€æã6áL/Ä‘ì:÷1ªVÜU.? N^¥è~u´ÒÿÄõïŸW_\•«-Û]d|Íe’h状Ÿ=#â×A&}QY4üÚÝ“»ÝWc›I¡`Nf¿Ïì×…Ž'QXH°MQ»bÜ:"=†$…ÝËâ¦Fõö¶Ê“BdD¼GOíS-פ ¥-§~úJ`ø1—ßW óÌ‚©ÉXŽŒ›IO]êLÔt$mÈì6ÂÌPÌyÈÎC3,(˜Rìò¬üœìwP&×2†¿ÚÈ;6x$ÖôIV©Jé¼L$¼$¶XQR›8½Q)ÙâIÌoÙjDÂòÞèéÌ ÔqAÀ  Œþ#ÙÀFxÙ4P«š:6Kh«ASpJx²¬4CWï«ÌÊæÎÏœD«WŠ+qJM æŠBB;p†”d‚ÈÄÔ’‡ÔBÔ­M÷`ü×™ñ©LeE;jåq‰,¼—•ш äOBµäÃÜüVQâ§Úiñ&KÃaY÷h‚ N¥a^Y.bˆwKöéfÖEÙ®P6@2}š”?¹°)Àåï|™6‹ü¡`ˆ¹Ïd²±ÌÊÙÅ£1¤s„Ïè-bÌÖ¿QkS¶¬9™Ú`òó fwDÕ¢ŒA=ÝP‚”»Åq¨€šÏœ©Æç^Oò¿iþ5P´L9{‘7ž"HPΛ=³bÈØUWý¤ÿëL£Åhš|ÏHôÇ5Š?Xûîí}ø'’©ÌŒnuP–c%(¹ÀÎëâkŒÎ±›ñå+xÔ2k̈qÔðG`ökD¾ñœ?6MJ†¸YZÊŸ„Tö ÿZþýÙ¾‰ÌFºDBWuFÈ‘íN+y„éÉÐÓ¿î2q}âœhäεuvh>ØO82Yï³eñ-NäÎ9uƒNbN¯—”e:ýDK‘KÔÌNþÈùþa®PcuEtt8€ŠäÒX÷>æ}”è€R9D¯ºö,¥¬¯‚äÕìð@ÒÁVÌ÷›VÄdf2¦O¨mª$¹ëbÅ>ŠÉ+ŒÏt!§ò²òÃÂñòyãó±Á´+ƒ œ*:¹ßO£ç¶)†¨w=Àp‘õ:¯ˆÄ9J·ÈI–›NZȇR÷‚¡é¶/F>V ivÁ79Ö!’ɺU€9…¶Šîm%dùùùV×Ô¸·Ì™€r±,¾8zUàu×â) y#Jp[¥}”úœ£ÙÑìÛ ‚ãSü²8d½'?®›Ù*ØXt—2^…àá'nµNÛ¸¿‰¯›°9zùK¿zyÛN‚ñ&ëÐ9mð¹Õœ`ä×z‘GXfR; 1V¿n‡§ª6T‚ä)r³§TØKÓZý.Ân4Ó.5\%a‰¶ïGaWŸ7r þÞƒ‚ Ñ$4| ‚+ ›cýó 0W縼;µ5âì ZödHõ¯OÆ­öGÁnžÆ€:M‘)Ô‘šþF;®«ÖO.ÈÿvÆn3ø ?óâ둊¹@ò8 ÿ|òÙüH mújPÜèô3”’nÏ!—ÔcAá)s½ ä–`ÔH””=$`øºãs¿¶_aBͶ¿jƒ%·—^ÌÆ½ìÅRƒPP×ß!4Q½0eljrü±‡—Q"_„àô׿új¢ð–OÎq›«4á•Ýÿu7Õãò‰{üVTˆ Êñ™þÙŒ8 Á óÀ0vS¢n0‰)ÏëR§*¤ó ø}A_ÔFȨ,w7 ’çjn Ú~·NpO]*–öŽ‹ÀCðq´ønøáÄÂèÕ©@KŽ:.ýhòŸ¾ zJf‡YÍ–Y•†éK„Nåd“£Ô^X\Ò4X ]h»"ÏS!ú`4{@5œGŒ÷"‡cšþh{gcR©w2’óEä8†æw—Ù– Ú”ª'oõµ 7ç¥Ò¬`¶qJ‹`Ñw¶e)k"³Ôu%/°sðS?|¯®xÎuYU—oe D‚§¸bHê‡{± „nû"VïÜÜŸ¢ÇêTS)x Ëû— øÂ Î‚W7ÕlÚœ5ĈaŽòÃiž ßè” ¯c¥°ò‰³Us¸Jð7±'òOâ êüJ?<+qp·Ê±E8Æw‹“Y‰-ö.üÑ=IuT)2|ùheA¶L”Â1·æ£P2¿öAP4-éVϼ’Yó“V¨\ X%RC9U´z2cUÎ+›7PyÈ*xš].R¡dfÙ>´‰Ñ8Ê^ûæšÊ´MjüŒP„•û †>*Q8VNã!6‘ü#Œÿm£ "Oà]8ÕÙx¯˜l+.pÓ°AQÈ:Vº-˜) Åy“ŒçîQ!JE'å¿5Õ¨âW\ü7Ç\-ÞↄøFˆ¦É»ôè„<‘P™¬¯>Ü%ÜñGÕ“ûÕðØ/y{³‰Ä8½ˆÈ÷ëµkbR“Îqj¹ Zsò¥TT®úžq\}ÖßÉÒ±i³«Ý0gÌ«k6ë˜VšŒ7A§ñù/îÃÅ+UAýŠëý~ø›ƒÖä^¼dq¿côþX±úRºFicTéÇÕ„8+‘®qÞÓa áÐÒxnÆ4`Û”Õ›¼ØÈ”âL…óÊÁÔÊLL6u>tèªÅÑ&%_öÕCl¢øÏ™!¤ ÜYÁ$ïWˆO÷©‘-'[[ÓQëÑ`œÀÌÁ—‹:FÆ‚ìî˜ý$³ý"{Ê—ùXdôÌw¼!&tè¢ã±¬æ~ƒ©ÒÆ$œ¬^müÓ!Ê´(ÝâÉduMŽ9Â&&A){˜žµµKÂ\oLTÌÑmqv¯\ó¼.Þ!°âÚªwùMÜÞv–Öaù °ùSÍiv±°ø/à.E Oä¼ÞaŽÑF ôç«ä!C©‚nÎ$`b¯—eãÖ!¸ž„¯ W[jL"*?]´X) 4*(ž…"sŒn¿Lµ'ŒD '×ÍÃ<™†‰WCýàpsÓt.†) ª5)úMWvŸõîä‡ÊB6Œ&Ï>'.3Ó)­Çi±7ìYZt 4C~ü gËÃEõ²®¶ì.äQxÙÍò–¿Õf¯Y•H—VLræÿF¶Ùà{çÀ¯!¶‰8d.YÚÛ #òRÊð1?–åùoÇ—MÐâ`؉vãÏÆC‘çF¿ø²™º~‚„LÙ@‰ã;躆êýß¹.µ†q¶» ëôÜÆ"Ñ?oM'â˜ë——=q@•)µ½Qa…Rr.H9L! æ"QþÌY„õ¶Û Öß*þ±ÁȨé$àƒLœíÒ?PZ73,ÿ—–ÆRš¹±Ð¨ÝqMNˆbC¸p³óóü€SŒ¥ÐKg ÅȪåYß’XœýØ {ÿd˜ÌZ*]vHU´Þ!äß÷g–ÒÙ9…6}b…ÈQf6¸Öÿ 1Ä1Ô´÷¨_TóÎ…¦ßkÖcÙq,ù~b|“éÁ< ˜ÑLÍ„~ÁeÀ›5LÚIÜ©§‘,QpÅÚi¿+±Š¼`JÏ%‚ÆŸ™XÊì6nM]@ÎêÉ*ØBPöO(eq8H³á€˜:1?œ7¿${5}M|Ü@Öß,®÷äKt]lª¾üâ¸É§ ÈXch¿Rg'tMP×M{1j™ò%>£Ñæ•·HÅÖÍÃêå6o'ÄyˆácÚªW›:ss•@ˆÜ‚SÎ¥{¹ÅæÍ° uõW0Â1µ¹6GÌ´^C¸[lg ‹zNx"ç2n.hûD?*2™9­œZáÛZƒú®‰Èo+·ZWÂêë HI™ÍðC:—±!v:–„ø* üÄ.GÛ”mãØœð*vQc†o:-؈ÎF³KPO²•GÕ°«X}i„¯¸#ËÕ%äaiX£{’]¼5±}¯s™‚”ú.O8Yø?NÔÛwÓêQ3DOÍ AO ¡ÆTmít宲œ—pD•`ždF-VÌöÏÙqȶ ó‰HÏÛÖ=ûí{ÿÿÒ!ιÜ}Ú¼NSÛc¶„¬QdÂ\[sJY‰3˨dAGʾ­Éç2PïÊ"¶³g$2Õü;ÉÌfçCÊw7Vm&`ûgäü¤7¶ ÔF±7•„ú?Ô‘@݈?QnÞ5‚b’ñ¢Û¢1˜¬Ô ÝÖvÇm½#sŸ“Ç)W›w?*A«‡V‰×v{|žÿ[¾Ô\û§ð6&œ(å ûé”Ê*ö|BdÊX&“(¾ÕÃ…³÷Dà|‚éW­ì=[ª¦ )PWZÜžÞfÁÙ–a…Í$â°Fƒâçà1Ñx´p±¹Èô/¤žØ›Ø²×yåtX&›ÐÇÎöP†w°Á/’o€©Rê+©ÈáÝAÎz êX".нà$Cͪʴ zÈMÆ›A¾>Ë ³CY«nñs1Ií!iŽôVÖºæÁo£é뼿/q¬DVHNae)‰vtÈ™úš[׬ka ¼ /qASÎÐL²ª;5q‡¬aý(ƒ.AÎÞc7Åì×¢­ "ÃFÕѸKód Ò³ó€,m KÈ1R*X À{$Æ@ÀX·km^3-ìLˆë‡œìÒõ6.“hòá\ärØÙ¾ !\{æµ1¡ É®·Òãü/:÷ç¬$Ýpžú‡Q^À› Kã<ï'ýò Ï£°“c~àŠÐL‚•l+ru|— ²Ù:Ï7 DhÚ{è&ï]­­Åõ˵Ñ>‰>Lœú½Êm Ô I çz„Í–fv$û#1Çs6"›x>©0|ï  ™ÍóèibÜ9Rº•-¨8­ëcÒñLBÕà¨úô.ðæÌ£äÀ´¥5Ü»*ðÞš{×ÏfmcŽwŽùLá ˆym[ˆcdŸ`qqñ…9Ádï–í<˜nç¡™§ü¸juÇyprr'?†üg<%‰ ê,‚Ö™¬Íž»… âUcå'ùÎClÎÝ2xó¤“{ã^«ÂGtH²Ç†Æ@Wg–&—!ßCê S™Y[¶23O©y%õà4A¢Æk­ Äø€AJñ¿,cf. BC»ž´2WZËðb;c WÞˆ çdïDÜ'WLÊí÷j98íÃÈÀ¾Xàì »Å`iѽps4~ŒèÕŠg Gç èñž§ù¼{}ÓnßH}6X8Ãg#Nm*Ä €– ã;´µÁUl7˜ï£SË(úgý¡+ëõ³7‚Ñ&ç,@Þ~"Ñ‚BoR&ˆpËÍ;›92ÿ»¤â¼9®ðÇÅÏeˆ“rô ]×þ6ð}œrÒP²~#ÏÕº3WÊrÑÇýŸE&wÌû•½æ!¥ÒÑÍ Ÿõ†'fí©ô“k¦WqÛÊ܉œ ´•íK·nШµ ©fÑ_šÈKˆKäçPè˶žC³±Tí#§Rd&l–“tðíÙÃ0ìþfô bˆ?õê5Nÿé18Ãä!Ed2fx«b™' \Oˆ@ðw˜^“Ðà—|ê`×È>¾OÿÓ)~•ªÔ«+’JúpŽé»˜;¦§³Ê Ê•i@èæ†ÆDýßøîJƒÅ® ‹a/Z>q„B”2™ªž:”FÊ8gZïÉPYʼÔÑQÜš  2°@ ×!ƒÌÌ`—w)¨6³ö9­’KF!%¨ÃœÂòIŸ‘·92wEÁ"$¶’Vô†î{u×&, Ž—×LCÙp—@ ãþ¿Q+ç–é"µÒËi7ÇeM(ö²Jó¼I›G¤ôu› hܱÎx¡¢sõe•È2¢ÊsÉA[?E1ÁùbЉå´HÛxUæ$zé®â“bâ~Ú@¯Ó8ŒÛ–ÅÃtJ§-¿ ¶¹58Ñ ¶€0cŽæü¿lš"ËT{ÊBèæ¸¢Ëq®×ŠÏöÅ¿(ptuÒKÜC]B\eŸx!†7¨8¡úàÅTÆJÙšQ–d{ûÛþδ"ÓÖ®'[Žp°%öPIÙ?ñð. rürê‰*&1ËÑi§3U]± xxvÅö˜kÉWe5ëŽU–åáµÛ‚õÝpÛLÀIã.±„úæ½]%ÃlD³úï²,Òãv[HŽ2ßR:Q­ó#]±•pÑQ³6žßé›{uqAÅ'þƒpbðÒ¬üˆ¬Iw=>4d¬Ž™¯hÄ–9‚m7°ÁB· ©`RΦ9’?>ª bÈfGÒü“è‰>`NTù©eEþî¥sß-|É¢UÈHn Ms6Ã%³,缪¶¤^~¤DõC‘y³pWÎñ’À ÅêK$8}-ŽjŒ¿/Êdп‘»Š %ºŒüÓËaŠ„PVYísºÅ~Ø,Ž[4ê ø%ñ÷€G…1:È`ŽAœ_~ÚôûnK­b¿ß+LEÄŸÊB¶S`‡M~7Î+rÉjBÉÆzH‰€`ó_%š»|ÛŽÅjOW7z‘ô>àÆ[ÃÈ#Ã~i=„3-ÐáŽâÇ %S®_RÍ׊-Íè™qÒ™OT5YgfÇ×™ŒLC·ÙŒPC.eAs=©> fqžóÛ¯šÛHîjÅë µ¡ºS# 2ÄŠ´Å„…‘ç=Îʸ2‡ºÃÆCž`_× :F,§«5„#sµ$&?=8®e…•ö•ëh£H Pƒu-¶fHï½îKÿˆé†˜I°oI‰GÄL8¾öß -ç±…õMÈ~„}JÛÈö)f@룠”÷¾Óu"ó×gYÛÃNú»¦Vtá «‚àhðê>¶«˜•ŽGz¼BÌ6[Òëf)à‡Ðiæ¸itìâ1Òš`’¯Q«ÔêÀ-ˆÔ„ݵË<â3n¯âÝŽç &QÍq÷oóøEbHw,hg ú¤P¤åqu£‡œKÛµÁÖ—DÁ>¸‘Z.¤¦b:0Á±’iïx½yÚlö·ÄötO–r›MœèˆîÇøRI Ü•L´"•1Œ;°]ëwÙXÀ€ðåÆç­+,ŽcñøW튤.Ø 62T-1Vw<,8†W`å¹O¬·°ùI©EícÔ7ˆ7]íÁ@k±T´”‚·Ãªè‡k7Ê6l,­ö#ãJfv¨¦“Æ×Ðí·Ý~r1:6”ÒÌ$o÷¨j9jWYØŠÇœÜb«ç¥§TaÉìzÓ?ŘðŠ/”“þ}ƞȷ@smc à(Χ‘R놸r._Uæüš¢zRj«Ïm:úÿ“{&êQ™Æ·ÒÂUVW¥úJàáŸä,¸VÔ’øQÐæ¸8ç!|®Æ½¸¡µÖ'DÌX戱¿4o äö/šÅ ÍóB?VçS?Ëo­dƒ˜Ý6›u}3ƒêTÙ±šŽ<úsV}ÿŽÐu ³Št¿#‚(_ü€€'K‘`8˜þú%øÜÛjÞï™t6€·à~*So™Rë4VWÃLÚ®Á/¯yèÎ\®ZÜÉj› ‡©®³è rÖJP@OwÀXf:SÈ(¿]™¨Ö#íîÓœIeFa7¿dü¹TY>lWD£#` ›"í$NÓ~Ëâ9" :ëÞÏùÝbT¼ÑÊÿ‰@ªhVmÝ€ g{ÈÇ$XÜ£ù ñ8ñÚM'®A×êLØVsºÔiM…Xo70t–<œ,Sÿz†îC;3lÓiõÎâðæRÕozF6€œ›õÑV?ŸÌØ”ã·Ã¨ƒš7 4rǯC‚9¶mï·¯/Oc¹Ð¸U=avÄcDVäºÜþ.›Kî-—2À:‡ý¿Omd©Œ,øýÀsæ¥8Î ËeÝ<Ûf­Z,a‘¼o-îsýE}¾Þ<žÀièÎLSÇŒ™…“jõMÐáY¸ˆ£³gP™d\Õ\oéÈõø]Ÿ9hޮܢ™…˜n`ÿ²ôÿ´ 3͗Ÿ-×_ëÍHGF˜ú*U˜MKÏÈ¢&!ÿg2Ú¾?Ðç[ n£þµÚÝì­sêôW³@· ²e~W76š4Q~áÕ&­šý(ˆ¤BEÐ&ˆ1×iF“ÌIBn´% ]ráXõÚ·ƒ»|¤kmÆ¿L’¡@—Ñ`Vyp¸:ãvK”1Án7(å)u‡ž<ù¤½¤ŠÏÂäQãÊg®<=òYv‰Œ.}âëevE øŠ …‘ŠjüËp+òqî €{»ß›^õ>õÛh¢t;¶ºktrBr?ãmµk™qˆß2©ì´)ŒËHL®þŸÒ2§O&Þói,'ììÛ«£Õ«¸|?Œ6ª¼„zÆkêš.ÄQ‹LïEæRÛÀF3·[oÞ8–ã`«„õù•7›%úŸeÕ/À”è¥ãMè m7·w*Ù…ëôz÷ÀÎé”xÛî=€ò|3öz ~ê%šòTóFN5'Ãà(zgò™Ñã«X£â=ÞÊnAùÎ_]´ßS…êîæsS"hÅ–CÅË ™£ïòg»Ù¼q X¼´Wõ¬è•Â…yUö†þ_áN*k;…ØäIOVã¢Òã÷¿jâ þò]ýwý·ö˜B|` Dp6LЬðJzYH¬wÉ£ºóâyýP£gÁi”æI™Yµ)V‚÷ËþÂþÇ+ªdõí4†æìâÙ%Ù÷”Ž„åR_ýó4qù*!lòd-9»©(»xúOÉ *4³Qêb—žñ­xR²U°>²òÛ÷˜Û±x¡KËå¼ÊOëb ˆ>À’<2:uÎ:æBU¦UÚF „“SƒÁ~ ƒW†ÄÌ “5œb"Úørèôä‘EdÖjÄ7-•ÌpÛH'ñ'uÿMÒF²Ùó§2)“nÂÕ› ®]x¬K 6kMê¾ì1çï²V"7NÕçÛ&7kË×;ßÚÿªL±ñÞPÓasÚøçbç²!4q!]H…FF&8¡§U‡lJÌ=^YÐ_N?´—¸CìݬѮ ã½xL䙘É쉈fÀ1èñž^GÚìáš¾{ÂhÂgp²jêr4+Gtˆ}°é›â”8AðG¿¾½cL¬mör£›'t‘á^$ÙÇINòR·Dãl|aЏ­ÖÅ÷4xì¾é]£,á´£ AUÀòê~Ak²/Ýeß¿4ˆ×s<ó`[‡­‘‹•Ä!d‹;ͦö׿UºhÕ¯ÇÓýnîo¼ðõê:ðXT9åNŠÛ$oѸ™cÑ.5œ}•ožÙÞ]ÿ&CV.6ŠtW§ÌU9 4è€ 1;(‰®ŸÔP††ú˜†¹#óv¦Ìè6ÃýÂÍI&Ûaë8È>þʹ9wÒKá&húÁu"€&’ʼnýÐ.Ky?öþ…+4¼íËé9bÙù,ˆ!?ŠÂDµ³ÑÛûX­7}Î2×È®XDü¢•ûêó)lqæ•KÕñFKWå 36 (¦.›‚¯›º˜ðÐE~kçs8â¹hÄXÄ*!hª8ŠØx‡¡}M\:¿Ösô8ÌÝ×X¸HD¸$‹ê˜d"~‰2¬6É\óhÅ÷*°{•¬r_¹FK»hÑ·²³R‰¨Iq Os 9q”¦a5ßÜÝgÈ8_m0ö $—eüe3ÞñÙ~Êע^Ã3ËxÍ4#(¬_yÉf¶5 _ªÓÙ b]‘d·Eì`McP¤?âüö6%Öú¶p'÷jÜ.G`©Ð|¬cÜÊ«eóx•Ò]kÄùp¾Õ¯ç3°’S©Yâþ§ÚúS±»+6½G‘î/'{n¡(g#ML1±PÌ¿·òéœu¶K±‹üÃ%'(L®›¤Á3x¿Š¹Þï<0VÈ‚{[ŸšÕÅH¤‘Ë]uÏÆÐâlÁà_ EÒh¨<\€¼-ÑC «‹!{¡1 Å ÿZŒ{ ZrJŠÄ»:pµ_^$Rh±?a,\GÁq®i9'C_'?$wöðe½ù&j7]ÿqBO€f.,sOÄ#,䳎&dÖߨ‡3B›–õºÏ~Šæ§E*nàg°‰n ê!Ô^’mSóíµñòB<¡ü!‚F.Çwº¾Þ5ˆ ”6Œ |EŽ&m܆$ehã7ô†â]ug»ïD0é¤&Žk]¬‹31Ðpk¦Ú¤~)6½üu „¡”Æq»ïO¥€ØM^žÄ%x•a>"úç²Ëmq °^î(ðüBGj›¤Ð+ötUFƒ¯ì-éŠJj4éngmA°ïÄ&€°b&† k„)YíãøCϯ¿a¦¾Ý ÅŠˆ~HQ8ë´ïY,o*E*\–F÷úiE>Õy"H²üAø;ìoÓaÕœuÎÍÒ5£ y|ê[ç|¶±ÚÚXjKeø®ü²ðî(ŒÉEB”hOî7Gw‹uX.Ä£Þ“c˜lR‰±&¡3{uIZ¥aÝÍ»Èd÷ÑÍîñ…}‚aµžàŠ‘ê=¼ó pÎÊ)RÝÃø÷'kܱeµJÊV"u¯¿Èh"Ûµ¦bõ‰S\‘¦%lŒSÃ%Y3Kœg ãêùí@¹¯ý4Ë¥ŽÁ‚?"Rà ÅP§ ¬´IÊÆRšÊÇî™GmkÉAkvfjÅ6LÔ×=‚Ë#ÍØ{µ:¹I}Uì_ˆ²YšÜ$çJç+p±¡ rW;êÑŠFoտ׫¬sÐqÅÆ/ûèà‰T#耖؋béqXÀ}èï»gì²b(Áɇ?ÖýJñ³ÉŸkݯ‘×JHÔ(·Ð0./u}1Dlž¾Û…0ÂÝ }3¿‹‹_u´–V"Í÷ÈTÏWÿqap±ûIF9%„ fÆÝǼÁË’i®d£´Øp5u9­Ò)ÆÈRu"ôÃÏè¤U¥lÕüµÃ†²@ÍU9+¬|áîøU«8\i‘Åziìd¯ßVÃÆŠ>¨Œ†«V‡_²¦gïÖå'Žîm×Úëó¸UåϧnbÈÅ/‘z`¸rý|$ã°v÷qøÔŠvÍéRm<‰¨œ !„Ã: ØJÝí#ó@©µ'f}òöÂ3ö÷èÃ=>Œ]‡¯Ç¨î•®TÒ%ð'^ãuÿ£|xFœ]Câ(¹Ï9O•­+I^vk˜Þ|QAô­å"Ö­!»s,l5ù¤È·1àÝ’žï:*(:mP8™$[X÷Œ:M\rê;™¶ ¦H‘EAü>ùÕf¶ÕŽ.‚h^ã@JþŒüfˆœ¿åÙÆjª¨›â]t‡µ«*÷•Èk9@tWÆ Ü™ÊÀ”TŠÌ Ä:õ1c¥Ÿ$$)+i×FiŽˆ†'lÏþv»¥:²’\—ÐöOæ‰d™!@Ë••­7CYU:×ɶ‹FÇ\·¡ƒ¨pôF¼RJOve¶Ž›ÇÏ¡¢Ø¬†–î|ôàý.';(ÉT…7ˆÞ•+ü·áVc5)üð¼ Ÿ·3!Ÿÿ<ˆØ!ìÙýV¾!4Ñ]‰*; ‰5Eņ¦¨ÔË@Ð}ïJœ0 vµüt^9’-SË(íz/Äx#¦+—¯¬<Ã6ÀPö E+i ¼×xáš’¤²¿hÀÒžˆl Ë…Óœ„¹A¦û‘Eæx:¬ž}âœËñ¿Ÿ\ çàÛkeÂQ/n3Ýxÿ‹ uÇ8|I£rÎGS:|!S1‚VÕòC'f12xVú½ÏеNE}ò’c<§¥†¾I³í..žâZ°W!<£FØ‘”úè%ŽÛˆa`$òZJƒé:¹˜OE‘ø—.jÍ…ŽVÃ)š$M5@¨•áÓ)¶ð£ë—b™u?'„^x‰T¾@Ô;f@Vô#o¤§‰ã£E ÈÕAlHÝH¸7úÈŒ}÷ç4ýÔòáV¤ÜVPÕìæ„Å¥ b©lnwpvµowå³|‹“­0vlÍD䑽x­¥»û&M¢ß÷|y´•9>Π…]òSãð 'ªRùü£÷¬;Þ'MtwA2oãânP«2|3Ó5cUüU—ïV¦®×±vÄ–åßþô1>Ñf!m©†ç"’‘œDåÐÀiîÄM1£u}(¢‹ËÜÍÞC”HBŠ|ŸÓ㓊gß'ٷΗÒÂãÏŸ¸RþÝÍ“Kê7MÄ/ápÜñÂ,‰ Ý‹Ò[þ‡Ï£cçñàÄ'Õu}Ê<à•èOœä//©MM$±Ò2…ƒ¤{am™ÑØþ¸’å« r¹Èê`;ŒX¿:šu )ƒæ5?L0SPY+#ƒîÚ„Èx'9z‰É®SŒ´eʤÐkäÇâDŽó}ܨHn@›€Ï%Yú°˜|F2k®cº›’öi­áÑ„£sŒäzïO8¯+®ƒƒ oÁY6ÅŽuåtfÄÏ«vþîSȜ΢‚!ç´]ÌcÓ'dohY²Ísâ’%A½Nû[C B‹¶‚8ÞX?·r–nÈt{¸ãy«P[ 'Š€ð xššj‹Ž²^F–ú:¿¸¹}à\JÒF»»+%\Êa­ÅÀ=jB w`rƒHn ‡%ófÈSCdV@çª7ùâôaë9Í:·³ák˜a³†a­ÐB÷OyÀ‚̾#Âå);]@`×ëî ÁHªE¬„}ò+I G õÅÆÚm ÓÞT¹h5öåv¬á‚4ó¦ …z5‘µd;ê+Ùö¶K©ªT–ˆ.È.õ—þ…Su¬"£¹RT¢1»¼Ú8zÏ×3Ip/Ÿ/WEוBÊwãfîÖAoi‡&uHÐÕ@.u2M1¸3_6›Æo™¦T×bžÏ±QY‹`VÇõmORé†òœº[&wÏ0Ó³²Ø°ç>`öÔ,LéZ—^ FôÌf¾@y_2`ó|N(€ìôkØ%y*QãöÞo¨½v‹üÔáÅU>¶ê¤féfbHaàlD»¶‹oØ“\Ph¤>ÎhpB’°ÙÍ.+³~=ÇG|Yà‹ã¤]s!ÿÌxÍ`¹Z¿Ýäl2íßéCÍ}²õl"RæÇʸ¸pªÍá_šû%\ÂĹ…ó¡Ó~ë2ïØaNOí‚¢Ñ6!`rö|¡0\”™írÈ)­æ•è+ËþB¹šC <Óßl7‘u‡®>=0¿TBÝåe9ƒ¼[âšÒÍ1Fü”]k5)ÙŒÚïùC¶¯kç~&ËôzªÁ)ëqUW"‰ï%vg“Ÿá° –«t™<Š<ãV'¿Ç“Þú\‹õ°U{ ñ•þˆF”¡%»€—ʬî{Ó™QHêBž£î z"º¹o…ÐŽ·›5$*« ÑÑ™— +ê˜ú†mÁ¸ùG2:õi{Þì3/«¡Ýs0ðnG®í‰æ®Ž7? YT`JþÀë¶OY4-ýéƒíöêÿDP—b±¯È¯K `¶µS/µq ýµ¡èC?Lzw˜M¾LOôîê䮨ryBV=%k{5Žj_‹.~»µìM&ˆ~:¡Èµ{PQšy˜Ëð 8† Oà\/— «Ëƒ \ÑÙzüP&€G­¯«ÃxþFj«0²xéDŸ/èZ)×aýÂåN.ËW0/‰µ‚ïªÜ, ¹7õ¤ oÍ<ù6)v;›™xj-3=­ºœNÄÚ¾{ÈæÝ6Jò$þUÂlj É@‚ð" ã69i21Ùë.·Ú ™ýËÔ± c¸ïªaÈV‹ñ¬»¤€žJ)àÚÕß—“¡¤†¡ì)`ñÂÍ‚až•a;‡ËéŽÍx¸—®)ïrn§ª‚Uú¦CŒven€‘¦:Òè«g!ßé?PÌ®áNáì0/Îa£Ÿ®?¶ÁV9OêÑ¿u\ýª#ˆRLñ}¡‹Oƨ†±AŸvOîïQM¥0ù  ±±¿]è*CGgÉ:{i”VE h„%})N0\]ÃÒ#Ç“Ħ~AÁ%Î7õÀ™i«gÔ´ÀQÃ‚Š¹S @¿Êœ,×ÉÈ>x´†N#&§î«4«#Çüs¾XµŽþì;'¶ÑHSµÀTAöÌõZIÇðŽzüEžwy€È£’ðnê!hÌ ³9jt>Ö ÿq™Ô(ýsW¤Ø8ÊÅŸuÒ£Ç]º¦ŒBŒ¥×I3P±"pù ‚ÍÝðO õ¶¿Y!%[G_I ¨UDý;Uûf‹p–:DçG¸âHÕÆž²Öü$AÐ3EªKÍÕ:!ÕÝ\Ê-ĨWœ:bŒ¦‰gš ô ªW¢Æ§[¢åY4*–¤Ñ€¹ž•-Dy_]b[Grê“ݬÞß™¤’® »w+u­A³}£8äÜÊ¡„ø®» ÔÈy·ëuG¹–£Yš&æƒØ_Ùhf‚8AŠøX °¸ôÒ¦=C@Ζ—¬B´Un Áª¡â•¬”+Õ ’aB«Ä”÷fûÏÒ¶I/ÎÐ@`–¾;‚kðãìèƒ"w-Ô3Fù¤÷±¹¥IÒ£h ÷רÝ@¦°`ƒàp*+]#”*©ýÞ‚ ¹ˆ´$¸CšIz¶ÁVŒouøÏ²‡% Õv}…^=ÒÎK ‚§õåàIø¼!û‰­ …!'q·ŒFícë7âjq’®ClSf¼A-’Ày—µ6![È eOœ|ØÙrYµ2Ü»°‚÷‚p8Ht Nkûñ(îÍ4o}ëba5\ÑßKnZfæéxãu{‡Æ¡`ûý©ìÄ ^’­k¶Õ • !hn6fy _’^´²eú<°ÛPÜ‹’¼w‚'^ƒl>Š~Cõözå•<¦ðX”«ZývmoÒ S‹…ŠL¯»‘sYÓ‘†«\0ÏÇÒhlQ öîéÑ`h*+å³ÌÎÐ*³hV:#VTÅ%`V:)ëÊt±º/Çðã=ÀÍ®Ê*ö§ù§ÈŠ/üpªÂJ[Eæ9î*œpµÈúý ñžÅ¾›?:K·ÏvŦÀç ‚v×Á‰¹ãøt.KYûFx†Õ-éyOXÓìã«+&Ì«Ee®átŸŒ÷íTQó8w7ñ9÷‡Y¼»négû“„°hZæ+PÈ?Ôe€_ÉRYJ*+™‰=‘>Œ€¤\%`‡t¼ò»ajwÊD{é”ǣшáú"çá„i¡Ÿ¨¹Øn*oÙá%ZF™*VÁ E:/ó=]¹›Ë;Ñ2åldëÙ„¸ÙÄ #6Ž6G„Žm-(’Ù©¼ânu] C¾æM+{ã÷õþ<­§W2 ÙÔ¼™×)Ð2Ž __šx V^Î=¿­Ú»L" †„£9ß ƒÌî>rl¥'wå9(/ˆ^kæ(Ø5?Áp">¼A ,˜¥ Al¼ËÞ¯ÊѺ+Ï’I’'©XÐâ3†ÌO0Èp¼s™x¾ôG,JU°Ýj­‘ESã;0Ùr®„O)`µ½aWRb¦¦Õ¡ŸDÛf\籪AŽ' R -€#‹ˆrSÆT-¹ßðô!ý`ÀƒöNS­½"Ø+äNÉiÊ·^}œ_í¦l&ÙvœSã\–²XfÔ™>N^ÀÉË.ça£ÃÞöEOé9âÁt¾\èÃg=ÖX]ä@>»ÜˆÖ*ë;(ÌC¹$&fk°!—QÄÞ×…–:€Îš.\©¦‹ 茛u~£œ ù&¬‘ ø5$=†ä2|1gC­ñÈü\ mo·H:¿µ‰õ­/AHoÏn7LßrØ\w$×EÌ×X+“ço¶ æÍô¤Õ–L¼A°â¯‚Bµ<‘Ûê=I]ŸÄzn˜¼•û5\ŠýîD¾Ž›±•uôùøA£øa$›ç:hX/ÊÔtx(º¨ÎÄqx*»ÐU@§Þ*·åÕÚ˜;~«†Q€VOYPŽø£¾KWì{êÐ!îh¾ÎàçJ‡g©“cn”•æy„õÎLoõ°#¡`Õ§, ·&Bãö¤ìŠP‰‡’¡¼\6¾?d ðB´¿›ÛÓ&W@jŽƒð+ŒÊâÞfúkzºè¡aN]Y³ÜÕì™i/DŸ‡¦=|3uE(ßû*“'± ûãÏ¿òu»þøv³œ¨VÞ-[¿üdU&ç‡P¬Ð€@•ïܦÛIé³™&@“< ºüÛ"ÜJúeABŽ¿Ëb]AéÛ¸€×½¦+Y¢r{ÇMAŒ’š/䩸øÌ>Ž¡'‘~® ¯CmœHQ ËiAy¿˜ÕØ5@ÞÈÔ³f¦…,®ÝÊ8éæúPòJ^ÿ2†Wd TXc‹‰_×ãàožkri?ȹ١ÁŨ ?ØÅ(¹µ²{Ë‘œÐ¬Œs€MMw¬ÚýŠ<ºZ PPnIršÙ¢”¸pÞ„_3øâ$ôkÙêzQP¤##€:µ³†Çl,>ÝÔû ~ñ½“öé^DlùðP€N¿ô¤úwB+¼% ö]sºvDF;ðR¬ŠD‘ѪPþç-JéÖ(L»Lcž›¹ÞéŒà±` Ì¿=y óe¦âŒör‚(­R] ¼»SÁþ_Ð`Þý oÇÒ¨$‰pOM@êÕŽ V|-Ñk\âöY‡é«3*:`SØþÏ)~ƒp™|iA&ã‡ïa¶9lñ¥¹ûE®£CU«bA[XvÀMîh¥íP CöOÝÅ.–nŒ5gD’9'”üάíé¸U/@šëýIø‡mj%Ñ ×ð®M±iA¸jEòMngŽW¥`šÿ“Ú7Z©”¡RcïÝÔ¸b÷‘¡^Ò°(?¶xY#Içû;Cå½#Õ¼[ÕòÁÙgt¤9îë•öÎò»Y£Ž2Ç|Ÿ{´K’û…ÿf;|ú&6³ØÝ ô»ò9ëbJñ1ØöçU“>«ôóC,^ßk&>ä{böZÈžBŠ ¥ÈޱÆüG2éÒ’ÈkàÚöçþùµûñ+5dÎõ¤Š#´TÏ—Ô25l<Ã3mÒ¢Ðu~Tn´&¨CP £E]F²°ûI®ûàáîMg¶x”ú:›p”mÄWæÏ®®ˆéÕ9ú±ü\‰Ú×ÞwèNƒN]ûÇ™Õ>q%sZDÞ$.ŒŸdY¤EyÔ;(64Pú£ÎPÃ ŠýÜE~Ø.wöϽF+W8­ÞeM@ÔkˆÔÇnìòPÊVïÞM„g F…–çŠX¯VËÌ›Z²é}aaŒg©R£^!¾yÆ;E0Àö°rºáb<ó”*5ÁY[‹£Ò©ÀóöfvÏÍÈQ%Á+£ýÄ@‹{ý/&ñ( ®gß4Oi-Rþô'‘Æu»“ÚB6ÚÕÝ¢G9c€ß3iuª±Ṙmôæ¢÷œÉ4d. ¢ùêV¯¡Ä±ÞÆÖ€ÓyfÇ9YXÀsz"‰ݬ2Icha¾ã2a§ ªÍÿ „å‹c¶#–¢"È]9^س 3LýMŒÒ´ÞWý8>}8²Þ½¹CXXÏ#,é š{kÀ¤~tI]öAR™‚ Ø›†ø„Ëp·I3ën™ò›¬iN’ŠÉ–)woÂë'Ž  žÆmƒÀñåÇûñk-U0pô¦£dÉÍŠ §:½#¥2,Ä=ò<]ò˜þÖ–êûÑ-¡3›Ä§ù§“¸ƒhÞU3ÀWuË£‡TÛî6ËIïÙØŠM‘šðæÀÏŸ„ó)ù¹¤ '~¶ÒzˆÔ©‰S;jyÈ!ýðŸ§ð¨Ã3^nƺ‰RŸÏ´Ò¤*°Om lL&?'â(N~BòYzó” 5_Á}6ûŒ—¡ðq Š¢[¤˜N á5ÞäÛ"‹V/O±¿žßPš*Pø˜x1%ãŒSñP%* £ßµ ^ÆÜ‚/%‰qxòn½CRcŠ9AoðRÀjÕ@:¶ö,÷S),"Upb•SF<ÛcŸ#ãbx‹<ËîC¤,¾mG Ÿ`;’´Š|IPôèï"†Þ¹½f­èeo)¹æÇ&DÐ&ZòË„ã¦Wc°Lî4Ü ÓS•S­÷í|nTXÍUüDÄ…Ù$OÊÓ㔳þÞ_¥ GTV5%4Íôj¬nÚjv~ÙÍéåàb mCúbz†RÜÝRWÜôm@Ýzv«<šzÅ åÒ0kÕlD5æ=ȸ¸:ެ´–_¡c‚¡IÌE×wÐÅ1øž¯þ%à1îRD¹,xmѸþbÔHÆqÆ_-yo‹^iÁ ~§üÀœY«K?3¶–Zvßwï´¶ÄèfÃØŽ”ÐD+¢Ò Ï:$%ù Ý’e0–3ÄùÈ!‘\ïI£‹¹ì*Nø‰ú^˜$8šÿ_‰~¡ÎêÛF¼.=ÛóòÂTf|cu¢#vY9¬ÝÔ{ÓbßÀSîlÝK4—ô+ ½~ŠW]›ÑÞ·6ާQjÛñ±Y…Ý,¤drÖ¹ú所/¦Žs8ØÚš¥‘8ùììt\Íém6ó&@ )W3¶G®ñϸ+÷)æÅµ7 ¡ :U›ôoöûñÁ'Î?8 Rîfy¢kf³©:v%n&£ölAœÊ¯‰’™±&•šR&Ò\ð{š¡\'aï·j? íì÷p¨äÆ?ñmþLÊCe¶Ø‹dïìå+ÙÚk-}q!,¹±%LؾaNkÛ¾2ë™Ã2nR ødJp+,ÉÓX²¦k§#HŠÍÂ2ö•-fYàb¥» Õçû-M~Æ£áÏŒYà҃‚ þѨˆ‡¼Pß9n’­üANÐ^„Îuž Š ou%!ÀBVÁû˜ (Þïö°wÞ"èlŸŠm>~UFU«±ž?ú=þÃùÌÿ¼ÓNÁ¨>©Íšpî!óœæÛ()ØÙì‚èβñòsû°„Ó¥“¤f}ÃøÓ>T)1Úf\ºÉ juyT>‘¡í2óÀÙÍã'=“·v²ÙZþ‡¡À±…Ðã&¥ý,c¡q[qjæ®€í±¯t3yaû:×@Rô*®~­)gažÛÇ­ñuR}¹°(o]D…nqa±ÒpëQÙD:8ÍÉcE&óRajÇPÅ•ÛÐy\Âg—Ë:!G2ýy9uË·Í\³”•€2c´Û…CwAÒ‰Çh¶»ÿ™‰­±[Nr©³-ú³Ñ²âŸÎ0A†ŽªÎ vk"…ñ¥½„…ïæÿ k=xǦ¢…ŽùøíjôÂ3oíPüçŸØÊFUбæ­0ðM±”÷,Wì5vaê›bf–ß²h¬–îŽÚài¼gI.ڽݰ1܈а:môáR°’tZˆ`PâyÒ%[ˆE™N‰‘9ºúFBذÁà ¥õÝ‘úxvÆÄ¹RN” æÿJ©Np< o,0‰ßsÕ&ãƒ*Îs+ñúiÃÉ÷_jÀ‘`Ù™;¥ ‘RVO³ Çp Ú~SZŽþ<ëû`OİÅÄÁÉ5uÙ½6ô= ŒEÙÛ/ž÷©ªº§¸k¿Š|ÑœPJÞŠkýÆ{éêRd>OÆp,{zëà Ú/!Ì÷êÊl\Æ<ð‡©ºU*ª·÷vSûûüž™Hÿ§šiæG†+×cMÆÿ¸Mr×pH™{ì!UNª©'PóMÐp³3µ·SÉ%Z |T .Þ¶ô%®•ˆéÀ‡!ý³ç¾GÙìÊDf3¼‚Òšh¶ÃOò¾±U è•|º½ÈNÖ wÈaý¯®ƒã³*9ÂDîðã~d[%|™÷ìá²kàpîË&o''¤ï  Ì+§ÿ^J³–³7™st8ࢌ v,?Ó¦JÍWŸ‰Ò ¯ÁÉ’RüåÖVêÕ6á`õm®“I®:”d®Õšû½/1æQæ<]ÊÌåUPàï M™É¢/ ³©  U|ëíûÎë6ä_"C³½y‘XV@f˜:0”]˜‰ÞË/Â}‡ve'|Ð[;·-Ïõ`;ì==\Öþˆ·‚UûÎ|’¦¿è@pÑJ5I*]ÃÀï¶ç«»&ÚÔ»çÇj¥\»Ç܋ĻG_Èó‘ò‘ä°R¢~Â^ÈCœÊ·-ÙtÌÐ6žìµG#æ+ŠÙhfC>`,w¹Y5ûÐ&úÙæw³Ô0+­B5î*S…ÓÛ¢¤av“% qݤ¡¨/AÝ/;“:£‹¥|¾•-O;Çç½{ã;ä’H‚Çj‡×Oçÿââð2ŒÒðÁÔ‡wêÔá~çgÄËk+=ÂÖʇh²#.íõâÃÍ¡;ÓcT &cü à!`ÞNa‚³"ÎÈ!A4+Ô„dá™çÑz“Óºõ~ŒAÕQ _+l¼Ñøˆ1côMÆJ­DñЂۃÿYSýû][²åÙUeÔA4üÎqéçˆ%¢tñ_n¾E’žš2àì6—›ýÔ@Èè-Rm.Åa˜]‡ªÏsápÄådÔŒç/ Ô°&1{âà5$±+Ï…5¥Ùçeøï¿Î¹8×QE›<†Çc“JVSýGÚ5ërsˆ ª?MÉ–Úˆ4z‘5,nû´ ù†)Gô¤7ÒîÌиýgÆwX+¸N€ÍÉF)Ïú ·hK þzEI¦¢[”>¯1oŸÚ&ê’g£¯˜™yR î^–Xq^ÛF+K@4L íŠtêõ#YŸÉÌD‹H"Ë¥y×(95à°U>»¼ƒ zl̉°@¸3Ú·2;´•ÃH»Üøà  rù#Ï;/3QaD£Äóîj$é3\{Ÿà‹‚é{LÈdÙêì@ÄÀz2dæðÂ]…І’„刅ñü…{Ðcvµâ“-x¶â0K>žs-¥ýqÇAû¤¶×WˆÈ—j£Ž³¦3 Ü#c.•*¥€ˆÚ²Œ3áÑÅ¡û€&œb_N9ÄŸûЧÅàÝB¯íl@’2'ÚÎ…zÖ¹Ðô»|@GrGÐÌï4{í¢¤Mxè° w;¦Ú Õ†7;ŸÏ ó2õ8³YC¬¶š?y­¨öå"_+Ô¸l¤¾83PáèqŒH¯í_u!ñISmã‘oHqA NŒ@LR5ì•cŸ8Ê¥žèñF6 À] \‰JÌÎá-­’ bÏÃÝT XTP¡ŸØ>åoŒçŽ+öø¤³˜¡§c&Ú8† :Hò w•©¶åd¦ü%}”ލöi_Þ-ÅÎÑ [ØÖ#Wuž™L‹Ÿå‰*)¦ä*"KÚ'Ô ràº!ÑÄ®ÌP‹XÄ èÒӽ޼­ŒQŠÈÖÿãïÁº4}´»Œ?Ó§ãÍíNCŒcŸÁð‚aàÔ>`Ô³Ç%“ÉD(Ô ‹UÓiC\ŒÒ‘s‹Õ¾áœ&h(7tXê•édÓüÕÑÇ}d3êí«!Z)iN6U¾Õãq¨šêu*c2ÕzU™P”Ê>GuÅV$6?bVŸ%ÊdÕ«$lÒ9+ SéC¥ âÞüúÞ›ÌŇ•ÞÁ(ºªáBqRÐ:k˜´([6Ö0‰°ýÑôÅG0ÊuK‘¯ÃŸMߢø#ñCˆˆâüaæeu&–€<ý—¹ßU¶¸˜ÿTDµÀø‹¶*}H!¶š$}ú±;Æ·J>†ÓA«;A'§3Ïõû8¦î}¶¡´Gd/'ЄÕ{¡zÛó8~Ö£Ïõ`GñUð¡ŽKÒóŽòW·×ü’x ò²ƒ™räImþÒðôÜγZ3ÃåÀó\–þ\“q§î«ÍbX¼ÈNbÓ:Î ³ÖÝæQ^ìy¹#« ùMëì2 ¢Dæˆ$vI±60ÂQ••.l b\£:—¶9ŽûŽ˜øg®ˆ Œj…¿aéÑ~ÂVU°tÁ:ÞvyßWOò¬Äš%À/²Z²bJN«m÷ÖöÔªŠàýuܱШaÈîÒWãÌ óË?án†;˨z˜ðÒk]‹8ÎÆÇÁo –6VPøé´âK÷‡‘fP’—7àM0/¾·3··ÃBLA)²$G6º4LŽÙª“RË<æ¡èÒeÐfS6NNrò¥›öŽï¿OnÒ…¬P»úØ6)s¢¦š¹P4”Öû×Wš—©ÄK¾öF’‚=»‰_0Ê`Òc÷ü˜„M!°ñ¹ßwŠ~ Pq/;µK„Ò÷>‘‘Y±ÐÔÉ’ýþ—š+ó1LÒU8óÇ *þ.Ôv’~+V]°²×¯ŽÐù”f¡àûBz쬼éÝl—pQ§VÌJ,N³ý·ðþݵCˆðL£s=fÒ¤¹€ŠÝêwòHÚ Ší“б85A2?xtp¢îN*ƒ§ê´çæÍiöyF呪§ÁŠÕØÚ2#TBj5º•)ç Ñ8ƒ[>B¢¯±žat3:’¢ßè¨Xu.Ù™¸åó•b2‹¬†,6iú—Ç”Ñ=f· ÐÉ%l}ôéwëÙ]QŸõE2o„‘½‹@$ÿÄ5$޼˜0#²e“ÔDˆ˜gmðÛ-—%ÙuK³ÈkyºòfÎEZ>‹îùú…ï׊Oõ &{dR8áÛާR¯A†ÞÎ÷v™s¨KÌÔZ,žïúnÆÜ#10KãeO<0¿aR¹Q„òNx#ªwä£Ê¡$‰dýòAy«{)Í1;Å ¿ù¸Ñ$j>ÕÚ?‘ˆy·y‰—MD±0Т’S(ÈTÿëö²|pôÌi4˜^ÆX“¥§ÄýKYßu_DÑBëTë4-ë~öÌÐ&áúm-•GõKк×UV.°ŒË»R’¹~—§2É™ë àÑtáR¿Á„ïA]Æì]åÔ·¼¬í4þ”B“ò_ù‚{ë˜x­h¡v’áî¢9Á¶”n·¬›FΘ[Gi'§¥gPާ4ÒA€×!j¦+žõÃiC½D|œ²ý_dšT6bp;wµÌjNÝÇEá[΄¿¯µ½‹•Äô6V)¶K¨Ššÿ€£µ¦]׎3‹Ýߌ†å:M‚øœ®Ø+!ÝòQN³1÷Æ€èûº+ .X{Û‘òí[½Áè'pu—£ý•꺇ˆY«R6yÞjzM~ŒqwpdT]¿0ôTUºªçPöí|IéOÇmÇ$þõ¤[s-¥U²ÊÖ7¯öCô”)£ÞaÚß9m‹àWúöÄ*nÓ«^ò1*vm#û“Û?DBWš›åòÅuÖCÕ(8ìsZYD$U €ÐEÙT[ï‘i~Ͻ¼ð Û „Qç £æ{ÂlŒ²€ –ãQVÏÿeF*7 ÀÃLiËa±¾àáÍÍ>ÊæNÉN}×»Fj»©PÉýüâ7¹Œ åžócÕÄ“{Õ„A¨ iðÜm ó|9r´zÒ©˜ÿÿ®“;\_st:2:@ÄYÏ^+`s*eA]ºŠÃgç›Ú©øy€i%tˆ¦§H7J?ï¬ìÞYÁ.|$OõQ-G+AÑNe­·YòUiÜœž(“’숡¸×‰B©ßмú{0…v ”ήyyÒçZ}Sa ‚R­´êì ÿüUëàz”Bêæm$ßzß|àõ0ÜVÜÞo†ïK¡ž·l\JsK‚¼Ý;V½FY §Í¤æ•, i)’|S ¨°_©RñdÝ|®Ex<ˆ­Û˜3‹ùЯ³á2‹X¾ÍNµ·¨<Q<¦²q^Þ¬ž‰šÔK"ŒÒ=-”5'ü -¬R!þB7Ç;o'h¿‘â)ÎåI·‰74èЈTÝÒæÚp¥ÔZZÈ‹2+¡1M…¼¦æ-ÿ²Žð''k’¬ø5+ìKÐÖ9Ø -ìÞsf–›»OÍÄ,…íVk~#µ«@h $ŠJñ”Ó¤z .Æi£ òÒ]“Ü•“Ôí$\˜1òåµ!r|òü My’7±ˆÚ| Sí+ GAù̻Ziõm6E˜àìOœ%“ØÑæ`Î+Vº«É[üO¸Çg…ëϘ0¯0Ž9‚3»\” ôÀL>@ý–[4ÙK\0:j-×Â3%5TR|üx'Ñòs?ëa{g~‘ÁH0·r÷Œ-·À´÷*ÌÅÝê{Bö‹ƒò==çô¹>* rcÅ»žìc9+Ìú¯šŽŒ'=iÝ~š¢©F‰Ökv³h¹ÌkW·â§´I”³€¼7*—êeÕòÔa+Qj† w\Æ\ìÝí𯄃2B²;ŠÅqž¥U‘Û>Z’Nñï}€Tä£ëOOvxª!hœCW§%?L‚¶B(Ü`ÛnGš£†>¡Þ"u”7µ8qipçÌApÎÌø6äyÖÎ.¼õ³—BA˜]ÊÄøŸži×(è µVŸGbaŸbz04s:Âqý­ë†Užr#»…‡DúÈù:è¶ Ã ä«'¥èßÕJu¼a*Éày†ôçÜA¤Ç-òx¤“ÅnÆEap=âÿ07FkÞ/ì<‹(>E™¤ðЭ˜…dýùr@vÛM‚°Ç‰ L¦&±ÕæÊK°„[ýÑ*Š0¡Ýði4âÖ:Ÿïò}°1›¾¹o8›D7åF%Œd%Ô+¿ÒáÐÿ~(¸Õ ©Xîé`a”i±T¼Òï9˜®w$›ôªŒÅâÑ9 ¬ëG¶U‰à0à 4µÜ¢ÙÃÒÊœƒO­žÓ§taï …giø‘v×íÆhM€z•òX’¢HvŽ nÏ=yE^tå#€Ž¦¦ûÐæ¤Ã¿† ›Fm¼Ò-ÿ£•Lê7/,ÿ±¶V9#¦Í™à’mßEà£Má<¼ÒzüùDgÉÁ‹·® ¹Éß ÈýÆ‘7_ŠÛ“iËäê©ß8\,µyjæÇóq·ÊžÎëz½”ƒÌ%$H ä…¥ïx+÷ÙàÈ€kk”(3+³%@ª¥¯Ç‹^Où@Òo}ÓࣤÐ"ƒ™òUÈye—½¶M—kªÆfGý µüC†¿qHÉFã¾ñÊ *èéï°ePV³Ðá3 ¶ó"Gö¡xQ(€H¬EjЍMdô¸)NFåÍ4ȼâÌuc@’ƒÕÉTvTk#¡-ð]UˆKó¢„!à YWA-ø¢žŠ|sÞ³ì{vËœ>}Ù}(ØìUO³F(͘Ø)«í—‡å€¬yŸÇ>s¾|ÞTëe°!LY]0ǦŽþ9£½.À8Ø)Ì¿ Ýô'”r‘ôŽ—‰G¡ßKÿ; Šã‹‘¶œ“ üµ (g°Ø~&$QÔKÀ0Cà&€óñÑøŸoqDÀ•‘·tUÛQ@ÐãêmMDƒpM:ÑÕ[U5¯H@[ç_À°¥i ÃÎ.¡îTd5]A5Ÿ´ÿÓÄ)\=¯çêÑŒÝ42DòC³`r'ˆL¥BÓüþ&“«DËÞBÄ+za¹?=¦KüT¾9­Y¾K¹6Éj­8KEݵ²Ë³Xkr® ³ì\é}`j}‡eÍÎC|AUØ?Óé×µÿMfG6PˆL®ÐE!„ê Y3!•¯Ã…£8˜FÛyäS†¹ŽÒTÛ}YGDZ²¼u7?%äÇAüÈñ(ëâ² &c=}&¯y¨ÏØ&6ë{Û81äµgoön2h_XË%_3sˆ.¯Þùè¸ÞB@‡ZrSš¡¹N¶T´š®3ÜéJâ‚þ4’xúH`–£¼ÇÉJY§ºÊ SMU_p§DíPs` 8º˜dèL+ÂoQkÊÍÂ;erZ?ÿº àÀ†ÅLí+»VR–¶-û *W¿UxÓýУDbñŒþX·”6ß~á'IU¿"ÒÍÚ‘ýÛ¸œŽ %M8EƒŠ©{×>ÖPöÑñÞT&‡û”9Ì ÚmÌUE-½óI8¡àwß›0bè&@Ýåå¯á$‚«›SÇç9—Ä+_Q•¸eò4ª•UÜ}^8®w¨÷I9þ t¿Pz¼¼ò/øgz.Ê‘„ ÄO6Œƒ»±WH‡Š{¹àò‡m–€–¦‰%Ëû ®íþðo›XóË0?[³¿½(ÌýæÀè ƒšYŸªRR ðNhC¹Ó;“ogHF ^LnÃ%G5]ÉEB æo ,ž_þ_.¶Ïƒ%…æz=l+ÚÏ­ =€pŽb»úR0Ú÷VL;¥ÈÿšY}Ä„{=¨%¸…H{e¡lŽÝÈöuzq ïèM»; |‚šÊõb’è:¨Šâ,ƒ)9wÍ»sµäBø:Î-ª8¼2Ι‹^jKsï÷òìuP:O»3”L¤¢ÔÑ®‡X~(?—w¹ƒìÜfɘ§¤ýYåÉžEIÒ8‰ÀÍ5ùRó·ã9¯"D2v` $,”î·òkZìkéŸÃÑXÛrîôÔ'~sÃBiÉ^_®¹S s=8>S³q]Ô !VÖì¼ ù× Cq+L4þ~jFà“p ^½Ü.L ¢Lxüyà˜áÈÁ£äou'ê’?zJ(èûŒÍÏÈ­A– Ü~4™¢#®n5÷"V8ó[úÓ§ I=©ly‹Sž÷Š[ãÄ®ŠÕ,ËŸv¾XVÕ~~ÈȧѺ¹¡&õJ—ß²©€ØÓ§“‹zé4n‘àÐ…]S“š~ñn÷ÅnWôæxújîvÙ þYãˆ"]§T/”Ù@g³ímÃÁJ°²"I^ £Ý'a`ÜøToè—Ù?4qOœjtb:½ícñ“í+8l’zï‡O¢xoæ¸ÞéNŒf´/ßø-÷;”è [‡!ÜÕ^¨ÿ¾ B¬HØÞÈËMi`³á?ØSN\^Ðv³ËLVãÓ/âàWÞýƒ0S>ëÑê÷÷µÛŽvËS“z޵ê°’êÕ3," î8üÌ5Ž¿1Á”µ›Ó‘õUÃ$a³ZKòo`ØZ×L“üX:þ–Nxº KP!RxjË:AS¢!è qÎ!Ëüá²&ed,N|{~QbM-íNo31Øtd ?ˆ¸bŠtÏÝ?–3ÐB߆O.D×-ÚçÙ¬Ãìê< Q{aà;ñ#d»Ÿå ‡ÒÊh…ŒIhwŒV¨œ bJ’nv¸£ÔÏü¯¾õÊ‘›?ðÀ„º}w÷ú†0{Ç›}þ±*éu¦&R?ª®„¡Ÿ=.s¡ðtp¿†¿ÁtéFÔr’,£5XïúaÒŠ>ŠmªcØ¥ŒÚƒ –.é9—}]r º:ݽóu€hóúÏïÏ©•¤G¾ªŽ'äÔÞ¯}«þ @ÿq}Ñj®™5# kz6н+-µ*0,N»cVA8nD» ¾ãRs‘øó¯éÁMó*nêŽcÇÖ8¦&+ÍÁMõûå+‚¹hPÞ¶Eb½-p ¿?I¢ød¥Mصn${>ÏPÒÝþ€e¨è!oS ÞØÔqR°U/£¿¹®ØéÇ ­9vB/v–ÉíƒPò3Lôc`_‰ëëV6€#ÁJô°:!ØÚþ£[—mN{–÷)4æX4“kGk‘Lïmü:oü¼Ñt€ÎNËÝÕI z¯>s‚¡ ‚)êR·ùö´ +sSõd6ÅpFÄujç.­ YÔš2i„ê«L¿0¿AÞ:!uMúÎN˯µþ{S8`\ì*™‰¨v…ZÝ)·]ùtÝÂ2ôÆÉ)«ä”(–Ú±‰W/DjGas‚j-lyÉ嚦iW}1DnŽâbœ dM&ÂÀµâÐÞð‰’@›‹Ø>“ÇÀF²qKQõâ¿ÓÉõ_åƒûkKœiµ©¯#Ãû%ÿὈ´I슚l§ O-ù*&ú¹ SZœý²R\¨-k8Xn.¤ä*7MtB” Å^L»G²¢«T¡,:!4´{øF-3`ÒK-m9^y ÊèÔZ6 JœoFsÓš£öi½T–ÎUñýH>Î[Üâú×€ÙB¶8C­u{ÖWŒÅ¥å-p‹W}ˆB§÷-·t¥DGƒü{Ñüú¦€ }ÔØ$éoÃtxF\=íÊ£v¨±õÉO2±P……C´,»Œ*QßU!P~ÈI"Ë~¨…*6¸Â,\ÖŸ”‡umoº¹|jK섊$‡kgÕ5tŽ6e¸Ÿ Yl7³0`e™–„Žþ«&/ÆÀ(¶Ú..JôK=zh,ª;X»Þ7-è½cª¹hi­/†Á L±ÌBõð³ñÙ&Žh Ý8,6Ζ âè5^EgC`ÝD‘}²þÒûoVHpÖen=‚³ÏbàË?ÏDÊú(äLx­µ+ñõCŽÿ‘  Ê; ñ\±˜ýÖ©wøíæÓSé„wøå˜-ŒázÀ›½7)EÉ8Mí2ÆQ®j5XOœd•wØ„/y^ ”¦•2föÔ{/KoUpûIÃÈni!G#­D[ñgˆ¦m¶_6 ³Ó¨ÇpæB´rO÷é1Ca¯&Ï,ÉûSÊàÜS5ö Êx9œÆBñiþ\;ÍûÛ;5E/=ë'ЇârÀT­y[,±ÍuÛà|mPPØ(xûò×|wƒ)Ý® /îijeªïfÍnBÍF’³¯Ú"u Jö4!LáÕU²±G”ú«kÌNaoºéá$è£%!ÁÝ~m5ô²‘Žà,ú”Æ‚ ÙŽc;ô÷_Iïc37á$iÑÖù?ø ççñêä~>ŠW3—`v¼1 V*¾ã˜HµÃï&„a9ŒÖk¸}å]ì»± Óèfhý§SG•I PÐ)Tîƒݪ€;%µ÷âXUñ—½s úà>–Ôæ ²!‚¾À`7§6ÎÌÎ[ÊÖÏBÇw-w3îEš˜ÀySïG÷$¢%Ã냤 >G“d¸·Z›†xšƒ€ÚA¸ï· 6ý©/ì³Ôºº+]ÝżŽÁã¤aaX‘ñAÒÞà9$X;Ï»%MÑGå–+œ‰)à»5B\Ç”†5®²³øh×"Êy”A  $ .2¥iÕ˜uë¨ê¸ M@7Âq±›dÃ$\VdôJÚn‰£©ÑÕ×ÚÉ“ZÓëá׬šß^SpÆÁö©ù (Ày»-ÌNÕ Ú!:h.î«Æ˜»„ªÓ¶`ýØl?p‡øª®}HUìGáýàš“b`Njƒ#hNo³«DYî”>—ŸÇVÕŸÞ©µ<Óž²I(³¹Éhý*n^[ Ž:r6ÖÙÖHRÑ–«=Ä GYxKÝ$™ÓP øà÷$pdñ Èâ©vÌ1úн‡˜#™×TLÃtŸY[yÂ7dðÏìl¢Xúgù` µ³ïBÞV:] 0ý¦sÚÖJkI­ß%ÙB€/È6xßÚÑ…‡koÁ7ÐÖñ³ó ¤ ¡‡€,‚Ü ÄÛU,ï¶z(Úƒhå-ä^%ÌRÏõ†V§"Ä{à«9ÇUœùýL`Cù_ÙÉQ “’3q§¦’²F…üy¨Õœïõà•E7G-ôY‹ç™…t~ù/šÅ¢&}êàÍÛ±aÖüŸyiµÀI…bh8þjûé-}s¨ÔÑX) 'DàÉ ô­ýÅ~%¢7U€¬|ÉB©€Y?VïzYÔ”(´ÀÌ«yrLß Ï˜W†äP._í(c¯+$Z’›E¦ò˜fódmùº8*ÂÞ,S§\µïË$jØ)PÂM³"0®”Éð€Ähú>l²€ºK–%-Ô=/õÄž¢Ï¾Uº©®/zŸmHX}@'”^`  NcK-üøØa&·‘`ÿÆ|n`÷¹…Bû Œ$£ÓÁ˳?Ûõ—ÇËęӄmÕÐIô7@•ŽÖí?…N‘K'´ù«,&ðï&³šðÿó ÊŽWh|‡„›:wÃí§öD–Âw¢JŽ™ï®ß+›ÐÚ.ráã_n È š)à ü=tÏ)MxF˜Dî-o¶<{!Kì‘Å…L)8¹ò“Ç›~„a‹À¸õ³4]vÀHŸ`9]!=zJ0+å&‘Oæpt1h­0­.…¶j«‘k×{Î^ šºÊÆ< ªÃ&ðܻ'\hc´´h€À EB¼°+ ç% /'”Õ\Îi{RˆÄ¿õ/éÜ7ÿ^ª­˜RIÐ}íÀ²)8ÎsÀýUÁÖ‰îb¸.’…˜^4å(œð¸ë|žXþM÷jï¹ç#õzžn¢.V“ËPz<ƒ®‡ïöb4# ÉIuä½εIÑ„îâ2‰·9<žñ@9oœK}dµ9¨“ E^KÞ Q»ñ ½tÚ©i dëI˜ 0' `n+½í¦õJPþ-Qò„4;î…1U>¥³´®?ÌNw[WQ+ùTàš•†°Ùm¼XÙ>ê~žN»•ó¤,$`g×ñ~ÀVP0a÷MÅÃgŠÍ‚í™$4S‹Ž‰ý%ãå³W€KÂA}Ýùúåøˆæ˜ í_áÍGqÕ}èi­(ޝµEÀX¹Äv¸±¡Ô’“†¸J²ì>Ã`)§œWŽ$u—F=K[(Û}¾8Kg 1’Ê4ÚÂÇ{½mɃ³Ñ©uTä2’¸0¿(Á7ÇáQÙ¶;…Z’€M™Àb¿þüÄ‹]Ï#ðý©IÏʉ[ÐÞS$ã|†¿…‹\øul+­hÞ.h®F/®5©žÆÆ&t™¥ŒRÏ5ˆ—ñšÕûXÞZp÷ŸB[P˜~Éä2TŸ;Œæ´ŒÚ&Ƹ é&ã0* ”Ü¢OrHÜöQlå2€sý…¡~¦<(¦$Æmyø/rœvÉ/Ä”|)‘çU·^J"Uä€ œdŠ„û êéÞßÇ<Õk…DT ã•ˆzb×;30 ¼à6á<€©ó"Z<Ô¶ô°ÍñGÏíñ¡ƒ´ÐK·ðâÁŽ:œÑHq;˜úExŠ ’he¯…®Ñ}sY’%;{zþ‰èÏÒÓ©§Èˆ¡ÇA-ÓxOD¢½ñI‡<þõGçï*7˜ö,˜æ^>•Þ¶Rak­w( ½c(ï€,PØ‹6îa˜ç`‡ÑÖpŒ–¬(¿¶´‰Sç",³ƒ Ø´±iûÛþʦc ÅGlP^*4ÎGó–kq£ag³(n$6á6Ü&ˆ¯~¯/È£èEðµŽPQðA ü¬‰¨I#3-‚Wý«‘À  ãšWŸÛ/4Ô? ²W#‹;ÇÍñ@d4˜LÙª£%a1Ï™%Ü×yqt,ÛÝLòù8ã!+Óp¤ÛØ[0?×{‘¿·kMc Ú•ròýNWÝ:*Òrüg?[ü¥?þÉ r߬ùÜ ija³èƒ<È]$ãhÞ¡XºX <­Ht¿À·…ÿú/?;èž•j$EXé+ÏÅ«»ç4¬²Íã„cY¥X³°äëk3eð΂òÊm$EßI8ÿô<꩘^&ëXùZÿžžÁ£·'wŸðŠ$Œ/Úi²w1³ABï\Ÿ¨ÜÛÆWì…/S G{5ê}Êì0Öú_šH;y\q]DÜG´¨Ì<“/ôG>Ü{i }$}½¹&làƒèòÙiÈÖv¨aů~ãÿvÓFD2Õæõj’ìYùÍöš=ü 3Íp“±7XN.¤Gé¥cø;[$ÑeÊúÕÛ\µÃ¥X@¥£'¾6»§¾['ZÝæ:¿‰m Ž|RÃDÛÁc>™A5D|‰Âï¼­ûPÃÈÎæ­C^¶$'U/(Ñe@'ɆF¥Cf³; ñ¢MŠ…"ŽÑ<¦¬ >–/fåÛ>Û€Jñ¯·l&ù*¤K|zï{ÆÏštÍNÑ5v±‘°ç”s¿‚ûe¥Ÿ @ÕaKm ‡Ü‹}CÓ ø¹0’cîÝCËDS ±bÿNpéêG4gÅ\ŒiU+¢AK[5¶´v,C6ÓFÿ,©'eøØÕ…ÔCNz­X51Ò—ì×# ¸ûR‚¶±„YÃzµòÎ¥êFWòe}nŽQiÍk…-.oÀ›”Y\U7D¶opslaVõjd¡@ãÅ"y2H<!lysX¡‘è vlö‚j1ù›‡y\Ú«¢åb4}k:°íúipØ&¹”ïxÞ­v%öTê³^9MðÏ1¡ŽŸC–Ó&gKc§ØîH”ÑB)˜îxí½ž™¤ffl ä1øÍH•:’sÛºP JjV’²u£âŸ`n;Ѩ†™"&!T#ádzHCQkôæAå3AŸÎR¹ƒ¤ØQÓ§cåûÁYf,C=üÛ\øÿq½Æ^ÆÛ1éº= VA#PYóeÏA03q‰/i 7ñ÷|4ί)è*ÕH?ñw$ñˆQ³N^â%ã.—~z¤õ&ÚD¹Ìz%Ë>j®älÓ‘žÆc¹þѵ°¼¶¼üϧá÷0wLk,°‘šÆ8æ„^ª¤»ãÃ\°°D„éóZÚ,ôª†dÅ a= Rîâå–ÃþÜÁäðjSÜvµýúËêWdÉúÃ䪈.³"QèJŸ@UKǽ÷¿»÷%ˆ‘UɈ4¾óxXLgƒp#¥Uç(iCí«6ë;²+Àyó,ℸ¼Îv`&ÁCÖ­[ ïoQ¾Lz®¦.Ô·]Ñ|Vú“ê×mUm¾‡7·N ´È®ÇÐ_bŒíÓÈCãÉ*¿®ú¬5<цv ›Ï›>Gèõ2¾!‰ÈùUŽU$™˜bºž­u–äí…¡”f©ÃCgjã¿/æÜÂ:cwa(b1> 7‚Æú …Ô§èH)ŠáÀ¸~º"öÄÕ m,ôSp­­áXÃãŽáö¶ëU çËr³IPNu]ºÐ j 'B¼Ã0köà[hp‚¢½=NjÕ’¿G#ŒGØ"îg—´™Ä©7” vÏúø­ «ï©LCïºüí&ö˜ ~V1¼±½c`²“ã ÄÚø[q°Â„—“L5Œ{]þÕo¹¿HT;C[®´±y  W¦•œx*•`öŸTù ÒŠ¹1Å;.hE¹Ñ‚¬ŠËéü.'{2![%Å'Z‰è?ÆQÞEŒÿ‚ªö¿Ÿ’h4T«Úf…ôRh¶AÉæŸUiWK§tÌ.Yð½ñr4U„~z5¹,ùUD}_µñv 4‘ñ•Y4‚¼*Ê,1Ø#÷%/*E<Àœ¸O6n\€Bî«öòAî,÷^­ãËpË[¬¾S€ë½)Ýý,j2‰‹&½ÖFØq?©k[šñô,%ÈHtžrã#Mµ{³%¨q;ðÎt³ù ýä: *£¬Ã‡à&P%v²²è¿¹«©‡Ò ð fïyÏ#¤\¡T Þ -*ŠK›{oÇ`M"WæšßÖøë~º !yìeM3#7“Õìâ²XFÛî s¶ÃÊd˜Kq&ézÙ=¡A¾°Ç~ø£2¿ÙzZûìË£[•XG “G½k€Î^¸¦çÓ•Tªôk—%•Úµ}~˜$k7¤Ö®i•º^«{f?²“þÿ¢ûßi`m->®Çªünr2!ž’6·÷Çè¬mèÄž2hÝ6¡•éx‚2öšÚb[•æ •B¤â†äæWê8ñç“„Wûed"àÇ·¨r£¸>Bß 2ŒwÛ8ø&êþWüœÖ~ž¡½@Ѧ=—!hÚÜv]˜ðn©Â\؆§ŽX•$±/‡E<ºÇ\€»Z¬3‡»«+smG:å ’ÞGbQ®ˆ1y 𠩈–õb÷Ü¡Ãèßð™$ËçÂK…vj”áy²N>éurqü¨ Ý_5|ÇkTïž,*2û3ãXº¦ ý¨6H×eN£ æ×¦è®ÄTŒ mý–uÆ:Y8¾õ°M÷aµ¨9’Ýy题ôz0™Cá½ïBWŸQ^ÂtK¼¾°PÓ9“ßdz5Kzæ ØÎlø¸S> ;ü/ÌC¿ßÚ}:¾f×Ýd# ´kæ¥i‹î$8=8æâŸó¼Š{᫤v0ç‚_àO¡ûËoV—ú²gò k0)ÍA,8ÐÌRެ䵯œ[ ‰_¡:âk{6àÐ­ÝØhŽá~¨a6⇂J&@CéfÑšïÄ#É·Íh?-)᥿vÆóàÈVŸ«.¯Ò•ÐDXõ¹U[=צYPò2OØÚþªç°0<¸êp&„ç4ÔáFZ2©1âåX^0*êñ@Ñ.°ªªä¨Ðo}çú§špnËîì—_ÛpØå™®˜ ¡•@k”Ò?]}B ˆ~c•–‡<Ò­93‘wg¡1dß‚—[|;áï C²„Žm?0×áÅó] Nüχ”XÜÕÐ^C‡î)Ý,æ³ÍŽús‰‹]$mB'[Žc!@„7š|œj–yJ—ÈêDíTßæ [kn¯×ã|½tl»QTŽˆ­Èé1ÛhþÁB/»#à%Ôë5®Øü‡{Ïß#(ˆEÖê[2ŽêdßÑ×’%c–ÆÒÖÁ: M`ÒôÓ6‚T’¤Fq Ñ;¸Ðd ï£pùg™M¿Y—Ø4¾>«48rp—x¨¿(ñ,‘2ó2¥->U0ÜXáÝ+Xâçàgçò«c:R-È|é¾Cê@)—Gè l ôKx_ZfdŸ£O¤z˜—‘JœÏ‚Îó•Ás“%Ïd£»\Õµ= Š]]Ù z´¡6BøŒ?b1îw;vœ)â/k®.Å.†£%øþëš_©)Æ5€´t\ŸP1ˆ—Ødàf´úV„¯;Ñ4󯙤%?&s±ÌGÿÖíóϻ䬼±ËØ @QL1-£W¢¾l,GNlÒAMAÖÒð·4ò¤ù‘–^(îià´².* '=×ÍjPf f0œÇbëÚß6Ž*U+ªHhJ r‡`P·Ç½)û­z>Ñÿãâ‹þf‹H+ˆs7b=©*’>&¬xPã}&²¯ºy/–÷+6š~áe¾;üƒ1[cx—hÄ”'ÊL{OŽ…Í}¿Ó¦íç—›\€J” M›“mmøLkÉ ¢„)½f+}ké¿åmŒú&Ó5ÿhïÆ>¹‹o‘¯A⃘¦ÈÉ5a<ÉrLã±R»’ø~»É ôA'¹ÚÇÅA‹:“öÃwt¼K]-ÙNEø¡örƔ֙m„¼é Þû½÷$>Ï·øAá] Æ ä9'N1=ä…ÁÇÄ ßÔHÊHò͹ rÇFÔšuø1VìGh‚74&4š.·Vè#ìÖ«Ž™q*¶yp—Q"ÆçóÝsen)uô׬ô?ǘ–­œ“ø´ÌãêNÕBíý?½=Äüs[Ú`㻈É/»P¥¬EW»}ìL³z®¯Ÿ(;.E¶y ƒ‰3` È÷{¢ ©œP/ùÛ£‹£¸*Šƒ:ê\úd‰]ºßÓÕâZâØe.ö5tÌ!èÖ~ 2Ô¬Rף맪[.èNF‹;A åsý®pÁ[èÈÍÃv‡Ö*"8¸Im½"ëÿ.“ÑÀ#¬ï“˜'²ç(4ÚifjBáí6 ßß¿%Õð¤ŸR®¦Ç…/ÜfˆÀ¡a“û Õˆ L+4®Pm =¨³»IVmmöQ¬Ô[Óµ½.g M…zBÎä½2“ðµ9÷ ¬uuUyÚ :L,ƒ˜~^>e]-'µEdùyûÝU-G,Œ #n"xÈÄõ*¶ãwÖ—O¬8%à"f…p±½4Úö¡iš†¼>­<[áÃ8MúíÉEýe®èK$"˜(y"—…Lƒ°ÑáÇÛ†½æ²K‰.úGIÙ ¨1ðãBÛÊ¡†SÀ‚Õ¾Í'`£˜Žå>õN¤®E¤Î'Ûú?êH„×*8iŸp‰EdB¯–ŠŠä WÕ×ÈœPLjøzº½@´$‘”ßö”Ç»W} 6˹Ê(7C–}1¨½|ð%9’YT Â]Lé–pv ’ü·s`:”Õ€˜c‹1퀱ù¾G4éB'f,ÔŠ”Š÷è5µDËrç_suΘnÕØƒ]`3£÷N¯pDÐq íç n£­e p$#&45#§*pZuxòHµ•{õk±»£«û4¾UK;4:ëÞú‘9öx|Â7(ŒÃïÔ"Ô:§I®‹Ö3%¿™Æ„B¹I'Á 5ð X\ËZ¹¿+àìÐ0É>ý7`]q|YÇÝh?•JŠþb~ô2’êjÁNŸ_ɽLѼãn¹éuj?٫˯n[q§Ö´ï‚Z°óúmÀn㎆‚]…¬037€-+r[ö•M1 KGÎè<…嫈üŠd ‡aèØ'É~JO×Û¶Å_!Îêµqpñ)#¤&+\àîè‚ý)p-ÅGB¤­ªÁu†i¨3B»/‰A¶d*]ÛHŸS¤5øÓfç…êÑ+÷û;aCláâÁ] ä\¤¨4úuëoÒMgÿ˜'b‚‹ô|¼lzceNiмní¯‚†ÓðÙg%’…ü³=tîÛ\MôÁñQÁ Œin¶ÿq>µ‹¡h¸“=£QÁFÛÕ°Å|gõËšR….¦ÆÃÝ,­ DËý*™èG‚ü H û„fÚÔ_/˜ùÈTBað@ÓaŠã~  f“Qìq=¨˜¿:ƒM¹$øœ·üÿú ÿ c"n&¿1 õµÏÀ7°ü3¤ßI‰9^?â¸æUkÇüÏvúw¡!{E­T<ÆGôØÎj”Z…_Ìy…õ­Öš„d–J'Å*uq0ÒíûôFq Œ*˜„!m½DòH8FÈ‘:&Å[í°V$2¬sèQ̆ïV¶ºA“ýmݹ‹ $‹ò6ÏbõpF(:«'ÕÉ®9>² 1T*Ž aÿ¢Ž ™:>!EX·3\ìÚŽ¹“>ãZŸ#ÎSòi—‹íáEÅЩ%¼gÖ®rŠW΢û–oéð)p˜Po0.ðèÚñàZÃÅ´Ð8‚J1MàJñí™ë_K˜ ‰ø^…Íz#¢U²ë´>5þ…dšðR?¢étö÷[œ¢ÓRön_s“/lÕ÷Ypx++^ÕôcBVVetÓÒ+MèÝ\c#h÷þM.&é_ ò ¶)|Ø ënÅKœÛÇ̱-k±:×Óg<Ø2û—9Ÿöÿº Qm àh\.gùÀw%ÿ‡ûz¯pƒ´–Ôt@Çj£5»òÐ%„&a‡²Ó)­TÕ„rˆMJBD kr;Ýó(!Æm’Å>v^“¸Î)ö5ù^¢³ÒAl¦¹l”QòVÑ´:¹ú86¤¯GcŸgìê[C2 ëÉh_UÓ‹’*ÎŒ”*¾»ôûZ~¢¹çËú‰©ûDoÝîÙl,¦"ÉOuŒ õåÉ@WÖSвi›—•I …7Ùªµ/ë.ø…NZLÆUÃ1ø@Q#'6±>âÞ ®—)jýZ!’ë©Ç¤Ü)þ{X‚»g@u|uŠâ·€©[³„s%3Q¾˜ŸŸÃê¥Ì$úðŒj ¾äÑ+È{ǀÉóÉ5ÿÇô¬àŽ=Uv¦£þzûË]óü2éÇ'-{‚úH7:o'(Îú ÇÎjÇk±i;±”z@Vˆt x$þAÈm ƒ.ÓX@& ¦A’ø:»­…N˜ýù‹§Á­‚CãìÚTªXµ PàËyÞG•ZbîÚ‘–Öó+ÙMêÛþ¬tî/ È2è»Z®×0êðŸÔòöv/|âËzÉò]yB^ñ}5TÚõ½-…’K1Ž.‹Þšu!¤“×L ¬,,§½©MaÛ0 ª;¶Üô[_!¸ÒåAUÔ;ˆYfaUn4ë«äþ˜òE–ꨙĖ‘„Š`«2;ƒr=]~L ¶Ê5ªWa¿—íë/b¼®Lͼ“Dß^_ÈSD5OÇ9~n®Á/ d”ú]—jþp~3þ;;#ì$5ë][çÊ…u…J¹o\£|G†!4ìGÑ]]Íe´Ýönþ y¨[Ešƒh°_-¿SÑe‹sHDºõ’›×lÍãvÀ·Sæ8­á!¾T?˜ <ü:ŒÂýýÃÆ _ ruó8ù2—ødSþ³û©ÿúŸ‹“N¤”vO Ü’è žC±l|•lJkC,¶tù°0n)%?Ýd«®ò—c¶6’ú@Ä”—5[ã¦Wm@“;‰ »N¾/œ±ˆä·tÿUö¾C¬Ëû0 $ dƒF)ÊÍæ½ÝDoª-vŸîKç?tù.µÞeÈ1’öjLÉ$9vŠê¾fe§ý§;fh[a¼m*Ç’7Ð2ŠHž%~$çÆuŽ2!*6 ñ“Ÿ©ì¾K¯šG1Þ˜k.õ†ÝÁí,ƒÎ“bŒžqÜšXÅ¡v'¢ Õöy¡p×d„·‘ˆ³î¤æb5‚uf ûÒM‡ÚRðè>ĹNvð–½ô# Ãw ÈdEÐêô.£å*ž²ÿ@ÒéßÇ#¢Ö٥ȱCvØOC•‘ìäë‡åÞ7¶ŠQ¸Bæ@$zÉ:›Ÿ­^(wšíò3‘ö@3z %K– ÃºÉ÷wÏ !Ë÷™w,“ƒÿìÞñ]BMxçIY*`‘´'Ũ¼œ~Ò§àl ð••ð%àPª™N-MvÅÙ›ñÂh”ÑC?fÖÑ}¢aóvºý IxõOþ/ѲDÔxhÓÝrU\ÅÔÕ ܼÓÕÔRKZÒ«À¹ü_¸tb4/D(©yw‰ œÔ'‰û€0às–Éi½ÂÂKﳜól’<¥ô1£&3Û~““"®Ô"¨;œÞ:ùÔªjö‚;Õ“Ûy!$âÃÑ×V5!¨î»KYSF*Â+‹žç9JÛ=xæfX3¤-O¢ßyòî”,m½Ór±ðh£Â(°žµ®õÝŸ¶l'S(âò«G}`'NŒPƒÝ;*@¡þ3j†óÌøÃ%n‰aá>ñ¨¼?Ôî™-/üfZˆ+O_øÑ#¯–0QíêÐÉHÍÒ¦x:LÍÒrÂ|˪¶>w 6Æx\{¥3ßæÆÝ=Øh£Ë Tn»ÌÑÏš Ì¿­Ïç¸ëB–‚î°ª ×Ö6#’áè„îxX]›·3" [D÷2—©áñÊj±ßò¢%´)pìŸ:9t¡^›W?ô^­{§Â?)kâZÉ|9´ÆÄ°ð¬E\à> ,Z PœÅ«sñ`ðÎ[5ÎEïÈ•ìv‡¤ý+н”Äë•t¡Ö…ž@m5] º-Þg6ƒþôÎ9•ê€X§qÉcfiž™NÖ•’ˆž†?¦î=Yý¥{z¸š´]‹¦‡‘ƒemÇÛ¦½üI|ß“K Ù(8n¢pL‰±ÇyíÜÒN öÿ»gxnþÝ B¿W :@¶M\œÒ¨&än’€îE ܺFŠWÔ›GߨÀŽ ¦Ævº{{°Fê'Ä(ú¡×p¸¸)¡­`0¥Š €ŽMcÐ:ŸÓ´–“yv“Ž£Ì€ë‹x±D_ÎjH1¦›‰že²AD\ÇnM(-F:h†¶mù`…]×qãg!æ×À‚ ̈W-º X¯‘øìŽ sÎ0ýZ½o!zÕß_,‘Ñ~pý€ÿZcôµ‚VSvv P›üÇ_‰Ù'úÖµ_nPâäZpÕzÍjñî1¸¦§‘_FÃÚ5è?¶¿9I…Â)ŒÐÒJ+{¯†©v Ýžkׯc t¯æ_äý)ùúÅnP HbtÃc¼¦æW ±ŠãtwEéþAb{AgŠ$Õ€ €‡½›ehP`#¯.]N ©¦”Ÿ;vÃu#¾GŒ^g”pg å±/üö¹q9¾†öâ‡p,(KÒàæX„È‚Yh XÈa½‡²ƒ‰“§ÉìBÿÀÊF&vÁ4¾”Î/ÔïhÉ… ìÇO‘«nÝÀçs©jn‹ÝVÐYI‘ z¹DƒØÛájNôÐ%•}ÛÜõßÝó¤íz3UþÛ%óÏ¥M´’׈m”Ãü[ð´•¿Ýá+¶`˜éFî¨È·$¦’À«Î¨sŽó=5÷ ðPć»V˜›åY|ù1£À²dµ˜{EÞIz7Ћ–;Ì7šÜˆ_\¤%#º¥ñÔ«ô½‡³¤$dQ~ÆTZèÃØÀþý¯»¸¹+6)Oõ+§”ïÝñ*/øŽö‰ú&ˆ@:eéô÷5È^ªæ@u¬›#ÇøåDÛ’²£óªêM7f["ò¦U'!ú{#ÕÙ¢vµÏ]4ý{yv!=>µ%t]û¾Ô¥\ió± œÖX¨Ö½ÿÞwvéê3ªÓæüï89"C%µ /ÿöXŸ‰0bfpHD-¾½LôÓí씯ɓٓçºÒØõjB¼ŒãÕqOäT*tS#³O•Àÿb(Õ ‘S ôɪœ~o™—×ø?/ZúÛ[Èú-—~o¾[Ü3Ä,Øùu&v¢Ðî5@î„ Í.KVûKÌÓDö-bìƒõŽ®÷ùK [®Äâª\’4~³E.l„ð¤„`¦m.1súŒ ¹0ýNßÛz޾Ü)!¬¥×·ÙUæ[&âãí ÿ@Btˆ·ÖÇðèŒÖqeßÒ ¯w]£ä•*uŠ˜â­~Ä[…A؈&H[KB¨˜Q`µ…õI T保èÀ;*•f‚ ³›æB͘–dº»‰°.=arjŒ+»ƒPÓãŧ£P}&ÍÚ@€Qú† oÏi?ï ûZü~'ÓÉsþqãpž9ê6ƒ³8™«Ø$HÓBÑÞÉr`vÿÝö!h„œÎ™Ìm C¥`¢4ªÊ¾·.½DxSc +[hkßbÁ•l†ÖÁ÷D2í¾í –Ç .¾ùÁ2\Ó¤º"Î\êU“йÏJÇ´ÄTôu„;Y¯Âþâ;(²²¡1Ï.ƒppW“—ëdpqHCzò&q)“XíŠJχ¯ U»-¨þs,€nga¹€iU%*7[²Íº.ÀNâ‚ùú]EF"‰€ÁQÇò¶$ ÷}¹á»h§º,ùxûûzM‚ÌæénŸP²"Ç:‡ÛÜÿ`ÇHÌ~ÇÑ3…Œ3Ùûà@pbXò?hKÎ [Sˆmç¼ü2ˆ,ìÐì®Ñ?"xû1~÷ ‚Cj¯‡FÙ9àÊú.zþNÅë]4Ó´„¡4 $}&ßçMFÚÄ-1‡€r¾@ÕË.ÎÔ.ɽ,~ÛäbZ,—Œ Ø©Úo•Q7†6Ž`¡VµÄ…°Óé8(½3rçxp=¶çlª’nÞx˜å±³%sÇ8_ƒö7J´ÿzŽ£Û¬½Y:NœqÄŠy~%ˆ[QµŠèQ âÈñù»:ÆŠ*WbD¤q)~}’hÁê2g;¢uÝ’òIj)v´4;àAˆ\½›û Jãcœÿòä ðž‰J'aJ³¯^ènY|iµ€é!OÚã…ÔÒa<¸ãQÌ¥‡0{–ñö­5þÑz{¤2¦ÔÅê¥Ñ¾n÷ÓxLÆ#1rØ‘•(DÞH½‚lŸ|ª¹eÏÖÏTóGA ð:ä\ÁvÐ-ŨüþÇBÊ×éÒÞ\"DRªMeq€N)&2S¤ô<ö* ¶H $´;‚*Á µ ° ìÞjÍt§ØŽV©×÷‘žg“–”á>ÄîYùÕu®5Ñ–H‰V/ú3‚”@¢SO<”Iž&!Ùyb6¨57“žàs+5¼²0M8W±4kÍn‹‡§;'Ïc]Çð¹hàÈ4tlYËÜo¼I”ƒšƒqì`ÊΚ¦;/úÌŒEP”D¨%–i‹{1xˆ“½dßFˆIåKWU·:k–KÉñ3ûuÅQ?fЮÆÜ¥“?Е‰>“¿Ú0»A¢ÛhBU=ýC6Q^ÑÚ¹Žň+Þ¨’’¥8y|ò`ÌË[Ú©æÎD{Rº½oæ 0á v‘Yú—ÉJ⿈˜ÿ¿½©fØñĵãZÚ:š ,%cÆ9¹Ç=ê$g_%VñBO#zBÛ}Û‚Áˆ".¢>~ëm#:Ͷ‚=fG\R®O6<Ò%ê£6ÔÁ?aQ󂦃œt¾$¢wÙs >…µ¥¤²ÞŽÓÎÝA]x'h]J™ÀaRéB®]ÈL;¿çx‚Ñ,‘e{=i±h2Þ®o 5î\EFî–¥û۔ʥ7Ù蕜½¾v…ÃÓiÈÀÏ»î-/r9W»R^ýbø2—ÀohÀÛëz›˜¥še‡Í¹t{â ‚]l=zo8mÚË·¤š¦i^SÏg$¯|ãÉΑ‘‡š"vÄG§ÜËgZÔíÐÞÐ>?HuÙ壅þQ99ë×ñ>ýÅ·Ü=rËßh JÓ«ˆÐ¯âÜ¿ïnù& C¨¤ÿX ccRJI9¾° X õ/c˜Ù €H à›jZF茭½˜Ë¹ÚiØ»þöÍ¡M]âÛ¯4ÿåùHÍØÂ®×-9ætúÌ? Y` ‡Ýœvì{“‹n÷=íR9¥Ð÷5¦w4p»rIö}â²qhTðNqVžd©‡• èË£äÿ•çB¬–¢Õ£ ÅØ+\DÄ£/é¸Ú×pC®Šà\=Cjú \bã¯%ß¶˜gx‹RM-’H.u#ÓeþÑø+—Œàù‚ £÷­SÑZ|øM€Ì•“×|®pMµ y{ÝCÿ^ÎØà§´u_™Q-žû“&L·‡fz% ôÂS¢)?B&¦`sX¹/ÇU&8òã¼jœwæA¨œ»§åAU5õ0uNä{ú±DU»¼õM¡òôüɹÄf\MÂ^Jð´Hõó0BDklº;Ù{ûÒíÇ1×–/•V÷cüˆM<°›° ‹²,„Àã•ÙñÉghŒbÁN!«°øÛ¢hû”ß°ÚŒ‚äq_õå5ö¤æÃ’Î]X—ªÉ¸÷£Ï5’Üæ¯:;•’\5†çMÿ¯ cÌé‰÷Ý;(ÑøP*Úú“F`<æ±do_]µOPUŒR¶€“9€d0—lÉŠü]ç‡JbF?ƒ3€.ú÷mh£WÍ.K.Ù2Àû{N»xo°ZÒñÝKäÿ¢ªƒ›Ã8¤©7›8ç•B_­¥’> Áî£÷BwÕô;Lú6lú¼Ÿ«ôM0‰Ÿƒ;Vøu¹¬0ãdϤ“>ÄëüBZ=­ê‘aq -ÐNkµaaðž›Ó©›ï²˜>Ëã=»¯¾Sly˜B>Ýø4l7gZ¿±%5»T_ç׉eTdÖ(¨åþÝ«ÏÈ­Ü6+ÏS”&ºH3XIs:ý†dxPq¤˜'Añ𮓠nž Çå+$Ñ´«ÜG¶KCº]²NSÿñ¶Z~þÄxð»—û/ÑôÄ–üŒ6"Öãg•EP[ü?b5‹ÿâ’©/E²Ùýâ÷‘MB§+ÛËñ”¯jߟ`0ß^r¯JoyÝáìŽ=ýe:ÒWç˜Ì’¾ÁºÅ?M~žÁJIh•ƒ'®jÑDù-Q9'»ÝZˆ¹§zð¬ŠH>ìqf.®Ç£a%¸Dé|í<‰¹ÝÒ†¨U¥qÀ"8ç9RŠȽé¡znë¹,8NüGv˜!‡z¯³Ehp]j¡Æ;Ó\ [ݰ¸Ê^X¦ß¡6@_Ç!O’% €tkÍÐ2¿F0µ½ê4œyXé=!² à˜9]¸bBTãÆŸÏò;S戮¬Í¾g»ï áß‹Á%8ÚJM ÔËÍÁ¬“k³*?$]·t¢|L%yÆU‘|`‘«k“~ãKÎÍè+0ûNÈÙÝ eZiÚS ‡ŽðßÍÍ Ëpa¥™ôÅÏS˜Ñ%eò‰M!8™ƒJVÖ۬ⲇ{xÐX!µ0õ˶ Q2§$†ðÚtH’`ÿפ¸]«­¹¼9IŒ’ÀB}ÍÛ—RË÷?ÛxV¼–pÂVÁ½€˜¶f÷¾æTôô•Ç»æ~rfø‡ØãE|Ó5òŃ8e™(ï»ùO´0Y ¢¥Ãmjy–=Ê ’¬iÂÞG$ÉØ ïi%ÈßCÈ牙(&´_ufq›MûôÊ_ÝÙ†0HØè‘K8¦m£@à‚j’V4O?åk8Œ,ÚYXˆÎqwz·¸ÖÄŠrˆžñ£X–¡i¾Òâ$}r.í*ØM FåTÍoð[(YïòzË›â•\¹RŠ¿§Ìrâ\å HŽìKmÊÅzŒ-?ò™ãNKAgõ_8Ðì}a! WÓÅz‡‡ þ=š‚ 5*´9g±+½r XßZƒ³@ÍÃb$ªõתËs:»È'vþ¶ý™¶QŠç¸£Å½Dg™¯dG9½O楈Í(aÐ黣bLjÖ^–Lþ:à`-þÀ!µÊIn$ÃEì|'Žbûsì:·n°,R‘§=s±Ñ¿RÍúˆ cEýÍO1\øÎ‘ÄqÀJ‚c:ZrT~\iÓ]àý[5vö"¥áERÙå[·¡‚€ÃŽ}Áo˜rr9rM‚7Öº€"o:p"Ü“ÚFÓûÒÔ Yü‰vÿ*ɹ¼:xŽ“Klpòt!_×â[¥£iÔ¬ßJ7^3Y3:‘{¢‡šGVAI÷¼"WÅ*Ÿi³¬ôšö¡HÙJÎI(|±"i{FÝíƒaÑHò«”ÚÒÂF(5ñ ¨q=ÄdÃÄ÷5ÎIU¡%}ÆÓ­ &Ùúb¶¨DÓ}>oª¿N„§É‰D"`«JÛR~Ňr6‰Ã¥o3äáÝ>33÷’òsó[ßö²Ðê®qGŽlF“êà/ü: 8*ˆQŽãƒAær!“6éªm„ðeË]ÏèÀBhà¦7CQ¸–š–Ä%.W?Úõë| 5 ­³èyÜÆ äžÝMw7òÎÞ$$÷þ¢Xn…§ž‰k°gdSAE§•½gaQyjKn]ü6VT7bÊ«8{ßàò÷ë tNž6¯·ö¦S˜p+(³,Nª ×Q2ï¸çFs|Dõ÷~8³QŽ“‘YbÙ.ÐW,ÓûjjŽ|$ÆàÕ@œ(3¼½µÏDZœÆ"¨l¶¿0̽í–CPÐñØ ‹ÄOåÚê#·ÏA”‹0ój"ÏèZ@"¿L(î ç"œÁ^§¹QÜjö9A¡*)Â6=ÝëòU’A&¦?QaWe³¸˜™£dûuJ«k0…Ϋ+%Ê\À4À“&ï©! A2ƒÐX¢|oå;_—j0”žnSÖ M¸ªQ¼¤ ÿž0t±¯¶€*#d‹iå¸z!¯ÓÌ‘Ó «^fÚ}»ïŘùÛú?¯i'ñ¿¶mà2¦­Â4o´ ºF Ââ—b…skÌ=tï»ÅLq><›Éíª†&ø7(é­lÚþ¯ySàè”±–x| &#qúT³i7Å8SŸ92£†¸´Š6Jj­*9À ͸ùßåEÜ®ºð å"Š+@Il[ à†¬‡Ø ñzª8ZGØÍàÕÕo™+˜»ø§:ÉÿÊ£8,yÅâ9ãžc:¬úß2oÜí’7Òujp¹)ETÙÚe\ãQmeóÀM¨Ö~tÎZwÃçÛPê­\Ö!Š*WÄ|!Kâ;OÏîÀ¨Ô X=Ù­õ¾ù Ôæ ¨]FœyBêÄI¥éBP¬ˆêÛÿ'çÚOµOÂëv ËÈlï‘@&!„°Ú}táihgEêNuËêÆŠ]•8R@Û]µ¡¥I7­O·7&ô^ÃÎ  Öä‹6Ó”¢Má,œb–^²wŒfFö§ùêC€ O(‚•Èê‡,Y«eÖ‡ô—Å¿À—!Ò =ÆëV@œô'—u+û8R©8ÕÆU÷#L‹v=¿<,ÿðؼ~úlnºN9ôK¬½† ï¬ýð(vìÒ¬_›‹žtµ‚5!âìaË["þÐÆqô;þÁžYèñÛŸ—Ú æ3V ™œ¨ðóåQü.ïÊèÄíßK(þúÞ:ý”RXXk V´Séš"§üN¿4(ùØÕ°è!Cî¬l+œ²\LÒo›²T˶  ܪØÄ·~H¢ÉOÿ6ß¹Íkr:Ð:èô-Tt«ïo!g‹JTy÷oí=I:sÛlõƒ‚Y›šÈñ²Ll Ùƒ°^ýÓ~¬èäÔ »NÊHBÓŒzyÈ™f—™Y(/?‚WB&9e¸»ä9Ÿ/Àò—‘>+´ššÆöwK˜CKMßéCž‡ÙúH(µ*¬È@Ãú“¸ÝZéÎqº.5q²OÔžU:Ze‚xíÃsV‘ ‹^óت‘dlà 2¢¿Úõ°”sŽø4àÙ.>LÚ€Xœ­Øù2ê%+C* 'Œ.ÖýçÝ”5¬ÄRhöCî><Æ )ê±vÒ^€½¾(¶Š´Ž’*`ËΩ˜ë;ÜÃôÀà0ЀÕ½?p) ¾.‘4V{³t^j'Þ1g«ÿ±ïäÙIÕú÷ ]dÆxš€æw Œã c ðãq²äÞ׋¹"•sy²«þg¬ˆÕ}5{›ó—Š·Ûi¢R}§Ýdoùˆ6Žs‡Î~!=dÍÚfá@’ßd^Æ.AŽ|ºäv}W&ãeÞAÑVYä]—óå!ÓÜ Îm¦¤%×5gvî¦NTë–ýÚ"ö° 2ôYØ6à¦IÞ>!r#3M}jª½Ã±ô 2hDDÓ9à„1Ýá“û‹a„z,é@èÄ'éŽg)e®8M6µÇ°ZÎÔ—0qz#”æû²¡ls×Ä•¹Þ±ûß6}Ûå=ñã°t‘ašÈQÞ²CSc¡-ÜûÚ",¼ƒ9¯Ë–DDC ìÒË{âÛºP^² ‘jÂQ:º -}i‚س‹¸¦×ÐàÁ¾“d-3³ÏT&ÅpXy¢ø\¼cÕ¨6‡¨+È*’žD&uœŸ†Pëô  ÍI˜Ñ»¦`¡ñ…К›iÜ D<—‡·L·M_ dXf›z5uïìŠ+ïÌQÊ= ^ ×$½w—Ñ÷×K3M4í~^ùÒìë|èV&¤­èQã–.!q “zœð¢€­ÿº”>æN”®Eùש³yû–Ïåhñ»Viµ<Ym®ƒ0]Œ7+ÿa²ÄÕnáQ[sº,‰t=¹mÀ?-¹Œ^?*ûí{(5©{»Î蓌ÖV¸ë˜]Õ«+fãYÙ[F¨h+“Aª&œn0Eu’¡’æ¼s“!„{ÙP¾³ÚÓS³–HÝÔÖž§¤SPG²Ÿ¢s‡Û á4ï\ÁºÏu@$”Ãɯ7Q€†#‘—\¼sšéS.xÎ}W«"·éB”\©‹žI¼&Ör **§Á^sœd³ÚSq!ýyÚ …ÇL¯ <ÄÆuÒIîú&­Le"â™{õËL?¬°Ñ”8ûí¢Úª"Q{)›-7žÇØ;´äôBi!Ì\¬]õ›!ëÊÆ¥K÷ŠõÓ0tˆÏ]YžP;R¼&ÍêÁki0©½úE‹ô…¥nýl—é)ÂDϪãͽ˜´Òb6ÅÚ…¢rM ²–!pª{•På9éæk8É„˜¸KäVfî°ó” \‹Ù7öD ÿŸ@ðæ-CfØ8cÑQ ¯en.}Ρ-~n†XV'ä=¡j°³ý›2}Në Ùfk¶YŒ…Ùëƒa:ª÷qç²n’o{R;~÷"+¿¾ËÀÒ° ѱ„;7üenÓr±º†9Œy“jóÎ ÇL)zQÏ7À´l¿[B–œÑ^ê¿¿æò¨…i©Ë%çy×±±=ú&I!A‹$» .ÆFÁX=±[3ùw-6qA—í¡Ê£äØîzZƞ콊EEW*ÙTÕµ~4ĹڹwæßöOVpê(Æ—ðËY \£MQó}ÖQ/•”÷É_¡qžuN6¾š{«ÜVÏio³:Ê;ÅbV?p2øüçîù%§êƒû³C,·$nþºµÞŠÜEÌà’À{ì½¾«®¨ Ê+”l´‚-¨Ñx<Ž/7²f‚ÀA{׈\s“™Î*š¥I“&ÞBVdÇ©Õ ûÍ×XÃîD—± `½‚¤ÙÓ8˜ÔW*œ dr¡5wx®½—··ÿ'‚œúàÉ RšÉ)ûVÈ@¬n$R\[ „{C\@Q…Î.°CÚdÄM[{öŽüÎÜ=6Ø9œbIX¨a"ëmŒ\Iˆ`òÈ‚;^,V ÏpµÝæåøIâžÀ1ÄÊn‰Ø+#á3 KÀäìRzƒ¹:yàæŒéæ پѫÔë*;¡ü;+6ÑL÷Å.Õ De™X… X)Z KTúÄÙ2¶/Û‘"þ½>(R¢p¯Ûœù»bv§I[fa[º—œöÒ6ÏãÔŸz(ÿýÆ= 0þ@½ûÌÒr5B‚}m ;â1€§fàœÃWÈ4ìFFåTåy¾MëØÊÒø°Sê&€ÙIgi0di½Þ ¨*†hz|\¤Jßž‡}!pWe4 LqrH·ýåÄ/µ6˜ÒhÖÜ>5xU.¡ÑO4ÜÅ :ÓꆇâsÅ$&ѧý¤êü'¤@€xä}Û=¤äT/â)8 ØvVèYP‘­×Áů§§ÅN³€“¢‚gçžÌ =`÷„… ù¢>w“í¼©Ñ™ÊAiÞÐZÊDTgŒ«ÀV†ñʲ-`Pu‡™hëŠòžb\Yµyé†V#–Ò•(·AÒE‚Fè^žÓö•ÑY:‰‹…úè–|lƒ´{¦.ƒdº‹È'I±d<ùH‹þ‰úìéé•F/.tOÕ¼¥Ü#/Ç„ÜMù0ùÒ‰Œ¢%¸”ø5ΰì*Æ6¿ Ú§Ô› Iž¾CÈö%"†h¼Þ*+>ñ`oƒ—~§Ãœ\˜ºn•l /)…\ÛÒ:ýg&PA˜‚wIdæ4‹—*†£ÁRÓ–k5äíA0œŒ• ÍÒ©‚¹]èù æ"­%lßTEªã¨†.!öàØ¬ TUûó zÝuåžAÏ@²q:i»ÿÁ«m~u’'E³Ô~Ëœ³ y1Ø/£ª ñÎ!ÖL©ƒR Gj²sw”ûe½ œ+!#ÜíØÓàiM)K+þ ÷JžÉ#Œºbš±™Ô@ÒÆ¯\fÓâªDØ¢dÎ Ì-"O¸µÝæ|AÐtʯœ~•™CÞz‹)G¡1þ¼]¨¬_[~íCdv$ƒÈš7‚¯†bL>[rÅ~•â¡t½åü%ËtÜS*`0êä1[¼¸:[&>ºÑ7©Øð›ÏO¿=¼MKU€Œy¬ŽŠ’½É$¡9˜’0:=A ˆð+²Í!^+-¯U´°<Í$“™ o*–ÃŽnŒóyüvt0Kdì"CGP„‡­Â@($ð¥ö7:q² T•dµòÔ`¬¢†×NïÉ`ª“Nô›æß둞ÐÍ0( ¼U!rZëŒ~숇RÝó ä=ø±ùî•MCì!äH‡Ó‹ÆS¯Ö>_je$ÄŠø«Ka«Ún›:û«Š0áhD“óä<üc×sd›íßq+ãÚqù$ïÄéŠp<“%ªÀ¨Ÿpæ¯]·Á]î5³I¯®Oûç]²5pÂHd’(~õ࿲Kî.½xø–6{ áðsª¥OÕ [Ã?À-“KFµ“.´TóSóê´àgÑWè„Wu^1Ž¢ïK¬þ‚²ãϘ›¬HÂæ —Þ—?loqÐÖŸ’ ¶4÷½=!_¨®T›)¤Kqai2ËìÈ]€Í¯Ä/òÁ@¦óAF,Fµ?rée-NÚ¨Û?`ÖŸ2Ï'ÈuͨÉ줞M‘vãW–0:Á?7©Ù¹ámO/u(ô«ÀÉõ°kÄàÛ”þªÁNÈ ÌáZbƒþKܽ¨¶[8ÆóDö›:ZAÙ’æðy™hÐÓ¯KË~äi2"µžŸMŽÝl¶æã¶ðÂ8M¼Zž`üƒ:MÏâ——DjÁ~ÆßkbØvIzuœÄ¡?øB2gk¼q2àS•Ø×E²ø!¥öF˜Â$õ³_ñ(´Ë{¦ç;µt¸aøKJl¥q#\nkîv äÄ=“‡„¯qõüóú"´èqȦ£ÀõFÒ–¾ç¢E›ûÂL„-íOêμŒß–‚Ó$!7hSÚ5k<ø[‘d.ŒK[­\ŒTj±Î¤5)a̬ĵT‘*9f4ºFålýŸÖÝÎâä<Ð-eTù«õsÚ™<ç+¬‰º3~>ߨ+9BŸ¾Ø@†'Бó¦§Ï„Ýø¬‡p†\ù|p¼ÏÅD‡'9ýwY¢Î„aóûѨª àD<ñ5G-¦Œ-R¹ÚŒ‚1F•ß§ÈÒ# ãh=©ª³é7ô8ñ#½Ëa¼(¯Úoô‹ì —ÿüOÒL^rÔó˜~l”YŒ:8ÅýœrKÁ¤¾†}˜ª9Gúö íâI9ÕJp,lÒ!F¹ñ¤sŒ–u˜…¤6Öc\ážBD[ߌx|…’2<¹³-]>£”[Å 0^6ö[iûͼŠp?t²aÚWuJ4çc§O((s8‡l—E þ±ãI¹Ý Ï^Ð)ÁqÜ?f‰g—&Ǿ,/ :"AFšo½¸º­Š( ¶G­ð ”&~äVøÂ¡ ýAwç¼6„´·.ÌÝ¿ãŽþûKÉ& Q€ôîeŸ·®bnH²²\Ê»pŽœYå+åØvKc¸e íÊsÈÆ=ª±äý0׿µ7¸Hd$œŸ¬KY‚*>0Ô¦âÒåC­«%Í„Kç®ô_„Š]Ô7NGd‡ûw„ÂñÖXÔ¥j¶9^¥&ý¨!2·‹RUrÑ»ÿ ©Øž| ÙÄÍ*^Šp ku§ŒgÂ#(twð`Xôòo¾^PßöNà˜ª½ƒÅT0‘„¨çï?_[ê¿Â;àXêk…f·Hq­@æw&å…d^‹ÛmGr¬¾Î¤¨Ú`{Ÿåj½Þ+1ç6s‹m¡(hÚñ‡Î«½^Ò4íŸ:O} *‡vö0¯ŠGÂ|´ÈT [y‚³r/Ðü¿sîíj(l"+€tÞx<ìц¿ˆ*sLŽ=mÍYõ… }Ô 7žRjsAvSÎè8Þ¾B“_ÿ‚ýŽ6šV'¼Þi_P­ëø¢ VìBôæþ&4üªYjq@F¿m”“fœ¿òÔ¹alTHþ ÞBèŸÄ@’)÷øc“êÆ9Ë2$¾òuÍù8ÒÄÎn3Q°ZìgBmsõVü_ü¡i|ÍIl6šŸ×¾a áR©êó(°ì1¶è¶¶/yùý^ÞÍÞ1³L·ï† ©8&º€ósÕzn-p 7B§eÅœŒÎ.ŸûP¹@7v÷ *øðŠAµÁÏM»ý§|‡R•ާ¾ÚŠ0 $cîBÉŽ«^‘®*4ÞÒašo°‚%qV¢×SÀ™SP¢ÈU` T_ìÿÊÊ£¥ÐycìËu[~fEÒN%ø÷+†R.ךJ ¹vñ§H@l0'™ýêL†æ8r£ñ3pk ™èj5§‰4Ûé_m˜Ì~¿Xò}ò*ÝJÈé3“}÷y}˵þG•îÍ®‘ý$€¿¶f¼j?ËÉ?¹cÞªÐÛ§Á¨ËY¯lÔ7Ï ‹bX#L#P~"/Zxn«=Ñ·àÄÍñÉ2 «?cb.øÞr!ùvÌþßÁj°# r)¼jéZÒ7XqàÁ¼Zï1¤Z`v « E„4§¥°E³JÃ̵Êã0]gõ þ*|":-×S‡$®kªëm>¦rCCÇý”ª <é²åa¢#T÷îÇýöøC·jÆÞÇxJu†ß"7…ØéFÃåèQm‡û]nˆ³Í”ë?& 6þñrnñÛQ+ %ˆŽ7¥Åe›‡¹ˆN.ÁÕÛ׊<½|@‘Tb™Ù`‹ X°‰Ed ž@!¤(¬c’Ã^™‰ésöø^VÔ“×ÒO˜WÓ8ôúQÆí)=^£yX×ô‡ Þ}Z?Tèçg®öÂ'#IF$ÿ\ãŽFfÇ!¢ÞÁ¢î ³Z¶6 'Μ­‹5–Ws‘ÀY@ÖUNWܲߖ®B%Ÿ8ò×únR* RìÅVËÞa"dT× %ée»5ã×ðmS[ÙpÐÏom@ ¹îmô³{æ§oYy¼…U³áóSÓÝ!áÂ<†Áyivi¹X–±|-ƒæªŒí„|ŠŠy9|;ÁÒg±eè®–kpËÄwÍÊeIº@“j⬰$c5;³BfÂgaqðO–® kЪ †Q *W‘Pr”VÒ‹\EbM¨ÿÛƒ!Z-³òKQçð9Iä+I3˜1FÎùݯ]ý±€ÃœÚ°Gïí%‘É^Ø[ÿÌÎÎC¦6×ðò/ƒ²b Ø3è¿á” Üݸ;ÚÁ:­Œ†niÙdBÐ#0a!N´ˆ¿ŠòÖ;Ž'ÐUÉ8}N›q<ç™­ßÝ À¯»bVªîž™¾{é_¾‚[¦g@—¬ð3@3^Útö'1)™r•Žâ—|”BÄó`ý=ËÑŸdZo«0 ‘mÐ’×O4ŸÕC«Ýâ¢?W,ü¢f7§… Ú&ÅÕKì“àG–ImÜ©KÒ kAÚrDã‚6بöÛa~ЖF°Ü¦¥ÐЉ@´[¼Ç1Àn_*ͼ&Dé3wAS„§úxá´éÌM)žÔÒà ÓŒ3ˆ_ Ó¬.#»øz-ÈžÓB2·æ2¨!­<人FGp_BDëí5w¥ãfK‰#ª=)X£k%*¸'ÁÞ‰nÈ0pýŸèÏHÍ%…&døƒ7:mdÿ,þ$8j÷×Ä@vàŸw9 Õ„oÁš¾ÏÌ‘ObmoX^Ò«ÐXåBºÌŠrEöyÐ# i*è0ÞóVê½|ÔíÞ4™2ÃòöÆÐð Ô±ïFYËß^_¢u}âéñGV<7 Ô´ÿê Õõ r§³Âc>irÏÝ„4ÒmºšW²f°²d/³îrÒxÂ/ëìµÏÆ(ÝéÎ.0  ,‰àd!&T ¯óÆßþñ_¸ã‡2À,‘ù.l«´èT¯»D% t§ûÀnJË|•RSþ0мGÍ·÷©c@uÊ›™j'ç«@W­UþÜš±•'ŽIË‘R4äpµ#púL¸“Ž;ÜÍåuøùs¼ 9nõÆ>Û†\²…sëI1ÿ@n¿NÒµ¬ÀJêK3†cèR¸ÄÄ&ñ´½AUÞç4ƒcl5éΙ B#Ô+’þ«¬|-„()Ã?Rc¯>Hgêê ¥þµãûË'ôz¬œ 5ge*éØy@pB¾Lt£-w­udý˜XHêkÒ lMÔë’Æ,® Õ<£«½{%Ð>é2ÖáYÇ•u 0/rë~Õ÷ B¢+×zì˜éÿÄÌ0I‡$ˆöN"áþPÌÇ¿Áẗ?—‘øÚÞ@HÁx>¯º¥Hw„Oë#îúh·yÕ>¦TÝ<ÿ—íþª½ˆ* .é‰b‹ƒ=¡ŸèÝþ‹Tœ2DÀÏéê#Óðׂäz©ØÔEWL]ä9R#¢EìÜXˆfŽM&æc«<7.(QyTNÉäʬJd‹ôäÇ”NpL5§Þ rtŠ¢ÂüÞ±6D@H÷ÑåÆ<еO³g†¿Tà£Bc×xÇþßa}ÔhÒ¼"½«œ±*?¹ØÀ±.v ’ÔÈ1íÝ“Vp‘Ÿ¬²bœzÁéjWDåai*Â;òÚ§Vë¹@hí,y‰?­¹Vܦ¢ìÄQ³îà…!Ép#à2îò³Õ•u W? Õ›5š”.Þi—Íꆛ‘eé¶19|Oß*¬oôÁA‹·ýÙ§õÞ‡ÏJ Ý\t().[ Y¢Þ\Õ²—B”½–­wb9J¾,t>dsa CÖT€uô«2îJ7‚™¤ãWiŽú77(i=}®ûæÁKq³A9\w%D9î¹ÆäÃ?ãOTÕÛVAó‡{È™ç©0¡þš<›š#‰ãý9œþÞš°2q°ëc÷æíò«LDä¿D¢–uöÓÖêGFJ€vÅŽG#ª×­~bºöQºnÛ0à 7Fð†©47h£/q[miàôÃÐLÊ7¿ºe=€“å Í! âñ#³a¹!iú ’5§w1ã†u¯¶yvÊ"‹tï̺BT¶^XÕI,ÿr7B¡fÄA×(¬ÆÜö‰nüÛ_Ög Äì”Ú,z:òï¨tï#lÓ¼ž8§Iü–áÏ\%¦7a0a [ÏÑ5‹·(LÍ a{‘YÈËšV˜“ Õª÷ɃîÇ#$¤®“P ¨\>0V¦À®[§¦°d}~ä‡Ç‘xÆc)`–5enÅXúv¿ÄÕ…§ðòîÚ˜!ÉÚÁڣߎ£q®Kïˆ}$9Ÿ§aDiW¿O]AÝ1Z¬ýµÏ£ñê#?J`Ü1£kP¤P–f‘æ~´ŸëדlÙÆ‘«Î+ õm½úcçÎ+°‡ý5N2a„É÷ ªŒ]Atã!Áf€=Áræ=$f –iKIãSŒ‹;ˆŒu¡FK£/¢_ŠÀà{ÚRI`Ó¯YS+§XVðõoö’Ã@½Ì5`©=m"¿Œ‹Ê€Ü¾Ÿ1†#2›Åß²ÛO9çžßÍ÷÷î!‚ëíÄÑ5eÆ%úµm¿®é·TÃÑïú—¯Ñðj¤kt/©¶5`ôßðfÓ¯kBd¯¾gåˆ+tÂÿŸ¯@Gî«TÔ¾è ã/V^7Õ™†u‘òÅ"„þÖd.ú¹S™…m¸oíƒBçüضlAÀ/Íĉ$±ÖgÈ}žeÒk™À5’Õ ³e•=YžÝOgA=…v³-H©Úhã’¯…¼‰sÛQS*ÀIĹõ1•—M12Ù=>ü·®ã·E¦¹¤¢¬<Ãgý‹'QøêèO¬oÈyÑþóíL-гm©—%I«ùкwݘ2Æ<³xû5#š(&ß3ÉF‡uG›ð •<¦Ð×íºµEÐGpÁ|KºK&“ÞÀoÁsÐû¥v0¡n@J!ز®Ö¦™¦—ò¾ö¼RÒ ËÊÄQ¢ìF%À‚¸–Ч^¡4SbmÅp_áµn±Ì<”fkù°.€}eé2l9µe–¿:[ÆOÖéŠj)M7tIt[¿_‚s©ñøW¹/ŠJY4EX÷£:_0õ™>ósËÕzˆ1²>pgUmT͸è€òFÕí%Ãtý_^Jë´=m•h ›—¤îë(£Â‡†XDh¯u ÏõÌç§-³t9®È^ÙÃ{B½Óéa+{èîJ’HÍñr?;c5ÝÊtÀPÕðØ]y“Û¨T-ਖï¥!ªÂdΗH—ƒBO„ñ³ƒã0%Jå ®Ð'ýêéè'V8ФÐuÕÉ>I8ÚˆpǶ²Ra²;VÄH´Hé“8Ïìæ=E µð½j]qšª:yFË1OZr6YÅÈ6GH'çáaÝØñÁFîÉk¦Â©ÈÔœÎwŽX˜§nH¤ÒÐõÉP—¥NFf´.ÐÅ®Ùg:H*利£ówDÏ*±æ”4,(u1„¼ƒ»[UþŒh¤PлXÍïÃ.ruár_Rx[”œ? H *æ|DÉg—ƒ"ÞV¨e`ô/С¶ˆ„ á8o•sø£­þ3í¿ÌH®†Âà¼,ä-Îëf!Uû{1>Cë#©ð<ÒÚÎ5Y°u?,$¹ ùÏT˶Æâlu;ù¸ª 8ÒŽd›]e†{¼ì»8刈õ+„@ ‡f `óŠœ!ùáÆ‰£†BF:v ßóÑœi}#ùöBi†ý\ÇÄ>¡ÐE˜‘Ãè ÇNŸ]î'"l³ìG´æüNnƒ¾ÔØV­N›Š[Úž;J/ÚŽ¤¢Le‘.ÎÄ BΟÏL½'XqeÛ„z‰ÉË7vt®T¤a·Î…õ¥ ³€GÍ~vŽFÌç¡J™m6U»´ÿ›ÏæÒôYcx@"Ð϶ý·2ðÈxš ÞocoDA:‹ÙíPšÿaÝ—€ØewZ_¸ †Š hø–Ýsf ”|Ñ–*¡Ùè4h*´þÉ,…:hî’³\ÊÃ]wji•c…צ)3Öenþbw‡¦DQÀÍxõ¡#–Äý~‰t…íáÁÿ£€’¦Ã$—€¨Û[MõòÄsf%ºÖÖ‘JÙgíåó ù.—*ŠúmŽë&ÒCòDõ% ÐÌ<_§ª@Ò–Wr± ¡9ÑvÍW­ÝªVv¬ôPË’E”ÖQoÃ2W_„Ã) FÙ2k¨®JcnÖ#€ +&-U–?´gÂcío?ËQlR~~}´dÏRÑFpõ ØVq5 rë3& Æ$âf÷˜Ryð—ÜÚAT#ËÏ*Í^EZž Ik[vª”/äÒWR€Y£;tI-éÁˆ‰JÇCä7R•ª.f¨_L%%èˆåì϶s‚v=â„5µ¬%ÏØë¤ÞŠÉ(¬$,!?àÃåÜn}QZü½g]d•Ïù}ÑûÛôzYØá·aq^-iš‹~¬áE®N% “NJ ©‹AÒxo®.HÕ¢ˆ1ªå'š_ŒRŠ@ãîg*Ë=÷ˆ¯Jh8qY5sÓ=Ë—fÎ#LŒ# Z–=‘ñÓÝJ‘7§›5Ûž·æýoglÏÐÛßh4€æ#Ë¿¯/‚Ó ,”<⊠'ô½ëOÖ ¾¬¦*yLã\ Vÿâ…xaèAû5¦zYFõ¥”G!nz7bH‹ª˜±åŽÁÚZ5W†Ü€,ô¬räü—Ëú¤6¸G” ­aO‚]93Ž­ÆkœgÓª¡›´qú1DðÒtC~øöòÖ¤µjq.§µLÀ¼ñüsnþ¾04 9áw“JÁ„-Wæ ;¿²öï+µ»L°1Ì,ÂμƒÀ»ãË CDµðK:ND9çÙ ð£±~ä]‡‡ VTu”ÕSö¢V›yÐ3ÖÛ —ûRl>9ÖœâÎ7"ÉÛ3mœZ¾Sp686Z6#ÌÃÞªD p820E•æ$祱H3çS©"Ê¡á®w«‰\}†]Ù¥³*| ¼J™UEÞ/–™ç ÊMÈU¿þ–÷iOOÒëÅňó+'­„û†½ØSÌŠD£mîpH'w„éºâ+ ”¾0SßL<úM~ÝÇÛCTø°Íl„Ý3¾ÒNŠE}Ã~/KÞ×W¶P´óÿœÒÎÚÆß([†Ž3ñúýc é†Ä ã ¨òÂêÄJ'ÒQªGJ—¿ÂÇŽׇXßOÎfoæd©D»ŸW7IÔèeÌÐ\>nd]“ù‡tÖ%m°ç»ÚÆÜÁÝæÅT8ÅÑê7]Åo”BÄ€²ÍN…Nš<xt¸Þ“_ tÔ7¤¯dèWÄͯð?ÕþÙé="}mà‡½ÅÿbzÜ®½Æï“ÏáÔúæ×²—h ÏY› òo[#¥ž¦G뢪As ¤)u¡@滵]2Ö¶ »ÿèPn]ýPGE|rÃ?µOŸ#iý#¥ñ@Œ9Q£§u3rÈ†í µ>(cÖY÷”͋ѕoABÃÑt{ *&°¤ŒÅjQ€Š=dêМãðÙø¢=“”é•™R¼„O÷Å…m½*Ô9ü‹o>ÏKD‰½Eˆ–E^q}PlʧÀÙyƒÝÞèäŠ #Ÿimç•ÂF`(¸÷>¸éŽKæã{6H&èßÎ応î!8óO@?SÿÞâ_DÕ i½Ð þ䱯w!Køéd dÊÄÍâDjt ”>»%œ3¡TAé‰ÁKíß‹¸‡þnL]äR™?òälÏq_`7¼¬%ȈCmü✬ðzkì%_R¿ýsì~®((ØÜ×â¤ñO1)”A× ‘Ï¢÷‚_á>'á™ku™â&Ð ý!òœk÷½"©0_Ýño{Žð…gÞ®\²"3øüðΕášíUI­GÆ bã\£co²¿W¥jtàH›ý­RgËqý÷WçeÐí“0ò2„+;!ÓLVÊ¥‰:ö•1»ßV×ʺiQ„%ía™ uò² 4$ölï±m}à0 -˜†uÿ/µ&×ûrè»¶±œg lŽZ=ðá€j³›U°h"dÌZOC$à­á…p/àídùñÆœ½ì×ÂÞqGb¬»)¤1¦8p‚ŠLÒƒÊËDr.ètz`‡|–5Á+1gùBÃ5£A‘¾Û9ä#Ф³êg±Npêr‰¶B¯ØPk¯@¡]3x:D7+"ZÀ“çIêÁ;âGfçíœè„å{·H©’ñkž”ç@FÎ ¶âŠh„ùš5޳ Pl½Ûx­Ä·â=¾ ‡X2°DPã¶Ç0ÛЖ̖L“÷“{¿ï ½u*&aös@·%’7¬àÂS« äuvüIøà/ï'ª€Xïô²5ƒïQ³Jè’ n(ýgrv y]écÒþ}s4#+ƒ_ û*P#‚ÆXe—Ť•vð@+Ï7{ìÙ‰ mÿu+Þ¯{ñhüE“™kЀÙ猌ÑWþu{º;<n>ŽŽOí‰ÜºŒ@i‚÷Yý­¡d9f2Œ/$G_ FD±ËÁW2Ÿ¼_»î£ìÅšca_b‘E’N¼ÖUÊIÊäÊ•8ÞÀ[+?Á!"° Â1ÜFæ§ýùiÞ¯©1zŠÍkÈ£=€¾4š¨PœĶœ¼x±‡á²¬ Ìåžä«V<Á y\Ï{!ø:ïÛ1§P®P b±£OÙ‹Ï~ÆqØèlåsœ2(:Vj-cTÆ{­4í‚:ši`t–ž.ÒNz ûÆõ x[„˜¢;ãM‹Ó+¤Â;@]rdý^Ñ©r¾.Vü_chžññN`dß6 ‹^¤*.ZGÿP°oŠ +.ö(vtÛ_߄Ŗ1ÏwjrÀ3ꡇ3I]¼x¤š} ¡\œe‰ª@@ÈÖAܨê÷#’Íc:MQ%®Ò“<Ä­¸ù ù’½¡fcî´6¸ýQ¡©ámÃs?mL7¹áÈZ½TºÿuàË«ó¾à¤Èìö°ŠWØñ@šÒ|C¨2×JlˬfCrlçMzFéÔRE±´ FIïQïb`u瀮‚+æVUrÉÁ»ºÖ+ã&Ãcªq©Æí3ô î†.mQÖ‹4jŽÑp×4«wÈóýi,°Z»ùéÖdÍ̤r¥Õ~_=oÔ&ÉÖuEi÷Óvb9™“ýcUA÷É’s­Ô(N7ÑBB|uóqUúž|êý <îÿX¼ ~ÿ5Å–ŒAí#·Ê¥{„× â„íŒÍ ûß'jEv'ŠÁÊŵ±núeÈfN—A,ÎÝw÷ÏÕÒ|±ßéªùïÚøòññ¶%/H2 ±Ð“—¸Úo 8Ð}º_[õÛtÞ4“çQIw^!5æ¶Fcôx¤ât¬xúyF))²9ò²A@(Íäì?«J¤«~êÕZß&ž#}ø-siT¿ô Xe]-Ën®›pEÌþ66WÕÑÛ›n}>\w<"µÞs²ƒw&”J¿ªýÕØ¥“±_øËÑ£H/W0Êqï!‰NbuPi( …ÞimRUÖ¡NÅYö;¤u#X†Ú&_lZQ쯜¢ãÅŸÛk ì zGã:üÎÒjoëÙØi¤Óši=”áYh?V#‡=|sHm·kdM¸²‰AqOÐø<( bb, LZüêÂàŤıu¬q(gÍ¡cÂ<ø±‰Å f×$æxÔ^v´±%PE×lúð×ò«0 „P¿)ËŒÈëÄz¼¡¿¸'qqŽá¨o¹*÷‹™i Œú%‡÷¤í‹PßÔµ5æ7ÀßeÚ3Ð\Ç™Ù@f£KÖÎdÈf¯s Ø:ˉq¨#";Öý¸»ðáàn¾ˆ°Õ=£Ÿw9FœH}ðw˜ðõ<Œ%"Çö© ú/ ¡ºÑJ̱Ó0 ²{y2ÍܡжúÿúÛW‘cÁx™î>»ë~ÏÉÓðåä˜äÄèþk¼¨,Ói6Ê'[&²Tý…æð°oƒ=TéÊTqe.CM&×8Ÿ9¢ÝÈž2Î4qñþØÏ/ÖX "ú[¬dÇÇ'œnÄßûè®á¶Š 4aå}¢§”†ê”ù›îMí*]Îf~ç;jš@+ëžÖbÜÝÞ±fOÖˆbd‡ÁǫθW¼$Ì=j76¹0ÿx 6÷S—–åtŽL£'®:¸Âº&¯ƒ¯I>DXú1–Tÿµ•$áÝ3E´|Ý.롸XRP}Dɼ&ë ž­Sûç·º9<ƒÃà©Æ?lN0ͺ%mÀÈRH#ý‘v”ÎiªsV/n'€´Kȳè‡VÚhÔóð¨.P²"ÛY1ÈnBŠk¡ùì‹y”[„æ{¼'ïü.w¤o íŽNna¥0AtD=š‹|ÚÃi#ð6?F*Óq¥òÈÉ_1^Vžq„ Kcís”xá'Ö³Ån£ùÕ&ðêžz÷$“vT,¨Œr‚äTȤ >Ô`µŽj-”¦jâã]e{Æ­"™‡:¦!u©–“¤òæ7ðmЍ iI’ð¼ŽE².¶–v:ÿ8@A´:¬ã|³Dœ¡7¤ u _ï¨G°*ß¡ÿHÊäS´ÚšQÃSr^t,((WgåÏ—ÓŒTȸ"ªÂºÊ¦ó8 ˆç‹v³á€¤ð«{ú¬a‰Q)‹Ð5üôÖcì–ýˆ»Ÿ 8‡¿ÊàE–ÇT3Ú”,üQ:Î<¬å~”àw4SbˆùÔ9J׿h@ÀJM€˜OwÿêÏPýãzØCt¾W˜Š„«•ELç+‡ çìõ5 |ËÄÐEÍQÞv^™&ÀÍ4¢"Šý‰võ¤¹—Ж?ÂÄß í—«£Ž·³kèN=WÙ~;©òL¢_—·xÞÂBÒ .¬†XÃdÜÅJ;3ôÜ ãAo6Î$ 3;d ±Iä×_ΜJaƒªHÇ]/uÜ\§ulØ;¼t][ñE¦ãnK ¸u¦’Èâæ®Þté1,Þ@ÝN–8ýÓp±ü‹ê!*à[›~rr4Šªù#Dßo5ûÿ!ýtò¸™eècâ"–ÃlƒšöÄùH5u]·|f˜ %;S€`~hÐFEœÚN¡¹Ræ6ŒÅ2¥¤’¶G]?¸p‡M‡%Ž0x ËxÓƒ*)*ÆmA9Cüþcš"¡>j—[K?–YD:çÿõy»YÃ%°„çÜÓl]1þs(%&$ê^O˜Ã e®7&1-(§Î4ÌýrïzÊ¿˜T;û»ß½æ¶Â‡K6"ýs§‰oƒÚ?Â\Ê+)@°»ù«ƒt9÷Ä:âi—ñ¬ÁvŽGdˆÐ ¢Õ0ÈÞ¶š«íY ’+³Ê)WõPwvcƒÄâ!ÉÊÌTñZF^„ õà¤7‘ì%j¼µ¬y–æ5Q³á{90Hq†Po›MÙ L…¢ºWtkíÂù¦`Èj”úÌÆô‹~’ýIÝ4;—윋V_m4æÉ)…wZú'S Ö@1%ï ¾è8¥òX¤¹û##ÆJ‡Êä=ı¬èÏ 9ǯLb¶é1Ê—†n;É•®;ßpË(`Õ; ÏAP!ý†! À2QPܾ½¡È²Är˜Éáù1$B‰#˜gïèЋý0ÒódTW[£ßJö‰o&Ù°qò߯æGk4—ĈdÝ¿:ób@ìaÿåAjª]‡ö0e/9~ƒbŠrŠÇIWÖ›Æ7í;ãÕÐJñ·ø‘p£ÉåÍh¦œ¥C™ã“_¨ø+"¹e}H-ÞÖ,«÷¬ËÍÉÎYÇüwš ’Ë€·=š¾l]É0ÃlŒcxs¢Ó4Õÿzw–æü ×ðS£ÆâóÞAÖ5.aTSMñnð´Ø¨sì\ ªMî]R`òÝÞë»8¯z¦†xãêæmÀ踅çûa–!çXW}÷pèÅúý€ø\þP˜Æ‘O×0æCÝž3ÁZôì»ùŒ†µôýç“ËàÀ;æäC‡¢†Ÿ¡ †Mr1ýt;Ãsë ƒï­Ü]áœ{ ´µ¾ãã~Ü‚ t¿ÿùuÕÒ|³,>ÃP%­ë°ÞNˆM—ºRö ü·þéÈû[ºù…ç0ôóî^Z†¤$€•îÁQÿÀkÑ·—ji÷ï½–EÆ4k…Ýõu6B•ÉïÝ’3çªçŸÛ¦7m”°|Áƒ‘]<ØE,Ësm<\o £´WÓ˼ˆ­Þã$¬úÇÕæ¥¨ÈháÚ7ã÷¦:) A´+ˆ¡ð£µì˜“%@–çõĨáºY¬WͲ‚³@ènÚÓ.mºx aõµ<ˆ6É80±Gjž ÉéÚí(y‰û§Ç®Ïxal8²Pï?ﶆ•*ýÒïBBÈ'5íN\L&c¬Á5NCH`.0LÜãJŠgž¾@‹ÛJ˜¾UqNˆ(`6̺c%÷Ìä‰9Å1× S~2eö¢™,çDÝšó;ú¡¶—«øÏË7ư²âú%tlåxVè0&éBÜÝý’IvY#·)½_®%B;4‹ŽHQxWÒšƒ÷@czú8§¼_\ žBÁìźìtÙZ\nA !l+ÑEkL›FçdêÄ<ô+uü^G¯ #K0‚÷ØÐLâ„$³åƒk€º˜óF0}…ÐEÁ>ÃÏÆØöè‚ëX­Ñ<ØïJwë;›Áu¿S<6X– lýèÁox\)æ•õ½Tw爎ºOßÇåvÁ_ žÓFµ>”Vö/¥«±>«m,º©nƒx4LÖÞž–³|Z=:Ž a ¼¼`Gƒ&5þ¼¦–÷¯‘Ö*:Ý%…0qñJ`]Û ]ä_ñ!ý6Ék¿ÂY[¬~Í>qÚ…§Á)lÉ-q0¾¿·ôKž¼ßþ‘ÞÛØôËVóÎFÊ”ßá°C"¬2uëöfåã\šCãÀy`ó¤õú [¦Ø@9K 8swçZÄ`¹8±)içÆøD~{³Km§éæó*õ{üc,%ó+½°s}οjŠtu¨æ­å[æ|Øó?ä=Ž`Ö1k¯«V­¸j+Ÿ‘Œ¹ÑDZ3¦y¨ÎØï-¯|/@'!Ê`åWÿ0¡¹žL €$+–[j1‘Ô¡¦ë+i3,°Ðþ³·nð&òOxYÐû¹}ʃÓNž7»ÑšŽ 2›òÏÊ0Ìô0÷¾È„ö‰ŠÕö¡»&›)/±9Ö QÖ8µ,Lm ²;'&Ëq(i£³™ž›wßåûìNS×9mÐkòÌ~ïãø %è% åˆàO{¡.ÝÈ!M‡ØÇ=&Þu"áÑŒÐc¿©ˆ˜LTNËn—4Íîòk¨/ú$k}ËÈ•ûk¨*ÓêTδÄ»,VÏÎÌ:fäe¯ÌÄ6ò¾ØQ(>Ã(¤¤1I Ó ’[Ó#ûý"ðòù‘ þ«œON÷ÿv…€x£f3 kQgCÓA +Ò„öƒEÊëu›Zï‘V7£òfsFËÈjð_Ÿ•ý¤ýÜ7Á÷ïôn˜Û$VÜ´yjÃöÓÀÞlá–"^&M-Ì]}Æ£|©A…ާS ­õ¶Áq¬ì Ãû=,ßys°½YTíĨ@È(0Ì® ûzùÒ»óæ©z%_öƒ¸?ñ`ÒÒi ŸÅ®Ö¦òŠØG˜‰™¡¼zTË}¸¤¬1,/t4¦œóyy€êbü§±8+¦ÀZ©Ñ <»¸ùóãi}Z‰[96Ž ªs!¤sçÎ^ãK4 òÐ8%9ÿdXù­Ø‹U=< QjçV Í×v@³ùX1/ªÈïDgH@,e7äú‘‹üç:b¤‘DÛÝÛ¾L:ѓےwRØ‚?`Ô8lÙ×Y¦_ËÀ[qáμ¶å\úöˆ–‰sÌÝat7LöUàÑÀÓœ.N¬ •Ó.}Šð3É&Hþ(ç¼8øš%ž‹R¶¬“"Ôl¦ ™Ýö°º pulz˲¶÷DâHQŽRdÑ7Q½·tÉSRßHÁÜð § ¥ÍßÀçTR­Ôóx\²L%a„ÚJ)“üj€vV‰B¢Œ…:]³ÓÞ°g” Dþ£j鱇ƲºúÕa;6oÕÎ%²­ìA?" Í)¶Ü,F)ÁiˆqF¿»]áõÓe«àÑó{s…¿–m‡Ä?ÏRE^©A6 ª¾¾‚odŒê‰®ô2y:„Zï"ÙÕEÌù«jú0+¾rúGNTËÝð¹dÂÍ{¨áîLºY-ËôÏ@‡Ì3¹IX>¨½••'¯NýØ&…»ó9Uyúì”ÚŰ™¡3߃¿ÒÞ Vü»Ÿˆ[ÎåžÐ••#Ùx“¢aT©VYº€Ñ=¦¦ï<ã'¡Mô?‘CÆÃƒÉ=*§çº–é]r«õ´ô_לÿÀèñA)§&áã¥ì~Öd8Zð…·u•‹¸Lþ!±´xDÕ…wñbEÅÛ%+!‘eºò-¸³¯íĽ©øZÏ4ßbSiŸ ñ#é¶B^Š©¶¾']ÑX0“S²NÛ‡Ù \u^{¡fÚõ´D G»t š]ËŸž­‰Í9‹Ñ ´'mºÉݾà)"¦s¹ P¨Ïm/žD 8#¨o„ô#„: ±û"6¨>ïÌÙ0‘Yhg] A®ETcÆŒ¿·SôÌ%òØÓ›}•{3ù¤-#¯Æf*ô“ÿ9Öœýu±•Û×F‡3Ì8âpŽŠ| ã»Ú¢GôÕKÕ¼>L.¦Ýš kè³Iß‹/Îû6°¦Míq÷”$Xj=€6– /ÿ‘MXã·ºÔµ³Î4+G4$y;m1{WEï{¿ß¬ÛGW -&;Þ«ìEæ%£CJõ Û™ñU·Dõ5\‰äF¿w]˜;v–áÖÈŠ$%¨½˜ÙkM^þAÂÍ«µ€† %´tT[þl`ú6¶mÈ+÷¸óý›ðº×ô¬²"nåÄušÀz4QMhB•s' ½¸Ô¬¯è#¡2í–+$Î*q GFBíÇ#ç>c! æ ƒH—ê„ÀQã°Àgt€ß™¤ð£OâÚ°LTÓÓ“j9øt»/¬û×Õ‘ðí…¬1"‰Ðfx0^¥§?:Ê”ÀØÕÕwãl¡Abž4‰ÐJm]ÖÒFˆqN5ÜbÄÖԲׯÓCC“mgû9ÿÒ×n¦»Ój¥A^ ;.8Pe&ÓLiûvæM†Tæi8ý㩟ÏB¿¶x©I‰É(†™ÍÝv¤í°‹¨Oœ³y;´›w߬å¥fŸÜL 9ÌcøæïL“n¦Ó@Ž ˜Ëw&MÐfMÕÿ-œPd™Rª6ð‹m WÔ•U^ÈV‚Ÿ0Vµkp¸«ÔÎ2ÌeHå`k°•ë,ï˜{]ZâqÛdߦR ­b rÍ67QÎvŒ¹8(§Ø þû —w<à¯?’@Æ©¾PO>eV%[ÓW^k؆Ö=«!]¬xñ üü8/ñ”o~0ÃÛ8xl˜lÃír|‰‹¦`ÓÔ€gÒÓ©_ຯŠsM§LP¿I¿Ag& ¥•dWÛj0L3-¥£aá¼Üü˜Aæ!ìWǶd¨³—‡ŒµjïâÇž­Š*d©ÞøÇ=‹j°e©HØTt˜”Ï&ÙŒya>öAÙLùؼÙÏ—FXÝ/$€Æ3öeD=Áfe®BoOyOÒ)NR ˆCÖ²–p]‰ô8‘Lžhl•̺ÑB*òdˆ3$Yé~ø¡[‡ó8žv»‚¬Ûqš‡Z|éaÆä=¡ÒÝ& ‚Í/ð“Üñ›–˜ž¸MÉ'ñœÂ…Zú/ë”ò13·Iks-!í¢ðï…;¸·+Á'InA^ ™ù©‡vœ9yCrÑ,åï¼HÑ­ sáùkSk p²ãÎ öŠóAª‹…´µ­ßÆSȸÔ2œI}dUÌéÏŠ¼Òû±]Œ,ȯ/Ω»øâéÙ„‡°À¿ÏZ†Ô^¤OXQdPp”^Y£´°“À=·§¢£øÑzøêç"~:KÖNMK&Jƒ¬ù~.ma­¿F%_«Ådô夘~Ó¬«T­ôäÏZ¿)t¯³Îš&s0¦5yíí|ÉŠ´yKBéVߨj2¤Ã#º_dˆp’12ܔѨdÑð"í“KÇý˜]Ùx¸£½*r~Ó»V´¨ýýäDzÀ:Éwª¬rƒºÛ­À¤\§BTh?|#Ü8:ÏXji¶h¢;™°ŸmÝ9ƒŸlÎ¥E6ü¡·0Aˆ¢nUƒÐÅ.fìò ¨ô$Z£ó"ËJSɰ<Ã( òR¡)x`ûxç£Ù„8"˜F¨`˜ÁÞ~W¾Ø§PFg¯¢/1äþÕ@Ö⛽ûn—ÐÛGÐÃðX•$¸-î¾5oÇ$&Dw ¬'€ žG½º‰MDÿËqh[‘³Ñ°/¸ÞÚ•œÇý4nc|yžªzº|¶”ßNXfsÝμ{ݹW¤s&Ö:_ÎÆÃðDí´—&ä•—í/³ºNlÒì œÈžO©ÏÁPÌ.PI!,ö°Š_²örþº"Þ³½µWÇXý{>t‹7²}ߎÛOŠVøaÁ!ùL½¶ÔŠerkO){ºÓ8–×﵆ɮyÔMc•BÛ‹¢Þˆ¥mlÏÄ%f­¬/ó.·™GBLÞ ´³¶¢òkÉ»Ááz<3Iíßþ¡S™ÚK<|N(„ÚüÀ¬¡¶Vd-ê“ví¹÷ß—×S7aþ PN"`M$‘—ÒÚIÌIµSÀ@GéRËÒ„À\ÌŽ­' þìèöbê>>œ„Ò!<ØGÃBçßÖ¾.ùî8!–U°ój´é°‹]ºJPßbG§6läö^Y¼l¦ÐÚv¸“9inÔË}XÒ©;éWV‰‘>ÄÏE—$ûqiŠø–)í9;ÖNH ·í•¶‰H3ïo '¥ X»GkÛË[VÓ|‰"y6¡V-¹!-ÖÙdUwî¯Ü¸»uÔd=vwñ‚ÁiŒdtWÇK- ïô‚=³“"èl&D‡à[Þ“…šs‰Ÿ< Ê%ÝÒdØ5¦*Dó³ ÍD6…âmñ%jÐI•O@hÎ(3°ùfȉfWÚµ§x?IFø5ˆL(ß¾; (×y–sA϶Ü7Íü“bQ`d×jŒíšC i£8ýmoùµzãNÓ¤¦éwý­È¢BAR.Ñg÷È„]än%w!f† é„a½!XI†œÏ€Ê¢:¨°è¾Æ¬„¯ Ú•›¢‚Cdn¦€ÄÉzÖç¢0²@iq‡Ûef~Ý ŸÅ/‹WŽÈy¯{þœô±Ïß$aùð÷ÓùazÆZã?Š–t3àµ"œ„¸Òê‡ñ¾  W Û[Ieë;ª:‡!Ìí?æ«d}›Û%æé+}³ˆù„ëšt•GRÔj S÷jPw¼\Í– ênî¸V‹äæýnŸáqf§MÎxèD45HfëY`9³ü…wr‡ÒÍXqú¸[A„†$®È½Û­êƒ66zR 2Þ F.Õs@"0ú:7ùŠM_eé Fýó.™Âö°Ä– îzÞ¦ó`Á]ŒRZÊÏZu Á‡öW£ã67c)zÂe¸º‹(è@Lj—ÙÑKÁu"1ªÎSÝA*†ÿxAÏ;Cvæ/Ö¦[H9˜ÒGYÁSWëŸ'Å甃‚¤ŒÛòÓ9;6kÝò`׃ ysH¨*(HCÖš³NG$ž¿jø†Vy=ØYæ8Gmn}³lÖîù@C‘6)å'¨ò Œè¹’ýWøz¹;Py> ÕFÄõt@hÕÕâAì¤-4ÑnÓ­Ê"ÒÖsfEâÅŸš4D€ â)ÖErxò!µˆžÂa•åûdúïOl‹.3 ü5peWˆ½±iÿ 1oi,$B3¾Fhu}©òò’Ë5k:¡òEð¿.T©0üâRÆó¦‡ÿMÔðCTŠzÇüªD}keÝ%ô]ÿÑ8ëŒXoïªRóu=ü¸RŠ“îïÕÐ{(ž9XfŸ«Ä—!<"Qóæ%Z3eü½ß~¾ÁÇeÄü/ÞÏвg¥þŸµ)‡<(ˆæä‡¿àïkzòp^©x~O;‘sæd>–\¡¹Á®Åòr0L¯èèåm¬º©ÔX쟼µI—_È>j&‡@:ìʪwáÿ˜Ÿ¹  è úÜYŒ fålç!ì´Hv†Ònœ@ëZdë)~þhØâ÷ºÔo ‚Ô8ácñ–$8€„aöwrmùæôôcÊ&wYןÄèZš¢øìj( ó‡oþ(:íLãÃÊz»IS}v]b ’û}`A'•U&úÀ¨ÑÏWÿ?•<칤j6ÏU:f`›Ÿ”¤*S™^ɱ ¼\RIîy+gÃa¦@#Ÿis/{'Ù›çL‘Çcg‘¤Ë]ÑcF ?b½ û·í,_ü( Š¡ƒ†ÖŒ÷ΩÜÏ&ðŸÃ]&K¦î.¸ˆ#2C‰‘çú =eo†µ¸)O7oý«8ƒ.±Ãމº§UG-ð ƒ{3âÞlEɣܪ–wLç©É09‘XJè–Œ¿™F¶Â×V3;oy@hø&»pÇH*6NÔ7eXÈWÐÌY#“ÜRA÷;vœ6´ø9”¬Ó»†ezº’¨€‹×"$Ø n^´H4hÍ«jî,¡ç ·ÊEÃZc”êgDkÎJÊù’~SÂX”+w.;ÚÈR˜<þMñý U_(ÇÕÃx1J2ÜiÀ%N}»m¯QàÁ&÷iî|Á¦ò`ß¹Ot}(ï¹_«,\Ã%\»àå’J¿{—ž¼i¶Æ8ŸNÖ‘WŒ}tèÂ[¹‡É Q(ðÖð®Ó€–*L›åR·_1&XpÍùs;±gòw†Ü…¡=¤âRï~‘:Bàð9g™`Úâ¾úË«<+é4ñÑJö›kîÐ6†,Ži w/P—)$ËºÔ åô‹ÆŠ-!ȇ&0–)=ƽü-ÔE!?ÞÍH[A©·ð°sBZ#ûÍ’¯óaÂãúSHý+=ñ³ýéÂ|NU—³}ÃwtL4V`ìà|;BÛ—Lã3Ž]þ.©ñ_œ{Öx«‚Ó°1Y¾NúÜHï§i·g9&t¸ïbˆ>IqÀVòš$ËSf¾Ë Ü]™h;Ê®þSHçQÖé¤*öá×Y#òéîÞ1hÒrtZ!G¹HXÂHbäCÛ&Ú  ÖKa ¤#ÆÛÞì¹*ˆx’nðî6׆I6ü ®îå‡p}ÐÐÙ»hÈ6/„Ýghææžï^ò¡ß&áÕM›‚³Xg:CjÚ®§f;úaíÿN¸ück Fq¨ˆ£ÍØŒ¨Ÿ*Éãг²5Áû{kÚ –5´Ë˜ÕGT4Õ~kÿŸX›t¹#_àš#UÑœwÒ‹&:>ä-ïÌI®+ ‚°Zïy̆$ðŒŸ%Cmö+ãþS‰âr$¦wÆëO+mCT› Ke)ýóÁdp¼®×ÔW 6-ÏæíΟ‘µTŸŸq q³Ù‘ñ ÖÇ;ñp•#ôY‰x55Ö²“~ ­ ,0æñVE *µá~l† <…›®Ñæ`ã×QßO³ÉŸïb¶ãR0j <*_f±¨jyÎÉiC3††ì¤R6YÙÎD.%ÌÙ‘ &¡ÅÀ3ÕdhîÚO©q¯Ó‹ÞüîᣠÓK¢&£XXBÒ09vúsfL”+£©ãOãXŽåãò¶í3üe\þLc¢´¿Z±Q:r‘y6OÕåjAƒÜàÿù`‘¨e5f'{\kÕiŸ»P°}YôL| yX%gãm< ¢ûŒÓ´5ª 'X1þ¬Ú+Òª¥´EÄ7(Ðâ¨Ú¢- )ß#ØøL@†¦_ö€ð-á™ö÷ñˆPöƒ>%¢ pa‹Ã5LYÅ›Unï8Hâ.¯›ø»ï@Ø_hˆzT-Åð1Q“­°…¾Xd¾î[ù£Üå3Í×áÙ=Tɉ¨¨Qù 2¼ö†KŒÝsKi_©øJPµÅ’2ÚývÛL ±'cœÕ ¬>™~ð(ÃÙÏ대+„*&¤«Nªxî|BMònýA±· PkÝ ¹ª°ÖP@\ÓïsñÚαEyS帾/|z‚m2,uÅ”ã¯ë62:¼bÔqB¸"+‚‘û©@Œ#mðroYÕ‹ŠSu- ·­É…i¥9ÕH¢Ëã´èP´ûîìÀáëa'™#:]ïÅd’³|ÂJÔTH|E€ÃÌã©~L_„¹AaÙÈ]£ wì(:-XÛû Œ‰œ8ª1,Ô\4¥6gƒV0xW8P)3{Ór‡e–òV™ß/ý6ÓFÞØÓ2 tx•26« #e*©*S@}eÑnÇDP’¶ð¨‹TÉx“ÇÞìÚ‚8£ú€À×Ôª ï®Aó@“±†NAož‡^ž„…§g¼kKúCº|þÑÁA$O„AâRC«Vü×17GöâbkEt‘tñPR ™(õà'@÷\Œ½wÇóL¢o7Rv¨S͵™Âì­FÔ*®z`4—/ͦ[{¶á)5¤uïñæRFï9Äæjµ¨(þT̉ˆÊ¬.¸+­m^ë¢ÒÁi¨JšbÀ¶m›\~á¨Mtˆ~‚>{|kaø’r#ÌµçÆ¬©—Þ-‹Á¦àê·^¢šµ¦7=ž‘ì¡ÖˆºtôÃ@hß—¹Èç‘7–ÃKïhK*Lò+¥˜,¸:÷º91Ì2È‚¥Õšoxh]! ë…÷51À;õ¾J Æ0ž »Íf†0`x¯.§YcÓ¿žžo'€i7¢…ÓV Ù×_,z¿Ê’w+¯Éà*¬Øùøï±í'ûç\û9p^÷ˆubÝ{—ÊDBÉC¼¨/Ý»:È3 -LäÜ_Þ'à[}à·þ)~tZ CÝg|Î|¹X:'µÚhgÛr¼vô#ðwïäñ4aÚÑ.ø—š@Ç¿“~m°Ý…’b¾”6p9W_š!Š*8ÎOLÅC3ö'où7IÁ¨€gböÉÓ÷ ¬ZÒ轄Ía- Á@®õ}jH´ðúK{Ïé²EÝÑhÈö, È2cܾ Xä Ìíý^X+X^ ^µã é¨ÜÑdúм§­ Bãæ¡üp †8ÑGÑÔgæùÜØ²¶Ÿæ­: OJLT w¡«Æ)‚¥xÑ ‘^îK׺ˆµÝ’lÄ©!ÐÑë30ktß*‚»´~<Íð—L  avT÷–ewûU¬v%Éè¼FÇrÜ?ÜjÊLÿ_rr€ȶ¼$3±‘߸'ï—&*ñ¶‡pÃlf@mBøä+U3ŠõSQÄDG?e9êËaa­jɘh†¥X&’tÎ7Eâ¯MÄwn»¾Iß{^ 2ã×äÔš6Ù(V<Ô»ÍPowéìÀ<“+R¦@”£;*"fñÕbW=}_‹5OÛWy€“Ÿ×±à@óiHÎ ØLÛնІ À‘ä•î¯Z^gƒ¼ü¨_h2Áà½!t"\c‰aû:ö‹=ˆ!Êä¼èS–šÀù o#á™J½^ÛYÂί[Š; º6Þšüo¼Æ€žŒŠ’Ú¦‡eÜÛ¹^P ÿ^H T(r=·µ/¾+9¨ã€ BÆ ³…È[¥)› Må±&?@ø8J3«)Ö;b`€pEÍÖ$轌†Šb1à µ`ï¢/g3cêèe¸ª•!ÜX ê‚z²—}ÓØù^>¹ˆÙø>QO«O™@(IdÄÒ?îø‹*]oÓ‚¶Ñ.}W"äJ©§%.|_f¥ˆ¿ÊÅ©Ï9{VFmäÛ&êóûÔ/ µå÷<©Y‡m]Ïa/ƒôS’ªDÞT"ËBÙ{™¿)C³h.Çi àj.“.^,bÎPß©_šZAï®à‡ât0(¨Oð-ýöŒ”BíŠóóvÿ¬ºˆC‹¡ÿQâŒãë4×9¹Çƒ·’­S{òr®µÌ†"·ŠÐf:LÈœëJ{3Ö¼‹+®½Ó½?Œ£~Hû›º®á‹ÅoLi¿©„Hdìù5d¯ þË›ÉZ˜HB§_§¨ÕœÂ8€JXkNËNUðä½¥u÷¸J:KÒ7jÇøù|·¤Óð’¡pM"»ŠÔq5Ѽǹ¬³©ì½ÊÒ”„ Ì3yóƒ%!2èÚ¯/AÒ)!{HT5òÍÒNÙ" yâ¨t³}Ÿ–-×öÃc½Iœî#"7‰Gí´÷&Ó¼Ä~ ¯ø\=äwFÑ<Ÿ_;¡ez«b둺T%”éÓ‚‘ M¡Nü2w]uòs>ßi¦DÃx´P[šc'ã ¿UUÂ@æSrš)§64¶ø`ß;<~ǧ3ÒÑ.|Ÿß´÷ƒNkÖsç>É”Z––ÅTu¦n\¸ ³Ê¸c —-ªÆä¡_)E¯¬9RÓ ¥žàVKÉyta˜’„oMår×ྡྷw~XÙCäõZÌf8[&g$z«Ùž°aA“)[£º^+¤¬ $li4žö\ý•YkÒ`ë¡û*ôˆ§e ä¡ß£”á¤K§–5éO}êìžmdf­Ñih%œiÖ¿Á>aWFM&ÊîÈÍh ŠíaxO­uø+Fö^¼n5×+ïóN„»öV³Fæ+j¯”ÌqÕÔØ ÃÇÌ6çTOþ×Ö6¢sÓÜ!Ä”AM?ìK¼ ©Ãû›÷t@èìiºÏ[}’¥GÆo£ $~‘ud=N•À˜ù§õž˜ÑPtóÖé^¸ÐTP‰D×? ƒ"øJî’ÑYÝ¢ÌÁf™PwIÆÕ½Î2Yü®íQêi4µìFóddí¯üP 0´Ä’’ÂÞÒºö§Ô¨h @xÙ(‘´ym¿X*rNÈ$Á^ô*±ÄÂÏ» ¨Ý| k· {KßÇvnŽÊ4"ó:=ãZ)i´^©„+HKEȨÿ×Hï_p¼Û"ÜÉiOg˜aŽËP§&ÊO怗›è0Õ ¨º…<Väb–ë! +€;“TLÝ_g‡‡:žÓ} ºcâÜ~>I{BNà\g¶%w;V«ÍIŒ¼kÄœïòÉaß”ÿ ࢄë|P2U0+§œG\¤e#†K_ÞK2’E/É­@Úã –2ß¶¦ËÏwéÎdËlŽJ¹ý°`®è\YýH¿Ú“Èê«´gLýEޝÐx"\¼Oû‡™Ð¹æ@Я7†!pÕ€„fÌìÈËÍñû¬3"ËwNŒÖ¼¥;I¸¦-¤WŽK‹3¸{Ÿê—šGÚ’a‹þ³ï1ó©·.–±¹ýÚ³Ö.;7#éâREô¨5Þ]^˜ªŽ ¿MÀ+Çùã]|e¤|¸­I+n÷;ðºgÍÆŒ²Æè ß…ùáƒ5a|º˜`@dÉ@¹Arú9ê0’vˆ@mT£$¹»L{GÜ ,.èâw¼®÷¨'èyQÕu¡ÆdÈŽQY>}•ìì0|Zym]tû10>Ø‚†ð|¦{° q%CñÏöòf=“NZ¬\c {Q½¶Ïs`nóÛåO¬ýS›ÁÊ'ü.KÞýÃÍNEà³qÊ3Œ¸0Ô iøb²®È9û™½ MÁ1þUI‚€‡{Z½×î—Ý'òn5÷>QLÈêä_JŽ´—M@ÙÒpažâO^'Ió™`áúˆÑ+ p¦°»$}efuœ>G>ß~fÞ¬Ùˆ;Ó'¥¢þÃØQ¾Óñà2€Œ¿õ!dKgµ|0<„ &†ú’ë½³µoPV-öÑj|wg#¹‹ m³¬çw™m)­æQ™V—fDíÀÆZ8Hî@"S¸2P ÉúR^éñß›Gˆ h×â´×íaßA`òè.YUIIJúD4ÿ­òlÀ¥±šv}nòpPÐK2­ ¢œÍõ |çtm…¿ô²vÛÚþª#›¢¾<(þ(Zð9‡¨öM¨˜¤RJ('´àß—Â`{‘ÖSØP~ôZ:4Ív±ëCµ/¼kiØâr>I#´ª°>Æ)}`ÄѨšªjD»cFwödW?XÝö'n¢ëMѰ zd&݉!üy[%ÚGWÙôW”ÛöDí;誫à7N’ÿªók˜ÇáIŠ'm+;^Ä"‹qƒ¦|_[âOhâ{ ï%ŽÅLôü–æ*¸éRSBÈ…Ÿ[”bî $3éÆÇ »H=CÕâ×c9[ ßÊnš|ë«à˧ŸõHÆKñÒS­9Ù/v®=Ú×ãZJY÷Š(àUé.àkÀ±‹ óL@c=Aü.Ž×‡)Ÿê7ßúÒ¬â$5È…¾hFϨ…{äüÞ7ugnÐî΃!½ˆ¬Ë«µÀÊßúMun"­îVçªÎï8&_Ƙϸ¯Çæ«Ts¼ŸåŸÊ©@ù,èÑÞWµãâlj™&(fŒE±x¢°8þ›X^d÷ÇÃZÍU“7låd#=¡Ð.yÄF,‚HF2•‘ÁJYTY’‹kU¨‘ ‹Qªü\<á¯j©‡…(ÇѧÖÝÇ*ÊX†Tfߤ¦.=±3àáqÉi¯<šq3êÜO>lE$%Šz{’aÎlµÍTV¼±3“kEÝ…tåIäìXÏ ¸ Œ³G%/Db䨝o÷~Q †­h¹¦S²¢y“DãÇ/ƒ­£RÌû§ÐO@ˆœÃâÜ-)1ü°Ô­½Ï™©ÉX÷™ú%EÜ_Œ$‹¨-Ãõf>‹"žã·#azSRª9Q ó#T¡Ÿå8yíüðè1fLµ9¾©Ý— ª=ãÎs™„–Ì6™=2fd~tÊ€91øWºß9X¢7ÂÍ(ΩîG½µ¬`r¿^xSu‘kGÉ{+Ɖ â$ÛK[sBwxV«ˆ]ì]ý úÎøÒ9nb¼Ó›1Ç´G†C ÙODÜÿÅ ;‰Ÿ7œÄ‚3q†ÙÈ“lÕ&¹J>GÉ­6ÿ·Lñ‡ÉÖÝdŠ•—jIà`ÒÌ~ Ô÷…%aÝ ‚ÝE£X?ÂÊùJè¾r¯w#ÃÔ¾Q ¶N•Å, aÑWÁUk PYG&ˆ±½'QíCÊ}x¥L¥*·±7¿ºX©ÖëËZ¢ôÉØ\ÚÂuÁ*QÕ‚µ¹Öhr=ôGü¹"újb¶ÁÊŸØì;\¢wš¿VH„›$Xih–Y ‰°~4(pPEqbÞ0CüÓ“«Üxw1⇳4(~Qw!,I'Å:Ò” ]‘eà™šVÌÕÆVN@¼´š|uTÄ[tkòq{•óKIJæÍNØ®Slp±¤\È?Í«Ð/O0Ehçš„Jw¥‘ZRí9ª´eñ^Îö‚)Ú„²Íãqq zaLš­Ze噵ã&í8n>+•§Ï9x3ò(%Ëf8‹Žk? „ïÿ,Üu£›ÔÄU‹âÔZ-‰aË€vFWTrjA¡ÿÝ#Ýâ±j”ó$Ìîî›ÄÏ}’O%î"ºp1NæWJî×4–BÙ““¡GW&½Õ³ÊUF¬] Möž"@ÇÄò!¢•uí`ÀWZJ)ÑNÁ<ˆ½í’£1ZQ*ô;@L¬#:ˆÌþ¨&ŶÆ_cº®ÂêŠU‡ãøx¦«•)Uf[µ›n`ÿ!`©žjBÞ9éÑ/ML¡ì׬6~T¸iäò ”HÀªt[q÷öBÖòý© [Ýá‚ûnÐßc‡ô{sÑõºgQô ÂÅÊGú&£ó©xÞiRÝ—ßµHÕ2¢ÊBQF9Þ[À&oÄ!¬yi..[> •!Ík]°±ÁÄ;6žêIe°²Ô d½È]¨>À5˜PD‘Ÿ²¯]6Dpl0¤jò–'ý .4Ð >âOo“^¨Œb<‹ñ“l~æš³5³C:ôÉD­ÝŒ¿ÿŒù£ýIE-y”˜á!ˆí!…Qj[_ŒéÐrð29¶€'{ÍŒ[YêÁE£èåO " ½WµÉ#¦óOå¢þƒL?Úθ- µýaù#/hùÁ»|d€ë(èþû@V êGl ø¨X¼ßÿ*ØF‘9à˜Uÿ@+RtÄí÷åö*ý‡êÆ#?ºâPL>è& éÕŠ]\²óËc/>YòÖ¯aÇDžAÄΠ›èÿ8,5yÝgR¿8È5Ú3 f×{\j¦^1RUœâý-¯ÐC0ÆSêxÿF¬ˆWë…Qâd[’z©ìãlq-?ìÜ ûa9’­)îw» _„å¨ðóFZÕ5*žM¢UtN*f]º€!íb%f[ËmÓ'°kH÷ýÄEÙÌfô„-¬º£<8@ຉ/pWUžÔ .¹¡Ž±:çI<ˆÆyí0Fh¸ FIÃà–š}Ö""äIݤ§çܳ¹Lcâ€Ö`3\˜Îv Èê¸É®Š5…BŠ æ;7Rr~?vUÃòå±þ”oí9êË(L G>„Rj.N¡‘&Ú#oíx­Á^pŸÚ©ŒA:ïAg³H±¥®éH3wjþ² ‘“¤Õó9÷‚2Þ.¹æùÅb}L‚Azo«ëÜu’5\½ök´Å¢À’Ë¥5ACk zø¥†)® ­LW_s$Žê½€j‹Tmv‹eۺ䇜{ÿBæ¡­«ÖÈŽ× ã>ù€£2 ™¹ÿ;ùm>lÏcðaLž0rÙÖÿù]è †ÎV7ÕD- Yq}ºíeâ(ÚÁrs&OÖßïÆkivßwsu}€' ½;c°÷î|ž5ñO*ª®$óÖ®éߘÂÎf”6¬Ôÿ3äæm¢{>ûæ3©2Û2VX’,Z”x¡$dPã6.~–àOÂòŒÂÌ+ C&|Ùò…æÇ}˜4|Ó]3åR‹=ׇ|?¢ñD3£¾™á攣öjÂxO Ý¯}$̈rF»ÜOïVꀊCjõ—vTÚÍJY'!KD\ç‚ERÕ¦Âóí;Ñ¿°“‰ìðÊ»âc?C¾,³Ou’O ¬ ,­ƒJVâ­{µéàFNCÂ$'¬eút<ýîYL‘£è~:% ½Û`BFqíY‹37Q¤.Wz¡’÷êñ›¶~< ¤®g]ü&‘4—¦Ï÷ÑÓí´,)•Xü‰í¿ ¿ØÀ\QÙÕ¤·¬½D'¦)#«KtU(KP„¯´ áðQÓ–~ZÀÂãÖß¡3É`èÙò½ž'È ^)œR¾‡sùG;P®Ž…¥²,T–¡ôDàar‘á19a߯*AkÈ.Á,zãñ¥0ümUm6sŽ(5AÛ,çHK׿hÌšÖp´>ˆ+_ yì§Çze„{éàðxÛËn·Jû:!$e°ö™bš}·j>Y$ëÚ™ ‡¦ôjA0eðzrc .ã%ïi<|-"^6oJ<å˜éî%øZ õYd"‡Áê6Hê5çâÑ“ƒ²ø« $m6g¡ÊÙGï}çüg ¥?ÂÎìRë)Ê|Ï ©/*K’‡ß7[×ú_Ëu*20ï ýhŠ»žÈ8uŸÍ ?ïq=õ«6ÌdÉ£¡r¢˜yr-ég ìh™ãxˆ5XÍHæ„5c9ì H „ëî WCõ*õh憆‰µL³#ÿ˜ÙwäI1äžm>eÓÑ×&5Æÿ¶?ù/ §¬f;kâ_r±,u$SV1° ¢—þ7ÊõÔ° C(íjH àd€ïÓßWñ¤"ô/H{Õˆ°¼£?‡ÕT³¨Í¹}$ëÇ”]IÚål™…ýGæm«@)w%HˆÓ'nak:V‘ÈrXâÔ„7|ì’Öþ2-4â%œÞJ>‰öhLx¾ÚÄv”—ö·‡êÞ¦»U>JfMòQ ýp-^»vÖ|íú ’IFüÑ8ºäö¸Èùò±—‰¥f)ÉeÀ“gºTúZ ¬80ÈQ㇢ùöð=°JG#¥Óž@Ì2„½góèÙç³.Ým¦É7º¦Í¸¿@¤hW^“)Z§„­ iHÒ7a»ˆûEr´©"èì!`0@nŠe+Dx„o|¤i_ÐÖÏ£b‹HÒáFý™µ»m}j­cœž¦a0‘h|‚5É S2ú— -„VDQvÀF+=SŒÀÅ׊¤@Æ õ=zL‚ªÙ7“6úãK$R{׮ؚcuô”ͦÙú—¬…d03¬&«Öïïx8ûÀ0í¥ï•Ý¿í›'o®‚­¸‰îIî 9å0*µÃ6öBûîL7¬È·lë¦8'ƒÎ¥¿µëŒy¶_›\j7jú° YÊ0 `K_é¼xm J4JÍ€9þñ’ÎÖœËFXäñ-—Y/JŸ¬f¬~8T@wû Y;Ÿ•á•Jr‚Ö-㛆¢BëçB4žßÖ(76Ý=ØËŒq¡ËQ4$dO~[­:Ó‡exÏ£æ~ªÉ],IÔs«”kø±_KxGóú•2“`o–uzÛXõ‹42…wY< û¡Èùît×ùÚéTfqfOÇ>ÞNív¼),>qWO]Ãÿ‹R'ŽV=±ûž~×àt•»´«]£ÍŒY½xåd°þ¡rµNA4¸&Ïntr ¨Á€"ÍŒç‚Hª´QŠBªd'Oö) ±ã£hiz)æµfó)—pHWoù»œ~Ðß&mVæ^,¼â)êãÝŠ¿—ÄÖEùxàõ"Ýú+—×OÖ®-Oš5ôÝ’UӀ뭂›dvo{dÝH r¾¿»ëÐ.ŒI*8Éꨗ¡”ŠjÇ·Öm’¼ekŒà‹Hçu@7©‘¥*a%rZbE‚'km°ŠCo=Ø 6·Z±~ÊY–ß,„ÛˆèÝŒ0òü„þìg˜íaµè Çbf'X)¬£Ù""õ¿.x¸ý²ZßœMäg1.Ùø4¡KO…à"¦÷˜¨ÒVÄ…L¢ÒoË6÷3¤,Âëu™5ÖEv ¾Éwƒz[1âÇèn)WSÉü–±˜˜§›iD¸†¢R>AéÛÿvo’¹Zˆ7%þàGR³Ø¼¾–!Þâ{ŒMµ]òè©©Ÿô¹Æ$Nðn¤nÊà]tÇ]…°$bF¥rB¹pˆñœ$OÕ_X¿¬'oºÒ éL“öZit´!ê1,V þi–‘Þ'Q•)±\&ÙƒúŒ…<ü`Lž€OY0¥¬F_u0ËÓŽ&•¯o9KÜ·h”q¾=’!YÆBõLüÅ,L:Þ ÖÑ´M8N]Ž$ûpN19ç`ôcG‰åTœäul.±ÆR)30Gmƒ!K.Aû»øûÆöIžJéêñcq8¡!ë” ’öÕ2ùíš ±­O­ ìZCÓ¸âòÒÈÄL¾r8H>—x•µ ð•4‰ì;ЗLÒ0gÛ‹@Í»Šy|øq¿Ö â¢§beÇ_}('û#­/‡Ùöt]Ó‘¼§#Jæ|)¦²·B©ëÒ4ûz‘T‚LTx@ÆÅ¦l¹¨]] ZQ“âüZÃŽk Ü}ªö†ßÑN“Ð#U¯M›“›Û¡^§>lÂ5(bx•!Ëú㻼›»~-â/ôN  f ¼Ù}Ãh…©ÔOĹû½kÛx0&bÞ{ûéœB¾Ïœø=+ “ÜøÕj"z}ͱ2*lJÂB’J#e§¡€†ÓE—ìÛÒlØþL´ÔAˆ}EÈÌ-ÝËϘ8æ2OÔ†¢äÓˆtœâ?è7ÏæR:®Ù,x#ÆHÕÇÞ›±‹­Uñ¸?YhÍ %¥ËäùŠ(‘ˆÎˆe–ý² ,#q •Dü(t[£”údLQQÕT.gªÎæþpù‚©KÓœCÄtÿ‚rêùž‘P»Ê[-þCè7˜™ÐŒãÞûãøÀì/³Æã•w@^èÝFxûÀ£Ñ fõâñÀ¿Aò€ÆƒÞ° º‹Ñ™oyÛø‘ÝÃ÷3Zhõ­î„]œíŠ8¬.ýÈku—>ÏÆV¿ÀH"bš™ Ù3À| KmqH•k3L -¤“ç߆’/Yav€ù¯ 2éÖ!ï,Ù\V@ñþ¯4÷¼,¦‘ÕìÊÆ‰Êh‹äÛ|]ÃøPe[DZ‹hb2".¿GĀ˹¬E6äéǽ`»Ï`™¯J,Dzùj yo.„yÇ?æ&?¡.%k¡â­‹ý |$)‘‰&Q˜…вp¸T¹ î—ÂPp¦%´Å&‚O¿·Q»­^Ù³–r&å~bˆrˆú¢Cyuƒ– Èê›\9~©u ‘ï{ט¹'Ï[ĺ+ü·¿–Çlrs @ï¬Í½`ÿ•UßðWàoø„Š‚Jí ÄÔ¢ªNÖ§ƒfñ"¥}G‹îäéLÎZé„á:¨ùu8Žd¥4®TìZ`¹© ÔÙBtŒÜg.gS©±x_ŸM‡Å³„P`íå‘ÿkb¦¬3oª×™ Å´™þNj7’YÊ¥Œ5Gó6†CùÔi¡…Æ£°áio@L…¿3ãsVモÁ¦ìë ïúÝ|i‡jÀ­6A~*~\ Tû‹Â¥™(Æ £Ý+Àdýà/Uk„#/K[÷–À¼õz‹G0E úÿ=…ê¼çÐÜi»Žú‚W³§ôiJXøZ¾yì·/Á¼Rªš÷ëEC>¤Ü&MþNâfGS(“ØzÛÓê–á"û®À˜2h]þï#4X9«>$¡þÒÆ~] ûFëD'X}`bÍF$[Q/Œ{?ÈV–¾Deª™´°ól]ºŠ‰­†Z~#&8^À 08¼ÖÅ@ËÈÀ‰ü$t'Yk#ùݤî«K­®Ä@S{vá>0"i<\ùAP¶z/¤Õ³ø·egq7n¯Èнœ÷&8Kn«Ê!ã*íD(« ü¸þú%¦ØÉ†Þ-6”èÀê”j¡tÛJ+Úc¸r— VÕ ÉôúÚªÍ÷/9ýÅ ¨•tø2Ã2A9ŸÊïÍ|x^ÆkCÕèzÖÆÁ–@+m¹«Í f¾Z-ƒûÞw{#%—nõ3ÑÀÚây ¦Û_QU ¾ùšj¦S剶“B-³Ãþ\!ƒ’\õõê'ïÙ<}ßC¹Žh\^V½¹EÜ<8L^-ˆÞ¡KOk ô³ïA¿œNØÙï”Q9–dÏH[ÉXÆÙOÔŠg0!Ž8åzZCØY΢¿ðÍå-zá*Ÿ«oJ[ј ø2G Èé‡,pû)9¯1É»jˆæø?%èsÐó1Á¸%ÿáWOÀY/amL»V6Ç+ä»Ëã9eÛ‰€Ñ:=—Â%!”ëB|ùö%°.²¤ß»ÊðéR7ùA²mk­9ñ@vóteœ_ñV{»ª¢ë e¨“S¢–LV,YÂ;£s™¯#Á®õèŽPìnkVšÞ…ˆôÅÎg¡4:êv\ÒÂhk*£Ú•XjËÛêòÀ|—±BSÄ®Åé×ÿî”±ˆµ‰Ò%óñÃÀ*ç_³0/P`Ï%³jöþ.´"¶Ýµhh¦ü•æ¿dµ¬§1Š`ͺw iº&!%·âÀô`×áΗ´ÌBE¯í}ês4~Ü2C„«©Ý)ÕÌv]°MøÊClw\™‹Çéçú +1¶ÑO†*Sm]â9ñ6‘ „Ö0¡¾äë/+г-s±@/D™‡Ä+ÍÒÃã£÷1ý󨩆µ-¤_쯷:#T§óß u¶±ÎcTDÐèþgø\m¯`â ïý‚ƒmï$Õd1À™´‘jht³'ËBÒ>E­ûapêápÒÚR¡áÊÅyõ³oD!mÌ–S.†.|@}ÇØÞ‰¥e‰'˜ùA¬¾Lkü lß@ŠLõ3‡täÆrÿ]Rñ´Û®ÝS¦[ÕãUuÃÈÄ §©ë¶Z#l†"ÊqÄ Ú°5µ ýà ŠäÉl›*|‘t¼ìGiöÂ>¾:@ç¡òìþZG:°àÃÞý¾ÍYå›û5.·‡%ì…ç™HDø`L‹Ì¢dKKt†Ï®ºã@ˆ0+vX‰ƒÕÄð_¿¬Xƒ¾íã¿1aØÞ¤Ù“ÁKJmM*=ÃÀ]ý[.jMACº³-P’2ñ»û¾ôgXcsJ›Bí¬:P¡Å@Pm«wì8¥/´=; ¿¤¤ßˆ”Þ÷%PÛâLPØi5žVhŒ¨„E2Ex&84™0(s¶<:Y¯Ïå|åuP!9ôJݧvš»Âñ(B˱]nmy6'(tãr"KÏ:Ug{Ö ( Âß*B’‚ºÏZË"Lêq  "Èu%"4¤?…õÌÍ„êã^4¾úӘǧzDhnàÀœ.ë¶xaï4ë¨;¹6.[çø–ca(,ýbö9r]¹`©þŽeËÉgò«ÏåÁ8îƒ[Y>Ï£v˜àR¯ †Ó¯LroƒœÓï·y{pæjV¦C=…5»†‡Ð•Ñ$føô.åÜÔü*Ýïˆ;𼿯„rfpÚ.ç´G~õ«UdX%IEAÈ·{1ÈçDP[µXO¶ûñ˜+ǵµ»áfܹ¬¹ÃÏÇ–8·ŽLMµÊ5; £¤3’Lo±·fMÓ Ë-&ò»ÇLªè¶2~‚nARZå“ñÎøœÐJú!@¦U§æí;¥ãfZŒ³™ç-¹R¾—×–ã";‘¡_Þ z¡ÇÆ×}C-Í¡ gÑ [†¯•FI0üa ÀiÄÞUÕñ$¼•¾”€‚vnCa;¦‘ñôÀ˜VkÌ  %"^"¯ ê6Û%|ßÉ©TáÄ|ÇÇsa5ß^âÐ{S‡ØÃÙˆü&šEK/"ö•rˆÖ(ßU\àN¥Ò@í9ÙÚèÊÒµ\áRÿœÕ‹_ì¥ßª£å¼üè{}¨êô.ç¡):4@¼WÑÁ&leÐ"lɪB|÷õ½b¬‰Øðµq1C:çj˜‡%¿o¬Ù©GMÃ%_öïM¥ƒ(>f¤Na’žÈâ× ºoB»'TѼ±+ÁdÜÐDí/—§Ñu'džâtª|—:}dx ‰ã™ÊFÏÖêwF5d)¨!R4xøÃG$6“ T§š|ã~öYyžUÁ:>iû½˜v5óÉ~é}ͦòE¬Wjõ#$å%ü°Š…¹Úß^´OEF4HEz\Lô„óÄýK~Ñ3ÿùˆð*šË0ì^2“ýŠ1ö *U•4ÂmåtI÷ìH´ü;/EK1ô§§­)¯_Š“¤Íøæhøj©ÒµôqÙßv³—7J¡¬Ã!Èܺÿ^ùÜšœOÊ3ï `XÉ©˜PqôÙ®Ð\ ½II' ¸SàJþ¾¡¯ŠÙ NeŒ©V£#Iæ–˜ ¾`P–ùÒ–ÃĨÆ5Hs!W8Ñ(µ!¨Òaõ5ùÍ17!4–ÆXWþoÊ%gǃˆæ +üÞÔ½¸x.ïñu¹lüâŽq_ÅN¯Ó½ÍÁŸkV2½®Xº¥áï0^v3âµâÅ€+Ô}ø®viEâBB‚ø†çôÕnZŽ>.ÿ¬âÆm*¢jó³a(ºHåŽÄEͱ˜¾¼L¡Vf·ܶ›-¤3ÒðŒøànS§uÄ9ÌC‚xø1+VåfrbéœW@åÒ=QòY†˜^ª‡áx}¯‚ì|»ÍpáÐ3Ìÿ“ë)|~TœÙ8‰ã<‡d—ò0ÈÇÍ"3q¡è#E¸i­ì|ôœ§§¯T^WMºBP(V ’Èrñ ß¤ºo¬C{üÙÙsÀÉÔ™‘Áu‰™. Ôâ¹Ëfkpü¶o³Y,‚ÚVõ§.Ð6û’Àx z³šÿÃ8MÐhPŸ+u´ökNÊ>Ò®†ãôyØs°>ÀtÕ¬¾0Œ0Êg×Ü"Îõ;‘¡‘ÒœÁ7Æ.ªøïÈm©cqSÖ¼o0Kü|¿³­­»(õÒ˜Îéû––7œ?ãÍå“R•{òt§µ——9ß:)ÒF×öï=ô)˜ 쥪;D+á³×"$Kr¦¹Ñ3„¥©QèßQ5Ùb§Ô(âq˜Ç\Þ6Ѭ¯ú7†°c,?;du‰WÍ'2šmGhSÓ³sW'h8n± ðfåÓ-2z— úóVm6Ûr¶8Ù 3Ý‘ðZ Ò ˆq‚³'|$¢¿Ü`¯§/»üü^þ„&þ¡þ¸<ãâ\¿0ǪGç°óÛÙ\à˜I;"S ‘ÓØ›ñ¬¢@°L¾+¶ì˜Ü‰qa¹­]Ü7ƒv ð,®•Ÿ»4…æ^Š¿‡/å¨êjÕâEUÜÞF Ä(KÞµïKæ HKŠòÞô&‡Àð&.«-\ š´Œ\K-HÓçï,¦ÒVÙìýý½Eå5”]#Îñu“M…†4 ò•¼_6ÁŒz5×Ì“ÎлºM , ¿øFßk€_bSL±KÂ#Åf3¯§€ÂûÓ mãCAbr˜ñ¬ßS±+{L&—•Ò69>­8È%c¦ÑTô¨FëÒyõPÿ÷jŸÒ Â>Í]F£Ìg--ŠN¸ÖSFj~3â”—[U æ_ž;èÙÒW%¶Å3±éiÆáÖwÁÏ^6K´zº}Ç­ú™‡=ºR¤ðH°¡ùÓSxNÊ@p€õ½ãâè4žrIýîºÌþ½Zñ`Ž@urÅQ;“vÏF›T8›Ò¯ú%%]"â/¯ÔãÊ™¹E€¦aº)XHìúþõëPÔñ'‘y-L)(;¥YÀ°ÿ¦ç¾3¾†ÞÇiÐÛ“Ý«æCšÉATÌñÎÕˆjɱPDŸË("0®Çô¯Œ¶5 åê¥ê}º})­1{ M¾]8(ÓÙk•X£ò×{›Ž§7¢¾:äõYt…ÙFѸòQ–2dLëÞ¬ÑÅuC¼ Ó§üõ v&£m×ÚL#¯h± ¿uxñ«ÉŇNoQ(!7’÷3Úïß₟']f…ƒ­X»¨ëÁ³[2¨»4´yÁh¹®H#¹y7ÎõY3ÛòS¾È ç³]‘4tZ@òØ|2Vc¸Œ×x9¯òTLDÜkhE@'ƒç…ø–å¹ô‡Å6j¯~ÛÇz×&é'²±8νòËÆ(¶¬YL?ßͯåñö%3©‹1wgºÿ¨ZM3-®€¤±$Npf ®¥ÜoÈïéÏoã#„ ©Ž%½ûÒ¯nG:òbg}SÏrYêu.#><Ç˺G‡ÞÚTü±Gb#Øp|mi£I™`¥Iî9µñ©É ÞNãlF ——¸™¸yF"æbË’¹˜­í6C¢°ü(ØÕcA!J6>­Þ“l,¥ñá­m¦ÃÿG¨)kÈ{€Å„µpæÁw ¿ø~e%Z(Nðî«jü^ëg.³'^ÿØ2ô~në]*ûÁàâ~Ä÷¨òydpâ&x¤é"¡CкÑ\ù~”œBLs¼¥™uxš¸–®áh( ]³a ³[ÆÎ…_¤7oj³VÈ1yÉò œÜ]“s§±Žx‚Ø ­Mþ'ø67þz®1¢ÌœêdèÙ2nhcAº¦LAD Žlû®9L'«}˜o[H¦¸6À ð™¥ýv’E ±4JÜòHQ§f»hD/ <ì@OUׯíX74nÐ_4õd4áLÊ/x::b-‰*­T¡dZL6mÌ$9ø8-iÁÛdxYýÓÁ HæÿìæŒ‡sAe€)ªÍ-»¤] "ß3lnÑëEKÀú¹„6;²Üh–XŠÅÙ|zëÔ]º§Û‚ÅеÉuΜ¬*@*7Ðd®u¸/¯0It8mÆîŽns’Í›@çéÜaÚ˜G—vIG#ª\ýøgÜg`9õ±ÌSÐ/—O¯lï¨ë·Wº˜h÷›3ìn´´o·WjBþÖµÑìV˃S‰EdeÝî°ÉüƒP¿me•FeíÔ¬žÝ×GEQ.¸ò-±+ :2²³ '£ã;UïÚ*/í[•ywñ{ÏÃu£%ßÓ2 £Möðƒñ²i±–§£riWÛsôçl¶ß=Q³Á}Zý Öõ,Ýûïõg92ßHÇnŠÔC6ô·“änωÞÁxlŒ…P‘4òKu‹ÓÚZª¤wkŠ=ô¿ÚtyA#mÉ«-®^È[ÙqfÁUš^éÄ]:Õœå$ÒMÓ/sXý÷1#E+2RÍ»õ4åd–³ÁgáaêÚëÌ*£gÇÔm¡*¯Î’Á5ô6‡2ÿÏ,›B,¤_!q_Ñoâ¬ËDÊóðj¯ŸF= ·«šÿÝÜP“£¿‹“ïR$ 4Óâr·ªjœ¿0X…a­U Xïc H‹'ËôÞ/Í uò}Ì»÷6§Ð’ˆ!œ)qQùƒqÒ”ä¹<Ä…MÎí™>±w¯»÷ì5ë†(Åœô+ºò=‚õþ¡‰ /%MÒ™fã ¹Á–rËæzÑ;ß#Û#¢-øÛ¼"ÓáS ɜݴ… u4uÜw0ÿO˜cë 1‹Œ[ˆÄë*/½¡¢”©ld$õÖ‰fŠŽß„w¢+¡{бÏÌU[×"‡tÀÍ7½ÐöL(Ò¢ôýpË ]í¼š¤¥1ƒÇeP’E¡Í-¿ªÔлDî÷ÙsÙB£uk±ù îó˜B)KÔmÊ`rœ%[7[ì髊D|ÙÃÚÖyCc%yIJýNT¢¸CÌž?—úÒBL«)µŒ²<Îì¢Gsó­ÕʳÊmžPÁÞÕí¨Øé>·œ¤ÐœŽ'½+÷lp‹÷Z‹ñNA±Q¿ÅÒP)šD*ÉÔòÉæÝ“TUüÅ/’õŒƒ¨ò³ŠO) X^öijcG÷ø´ðíÔ×Z7ª–êr³¾üªrdϧkAa¥w~…‡„÷hˆ-¼ù­s~ö‹V‡IËo š0@ÎèõÆO”ôÝDXë%krÞµ ˜™¿Ž¡9”¼D.‘Ý»HŒûÎ%\«8}d[TÀ …J§Ðe3Í”&¸ËyI"[}ǧ]ÙìlQ•7óþ1Ρþ¹ÉÑòÕlhJÍ‘%§¢áæðÀæëGîÿÕôîµ»)ò³­í$¼¼‰¤÷‰Ï‰]óô‰w;²KÙ)ᇸÔmñÖœýG]GS ŸŒéDÐŽœïÅÀkp¥Dþç4±ÿ“‡–±Õ ¡€}!Ö:|—jÓÀH _°>ÅuŒ7CKkéè­H8Ûø&•éC ±'DÒ-@û%`Ñ“!ڃʃç!–c6 u0©}j˹è…^ªŽ®²"È«¦%´xÑâ‡Až^³/¼Y_±-?…$5‚SÃ_’1ïÓ…‡/àD1#œ/ϰçŸJ5+T–0aBx¤x–Oã+ GÐ…L7<å=ò'C‰ñ?œq|þrÅ•9öh‡Q‚™–LŽ\äÌ#¾öïÍ4@ÖÙàó‰£;v _Vɘûǃb>»&”nº4(x9 — @ϼµëF*€9È–Qo>k>®l *\j;°œ®l„®*`K¥±,רR”‚n¡ äqÂÊ#¼ûÍŠ~H” «®úJtz"67tU(òc‹ç±©ÿÿ™ÖC°(P ²xî›­® 2Óh´ ×ܪw‹ª‡—*ŽûÉúÿNâÚ¨«\‰ä*®wnž4‹k<ÖÌñâd#"¾D’ÛTÖŒ~⸪»-aè÷âÜ£ï.ß^ITÉØVää]oH»4(j{™ÇsŒÕZ¯Ÿ­%ÛxŘ­à'1d8eègä`Œ”èáÿ\°œq›++œ*\ÆÇïÛÎ= ¨ótüœ±p»°§¸ýŸØÏªµöLøµF»[aÎ|.FÃ8TaÁÓ•1‚£(j.r}U¹ø-*ÚTºñ‡ ¹èV¡›ðöšLPkŒ>¬ž“IWžld^‘M??K H bJ3,é¨Cà ”MXî<^´ ù:êKsÎÉò#´ÑN°#sm®5©ˆÿN Ñuð ¹rNÒ‡›>*§S†äLùF¤4Œw&7®x^˜‡JQ4Ö$¬ê[ñˆèÂÐ|Ûƒßt8ïŒ×o^²ãÓ÷(\Jb WêÅh;gÄ™dØ™Å9‘'óEþc™ìüˆ˜¬Šï¨Ôù/‰ )zä–ÝùTïíó"úñ»ÒÕÌ}B§–·ý¢k —ØS®"C¹èΈ£ÝRw—P;ý(|ìï·P'`D ÕÃ0ä3Öí0c9H€Éí Ã-qwRLµîW㎈óÎiž9;úF¾K”²‹»@ç¦YÍh$™’iìä‡Å×^‡[לsßQ¦GX¯õ9ó¢õD{5#cÜ…÷FQ$ 3>'vþ­º8¥Þ.Ib3© ‚0´±‹˜Eä½}º$,ˆ×)¤½ØnÔîÃɹb¬"lOG/†H½g“«9¬ŠçPâາ¡.^ûBBÅ€ÕôЂ”#Ñqh)ÿ,N!é{õ¢Õ2ÜÜßx`T>&ÿƒz©ŒÓ^eù¸.§æ¿3ÄÆUÞèoŠT𙓛eiN€öAö°Â¯¹š’¯ æ„Û/Y`]a{DPc>êÛ çÎ:åù–Ž£_:©Š¦ºøS VÙÄ‘öSˆœK¶T89ªÞ÷j\…­q²è(Q0¢±-N\ø¤Ü4IDj=å.­Ü4>ôÏë\o@XDÏâÆcy ºèқᢻJ¦U¹ÈNêƒ2³‡Q)9ݨ՞o‡b¼4æd~:uÉîGû,á’­áñÅi×rˆý3±œ¹ˆöÔ½ó„` c5ô"Yh·õ¢Ÿ™¦|-ôp¬N$· A3 ˆŒZâN#L2 ±ö2àBü±E¤¢=v˜ÍMׇ¿@ad‚­ÖV7øœìÚ÷píƒÈ*3ßdlTƒ-õêÖ·cðâ/¡ÝØ.ü2n­%̬˜ÜÛ ÙEÚrǘ$4­Yà ‹`d6ËÕ.êöO·^žxq%:¬QfÛµ õYeÞ&½!vÿlÓ“ fåÙÆz”÷†,§^AnS=“…½š l!“˜¬å2ˆúa§Pý›¶!{9~d5e×±òÔ¥ÿó¡!UÆò>2¹ „äÝG\_µ'Þe­.Vë.Zj¶ÅIÁ<kP9ƒxJN×™Û” WÀ޵ ¶‰øu^2‚ïOaÕ84‰O#æ—"‰ÎJ' «‘κæ‡L=ÌDª¥™…v¦uÜç×¹Ü pæÂ &á!®‚N¿Gzkò±Ü6K°àꘅŽN¸|ÿ h*M ûÄ™ÓÈc¦„¢ob*ѶY àj=E'C×^REÀ Ô¨9E²{Q¦ –þ“Ÿþ®ÉÑÕîz$8 9«£% V¿T "íMR|Ä­Ï·‘ò—jøúǯ§–ÇÜS«#ÿ€&¬ÆŠ<à0S<° dtýךF¢ˆàÞçS+ì,Þ`2¸¼ý燙Àl  ízŒplǨ ”ÆYšaôpáÇ õ‹5ÆÔÈüÞ451,³µƒ(ÿ<»÷Âb¸Ï¶!‰7Åß>e¿N#W=äµÄ->DÕ^ƒ»Ø£FL“=ïYnh³Ã­IÿZl6Bì)‚¡¬M‡Ýz=KO–£, ‰ž°»;ô/³ u¥£?ðýäf´8˜Šˆ½4E„ü!P¹6™r6þMeK¥¸çEÈ'÷õ÷B°t›psÚ·s¾{þ÷þÃh¤‚> ˆÒÚýãf@ZaʬDh=,½ù÷ö•¦’CcXÖ+¡Ôaêš\@Þ¶>ÛÈ´©µXßQ4ª¼Þ$óCÇ£G7Æ&@ {J4Éež‡žÈý€U‹$?;@ˆ°%ëKE¤âYÄÖ”¯ZîÓGOÛÀÑ]yƒº Í|/9(=Ã8 Œn ª¼×¹™Ñìq‘xo I¨D—¤R#®[=“á7í´?†|§ †J* (Ƀ<ùzñÖsb·aÿ¶Á2#ð7æ†ì$Á<­;ÍU-Z''µúF™Ä…ò¡ˆÐ ewÕVõN›Ê²s¨Co Ñ|¿'iÿ1fBdŒ'*Õ$Q:öw«Â¹Æ¹¬W¥û!ÂTQN2ãÏs‰¯iøI¿-÷¿G§'ëOàCû ßXeOMcr†§¬BŠÅõBIF!NÀNòª¤Ìôý3b¹Ñ°MI¿Ÿæ«d{] AÛå{h–1Ú¿!.ê8Vd:È 8þˆ,.ºÜ¾~à(käL±ø‰€£_‡‘Êý­ÜÆ©'`ýñðY„u¯’ÝEÿ—ý„ëÃü‹œ<õ¿m¯{Ê×ëj‚tÒ©¿}ͧõ¯V[E€õu7ÂïçyäJBsW*CyLjfHhèO«‡Å‚Å ”:EƒûZ–I8j§Š2')€ü^]Á!,,ÕÄ-ÎG¤`FßlóxöüCÞ“C– q–—áï7ÃÒFŽŸ—*L¹¨ãSàµmd‡;'@˦GägsÍãÁë;j{ªÔ*“¨H/uvQRó‹Ì†ïp!¬QëìîÎ^‰ÀõwK«´¨ôØ] —â3á•Oõ-ñ·ÛZÏø=4$I˜¥º'HJ[ËBµÁD‘SpqgBn~ãí4-?ò °|Æ¡· W ª›f¦¸00. ¬ƒß µSåÛœåäZ`ðÀ%ѳ‰“Ô¸÷uûÚÃùcÏFùÛ¥ï~”Ñb|ȯq|¯Ï¼ÈqЂÀüWT½C V¥•`ñÇU©²×Aj®'„<ÒÈc³­TV>ì ûöÐÛ~ÄQÀê>§êجg®q9Ý×DXnÔLé'ÝiÔ… 1ཧ«4«$øQ1²sÌ‘Óxû¿k«ÚXÆ‘ò›Ò)3#œ>®Ó°¿Ô-7ÅK5û•z+"Ç'Ì8ûZïóƒét“¬¿T;©Â1é>—P°ù Æ52ÙŸn>‰'/Ý‚55øWù?†“²ý %øôw«ê(ecyU ¶ÈC&gmmÀž“c –ꘓfbTU[Le}=×8Þg;Ò¡Ë œÚ1÷Ÿ5Ïpœ ¾¦B:íÆ·Á—ë×\‚u'yÙݹ“ä«V¥íX¦Ÿo®( |Ï`Òᨥ\¢#¶>ݼ¿}öà”µ§úÌ€ß"ªY:¶%Ù7eú¡& 6j-(MÆœ¡F§¬&~a£øU”)Æï÷sG/¯ŒŠ*7-wÁwƒu|6ëQc{÷ÓõøŠ¥øµYÂSe”~+Üdÿ+j–=çáÁ4ß@‡%o( ÕïŒâlGF†Úr­Üð療ê!d;Kk^P¯y§ç?¤KÈük´Õº¤=šès•÷Ê(ˆ§¦‚6ëÁ¦µy¨<$t!cb‰¨ðòˆ ›î^N÷âl!u¾V¦,¶(ˆ³/Zû{}™ÚT¹+þy‚+6Æhì?êÅ•ø’²¾8­3oUˆ¬‹™%SpQ2šö½&'ùw4°n0ɑ鷗3^,£¼Y¹³›sv¨‰š¼”¯³jy ˜…îñù…ƒðÖæî²µÙbVÑŽ™@SÉk+ÔÅÕ`Ÿõ!j|·+oÞÙ°µéœÚ¼„ÞãÕÅjŸWƒ.!ŒAš5&>Â=.9¤Ý‹Öf®vñhŽø09ûnl…k8Cpõ¶/»Ib#œ×T¢òÞs’›&Ë›ê*rprEVu×rüî.¹ÝÏs”b£­›C…᱆;0žvÖ'Fwqa´ü(‹#¡hrdz‰`f×ç><×£œxYäzEŒÏ»Ô`sgdÝY×4ßx¹è€ MŠ…ó«ÅJ§¼Íènw¥ç8UFµê®–µŒºÕIíÖÇbPpã ßqê QKj™7ÈûªZçámFßC¸WBâç-vÕzûå.×&(d·Ò>Mµ«’a Û‘ÎéÃ2ÍÀu¦²@<@ NÙ«“zÂ;·U0EîÖo..a;w*§û%eˆq¶› ³²½[˜›3¢Ý‘8zæÍÊ¡q_o-õÂJOhòJÅÌ#óîÖ(./ýFgìBQf½`Lj d„â¾åU)3Ž„`é]H»ðÀÁbùŠ(öþÁ.È}+Íå àËîÀ½ŽZZ›ôôÓ ‰þF! >5„s/é¯~1üˆ€Ÿ”ëE* >žL=±‰òíA59jy3ž@}¯`9Jý(kî~I±ô¨A’—ƒ8ÒkMÉâÆ¦.í¨+]~õ)»‡Ä¹¶ñ)AÀ“€-Â?¨P?A§D|/é©4…²ëUYX•ïŠÞNž,Í’þ6íÌOy;ħɸ×üêí@J•7¸Ä’Õ´«ÀáŒãZb9ºA›Tm93Å’¡†±ÉžpOdÀÛyoØ"::Ò™DŠTƪùüÌÊ$ãîÏöyö™£‰˜œi^ê„åñ¥0NïØp…aƒM‘½·»À¯9üš‰å£OVX'ŠSòOJæäV&¬÷K3œè€,Y›åÇw!´ Ìn%Å+ØmNòÔA—£ôžüd#¥ 5ØnÛgÙÐÿ0 Êc~nLÎZÕ%ü¡ŽÞ_LjdsŸ‰Eý­0ÐígÉp?-þÃ7.àð¢cä•¶V€ã2^4Í Eÿéy>÷h£Ìª“C|’¦…#3[OÞÄh:.«×t<;'óUxÔ:Ãë DÀePά»VKëi¾l=ö8Ç¡éó¤Ù">èPËf·ÈsÔ5mõûv<Ô"ACÖ;•È׋I£û§8+öbÔ($Ñû‰ÉÌa¬|ŠBå#¢»µš Ò™.ü^Ý…ð‘|³d|D?‚âÏÓ,7hn…Ü|ÉB¾¬™7#=a«jÕ \îT‰äi)Òþ{Î>Ò~Ò?wG§KÓ`9·3oŽ–ÝkËëZ‰I­?†¹'½öåH©ímÍÃBR¤lÙÙÌûaºѱˆ…à?ùŽ3IC`Þâ4Œ×ÿ”ߣßuÖ}ò¼ Ub6Ö…Ò°jc^"[ÅU\X‚¦ÁòK¦{´x”é9­ð_ J¹Ì.RÚ@Р¤ä”þ¿Y¼¨ckÏÑ ^Δ®±P°xˆøŸ±é6 4‘i}ý °Ê6Ü[ŸòÌð‘cúà ´ÞUHÙ*ñÝ¿ q(QÝ.ï%^/­éÚÙq‚çoØ®tgbòmUp¬n|†’¦Œ)ÃêKÿ+¿´bÆf¹‚ÆÁL’&:kþXº>°ðv½Ž[<‡"i”aL£¶ EýÜy¢ZžNâ꺽w+Öðk`U‹ƒÜÞ¬¾øX²ž™}˜h„c3é;Ë%|Žz¬~ÈÀ®¯e4NؘŒµbAJ9™»½Á¹Ž¿Ï«åq«ÂiµZ¤¿Œ!¯cù>Nß)©Ðhp¬³Ò˜Ó/çš_13plÈô Ân’‘R؉‡)a^!&mmV^ð0â±Ò*ŠL;†I¦#ÇÍ•·—XVôóƒÆ&‰T¤@P¯ýN=«müŸ¾‘rbª7ú×#­¬IÔ£ Ô££Bûfå·„®0J˜µ¥ HÛ¥¾àÎ<`0p…p’&„>u.§RÎ{V‡T)ÜDÕ-vB¼šdñ¿ùôÙÞ9+ ^yºíïþ̓ﶯäéw—¯©š)xx»uŒýfûèõ«.T{íâ;…±áé4Îö·4NÈQ‚Žþ¸<\bcc³_·9)$4:Á·õ]§pÜøøŸ:‡Ñ¸…'3ô&zUx¨¹0“è3ï:x¬“áòªÆz)0D)t_ÕÚÙnËj„ÛYû»¯"ôð— ‡˜ü fžáë‘5L¾Vâ]º Ÿm‰'1wd wÒð;]äìÌŠ¯ÈÖ»®E‰êIÖ\[VÞF 6 ÃZHpbç`12´°y;Ç—Ø?p ‘Ž ó0Ñ?î…]²XAÓÈ«e;Ny"xRž¬¸AñÛ*s28è·Ïê˱#Í©+hЕ ¢iÐ_ƒÇ ‡P_¶^pdþÅ1[õ¹(£Â'QD¾)ÕYÀ³õ&F ÚSþ“ïdc[UÕpú>ìøÎ’ÕIjãB-+DMGw´ˆÁ]P”j…-2‰Fø,u“imâ‘ý>6È(&¿ó›[íZ”huk`fx4¦áSÝ|Ió‚ËýN8W+¼Ê–0=õÀ¨Çá™Õ®%•åI»ä~KÙmÙt3†É{:R \v4ý¨sÈÚ<•5™èÄ~“½¶"êùp5¦¶áíõ‚|N*nmòeÄÄ/ópÒ”—,ˆ3¢UñaŒš¿ïj‘yº©ox#˜ÃÔ'r´Ë/ofP©´¼tè[ù˜„RÝÊüƃvz­]‹¡£À¹|Êx.u§5ÎxUz½7€N•H{uòÁmËA_HÀƒ~3àxþKTráÖÝ…9Fl,d àØ²x'ó+ ¦ ÚÞsL˜Ìä#…B™‘tÜiÜâÔ*¬Ø¡·ÀdlnÖR7©'çø…ƒH5 ˆgÜïî¦Á~æ0FÃ^^-»oÜe&–N‰Yn–4!ûuªMÊ[Û' 2¬;ÈÌJÑ«€^þ£þãV7G· †kl ‚\ѧ´’\Î%È¿@Ÿ¾ jêùüéö™Ë÷^ÐØü!4 ?k}ÔLDø:a¬u(Ö%ä»4RW*q÷8xB¡jyh&0vóé09_ùä+ýâËûìpÏg0ˉtv lOmœ¨­¤EýÅò¹[º „Ùn|>òàN÷'|ø÷u-dÐ@bŽßðð©ßD/ºg•tYM×|þúb)Á„³fL„·tþ¸+á ¡q¸•À;Öφ4ÒíD‡ñ¤t=øýE˜u|Æ£Ä ÐTw²ôE‚§S´0¸zã+TêùÛ?„È*:,±Oƒ£€dà‰#Hí,Û0Û2A¨n;K*ùѾÄ@»>±EŒ`)l+H›7m1ìÎDó3'9em퉼Øqu÷ÆŒ52nˆÍbµ›ü•12Éu}¶ìYÂÖ²ÔSšÑj<ühñdp”W·‹ˆ{,¼¾š?šüšó&  /v•sEÅ5` ™ùc¢)ÀÞÔ#Abc@E¤¹ûByÖbìÑ·?7 ·;Š¢÷‡Q6Ø=t²ÓKÔ^3"ðÇ-ÕÉÏ~ùÖ,ê÷V)L4N¸çЍ#Ïq}Ù#ü„æàߪ|ñ²a€\ ¿g÷]ÁÂù½’Œ )Òî{UÜ ûF9[Ùsiû´óÁb[ ¼7Qß°­ ‹á¦PñšÂZ–„ä]Fvðk:fC ¤[~¾ fÉM¦/$îêÏBr¢2ä$ÏèM'‰"Œx(‘^"gÔv54XˆµFÎáͧCk8ä^žX1„Gdz+Ì]›’âÜÒÕÿâw䊹éÓOçRßÈÓ#lrnïQ©’œ`Àï51ÚY1ï/¡©¯hŸ9}r0¯ðö*Ï1Ç~»ðgœ{Ä¥-Ö$%ü,~ÜEY‚ÏiyqÇû´(Z´]™åAoÜ’„t¬ôíÊ•v7hóUýÐòŵ+|6~âwl†ÎEû6ã6ÊQæbÝzZúLêv\±˜CÔ|Ÿw5 °²‰…ÖIV½ü¤Ýlé¼Q¸åwÔ[[‹ü?»¦Ò-Î,o××ÑìB±ÑÍD<apH"œE9ø(©.ÃÑd犥8«6"bË|ZCˆBX·(~ž懌À/±ðêàÏOQºã§ ßpCî*nåolÛÌ€ö£ 9ž…ýÚ#¯±îêÀ£Òdž·ày¡§ñ¡Õ\õ™ ñŒ ð›šØb«ÂwŠ~?CAÓá§ÓF Ç.29¤H±;–F¾ö;m®ZšØ.£ÌIW†6uÓ 9CÆÄußè.Ã䦹ôÑOx~‚éA_Ò%Ä”ì’ä›'%<š\s.Ee…^Pˆƒ2‘})/‰Ëu±ü{©?ãtë³oÊj\Ö1D:oìÒ×e S_M ÑÖ ˜¹Ð â&Ù³6=¡_v¥A±yÅp³p]b°ÍúÊbón61ú¼« ÖdÁÅìÚú÷¸»:Œ.ㆠ·ÊD+€ ¹À&òáyxÕÃkl ÞòFu(²§nà aŠÙßdzkcØsêLƒ¶AåW“sª‘Ò–ˆ_|¿ŠÐÁßúÅôUEî‚R&}ç èµcQ÷f\Ì3$ Ú:- Ï OJ?âWnŽŸe«;~°ÐØgŒ¸ÞõC¬'Ó‰I„€ @÷ïÎz(ÏÎ_šO¹2ÒÑïe35EŒKP*o›yÇó0Ñ”fŠÅBÊšÜ#”N,®£¨–p.Íwv fEÄ>¤(öëá…õ¾à˜žs¥’ù+ÿÍò°’X-ØþA-;Üý<ªÔ㿚ßBì§À‡¯»$ÎQ5å£*½ R,ÙëšßLX£?ÕðÈÒ/AWÌC‘]Ý`ë'eM ²&Ÿ 3ÁB8ñ¾<âkÏ`Ïó%ÝšbŽ*²ç™iùÄ|»>)®ÕÅX#æ)L×e†üÆ­uŒBÞZç¨Ø~ÊL~öÑ °VÚ,bÀ ‹Î—/kâ•ò¦šCJ KÃî*¸Cø‚6wßÀð*¹‰i°Q™GÞÎîxµU.o' :Ÿ¶g]âÆey2¸O‡ñíM¶pñ¾¼hE3àšÏÔiæf‡wcIÊàjÀ¤SKJYŒúfe,}ÀUQ䫬ŒU’([³Ý-ɼò²"‡è$œVSè?è#Á_š§õŸ'¹W¦iæ)(ŽOÔõš’Ý塸úÓG¢´_CÕ.oÆ“eÞÉX®Øçj™ñ’9¼Nßèò†ÇÕ”bµ…‚Æ0=TsQ2rû®È Ò¦)1Šé~SÆ \@<ßðî‹W#N¹=Œ­ ’Ù+«béÚÛ‚¼ÄÅ™¤Zv1’¦¹ usœm]¬_]Ç3Ôg˜÷%v¹¦~Çü*fGMç"þe?è×YØÙW¨à+Q˜GµœØDâßwÜ.}ùWâ}LùÑ7¥/?Q©È‚GÍÒâš –ˆ?Mé’{¿cûex’ 2¨`Z@þL(¯’øuóœl;…­ú(­@ 7xmÆV×6P“¼‚QKQ ¼œw `À¸Å Hk“~£ êq¶Š]f‡µÔ+}@˜].‘‚S>êFPXŸ,¿¨_ÍBçÏqW5§@EògäçZ„嫆Bùaª»Ã>gî…lB·ì>&SyŸ‰¤ˆéÃ~Zµ_ÏÏÙžf°0#´€å*Ï5ätlY̕ޅW ‚ŸDrP€D|lOÓqçD™s´ÄFÒ³°”a÷È ë·•úO&¾eïÞBÝ“bT…,…?b-DÙOûƒ¶É®0M2^>4\K’y˜jg÷¸óUt=K?tâÔ†ÞN-×áÙÎäÀ&ý5üB¹þ~Îx#’*Ù¯8`?%º=“@õIŸ½ ¬w»~‰©M‡aÕoeã]1Q)÷CrŸ‡HÊ»þâÑEš]Uv—&•a9©HßìƒÙôœ«Íî¨ÿÀ4Äèö/ð“?”7<ØÉxúÄóÁ6¯W‰¤3hlãJœ„Ó­|\†æYõgYÒ\/¦ ò*? ò<\߈AÈR=±!‰ðÊ´nŽdì¡Ç¢æB{´ÐÈBx¯äqh—p9£º»ü¦APù¡^k^¥÷"{èu5Ù.8HPAçzõ‹o!qs@\`üöîul>¨ëåVÜ €Â?´ s·ºõ?„&–›ª\¨ùv®>2S*¢ök0%IíõÀ2òÃ/ ÑOYJ͹c~L¦Ö§OCÓÓíÞÀS W‡=V§¬FÌ/¯&ß ùsÕ éŵ‡N°FæŒ ýP_ ÎF/ñ"œswJª8`ác!{J, æCxõ“¶™Ya$ëù^†þu8`&ñ0õ@ØOµÙ÷X°×<x,úcžsÈ) ó:ßËsgn&Y¤¡|7<ú˜’œnêy yjh÷0È{•ÐVþͶz‰9úýÙGÖN)ÂÎä¦ì\©«"Z\G¿Œ›ÿ!èI˶¡Šl­€æÿ9½ÖOµdžd+MKý˜¤øÝÜÀc ‹è xHʱXŸ¥Uæ{™o¢kaÎÏ&- Œ\hƒe“„­Ò*|¯C‡zé¥ÑjÃ7÷:DO3cµ°å•‰ÒTà3Áð,J"Mªi”(˜R-'(Dè†Å²|{n½?¦Y¦2W°è~´òIJ €†|y›mÑ&Á€DÚu6r€q¾¥\Ç ¿:¸žÖ/ /gÔ—¯1•scÌûsŸ;ÞBX=cƒ:&oéø7ÿ€R>I qo_Á“µøÄMðݶF»Uñä¸ì»ô Ÿ W§dûþØÌ Ë܃ƒé4ولÔñ^qܪÞà1F܂ԊV89ƒŽíã<ñ žeCòœWåPÌÈ,QúùÔÖçªÂs½H’œä+ƾøgFS*¶;!Äf~>J|¼1rM@ú¹ò46<‚ôyý¥IÏ‘ãDFE Ùa£ t@8|竪Ðß'Z€?–ªÿ|KBlã©N ¬ìw¥õgM 'ÊYOêL‚µÔð+õø@¾òr¢«0ú¸]íPä±zÕJ3—¦W8Ç|$nHXB×5n ¶¼»/¢Q¯=x…ÄÏV¡—Àd,àBÄ_XÅËû†>dH<‹&Sf®HÔ_!I|àr§L„·lÔUVÞo;3¢!;ú>$/fG·÷UuÉPLYÊŽØìl\>‚–„pK¥¦r66·çâóýÒ&5„õ.–…Ó' Õ_妨¥ž…ŸM¨Ò¾œZ?Þ¼!Clñ‘®eŽXLu’‚ÐN—‚Ñù!ú]U þºª"˜Z ã%²wäJÃ3ƬFƒfï¨ákd4é ­ãÒá÷Tª=“½~ UE‰i°ƒ,#©ÏÖò*2œ¥Ÿ“Aòw‰7²ño¯úF(‚jåÈ·…M:’ ¼wB)ÓþüE±omÁ«4óVE™ÐмÅçÔn.bíÊï§GÚ ƒzŠÔ4?ï•lͮۄúò£_;Ô¾À—/N·ËÌC—ø—žrw~Ø6¾â¯ø‘â+ƒ|¿– v?Ì7Q¬lN<˜“ð&'œrä¬ ÆÆnïò¯À¸m2¼Ÿ.Ó Ã!«G›{ø, Ÿì¬·ô—5þÑ•së4¸2åkת¢ì )f’.Ð/‹5¢Ð†—j”3_µ>ê2Ûuk%“8~ðú×ËhÏûÈ'Ù¦r‘‘1zÖmC‹Kâ æxSt·Ë´V ÕEˆ˜gMu ã”Ãþ[D¤CË`ªPðŒØŸü“„c“ÿ•nŒ×=rœU-ÂËò[Iu{ašÁ{¥ÊÏÿJ·W’73(Ëê#þl¦Ä‚0!*ñY†9àœÓ{ªïDÞ~÷7|ŒÎ©Âº¯Y8Fû×¶ êÛ›åÅ3xw!ýÍÙ´m‘¤¾ej"J(gQ}@Ä–ãÿI!¬gÖ•$WKpíYÌÛVNÊÿê7L†Ó`Üáùçâ üKŒvÞœôä-ß^àçHG„X±¤~$únMzm´Üö45]¨Î9Vîð!nÒÄç5ÊVn=^å€$c“v\ž8Á‚Ñån¹ÇDÍŸ’Ƹy÷wÊÞܰ>ÿ3NyÓ‹¾Ú­ï&N©b>c˜ \dB q Ý©6ÙE¨ý¸ÄNóG‚)ŸÔm{øóAáj0²ã£óžF[kÚlòŸW—­à®/x½X"ò²¼¯$A)†Ï_˜´f-ÝUÀ˜E¦™¤÷ß¼„#Ò×+&Ç@àEÙüÅ:C€L7Ú;,4"Òwt9¬èæg/𢆑½?a:ìdë s¨Y“ ¢Àb.$c ‹Žâ°:Ýjìáq94µÄ¨µ,¿–lE‚†0ˆ©7;2™bÍÂh½)²NJM3ö{=Žv^ìwÛeËPgú€ëÚ¢vÙ}á'ö°5)Ѝ°“ÃĨEöä× VCsBT}GN€b8¨|×-Ú=ˆ Þ»EN6wmêî $úq&Ï!‡ÈGg?ò 3ã˜R ‚#WÚèr5ìqSý¬MnŽèú¶ÌöPKþº™}L2+#'ÜóÂwÄ }ôR©2{‘w~pUyg>§EdCâùÈ"ò™pñÊ‹ù§ŕõ5ÐBkz·äî0 qÌPy,xcíœû¦€4³ ·vfÛNŒ ÈN,¶¥ˆÕøöËž‘Ý柧 Õ ¶·rîQÚšòn€³o¼AÁ ‰³UN[03þtÔ±øIH(Ï{R\†F³„¸Ÿ]׼Ƃ." ¹)©Ñ¡Ñ–guÂw€ñ²îìöÛ+a¬þ{ö‚‹tÄMÜ£.$=.Ï×á°ââ¡iÈËùÛ‹kZ2Ÿ¹8l·†µ¢ó²Ë¿-ã•Í÷ß”g¨q.°<}%²¸“9üüü¹‘œ­Ë¢<[¹&3VDÂ-×.šJ½”b ëí‹ „ÒGÖf9NÁt…M‡V7 É`_ÎGíh3§XŠwµmÍÅeºc&7Áá6ìüû–ÇâuøM‚\Dù<úGTfŠ–qV ~Æšô<û?nÛ$…žSœEVLÏúy—»E·‹¨cð ¼Iàó$AÅ×E]âþb ¡dæÓ£F•ºÃT³³lí j»A G¤p‡ò•l3~{Ó©µîC£QÜ*÷c„!ªˆ0e-}–:d]Õ4˜g?/É2¸õ€ã‰ŸÃXžæ&Â2«˜ÄùS”wG|;5ñ­úð+à¿´¸Fl‰Ö)ý^bÄÑI,â•Û-¤j½Í×Hánå–z[Òqµ pˆ¶BràÀlî?/=iêu$­ó³àÕÑÔ‹ü Õõ†¯*8ô›å Š(à\+zŸ ŽÒ…5ù&¶Ìƒ:rÝ@ñÏf>ÓÉ-ó;/UDwÕf€XU**´ÏòºÌüéê£¦à™³CzEyD~Aˆ‘£ ½·`ƒŠsyè´‚ùÑ §éÒ¡³ø9 Ÿ«w˜Ç_Éj$Ø€}žz¾¥L‘Ø€²ÀÆ–Æ´ø÷e¾{z¸d£u žë=xîiR¨$EîÜ‹B·óÜM×8F—5Êþ­ë¨â×îq\'…OêMLð§ÆûT”Wø­Hg†g6jñ™Õ¶é[±²îí é Q}’úQ#64OÙKÞv 5L‡ždÚú —;cÞ>>ôڨI1ÈÝÄ‹y%Y¸˜5UC—omñ¯v¼Qzžr‡Ð T°9.¹”c‰%¬FÙBµ©Ø^°À¥ÇÐUtŠ ç·Û¹’u|¢õnÚƒ¼Ðt§©€R|¹¡þãçékô¿¡U"ì]xz¹f8Q<¡€[«g.;ZKåK`Fª’÷5—j’׿5:úǧ;f­oºÀ<[ðv 4D`6WqQÑC-H ÉñƵ ¯TЖŒîÄ^v.qBrÇT©©/µ)£Nç-ü’¨ÎŽ/æì*¥j°™HúÅvZbgýfúÑlIDðš6Q´&‘ëÀÏÂBÊKY&ÎÐ_w¶š«Çùø?4÷tˆãqà >p(îr©ûg+#´¹€±áUôò–+¤.¨:ÔAf2YáäéÚIxH:sÕ®²ØöâûJ=ùìºÈÉîí ±î@ ¾:.2™@ëÊg*X»ó˜ŒL<ä›ÉbãÊ?KŸ…¨ °P唥€Z[ 4âš_9æ)™—Ëñ4·žº<Îo·}Y• ’tÜñ- Œ¾ !ò¦ñ `;_¾×- ÷|  S?°–UÐ&æ:;f=XÏS©Fòzòg×¹—´šfÅF¥Ð™JÄê2‡R¶ÈF<»~1=9H+,ZCA‘uÐds*ÆTš)ê»O˜jˆ%4UÞ;[?Qþ¡ ³ ×ÛŠÊÄöaÁîãfÀ˜>û D2Sd¾ü ñ¡ÐGܹÀå«„À5üVOŒ£Ý¯/FΜ%KÓ?Ê‹r¸¢$O Þ”üëC¨°cDÆfqžö_—gˆ S¶2̉“Ù}œÖ«ÄÄÆmDñD´¹ü¾á?J^.ô~ƒºà÷uxÊø“þÐKyyl<¼îhÑ!]ˆÓ²QN˜+ÝÖA n^ ¼€[üuÿ}ÍÎûÿ5áN¨š4dä[H>3åèÔ7ó|ìo «êô »¿`ˆÁÓ·6à¶À±½dQBµ²mdÙv+LŽ®g˜TÓGƒ\xr¯ç¦ñZç–Ü—¹0ŸZZéŠÍ/ê.·@GWe¸6RcS"M! –…ærMñ9öɯQ¥MóƒÃ&´ ð}ã?¸;–´ý%¨ÆÐ`º K7öBæR¤–“áö åf]p¬¦IÚ`üèþÇŇäªã?øQ ìP*šèºÂ;žUôÌ›™Ÿ>EcYÛ¯qj¢X¢ ÀyÐÔÃdÒ–S¸œ8´?ñ¶5IðÂd |Rn6¶›ûÒA ~&3$¼Xܴ~¥ÚLòÝ?¤¢‹úßl{6Þ…ÄêâÞ ²^óɶ° ¡ÛTÒ0XÑns¶#f•1Û­îr’I·ܦF8#­ÀŒ72+H®wúà4±Êà{Ž5Üq>0bâùõ½œ3ßU;äòׂ†ÕTŽiäb@Ñý¶?T®>^í8`‰§Âh1I]¹Ÿ ‚lÈàô=ü`<&Üù /’R›ÞÖÙ_¸ïØú’’\ õ‚±4íu`RLÛ¥ÆB¶b7Ct‰ëÞî ÅlþÓVáa1ðÍübv¸é’{>&Ðb_ýìš^A§mF]}Zí‚ 5èL ¾Ù×/LSt@F9R»qüÇiE+ªÜ>z3“ö,øSµF?ªò;$qÝ?5±1Ø•é ¦ÿ„Zä66‚ºëŸ Ïà:T¸Ív ”^5='¼*j8´X|QûøÖŒÜM]=3‚rfâ;z½¬mÅFâ ®&™Þ¸$L€ ƒi÷.´e*Õ.}îu…”£]û§HþÓž`…¹Awfª÷=wG™­Út”«øÞÿ ~NtC«O\Hf%v6€b7Ðq×íÒh ¹ÕI–è-ñ4DWµÂh¡ñC©®1ÂÇþ °J%b½¿`žõõê.}ò*á\F:YsQ_þ{áD‹î¥ò]—ÏYMœ_ÄMòµ,/…Î .ÆtBa å‰Á¼+> &ÄîtüªÃêXâsÔg©åðS®¸+{èö¯©Öh-s†ö®1–IHaˆãÝߨ.°ÇCɹKEØlFåú¯ƒ+â)vtk•iÁ ç4UDí²ï§H–6VJPêœàÙ‘‹ˆZ ¯ÕñÊÆë8ÆíØÖ¢® «D¶t—ýÔ)D`!|2?:x!NfÙE¤rì_ûœr½ŠzËñ?ÁBŒ½*ô]+‡·É çzé +!Y·¦îûBbáõOƒ›Ì "ó¸¹Xä/uËè|ú Œ&Ù-IB!õ–+ÞËz;½<ŒJÏ3:™+ h›ë&¼áÊ((RÎÑ´3GÕûªi~…%ÞÑ‹`ô{?…’œUÑÛvă^+µ_éàÌ<§¤ÌÂj§ü™Ÿò.o¶^‡üÚö}–Mñá„¡]¼7EÄW:É:Í¥5å;t…Œv9ÊOŸ°ÿWSÀS(W´(ŸÖ'ZEF­ßá)Ù÷º2weÂnÒ— q°#[6|cë ?¯Y Oô&û qÊ^Ɔ¤QVhëOñ~º¥ÁcÖ ÁmF¶ºÑjF¾#0LÃëØmØ´€óA@ùþd·@8ìy¬yGó|þ°Æ%{2œSñ¿‹ž×wõ%^Àþ Œô—(Ýÿíºº-m+X=Tøèo%¥ÅjGÖ;/Ùö¹Ú-Fw~D#…3\¶þ™ž$¶}ÏDÎ.ê<Ô•+S© òº¡3MéíøDŸÆ[ée¨ìpRã˜nôi¾V] W¹°æ?ÃE'&Fó‡·`}'§ø'qâ“uCÜV¹Òæ-#Q ÂpÀ<—r'_) µ§Z~ ÒÑ5‡Ä>2p”®`,MSöJ@(#>uç]>&†õã7F¾0 e;uZî‹:EÁñ§¿“¢¸Œ2¢Wï£Ç'ÒíO*õú|7³DÜÓ1ö™{ÑñfÒ¿r<IÔ³w™ ©b)'}vÌxAÒD™9þtÏ<`ÝZ/O )Í–OKÿ'ʺ‰ pÍäÔúø¨)é E•<¸¢5hUX<'§¦¹—òÝ“¦ˆx«?¬Ý&‰_–”ïòî>µ][4ãÚþ¯‘hy\ÉHí¨ì/bx°,2.šÞ‡äWgÔeø Ȭ1. ”—¢ùCâ?ˆK1rΈT9ùîÝkB%Kwcúz”÷Qd¯‰X:–Õã½ÖUºã ¶i)}óù&pÊ·÷Ýð«%ª:`ï€9ªþ—!œ•ËU‡G¡U‚ù‚ýÂüšeÈ \} 1­âj¥ôám¿Ydøì¥{º¡•Üx¢ªò?j@¢y±>v\Og‹½ÊÂÃïzì |j<èƒüöUÄqÏ+X ºéÌ{ÒVråænFƒcDQM„øÄß³K F<º^º„,j9C4‰ðWZDu*÷$†¹ö¥pNi/¼©±x¾q&¥9s¾Ö´ÕÌ”ñtë¶J$l¼Ò<¤ënŽrW±ÎL:(¸˜7u¦ÂR¶ ñèœ?>¸úÊÖÆ´)Ñœ‰{”öÅ|òð/ËKt<Ï 9ÇsÞk(–6» v' ÇÁ»%åøÓK̲Θà')@ÍŠ:V{Æ}wÕ"/;:ït îa½U‘c í×cµà„©­™²uŽí1Æ ª¥Ãm4Ó„çÜŠõ`{Û|’ñÓSk6hXÕ@LóæBæ¶áå§JL8ŽÈ¼ƒÿs/­¬<ä•|HÞþÇÆÈxKæ6õ>®©ù3Xœ”qÙÅIgÈ»ü6<æ%š&Ùâ1üìR}Ó½Ù]6Æ·Jëpî’½>Aþ/vAÌøË_ãÆZ"9¸¨÷Ò‰?!vÖ =Jô{” ÎM²mþÃ<[ëe†’D¿QUpµîVõƱsgP ¦i'Ã#AèõS®U¹F µ‘'ãõ/…Û˜IÀfý½c•gËÆ·Så˸P\£Ù:Ç ŸuÉ×UÛäÁ^`Ó# IÖÙõûó/’tÿÜú-+ŸÇ"ž)="­ªªe÷Ä’·ñ€f`˜¤.–ÅÛÐÑž=œjSéþyƒ§DKúNˆ¸~ýM©ø8·ÕGy„?b©lUÕc(‰vÃ1¤ýuÅíÝ+fÞ¨ºI"¨wRÖÏM„Ÿ3 #èÏS68_ÏEü5R,OJ=—^7`4.cábÿw é$å[ªÅb½ØÑp „´ÁåjMèP­)à4;ú°C|±0 ôYFƒ$ÕsbUîå°Ux¹À>3“óçZX±îO1¥¹ ÝÞ[],t~œ(D U 1£Z4^7î«´§¹.¨³+4/jó³™ðmŠ=ËŸ*ßsú~óH™&Ch­Ký¿tŽÈ¦–X¸ö3‰¶R-Z¨«º»G1{4“»¿˜‚=¥ol‹šÜ1«ÈëW@‡>ŽJ™ßg4“+w]ÂɆ°™+KËàrÖƒ–c-l‹Ûe.®sõÞ²~;eO“´uû éÀê]0þ‹2 d'“ƒ¦D ‰c#ï›t.Y×Êò\º=š›Ö+Ýé GÿŒéàj#g—æ?†#4£ ߦÂÞ´5ô$£#æîQªn—×a?Õsѯ߭b›ã,$iÉI‰el­¿"ç< ųVcXJ¨¡+¯½-ôE ·ös_”äW„r3eãjÙíÕØž³|Ð: àÄC–<´IU]Û€#s? DkÿÖø(ÿ¡NÞ07˜Ù~p¿‘ü¦6þò§¸î&_VÉæ`‹bfþ¯_aÇN®Üâ‚tØ£Y„÷wd =ùxIÕ>ðÅoF‚[R§‹fÇcCÿÃX7ía˜2b± Ž3m+Ëü÷BB„½®'•´t¨õ€½÷h2PT@Š8pPµºùPFåqË;ޏY‘‘ÌÃlÝM ³ôE³Ì÷ švGn#V,’öå“ü_âyw®Ù°ZQ¸WmÀtÊS¹ëbqŒp8å}ýÝWÉI‚X DrÕ✠ç\wq4:[B ÌâæÑ/Í%œ-6ö² êNG §Ì*ZÁbh`D Ž# ÈðàÆÜÏØ[Æãé²A•™­ÿ~óI;|†6Þ@þ°-ü°¯7±¤!8ºJƷȰ/ëâC ÖŸÆ—*y.èŦ˜Ø¾îÝiõÄS‚„jSãëLgÉ4Ç\@hýCÂucÕAÚü£¯Rî‹"ÚVÕ<4 [Séì¤Ó¸) 3qSNÿn;r0F ?¡Ð'(f- Õº‡ðù‘V°ïQO’¿Éß‘óce[ž¸·§>¿®ßæ6‰XHŽè"¨m‰æä½î橼«b¼÷­ÍÙKºXE¡¤æ+¹,ŽóÛöW8›Ð„;Œ|Y#1’” ƒXÆÄ^"*½tRÑeÍ„Áž:ì±rLèZ f´â_Cw’Ó±më{kv¯p¯X Ðþ–šÓø\co”#U °S‡–IuùÁì$%èÁŒºTòÏ'EEu2ø «‡®O´% ‘ñÂIÌ8ô ã" #Øaï%ýÁÃ&°}Ë ü˜Œñí™òšy73âß'-X'šÏVUGY0ÆtÔxIC$ ͈ZòóËT^#Ò¡Ôlþ}»o~œo ±mÔG ~&ÃY¶×>³Óý:€…¥1‡í Úä‰ ÚÜ:\Ätbm€p<¿`p…n▜ɪ‘ŵ*÷Ç.ì·¯HQ½5Ñ€8›J F~Nµ\óT„è†Ì¾#EGÆÂô=€‹9ûpk N®ÛnS´ŽÏå& ¸ DMü}:d39ñæGî$ P‰²;ÿkSj¡É‰n ãJIüú¥¥Ça øI¢;̦¤Ù±çç&`È0’6VôÕÐ@âW£Á¿ï1ª{æ,åkaY]ÛŠ˜ã·ˆ¤Xëzº*ÕS…˜Ê² ':LuH۳関eÅöjÔ¥.­AÌP¦ °Ÿã ýhNÍGRíI‡1(ö[¿§y&®÷ÁAA•ÑÕn¡­Š½ýçó¯Žnøré¶!|íÇu|Ü7¦?°¶ PmÖ]ÍôaÌ­»ô{ßÅ%ÔÌÓ·ÁDLrkUµÏÛΦ‘ ª ì÷|*åVæƒk3Ðñç M¹¸yß C§öÔœöŒy ÏédXÅü§Cók9PV¢‚¯û -œ—áöÃVÉKûàJ=p÷»¹›¼L™UA$Æk5M5:àœgÂv°Hyv:‡@y`´j ͦˆ»Ä ‡f%ZƒÓa=éÐßd°.ÐZ¬˜JœÉ B§q0qZñåa dNhEþK•@é[o¹šîhîâHÒ¸S(ÎgœªÄÚ×Gm ®µ²ð(èç&oö¤•Ѹ õBOL-Ó¡ ÄHôCBq÷‚®ô7PÞÒí&¤'îÀó-Gåm[ðúŸú‚ 8ÁVEQÀ5IðM¨åÚßàï¾=±L(¯Dó'wrTÅA#*‚×ÅqX¢ð×Ay$,oúqø«ÎÙhZzˆ•y&ùMBÿ„’s5i³6‘ö1auÛ͇£gÚÁd+~ÓŨqæÀÚbÞÿÖg ‘‚?ÖµEÞM¾Ü››¸¶á·lâðç¢ éõ²,QALêµèêêß>&&—UŒÉÀâ3#¿ò±70øÆ{‹, ÞC¦ÈV*r2>æ«s)5Ô¬VœÏˆT÷ý-n¦@ÿ±pƒyÃÿáÎC"šD"*i,gèjÕþq ýkóÍOÙ4ÊBûZïŠzQ‡ ß’œÒ¸='$ìn hó–¤ëFTÀtUªÕ€†e]±„Š¿©i—ñ/"'°^ÂљՈ"žª¢¯æúP~ fK[%5Lp£QE£õô÷ññžvAž¥^¦Á–¼Ï?¿¢ŽdÑãžRþGSïëÙžD^ê4‘+ÁàK• êšÔ»a}FG*‘·‡ð±€y¡%ôYœuÁÏíBnM1Ô•Èà¡ü.›(*½OèÝâ­lÀkø¿»ÌËš&‚üôÆÙ¾l~<´ä*œ¯í+vMêè5B3©QØOVg¼*/¿+S{–å•…ý?zFŒøµÒ]éóæZ/ýŽAÀÐ5µ¬G°Ì(C—À|I¿ã#'–ü¶÷N‡üè§³ƒÍîùà2œIÿ 8”ÕrÀa$’£u¢ê)•ûd {êæøv͉†DÇ”ÐÄé–½‘ƒS«à„ìÒ‚ô‘SWšepåx3·j-z •>ÞRÕŸÚvÅ »¥/}Zg¥*Úzí=Y­¦ÿ†º·j:®tÙÒ~çR¸«·6—¼•j?Ì«}H?ŽÂ»4@NõÐ%Бd¸Ê¢÷[måudc™[.ã4oæ%W0Q\¼YÁkˆQG¤+ò¹ü‰›LúsS’éëQ/æø¦…^U‘»œSŸ§ˆzrTàÌ0EA¨ÞgWIü,èòOËð—w;a—µ“ÔHì³_Îz·²j+Ò7&÷Zïl§ÚAcLw\-Ò¥ [äT°n,ºÞ|ì;«JnCŠ˜Õ©ûnÓºÆWZþÐVÎeDôÃI ô£¤jçÖCÖ¢(lRtQCÊ·õÜ’h»~ Ø'H×’ì)\ÚãŠäç;»Y‚ËÖ·þ9™kDN…1,ÜøÙa‹ ì¢h©iÆ›b<˜…èåY¥X‡!Êàƒ ¬ å ÞEœÒ,] C˜ÎOÅØCŒQ.ý”d%àÙ€‚VÏôï,ƒMçý(3D(ñRoXÛõÛ«¹Úo!›þ&Ú µwƒ¢ôÚUÃ9И²í^´°äÒÜçÏJš5Ù­VŠB¶HœZ"ŒƒO#fÖÝ\œ‡3q°ó%úœ8s·5Ú¾xx”‰ˆì?xÂQnN¨Àé3F±c³Y „ø8‰x7žð¸ÜŒ d©‹ö;X[ì²iø½$ Ë%I*!Áfi]wºòܾÔð0I ‡/ªþ9ëò!…}Vyˆæ˜‹C:ïYvÝ >Æ#€4Kpr Y3E„ÖǶœ-Œž&F#gÝLéº÷Ο§Y]è«è¾í®üådE°]6/úvÎÅÿd]K¨¢¥µÉ2P3ñߤü4º›ªS00BÇÌÄèI‚*Dzuà-N“Lj¢*åø»Ý³$¢§¹x¥zøÛGMÞ:'ËØb9ŠK®?ËV³˜Jé…Pi1tì$=äõǯáÇÌôjHŽJC€o½a/4ú¸Õݘ½Î$n;.ò7Îm‘~6Ìê´ZOapU‚B¥ Kþ‘·tf„1;¼ÒÂɵY§bœÙ`ü-f¥#uŠØÍ'\%e³"63Lš3÷ïÔt×û —Í=÷o¨/ÓÕI>3¶±O€2\ëÛJ XKïݬÀÀSô^œIZ±•GäÄ |ì™gçì)]œÅJ²ËÙßë¬[6»`ês8¨ð‹r‘ªhlÈú¿ Áx³NDƒ€•~K¦¿±ÔÙ2‹º‡!TøOLÁðÒtâ=¶Y›„ g‡’-A mˆþz x”ļç*Ô³œZvtœKˆ¢eU€ƒuŒX¨ àв£5L0±Þö›MÎæ5zÉÿømuqQë8Éš©}¿K™Á®ˆ´µQ= N2º«þ¿ŽÞ×ç3—3¾·éã” ?ÉÒåVõ-ShÛ·©Ë‘å3¥µšÉƒÞ{U ÇH¥O %ˆŽ\°¤Ÿºÿ^ÛíÁ²ÜTlDbÄßójÃàØ¦­½”<“ËBð ˜;µK& ¬ÐfÀ±a½­a]ìoHO^3\÷&æX2CÞÄÔme$¨Û²Ð+ª­h)»‚˜¹e(5¶5ƒθ"•7núëÕ?}U³öP/ÎM@¢š¯~®ž;²¦ûX <°ï4#Ó¸Cya“³Ég/ÙTËyñ$iáP_Áð;¢$Iȉ)µºÇÉø°èB‚>UDÅÝuóY½¬áŽQÉ]˜éK ‰Z:‰"‡Ã—WÀÿ&‚‡$‚ŒÇ°¡â]¶ôùÖ½3='ý'¨Ú{F›«Žýç×9V¢íª"'µK|ä›ú•µUœº“Њ…#n3Ú7reÏ>ù»úçþez–¨m.AŽf¨Ö1¾­¼ï{œ]CGLgŒâ×Å8Æ•Ö>œ´oøÎÿ#sCS;\-r›1ïñoï{y)@•ê¹aW¿Û¶ðør½ îó8¿¶ô0¸ÕøŸ́’0kÝÿ͈ a=Jê}\Îë-Å&ºRë€ÇÛÓKBÎHd¥ãcÈy»ÐˆNª¡NÞ4ͬ–$zpÓN Ú±¥[ˆ¿g§ôÔ…Jü~I¯ß’36K€C?.ÓMÓ+¬-!#©n\DÊöx«|¯ø sÍ—8OPMGvçMwjMæb¬þ)™h»ÒiGàiÓ‚êæÈ”-r|®Éa²nÿâ[ÎDuhÌÂÎîã„]| \Cw詭矨¤µeC0eâà äùÔEóÆÈ^›oŽª·'çþœFãR•7/MzŽ‹)þ™’€ÁȽá—ÚlÌÙ=¡–¨bÂÁ?#ž| ôwêÃx«ˆZÏ·g´?cà>{62| ‘TgºÌbß¶|ŒGñÖòˆ¾°UûÒ³ü4ûh4ÊMK½DË2v?KL_âæíùø^Ðļ兠A["Wèj“Qõ.‹´6ƒÄ8ä¡Þ5ݶ/Æ\ºðFñƒ)z)ª1L$£ÀúÇ´®^®†5Ì/‹\g|ýKG½jn¶ªýݹžb§ØÒ ±ø|ØÎ‹LU¼aÏS+ÓÚìEA˜üãJN À¬”E<CºB`(ñËGŽ[Ü0¯!èeëæÅm¡]eo霳iRœ£KÙ±WØ[s±Š%ã&|ÉaÄ Ùa¯y\aŸ±Ä °Æó¡á\´êÿØ ê¤´OF¿šZÍÜe PÓ>$ØÃpî±{_Ru{‡[ ¼Áµþ¬X0‰!½Jâäw­(ù¯M†YLиS„G+ ²Êèû™^¶D@7&I›¢O·2+àÜ®ZæÛ˜D-õ.ÂJÂ|œ}£ã>ˆ9.=*v`=šù,ÈL±5"ÿþƒ3§ ÝF£òç|*e&¨r„4Í;³Ÿ¥jsÊÜìÞšÊ# ‚;nYW°O%ëÚë$*!€úoHFQÙ¿3ã'w92]«Îõä&7i^ÜÍl €Äœ“ñÁ;³cÞþKp¿¡ªLê6xƒ^ÁÞ”Ÿö áñCðüÄ]ýÜÖY,Ž×É"¨ˆFE•¦¼›lÏ·´`Û¡€àϾ{gé»ÖÉŽ½qŒƒ‚#D|ñBåqnãA×ë׌̓ƒøF§ºy(§±xIð»[kËÇ™Á1PÇÓ`? “j`Gð ñºœÕÿ_þÌ_“³Ig«¬žâàw˜Ö&í²ºr˜ÏÕžI·,åIÙìX˜áöΆ›o=¦–í±1Ï´âLAŠfcùþë°–7Á³ ‚:ÃÆ÷ ‰¡Oú LJV÷%W›3åJ¿dSüc£–‰P’üsÝ5M'‰ AC ¯÷€:ÒÅâœðº¥Ìôó,7s§4Ëw{/$Zðp˜N2äà_{ê|¡ jò<§¸&3\ßê’};ÁÞwHùnº?dé ºó [vÔŸ»×­2û£ z9§¹ùKžnÉzøÐ"/2'°³(sǮȂ[DØJ½âB^a0‹®¹zdÂ- ü œhYQ}-Û}'osàÐÚ@?CP@Öa€¥4²Vs§¢éÞ1€¹“ /wro°«XŠqê÷(÷ƒ.DI¨_B¥#îò›ÄÇú^}•6Êij%S Sûëœ@6ªRtÁcÞ€VêÌã(ÁôåÂÊ‚ª§BÑ NÀ°ìü×p²5—–¼Ó‡ Üâ`>¶Z%ëiÒdÍ×ê•s9x`W. ÁÿͤWë§Þ¬|éM«1[€Mfªœ–¶Û)p×÷}b¢`MeQúuB4 öw5Ê«áÁíz4A«×¹Î+ëβ–™Îk—î·\ŠqðЇWêO'$%Ê"IÑÈJJ Ä `¦{eHÜ=3sЦ&mÄþ!eð“BÎ.ò£lrBåòíeîE¾k¹t;QSjUX–«~k34_ÊïGdõ GÏD/ñâ§qBÎy3×$¸á_ÙOjÍG°ñC ûûÚôÿ-}­èÊ®œ”åÇšV¯Cgâ… ´(ž†fÔH2¿Ýa*Ä"»¯Mæõk¦{KŸ™òeσpàû&¹a‡5ZÅì ixë…ø›ö*-©î5\-¬öWŒxH×.,ön:^À½Øƒ³dh# ?r—$¶$ãf‹Í³Ö ÖǤ9£;·ÉÒHb?€PÒñ_¿Í^Õ; ªä?9oçÞôNî=Ó’èyÛY°ÏNúòïÑ6u.°¥G2ûèªèž+ø:·óÆú¨^¤û!Jv ¢K}h85ËÀrôŒu‹ p˜_éfHâf/àO›As½fDHD”öñÆ|šWù‚£`“T¯»›¯=ð¬žCBÛ:×åŸƌߧìø"‡AÕRñVyð«ÈÅÔÃUƒô‰\ü~ˆ†‰äÖäe ˜R¡þ—Y+J ‡/÷ÿ7àÕÄ¡”'ŽòI d\¢°Ý{ƒe`Çà3ï'©ÍQ›rØnÉuç” ê܃ ç$ˆÏœÔ|‹tÏÖ)ú¾âzdŸ„¤X#ð ®wöœæ³QðuÖQ5›{ô"¦2@Ži"¦œ§œE’¡ˆÒ410ûkÔ%`fPêâe ¢έ´¢Ú]­8J¿É+,Îðtß-É£!‘&ÀI£à鳊xý9Jå5ðãÁ1šæGÿ ò Þ²úç—udƒ8çÏçNüïÉÌܶÄÑ[ÒêIxWº¾¡´¤¥üÛ2ՇÈ|{‡BÖf|¾”’Ûýzj“{ó²yf5J8[ë CìyåúÕü–7/ V¤fm™x=Ú±ˆY±âÈõù·–ÚêöR\(F®sX Û¼m ^‘ÃØ^Š)„Bú¿ª詾Ì?ŽÉ´%„Aõ^‡9;¶À2ªêˆoÿ“¯àæ„…÷°6‚E¥I@ÿiì”·<þnpë%òÎ\Ûµb}³Þ­¾IÌq0Õ]'„úÈQnåw®P²Bù]Õ“¹šzïA"ÌÅ@FCk¯øØ¢÷fèŸ"Èp‡\Ýj½ Xt÷¨JÀqoä¶ ªzäå¢ê]ׯuèÔ«‰f\Ùá—´ö^9.¡ö¿ÂΫ_¶…k’c!±‡œÄôTgß|©vf3è>±ýì Jە骿¾ ¡ÛÞ²x7ï™ íŒSB «ëÏÖÍq0(ŽÅí’ßqé›<¸€¢@ö!9½ÀiˆÈt 8 xÿ«ƒ5ÉpbЮ&4êX>‚Ë%ƒ{!mJ žl༯0¨H ÙV ½Ä†:ôz¶ Rà í[^“TÝÛ¬QÓÈOÕÎ+æ»-jyäÃŽÿ„‰†joä®ßÈRØ.ÆMùÃÏHÉQˆª–ÝLJÈŽIÄ\!\cto¾œåUv$™T›`å6Þø,3Ó>Í1Ë8¿Ìa¨šç¹"@y-¡t®òJuÒŒ¾…Zo¶> Û€¸Ë°òÛòIñι3 èÙ%—f^öúúzݮڑ;¡Í¡Ã³gK¯4¨fWJE›£é4;ªŠ`±Q´ˆ†_ñclWZ›ð±g±Õfu}š^ú{ÄðS´ôg(Ù†HJ¶O+Ýÿz‡(Qñ¨=ý»ø×G>¹›ÞÖ…~®#·FÆrÓæ2Ü4MdžR˜g†ì%j5¾¡ ‹ `­zJè…>ˆ;S¨…|žDP•Ón„Ò6T—eå jsÃ#oÓ@4E}Ëà 702¦„Ðê°ë3J»<{Ë3]´ÆÏጉÈRjú<Œ’5òb´~U'*•S4ÝRÛîÞçîùRÜmv,6„Rç÷eRMñæ` 8; ?8DÞä%¸°åf?¨b’”Ç:‡ç¹ªð\›e¸‡zÖvFt·3BÄ0\^´?†·+prûT%ç¥J/q<“սŅü^iV jõ`HÌüÁM£¨èËü8 ½ª“*Ó€Ñ^srš¿ÙiÇ”a;È#»î_\š2‰÷ÝýËh`’˜‚“ÓUŒÅTfnšŠRÅÃg™¯úýëðVÏQ@b—\ÿI1ýX6ïƒ,‰Ø<êã@P(­ªýÕ„}˜ÇTXªSÌkÕ•[*›…ßÖÏáù’^ß´^¹ÃYüÍ_‹U2’QŸºšpbGxÛ¢ö2äU¨{`µÐÚ]–ˆqˆ¼Jþ¯1 Ö¹öè·.Fåá¶9èZüó¦*²N…R•ô~*½úºú_qOÒ– W `ó_-ê¶yuˆ3­§jɼŸíXEâÛÉ#ÑŠpÀÆ'#1ú8ùÃ:¸°||òàæÇfo"8ïT¹˜YÊ3­ˆc$†m²÷±ÛQPþ=LiDÏôü=Y{Î_Æ#´ §d=¬18ÞˆQlИc‡igÔÂÆ¡ÇÉéí_ª+Þ•ò|Ál q®J£KõF “òœ$éÛ­Í[ûùc¡g/ˆb Ð1©‡,€T=ٜӇZ¦Ä.  K`Q½±6Ì\ä»|g t;ý˜ú‹(TÎß]µÑ8NæW)€Ó™ŽXbЏŸK“ºz1dÿ}›|ª=NËU¡uò±Ã–ÏQ.HxJÇCpÂ~óKÕSô¤}T#Ötã·ÄRˆ°’ æßʦÉKF’‰ŸmHw`8;r ,Qo:QüÉAO:GŸÝkx5å©òWF¿ÆG„Ö­Ú^KŠô<ÎwѪ¦© ˜RvÁqþî#ÊÀbÄ×v. ¼+÷âò?i1O’Ë,ixo¿]uHzìàjCY¤5hš‘Ö~ؽ³ø´_P¾›]i•EÖK¨Ï5•CbFÊ›4ÕL‰ôÖ ÝÌχhzäŒè(±#Üzšñ¦äÂÖ)8þ®ºqÄÜY¯¨ý3’¥ \¦HRƒÙæd‚{s|âÖXMŸK9t¶%rÁÁ¡`ÚæyšÏyžž¹Ê iú7"¢òÓ/@•Üæ¡¤¼‚%,ÿ¤×k™ÀÙ¬›DÒl„))?£d˜Á9ñª~åŸej\¿ô˜`ÌW{Ì”nêXç$þ$Ö,W @ën… ½£-U]j&I™xž&ü ÂÜ'•½G¦D@qIN|)͉u°'œÚÃóæN‡:ÕLÇ|£«¹izwÀÓÎaçLaÍÝ%ú»Õ‚9å Ôü ¤ä-»êoϼ¨ÖÒÇ ³¾ku²‚çÔ*7Æë6GÅ1³a;xÑ‹P&ðÕQm¬åÍþ‚Ô¤exÒWµpô¯}¿È˜Ð¸…áéIÇ*¦œzh6ñ£`fE0ÄZyHÏ>jý `Æ7Ї6Hy¢Xç"™2˜W|¥sŸèDfn~žDìó¦‡>'¤ýŠì’ýè!K>@Ãߟq»Û‰”µ¾aÄ+ß䙜( O0>/rŒÜF«Á WÇE²‡:o¾2<ù: (æãI‚°ký£¶1ÒÊôÚìÎuù‹_Ày-µÔáûmçù{Nñ_.®…‘|Ð9å«k÷oëì»oCx4ó¤~ãŸR ëýË.¤ ¨îÔ›~rû?züeÁGÙA‹i˜= §Xæ¦É0ž•äRŒÂÛV†ÚdNiS«î]cÜLÛ÷îâøq¸Æ×ËÇ—£V 鲎~vïQ$ e’0½‡EùQ]ˆ*È0aÔV‘ã§¿C;¶‰ {WYY^+ƒžÀ¾ñ€0î=Î×'HhŒRëS„·m °“da2"Zd#âso®_>˜å!þ RAѪNÄØ¿ûOè¶©(HµÇ*w‡ò tù˜¤€`Ází:ºLi\ˆý A³UìR“Õ³0 ²Z 5”l¹ª‘™…¤<+Ž7®*£u-åÌ_ ž§Óë¼&°—VÅ¢Ùå{—`"j3p´Þ©”*&3ø„Ê‚qÔ3*¾èëOׄ±+Ø‹ðÿeÅ–'ÅÀËþÆ[%_ÃØno|”àRX ëN`U©í#M+œäµ ½ÿìú/J­©;ÁÑìÄ„d•R]¬á«Šøa¸fo.òòå¿Ar*ÀR¾g¡Ò’ ¼Ã;jª·‘8$·†òݳUÜ×4%±¥“ýN•™·ËÓÑÖ57³å…„Tº¹“¬I¥sXzéñçm©Añ½ v­æSÔLÌ»Æ)FÚÛlU z{3z?bL^“ÏÉ•,»¨‡¢TÙ”»»Œö.Ü£{úRHÎõÅíñ-ÈØÆøˆsšÖb<š,×éók­˜CP(ñ×®§°<¥ ;Dyb•†„! ®Nâj§¹|Š×oo³9$êSaäµU1úóæ=æ·X<Êôf¸zì€g.ŒGPQ3@=3È«p:GKKßRüw¾ãT×MµªJ6½ISƒø§20”2î‘…†Þ⼘RàmïwOùE´xL"ç)ÔeTŒÑ’#Â’\+±,WÇì¡#iö›¿6aÑ@½eRgÍË’ÛÐïù/œŸï2© ¶8WÝÅ@yXû瘒P(˰7”ãµË&Uñ%bæà²¹»@Ú’‡%„*-ë›by“U°×4ŽšYþ£YˆMM$<6»ƒ¥c`áf9GñÃ^s¢¶zå\)B¤ç¤ãžr%XÎègàƒ‡Jý+‚½¢†Ãi#Ã̧nNYæ€TU¨k¬…Ó.° `k.ûãÜCÅ‹@̳»„šKænŠ¢ñGé%‡.vaÞ7œCWÓ‹Ë9¡N`¾Üð“÷·(‰[T{£•ð á=úY‘{Z6¼5\×ópýL··z6.JvxòÊ»ñ±@hQ Æy‹%oÏi ùò‡™×ukœçð¿TB(•ZcfO± « pg?y÷‹®ÿk‰‚ªKw[K{$kt¸vÞ3èV£IŒÕ½”bÐ*‰ÂÞ†bDêzñÔîÜJÚBkÌ0u{P:¾H:çþij 7ŸSz‘íŸLרÂ$¡¥@+l&dnŸîckX¨ÛÍ<›\Èš;Ñ‘+×àUÓb¥¼:Øp£Ì©íÒëüÅG…M¿ºø< yÖ‰l×ý"åo5]­5$‚»®ïIŽ_R^¼õx%úD>¯ÇðšD•žHífªF2ÜEè1b#UîFKÀ ø•áD€ø!,$§Ñ¨dRˆH¢X>ášÄn¢¾ÏuHípF`&£ÐyF4·ÔYwu¼˜Æ/KÐömå™ (¦¹"åÜ0»øR"M]Ý£ÉÌö¬‘)±R´U ¡O`¢÷©¤Ô%)uËw N1‚VpÀkQ¸Uån¥ Ÿ‡–Ødh0‹Ï÷!N ù:’wt«„ìDEÀM“É’™^ ´±™(ßlæIy€§ˆÿ›­„‹ÿNYó:v˜lXpgÛb®Bß¹—yßäÒŸ+ wƒjâ³öÙ„FÆŽµG‰È}]ŠCbtg·z¶ƒo@9ÄfvE ŸqŽßEV½†bXšc¶îö` Å+k/1CðTŽ©šïŒö¼emÄ2³¯êÆùÁÙ¢DHBÝ ¥²Û)[ancãÙGS$7–æî3¯ýâ#k´y){žr~2Í+ Ä1´EeˆþzÌõ{[Ó:Ð-ÃôTSE=Ž"Çìx¶eÖ߇É(Ž6“Rr:³?Ñ*±’÷þ@CþN4K»G­àUƒÁBß\wRßè2½—o¨P‰³1ú½Ô-1—) °A áÙ¨þ§ËEVõ½PB¤û½=¿¯`– eúä4+ä„‘M–·ÖàÝ;“ßfß^B+d4èŽïa)Ä)ÅÄl)—‚˪ Í¥á]€?Ùâü–,׊7×ë^lSÔ[SUI € ŸÎ—#DEQå.<“ÏÁ*sSíZÅî®D©øùætQ^¢PÓ ê܇¼& \ãÖçAy°ëS¡§¯çÎ'ü‘JÉÛ=,@Âô”6ÖñÊÜÙÑË?HwØS§­ß.ñÉŠ?ËCçôö(³jPX„ÝÔÎ#¦ =ÄO–âÞ¥WhíFÝ‘0jóµ Š MR†QxÎÃ[yŠ~Œ¤Ûµ½Êh²Ã[Ô‡XËz¨ Ü`q»ÕãÇgÖšReR]€IHcâ£o'ê!„m1½xׄ¹&Z^8P³ºœö¦´Þëg¨ yü'êÔ£€Du ÝÖ¿²ˆ–:Ù ×ÏÜæÂeàÉwn+úüïsX~¤öâhIsž¶‡³Äÿm›ÿX~60F€œbÍØDh ¥ÉÝ#ëQIÌó+PúòØ]x25«v:ÚÔ²}ì G»em`á8_ŒŒš¤ÐvüK!ãCc¯ÏR-!½8ÆVJ©ïÕÚ’%DË®e7)55œè–‡‹Aå~zŠéÀWæ•+5ówK©Îgâ^ë)a Ž£ÜÎô“¸JWÏ!“IÖ^$qj •³Å r¥¦ŸEJC¯ž¿û̃VÛ³0ÍPNVÓê;c5¨ë„×2¶c˜³Ø¸Dë½—z¾QzÿD˜Ëûkâk7¥’…Ù䥫d åW)±@Ïø0£liðý\û ïÇo`§S]í Ùª]¼…PY¹’F‘ÿÞËR¹Ž³}nbå Þ•C!Q€]½c2%‹‡°~Õ¥Yån…U®á÷‹7Z)‡;1!}Žžì½iH³(¦Ÿ·iNí YkLÙ”Ìt]96õs_+W†ÖÜíåfLÊm¦jÏ ×þf¬¦{>ÙÉPùUWŸ.œÌDÿ‡Yœ¢pŠO¥‡Åå È¥ûJŸ×!”‰ ã…g&>YDúðÚ“{}eiGŒ¯Ïÿ¡4’¼zRãðŽj}ßèo2G>ɔŗ†csC·îÉ;›—*n–p´NG÷ _ZíG¤{ZoÆîLÀBâ RiÜm…Z œEôWY—^)c/…IMË£_¶×LJ7ê+d81Ë‘œž2€Óšäc%µƒOw y0ty-/nPP çT®ÃI|ÝŒ IœG˜úÞ3©èl¿rñ NßY¶@m ÜÓ4¤qª®Á﬑v% ûíÏ`•kÈ$.×!žò c±3»ZãÃe8DMpì€cF$û¾ÓºE)ð̲ö‘`‚‹Â•ïóÿÿ]¬Ž,ÛÍФXU°(F Ø}‘ð€š•/·{›Ã-yËétÖ R%¿Þȳ]Ù^)=Üâ–÷uWσŸ·°$xÐýåoA<Æ:žt{Æ›FÏ ”̺u¥Dû}ü¥„Œå"bßµÈÎ7‘]Í…z6ðò8D<7µ*wøvÇЫ«=8Ó1à¸yŒx—¢¤ðìuŽ¿ÍAsI²áDÂçâyÜX¢C¬ƒ¥œ…¾ nˆNÓšrÈìMŒ1{>sYåA˳ íxë˜`lfi ÆugtÆ¢‚ U KO¨µ¦2¦ ÍÅØ1 `X:>o“&³hKRI±Ä©¸bñ9ŠM§-°¥yÆšqá|k¡Âhˆhõ`ö-­ €Í·Qn fìà·1 ¬& ëö7:œÿl„‡×³®±ó!)-;}ñZÃŽTf@¯©E:  ún±‡ݘ9Äñ)›˜a€‹´)¥÷•' Hùñ“õ–ÉøÛ’6ƒÄ¨XÏ ß#T(–Õ[v“©›Hk³(ÆCˆ$¦îŒä$‹ýžòrC­¢s^XJ{î¯0&1;b_«ñE8bM·É£gx7Ë©ß\>Dý”Éqx¤Z”ÅÛªÔ"›à¤Éîqÿ`ä&Ê•xÍŽÿÚÙ?j{_ "ÌÈŠŽ9Á]Ö…ýQ|º sO›$"äô—[?¨ Ф››Òrr÷cÕ DMZùN‚0›ØfÕ(¬ÎãÞÖ/£Öñh–—¨ªð,Á¢¤>ý‘ÙlšÚmògÜÖYò ŒçŒWÕ§FÔ¥f‡3\ϼëÞa×(3±.¡[“RYŸòÙ†}±+—ÕíhÖ_`çôŒü­7¥ÿh_9 TûK·ÍÇ&­6cãe“‘‚ˆS`XFԦϡpÀíÂÒ¤2‰äù1Á”…s¿ÏÀ¸ù©ÜØf¯_R7…¹_M äÅèceGö׈áóü/öæÏ3ØÚyca¿•üÛa3u°­©A`|B*¸€$ ±Ò¶î„¢·©`}9[ᵿñä‚§|ëÈBâò^>1à›tÚ<~"Õ^È» ÷¢.\c@JåpÓá`¿XÀŠDcñöܵÁÄ™‚}Ÿ:ñW€µXvDÚFl ݵG˜"ȯÆßž"#O¾ÅAQÃãÉ!{­8ÚHrim§=ÓÉÂ’jÈöÄHj'ß[jÒW¦Fä(‰§ÆÄL;ëPö²ò¯{Ñ…çš[Èâ^öÌJÛ@ʇ‹ilšÇ;iËìm«þÝÅ„¸?ýò<‚MŠJZ¡I÷S×ç@w¤"v8ÅUØa 72…ÙÇq¯—ŒØÍ,w`R¿@¬ÃtÄÉ”Íώ‚–ÂÓ5ƒÑú·ÕY†€d§Ý¥ä*gQú-Ô2Jh÷Q&²Îÿ ·ÿWPÒRRÞ_©ŠÀœþ BwÃ[Ýßç_V« ¥o”0&Ý›MêóØš@"]éßJ™ õa™ùg—:WÞ·xœ“†—íOäf0VG¢ À>²_gs;±æ1ëx'×Eë¨:¥Oo^Ý>¦Ôá7ŽZj½H±ûZW±ÒAMM²¶t}t$Ú{©ÿ(²Óˆ)5¢®v™UÚ¶å -•ÏbYPÇJmçE”©+t0@{×ÑHø¿7WJ†ã‰ÂÒïÉâ‡Wï ‘G’¤uä§]´‰"—ãçz=Dj‡9 –;wMŽª‡šŽ9òaEÎ+x“_#'<'O¯ªöœ5MH™vôj˜m2"êöþÕzOκQñíSš÷¡tX…yN–»âøÊFÇ*íÔäU5¥è6¬aé`¿§®6¹™â9®1¹ñš@šÖ¤Q„¡Nʲkƒ¨ä—å}ʺ £w$²7t’–"¦xÌ[ʼnLÕ‰t¼ÖM|êûN‘´|ÄÀÆê…@…‹å4–<ûÏïðÒ“4Îãýg1èã\µ¦Q¬Ýb pNx»mx‹0Mêã)¾d±ãÓ5¦l“ y\Åøëo=@úבÀoAû(Æçî,°1éDˆ+•.}:¨ÕKn`×ù‘M4 ³¡—µ»åóxÖ«ª/¸~Q»ŒñÒ|Ûõ‹DΘö.•}†Næ3ø…õt£Âé ˜Å¯ƒ³¡Jusw,ã’ªMïW×5¢Þø …/¸í=ûÉ.±ÝÙæÛÓ]kô|7K]M <<"6U£z6—)áù®øä’¦ÙÈ× çÇyjSw‚†AS˜ZóÄE}•ÖЪ¼1”I>)ï{Ycm5D´‡§NˆÛdyüŽrßYErJ-iuLâC&_öÒÈé»ÿñz €J³·)höúµP¶'{;¼§'£É®(ÁÇlÚOí0ˆÚg©ó—¿£‰˜mù¨xWLÚ¡žüµhFôЇ$¸1²‡P~ï°Çt5 ÞÜœáÝ ÒkjôH&Z,ª1Ô5¹¿áÅ_|ÀôK V•¹Ï½„šä¸ZWªÞ Ìm¦è'¯D™uÈ'fDHÔ—‘ìG ‡æ·ØPŒ§…–Ö6ò”ÁÉä¯'b¬ÓLeh¬=ɸ"{*Z)öé1_íÿŸ,ˆ dfnVª_{®]E"T.—lÂÁ@Z mÁ~Žå-r–i_ÅÈõË+ùŽ^´ž{Eš6”E¤ÂÝ€`°›«%°mÿ— Ä%¶Õ#–jºZªú¶k¬nóŒ•[Éù¬YηiÁWž·ò†6Baø–ÓqNÕ›Ãæƒ%ì.Ϻ´tM–n*ზ *B:d´×έcÐñ?Á„Ÿ•XµèØé"È•eê×>ž;³Ò#¹^åþéRÂñ:zž2¹S 9jË&†_d/Hñ¿ÁÙÚÒ«Y}û9,©v:sùt±ÒÅŒ¡±Ì GZf÷Ûp­ŒoÈS'ƒþ+Åû¢!D` .V+>çSË[Q°§pB²ïMúú‘¶ã^AÂtó½¹ÒTÙ˜ÕIVì­²3¡쨫Ùvæ:Âá|ÆCryõzÇÔÞ“øKþ¡ðÐ÷¬ÈºÚ}9 (鿪Ö{0SGÇÆÎ-Ç–ªu¼æŸ >ídXãw™ÙÓÉ„fÍrxöŽþ¿?”›U+á:@)O=íîçù[RCåaÿtuæ‹9Zê.Õ7ë·ù«!ñ½fV ¥ä¡…2¶Ã ÝÜbRW/ÁEuüí1Ä”Úõ·¶)d•ñ2ø0¹cÝBkr~¯t·6M~ï=óŸ·XmD0Ë œÕÂ4I¤ê‰ÛnW1¨; "ïK>÷¼]@ÚrÃá‰I³þkrº×Y=q^Qï0;.Ø…ÃCô+O[sýL †« 9ïùÚ¹þÓ\èš2Áv‹â=Éž/ÿ¯ÎVÑ¥}5̰[áÙƒéÔEêý XF²ÌLÊ$æaן99:ÖøâWéô.9l%f¸æúyuñ´Ì)q¶7"‡ÇJê¥ ,Š•4ÝfwGÏ)‹HãØ 3Nꨶh¶æZç¹%Õó„8ÈLx„&Ž8ïþt¯¶ßœ4ñFj2æ£x7Î48PÀøœfÌ¡~ Ѝ@·­8¬7gKBVÚsV/é˜M{ö*¢-ïý è÷ƈ£è>žpɳ±2ˆÍ½üÅTøÁ“ÿÆ(ºA}SAæpò3O€™ahUîyÍõû¯¢éiÖ‡…÷Ï”¡"kvXðÎ×Ë·*C!õ_'1–®ÇÖ¬ÊÄÙú{¯ÖaÔRù7"càš"Ê´JCyû@O™§eü%kl¿/{"-ŸŠñ®=í¾y3srÿóË9Ù│k¬ܤÛPLW=Ó%a7É6 °/ônŒÖ6Ñ1‘cy¹â ö'C;÷ê÷«zòÁ+µWØJ`P¿Êi’¾0ëyíþüºÁG‘ònf‘½+sðL¯?²ÈDš-nü™<èòºX‘Ô— }´ :c-¾a×7J# ¼$…Õ>ºíè³ÄGO*-ç;$i–bI„ϑó8!Z?ÙÕÖƒK3–þo¸f59¿%o–¥ŸˆR‡ïŒÑ–Ž*ظô8OÀ×Á݃u!uåEP‡F#J}ì~÷"ÎSØeÈ)°[O P/Ôh0æ/ŠPÐÛ&¥D·)€ÑõØÝÒ«òº/þ\U) cÌ|*xø<CŒ°p%²èÌY09 ¯¯~§A]±"û<ƒÚ:ÊZêg ¥Ëã“ÍÜNÿE÷xþöD¿åÀVÄÔBÙ¾õUCžévÅùE-Z€ì7•ÖÂøQºÛ™lebl°úø%ª­«%ý…uÓ'¹³°Ê MÑí?µ£ÓŒ¬¯Îý'p[âŽp˜Ñ©^Ex„R­°ÂèëŽê჎J®Ø}]mssE^’{At›fz´ì¨CH8µ| €¢ÁÐ1—g?‰Íj‡ fûe¡ÆÂÓáòí‡l7›_ !Ôò«gÀz i1Î\PÈ„RC5G‹·ªY̪µÐ%¸ÏøÙ}—Má’ÖH©Aã䫈ÞÃy!3¯>‘\Ù˜@Žš.¤û;a3;KÙ•z¿…p¤5åÒ¡g©U<»b„™pBß#ù(VYÔ.fƒ=å~ ö‹XMT +*Ç#Gï) ÞYÏ̓ÓâzÇ'LàRZ›rLßnª¢@kø$^ÜzÊñbG÷äÙ›qŸÝ˜ä+r…Rà!N•ìyµÁ ¶ ÀËÃfŸ>‡~—(¾ñæ.b–ÆÒU¦¥ÔRr{bv:åì$&á+ 9/àß%‰ñ`j–÷qžBJ±ëüÿÅ øH'õO\ÂÉeÑ 4ñå¶œýOD£Þ%¾Ë8Õ쎬ð!(÷Âsº¯PÉà5ÔqÙ«cëòÄáÑÛôŠòQ+hf=7@‚ÝgÔziÿ£./Å÷Ï›õ=»L#9Z´K?û¤ÌµÛÍ»tD`æªõ\ƒZªÂã˜gܱ/r¦ðƒ_ ˜R<ƒžÉ¸L /ýP²ÚyŽòùU$pÂEó{U¯ƒø…-–Éð·$AÈyJþ±;Û|§c¢%•Ö8ù‡±úãµ¾^wÞùÞÂÀæ1ž2~?zy@¡l³(ʜꗛI¥œãôlŽÃa6Ð]O',`͈¤ zq®} 7‹»‡šØ—Œ¦óòг‘Nbð…/U׬×2,V³<‘Œb‡…Û ö‘‰éYüºÇ8Ý?/¼7£Aöâ•Ï&é“Ó[4éÒ_þý{f ð*Ðø µø:UeËsE } Ó^>™®ŒqD0ñrL*[ÜMÀ÷}ÕLCÈûb4µ†°-¿—þê™ÎÒD ß“+Þ]•GÇ®´º–U ±‹ÿL.ÛT7€ß'Rð×">bŠDyDp}#ޤ¥G8سհî«7H ÿ~¬Œ£€MÝ Ÿˆ¬Íbˆ#Ç7Ÿjôñ°=‘ÄhF±HwÞOP«5Ï2Òé´#Ÿó Ñï(Ëç±YðÉ¡'ëx)%Z{îyy™PÜàú´„,GžbøC¦¡RäÛ.T‹jr2Ûð´’ìd3‰ô±›ñ ·søøyI]h«ƒ'ÈÊÚ*Ýýôƒ«dèùWì®;7ÌŒïŸ2…L•½@‘%”«u°dõXÃõƒ…hG%"¹ö.ƒ~}‡|D äeÙRmÝp×*·-•øˆM-L;¿¤f§<«VAr:úÞ$N£“:„ãœ6±Ê¢·rå6ŸÈʆ^ÑaZS^îÏOÒŽh‰Ã]’ÄnHK©{ ‹Ñl iŽ­ÃÈT™¹ÐÝÁ­Åù@©j‹X[mFgÆþLæ±muO§Þ¨1E²£–¼7É8§?ÌÄ"IvúsOEƒt¶?“}üÛ7y8kq¾™Þ€–†³ºåKf¥«Ñ®‘_¡cÞ»D»‰è í00Ôpjÿo¶ö•¨yþz) uÓ  ãQ‘)ÈÖ‹LRA&‡Gä?B”åîE¥eSÑ±Øæ^X3ðKm@3h• ö.€bÞÓG*‰\7Ž—b'*]ñsK®Ú×U>XÇDU5²!e;Ò}.’œõ ñKŒ °i¬3âƒõ¼èý¼ñ;ð˶–¿-UÞiY@þÓWee¢;gƼ2›`Љ/WkU‘~½Ô˜þ”Ú"’MA6¼p³ëK°[Ér.Büþ°U-”AJ´‰>Í8žyªƒ—–4©ÝãltÞ'¡‚Yâð£Î¢nVjš_ˆˆìzóŽ¥ô7.ß Ò>ð?"j^•üŸ#æ„å<äŒ#ÎáþÑ™2¼¹ù¸Û§ @0ÚJ{öð"\#åü{E4ý¶,¦A:Ù±Ù$˜Éß‹›Ã‰¥4|ŽGì“aIsØYÁïCŸ:¼÷‡O*—þw¢Çhâ™ÅzyD–ô’±1y“4;89ÉœÛÅ?±Í(jøqáig'ÚéFEظð¡=ì P(H·KU·‚ ôRlWŽ*ÞUS?ÞM˜®rÑ6N_ƒ}¹>.2É}ì²èú0,%°|!Iwy:MjŒá&RûOæ7¹ÖÝl"›Že•bkºqÄîi52•õ_Þ{Hsýˆ§‡í2N·hã„Ý«·Qý)ëër´ZKÚRž°úc ½"CÛ¤"It”`ÀUw²^»bO¯ÌQqƒR-Ìž€›ší–I@Ç6lT‰R ê¹¤ú¸Ç•ט/ÕlÐÅГºÁ&‡ÒGw>÷C]_í•Ô$ Ft¹Oô†ç6‰£,.Ï?çLBÔÐÎ/lÑ},MÕ‚]T`~©~$3oUJXµ0aöªS¥gqÄp©Uþ uO]$á|K!S5ä7fHý+ru@Ì’¶Gò‚®pˆ€4×]’ôúA7¤×ÕÚú¦ß‚É)6‡Ey¹Éw‰Ÿº$)ôÅÖùÏܽÃNsWÈ5V‚lÅS晬%ޏ6Úwî€ê¥.ø†Ëêï\ÿþzêôäíZ€LG¸¨6ß:PÖ×|™ë¾¶ÛKåùéÏÉ¥ÁÄŸEK̜䋭8$]XÖGÀ0šhð (1¨T؃ jå†Aq4B¦»gQådSGR  ðFM+Kl¨^8V61ÀÆpÂϤ?ŠÔ²Û½çŽÈåÛÓd9%­}Ì_ð„vÀP£‹WÙ§‘baa–þ‡ ãj±ÁU±‡£hÍH˜9¸œúœÍ¸hxESoSÏ6i¸B2A ‹·ÙLukIü4¨[¯|½ŠåN¬ ¨=ÀE[›Þ¸'H1¹nm ÈÄX™ EWoÉÆ,ÿå<´­TQ ŠÁ’Ønj¹Š "¦)*\cÄŸ›Ú"w길Å1³<îrTuÞ“T½Â8s§™ìQY¯×Iö14þÙæÌ]„•IÅÖ²±•e;t•Ì ½Á«¼9¢‚¤|eéwÎò1Ø/’Í£­.c÷#4 (ùý‘b?_x€ÜŠÃ„κDå0³õQ™l:ÚÎÝ$ ½d¶¼ü´RÊmniFaêSš”ÑÂÖ%‰V|¬T²ÆÈ¥1yRïƒÞÝãÆq›ïo7î–Üa ‚`ÛåÒ(ÌLWòîKgí!)‰‘_“‹vù=Çü%p—p9ãi ²Æò•è5)ž»(ìq©Ÿoµ'kç® )u,Ê7²¿ïþ~§ÉK”g¥,náýWXJ€7}õÏ|®wÈã.øJÁ Ê̲úCü‰Sýë-¯ ÝÕ| øšj>J ˤP¢GÁ| ôíAÔh ²2dw¼Í7A@X;»GlÃxc˜}Ô„3ˆ{y”Ð º¹«Å W~œs¢¨e¿18ןße 2ÒËZÚüc æ²¶xö.@˜.’øt‘ì߯eGæ8`ž÷@ïLO3<ؽÊ$ÖåNƒ €v—÷ÁJšH:œ9YP1‘þ¯/Y† Äq}ÂÞdV@UÿQ[æwò¦½pßGž±ÇQÌ-ÙÆ/m4–˜Çæ0¶ LÇ}&‰z®çE5p4•ŒÃòÆÕþ{\6mt_×ì‘è}(…®T–4oÝ2£D‹+Ðkøèx`Ï»ù¸¸_ü¾ Á¥#’@Ô®ïRÕñ õǃ™1§s²S²ƒÿA(¼Å9ÜXêGîrgz¯È—> (tG±ÃpëH §'rXËDhT¨XlW:Còýx f”aàW>­¡{Ùä 3¬ð€;^<5ßÇ ùÆÆKX+LsôÄ~óÃÔÉxVûz¾o_jÙ_8ÞKU-ÏÒK!ÇÝÀ\æ4úzÎóz;ÏOÙª-ø\÷céׯ¨ÕüüÃ+†¬ø¤Öêûõu1àT'Ú/:£änÔ«‡å:¥ƒD£õ%¬\ªÃ/à ¨`<€¿¥ì¶´ðÏ®˜†½VE`g j4,£ÝD˜*¼Ó.S:Û<6%5”E(¸LiŸçÞÂö–“«Sˆ#ϻГ®Z{*É Ì·†G*FdAÛ)ªÇöðÃ5*3|úÊ;Oãtû…­x©‹2˜©“MéÔ:±Y²¾6 pŠ!éÉUvè)H²^¬"]CÖJà…©-æwå0\’z€¨¡q€V'F@Ø#ÛnD°°§î3l.L´Š®¤ C"È{kÑúuÑæñ= J:´«É'99µ¢²¥]†¦¤ï› J…Cuq©©¤{1SVÑÈèfÅqi¢Èüªð÷^õajêgÓ C/Ë9OóvZ¼œËÏ• Úq’ rLCµFa]®g*hpÇÇôâPÝe…/AÓ{”܉RÿU²¯ÚqPã¿®[Õr BÑO3æ«Hxp–sÐ>F­=—Ç*o2\ŸN˜ˆ¸-æxiãEƼ%p —ðr²ÒmÎ^Ø(ÀNPŸ¸ßÇ£ÝäHÅÇáãE]ˆèã—¹:ç}h®:_ø‡Á‘Ü©çéÒ°K'KûàXí+T/-…Ôi9òGY6ò„ ãb~ ÌO]¹:]î3eUô j³1aÃk×iÅ/û¨œÔ$Ød›ï~¹Iìò4“Š#|#ÕºËü2d)ØG÷ Ú½Þ޾åí¾áJñéÉô²\˜Pvä ‹“.žNÅ›ð}Ó£U…P;ze¤ÝÔ£½•ø Õ Åƒ>ÙxÏAh†gq…ïš¡Gµ;9×$+ü‚6é>¶¿<~M‘×»iõ²k´ßgÎüà@#¤Â&;X«6ýNïÃÎÿœ‡sêÔ¼þ´ØYÅ\b„œà]Î]ãæÖ̰]‚ué„ÌÁ'g·xµŒÄ'úå¸Vâ¢,A×ú=Ö:F¸#Iø¬É“ÌKýS8ŒNßöSö„‹Ÿ6¢éà1£õÀ -Ÿöæ+Nh¡F“ç" !Ý9—N#Î{ öŘ®"ÕFõqZ‹1=.ÿ{›ÇðØä).ßS*oÈ,D3\/é€Ü¿vm.aÇ„ËH"Ñ¢ö Yî*|¤f!OÈÏB!Hp»·­µ©Œ ó¹6H<ÏB¨ãXó%eqŒ!-z…=X,WFÎnJ×KI7šE`vï:HÝ\Å¿ÀƒO£h(z:ÏRàCR€"xåñ ‡¡BwfÕ²·%9Î|RK/ôˇæ7C¡k`ªÆ5YÚ¯Ö¿¬éñ€'Df±­É=«Õ3ž‚˜cÐX¤Pu›…×6ÅTøm·¾Ðê÷9š®Û’†x™UÎÒMeŸ¥œ0eéZ2c·‘Ï÷ÐÈÉw ™ m›@‰wÒž0sй:—DZ××a9ãP¾NÚWe™¡+_¬¨åìǘ•Ò”¬iT¸ùÍøWýì«Ù>Õ©$ ¶mœ°˜ãzùy^W¸%š`ÆÄëóˆÎÅîñÚ²Ý~ÚU§¡"˜sØUŽŽ½&ù7xmªªNÞ[‡d0<ý~Ë—°«æ³L<ß<[†ŠUµh_s—8×-S2ü]â…â&ŠÛ©däd–äq7ÕX{øª2Ýx¥5‹ã'Õƒn}§IÁh?žùÌ\º» ݉ù[O[ºOHOc§ø‹ôz™½Zç—]'¨¦=†eÛ¿1·ûSfdZXEËÓû(|¥K˜=òe}%¯C9¾IPÚ‡t8V¼E¼òŒal²‘W²ae×MRÓ ò`*~P­Š>Ü6Ïùw»x•þO²˜ o<*¢ÕP>}< p!sšeùâ¹½.…»rÆ}/Âo¦U€Ãßë Z-­8öôbŠºgî½àq ™)åC鉣إ$¸ï:~DÖˆ¥òœ!Úê˜×ÁL=’o$*†%¾a¹9soÃ(Ìÿœaj DBÙ‚Ù/,¬/]R:õ®üúiI#ì:ÿC+š–/7ô¶¼áFâ{4æA•9Ñ3ýr '±b{¡n¬É+WX–:¶Ñ=º|ÊuÁÞéŸåø¼Ši·vþ¹ÿsÆ{ó÷t­°ÖY¨q„òÁóÈâ¿B•*‚Ú‚úq­.«w¹k¢ØCs×ÝO §±Çñrió`óK[]Õ’®µc$µR-Sì¡™mÍÒ¸Œè9áb˜°qù‘ hŠ·[¯=³KhO”$g̦Iµïe3¬w Žú2y–ÿ¬„äNÆ®Rç}ÀVÚG17;5Ô†÷I/ÜÆ-…|&ÉC›úœa ‹e’= ê{c¶Í*A±½§°n¯”­nž-Ì µŽB]æ±Îîñhj4f´¯«ÌÌ#Ï Õ½ÏÆ ­o•ý"VR õ»Árç4¬Î|Hï·ÝXƒý Qtf¤“,i= q.+2§‡Þ£ [ÈÄNøâ¨!õ[/›Ø_92\mmïá(‡Ÿ*o4±½fë´2*=ñY¼`Í÷’«isžTÍׂoøÆl^Û%ÑKŠ%eH&y._n¡äþYÎr|s TxÔ‡_ËPÀÎÔ»«€éÚ0ù,Z/57«5@!‘¡ÆðÔîÉpaŽ -r†”E9ÜúÈ ¢g@ôõ_â}½Þ& ¹Îõ+[R|þ_î¿—hpòÙíjÞ°’¬Æ$uû]ÖGõt¥i:M;©ËÈ‹ô*nì4‡b×Ö~ð<µ¨bwƉɻ´eY:Ïc2”Š‹=ô½Ä@ ÒÍM«ÑCع”2„x¿xÏ]‘¨LÚ)„þ4%Â-6Ëšò»»"`ŠwQ»gü»¸‚íLuð\×7ܧsÚ­J‰Ž“v †Q_²ï˜‰åq ŠmçeK`ª±t+–¿I(e½¸»‹ôXéýiVzìx<$Ÿòs èì©kå¦j^·Øÿcf\àSÅǰp»Ò @œ_Þ2 ý —ÅG"Çe®×Ò¨›(¡æ¶ÝØ„‰€<Ë¿g N³1ÓÖct ½+ÁAwWK„×Z] [ùl¬§$—¯ `èäïVRFåAÕIg=’>p_9™ô$‰f”7äŒdƒ‡ª$s\ÐUPˆ3é~¨˜É6Ä?‡ÈIC‘4Ôc O”Ž|S °¸çkô®-j2š9ä>šJc>FéÑ$‚Ôõ×´×)èÎû¶´«×¨Ày×ùo§‚´ºj±Ô¨¥(´õb’®¾w&GjuCc,%DmÞ3•Uá,ÐTFÝ'LËŠ€–·âßÒXÁ/ìãsYµYVí–‘\""V5£ƒ£TÊ™Ï=‹“ö˜Ëî)ØA>¯/ ¹óöqM©0‹êZÑ€+t{[éÙÃu=$¶¥‰«˜gdìiÊÉÿ ç ×D ë*jÔDpÐ÷ª|”…ëî'4…m=¦¸ËñhÕè ê“í~Õ¶8\Y•$´•#ë{dæ?QuøÎE$,8õ d#¦ö0Sg\šùÔò-sÁí+&Õþ¼Å1.ú@>8¬Á‚Š ÉJíLIÞ½¤¹Ãy7jú·³Àb5ÙUÔÈŸP5¶ý}ß7aäÞÛÛ#]ƒK¹Û4FZsgƒÀÜ­Ì3#hèO³!Î 5s Úþn[Ú/œ©(ÿ6â3Zé05ÚrP‡GúØ¡Aг³ÂÈ6ß^ó¥X§ìuŽj[51âÎ ‘í.É‹ⱟºBÑG¾ž82NÃÞ+E‰„}šDaŠEÎÌX• ¦&IÌ,!-æ#{ØËŸ4GƒîÙ¤Š×„çÒMÛ4Ñ^l_&®\å%è‘"·ùHn ½ÜÛR=%teÊîævû‹ñ<ŒcyGÅc@þÂܘ|å¡U·%XDJ_¢ˆ©¹yJ{ú§ÝlöE8 G•Ír«Çãóĵ¼VÄF>uW×v—®}燢{BœÆ¾ ìšÎ±o"ïé^忇·—vv®„—ú±EÆUiùn£ì"p÷}xt#Rz&ÚYM†“ô’ýÑŽ@äý ÏÇydI]_‰¦@—UáÉqßîqkÒ«ØÝŽŽùWjO\ï$œÆEO)hÓXB¸ä Ì™÷¨3ÿ‰ìz‰ÛRý ò9&Âø>¯/"ôÁÙ]`(aåïš!3*hÍi£Wéûn87F¿ÆæSàNϬž`¤Òö³Üꦗ9ÏÍ7šð8¹w–…Wœ™IÜ¢Œ± ˆš’½î¥Ìd“,D´}tHm¬~§)ÛYJ `ÑRU.hE¦¨‹÷:ïöÖ¬6Œ±Bgm|(¾|t!ppµØSIaœ¤€Œá„g:F¿°ÀÓI‹õÚ—Q_ùÕ][=øñ“´¡°ŒL*²À#‹«ó n²´án†ÔQs²¤S”%½LcmlÑÅ^Õ(+lÍK¡=—ÅÁÃ%NgƒÝj7 WÏ ™,,P…Ë»ÿ¿V„ÙõšGHü”koJ[…±æÎù¢M€ˆpVfÁe²½5^úðý.Õ|è™PFʇ§V¹B#‹Wå¼¼¡ÕÁ€ÜÚÎØe U‘Ç>«èתãX@*'ùz&ò=ˆ@ÙôG‘:9ôÊìxW/¢$ áw]óØHeÝ0„'í÷7Ò ©wW›÷>YlzÊ=WßôÜ6(c¤ÅÞn$<*ÙÏ&û“—E£÷CD@Q‚»ÍÈ›?¼3ÀÎþfvG²fÛˆë+´5+&i‚Nø pô¢Ç—z8û˜èï¿ b¤éVFbJ‡ÔŽyK©jÜÆˆ¸ETŠ0ºö™¦Èô”ûBð—˺׳Çi´™!dZuî kv‰]†hô»¥ ø3ö±‘Zíìj‹œ]X“©‚#Tlol佛Ȩ$»_ãwÛ®Wó:##ꪑ¥ðXî졦Kðþ‡ÖéWîáU UǾ©ß’•µ©yÞZŸ®¥?áh'¦šæ[³n»¸–” JÖYü¶£v>[x +ƒŒjžZû*ó¬¼×· ¯ý[´c^\¿ó¥¤çðÉàq„a6À»äØþCV:]zÚS3w§®öÒm=úD=ÎFÑ{<ˆ;é94`Q%¾Ãõ±§Ä²> Ú׸BGåkæóï2,œý—óጃQÅf_¤§ƒ_õ­ÃÏç•Å7¥öÁm >CÌ| úüîŠFÅÝ“eïæ1_yͺý²ñ©\}þ²¼Èòˆä²ôJu¦5Š©­Ïg €3o¿Ùaå&“ÿŽ±ì” BDLµÍ&~QA\XTk‚` @Ÿ Fm”–åVïˆ=r¨byïÃYãµð£I÷-ëL!èÁðU|}HÁc…(¼u-ÚÈ[? ¾š|¥ý™øø:që»û²¼+fGÇHÇ`Õ¥¨çuÓ÷o[Å–@âßJ`¨Ôa”R<¬ó³;´C‰ 5Þx¥Fó©ÑäZd¥ƒ€Å[p1Y3ª -ÚÕ+{‘9`F·»ÊÙEœ/è§²8Y"ø×FN­èžJz»8¤c¸§ßùgæ~º3œœ-s#×1†P ûRC·2CÑnQÅ:ÊÈAÓê ¶H%g¦· N‰ðnã·ôN´Íg â§“hœÿ.;{S}¾•>ƹ „ÀÉ_S-y˾7\íüÅíc)ü èˆùUY{ôó·€ «6“Îän€ã-RîŽ?²Ò%[(èz²½§yéGd–Ǧ2p¹à~[ßjðËa\{µÏG®~€ï×=’9^î¯ñ“×þs™Wèç2XYÞ)Ù#.ØhH·ÑIW¡o˜íäœï> <{*‚NÚ³f¤÷d»H©ð¡\ߢ AœöuAövxñLzcÿ–8ç4c7ótáb9Sx‹Ÿ®æýê î€crH†‚¿wŠ ´eª,Þ’â¦W>¯´d‰™¼— ÜCC~ÀýÔwÐPÒB$Ägú3‡ÒÆ_ã ¯_I¤Eÿü¥„] ñÎwqË%Ëüæ?OîH!bJžw\iÈÕæw«J” Žæ¡aøm瀎/_ŠøõѸ&Tòæf.¼œ}呱)Aº² @ÅâÒYš˜­ºÐŠýi¨ÑæÏ:‹dÁ®3põÞ“€’Æ1˜;ý%ØwåqÅýYjÚ1¤§ÂÿçÞ\¹ÛæXO3¥’˰«J^0Ï®¼c̵Ëmc %ô3d«×ÕõåW£`kNþôØ*!üíTíCÒÙ{L Î0¨”µòÐWFìWHØÎÁ_°x<â@⡱*$N[º+NÓf)ƒ8aîPnì¹±rA#)50&+ gO+ŸM,¸¿ŠáÛ T?yJ†”Ê:;ˆÀ‹‘¸{ÂΡΞλåJÊ?³-,w1ß =°¹ø!¬ªâ–ƒ˜é<úû»“€‘`›[+¦Ýp r2\]Ã&~,÷/ÔD¾ø}aÔ4D Õ©RØBûÃz„Rú­g.{¼ Õx±8Ü%“æÝmqÕ÷cýd¢–µ¡5{`”k˜ÔÅ…y6²-½_µ{nº\wTõ¸Â’mú¢ìÐ$ÑÄ ˆ•…HQa䦔¤+£òÄ:sÈšâ9‹lÈóÂo‰?¾²|«f#å†j±â>¸ê1,V< ¬íÉÏÇNiŸj¬LIÔ‰ÿ7mH°E°lYíÐb&î.iâ¿ä Åìø1GJÔ…ÿjåá«§ùsTûݲޣOvë iíx[6kc>3ï7½xp €ÓºظбÙ#§ÒA4#˜'J—ÅqF@Ä´pKgã“çº>œÙ…Txœª”¢¶+Àõl1|8jáé´ã;•xŸÿ– ½ ³u¨Öcå’…-ÑÖ6uÖB¢Av)U–jtýV»w<Q¼!ž®sJ}àž»«q·ªR*êÙ–Þ^KäÁJä['Nã÷¿§ 'â±PÙ¢0”ìÝèÜ”ƒò~…á¸5ù#ñ½ï㸂å8ó†ìV)6Ž­ÐXçƒð+§ù °¶Þ>mÞ‹ÈT²¹ˆ›çÛ!%¨íû ÐURïîgÇxGi}«óžôÌþ%Yx× Ð”¬“¯$ º!)ï¾™::æàÉÕ{)R,èç žIƒ%×ÍÒÈdà¼Pfc±™“ \¸W£x;w¼> ‘¡ŽµP” ˆµ€S\ýBË€«yÖ§K$ ®;ú» Rdw«*ù”Ä×g³PäK¥Ÿ:#áºYIfÊ ä>›”Ÿ)…Ešl´âR!Êe¸Vµ;Ùja;ÁM±Çlj¶;ãÑš’N¿Ñ½ÚE c2~G±ñÓÚ]Jiœ¬pfÝçðý‹Ý;AEºcZÇ4hPC=#DW?eヵ Tòa€ÁÖ—·RTcéâ&|æ[–-­"q„íá’3ìЈQU%ÊHÓ䩆۾ýn{ÊxÝlvăóÌ3Ã5m¹,ñœ±ò“d[6 Ü}ñò>aðÿ¥1[)W´ÙxëDÄô‘¥Ã4Pa Ð €ÄKô—éù²¥Œ÷÷:xv,“½$ ‹¤£µ«?†ˆp]†ŠU46™]†D_ôEa½P¤Ã¨Æ{Lƃإ­k‹&Ühy^‘¸N,ÐöÖO“yN^Õ½GQ¢“5èwõHøgŽý[Í(qÀB®ÑL¿!Öêè^=Jã¹ÆÐmÝêiÉ—Žôì”oj] ÅTU›óéðñFoFMlÜn¶‚q&\pìÚÆb^zþ|½û“W.ù3•¬WßUªûÕcãThd7ÖÚÖ6Šß6Yý<¤: g Jp‰fI0»¾> úÒ‡ÜÖ¿-6‹bàË¿nù‘d«NÇ’·qýÑ*¢UJ‰!{7^Wd‹`×oâ9ËSñ¯”~t]{ËÊLÁµÒ \ `mš ¾hïÖÃø‘È3÷÷9Ä…Q§ä'ÖTH#!¼?!$P¡a}¿5AI þ$ ½Ò&_»”‹ùø&‹åjó3°ªƒ…ÊÏUŒK½ gºzÒÉ•6V$Äëì œ÷³ùå|ëh…V^.ïM$ÁÄH^å®^Nä+ –olÙɃ|Tƒ×q¹ðäŸAWb%få«ÀÑÍ £‡ZzÑv³ÖÅ»/Á4Ãy!UG@)Ã|‚q}ralÉ}.ɦ.à턼2Æé²ó…¢JWv(mŠ XŒÑÀS2x®9p g ïÆªîµáâj+Φ$»UgSú!Ë›= Z¹šŸ* Ÿ˜¿ã0 j27¾é cühñÅ\¢1 Äg²Üò^µ‹ à÷½°Í)ÐÃýÉâ~ ݳžvΘâBnyøj„d'£ÿ»†“9¥­Ï;›Õoô€”Ä“#ôà‹ˆîpnF Ò1‚ÚEê‘ÙÜ;@ì\~­Y”} .§v8P*e$ç›–ÖTD'†®`ØC¿µ’ªªŽ„;£Xé@lü·),Ä}ÿ‹‡{Ò`N@˜²±¿bÝgî] EYyÿ—ëža¥’b«E¡ba€3´²îêõ?É^E.bfi%׫´° ÕÊî0ÊÑ`ì¹›ú}ÑÛð5;ÎÝ+¦xn™¯âë—£O2°KÖý8W2í^†F„Fl»ÛË£§0Æ;­eѺQ¾‹îg'ãcÕ9²d;Eo¡õîLƒ4;s¿“ÒÿZ&›§2 ð‹»fÞsÄá-õo%&¢(¹#a4ÕÄbç>hG$ §H¾²rp# ~”ªÄóYÅlJ•Q¬ŽÒÙ@{ („È©¯¶ê ç›m^Z™â3ÚsxØ*÷„47u´^,å­¯älÛ«†“¼VkzåUŽ8!þäó¬?‘ܺº…Iiß™° ˆïŸfYZ®º0&ÂöW‹N¡ @ð"ëœ,›±Ö¤ô¨JŒ•…‚RïÀeœçáá9ÇÓ˜/·¼»eOKP  ÃCÊüÍ}þ)T"`Ô¯œÂ’advNªõ|!—–m6ezÊ5Žk•0îä%è°ÓÿÇ7 3ÃÆÿ³m!{^ëçLTàÃøƒÂlIZpøÝê=]¸®ñ>&Q|Lê68âìó–êÇ&í1#Ë`žB:7kÞ¼é¬[VRôÖ^ö |g2Ó-7PTâÙÇ-ò+ÄÅJIgôßbº÷LïBbåˆIcs W0õ@÷áÄÉõÍ$ZkUX†U:g‘®WÏ?ÓÃo^]Ü¢ôÞñ˜ŸUý¥¶/—Ìöj{u$ÖS^–¢"ªŒ´:±†Š›¹·;1Ìëµ½‘7¥“ö¤@¹Eñ:Nä<“?œ©~Ò4Õ37n°™¼{-ãøn§*e::ðÇ$m¬4ðöC6,©i“bàu…ñêI^CNõ("T7%»£á·yeÑ‚e¦•ÜÏÊ2ôÚeîg«v¤£²òhW9LO´Â©ü/¼Ëy+õŸ½ð²C6ê m×…ÔjS‡$ŸŸe®U6ØUbƳ,à HÓOp'•ZIKLÓ¬—‹°ªî´1¢Ü:˜tïÊÛk,òFùw*FÇT#tNÛk½YãÖôîÓoú,ÞÙÁÈÛ‘I–J+¬•hD†|¸WM–*[ ›<ì܈o"¶{øfNÞB¯‚˜M¿vÓÀÈÄ/õ7ñèÇï.Ó~˜tQ5Ï÷5^EûëÖèµÏÁý¢,³]\æÍذ,†±¸þf6ïRýu­Ñ04@¤tt .šuú¸ÁB—ÓB¨ò-·ð2´—Ž)ÿ(lÜ€6= bqÍR2êß³ vžþ{ÃMÖU¹€=ëËqóÙj’ççwh²½Åßâ¸äŽ:°ÿ³W\OÀ°¤ªCï;O¨˜.¨ L@—²üÁÛ…wýº{d{ˆtôÁ›«~0&Ùþ°—48Ía½'ÂÕÚ®—[ÇÙŠ41CšVCXt©ÀàsQ ¬ õóxKbõ7c5ðøÄywƒ> ,-`W„¥›CögG3¨a22Ez7›¾Kx’å¿°µìÇÕð”8W]1üÖ¢Áwˆú Hû1ÁÙËæ+p•¥Ú-ª¢x-MÔâ½ûRç]òœþ~º‰©¸OQ§þ7³<~MœÒPÑÊ áпúÒ.xx9è]ií꾪•}fÄEïÉÆÇ–ìQ`Ýœ³€ÿË›Ù@ey̯ Ââ;Ööì誸è²é€uN:½Q¦¢Q^?Gm©xÒÉÀE•¡!yf+îMÇßп©Þ°)ºñ¿#|òž5p%¬gñL¸¶©ŠœŒþtɧ&¶):‚v”ÈX…@HþŸOEûñWïÍSËwœãsÜ »«°°ò‘ä]Z¼c£ž'ðÉuÕÄï.Š3¤ÃÄDþÓKJÅ Ü•iú$E½¡?šGòò7Ï2Íâ"Ê^žÅ]îÅ%ŽG `H‡Š±’>¢Ã¼VjÌQLHÆyÉy¸ßˆ¿“*×¨N¹O¾Ê°‘(x-îG‰nˆ—oP,+OmCœiæ|•hÇŒÀíbK1µx8Ò @¦$’§§ÿ4ÌÔV5e…EÆ„% eÎЂ;S&Ù®½«ÒÍZñ¥QØÞU,`¨·¤ú…ôp7Iúˆ£!ÉpÑ–ÊöRç“„ŒBvdåÖèü»£»ÄX0¿¥'à5Y‹h1/â}îÛd‚=e jö»Aü[)”ø’ÔÈ0f`³XN !#ø.')ųUÓ'ïbgN–¥%ˆ-µ8[Åù'„~s–yUG\6]áîiûéiXÈöç¹g}µìƒ3ò[5H%Aäüaßpß{€?2uæT0÷„Ý*1‹MÁ· ,#ÛÙíÓ§f«Óì Ð,¹›/X5ƒ¼o|EGqN¥Ún–D©=4jpÃØ¥âEÞp²S§Ž&~­ý¡K¤±}蹄*ƒ¿²û/p[Ÿ»œ‚U¤³{Ť<¦?ÀO|{VÞC7}*ý‚6Ñ%S«‚ÞRštφ‘~y>í‹ûüúØ}Ü;[Ý>œŒ@D¥vŒ°ÉKÚEù¸¶‹‘­œµpƒ EÄÈErø.¨`ˆ³ïè} ºÿý>ŠŒ5­€m+ÙéfÑß6ÁîF\ÖB˧Ôv䘉Ó)zzÏ›>[/Å.Aôi ôODƒêƒ´¯zƒMø­ØíŒEûyÙbO4¢Ð Ü&§MIõÔ(’ut‘ªQî°¸X§€þ­ÎPn&Êk´0£"Š8ŽjÕ”eŽWHk@‰½ÐNC7¥àèÈY¿Im1öû…øë#7,à‡=ù ©KÕŸÜË^°h³fKœ ù§‚ª£n©p?= 0† ’YH"5.J&:Qm¡:ñ»ç‡UAçŒEç(ë EÈ£há‚·ÙÑ~T¢ ú¨'Ädç&òœ´28ó9:¾häibÙ¾ÛÔŒòn9B!pz‚zy›4¬Æqb'Í{èM_´Ù—íE°ôöë®Rã"ž’‚¡¤Ö.U,)VJ^xk¿Ó‹@hÈ*{mÏ㆚ràU×›5ÁÏ2—ºëx«ø¦Óë$Ví‚¢>ŠRA¾Â’ßCy:z¸>kâLLÀÕ!^ûcÁ­¨|k„_ÂH–M޵Žçg^L5Le­\à¿Â½ SÎÄÏ9øÚ˜@ÿsMA7χ«ˆä¬Ù#å@þX™Œ°S·›SXàUEmÝ_)€«+Jëú «U²Åy£(@lF¨‰ÀBgú—<: Ÿqp⦑†mØnLYYù/¿©,©`Vq6¿6ÂþJ÷)wª»m ‰Ô®{PQHëÒ²!š…åj¦yei[_ ¢‹"8¸>|®:’kFòžF5AÞûIS¦xƒn¬ÐK‘¶Nn;’Wô³þGZû ]í~<À­¢kœÿ.€\‹" ÚϨšòö¦À+n’î©ûÙo•9Åê¿ëtâiÄ€»É,è¥Ýlä èü²—‚)±M9‘¦;;ƒþ œ¬Å>ý˜‘-—Ÿ„N iwXºè~£‰*u~Pڨ׻ã·þ¡D"äëäªoÐ5ý踫·Ï_K¹ÅÊl]ìg†ÌKv‘)*s Q9°ôú÷Í…A¨,ähAþ/ ÜX`¿XÓPûuÑh9®Ì€Mœ]~t¸ÀúCFµ*K/ö Ó0ê£ïwrH'. §m ˆÔvPoàZyA@ëÑ @lš@kÖ._3>cöúDIwܪ!$·ãש²(ÇУ‡Å’º&šÊFô%[µ'Sp˜a‡µö8Cáðwq -{xr:›í÷Ì©+S1š÷¾hkÎÜc™ÁƒÛYÉ ©Jˆhàr¸óëádL=Ó¹¨ðâóÚe}Ñ9ü‰,éM=G«øµ·â–^ä¤Ê‘KÃk½® ØÃo§È° ‚Ÿ”\ärã߇‚µð®„…ü˜o`œ=x·’Ìho¥~VR€Â·È¶¬º¡'"4mÓ:”UPÈÕìg£EycŽòÅÑ:â¹Ú*½´ÁÐóÑrþÆêy…4o‘ <µm*p¦“Vœž…¦l%êw_s·›[/æ¶ä)G漏ۺ5Jà ”Ã-ËÑuC;^íqbüoÚ•$ˆ©…R«Î^7gÆæµº[¢”P1ÃÜ~«Àƒ‰Ã&ô2Œ¿jüý3z­9ƒW`W+,É{ëúiJ»ÊÿÄ·²`=Ì2eêhBÂ`)é(Øçou9fBÏq$O ýÊ ë"ƒswÉIÈ2„П.É‹V  ¯t$àuÒÙ’g 'ëçy5Gà¯ã²¹Æ„¼Ô±b²9åÞß;ÛM€y†À½ûoAÓƒy!þ¿yø¸·èxVÄHÈž«ªZþEÝQ!!\ñêáôNÕÌl¶ÍÃ!¨xdÚW%pÇ—Z6nW|Ͱ$à€ Ä3b©Â hŠúÅünš_Ñ-à?ãÌ£ç¡È´Šˆ¬ŒŽÁ=vÏnÝ!í»¨D‹®ŠK€P4ÒÛ4D ¸øg[\9j„¼zµ§N&â ö}Á.ô—Ðv ƒõ@¸N|Æ%¶™„Ô-Q¯ÁüX¶º¬äÐvHá='Ƶq^7»É¸ ÇÔy¦N€çäU/?zº7‹0hƒvdÂ?ÎXo´BhšªÙ2v§ñ,§“Â…“å¿7 Mî<ƒçÎÅ}Í’íÿÏ)á²U:áì+(¬õYRëm‚Õ¼2qPý {Þvu~4Ïí@¡žÞlV½=7lxOx|´À«ëž¿‹ŠôÑ xÝnª%Î0^²)05ŒŽÙŠNŠ\JbåÐIàè6æd.‘ÜD?‰°€'Ä´ó±½XÀÍRæ6ÞÔƒa°³©¬8°„C,µœ{qVMpæ[l&KR’Ô—Zýû„ia -<+]¸qÏhoKˆ5,ƒ¦Õ÷«:H1×9&iŸ|òòÑ%–ÒBüÚ•c:,‰&¾Þ–1ÿ- ûN{@±³/®Ø15#hW›†f'.IÍòî4+M¬{J¥ýi)'QcNËŽbíâ. )x ÊïØ%è‰èス‚~ëµ±1krÝF¼kMõ¯?£žÌDÞ²óº8W€—ˆ4SV”3*ŒÖ? ™°_Y®ƒŽö`ÇÖ‡r-­²‹!hvdåÐ餌†œñö1,-ÐÓfq×”ò÷ŠzÔ#{Î;QšË;O¨G˾ƒƒ4œÿ©ôPÒ`õÆí³Û÷¹ÊõÀð§‹íŒô“²j£šâyVâ(ñwÞƒùF9Æ0äe8”¢/À¦sßéZ“‹ô‘O¤‰‰ÇÖ}L´ Pò;– ëµS šŒ6¼’ÚQÌ]¤¡]«¯j†7~ß¿^ݹuÇêöz&†¡ü3DçõÍf­–‹àSQj2¡S’)ê¹™zŸ6ôˆ§L¡”áHØ;+÷Á®…Ùö'‡›1âÙÛ_Öþ=Þ+aÛnTõbÑÂU;øÞ8:éF¬eº‡ÕhÎßý¬%äi¯ÃFvËÆÓ’{® 4wÿB¡l?'!ic\ãÊ€_ÊI‘ìÌA"DÔ¡è‘±ÚöÿN¾{µ·õfíõDÝbhb,ƹ´3°{Gü}9jÀ<¼²òE"DJ#`ø(õ¸Â±PpÌCÿBFeÔ\5À¯]‹‚Mô¯,û ‡]OËhRÁ¥ßà ÿbë§Îæ— 0fXyŽÚÙ$}ñøØàClaò1Z—'d+®þ½jvªf;>3Õ®7Ëò#Åg³ì>sðœDÞÞ°Lqj”ƒTNÛÇCM§a*›\ê«H0Y”#Z'æÞK@-Û‘Ccµý‚ ØêöϸæÇý¨ÿ‚ëF¼ è¨åYÜËEn6³[„¹–Þ¬èF[K¯hN:CN6  ¢”Ú: ©[ÕòÚ è9´ ŒZeª¡°ÊA]ØÛž´öËE ¹¿ð¹8œnÎe—û«ŸáÌç!üˆ0h羫ˆ<0ÊÝ–#R'v‡û·ó°šâ. ï¥é—æ;7!æ,Æ•5‘»Gƒß@ @o¹ H^0-œK3wû­†Ø¦lœÙd¿r æ^}-ðúV'!ê/+Å¢=º#_{#š‚¼]å1Jþš“ÔíMw Šê8l2hªW±%¨ÎЇ±A65Éõ}%ý?Ž–†áqß­µé<·PU‘Æü*9Øÿ¥j§ ×¥À6ndbV?îý:vïè]p‰‚—&Hç“_o5èj\¾›ß_»wß5ÄO¾“d’¾šË4RÿbÚ·µ´Âøçlän ;ÄW³œæ¤昨£*5ò4jW“°”)22zz²5ãâ‹&¦çíŠÍü#0=¢-T…5 Ú0#öJD[W&z™‰a™…„}Íœa1*ô·?4™+©ØQšfL=HB” ³tM\TG´"žFJ¦Žª=³Ãþ~Õåá6¸?Z’¬c|MVF“ðs€’'µ5%ÝØ:‡ / ß‚òÔ'Üs2^óÀ‡$™pö·HIý….»–p1\Ýs«v*ü²Qýý³gø>l¿E£íáöl£ÛW™Q֔Щà¨nî) 8N­I¶á‚žÒ!Þú}꤯Ÿw†ŠÔt£ÏgcBÖj_^¬Ñ®iÒuŸõÛ=Øçtì q¯ÆÀŒ5Qr¦lƪú–ÙÚpó}ã]zªûªéÀôµx SW†=ÔûxòÝm,áß÷Ûi5“TÏ™w­ŒÏøo»ÈÔ°¨ñ fqxñ{jKrUW¾¡® „…mx5ªé£œ}ö)Ë„‚9‚wnx sá‚r{ìù~ó˜u@ø(Û/'Üi[]œT¼‚£3 q½Lý¹¶‹A 5?ã3OA¡ƒ¢áP*&ñ 'ÇXì|}f¯ÖÃ$Ih Ydš[ÍJ’u~Z2žIQ0hH€gê÷Rj@,ØE›¾ûú¾ ®Ú¾2òµ™Óóo~]'®+"s}s—1NÙAR®¡jXÑ'\DõÿIÆÂõ|¸ᑬ*ÊæÿͶää iB+iûWËUÄ$¸Ü‘:µ'M¡ßd¤4&8ý«›>¾pÄQô³Æ£üj»ÞwŠë¶Ýò ”éÛøk¬fÅ–FQeзÚô7æ8r5'äfáT\¹‚íÈ‘l”:"¯ Ê¿š‰%ïî±SUÂæw.Ú«¢SkéÖ·¦QWŽ50.}Í^2 lXAõè„Ê~`‚Dc²ÜNZ aÎèƒ0ªÅ!p¤”!¥[WÈ Óè™í*…¬o?£Jq³ó®^¥Áe_­ôþÇŦ~K ÆË‚8‡žèÛZÁ˜!;Mï-Š/@·w]ÂDú¯}A¢>‰}BbæL6û惃QŒV5z®ÔiãOû`ÉÕ1ºý™TyÙ¾­r`´ë"2Q—OÉ Ëv·ñL‘ð’ôÄ“2øÉ¼¯Yí&i*j”€Iþã“éG¼0¤f6ç£báy‘j’Ô:‰b @¼ífƒªL´Rѯ.‰mλóÜ­¶ HÈT ùרËSVëxҗÙðÂËÎoß@óáeÓ´Ïz W)®~ÞNy/¼l÷Coô¡hx†ú(Éø¦ÏvB.©ÿ¼M¦«r” ¦ìåOšmŸÇ-.ÀÒ·÷üðnM=4EÎ7ãs$¹wÕnÒØïÎ ºLþ2N“^Ÿ}l À”8“öã§…¯|O‰G\íèù5¸[Æè3±hàìd*¹wxt£Eúþ×ý¨FÉÃ&¸ ‚Ï0þÚ.;îžC¯ø•Ö) VR|Õ™†2GŽ$‹¦–³Ù°Î± )—6¾Rº.ÀÍbÞÖä‰ÚçM'?·~·Pu§p%²TóÙ~W[à3µûÌ‚Y¤lg§AŸsJ†•Yÿý¯Æ*ÃBgÆäËý¸ñ ¸{ˆp{èQF³žíãúbÜ ñ'ØÂµºvÍ'×Ze¬^_¨WTŸ]jf”ÀÊ\ÒQpmSÖ0ˆ¦ù6 ç῜˜Î¦™Ü¡cb¤>ÛõÌ=TA?VèíµÁ|ÆùÊ$Ö¨¤·Á}?ºç O_¶Úºà+fU 2wõ„yU˜Û}&5 ‡Î["VC®{Ú唢ŸIü¼¿NúË T )u™öÏ¿›7½þ‰6“µ ènÉÖ@8D~|ÚÛmq±àÄÎ}©xÙ1©GNãwLƤ#ËËmåý« úO+¨µG„3¿•Qn&lÌuÕê ZSQä¼²PS×æÛ¸<ǘ ¶Æ-*b]Ož|¼z¬à«4kŸ>›îØP6ð*é.ˆë“ r vI0ЬêxŽq~Ë]Y÷M‘¨7:0¦jEòÆŠj1 Õ[æK i•Gæ¾ê=+Í™ÌbÝÃúQùÏ%m.§ƒ‰Q‡Ñ%¶Q!r(2XÎe,<4’Þöž…G. [Ð3[5`%8I­íœ®~qô »æK”Ž„&䕯Œ’Ó|r~Fˆòh—R¯ùÄ̃ãÿΜg}Ó‚³£kÌqd·¾ôýs’Råñ<ºp‰åAí¸xù€óèø2:ßä°©t2tû>U2þ41s;ÜÕ¡O켄†·å%p7³VÄCy;­é¦‡dî¿ pSHRØ·‡(ÄC±ë¤9Í¥p Dñ©v ¾:¡Oµ EtQðf3SÈBH ךÏ0xÁ³oç[–T»'Ì™f}ÃàZ)Óz¯Åß«sÛˆ*ƒûý ÔAÏÎÈŸ¤¥>N«aO"øº‚ƒÇiºPkÓ><.ò¦ðç‡w•iuÁÁ'PZõ$5‹@.e“ÇoÁ=77´œƒ˜¬Ô?ÝQÍâðú¢?!‘öÒEZþÝݳy¦Œ9à‹–&™Œ˜@µÑa÷ìL”kS˜¼¿{°köˆÜkâ2£ÁtÔ’«ÀkuÄ3qƒ`°ª™Uô±n–]}E=wë‘õDüÙ„sªj-ÿªz‹øÖ ¨Ù·ž¯Ó˧ËEP™š†1¾r í;í¸mÒ1¨Z<Å­ò<@Df*ø5T@Dbòê ö¹éÓx8Õmgú÷¢´© 9Ž9Ò#VX®. 뿾{gdZ¾ïÄ?†Rk‰†ÐYÞÂób£¤Ãi š P¬GB.P9è…1t1&v‚*óÆiâÍ 8ßø®' µÔg´(Ò[S½Õ#6-ïŒ+òǯeòg‘Ÿ Ngµ*Å-eöãîÞÌóÖ9ÿÞåhð0¦d†Æ=r3­ òQ"ø<µŠ+ÇAðé:Q1Ô¾±nSOgD»íhjû„ß“’wÛžzÂ9£5ı‹!”Hµ¼ÊAMi‚p+í šÅ`È[µFÙ¹)µï`-Y –æÑRΠ^ Iz¯Ïöbõ’BN(sÁdˆOâ£LJZ…÷ˆå·|y¶EØÂºüÇ35ž–Ëàñö’ÌÃo­,2•DºÚ¨Ï]}þóøi8¿Cìörbë7 0âÀs¯ü‰êHž¿>—\/Ë&D÷»rHâ7,T†×òáJå5;¼ŠŒ•Éíöš'²—~cÔæ‰¿ÞŒc˜î®×å, ÷{HÀ±™•˜gÝè$¾žS–:{³.Ýq·õFåŸR¸0<£AÞÓA®T1Ï< ýÀ ì7´Q¶™›j@)·jR]ŒË šÎvDó\ù‰5Eupñ Û呯Vd3kþíG‘`k,_R(=ª9½—&¶eY*|uqõ²¹ÂÖñ´˜BAO®¡…íÍ8ïÈίXƒÙ ߀KÕ€u±öëm¢L§Û|á#[+,·Ñ³çQV1Î×ղСH*9§©vø ÍA»Á–Ó"hVÈ~` ’¨Â_ÛE¤¿djû<ýÑð¼ÄX å ß’Dü_¤u83äÑÑ îÅ ßšÂïÌZ:V+ Ÿ\ û­w<|æ¨Pç¡5Œ—j8Q£ÿU»îsO¼ÈZøäÚì…Wy†WÿÑ!¡ Dš¹$µvµ±½55©Wh%cf8w»íHÏÖlAŒ¼ØX7§'ŒW6íJ4< Fú Óh$'…zG[-û }bMZ fÒµ‡XÒ’îj¶rõ\.V s&×€´j®ê.^ë@(qN䥲ôêÜ+”_(í îÝÀµ7À°6io²¡»\R#´Ƽ÷mÿ†À’JS™ à2—¥[ÕŽW€Ç¾žµìøÎ62V^ìnÂWo5Ù/•*‡ DžÅªþ+š”àž»ˆå Që zú¬ÊL®HЇ@¹ê©‹\Œ{slU² ÂÔÑ y»HCÌÅ‘É9_6ZxyV§E-J ¤Ï°ƒöðWMN20gÏáyAD™<émì¿XõÞÜSÆJñá"ߺO½vs¾V#””ö©[ÞÚ—ˆúâQE» ƒƒ[À=½ÏZÌ¢©"=—¤:Žç—´Á~Ë V‡À«×¸‰³hz–N[õ÷¡šê…‰•¼´“¬:=ï\œpD«¥WÍCÞY†¯ü! Õ”«ü¡tÜ{±#-¦š.xFµ3Dn…w˜xú7Î[‘… Ü^º":¹ôXÇ=á²a—\2Ó¿ÿ¶MkƒDC#u×ù/fBÓOºÅÚ¸Š4 Õ?5~SËaÓ„ó¯a+²¸›Vúnlzbo•ùiãÛIòü‘¥ÕñÜí"å¹£1ëнîw‚;þª¤%ÕÔ Ù ¨¨\&X • ÷Ñn=(ÊÜ£ë"ZÝ].‹[±÷óÒ3û@œÙµóåçÞª—p•%ðÑ—8åî¸IÔ¯‚ áÌ>¿ 9ûÚ~Öà ?Ϋ÷qš1’¾俘pâÑvçîÉ®D„ï)au+AŒ‰¢Ô&ì’¹„AÔ0ú|AçD…öÉèKôŠ«;Ü"”›Î÷µúÅ‹*l„t½Î`ë¥a]úãêdÏIIÊEµUf³}·òöƒµåU`Än98ÒV €ýÎK¬ò tMkñiá2]~ ysöÏîýåyÝÁšLÿšO}R­ùE=[-"n)4¨æJÝ·¥Äç*j€ð |ñô„kš ˜Pža)ÔzjËnº¡^‘²ø˜FÜ?: žrú3èÁäa Å¡”èæžG¦c£]µˆ…-¸kÿƒÃtWðFk!,“Ý‘óš`=ðÌ{?Ì,úû¥GG$Sõ-¢MÌn÷qˆ2cýŒ¹œ8:s}XÑØÇ {/]Äí%ÔÖ~“h{ðö·X’¸Ç’.}K,NmAy¾ê“ʉé“=|\ióµ*í \ØÛ^žs™£[ÞÖUû¦úƒTÃ9Ƽh#ÒâÒÿ’ p<%G\v¹ð7D  ÌÀöù-6§ÜP§Ž!Ì“Ô/,?d®S’b(èøºÝ&é]¥Fˆ¯¼{bÇŒ3ÐN3\8AóH%êÙ³ëä–‰Ús“QÈ|žš3ع Èu’g3&ûËüÐ*)¼¡µ]†û] Ré+1î*ºŒbí ;¦bD¼§h,‡\!ZßbWæ¸÷ a"Â}îLŒ‡G°ÍXƒfÕ?*x¬Ü j¥«TÀŒ¤“oFl@? ÅW(–f–V€ˆçˆ ÉÀ]’ƒ0Z*;†øÓN#’ž èa¸nór¥Ö›öI™†˜¡›1ÖÊå:{8ë‚ËHÔzáp]SHßÜBÜ-¶>Ù ¶v0öKüñmÅô"ü4Idm‰ç(²ÅÖ×É÷d“t7žöٕ՜㶪Aè%7 XÑ2 ®RWã+ÿ¼j/—`Ùl ¢²CyV}l*ÂSÊ#c6*b<Óõ‰šƒ8Ò“4Ñ‚\Uk¢ 2‘ŸSgà³íP¬`ç0Zl¬âÃz+»Òpzt2ÜÀfֲɨh™ LJÙ°#¼! Žm'üÀܽë­ªýŸIŽOÀåÑxâÝ]\¥Ê 4½ª“ä¥+è`Ý"¸L‘‘U Rõ˜é@ca]ѳñ`}iÛ¸;‚k¿€Xß+Æ_ÀÐ º¸½-+?ñŒÙV„Ò£¸-( q£ xóSU¹Uï„9+‚Ó üØš`=™¿výÿçcŒ5Ùœ¼^ÝQö°„#­ù¤wòñãB+½Îdž BÃXQAé²Gý’§¦JÑ'4Ù[_/·­Ä¯„Œ­<°.ª+°FŸYÄ“¾ý¿YÕɺãÁÿON¿l÷:£’2k³§Š½ÆS¤c#ëxÏ¢¼Åµ…]1ÇÀЩ_u‰µï‚-8|L³’ë°Ë¸±DÅ•r¨:Ý,{0Èœw¹â^¯EVƒ¬ùÖŒgeýÂ\£cOã›h<ÞdRΙ>å6•6gÑ ‚‡Å}çù§ü9ƒ¬¸‡Ìæ?îˆuÊvF“š¦`lé¸)7=•`÷tòåô¨ó%£^û¢)SŸ-Aɳˆ[¥|Æ4=™®ò!¬Z'‰¢ p1yvÔYâfËžµ¬jNK­3ï>:F72´+åðºPV¹K°€4$­ïá4íyΞZ·zœ\ÞrÎ S›¨'Gøxó™.Ø\Ó,ÆÑ¡ï<¡@Ì`XXž‚jWt¶¼XwG’½õÌ|/‰gù¸`)4ÇE.uvåò§ï³&½xKqN¯ØÂÑ­ Sºn¡õ4¢yA+ð²¶%d¨öT'‡ÜÚ”¢¾©K¤…_ ÊK <ýðµ-0—%³/¯ü(Ñœ¦]œKrÍqDAI´B õCVð$"Û'‹ø[Pâê26™ãf~*ÔZþ¡Ç¸Le¸ö§ZW«­NÃÏm(ËÐ%º¿FG-Å3žk(Ã=‹NÊܵ׈ÀC±ÎjÆO蛪÷È‘Ëÿ%Bšcȉ¹Uâ«Uʼ·Óâ<à:ò¾puçŽTôÁ\¦jCÉ€ôú[õÏõ}ˆ\Ï»ØþÔ>8u•èHÿi‘•ºÑ"‹µ|¬B Eí˜R Φ§eRlhP³0‹“ɺLkWwÃf•P¸©*aÏ„ë( Ž‹K''kÑR¨WÜU‚ІD¿M›6nµÍìà4ê¸ñ6¶”×~žZ©–'!^ êäÕ0nîôDÌ~M+8g¬m¶DÂÀ×Å;Ÿí7)œïu#“—\$ßÕƒÿÉɤØ0µ¸Wç£ 6Îo“Î+õÛØß\RÁ®½à<±o°?k²à­wroC-SÎÚ¼y_;@S¾Tø¸¹ÖXü˜‡nžPíI¢W"{“ãHñ6Y˜xéqÏÞÄÿùnìs«]²YzÌÛK<ËvšÍ•7ÂUh¦`=¨pï«"S;ÁùÙætÔÿõO¯?ùóóÎ6þæ>Ä.vë︠@¬-gð•)¯¥Þ1…ÝjÎßÒjÎÕBR–q,9›aÿ1˜Ÿã”Î): òmeûzgCg¾fB h˜%u¦öBÍÈ/?|cy&n$ÓL9ûÎè…¢]ŒES ùfþ;ÓÊ„g—Øf©åcµM½þ\ ×ùø’Ç\pºUÒãŒxØéD^ÇcÀ#GØé£EðlOG`UK1É&$5К$jÉšQ WÐmÖÜ­8Cr€´ÎȰ?åÖÌ^D÷–'…Ñ1s茯U¸žík·4üòKÈžbÕÈMe$°)‚Ϙ~#ï…ªƒÒ'Ÿ·#§ hþå¦"»¿l¿û§\§…JFIr¹kº|³-À¼éá¯Å"Ь*P/gx Ü‘sïx{öª^¡w¾8¤Šwel‘ÜŒÍæ,V˜1ß¾áþ¤Ô—HþÛ‰f÷d½ÓAÐè½®’q!jÓg4~ë-IÓîW¶•ÉÃíD…ÅB(–Òvl‹œõòhH-ƒ %ÛÇKD_g 1jJIÏ{{R+"$Ÿ¯Yø>…âCxj˜Nç¤jŠb¶xFlÁ!À¥ýÓr§Ÿà¸o/'QÜ ªm_òï'fÈì.Î`ΡKíåšÒ»› míÕø4…PÔŽ³»'S¯¨¸q´fÚ—…ázÉ ^’vûO,VÛ"ók0”6œ†ðƒëá<¡5&\'oGšßÆrè¶÷éú‡¤‰%úÚ¢áXön×÷‹*„±¿Á~#.éÖì¢*¬o¶ôªß·¬ ]A{¸Ý¤;±¾íY@Ÿµ“K͉N!,-<ž™WQ6M|ù1a„ÀÌ®‰wM·(´»YDÝ)×Ìi«› gxA¬Ö¾³|çG:Þ m–Wa¦>2éágô¯=¼ÁŒMZš¦xËÓîÆzJ‹ÍÇ­Ò”í€Ýi©6•hÒ¼ÓóÛã-#BcFLšC§-+ëç¨É,ávÏ8ýÅ}*É%~A·:6ãôÚn¬m!áëõ ±ÁJj‰ÿ¿Ç“ˆMæÔ aÄVÉ”ŸQq(¶/ùLF˜–p¹‰TÚÏúëlpt'Ε¿Ðö ãŠr~ó)o\3½üdmÒ&GR¹n£M„²Ó‡ØäFŸ}RTF=0X”q-èõm:½W‚Ú´æ…Wc©ÇÜå1LâI¨“x¸‚BÏÄ]n¤õj¿­TDàxÿ°²*C1d×çžÌð¹V®¾#šÒ<ÝlZ1Æé%5ÆI É;w"$ Ö‚„Ûeª?”»ý½u!\2îìÞ!螘ԃª¶s…‰¯­ÀAa€…8 vöX4ÑøþÖ±ayÚ²xØ›3ƒ?oü£ªè ÚÁL5¨ÆP‚-ß󟃽aû¸fY¶Öþ—mÝ-`k˜oȽZÿj΋:5윣oIÀ÷œq®Âq²úoå‹êF©óurpì«Û"çíZíÐÎñÞx¸-äpAË/ì¡uoX|O5LªÚ;a¹eCþ¹Â‘€aÜ”[‚ôä´pþ‹ª¥"ÕÞþËÌA˜œÅ ÃUˆ˜½èÛzPôõI zÃD´0i(îCÜÔÃù·rzçkç?IcdÿêÿísFÃ]›ÛhSòGû^RÔFœ.îUµK‘ídá•Ñ9x‹ÿ§§¼©÷5ÃÅã¶ÍÀ·*óæŸf~odÅÁ~„¸"ä{‚sÓ‘$v³šz”9¥!{bUȽ؟žÔ2´ssc“³[Ì㯄+³ô{£€9k™©Ô"¤|ÍR%«/ñt·ÆE<(;R™qnÌqéRµ:ýL^o,!¢U#c ‚º™]CZBmB>›¤^;"Û¯ ˆ¥ú•Eq/°cÆ0£ZÐxøõˆŠU%ý¶Õ˜Ž¥än‰N¹ì|¬‹ÓøŽ¥ÎÔ@8»É›¿jqÝíÝö굌/½%ýTp‰A¢ FXÛ©î$ù<>¯ß’â‚|!q­R€aB‹Ü«”>y£ã0ø–à´{¤‡#Ïϸë:˜®ÉñÌ7£Õôû77 Ia‘Þݼ֗j‹€ìö;›‹1ŸâL²{ÏÑc#±LOá#%é’÷ˆ‹)x­è‹Zùf¸qKz-bšª‚ËØ¿ôt¢?®Œ›D‹×ýjɰœZ·Üå WE%¢ýÞ˜üðÝ€Wƒ<{Î2æÁç×$°}‘îHãY×lˆàB“›Ó?ÁK)¼ œ«'Y,T7=2<’ÊÔ-ö36Î vÎsüS~í ØP¨Ð@ˆ«üÞÊ6ä‚*o vÛc_;¥¶%úæù? ×=ƒ‹%eŒF§(¯s‘û§E7Ý3*6þ<ÕÒêürÈÐ^ÉSvPÒ¸/ÑÁ45¾ŸvµF8ƒô‹½(Ž®Åï»ÝUв€_q§V¯:¿%'õ¬AЪÇÜõW“ãè™ÀÛÈ7ã’ü¿l¸Kc©¿ãÄÅ£©1ø;c0èÕãz0qÉ £Œç ¥Ä…ßM]Y´0a5Ýê Ïr¹˜BjUK|!qiÖÓ¾u¼å*–ŽtH6ëÏòþ·Ž¾~% =œ1ŠüÛ™ÚAP¡c É›£àün˜®Þu;»²íÒÎØ­y~·,½îØ–‰é 1=Œ0QÕŽ6/¶sÛ²#o·˜š åSǰ4­y„>O·²j4¦w=…":«~÷wØY!n“›?ýŠô©¥ïD1-ëÇ ÛSõªêƒÏÑäµcbËaÚ¹±­#g¤E*µÓÃæ³ŒWþòW å¦Ö®ez]–5‡B±º™ ñÍò7WqgNû-O'>›ñYûØŠÿøt*ÈD‘h ¤Çàr÷È óÕÝ9YKEߦ,é?!Ëø1g{,bü~m=%ûÎF¨=¡˜ÔkbÒ`Úäuª'yÍN˜®ÚO½ÖÂ2*I%MÃCBS»ñNå)ËÇÝyÆb“dj³g”àæCF‘ch&{qÊÖ ‘G¯0È~ÏøûVˆŸÀ7Kó‡È¶ßöµ©ëå:$“8ÏáÓð^äÇ †ÐG랊88:F/Êá/i³0qS>‡ãc#ó {«‹+Ó¼ê1ù / Ì÷±—º­$è+°Þ™ˆz5P<œ(=3‡Ô1bpbQâY¾ηKRîx*(Џ•b¬ä¬7Gž—qÒ˜Á5Öø£˜ˆÕ×ûSPnÛ“òñ‹h§‡U$‡ö4!þÝ\³•®…EAN÷õgãGجrCHˇ øÖ¼çHﻂÃfPÿ|Õá*ꫪ.݉!g¨X¶÷‰­R /ël›nÁ5ò“$I}(scEIä³#JÈGñŸI‚,kÞË­7±…8™²‘òm‹ãbwï{vd½®¥¦œDKŽN>ŸûXmŒ'÷õ6z–÷fÿ'ÖÇJ’Výïb;¿uGÒe¢Ò½’‘ÅÑæ1,,w=îah}ÍVœTc*"(‡¼%­„;\Іüš"É|‘‹Ú žâ¤òŠ® âQÓæþmÂæÎõåU6_ç žMt;Äð´úJ¿ïÓ¾S|¯uh×:WvñÊö+Z¹#ˆpŸêa O¥È¯ Fà“Ž«‡7Èꂃ¯ŒÃ@aDzŒÝYÊ &úpÒ³¯ù<#¢j¶ô(®{AB.¯Á!ÒOôÁb{8<ôÊãƒtˆ?‰xpyò{r¥;Ò‡ Œ*9[9ײU–½ºû碪e!“Çuh” ¡š¸€ñ²›Áô{Á?u7Œ^A1û_ÐaƒÔK®Š=næY€å“~çÐé÷Ø2(HáÊüp DB r¹¯]ïfKN lõ{¹®)Nß8íËÝj¯†½¨ztZ ¤‘t@!&W›4ï[‰Ä}„#õ»Ïð~.$£í¹ÝÑ•îÙÓ¸yÕOôW#Œ@ ùcŸÄÚ¡^òg¡¥G*¤§§¥QJ9,ŽfÈ?A+r6VÇoè^öÊà 2"”fÅÊ¿qvA‰(v}:Ø{¸]ÑRÖÕ±¦3º®&òì÷vå³3ôØ].F}Ó|†ÚV…eD&èZúùÍç]·¿ ‹.zMf²€Òš“žf¢'½t‘Á44Ê«küÈ-e˜fáX8Ìé]´ù=z\²/SÛ½éïúñÕLd&W³ÃJÔŸö[Ÿ*k80Wekn®p”w¤©ÖR:Øsí¾°|/+Ûîo×@‰ä«‰U07”Ó%ZÞ‡&“®Œ‰Y›‰‘›#hƒÝnØPW#ó¨çtùÆ·è0Kùè¨Ù³¥-ºSrAý8Tˆ#¾·y¦Z1ÔßÕûö#ñ`­¤ëiÏG!vJ€_?ý¿f†[Ô‡ià—ºjµCã‰l H»Á•,X×(Cpþu“i:èÞ1Qÿ¥x3¦:|Ae«µp'fŠ,¶¬Ÿ£z"×´ù¼]!Ìòê8ݲ)ˆ“)ãW|®pU‡¯’‚ÿ×®…g¨ ¥ï.ãé‹õz(†Ð¶RI5Ù5ÿS_‡1"ÿ¦ƒÜ‹¯¯aàý™¦g´DûOZÞÛ‹ÉÃÿ>R+ؤoöÎÚ|…ê[pvúcýÎ. ¸íÓXŠÜ~$¿x×*yP4Ew Ô;h²Ç¯"+|Ó¿·À'ïže*!jo°ÇŸß:'ÿÓùåu"ˆ­ú ÝåÔ µR¶½X1åìÝÿ…œ#Ï? ÚNê«‹*Ó¨§ð …@hgÈ f?‰Û žîM­l’û6ηv‚+4NÀ4Fj=…Üž¯Z–tå ý’ >›'H²çæ;OÔ ‘`Ež>º*꼃=rÒO9Y”1ØW{ü3åàšj’ºâÖÚ"ßt:ñù'|¨ht"±%µhö›"«dÚz'iŒJ%¹#Ö¾’glÔÓ+ àÿÌw ˜7ã¯B­÷yâ5¨¡Â!ÑTñ.Ÿ†¬º\ÉCÉ…ÿ¢óº éIõŒ O ²»©V'LÉåÖÑ EÏ+žCyTÈ7?h›ßȒКþþD1iÓÂ1ÕmòöëØ`²Fhi¤wçA>R]Y33I*#÷lß×’5 1t¸|B•o´UÞw!È8õ8Ô`-Bpð–›ÎMQÖ;’± 1:pkÆÂÖ>®Jð¦rJ`±[TôhäêKT‡íí'(ZZbá³j{ìM1ÌEq`³šV`cÊ2ë››„ðáW{»çJº‡˜6Þk_"9Ð\ù¶¾$ª$lõ^¤ÙLCŽŠ |J{óT¡dQ<ô —«¬ÓS: šo1IÚ±ôÆ›{­C…YŒÒ'²ÿF€ÔW4œÍÑØË?ÅoŠa¨´sd8ÙyŸ8#9“•Ü^(ð«Ý`åÀs0éÁÁ=À3=ÏÜíÑJBÆè󱆪_í—¸j‘¡z(ðá,ÙÇx¨ëÉ_ÜÞ+ä:\pZÒOñ»~ûÿ-+%9ÀŽè6Óµ¾Æ ;A¶e:)Ÿ@9„ÎçBâÁþ8 -™\åžÖ%(x^¬øô.—4 ™#´ íݺÿß~6] Ü€i¬`ŠÐ};+""&QT@?¾ (,­ÿ¤Á!ƒ É⌉Û#¢`öÿ$_‹÷¥*%ðáKb`ap%üØ\`¦zM`õ•Ä*,Ðlj$\Q˜8X(¼êöoÙ jç§°wö(O˜sµ‰•j@m££œQú+ÒG 35šõtØ>᤼Ñzî’€Ñ=»‘öæ[š`mŒ"]^îÊf›_›[²åï‚&pûUB[¥é‹2«•qô fÙeX²q÷>ŸýŸ˜SÃ*%K2ÖøœC)žÿAkSÍ„a¿Y|j7.ráqº#¿T*ìé4†áZO,­Jƒû-ï”ü®ìïz—‰ÕYÖ s \¿@ÎböÝ™o“rB–:¸ÏP“ìKêä ;b|:,Œ[/=é¾­åöVº±G:ñ…Œ}ì 6}Kd·h{=-nWi¢GJve q—M*Ò4ÜkA"U´ÓàÚvV¤9Î÷ÝROåí–Í_½Ÿy z¸ìYP#lÄÌìí ·evñ åx¬4_ýaÐ×cÛ%ÜS@ÝòOUŽ `›ò³sôÝúJÀƵ6{X/¥Y6õÓ|ªã‘? _¼1Ìꤰûu¦—¹Ú}QÊZ?ïêl±%±E‹XxG™~ûF%«/ORïs³Qÿã Ã>æËIl¶Ô0oæò¯\ræ" "ÇKµêêîþ½è‡“ÕkK™“¼‚4\a²3Ç]+¾ˆ …擨§DA„…ÈÔ(c=I€·lÿµ“eWËÁyT›À´—áXìKÈ5ÃSSì~ñ¢>àjŒ{¥Ñ†ÿü0{©[.3!ó£×yÙè¡]¢¢{äkÇïKVDù†BÛ£WYþ&¨Ô"m…K \S…I×azÃ6á¯~ßx€Úãݱ=¿¿«Tf:Åê±_‘Š™(xgUç7ãÀ¼¨gGÊ4‚ÓßSÒ° £÷Dj²ÌB®É]B½çUG£Á¯c¨‘Én2yή{…i¤5kÂäà2q~ßn˜0dÛ3M°˜œ†Þo)U³›m<ʿќ+oþSÑòó“p¸cÑZõñ2füs‹UKÂ=Ew4üAÌuî{ˆc—O.BM@í“w”°P¬/.>Ë—‘¦4Ú‡»Ëø ØÚ\†JµcÁ‡(•>HAö~Â^1Y9þŸ‰úâjò–„>•®Y?NÒÁt‹ÑÉþá î~ïm6ôHvmC§w]´ „^îx³8Õ§eºÒpª”2?¯ ÞÎŽrÊ7ñ'Ÿ®Ç¬iÙŽ_p0PÖêB¶óB#±*©^äÌûW­å¸÷}·Y3µãÄxa½á¦®@A =ß¶Ÿ}Œ ï4Ý2Wbl¡ÒÙÒHë y*>7^'G… 2RÖÓ $,kÿ·/³rR…"3_Ñ“øî 6O4æfÊÁëÝ@eR·eå!¢Ã…NRˆ¶zá6ÖA8?gÊ3Ó@õËwîM@}(iûvÛì ù ½ \ˆŽ­ÑDEŽ´ÅªG›ßÇöñÊvŽ{L‡_cÈ!fm˜[įԬ®”0h¤o*~Ÿæ,¦aØ)q"Ÿˆ1#N}P9ôÑb?±ÒÙ™Áé! 8°ú„­I|©ª—9ͳze»ö„`&~?0ñÔËRë/U"«&1í3õ³|°pÎlñvY稯±¦Ú4¡º¥ü&’ îc›¥”¶Ñ¯i¿^Sz’¸Ôynÿ2ªFS¼YFPL¾‚g},o º2£+24Möj"væOÍJ• pPZLê>¨%©XîÂa¥7}Õc5i-Á8¡Öó¤æÜ÷±nüxwÅF´Îbi4$( IRN‰Éï©u'Á¢Ii“z˜Ù‡¿^Kû–ópü8` QmΔž{ºzüÁK #¾â3<=HŠuñFu<Î)¸êJBuøÈ pcÙòTΫß[8íÔ,ÎÅ'ÉQ<¤n‘´"ŒõÒ «çb7m*Èñæ…ôä»àƒ_ŒÓñƒà–oüù¨Ü)ØZž¾t¦fÁ‰Wño¤@œÚ¶ô†:õºñ9lS1ÃÜ„x‡Pj¿âó¼Xj–îµT);Rå™ÏÄÀ ˜oâ ³ŽAúvÜeäm®E’ßýä4þ|L+¢Ü…¦^µ©x\ño:PV}˜nh·™ëÕî`A©ÄæXnЇ»scgY> àS5bšÁ]yÙýó”9KóͰ¹iãXâ‰]åî§Hñïü®2f¿ŠÀUk“ÚMj,WŠôÃB>bàåE¹~ûæi)!öo^hQƒ2¤¯õ&!€ƒVœ•Ùþ±Ú-—bÍ0kJÛ¤AÌpÎE6›H¬ÓóvË1ˆSB|¿5HÀ»R_“v:te@Æ·!.øFþ{,´¯êœ5í‚ÁŠº ¡Œ“UÒÓ‡®çL§2µß=è¹þįèÜž ý«P¤D`‹²Ãøs"Ó±¨)nâ( qV¦}´¾GÞ™yŸDöVÝl¨îs}?ßSÀT‡ bÑÌŠnK`c(ÆÙpÄïD 9­ß ÿw)æ-I`–Ù;dCèÕ{•áoŒÿ»•ö ùv'Þ^¯AÝ#ʧøD¢ {»æXŽ"i”-vÀBa¼7j0^€Q6HkNÅ¥½ ´:Á¹’ÿ˜€íà9Íc0Qø~²œ5¬ÝZgòz­qÕñØÖ'ß²±SÝ*n1}¨u‘”ÌòÁXÉ~&’­´i?ñˆnxíÁyÖÍŸ¦¢½tÑ6›âüe ê={Ôîÿ?ïŽIP­‘+ÙϪ²¢ã–hã_5·.YsVùn;pS¨Ü wÄܺí¹ë7ùبE×f;q½‘ ÇMjà©0‘»L§ê_iyT`¢C0øô𺵽êå5DCÔeîHH4àGt‘ N»ŠàöÝìyÛô¯ÞU÷•‰AM"ó1vÐôÞá]†>n_»mU:˜•£«0£Øoòñ‡Ò #¢íLËÃÎYwPÉ9±:M³öÔ P„bœjˆ×¨,}nf·ÏÆÝ£`!2i[|¶v×·wWz I*™üGƒŠ~{¥Ü½·ÀqT®ñÆ®'´¨m=Ýaµÿ¯kÞ}Þ8àÅc37OÁA¢Dkå ¶ÎMmA¨pÝ=u2p#vÅUýTzð#XB)|h²œsq®»[âÍÓföVÌáó× Å.lLÓp«¯: ‹kð(BO˜Åd• 1À“·:“¾ñ;n_Õ‘yh§fZä²XË~ïGèûø¦Ù!TŽÈì4¨ „›µ‘ïû½Å_ç'$R=_œÅk½6ÚQµKa½p–i y±UCáa™"Œ F¿²[ 5á‡ÛOAgˆåŒÄþçÏnyÔÁúSëÄ.ŒÏWÕS3d“­õ t€”O5ýßPÜ N$—¨¤2ßUd^º<Ž{p¾ÕNéGìǶ·¾ž¹;;â(ñÃ÷u’‰H)ËR˜¸·Í.—À:¸ï›ŽÙKt\ŸaqüdVñÑí0éÛ“îYF‘Ä´ Õ–ÕYwØÄQ¶'}àh$M¸qd¹ÍÜpðôã‹aúÏâ,ñkCàˆAìð‚vÆ/Åi"§ <‚qïöïó½ù ÆÕ ù#Ñ]õnž—¼ã ©'?· .[‹3W˜•þys‘kNÏ0æEäbaº» wgÀ9¡<ÕÿN½‘µ#ÃÛŽºñ>†:·ÎBÖ f[öîŸxѾ†íQ„Õˆ3 …ä%¶tù?~UÃLê)z8r%hKe¤^Ì´çìs:ÿ®±üÔŒ Å¹OVe­¾$ÖÖHO8lÞ|¦¶-6sRÉåœÞаö2~Z?–"'Íù¤r$NYï2ÈòÀðÀ#Ö!î©ú’¨pP› ³5Oó‰À+JŽ(IÒºĤ ›n핺¼êÇŸð·.>¾·ÜÂñëÿ…:™¤Y]1tjÀ“ˆ°ÝtãÀÌÝkdž/GñP^Þx%бûÌT¿ìµõÂ4¢2p‚k&¬xž¹§¸úQS­ëÏA±ÍN‡ÓT‰Ì·¾ÄìŸ8ø1tølpˆ£ÜÌ̈{©4ï]¬ÄŸ]程ã¥sh×:£VîD¥á¡­Y«Ðž¾ìÚ3n˜Y9Jl¹ë”ùÚŽ@^à‚·8ÍÓq¢5ðu3*3uCšë+†÷naMšØ@D*gå†:1"êÅ]EÛSoŠô€ª 3´nR±ÆoùGÕ`MOiÓ¥Ö5%Mޤc;¤È.׿*‡ýì€.Õü(0}žGÊ`±Ú8‚QÿZÛòäV¶w|$+˜Ž;ì•r¢í找_ýæöüo1È›vF$&vUΪ¥‚Ùõ†Uå‰ñßVðzb©’Y¹Ÿ,«Lo<úÑÆÂUa¤¥+Úæc‚„‰Åu¯ <º¹¯¶Y˜Æšþßu©æ»KR4ÐùÆæ ˆÔ@â¦Á¨ÍsJg[9: ;Šß;¨„1˜}ã§„¨,„ÞF§|¦k¯¥`‹y†T’“Çszù'NeT‹é³u,×A<e©ŽPMˆT2t¬)l$+ë>ßÚÿg4÷è IÇtÆxaü2½†„ëÙãp:q ×á@~T£æëêô(Ì}b{L@)±žÁæÈ9³øSJ0Êo ¯Ì¯Ø”Ä I¿Ú„J±˜FÖêÖ–ÇÖ ¤M¢<÷|©y̱-˜¿.3½å¸¡ ¡GÍ~)S=¤ãç¤ß>äö¿PËþÀ(-t£~UæÌ:¸’O¦“@ ç 5ïÄþ{ëø™r–g%*%n‚¡pÝù‡Ï™UD]Χs_®LÛ*Ÿ‘ÂùÃ`‹ÐŠž%Uû“.§\·=#'göòóþ½‚²—~•9{Ëh³€ÿÔo¼-x«M–Ý…±>Ý÷" £Ãa(L ‚±ÍÚȯB§Q«qî‘I¦ð³1,yÃjXòið0Aû&’(øÝoÝH˜¼Zï.çûáV•yŒÃ íµ¡9¯Aû6IÈZN”óÅÆ0>dÙ‘}›Nî¤{¨°D#¥ödhÊß´¼©õe³öÕÅ Cp4&~D‘a7ÑÉ\!@ß̦«Ýþ-‹äQÕÝFAøWÇCT ÿŒ µ÷Îe÷c¾µ„i~0Xmy¤t+ 1†L´ ýüá6Þ§¯áÚÅÿ{0`ÑîX >Þ°Iùyò…´i}ÜIø&&ÑzùãßÁšôI?'´Þ¢™ÿaR¡Ôaû ê×z ‡ËÍz¦!ÝßÎ(æ»°ž¼rõ½!„è;cIì¶Á¨«4¶«¦sl,Da°Ô„ÂyñxÚÍIYޝá¹3–é¡Ëe¼¿5"ß1Ø6nØê£™^K¯ ˜%šlÄGÔ¹ýv%fÆ]Ó< UCߨ•×q…BO<صìCÔU"|ÐÖeÒ £Õ±­?e;-›¨©WC"Õ•MÚgJ^Së »xš0åñS?ç}ˆØ›tA;X^¨#ÆîÐä§™ó‰5`.Iç¬ó•Ó¹P_æ)á€hQ† Ï® QhÆÖ2z0­€ÄM‹éyÃŽÛ†æX,‘»T[ÁÌ6áX¤‡u®ÑÊwã4ØWWJÕBoW“.ûT”A7©LlI¨.Ì»ýÄbɃq0NQ©“êç#8Ϊóx 1cP#žØY9ŒâCöz˜8î;-ïÇf(ºÏ#Ò‡¹ù»ÃQ^b^ ¤Û“'Kx¹ïY éwß¶Ó¥Æ,yâ "¤šâØâÁ³í]ìB7.±ò r&™#Jl]¤·-"ÇäoغÖ"iû»¢m,w'„Ig>ê±ßðNvW"g)v×ôWHq—Wß=w¢Ê`µxu¶Úî» B–ÙRAxf2àÄ€3 e,Â!,JÖÊ-1k`ß„…³mIÓ$v¾Ì¡èÊ>Stqãm#ßy%k(`Pm7—D){Ñÿ’Zuþö>Ø2~ër:®èÚfÈ¡…àÿ‘Žþ£U^nÖ£XI€¬‚ÔU¡Åé£[áZûÍ]ß8nByE}†3Tˆ;waP{×µ!6šÄÉj|´0gà]JB‰0ÂrÑÒÕè ]´ÜÈy¨Æ×Œ¹:u‘oó+ªF•^œëÝÑ Ñxƒî·é4Œá-/~¯-‘S¸ýÌâZ‰Í¤¥Í—š\ý)>©V›@’ü§¥føÒ"Ë~+í pôÊô×°²•F©G;)¿ôcÀ|$ï:ŽÂBVÕLJí/ƒz€•%7)·n–ß8ÑQ8’RóÃ¥V௴JÐ,ù“ý’HMÖu~B2aÔv–NDéfr%ÍÓÈbî8Þë1^ck>ŽnFIªb¯<Ü÷9r6™©8šycXQÿg³ïɦrŸ¼ËmÑ0S,[M !àA'€1ˆ†æ4t’%¸•?ÿÓ™b-è&€Ÿ§`äó¨°þS…~«kIèÚ¹Â_*œy‹•e¹sLëâï~nG4ë:›<@÷¶Ä:ˆ*JÑˤ<²²÷NüM<Ö<‹Õ"„ÙÊK7%k^Ö—>DqúêÉ×ñµ¨¹G ž$/á´ÚTÃiÕ˜÷Aúë×mоm~ÊZÔó_Cù ¥ûBÅ|H²ÜƲ½~hC6$•ñ¿’Ù»l¡ÂÖÌ›e©jû˜ Àk£ÕflÝ=„Ô²}Ò°8´wŸ~ˆõ¯ìžx0^M\Âþ7møÝNg­9ŠiŒ&üûl¾íÂx޹–S“;q€ ¯Kh“Ÿ¶@QÌ:eo4uÇžâ9]Bãá[©˜=E0­]~›ަ´Ä³X«Çcƒ’T^%a>ƒ(oKúê»Þ†'þD¦:´»Í…S5ŒdÊ9mÛûåªéP~*½km²[,·z¥ˆnÝL8{Üцf÷;nUÅ9•¸lŠ·àE°<“uV©öð®E'°íÏ,ŽôX"¡DZØC…Á\’ºý¾J-w$[½Ž&äØS°å®}öð•ž,WcoEÂ^ZÓÁ¹kæ‘H)ƒ›BƒÜïh€ýÀïÙøžñZÞ‹è_kUL/&eéX‰ä¡öQ’e¨)?s"ÂÔEál‘7Áæb b®’Í/nßå¬À")§"œçÛ‘Á¡`uW»ì¯b¿ixPpᜭgÃMà¬TÀ [ËÚ~€Ò'ôØ£ûÛºî(TÄ4ì‘ ÆØBSÆ ¨Š÷ÊëäÿèÞ¤€¤w9ùf9õò:-GL7š_[P‚Ji×l­½ªI7å_È•¼šÝ";§´ÃçÔ„2rÇ+%“‚Ž”#Æ*V", å2“inº%§_r*=º¥d®¥¢i¹zäl¼’FßS(’†Åu0ÿÉ{¥í;¤±†Ç'ðœä®g])$?ÇÈð‰žèÉB`ü//ÿNP¨ñJN·Œ²Ç9óä$„G¸¿2’ÛóN?ö£‚ÕçlýŒƒ`£TOÎp¢¤Rù6SžU¢øÂEs¸‹Ò±ex'öž~v´M³ù»|²ï²Þ FÑ ÈÝ6-aQÆ„Þ(™ŠXEP(Y²~-ÊâäšÎ݇H»ªI¢àùBøI>ˆXIJ5S|Ï®´ó"ÞbFä¸5wÚÃâÿPò*˜Ô£¸W<ænéþè†/?uàPAþÍgv¨«7ºâ‰gÑ´N/}–Ç?¬ÅҮ܃©­LSêœ ¾€½›Þª4¨?ÊžãºH¸ÔV•Lé}ªìét|LúÜK—‘kyÌ•IÐkáÒ*ÙI—UÌÝr¦Ðø¹ÛŸØôÄù¿ ®£ïÉ9,Îï¡)QGF€ú˜I:EÒ™¬ Žànfïà·2×­–Ð@†¨¢Š!šÍèpX¨:ô~w ƒ©•a”r#ó¹ùÿC^ïUðxÞtò/žº^wêIºv 3Ï xc‹åýù‰7p.m»º¼"þR’·‹à3›z. |šO5¸&Kk— $YŒOü³§ÖS¤ðÖa:@ö®7­§¼Æ(‘mͰ.âëIÓfíT_K¤ŒAÈ0S Ž;©Òª£­rZ £ÛqÊ@Žj_Z”Ý0á^ «#ë]÷ßNÓÇÈ{)nH‚¿-Dì0½›Ÿ#•d ß4Ä•Ȱ=X,á 9¡É’•@HqÙC«œ&Èw}rj@{ë};× ããC`;&¬÷0÷åKÖÿ5R W4žØêp¯b,{ß»±_‰.yæa“žõØÛL`‰š‡P'[~3†xò rTæÑ“mÇi`jîUW¹Á€æÓáV†+¿=¿Ìg‘–vü!ÅËÆs‡õާg¬½!LçºHSŒE)u.§Ä“ÁÎ Ô%€CÖ;³–ñt-¯‰TÂGŒß™4›Y¤”ü }A*gÿà²y#f}v”Çê…£ŠWóÈ æƒ³î/—á³Ú]ÜÖ?²lûqjáœÄ ÁR€9óšÇ€®Œ´MÿÝ\ÄŽ0êK È^d¹ÃåªòV¨ê×Ñ·,ÿ/if×füyØûÞqŠùDuò=œv§˜Ñ}6R»3ÕàªÊgw)þRz5¯rCÛåñªŠ9dåñ øEÜÚŽ)®o¦—÷å¥&T² Î'?y½váèÌZ«ý)}ÚpÚí Xa”:Ò Òó*rÀåJ÷,Å£¿%}w«ø¸9Ó¸÷Ï[(yWŠº‚­“Ö& |Ô#ÿ³fIª&Uˆ~6T­4Wá9C€éu7oã˹ü0$ź'”Ñ”±­ì£› E4,ß°ÿé–¯—¬aì8A’>úTg[¯½ïg,kÏö»ˆ«þüޝîë×í”MªïD¼(:„™¸Ræ– ì/3G}wK2¥1€S‹Å–ËÊœê '¥¾lïaB ¶çˆQ÷G×9¶¼­ù—}Ú ¬aWÊKY!µ$ïC|¾ÕTM·‹â”¶´ÆZ¡pº4ÍÎ3ú C†Øgvk¡×EC¡t_ýxʔµ¬v}yk‚i1'‡ÛOïVè±Ò“O3 Ú`n>qœ^2ÖÇÂòª¹ðp TßF”™hè&+߀è—*ÏxAå¥^Khsbö ¹-E‡B¹:ž[«ÅKž{ص„ ÅBµ=¹IžÛEu»"Æ¡½c'­ÍCP  «y‡=çjÍÍ}Ϩ3Üâ˜X&%äõ;uÌJ<èäT ìhkf`ލ/3±Æø¢ýA–=†3…Þ`æŒÞh`ó7¶1¿‹ˆݘî+z%Ô/š¨A?'FmÈåÓÚ,˜òm(•R0dÏw²bí&1jzC*äªÊ\¬fÌ.+~|CIMbÕ†NÚå¥JV”BJ çý5Þ=E-ó‚än‹‰JéDq{†Ÿ÷‚¥6 ±¼:¤ºÁñMÖ§s«d( TǧVDžP¾ØèV^ªèÐd=»¯òË3‹ò6¬zõo_ jpoØ).”Å;ÆŽCSï.6š\ ƒ W3ìõ2'‘Wš Ùì%ö7ÄÁ²üã‚,âï¬Ä7\Œ–ÄÈ[eøŸÝVQI<¿ 1n-·Ÿ5ûñªûÅuµÑ gP=ÇJõûD×­×¢ªÜ5q€ç`\ªÖ÷ô¿pÔÒAБG«îUžñ"cý°šÔô^’”½Ùþ7E4#2kçF×ÌÀ²P³£©¼úØd–ÕîzñStaVI“på"”KPˆì[H±bîqáUÐóýÚU&t…‚|¹‡ï†éõ*qy¼Dê ƒ½€f¼pVËx=dƒ%`ÁÀi»+¦,‡w&šË¿°®äߊ¡fv¢¿õGT´„°'.WO¬8á$üT—E_Kà óuºPj QX¸ :èaáã ,}òZJð–ô[bb X“õEÃ;`¢‘¬ãzéÀ?üÖ†{¥EW¤×§×`Í„tuú¨Š®«øƒß³eÅçÂÚ…e,w(÷ó€ÇTqÔÓÖr$éÞ8K烦‘Ic @>¨½!µÛN[–CôüÁÍu´¯Äʬ•N³Žb%Α£%ÃCŒò®ÏŠ»¨(Ävþ|ÔÃŹø)¸z~ŸÀô2Ý£ .kT;IŒŠ/K&MÝöû›ÍšŠf6gàâêÀÊPg`9"÷BÑ?öôúM—2–À™¸P‹"ÏÊ—yï¦zî‚÷šb-î œ7ÈÂâÌ„á“1Ö'õ?çÈæ~žÞæy)ë}~^¬¨™Á.xâD+%ÿ>©.1÷²<’ø4q¸}Ò´åøã˜â«Çñ°H±t©º‚(\THøäùG)Q¢õÃ@”†Ûôð°ÛD¿45L9Nf0ÿex"LK›8³•lÄsàÍ‚&ì,öu ÊzðÌRSß9Œò7¢X›åØ(öQ”WòIªô¨É£ol#“|’Íˤ±ÇqÇ`u6Kªæ’^v¶¬#ÎÛªv.Ð3‹ÓGëjݰf¢-<¿ÑɤU»†¢90±<Ûb¾ë#-MewƒÃÏ—ô¯ëù‰h\ùÄsáYnLWM@n«az8îÉ{èIžÔh:MnÚÔK‰×³‘ñ=ÇÒ_êBæûy #5½,­¤|\a—t¾Uìš Z{§.‘Ûs O÷/Î<žf¢5PdÉòiL„Ò«Ò5Ë©aš&àA†s:‰—ê²¹y<äk´iZc.ù4NËJ£ìVÐÈÑ«ÚÕ~1±ÿÓ±Ÿ@jy›s6q¨Lƒæå]{»3¼Å1%êÂFT› ü{eQ¬Ž5±Yéÿx¾aˆŽX@câ˜5fZ´‘G!iš­FБ½Ž „iAÌ.è +Ûi)‡:'TQjæ‘>­·a>t½ñçáúZÀ™ß,¹ê¦DI7@,r4¤´¿¦TåVÚÇËÇÅ'øÞ$† Ÿ:!‘ÏõÄ wµ·f… N —»GVß„×|$u‚#P€(оrÈ‘·s 0ƒúÅShÌ1´¢>¶ßpÇ©¿aÁï LHa;„:óì4*ýkyo8<йF0­©ëx5lÍw/CY½¡µâJ$‹R­Êýœë‡uÊ\iƒv* ÞšA£(}TX9>yª ŒçCª5{^Î竎çý8+Îðû~|Øâ0Ëê߯¢oä`T‡d~=Ú5xÕ°Œâ+¥Ç]Si+"œƒ«êI¢–23Ð,XÒS qüKkthMרE€ÑuE(¬„€ Ü0€5û!$Ï>¡Ó8ìÖ¡ÄZ…éêþƒ¹Q·”š)û{;ûœeÓœï>2|›™õ©ûØyr§8ZYkŵœ¦#IZ0± K™#kAËxsóV9Ÿ¶Ô![Ü‹+‰iCµ âÎYaÝS5ÿ³±Ú$éõ¶â~=ù ~sžµ(¦3‹zK¼í9Ú”•Õùr­VøÍ©ö äM%wb…Àt(3 ׃$ˆ-x#Î÷¨Ïùí{‹k¢WʹðÄLÙ%-ø¡7Û8½´i˜‰™Ÿ;ÝW{›kqÄ…]‚6ùÚÏa/êe@Ø šmgA¿?Z’¥/˜Låñ—~øn}~{Šë/Û 9p7É­CÃìMêŒÏçm0‘WOwðKYµNY÷¼G~þÑûØT<¥ë `ÿ ™þŠp~£ëqùZV6;Š+p¡zM³ã»—",iÑ·xé’³ªÊ½¾-UàÒׄ CIÝ`bêd`îKÓaÒÈJD US}DZõ-™C,jÔeHèÉÌÞI ò<0àr«6 ⵦgGm;.—ò¢iÙŸ2¹-±nÿÐFˆ1¦Ëj± NL(ܵ#…_òþ’ånÔ½£?ãpÑQ£ìþzh¢ð©ÄNÛW/b?Nß½ü™:2׳Ÿ*cä&aÎ…(pÀ|&Ó£(ªjúB9Iy” YÃ]ÈÕíÈý2­<ÉŠJè@cÐ[jÕì(0;èçþ;R¡ªÄG‹á&·ðë$)qÔ“jlii¨ˆ6ôSˆô§]§ì¦@v·WžÖ´(-¬ñlŸ§3q+kí2ú)²˜¥vt(j$q½þí"ÂðÈ_0%dÏìÆïâÏåø."Éa3qM!›ÞäHKÀb÷òiüÚ2´Z`/p±®æ¡o“xý’ Ó'þ ™ád´…1öÕóÅœ àì×Âÿ—:C²Ž§òéÁþ.Þ5ÑäG4ú¯#a¯%cS5Å|ݓ݈¬’–årˆ%«îŒoˆÛ…ÂA¡ñ²’'Î?¨ß]÷}ÖþÀýíË £üÆÈ6¾€Uƒ‘jÑJ³b É&žyý;Qé̯À‡oó]ªøuH*q>ab‡&2ž‰ê}’ëENëV^ÿK ÉÅú` â íÿ# õÓ«r^†‘8ù»þåM‚W ¶ù÷^ìÎF®w£!­¤HDô‰Dýú—a¥îv Þ\U”6,çê¤öwP j¥sçt¹+óøºxA…Ì- ,,®•=ñ~©?áI$!00îëb¬ÅcÙËàB —H…ªâ&³iÈd¾²²¥¡E|P'‘KJöù‘?ꔪsáµ¹¿a¦|÷o&â33±YÃËí¡è*4<‡‹î¦nwÉqÔ nÙë’jð94þ%¼Ëù1K§!ƒßÀ8(¬=”BµB ïÏ–ý|yú‘ƒ9V4Å›­é^ˆ?tÙ¬š ÃÖïÊÁ`™x³0²Â½Ê|w»V~;Z>Ú©òšYØGø y>_béòLC-0s4§Í<­){ý&® XãZ E À!–c@Ò]‘÷tNóDÙÿ|3õt!Ö*Ô¢’ÊVNAŒ qœ€œ«ÐL`ý…™®;4›X’Rj!!v¢»ª¹1þe0ó*‘ºnùì·3J>~»ˆû#®…:ÿ&r­Ôv•¼pJd‡HiÉÔ¯s@†dÐPxÁëÇ5*l$£î Ù>XYwyr‡Zœ]ŠšØ„|+Ÿµ±3HÁÚˤgç9 . [fîqìÁääÌ2 v±Ü8Áƒ+úž¸¥™Ò !œ`< ÆX±“‹h[ùžøå|~}¸7ãÙt ¹÷>PÕiPee' õ]ÆŽ›Fn26 õS4ÃļSFÌ„µx;*¢¦zÖå:n¦ês 2o% ˆÔ̓:à ÆKØ÷>ÁÄ`™ùáF&¯z_+c & Bsr»eæÉœê…´Î$iIÁ¨É¸Á œÚ6x±-´_£þ“ÜØlOI´Û^Ì¥¾ìIa¯·%kÛ­¨¬Á‘ÔÙGd†)äøW,?€¹hcÔURÇêX^È©«±°\.\Ù‹ÍØs~^g[À6pÃ5æIþÍØÞ¡1ºMCBL+ý`Ij@H9U`èÌIÃMƒËÝ $ ÎæÇ­c=´ëÐV¶þױ™³úœ Ñÿ“»£´[½jŽö?‰6gL¦µÂ•n›È™P<ÇMi¼:¥ž> UåŸýXÖvQZ¿å…ÃŒ[&ú©ˆe7fó,¸q8Él`,øŽh£ OÊ,£ƒ›îO 7xò¡ãvD³*É,HürK–U݈dЊ2•¤µ¹Åx5&Ú`pN{¦æEþ(êj¾'€ÃUœê¸KeU5éFM[®W;ãõuC» Ý„0*Åíi8õ×|ñŽÇy.·•ç÷¡4¸´ï… H}"»åFÅ! Œ`ÉýÉ@ºÜÿÔ[£~ó4 Y9ùô sM#oW)J²2ϛЙ¹×ëŒzÂ=Â/N/¥¾6¾L¦1/il©rìe°±# ¹‹×ø[("ëåËðñû5nOµÔžaÔ®ÛàzóQ!ìßGôÆG§ç´@ðM?iÿfwüºý^“_óHBSVµ.RòÌ}22§Ñ@ƒ•¬¦|›L¨ŠåÂBƒFx–ålLd;tûû í¤êußUøûF€1¹¸ìÐóôuÕþïD2õƒú8v+iÜE£!7÷»V3—™XDXõ_@ð/~l~~Ç1$_¦£Úž•Ï¿ê x=(’7öÏBpØ^»üGýÁrôµ:¸Î;ÿ,³­¿5¢Š kÜÇôMæCùEm—\d$U¼oÖ{Æ«N%& ØPÓïÇ{œÄeDH|¿fƒz2¸ðµÍ’æ´Œ§ ë³hþtsÝÙï×g6Cì`ºC-ª9vÿ¯Ê èßAvb2ˆ;tÏGRP%5J¹Ó¶‰˜{¦ ½ÓK ”e:Œ¿žÙÜEÁ8.•ë¯yè«ÉPŸÕähÔ•¾Ï«z4ƒœÏð‚pyÆÅáý”øòeÚ·{3„:HÆQ-YÕ• iÛ•¯ÀJY}iÔÀËÐæ+Ûtå‹õš÷£[B4½¬,b!¨ÞÒÅ-¬\» ÷v˜5Ñ»ŒÿѼŠâÞf½6à?¦ä ¤ç¢„ýq­Ò’ݤݳÓ›c)½!Ä9ÁA9:ÞüL&t”Öä—šB²Å‰5Øga¬S÷…ë N Úg1i»IUiÿ*® ´;geâÚ.Ÿ;j¸éÇ™ÊC¯—¿ƒ~©.%Yæ.Zt¿ç¼!T^7¸JŸ×–càéf°[Ù´€ ~,”ÃíkÜ*ÏK£˜ðÅýM̆i‹¿h²t/z°Ä¡Á$Y q* –6{“:ÅwC:ŒYÚ®0R!‰Z³:aÖ‰D¬ÖßoU‹3»~ϦÌ(ªb%ˆÚGíº 4çÀ“gý¼0"®Ë[+˜.9¥„*ø`¹\éåcE<\3¼”NÚöõ¡±ð=„žÀå_©8׎ðVö–‡®£Bpª Éâ•^C­^ÄK:72P•‰fC‚`¿z§‡h€…•Y|†5ì»r«,Þ[86½ÖL@åÏÝÒ”ÜpIØ?³D”r³¯ÁÏ’@¤YÞ±X0b¿‘Ð#~üQ-CŠÊH'o¯¶ËË‹©Y$,/ךæµjc1h‹ðÈʪÙú?´·"ä¯ôýþ*žÍTXI¨7ê_ÕËå4ÒuýÖûÈ^§,ŒËIÑ}Ð…>”2µîVVz<î E² ¡xýÁã¨2ÉÓ˜fÙFhB·\l„¢¼÷O1a‘ é‘t)ež J¾ªv¬Ùï.Y¨õ. :wÊw•ç¥H †³d€ˆá‰Å¹'|A´˜u„¯l®ü¤½Ø?Z©±²]ñYvûE¹a£ÖVbøž7P‹”9Á”7–³u–œv›1Æ2Ž¿³_ðdL©é#fpGD82CîÇ®¥H#V6q*0 7;ÝÐyI¢‹ˆ£JbœCÎlaÍôΡ+Ò¨ßÁ¬ù#E´~×hç*1•ë–øÊ®‘úŒl«L ½@!/cíh‰YA*Vý_ª¿@7û¬Ól4ë$P‚„S5R€YÝa{·1Hq“ž¯ÑØúrž›Rë®!$_T¼…¥„9ƒäÍ~và΢ö¥/íÚ.‚ÌOWÜ{x~b–%#@{z•cG°š®ÜBD m/÷žGÄÈÕ=Ç3‡¾‘¾Àäk9·VPÄãüü>|Ô;éšz2Ÿj…¹ø›©Kè%уÿ><*êbœãº8 tÖˆÖa!åˆò!¿ôÿ“a×N2MaDÃ{f‹Ã[+ê¿Ýl¼¯D~}SÐ0ÎV,á4ñ-®Öí¬Özy£CÖÀ\²?FÑlŠÊCüÙøï•P×7†âF*m Æ¾ãÊï”vt–æ™@ŠOÔñjÒãqÚ G³˜¸¯ŒÆ€Ýþ|9ðž—ÅÛ‡žMBá6lR¯Z¥å0u¸!ZuRÔ ñŪñ:í—:> B§?Ÿ¤î~Ø lü“âXìÓ¾Ôˆø·è©Æn+]ùÊb'Ęøµµ‘kLûÀ7 ydá;AZ°œxô» UíÔà}£%«—2{‡nšPSð©-øÚŸ«rŠ|·¢1ìÁÞx:÷¾Éµÿ´û`R¡— mæ8o2_TÈ–[ËÏe᷺߸2¿ qFþL~­ƒŽ)&ZS¡íZj'`ÍÒ Wã8ú&Z$–.ïä„xã)ýÉ zEV–²Øå\ÏÙÙˮöœ†ç°WÈrN]ôrB°)·Æ’Ÿ·Ö¯n:HáG½ŒóØè›–ÚôñÙš•ëਨAÕâ²`3/ú,·D;ØP¥šÞIx}2 ƒÇšå^ÊpXîó*á.ßA=õG å>dÁÐoèÍ%<¢È„~ËË„´ÜTÁ—Š!ÚØŒð†Á"“q®õ‰PPE|[ž/"2l­£0ZÝ;iALÙä5c?q¬LYúV4H.ogÅþj[i>cKØJ—¡ýEÓ-í"†ò6ÎÕr÷Æg_§®È„oXœ 3·_ ¦±AÿfÍlÉÐÍØ è CãŽ:aI¤0÷Õ—¡0<ñ»vɲYl9ƒR½Dò»š}UÌÙ[Öç1™_).Íxpl ‘°îîb(42{òD¯ÉÍìÆÐàõ]š.\aÜb¼yŽîìE«šZ”,wD¥·á“$_NõNTr™lÆÙµCìŽÙúßÕÝÐùã;v¬GáÜ€ÖSˆ›ˆ0ÙÄ“ô™Ÿ‘)àŸ¨F)h\²çïÑ éú6Ãw£§râÖ*Ø3í…¥oTÕ©Fîû¥î ‡`]¸S±¬¦«Ï–GkÎ:>† ¸ÇŒ„X¬ê5¯„2ˆ7Yš>°8Êm]œ hNé¨M”Ç(ožR8/@‰ –Nø öž"¥ž'Sà"^6Î:…RÁŸ B?—Ýk5Dz¾™ˆ³B^Õ3'L±–(oEèTV´À²*'OŒø]ð¨QÈ?”,+ô¼—pÉìvìÁ Bn0¶JŠÃM8¬F"kIk×hÀo¥ØUÔÎMÌÝ/Ï焆»ZöÐóv˜GÆ“øu¸U¯ûi"?p#6Ý•‚Z³Ÿn¥¾ëZŸpòÊu¯”¿À P¥T°+yìýƒt>v|·š{ýˆ¨`S'ö.‚5ÀI·cÙYè¨áb4tîW·ký8²3`ÔBØm«`XJÃ]#·q‰Ê‰—ôò|ÖöòüýÖ¡@y§ÇBÝ·›¹rVž8±OqŒC­/ŸÙÿÉxO ÕâšÇÃå"{—í®³?°ðéEYMq[#j‰’q"0CU¨ûÕÆR´£Ò«.xeƒ²Z8)×T~äã9l®¦)äsµñöK÷7$çLpà>„•“\14,-0½·sRƒÔWÈyÒöÂj5ó$#a êª–P˜Œ ‘ÜkË—Í}Èj€Fp³°Ü•ˆ¦ÁäGƒ¤¦@.'^xâB5ªøóòÈ+YåÕÿm{Õ¶,å½`ÙÔ\ñ¤¶m}Ü#A`P‡¢ˆ+@ AÓCé@Aïûh^êÐn0`­}'½ÝfD°÷⑯—Šï”Ñí˜Ó(‰Å§ªïYW€–QX@²9tzc‘ ØzhÅó8ÈëV•|ÖÇ ^ª‚GEîyçÅ(ΪÑÚd ‰Hd ‡”möX ºj'®­öjVLÚm p 'Š»ö¥’¨ÙNà'^ÏÁðÄ–­Ý÷ ®,‰WBA 4å÷l\ãÐp +|iDñ&,”`á ²Q[Ä\j~Ó6 À¬÷YRhË  5«žÈuQ€—–•n¯ñ«IÊâžÊ†*RÛHìm9$19Ö¬¢ÆÜ?µŽ¯iÞ÷ZV[ËÊ„6ãžê_÷õW¯<;ñšJç7B¼¬L.w‚ºž>qPö—­À'ø`#·è–…Ò†‹¿ù©A1#:g..êå7º˜+“ôÓ/?Zµ«d<¼jîY2{ýUŸÿNSÞS˜£Q3…8‘ònºÜŒ’a×áé:C †ª Gv˜rÓùÃÝö—èLÚùÄ“Íal|¹XL80ÞÞÅ>gbN^FêÂN@¿—e ¯Ì¨£pNÔRœ¹ík!Õ°Ç ü…‘’2Å®1uZT˜u‡IçGÙ)¿‹æ>à Ë鿣X×JZY#ïèƒY ¤ ¬2às_¿, Dî-ßOéÁ×Úáþ-`ƒ2’7ºñ^Æ÷4ªd›|À`Ø%·|Ó¿E,€‚¹£˜úí‰ä÷ˆR>ØÍÒTª“‰î1#'. ÖœjgOÕ“W-ï°ÿÕ­ gç’ ÿnF·9ñ@kØ9œîmÆ×XlŠÙí„JfSï8b Æç0‡ÅmZ´…¤Ü±C§¿£ò²éIÌÁ­é7ïGìZ:+ {×–K×ÓèÊËa+Ä4YC—B½, oŠý%Y2‡š±A¾šSQ¤²MÃ*d\ánò1+O YF€¢PºóǯÓÒ‘,3~Y‚Œ•€ÊÊZ§hïµÂm*¥hDñ 0Úé{ÆêFtßÙIU™®tE߯^zçrïÉ$@혶K½0«¦50¬ác|'ˆFµÅv?fK _‰p›xœíŠ4Ý£Æb7³")ÖŒi{: ô6ÈÕ¼+˜'Ï_‰øÖSåª d—T ‹š+¡ ) ý(1‚9úа N•æò`í¤ê’ÛͽM;¶KÈgÛµœÞeç— êñ>D‚ˆ’¼±&É”3Èrª!šG»V9m^³„ƲsÛ½óÞtuZXTY9w¿ëoÖ¬J¦rŒÁÊú†ʳ醋\ð$JÙ&/ V7÷Œ¥^8ÅmVòt%·Ù-Ç«pÁJL—ÕáÎ5®@«Dÿšè7JòÂT”fØÐÁ9xs]G«Ä^øO‰$Òt„s¡”q¦´E”#w8n¹ü2 R*ê=‚hÿœtP ÆUžv: KçᇟÄMû¦CÒ{i ¨–´´Ã=¢UºÙA$¦™fª„2³Ò A=S¦©÷R=ï:£ÂTCKá ‡N~Ò¬atñÃ, µŠM´x› ‚Á'9äŒBgÇœ«ç¿aeËi’Åf‹Ža­‚ ¿ÙE³³“³<±YzÓD´Þü®ù,(2qέ ïWõ³ïPåÊyÚᘉø7ŸÒÁ°ß)¹æ¾ßŸ˜ÉQ@‰¯±u3ª`ÂC—DÕ‹mv% T<‘ÓQ`xò(*-»}óžÙëE"ÀI:âîbûn±ö#7ᔨÛWçhG ¥ÍƨwV—$/=Ά?Àž©ÊíÕ¥lEZ¾A*˜”›BCOÊ<\ £šVå·ñÄQºùiNÔàÒÞD×8÷é'o§!ºÓy ÿZù‹Ú÷óèºXm +?½æP½#Ô Ýâ dÞÌ©s7ïÏËÊF+Ùmü½¨•‘Ï_½U@—®EŒ¦‚Èn#»ì:Ž™Åð” U;+ùðÌ•Îmœ)™â ÚSAbcø3¸í¸ŸXöØ7:ªÁšß…’Bì×ëtNŠ ˆG&ëé"uÆIÏ„3µMÿýÌØš60ø"!þ@UÕ*h´¡»“h-D¦WÏZ­ÃZ°ƒÜéÝt'ø¢=Û6ù˜ÖbÝ%/Øø òw–"üÞ“Vub51ìoµv¢?ã}¤ª¢ÒzÙ·³;‡r‹ò÷He 2Ò'ÝlÙxq â÷UÞ÷…nçPí,"Am¹t¼w~Ì¡QOg«„®`O°(ÏPö«7¨±Ø³´Ç±ì A‘ñð«»6•–ó‹i¨S+d¾¡RM‡ÐûS‡®¡“6&¸ÍÿóB"=mVLê(¨í_Ýò“òR°õˆíµS¢Ï\õòIQNÐÙâT¾é³•£Îkêö p[>YvüB"üÙžå³z8¢œ è _dmñíún£uûˆšÂT*‰=”²ºˆáWêL÷}=hX‰/Ís~´Ï¬o´;$ºÎ‚Ù1gË©ÉÞ˜Ç/£á­|Ƹ³hoGC¡ 'R7A!™>36ôX¤gU®Š7öAÎ䉆ëàùã^ç¶íàíK3=;C´Âh>úÅüÊ bù—Zߦè€o¹ÓÇ1Ðä;!©šn(–»ßM&ǶÚÔLn?ÆY¡ãð÷xS;Iðy+L©º6ÒÔ]4¼;Õø*(!nÙß=D¯$-+óíƒ@£gƒ`˜§Ò·\¾gQ›Á2ÁcRM4 ƒÂ¯6 çÊÅwåÁa×N q€R˜g‘ÛÊןD„w©&望P¬Ï›Bp Â6Qï@åã@ »ÕrI_ÌUãn5èÉp±A'Ono%[0Õÿɰ¬õ‹--ß]øÝör°Þµ=º9£ÄœÞéRò/fµ0T›"›)w úD(¯øPií&+êupåþ»ýΫt;+ÆF“®†—A¾N.ÐÀžµ‰Šw÷Øj»o»è™/nÙ骜HUëÁ]˜’'ßÁ):ýû%ýí’ª(Ry˜°ÄòÂë4¾tÝò§†%¼*± ¡a®õÂõnêôÉ{çK3yÕÆ)®ç¹(@Ïþ²I.F‡Åm Ì¢L ìÜc·ù%§ËŠ* KùußÜxñ]³a!Æ›ãK£ˆ8î;cl …áÒ~ÐlxôBßÃ…5¨YŽ‹î¸Øÿ ]¢ˆæGdЙN--Ki¯Ž¾ìYíø÷©‹_â00Cã  M3c£|XÉ£{’_¾+”û)wœÅŸžåÈä2ã¡Ìj b^´–Ã…­™7cåÿÌ{mÜ?X”|K:¢Å+c«YÚøL¬Û6©-#ki)RѸ6ÄQ©§×0îÎŽ²ïûÓf¦Ï ô]*uŸ2ÜîÀ'0lSéåí’è*‡øüáN–I¡3>Œ3Jl¦Ä¡÷0u\,LÜ °;¬$›T”¿ß} 5ŒÌ Ч£ ¥èÛ95ÚF˜kï.¦3ºÈÔ¼Oþ@0 L´Äóæ¡t½?¢¸÷ 6ÛUÞ¬OmrÓe «.¨I±ìÔŠ8ÈkÓ=ºb/GíR‹¶[<úEª¼Jûô¿q ×°è³S½P±%izo–€(>rü(*€Z+´×¹ÅîýìüìC:xQ÷haùh-{ÅÌ^Ž Ú37ï³ÏBÖ—„ b@Jv£6U⎠vî]/=è`%;0øY4k¨£S#y^åJ¯Ïóº®9˜Úš>Ûý†°j wÖßÙ³C÷"¾ô™M ÷ñíuX>,Ÿ×<Û‹o¢?ŠkHøau|=‰“e>¯¯eüΓ$õ„Ú'ÀC/qí6Š«Ÿ&»KV0¾<ÓrÚú i9î•v!.F1kS²_)"w¨N§¹Cލsù±~/t7.Ä[%ÿÜ•oëÅwÕ7töÍ.c]6¸R© ¨y£ÊòÌAÃÄò“©o·5ªQðóɃ¤(¬ì&ÞÖnÙ ïá×¥¬r¡z/°¾|­œV/Áµq.ÁmáëQiön|á!¬c’=À¶«‹†’ÌÄGA‹‹¤&aô´°Ò0é’.ÝùÚ§G¶CEªqZêlžq*ù GX&ør4QzSI¹»B¦ñB±Aª–.uØžî±[´Ô=çÞÃ9cî*`Fè¯ ‚êjf½èã\yÆÎSd6W%0‰î»·¹n·ï“º+}’hÊ\5µžøAägJðC0¼7öD²¬Äú>J”±xÕÎÉ™‘7Ú“ ØðÿÍ\ôWKmS¿KeÓ‘û#L® 8Hφ $#*Ðßë®;¬òZa)£=â]õcùaEûÿ.@‡dB†íI¥ÐÞ‚Êï%Pïö&B¥3Y’EàKÙ ¼ÎêÊgíõm³ÀÑü’ð®'O¡ÿp¤”Qv‡£Ü!]cê xôÓ¢7 ¨Ôsàl&¿¥4Î/ž!2Áá€kƒ ¬ªsÒTm}ЏŽ¯ô»Ñ&#z%§úò=ߦ¹íx­g>ˆYjüðJx¡ ú†%?ú uµa q.²Ý•µããÜÃŒå-éÐ^;/©ó?ÊáÜh§<÷tÉ. ¤ÉgÈ®äCh7Ä( à¬dY” “bÒ© Â)Ç*ü|ůÝñÒ§Oºf6+•ç,‡Ì‘iÎÙY™Ù•C~mv;~A4›M+"rV5â>k5y•í¨ñ`_«‰M´¶?ÊãwLÂJX ¡? ã^@·[(NXR)š’rÀ ä ¼ö‹d¨é÷†5ôkÜóyÔµÔ¾ze¦ÒÓÎŒs!ýO Œé ÎÐë-X‚\J1Χ;´ý0p­ó‚O2)¼hòZ|bM²j!fôö&ß›(þsœ»>t}U/ñ[ó(yim‰ú‘Bpi¨7¹k²ëÃoJöl´h_1Hw­JJô2œHÏN6r’¬¹ÎÈ ‹Ý%ß"ñ/sâ‡o LåTž˜+rmT(Œ Å/ŒCâ›> þ‰ŒeÄ~ŠóSD¨njV—ÓþЯŒœ-ŸÞÌãîßå˜_Ÿ/~A5Z(J½Mÿªö±9D³u¯ç…ìµ*+ís†J_ïfƧ2É8_hL ^_ò+ ª¾2W R°í·—€ôùìåý@&‘°.¡éSoF6å ñ©qÿ¥Â‹¶å³2€WyU}²‹ëQ=_wYþwކé„c¬ t6Cä‰òü] bÊG•†®/ÍÂ¥ìºu¹J>õîõº}P”ÜÍ-§?Þ¯tÆÏ ²túúä7(›u¶\ùü‘ÒõþL¡ŸQ£C)î°*L£m*"¾Ì”=2Å?t^Š(uÕe—Æz}mNFO~„[t¯f'ókã`;Ý>VäF‹ôï½á×^ÖöÈÉ"³í¸VM{*wiÙRöV :S®‚¿^'|ó;}É^x†Õ‘üq|þtI•·Õ>%„oX“¢è —kç{a \$l‘_t¯°u™»×FáRs(‰Ñ¹Îb+ùEÉÆ§ué_„‹ÿCf”µÈ 0êàÒ°Ù3,]T§Ü IÎaÑãthScܳ•njsvÉõT9ðvF„jØL²ˆ÷ŠF!^£ÙI*TQˆbÏØ?ŠE˜ûbØrÍ.¿»¥_ÿrjF‘–»çgÚ5‘e»¤!o´pŠÍ,,*B­‹Dkjà{X­šEyÃ^yqœ2KÊÆE¬¹Å)ö¦óžÅÎÛÖãÐXùÚÂiî â®H‰Ä­•†ÎpEß|A‘Æ=@Ö¹£†š¿íÉø¹¨SáÿR„õOßâBày0诇ú‡9~cúÈJ²&¯´½TŸêüšMµÅ ×?Aþ^'‘Z±õd ç`Œò™³š5AFÌĬŸ©^¿sIn³ñRCì†HWžyiU+B¸DŽ'Ø3,ÕˆÆ0IôK­Ôk6ãç'” «ùÊ¢è3Eï?·5ÒÞj)¸`Cl¨Z ,*ïÐV6^…ß1rÌAö^»†P#¢`P· ú7m<6ç‹5‡}Œ+B?­ª_e¼Q%<•#Û7,jàK?t^þk£éÙ»•B¿¶jLÊ(|«¦\WÙØ¢OqS¬âü®è¶„uv=ßýÇk$u #½¢> Fy )k”ë{»9?ØÑ«xZ?Ô}MÈ;î''¿&çýb£ =¤RóšUtôL4Áj™é#EUlÏ·GÓ`b§ïM¥î&0‰kÒn Ï·]ƒ°B Wïy$çæœº#PÒ[â[2¾„ˆ*ì³);˜œÐñdï1l>]’{ïàÇAVcš‘Q7}eêžÈ ïSòH¿èêQvÒGk6§Æ‘2µK„±¨+}ªU @Ü?ŽÍ£SÝù*Ë;9Ä@¢uÖÉÅävoÍfÈ=&ǹ.×åð˜è¤lŸy‘˜ÌÉ]ð²Á‡qÑ솩K¾ŽMž±±å@yù ÀÔ~ʧiŸ*qH’Ã~­Ü}°#4ä©7ß µ÷Ÿzïo3Iƒ#™ÎÉx'ØÄºêÞýNø#Jì-Tͼ±9š´á”¼p‡Y”£áz‰CgÉd‘oû ‹ô¬`"è—‰FGðGÓ#ÿ<Ó™y·þ#Îns|ͧ¶·¬¨°=š3ö¸~4•I¿×/A¹“&Ó-{9ÂÀB‘F§Q1„ÚyNTA[±(s«Úºˆ ?–ã!Ï!>ŠU3N¥†Å¨\ISûxŸ÷pÐOØÊŒol6],3׈N+Òׄ~2¬mò~¿6]¨uR`6T·ÖLXÉAŒÒ÷OØØsy©¬N÷)Ìf±;1ÿó°'¤ü¡"³í¾zÕ”²…¸K³^2`ÍmmÏMŸì» óŠ}/Úp9éeÎc¯Y«:Y;§W "™Ià9ÄÁZŠ4ìkpjU;Ü€ª¿9ISª .‡ÕR¬™dÏfÔ4®ÿ*6„,CÔF ·VHÔæ9F’¡“ùש°×KËr,$¨7-È^ÂJ;Øü°+ÐàÌèýòí¹‰š¬ˆïoœûÆp§«¸‚S1Ÿûæßß5ÁYnÇ `&æˆI{vŸP†¤¦M1Õ·ŠÄ±fÆ*$Sî‡/O@¶0Âß³Y ÚYàTJ‘?¡0‡¨äd¯këäEõ´÷<ëmGÝ4v¼E èèáµß ô͸$ÇÂ==¤[Ÿ; dKuü+¾vŠDÞÙ‰%ÙuLØxåçæ`5 ¡] ‹®dê6&sǽq ËWžÑúba®€¾blÍ><Nү𛚵<¨uІ³ûÚ¥ã»5Ô(Û °l?¢j•´ð·&÷ž\—YW†fœ'š`:£‰¦ö™U”B“²lD—ÚÕ1Õzv½A>ß,ÐÁŒì~wù¼ŸyA欞djô¼ð¥iøþL’ùöÚ(Ð-\‡¢ZŠÓïŒßâíÍ”‹¢Êø¨6ØFå¿2å¡Pt·îJ·¼÷QKS&/eNÔÄè ¿P(k®ez,¶Þ ìH*šKzÄÑG¶Û õnrü U3ÓÖr‰d‡Á’ùL0Rl BJÖ¤ þyƘÚàxÏÊsÂÖ‹¤=Þ>ßQ22Z25/n1œZŠø†ùr’{ó",”ÅÖað‚oSJ ²' kä“E$e+ÀG a2Åz«– CÛË­G²¦—–\±x_Ä $îVí~nY×ÉXÕÄ實uóœƒÈÙÓBŠŸŸ¦„™cŸ÷Pߤ¼Ì€èã_ÜÀ•Páֹ ¼ ö³R´ãLR,¹•Ê‹öG\«NOàAbÙg­¦¦¹1-Qº˜5²® =;K‡Ê2ó6Ô}[iìßdF®^ȇÑA ü<€ÀR°‡³ÊêTÔ{E,ÉXÛFÕÐ:üô¨JÊyQ„°g¸ ¡*¥ŠMRÑÍOtIÚÙr u1m€Ê‰²?ºo­£„ dë»»5·\Åæ:r".>«€¯uéåy"ÚR'Ñ u¯í!6į[Ÿ›=‰2_¥ý(ç½›Ô|. eu[©ÌgJ”0˜™f {Íâζ#‹Yšàf.<(¥CteõõL1þ£@gÜoV°è)Û‚w É a¹Ìÿàd¶Ø/t,íÐÃT(¥œj™®Í1ªË±)()”óX‚òüW¦©qðk )ãêÏ‚Ë:ÒUÇ;¬aÄNÕ¯±d†á’ÆÝ°ô3Úd¤ÒN(gH~E'±<,k# ^'3 ¥¼Ö·OxqëÑfÌöøLªï‹GsÙ˜“Û± ª|•¸ÈCÉŸLÉÆÐÏ. ‰ªN5vë^½ ^ÿÖ¯P­õqRòM[É]H$âÀ¾[_ÈË΄d%/-höZèÒÈý= iáKC~ÇVШ­Çœêx ªK¶ÌÄA߯§H2žƒ¯a,ˆæ{÷mxýe•ûní¶"TrL$§å 4·UŸÎ‡è½G•úå,æØ‹ò)óö¦úwÅÁ›g«Tï/í°Ú²6Yžµ¢x08â *܉4âÛùΗE¿54_N’>’Ãë^ðá¥ýH©Rß×"I* ËmîŒbôz¯ìæœHì} fí:¼¸9€ˆ¹9ñíU×@¾ï³é‹JrIÆ^ ¤LêüÕ7Ò|f4mžmXÄ…LÙÿ oÑÑGOgÈH_ŠçˆñNwvìb®F¡OДA?¦,8éyeæ³(9&¤Œûww)”y¨÷'·ù ˜áïVÇã¶w^¬„»ùÞb ;å~+¨Ž©1y¥Ó7£Lí¥¬¤D5wV4\×+Ýj¿wãMѽRdX­Ú>Ý/—G1 kÓ7ÞˆvmV~WŇ‘†Ìæ÷©ð^.•JD~~bÙtø `õW«±A&î[t†ùß^Ýì)Íùç6OìÁÄÈz¿ªÔø¹¨Q˜ Øýsöx΀çsº9!Añ˜LÐÿQ¿H ɰ×vàu¸"¥LYÕi ºKwg·] ÷³žâñÉ$úƒ…IHî›QðÃl¡OÍ i„9JqºóONM­¯Ÿ#– .ߩ٫ª ߤ!\þýGãÔíÌ*íË '0ð¹x“mLèÛÙlÜ”^™´ N£”ûj~ºÕÏ;0´)80¸½/ú?bÓi6”Þl“ÃŽgÕË„\}¡à,3NTà–Çɾá…72±=~ï@;n™¸IK~Ó©ho¬ F;Vz0D€¤vÑ['mðÈÀ3†N#D”ßCBjS‹¼,ã—âÃz 4š ¯>—–¨)OŸÇÉÄ>hÕ'Ý?(*0Ê› ö‡¡vÚ AɘÓEtÿhë òoYh5x!$Š ÿs“ˆø{dCú9eÑ`»²/±íH‚Åâ“dg+72ß8u>ÎZ‹iÇÙ§ëÚå=¥ÌÒ䬲@,ZÃÏ%@G>Ž¿^3TÅF´CzØ Bö#.ðUˆ­ ÿ…?uÚVxãÈiÕ¿AR†ßÅû¬  ]<¨.÷ÝËN@¢E.D¶öAë8ûÍÌiâûõe‡ÀÑ=Äww«’³×¥”á¬ûMfò‹TX®Ô^è ŠW{7€¼ ì  "5­[À46€ÉÒZbSI§ œk‹—š_ â‰IšéÝèÓÅ:8 Këé9 c ïó äBdÖäœÈõ¶`·/õÉžÏ\ãNÏÞ}C&€Döœ±"ìy°>R{Ñ9Ã=’¸ë¬O–!=‘ ÆÀ‹fìØø¥Œƒvx×íÍ·Öz°_™²Îœ ÒæªKÌ ^•€­×Ú[ZjÕ¿´«ÛýÔûÏ;(h›¸£¿Oñ‡!ý_“hj,*P_¶ÏÀ¦ ê‰]½½¹Iù(µ®™^|qrÆoÝß½ô^³·øn\¤ïqAꥀ"5©ËÉŽî„*Àk—)…Œ5\ âǺ™ØL@È ¨“-°£ÀéqþaâÔ?÷[YÜ߬­S.Lnž„moÝSSk9ݺ†Ÿ¡Ï/oÞ}8ÌUÊæ»9šàÄ€u¡ –”B Öh”âõ~·¹K†Ï.ÏugtxuX!ºTjYÄèÇ2ßÞ‰ýIÏtoúÔlÄ™(ß·²ùs$Lz y•â'Aaùcùçü›ÔîCæ¼MÏÅßWá,!ú‡b+X­c<7,A?m$†ïôk‰Á&Éô´Á”ÁÍx÷ #Ù¢±Tý{Á,hÚX>(šê‡c¢q?+ÈìÙ³¾—nÃ…÷ì¶ÃX®þLdê|[ÚbèÂbòàiÂp—3äê¦r,<ó›„WOE]yæ±/MG4oó&TlÁ²r9î½Ú‰ú 3¯ Ù}FF’þœîˆ¬1ù±ÆÆ AzÞ€Ët'_¦ÇfU<˜Ë:3Ë_/ø“Ÿ™¢èÔL»ÜϤðF‚~i,lp…´ ÅGq‡7øTßK§øJÕ@ œfs²Àê_Â*Š”²æ$Œs÷Ùfc©³]§2“AT(~/V|džèNáϳóÜ¿Ù̲Ӣ¦V˜¨(û6Ka„‡|¹ kFg€ZBvù…o¶†áÆú·¬ £ñ¾‚Ÿœ¯ßšp¯g’ì—xR}·¨Áfv*‰¯üš°[‰}?È:ÇÎ'įì÷«}?ÕúHWð¿çÍÖ: Ll…j‡ÜñX{KM:@X@° Öàÿÿ•B¦!†e«šnÆy Mär)ßÙ¥®Ù_˜€–W« ä÷M•'ædNw¿®K™|RPõGÓË¿­xÅèÍýley”DàÈÃÍ((èa¥ÌTÒ®\|J¹¬\P4Ýg.lh–4a%¢iGåêGÛä ¶ò2þÅ(}×+DAÍûÚ¼W@È ÃÁÖˆ˜^‘Û/ÖÆ è}»FZ‚•UšGªìûÞaa:êøÚ H±\&@6ÛMZ먠Ê[kyHj>¡ËdÕÅþ­iÏw¿J”™¢rfá²Pêp{ÿË#K…)Ã/’?80¬€‘OQØhͤÍH€6´zwœ6Ôs«äÀà7`·&ô•)t>Ü{ÙëPP9Â;}– $œù¡(lo´‰aEÓ/ôk~‡]²ð~¬ÆÌ,ŸUmS7ÊNÛ*†Î} 6ñx…ã›w6:e…Å‚÷ªÖÈ vK,i‘Æ0¥p¹ï€n$®5ÞZ¦õ…ÇÖÆ;JßâMq‚¬-Ó“@+N–+o¥…|fNÔ§µVjˆ¸Þø 7®þ127‰d9–XrHÜÌf¢¯«ê9¬ì,äkþ¹Ñ!B½ù æïè‚ö¦¶î²29Ð@ÚÈtLÆX ¾¸–$üæ—umWÛÕöx |Ó²YtýÉ'Xh,ê^b÷GÚÓud½{ö†0óH 1IP{¶lÕnè)7Jk1Á×ÛÀ¡þ¾MµõÏ®ÛÓò!A¯yÆôÛÞÈ—Æ› ˆ X†{ •‹¸YwÌ §"9é;\Ú¤3Ê­ÇÙx†Í'€°Z™fß=M„ÕfAÛî7§çëÁ*æ†UJ·8}óoq†qeZó­"™”üû†ŸMÀÑá‹ “\hJ ^Òˆ2ŽÉL§£( ê%r¿× îÿ„ ,<”¹ÿõ™ôýc@ûEÒTfqû «H䱯üÃÏîvÙòM4.HH­ãxÁÆ%‹ w®g9š^}Üß á3ç*Ñ‚`ÈvRƒØhvYdñ«HÔÄoÆí(D[P0Œ²¡tJŠÉ4BÓÉõV``¼œðOa‚ø":e*‚íÆ¿f¨_³ì/½6)Â4¤ºX‹KŽ*gÈ]Ütõ¶R‡êºX=Iäèó¶!)4umþBõ)çµg-Õœê!ú—ÕÈèíPîàÛÁ‰õÊ Ú)ÛhµnšŽ¼t)Î £>#:u3ôolÓÃØ¯ƒB²WݸÒu´3äSÿøL¤køÛ©Õ(ö6]#gj¾Ç 2u´ãÙ¾+j®K@ëhgÓv,më[ÎÈÙG=NmOÓtÆùûð&Æ0ƒcoÞ^(Rü­ãxñ& µôÑsùUf9 j *tdñ{&Ï.WÝ­*9xc³¨”¡õ Øl£4ÍWˆ/c÷‘9{óŠ¢#OÜqwL‹j³W}·µ°ü5¦sWœbÀŸ¨ÙŽÃÔXûxßHÓvS8¢ßÐg=§Þx]ðBqv_î§ À;óV‰"õ„&ñMZ©*ðcxåov; wA"2þ¿ìdK6üƒuñ¤û{ßò’•büó sX1ÜÇo9 ˆÇ˜ Ž˜Óž§XïRßÓWª¼ §Ö€ûnɇ×úW33XihÛCpØ/­oÍüñ¼|eÞÓïæO?J$XSÔ¯i¢>6»½í¦Iº§¦QòÖ¨U  ûUâ¦v#™^Zùةҷ4ÈeîMÊ«§P-)ŸéËÑtQ©µëf–4ÔüH°¶ÄCy­²Ñóx’ÀÄq¿âJíŽ_äk8Z/wsTË<,¼¢É@y~¬e([8åSr;M’¹îó>±oÈ8²Eß#œ†µ)ÂÉŸùKÁH{ªèÕ{Nî?I×IÎ(Æ/U‘®3ÛÝc†wFˆòÅá­yŽˆu[sHû •Ô5M©ô‘öSÖw >Z¹gáņæ%Ø! á’Vð¾Þ7Ÿ•5( ,ó9âfY÷ dÁÇJ¿(=qlè©W°ºz7šã¡ìÅråý¿Sã^¶ä×’½9ḅ–šÚV:ó.¶™Ö7Þ—<»ÌƒÏ8{—ÚþsHÞ WòTf§Æ“«6qqP›¼®Åß…@Å8Ð9³Ô™,š†§ßŒSS¥Í†™ÿ/h•SzÞ[üÅýäM ŠÄÂÈL]*ì@¡¼hùàNÍ6yÀsß>±žÝrÚ2YÓV®‡XO¼Mq‡ðk¯Mn,ø|+Ì.Ï!EßdeF€- '.™|:{¤·AhwÓAèúžAójW¢çv­6[h"¶æ..¿C­jSY‡ŠMÇêdâLLS§-"6 •+XŒFõ›å“©:ý[Ö ;Š_i"Ð}1Îpžý1^óˆ6ôsy«à°˜¸Úu³y{æCZ»{© ¦€)JiíÔ(<Ö5'µU 'íœù]¹ž”lÖŠ “¢”Ì,Äl¬(M?ÝȇëÖô„ê•` Ágí£T8Xn*Á¼8ãU*´¯‹qûªS-ŒJ¾Ý=EXÄAðT ÈvØ…Á=½ß³Î¹j|þe­`‚$¶D?·#–÷ †z¸6˜µ;&jZËlW, 7¨Dnpï9\bÎê>æÉËi­éâ0ƒÙÚ}iD—øš¡âW–t`*µžp×…BŸ·á ¿­c^‰9a’úïûἓOì²S“[*­ [ãaE,wÊ l„Šs3—Úuïi$ŽxÅ5TVz­3t¥Àà!Y~&¦7Ób®Ä\7è4a™ŽK/Ò”ç¤Q!EÒÚ+%A0¹F_¨ü[P^f7žZ /üu¼/öfåí{„M£4òFô*€·ƒ†ÅZÄ2%ºÌkø…-kž ¯õŒî;É+ÞÐÎuvj ±+BMÃIGTLØ_<4ìŠq§#ïÏš–ȲWËꂽ(zö»Ea7pZØGCkl{H쿲üg?ÝêZîÉk$ý³L`Ù),óã¸ö)ÕE¬§á³/„F6¹*-I©˜ÂÍ6Ÿ‹Ï;«4]áÞ’98Ä®,D0 ‡0åN`˜jC•B¬ø@pžg¥kö„äë4VØæ|'O¢¤‹&¾2;óM||<Æ œr >¹Èý1käf=ôO§ñJª~Ä›‚6é²…‹<‚CÎ2Ã3r¼Þ/ÝÚW»–ÌÄE]vK7ªC·5å̯êµúÍKi$b Y 0ÿAåÄǾ´EŠè¹oÏ$ â~ΣFg/·¬ ­NíÝ]«tgÑ“GDàÇr›g«!ðÛrí¬¬ÄœËÄÆÇ;;ø”Ktæ‚.M.Ã,ÙìÞä½ÖÁúüY S`<°xëݼávV÷›ôƒáO­[ÏF§ïõ椸‚ÁºÙâ^hpƒ´ñã(ÙXf–$$ãy/É.T8ý¨8ò%‡`'ßDÙ¨¼/^ØMõ¥t9çÂ@°ñÐgÙKËYOîRd•® rÝWý@'¦nú­à±~D]¢{´„¾çží ËŸCñP—ç¸B“`Ž• j#˜àƒfˆAúÖrF¸GÑ*7D_{0¨'À©žÎ",a3GÇ^sïê„ü¢ü÷àRSp0¹¯Î(Ýô̓ ò.š.¦ÔOlzF/-DY_.õâ˜)}ÛÃ)9D¬ ó&´îã…Åï3Ô£b‡Ø'L´£€’ ÷¾»Pj/ä:¬”„Η*©ä¯dW#8.ÖA7‘;{çÛ’÷Ý1¸Mšá´X<—|Èýú9Vª\lÁb±5sä «vSx’Üß¶¯ïºz”¨´ì QCº"u¨(%kóÅœDûº(ʇE [“ýJÈWQº!ÿrcÔfŒ®d¨Î»ÝÝàe øÄ—1É儵÷@ãdú:€]8L¯€>Õ§¸–7‰¹º,C¶§êÇ/ŸÁò›ms‡³íÏå)6¾x!G *OʨLÝäK‡kèË” Eö0"§FY “SÖF´è )l´czzŒà;ZyŸiRx¹ÝE;"fò»u>R–¦)®ƒ Jñ³Ò0¶Ä N4°ÛÔ— ìí4€â9d”¢±ˆlÚ~ǘYìÛK.òã€÷ƒs³úøÖÚp\b”÷ª6í÷DîšK»|ÆRLK­ŽN;±øGÝ­Iý7Û3Š«°¯W@_ÎŽ(ß„ñOÕQäñ<}*ØGÄV^–ðv4»/iqn|SwÕ6Î÷üÏ”Ä-Ú˜š8¸a›‘\ ŽzëŒvdÐJçöÍJ$ºD×[S°î&С_-‹¶×t—Ñh¦¼ÅŒ?ÿ¿(%¼÷rëmaÃx37›8*ŽŒ˜¥>3ï°\Y‰»ßkã¨_^Úè ¾IO×½àïÞÅž[1ˆ÷Ü=à…¢âŒÅˆW PsÚ¡œuëãÕŸ+Kx¶ñ2ƒì‰ãgβ8nAp»î4.d FoÉ·ûûT57Óiº†”Ó6º»c—ÎE¼bgëÙŽÉ‘Bô4B®9®ý¬cÇûêŸ}WÐ=õÞ÷·ý-ä‹]ß°$tÕõœåÇßÈO]_›¨SÍ=ÒO_Ï< 8; ”iÆËÁÜ*ne­@ì Ù‹å—Bˆ]‰À1|WßíS:þ&ï÷Ñpò €<®b?çÎ&«pLÍ(¢è÷.÷—Îpõ,où¾‹jîðzµÄ I(4ò¦.ýS\ž¤f° ¨ÆÅs­ ´®w; ¶mþÖ ~±ß-hÔ{aÃÍ5óõE³y!gG6¬p²o»X”+Ùgñþ¡‹æÆó6âzSǬÂtcN9rØ3^{'LÛ}ëyÌ,o£†=±óòÿUÛ*KgÔYæÿ£/¡ÆÓ•[‘ÈOån쌀cç ÓÐÞg›x£¬"SmÕ:@1y_m¢ZTÑ\Æ£÷øºÕñQ|ùSR{Bog'WMˆ¸òÅba8Þ|Іƒ§&QNZñ¡³ ‰©^‚h¯yjå,ÝM N€è‘=Åùn3ð|Ç4N"ZTÏCxâŸ9Ÿ;Zy@M¹Œú’KØ'Ç(ÂÞfQèÕí|³½µ£‰Ý+¤ù( -ü"î]ªâã„”ñ•º‘)µ¨@Ú/€ m7žÜ¼ŠP§ªà¬@I`¸ð Ð5Î`ƒM\¼\‚ÎG´pJˆ!;µ_–ø€ÅC…trˆ›ÊéKRIÃrp/LîÜòÕH?÷t;ŽàðJ–öd µÌs ¬.Ђ[нÈXµƒ²~²«3‡6 tý¹-ð×g–ƒð Uºõí/‘Æx:9õï°G4Ðm;G‹‡9¦â¹ôÀ©Î:“C¹LÆO¸£ëÝYë‹DDblž­¢- !ÙW'>X4‡°¤ibÖ<ôA"¼‰H@¥íùÊ–M‚O© Ä†2¤œ‡iHo 1ÁS[½XO‹ƒ¥œGrn<1×-­…HŠ©¬}ߌËód «e1íØ<(Ðaíëò”Û9Ùé¼-B•+ž ³‘×ìJZßÙ «Õ[fÉüQ÷_Ô6ô+í©š'½ß3Éí_\éðƒÂg¯˜8)f¹·Ékƒâ‰¬›;¸) |¸%ì…wv²ïâMò#©²#â ‘ÙÅi‘”ˆ¹k—_ÇÙ³1=‚£÷¯£®eÐXbÎúÁh¯qú)·æó•üûž§½F³Ñ‹}çÿÑ•Daå3zËu)º‘?ý"Ylª/s§ˆw ¥¨¥ Èfþ]ÇŽ’p!âäI~W ï©RÉcë®^ûÎ'®ÐO:Jˆ‘ÉQ„±Ô­ €} 6,ô£e‡öx¼Ž@fjé9cŠ* ƒ/áeÄ–d_¥PúŸè:±©uà41ïƒdaíp@2ó¡@/'`f2!Œöâ÷ùŒ^¢ƒáÚ Ø?ø)b1P™sœ³Õ¿¢G5•{s5gzãH°Lço)¬Þ”•É>b@ûóñb_ÝÏQv˜_ó³ü ¦¡Å©ÝÇ¡ ÓµöÆ%ý‡ê¸N>ÍnøóݶåíZ’Ø@#‹?Ë¢ŒÌÎà=Pe\`M Ó߃•z”‡¦dâæXF æ-Þ.˜…žï×£‰:»úÙìû¹·ËX?‘ÕÚë൳§d!Øÿ’u/¬“P‚˜ÅÞ\ìÃð?ý\/Lõ˜õ K­z |¼õ8.ÿP­ü kÅ'óÃì'SÓUiÿb’!ÿàéŸÐ)"ØšÅõ1²á÷EpaVþ1)þôUº˜0>O1žwÌ|sWGwŸ O*ƒÕg&Æ4z[èÅ×›]¢b–R±G_h#]EL_ÑžBÖµ÷¯_» ¬<Á!RÞÚ²&µs$n›ùJdjT:©†ø=‡ÎRž'qÖÊÉ×ÊlxÓî[|ܰÓÇó˜qQB s¡yý’O: ú ‰q7cQ¬BB’Ì´’mÇçUþEy¦üäTÍ22üžpλ× Õ…üôi/®ñdo ¦R{"Ó±7Iø_/etËÊ”è£í¤ ,C¼7¢ïôÆ‚÷U—ñYô.ëy Iž÷K®QY¦ã'­oT†ÝC ©È[Ÿo»åƒ>ÊÒywLÔ\à|Âh´©‰wûÝø¾Ä¢«fÝR·,ÿ†oþ[ÑÕm™<É ¬—÷ÌÞxt,вÏB}G¹œ%ÉÁwu{,ÔŒ‚É`M1S>ãpEA!eš^ï`²†< rC|± ý‡×<í_\#tÞíãd*ALiŒ…sJÜÏR#RPIo ãŒp›Z)á5Ö·—¶lìú' 4eL´j ë>§¤ºâ°5R³t‚E‹aXÝL,;.jÃÁ*­s«@ì†H 1©2?Ѻï<ú@û×Î> Å_;òò¢™ÇYée ªMâöÈv:Ælþ7#éƒ$åò¬ô°³âè?ƒñÕlÙ6g¨÷Ínø$ @©•¤$†,ˆýÿ›CXîÜ(k 5¼'c¾ÕŸÈÂá%FøMh|ÚB„’0Žžp,P´Sø|I-Ûj4dFÞ#{c8 › ªÅ&³/âëºÆ]95¡I§^+‡°§I¦)Ú(«¿dø¹TJT8š ™ß6{¾®š)ç¶Û[H³Y±5\#awßÃܼ‹¾oΣ75<ÌnÌü¡ëfCUüZÄ­QU‰ÁXÑøªŸÛ!™ 3Ó3T@Pô"›woîè¥ë‰Ç§ülÝý7 šÿņõ@a°ëä3÷AûÔ*׼谹£¨Mc7aá¯)Œ -£Qjâ/}žZ352‹;-H=ŽdÞp¯Š0‰c\Àï;Ö|Ôo­s!†}•K¿­æ³¢•ª+ûF|ûßc ˜ÛkD{!Pþ197qܹ'%Ñ~$Å8év´Ææâ,·À9¸:­°S~‹›<ŒDÊì+ÿFIÒEâ‚[ów"¨ñTµQógA Ô #Fœ~³yÝÈ‹\^òÍŒS`¶XgÉÄíFw1GRþü—J¸5°¤Gûx\3Ÿ†ÉÎÏÖ èòg‡-¬ZƒÜê²Êb¼”1¿rìñU¡ieRTñL’vt_aûÔBVØõ ¼Aä…q™d±Z,²˜ GîÄCtRŽÿb”¸Å*º/Ë¡ÞÉØ>@ç°˜\«½ åŽÐÓț´ôô|%+FÁŠH/oEj£xÌKDÁ-'£Æçr´wJmÆ)Í:—Ã¥éuØœZêÞ×UiͱìÑz˜ÿ*f^ÎSü+b ²| ¸YÅÓÖëÅ88'ÚÐúDš£W# õu @<„;dDôco—^R×ÂMÎýO8t!o²žtß8ý–¡¾ævˆÃ O)'ÒÛ>9§³ýŽðy¹ÅUÄy¯æ˜Gù™h¼;ïÞ@‘vÊŒ©Ì´Ê„åREZדA̬•×µJóg±Zñè;ª¡¶™ôï?ó~¡«Õ*ò©pî(ÙA p¶éƒ5©eßë¿~‘ÍkÃ,…rNÛBÛWjÓ±&%ް~ ìˆÙFðomãá`‡,¿B™Ø#zDb{®Â2æº;Ã$C(LC½=î·CÐD(ʹ©"ìü¤r“×TžåŠÙø9%Z±–b5úé•zBßÑ“±>æzHÎ Í‹0Ë‹èaè©?3Ó@Ѿ?ÇB†­„R»H°„æ9rNió ,ÜJJ»­ÅB%<4ÛZ^ÎFaM-}g½Gß0~*¡ê§E;g§j•©AÐE^i¥ú!FõkDCá“Øk'ëªJ))êú²º Fß~0+£724hn=DäZ]òØã÷§la!;îûJ4fº”Q[Ü:ðZ_;×›ýæV›N[¤I“ Åàl5ìûÕ°œýó﨣$hq¥¬[mi»Àh7ü[FZ|üD,81F§Ãv¹žb÷]WhƒÔÛxõŸæùfyCåöèSZ¤Š']%û]ünå¸l¸+ ?‘¶Z‡x1¬ró€ ×Úsp°‰ó ^f:¸ †æîsæ|¯;ÜFwB„¨Kü£LfôµËEšüãïÓË8Ž‹†â™¿^°´+æ["¯L‘˜¸¨hq$=šËTÜü•È®huzq0þ½´O•ßœZ›€—1œ—v²#3o¬‡¸óu}Üâvo(\Çk§®ªS‹ÎeEE»èD÷I’œ7 ›6¦é1»RÚ\„˜/¥Œɹ½Ê½%ÿµ;—&¬©L*—Kí+¨öpu‡¤ŽòÓ™»’AW:ñqÕ¶wS“Ý”†ò#Utÿ[žÏ1ØÓÝE-Øó§#!Qå@*CÄÒ_ì7Z‚ôo Þ±˜æ|Ȳbý£|+øKJF¶¦k“-¦ã]ØÔ6/mImhk’`*kÛÅÈÖ ÈÂïÆ‘Fœmû$Œ–:3‘*óÆ1áâ*ïÍßö–Å͇Y®=h‡2 ½b‚Ü>¥4“[#pF¿i}ع¦l\ßL×Ç=L¥˜¥%艗 Ó­¬ïVŒÊñ¦¶DrH½?zÈ"ë±g L õ3'@ž~Émò&á¢6gªÎ÷;« W³½ªg^ìÖ–Ûµh¬[zuc« `»M#ËÕ·dà2~õ ¹b7·µõE2;‘2 eÝÉaZË…Û¬)sXƒè”[—ËÄ[ì‹ü¢^郞Ðé’ÓÖötsþ²\J‡ äd¶ePïêÀ;tí'gåéCt©: ¯Ã¨çÄï2áv¿FñT€zƒ`9Š+ÿWZ9Cîc#¥ÿS‰ŽÂQxOÖÃÐH—„­ð-û„ˆM•¡ì¬¾Œ+-¸ ÃÕ‹£ÝŠÌ|·¢¬gî£ý8¸y C͘æ—Ùïæ0wº˜R¥Âb–ò ÄôÞhÒGÆ®ÐÓ_HäEÇ+c“'èÜî›é´ ¸Î‰€ò†ÅÀZ"¿Ôð·b8¿-c¶,{íU³ãF5Š€8MM_`=\8'ívÙþ!ovLŽÊ¿„—¯c£ÞÒ< P6Âõ#%·"•»ª:Uäþ¢Yüõ©Ü ~<©ýÌQÉïÖnÈn¬Þ9lèöŒõË 8DÜ´ }.&Û¼°¾ÞvèIÁV¢à~=˜Ñé_¶GŸ³¾Œ7øò{D/”û?j)ˆûŸ#ê#¿5Df´iâUmvˆÂéPÕKßO¤0àÿàåJš‹æXÎZMÍ ÏÂ-º²J}Q|ÏélŒ…‚çT=0C†[Ž×ÑÓ þ2Bã§00qjûå&!±Nè/LM"!„Iœòæ²5£dX·bLªª†èÌΨu>×S‹IxIëSêd[¹<ŸºP”„—mƒ–&ÜØéÀ£´‹WƒÈŠÜÈ]u éÓOÂktÚVfA|ë?’·èo]Ží¤­,ôùöÊP·»µbÕÎíKÐÃÎ nsÁs¨åB£”—К£+1úÇ P—GV[üÌæŒ:®Jµ¦Fø¬lMV,º×˜J|#zò~\åeµØÎÅ®Æ÷7ˆUAù¨­½©'(vü=[z7ÍLÓÎê±æš*­õ?aô[JŠVOñ ×Êø¼ië.ÕEÒŽ´#—Èém ð%^5;Oqíµ8° Ì5ý"êþ‰•«ôÎ~õ^KO 9æÚj¶1lóûü>©«ZOwŒÛU/Ù÷J ðåÌ`ã¹éÉÌwÕäa óÔk"!rå€û\PMqüX~ävË9Ò&ñw]Û"ë×<ß+—ccnÔï„–Ñ$ãÈwÀý¶ÀSè^÷ù`j!…RVÅÛ)³G¿œ™Ù©rÆâY9à‘!3!½”I éëG¹¸ß5¿èÈ-²K¿ßÐåžsLæQì‹ÂÉKšH•³ýTsVž(Y„Q¼ ^4¥G•\2X†O|³aÙå-zKwç¸Zz3Àâð  ˜ÀçÆ,#äha5Ò~=\wEžZ w¯é£‡qPVZñ»}°pî}`Á`ê’Ô0Ý´Ö ~|1I´ûÒJ²óêM¯CœoNlÃY«Ü<¡Z˜ò¯~½?‚38®àA^/„Ãç}ªm÷g«y4_8Ëoô î[ÿ‹¾(]ãÜÿÈ}åm þƒˆb FË¢lž~Þ£‹Ñmñzà mèçc福 XQc‘ïÌ W¨•ELbÖ‰‘çv¦MCÒê.q럱l¯ŒWE‰ÆõæÌåPRBȃ çüé˜rW‹ª`驟…`®Ëî»°ñ-Ïý ‘jfL>îç°?°—,C£ƒ@еÆ?AØH‰˜(Íç~E<Š>Ã]Y¹ÑjmMo?íX¦‹žÚX:^Æã@/I?¿b¬}?ÂVªgó°Ñj¬>‘ÁnŸSôY_5L¯Çþ°áÔ.¸;õvÚXI‰XµÕÜó>]™ê5ð@û‹Eì¸×ÚßíÖÌÇÍ3¹æM¶‹ú§¥DÉž› ‡º³Áù;)Ñóyd§·©ãî èã†|íxc"¾ÆnXG‚ö]U ¢™„Îýo3Ý\Xê@¶Ûé í1Yià0JF¨ƒ'E?ëã‘'ц¯D‡‚paï2"ÏZÄøóÚsça@®„S6€rWÇæP‹óî͆€øÅ%}ÈÒÁ;0YZsmlsharp-1.2.0/precompiled/x86-linux.xz0000644 000000000000000001712550012050661606020166 0ustar00rootroot0000000 0000000 ý7zXZæÖ´F!t/å£ïS ð] ߈b5寤–)&Oà6Éé6]æ0'‰A ·ÁY/Í\eÙ-é¶øúŸrÿ“/n»ïG¬f€ðÉÙ¬ÊÐ Då*æ&Ó^P~ü"þóâpÕŠ•@cöäy’âØ¯º_<%áïÆ™¢-H‰PŠã«‰ =S˜‘ÈIÅüÖfJ†‘-tšã“ã^çÊ&ih÷%0Õ%|ø±ú l€·ã¶ƒ»ÐÄVÜÆ£7-¹ŸQHkd¾îF&l ÝØ7lçF÷îQ¾?˜Rè<2è‹SÏh¿»8Áªjšùš¡þ,õå‹‹FoÿÅ"`b\}ÉiMÚÎ*?·ïûß5?0^ý áe4Á=Ú¬é[C7á!ÿ la-˱ݜ˸€ZfBÙ²£TkN›G7ù ;;â °wHFàË0>%JÓƒ‰Æs#§”¡g6Ö¯‡uoãCR'¥»/&ŠòÃa}«f³ÓªršÄFñ}¤¸¬‡H¶ Øt-æø‹–©»~=ÓaÉ[äc¬ûLÌ,l¦º"ì~‡¸Ó.©f*Þñ‡N[B8‡¦õ•H!©þÜ©ÖVñà¬FA)LÅW§e5:˜R58àð Äÿî¤Õ)gÿÌ%Ä+¾› & 2ܹ€*W°ªý{gC»Ë6‹ˆ ar÷³Ñ©_Y;o{ðå,KŒI1&Óëøž×þe®@;›ö~-ài£>.ଌª“¿n|VÖ iŒ'7…Øa­ä¾ä³²KØTZô<ر–þPHÈ¡ô+eò¬x§où2³/ †híó›¨ÔóœèpÀ(úoLHï‹é&Ò‚Ìų˜M|þèõãB-ì}‡ýŸ¿ÿƒ{Ö9iÇ<£áå%Ðî¶ õi—_ëTšk Y§#ƒbîª±Ê oaL7R”EÀúØü+ ` aßS=§ä,Vq¯Ë3½DGIbÄö—BY £AŒ ”^œŽ8±—lÂb‹°ç¯Ð™× £úèÛÖ-íÙu~qgó–;ë-Öéèí^°Û¼ýÓ´‹ ù8”#¨E+„š êóDXÆZdíN– xâ{„sƒÅï' ‡ó«DkùЩ"Â÷]N>"ïZb6˜2üþõ»ßÂ_tº¥òL-ºW†Z©§#SµÒ53oŒcnÈ—t;ÎÕê»×üŽ È0 ÇÂ~UêÄø-óuïE3×5Õù]c{.Ž6ÜöH%yH±Zë4ÿRtêž6»&SŽÓõ¬U'-7·ÆŒ¿º¶OÅÚe”ò|ѵ܋äu°©.Ïç{ç™M5_d|;Jgr:‘a­O%r§äŽÞ 8^C³dÙýþ´bd|nAx,°ñ§ÈDz¶oﺨè8IIäâçCYKz }ü¡¡‰¢+ä#/¹f#¥w%'*¥¡h 6Å©mQ%§ï8œ;*F¡Æ ;vÞÜÒWžðsu9ºñ@7HÁÙ:9~¾(¦WTÁÑÈN›ÎLzÕ uÁèâÀÞ ³¤#¸ï‘Ÿn•fö)É—žjøM€Ý€~öïw°…¡?œaæîœ-*Õ¼ }Üs,^dýôwÏü¶ÃÞIí_\–xÿu朢Žëò’ÝehþÊ ¨L!üm´‡1å%±î«ù¼õprÍ b»5Âqb™<^â`É¡¢tõ8Õ ?Ñ Cˆ¦Uþ´"å’¡¶pœ °HI¼ ™GGNk5°VS,–„©&…–oõàBW!>¹"®¢E8éÑ!~hÃE[W½±V¸€>Æ?”/W‡ý«åÈg¯,÷¨]¢qe¹á­‚¿$´ÖË Ð{9ÎúNˆÉñú4ÖrFs=ÌðH ZâbèF‡Cw- Ê•à r£Ø‘ö÷ÑOb° ë!‚b/¨^—Yœ§ü*l ¿,Ï\qA”£Þÿ¿='ÐÝ’C÷þºuCœï(ä/ÞöŸw[?©0’РML™“Kt÷—eQvûNü)šˆnp=áÀÕ %‘ÌyÁ«6ŠºKÅãªÚ%ásá굿5xŽuŒÈ™]˜ô4B!•^yÓ£fCk\|#ÛÆÁ$#‚ï¢^:GÍåGC|=½øÝäýÈ{ ]ÃÑñø(Hlk)Ì¿‘JÓÒ³š”Ï~:ËÊY&¡6àô@ˆ–¡ñ‚KEgYGõ»§•’±ô}¼b”ªå{Z®‰³çMKÉÙŽEÛ+9F!Ý¡|L]S„Ýß³Áº¬òíT¨q aí‘Cí)à ’¯EÒ>°-6Z~uUû¢ˆ>w³Õð1ê¾åÀBÝé†_txÉüõQ±R˜¶èœEø<5³<»`"°&bYù¼eÿ…pûzÖ\­q’1¡;oÂò ß”so¦åQ¬óq–M£ê‡B¦]Ë(^òì'Àí“Jª:q4jÛ¾ÎÝyòpÒÁ¿’„Y^ÿR¯…À²Q «£ja0˜xàHC~è$I2€éÌT6ªYùÝ 2x!ѺïCýé§/Š 5n‰8¿u~5Ý }§Ïêª]xqŽ0ísÊy¦ñÝ ÌÚåQ-²¨*ÉüÄÚu œñ%)uXÉ}Õ$²ÄHYhèთxhÐâ¡àý±n“T+}†7j¢°;ºDÇÂ÷ü–LÄ3ÉÁ€†kPPa„^D$zUºeez1' ‡W$Ëk^$Wñqü‡!‹,ëXˆJlŽO›.»)Ô„Úár]žþ…ܡӿ^*Y³Æj:yÙD}ÓBËáDxIýÈEÒåoÏGÀìçT$ææ¸ š¨Ð ¯:?¶Æ gÈS«ë¿£–—’'E7e¦w€¿Ž½Úž÷¸›s".äw¾8D‚‰5P›¯—qèQr èÓFÿ+ââ¦r”_ …·›þ»Uœ|áäú©sq”0B°(ÔwÀÒÖµ_ýçÚváéÀË@fãØ=uK¨b¤úÊ=’ô”NÀLs,ð¸_SÍ#Z’⃭0¹Å®a™å)f×bÔèúÉ÷×àŸ5O°DLÿ'¾0ñÓG­m:=xþ’½(6Ö+œn´É¶â&¢•ªµ9×[ 25;”%”ÿk¹ ð0ÛýüÏï‰Å~¤Éó “ûcTP½*Ce8.µÛùGzȘŸuç»·u@Ñœ–â—GdV£^îî·`ŠÀ@~ÎP;€Ãm%m}¯ï7Ì{åÄnL²W@À³¾ÇÎ5¼«^䊕¢øÃGºõ2ÿ•¡¼ÙÂ$ŠÙ] @RµIˆÏ$jdšôÓP*MÙØ+·ëЋl¡ÄÇnÞ3« 0E2Bï"ßj3']ýúïf®¤›Û=ÅCX]¦`†ÚÒ"B|´bìÜXšÍ-8ˆÑç´¢`§J`1s ºôzEàØ,Èjy¸ ½W±š‰iµÐ²’èZ 7ÀW<ôöóyà…!’_–j‡è<'ë8Á“5[5ÄáÅ9Ù‹¦mÔó7}4ø¯Iþfd…ƒ/Œe~,¢Ük•ôÊô4ìÎö(žÒW‚²¤z,”çÒ;‡‚å5»? ]×óJõµÌaÀç’ž£}ëÛýÀöìe5q÷żôJV&(‡¦•£9±»ž6ûü”7k†Ø0ß7—T‘CpuUàá&“çÇ¿Eš¶UHÃën+lƒ£ÿîþDሡéŽpo(¹1—¦Å+Ë'õº²ð€†ÆŽ3È| ð®×›]ç€)±Fn/ܧ(ê¯ð¹ÄtTt/µŒ¯3ÃÇ}peLeÝÛ~GõϺ©*™ðÊÿHé«ÙëГÀ^ÍrAõ‡ÿÛÈd88ßRŸ&6t[Ô×â²æ~‡…¿&ÃíQ"ͶY~ •Ó—Ñé “ßôË_";Þè—ͤj…Ùóõ—`Ú¼¨µfÚð?Ã;¶ ¿(®­Å)imvFÍú:YOäêL­v/©úGâÏ3HF†sd¯2ªi9¿:[fø‰ ƒ³ï·žÒò·“”ñK¸äöÅæêÚ ¥jUÇPè•ÑSTq‚ìbDiõVŽ^>É’Mš×—7Ž'÷¡„¶U%±2f,lá^/? “ÞWƒ¯O>nJé³^ÅÝ>öè7` Ì8*éÇ¥@£E_S·‡cxRê|O¤U€·›.Qû"pCxJºÇHŸÖ˜ÓOok`²†<îtnº$©}™à#,Ø¥ø¯9Î4@ª¸‚NËGâ×`t1\Z!jñâWS¨n‘xv žJæYÀ`%ˆeq"°ã ͳ{3©zìè' OÔœåI§‹‰H†Ülpé×=„@+·Œ»< ²èÚpPè!v°JÿHìvñÙú*ÂB7þ‡—ˆ‚Å@¹ì~ƒóxî|ÕD£¨?ç¸A °¼¬œßW½A06•ò|ÞD"¶)Ã8tÓ»¼!L\X)³¢ü²[lêžôª»Ê¬†zØËxÐy@š–I/]f–ëÌ èõ2$7¡Ó{,²…ʾ™”ÙŠ:ËõbŠ™« JÖ6:ߊïTr¯k§äëé¢cËTõ4#KéÔ0e˜u¨UNõ’¯ÿ)ÞU‚ Ò&Ô²<@à°dRêCïv.Ê=<ê$:´¼Ä–ßg ÔÙ¤ØE:•‘'ô0œóÃ3<^ó¾›QÆzCJ‹dó¡FÛ£¤9µšü°Ï­ö‰Å*ætª]ä»Ñðq{ÉÐôç=Œ<®IÇ@kgÖ’ƒAó¯1;„¦ƒùöN’šXo«ÕµN2Dˆ©rì…‚5†Í×y ±bt­P]Ó+´mnJ÷½ ĘÚJ—rÖMøÐyVHNóWqØ„Vt¿Ÿauµ–袹²ÞDÞ+½Õ\øKŠ¥¥ÉåèÇðÎê¾â3¹³—j²â~¦‚ü¢R-áÏÆÃšÁÙu‹*QhIçÁm)‘˜Y]„ÈŸ±ûšâ[S~²2ÍĈ‡üÈâË${ØÇÛÒýA6Âxo"œÊgÆœ†ù‡.¯šâ¯pè[Fj9çø޵/‡ð(±‚áñUåY$Fª$Îu¿Þ›Jm?Û¥úø)ó’ |аu›Æ¼b0!pÂâ‡d=m\·ÞÛ<ò ^å§•3ØÀ?OŸ9– eWI=Ϙߊ¦Ï¿<3G£JìËhhÊA}$Z³sëgÈ×ÒLJœÔyš\`šYSàò”¡‚sóÄü"ûýî.zsz*Çþû±qO5ÍÙHV.åöèqˆ»0c*tlŒ5e¹¢˜&9EJÞF$C¥RXÌõ׳)·ê À´É¯Œ§ÆÕ¹·¯›Eó¶Î ê)§) ¿îe‘)e‡ÎÝ‚Pž;^è>"¯9‡§|@·ZU9qz×éx劳±g¥©Î/ex¿–¯ÚìÊÅà‡”˜‡xú½:°~d^>üŠå¸ëÍÏ;Zò>Ûb'øŒ¬x“×}8ù%TEg¯¼äŒ„ô›‹ 5n±û¯MçL¦íƆ–NDnÀ:¾·¥'°cÞqùjbœDlñ.ÄÒ¸E2Lýõy{KsÏ´ÙI¹â’§Mm Õêî6 KtN^·±Z§ﬤq²30ÂI Jšé_B¹‚š¦›U¦›¯öUçPž+¦UõÉÝJïbýNôk¬¬¢qíÁ¥v`Ë,ž‹uÙÂ_)CÍ1&ó/eÅPT'¢+™èyÚ”c¤ò%îM´¸h×4.z yàÎ[yÛ§‰M±î=Fõ¸7ÿc1£«~·Ä‘QŒgÇ©¨Ä航á0S4P¥ŸŽCÚ²ŸÆŒ.‹ø”ý’^~½Àõ˱ñ^ë6‘­ž_Ýâ´t$™ÔNŠXât xêN¬„õ ûêAFÔºŸµeÞeg¦¨•ø¿šæ)†å†ÅÚ£H¢Î·sEæW6yÒDm·Hñ}ËmIG£™1Úuæ¸Á¾Y Ò9Üð ] ÅŠyñ4»è«Ü…-§›xI´ª&…@úüЛaûv]ìýÆ!:ÛÙÙNQU›Ì#xܧ…AZBÌÂÎO+®a8øG¤ýCøïËü1d ‚š!vÓ^ìÓ¢6ÞÚü˜‰¤4ÙàC;_k½õ)Å6!ºÜfCŒ= ƒ ;Ði¸çxŒÕ€‹¹–%Ø€pò+ k¤aè»(³C·*0šÅîø‘Ir¶Nףϲ4™hÌäÊÄCô­RCúFÌË‹ ×E¢—å:Õ½yŸ.Ó¯6’ˆˆÑFîÖòu•Îó>’äÉð6œ™®ÌÄþ×…%®mgï8å‘-YÎ.é%)ÏoT!Kå’€âÞàxf#]ýd¦@zóhõ|³ *èOY†Kå#&j¾3 ]¡QK=] r€Ï´ëªFY˜£Ìy{P»F=z‰Û©±K”% b%Ê—4O’òçÏBdÍM¬Þ’[êær/îÍDM2™æJ`Š£*™®ßû(F… šó¬Ý"9Y¬Éä´8ÓÐCf€³„:7Ÿ¼Cvûø<$²ç>åÿßa¼µ1ò]ë™ô¨ßæ¬z¿(чwºF´Ç¦Bÿ ”;M¢£±¸ëùže‹©’Þ;aˆÒåQ Ú-˜­Ž}Cð '¡k¢ ¨óÆŒ%E«º ¿/„ôiבnóÅ£’Ù6ÅÕhÁ~¿^ ÙºhG;M¿ò+öZäš™9¤ÄqHe’"ößry bW•.mfÎþ6×8 ùBb¶Þ0kœA§‚äÎL|NÛa¡,ïVtq«ìe€apl«¤GËùDIÌÒ´SÁzx~ð›ðHdrü6™4áp™®4É(J‡òÐpP¶¢¹Ä§ÛWsäé¬íî¬FÚ$ŒGm†wÁÍèÿËOÚÁÕ±Z¨ûÙ«Œ¹53aa Æ.>Q³ÑÝGÑË[³öÀÈEJð¥øŒƒ†á§aqyºcW"ÓòÔ™Ác½¬è<>/‡}¡Ïg¾_ç±å]‹PÙQ‰ísøŽNÂpuž—Zû¡õž^ ÂÁ=€þJg`Ý(Â=½ŠkÏ,·Ø/½|Ïk'‹ŒÐÐÚËìLÓ`¾FßÞÄíjüe1÷¿VP:¹3ý;·ý³Yøûa'¥mKô¹àÈ‚(’ÓÁJ|‰X4þ¨xpe¶è_|î¨Ü™$W±î 9Þp•B#Kéhn~Š‹òå5·RàXÐB«¼ý.*fl‘0g™¡š”«Žk“BÚ²ßWN™²#H³„„“O‹XÓÜgÖ7K .ÊCðÐ QœzžXù¡ùÒéêú ìÝ™¾\ò*D±©´A'tÜ—Éß'iâ>kó0U8W-=Õï$Þ’“Ïl¤>‘:c<ðÅ®‡Ÿ|Ð5ŒQŸ[·þOZ%"ç>jgpâZo­)†j%yúyväÅ=&9ŸèK;:ûÕ`Qû–Œ¢õ a#_‹üóM’¼tHî³À]åþ«ú‚IÚVü˰5$ô´"·fé$\Ôó†ûfGCgÉŸÐgzdj‚ò{pìgẠ¨åf¯¼®Ù?Š/èOõpLs9 ÂCx†ñŸõ"±°œ¦%›}뀇'Ï—}E?çÎmP~D›«ÏF§Ö¿…p_€ Á TŽ‚õºåŠ¡–ày(Nõ1Cð^µÕ^exµù#þ&ÿ1ŽþC9™ßƒ]& ›skÄÌúÁ6t€ZC=(tpHɶ%G]Ò¶}“¡@7š~‚úQÝ£¯zϽ>®o~!:_ê‡tá#c ~fÐÛ<è;íVÿ“UnVnª¹_ý+À—`ãÐ[‘#¯~ åôLJ}Ê«áqÝíöX%H”àÁÌçÈ€&®æ§*-|³¾µ®–,WÓ­ó$n{K]H.HVGÌ$E[Ë»pýÝC :`5ÖÁ'81]™aíè¯$òf)Ò}~ ðûLQ$÷çºÛPÒd¿Ãƒ˜w€<´Nâ‹…Áœ3hÍÕYbâ¶þeŽHof“;PA%‚¾TFÁ¢äSe’kwÁI»Ñƒ¢ÖF4ßÖJP¦^]› Ã>ç½ÃúÂ)ԩ㕹ê®'ŽÏM'Ÿn?…Ÿ%éuÃ]å?Š9Zdà} ¥p §F¼¼.lxlSm‰g kS|œBsÐð<\`½]˵nÉY"=Gz´F¨rNØ0H\mgœë/èÝÕÔèu} Kmp»¨Ìqtè),æø`MÁ2øÃŒq‡÷bÎ8Fºu?`ÂàK/™h~ñGt¶ñÔP@^cª…îMqÕÏ]ÊœxD¼‚Gy³ + ¨£™‰O/C t[ú-™Æ7ã›N1ý™šŠ´…Âa½ª¢j¥í‚ŸM |nÒºkA¨÷:mŠL¼uÖºT`u%â!½KùtÃÙ\X­h{éWáþë™W3Ò»òÂY¡Û‡„KË9@yåìôƒ™]œ7´ÏJ󎵃Í;¡ÄO3R÷”ªî…CPôY »ÌprdÏõŽ&òt=cß•†‚<]J"¤˜/·«0” ¢kü…ÚB`bq%Kh-Ì‹°Às P•Cìp0×Z†QqœTDP›\NgŘÔëêu©4Jšž)äH\ëÂqq¬’ßXÍàµIšª® §±/U± EXЂÌ뢸¶ïÂÝSuk±Ÿ} ™áèY0’oèlF™ËtÍíÉO[Öàb‰fØ‹ž¸ÂÖÓRªè¹40þ!=‘’·¹CëªÀéÛEànQóãûáJ=ÿ¬?;ýfþ(f¢Y³£XŠÞ)£ê¤Ÿ%a×›4ÛJøoíåà†í}Ù׆ö` Ö¾=äÐ\ùØ‘5Ä(3J›…1ÆœžV¼ìGzÞ¦öñ;N…^‡¢?ýLO'n¶ÔˆÍ«{RX­¯½z¨Us$¡>³4³}WŸ /iO3·É-s‹¸a¼üÁf‰¶ìŽi³š "±5çL†ØO^q$†æ*¿HS%˜á•²¼›P€îäõ¦Xߪ´œ¤fPýGÊÉwfŽF¯Ö¿-¾rv@OII¬Ç$µæN)Øð’Ųp‡Ðbç;§NMÏÓ©ùêBGÉš€bá'>}Þ=¼êà‹æ^-)…®û Šãm8#)šdŒÀ3[Ð`°N¡¥‡…}µ“rm5|ÿkÈ3ê£#ã–ÉÙ÷ks€2ì0ÊY†#ê‹Ëµik]ÛàÙ¸8ÿ 8èøžgùDÕbWÞI Fìk¢çý -Bƒ~v@h\=Rãy5HD-£BAS9wyú› û¾"oJÁfÅ¿Ÿ¤×|瘀Øc TÅÇüŒ÷ßç N·¦b{tù€Ø@¯¼ô;K£—˜\ˆOÿíu8BWNÓ•N@£bù•èàE— ¾@ ÆD#i_?…!!Z=¥ù˜¦hRc\`‚©"j&u'„å=]tÌy¦À~q zCýlMu2kV'¡M¥>í)>Æ^ðWx9í2ŠvÊIFÍÎlØpý™¡UX€C$¹AXw†ä]÷è%ÝcdK€•B:õ¿`Y?.yÕU¬íF©ÆHñ´ÚÿÐISBŽƒ¨ÇÒ¢î¦8•Æóa£ýå ã+…ŸŠ§„%ì•IŽ+dõt¥7Y( æ:–Þú3ÐZz¶‚¾CiÇrHù&í ìâ« À¹[)e©’à4QßÉKYÈ-^Èíqg ^9ÎX}xsƒaø6[Ò•O•E­‘h²\DÜ„xYkútˆSÖ@Ân;äK…ïá´@U¼ÉyGùõ§1 V¤çPw¥ñŸBÅ•(ù2™Åy VEÁ¢BvxJ>ï—¢µŸùŠl­‹ìÃwJ)Býí[’’å)T:Šc ŸÚ¹¯³²¸@€ˆ€6UH!_Í0:¢±üØ«|Ø-ÙTNÅÿSùd®ÊÕ}¨K µ¬çÔ·ã_’ÊâfX«4uAÝîðlÂN¬‰ßx]õÍáÞ_óÎ%Qœ L!¦«±Ô¢úháÖxSé»Qd(4´o.L‰6æü] ‰wLÿJ8ù.ˆaÓã]Ê$ž“­Üu ít'‚Î œ¥WmïùÀ¬‚ДVÿ’ü­Ä T.ŸÅœäEý[©IÒì½—?…Îkc\›äÿsu6…qYWSPëd%úfùH,?åsÊT&óîZ;`)Š&ÈÍ|ÉõŒ:õ+§z‚qm̾{J9p¾ $…èQq0(ƒŠ¥L(åÙ/óiEé?þ<±¹å†Ó+Ç«ŽLñ§öùª‘©÷[~‰æh4=ÚÖŒ²yË7Í}‘lvAÉßHÚ޲¾Iˆ”ðáít@¼w™2G'Ö³=rrJ«„×´HÊ1¨öÞ‘'CF845ãóiô1^„JzB¯«¾Aâ‚àNÇ×T18à.O[èU¸X¹ôØÆPVezê"Çguw°J“×úp!{«VÜ|\Å®=2›OY\¶,íî–æG x„ú“dè€aÔ€ü:ÙêiÔO0/«Ý(xr Ðõö¥*(xŸÇüϧU¤%ˆ'˜¢˜? àA‡p±ë9ž+Ë¡6ÝýB.¿ý¬?'™~NdF9÷tÉqHÝ¥,ÿ¬â¿É”OñÔÂvÙ¼$éX‘H¤$ñtP¥!ŸÅÄg°'á:êýÛƒ@76°Ï–J¶¹bÌušâɾ/¾;wᇟ·­Ý©NÅbîCÉ0|Œg³…;NÔ}ƒAnTÈ3&Ò‡ð7äÿÞŽ¹JaÀz ï‘Dyµj…ZÐ1+Í¢Aãa@£棶¸CΧ•Žó±ö€p-p¯J*Êì Äo+ƒ'ì…f´û •Q³*¡qƒ­d?‘¼p=‘Œßþºé9|­1fåâE˜kŽ<³í„K‡Ú[T„Û 4ãÛžÞ±w‰@­8Æ27» ¢}ãÊÈB<1×?Ù×7#ž”'1I¾›Òs”c)Cò/Ÿýë —8n«¿ÙSs{2o…MþS^¶s\¢ßÒÕ4á£ÁEŸÌVÉyÈ'i6éÍ#ñã©\² –¢IÜãÊüK ‹B¼¦'Aùué •rèæ#wšÁÚò­ÕéÛÜ„ˆU‘ räúw+h½ªA aqeA ƒr4Û\ð×k“…­IÐæ© y]!f­ézÉ{–,1§ûMjÏ=Î o¯¡½%2šaªÈ˜ØÃßëüÖ«Ðn5ÂÖkiìÕ¦ È„|+«É\"\4g…Çz‰C„ì/TÙMÞæôê4=˜ÿ^ 6u}‡u¹Z ®IS÷0.MÏZÁ•ÇìÂU'ŒiQ9mN÷Èþ#ô­åòVßÂôxoS'Á¼¯n–®TuÐFBÌJMMO•9CóÞU>*^ž ƒcºÛ¡Ldêã碱rÒåÆvÙäÌ…¥"«Ðhbš K˜í ¶5„ïQ骕a&|:UŒùÇNÏ?Ô䯾ý!{—ý­1Tñ®8dSÚ#ŒœÙáPÔoؾZ4z=ÔnšÈ…VWu—T¶×>æ–¤[$†" ykPÞK¬‰©¶ê·•ˆH®ùÎuJ´kBû#*8Rr¤Ç–·àïbÒä\ͬŠZDe…Y‰ ¯¦£qÛlªQ¦ŠÝ2´’XŽºeÅ{l:i…¹Íi+cy¬l]ýwV ïI+KzZ€Î»8%,v'rèÃmMòÜ’o"&ñ#E¬y4ØÓèXqìÓÕvQ“ðΞ¾™ŸÜMÀOý) 3Æú®=PÌc¥N D©rY‰³7“VSAeƒÃý RN<#9¶Åhê1±¥ô@F´ý³`äÖáà6ªùSo»JS2§òs™›’xÁ£i:öÃ}áÒÀÞ¶kÑYélFLÉ;†G~¯¨påæâ òQØIVÀ«‹ÿZ™æp¯oyÜTî„° žšâò%ª'ë?71É úû`8_¾¿î™„pù-Äß¹Œß qêÙÇ_õ\¾3Å;gèëPH±3â芋9á¬d5û¯>ø#sŒ 7Lgõ@Œ¬Seå§Ã'wƒ ®Epƶ:E’™ô놟jÍ1ŒS”sf½z>†q 2¸›˜¨˜¸Ú·Å}76Àº/ð„öW±Å_`Œæb#t_HWÄS»,,D³ïy+ǨbƒTU­;üc·šÐ{ì©n{ ™@+S˜0f(Ê'Yˆ¾çrV( jö/À¶%ó‚ä¾? üÅ(\J³ºFÓŠ|ë'®r6¤˜ ÎÆxún^Õ¯UM©ƒÂ£‘»ëcj#-Ì^påÉôc4oºÓ3ÿJÝR¡7yóƒx÷/JQþ-„AÆq&ÚÀ%½ —è^Ò™ ;–ƒÿÆ‹õ¥UVoÍžG\´O€ôn'#{ì0ôÙ˼JñºÑÄiþ·<9é)áŸvc!~Ô‹ªÖqh~HÂ7§(ºþ¥ºØX¿Zùïcî{aÁ"éð¦ 7‚2¶öS¸Gè' Y°‡fzq`Èî»k‘üK»6²E´bݰ %€_À|†6^«\Aƒ5 üˆÏ9‡±qCÌ"0j˜5ÌÅ:].V«“c@ƬˆGÕxŸpëâã#8*rŸé·Ú»žf’V¶1ü5?œK]Eëˆ=­v[l¾Î¿eõÛµEØg¼ÆÒCd4Ë•'ýR.êSOg`_ó&—IZƒÊAQ7ãk6Hç}(XiÍ€ùŒ™ÒÃ>Ë–_#Ô‹W¤GªÁ6N5ØCÉÔH‘6.p” nr• ²’?qâÿª`u樔o6ŸK~„¿v{ >SÖ]eap·ÌòZ{à³#„H0šu|pxg+9çµî'ËýØ$Òôj&aänÉü÷4EÞQ2÷ÇÛ­¹kÌ}{:-ü õ Üì†EÃ7LžœÓŸ”w“ r…L¼@îTù¼*<~3„A©î到‹¿ÍÐE8µyF!)Ÿð«Pmh0’…š­…M§ºúC¸F0`ޏmxÂævpÞwp ”$òNä•:‡Ý¶}åüÕ8hà7–$±-ía”Êà²@cÁ—gTG#”æÀèéø×åªPÊ éÓzòV$ êN#Aš}¨× ýŠ#eªU(ù,ä1™ùN³f€îÒÜ-cs©rÏÁ¤6hW E²ý{Ó4uÓ@íëe÷¬àî·qnÖL»–Ò tˆ7:5í@ûÑmDC 浘µêø‡ä¡!oš6ÈEžH¿{]„<'ù°÷&Ù} ¨ê×ùÙPŠ®R}:õ¯úв'Á±œaƒ4€÷Óâå¥|<·­@!ž&Å?Ê,0ˆê_yk4@ `[ctv #*ÖÚ˜·Õ´Vt5Ô³W2Ê9¸ Iqç»F;æü.(`*ïäÎu_ðp¥ìZš#Òí•Ø.KÇñ7š™-Wüß¶ÞÅ€ZM°"P½Ø,¥PéByT%ð·XÐ)ôg‡¢$þŸ·ñ†má&ékS®²¹"Ê$®½¥Î‡³ô×ÿ´ëk#&YpAÉ6üWXôJÊ šV»•Ö&šðRkJ©izNAy ùµ >¿xñÿÑ @fn‚Z`Mµ|$äé/Ò?7oÎ4²Ù(¥b é{æùn•£¿* ââ‘üÂ×mìëíØe›¡ÓýNž.¦Œà0ùÒ¶¦w£÷ü+]Í ã3žŸQøA–Tüϳ†À¡-‰ªØŠ¸?T¯qqM±–Š‚#[÷?ÜZéD ¼·j…¿ÚTMËÅW²g ç«uÀ?[?{/+Z½†rÔ£@ µ’}U…¹üôŒÓ(Ÿ¹Óƒ™4ôŸlëÿ¶RGñ|cþ EK^ù;ç Èes?¶ù¬#öLGZ7‹jÀaWxŸ±\ö•±sµ&ÝBë"*a–b«¡k_\us,uÇTÒ|œ‚À½Çé¿$ sÜNt¨g ¡ž8h”>¬Ù¨Ý.B&iï­r”žï(d l¬>n¥`_ý•倠?°9ø"ÏŽÉmÎö.÷~ƒF$<]Ü« hÇ…ØÌôC—]ä—†ÆFLÝmíeB}}Y¾ÑÙ}4H•2HàÔËåÉs€®mtÔhÉÁägˆ°G‡ê#»’ÂæÅûü2u¬Œä;§6·$Ø©ŠV­~ðH=XħgW¬sÚ¬_nÁ_‚ôÍ„/?Ú´w£|Åpˆì+\¬DÑj`Lej7móŸn·`T ¶«ftÁâZ®Xlz¯c¯%êmï£2w5:‘g›Ø e‡{XC˜)½Kþ®dïdOÕ©fW©FBÙ®39c-4åpXD¬´a¾9†:¹=;Ç XúàšßÖÀ‚¯I¹ás.ü¨Ólx¢»hêYÙÑ·¿ÅèÈC|Ò a¥®9ÄB2’FœdàY“²~¹ôÌ€%2Ä"MOížZab•»šT‹¸H@]ÝZp½0‘C@b‚òws´Ùž•¿ã1Ö<›4Z“ú‹BÌ÷î2w¸âAÔÊÕÈJÅb¬ qY„s‹’(mrO^¡Jä[\”׉Ü­&7K%þ„¹¼Î‘Ò˜q2Á™êgÆ” ù9 ì ¥¸3D>Ï]UúÎNE$NZB]úw4½ª.RŒâv†ÝJÃÒ˜½ÞÿâÛ(OÆÑ_wÇ¥ÓDžÚ²É-ɬ&ö}5f]¤Š5Õ°íÏi(´ºÝS/uŽ ƒ-CC*Ð!÷Šˆñ£èÄøÑ²:qÖ@ fVȨÌ~êKM¶* (OHå"nÖ ­e ±²©ESÓëgѰîY&uY醸ÅþŠ¿þ'¹wÕ*ŠÙ[‹Ì¤ŬN ãF.½FV_¤ù_*ñ=«Êf0ýcx›:碠šD’aâeéøýÖo®2æÉ8/jj\_ A·øt–Clž 3í×ðæ;@o®„¶«3>^ˆúøýáè9þU\ÇÇÿbS¾µ'ÃM¨Â…Ä7SCÓšŒ03PI›ü„ ]”¾1ržÀ‰z‡-wuëîü"Ú€.ƒ„ÐÌ vaSï´ñÙy@‰Y"Ó~»'v P _TЕBrÛw “ T(o*Ÿôüíq<.áüÒKPN–bˆ}í¿7>Ï~‘{-D8ŸÂbzŠÏ¸æã::Wz²Ý¶ÔF‡Ìí |Îè÷?MÂÍ+H¿§øáªˆ†Þ9ó­z0¸ ”Š^¤õÈkݧ—^5ü;Uqûã]åÍÈ ÌŽµR@·–Ù¿ê 7D ïË|ý74É™û‹åò“Ư mµwIYÊïrm VjúC2£ÃËÚtJQg q¡ÜU´«`ˆn«-dFÎ6Y4²»9{ÛÁK(Ô¶Œ2'ŽéIòÜÆ^aYêЇtõo2²©Â$>Óõ”0á;Z*º‚¹0;fy=ãA¢=.$ %«Ïé¬OÀ4¿ågá1 €Üò9 ¶vÂi<<%kT‰ŠJ$×Á.óbmânŒà™6^—ŸäÌçà‘êMæ÷í´!GÝ8ÃÒ€óžýä†~ÙûñêØ"Û½ÿlÿÆ SI±—ii’àFRÑ3ÑÃwÝ¿¯ýg\äSŠ<03OM×Іµ€r±«U;aN¹-Æ ß°ðor<Ý9_òýÀ¼ÃDgB¾k·ãúcŠfØÕ„“UP¸'Ï0¿kB~²Iëmfv NpB{ŠtŸ¾æ—e”5Å£G=ø8f€ É—òëÜoó_Ãm»¢¤2?Ó<ÌZ:´Ö£¼àÇîUã,N6W^aRc72E¤B=#pý¥ô)+ú‡ÝÇY˜‰âú! ûŒ~Nn׬ˆJ­+Ýnžý«Ó1z ¡w„~ÐûMâ3´Íì‹ș̌³^µé‹$zá¦Y}•ª€1.5*óËÐqPݼŠÏÌj'å‚:úV;3GGöï# êºÀ ƒjóX~Z—c‡9Ô×ÓÒ/%T# :!öQ'7ˆù0›ßìëcr ¦@)–‰Á·jZôkiGKþª-ˆø×JÀ´Î®u– ‚S¡VëEá>iX:æš½UBéJÕ~TBrÕAd„¿ y½]ªëÙ|¤$×£ÆËÞ ÷ëì·–T¾`»4âj=1õ5&N­„rýºEBã¹êJ¥Iæ*‰c O‚Ìcû/§#´<´üÁvq5âøE0Âc(rØv=ã®=©:qž“I½ôpÈ'KDCdKZ7«¯’ ÙÒ&³¼q%Ê!”ߤR ûøMäþzéê2\ÇjC«O¾ÒWD‘âœfbü:)‚Ÿµ#Ãäã6¡O¼Ø©2´U»éP›¬•ZˆÌO™ô#G|Z%Þº@K-­Âï èJ›"àBKtÁM9>jH}Ú—oÈk ÎWà»Âç4ÓâXKØœ/êd[îMÌsÝCÑ&©Ê—“ol?Xù×lÔ‡?FÎã,$NÏÝòXvw[üIH“jí¡¼J1>9-¡O£â踙†uTÅ"Ϥi×@qƒÇ°þoj¡ø´…é-¯ÚÔfŸ™T—¨›<(á±Jtn+'Ã%ØÃ«Fºë¬i“TÜ7úkYløÉAÞtâÂ'ZÒê.yÝr¼Þ¯+¾v [Á’ݵ†ßת°¿þþ/ýÂ쯹vuÝi{ü¥æ„2ß.´çp-¶Új͸ÛÉÛÐ -7â" Y)/=)] n 23HT>dÛ›Èrƒ¸sþ:îKÍAKn™WÚõ¸öaÚ__ŒœïLZmp¥›èý5µEŠ'!±¶:x KÈÑ”r®ÝFÁrS.žÑˆS¼µTĵ8ãjä›aÁžžïS ÉàDÚÖþœ¤Q¦£X€ŒlÊn*Ò.I(‡oöÏæ;f ·Â$\0°ôLµÏ3û~=è/?{i*´sR@•’ Äcˆë6Yyç ¸5†#Њ§±*šgF!Îì9Ë s«nÖ5Àx)ÒZÁãÒ$šÖädR3Ôl¥/Ô’h€ÙÜ=ñN.Ì9Êïß0Ò1ù<‘®wMŠ}¢wx'J˜>¼ªyá‰ÏÉqÂnã1ÆqÙu¶*’?Z×÷Imè2pó×Ieñš­“´5&¤“Çï6G³zú™l©/ØÈÂ êøÆr)w÷öÎ_ O"–ú5‚åÊÄÝsDòDZGd¼ƒB™ˆ¡éIðŽ©ÚMaı·€„Ïy—«f#I‡œ’t‹¿%P|Z/•ìcVª’(bT² ‡ÕåÓÆuþ§ƒÜƒo2—Ž.üvn±Örù•§lž›nÛ‹Ûv)üƒÀ‡P«´5üMzuX ³Ç¦dóäă©Á1Ô„ËöÛ7ó¤ñc‚Ç>pF"8Î2^ÝM÷_ º2ÞLg¦ø<×­µ‡í·8™fR3×òÃì / ô“¯*(„ÍÅ öeË«å(‚ÍÆ"‘ì'Ÿ²“ô\ &f©«¡"7¦Ê¸×gÐæ…ʸÑu·€@¤õàZc8^éÁï*n‡=ôñ{(!–«¿õYAÄ•™T]Îä&,-[þk”>x¿ç›À˜™Âþ~<¬µ'QÁÅœ(Ï.ÕìpÄ_:ŒRBe \¸DÞ ïe­*ÈÏ—Ž Mqÿ¢çFšo±¿L ôDZ´È×Re‘È@ÿ£|2!x÷{ð”!m7I+厣FÊœ[=0º=åë±ÔY#¡ƒFDúŽøÞGõŸV0P ©®Újè½A«àQ¢Ë‚1Ò´•³=ïk§ð—Š–€"ÓlŽÕ7 ^÷ÖÌוJk<‰€tc±zâùåÚµP1%TŸH€ƒ¾ùI´K«F6¨m|gE–œ×¤ú‘â¾vyFéy‰:5w)—6Ðà›(fÍ¡}ì}_+:Ïö›ºÚTpU£2…Dr(ÜM±Ü( Ãu¢·6uºÏޱÕ+wfK“¬œŽÀš)4ï\’FoŰ,ͽžùD\ØÝNšiSå[êdf]Wº-ü‚ Ú%˜ªæ1z0AZÜÜ›cŽèŸpR冮h7‚OE…Ì#ÚG B\^5fV4R·˜ pôÙÅ.ïz¬ñ¡ŠýO“,°!+c+ÐJ€K–JÈ5˜ªmù&‹°Ž˜%¬.,@SÒ¼l62Ic+ÆfoÔü/Çÿ;sS#ÞvÁaqÄa08Yqž+-d„FAX¯® ö¬½NkY?ÿxÍû§d×SÊÙ?V+û¥„T¿1…Èy‹•"l´CgÑÕå%Å*Œ$.Ì©ˆj¼r)JþE’¾}ޤ»K—éBª ¥UæøÚùMÙÌD¥–Rr/ò5 xÿ>ªˆ’ÿÊ”½ˆû]YÁè݈VróF†&¼y»å ÚõªÍ/0…û¡g×èAzSÍÈi¾J˜{j²(èÜ=¨a%K–ÒûHÝG›Œü ÅÆÌÄöpGKÔDW=Æ–"šÍŠÛ*ÐÏfS[ÏôæžBÉg\x3DÛ\¨l–á~üó¹BõO^)›#6d©/ð 0‚¢°óq(„â¡”+Wcîùt_@¡´«±—AKÑœÚ8ÊÓÂ9Y¼ÅU‘ÍÂ5K/µ¾eøŒÏÁ=4êô~ç†UÕ=XÓòT&‰Áz\œ"›eÚÒmÎ(ÊÊoö¯õéTë…Ã>ì$2ΩÃ.°pÃÝ•W™¤f¥J´G v|Ù]uv§Ó ¢ Åkë²Ã¶ÑOÈÆ‹Z“_ÒNÁ©â¨ç¶[Óèx§¨C§[“®,·Ó\óóFÒÔ*K¹§È€@ÜK\I\ä«HKYãð*#`Ÿ¢DÔ¸NáËFƒˆl·7“ Ú¨>­*åB~Y-*¯dh¶FÔ³Ë@îTvÚù´€ø#  õÊzªÓPG_¹Î.bƒôeÕŠFDp¨_”Q%_e¾ß§n'êÿ@Ú`ý$®5J>ù¢Æ8¤’a—Ÿ¡8H•×’è’W¼Þ…ÄþÀrù0x!¥ØubÓÏû‚¯'fM‘˜ÝÄãÀo‘ –N²þX‘†c7Ç! ƒTë–.`¦á‰b[b§yc¯׺Ä%¼Œ4µêÏ S"ã^]|ùÁ™ÛˆBhì4­Å\ލ$Lœ¬Ühíx·̺b¢ïa Å1þ-=ïþº«±Þ³ÁªÄY!ˆ¦—Ÿ`ëøñ‚‹‹\ìožù×Á·iÃp3Jé+uŒ1 [7û&ÑãxÁÅÈl¸Xå*ƒçTE=Šhù»Ãã  ÓÜ{‚©EhsÈž"H¥ugDdh6Mÿc„À¯x¬k›*“ –çÆ¡±.8‡T&»(=ðç˜ìªÚnÉØPÐÜ¥¦=Ú{÷±U1»uÝÃbŽ8ô@92é;J˜|kyæ8aDSYRm‚+KQ@ê!Gù¹±†Ê)ÞÎ¥/'œ>øfجÑ9™úÚÙõÔYbZÓÇbìû@:sxI­‘j4 ·ó‘óZ•ådR±U\5‚ãKS§º1§“ƒ2™"vˆQÍ Ïq™y•2Åõ̘6…´@}E¥Q«7MÜeéœÛ§ni=nUºi9 Í%7&£Nƒ"íË lÀ‹,߀ˆò¥í'•Ásvtù•æw§¬ÞØÁÊRØI9ç`|LÖOz øn:nå‘\ɉWô—Cæ·Õ;äºÖôa}R¾Èîj“DZJf¼¯Zuú|Ê„´•IÆcdÔ0Làrʈ»ÜëK_:ƓÙ/¢¦À0ØéÐRpiìʸv“bÊœÞæ˜(°H¦AS[!1!pkWa8òK‡)ƒˆú¡´ äø¿ßa‡ÂÍny x’çf¨ F†\Ä&DdÓ9ÇáO &LAŸ‘ÓXÅæ‚ØëŒ&Õ)ÔèÆv%=9k¢ P—´?ªåWK³¶ì²´Þµ¤®9µDS)ñ­Ðw—bøÄ¢( ¤-S€îݰ~*ÎÓ%_÷—þ.‰ÐbõMõûç²µÄ{k BðÓ¤°{ôâ±ÃòãO0i<]¼oAÄ¡z³IIç¨Ë‰¾pЧ(¦‘ } ˜ûá™ônîÄc 漕4ÇœÖ$‚ÞÑx›Ñª6‡éPš)}H;Iõñ6œpÂIåqÏ…<ÆÑÅ&ZŠŠm—êWyÇ«?ÅÍš ÉíƒWä@âdŽÐ Y’MçÆR»íŸ #NO M ™8èC8£•o|^Ëp†ÊIŒ@_Ô:…¦â©–%­axdÎú ^ak¥‡¨ƒå¤ÏruìÚÓ=h)úù%áÒÿwÔÈYí(çIB‹â";‰l;>7oýG4Zµß ]ÜMPÎ[–Ö$ÿ°›&Ù ð:5š•7|"Ù¸•×Ôý[sj}t ’WìJ0g;ÛŠêœ%õcYOᙦNðøZ•Ñ­Uxt¶‡®|:+}À}’!™°‚ºFÊ×`v\ðßäðI ´jEël²ç¶q•®8À ŸëRP+F­³ÀÂF.Q%ÁÖØ h7ë‚'ºÒ; !×ús’ÿ[#TÄèåÄû0š Іìx‰Åh«ñêL=^—;C‰H_"©*÷û…uqa¥é«\¯±2C’S í!v¸ý¾ôé1#cÅ%p˜@µïO˜\šŽÝÊ>¾&õvÍŽ‘±Zµ!Ô›_¯œbí§,îqàê€æ4“0>VQïÉ ‡î´Ñ&h·†b‚Ξ–<¤z“g`´£Y¿„^ÉXùU çdHÂu‘›®H-6b;‹"SëÑk‰[©Ôêm¸¶±íÈùQBÚó³ò<6ófªÛìF¾:O¢ï_ºZ;L-Üý-’ž«oÑÕžáBu©Ð“p§âŽ}:sYa7~™¸áZtÞx÷ ÿ3 )ØåÎãàÕ‚—‚5݆³‹Ò“3•Érßã઀>DûZ™O1ÙÏÅÝY&»©{DùáQ”{ËÅì› =¡Nàx/Àeƃ=À»ˆ¤‹4 mœ}¾¶uô…q8‹Ô¾k…Q~î“ãúˆ&³6ÊC,ï`Ób=}J7]¦‰^éõGÜ úm+‘ƒãu¨Ï¡OEïn2Ûë!™¶qó£ã<'äéÙ$«ºqœu·-"¹AàeT5ü¤bž¶—Kû‡,,äÔð¤œ{_úßøí¹ÿê6g ~'Žúh†4iA=Ý£[ë;ÞIMÚ°ð°4] ˜Ïàôq³TÝëoM-â/¶|†3k*ƒ ªñ¸½\ _•ÃÄÛ°în…E¶Evø¡Bé.a`CN#ÇÿR­åËAÉêø¥“ô/}SöŒFo 14~Ò ‘BK0&]¹Óª$®·Ëû#/H̳o .°9 U~Ô…?ˆ0HÆÛæa Hö笟w§t’<ßSŽ³Ï±{jú'ò´«¦_Ŭ-"lñ i¬RÿG%.•h‹&³bÚ“ñãm]ÿ'7 9»ïQËD´b_mÙ–µ –t‰ÊºõtO¦mFzHEËLe¾ÂÉXKÏC>'4k1Ë †£~ 2’ê[ÄEfk¿Çp&Àöë–ytL’bpvŸÊÙ'zR0[ÖB?xb‚„"ép ½@œR¡Æ¼f'“–Z–¿ëÈFAà;AlÃÈ-Ø5Å_ä—0tñáÊí-ñ}8ŠN¨Y5š\|O +þÒ_¯níIΤÝÊ¥ sÄÞ•/Ô#3r7%×9鈤Ì¿*'µ@>k¤Õ?­]rÿåéÕÚ¯3{å Ë­o±5°£­™áþ_ká[`… ‘hï-á o#ÑßúŪÆXêÜbK¬Ò6‹?@“SÓâ­¬°»_[ÕM”Áj0z¼œ«1ô\N&¶R¿s°?=©ïoþ %È¾×Æ±H»Ðb›z=`fÐT0õ´Zc„¶Å—ÄÖÐ €¥Cˆ+TÙ㺎CÞ¬¤ƒSò‘éc# ¦Çy'*¯,ƒç‹4ËJD^çÙ» Z8Ù•Z\ÛŒt-¥ÓöäÆ@\¤©»y§fÈ#ïÄ ø4×ûû[„¥y¸Ké‰ÇÍÜë¨Å̾ˆ–kÈfoìC•½êð b›i?Ù%Uúá0. ÕmB€ÚÙ(£-‰dó½õËGè§sW«8š’"%¼„Šs‹˜¬ÉìU³TT@¼mˆ³·KÓMî­9·zíõªÈÿP!™8nXéë@f9A0;nø‡m>ÑÍÇžŸ™°`—GµÞ»ö£ ”BцN î!:ir$å›IâÇù•ØC¸™¿‡s4ÚOãñýl‰ê+›vȰsåĆAF“ê|H“c©Cã2¦X]XâÊw¬ÉC@âÇHlZï°#‡¨œà£¤­*pgsÿUëÓn ÉúÄ'ägŽMåŽ,ž·]Ô½rüå‹íïm`œeõ"+˜;–ù–PšôMË«j«ÄþyÀ3ÎPôÝ~¸_óma £›Ñfð¶*j¤ýÙ̧¥˜Ø¯6è €öЃ ^fÈr,œÀ â9‰a"kð€ÐZ<ÛŠ26uCàl?Ñ‚6×ÓÕÃ[ÏÐr¾å_GOî˜?EúC¼Å¡ ‚¬5„³¶©c*NåŽ5Nª¿mzŠy•$byŒõ:ì*˜È9&YCÕ°Ö½î±i.T”ÿ-ö´ú¯îÃ"ùñì1X](œÍKK›¦`·†¨zÿÙ9Ëææ‚ŒÇÕQÝ'{ªCÔöÉ™ªzTíÅO,y¬ˆÞ fâ¬@,VݘÂUº[Bbël Ç7gáµFt*¬„SÙÙÛ¿}ÕŽ£ XÊ ¬}ÎrùZ rI¯ï)Z5À@$°RÈWò[´š*\¢c;Hˆò‘ó¸öè D‘FÚæJŒñ Šºž"­ú/¡ßäƒl0„À¡¢¯…™Rt!³„Þ¥7&þ³E¼aÛ¸ø‘ö¹DB"Z}lØn8ç:BP†§]_óÛ}¼GÌb²iµœ*#1îÊA©Ê{;x¨…4öÅ4f9ÀOƒ¹vË9Ô9çÀòÆPÖÆÈ¥œ·¯‹vY1ù¤ÍC–`éÝ6ÎzÉÈ.c ¶ÏUAÀðÚ-Ýë( Ћ0Ò¶’¹êsg*#•º ¶iÝðÇg¦ß¼B¾¯Ó^a¥H%V䘒&šEL· =R¼£”«?.ÁØ)ðj½‡Z •»yà¶M‚jŠT]+¦wà; û¯¤1 y£Ênòb'¼h× `b›çæ°³Ò–É=óVç€Ò·/ý÷i)®B¦’)Ê®Iá€D)F¹Ô RU2áX؃«ØÍÜúÐ]½$¦PH;ÖxpÝ'œ·Ÿ˜Ñ†Ž¦>òBRºqÌŽéòCtÎw-8 `KK]kªFWù°½ßHÂr’\úlø×ˆaÂ$¸,ÝEz(ÛuqÀ-g‡4^ؘ|7l«³wNŽ+ÇYŒašj‘û…%о“º•<à»è7ïõfÇÃkëkSÈEq K€ÑQÍÎô(j Ç@‘Ã6›¿Æ¢EDñÛ ˜wMؼaôì>|¼yà8}7ÿ£ }5¸Ñ¬"jŠùÿ¹ã±¨û;mœÍÌ™Ñ[˜JQ+*Kò­ÝÐýüC¼`“¬ÛFëþÄ…¤å½b[ÉΠµs¥k‹–°ä«yÖá©ò²ÖmŒãWbçëñ Ò¨ìŸÀå|ðé™èqúâì-:†~|L'I#J×E,*‘ ‘Qä]=OK')OÌ÷êÃÕ’€ ÜÅ+´UôÔ¡¶ýb¨8ýé_¤€mdð//Y¬o ˆ°köXñxäGšýófï$‰¹†t‚Ðlž¬§ŠK',–àÌ1(nIçù†³üØ* ü5³™÷7>§œg^Y&è{½íæÆ+Ax4?{”¬>XS~R0ÁZ4)Vê \,¤ủ——f,˜òÉhõPˆŽžˆázjQìbÇã¨T†!ú¥h¥rœ<=Cä|„…ºæHÒ¦‹';TP ¢|Ô2þKÁµ‡àÛh§¥œ}/ñGFÉ|PŽW1SÁîɘøOƒ1²ÞÜ2ŠPÎÂx†ü §* ã(Èë÷* Í7d±rwXô܆Yrˆñ[Rà šä#…©â&f›âBÖ»P̱ˆý¤Æ>%žämÈÖ¬C"‘‘õ­‚zð”/û²á2zõŸƒj ? )c2ñç~Ðtlþã.lò)±G³¡á³?CÐàIæý½Í¥ùïﱞ-R¶ö¨OÔx{9O9”}°1( ¨ M±iVÅnÔ:RcYaøDÀ—Ãí  §|¯¿³Fa²%ü¾ix&íž28®½w•<ªæ´¸ê¥<̆êò!EPÕjÙ¦ý¢‡‹ÌUcC¯[I_@(MIÇ1”¯èÎæÿ”¢BŒ&“Wwó Cé;â5¶ðë¹ðâBÇ–x“zv•1æ‹´•ÑüÕlj“{ñyjúÛA~+tZ±žóŸËß&hMFS*  å³íC“µ`Ñš@-#0<œÊ>ŽáL¥ãìŸýHüVlß7Çï'¨Ÿ Œm›mz÷`ÿöë€å3öàïe¯âõh¹Sgió:rï &Šp}Â<‡44&PS”£Ù†W;FŸ-“FçA‚;“»ß^âËÕÏ]ÅäåŒ:ÏÉÂbᯅá(_åSÐ'‘aì¬0šz"_ƒbo}’³#b9[~IqocP€Ê;6Ÿ[,£]‘¼œ‹¸îLW Ç<×G.…ž³•æjû]j Þð#”M¨A1A[gÊ6”r8)6DëÞÎñf¡h«ÿaËóÊï2W®¦ùF¹)×Þbº£ “IÙסâ4°nÃE|b‰k‘‚ŽL•ùÁ¨™éå+‡­›+Ÿ¹—yD68,tŸ•§ !ëw‰;‘zM™^¼c“”[˜2iô{Ê+Xó…þ ¬¹ÈŽ÷:ÙÏL†…ØN4MÕ—qæk·¨GÄ(À›ªËS ‡8Þ,nOœ›UCÔ«xT&™}¨¡{"b\UHZ³:ÿ9ÔLÛoŸð`ƒt»N\¦ƒ0³•Ù:D÷¡§ XäS7V¬³žYJÙ ¢ó.õÂÃD4Y•UàXƒbº­§9¤¥(õØw;êšü4`OÕ6`Òã4lÓIäjѶݾ¤·¤Lˆ’91b½Ò†Fµ‚A@ü°±Á/µƒyt2Afe©ÈÙ þL-³—ßèjr¿úadPð¶ªvlš~ ˆž!”[%ž5Øç¹Ÿ¼mzºàTî¤R–HµK¥úHF¬Ò0ë7 ‡*-ä¦VYÏñ±œe2ÉÄÐ×PTþâü&®Z¤c@À7[º2|Á<ära:îå©Ó&æ3÷ø5N„×üÎmIÑW:‡/eü¾…úNšDJ›f×<í ¶"F8+mW´©,¾‹ ŒSu ˜H΀†F÷ÊH2eJ-}ê_ëÇÂËäÌʼ®y)òÌêÞ@.'ÖšÎZ’éL ¥µOÂV›>^oQi2' JÅœ ômõÀK²q >,þ«…™ R}Nu–ŽxÁ€†Ü-?Ù'çíßÌ|ÐÉÞÙ^ocG ŠLå’© ;Š%kÁÖÜ›‚ñÿŠ#04ÑA¬<Ù!²<·…j¥1néÂ&k²BÕÝá4MQ³*Ì$Ü{»6éGÆÕÿ%J)è†l¥‘i ö¼Ê\ÿÖœVÈÖ.EV|ÊXþ:Àœ¥f##Y¹ ·Õaý‘D™»üx;ž–—ר"±±àwŽ GƒT$w Ëqâ÷#ZÜ*)Ÿæ*ï©iÖüæñüäjVè˜|' ‰fBù}ùD8±qLqc¸Ó§H1£OV‡^å{Eʳ‘±|"ÝòÑ@ÍŒ?«kxý"1p¬šï#îbv߯£“À§õÈ–z¡}¼N@˜=‡ÕØ`ª¨SÇ¢/“?)ƒëÍWmøêO­.w¥,9ü”€'R[Æ£n›—þË vè;Ô¬à„2¶GN¬$Ž©GßòßYUVE;ôŠyÌ>¼06ê±Xdo— ÇU'Á•ÿCD>Jki0t®½ç+`cû#X퀿¬Øª¬ÑÝ”70›–á]’ .¶LP¼l&ÿQ7Îе&-»Ò¹èö´`ô86 éû’Mé]Â…mß\-û½+;=4³ Ò_|.ZÆyÕÄ:ÚmšÈ(Ð+·„Xy›"$¸Gܨ@Ùßïhé1ÍW8Ü7ºò@%*{Æpz•×t•ÚcÈNùÝð>–e©*_Íx…ÆAØv’óè` ­l`&‚þ¥–÷Dæ× Œ=&ôéÇ YÁ¾ù`Ò+£+¤–"#¦°hµ²©G]À»Ùé8ç®W¿›*ØeŠY‘?‹-GoÍ£NÞ&y™YBQ¯˜"¹3i_°ò£®˜L!v j Në·ìàx€2’µ¡uox…D8{mazÚæß”:šU¯àbà?8ïS ÁÇëš]i|Ίæ¯ÁÑÁ]›ã»Uíð:pwÅÍRß#›iÝ«@âî˜>ïvÌMp{›Êsxxj„ Å 6w‘aªG®‹Ûª­ :´É3+»4ºó½2ËÞOvaø #ku–æ®æ+”¦4züä«Yfa¾•×âK¹†`¯r13[&æ0ÇLøF‚Û…y§w!§&{àDÁõ{@\…Î)ärŠø­(öêü0íÒ|X ÃS ÒÞ?Ï b$Q‘«ËU`j¬<Ò`ÔvC!PâKŽI‰Ì|šLæ‡狊Ñf´ÞþL”s Â4 0ü£MÑ”Ci¡ž¹2;Áˆ[–B­[‡½ØŠ‹ñÃ꜋è®c@…ê½\ƒ† lGfVFC:¯£Ü ¼‘×øÛ‰ÊçlUÿÍåHñûÓX¯6ú±ráµ—^¤“nÍ(i2ß!‹õ^Ä€l3tŠÝÉ*)®a•+Z§4s÷B’¾®k¡•^37Ü…ÏDZqB×Grî FS%&MëqeÉ_»ÔF–›ê8atâôŒRÐc©¥®,Ðdœ™õ¢X”‹Òhñè^W¤âQ½ƒÂ+Úʲ ¤.¸nä÷Õå]J¼øw4þžíW¶Ý'$d7$ó!È/ˆ¶ÉèýÄi­½åæÜBÅ…dÉI!`¨ ì8š&®žÇamA¼ u“V›ËG„–ƒ"Ç&Æœ¯É‰B׿pÌJé…ÒðAù—;êfþžz½/K— [¹âÊ#ˆ{6Uð/ooVoš†2¢n]jÞ|G9ˆ#UÄÎ7ù ÎYOûU†ëf¡˜¿îYÓDz¥8íPªª4šÚhΩ͇ëã`(ö}+9ùZ[‘Q_±_æ¦su«l ÏÍhéYb‰þýÉIÁõÉ8ŠQ0À5n~áY}ŽcáXÄd% Å5™º|šHTËL2A˼Q C0¤ÏrƒFnp)Ʊ–3o:ó{5WNfÛ¢þàž‹¬á.@=¿Å4µ¼>Gyé3ÑØ#(ç‡!ÑØ,­@ªöÖ!±%GqP$æd¦É¼éß$çÐ BÔ|“g³èÙÿ÷õÇ}öWÉ=‚•ןRë°ÛÌ]bˆ&ŒA^ôËšþ‚ôæ’Så¨'ë¹M’¦TħLT×ôŒCÇç©·TÀ«®¿Û1« õêGæë Z&Ñ/1Bº{n¨Ž$8G®$‡|¸À2 HxòÓ7Œlñ?˜þ­b$?|a]«”;7-SNÒ‚14Ž+ÄÇΜ굩 +;ž°5J¡û9s5S¼TK ‘¬eÇ X <^í·œÜ³Þo÷fµÒòÓ"`Ô~ £O’½ò¹[RüògÕ´p*XŸ%ð0Ve[KgO?¤¥‚rþ'HEßi£À®t}øcá7QÍ‘'µ'xŸåûÇL}d…¥B}ŠÝá(™ˆb«›0”úwʪ]Ỏ+3$4»`q8• øÑPe±À~zv rjgßo SQ¦ Mwýö3>×K Þß?ðá{­ÎüqÝs„¯Ÿº¥̧]_CQ€N²éTpD|d~tRÓ×Õ8iFß÷`$“gÍaÐÕå¡:©Y©,üLêþ·+™Ø4kLÈÞµM¾J”j‰T°«ªÚYî\w' u¥ ¾9Õ þ†¾ M¸õBÍIZ“»#D ŠÎŽSz14E?J…ÛB0½Víesì{Z¶~ú¬¹HÈ è<\f¿bFNŒ[5ëLíI(±ORs\ù¶!'/Tï Ôˆ¢óÎò—Ú¥ê&$ñ¿Ug]²¨w¸É4?‚D*®Ä¢7IHfÃ^G?ÓÝvðétÎíî!טRßÏ5Ô6 º{ßÛôË:C}fvjÌÁŠl¯Ÿú ‰XÙv9žy;¾< £4½Mø½­õÞôC\fꓲ|ïÛå³$Ñ.CvÚuaÿq t€ä|¢)–´4P¤¾4æ¶ . YåyÎ9C¡gyD/¹„oÈ-Õž?Å¿4Äañ‹Nâ‘(Ÿag¤y|Zê7Í[6FବZ„V±¤CÖ~ IšÑ)¸Rs¯® ÛåX-H<ºÁ˜ô‹ ~ÖÛÝŒ¿Aûú#XCƒ]h··Jy•­Â‚Á¦¤Ù­y‚@͋auÚÂ×É–†#õß-*Vå0 ¥¬¨4O(¿% ÿ‚ÔýêM¦ÜŸ;a˨œæÆ/ª®/â}lógÿ.[dÖ\¬•^?âZãµ^¼á4øie‹J‚øi[í A)”‹L¢óq’³¥Ëèzb§ð}1ŠÏbßàÏ(‹æŒO!éÐQÍIñPº‘†Ç)UU|^—©ñ&¸’úÀ høíûzÆ·dUÐôfÃû…—,aSO´®­ÞѪrƒ ÿ[½ë‚¸©Ã&„Œ_{HM‡j è­Uàù`$+q®|O´‹©G!3¹t¸<+³«i.?zÀRéî˜<Å2è»4¢®ŒxÓÏ6±\ò·î1W3ÆZ£ Ž3«×\¤[gãˆ[ ¶å¡}\Ø:rÅUÍLe33û¬Ó¸>›£2ìDW±†#«´¯Å…Ûÿ‡:³_¼SŒ4þ„hoDjô Kv貑“7\#ÙŠ‹tòÀØFdØ7 q‹(øA6½Œš CÔ¤güÌ>Èûí$å°O©ü5Sœç=s…Nè¹R=ÛíÃSÖ˜6O6Ë?w²ÉNâhºsÍ"G¨)næ &òc.wgßMí«£ä­óœXƒ©E¿¯úFÓ¢¢d,ʵªBÿ “Û‰š^þ«æŸ-e¢+­GÞ¡ž»ÜT¹B3û*‰Õ l±,»×eÜ8/Wú>Œ±qþß×½&ZQ¿\\§ †½ XÄ­DM›÷À?h.$¾‹ªa_©Þžöu¨W7dL Þqí̵͜ ,Ü‚ÿÉ0Oˆ†Ãªçqün¼óû“0Ä|ëV>¯DaÅ—“Ï|Ü­ÝðÈèñ¸¥bK>z@jØ2½s¬}„&œè `<ƒW¢ôdÌÐ]ò!Öœ®´šH«-ẃ‡LµgoÅv ²²È;‹òö'%<zKkÑÂûËv2âŽSS%a`™ èч(€­0ÖFb¼ K e{³¶ð«sìú@+®R ÷8b1]=p†-é—@¨*ÿõZ´w„ó:L!à›H4¨ÕDN¬è/ê{HOšè„š¥3«½$6 ÊFøÝúHiAš³âœÙœWGãû&d¤"òÜÎ%èHþȼkIćÅc¬™ŒX‚ ƒ•z/Nmž•Øp¼ñ:;ÍOdV3æÛ£Q„I{¤ðè|6¡ôß/éÕ Þ¦º”w¤äù? ©fõ°™=´PàD`#‰ix2hÂ$¢I[¬ÅãEúéú²êK´g#Í|¸ÑAWžø +w†/ìzæŽMÅÅùÔª3¾Ej:²Ž•kÁ«€s€£4ò5ÏBA×éÎûÏž™Õ• äŽ@ës ™Ø.D¯ø,Z[=`4+<ÉÆÍé h»¥}ñ–±·(iž209w³D,zêÎÜ êgõ¿6ÜOÊÐõIu‘ôvÿñ_¦æ/»ÙOZÖxDÐ $#§ç£ER]ƒ0Q4—/[?=„oš'Ã'Ìܩ‚&¾åè}ô8è ¦”4Ú^ÉHض úã(‹}=~ñF»Xg‚9l}™š<»üukì­ùÀpÙê5˜”ÉW`Læ3J<ÕìZg1¦ÑOJ³ž!§O ó‰”IG/ Ç‚¼ýŸÿC7BŠí¢vvuf–ÂLMÎ÷Ÿœ·æ•£agÛ^vxU|¸~gU®ô,JìbBtë@Lƒ°\û <zâäÛZý ÒQ/;¢z“$_ÆŽMÛô•ò%=§¯ ·Qå8ƒjÝ5Á7Œ Æ^8Á2dÍeQð¦8M%yë&¹ýÐ.~pn ¨2²·87<©VJOÂáÅd=µ 6HE‰Õ©)±YøÅ³q\âHüÌ'¿æ{ÇÇ)é¨R*åž4èÂ)T;]¶yÞIãÐ㋸âòÙ³êYÙÝ[ÍçΦ¯…x|èd)Ðè £EX+Jñ+‹ÿ‡-‰ÈC§€ù\Ü ƒ ©Dh(û[:éî @îÒM ¼Ý:iò@mÌä2&’2:ÏðèÌ*U]ÔWßG•Mé8K«ç|{Z‰ëcHð»E®¨¦é¤zrB—Ô²!Ô·ÈqŽ¢˜}¬¢oAœœÉ$l}ºb–ê¿Åô‚ÈiŸ©‚§ºÿå<õ­–éöLø5ì ,ðp7&½ÓZ«º:< –íl²Z-ÏûYiüäÔ(+˜ <2ÔuZ;)“»f BàîŠÉŦ–*hC*c7%”ÔúïÜÖ6òiEæÓމlLu=³uÂ8­Çn£÷ÅšEiªÔì Ò…ΞhÏÅN¹çÑ¢F Þ~ïçü>„%ý±Oß™”ªÃ*ÎW¡ƒÓyyXu  ñÍÕºû…@Ü–Ði‹:7–½P¦JÓ›w>Ù(rS°Ÿ¼Íx®EÅßE¶öc2ÀÉYI 1S­Ó=þˆÍLU܈ƒþçy°{£{UJݰç•gì˜ò™ 5“ ÄŽeÂ>Ü'O÷•);·#ü³qgªÔºÚ5¶)zdê´0Ïô4ë†K‚'õbí×ÓÆ…óy±ŽãK§í¾† ÏV;m'Ý øÓO»³c€SúTþÒ qÖ3>1ƒºJšR9”I è}ŒEdÁ–N”0`4!2ú ¤ð uš¹>1+³,¿³5?¿ çZö1)&®øYR"î£Ð èÈ· ã £Çî8Oú3ìè•DL9pVpdîí¦ÿ²¦/ëÜÕD¥uV^þ7©‚©(ÞœÌÃô_6›X¡*–Й齄C9¼¿NPT9‚ǰ™ÙêvD‡¢UùŽÓ2‚ û1~&S{.2˜k”èí‹EyÉÇľÙE‚j†È;©ê ò½ú j³àâÔà¿ÎÏI…AãÒýÀÎ ]ÑüúÉ¢ÀU‹%®;osrQ5 -#í¾ïgõpµh«£?‰äI¢2+¿ÖüòÍk•Ç£‚ÒFOX»ª²mp’æî­’ŽØM±”—ú h5ÍØ‹™¤H=°«†¸ðᬋ¨`ˆÌ™šÜ6ºlÅ3œüj3"’¯Ü—iѤÐîœ?>Šè1Fyyâž,Ö¹D$°W}wˆÜFÛDÉý1s`5HÌºÃø#N¡ñÿI߱޲¤éØ×· Ý£F‚)y…îÆE’\.yäBDȲºNë…É}šZ!ÕCø+¸Xå+ežÿÔ¨ÃB¬èÙ1æ6&‘z[ºë9ŽŸ-ˆE¼Ins;¤JlGQHÎA¿¿.å%®Êo4;`ìhrÝçâŽ;OÈr lS‡®¹àH`²j^&(Ýt §á½YM¢‘@EîbaM±šŽÍ×XÛÈ"8šLvŽÃr‹e=÷Xì/íŠéz‰ðSd"à*}{ïÕ3@éR@O{•LݲD¡Ge/+¡›²ù¡*æ­yÄ  9µc˜«E¨vÞ¨ô0Û‚X·Ø3ÆÑ…AÛúj5`¯ >™#-¾µÄT’ÔN'ÑÒh)‘ƒXfÞ8”CâJVûhšÍµXàNñ¯kŒ/8ª>6rPFœ¸Rf¬œÔ×ú@ÞW¸²Èî®üàiÄ®{Y1|Ê]Œ©®(«éþgS; 99“h˜"71°Ü–óÊèúü7¾ÿú>ø_)m{†3¨žÅW/Só»vÊæÓñWÍœRÛ¥ˆ/ü+ŽÓaçú\gÇoÎUuéYŠ„l´_ÞÃóì Œ™#Ïu[¾¯~ÉŽKÌn_‹ùí¢ƒÃR¹ ¸ðJ§â¤Vþ’Çyñ‰)½8áÞk¶ò !”š-6Ú¯ýy“Å"8bü6‡x dÅ™_žûöû…PŠK@/ OMm“J/ 8é Z¬0^ð^@ŸIC>ÜåZgñúXJž-ßjèÛ 4§ N˜ŸŸ¯ÿ’œÃÛcݵ/ºYw¯ô¦¹(ô¾z“«¾çYÆ4Í/*r¨0‡BÙ›"rëÝWgTL+Êžü‡‡-QöyŒ“Vó®ñf%yØgB=Éyï‚xðöA¡í!ÓÕÆh÷¹%ܶ8¢x(aDHfÓ—|û¿Šò¹Ü÷‹7 )F‰í]xpQKÆàAMhóèmFkHvžíúmþ졆kTŠ0¢qN[]MØÅ™³Ñæ·Ö¢…7®¥Wy–ȿČún™gÏx Šû¥–̤èñ›¹¶séå›X6º§z{¨øYì@kGÇU>±ò¤o´"¬¹ö·<Æqî:›ÙñÅ¢¾"”ûËI—kŸ?=û>= ±9šVLÚpp*½Î*î¦ 5É{;Æ’\ÒYÁIrq}§$‡­¢ëPÓ£D‘R›˜•¦œÛš´LÙrbº’÷¤.Us_ú*hcÄèp‚Áéj·æ´ø¥û®;¤Õ°£º_Š$+ìæ3Ö|íØ™ƒ§S7Uó; ‚køÊF¶?XÏíçíïEÒ;í&)ˆ{ÓÜø,ödKéÞŸì}˜k&hp)ÛBåõ&òöÒ<ªC¹ˆHŽšrB”Ì‹î(M‡ ·ÝÓœe¸õ&dþ¯KB—õ‰°3 J°ç¿¥qØ6Úc‘µ QÂXÎSI°F:¦‘£r½nY¡pµ£ß’;ç1ú¾Y‘|‚SxgFŸq{üŸ oÍ(S~ÅŒÀ/P3 !|²j20`C#–|o«²Œ´%—Aö-€ì?aÑW(Ô X> bßyÅ›7µÀ“³ò²Ä ‹zÑß’t2íÅ„Q”j¤²Þ7ÕI»gJ·½ð,9ï{¶ä-w -†‡¡}Â:ø`¼K#1ÖÊ¢„VqdmÃ’ HLwõ¡ Î,BO®Nc®lŸ:v=¦¡ cÑçÕ%°Õ¦åÉí&4 ^¼¹ž ¼‰SyMè)Ìmô}ÇKo¾j_ódlSÉÏr=Î ¦&¿4àôNëkYÉK¼ ‚)v¡^‹ä)Gý×C‡uñ©¿›YNè2r­L\}.¿`,r(A&—ß#‹[_I•B¼„#åpÝdÂÉLxWô¦7ð¦[Ú4‘þ'mí÷˜?FÚœ_þð yØa/ÝÔfM÷€¯ôÞá¨@s*…YÆàÛœ¿¢óH·ƒ(~a›í´"ˆ´I0€Ï-· ÅÀ~bc–Éö˜œ}­("H²,$ÿÀ¿eæÎ©‹(~m€Azˆ°ÖÁU¨ÄZÀš»ž´t4m<æhðXVóÊŒ‘ýÞ –:¶áû‰¸>t˰¡ó·mÌzÜ/”¨PV3Gs&²Á `(6bå±ä1jîùšÛUWÝsƒ m*ÀvayÙ¢éœ|‘P{Öhœû~Pc,ÎEk•@[±÷ü"ÿµ›ò;ЬPr17AKHV|TßVº ‡v÷´ªáê•-†SQϳRÉÞÜdU_ßèsoi|}ò!y ¤Ì®Ç¶é’Ô>3n/ÃÝþ™“n„éË;îhUÉKU{7¸«¸g£÷ë€9KØ3ÇRÐ3×Ë7o„z§€"S.§ä³HÉub„œbÐs~šôžlÔõ¾;*÷²ôMCŸË ¸à¶ñ“Üý¡' ÉTi]QƒÌ\êZl5@y ÈŠ¨¡xäqyÇSí5IŸ·,ÅJ³»¢FT´@³k¨NNQY‚1Radu"ÈV ƒµ‚MZÐVÝUµ"O)ÚHE暑öïgÝtCL½M=(f(Ñ`¥i3%gÓšÛ¿YSOå ‘ÏqU5Sp7¿f½Ñ€uúޝÊÀ­éB{¿ëÄÙúl¦ÇNö.ÈJrŽÂÇgÅÙn>."4Ù¨×LF 6¼{i[”à¿_4U¹½Ý5©ºŒžõN¼¶gC›3£ ¤›µ¥fÊ7Äu`«áG•ôlæšpÉÍ€·tPLÌçìÎÅT¯ËJÔ»å#v*XÇ?®äôp²S``QtßÍU•w3U‚´ÄR±×۬ȩÂ@:J*tË(¨ûÀ{¹ó‚Z›÷–NÝ:˜(ÿ³„"fÈHðGçÄ8O¤—ÐÜi Ü;:›¹¡©ëUsûU5<_.ùµ×Å5¬4‹`ÄV[!È ‰p_0x~{núG˜] ‰H‘ôöô<—sA·ªpðEÃ&Zî-qÆ&+6H"³²Ø¢¯úv°´±µ‘1q6ôcðË79 ¦Èf†E`~“Å JçÁ¼·ÀÏKÑϽ_îw4ßù€ÅSºHføžtû]܉•ccVŸuŸÙƒ™QÙÈÅ p2.¥}cmÚqc«§ù&ù»Æ5I/íúÝžM„-\@ áF›…~B4{,z¯¿¤A†ch@3–å&·–ýS°Uõ#é6…±&–å+UÁp Txª^¦âðBý”eèLUWoõnâõAI›y®G³Ëq`½Dau›ôÒé}– ¶_ÏÅðØùsx'±,k„ˆ34wßÔƒ±þI^ þÏFÙQH¤MaçzçŸ r$;kÿLr $. ±®ñìð7‹º]”Í9¡È{X„tó¸Á©Ì,¿Ú™ŸKŒj\À¤ç‚9JâÎõ”þkÃF[õÞˆ@¹' Ù)™8Š÷óÍbMç?ì[¤ðÐA²«85¿ä‹¦‘”lºg=˜j×'²;­x^]D5¨(é§ d>*ÎÏØZ’O^ «¯wÝ1, ‚ sŽ2¦3ÝÐγ*ØæJ]&Ï>· R —KQÏ¡1æÙ÷®¬üÁ©&£É‡d .“iXKA†}º >Êac”«ù/cÆ´º§½'QoMH²ò˜Ç4ð’@N„C„,¡—¸ðVß(¨"€¨Œ¸ ¥væ×hh?P*¦…üÚAÐQËã«ø‘äÔÕ:  Žëv#M˜Í(.H“%n±ölĆ´@~ëþ\ÔvT<3U>ï(ÿdüßíó‚Árw]ªÓ»ketÙÃâŒÛƒa4N;ó ‹tÂFÚ·Î[ÏwŒ@…bÃ7²oÓ;MÃH7r{ëþÝ Ê fàî@ŽØÁ¨[ÊÃ!º¾+‡ œ¸Â=­8ÍuPŠ»@„AÅL-Å$a QãKØ ¦zœÿä|¾ ,C{A„¥Y§èê}’žóP6âpS­é ¶J~#U¿á‹[á*5£‚Y ô¤2qkøî&=O‘¾øíVOv4 ]¾1¹|ÚݵÿZŽ€ÐÖ^ë’5[ §¢¯Ý<£§L÷eî~ûq­¼reO‘%ºç–;²(Ï xsÊ$\^Ìž­BˆÔ/‚ ÷%“Ò­|9ØaWŒ9Î:Ý?Rœë­z@P€øÝjë’-®þƒµê'pqLS¿®/l¨:PjBW/wj[¬Jó¦DHsº¥*d·YÎ' ;¤4¬jhYº¹Ë¨Á¿qÄòRË\âL×êƒêoQ›à<¹yÀ‹ºÏ_‰Îõú>7õ75‡‘<ñgêêÅP;Ú›Â!Òêùk’í¨d_Šv;­ldes‰‚w%9ûÑÞ?kb[Þ ¼ôÄõÒžn@ÖúH¥ Ñþ2pD»¯Î¸™º'9¡ŠÇW.üƒóƒðfF²“ÀÔkìÙïÌŠBP¡ò19xí߬P^zîZÐú[[¯®E!7û’íA3â¡P;F5zi÷bÔuµiº„;+R‰ßئ­¾Â%žÝR`8ôßp‡#D9M¶7s_J>#Ò@âËlÆK08µÿ½ƒÕÅȧ‹ÒÕ²¸xw»þÙzú$!$$Pqiïük(@b4låîREÛ]e†ûú”èKCò;Šu PjP öòÊH`?ç±°ùë[>u'êDP=2| e=tGCÎZ.áë]S ¯v†Ô8ÙVÅ¥¹Ø%˜ùû<Ç@¨×>óô!ØO€@¢ ã”Üs.)IôÄÒç‚ãIhõ |n®¯òUËTGÌïwrp‡Â X3òqó,vH,Â+M~ã»É¾c²žÏó4âÑ—ušò!·Ã!.6íQ¼>6Êt•Œ¤ÝØ\?PÁ¬@RÏ­Éy\-¦f¹Ïÿô¦nlâ¹¥<…¶‘ð†Ó;mÄ;ƒßmàI [2÷Ù ëß™¸ ÊßáÛ,îsäØIb W÷BáðtIbËÍŠÈÔÊÉ>nç ÉÀbNîZRòKE1n«WŽbKÏQa€Ïñ)æÑå¼ÚhÓÙU-:È·÷3VÞH—lõÂâ9®\B;}«ó.kýδ5t.‘V|¼?½ëE7Ï:cj©Øü¤kVÊ5ž…§ŒuÒö¦Nq~ƒ€Ûy>T—»è‚1ÖóÉP|àÉç’UˆÜ?VUVh\§ÿ†ƒƒóÅIb„ûo烬S¥Ÿýþmñ#ôq®kØôàf9T ÕaY‹>ÇÔ̯gØ ~Ãy¨üöª=æ•eÈXpI/zôÁ‚†ÃIL=šâ×ˮľB;® Ž¥™Ó¡x ‰*>ø_ÔdC×\lìëÙYb³±:+ßý\Pü’\Ê‘ƒÚ]g¾ŒmV°ëçé¼´&/ñ¯u­XIŸIÓÓEýÉøRüűéþ¡»‡Y]}݆>)*wQ]^i·×]Z„‘ ”ÅÉí`:ŒlœÃž‘T•T®É=<Û÷bû²ðÿ¥$¬ây›K|›CÀ|ÈUêêàžƒÀ`uSš¥çƒª±³ÌöÈÒ#€ÿK‰¶1÷ž"„ ÓA­NV$Š“Gu¦²ÎÄöÙ~ wßÚó‚¡y6ÉÍ;}žè˜ZÜ›ñJ_“4½têÇCG“¢ãì 82£¯_Ü÷\¨1ÍX]ë¯,«!©aGP±DEVû–N½u€öåàÀmÕÚÐ_¦£"•ª z5š%Þ“„‘ÒÉ hÜ4MÐ'##b,ŠÖŽuòµ¢£Ëßàž«A%§×®*iõ÷$føž™C8«ìl `ÙNú\¤«ì„Î(¬-R“<Ðá‘:ñ®÷©õDªèÌ¥´ÖÚ_ƶ ؤäÖreÊHcB?Êÿ]žw8î/®{þAB¼"Œ£«ÁH)*—¿Å¾ïŸ«²¸TÊ’{Š+l¢¨T:HW¶ðˆ’ð˜Ãƒ°¹þl• 4ºÅÂô-[ùKE(gÿ÷#¥Eqø~ª²Ó‰K·ž+N¶,ÖÃg¶ŠÄ»ø^߈¿ºÚM~ ”SÞãÄÆuào…¹r7X µBSbn ê¨\g/©Cc´c;ë°—=à¯HhWåÛAg·äöã°”±1³R‡ÄæòUE& ¾ZÀÉ_¹ÆÞróåŠ)¸Í؉“gšÞ8.sÁ&¸§­<224­ÉE6&ßIÀrY´ô±ÜÒþ ðØ6ãLCáN žÂ„I:@+VuÔ8v/EÞý‡\„ýÍz´^#2wþ‚5ðI²ŽCovf¥sä]u?Õlk¡!ÍY.Ñ' ¯Lü-ÿë£#¬“Ðɱ ІqR+×ßZbÓ@¤·˜õL¿™yˆÄàÓGí0ïï±,(T0MƒÆ¢ª÷ZI-º Ǭ!£ÿdÏ_믡ºë”ø·1‡ä>þ07EP(cþâÚœ.&Å‚;ŠY3l³¡Ó Ô4öKÄj7à3ÝekÑ0”¯ùˆšÇÜÛP@ï¬ñ\§§ ƒÍ)œÑNœ…€¨Õš-’ØpyRˆA@Ycaó@ânlðŒ\”—Â( _ió|DI«Cð«·È‹|Ðü„.ØÌ7 ÞÄߥø©ÚÞ»(ôkäÝô’½–:8‰ÏR$šcô§~*ïSôÈ–ÔØÌúö”~O÷:°sÓV,î‹ËÅp0etßÈ?}L­¡#ÆÝ3Ž}WïAŸËÆ“ÝÈØv::w RùíÆ_ŸÔ]s¬v·ÐYë[ü—Ï?¿w7Ç¥Ó„›ïŽò]þ‚ùo˜„À±”ÇΜ)nù±¨n9 'šÊ¥Àê4÷C ‚Y#W›؉šµëœbMÀ7CßîvènRŸŒ˜æã(¿ X~håùØªÞÆ¢Æ=Ñq??™QìÞ$$°!îîúýf ‘å_Â"2¬b™qPÖÎ&f¾Hü1`ÐuYMtr®Ú ÑŽîå ÜL…@ðÒ´o µnæžT™%ÓêÈ,´Aô>‹­éÑ&#ô¦Á–ƒàÓ ^[ô3©wñl`¼eQ jäÄ™"!¹6+ËÎʵ´=}vÍ»ýé?Íc×:áeóçÁvCŽi¤’ÕÞTñÝÆ¾>JíR;Èrº'Þ.Ø]ŒÛñ¥ãˆÖv»YŽ0ÃìtÍÇtˆÞJ”t3º‰¡‚—ÈWþ‰ï…êQÕ1±üA®²«1ÍÒRot«HŽg Éy Û¹¯Ö{LÿX»Íƛà FË@òyaŠR)‚ïpª8' ¤?ž— 9ŽEXÑ ¿ÑÓd£iªpóÏ/,sÿâþ¶pZß+ŠjҮΓi$nC 2Í·UÜ [š+…¥ äzLs†`Ÿñ¸µî•È ¼Ögíf’¸ý]ÇÕi7²ìáxií¦¿‡Õá>ÎÃâFÆêv«µƒ`Gæ¤yŠ2ÕEc²·óÙìT±Ôt©Ë²†™—ÈV8l"{@ž°ÝC<Ñ÷Ìê3~k׃ûlOkÅ)w›Mƒ5¡¡µC¹dz܇ [ß—vÈ"@­®‡æ„’Pì·$Ó¶AiG Œ›.T$¸F¼ˆîIodn¿û à_RÔìÊËÉõH!s], Cø@ôf:%N4ÝHOqš —#4?m¤ûÜ*¢ÇÙÎ_guï€<ÍùÎû½™u—Y+ãu$")éV¹ÙsuÔŸ0]†–’˜éXÍ+f€(k¾ü5"&ä¦id,¼2e•ਖ ‡5%ªb ôœ™…"â°Qåw–Õг%‰mNm<7 ÓØ_oGÊák**ŽP“4­µ&PÎ̘õP…zß_Å-ó]Îí{(ö¾’g½ª2Í7ó¿[ºªÜ¾—€£KåÜ öÅœ…£K÷Y°¡€ÀÊYQÆS¬*-²Gû°£€$„ªG:/,“w)ÿAxÆÂà)Y ü9¹©ú³RzXEí§yÛüp$Üð{÷º`1[•׬=E¿ ²šý’×ÒwnW”a£å"¡Ýƒ$Œ½ôu·vzi兾Ēÿ)’˜¾¡ Ȭ8ظ‹‡0¹¬24/¼ÝI¯®Q§95UixoÇÁ_Z¥·dÇÙêQ@1圽öðÛФ¡Vµ}v,‡À\¢Åò ‚–•¢bpaÛ^µh«VÛÝ*Ýó¢8ÇXm ýcKˆ†¾øWÝ<ãÆK¢nÒ;Y3oR5,*2ã «Ê7&ê¾P¤~"¨\[û4‡mÿü¶?Æœ®)'X軲þ”:¯…!¼ÇâÁ£ÈN2 ¼À@n˜«cI}à´8­¿ 9>È2ƒ…($Kt÷TââÖ¿(“oPF#¿ØÁ\Jï¢u²46µå)HàF“½ ÐžFõ6’It¬ö¼)› zWÕi* /öJCÈ#m—Þh<ŽŠŒb¾†LÌPóÅÂB2ï¨Æq ò›µ‚*ÒæˆÐhÇ_2ÿx~#?´áqß=£?ê¿°+àºÎ²ñÛ#«p£gPû?¼,T—ì±ÞR 7²áÓ7® zVb:;Á¢ò¡÷–Àµ>¬@4â,ÿ/cMÍeð/‘¯VDz87G!bOù4j~$3k±QPÉ¿þqµ¯I ˆ[ Md¹¾A|F…ÝžZF‡}ßâ'ŸªèªÇ.šV™9ÒRj…*)œLæpP¡GycÝYŒ‰fTiÄP¯»&žÅ›dÆ o|1jwôSsê _²Êâ#w#4­¾Sà…Âp;­ü%`V4’ÙÛH'+éõ¬(v» ?fÃÍ¢€ÕõAª‘c ”Æ>f~“í`‚zÝÖduW0uä™·…¦Yqh\Yè¯e s1“e>ÿ…‚é¥Ê yq%Wg¸"?ºÎĬÄñŽ€‡Ÿ_¬uin¯õõŠÄÔÏ¿IKÇ S@ÅdžÎÔõø~Õˆ\"_dótO&˜Òø€“ÓNSþ³ÆeI÷úè ;œUÛ?´p»8¦²éS⬴ì‚Wü„MEò˜jÈï¨J®Zé,>Ο¾Îö¤ðĺÐÌ`ñv·@§‹v“×mšdìOÊ+VËÄ™öAþ$åšKAÎÐ>Èy”§üÔ="d°×$^Í¡¯ô‘FϨ@04IFeTÑ€»ê÷m%úyc0ßúáeV½³o"G)¬yxùžþP5Z-6±C‡D6 äž %WÎf5  ë<³"›õ×Q§GÇè,X÷5À/ù“Š{€Ãbî ßKóîQZ§4&3 »„\Ä ß~ŸT®Ä”gHÙÝaïö§Þƒf,>•v.QÜͶg;?®p¶5f”±¡¬û¡Öµ±ßÖà)s¬ÂîXjÂàvø®•B k`,%ˇu¡ÒŤ¯áÁÇ øg”bÍÊç”BnÈUI™Óp !l8D´œñŒþe½Þ}Im_}›Ë61}+ŸhãŸà0z'圚LÊkw×Îàt­bV½;áƒv¾ÐlÍ9H8€ä[ÓÁ3€Îë’L®óòÙY𚾸رÕ!§(k*Œ:+i2ö[{R »Ö5¿‘­?ͺ(¥¼xK~³³ÆË#Nk‰uÛ—¯¶avÝ4Ü´‡ÍŽ7®2´Ð½XYué4ëÒíGŸ Záó5ÿKFD„™æø„ÝiûÉ9CE““¼–Vê µ¨°ÄÄáõ—{œE–Pàßl³Â(þG’/{œ`²jOC]_ö°@žC,}E;£Ñ§™ˆÂvó éqVçÄkŒj³xˆ¹8œ ”=yR½i ̦]^ö dÅdý¼ÝÚ*¢±±?ÌëYü ¥N÷tᵃr·gðc-ñ0¾Í´Õ1™BI<²¬b K ágÛ^ÀŒ1Dƒïü})ãóu²músvB ‚S[ï™D3H`Ülï+²g»†Þ5F?[+-øy`d:¡†¤¿ R[¦rÊ$­þ\é¡‹}‘<7ÈsX÷™ÕÃ\Ž–9N†ûgµ1˜å¹Û‘6Ÿã¶´ƒ]K®Pßëé ßmÁr°5£ÓW¡Ë3_aЪ§Ýå; ëÚÃØgÇÓ\ä9¢]îm éé‚ oωŸõ‰ãÊºë¨ —m—SoKßpÄ[£³Oƒ%-ÖIS³Ýg^(æmu/Ð3úúg§¾í·ƒu– ŒÞ˃ԕž‡}ÓC`Ššó¶5$5·>Vø.¥)§²‘ Å AÞ-Ã`Ùô6ÓE^³eŠb¦´&õÔËÞÈã ­vÊîÆß&M8?—BfŒâà†YK ¬´ÃpIÜ/˜Æ€7Ða$Ñ~³K=±µ<ˆ0Ƙ„â`44» `DD9@{N %eƒï‹3û¢$¦%ìN[Õø¬2”Ê{ƃÞv‚ ‰Ûý¶|›eŒ®ù–åµFæâÏðè¨êDÜ òî[í‘Góº3ú`dd¨HòÝ艚k &¦²tÏ´ÕÊS…ª:WE ãÂÍ}”¯>夒óÓª{À§“·!èºÂª wE"RŸé+…f°fùs Šg#òÄÑ™pX‡vôì×þm•"9DjÖË„¡a½ÄÚ“¿?ûSþØå74g[nv=±e-<1öi_éc÷ðMÍ1kYÚà¾} ŽÁu¥ rÊf™|`Õ“t&ÀpÄ-\’Á°°¯.ñòÌ{ŽPZTañªK£ƒ’ræAêgÙ±3m¶fÉMâÍ®ò>þvl©i³‚ƒ‹Ç¡ lLèlÂ(õ²R{"ÝRj"u…˜Sž\К¤“%Ë€gß–¸yòͨu %C'QËùȵйaŽ´ÍÔ:< T‘óLú· ¿ YæÛ…û2 V5 2ý¦9/ùS!ŸæL2Úö,Æ<à=UAêÚÖ†nùºÑš=ŸÜÿÆ/«‘Oì¨Èä#áîщÛ÷š'<‚Ù9aùhué¨Q/+‰™HwƒŠŸrbJ[+[q@ÇqQ–ö’QŒ D/whvíÀÉšùŒã_®~”Ëþ×…³ i_k6ÖÎcä5FÿuUôTeÿ—Ê…™Âp§üçÉ´~Ïl…¦+Ñ7&nªÐÛBËgåßåHþ]¬WŇ¼^µÑƒ4÷Ô%•¹† ,öî›AÈ CîÚrò•˜S¿ëÇl,Ôµ©ÜõuÈâØPzFßX@¢O•iæÐ61t> ééaT8*ÎT‚¥Ÿ¯KƒxBeé¹°Th½…)^£\UÓw¬n篠œ ÊJÙÑrzíÅ ¹¢I«Ìyd0Šó5DÃ#úæ½-©è-ß™­Ã0.t;Fí $€ëJÊ ÄüÉè&ÑYÅËú]›0´ u§RïCmwyG;oq)3£¤ãŒ…¦³ bÔé±7µƒE0I9?d ¿Ž§î á8׊ô°87¹ÕüÙMPg®J<¢†ÑwŸÓ29UáAß €šlnäxªNÁQ•yÛnÅRWØXó~˜ä³G é;1 ˜âÒã¦Wˆî}FÎ .äŠJß;e;ú¦Z/Ð^gM[áÆée þÙÓéj"¶;îË[2á6>|þ"ÊÔgZ6å7®IbÃÐÆ_è–ùÝ=E[eržAb5ÖÒš˜9=²ÀÑF\½õ“ø Ôúœd>W”‚„¯Æxn7ɆÞ2d›Ž;HŸ·(ð–Ï ¯i8ýPÅ¡6ç< ì#æÍºwøQè`À ^AÍ;¾ú.1_ÁmE{p÷£æ]Z»íûÓá²ü’ ŧ™`%Œ;0*ã™.H[°±ÊµÓÚe‚d ­ZEÉMånÂâË &„Æt¯RµqÙb¬mô§ùéKbØ„ãã%ûÌ.WœÀDò·Ÿ¢&xÔ„ôî&Wº6Âü²Ñ Ï×÷ñú†*7?ܶC¢/l/LVÔ> á2Ð ½!Ù„…à5ËáÒê`wf°eãD0ˆ\ul‚óO¢æj“|圚jÄWbwr¸´t`D¿ÑÛ¹þ¾“˹™x_ɇ¡š(‹ïŽúIÓ™îÅ!26qÿTF Z”WyÙÜgø¾Ðã¾ ìE´•öž1Ø'§‚#Jöú䥊¯ùéï<«‹Ô?OQªny Ÿ *³ð´ïn‡%ãaÉ½ÐØ#ÂcÓïÁuÒ7E¥N$Ún¸»wqRç™ïC‰î Æ£k¥¬ƒ*¯£Æ;õбmM!]Þã/¾µ:z§²^Â;b/xÍ‘˜róäˆH…H6Ã\Xò˜÷»¡ªx¬øø)¸ÜÄ»ÙS¿9É̵ׅ¦Œ>>‰áäêioxraXñl»ÊÆLƒ«îiÁ—^AðÒÂö2Éï°[/ý͂ݥFKµ ñ t~T8…–‰üLÁðv^c*ƒ 9™Ñ¡~ó®ÞÃ-˜¼–<çÇ¡O¾°¥«ŒU`<]“öTÛøfN¥’hoäî“?jxm¡ÞDˆ®KxþèxY¢¹©þUøúY5[¿‹ |ÀÀâ2¾OvpBîdj(é bÝ$¦¸…²:C¢`Ðeí–Ï¢¾˜³CmšÏôUpYEûC„¥0"\‚õ<ýTSœPÈʱ´bIBEùybï«ÍÇM¦ 1"p~±þqÖ!ütÎðÿבÓ³<{_£ó^WoÿYŸ+­±pìÞƒVÐÂëuÆ*Ú^*YçMÜöÜSâju\¥;¥é'G+ ‹{*…8ÅÒz6étŠÿYÌ^˜R(ÛÆa˜)±´©á[ûîEð«î2{h0Xv¯ ji§·fÝÞA‰+ÿfIŠeªgÛÚÁ'@GRüIdsßtJ9ã-„&_úv¶Ø$"©Õܤm‹¤&]Ö‰õ<È=9d[¬ ¦õ1pѸÂ<¦¼a} =H?îMÙ^îQ˜Iµì7D†¤P4šu62ëÕ]êÔ*3ŒµËj%w'2=Æþ.º½;JWñ‚ü/¾: +÷÷U%óO\[Zç»cë8ÕßÖÓ˜1“t”Á>öŸ9_€›>-ÀUPyä·>†Û¨WÉ_pŸ‡šÄéŠGêÌe8ͯ[oÏ=žkM€Ãˆvói{ú\Báž¡¦¯Ç_Õ\›1sH)Ct>œÒgÖábÓî=ŸPÐü/­,1Éçl`Æö+†·âë©Xa+Þ⟑"E‡‚v‡†J?fk¢QÇ3F£]Õ²{¯d?c*‰Ça–iø‰ƒq{æK/“;ƒÓj‰2µA4áÛßW³)k³”þp‡cõ÷kÞ¾ÿª‚‘îRiVÕÑjƒx‹˜Ón:S½dÂÅœkÅùCGn šVENQ”‘éC^«á?£Øª¿òËüÙ\¾LÇ_Ù–÷[óZí.K÷„Á VT™Ëv 8÷èg=ôʯñÙE?æÀÓ°Ç£Ÿ2ö“âB‘§‘!ÚÒ!¶%ýss€LL©t%â=öÚîk”./¾Ù? iJþÅŽ:‰*u~¡É_8—ÆÝ)]d6´8"ÀÆœxÌ ÞWƒ!œ:|©8 ´¯%í1U÷©Z§f: :£.þãžE½@ƒó'Ø ,¬ÀÉó¯Ç=¨ÜŒµÚað¤MYå‡Gô†Ò<§½‚Vχ«ÂÏZä}• "Äs–M0NiBD=#„:ÂSÖ…YOÞßûç÷%Íju£Á]Æ€ 7üÑx €âןˆ+ŽÈO6¸ïLÝ~õ4ˆCRl¼s(½ÏeóÞèûþ|½†I'TQÈ£ÞâýÚ BJ-]=½"Å…Ž!ï¯Fè«®6x˜í ’ÈA.­r2ÂÂø}ð(Ÿ ­eZ™Ua£Ê,úÿhÄ.€ãßEZ=“òxfÜ©öü˜Ùûäi™ûN_íʰIÓ9ðxSžh]¯ÏÜ'AàÂVÃâ+Q=¿YЫ»îOPw¯0 Íý·öá…0)Bðô=Nƒ›Û¥‘ŠhQØ …oஇïßnǽ`cÐÓky÷YAnÖDscÑÆ´½ø½Ì Hðó!¢» @e# ;(Ož³xíÁ;îÙ¯Þ8–Ûˆo®œ_®÷,TÌ皟KБt*im¸ 8LÃB߈έ£Ï‘ÿãÜ5w‘ –E–ÑßJ ÌØL¬&1‚¨Éc}´ú‡¿i«Bˆñ:•ŸÓÏ5J]ß³‚™Ô@‡'"<"êJÈà@i‡á e)6f¬è9b&5ÆÎï7LD§—Ÿ «™Ký³|%6Ý(°þG~ïű®wki¦Îö­¤ ÀŠ(òqw©+ËácµþŽ´ íj=4à%T•úA”¤¼$ªä“:|—Ø6'HIÙkíº·+€äºôä]¥ö7ÐíW·ó8W;{÷V³®œ")zF6¡kÔ4-qy¸S¥™!3&­êÒýÉIž‹Ó…E AË5ïé_méËzÁ¶‹FÄð!å3›+º¦}•Ö ˆ|mF¸E—u"£“©ån½¢4Ò1ÿ$ È'‹Ú´œ®ç¿Åq©«¸„ç²ô°øÙ–Ñ+A/‚õ_âNõ*rÊˆŽ Ë”““ROÛñù¿ºÛ?ÑFÐ:ì¸6Ž+ÙÆðÏ/àeE£6"6…ÓÎeýuRÁR–-±nX†”+/þÊs3v  'û×2C—‚ÅÌèô9dñ¿¢*yP¹ØýL-aÄ |áG”`Y%*£ /&¢ûsÆ£þÔ•ª±nh»¯¢›ŸÁL' !“] 4®…Ó¹ÛL'*¤ÈÀoPûò&™Ï¸l6gxàbÕu`x9ìHyÛ—Oª˜Üåš Õ?4C+Z˜e/*@¾4ªë¯Â턈~†ààǽÁÙ ü“÷•¨ØFYèVë¼üJp j°‡ÑP1è=Ÿ6óÑ~Rº6Th²Ghª–Êy _­3Þ_¹Òy@“³rdâ"}ÄÒq!7u1ø¬IË¿c¯g—ýÀª§¸q˾PÝ(©¡plºO§ ‚üAχš{$›ïÿž‚Ÿèá#õ8ð?#ÜhžÒ6W~‚5PÓå, J°SÙ|_8çêoÅr¯/!FVÀÛ©~²²¿ÄÉøœžÎͱ+ÝðkŽõ¯Vxq Ë/ü}$s 8jæ7>FÍðÛ®mno{b 5y ÝóÆ­=ÚqœCÉÒ?§Z1Á+—¹à!u‡¢ù$á1SÕð$<äšñn.¢òtËu¢U%t}c ×ˆO¬p°ä!ny…8èa¨°¶ö¿t—¾Êïm7'¡µ„¡Ÿð­èîÈg5ÊÄ#2jVCfE(“)7Èy«ý>‹sý>Ž™4ÂÐIu`*öüÓ¬v:ot”ý ÄÃèR%Ü\Ê¥¶Z þ–®ô…œ±sS»5`Ðψ¢¶š}ŸŠ’õé®wmõ2:tL›óÛŽƒÇ«·î7à/±|¿rÆ’P¤5hd±#FñÔ( c ­ªøkþXÏüy\¡Ì’»œì©‰&[ÿÞ·Hܰ“$šYaèjË:@35N)‹‘`ÃeÔ’jA׌íXë0|n ÿ\© ]t¼yp‰Îì ‘tÿn‹® «%Oÿ “‘ªX’£_Êq°Ní÷ÌÐ×éú{eº­ª%)íPL ?ºQç8°ùÊB¸}û€*ð9Nm®ŒèÁÝ!&™Â¼ätÕÉÄG‡÷·»sq«í:rd£9òq Ž‹9„óÿ‡PÚvا@ ÉÄçæÃb¾ÖšÕ¨üB"Tƒ»óóò”“=°Â ù™•ÒÅG=ägäwÈÅ•h ÷$…,®2  \”å®Üb³.f"è Õé¢ £Ë4•U4¨K›TL/›Û'dTnÉ(ïh=Q8,WËJdC-p¯òŒã ­[Ç·ˆ M£µð4á÷ÄÃ(‘˜ =Àß9 ÉÝs³S gÖ.ü’sõzÒ8(¯„8 â`EC¦'Õ­—ìâ ‘6F7•câ€s¢1}7GøÜ&¨Dª3 |,'+ÞElVªb ié;àú LG²+£zk­Å<[Û²÷–²[‚]rÝ¿7|Õ!c3Z>åG«‰  U,–޳2ìÌî ²p ê[wiày:ÃÝð“UX)¶."p7ÖA“š)p¥±dn¶× þÕ ø$~åñ†“bLå"Ö¡3c«ïÕú•X™Õγë½€siyJ¸ ÕÕ¯ÇíRpp€fuCBp“·Uã,2)jƒÊié²ò´×9Ï;‚(a4FK³Zó²g?¿H 0Ì/°Â&³a ?ì?o]È!2ªí!ß„¼bâ"kVåÏŸk°(vOüùzl̇Y¿#Qù8WBÅ>)w‰®,R`ŠlÙhtâqùBðôóÚ.“.eîioÓäTµnd†þ2Hj´x…ŠÔ‡à‰Y;¼öd³u/Ç¡çbÀ¼µ³/’SãlŠmaP¸íË™éºÎ ˜A]wj±é¾DtâÁ%1ëlmšT\·Ï=8Á¼ [jÈÏ;½E¶¤‹ŒoñÜ~„ôŠßW m“!ï1kv´·ö,)^ h>iZ`÷¶ËQ 1[ Y,aøä–‘õ¢`dèêdŠž„›~Bà²T|=æ9‡¿ï ^¯C4SeÅÃ/îæ¸ë$&ÿ5~ŠBQ|ü˜€[|©¾~ê5¥7î?µxôŒCDãïbl-zŸ…JÅh¡&J)íl«nľB”ù¶-@õà] RÇÅëÊÚ3CBFz¬Mqu=›?†+$b— ×MÌôÒ˜p½š»Ãà î–»>í‹“Ù¶nìyb4/ÇU‘ÿ“-ÑÛK°*A ØmÀIµEîFˆœGaéÓMô)) dاҊ£#búMRi@JËÈ„³^dNš°g­ÄþNÁlè ý`É÷lÄ7F”¯NY éf¼0TïÙà'Y^Ç’“FµùI[ôOs8Á`º +y$׈ j å¹Ïžß0jHk.Uû$jP”i¢öÜ9;u¡Aà%‘v~5­¸0ß&ÜåŽ^ûN¨†éìáÎh"¾8ÇõeMärh ¦F¿×›ïAŽ›ñdË,“]5’”8oÑ|7€Ã<ÈT>œý·é³àsi—«<Îü”5`0ĩޫ?UúaaÐܽ;Ñ•3~4õAQš.½4}¼‰±ÚñóÒ'@g¬¡óðüÜêÊ,7“–xÌã ½çÓúµÝZµG ›åqÒ hèTL3œ/÷?gͯç¿©ˆó¿´ZhqÆzù¡>Ž4‚†û,9S•ÛÁtŽ ÉOAy¯ÚØ s!µVXìô¾ŠèÀ“爼PTdÕ-3“’²:Ñ‹æá©a¬4B¯)Ÿ¶´Çùþ·ê_z²¬-÷Ko`Ìéé® c ´LæY(J@-‰¤ƒýøû2¿ Ê´ïmÌÞe¢/U¡Ç¨íé eoÆÉ„'—6è×Å/P/3R{XÔ®%’¯áK^£O°Ìü˜èB¹D+;ÒÞ‡¾Z¹$Jo1ßTúBO@A'ånÁi,öؼK;`æ"ZÃV ÅDˆJÛv=ñ”¶S Jˆ¤˜{¬‘p8/µ‰ºÄnÚôknourÑÅ2‹X#Çšxý®ØÐ°¤aQî¾ýŽV÷ÛA€—…Ñßœ”Ó­zª³†ŽÉ~ÿéÒ,È32ÛþàóæÓ 0«@Í5ÔkNµÿÖ? VjNÿd1+$ÑPrc‹£ÙÚp;ú8]#œm‹mÀg¤)‘ȨÍH_•ÖÛMlÞºÔ)-Ž4?Íú!™³S‡>³Ï;Ôu¨£fõrN¨j2¬Ÿ7É šÞ*3óC`Ì!õw·Ì…W\¢ÔeÃ5ùÅ6”Œ?ù»¿½kÊàÔü.Žãœð¥5Ù!TnUïé”õ¢ã\ltxÔoÓÀÿ//k@(Îì±Ö’ ;+'²¯2¦«WDGMÕßSç‹¡Ðê€Cl•àsùÒO8°À3ÇîëÀý¢{¸tqöZ)¤Š2™ÂXû¬O{ãÿXl™?ì·ŸŒíª¡:54óLô9„ZYЀR@p½ìÂÚ ˜!‘ƒ©ùì_Aõ–‰ÍoÄÑ‰Ž¥6ÕtÓÍåy—Žùv<Ãv•ÐÞÞ°3q¡ýZË-2ʼnͶ¥:ÞŸlV¥û{N½[j°ÈTC<*Œ¯&Çב…šåÙrÌ‹ÉÛQ¨Þ‹Œ¸ye&=Íë*¡œ­¼<µ„Ío†`žz˜4Êæa”áhüÖx>4~Ð'}`¨ÊÝL¬/SŸLçbƒ,8õž¯a·?[A 5©Ú«ºÉÝ›¶Ó´êY™ZìF9ÄJ$l`]Ï’Á§ý-A?ôµ\½¹Ÿyk–j±’Þj;*sCq>¡²2™Ÿ0yTk¾ì{pz£µi#ªYes£ŠO"1“Nš*dßÓÉÛœ(ÙW†â6]’Ô~FuÙ.fBGF‹ª^^U¦3÷j_âkFxx@YDð)íSžB-<’¶fÀ¾Äª½¦#¿m·o¥:}5î:{!£¢^BgèXž‡Âë8©bÔq0‡yÕ†^.iÓîã>ùé'ÌGõÐötŠNZµÊDÃr»Ž?såñ˹u/é“þä½—J"bn”Iæ.Žá¶-W†Ï)3%÷)¼Á Ryš&Àóš7¨H¡êkj%pÁÕÐÆªÄ˜Ñ¤Ü`#ÕªqˆÁxq±VŠ fŒ,Ïlø ™Â b¥ß¿o,‚á‰Z~kxàî¹Úù¦5käPV©œû°ú–t Ëa.‘*_õuûú3Ô¼Ûä—\t}ïsä…ctëÛÂõÜA@/ ÆÄ¹/™V+WÁÝ`Á^ÈŠõ‘=˜ˆ&ODH!xך\Â÷„ ¥ôCâºöÏ6Ût°Œ¾ÌG¸øwU(Wßï‘1OØÏdj¨DÔI¸—$¢¹eQ¨Âén†4…ÃMíÖó0MË™ÆEýžRÎyìΟ?Eªj£³‚º…‹åÃü]©ÇËCwüø Kl½óÔXBŸdÇrªF!A£éO#¥ø÷0'ὓ]çdÖA“7wý®½X°øÜ‘¬pNL³T ˜²Oœd’ã·x‰³Œq§~ƒ™ð2åBN…Wé”â 4na+ni;< †=CCpÅ´â§Ý@ñ¿z§dµÎR¼~ãO€•¯Ÿ©•Q„WLÂÁ>'9\‚­ïØ«®ûåßÄËš!šïVYd¤¹h ØÊêB• ¼rpê˜#ºåjEd&ËÔÉõ«:4‰ñ¯ŒÌ¯¹=s›âñ˜–Á‡^Ôfª#þá8Cás=ÈË}deüÙ:\a´-o-+ºÈR­Š¿ôiJúeÓ…0'I’HD–ÙwîF’mº¬òý°q¾³/Ô0‚þDçë @‚oZ=ñ‹¶œ^¼ÈcçÙÅýkñR؉Jè&RÂ$â á!\o¯r@—op*×]©ûØ~3e‡´Ynt¿Š‘*7Í1ïÔBD‚ú’¦Ô3‚ÀÝ•jwÕsU>Y+¬¶;#áZŒ2–ä °bU­õ_ƒ!R×IùŒÑG—ò¯ëJ‘5mØÕø&I…ŸBvƒ›yÛÛÜ•1À–Z>R›•#Õ»x–§L²?tnÞ Ž(?ø^uCù×Ëd FE‘CEMø[btZ[C¶NlâTÚ¿”6ã9kÒf+¨i ›É¯4´ù'è®o¼5õ§¹û׬øöM@$g‚™ï4FÚž6Ìý›Tì ¤ú0yò«Œ€áW[ä‘0žàݺƒ 7Ô 2º(¾â>ùb¸ÇWD9ìT^áfê19~fy·ˆpøóæ¾ÏûC‰í;*»ß,áýe¹®]ØÓÿ¹ÀX³ÒõDm•º÷.Òh?/ª-¸´ûVà”á~Ü|'A…/… ;Z¦üvÆi¶ƒÿ–é¨PǵOòqe¥´Ó23–c,)³ö$™½©YôQ?æ2-g&z²ã<»P„8ùF9Ìù®Ö÷sýSF,Š’°äIÝ“4I:°ßP­ÚøLü^¥gä!ÏØu,a^S•œ•6F V³x.'%„Õ°Ì6#+ íèÝs|ŽÍ=ºãï  9híËc‚Λv¢ñlÈc Ì•A°  +ÇÔàchéü‹ÉÔƒ=ÂÞqn1”Ëdƒ¡ßÓaå‚c§v‹vð:ÇÞdOúÙV\j¥1pºyŒƒ„™ÈŸê«9ä6µ: ƒGÔùºßP2fš%ÇR}†Øíþû@GŠØú†9®¦½ñÐ(8>+'Ü58 Z-äMÕŸÛ/çv¶  ô_¼]Õ›zì•—ÿ«Äû8 Vôñ|—B Ñù¯ 9÷ âXãõ#MÇ©(äCF}nD@AK-ÙeæÐ¶0"ÑÏBÜïñ°,äL™‹£\uiÓº´½I‡ò¬ŽØà`Ú[D¤‹÷·7 û1v§£ÑJ=lfÔQY=å3פ„> ²sD»"†Á/)ÝJ¶%dk™È´cn—@±£~qÌ=}µpå©,+³!œoý¸JV¡›­'ÑP( e_hÉ<ô3%>›½Áßjî¨w1MBù?XíVMV-WTa+ä`°’/E’‡Õ´çNB±§ÉƒøR:£È ë…Ž5… Àr\`ÝFMÃãÈn²„ÅêÇòýOÒ%Û\Ì£Ã&®I‹úžP†!?õG¢LxÀ‡¬rãÏÉ£õÞ´ ÒS)IM¤ÕYß…hfP5éÊ Å¬WP›ôü}‡N|fŸ)ûQ#rySûÇ3“`ktÜf30ú¡´‚ÂoI‡ Ì‘ŠD„0:%;Ú|*ª^khl«›ïö­­®yœÖÓÉc7Ã÷7-×+V€‰@„A‚-ÈáÏ›áac—ÄvyŽÉªÿ„L;BéöU}ðÀšßI°ähœ·Af›îJކU›€i†çCéŸ| ·šÒY¸ýw‚%…›]v”ž»Í¹<)"v°8OÐS s¹–`§ú¤lt«Û¹1âZoÁKºA%ýD$šÉo· ?ÁƒgÏA{ rT+¯MC>:é<Ðúæµ :»× ]âXnñ_}daôŽ‘%8ÉÁü`s1b;Ód¿4¬‰Í]{  ^„šËC N ÌŒV1ÈP}niæß’ÍY.>ª~8ÖŸ'‚QÄ!U®_Ñs@Àã>Øa} «Û±k`òD¾-àÖ”i#ÿZ3x³‚·h¾Vbal(ÿY?ý“ª ú—zÕ­´¿Øþ¨ 8½±èùègEðR®éôOc«Ù‚(=œJ‰!·xJŠ-®¸óâiGb{bÑaŸÂûVþÕëöIjþ»Èì?EŸá§*òˆ²º¥µÚĦ¿ ‡><T’94ÕkQæ»ãð4àƒ0í;1«v´ìÐ6P+JØŸEP¼Š¯|¬Á,ÉQÏí&îÏ.' íáGQ…¢&=£K0… ÃÙÄV`_—î]cºJ ÈŽE×âo®Üp$o,‡.\žßs?šJm¸¬×b_ª?0ý)&~éÒV¥S貇 r¤Ñé:-øÂÅz¼µt6°õQ"Ê‹øêi©kj¦]„†,³4gפÈÒV‹Ê†~ÝdDÒqFùy›ßaÉ4»êØ ÚÇ¥ÐÅO‘Æ ðæfÔ?DòR±£)*}àŠz"^¿¹\¤áABStåUþA$ÖdßÒ† !ÑÅC8¦)¨b&¾XÃÎë~5Î?¦ÙÀ±i‡ùêk¬ø›4¬ÆôlU= 5KíÍ Æ=ªî>fšµ=̶˲½u|±!‘›Ù{ˆ 4 ëôaaŽQ¶ø‚‹—‚z–²d›ç陫,ÂÖ®uTcÑ¡ |&å­”KmèÒÀ{Bï/²æª8÷o)ª“}F‹ÕÆnÛ‚-û²7¨„J¤È­Ï?ÁÇ ¨Z(%âyžN‚•/°ÐÓ=Øs0ÛoÑE€¥‰ÊR—æÑ%$à NùßúУ¸ã†vkTFÔ” ”ãÆ—¬ÌLáìЯkfŒàÄ«AfÀ5b¶Çk€‘‘ñ&Œ€}4¼t#.Q~·hÖò¸P§î$?#Ï1’¥¾{pÞï¸ ©sÞY×hÑÿ&TFê³ß`½·rO QØï©és4iØtl‰*X^hp“Ü(·_É^óM `„~…AÉóGN2m’ËX÷n•ßþJ¶ì5¿‰”¿ßgÄ®HüHY–\Êñ2¢nq‹_ù·o„ I—D{•¿–îV]L.®÷»hÀØ<^pIßàL m•Y¨;ËRüÀ#Y·¨Œ‰bä c„÷]oæõhÇS-hÇÿïB’¢å‘̰K¥`ÑÐÀ¤¡HNèrîx¬ I¸5ì+Žï<™×+¥Ø/cǦÅöIÛ€ôr²0gQÖ€iÞòm“ÀæäûÙÀu€rÑ`”ô CI`ylã:©[ª {KCŒÛWÛù^– ÿ–ØNT…*ÇÒ·S¯øéÆg*Ó&f’ûšOLpËŸ„Mxv­þeU$eï×ÖÊÕ_Î:•j’3Wª4¤µ‚I%QcH®ï¬J€öl\ ”C®H‘f*ÀŠ}êÒêBãí§,Ûøsö1»ë§¢A²ÞxS´ ¾lœRG~êàccD7ô^:^6?ä ṩ>s; FÞÙË~}!1”+Œ!^µÎ‘/j«Ä1¹{ܼE׆$XY5ÄûÞ^qx—* :)’ÑæžâÄ•‹]0ƒ¢b\Öžòâ1]t‰Í4(Í¥fch˜0•@÷p¯™äöý¬…¢Ä­Îó8j$ÁË.¨¤7ùí8G굘žr„ J㹑¯Ø!¹~_ÁíLá†AŽbn·àƒ(è„‹ñO. ·Ræ-ãÙP–þm®¥Ý¸üóK`Až´ñãU­ju쎲—W™o¢í»ú& ¿œ_œ’ æÜi*æœK ñs„£8ÍÿÀÀfpÜm«»\nîÑ1ê&áÁ¾ò…¨´œ©895¤'î¿V¿¾x0">%Ê3¬w:1­AØ&tú…——áÒ¢\TC~¿æ.×u»Ô.÷ÌkOALðãV±#õœ¢dáL³ý‘C¾13¥æIƒ!žË;ø-jø«_ÉH«†6ÛÇ:$DKbI€ )‘1jÎ]U½0;§½`¯Wç-%¦ p²á :ª ³ä?Ã4p-T‚èÇDñW9õŸ’µÒë \3à”œŸrl^Â)÷S—;¸Â—s¸}/Ua²(NNçbæ±WGàþ¦Œ1êÔ!ê 3iq{Ü*úωÍì2#ÅB<þ¾Å9JÓP2ϧP GIÎ+ý;Ü÷üò’dÌùP:›Y 1g¤Å¹‘aÑ›¹ãül|zNjKà ä‡k™ra·¬“¦>îR¤«shcÔ”k ýhœëjâJÅúd¹ m¼6Ä›ŽƒÕß¿q.ÏFÊ4T¹Æc¤¥ Ò(rùõ8µàøÅĚͶàí³´‘¢i‘ì0,Uày ËÄGÅõÞÐ¥ŒC º;PR Xè[…ŒãeD»µ¬4—$Ô?I®mìáº]€s[t?×…ò>1NåˆûF§9úï¼q°B÷§6Íð7Äî»"jÚ°s7_ÿ#wn½*_Pü½z·ÃÌT¾ÌoœtÌÐ]U<7g Iæ?ý¶ñ,È.g á†å2µ ö*)f,D’{ ¯…‰šO4·Ã×,™²¦#0YWƒ^,Ñ}ÚˆSušy†AËåíqör³á9xâúÒ¢+ˆ|·4”±õ·Z}¹É(_àJ‡¿×j<9L¨Fëd_pÀ§‚¦CÿRÿ‚Ïðƒ KEé?ÅÓ„ LR‰4¾!7Éz8bUmÄ×…Fdg™êœgN-ä© d<…7,/$‡ïª"ô?·Ç¸~ ­;. ½Ã…¬¢Î¤˜¸Á³$Éô…N˜ôIĉÑQ¹š»üÇíçÙiX.…xAe…ZÛG¹ËGR&@uö@§_ICÛ¨Œ™ÔϾv®#p=–ÒÇÇ4\4Ëá’Žc™;‚J£™”¬9T€àd‰Úè<¥ 5Fid?"+J~ÊÑNýf¯á¶ €¥2³Ÿl"p-¬i–ÑüçV¶sßéÌí„›’mèkW° èL5µÎ]6Pºtr¯½XûÊ“ÏhǾaaþ* ®X”aÔÍpüôXî}ZB"ã¡O!'B¤s^Šk¹ [Ìc…m¾¶÷³n4Í`ºßJÇRÇâ?`Ä8µ˜8°/qCSìÆLÿD_wÏS™í þ˜8R¡ê ?«G¦Å")sá²V©?);ÔÇC宯Í<«É][ÕÑt$yýÁØÀÍåT•où<ج¶ÜâØiS/âC“Ô(çTÂçz „·÷P1£Khv‡.‘ʲˆ¡Æ §÷˜+jTe²d¡»[x‹[.TsbÉ䆖Á²¬‘x× ñôÎ_ö‹|ì=™¯"ìeBˆÅ;½kEBÝýz ÷}eY}Ñ¿!÷ÀúRaQyŸe3›0 çì{Xnup ÷é>]·‹ÏË °*„ÚM»¹{­•^ßZ(±¥uµN2B 4Ÿæºð´_(tO³SÏýd~µª%/Ïîì7¼²~ŽÆ|9Ö,ÂK¨û™ÀLê­þ$åÕþ…ìÂö>‡.K’©onâ5.”€úÍæ",õ„¿‚º,—4—ª2¦M—³Î1T¥ƒÓ"óõD¯ðýÚµÙlþòÝQ–ï¥"‚Еοè>Ì ð¬z%¨üežØâ#îþP†§›ýèÃ8)éPÄ¡¶÷Š+M¥‚⦚Ö_aÇzAeŽóÈ!ƒÐŒAiêb‚’Ì5€ x—¶î‘ª›½¹G1 »YgT:ÆÐ{7ˆ ÌäÕÅ’¿ä!"äj—“ÊgûÓÛO /3G l0ž,B°–e0ô“@¶]Do¡.ÍߺI«m´ôK`ø¸ÝD¢½é¢ò.—ššKåAÆ ÃN‹0Õ>Ô1/k–¤ eh€3E…J¾¦LÊý¨ù‹¢ï‡KZsÊÖóM&¾$nª¡'W Ò¢ L;÷ÝÆ+ÉuÉCýÆòÕ„t¸hî0()Ã|µýâãÝ<Ópµ#¨>¹éGꯧ‚ÔdAØŸw4ìä7/Šag2 n‰ gþ qÍŒGÒÚŽ&JlÈè)®Î„ºÏX-FèÌ0³}ÜšŠw ¶éÚñ},ÆÁ¢ Ø“&·8…çÿÄ®f:XäHäì:öœJ^‹Ä³JÞºi¿^4•‰‰ÉºH¡º›Ÿu4Ë)xS:bQkÈ܈ûsÐ3ƒ‘œÈ´! zÓVâ Ê··ÿøkäf;}ÛáÄ“²¶FôERs¥\4{}c˜ë ùÊU…ù´¼sp(jN$ãõr0 ,GAÚøÖP­z3 >? ügË~E‚Ô ­ê—`Í[YÂöºGB ƒ÷ è[€bmNáDb¶Gè:&È P¶üsÒ?äC²}! “‘.t©€ÿz‰d‰]Žw5úÅ¥z| ¿¤ÍkDLÎ<=ŸüI²Ò“!Øè;³R) ½ÅŒÊst ž 2á|¢M€%ªª L!?"!ßRl›´G…3D¤*pÒ‹å~ÁŒM¿v§ü¼âCRùåˆè‘®¨öŸ‘’kÊísQz[4‹¿€Ö.ƒýø1±ew/j.´„Ó^ɤ­œ¸"jÛÁî3?Dz~ŒDi|M‡[PENñc\v\dš’¨jš#³ts ì:Œ¸¢!eO‘U›{Äâ ÒtDör*cÊ(+™°í}«ÚH f^ÌT–ýhÜPJ=R./t¹8Â:¨÷‚׆=zË%XÅ{Ôé{þo5K¼/8ØÀÎ2d²÷‘"†Õ¢P^åVn•—ý†dÈæÞ*9Âq¨òÙÁÎ-i‚Í<Óˆ…ï·IßùD¥°Òžº%gÖí>‘l^±0…íËÌèh5'xL“L—@‹YëäEÚ 7v¾ý¹#¶è4Å0-`“ ‘Ô×½n¨„è̯¢ž4î4S-©ñÃþ±o@ëÞÜÂ].&rF’fȇ.³‚f´qj—ŸÃ¹Ò€¥Ï9¯9 ¬§Îy\9–ó9ÕÀÎ]0‘è-Ë LHç)2oÙ:Ü7e'cT¤5”À-•Llº%ªX‡‡¹Ë0×¢h MÑà“DrQÙrçXï 27È30Pc¹õ‡ªê+¢ŠŸÙA»‰/Å_¾?Æ»*ê›öO¹™áNåWALATÚ¾†´U·µWW;Í5è7å¿4ê(§fø\µŸ*`#µ&úÿ[ÿ8•+kA†¡NYk3è)Yç|…LÞ¢ÿŸl˜ò=#̧}X´z9{¨È£3¹å£$WtH¥ÃØT5‚ÊtÌŽþº««4iÐpZDÈä Ò~rÚ?P–ûyÉbÅAeZ‰æ£+e_®Q¹a>>FTýNÁ;'Ô\eé‚ÿIþNS('ƒiú9¨sI¸eé'ó] •¹éèBcwDòû1P ¦Š¸3mèbVÚê‰ëQÖ;±JÝÐY.šÅé{ÑU2ݼJˆäŒ9Ó'ù¨ 耄åøÃX _u%¼MæÄñruÚÕ6[`Þ}žOÀFº^X+Š‘étŠH““ ›Žö™>2"×çÿ;r1¢ ÚÇ Áa†:šµÖ„ÊæiÛœÓr“t&—š½R)£ßgÊI¯ææ g•ÜSk#a Ξõ 7ˆ}ù0—­ëaÅ®ãpŸÆ›dØÆ÷âÜá Ê\AqÛ1H0a):Ñ´ëàmڥĠP7Ìé,U°^‹g%†ðØÜ¤Æ:eéó[‚ –t–ó @Ä;œ(‰OËß«H pjò–T1?UEÁƒN\öh(y»(éµzCV"º–DZ=ñOÍfkÃ_‰i,ƒ…É@D—…"ØðÙCœIG¨Ñoì)’9ôp¯4UéZÏqÑ»gûºx=u3âÈ+Û°ä}µe%HŒ~N¢Ä\g«‚’Þ0 ƒXè]Mn~ítÜî)Úú+JK]wEœ©Ù;Ü)ØmKú»E=‘•üàÏõ¼o*2ÐÄèfˆ'ìN/lVvlt‘ß[cDw®^‰´“¯öc»;ÙIW‰qÊ€âœÌ8»âQž­NîøÆ¼4`*YAsÞMÊ\.>‹õRý¨Ø~QƒØªøIs¸AÉõÑy !ϬŸl2Õäé=01DýL+³²ÀÕë5%à×rí‡AÓ–·}©S÷µ¹wiq8Oœ¾IV‹˜O‡®,·Îu€Ó4qj·jn‘Òøn#¸úSn£T”^­tdç ìe¦?OC^um¾jÒ&—ħ³“­[eãÎ)kÃ)¨óP6Ä껼sWþ.Ósâ®ãoüÙçüÂ%ñšú¢h·>åK7ÝÏ´ˆ‰’æ<^ åÎûVþÄ/^ºpí@kä×Dw8ܽ¥©–›KœYð×I‰ÓÑz>Å.ÑËS4·/§€¼¾ ª«…hòª·ß¥U…,\>?æ˜+T[3ê…Z¾Ã¸uâ&”àDlOc 8±ŠTÞ³˜3ZºbŒe+tY(¥§·ž¶O¬šÊOå VŸ¥æ[¿†ZM^ ÁyðÖ³RÉu=á5žåjQÕÀµ¼¶Ln£sAÃè·ë{ÄËP†‹¯¹Rãd’žp5J­“ ‚püBrdj5§=טCèv¡+™ë*—Sý&:ÅÜþÈê8§>¡´f•Zó³ËSîåÒg±ÿ‰ö渋é!^=sCåÛ§ì[ ¼”Rß^ßÝ2¥²Bx<ó&|eŸbÿ ­Ñ€ª°mÄpT1ÏEJQß:-~> è? ¶&5¬9GU—º•öu]ñZ¨ÕŸì›rùàô´•pBHnÛÅ5=à Æ.Ð"öi•!`@°R«† |Ï'¸ê]ƒP•Ç¡¹•p_“Ê[Ã?±QýÒ“K-/5êu R¬ß|×ZcF `ú*|¦WàÍÛ ^¢¨‰ë† [õÙÃOÀ°·'ÑfT]æÜaU+9~&ÛJØ K=­çÐh¨Þ눆˜:€âõÈ6>"Ü ú À+.^Zš±#ßM¿lÁS˜H|b&g;EÂhÕ‰úìÕéáж2Ò&E./”íK ”‰b]hú”…pwj|™ÞúN?ËÑ 6Emß )¯vÀ 9jÙ@ ¿~'îï þHJéx¸óµ%±Ì=å€ÿäÜ]·j’ÌË÷X§ÓkÝzát7ÒínÓÏ B¶Ž‰Ð Íð+ÆxSª7d:Ý¢F#~Ø2L͙쩆Ð×:¦òr æ›à9Ð8=Yìz…,3ù­åz*î"Û¸°CžŒ¸p;u§¦éù²Afpn–ìPG|Je›[Ÿ¦ ?D±{¦*þi±;Ìò T4x„X¯“"­»ì§2Uå\ÁwòÕ‡aÞ±{z“›Æ»3ÿºÖCöµÛ{.´õ/|ùßfFÁ·ßNÊ`ëU'Ûk,)½§€1 £( r΀«Ü-S·¦'L}ôçšóXª ‚\ÎØ÷Z1ç¶Ä©ëô ÏÌQFbÔd¼-&µRtsàø K“ÓËFä$®›½RÇâí¼©8˜SŸ!›²^Ji¥¬=ÌŇ6ÖÁşΜÉO°–˜G‘åºüà¨K—\ª &.ÄwŒ¬`…e>®[ vÀý‘\kˆï¼ð‰û£˨Ôö®®|»Òr´ä£Ìùxh\Ò…ÞŸüÔejy-ìf.LÊ5qÅ®îîúÝÀAq!¢ƒÁ4o¹P?§JkþߣÑh§"ÞêÖT=.¿ü¼e¹œÉmÅ~©AXf z‰²¹ ÕYÝðš“¡âdx0 ¶U6ÄÑò|»FÏB\æRVS½çÖT'’5¶*Ʊ‚¼#+­M03æ\GßUýHˆŽIôÙ©'¼ i‡¶7Ê€8TÙõÇåBSÕKU3ÌG¦3}>E°?«8Þ']ï9Ü1;âê3ç²,2{2s’};Ù¡Œ?\à®[Pƒ¿n'»/[› ,¦ˆoã?*óaŸ‚)¨±—‚l­§:z1œÁudú×íÙ.' “Àg†ùž€œ ŸøÐ}ÓÀOöQ«£Tzæ-01µ¬ÅU´¡™^QÜ¿w‡a,€‹ï„!›ŽÙÐïüMšÍÈF”ZFt9·…õ$¯ÔM߉br^SÌ^]ˆÞ\`Ò¹•1~ê`FZ¥×EmZ|ñódª3.³º'à”Æu†‚qZeÏ]þf"5Ê[O²Ûí*ÃèžA†‚'¯¨{åŽÕ‘nú°^BàªÃ‰ô0‡«ajÿþ9²1ñò%*Œ”„S÷b[-²¾FŸs4ÁÏ qeÜ`u" þA Cö+ª q]P*‡0­0[“ç>‘ÕìðÏÖ¯ÕíOéà$On)2w˜~¬°ŒöïÊÞ@!´ Xë:Y”„‘‰fhXâÈ¿ù`¨&@ý›Þÿ;4t~›}Dº6»uBS³nAZ%<Àñ8ãPG“tAä-STy–C7ýTYëMLÑ'_pMV>ëÛ¨âü’QÒ=á÷ŠÜi¨§¤†]¹žñÍ>¢Éâøsû1õŸ˜¿U ÊSt©èð¡¢*â{ëEÀÄÁ×BQ¯:q\©S4ÎÖƒTÌŽ?–Ò¦n›ôAV{î^;EúËàÎ…Ò ®y"ב 'Ý´AÎ5|žR–ù:ŸËU³ÃÁÏ—oXHYWÊQny™ZÕ©#š €Ü§˜•¦’-+“áFå×éšJX÷Š”¹™ut½¯³¸kƒ ©äYrQs ´îè/ç'[A¯íp€Ì;-¯ŸÑ¹˜–èZ[Uœ>Í'ÝWO'ÿÙ‡^óY>ÑÏî°&ýfE‡í¿d·ìr*3¢îçP“Õy•ñXo-‡R|6ÚzZÊÿ#–Õs}ëéž_Sà<'¢1ÔÇNTgÆqÒ>7&#Ýò{ÌC¸Þs#Š9„ÎÀºìˆ%h-–æ]4˜dŒBX|€PÄò@QDÏÛ;™ú¯Ç¿XÂÜsÐÅöÌÆÿ1À¶ôÕê ³¯Ðw+pÉ?Úû÷púmT§Ÿ[ÊÌ€¤âÏ‘×_gÀùí¿×ÑðÈé' MUªÑ'eŽîjRF‡Òªš5Ú–}`åG¦?Èü® ñÝ'ÔûÃqš¯åz™EŽ*ŠYLøM/VçÖiÿÔ/’‹ÚÙ¦±/±±Þ¼¸0¢®/…ôR+1رi¹]>š:í®>ž@ªz؇È&ÇüF;3K­“œD-â$Z¶C /Gë™×²¥)>Þ,ã|¡¸#'ùòÃûo}0¯¿þ ¶Â6¤ˆ[dÿA3¦3úµœòñûípálöÌÐJ«$Áöò˜¦ÆâCnÖVr÷ÁÊѬ¸›Ýæ?þ™7Áä$ÎlI,èžT6¢æ£Û¨¨^ñ‰¯»&eC ìµEŽŒÑL|d°MÝ™Œ©$åòWlîÀܤâQÒ|œÏý÷1ŒR¶QÅCþbªâÿ¨{Ü}×~'cò=â£HBf}&’!˜F,À³ µHéÉ0ìÇ«õ/^=íWé¤ÏaÅ¥« ²ä›î¹QümíØwJ´¹àÇ–Á©ÙÌ(æCÙº7…´Ìl¯“)G—¡0hú’[‚nƒ K>àí$)"έa£è(MŠéÈjç7ÀÚþv¦ù¼Ø5£IG}ŽN¶B"­þظôÏûbðÖk)¾Xò‡ŸDÕ’Ý®ùä¹@~|/¾^@ûíšÙ¨u§Á3¤ËJ‹—.pXƒàbZ‚T34Pð¨Ù€¾4Þ¬Â%)à98¬^s]ÉZ³vÑúv{Äçä^s³à çÑsŽXŒ8ƒŽ³ö1Äqr’ÜXÌÙÍò‘Jbbíí¥Á“¢Å€’¯Ø²‘A‹ õ\mmŒVð1+óûÂ#ûÂ1—“ßl#€ ¦öŠxÇåx†jj|œE ´ÅÍÑœWðI—ø™j7à(gX4+à]K°ùê(Ô‰â±Æ&tu$JÖ*âìµà1,îÖpº*¢MÈÁÉ'U‡ù®iSÕ©‚!xÅãªã YÈ<¬š]¯5¾ãG^×ü§õknÂðŸèï4ç«¢‹OÅ ãÿäâÇ©„™sZÏ83†æ5¿2®×¢SDÓœ½À|ë“øÇôŠÙÅÐ4ÁëfR'à;ˆ·‰Êó†œhM±Q6k4÷©d†{tW7èÀwºOv"M­ëÇóÇçéBy³p½]],þ¼ÀŽô±CijÑ\ʇ«ÃîòY“RAÄI ¨qÃ&™ý¼p¦ðªwŒ?éâU0Z®3:”(Ù²wnÁ"=uÜæSI+S¯8ˆû±çà< PèâÐÍ€‘Ô”¢ä€¶tŽA€eíK%¥­[^ö)»J6ƒFŽræ›L½º¾U†;0†”kéîGrdrgNŠ“wö|Qÿ7›5ýïV·±b3á Á»Õ[u¥IƒGX¦Mä‹“bý /náIÏß§MÉ¿Œ-àÇ›aEßûÿ¡MtÇzþ¸¸6‰¼\ꦈM09ý‡ñ/jûç@>òª<ø#ƒÐ·Ëßò'.€âraè•vFÞ5o—oj”v¤r=~&ÃÁ³QA+p@ €Žó$ªÍ9íí>§ªQ ¼Ÿ‹¸åý=TcDF,ÞÑŽå~YYØÍÖDÜGêK&M„”&÷]îËæ|VUjsöÇ¥ÈdvNj>ÿº‚N,å÷uÖc ØÌEÂÍð¤B%ê?}©b¹ØôšÛ\÷É!eCùNcBÓ5L|?#2è1r9¦·õ€——–vi^å*Ãs“Ɉ7( \˜Ä.X²×ê.fôU+bç nâ%:àÈÛ*˜øÿ\emh¦»9Y 4Üê×%õÉIWóTÞ–z<½5B¥úA_º5Ò‹ï”Ùr3¯¶Ô¸Å0…VMRpl ¢Eóö·R´T“#žk=iü[™W¹Å$öfO8g±¯—¨®ì½xs4ÆÒ‚î——œ‹e·ïs ªnåѺl½¡1ï˜èLw(o³‡kæð p—ÁËorUñË ÆjeXÖé6CTÆÒ–¸TÄàŽyÉ‚2vð§Tƒì'Ë—:b¡*ùw—°«ùkí¯…½îµ¬òKH /Þ0{ŸC,[-a\zî„(´*$ñ]¾¾Õð§ê¹ð G´Ÿ\‚¾‰vÞ,Ÿç·k¨~›>¶CÍÆ •Žn¶Ó¶Kjs[Ê[ 'Jò‘’u1HÔž’Ç@²köX<,Ò?ŽÛ[Ê&x-ÿS¶´{kÈ)ÝYOF6ãf¹ÉáN$"IËÄ ZÉŸ{7nR ƒ®Ÿ­²s=näÝä”+•.Ðþ(FÅË×i½È…íÐ6ƒhDÔ0Måeá!!´^•‚n _‰Ý…Å¿(4©VW!él[ m¬ ßõmþ¡b±ñ)6°•öT @Õ9 <ô!€Ø,3¹³¨Ì*µ1.¶€ƒãñ˜š‰cp û¬íØ*ˆó7c™±ÃÄŠ0|˧”Zã­_ì¨UÍ®´wÀýÞW@Ì!‰‡X–>ëÓÐå`‰&~â©6¿~^ «ƒ‹a5vg$)Ú·*‰Šä—"Ÿ{I±€SÄð-U#h¯ ýÖj\ÑßoÐ6R¡o1’‘Üx¸’ ߬¹´ Ž³ïÆ ‰{#œ‰ñtì-fäk’Þå=.Ì·°º­SCËþƒÒ*dN´cžÙ¢òÀ½=|[(91ÄwÄÑ«ød$ôï„"Œ\óµ ˆŠ|WÙ:Àií«Ög÷ŠÂô2%ޤ¹c­Sw¦[’ð}!ª.ÇF¦`]’kg‚N92·¡<=Qñº9‘«…†6ÎcŠˆÐ¥®Â Áê\Wz.™ð6†ëÚ Ùr.ÈZyO¢´9¯õ ¸B n íø|j¸º‘Éß­õ~óz081ž(WËÉÿ'Û Z@.Ø\›[lÓÃ-4?Þ=«Æžs^Ê”©Aµ«ö{5œý§Ô”(Æ4V¢çf¬$wü(óºm'ˆ«]ˆ Iðš×¶§ØØ\®ºE?øvù©xŽ2Ôøp*_mÕ`^þüÄÙc«—t‡åQïRD1âkÖ½ôãÃyuÅ-ží†#¢U:pf¡Õ«uøƒCB”‚JcÔŽsõþjk©`ìúÂxÃó³!å’°dCÔ^`Øà8­aä+x!˜îy/:íïăÇWnv«ú&†Ìƒ\ÖBé**£J™ÿç¹²Ù‰º8wûÒŸ¸\ ’‚†ãð/}3Bëiù,Ìf¹HH™c.ª`jh8,¼¼æïnmkáD» ³Ç…[pÅ‘0ú’†Ù¥™03›Þ{Y7ù‚=â®ÏJØj]æ°ãítôTÀMÝ6µ­~VJ†©^byP†k#sN©fX÷ÀqùÐÏtS¨1Y&…Þø !ÁŠ Þë!¦`D&p»?ðbŸˆ|QÈV…X< ÑàØ·bþæŽU”#Ç|N"Ã`Û‡‰°"õX:sã/-µh˜³ª¬ Sºä)õ á3>‡o0Eiñÿ|õShCÆ'ûcÙ±îÁq¦-x¢6ï±`‹ö-0C·b3™ô¹®4ðrF,Îñk ×¡§8À6¶ š†óž-•Kï½£€½[”´÷K®à,ãKòvÁTÖŸÄ`Á~£‰8^ÊfšÎr³òdFiàýR ^¼·¾çí@=h¦È¤lõËI¹fáR§½yX%ʘҒn zœô5k.Ilz ¯0¶•15ïxbÞè?ÌqÆK8û;ÅÐæk/ë˜xâNKË0oHØt†Ó- ý$g‚ô{7Pslðq´=¸xeó1|a_Ùç%þ±ÉH\"¿ß‡v²Þb*LdXšJk‡­ê{n`úAzÉDÐo)‘û„#رçqž¾Ò•1ñÔCŠ5ÚFGMˆ9ø Û²“ˆøï¾–¯Üû ·ÂU„”ýlvµ­øŠq£zÀ™†ÀÅPчÕZ¼ÛrÒ¢`âzY?„f–Û£OÞbÄšÂzƒ e´’äBˆíôSyËŠ\~ñÚE-¹—ÝÜW{>(ÁÔ@x}ãRKRn ¬g•Ì)XÊC„ |šj€@sõü› a‘AÆ·l#‡Ï¾ò—kð?>ëôÝý¿¤kOŒÌÞ¡a£ÑÅu~?32²›R¦È8žY¿#Ø­øÜu¥ñ\H hl~ܤ̺Ԅ?\K¿Ãñ¦WšÍv7§B‡¯É¼¼´ûå,MìÃ^wÔ<»?Q¥ñÝÃLää[²¼Ò"5Ó3©]ì«ÇKâмSkÄvª^œ¾oâ˜hD:ü‚ê+; Zômí¬R6mIªÎJˆý(•eßû¾½P Ûh?;Ïlƒ¾’ È’ë (;ø…¬%)†ÅL¡òZsm‰à&X¾(}ÎÔß'­ ymK²ž”ZÅŸÓ@Ô¥Gà+œúÏ>ñ†EçˆD%ä “¨e´{Ùë§$tÄÅ ,ÿ ‚ô}Ñð¢Ödk^øb@¥S ÐY¡4œ–Ý©QœFIw »Ø,8þëäç¼n06›-ëu-2›õ!ü+“жãªÕ"é¾Q"ÕûVI”вË\ôK®òùÁ|be³ÙšÈÞƬOÒÝ`‹xûc™ÐÏý‡,}1ÜÇô©f¿”îQ@°_øç!1›Vû šY6 ÂgÃü¨<+þw m)³‹õWd(Æ¿_6müNÿ?£È¸"æôó“ Ö µÊrZ7–è§£D D¦öÛ]«¹m¶ù½·ú§ íÉMoRG˜ -×–Ô;ÕñRlƒV°‘aÉÙi(ˆµÖ©c¨)®Üœ44:+þÿX@ªÙÕJÓéÿg×Å0 £+]8r·!0ëŽ"‹'T@,|tJŽ[mÇÆšoŠ‘ÁÌ¿0ÿУzûàƒƒ5P¡.qªÝ„¾*!å’ªHЕ’qXÜ€gn©×o›%o+ö)éE1LØC Á…6“ùBG¡–‰"/#¡20´¶Bo¯Â7Nz݇æA¡„•øK>r$ö_ÜAÆ,óæÜ©%…âRÄ9.¥JEke¶:yOs1só­_íZâQXK^ë}ˆöö ^© N ûÑlÒ %•4brî?ezè ÎŒ|¬Á—×ËóEh™®¼Ìü½tÛAE \å|n¤jÏ!p_ß±BröÕ¤±³ølorŠî F#Ò#à»éAòëz\Ÿþ\Ó³Ÿ˜$nûlT&öXðÓ8¿û©© ,® Ù:GwÖ í¬åb] ªò­kx3r¼ùáñÔ`éB'Y½ka§ôF4-µÅ!ƒ³½‘p±.ÐÎÏü¬üY¹)ЈՈòD•5¶HO™b™§å–!MÈúˆ,‡PÙûUÒÔís”[ô8Šxİê´O½¿i7ÛÑØ¥162{¯“4CùÔz´ª4§2\íÓÉøs‡¦ùW±ópŒÎÃ÷›q|„VÝ %ZòþžÉäM]Üæ¬fŒ^R‰°2ó _šç†Þd"9ÂF#JùEvÙ©Áf>¯Ô‘³×¨{ß9i·”@Mdº| ™›ršL+Sm¬ — ª 8½Ó`F.'Ò£‚º“Öi|$Ìð‰±—j?þÒ‚¸œ&ÅÜýfúÏ™¬R7gVˆKs¨]ü.' =¶â©8MÌ|#ûB¼£•dÀ^˜gðãwÇõðŸ@Ì¿Ý–Í 7SŶ:±u<À|u•¾¯Ü00ÿ\ÀQ^Ñy<Ú¥èóàÑÜÓ·/RùÜ׎ªóÆ&±àË‹$¥¶³"*ÞTcpÂ~Yãý6Ê,ä>Äbññ³­)ÔÖ¼·?„|wÌ8lqãH¯{ƒ’¦›¦Â/á ªÂ:q_¤ݾ¼R™t§nÀwµ+/bH’q8}½§Ìö`O=ÃÛÓíUj¹MæpD=¥÷È:QPh·Ø–Ö ®x ÒÓg}Ü©âÑ ôr ÖÐNÂàw2áË29ôTÖ "i.퀳Ø3÷4fëCIqòîÐ ‘žô"Ë”øÁñ7((ç`Éÿß(­ø!‡¼^Õ ÚÉÊŒ†Ìتj\¿­D©-—$ŽŽnŒP9*º\:´@÷÷IEÚ—/9’*/ôðø ^ž¡"Waß¼Llž?¤jjjth¬îȰGxkjR~„×(üÏ2ØbÐ VÒ|:ºÁ VpàºP”? , :¼¬ÏÄÁÊflŸN¾¥Î.›Û¨lD–ñ”ˆG;äiÓ]5Fr* EÃ_U5 ´»u:žëJI¥]ZN/-̦æý¹G™ 8­ð¿OOzÙþ“†þã J" ¬&¸à„€Q40èÕzøšÂŽ,Éö±Žc¾/œ®˜q4Eh>ùuÈ®W¿Í°£H–•(ˆš»û¯Íp0AÜâl,'Uó©Ó°ÿTÜBBo^£HyÌÉ£u£46¸Â8Ú×WkϯŸr ͶzJÏûzTXµZí¤¯ç£ßÝPô3ú=ä+e*–-µ¸†ÌÝ”3@Ÿk±>—€w0[/ChÇ!N*’—!B=óº$ùHèTåbèýPç‹â@^ã"¬ËÜ RZ¡À~&ŸQà!ÁË(áÀ”H½M™XøM̹Þ÷œ§ ž#”GIìĸ„‡©–*kÞ_ùá2! †¹ø¼(r?â0ZáÇdHå÷âÛêèW\ *!_ýš<+ÒãF'OD4˜}Ÿ´Ag¥Mh©zÇa0XÐ6y«ÌÙ0Þ펿OöFm+/çgÁE¥g–7–}”ªøÎ+aVnM™g­“m o-»ƒ­¹G%mö|+[Üx=3±© HËׇ^k¨9RÓÉ*ýämªÕ ÑÍtŒ–… ÿ—„ƒCå@H-Oïœ ï'öWR\€¾-þs‚5£€Su{ÄÀ|ßeT.O Ûq5»Á\âÆÀþFý"uÐÖEd+a[ùÌpʪ#%Rû9g·ämÂΖ\s$Úî$ ‚A3¹2|ÐI™öœ !  °t-KHÜa*σò$£ªù©ir˜£_z†½›  Û7¥xò>K°1jD4þË™âöyùoªåþ¦`}¦ýÒþq2ƲïaƒgêF€œ·EïJ ß.5blïW":Æp¿uu»ÂCaíè¢m£ÇŠûæÎ+»ùOSŽøˆ=)é^š-WÐ,#uwÀ_yïÙnÑ©hßRƒ%gV{ª4 ƒ» ¬Ë¿-ÔÆ™SÆp>Ú$1ïìZbÄ’ÕigÆü)ëÎK²c…D0@¡ë,8³Off…TðàPI‡”ßzÐÒX_›Ó¨18S@-)£X¶ž/Óç$ЬH)ÖÛúU9tR óË©WˉësŽ™"Øå @qª¾Rì›ñ¸tgßLv°è˜ ¯æï ‰Xö|g=¹é-;µf'ó4×è”H…²yïk±¥•éWRñ¿¦RŠ êþ¨‰¼¡ž楬ƈ\Æææynó”<5P·¯ ¥’&÷ ¡õ;6¼,b±¦AÕ »¸&‡Ì½VŸêœ¡páiŒ6Ô>ÈtC~ȶ-ŸAaBá•`±¡¿j¶¸öÝFªM……xÍ·åH4¬Ó’~J©‘“W5 5y »èJ5¡¨·®)¼`M^2ž4$U$ƒé}`)q»[ ‡­€ÃÂÚ¡rˆ¤cfñ³{UF½ÌN»ÒHN›-DLn¼€  —á“‹bÊžõÄ ³QÊ#)¯ƒ½dÁ”KI­ ãß@ž~»iëÏ’cÚ™) áé?zN‚£÷GFÄ©et_‰cÊaM‚sŒ´iÝþx{q”cæ"=Ímpyߣ¸òxæþÐ7—„ Êi:2ásRFt Ò¾I£·þ (µ©”¿í÷yQ[FÚìíIþOgCIŲjа]¢2oòÖeü¿y0@Rle¦HXø§c@,7®Õ4å[8ι›Z ý|¦øÞ­5ûÉZu÷¶QÝû† ýújl'“ošQ~›V…7†&6w¤¦ã¿($þ¬Ú2 c¤Úѯ3DÜýŒè”æÖHô¶eþbµás±¶ág«r8ï#/î¯9J¾ô®YeØ6ès‹ÝQº dXÔ­•ôM$1€ãb±xIrâNçJ§;‘ @Q‚öXUòLLï5x˜½øèêîÃ'Ð éãÍqrÛÌÝ-In{Œ£Büë«68fÛ®ïà5CÓl”ê¨ÚT¿x–ºZ_«Äy·ÊÎNüšÉ‘#…¿D?ÄQ ŒÓ1eûÙ#:¯öoÓx¦¤åòåhP¤ÑÔ-»w92šqc‰„ðž´ÒKë`~6—ˆ/ͲC&öqY…“pj‘ÓŒ3 ŒÜúO²æ^9 ­ÓÿO(‰š5èb'MuÅÏ##ÚáÅ CÅÓvë „ù äO¬/uÕúµ¬¸""y=a’¾“µˆêòô Ózò)wªS$ãY1Ä48™=tø¹`ÄB–5äÝ.Ï ²<¸ð"vmEYÁÇU:¸ø–ÄøÒ"Ð25ßF\¤9cITùÏVÙ¦ÉlËóf3¡k‡¾ÐˆGŒ'Wa¿ÍqOfÓŒE 0ï&gÃhIÖWá âÆY¦˜®Ø°¦$K¿Ýǻڟàà WK‡šsvÞ\%×e¸…ûouŠ®x@ÊÐ:T¶õà/°O’hòë`WO÷1'ñ õ4NÜž*ç,ï˰…Ìë•Îò‡-œæ@дðáã#|¬[W^ G†&I.ŒçyŠóèúÄG†…¦u¶/›Çè[îíæo@Þ0𮝫úÏ1×þBåx¨$ÿœñ9{Å`l%Õ*4ð±þF´µîCÄ iÇÓ³\<1¼p<ÕÊú梨ăæßaa+?ϤÎ19Þ_§£s4;÷ñ£kÉI î—÷ãi†ÙY† üvä­“@ „|­hµñDl^Ô«1‘y˜#xF+|\Üç½åŒ‹]øî=úðT:8=–yì@)¦ðÖ¥W`NÙOqG/ëDû:„Õ¯>ÿåOQ¨8Õ¯Ìy&NUßw±yù+ ¯ «é:Þš`MÑÂÍò›Ó¢LS“è~%kò¨V½˜RîLV·Tw¦0€fÐÈ6HݱÀcE´nž¥-~xÉ’‚1ŒNšÅ«ßzxóŸû#0wEjôì%~V­P2‘H¯„Àm¢ëßÿNk^áGxD—¦F¯¹oõ>"¨¤j6‚xÇõãÃÃÙº™|´®I)ü¼å_½c4asš§àÿsCsÉÞÉëFaH´ß–•Àêæû'Ì¡^ ~þ~þv?Â#[G6.Nq¾vÌ|vãß§þÿn(¢ý’ùÛ7‰±Ö ¬[DÄȆ£³úôöZˆŠt†ªÒ‰€rðȦP6ü!w­#MÌ൮ G*œCAÍÊü„Ór”¯º7 ‚¬™SyyrD€`5<€qQQ-{úq o|)ÀQD™¦wË–5ǰ7AU‰ñˆL‚¤ ÒS Ø.1j€œCÏ•(àm`D"´q4úI ¿ã/0ÔäXuÁe•¸——‚¤«áÖŽ!1؆ž»F‰Ž‚>ÁÓÜ,rèžZ8Ãòåî¡ØpIÁÎäFÛè"W?*vîâ–Ÿà K„ 4© d šÓ‰«¤Ð§lÕTHm6=…ÏÛH÷ž×sè/ð¶…‹ÆÞT…zw1Ã.±=+¼˜b¾3=áílš7bï[æº.dhÖ%¬ \üa+vW 7=[àŒQ8ÈëÔø-™O …):ùþ¨äùÃQ¬¸ˆYý:k<™ÚõÃÅv£^Ú’8Æ“fÄ &H§Uf& â³ÕÊž¾„!5#ÔóÿJOU0§ÿ‘}pîÛÓkÏþ…_±é<¯oÙ1¯ÍѰA׃é—ÕœúÆô¬ì©:ù–dáÞj Œ16%Cæà+òÂ3שÊÿLËþwk\‚4û˜ xbœžSrì%‡NŽ—à‹aˆ8¿Ó9œ7ØwQ2ê‚âyº6Ÿ»Q…>mš3:uŽ‚”°2îÛ¹,E8Î.îøûGµí¦ôL­¿Ýá«/¥(9,Qh…^7åMÚ^Çx3/])Ylà™^Í ¸×•Ç¿Õæg `ì5nZ|3ìþÚïT6C/x3ì¶8‚19DdÑÿBÓ°ÛlŸ~.ÚÔž”p«h£m³Rñ4*5‘x.DŸ Utå=΋á[ùóúnÝÅþåÊaí•`ùýÔ“Ð,Î\ÿ÷š•ú8P]5¼šìxtÙï$OüÛn¿PÈŠy¡öà‰ENl‚jR¡©x°´ÊSXÃAûä©Â8¦j≞Ӻ›Ð*VKWõѾÔHŒÝKbÄpòÑ',˵Åv=É¥›×t¬ÜÓO [¥¢ZSxðç’ßPBq‹)ÉЃ=ÑÈ~)n1:P…Ïì Lû.Ìý¬Œ„<‘ùÆ]ÔJÏ „FtxÍäæ÷ÿ˜Dqü®r1±$ÊìŸ#‘ò ]ÜvÂ(m®-c‘rÆŒ`d:[Ù_/ÅÁb{«–!,åí sòr{•7¹ÞÅÿ ›¬Æ$iN]ˆº³œb`{¶sJE}i§/uð¡©ØD¦Þw^ÏÂäÒ uþr^„™¿¯=¿1†€Òu¯ó«€AD©¨SnØ¿÷ÅÉo¹Û+¯ÕpeÎÁ™¡ùNY¿;skTuœFÚªw·Så# …K+ƒ:æ…E`×z ô¬lwG`póBÔüé‰Pv:ѱm&k”0B§3,Rúýq䔺n’œ1'­K>AF‚¾†‹²XA/zÆ óßrV«šÖæü´BÑeµX®¸¡r®äãÑϹïR²29ªçU)p ¦3º{Õ 8³6ÈQ‚ œ‘¶IZ ‚d_ü x¥7›Œ‚§Žu.X¦¯>ÍΚø†9º¶ÒÄM Š®Q{š>1&©»çTI¹0ÂA您Z)R¼–8\^Vƒ0‘”;5ƒ¸±aêí#Ud&¼ÄQ32Âcš~U¼s),RO¥·5Á  MéÿaOc¤ê…2lÀ\ì†FÕGâ-Q OÆÏ0è‡èënZÁ[ 8Ïmh‹PΡæÕ,hÝÞ…dž>âð½´@=‹t¶Ï“ä}²)Sã㡺?…]j›Ä¢}î-·öÅp ¼ÁsÉ›=¦·™¶›¹âXâ>% }á¹8ßCø¨¨¶êm{Ù¬~1pÌîˆ ðvo¥vÎ¥w<Œnà7DMAÒ†¨h[%%U´)gÓwF–¬JJí úøù´<ŸµgòÁ>sû8S¹Û½Ä?]ž¿V¬ðW¤F²©40ß)šŒi:oJ/çj÷J»2µt:óõ$šcs3†1†i”–{X§*åù²V+· ë‘Û[ µý¿»Z‘⠱à ñ«„óW¬³rq6DH ‘9yîËö9ÅmÝÒ'TB”Lµ“DÀÌQnfêë‰[©e‚Ó,ô¹À}KàEs‘LùÓHÃv¿#ËIyóÂÉÔ;1e¼bµþ/ÄÖóU´àÞ™\ji¨ØiQJÄŠú 2|²2N[›{öàô©xÿ0ö˜eœÈÁê 6ÓÏCº½þnJˆg†\”­ú¬^ܓҌ4@žK’ wÉyò\ÓúLû³Ù˜ö¡¥QµœÊ“ƒ :»|qÄšGêÃÉ“Lj©ƒÄj{wp$%ë¯uåŸü Ž ¨ Ž™^h )êbUeváöÏ·-jÄøÊÎÜ ^ÒQêC¤ÿ0"v/ÏŸg2µ÷¾» µŽAUåÿ - M¾Á~ò'ê) œ¾Ñï“æùgì´4[V'ê3àà<1r @À“RµÓ×v‡L>¤šýU¢Ca\bCC2óf@æÕ…Y¸[¾¥è!oüÑQ¢¡{RÉöTŽÑB¶Å÷ˆ{#Z‚mêˆ!׳ÍLO¥Ÿrߊ@}òhGî{Oe›ë=é}tíý¥ÚýÏýÓ|Øå{7ìÒ&Æo¾}U;˜ÈB²±§Ø'R4¦V¾Ò÷> Ñá[±JÄ?B?ô«ëÉ¡G7'ògÔ(e¨ëŽx—éUÝè2rêìRájÁ>e,irûvçVžË’Ig¶Œ=¼˜v®™9¥ ;/+”ð¾ÎðP…@´+WŒnåüŸ-ðM³ï(”;,*{âŠÒ-i RÍFÌD«q‚ÊîNHÑ ÇK“œ¦4šÏ) <Üæ`?$‚Ú%dÚtbsŸ’«ÿÉñ˜†•/¥ ÿ{ÖÞæÆB `ñ”ÝÙö ÝݱÑý2q‡'zv@‰t³XDú _8¦t 4IÜM*XŒÌ”&þ'±€b¿T`¾òj39F}Ê®»[PÐñ¾òS”é—á£2e°£ ,«TgJ»9â,äFÛ¥c·:á=VåSèsŠÅTC_ø7$4Dô_¤_Âöú&lØÁÝáçÉþ^:ÀˆÑH?j² Êqh…aÙ#h[4l¾Jˆ/*;ÙfIÒ¿à…>l6Qµ}WdZJkP'êš°çfй´¦>ÓŸÖ³`”Õ·l£›‚å$žða™Õ– 8¹’/ÂUäúOeþ|“½¼U“.\E2isƒûnÜûnvŒg˜«¨ÔBG3¯s$d©Þ€«cN 7FT¶²D+óÁšT!ï ~4ØÊºñ»%+Ü›À_{SÝðÏDF¿3DípÔEš‘PõÊ;;Æå'Ss”Ó8·¶ÔHáÔ&±1娳›œœ^™•hÓ1¦Æ÷¦^ÃV,Øó=*ÉtY¿×G°î,–'É€ÜOwt«îïXZÆa'?hÞФѸo]Ô „OmLcÈé¿x|ù¤Y¤ÞhebJšS'´ñÉRÏÆááø±óÁÉ)ߺ*^ùÎ?ì÷ÍÂã—¢+±#Ê©™ßðD×vV~uɺmM)´b¨fkŒO?cŒèÙÝ¥vNv߉G ¶Æô§àßæL"µ~™×Ÿ+d=áiÖ üR˜ ¬DбJ0"}µº#™©ù Ô_¡ìU"æ_¾9öóXw _[´“(êÂ@ޡŻEËGÛñ C´¥@—'ÂÚ&CuÆÙMÈQïz¼H¨7öòméå§—£Á)­: ¤&éŠ[$ÃAÚ å3ìD¶±ñWç~]Þ%“4H¢`Z&ÏLøÌi"9piôúy˜*.ÊuÑßãbÅxY|©º‹Ö„Õë³ßØkØ“ðwÅ@e$i[æ%p[Фû' ôD¢ä Ñ N½3$Õ²L¨2EX­ûÈ-×6ÖÏc*sØ_¦>3B:ŠOú^G¬VŒ¢'wÆf$°Î ì ™ ƒC†¨V´ö›ß%FïÙiEBì Yè!z®éjd‚§`(ärn"~ûó°±ö…n¼zPÓ×h+ÏV aW°&S,T²•$¿9¸yΔc¸8y¿L¿„c4ÐWµ”özTçf1ø(¤7Z\’;ðà$Ò•1ôSxAÅÊÚž[CÍD/h¡˜¿ê™¡9 k¨.œUÌñ:»=WÅ_~’™œcvqTÞÇâDâJPIIº1åi¸†^&_T<¢füj‘ˆOÙwû¶3c€cüù™“dÇB„Âô(áYЈ/ÕwÊ -c58ê[ðøwÑÈy: þØKZѸS±ÿ> õÍÿ9”=cÝ9ð~}û¬ 𻲠²âHº†³ŒÞœÏZÖÛO'nTü¸¦NÒMÅ…r@¯ÜizÑøÛ/ˆ_Xच±@@‘Ä4«í'ª(¾)ƒ†æ¨o•nÏ¢Íí£aŠ ©¡ÉÉò_)¡{uð]HßÕþøóE[¶¤ ³vI’Ÿ]áÛX¢'=…WõM‡ÇÞíø†ãÒµu˜ '½†}Ѽ|·Aí\ܳ¨(äºblSÌáîk¨pB7£s³T¦ÿQÔ}½Ï(ˆ"·ÅžuTý¦3ëBÆl2O˜ßZÇd„0¸þï¶«hþø®†ƒÈŒ®‘ÚZ¿†s-lið”Ò\&¦hÉe¨â_[¶ ê=»<\ -áîXU/O ºëÜ[*äô.(N¹ œï9}V›Õu*˜QK*ãˆCêð+¥Û°3Ód»êz­¼7ÙX:Oª^Ç꿤£‚xn©{¶QPñ™KZšl‘Aì0ªÅ;™oc î âæÝL{†’iëð¯]åìÊÛ®î&'ïÙ0„Vä‹LwÃOÞÆ… WH2eW£Y Sª¡£ÝÓs5´tüãgÖÎçù“ù O2ÜfJ€ê¶¨Ž˜ÍJÍð¹¥¾ü4çÖï3µ>¥P¥“ €˜äHÕaÒ¸õÄCübä˜d ø½°6ó×쉿7Øy¼SD¢CÁv.еËÿ¹C•ì–Ãæj>GiÌ홫¡N€KÞ8íѤ%‰Ý )Eý/¡&‡”È^¥‘ÊV#-Òñ5¤Z˜ÂZir÷Âc>Kû 0¦)Ø£;D Ð e3¥;ÿ×í%¹ã·PÔÔQõ¼ÿ\LKäøLÛ¬5::KšEÎ!zÁˆ¹òL~“6á#ªTš¾zQç®´mmW¬¨4Oßs_ra­Ú€·‡ `['å*Ô¶¯7;ô„úeï?§Z@üé‘ä>Êͪ“•9‹æºêq–ÖLþ÷ÏìÕ-ãŬÞÚm}OTW=:µdE¹j±WÔ’(Qb°Mø"­¾N³šYÖLåCyYbìrŠƒ7‡žE*¹u¦EÏøÒÿ°Jo˜öÓO†u$ÎÖNÃmÈ1I¼Î€PLš+¼?s¥GÀ0Y,;jGD·ü-Îû>Žkv@Ûžªs󿀲ç·sF#ñU‹ã%ç~ÀYñ˜ ¦–=3`…V—û¡{4†ÜZÅJÿº‡¬ciåÀ d ŽƒÛaQÛ¬1Ìië9‰ûkú‰͸rD–ð?A¿›Ìyº™z"ËLéòö¥+êó¹xæ–iaZeüˆ?$zwGFcHYÅ¡-l·}r@ZŠ›¿!á¿=ä˜h×»@µ?¾]ÕR¢ûöÐB ý?GÑæžwxã¹äA–¸£‚_ª•m΂Ç!E6~¢÷Ï¡à¥ãd#QâŽÚÀ™«Ðºa¬ÕÓ¾9’ׯ1ÙžÌ/ÏnÛ™ÖðC“N «+¿é‹î†%ú ðãE ¶­z0O1«§eL”øš`—;]ü Á•Š 8‰Ûü`%4ìO^uÐGá¡ p »Aû²¡>h/àóá“ÔD* Il5{Ru‹ïX9#\Ñœ= ¼¨µÄ…_Å h=XF&ç*/eEÇð‚dý¾Èš¢$º!Ò%€úÍ›F! ŸáD¹ €¼nˆ¨8Dló/†Š9NZy2+Ýê-¿‘{‰%ef…mÐ@HÕ3¼¾  –” p‘5BáSзˆŸúª;>‡HÌê9¸ƒ¶@…OÖ°GP‰J )’Àß­L&óÕíÅÞ¬tîP°á鑉¿<+»j]£;´)%Gšz@øÁ÷+wœúŒX|óTgL¥¬Õì#VwBæ¹8¸øÚ öœ®2‡g#Îa“sÌ&.ß(Tû(¤)ž¡H]÷ Y<ìß ]‰™Š:†Ä_kKWi¦T÷|N™~Êæ?Ò0ï¿ ¸"=Œâ~îõ˯þÞl3Í)]¦¶5,Kô¬„ܘvËâZ|Ü|.¢¾“X cÐÝ2õËZž¦ÒqŠ6ä:u*59{^ø;C}¤qü4¯.SÌ´~ øÇøÓpAü_޶†e-Œ$>¼Î­Á<^±¦žzãUT4RC†q2q+p½n¶¯=¿¤àEX6¥?BÝZÇ=Ň\Õ¢wÁa²‘æüøÇ¦÷ÑÐ2<Ì‚½÷­$ m;£eðÀ.ÀŠLû~*Q12 ?^iÄÄÏÈ®±r9DWÍ )+SöÎÁs°aGȳOô?ÈÏ.ü”C eÂ0SjG~sìhˆ\çV[oÃ_ªuŸ;»œôAÞª§áè£ ç!­¤5Fÿw"OhV ÞÃ{nÿÙpÝéhÓ3ܹ G($ð«læ7ZÁAi¸ª ‡vðXy–ßtleÒš wÊ%z1è¼`µ‡Ã«F|lûßzsC¦yº°`»Ç™„$MÃô%þóL]ª)“PN.ZîC.Z߯ìÁŠxANf$ÔW\¤a†å›S0·vÆcÔPȯä# ¤ÁÒ—>7T3©/¹MÍÌU+€Ð!üÌõ7®ü4<®“¥US<0NZ ] ^6È`2?Ëawn4Q¼î¶èà1›òå¹Î 0ŽÆô¹ŸRYŠUšm»­)÷Œùfʳ𮠪õCB†®„­øm CC i§A6ü¯[JðQèßP¬ .)ê|°î’O•f&/Û(ŽyûhW¯º^÷º„k|¬ç€câ3ô¶?¢*(çÛ6sA_7àuí{GÌ)¦´Z¬7ûàyû%+°ÈTª’¦ÉyJÔž¥x:­Þã êÞ®Z®PØ‹õÖ·”Íš0oYÆ*ÃFѲµ%vLs¶f»­¸SÊ#ÕñX݇ÂIjȶyQûº¢jHxíÆÑùaÊw  H ¬ @ÎÈV†Dk]|`÷¡'24äœ|BPµU–àaDä…Øw$kXKiéÙáÏw¹¶O,‚§¼ä{ó*Š:²'± :ÕBz!òk0yV$øŸL˜wSd­ÄÐ:{ RíØ%Æ¥‹àæïØØn†À쩯($xÉúx<˜¡ôêÕH:j©\,TóD€­ÅbD|d‰Ñl E,-ÄNšÞË 2¨•³6ܑÙ¢£?v1óŒýg?~Øæñ"\}þýÕãq1A–FjÂe™1ýü"¦*ªAVPÁ‡°iò"íŸI*Ôá¾?¹æ”ÞÛ"Y3À+ÄÎõ@á‘ñ²Cܨó@R‚XµKOÂàVñ&õæêŠ”tÔ½4Ó¨f%Šž}bÂ9œÜMÐöÀŠÒD¨ çs_ûÖñ«L/«WrQÞA'ÿˆC°ÛÖ¹€Æ`nÝꉯì^‚ €Šc»Ê¿KªÏ129¶‘Dó‰|åø‘p Ž¢Á¥0\ ´BnR?œ\qظŸ‡ Ö ¶ÝXã³»w^Î)xêÔß#ud'æ0‚Ñ\3Ð#ñ°éLöÀ³I Šä¤IÄí÷±ðU=>‰Œ! ¹eß(ø|Ìx}L”da‡’™³à%EÝy¦·I‰D ïîP£÷Åb­2hÈL|EÜí瘅ÛÔeû<æbÄ€6c…I‰^¾Ø ¿hωu`´&T ÀÿnL|?E¡+>¶{Ö>Þè:êIöôÆtØÎ`N L•™õbBúÑ&¨08EQ]Ïø‘Õʽ°]G`YŒ#6—Ôª÷ÈäÏÜÂÌ ¾Û·‚ CC£àN÷0[?§Zÿ8€:óãëÍÙ>÷ >•㼬}Ê­q½¾žú‚â9³E ,…›M9„:@eìZ¾¹‚^ŸòÝeçô™Tb(Ë2Ì©Œß."î«mrªáñ¸>nÝWÃa É›ÿ§éâNf8E&ß•‹Nã€/¬¢ÿ<¡§q~Ô2O  ŠÝv²Kó£ì³:—ø{sU/´²Ccj=7Æ0)fšHoŠ,SïWΫ—›À'';4Y %¬tÔ&ý«Â€ b37l\<È^°ÍjŽuÏÉ<ÍZÈ$goÝ2°® ¨ ¡ñ`Šþ ²8ÏZÊ^q‰3µR¾ƒ¾Km·w³«ÿòu'7ù„srÒQ‰›Ý—àÎõecr6=t&Qõ8„»<õgºñ;‰|p¿6·\ã2ñž¬ÛÄì2°iFý·—Ì¿@¼$8èøÄ É)¼™ZÇW-¼<ßdêYÕ)êP„†Fá'q´10x×vQ¢³•#¯!ÑkYIêó?Í`LôÇhÈ`¾¡HC0ΪäAtn R¤²5J¡Œ–clÔ°ÏÀ°­jKú©wÂ1Âh|âUÛ$ÄCdIÉz—”õþ›™éä õ³@ç¼Ó—hži•ë±›G{JÜgA™®¶æ­ß¸™á<=È…ê­òõ>ÁQ'#û;¹ /W'ÛH‹Ã œ:Q[QP"Ñjq¨ðaoŽfœW´ÞGZÛÈbʧˆnvŒp›vm!+ 0#L0y|˜eñ_ŠG™´_|áNtÁ°ü=o†×8÷ÕÑwøûˆ ßÐÖOïN‡Tô‰FRÿÔ ©'V ûefî %÷ôÉ"+©K‹•½Ì¤›¯óŒ{?–ØZú¦!ŠXyü½"E"Ê)äþ¤ò NÐâ.¬1ȘI·°#Oaï ¢ÜE EˆßºÂÀ_ÌåéNE í=+žÂ…]Š®Ô‘o'è¿2&EŸêæVôÖüš÷FJÙ³ó\ƒCóÔKvz¯*òÿJÊi, ^¤×ª\”4Ð_”fûyÅצíVFáq ³Ùè{Yu÷”)É*ÆÁ®EņWr¾¹òUŒÓt.…xÍgÝIiGûˆ°Ä¡›“ ÃeeÞ9 Pß1|ÿõ—~îp·ÐtnG%ã° £qk/",’¨‘.”&K ÁCì¢dÎÐÆ}þúð­›,šjóM%Y ·Ê¥~9Ñê÷;ãoÝŒ7 Ê+vÓ/ǘ÷^™ïIÈÌ6®œÒ‚3«‚ž¨ÎIOõ¼´mFÂ…bëtéÂMw?;”':MòÈüþã~ó}j^žNBÈgˆ›;VL¿Ð  ¬/@AIÝ1NÜÞm–³ÿyÙ9Ìh,¦§†L¢…)2˜¯9›K\ó‰}ï6Eû™ÁméJ FÊóf6¬fæ‰@VÆ×õ^ §ÈÝz€›PˆÜ‡ÑRMkÈ–ÈÛ֌܀Bt­?†fæ‚IH™\#üThµ=¡‚ÉJ+·êtEú.N­uDo±eE¡Š ú¿ì8E·‡¾ÁÅËCŒð #b|u+¡Àzâwæëõsþ—üüU[1â5f,KÉãK‰È˜d¾üqkoÓ,âÂÂ_õï¿0íÁ ¥}õÜïº 4ùêx9cyÜ۰ovz&«DoáS½wþ_àL"nïñŸQ—0¯ÅKî•þ‘$‰ Út¶P© \Q»ù&ÎÂÊ_Ô?@{ÐÉÉ µ”>p¨ÜJ-÷;Øè&8©TáéiQ·Ç»ž+]-!å»ôF;w­8þS%òIä?,â‡äôL­õêlЇ¤?èPÆGè䤬\b×òaçËb¸xùPz½•ÐBhðt\ Ç®.ZùÉDõ7~{–ÅWR·eΟŒbžqYÀ^î)L¢¨/º¤d{,Õœ.2&묎~ ík6ö¯ˆT¶ËÃ+õ³-ò¾››Ó¢´mz£™/±›â¾ÖŽ\Æ•Ãûä‘´Ypõèa¡*þnÁP%óª ×q³Q´—L¦y…ÊE¨ÄÏ\Å׿CÍÖµ‚ñŸÝ B/Ô¹ßH ÃÏsŒ‰’ƒZþ6*áŠ'%oÑ'Çóu™ðò¬è£%ª$ª„Ïf 4Ÿž®VnBƒS~…ÉÆ”‘’˜¢BH6o¥¤™fѸo©£ï®L)â ϺuS'r´7¿³Ä‹Ý³ä>e®|ˆqÉBÔx[ÀÅ€._Á°»n»ÔÝ]ÖKˆ¶»Èÿ4¶ˆ’oñM ‰†´¨ht¬3cu®­$pf<Ÿ~ªÎÇœWHžÿÚŠ?¶¿e‰R©™Y!ð$?1µ-Ô²,}^kz(jG±~¾¼K…WW¹p‰£ÏvÈGM¸]3g:|=ʪ¨Ê«£¯@?³n=D„,–-3´)€}wUÂþ„æE0b`›wYzÎO¹w)ÔÌYåØÅ@î)£^@J’(„¹¦’O8&ác5$h%¿G¸×ó…ìéJ•Ž„ yÕ sî—wÏI%2ÔÉÖñšAÍB…õ*·xóÁ†–÷0Wo«¦š¿Qú·>ž€äÇfÓd$ÅO#±:„m´V‡–QIJ”y¼SµìKZv²jžÈðeØK’Ð?„ØÝ¥­Ê"Í«àðnBG0›ç-O&pq£× ¦©æÄê~©8ÛF…A? `d8élXàÅvªfpçbòåÔ‚7žX\ɼm1t¨;:–¥Ãí.áHo³žÏÉçú__O NcÝÓ¡G œãJo‡upråLÐŽ?E­Ü» ó¬[®ÖZ¨*ò~6B´Gö‘ô¨[SÓ“çx¸n™’ês'ùý¶,6>t0õYŽå·pÝ ˜6T^$V|¤ø!ý(hBƒîôï]©ÍiäÐk0 ™¨ð5þ+HJ4HŠÁÚO(§úšbÑÒ^®kÖZPÏó‡]q‚MìžK‘Á„©LÂX§;VbÃZ:ýÜx§,šJÿÀzœ/4ïÛäæÉÙ–xݳM­ß¼%ÌToK«»úµE%$߄ɯ|`¬gúÁë»ID€U=㮫ÏuÐãæzÇÍZ.¶|”½/YcÏæ † åpø?ß+a¢ÛíuôÃéÈfôêPÙ×Ñì¸Ã>&yç¿PËpº¿ò¤SO–-ƒ[BG¯ŸŽôùp¦R5 ç¨ÚFj^¥=éŸÕ5Ü[ñúžÚÀnŽõíý¤zÅôrzÄü‡ߪ„÷tnHÓß(‡F“Ñ®>©R¯¹;ž,ûŒÂ‹”Úv´*ÌíVÓÒ†295ÎQ®Tlqµ¦é0 yv&5ñI£Úô½¨lì H^º„wƒºú‚/iúº¬\VìS‚‹\PPñõtdQ»ÜZtã©@ø†áóiªØŠ>ç&ÂU—¦7=±ˆùŽ&TчQ”“CQŽóÒ"B<œñYK!Ôˆb¦>öOµã=º íßøAÁV¢UP˜@>h·|ž­Åbn­ÁŽ-¤æ¦ö©ÏÉž[3ÜxõÖcli³é7³ž;jq³F¢áîÄš“VÐ×`pZÜUSïoyus€®¹Åè5€.îlžCp;BuYÍöHöÅÝzô8lÕ2!ЋJvŠeý À8‹§e`æ:pÚŒŽME÷~ ÓsVtUÅ„gGŒ°°17q}3ƒO&;GDÒÞÆätžäë¦0jòtÕ{‰).pŽ>ô›©a<‚ 3&òKÉÖÕPi²éó_ùƒÈ?vFRñßòþm±Pi‡}<,Äx§ŒÐîà{™÷;Œ 8¤˜¿Ïh/™º4@4äC©Lrõ0r}Ü•ð¯Ac›Â°M’Oî@%·‰òbW·ÉL‘àÛ;Œù’&Ю]g@§ƒðç fX‘€ŒÒÕéìs«Ó÷4ƒ¥öô1>¤NéÁc|øD>aIAÚ¤ì´ÄJÏ‘©Û­¥uŸ 8t¨¸õVâN)Ž“ "±Vä'ñ µ)Y“·Î'’*¢ã'¹UbÄvÉh'Æ@,»¼`ž=ÞD‰ÝΈ û6 h¶ªMü#‹…{^„ïÇ O¡§ ¨ Öe¯eRZÔ… ll÷ÞƒIèq6mÚÔëÖ8: jïÈ™ç_qÙ 2F"ªì¬òPQCîdžÔäu™ÅÍÕ8eÅ×Öôô¨VÄg1<Së§½^ù‹$ši¿æ¨è&u´íé]»M{~¸YÑ©°"®„‰)|†ÃËó&f@†hÉï­d%Ú*FOeçP¢¼z7<‚JiPÄÞ+P:{Å|œûøÃÖî„ãéweÞ],DÄÜõ–+›ÍpÇÁHãQ{LÀšB SoÇÍzêˆøÂVHÅü€dn?Û²°ÛJPÃk+Q‰Ý4¼Cœy ñÞ>GùÖ!†>Ñð¶B±º½õ¨ýœjª,"sà§f9+ÌQœ€xÁRŠƒH)HnûmfTVæ€cЗ ó%Wóà|Ç@If Åú wñltKt;’SyHýU§ÑA]ÖZ1zá³ò(›@#Z‚Ó¾bЂA%Ý{…ðŸ–Ò§²°|ù¢ÿµzŽÐüœQRHH+Ç3™ðw›å¾¿A›­Q‹¤hf™8~¨ðÕ—Ò£¶›W’”&L‚Ò€ß ÐJÂy«9»½dGR«…n\6”t½ Áp_X'´?Ï’Bwe½Òäsø9i—§iÐIu‘"ËÁÇ‚™wÛ©tüC¤$Ô©Ö~ûo²úRJ& ­i )€‰OÎÜ4„; ”¹+ÑÁ^ÈÊ2Eÿà…Ïê@·wÀÙÝ8†q¼§8²>ËR{ACÓ¸±r²c (ŠÀŸ(¾3³ä›»iÚàËk¦#”ööP×Möd¥ì°Ÿ³Ÿ‘¹à¿ò¿í€jw@‘2ï=3ÛIZz…]YÃ$¢àк32ÎÑ:òÃ4”GƒÅ¼ó˜6FmœÐ—iŠ¿é:ûA˜¨«ñaA9sMÜ™0„N¬„i@mÖÅ™ÍæiD0‚H °À:›b!‰@[–ýA¶/߬  Ø€æð5æœñˇm§i’­ËaÁçH½z—ÕÝy'ÍaÞvº#t Éž±s°Bç“K×Tîîn‰?F}X…Öÿcæ¨v„DªÈßol',l¨ìڔ߫p*ôsÜÆ)¥;[ZØEÌí]ý5Õ›£'ë—;!Sx/mjUsB„CÎ¯ÈÆÃ»[tõí“ÄxH6={å ÉE,—\"³j 踼^®œZøŸ]g–IäA cÄí—óó{2µ¶QRàæq’£þw}›TˆÿádI“¡‚J7ÒàŸgWð*Beíèª&¦ÓTš-…'s¿’ÝHÓ63°½ÖÔ†5Øúê’1üæ!-¡&ékuÇ} F~íb'¡ ð´×ŠÚ ; ^ ¹€!çQr$ƒÈcÔ¡)Ž'âse ·KiÃãçõHBbúÝk˜”Å‹7rÝŸA%:H4÷ã»íç67â9Š:c©Ãb ¸ú\݇Æ»oÃ/ÿÌòQ¡¡˜ÐÙ½©‘ÈM§>ÔÐ(¿( ½„T41::'õ?ÀÀ¨| …€‰³=ý>þQ•úDᜅI{„pïðàX<óÒX}’³Å7XóQ's!'éPóE<+ZZq´ƒëQ¾÷‹ÚY7n‚ò ¡"KÛ­âì¨u~„AtL-Ýlzо¼[KF'â¦fŸÒ‚Ý…únž¿ih‹¹µ}ÜØGþì±@tÖ‹DÅ‹YerÙ}…ØÑÉå¯eó]žÿÜ1NDzÜÙÙ³nNñ ðõ¨áµÁ”üÏSÝ̤þT«WEÇ@0ê…’/àOÄRÀò|œRŒ)¸~ÐüÁȲÔ>ð¨AŸ*\²“â'gä/F‡ì«»Ùq¾LÃƟJ¤üGÜWÐßà§ælç$©Þ§[?ªdëqÔ†•—ÀšÎÚrœ¾z½! ಅ±:ÙBÇ‹bKßhoRè˜ë$5½ß"ãWpñõѧ‹¤Œ2ó‹`ã¦T·IÃRØwfyØ KA¢TúU%’7‰¼Ú¨hOBO´ÁB¸1äW¢€Ô\É‚—ô<¾ò½¥ظn¯ßÆ%Eò¼PUÆäºd–ñN†ðÿ€ßK;†ïy)èÜzËWŸ@Öe拾}Àöºm\ÇŠ;õðÕÚrÑMÿèö©l4[\3™7 ”mcÈÆ0s]¹è¿NßARP?ö´ÔM¸h ¼¡o,ˆµ†®¤µYÓ* c®X‹• k97¸3×ßþ¼Ð@‡kþ!!v1÷3¢›)+¹ÛêO&>ÆèÎ v°äußÀ(C½åâAMÏ×áZs¡x±ôùtnÿò"Ø/8Ü~{^þ;UÝÙà§HRŒI ²@mó¨Çúr£­aÓ®vc¯Å/DäíΗsv¾€ï0uW.P‘«L,i€‘ ¤ç.Ó©ý,‘*ü­Ûn»»•#/+W2ÙÇÁœê[ÙéJÎ,ç_´Æ› po‰SÊÊ<®%à T˜NðCøó*fÖÃèÕ+zU'ƒ”î¦ÍÃNCy‡âtWUß\¶ ‘P­®¿´nLÌ­l>Ҝ݇ƒå«f®À:áñÌŠx¶Š8I’ßœI~ÒÇQÀ+¤ž¼ùç³”“©1bZqß´…´ÇqÁ üªóMU¶/6O& yS±,‡âƒ©ú𠀄‹^QY˜“ѯü¾pLR‰Ðþ(CLZ|´0L]T#®—™ò) ö%’Ϲ]x‹A%ÝH,½ÅFÞ†˜Vð+É ]ÇÝ›ÎsƒTi§‡›ôÊ•³—)š9䜠D­0FCΦî»%öÑd‚ìî¥4ï”7I÷óh£Éç5|ðO~‚ÅïÍÌ3a\eq8|ñ^Ë—ÁÖ›Æ\¼Û^ý<(¨q"-ÅëP«ºaíPåk3G¡ £2ùš,õÃuò¹²ŸÛ¤?õàÿ£–Xê˜â°±ññ×mqh+]±j%üTc0$×NŸâ–Etiá>4¦`º„ä陽nÞ|¹ÝC»j®°o¬>ûu1€ÍΓMù-}«ag¬ú´GúŠQöœÞƱoŸVWèqÃü?ë4tGüüâC­¯€Ü-•r•†ÎÇ ìLÁ7ŒHºbäëß?°„™Æ)¨RZʯϽ•ÄI-›ì'³Wôá©ÜM¼;VÐËï ;ûÈBG} ²¯¦Ö¹°pçŠÍ ¶Bynæ¦Ò˜Î:F?”ˆâÂvK\eþÅk•÷—-2üÙ¡goƒš8×Gh±f‹£À©hô UêÍ`ÂØˆ®¬¨OœyW×"dØç²-#6¦ïã•¶¤y>õ?€-o ‰×J Û?´‚†'~ qzppèÆG“ e–­Û`(ú°Ñ/Éms†ž“@³CžuÍög{çƒ8÷Ë<¨-êJ\Ã…Û[TÊÏ:Å#3ÔÚÝRЍu™,äŠaô\V¤ †*Ö¿bâß®ÊÓ™hyi˜=O¦F1@Š:éûéhã×íê¡Uà{ HZþä@ù‚U¼8V„NkÃ, º±³'R~»Eã¢ã¡2h®·!ï?׋™’Ýq¤Š]s•¾Ï×hiÓtÛj«T’Êgÿõ¸‚-®L WÉmÂMà=iå(Fp…óªK+ÐQÂ!+*©=(›PsJ³Ñ˜Å­ÚàÅþÜãZ`om®Ž1÷ ŸÀ~.“"‘ôÈ&, ¸÷5†ÓiÊp¿zµû Â@r‡H¡AµUwêéRwkóÒmÿ¼ 0óš)&¢iGsÚ™DÚ®G3ôXì9Ù[»"–œMÖ¤˜L¨/Þ ä7.mðœËÚEàA]Ì—rÏDüNêÛ9ö†jÚ(ˆp®”Ýþ(N2ŒÝ{”Ý&wî k.Á¶­M{¸ëÍïÕ)r!èAÓXõáÑv Îd]äw$‡s¨Ÿk¼e ƒtc}­œgÂÄßgE'Çó¸ûäì“7MXÌ¢ŽšMÄ­¶bŸfG•ãšn5KÍm`«ƒ“!hg vÎq9TÞæ7€\e©Z%_¸À) •rÙ¨ é‰Ü+öÁÑ¢:âLß>î[ô‘²AÑC—å”Ñm¸úÚ-_ëÜ&2ñeìVöz¼vy¼çàkòÑÂÐ8º*)4¸:Љ¢*Û#šÏZ² ^ÆC”¼Ò FnV `¸r½s°q#ü…Æ“ÍS¹¤Å‰ JßójŠ àévèí >¯5šüú¡jŒcêZ2Tí àëôб;ú!¬GãŒâ(=ª DZñî6¦PG¤„'ø'¾$[ת?s˜$Û„â˜×7(kô®†xÁ)êqtˆHˆúŽP¦‘§w ‚0Ã(DÐSëõ§Ô]ä&²ò³%éXÆ#wú« ^oÙð‡.­q(cü"œÛ°pN+øÅR½Âæ DZ¸ù†sZaø¡"àÎ9ìÁñ,­ÃùäxF|@ƒO÷ã‘V܃{²ú]M)[š>„a³ 2á6^ßßüúW¨¢”SSæ¶ð§ðsþe™ºY»cq»%¥²LýÖ¼V§°L«³šÏPØùQj­Üdš >J•¢júç\ó‹ìT»ñžðÃ.G«²ü_À®eæ„óêe«Jkž6¤´W(a‹–¿R`ÂÚặbI:×V»‚Ê•ö'QŠÜ'<¾d«V™aw@æÕÀcoWzÚ—ø¡¹©vš‹Ã]ìxßâf`×í9ÈÛ3ãØDN LiI¨ zG[lvO_)uçúy™$x” B#í]^sbbdÜ=¹ùLŽÄv°ñ÷ßÙñšô:£ Ü=¹fŒ®ŒÚW ~Fµ¦î`SéêÜrSš‰É²á+;2g „^…Ãåû-ÓÜ6¼[bª¼Ám°èÊf4nÃC}¨ß’IAÈ%x>n;½ì{€­É<Ayå¬[uäÙŸøqN/'Ñ´”&œ´²W—‘½òI?vÞ±ˆí°À>•æÞ#gÂ`jŽL&Žk±uçbaÎ5"D¡å¹ìúĬ¤ñBx¶Â‘:ì–gä]ˆ¥;é%¤w.\ ³Ÿ¢Ô`ׯ$ê4Iƒ”*ÒÀ§ÒCsaýN³-ÔErÛ1Iå\ýþò2ÃíÐr~ÊnåÌ7h¢º|ÝÖÃëyÿâ8²pñ\<2Èø»lÏôB*uH<÷¨o6‰Ø|Øâ>¤¼,Ñ<ü¸’\Ïj©âÁÜ]Ž[8$em•Üû’– §7ßk†?¹à5¢&»{´*ä‚)ðÓiQ`æ…"z0›G_ÏJâ]ÔÛŸÜÌV¨àá‡#Eƒt©ïZ´p©H¢9ZAºd˜ù½ÝÆœNäŸñK凇 jì|Œ ¯+ˆYÇÉŒÙ*WÈ'ÃÛǼk|™_õðÅx*ãõ—¥ÈºOA%vU7ç1kgÞ¼ásÕgÂhü"“Lôð,>Þƒ«D«Úä–¨îÑGOíëÙÎÕŒT‡ðGÐN{(,5ÖÌpE¯0|š{@‘ÂHŸêDTG^¹–bÀÙ&¹åŽSVá[çÀA.@v/*pyͺ© H‹Í ,Å?¤R²h0mÄEZ9²°:Áy#˜lójuÈm•®q+Ë¢›¢ð˜ÉëÐ4…€Ä›azIùeš–eÞŸPëBª-°àÝTšq‹™šé§,|«£v—G;ášDv¾ Þºjë¢qcîž»v‚saú'1QÙh Ž¢hM%Š’cš8nBß<'F¡=Ä„À9Ú €ƒÏ ¸ÆÄRy@óƒéœ¢à5ºì˜d¿v×I8V‡“­Eaø¼õfü)Wëá«Hâ]+Íji|›cЭtÆñ çL ö-€¥Í¢–„gÆ‚?ù=Јø.4Úãx ™‡§ÿ€íO¨~¢îsì΃îÙû€ªŠ¾oý¸Ñ ô¡Ó,–ßè ç1muËÃÞn°ÆÍn?­Gî†Î÷ºÆ¨Õ¸6è&Ånv=}r<ð¨Ç;½poê'ö’`lüâ»b.7Ø¿°æé2¶ÿÆxø=Ï·r¥¦×‡vèÅñ^¾ À0vЃ¼(Îò¾)È3ï‡5Ú+fdF˜¼BÂ+ô=EûŸEj–™OÉhLÙ†`‹Æ¾”Àýb^‡?ϯġü ®h{Í-“ž+d| Ô«ÔWœÀ)½Œ­€ºDúhÚîÝñùÁË.žãA¿O­–h䌜4MÀû M_ÓjSà°Eº×'³tÅÞ¨ç=|g˜ýϯ8¸fZãáúsbÛR!7ÕÛÏM¢ˆqß@im7ð“åe_"ÞOÕºm·ƒ¸/çôp×3ÅãŠ1±lçØ½Z‰Â®m¬£”‘û9Ï!ãóÀÑ+IíRøEèÌf$óËêðÙ.¯•íB¡\ûx?‡Ó}wÜò¨Y[¢ÊØ3ʤç;'{§†Î‘&99/Uõ|¾tGÈ×Qa]ÍBO…1Oú¹Ï'ÔJûxt+‰XuGPÖ_¤ Á|5¯ˆa©âƒA0®zSy)¥Ǿ"W§EwP:ðJR 9J¼›ÿdÂ{ã¨æ¼õX ÝÇɱ 2H+ Lf³ÔâíÇŒ1eZtêFŽª'éíu,¦7ðZ©X C IãbO}•·8 ÌÉ…ò£u°u9†b}a)+å?@Ç<¬ 2ô(>uiá4Ñ‘^6$áÖ¸j‡ÚµcÝ2V¨Áçr¤9¯Ñ¨Yý™Ó’ô‰ !QÉq†6ïE€ù©BÕ%©ˆóÊ SG¸6b&#êhc{‘Í‚Ü&¢^ê·Ò†ÆÖeP+ÕÀmÊoEgF×äUB²ÚCø,„­ßâ7]YõLÒôØ/—øûß pØ­ï3Q(mM®§!>]ÒxŽàžCLª¯ã I-¸2O´ö–lŽAÙç{‰âOPH؉¯9“–˜ÏžtƒÀŸÏÃ¥Š3Í\óÖooæäoBïE‚â\|m¶öh÷—¼v¦òðºò+ºÏmJ†Ò©õSè¬j?ª¯¢RØK?/¡@%ó§l9…>Øÿ”KäuâûÉ{ÆMO5?•R)O"¢ëˆ8.lö`IŸ 5ž¨Sý(×ok²ØÆ{Ýð¾OâšÒÀi»â­÷—mU KÞçj¸”/ÌÝôé´Þvæ šOFÉèW¿Û:*gv7^òLæg¶¸PâpÎ*tYÔõoÊ ß|Ô–°§ÌÉ.1!PL›Ä¬âç<‡„Ó'id·ë½t—æ)I“±T9!HRÉg¯LB&w›o®mý!¦‰dçÿÀ¥w¶ ô´l÷Š]+Øþ¼é@/ä=ÃVŠR/“Hn•Q:;ƒ«Æ¼õš»:Q¹5¸d÷k7óaZÖË%=wÐ$6uxÑ|ôú܃z¦€û¯wqôpÇ‚FGA}lzéÍ¡s`…†€>ìÉ4‚×·†OrHöQ䌒ÏP¹Ë÷-ît«†˜ºûû'Ü£ÑXßS Ò¶™Âݽ¶°è¼ÓKá[-¬ãuäæZòTea¾ ‘c÷óµq:ØI6žbJDK»‰ÙòúxÆÚ7dØH§zÒez Ð]bݺ&¥g¸$IŽn‰÷úÅ!å/Hp#²ƒ3ãÇ×m—&–ð7…M«¹¦„[€®Œ^mh±ñ±5ÛIšn{fØŽY»RAP S¾?Ö"é ”2Gê_…eX[ªBHjm£3È†ÞæŸC¯‹ð;%­ßèI´8_,ô“9ÚÆÉ8jˆ¹ªºâä‚7öj[%6éP4¾W‡Yšœ9§½h ¦§OŸZúÌj#„òG)‰½FòŽòû=¤EËý5à¤ø©‡Q¡Þd¶ >’I*寻žžV 'æ_N©5 $‚$õ7Í”iÿ˜,”òw[:xê®tCª½v¿kMüƒ†®²œ=4¢4ëÚ<Ú+`*oåÄz1æJ)_p㓦@Ðò&m“ÂÞrê~9É­á‹çO«½|È‚OøUÏ‘3£ÔêÉ%èšã—²½Çã[<”.W`›‰LŸ®Ç:ÔyÅ·DH“PK?wÖ¼†Ú'¾Lc]èÐÐY{ DÍ 7‘Ú.h‚ß3hÅòÙ4ždâY#èzùÙ ¾Àƒ5 Iaïð %=®lÀ~¶ážŸT'–e=ž³ƒ¦ßò–Ízã¹þ_ÂsÓb¿~“ ÓôÒ†+Þ©L‚¡ž¹qÄ‚±¥›¬ºË4Iìf_HW.ñéÄYF?~ØØT@s'›ë"˜Ä÷ u?Ä“i”¥†#|ÓPºˆHI”Ô |–n˜X`ÕnÙÑž'~d¥÷€_°©Ø¥þ{û§ LijyÔØ™ÍkÄÑ]Üøò m²sOÐeñaÌbK4»/ûP•v†Ò¼ÍÖÎ9m௚à@˜µM+fËNzÃRèwv’Aw~°†K»|½§Fb¹hOZôüýM§Ê»CÆ~t¿!vý!ʘA#{56¾¾¡¤…þ|}r/ð¨kîQãuWÅ£PÜÆ*ár5gàëxŸuÖÉõ|Š0£s†Ö&r?¨ŠëÓ]Óž¢òÆS޶vKEÑÃÙ×-ñµ¦,†¾ZŸ!Ø4|â¬îVà;àb²²|pÀý‚°|eúë­ò˜ .ÅÎ%˜ú©is\'-<üäB~¸×ª_,Š™5iy€eÿÏÜmy>*üqÍzåßßîÑ®Ñ|®%’¢š ‰kòà‰ŒGX¶¾%ôÍ©-°´€oÏ1ïŽÊ©‘‰¾âLJ<£‰Õ?Ï+3¦ËTÄ tA)¨AÙÃ\¥)º£Ùß, ²$¤½Â|3¾5‰z¨°å ¶˜Êð%Õd;“$[¦"Å-g9~E7átäÄvNré^…Gµú-—i•S„­X$Б{)©?ûÊù™|¹úM—zéÁ«9p×Ö1ý½z}= ž1ºâÞnÞg÷}×Ûƒœ$8^DéÙ [È­„3¼¤GøÓ¨Œ8ðnõ%æÕTB*e|áN·*wêë ¹ W(…Ÿ°¡_ J#KYôhË2 ¯×ØK`ˆÐÓ!2{³N,gÓ¤2ÇæxPµÉó.Ø6mW'†!6}à𨫾"6°µ:¤kÇÃà³Rs¯}>>o £hçg[ÍZVÞA÷ªò_Æ+6 üBß7 F~£…(âKy¹p ÖƒÖŽµ&ØZPóÇ=P›Ò­¼JIíå—’ÊŒ²ßŒÖ£µÜ¦ÿ‹ß‹†ÈÊžàuùüãVò>o7SØê:Dwu±cC.–kšûIlÚ[üïÖšã¼FÀ¯XŠðn)¤Q‹&ðækÊÀ[—Ý¿6â‘Õ¯ _>¼PÑí*•¯Ê°N^º ÁÈå:1™jyô÷QÛŠrÅ ßñoû¾áŠ^ü²xJq|ö¡ˆö2n³»SF"Áñxì|H‡I{px´1“ÅåBŒ~ÚÅ`Ò¤ÿ{Oz7|b×i5{© ˜/.Âg“éðá?;M Èõ ÷Cr¶–ÙF[¢¯MvI#{C$‘GjëCÌO^ïéξSPBÚïªFV]`:TF¯"mOÛVyÄøÊ0'4‡^ñëäøÛg>G´wö¬çïI’iû ¡"ÇøµHxð¯;ˆj$Þ¡[½õ¿3,@´§•®FàhÖÕn¨ƒ®=Ûøœ…Ü·^ä•‘(¸ûGæ©¢'{çâSâ‹ÑHÃ’ûi¬ /y"kk\íú@þTÅthȨƒžÁŸŸ“Rãæˆˆ©„“8öbÖ€Ë(Âgñ§Ýû8ެÛ(Þ3§IøN%^°Ö¼Š\_°½^kjÔËFÆ™–×…ô›Í›°¦#âÚÜ¡{‡—ÖV¦‚ψW0ÎuÓJÿ'mû4\kÓÿ*6¡ht?÷žª­×癋üxF;ÿžq Œ>¹Ü•4+ËÈ:¹‰ˆÂ‰H#@+k±Ìlüûóî7¯CGììÐv儚õ$x^/"]†Š­¾[çŒåEáÌÕ©Gsæ½—•äâ¥Év6Ô—b’Î:’Zdú8$Ï ËgÛÆ€•L°>¿ßK¡f2tðåʔވ< òµ“«õ7z Z¥Ëuƒ¯¹š“š»ñ1‰¶#“Þ¿ìEœú6ú¶ú2ÒùŒW <»l ÛèAµ:0äŠÀoX¤®¾âÛи/»VòEÇCô*¯)'¹ãðvš»bSºðÚ‡ô³ô²7F0ߺ"î5—uu0¸Ô“ ï®âùõ}Øh_ÇÒ áêSÞÝ;•¤hŒÃç¾eõÆ,\ùHà‹‰Ž wô(¾©@I«¶Vþt;«¹¶Šž4‹Ž1Y…>fïv¾»$xÄÌK®Û0#bÖN€—¨bät0¶¢\Rä'#2⢀žªÓ~£Î™á$¾ÏŽh8. ­Žë¤mÏÑ—³ 0kÝCŸTn(<ø²<9À_3ÀwúŸœÍjÇŒüßœnjI‘Kwª€úC°·~õÆÇ N+[¾„yìí˜bÑx,ûÛ‘ü!NH©’]È•»Ã¸ U ¦7^ ÐmqùkPè°Š>h®à4¶B0ÃԦÜÂ$@JüƒVÝ#è&4^™£>‰ÆomPÚÆœ>¤þŸÖÚ›¼çóáU N]ªÿãÑíiX÷L@;¹A—ˆš¾j¿¾Ù˜ú·g`”Ûê-6f)LKËÕ=aöU3Qlêx†8o+,¸ǵôîk#b8BôܲE“r¦L?ú+ß X` /FÞåöëviŒ?rKŽ[ael-Ÿ*]òÄù0mêHè¶h°×T"ÜSߺö˜.”u5Bq†ž\Ö{Ÿ Uæoò’åI”ýšj©º%ž„ÝP¨AV|@ÅÓj ЬD/g"V*º@Å«ä;v±y)à‡£åÁg"L„V[¿ãc 'sˬÇÐ P‚& qkz”—bÁ<{¥ä¤ÒŸ<ÊR2 (½žùˆG¡Gȯïß½Ýfˆ{ì­ø¾VVFG•¨o»®rÜÂd™Üð2|³å°†ÖÏÃ6pÞ-b(¶ŒÑA„¥¢Ûß=,Ú°k€ŽôÀ#jb®9‹úü­Ö|Å‘õõãu5öH˜U0I%—¿HJÉBu5K/HWåBWè.ôD"Öˡӂr° ßá!>÷$”Z²ì[< pÂäÈâ°¡j<žSΰ ëÒØ¯úŒýæü™'_A ħgÕ½`E¹¶ÉÒùÅ×·íýª•^¨,k¥f}‘ú9­º,xÁò¯õÓ@š%O8_ÐBTÒ­x®¦°I.œì;W“˜Gó%lBóŽJ¼‰üdG.tBÊ1sZÅèý߆ü³°Iã*^¾ÄÛ‘„‹ˆš4`U$ÚX¹þô9¥1…_:/k“çíá,鎄Ÿœé¹í4V´=º˜&~0[;›×ÈÈ}A^ÃþÒýa‡{+$6òñÉðV—â `"ØüyF63SƒzA¤ có0p˜y°·»»ÂqkCwl=¹ «¸–:: ¿µºyÕ.Ö¬g®Ôåækôà€ÞH;jÿ¥÷ »w¯p8#Ü?Aµç{Nߊ_|7 |ûv¹=¶3î0ÄßÊᢅàú,¸ô?1É\ -ªÉXEØEV‹öt^þG™ ,ýµè±,è}KœªzA÷¿n|4'ªhμçô¼v6Èi*ó~7lÒ¸s¾õñ²¨DiN¡z%®áœ«}èN›=W ô¹À,‰ÓÇ1í(N½*»†)“&hÖž'Mm!PˆÁÄUú½ üuuî[™ÃaöNG}4™ìNŽôƒ« ¥5¤¼Ï×å ë‹x1×fØ”é é·Ô¶ÒÈú’6Ÿ(-Õ†!h|" ¬»8·Ë»•¢,ªVæˆ].®CÂCø‹c#ªÃ©Î6¼UÖ‡©[¦†Ä5¿ÒøünpÚt:‘N…öäÂà<@g^ªÕˆ¡Æûâ(wö?‰Þ+ŸI¡þ¨r¶ãæVćŒ6ï'o»ém‰Ú‰sïTÒ•¾Jq¡M 6M¦iþ}>…%:sf¤õ—‹x“tÁ”g_iwЙìQÂ\/að†ÖÐŽQMa\«‹Ý^ê=!¤Fíã¨zjSÑ¥Tzñ" D^Z›P~|¶‹?êè"AÊmªaD݃ _Ë{ÍÏi?gŽD!?ö.ñ™¿„_âÎé¢Ù(<æº ¬Îžh"î]§!– ™âÖ÷ÎOUn,9ýv„¯ãüë)ÚŠâŽÙÅà ¯sñVD±Á3èÕ?Ã÷#w¤â#¥µMµ¢€ã5o-Çxp«ÿ qì‰Ñ­.6û0‹­üJ— ³fJx ‰ø „ŒYˆóãzÚ7kŽv†”†'fŠ»îé3H7ÚNîM*=øÆùçÿ#¼ÁÏִ²­§jýÕ-²ý©FY‘ûw?î9*+ð§.'ÙžéðŒ<½0-’\F¥(é&ôKŠDhçHòéû]ÕDk®ÆÏ.#¸“)CÌJxaI%¡«ŒÙî€ò¹Úú§œI‹k.ŒŒ­¡X_UmÖl‚5D¢Ÿ¯ã¨®@ëêöÊr£ˆ‹ÏÅCÑ}bÊOï?÷úÓ0؎΋méQä ïðÖ6k‹• Ž·æ9+ᵩê~¬Î©#×-Ÿ†Œæ†ÚŇ{.í²¥ ù7„ï@ãûGE±çÞºÏQÒOÒ˜ç ¾I8ïœxþlw¤5÷–ø¥ÅrØ'ÔsbP±û¹A&Ï5BÆÇÁƒfnt|Ujñ^ì-ÑÀ5ÝÛÉþŸëÃ/g¢5;¾íÛ¯²ÚrC*Iy[ù^ÜFi3Úu‚`t¹ÞrÁ9ž"8ݺDëR1šm6µªÕ•QRTŠÍûÍ¿YðtòU!k<²ÚM޽}F,39fpì1vdN=%~h¸I6û$~Î6&ÝÊÒù‡¸÷ç@€-¹ä¿º¬L¬ å©8±¢nže¯Z¼ˆÙ cÁcB…“fûáO¯OòŽéEkbš™4dº½å±tunJ+ã±áËÈ?"w†‹8Ûejë)ÿ¿n79™ö£â6{ýÝ¢›‰«®šÔÈõÿ=/)ÖÄÓ' ›»§ºôž”p½ß¼ÕüSE"Kiϸ¯¦²Ÿ.‚›¦æ˜$àmL^.ÐW)Py&סÓʘKÔ0º{ÙÈ^RšŽå»˜CZþÔѳ2ýö=ôRLC5?àÂÄà±ÞöCáæCF>jŸF&ÒTeï~ɺ3U‰?Ö4;˜˜? Qn«^½N^À,zkñuÐüÞ?U!w‹7õíD c‡X~ø] GkRŠšë .¦ç[Q¼b¸’ûíç5&(Ï‘ÀRê£Ðþ(âX£åŒ©‰<^ÅéC\•í&àÙ7Ù!¿f£Ý)äêPêoÉ?ÞpP5FJj°MŽChÈ!>B…$¨08Æ+™á<ß8  XÂ"p¡77a³b,µ¼wz¥ Ö+מKØÕòÑ »V  K&ÈÓÙ†Xí¿œõô,¯Ñ[—ТÐÇQ6Ó{Ë¢ð(wu_ͤOñМIoœðKB«TÔÿA€ËߊU]Çh0mš\~©wA­†ïón•qèü5Æ’C |žMþjpF5ëä¬Ã:ùpÂeêyh›ê©ƒdœà@ïâj<9b~`ÛDü= mnLój|àÁ•ä/1ËàÖûîü®?Xy#`“ÿí ”Vú)S±2!ÃÈê­kïéPux:ˆcl¡òæšJeU݈™Ï{PÓ¼c™ì§*nÒ9¨'¦$9MÊL#Z6è crFVÌøºAru¤z†Ä sŠ] çBgÏÒç/¯ °ÿv^”áçUð>‘k[²ks…HÜ3´Tß]b5ÍÌGÚ?Z¶Æ÷Þá(õ4 võ¥žÊ…]nªò5ƒI'ZD‹ï¥ç'ÆO³ Ö·WÕ|Q&‘v¯ÂW¼˜“â&xÅ"70¾ÛẇÉÀú¢í”rÜ/í²&>zUšD$ÿ Ê«ô¶ -Äv›üD4²Æ ¿ŠdJ`ª°K¸Wk’!ñˆH<—cKÛ,..Ì,¬09âQºþÍEËvdjNuê+ŽFJ6î û@aKôE•ïý¯Î’yjYÛ²sØÕùuL£±¦øOep±…+v`bP ÖþÐ[ÕŠn„Öˆyj¶úîí›÷/=è  x¨b^ÆUX—tÜŠ^¬HëpË£#£¸Œgh‹”£ÈUã‹7K5¨Tèš<,ÙîàÛÿ ÂîŒEÌ“â¸‡æ ¡ >Ï™9ë-ÊòT \¯ €W€ô‰‹!I:©Ñna9*ŸëÕÒî“HbyuhcµgS£ù¡AÖình°Âèù‚iWALÇFj1Écl|ÃcÒ®º (PUg™Ïþ>a‘’ ŠâÇú BýØÕœ–#œQ¸ò Ró<¨<§Ž§Lã(A—&r[ˆ¶cÚnP­ktÕ]²âËC.ÊâšÝ”ƒØŸ—N‹Šùk§’·µI}u̬çQ)ùD1–{ Õ~Ûê%jñŠÊ×–ÇÉ·Y|UFݾóhà¬Tämï2vížö €ü…þ84.þEè%t„j.Ë“õ8`p6ð&ê7®FuµyAÔЬÔ#4{æTµnËôø8×ÈXà™XKÇ®‹½ ÒB“Ze°²hYù‡ðƒ±,a\ƒÍ{ª‹¾"iÁˆ6hµù¨ûí7–ùZÆó¯°´…sñRë7×6¢Úͯb5•+2¾Z e_ãwå‘íµG©ÀÚâ ªïéjÅ|_Sà^X<Ã,¬€‹jhî† ³w³™˜Ùj6E}»ô¤%D¿Ñü}2Ä] wx„ÇÚu‚žGÌcò?»HD~S Žr¾³4‚1¥ePê²%]Êaw³-2ÈŽú^ìÍóo«!¹ù¤ûœbÕêŒÏÕr+½­Rg°•ç}¥wL§H²Jž$-Ɔ̹8œ™wê64u0l¶ò¦¾WAÜ3S\¥ëXÅ£ûóªÕIJl6&7ç±Oß1XôYÒFD‰BÞh’=2/^ ›ñz»Ì!>t?«x2{æ(êùXNJ~s@‰< —'Æî # ‚”¦pòÆAu–CVqEVÖ±8mÍ'òAü„á~O,qQØ»,‘‹²±Kh¦ëf›5Mgy2%I½åð*l?ùSG®¿é³ä©ÀR{ÿf`@¯¨“ué¹ø IQcÍ“8©b?ÙÕÛ+á%ºlÿ,H,Åáë·üã_S5¡NmÜÚçñþSSªyÃH!ð|'¾VÔJ80u§¬#IóF\²M^àêÒuÊTMÃâöñ…¬¾X&8¹*,•ý´ôþ,';D>D%³rWС¼ÈöÓIœ ¬òȪù­÷#"§f@=8˜ÁäP‰½s¶ Øšå­b{r>³±Îë_Šà€ksW Í#CŸVð$² 9½¡¯ã &ä%a¬käß ÆùÕËH×ØÝ‚=5AÐ>aû‰ï•NHK øÃdÙç‚ôÏ—*?éÇÍiúÀ»‰R?çšœCPæ:²¢×fD¬×&ðë)-«Õ†¢ta™‚*±süN Á¹´ž.ßF4•—9«1䢨MW†c,0-¯E¦é x]kN8Å12Z½ûk¥Y..Ô÷màÄ6)lT®³´ú ýáãpG—„Åé£ÇWÎQXJØ„mŒç¨·.<Ìñ³ûm[Sv.—EŠƒ½p,æw}pj5=ô6øÀÁ³ø—lÀoÿm\ ðßfÁKíÁ§‚¶á-œ&—„ÃÑö㆒@úiW«hMœòÀɤgH¹K#kƯ½w§ŸÌqÇ«üŒ²Ø»‘Ñnëj1òÜB¬f׃ç/·¯m! S¶œ· Li[¢=½xù0Ëkb «[2?ÿŸ™ îåІñeO¿‡Q PÁž\>[¯[SøOÍ: ß ‰£Ð1¼»_-øLÕ¿“>V}ÄæÖ ïNy7(h¢®&¢zÐjœÎ¬g¡Çè"4Þ#žq“¹nñjGúÔ$u©9å_5Í` œBn¯ q}†T˪ëXÊãèÐâÍ”½`:'(.oå¤x#.É¥ôóÔ{îœÒšŠºÞ‹Àhøà0¹êòŸ+/˜è°(°™z$ÁæxTÒ¶v[c¨ð$lˆÓ}òûHì‚V4Ö°ËÑ<èÕQ û=¥¯Hô¦Ì»ËŸ˜TÐëÇQ“ìa/ ö6Š=XØ©’!<"œÀ€MW,„€¶/3›Ç­öâ á`„(ÐoñÒ$z-†{(O9sØ=ðOÙ 8þϸ‡ ¯ócgTÐÕŒÁï*b¤b/ò¿#ŗ#- 'bvõ86UÙ#°¾ ±ù‰lÛÂn#Úì_±ä+ÍxµlâØª¡@øµÓÎÇ,ÿ_|4dsüþ<â¤Új1vq2p¨K#‚"¿×¼ú£uæf/Sçªf­Ç¢â`jb@ĆBúÁ‘–¯OïdI çuúõ¿‹ ¢—õå6KH¢4 ^õnz›Ò£+Ñs/z^6%cPOý|#’Œ×ˆÏœ† àÆ¥‰§ÃB2 kží…®ºjé‹ú¾xr·$BÀ‘­ìèøÑ|™^Fþ¯ ÑÓ}Kî\ï«üǼôT” š©È ’Ô!¤*õµlí@‹_½ q)(Œ y³éï‹sŒé²`¼ m¾‘L˪Yÿi{™eÄBo´ÄAT¶›×v.fÚ‰æÍ¦À¾q$¸Ù±9ÍúYÖ\ƒµH à€÷©q«äàÉbêÿ\ÇØüQÚ;Âq·s-Çí Šä\òœÜ%ñ!)J!û°£x‘CŸÖmɵ,´’ÅÐP“xÔñ: V!Ä=šjp ‚ ;„s.圱ncŒôWñn­lÜœ00¸$bà9o ©D[¨<@­¸¯ø”˜‰Üв›Šn•¦¿OZAËd°ž:ÒhŒA&Z@DgŽsÙp451—ß»ìë%z ]àZrÔ§O#‹sV%Å0p;¡´ssQjâ0:0$®ÎŸYª¡_ÐWX•Ö}F1ÿ*Ù¾’¡ydÄTÙY»º"æA²Õ—a©ÒûÔ’5ï_F»ÈF˜(м4ów½ÒrB¿’‚{Ú¤knä8¾¨FG9€‚fáRÖ[ù„kx(•”hªáïq·”Ù³ÎçpIÇ}V‘r˜ˆ›ålöøâa`qœsàÑp§$(0CŸ)âMŠçVnúrÿ*·Ð[Y¾éuT—GQ‰’Nç/6œc‰nøhÎü¶WÒœÆÞ m (ŠÐE`ãÂe¿ÍÖÀj7¬T[AšîQ ,vw¶ S‘÷ã>3).ãI·'4’Ë2Š7ñãav 6‘yíDÚÓ¬È{©+u ¡ ¹íàÜ[´ÑUTÀ'WÓÚYÊ8ú1IˆËmG±]q‘?Œ€•BN@_ÈäŒZ„§`øØiø6YÎ~ð(ÂÖ£;©¥FÓDêêÌøe¾ÞÛÈÞ³û”×h­ŽÅ‰%Fyþ¹ÔL’#d42x…Æ3Z9ûÜùˆö.Þ" 7ð‚Óo¶fë0’0r²¶“¨ô<¢öâNYΊ„Ú&˜iþáän<¯&ÜÍy/e¥×rIk;ÂI§Ê;÷‚Ý?Gæ x»=`êw¤S}?L<,ÒßG牴•GÔºŒ»°€*†ïp.Ò{ÿ¹ó)Ò²™â¿k,T÷Žq£·SÅKñÌ4aæ¼rÐÃÅÀý¡G$Á]$~\ŸÁXêe¿´]\ç¥áûD.ÂäÉn!šø:õ ¢:Å8=à±iAëò2`tœ5EŒ`¦mk0UÀy_½LüÜ«”fùiW©6Ó+?½\C Sé°¢•TÌLÕ‹üÉ7ʲ3[(2ܱÐk¸/ùG¢ )ÇÖ W#ªŠŽ/šžõ–ößFd‡ÄO ž: ˆëP­ !Ô$7ÕzË$:mê=sp¯ipk´ùë&M³çA¼'`ÀŽ1‡®G^Ò¯ŒÍµÍ%Ñaµùˈ2Z–@&y£¨ØÎ½µ)ú¾bYmî.+èÓ(›Ùâ°í¼bR%nûrKèç=ÀóØC[LɃX+»h7ÜDá¥(ð0¼,þ<8žøGÔ[SìŒJS{1N“ZWÈxŒø–Ÿ C_qd‡*µã¨vÌ>oÉØ»_&Äqùth˜’(çn­YK¿¬àL·ÃôÞL «–ho ‘N¸™sãÏ«æ=‰¬háͬrZà..õòÓ‚´õg!ж þrÕ|?ýê5ðÎäáV‰Ç$¡Ò˜Áwqgt}=ä<èB¿g*3µVEHüÂ1K̲ªj6“]Y‹5MëHïˆ[;³Ññ2UäVÐ ®¯’rñøÓ ˆr!Lyâ1L‰,jxåÓ þ%F"M¢³ÿg…¿¹rÏ·H®¨ŸxOEâý†z†Ü~(RÐßëIæ×ViLmeåp4iƒ§õ–Á¢6áu _ï¤|¼Þ{qøÑ±ÜÈf móåKl›òT:s§I_.2AY†«gó ¨…y 6 7¡ó•ðУy*ÀÍTK cnµ³nÙz[ØØÛƒ‹}­ËO…‹²‹2 @:¶×/2ª>¦-ž„½« f2§×¨˜„Ƴ×U|ãO¶¬üܾçÃùç¶á,pÿ†á`¾gÿôgP8¬„ °0D•*†èŽ£È4eÚ`‰ Mš§0Ë®¢K }[Çí¡"PLÏ5'ÁîQ>ÊÓ’ïp¬¦¼™;UF] MM–Öñy¶)¼OCƺ¥S#üŸ‰ƒ­  MË<=ë|Óf9¢¼žÉʵ+!ýõD^WŠvJu~•fºRØ 7h+Û Êôï‡K2-Ö‰”Ö+íxW"?{€dDâõW¤Õ-ÒaoV ÅrÓaÙ¤R›¥dŒÞ&t_Ç·rÆ:°×)éÄG±ãnvç'o?Â0 v]Ñ} ²BÇšzÝâz }8V’ìŒÿà?‹ŒÜIH`æ¸"ý;Ø °ÎxÔÁ qø¦|³ t3'€/9Q³®:öR@›ƒÍŽ= ^œ©Äº.¼r–]¯»¦LŠ l¸ß^çLø´*{jöEŽ“ D´HÆêÁLgÚÅŒãÐÅÖÁ÷9š'§ôÄ:¦lc½ò¬+¡5”Z< d¾K3©µN ¢r¿®,–ceã;ž] ‚ [€.e‹dì–Ê)KÃ0‚Š3 .Ó„Xøh?*X±Ñ K²÷”U@Çvé-Á”Lðeÿå¤`ÅÃh@wš ¾ðcqc<5âÞ½j¨„äpK.«MhÜ}v æħxwó%3|{F<‘Z3W{ä÷{qfÄp{¿(mh)Þ!TIK_Œ< ­?¦è"ò^ÎTO“™ò*uËÄQ@÷}Ì^AÓ·À@lSw`Á¿!´t³\œ3@%t—’?ŠŽãß­yªÃ%ßÉ¡cž"æ£ï#}—=Õ­º‹üÕS§«°BµŠüVìßЀ.8Ql®Eü€Î£ñX·‚–q<³ò•vÒçOÃ?àœ^ÝñT㬟åà³ç¤<ÏVÄ qôÍQ ´èÖʶ†qvçêZ$nÿþRjY¹½eH—T€ô[a“[*?G{è•$$;åŸÂÒ³’B³¯®Ã‡ä‡¨ÏÁ`)÷?'C}Úûuêz¥ÏR‰Ù³™Y ü §!yçðÓn³õdÏýíRéH˜®JUƒh¬ š«–v¸ŒOÛMvåÒÓ¢Êpnƒ<ù£ özV9©ôÉ-‰:N(:*ͽTzÍ܆lúHž–J2©‰µS{Cð¯¿nÀ¸¹¥'P´Éy·íWóh‡)WgJ¹ÞËý¤ÏQß¡í\Ö•J´ ò(ŽNÆMUm¯µ.|> |qõ“à 4€=Þ%ø²7äöK:cÕѵmC0æ4á"ñ>øaµÆ}ÅÌ Ï‡¾ÎEF^‹¿øÞ´ˆøO‘Ý>&$t!Þßükyå½ÀÞºdnO‚ð–Ù^gQàq¥$( nGœ[ü(%ø·±â -nékÉÍu†Aä>ž8œáæË;¸0€Kø]#/<` YýptG [_¸-iüÜÆæÒÈå¬À\^¨¤>Û$ Hh¥×¢\#𤦦êݱLè—=±æü¨WaÀw O6ÖÓËÒøYèÑ¡AºÂK`ò•ž§6 >ñþ‡äTªh›HUÌ< E®Á«\ÀÚõëVõ¼6ç€N±áb ±áDàQG꛿1ÃÞ¢úÛ–Pk¸L¼Ï—û:-l¯{ó—y›1'åvËHè7kX¬ Ê?”O@¬¹~ÑU£MñÖXñ_qrª1I¡Ã[éž £«Iy` ÎpÍ/Cž¹)»©ÞØö쎅 /£–›v)·¶ãJ²Rú\ÓâEX¥”™¡ C­w}&|×*þcIÈ›åö¿2‹ÚJÞ}Ú¼ ŒEŠØ¢áÓ‹ïvÈ‹aÐ&tÙ¾ U2ñ˜¿DÆ¥Z™œÃ©õþ4ÏѨ7w_n×Ù–Æö*SÔ¯Ì]ˆ1l*ú¡êv‚ÎqÁ=ö¦â ÐcÑ}Að‡y„ÁÄ·N®ã72‚(3³è°œt™ÏJä&€¤¥Ÿ'¶âlèÎnPºv%vÓ°—¶8àºÑ ÝEc#ï ýïX ÿ×Ã^É÷{c`ß=–Þ<‡¾ÕÍvgWøñZˆ ¤8WÑœÆåq úx‘»Êõ•E $¡ùê7XJ[[@“Â5ÀD¹Àç8°½)œÌ*Ùõ8aA¸7©2¦D´eB]îÒÚµïkH"†Á+lVµý'&à³A­\Д¶¥VZÔÉÙ+ä\ù»Kd;'lá—÷‰©-abs±HÂsP'í¶.u<éù·ò‘DqŠ÷ˆV¬ÊMÁMR¹ÄxwYp×O*òQ£yü.ÖܰFbÅW˜çNe÷Ç’u¬ l4¿o=×Õä’?Ò5ÒQ¢•Õ0l ‰Sü`ò¿ÜÔì)V¨A"F_eŸßJ¶PÃÎw ;Ko"rŒæ½±C€žþŽñÔŠF{˜èKÁ]Í×#8}ͤ޸V¶rJý-HõÝùhôb½ Ò“‡ý‘±bŠ']¥Æ°þý<“7œï…¸ÂÛiÉ|ûj}1¹ª|³xÕA%Íå_+F^b½*—÷–Eãâ5 Lw)kªÐEOã»dì ŸGPÂSäJe£ÓèγGC§¥ÛJ°JÙ—ˆ5‡fiïƒ@fL/ZSÛç<ÚÇ?ÚÝ®‚Ýt.›zQZØJ{¿‹3z÷þ0&†7'i’~á™#AŠh€,¬1­î¨ŠT‹% qô;M³§ƒ­3Êø­DAùuý=´Êèï{~Ø#Mx‘¿Æ D5î Ú›ú?:òÂ$„„®ª” V¹Þ͈ c^³‰·ý£¡(ž”÷wRÔ0Àm´‹ðáS£LòÓg&¬KíÍÐ;D½øÆS<3ãÜŒý é˜d|,C*³À7F€¯Ï—Sq¥8éê¡™•Þ~1ˆ× TˆŽl«@SAº±.¸Ê{Ë|Eiµý_.ÊC;ûÁ“TÑ*»!£nÒ|Ódj^)ÁÁþëL[oc@Q„æ7î«ê¶VØŽ&”É„Ñrý̈«iãÓiéÂÈo3t †Ú¹µƒ»sZp<àâM´8ð~OoÑ3𺳩æO@B"½ÈG-£r9X°§\ Œg 졌îl;Þ¯ç0³ÂòhÒk6ë¤æâå°ÿ‰‡ê¦„G¡i *AͦÒáA=ŽpvÙÃMm•ŽdåXÏÅXKˆó‚T•ªîÆ$•“øÂ7²°zñ,îB(Yj“}0Ï ?YÖ1Ÿ‘uDu ¤:È Ï $¡U™”æ)žç;‚]äiç8žÑ ÙØ’"ds'—M~9%æsWf"¿o.¢…±àÞ¢°q¤ãæ‘pg,ÐY[*gá–1SÁ«óÞF{9Cß> «B°èTb…˜ª.ǃÏj“Œr+AÇDpIëÓ.ÎñV3"Áff×Äþ]ûèJ© ¨bÈ]M;p.fùK­oäe1Ió…I¬Ò‡ùhÀh_j½i÷kñ¥¡œò£Í¨àŠ;¹ Ð6´£ü=%3ZVŠô¨[ƒ¸äu÷X"x§ø>¢'ÚáøvÕnÏmuæSÆNtˆ¤)’\íUÒëu‡Ž‚欞„š6ßàŠ"1×L2š“T×›ó ºz:«cŸcÔ¹`ÐLÑ?p1÷¬Eò’Y|WæmC®x&¢Oû,–GãñØA#‰_|£!¾xz`ÜÎGÏðyV{˜½@X~&fΕNöL°Nʶ9ß*…“û1W¼¨,Ž«#ò™3½( Bo$| Ržwb\OÁÞV«Ù»¡Àì‰ â—‡ Ë‹iÓ ‹ìù%­‡Ò•­±dF£lvxtêf‚Èõ;ä6AØeŠ>TûW²Å‘+8bºÓ´pjkX`"Ô¥çŽÃ0Ž‚œ)B«Eø?õÿ• ÁÚÞêoç01£ºí_cQþ7Bù…Ž'$8#Ùꈂîrg/“g"B¹*ΊÍH²£ïI37º6 ÉËH9‚tÌÙÓ×fü£öZánÛ(kM€t¿k¡ÚÖ†Dj{¡ìBÊ¢#ß5æH< &×|ü}¶uã«Ê5ô–t%UV­~1ø£À¨ñ"Äa¹±s\Â¥l `ÝЋQ5Ì+6½xš_cñ6©;+u·è$ æìiª]쎪”Çû[ŠA´eìí.bp“[Úå(åÅU{±ð̽i“Ó,ø[ 1“,þ\Ÿ×:'Óê\SÑ?ì0ÓªÅ3õj'_D‘¶m7'ÒT¹ –,æúÙH¡é &óË-Mï‘u¤³@ íˆ$²kð¨àÕŠ=œF1ÉH^6Æ•½I+¶&•b÷&{5è9ƒW† µÕ~X+\zU½;±c ^+O~ز"[Lw@®üÐñ’‘Fá´g9ªr9¸J^Ûd$ëËÀò¹"`’î°?È%@&«K‘ÃÂdXÝ~ÐQ4Á³ÿÂêXwHA{IâýË7é43Ø¿‡4}éÍóÐ&qÓï;Û¤é[‚Ì¥˜Bò}ãLîÆ]Ð ÷ã3YÅ+½Àjê£)e–8Š—¨~"™eJ…äÀâ> ɱ„†lS.åE¿Cžíê¬4.%¥NgˆÏ>7‹®4Ž•Ã€=áàÃa¦’ j­; Ô‘F5rJw w@ƒåö±éS=ÚX=i Îi@@#üïÍfâYÎLã>SÏÇf΄¾¾ü(”úñÐíü+÷¨ï© ð –oþì©Ùq„4,H¯H°•%´íº'½€¢[RÝo$hHjS}sž,}ðÓ¶Qï,qÊóEÝU (²Õ2ͶNüŠÆ? ›~ªªev¯5† Ù—Ñ8¨ŠºJcIKÇ8¼M™ÏæG—ÜO/iÍ5 .öõùeòŒ Æý>UJØ?M¹*ŒŠùf®Îà¨WZ²‘Gëuëíß܇:k©‹n–š!Ï›QaH¤žÝñI섪$¦²Õ«‘9¼û- Ťûh¸K 3ÌÖBI¯DûHì!Ãè<^"è…¯@Ë×Ç<âi =˺7ñ„€›EE;°V ­VÚÉûì;ɱ³–˜–¥`3ô'ZV°ÿ8æ ͱ“íÕ¿ p†}¬¡¤Å{³JŽ@¦Ø'úH¼[€U¨ ÁÛé[ ÍÁw_¬¿ÓaÇRRNسNXaÿ¼hüôUøázõÊzm•aþ:, M»ÝQÏcÌ9ÜQI"fU"ñưvk˜€ƒâ¼XªöˆñsãóĸÊýèú‘‚‰ø®Ú°Ðìv Kļl~µ«Úʘ÷ _Æ*´XÞlðæ!Û,¿Ì\ ©@£D<Z†IoïÏ´Eô¨4 Vy1öe‚Qo7@«f§i(Íœ!xm†a2³þÖŒ êdäzî¬Ù¿¦zÁØsFܽ$Ÿk‘Òæ=%囀¹gH¸Ë1A%ïÖê•òãCž+êÞd…,C¹UÆÈZå9UžptÀ…o].'ã˜uÇîjÒ¿™¹ÆTâ€qSlÚÈš,íøÎ—z5ÔÑ %·çû¢o7c±äØf©t,xt<)»AH¹z‡mk?a>PT™)ˆ"‹1ÈEè 4:w^·DÚXˆ6n,ô*˜Gx½‰þ…PÕ ¤*íå…\5cÐ(A!Ìmh‡ˆFÓ.iHo_6T`nм=g(ƒ'ˆaMàÜP·š˜m“v•dÎýÅ÷Dœb*‡E/ÏS4¡5^I!íwL2G¡\µf ð¤;6v¦Ëh"x~_á´G©^+¼O¥ï-øÔ²"ëÅÆß6d5éÄk¶=ùÕ­ÛË–ùy1¬‚ i!²€ÿp–ÿO ý^p-ðh1u]{Èo|sÜ’§¹×3û5·àö9XUÛƒÇc±úæ_vonvlÌ’D¿xæmê–•ƒÀBµ~,+ì¬/8U†ä@Ï;R¦®d`˜£Ê3tÂ%¿n¼y±ïB1 ù¿5ô²\á³æZq„i7H?ðÔp¡öRÄ÷lÝPœU†e` Ñbž)$"y•Ьv>¶…_¾ ­Ð¸Ì8ù!¢µ•C%JRh¡Ù®gof0•NGTBðàpíß» éø<Ô„i•cŒÚáå°F†ØGú3ÕrÆŽLþeëÑV:0dêˆçgeœiTã^¼‚6 Q%Ìcš8±™û׳¥×€‘s²‡MB'k5¬Ð«Ú¯¿T©A\žO•npdÙíçüôu¥5ÿÑ{Ï»)úé+ÓgÀˆ æú¦Ư²õÙSfîIÝ}Pi¹uº‰ó<È^:|W‰"ËT«:À>™C6qȽÀòÇ¸Ëщðë.À¥¾…–Ñ áÚªÉÅ`Å¥þ‹Ÿ™V¾t¨+Œz\ ƒ& TEr2 ´Fò»:Ö¬åhÒ…Â ›U+]S éz´ãÙKS¶‚Ê­Wg;^™ ûg3d¢9J€C«„úMt²Z·\ذ#gs.8JHí…þ«+ˆ×NÆþÆ´­ é’,3“¨²~3û@ëc³±9;s|ƒJZݘx¨–´]A•«&÷“ÂãR TðZÂÌi¡e ˆ£ 4~¼NiŒt!-Ú©#GtMiÀ9{ÄÏÿl‘¤óP£¸]Þî(¶ËqHqÍÇ"õ¦?Ï.‰3 «L“žtûx=‰¢üu&èÔ°tKmq#Š¡f¦>7ã£?(Ñæ'Í<<ÿ œ^ËÅú’‚×ËÆ}IµìB28yC'q,îïõ½ÎWê3ѸÉD¶ßm“¦s†ÆpÓªêE¾°P}ÉÔ–6¯¿H±B¨}ZhèÉœœ‰(`µ ;wPý\ËÁvZÙ¨ö-š¸àö|S=¿tìšo$=ütøzþf‹@euhR©Ï×W{œµ¯¤ºUÀ8ƒ»JR]ÊûÐë"ÿ|±4d "XçàMÓ@TnÐiº÷å ÙfK™«³ãß?z{àñJŽ Ç{êºO‘­¹IÊZËU#¿4ú¹ÆZ¤©¤æX~MÕ÷/9œ=³'Žaœ·87ˆÅ /„Y*oCúßôn•.Îx]ó†p:Îúød3â3¤9á™Ä|j™¼`‡J0Q {®‚÷Dg›(bJïb˜}ú~Ä$²ä±;}ö²+üÂ…q–ÑÞ)džbô«y~ëÂÉÑv@«%ºêÔ 6¹é5˱~Ç$ûÑÈSm° ,\¬e”D_œ‘ÖϪ;ÉÛ1^МLÒã>­\#V¤³®Û³• ]¼€f€;Ñsëk©nÍïÖG•4ödÈE¹@ýi~ÅË3œWõЉãï¿ìWÙ¬üô=º0 Ýàr#fàC•¼¬=Õ\Ví®˜™\è+ЦZ£Ž ¶Pº¯í`³‹ò±;Zèü6•ÿ“á™0‘£ H*ïob>i"¨û$×ëËþ'u´B뽸Ú~Z=IܾX¿ÍµÝÕyjeÄYÄ0×6eïúÔ3,ãb[’’Š )j0õj`¢¡@f5­àät<@\\¿ü’ ÔÙ"‰ã:9„@î œhÒúò Zö-á‡0^‚?ª0…Eˆzö>F¯W!—ÔZàäöPY„œjýr7ÿh,£MœÐ˜9Gr´©—pþ^ Ëp\‡ã+ñ+OÝ™ÚE–€÷ÔÖÑÿ%m 5Z—zÚñÂ7Ý:O‡4šöÕƒ‚Ä4¨ôãL~u[Ìs2¨š|‘ÐWëeÕrÖ•+8=Äk†4´7§³®ÌÂ}a,ƒó™…O^*ѦЕ%/óiž(Yˆ$([æëœ”³¸ÝCÖÉm‘Nkaâ]('2gYS£D3S™Ç·ŒýòqÖ"UC)ÿ?z‰m`;ˆvñ‹Í£òð¥V{¡­]JôÈ$„"þºÀSkK‡Ï¶#R6¸‚#ïI+Ek,ibù¨ÜfË´Åߪé¯*þJ(xKK„eñК}éè—Ö1ã¡ÿkë’K ­Ž«6ýÝj…u•öåeíÖ¾MxáY±4#ÿ’­3BÛúqŒ”W3*@é¶ÿ›äß}±•SGùØáÑ"T|›00lI 8Ã]ÉC¾Èú…W¹?$Wµ£”¯ðyÓƒ¹ÓG;ŽeA5÷©Œ+)é´óís˜7aÐUáúøð²:½nÕ˜)7A²+Swo’°Š)Ýâ ³8rÐ1Þfñ‘ÚÿTùiTcO:òG况Ԡ)6  f'±6[QA Eó^)“zŒŽ. ´¥*Ò°LøÄfˆ~¿hìý¡N¾XÓOÌ …m>‰1‡;„Q¯Õf-,pDI›±Åü•ÜêØ:Hþj-‡$þ.bÆ‹÷²àÉò8Ÿûüñ“¯Sý/6dÖŽº](ÏåÂÔÚ=¼ybçÚ¡‡#Ù3Õüg©ìŽ¿ÝlÐmüHüÉGÀ²'†xˆ•L]\°¤]nD–ŸLv_Ê1ßÓm¾·< ¥a1túWQ][çglÜq ¡5fou¶nˆ»~gÃ7ýþ¡1·úxHi3n·×}i¸7ÿù¥¬9‡íSÕôÁ¾hð>'ãû¯íS$ð# |Äòðá°¾óù»õþÉSÁs|´¥ã9>Èc#Ø£4ž¿\¼P¹WβTÅš¡}pÆ~{éÜõñE¦§Ýþ›ôË MæDÈñx ðP½È-Bb‚®X„Ž$迯V"E›ŸøËä︢×QÕ¡_÷VÄ*¬ÊÄkš§‹<ÛܤÒ{4n„–ÃØ Ššõý…µ0‚A6±-$ç§1ר¬­kz¼Æå¦XÁé7˜íWàÞó±[ù×ËÂf0…zfOý5væ ˜ø³]m)£!2ÿ€zf¬ê~#”ygpFAR»OG`.äôM;þ]SFN ˜mÒ3:Ý+.$heÊÁO£¸DôB(4gI"ɉýŽ~»‘y/¿ ó»Ý»4ÕÏ6¯”*R5.$#|³°F$†Â'Ît#ìó.\Ç%¸©¯’n šÝ¢Š‰l!×:úO´,f¢ªò$K_¥J?õuç÷Ë)b«ƒ0ÊVPÞ…àãP´tWùU«ÀHÀ¢“ºûÐKçlÃá§(Ê·žJ1÷y™œï“>{Ü£¥)LÝ(ø–ßö¢x2Üw¥~ânC#¯¿‡ÍVU£ÃH ñ•íÐ$:壦îargU%”,”Ãíé&êHÝS´§WÄuNÔ· CÞ% É+¼ XÅ páÆ†óA”œA›#t7šëYXîÝHbœj™»rê*@¢‘؆úäçM_ÿËÇÀàkSÒä8v4“æ ‚ØÂù´N´>­ÔòØÐw´¡[©Eá¼zm˼bÙ?ûSP×:yÒdO» =3õ%—} šáÿŽ4AÊñD%(Áæßp¡Höü|Ú&‡›òàIkbêùƒ_dg±›öºD _ZùŽ",ê¨Ä:żiŸ yôäo’ŒÆUÜ©.Ûɸè 5:àƒŸIG;£Èê®öºžö™X<Àd<)uøùç*Ó3R]=kø/>ùÝYõ4Î(yž·¿ýTãYFH6A®‰ª\Ú%ç íùS“q¦ÅðÕͯœÅ(¨¥j,öõ½û/gqQ5ñÞÜ—]0 G]R ÿ‚jÞJ6x)³ý’Aa^@ës霱\*­á¥Ú²Öh" Û+’ù@}=ôâ´˜ ¿M!¶™íd{ à.”¥jt¯·³høSµý ‰ À0pœÀ /ù¶!KæŽ Õ®z^½ß+³kßÁáòÕþ6¾‡Þ Ž€e>½YX-ÐÏðü?¢¦ÊˆÀ‚˶ë’»TR¾ESúQ•Š×é‹,QgÙbª%/u0~ÁŒy!‰Ö• …øÈ CQŽ]4D’ƒ;iô'úûZÑ8”U¶f¼®1Š‹5™DùÉ6¶+U÷±à{bÜïQÌû0ÁÍáQ"ÐvºofUâ–N%1¼Ýòél cuÏñi^ y5æt¿ëïÁ(“ò¤âõ£÷E÷· ÄÝ8»ô¡(Éa›<º‹»p‘³ùªBP®‡ø/ÇPÕέ¨"ßn[ôù_bAoí™'CÌXR¯TÒâ.ï²ó›­Xï³øl·ìëM‹gt„ˆORîÔø"s4cÃ4ýIÌ®  ]j¢Ö¾¡ùRÜ­×\L Y^wÓÐw© ’ª=9ÿ½Z2 ¿Sš?mšõFðÁÓ~' gz…5 Ë›ð/±í…Pñ?ªÄ'³ø? Ë-â::³(—keÀ¬Êïÿ°¥ Ìl•™UYqÐà:ëC€r)RìKÄŠ´¬MJZ!Ž–uÆ^ädfà¥vJÆÞ7çg-(HfÍmëÛvº.kf$`™´e »R/Œ ŽZa)Z’ÏU ²ƒF÷“`l&£.YQúmlÝEí¹¾óMm+9K‹YóG«¥—<ƬetÈ"ÖÄ!cŠ'ñ6ªk˜¿õ‘þ)"‰ÅÝ&•Ûgô~õJsïy"qÓÌi ¦ßc(gXR´M†$×òTû-`ƒ\ÌútÎýö“`øhÈlõƒŒ5Ø<‚êHîà ˆˆÜACX‘ØJšà%øË6a Èó$¶¡Žý¾‚gËGËŒG[Uérüתާ%o¼8òÃmåÉ•šD‰Kíñ*¯_¦Dlè ­Ý×!4äàŒ‡y `õìhîHU?5ÀRßï¥M»в ÇlœuãH ›Qß°ê™+‘l"õó÷·äNO-6ù«†vßN/–¬åcŠRw¼¸êçÊ_ªónÓ\ʨ©©¨Ó]ÖVÆfm;8Ï´ã|ÏñfXgú}±OÒHá9`ÓfqÄé þöŠ¢‹=Qx›ÉÌRÅã¢>–ýƒÖŒÆö†¿§k÷Ïz….‹ƒîMb;’¨Gge)-¬ü¬ûd•‡o€¢Šéa ýÎkÙA£z'§l&ö £âfî0…ÿL¤ªÌÆÆ‹}G* ×õýä|Gã5JÉ£‘É›>–$/ð9ѧâêaæ´„ˆ¤ÈŒ´Æ›yÜ76zEΌdž, ß4âö®ëj}ÌåðÌÑdJ‚–t~Š}e{Añ¤ÜÅpwuJÛ‰²Ä²W¸ã“`p†º˜ýã#–Ôzž O§m³¹Å®æGItÜQ•°Py†uvûå¤ë•nJ< ù6‚lËy?ò %oÙKXSΉҙXjªIKS.,)a´\1H5a!eê 8*!O.éÉÎõ£ÐͼÿEø »æ¬±Yû£Ó­bË€ tVËìÂt9±¾žcNò6ˆ ƒæ?I™ì¢ÔÈ>í06uÈôxªÞ/ =»¸ˆUV*½:«¯B™»-Á`°9z¨±ò+@q%Ñ';žBȧ ÂÅ~ÔŒ¾tÊç=…'¥)Be8¥ œy²²s.yε8î×áæS3^(ØÙé,ô‰$¹îyf[2 ö4Óž†ç‡D9ZxwI,3ËrèCý8&Œ—ÞQ~ ¯ƒ˜êã)y7N3 ’ÎXo•°&O?k’»oXûd+²Ù¦•Ë®` ›I”ùg~µÄÖ+@qžS.ÊvtB®ÀûûÊ[j‘Žây+QÔyÝÕ?eÇÇÙª'c´5n¹è÷,4g-G±+w†žêÔ¯á˜Ò¢8Xe)Åx#Þ}£K"Ôa^§ÑX‰¤ñÇ8@JÛ×mÿkéMW™ë—˜¼‚qÙ^ëëëÛ÷Ý4+°X§©ïÛázs|Žø:2þR*3„EÊÞÄÊ,+‡&µ&Ô†0÷{áüü.ðMÿªaTî}€oÕ÷†ŸÑkSˆì' WÜêKŽï×›‘KV¯ @Òûâ^xÏ£©{‘HìBøPÆU¸m3¢¼?Ô+!ÜEøÌYƒ]äNŒ®æõˆ<Þ2˜}`Û£:Z'*FBI‰þ}[¾Ë€Òiçéöõ™¶2órzzð”.×^ÁD¬g‘üå“~ãÿ-À-Çƈ"“CKXz€>“âKª–pÁ)¢ðíñ¼ÊÛëˆîË[BÁ{Å%Rì§Þitxtµ)À¥á!õÚS[ÉüQBÛ-vgR0G3ÔËE#Zù±1­¾’ŸPj fáHÊ9ýÒW"{!ÜaÓU¹e5„±'f–!-×wµžÂ·•Q¨ŠB!ìjêY.c§/‘Œ!föê•mÐuׄ’”ð`±0‘7».ET*áŸvŒƒ72}Ťý¼vg–äÜMÿòøOßË6±áÙÁ.¾jSYE‘óFÖ–¸Ày¶­O¸n(püCÚîÃÇâ¶Ð¢R¾í;Ðßx¯- à`ˆÀ ’aÔ$ĶÜáPÊëŠi‘ &%²™Z…èD‹án*‹óßExpˆr`ˆâÂD‰CŽ&¼FqODùöâ‹vPÚ$Î"$–šk?Xô˜g| LX%íu w.âácˆ\ {/!ê2ªrÅžäl´­£ÙŸ‚/ÜÛo2fé^s9kQ‰QH±÷t™7ÕPJöeèi¾*ºr£vñ¿½ |ŽW®L‹p) • P–÷S¶µøÂß7«çð ¹Ê]|È뺈ïËuÝÚ7åç· Ò|àvrŒQšÌ‰ÝM³Ÿ²õq˜*‹hu^‰v¡DŽ_—þŠÌñaYþ„¥ÕR’A¾¦çŽ´wá”U4ô¶‚!(ª­›‚QÐA/§rÝ)Aˆ¬zõPžŽûï£-$²|H…ÝWÌÊèXbkQZx +­0°/?¨á̈úÀ„$Ï„‡ÒبÙ€L©Îl–ç@®]ŽiÇL ±ü׿Ÿ‚û ÇðÈ%ôʆ#¬6€‘„ðñÖ­Ì V î»rï¥TÑð‹1ò¶¯?tYлú¥ú'¬Ý}âm½ñ÷Ÿ‡8¢z»YsÓ_[œ[®.ý`Ö“æ îšy {·¯“,÷²I»ƒ¿9pȆÖêȳÅs”i5—˜;Ά3‡9šÜ™Ü$`÷eiË…ÃÞʒ»/ËF¨H,?… —À¤‘øS1ò·†î5Ú.E•žZ¾ÔšÂY~r èŽÜNV= "Ž&‡•>fUȤ©Ñ>1¿,…RÞÞ•ß+Â9U'ñSîîÀ³ìÖŽžLŸ6,;ÖðÜž¿üü­Û×Ó»?Xæåã¥2 –Äú!NÞ…µ»Tm»’/j¾Pñ>¶LðZúg›kiŸ>÷…õÉrÌ6`ñÔB˜4Œü½ ƒËB õ³Ìaˆ‘åÎM³©i–²@§íMí~šE¹†ÈXeÔ‚®ÌK €žØ£€ü”ØV4m ,HÅŠ½ž±ÉÑOzµ*} ïת<ÉÉ“§ƒL=dýÌ“nɦ´ó ­jï‡ÓIÉúªõeNó– A¦åëÇr¿~¥]ÎÝ¥´äï?ã=%V|V¸¥@•áëâ5„"[”Ù€¾¥v‚å4ü2g; â;Âý×¢ò¬1¾³Ï\ô§\‚9Yƒ‡5±øi˜P `¡[ØûvÉx‡v¶Øm25ùûaµaŒÆÍ#Uèá¦`E¶9Òf‹áàÀDÁÆ#fm¹ò­É&u®ýožU ŸsTw©JxPg¥ÇÊ/â¥6|=ÕXÙvköôú'«« ²EœÓrÂõÞ}L:\Žùvjø'#пn1€S„ "¡R”Ò‘°=¬(É%E]>f†`@I)õ½„Š4ØÌúÕÛðl)£Ø‚hÛrb°XÙûͳïîë|wm%{wŽÒºb NéS~JÙ…Dat}º²‰†ySØNø˜ëP?óg·:qkÉ>>2%^ÕY| ß90èc3Aâ¡!î~äŽ8Púi¢Ë7«2¶výáE²ÊsÓ§ AG"š ÏQú˰ FY‹ñ4k{¢/Ì8’wXlþ9N+PÉul±G^O¬¦IÇeó›²(bxž\¢f±"R €÷Ç.Þa¦6™;£Ü¶²VœµY(¬J_Œ-§)ËeVHˆ»`š8f‚ñ^9ÍÆZ;vý‘’¸3)ç}ža§‹Ñr1ÄaˆÇçÐOä‡QcÜãØ£æÙF¸ù$‘þ|ëNøœƃwÚ¾¡k㉶og‰ØÙ{}ÜBºÿžÖŸ‹ì¬ÝÏÇ"Vd(ÖM¢àò${s9=±æösqGÙ Q–æëc"Î\b?‰7‘÷²tÒL~LèVvcé' CÛŸ°YtÇògüJ‚Yó …vñcâ/w^ïËL*ªmZÛ©-ƒ>-†+žÉŽ¥†ã4¯*\ð-ßÝ—¾PIÜWÉåÚÃc7X;[ÁÆ ÷¨¾B•ŵùaŸ¸}„°eð4{ªs-°S‚zäé£h–Aírs¸ih˜/ôŽ9«g!äD¡t4ÒFøÝ ¸—yÈÖgø(Òðz0 ·¢nˆmWUƒBdR⯎æè‹ÅÎì¦$T’šø×ÙïNo'Cœ6­eÑyàg¬ú£8’,LÒAÀ&­]ÏÍ­’@$jçCwYù†<3'dx¦í6õ)Öaô¬ÆmgBléRpWZo¼ƒ_ mG—aÈÑùj#²8Jó+^bÒ¬ÕǾ°1“ ã!¿pûÜHÕö=¶"JšÙMÚ½´Ù¾(§Ô›Ž%·TežmǖܺŽ0ŸúMæƒÉ.&±Q úkXcãu„ÿ‰ßˆÛ­IÂNÃÚ™±f—4» ¹c¾†;i„½$« “Ó¦0Ð`Ý6 à›îó?tHkAu1H!µ+(ð²‘!j÷;‰QH%cȵ^åõ¹2?DF:Zía¶VéRLbÔ8ŸNîÂõ[ý’—j.p§«(^Ò s¿ëãö¨ á\Ø œQ5á–µ]œ,ù¨zˆ£óÓ ;ôÜ0®d/+LRü).A˜!rÿ8ßñ¡+Џ:'»ø²ì逆ƒj;C„=G!Úgø)ÉÉ’·rXü©´r@Ôi$—_±“Ét|Ê£^ËCÈ÷‘!3˜nUÀ‡ƒÛÂæ,áOsÊêNŸÆ>åM‘; ªçõ/r¶!;™€`‘²k©J‡BÜYX»-‘—ÞpÜÍ«µ¦=N¿avz—E1^…Zùy£À~}vö*áü²csAFèˆÑǪx1튙lŸ_y)A›C­ê[…_eêXŽ˜»Ç-£ñœ&ò{ca+d„ å®´=ã‘ÐKáÇÅ&e@¥ë_ÄŒ)ɘT ®ñH®®yg ³‚cÃB‘µ.Åx.ü¯ÎöéÙ+±«lQkä¨UÜM5 `;ëg²ºõÍÉN᥸<ÆLöÃí§å^.…{ÕËæè‹péÍñ7Hâ»°þ‡G.Q“= !2É[XÊb‡F¸½Ž°WÂëÏÉ ¨«¤ß°ÞÕŽD”ÅKV›¼\öâöp!yün¼gÚhý‚Ë:²íÜE€îi_¢ÃÏNp–áš*¨ÑšŸÌy3*1˜vÔ±íU˜ÑAûY½F=ŽZ­ÂrTµLZÛÃeÍk¨IaŒ|@>SŸ±|mgüLr¢ÌjÈBGÿ,‰ j6^æ±Õï§MˆAóJ"Ä¡”Ä.ß,Ã[÷ቘT¾)tAE.o ©æ±³¦Ó÷Ú¶™{£0â„ÛëL²G`à›ÓùÀ7ɲ˜·ªsèenó1-Ö”h«u@MÚÂ? (ø¢A{ãÎÂU;´ü¶ÊC¡ ãÍÏýˆÍ²B7¤Þ kT雚± A8ä9£åöqFe\t_ÎòÙx•©“0ø7/¤d²Æ&ÝómsX¨ÓüÑc°ùG™íH9ÚDKØÏ;lÓ!'º×ª× mp %†…%ü4=O°n\£.gu¤ïVE¶+^jûÒ…92ÐÕLÊ×Xµƒ9ˆÀ⸑¤(é¡‘ Wœ#J’>òÝ;­Ä¾ÜXvúî¿BL¿=7‚ËìÈÆMp±ƒÚù]~é:ºÃ |ôßUEcÔVð— ϶1¼ÈÂeµÈpâÕì7h ÐØZ ä!žG]ü¶ÐRhØ š“Q¦*Ñ®´TßgôHÔD ¯YIžÝ%èü{“ §7!'ô®}¡è½ìªí¯ ¢åí 3Æ®:meA¸ª9lÎéðÿƒÈÔWR Íûbᆤ7¡Se¨—ôÖ3<8”?zt íåÇÓK™}÷ñ걤+|ñ<(Þ¤6šïdEá$tBÔ8Vèl_‰žkN¸LX›H,;Utá=˘šòi!£Ë*ìò?WõÞ­æ€1 bzÁÄ*Ú /ÅGņp¤“ÒJ9›*“®Qá¯Z^X±4¦|Y(oÁPª#Æ>HÌTÉl%*”ËíìQÈMTá$¶¡“è«W·,•¿u ËÈË‚ü–^Û¸:¯u†ä|ÄbCõ)¹Ñ„§m¾®âp˜lg¢ÿ ÕOVƒ»,Yû‰œøµ Š?´Ý<$×»5Xq²k’iI?AÓG²rBíÂØÒ=?”㕾ɺ{É‘²¸™hdÉÀOìë9ö¤µÕ…ÊGCÿ,áËÏâPyúÂz¡¼Æq»ÔÁ§ €e!ç€â&‚/X|\viÕ¹^7!ë>ùÉ&ïÙÀ³Æñ®Ü»ÏW±™SÝF™„¥ãÓ*Ó†¹Ü×±,*)C.¾‰|¨œôÆB¬‘1ïÏx]™‚ŠoÂ+^ÐU(ØUÛ:(E -uc©òÛésfdÆO~¬#ÜÑ=”;*#6Ø¥Ö³­˜J!ï.< ïNÊÛÌÂ'¡UÙ_Ëè½E ¼;[PÌ o¥ú+Cù8#;R’'""‚æ±…íðiÑ\ vZA[?d=¥à]3¾;ùdÃo À#:×û0)èÐÊ ŸODüEñ)\ÕÀj=ù=[@ÒºÛjшƒÍM¤&åI « õÞ³é]§ÓZ/D’Gó…\hKF¼¡SÝå°×ôGø¡Ç±);~°ËÿSaGjºâŽ£Jý –ÞHÅsÙÕ7!iX"'àí©iª¤x’5|WƹÚ§2áí°¤q…ÈCBÁ–´S˜p2¢fiøÎJsÛžYË.2²9z'6SÓ–WRGÍöÜÞšwúÕ °9I‡²ÖŠlQ9Aâó›§ý³ô¤ýQ˜FxÜì°ø¤ß%ŒªâÙ·«“b♦=¯¶”±·Gè:m¯]?{à¢7Ó€áú•Ôe:êHá Møõ@wõ­õxÚÕžËûŸdèÇI¸[SŽÐý:Ë›#í\oê+À¥›Íy ¯©«ŽîˆFÆ{O5Gä¥+žuô«g-›€[ à†w¾-æä²Ý Í^¦î}„OvÇ€¡äóè.³VÎKÔ&†®Bƒ Û/ÒÕóR P€©¢¹¡,1Ã@—Ý$\1 o4wírWsoÆÇu» êž,H/¥Nƒ 'x©-z*;^Þ"ýI Ðú»8 UAêö?Ž5|Z>½Æ¨!Ð^­!¼5ݟѬÍéO’·ü™Õ﯋~¢b3Ð4B$áäˆö ùyÞEÁËÍz?w³W?‰îP:÷—™Yšl‡yi* Ób ýªMÿYölP)Ãõ¯ŽhÑúŠ@Ír°MÉ`v°åçùnëÀ}VQ;žS"ê¾Gf’÷|NgQ`k’ô‰=åÄhTöíiÂíÃÊ–Æ3Y鋟VC—÷ýƪ ð){ h ¦ eø§~‘¹Ö⌓öŽÐr¾ˆ‚Ó¸á´15š°ÐZ|·Ü“Ïçš›wßÞ)ò‘£xúQ£ ø,·òW¿ùœÍÓô©ŒëP[eR‹#ÉãW‰Ð•>¸(ƒ¾âÙÂþLÛHa¬ððš–ßrÁ8ôÑ¿p`¼QºÃÈ;°ßcxËIo…æ9çD~‹Öî»7'ï~gÌ\Ê1A'Ù3ˆ?¨„fÑÖ¡«k;wq¬þå%½¥fëÜææ:=ÈF±Ïƒ–˜Ö"oÕ >~tPv~¢¥íÔ÷®,ľèaL³[úî&Ø…³ûY[DÐ,ñéÀæà!s”)y]M;÷(7]ÂLd÷ßCk@¬Ö²ÍÐPb°µ$"®„d6My)¢|?BcQ­8zaôú¨zL‰]ÝU¸·Gé™Þ_ÓBòe¦Tö’Ik~{5*͵¸NÒ?TNì;3ÊmÉ÷¿9ÞgÛ„]ÃÕÆ;Ÿ±9],€¨ƒÎž å]1ºåè?ô×sâ )ñ~$æÙB°‘RYÉõàù¨¬ÖˆÔ¹,1?¤ð> ½üj$öƒ}0Ë©YMø„^‡X?ZŠiýÅNùJs“„„Æì‘(u!Ý<sã­#иäê7iÒ“ô¶pqãÐÅ}á2¢Ñyh ÞŸ&^bXPêŠ@9€Ò²¶aXœ"lQo"SB·Bæ¬Ñ¡i€Ø¹%>⽪‘Tõv ªZ¹`*æ£Ñ¨à•»öb:èâIH—~h`ºl}„껆Ç3¯µ1J:ÑzÞ£~ÇŠ R¬hA/ÃÃëLÝø ÷ èŠ|kù¤ö„¸E‹X:çšçÿ×|µ6¤!RTÖ›bߙИ¦ã Vå…̆ñå ƒ³ÀæÇù¨ ‘»P¾øç *hDM/s¿m…ø‚ž#VZÆñ‚߈?_Ž®=úü-šg;z Ó¶ 3ŸKÖлnßÈ1„è=ãÄ1Î6ôbÑë…ÂÅâŇ€XOËÚ\ZÀÆ—˜qí Í^¨e 8[ðÈ-}3Ä”1s‹3{Ý@ò1æãØf–Ïò4—1ÑþEÚü@¦ßÿÿà ¼Dh ûy¨4ŽE‹5Õòß'¨g>¬ë2 2¶Ï×I%ãø=˜åVïA8€|e’‡€Íî DQa€Í»³Ê¯¿›4\rsÑäƒZb’•Í rf)‹Î9/$j»¹ Ô…Õ·d_ ¦âØ!ÙZôb›¿³ØNœèil ›6Ë µ>€K2dÔÐáª$iÚ‹Dº­(×Ì“ ©¡2¢bêU=,Ðzß@1Ò B·ÖH¿dyìH~¡¿Ez4cn­( @!Íü)©q‡ '^7²j¬ë° ëÏi°/”²vÇ)×Õƒë/{tzdÖåjâ–3zÀ¡Y÷(­fì°ÕÃ6ˆ0nBA™e<£|…@Ð~L–`¢± º¨ç·ùþÿ?c+Ìø0FKÂËÇêKxåÝÏ ×ÞUŽD[Àdû=ÃÓÒNE·Þ–Þ¿ :Q\«\’Ûxº8stsû «Áê_ô§ü¦iÛÎÓ–¬9༠«áÙ‘D¡œ9{ >»rêïús ÃSv$H‰kÇ$–ŒXpC jè.Q¹ï]3¥É>‚|嵸mÒl.‡¶ ŽVï+ñ‡n¯sK´Oé{÷Ë)½i©Lñ·¦‚ÙÓÛìQIÿuy—vÕpÈg<‘7¡0P㛉W^›QøGQã2G¼UƒÊ \l)…ôðáp«pÖ[ÍzV’ßÜæÂN ÏÜ}ô³0ù¦Kæ¡ØÜgù3»¿<纑ŒÜŒ@lÿÕPÄ~ÙK2).7AáÉÆ×wé‰4üê†mÑq³÷¦ t£µå6°›¤”c+›#¼8×´6B®üª¬çF!÷—ºÏó!”¾¬;”ô¬JÅE*DC±ûºã=œߺÂ1Ó%¿¡3\þ6xè}GÑ"ÛHðôÚµ€„²«y°öúJg­t‚ hr¦Ìô¶÷9Îkw.á̽ÛI}'ÆLßñ”:FiÏÿD Š“P§mã“Ý‘ø)ÀAMDÓ”´D!ŒÚ(ú?½N’û°Mì…ôÏ„/‰5mèLÊ•9 dÎÿd-ç"ñ,ößÞóCï‚i]Véz áÉW¿Æ\¯ÍZq~Ÿüãýó¥'@5®KÌKTb]LÕ€`”Jš=M®·p6y;Þkï³®õ®³Æ3¨ïE'<Ðd/? =]מÌœtw?¶ÏküàëAX¼ Ôy:`,€<xèj]pþyÊkØ<æâT ¢€Q5€ðïÆjËÊ|¸¼$ù—‘Cü`;] ëµL‹¸o“Ôv}KŸ$?Ñr¦Ä™©£Y²Û—Èè:³žÕ‘XÙßjÈ:ÃI™ðM.3E¶„øòº&9Ôø¢½Ä wcÙ:CÒIç}£<ì¥ðn;«jc.ŠéÔ·È¥xô8²õß‘ÄLŽ„R/syÀäÎË–ý¨¯i¹}A°ÓS¤ä^,Cy©Û:;u ŒÏÏœó6µ*7³0Søû¾]N2N§ÙZ¢¯\mp>m’ˆGˆClƒ‘4Rè»»´ß޽±®Ï·<¼ÿ>ܵSC°ÞÙy4ºKc"8˜ÓŠèÇ =D{Íþ" ÁYÇ›:‡¯÷͸0Š(r-þñ:g“Ù`â9"¤h‘ÂÙ#ïö\£Ü!6cËÖìÄ降V€C~ÂDn/·>Xb<€ÉòË‚Go¤ŒÀRXWÉÚô„Ì„Ac( ôù¹MC;òX:ðYžß©çjssGT[ä'9%nŸ>.º<„áŒ5”Ej÷†€[UZ¿PÅûòþÌM9"¬Ê¶-aÌÖÝ‘Ñ%psᕹ}kYç(Õü_gäyßâh"Ê r¤¦höSZ<ÜRcíI2!h‚ᵤý#ÅØ4-R•0(LÖŠ Š0Í„Êü¤î<ñÔ$D|EXŽûúý{–-r{Ú¡Q¤§Ò‚ ËK_+_†¯Os_Hò™Ž‰¿zÁ8/ÑÝV„/¢¦Ç ±ÝCÃE3Ê0âO,Q|Ü»Þ4âEѱ *ÙcZ Ï?Þþ݇zšèOüÖé‡÷Šô´Xözå¥yw²µˆû2ð&·˜Þ„ŸDäé•ü®)mI¢i›ÊS¼YÔ/jÿÛ¬d¢X«}e\‘r+]Òƒ¦à%å¼Âgº )ô’¡Ó ú;KήåB Õ£ÛšráëXÂ]‘Æåƒ!'¢£´¶—Ååhá¹ð­K3Í¢º.)3`1F½ÞRvH*7åÜØ}tйЋVaþgÛûôÑ&u@‘Í8”LÅ…¾ì?xŸnFÑ…7Þ†Ö³\ë| Bö'£Ÿ$ W+‰œN1TU6¤WȯÎaÅí‹Ø2 “´axU^çΜû/IðH¡‡Ê(’€)ù­H0±^ú^2Qö›!íMñ£õ´àÆ&ÿ ¢#:‚µœÛÕÉq ã‹¾¶¢4yå7Z†-–UDÔy1J¾""® þš#‘­¥evJTŒìë9ž’’e~‘ß²æ!ÀH§ÅK„%-8WTIE¸Ðëèˬ˜áóð–2>Ùd>f´fÇÍŒGw×…{EªØ}˜‰H¤쮃 ù‘0>B丛ösFj`x·}»‡ ¾c4Ýó÷„AY'¼Á¶œûe7纚Sîz«|Uyî•Í´Cõ_ÈøÄ¥D¡ûiQg-ÂuRž®c´ù:€Ò~c|±YmkÁ~÷¥²ŠÈþ£É1ÈÍ»_° 'æ…ÀHtYc¥Z‘¼ÛÿFãþ Þ2[, BÂKû˜1f% gU‰…í¤†•ÏF4ˆ%ÕöçL¹¿ÑFZn¨¯eÝÞUÞéá(ãÐ<ñgD©#g]ËàgâԂĺäHÙ¡gEÎv$̬ñö«E3Î胚xüƒA}øS‰wKÖ.»¾è‘ø²öö±QƒÖj·XøM?<:ciª'bß.<¼H»âŽ¢—Ãü~g^ˆ?¦‰qÌ ½;ï´úÙÚL­Ò)þ“‡rÑ7Þ]D¨“äQ Ó.“RA86yu À/a¿¸.lBÜ'×Yµñïëâ>“A¥5Æ* ±ÞŠùêœÏƒ´Ò&΀LUŸ\D÷¦Dq«@O½qší+iÛ0÷U“§ÅN“ªºzS>Z¶BÞ­ÏK‹x׉ìþõ¸ ¹P.·•_“ù#ë2M­‰ÚBQlž/¾¾$‡‚lo€ÒmcoÌ’Ì.íŽRúcÇÏë†gÃTˆOÐQ›™ p:E¼• ¶PÅå‡c’s_rÊÙR­C’øzèô“le¦>Š ØËþ~Ëå µî®•”÷+'”Cº7ô“hîò^”)LÁûÎY Ô°“¡±¸*›„?;+s“>”·å“a@”5ÈDùzs•(€8$È= >GþúÄ™+4ã¼FêÎIA%,= *3Û›8T©Þ€ÇM µ²ê¹*”6L¬eòˆU–ÅQÏâinª¹˜a˜¬’h½åX[­Õf èSÎ`®Ý‡(ƒlÈ E°0z ;b ò3ÌÔ42vd,|áŽØî¥l  âO¤gçëÞáîõM/¢õË:"UèãìßœÖÀ›Æ “ß¹˜?ËÿWñÕ»';ûÜh0•6ɳø|Ò¦ƒ;Y½?Œa©þsÈ’GNx£ZÛq\‹;ùâf¤D &4žÎ`ë).¦¯ *.íÑ®_35Ãp¸Øïv2ËÁFEKáÜõ+V­Æ¬{=¢_!Íw¼ŠÎÈr3HÐ »Ìb 0·X­óäb.1°©5H†nëWçUË> ŠÓ#ì“ü–AÁ:49¡Šg†CEƺú•U“×$-Ö¸ð"DÒi²áDºü2TÖÂ_Õ‘Çq¾æƒ`ÄŸ½=yËúöw’ ú…4ÅzovåЬ/¿³_sÁüK§‹À9ÎjT/50‹°QÏI¼`UjnÊx¦'ü_9lb«-§ŸÓ‚Ëè3 _Z¦ÇÈòf@”ø<áì°º¬ßжÿÄšÐú¨vmõ»qÿXw!‘ÚÏ/Øôp'Tíì“O¦y2±¿žÀèüŒY:™“ _÷©Y;‘Ò¸âá§·#: 7l‚ISŸÕxÔ©¡$”yªáÑ^a*{€ÈI¦çCR ¿h!M:ˆrÆT‹€žv\Š'®»ãëñÓ¤gc%Ÿ}žcyái˜ž,´‘ŽržÎJ\í7*)H5MöÑ–MK¥rm/…œw«2œÇôWµ2èl08=6³˜óó¦%“á@f®1§ Ý“ªì#¡gM?Ô/Ñ|œ€~˜à-¢eŠûÊ]3â°€ ÌùwþV…¡›´hìwÞqA.µŠ¼’B`Mu„ÈwU€ n•– ÓˆSû6®õEOÝî^™…5*®Or/¤`hT&-Y£}—c¥Fuômï8€ýH!4âƒy±eë|¥ñÍ‚Áí?•)¹¶ÈØßÞžF¬t½ TP´bnKð[r9“ë)¥•ÀêYv¨vÕ5 ¡ÞoH‹¨1É.z[ù@“ øÆÞK†eMFŒ´»0ju‘¼Ë¡_]‡ŒYâB_ë•;‰~çÀß!Û'Vú{®ª“;¶´+”Z«r¬²wIîU¾OÖéb{ȦQHþ´Ònßÿ5]³ù °¸!fÍù:èg™ù>À7þ9ߥS!£ÿ1PŸô¥‰ÇV¯|ÿºvtÞ28´ã´Œ‘‚O£OEžîýv-çv4”ø¨¾«(Äœ‚?Šs9E’Ú0Ùæ¥RrK3-µ‘„ L(Áå]˜'·¢'œ)Ï3í[ÜM8øf:‹ŽÄyŒê 2‡¢\ƒÄW„ ã‰œwhù]Šõ º"½Â[î¦@’_&ÖÁÿWås´`4%·+‘Š^ÛŽ¢Ùì?™áeN QiÛÕbËOÖH’æÙÏÕÐ{Õ°@lZ!ßFæ²SQz$̹Œj™Yݶ¶ü¼Ð©4t­qtÉ`‰4yºaº[ ³Tà@/WÍ/ž|vCù›e˜P›ÏÌé¢hÌ3Úñ Cp9´ýõÓ†>+_[áñaG…ƒ+™L½²¡|ÉG¤¥ ™’©Ó¯PÒ¡›™~¬òåaê&¶ð½1…dÒÆm¡5'enßv‚\Ù>4Êú‰‚ç»üiw¾NÐÌ!ü a-°šÏΡ}#›…ý^Ž@U¬b·…œ3ú ´ |îÎ Q~~.¨&Š ëO˜®¨Àa¢hÙÈ4Ç…Ÿ(€Yɲ&óbø§åÑKËb× Ñ¿çÍBêñ âË›pµÿw¬+eQ¯zö'¶{®Zï0'Ÿ]û×…R ! —¶ìƒó*4·Eªµ°®Ûù.¥Ä°XU3Êø¶-"-ý á¸â—{Yãt;á7ãëªÄÖ=taT;8dŠu´-6¾&W@q%!Èl“Ûž½žÜBëŽ!NÛN¯Ûgä¨Krt'éeí ø|pÀÐr£®³É‘!øgm.;ï¦cñ„p€»ª£<}© #{(ï‰4cÓDWµLÑ1L[×§#>ŸÕ ÁÁÈú]¿NtP2NÑRÎoºüƒêtH-Ärâ,uïÍ®?hdÉÆ@ª!˜»Ëyõ¯mA äk¹!r*]4â!‘nv*HçßèË™û@5ýhÝñÈÛ•FÞãh-ÉÞ SÀH^êHtëÚyák‚Ó©ïBŽâ¯"ðoѾ@²CÈŽÅ‚>ò×Ó"†د“¨jcNÑvfW,ÇPçÜWàMN¨Zl±95ÏÉæ'æz¹HU$ÚÒºÓÒô­ ƒ„@x4("Úƒ¤íÖ·¾DÂ¥‹SÃ#ñï&õ‹lÏäbÖ‘É5²O‰ù‚ý¥ 63ñÌ|@Ò}˜4íåNæ2Q¥`c’»Ûóö)¯¹&n¦ñù½qŽC¢T`çÀ™9uaëáƒ(‡Ê]ÀŸx,óT_Bç4(yCFÛêžÑ¸:HD£ÉlÁáôå"’lL-¶SúWwi‰ZÂM~Õöך•ŸRl2-®™ŒÖ6l9¨ø¿²VYY´d‚Wý¡(àA« \êlûˆ=>H'Ъ¾ƒ“zÖÎýÊ‹¯s™Ög;2rý$ÉK©éõ@ñ¦iûf}ô\ÃkþWï¿kw^ÜÂP̰_¹Uâ¸Éj+%*Éó8bÙåŠ`¾^nÂ[ˆ>|$Ǥo1ÅL<£Î Å”Z‚(cõÊì‚Oþ­Á þyöØ΂L®È’ë›x$;aÀ%úîTÛil?WêÝÕæï)Þ4ƒ< ˆ´á[}Héááp€Xµ¯Ä’Adw¹Õ‡/è¤y:™€Ùy›ƒZÓÚJaÝ™¯Ep±ê†OHÕ½Ì õy*8ØÁ2LÆ žj៞ó+à§°ºAã?IÍÆÑ<é ýÌ©OñŒ¶ø¤áEÍ\hÊDþP{4Ô ÎÌí ¾0V˜qÞÜïÁÄ¿Ð(£Ôó,ý*(ñ l,©G-₟ðN»Ñ5<ÌËj‹ê-úïà4.*7ÄÚÿî(z±×+r«ÿZ69òxhij·èÏëˆZƒ]º½aó̵8L(ãžž*Nò&ÛÇ•´ã¼¡ ‘Ìv™-”„pŒ¸æ ˆkàgLð34Ô.º*E8àÀÔ÷™¤±M7{…´Ê€Ç­;9¬£ý6‰ü÷4,çñ˜MÇyåkñðÄH=M¾±hh¶ô¶9`”âåtÆjh5¡ÖPfkÁ›u~Z(&]ºà=@œx÷á~ÉÖÚ†m>íPcŽj’³†Žc¿ oø °;´z/J^q'º¸;ÕmÂM|ª(OY‹!¢¦y/#D]ë{ë˜a£€ÁóEãxü*i$} öÍô¦˜¦a¨°åÚò+”}}‹uyÏ1pÕýìr-ëò\SGJ: nTbËÅôÄö®6Sy ÚžH¨‘ÿkŒB®ÜI/x½‰–Ùtæ…×FH×gàƒ´é¸=æê“²E¡ÊO_¦–kÁ{,áo{@Ö)U´·«á ȘÀt«‚ZfgÊîªv•ÃÞÉxކôZOzÖÖ ‰Ÿü#'ÿò>û€²9&qɦ0Ë‚uw6·Œ†Aú¦Ã±KNÁ?9&Õfµ•ºvÎLOS`-¬ÕÅÐzól¯2!–LOb惔•o¦)Ÿ„õ~ÜÖ^Õ9"pôÖ1ë–hjõB9KÌ7€Ê´ ¢yCÞñ¨8Èòê%Q`o6­ÔIšGÔø$ªrNVU\çý­VzÅ“’Ï›S¸cp 6l¥ñ¹kã8õ«??Eëô\0Qb2ïͺÿ3NìÜGç†2;eq8Xàër®"F­6@ÿµüñhn ´ðß ÕôtÔ ë퀟¢â•G‰*DôÆVÉ®T|Ìo4ké.Sn ÒiéT]þC8õU :EÕlÓĉTr'éCOzÑ]bÐüJ3¡,­3^RÎ"0ÆrJyæ}Mœ4øN}/0X.™Y'aÌRL½df¹,ðvv° Œ·¸Ú½fè7ÕÀº ýØQ8‹yÈ„ˆ™qT¸fWÍE@/“~ÕRĨ¼}ã^è¯7÷ãIŸ uÖžŸ¶}ÄËw½›±KJpÂ÷Ø£,Ý®³ Iëû+ðx-§éþT¾_ï\dè¸ZÎÓ×£3¸Ûsä<èÈJ©un7ˆâdš›ª•C¸=@Šh¢ºÙJw«kLÔݰĩÏïr |F§\ÚùïÆíÒ–ðüU&¨Eøþ@õ—l¸ÜNË)ÑàåÏÏWnØñuךأŸÏ”vˆ*dí×)"جú`ì2ÅÓ;<ÜnÛI-¬W3…PN­\Í-!ðV‘3(à}-«Õ¬`•Ø8àtÄtzêQÖék=RŒÎ¢|µzöñZe«]y8&v¼¸Èâ0â5Ž$#Í 6ïݠ©ÀèêÓgžÇ½©ti9ˆFVN¿/¼EÅڋȃRõ4GMÿÞ"(‚J æópÓeÆS“®íðr†ëÌ>†‚ç»™ eî;¸ˆ˜ÖÙ-z§t=Ì ‚ò90¡# Ë›ÖÈ‘¥¬ô­<ºõÄ”‰ìBewwv&:èbzŸÛç’/ëîmWÜy9ì|ëÛý•ß•Oî»Ýõ զޛ†2q@¶m8£Ô¢¨ ã*é¿ ¡mS[í¬Ä;çwИŽdL؆r ÿÿ&°D€ÂàLESU`„Îd.g–®¶d®.ó$%‡ªnõ|òÑ­ƒãøÐÕ~~C©«3nŽŠ‘à‰M–î~ˆ- R1ì7ݸdì»±¶>€y}+bl´“_x“”ÆåÙ ~™Zx×Ì€ÖæŠ”ºÒd/–^ÔGëµM¬¼hnœyÔv·S0|dÇÆ E½e‹sÃôÕׄ©H» Q›`U¯€ZìòÚ«Ê#m®v¸4¶çšIK$=«L` è‚ðŧ‚mƒQÇ£ž=ÙD8•9,SO,ÕÔE‰ -.S³pëÁØ´'hqužë§¢¡ßaOêG…ûñ‘0è¹¼Î9Òßò9)пU˰/Øü4jmÊ¿è#†.%Þ±?ÿASà„ÆâAí­†|Âdè!€'¯ž3ß'²ÜJfù!çµûÉ1ý¬¹'¾üÍu)Á°Šþ±L¡.VÃWwLb¤Ão»(†sAÃTD›yÉÊ4ʶlÔyàÙT$å S¡áÀBÈ[±â~VÿîIïïð¹u ½dO)ʈé‰i%3r×ÈLýÐJ›é+g$h%€‰ÃÁg‰ëÞè–i÷^\\ÛÄ&SÀF.šò=Ÿ)¨|»+émÀ.3ºnÞR¶¶<Ò1Ë쎾n|#÷¶`ÔŒR`‡ó€ËyݤN|Ä¿&™RÀ¬(ZDžDCqö<¬8GhU‰û]"M¬)qR~5èµ–¾ Ä1Þέü9c‡ê2^yâÎÅ·(«>Ðï6椃Íp#¾V4j âÌÛ²…ßH¿™©!Á›– ³}"´‡¯*©)ý±n®[x­ k–F)Ån<¥-ÈH­—«u‘ÛÑ!êK_VŒyä„ÒnÀÃÎÀEÖ¸oJÖhÇmÐyïV¹Õ”†r²ÌmϨûj‚ºR }‚¯Bú¥[˜Bî3z¶×ta4ÅÑ;ß0^–„ü„x<^rJ\×’ÝÛò7ìnï‚•pbß)y!_¹<ñ{áÌåws¨ê –X®Bþ:γ»¶ÓëâŒt³G½…FTÛU&§Þ#îê]0ûYPÊh(U€èxú&²>ÂÒ 0M¢n¶¾ª OGb›SŠ µë褫”¥PrOœ úµvýe4g™ÔSÄ+ŠÂ<àŒ5°BÉ8oæ³²áÛñÇŠº½×vóõ¹P=HÊŸÖ Qu?ܱn[pRÄ‚äìsÒÔ+ãÜW àL÷]*°XI)æÞVÛI1^}QðbPS–-6í¾ª®V{ðtô1•Ê/“þ¨A­l õÁK3[–ë6s™°§Ém½9¤uè;óv£]©FÝà3Ð¥A]±³å$FCÆÆºT\n?MÖM¥kÞ®Þm®H”XPšƒ™[ŸÅmÈgÆÝ±/ʶžÞ õr)a1¿‹?»`m™ ²•EõƒÇÕÚÇ— ”Q¯ZƒépQL¿^} lë¾Ö{ö)üDoæèÁïf0åF±«Ð¯žÖ :4yÅJ3ZÁ L –x£\¶ÆIT\ Ä¥1ÆTFr ¶ì±ÂYSöµ'úÛ¬½ ZØs´²9W‹3ÇŸh77&øi’•ïC|•…F¥dHœˆ{‚N§¹ƒ†éƒ(ÀX[Õ£ kT}‘¬ì®_¡L%ÐSÿź'PPŸ]å±Á´Ë€,ˆLb»:_u>¾„ÝÍÚ/=[«–éZT(³«ª9÷ù`a§˜Gà’†n†ï”…Õ÷$DZ~–Ó¾<ÿÐx±y÷˜œŽ8w FÍ.Ϭ:ô÷ëD™Ûw"÷­_Â¥Ý íõßÈv♼ÕƒR×f#}£_ÄJ&|òþê-L'F‚/É õCUæЛ®†lÏ‚úФÊHUðÂÏÈ…x¸FÇù÷HDð¦*ô·ðjì+—ûÅ¿?P†Š)3p‡ÉQ½¨‰R5ÖpH ?¯ô…NãÇ@[À¶ ™ù“@A¸>¨$ÎÔÏhEÕ‡!’õÙ–º)šm.#;øºü¹•};Ô¹R€¹£ÖªÐ9¦ˆ#B>ç¼2Æ—Šoe8£4o›¤L¿!ÅzT`ZzšÎ¶“ ÕL«¼¥îÔÖxéìÁ½²#@Ô~棳hà½Àiõ¨•»¦5E”Ý­µ²¼Am »2f:Ø$›o‡ï=ÐXoÃk®€YãJÚϸý=¢»¡Ú6â/²Çµ'Ù˜ÓÈ0U°‘ÑK‹úA‘w RÚÛwñJ¥¤tDÓ¸ýàÁÉH?ø%•ÈOù–Æ\£+lðO®@r|ë„–$M«‡¤m# *³þZ]ÇQ÷W²¶¦oÅl¡– ’Èô3™‘£ŽÜ„ˆv²"/Ö­¸ è;2³ÆÈá"hš™ <î~eœfXc>T>æaýddCˆ¬ŽéO_8b’¶wŸŠìæ˜ÿ¯¡ñW¨«Õ1iHEcÑ£ Dƒs»'Üz g³£ONlc!<£°8ã‚.";2q!gßêï"û.üÊînlWÇAãÔÎlÑI\”PL®+éö{> ö¹þövÙ*T°ÏzÀ¦$ÅTgŒ#PÝ0RÊú8öœ(|ÏvÖùþ×ǞʂxÂ’-Óž6ChÜÿæ/L®ò€ÆÜ_³üïy=¯Œx2È_Äþæ«áö\ŒÄ›‘¾öÚËÜp }ã,ʉ8Ï3z!¡ÔÜ9/ÔÞéCCm®²V Œðo½à’¼`òÍ–ûàeDu„o쇃ö=‘ñž]Ÿ¸ùŽaîYc5øxZ\ò¢S¼ðŸ¸æº-Þȃç¤:=-‘X>DÇë+¸bÚêŽNU?t{'müºýMK%²p'£î…×ù/yà 4T>ÿ†„+¢”B›‚”Y?ž"Vô¥ÐtGEäuƒÂ¶ßŸ3×"æ¦çíi\¼]9ámã)p®gÆRhk<×?ˆJŒÜ<.B‰‘á_â° Ç䪓n{$X{ÛÒi³òbµj}ú½Â¯*­¼ŸÇÍW<¼l¹Â¾Ò"¸3_äÛá` ”(r!!Cä9ã9MzÕHá“Iw²á††SnIÞ,9°' £/£©Æw>¤ñP¸Ûyܱ:Eñÿ¤ykoØSѶ8íú¼„ëû/ÚoæÒê¯á{C³ÊCn‹.þÃ}Eé±ÍTüĶ6~K-¶UpË;q䫉«ÿ§ˆFG±¼êÀJx ÊXYäöK­wy»¹ÕiL?Ë›¾ð>ªø^¢ÑÖ3?ÙqŸíEJ"5 Íy¨m£…޼Œr˵;«n~%µ<ƒ¶N_cõÙáIÕß•wùëv#šY…~g㸠œ{á›â*Þ“Ó:Ï.Rq¢º û¯ º ]î€2\]æ!Y(ÑKô(>²¼>e‘€ãÛóB؆ívø qß÷«=GWî ×o¿S¯ÃÉwbñûkk†µï$Þ1õ2þæçÚ ½ß݆ÉK×ÉPÛâ™êÕãh©Gí.{¾¶\–Œ«¸Åó[\­Íà$×îg)èxð~4Bô?C#es~–rÞé¡íà69ÊGЫU¬7@!ñ2ñ?{š„6f³:go²øòÕQ„T™ÜBïdÌ;‰×ÝcdwV(†K:l¶Nsè¦À01ÁV(–¢Jx«°—–M^ˆCÊÁ’©{u»†@Ñk÷ºs\,ôålüM•A¡C ¸Òä \¬ÑÞ©ÖŽÊƾ•qJæ£N“áŒ0~œÉéºY;œù*„صj LeúNÖF!ï6Eâw6ÞyTÑëønv’Tw0¹.Éå® yÒwDÿõÔǬvtÀaVÝßA±©ô¨ol„Å` ³d™Lz±“VM×MLšÍúÚq&Ë¿*·´fD8×O%´ˆ‰Ñl£Ý÷Uˆ3UÛUÕéÎÜxæü¼ˆÈ0ÚEcˆ+.l0©:*«#çg8f³ †¼ß716ÿ&¶6>®´—Je9|A±pÝ„¾#þž Ðå=éz •5JÈ g€¬ê;‰ŸDççÂâ•¡!õ[vuºl…*þ;U7¦.¨´|±I»J’®ñ;Ò{+e•œÇ¤ˆ¸ÌøòÊ¿ÚÔ!+ÅHra£•þó—t¸}Sþ¹bƒONÂÓZbKÒÞÎ>«î’1è ;ÝbDv¿QÒ Œ%W³ÊÚî›ûÂbnƒæ1“yA{¹äÆ€š)αœ³ÃkámIMh•(#È-SU{V\Ô˜™r¼¥ÁEeòºÏ‡)ç0ý?kÆÊ}µ!P„øc$†ùf3YÇH®:„Ö0ºDTξÂМ^"ÁìÛ+•ØéáK´¯E©4 Î0޶D‚æ°^KõÌ øUýò‹ ‚[ãž$3ë{…9àÕäͽ?q†‹Ãq”IJ9¢GY¾4´‡¶  Žúk( H ¡f©,Ç€ÈSª%ÜL*aw¼F! '\ÞW=6×*˜èÀ‹!F¡±ÎçŸÕ‚özܳi”­ªµ É]Ö Ik°}”‡=hûRO WU‹ð—øÕìRsÀæç1P­ú\zhm÷ó6g&Èž‚ÌKŽ¢Ká º®×£¤ãÍV9óZ®ÃØ9mI:Mß—ÂßH…F¨éyÕdY™uº¹µc£Í ¿v¡ë¼s—tþw5%€Ïä{øKª“Ë Ôéd{‡0äaÐ× ºõøØæ xØ-A—Tž°xÛ5ÍSvqÃÿl°ßžq­¥.K3Y5?)ЛðJ;¿tüSûû^‰'ƒ]­Ó¨ž’÷OC\l-qúÉçñ lËyý½ÕªMpÏ9­ôv T»]ÒíH…e ЪüyÅñÓÊ#}–>Wú“]¾°ùͺY£¾To²£]¿ÒYJñ’ìçcM˜ÑÛ–ÑòÛO˜Å[àC;ª‹-fIZCÞ9_\J,¤Å—ï©7½tâ"Œt£› ’&(\%VÙ_)l)bü~;BBQMáŽ9"C®ñ‹5ò¨â:–"‡ì4Û+ÞAZwhohs'ù÷¦QL-g«ûekw`Ä*0Š»þ’m¢¬ƒ.2·«½´±Ê„Ô0Ž£²B"@Å&©Gغ&„n;‘9qx µî<Õþ`‚Ü̾¥•àjð¥G…ËìÐæ’¼IqF¦˜:¡Gâ‹dúXÞÑå¦7­¶ wE¸9³ÛÐoZþ’îÆªÒº%E8ð _ê³\ÓÎå§ ªÔ­Øs!3Á3çø4pïÑFáö,”óDYj2g¦ÙØóÌ›W¸QÙ &WOH-¶VÒË÷ž¦c%56ú´,¨(›£/|WW«ÉÄÂÜÿÇ?rJ¹óŸ{ÜÿóÐÌj·©!Pªx•¨Ê¤šKR0¼%o4uþvÕ8}Ïe($8˜›+hŒ¢… lêd'๠÷MÝå²}6Úˆ(Œ/fêÔ9·ŠBº„:éö¸üªµ ž…„¡²B0éJ@‰+ˆîðzÉp‰À1¸7@â‚ò·ÏãjæÎ‹äʼnµq&Ú Y |›SU175®DÃϪM!²âòá;È+ôôëÝÑ{ ÌYö8Û¡H´ÔÊ uâ]ÁfŠÚzb 1ý#¡mÁbºÅ#÷x ID3Ä…<šgÿà´Cê úIýÊŒ…ü8ÇQ¹a»}1¬Êq\¥îÆâ£ >û¶M\Ð&š·:‘Oó›Õámû÷ðR®ft+/¥Ä™}ü=îÛU’kÄ6ŒªƒÔ(ðRKÒˆã—#‹Û߈åí xí¸ÅüÀ0wãe@©CôsÞJ0”)HSOê9¸F2ƒxÔ›TOþóëBÜdý\÷?Z”ž·ÍȨucf|8€,³3ùKß´Ç/¥”5h1¥• LâÀð¾å²El*Ýí¯i7uU¢¶å ïôß6•ÍR•ÎbN#-ÖÎÕù"•Ÿ!y7®©kø´étòø£ î$öêÓŠšÅnu»QmqRXñý>dkŸ=cILØ[h#Ž´µO¢3vä1Á´£:‚Ò%ákäNý#(ŽU¶ì=Ã×(mÏ“ìG™ó,Äì79) äîãõ×Ù¸™å;¨â˜Ã ë éÊÀ ÒG‘¨ûz&Îj¾SÇp0&t¨¿`ËéG÷Õ¬õììÄe"½Ã&¡×"ªÅòâœýÀ-OðJÒ ÏÇÁ‡4¥ŠNm‘>ö5‘󴔊Ox—¯ì„)“Y»¿ÿðaÆ»14½*hi[}Lø¹YPñ,˜žûÌC–}sB­W¦?âB¦D‹·ókê®P¾él›L¤šâ‚ó9ï‡uMƒ[f+´E¦ ‡'¶´(ìD»b·ÝTêé<:@¶íhuã€Ĕ~|KÊÖëØúä¾-·±×·>z´Ö×V‰ß4_Ò„#ŸÇ’«©VÑu¾7„ƒõ¨ÄÃÚxXb¹ùç»ôbŸa*ýD c?ןµLkˆ³È$û¹S1 p&Ú%yWCãæäM ê²HÚû'¢Òj**g¤åni-G^ËÂõ èÚò…8™ô[r™4ÓôoFH`§ðümWøÎ—Î}LL¿<%Ñ#üóÁ'°däOŠÞ/SýóF«±d ìÈЫßôk½×•±Hx9}©x§n¿5¬Ñwù‡B/Õùwt"4. GÓÍò¬œÿÅB¼C‹Ñð9üW-ò§*{f‰÷µ%*dì®eõJË ²ªïC×fT2õ±Añ2 n’aôó_ù&íŸKó3’ÿî Ì—–e²‰·¡&³$ã?:Xryð50N80´Z+~aàõJ3‘žA‹Ã×âÉD<úÚ¤y.«9æt2бŠFÜWõ@¾}¥¼v¥D8íB±% ȳwöÝ1ñ>¹‰z·Â"E¼?¼ï”®ùŽ¥B~Ç¢0çðôI>“¸ëVñ®Sáž3Wzãk-TE bñš–aï1ï:÷Bv§ ƒN¬¢qÀˆîl=[î,úâç4ÕÛi·™L÷“ú×¾)½Í6ù„©gæù Hx,[ÊD&1¼´ÎÐÏ`e\«ÙÛ¥†ŽÏùω‡5Q¸³ûß$­Šà*V®åeà|"c|(þVtìƒ=à[.‡V1¡…êÞf»li4½Qm8]ÕRæüA\ÀËÙœ¹7Ÿ{È7ÿIß-ÛO3gEÿ„ºéþè è.Q%ñ`çOð| ôîÞ%¿NE! ÿì¼Hó_ñ¤B}•ï¤fN<3bHx*ÛíÛ¯£‡ÉWå4ì· †•ß<çè•wtÕ´P›A11&ȰÅkó›:økHyà[ŠÜ."q¾P¸ÓØÜ²:±¶¦xëK¿(/}õ$ÍÄÄ0šîìOÁ;J©õ§½°Wˆ°»4Kußôyfì ð â‡3€?û÷Qn(2’\–‰6M5;»o¢è¬êìn@ExU¯ž¤ R:½R—¶êeaK RýA¥áèM<1ƒ "ä‡×ï}CF ,ÎÞO7]|DÙÝDl™&¸ b¼®§¤7 ÃkV¬ôiæÃ¯5vÜ‘)w´ [ì‰v;û¼HZà•ðIúè|›‚‡ö0|´†ÔW;ªë‡ ›ˆ ì6$öèVÕů(ÐÌÇú~"I]Õõ¨ÝB4âOeÜ3½$ÜÀ¡“å±yšhºÿŽéJýmë[O¥“‹­ õZmf¯òúëòPLm×3Ó˜CäŠäVGMH”Øü ÔùLÏ.“ª tE›”H;ô[ùôæŒòÁ:A‡$yí­F†©S÷A”ײˆ*xí}Åìãk­] A¥†~ïýðû0mòdÔ˜è¤ó#½sY>Xï]è?v®ƒÖŸJšìn*eí±n±Ã"d :ªý2­DùâG1f›àJ…‘'-k”ÍM™Ëû>Ÿ©1ò2áiÙ‡qÇŽ[øàϽ£jÆ€‘©NeÒ¹îˆm4×&¿iú¿’þä`£æÏ2ª=ÎC„+;öäÝë4-!3â“£ml¤‹ÚEeë±–U%¿"þ—Õ›ìZ¶•Léùè ¶ÂË£æÝJáÌs•Å%T| ˜~äAèxWš´ E²ÞÑ*AïºaÏyþÍÃV#nÁýÃo>¼ÇÚ™÷Ú…î»Ú–™)ȳºlmzÂST:0ª¯uL•{ÙXgxGað’Ó'úe%m}ýœFµ–7Ê -æŠB¯B|ƒX‰}ÙLùÒ‰[ŽÄŒ; á9-• õ‹¥ZÕ_rKÍ“YD½|žE;F2çX±±ŸÓà”pÏJá¦lÏL‘÷þG¶;— œè·ÖãV½~EÞsûmì‚»ÿK>£ uŽó¥i#&ÕÌö½Eµ%ª_ ûÄg ºôÇð1:ŽÏð â"#>]ðå#a“…xÚŒXQº«iÆ\e€«a/€SÚ<¸ÒÉ3)4pè{‘ÊÑÍÅD+Ïn·ß¼4±DMF²¿-«=Ç”‹¦¸tdjõ§ƒp9Zmÿl„™ÿ×y&Íe¡Çhš~ yÔÐÌrlǪ2ŠoFׯÕ`#XÎvÏQpÀr%#Âk™î®¶ -8!0ðœº/µNëxu#EJº#ÀȈ‚àSµ^Í®þk”‰¨G }m1(3¦jM'ÞLx'Ûâºÿ#Ñ|u§.ATŒS€hh#NA—Dôü¢ Óé"—üBÉ`< M“Úþ Ú4ºh¡3¦ZDÃA6Ù‚隥ƒK³'C¬t>?p?&nÑ›]Ÿ ¡+úÈh¢emb.OÍHD³IóþÃ*0Z$úµt®fðP§Í{uTæÅ†føýöÆæßþßS¥~ga÷dÈ,´o]áÄLñ|Aº8'*;·¤œTëÚç[ò¥™,Ö`êÛìØ 'û¤ª &ZE—ù…î}­M5V[Ì­[¢y“û1ZÁþÛöúbý+ë“y§u¦ôƒx?›7±bIH±‰k%ZC« ߘe Ôã÷ªO¤»ýØÍ@÷—Å“)–2Éñž‚à|žïAbN?'žPEtv¹%hA[Ò߅γ…ñ¶×I\ÉÄæ ý5>WfÝ#Äÿ ÑÉlÎ.w[gÌ,^9))¾„§/0-Ù{á îDÌl˜î›ä7„ÖšºÖÛûÒù_NK?oäƒ@h¡]îél­ãÂÐËó¯Wš)Uõâˆ!黚Oô$ø:æOf”ÜçÈm½-åÉœåövÌü¹Ùè S¾âÑ ËÁÐmB«­ž[½8|*Q%Ô ¦ÂfüÞàÒLVǰmïQX[¤ÉÚs}ˆU³tPEáß6$ãôl>ÈŒ#zû›VÅßTd¾Vv ¡ä%k ‰a«Û›÷âšà+‚p¸ÆÒ_bÅ@Îg?òâ;Áp´öY´B4žkàäž+±£1ÁdrK ]_ É(Ò)˜l¢¸kblÂ'£hêÍCâñBàÌY  ÙÔ Í b ša}xèÅ‘•ø©mþeÒþŒJbEp†e¦‹ÄI×Àܤp@i $¡À@¼Ígôû×h·Ž[cŠmŠÖS]!Î<÷è’Ï •~ÝÔZï銾mRï-C¨9Ý7ùß‘‡à·°¡~6›†àù®uA«f?aŠV¸ê{ð:é-Ï£V¯¡L%á½ÒC]{>]‡ÕZü²“G{¬G!¿H3 ©¹(ÞxùKã^%¬¢añ9UN »¼³„¢§§S018]E Žâ1ƒÄz½¥ ]¨}ríÄT¹Œó"Ú™ŠEÄHè†\¦¤¥Ð•ÚRW•0o×Õ6ˆî’ŒÚ€%ŠÇç¨[µ¶]©aJŒ™-ðþí·6¥ŠgS,ØE(ÎKº´àPþæ¼]Äœ 4æýÓxW—-Üðûl-0ÖIìPiRç‹ñ;úqú8£Ô=„"·R•±´;™OK•EõÔìkßRÕ¤©§­±I.íÞ§0ë†9ŒÄ“<ø³ Û^HR“`íøÜö„mˆ€xrQÿÍkZ\’WgnwÄHêxw@DäP³5N\ø|^|Lò u";w´AúTGzœgÇ å@\,oýç_?aú¾ ‹ÿš¨VÔùÿOÈ™¶¥¼Ÿ¦Ð-¸ãü[¿M§RwMñw8$vCSC¤šÕV8>Ã:N—ÞU¸A»³.OU»Í'f{T¢¦ù³”r]ÛáõEÌ!{·á¦á4:BSú\ðgÜ>.oi•d üoÅY"Œoƒ ?(‘äÑvÑ¦â»Æ‹Hwá%§‡Õö‰QŸ{Òß²¸¹D\›ü屌ôPH2ZC"Þ‚6t¬l­Ý;Œå+®°VºµùÑ©lÉFÞÍ~7‚ÿê¿l±E½Ýš÷Üyí=ü·óäÚþ’¸gÀó•g1¢¶.šî{Ñ“hRßY(d'm ñû§ì¼²ÐMN”|Ý¿sÙ÷kœgdŒç¤M«P5þ›‡öô2ÝÚ°ek± Á)ö± ºþÑ7éb,¸½z€uì°Dñò*ª?/¨ŽØ=X‘:#Œ$z¦ÀÀÈ¿4j2¹ÑÍö†yŒ`s¿ÂÊâ#]¯uGÀÀd6ñ‰â3ýÓn¬\n½QûÔ=¯š=ÊlÂy+¤S”âÞú7F'¶¥’ii±c½^¥ÐÞJ$6ÔG(£éa=ƒYŠÞ×-öX’—C ÌL¦˜N„@hËzÙý Êíxí¼\¤ýU$ÅOç`™n‹ÎLïðÇ` Σ ýdÚÌq@]GcKÄçÊ6K‚‹Šþ{òÐŒ,|š Š‚ðûpH8Ð}²¥ÐR`ó†Þ˳ð<£tЈí°m§üóIYÅ?Ð(lºNâßÒë<[g¸L@D«1ºiüBg0h„MÏÎðEã¥×îeþæ}k#Rzh9ŠH/5±žb±,G¨ü°afÙõNAH)ذÎ3êZ‰³ 1¨è ±—úáêHy´Bê}è vg!Àì£Õß«W[ê’»x­§ã'8-E'çwÍ*µgçÙ0ðÆënT›¶cS€ÃêMÅö»vX`Üpã%Æ÷PˇÞ£švÔ–n‹Í¤¿aC– nwxN3.«m£´±j ©ê}5­ÙÅ|ªi7gSW…صAÓš˜´é/t3dûX2 }| üM Áõ‘I­ª ‚Í'=µ)äϦ>II)Õ\u¼IªPÊ÷õžy’Ó¾pâæ+ùË‘Gu‘ùsÐ ÂO=Y²­ùöÐU‡æl(0ÿ=Š)CÀ3‚#%C¹ÌM‡hðõ¢¢‘–ØÅغ¨H…©½sõǯÕäëcán,-AÅ]›€Y‚õÑî»57 !þÐùXšwŸ ÌgwL¡…Æ i=À½öJ[Ü7Ùe³R/Õ&&r~‰ÿµC¶ÝnMÕ ›-ŒUD·ŒzEcÓ6iÞƒ@ö²Ù '‘,ŠÓaŸ ³3;8«_9^¥†$Ö_]¼˜ÑŽ>·ÒÕ²Èýó-ó)i޵#y´vÎjÖצ¥Z9mà‹!kšÁƒhë4(µÊ¤ä ðÓuùã{®—ò@ŠtM&*XÒ§íËó–Aç[$æ}zBà©Ê]*õî \lÉs™b…-÷Mˆ;eWËHÃNÍ0ƒ(Y £q h‘ò™?(ß*=0_ü"бæé“h ÷CµÒmZœ­N´{”uÒД•ä׊b*„%¸5îWdÆÿ”S¤šZ¤èåRÝ;¸Ñ ÓØÞ£s³Ç›,éfôðÑàÜ.“×QMòzïÉ“ñæ¾è reƒ%3=w“Ùô<êËyÃ|BJÕ{C8ÃÇwJSçipQ¾ÍÝÇžÓŠ¶ðŸD', 4ÏdB5~´ŒMÊ=H’“[#†ÄSÅÔÛ ¾mJþX ¬þ¸Ácë¼ð¨³HØ@I× Ua£²U~#ÍtŸ@j[’!ç.jzS#(O…ì-$·6-à ‡«²Æ¾1*âérq×çæ{ÍÈÿµœÞ9"¦·3y„ûîÌäZ~dže&ù·A’MukZ:)Èjƒà“íEí¼ŸÉI~+9àu}Â:D”ê_S©Jÿµè 1UÈé%ß±å,m3ÉAU£=6§L:ZRÈÍoVF…þ“jÏÁbBŸê%Ë™&ò™³Z}‡Ù.œk”ôi5Vo”ÿiœü¯Twnp‰OúÜ»›Òº‰[–¨L’Ó?€-?.ý“„â«+]ø–|0îd³ÞÒÀn̾(›ˆ‘PƲÕÛB;¯q É–HðÚÅeZìöudäŠÉ£î×:.¤Œ"_*Qè[u9ïÅë†Þj1ŽÆ‰‰!¼~—ó× V»À>!zz¬ð‡Õ Ã0‘ ‰mÚ?\°`u½ŒÔÍFŽfÆ…÷˜%­ÇŸ§õ—Ìü„rÕ+xr•|ÌHƒàJ°Î›„žu2Zò¸ÀKr8Ò˜L”ãÇð©û# IgU;@ÀÌKÀä—¥Ëħ§&n  !«[Vªîtì³èóÆmýÈa>Já2aPgè:åH¨ í,ÔýÒø¬Šñ Ÿ1ãfÅlÌ* ŒÀMÔ ›\¾¯'±Ý„ŒÌ¿-–µjT€eáÏÜ‚ YW…Ø@Ý8| ¼ôL&kaë•e'9Êý'ß½±ßÉ~þöí&{§õþâRÕ…ŽÝgGˆýEÃî c‚#CkR)JJ+k£òO*û]0üÕæzň»`D‘áÒž×´ð`·rƒ;eÊÚÜîAÀ³ ៣éùìÆ„˜ˆ§LiàÆÐBÑ?¼šJ¼ÂÉ2ðÔHÂnåX«ê]S‡/¸ªÑ3ŽÁ !ꤾ@Ó"ÝÍG >.$jœ4’êË’SŸÝL¦+檓þ§Ã=»R~~ȌьîÁÙy«‡‚“m«/¡ºäv©¾S¬ádq7zÎõä`MªÓ.2a„Oª”FC$yxè'áÏ¥ÂÂÇŒ*â©9ÝHÇžj˜¦uŠ‘R CHÜþF,Mñ…ã©«»G´™ °Sí{“„Þip3ËÜ8¢cZ@'/Ø+Ô}ÅWÔgþ"ŽÞ9õƒ©ŠÃ*âUfΧö ö›ŒBàœ­ùTnHxñŸa tÛ_†É?V(èa…ùrDqç9S ÔîœÝžŸOx§?yÖBL”!:èÐ…H¯ä–-䜲`ôV‰1ÍxÌ{>,§ðøî+n7*DF89G¿ ýü]•fmÎøW¨Ö1O+sP F\8K“н'·“Ùl,sZŸT¤ŽŽ6Ê.ÝAgzi ÁãU€á9k„žüþ´9²ÈSŒÄi©×¶@ª׸\Pa8,²P`»SI°s·ds#ƒZRXK…Ðå2Ù<õò›ØÀpGKrj­ÔIW±ÍT#5ÀÈϹ·Î6B¶¹£{¢½ü*-‘ ¾é¶‰ÿ4·Zól@Ó™ZRöó2ÄàÕý™¡1‚íòAÔ|iP<”<èjÃHY± 8Z²»È—DŇS94Ç»»iÞÍbUÒ1Z«) »Ås\Ÿô]¼‰bÑ`Ù‹°Û–Æð¾§ã¡¦ž+[½·DõÝ©ä׳u±JBÅͶ†A‹ ƒeÛu€úwBH]{YÑK»V'q•=É™k[QܤÖpŸ<á¶ïnÑì†ÿ”wþÖ&Í« êк{ýW¥´Iâ)Î:®®dò’.«'°¤€{oðsBÚï}»:ZÃŒæëÒ'H•Óuà#;‹û1»)í¡5 &äöæï•ôÌöú«xDj­6Œ¨ä@ü·€¿Š®­öÃÃ1LãÞ¤?Îé 6éú‡wÏ_Ì©àY-—Ðó1|Ÿ´ºf¦E“™þ÷QŽÚ\ HsóuòN ™ºfED­ú¾±æ3ÚƒG?1V£˜ÏùßjL/þµ<€.rxêʱ –À_$§#Œ›¸U®ñã;Ÿ§ÌÌðù{‡ÑJÝÝ>û˜­RÞõ7Ñ<Ê4B‡Bõ²nä"á¼àÀÏĶØ'%u1ÃæP .ÈèÎ ì€=Ê©*‘o"´=ùѵü¢ŠV™ÚL¼äÐlQéãkèiAŒâ#F [ŽžÈX„!:)~3›Óê7ÊYû:âa°®n4óë\È«çÌv²Í&‰WyPÞ»68*醇•Ç}EcëE lj z€ý+Ò³|î’¶ßj^€Pº"™ˆk¨ÄÃÍkÒÈwGÉ:W ñ´‹O®hrÊ“Yo*•вä¥=àJóÃo¾©2Vf±lÈÂM\s“3[ P­ V(ªw×ø‰²ª¼¶hé)5^n'}®W{oÃ̰vóQaäž~=ŠS&âoX: ±%¤­ŠE``%ØKµŽÚ×Ká)Jì!éeåǪÄÖf6 5ðù„¨ú4HRQ#EY ÷¼ðx Ï¡üUoyŒ½Ç2ÉXð~øÕó:Ä¡_–ŽìG¦F¢hÍÜ]åýÕe¸ÂH}êôb_Ûí­£ú+ÓôÑQ!ÇÆ‹1Ø8a=Ãq7Ù¡êisHíÞÖ´Ž-õ’O¡W{tŽv÷_µ®õpé9:¾Õ±\Exá%ÿÙ›wcPgúÒ/}ÒL±#RÝ}ŒÊŒ¸fç8jv¿Å)}ª„õóš° PGá nŠ î&dòcc‰²/æâ_È«§CIããÔÅ*ªÊ ÀvÙ"™{¾KQÖè®jŠ0¯éGÍÐü °Ðbv ï‰æR((J7x|$eµ¤ç 7$18SOUÂ6Eµ~Mì9õÈBè€Ïô7@…BL®¬‡?ÒBKÂV‰«& HäoÀœ‚õºì"SfÒ\NØ\æD2Ü"°)úfß³ÀËŒ×QŠB…xꥮbñ0½à[+O~°—Nüï¡-´ÿžu¶ôPyUK†e䬲@¥ Ó>š@ùL5¹Ç ËzAR×â(¦•/ñôHè3®76ÿ¡ª—NL:Ì2^Çgc³a(Ý\ûaN(áËünC 8ž©¿Hd{úY޳êów‡Øš‘3–BÍáË /g¿OTapä' ò¦k<•ÊAï%vz:vÏhÌÿ·žh°Ì š VÒˆ¢+ìqh)!wAV>‘t4wÂO*G;×¶>#õÐú¨ƒ¹kTGgðè³"ù©f‘Š·q:ùj±[ZxA÷”ÈHñZfH%cpŠ¿Ê®•÷8@ ñ2^Û$â0MËÇʺÓP!3×éü;§.Œød `ü³ÙÑ”é æ…3 ’ÐÈ^J_×¢Ó€ªÓÍ‚m¬":[Ôˆ5ͯàˆQž6“·²-}»lxÍû’¨w—dBNÎôÇÉe‹:rÊ)pÇ@xsDÛeâ±I)PøPÛW«B:}ox™ýNÖ4gRòÝ" ªµäFæÅÚžé‰dEÏ]i¦†@ñmOê‘‹Õ ¬™†õaš5 GÆÖJWWºâÔô°;²;íIFKt^Ora2÷–}Ë(ÙÁŒ N/:oL2Ý1'5‚ûï]8?©-ì…+Œ¸=×±]Tƒ6w7†’mfça € ù[FÁý Ï^/ú¸\™ƒ^e¨–ׄ  ö†F°‰.¾ñ*‘µmüW¥3@³j8Ë-'‡s¹uêBWä÷F<ĹŒUn;—`X ±–R‹ŽÇÒ¥ /¸Iç9õÙÿoE+u±Ì|'Döæ\@„ÆTÔd staºñC࡟èíüËÆddg—æÈÅÕÔ7:®­×»¢@V¢kß>¾vµ¸:*ûT÷è<àâÑ| `lÖÕ÷4 ÃÙ ?\Ø»[ÝF–Zw-ßõ,붦¡yw&K(­¡à€T¤<*¨®,÷6N]íúÝè©3wów»´Bó® ©BSOôÇbÞ¨?œ“ ‚³Ì\UÓ‚<”ƒ%hÇŽKðmÔ‹s£ y-PWŠ•£÷3 ‡«Ð扩\jS"ìõãÉÕI±XWí7R´Š>NX›Å…A×äÛ<’‰n8 µ¤ÀL÷*ìi™ºÿ Ùe¤ø§ã> V~ôÇeÓ`×û¼3ŽwÓû}ÿr´¼•¡‰ÄÈjE­³l–™{Z™#ÎTqC¾#ZYáF}†›Mü{íÉèÚç´ÜŸ3½Bxâ–‚’¾.°Å?ñM*º2n¬¿ôÈÂs®QÌG}Ò¼žU”•Ø;ŸP­áÉ2’ì`ÃxôJÆ'Œ®eVr1{›Ãhgã,õÜWS“4yæ*¨þd9Û“eT$ôc&¾Š¥˜CÒH{Vø 8ÎøÏò0³V0~ÝêS](_Cì±Â5rûd“U©™"…E·ªèÁ|¼?= üS:¦o·ÇÛ††z!ÿ%¼)&á9!nåö½Ök[î¹à¢Rúô5¨.Ž0„ëR`Ѱj2~sG£Í'T$ïRúCW í}exyãJG—zµÊ±^‹QÇ¥ åB[Œ½uð}N¶„^Cj–êÛd_ûºMÌ’:]Ù^?¨ã„µæ™d;%~i¶Ö2UB€Ì,lÊÿK“˜‹çå,±®„k³3æòÀY~s¼Û‚º_A¼£h±2y¯|xtë˜lÒ{fèê7‚/“¶D4é¹(/ƒ×ésWÙ¢RÀíø•ú«ë/kÓž!r0–žØ–>ÛFñ­Î6U_—+.ppwöâj‹>­QȵüÂÐk8(j¨M­Óþe´§¯/Å M¸ ¯^ÅØïììqÒ<õv{èoÒ‰/Œ<|#ÛªÃü¾j6HŸÊ¿%ýGx1Î¥CÕKm’t(aˆ'„à"Tò¥UZÉÛÌ?³JJ< °)ÑB¥w—Ù8j}pš=ôTæª]íp9IÃIúkÖßÖšÒöT©Yõà q9þλÐZ{½_@oÅO¸K^2vá$¶¶æ[¯L8üù¦Ò„Jš^¦àâv¤Vjæú„‰FfÀwü&ñ=f÷—õF@¨›‘ºF8ÃØjý©»Ž"e¯¾çV+oËá¼²ƒ¸Çi§&måhó×Í̲{µt–LX‰sò4ë ¢Üºë!U)éá%o.6y2ï̬ºïK…û¦x• ÌÂJzu¹Æ¸Ðd˜1æ4ŽIµ‚B}qƒèòIõàÀÒ1ÆùÓdçí¤´Liõ3Bó¡·Qß"VêØ@ϳ킪X9ãAÚËL¤·3³àæNãìzxÏ}ü—Ý  `ò…ÛÕ ]°ßi„ç¢EàÞÉiÒ’ ð#zÛ|Üàn•±ó¨AÖ@×c`Ï%x†xã¹8¶ZwÄPž ºíºÔ=áºb׊5·1 程‘ìé@£ŸW¨<fâ°L#Iƒo¬Ê¡‹™1Ì–ÃdÊ’ñrW“Çíyïe†©›Å…Èv#ÆüæýߘEV½µu3¥ŽÍµ¤‹?Z¤tœeē׹Ìw °ÄJ‘û53á€ñ&ÿ©HL7cÙ­AsæÌd Ö}6Bé®ÓûZ1BÙh“±©Ü“ÄA&¶ha‰bó†{CÑ•ëf^Œ¦xäåþð–c&„­qtQMÙë°´í¼~Uíûc{–ZêrC.£}¶óñð¸á¾·¾]•JÁòW”Ì=]d„Ì”ÒÓò¹òÃç*g?ÚÀEÖR/.:H}w¡¢)§ùâðK­Ãé±Í…‹šæ¹é•ûøsæO•PMŸÎg¤×hɿЋpãÉ`Þ–Ý*ÃÝ6ú²çoCz©©rZ¨;Œ÷e%g”ާà-êLš¿â45‘fNû<kuû?E@ÌÅ­ Vm«z!˜»+pc V•måëÊ™/+QI“®/«ÙäÇO7dò’Šæu­m *ZÑqà¿íŒ‘Ùæd}µ• :U"§’Ù¤©…­á±á<¨Tùqßiöñ‚©ÁâX€¥p‰íl×( ÌÓ¾3‡%W’È«}69önŒ%•6TĆñ%åüÓ<µ}UÚÅíÀe­“Å.h‰Ré]x4|•0¢Æ¹éL yáøÿ¼Àø†V¼Mcrȉ¹M͇x$jP÷ò#Á* Ðb“Ú®²f6wȈGvI£‰1û_þpYv‹2ã‚+›ƒn;‰ ³ÍV¯¾çª¸‚ÈG.'’ yŸ•ÊáåÓhXÖíÈŸ¾úÙîäL/ xø2(Íô?„EääšXõkLRrùRJ<»L;z^S!7É/QEó2&Cx¾¹tŸÎ9’Ï‹#q£ërAÜŒ_…l<Ò~xÈåÙy¿a¡üËÄÆzóŽjî⇪!åÚØ­xi˜ úît»ÑM„J˜ïÄqnt7üŸ©¤ªÖ«ú×nˆF¿«]ù:Ï>Y]vzåEÚfRó—8ò‘›ˆ#YĘQê7ß7ùRôè푽8Îúh°Àøì¬Ð"ráåºRs;Sìm€õMÕ=¢Âk˜G s$Ö3$m  Cé¡™ÑAVdÿȶÅAÎ2n‹ù´Õ´¹t¼—]³Û£)b‚8ù”ÊÀ¨ô¾ òfãÚ7Z'Űöµì7g ÑuëÚS´1$…ò^žÎÖÓlUþ‘ìù¥J¥·ªÁiìø~¸îPLĈÇV ß»üj ê,È8ݼùOc”üÓª‚E½,Ã3Ý>a0¨‰™aC{Ÿ<*.$©«ÓR÷¼õùþA½ ¸V}EºqÔN}=¼èP°™³?Îÿh`Y­ÊOž,0bû·SUwÛ\æ((½tØU4‡åïëþm-# f˜ŠlîQ> #&H£j¤øþçeë7„¿w·~XCi€S aéþsí±×’Ÿ±!Ó$×wÕÃ{*>Ä\ Áíí´ ë(¹<Â<,þu™o¼ÒWŸÑÒëñ59`r<"ÖÇ÷p®-AU§ç$£¿òÕãËMp̳ìZÚâ¯ö´’¾@fÍXªi5Yâì]E(iu&}£”jï΃xµÒ•z†|ªÃI-Ÿ€ËŒBáä]Œ¥g/ %Ão ŽŽ°ÉÌ;¡^Ìs8ÌŠXÞ7ý'\b˜ÙØkʳ•_”Ýd" 8ë¿nÕqê°=äeº]ò^èHù6ô¨(ø$ž&®Ü¥\4{»áUе}¥Üs/¹&ï%îîÑ„ ÐöXõ'§5i…˜yÍwº´N Ç5Ù µ4[Ý1lV _ /ü2Ø"¢¯Ú8T/“u)ºøfsçÇÝE¢ý™v‚ ½Øi‘LkÅfzæN×¼FAÅŒû,ÓN£ÐÊ[‰ U <f«5#©üáK™Ç™àšï70¨>øßœ¯ŽÅ?`kWÖËzùŒ‚Xû`ÔƒùN£w%XPäb«h/߈.ä3 °Ð—}Ãzñ£?èý">0JÜí~ Òœ/šÝˆjbLؘlwCx:‰Â„Ÿmâøf~Xjæ ¨Ægk9`^ ­“JG¥Ž;by Û2ÂoˆÝ¶‘Šo(š×Ü+Îÿ{ Ù®hΛ-Ñå1~T¢±Ò}‚ê…‡8¸¡ÆŒš›lü hGOûî,‡¬í•¯Äü:ÄËSšTië£Uæ ô×ì\Ì:Y·±¾‹ìÈz†Í"ÉêW:ᢹÇU{ ^‹òõVåÈÈŸ“KΆlG¿$çÂÆ+µP*¨+õ´#“{À”ƒßr„ÔÃî"Iá ÕUáÕ"c´ Âc–#€åE›uÙª>°}®ƒßlú“~O¯åðû°º(ùÓQ¿¸_i—Ãt¹cÿ}!$´+)ÊÌQ¦±)Ì£Pq7…"ä‡nÿÔGÕûÍÉÈqZFk|#ýv‹6ä¯Ô2U¥Š¬í|¡Ý/4ߊÅ%;eí¶[pìNŠ Ùǃ$:+©ãÝû~…L‰ñ!ƒœõêp¢±fŸÑ²}šÄ¶Oã@ÿOÈ¡„K#ÆtÕ^“žZ£i9òW8& ÊWeÛCÄ2DÛ•ƒî˜Þî‘¡•CŸRZã€mPi$ºI®>å¦`_Lòš oà¦Ì¦fPæÕéÊ}RÈåœS_n`c{¤]€Ÿ°ÒýÇÏÚןo Lf# ^x~kUŠÌÏ$n»_ÁðK%Í¿r1=B_ÄwYT*Q‚n³ÓȪáΤÙuò¼ˆkQ6¢Kq³à‰K寮ãÛÒú.*Ÿ0Iå 0x±léÊ·¸µXæ!ú['¾6þPT”µœf+'MtÃ$ðÎÚÊ}7é×2&nèýÛFaðÿ]?ê6äX¢zP=4ñ'À±ý¨~´ª¢]qTMq¸tûÄŠKIÅ nµÝÒ!ÇÚ–a~Õ=Ó¼Ú_oKâV¹v¹ÎôrOŒø?ÂÉšAü%ÝÐÁ¹iej.lbkTΛ+#åôvOåLdcF¡j¦ä.ˆj\²ô ¹¯æ²µ¹ÕΕÔçI Ü•ךo¼záX ›d¯ö‰   E_?£1iÆ­­E Å²2W‚÷2(–çáb°X¸t²;mšð@D¤\6?rLÒb+’rJ4 êiÕ¯çÈÇØá[³,U¸žÄW/YiHñ ¾6x¶iÏDzÑ%¹®ÉåFk3W²;¬Ê‹pÿ$@_¬ô¬RžÃá ó/Lsø€Uo;Õˆvòp>h÷Ó• -Ä¢ÒV£ùá7aaÌéáÜ#W„—Xž­%m•VIËñ {Lj‘ÞîmÀ >vßñ;ø Õ¾çeÅðçÕ9Z’[å¹®®'ŽR<­×VšŠØòstz/hðÇr»2Ã)`Ò›JEÝë{ÈIúmøÓ Õ$ëŠV¡Uá°çç4‚«Yº™ýêBUY† ôQW©i —«ø'³½~²4à$ÃQ±‡^G9pô—%¬…“L1WHòžÇ‚Ð"¯-ÛœfÄä¼p³!S‡´’MNnæqk9gFµ¦{Ÿ‰Û8ÔÚ¥TÿYùÞ%íí¤*^ÔµÐÛ:Ë3.$«T(:wÒŸÆd&k”ÛQÞ{_wÓË·Î\Ñ£zU0^ºê÷“g‘Çúš€1±,Ä%e±Úµyš«}Љ%¸à_Å0[ûhŒ/ÿƒŒ!ŠhÏDtyJ{NI“AÓLô‚Н‘E——çyQJ€Ay”RwúœQNÞ !*V¥u~x9øÞÙlÜbê>„ BŠ3EJ³£³ýô¤óBšé;°Û¯ËwéG™4oq@×SU7Œ+ë‡û>b¼âï”P!í–EûÛ2ëòÔ ÝyY¿Yíê*¾p)j{|"-ŽoØ£Àõ“6ì)²K_ pŒ Wl!:JÞs E¢ö(˜Áb²¯k§ÜÎi™ÊAÑÒ!¯d+¿q+Ó|*Ý2×ï¤,$J`]K|KÜ'Èû(8¯Ø€¶iɹ(Oî¸ÆéCIXÎÊST2ªÆx*ãg->¡ôýe·ÉúKO¨“Pt³¾…™ ÇEÐ ˜ ìÜuóÌn GŒÎøj‘5VS¶›W×ÈõH@ ˆ{wsö°á,õØu ¿«<ºÛkSv€¾ÛÉȹ;º~;ù1Ò!P0¢ÈWQóïé¯)CñLó¶ üâ.½ÛîÖ¾hE×±Ø\;qšP«°®™ë%1µûï~qÓX0£ñ:sŒ!T“Xú$o«87°*³Ž‘!ËoR]‚éQk+h|ÐÕ7Qä1LŒvñÔ±€hA IaQ9oøÂäïÜÐÐÏ8r ä7j’[!%pÚ¶\×eB‹G)¨µ”eì„‹ëhhžh›X$£24ih*óïÙNÛ~Lû7ká°©|D 7øDqmo/ƒVÝëeoPa!fŽlNdÇ‘ªˆ‘A§C©è6Ã8›Ó¦´$!i cyCÓ ŽÅ·å¥åt7€Pªb~w\2«vE•ÚÆõÇ­ÄEî}¡^¿HŒÉüûkÞHór+¸+å1ÐÒ³­¾jTÏeÜæGpÄ“²kUSý ûNSI4ÇŸuÊgG^ÜTØ9Ê¡ŸNQ— ¤5ñ´Pl~äò€}ÿŸÎ ÀŽ·)6^»×8¬?§…šÎVµ¨C@2 4æÙN¹~QÁ8!-ñdPIÈV‹¢UE×%yñãÜ¿ÞzTáò¹iX• -Ðkû~uÞÌ¥m™OÌÐø7£”¤<^Ñ¥œ“ÞÅNý.8t&KˆÕEÐÚšx²`Yß “à9<179h,>|=…ôm*C,ôòUgü© XÀë±uÜÝÕÐêQNØ‚}}S¿Ô1mÊjôãÜñ¼8$á{m±ð P9ò©Ôò€ú÷··ŽÁz<ëµY}fRê¡[ä~H¡òÿˆÌðŸ$œ}ÕI6DÎ .âV©Ž§Ë$¾•ž¹ª*ÂÊ›ž¸‚ÒÓËwÔD;ßÀÔ¯kâí1ЖssjÇu‰6»n^—§ÛN T% ôÍË™ý)™|·Œz§uù‡f|Ý=´/Ÿ4’žHèU‡(¹£y¢‘à„›ìzb"úi-ZI†Ýp+[@ü¢¼Ý%ÂRƒøöšð†ž`­÷ý¡Ãî=nÕPîdLOé?íhü!•r?špšÜ— À2³â/¡rj/ÙþÞ!Y"HÖ!Û¯”•"3Bw½#”R7ÌóÆ€ƒ¯ü®›Ÿ~"ì¸}ÀÜÎXí¨ßõ#Ðjÿt'’ÁE+‚æ•ׯ"“ å_$‚ÂyŸ_ã p{Žž‰7übº·ýA[7Ùõj+cWý?6¡Üô£"©äÑM‡ðýês¯BWþNÓL¶ªQ>!µŽ[ÔYkTQüUhÐÄÓQÊþÅ1ý4àQ—3måìŠÛŒwm›h 4†ÿþoâ A–dÔ³Zú¨8Ÿ c-uHøÞñ˜i#ßÛ·SÕ ¾áôaC›&÷+ ƒº0(db‰hv‘ÓÑü }“Ì8§•x„ úOÌ Ôsk0.¹Ã9¿f‰ñqY c8%w%ɬ>O¥#!¬¤s0ä#_Ü}mÙÔ*ê"A[•É,tÇû®°‚äþÆÖR2^/•­®^c×¶äóàÙž®ü$9pò_û%ÂQšeêt¨„v#ú1;ó’ðY GèbI<&ð›ÁìXjbó…¯|.% Œ+#…ö÷Ó„Ñ$w¢§Ôƒ?›qÎbg0ÓÿІ´‰ØÙé1ñ,äâÚ AmÚÆi‚Ä6â̘R Å^ `_Ð ê…¿ÏaK34¥pýœ”¹†˜"ïsÉ&Ħº){ìªQx®P\¦ÛuÑ/ŠÍ•XÝM ,ÖôÌEm…àRì¯?1j3ÿØ=x{VÉ•ø>«ÃÉó£Ë!mËöeÌ߃GÐøÎ}¢3ä1Ù½!_³GÛÚ !9ç¼n–6 ‘Ç•(5W³íX§¦Y’¤Uù?Ó@¨—ä€3{Ø1Üv¨.g…•ΞO•…cÏ’ÇK.©à‰ä† 7P‘à°÷œôª¼‘Ô+²IID9I‰™µX™LÑS4­Is< -‡H¦‘„$ð™ŽSÔ—u+ëà‘ÿP+7 ~c I¬õ¿ "&.«Qÿ®ûïcV\Ä8øX"u—i¥Œ{íB¡Å–XÅÁÚP¶] þÕ $ІÛCÑÓ%¨ûWÃÆnËá¡í¨÷Iñ‚5 ›õ÷#†&Ô•æÀo§e=€2V•T¿BñâÉÌ"#—Ç#5ÛÜHKRc$v˜ä®sÄ"“*´Ï„VÒu:v×''NõÚ‹žöN/ýsã™hÎ&šÏToþ;7ZÀo  ¿ò´ôàR±i Ò®P×®Lr6U4À)65ý—ûÆ|â»»5·ñìÑ2£ìï.ÄiB("«‚¹M°ÿ\é¬ÞÍ¥„'·g¡ÈØ; 3¥>9pgR$–éìða0Ä{ §¬x໼ ou—ƒû«èi³R ÃmhAŸàG1ñ|ŹÌN3ý¶[üä"·K‘QÌ„kžz~GIÙ­ž0~³(v)éçGê²ÁÙÉg0ãGÜk;©åQèw^§¦èKHË&Wc÷€‰ƒ)#Eâ½5Ê·y°7¸F:ØËÊÐJËÁhˆB» P¸yG¬uâÃé,&£%Òr4†ëÓ“üQ„ÄÎòÃÐ Z)B=ØhAøHÝ…3õgŸˆáÃk­š…÷,ì[?Æ;þ{ž”#úÖÃA>œÙ)JÄÛ‰p] âö õhN¹®ÅFÿP/á‚¿Ó˜ü½.Hô}¨ábK“°hc÷ÚnâVá Oµ:sºñi”èÆaª-¾`ªÛ^ø’g"F§~|ôè—Ù€nP±¬Ñt80K6ÈÂ7 è–Û ¥ð1µCß’ é°ÇܤEDqÉ”o 4b•Rï †ÇŸÑ ¨œkõˆ9¦Ë1µŠ“î^gW~–Ã/¸­Ks—m¬&A0®ß2!¯ß"ï,U_ùàÅRƒØÖ‡3¾u¬´Ó’J¶£žúCì5m ºEX´ß~p.ùþíõÏ…gºõÚÙL÷¼æÕY¹~ºÚ‘·ŽîøžiÌmS©âFѺ>g|mÕw»²çñ¶½ƒl§+q³ÏÞ®“™bŠy¯&^Ìùã8ËŽ­Gêý B™m7Ëuôøÿ·ìå·ýgÈw­»ƒ<,昲XNi‹vJïó†Bû¤<61¬+«}Æggq»Úp p¤!K¸÷•°0Ì€¹ÍÃV¦$Ño%Š «gÖbI9+.½äx±u±ç•~‚eÎ)³´÷±îO|«º¹å8û³:Uo¥Ø47¾½|q$_ «~­qtu¸ú\GÛ\6˜n63äÁüÂï’¢ñv¶“å ×X%ëÛù<¹Æ‰3XÚ²žB„“îQ™ÿå]akÃñ¸+®™g|©úrdâä¹µ:óß|h]]e*]ݹ[!ßIçéÉ[û°¬;ã¡–q.$xC*Y»á~H¶µœQÐôã¼ožôM¾Ö [>ÒâT¯xCh̒𕆦ý?$Ä€ŠçØé¡a\"4ÛLc&f*Lä Üò)°‹ñ£©@ôáx†›ñȵMâT¡7+cb»±ˆ±/·Ç[Óìæmrh{1#~ˆ¾beñáå’ohà=í8:CÒ§~å0†´!ú8ñÁ•ù ¦´Øî'`Û´Äy¨6Ê1<ÓªW7òâQé›ðßÒ_çËNTåˆ ‹>VcÑ5ˆWÍ»/„äÅôaóRÙu¶Êiì/€6þ_5¾Tƒka‰•¡¥†\ƒ î±Šè¬ZmQu‘ûÙÅýXY}Õ~aŠX”_Är)|ø‰¡tquÒÄÏ5™q‘ @+UðNA…«vœ¸¸!#Ï”?¡Ó]‹25Ò[HC%D)õêÎ)+ý‹÷Áî Z –Ž¡Â®ë¨DÝ­¢ûbúSœ`úCñODt s›à@B5lÓjïèk6¶œ­¹þ˜´Rù"ÅÏ ·tàwm 2׳a2'M2g¶÷ç^ôÚlÊPê—è8? [â9#4àݪµOÈ>kbκ‰77†he0rv=ß7ˆ«kénË?­ÝËkÕ¹&ªÿž{«Öh(wÐ6éÿü9¢·RB/b«~ôsbHÊþ¢a„À‡|R|`éôU{)ð¤ÙºÖ0½š¢ëšâ›;á—ƒ'm\¤¨›Ò2p ã3©S± û·üÿgL')&)GœÖYl K—Ð2yëcÇÇ4,6Cq^v)ûAð5ÉØN«ž`£gJ#’†ùyu¨4^¨·ÛEGf@³éë3Ë+«Lb…$ýòÊÊ?oHñ Û°zLü<úuMEn\À—Ý1nf4Ú4Ë›Fu–žZ(q4íÖÏ"AÎÇ"¬u£4¸ {ÌUÓ .¢ÎóOYʸCoèƒ%ª‚…2rbhºâvHHã¯VOlª!žÐª§JÍÝ;â½¹'cS"éÚµu²Üˆä¼]|·A;ê{™36°0£ ’š¤ä£Õ<GÊ‚nuå”Ï4#E‰ˆÈÑ¡ÑtÎhßO òòCõ«§R}±tŽÜÇÒ s8]˜—sE žþ÷®ðlIöðwØäÜV:¼,ÊQÕÞªî·öë>šŠ£ P¨…R«2\Š’,(¨{@[œV«&Ë ›6‡®m^ø w‹+W&‰Ÿ’ž}y¶­õŸ{ TWɯA3ÙçÀ–Û0hÖñµœÿ|Ç—ùÁ˜¢t€à‚¦uÆ]H2=² •­ ç1TÇ>†°G‚[CÎ˹0MòÊP»õ*¼J^ë÷sÖp‚ùW4RßÅW?dJ?&ÃXKrêŸõ¡rÆ0™‚‰Éˆ¨N/›SÍ®WîŠþ½,qùßÇFÙÚ_p¡ŽrÝ@k`•*6%LõßœK3Ã:ÁÆ9 »òC0ÔùùßööΠMyBp¢œ­³°¾H:UÌŸ‰­†7¼Æ<ƒÛa+™Ç'Yz¦•AÛÝÅuóæmÈyÐb’qÇ'&Gþ˜7žÆ”:ò°f!극͢E(¬9ƒBE·®ÝÀ÷ d˜ÿK_ïžÞŒókË»^ƒt3´ðÓýßã¼,ý@¥}ÓrjêÅfUT Î/$4­_[sœŒ»¼ó°ùÐèùÜttPúHŠê¬C³µN?_E1ù\¡‡ŸÅ¸Ö‡ålô®ê’ ÔUkÑÆ—Ú΅ر!ÈuÇ|¢‡ 4öOd6uyP/ý)Êqž?D[kàÐË^ƒ»(š¤³"µ:½I‘-îßZñI[+EU“Œ>ë~ópÖgÉÈy :åýO·nåþkóB#ë7ã ‹âèžðM®²{c7ƒ‹³¡Êb[emMt‰~äñ/ѽâ|P~ h-^-'{:ô ºåe_MñN7‹¯˜Ü½° E"È÷õ^õV½ û­<¿J«ûMI‚Ây·v®8KËÔ1_ŒjÃßP œ/×5l ü˜@†HéËÈÚÌhìs]`Xöa5Ã#‚=AøäÛms+'\°4ap¾ß8mÞ&¦ðr ÖvÛгu¢½á0Wìq°#bÚb„ðNÄ  |¿Ñ;1åÓ¨O¬–µ8|-Ë»&?¶> TØþxpí¯ çÛ¨ç8Q.mú Uó«Pÿ›f¬˶ù0µ“Xµ!WåyBåé7wúìn$ŸPÖ µ®J€©Tëÿ£Ç2¬´C ‘ºá{”¸ Õrµ¯'{Sz¯è ’࿵K!›v´Y¦W†ÅÁö1ã ÷)eW÷Ê”÷˜/°ÙZx3.ÕNã*ÉmÝÜôE9£ñ9×µNío$ÿâ÷OæFf’kj‡i#‰¬ Wæïƒ V®–çyù(žÞ ,¹(€Ä}[’IÔ’‡ìå; ¬ ç+{;qõÐ9!O€ÇSз/Ç(äç{µs҃ʉ›æNYª@—û)çS†À6<ðæœq’¤0&è$dˆlÓñš†Â‹ÐìÎö yŠM6Ÿ¶ºj¨Swã{³¥l×$”.÷83~ý«H »ñûíDØd·'º€ë[†e—ÿÉõòï¿5Á´èHî{pjÿëMuë|º)¹í±Ü»«§xñc­¼™v Nd­Ìfl/¦_€â(ùzNÓ ¯¾Ð1ÜZlªe—v_6ƒm´]˜âY®YüzkhŠAÄâáõǦóÄÓE<­ÁèúÐ!ÎP" p¼-Kó‹ž¾Q´m]¹iô½–s6eÞe?à9nR# ÏAÞ±þóõë»O?Ï"h½@¥5¨Z§u—§ä DGP«|¬(Ég±îú¹09  ׳1èåpI1ð7¥$²óýê›WPø®âVâL$Š8]ÌÇComKøKÍžèÒ˜vã?†œ<þ‹Zäý®ÀPÈPÏ&^ÇàõÔ5å”,Ž  b%ÑÝ!¥§è÷‰óTÇX¿z ]¹ÃЀnì®ß=ÿÊb“¢ùþÖk^ÝuNý–F‹éQfˆ©ÚÍ2Ì —0O5ÜßÏ® •1kÝ &'*S¶Ëu dÆÅF“AãG@=è$ÁHðWÈÕn×”¼…Íiò˜¼(GRb @GÆ0 ½Õö_åwâ¯IÙô âÄÃá|1<®½×æ2–ÿ®–’ rù`©Òò¹pÑïòƒ§²Ï×G¨y>üö` ô³§ïþÞ¹)8þZr¬ áqñ`P”Ô†±óáp3|dnÁïÞ «ÿ‚õa``Ž^N  {–>õ§a,Ûkxuzy…Ø¿ß÷zz/õò]Ï9™ãž$±(ô–¢*¯P—>“¯ÿ0㵯™(? ÅÖÓA¦9N‰âiO#ò•“ä^eÛF3»¯ôå«Âº²dêšx™«Ò`Û†>™‹‰ÿÈâY*®;‚:WoèÐç}ìJ²æ.ó”ü¹k…z7«UY¹›÷ò¿)œbëÏ…óÜ^m5 $<–I{ÈŸP©ÓÆ…Ü*G‡Àk,…8eíÑå•Ò¢{¿|¯ˆMV"*¯ÛC1| Õ0~·Êw@Wsׂ¨§o‚Åi‡°¡šý¼é"þßI"ßÝHõ¯O«|\Q„K‘ï`VµíÓ=˜Ò©{ŸÍjPƒiqs¹w¼ÓΦ⦪T•&±Ô°èE[}…¢lƒ°×§Šƒá‡’¡X°¿BûCÛ xYXÎÀË}t÷ÊVï`gQµ®Mš‚hÑucåì|SBsObÏewˆ>#í¥©wÑÂ4,ß5%W·:.Øxa+u¥£(䳆}Ï øƱ—kð"µ¤d!ÍsÚUÖ^€3kÎTŽ=¬àP¿ê’NýκZfcüégöd¿ð9¸¥+ý¹Ëî1ãe›¿ÒM4ݧ'|Ï 745œ\3_°Wµ¦"éê÷„à%x¯Vîß§I‡jÄsUêëoHÆ· ¸zaœªgûî@Ãó]~9øáÈ3uœ%»9D›"Jx"ÚV[âÀèy|»[׿E<_þI7ÍäÞ\gÇB]na¶8 #8À OÔü W„…³¥¹Ô>¿·,^Æv´úKhþÛ¸ùhÛÌ£ Î :/VˆèèÞ}0'²“ÇEq.ea3ïøŒñ>¡Q>Ê©;ú¼³O×6QW ŸÕÎRŒÊdò&¬ º×¶Ê]9Œã«rþÚ‰@](OæA>]¾£áÛîx•/ž°ã„G3µY@P~ª×dïÛ3*Ö'Y<ÞK¹ i¡Å·¦¢ú.ãÿºål·F¯—òJ¢h&,E\ò*î.~Ó\ùwü6Aªe~Û¥^\‹¥ÝwÒ(`täY†®„2ÃòeÈ3§­±préôdÌl7Š×¨÷“ÛËß(‡àˆÓt¤÷±eëÁ‘cL`Ó#qÊzáâù-¤ÆeªÊÄÑ=áÙ¿o©èXœvo» *ÓLã` ˆÒÔË(!‹’¼Ù]œ#ÿH9R›„‹1ÝÑJ h†L¡=«•«Gõ÷ÒÞ“°3m—Q ûm»_ÕÆ­D¹ 2œ{QgŠ%&4…I›¯~;ºã98u¼œÿ¦ÜcoGÜHއ=ýdæ-#àbSæš©á-Ç'œ"!0õÜÇ?7lîÊÜÆÜz°ûq[qEœ·ê#úî´Û°ô»Èß­ð8 ~ÃѲ¯n(Ñn`æ„gä¿4âýpCôî9v,!3¿SŽÈNÁv8õg:/•a¤¸¼Ï®I@ë³<ÁLÐοd˜tô$¤•Žíq;êÀ÷þöö«“º¥»­ qm–³¢JY®{~oåõh˜¬( C„zà©|ÇÛ€m^cUý‡uŒÑörÝÉv,o™8ï’«œäYQ1:xž7±±àQ‡&Ys–Sf±£·²¤mŽîÿ.ùmT:ÿRgô±XÚ{lÌ»³M» î6äçú‡Ü)±>ûb¶B@l«(Ï“•¬Å0´`%J ì ˜87s80«ûO½1¿WÐC93À[¶ÓV Ûí€w«`çf6ß?br…m;ûèm3«3Ë„ìGêʱ;ˆCýÎ^ JYA9µrØb`%Á §5ˆV|†!aúrreÔÀv¢zPD€¾ÿ]Ñ;‚—Bs×ÀÅÝÎ`eôj%;àeQd×Õ2Ð$ A…(¬*ê"|Ë Áwz%Ž96ùßcšÔOd[µ ¡YÈ{²)•êœÀ%%š¨ÞOÀ#¼±Ç‹Dæ7r¿2KqÉ\ÈHòm¥ª«“ôh×<WÏèê¢íeÌØ ç»Ð˼€)QZ†Ïa`ÔïsëÅLY«Î°øS ø7êœWÙ¹À‡çç²tikñø¿×ô&zåvPŸ[ Á2b2¦5à}Vö£÷D¢þµÐ1Ó>Õ•ÊF\@̇¸sÛŒÆ"£W3¶o 5¨OÑˈe¾”­©$Ge®®O"z,q«¬Ôµ¡Ùyï,¿ÃP¸¿•e )JÁu+Ÿ °¤¬KÔ3˜°e•ì/-̓þÀ:&Ú~ Õ¦ÅÃDvª&†ž’¥žnó©ãC–e.wqãÔ4^²×:6ƒècÂ;wÂTZI õfdJÙÈ UL!ÙçLÞh[‹€‘ß8½-¸²Ñjéê®ö¾•öµ†ä°pzm¼1!u‹;({®U µºGlí‰Z±œóc`Îðør¾§í rÙr¹ÊKåStCÖÔ7ïç{wJ9†SgvÍ?ÌÈ0]­NS B®Iƒƒ¦ÛŒ_Ƚ1§ÇW©2‡*[bX‹0z‘#+å0²#y,t\¥ûÈ‘hH^)›Lç¡+¡ÈfbÔðkÇc(ûµ}Þ¡ù¿K9—Z1«,RekAî(±@ð æ`Ååâm†3„Q™‘!˜%úf™âsCkИ%Uó\ì¶&";Z'ÚòPIœwŠÀú[’dÌ”¸kø„I{Ûÿpå]äÓ,ùØo™º@ sK³ÅOY0éHï5ÑÀ ä8ˆ‹kÔ€äBž˜áÕÛãK”‹úD·pïÍWBÁHÈgI»†])âþ“­9.¥è—àÛ ìÒ4„½Y'Õxø.ðW–^¶ãšúР-qjüÝ臙,djl†)1›á¿ôöíýƒƒOÎ`5›t.,ôÇ`x7>ðïÒq¹˜ú]Uì­+& •˜t,Jç%4„i: ÁS=þË ë\·Y˜”´Ì+FRG_«o‰ß›€å8âeYbß)‡¦ ÝÁîÿ»x‹g˜Ï²ÏÓêáÁq j,?5Ú¢'°8èe“Š”Ûög줮XåwN§±t íMóÇÁõÚª ×äÕjGÏU¾ÕAC)Z›¿ š‹š0w=˜ÜÒˆ½Z0KqÍÊ î,3ä(¯=ÞDÄݼ«’Ñ?€êSlí£ˆ¾žOm›âˆ¢ˆ˜“vXÇ0è¸È>4¶âÙãr:ªa aÍy:^âkîHoDzm׉„€¦êËñLůÂ*{øeu·²€ïµì¬äNçsÐûßuaÁb\ž@óùIs3ßßš‹ÅW9ƒhó™©O©•;y*ð´7¥I¸ˆ~eWXMÿs¨Tþðr¯Ås3Q8·"Æf×.ø®ê*±ÕQhN±C!˜Â „ Â 3µhZœ†o·=p=Æ#ÖÒ‚&Ýi1ÛenÖ’%ØÔõúCUbtÚ0m‹ÚÌÞt@NCÐúH 4ÎjÙ-¢íQA@œïÁÀé?dÿçHê%ø £òqSö lé çb,¹yåáóŒ±Ð›PÆ1¥þ\~bºÈ,ª -0 #Úµ(ܱS¢É!¡+Ü«·.f&¼coøûf@Pm…p&Ù_Å‚#+ÀÛÓ²3lé3=º›³YcÆhœl¤ì»‹•ìú`ùSâŠZ?äŽqžÈÇ–í q ¯VNø–K`wã¼)ÍÖ‹¡ß5à r(«¦éEuCbÛÒ_â€ÓcLÆ»ì>‡Sц¬&É_>³É¨}3# ÅTØ5¯yR'm #ñô.®¡é-+¯ú/£K¬ŠˆQV¥²‚CÍ¡’Šb<ðÙäÜÑ ¨§Ý÷5„"¨És§ïîb .ˆXcˆ=nKêô/r4>;¤“K—ÛƒvÃ/ê‚d&TôªòXHÚ¤ËMj\ˆïV×^‡R†qOLýMó )çT,ÉØ[WÕ&‘SÕ—{‚CÛ¤!Ǹô?¦4]Ë “Ãi‹±2¿¯M#Ñd€.Qc.qÎ€ÕÆ-•`.„ªMí%fNÿë-R9Ý[™ b¶´´b×ö‰ ¯6Ф÷5[@õ cDΪ2¡‰QE™ÄË÷{á'ͼ¥$À\‘£aÓ¾ýÆÑU«~G¢\¾÷˜–ß„‰»z¦qîkÒ§/I\1ÐXJ3í†' ÜØ†RH­Yì↥8¢f½÷?Ó›Á¡ÿ~öÐq % ÑÍÁl‹2[á— ±uS Ä4Mh1gý÷ÒÎÁý:˜H¤sx ÿ…Ñ2-þ¶f MÒÆ72j`mKn:½ó¿#¶b2ò¯‰Ç_MLtá./ lè¥"w"–F¡ „:´áÏïË&7>Ūƒ™ÃO¼&ësé—¢«©†ÌÓÓuñÕkP~Ütµuæ–SùÈwµ…}Þã× ¼UˆÏ{ôÊ‹Ee¶£ÄžnÄ“5Jj³îºîÛžöYZ‰¢ìG­D¨—Ã!ÆB©yö·D´'e‡¡)úëö’b§ÝêÇ“1帓k¿8¢l0ç½FÏ—¼?‡zÄi(¸ÎIÈòiÞÉ1}æHÚ4åÌF¾[·Ð“×/}()8ágÒ «°Ð›õša=I&vµOˆÆXÂÿ”ýÄCMùºêÿ uiqeö© ÜÚïWVYd­ñL.ŠÏö•Tä…®r8|%P*T¯% ]´!5Ÿa6 ãlš^VlPå$(ÌmûQ£Úº¼j`ü',×sÁ“:­Ö0Õo§±Zý|§ˆÜR.Xµ^Ï[SêþDJ(# +8ëA:v’°VÔUŒ¾×ã]Üæô¦™¼¡³^5Ÿù˜Ù*íÎåÑê(Û%]Íýhs¡˜@tpOÿ¬j_fi¡%ýŸ#4ßEöF4> #ê—jê+þ*!Mø·Qvl.UÿJ:iW*Qßç-ìó½´}{¡²ä.Ó•{M’2fòxj¥“†zûº( 'ó^Þ.*@QG°Rs4ÐOñÒ)AÄZR” ÍJ†ûh¨wƒâtM‡%ãïUúvÄÜèçDÃ)ÛéTÁ$œ<„cÐ=hÓ7d"'¢à]’ïÿ¿•¤ÀÊÓJe¦yÌwƒÞ•x~ƒß˯AØ~¥Âü_“ AÐ »a–å4LA“ ˆ‡¼‡­õ&H¢Ð0ÜCÚÇeT¡¿»Ñ~Î+'åŠáÐçsòª1[ƒÔÝçá Ú (è¥jõ¹ê ˜`± Y± ”ߩñ.´öÉäÆ&Ã@“Ss{*üƒ*NHp‚GóË2 Kp ×ÀQE[:Cir8÷iO©œcF„ctÑå]Ä`ŒtÛ 3À܇^KKÎY5ÚqQÇÀÁé=nÀÞ&õI €™ÕÎcÐ0)Ö¸E9ßPš±‹CŽ*#%§ÂîÊ©ÿÐnþzgã¶LQ6ëšoÄ×,GZÒùÀAÉ¥ÚÚ”¥L  L´=át«Ø‘-ê¶fñUh‘K~gÙÊ(£XÂIBäS—ŸdC‘åU€i*ðêá,ol½N$?ƒØ~峪ï?@?üºûÓ ;âÍ'€N.þ¬h´cä 8y ,ßÜxl[ò¾ÏŠëhzäóSŸÿ€ÜNßU´ÝU°óþa޶§,äoÊ77¾)ÂöNÀ¾ØFFqz¨ PNÝWô9¿ ÿ3Ÿ†¢5‘‡Šæ?2$„|}:Gæ € dó†ÒZþòÙR Ô‡½Tþág•ÄÑ:s‡éø½ànuÊ’0§U “_á$S§í´­\ž3ÞÄV滕9M‹½óbÙ"[-%Å.jÏ_,Íæì?qhgíûNúø§òO~éð€d3Bâðtz•탦MYÄšA’™ áºâ±qÝÏ1³:¹Rž«/tÏ„„Kô:o¼¯ùÜ?Ë×ë¶YvÖ„‹Bó9ª6®2I!Íøš4:îÃõcÜqIòÝËט@6Ù í“Þô_NR'F±­YÆ…’| ‚„¬ ÁÆ‘ž@Ò°çºÚÑWÄMê-Ù:‰=´×Íniåj`0œ2˜!ÀzB_Ôë‡àø¬|GÃx“›P—ì#‚ŠmÈÝ^Ù-úÜኚ€›E½?ÈäPœ®ÌƒA¼f./…ï,åø,h,.–ÊPDöcJuä’~ÅÞêSРŒ‹lžJíF"ÍÏ9’Ï, ‰1ÁQ¦…¼Ð¼´Ve2{zƒ²»Ýº´ÇûMkú¤~ÿÂÕê 7ºç(O@z©Û¹ÅtæË«Ž=¯—!6*‰=ôH¾âÀÁ­ér·°_œþþO;…Ý¢¯®*p4Ò†ËÒl)„Üím̯#»æûœl_°¯ùÝ•7ÈÖ”®s(¿-^Å cvÿª=R”` v<6fó O¯´ÝÐ!¬ÿË)ÈMn«¯ñ&aš/m×\Î-ÜÎjwW]B›¶é7Ðæ!û‡o[˲Uö‚ïDî\WÑ\ Ÿ„>Œ›;Œž}»ûðºú=í¤í}ÃÕ@ô¶EoíÍÏ"p0'=ŒL#²WfÍoOB’üü‰Uö~h¦a!Y¿Û:tXŸrSÕ$ñîêXÃ_©Ø9´–"]ÐÜ+µðs'õãî"¹Õ£én(DZÔê>ÛQá™ñž+Û¶´%hØn ᧈÂtWP¶OãË*åHØZ.ý a*¦]—dfUÌ“¨`eÆz¿XÝâÕçQÇ7dÉx *‹Û#²¸ç—éù@§#õª ,| q )¥V¤æ-J{‘åѾU¢a̶?gGãó»ñ¸<#½Á³òÓl~n9U¯7ó4¹ Îw(òÔÊ•?E5=ùûÏ—]Íœ0Ôtߟnè–%ú@×eh™‹âr·VXõ°˜øÂó½Ë"ñz!œÎtbÆù4دS…Î|xƶÑØ(œýN#xèIb ¦›…R†}àCªss$C»Ôy;U{™4Ê^X}J_ÊÆ*<ß>ÒÓÒ[ªÇd ¨‹U%ìIpHñEîŒÇwƨû¯*è]ù„Œâ–DÃA¨Œú•kV™ÐDɇÖ&j}0Pgx5Có„-fñ‘?=ßOà"»#@¼;Ùd•VØ„Ë2’9¡`®b?joá3&§›Ž†®Û­瓲t°i·-8«öÍ×Ä:jñË6î/ÓÜ.Š™©`àD} ©|ˆ¿oßÞ†J=¹fåùh÷ÌöªóV…"Ë£@”*Ǽ¦øµ€µj$­5€56£¼Yê?D,–y-h`ºáŠ”K Ð8˜§ðçòö=Z2d 0¹‰ŠÕJÝHT/v±í¨.wt¹—¡çÅ£= (•8 Õ,H FƒéùF_ƒP?²Qyµ­–7þ¥Q¶– 2x]¬Ú= $Lš–· «³›%Óà/÷,¼‡È„drÅ[ÃÛ$›ò©|^­hNˆ))ëS-Y9îÁ)±ªT§—'‚h€0lêðZƒ3œöQkÜË õ¯ÂÐ'>"u¹M¹/4‰äˆCóýȃ(W)c´Ši´Ú™”“YâÇ;ZÔWd—"ùºoO²’œúüQ.Guqù…¹r)Èh#ú´ÉÀÂe7Y‘VÎÕaðAö†Â10¿GeéÓMœÖ`…¾Ìãß¡2JÜÛ*4ˆ…6J?a˜³:KZÁÌîÀcݵh5=×ä2òƒ1 'ܰÉT è5=³·\<îîïLJ]šQDéN„rX¿]m5˜£“­Äùv §A|«ÚÉäØZ:¼.GW«¬‰„©’y€7] gWòŒŒÀOKJÚëÝÂæé¹N£¢µ•"ÀP; ZÛÂ…KËy,YóðùÜøT3ÝÈ‚·#0 ÙÚ¯£°/48韔aÙƒ?1bÍG±ÄàÓ…$Æôã½hWuUÿëL?©5:ûÚæê3dpùžì¯ÐzvE¬–G'ãòJÔ!îXpÛ†Qøþp€'‡ 5EˆŠ™`&‡rº¹.xØ’Œš–)X >±-$÷2î„êÛÆ3ʰé‹åˆþ,°Ô—´0ŠÁõôgܲ\êvs?ÉEŸHÒŸkŠ%$mª7=­YrÛûS.)-?\cßEö¾uªš¦ÆµðÄÞc´‡ÅÞ*ë#Á¡¨^ØýP"ûžãú‰Ö’tàÇ‚±rgìËýÄ_Þ†G” PÜf\UÈmÀõkü)½lÃ’†õv—{€ÛÔ ·²}L.“|79’«‚ù޳ë.ÜRú õOýÆ® ªJÙ0/ôj PÏêúÖ¤žÐÙ°RønÙãÅó@þs½QdÞ» Þ7ÐÎJœÇnž~ üˆ-1 ‚•ㆠF¢yÖ|ézÜÏ`Ž•9äßyÓ%HЉ2žoUÜz ëŠýgœÛ_?J\ä5›‰|™ïdå)bk¬(öê}réÁçîµ¼H„zxÁ° R$fÄr˜æÝ¹ÉãÔÊÛ7gèËpRc”Ãl«3ûÚ?K x/G ô™ áë§(R§£?>´)“Líoév¬ož(:¯oߟá»WÔPý´øºN€T}=_»ž e…Óß± nVÕQþè¨Ëéaäö•§ÃbMΰóMÛv¤úO?·‘פ&z…© ‰ H 1iýÏmGÏ·a¾ @PŘi¦PÏÀEÁƧªOB{݃ê÷ÄÃÿÂdi Ž•»Cap¹ò%Ñý¼®K¹¦†|Ó³‚Ov_axTÉh˜itÐÐ:LX>܆Ÿ¬¥;I<Óx¹ìú,W2_“Ɖ³¥à’åƒô7‰/ж׶}Y0å ÅRÿ=– Y\O$½~Ù:÷Æ3zƒ¸ôv¸iÇ>MˆÐH¦rDÛ?tBÚñàü3T ¯Ј™–™¯V(¯ñF¡Ò“Ýê`Ÿb)гuv"­mÕ/‡Çþ=6TP+ÐÑdVìµ`Fõr8!G‹4°jŽÀÐ0JíK(v‡“ÙÜbQš,²0E]ÜǘÁaܬBûÈ@#¨¿ *thq¯~’*dœ+20ñKz¨½vFV[DzÆ]6Ê6„=«²ƒé3f“ÜñÉ‹÷ÃB~{Mæ¼Mä¶_ÜjWyFÑé*_P^³U ÛÐPˆüiT#eÉpƃ™HRpª3 –¶‚ÎÚtž#¾ô–{Rƒn­ÂPÐ ë^Ó4rìJ OêŒUGþ“Ìó†]M€î§™Ö‘@$·½Ô)¦pŽû.£ÕtÎ3âtÙèdD 7Ó®ŒÐaßm—õ•êK—ܰӀ B°8RašÜ»#ЗaTµ¦ÌÔ›ärkV™k¬Y©ØS²’hÂØ0Néë8+¥Û¦´ÐMVSñ×ÑdSµ«²+P­Ð_brfºq þÍ¢xBE‚t~² Q´jü9Ârưc‘Wˆv+•›¦÷™â§°‘Cxóí¬Ï²¡i“tûÏžDõwÌjp\‚ƒ<­ÇÑAqñÎ1›”·k÷_ÆÅ“Z_ÙUøñò ÷©}³ÂySÚÿÛwFïzEŠ1âøÔ]A‰ßÙ° ÃzK¸]³eÌŒÇøÕt“?5ÞÇÇñç-wìItB‡ÊÌÜ@@´†îÙw‘z¶SwžNçj••ðãä{Š(a€Ò»Oî²:sô%T¾Ý@¼~”´±CC±p%`eâ¢gÆ?û>¾ˆÅf²‘QØ·™nA-o5Bø€_YHüOß÷]^Rþû‰÷;i=dC¼Bj 'йó5Í×Òtßô-<¸ð7Þ»ÚŽ¥ °L#=g Ó(‚“¬2€wÄ®ù°†m@˜Ê·¯ÈMr `{õ;qƒ·“zk”Ç«iÔô‘ç¨àyù·^ZÌ 2uóÛ€k6°9(²öJŽgù9¿ÇÈ £>ÃÑ©dÎO(ø„:ò6Ç ÊõŒÉÑ[ýM§‡W€[%ÏëÔ}XîÎÒ!:S‡’K‚¢ÝÕÐ:ɧ…#[á*ŒddpÀêcmþÄS°_fçË.ñX…HRˆÞăê–> ·&†¶Æ•a§†@VªûÆdqãóE²v±Ï©a_]º¾Â)¾5¤$3Zü£¹b¥$Vã ÿíž·¦⯊K½í/•ü1ßTúB€°UJö¿¥ü[Jõ–¡óÅdÐÆÛór(2ÉŽj€Ž#ò#A{iz@„¸|ŽYß47ٱƀ §Q~V'B#A û› @ÝVQM¦ƒ|Dá..€‰ù²ø™ˆëž0Y+l{BÈ÷2Àó$–2HtôuJ”&˼€tæSÝ—!TYÝZ#§oÉ^牼¸²µ¯ Ý¢j,‘’Ú D¸ˆzÑä™Ðw¸‘ŽÊÁR°'¸m9p‡´ôŒ×8Fº¢.ý©)÷yã9ÚW5iö¿´5«ƒ…<(a»›¢ÛÏÎ× ‘h=|fÜ'N‚aþyA¶dª£:‡d´·|n W±¥b‘°ŒKäWnइ4é‘\{q 28à–b(>NˆÍú"‡÷¨ÒóŒýÛ6ãƒYVá?‡6IhábÄ\d#ç#ü›UÝ÷4 M†ÐXì»Âa°ßº#éWZLUjÚ…‘ð[!%À OÖmžåÂFŸCµŽ.Œ¨ÐùÌa+¸˜ÎûË÷ø­?ÅR_U_,o5YT“éä¦úkˆˆRds*k¿ûJðEf´{ÏŒ¦oà‘÷IxòÀ–ôò6ß^]7nŸ…RÈ,ñf, ¡%D> ¶Z³òL9Œÿ“Ù…Ô4V_Ê7‰H{ˆ¾zC‹®Dr!új0ÏfîôÆ/>ú|Æú¯¾øß¦‡\ð׫F§îØåê<—€>aª\ qÖ÷cš|ràÇQEF]An47! €Ë÷ ¦”¯Vƒ7 ªÆÊ±dã£k\tïðƒÎ†AšR¥Ø¦®µã}Ë¡Ä/µõ¼¦è ?÷_Ç%(i Ñaí+ $,û]â1ýKß« hƒõÒ¨@ÄÄ›A¿}ºÙ;j§Ýçp•8D:˹Ã,ÎÓE^ÃX/ŒoTT+ØÊáŸy×ÌÔ‹Ù7“2’¼Nž¸AN½­Ú'× b@гW$Äj¾XŠTÎ’\¡tŸ•êIC´‘‰¤1°…/K«¯IöÝ7ê¥}{[I}hÁù-µ}e{šÜkêÿ¤ö@£RW§ƒ6äiÖbþ:èíhmùWÎõý^Íè/‚C;E‚\ëNŠ×éºV4«&© †Z(Ó!&íÇ#6º&À¢—އSiñlœyœM:Á ×lŠ}*¢¯*›²Ê±âSÄa¤Öæ1 €Ë¯Ç­ ÖðU5‡o5BËëšà‘¢Ó];‡—5þeãd“®tÄ8,0HJY,6[ËË€^¯ó#QŽJ8lÆî«XïïÑl3ý!š–= 1Kѳ’nÙ­Àë-V̸ûÂ-‡#Ü®k"б÷鸎m\Ï{…YF·ý=qAFJ{ÛÝE1I{â2"6@]ž Ÿà®¨ X!W) a"¦P–¤s…®ë¹mjÞšhe{…ôR8ay^Çè¾o™å’ÐAÊ·µy Ù­Ά äWÇx! YvÆçUT‚nså ½ÜF…ûoÔÏ¡ù:Ï͈amvð´ÜÔ=ÀÁ~òÿ¾.k×Õa•³ bõÒ£%¸ð–V8–çW_ß(äÜÕ”³âb‡{=N£e"{"Ÿ“«ñ¼¤¾) ¦® GÑ ¿»èëØÆÒbû[2RÐV‰/ðl¥zý)çÈn,ôýœÈ‘ýÓRIä< „‚2+Sƒ¤¬ˆè. rK8»|¢õxxYø‘Þ*Ü÷È2H(ëŒä-ÿ*’Ãy›ka 7Ž„PÈjUªaÁûž:ª–2^‚7¶Ã=–nPùÞ0¿@±O­Ã‘\Ì&&q“6jŬùM.éž®;ažÃ½sÖŽÕTÞ*T€!ºT¯‹Pý< 餛¦þ˜QˆŒ®ª{U.°”¤Ñv„¤Å××u´ëÝ%Ô†y7  9¨¥’‚¹FóÁÙdBz0e÷|vþ´ÚÚð\Š[+ö‘Ä«œizÐE-P?œ¶¬«]îCh¹ÅŸeeüð•âÈ#±~Bl OØC½Â°K¬àdÊt‹£º{$œãr¡>¾æ]çæRIänàù˜ƒ[ÊDª¯É€)Ñ·sÜq 2¤QÎÁ˜XÌ ^Þ¦I¥Sý)‡;Œ·6ó§Š%³ Ë$Ÿ¯ægçŽÆ(‚?žÁõ¾„é÷ŸÆÕ?(D;\aD!ÕË ô=OòÎëg/¥ŠK=^æö[ýŽNU›úâNLùQúž‘RPO  ¦_¹–SwlÌìr¤Å†èrrö;¶?P:Èç -„³‰=âCÆr±vnÉX7Oï àëí»ûF@=¶‘L²ÖO‘ @s¥ª ü·ÖmÀÎÄpñ+0ø¹ßÖøõ¥Â?’Š-]U±øÃ~¿eÙÔA™›´{ucg _@§å¦–ýŠ [a€°™$€ù-p‰yK:^nô›~Åòó‘©´rÔ¸[æ€;©ô*Ö¨ OœXà CIª¯Þ£«Kþ¨¯ùÇ×µüŒÌS°#¤¼Dø}‚.aüµ·Oøib–ý@¨»Kmò䜤u¢……R§ÈfJ1—dG–[‰°@Ô–ÒW¤d3âø…H2ïÄÓïu¼šÎ jp¡õÝmÓ?H·»èâ£ÚÕ—øEøJðÝ– ¡ÍÍö¤âæªm¥3ðŽ/já·…"oÐ& “}($ œ"I£··(ÿh>.Mû¨¡üß ñäªz檄’`} dþ/,èó¦ ,0nQ‚á'1;úM‰x»™¤•„±q,Ìy¼.œ^5º‚7%wZ&«PÕÈž èîP½W”YµÖö@öá°ü€B ùŸ³M¡{/Ý«]”â\\K5ÎùPÔ,INûcóÿU¶· Ò6Ûyˆ4Ñxü¡<¼.™›wîÁqµÚš¤#"„@.¿õ¹ýó´³-Ûv'  8h´÷>}üZÄOîœÌ–å”ðÂìI´·÷ø­y(ùÐ(ËÑÊî¾Ká¡ ]·y¤¿*ìÛQeÆ‹´kE®$5Å}¬óðóCZÙб_ÂTF7n&”gmô‚ñut‚Œ†c˜˜b£ Õ“áÁ„‘CÉÌڄÐ’–çÛ!zÄd;³t­¼ì¼4 \àГôV¶ÀCò*x cþ+¶hç°ƒH˜)*0Š6¦Þ…%Ó~ÄT3¾‚=ìŠ\LÙfd¥ä0·9s³<*RÈ\ä)aðþQÀ®ÚcÂç„^l%þñöø$Ôœ¯ámÜ©kðõS÷Ñæ¨ùßl!0ëj©qÎcÂY2OÉj¨Ë(V5xÙ =€:D±Ê޲…D©Þ´à·L Þ f±ôüåäïÇ-¶¬|ÎÞ~0æ©»ç½!Zº¸YDG­`›Àmã«!ËŸ´n£<ÊUü~†¥9(‹8Y5w"”y:5S=¶ycù™«EÑÏ}0'gƒüåùP왋bËöáã ““"=býü"ð5u>îÐŒ9ÃôiZ`Ô›‰NWŒSÓè/ù:=_¸æƒ`ùU‹¥kçÀE›XŒêšdõØÆw±ø°è~½ÀGNÂ7 â;%ù¨õ{QÛÃ…Ä‹ërH3Ã^±Y>=éwÖ£zÿiþªÊû ,Ç—gˆU†ÝþɺÔ{  …¡ˆ¡ª3éDǵ?y»Ê Ú]Mh¨9÷… LÛGÏö oR»¢@¶2"†‰4<Û+}¾yHˆ†‰O¾Æ¡WÔ-aP†‘Pž,ãü*PDX{ ¤¤oM‡°Ë^¶ZôœöôØ&±ÄÁ÷Àè—Ì8Žz¤{ÌùúãÇŽâ52ûÇÃUŽŒÉšï=oóµ*ˆØèhÊaÓf2-¾3¬¼ù> ™â‰Uj)éeøf\Ü-Áh¶ææ²ëªtú_ɳ¬Æø¶ÍÔ Ó"‘û¹P±_‰®P€ˆ> ;ÊÅGìjüld¼Ù)³Æ”¦eXV…l»§©ºÇ_ÿŒâ!8Ȥ5¥¦a~$€eêÈŽM¯Ë¥[¢XÁ‹ÊKsvQÄxfN­§ ¶E#ž²LțൕÅ(ÂÝ7ݵ[8&¶¸>“ãÀÑÐ~?¢›Z‡íÇ‹Àœ­Ÿt@ ‘2Îü‘©Éåïòû剚jÓq5ð•ªèÉPÿH¸lKšc(_…ïnÿê¬Þ4åUÉÿ_`Ø#\dN³ZåxëNõðZµ9jeó’×ЉÚ|È)"1ëëìÚs\L+÷Ø­5US ó¥–XÒÏ"R3Gß0 Vq%ÎWõ,Z¶óµ8z¶ $µÑéÍ–/á)p®qùWˆÝ0ð„!]M«—§ëyR¡{ù±åˆˆ¢5“·‰]é­>Ò7@€ã`T&—Xô¦•ÁfCŸ2¼ëð€ÝйÍw3Z"|“ZÍÅ[†QÎú\ý]Þ=2×ßSËBŸÁ¯[Qéž=e§’#¿§däØ}Éo­ù˜éf_!™Þµ`[´kÚð_70÷Jˆù}aë¸-ß¼gei)Åfb{o|檻°n´§vzËî˜Ö£YWéV&r±£­_nj1ª—¯BsÔÂèbôçÿ(nÁÕ¸—¼º!ê¤?$hKݯ!SIN_¡½îÅPdAÌV»q,óДäy¸ Þ?7ì[, ²RsýÒ³þdX‹öd¨%DÿÉDBu¥I§iv“©þ<6Çå幫:eÐÚU¬®Ž\áL/ú„Q‹Ù÷ë(+3¸·¿ïïPèA[XÏ,@ñÜ«_}(MòLȔ旂}*Œê)ëŽ0+½u¬–ÈAb ¤ØA7ìqKtÇhYˆ£çó”ï¢NC}Æodo  *«ðñæ¼)MåìJ)øx瀗2Ü/ÒÉX ‚Ø=FœÅßÕÍÜ×½Õ£ÆÓÍ )Z:ÝÕ¥ÎëTA¾oÁ±ç©FÁu!&´ÆÈwâ`5lŸôê·²Í^òR¥»ØÓPóÄhÒOG âhv5nwàÕ³}âó9§ cX¾Éÿ"J×Y®°J‰‚´nÚMãƒñ{@w'°ÞXTÑèphùpJ,9gqÑÊi‚ ÿ œƒï™2âÚ´¹÷@"®2± KCmaƒ¯flrw·…®µBȦ%Ò%Y.Z(Eƒ°x0¸} ÝäD5í*W´(ð“Å‘e¸‰bʸuxwV³]¬oöªl0®ÚEI)ŽÚâãÓZ =}Ì.ç§‘Wdü—vŸˆ]ä±2OWƒ§2BmB·¬`ÞÞ`w59Q¯X ɰ†:†³*V_ Ñ å?3¯UØù0aw©N3!7ˆJL-u=#†¬ zO™`’¬ÛY•eü§uüùÈgŠª—®ÜºŠ&±6VÇÄÓÿeÖHqÁõµÕvµÿ·>–>2‘·#<ùñLüg x¯®œ$£÷u!±ìÓtD³_?ž~_ ¬"hTCÆ4*ÝÌfòóEï4;˜$ýöïyo¯¢ú÷…K:_ üH ž¹üU ¥U4l•1y„ÊWV­þG‡ÿt+¶ø­Éÿ­«IM^³(Úↈ&J‹N ®ª—Æ…¡‚Ö…šYC*Š”åyQÃæe½òÕepËU^$^{¬ã©Ýt@¶8—pq Q²&œâOÅ‹{ºñAûÃÁ4Ê•7ôÌLÃáo ²$¼w™´ùíïnRDVg…r½­ ‡Z¦™€ëÊÂXÄ÷–}#û—Õé)¤A¨åäéåt¨lùsìr‚¤‹2q¼_V]êHºX@ï ªÃ>T• 2Õå…3Cq ø:hW6Ÿ*…¥ý}bÒ"éÁ¿ècK÷AEˆÉé'þó5¥œL®¶ |H>É,Ám¢°êì;PÉFáPÉátl¤2‹ômIôÂÙÄ×[^è¥2‘ûdÍèãF³tÔ¯u\µ»o%ÞÅz^Dõ°®0Ç…"vN¼O˰¦¿–ƒ›EÄðÏUp÷mà †€‡;)ì!8»Í[Çž)å‚®­ÀáÇŸ[¸{ÀãHî´‚ <;Ô¤Ö̳ö.)m¥ýJþ¶‹»2 ½OÙ¼ù€p/#¯\HžV·™[CNGL±G¶Ø®ÑصQÛ×zˆe'€•»¨*;ã;‡–ê”ë¹¹¼Œ¨;³à¨vÀ–S6pm>$IDàÆ½ÛÂæmœ"70£-¹;¤ì¥+C÷®…[>P:¨Þ¦ >|:P{i­ wKNzLd¸ˆý¦$‘xÀ"H‘1ø.¡ÆÊÊ‘›æ„=o(œ¯y#ÝSd¿lš¶e>ŽG$Û»Àò [Ç<Ñ“Y²©JáÛ¦‰qä噡ð¼@Iõ É5w»üT!xžm j;@(Iš•/¯÷tYîIú®µ)CnžÌÔ,5¶¤}Ñ0>¾¾Þ¤Ì¿/&ØôQ|wluõW@ÏQ¦ªÀ0g§—g€›³ŠÍúCÖE¹Ë^àøjàœù\ ij:4m ™#s>?U° ¢dˆ6Å%åQij#‚!DD8ÿ¿BûM̳mÏ0’-\横3/‘f±k’&W°ÄPI÷‚¬‹®B¨_ /}m_½&X¸æ'~pRÒˆ¤òJKt <åˆrX”hRCàN“50ÁðHÎ=K"Åß5Fͤì]þb„€¾ ‚62ò-YFß’ R`X¥ü²ÒF€-ÆØm2ÅÞ‚`Ƨôsli\´¦ Êú°;餸/ˆº!ò[ æ‘1„YøÜ׫÷‘ø˜·Ëïš Ä]¬¤ËÖ0š´ú?ÿ c"f}ð)¤‰oÝIåå{æ„×½§'ƒHhÀ[âÜc#ý»oUW’,Û~aãô§iD/2´hm[fƒ)PH{Hgèò^ïªêmë×µXý+Y,{·2HãBÓ"€êŒd7q”'zºÉÆþʨ@w§QTMJ þ•ípwcW ²ªÜ)IÎåœ4K†êe¿ÿoSô½5RÅ`{àÈé1m³ÝÇ6ž¼`>^Õ"kV`.w„?håÂkWA0ðɉᜀ؞ʔŠÐƒ×ŒvÙøÉMZÔ4ÝæHG½!õHU1?°â ‹7mDPE_ø»MÎ[å7z‚–²`×ÑmdÛs¿EVIZØSw˜ä• ³š‘JD¹—&ëí!œgqDÍ‹¹äWé[¢!Nˆ *Àâé3z#’{æ46³&9vªÅÝäs&ºCCÈ;æø)EâTW(´È6GM\aOŒ:°Ö»‡·€'ÄÕëmkcëþA£“à±—ŽŒ{ç]è²°äPYXú5šúXDÐßÕʸÐ9>­rý¯£?D³Ã#KsÑâÉ¥ÕfàrrOjVØ£Œ×õ¼Ù#Äos$‰Ñ&+ù¯SN/B¿¼ßÔbZ]W6å,Uj‰a†&Θ! (ó…BQ.­]A—6L_VÙŠ”²¾Àl<\¸¶34Ù¥«'ÿºõ¶•F„ÝÄY‘ª5B‡ùa!ÕÑ<ƒ`€o(bÆ„õ¬åäWw»Ï,qÂ.K´P]!œë ý?xNaVº;¸¤ZæO²•i¶Áþ9UÈÇÉ×íÈÕ†6ï\ióŸë-º…£Œ—Øb‘ç' è?5v¤5ÓÎò  ¹üšD2EQ-t}Êø¢‚Úü—˜ÃV胼58s÷†Åcòkj÷ø¦âíÓOVk´øpsy¨ hòk,Z×£%ÿôÀ†Qã`3^/“k ‡ žy·Þ®s|½ë8èsUÎäÀGãGT“)Ò©+ŒÕHˆH7h®Ã¡¨ôðpþALÂ+Fçï²p©UA.Ž×¾žV!«×%£¨J.Y¼¡€}€ÏªeQ³Ä=-ô¬^f`_ìõ£o¦ÆÎÅv}è™|ü&û[UäéY`-ÁÔ)I#bWI!zIѸç‹Ñ‹ ØKñºÝR= ð ¡5»:?.è˜#=v´¤ÃleL-Ò?:£ÅëzXláÚå¾ ;ŠŽ¼ªNFTuñdÛh7vËWñ¯g~‹ý—¿D@‡xq2`ÄS"¥ Š"Bñõ>"å‹fäâðÏ͵¦Ñˆz¥WeŽ®7Ú7 ÔBÏ…†bÎWŽÎ;˜æ: xšã ~ˆy£lªª^*nÔ®À|Hè@´–±sjaÕ—ŽùþÝ| ª¹¶k™Ó§XÍh¶|5”L˵0r˜J5Á¼*Œ3î_Ö«>KÁÉÙDïLÉ5ûë 0ð³  ÔO*ÿáž§Æ?¼¦í#n“+ĉյ´k–¨ˆcü§mrÓY6±pR˜Ñ÷:Ù(ƒ‚dPw~¯d¥G‚-w—’¾pUÜr[¿ïõgCÖW}ü'[çá»0á=”õ¾fޝÆ3xôk@©ôžñÔýtgÌp¸9D …E"Ñø#§Ú¬`CF¥œV33ÁÀøçÂWA‡¨Ïڜ؃ G߉IpT¿:VSÀ,cj¯Ë°ÿ,›·3™ ÏrsšØiAÉFBÃÆ]K ^wœ¦¦k ©’xÖãÏb]hqÌwe·,šÑ•:óXiǾAöV™gÃŒS ‡-zkÊ—-Ÿ£ælƒ~“ÜKO©\|M¦1A”­?å'î«yóFŒä‚.«ß"¥ƒôþ<ÈÜó´¾~?ÕÝYr]õº¿O•ÊdÑW.RvÉŒd"½VêQúPá?8Qöª÷‚‰‹*쉂pÛ‘ûÙµ¹èʪÐüLùžîhàîÆ”L0{t6t•² é$•†}íä>$‚]ôÏ!YïE–ŒØê2fÑz MôúœôX|Ä$ØßaÊŸîiäEÉ&ªœó!s‚†oªÀÔ½†~Hª;{Š,`Ëd ǦËvXÐ8´wǾÁñ@-ÏeGo1à%Íå—S’xìˆ7ýÎdÐçx–D£¤%à‰&Á<ø‡¹DàÒCž;ï%t—6rÊ`+¿ž£OÈýt!ÅJCì..`Ãô¿£ý¯ïŸæØLí@Lw ñ?Ù!Èé©ü`‰…” P{tŒÓª†g¯„´JRæ}F„)Ö"#iYÄ`dØ„SBÙÇã«KþYÁ”æFùË܉-æÐ²Ã<ß,(’,‘V”ƒ^©*tBÝòqȽ †½Å?Þ²3SÌ„dÉòURÛíëÀƒ’g8}!¨[bÚháÔI®‚IžèIÐNdd’’{º „‚>ÅÖA䯄8R¶$gîµASæTò)3gì#ü7/Õ‘“p_^Z†홡eѨ„s ߨÿå @˘ èää 6â» Â{¡Vac™œ É|^Ž]ÁÄH庪ŸX!¢)¿1î WíÑì§Íñ…Úw¹Jm‰gq'ÝÁ“†2f›Íúâgë4þ0+õîS»¦Õ`œçü°£³&¹8¢7óƒÿf‹X¿¿504 ‹ Y`'vA`.‡»Jf fÛAj:¾+íBƒøÓcT4ÉbÛ`uaKêÏÄ3â¡,éO¼¾}Ó?ÃíÓ‘’„„.jþXÞ·% d Ç”Œ›ÓdP½Ûy¹‹CºU‹‘ÇsÃän¨;Í»ëaeÂ13!iSÔ€ÿãZl…Zb Íbé¥ÜÛ ÿó>–V9ò>*š?Œ í 4k1iN‘(øÕƒìm÷ÔŒ Á¡N½ëý\Ò'šÑœWñÃ~zFH§0U±šñ>×mɲNJ‚"JD@Evö;tóÁ¥r¶.º…A’Ïy96å Ô‘çŒÿQQî[ y?¡DÊÁQð"°åb8›_ˆiÍ÷€kõEãþÁÏòýÁæMÇQÓW Ì©;Ñk’YâKGTΓ– ÒÞ'Å=ŒÖñ6q±€Ÿ:#»ƒ TäÙ·çD7Ä¥'c@/F·q SØB+þõ[9Ì"¸puÿñ.Ésƒ•¶tód­ÓÌTéèƒkö÷F.Æ;ã& ¸Éö’ æÄI¤¾:~@ª$N³š—šði~!žÁ°‘ù$»¢®!ÔÑ-¼bJ¿„ö¥ley€?D„wi³¸4¢Y¾ô!©á“[Q‘CÜ™÷õ‡=†±í¡„ÔñFûÄè[pøõ’Ï8aéÍm–ž÷²òI³iཕŠçëB"9ïF,$¼¬Lùp“V?|—+·IÊó\4päÕAÑŒñhi÷G‚Sò´¬Ž¾I¿íG× ð†áûƒ%n¯T$ª=‹1ù߯§â…¹¤Sìã¼BÓØÞÝ“¨1q2àQµ'2WE\=K¿f ê/VW0lêÚÔ‡é38h«e¿ß!ÿ5/ÑbL:%Ly,ÛnýÁ!¨xºÖ”ìR¶5Ã%çBU<'Ö¦Ê;“GÃCƒ¢!£¡B|÷µ™éÁ™Ôn‚ƒØ,@¿Xf}à·5€ÖÚ’>Oz•Hk>ê(W¡g´£˜4Ub}Üî…¡=W ×t#âeeS±Ù°aÕ¼ÜÃNŒÕ›¼ˆé½ÜÅ„º—¹—O<}'E>×RÅÑœ˜­6íiÃPý(Ð¥¾"‚XaÙuÃð:¯Bl‘Íéq&'ªý|>aŒu…°‰ªµKÑRêˆÙÊÖl@ó 2NÕu³ÓK&E*hŸª'éÂ÷Xo–&‰Ëm{ÀŽÝõ+|Ã~™œÕx"ï ËÙÄn Ǻ–èópÿfÖ™€×0"YlÔÛM=‚ŽŒõ‡Ò‡®š² ²E3î ±MâÞŸ¯’ [ÞS]÷nÞé*ûøÿÕ‘ŒuF”X³Æ\×ïs<)gu'mÅ$ªaÊØ°z»y Ab øççá{ØDÊÚh¿H£uaj•…W™Ýœ.÷ ÙÀplpLnR~%žÄ0žMÙqÝ:OéþM<?Tñv©à±ÓpÀ²™Ï¯‡ŠÄ€Ô÷S«õ<ŠŽ‡/ÂK›áÏ*‘A|Š™æ×_ƒPhîš~W]æ2tCȘ=Œ7VªL—}®žÅ¯Ä¹×YÑœ˜k~Š„ƒµ¼ß¾ÁB)öœ‰-#9 ¦;Ã!_߀‘| Žå ©Cð—_¾¹B\¶äŠï%ûï¯ø Nyisøä§ÛUá§_÷ØPpà^¢ø´ (WûÉêÛdl#£öóå™úLæ×¾tœÅ¤§dh*”¬;¦7ÜWM 5\P異ëDå-Q7š+Kâ1ÛÜ)k8£ ’ìC¤žÍÙáz›˜4Ýu­hûúq"ž¤éë3Ÿó‘Ö›GQS ªùTÐ!¾« $8í2¤•ð°Å”›ÍÉÞ”[„gŒ.Þܽ×™¦lW¤;Ð~±ÒËÉf3v}ˆ?*Zëu÷Õh!#Q q¿Fÿk#$I¹¶E…s «'ç¸K‹S. ½ƒõðh¢˜WAQü®&ô9Vaû#Yxs°¼õï9^~©ÊuŸ’ÂñŽšOT纱åÄ+ÖZ¶™*‰ÞVBG=ðÿ1ÆÔÈÿG‹5ö$õµàGšbíBÅÀÊX±üQQï°aqo„ÓÄNµy›¡-ðÕŸ¡j€èxç@k©4Æh%¿‡‡“Ê èMnhps€QåÍ“@† O¶ž_P÷ {|€±(íg럙ê”G£t_ÍY˜«KzÉåž²ÑÎÎ$ÚoE¬éÎ\IóJÔÕ=žU“KdÆûòB „>ìŒë ÛŠ×Ã0‘%}ûnŠÓ0<ù ½Ïü€aå8ô`m:œ_WÅæñ${Hë!½84ÅúS½†ÿw¶$²Š·Òۿμ9=í+‘#Ÿ~ŸœKªN¨ô´yFÕSfLõ¬¡“¥ÀzÉ•¥m·Kœ/ ÐH«ù.îK¯÷Eæ0wks‡[ý*›GX{82Á±‰ëŸÄÿéÒ2í£'£„e@yåü½MxÚN¸¶rV2âRª½Ï˜lT»°\FTß“eî?ýßéqšç^劋n‹¾zV_alãR3áèt)d Ÿ ÞÕ9® G; ¥BÜs`×ê8;2˜³æ2Råm³£ÇÅ,÷Û¹˜¯÷gšp”íÝ¥ŽõR!ô+ÞªúÍ!5ûù‘\êÔSbö¡ ,i¯CþcU¦x1K ‚éAZý°?PáWLU¿hLWKÙ6;’?²ðU"U-Xû1ÞÿXM­lüÖÉþ·EV ¨[% ½J·ÿØ‹á«1 ®ô¸³àOÁùú{¥Fà1 ˜>y#@ø Í¿h¬Œ§€¡*LIäl 3xÛׂ´@ÁêËwAÑw“GåsebR>HФ®W´¹}ÒÝèXq'1GÜÚDüÿõ"+ô‹Oògâ¦B äÛ °VðÊŠ•+º ?ú¾²Ö¡ãVÛRd2Am&Á³Ì R`\!v3Ö¸Ì x2T™‰8·„?þG÷ªÒW}— ·£ß´gŪâFÉ›½º¢Ãi˜ü8m§ÿš¾F̉ÜNí ùjY}ÇŠ*žjú6BÎ0Cn9H¥@°ÁÙo+§¨ˆ™9L´IþµЉÏÄ"` yèÓ Å+íÊþ<}p@ΫTx|—úªõ¢Ù_ÊR3&:;k­´V$‘º€‹-qÂa–dx¸BSDzJ¦‚Å{⌻‚zö\úËzÓJÁa÷„ t$™ü·ÉC+†,X黣Є¤N«‘÷ùÚ»¼«?–@T€Ji¬Ô:=LòfWÉ6¨‰5Þ솨¼š8¯ µÕêÁ ]xÇh9õ1Ï1üÔ*ç†TBš˜Ÿ³‡$š›\šè° ¢·Íû_œ_˱ZÜɇAÆ ­WaÍepD@¤ÛÒ3ës•“«$ãtÂÞ<ð}EÀ葾Ï=˜î>=¿úéþŸïúµ0q) ðèùvûÀ_|#Bð©pï›ÃŸ®õlÊ‚„Åç|·‹ß…ø7ot>kþ6H; ŽÿxºžŸª?8ÿÎnm~†#í×ñÒÔûä•ÿjò6?ÑÒK GÖ®NäO‰*¢§w²ÚŒeYLPµšhrçÓhf@OrÁ %ãŒ(„ĵ5·µñùÙ~"^–s;¥©§E£*¶üWØx•’/!¨_æœÞîóœ w#ÅéÈJ€¦:ñ¤4â´M¹§ðkà®°´8Hç¥I;Å—+KO¿éu¤1ØÇ;èÛÜ€W¶èÒÒ¡ô[)$HÊUáA;7DsG«’¿(úeõä1U˜«ÚÂ$d@]Š[È _Xý¹^ûÑV³ò†»`̦Ò‹2®.—JâþçÊ9ÖI"¥Ý¡Y|ÇÞiSÀù=H¥ûY<íó¶Ÿ•±aúƒóÀ_qQ\&¢¢É•9¬R@¯4”%Å\ãô1o½MOßH®wëþÍ&®À»ð¾öebhÿ…Ûþ©>ÛœÔ ”ëdP…Ê_Ý ri=ül¢*Ó¶VÌÔƒac™étÌ,b»j €  VXƒ4 sl!žžG’'s[ºpÕ¾KfÀåöèE “&AmŸâ¾? —§È  Œòœx†k±I‚·YçxÈiÝtþãIïú¼AñV¿5%fà MØÜ¥Á÷™Ì†ßø[yÍ]‘‡bó(a­Î¿UWÑHùçwØâå.û-´r'Ù´zïË‘1,ÿ2*TY_;Îà÷ÖÈäc™ÂVLwìÄØ}E<à$:5ˆBKѰù><ÉZ.êfL^¤PJŽƒ¶‡ê‰ýû,É­6òqeZ!i÷O·´> ŸU–&T°²ˆ~. °tÿ¾Ê³^ïî ÀÒL×ÖŸ›Ÿ²á22Sç¶’]+Ðì R2â` |9 äQâ¯Þïx,9VÜŸIæn9éG-¥‚fàçGy:É0õ’¦iÏÊZ¡«õ ³BkùÌÅF¶LDI® 4v<ï gI╱õ_¦D4žŠþÆmLûG£p$‡oÕï^Lçj8‡+Åò…q‹Ñ/]¤Ì–¸¾#²³vkø9€ã þâj`„ñ˜?c¤„*ñõ;‚Qáš"yÁê­j;C»³-Ÿ×ëÓ"ÀóÖ| °W°EвRHZ{»ˆLÅà N^‚<¨‘¡…KXÒ ûÉô\8Ô {¡èćDn8fÑþ;·éýkœ¸wyö¶–úóÿ˜þ‹Ì8¾ä ˜@r@¼Õ™}ø´´ÝŠ;¯ª_\5=à´ô¤²+Ni“à&T+8#`€7]Î4»]WÄ2úDMÚmUÓÚe‘ÌÑF}ÐÀ…m’¨‘øRÁa‹]ÄÄ=yM×Ð&pæU0k²Þ¹ N3ØÙ´ô>çnsÏœM¾>­Ü´Ït·Ÿ÷ D¹©„¦M¹N¸ÓSRB†ýÚ£®ŽìMýv™â²¾±³æ#1«Ùÿ7å‘õ¯ "9ˆ]¸°T[{?¼FA%TØx@`®­ÝQì^.0„ßÜßj©P˜÷ªh»8+¼7$âkÁã› ë© ?¬$ “S’¥K|6Fzâ¼×ÖK Ï.´ë—Ë{žœTºž@|ìn¾ ƒ@3äÕ¡ñ2¹­â˜Ä‘b-˜ú®q˹_Ÿ<&ÀÍà<5¿U…ÉJÚçŒïäôu­6į$ hÍ/ŽÌýû¬h6º˜}¹oÛõ”~íÆþ/«>†«»jÏ´5ZýŠ­wçü}z§ÁË­Â:­ÂQx®ÌBjõù ·Û7!m ݹ’ƒv+ªÝýå±7à+2×2 +@U¯ÇX¾¦•¯N_ _)"îp¿.íGp¦<Ð$|ÝWѾÍý¾ßv€-PC ݳŒÇ†oòŸSˆ-1½5}Ud,ìsCn®í+häÄ/uo5Ž4òë—¿oz3d¼‘“æŠih÷{ÙžÓÊ]n½*8¾[–a%Ù 1 ¤×)u ËX*4OíØ¢5"af÷%É[IêUÇÑn‰¤ICþ“œÖ¼FZëÛxÚAw6§¯R¥A(ûÒZ6ÛR°©¸9)º³OÂŒ?Õ(ÆÌ2ÉžôU±î{_FÑs$‚†ëvœ?÷¹É4¬ù£ðN1 ±Ï⣼ثúÍŽ®ŽL-…ëљP™=ü¸Ž2yO!êe¹ˆÚ¾[´ ü¾‰ØO¸~$ÔéÂâ¥Ù#Ó@{×–«Ä“te"jD6ã 9ÖõvgQ {éªVÞ Èv*ÿŽè òt0ªœ}ÓfL­e7”h¢+^©6!VÉBÑÖQྌP#l¿cƒ¡ £¡²Τõx€ï '@E®M Ò€‹¬Âãß–Ð-ÞD¤Q¦S5‚¹³"+•l¡9 ÒfdÛ|Ô ,Ó< ™;&Ì·èþŽ´™c¿¨›z%Ã`mÍ≬¹ù÷óöO‹°©(íTI¸‡ ûÔ‚vÖ|ÓsbÝ䌻ÒïRõËÚ „QÝíÜžjZAà÷×òbKy ¨›X¡cû C¯Õ.m}áÚ–$’[6KP*óÿ˜\ÇÜýÞ̾˹R}SªÒHÂòBl"ÉÔ œ?Ë¿Øüå".žÜCu!ÒøÑË‘^XC+uŸM̬ÿ%³ž¨Ø¿ø•3bèò Á`;ôtÞë!±4Râ°öôýð²Œf+A%[ÔØ þžßÉ3OÃÓSæ¤JémÖ±._›‘®¹Þe…í›L¿¼lÓ ì•ÖBš€/¢Q¹Øíá÷üVÖÉ…‡Š`ÿH›ý¦áuÀT¿:‰)]y2êäÍÊð#iÔÉYýžÀ°6¦ñÍ0Œ[7Xƒ˜£— )päËA¦ÛÐL|‘rËF”–çuË͇àãÄ–ñîÏbM¿#‡¸“s±hòLD?Î/oº´îo“T£Ý{‘ýuèò).ipãôøŒÓÄ‹ÇÜXª]ƒþ‡ŽšiØ¢€G—Úý¿öÍÑúû(e"©äØg¨^è¤LšEŒ¶“ß”ºf¾cù¾{¯¸·ZFr2¬ÐÞRÏ!%î&!; «OƒV@ÊØÓ7ê6UuFúwçñ 5bhßT(Û”*3êPÝ^؇W7¥Ãi?Uö݃Ȫ“çÜ/Ή~yauœqø‰ÍxÊG÷ªòÛZD2U0ì¶ŽŒïý/Ï>àlf5Ýt"lšãEü)žK$ytùLЙc+S¤>ޝ "* ‹:ÃúŒ=‚b/Óú: ’ÿ‘NH>$ªÌÉ»Æ ?)¬Bô+]üqå=@‘e_»€_\0#üÔ:£­yÙίêÎÆÎäN.Ë2¿Ò“ˆ¥‰¦ÒÒ–ŸÚÌ™{È—$ýpPÚ¯‹Kfû‘–¤ùôÍþ3tþm:ƒÅÏxOðÊÁÙy(EÞÑV^8‚u5Q!ãP¼¹Y³Ø= ,Í/jK-i]¸‘tƘr1Gè£žŠœrVlåGÊfW"óþXëWZ ™8ªë'³L9펬ÿ….äÇßB_òb6Z‘#„%ÁÖ dq0„΂¾ÄܦhæE¶ÊÈñà1Ž6žðùälÅtÞë1œ#6v-TN’n‹¸ÜßwQJ )§Ð‘¬…¶ò£g„±Ï&ãï,GÁÝYD m²¾bsÝöŸØ­¤zfÒŒIb%î¥d¥ÆLØŽð ‘ä±bþÑœ[ׯ·CË6k«šŽÏÞ¬Ööø® Í©Šåótè>ˆƒýf~Ð"u:Ú¼›ÏØ$:Ê€tKoÇmC¬‚ÌíTùÏ‹7?ûFU“ ‘"¦u_qCàaåë´A”UÞ7cdÝβèÐöðn³)›ú…cæO›®IìÊ#øòf C¨®ÄI¶J\béÜççGzô_†bÈÁõg¶™ â=æLÉtøÒKqÌ{MÌCó#䈕ƺŸke<ìˆõ O²ªÅx„’¦5;ƒgÏ Ë®~u³‹Ùƒð„[ièr4ªs_åè“]™Jüú.QW–ŒTü{¬/ŸIƒcô8º8<} ‚— s¬ç©÷Š\›â…ÞY—¦3ù˜+ϳšÛV<1`c6ø‘ñÉú4Ï»dE>1°°»·p?º%ã¦îßÕÅžßA±‡MH¢á6~Ñ›Ø ³ÈêÙ#Áv›f¦ñ0î„ò,©VÜlØI„ÍþeYøgWb˜z.®3°e¦µrD)Zöæñ Í¡1ÒW‹>}¨Ó!øsT¦¯Ù›Â}¾çÅlø lñJ›žÊÝNšæ¹Ö­â{ŸaiGE[ [Tj)µÛ3Ĉ£ýhÞ°i4!Kª^þmó(,Üì»mR‘ºßÃÊß)@F­g°™4ÄýÕ;f3¥UX5±í‘Ÿ—§ÈÒ“*W6òEé…c\‡éã5ä$õêò°ƒQã³VýPxi®} ·+ØKŽƒsyU“8B¨oÍ›½äõ’²8 ¥Ã®™"®¯¨:ƒ’]…·¬ÛÂb¨¢æ>È‚}C™ Îb“—‹¶z6•Ø.s%žùqÁÉÊ í¥?þMÒnð^Ê®¦ qªn²d{Ä,ΜóýãU5FÄ1¹ 'Ë2eRçE?¤þô6^ ÁÈKrÖ&­Ó¤ÊÔb]îóãwõˆÑlªû®Ëo£ f~ãG¤k2~„-“èfôN¬`¡eyX3%%•à¾ô@¢ÜlQžØFñ˜. ÏpMSçå,ñ˜-×Ú&E)rÙQNåpôç–àç+ N6 8PZæŒfÉãÁt(O…:+ëÑf¥dàœãBÙEÉíÌü‡ý°U g¸V{‘ñ$zêümÐv&ùþ»Ñbý¡wË>ÏE*I=Y€L}qš¦@øµ?àôNcë@É3Ѹ®ë±ñ…>‡jáM² ç/6;p˜¦CVCÛGÅ£÷ím=s·‘Òj2ô7¾>œJ… ¢1RÏ ULóµÒ.®®šR:s9¿·Íìæa…EY•¦V”P4¬æ¶+ÝÍò]`k·wW®5Î}âLòã·<ÀˆŸ9ÿ ù|;zžšr˜æÞ]¨øIU1…kú* šKÊÀ¨cïá:Ä(M‹½½¢+k¾ìž·bm±Ù‹i9úœex­Ê ÂLÞP{ƒczÅU1œm 6­Råât^Þ¸&I+¡’%y¾6hð˘¿á^_j¼1êN¾ÂH¼ÖöPJ¶ ›”{kt‹™ÊÅI`õÚ ¢5¶ÿû ©Â{¿+A†dž½ZvîtÅ? `NˆMUúßM#î“r|ãÜgòQK˨ m °‘R4]4÷rˆIj¦ÿpf£ãWüxÇfSH.óšXk†õì_#BÈávó@]VK$Çß@?Ÿ£sUÀ£ŒC'žM‡êþ.€luö'°sÜÖ{TIê\XYq¢&©±8TÑÛµÓÔ¹ð/¾d4ˆxúi'áæaõ@yVà`]'®É_”L½„m†Õ)¸»V W§]Ò’%i6¯ÿBáætŽ,W+Ép†8û]nR‰%eeÌÙ]$º~I‘Nõþ— ·FLa I(àlšHÍ"L;]v"z¸)`pÁê±ÓUÈü–%µqéÜ߯²–XÅ9ËCPÖàcŠ…ŠØ°1H"ÈãÚøŒJjD65gZ?¬+ôäG眾µ6®ƒ´$ɧ'ˆà†n¬ì‹io±²Èœ­ w4 /6"%ÙÚ"u ˜Úñ§Øì?ëÂ7.gªàS6þŸš nt”oG†Ìä‚䀆ä4€xšÌ(¯vú9oCãLÖRÕ>0Än Ž1(³ì9¬.D”î9t-\ºŒûí}]e{‹ÿívt›Lw]Rn á+}„î".þó9…g#ºQðÛ$T©ß„ÉÐdÖeä×TH-ß·8É,×4wöy”‹¹Úˆ³æ‡þOê5üóžëÒ=Õ ;@•\Ò¦*xR̶hÜ\5øÔSÀxùF¶ f /—fĤáUÀwOV³œîìq¡6áÁ4.Žr¢ŒÕÉLýRuŸáFÞ´’¯›ëš¯¤inÿ»Xc2ê_Ò*ÕŒA¡Óã*aaü}Ù?D:ü–xô'lÒ¡–ƒyw¯j¥•” ¢C`¾×ÐOœ@x\œóÔ,å‘FÔ.íaƒü¾”zYPæ¨wJ”Ø'ÙÍè&Ì6èVÌýÒ\–UßkðÒ¢ KÞ0ŽMëó«Óg}¯Ç…]Û¹Ö(Á/+àà„ „Í\¡ u\—’ý}¯n \Û#ûZÑl„,üËë–GÄɹ”Êâ¶ïÆðž§Ÿ£§õ"-Eº×>Ÿ^åi _Ë µ“רIæÀ]€ØF}ãIÅ'¢ÑÊ¥‰ØŸ"*&Ä{k eÿÖm‰ŸÎ4L4d;Bb¾ä:(¿¿³Äûþ‡»ëd-S°@‰DU!ïfHk£dàå…ðæž_ž¿×C%»ü¼¤‡å~ׯ©9æ¢ÙýìžÜú•>ï…¥N}ZÉžñ5C,ž?Í[$ÀpQU7“é ö–)êàê­cT—Qâß»QcêK?ˆLä ³ ÀaÀ¸žF‘Ö’ í…rTA'‡µ–º%9àêM¾à²´íÁ7 RgŸ 2ÉÛÎwÙÑîõìò2hóÅÊ£•„GÕUÐ]®‰Õ/åúiŠNLù`Ü:7ÌÐQ ‰dƒò0ÿ¨D7 —OoIÕmÅBhà‡Ÿ¹$'š{7OÈwÂm¡8#S7ô†žé´OXáoðáz "V),ècfKáÈY}*ML“ň›Šð¦rM“Br—Su3m~ =¼o6\M¯õSÙtòpÆpª”@ÉC$ý2: U›,Žp,A¶wksTʼÿ+Á#úúpRòÛT5—­oõç*jz]4ò©-ÇÔ«:·ŒÛޱpCL=!eÒÀìù–Ѻ5›`ý1€r6L-Þ`¦} Ù("o8$võ;ÿ((÷j–,Ê6ŽPáqáÅ*à2ÇsÇŒ«¶Zº£WH,@}ŸQ?H.@Ä]w3Ž8¢…ƒ(8:zø0Z7ã/xF|‡Ò-êdcÇÇtöuUßp®Ec—Èʉ¿†‘xs–XµnLwϵ î;‚OdÕu‚‡ðÐ ŒŒ`JHûoα®ÊQɲzá{iøÌfòâ÷ï‚9Òÿ‚ÒAÞo'Œ™[`K!nºQª4„/J£ÂíŠæ«úØvÝ~â€K@•-Ç!íñ;L¾UsÑ‚R]VsX\ª§¸ñç±jEaÕˆøƒË9ºÚºRcoéLoÙn_+®×ˆÊ=®?«‰YÁ# `"Ñîr¼×P`§“¡üIâv%Q¸ðP¶4z¾/ï‹J0œ N¦3º)@x'Åü¹‚–wbÌ!B ãø0Îeºô­ 꿱¿Y9 ÍÚΡŸÖv@Ö[»õ‡ŒwØÞzMÿå08 ¡Oá‚ø°ÊjÏßò¢_Õ«ª =L¦wÅȲô7¡_"„_õs멸ºãÍ!¸ù+ª(BUËWi3œçõ–Z/_*%»ˆ*„9«¬f‹#ͬ)ÕXì£&¡ÀUï–HÔ²ù/ÍD7Sîû´Ý»7ÁⲬ@‡àNŽ!0Ú#{Rw‚<äX-…ƒÂÓ¼û×!òAìŠåôĶî%È$˜R²S™‡ôåtÓ©K#5êW,’ž'ÁÎ.LçÓD|™Â€£ŸCËâ³áB†i°dŠt,’kÿ`¢©^Vè°åñÒ#žQ?YQÑwn^êÏ—çÂc4ËoG…qHôË’uš¸Þ’ШX·Ðxí2DAb{² zD¢µrp{žŠÛµ×ü™˜°è]‡ùØýA†óG¦sŸ®Œ"Ay˜c€aV;àÕù«?ªlÁ ªƒ´Ú÷òÔïZÐV¶£&m>î{VXÓbR-оó,¸Ì÷é´˜C™px‹°¨ä!ƒ©s‘…0ÿ÷{£oR”-¸kvŸ›Å>â9ÒÚ9ˆÃ×!èü’MéϽË1à jÝN×{üŠÏºC@Ý7§™kÄÞÛXI¯ 8ε:¶nÒF†#“JŸxæyåXD[mªžRþ¼ãîöxbé½"í1ÃVw:m".(CLhDÈø\+õ¼ôå‰ax °é¯(T;tUg%$-@`lã ßÒ6Ã5yé„ë1:(ŸˆyýEüyT‹0ÀxqNk2@©hX©ÊÍÕ-Sý* ŸÀcq{¼žlýs&.bЊéÑó·òNWN¿[Єڸôã¢Ç•Üu[ëv Ž’_‹‚ž§Uøÿn­•zIïŽBœâ{3Ä©œÖ=¢u r–_è€j›¿D§½›–CaZ9ëŒaéÍë2Y•9n‚£ N)¥ ÒciÐau÷tDí)7øŠ÷燾7!©al…Ìσ¿…NuÅ~Ÿ2ð 7'ª¼QúžØ üËæo&PšU­^Ï”&’x¾®¾æ›Í-x}î}nÙkFîL®¢§V®ÃU‡Q›;ÖD »º@ÆÊ’ÖÁé‚!Þ³IëLÜ„Û3GD”-m=xé…<ÉJh ÉÊ IðgüP¢ù3ŒÕ¤YhIlÎZÙž›¤g†¦~ïQ‹H¨ÄÑ­8v£ò+d/‘qJÀÇ.çT‡ ùs6S*6b –}º-ì(­ÀK?¬6žBV¸þKrÏŒ\BÏ¥æ{Ú $„%†4ñòÕ/„‚+¶P<¦ÿ"|ùµ(ª+vïîGŽQ‰ÃÃxó^HI@Àœ~Û‰KìˆäŠ{0(+K‘̺È…ep­å2cÚšç<…â'i\H€ØçÒˆhÍ#”ÖB اmŠÌ%Ã`4Ϙ˜ Fš{Ô+û¬¬÷°†S8dÒ›=;ƒoÆðÕÆƒ•×?÷D!x/ ¬þŽÄW3#/!™¤– ‡WµÜäñP&àÙwo~åÚŸÍAóÖÏ0à‹»Ri‰SªÑ_lr‡-Ó5¤Íf1„ÇB7{U|„$5tì œñ§ïagõÔyCåkA%»&ÛªíŠE<ÚžÊ?fYCm¡±Ó‡e¾,^ìârt&f£ PH…í_^·Ôf¸ÅZI“)ßù$×»@üGŸ¹üÑ¿ª5‘ª‡eæ¨E~Ç ©8ò—†öQh1 8*±D ë±¶©íìí0TQ]HSäì<¨Ç¹Ã³‹(ç½Öh ’½·û÷2‡\¥ÞÖš| €Í‘*r;ÚPÈóf–Þ‚¢—¸£J­hò´[Ór+\m!Ow ²Ÿ*«p/üªýì!(f8¦ùý†J>î¶5‘‚­OÅšå§ó¥¡á9ûÑ\BXô ]Â!pUôÎí]\HTó]JÆß|$L‚´OŽsLåÊÑé·j~>·K±ÄGNS‘xŽÜú޶ø¼ 3È\¢%E©Mè×k)‹{"8ö¿J‹ü~Ò½RѪà ê Ó ‰îj4ÞVŒ°ùCOe€¬QEOúË*Ð  N‹qˆ†܇õ „:D™Ï-]Òɪšq›áŸ¨_e®Nbó4v®iÄ Oƒ¾ßVé·GÙÎ8,Kÿ¯™°èïxòjŸ4èB¦³ÍS?0¬Ç W½#Վ̉@<½kQ†ìø„Æ|FŸæÐ)†5Ÿ!I½Ë¤½¾ ìÕâLxƒVìØó¤ù¡÷n9‚ Ë!ÇZÕu.!÷¶§^´ÃrøˆßÎ5Ótç™/åûˆ&âd•¿®X†-y‚å½2r=³i4j9_%-¦Ʀr'}Μ™T÷k _ÉéÛ|`Š‹†@†ÆìçŸo[=NŸý–qÃX]mNÍÉ%ÁlÛœòµP¶$aäÈÒe”¥ªnƒP†võzEÒÈMîém¨~ ÚY˜Yævf]ËÈÔvïA…iˆú¢Z¢µÉ±8Wϳ‚Åxéj».´wº®0Ã4õ,ú~€{ºMã”Q2e( ƒ +%yÉ7ãÖòi˜lè=§å.¡ŠÀ†5‘1ñEqÒû8B¦psìSk4u–ù5“ ³Íw׫eS˜6£P†ð@§O‰K§ŽÕbVr2”—ùA¡Õ{rB,juœÑY ]/ŠÝVŽd«íc¢ˆÅ² .¤§_Ï=b äUïØvóí[„Ön =´‰<þËEÜVeR"tæ m°¸!öÐv¤Ú·?ƒûŸÑÍDKH Z·ôZW®Ý˜â¤lŽ£A~ûV_v>8™øgìóAÌAåØ$þ @ÅJÕ8º6ïäÁkõT_iÌ×Ôú‘zQmù`M™Xî²±2,ÿû¬„¨îTçL¬•Ûê¿ý–{5DL'p£I2áóˆF²kdÜo¢Ü+û<îcâ"ý®Nlt; Uvr0¢„Y‡f³e¬rI|[-FŠ/Øò Uð넹 T%ؾ{ùE÷ƒ²f 6qØýÄÜä˜>\'zÐj\ºP¶£\š |sM¯|Å!“ÂÈW[·ò¡B •œq燿.]üs'Tá*§¤ÿ÷äiíÌ%ÇU?ÙÌ›6ÐÓÛ`#ª

Bl’y¬ÇÚd•,•ª¼-yÔ­úyô<š² ì®®?Q=P™œœ Nn+^lÅ›ÎN&òýQí¾õ—ÊQO Hc£ñ -“u0KŠ´‚¤Ï‡µz[¶“ ÄA%c¶ Ò¦› ³\ŽM…Æ4ø˜2~­5Lò¬æuzÔ}—þ&6 Ÿ¸Yb_4ÍùÐð¡ioK'Ä£vð;ŒÍâqdž½m–ñ0ùÝjO”@Å™  ÔÁ<^©þüVÑÇûL `xOh"1ê·£ðBÊ=“Ïp]¦—2µ‹>åG¾nL“>weZõcî¹+h¨3ÞIá% ›L/^Zã¹·ˆvÝζLíÉÿE‹ý*Z<‘ù­µµÉœ70ÓPÊ¿„H“2‡h|xlŸû‘…Tø+/Ì阰Ëå®Zà×®ž&4+žF~ŽFc°¼”nÝ´¤A”.[\@®9DçG÷?FíZ,âîFÃh­¼ìf‹÷—õ®/ZSlûög }3+8V²ƒ‹]ºV†öH^¹Áf:©Øõ¿XEp–pÐûûÔzD8õ`åp b,éwpŽ2ó&¬gÌ'ùzQËØ“ø³ÇMùí]6ìVݪù^s(.è‹`LæKv'ûEõ3++©NÛ¨j*¹uE0Ä£V—g¦´vU`ÀFÿüÐq óŒ„ÄŽœ(Dçž\8Þ)½u„äÉ©ŠyX°ÂSügõÌŠeŵù?wËšm%〿àžzxqü ¦ÌÂE¹±ˆš¹¸Í¸¡”DëÍ˽ì‚G.|‡„ ’ž—+—–¡¦µ°”ÅšcÐ#’=]´B©*ƒÄ§–+-YW>·’±9ZÒÈ’ƒÏü?ÕŨ—’‹= ô&B›¹Ú<¹P$õœ•Eœ{9„U¹W¼È€@Õ©-dôs€‡{ %ÙßÚ"7nX–„\Ð#žêöüѰÈá`pAüóåôjžé(Ã.­Ã“TÂSîø5ýöò¶1BS¯$%&SâGœP2u1&ŒŸÖ»~ÛpeúÐí eœò­:ŸÑŽ/f¡¡0`ÏQ|̺€‚þ‹·'¥Ò QroÊv¢êWªx'{“ zšD;>ðtÇì™Á‘½Û¡°eƒY*“<4t;A šÔpqƒ—çÿÖ=óJeþ ŽÅWè›[w§ Ú 5¸»®žÐFÝK‡w—r?ÒþbéµÈÉêÒšø`5¸Iͳ.ÀªÎ‹Ÿ5ÒïÐ}×ñ¦çã­<ì|w°œ´ÁÚ»ì¹Í·V½j¤ áªûí0-„HÖR,¿qŸŸNý¨}¦*²çµŠš.Mþ×U;™”äjr|û ð]þÛ¦P­ZìgJòÉMÀSÉ1¨|Ô¦¥ÄÏ£X&¼_¦»Z ¯jQ´Ñ!ºB¶qÌ¢n×p§ˆ©t+Ø@ÁÈÃü쌸á~àŒØ¡Y³?TÄËH›…ç²ÚîøÅ2ˆ‡³ïû¬ÜçIaIfU;Áõ·öŠ<‘mäRÐ3RÖ7¦ÖvœØoü|P?LþCkÝçÑxè¶ø\`­à!0Xo(F‡ÿ¤&ÁDôÿq²kN·4¨lxÍöœR›o£'l†Œ ò'ô[$»¸:÷ô¡‡p½oS:Ù¶ ˆ×scÆD6k€>>CŠvOäG°ÛBi¬¶Õm„‘2ÂñˆßâM’ùÉ,]€ÕyfbA½"ô„ñ6çm0özzgÞ„ƒçãà$Kñe£Í§+…)Ú{ì(u³ìwŽL# 8OÐÞ£©Ö°ÕBM»Ï88¾HÍ2ÛHNqÖàçü!9s§‹×Vk¡wÛ¸>Z¯òóAiwÈ<&åñ}0€y‡UP7|Õ0½lÕ\¬.Ȁ ÀÛ‰ÓÄÐuÝ|uñþ¢ 4nm ‰PAªqëà1OÌ—¦Ò·vBèYWáŒð÷û/~(¶q}3žfGÍ® ˆOÚû€Í_\]T ªrdGÎ^Né]©¾øDÂ'‡Ù÷Ví¾Wã9|êNb[‡ZF‹ÌoJÚÙ‡fOà$ ïàr‰`V÷¼ßñ&ý¤5ùŽ—™Xõˆ’æ(Ÿ<›³L¶.hÎqàJˆ GNEpr@•ŠrÙ“!AÏê%´¥ma‰Ç/¥®S|CÂé ´»êÊ5ICÉÌûÚIR¢R%IdЩÅÏö’ÄCÜÚþ%ûõ¬(†nS†Ó÷x'Ç*ÉK`û²}•@Aë%}>>ÙU[OuË/ï•U±CÚ‚uÿO'µ¹(ie˜Š êPÛ6Ýã=&Ìí^²^&ìÕ{ã¥Ò 4Ú¬ž&º0 `,ŸX‚H(–FPRu­1ÛÀkª“”;‡uQÈ›ý&H áÔK‚š€|Ô–a"Z”‡:tB6g4>Ýh¸ãÍWãe¨Ý -­0~ñ¶.Ã8¤Ôvª:Ãv–m>œwÌ»´3…ohXro„MYÄÂg z…5ÛGxGÆÑÛ+f³ßkÝ×þñ´kyòæÍòÏŒî»ð{M¡»j$0¶ÜPYÃQÊþqŠþ%:Î9ÕÅ¡Vï{2° ,ŠìGXýø ¼_´Ð4µÜp£†u`N‡u¨¢ùV}6°®^IMòZ~¦Bl•,T54®‡«Q”3‡ü¿#ÔíݬcÑ£Ö‰ÍÌÿâ9´¬.ý);ðÑý0ë’‡²v7äd² ØÞ¼ça¢Ó8˜Ä®BƒB?f½ügqV;iÎ_BÔÚr,™´YOU@€ÔŒ©À‹Ÿl–=$ÔÀy: uÝù;Ó½0‚Ø×kTctPQâ³ä˜6<¹’t\¥q¾iBT’pYÖg¡Nßp`km^êFåŽÌ ð‚Gò”œêžòÎãy=£?6ƒ2˜¿t´ªâ¤áTðÔÃéŽæÓQÕ³í­)B_P>ÐÞôù}s›Í;´ì=@œ lí@!;Œ#ß°VÀV’¥K$oZqDØZU¬É¶3“DŸaLbvc–`V|½£a´WœkïƒU“Ås-·Ãr9oc¸À4Mø­„]Ôin{9™1{3®Õ–<™œÉ¯;aÃè¡ OØžºûËg—Hxôb‰FÖ×7ŠÚL ¡AFŠXsƒwvDaè¤RÍŠ¶úYóÎÊ ÂÌh̆nL&"‹GÿéØ êhwD)ªi½äS¸IOØs’ë, ažÞb¬Qȼ@¤6|Q±ªÒŸ‰_o_©n(ì µæ&7ºúƹÎi+0lÂû´£ÂK½nXGßx§ëõªaÛßœ¨®¬ää€@âÆãxÍXžRÈè¤~¸3j #÷ Eýîïq¤#À’Î_r*o4™ŠP$[m¬IFô+hÜô@â6F`¨›¶vQzó×|‘žý^ag?[ùÅÒÊNð¶‘W[¼[µqágÞ(øÈà¡7©¯'¸ú9'ý%qL€vÄŸ uË{¢ŠŒk¿ü<¤6Ò¦H[7£bpÜOUhH9² n°˜ç%L–qÿKôï4ç&Q§®/‚î>ZnïbÚè˜TÒߟ öxÂñw¦ôÌsàgv+ý{/_Ç´%·*{#…;æò(¿›yBÒj(Ñ̺ÿY´é«ï@{ÔiMXT‡ÿ-kÅÒ ›àñÒäû_Ó¸3ÙÙíô^pµH`>y)˜¡.13ɘÊKϵËa!ÔoåUYs™ ¿U¹èZ£æXsV;¨y¸%¢Ü¶‚v«2Û_–È~Ø‹¥õ®Ô¬ÿºetR«ø41y^iÔRÈÔäCGâ—ôÚ°'nÅ&^Hü=Ûøú½‰)#_‘bTУFž›šŸ‡J²¡Qט”2¯y .s° Ÿ¬Ç‡ˆ „çy'$ Uš5™µñÍj»œ•[ÝE†bu‰»õé°U.Ût¤QŒ«”é Ô\ŒûÔ2 KéØj,‰ÀP‚ìnÛÝI± ÿYå­Ó¬Î‡x;C°Zn»|q_™ ô : „¬Qª‚÷­(Цƒq®@ÝÈó]œ"&`”/µjlÄ,¶¯á¬ø> «÷_°¨4ÿ1z2s黱ƣÚòË˥Ƨ£"8Ž¥;)PáÉ=„3á»"¢‹‹"š•nÑ„ôù“dd§o»úºToô1 'LÁöÎ֤ǶÆO²)ÀÁ´²W=7žè”]Îø Õ´ÃD·Ðú)âú’rv!ÒÈ 3ÍbçÞóöa&ú…êu™u)7/ÇóT2e$ß·„ Oæ}v?„ ÷ÚŠ!~?ZܦMr5y°7•؆pyÕч+Ë<Øæ˜†³*5hvå8‹—7¢$lÖ'˜íjSáàü7¬àË÷­ñöò#2rˆ]P“m Ûwaׯ‹°LœÌÏ_†(+á [“Ãû€‡¨Áé}˜ùb¨¨¸¬¿éBÂDí ’y’­<×mÏb¹×ä ÑàtÁþ­êõ,>Иäm€ñEÛíww²t±doÁºþ [h¦è_ü"}ŒwÑXßøÕ*¯½Ž3¾%\;³Ç|˦LªýÁ•~}X9+˜x”rÁ5?— ÂXúÓ/âë~¿}¸Ó´^ëTŒ´tAñÆUåA°oì1c8JÌ]ŽºÆzU¼ m•pšYUHxQ—ÌžÒ¿ó:!(¹qß[΄ToœlÜ5L÷íˆ_µP‰ªõ^ätl3ÓÄ> ÃxŒ<§þºß Œ/ÆqgÀ@(H`§ÄÛª+k¶Q )ít¦ÈÖ»êTÚ©`yj·TZ´hëñ…”! /¡HÜ©P¾Íñ£ûà ]ûön\€àý•VVþ$×Uš½ÿ½…@jŸKŽ@`—FÑíRiùatÅ‹.b_k郷>™¢4Ï 1ÿŒ¨Vꋲ‹?ªyšðÝiKz¼šËƒS€þ_¨< €–Ö2Ø_À\}f°ÀvRoZEVÛÀ&âÀŒn¼ wÍæ H´iýDÿŠpG'‰·P¿|ßy'BÈ/[¾M…›d©@\¢`b@#â&ëèsh#:IÓÍa šüe¡¸¥†B,öÿ<„øuà¼B•ÕÇBð©a,e/A?›Î_•_]–‰R©o)ˆ·¶Ð/‘ûݼ†PdoæPÎ<&­,:í‹?ˆL1¿œÂ(Žõœk&ç´ÖSQ¤`ãË«6ˆ¾)P:1Z¬9¢¥Èj#à©}Ý*‹x»å®a¯?÷í9‚µfF!éò|­­mÁ™î§›ë ‡³CxØj³t·ËBú°:Ä¥ðª "îF»Ç‘X=zpÐ夠³;b¶2nûG:ѳژ³E)0«º §cÉ»+ÇÊbá§®œA«¬”$­PIdøÌÙ «Ô…mÙ„7R!üòü”iˆKÊ…÷ ‚¶s^¹]AÕ]GU¹|ÄÏeh’î¢oie=_D ‰ðèïC=¼C´qxމÿVñ>3Q»®êãÏêW˜_ö« óbìà™‚Þå>‚(½SœÉ†Ô$qÍ­Vu‘Yé§«F~‰cb5,ìÎIDB¹àXÿΤÏ6,A#z†Tóâeè'jÖcé¸jaªÂÊžjRD `”OœðLŸ~ð n¬¬PÊMËœ÷ÇßoÌêÛšëT­…EÓ^÷õB³÷ñ ïg­Ðæ&S®=MÖ)í¡úÆû‰¾©•|ÚÚÊÉðâ6-ðÝó˜‰=Ò†ûžäìˆÝ}e¹e{.×¾žJwç«~T’@™éryªš/·µ{„¶²tO¾^‡™åú=çè7ÏÁÔáã]`‘R:Ö¾±=0ñ°z‘“³Ø£ó9÷AÔn‡øj‰Ç#G^XÓ:[1KÞ¢DW°@Rçn€·•S"ZÙSî¨ÝÜáõÀ¯cÎØ†h~¹°ª'­fÚs͈pú=ÁíÑj„|¥a¡“·QX´=âRÐË•Íiu¤Tš(ТYìÎîFξ{"kõ?,ö°!ÕFùª¸‡À}4õÒ}³j‘²nf1«e£;£|dÎÂÛA F¥…]³: ìiâIÍ­Ò PÑh¯,Ž‚òûiw©á¤´°ñ€Ã¸B¾ÄܰÉ–k¿<'¨¼vú¼¬ïÜ\ Æ9ÑKûíùp•LB²&„Áò`åOà‹eïJ[Æq½mîgq+ ÍpM½¬šÝQ.ÜíÛµ˜!¥eÈÊ0Y¸Ýõ»T+E¦6À]º kœ)‘.OÂϧ—p 3&þ`]Wùï\¶¶¶Y°‚äFtìaÊ& u}í!gãuRŒ¿.¤×î@RÇFx¿A‡Ù›,ÇrW_¾xqÀE)aªyL{áù_[ÉNIÔ“$˜²E#fë®&¸/lBêž.Îh<–¾*Ê $´Ót3oZiµèª sç nTt6¦§)þjÿû–-0Ò¢ÿ;R)í¼IæK3a…ºátTˆüe˜“dó@ˆ_¥®z}ܦRs{FÕ ¢¶º²ÚƒŸ1Quò˜€ñ§¿í¢Î²±x“Ú3Å_hôbL’¹>BgÂu/Ò¨4ól¯KؽÉeŽ˜Ò.H>Osn?K"ˆìŠBó¥+ù€Ï…Î ¬ÁGŽÀFû9úÇ·Ž›cŽËæá?àäÑ+ ñ-3Í#™J{€úÀd+k¬ÿ܅Ͼ”xºëØ}nŠÉðï~â€{¼ekÉ‚àýû¶,¹î¿^ªB²^«£ÅFˆ»ÎxÛµL?Õø×]/TEeŸËA{\[÷Ó'uñQxÚ‡E][q\®ŒÍ,£ÄZY:WØèŠŠc æÛ×óî ÍxŒ|D4«é¢vgnĦ9É]ZþgXý›QÎ8òþ†(d {ZA, óŒËÛ¢jø@”«wÒì4ðb…t”(îab4°§ÿdDÔ—°M{'EÓ× õRö'Ê_5Bà œñ'*Än^\>¦²†£Cаf}·“œÙ3NËúªM8/@Ÿ/oaóV—úÃÎ3dƒ‰~$GhJcdnV¤êÆK5’DÙÌd¾ö„_·°ïaN\Þ}‘åU™E Ä^šÆÑýéáL'SrJRºÂ™‚‡ÄkØk¦çx×ÿ}M‹YP¥X`jÖ•îgÏ mQí ¹QZo +ž$øL¶O%ù‰íUD'‹®°‡Åq#ÿ ù*Ài˜ð±ãòP¼ 8ÍgâÞZÝ©orÅ2$>7/¯ÝH†×RO»©bׯ ±WŸÓ =` }ð­QE†HÓö8±qŠ::e^.¹ï÷È6|?‹ÏW$Èc.èÍAãûmHaÌ8ßÈúóÇ(Vô9ì,N5@ƒ­^_f9.Áo=†m«™Aßy>×á¬`…Í›FËãUL„Œ£y”³k÷Š·¼ŸäU¼ðPÿ«s¼¾`ØüÖŒ¿»tÙÓWyohe 0Œ™"6(Àe¼!˜~?ë ,Œ„ã ѸΈ"Øü$h¤.æ‡ß0©$Òò& bX\#8 ¼Øw·!p.“ow‰ƒ‚AÎ`Cš’þ£wô”¢Î VUó1z ‰Œ ê03hrS®~Lh2ÕÝN+çh^è+À”š®@_Ň~ˆ:(·Ô"\ºß›uÌOH1úí”3ÊŇÊð*ë.­ð´“^S*¼_pìa«¶tófBͱ|ð?[濪žd7Ïn9ielÙ_Wã{JLÍ( £·¯ý:84¡=åw]Ë‹þ Ó9Á'aÁŒ9ؼ¬¤‹=ê^úä‰çB¤ÅŸeÔM¤"ÿÎB4‚ 1ŽdxÏ ±¤á”aÉ´ÐuNƒê±à—úz֮왪`„ú-|©Éö.Eý6¿+Èãù=æýî©Cì.½f%Jcm^X•¢wT¿~Ci¼èG"äu©\“º¿¯…œÜ~+|D;ØÜ¢iå ‰¿okψª—¯}¬¥Ä»O¸A2]§¹¦‰ \PÏ)X„ uIP/Z,£{o­'0õ˜•@²¶¼{9ûR¨èG˜ úkñÞF[3ÈïÔÊé_ñ¯< >ÏÂ9£&ÿ “‚Ëÿ:ôç'JлYEdJGÊáë¹¼wÍVÅ_j5¼ðUÐw–Ó8P ·é9Îcˆ½.Ý ÑÓÑzг³ ÿ+$fî[øzÉZÊ¡ÖH\ó‡=Ôåñ•ɨ5J؇Àí dGê~”#§Jàkáæ6Ñ-Ä¡(¸‡7B)ùH¹¼›#HÀ§ á'×=•ʱ¹¤¿Í’]›9]ãÝá<3gXÝÔp²v_}8”>5—k›H¼«hÅ>ãÆê+2XÀ¬~T=ªH)}ùË~,vÝV5 ÷Ç“Vœ­e&!!;Ô¸D4µ7áºò"Ìu$“¥‡`]ÊHîÖ½úF+1ØU‹ìí´Ñù͈ÉX œp²~ó™V­ÍŽ>–a“¬b›D ÍyFàk½²i5°¥TåYý:=oˆ¾RÄp’—ý¢â-fûåH€ƒfSƒ¢>ÚÃ7Ù¼l®Lú K×]>#¸TWÞ¦È VêùvgªqÙ3VÂ*mnqñW~ñ"Ê+3 #Rã=0µ~PÁµ¶–¨àJ½ÈDÈ*rÅ:]]êWOF“ù5½›p:âÍš.È„ÇáùÖ\!ZçTèÒ#yãÉí+Õ®š%Ú.h¼³øä°DÔõqY=r.ÿ2IV "_ï¿¥°*ç«9{̘äÏ—vC§<3—N-9pTrÓ°b–«â’öK~j±ŒbaÒYn_Þø¶ù¢n‚ ˆrÈÇ&&1¤×olšÕæŠP‹Ón›oç`åz ñ&ˆÏ°q£¿¾ èt¸6—{V@óW9ÔKŒ5uÒèlVØÖk'‘\ÿ·ÕÍ›‘Š÷Yèà¹ØÎGJmËG)û+œ„¨7¨Ð†©"®ä­M!+òkj§¾2vF7&Â'·±¬s{Ld‰ÄB÷å“Ħ‹Ñ âû<ëu üNÀ2ŸÏ¿v¨Vóß qg‚óû±^àXa ð¤]SÏÙiG!Ef‡jû<Ê%•iã‹ð™æ²X¸ ´å‹×Ç sE.…\É—q=ê–’Zx!.~èìT.4gü]ñÇï\$öAl2Ac´ÃKLØVʃnSs ÐÒ}„eIM¹.w°Žªæ›…xx­ÎC0<ËšD Æé’¹°^¬ñˆœ‚¸ [ánšw6ùW1—þ(íùœ8Ôö%û!u¯My‡šMM³ž¬ÝZ’oqÈ–yA‡ 9DZþgAFä‚Z!eòíîo#0Ì oNÎâRø·q%„Ã|jsºÞ¶lI²;ÃO1#žIÖD*H”ÛQËMžl0†þ^§óÁº"œr/<Œ~ÉÒà0¼Àe?5ŒAçÐW×ÕeÒCð|f Ã`*§H÷™ÐnÈú†7Ò^ᡸíîŸdBÕeËÀ¥§´°|E×Á'=ÆeŸI¿ÊæVåB­— êt‰‰ˆWAJ`ou\Àb·jGhs5¤©Û«è÷tL_åY) À2-јïè–ŸFˆ¶/è”#̾p‘Tÿ‹„§'Œæ—c°òÉiÆR–c ô;‰—GU“â)Z)YÑNTÝT *éí{^| m›ÁÈØáë0PЕAwT-=J'ÛâOäxº¾°#ÓaF¬œ÷0$n÷ ¥¢9Ðζ%qþ*„›áoʆÏ>ÀÇCÛÜ8°Ã}+óì»ú¿DwªþÜ„i8.ÌaaöaST ‚|Ìõªç®ç”>®_sñpãuá>£¼¡»šB5¹?91Ü …Y¢E!.'mXÙ:Qô]þ0°q^¶=£vqHN5‹ÅpçÏÓÎ/¶æOœV~Y˜ÈmÓQ$§AäÍ“ 'ù2øZÕ?9³~¶æ ²ã–4®Š!–&4ŽÅ)o]ÉA#‚Æ^j4Ù…8 z…ŒžÝUÏ\1ŽéïþìL 03Üdµ–;Æ›K1Ÿ–dK¥:*ÂÆUþùóü"ÏA÷irw›ªp wéj&DÒཾãŸEN¶èhÂK À¥$Fk€ý‚¾u%µØw·Â0ÊÝ[ùÉÅÎ{‚¥!´î:¥ £וfÃøÇLqºÇ7ÑlòYa ç-#9HÜε¹¦þi¯Œ u'+ÔQŒú ŽÄ“ü‡Ý6)Óxί‡j«érañ6du Gd̦%g¬>‘4î—ãóШ÷gA:ÃiØï¼Ï2àc™­< Bue)µÆÐDȾKá±I‘,lBδ{Q÷'ÂBeV,»fMLª>UϦ&x‡wH}½¹\¹ZaŸ²“— T¾Úvà[frÄöì~X]Í+:<Ÿ:º»1øç¬þ=áá°žjh•Ÿ oªŸC¹š-Ÿ6‹¹Jc˜%cK޲PäÙž½ŠH˜jþ6ÂX †“%ö÷ÇKˆÉY2Þñœ Æd&C)0ñ-M>¢Ðˆ²õ4Ч°P­ý*“”üòà>âŒ:NrÚ.ŠÏêRGŸ»>OêK=¡@ȧo7ð5!hÕg†ÔNPK:L´ÔqOÐV²`(×Z tÂ.<ÔMòQ©°Ãp3Ýy[²ë×+×ÙÒ×^£*ó0×A}›Èñ¸¬9ã¥'|é凛åSC·#yëài„Á(…Ä*µè¸¿Š ¥G*w v¨wYh–XÇ¢J„iNììwÇĪ¤Èƒÿ ¯GËv"lüþ­CÄÃcÂpœÙG…Z8?Ú\‹µœìª*¶–îVIŒ£vtÛQ¦·Á À]ÄSóü© F£Ì ¸èµbˆôÁ%9@çŒÝ1‘’ïPDòœ¾ÁžÑM4[ú3µFµKÈ ÕÜ¥û‘™xCQêäØíçÊëmš÷éýTßÂ÷¤²…‚ä™#Æ5¶SUMT)Ç¿ÑRDƛ՞1læ°ä’¡½6ôÚÒ°î4F7Ùü\%÷p^Ê´Ñhv¿50>àAœ7Œf+Š ²s.häÖ3Þl¤{“rè%õ“Qí°Öö!e‰EºG{b¿°ü…N–`DY‰Ø °€Ú]0(ùð8'&ÑÌ¢/ª.tòö²ÌѺ€t§¨ §~£mËaõã^²¬»2Ÿf%ŠG`aú’è á,ÎúÑ}8nÙ°¥™¤,£6²áÁzâàºÓJ˜¤Ø‡óÇ’_$Ü¡Vþ„,¼õìî6¹ÊçhéR²ºœ€À9RTaW–œFTæW›Ä” ´ÔFËéeÄÀê}•—­±n™Ëª˜´Ê²tsšKŠæô…t5J^+Óç›4£°AÊ"Ê‹ñõ\OCØv§˜eZ„D¦*ñ·Õ`4d›Íž’«ÓfôkŽ©šSSܨ5Y­{)`ó®~K9°ËIÄ­›{âZG›»¬óX‡<¼Ëd-„AA“99HÿÍ)mÐí·Áׯ¼²0ÿ©NÒüÀgüTЍj×~5 š0™3ÙOÞƒ®]ެ«¶öâ{…{¸Gýb@Ïæk%frº°Áz€ûoÚ„YŒ^/ßè¹nÍoŽ˜es<¡©_ͧB ¶«2(þ£Ò+#ô·F"Ùî’½§žM¯ÞŠñ{Jâ­ÅèÿÜ„ ‹[ÝK‹"È‹ ÓèÊpFFM.an÷?¯ yrœ’ÑX/ÈSý%{¹èÛÜ'“ºqŒää ±Ê&Q?](?ñ£&Îqôñ¤d_Ê7Ú•OÔÖÛähw¢~„|ÎÆËÞäˆåÔ ›ÍdˆíeŲÏcäÙvr¸ç%rî ˜E`½rqÙü¦˜”ö3ïkº Ý~"mr•RA…Rìz°Äbé$I‡ØU*݇lÓNF®%ráqŸ}{ïOõ"û3E®iT:ÞX9Õ£õ™pmñ á\ËÂã£2âO¾¸PºlN« b„Þ×u^Ñ)‚Z«6m†a†{Ûœº·Šò_œßåRýÌgÐ<îLg)ª*‰ó’ºñtŽßÜk0WRU©*´iHsä= Y®Ž Á«_y»Ž·JLxÞíg€—ç@¶Çœ¿ÌÂW4„ɧë1–¶ÿkD¬,çŸù½H/5rôÓ0Ò‘Ñ’ìò!G‡BÖ9šs›úCuZ ø¨<¶³­Z¡Øg㯸i•úñÇ^þ±¬auÆóýZnHHfg8ëN›=£XRŒuö¥.ÈßÖ£ì1ê†èzÍ1’È3ž]V&,}Åp!úÄ´~!ìÎV·È¢½'íØ"Æ`æ¶µeA¢„Ì…ßõA2EZÒé¥cçhPw“á§̉êFdld7àJÀn."(ׄ臂DÊž(ËãƒÄ(•Wö$ Ã÷-¿Îh yIõo qÓ?Ü—hcÿ ¬ƒûSódÚü]kèÀðõvåå¶e3gÕ%¸ÛÿBû’@-Kö:8XSsâmOœù•||¥ê ¢S&Ëi¦Ã¢/Ïv‚/¯ND:ø…JÜ–žq|‰T+ [xNøû)gNUÏ\5û©åòm£¿Öñ¨ãX^(ùŠùÕÃ9MÍ¿3&@š(Ð× ÍÀ}/€÷¢¥ª™ðWPa€±lyÛlY©  He'pµŠh‘ÈsM«v’îÕ‰8uPª©±úp˜ÖØî~¹4&Ô-é¡ý£z»›É9(Š3l8¯/½º·bº¸G°¡Eù)¡UFŒû3ܺíò¾Ìà’zéøm7ÿšÍ#Örëö\ÐIǽˎKqG2Ÿ r,èqÁ í½ 0]¼MßÖ)vä/ð…(¾b¯Á—šø¡®ycÉÛåIòðïž”4ú9}b  ·†RÐã/7XÒéO³jM öêEôÛ2“)jkfP2SËU¡Æšá»ùÐg5˜•±$N:Y…: šmlYíVnÉ‘ =ÙEœ/nOÑãlEúw¤åöHã/¿àh!´¡S—²Þñ:OöÍ{½†$éÚ)ÃÆ/»{æh¥Ã³ÓÚL[Ç)›?Œ9FýÝõôGE™/•Ãf rÛö!¬Ö2˜ý4¿ÖßÖ¥hã ˜v@‚Ñôóªhƒ\»®b«z8f?ˆ0’6ðΪ¦Ø+ô—ÿrp9ãòŽ)åÝ'¹˜pje}¹ÓOt–úc)3æE»Q?¨š»3¶ß ¹+ŒÜP'-ë+hˆg4¶[&—åqº‚ ퟖ#iAõUðÜ× Ëº_ÉÔHú7~m/ˆ#"%p„…:(L h&YESû5ºIX^.©<ݾ¶-yò,†pLÀ§kA’þÃqÌ,R’Š)Y›çQéØñߣ¶@'²ð—Gµîj‚$Diåñ*Ec=–šÉÇ ­çhª‹8ÞÛé¯ ïAÖŸ®^+ªÿ2IÌg»ÿñ¤‰´‹‡ZMŸÇ5YÉ~VÎHM«ÝùSÑ’ªa…òaMm`7A‚X Q VP1¡!¸âàÄwñko&ã¨ðy¨D‹šþóÄö/q9|.f„)»rv›æv9Û–Dµ4èH6ÑzT(‰ôõÁD@ÇÒvfulBsº&™42fX‡ª2ª¬yüU‚<ÞfAXë©ÈT§è¬OÊ$ƒKÇ2$iŸFfoŸSÈs±Ë V+³ ×=ÊÉIœ88² Öë»LíIFÕ£tþa}¼7à }0êEjC«M1­ŒÀpGÅü} ¼ — AÇí¾›ÙeýÈ7¹…{%ª9•N2ªtÚW5 BíôØ[÷D#ø¥ØÁaÈ^kŠ=”O­*=F£“3Gøˆ^vIŠIÛåÒ¤­\ qVr2(ëN¼ÍÍfß³j—ê1çÕÿ‰cc¸`FŽŸÍüÔjµÂ™´Eø¼!r=Z›Ú®Æv3$§k-§~¬ÃiHñO0§‰«E*¥‰KvŽø«^aùaÑ$¹gf¿ÚëÁÚí_[S¦.íÏ©¥7pI·þEþÃG(Çþ箬㇕*ƒÐ2ãõ§âsš]X:OžD¹Ä®—¾éÁ¢Z° A½Žj!^ê¹4Íæq÷Ï 2Aµá˜Sþ/}ø¹ê”ª›B­Ò2í X{˜‚þÈØ'˜ã93MTs2 鯔sÞ iÈ]…­‘¾^;[¤þIïÜÜ=k;Q¿’È•·§XÚØû§%×Ñ€€ä§}B™)ÌÊ%ƒÁ÷hs?ßMÖ 4@:/…Ê'(Δ”Í¥Ò •µ%z ®ãŽú‘òþ¹!Fâ>Õºµ°C¦QGÞèÿ¿Å\2pã) Ũ÷1«û1¿ÿ·nóGd²•5KùƆE4´Ò•Ò2…Å„xòݨì?îffü—ÅKØîZèæ¢“¾`ç¸=W†vÊ੨4Âê×+É eG‡[ݺ­Å'ɶûÜ$˜µÃpºôr&1î[g¸ÀmЉë¸2ÿ>d–ÌéJÊnl•ó±*ÛKíàÚðKt³ô†µÄ¶û»1¶Œ%X¦Ô{Ó»¦ >òéZ©–,éê=°|Ú/Ö•¹M O ~¥p®ÊoíT¾) ÃyÒßoÇ™“væØì;FÌ#{"4œ Ëö†÷Ö!êYÖáÅŒœØX8Bˆ:ÜÖ“â¾ß̃8nýÓŽþ¡Ò-ÜÂ$_ßú§`-n[0¥(kÛ{½Dšs¢(À;õ£x 1‡TpçYi`Ýï™k„0t…T^îpNç‹`•ÎUq ÔØºdÉŸ$PÊð¯Úý­íÅ=ëX%F"tÅldçHB‚O;W¯)t~ë^¿`v÷ìœ.«¦™€ÓH€x—ì 'öj®‹r‹"Q¦ä¿#_0¦Ôpl£û‰öýb"tª) ©¾+Ͱ1/ Í¡Ö:á0ÏB‚™°$ޝñ[¸Ã8=¨6„¯õ5;õí“NÚZò/åê!:Èn=}ßÒîGÉíÍrÄSà´yÜ£‘‡µIè¿ð Ô·Ó$ß~Á#Üëû_%©å£¹Œ€`í ¹3~ôM¾î-!neL9鼜þ"hÁØà\!À ­cJWl•8‘™f›#ÓúÆ…“›¾ÈÙ`¨´²I=ç‚BYÅ>Œ“G:üãŽöÍøùÅ‘z·.x®³žÓçå‰)4³^‘ÚRAYÆ öE^ItŽÆB,‚¤ÂmPi&§ÞYâb›Å\Hn(Ò2EgQàùç’"Ý,–åH`îóyöá¹ÆõGï/¤>UÀ0AW+æü º­¢@»ÈÜ£”M»3ëkf:°¿ÚR•Ÿt¼™“*>dMåÉëÈÆ;"^¦»•xëÕUÛv4íSeO&ÝÂé\c¢ŠjÞdÞ’Ë[ä[<ºýS›ºï¼óÔ&¾sÉ7KÈ|U4œù¿ †œÆ’±›s "úò¢g '0¼M~p/Ì×CîTºµÌ%ÙV`÷M˜×Õ¾È2:ð›çËpÚ ?üH6ÈÒýHÈ-‘Dp QÏÝ•÷Ó?³#oïs¤ÅÑ9qÜ_Oç ­–;¸õzu#Å­P„·Y?[•.¹ë;©‹•ê13Ëùf ”‡Îû6UÔ¿µÍ¨ÊO®[¸}žkÙÀ;á´«‚\RWuíqÁ uëð#gõsƒŸôXð €_ ¤Áð=ß–å¡  ½œ¥Cp§*9•ÅÌÓ;Vz—ýAäˆè·cú¡]an@—G¢W†¥lˆ^úâ®¶ƒOFî†À9šf ßKth©¶82OÓ {l°\ñóÌ#ƒ—©ïzØ<3åÖó ƒ‚âW‡§Ç£Þ]¢C$G0¯XÈ  x,IÊ%ò‹g7åéS&¦V5†>ó\iiýªóÏd¾ïiw.·Ú7"Ô!’Ž+nyw¸Éµ¿±¨%äÛ|ï–Wi0K1ùGÁô‘“! Æ ý50#Äâ— Ö—–©¡yN"~Îþ„*Ê/Q&ÓeÒWÁ7gnxœ›>×ÜØ`žÐg` ãÄœàòQqˆn«ËNw²_²VÍ—Aëy)õ>‰6ì;wîꋆGèË0¿dêÏ*ËÐç1Ñ,‚gòzªlÔ̱9&cñ#ÿÈñ"’IØò…ù5Æø^ð8,zÕ‰~PK¶KC.|·Í‰m£ Û³tʇ5£ôÚS 8S{kEKzXr +#d&>q9šþ"ώГl†™¿\Eäö;fSdäÝt£’Ù£p€oŠŠ}WPè@—`‡¥Èë’/Ÿ€/‰h.ÅD οxò`l›aÏg|LÝÄ+nößõƒÅ›§–ÛéAþîT磌ÍbÕÿduŒc{1j'e¿HÉ'&šÏ}GZ\r[j"‡Bz÷ÕKTë¡SE3&7mS1ðÇP[Õ´: Ð'H&wYÓ$¹­fZÙsÊüߨ¦ ½ÌðÔŠò´zªÓOoT©O¹ „+5šÀ{ó=Ó~‚BBVkôìßDì+oÁVÈžÆËH5ÿÁ&H]m +q;—§×¼08Nð=ø¨ŸÏ¸¾…ÝW çPe&ë:£³IÕ[Z_Ë³š­ “wM£§†ÿ„ npáRóÕ—^©2Ú5Ô”KàCÎöÊű`6ÑZ©ÿv²dÝ.­x ­lfÚ 2wô±úåÊ ²Ì~ì7ÐXÛ)´R[Ô©š¡éû–_Ï€ëI²<Ú:s¬)[ªD–™ t…ÿôXêwbÙØ¡°)/ vnÞÝ`2’yo•ctUŠska©»“…mH½I:}ó VAG‹"ÇËïÆ”}%ç‰MuŒææ÷HW=Û$„n)`¡ùd¨X‘‘+?ÙdSyz%¯róD …ƒnçCåž2Þ’µH÷ øÞÇ7«QÒ8{° ×‚—þñû¤a_\r^òú•‰ ð9:•°¦yM*ÊïäÀ‘JhB8æØ“z?ì ÷söš¤Ûp¸Tn¨3w’àækò1Ê/TÂÛƒSæ¨û™Éüñ4þ–9ï2òNa¢ØžÚ™Ÿ<¶nzŠÖÂîñ¤ˆ=¦¡À; ‰jŒœ½ƒ ¡#%%¡¤žzõÎ<Ž`Ÿ¾7C>øº|&ñV?\hÿ”P"t( d­ãà ÓP¹·%¼7f0Ü]ý›ÌRÈÃ1Šn™®àÔ˜”ȼWÃ*,ì2Có^v‰Š”†®ÍМ–a•œåu»¾¼ÅaåÆIèô¶uÄפ¥I¡Û°ÛêÍEÝŽZÛç^€Qâ„J|)çÁ‡]°[z¨WCÇ 6þAæ·|ÛâùÙúÒl­Ê6Á óü˜ÖØ_e :ƒ‰\³Ý§·½‰Á•H¡ '· æo•û*bß…„©H–çLuV_§"·9Y‘›âuX–ÊY{ªê¡j{±?¦ÈÞU­N.ôZZý“~Z`npL^`Mú:~IœÞÍ  ucdˆøïv êћđz%äY4\ƒ¹>•߯¼%tü9Ùý€¬²Gý[kZÌ.t`=e…ºìY¹×“‡ÜHe+š‡…;ùÿk¸L v?¥þÒ·Ô§·úšè±ð}Ê„r25—0àÖ_ár5Ë©È-óéÓío잘CTŸ Æ5Å/ݺÃ(IkCÂHˆ¿¡j¿5)ÝÆOpßFcÕÝ­íE²1û$Så2Ö5JüMY(ëÀ¾7·s>÷¡_pÎó÷q)“S®eÈ(Õ? žFè¥Ò½i0æ‘ÙÌ1.#Á;+,UhÈxS(w&¤ö¢¨IÀ–ˆnõ£lƒ5æØP6™1GŠˆæðC¥Ü×;ÆL F2^rÖÆ˜M¹éòïW V„]¨ ¡äÀ ð#0S/ùõ)ŠjÃã0 !öP¶=¾éˆ' ãâÎ4Gã uýS»gèaµÝAˆdÞœA˦ҔÌúvåB‹fªU©@Š ÂEu-ÙÕ.©ˆ®@~†5ðgìÖ†ê$¶”.ðjйûäE!ÉÕ3¶ìbØ|mAøP3¯bÛ࣬Q¿ðŒ¨¨LÖò:ãÉÇ0Ê¥QÌFÍÏ:÷øØìš.S¥íðuפ_öéT]¡ÿ²ap[vಌ ³‚̘¸“3*;!>–¥‹ ó;Nºœ¸/¢©ôk!±rsåúa(­¦· M¶׌†>ØÅ¶ÄBiE2ä)5»vi ñÛE‰Õ&äfËõ2×Á Kü;¤8Öjô±IO§•ë <-Í$ƒIÙÎp‘ßfirÂÃ̪g|¢Qº/Nº76ug EƒÈŠº³z„Òž3æ:„†(>T'’ʾ·ù)2Ýryùêt§ô騸¼©~h#Ûzô™ŠÛ¤Üßyº¥â„a(6)L É= ¢[m‡½+g}âf\OBw˜¨J!âA¨ÂRÛB¢>!(ÛàÈ=òâ¿Îc“l¨#è~˜[xµb$æÄ±u)›Ìà%b äh³ XíÕ(«òÚ÷uuú Ë@öòeÈo•AbÕw®î¡£;Å|Œ›|X°_hLú’{÷Pž”·ÚÃ?Ô~Lö¿â*x“sæ;°!øéÍêý…š/GÄr¥ªûº?ÂÝeöc»å™Ð®42©¸Ø(Üãñ>änòÃ.eólû§»•EÆ£ÉÉL$Ô6AÀ¨PÔ'(Øþ„§‘•RF…ì 7Š~W®ý¬õ–03&8r­>ñㆠ,zÕ›éà(è‘}>ö3Nˆ•»•À1h@¬êad=’!­ßsbæÏ*}«âXŽ{nrIªZio]R[#2ÁS7ä1×vnJmaä_'±ËÄy0Œ;U›óR*³ Í„Ruã¯R§ÝoŸáºE™ƒ‡Ot ã×d®ñg ÕMmY³ðˆšìš#)1u@ ÐÑáõmuÓ¦{÷v?7 ÔîŠm°O™ª7«Çü,8ïz%ùGO9 ØñŠ®¯»ù?›¬Z*4÷Ö":¥¼ec¾ÓTx„и.lŸë0tÿñÊ-¿¯®v½µ¥Sx„p£`QK‡D@‚VÓÒvS ›z3 È”ÚÓØÔ¢¹íÍŽPg&±•áJ„é7Ѓ›ð®ÚwžÇÌbÊm«¡;“ÛŸ«¥"4—8Mv}4!Çy8ÓÁÒ“U˜¿U1t&'Ôâ{çÑ»K Û‘ŒufÀr~ ʼ·‡åÝ'T9E®ïÔç¤ œŒ|šô'¶,Dmã€a+kÒpŒãušÞÞèxkÊä‹?\ràÔ"IÛ¨>SgÌÀߦËÇPÚÁ¶»°[f@’8ˆ3dæÆð”Fà 2µ=ÏžÆ(gçæ E4<³­p¬Ò]ÿ°2E– ³‡2Æ%cîiFìn€Ú|b-ÙìÖz{Âܨ³ü®Q£¾tÂwBO†¸«{B$§yI°¿DˆÖP ¯|iKΕ#ãȶ¡%ó⦗(ß(܇‡ìiͤá¼5ýÁúý¢6RŽþî8±4hÞHÍÚ½²¢õ¤…Ì"’ÚL%õ~TåÔ«wÄÒ¥ ÊÃõ[rCC]&üQÜ?åÂãQŰf25!Ñðî´2ѬLB}ÔsYðšýP ¯¹JSmYÎåˆÄ–ésÿ˜† ¦&üUy= 3¬6þ Ý¸frå H]QuÍ=Á޶ˆÁöC5„!LÀȪ8îñ,‚"‡M-óÍÊ3ìÉۆɣa–'C®XUhqžÄ‡˜QmÎËžwÉùÅU× µ[ye”¦ã‹òÐL‘Û"0Ät~0’¨nwÅZ™·=æŽuWÖˆù¢€®àp!¼)m¡()N n~òª`t·ùÁÜtqϱâý„Z³ÂÛwK?5»Ùzß½ì'Ú¢!!F˜Î$JÌ^J{<÷¢?}.ùPX&p*:¶Øx–J.5éVRÚÆ]+•Rc¯t[ èDß©£ÙÙ䮤ó8òÓÚÐ4஺2Bò~Þ„DÌúÉFÛC«ô€<¨UVn¬bG/Aªóò[yY‰šR\ëuâ»ó¦§*>7íz¼Ÿs1ÛÁ@fÆ[)SŸ†Ä×°W!\mˆ?ŽïûhàÅRºð@: éNz IO¸lÞ3¦ÈèvÂ=H´y7¨2"+«>bIËÊðô>ImFG©ð--Î ›{ùßtnù'↧0Œ»¹i¦ÂÞ¬ÔøLìw!Õr°zLO€!˜å‹©M´%Èž†ý¿ñî2íóL1åáZŒ7S³» °êox¿L²öÄ s]éÇòlV‡ IŸIðg¥!–§T‘xAª›îe—HOô/´ƒ ¡ŠÚ^±´R]4å¼4°ŸTüUa=bAâC1ÎcÔª UsÐ šñ¢ST°µvϸ5=ðïŽ÷®q|^¸PÖRP8½Y,€†Ý˜5[¥ÐÁ“çßÛ™ù¢7Áø!ÌiÀae»?eßÙ„«Ç<ó‹Ms MØ'Pã`‹?|*ÿ¢: _1yÑšhàˆo1@ñ`â¸,†æíß;gWƒÈÇÛöT¯±ÛP€ºÒkAhu+úsPmõsCðÓÞ꘧çü¬Tç±Õx@ºcVôtOÙûmg@Èš ‡8O¾‘þZ;VÝ| ±/0.֚艚ÇxÿwÃBWy=Ôõà›ðO‹¬d¯†àã¹#ò~à1OÌEMG-§l´¡ÒÓú±ÀŒÈ¾TåÖÆè8ø”©˜p‚ï9ü>æœYMìú}ÉI",8tÇ€&em.­ÕØ™pm1‚õþSc»‰¤xŠYX¥0q:ü0ókþ&Ówh»ö)?åóœþ~Õfm4"/@ÐVÔ¡v…ž^[Ñ7R9Š®`ÔqdžÅëû¢ ôœ•W’YAqÕØìJ?ÎÙ£ ês‘0²XàÙV¨)ÝšÃTXwþ „}$’7ÚV!îr}ˆ„R6¿Ô¡#0zi a}>±¯â¦—=ö[!üÛKjÁ<´(y1`|‚——AãQÿ:õ‡˜©Æ}€ï! ‰Ç¶ß>ôhžÛßÃWG~Mv!¹ì||ô`ºÏ ôÜŸFÄOXPhS+’h¤Råº,âQ3W­Þhä$çf`¦ÀçºÇ˜;J¡ÇãôúÙ/»ž17‚x´‡ÆÖ¡Úˆª¶çïþ¦5-h[i(„:€Tt8yñÂÖy33¿ª 9Æf–¾Ã¼Êò T‡8M6Z»ÐS° 냧9¸‹êîÈ)R¢Ì¿äõ:9Ñl·‘¦b8D¯? °Y•Â&S^¯¦.÷‡ik7¼_ š™}»:ŒËW'ûCí ÊêõúÁÀ'ô«yt“óË–Ÿd™“ë̃%Æì>z[4܈³´à–P 6úÚÙP €2‹KHRQëxÜ!ß—Cï+±>°-ùššôsÊ7Éþûâ¹èw³PÐÄ"7TõÊ’IöGdPÖ Ù€£–1nË&«+Š?)g¦µêè=`뱿< 3³ ùÙ0ò è k2àÿ»ž<ħ´ƒ¹MRZö#;2d7{û_Ø#¬^ø>įۑä-ÖŽÜ=r˜MŦÜÓ𼞫Ù“úæ,–Ù_N3±Þ_È|z m­&Ë^Ð^S,×êuÉ“™âœåñËÀ0x¢'bÿ~ ®“EÇÐ"dŽÌ¼YLìÿN€Ÿ!yˆYFhÄØ–ˆŸØkPJ5™OÌ­‡~oמò>M ¹No2ê•MçÚ‘«¾« 3—ׯõXJ)ªÀC$ñV=à`{_-U»¾Êæ·o«¼ áoO<«yF‡»öϨƂ•ö Œ=µ/=2IºÛê½éλ2¨âQ䉮‚ƲÔz§9g´Æ[‚CúQ„6ê!tÍFc„ÿß¾‹M?€ìåÙÎh½fé­õŒ2D'oB½ñônÔe§ûØøXýõ CÒ°ìùVøäk‰a€púûLvè¾õ–MÊÞ,Ï<údvÐb„‹5`C\` >©++mfæ˜,i1 zP‡³I`ꔘ¾ŽÒ)ûž,ã ~¼²¡%Í9{¬>qÇ属ÛlG©û€UÏïx:٦Éòùï?{82vÞêM^¨“…ÈѨÜAå7yõF¾ì4Å‹¦c¿’càonZÚÍ+S¦8Gƒýótô\tßóÁG«¸&d^åtsçÆ–:´nç‡uz&g+©BN¯˜¬p‡’´]ÎA”aîTeF¬ù$pÃá@UvSEõ·àG‘#×Á›皀¶4…BnsÛ¬Åm»à?êm˜|—ŠG`õFSòÕw×\"pq‚Sbl6(^U“â;i¡«i!ûäø‡» ±Á%OÝŸ†hºBôÌlFGFÚ…¦“)–y’Ó_âÎ:Öã½`aÅ÷ÏùéRô Ïîó,ãîIŶé±+ G×ɘWzhû m¿®r©ÊxÀ§÷ü%Öµ|rMQêU;P×[ü8Ò¸Ž±ªôÓÉä>“gžL÷TʹSä£GYüÃ.Žì’âÊí¹Íݶ&—Z¤Ž‹3#ÔŽBÑp›Î1’§ùyæ¡${ ”Þ¯å½ÿz$ÝŒ×Z.¥ʶ¼gθµ.ˆœÑ•㒤뚉C`†cår†¯™˜c—îC0:³¦ªDp3pû°ÊëyÈuFmâÆÃq{¢†@5ý׸*¢§Z ioÐê}8Ž~…h —¡è§ÚÙƒ.˜o¸Ó@Ïv®Ù†?Üé>jFhÌú®l§ÅiþÙÇü ²( ”·Fº•.¾Œ§-p†º6{‚à;ÐÆ rç(E”9jƼ×ñ ª4'ˆ\ýß=çÈ>I'¢YÎÁä2òP1„¥À¯å1-‘57bì#¶$že\÷ÓAUm™G-½*Håé"S*NAâåp€É€%²Ì®¶ÚUâ¦_ÿÉI3ÛÙÄfþÓd"×ñO²šÓ©ý@oõùíñ–㥥–®¯­k³ª‡911ù;ˆû¦ÎÎ×®ö1~¯9ºéì¼?|ñRÛïœh ަœdnÞClËZ MºyŒŒ€µ%¾nÙ›Ÿó³ú¸ä2Æ›u®ð°kȉH¶“}yªúõ· È ›ÙJACx|´Ï¦ômñQV~©(ܵ››|²®ô‡P©CMüjÓx؃0~f¨á iH¾øÁ,»ä(üBE:CZ“ ÓHŠ«XÖ© »ƒM¥E!š^b}c=Xêy6s‚E¯†PHÒ®FgÇHžŽl’×Q ×ÚbC·ñÛôÀóã )àéîø<‚X©¸8È!92_îæl0¤/Ž“l²*‚:`É/q½µƒ°7ë!p5´ÏR#uæÉF øÞÏÕ3XBC‡žw| ·>º˜½‰·mp^™b{F´d *¶»-Õïêq¯©îKYÌõP­2É3Ë¿g—ÝäÌÆâÊHkZïw >É}—4ök“0¤—€¹#² }&5+ÇRno½ ÑÙ‡ˆ¶¦á_ÿ½Úó«¡8b×1LòQŒq2ŸÕäËjø¦b§†W/Ðc(ÿ·13$DÊá÷ Ì9K»«ØÔ§eõ7lEËxäðim¡¼¼)Ý-¢•МˆÎ’k*Áv Pet=Í|0Ý¡5nø‚^·‹™¤ÄiqèmžJ˜)çJï‚îm9û®[öéqÚ£¾žˆ0Äz•àùx‚>Ú?‘*7˜Ë=€©š×\ò^ñA«É%÷žYÛw'½W^‚ŽW'@Û^ƒîÁ2°ch—ZD¤zË]PqéF¡¶#¬¯þxz«¿áw„!ðLšFÄãe˜9¢2W3Ȇáoe„ø*ÐuÒ]å­Øvæ$­=˜=„îÍÚ!õ ÇŸÎJdR${,ä1âÅâ¼+­x‰Y0ª›J°hÝ#`ì{ñS—stP*DTÈswZðXk”Z$$ahóûú7Ô:LBEz~N`Úož›3îè6Ž-4?ŒìBšgPy{vºïÖL7µºÃ>º½aŽÌ÷3Zõ*«©PÚÅM >Ýôð¹ ®âiåº1(ÉìM%y««ú¼‡Xg‡w‚¼<™ªÏu%õÃæ™A·‰í¾ZôÒ埻i »ìÀØ–‹lMð‰Äñ6´õo_KE0e÷émt…² È=Wñì}²V¼š0oHZ_O©’OÈn6qCD Š>Ü%Õœßí]ʈ ѳ·qÂB/{Vý )žÞ‹ç¡¥"·&£a9ñv5'}ŽÄ{¸«¾„U‘ãûËð«¿RœOŒû%D²Ip•ƒHS35ùáO’ TòC‚$êŽî—û+û-ìkm6…µDœ¦cîÇ¸ÈÆ¦„qò˜>zé €£а‚œ˜ªR9ù%{‘6²§iõtòËeíÔë”wËïÍ@ès½<µª"¯hJÏÛÙ>~vú5&wUK¤c^5JMã¿f¤2;’xæáƒºGöJ°Ùf ÆÕÌXjÚY𾆠v)g‹M=Ÿ*vʶyÝ^ù¾›àU.?«Ä (Öz±2"iøÙd ­XŽ- il^~ÛݯÃÂ3 CBj²¯Q(¦¾Ú|ÎBÊ!ÀC0h=¶K‹·Öð§{Ä‚Äë,zsS"t¢:€œK&œ%he}!ß{Ó+–.Vãk JœËðGóf!V$#þÇ"×ɧ3º€JnµöÏî9ÙPî5`¹ºð£$Op§ðÖí•bò¶k&Dÿr¿ÌuÉž^êwj‰`‹¦_Sû^Œ{míN©Y£½cgê@ÊΞcìëŸÀ ,\ˆªsÂÙטsXDL,¾¢Ž££\(†d!<\øááä:¢%oW^Bòz!‹ÀtƒöߊZ*£í)ÎÆäoª ‘oc#¦)‘¤kÿé¦äï>ˆ,ÓtØeN ¤¤á5¨v §Ã• C¸ t.´gc›ÅØÙ'½C¹|š¢èÃedS‘Üoö ¯#žÎ»¸ÔŠO=qÿ€XÜ3EÒõ¡`³v«µFI-Qr£Œb@h[úÈOf b½Ýž£ØB§‡‘¬ÊÈ^vÊ6y îQ"—6üŸ•g¯(¾ÅB£5µï L¼KÎ÷¦,¥%•6µyª ºë…ŒG¦CƵ€Í{ý†¡ÙÍ c©1M?N£ûÈ1ŽKaALv¹\Ÿ­|ŸüÇÍ ë–C²#xYCŸÆÄ&$µš}.ãŰkû¿uŸÞK$ÙÄÔ~°¼¹Òׇ³æ_<ÏŒü+p˜B;¢X³mH°ÝÄ\çDQ'‚n}ýÝbv}8ê‡òd*“…øÐߪíýš½‰ÜCJèp$Aa Z*d:©EæÙ¦Í9%s>‰ zVµðsúãÕ?†©‚„!Ö_€ÎÕ–‘ŒÊ\O@•nIl#}™ÊC ºÐîS»r ©¤ªñÜž@ðt|i'ÒC9W°.#†>?98v-l8)ijB»füÿeX¤ÅA¶‘cu7|Õà=nÀs£P웕M~:Jw5{9{VXždýéÛƒŸ™_÷_áK0 È\à¬O"×ÏBýÊÙì×ë®sHþÚd¹UÉÛkÐJªËSA.;lŸÞ¿%˘ mPiàšÇ.†Èl&éA?‹¨ŒØç@g9·* ‡Ñ•ùøÙYº–.f*Ïhc]§^ÝÙ:htúä¸Ìì½&,–ižùæåƒ›¬àŽ˜nŸN}Šè‹x³ÐÕî‡E¿±µFiÿm÷êD뀠­L¬sg¾š5‹—~¯QìIæ"çs{•yÒLG³Ge)ùˆE`’þæXÒ{¨:,­T=¤Í|¸›Éù2%ÉòǾwÏz\ºÛ‹oŒûJ™Üsiªåøñ\døõÜL³Yå¶» uÜèªL×¶“SrÈ oDŸîiK’”¸Z-­,hÿö3xØÏHÈ5Wß."8à „9åx=ðäƒÙhìÒ~ôñ=9•æ>òÛ €|€3Ö²¢8þÀÿž£ i¯M9§'E{¢™DrÊœY’ºªæÝ¿y€mÍ£±ûQÞ¡ÄK*žõ¢]žÃ>)1Ǥz ¯œ:ÓdàŸÐ÷9&>ã,ÑÐoôû¼Ð΃}ÛJ‘Kº9‹ÔU´Éx“ U¹4N€ahS£ÀÛ‚*å´<Óƒ³Ó„*‚>Ò¤DÒ¿/䎑}–¶×d©(Õ¤ë7’h“îPétE¹½ðÆÍÿ>.ÜCÑ‹‡Ø†…•ñ G£#¿uŽY >lÈ€b#’°>2§5Ét(µvNdÍ|Eg²fù¿ïªùMÑ¡›S#u–›5öŸšè•ŠyoÙ§¸j¤¤Q™¸SþoLH§Àxò71ØBžJuUò«¾ËŸs„GHð)5€2Ÿå:Ž4†±*о\³¸ |Ëêl±| ™‰!AÉIO€ sN-ˆƒnÐè×”ñõGá]iÿΖU¹M‡ØhZ—Øèïùdž0~bî¨ì:£‹.Ïwì怸Ô2À7P{I³€a ‘j´”Û×zúÑo€Ð¿Úñžñ—!œº\‚SWüAgØî±=zÁÃ6(¸õwÆ¡3Oèæ&Ñ/NH;P¶O;aK‡Œ?~I_OÕ>¼¦!7›>ú3„mΦÍÑÂ%V´âvt˜pݽ{tk˜}œø–€iÛØºýåΆ€GgÎ`Ìr³áã µ$ˆ°éæd„×°Ï*¹ÏÀ æF= Æu)Ý£‰¯­ZKr"‰êF”"·ýOå„_xZù/žÂà Àw6È+);ŠFƒˆÖè:cRÆúÈbm!\IŒ²cŽðp‘v9£B Â:Ô+ AI(TTû¹EwŠ„|@ãLgµ!al¶1ñ”ЫùÒÊ=ir 'v|d$Zi{§yÇÛ!È%î(G¦–Ë"„¬:4=Z¢ÈM²ÍvP$¬¡ )(ˆ_0aÇ<èC¡Tp+o&<µï?T@Ï9IV¸ ¹“4Õo³9î)bãTxNôå“j]Þ ¬“ÿ–¹*‡ç€ ¹ó‹\ào|¦™â Ôd]ª¼§Ëê{°·fK.xÜÃäØGhØü ûƒ1}‘e씫ë…ÔBáÀjûk,Ñ%€¹@çým«ºæï¤’Ç Ÿ5Ú w3÷÷owòíjx¡Æféð%¹ÆºB^¯N £¸fvçï’?Zïžqš1øÌ'@óSÃç2„)±bŒQ„GHÂ+Ê߈V½:óL&z_¶P älà•’ß9q9‰câߣÃrG‘q æmæy¥¼¡ºu€·E™µúÿAAóÖ¯ Ye¸ºLÍÅîÖ¥7’/ 2^>{»`xkUðP´µÜ|P7¼ûÑb2CÑ ªw÷âópÏU»æSŒSmV~¿0; MØe½wß_Î$îCÎüBò ¾ž|j m ¡5z0hp²ÝÞM±¢"‰<ªùw†P¼°m/b®¯ÂÚ¦±‰y-1§à*Pœ ÃùˆZ̼_NÞá•X³($ÀUV¤­ U, :!"yã·dØž Åçjõ¡¡üž7T|^cŠý/cڥαøˆá÷ Ü'€ÈbÑÿ¶1Z–"퀄{¾é|öÀ †&¹a?d¢1úë¯ê†U ͧÛ‚Š|b½¯)Dk}lš =¸®ü‡Ôd™Öÿ¹ ÇSÚ öº„™„·š£ 8Ó2É&ãÞZl?‡ÖV⮌³ p8%̾ò—E:—,Lô5rÇêµo*|€›šŒô ;lUfÌQWÐq$ÅpýŠ"òëtÑJߣ²6‘¥&›W¨:Œ¾¼µÐº°ˆÃ‡H;h9oãoúët@‹*Ëݚİ(Ó×'—8€Z tlHû-àÒz M¢^ùÈäî€4¾v¡0¯•0¨Ë³¨&^шO¡g€É"„¶b™Ÿ=\«êúK"-‰ô…ÝàÍëˆ[’0Ô¥Gè’ŒíÔÿPÞÅ«zAÏãC2v|íG£­’>ÞàÊ丄ULÝP8î<”§†ÅêºcŠ•«xD¼l”à•4ÕüÀ1.Ù±&{ÞTOò)L Õ=_­¨UÓâ‚ð ùbœgq#€bN#éÈýس,ªÛ¤_¸Ìw¿)d¾»—Ó½Xš"s’\(•Ë+Ü¿-Œ§…î¡å²´pT\žæ¼ ÀÃJÝȯlE`ï™ú§CÆ5b>Wäù‰[Ý“Ñm¯aYÁ#Ƶ>§("hF…¤éMi <ö™8ÇI'Ò":ÈyÓuH2¶—ê7q™s’ñnùõ€'~´¹1@¸ñÖGâôž5 º$‚Èl y¦t|øiÙ”‚”Eë\ºÁ*g8á˜fë¸áOÈhõ28¶¦ÈõaÌfà¸üͯÇf¸D"ª—`ë1ßxý’c߸SÛÕÞ?‚qéŽÿˆæ6ýNçDç]x9QeöÈŽ<"˜ æ3e Gêzõ‹Ñ;I5Éàë,]:ªµ40ê<9–žœ:ÆÝd×>1â ùáI¿=Nón©ÉʰÏÚH ê³. b–À<õŽ:aåÍv‹ƒm@ší†`$…š]xi é3~*.²’-B•¢f`¶§°a‰dSfdUqÕW TQ¶Ò¥|úD’À‹Ln+B·g —¼ÿ ãóo5T.EÖLå·ë`ಿB–öºê½¾ã8Âã¬cQü+SÜ[ï%ÏÇayAæ*Vô¸• E>xeäùî¼{Œ_Ò¥"­ÆEö¶ˆèU2õDYMçÅOà•¶Ÿ¡J‚LËÚ-WôX˜'ûI]M5Æ\} ÝTAþ¦÷ïO¡âb®šcÊÑ7öçô½ÂY‡T`¤¨®xË Èx^Ú¿y¬ÙAW†®äl–Ʋ÷5É~|‹Y%²§–Šèéî'ƒ;Cˆ˜]á?]nõài‹‹ý.GYßÍOôÒE&ʤßAø]‘׮릷Àa¹ƒ(¬‘–¸ÃÊÂæ³ãµrA¬7 ¦$”tÂ;7§®ÑèÑÖŸªö&ÊPj[3{ ’Ò!˜Ú0åEÕTÞ#õ€ßGŠÈ$š­1ŠàïîÓ€¯£ª_IxÇ*@ìè¿'ªû¸ÎC3,«ÖóABä4ê#CuF±Q1öñ7¯cõê¼Ä%*€MÉ’“vñÓ,kæ¬?žûÀÌeufŒÂé©u`T&!£!ò×ê48ÜHÜJ¬Jáæà·y ÁÉ~‡Ìª¶yÁTpqŠÜSlB¬L§Â†I¤Ôˆ ¨ÊF¸Yظ8íZ_Á¨[=òKjŒ‡ (Ù¼øxt÷©ÁxH› "»ò‘Íz”œ¾Nu Š!\ñ!Í<ÙΧLlßzŠAAóA2Ii•>ùÃܱæPab&n™ƒü…ÚRâ;B¼]æyq9 çÔ v¸]úû”¾äšq5°2J_¤£œ_Pé¶ D©Ü#«¾ãt›á3ö×@ô¢µoèå}.½nEaÉP}²)=«ß$÷6þ1ê…Úì½[(a¾ÜÛÒÏ·ÔúÒ‹dôå?jot¶=+tÉ*wü¥«„ ¸¾ÔìÏöé$6UrGì‹_œ_R ÐFóÃÑÜàâ:¾cÇöõQzQ¤¼‹¨½öQ²¥è"±ô/EÞ&íI/°`'¶ˆó˜ZåÙ¤²ÍÝÂ=g6èL¨¼ÝÜ$–QkjïÖtF;Å!|Õ¹B,€©•š¤ðÔˆ;Ò=á…ü¿ð,ô^2?ìæ©_çÒ»|CŸÃÑ ë«°UOc?"´?À­}dÌáBР¨ËÝ g2*Ö}»´õ‚ȹ÷mý qD) 9²pìæøÃ ÐVj MÅÖ=d§àg{Ÿ>Cc†Y|$½µh„š‡º£#»)úQ{Þ†6ð¸HdwJÎ3ì"^àmZƒXñHVTZUNfo<ü2ÜHxñŒIzƒzßÖ1O§Ý­ÓLñ¿”\Zš¸Þ>–þ‘ <àD)Ô÷úœ¢ñü¼6'ÕYc}Ó(sÑŽH«ä\ÜÓ´ÂKÓ”ZõD1ØòÛÃÆY*jJ„¤çŒK&ê œÿƒEXœSc›¡˜)XŠÃ6A ÄÔgšöÏ^â FÈñ/°–«‚^š¢ìHÁ…6ÌO'?o®1ÜXUÇ.r ‰ íÄ‚:¹g*ϳ®›ÉÚQ%£–˜X;¨§}„¼¬ìŸvŸËJ@‹¡ÇC{d¦¢ñ&q«|–Gyb§FM„?A ~Ãø$ª; ‚ÃK€›ÏÚþA’Ú<òýù¹¾6à½w캹 ¾Òu †Ç¥ÛÒs•@uø–Èú¢ê,B¶Ý×”%Vçø4”-É‹;œÊxiÒd²yŸvƒ• fÉÚ´bnô‡£9dè¶ö¼Y<²Óœñ1bMbÄhÉ|SÊx€:¹@5h䢣ýsWÞO³(šT^I”àòá´™¨dj ÷БXö½ŸBìùÏ”$qRÉÌК–½Ö°7ú¦Áw© sÐ…q½Íå€îÝ€à]Í1?õ‰ 2ßq€MÍ‚Ô ¾‡¼áÈxµ¯ü+Œ‚>VK¼«ÞѵŽKÒŠ@¾´ÎÄŠ³‘;1Nއßác›ñm x+݃‚~{î@†ñ9jdÅй:jˆ4í´ö£³áç“¡À ‹¥}8õ®±¬Ùÿ`µ$#)5žæ,±©¼ÛX¦-':Æ‚!ôÈ·ñÚ Ã{Zfù²¡läÁÝ&9Æ^‚Š8¼¸ÄÖÒ÷’^UÝuÃ[§ÏãY5å?àˆA¥x/nU#Óù…Lô/o#Õ{qÄOÉ@\»¥Ÿ„(±ówÓŸíá0™~3¥¶YEWhJOýOi{8}kbÕ¯x‘Áœl˜¯’ö–YA^å M‹/˜­ÞqÚi ¿G뮿Ûçœ 1¡WíóßéUB­±QIáF̓|ì:ÕáÚ4Cuye”WœHÔ§Ç ·±‘°ÿÛÏÔuŸ&µ˜ÀëÍR“‘ÿ~ H€nÌ!m’¸Ž^£•a'Ê/ œè$=¾Î:*bB`ã®9ƒ±XaØ)hø˜a¡º£áù•Æ1…‚Ù’>A%ë[9wïÉ0:ˆt©Ð¨Àx¥£ý€ëùjÄ!Š'·î"¶Ã¾rÐ-D±Øþ ›¨3ü²x꫟֑Šb.RŠÞPmÅÛ7`!ñ§yÏoÐŪu\4ÿL?/¯5;2h§ >Pœ^Û¢éÿó%úðõÕ/^bE’aZŒóêkÛm¯Œ'z‰û!‘ºâäÆa$dì˜Ìfdªv»çX¨s×·U~æž »ß&»Ü×G= :¼› yNEmÌe°C#‹ø•í¢ˆ†s‘Ñiò_ò¥øÅ f߀ê]ác¬Y3›öÙJ¿ŸòiBÞáxÍæBiöÞ­÷Åà DÀÞï¹~N¯Û&¶û†fÂ\B^ ÏÑÔÌ ~¥þcú¶‚Þ§ÏØJCQQ}X<—¨¿™¬z.}ÍÊÛp¬ñ{üJ'㱫Íq!‰¶§aÕƒíäùç9J}Ç¡‘iú}jÛCÎ½ÒøGÖƒÙzÔù`-H Rrùž®~fpiBÎâž”uÙh—Ö„³ÆéÔ,åÄs÷ªg.³Q‡3¬GöLè{˜Wh³ý{l§µJ'B7h5²g$;¹G¶Þ&Øî:w8²öì0ß1t™4Þ]oÚ,˜ÕòXkÉ©jl5ó?×¹èÓH<öÒ ½¿‘ƒfˆ`ÐÛ03œà¬ªK£q3k[œ’ª‡Öîÿí"x8 +vw5’Ò÷×s€FR편i6Ó1ùl5ˆ°„€aœiQÜã—?ì÷zPà’Õµ|£³¾V½¬‡¡ÆôKÆó)°K—¡Å¶Â“aЬé™éÿÄ.¤ ºtÎNNsBÔËç©|¨„²¥tF¦XÏZqU `†2bq È2@¤opgäÞÃE*æåÂISúË¢|éø·mçfÏqÙY¥ù÷–ù½È¤÷\F!×Cç-¦eò\ø›ìu®žºa»¦Ôv;üѲ=3…·jZ²+Zš€€Ñ»ññläJ½Ÿ†ÄõJœ2͆E§þø>Ò—•ugoAòÌ"ãûW¯-ü¨¥Ü}Ó~ïÿ»€hÈ~û±Á}퀶ÝSpk×@ýhdX(׉_ÉòÀ‡_œÂMGÍÇuæŠZÎî0¬ä£Í÷[ñd™$h7mË!Ö†#½×÷FÛp@/ ©¦DtxïáiH€5…_+'t+/EiàB“¹ÅYø°§Ð~^ýkzÖ ÐOfžƒÚwFÅS(õfY}s${¹)XlEoÕœxG--Í÷pr­ôr§½¸\f@ ¸ŒVQhu‚ÊC«Ñ‹ƒ¨ÎbÅ)\1 É­ç”{©:X}$ÙïŦ³?éQ¬—9 doÂmeÐ ¶s>’ìå=ØPãð.54 zK…El&•ö‘ „’Ýšßj…½ÏºþSõù²] »t–‹@øF…U§¶ºô¯Ë_, |é#ö!ÔhrûÚ÷mœY†Õûúe«YR墉¸[hÙˆºxLv"²Vy?°…(àBˆ“¡°~º$SÌxô&ñ 8µ®}”ò±ô‡i¼:Ì+%~©·NÌî˜JBL.OµH~§Çƒÿ:&—hëéðNQ·^M+t£šÃ¡cñÅÌa±Fa žoZ)½yã~–›½s¢Š0{‚H¡GGVs&wZW¶aW!¼L§0=–ý‚iסôÕQ½ç953¤Põ¾è~&â¾.T `Á C[ ɧ0ŸºòmN¶}á®[rÁ#Ox‡k_ Å•ól‘ÙÐeÈ9Ð «lTǯåÏþâ­H+ëOî¡Ý¢Á±‘}çg" ">ÕêB¶;ý†Ì¾ÑÔU²T‡Ø3[šßW9sµÆ_a­:-±Qã‰vp0ÁeÆHá©61›$5/ô; Þ–f 5Ë#!9qÁàV¼w0¶b?0+&ĬÈãÞÜÊô@ÏÎE\_ÿœüãA ¸£žDxïﮜ;vÁ+¶ô%9Ã|g·q;t~sžuÝÎŒX!;ˆGß <Èúß$G rÚOù†j¡ì–6Þ]Û'¨Ç¹MÉÿ›«ÒyöOŸªn¾+ ý®¡½CÔÎvtöüSz/}Úý ¦øUó_à÷4tSÈlyî 3¸ò£×w†m\.ñf,í™È£$šWÃÎ8¸»â?¤ëC–šK¬ÜaD‹ñÖ"Ç À6Áb{id­õ¢ÙºÜÈlœû“Ô“ÿòd‹8!ÄÌ3M¡ÎåŒÆÇQoU¦º@œ– Rçd 8mî¤ÕEFŠàqk£“ ¿Ý–dù“ßµÞ©E!?ixNi:D­Â|?Ÿ:ñrIDçd prȲ?Ù1VebæqÜGÈ÷(–¿‰yº»+BØYƒ\ÆsçÍÇ]aë© až»»õcR俢òbÐKÒ±éék4‹+y„ò¥atzäÂR« ÄÔ¸jž‘¸×?‚Ïwé¢O7Á5è%Icºêý>„¶ëÅÆè2 •>&7¥üõÉØœ*†~ŸsüpÁ¾æ7†,"°Bhš;pU)žçm*ciÄfõ?Î’nRä%‚ÚM/×wo+Úe, #Kˆã½9:â™É+°"¼«õ¾‡Ål`¯‘TôPƒ ):hÉÌÍ¢ÝUî÷]Ú ä|çç1Kú‚‰d”ÊîhÁ¹w­÷­_®dȾ»?‘> ,ž.“Ûr H I@n^ S¬³S6¢j yE® 0•޶hŸnÂËdç“a1ä1ÅÑȾ¡™”óYýêîOò×W´hg=Ùs• ULªP2ûf‰¡ß¿ƒãýžã›ƒœ®âº±@›@´Ρ^ø³Ïºé¾Ø˜0Û6£ÕOŠÖŽ¥8¯¸ÑÖ‡‚ìbèÊ»uÞgý©²ÁéÜÕ ÈThÌ…ò……­mÖõy‚›ÀdÂP;ÞU¢>½0Â@\ª¬ù S¼Ã¥Ò–ÁÙw)¥_`» L3C5¶n—–{ï/ßýçúÔû —ÚVv4RXòÏöÝÕÜWiKºÈD"ƒwí çéèJÖ_SÑl)vH,zXâQ:Ä­ VøâËîµÊÑBŽ ësÇ0NŸú22“öùkmôk!ºE¥u¯k0+i}ЫNéÔm$ñ®•Bu D"ã_†®• ù®Øæ‚ÄC »aYœ> k†ÒÙ¦D•VôQ‹­ìWÛ9ð ®á68aÅ¿¸TAôÂÜ<‚=16·ŽÏl}6(UUD^ÄnqîþΫ‘wVg°Ô¿T4|NcMX\žb‹¹Ç\ÄûI‡îbkõRNý´hš‰&íD<™Ösæàë)>@è¥ã]ï-ÎdƒZUÇK¾Q'À  ­¦Á l™ØáO;H9kKJoòä œ2‚¾1¬z­âuOîí [ØÅôù 6ÎèŠÅeà÷H?¥+mÜ-Íò4™™§ e©§,)A~.cÇâ ×o7ÔŒ¶jÄ®':|‰tÐ ¯ŒÏÈ©©ìîá6ÄLë›[€hòôr}Õk^ —Äí¯Ïö4·ëq*è^1¥k?¹ôP‡±R¹/x3‹Øúr˜ö‘;ö$м"³Ac€á°ò‚žÙ7þÅÑù¹a¤ØD4ÿR †Ž§}1zl"wÄ3ÏÆ‹›Ø@’‹?´N 'RAG<†HÜdöN:$–_ŸubX}\Z¿‡ÃvÅ!Y“Òõ€9µ3œ”ZÇOS]®[}ÅËæ/¼þ.YÁ ú¡ÄÕ¯$„)~k¦·h¯¾zBIÏóÌ!Óšç31]”“šbêÏX(ý͙ ÊÅ$ÿ+>ü×û¤P¨4ÞŸá/Gwç`wyH†Ü.D³µÅ!Í´_†Éeý`Ó­Þ°ÜÊÊbd~†2Æ5œé»[’烾F±½ÏÔÐ×-’xÁ5 ÅùtLø¡ÔÛÐd`ötüMMºlé^gBŽÚ+—ZèE„û^Ï ‘LF°5–À9ì }>òßóx8D"M±`\#_°× o9Ë ;àÅîSûŠéÀwvn±½Õ|šº¨sp}%>5¬íL*у/]YÂó󔚈¯ èùç’S|ÚÌ"ÌÞ±¾™ÆöøRuGºßCX¶©”:¦“Pð$˜j±Âus›!1û5PÇË¿!*ªY0`8Àú“\ʇú^–Ð ãgã%EšHQOfãÆ®N:ZÁªÈõ\ÝMÛTDŸ¿Óúh4ûfÚ(´•XЛ8«ÓI¬ñòkL‚ÎÑÏáÍ‹‰pM!ÿ}Únoa?ê{¡jBù²Ëú¸’Ûý‘u'×Êõƒ17izgÆ›Ê}øØ%^°g0^˜RñÞ=3pÅw®ÁS7vÀ½•æ¥nB‰÷Ü»';«º÷:¼µJü(Þ;ŸŽ¾‰rü³`< øà;ÍBâÑ b…CK»ÆÝ«mö‰QʼnŽ÷ýLçȘ/yÛwELÅå¿H±°†ÀÁ² žB‰èüñå>¦4Ï·Ò¢ŸP‡ôD%¹v~ÔMi2*%G|û`i¯E=, o݇¥%Í “Ý´ ,Lôžù탷ù¾_æÜü¯P¾rzÝŸ=öUà#j]Z ±XGµj€ãIÑÅ_‹}Âç0‡ñ8ºÇ»Üqê‹¿Jí ¹ä:ªèeóÙÇ’  Gáæ Á™ â; ô²`3®=•¿ÕV?Z¾˜úV`[®ƒbÈ?ù¢èƒ«‰Ø—Ø®±<ŽÛQûå-*u&¬ߘÞDޝ}òëØy›â:rŽÌ鯹„L}qŠÆ|Ò‡¤l`ŋïè¨y4 Öó†Ç†}ûÌ; wK4º®·8Ôê2‹;©Ãš‚—ƒðœÜ¦)^ºº™ë¶‰¯Ê'&Úxb„>–©óéï†^|ž¾á£WÈmM§P|F‚4Gªa ¬H$·Þˆm¶ö€Ó|ãEñ½×¯ÁÔ(€ä­h”ØØN'X߀r¦›P˜/ßàñA"R»v'¹6's[ïIÂ3ß&Ó&eâ-fç; 6Uoyž©>™~³ï§ï¥ÕjuŸ¦Õ/.&Yh .²ÿLo¬«í[‘+©¹Ÿ‚Vؼgò—™?—€ã3Ëãt¿{þBñf´×—STÓed:a2Y¥L LØyFNú­­ÀòÛÁ^FÕGÞæ~ÕgwæÎxs»Ÿ›4Ðe›”6J¹×i1oR£ÁQÏx Ô;f¦W°Fuôj¢Qæ")±ñþk‘,”E4Î’¼­³«5É’¤øÒ_ßn;ÐpÕI+üŒ‚¨55 EýÆÃн—ÜížÞ3ö¤ÃZµè¢Û99Õ7Y«œÙOæ|z± HmÚèôÂt††¶ó³­ý·z^¾u˜÷þ½ýqÇ]ú¹‘^è@Ô£,Œ‘z9Ô¯‘Ù“<ªò¹ckÖ5JV èwá½2ow^¦cò(Ø”kÖŽ´þC4aðŠ4;ýx%ÇnL B{ù8ÚÁþtåx¨¹ŽâúãÜjØK´¯cãwË[%U™Ç*>þ²9i÷ ÔU£èQÒe.7y¥`†!#Ú{ú*üÆWoÚ‘E¨¯nažXu0³ùg[™)f2(45:k|1v:e¿¡êäÂËö]‹“!Ùwd¨Ú&‡ÊÅ=IÇ)øÞ»¹÷²93\”XOýô<J+ÁxòxS‹ &á.B´€Z—Òôʈa Ît…ÊUwæ&i½i‘i#k²äE¶î¯gÿ=Á $ê ºñ&ŒÞ.EùÆÞXb\/›ì*£âûÍ&²ã|·°m<$Ä–&Ý/á­ïûŠ>„¶À<1 (#{Àv®»qWcÀˆŽâ«bc†1Zà°Úz)y'ü:ú÷§ÞGf¦9”C¢aýòõä°GÁSñ™Gûòp(óÛã±ûawˆ¯3™[³¸à´ 'çŽlõÛÎ|ò]Ô,8 eÈ%®ò ÷p†¤·Kv~§%Ò–6h -Âõ˜ãiK €4Wë î2Ào›{Á@gZÄС)½Å8;lÑ»»nKîÏ–Ÿ=þ~uþ[‘UY—´ŽÄ¿½ pçmŽ8­SóeßMV…¤–ì¡@/ö?°gGþ²tó2)+X—&`·ë†ˆ®bçEæ” Í®‹K$ðR@¨Rð|ä«"G«×3Ú`‹*|‹l+®ðzv†ݘd6sÕß2k«½ò°þŒ{\ªç€ò •4êN=€`dG”ÂísÆ& µ ¤¬%–VÞÊärc¬ŽÊ¢oᎣ‹ûÏdvœEh›ì§yÑÕªŽ_Ê%èg€1au…è;S5Pû,0«úäƒSzöØ ]‹˜ëx;x«.%OHôt‹lúËÒ²&É9@cëŸe"CŸA4ö-©öç£'ô,†, d¢‚SYÞ£ßbSœ‰)mŸ÷væÝ°˜ì,R²'= Aœþ2ùgýö"Ú°ïíÔ#{ê„™¤yâ×¾å´/€ä»€à™eªãƒ€žŸx @\z fÔòÜb:(mô~;nzE$5É”`vD:°ÒO›ÿ¦—ae «§§îÛS?9sºQü¯Ý¨d”|oÖ zóÁèœvåàòˆ+ý|oÍ}Ïx2L‘«Rfg¤¯Zâ|ÊØH-ôm,ÐLsSBþCxûÙÓ<-4šÇU¾¬7Ì«v:…´ÿ¶µ‰Gö.âD£)Óðˆq^¦Që5Æñ4•Ži97A\Ö6t,¡1›èt\F«æ1ÄðÂF;£ÞÏèÅDF!Ò&¦¡w#i>c`=^_x6–Q|¨Äü¤†Ý,p S”AÄ‚¥E r7¡Ø„‡Fy¬qT¶¤!*6ï?gIgBddol¢0Ýfíë´ 3Lßr© zç++ ߨ%³ir}æÎo*Ãk’ëN`$¶K¿z'5ÂH»|~Ï̲£qýB¡H1­dz´AZpÆä:˜°¹7!ÒpùÕÐ÷2d„Ür"º¤#×p½!ã€ãDÉa«,ÆÎî©A…#U€oœ¤1Þ”SæÓdÎŽnem RµôT6F°±Œ}G½pŸSßœô)õ9br×…ùZ`ü™"Ã.Dãñû$‰dägò'3 ‹0B­ãøžÂ3 ŽJŽÙ•øk¤ÙÌßÂv®ßK×|bÓYóºÆÙ.î}ú¸ñ~ŠHWÑ¢¯Æ¥¬Z|^@wì¥ö{ØÕ¡Dõý@(Ûfª¾þgPFׄŽ76wEäç¸djC²YªT.&›yC&ì0¿•PСQV@vÚ"Ì>šO²Hư)þB§“ÿ×4º¿Í§ ã^Ôóm뺌’ìÁã¢úˆEÓ2ªQžëjø”tê 5ëm†º:‚×cÉ‹ˆªÇ>š=bê º‡\óÐ?uÖmœà_8·³'J»aÂ#-Æ¿2ýL½™9WÚ+‚ž36ãÎæ•Êöö¤V ÖàºñQÝ «-YƒÏ5Ÿ»L.ON_¥ëY=)³íÙÄ)»½.Ãwà‚Ì?ZHŒë'Õêt¼#¤°ÙMdÞ~hÜ;68•ÁˆWT%ß/lƒ;"I tÒåï¢õƾ ^掖žªOxÙ ??Ç÷nä®@]wT%˜ö¦øù̽ŠêàLÝj}åà4ˆ*ˆ·Áê -e‘b•òãAð ÕÅèGÜ9φYY3%’бþ»€1D€%Æö%ž¼üž\«þu*ªEîøî«×ƒçêG-Ü }mEìœ2Fäb‘’”A‚¶ãü]Ymß+¶c±/Q|\ømÅsh×Ö<—?¥L(lÆ—<ãû悚£Yíd÷̉n~ñ7ªPªûèmõçžÑÿ \®`šÎ¯M‘¡2å èšÙ¦&(u9úH%ë)SÞò:@}Ø<:°Þ¶„´‰`R¹Ò¢–~Å`üûù©¼c9¢~v"ÈÑ<èÙWÐúøèˆ¼ß«ÂŠÇ$ªßx`úeQZ»ÆÅ§"E<~ÄF,ëídwǬ`ȹ×þÎó ›<x;"{b™ruNvÆŽI׬œá¡TÝ;”at(¡k×.¸Ò^ˆbÅÍa„—Á2”9~+äÝŽ™£©55dŒ(“—ªªùŒÛ EÓd{}d  ~Ô%ÅÙ3K‚L}._8G†•ï› ¦Ï ÁWifö—|OrOU ¥n?ýøã)UaÚnt¡`‘í­°ë7”$Ä yN.,®ˆ+=È‚Ñxö5A28Âù\ó]sXÙ%Èo ©µÈÿVÄóª‡ãkJú·KÃ@*¼”ÍP”®¡,lIš:‰]˜àžnPίEèmÝãeR–üMeù5ß\ßüÊÀ_f êÑFh1 ¥WXzÈÐd¨I3A“›½¡aµcd’ãÙþj=ž™´¬8üÙ6jÚô [vÙÉdž‚ôq;fØ*E=ͱuâºe’~ })IêùCØQ‡ ãû›Qà¡«ÑíPÑÂúÛú÷G~‡Qí+!ÝSè·¡YÑh|­nã|ÿžßò]7 •Ë ’Å)ëÀuíD¿Ê»L¨Oõå ”=®KµÌ8_5ze½²¸è!ÙZ¿êû߇øpÓ[õgoÖð§E™—ë8´ÕÄÍdØfÀb&Ã* ”íÉØ ïO-bÉÁS¾Þ“òþ˜×6n«—þpe‘}Š®fšÇ6ZػیXÂ3(mGn*Uœ‡hä'†ÜìAäï0[Š%½.HýXTjé1rÀñ@mÓØa8ÖEq¬Œú*!‡´òIÛc+2¸t,¢pë%"íéïiP^•ý‘pA‡DYDì ë>ð"ãf¹AE»ú›¾Ðƒ®Ü âÔû“…®Õ°_8‹FØõ†XpJ!iŸÅ×ÀöÏŒÑãæÑ {¹A'PqħˆÕÖ‘ žÄª¿CÍ—HW®;ÚËÚvÄ(Æ·#DKÑ‘5.Ì™%¬¯â»A¼µÊ @íØYêßkYn/i‡e÷`2n Â0îÇ Êï÷ä2n±èÂÐy\(É3Kú•Z° Â~ÿŸý8FýJ Ñy,HQ—>ÐìvxÌ;P£ñÃÁF¡A*3_粈­©³):,Ž@ b(ø¾Û($êþ"hVËwÀª§S{qt¦Éß´Ä“¤Eôöû´ä JÿgÃ1£{Â×xÉÜÁ¢áç¬ç~ÏÅìÚVώ͢Ж"ùÅЕcå9—æ4¥!?Šg@Jt86äál5¢Ð'ö„ ä=ƒ5_’"“§Í¢EP)@÷^È$¥úøü)T=î6‡úÃ죀ΠGøHõªôõ zl¡è%]Ê;S7|êE¥]~†:®zÜhß婯©%±ë*:¡€V^=kד{ã‹~Ѳ)Â`”eD}êæ`ÝU™©¶Ùs±û{Æ s pÃ`*<‡w§bHÂàƒY?‰~Åw©ÓØ–½ÊÃ*DÉaÑ==ÌõÓ„Vd¢eþ*p¤FÆxWÕƒ Ï6ñµ_SÜb²ÓOåÕ‹UÄŽòrá…+˜š '½KÌ$4n@†Ÿ¦9d㠖棓aÕ@¹¸£Òä*O>ò8EoÝ¡ÒÁítHMYœíÛ ÷픺Ë38ŒõéY²C­ç‹ØðbÁBMãÉgf—´²BsÜ©<Ÿ<Ü>ˆÑÜi:Æä _|²£ÒÕÔ}ÏÝG½XR»1fa™*ÉĄ紧Á }=9ŠJ|IX5<Öb³Ü·ÁCXïÈ'KS&\ÅÆ•—°UŽúL<¶ãÍ]O’n ·èÞ‚=:Ÿ·)Æ›‹p©Ü°nj,\¤\”žÕîöܼ*Œ¿Áó,ek¯=lð#YÑ-,D81p«­9Ø©XÑëOYFÉøû¥Š£œ¾)¼6mW+qºìñø ‘ w’.…µöoRg€@hÙV@Ϋæ2³‰O¬Lxçûf* ¿.†’-¶NV¾@ëÁ5¶ìÎPŒÄU |3Ì ýÝh©{…aI¿Ã9§Ç­f¦QâІ?Peî iàˆ£yó¯ƒÌ¹T$u„O,Ó„Y$åS´È8=HŒí¢/l¿Þ7›Mˆ:ßJyþ¬ä‘&˜ìÂR5žÜëbßK?µôK¹º{ö`³Ü¤j—ügqìG¸Zs‘`ï(ׂÓfêõ‘¸çJ |b>|°\{ .ÚãZÑËgý:á^UÞº²’#=È0:ºùÙÔ˜jZ=‚wÝ\ƒþÿ½Ó¦âÜc÷I» °\Ñ2óŽ–ßYcêÙ ÝäïÑ·gœ,Q/—97ž‰L^ºŽ¬¡Ÿ¨Ò²êU.üid®µ(+1À̲Ï8Øõ G«4 áR$æÁª5w³Í$ ܃ÿ p±â’u„UÒ§Xu•‚V"w,"òÍv»x¹\qg™˜ÐWzaLžÔ“•i,<ø»¾¦A6CíGˆø 9nëJ|„Ù|¤Ã…*æt>}ù/Gµ>bE›‘Îêí¼ˆÌL.Fo7ºáùá`Ì@»ËÈg"‘÷<ò­Þÿ«[{Ì?ÌÝF&ãJ" pA·ñÙ×èŸ }+¹ô¸Ùx•>yQÚiYs4bLÿ® º˜BŸ‚íÌÛ\`t¨‰OÃöÿÈg°¨ pîªfšd6EØÇ;½¨ÝõÚ€¢ÏCc«ššPÏeL˜Šíˆkëc‡ ÂwòìÒàOÓ˜2q%z”f!·iãSvš¡‘±È“3¼‰GËÒ³†kÒ–‘TŸ¡Ð3½wË’t]æÝTPéa¼–;Q3ñ.ﺖ½ÎšgêÜÜi<ÑJ!øÁÁ®rbÝ8¼(×QôãüNå£]޼µoÙ*3XÔr1N>Fú §q@¢aó=†Ü#²zKñL±Ewsú´Mq2±½gø!ͨа›0²Ž®:³™#^YKxФvðøt‚Ÿ[ÛþÖ=‡q·j¦Vì>Ng¼¥1Ï#W@>§¤ð#>q™0ÅE_ oÜ^}áXƒ”B¿¢f®,V8©Âõ™BAÜ«ƒ5„—ºC¯ÊÈI««¤úo‚'_ü„¡¤qÂÂzñÛÝøˆç";'ìÅÕH€3;ü= YPZø锿ª‚& ¤«|‹Ã@ÓP±7]þ©Îú&Áâp3®K[úÍM‡ã!/³­[õàoo™X"7î¤óXjo³äîÚå´j¨(x|}›› Ð&°./@ïáù}£6.d!Œû±¤ø~Ç @fGÕ<1î—A•uS 9Z§ì0±^ÔO„f³dó¨´×„U·_EU| ³é›?ˆñ¶›Q.×l|:™øxAè__•U”–_ó—^ò5‰ËdDÍ$ #£AzÂ]Ñöéñ˜‘,E\z`Ðfµ2÷üPÊx—P.$?äáÐî}ÛnÈÛíšU”º)D–©ê(Ö„,ž®MdOlœÈ€šøXÞïŸýi¡æhÛH”%]øˆGùEíà4>!h±îFE”ÐNSañö±á_R@µh(Úv_J¨¹ÞzÉ[ɧpÜñ_´æêÕs·^ÕP·ÁÓ>-{û\úÊziËõØ@ õ šáÎow}x¦þu²2Ñ^´ª8‹¨`‰õè( óc‡'Ì͵ÏÇz?û”J PVEˆ Gè *âgs,íóƒ¶Ó©Ñ~Hó«bÈçî²-êþEÖØ hKTCÍE{Pvn–§^³©]e ‡¦mç­õúK¬`‘„™xt)ª¡Æ<§@ „çø“7¶†·øþgêI ºÛ 3ë+y­0èê¯! dYæ£I„ËoˆŒkÖÔkãsöl£ À•ÂV_Aj-ÊmhŸ[Œa´çó<­«¼Þï½7pŠð RÑY <Õ›¦Æ¼V ×ñëo¥™'Œ½hÙ¯tö½ªÐ¿LÌ8rÓSý›)" ¹Wîã¶Ú'QåB¼³Ã,&ŸH»#Ýà~ ¾þ«²e¾s?á`$%2wnD°Eþ¿o4ŸžˆËͺ:ÌÿÔŸ T³‰?÷Ù¯^¬:¨ãD7…)µ–Dduä!“‡JLDªèæ|Ýo’mÇËÀCò!«±7jø ûäø•JÖ‘ÕˆŸú·S!ìG*Õ£|¦‘…û¿rµsÙúúwiáEmáêYl¿ÕšÆð×B…"Wú»òÐÅ34à×*šo@!O¦0òsVè{~š›àªhQ²˜S”tþqØL›pT¼MšI„Jý§ ,‚µvÇãdí T>¹ü ¦ÅaDÅþy:g~ê!•EÁɺë¤ÔQe÷)÷ùöÁ!êÁÂ÷gV£ÛKO‚j$E¸³@ÕížÁJz„½*T½ š¤&A? Y³Ù؈²(©ûfw äáu.Êü?éÉœÛ"oŸ)áS27= ×Cø3Œ‹Þ:¯âÅ O9ÔPûÙ¬"có!-áH¾ûPm­ULJÛ>=~º¿Î ñ®Ä^¦j!ƒ«A­ùÅá ³O\¦‚ÂäX‰c¬T—Kò:Æø ƒèrÎ2Ѭ3¹»^}`‘ÇÑqÉÞÃ5n¿€xû.èFë+×£Üaº<ʸÅê‘3þµæã‡<‘EÂŹӥ,<Ì$¨¾/Úéà)ôÖJðç Qþá¾ÈšøÅ£1tÑT^X©Z)žÿÚ‘„t½ukí dEÚBN±§5GCÜŠ„9¾šAýÍÞ_à7_KÔ…†2d_\‹Á§é;eÑ*ìä̆#m;»É'™~LòÏϤWŸyÓ'C1UÞ‚)9ª…™ B@ê€&x©pî—!4)yYr,¨;ÁLè­!Ï|Q8÷­Ü•Á™ÓË`6‘÷žB“yõdÎKz ¸wB/’×S±Áý/£D=íB;‚%®f¨&4W%I.?zmš–­·—Vþyl™Ç@ªI ¿#ˆ¼˜B Ý%0Æ0*°Zf4¨Ç]»¡}šyd–^à0à¢oûI5ïvõnIzNæ=Çáä`Àlµ4Yú*·$K6µho§õ+;†™0\ yî>vORg›Ûàoø©3kYƒð5s] oOAiûRô×°fñ8×·à» 5WÎ^;+Ü]Ux jeÑM6ª½Ç$µ?9ù‡¦mÐ ëw ëK¬rFÇPâ^ññ¤Òà!ÆŠŠ÷ʰ“t©tè æã!ÌoÄzm)‡¸?îÚŸ¡*ì7~‡xøš9³ÔŽ—HOfÏDtêúª ³5É]ÏÓÉRaäQÏ<Ñ)Y/—4ݦ»¼ÖjHQ®Pg²î•ŠE“4yúA†ý…~Ø,Šñäu§²P Hó>‚¡ÓC>ÿ:3v\$£¹]tÕv„Ù–¸‘|RÌ|;ÔKb9ÊzªYE,¿Æˆ…*+{4Ä ˆilÊsdm[ܨ~©Z ¡‹Å–.|Önø”ti¸#î°óz9Xk&†©6#Øí <|žŸ2•Æ"®Àñ臑j|ÿþ53gØ/Îü…óKí(>ÖqÊçûjù¡››jŸ+,ó®øøÏ9†ë¹Ä¡'ñ¾âqp G‘¹šãíxx|% ’„7é’¢-\Ìpü¿ÛõñƒNbðÆ\º%=dÄ<ôÒª²òŠ MŒ/ ŽA`ܱàG­ê|ëÑé4 üæ *B×Åm÷uUgéêÓEÈzúp1_o®d?ÛÐÝmioÎÛò$mÿr–L«LeÈ8c‹bÐ2šÆ"´ÎÀ¸|„iÖ|Æ’bxÃèv—Ü”²ü¼ö{9â# c0òí< âkzâÚ_á{hZ[0Ñ}Z`ÔªŽ—mf|ˆç#»±ÑÆø€"tjÐv>Ãç¿ä…ÜÝ)àô‚=¦ÌŽ·jÜ£èIÎ¥UVYîêíâ/a‡,¨DrÉTâÈ·ïê¼èB+Ò¦K‡ÂÒ/£½Á>@`7Õ-횬#!O0si q(î£5GqÃ-ë§’Y¸f‡Ô„³IAŠŽ,¸ˆêiAºHûkùiëbvä¶RÄÑÎÁÉÕ<´U?óPÊD+ÀJD¸ÑÔ‰3*™L@UJj ¼Ž7]’ó/9.“½¤ø !>7ªãUܱµIúò`},´ ‡†Ê‡ÎFØ@*q˜Sy`ë3nKLpÂ(¹ÊÒQ­2²ÁR„ü›ùt—VjB‚…‹+wÁóÍè‰ÌQ+6sÐbñÀa¤KòpF ?‹IS ;¿6äZ4;’–=F3©) Ûmµ2æ>qÛH…iVt{êó} ÇG+OÅc®µÍŽ-'Ùå#yûé@r&Õcå(ªŽ5ª¶°ñíãÖßß’#Ð9¾Ï ““™_ÞÖqH+OÚ© žú;—䱜IgÖw唋2¢ëcÓ8ÝÂ6H£¹® JÂ6Ÿ“ b;'ШÒë'·‘ãƒ'¥ØÛR® ™à$¯ ãøÉ8~4š‰‡âm£N2tI˜"EÁ£±b9éÖ/«Í_´]ë"qÖ©OÐÙŸ.ÒäGM³Ö©¦° O:]É—P¡3ý^ú 5ið†X¸;Ú7ið`Ó\BêJ -=×6Ó'êÑtDê%¡"àGð¨å¿.ú¡>›á¿yÇC›)Xϧ”±ÙlBí×e©ˆbÙú*ýêUdMf•1D24¢@/5öQN&ôäžlPÏ)JênÜu£ÈÑêJ_Î&\4”µ–+Þ&5¥TÒ§Ì5¨ç;ŠNüZ󓘊GRV¨ÛºÌÒ£®ÈÞn×ÍL«KQ‹CŠæL9Ú¼**r£6è­ è|Na V3ÊØ¦BDþ:~@Ðçê‡W5Hâœj}•ª!-O6Z¹ø`©I­í÷u8ùͶ€:/Xî© V~ÒƒÕvwåÖèK’½„Ê»»:¹T5ïˆjUëgt5:ÿÑßuü×j\j#½5ǘ´âRֽžeÝßRvè¦æÅ§ÏÅWP |p¡sVÆn”ÏJŠI|øëΟ^åKÚ?Oøõ¦®ò?[aˆóNv<[)LÁüt2ÀjD»Ó“Eõ>8O©µa†RÚ¨W¢ äFëÆå¼Š»aop2ï@õN`²Ž€,³õM&RÓ°¨ØËûÔ„$s·Eƒlµ4azÒz”,=® ÔJ¦eýüîÛ38%è\ZUì$Ô«”¿â# v¿åõ.ëÝ0|zÇÙÎ3¯sGðD8ËvÝ cà†1ˉ·â)ª “1Ÿ) ¨ŽRÁŸÄ¶[VŽ5xÒ\ 1OØ3†AIŸ+xÕXc9ƒ %­´–_´tv¿â±5ü^€´…ÕB,~+[uÉò ©0ÒU ÀgAAÙ6t7¦š¬éÐ×C¬weSÅ~PïÇ^˜‹új¦Í¶ð†2ºùHÔ…h«ÐíBU¢u÷E}_ïÐ_M5ÓéY^ƧÏñÜ»Ÿë·F…G%nHux.¢ºPüà»%,¸]Õ)Œª-Ö.!âÒ­jѧ ëÒ¸Fã\Àæ0ÂH¬¼ŠÑhÅ"“2Ü? x}ÅÌΩ\å\.œv„].æH£¼-è1\ÀvLöd2ÈôE>`M¸[XdŸuî é wñƒãrp/‰Ûžxâ)Uxê‡ñ[‡)®ø£m_m@*¬{™ˆ‡L¹…󀨿žÜŽ®UPÕÂê‘IˆäÐ3ÏÜiÚˆmÞˆP?­‡Ôd$÷c¡fJ5㈓1ÍT9SIgö!êB:ã™5‹ &bÏÙ^F—C¦ ÏÃíÇÛk6*rÔÉþk4¼n-¶¹¥xg3aG£ÝôþuÍ ÿgÜZÖ(ƒÿ‹ Ê#&i¾’©Er€›œ¼íç‡{œâÇT•âùR¢·®žýͶu9„Ý R)xÓ³òñ ‹ŒCÔ»6{+ÞG!¸3as)\MgÎ…©ý˜ Õ=üÓe¨øÉq­pÅ‹v—yòþã„GôÛp~b8¹šÈصÀ†ÆèÝ[E\,þàÌÄdù’‘µj6Š‚û–=õ7 f³ -ž8x¿ŠÔ@Ô‘°àìI{§5ôHYcÇÚRî–Ûo7ì‚Û/u¹”=I£KÈö¬Ðå-¶g7“}aB^S&2™N :ÔEÞH&·-’ôdpnàw˜ºÄZá5´ï´9—º„F{dÞ‹¸Qaá³U UÄ3äÒß4›Ê¹lx …¤ëz Óßz2uàʲÛ9NÂß’²ºQƒvõ(ÑÔC¿½!̈ù\6Àãœk,Iœû—¯£‚ ±òrâwñ'ÌúŸÀƒf—¤|K‚úr;Ýú.k Nô FϛƊcÂW"‚òûiŽpØöÎE£¤ë¬847”–!Š'ƒÏêxÞ7roß ËBs×”džÒ@%Ö%ÖùýÁ$ @"˜Œ B”¯}’N:°i¤½D€îæ™ü¦ÖÆ"ò‹ë˜9_¡Ì(ÿP— ÿ«€ö”·kïô8´–Â'|)J•î´Î*FšiÒ0Ü}ŽÍ1V× |¡P\7u gldøæ[níb²™¶éÁ4tVÜ`ð6õ…gÛ …ïÓÍC¶[o`ÙV‡.â_5£xeƒÞie'[Õ”hØèÔyt´w®c#廜=ËvÞ“¡e< ²„é uæYD,Lõ hÆÏ7è×RþW‡ô]²÷ Œk%Óyù.ÄBCK¨e–¹À¯ ·Þ>s1:ùŽÑ+³y—9º:?¿Ó¸l}*á…å,NZUØqkEw$°¤ÉªÒ¡£Ë솲öŸº #(ê[¯m‘FÁì»ñE½ñÀ¹í^6kþ¤F"JOiÖå|ÊP)rjKÜd®“uÖ”Aã;yàP:÷ªûâíÅÊÚ½šOö£À‰ìhY.ú@ŒhÄâ)a œòào91[0F´š¦£­äc™\`Ü(¦@£åµ®Œ:^À©’l´¾L îù!1„ ÝÙ†:­n9NÀ5³—GÃÓ<¿Ú¢yFÌšSß*5õA8SOJt ÞÿÐT¢$ÿ+K¤Ù>·7mµKÏ-¾€ý¹> @?üvnäT—Öãì ¼DÅ¿˜-²ÿ}(¹¸‹ºÏçH†Qö ô1š‚¢7ÒX/–ûƒb)'‡•ÀtL,…¦¦ö6ǃ¥ÁÍZ±'xAJ«4¸ÞŽºö’q–-Ã\Õ"Î7Ùdõ—æ%4Ž¢ ~datSaóàÚEl0FUˆ^>œðËà͈:>-°]èð¨±í,™:‹“Á{0O+-GÕÇd>*}òéþ‹¹o*Ä';6ofÖQÉ(ÙÓÌ#áxÞ£c”çaó÷W¤¯¿ùö*×Äe¾™Ö±'Óÿc3{߯CíÁÀlŒò˜tö=úiIÎÅǦîY/§w¦ÍèX ™v_‘0èN=yô¯²g?¨ÀcCe~¬µ1ÏeáÁ »Yô,ÿÁ¦¼Ü…àö?©*ƵªùV<}Fà `Ó[`&’nÏ §žÎÞAäK"z4²òžùãÞBd˜ Ð$©ÑѦ±O­Xá”yx‡¬Èr+.Ì`ñ 4ðö,èšþÁåaE<¤".ý¹@RZˉ,3€"| &‰ÒÒ{2Ûå(¯/']Ä?è¤pA<,ØhÏ÷ÏÈÁE,Ëj7!J¹eòˆ89PþabôÿýÚrÚ/8•4ߌ—Œ¹Xžb7S5ÚèlP«é8! -Þ¾ÖÖ®Nãš: »b¿â‚¼–^Ž2X¬Ø×ü[6gÐÒ9 Lâ¨ñŠ{Ågªl¤£()£Û¦çÉjïL½5œGárf™ÓÔ—×íßÞ¶Òá˜ÌmÉúJñˤÂJ—ͬA3oñCL5åD Å4°+Ié…[¤K/%‚ñ†™h;IœL«< l$˜xèËÂL 2LR2ÆM®I¿5`Ÿ‘<7ÈúL½¨[kªÇc¨÷Kù.¤ª([Hòè•U³Â>goŒ¯%´–0KM{ªV²®›Z&ãm!5 ~¨Ôn•=å\+|ª¼*R·¶å”»¦Y˜4&ìúƒÀ"uõ$ ÞÜH½KwÞ@DúÏJñRxÍ?¸iµã8žzD¬a ]ÌáU5ʶ“qNwBÄÄI'ƒê1ïrÁ’"F|uàðú×ø©pÄziêmÕmTêÄ߬§´ø!„AJ÷½%›¥á ¬·?DÊ“j«Eêö5„‡‘~2=ÑàºÎ NeÄ0ÿÊýS¿1¢€û˜þï,%dÁ[!s«AFi/#vI]gØÆ»ØbS‘­5&šu0à(c©2{”áˆDŽFù,Ù”dgØJ²ß£%¶ëžñaˆVæYÚ' HߤK¿¦6óʼnP< fÞ·âÕsv¦’ÓÃHúle!$oXawêjÎÅÚp¶÷u5 (°Ê1ödM#¶ÚζM•‰ÒòOÀG9Œ¹%äýØ^Euï5€ÖV׬XY¨Òm;óF„s@É>Nc¤l{nê&Ää¦iQƒQ8‰‘òƒßŠ cÝÑ®ÛGÚ­ $ඦºžBŽhðí,€^DožtïM¬*7–êhË{ÙÇ #!þžî èFù©¼,3VWKiD‚BÏ…_‹ͬBóg㇕YZhy:ͽK€åÏ3ÞOȳ'œµ~‚÷k•^9 ZF×Ã,|”öó§%<é»"R@7x…X #‘rÂT¿{e:ˆÎÄÂÓSÐÖgèºuÍ'ö‘‹F®Xf³ Wƒ…똎JTܨ;«‰ÂKÅæþ´k*¨¥§7&—Û¹+#e¤Ã9+ÐY¯1¬m“ð9ŠbÛb£æwz¸W#úß36㣑q2 ¯šÝØŸ –ÆmCÚ (úæç¥`B§²#åÆóáö§+ëR¤Æjá2yƒuå—>²dl\%×Çù`ioÓ¦nwc@qï/²T/J±«é™GR)}QDöÑàŸ]ŠâªvCòÇ ¥sù/ ¹ýÔ±5rоÞ5*tÛÛ fÒü;…VÇ]Ù9¦ó¯Ä»"(ÓºÅ×1ጻʦX³§"íqè•3|g@MÙî×È‘®¡¤s]]¿ê–†\´N«²0Lçûønã 3µ‰)¯cƒ¨Qˆ7§D4m“Ú¼ôBåÁ}½ºË>¿<¦jÞ”ám1¡2r-™þ}Wâ˜j×23«øP ÆZóƤÓ!…ï"cd¼ORO7pu³ì”í|rjÞ0ärš^Är(Þ…Ú¡ÿ¡>ñÄâ¸a±Ú§Æ-ôë¸Ån­æ–£Wš¥žÅts‹û#KV.퇉|4ƒz.x´L¾åµPþ°æÌwÎÔô´¾WA-dšé™Uñëô&]âsÝ–¸çÚÑgØë‰îµô>að7‹ÁR@n“ÌüH©§Á=È$ò:èBÑ1ŠU~?ú£ñÇ+ͯ±Í ^Ô¿’O®™2dÔ¬å„gw§ô;ÃÌ¢ç:Wqý1Q拈à~=)ÅB†ú ºÍPã¸òaVÙ‹½i ˆùBs(Õ.ØùQb“Ôi‹E`GâAÑ@“]o!šÈg@GG{ãÃF¦'@e—^ë |(Å•¦ž(‰p‘飢öÇ*iˆ¤]½“^‹™ìÌ´oAð%:]!ØeѾo¬ 6I‹iªæ¯4ÜÓ °37œê¼Ëç„㮕¼xý™iLä_?l-œ¨,½x×»³œÐEXßtã'?j ›Æ@Cy·°M4rÖVßÖènjñ@°[)FùOå ÝŸÞ=ûj:Ãú\9¹mè¾Ò~„ÉѾCtñ[â{ލZˆûÅd]XÌXÎxy(wà†· Ì©ÒàqóË}4W—döì¬áiÝ.‰\“d2&W 8}t»ŠbÂw9:jånánopH6Wºl{]¼ëô–ÈP–ïî·é_•Ë9TRç ‹ŸšÅec$»ônÝÅ®¶…Ò¾Õž©ô}Žðq-žp“ÀìúpƒåÙ¤M&Õœ"b6I¦ tk®[kHk9Â!Û8šUâ˜1ëgQXþ¥ ÷† ­xY4±sÚˆØÆæñû:a¯qχÂâ{áQ?ë5”°ÛϦÓc¬¢+ƒùCÓé|×”2èm¾ª ðô]ØBŠò %Àµq6Ä^ä£PYD¾?ß@QÍñ/Ò#-V`Á˜çdrR:ò†n ˆR¦]ÄŒÛÂ&0 1 Ï ô6˜QÓ{–õfÆ)ðºh&k_$V¥0â¿ÀÖøŽ—‡ XgÖT‚ƒqÕï:¼ö¯É+/–oݱ!¨u%Ûx:Â^˜ŠÄ@#ìY2¥ ©¼r‹Ÿ´²Ê8çÓFø}÷ƒ8ÔU•W[÷ brb3"/—¡LvTü¾)1Z«õéðûdõö› ýû~Ÿ6/jHŽN / Ú¿¤òøV|UôìpBBî•CC‡ÿ‡e·¾F.ž0>E€LA±9.Lè¢ ä¢-íiÊþÄDAê@fa¨KãÙÃ}+ÔÅàXjccé(›lÚâ´†ôk`znEðŠ|[¤({!1–ö³¡£ÀÞà/( !yLšTÊ®5ó4£”yÚÏÇÁ?!”#©ûˉ¹Äø˜ ‘®ˆC<CgƬݥ»¨_vƒQìôi·&½>ò‚l.ˆ”,ü‹C3LPn’bh#³ÒÓ“­S/ÙUÀõ*î‘~Qˆîù‰ÒvPRäIÍ!ÓÐÅÇ ¥cÍþ"Ûµç1{ªw¥r2åKŒK“®UdÕÂAf\"å´cs:}Õ­ê¨B$ûƒYÄ„,&l‹¼O$Å7ú='m Ö#±˜ ~š”'G`… 9ZZ½kùrÑòú V([WÌQ‚HW’Á¿å @ ѹ‡>7a1i FýêmÚ¬H¬|”¨ÆÍc.¸7&Bõ¥ióÑð‚sïJZ“½ä•X‡‚G™î,Öz-XØÄñ%ƪœzÍCöÙ!¨F°|ñISåjì%w˸yJÌ“‘~5.â7D§±Ã®v!l2Fâ8®•}a ïy‘ÇÊi!žùB¾º$ýA´É4Zœ ŸËˆò¤ª¾1›Y”;Á¢Âüã`ÕðT#¸%씲ҵ7€L²Do¦æk*¼†®´l£•ƒªUeMÑY®›.cî¹±rèPߦaèƒFÈ Mç£*È:.€9àêéÛJÍßwôÇZ°_¥bŠxèm¶ÙÿÌú4  ±¼†û튈B&ÞtìÊÔ{VêóÅj0íY”äß0 @iòášù÷âFï×»&P¢v¹ûi;Çßÿƒ3ÛÜ—®&ç” 8e.¨›þþT€ð L‹Æv¹*çzr›zl‡Å!°Á¨ë$ð"¨²Â½%¶-¤dPWó#B+'8]í¤A‹·}!¦ §#!m”ƒ˜}@9âØÖåì§ZøåÞb’cÓš°7cÀlŽè†Ìk,¤âÂzê¬N›‡bºãd?µu$cbB*eQ./–õ÷ý@dPKdÔ ù—Í,à™ëãU°/aÐ¥ Ca}¼šZF1Õý>yêúCªÙH"GyS)]MúN ‚À.Ž#€³ióï´Z6 ¤åöô±èvlãä~B°£ÙŃzžN5ìîѯa´ãgäú)ÆgIîk†ÍT>–ÖÊ6x”¤ªÏ‰RP7'ÌsU&!ˆª`ÔhÌF¥IYrÓÖ•C/;N%a¡v}¡¬f·Úóß_u‰!Íeœ!yÂÌŸ Å??)Ûûõ|4彎ð®ZØ2K‰ØÑ†IYÀ¾-G ’€ Õr´ý^P<,QѬ‹Wá‹Â¥ÌÌSÒéŒ1a(½¼T=A*ãLï¬À™6³•Ê&ü¶—ºk<«â™9wX`.ÃiØ_&ùb°þÒZñË>½›_‘޹í¢365èÕM>)_°#oÃ;A%áNSŽ€qV8£HTŒqbZ6³ 6±¢—Öë¹.®g›ŸPß6³»†ÚÛVÐù4'f±¹*¾k'¾)¤^,,ÚF.0ˆ]ô~ˆS,¸ÖÊÎ_?賫b-©>#s0¶yž)“/ðX²¾"ÞÆÂ˯¤e% þ‹2D|¶á-ºOœˆã€øýy‘a ÔHÖVÙ4ú‹ÛZ˜2Ì”:)fP²£ü‹sžKHx\sÖžÀÓ{w!—µ€ NÛézoRröN Ð+ Û}À Ðá6_…V|µu§ ώΆ#§+[˜MÉXãšI™Öù*/ÅäqÉAW³ê1°LÀ,ôñô P0ÐÓžt²Ùü9@“‚a/Cz™wëôÜŠñ±>ó£‰}2Éׯ/alq4û§(ÁÃzñÉöaæ .¤uÓ,Ä,"u×VÙV¡5i#äþ‡ÛOÊåêíŸ@Ð÷†V~½w©!‚³B°SÝ ]")z Ò® 䯼Àwº ˆ@ s÷Æ\‰8 ”ñreO6ðG­S”çÅÐW†kÿd‰„÷a+Ù’3bCŸÝ‹ ®6‰¿8î S ²Í#½ò–U¤ÿœýγQ›¹ê= EMÿ®´Wˆ¼GbÌÓ…ËvÃæÙC?-䕾†YÁ{ÝoíÝÅ k{:Íñº¼ù¼÷0­Ó•'TPj­Nvq R’Õá>ì+ÖÓÁ/ÑÁ•7ÏZG""Ò'Ç`¬Šüxñ ûØî´äVò]0¬áÁ+ŠÞ‘wîjMö !¯›ñóÿ•l#gš3±¶PXü» ¢5‹šN¤é-˜^¦]À9ne’g< µX$m·ê]Çxùɬþº ‹±SÌÉšRô› –š-D®ùÈIü×vkçGt˜Å.È—%).ø¸ˆc]ºS¿Ì.é&±³ìµ–À#D<–Žz!¢DÊæÉÉð©ßô.H‡íCÙ¿MÓh2†‰DCwUPŒB[Îm[j-J®ñ²ž|ÆdjXîØðH‡*e½¥«ÊÂÚéã™}RÃïÅö8ÒÃÍèÖ¹y‹ÇB6¥µï+ z´Óe'=²FÙW5Ãú2ŽŒ|/&†äóH¤ÓèÙM5'hk‚Qž€xêƒîXí«,íú¯”ŒiÚ] ùQlµzP<#`ÌÞߺjiMÿŸ™Úð¬ÈŠZˆíŽ Y¦룼+2ý9%ÌÇýÂ0RÔïŽ^y6KÖ_£0g2Ú«·ÐÝ ø70^Q­@Y9àèW­x»ÓP`PØíÒb›…ßã])ãs‘}" S¨Â4s_uédBÛ;#NÅ Õ0}Ú_í’ö(wÂòH:ÔÏÔqå §3œý¯@ú=¢ôÿÓP ¸ÉÔýc~QYçTö§¤Ø„a6ÿŠH“Cý/ &ýdGºèÖÒ1H^="¥²(ضOÝ\/û[Iv‚àèPãúWi¿wú5~M4P8ã¥ÔtuRtÜ\ßQùmE¥®Joƒ00·èj^Bº–ï[lk )~0!×õã‘ÃþÕ\÷1üo‘ ¦ ŸÍä.Y굿[Ùžs¾^ȪÊ"Õá@(<!s¬™Õ]UÇîKuÁp¿œtŽ—’9…CÚßà8½–†¡)2û¸¯ý =•U ¢°œ?Ù¦TÖâs(,ç¿7^2t¥½Ñ”M7)ÀtëYé)Õ|‰ä¸Aá@Dˆ–•¨pô&ÚŽê«™Þ¸¸vkè–/}ͳ—îÝQ:k„¼ú\Yáãí–N”*Þ¸IjßÑæò]¶w­š~Êâ0n{Àçé&©VN/§h3@ɱÏfÂØÁN´“GÐNÆ™\Ö9÷™¼Ž7#ß3£êûã'è§€4D!û{Âó!}æü©lkuÌ:æ à_ãô»÷_²”Ý­Ì¡îkf24¥ ‡aEUu”ÝôŠÜ;„x+^j‚÷ ¾þ¢'¥ÖÆ™1zèi/Ê—$¿séªìGÆM‘ í=ñs>GúA5-S¢|û;Àgs-– ´~ÂÝÕ'œ5s„(ÄʧֽŽ!ö\ƒxžjäR¾“¦IŸ99”ùyÛðô½~?ãªwVnô«9†òOª]ô7àm«ýÐþv²è_¤*'9¥Â±¡L; ΂ûpÖ”‰qms­ ئꇖJÏòâo.*î} â7œpZjÊòô‚:ð$XèŸÇ#šïŒõ ÇHW¬”Q‰†-á0 »¿¬ó—‰ÅÎ@n¸èÝî²-ñÞÓ醟›Ö5r ƒ‰ò*¬·eÂG[#xÁ:)Ù#×=úÛ©$˜ èK¡-aº¯@lW‰¯8iëŒ iˆþ½\MXýVL aó=u@aü82€í2Òh*r·iÇqTô—¹uѪP¡Ã%Ư­ª¨Þû‚p}>è—Zš8Ï9®D`(.lÅ®¿tý ŽIZyU®ì”™€'±¸¿}ûæ*‚w)˜4”ó˜[§´q¢3à`ƒ|=òh 97õZ¡i±h¸˜oÛ8ºb“ìÑ(ØWŸà±Ê>'-ï.p8.¾®öqN‘˜«|ŠÍ úúVµ|CB¥z»dL%Bš~Ÿ'Ÿî <¶Ì`L=ÐW096Ì{ëùŸRaÈ,É:„˜‘‘þ«Y¢ûëVOˆ7(ÁJ£Óf«:iï|[dDº—|/ÔŸ™Æ >2ÒÀ›…Bnx o9l”}ØÓÃ{˜Îö­“…çÆGG,Í)‹ :íRoh!^á(\iºƒ, .Å pû ]šâC[L› šX¨a«‹ñÜÕ$öÖJë©Öo£ºM¤¶¢ÌŽ$¢*‚zÐ §L©%GŸ5Iû†än¹À#ÍX4“Íÿ_´3¹Æ‰¥=‘–noëÔ1è´TãŒEÖÔ²%´æÉüIÒEì":heÌÔÇÀPó@èµéI©Ãb½§<þLmŒî |4/>›~\ Ó´PI®-PS­_! I•“r»!»w\Ï""r·²©EŸÿ‘?ô‹».®ü ùw¹@!q£òšX•}h>=›rÀQ5§¤äÙÓokÖ­(Ÿ~â_î,<È4qx'2æmç”íxV§Þ‰nþÚÀ ÍH¬éš2‰ÁÐö¸ù'mNâ¼ Ã%¡úĨ’KH@ÍàãԆ̒¨')?l”»Ó¾­`_ã¹nõË^Óô€n›¨}ÅÆz:‡ðÍEY‰}5ߢ…½P(¶_EÜ« }(t4ôp z¤¿ìŽÃSE!VÉ;âêªy¢Uk±Ä8`Ã5¸¨“刅*s¡eÍ’ TQC&ó}m ÷µNÿË$Âꂟ¢8ö?΢þ«X’¨ 6Á©®¤Ã¯óš¼Ñ{1ðb×faøjXQi_(1˜wËyjPäÚ`AUÕÙÖ’ú³U¶QId èQ[¤„Ý1T¾t*iÍ×ã¨ö‰Ð§pÈ*ZQ®|ÃÆßkÉžÈJ ¯Ó0«A §Ð{àç+ý¢šúm¤.vfÁÖî¼ò§¨€Ô><´‰‚&Gf3æ±zWN2¤ÿ …Š6Zú1H,&`M»žÌYš(³¾¸þ#<>Ix}ª‘f€ó'0VR#ðL ˜ñ¼O ­Ù½·'îO§¡ ßÜ™Íàõx‘fd{O*@¸R(d ¡¯>?ɧþHÏNõ' ”˜Û•áÉ C€)üzv¤×Hž/ÏÊ4)í<òæ’¦;%3=v9CZ“Ô&¡ïÛ…¯åþÏÚ¹äh]¶»Ø§ù*zõB꘾mŽŽ~£•çÏÉe°n¨þ×iy…Þ®/aó‹@Ù{@Ù'šFÂ8 S€r“ÎЦJ¼Uô~PÕ+×(¬cü¯‰ âàÓ’Ž‚üc9GXSôÌÆ€Í,¥[–jõ=UG ÅJ¬†û;wÔ:ÍHt¹7ô‘¾šÝˆé>¤Ü'üòRZA½A~9ùmR‘ˆ3Ú" \Ô‚„æƒV—§£æÍïú|îJˆ$>ëìÁWT–f@\$¾ÄrÛr{öFµRé®.¼9ó\6ß«vgÿ^=¬Fjhš]ŠúE†n\¢Œ4•›&¥¬RÈAé!„©-bØG]NœHë"ꢤK}E,ŠQð¬[Û#fè)&¯#ÅBg™‰7^n—_ü/H̱}itßõjòÚÝе©Zè@²ùìãûÁ7«nOR³ÚL °B—1¡_73éZ#´ YžmôO˜ÿ)í÷É”±n‰:ñP髽C§b±‰¹GÞ ûäAÎñžßÅÔüöáÕcxˆ¦˜'Q†PÚ©Á `ùk2sè¸Ýåf¤Í%;ì,ÆžÁw·úÀ1Ô¸áßÓ^­p!=ê^šâ[è‡BcÈP#†C=¶_%-¨ñ¢îF3´\Cz8Ø„ŸþQj‘H$/ãªaào1T.‚&öªWEë>ÝζߌO»ÂüIšwûn¦\e.dÔÏ£†`-Ò=c|b`óŠg¼„I¬ æºL=7±ŽaUq×½ ðð=¾Xÿ+9gGùl\$*.wÀ,¼Œ‹ëcc(à¨%¾“ôqø˜Êé‹ÄÑ⻡óà®òwÖÚCMY,Ïúf ?Àƒ è' z,TÍ‚û¼™6ε*”þ<(ˆjÑZáI ƒ´¬lõ˶N„}¢ðo_Zy½:õX±Í@ÑÐç+!*24Òî;­þ·öèò3/Э??xûñòuG¡ؿ׽ÞÎÓì»[hV/îßÿ{\â“›²î^úX©(m‚ B*¯F`?Ç2ôM}ÀEkÝD}öT[`%i_Î_Qfñk”`Åôßû¼·–ƇYón{Wý…93,Çê•W°aý-§ í\„^ñk[…Q}gØæp¢º ¡‡cЄ‡c±µ‘ï‚®/¯¼{S‹ÈwÉÏ€Žua|×Boè\ãD_ðž“i7õH³»òÏP[Ú|˜ò#À±Šuå`CÏìßg‘ bìîÆ4ZÔÙ‘Óu­¿Õ$šiøZç1-ÜûÉ$ ç-vaôçsQæëK'§HoZ:W(‘Ìkø¤#¶!u°' çÚDÑJÀXYôbvMÆ¥qÀmå‡ò¾ÑHÇÖ0´¿Äá&iY¢¿®÷êÿaòîÑsBÍ!Ià,ȕζX4¼H¡ ÒRf¯rÊÙ¡eŸùçú‚Xebó hvÁ<5ì{bröSJÉvg$$‹cF·$Uɱ)ë.¢Ž¨Í¤½Wö:s÷®­³ˆ±eùÐ!ðãУBIá¢_î8É1‚ËsÏ.&ˆ/·¾]QˆLbOUØ å@í»_~8ãGìiË‹-óþ±aÕf³Õä&::ÜÀt>½¡³Ø_ c„ kã%'¢Í tœ‡Æa‚hª}~ÊUKx7͇ŠHb†ðãì*í@^ÿNQƒ0{å*oV4ŸâÞú‰\òˆÉ“æåx)˜•(£èím)~×üjO¦wÒ©¿¯ÀŸ77»^6£bÞ=™K1!MÏšÝVáGƒÐ´É˜î;~€n-Æ—CA¹¼ø›lD“iêS3ñÓ'çôO™uË|ß;R—¬"í¯Ýu+Wë…ÒbŠ-xf—=““žxRžG§.—Œ±e—mù+ê%« ^‘õ  mÛÚ%”mÞ oòýãÑ·x‚\[Ù†QÚê+ƒíAô+·+ÿÔ¤‡ÆÿÏB5QØršñ[°ÿÝÆÈ—ºþ^cç'.É*ÿ0¼fNüsof¶Q²—ç„#('Á_[X §|(À•´/ì>qbpðZzŠ­§¿íuŠ:Ô°ÕSè-–%¡“׿³üe²ãNüX¨a $¼â’¿hÕ‡8`Ëgsf:=o¨XÚRòu#ܹŽûìËÿ9²j3¤ oóÁX–½ØÝ×Z¥š¬ýð ÷;»>Pš˜b¡ ¹GªäËfÂô®2¤ÐFò¬XnÛ9x4·â`”*X¸ôwL¦oU÷ÁÓ.Ž;í"èóî ÁáªÀø³¡ä'Ýz­“|Ù2§¿Û3æ#_õd5:¤°C™?s­<º±Wõ_®ó°e=3Yð¾Áúþ D[ ÷ï–Ù¥Áè™lþ;T:ñu&æ¡A³Cô„Ôv’ý…žšVŠŠ}î'^\[³8#+H¸9„j,›Êí—¸”úß»Ï/ý>…ÐñLÆùŽ@ðûQ'©9©§ ¿÷€Ažè ¿;ÜDJ4–‚ʤó°Î4!‡‚:Z@ô3Ú ÔQ„¡²-Z—TL²ŽŽÒéå¯c´´‰Ž`¤=ã†}õm†³:8V*9 `C¼Üwh»gÞ}§ì3á6?âgßAëx»Âæk¢×õO·Ã™Ò[³lغú,š]Ùïû̺Ú€Âê;+ª!á–,;[®mg&ñ&è_n?`Õû(>æ0VqÇì)­Œ„Ph|¸–4ïáQ,Ú(;¬3ª9IÿÕ1“ÝnÞ•1²‹ f_å,÷ ÕÇ4NÉy¶yÇ‹ÿuªô¬BòmÃØštmý#{œO]߀FlÈM¹,NÖU‘o»µÌÂ?¦Ò 0ÜÈ£“B}rXO”QüøÞÄsbó‹=ê]*-¸‡Bnì“ylw^=JP´f «ªßxK­ŒI‰"Õ1äfo6{æ™æå™ükæ—¶¤€Q;Cèoiª›ÄÜk›¦K®NK\»f’×ö=ûé•…#ãL‚zép!.™:f¸œl±GÒ“´Ù]¦¼Ždz×›pÁ%ÖšÈL‚¸<\w.©gw9Pƒ×S?g+ú/$»ûÄÝ0‰lSU3¬_nÇdaÁY á´ÿLÎB‚‡Ìo›ÎÜÑõ.v­(?" ß¡Þl5áÜ+ ZšÝQSm…”šñ¸õüÖg"§-vý¬KvIàq]m¤ÃA,û‡÷ù´A²gµÁKÇ9ÎW×ôh…„D¢P Š¹Œæ`‹/´pÙ *Éޖ玪°é @uÁxæzaP­àOùFu³vcŽÄïÜ!¶|m,8ÿQ= ŸIݵ]-$êHë‚!NØ.Ƭ¤^cNo?Àbþ‰?½µ‹¥)*‚caZ»46<ÕÎëc˜Lõy ´@%€x û µ¢;†C]W§_òwãs°´"p.MoÛ±ƒnû7–ˆ*ë è'±@ƒPˆFðÕ2ì#AjtàÑæOË®-é01qßJW6µ$”B¿zug¦W¨¡Ò |â.Ê9¿*ÓéFm…•PÚ³ƒAÝœ\h8K6[¯`!œ—ÄÌ‘_VÖÜzÚ툭8‹˜Aá´QrÚµ FJQ`_†¥t__\ùÂ)‚KõV«@=ühPJ_€fõˆ½ö< é<ö~?æ&nd¨Ó'o[Š,?̨þ–÷ܬš !õV¦´1”T–fg  BÇ)¶;¤ÉÀ““ÇD¸\’<1Çù±_ƒúf~E¸ÞÍw£W[¶é´G²¶bØêÿ—M;Gr!á^z*`·bø”vÚÁîjàMw•J‹=±ž™—^0 ›D¤SÌ x‚6íí×Ö¤SúÆ- dOÈ#£Šé£`» ^úHâz™~7(æÐ[èp–^\æPãxtu˜Áp6ˆÊY.{´í95o¡ã!ÝC¹œn¸¥›[‚õêÊtá+ ýô¹c"-=ñY/_m3µ¸-bì»—¾6¼ê p‹ò¢‹ÓæÛ‘þŸW\×Ú[sì•T†¾$ûkåXÄnaˆÖyBê,\YY¥*Ðpy_pýQóSÌ.÷ùX†1CoÅÛŠ¦ð¥0ô)^Є 7kg¸Ar„h‘å\×òv-ý‘¡,2œ‚JUR0ëî’Ú´ÇÍ!ë\ÙjÀnÁz·µ ,´[(…H|.Öî-º»tÆ#Òë1# 1FçHå¤ãðSæñ¢íRHéÿHš>çüÐßr¯‰Íš  J¨Ð<9‰ÐMB³;'[@ßÍ0a‚ ôù37‰}•þ°Ö^›¬/Ø}öÿ•¯õîÞý#ˆ3?y á Ù\¨$ð‘ƒu>âœ'&@?Núj,Š%X9ÁÓ÷==íô !@»é±´ äøt„À¦»é–¶ºÃ$fxV<|ÃÁÖˆÙÚ–ëØF÷±Jg'¨YÜ‹Ë2Øu‘•‚õÇð2€QnÈôà“ƒ'\ļ&HÃ=V4ñµ…^wù$@xAŸ Ñ}í°_‘*„Ä4äeîy3µ¿$õI=VO¸Ñ½¢qš=Þ"dC‚=±Ô·»~Æ}x÷ÝY±FÕã’â°ÐïVûÕÆ·™ç/2N¹é+å2_^_Q¤óÖ†Ð+ès0>{ѧ÷|¸mpò¢HÜ`×¶PtY[&PŒr¸“ég§ŒmV¨I¯…ß«Åe¨ö @ïas‡¯ÔJ·òÌb¼W?bî)OvDÜöa8J ¦Åg.ŽKy7D µлÈö^ÜÐîBœŠ¸îûD8ý­ú®„¸dºSÔSÛ}¶>'Ÿkü%º“ÑÈ߸ðßG\Ám¡ø c:(ù¥7&Œ*[¨7ÅïS÷ä<-ÕýÌ-%ÍeÞ.Þ¬IÄ/ññÜëm"¸çd›ÈÌ ä EmY%r˺ßôùi ”@^ÒeÙÿGÆs[~weËcQ-²•땚‚æî¥è»72Î!ñpI*+C§ÃY¨œšc%@.y“¢!–3Œ‰ÖÕì'¿2WÝjK³k!§Ód)%—×9{ÏEGEí-/ RŽ©iÛ§ #Ðò¹¨”9±îxøSŸïÏ2úVø6*_‡ŒÁÃuXV£SÃlºŽ0Æ#¶(¹4ÈÜ&Iôšÿظ+¹éàRè Èî¢ÈëÂÓ–ãˆÙ&N[hÄ lÖQP7ççÃò4½‚_Q×°•s¤ÐèÔŽç]Þ½ê{xä`‚ot:žw b9¡5«»w¨„ŸZwDýäèøŠÙ-ˆÒëà&tÿÃÿoÁf[ûÉ¿~)URÉé16/ ‘‚Ôæ«;9 󯲣ä~T‡‚ ÷ËKÔ»Ó¥ùä ¸ŒÂÀü>cóÃ<ª†¶ÝhÏûÝÙ¨•É ­‘ö\Ž‚•©7&X§À"ð¡%£ãÙPež¥”âm°«L†Ë¯ô¡L_N¤WM^Ýtf}=v~hfµÝ× 'Ýz«í±iBCEfÝJc>‚có?ÛÀ¸¡š«ç“R+Á[ãúT>L5jýÄìˆÛÎ×`ã$!C2¾Ø*D…ÜDÆØÚuѬᢺ,ÜÛ¡Õ|µ’šã•X¸«iç4¬}÷ˆ‘u„b®©ÛKP¤pÉ_ZLaÈÖ/÷ô,­[£'é1H¸Eá*Zš ŠÕaS«u.Ñ…0!t U?¢È)Oš–AÃÎl¼†nwÚ¨Ãxi.]å£hI¤†;£ï?@5=îÍmš¾%ôWBWÃ?UR¾Öêþs_*a¾ªxÆÒ[¸€^B z…ÑÖa¨}`ýÀoþ_Ä6<Áæhéÿ\r'ëy…š;7°€Ó/eyªI§«…쟠gßè[ýÃQkD+îO)@Ò™_îeC”´‹“nÇŠ¬Œ÷0|Qôcë˜Ò’ñQYɯxý|ý5Úp+ ³fIÿv^ñ—á!Õ7¨¯¢´.«™®ãŽ["§)ÆãIû0éІ S•à°OGH¾_¸[*•Œ¾Xü˜SoÙú÷ô„e}”dhÿIVt rùyùîtîtÜaï«RÒ¿Ëh'îWûȨñaþ³ðb«M‹*•ÿ9À@·{oÑLåÜ×–‡†ª2«Ö‹Ä˜ y«DðážÕ‹_šäÙ ¾ [#$±å¯ãŒ¨ß5pKpmB E×ÕŸå¸XøÆ›¹áÅ_Žš/À1˜CŠô;eGð@ù@,FÓkäñcÿ^H–Ï®´¥}ê±çF‘ñÕ”Mð 'ª?€ò¤»Û‡ù~Á¶Ëe ž¹\Ž/IÿšL• úÜ 0sý¹ý#?POÔ»Ø>žCS½’‹R·7Ã@eRêzÆ&;·± `bÛ)ÏÃ?ŒŒ•>i s™äÕÐíÿ+1LNÇvŽ{ˆ–¦™‘‚KpÐH,B  <¨å;Ké Š½Å+oœn^À¯²ŒéŸÅ¼Ø-r‰½IËø^8EpAêåºÉ&eßq<Íœ¡ xÎ86ÑUúäs¼DSÀ~ÁÁY0J:ÌíD¿éÆ5Ža ¿­‚‚T=OË–:ÝC,”p@¶RhÎôìî&D³ÿRŸœÑÓ–Þ˜xŸ¥tñ€ÄüŸÎÈõ,ÍâHMàÔž¦Ø……sޝŠjsK|Ân¤¦÷®¡ïÝá"Àݵík¼WSCmÒLËëN+6ˆË­úÜ•ú«¼ðúŽº’N©pN¿ÀßH(K{Ô@E"µ¢FÙ“€‡ „)øi!æM¼¯åç"g“sÚ ÃúE4ç›à¨÷ð󤀛R³ˆÄÚ!µ<ÒŠå‰$5nÊ+}α0C/,Š­ÿUZ©°ºÒ.„ØòÀIžÔ¨nh‰«Ä-ÎkíÅÚ¯¿VVÂÌ5dÝñWµ7Xr=dòù^s•QÑho&Vz3w»™„ÒÑô>;ŠÀ‘ú_Ö¡j#‡ÄëM„éiQ—=¡oŽHáãÍõ4>º‘ý—ÝœÀZ¢wx¯±M±)¥ŽðJY¬³•ü=ÊF€ÎFt8‰øq髇Ãböñ}¥Üö+¶%Sü®J=ø°…u o˜ ŽéÏœmŽòªá¶OÉ:O:­)YY×ÖU×3²Ü€ýñ¶FTb)½ÁIì«©ÃD¯f[»F%Ëvuö#"—­Áh®9fÝö2ò>Ïqå;:Ø]ÆÀ!‘©f‡©i{f…^[ù¨·†³Šä•}ðÜ `QFá2£pUÐe`ÐD÷¯Ð3yñ²òJˆ…„¶îØE¥aD‰`®Ï®Xà+ÌÙ°Ÿ>nʼn}2Ó'¼¿™rd;\aaU0\Þq&ãH†ÈwM Yõ* ·ñòø»ï²ã†95«˜gE‘ˆšú{iªáì}™©ÈE%—Џ8ã¥U9uô§öÚ¬³zJX{¼X.œ*¯×jèæ_Ì™Ï0ÝÚ¾ýlšyG½[…ýÓ ”´G#zï(\&Ø´Ì’S©/¼ªÏžB¸Ï‰z•6âM”q…5æð¥ŠÙÂ&¶D‚ï|ði¾ ¦M¾WȘ–0ÞÔCÅz ¬T ØzÒ $¿šÌ¶Ž_øöUÝ á N†§–¿þ¦SÚ«’<Š®­W¸Ý£12Ž_QÊÆE""zqðxÖÛ~òñ*ÑAiàuù KK#àõwÓØ€[/}ÞÑ©ŸÃO?jSÇ¥Qªy@  ûÓ~`ð’ÝëkcH¾ñÉjÄãÁªÇ8s‡×ÉûÜÈàŸÂDÕÑTXÞŽAeS0ƒ†O¶Õ× „zÜÈF¾Ô¿GŠ ìB}¹éê7ûš§™&™°¸ÏV´€•tu¦\˜ÔÞÓW}5/H’ÉÕ²™øqO­ cÊü¤Û ‚Ño7B÷ߘ {À›jÆuÇØÍ3•¯ â}GG] `¨Üø:ˆÙ<]È.5+ûÙlŽ…RÐp§= ¥¸»îVüóŠÞ£ Rmzi&b.iHFÍÊŸ®ßdM™]K¶%î.k0¬×*Ïõ`xá}†`Á×åþi>°Â¢i£w¯ªòœ­FÉ–ocbL ȹﵦ)ðFhàgBùÙÉáZcy)˜3u^‡Åá°ªˆ¹•{ÂñÌlcþ®!Ð5 ³U®>”‚Þ¶Ä;I²a‘ÓJ¢\„š‹êÏnäxùã“g¸9Oò çEÔñ•y±Pƒîž |«¹ÛçXxˆ¦ ,JÏÙyJyX׈cm¦›g¬jŠÈZr€ ã$Ö¡0_g’ KËØW&>åä(m/ù# ‰nÙH°åcŸb9[ ÜÍOòÓ#<ðn5çשÌ%Ù Rzžå a%ËKÛtÖwý¿>×;¾¦F¯b©7Ŷˠµ¨ÍgŽÔ#anÜunÃé˜\Ur9÷-lܯay‚2ɰ®,Iý{´ÉúQ˜[ÿy6qòõ|õl¬qò²iàýW>•[ªª( 3íÑô}ꢫ­¤ÇŽÖ\;tCלáII%ëÁ0‡¼ùCöSÒ,é+\âÚh\Ñ«fÊ­^ða¢èÍZ‡ŠëØIÂ5¢TcÊJFêeÿW(ƒ ,!÷TÅwõ5ìÖ’q7e“ÿepÀ4tÃ+ÙžæeÃþ’_œ¡êãñŠFÓèÕ›uÙÐG<óMuØÌU7¶Êá´¯ëCpiÕ€¼e9hñÃH–Æ‹dŽRŸ½O/(²± sy¿„'„b‡Ö@Ó°tBîì |Ñ(y]+§>ËÀ*IXØäQÅÁ®v¥ þ÷ãe-Aª—[`–Úx½c×<0[p‹”7ŒûP·m£Ë›µ)5öh×w7pº»}𠯚1Áãîo+"“¸»¾ ŽÎ$Œ3þˆú¤y YÚêIìþ7+FðJˆ¬~±°ãíET<§³›}_„&O(½ßÞùÀþj>Â_YÙÎÞ¥:=JœVù$‡X)G^µ•Þ)žÑÙ#°2 UÂ5o,ՠΛ†vÐh†u)Úx¿÷d QDJìVë?îÜZÁ⟌¥‹c÷ú`¢5³e:P3l| úc²Ã!š{Õ¤©ñW,ÒÛº¨D ÙÖQW9·2ïµ m—2ðgñ›bFqò£ ½ošúùlyí‹ö4;ä»WËÁ!%÷±J ûþÌ’aRôx§5M˜ûÁ)Uÿk%2"£ô¬(ê¨]Or7Ef›øé@Ô%Å÷ t*¥@*\¶yô¦óo¨áaRzÿá_³–¢oNIuõ·R‹ÿ§¾É3±ížU&mT>^Ç }ÖÃýá·ÔίF†„ÉI‰<Ì@c‚Ÿ“—æê0¶^;T#£±ÌV î´Ë‡’ùWÝW6¹^|ñ¨jiJ3å>:nËR«ÔË5>m¬®ÑPARAŠd#¦ 8J)²ëKÒ˜®¨ÄˆÄqîF`èúó :Ø–VqQ2F7§¬6¹Â*Ðÿø€is\Oš×ñîÖ_¾$ àÏÒ!ÜcŽPœi,v_“ž6tȼR|œ0“Ò¤Þ‘A«}Œ0Ÿ¨¦T&µ6ª ¦e[Õ·nM˜Ø*¤õëk{ÇWBŽQ¢å/Ȫt]ËN)Û×½ºbï?é«‘ü3´›ï‚Ôâ“øØM<Æ+Y=û)Ðu”« ^¬â$ÅÕ ¦CÕ5•Ÿ`se‰lo˜å[î $0éŒrÊæÎ6{üÙMãI]ݲ:ÔÎ\d\»îÁP°ëêš¼‘¨ë°%'Ëu(§.zYÖÝ’¾ s»Éh n9c\Ö¨"êä ñm¿MÍ$áÎiÐöT¡fg¡|t•ñ¿ª³Æ\n)Øm¤ˆ=ÌÕ£-xGÛlŽ„ðš˜¿u’‰‰ªw¨(¶|`óÃ@¢êŒ°$Ù¥¸H$=àáºy”¹§÷®+ù™?ÃäC·š?eéq²ÍQ9c>Œ¨àÐrmÓñL:bBö1´ô¬›;OT¿â[Í8å×ì<´®ëû¦ÔÁ«M.ËA¬ËàYÑà?EðŽ5¯ˆ=~N@{°ÖY¢öCáƒTe:MV:k¤!R‘.wù]ô \H…ARê\»Aõ¿A’S?J¥ÉÐsùý=S¼1ÊZ¹èSëh3[GÆÒæƒf¿qé²ÞN’Š­Ž!iÖ£‡g¥t{l»ÕŒÓçåâmheKÊLòe5JH—ÔÇ 7¾ùú…rŸ¿%ÇÕt ð§ñc£~B¹õgO0;†ø¡<.!òkŒcí5„º<ÙN˜•ö¯…Ól3Û° Ù;;Ï;öÂ]¦W¡O´G*N­ùúƒ>.wKvBÁ8~ ïKÉž!Øå×G¯Gò£±q0Æ48ßhÈÑÔÈD›3Àz0\ÎÇÒÒ ™ Ç1hêÌ™R——cT¶Ê¶Pèô&i+ÓãÏ0<Q0ƒôdUG,`í* §Žu|ÈRxUæ£Ñ­ÿ}Ù¸ÉÕ J³QsŸ»WíÏ·C¿ 7fœ{òo`N;9wëÜjtéœþÅãÍæ¬:cÆØ!¬d¿»agáÂ÷¹ãëB0rúËæ!© á{/6´í)¯Ä·5¨ïÕÜp_ùý‰y<¼#–ÿÇ”râçÒ™Ÿe¿«e’ @Ý=¶ì¶ ÝÔÀŽðÍÉzà·Rư…bGºï^ ôWcˆÃoG~×K¶IÀöÆÎ¯ûÍCF+|0ì1!ˆZ‡Žî)» ‰´Êh¦>ž†Dà û—{yvƒˆ¶d‰²>foö¸£¤LÒ3ÿ³¢çë¥üÚ‡ÂQaõmž¸ž „g ;ÁÒGi®7tJØ6Óä·Ï÷]´‰9øq Ü}t]ÍÕóP5ƒÁʼnvÅà§ô¾JÝ`4à›D-¸¾›­-m[.…æDm<žH0.ÅŒ2=Óâ“[Ð-‡f+?-¶h0’{Máj IpªóHËêq‰£cY RémyÚ_ìo’N‚`6›‚ç3—Ñ•ÄòñŠ1úÒj·DhT3¬Þ;buÛý¢…Üy˜vX•<5ùƒV©¯©êoü¥!´¼ Ât»e]Ü« Šjjª—{Jr†èW —†Q¢“‹›AžK¦½¸¶àëX B_Žî )û zF öD×' v›~®ä!-Ž›ýdò_ÚVÖKÏš»ã=ëЋBïUEH¼÷J^Õì¸ØÉãO‡ìõ2Ä=¢2G°G#"†öЕÈÍbdò =¹®î02·êÆtçþOë¶Êqy«)(ý¦cÏUÝR¬í3Þ®Ñ]pŽ@{’fÛ Åè…>"w²ÉÌl…T™yo¦}¥üãÁ/hµ!Iÿ­YÙS OY>3 .Î÷«­tÅx«i$kw¢Þ>öx3¥ê òÄó"–Æ/˯áF™øíQæ- žN¤ެG6‘y ’‹íÚ*ÏÒa}ÇðúÃGŒ~°§hn”àÓAìÚOÆßߦN 6oøÆà%úL=ÅFc]Õ€&¯P9îÚÚéñW8¾ÿåt‰Ðßð°xÕS|J´÷%ÉìHæi–%ºhN2Iô#›kö#葟 ÉUÅ:ÃÔÖß…i”õïd18V Ç ┿@·à”ºÙµ D;ÑY4ö­c·ëÄ8éÅA$åYi"ðòÓúFˆ11¥àBw"`,¾{NͪõFnûq,–t‹,™.ö:J‹˜¤,aëÄOr’–á‚3û¿­Š˜>‹sãŽJT(!G§û]O>l®S`/µ #Ë[ ˜ºùØCŸ(1ÄiœzFÔJX®EÌ/fL…‰K!E€›æ…_Á­=Sô˜8p¢.ƯškæÌ pî'•lBÈùå˜ mÉ Ø)cÐ];ØôRµ’™ ¤ôÂ#¶ ËSÆr›Ã-â[ï7o‡/ÒbÅyyÒFÆå©ñ¿Â\Aß×1BÌgS]I7¸8Û%&¦ß3·Ï`Äô€,ù;‘|ø )8¯5ßòÉ@nõì€uÁýÀIÐ`*ü;°l:}Š­í²tXr/¥Ç¨#Æëø×Í)U3ùøuøisî=Æ"GíáttÔØ°ZÝ1Çœ¯Þëë¾z%¸XàМÝmbž”pÈ‹0¥±Çj—DBC”g:(`l“!yaxÙ¾Ôp0ô];…á&aí›T‚…zé‹wêbÿ9IÂlAÔXŸªï9mÀ‹”ùefß+ÁÖOþ¢áÖ yÏ´ÊËjÎPǼ‹V Þýî•MoY¦‰–t2À>N¥RF'÷âµ·å”·(Ï~^EÉóÅ-Ô8‡ÔeE’ØóÙºíÖFQ‹j"F¶‰NAŽ')Q:eä®Üxb(ñnT½Ðlµ7„¤^¦‹_U ÷œµæüŸYáb~I*hõ…Çkd€è¸æo)ÁÑø¤SN¦uÿÏYqèþwNî:Jv߬GÜú³–÷TôDæ|À´Té#ª÷éĺ1hÕntÏ™–×FåÜ܆\E~›ä«å±™†¶r1E-ðD0“ˆ >††¥Ž?“½ç†gQ]ÃÀþ† #l 4¨/çsÖWu߈} õ 0¶å¨ÉŠ6F)ÛúfÅÒ,RÙ´g^·{Jhæ,/þ"õà´á"™ó~ðÃ&Î(§ÅÔӽ؜ð\#%ý³nSÞwô#SÄÕû©õ^"0ÁU™9ÐûaæsíþÜo.—“J#Z %ëó{‹CÎ/ë ¦axZ’+åPE,Ëb®=le3fˆì\í;jC;ÁDË€ÅAÞu˜¸Ó¯]:{¤kH=c™ôi"Æù*Y_lîp1$|9Ù…=½_ í’ãk#ðßÂqùÎɵ/ØKq{h ,¿½Ý¢Šv)W(mðAÎ^ïEc`ˆ’·9Ú]ù®«ï[ni=<t¸Ž]°HmK‹fZØ/xˆ áFž=™2VŸþ¯„àøJƒ¿ÉûÍZ]u*Á×ªèØ©,B#ȯ y'Wd˜(‘JFÃ+–™^ ê_”$Ž{Û΂ìÒÌ}¢i%u¶¦¥t\vöí²ç¼Ú/lc±2–n/RÂ|SYb4ã8 :ýó¸Á<‘¾Ø.sv¨bº;Ö'Þº_Ê1t*k$ƒóaíë‚i™œ¢²,Ž2h…Æj‡§Ùþ$ŠO½»nwáÿÙÇÙ»Ñ §PJ ruR‰1Ûa÷a,îƒu¶'„9EëµO‰µ¾D8÷ 3îez À ®ÀuS¹2çr>tTJ-'7™t¿ƒ€ÆP;™¯§ç‹ml¶†)— ßÁY¥…ùÐ\( ôÚ@––u¬ ê;!Í~P¬âaUÈOm.Õ†?ÀÝ&\ ׯšoÜĬ‹Qͯ W¤µÎ¹Å‹-"(Ê2ß-X|•·Jâ{âüVp¤…AæÂop„=OÌõè(ÿçEÒÉ×S=ìÊöŒ$~'=Îo¨BÃȪÿ¯äÖ’Ëšwaænº•rPÝYjŽ.Ì^Ô)Á*•s/y™DIa`ëÇ·r¨‚Z?‘ÒTäˆÈnÝ©aš´³…Hõÿ,Jô~1Ò=#'®ál&6‰ÞIJ³7f%y(ë”ÿÇÝS·÷üR_¾m˜S˜ÞX]üG=Ð=Œ´XÐWfW)›ñÒ•ãÙ^ŸOaq"2Âà³x øš§–~shó ™´×ëÑ òTZ"Œ•Æóí¢pþ~¢`ˆù{%c ÅB®&—k6 _/j¿º9Hƒ¤^bÓ â¼ärH"nðŒ0<¦Óé;D”Vï)§_‰™Örݾ\=«+¬ÿŠ*†¤†ÓzÁ ÛëÅéÁ3W„ç“û{ûÕ E,³kgl÷Ëž¼r¿p<€n­V©uÎTkû9kìC§\ÊЀVAû(Àx$<‹Úu Z€¤³4Ñ!Ê ¢ÝÓ¬ªÛÈÕ½AÝe*•Y³Þ]whd%±$ÁîbôîñQo”áCO] êtˆ&ŸcÆtQ9â €lö}½ëpÊ綶̆¬Áà¾N€ïÕÁu¸žLéŸè‰ê™çnÎÏ.I8Öð†€„Ñ{ 37w|ò3*CÀè.k«l Á^c’8çV¢Aî¨~>-ÕÎë³ëÓ   fB°ë„uê¢L®Á¬ gÉÔ«M"Ô'·´^¸jçRÂ}Î9ªg^ùDùÉ\jvIñ²ƒ™-¤dü‹ŠÜ˸÷Ñw©î…Û䥄rÊ…ú4©Úµ0s[{¸vWA‘ùÉÆd¾N×§”Ž™’'mm‘Å[þúñcàa?wÍýëÉ÷™Üh aÙ>—ðÑ—8žÑIÝîîL±ýþkXÌ3‡ÊOÛ€ÍGãï'ˆQ¼9j¢EÄá*< ´©.-#[Ãbiê/&XêÙ;˜4ï³h.76Ñ,ø7|¿Â{Û[[,&hNŠÇeÚ‡£3ï,¨ ¯¥%ÙßÄQnÉ4]7›usÎ^…öOA=ñ¥-Uýö]à-\â(Ç´d~Î?d䞯F•eU´žêê†Ìƒrál§,³Éê¿í«¬n}`fÊiT_]nùœãášy3;ùüM?cò톷ŒG÷’¬™]¶r½e¦«ÇëÄœÔ0uC¡À‚ç*Dæ&Wqð‘~ÕîøLD:ev:.LÕÁ¢•¦¬M0@Ÿñr« i+´^’õ£=uU·\&"С€ „4ôì–*»;gâ/t¡9.¥xq2Ì×l3ª£`÷{0©nÖ(ÞX©ÙL*~Ù6†a–·4þ»¬-ÏxGò\ÂÍ)R&˜]=\«ç)þX±m»ÈÚ}-º;û<‹· ÓCü°Û§’^ïô±¾fɺðæö” 9ƒ_K;0XµYºl©ZÚŒ ãè÷1×€a$døéÜ‹"×J]^+ËŸxys’`{ÓÙ[€3ohF.8ú£¼0eIДs]ïÿGì0nEÇ–·[\aû®õ9ªL{å_„T.Qß×¼¬þ,j¤ý2·âl¿ˆË/sìÂ5;JùSzð2õ8gcê*¸Š‰F̂և2æ&ч×P»zƒüXq¨óh‚ߊÝÞÙÐD$3‡‹*:¦OM]ü,4m  ‚T®@ 7\,‘g…ž€„i™¹…úú×\%s*ÝÁ ø²C³Ua,ÈìñÔxǸó$H°|p$*ÝÉb«s|Üfrb=u¸J$éWÌÊ^º$fü4 Ê!‚t˜êSh.£®ŠÇV0ƒÔ¯£ ³±_Á÷”!0;ižæNóS;šÖôÍæN_hϦLH>Àª38'^N.eUõ‡°¨se¸ ŠycÓŧ’™ˆCj>­ÏЭŒùÝÍJñrtä®Þ‡¥!Ÿ ÃêÅO[M!Wåǰ½èÑ<°o)ª=­–ý'•My‚ÅÓ¯W"3ÿÿ¾“˽VêÀmŽ FĘ+D‚Óußxòü]ˆð2'™iôD[²ÛCtùtß>“¦zÈ$ŸøIW|à§« H‹ß÷Êl„‚d›:8=ÐÆœ.«“Ù,ký¡Õ<ñøâãIo›Àõ|Ã;غ®ƒ¦°ì-*€‘k‘•Y¬wÇ72.±¢J°; þGaµ³—OõҌěëÿÌ*·p=ƒòÛˆ¶|= èò„j"eÞqTª¸%óy×7{C±K¾aî}å£-*µ[À´Ò®IS-.Düãϧ¨²/I†w¾œìIŸäèö»èZMfÓßT}}ÛÝ.?ÁlØîA—„îôn6 #?¸ƒC^~V˜M»)ÛsÏ"4ȨúôL”]v ÷Ù°UbñˆÆÃ§ÆU6¾ åŠº±Fh#[uÖø¢ü‰µf2|‡ÄêÆ$/†Ž¹:&{`õågüg£R†ß·ȯr ýZ¨²î>£âåi^ÔÅ3‚Z­6ˆ¸%'0Û¼“Š…æq a \‚ö+žL˜Òbj³f¾ Ø]ðöÀïM¦6enT«žêíuYÇ"c5õ=´qÐÅnëäV¬UwÛ.©wb™YˆÞ#AÜËÂ0W¹êê§HO<ÔÕ‰7*GpX5'YüG2®Vp¡4´×mú8¦q*b;'5q-NŒÔfb]ü÷¥„%êönü ÊZ¨•X´«AçodÀ§¾^y\$¦@ÌïGµBÝÛueqÅîˆbÐêɆjÂÕ‘Í\¿.ß¶+‰¿è°‰ªùû:÷ž$¦vtK mázÀ‚°|)Žúî‰BÿþËraâê¥#Üš•‰|ª £Ó=»Q/êCæ/N/§u2«ÃjQá;ƒúò/“ÏÏÙÕ˜ågêÌh~x¬ê¦D‰Ã[¹«À®8ˆ˜«¸”ÓpßxsÇöß[þÚ!ø<.ý~ e,詼|2«€™ÙÃW5|­G$¿¢Í˜ÁŸ–Ï Û¬¸¥Ñ“Œ¯ |âUºÿ"¥«c å„D›“LjÚlD÷ p R®Ì,†Ýƒ_gò£t¥|Uch>.Ò†xö,®»®; ºÌ‹›çÂûüÑÉhLì»Hfs3yc ûä è3êD!õÔµPóÑmJïÒãïIbt>Ç„@âÁ€À "®]w}Xœôó›€mÉ<'Ž*)Zô)¥&oñBñç^­Ng~Y)©—Üx¯þ÷½è°WW×Ú?¦´Et™êžç[RGú’ðoØVJëÛQ0Ô“x‰êÝvÔâÝì#h”ÁÈÌäÏòçP˜ =Du  ×(jÐz@0÷¨iiG ~}GFIšÇ>“’Û/µ `µ©•êöM²ì5¢{™Žõ:™ÞÀ¥x/F¾W f¬©*g"…ö…®ò ú§ƒU5fÙ`Þ—ŠÔ§#õö©“ôX)ä²IÃvd\fЈXXVÊßæÜX gDîª À‘o±ˆu „J¯mÅÕ]°VôK™¼}"ËèïW¯]v¨NŸ\ ÂÀ¬ t[ä]G§H¹E®¦9(ÿù«0JdŸ(>QI‡{- 0u€eC =çXUÛtâ%LƒÝÉiSA7m—èBÒý•‰d‹4ëíi À$öBÒ_º çß ¢%üaVêþð%¹ß8EÉs-²YPÿ¯_|U9Hß@«7*Pg%*b丿¶âtÍ´¯é»i=2ƒ©"MðvW»Ö[}Ôì¹þƒ;Ñ¢1Ó¢§ ¹:ïa/–uætC …‰¹ü²qŸ$¦TúXP ‡Ž;ÈHÖäØå0iâ¥ìa}µ¾‘ňJNpLK ®*˜0±}Uˆ.¸ç7q•YÎWˆéƒßïT{ÃL__46ûúïBë¦1ìñÜkN–¯Bö?©蕬ɼÊÏL°ŽUýÒü÷šÆaãˆöÆŸ¦ïË:ù•$?ÊtøŸ<€êØÁîlï‰È± bÞþtt›ÇtDüázUÍt°°%uFLµ`AÝ&¤b|¡Âú  Ý:k y슫îáÏíV9B\ŽÃgœïö=ñ>óxNY¢mÐÙ¥S\ŒÊAÑôSJƒ·\©y¿(nòÏ€k›ž`ö×ÞžŠYÙ[”&q‹š”ïÑ쬛)µ¼3-/ Ü\…²^)‰xߌó±KôW¡w'{—ÿjüÎ/u•ÄÙÝ]ií h©­Ç‡¨R3©ÏcL1eÊ*ÚY •ª%ŠéÀ(†"¥?^øÖïcƒP«ú í^º”ñF‰aÉ\ÎâæûSÉ~("’¨óÀòf-"ÌmãÅ[­Õˉµš`ª‹exEŸmâž$Åš›J+ÜÝ…ÈAt7Ò²¹>=,ÑÿK°c4ÿÁKEzn¶Ë C“®3m§bݲìÄ/_¹]òØÂé+pÙ}P´µ¢4Äcx¥= ©lùÁÍgbL瑊oZV q(¯t>è}ÁG»“äC|¯»#&)ÃkPŒš¢Ô¢Íì× …r¦ó5· XŒŸéŸúe DááSi§¥€£kxFýþrÃkU1¹«<õÖ¯"h d0ñíœ)¸ãB‡×ÃTªffSï(Ö*i}WÞõgýÿÃÑõBÂd–KIž·XGvÛ²óOIrsãó|²è]¹§¦jð«§¶²KZ»yÆ“å†=]Væé@!ÎRÐBzŠ,¥<†ú𑜫7ƒ°CïŸjÉÀܨzðÒyšî½º<ékƒÁáN+4¾ëɹØ6ÇÖÔç ,°¾¯zäl)e/8«WŽÊú~­ÿC¤yÄáe‘÷iLI *žè²IQXRbMNÉ!Kò…5¦œ©Œõ˜²ªo¿¿Ê#Õ/m8 öÕ|oíT6ã8F(ÊVõRV­šœÿ u”n;Æ>ÐpfÚ.†ã¹2+HAË~À¤4î{ t%}•I†øZE¢ëë;²bÐAq¹“ˆ&†!…vÈÃÑC6!¶Þªqðâ;¢Œÿ­€.+ â¥j œnŒKœh:¯Ä“1÷ú%µ2¢ÖÞUgí‹I9cžGˆ¯Š}”™o¥Iƒ¨2NÞ#øú ~EÚ¡¶ò¶0JüKXe*ÈAúiƒ`ýjêûˆ ¸Fq*(^/¿Š{×’= >?\#œþkzøýN·fºè¯Idz˜òz)Ÿ7ÎÒÉUµâZœsZ*-Üôi ×™©.hí¼C/2…Ó­¨'ä%ÃìÅ„h õgíØ>±Ò劫;!Oº«V#ai eöÅÅAfF=cz’;â$¹ ¬”¥,6¦ì…º:ø{©KY,ÎE๸ž¾Æs5>€¿0ºÞÇD„u€û­´ŸÖø#aœÃëk«¿•±Á… æ øÚ6X|b•Ɇͥ² ¾I‰•×߈­ž”̶ÄH¾8–ïQ–fžNõj¾V©k\Pãà¯TŸ~ ‚YìÈ3º¨hzc`…¸æB7µõR*†\"Ú×QúºÀ~@Ю„QšbÏnzR»¸rƒà«)›êpÚv¶™¤^EÆm¤"%+£´<‰Ó Žò–‹Äyƒµ‹ä•Þ›¾zÀ[ĵBÉôÚþ­æÃ;×4šùëS¼³H6PÕgÐþÍ<5'²N_ï)xZ¾¦¢!ÕUÐI’à F1ÅÏ9`]*ð‡Ó´FQEýñ—Cd }>Œk ݱåŽÚgéÈ“ƒ­¸¾ù«ûb` >ªž·ÀÒ)ß¹õ á‡ô ίûVä_gÂQ[ƒ2®Ow]R‘\ps£Ž èÉ:$}5¥ý«¦ôúii~laçtk+I*JU³xAŒ[LöªtfJkH …a'‘uéDzϺÐ)bˆ!®Ô [àË—=ã´¦_ÇHšb÷[M㈹žrC4ÄÍôö«XÅ¢AŠÏe´°2Ê@,£C+n¹W ÞG¸=mö]Úd*B³"äWk} eè†Ïa“(;£´µ8ÈoîèÕDBÉ3îಟ>­´,Âðñú¦Ýºðè…j'U÷¥3Ø›x”0uãšJ;¶NÜUñµ¥-®¸UF­ëEtbó±Xõ¾Ä; ¼Èß76†ÁŠm»"ç"rÌÒ “YH¾rMcq–/ ~W¼£Ì8Ë..H“TO·‚žF–+~\¨yŠ|‚Z‘\ǿìÛÄo‡—äbAC áG¼ÎØSËJaÛ®ò·ñó†óÀg—V„Óð̹Ú"(ÄãM§žÆO*òpYg\²§0ÝCŒ2ü¡h ²qÍ©_ýM_Ül§ÉÛ–ãwIUG3á‹3¼¸Ãºß¯³šá®cvr§9V·Ç¾]A¿­?°÷õ.ºõ?ÙÒ¢yü¢ù9Ìj2ÀÃEµLü_þe0$tõÈÕt•ì(1 äš} ñ…êÔ§¹y1‰ÿ2™Ôm:ý¼.ðIÄÛ›+WÂþ¿KVÔr×,ïìŸoàplhPsè´Ê‹'¾•—ª@7PE˜°uÄ›»Š9/ðÕ ·z+rämkú (ëeºy妅a¬¥‚hE qSËS¥Z¨?î£+ Æw­äš0bHêÉž>b廓gzž/â¿9¬#×n©¯= ‡X¿ÎW(!àLæ2S.~¸è$]€Kb¼´¿8óTšwV²2iñobK|p‘™ø6­¦ˆ|Þ*™Sã ü’G qþÑ¡¨RT tÂ!¡UšÄ@ÖT“wÉ j9í+Ð ü˜’”ÞFÛ½!‘‘š{‹Ùd”\ÙƒïT.MXà U°ÏæªÛÄxìü÷+霣@íÂpgðµçÚDÀ9ëçÝQQ`P~Ob³/mL‰þÜ˽5æÛL‚}ìà¬ôl²·†vÀï #íöòp-qÅ\ÜG£Ï§PÁ&øÚ–Žkk2¶ . ²X@`m)gìçX-ñ[š‚to_ÛG ªR*-¥ÃXsÛ#ˆïj©a$²}ôJïÏRˆåÉUÙˆ}Êy‘ÔýÚ=Õw>éQMŠ){ÑÉö‘ieµ‡¿Óqh²µúBƪ%5³_§~¤8´j†±àʆä F%xËÍù\º?Z+B{¯ `›mw§~{Ù:·N:¶` ïrÏ{²JçÇß|¡öt.s½tš@¾wW¯9špUfúð1>žg ±½!Æê„c–a%PÊÖ¨O»"[}3òÅzxq³Ê­&M¤/È&•aIÆv‡ý™(ÈϪ)æüý MÉPB ^ètfòïxåƒë–÷2ÅGÅù+×kAûŸ›¿M'š¬‡b0›È{™±–tü›w¦¤Ú\gü¨òº“XÊØ†>G]Ö#qŒ®ÂØ7Œå£ß4»Ùº…›TGjû§ QVxk@<‚Ë+âAh>Å8mq?a=Ó²…™k3û!D'bxƒ"]cd Ò¦µ.ÄÏ‹eQ>·B¹ïP§Ô'd)?äˆJŒ¨ü¸ÚK·sž€ã€=]V¿@£%|I}© f/Ak§§ã^­æ íçÖ“É´-=·ÉrgW?$~Š’.ê?Éî5[u÷kʤ|‚°:Àd¸gÉ bÏ1”m‘`át°ëðåZñÐ7‰a0½J~ä6õ@Ä-µ„Pêf>DIðêp];*¬#Ð:ü®LAÏ»"Þ·%¡æeG}ÛÅ&RÅå`?ÿؘž…6˜þˆb…î£!㟥˄(Ç©©"žœ¥‡…“e Oùt3 oãèM³;ÏðM‚—¶!œXëÀ¾jÉ·ðìôùZE Ê2™í&—®“gAΣm˜uq+b;oV¹Õiù!Lñ©ëÒQ²AÇ“OT#ÜfÎjpÌ…0à›È[|ðtn(¹¤´L”E{­ÄôÔàÀ1‚ÇgŸ» Ëÿ÷ßÍÏ ëcnÊÛš9í _ZK«J+Àñ’m[ãp K‡•·Ÿ`¯Õ{ ::‡^ê%¶<8dfÿ…Pà0ΘZ£µp=7ì¼·âŒmôŒÑ4”PŽËpiÝß <¹Á·GEµ³¢•ÝâŠS©‘ŠòÂÈ´ õˆœ¿Ù®L-®_NÚœµÚÆ:]*ReÎð;î%úGºš¤|“ÉÔœ_Y®#je&$bðòƒí@[@(;’·™hDºëÔËÁu–@§¶èÙ08ñCÈóc \l™˜¥÷Ùøž˜9ùÅÃ;´s3—BAw®ÅKœw+aÍôý ÀíŸWïʨ™Ðºõ]Y'øT¯ý—ðÆÈNÌ,§nG¹¹¶Søkú|DkÚ3 ¢Åy~Wv¤yÄhwÆŸÎóªQFjZÈÒ»ž__£´Û˜‘,·ƒ$3f³BP&¼W8R8WÝà5«›Çlæ²”ØÂÔÎ.®Õre&#“'ä …Ó½šPvŸÂ܉õ< W÷^ ¦®œv»N0ýw€Ù´™0ƒfÅðR.jðQRÃÈ£(5­1ïänD Jò~×£þz° m/ÒËl,ÛÏx©ªÔû:8 ÆÛÊm¢^º˜áºL¨‘à 0hHšwÉRA¯å™‘éÕùdQZuˆ£;*úšYÿ‚Ž›\Mdÿ‚xéˆ ÜÍcš¨Ä¤02SÕl4òÿ¤4ƒ/øÆÅ1—*™îáàôs×ÞF¦751íxb¨ôä¸jµ(§8Y|1m ä½ •¬jcÐù gœDµ%ßÓE(Ìe”hæGâ}ÉÌMÿÖ ÏO)®ù² ™îѤ;U:r-=ùX € ÙZÏ4µWßdOææä2 ‰hç¼î*¹‰áëÖ³·âC,!n³âOsÖ fËÅpÎS­ß HZ?<ýy²SsOÙ©’Õ‰Fvçô% x¨½ûC°ÅèfÅoþâ½PÀ^†¢­oÏ›GÆYµ8‹8j­Ã †—¿—vØ[E;~fýͩᠨ5“ø»š ÈÓùõÐnìä½òæ6šVÈD´Àñ‹¹óbLjåÑ*«â RÎòrhrÁs¸ÉF «¹®ôå‡Wj¾œ½5‡He,®aÙ˜¬Àedù¨¾^à6øõâkÇ¡<ƒ ùŠÒ_ô¦%Áh[Hv¢\VƒckÕ |³âêXûÅ@ÇrF²5´E±ÅªI<.$ª»0»ºµ'2|ÀT öd(òõ–³@uõTgƒJ¶>ÆjU-¤œÍièbgäkçS¼_4V¶ S~·%ˆSÍ™‡AóyÙízœÉ«åÁRvV¬²ÂŽf6D ï^Þù–VàŒQs”f ò‚V«’®p,v¢Å±Yáúg˜$ Ó%=ºð;ÂR¥©«6^N¹<„m'ÝÕgÑWç牔"»27T0×'oõHÙbÞÍ÷ÿíŒ|jèzPlî|mSîWñ?I NSe,øØ–UÛ¦¹O;“ :-¹l”(ˆÜÌ)cÛ§ hì‘Sþ½]>7ž,œˆˆˆ#2c§l¼¨Ù¬'â`·]r‰¹)#êZºü׎ØzˆÏʸú.¹¡|ÞÆñ}6'ÛeczômýÙšT =è4G„_è/¨¾->?bÇyÄÛ‘oÀ­›Áç otzAvA¹~h4 §Í¾îÞ¨Âê×À%@ÈM$ód‘¬ÒÚ/!„X2ÍËÀ›¿%Êî õ‘FrÄzC„Ð A“…®i7Fp£üyÈŸ¤îˆ²™·LÐ@!É{†¸x¤‡Éö÷ˆrÄ.ÛkgCz›{;UÔB„ûŠ+â4?‘—¶­Q.ªÆ 6û"ÖO È´ÑŠü¤ªÑÁÆ™`Z“÷œháûÄXg¾ÇæJXû ¬ý³ýþäm»V‚>û¸ ´ËÚÊXŽXyÉMʹð?–ž‰D^œk™ýH†Hh9L>„7Ó)¡hzLKsØ&ßTî‘͹ȤR |zõ“íó|J¼Mƒ G#›&PÜØÇAk|A ØWî¿Ý‹z¶Es{t“?yRòŠ êVÃ^ÏUÐÜ×v È’bTrª”]|õÆk~ÕUšg¶î|œ)…, “PoÉy‰Q·˜¾ÅX{D&$´…MJPn 8‡ ž£{MÉÓAD©dô¨o…:î2ž9Ñv†8J+]OöÇ[€¨ƒûÈÜ^ÊnÖàm÷Vv•ÖNk–„ùËüFÿÑñC€ss˜¶@7ЍN]DòÞÍÉèí2`%(«†¢L3°$é6Ç0k´/z A ¹0w‹zp…4o!G…–ÂZ¶…ÒvöfI‰õ¥~:¶ó¬‰Zlt¯Çn]¸Ç¨(“œÊÿæxÙ·ØO¦?;c­À)̽”‡³ rN«žö¹;敞•z& ¾ÝUk#˜Ù‰{‚gx²|]HÔjË“R>HüdrÝŠÇ9hàÓ^þ(Ï¡sCw 3G4.Ð @kÞM é¸Uø¬è„˜¨Pãv1Fàs0ÄЇvZ©ÙÑ‹I†"çèø¦öS\M8VŠïVv}^¢éÝ©è+#熈ܜ}ÔUÊ!ÞÍD¡,MXì957lNôI¸áñ3>”6p4Dä¥BÚt´_ïsL„¼œp‹¹´ƒ_˲8as>÷­vèÊêvo…LµÞ³~a•N¾½@¼ ‹QâOâQYÚOdH¦gÕ¼ÓKh 7¡ò¿Å îÍý´³ Þ¹FŽ1ŽCDzz~ò˜d°SœVYéaöRÜUN œHjTÄÊtz¡b ž.ž8îǽüV•ŸO8Õìµ(YR [Î`>;Ù„œÿ ¯êüé†?WBö7‘’I'WY Šf©k¸^wå+ÂÒDúåûìÅ&>'<‰Ê.HôÝ‹–f>#D<—¸1â?­¬9íùŒêŠÕ‡ŒÉÔ0cW·}Q2‘Ë Œ­Öª ÚšØ/•„6æl·H‡ü›pÀJ£=¼@\I‚§5D¡$~ðèºG!ÔÙd$RžÇý˜ V$ð¸Þµ€¢&¸û©5«Fì*³hrì:`žC2PDÛxsÓ:>eêruxÆ1l´…aå…t¿âò;«çýÇb|…„-yJ—ŠÚxT2LŒ2€j]¦ÐÙZÛâ\Þ_±p,ˆLnŽÕ«#Ç÷[];’‘þèÞ¶—” {?óåIåâ|ˆ¨–—ÌYF¡`†µüýÒ%æ0…-ŸC›ì†ëD^ ½·X!Yëæßf+õL0"¤œ g\p0¾ó‡ø˜žF¦= ÑUƒËTNÕÙì^e¯¶äS˜Š[Ò=—Öj€ÌV4c¬øª—¯¨räÛ˜¯•‡‹1ùÅwK꽦8ߨºÿÛÀšÎRZ¼Ç'”ïMAü“¤ÜËÀÝp¹†Ý°o*YÛ•¹Æ("°˜e•ldHHPíöVi¹]"cSv¢KZ À¢a m˜z|§’«k~|õ¯üV÷¶ø×¬&_úU‹$Gªª™ %à…†$Ëm‡¡z-ù2aÚÍe¿g©_b(¾ëPIèæóXÒÚ›äÒ&–ç;â̳‡zåèŽAq/Ph³ÐXcLL)*q•¨%]3²‘›a"EÞÝŸH ¶½ì0fBÆ8:G²#´˜çmŸžX4ˆu|ñ•ÂêÂ0F¤é.b¼²Ð‡Ed½G例8°Á%éD 6p,¢çË2_QÑyë“0ɾݫjf–'dúiÛ×Áp#YÖ²QÖ‹T;>¥Á©G¦—E Ê=<3¬ÔZÐ^ÜX”øª;}ã0™Må­Or3*%JqëÐÎú ¡"eð;Ž@c+±DµQÔeŠË!rç;{· "Óõ;whS†Øtb3`«“À¡³µ‡äAC:€4<ŽO·€ÍÉ·ŽÑ¬Ô‰m*–W}œË êyJæ…HªýJ鶤·”8Sîûu1™ðg!«—B_†Äûå1rÖ¦EìU©‚]p¢³·…›!;!~ª£ÏFt3–;U’h G•‚$Ý8_£©6¼3ÄÎ܇'좥ѹØÎ¨É¬ýdv. ]Øøœ­Ëã'é_¬º&ŸÐŒ9î¹mÀ[Ù)ØU¦Áÿ b}•—Ä‘q%£4ÿ›¬ØSœœÇÏ«–Å›C­´E5¤Ý:‘c5ÞÁ@²8ž•Œv¿‹Sè¾kKE¼°é¿Rx¦’ëVHÍŽo±.“í<–ŸI´±³»X^&W/ô‚ˆ¢ÒÏÇ.o>ª¯b:ÆøŒx2¯D`)fâAV”;uM‰ôq»ëÉÑÔEZáBø¹"6-HøZ¬ã#>9 'P•RœÉe¼K4nK2¯«×EcU8d7ã¯’Š¿‚O–“¥¤ŠjÑ Ë(< (',Näþ^™pTñˆ•5+<%?¸uÂ9¯=‹]$€F$DcG–)Ä‘¬Êâÿâ§`ÈÈ8o·„ŠCY- ?” ­ÂùÁ¨Š›¿l̇»”Q+Rjê†ßïjyáÔ|¢Bxœ¶´ä‹¾>DÏ_x2œ—Éöš@÷ó[š "±t»à’ýeFÚ\øñpõiÜ Êìa 1ÄŽÞzÃm?K#æ¾]MËÎa“á Ø‚-;òúEÁÓà\ê&þ]…¨Û÷’L°DŒµƒ +8‹å™´DeýÎ’¢7±È…PUÑÛg#+“õÛ#—OÃB«ë˜rzÇiëæ²´¾Ü³©þf¬fûÑx÷4>À  '§B®¾/ûŸ¿L±]Gö‡ÑyB;©¶Ï#P,k¯šP•‡3<£Ô ñf9 xò žRzzê„ ÓQ˜Ôp ~›{Û6ë­Ë!B=&ò×Û]nˆÝ¥oLÞ€IÍvï8Ÿã]Úè=e¢›Ú-, ½1‘B”2{ë°µû¼‘‡7{æç­ÊÑ¡Óê.lXè_¥§÷c‚ã³kk/¶Á$Òˆ‘»*áI<ä¹Ðñ-§bUŒ^j!á @ÈãÙ³íRØr‰!Ü€Úû»ç´W„ËcI[Ú"{Þ‰l8'§i~ãÎ:ªÁëÎ×]xIr¢4÷@p”~µ}7AFÂRŠšÃð`ð³rĘÚf󠄤l¶’w7·¤Gw%þ?Ü`®‘þŽfúû”>ˆ˜\’´2ÛÞSS†Nò2ÞX.uÙBKû.çäô@¥µÀKj|Uhîó|œ#gEYtߎ±§<¯—±-úPS'¸é“ü,ñ׆9ÕK|–GÔèÿM‚YX£²Ê²XBN)t“Êÿ‘ÈZp[ ©JþÖE»dLHwZÛYd­l™wR OíØÿ˜ã2¢>îµ>¾¥¿¥ôÙUcË9úzJëµÉ&-£ çj—"uÊ>Â,EÌ>öÕ™ëõÜ¹ÆøÌ ð×mŠåä0 ‘N*“+Z·^_’(5âqUêpëØe¨LæÚaý¥K­h7©¾¤bŠX‚ÇhÏäìoE$ÜÈX,¡¼p^$•ظ%}´y•—¼Ð®+XD¯áð÷8/OËž ñÞÿwðo”ƒè!Ðî %ÕGJ4Þ,"{Rè‘£¹mw¶ î°9Õ¯a¨p\€žðö•ÒâüC¼ AMs ô”S—±ñäûæHD¬ŽÞr !¼põgr/7Š6Åš¢Ì¾²HÉ ðÅï+3]#Dº#+B¬pY-ÍwØÙ~£çü÷õ5x»C1ÃÆÀH˜=[F›nÅÐÊ|¶ÍÙâ&¼…œIÓª­­¿¼n²'^Ø[ýÝ­BtÆÿŠˆZÑ™QÀñ‰h®ÃQÍ'k‘;×ÇÏ6•á¼E¾‡ž„É]°#&-yLÀ—§^8`i¹ùÓ o$¸©ƒϬ®U¹ I‹ÄÒ—%ê·Ð®fÜëÈsÜXSBÏu󓈸LÃ9¾3⇒@ qÌ-Ä×0rfí>å&(Ïב@è„ËÔrKß®h‡÷ÎbåxM4C}bL|d™œ~ }=o]oÑv÷HlÁ·c¹ï·6kU 3³ˆËx·Á—¨É&Æ?ØiW™4;”p˜::Œ5Ïô2æpâ Oó4@ÃØÑÌÈMú8í0æÎ‚$†vßòãþ/¬1w¶ò—¿ÌX‹‹Gº/¯å‹„†«HcȰXºpIîÿÌðƒð[¿`%wvPá”a°T¹¼`ç~×ô þQbÈNÐãZr¨°ú¶Õ{˜õÆo'<0²QŒi€øþªr“ÏÙ¢rW2'äŸ}çkÚ­u]Ÿògí`açL;Ñ1÷m0ùèS}û £´IÒ~3ˆY?[g"Q®z-}ÎD‰ìq#©ëÓ²YéXìµã\ÉÝöÔ›{ {èSwÙQà>0~´˜%¹G Á–®¬<Λ‰u–šŸï¥l¯þ@ÄL^Í{Ÿ$¼ò38¤©×Ñà-häŒü¬¨ÔçF$Ô·5ø8Ó¾Ïg¤OIš{Ý9H3„è:¡Ì(·àPï$ÅÓÀ;¨¯ë_óœŒ×mÖÚß%h¡“l_µlÔ¿—y‹¬.Ûî bB-xvЧ:&ßNœ¯ÐR¡ÓØ–¿é­LÈ¡o»„.Ä:ÞRÖRySÿ²>Ò^:ŒNŠïb󾯠Řþ«žpíݼjO)}€“}Ô÷ §×LN†CÞüFîŠÊ;ÒîÄ'5ÓGîÙšË0 Ú~¹bq—Æ)4Ë ³ýüN°¼~fÁæ¤5 0*µëãèº×F îY‘þ)»üC éí·¬1òOäL¦˜d§O¶³¼vð¡Iò›«n#aUítŒ', Òæ¹Ñ¦œJÞ¬M¾éîp±'Õðè_–òÖÖ¢ ¢X'R#+í%õÈáá\üÞ,§¸ôÉrºžjõæ ÀŠ6 ™jâÐÏ”Ûp¸A8R_zåÂ[4Íç^¡¸±JE·&´,ÎQXuÈÁôè?}|ÅÛñæfÒ3ìÜ,;Cöê"Æ?ñ ÷s}Ñ.îƒuÑùÍPË´®9TÚ¢¨9ŠÞP-]ž°èŽŸ‰zÚWp[ð‚Øœ[ ŒÅY+>Lç•ð(îF*•…ô½=v@zà‚¾Œ¹÷HÛ:t-fû~߯¹™ ÄÞÝé»g4AËHŸƒ2ƒôÓ×î¤Þ9ðþblž g±øíZ[¾ÿìX:‚Ìãf;D¼­«y@î¬X­=7g+£¦º?î·çê—Þ(N2¸b”ׂ¤;I…Ü¿´¤_÷ÆJ3úª^aQ·ê»Ëa0¯x*¯ÿÃÄ ½ntS«´µ®5~LÄHÒdüO æéa‡a#ðä›ï؃K ÜÎÀ' ;6PÇê,F ¹pÛ*¼¾ßA¯HB™ïÐæ¸øèÄ{÷´_:¬†^Nû>ºÂI#$p ¸'ØÌªRÖô9MUé¸íxisâ9±F¼aZæ€: UF—/quÝ‹DîÎü†tûObã@å?+Låý2¼Ÿ1ÌɈ›º¶—Ø¢Ú¿lS+š‚UŸ]*,ù²M€®V+¤ ¹„'Kc’»6…ÑVu¨!ÃösG¥Äô )H²y°›°Ó‹‹z%‘½©pf˜¼¦,u½ äà¼ÉÕ{@w„¶K¶k—yolUoz_kO^EGôÒ]5«¼ôÏ3ä+™tBDà°Ô̽u ô¬Ôà&â¤%§¤žÀèôrúÌ¿Íðv>~"¬˜ã½%e“_á«–ìãþû·3‹w]u) …Ì„kD¢?%RBPW¾@ìýÖóv’üì룜O¸Ï{)7ÓÿkPíäZƒ–Âg%îÞïN‚þÙ*”~ßÑ20n'”ô$EõAÒhØðþp~¿ËÍVdú±êò¤Ù½Pýó<©ý†…œ·Ð§8ÆüàÅ·¬º&•+ð\;ïn‰ ¥+Eá%Yi:<š©™ÚÓ"¿yPÿf*šo•¥)‹K^ãÁñ0½k®.tliñ.ë88K«jÃ>ND$è––BÓö$YLâÇÞ¼DVÛe¡+fdùñÍF•MqBw!spSMíý— d 9 ÿBÛë9ã{5à 3ñ_#²†ò÷A/ ÅóÃPjôÃü®!utá}¸ÿÇþãùØ@¦âö]Éy· hýì†.â"ãzemH\xrNÕ܈Êm‘®æd®1¶‰*çµBÙ r©Št_¼-ÅÒ ùÏ ¢ý=I³õ7b„DèÖ½,+Ðò=œ0Òr[êdêêmÂÛ*h½H†`}Ë_a•ÜÏÕ4Ìë›×{‰LrŒŸž•@*GÁû—áé–…Ô¾‡)Ð¥/éš„~5':R‡à,¶†™C"⇨¥;dãäþ ­ïù¸ ƒ6† €0¡3k‹×!Ù6]8¥ã;š²®pÑ~&_é|@£žáEói•±k„PXˆp\·‹g¨Ö_ ”Å÷À¶[]‚†+ѧ[†qü&@ ëkä,Û’)þ³óWèqºqÌ¿@íC"k­[#ò4u‰£5볕ÐËõaO÷6üÂb„÷¬fceÃñp¼Ád£Ê%°|xÉ^¢Q9“åfúç¶$·ÿhÕH­t5MŠ<~~£Y›ˆ)µ6o¨qØ:V$ŽjWÚüâRËL¾1_¤rØOã°ôüWu¤W{gÇ­ ¬à¶‰äA:Ìr5{´ç?ÊÄLsalºVnkc¹ÝLRc.ˆãOÁà¶íÒ:*1^ŒÎG¡;€|­"þ|D›¶Î±ŽÜpÓ¯º¯¼äò(+eq‚ІX‡Lë¼TA€V&×ëo¼zúÅùnƒʲý.¨±‹B-ó÷›6—‚ÖôÓ+ÃO"_(š­Gá²§IŠþ€ÃÄÑ`Çb‚à=OËÞ X覸%N‘”¨óèø~'N,Þ}RÈc4-”]6èí™E¿’`ž"‡ *,ù@¿‚ØèÓ/ ¬|xÖó/‰¿þj @ö.ÀeMj¶o{ÉÜ:ÅŠ ³¢üç¬Q¸Ÿ(è(ï°rcŠH“+5ü®ØØYÌ£zy {ãä‚UßäuU°5x7³Ïß ™[–*uk¶hÔXcŠÎ*îY?~N5óâˆÖv kœbX¦) Œ‘ŠäG÷[ì0$Ö–×õ¶¹B©vÆnc³Z©Amå€ÿùrèÁN¥üÉ5ÝC¼¾¢¡´8N­/ ã 7/c!^Þë|n°f}f¬üÚo®´Â9»\voF Öò®Í]—ÔË4Ê7 ™"8HeÎü³RªÞ½cóø'Kºéþñ'b)IÛirC3Ý ÷brÌC¦TèOEçÓÖ?yÅžFŒ/½•)–J9•,èÀQ3·þÌw·‚ø_kš,°gïj&ðævñZ‹BÖZõª~he1UtÏ#€s÷ÑI‹¨³×0ÉÐ&!—›h© Ý)þWv±j¦dWãeÂïaBFF½õ•t²tùÉ­;M ³¯_jÎáœÆ àïH& ùÉ-Vótl‹’X›[’ÆŒõ)%X'e{ÎÀp*_ ë£Àö¾Ùë‚$và‘ÿ«–j¦æ'Ù‰Ò—½’ß"KÃ>)ÈvôfÄüAÖÚ¯¼ŸggDÛŸxi9뇨~ŸnÝ»(Z}À|$ãKr¹è;Äþ@F "G…›·~Ò%•*ogw”‘"ïU¡ç¡Ž÷%מàò·—˜oëù@ª6‡¬è?› }‘®§NjGÓ"lБzœô‡¤m°0qÇaˆ®-æuJL€{þ›ãf[;Ñ+±4Ï=>ã½td¤KrP,½$5¥çyõ°ÏÅ‹¥¢tõâš"Ô”­—V÷ÛÚã(~! ùÃ`A³B/ :„ Øâ¢ õÈûÕQB3ìšP–"ÅÍ0Loíö– ¯þDÛàÒ¼NÆYVŽêKÆMŸœôc—Y,)]²€öªÊêHúBãu‡ÁÏ#Csˆ¿Ö^”äê=IU.ÏG0&]B ÃyøD0ü(KyÊ(ÐJèW³ä3Sh—hØ H*™ò®3ê^BÝeHùôêĽ°«NÝ „+m×0tŽ&½§¢àa7—²eÉé{¤Â[©}en,^P!è¾£†Å¢Ïâ4VUMm(ú[ îU­°T§à?ó•ÉßV~çùmíXyFÖ9ú6Eú=qŠ#žó^šÒy–Á#¤‡˜iÈÎúæ¡ðÃäÄ£Mê!ÜqxàÉŽÀð}aɵ¤á¹!âl5yvv’»ØYاÚÇ BÚǰOÑ$ƒ†O!êIÔwç|éÖ«!*¶<ßSÙ%/ß¾ßA0h1Á;-x™Å<ªÚ˜¨¤øþŽEpÅ$7MëgàQùZècùú`½†ðV8 „…K @{–æ.ã5vZWâ8Ìçüd”’[÷—öÛë_GYåú¶M¯¼ö`!¤HUK`Y mÔ íÛ×Ê?)tlÝîPäûl;”°1ºq¹…2ö¼¿Ÿ³tñ©þQ‰Õû€‘”rò¨Zu!2›Üü¾±´Ô¶"c’¾ÕÕ×éeÙõb5Jè磉›m`meò“éÜ1w»T^®/“—ßîÐ0ŠÇ_½L F=i^Û ©] ©Ê„,þÞS¬o«1=JÚÁmßýdó†èôçŸÊö2þ—Õ˜zyH˜EÑöhˆ‘ÀD8ev´wý ýš'p8[ß°¦ÖÇÇÌУÝ*‹&¦åH[©5;ÎÇÔ•Û(U)(’Uùøë·ET1Í›Ÿ§à¤KCÙüq×ûØÏàÖgäåu JYÞ7Ü™¤G;Êð2z·Zàî™De™š'`:Ÿ&G)áÛ@¿ðwE³—9’]bïöCŒã5…¿T´M»JågÍ Â qÔ³˜¤ˆ)W¸9-àW?+€!6¡@V/‡~ºëBäoŽVä ”½ý=¶IÇ«çŸÍͧ)ÈZ© >˕ԮïR¬K Ö’ô’ÿ1CB¸A*‰ƒr™ÛωYѸsgóSá6%r‡Ý*Eµ¥%QkÊ–ÑžqÓP"i‘PïMN áTy,äoaˆÇ¦¦°,u´9EÒ(¼ÿ”µJÍ•WV¢ -UŠGã¹Jv²˜zjk¯Á&î—Qƒ§:—…Ê—ÝËÙ´ÆÍã•5ŇÓÝLÖÔ›@,ÇßbóE)½µ±tá5yøÄ!q_Õ)µ‡zmG^êemb²Hú™Ðø+<“Ô3‹®†9&í¥•»Uæ}ÐÝq·©¹¼xz`nßC>>}CäÞÊÒ ÷(Úùò¸ö%7›Ç|¥ù…~@”P)Ú ¸ÑÓÊBíI2™¨ÜuÌ'7ð×jP#³ž#t@ â«dN*N'É|·ã…ßëÓãz©žÛûmÃÊ1ðFnÚu•‹KA®ØÃ·”¼’EN1†Dkü°0æŸelôý€¥`3¶”ø'>޽•ú—+v6¾'³¹ ‹/ÒÊ£uÈ>us$*ƒäLÁ–[¹‡/Å6iñ3ìüšF6 =IÙœÃ)yniyðšAÓŒEŠÄf÷XÚÒŽþ|!“TžâOÛuäEsp(Õ 2Ù¾õçbã“°©yÒñŽ*qßF}¬g¶åDy†æÒÜŽícßfôo“ý æt ØNÀ×n'ˆÖðP›½‚ L0˜oxþ ¿ Æ¡yEü[˜Ù}næV1}þްÁŸ“C<)-,$m×MêjC¹¦ó‡¶œu}+R*òÕÈ Ú¿@)•ÐQÐ9ñšyþ>9^åþ²ÎoC² ßþ8b“³* /,ý V€¦;ú˹)Œ‹§&È=ëœS’þLK_çÞ<¬„:A¸îªdCöY¼1¢©2r‚°ìÊN[~EÎ¥<;–=„Pxý<4Jê¤Â40m™…¤.y'\à€ «Üo¦xîXÖ#½kôšÀO­)›ô„8Öbq6G¬cÙùA»â$æÞBJ ~*é]¼Æ‡ìÅð¿–hÞ<Ö=Ÿ)D Ä܈r`â+i“µú ýôç¦Ï(ä ‘µì¢;0\ +®q«%Óš™)+)k˜ˆåº“ËójëKSí„ù—eQ¹©Ÿ0Ø–Y.>±½¶†Ðë¢]Ù°£‰í»–±œž.ß3øPHÁ1{`–..î^§òÜ[hÎÁÌ_¹o©—@ëù"õ_Ü"ï[àØ2ØÇ¹¶'²Ñ¯ÊÜ@L5Qðƒ`À²gÞ&çg™@΂@BRmqÁQл¬K-³G(íç]_w†ä\£|ØÛv`Œ´Ê5òÝŸ|{Šfªãe9]hóíjoÄÕX•]Á¥±ìÏü²é}C+" ÑN𖨋ŠÍ;Ó…™&E$>tdI ÜóÜ)Ê}ûÉfÙ¿<ötÛ»m_>& xE¶É‹ß’3÷¬Å;T†]‘“éðÄÔUPªg„+0pqI´º«.¡ÝÓÚœøT.Ýk* êˆ}ýTÒ÷b"‡%’И‘QOh| G?mÃÅ;É^]8— ÈÚÆc< CI+sfC«Ýê~Q&Ũ®i8JíçÈ\ŽÃ%,7Þò¯} ³þÔ•5ÚëpÊIÏÂ{:°ýcž§«Ò[Ç[ššünÂPpF©÷ÑO^Æ~”-D${« 9Áòw†¢¶G—ÍÏæ=ŸKlÝ•9Þ¢‘ÆŒu#¹Ö·ªö-*Š‚ „I¼QQ GÑÏ(ÿ1Á,1ÔÒap’PëÆËÜÏ&‹Ï`ºQD¡Ã§ñ1ÏUhÁ•Z±þ¡k̓E’òVH2bÍCâçÐiˆ‡m›TŠJÆ\›KšÎñ ŒÊb„ð0SìðlF_7Y2ógô·3úùHãj@Â3â{«v„†àí²Â‹´Ø”¨Øñ£ë(½~I2¯ŒfGï‡$àºÀº”ù?˜^¯s?ÅQb±Q>™ÙYgÛë„Η4FÙ+íŸGš‘e!{ÍPUÆ}ó2¨ì6Ž­»ÊËN ßB£ŸLø0&Õn½.¿Oy#–'`LAß0co›R}ýVœdÊ·¯A#NÍ'‘]ÿµò­80³{þî=VtB»ÿVÄÌk2¿…×sö6\lP0žÕYj¿$î»P¿åzbÓ·Û<† §Š`l©’¼£Xò@Ô¸b¹[lÜ®“Âwú.Ž–J—½Û)1 ¿ãzQ¤ø¿cwD æ]úžÙ;ñ±õ#W2ý²2‰º“÷-©&5—Þ?²xç¹ñ©è/*¸z›f`*,×Lí+帗e(7n=^3~½AðÓÁù—ÚÓÞÀvAFŒÈç$¡š×~4H¨R£MTÍ„}Oît°QjFʆ]±³lN›‡½Á¹Û²6Q,ÀýÛªDÙųN j/n4§Á’©QÊ¿zœ)@S #W“Þ"MÄsÇü«±²•~í0nZ³ IÔñscWŽ`5vÉþpÙ~#BÕôý3øŒ'ÝC«¦'ι֬ÙCpa¢§,! l°evì·Ýx+IÙPmnôR*„¬ËV¶šün E,Б‚JrK´ä×ø+n|¬AS›;0ƒ ÆûµN¯ÈS"G;|úO²^XÒ.iÁáàfûJ{l(®5®‚8˜J{¹×v{(ëkãŒô2ívñÞN‚ŸHãWå«g;Wø€¿ ­ss3åƒö©ôcÀœ˜.™¶Í‹ULCdNºJÙ>@¨år±~ÌÕEYl"Bæ ©1»´Ê0MÉKx ]ô‘¸®ØzõÄ7ý#m‚ÐS–f ‚¤áÓ[ÛÒE· g… dóà1FäØÿ/ö³+ËQ˜»më¿ðßDôÚ U8šª»Ãõ&òÊù kë‹Àâ(, % 8£1q=Ö‰[zìµstáöïÔ´…öExéÏÑp¢º]L¹«´ØðШcAAi–¾åóýlŸ …âx¼˜}ß³,!MF‡Í¨Ï%1\BQ¤OÓ¯‰Nÿ³M¡ËÓ¦B"Ãïý™Ýô§Âؼ\5_«QIžòRà‡[c¯ñÃ2êµÀÚh;k¬K)“&2î'S.o¥ikÝ'ûÎñ Ö<„ñ7ø½fH¤Mñó¥£¢( ·ºTÓªQm”y1¦`F\¼Éü€þoßVÉ)³ F׺Ói1>£ UžÚõ»8è à/‡Ã?ò‰¸,嬒\›*#.šˆZ×–®šî;Å#êÓnò׎ÐUÚ]^ë6‡;ág÷ŠØ ­Î6‚XÇ`WËæSüR¥aqeK ŽÌdH`§^]ÀX@Óâ†Y5 c?:<û&Óï’X#Îùøé$­=„ó1/ ¶zèã[ƒúÒ×RöESÔ‘ö²4\ °tãù_tw¥­ž7Ïæ¼z¶žùÓ¯|¥¥ß¨xwL¨68½ëˆêï€;Ûg¡Í=rítÚCåH  Ìj™ X fÕºt5¼ÖŠò°ÝÀŠ´Ç/,ߟþ÷(97ó»˜@»1?ì€YºÊSÈï.‹ÉåÜŽ-…iÊ$•—¸Üë¼yDVEµ¾“ô$¹Û¬²øœ··8¹2þÏÕ\Xîdûc dD¡BEœ6ÝkÂçœP ;çõ[åȼÿqW}­ý ùkvBŠ?GÓÕ­ :b1=ƒhJù´þèÊ·Œ–Ï/"cÿAØ7i¬Îoí‘M‰nv8£FãV4ƺ3ïBC/vg¢W£€]PãŸD)C)'ßöÛ²ñèîF²yvé-ˆ¸˜ié€_k²+Îö › ¶[ˆÆI/¨`ß:=«ðôíNpE…|Ö0"¥¥|ðß‹) ˜½ mÔiƒ…úlXa›~P]ŠázC¥ÀA¼l w¿À´Bl”ê±þ²ö–âqToï’)Þ²S£†ßëæ®³’Ž#…]^cúYî=7à¶:°`sg50èÈwô³è‡uïÃ/0àݾQ Á-É#÷@Eßy O|pÏ|Õzþð»ä¨m¸$ÛŠ¿{æ‘ ‚róøí }~’¸øÐ\5$s*éD[J\\N[L{ʆjŠËBßêmöÐ[xÐs¸y i¢Hÿä¦;J×é–T)ŠS=:qÁsGž’v%¦ž£ŸQ+,ƒfhY˜v‰ØW`Án¢={§Ðˆb’µƒ{?Ë0ç•}o¤$>/3×óͽ &þ‰ +(¾!à3²¯!Ú—5Nz‘sG¯s¥ëÛ‡…0p×$Èy²"uþ0P‚ƘD²©WÐ4°O³Eüüà[–3qgÜÛFöõ§®¶š9,õ2n—Þ±82ÇCàŸêáûq‹PûŠÓ÷^"ýˆ%ʨ0dúìFë‚ðº%†>Ò”>)|^M‹ÿ§ý^FœiÍ߃Lò¥.0~ÞÁº…dj7¼–§“—ÒCC®˜a| å]jê»eŽð(T¹`¢5ÏAàÒ"ëþÄ×_÷ô™Dîûka¶û8Ñ)4 6»ŸžÄR{?D æ”Ï8ù϶kÐ'þ˜mDøPpÄrãØ3›oIžÖ®`Þ8*º¼[›–hj6K2XûÈçj¬ZÞ(ˆ9½¶NÒêYûŒí2ò8K=V²7|@£pDÊÚ_ØêЕÒ袡”GNaGe¯¤÷\ú£ŒK^Þ­Š÷s/rSbN=ì¶*¼5I N¢féòïÇù-ô®ÆÉê}ÞÆÔ2¸çÍÊ*K6K¶¯«Ó¥RD¼çH€b§èrÙÈcý›³}ƒâ÷mÙÌ:Œ™NRs¿"W®áT{™éÈ(¡ÇdI~ÿÙ&ž…½Ò¼'b o£'»­ð£W[`ñÇÝŠaTò½U³üÃÍ×™MGÀ/%/:"ѲŒnª!]K¨‚€µ«"”¥<癇ã’W®µ„êˆþ²Öúï'<°ÝÍŠw±\éϧ‚.ŽtÆF%Í㳘‚(¯Wfµ&yß®*Ë\œ«" Ô1œ4(›ÌL*‹=¤ ä¡Ñp^\œiS×l¬’jë§7–Œz5c¬ˆÞcà÷aÔƒæ.8gé‘¶—ƒ`–·‡!mâx0yž <Á]¤ƒd}[ÜQT»ÿ+jßë:¨ª³·}Cé,*^O{aØèÔ:)xQçô ™Á Ž¢jIÌëÑ$´ §Æ¼YììÍ,`~¨m ¶³(À¼ÔhååF+cº”3Ü+>‰±¯ÅÑmÊG¯³oÅ:,.m3)ï˜Lø~o‘9"Ò âÚÙƒ¼y奊²Å¨;ž‘Ö•)$Oµˆr põÎxÖ=ÄÐv|)s_ÇX54@[bý«PmëS’x Ëãâ+íü^2j)]Å^‹0­IÁÀBs£7÷-E A®TÐâÉêpã ~.‡¡úv¾–5! ]ÖÆÍýBT›>å°!%ÎV(%¡q-aq½F‹æ¹Uíƒf%oß÷¦ j ¾o1ôkfóJ & •¦D³¬ÂÇUÚÙñº³áx‚4àBcUû¬lQ-œ¼„aiÆÌ-W¯ŽÖÖM¼Þ^¼š¨Z T‡¾Á°ÿ€>òcÍÑZBÅùªàÀhQê©ù%Rå'Ķ3ã¨JİÑX‚O§Ù)Z¼4âí2šš(Ž‚ë =¯Ctnîj$&%íCxcÐÀõ¬¶ ÇýPÞìÖþoHvøŸó•QgO%¿‡ÎHCð¥Ú¡óˆvÒ¥‚$|"(E÷—]€z¾Þ‰öÑîÚ7žÍè¶p´íŸ|wñòý°*÷Ræ3ÕòˆÉöÀZå¬å¤­wNA›È†J*#EâÈÑ8¥(jÈî-…YkâÀ`šÄV$w¾ÙŽwYV¿ž{jÖoŽ‹ÐǪ⊿!˜J^ݯ´Ýµý)*#¸ ›ÃKûäðúÓŠËÌO> Í‘bì1\ú ’!ïÅí%½‚sï†[†¨aY•àÌ*`ü="CNË×¼S\˶“’P £!ð>Ìßl’O–ÉjòŸóf Њ·çÁ5—»«¿ZÕ žŒ<*þ?ªžL@lõ˜i²ˆv:ÑŸÖñÄ/!••X^1é_Ç^—¤m¦ÊÜ„ô©Ö_[qãó¬Vñ¦]~Ìàÿm¾§ý^ìy7eŠ ‡Vv¨cŒ¦Ôšø·…ñÛh.~d\zò|9­ÄYJ‡¼ÊWü‡Ñ½ê˜ B¦4Õ2­/4ÔUn¾0“ΠÂeZn v#PÉÄ€’‹¬ ëùD?H÷ñ;þ”fÐibØÇÖU¦ÐØÆ(£:dXÔ.S)^uŒ¾M>ÞN‰ÿÎ×hÊk83iX®vVìÒÓÖgÞ'Ð㦆Lô&¥ï‡ú…šøò–€ªHöúõê©ÕÜ{gíKÈúØ?òú°P>üÚ}1Æ”¡æ=r9’IfÃ’C²;þV‚ˆP¡^ášÙºÁµÏ;‚äˆaÃqêàÅ‚ù©ù‘©›@§›vã ¸-kXrJF Š,| H ‚ý:b2Þ&ÞX·ó…­ö{iÔ_ñPw×9\ ÕתêN(vúÆì8k°S¥ª¦¬•àä¡Àhü»Žëü>©Ð›Ù?Àp´Ô‚¼XÐá\àj7.ÓÏ×Y{Œ2‰vøƒ!çið‘ÔU%ZËiÕé šŽFÎbõŽêp}àÅü:Vª“¢ÜÁ‹ÿ³_ÒES9A R7¬ùjï£|}Cð/|ÀMÅx½Æ0¡ž§XE–ª„ ðßxQ—·æÝY!éÓVô:àÿhðì<íÙ½9G⨊Àì—Hb˜Òek­¸Þ’V"ZÝzÜzÓ¥îb«eò°§¦fIî׋ûñöÙÓåK@ /æ5U]Ïåjd’kd¼]8W¹X9LQ¡¤‘¨îSQ‡×¬úâøÃ¾I~[+ÜÅŸ%^L°{R.G³h¦ …œ¤EþÀºý ‰Uÿ/Û¼ÅbNl@’HiHP”Sf/o”o’MTAö³”;·JUóŒ q¦ëöµíÖ7SAÊ_ª>=ð4©ÑÞèCü:¥W~M €>L£) Ë´<ÌbÈ‚€¶U‘E8“8”¹…:é,ŒÍÌ.Ê›SSjˆó ?¤3ÐÎü1à‡†Ûº9êMoâk&ß›’ ®"ã{Ö:Eâgè»|ÄW71’q£ºB¶ztøá JE9z5 רa¯ýnÎL‘Ü»ù6ô9ïLs&`r\žx{p¤ C™8à>¥¦“·^i¢z›4Õ4úôò,Óø¯8ÜÜ`.}¨–¬ÔRÞF¨îM³9á^T @ü`{‹~}@ŸÖjkVd‰yKÒ“ÚCúO°üÉé:ݺ-B´T«,º£¾‘—×Äý{ñha"rǧ…n‹ÜO³·žlÛOô’&œ”Uù”ú¡†é€[ÔM]w“È›0<_³÷"?p6…Œr\ø¼IÄÌ÷ ã1áÝá'wµt(?²g —4”Á‰R:LCŸæÇØŒ5 A$Ycà³]i±ê @ýmNšFDµ/œ6ÎÞ!X`¼\l.;”Yè÷Í‘É µú-Í'(„³UVùEÞ¬hÎ ‡™ñ3üO¶Dn^0¤~@FÑQC€¤s’N¹x¿˜0’é4‘¥ëk=)šÖ¯±õ…Ùr™ªAY­ÒwÏÛ¬ñãÆÚ²j´ùô£×`?HüÚU½TÂ8þ³ }R‹ÔŒd¶“0Ê…¼¨ /ɇ¿1·:ÿêž¾a`ºÕ­ðô¡ ç 1Ö‰~T6MnófêkþïèýŽ …¯8SŸÇá>âOݲýãä’›ûØéÆ™•~fuf-V[=¨œŽÔ8·–1ëFTÔ:úa|b ô ˆ•‰ù€FÔ%{#£»[©\Úâ¯{‚ÎChsÇ WV©ÑþQ'ØÒŠ=Η¢yÂGEU†Ë>\ š×#ª¢ˆuÁaý§yÊ0;ô¤xù'Ä%Dzí€fçIQj¼EGÿÓG#!ó:Ð7ͱ\e9h¿ýµòÛ=$kž7Â{AêÉ{Þæ.ÎJ1tZ§2À,ÁÅ—œfå2YH·ø†A¡‰ÜĬ4Ðû#z—^9ÆtùÒw¼ýù—.w‰0Ë{èúC€16Q4\§QÁ–\jrLÆaÔµ¿9%~Gr0ä‘¡î>oyôã`¦ïé¦sÍM²qnfèɃ)_¶ H/æuLû۸нr‡`àÃÂlϪ  ¸‰hÇ“˜ ÿñbDµ“g–ß¿2QÚøTäʃð2±’c¸4¾Î¾  x% ¯Q‘ÍîÌÛ‰…¶¨Vb«‰p4ê¨m­ÒÄà˜«"Üh#¶÷ÍAG|Ò+|úAhÚ§A:Ååç¯wä,Q/“Éò#)5º7­skªz6ã¶1ªÛ‹þ¯¯0D9SÏ`¶sÊk¡¯ñ0q’ÚðVE‚U ÕÝ> =ÀÿÚajØ´ÓE41í†>oŽyŽeÞœ!ÓEi¯“GbÛ‡j#S…T§‡w¾'-é&àzt¤Ñ®è™pj|K¢ÌÈÀX“¼ƒÒb(0úh)Ïk1©¾IpoýÞU¦s[Î1@G£º‘Ž’f·4ãy/Dæ“5}â9=âí6¥BQ;ƒ‹ò±¾V(ÅcÙNu³6:l'«ötÜË©µ_Ên¢nj|æ£~¦>¹œxîVUi.KwsƒÄÒÖä¹8+š¤écf&C_ZµØWýømZ¹™Pe²Xd,)NFZ±m$ÖOøÅ~ª¼zç;œ?²;¤3÷ˆ äV$Ò]¨Úμ×k‹¶‹µyR'S"$ŸÇ…#¡ùÆuǰgA‹j@ýÌ™Ö2íÏÒˆ«0–ÖÏÈׂL³·­8<Õ°{¨(–<‡•{  Á5Zx¢w¹†"¨=á VŸîèûB¬AÃaª$ “š>åÍi (Wt_4UÄB—å’:Ocà“m˜r°ÕÇùoóXNvbÒí¿·Ã½àCNc`3@›ùm16Íf¶®ØÝòGaz$Ù®|Ùʆáfë;bœ Ìý°†’’‹ÂšL6vÞ.Ž.ôžtQ`ûy‹RjtÆ…byK—}ϲŒ\¬ÓâWƒƒÔ<¶ÓÍG8`@ÝÍ~÷¬©€ÔÈ‚ŠUˆ¸Ã}ÅÄÎ Xx<ç×\/N°Uì’‰º}"|˜I¤“`ãUV0ûh€Õ¸Û% ÝÑ­å°¸«Ÿ§Â¹'ž8Ç-_ßMÊCêDJÆ„û$0lL£æCéØ\“XÎy ÚpeŠ”;Ý ™\à9"%]Û|”Ì2þ½:&&ëÜ{góÙ|³13dSŽÎ·jÞÏhwóÞ`§––¼½¦!Z{„^¯ƒ‘€ª¾Ç bß—EÊ·4§ÒžR|a‡Vë ú‰´›±L¡ØN’#QânóžccØ~ÊyÊDú­–àwgf/llQ ?=È0r T‘+³‘ê°V};šÐåš ÿý\?õv^Ѭ`{Â^ܤTÊwWšÑüG/£Òf ëZ”QeçR;+ŒpÌ·g—*@&eˆÐX­ô#º3ùEÉO“²KÜjR©=G¢‰ ’aCK§´“á"S2jòÊl[)-M«d,? ký,ÔycT&qÌ.ÝGŽ_çäÕé£2‡pÕÔ9Ç»\¥ö²¹ÀŽÁÏÔ—ˆÿïMØÌ7Úß×[škñ‚¿'š[Í÷.`¤Ñ¢‹Ý§ó7’ms—-ÔÐp/Õ‰¾>ú}¨“ÕC{ö`§ÐCš£u`æ!¦[e„š˜S¿]C¤â¢¢¯ì¡ò.>3ÔÛ¾URŽFõÖf-JŒÛvž–ÄÞ–}«ÿ,ËîQm·¶EjS£ ZeíÜh#ÕÄË.ä…w+ÎVQÚ—8Ç8o¤ÙÒÔ¯ý/|K» :¤efàIÄ,öJzöhh焉fIhìÉ·=\òÊɪB: °„-û©`©Ó؉aÍ™»Ëàq± fÒBzã¡T{gÅ|–Ád%G€¶)dí»…7Lö‡¸‰–‘PÏ—!¤@+# —j5/JÂCW“ ¿l©þ<$z)ÐdB&IxÄæP:èùðÿý°¾¢²Ý+¼­t¼cÐãj¹ZÌÀfª•±âãã Ãæ ‡ô‰%´Ï$»NK6“ ”¸ћ§0É¥6¶.RŠ5[ãòXÁƒlÈ”"ª¨Òÿ!ç<¶CÏ›A†½©­Ž ƒT×!cÿÒ_,6ÎÇE³ºÞ®GÓuŸÙÿ d‰»:ovus„%¯mÞ–²»Ø€sáü°âRþZ¯ŒaœË2ç  Œ5cžÿ ù§ûÜ%7c®ÛY¡bkFÎ;ÅÕ3;E‘­Ï¾»ûÕ°4’m¸>O:î=W+¥am1¹ŽOõAmµ%¦æËÜû¸às)€­Ô—Mäu³¼Žë«ìò˹÷î§ÍJÒJ_ÔÝ'¹%û®‚p 8G˲Ü3ƒëaÝcJÅ/ò°1ò8^ž†KS2¥¹u‰47ù!ïcsWI¢ô^Ë|ë{÷5çeËdÐ}jÅGÝt•†Õ3í%…ñì6†íreIïØâ×…’¥¿»F^,ÇšæVŽ6è‘âh˜þlº0he–ª(íõQ«•#cÑÀ .è‰ilu1ýë@¼ÝäÔâüãñOäŸ/Ù¨šß mþbçÆ¾æÀQsŠ•C½ªQ8R$U6 ÔY#stHëÚ6“õ ÚËÿ#YIY&ïÊølÀ#kUê/s.¥þPÊjGЕԂ²eƒ=ì~Þɯ|¨±}0} S˜è À²â¹¦+¢X³êôJüÓž…KV¹¢pÜã9Â[JìRà†Úÿ#ÀM.™% åHçcæR«®ÿcü*GáÅ šÆî×µ²ï—®¡ü»Ù­øåWÈPð!{ïco.û•{ñŸ4˜ºfчo'ù‡”ö%¹-LŽu úÔôélZšÑ‹MG)þ*×S{Ôå;vX:9¹M¨ëª?Ès/;µ=£ÉIÛ@î‘kc»)÷51³¸VèñwwP(™ øŒçՔةÜ%ivo~þ¸º×æÊ¸gMJÐU\‰«×«¨F8`BiWï€5Ñ—Ó€æÊqÙaÇR6 …”È‘·F%Í `ŸK*1…¥ Ó¦¹=Žx!Þµ•ˆú;¹k>j'¤.N»–Q­Ö“¤[ð騗1·^˜ŒSHøªlš‘¤aEgÈÁ<QŽ]¢ÛïDz`¸ÑøÐ˜q†f„éDÖûc– Pºi—A¼Úi¶ã$7?6É}lÓ×~@˪ìOd„VJûîßÀ›Uô$:v— ~jùçÆ$¤4ÂsRS 2TÁá\ Ï›âîµ¢.~¬ôiù wÉë/ ²Mv+—s:q˜tü„æí1 #ˆÙ]\íOUÿšŸ´Ü,Qr.¸zªôP×ë ñcå`›¸e ËBö'W9qȤ¿T~²>€…¦_µq!ÓkÉHC…»(î]”¦É:‚ÿ½©~!HUy²çP}l˜¯Ä+Ý[áÁM~¬zî)2øN(Âÿ‰ªîÀ|ÏACA:ùníØæÎàjþÔÅ×£vŒ–© ¡7üÂW+’á]Fןèˆ vþÂÎ^òfSý±$¼ª©mQ»ñó¡¬{ôÁ¼¢Y|‡" r6´G»•ù¤ôòö‡÷ÔðzJ—ëw­åz1–ºFÁ: ½y©…Á"Vg7ælxÑà/ô4I¼_‹pþçÜŠü¢‘ê¡Pg:qñÆkÝQUyˆÀ'ÎW^¥^òGG™ùCÝS(+ˆ/iz9¥Û~æ°"d"Ø5±‚vc/t+#VÑQÛ¾Ò#…ë¡+×çïÊ,Û´`g‚„ ÿP¿Srós÷ÃŽ¨y°› Â`™=YzÑËsg59o•Rú~D`ó›ûÇxmIë’ªþq݃}ñK:H’m¯·ŠOF tñg/eòM/ –K3ùZFÞj9:~Îá­¡8¼Ðpêžð|Áuìò>ŸòÃM£\*š>©ú‚äø¿3€úãÅ›}¿õ ÍÊÆ“ºiЛºï1B:“5sæ@ÕGC—H~XªâŽ¡dÚB/áù€ýGz„"*  ¶úTöi‘îæwžÌãàÿl-¿ IÎ[3¦ßÜèÄ=X¸X–£Ñ­®÷ÙÏJÕÈãü©Ã2ÊÓ Ôv Ç^jY­ëø2}ý©Îº:k ¶Ð(⻱ܕîq3ªÞ[M>¯¿[ühKeË“jy"¿`E‘Dñ.ÊÄ ùÃäp]ÅWe÷¸XUX¬É•RDuUoµzµWÍY ñ5ˆ‚ÝÅ(ó¥¥>ú,¡íM*BG’ ¹Â4æá›ƒ§ÿ7àäYÚ (NIm7ôU°Áó.TMÅ*ʃÀó{r6µ¨Â*bZx±¹˜|èWlâ"Ðê(à^"#hïíY\ªûû_°çL?mU4–;nZ^Ú^¦˜ðä úè26^ê€5ºâœ1yyýWrð?DØkfcˆýk±±Ò_ [Ëmý#?çÃÛy7à¹)ý]ôƒY•Ǭ`Ä…‘§E x¿é™ø‡?±’'¼*Â[Fîöi+Ñ…ͯB–JÒJÁ³‰# B–ž š½Íü!ù[¨}÷¾“8šz#'»¯«›@ø5îgôÛž¿ð…ŹtŦ P(–¦²ˆ¦`>届ìR̾Iv¨m²Lx›¬ÍŠ4ØN8f±½V­Ìav‚ô•5½®‹çˆ p.€ ɇUøe}K8hK½¯>øHiGlš~¢!öÖLŸáÆÄ}¦¸ýtlÝ–eŒµ ‡©Bƒ΢ÅüÎâ˜ýõJiU,äz0ÌüҪϨ¹ÄYÊÝ Ì¢F×f­@B(•ÐCÑ:vMˆE0IÎO»t{â½jÿ0…p——Ið†úà^ËÎ9ØŽÄ?Ó¡e'¬~-…\öó}/rèÚM'+л‰Å~7oö,ÃC˜ºzÄÊ›«Æp.|‰Ôö¢šV3ʰ™ ê™J‘OrÍÎÏjLòhWiØìŸ‘— šÉ7í½ôSTE±h¡¡g9³•8Öi•Ó-D1œÈ²ˆZ¤nÒº·œ†Ôà,!Š˜ÿ–DünÞV2*ï“m?aí‘›[…gï4’åµI-~4ΞÿÙD­…‡Ÿo[ðUMõ––J±®V¬3;Ÿmò¡;¬JÔe ‚@Ž7(Do•H»«ï>Shš‚À‚‚ß%»˜¬cáåÁ,§Vî½"& „Ö‚çýsF©DlÈWŒóÅÇUÕ©k%Âæb Àlô¶éÎîF9›»zȳ)bã ®…!È=Oþkþ†\U@B´¦&UV 'Û…Þqb‚XàPéàUxÝ$ùÆ ‰- w3Œ#ã<æmø¦‰‹í©Ûj¨ö˜HÆm¹‰²r}u–nìÚèÈ-¯ 2Ù{y2ƈQÀz¬áÑmIàÍ‹WšçoOwÑ/*3SX]9ýÜ.¯â”¥¢ÀHnÒçÄŒæÈï £Ç¶˜ÈC¶ò olZ•Õæ¾SfEG•dñ'6{´Eȵ¦L¿h=$àhÍ›–ï½+CáÂìåâÁ,ï“ ¹¤:£î*ž¥ƒ¢·m±"þ+ÛÀœàž.H~©1fü›¥¤ ¤µ ÚßãZu™È–¥Ú^—\RO:%€DŃE)» úúïS¾€"{ñ·xbôŸ1ÒJÃKyûËà«ÎJi`½ ̧ÝsFk.#ÏùTTLÎ/FݲˆºÖ1¦kFYqy&mÈ‚ËøãȯŠ›îûÀ7… ^‡Õf¡ÚV‹&ÿ~ÔV=n‚:jbB˜‚$zEÇ‘,ˆðçòH.u¤:ðI²*xpÍÜØp±Ÿ!ÙƒÊãØo*eï®Pžž§_VóÆnMiýȬ};Nˆ HƒÙp%vXÚg…rò2\ʵ½” ýXo*cÕ¶~þ̘„ü¬™àoYcÿ¹2kFó7pK‚®Â@‰É¡äÜŒðë§¹å\8Ïâ’øêè’jc4¡ b\2ðÆ¡†>¹ŠŠäÑñ6F€p¤×Qt±Ç|ÇbÓé— XÐY[/Áƒ`bû‰†Ç–Ç9ÁKœ«^ì¹%&EøÊ0,‹®I|;Ï,Dm®Ù'®ÑYŠYdCx×"IFƒb‡ÅÞH*^ ñ¡1ŠY}è>í!›Ý͘Õ~ˆ¶ehéwŠ•eÿ»!²NŸ¢øqÎ<ÌʦºI*ñ/8 Ó§š€J\Óü#ü"Û¢bx%‡Š™8 XjÎM1ûÍFKïÃAÁkàÔH+½ð¾ spFÊ|¥jñ'>‰Þ¨š99]±'Mö3NîN[ÁÊó€ Õ÷ò?ì–kj´¸Fƒ —æm]+àoìQ†IqB¶F/Ý#¥p»ÀµS²·ì§rJŽt×»ÓÜ7QC[c"Ï×ïÆÑ¥™]üÓÖ£`ŒU0ˆ=“¤˜{ä<›9ôNp, ×ܪÛzÛÔu*µ(h¦Ú_ƒ žKÚN~HÀ®úzÛÝDÄJª Ó’ÕjmàÄ_/û—%©ËÓÎ Š~éiš&±0iƒì‡§ô塬PÙI%q–£Ú…" NõBHZù$&q Åéú?ºgÕ¿¥Kýe8ô‡ýú Ã0ÎqМ,téq/t«95"M™^t¹JÕ"'2´(¦¨t0¦¸þ4½ÛÄé2‘¡3rÀ6À``·>Æ%E„ñáÑ4c€NŸÅwý-Ò Y¹FȸÉ7 –æKA† ¶ªX²¶/­ÙZ—ÍRé>²rE<Äp3øÈ,’é›0må)¡ôVDýö„KS@tté°"s²ø‡A~èÈ4}õ"y®ï©š7tLÓ;3!4‰ÆBWGÇøt4í“ùã¡ìŠZ‚\zö´™ãš>X+Ä¥ ž+Ù SÒÂHëµØºxšÀ¼ó' "ˆÂB£ BsÌhÏuíV|.Þ|c>”jÎSÄ8áô²á½KSΣ`\’Q![ïaÑÀ ¨óI£—P:áöE (45—ëØ'°VG¥ÏÆ4Çg†#Ï«—ã¶ýÑ÷—.K9üP Ž¡ Ì×CÎ9²}XöðÓ%*yà/p~:Ÿ(ü@˜ÙzoÙPæ…ŒÖfwøíáWÿ}Q¡ÅßäÀ!‹ ³¤FvÜÁ¾}u Æxg |1—}BÌ™gxƒÚ7 3¸…VFëApÅørW¯ œË§Š •ôMd|îœÄW£6]ò±>ØÖðúäÓ-l°ƒ‰+`Œ2¦€Ð–ªص /ÀÍí@²˜U–ûêðþS<:øbÙ”Ú]–¸©J4I°þË÷!¯ejǬjYaQ©Ý©jÛòmÞ–·Å˜ø™ˆŸqâiYjGs´+`3 ·ïPZW¼¡72ÏxÖÏÊÊ8ÝOž–³åC˜GD–“£"\ n4÷LÜ¡tCoò’ïy ¿ÓÔ;»ÍRÂ>"+xì³µ·¡"ÝηïIY—š$¬Ú˜„°>AzÊì±òÚüv%°üÑ6g0}ë4Ö žÚÇ ‰m¦- ßª¤[HÃŒê; °Y¾í­—_½ÇÐÐÜ1v×EZÛ0`ârMx‘ýOûY3Eô»ì»k¯JŽŽ¹.Û žœÒ§ Û=Œ“}R7‡´ª|):¨¦£!S ÷<;U¼WY'+a‘Wƒ08GÏžuìîzÝ»Ë&«xçÀW‚ìÈ>aãn4x eܱA 寱fù ×Ü,­*„àH0ÛæÀWýÐjÁȵOüŸ‚0jzenåT¼ñíÙn¥Ô£_jüF9?_CKùpPôX8-— ñºäDë½XfßQv˜”̾§¤¹"ð«Ra'þ¼aC”—¨¸þ/äšÃÔP0”Ï‹¹D¨•¿OSª,^ ެëØÆQ±sy‡Có9æ6”ì]»®9¹\áÓô×\—ò9G¡¦ˆ© ÙÒÝj”Þ“„„ä&¿|\Ï9V‡”­*…)úE\˜™yvwk È)Ä1›Ní­2³Q9ߌ̕´Í̓›I‚Æ¥wG¿TRÍ••TÐöùlÝÀ¼1f‡—¿^»j½.×Ëò¨ëÝ÷ݯ¾ÁïU%ÖO$A« Ö NÐÔÇ×6¡9“Í-XÊ=¶9Æ0TÓ·»yCZí:‚Æ’äoi¦wÍtm ¬#ƒIÚzÞûfØ‚ør ŽU¤ëÒ#up#¾6{ÊkötU0íNÛo„”i>Ú!%Cж‹5{;ßfZ)2 EïG¶ïB”J:­“^QÇœ¶ð ä¶ò‘VéOG ŒŽÕü!ÎùG±gs#Ëå”/é­6ôJbçdƒï¥LB–&ySÿã—ÛÕ~¶aë›ÓŒ[–v},Ã-d#eÈÆùŒÿ§)¦ÄUƒÙkf­Á…JKçòfÑ2JóÜÇ´_œ;rè5دČN;6Ñc’!¬×3ÉwíÁ•ä©êï¤Ó³’Tk‹!OgyÔœv’BjŠÕÌ­-=´41+d1ÜxK¤¶Üo¾÷g¬¶x'¾äºº#]ƒ k\©æê pæ5>ßaS²/—@8”iY,ÓŸèNø¬±«.”À@.:&-BûÄlsÝxwQb«NÏùDªÉQ_,sÙö=ªòÛƒJ®]ÖþŠïâñ¼ØÖ—mÊe/ ]«$ÎÌ²Ž¾½?Ê‘n­{Í©Vk¬ÚB®Ð¼zŠ0³öÐÑd¥}Q™¾+ ü5ŸI$ žh^Ú¼F¯®'ÜñV:ö†oc ¿‘öáTJÜhµ»Ç·/€l™U¯äô$î%„&Y;ù„i¾fë„9©øJÇ´«ëHïN?Ž` Äí×4°'ä¸EÀ<3ô¸„I†‡\ÙroÔÞ…ªd\«Y±­>áè$ ¼çq NJ ‰è°œÌ—LÍ;éQù3^Ëq½²óÍNç¹ß´Y4€¤§FîÓ1ÁnK¼ÞöYé…îàJþ#„³ûÇt8ÂÝ3‚ÅWW¦ÈëÀ)Î>h2‘©UˆÃÒäÂÈ ]w&›mJR9º4ȵðö–ŒÁðíÖŪ,¶{@L(²Á#8ÿ:‰B}×¢Øiï°»"îê÷PæÂÇQÅ@+Âó·§O"¯•<ïvI§¦PŽJ–[Â8õàã´ó‚€ÕY¡¬¶ÛÞ¢(íõÂ"˜P8žxt9sí|ŠÀ‹\)¾Š%pf.4¢Âæ³ÉÂe:OÉ&þB]p‹ ˆ§Â¢êó[óçÛÚONzh³µ2iƒ¸´/†ÅI—±­EF>êã¥ú,ËÕq‘ÁãÐ&Þ‰ì»L-Ûħ8/ší‹~˜éZêoÿ9A3É7Y;Ë’?ŒäTJ0§ÿã¯,u¤ê·ÀæË?kÉŸ^fz¼ü¤%³/öOƒël¡°o êC_áöÏ¿cãÛK²p”¸O›ø5ß•í=7¸o‹Ê´º+Åìèr?EIÔA–ãH:M>%u^¯EÎ|ˆˆßÞ£•&¿&T‡xÙšQû!^§eixB–Y¿› Ÿ9ó‘€›~pJù„M† Q/,mÙÔv؃rîzž?–Æ ø¦ÇÌpdz½;Kc˜…b©Uè³+-lâN…§Ù(¸Ã$)/Æ©„D*¿ëËXŠ1 i°«ë¶b%@2’Ñ©L÷£hÚ^J#¨ËÇ‹~¢ËÛ¦6ToÈ õ¯.A¹×N÷îc¾ÒØ?](lIC‚$+‡êØqÔÈì×™s&¯µ[¬X3ð"Fb¥Þ`§„(!¤ßSP½ÙléÌ$#¾pëR¯ÌNë ’6j;‡4ÛH.†*>Œùy•ÄC*js‚ŠÁ1éôL€­=qjë­9‡^$¢Vmò(bÒûÀ)¥°–á—!·ÃH‚Á6ÖZ¿™éÈÏa"n,Ãd/\9,Ucèmǃ uQà ýßJªÉ™Ø7r‰{WÃÍǹy ;KNpÑ'­¶âI©”ŸGc`c¬“4Zñ,p«p© ÷¥ 5qž0ÿcôj§ "¬Y9Ò€‡§™í*T¡¼òv„}Z€e]¹Þ軬fÉäüªp`A "ø|©‹KvƒÀ@Uˆ.,ÓÎé)â¦q£ 8¶Éc.p­÷™Ù‰N¬5 -Gt´¢†l¡öøz=WkW¶€ú‘K$ DOÁ¡øX°P²¸áÏ]t ÿÜßjxƒ"ÔËò (jƘ«R€º ȉÃ)¤oêL½Ì»A™¾,ô”°Ô™(Ë'èdí ½˜Ç%R( 4N3×ÝH„ÂÂ*ú‹^ÍÇÑ)©s[Cw™Š,3@¾ÖˆHªÔ Þ]ᙡúŒÌÀX¼]n2TOéüL%¿’ü!,ºÖàŒ¹´þ÷#Zã8CPv²ÙúBš,-ÎL&'›EùTL„ÿæ“ÔZÙE…}þ$ Äà]/÷4gñšLª øT ®p Wdaÿ`¯Ý÷Šƒ¦ÄbL˜ †SGH­s FÌÌ3ó…@£^™Ÿc`0ÑYŠ'‰¤Æ þè'SÎÍr† ‰®´N²»‡–.dô“X% ÖZ®,ä’3&¦¤NøÚùZý%¸­=Lt,Ÿz ЕvûRÂÁ:)´U±y¯áî‚`Âï ¿!v—Ð9ú‘›÷64!íaáù&2õ¡A0;ÔëË%4/Ÿ‰Â Öy’ù°Sƒr˦ í{àŽé¾gáƒ~ç}·ô0–Ã8»¢²É1'E¯Ý 6ü|„ˆ Mvµ×õ…"Jb½Õ·è¾S*ŸõJñò”§…y:I.²˜mR´é¯Â4–5DôÃ79‡p,hkÏu±JfÓJ!ÕaÍËZ¡ˆËpÄd:õ!÷¡¹{BöœœúaT¬zƒ°3¥/%â…(ê¨DQ¸cè¢è¡þ‹|k¹D]fü?mM²qDÁEcBí«ØMͫǩ Ã˜VqCf‘ê¾™UˆOö90ã£Í øl0á¾,Š#OªÔañ‚ŒE^ÕÎÒ€{YïX@x–É©w ìTõTy«D·ØyJewÔȄ֚^.UÊ—òd€ÜÍ' xØ¡ˆ­EéaÙB J!ñ媒‹»¨cG+=¤)$ ˜e{8Ь.ja„T`ÁS©u8<œî³nÍrRýϱµådBA­„0t‹íì0zÞT.†"èðà$ÉØ?rµåÖŠ¹Î-ºg=…×ãzžû°Ÿ$‹í)IDë<ügcø\ŽMŽ Öc‹ Ël#A¬sb{êz¡˜ŒáŽ {}6Ê®'S=óÌf¥›h¯Ú¨­|F„]ÍÙÑ&ê£-¯¥[[€Ðà§E\ì‘Ô–¿ƒ`¨ 4j–O ž ¼í ç{*´Bp-Z‡S#íÀBÐ[ž¤îÒ…æeòbøwn1Ò3­—Ò´ÎÞ %Ƨ17í8xùT ë ¹¡€§Pò#|ªl[{RMMoæÆ‰”²IñÙÍ:<@ýy+©èãþ笠K­j‹IŠð}W hm)ƒ‚÷ô:+ ÉgÞ½—&LˆâÄ´ãìÙ3¼B—ÎŒyÅ›ÖDŠÇÅgsb•ܤܕ]0q7ÅÖ-EmfCˆ[Z„€Ž­ÑoÞF9ïf:bͤ~PÌ„aø˜}åf ,Ra'r;Ý)Ûùú' Zžk áuí]!Y_Wê3/­;îô»±$ì¹Ä‚ë¯&&žPÊËèÓ°s­3ÍÎ0hQ-à_Ð!`¸ÝТùWáÈ+{ä*àJcã±O¿¥Ç£)^vMRu§7cÂÜí·â•e¶p[$ÞwsÕ³ë&0ëíh.l…s ”Þe.~*z½ 4 öŽÌ×7&äCö^éY…'*ÍfùAuek µÐÅ„èBZ<ñTjÃ¢Š üX?©¬L¨™J O’ÞÂDsÓyJ Ч°°Tëeó²ëê`ä©Qáªn¨dm?í²þýÈJËâ:ž_å"J€bE?iÛô/t¾©¤]²øÕ'!“D”Û îË™%Ý5p®\ÆLÿ½þ=’ŠN'üŽ~tQtòNKHZ=yv§»­$lg¨½° ¤˜?ó!Ô_‹¸dõv­=…vÎü'€øvgu`æñQÊ /ùÂ!ÜõP TJ¾‡s94­?Ä÷\ñ”Ú î•pÚɬ|沺7y“‚ûRó!v|Àås¸§N&ˆÔn#9ã†B“Ïù-o©|Ôiz¡}nm"~Öuô:N,€W¬·æËJv¹ö¾–Y¹3žÄ`bŠóðÓNãˆ]àHvÁ¬«×r3ig$ ¹¾ºaJδÉc·ÖÜa£îïr“Þ4w¤'b¶Š‰•Wü<%­E‹i 3ˆÇö‹ž$¥¥Z¾ªÒmD¿¯õAk³— 4þLsü'ÐÂóYQ.»³Ú!ÇsDv>ôZ÷¤žW×ßALCbZÖÁ›Æl æ! ¿À’lB.v7¯ãì6gXñ×ï`ŽB´ewäü—>¨~3¶ÑJ>¢ |žy‘ŠÍ—”r¦b\I4¬:ú-€¶°þ8Nä3æ"û󟟦=ÓrH£Ã\ñÃH©Ýì ÅÊïL׃ïˆ}¦Š+ß­z‹8}F­5¿ºôž°Ë74`á £ÊycVÎüq‹uF!s_±Ø%îaeù{fÛýJ‰å'ê’h÷Ê;ÛåŽí¥ %ª 8IÄp@Ðv3Î œøÃùÀÛwnTìyaª,*cjY£‡pÍ)#š€žÄSVä 4ˆé£ªñG_öÇÕJ‡Þe¶Ót†Sz²ã§1:H”ÏÍbñ[ËÎ ŠœtI5ç̃¡/îkØœÙ-I@bëfgxÎÑì «Óù¹ççöŒ~dä¨é"^ì§+ì…zºÆR“[ôÅÇÚïÅ’ ÌÖSc¢wêüÅÖò^/"·ÿJ4H·²ät_œ†û6TEœÛÍ×}Ó33ší¿á?‹QiËF,mCt&Ó^Z½2‡ÀW`š®§îy8,©ü匰ixp5q†Vøºc ·iA¦²ë4ƒr^^´aíeˆØ,¸lA¾A»Tï0: XõÄy]é‚«w*YËLP&!Q‡ðd%®ºhâˆ7&-û&ö»Y[X‹ŽÉ¤™ü\â±Z­Ë—¥‡%þCm]Œ×âK{c¡ýÕÅà=³Û"?÷Ä¥‹5yÝ÷jÜæìaz,lnoP O>ÌÛ¢uÎÓÝ1òÓÿ`ë¿pvµræö™6ö?oWô‹c¿ÀD,çÒÂî&~òÄÊ;L?èd-PùIÒuëÜòžMb€Ïú·áçd"ƒk€t‰ÁXÁH؈º6. ‡už>O»{wÊC*.Õ DrÌfiüE/ô²´·±‹;Íj-]ßÂF@kÇ£ÈÝ̼+´•%„r?ƒ deHô­z‘‹>öèýÿv¢-Záqºk=itõ„íü(JG6¾™^öA}©j6¡Ð»7'0±+ͳƒ$äÃÚî`[c’·.Q¥b&?@$ÕÿQV¶Sw\w.™:HÈò(’Lôývb±šÀL©ðQ>‘“ƒ›{óqÚÜÊÛºôiÅŸ§ÈÝ|¬äHXqÊ[ ÉÑŽ KàŽ|Ùnyqó p"ŠK$w¦€ÄR –+•ÙFÓ>Þ0e>ñA‘/ëîvÔ$àd¾àƳEë8=õž4"2öÉ7Žjæü ôÒÛƒšàË.îÿ„´0*M“¨œPßw5àrÔnV·’UŸióòõf˜×|tà}+šÆŽ:ùåB9…8ö¡B­€óyFV§Ë?ˆ T¢>Žé]:ƒ‡ZÞ¡÷6±Û™ñé” ôGRS6s¨RY¿lq5PvÆtI=¦ »:L½¢ßZ b€~&¤Üy+,·JÉà‹äa_NŠ"{×7 ñn1é½4>ðÈŒ¼·aésñMÆŸ;Ç_à,ÖGÈx¡&¥sà ¶´-èÄ){ËEº¾ÕÓKÍ93ØèŠ?[mœ*Á æÅ~4ñµæçº fÐ[u³b>nXl¤ˆ_¥‹üG»Ô.³ N©‹§¶q“-ê»hÿ"asTh©›jƒ8'\‰B£'‘Î îW(Ë,æKÿ_ÂJ»·R;û=EÜÞ°ß,­ýz›WI .´ËHÈõfà‘¸PR‡2¥Ç­Úf]î"üA{‘W#T>aÞãD­âo¼%íh9¼x :Ó,àñÐܘXˆÀ_㇌l wÚ0P펊èëEâˆGyy0FÁ4aƃ.Ç,Én^ˆ–à Ã6øÕœ7*ÑzþŸöe;2Û<$ØÎJ0ž?=ÐkfÃ’Ð s •"»tL5 l`úQ`²Ý•1íD8I­ŸµHn‹ Ïœ\ì²™ºÿ÷áe1ÛkÆ´)ó2}‘§ËÏ„V¿o–› fâò‘èÄâéQÒHâ>âî†;K›/)Ø%0ò±’]i/¨–ؼ@Óe(w ‡^•ŸŽCE8ãâc앜8ƒÈ,„‚êkÚ_’˜‡UPÈ|ç€ö•q®ïî––j[Ã#€lˆç¦[ïŽÇÒçÑ$]pä“¡`¿tÇÏJûm·–Rf¾ýe¨‹åÏÿTDó ‹øX4ðé#›=GgÎ|÷_ï´&ƒ–»1Ýùk<AMõlÔ¡éÆ7íl}kÍY\ú‘øÂM£5ŸŒ¯úQ·tq¶³gÊÚ(C,\?mX>0Ý®\´(ÑÉ=>¦˜C¼Í[œo¬Ÿ+ö(™ËËTÚvªum±‚‘Ÿx&láSÎUÈ">·k´ ñ›>kz‰Å>~5cìR‰kà¿'£±²'Ž!™g{´%ää$˜ÇV½WW®y šðåaøŒÓ9LUDUõ5ã Lw>HäÉ€´‡:b‰ïvPÓd*Ç–=nù’]‡õQY%ˆ«™J̘\«JêÎ`²Ú"iË#î—PR>šhÐóÚr™ï¦Ó`¼K¯W–5¢ïÖ÷`7ÍuùÃ…3ç§À´{Äßç×âjÁ§Sÿä¿e£(« ÍÉúŒWWîžéœb»¢ÀÀSÕ¾ò¦Ù5¿(bF`\wZkÛKóGT˨¬à/‹%í¥µÎÂACyÊC×’–“ó¨RìŒ ÝœZ6rÍ8Å G/ïOcEk Qµ^¼¯s*°u`:¡ˆ:‡ës¸zÆlI^ºÔs#ýýU›sÝ·ýÇd˜=Bßš¾/ÍÍ/>œW޳¦ íSçé¢G U]_ƒß¶?Ã*%S sªt­èÊÌ×iÕ]A´zû€Ûe`úFž[Géuõ|{Z‚"Å8´…*¬çDr™HÑ[•|Çœ'ߥ8«69ÃÀù“£¬§®Â DB¤°ŒQ ¿bت>¹¢®÷}(U–,>_•Åyü Êãˆ0½l†dg͆rlªµ…|Ò鈱챒n닆ý÷Î%Š™OÀ;w"5ñѳiá‡Gð•Ýʃ ÕIÞäï|ŽSðP •ÀnsÈ ÆÍÍÒO‰äyo‘Ðß-~°;˜²€@OMPaDÃÜ*¶šåàÙXû½$ÃúîWh´º× &)„úÕâ=`]M>ÈEžøy¯'§]Êe+;+!b²rÌk@í›Ã~ÖhÏKX8­‡ÆI1ǯۤåÈútô7fÅl@¿RU5© Á–¯òƒ_Éy¦g™>c'd&‚××tu Œ˜‹zkXM†¹VÊ=pæ¯ýÛЇ¶µØèª½"Ù•ö;UÖ&Q;ئV»ó*Ä]ùh—S×ì§ ‚²í^{c7&H{Þo­³&…o±·4”¬•– §òÔm†¹¨Ó(@ÀáFÅY×)^Ëd¼ 9÷ºŒs[ÔKÙu=ú“EØûìiØ@9a(«àÌÅŸÉ1ÅVmý¼½éW»“«Õõ„œÅ1´`•"Ôh±é)Ê¡½¥ Œêë[é4e!@¹ê ¿ Ya߈<ëJõ«ÂPLšw—[F­nGŒW0 .ä šøšSˆ‰ŸðxlŸ»v¥[e]ÈÅHÍ_šWd-m^}Ãf¦ –Êćû,>Ë¡ùëP¢—•½Z`Xè4aâïz·ÕZÒÂ’XdоQ¾d½j6‡S ¶ÇªBØ÷ݱx¿!¡-˜W#•(õ-ÿ<˜«“Úæ“ZpBÖ_b_fÑi²Ãë$Ff§ÔRÖ…¶ÉEO¢µ¡Ê®ÿ˜À½FO!ؔբaRhz®0ºÏ f?¸'ȸñg©:yx;öp] %┫ížf =鄜wÏêÌe± 3rf$l/ Àƒ\€ÑÒ]-»F‹Åº¦V¯Ý OàÁûì1ÊS):vŽÙeß8à[î©Ü£•ƒ$UÔæ1\ 6UØ^ã4ކdË0Rkïð!nPéxݽ°¯5-YõSí ›/y·FžÆ‡‹P÷…©)˜ý*Wöü¹Ç­ŽãÈœÞxkÉoñ'°‘ëÞ<ëeïLôºÚ‰BN9ÇËå^ꘇÁzZû" •3­Â`§M¡ëW'‡ç…ªøÍêGŸÊKÛkDüu—\DK6c^:ÚW#MÓ Œü í oo ‚œ$«‰S%ûµçxð;©‰V Ò·Ðîã +8Ÿ²L;Gœllƒ´Å§f4½¿€Hfõ…|ÐQ™®xc/U}uAóá,—ô=Ü_Ÿ1yûþñ=ççRT¢Má Ϧ‣Ù¤fÙíÌMWf¹àˆÚÒ`uzà §A¶û¿þÆÞµQa-B™@S|î°AÈqãµÕTöôI;Úkæ0ßô½¿ÛYÇ‹#0JµôßßÎÆBܨÇp›Ã8°hä¨vq|!Íý–Ì eð±Á^ˆuÂ7÷€4¦èòfÕ‘v·ý¹ØVvj·yR˜ ZE;aïƾhÀ¾Ä•-¼­aVÌØ×y’>1—`JwïâT©7ëÆ²Û5Š,—hè°a‚¡–ic{*¼ix”á©ïù®ùk.¥~7o³:“ŽR\jA9„$úðÆ Ñ,ËÌDÊX^äÖûSio£aê˜òɶ̚•R†Å¢šGDð²¤öa°úrõàæã ÀêEBüyèÅ÷ÓÉǬ€ ­(±¾Nçr«¢£rk·R½zœãb|ʈåz*&‹•¾Æé½qùÜÞz?f¦2½fã– ÷øÁåùëž9Þc´Õ[ä.™ã6q³K¢Žuà"Ü]‹¦±À²ÚÛœ†¢‡>Àm¡‰3rÄÍ&8F–5îŸ+¹7¤Kmt´®Åé2I»U?NîH˜woh:7'6âU„aq‡ß—©ý 3Ž ¯ŽÚ¨gƒÏ‚²Î÷$f,Ó>³«Óòm~#Þzd>û“ßÍ„íÊÆt_c§u,T€-@}"¼ü÷ƒÐ´ä3)Aö¡âÇòß:vÙÔé™Ñt×ÍcŽ»/ÍoO›00Uw šI Ò 6dõ‹Hµ5¦ú×§j ^râAèpRµþøîªJl)4a]nù”56©'0¾jÏj§wU–‘Zƒë͸L×VS¿—ånì0£1v‡·Çó²aý‰°á t·<¡On š.¦× ¤!–˜r-uÎÀÜpM¢È;XŽÎ¨:™öêSK¸9„òð¿®þ‰ÈºÃR‚uE<Ë!q@×ÿÈ“ÿ¾öjxKZž;Vœ‚SB8†‚ ò\Œ}|E ϯo8L»ÓRqÕhÓä >ä®rR›­ØOvEìNï¾¼ó…ÄQÑ싃a÷UaDŸÏÀÞÎDÆŽ© ›i04îæ°Òbm„ RF›Jú¡¯ƒséÒ×ü¾­S\YHo;Ƶn—uç[m®tÍé훪Íåé¸Ð³ž·óÊýr T±˜Ðª¬ÏYÿR(p :ã6GöUY4vïË®”f`I¸„ù ÐÎIQʇû„àÒF°Æ1HucT¡f}HB{‚¢5ªÎŒOœnsÞ¢^  Ù “#Zæv{âþo½ÃcQãóÑŽKñv1÷ºdã6T½ýdሔûáÀtÅ €)dE,®Ù—˜›'D´ÖI<tö3‰oÂÐdþ·‰8LûÚ­ÁUð 墤øíÛÖV%N^Du {JË>m^C²AwЋÉ6×”¼òQ†˜2I~å»o³[ï~BHdɃ…ýãF/ë-´èÈjV·ad;Ó†R‹¼”‚ard¡sÀY¸Ùi…;Íù+ÚWƒM8pΘÝOùõ7¡4x\Z ¹Ù³ÚÊ)JÞ´[¦€“®ð\­®”¢‹É„<`¯ˆ°¥Ñ¿{öqcrXsïͅ‰5ЯÂv[¿œ¯çlW~Õ2C¦Úˆ‹pµæ•åRm‰±d»MÊ>@5gYoƒ¹r­Ãé'eléÙ‰Gf½ VD™êɺH[_‹tŸZÙòî<ï“Ü…B>(0S:³wÿr™@ÔvLuT?‹ý4@Q…½Ÿ©gŽË#±ìœØáã0åâ8NQdü-§~Ϋên§NÝ–±Š×Mv­Ûo#æYº{†ÊBã^k*J±L8d«EŸ…ÆDÒ8@ p•¾ 7E»ÕŒ^ôš–VÐ}MHPƒòå#j]—æ‰ù é£÷DùýŸçÈæ`ŽV±à.5`¾-§m_d#Ù€¤²=¸ÜÜáÄB”^Œ¿¹pwÈ…•D¢Õ:—ÂïjÖZ`æ”™ç_\bdZ…貑¢›òUÍ&YE>èk_ö:aS®&„¿ÏñeDöŽ¿ÄqFïS°êæÐ'kGì€ù©ßw›¡Êjf°F½*}×QáýÒΚs[WÌy…–†%üŒäg8äÇàÄ”´dF‰m…Þ;èÔ)óód»@2ÈŠ„%ð= Â*¹„Põ˜\©ipÚd“-›ožÑ_.¸¼z«öII- ¦?QãÑ`–ù{þ´PÇ"×säfÉM׎å€Ã÷=׳ß(âœc¿¢COÖÜ_²»[Ô½u£xä£Çgøö_zmáïKÑJü\™šMng|D î˜NßÏò^LL×r–«òÀû?þéú4‰£ Þ·ÜÛœÄæ"~O9¢¶8Ø‹vНìû·‹­¡´8ÁÙîøìGYṤ­Íu|ÚC@²œRð6-Ý çò‘P§1}Óú¹Žÿy#†$ Uì$mó Qƒ|F¢vy½2ÕèªìÉŸ›*°ÅÑk¡ñ*,r¦¾èÔ<~¾âÇõ`ÿÞ½P]ÝèlWóØdQ õÌ…°±jŒu»C)¥6nC-I¾ã°à[…AÆ>ÇV 2 Üò†ZŠSH`¨kÓ ‡] ö€³Ü-žgŠR”^{Û:B òa"ŠÒïR~Õgç& ÊWVk^®»î¢ˆÄ\úLNæ#õØbØëÈñ"¹#q链Ýô᫼5á‰{Êôƒ·tÞmìÈÝùÂë®1Þ¶‡Pb˜çR¤,ÏIpÙ_¨€¾ÂkQöØSÞI)cê’U:Œ¼!’Þª¨[Eµ­,б›çžˆpè¤^ÚÔ$ž[#É`+*·Ú·‹ô`„¥¯é¢I€eûbèíƒöÛdçüÄù mßXÞÄ ×z'®Y )"WŒê}_ßyåêN˜ÅÂXç;_8DcÙ OP€¡÷_Nîx×41hÕÚ'-ÜüWV.Á£7öË“¥;Á£Î}¢ìN2‰‚ò÷qìͧ—Zô[Ä "[duý¡ñ>ŸB«u=uР^³c¾›= ÷rà’Ù’•ñz>¸Nò‘u3!¤ gé«ÄF®*ÅpjªëØ¿1ãtP=Nƒ!œø0ƒÓ4í•>°Ó-¨îÉ2˜*gÒG4DÎðÑ·ÀFrNÊïjc¼¡`ûÖsR‹eUi¦d}Îó7} º&0·ûq‚N5±ìÌv°åÌ’O–zƒîX<-w‚cŒ döh WÊg’{ü`™½l(•±ùÃ/ 'Ik]EÁ‡j\k¹˜Ç|òÒrÑÅlÚ{"\ò=ÐÂkòíf¹}²¡ÌjjNØÅS`‘ ‰¤o¥û¦qía÷ùø¬a.BñâGÐGüóé(€æÙ¸¦°9kW|àY66×h˜@àÚ´-–Q6:TÓ3+ ö]GE§áN]©æécÙ” ãõÛøGúü…U?ª¨5g„c£Ì{˜:ä9„-Y4¢Š¹t"½Çê„?¸îŽ`½ÏAQ†MÑÿ®kXŠœ_ ÈDgýL±î#ôì@̼l5•öhëÈ5õ„P”FÖ!9« ™âLð=½ ®À*õ^—Jê ãR/{yÊ*òÛ• ¾“L‡ dÂ@Œ .OVŒNm¬[Š¼Ëƒ<{°âàw²÷É`®€^óÂÍâ_S5ŠkÁàŠ+~Û+Œ„“+·Û,. Æ]ÄVÙ'…>yZvF@ØG6c½L2°•e¾‡tB0í”Ns?¿³ï ”Æë¾;´%š,¯S%-ÀÓ:HíYbkÑÐWö¬ïðvî•©ñ{ ¹]ý ýc¤àû_þ­1è#W[[$«Áe«“î¶…Ž!-Ik+åMàXßêÄ<á€c¸6›ë¶lg@,cCÅS óKqù}—=Êܶޱ2­¼fçÐf·b=â©TºÄ¾‹>.2Îÿ ïvƒ| ß3^0Xq°ðH„m·Îƒ]ÀÑJgç6ÌÜŠ9yÏ]Tt¤Z3¸G³ñŸ£@[S„[ÉÃ2ÿ;/|„¸é«\€,;Vßt•'5§æM¶Ú"‹ Ô]jEÂËÚõÊ1/‚M§bÜxz?Å ± ÈæI³NQFh4ÅÌ[¦©ªJ·©A¸ÂëŒÐiˆ(ÈrToHfFªiÉ}_ ~Nò<¬—dk!û;ò!¢;š´'6¿(=Ó·¤¼¾„Ä­ÔðH@~€FX¤&TC ytøv Ñ¡Õæ»m燹Œ§Ÿáëo±w¥‚Î'¹äF§ˆÁ·Ù¼žÀvH½åýÚÞÔæQÂw÷ŽÙ“h¾‚שÿƒÁe—±,ÖÉsçÜ2mÓóe}—kF˜ÒÚµrñ’E¼3ÈN­ïuÿœÔíȤU˜çÕ>¬Dñª°üÝîH<DnÑFb=êƒÖ›¬åK¡õ—ZœïµÌÙúÆ´L#‰äÏ|zDŒ"‚S—¯×ØÖÏXjC‹µók¥cy­pâVZtØˆŽž ŒÅ"I„ïÑ?eºƒXw7¾[³…YO½‘—rÜ¥½òe‚*qÉ“«Kmᳪwq¹$Ô¼r,‹MFvjlYWIå#gc"ßæíÑNsÇ‚rp§4dvàGý{”¤xœúˆêÅ]?°Ï»á†Vƒ;o_y‰D~ìœLsIÙàüµ Å Ÿm‚Á m4óã÷ê̯© ”ÐàÎ5S ÅêQ¾´Ø\Øñc¶^¸‰š^T'®ž¿Ì§g¹¬Ø.(—qþ• ÙÕ}(ûÑbZq†¯Hú‹µ ´*F4 “ûºQ YÁžµ:ªÓ’ý9Y=ÌÂâ‚:n]áÌÏ6èžsííPYÄሴ‹·‡š¥ÜれB`Ɉ¶êsÀPŽ¼Ë¥èáè"ÍæbQ8œƒMA£ø¿Î¨¢ÂÙÆ^L³}w{*çŠk†sŠxÅ<€´ž –Ëuíì{ÆíéF2Ú)6ãÌ[/°ÃÒÉl1¼¢}QEˆñrÄÙ¦ènå嶬­ÒÁSä_·ÔØ™‘üZEFmÅY¶~4–ü9d»ìê€ÚìÝE—•Óoz\ÆÏ¿èÀ2õ£gDQya9p'’ó7ïÉ—?# 'Ò~2¦†ÖWbMnº†.Þ áQer_tþÑö%²vªk"):+Ú/ù‰$‰ÞF5¦7«d¸…y™°åiMÍ,ö‡QFEöè,¢>Óá¦Ñ‘Xj¬ïˆÉ¥“¦j1° ZÆÎ²çrEvåHq9a¥©tO†g×Å«ÂÛ ·à1«ÿÕXDÛ‡’& µ?Ä[‘@VF˜úík‚ハgk²´ÃFµSï¯'¶dÌÆÙK‘µ”)5UŸ0]|ö;£jø@Û XT"é÷528·ßÃnBsŒ‚›t£è¥l=«X°:ÞHØŸG#gëà?£€3Ÿ¨àNdDÏè,oäDËö¬âäþ.åJÜ$.ÑŒ‘Å „Ìϯ j®YÖõO0¦'Ë‚ñVù‚ ƒ¨Â°Ìˆ¦Ë…Éz›€ÖïMˆÀÐÌÕMh‘LLiõ)FÉÿÞÔJœZÞl½ì4b°,öOnñ½lQq+à»ô(¢6°þQEð:Ñ M拤Ë)·¥˜Éœq¢bj"sÎåí¡¾Ÿ#Næl^ÁÔ3j=ÌÒd¢*ˆ-Ñá~0$SK0.=ZfApú¨y¼-!\x=BTž=ŠX‚ÍTëƒ$Exkç'ã…ì²%9å[â÷ÇšÃI°ìó×ÞÖöœJ©-œ€´ÿ=t)<ò¼TS{î09e ¬û¨,Ã]{{ãÅ–§¾Ì¥¶×âS1WPY/P& ‚›@:ñ ÊÖñ2ô¡cpØ´W¹_Ö` øMa?6¬¾ÕX¼R‡T-w‰_(!nø]½Ÿ/†ˆh xŸ5ú[aùU]…nÅ^ð ¾:*µ´×BÍ7Íœ°ìå¡6ù¯ðÜKÓÞ*‰Ñö#œk’œÉ ÏÝæv& ³Íh[»L^­œB¸hV¬¾å­²Âõ[‡r­Æo¦r©pL½I(î¯ þ\ÑœÁÒ¹:t˜\c¼]ÿ>Ïg_M@ ÇSwð ÄBCÃïw%!À7ZÞ—Wvï;©Ü9ï͘M*L(…; •Ê‘{©!}L}€â` VMË€ð|Àµ\ÒpV{'w8´"¾ˆ²ä@‹c§é[>ô·ÒyËÚ(|ì†hõ[©—[ áû(”Ñ ³dŽ0±Ì< >1ðÕxz8|ð/ˆB˜•`Ó<=G&¼-@èg…ò©a²HTÖ¦út?Cƒqœ}ì/rÜ5ö¦|)¦"·×óp°•ùq.{” *~QZ#Ÿõμö°nP(êY9 璉ˠçê³et¿ÑÈú¢_3ÛÍ'þN¯á`IúOXÏ‹ |kÂäíõ 2³žû\2šI$ê>¶$6÷â1ß”‡ ;Üt†Vì®Æ7ˆ¢yŒæŠ ñ>«ºçÿ«†¶™!¿ÈQÞÐ'[xÄÃ- -ñ>öè+ž«j ¸ò\í€)¯éÑûC½~Áé¶|Ùi[æ¾æ0X¯ŽãS(ß¶LŒ„QzÒ&#:ÆRJÈ“ŽUÖ¾iMi‚Ï„«E®g øiÆóñ!¦996¦Fúà‡þ¶;Dq%é@‰O^+Zxâ³´eŒìÊ“ü9<-.m‘÷éÅûìñÎÖË<@×Ù3¡¡‰“få‡Áÿõ~‡ÏçŽ/üŒÇé·¯¹ò|¿p.0õ{/>ºÛìtÞP „œœK®& fòÜèÓm¯3¬¯€`ñFÜwá&oWO ZOj'L)åäÁ†´¬y‚h:ž¡Áªcàf­€®fúxðÀýâ§í’¢ 7o;ãFüÜ:{O¥kú ýN‘Ú;¥Œ®¥€Ljx0¹é¯r™¸ÒO¾qßÑ€OÜK]ÏÐCÖk2ë×ïÃŽ½¯L“àûô³ðÅÑB}\þzšC¼Í=)¿3Ž3ŸÞ³ÏÁ5œÏMÕ ¤æ„ˬDåÆDäeHWµÌÐR‘/æI¡1/Q’i§+³"føÛÓõÿ* £-QÜárü*æn>b†ikýˆKŒ«-ºŸ3NxuX¼ج ÅÛÊÏžíŒåý•Æ‘–Lv)ëQDïGŒ#ðg56MQ³É)ïf¬ÿ?4 €\–6ÏÕwaˆy\ˆ¸6Åžì£Ŗ›ÜGƒG+¸`"8q¢:R‡yž×1=r:djZT'Ù…5ï‡üjú§´(Á?qZ#*gêK™&>ŠJ¬ì^"•ýÂçLS‡tÜÞËŸ™úž°q}æg¯² ©ê kùËÁŒuÆjPºBãÇ/Õ»¥¼s9j½ÏÞ®Ñiðerh#ø H7}:P:›ñƒÌ’¶@ÑwÖmÒAjÄpˆk¯w?jáÇó…Üѽ &¹‰|bâµ`¾vYuÕx~–ˬ*Ê^´ÝÒòàOÙÜ*1ŒÌPrO‘DýWNLÚ Öx€¬MÿãÒ/¿$Ô/€®…Ñ …ÁÑÒÇoÚhá.hR§¸×È­\ZJyÄ–Mh<ÔÄÁb<8OC ™ò»Ÿ#•‚¹„¬ î ÄS<‡—“ã£n Œ¡E† ±i+©Ð¤Õ»1w£{4©˜1òþ;²kª~•Ï/a¢j±C.hWÊ—Ôj½¬¢‹WvÛ9ˆËu£å¯ UòjËŒ…­î${ÐQS½‰¥™ý lnßWbý-ÝrcXi½Ö2H“‰øþKâ'¿#S¬…Ò_Øa—èœøÜfX´NÛö¦1¶££¹Ño'UÃEßø5{—GWÒL6ü\œ€òW@yq´QšÀxyæ¹DûE•[Ž ¦(“gøúa)í@Cñ‰Ý£19a%*?k3ŨqS$Ê)B…ç¢ $¥+ŒvÌ$(ï<‡A"–¥¾3IOãµömtêçW.Um³6¤&ôÜê«¡„Q ¥3zˆÕwô°&…Àøë^±•c­»Ù“}ù/{…4t£©Ã¥>4ˆÝÕéˆõ|´Ó¿ ØVþÒíÁäÀ\FK'« ¤3Y=½c´eñÝPT¤,&X6 ¥`KœlÙ‡‚†Iö^ÇgÌ(äî áܨÇNOi{Õ^¶–žjÃÿÞT€ÿ '…¹ç‘l0Äãú4,ÉÆ5Ó\È%P)£M«©A‹ÿÂB™äÕŸŽÊPÓâT ^8-Léb¤ï,ªÑ=dÀy_GüÕ(OyæÎü"!œ'0¸–lÅŽ)5Ede7ë¼Â@µƒp7%;ŽG8²<’ó…´møqÔ‡Q¡ä®­"ï@Rµ}V$×`É#¸ðµÆrž µîˆÒïø ž²Ã#“ˆÅ}ÃN7›Ü‹ ³ÿÄ3òG±¶8€ÞÈ€JŶôv·\:#`u’í  F˜Ò5©q'„k³OKƒH­O(kTÄŸ*º\DõY¢ ;¢òêƒkÖk+›&5maÛ}:¦z‚mÇ&ÁßúP³JÛU\Œ+…¸ìk&Ù7"îgr”~µ±Px©\š¶6/ãlÿ.ÈsÌ’,Rôëx¡¢T¼º™@!½­d»vcÓ|h™W&¶OÝ‚À`éAy$a2Ì*²b.³Ü}G-4— ¦êÓBA;îW2pœ‹¶´„“?».ܵ4êÚÃ?}»xŸuSøÝU…€Ud~ªœ4³EÒäüÇ{„G¶…ÀzEîcWò†Ý€þv%ÅaÉÖ;±È~„\¿%®•†Ä@HîZg›ˆ¡à|û¢¤P“®±¨ï=è “/YÎwê)ØÞZ=˜:érG…–DKß®¦®É¶Ÿf zˆ™’­'k #¦¤'²ú¬ƒÙG¿˜†÷ÂÌ3œ:6Ó†íÏ­óÖ“t›ìPö‚X(ðâGá“Ñù%°êoÿ³±ºmyqÌf=¸cp+QƬ+$Pù´f¦_¶Ë ãe³„ÍŠÿ½AJ¡ôIü‚Äï­`.’3Æ´ÃLÑLÌ´,JPû†4LiešaÅÒñv½R Ö%†lnÕ€T¤ãn­dç}±Î‡rr[ËÛè .j=²Ž¡x¨-PZ‰­jàë7P¢¯PGkÐâÀÍM‘Aùv|•Úƒòäq„ÝÜYæ<^GRˆe<6¥ìµXP¸§¥!éÀÉPþb-…cFÜsïŒo”V:].פ]VTL ekWW x†¯« ¶ãæ›Ú÷[é`¡c½ÊP… …ùâšèë1åN¼ð$â2ùõvÇQˆ(ïâ[I.ðpä¹K«ô{&Íž$Τ\Ô°2¯Ó^gÐh Ún…—µL¨‚VÊk?¬ÓÀr­W’š/Æ8bAˆ:JöT'VG¸bË)Wä¡§ò«ÒYÔãžË@yŒp ÕêÌn¢9ï󧯈¥©t¢¤«½÷c#ÒA'*¡Íh9$BðwyˆâH,YËëU[’¦'Ä´!‡Ûº)ª:í› Ü÷ZO\~CJó’ÝjžÛ+ÍT(FDv _„kÒ‹"vœãëaïÏ#1dæ5í¯†SòëDi ê )(%=³&#(Gyà[!•’ï¿´4”Z;Îb'@…ì£`„!yrYa仿£·G6qW0”¢@¨¶5Ï¥ˆ€øÊðœ@ܵaŸl­n-äJÄò²ËËHz ‘e5;eñp?®6q¸`Èf®…¦Ww¤¡úOq§]ÊsþþÀ. |eÙ©®Ä:J†Žö+ÃjŽý) ÊüÀœ-úú‰º¹#½Mµ's]6û ˜½p-¦t¤«­S|´ ß2‘sÃ.¡/Dh9\Ï+ :¡Ðù.XÜ"`ë)-²Ö%Ý%¸Àxx‹7`³ #&) ôãí™H6“»‡1­œkÂNczØ–Å¥ UnÊûηdj9tÁ ú¦ËœÓ®¼Ë(Ë7«eä;Ûçöúôq0›˜*yè˜p‹Ø$©Áœ³tGâ´½jZÓvAÉVŸÏ.p'ð‹«;/¿›™O¤šÌ7r¥ZXg@r:—’ 'n-þ£K,ŸXØ 2„¡u¼ê•«,¿ (ùVð ×å»C©ßgÄÈ[äté¦ÜO÷½j»ØZkž«ámf“}TÈt»ËÒ¼`ü•Pb½ ÇãpMÙ[ù29`h¦@¬ "ŒÛUNrÄ"©®ÝÐ9õ7—8±Éß¶½e}ú»%éz)߈š pä­Ë1ñ=¿Êì^$k,SÅ‚÷pNåa«¾Nš‚´ò~±’^F;üh¬™!ãJ&—)×°˜Æ÷°ÙnµQqom¡À2>H‰­Ìa›¹ I°$åÏ Y›>4(…PS±aÅX•Z%ã§1kR¿6Àn¥6ýîØ®= $Û•ÒQéø6OЦWˆæ ׄ¯:«¡ÍµßM)™#ã/”j5n1²­£h.×lÂÄIVžË{‹ulû¹‰ž6¿±c‰¾L¢l£Ȫ”gÙú‡3Òö—rõQ‚6y2íØ¼Þ!¨¸yod1,tǘÛ|™y<>²áÖÅìsuïµxË‘›IògNOÏTìöo#ŽhÊ«Í!€¨®Öž6·|1*[¦ÃïjGHø®"uG;Aò:F¿¯ËéX2”~ÒäÿIU+ßmûR¯06[’k,&+–-¯WÓkó&½cü÷a£hŸ£5·JϽ,¿ÄÏ˽ JäžEAt­ú€ [ Kã.Sà‰ðàÍj<5¹Æ«ìÝ[ŽþF0ü…ç)ôÿ.c¢ŠŸZ‰ÅF XË´™’,ƒƒ’zs¥4Pò’ä;  LM.¤DæEvCPŽÙYEÓ7Ö¿Qq‹Ö_ƒRÎ=o9ÿÛ†îÄ:?¸®É]ÄÓ ¿óýèÆ¶`ÖÊ›`ÅÅ÷U¾y\ç_ì“¢¾’õ,ž¨à–ƒdÔSy••d™HçÁ™Ã޶_g’©5dµÏIlóš‰fŒÖo¼NÑwA‰ÿ3ÝáË›ÿ›÷ú‘-étìÎNQåzèp –ç¬?S)Õéï=h‹ÿ¸ë$üâ:´ …Çú ᾑ‹­ÃUæ†ã˜ ²âx<Éf®E•ri_Øx?aϽÎY7Jà}"Ž9EÝW“K©è¯+<ëe"ºc²‡’¥DÄà\B—|Øh•¾rŒ§2‹0çùÅ¢Aß”j¸<§=ÆY—΃øI'އ9c·’í „¬àÁzuöT?ŸQÆ @ž«^e;¹à6ßæÔšb?ÅáŒX¢‚íp’|Û8u|Ã\o·)\‚²LAÈûÍ8an¯¬­ª³Ì4Mºi6zÚÀK™˜¡˜7F¸ò„ÿsÒº˜·ñx3x˜È)ro H·¦JÖ!¼i½l ÷ûDQ%êhmܬ.€ï#£9þ«L­Î{•s¾‘uësS¨=$²w˜8Ht @;ð5x‘Íz4fA½uÏ<ê¸Ü0yÊÆyô% s&-¢Ý2 “iÙ§ÆáoÖë=õ$a|÷ï©fGtqg,Ž¯Çº‘ÏÍ“Iž]ûÛßÞýò#ø}Pºa—ì¡ÃxŸ³~ÓâìýÞð--X­¡£B½¿“ëî´ewúÀè\µW(· .ûùUÓËÝêÃ{?¹`‡ÐHà/3ÂþÈ•¨Ðã3¼_WrŠüºYÄÖÍæ(Ï<›¼ôÐgX¦¦âõ‘uA‚ Ü™>Œ~Kx?u.²ßNlï¦>DtxZ¿ê7w‚‘1[tøöÎjÊj'ä-§8°$ÀêÐnðP„u4÷X)ÞÃP>ŒYãyV²¿Ê„Õ¢ƒâð ! ’49M»Ÿæ\9 e…$1lrÄÐM°°v+‡V ¾z—UnD7r¡è‹ŸuHëþ¥¬c~ÝÜo£žJ{(·ûP%e÷Ø 4ù`¹£ÅÓu Ïj.G‡R™á“?ÝK|UÓ\!]_I éU˜‹å}û3_ƒgg½J„•w0ô*–“ø"®-ÏéBØSŒûÆóM ¨lmNoEöe¡{æø<†l1sÒ(ØöÖõµ_ðÊŠxŠ€wh[¦R´ðFí³+Õ7Ùã×Íîž8uÊU ƒGÕ?ÑÑ‚|ÕC%«*¸?CŸzšâ'd±å_Qc÷à/BfÄ¢õ"‰è Bjei"åUÂ1h¾=zWÕ¥³Ä”à^j¾i×[Ãí’>†ú±Sl¶$ ¤}©i{7‰YïhÃspìÚyDƌ͉ k{¯­dæÉ×™çá•‹"ýÎy^£©K ¯«ÚÁHDÙ]â—ô^© ^÷FJe®ŠcãKTð­Þ¤SŽYª1NŸAFœ$VÊ:åxCTÄÑnµçh&OÚPÇPýÊÄ’k¼¢/xD¼ÖƒÁ¨ãþ`Ëu?YŒöNzO™KkmÕ)­ÇÑÐùVœÄï]ç4ÑµŽŠë±ñðèbæ<ʼn֒£Â°£F[Ãßéë¶ÅoZÊZ•[›D„ÆT½¦U¯:‘ñ9†=;TòkÂrKWðÎY³)>±sh!>¯:U™YÍ /–y‰ÛÞƒPzǨRÄ ²Fh§9t,mœ²³×S—†}€ä?¢lœÎÿéM7’Iðæ'@A§`l¡à*–7'B§·^€R³iNj.zy|ðÂS[ÜÒ3úÊž·~f é¡ðäuT²e­i/ÃܸX-ÒVMÒü;é+©¤s<“K©¤7jü·?U6u~gu0‘ÛÒè™ú²€%ÄÁÁÅÆ&ïŒr Ô61  ª½%Y"–“jZIw®ôòuô\ªZÁ=Ü7\¤þU„¡MËAç E˜ë>ú:.â†!iÔ¦m¸µK³ ÂJ¥ù¯ËDmìÓ'ìø+qd*K‡Â{PSW—u>Âþx<ÎÍà§ðœ:¥íâõ$úJ9MYä7—’ç+w§_6€òšfUð•Ð:㹺¹N¦|»Y`TÐWƒ"í‰l?XödåF^Ã+€ˆÎ–A)aOª>{ìFáÛíéÕú:tS­Ÿ8a\)°ûÁ÷7@.‡”>ósºY°ÞÊ´×Ç$^ hÚ½kÀ´£{M@¢ÐTÕWš+-š|÷ø,( Bù–á§(×E±Éøaý_àÈkw•LJ¤ßßæ@ÚÒ:ZÄùé±÷û¨&’¯^î‰Z®<š3 êÞ¿©¢ó]nòeÙ2šU… ¸›[¢(“|Þè¨æ‰´Øå KjP%ká3-ß³¶äaŽ+äek 0Ý6A—Pùåóœ™å’Î|ÿ®âýåèºLjÈð¬†D.¡ÂįJû;DÐ=røÈW%€Jô:öª$ªßwù«Säiß º{°Ð–ûš§âG£ùÑ}UžÎÙtps?¥QÜ®·üèIüq>ÑÀ£š$ih#Oäªü²§ÈçU0dñWqa_@Ùû-Yžèozx”íŠ|_á:Í\ˆíNÆsu‰!È ×&U˜§V~Zžæ"`™½óóÕ9,¼3…im¦ûkç´ÐcúD©1ì*+Ù7€44aCkyy@º”SÝŠãÔ{v¢?çÛþ-ÙúšôôÃ(O°šÅŽcŠb †ææÆ9T íO$ThE¨zÂû‰qp³Ly´×=?ÄРrÎnÔÂbøû"ž9©yãšµbÎ1Ó+øåÒ…„ÎÅ;*~(傼.ý9&¼Î‘-9HrHIþ=ºÁÎ䔫Ä1kÕ¡û}ŸˆMK’¼F w—OVÚyÎ!QäÍbš/£I|–ôŽ×€Ã@·ö‡"U½ƒH µý÷GÍføaËYv”¾VîófeUê^°Ë’o'Øc3Ú7Ù,ýÍÑäöƬ9ª¤ðîø‘"Ðw”ßümãf‘*ï²Ö rö…ÝÒ•þZ±Jó¤¶sgëÁ ÿLn®Ø³w Ó\ß¾IáFÜ%­åÏé"¼ÚkÜf[ö$åί~Û«ºŠ¾ü…¨m‘²â,'*ˆ66F_†p#$‹‚È/Íî7À&³åb¦j»¥ Œ(YÊo‰MñJ°Î‹åÙaÚ®-l9è›ß}©¹×¾Ö#iÄWâÏ’Eô€ú¡¸„x)ɱ`öSw]‹Öþ–¤Naím±÷În=@™B1‚a¨ÚŠÓ‰&à:Hç®ÊÙÇ©\G%1I®ðÿ+x÷´gPµ:;Ñ~©Øt¥óúD _|nÝ]'Ï)©A3\,9˜Ój‚ô”ÿJÿÔÅQÚŤÈÕãlcçŒ5E˜“xè9…úDíÇͺ¸Ðq•âæ| Ý ìÅ-ÁÁvWµ C$€^W^û\íyEÓ|\¼špç†D"a3£N ñ^ ƒNPí×hƒ¼ åŽwŽ#PTÖP4ôXìÅBªä~Nç©øÓôÆÐö Û´ W…‡F5ª–‰ï¨2Ï×ÙuÂ×#í3]_Ö_É\×&"ó¸kŽ4ìi›ò÷1…òfóIOàÜ™™ë,c“qò΀áþ°E//×q*•ŽÁ]s  ïuD“Îs}mÔ°y»˜uMÓä æ$ôvÔ&ŠÝ™ãËJÝ=B #½ ½æ>Å2¤LæêS³zÉÝC6Iüøåÿî€v/ЇîQ#2Ì“Ä}waßR_ETk&÷c&`åOhÇŸÔÈèIÂ=ˆá†¤uMέÇ!M3b…d¥xl~2ø¾…õÌ]‰F9@”ž; qëÿ’ßΞ‚¦0b»‘ŠwIœ²™L›Ù탾›ØÖÜ¢ °óâêãK剿‡ËZ0ÿlÓ€©åf-¾¦âP‹ûˆ,ï *Ýаh„´³¥éU÷ñ¶[Ì4NàNŸ4“Óµ~ +¦¯™‘rs’Ý|¬KP.êyøbäWö¨ŒÁ? ¦¬ñ ’K‘õµôÙÚ~4Ô‘v³Zø  4’]AÆ`Ú_n»f2 ¨؃=7§”ç¤&¦x­"_(¡oÈ+ÀÕÖ<•ÐzQ-1ï`*z«µ`=l0éß°xšÿpÓš/±ç]}X™³õÕ¡=¨Áœ;%måiãKf]r’¾žË+1íˆg×¥Bÿã|jE^—¼åó  Å=(ÿV Ã7¼i†®ñ1Ö±‡‡±›O ‘JIhÓ ù¼Œf†<Ð>¢²×$%æÕIÊÓ‚†ŠoËGì a"Ç&ðÑ€¢8gÿWÊM_e–±ã®„“}ód£¶y†²zÐlEªÊ˜Û›O3;ãªíË«™&Š+Áé ü|lš©ë2-ò ÔIý¼DATMµzˆCZ÷Ì¥P@Á2éÑF•ïBåȺ¡¬aÞhÏ…·àƒäIÀ ÝþA7Né£Év’:ÝŸZ9¿ÏX×Fµ­-«2hë¦Ïk÷«ûÖ5!£ Ë ®«oTÆú'5¦œf+V¥H(4%çõ«¹ ¤…{Fª "¡¬ÄLàÚžÓ+²•-JìZêúbIñ?ÉíW&\¶×^4ˉ?G‹`rú’숰_㨣pŽl‚õ‹èpg-¿¡ñª’Á£[‘5cüÈùQËÞ ºé"#‹¬º†v+R¹°‰ •è^3yêƒè½ý+ïn—U*ýjró§é¯#Ÿ¢ús¹‡ï »s·ÇÈmyÛïZ¯|´èoŸt êD‚¦yi]†˜½-¡‰ Ÿm–/Æyî4ñ]¦á4 ‹~^éeMEo•ßI´ÖQøšíÈí Ý€÷`&+¢oìåuWzÂÒ)>â°¯Jj‰f¨kNµûÆìÛ·V:ú‘AÂÖsС8¶/8r¥7ý‚Lü±¾à>¹§?ùåZ¨ô‚DçB\GÇfÐ͉턜•µç3G,¤±¸_ïÑà…öÙ*|£R9¹þÅH™`9ŒÉ·sŒu(êÆnq£¼ˆ“«%=õpàxÇŽKðЭÌåIdû¸¬¸dÉpŸD… Ý <ËD]Ì-#?¾fF‚Ć(õÅë$oƒ—T…Bˆ G &I•¯çFne~O&”³½¦>|£-}$0–¶‡"ÔTøõìG3<&ŽþFYn—T¤àe2Ecnq¿ ‰.uÄ”î³_eu©˜rƇ!ûœY¦:Ç"¢ÃÆ»ù°ål!"0ß|‰~t&/æÂúfMh² —’Ï•÷ÒßÝgÐ:6¢ %WŠ õM&?_MŒ³¢âK|žŒ¯õR JhÌ55¡dò¡qÚŠoké¦|íƒtãn)ÎÎÆ±#ƒ+”x5á;ààùQ0S"Òl‚9|ZãœÛõö¶Z)d¸8ó~Xì<œRN}¼Ë{Qˆ*`1úÿ÷‰ä!CîIÑ &¬²Øj¹ùœÎ‹©öNáÙÀUVÐå/%9ˆgSî˜ïžE wå£)oÀœÃï…Ýú6XhÀÈ©wÆS¬3¢Ô…B?Àlð ¬ßÙ¼ÿÜ·Õ2@ž2B êæÄÿ(Ó¶éW|´ @ŠãÎfÛé#A¥–‰1šXtµ¼ìV‰P[kÏ?b³2îNGÝHJ›ÆÚâ@˨Ü*¦=Ÿ'ÚD^eUºæ%Dãe¤žûòyV“š†ˆà€­ŽØ‚Ý”_âÚ"ç'é|ÙxBû¹ŸÔÒfûðnÜišÊ^p#¸ÂÄ,L”¿,]1ò-ge³ÑÁ^”ðñoCÕÚ—\»úå~ö$r™bþu™ÔT%`ØîpH°¹E`}Ê’ÖL¤3/fA8ÿÞa¯Ýrã—­óžãÇ_&Åi«TÛ!ïÌ‹6ºÓ¨Æˆ£ä].+fÍJÎøHŒb ÀRâ©°pÖÅ&’;—^!\ŠŽm¼¾ò·wN2^S¹$# y÷DS˜÷á¬x£y_Ú ¸ Î+¡ªìƒRzõT•j…ÜâE¿4üBù °ªê\ñék1†ÆžY’œvááoˆ_ŠGêÀ'8dùªc/ð^g¸˜AÚŠÅ1I~—Ë<.²…1n^µ,g^µ¡·—/2B˜Ö£Ò€{ñqóðTÆÞ=;WÒ6º (fÆa¹ižh9ô8Q.®½"=ÿùÆ>ác:…Å4…®Ëz4•|²åº¦jõ'5t¢À>¢÷V9­ô1&†ƒH_HHYiþ¡H”çËÎ=¬tþcÂÎ'v=3LBvòÁ¡¤í‘æO™+u_ÓÂVTÓ ù ò™eÜÏc)*\Tò×ß²2À+æåcÂç¹Þêf*ú~^¼6)×Iw»ÿû‹uÇò¿~ úIA`ˆ„Tú¶€N`¸~[W—ß›lv‹h'>ç߬>9úÅþl~Ç£TLÄ·š-v'@&M•Òj=H]q*" ¹üB„Éõ^t%à‰Àöú7ļòÑ|¦.™QèlLöïhŒ³»`‡¯ã´mMñ>øž†ÿÒlõéÇ.Ÿâê·œþ$¿› ÜìU„¥]‡êiÞ¼á´V Áe9DìFq mÌílYÃ迉!ÎëbOž!6WKFÈùÀ\GC” ÏH¼¯%±»˜¶êÛ¬6Þ¿›Ü®°,IÊW‹uJê9õÏgb$Seµ‰k‡:%!TŸ¶}Œ†³Æ»T*Kˆ;nàÎníû„«±É7§å7–ã˜ÅüÎBËM‘¥öY"üM߯~(*E(ZŠ•>¾tHfÿ ÎTMÖ¡(üæ7$-Õá£?Ð^WØ8ò]J¿gïB9°‰! èrÓ,;pèCA Qcú7#!æŠI 8°N€Ïµ¬ )s.bKâ¯Ó팡q\‚‚ xÀæ´µ|"æTKÂõ3AQ?Eæ¶.v¢¿q™xàjEÉ\ý²•®÷•ŸPÕô¡litçߎ)‡_¥Í„Ó°wŒv?‰tœËÇ·‰Ð¹ZI¹Â¡F[QÈ7îÃ÷Žâ´Ö¬;SÒoï¶ænÅ—ò´…oBL¯M¾äÓg?Z×÷ðh+Î… ¦Wû‡oÀÔÕNîŸR@H½põ±,ô) ŒãR™g 55:h|Õ9ÈÕwòƈªö¡¨0}M Q\é1%dsëÍU¡'!᜻™vOÌ7jn>Ü‹§S÷ôHPFPnE 9·¤L„œ…!„úïÇÂü]aœ•R!LèS‰Ïz§hü§Æ†œXj+LŸÍ|¯J'3b•Î4ròòÀö!*{F óä÷%(©ýú‡I(dÑkãq£»R0ŠØmô©Fø™BBŸ½ïäf6ßj9þ $åê‚MJ„ÙÃF½Gýä2ëÙ<×Ë}=²EU "ãvíúõ±Øâ)àQüìœoÖë'y²ë0¶ajiù++"!{Ηè Ęjd±k0õ>Gþ0ÜiBnì´–<Ý‹ËèJöW{óïå!ÇxXŽ8Faˆ8äZVÔ¯ƒÌ?k üêTFE˜K…23ù³"ãYlÏà‡FºbÌty+$À Ò²î9°VßÕðß¿IÒD[Ö#¹v§Åö?[†)§¡îrZC8ŸsÅzÖß î®åf¡˜ ¯FZyúñ’BÅ0ŒÄÃ4°â “,aJO3â×ÉO/nñÉ!`R¤'à샫À)ålÔ¡l´¦ÚŸ©à:“¿Uv¹È”ƒÎ’¼^· Câfì Ô±åŠo&eÖÎZR;ݽ:%g°°žÔ¤„g±[eÄL|ÐVfµ·)ÐÚ§RïZUy•:£^%X€æ4m@pBSĈ(.÷7£ÓCZ˜N衎*ÛÈ=Õ«ªÛ¤_ ‹-‰,]NÌǰÓÓÛý¨JÄäRÙ¬–^ †A£Ó‘Öä),¨–aN‰Q9!î[O·ä Nû—P Á÷íX¤qßë}}Ë;ÝØoýŸ7i¥ÿ¨Ó™Ò©éç^”—&[Ž BkñÌj¥M Uv=5Ö©­äü‡ÓR“ÓÄm+õž²¿ö,ÝËa\|…‰[©M7ãÌZ­ÿ2Y7³l÷ŒURÕÊ ©I3"&¼µ9ù!¸˜MóGßnnè‘?¡Œñ½D¿‚#Qš§Òý»j¢ÞØz¡éÝô_…Íôùô¼˜áËÔ9y¼‚~{ŽYMxV·æ$3ÀÅ÷äŒ^9Ì3XšœQ„;Ç €Iúö-—H”6‰ÇÌÛ¨Vdg4ò·’1oäê—Æ4 ²µ}®×l¶¤UWn¦PžiᨠéÁ ¼j$áJ«ìÀ Û¸á‚3,Ñ@š÷¤ÔShJt ù'¿ruR.ÅÉÿŸ®Ex+L–‚¥. A%œÝ”<èSicês”íVaÏ|‹ ¸‹bºEûÕuÍ>¦"XàM.¬›µåWî^cJÎxŽ¡¯7éý ŠÎ#† xÒÌ–¸¡â•ŸP¢¬'}¦‘î—ðdâ݉¸ìËQÅAèQBh0öÎÏ-Òº´ekîjs¼1¦ž“]`Þ7êy?Ûó›ÜJI§ JceHx£Aß© ðîÿÞ°0ÕЙYû`Iéÿ¥Ë…á}<§5V…rìi"°P¤øÓ-Þ”JÌ1Xû3ÿ½M{‡ã^jáÙÞ‰V±ftyf§y_D–º’·íRyÎÿB[Ùö›¹Å[âVú"•¬Æ£÷r|x¹êÚŽÑ z|Ëjµ³k\ºokô1/Éb&Õä'™´8I¥ÂXø~¬¤ËÏ(Èžì ûv‚RsÝ8©nÕÝ­ay(â>’„¶~y j~*é c€š |ð£Ë1à¿ÍŒÒ‚}³$¶ÙÑ#SExv›eÆo£‘Ê\èˆsWio9¡©§B{ ¾ëæ›H@².ß–ñ÷b>¾•…>†SuÔC)ü„(z]‡ç’þζE#pf¯ HåÕß× Ø¤Møù"­ØóV&OUm§ÞªhÖ)|ó„ªÀ@ÐQÍlr~÷ea ¶1·k[AËàÏefxˆ±Lzìó1H›½Ån†u­÷u³%-u|eÏ?‡V­*ÐËO2£tQö¾&{ÜA–kVVvª8Þ4³‡9(ï`lÌõÈ“±tðu¸_Q‡¼˜ ŠâWI[ÌS3Ø; d‹ rM1pi ë{˜‚+b×¥<§\ô Øa& X&i}EsÏš`)¬ Ã)vCѲ¢Öw—Ê/ôî”óG[¢ýéÛŒ€´1°*-;}7ù°¾3)7£ ð0S{8ø¬6WÙâBæDB/阻®*N×yßo!JWwGrbäP~|xYyš Ú|Mµ<1´2øišrLaá²ýÃÀ®Àà31ÆŠ¹n‹_S¹õÛl§!þœ…zwÒ+3^kãwbqýÒíÕ«÷—ð°ÛŽÜíq$HPˆ»{xp@zÍÎîÞ‹éÓCú»']ƒŒèóuܳ*ëͶ)Iu}ôO8š¹/Ô³-cBûÝ”­Úò7š6 ‚8»èñÄ_@ÜH³W:,ŠŸ›†©28ÓqоÎ)¶:uuÑÿ‰½ßòŒlÑr¼Xš¥zp›aÅ<‹ò£z¹¹"š,œÀøP86‰E!¯Ïðþª&·}“öV¶x|/ëIfHö ²äYDØ.︕=2~˜ö鹯ϋfåa/…ýZ‰¿¦¬˜Ì¥.ô©Îí"ëÕž.²2qåPI7 Bûùt 3XKñ*ƒzw¡§O¯? Î:³ä²£DŠ$×=Ê ˆ€ÎÎâÅA¶rAŒÆYRΗ Õz¥¾ai[Ì éÃ2øÓÞÐÛŨöp; g€¹ìÁ¹‹;jݳéý"Zf­ØEŒþéa¦Ø1 %Ž?|ê0@Œ‡azvwÉ1ƒ ÂEæ_ §v06°ÆšÜ½jÄ KDzùï>9>ú*0Ý_m'+nŒ«]I‰ù«O4#¿ØÊïÇx‡#øµî¥Ð·ï°ÀjpÊÕ:Íyþíª¯@¿,æ`ÃØŠq=;pñÆ*;…[¥ÁìKél{dÜXä=‚a¥ÎÓé¼+þIUw'rõ26ÜÞ ¡ ³q|°0NÌ$Í®‘RhkY° ´–»Ò…Ðb DŒÁåc¯kœ;½“uEæT»w,…çȼÜSM´¡*‚ °¿Å¥Ü@¨K¶2õ[ͼÐÛìÕ諤®7› ËŽL3ŒñŸÌ¶6 2¯l­¥ÆaðÉl¤ÍÙ$V8ÀëœS$i²BóTRH‘¾Ù÷ñ3‹;¸³ÑæE¯I¯ÛÖnc÷ $uW÷C³;ŠR•ëd‚¯ba^òÞÒèdø¦¤ÚÞ‚ðë!w5Õ° …½ ÛõmÌDLâ|Êã‘f7Q êI#Hé´ö]¹éÖï9’Q÷Ø8Áf÷~——Ĥ8 P‚ëð¢“A]+«ßv×ж0ÑD}Æo)„9±­zÊե܂¦…Kjüpïùb ßö<éõ«q(z Í®¶!³þÎÓ á²­£Ÿì¸tïô@©ÁHÍkN‘ÛT‘¨×KM#lÞE§ˆð ï ”ˆ™Á[¦‚‚¸Â̧bÕ;ƒÏÖQèºkuOhH‘!Ó{J8º»P›K¬àE¸ÛJÝ~ð<[Õé÷wÁÙ|í!= N¾1%Ъ“¬a#Jôý}( dtOI­Hþ@bYâ³–Ó˜´Í´Œ¥uµžÖ ¶’Åõ¬—°6kЪ», ºÃÞ„éô Þ0ý{o¡~"rFÌ‚ ßÏjf³»¨¢œˆ!R—Ó] ®£•ÀÿèÛûTw|Ì¢ðÏ®zó!›>¯¶xŠ”\Tu%4›>ëħ5Ô˜0@ Æò¼ds³z¿==ðå ƒXd9ê,Åi·êI¬|zº'Ãq+_EžEšÒ¬ÿ’Æ‚J cNîRËú¹µß~Fƒ§Õ½—3ŒF¼åÝg•„mŽþ€”y¶r×9 ±ÁˆshÈäÑpf>K°à—àzUøR?‰“¨>XG­ôWÿh÷å—ã …aýWøðÓâêí¬›]c•Ÿ¬±ê¼!×°ëBÆ`~îÆ¾C_CËáÇ—& âÍn_”ü¹àþOFŸϳnZ°ð[û ¢*y)¸H$Ék0L¢¼è“'¢¨¦»®Ŷ”[]Ñ•w6²CLk8bä;C² B‚´JŽ%­7ÿ°"Ð"U¿Ô„˜ª$ÚFs¸IÅvÝÖùõå5E¦W2NVtú9LŸþ)韼ò´u­ÑP …‰.-/ñh_ ;j§×½lG1Óãj‘9=dšKV›VO͵õ?:΢!e€UDJk8uaFY& ‚Uèûˆýû0‚¹3ÃZ¨AClý‹ý #*õ{7 j br"7X>&'Iºf"“˜½¡ÕæôŒ†ÇÒI°$¶¤‡RBÿa¯p&i Ýb«8æTÊöÐÝvt9£÷XR} ˆ Ü]H£Ú§•þ ÌÎ;ƒºYà´IôóKÙGl¨³ê8Ô +¬Œ,jeO S¬†1Ð:é…]PÕbÚ4ïÈ™@¼-m ·~§‹ž6.Šv‚½ƒOn³+7vøgµ¢^øÿzQÔW½N¹"ÌJä3“ dŒÞ(f©¿[3¦x¢š¯^î¾ùòÕ¯M]±îÙÃqôŒ¤Ò2çåŽÐBǪv}ÛÓ¢×ó$æðó ëWfdo‘pô*jºÄâwL{þï—fÍ’€¥ïjô肌Yæ<^îˆR>~ï5` ai’ÅóH»F¾¬ÍØgŒRPÀäg$züÛ×vÊÝ€€4¹GO^±“Ñ´Iï­{¯‹8B§Þ×=wÓZ,»ß†¯ x½ÌŒ­!<ßG”"•çèÌØD^ P,Bªn<‰çO¾Ñ“ì»X¾vó%lݧwH·Ñèëò´J¹2þƒÒ35¯õ·Dm¹ìó Êá7¾ +Þ§4K A_Ó<ÖñËê˜ÕtxçÃdÜ|eÔ+  §Œù‹3¤4O¡ºêÁŽ^:¬]þTéã¶Š»Ö…G[ì\ješ ˆ 'þ†ù\ÓÒö–yTךÿ,ÞGESœ¨jÔ,T'ÞInpš•3ñ˜ýbFOö^x:TfØDùÛQ¿HóàFüI#3sÖ4”ÄdhDi„χ8&jÉ¿ÕA'PCˆlÆFf£0n«4½“µÓ5ăï#6žKŽ56Zï4P2Ñn×èÁÔ#Ü Ã0îZúaܽHi`Œ«|ÛPϵGv½;µ{ûмÁÄŸ~Ý®µ\©0J]›sŒU› ûќإÉqQ~^©Ëã­ÞXºŸ÷}àß°ÜWLžn“ö;ŠT{yekh±¥°’1Œ4„Ë®Á í{Î0 ’ù˜-’Aãø¦¸1ÜG·:¾ùŽàÞ6X܈÷Œ.â²ß½"òVÁ €ÒüÑZ <ÙÄWkŽ< Ö­!þuÙº-°‚°V‹¡ïn°K·}óNw…‹iðÚöÀ`º úó†»sÖŠf,9e—Ñ´¹º}â1N~‘Ϭžp“ä’þ¶Ãã&C†0ÙQ”ÿqzÐáê*‘ÚþЛ©ìwŠ¹Ï¿è‚m¢“xy<~ ûûk$O’0]Ëo[)v†T@F¬~—AŽÎ.{DÊYZ¸04.6ƒñæa2ˆ~+ÐÙWÍø=gŠÍ—o3âî‚PÖ_æ¯ìèD„³§6þ"¼(XÎi\ï×ÖйïXÎÚâüÕ¤y`C›q¯cÔ…Z†Âg–¤.sÑÜT¦þ=ó¨I´ŠèšÈ8ÄýÄÿDáU™„åÁ2ÝÓySý8auÁ¨),¿¬ÒhòWÉ“‹ciÆÈ–Ø×p>KÖ•É>ׂ ö)7 °>C˜ø„E»©VS$Sa–Vª|sƒ5RJ79ëðîw¼©•¦ÉЯCÂ…Íú’JtêÉ7)9£5b£h˱³sð³~Gèî¨D€nÚãb/ŠÕ%K>ÊŽÂ%dkÚ4»Ý÷^Ùõ¨mãA î‘1±v–t®5ö½ƒ ®ÀÙ® ð7âþ‹!"ðÖŸ¬¿bÂ4;Èî’çÿq{>¶¢†_«ƒß‹™^q?{­Þù^r„þlˆÜ`ÕÁ<“±r«e}–8½eô,ÞØùåwdêjòÌvM+Rm5­j…=X2òBËyx]…éÄœ=G”îƒg ZPbÊIà'þÄ€H½=€nwüûGšÇã.K8åg‹zþßT‡T$Û\ÍÍhž ÛÅÈŒJ2c Õzíñ¼VG1Ù¥™m‹ÕÐám‰~–áU|~:Wݶý8àÇB矺ýüFã*¼N¹“GI\.èŸ ÝB±åø“CsÂ-?‚бsÙ×…g*:Q‰›ÀÌéÙ•MÁxÆð<& Õq’HMÜýjÙkºÓß•¤KùÙÇnP+yÆãÔYûÆÏ…®Øà@{Bl[†Ð>!é|ÉÁÂ75T/ºÌx­:½<6êÕó úÔï–™‘ˆ€° íß}¤º×ðŽ:piãÛ·KÉì…¾IŽk¹ ýŸ#¤R W¨Þ—lÿÕ?ü-´W89¿/_EÂ2Sàº´Ê H½ ]rTßÈÛrwæñÊÿö„À—Þ§9’8¼$Š$C5ÆÙó0<¨ÑVÛÇCµ‘ȤpZû¢ôûcÕöócWŒLìûûkËñt€“ÈüÔ¥%Qˆ\ Ìü" iþ®@ÙV #zÃÔFž´íQÆFÍcD…îý,{&»§8wn*sÄ\D i‹ë@ÀíbKè8y>p$4ÎVÖ0wö¶¦çÅY¼˜r* @ <>„Zxxðc茚Ó퇴  JP õ}´–ó6â!åÌîlRsœ±Œúå¬sÛ6lB ŒtR®1.`xDܯÖÖ‘¯ Z%D£Ï>Ì“&”µ;fÁ•>jË®êû¨½³Lõ"ž´JÑ£€qsÆå´ôç³dÚãµNLmêõÏ!‘ä»t½-W± 9°ºÀç[¿»eÔÇÎ'aÊõke¦{LH¦vÖC`K=[s¤CCIë·üW±§`Žý¸Y3<®`üYב3¿b¹Qò,SÞìÄ—ç=7¼œZ>f¼ƒK3qq Ñ©fÄ@,s‘¬_DiÍ ;³™ÊT–'6Ž·œq)=öeüêa¥FQ°ÑèŒ]NÙ·mgƒþ–/eá] ɨYE«3ĽQ"ÒN;;Ë:>ënnÆ Ðé¢ì±’?|ŒÍc@.C“¼';Œ2ŸâÓ,X2N$ !u]É–$4T9ľ¦œƒfÔâCZÊe îP¶eñ!ž7Ι]#qÍãØ3˜gŸáÔ"Ô– .k?©Öè×´žNuoØ8ƒþmµAm]) §…Hùa¯6|\‘8F´‹êp#ÜN.Ž¢fÄÉÞè5ÿ]ÂÚ(yÂÏdûÛ‘jÚÖL­Ž’gýïÿLÿ!:³UµÓDÚ{”E²éx0¿†Ó|¼×äiÏBñO@[‚uæekË¢‰ÿÐ1âzJ Ó‘%죡ÆdFhCök£/o‰Ü „á?ß?—Í„SÙãok”"…àÏü'ÎÔÛ¿œ½×` + ò´ù®R ºæ[¸ªO,-8i¿ y/(wÎl0“šÒFs-/Ÿz¡­ò/0€ØÇœìX½ ¡W²åÅYæOÞf=zžƒ»j¬Êׯ‘˜Ü¡õýé&c£9pýóst`=¬RkÉʈ)έá‘J&Â]µ‘™- -Më¹éß^xçZßýrh¡ukuæÆ®a£…lƯ²P²U¥ ~¹Í)éE ;©jéä¡¢ø³JÍc$a»ÜÔ¶TÜqÓv6‚½ÞªêTÉn›¾×öv`bÊé’Oå ’¸Ïø^GpR÷]Ö¾YoYå·ô4Ÿ>hŸÒÂÓXéÐeƒ¥ãé~î{~´¦ÖPÑ~§ø¼ÉN49A¬„åâF‹ÂœHÌU Ûc¿ÍZ9PG¢:¼-çïØãnÐÌ19H·Bgâß7NWض òÅFB€ˆ—>ã7­V“µøÜ-ŸáXÎf­]{í"ëØ£q¶$+†å¼NìŸÌJA!7öxE´|“ÙfJtGnþ&ÅÓøco†4ÁÄIƒŠ½åBÄ#½Ÿ @»AXÞàÃÏó­ šNêüYãðèØV™epe›MÎçãqøÒ«fª±¼ D“邹«i„o/Ùþ ‹~9¥»)å@¾4ÆßGûÍM‡h’–7Êhœ[…ªºùÒ1¬2gÿï ù¯íqc½ÈRmaZð·YJ“˜­°Ö¡UÌ_îŒ#éô ¸©ØÊÔò¸­•Ö˜o@*þ¸Ä\S©g„¥­d»ÊAô6ë`}ðº.'ä÷‘€æäïÍœ.Uê”F6MŠjS?`›óúÞ1 ™J#…åð îÊC¸Xîoða .¾PáAGq<}·9ÐjÿeL¼à© ï&«Ê$G| E—¹Š»0‚ —§(“Úâ³(9~ÙˆÊí_ûûñ³}SRRÄ,ü‘‚}>Hÿœ@rEü[¬®nŸ\˜âŪú066ë> +çËJÝî÷èªKÓœ‡‚¨÷€®{;¯P.GÇ4£g”™î7Qì~¹:œ¬#°†ºusT2z$´—y œ:f!è–ü~…&&É»¼ðW©XS81¿¶ÂmV¿¨Ù8xyÍ­9qBM dßa,’F 'ÀXð¾GŸ2uÑ©† [‰AÚ(5G,Ý3‡þ•ŠF‚÷·S÷(LÃÔ+ãcLOCÞµf™1£d,ýþIÀ"ƒ[:Aw(t=÷èsš,B×. Ë7SÐR» âÔòY÷®k¨ì³…'rØèÅSG álîE%/’í=è2…`ú%8TÿÔ¹‹…ˆ|YöqVŒèòL¨ýüùŒE¢]¢©4GÏî¼ÿì`ÆrÔÂóq*ÞêÑôä¦:œÊ›ä¬÷TÝeeTß[ŽeÝ â®èä S÷8½¢;†Ü„˜.ùý\€Tq=î!±x9¤ë<åg¨m°²æ¯¤‹/i†u‚€þt¥ÚE³O»çø+“¯ÃË„g¨ÎLcp‘§©0"\Ï{n\SK¨Fm™22:}ìèmèQ­„gô­yŠJ]°mÜVVSrXAÐ×p¬˺SŠË=åÏS®¡½¥¥Ç»yÛ?¬à×r¹ìò¥Òä0YÏQK²B™ ER$ÃÆ¬XSRö ÕL`rQSFÑjqÄÐË–C?õˆ‡ÊkÔ¬aCÚ>?à¿Wžõ…$}ÀîcZš¢Ö~Z«¾KÓaWCÛLf¶©'}Æ…©¯6–{¦ ç®òœa£¾â¼q=Dœú0Â|[ “;ð6Ídî¬ï.X3áþaµIÝÑQ¾ðó½6߆ŸI¨¿ç-†®+ñÇÄÒ£ bKól®´ƒéŒ²Íñãk¶’qý0Ç<,àéyª6†;\G¾ô&ô*+«9 Uì¯ún·«*±ÚBüd‡åÏ«^rG]ý¤µ|z6¼Á¬ Ö‘¼é]àÑ7g±£¾Á5ëCû =Ÿd‰º¸kŒ:S¬7´3I–$^f5fÀÄjì>A™oJs]e™£RFñHf)vø–gnø¬8¾¸§T „GŽÙ²Ä]úý Ü}Xc ­¤+—Í—š.Ko/L»ê§WPªPñûU1;fÒWœ£6-c öôžç.ǺP‘vlbYö› »óilÇÂÆ^©€ Þ›†i¸Yà^ªÏI=fºeÎpH‡‹ L°h¶´•ËȺ‚˜v$ÌÄMì#YGðNZ&Bµ 07n䬭ú·»ÂCþR‘£f…`óÞež‘½.SØáÙÚ[ƒMq2?Îé©p8Ò½¬p”öãEQCÈê0K˜µÉQDóPv¸7Îiµ<²’8‹›iãt7«Gë—®¼…““i´mQð<ŽÍ^] áÆ6Ü£X¤Á¾ûÏ—œdZÙ>§ÕöçsÊTÓÑIÕŽv(ÓS=UÄ£U¼KÂã"°>hçʽÙònµ•zv}²H‘°Ý%ûѵûlj¢ØÝö£Žzñîéæ‚°Ð?A°~©X#ß&Ð1Y©¶¬¡úŸ¨¸Èô®Åw:ÝP8K 6 ¯kCÔ>tÖ…àÿŒ¥?`y}˜åd\»9Ÿ¦Ex…*_š0mqÐ ¡¬LxAç$N°ÎšéP¶ùbS~±. ‰Á8º IXû‡ù¯T ´ù˜” åz\Úeˆ,7Ú°U hx~¾oaïÒÄ2|G}xë#mcïrŒâÀÉOnzß,>ÿ5:Ù:¥K±´àïÿ5³9J|ª‘øŸP®Ên-žý³l—…*ä—H$3é"²S6)³Î£8ŸÏMî˜ð±g—úï @lòY"޳%D'æÖKcb`6ëÀ}Þs#ˆŽþsiéáÞMÀÑ"ÈÆºà?";ëDâÛ‡+Ss˜GOz…< ¦Í f•þ‚‡$3Nò»ŠËÿUw'«À…<@쉦I0‡ÔSL£–šöä8f15½°eÆÆÓ&ùv8Ò…xê¢ÍÕãÀG’%qD–ãïR»L85.í²’1CŠFût2ψ É4Áxì±ÁsÌŸ¥cpè$4=}åóÊÔL£ÅÎ_»å¹ó3ž¬6}çÕÛÞέ•`/ÄÔwZšŒãXô3þéŠ3c)‡ar¬izÕ¹D Pï@çOÛ€púÉúióɵâ_å`í&”ûÌ•Rœ¿ü5˜e¥nh—zž¦ó±Á>V.U™JKtƒ µ«WîH?‡¦VGdòÕmÖ»½¨nfû“ë^Róì_Áñ=dñ„»º«ÚˆÔa 5M;Àyõ`¼cDüe¥H ÄÚbЇÙ•C>Øfd®ÎJ?™D0sŠz«ÊöA€ åëGA`i×s:á?màa¥µö|ç±ÿÝênbt_©°¼4±ìzë®ý‡à< ®1µ´iE-ô“ÅâÒS/ÚMª9ˆqiN/$v³0gK\X0.¯•– Y²ÃX˜Ú@òêÀº= bÐ[Œ•g{*Aw:/|«òyé`hèb£gÅìýbAÕƒ¬Q…£â-ÂÖ”ßQÏŰӹúÕ¼Ô‰¡ÊLÆ;Þûêá‡ÍŒcíÚÝ"Õmž± ñ$åñ€aQ“ÝevBlªÿÝŠ²X)ùLL }¯P«ˆ¿°°ø¨ó´§Åʲ{® ZìhˆØìñ1þ^1œžÃÚŽrµ‹°0sönGÝ·~0 rÏ5ƒ‡‡Ïc‘±KEÓœÉJDàÍBôè’vX²ßjLèôX†á…‡ž 1›ü¬ cQ†W°F-¥¾µ¥ ùÌB{q”Apìdy bȾ… ço÷hQ~…·?üŠíñ.tú"äð¸:ÀÏð@\³|ùgÎ$±Ÿƒ\$–›|†3[¸r´0Owý[Ûˆi[?>¯Q™QV_?"ýKè¡O´eçL”Ð?>ÆèúÉÈüסÝL.»ÏÙîêáI°!&€k9Ç!äõö ÷!f@™’ˆ—<Žž²à.m¼ìØ£›9< ÿ±hBöïBpT×~­ªaXYÎã4çc-VɃÐÇ<©™Ì@æ ¹ðÀ=ÿ –tûV×úJÚ [°é¹õpÒãw&ÌÆ‘ ÀZˆç%9èÙ¥ o5‘ÁmØú4Qd¢x´ â¥ÂKz,îÀuÄú/ƒuŒ©Ú¯æ b¶—ð¥m6¼â̪#ñ›¢úȃ%Œ¯Oàÿí…Š©X¸„ЛÍÏF¢x!¼&mQe¯z#ósÉsüÓ˜&¹`ûÊKÔhXµô`±‹ ãå>Û—ÎÝò ú—Æ$ÙÝDZ,ò†­çƒ³Œ´’Öµ™ZQ93)Å ŒÉ`zÏ;ö•ÏŸn(t¬U.‰JzsQ¬ª<ÿ€dr•˺ó˜ä ÷Rþ¡û¹ÔصôÒÕ¥³Õ7apu.-±£A0%zpë^ßáû^'c´üÀ‹u‹°v\;P3™)ôvŽßáp¹z'Ép V7Í|Äq°Ë.äÿ œ^Ü4N1™oò¿ŠúìÑŒô6nv âOš 2<ŒÌªx‚%èŸ*l“€q¤KŠ7¬mh@ï% ŒYÛÏ¢Š‚Ô“µŸÓh ³¢ãÖŽÕ”/Ô©RÍ~a…+Ð7;ê@Õ U‰…Cô-Q,LìÓ”8dÐÏ uÚ`›zdÊÈÛgÅP¿Vrð®Þܼƒw®Pvº¥ÇÚmUʱÙ=¾i‘+\½óI[Iöå<–˜å[ç6†Š7ñ`†CP±nüÜ&Hd-‡~öØ(ëj;­GŠD8¦~uÁ¾õòa“Q1ÅææÖ»ÍÖˆhàˆßÓ Å··ÆýØ?57û°)€ÃRÅw¿¶¢WÞÄSÔ†gÄ1µdW9زÜÔó……dæŸi‡—|-½,}ï|áÖ.yD³ñßfñ'>Â?TöŽ]ŸU4 Å†íÌ*¾VFƒ\HûuÕ{>_¬ÙŒÆ$hv‡9k°Ÿ_ßA%V¢¤×xšs‚,Éœ´§6Û ÙÉùgÈ.*œñŒ—ó/l¡¹·ÁÏñ f«¼`ÙKþ®†ŽPBL#¦ûkˆÞO‡Ä¡NBѪÜiêÚ3htO^dI,LoTöw1F æ¢R”ÂS€vJ¿ÔÜC#É““>ŽŒY{ÿ~Úçÿ\¦ó`wDؘ*U´Ýõ 梨ƒGÝ´i˜Û‹% 9ý8qÌ/\®x9#,ûÁ*¦Þ˜+ÑL@ƒ'>¤V.xQŸû «á= 5Ykeáôgð°B uO(%Œ²º€«D]t9ËÑ,UiÒYãšyk½)!LBzž‘ «3¶;öóç3ôʧ¡÷¼ ´ïÝ¥™ò²õ<+©¯êTÄ+z,àd.Q"#®:Yýиݙ¿¦£ŒMmº± þbÆé7Ú½zOϳ‚ßCýÇ•ê¤Íš…ML¦eŽÊúüî›±¤06~kÓâÇÔ}úv‚™kû/þº9ü ˜Ðà°_¡%†¯Ìd´uT0d,FÁ^õêSÿO× AGÀvtí»f/²:n§=.¥jïýÇ2ŠžÞ– ɔϺnMÖÜ´¶ÙNCo¬}tWO£/Žé½°Úw¡­yÆ 8π͟Tôu<Ð"þÝûü-Ê·Ó{øǽ§Èb\þãÂÏ/½±4z§ÕJöž½rÈ4ÕóŽ[4%‘­ZðÇM?¨l§¶63HáÕÖr BÖÄòj øC„Ë€ÂL»·þÁøê³`^Põé%óD°º«¶Yj]Zb9á_'Ä2£à {ë›uæ£Ç‹Aòá;R¨Žùy2¢ýÑ$y²J“ÑF î~¡eÕÙ €@Hƒû½Ä•m¹Žõ2»ÆŽtÁ£yü¿âýUÜSX+’Òâ÷zÁìðiÕaû¼ Z$´¢5”¨®\ÀØÅ ¹ãÔxÜú*ZʾªÆØš^*õòŽìgTí\Pj´Kòß`­M4‹¶¦ƒBÞ¡ú¾„忚ì’Úûª^ÌôˆÅ¯½c*'®õñÓÆâsŸº­¢U}´x™'WK‹§ÇõÔ¬'&Èñ©_ûþNÝ@pƶb·¦ š;$(@E»à!e 3Àý?½ö%Èn‡y‡e€s«à/×®ÛF0ÔÈ÷^E“2¢Ä‚Ïžékº:Ë&*MyñЃ Š€Äû‡¾=Bò8¿-|ˆ™%Rm3D½<œ¶¿57j2\ È)”¬µ¸ÃmK‚‰€®>=ÑË¥u³ôk†=&èc9›½Èwaöމsæ;¸‘™§“Ýõ·Èh—E£ !b[i“`¯¦:˜/¾ãGñ=$ý±ì-ž𠬿œÅf¼(žÐˆÖl÷]*ìLØ&kýòìhDå2ÀSÊ"÷zØÖVß á/¹8奒·­?x!1Ê–H1Ɇçµ'Ì×’ÉÖË.ýÝZÿÔ¯³Ízvê·gP@¥….b+nÏf{¼¦[¨IéSAÑ»ö€ÔÕŽ}ú#²ŽZd$ñ_´7°y¯à(~¯ûÒ7££AÎô’GËÌm]âjóÞ"ñ>â}Cßh ÑàÛSâ¢ÅQµÅ?–>Ž(‹[]Ó¢rÄÛûPÆÃÀ9¿_ìÚ‘¶¦“uëµ6„KµdÞÀËì=‹…˜S©×Êbn0 ؃½ŠÚPxÆwî¾õ²Ú拦>x ¬íMà´¯ÜùŽ$F\*4®„æMÇ)šIèÀ;ªƒ¾;䩈gä\üÍI1}ÐòBïæ÷PªPüŸìvßR<šüÕ¼ÚøÞ2\˜x Ÿjz<éÁ훎ó=ñM`zã!a‰ÚŽà I] YPÎGÖ ì—9þ¦r€zÍM±G¨¡ïbAݳÚãÎ")?þö‚FBØ5õææýJ¬"Ä"¥°QTý èqS²“äÔ$ÝN®ÊÔ‹:Ü{朗Àbïõ´¤||—Ø$LÀŸr¤ä~-7,o)Ð"͘¶A• 'WëW1›.3¯“éë)ø·©»ƒ™?¡˜3=1÷V˜ýmΊ †5 \´Eä6²”“Ì„ütV£/[¢/ Ñ1òëDÇ 2ŸîðŠ;G Á‡}EWRv[¯¯1¸ðZwxÙ“éY­%­ _9zÉ19[³¨<ŸiX»›¡tý.6|f.‘]_׿̈́r¹â =õ ˜AÝÑ;\âÅ±Ô kjfÖƒh­Gîò@Al‚¢çv\ÖÐb#°m‡7˜4 ãB§y­fî’Í’úàÐã2¼ ‰zØrlÁ¯QnZKö0<jÆé8“GLýÅ«»žŸYÈC¢NB6âDô ÒE…%C†—"ԲߙSíÕ|ÚøµšF®kÎÆu³‹ûî2]¯©ˆD>–€=Á:_ óÑ×ú÷„Ÿœ Æ€êIÖ¤[£ð»úT‰Äÿµ/¯ÁÛ‚ð5˃&_Oþß/NíñÑ38„žGw— W(^Ý nˆO‡Ôh`´ÏëàOŠ=b¯ŒÛçör1éBu¹Ï\|”„s §žë¬*ʪõ…Û¨ÝmAu|ö+šAsŸ¶u¤Sdy'ï±ËK‹ôƒ»Ùa \|åmµ<À½ìèÅÝÑ’boc p±ÉÓü'¬dð¬^“‘Âg}Fqm Ós¨§—ãbÉäãÒ[ËR’íçÃi[R"Q%ǽ5tV9´S<»nS­¼~MpTgã›ð%_^ÌY‚‚þøNIc/»wê[Hí˜ TTíµùòP«É\³i¯WD|Æâ»Šï …¦Eíô'AÞàBÎæŸþ°Š4fSŒg‹´ˆ?î—E%« tCðmמ&GJ7äþj{Ïå“!éŸÇ©œ{5@ÉJSŸ›=‘Rƒ{ŽÊýªØú¸TˆB“ÔJÈ5Qÿ„©M©V›„ž(aføC;hêƒ`{%ku6“*oÀŽÐ™’S¹-Ûl )r^ü½ÁjÔ~>¦¼}¿‚´5Ë\Û <Ù¹«÷Í MÎ/}Ôh µJпÚtñ~п“a¼„ÇßP$³£< HÔŸ‹àMÍL‘_³Ÿfhe˜}%[7878 éÕ?/ùF]ìÆÅ×)J¼Ýœ(]ÊN…P´ÌKBeòÞáÍRì‰j€r+éfÐZY"WÁì´ÚÑb·ÕÁ®^QDÛ˜U³×uV‹b×€Ú(C]`Þ7ƒÙÿdN :Qî;Û€ â ŸÚ¥Q“øBëà4ð:ˆågJQÿHÚÅŠŒ|Ú6N ïg–?t‘ÑáLÄ!êƒP9hù_sIƒ!I»h±ŠJ•ËV&˜pËâð Z]!_xBH6ó/ªêØ;…‰*i©z"Œ¿Ýq¶†¤¬¡îˆ7 Ó”E×ó”“] „‹¬ LÊ-Š.»g ‡Œh¼‡iîŒùîñ’äzϸ]CZ BhÞ‡šÁ 2È¡ôëý¿>@Þ-|/ÍtÃ”Ñ !ä—ÖÙ;÷FøŠ4ÕS3Æçvøþ zQŸ£Ù^—ÂçŠ3Ãk+,gü% - ŤæJCOwP;:„…ßœZíξ>D+\k{Љá3_¬ÀÝHIÄE X’vuµlµ‘;`F¥YÌ˳#:Mœ9‰PL=´·9/"€Ã’kùÆB5@¡@¨5vy¬'_2@Y5QeŸEh¦XƒK@ò^q÷PAˆ¹¿tÊÕ"9ÃÏ<ƒf4´uÐöðûÝúnÚ )Hû’Žˆ˜62MmáNï žµž>ª[¹•@¯ŒëìîÀ¥5«I“é!%¬UÓ<ñQ²èÔW>¯]Z‡§´$ø•ÓKVbV:ÔŠ™ß§á¥¶ñHˆÕU—CïÐ!|izñnÍjÉÆ(ù¿º.Ù˜¾%šíµ¼`–X+ïNA'Nê6/¶BzÖ?]ã–JŽ¿|DÂ;c§g¨~Ì´5orº\öC9”BZš8ÀßCd›ú¡Â㘻ሩ=×w2S§&–Ÿ©veFcÎÁ$DK99߆ú‡¼€û&¤æ§‡ NÀTûsHAà?Á—7Œ§U,}Ûç|¢_€-B¹‡ûÏÆžÁ3&61¶ºðù,BÆqE‘ ¦l¸¯6c’OûÚ9¸dįKò ¿í¥-¤z!ôGÆÒJÎ{Xo±çÁ9KåHÀü¦ª÷Ù}¬Ÿ0Àqõª%Ÿmï•DñrÕ ,øŽÇƉՎx½e%䵜Í.rËFë˜b7€ÇG-ŸíûûsèŒh}1ôê¿Ä[ :ä^9x•Ͷ9Їhº_Â]`ó ±)›rA`0J-£·½­® P·/4b,q0.â—µŽPôã€mK²S‰ù:=ÕHW(© ÎÈþÆKZ.³˜Åßç^ó@âØ7´OåS`\[vÛ¥Ç Òs´JÔ;X%–ÇFrŽ´a¥ŽØz&ì²»ŽÎýÊÁ~¤ ]Oå hÆ£Y0àkp-\ódÌ]Óù.ÞÄõ¯°¥bŠi`oÀ-]í÷\[w+5Ú?Jáô`¿nÊבР–þ#¢rÞfd$5†_ýA{Im0‰Q {” ¸ËÌf§€°]›ÔŸ„FÑ@LÅ)°øNuo›Œ…Ôœ{oZ?%?ÅÅgºÚú9<- Jê°þò}éôwfS´uÇ@ôi|?Nù‘‰û©QÜ“ˆœ °ž£)H¿†ñ̘«„eÑñŠ Ä<®‰ÄíQZËÞ§ˆŽü™H}mÎg~¹M ^‰ìW%Ô‡§bÔîv'ssÕ&@ò‚×]i[ÞÖçgy%}¹ç·^Hbnîµ”+ߨó«3¯.Òûrt™‰†v@–žíÙiÞd†y áþF©eý 6ô_ÄÖ®JÆòQ¨F|¡è¶cª :„3ÞÚÊ`™¹¥¦$Ue“d¨à«ÿOjßÝ‘¢]Ç…Ñ—å“i¦ƒÝób%–Ði'XÙüÍÿ2ÖýkÖïþ™vË=Ô vÔ¢|F‹à5þ®ÉIýg>,+å,ãµ 0-ƒà|«í½S?pBbÁvòÕmS,–Øš Úø« ¡ú$tK®ÛŸ¾Zå“ÄÒ"ª:üÞ³‹!ò©¯šsjÎŽ–9u¼¶}ˆQô/]¶Ì•p±!TÞêª!ýïùcMã&Â:¦Sþ ’ô¿Ÿ»³«­¹À}$¾’@ÌoÒZšäéÿQÂD úð3Ó_{Õ­çîââw£bŸß––í{?k“•ò¼S$Åð,ûÍkŠjö;òföôr°Ûº·Ž>mÉÕx¢üíÆ,Í3ߢ۳•^Ì«ñ 2—Ë­Ä 7Ú'Úû݇æ"ü1Á²> UÈ(ÑN”Þ§•û50“ñÖÖˆHXñÎ& »g-óP2lwí ¤øåD[ÜÐsZGˆ³m¤å»8Gæ Tí¹Í/±î4†0±•ôû¾»[yÑÏÌ*(˜†2wf{À¬“äc¥ì!ÿ“Î$¥*¬yMAäw/²`e ’] ²l}¤ÿm¾yи}F™«*'ăh>¾<ÁWƒÿßGz¯m½;Ò;63«?h ížuð1ékÈ­‡°X«@:)•µˆýIƒOA®í¿€îž‚Ùÿa¤YF΢ÒXd¼ï0nP¦¶'µHÁ†ˆ’¤ ;b›Î‡\ZÉ ø s©å0ÀF 6 ÔÖÇ~“±· ¬ÃƒT‚ é…¨¡“I˜ºÉ ¸®æº¨BøTõ„èÄ‚ØÎ¡±0F*ð‘½Ùo’øX„n»ð^Ù`Ö%Ó´žvÁÔ“ê’Šqà’ÝÿÙVóI*yÌ!bíýš ß{9Vg g0 —ãVÌ+#>1P'Åñ™6²‡\Ž`1–J;«ÝÏ,ÖYL::&ñYïIrCã% GfO ¹~ñÕ*Xìbgaíp§¶›®î _¾`±ïü„ßkMƒ{ŒSÜ ÂÐUÛˆb$P_?‰îxBìß\M ÒA´¯ž¸.žúž®éÒíáD›k+VàKxê£È¯¿qšïï?½)=ÝÄjü(1ïïÅÄ5´|#Næƒâ_¶~y‡úq-nP†n§é7~ qIHbòª.œ?øgÎO üʰGon(èÆÓ8·Ð…Ý%²JÚ R²Q‚µþŶØvž÷ÇJlLÈâHpOUŠ ÀÐÒ ÌÃ]Ûä¢ðö=¬Ÿ‰üçPÃçd4¨v4¨ý³Ú^–¦d€8âÖPÞ—Ø@úñ—¹¾zOÅ‚ºÐ’!!ÿ+†`òÛåZ{T#'wýÖjøˆÎR|¡À ¡CËü=׎ԭ¡2eTöÊíbÑŒ†5ñ¿ éE?T˜;/g<¾üæjÛCålðýʹWR¡Û†(Þõöü—Çb%@(žPÕÓ^*\ÇÝöíÛÅÇ'ž˜aø²]!ë —À@Íf°Ãè•’§Ek„͓ʢÌöÄ:¨åœŠ, õ:þH«=²:í¤lÅK ŽÚ\GÚö$Íqec ˆb«°®4ÄW]Er¹5²û9^‚VƒwµÛzÿdŒrï²`o±A9).+]ã¤Ï…ù®ÕØ”|I‰ã‘ÓßÁ•ïɳsoŒà/u‚[Šuˆ…/2fºç0]m|w?™ôôAg;ÜݧÜO.ÎæVtÞÆ'ƒÿhuax{Ň¯:ZnGcä1{JbxÙRßøÖ˜˜ü©kûü;*ÔozS€„«q·älºêVíix¢bϬâ¡þŠ?þk›ËÚÚx%[¿ƒ—qYñ“)`‰*¹›Íµä ©rÎEƒ)\re£`2Ò¥¬¿Cƒ‰… †A%i{ùB${V°{V°‹»~ÓDé{{ûÙ"è—ð¦M¬ÓG_N ZOrþÕ[™Ôê*ýAD¤jØžëYáU ÐCÛ¡Uf}±–Î`r[[ŸGàÁ(àŸÿ(xËÔ¨¬ îYAzбõÍ8j½‡ˆ¥7º‘tÖÀ>KþQYy Àç¾ÖªÐ £‘Cuway¶jžÖ»å±Y,Ó‚u±¡pó8'ÕUda5~œ_‡ÕÓ¯ÒÐÝÎÄ~ºÀÍ<‡k @Ä’ä³ s)Âí’s}ƒu0õÝú¨M‘ºˆL.Y}–àS³ûÛ/Ïjñ§¶®ð=07QþrJa=+þ‘£m†ƒlïŸO®ãS[6µ*)êç€*¤ $5××°ýJËyqœ6´‚ñ° kX̌㌧v?3çB¦ØPç;5¸ÅRš㊵sÓ=ú¤sÁ:¬hÙCyºÐ+<”À¹Þ+¾<åÂ.;á6×+"¤ÀÇÕÉš6j` ë6Wæp©ùöfò¯Õ…Ë;W¾2…„eÃVï§Ï¼ÂÝhÇ„\ê¾-”!¥íg0È÷9k¤e~ |%:Bù©ÙRÂPI'§“!æW§B„û—²Lžh’&Ù£ð/zœÈÍúõ{(éÜÚTÝ›• ú1€dýàö Ç-5ô:÷Þ3/IÅy<ž_~(ÚdºQ"äôÐí×!xfI°¡h¤EÒ2 .l4q¿Ž·j?-éJ±b°Ñóe5;×ÿ<4^a(¨X|¡¥èsí‡úÁ) %’@Ùž¦òl'0ÜüÁu¥Ë¤üC‘!“wf¸èÝzÐÖ8ŠGâ$ÅØUF}m›· ë7HœÚÎâÝ†Ž·"+³qѳˆ6xÀw Ž,ÓÜä®ü öÚA)󇨦¹:w*pïíe–%h5÷^a¦Áë–«þ"•›øí¤<„ÙBöbDù>³ xg6P½Gö²NTÖ§j{«Ê6S)’Æü¹mï÷út %Êoãöxծį;’[4<+ßÄÛxŽ’ò8¥õk{d‹å·*+ËÇœßù¸…þ]õ&îÊ1Aàñ«}ûô*w^™‹P)~½“‘b‘E4…äîÈtÕB>Fg)>&è­F«;Ñæ<ƒFjú]³¬ø}¸}¬›~—šàKØ*€o&ë”÷oE;¨K³x¦¥\É<ÆnàîèÐQ´‚²´?²#ÆòNíœh…Þ¢BšÃ1$se…¶ÐÕÉYïâi¯]²(ÇŽâ1ÓêÕ´Æl]<†#…ÇÉÞ(»Äxà”.%G¶zú¹¥òœÙ)—y‹ÔOz§+¡*ôƒ1á;Û©¬ÿûvdí¤îÑÃ´ŽšÚø“)àQ«¬£*åÔ]iðôSÀŽã‘§RxZ8Ï¡AðÞÔÁØó¹ê³úøH@{6`Öð´g÷Ó„lzÍsŽ@™,ßo5f]³ÓÉ ôö 6+7ùøïú’úÆ×%Z%y3 ók‡šèpBíØž:Õߦ ÎyÜ„ˆ%r›ìÒk̲™Õv»Ë3Æû:ãŽ2å ÎCA ¤²…Š$šY;ùšâÓBù!^ßc÷(j—GG°Ø°ªR.uPk0µ‰ÈbÛ)rÐi·“‹š"Œ'©Ýô¡ E®Lþ(0ñõ¸RÉ÷°B5 ÒÕºJá€YÄ€ï–a&3Vx닼o +ÖÖ–ýWUt485ÓY'ú¡áf"|¥r¯èM0NÓzÉ4ƒ¬·4¦,—;¸÷~$Rl2&ÈØëë{à¹.‘U¯ÜœùÆ»Œ¿jW+¤¬@6Œ@‡ÎiØ[ÇãnÕtÒ<7 (;¶Á'þ‹ã<_ ‚c©s‰YU ñ%‚›»rõ‰ ÇSÕâ­GvÚÝ@˽ Ü´°,kOu//'#öãéL* sXè‘KýƒÅ ;Vô××@Û¨üuÑ`fJÚ€°îžHˆc#ðÞÎθmq`ëÀE›=ÏVÃbmOÞ~é¬÷ñ/^ïÇxí^÷*0Kи5½×=S=*pƒ/jÇ뜚"Õ:K]¾iÙ•Ë{ÑÄÿ`}¯~åDÕäc†$¦>$ñîPçcð¥­Õ{ì§C3›TĈ3Ý´TO‡Ú)ð.úÅÛK¤“Ñž¿\&~P~’’tù~j@]ij)G€­ëÁÃmdPÍåÌyù"!0—'¹üø÷¶#0’bI/e Šz‰—wº]!ôäaçTwSDç“̨ ìœR0Ú,äœÄ¶‘ˆü(qj¸¡¬8:ž™”"T¶¶Y“‘·Ÿ;oñYYö3>g‰:ÄÔùïÝpz˪ŠÙ:Ó}¯¬öòŸÏÐä^8B2%µALÍÁ/ÎmYÆг0úðD†ó‚ì#ýT©ÿ lÄÄ»Mo_€O Åêëja…¾hߨbDMR ãTƒ ÅúØS·mð-u÷Ôƒ‰,Âq„:?vžOæ°°XF·áF5êñç_˜@^>7¬èc»<£ pÓ Þ”a¶n‰»‚êäNfû¤ >Ð'ˆó¢,]ÙÔ7yßû`!©P_Íjù˜ñ¹Æ;c˜¢$eJiÓ/"ˆƒ“$(ùhòò4Ãӓ΂ò#ç‚L t7«v3i È <‰ÚörÔ¦~uX­ ›Ö«<éÂi¯€<͈µIm*%Û¬Pqp¾Ä û¯Û)S-§âxXMVt.¾6M»›Þ†¤AõA>«ýó´ Ô ¸ >°~S¹´Æn%\ÀzÄü<Öæ Øœs%‚PÏÜßq3»íd³H¾S¨ŠÈÓÙ×推o”Ag,¬˜GtR ’,P ‹î»¹7âIQK.Ò Q*óØI2wPs®ES'Ž5ã‰ÒåØÁ–T2ià+Æ12© º/’‹ƒšö»ž¨ æ6áóâZÎ.‹²Q';èó|Ö:*ð+»Í¿ ¾20A'ÂÔàh)–òöñÌ(1‘> M>dŠ‚‘ÎêyO’4Y8¤¶M7O¿N‹sL¸6Áù Þm#íÐ?¶ÅÄU| l_þZô*x‡IØîœ0×ôêi<Ý–!ÝYþ­¯@u‹îªœðDœ‚ôûG'ù›ùçøßòl1Gn!§¹ ÿ€ãKñB›ÈwxÈR?ý©P â‘Ê_~‚'†Ý›@ÛÊ/Ce†ž9feiZ²s`ÔÓ#»kÃ2¨égÄÊÕUk ¡“^ýi|ðøW,]"K‚ºìÔÀZûô¼î”ôôžOQДae{ÏIÀÜʹ…ä¡s“.'²ÑB루͛AÙK\õî“\N€ôÿ¬ùó‚oíp“AàMŒæ™¾±¹`bHé3æh…^"v·ÐÏÖ)(¶*ʦ<¥Ýsi‚nÔö0šÛvj0ìhó!G©ßUÑaaÆ¢ÕÙåÙiÞR•ý™2\¥àŸ·U¾7‰Î½E®ÕjMêžžÏ_Ç]-މܵLˆ¯%Ńxx´Sð@ªÜdƒÉ—~&¾úN³æaí$8i2 ŽÚà–Í eêÛZ¼±x\¯ÁmVäÊ€Ø5("K ù³Ç/ˆàl>åjIê®?iuP²8Ï*é?$wýÄ"Ï—¼—ïÆS ‹²2èÄÍÙ¶Ã#“:åPC=v|ªYZc{„¥JYö•8ê\‚%ç¢ODzZ.áÕ9q)DR]ðyzE95]ÑÙ ´û ëÍîc2_îÙ´_e5Ò©¿>6¤fc¼wwØGEkìFß¹”“hBeBX:Y EݰJT§Kݱ‹¯?oüãÃ4é wNâ†ñJ‚…2ÎŒ‚ι&Ž$$2­ {«&®YžQäQH>RÛµ‡ËÆáO@+ˆÓêˆ_Yl ‘«æ|Ê…à/}ŠIbß¿gVKé,ä*  –­ÍN­ˆ)øHô(a»]Þ•ËÈ­^mÛ…xÖÑ %o·¸t%!UV&LwZÐlí9H‰ópšs…îtÞÎu]"ÛTôu"×vEyôaûøPÌIü$+"wÁûº?é¼C÷^|>BuËv]WÇ®¥Pmfæü-ã: TÍQd,ˆVéc¯9'ÒõÍ$¬ò¹ÂÊt‘ñ’S¸„ ô•ÜêrØè$MÈËxþtàYnêÓwð6WÕŠ,p–8tá'ÚШ›þ3yoãwÔl¼] Ô~ñ«óF>ô4µ$ïOøç÷Í»66}“D ž $÷ÓýÉòà¸Ä1æF” —}Â‰ÒˆŽ¸ߤ¢cËqéß(À—¤ØÍí™ÓoÏ'îú”¼ôA3`Pƒ8T7›µáŽŠ{€£ÞíÛ’“kXPû‰ôYhLí ŠŒßëV~ÔëË×ù“fgùÛÄß07ó›ÐX?òFL~ ¼±þs7¨R*Ó/H‡ä˜axõ°¤ í"QL‚eè·m.ÂÐYמ;ëè,¬L&LU“µÕÿÖÝUOp<ø§{óŸì"`Èòõ;Æ9™ô–&—1µ8¿”–½ÂãEF±fÀ9p™c,óQQuÜSž)9MQÕM„'…¨F”(‚Ä×\zƒçluù«\k–11 CSÊM¶èº)Õ¤ëM¬]Í 9p~T„˨%°´Yðeé[;>F3!S$ã¨õFø“%ÐêÔ,:ëÍOŠ8ËûOB}óRz¿ã’°KŠ·4äî÷é§Y‹òC®—“g™7“ h°(­n×… fcd@Ë)xÔÛýζŠðPb½nÊ v2ãW6ŸR±îÝðÒÆTÀXð⨭L:.®Î ÀUTý.Œéàgîi“# áV¨ÿVp]B˜û3ïÒùüç-N/aïŽed ®•p•ËùªH„”Ò‹Æý¶$ƒ˜$`W84áéêOÚâÓsÏ¡Éz0 R„íÕ@™‰…©HÝχ.E öZ˜zt¸áüdg;Ë;“Fl鋱3äß4KÔógâ?³Ç5 ¶iöh7¿˜|,Z ¡HÚ#ý°g¦2¤þäÛ×퇃b*êû…ö“áÿÉ€‰ðSzw·ŠÕ³âËÜ0ð0¨÷·™1wÅjgK”;(ã@Ü?li8RWåçáDXõoóhìïªy·Pˆs“¬Ì‡ŸÄ¸¸Wl‡”OYKjI7 Ë:IO–áçÿkLî-3Gl{­$€ìYøï í7ë1ª„H9¸Œõ3æÙªå×9ú¬@owe“'ð‹sï¢j÷\9©~ cl ¨e.¹‘¯ëÀ›§ Ï¡õ&ÿ#ÈÍ_  œùä:|V l?g˜ý)q*É(˜iJF¹.:[C> ךT]rp$±…‡æ‚®\tÜ#ø¦àQb¥G+Œ¡±}»ûIbÑà¡]VÁ3Âó¶Ýts ð&r€0ÿ´å½MjÁ/Ÿ:zIÇ& €ù:»(šyôŠÞ[_e mÿƒQ§p &x,,ÿ³$ Aííêpy“£òp \¶’:é .çë¶,Ne5‚ÎH><í í6ó%kðç€ÈÔ6Å"/tøM¿Ò¼\Å ƒ¯‡íZSÒf`9~ÀÖ?¨¾¢; ÕAz—–·Y´/´Ó{ï[½Q -)Ô þ8 à=)”¡¿RÞ:ôB­—…º³Wüòm9Ó*sĹܩ©Šß? çbq¼êˆgjª­Â.3}€wHñž¬!U9tV¶vDíî^ÚÇv<ÙuÓ[CL`åS›^‰‰WÝ$LÃmÔÌéeÀ<$„`­-”£O1˜´Šâ~6³öœ5¹´Ը˟O±hÁ,guqáÍ|³¦e\–½-1I>·$TÇ}ÜæyfUÿ\jâVì\› T|L;f§šAIEOW0V¨õ}˜É]Pð.ˆ…€ô\Zs¾¸Õ¬\¡·ó‹“RåÇvKqQÌŸ5ÿ>pò$æ€ç‘õœþZ†Ê{˜8•ÝbÖ(€ˆFÒ\|oOÀ9™•ò"‹&³‰ST”rÔ+‘J?1ÓÒäXº>Ê1KA]üïTdí"Q†‚ùóT0ìb,ƒT+óÕ“–Õ®û­õý ™ý¹¹â(ÅžëªÃ-{·â;DäbÄSå¬ím¢ÒâF€6bTu7CkpÜ•m„í¯Þ%n¤¥C‚s†}Ȳœ’ ¯€çrÊÆ=kÕ³Ï æ{å2€­›wO5õ¸åyšÎ‚ uÞ×LeðÐ\f¸%~°R”³ ¨Om¼®Q«‘-õA5,ØœáÁ”ü¡š7Œž½_Ï^e'ø‡Ìdq&z"8¢¥+æG?%ÒÔ¼ªMLzÜÿ5qâP/Î;ZÙ—h'n³‚òuÑúÒºEtá£~êcÉí…`JtýO2©÷ùóL‚¡}2¹Ùç¶íHúâ³s»"’x iXöÐ[œÎ„4€}bqúڷضm§•ÄfwŸÇs7ž…×“á°æ=ò¿UqÏ}>•v •ùGžiòü&ogÝþªÅMgGË·ÁÚ1¸‚"¯û4È/› þ²=7öôwóû܆fhA¾µ £üdG“ ôÞÃÊ«+dÁ¡Óÿv20ã;ð'ÎhoÛ®éŒæã·£ùÅ·½ÂÀ–ÿλ±å±7ýö¢¬ÿųŠÞ4ÈY ¡‹lDõƒ×)+SÛyçÏv À;\CΑg|*ï ÛX>ÖãMÆOUxýaé+øáëk$bË/f‡‡T+`ä Ä¿Ðdq7õû#y¿bûbž—ÀÕN1­d¨³¿Ùªâe#jhŠXçšq%­Ã;Sޤv,ÄÀ6”ê8€úî«Y ­j Ê˶?úþÌ*ªc̱ùjœn³H¯2þ‡ñ·ñN¦¦(^”Žy[„Œ¹±§Qgß»ƒšy‚ 0ÌI†Ä¼™f^Ÿš¹Ííunr²^A€(ƒ¹´K’ý@´ ®[äÒËî—I4ÙNNÞU#œŽhÇÍwã›`ýpBC„Nëlé—‚;›U†¸hû“±ˆ… Éw=}þò›ÖêÀ®q`”l|ñ¹åø;»@ˆy9'Ù‘ ¥y/V—"¦© ;×ÓÃ#iÇʃô«ñfåHÔ`~l64çÍy#‚ÎiÅ•,éÙ…‹®rýÜãÿÌýÞr“‘ϬT_–êÓOƒ¶ÝÓ’ñù¼õìTÖQÉsY¢¯ÜÃ<W‘'j£)[óêÄX…Æ\bHo”Ö–x§\´Þ‹Í‡p컣p]®5Ò”Aj÷È^:]œ˜õ¼&x„¡?¾Ë.P…ƒ”‚ W^¦ž‹-xoú JŸ=)|IÒ]’í¨·¥Iô2ñUª«¥íÉÙ†ˆ® ®˜¼„ÎÂåcûH]¶,èÛrjÁ§¨óO Ó¥¨ºnbôQO®JÃå&B¯ú<ˆ|Ë’ÌðI.Œþýmµ†&ìÞ6”ˆ[9!©[â}Z%ÁyWËa©´¶1úÁªëÞ@= õý æó|ÂŽH]g4$€ CµÕ}ŸoJE¸ºytIüØ8çªõÃíwÇ­oB­’`«Óļ<°Æ}Õ0!$·Ya€bq³QŸPtä2–jÅS CUAf<Ãq0A³Õä"{Á‰4ñc,Si=j”:ºÔO²f}±ýûM 2“üì!eÛ'ÈPÀ°õ„N™=ß ½GBbšÛä.+øz@w‡=FXº®ydA±—‡öt£[·¨‚ca¸lÞä®mlEù‹(ܺè<ÈÕØty E·ýwH7Gºfc^1˜6u¥ã“U΋èà´Ó*Há+{Ô œÃ³“!ÒìsN,ÈÎR§qŸGqÉšgcHÞ7‹'þT¯&·èÞ ¶df|'QZönŸ §:â³—»,?oZÚüŠP—øÔ±ŽŽ¹;…qBÎA·¬Úr¦¨CÞ‹šs[i¦ïfmnfrÔR޲ÞsJÿ¿>í!cü/ˆÚ#ð$2Ïž‚ÃÚé…Uݬo‘ìàú†@$‚0ácWás¶îm”ÏÒ8pˆØ¨1ËÏ}fO.úÐa¯Å.ç%œ?yŽ(,·Kâ ™©À±¥ðžÂ¬µ°•õZ­^Y²}9s¨¥ö—U¬Ð†|„,¨éžu†YØ^ÎÀ¬JwC! ðsœÔp~q Ê?ùjCgÄ(O¢¦ì²WˆŒë³jíNr_µØíRö˺"‹+ù6´C|ñŸ~1[x_[ÝV\° ]N~KDœÎCúz5úÆš3¶t‚üü’¢Î£ý¦_E‚©þ‹§ž?½Ü餋Úq? Ú H$­É;81¯ð•Ô<¨@¬Å¬ëÁ/L?ÙþšÐáu¸9ï×ÐÿT¯“@©¸X€ !Ö¦­ß=Râ7ŠûfÒ¼Y.ZÔÇÀTÅöŠŒá”]Qü‰YXª=úCجR¯t_dTÚ ˆ;šUcP·W;9\´NwjÛ+¸:4ÓSs¬î2r´ÑÒKÉþdýåvwÔEÓÖªûýÒ¡½á9PѪ*kÝE[D íÄþφ¬l» WcØDÐöÉ+ÆÒŠLþŽîWK§¸©:\'¼çš%ˆìék!ÅAÏ]nn~2³˜löHÐÔÈi©¨Œ¼¦"ƒ¬Ô G…³gÚì=«4ŽÝ…H}–õƒ#Zø»ŒB®dReZ™œg1Ö0,_7®UçjEžz÷"ZÉóF2…)ƒê³#V$E3FLŸP#%¡ ÓÚZ>¨$Œ`BõÅÐÁu7°a”Ž!ãÐ 5.·x(€€wkæ:Ã…ÈZÓG¡HÔÀz^'Çü³áÙ¡îžš^8TZº~©wéRô%ràù§î2Nz tö0¿Äsí¬AÍ :#Óÿ  ®d¼}¨-ýdçâ3qá Äç*ÕŒ/ÿ½OÓ£¶™N`R«Ø‘;ÁÙÎðÖ~=Ç™˜ú\!µ$Ø¥x–²¹yd-¨mZbRQ³ê4{;Û…?Jøq`¨öôUÛõë¥cÙͱV2·òi»' M>ŽßcT ¼ gºiªjä»Zñ¨åó+rÓ}7àq¯8˜ ”Óm,ïíJ6U£_×ôs3ë å«ö÷è¬l'õ8ɯFø­¢kýèAráwuÂñ§ë/„ˆÞ+¨ÉB§Oešþ1PbîiâxEw2­'v¹ízýà³úgÝõ;Ÿd¦^MTuÞuRMa§¦Ë »àŸO}¨ŠR³ÖIšÌßÓP4m£kƒçzë ª…o?Øsû§ò I}àí‘3‡íaímí9̇ãîïÖnR¹Ë•ñ_fë?Ä'5í-xÇ~´Gf×v°Lqëúê +Öˆ½ßö³¤œ#|F¼PàAxó[íÛ¼±0K4eº…*«1¬Ö•ÿkxÁ‹dÃSæ$Qíûòn¾D.ºt»­YqÔ¤Wâòå‡X`fØt†ýd8PLþí»Sjo¢¢«/T'ÉéÔ›BÁü‰cOXÁÒ"¢_d®ø­ÈÓçV\Ý"h¡'ı]F˜ 16¹ïË ÈþMéEp$:þ:¼va NºâaŸË¿‰àqi#*¿eÚ=¤{Œ.äY— ðϼðÿg`…5!h™ê=†ûwMqL…!‡ëb]hCîæ4×™&"r¢@I¹DÁ™RV«üŒUj ñd‡Á‡ÔyôJ_¶À3 aKÄf!áX,¥Hú¸ Fûwa2 Y½rÛà5B¯«Üê4ˆìX܇`¦€À×h¥>Óp¤V1a ƒªåŽãh¥ËÇËi¸ œD)ú}þ½ù^&TÃtO?Ç-¥fÁ³(è|;ĈƒÒ8®ÔÌt5Óæ‰)Ý‘©o<‡Œ?P]vÁ ŒÄ1­µiÁè<_åéø’ôýÊ[“.œ #im2Jo’ ª%-FYÁÌÆ€åßxŠ 8쌔åô=¨|y "h/ÄÑo1j&Âì*FöJõ“º°òÏ×J=3YB±æ&ú jáøx;íjÆ¥òÈùßµ‹•òã]-/اr<“"†@„· »³¶àг?U»‹³5Õú·FâQ#~àÆÒ?~†ÐÛ„ •íWâwWÿ 1QœÈƒÇ|¾lT.ΘÌ^oOSc“ §Ì¢¶”æÇ±¡f½\H×1ž½QW Ðѧô„Rµ¸SvKnª‰Šæ,ÉŒ¦–ïi$éeÜmº¾MÌÿþ…Û鈛û,UVÒ¼/9Xõg´B1ß–ÿ«­!nÔéwŽb? ¹¯ÐÝ×#îŸW>9-}ÐÁÄqz_rÓ*×J½²/ñÚÆõþ!vÅÎvÙ³ÅU#vž!ç:Ä‘§)¸Ò%œ€¬×òô¥8¾œç¯`F&aŸ|6¥²B½t5{‚ÙÙ)€œ¸ééu^Å%8šCM”³|}qÀ€+‹ÖèºA~ñÞÞ+%ŒØQ·h¨Wžg¡\/Yꇉ•ÐjXñ¨¨Æoö!ò'Êë¦Ïp~AV$åGW_…Ûóâß’6û®Ç–ò«yÉaeYËÄJª@÷=#0‰Ì’0RgUYè‘O¡AÆPƒ•ì1F}€½,’R?†©þ(IÝúžê2;’"cú^à‚™¨ b8!«ÞRÕ)Þd÷@ÛãÃ4DŽ›òpë/Ðúpè{ûV"\È4ó ¾?Œ³½¨]Öçó{òÏßCǯ"©ÎØÑåöŠà€ÇÍî‰àC'mÜppaÃHiÏpç] ?ŠÌ ñƒNT°åðwû§‹94æ­SRS©B¶_$Ï‹1XÙú(ÈA¸Ñu[{éßqd¼0ÝüjrEu(²NV<ñ)CF„Z&W;+u¥r³$²B¤Dv¿6O·½9f1©ÍøN?`Ž‹ü\ "ižèêödsßãWzùG¹ÌØ0¢†"ª6 ”4ýA½ö;Öbf h`}2ÚeÒoI–‘˜å—rÉâ0´@w“©ôÒ#½„ÃÞxVŶ½S%{F~úûQ% Ü´Š’ÑKF“ä‡Ûˆ&-ž,#?‚uDû‡þigmp@ÎþÔéå ™ š еûõ!AñŸ•¬ØŸo·§}©Å¬´{pü\¯K l"ˆ‡äxÃ: k¤~+êÉ„‡Ðç†úQŽNxÔ+´E°ª†¡ui+gíD>&i˜•±uèÏN bA/„¤#œ›|ëªþè•ö©G|šñ»g–A„S •Üå&ïWÁ%Þ©‚ ý ,Æ<úÎë XAûIjÄC3¦Ô“ÊËþ¦ˆ?ÓÙR7MvÜÀˆº÷}ÈÚûœîKÊÅý³‹G¹F|E¹´(²]¦{RwKÈ”[ŒÒÂ^ <œ'ŒõC-BÂRg*DýfÆÁIšo^Ó»™àPÀÛÑ Ñ›ÉÜ\m—eNlADN¶¼a4(Q^†/¶z€¯OVÔJÄ f—7Ž ØG´YayœaU¦fG9œh] ZštQ)"¿oMµ·ã4h܇k¡œ‰nýE»Ï¹6¼ºªíE aù11)wå<¸`!|³ºµ…*!w™s'é)H(Âtì°M’lK—Äe>ÈQ—®Ü#•E}žIJÖàHÙŸJýÔ eó*ràÓò¹paö¶ýfI&pܾæÝ6Š"”ŽÙe üô¯'©AZYò rœQ”3H^hF+Óëµ0ßN–ñÖ#\º×cÝù÷j…—.®2a„ñtË+o9Ï€]î5½v9wíååÖΠCÂ…Ô®Á4›MLþÖ âsåèÊLÚ)2ûYs(tGò -iN5w1øîE¼woÚä –¢o2èX'Þå[‰´+ Y«{¡gA³ÐNUjXc•ë'•sÛˆæ:‘+ø‘¢Eü<»¼K‰ÄŸ-7«WýjÔd®ÄR²I9Âñ°÷ƒµEïnG•€Ð3š_»a9»ÅÓ»eQûVîÓãNu¸ç‘R!‘Å?"ÍŠ8,7´´ÌK’tÃ4~×%tçšÛ¸  ”eüÛ‘i<¦m‡ð¸ê¿ÛØ8Qx¹鑊ž ƒe“ý°}>¿þÙhxð\Þj€H·|²½ç«ß¹d ®¨ÃËÝ©"*Ì·Ü¿»³J#(Ñ.`ýãg³ä]b÷]wObyîÝz£ À?<ÅËxó$ˆöW|,~8dYÒÕãéº#˜ó7ÞƒÜ,d:ŸYÍï/Kîõí:µ$GVÓIlSy¾å‰'Gsæ^“F" ¡â®%±ÓéJ˜5Åý·¸Šè3|Ù¯F*'£y-rM¹wñÊdå5Ø6y·:<°ˆ…SÃZIn ˆæã*È‚‘´ Åÿ(_ ®„üZ¯;…š·‚"ýߤáRf,ýDô®þƒHT†{ÕÁ9új<¹¢xð_J'â2“ÿŒ‰«{ÐiZ£e–ù³@½¢.ÿŠœ©ºÂi‚s@‡Ëð©x–æõKãø£S8€3]½¨(Rÿƒ†¸ÓAÔ{(È¡MòFqØ­¡G>cnUó9û§#Ny)íAÇïõ‰¸‹.üšŸÌïñ0úÎI»"f,N*Ázƒ;‹ª@Þ9‹ªÅ¬ãÃÖ?Û~e|—ìãïä2¶0ò} W°$5íJ•—Ñ. ~ŸBæ³-M™ÜÙTï)d„šL7ËNºä{¾á‡¬¹©6—£ë_–:ã@ ¸gÒäÉ뢥~@üCý’\5“¯žsBOפ'sxª$•-,ÁœýˆÿöPZ (<]ìrú=Ç1žøÀ˜l»7ÆáƼÃ’LÝE"îÿyt˜ãš}´'08ì>¨ÃëXÚtô1Þî;÷zçÏ÷ÏŠ¶2×Çð"ð<´aHÿnYÖA6¥ÂSøQc…$ž>,‰0Jb !õg§ÿ ]´RÉþSaM½~-dÖ'Â`‹éÞN:Ci8ˆqÝ^$9œ±Qì?¿µªlèÆ!b…n)fc; EWö ké.c g/ˆ¬Ú=Š|Øœ’KÞWÓåO4ÄI¤|òeO…1 :"…58¯Í²†Õš# s§4zQ:}¥MÆl|z]»7èýz„þ41ÊÅè~CMí_ýE‘stGúiýE*OÌŒ™Ÿ Œ#Dz2ì'¬©¸®pá(¨6, ”$ä7fb ÇLAg‚ù¬d‘º‡#wÊIV~žqjå.¢ìdk²¦”OúFj“}¨×¦d+õŽÉeiËZ–ÔF¬Ö% T}ßJìJÎD‰Ñ¨9ÅSá}´â‚‚ `~6:mKÃsåõpÄOÆ™ÅÜ©¹ö Fâ”,ke qëï,¬ŠöŽæŸ¨µ¨áÛ[½óhØîå^™ì×mòX†·Q¤ºF¾XÀc1¼íËæF.!ª±E§G»dõ­xèMÉòÏĦ­9%“µ,û¼2 ýËÿå}ÀƇœ@áëgg¨‡ ùu'© ×*<71$~’bl½}µý¦´Œ4A:"n,6ð7“êl‹Ý›¿;û¥¦PÇ® 0áVlxPФÁ½f¹ƒ;³Úcß &ª¢šlPÿ\¾ÔjY'•±Öèå +ùõ.Ï4¨½¬ÖXdøÕ$;ˆƒÍ>v§ ž u~é…™ôÝê|ò%nFiŽ‘ WŠãM8±s±.æ4¿3Æž×óŸ%i Âך¸•êtkUW°©Ú¼>›H⥃ÐÈÊ-Õ¹ÇJ°¦_×¥Ç ¡ñ~EÂõ€ ,±RàÍ~(¦Ä öKy ¦ÕÑÓÉ\X·G˜ N"uN¨ÛîÂ>ÐùÞGWPx§‚"züÁó¡M¯VÒn–Ƚbn2hÛ”VÍgGfØ,¹ê¨„mÁ$ʘpâ\÷¬ù©¼|eSqdÃzïm6=„±BðØ‚fPóažWVðÑp:_þ< ø¹\ & Íõ|& y›¬mzl¸&ß“jÙûãí˜}Øo3l5gBlN͉Þp «ÒðP6Oéºçþ3oF¤AÞ…&fL&ïRuÉ`æ¢ÛÛV%Ì ˜†dŒ>.)Iòà˜•…L §=hï¡|PÿÁ|^­?\ÅW¶Ò·ãñ~°»’$ïÒAìY˜7 £²3¦'B™”8A@¶£ ©Y£ªf›J82X=2û¤̃Ik?½è¡aE|@8Á1@ÒȘ¤ô‡†£fû®Ô2åÍÅÅ^3×,äêÁ%ý¬$)‡Ðж«.lò|¾Æâò.¤ÑÒ®(ÿî¦#Pã¶ä‡Õ$ª¸G÷…w«>£ž­\"Ç”I1šy § èsÕ ß-íîT#ÆïUwRõÐmçQï6\D'@ÒAÊ”ˆà]žšÚƒ/ûÆ«9þ`®çb‰9æö¹ù^–iîtþ;ùZø“pÕwÔ³_ȆæçØU–Lˆh[c+P*w2­ Öò]Ú)8´¿xÉoª}®††ÞD‚Í›ïL€ŠØi©ÄdþÓÛnZÌ4©·ý›ñ#èoümM^zŠW=,ú!…™÷âòpðBƒbÀ‚“åpò™a‡¸.†ï¾éÌ¥ Ùlœ5™F~“LÁx8ÎT|A 4Mê$åeÅ z+q˜Ö“¥»i£öñ ÷Æ/Š ½Ô÷! õ Í¾D,j™³<{›ºNá-"o½äÔ±®%4Ÿ/ãAzºÑ2áÒâ©ÇBZVâ,RvŠE³ ÍBAlÑ£¨Ü!‘l’?î¹=ºÈÝAú†Ç\À²¢ZR}«.ŒjùÎ-„NÉ+jæABùŒžÂ{j¬ QH¤¿WÆàž…<ŒÓÛ K ‹æg–é8凜Ë6ߌ¬:u­4ðˆ<·ÊÔ¦˜\M†”»-e£¼cœäLN‡ÔùoBjáÕ"ðÒôGÓA¼3"á-k¢ráo>8Bãi䎘йÁ/lj®é“u’aWÉ™Ë%{Cnù÷àëj_†Èi{Âq³»­žGb鉯Ÿñ”¦ZÞú¹ATCúYüÐU8B¿ æåÔB·Xí£IhD]ð\^ßNn5Ì,X‘Ö_Ä1›˜Õ¥ÉJ`=IáX™À܉Xò°‘¾˜•G¿"t“XÉ.Ô¨Ý3r8;“™ xò¾\¼u;Ö1<^©-òG¥Áyeâ)Õ¤Vj±ºéd… +8û?pć|<(ÚI«„YfNï&ž+x[ÞiðGCôJÈAÕÑÓÖç–•âZ¤‘/Ä}G~§Î§8wdà»Q@¼A­Tþ%ep–Kß(‘5¶WHŽÕB-ˆ*bp¨4gEi}"å¾@¸Bº³ gûÓÞb©…u<°ïÕ© í>­ uò,®Dªß€tlùoL}¥¿­O½E:VG]Äã±ÿvqÉÁE<àgAμçD€ (õ~È3¹ø{d]öT€L CÄ€]»ÁËï§”¸4cµ—bÅÂŒkQ}2ಠr—k½ž)­}®âèrÐ'O· Zk—ká1dDwäqÆú‘;ÏÈÃ[æjxÞ}–¾DÕm"£6–ÍèÇ8_ µd“1W@í´2+B( H ð,sUó÷L9-‘}‚B÷uݬÞtÜ:îÁŒS{ùá®yi²uôa30øöD+©x$uÛI‚H¾l¸ÃIð’W5^¡¯Ùx4ׯ鳶Ïâw嵞ÞàþàÔ]ç]höPà>ÁÏEFÛzû¥Ù+$Åëæá ìva…Ô§è«ö¹Áë‡$›¹~n¥íØ=Ç–†¥#°»šÅY×ä4ç;åã´ª€ì4²Is»Ò¸é¥ZÛ°Ÿ(ØRÊCò¡m}¢ÓyHÛYæÃÏu®ë¶k4ìÒl' ì¯ìà8km.TnÝäcžk¿keð‘å‘0pŒž•[¡¤¶OUÆè²Ç’Øå;AyJ^>*Eqž3}°Õ®&לSŸaG*ÇÔ¹¬€¸ÍxhDôÑÊZß(› ^dÐP$ùÂÛ = Øó6Ý™êuäc­ÿýÌÝ­Í5ʲœ5P?­¾â°­M‹®#Ôšó×Ý\Þ@ $mÐP>Œ–6L¡B4ª{tÝ ?S¿N)ëÏõr…d𜙯 ©ùâ€nR¹ÂÜ[D –Üñã:Ø2À¸¯¨wÖÈR#³—wºÍp]/ˆîÑøÅ1úÅ—îòÏÝÇJ Þ¥ Àqü ø½@QµÐ9'aÚÏtê¤ßÞs]W¡s‡É)-.?TNÑÄHšT ÌÕ£[zsËTk„¸c¨¸áÁá‚z_àÁ2-v,åÃM"Ü.K!¨Åßÿ];+7é%šLäZjŒ´«X¹e—:}ê—êOà®”P$% ÔÏÀ¢'ö6Œ˜6v¿'øÌëJôÿw;ÑbчÁ[ìB×e'¼6Ã×à¶¾ç©_;ö­Ç¼–b§ ¶Otc‘wàkÇÙ”÷Öç0B„êÀDÛ½WG8Çâ˜ÿ6ëÙ¤ù¥[|EF/£4 Ðñ ñ2móÊÔºF8€%c#û3]» DÏ“qÁ}Œ¨ÈÁmÁ—žòXöÂ×§Ü É1÷ôP›ÑSíÂïÏÔ5˜6IòDsЦ ‡­ª{©©¼J!¿é%ú-–±¦b‹xlçņéCÊ‘¢‹ŽW®ì`0ðĮ́ó×àEu‡ìåÿ’÷÷´¿¦S(À2'`漞Oó†ÐrÍO0þñì4/••-Ç› ªS›ÔÈáü‚:3õÖhC]’ŒÝå7£u(l×@_dê€áì?^&š„-Ü<ÎêÊ—AH²üõÊ´ì©)x$£À}$Õ÷ Ù§Ž¢¥¡Ÿ/é!ËÖK¬™SuòiC£Ù+3ÿ¤,,™xìor2N8ˆéó±^ź}Hè?2¼o8@ÎbÑ:@uý‘Ãâ]p%ý€½5j·µ#ºÞ'Eºï÷Gkþfð—÷~À®9ç7«±Aê-°²Š:»,dþa,Ô†ºff ’Ziãï[ŸW±r}óC’`°Š™ñuHüjY‹ô;%¦ËËÕÅŽÃÄÓ¿ñȧDb²Œ7FPxæ¹1e`ë÷ÐÆ›~U¯üX™°;Á„ ö¼"¡ûÃ=ÉÅÍdÙËk#«Ôø¤ŒMäeîF¾O·`J|eïØWŒ<0YL+wÁÓf8±WíÇX±Õ?Pÿ lá1é‰Uz¨YÇ€§Ó“JEÓôŽ|m±»ÁëÜ«:¼aXë¬þ­Ôoàù¹‚P‡úËÚÃÖo€êša(O‡yû\‰ аC.ÚF±PŽñL¡0ÈàÇO€Pà±—LK¦æ™–ädžKþÊÆ¡þ{’òͧ±\«ËÀôs€át”÷4¦ÐQ‹p/­«™:œžG?/Ä1©¾éSì?O^L«ÒéÖR¯í2>ü²Ûÿب°'r¾~õ—IººËŠm¸fN=HŽ®×ÂAb] ÛÿíçáP+b5YüLWè¹c,xG8šIýõ㾜UO¸Ñó³•ô‘úáS0{öró˜”SZµÕŒª!™Ðq⬉Í'óÀY–±CÝ%òº¦-*O;a ôg n\Ìâ*‡6|·•Ü¥`’oÙQ<ÚÆncá Hl›"_zŸ{iš%Ùá ‡š8ÙøúÝ€¶Qr:V†ÈØÇ %œ¦¼Êâq-®IêqÀÏR¨zë`]ŸAk”\ƒš²sô´Š zÌ_5§¢91NöSj/sÈ ®8Ýs‚o§$hºØ\á¾Ìƒç$¢Ïvˆ—ÁÎAc¢qú¨]¨ˆC›AœŽoîÚ,cn”¡Ž ‰B›I`á½f/½LÞÏ ¡&׆*BèþÕ¡ À82ù¸û‹i l¶y¦"<g}ôß ü* ’}ƒ(¼m1Š˜BZ§_Bİ„ï€VP§†²érÔ Û,~ªÌ‹’Cc!׫/«eec“Â?i¥1H¤eÊe–N3„GµyŠ>7‰Ÿ€#@`Ó~R'f2+®…í|½vë5ŠžçìÅ3׬¬È4ZiÿŽJð²_T6ØÌ\VZXD1ý7øÖcaû\ß•ü¢¤¯…×DÛ皈¾û!ùæû˜ÿF!Úr'*ABüûªQ~ÛU‹çÙ©™1êvYÑbÞêàƒI"ô­/¼sˆÀa}ú}—œÂÑòM«K'óuŒ Fø>zÓaN=g£&qWŸÐ÷ÞB„ó‚ÓÍð“éË›ÞDû+±ï+ABŒx)|ÑåÖóBÍÐÊÎ0Iï°!¢õ×rÜG·*¿ *›†W‰tDòƒé'A«Œ•™¡ì©î@ ÞÔk³Þ½Ï¶*"o‰ÅÇÎp‡X_ë ãE¸o˸©àù;( úü*­™°…&XÁ‹Æ¤ µ‚Qz9ìÿÈ-FåR å÷œœ£À^¤8ÀÍ­víõÊÕ]ï=#«‡ UìãjR»‹AÁ §¥-±¸I³^@ÎìY/+Y 8vÁ½Ü©òòõQK0Iì)kGáÜóÃ@ò®öìÛ~¶ôÙ‹R½@-VîiÝPÅ ÊÂú½~â@ЈÏ‹­iŒùéõp¦ú¯ùƒ™ý-'B“(üCl”ÝϰŸÚ¥–ö.\T5ü<¥Þ[ˆËÁ¶ÍU¼/¥Ý``…Þñ@fGˆŠŠmYVÎdR,¯¯U!U¥R(žšÍ×e¶îêz¹ø5AiÀ 3}Ä”‹¦ÿKõ?älEï…ÃþÀÊÕ ï,/\aÖî?>÷ëÒnMSÈ3‰@Q€P¿ÈL!üÞ‘äã+Ö­rŸ4\E9ùYÝ¡7‹ÂÓsú;òÁÄãz” ªècßMX“U!Aƒ¨³ûXCÊKC ·ÊÌLg[+Á t÷ªø€8ŒŸë¾8ž°dlèpLû¦ÑYêʵðî‚¥ÌýzŸKQ8+à/j'y`%ám×/7Eáôcñ®„-áéê(8£ ßbh¿ÛÿÙ©Ùkzz_ÏÜ-®D”åW%/4$ijI±GWŸo‡»cBEÅ®\hÝWŒØÄiìÚå:Æxê5‡¡økß¡4áÌ(zü)«*´ÛÍw“©ê8t„‡ýg ôz4ßàúƒñè£PÀCמ,YÅ_ç?°C¿Hê& ¤Øþ[â{lG‘½…Þ#†iq@ø¶Tï Íf%¶”Å?ËìÍÁã“Ä2PèâÂk슀µS¬tÍÊxàš FýŸ~€ÜT&@`dCBæ9IB³¥ËnkÌÕæï\§Q?µ ¢Æ)³>É ªâîõ¸I>„¹ïW3ƒ°e2Â+Bà³ÙŠ }™˜ÆÚ›”DL€Ò•óqP„)½å'3°ó€NE,bÛ¡Â0 »pQ|û“ÿ³†” ÝLæ"! ]I¿]–À—Ÿg¥—i˜ŒT1}K_osôQ,ÛT:þ= Ï´^ óÌÜ£ªη1Ò3¾¶æ7ÿÞ *^$èꌞuB8Dº6kÄ)”ÈŠ„úb’صJU¥ÿÂ8i¬ð=µøeÌ”•Áb†ÙrtÕÃJ¸8TÉ4µgëUÂÓåF|"å(3ßc⓯‰mñg9S;ì‚wÃÇL¾%žà51ÞIkÝÆÛ åV­”úrí6WyQŠ·cŽº˜ömÏÕô£ß»¹G‡‰…íVõ›æ;ïZ‚*“‹išéµ#Ì 1oS-fÆ‹g¥â‰ø{×—JÞ¿¿)¼¤Sõð-âÐùFèŠP—¾Å«èNˆüâ ßb :…¨p™æÎ)ߥïÈAÅ~yé^©Œÿ¬nÆ–S‰”ÝAã¶”’šJ `˜ðÍæ~Ѩ!íü¥ùdw87q¸g:x¦#]EŸe]»' ¸$ÝE¸!B˜pˆ°'SŒèÍ’8&A*±Ã)»\¾ #Ýâ0¢:°ŽÄZðf¬¡•~ÀP>MÝä<Ö/? :sœ¿ê£5Æ:¾«²TÃôëÁo å[9ð ò<Ô·Sº‡µ6ã FуHšûoÓü;¨o’Ð×Öí ƒ¿ƒ3xåôib”VÁ;0™DVŸö``ý%kɈÏ&£µ7ŠnHúÞ«’9Ð!GÂ3äU® Žv‰3©ÎV3Ü“DæÌdßô<-Ãö©v6´È¦AU'a”%ª ¾=BŽ j?_³ ð¯ãÜmÅû/*ú»¢Y§1¾±@Z3uÀÒ‰À ]ñDÛgÖÊ„še‡ÖÕuñ¦p Umæé´6!ñò££†tuN"áQ„•õÀ=(³ŠC GŒû¨c±"5糕-à­ÎÍËó)¯:Òæµm\JÂb+Ѿ‰þûDiÇLXé‘À"{.„IÈ yÊmö PÙOc¢»ÄéÖ8–u"§V{æ •@úWü‰ºÝ=³ôýOuª>5 õ>·+Øsf7ÈÇÌH†©Ëe®.)g–§…ß·¦3?I‰+p,Iì }˜i~Ë4RMÿãµe\á±Þª+`¹BâÔro/HÝÿE14aŠO\ñkt-ÌÓ‰ÉÙÜ .ƒÂSÃüÚÍåë±É‡=,÷ïÅE8*Яs$/†ÿÈDI}m òÅ/l¤žýôÄv?CÔX ™T\b _ˆU­ú^ܪ¢H->[¼ïdª0I ívÆãoÐ Š¢“Xè}Žºû"[!Ç_»"ä-·ÅÚ. +ª3ë_TL¾¹Ž®­tªaº2ÇGÅÁ¬è-5v&Žg!õj/ ‹±@F)¿^xŽZè­LK¦W,ÍØ½4Ffö‡¤h‘ÙNÔbNåY´>Å僬FË}2Å}ó ¨î+±Éõ D%ÆœŠ/GRu‡èÉ»xLŒºVïtc ˜—­ÓéŸíʘºø4c‰;u` ã•ëï= 2™‘EÕ´›w¼W¶}r“]^\ÛÝlên£mÖû¾=ˆØ%°¼Y0ØæPr· Íú¯±ãDŒI•dƵ“£ŽiÁø7@½Â~3Þ|ìy¡" Ônñ@ТÀõ¶žÏªÌΚ’8´Ñ}=E»ê@%ijA9#Iüg€€Ý!"j"a;ÀÇvü–û¥&÷ðNéåv©a“,Nêi0KãÄ¡zûð:âãÝ›”PÉe|îºà?ã„¢S2qúƒ ‚<;|ïÌ[ó†M\.ÕãTc¯Ñj”k&5ÙjÍpQXM’“nHf c gÛ)©ü±ŸÜÐH«ƒX¹Twˆæç‚ë´v‰~¥íƒÖëH àAˆ¹û|é@ÄÁáóhhmM ÝëºjÂwä”ÞßÐÏ\ä"ƒK(ìk„k"DEYG.pÓ¬”éjd³æ¡Ï%Q{+áˆö‹D¨d§vÎ º‡=ëïÊR.è&¹XòƒÙä½Êÿð†dlrti¹‹sOˆ,È™xÔç3Žjϵø(e¾  ç”vœDL¸f†øo)j§“<ßü¿ ïÍ×ËÃØÝÅ¥þˆGÖJœ –6ýÆå³:kŠŠ[jÀ Sp€´8V»Æõ´0ŠÒüž¶AíÍiC¶þǼÄ/ípîý©Ø ŒÝ4©Q€†D1³ëZbÂ=Ákâ£Y}ŸÞÏR³ ò¥©2vàBQÐ Ý&ÅŽ »Ö€BRØ& é¨IÁ$‚±È¨tÀ3³Ðöneõ]Ûj–"ÈAIXA”á®>†>ǯôÁò=¶Jô„EÓÝâR¹ü­pCVo_dlÔ®™Ù©ó´¤ƒ´|§þz[‹<}'ëâ· —¬X£äúc5øÇï¾´Ú××z žÈiœW2»×þ&a„”ùü—ž'.+{'péAu‹°*ÞÕ­ ãzðè$¶xã&&Áî‡?EÐ6–)XχCžA ¢$T è`ä/vLcˆŠ…i_éîu:¿ø·hÛ *‹ãƒP¨=rLó¯ZÎýµ-ZBzõ¬Ï\ ™ÞÏ7Že£3­ñÑ»„þ£ª™€ž­ Î02nZéY6âLÆ*\ׂZìU'W˦’3p+§ .¸31\§ûÊ´…”ŠHcî5Ì*e T"?Ä™aÎÁÈä½NoçTÇÃÌmL+ˆ»Þ†2Ûïü™|ïMÖví‘{uêêœx+xØd‡ðhþ!gòÓJí«t‚Ésñ>³ Qú ë?Ma¨ëm«í}]»}{©u¦ì ö€ZC‹lîç¦Â­Ðì\ܾ9‡ â~Ø*Ï5ZÛɾkyxP^¹Èh'”"îY:DY{|ÚøIªš˜±¿zÒ0zTtmåë/Òêx_“¼N­BI§Kÿ%ÿ?”dÚkÖÜbP¤s妱ìê€Ì,ý\}Ža:ªO3ˆß•”×'?—†[è¡¡ì LkΪO†83QÖ˜*þ~¢Œ8}VÕ ïOÏÚc,3 ®ò°5[¥ÇŸ»ìÏ :ô:ŸC¬xÎVª´˜2„5¸Á8€4×ï]ÛXì;tiÇ\Á—B -»T3ƒÉŠ„>Û÷:†{÷2њä±ø• =îZ–ùÈòOƒzû¼õ§Ö$®oQGùCõmTÂ&P¿Ä{d.Â0!:v7ÈÌ—Y¼¾{Xg)~aÕõæ…’’<±GŸíâ•bõý6DØ´ Ñ¥=8ħ \çO9ÁÅʶ®zÂ9úv“¼ÆÖTtˆÂ5õ‡þnÚN•ægÒâ„g03a-'ØAL=ÛÐ)%¡Ö|ja"Nv÷¼1­ïdéo‚öy¬àc“Ê‚ÀS“ ó¢ïS×_z¿p³ ٢݀«¨ýœf˜ä.œ>c úëeµU7bÂ%pÉóar:9‹A è6ŽL$7,ºfa,µ¢oZq‹r ÉJî[À"”SzP573\šõ·£,Õç íˆ¦ f¿öû±;WŽ~ÌBÙ±VUúçN+R”’sHŸb‚oH £¾º—ƒ¡®Œa*Ls´¨JûÆ…ÝœãÇaíÞ÷¨?^u­ýèᦆ{Ííÿng‹$ ÷÷¨ŠiBï^ QÃÀàד|Düñ¯ŽLZ ÿßj« K7(ScñÓ')U#ñª¯Ýb´æPÆ7¶§©šD­m—6õƒM öÆê‹‚Æ0Ì¥âI ñ¨ x7u®õ-ãxX.h:mÐA“2 Ô1¤,‘ÔL¬ àG@±«rN^‚–«!Ü·Åp/A¥¤— ¨`Ã’ÌúAg-µƒúÃëß6æQØ&ßá?ö•ˆDÞæžñBå‚ÿÄvI/ÆWûïROÌÇØèˆ‘ËýzèÂçMWF3#|íÏt« Ãw´¯„ñ.!,os>{OG£ÚJ÷©v‘áË·SPœ‡}Nc}íkÒ` üÖµ”óÞƒGÁš‡ªM¢ös–ÙÊ„YGN Êš\}VйxÑthb8 ÐËã>7+SrK¾‡¶TçŒÝÍÚ´eç(·Ýàôî²)ÐBkT$½œ<Ô§|¾•’D¼²4‘L[ØœÀ’عÝü߉ëî#aÙY ÕéÆzO~¿¶4?×qÞ±åÆ& ý]!¯?¢¼}ÿèÛÛ /pÕîrX§{s½˜dÇ0¦4ܧ@•€Ó§­’Ϲ®öIû 6úŽZ<ØNùìb'è0-ƒÝ1>kÔZÇâS 1bþzWú#Œ¹d¹@W­Ý†É„aâÞ’楳ð¶yá$(*ÒŒÓæúÜàȸãÞ©æ™uН~íX@ç}õPlŒ7½è§Vôeމà’ð8øµ€™žT¢: î»Põ´â©‘\Š&9vc\kxþˆƒKb6þæKYªíîAX%º€äƒè™TŠvJßÙYy÷Æe> Å=më’{lZ£ï’5$š\¸5‹M›˜ÿ—Dß“Hž=lY§ƒV§Ô.Æúä‹ýæƒ0ÇKµjˆ¡“ö/€Ç×òkMЂAUȈ‹EÙçt2GÈÉ,— ™wý&©Çº=‰4OË“R?eìÆÙpSðÍLfÐTf_Ò‡q»Õ½7€¨Nñ\ŠPÆ«Ÿ·$Óóæœ^ŒõƒÉoNJZRt Bw±×6´ƒYò“\~œœðŽû®ñq¡íð½ô¾È>ßß>Œ¶˜žÙCá­}8„òÁúêG…Hóõ˜N… xfé_'*dÖÛ`݃N¬Ÿþq›´èÊnã«ÂÚîúdñ<·jžß¥eï×V,ïË[ßMТH|hÇ_~tx$‰ VóW³ªÊ[Mùïèmô3á 6P¼×&tÅ®`0µ&»lƒHs\hNŸVHlTõ÷ï?à<ÿ ^:k{!Á¥j|]Ü·ÑÀ1‹û,ÆTV½ž¡iTóÓ1¶àE³“˜hÈ´Êr·"å»ëµ²-Ã~câøš¢Ë$ccôƒ òX–©r'‹(¶pü—δž˜‘p”Ç_@4Ù—`.ÁúÆZ¿~C&^á’Nϰ+Ì›z0×!å>áìHe*ô³5ž£ ¯w píY¾ ^øˆ”©#(jŠ„C4oW¯¾Ë,üný÷2A¶;î.Ã3:&Á;—$Ð}ƸÂ(î +‡¶@c¨«ƒîíU•tx/S›L0Äÿ‹Ï,D*ð©Ú&¼wß$´&¦Åv8&lË~¯)§2Æ&ì°/½ioöui>¡èÞ' î¤afyµuÆÔô;®‚D,úç`<~¡­]$h« ЏQ‘ 2v—Žü±ãh;þ\¯‘AÉT[y——‚EÍ—p™xxaü:Ëôˆ~¾ÀÿLÊÐ_wÀÿ<ð"XåprCi ¾2c¾{2©Ž–¿ÄSÕ“$‚›^ßE÷Ï#ù5ÞÈ2 Qñ¶7¸Ø X,γtFùĦ 6Æ›Ê5Á§Nð¹JhN‡¥À¬Ñ%2¢±RË&{WÍ××ßù²ýM»‰{$’™ ýGáùæÔÎBMhV/@VŽJ¬ùª@ªçȼùtÆ·"ø—˃ÜphŽÐÇÚÐ Ñ`{Õ'­ÿàÒ1Ât–ä3ãeêùîÜìʧLB¬Ó€>¸v›Ñ¼zÚóO,5GúP0ÓÒ­¡n³­–½'VŸÛ»èrUâ}™ŽQº)œ¢?§¹M âK¾rM‹ 5̺íÖ " ­»<ú/¤acF…/c¨‰°J7Kó9+ âp ìÀ@-© Lò®\Œ7C¿Ó:ã.CäöÄNI²ƒ$‘È1ž~wä^&9hÕêi„“Ðcw°ŠHÆ’|†9ßwM$f9$ßyæÁ¹1¶H\`Î…d½ Ö[lÙ¯X”Js‰áË#xþ÷Ôü$teÀæ‹Ôeþjµ˜=é·›ìØ=mfV#÷¬ÌYî꼪Y.H÷¤÷ÿ¡"M õ®s©KñÛÀi®‘fÒ@'ð#‚‹ÿyYF'Ã0¬äØÀ©ö úk˜A[GHë}!‹Ø®-eú‡N`íãòmuWÏéñû¡j¨‰ø|B &œVEÐ4r;vËíCתTfµ¥¹zÅKQ¦íË€ôÕ—²0CîR¹õ 2ÏJñ_LCU?ùÀe^y{ê¸ñq•ýCw*AÕë›yüÛ¸P”þÁªÃºËZ½Úx©8ŸòÂLª0b°ÑL^]Ða7`=®£ëº5½5ÙF¾ï¿x¿£¢Jó)Å)kçV…ã÷4èÑî¤Iæõ;Hêewîãt€I†¶ûJÆ0H„ÚK!-Æfò(r…Õ~ûa†%æ……ÔlˆÍ»Ã¾i¤”a½€háÏÊ@õšêM—ùšÚ*ìäïb»U7Ízüi[þ,¦TÐz‹ >a„'…ñÝ[%¢sÆ¢±STÁºû¦%âJ=Ú÷´^wn‘Í3›ì. ’'½6Ù½©Á5ÛüÖ_O,7-…”g'á”Ä’f©îÚÆËmOÙA¬P+ƒ³Í3Ôðúì~ŠÃä;'¨Ð˜%Þ‚sè3Ñ~Lé«  9ô †QõTׯ`6ñDáK4V¾ ¡âˆø¯Fß& zë˪wH“µ¬8øÍ&ˆ´!áf¥ÈéºWÆžf«ùY‚«ä;¯yÁ¼ qofbnº ñÏ€'qçÖyC+ñNW¹ù% Mð¨AÛlÓ÷Ù+¼Ã¢F€pàYõÃûM¿†d>Ãf¹EðêϤ>²½óFk hÓøð§šñ½½D ÑÛLiØ*Q8ÍþMeÂ\‘ºÑ™Èã®rø=u~G>áÝæQ­A'+žªÕ{2Ö’˜¡Ñ¿ Õ¬¥¼1s.ǹëÖ.ï¸i•9äŒõÏù¬ë=o˜ xÓÓd˜/_õa*Y¨l΃5["Ò(¡_”"Ãä=„i\š6/<ïuä.ßä*pe5„èæ¢ÃÐL·à¦ýaIŒr¸äöY[@Ô½ÿe*ï›>νDc[”ø|Ò)S¢eï®âpú¢eÁ{ŠŸ_(Øï¥tLFª#*aü–øN|ýß“´r¹KÎ$ªwaTím;7&UˆhÍ¢-WY½‹Zú„Ë› ˆï^›~òÃrüu*Þè5M¿T'k@JׯZ´ayªv‚ŽH÷¥¤Þ;Ë™ ®XƒÚA@Õâ}bÚõÏ+v›“ë².Û†:>@pµG©4pKˆÑ§,ȘßY÷”!&51XÞ e¾D¿ÄŸ¤<… r³€Î5Ùynð¿Çš‡ÏXÔ^‹€a¸φãmœ 9â­ôè››;µ*{_òý¶S&ÎûËPΑ€å‰´ö~ðúÇÉ3ÍŒÅ/ÊJ# ŠÌUû(ݲš„?s¡p¡Ï¹©(2_[+_Û„·DÉ&šà> nªŠ*Ï’©ˆcXewA{dU£·B[=;Úaýdʉ7¤«> ]ê¨vð¯ð1½YQÌòEàœZeß>~ x éôŠ #{.êû¸¥ÑUeá`ã$ãþ ˆ¼éJÖÖOëÝ£¯È“Ê߯dqcîÀ¹¹:Hã'5³Ü‰T¦“™qÃ~êL —kšÁÝœm>)«„‹í-²éÓ×BÙÎR¶‚žçÇ¡?  iúnÊ…žˆEŒ²>sÒÎÈœ„8‡é~C­¨Í.{äKô1`]iæÁ†‰L"GÐØ‹¶ÕEÔÄ#q*ìJÓû"ˆ¤- »¹.&\]ðÑš‰ÒøLÜàgksµ,EÇÕ![UŸäçÅ—vÖ6‡$PÔC6§&~‚ YxÖ< âÖÜZ°ð»Ä]ñY•ÜØp¢è¿ßÇÃ@jÍž3gÝM£AN‚¨×Û=ð1W3z%UMTÌÆAü}FÕ±yUÇ9 â"IÑqc‘rÓ;†ñ³²Y@V=ÀL¥©û,Iê{†TÙþÉÁz66Ñ·þhmŠË„¥u»U=dã T¬00û#‰jg¤¿›1¹™Ví7¦¿Ç(Äí®Y{ûŽN±†b ;»k!8Q|Uáû–Â>Û¦¨Nìl%ô¾b勔؟dº™Æ<¬@úªÙk ÁéVžô,Bž,`ð¬qÜaõ¥­º 7™Dç¼Qm…gÅ¡§5[ ¾àÙ^±*®dÅp=K ’#Né^¤Rž(‹¥ÇLàK›! ŠÉ¨²e¤*e<¼†Â¢)à%8ážØdÑq=Ϊ|⬎‘TW9t£å„•°ç'+ŒŽï£äîP.|9x²\¼þó)Çi3ë7y;…æTi5s‚«¤…ö°€+܃û„µœ·S‡9¹¤uRv+‡S¦Õ§®)e}œSÚ ¿%&<¨ŒÇ”Ö”"ßV>¬E)‘®ûSáDAã 6ÔcõÅÃ'#”†~üôÍâB c=ÖÌi)ú?`T@XXôÜZykN÷¾*}+£9æw#]„ÓKi$8Í/„«Pm.·XêùAòç©=ksuåZ€³Ü„ÂØ»±=—˺\:Q÷V~IzfÞì…ZÈ¥ùú®cmèÝE¤($ýÛake¹ÅJg  Ð‰¬‹¼ÞwþéEct@ÁƒX)VÅhD"ƒ7ÏpVq)ÑøOªVÚöVun¥E`;“e÷Öテݲø ÁFðDòjä<.+;)æÂÊ좪º…ô´Œb<"ÃÛ3©^ïë?vÙwa2ÕÊlq͆ºíB¾E,gÿt›C“È߬٠ÓÚüûËÉ™±çé­‰Xš—Ahóε$WÍPÍ1rÅy¸ã`DÁó×<‚XU£ŽÙɤážPÀõ‚wÞ’ øùéßóÉ–™((ú†"#*Q^ ‹\Œé[IÍ=–N¨o¢£3îõÛ;xs6Gü§o-µ Ü’,’*&„¢{K+ÊRZU~K·'{ œŠiÇ@Ûci?øë¿œdeÀkÿ¥›b¯¾ÃwBFôp¬†‘`BŽhµô<ÜBß»ø)"q¨¸Úé×’éÿ¤?L)<Ýï®Xµ0sÌ!¨óH6H‹ƒ¼ö_fÂÜÏà¦Þ »àª&?ÉJbÀÅ{ÁÒЙ:mly´ì|êæcä‘Q ÏŒ`ÝP@íz +ÈYœ%‹/e³rU6•R§¤¯ÇP¨E–uFz£ò³ënDvyÁH©œöp¢0 $ØlU#ø229U|ÂëVØõ(RŽ;¼©<ø7 †ª3êšC˜5¿UG–:à¸å…ô¯-’ Ìß+÷î ìXÄ2ÅŠáùü“xDVãe”{Ñ+Äèl³ œ?ÞÜ,þ~ÐÈœ:¶}æoxزì£éãž§ÙEEQP29‡°@[å•Z»h4ß× 6<Ðç£+')  ãœl€‡O~b•WûL+;±œF:ÄËC û,%ÃÆäœþ‹¨”ð ¶~DÝ N‡$2èóoú6PÍ•“‰LŠÍ™ŠÚÃÔ·y¾‹×zã±{æí±×2šÞÍÐõé3]vÖ¶gu¹Ê$Ë-^&b÷÷°„CÎĶån±É2‚:qþ"ÖéP2q¨¿§#ô±+ÅnBƒ ?NÍø®Â(½‹y8جRŠ_kÔJÎ:M*x&)8l@5í8õQ¦k SZ„† ½j‚tó_ÐåÂ¥øP‹«s‹Ûþ²›-¥ ìÇ+†ƒe©(núb|c4ö™ìªÜ³ûÛù;ª$LÅöÔ§Í.uö Ö~CÇ »›"Ç#{Dþ9™¶òè@tûwæêÏCì":¶¯u¢wqì; x3éltPïúŽ›¹Míd@˜u¥ô}†ý#¤‚©¡Æ¿JìZm˜Î?Êß$Ƀ怲–¶ o½ß+•R•.}cþë-,haõó奻„ö̱k ŒCÍ×/$! ê»åÎÅ«I.Eõ àV,‹ºÃà…û'“Ø‘+¡ Ÿ•”LçË5{ò÷?RÎ’ƒˆÔM>¶FW—Ð:~pÝÿÍãÖ†™… èÛûW³uPMn§¥ì"1Χ»/5ŽÄØÕGí F3“ñ(>‰Úå^ƒ/]A0°Y¡•Ò/´7§xNqI£MŸDÖÄû·4Ú,Lš›ù¥jöÄ¥yú¥;k‹ ñgôÃÓív,¢Šªq89Ü£sÆx9HMC㨠f¨!£ËðN8ÝT~ÄëSMÝNPA_£)`Ú«óŒExlXÜ#@><âæàÂóš <§ràv‡3{´5§Bœ4ƒH……Y×®Ó]úÔ£ÍÛ÷ò ;Pm$øZüÝ#›Wdë„#/qk á÷ ð®Á!Ñ­ºúýÛŸ7.`|•ðÚÀ(“5 ƒö $OõK;Y³SfAÀŸYºKÝL½oæJêÅ«¨×t™„~úŠSdOKþ;Ôÿó1ÿ¸uYQœ„n©û|ñëyÁ~ë+(ûäØýÜ)ˆÉrºÏÉ?€¦\§HÃV󅟪S»ãRL#îÃBFY‡Q¯å1¼…¯Û‡Ì¾¦@ýåîõùi7ÿÔöe™ ù\uuÐ_mAŠ_ºYnÙø|~ ñ(tcÞuÈ™ÈÓ#(CREKÝž,åcúÂ1¯ï&7øê‹ùohÒÖàBZWíò»ÿëŠ5©4¿÷˜½B]Ä‘ÓPÿ¢}A¬·µU&ò…:¥¸rHöõÀÎËtÉÏW¾ ±–¬H]{¡uÏ¢ÌÕÊSå%)O©Î¡Z»wwf§}vÒËñÜÑxV“k3^f–F§1³&6‰eæq´t”»Óðvî qÛ6¢<Ѻ}nøoâý/8G»¸Þˆ`­³ÒáR¬J™M‰£p1UÇJÃgÒ+Ô„m .vqtž^%ÊÇœ¼üèŽéù#@yÞz[ņ=­…*–š¹‰6Ï Ãè‰W§Yt‡§3S~/Å‘ÁHŠ"‚P Õ` úKÑÅêÌø„ÓÖe>°dþÍEcˆ^y­%^ü[öü)U…2 ºúL$É9ÕÄTÊrëÜ$¡WÐc %9çG““’âS,{ÂÎ%A^2ù3W ÁXs¶R凬O17–凩+<¶ý}¥»ˆ:Akã¬îLÏsIE†™.íƒFz":«‰jFaŽ'ÀCVŤ{rB¹êè/aÍó|orÄCÈÈè÷øø6<‹Á³uM‘kîy€'káj.»fPSä6±n¸H!í¸ VÈ»ûÉá‘àÍC‹w÷ZE2"í%Ÿ­Õ‹ëž,†}ÅËËí9‡R¨¾ËùïúyB†kŽ¡Ã•‚Ýß@¬ýkFÁƒ¯üžàžr­aÄäp Òýs*5ýðüÛ ‘jfÝOˆ(/m1+™>Ÿ]ã¦\§-Ÿ;êÝÀ¾œDÎz½ ,x56zïHþy‘0Ñxgñ [ ‡/h…D^ =ICä”PSÕ0>Üe7€t¤r‚$ÁýyÓG¥²FÍ)îãTHĶAš…ó)NvÎC(ÇÏ`ýþësSÁ¤åàÏiöwM½›ò!¦bmðkPÛ[왦}ë–'RenOŠÅÜàó7þr3_g0Î…{ê9-¤ø"Ñ&ñÕ2)±ý(~ _WôÇacðæàDr52ÓXŸ¶’—WÁ«Ê¬”À¼8vˆ-e÷´»ñO œ-ï6”õÅ“ÐÎX𥃡ò‡O¥3®Ù‘åÏç«*ŽWe|0~2£IñÉÑüA„ }0¸<†ßt¾¦ ™ `x g¢¾ùH&jÊF<5ºm_‘3×^ÔZž\¿™Ä"Á _;I=Íß(ÅÚø|XJ@puÈ]ÓåGÃ.PÐBiÄOoݶj˜Zlj{+ B>… l›§êìù9傱¨lB;›)7¤Oí-…[‰Ø¤‡Ò£"ïÜ.–c®ÃUöú"\D(;¹Àk[/]‚㹫QwÖ²‚»6ûüêÊåí]»j"FƘÇTÁnt݈±¢ë³óÿ||1¯IB‹ÅÕç=D_dØ»v'§“g(nTˆCh––,íó ÎâÕ;Y>À¤_S_PÜKñpI;ud¨CØ­ƒqÑæ:Áž”%¦aÁÇúòcº2U§C`tÇÅzæst4d¥ô߆ìõ_b(ù7U?ŠÓæá²¹ú’&|€Üå* ï85Im³,“Å2¾º“Áù½qôSpÿÏB¶h_Z¹NÍåBñɦϵv—5Ü$Š)HÚûðìÏÎ;Áè6 ŠSÐdAA„G|An”Ɇ,‡fÑqˆFBu•#’‹åœT y¢×ƒ¶­Ç·yøPóëÍ\±ÛÖZ[ÒoªI¦¼dý$ߨMEÛ#‘—1 .Ÿyî·)ù(\È?¦ÿ¢º¡$f± c”XFÖ»SÍ^·–¿|ýÄuu—zÝFƒ&"owrµôý‹×ô{-6ºd¨G末˜\ÓE-@–Üh”s3ÀuÎÝÁ* ɉàù@R:–®b½vCªCDcë¨äG„cm óÐPWϵþò|åŸ=ÏeÙ€£·Ó˜¤ØÞ§;92Sê'á ·Éñd'_åÊÎÈr ¿a=娡¿M…°is ÏjŒÔÏØ>î­{ oZV$I¤à1?<žNîŠ,ÿËͧ¨ ¢â1特“¹hNHÊüÈ&|YU[_«,  Ãvr-ul®çùñäNóÛ %pú¿´ÁGh^ÉGØ[r­TTkrIþ»A”Ç·Ôr°Âg™-IÕûå;‚ÞA¬—„œëbã ­ŽE®ýG•s|¡¤mÁI0Ã.-àŒa8ª€›+¨--»àç$Ìå—è› Öä®x³±Ú‚üÛ“Ä^ë+x©¡¾˼©‘hø? kßÍìØöûÎOÀp®.s}[¯›K›|ýó«¥Õ¡5pGŠ )8€*æjÎ&$ÐÓÍÑ^Á7ß\uõ$ŽÈXG°%üÑÃHïѨ…[‡@ñŠ{½ìÝ¢13=³Ì®ÞÃþx±©nÞ òM›x¦—öõóÜê\>­;3øodµEµž‚M)Ѥ÷ïu<¡ä[+ õà•ºw>¼Ÿ¾ýx_Dd/Æ X1hÐŸŽ±‰˜X_D^ÔoÙ¥)k¼—?ð˜óâsH‰‡Gõ:©>µ!ņ€_$™Ã?õ¼ŽºÓ[Œ+³Jf*´XZ|²ñs^ÆÛ°zuõÿ»3:Fiܯ¬Ú«yªö¹’å!'w_¥',œ“%ãùnFŠòf×òé†X¢ËiuôÊ´‡í fVº.e»sk%|©ˆŒy“N ‰`é¹ÄêÏä½gŸ”LŒ¡ pšYL.8¤øl7næa®gŽ:l´{å)õÞ”_\p+Ž> ¨¶©BÜ¥X­ˆÄ** ½—`Ìl#á?rܘ`žŒ–0øËoϹóˆ„$þxpŸ‡Ÿn\yK›;\M ÕT|òm@ø˜·]ÍÈ •[`ߥÖg7†[(c‰·zß*~"¨îo–ýŠxÞ_Õƒ‹]_Ü»züB¡ñ̵è‚eŠœ¡ÆÀ§tx—¸7J¢™«23„9Üh&CM0«’ƒïy츨²†U\Ê…-‰òûIèn‚ÑÉp¼(»ƒYZ¥,¤ÉÑ·SŒÙÙÝn¾èvx±jáOÍú=Rr8¶0†÷6Å-³¿:ê c’·ÚEÈå³%fýš2-ø'Wïá3–Œý¬¡°<„úùS› dpù㟜îxÁ”'±•±Ž:´¢ô/˜ƒd‰ä–Ñç†xó]€ÊÈkÞ]Tˆ™¾[æ°§ÃÜPâN€†Ïu‘¢X¦¢’…XóVÎ+]HÐDwô’ãod:ÔÅNKÁK¶p&=Ò©ãêÛìñÊk<Ì´“+Tù\âWR¸X›Üz×E¹j‰W]{{­æ—¶o£ª4>£1ˆä9îúozÞZ=P&V«ÌËHZÒƒkTS‚â} îDQiâ¬$«ØpûçÛðеÿ„þ˜¹ûgúg5Ó ÚéR¿Q jbÑ-:g=±Á}#ê`€É¿QÐWA½èä‰7¯¨|G³Br×ö”±B–á:äº9kM‡%ÄÚç0­è\éóàÍGD‰9â–Ì˸ZŒVV¦0óÙM¹õ‘âÄ«÷V…%q–M[ƱžpG³£çµcŠäôÒ]•QñäÍäâ Šmèí\tÒ0 ðk>©^_¤$\˜-ä3Σ¦LHm¸%°‡$ÜØ|׎õ–žmÈBÖxò*‚“|KÅÁ±ZÅÖgÈ¿vv ¬˜»E„¡h]öOÞðKbUà£G>Ä‚¹ñMÞˆÜí3¼(û²«…±àtJö&^k«$]æYÛ!È*T€91‹ddÎÞàonToj—ç‹ÏÍ3©Ìˆ;.nsðµ…mxƒƒ½')E„øÍ‹hk.r§…{W¿Àƒ\|Û ÙIAb"•f Ø1çô}ðã—¯£5RD¸ÐâCÕ“ˆî–²ÐÌ_¯¨Œ§Ü=š>7Y&h"o¢q+@ØY±‡ ‘误Öh=ÿÛqÙ{ãør²Õ^[ïqÒS8í–{û.g¼øa œ‹] µË_E¾Ø*™vACÇñ¯]L²EýÕ1Ú_ëÀ¥UbXaD·»_‘ ×Ý!tùY¦A|/L>o&9ݸïFl|þÕ6±~›§)¿t@?dʵ sÁ N¡¶25‘ŠmJ˜ÊKËkÕ'iþž@ÁSÒ-Oˆ÷¤;«e˜ŒLAP°‡pš%Àø]wºHVžCîÓXû ’úh½³û$í÷Xà$îûõE–÷ptËoó%IÞ*Pp–ˆ6,C ÷ªP {âݘï÷à ¦ãFÁÎĬéWùmÆ”ÜTÈ 3YvÆ(§tùýÜ"S,Ǩ¨…Âdc^âQ­ô`A,úÞ¶»KIûÁÃòî.å¢Ãè ÿÇ3à›tvTòH÷qnÆR0ãÙ3þ¡}-BŽ¥Œ޶«IAÕ6°µ"ÉF4¿<Òmvø5§„Ú@ÛàÃ+ß "ž¢u£Ôl’"z¿äs×b«&r¥¶›´*¹OJM²€ÐÖ¹ÿ—+ÿLJ‹³eÆ>ð±j"÷a!cæ ä·Wãr <®¯itV:5tD£¹r±Úh]ߪ£«T*ä,…^/;-. n z«Ûtr¯|D}«ÖW-­–qÛ%">ýA ‚e½j×™ŽÑEE£lˆFmçz\'c¬‚JÀ¡é)„ëe\¤¢± o ™ 0Y(Ú½RniÖr™³FZï ÓxyUÿÝãs9«ºì×ã^¼‹HYP ñ¾ÀL:` ¥YHt–·4~’PÀ” » WÙuÔ"â½)XGÜ»/Ý-õ‘#³ÝäMY…¹ƒÐR.†D\ïœR ø»¨ùªæH³fmË•X$4Ïî_Á%p·Á|ÚþzQ¤ÆmKÜ}$ˆùÊàˆTÑÎHšXú@Ž•’䙜NÍ(Élé*øÞYˆ¸=~E÷Ä0ú³SÃ-`Ó'…tševgmë÷[ö<‘w[‡w…Á¤÷ÜDõFòcèxsX k? ¤„_xΌ̴$gÃ…‚¨Ö"Æ×¦6 O¼´m² í°çÀeÇG–Ø‘ÛÚi=)¤±Æ?)&–ºsÖóæ°…s$Á%­‚qÄÆ¨2]šÀw׃{B—õHߋ脖«2•ò¡¨0ã e—‘a¯³*~dðx.»J©ÿx>b+„/9}õÖB¡¨wµ6÷!iûXMS^ås_ìN „½C±Ð±²)¾ÓÅü¶Év!¯.DŸ²k£íì”ŧíëHÂ@~ǯӃ´xì‹ÉMF}§Œíx—ïáÉÜɺb¥¥©/×õ¥~kK7ï<°+™p6U‘ù¡ÄŒn,È61¸kU¹Íw}Ö^y_g@ï"ô>ŽˆžióˆVAÊr<ù…×%ªÜ,WâØµvFA®B´yÔÒ´ƒ¬f]»¦¤³tŸZNnEº:Íð$•¢{u’ƒ#ùeqHòŸÝ/^ù`ŸÁ¼tŽìüÇ‘•È‘Íú@rrøg¬ü–lÞ·¼“¶Z’oOWÅ,zÀÚB&k®´Ÿq †7´ÑÒ(ƒ‰†»ŠbžÌ-ÎBA"÷LhÝ5ò2tÇ l ªfXceã]"¯v]ÄHQƒµ/¬áˆŒBÌòØÝN"Ý÷íýqEKÜú¤·’\Vëõ‹nCëDB$KÔvwÑCŠbÈÈÂÉ®.7Š€(DçÆ ›zº• "…ÆzÕ íé0]ÓTþàè32QÃ¥øšc8&Ã5bînÔØàÒó|Ø*•7•bfv¦ËPde£Ä䬟±¿¢©á§³Fyï‰<¿žb’(:Ì•pdÃY^3Èà{£Š®æÒMøº>m~^ˆœsÆp¾ð|<ˆ²<ÏÇÅð-±ÖYëp¬Yy¨òоÚ;©îâ•ýÆ=Í™ˆòîäp#1å—ØŽòº'ßV"ÇtÉÞ ì»¯ Ú„$3€è úù‘h,‹ *&[ªF9äSúVœHàQ”Ù„›^Yÿ–(v ÜÁÆ`=¡vS²›%yµî€AªfwˆIg¶*‰·EÃJÀûj *o£mÿL5ÜÒø°²Æõ çnCÎ;ÂV“^rÎ$衹N'Oˆ™îˆ31áž”^ 6¬ qåÑ–YžÞwAV=si&ãx'ÑL±% §}"·aaë–p×1YI3i9ðñ0húúä&â8féòð‚0\²·¡nŒp‡›¥]ÀYržÙ~ð¿Á‹1ïTÌçù îe¤˜ö©r¨Ð¿çÛ ‰âZÇØµÅ,%‚›^~/Ï—6àûæ£z÷R†~æ_jŸJëÝ\v?Ù¼MåT¢ŸD³è49FÆZÜ©·klÐËHÃìÉ£6å»”9D b:R±=ÙaD‡­]ËÒÌä0_ã‹H-E·ÿ¹öû¡sbÜø—s‹¹¿…{?œïʲºÍ bmb(Ô“m¾JREØØÌB™È…''€v¸dìÇ·ë¡èÂS±Ë².ç+WÂUvjã8ÀÉÃö”Åf8ç–>L¯:¬˜]AyÖ= cÃÆS¼ãtµ‘MQ¨âf¶hËt‡WDz\o&«T_`‰ì:)(»°â5pzã¾Þ>8ؾFÙÊ®‘,=‰pÄ‚ëüô„ïÇ[ÑhÆ!mU/–+BoÁᣤھ[==c©Ö V¬5…R‚}pÂÛ •“r‘?ÎôñI'}¥@ 5¬Ü#´ Ì—#`™4²4ãɽÌÉ#KËbÆM>£ ‡ÜÊ›ŠCó6rB•+l<ïòH²Ø[:ÄÍ'–½ú±Æ›ÌÓk¹çG6q¼9çú …ÇKþò)Ïi5¡H2~…g™K¼ýÍ,òj(u„â.÷`õF|ÔMøÎ;thÞÿަzŤ«w…¤×VcÞâ$ÕàÎŽ9ÑÕ1™)5{G:±1·àÛ¼miÈ”XãÓƒéÖbÌ÷ðYÒεJ3‚U-˜æ%Ìc‘¤µzfƒì–ãP¢[­¡¤¡ÝîmÓ Õ›Áõ^xÿ.èsÒ§S,Õ:Ÿ$Øx«H-ßÌÐP¦h„N™Å‹îþÌFN(JTIì™kbS+åS´¹¤836uÏm/WÃ'ÝÓѹ‹a=z„Xž°! ÓÂú_gÈŽz‘YjÞ­XŠ} uÒ_iwÊË7ËÓˆ©€;e–ñô¯é¨>¸¿ª 4\cá¥+sÒÌa­ùzÆþØBw âÐàüópM˜×xæR×=Æ…°V’]C"%'ž‰Y}L¨Yu]4W´µ2ó,¯Ë£Œ<î·XF³UþˆÃÚøvz ^’犳Cy™]#B=ô®ñv:ïM…÷Á·œ5¬ÔŸŸ¢¥.«‘YTÄg˦"uä¤aPà-ß”ìóôšÁ§·Ñi™!di: «6ŽƒÚòf¤jŽ5öDXnóªoÊ;% ©æÎ%ÚîVÒÑ.ÆÝW{†mÃ%Ç$=’Z"®én—<ŠÜcìžpQt iyt‚Þ§êÖÒ\¦°È¿ûœÓgqîáU¨È½cÎc}Ý;ei†„[l[ lÐ L€ø7¶õjÒÓúY.ª8ç”Ô ù©£kh:%n€&58ûÖ;¥0.ZÈáeÆ4knÌìrª¥?†ä¦Ýƒ÷'Ÿ€9ÆÓó3EežuœsxÁÞJ€¾eÓ4’®¼À2ZÝ1; å«2U[þÆÖ…~44ÂxNv¸$IöŽé>xˆ@\g³†Nöt‰+öZF¥~c—Fç…ÈÍìó‘=âÒ{7#›‹LåXžà éŽ7äü÷‹Ø>AøåÇiìþ\6u> ¾D?PÿÞŸ›O03ÜÜY©-ííZ¦UD`¼ Žñ"ëÖº/;#L:êWŠB9[ -Fâ=I K¿ˆ’#:)úÂX“ß5Y«¿Ï"ˆoþ#Âhx%ûè­S·ròÊ{SrO}ÓæG±§œO»DXY= êÌ]«Â¬Î¯„\ažÛ@ÄVêë~µ¸ ‘wN»ÿØMý¶Œ´ ëæ„>‘’æf[êàN?¾ªSzÀ3ↂ8;ÄgïYßL±i¶3Qy·ÊšqB0(é°í«úº¼óÂLOlKÞpvØC¢V4Ž‹RG´–1än›îJ‰æÿ“ä6O™ŠËÍY[à0 HkÁ¬gZÈ>HÏÔO‰üçnei¨ó2¨“0[Ô?×sýônæ­Å—cßê8ì ,ç›5÷T¾4geŸŽöôx–olèˆßšô:„¥ƒ†MÍí?|ÛŒeBÝò‰1Ê:V²­Y±õgkUQZ«ÛK…IFÒÒññ¯¾¢¤föEð1À®§ù÷ÓÀ"qS>nôÅ‚šR–†Óï©@²|àiØ4ù ¹¥1íÒ™¸ÌTƒ¡ {ûÕ;Ú \°¡Aع΂;ƒ‚wôNŠñˆòPæÔãIlãsfkÒ±*~ïyÁtÅÔ¨rZ}üm•9£äúÛ»mq6ep`ÄßzE8|à¨þô/°µƒö7Æ Í8h@Ðÿ¾ ª¯•ºGgbÝÚdptt2zÏïÚ\Íïäwa‡ÈcgÎKðãRãÕqá’FmÞgÈê!Œ*øerz!{:SïÔ•R¸w×ìʽ—àü$¹|ì[¬HÍ­a*p 9B6]Þcƒý ä2eRXµ%Ùø9½75Pu#¸Ø,‰¨|Õíz8€¢M™É}Ùï­—Cq™‰T+°DgâS½¼R¶²¬Ç\TDdŠm„`{¤Â|ù~ë>âþ•šGx? €4wóXòU2–°DoçåAíòʃ69<Ê¡†€š°Ai˹XoZ"v/º3¶«ÂFH7-Ød5Š×ïðhF/Vì`Ô†)òGQ1EKÎ/€½`ÝwzÄ{(cªh8 À¸ðo—ÆlÂKO^E?u=Qµ2‰¨òb%PÝ–zoVëÓn;W`}µ~æÎ"&à0è;¸´-l+Ǧµ{(×µZ»é¶ýr I)Ud}'%¿*ôGŒ \ã½wq·»µNªø;Îy<|Êa‡–P—§+±yz¦ ßåâå«§GJ¼"ž•Ž0©rVíÆ‘ù| Ë«¡d£>Ã&0….ûƒE¥å§¿Ã«rmR¯ µ…\ñô÷ÒjÓ pEªoù/äæƒLjÍÐjúAèü€úیǚ­×iHþ—†ù»s‘""¤À6Ê‚óæfì#Àñ»@­·(v:|hžÆñtbnHk@ËÜÕgêYŽ}J‚~yœàоwaye¼§Ø4¹(97x'„E”*îÇ1p}s~oÖbGÖ%¿–4ªV!Äûã6_wŽKÓgýíÕ3Kâ‰\0«G\¤å“&dßj·ŽÕ>„“c*‰±y¤«Íb­˜~6tÓ‚CêMŒoL.ÌI¹…¢Ìqwä SÅÊä|¸XâïÀñNÞéfô/5EQ”¶µ›ƒÆðè°¬—tã(•:LŒ3t§Ð¢t€>îÿÐÉNU«uÎmP‰‹5 ôvØj¦äT½hø³NHàëýa¾§íc8ù^ZGDÕë¨ ¶co³|ŠFô¹¼A"JŠ¡µºP¡+Ï{†Ç!æ£,ž–GA·¡lªß†§gõ?s¾[úÉìÓÅÚeÔ³6Ø ®‘o±ÜÁùYµ.‡=£õüïĸJ‹\öôPÙAÆ}"ýpˆvTÁ³jP ¤›Nk“ë¥gªªLåpàæAÜÆgèl}æl• 7¢™¥›W°y‘¯±Ã{5Þ¬ËÀ3·U”Â<Ô†=+‚n+Qå ~jVæ÷éW¦þŒÈí¾•ø¤' µ#X?–A.IJ2…W¹CÿÅx°)1¨ *!ݰUc9«ÙØçÜïÊkuêÃöóý,ÆPÙwömUg¿ÙAvˆQGsð±ômôãq¦Óû¸ðлÃe2ÚrNF"+úO¿¹ÜÍͰ×ù/¨ù5-$€$›ªM5žð<ÃOпÌA¿Xz[U :s*[Q`'(/¢t†oö Õ” Æð£ü‹@eø~µ¢~å¸i+úe/¼Ã3›Õg‘•d§¼öŸlºOÏ_ p’üç–WÀR¤ÞEõÔy›dà¾Ý—ròT€Ë«p¶V¢Ïg$æÒu y_k{È,¹ y4Ö÷¾¾ ü~ؤtÕij+—lRö"  @EMßYZ†¦À˜#DM‹Ò[€¢)«|‡âežX†Â¢g‘+5%ô ×>˜ïéñã¡ % áý7aŽ?—áw­¦m[ô _çÙÜp?à™É7<ÀX¿Egîw«7‹SïBý»„¸Wn¤5„V]ÔÒN|›¤ÍæGäh­ÉŒ¸ù°™aÓõ)ÁA h ¶ñË( Z‡u¢“¦­»ñòw©­K‰”*å/‹áEûodcŸŸWÊjš6Ð5J¾›„cí÷Ò²N#¬9•2‹s”W¾2¶ãÝuT‘ÚÛ0é˜7•ÁøªÿNÂ08Äa(þš£tŸñYW&Î7¢‰º%¡ó&Ž»ÊtYÐ,LHˆâýÖkukwëƒwø”À˜aT¦qLÉ/tÅËDû—í†b+m@gq:Š`=2ϵ·¹£gâyÁvÔÚ¥g; iô6‚#Çœ¥­ÙB„²ü+7ØlBgzyÈš²ÀSpúŽ©ž­(5!+έ—à°gy Ö3Ü®k'ÐÆ£>±|± –`ÔUËïx»¥¶â}?¸I Àì]˜x,_.lrÈX§&Ý**ÈvàDš¨ËWû°8ú¬ìˆg$G±­ßdE¿ãE¸H­-dÀ(cOé×÷NÇøznO ‚¬óð3ÿgLOþ÷,Õt†|jBïíù4ôæîßÍä,¿BǽÈTãw*‡ämErv”YÉ)긷?Cô>†&Iët—cÏ`ãâ.õ=ÞÙ¬ÿâ6)rsS½DŸHjܛ꼥,³ìg³q©ó>Î:OŒZ™T{y’ãÞ˜©^‹qÔÃjeÎkYˆmCs¦±íf '£ÙcE£É!µã3Q 2Å™‰¢DŽýû¥.¹[8Ä ½˜5e£\ýðDP> –õ+åEž'/p¼Ñc[¿8ãt±ìá…Ñ3ó ÐSkoeï ¦pqêÞÆ=ŽŒ§ ÂÄKÌÉò³Ëø´ºÙ/ÂÎCñ¤TU>#?ÜR|{úåãCÇ¥nn-ÉÓÿÎÔH j¶hÀT ¿Q*ã%JÞ¢Õ¸6Qì*ã­_õ‰¶^³_À‹"B£t p1ÞžIÎÈŸCã~æy«¤ñH£ÏñŸìH*œ#^ªiD «1Ux ¢àêz•>%ö+ÏÝý^›q)‰lù†#gqÔó^ÐyÌ$Û;v”ï“îÓ e¸~¨ö¦‘Ú ÄiHK•duЩþœ¥UžÉÔ:Ÿy2”®1›L–kc¼!Iiɸǚ–ÏXÛh¼q’IRùJ>ܶ֨^&¢"Œw,ë9‚IDåfÖ\Y#¥]ïÕ:ý)µ…fIâÍQá.Áðá(^'Õõ—£›„HKŽLåcÉ)¨z–Æí¾å·Ñ¡Na½¼¸}=›Ü­bí2 új ß'øjHÓÛÖ*Zý-öFFÂkÿ¡‚XìœM‚ø7×If(BAßzšü‘rƵ…sz¶”4Þ×fíV°×a¤,p¶ŠuªpU4ÛoÕNDZ—°zùxÏÀÕ‘ƒüÃ]"1¬ºâÖ'»õÆ‚BOù»_PÌï«È®£zcè—šÿ¦5Š´íÅ¥ë:(®{[­‹]µ¸d’yqËVÉàüS7‰Ö¶U¡~ÙÈe1îD"éfmæ;Dþ_þi¹Ûñ,SÇ;RqhµÉtm4äSŠ…ëuzl³¿ø Ââ©³à“·T°'ÈQ•®õMíªG3!è+‰­R~Ž~‘Œ¢±xÄ}|iÚˆ‹8اµ¾˜i¼ùýÙ”¡ ÜÖ8X„=‰i%›¿õXfM ;š1Oꪀgb«adHÙ鬸ñ„ ÓnCx6ŠÂ·\ô²”Ø @6E{ØA³w{Ø–uÁ™Óü;G–“*c¢±ªR÷8‰-N|j½Sù—)ÉöÆ×pWÎ0ŠÄYGî•M¡®ÓIE|s‡´— *+»ÕT™”¸;n£ÿ}ÈÂúúÈÎ4w€mø|BÀÏå¨{ÖÀo‰Æ=S|¹þ#Öþ;¨ å·Ä÷2¯5°h- mEÆúz¦2¨¿j·ÄÄŠÛ%; V®ìâ÷àhÆI¹FµNWáçô,tÅ\mÎ¥%6– ÅEž%Õ”÷Ë,N Ø“ÂÑyNiK7‰–] Âõ¾÷ç°±ÀÂÔ? í8¸² #uMþðQ€&qÅ-H»ò£Z&ÌåÑwLÒÄÏOoÊ^”(ó5.ÑM4+É cVÏdŠ.¼ÿ23“r“¹ê½½|œ ‡} (êÂæÇJ!ãÛÂãêüŠ¢ô‡±ß°·žDƒ°‘£H|gG­Cóذ©´(À¶ó‡´RG§f€ª˜ó»¥ë\ ™ ÆeìpìÞëUk?À;Ñe|?n{RØ¢îé®1Yj& = Sÿ=“=ÆvæVóÎŽ”:ÂÝ2D5‘!½€ÕLÛ´¯,N&³yXCpk†ö?ò¾“3%BÙi—°±'kQ¹=MÉÓ¬]ngMÀþ—ä×®ÜDyOѹHß þ¥´)˜Èiût™‘ £m "_UN‚¯Ýtì5bd|+댇¼í)ß½Ë\§ò/®á]]à “7#¶…Ç•ØmçÏ:¸–ž'¼{åýBëç{ÕŠz†~GàžC—>… IØš­&ñ¨úå±R™»&NeJ#Ñš=ŒzîãÇÁq¾±Ø³Žª@;djÓöbfô§Àêƒsö:Àë´š|ôò_”XFÅæšPZT“÷!$f ö¥ÎÕýÝw=xó·áß©A68Î J\E–wà`×›íyúæÑnÅvRÞÜ•ã4‹èg~üª’’ñàþ†„J’ÃqåÕå;¯Ù@mû´s2·zÀ#܃3Â.PGÄSbþÑ´±”&$ëh‘Y¢QO$I¼ÌŸ/’hUºj)¨’äš[¥»SĈœR€åäšî:½(²Y€0ð ´Â·çÙØjáêïG¦‡gÅŸdó4á:[bás² ¨çw´ÓI~)F¬óÛ€2Ž1Chm¡uBH¤ï.KC,béü§v?v坨Ô ö?oé!û5JØúõo¯Ýš¶Êð“‰å‘7ÀîÀ.^¹Wò,;Ðt2e¿f\Fz„½ìA·Xžõ»Ðò3Ç“­²²þÊŒ£GFÄ9ByµRIlœÅ%ü<šhˇ£ $9ÒžIG<» Ü—vái¨ñl&žÆ¬äéK–ÇÉÃtÙpû*à]kb.b=c7œÔ7û]AT»®b%` R©&° )ñ³MIlX©ß[S¾_ßójü•¿×Xeœ]ÝžïeÉ/#¥„Þï)µ1Ùìã¶Å_£„‰;z\Ã÷åÍnH¾¹Võe¿30@âœÿ¯EKœ ƒRÇ.r£îT¬¶Ÿ®[Ùä–“À†W b²ãƧ‰Ø™Æ9<Ñ®As|$½6®›…ÒÓÿ4ðõ³„½º°9¦b݇ZÓlK 9È{þ],.{\‹ÈþÚ½hPs–Š2• ]0¯e­[XÜXuS0|¸B¿ üx›+NÓ,/T‚v™Gð÷l1̦#wÁôS÷‘Ò¦‡¼)çBÍû‰ÚGÖÍ ŒÊŽ™RýŒÄV¬TôŒä?3êó*ó¶¢ï-:/Hô&¸ôÜñÎHŽ<Ž‘£ aÑÀEÉ€Îý5ê€Ò%ç³ø€wvj2þi>’o%" Þ4Œ«åÚ%㘤ª×TªáyÑOÇPÈE¸5;G·ê¤ #ލr@´ €o¼xtõÓ¼¦È5ÀžoØ–ÙÁÀ¨ Š„ïGÄÒ[Êi%ëøࣱ~ü‡®ÇUE·°òw‡'Ñjv’Ùë]<ïKîsw­N” ®µ{Ë}0î²€£Õ,æVÚrzÆcÒ”1,”¯äßÜÝAºxEô“)—‡ JÍÚ¦¥ÀeL˰¾Dž¸—Yq1;KÇ9ÔIª.ö¤’«vT=5©ØF+8¬eb,Sô›¡ËP˜6ô®Lñ¾(áPñ#~M_’EY|À©|ÅÎU"RMêÆÙjp¡‰ÛÛÖt³[ì9z Ù”öPLmÀk¿‹¾ù\^‰œ©uþ5Ø\fÃ+jÚãC"é&My¾6*èIûõ“+²ÖB“$Ã+‘Ú[4‚¸`Nã“Ë×Y>¼'W5Éë°S“L–íV Šºã& ¦4—¶«~ßky_׳¤¡Æp(5Yߨ ç&™³5Ê×cJ^(TŽðk~]YñÙ‰åJ æË.ëÅå¶w£k¥Ñ_‘öL*¬ˆ>'ǨÎ_*-£—°ØÞ8R,‚Ë;êÁ—N"MD¥êIðн}»ÞÛ®óϤºE`æÚ|3âQò®<ѼûÿHИ"Dq•ê8ØênaÓP~X8îm±‚ùòÔuˆB²iä•¿?~ó0»xf„Ûš K#vh»ZÅÝÐzâŠṲ̈ÍJà»§'ré•¡]DzÚíw|ÂËGY v˜è߀?%´'¶é¥`ÆZv¨É²’'ðl¼¡K(kß ú(ï=LXz~â™;…¨TØŸÚkm½ø$³ûH¿™ì¥ÍOŒ¼h~“½-/¿£ œ¹nã¿Þm Í—‡ù¯Àú³½HJa‹øµÂø33Cš—:9®¬׉L*¾ÊjÀ—¤ë{;öÜÿ× cü[›Î6€&+Yî“@ 9þ@¤EØ|€ƒ'ö,6‚.Š®‰0ÓÐÙ ‰ÙzD¨kþ4½²÷ ¡/Àü1büøi÷¸Ç¿’g y¨xo9´¼“öŸ `ÆŽhd©†}ß^Œ;òeåQ&*jæg̰ÿ7д¾ÕÊ»S­'󦣨7ÿ9G™Ç¸•"½Ùû?i†ŒiFâ¦*Ï8ËàØÔ‰pÙÄeÒ%‘¥½·­×™ü£wuE×ÅŸn4ðÖ WSF8’6TSÈU3Þr5»:Sr…9 f\´o™5lÚ·ŠŠ¡Ðß ¸m¢zÌHìÓF³Ñ­ë¢iÜ+ų! ó¥ºeMÈïÐg=¥)Tk”v’Æ÷h;¥÷ì[½pIl=g= Ú6ÇÒFüaZöí.݈v4ñ”{ ¸îì·°þ–ÑÉ%úÔMŽ.?™°C¶º ÆÉcÔ“:…gã ¿ßÇIÎ_Gˆ‡à¬µxÔ©Æ<!öh¯<7e«§ó'¢#Íhé{UŸq+±Qž3ˆgà‡¬ˆý@‡"òbßü_Š:^ø“ï4,ö]Ÿ¹«„£àJwcÉÿ(sÚ<Á.Ê{}såpÿ "ðG}¨i.¨™½t ¸ÆÝ%4íר ÕÓz ãä™í1Ë„„@L,¯SØvAó’·çxXÝÕä‚W©´ðGõ*ïÀgpm/¹ÛýPókýÈõ5„WLÖ<-GÑd× ÑY Çÿ{倇wz¹^™WôÂÃ÷ßãVRN̘ЭsDé5ÒqU8­©í7„.õý…VFýÎ~ÊÚ ›òÐ •…†;Tì¡ì½™×+é¶îƒ¨Pª¼Õ¢{yT[D!*ÙOiqe ÿÄ\¸’óˆéŸëR<\|³Yà‡Z¥@œU—$`Tm6ýµžVã  ­?vw¤faÌ Ÿc_€É}Tè‹…ì©9 ãîˆ*—Ê@­j û 2Ò-M ™“T”KU·æÔ#ƤšÆy¦d8n&bñq[H9dV!@”íˆðžsN6Jw~/ º?wâ€ÎÒ+fÓ­ÚãŠ"çíд5…“º…ݸð€I¿ÎQ+ˆßé "_‹Ëºeàƒ˜ÚûÑÒV' ™gÁLÛ•ìš<¸»Be‹ñàJ_"ÏÔ“ªÖ½¦œu%ÍÜx7Y{[§$½™õ"cþ2# ¬ôR½¾–[0”Loÿ–F#Ê"pS› ºåš°wÔ­’ Þ3µ¿íΑ!Ö·hb¤Gd¦eÀ ‹7Ht)‰âßmyNëôiµŠ{ó·«‘yˉ{¬²ÍÎf…+¦Ž£üÈ–AÜJµ‚þ$¬Œ0] ¹¼]˜-s6@•T拆@í÷¶ƒ”1­l“ /2³X“5ŸkGËC0Ž+ð?µat!¦„çè ®h2Çmê¥kgþ¯aÐ1n,=FÄó? =±Hằà€6¿Š¤kV@þЦ÷ØU;‚XtòøßyôŽ@™j®.óTwòŠoÍÎ( E‹ÈDä˜ÙU0ÑM˲˜ÈÔVät–qÐs°às&,]akÛ5׬ÍÇMU/³ÇþSfŽ`8^˜­`Ÿ ì*ãi·*CòÚï6¡¢s]8T2ƒÆJKæ°y¥f™<<ƒJ>1à £+üÝÀmeøA~ÞÉ& ÐùΛùÆÐwÞÿg˜§mûŠ Ö>1ß!ömtd%nZ0µ¹µåœãdÕYöBÓX{õäøÍÚ‰õÛýé 6®Ïe/£ÅHA]sÔ6-þnDYݨSOÊ!׸ƒ¡ä”n§zxuj¾óœ’OQUs·üh ]ý8QŒZ%D®­’ÑW M¿¹2&Çjã­#öý…›µQãüÆ"ºa\ˆËDžêÏs)þÇüÙiÅéæûÝW â4 ¨n)h áï`ÖˆDÑûp#>üZ1…>.’?¶l¾{)$Ϧ ÊËfmòN—)xKþ$ù”—mæ½DN¶;sW†á­‚šàIž†ék˜§^m—XŒ ™6ÕQè#©au´¬s(šôRD­ÈÀ ‚7fz7ƒ/-«ã²'zŸº–l‘÷±³Ä¢×yQlqùÿg± ãö¯ ÞãK|ë4Ô}ùÞÈÂÄ`æ6/—tH+ã¥Ç{jÞâ.Ü“Tå5îÒ(•Û–³é`€3ù¾Z´ö9´ê Ÿj°>+ÏÛ9okwY.âø³zhÑÓ•†§››X_ÌÈÁ“âÃXˆó*éêv½4 ÇáifIá»C= ÞhXdû²5L®L]frR¬c’¡Ÿ³œûÀÁàü<>ôW)å¸p\^žzÕdYä•ì¿ôÁŒôìB5Ðõ÷ÌJÕn’ãj2{.ÆAŠÙÈ]Dó ¶Ø1Hé6Wg-M` ðœ?AÍa½Ë?©ï>ÑøÜÛêuøk޵0HEàˆ<èÀXˆhtoB•p"ÌIøÅÁ'6£%v`IBùPÜ4^‘k5)'aè“bm)}Œ¶coÒDÉ}=½'ñ­ˆJÝï“—õãéNd‹/‡LÍ™ÇÕN8>pø_÷j9’ Xð‚?tó.Ö%/ÕÈÈpv·¡ìKÕBÙGÓTR+Ï•²üù•æ]^ƒásábeÈ ×¡ÐyÎáG=$ý‘éû©ðkÚ`ƶ½Îi=ds—ÚR™Î{5K[DѤ—±p˜lnO¶Ÿ"±_Ûs«t|Óa ß4üç%$Йí?øØ}ùˆ¾P°Ë·i¯†~÷Ù!  »íNV8-Μ`=—C|Еu¶ž{wÖQG£"Áòëqq_¶.± r´™cÆ3Ðù{96.†‘Â`@v  ÑRB€EÓÓ'ÿYƒ’̘µeŒVäÒø¹h^Ü^ê=sô4¨å¤CîÅf™î“Oi>PÿȰ0¨×$¨ÄÞæèé›VòBgˆÔ/ôêe¦»Ê‚µž#ªæÞÄÄwBäV;ôIöüš ÊžÊ £ùú.Я»•Ý}¦W4¾`óˆä`;ÈûÿüO^àµÏ‡Ál¾o¬™µaŽgH•ž´Ëú…¡¡^`FYóÓÉŒÑI›äÇ™Ð1R¾'\êF"áûci‰hüعþm„QEˆ½ÍDv[ù”r¦XUÂ.;sŠ3)õU´8C heëmXå˜LƒnQ|›ti’^°­îu9òGÜ4özƒA<»1Ûº‘¥IÏŸ¨Oèe°¯D鈙œŸŽ5“šhH¼“Þ¯7?ŽJ´œ彃J^ð;x•s£Ú&n^¢Àk4§Tk¦Ù‘fE1Ú5+fžnÙÙ;z¡:Ä«÷BJ&99­î䯙?•™<ÈE\[ßÐs Úc†Ô% ò Xf-.ÌžduF$v¸|ô§P¡ÜycøŒØ4ÈëU1šÌôVi/@‹dÈËKuРë‹L¨í5¤ZÂ[ØG! oœ¡J' iÂ%A¿(…§Uõè~A‡´U××µï‰Ag9Û†'ó@!×—:RY…μ_+â‡UK¡aEôüÛ¹Ñ$ð?!Ô³uM|ÜϘÁ²äPϹF•Žë3¼êHÑ©¶)݇؊“h´¸=àdØfx£‘Ë¢W1?Êq`êφë*3VÔåS79úSŽdžBÂmrÖäËÅOA©K=uå `8âÁ ¨ÈÜBÆÙä¿úëó©òPK„âY‹Ä³¤°b<ÿUT[¢¼c@Á(†5;O­x‡mc<>6ÛÅ®F•~°†ñ àõjñ:z0º#®9¬Užˆæ×ºtN œ„tÏD$Ëüh±<65 aWRæ»ï-dùŠPC £œõ,ÿm£4íàm.K¥Æ¼ >Êœ-Aõ$xð~eýR‚Ô¯ÈüxµQ;t@ŸN@ºî“_ðžb~ ƒ¹õ¼•ÑT€kŸ]î¤ÀL–d1{ãDËOFöù® F÷!GéIq “iˆgÓ8³-Àìyþªùßôx³ž›ã¯6‰Ž_ "±ˆ'€R"ʸ2Ì8(å i^tWȲv~œ“sÿQÀÉsÚÓ켘¦pϺ?Œ]SÅð¾vÀPº¤zâxAW:,Ú+„K‡xä}•…ûî-Å5¥éDZE%_s{Tº­a“k.‹–÷YW3Mxø¡Ò’}œVŽ/µÞÒ V¬ð‹.G¸-*ùð¥”õ*`]À;HÓXŸ¶@Cd¥™Ÿ=€¯úx/]×KÏΪԹDðVrýÊðz„Û­¦œhFÒ[¶­ýâI­Ô¼¸+ ¸¾*Ú`7>8zýg# D2»#‡3&B Á®5 ÌÇÊ%ÈÖAäϯXÌXë} Ä7âGK}“§ž@Z°Ñ«Ó ÔJì‘Lo6Q—YÖµ,¶ßI5ê7²÷²¾åmÝÓˆ+_ÀˆY­¨T•Ásùž¤z &Dö;“Ñ0›ìJ¸¾7a‘E)sf«î{ZD$X«‚j€Bx¤ëäÙxæoM£´‘­á–ÏŒMý—¼»äª‹Ê’ÿXßÝ.úŸžn“ S¥5=$WØÅ\–¬Ú4.ªÌæ/ê;©Ð'“𞬄5"âl‰HÒAOÿX:TòŠ­h[òã•Óu0Ž6» Sºwë+.vVí—Þ;'õÙ• gX˜+ÍQÙl,Ëÿ˜ÏnË@z ”ŒZD™s¨v Ÿ K‡¡!Ñ­ùñD jù‚DB¢Ú±}äsýˆôÊ¿¦‡–,ãA@œP@ãÆÛø`–·ÛeGåо?»¦›!A:™)/ù£Q³h{J˜ÏþÈÿqK{È­¿ËU²íGâƒΦ' õ-…ø/4E9AÁT=—ÑÞ‹ž;bŠÜÉC‹pÐûZüã<и¾ Ð‡s{OýBί`Ngl‚‹åQ4”Á<È Y¿sÌøÃ"†b ñjþ¡©”V©JÒvg=>&:’Ö2œ‰Í‹CT¼Üo«O¼iN“¡ÔêÃÒ ™m®@¾‹Èð|Ù,—ºÎ³hÇK|AJâR–q+4Ö §½òøÙ•㤰p'Ø–r›òáU z‘Óm%xÕæ—ù¾ãH\î(û \†ùÊZFüÂ$U 3μB]{ÿ@ˆïPµµváSKÚ›ú¶d -‡ø!:è)Šq+ 0Ü„©æ‡$p(Áhð:ÂëpŽSKE¤T™—4Ún ØþY<×pRqa›EŒÎêP4ˆíÓ-É:¸oîµ Ñæào 8ñQ”0+“kÊÏàqd~~õ Skny–ã"1û(k¥tnÞ§ŒŒO¤ÄÜÞÓ§@ò™}zް& Jô`œÜ£v™Kÿi˜Ÿ»=j ”Å_NU,äý`LFêl_<½ÁÿÉIü«f Éï<0]8·÷.§€ Ûyß8d”„Y¯ xD¼ãÄd˜;‡œ×à ÏõZCà˜.ã¤í!M¿Š*‡904l>) tQÀNÔ*¯*€&e¶O¢¼—ƒÿIù؆ÓÈIóö@²ô–U«¤þ¼ž³û*\b2Ñàh± Ø.~w5`¤ÇgÃB|"¢Ñ¬ñ{ %M‘ê|¶¬*­go›5…‡Te¬?Zd9~õ]ù*óyrŠÏ~oRZî+—Ôµñ(b­?ÌTRøÉ–ŸY‚³«å\@v`Œëu𘠊½§J¿ .pµzšêy¬ýßåU6Ûçž=þïÕÃE °I¿š~Gņ_5º²ªÆDüR!Œ@E$T7¶ŒÿÜZÆäA—‰èX6.¸ƒî‡‹Â?K—yBqÀH0p S.<õ…¨šµAûŸžûðñ¯¨i‚ëÒžïÆ%kAQ¼ ÷ΪÈ_ uô«t˜ÆfI;þȾNƒ×2°àa<¤; ‰d‹'G–9y4­Åø²#PqâY«y@óQíï8Ö–Âä˜FC ¸x#ËiÑD¼†4J #jÕ œxȬô}mríS÷qjÆ1é}~JxR0t3òì$z@ÔŒ‹wSv^ ­}T;FfÌæ‹±[G´ÉD¾ Ê~®5‘çêö&\_Ußs£öÚíÕ0ÊmÃQwš*SFJ=~^—[Ñ-üƒ½—|S„ËŽ›ÅªŠéã3œ ~pºH´9ÂV¥šR(e[YV( Zî­kTÃÅ)vGý²ÝU2BÊ )§9{íqM½î— ¤p ËÜ–‹qïJC» æ9¢—›+OüQùåú,ju¯•—îã’-8è½QÙ°e ±z¸.îªÊƒáªêO™z6.’R¶æ®ÚžÝ3Ç¢g¥€˜ƒ±c–’)ûÐq±Ùï×=oÎsp9r†Ò ç‹í¸ PŒ°•õ –:ðްuëë€õ7Óýnê²%ʹ¥ÐÈi“b3Lq0þÀO~½i6Ïx¸âN¹âféN¨zÞ±ÃT5¥%´,o×Ü•Yæ´¥ãWÞUÜûy¹`½8âŠd?T„v³Ù+÷©=‹1»®9½©»ß) %V#¹O\R/x@ÝJo*[9àÛ’øœż-Ÿ]~O5aO¡~ÑÃñ<3t‰‚t=21%²üsd8'š¸nhRÐ_^Äð‡®–.¹y53öþ]ŽÈ¼8ç(  × ¤‹ ECŽ·~R©³•¸¿NˆÇL&öAâ;”Á_ÜqD—LÑc²ÍZôäw×!±åmI¥vá=ç{d •¨qè÷ ðš?6Gß”ò õy”°åås}»Z2ÓZ–5ò²ê5é¾½¨ù9D×Y„s¡âd_Ý@x2êð÷³d7<$(éwþpÙE-«#X5Æ÷+†@?DNpûô-ó¼ n/ n‰˜æXxhAÁATæpĸ•ü“õdñâê&Tæ ´S/#Å1 $Ÿpó˜Di÷Œ£éèÇâ4BÏ €Þ §s¤%G¶M‘Á)¯thŽX–«L| küf±µýÍLÛU?Éâ–ªÓ¢¾-^q…§];ÚÀ.Q1ƒR ›nþä>ò7’›Û›ó;­¾aDæ3—Y·×ñf‹ÀÈÅhá²t X©ñ€ˆÓZÙ¬ú,b}õ‚Á1Ýˬ*êæÖµoʆ:Ë?-l~à6À$ÞdÃ…JR£@ÓÒbHŒd+ùòRéµ¹äVlJ‰âV4Ò½3 é•ö¹J)ø_Éi·Æy±/È^ $±â“`²U„‘æ”ÞŽ`l­Áæì…”$ÆÄ†O=ËðõÆN»òÆÂWhJWˆ¯M˶ñ³“ðCÇçuç ª²™G§½hÒðMef;µã}|ʰp2ž]ŠŠ. ob Âú( ÈÍ€¬ Ù·ƒ‘¥#_EƒðFƒ µ1$X —ú[8‰ ™@×Ür¾ºß¿Ì» "\/Ä®b´Èê5MŸv†BðwîÍÇ/ÒÓ\fØWtÇNô`íž@ËÉÚ[ýAM.‘L£9jØ— ¡ÑÅJFSmÕå„ÈÍÇËÊâZT\\6)_ÂÕÒ\Túy#¤¾-E9ýc˜ù°äøoÂÂyØW¹É æÌ¿ó æ}e y´¯À<]5¤IÓø@u1¼ù•ØQ=Ÿ=S1Ö8 ”×—Ènoiu{ñtß\*ï‚ôêΌɈä2홸 ðY"-Ú÷ŽS2®,œV¨f*(0NЉßù¿]ÄžüÇUƒ“PPe+¿«,~+Ò­¦=FLÜÍròjð̄քô°(ö;Û4àlÕXâ©ê]áM·—E3 DûEIg‚'ù¯Ý3Þ¥]çšLîå‚9ð¸ßOZ+‹ox’•“ÌÉ ª¦Þ¸Á)]")?±€ÔÜÖþ Ú^ýwåLÜ Öì1Ü"®YÊ ˆþæ‚hš#—‡Á«Ku;FZ I‰f‚U…eÈ Ä¨ÂÖ¹  DÊV‰HNʰëiÄÂâ»S0yõLY.Ù\__<7°¸8ÂIJx2gyÐÊ e?0Y.|‚žôîzv0Žh Rb3•ìø“¯K¼¹âŒ¦n΋7»«”;±×²6¥”âƒÛ¾î 'Æhâ çu ëœÓò&þŒÙ#öî~gÌbÙCß\äçµ]7ØpûÔñ¥yÝZ ßn£°IÔu¤¥9NuëœU»gøGw:ß[Ç*ß”:êUéÌ™ºù†×ù‘9è8¢ÏBÃS워ê‰ó Í¤8 ˜2Ù%¹úz]rÃåÔ#…Pd=b-fÎ3‘_‘ËÅ q¿ð¢Óþª$íÐöâSýP÷óë“öF•ŽGl`áSüT®s·‚‹0ˆÙœeWdšî ¦zŒsÀï¹ò¿Dƒ³‰nߘÐ×wר9 ôÙY¬Éx1ƒ§ÜeôøØ>ܸ>‡yËô»äÈ݆n¢E%!ožË.¦ý´NµZ ·LKlïR¦¨‘†¦Ã¶š|¾N%€ÝÛñ Œ%ŒÇOÎjÌXph†|.¥K€ÃtØ`€ôu›|ZËaIFTF<ׂ1÷ñˆQ¨ÒfW|—‹r£¼ Sð•ì·!]Ë2¸R2 }Ì&«æXÁ›±a—¤k‹î̪ŸœóÉŠ^=k*¢V>ãÄ4¨oDÇ€ŒãØçzÎ(ÓôãùÀ>¡`MªMõBg –/â°k¦'É£Ó—Sªn€]{“(¯ýÙɶúcš†=Œê°îÛŠ‘ZA‘Ç}-ñx@˱åT c xe›{æeu•11*G¿‰*٧ʼmÖœ›Œ•ÏRTªÙ-†Èc–m»¾ò¼‚!ÍK2ÅU*ðÇ*æ p*tg,ã ùŒõ!êGJ—é*͸‘ ‘êvÖ‹á«Á:ü0/‹.šU´«9¼’]ˆGÿù6²ñˆœ[˜;c£+Ï_™¶¶ôk1³æ=I€…öÀ‹AGТ6™Åa¨<1eÛÛüi&«!ÁҪ̋-¨¶ë¿/XÔ_‘Ä„‘ -·MK¨1‚ŸfŽ#y)ä×s°I°kiíN$Ó&ú3¡žÚ y$,ÿ)°“ðÔb5i’«S*aK·vm´ÏÿÔížÇÑ“˜ÀÝ PÛ|xé@‹óõ±vÆŠ¼C¿KIÆFÀ-%”  ¢øtWþau!ÃÑa Õ—†@’:v)ÈÇïnðyéÄÉ·Á ¤.ï3lmò#l;•™Ò†¬èü»W é8µá†'œÄMÊU8Û ûll¼•ëÃàö@hpæSõ{ x[e¯Þ é,çÞáUy¤à ]ª í|n¡‰¾oà^¸0Æ›·6¡ÒÍ•Xq§3X9TyS˜Ö.JÓi€ÙãôqfÒ>WÄx_½ˆ—+0ê=Áp€È º8ZçµÀ¨”0™ÂàÐu¸yh½°Ò¥‡ûÛèS´†çŠ’F, pïÏkIÏ{g¹·Ozç==×Êž_¤‹8à®Æ<’ulÈ4êýªyÞÈÄÅfþ}ŽPjß3~7?8·|É«t×½ˆç!³œS1C'EC\ŸÊnOÿEëÐNËA¦ÈÚ?§[ýÝq빕Šáã c <ÚYÊâÉ^&›ŽË–~÷|ù]ºÃK$?Ki<7/üï÷Q×Ò"\,ô™— )ô!H}[Ü©ò~§ËNÙ¥ž{Æ”b·úã™c­CH¦aVgžïD¤î õ” Ž"9Ž~‚ä EÅÊöˆŸ›ñý ˆ\šÆºã¹¦õÄÚƯ¸»ÂÓ:Ù)c1,S'¹'iâËg/Ÿ#¢•tÆhºò‘ƒP(x7xS)Ù'n<é•ß@Rõ'Ƨc çîΙQ¾HqPúú08a1öy𱓼d²HÁ8û3»ÐJrœ×îÉðBk#žši¶²Üù\Ûp~¯Mu÷Ìè„p‘ÎPÄܘ I•7ýº\¯yñ§gÜ/ַް¾ßŠ£ ɦvÙHÿ½¡­Ev×M%oÑv'ÈEÆÉ•6jÞÁÉù]zZ&n.>M.¦Ž “.¹ôÞ¦O ±±m`ÌÇ›¼R±{xI0UЉ„ï³Ã £²yCr·R¾@˜ˆ©ì£Ì ^͇De\Y{úgqÌáH9]&ÑWõÔðt?v·½Õëñ<†v[h4£ëÅp+Ú•†BçÔtØKD`¬„>cF²‰ÀcËÕùèN)ªÐËú- Hkœ•°^`‹ã|ï>QR“ŽÒ±èµÙ, §»F_]˜š½‘Ôt$ÊÞm2W0vW¤™ù©bÊyÊxèXÂ/Œ–Ò6ÁøÀ·ä*…æ^_¬`Êš9¨[b?;*óÉ]©ãÍÅød³†!Ëð:jlƹ…ºt¸p“s‹\ÌO¶¼þ ¯FdÈ"œ˜µ3 Š{ÚÛÞÔ[ªÒo//#ÝWÆ¡1e°È'R‡¥üäòn…Ò׃’K8#÷¸8ü¢Y—E1.~ó¿Ji: ŒK«ËGŒªaå—’%Rb•EoPE©œYc–bÓR,ã ¶fŽ Ä@psÞÊ&¶Ø/­)ß&43ë»™D2ö@c®®’€£hÇß^ñDòX?¾ïÈÑž’)C^Ž‘bcÖàv †4Êç4æãè Èmï«,D…Ž ¶YHœùˆ§¾&OCH‡“±Í£IÕY0Q Î1%`Çß¶26¸ ßF…X‚º´)‰Ï-"². ¸4y‘ ÿ¨w×:á J™OWÂzǾOËYØxÌ6.µõ'ØÔ… ÜêúnhÖW  çg9hS ¼aN|Jyê}©Üîõ7$ÊÄl7`t%¤MÀ팚`kHЊ7ã;Öv…®3ÚôI-M“§–pO|/;‘á¡&DçÑü}ó`Þô£Ñ7epóøÎK7MÖ¾åÌHF·¿>‹ÉIãdŠÔ±MĹÃÛ†ÝàŸóOrjtéó… kçå­4h0¿ªV| „ÛZQ‘2k Ò@nJ$jŽv-3NñzìoÀ “ø3›6 '@Q÷òVA1®þ¯U&í¥§9WR'‰3¡w„éµiçÆsƒ­`SJ«D¬‘áægD:À;àS"†8á5ðPÏÀbéVÒß_rX!½@ˆñW„óý–ð®è}é-Ýj,áK3M´Wå¿× +ìî¶jI(Ä—Ï*'¼ZK­$O¦žðˆ™;P؈„Và‡.Q,è-ô)4‘ƒx¢!SÂYO„°‘¹"ó Âxæ;üfÐÆûT‹1Â9ÒúõŒþ-Õ$•ô£cÜv%—›û‘СåðóçdIŽÃZË\amÞo‹/l—îyt¼^³ù‰— œ!óÒ×qŠJ3ÊçþžkÖW­ê¢Åê¹û‘â¬H§AXiá¿mTû_‘Òù&“Pj]©7ã[>¤D³£]êü]ŠØ2äðãæ¼ $X03‹†Öý² 5IJ0­¸PgG~@kçïuЬ­£Èúš@ÌÄG`;ªq³dÿ€, PàV´ïvÛXM8(Ô\ÅËÔ|x†Š«šÚ5—¼„ʈ}|ecÎ×F°FOÄÌ9Å%´½Òë`_à8Ä/ÝçvV¿zÏ,C/$ûÑÑ7{ #O6;ëÞj®Ú¦›!HVTÕdéH óÄ:`l—]›ö3îÇ-yã Z{é¤Vã–k|½°mk\Œk;úÄÔLíXzƒX­A >Åön±÷ƒ‘º© jýa‹9?Æp¨cÀ°àU±Ü0!…ŠÖeReûð4 !,FG» O»DQZ˜”—Ãà²fpEÓÇemEÿD=½/UFz„€uV|/É%ì³ s0ˆnÈ`º6³¡æHÁ9’]ATåbÔw㢠MqeÍot2*H²ýQ= ”ç?8W)ËÈgþbñ œ÷ú›±W•H©í¶Ï¶A¦á-p4CÓùdêò.ÎË”½œ¬aíÚ[ÇzþU-µw1¡Ê8Lna„n=!^0]°6qÉRKP€Ûäe%-g &¡ÖU•ŽÖ¤bS6ƒE'iÏ“ÔôVw+¯ð]Ô5§š+ˆ¹Iìù\¡v@ž³Øødšj¬µ¤ò`ABÇÊX9z^šÙ“€Æ¼ ÖØ,r 8ÏQøˆìé&ʶdÜ­XÑwlýéTSàϪ€æ•MÁ|uS Çúúk7Ê’­˜÷i<oè6ãíù¶÷¨f(È Ï—& ]Y·¡H’‹=ÇØcd%öR±ËoÒ‘¯eݵۋò£êÔþ'±/;÷‹óªMÑÜ– ܉Ȯ(ýâ~ßm½gÄ·ˆETV׳c1¤m×…áÒ—Wïüaèdê–\)³Í÷òd{bo¢;Ð}] E‡®ª4a#,¿èàæ‘Ž÷êEI?E=<íF Ïñ{í®å‡ßÍÓÞëÙ!(.*©Ã(ªá)ŒÝ‡{úq±¿WU] …¼âY•Œ•·qkQ±‹tð®”Î,"¬!ãZö0 u§¤Œ("²íŽŸnmåÊÒWØ¡O@¶àz™à¶Ê­Ï2´=ÄlºÐ`¸j1¢DvA™öƒ÷•Dýr m„êÈ›¥ŒY“D™B Úxd¨ˆ`y¾èߪ±¥M’š&â¶»”qÝ ð Å»†Ä3åñ‚Þ ­†ùßߣqÁí%Uê PÃ1KÍÕh"èÖþZí[ûûR×}”×ÜyP»£ YIá"ÀÎ-þ鮞ï¦0bx2É—É=àg˃Q»å)ù§Y„Š@Jˆ˜ýȶ™Öv7á&¶ÂvÀ>=6²àƒ/ÖûN!ˆY@û¸a³1w#ƒ³Öž‚„…ÔO5Âì]!'êä?¦èì~cßU•¦æ¡M©qÏ õìÚOéY^í`:Äš&çÛ6"i`æ5ö ;Üdø2‚a^h=¨ÚÏoéÓf2©¶ûSÆ~¯´ÏV†‚Ì€œß£6·‡½ãøŸR__ܪ<=‚àïfhuŸ½@œƒa'nèI¶JiýÞ‰ P±¼ó‹ìF›C ENßÿpd÷F)¸­îªG¹8×ÇøÆ‰“öBàÌCˆªÔÀzA[u±g—‡ƒÿìÄÁ°âS ÓÒ`oÅü· Zôg¦[d¥‡`8‹ xËk±Rç\óu)‡˜Dv-p (òЬZ¬åÍVŽ6þî!«!m%ùBŸ<]‘ üÕÌ´‚‚žÝ¾¬è‰—¿0P¬ó?»‘FÏüä›÷³ÀáÊ£Úî3!¿eÔs1Õî¸Ç~§’çsʨ(ÌÊxâˆà¨ÕRï”Á.¶ I‡Û¹`¸ êÿïÔ½SéL²:qzý‡µû*Jù oJL C((}„Q«c4Y¾.¦ëä Ȥ£*šü5õ„£31gæµÁä:lÙŸéY`Jø8š$¼4þ`a£G’¬/…áHŠÞ—1É'½m_×JP‡cÇo³ÌÜa¾rP<;ã)>b_xvàñS—À*¾–¬œ<¿ÒŽâèT|…zؤ/Wö.¸@£”û›ÉKs¦K_Éyb¡U5kfǬËù™³/eŸÖrìÝS•’Då\ ~ç…QÈF¶Õ‘Ý0928¦·¥bxÒsx7í#î¯:Á˜{H@ úÆòx|°ÄwqøüÇJÀHdmÐÊjvdÜ¿à× ÷áÛ|ÞP€R¿E”{|7>½ýÃã¸Cê«6<Aˆ†Ø84ï,×ólÃj~$¬iB&<üÏ|ÆÈ3¹Ô?Ï¥>N3Áò] ’¾žÙÛ%ê Íû xu<2§E6Ú¾©ÿös;¾X-b¾!§i ë⻂VŒÑœhYMIä²ä,"+”’8 öl67\Ã.Žõ‰žw(”Åì·{óòáÕCZñ‹Év&ïo(=nÈÞ~AÄ®†L9ùe#(ANù—«èå&Ý}j·‚09\È´$1ú^¾ì»ì`Q2âCúú|hm­®«ÝYŽ $$+ÛHåކ”ÓR\& >í|¬Zù&Qì—jiE 9¼ÅFøk.™öÑö$ •LñÜlJ9;¹(lØ{UZœÐÔìV’\”XQ3¼&ý£¬†,:ÑçU³€å>‡`i‡îÕÜCK5õˆ÷"˜]6Ša{a / dÞ&HADòÉN4ª¥ìÙ²c·ãÀ{$ ¢ÉàZ“áÒ“øF2×;©*wíZP$TտνRo…­¨kϋքœtxzàR]‰Ô~6èŒ.9rï¼N³µÎsFå¤ yÁÌVþtïßeE¿)0èÇ«)J¥5HäË>±Û8¥Göe扒JèÝÒ-ãU­ì{­¼ÚßÁ1€¡hÔbTÑ`°ËÎÔg àKÄ”ý ;¸^õÊf ¥-³ŽÞŸƒÜ:]ÙäK3 —ãQ~D~8)Çj8 Þ²ÂB´®–G.ꛈWÇ\z'—žã'PKô WÛiŒ£=çFRTÎ)AMÄF ×îÃ¥e…èø'> b;x'MGu¹‘žô K;ez#ΊÀ:×ÿP{àû~‰Í˜¶qŽH¬¹XâFÑŒƒ àWW°d»ž2üJ׎¹…χ·iHaŠ£v?ÀÒI~í Å”"}ôuß  Ýn¶f댃ërÞO…@_ލŒT‚r FÕào츸áË¥añÃäqÊÅæ”¨ØPÕTFàP$Ë+aH!~ÚY‘Ž—×–Ë˜öØpÜgÁçšiS:™Oi@ÌÄ!°†Ô§«ñ×3X‹(~t›úöü-ÙNØ74ZËH+FT[cä5êq^¾…DŠr³ÄFÓ9èÂt1½9E†Û¸‚$ÿß F´ùþ¹M=•œbL.ÝÇ-MawÀŸ× Œefx Ír_aŒÂÄCÍRw ·º¾<ímsJ³‘Å)¶=Oº’G™øà’þŠõ ÖAA|׳‹tËRrÓ6pd©Ø)øäµqE¿ÙOn»¼Ã3†&a…\Ë—Õ?E(xåØjaÉA¸1åùx~›Âg\½’Žp­Ci&_¼læ\»Ñš¡"WÞ•mö»8誩½ÍfUH¦íüËhKÞí”­ÜgÃÁƒý¡²ô'åÒ¯zŠÒÂØŠŠDA±ïª‘¢†uÿ@Ý_o,j€», _„S… y·æÝ½4û_À²&­ý9€%½QEXX…~­}B”îfÞëÎÝ>ÎÁZ³©¶ó” éåd _ûw²‘à22AâVÞ *M,%­Å,<Ü·¶ò( ²‚WäŽÉ˜êjã {ù€|gP†©dÃÅ ´a&£äÙW´Ûë&eRÒ0]Q nöWÚ"jƒƒR@ýnæCå½€d b‚`iÀ“vPCõ:¤0‰ƒÒޏÍäÀñBÞÔ}-"Kž¯—B¨òÓkMH±ö¬0Ô\stõûGkÑ]3©Æ»ú;¯Ç[nÅ q佟ë¶ÙÄ1ýƒzv•øž\‰.Ò˜MiXý>Ç&Þ¯kîÈA„£ò‘²ŒÊrzŽÉ¡4õÌ=ÃËhå½ÚœË¢à[3†k¼FL¬paüšéwŸ‚·³ûAƒgÁcšÿv0f ]zƒ×…-b7èÂZ0CϰÐÜ¿ V}¾É(^¶Ø'ç«áÆNìøTÑøø‡áx•¹úU!{ZH®Ì©þ$Ü™?Þz$ìIIZ«pê5“p¼É8½öÞ[±Ž}ž•¨›RÄ«t:"óèUK/nÇóúñňáµWޏcv›GDKŸÁi2m¥,=‚º¯jyDžñ­ÿ`ê,ââ,sár1oíVá›ö²X7 _.È80ñÌéj@Œ>"Ã@à+4CçãÄ@mËò%ê¾>»ÁU;­V*éz ÈdZ«‡•ÄZlÉ×Ͼ³oótÒ Â‚® ìù¡ð$%×À? š¿aÖì¸:±ó es ÒΗ¦ÖßpÏ4ñ¶ÀÊ >4•†o?o’`ÕöðuoYïp?Ÿ¸ÚhT~†z&BØMr`m)r싚rø¼ ïpw*Do6å â÷Â%.ë .1ƺÅÕƒ ¦m(E5iÓH‹áãËb RâSwð­Å;øV¨œ¶ü!(EÀŒdªôTq³Uƒ*åÞ§=&áÛC[:ºÞ'Ûy@åyµÐ!–LoŒã¯sÏ áwÙQž­C&Ñ 9X:n{tÀ—Ñåüáv«ê]ÀW%1¤µ,,2†»çPëºåhŸ… Ñ};«‚ ›Ä%ŮĸÂ=9÷ìöî(Ëê‡Âkœdc–Çü=v>é{:Î0½ì5 zoãØóš:wiún`4±^ÈÝ)ÃE jcˆ‘ s;íÑæ`%2ð}çPW”özÃ6GÙ$€”[¹íñÑu½ „$*o1@Q’ôM1˜{gùvÌÚ]ë¼WÞ¨<È]XB†ÂöŠ#9?¦¹¸#™(Dýˆ«9¶~ܤùG±¥‹³&ë$VþMÒr½ú…dÖœfÌ=`dñGë¼=У ÚTz‚o>Ó@&Áɳ žr©¬\}§¬¥“ÖYX$Ü—:JñĹ®×}bŸ°íoB¶!ìçqä øJlŠ2ŠAQ~‡]pŽT¿P­Ü ìÞNâ¸yJƒæ$wI¯¾þ€óE-Œvé<¿W¥¿@‰¸Ñ¤»tK*L¥9n–DWô£¦´P¤l`Á*( Ó/œš†Ö`çÛ,7QÍÄÑe Îi“ “¡}rúTc¨n ¤-€¶÷G7çÊÉÃQ´ÒÃÓ-㬟  Ñ®e— …A©ÆáÎð‹äAÑ×Î#’ØØwQLÑo(8jD…%̶j²FøRO³9íÚl¾áÿ {òÐj0ŒÓF ëõå! ªNŒ“ìrгÜ3ê³6{œåÚ „¦§^Êc=ãPö½ôŸ¼ÇSÁ‰WX“HUñæ‘Z =ËÜy™Íèoá˵ˆm—‰hHÁìñDã°ïÌ®Oþ˜(Æ=_Q*iª€£]õð@°UÂc‘_ÞdØÉדíç¯ ™„f—÷T¨Ñó8èD<ݺ8 ·ŒþÓ»`øÊà­Ýõò\t˜¦ŒaѪ L©§BÑ~L›‚˵q–Üd¶Ô'{fàß‚ª¤çï/eÕëRå™+cìÐüŠU-ø¶<éξ=Ž«ç”%´[ªäžRôVÇ5JÆSüíÿå81¬UÇÄÇB8t1÷y+ŠØÐ`0‰d4óS¼cq³ é¥XpÖÎü§Â'onTU ’—ŸóÉ™K ÉÐ2 bzÌ[`7-Ò^bÆÍ2¸WÌÈQåþ vü»f*–™ü]6V’ø}Ou´)íÈì©ñd]\7¿6H>ƒ~lZ!d|ܶ Ôu&ëÑG•ciPIXÒ$ðDdFÂcÄŸøFhÌÕPNJ5  ¸æ¡¯5ˆÆøH …–®7ÏUa·:k& F €pþÅ2þÐg(ø£Ã…A”ƒOõÙᛇÁUO¿N‹ ÂTýLG8™±… åÐJE­W{µQ×ý¶Øóóú†yÎQ=¸åÇïeÕì 2èOsô0{æ3fRðd3Ñ|xåkß›}B0xÏO&FÜ!¼XV¿\SåÃü¨ë¹=ãÕÉbTRª ªÇ:,žndj DÎØØ“äÈÈ›Q‡6-Bmž=îÂI%ª@†ÞCEZ9æS§Nì‚ÑmnöÏÇ|ÐŇ¾¯*ËÞ·Ÿ÷—¬æ°&åâšb­ ¼;‡Yôhаe¿È ö¬vtEðÐÓ‡ÑÑ•3ß$kÏò¬•Ów,@rd‰%žæ.>ʼ› L (k¡k1påçÉð³õ)ž°ê:@²¹e?&:Msr-[ýÎèX9S‘ˆ”É:+ašéE¶=‘ým©9ÀOÜ ®dT„<"Öc/S<{%oó?àqú‡ËÑqå„ÏŒÜÙP _Y‰QÂ.]¥Õq‡o±È£9Þ¤p*é(òD“Š}0æN ¼: 0J2ª‰¬Àô8pOΆpŸ:î_T'84o¢oќÚ()L T§[äx#h=^ü†Ÿ*€W˜mê ú‹ºZË|rÜUÑ} m‡ïóÏŒ:õ[¯ZüþÝÃ"mcÚB¤ù‘GªÉ·„º„g@ª¬øñý÷ú=­åi¢ ²€\žw¾ 36ãÞƒªö,¾8µª”R¢þ@ç×ÉÂg6Ê;Ì/QYhj&ÅÉJï'3®ALàÿE’‘n#žºT±(]z×Bßµ)š©ðpÁ¥Õµö”&åL",$‚ ®øµ4˜Š­Çt>U˜@Ö…¾°v/`“€%Z‘Uò] _,¢mõ•'›ZÀ$ÊþS fµçx^ñÂ1¸r$—Fîk´«`f0PàÆÌHãö†Ô¨Kä°QIÕ@aðírþÀj~óîÑtÑÀ.¾Œ¢¨²yTØN ïRù,p¡)»œ ŒÓÚè…ÁãšbÖo±Ù˵¬ìþók•OBÿä[J}eÝK§nÖC/.‹\¢­  €HÖÖß.†èí\ü+ÛE4¢q½Šçë|äº 2IH‘” ¾û‡=ßV--qeÌõrþ@ ‰šéI$Xì†n”HK ;-•…Öõüη@×YgÛ«c–<®/šÀ¿ s¦SwüèýîJîÇ&ƒŒg¤h|p–÷>Ip%a"/]ôc^C‡<–ÜŸChwÉDÜfe®vÀ‘pŽ¿y—qÚ¾ù“AØÔó ¢Ø ŸQÁxp[‘»D³¾V`aÖ‡!H؉ý’7@k–ZFø—ý¨aSæFÕ‹1ÌHØÄ®ó0•Ý}„Oä8¤š`%òÆsÝ`ù­!°óïAÜS§ìgfªKäšHmÕ9ñUÓ¬®YðgQ‚¶K•exh·Kr °N^"[ Ëņ0~›lÞJzy« Ù„Õdãm‡>¥q(ç ¨äÝ>ún{”PhLk™àǯEÀ…—\l*XÉËý»vPH¨o ”‹¥.H‚âZ‡Ë¢Ü>áëD R6_–[·@‹*ª§weâZd?ÿq0=Æê³KØÖÅã·Œ"G¥mH[ܽ¾Èþt‰†2Þ¥†,"Itg–õũµ¬ˆ{C¾Ãx+ÐBÆú*&Ãú‡îDȇŒøÙ%’ÊæJ +»¸KÍw´6¨ 6ø¯Â÷›J¸:%äSkPòEy}£wœikÓ ‚nëäR5]éÃ!C tkáh9Y»ç¨?æ{á'2uÏ|Ëi¢e7è2a”a=QEEõù:UN¡û´Uï‡^‘sÒd¯ç!  bíµUocèçhbðKR˜¡pÿÜWì ®Ö¹gDÜé³MÅNîh¦x‘X0rˆTGQdòËxüFšaN9S$-šßBXdö*ã|&aëŒrÈ]cE²XUÔI¤6?|^Gœ`=}¢š— •Äç˜{å« dªºîeÃGÄÝž)±4&Û7/ß”n%ÐB6f­^u¶î¸’ìš6‚G.sw~©‘åø˜ðsÿF q£*_¤Ÿuõ’5YCÍ7cbÐ ¾%ÑLãœYE÷Só­ªqõ9{#uê1Å·uøÍÜïÒùú@p‚•sš€s¢þqkŽaOm}r3)_£ßïTj€mþ˜ºÙ¯ZÆÄ먈uã8ßú«ªº†ù«ÓP£?úJK×PŠåÄ,,–fާu‘kVNE!;Í8ïÞ"“€/m~ZÀ:ˇ…,˜$<(5."O ^¤b°ŠÈÛÃK'$J~sÔ¤ > "Wâ-Gzyd‰F÷Û8•rHM|¸ÉÔÕ§U@D>ÿÕC¯n“Ý%B!ÐÄ*Ê;¢ÿ~O>,Ý,l$Uz8SN®‡ëJ£;4Y×kAÅXÞñŸ++“ë:´£ü[æ=EL¦ ùj^]Ç~j6Ïam/Qx†óÉóºøøfmŸè{äP›ÆÝ3Ó$8~`a‰‡Óº®stŒ‹âXžiRæÆ n8¹ÐßÔþ/(´ÖÇ£5©`½?Ÿ$”G°ï%ýåKé˜S¨±ªœ+œ.X¿ì&h•×Éš‰ÏÀSþþœËÇEaoM‚¢¡Ç䃻Ÿ4M9`–Ù‰@†øž’ Q.A!“™{¾ÑðF³>¯¢ì5YÂH¹Ú„ôùI tÜÒ•Æ]2GÐÄFbó¬†!ñ09ׄV2ÀAÏ]ŒÏ+4F¨¾sóì”îYv[Ì$â"ív9ÜÇú0v?eéý—.†ŽõÒÛõbB§Is#¶RÍ_‘­Yb9$iWx‹{̵ÙtÕÜÐÖÚçsŸ’ÚmŒO÷\û-(ƒBD:rË`‡ü—œ2½¦™Á 0ËõX•{´-£p°ŠòuIOvbQš“‚Xað™p9œU,x<¡j‘Nk éãwóUºà[ÖTN ž~wY]û­È%VL9€÷ŠýŸ°9CdÃc¨Z‡j÷¢zO¨¡Ñtëž^%@ab#¹i†¶@Ã5ЮBbÛf#ýÍӜޯ¤ãÔÍñ2{ìQÏa’ÙûBûDG¶²±ˆ ™œ 픇¶5Þ_…ë¬%KqMDç‘·z¡=–ýä”.?²2G!ä¡Âî}ú´®á·"]‘ÅÒ²…ª•6I×1›ø©;ÚŒNjgz˜Ã›‡¹Ú¿ïè#:wn™àd“†¨Y„•w¹“K“º‚ÁJ•aú|Ÿ6re¨höSÁLCoÕ¢Œ)S‰–›ï¼)ßUáµØ(PŸ,•dãü|´iÖ@ ¤…-­\¡gyæ vÌMÂÎ@! ¤4ÈêÀh •äÙY¨å³2ß2«xî }ëÎØªèâ•Ìé5ÀÀL[¼ ¢‡x˜–›È`tÖ}EéG,D)Ðö-nFvcAÄê^ÔÆ5÷toX°¸Êídlª¼Þ€ ­µd­O"öèx¯Föw³D³jÚï÷wè ¦ñ^$Uõ+Ò›+¦pÃ}dA†hÝ8ìÆ’ØSA,Õ_ߨW¦!NW8qöl©[n†¨w>rº£×6Ên:»”…Ë’¸†¨TÃÝ å"Òéý÷4݇‰…•j5D_móQÊèöv]_ÜŸÝåÙkŒ¥î1~œ5UP–BMr§BóaÁ n5„¢º%B¬åâpllgÅ.ÄÕµpK°êKñûö›Qƒo è)¥a朽Œ@E5œïÓÆ›æ 4@®“ob/¡N!œ¤(µƒãBqTmœ¤S¦¸Æ4ƒD§Ûd*¦RPµú9ULä€ç¼™ÚÖ¥ýƒ"Åt(+‚&êu—ë5Rk‡JUl± ¦1‰°A,³ Ýçû}[jŒîÅBÛýJ™;C†eÃÿ6 î>ªÓ¤$h£„×^ýÛ&ÿ6ˆLŸp”Ö”á51¤Ýé)ßö“Ä€Óp§@½çjW Ë.ÂoKtxÅítn.ú„çô,Cr÷?–)%ÿ˜]Äc+îjœL{:ôí ÅÌ k•†;cÛw{‹ÕHƒ|EQvW†a͆í)¯åƒŽ dé¿:} ËCgÒ};ÐŽN—ÙŸ&‰<áÙ€¾U¦Û`ýÍ[ccÿööû?sÔ‡(<îtû²ö#YÄyì}†›žP¨× ¥Ý¹ÿX’¸KaÔ†I¸S°å¯ Ùž¦¬‹ý“»E cïrJAȬ¥ûáFð˘¤fªc½‹ƒÇE—?´øÌ—Šr ‚9ä ;¨þ†}'I¥žRÚkEö­Œ¢¤ëz#¡ErŠ@š×óé>—óåM“-¸» œíð©#M¦ä}6úCÚá­¹5ÕbFi¦â?×l(j>‡F « “tNÞá”ä$^¾~nÉþWújèÈýï–TIyT”š2>·–ÅqMv}²¹ r:ø´Óçô™Õ`™:Ò'&Ñ~½Ýã½Ï_ŒpÊ!½“¦ãQÔ¦Ú6øU{C3ì(žû¦~£Ê§:©ïÖ–€hB¥Hl´¡P˜¬õY; .ÄzjÍu‚ÅzÁˆW]X /5­ÒõÙŽ¶PágRr8ãÑûì…ºõÇu£Nw,ýQ7O× */á…ÔV2é}gxï¡õ§‚ –®Ž,nÀä©KÓ=bŽ«_ÏMÆR—9åmvÃùÎÖ&¤ÎÆÄ)Ó`té{úÏ}±Yß©XÏÙʘtYEO9/pȬ·’2¬Síoº-YAþ¶aê´RÈ#J¥÷¹§í‚uÈq5}ÏŒBÊ›ç öÚâyù£7‰˜½à Î_#¸¿{M…ß#ünÅüJ¥…ݘF: %Šž”Ê_ —ÜKnqÊÍÜÕ®‚ÿýþ >Ê—e,É“zІ˜Sã7•ÂU°S[]³^¦X zD®\jL&ë~c€"·¥KY`Ûð&„¨Og¥¤§4Wá€P leUZ÷„N{¥Ž®+::ïîi{a !S™9a¬8^S'RÞ@:ÜéHS3;&Q‡çãl@‡pòŠW?„ÚÜÙ©¯I÷pÔ«"dh%çD–(»%èÝmÚÌ'a¢è†­ÓЖBj}SPa€—‹§°Ê·8(ÔÛ4bujNŠ­'Þ- «Û¨KpX_í¾Õ»;†}³HÖÌ¿ºšµý Ö¨¡Y˜Ë·[›°"D2=°h]”ï9FZÍÊþñ¹Pª™48Zn~F‹»÷+É÷Šö„ó ÎÚ?ÂÆfÖîK¸&EN&Ä ÆŠG"vËcåæÊIÊáùb ž^Cù&¸§øÊ#Q–üæ?F!½4„#2*i0RR¿>ME}ÀBPwCEõ¯:ŠY§³è¬4¨³LÔ²¹ÿB+q‡Ëg1…Þ³ë¤oŸj’ÓŸMf$Ø9êýw²Yç þ<À­=½Ö‚\yEø3ì겄‚CÊ{¸ÇÝG¤Ûáª#£.‹îôN³¹ ÇÑÝÕA倜DÕ~Pðè?  =ÝîÛÞ0š–‡öú“Ú ùÖA^En? q^Øí¾¿Áu—ìÃêõ qØ[.agóگ⹠Mæ|ç²bhŶ)fÓÍÜgø ím  ÎÞ ¢² #Ã7=¢¿‚Ûþ“Q×8Næb Êëç!ìCÉTÒcaÑj©R¢æÉ(Ý ³`©g@æ®M‚¥UÎðåš ÔtNN3`’²uaÐJ*Š…0T^AS‘n x«ed‘‡Dä¦+Ó×XáÅFx— çE¶%£þèpäÇ).… U8Á·¨ú¡~þw×šŽ O ˜¢ oAsÈ}£ÐQ™®!¸²' 3‡L­<”ZðIÅ6‚–†[1j}N‚Ì´¨¶wíÆ†…þ=ÔOÎA-BXßWÿ9h5'+MÙ?ð"2¬‘+á (aJ³‘íÂ)ÁWÊéøÊ?Ѐ¦*4.:í©ßçOE#jPZ/m–nü~°×³WÈtñ4›Ü½6ø¤2U£X6¹`Ò ƒJ„éÿX3'Âî×w×°Ò\;ŸHw]-Á‘î2³¥Â H/òÓÿ^%õhxfÅç¥y•­Ÿ$Ë\˜1~TÏ‚YMJ)ä¥Ì’‘×—21ð[cc˜—À.Zl̵M çú¦ó—Ê€Hݤ5=Š’ö¤>ÔiwÈ[$+ôz#§S܃ü5ͯG´¡íþ·x3*2oÖ¤3T¥«›È»Iü° 8£™y20ʨËÛÇ<ç¼C1c $xü$R-@^ñGšbPByÀ+*þÄn~ЪÑ`m«è|n«±ð§?æîJ!…îyV~ô”J«ºÙ?ÐVÀqt™9¥ “øèæüHdÔÙºf? -0‚Ý–Uqî9ÃØY’£»èã_¾<˜œ&¯aA5·÷á$¹Û8Ø÷U÷í÷ž}}†$ú?*²y™pcŠ –OÒ%@­¦'13 ½¡!æb‘T©ÇñÕ!¡+¥H‹¦áˆf‹u J%«¯epAÎ0_^’Ø6Vœ7Ðá=؃˜¤â ü°6H«§r릠ñ7úHh®f‡•|HÚ!ú“Ș_×u¦qòR »ýô+-?û\·Ìen«]¢¢pÁ@&ºeΞfb•2ûðmUc0]Ñ$†vý7Lù$¸ŠD ‘¿;c0ò ±ÔÎ6ôh\ïH²ˆõÆÒÏûXÏö»ý-ÇÓE¥ˆ¤…¤Ä©œsSf°•_%ž{m»uÚ¦™¨˜ããÉ‹b¶AB-ŒTt€QlÒõ<äÊÀÍ— Xê½YõS+”ck͇Šq|)±vqPUMs×WœØ À£g&ˆ3û“»xÁÖÒ¯ Ô*xÔɉ0x<‘åê^*A'çdí?§Ï¢ ×1_èö˜`âð$‡Ù’›:FZC., Wƒ+[t üΦ+asŽÛÛ…Å´)ˆu¯nu‚ˆÚnÝórÆòPW÷®Ek6Êൢj‹>¶:A/-Ì,ÊÝ–Ù@ãÅÈ'W1ezÞvÕº¥Äm¹;Ê|ENDÁ-³MáOroÛ½gÓÜør9BÌ^¥à M#æé›2 3wÚïÓÄ ë¸<ð„Ëݱ€lòÉHa°­\ê¥ $®ú_¤¶.˜kfçgÁ3Â|Ò3#G\¬»á$VØ™ZE)CÀÛŸß¿H¼£!s̶3î,KUˆî¤´Ø!Ðq¶Ð1ä¬ââPád‚m}’õ"ÚúE4S/J„xP5–¼»le®2.¢²jcó ¶‰gÚsèœì`Ê6s£€¡#¿/L4À`†_¼8'|5¼‹kI0×S„°•Ǹ<ùü,¿ÿ¶ÿlP` üøß‡¢ÅS7:âZ ¢Ê—F¨žl;Ðà˜>£þïE*Öñ+¦ÂN(-­¡+à ´ÿpÏy:æ½z¼m–èˆS-[%ÔÌd\J##rØÍ$3Ôq^0u>M†…¾ íäm4ý‡E&¬®ñ: ¯™Z†»4Ÿ.·IÖAëlð±ôµP¥A(X,°û<äIÓZ!©v‚N‡e_5ã²9{9v¶‰*¢„‹ Z©WÊ>PdK¥º¢¦¦Bº¸ñEV†]@“5:€7;‚{Ì=ôa€°cÚİ{‚+œ’ko ]Ê~[ÄvÔ?ô*¬ÒŽZ$¥ CÔ ú)ùá4·¼cóÿ%°TQ g™–`Ð „Ü4–Ú.@ó`ö~¼J¨vw Ìàf6§DO…·»½Ú¦âbªƒ1èoá»»éW|¤d±»-ì<]œ:´6Ýa7=²~!ÂÉ$éZ·ÿ÷|g¡'ǢźËʱ¸Mø‰~pþ~˜5—Á'_È÷0dm§Àt¹ìšõë+%-Üòݦ•´ˆ¸léÇ ‚ÄÖi™78[5×¥¶¿(U“¼Ɯ܋{S^ š2eÕ2"D¨”Š5.´„üvk´ˆ*0V„óo¸¬Ñ~ÚY‰ÛЃ{`üåmÆj‘Ë”z¶×Á/wôß÷§ßŠê6É÷ÿ‰Ûžq˜•·{=‘öå`^ :Ô‰omòÒ¨2,BŒ€òhö)ÕßÌ“ü5:xëµÈ„¨(ͳ«S ω`⃠;¬]ØÜë«îά˜ãî×-­Û›j·€+—òAñ"ÊÓ ’—°ü÷ë™'ɽÃ’¿X¾æ…{Ìð&ËÞ»Ógêú‘*­Ù²Ÿ"V¢µ 1â,QÚ >W0Ãfé)ä©« r×\Ûg}kÿ}ТSúš±‚G“t IíBgýX 5w¦tÂ(U:aoø2Û,ÆúÈ0ò>‰ó¹§›‡›–`¡ÊaPêþá-°%q -À¸®>b3ãî$¡d¹ÑÓi/I÷2º>là¯U)渶аàQœøIü27•hk{ÏÒßù€áž¶ QlMà(eˆJú§›s´†ÊD-7Ç\•5Aò·™³†…µ™‡ýâÕãŠÝvªMYkÝ?Ýj›Qå(‰¡øÑE :güöÈ Ñœ:äoéióx¾s±ºzQåÍÊ_Èiñõ,ÅÔýý`)ž…º’ømŸ":¨#Jh£m 8–é!ÆñÓªËfDjø/st” ÐE£V© ?¤UÝu&*˜Òe·Q¢ xÔÌ‘: …8 L•`nV êR®t8E~Ȭ9 Ä®E¦BÊGuÂv®´2An Žú›*Ŀ㢘¼Ä#þqÝqÝU!ïêóüa‘-‹À³BÉk8çiÔ¬ªÈ¬ñ+Í|§£7ÃRß)«òJŒÞáv su]}7Œ/%½]£ÆèÖ2jý¹bÕú[9Ç÷2‘\ ²¼Ûð)s*”k*îá½¥ˆ¥§tè:•úÅI).§ÝeœfªÄ¶^»"È”„ƒM Ïíl0 X(å­3îªïYPè6³)rò+ü×Üî\Y(¥Ål]¹ .ÓxM1g¡˜fR}¦3“öÚHD¬T}NfEñ>óÜaWâK3T‚­ùzR)¸aWŒ XPFŠœ6,zÌBâ*³9¢ÚÙ­\ëyZƒ¶"MFñoîev7—0eq¢ßÃR'OÖá˜?ð@¤™Hþ¿¦´e0’â´š¶o“ÜÑq-›@`uT0ÌÍ‘”» •°¡@'‰Rxsr/ékô÷ÀØ¡ñ®¹_ß”pCD‡µ«Îá *†Å«€NõÛã{l ªE0¾B{ä2dÇ#©õˆŽ€Í‚÷i%‘U°‹…¬Yig‡;٢ʳ=Û›ÙžÈXUߤ+lêÐ_]Ì×·’SÕ¾{¡°e@V èÊPØû³ï»m«²›ßæ(ß¹öS¢¡ûIÐ,áf]¾`@¨Bõ Ñ ¸ö ½¤ÇÑH¹ÿ®ðXÉ!º©—i±L<‚¿ºãBõD<<󑃙ŽS^p_^¿Ok\¬ÓŸ¬rÑÝ“ö;¨(/ÞsÇ@%n$M’Når[DX,EO"EÔ_Ò,Gôh’óˆHXÈ^ˆ'WЦrÁ?d挶ò©½ñŠ%Ñ@.m ®PÇêœp‡k¼‚‡:5À¬á‰$Þñ,¿,~NQJ Ž}°÷¡•‚aËy«JG (P$dª¢.Bö°ݨû-ÇR±Gü¼’1m·ØÀèG‡Ñ™”w©Ë«JÅ6¬‘¯Øf·}Y-Ú_òÆhèM1cËaÃ|"w: ? ¼äÒ)g‚ÌÓDµÏEjýB`2/Šõ–¤|_v8d Lh(Ö` Ê7Ûõ[ð4•R£¦”„F‰Ã|,ã§»[è|Üרžh³5ÝewòUbOˆRÊÑ^ÜûyÿáÉ€7֬ė|‚]gÕE}îL§G„}%^(|òš ''ºèáNì§èÚ쟈F7ž%è±Z »R÷Xk ¨Gb¬8ÔëÙúFR]ýoâÜšèÛf8Íð¨Iè—í=]"~¬‰~6q¹ô{Êy ”‡_)þr®¹DŸ)«„r”ÒjPÐ?–ÉZ¨ù‚·.«vÿõpßEžl?L¬á­`4¾1LH.Å/×~B¨8ËL„МwXNœà@ n›€bϰ?Mqp^G¹ŒœÏ‹‰M~ôûŸ?D«lŠÞŽDìû§ï1b„¦æAc\èìÖkÿxý¿ †.8%¥´þˆãÛÒ¹mEÇ j K†½a³TÔ]9ÝàuEïWßD)úOL£Æ@ì1‡éW ;‡x½Óàü•Ñ:>fþ…‡<{ÆÎö¾6å^:,i©Ó¼ÈAÖ+†—y&z(: Jˇy^,PV!q,ú #sÎöo@½+ƒÝóqPà|P}f‡ú\%™áêEu,Å93âẽ¦†•·§´±(­Ç|éû™ê£;ÿh|YŽfÃÊaZ -δXií§•¯”1~(cô‡Fr™D"I5‚*‚‹£döK=Ç$9‹ý$ÈKaa™Ùt]R òeÚ¹Ázý ŸUf‰‡=Ú t„*¾Wì1¢YAú~ +mзi‘QÛ> ‘nÍ .ð‹Dé vë eêÃò°|óFL¼ð8}¸U!-Hà­XX¸ 2ÀÞõ¥Ó³,+®bÂòÅøo_ù(Jì·¨"£z¡±”µ2=aŸ»pÓi*ŸÃJ=U@þK“Ük>¾ú5×­ìö¨×¾‡w+’ñ®b]ʆ–rUÓ4Œ^àY¬È2w{¡‰1Išòõ[(*'sVä¸õó¹zv˜ëIÝ?¾ŠpŠ¡}‰¿ÛÐé ܳ)éÂÓÏ^³§„ª‚æ©ÛFN0vƒe“ñøªPr­n–÷pÞ½âDRøG†k/ûß Þ;ÓOÝV ™f&4Ï3ñÚ$ ¨ÏbRÑÿ‹ì£y™_Šÿ«:Oíâ:EçK‹¬Y^­…´KAÑrŵ;&眪 c«LïâϯéîÝüt¹$ µßU%‚íC"d•NJ‡DåÈÀ*|UMðI3¿ Þ ÑsDkëlE4_ÿT¡Xµr`,ã’ˆÕÞÚ`ûâð)ȇDÛ÷lQ¦¨i‡Îã“]‡OV\¹)‹:Ú‰,²wc*Ša˜2~,(ƒV³’溅rå,’H*þåÙ Þ~ìUJdGÜ#yð~÷Ë(j2»”® ¿rÃJäìd€BÆ‘þ*,ßã²´æòôMPoµg¨6)V !¬ïÂ'Ç—®†Ð åQ‚u,ÑÍÅêQ”á^ådWfÄSg>`P_p"ó‘wÈãÂxˆÓÝ>Ûv€^ä»]W)ÉÏÚ‰å@„™„`Rد.¹aG79êœx® éð·kzª.à|(#¨ïSZ=óN¦, r²³RèJº‚ëWÙAÓÕ(á뻈Pòd Zts±¼Þ¾:(èüDˆÝ* 5¼i«õ.)nÄ—¥1Ù{goFË !æó¤.¦o°“'³ME›0œS›/X„.«΋·D$U—v¸ñ¼][š[Îu·TO”™BS~oäé“zeZ¶ØœL:9ÉÜØ¸Jœü[‰áÁܹŸœ?ÜíïÇCMr/èû‹Ù 3Ý 8«tV¼€Ùd­Êd¹ã®5ÞÀâœyøœ¥IwD1òÊ ³g†×˜ã° ¨¦¡K¤LBúuªîÎxÔ/汘»ªÑa¢›íd€Œ>@+6lgR›ÓÍxP€œQïÁÊq ;ùÓ×^íUÜ'˜ÉAôñú Ü*JY.¦·Xä¬û8g†…x’ÿv?VÖùM@^Ö,PÿNùt¨ŒOä2ŒlIú@ˆj>ßzûã ѶªÛèAºÜPDãØöh·êQêB$°—c”c PʰkËALîhò ;R“šC®n¶T{|ãä±:y´#aX³hn%- ·¤×RÚ-h5Ÿd·„´Ñ›#·ÂP”.‰1M‚Ôì´ãU†É½N1bKx»;Ì?4ÅàMì:Ù6`#g£DɪZ¦E;á¦g€·FÄ& ›×Ô~šñ•äüœø¡ÝHë oI¶Áñç"T[VåÑ›Sûzø¾¶7f©ŽØéarmÃÁ°ƒú)œéè”1p㑚ÔÙPˆœÇãs¯8@!bËT¡†»¤ÞÆÊŽr Fákƒ³ŽÒ´þ‹ãMêá]ãü‹ÁÆýîè˜8¼vI&íTœ'JéÜë¸Øø¢ v›‚»¶‘û·JoÅSqõHc>_QòÉÖÊ…Sé­´À-*Ö‹c½N†’÷µì‰ìÉÎxõýrBA'¤a×_-¾³Lg²ÿ[ñßÇžÑ7X„+¦ßUUáÇ6¥â'dPnæûe”ªÊ¥{Ò=†ªwÑFHñ×r{Ŷšˆ³yã{ÞïN©\¹ÓúU©¸äXȨªf (kd™Ñ£®„)v„ò+¦1½ãÚ"Ÿÿ祄)ÆùD »Ãß™ÔA€ý¶N™˜Á¨;×—ñªTRª(w¤;Ù€üHÈHï¡MÁH#DBóBnî5APèMÑ¥øTåµ:®j1;ÂÁ–µ›‘Ã}ñ$‘¸Ióù•[OyÒülh”åÞmN­S߆`r_|¾Îí% ü8ä (¸˜óý˜ÇÓ—Û‰ucxaâ™E™ìîlâxu¡øTXÒÌÂØ.ùÁ2nß@ˆð¶–OßU0¥Æ|ÍCvA‰ê<þ¨nã4µã&„á,hrJÁÅ1cä¦_¥þÒN­_–MçfÅAq~æÌ’)pmzÃÏ=W-)Ýg^šy}ˆ%©Èx"¿UØl>H|‡i\Ûxñ6ûrp?¼¸¶>ÈÌëôž*vBØš…mEÍ ì$úªÙ< >Û¥ŸûMéXƒ#Ð4gNg\Œ3};/ã§Tîº?¨ôT¤_'lÐ¥f Ÿù?×¶ådg%sÑ|‚{Áé)å§[‡q†[×ùÆ“\T@i;¸†¨ê-g¤¶ÿû\$ºÊÙ²ogþr!ëí¸¸/ar­âI,¦Ï´• Lžh'¯TI’×1޽wù¤«ñr‘;¿„=糖ì´óôD¥„•ÅkœVÀñu‰"k°À±ö(ÒØ‰*&X·:°°‚c›þÖ kAµðÈhæD*¾v ³0¤ÿß-*ÙËPðFFJU08"†CA§øx9­_Ä2›ø„Ö^òcë*‡Â‚‹WØNb×Óû#w®É¨S§K|³S&­H "ÂP2¥#2Ö4ôΉS íTËb»YŠáQ Ñ-ÛÛÓIÂ‹á½Øü&I|Ì~Hå¬ü†˜l»šñ!:¶Qà€ôp×¥´!]¯U[h²,søíOv¹{¸ÇWþJXsÕWi¿ó½¥¡™Y>~vÓð‰<þ¡åÑÌñÌÛlª³Ôþ,wsIðD}Œ—Òoá>H±ôð 3ЙòÎÝÆFþ‘è\ÚBJP¡—…u@5û‹š” ”ý—ã²·~(H ‰›ïÍÙNc­‘EÓ·_è L<.hƧ» #u~,z”TQHÐÕÛÓ)Os$ü¹Ò¬£­ÄY^\­“ðrÝ-ÆxK ä½<Ä.^n‡ÛCrˆÊ¨b†¾+Œì®ÔgÍ AbÐu‚i-Œ‰W‚ëEzd4JÙëôÕâåÂí„cŸÐª÷7}¡¾äÒ£4®³Å†£0:,º¯iÄ67N@͈&_Üg¯—Ù™Sd7„ º%BäfÞXM€ G}ìºì‰² ב€ÆÚeXQ[u17ÝX²‰Yê"@zlX…àÎ>’‹Ÿ§‹ORøœèÚ½ìÍÒ:}+ù×ôäÀZ©(ÓúkÝînñ»‡ý©Ú¿ðr®þŒé èþæâ.­¾6\­!O‘h ´å’¥]áë´Úêγ-…èqÍ–|ð¿ÛɹȤpŽÛ˜Ü‹e×9Þ“ø7bs`è|òÆojY”¾¼uLذ n†”ú¼õGÙ†ð­yª7à* tû:µàÔçs½õmËù­ï÷c#à®ø^|,ÁwÅZŸ&Õý"<ô2Ô‹¢l¢:žŽåsw¨C4ÀŠ?ìÌTVãre[0ìÅIå'?Ê9…ljºBE&ß³“51,T’ÅpËÏð§T9¯M1V?_U¢Á3Ì'd°Õ›ð-òï q‡iGÃëy€Þ"´¥š’(„‹[ƒû!p²“ßb'õI ݰ5MÕц/–ÜP] U¯©)&•uÍX B¥liÐ_m ‡¬É$(#w%î·{ªõ‰Þ7yRMß®¢a± °O<ÝÈWÜSrüš¿yE·aÊ{ÃðCÙExýc‘ú#Ž`Ó>ì9þûá¨0&sJI¡û•ÉíëúŒôב놉•dÄ;Øxdàl}šè]Ëv‘¤3¼I­KG´$ÿ)Ébî æ@ŒxÀG>9¸7Ágþ<ƒ©®ô–ÛÀwÀ¡-+òwv@eþÅe gçMbm7Ÿv¯…¶ºìxU¾$¯ý¸âöÆ%sž!_¸RpHfÖ‹íÓ£…Ðú×{®âÅõò²µßÇÌ·Ê*çúàT+Ôd{oÏ‹ôÕtçù/o)îÏVgGNXû!slSeÓÞߪQý“{Êsw1œD…žÛƒÖûzê Æ"{*<péh ¬6̄æÚ&Sþ£ >ú¬YCPµ£Ì#OT“~Bý?C(5t5üQð£@í>Vº›Û¨dçüØ¥ÙwÅnlT”Jv,Ç–ýûe“9­¹¾ BèbnÙqˆ bˆP•Ž„ÿ݃ÿB§’Üjè²v´øécH~ûu—EÑ›@Ê–õˆ­\˜o½Âfv/[ ¨zä÷}%,¿zÝý Œ6øF÷C„Õ ÷”AeÞâ‹èlËì“ 4»EÅ›ok[±=w#ì[JÝ•_ÞÜ kW—Ø9»|à•×µi³ÅŽ_‹Q‘öãåM±Æ¢]¬Ù‘†DiŸªRj]©ŸLð˜ć¾±ÉÄÕKó¸(~Ç´ŠÌØDÞ×ÍqU*õ:ô<Ç‹¤ˆŒ™‡ûnÔð¡6žá*Ög5“¡d› ïtÙ·5QWrkím ð*Liª¬Œô¼v3Nèøö’k¨6YUœ÷¨€SN|üZ§ ǵ'Y¨ÀOl>¥|2“´Rk5ÀX§¢oò…r;à"Væ“…ŽðUˆ¿µ Ha”Ä ð¾g»¿Òû¢ö|E~ ‹”`n/ûÍp’JMQhñ0 —}ÚÌÚ?âº¼è´Æü *ȩޔ=µ] ;x.¼§ÄÕJ¢Âvø#ÑاŒë×ô©;ùKO±wÚ¹³Á`ìù³CÚ»‹ˆ\¼Nä~?Ø-¿T–ñœ×Pò®˜e2–yÊjaìÒ÷Üö_Ž—• Ž—ØSqÇI²…ȯWñ£Ø%ž_Ê $8ãEÕUƒô¶QèJÈ”4ûŒà}|*q…2øìØy,çÎ_.VÁ£Ýî¦ÎI¤¦¯²€ƒ£mUТ`¨¾ÒÝÔ|ÑȪiÒ¸·®1£XgƒBAù^ÆBãد(%à«+¦œl sœ–ûNx‹î.8×Ä«åjx‹W³¬JHêáFcœÌ[ çÛжGw„; gôûiaCxxŸ®WE 9þÍ]TŠáØPÈ>-}ŒÓŸF~¤Ôg]„õïL¥‚T—Ÿøg´òa?M'7Iõ÷ †üƒÆ ™ÛiÍX~#ÅÞ)ü¼Öƒø”ò˜QfÛ·çË%?Î C8Êm¾,.Ãz{\Np5QIeL*0›„ÉlºQ%v…F< ÕÃ8”-,¨–‡ g+©[L:„¯ ŽW‚åb…Kun«ÅÓ¨ÔR"~Ð×¼üG¡z¹8¸J<ˆˆV[.¨”gæÑD8ÍjZ\ôП¶†\7мvƒ«>G²Kª[Ã$`¿Xç® Œ#†OŽ>yí\Œ;(U\°‰Aá÷„¼½J„-'-d¼Í'~´«ðÑ9…?C|j1c{ïÔ*™à#×aúЧ@¸¨©é¸ÍÒQÓÏÇ'§^¡OW/áEßê°Pƒ°ÅÍqh<wH¸3 u÷Ö¼Ì Áê_½‰8Ëú9¯†œ×]¹­b3³‘že° gLø±p9Sqjz³ù--²¬ý'Ÿ{ 8ˆ  ÷‰¥¯ùŸF;ûá<úõÕOØŽì6@d®Oìu¼+Nñ´ÚÜKøVˆd³·ä0®îl“Ö#xí°R½hA³üüy8W÷Ñúh>‚s2¦Áã†H0pºÞ{hÈÜAAü“ŠÅ.”“1B í.jRªŠ„T>6…úPCÉmOlhRf‘ÎËs¢ØÐ0àÀmñªß¬@'È-N÷ÇÄ®jYw]»_ˆUÝ:î¨ÌÒ‘›–Ânú!©XŠíOóóöHÎÅ*97æE˜î­p€ï‹CucÀ¦Ü‚%ù†ƒ®{@”Ÿ>€XÍ1¼™%[g”{ö²ôýO' p'Sµ^—ÚaÑÕxÕÛ­Âz–@²”°jpѺ­iü‰¥­%é)]ÑnuÄÇÞܺXç¢Ùÿ@"ˆ©·j|¼p7–צ& b¾ »]>âBkšüò8ÄÖ[?'­ÁvEGXþ³Ï‚ù"4átÞïç¥<¦.é]æ8k¥ ,ßæ”òýd¸Õswü:$µ#2:ÁÚª£íÃmðßþ s Xñ¹(·‘J·hx¸Y#QCñ޵sï>@ìßm &KTÑô3K„î ékêñ¯l2Á[!vë•nËø–G ªç;XR #SaÒ§7æÐñ(}–p]Œp>ähººdb\5bŸS‰6uC¾_]²Ò³Ó+ßB +2EogRCô©žN29 "äó8èõÇ ™ÿ¶2Äy…5HH7¹216÷CHÒƒNØTÿ ¿?¨²Tbñò¸ìƒš5…Dõ=Çb4õ„0>ö£¿Î~s©Ûèœ+M[œâk³á>V¡H™4oûuñÉ0‚çd…!Ö—Јêqà2]ÛÖ^y"}Þ²Ì?MtX™—ù;*Y¯m¯(Ër”ÏêÀôÍg,ßÊ·4•bñ, Ÿ^}KÛƒÕ’öýĦ£mÜXZDƒ­¬Ý8ᨘ¬2 ³ž},‹®E¾²È+ÆÔˆ(¢¤ò;½×.0•XÆÖèÀ7þ¨Šú/¸ˆvú÷¶nTŒþ›Ÿ˜jÄòu©­ ¡±±¨q1yUx/ï:ŽHÖ¨ñòY ñãQ¹¾8DX‘Mͤo(FØ©#0%v_aû82ë„9s|™‹øÞg€/n·çQŸr“l«Y(? (ΗùÄ“‹Jȵmýã=’³+<9ûU™H÷€ï­­ºƒª$Ð'ˆ•]Îô"VlEé¢\_íQ¤Öó;”ösà¿2sÜGÎ1X?à€sýÇž›çKø…¡¾ÛeyCC¹.?fž>l‰w:p±ÄíŠÅil¶s¿^žžbn[” ÇÃU/vô%î*›r:É4àó0bÜ€5fãÀuÙ[¸ÀqF¤Ñ½£”žâ}¦p†—*$P!¨n̲CSc²Y¾ ¬o]4ed\,ÉŽsâ¹Ú}m-ñÈk4ïGU“:xí­‰ è¨ÙY`ƒÐ JÙ¥®'3ÑïŸÈ™8ßFô‰`ÆsºG{àú>ïeŠ©Ù¸V⎠ 2?܈k§}U:ÿÝkxK÷É/y<‚`ÙÞv>/²ÊÑQg|#…ì&^ÿÊ6s¹¶‹ ø$üÝ5Ìc¾Š•}3p˜«Û¦0‘‚®Æ)ßÓØq’Ú5z㪔h•š±1ÇaY¦WÇ«… ÷˜bRLÈWhN|݃þ¾ýûzeVÖßþJg¾P6€­å¥Àdêð´ˆå ¹ú @³²GèÀ³BOaO¶0ÓjÆ?Ób–éÏt§§Ùk çÉ:Ñ:Ķm0/Y±lŽ8U *5âÜ5O“SÁ>©¨Ê'ùÎUÓ®€ÌFšÄ·4ÌsÝ8»o¦ÐEe#yÒåv1‚{W &~ºûÜàÁµØÍ=m¬zcç¢Cl™në]fž•Cÿó€B¡4]Xá…Ð×È‹éRHÐhûÄlëa¬=þËÐݧ§Q;‹lˆAmU ¤•)â|¾—†Xj%Ï{X¢uÎ)}ÏJ>ÎL\è þX]ŽKY¥rˆ‡%umõÑ›Á O‚ö(žK…ªUzBŒu»!Áž9xJ*í¸ß´˜? ![NýǨ ‹Då+6üO+ö û¼uyp¾p-»HAmÄ-"òSê'«#*.\O’rŒêBö‰ŠU¿Ûí}.`ˆüÞ ±ïþ…šók­¿­K<ßFŗ§ÒçGO¼>åoMÕê51˜¥Zv,¸FHÅ.˸ÞóB Åû`éJؼ-ójk¢Ù"}uO"‡”¢/Q±­lìÐÞ~E‹ܱ XŸžn–.a8kWsgòÖp[$ ¨P˜37#Þ‰=o»-)ÚÁï¶D=u»p>7jVú>öÄÉý5Ê“Ìuj+“ü$ÉqYAôŠÖ|"² µ‡¸Ukãÿ1eá‡)É_®S3>¼|È‹ëÌ[Œ¨’dbÞIDÔ,›æã³ˆP?µóbÎLhR—¹õs  âÝW™íÕïâ<¤èmé¶r|2Jg¶æ{ÃZÊ|¿1ªÛ ®‹Á¸þÍÜaOj§cLT_Ãð5’¸³ž…›»0àõ1^J6pUÆTOª“«npS¶,¥‹&Úï:? ƒ3lQ§`jq’׫4¤1Ð(Ǹ*fŸe h Ù”œÏAŽ); ¤Y(,yu²P6c—dwŠ[ˆƒÖÓ}Ç"šXèk7rNdÆ ¨lẔ,ÏÎt=”¼rµ ÿ—õL|RŸÿ„ñØíƒÍ²´¢]ÊŸµ™!¿±"ÙìAñ‰:ð*&þ±cpïè ©ie.>YqVÙÁ™j‹Â³Î¤ö«Ák~# -аèöý´ªY?í“zrk]LVµ¢_ãÝYòç{ãÆÄy [Ê Êæ¸d·¨pŽå0ù†—ô3,´Ñ’$$!eš0#œ®Î©ûI&²Lþj³1+ðGO<3&z 4ǶlæD\2Câh;mCˆ¡R%d‡f»Vº˜ F(Oû¢U¾q/aÅþµ:ëÇåò›X,†þB¿Ñ$åªRQ'Y. H• ìUk)¹“·Ã)›’UfÇ…¦0 £?µÞϪƒŠé|¢”{¦ë»ÅÑX‡ƒiM@À逯CÚ)œØ.ÁJ¼³ã#r ºêÜ¡°áhý)>Õ=@~£êÌ!‚ú6‰!†1[7‰VWÇ—‰0¥ÕÙ" cÛ´)ôÀ»L¨#;+UÞåÐM.bò¬Eõ:W‘¤JÖ*^^¥æ„OK6C—Ð <4–i9´¤¨¿÷Sˆ(•ê~}׊ÀàŒâöxMürBº€9)Ú€—UqžóÐ!×ÄÞ¼þãœtÁ#ËØêoÿ]â¢]vY¡°íœÐ€{§g*ðK`´Ö¨ÆÏ\ÉM’®ÒJÝ1gÓf…†c,ô¯ÂSsqQ‘×ýÍeô%ÉQwŽ[9… !Õ.BsdC݈¼9ä0»ƒÂdBÞHvõ[ ”õ-`à>oÌXeRF ËüuÎÌi0¥>†[ÚéT©-ð(•+YîMK7îÿ¶̸^ä W|w”ÀºsJlúkÒX}\N¥ÙP‘ò ;&,R­8Ì8Èý"7Œ€\òV+£}œVÚ$ïŽjBó$¥ž=¡yJ…Í&ªõ÷?íÅ4³âŸ£º“[M§¨ÌÛI8º–áºùó˜ ŒŽ™Æ¬>Åç6Ù V„ ƒŸá¶· å¸÷µ‚58Ôó©oÌ®ëSßä–î´)Ðc,)ýlÍC>Ë h“\¦4ªG³—âíís+Ä1Ž©F•JPÇJ’ÛÈ6pfÂèºï‚ |Ò2Ç?ô¼C0–ø'!àùšJ˜$)dÜóš/9ž5õð¡(¨e¡¿YtòKaמŸ›£¿*àÄI¦TõtOul˜òÆçÉp$);«KhªÓžkÜw#³q•«„ÿ”÷½›žšxÄs]R˜}Dq4ˆ_°ŸÒ(Çl„lm½ÄM7ÜQn(Yr•ˆ§?]M-–/ºÜž/°/—ÈØ,¯™y~ã!AÛfRMªü•Å4 Ãõw ¡ÁÛÌÀvj’d#â_0†gœÖk‹Ó–¿µÕ˜iÆ'…;NÇÎúnܾ¢­vsKBòZïTœ,ØÐdòžH×ì»Ǥj@+¼wDä)´Ð§ËŒ |‹ýF.ÍÇz¡‰Ð«Pn"ØI|šo"UP‹ŸŽ Ë2/Wølô«]¡ý«H!Éç ð4mÛ7!vZÉÓ¼©®@–h`€è6õZ·Ú”¡’',©9Î¼Ž£‚ä>«Çׂ£xµ_¨5R*@µÄ%+ €Á½j(ÐUñÏ=žÝ¤áÕ|ǤÄ_!ôç?]B¦‘ÇÉ:–…úVwóØS½%Ò5 °a 0ÞáÎÒÒbkmu± üÚ´ ï…?¯ø„¯×IÆÒ4érS€ —0g=È1ñÇÁîl—"C^¼Äwq‘@¼XÔd¤«–p ¹(t~Í¡o–ØNþºO5lÀ?~ëE-iªÙÇooû²‰ºç¾…x‡ft5z€Ú4ö¦,É£m‡ÉŸOÙÉ\«¿âÖ CóÝvZÛÙø•ãÇlt{ˆÑ7S:Îxºa€AD¬Žœš¿?T˜Î!N>XÑEšäÉ“\`'Ïõtb½G>tÈyõR)€ÊèbG©¸Ø—Ó»œÿOd@7ÿ…2Ë÷äÊÙ,­á¦zˆÞ²“Žíb&cGY xˆ ⊤ÐÄL²DÔBaž óûø‹YÛ4ãF¡@nXrªUQBŒ˜É³q~Ò pÆÑQõ,­<P=v ÇÃq@ûvQVòžø `ÕóU­®¾àq¡6/:C÷åÿ¾…g¬ìÉ©[Ö©•¼¤°®$½뤓3XmšÁå& M³[)š)Ì‹¹(JØPf•¸;rnzzˆÁ#rî–"ªÜ‰íî¤dÇDVœ´³kÛd:†³}«…Ù|ˆ¢¬±Õ>=X“ã¬<Åõ§ˆâ¸eAlY„‘ÿù~ŒiiŽ,nàH#>ŽNcðr§tŸÒ’~¥_ßQ4{ð2èëÜ^ã$@"¹X-Ńwïþû°W§F`Ïò€ ûX@DØ3 ѳ]èU²·\ÉË~ùð¡ÉÎ)âמ÷%Û/Ó‡ôCÙc»"Ý©±nb)çÉ ÇŠ·ýF$‚3ðZK Æò7™ìIR†R@‘ñB¯Ã $-}µH¤×^®˜ÿˆ|V“àzšÐ”)îÝÚHñ½«^þ÷xýzµº±M‰$þòÕ%ÇL²Þ9~v¥<ñ:ÉQr ó¢°} Œ.t‰ˆLâôÙ˜¹;lÛÄ”*HÞ³Íàwãf0Öu²höËQ€òp& GNg8_CIŒ°:•wˆ¯·g ¹‹Ô-lsQÁ<†ìs’­eçªî£ÅCtÜîQÅ7s5^Íè Soa+Jˆ½@±¥Wÿ¶5€)ÑщÁ´!Êa:qÍFåúÚ(ñ¤Ö'–•!7· eØ‚xÅ’à™Ö“b’ip%ÒÇÄM÷eI -¦6–3wæ[q`½S¬ŠÂÈvŒê;]=„ùi÷2{7˜­c;”V¯…}ñÌwŒP³¡s'æýe¬˜(Cµµà]þèQƒ.1uÒ¿ß(àrùýò̵ùíË6ƒµm­N\|±-d6¾üÍR?øïwÇÓÚ¯p?úTˆ$|=šùß”É!‘¥yL†6Ñ¡ù —û”•Py|w!;µÓ¡zÞbP¼»Tš!¤uÉj·ç®–€ô:cZ\˜÷wÁ €nçCK4@aÙ ¬§ç¸J2³Î]þ”yÖ²¡ÿÅüP…¼ìÆ&†úYJ?l)arؘ–#stÓƇòþB¾ !ÚÛ@Hð•_Ùï(ª+¡²C1Á8StäòÜiöч…ë®ôúž|°÷dMˆA4ùÎ=Ã1Lg‹<6…¸ ÷½Ä¸½Hñ|ŠASb{ŸÎ= 'eÒ°’ö—æ=:¯ûë#x•öÕëûócwZÍZˆÅ·«Ý*O~£er¯qÉ<Íè}žøùi›½Ñ€| UÆÞ‹‰f‡’ž Œ…ïˆg¥©ÇmüÜ5ˆO 3û؈;¤¶büºJcĂϞÒKzBê®ô†]ý?%¹TÔ–ä×åԋܑܘ¢ÒÚþ ¼½§è« Ô¨[\TnÀÀºâÂP‹¬“º°¹†óGxcUô—[}ô`ºqóšÂûšI§-R{"þSfˆ_4_êú„µ96'칇Ïx¶ÃPG3·À´ÙD[VŽ{£ ÜW( ,?}*#Ë‘­,ã©Ñ—BÀ´(‡‰’^s ߘ›"†K7ƒ’yc¦-„X"SÕS\±ˆªIï6]O•ˆ"Plý4äd¥"¢:ÖÏTŠß£÷…¬Q.=}ËMO¢>¡ip<½âÝ›"NÉ“Új¸Œžàþ©4ätÄL•ô%Ó>'{]±ãw0…0öÐ÷zwSßZÕ$ÝÅÌ5þ\‡§jÙíé§¾ ÊeÇÎ6Ï ´ O‚º$8(‰¹ÿ«'°ÖbôcÃoðíº‘Ç¸¹µð³ÒÇËÇZ|ëA£Šî™À¤+épmQû`ÒTÖv|Á儃ë†Oô¬`9;¤¾»åNgÓy’Ë̃4i ÏcVA®MÆ<ɦè‘LÊ6üÀ$øë1†"À ï…Õ 4¶GvuM".#"Éxzá(¶(ìñ›zþ bf a±àêçÙxœ6ï˼úžåÝPVâ¡¢M"­Ì‡/ºÝš1¤°-5yËýýÑ„È7©¸Û5uèœD–G4>øî\…'Mïe ›õòç¾3oãÆc°Øm²8|ý^ãF «;9y·ŒüÜŽ‡çA"ïÿ§òÙðÐê³ea–ËѳߔjW§T ¹m©ðEMÅ*ûú“Œyê?ÑÞ|,̹JÆõ½˜>ÎÛL§Y­$z0} HTùiâæ“Œšbs¡NÛuìjC“>Q|J*ïo‹<ªÉ_R[J?“ÚÈјCaúè—?Ø7p¬8×uåÔ[ŽöÂbm f¬ÑE¾yçïB¿ï!­7cÒ[˜·Y^Öf€ï¶Ê5^@E ù¼KœÜž9ó]×=W\*XM6‡d/Bo˜V/¯üñ^·€¼´¶ÌÃçïÚA£!øv˜¸¿ùp´t6¹IѶÓírû‚>©³ö–ü,?¨¿à ˜ÀôïRé®Ât²ðŠõ… Ræ™fØVä]×°«nœ^¸tó86ň!!eŠÂ ¥ÆÂ{¶=DÅ¿‰]º­ì#N|ùQâo¨¼ú î>™í‚ªüÌ™ ‹´)fí ÿävÇîëøÒ‡@[×Ö„#Ì›PÁR,ÍÙäñ;=ôd‰ÌiÄhëe]ã?·¼ƒ.+Gœ&Ù¥_Ô¯ ÛÉ<ÝsLÄVzF¯b˜BêœvÉŽkÜÌꀱèÀ¡6Ñ@åä÷èºNÜTŸ‚½.3~ÇÞë¤E` nâ†Ü» ã‡åR8ê# ÀB•:´JýÓkgm=X=¯Ê_â<µ,ÖþOÍ$³ˆ;Óî"“3H¬Æ¸ ‡ÉDU>ùøìˆ†Æíí±Þ€QfþZé¾iÅ#½V9rŒ©¶¬`@N/W³ÁB»"L»­¨ÿÅÁ fè?¢²Úô¯þíxå(o A2î¡[u þGÇ©úØO]‚2æ,ºd¤L>w0@s iT0Õ3ûø $ÕÒÁ¡%QÐ[Ë>òÏHpù1lé \Aøá‹5Û(¦0­g5Fꗣϋ^Šbܤ01e”õ¦[“.Ç¥i¡XÔ9lÌúʳ›R@y—–P°±–+†½Fþ&yÈÀ¸é=û*С¶&鵪h­à”ûå׿MQ9—ÃlŽ#wÌ›?<èd§„aˆ’[¨;Ã:#Sq¬k 3eîcÚP#œrŽ0d3„„ uÈÖóè^§80?ŽØðŶ¸)ðÙ4‹ß€Î¯ wD"K¾iOƒÂMuqÖAµÓŽyv+ƒ;bH¯Tøwý¨ò[‹–&™;Ú>Äæy¦T„’Hÿ½ø–ŒÈR¹æ¶©v¦ÈÌyE&3M&r~Š$^[ÕB–ÚŸjñ¤å4\9~ŠNEMw¬Åm¼³fÙtÐ5ðàP‹æ{™1º9§öí3Ý" µ}(b®™1ÛšæÛ/ýºY'˜xþr*ý,s?i{56:¡B—û¹Fš':¥d.RvEؾ×I=Â1:A˜?È^,íy¾Èx0…ÌçÃ#ËÓüÛÎ]‘wª±ìÚ¯ ÛNÂ$_¡Ðjóè•ø¨PE µ¾Ä©Xæó·†(0îT_“öƶer½Ú½Ó«Ó· %vŠwó(•IJSA¬Cìòî$L)•ù|Ä4.™zÜöÓ–h÷(qöiáŸ@”i¯4"ΕšË×GñÇkn˜ÂE¾¿MŸ7C` Pxœ&)Ox*Î@_µ{¼ _ßøŸÙ_Gü#*¤WegÕ£pí¦3Š¢»Æ,Í+Œ Ø9ŠñÌTˆr’#ÙÿXô‡ýÍr)˜Cá ¹YþÀwÙ´/±p{¨2èØeXË€«cì”öeo•ìº‰Ž’·Ä L¾É.’±×’ÂÅêo×–9ŒÚ†¾ ß<þw·vý¢=ì2&&Þž¤¤J_ ñr±0ìùªì -åXF J\Ï#fm]-fdéwàÁ ÓÍnœZ¿@Ít¯Eå%H Ã:ô™”]Ö¾vÿø€*Õ©Y ©N·$z=‚uÙõƒE§Mâ¥Tx¼‘cˆ•Ë«K¼:å¸P/!–ÂЊd“ÿ7/ã…­f1å:è¦à؈Álëe÷ÑwŠé»„ÙƒM•8&˜ÍC§N±Ñ.2×Êt¨©ƒŽ$9§œ>-Œ¯;÷–kè²U>3É'õËÓw)´ÖRÛSX0áßœY kîý‚â'õäb\(3ýuïÀ‚[¿þEÐîÉ"ÛräG€¼HС¾¡†Ôê ãPKÍIµèv€”\9ø}ÜÚ.}==ëÖa“]#Ä_€¾ H¯mRlˆÃãÄ·jÀƒÈAeWYå‚]Ù#žlÝúä>!Æòy(#åtÑKòaþ}„ô|0nÆ6©†óÆÏ5zlÆßØÎ‘ú˨O4PÂUÈr Ê„hßHd*=æ;]èP¦/Bƒhã–?Äã `€nú?L3XKoÿchÜ—û–N¦æÅ‚N²mp´S_e©[]'7¾ÊA×á3ÆH¥Sß|O¾@ÝAÿ-GÜKŸª¸‘ Ùû;Ú0*šëf°o•Ÿ)4Áø_áòË ;ý~5›T’˨Ü%¦±©xã"-þMÈjÒ9ó¤¯g"ßÃSNÚ¡ìòÌ_€NFâ.½òå83˽_¢íl~^(òÝK ¿°Œ4SFA Ï2éC¹˜âgâ ©#øº2ˆ¬¹ý&údWûSèN”½:Ëà@ÐoMŨ¡vÂê+˜÷¼Eñüg£BwÜ'ÃKÔ¶bÌ)Ï>¶–erC´F^DS§·#™v´¦š,Šã|w ÃÊ1öÝ[N$9ß ú;ïË%úÃw}ûqæ³ä *ZgK>ïÕ·5ª¿Š)Ú ªæm$:É j¿kãÚ,†}QNuB˜8®¼LQø¢6#4…Ÿ…Èf¹~0[ßOçè€áÝ…;;*·@pŸ±;.ØG‡Ö:*XÝl~\8‰. aùçÊ /5$rãArÈoÑ蛪|;æ‹nÎmÑ93Mþ œqæSóŸ, NÛ?™ð¯¥b½r6QÛeHß¿¶qWF”}Ç÷¦4Sé|צ<$ ¢BÕIã„»ì”YÄùEÖLáR4&B;aûí=/›Ý+$Õ€G¿Æ?ûœMÈ nósî@R!Dðß=½J‘îFfo¸Ýã Œ>Ö ä*úL-ûf¸ýj´Ì謋9‘ïÝÞ ß!áE…–5ÙâDÔ r³+Ÿ‹ö>¿XÍ@a*ñ©·iË¿gÂYTã²ÕbM3èsÛO'&‚ã3GÇÿ×;ÊöAFÁžVí8äá.ª&8 ÒØÄÀ xUUh›@:ÊWü|âøxÄØh]bÁãvx•š8»çK’>±Ä=xæqTjòr%re ¦) öLª”Næ²+“%º„M+¢>÷ggcâÃð}®X7¶—v˾?ªOøÜµï˜6€°nµvü%†(ÝÇ4˜É‰¾äØên öccì&LúÒýåò- €À*NVY$˜/TãrñWSt~áLxS¬Î)WKã• F ¯ÆY=ã*h²¥…üÑÕŒ‰p‡»g8–l~òþêVÔ¤äô ”WtÃÍ$0v7ªF,Êòy*·¬$¬8 ê^qñ„„©ˆ $œgU îùJ½²Ñ”Ùº´ÅÀMÓv ‚‡Ú#»q­Ä–£u¹¯6ˆ‘.‚‹!„* ¦ Õ"ú>Ö±¦(‰úi‰s_¿óú »oš‘b^F›æ`îÄàNø¸n’bý€qµƒòÖíÝ¢t—Agu†‰”Š÷Å—øí]¼Î Ó‹Ë¿Žyšóë'pP‡ùÇÒ@ÁxŒÊ ¡;úÄÊu³W›Áÿæeò<©·z¤¾V›wàþJÙMpCÈù{q7;¬Fk>{0Âéž–ë7xJÀ5@N6fñ}ÖO®yØ¿³D›’  Ú ¨ÿ¢ûn¼¬¢õê='Ö9vÝgÔQ­Ž§2•òÏö¬ï¸û-³äÊ´ûoÿ¤ Ì•±µ4»lÒ?±ä׈Û5,táÄö^†q1KOªœ±šN+g¹E\ ‘S¾Øeœ.ö¼? 0ä¿È^$¹³ÐaÆ8Œ”¹Ô&`¥Ÿx}3²\;žÓ¥§Öá1f7jç?Òº:n-¨U \)1;ÐÏ0õ}­O€©”èëFÄÌÃå¤Ì8¯T¶'½OÉmöaêÍŒµä²§¼mDJŸÁ ƒ>œ”îNZ§>6…÷ü¬Ebe4‚tiëŒÆv„Д;©ûêJ'|‡útB²¡w³5Î{1¥ì7j 9ÓäšÍÙ·zvjé·p…]þfQÔâwÔz^¢à4¨PGYÕßÝ•!áFÌAQ¤™2÷d*/Õ@?áB#çZuÚ¸b[‹‘Äãþ€Ó<25z¤­™$2ššgºÚÏÊ”p®ÖÊõ*à¶ãÆ©A‡ËfÅzVI3‰–Du,TÜ-]ln¹˜À‡(Œ‚ªêçÎÒÂ8¸ÎA,¸°ºøM^G8„nÆ«^äú£„¯2@Šï4™âÖú}^ÛŸóÿœ“§ïxº^ ¨q9ìï )º* …¢4èFZ÷>©Ðoôwý¾ÞdhÊØšÐ-®(=Ë+ ‹ G•ªYsƒÊ%&'zò§CÂHH²]ÆÞVn°ªN’)«Ð fw"–’îW yP>ù ßú~gh<@8 .ß™±‹ÆÏø µ²{ï+›Ún {9´{@/y°} ”Jmâj˜÷FX†¶‡ÙŽ[ÓÙ^ß°°˜…Á_ÇÂeIdT]îXjHñ–ßû´VÅ_ÅÌG RßO_4÷þB¯ÖM³_[O¡]¦+¶…MŸ+³,Úÿ“6¨+ © ̽аâ,¹â…õ^;Ú-Süº»¾dBZ3£¿ôl)š–Ø@×G:QÞãݯ`'§-LdœÕy˜8b›!§Ê´L‰-³K÷Ä–ÇøJ¶ r¾3g”!Œ7™!ûm£')hæ@làÎÃ7w^¯FèŠkzô£GHŠ®´¤ð¥ÍÛD“­ZT‘ù~ß.7än>‘)ï£ÌK[ýf!XœÛ¡¡I6o Ð…}µ<©ìâM²@UÙ墸E>Ö”0±ÏÍ“$b®ï•{ý«iŸ qÏkd¨fKùÖ?ø¹§Ë<{`ÜtRŠI“¢¹‡ÍHׂå:‹G~Æ$60«òÿ³n¶w“˜Øàønìwî…K+葛씖„£¦ßlR”P[ÇÀÒ…hé%H1]¬ùláµ*q±’“I¿Øßš8/<mú6NùCý&Ê*²Ùöà ”õ|A`‘ TrPøS5"¸Ñ)Ì'ÇŸõ:ßÝhÌÀrKí%R’”–Nö¶Œ ‘ͶYìÇÅZÐ2Ù±°Åäå@Rúã9‡ë¹‚áp5®‰µ4—ÕlWÓ^$ë#0GfÇjêfª*;&PÃD‡µW»Á&ö‘ ›4¦t›˜"7¿Ó?©!LÄl:Ö©ÞÕÿ­‚J¹ULò÷#ib¼³¶ê”@‚AoƒËØ4 WìÜtĻ՞÷ëFkÿå€ã±šÛ‘þ3àÙ2ßô¤Ý¢è>Ç0eéíã¿Eñ#ko‚?q&~¹&¦–÷F¶§bìÆ¢ñ …:‹_Y3Î÷EMðþõ¿íŒrF„ážjÁ…С y»2êa;dž9±'ýF¡ßð̉¯&¯––øMȱ]õ_Áo-^88Q;5è<þºV4”Âç¤Ú9(û|£TŠùÏ2l)úY_^=´³6f;–n‹ZYê@²çc±‚Þ蘷¢Ñ}Õ½D·yK^|ÇKê,§Š¹CÓþ[Œ^Þ,‡¶û¬^P,áBl<ŲZ²³'¿HŸuE¨¤}P}Ô~R­Õ`YÁœ¼Ðªí­Lî‰ç¦Õ©ï_‘¿½βÞvgh¦Ïíý+| –ä¯ñÆoëËúlk~ ²Dò&e{û_Y›G8KÆÕû•§8ÖÓë`Üwùލ¿¹îÄ` ½,PѸÀ.^(œê|˜•„ÐÁÒ÷'h ÁESH›T<¥_U ¼DD0;ò"ˆ]ë¬g¾å½3’wk9›õ_‹ýˀǃ¤ÝÓŽvu=Ê6¯‘{EßDjh¤ CT—À)±6RD  Ý6çºàšwJ}§ Û?œîâp29½Üü¹´;”KBß7·µg·%¡NG.-cGèâÇ)| ºÙÞ$$%J¦àþ{÷\ØÄIJ"ïÕ+Š ^ó±¨Qþ©»¡üd=u©vüyEdMÝ;âÇÒ‘†1ÄÍêË8Ë4ÊœíE’òÖª8V³M.H[·ü¦»ºê}ÎÙ2µ ùÄ^“ÿHPh5Éì o4Âê}˸~‚?oyý…‡!aé±1¦µ*j³ÈŸÖ·(@ºï(’À:ó€‰åÝTù- ÝÃßžÄOE…›Ó0p±÷9+˜Ë¦ÄåLç­@4£Ñbõ`DÂS=škUhÍ¥—Ía«ˆ'UÖ)‚=Õò\|[ެ‡—À‚ZîekÂsΪ÷•P-YZŠé?AMW$Sþ–tëž$@ce­ÕÎ…–Ë}µ`ª=åâÐ&tÄê/ê\¥Š…Z '±×S½¢ ¶™bl– E P务ÆÀ‚tçý_ãÝŠ™DÌô¨f³Å®tÉØ­Ó ²ïò>áŒ,×Q œ¬¹[õãÀ ‰JX &RxŠžëêû`£¬ªÊ‰Ý8@SϦó¥ I4Ü]¿älëxQêtÂÒZÐ l‡Ý;6ô$Ì-¤Ëà×[ $œ-Ì®Ì9L~܃ÂÔç.”Z®3ýå÷“+5››¨»ÍÀa!7¸Žú“ûüôë<{áÚRýFg6­G0ÔnñÒáý6sêK-Y,½&}Z<¸ÂO9¸fl¾„c‡k}po€ê8×ÖÒ8ÀKPáFä=ΫÌÂé˜ét¤E“OÅ’©É?°é-OfÊYVi·!rssúaüïõû+Ä˺’yv²JngŸWa„T¾z:ûA t¿–òe_jÄØÇVÕòÜ UU1؇ÃÅB¿èµ¥HqÕeŽh)Ìùmd”6î…JÆ8ÈW4ùHò¥ýš«mÁ³çZJQ$¸ñ¼íÓBß7ßÎ/’22$úª8¥3¬rK¹g7 ².‡ <=6xq‚…hùTJÛÒØ&ÒñãuzüÓì/ˆq\wsû›¸ÐUäË‹Rý·ƒOjìJ…m¥–±+p[ªm0ÃŒ^ºŒòóHF†+ Y$½ö47gOˆ˜NQôWèÝg“JÝ"'¬¹Ìf$>‚[þù÷þÌÂÎ4ů¢ÉÌ4_´ À¶ÝI @œ§ê²!#4 uÙ¤z¥Gv†ÈIŒd*9ÁŸ‘ÂR—MœMâw†ˆ¸CLl†ï»60«žõ}yŒœÐ¿ˆyÄóbÎU†Ý B•rÚ0Õ­·á}²å™¿OGÞDÂ̹N]#W”]ßqÐZr5+;= û“î±ÄéÈ{ðLÜc,ýt€»5íT¶Ú²å9>13è_ù»Úõ[™ èL¬ KTÖÍY®y%ÝSÝU€€½ÅÛlŒ NI ¤þKOˆ€7%Æz›S_0,k|æl´Ëç™ãâÁ’:-ê $å½ÏR›xÿy QÎ ù—%¶Ø*¥Ó–ÚOÉ/>/ĸ9ÈU'XºN’t–; N6sDçôÏ”PJ\ê (ýCÚ‡ùnÒºe·Ÿ»¥²¥a¸ÁGÙXè9wVôezDyY& ‚¸|¢X¶@’Bc /æ¼{ÙþÚß[Ϲ±Ù¥‡<ÊEÃ× û&%ãf’0<~¾zZ`“¸ïwRVS}@[ÈO“d®ïáVh1QŠÊ)1ØTIÇ^mc%Æö4kôPÂÿµ+·€`(±†+™äÐtªîa0ôàWUb+W•!äöw„3Û:7Ür²øÒºílÄçzÔ*â´#ãÉHsòë‰1®IOx›Ü²-ó~Á^C¶ÀáKÆl«.ilMpîZyéFû—röCŽ®äÃç ƒÄÆ˜_ ¬2PcÕŒcw#ÚÐ÷z’[{PuÞ °ùI¾píD ìÜâãc ò¥Ý,aV‹9ð ?]Zå- )kÁä´«¶*׿?ƒVÓÏ'`·WÝ.1B†ÿ¾¦Ù+Û‚¥9§öEtõ¬½-¿ïbvš\SÀ,(î·ÅoA˜zpÉ,óª%תÓú\Š!PˆåmœCvW$.ž™–ášw„PÃIŽJ5^)¾|K>¢¡Ó{JLæ¨ÔÂf™Q¹`{ínõÀÒß®Ø×‰^j´á?¼ÂFaY‘ÑÍ£-–_(~-i‘§! ñÙ.î;˜]Ü—Ìs­È;—O»À7Uc\W\¦q¼·]ÓóÆá¦Û¡T¢’Ýycm*kÓ§Ý2exv;»‰vð _•ÚŒ5 /æ>÷“HR‘ßÿ¦÷Eyñdœ_þЯPƒÈÂoÖtõ2<ó/—É%\wF‰}Àfßx{hsŽ]ïWUÂ*˜¤mr¸HÌãγäèì_¶"p¿ì´…z†X’¡Yl85éL {?v²=ýTŒxð®«gg§ ˜gH)!4U>Úl†s$D Ú=Zò/¡ÜgÛïòa¬E¡†|ã8Žò¹^â…-ðkJ¶3s¦ÃÂ*½¹ }=¶ñ‰Ð:*d÷°·¢í´ÔOû+¬‰-~ûiƒª~ç¡#i0‹°¬Ê_SÌÙpŠé{’pTÓØdΚžkçbžÊ¬Šžwx(œ§xÍpÀXË•i»YDIÈBp€Ò?kò¥ÿ*½d°:F¢'#?:ÎÉà¦j22É'^t>^’ë&O´²Ä;XúÐGz#rƒ`¨XŸ‹—7L6´ÛE<C —×:‰1þV5¨5Ž53Æß-¶/®Mh9ý4tÒ_7&À·°K[ˆº,F©fºBm8ás$Ç>©¿8ƒø«ä®8Û@bˆZÛµ2téæJ™úë?ª:‹ø¥kã÷Ô£<óó̺_ÛQ?ë!~ËûAfݘMÀ…ò¤ËIÈšÓ{%y!©ÅÛ ÷:ÀñÞ1ÐŽaˆÓ?žmç6§`åßÒk9hKe¿­;m⪒ÔiMT+Ð á×QºˆErޱDò\úmÔMTl5]¡uK?JiÛ„!{çJLâÙ©„ÔP²M„‡ÇdÆü–%&œÇ’` iÍßœƒyäŸk俘Ç~ü °³¸áôU+A[)€UûVqC!ÿÏÇŠG­ ™aV+­ j©¤±6I\MP> lXTÊ#ð}äš_áÂf¹ ÛeËKpÈ0§ñ½ ¨öúñZ8[mÑQÉÃ,GÇâ;¶ZÕöÀº?¢"Ò\˜ Ñ®«¿}ì©Fø‹3+#rä_û瘄ôë§ÈŽbdoŒ 6¸%Ê1õ“úÿÙ`Ÿâ<=Ë?á¸ù>=³d^>‰ßZre‹®¶CÿD3æe§Ã/IL-‡¾2­ñØ@:oØ%Û…ØÓ©_cÕl_íØ‹ÀŽ¡Íó!òúÅáÜeRÙ¤]¥ýÙë :wÂ.@E?˜$C›Õ&œþäD€uG?Øãúöú»¾¯(GZåŠvÊÝÄ‚äI0iX#Ò%©ëñfZØyd«Â…ðÃD9êóf% î•8l{Ýénñ~ŠÅO>š/ F²ÃåLU¾Pâ¬C¿Ëp„DjÕ`ë¢ l ú?ÂsUléxoKíסh¦¤ºÊ³òf`Á¥ó)é¼Ü®Œ‡«½…§X“fz®qÑ9@ ŸGè)Ç U ,´®ásç.e<›lGqݹ2.°ßŸŽ%; wdßéE’VGf×á„ê8wýùCwàBôºlhÿIG1íÆÏ·&zJ.>ÙFáC™æwE‹EÀQMÎAŠ4®'&NÄÒh²úœJé‰Î‚Ý}ÂÖ5X¨þF›v«§tÉéZx^þõ‹¡²rØÍÏ•¿3Æ¥=äÃ%𔸑»«1 ÝÜWüÕæ†^—ñµ‘-ù÷ÅÒÅÓÅ¡kƒk›¯Ú5ª9ž”€O˜B"f+OX)Žø½È­¸œeŠ]ÝKpRfÇœI>äâ©ÿó vÓ·ëÇAñ“!+÷¯Ûnë‘ãäëõ!Šd$Ou¸Ø˜Ìƒ,oʹwSgÅ&KöGœ¶é2 Ùð]oX>gˆ=‹é¡‹¡ØÉ¨,ìõ_3,ÕÇñBBþ;¸?’•âL:û‹õ&ôYR ŸªÊQaÏŽ¬@¾CÖpÿUe*"gKŠ)óùj“%˜H[läØP«OÝN. ±·†‚ÈéF DE6µ@?$êÔî¸'ˆGÒÊ8(Õ[*ÆwÉÚÓÞdáݨÒa²tü¦ˆ÷±q輤¦LT ù‰Cò%áôoÇuD‚PÈÖÖò&«“hìÌ–ŠCòª*„×c›$M> àŸ ¾ÌmUÆÎ.Ûµ5Ïx+¥0;€|31Ãql«úªB”»Åü;ƒ¾×$Z2f§¶¯÷9VdKüïD$qÎÈ”žþ@­q ²B‹§‹vÄVEØ:¿žÀ’žn?À£/2äOë>[ñc­ñ4jÀö€½ä3-’ÀHÄF4+‹VÝÈî®Öؘ]:Ç c&8d úzØXÝ£Õ0 ëM[ú9kúñiòοËÀ$:5•®>qµ'àUÌ K<ý1ðy¾Ç>9g¢†oåÅ•9uÉ«ŠN»Î¹ÄÊ£µu[Øvˆï;’!ÿÒ™÷L€õ'7ôµ??ʼn Ù¶ÉlígähªV•¿‘«»?¤*ܲ >Ä{÷Ÿf[3 4(˜]8Åz:%÷š×I$:Õ·>²dç²ø†jÇ<#(뜦ªƒÑQ¿þÊ; Wð§"-‘²ÅÌU‚ÌœOÄîƒ<ýE½^ˆš8qŒ°×ti1ÁoÐí~‚¸÷} Î «¹t†°ÐZè·t0ŠÂ%´“Fëx&Àz¯új¼¾q 埩¬;œ4ʦA5á,n à©V[}˜Df+ fWv:wß}A&Wwúƒ›ŽpÛžÙK0e›‚7ÞLȉEkE$@#iÎ$¡ ì[#â±ã‰)ZœàûMÐúÌ{ùì Ã÷©ô™sZ¢ïÛc‚©p?ÈqÏÈô7w£dƒÝäc[’#*q9NéR§ i~ïõγ4ùœÁÜn<øuXpȃ½µE?½4¼²Ìv­cth³Þ}%‡ùœ“›n“ÁQû7”¢¥+ÔXCóê²¢H(c{nS»"÷•Ug½`“‹H½sn¦é­Q`-Ùf‚>¾œâ;/”wà$"¯Y®äÒã*?Ë­kS ‚Õßr1é3ã³åî0«²Qäö^—0ñŽ«ô8¸ÅiÞÚ?Œõ`“ÓR$!4Ê[Üø³x«5Ýà+}‘1—›hèÀˆœn{83Õ¹f Í b~À8漢U˜q‹ü¿F™¶Á:V­æ‚ju5>±(ÚñÌŠtöE¾IXô(‡×[BJ§/÷ºË&%]J„”5hb£¢"qÇÝ^‹¿RìFãdÕ½ËïK b¢á™Q Ý؉‹ °ÓUKLž®¦ÇåVÍ|š· î„ W¸ˆ‰^h¶˜ ·I\7]] ò€B¬k)ä4Ä»Åý!‰‚w§½éÛ­afœùŠåD¿@įíx?ýhµ-nµtµ2÷ t¹X”VÂ}®@:U¦€2É#öž F@š¹á¢ë¤Û$•)AŽ«Œ»QB²pg½çºœIa^Øn³­cº^—›¼T­´‚üMÑ|Ä$™Èà:‚:tbW”Þ ÒLQþØfDð£Œzq4~9ñö?‹ËYaö_¨›/Ð/ïhÄn±ÆêO²0œ•ùŠÇèwocö¯øïIWövºWãG»$­bùVEÈ­¼¯šy›uÍöÒ4@|Ž7a&yy`t¤xhLOúýìHBØRêzºzû†ó.ì c4Vش䃬‘àÝ/§ÿS—Yꪓsõ&?¥×=ÃÚã}߈û‚—.™ƒ:À´eߢHéû™*áQ“¬~®ÌpÊ…˜-ÝÓÛó¼V‘¨î¸®<|z¬æ`¥K|‡¡½À S_%@’Ð `N*Eâ›x¤Qºì†ùv•íÏ/$÷ºxôL%Þ rÀR^‘:€@¿ž0“"Ÿ¼¿ÁŒ…ÆÑÃô¶IòY\Ï øh™Æñ­©¦eðÈo…µ²‘ °wzž㮮t¡?/Ó©ò9®{®ß>”W¡`)¤•}v¬?ŽR×ç ºêºo23×>%Ž! ›_œÃg‹ +Þj"¤~¤*˜‚Ty˜g˜ÖJ¾™x^¾5xuÇø«¾þ=Dþ+ÿ±J-¸‡?·„L2ÊdZçcKÆüEO$¼ÎÏ);–Dû¡N:ß)¢š¼VWÝ?Ø#·ØŠc|N0ÿħƧ®Ô‘ù°âYKé éX+õ¨Ã­_\—’ãXî9~ݨ͓HQ^¥‚½†»ÃpnY%£Ø¹943£a·‡»jæÌÄ#C‚EÎ/‹4±Œ•˜rZY - ùÌøÎRä§^Ú̱Ç:>K—MB|æ¯íUÏ"8ˆX©‰/˜«gév+òÔDš°Ñ[«¶Nû5ÉYË£˜u¢üÐp ¼0œ0&ÚâÞ†Ð7÷”à̘1õ…ÂM¾ºÑˆÙ½±ZR@Åu7t³ Æ“‰FaB×ú¬-÷í°Jc3LÎ(ìôž)LêûÓeQ&Ϋƒ„Blµ „þËHµ{óiš¥¬Þ‘)^FÅøü%¶²ƒob†É;âzMnï¨s±¹ÁRÝR-®ÁfÝ[WOx~D¡,¿ãÝWË}®i13¥(éŠÆ™_ .–U_‚j¯oåHQ3v0ÐäŸzʃþ÷~j½-àŸ;:É2]§Y«˜­….sÜ™·£V”g ¹šã"Ÿ\´1ª[Å ò ½”º7°á;æwº›Ã)G¶Ã¥¬É+SfMêkØáo\PkÁy´»tW’=³„} \C{áöNümpUþ `ãÍ/’˜ÔëÈ«Í|Ó‰L^ž,º/Ú•-ÚóCuV˜ßÊžCŽ•¸nKÜóÎ h¬ ÝVfb¼‚>3ÈCö3}“qcÊÖ ,*_~M+Éšé·cê€õ³GP ÛÃvùÿIåAw0rÈ·+¾ ðÃêèê¿ûâˇ7·s»,· FŽÂßâ“4ر‹ÙlÛßPua¹Ã8å^ʱ¿¡¯iÅ×&]˜ªë)jjK©o8ÖmÃí¦ú…­¥ÛPœ¾\ÒÃÐÞ’UÞvhÆPÛm™Á‰‚2 {{•Y%—e˜Ô ÑÅâÿ«s­K×ÖlÆä¯ó5[L41XûäC0@hÖNq)è$!öaž‡SZF¬´}zD¹Cÿ§Ö˜±³×oB2á²Ñ¹Y;½ðVÜR± bëWàl/š&Ñ_è3ÅfÅNœ:ó X—·Ý›­Ô6ÇŸi]<äõŠHW70ÊüótÃTMµD›e¾1;HL¤Dò8àóžÃmzÇ '8ÝF>Íö@}ƒx õ%i`ãI¼sT˜¶µuŽò“ŒšxE ?¡qŸXÜÍÁbƒÃ{ˆxâáÆÓ$ú<š éc˦UH<~9!µ¨u[§’OÝ#¸X~í)’ÕÌf¾ó³gæ3i½uÊfVkJÄA"ƒ7é"2ÍNk=ÿWÕϨÖ}hB÷G¾Íît÷"Ì{>™WÕá®%9N>\íb·¹à½oÞ‡ìì-‡\s1ãE8ï³hÞ>.< GôÇž(gëãðó[ÈâÖ°T\Dœ”Dõë±A‹˜ýí´?˜§ÖËŸºD$½ÄDË pQDp\› ʶ±ÁHµ~Y–¸¶ ¯…+c×ÉH' ]e¢½™ÃMC  Iz¥Ý'øëý„¶<%è/‰Ô_uPíDÛß6” ª²îšç9Å”ÄnŸ€/È5î|w›%}z2¯91ÎÈ+?õ>äÈ®òÛn·‰È¤YV\“È·½~T¥!‡Ô# èil`ümkÿ„·1óð÷xëü”ZàÁ8ä~OZhÃ{b• ”;öÍø4Të@J–åé â=m³ß_§w÷ßæþ‰[€IcÃ0¢µžn i0f+xÞ¹å#"+—Y•’5Wñqò—ŸÆ RñŒJ4‰‡±4yûl%€×ì­ö5J1ça70FííZ95Ü"mäæ„øWÙž(½ ¥þVå#Eûè ï[&k{¾uUâïÏŸ*@©K†R©m™PqÉz‹q‹ë~ºàØx©»Œã€rîF›n©µIsÀÍÿá»7 ÙcŸã"‡–ÚÊelîX+±QK©ïÅeƒ›jæQ0 §OÙÂÁ}åHµ„b»˜ýH#! ÄEçÔ Ø5z噀d`ÐŒE•ÃàFMÎÑôš>ëR1×FWµ¸þ0J}GÊΰöY$,&gíœ~¦8”S’ùðäe*ñTm‰“'ÍÜhd ÐÍ„‹Í ¤ø óÍÖ0Câ¨ÉÇ™ý~®ÂÅ'ï=û"Éqˆ¼G ïjùÕÌSªÓÜäWP åñG| Q·h ¸HÆ Ò“°øáÅjñ½|%‡:|UasK“¡©=¸‰ Ú«‚þ d_ Δâäg»â] í¯Ô4EÁdÊÛ‹å$,×tó\Ì3€z<ß–…èk%ʈnÆë òN&"+pÈC3íÌËWÒP[qïÜ× ¸„»øÃé|:Á20ŠH&nÛ"ököò‰üû9 ™²dÉbN}ÃúLâ°7WM„š¾ia€r”µÇ¥¦$Â/¹ß™gÝ@ ¨öÞ½Ô­ÆBtùŸ¨Wö¸Mµ›½‹eÒ;õp)©“a"3¾lNO:<³«ìôEEí±ãŠgüãDìO§Ä /èŒFÚÐÅù•ôõî èÛ&†2yfšsž÷ƒvc«ñÏ€ |óå§´ @KaÄHÂëIé‹«d´I°Ù渜cà©9ÌÃR¼) Ó„¢†Ó±ÔW2ÉÑóðÛ»ÞM$E¤ã„V¸äÎ¥jTþ]ù‰žlˉ+èÏî¢C±¥ ì"a?SlB¨›½=)Í>EÙTÓâÍYýø%®•–‹Œ¦ó OqÁhÓœ0½â¾æû@½|èö»Ì†äMTzû“¡*]YCц•¤»ÞÔü‚™k Ccæ€'!RL¬'šÎEO©¯>|B+Œ A$76!²z6´~†LŽY—–{ ÑõMêß+ÖÈÑ&³š¤bŠL 9ÊBÌ£ýŒ aôéÆm“ÑôŠjTd) s°g)uÇ$ƒ%†´\íB®ß|PW¥m˜Âç5µpwØÔ*¯µÀ˜´^õ¡&¿Àµþ1»ÎåCòÕžy2¨~"y½k^¶þ$ëËÉ›Ós•?ƒ%‹kÄQ+Ä\GØ<`I#˜bݤ])z›&‚‘ò¸D7é7¿ÅëDmîMñÆMø“ SJýqˆbnÅ}½œ±ˆ¢´)°$ý~º¼˜;c+Ô£·[ÉH/ °t'E˜‡x2~UÖ®ˆ¶FÓ’ H!ª;˜rHn¾wÏ+’S¹x´¹›B¬$mDY™pÜÇDGu »AM<®"gÞ–¸ :*kßÖòè˜o÷3ï0?Ÿ$‡yâÄ~WyÎÍ|[Ü#ÿEŸwù•6Ânƺåm¦‚“?—àE¦„bjXÍTį¾ï…ÌöÎܾ;ÉÅêºu–üƒ$ê’~ࣿT¾ŽúS27?ÿ‚Õë+`Æ ky)úˆ¶¿~V÷v2ÿ5\½G…í)á•ÕÉ‹†[;‘×ÎbPÏìC…¥õLû€Ò§×< ÞoÝ6~ŽW*\dÜðÝ£KCŽóîãJPÚoóÑ7}Òÿ`—ß¾Ú¡8ó|–‹ÿØŽ©N佊G–äçT(3ìoñ’¿ü ®)ëµ=¿ôçÀ~€Ÿ¯~|°=[Ûõs+™7(Jhóx3³ÓDqÃç~ ;LvûP 2Z"ñ§ž YãÌ`F§/âêãßÿ{àjp΃RzR=BNçàÈüê¤7V™2Œ¾à†ˆ²:PIÊ Ëø)‰¾Qðùú±Y×ó_tHÅ-h2¬Í.¶ÏXJœ?N;+q¢¡B™—ÐDŸ¡ôóUCÐ…^n×FîËT_Q_}Èe e Ãi JÍêJõ}^@PÓˆ¬¬´¶Øš®r¸¢»ÝÊýä_Úcãì®kMëûê-7êËkoÇ·£9u§"Êšü_ç½eL¥1†i›vÐèßs'™a¢?Ükb~ìÇ/&¿R‡³Uæ²B4T;TiÒšÚ¹ù¿t„°IŒÂô˜š ~%ö­s`’'˜Ç }‡^ÒÏ|¹Ú)ôÕÎ2‰Q4ojù*ÐŽŽ 6#òÓòËz \´:Jƒ‹è*Üø¾u† ÈÙ㶨oß­oW>±Ì" UXúð$ÁJl¢Ç m?¼&qÚÐss¢÷<î w`v”¸Oè{‹ñmƒËé%Žm;r]_ì2ÛÑœ³ž06ABl¯,ò·Šâ¾ñ¢"ú€Â±â(è3˜Ø} uA=[ÞÇÏŽÜåÝÝŽEÊŠS4™Tõ"âL§t`#Øê‰o¦…q[·A½²I´ç‚¿P[áè·Ä;£4hÉu1ü(#½Æ—‹u¦éOü%®Ïx^ÄL`AI ¬ZÇkóå3è똶‰£tÁ2±¤³<8?£ˆŒ>Á…¶03ØW<ìE¯`æÊ4¤Ïw©ÏÈ߬Øîp)€rD3þ %®÷ųíñ;ãU‘X;(G·Ù3JPÅÙŸMPyØnñôçøƒ"RbÅæjDÂ|‹C8Îx¨èÀÀE+]DŒ „˜÷Œàk9únσéç]Ô óÀ=î [²zóFöXÂR3 Ñ놩|~µÔeVS¢+3£GÊŠ5éÆ)#Ÿ]žbÐ\<(Þ/ÅÙÚ“»Ia|y†®o)Û4v ar¨Ѿqmqsb“«äÜËBáÜV¬÷Œ*ëªÞnÏ[¥ÏñižNT¼u_=|NÚ3ë3¹‘ #ùÆóVÀoGé$[KXE SƒÓ–ÆL­7KÔÜ5AMåœAîÚ¾,Ï1œàydè>Yäí4‰zu^=F{\©7ÀßK5ß½ÜÒÜìãÜ>£/:¬¶ Scæ¹ûJùäIçµÄ_D¡wÿ%.At‡s¨P ò/²¯.¶ß¨Ø{“OG…’”‘÷ñ‹’KÄë „Ðñ ÎèhÖuAâ$„u=ω6©Ä65“‡¨Ka 'ì%³J¯e¼>ôMé;*uÍh©úÉwš¦Ç$ÜÒv:œé¿£Ð®ë.ªŸöÁ…=² §¡,U€ç±ÉÊ¥ã0da–Å$±}±ö€Ne]ÔïKò€ÔâV1*ÌÇ…^,” |óbLõÕT£2MQs Å‘ Ôp@ÍT¥œkÔ$ïýfE¨ŒÉû6ºÇ`çøÕ¡xVÁiø°2'Âoo™«ɆFšR‹=å7‰|f­dYL&f kd0²Ì¶åƒ¥Ñ³ÿ£ËUœVèlH¾Ÿ#%…k¹ÓýZ{5G}©3 æ>NÐx"p\r;SøsYîES3íbØuÕfê}Ë%ÖÀ40áüiûæN$´Ÿ¢IêiÜ®ÁWÓˆCºHç…M“šŠü†8Z„ZO&Ö9`¨ˆ”˧›CP!?¨C¡·¹g ×¢ÝøïÜüͤOqvWÕnAûÊêm}²OæZ ò+`ŠW:GròœVy¨Úeƒ?ݲÊuLÙüÓ ôÐǨòóYˉ÷ŠÃÛ«Ä·bÚ6,ãCüpæD[£ŽçUG¹@<*Uü?—•|¯Ö³û¹"á]ŠyY„~¶%¸›™™²aÛ×;–ǹ îAùÅ…bâ]³ôÓïXŒŸ°ßÊéñv_:uýüzñ• - à)&ÍJj§‰ðq øËd«½%‡ö›õ\rjÃÚ"v⦱»Ô½«‡€Ì›µõ‚4I¡§hÒK¨7ÂׂH~‰ ùdÝ#áÒî^“ÒfjlÊœÐOâTµ~õ&âšdÙ,¸›Œ…ÎÛdê´'bJïƒí‡%œ2rŸñ­Î>‘ÚŸÑ¥ùZäzá$½|j“%¢÷-˜$sR8v@Råì—¶rWj !ÇWbS\e£È6{pÕ¶¯¬Ò!"ûØÑú•WÆîßî‹×êOÀì_ÝâvåØáºLóôߎÇ#ïÁ¨v’ŸdWâXêñãdû7ü說"£Ž<åÕëÕ§Z¿ÀÆÎö‡:TçøÚ’`D8=¯×¥$Ž‚sH™ Ëõüípÿòì1Ê÷yËà÷ÿ h³ã‚9w~šs]šã`=?f繄ÐÉAíXS ²nßæo"_Þý»d`+è¾\î@G%5gvÖø[à$6ëÍU4¢oÉâdÙºå—aD'™—fÚô†ëôD3ÝA²¿¹>Û£îL¸”øø_°@0l߯2O“$´8TkÆn9Üèè±m-kÝ;u`[D¤Èé`"ÏÏûÝ)¥gÞ£²Ëâ7–aŒþd+ƃŒÜCêøDDt‹¢ zÝ!„Ð7t†qÉ„¥Î•z_}è\ûìüÁŒ­cu౑„‚á kH¦¥Oˆ„M2ñÄ;süË™XQˆ©°X…zH]¡±iGšp.ž­>‘í–¢ÜRäG¬ªów‘g¾ªHÀ|(êϦ!íüN•póÂGÛ— Hý«©[7^뀎ۋrCh«í´¼#|)!'é&•cxäè;; ìr·ön$C:û„L,ˆH Ž3A’ mf'Ë].¤Û¤ëίŸ ¥¦‚Q&¶Pµs3–YÌìß6ò!>ùZ«he÷Ë.…ä™2Šùð2n{â‰E1nŸy‹GØÞÀÆÙ~ò‘PŽœÓÆapr.…ÌØo¬@Æ-]U€%‘Ö#z!#‘‹³:>ˆXãý;46#ž¨Õ§N´]×Ûæé›¤îœŽ”lÊ'*AjØÉ7’¿Sá}´ïOXjgÜbê­3dîX„}„Ìõ^ÑõHÑÝ_×@»£ÙÚ`ÈŠË+£q%¹«Yí”ÜH]öH-Ê) 2¬­f#籠º»\´«šª"ÃWAœ3âÁ"ÈM8¶Ý¹'!!œ2£ˆ.ѯÂmËwCµt KOf£¯5×~ÅÃþƒyTÒ]7vÞÒ os/„#„ò ñÛsü”¡1o!ÉEæÆ‰v>øQVÀ•³²±ãÙÆ|ÊVcË/ÄéôAŽd{µTxýPk²™™i¨J&Ó>¶OÆê„ÖÿN3Šéô¥•Y¾OG¨¾E<•ŒqÎÕ™³¥5t™Æz+ ÓËZã¬Ûdª“óHšÐåv“ILzpû?O\wàÙ=Ã@—¬lHô‘çh÷eTXÁ@E>áØ–ü΃Mx×6µbQó;+‹«fü÷§_ .2Íúù>ƒ÷N³ÎÇñJmÉLi÷²RÄqbw–§¸± €8bYJf˜@ê¶›'º#®=oÄ¢þàýuË*1Â|IE@|´S‚=n7i+0ºÍ“¹”–Ë&PÔ\4#üË©«Vo³8ü#AìÓ1¹|ÛÆ8¨¹=Ò7–÷â“‚Y)5h!,+ÔgsÅ‘Ïû²Ä/ì s¸ÄZ-ó¹å£–„eorÆ!þáð¬¤ðFÛñezþ䈹©ð‡²ÕÅáñ~…¥ú&î×¢AøÉƒ¢´O‚ÆêÂg÷; Î>Åø«üøãç˜ðM®††“ͳ„ñ$„”–¡óÂÑÕšœò_•?Xx´~Èóª’¶‹è~w€Yç±ØD¸‡é’È ë‹%õ`†Þ$@ýèðÇeíË!º½ñø%.ãåhàZO’rÃÑä Z½Šs̃9 1ô->ÇméË9/,|®‘~+χ1³RˆïØA¬YHý‹Ë’A´\Wz1ž³%_è ×¶ÉѬ‰³ÿ€ˆÓS½X÷“÷[SÇÊOE'€ñb{ ,Iv¡\[y_|aYŽWÎ[Ĺ¼{´“Mwš¢Jê ¾óG‰õ3‚Lb;öå. p­Q,ÎÍî! ‹äE¯Îá9 å AÆOÒg㦢)j_ì,ìòÒNT­qÜ1¨Tv|ûÅïuFÕíÜ‘òi’>Â}LëôëZÙ¶ ê¥ì{€%dÕŒ‰wáŠ1IF•aL;—ל(~µ¸ªC¡’ó1ÌðîE)“ ˆÖ–4ç7ßKÏÖ>Жxì+Mh |cvLNßxìñ¡LêºGõ5†räm G÷´)øƒE»óûÕ[µ]!ïHzyØ`jjŸñ¼v?‰y÷è‹O|j¸óïPƒ„\@I)AÛ#û€+Þ )NKálÁg_ËŽÉ3±²Û¼/ç%aO5Ô{Èо=xqÄ„¹fî?JSûgC ¬ÜÇ„é(ë"ã£B^¿² ­‚~‹;äèûa}Â(:,?²~`™YÃ=)|ÝÎ|iÍçìË84ûº{$b„ݾ|=7IÜ'nã›ÿ„ >´·¢Äh«G2C¡´G–xÉXS|¯Ç3ᇮa&¾7˜‰Qká¿Ë£Ož:°Ù‚›ŽiZÒÌU7Ky|É{öãà+Ë~üTÎçp€¦º@sðmŒih‹ŸÞGé–Ÿƒ€µãë:=QŠ–Ïnd§½YçŽ2È?üª¦Rƒ³ÀCЮ·æö¶îæuz<÷EüH©u,–´ ‘k,y?! ©M%ä©oL¤{5¶»}“VinK¶¶¾e_ЇÅÏ<ߣ‹OÊÐYWtäÙ— »íQ/Äúk¤€ò^9JŠàý$þîböÈ?F…Nákë¶8yöpÂÆ]£±„'fÎÂPŸ¬aȼ_± Î_ù¤6æ‘䯊$UòÞ›«XIãð °ŠÑs)ŠÖôŒ5èWúËú”[*¥vIpª6;=ùÍqð³óPí :½~ÎSyÿG¢õ¤ÁŒVýð=Ž6[\]Á€fÊ"Sº†±¹ê òd/lƒ‹© ÎÜcßSžã,·É¢{ \Ã;0ɯdëø» Bz£‚¢¯à;iÄ?l×;M´RÌ#òévÄVO@ô ên‹¿r1ŽcUŸÇUÚV°£Ýj¶SÒ‚åÜ7cœ‘ß1|w-`]ÙL ÚHž¾mFâoÛ!P²PÌý·eÄe»Ì·¿:É’ŽìpÅju\i è~9Ù.n$Ò\7èÃùu°SÆ}Hž !°üp@@M?!Èî-¢„³#´Ô€MØ2~ð†¡‰‹Ñð7å eî€ÖXÉIrjÌ­ád‹Eœé²AL­þá&øþ9ÓŒ¥Ö §i+ÏgªÅtœˆØˆn8›‹QE’ÀaîšÜžuÁa*iê?Û é0ú¼Æ6ë4i®à§™Ò%!TuøTõM N„•ù÷&Ù5Ù,7q‰pÓ…‚2íà/–Å pÅ ¯ŒÉÏÍŠr¶AÝi?îû\’RMøøGÈÁ%´Fú+®qX' »ôÞtãH3òì®­à aë]zôÕV…׈^qki_޹_qÞûF­~H}sbÖ´oÁ„B ${t>VrjNêL–=¸Ø=¶¶*›³L7ø¢ç3t¬éß´dÓ­J½ôŠŒõ}‘­a†4Dˆ$tkv'ž”qâˆWq®±7vċ΄r-×ýê¨ñ“®Ôg‹/$Ù-\zb‘u‚*¶× ÄçÀè ]Ίàw® â©áf¸{æomDÄ-b±¸[^Çö‰õ,Ä®"´Ç[ØÊ,"ÖgzG4[ÜÓ9¸èF›5…ÿTÁWþÌVpÔsM{\MhÔíº÷Ê+eW ¨ƒ3-ø0ï<•-Ù±Ô×;Ô!G§è:p*ø­AaDŸ P†FÀ{’®å_¨†3Jzd8ôš=vÎC¶ìÖ­°ÇRLiywÊ]‰Ñ»ÏýÂlCÁ¤FGbfkÎNzó¼}n>*k_f/Oożîà¯+ÛÍ9Ö1ý%u ß)R– JÇ‹•Ü”$¸ðJLzõæ÷ÂUA¾ÏD$Nà/.yé†Óàa M0Ìž>7ÎbÍ›£ÿÊX>!Ä@èøö‘¡l.T“> YçXp(a9–©¬üIt; r.›z­þ&3"ój íŸÞß©ña–Ú¢$<íIëmûÈ.Ã}kô–H6Œ»Ì0#­ç¨lQˆÐ"ú ýw@úÂùwHš87+ˆ#ßéXËeÁ§‡úüP“ìµß%÷‰WgÿÒ"ð“¢³nìì;oÆ:#ÆVÝŠú ñuLX|³ñÛ9’®‹ ÄXÖD[>ØvŸ¸RÕY‰Y†[˜”dd¸ë 8†`âñóìéH\\·Zñß¶ûòALˆªë7s”[8;…[žd ¼@R…h#ÊÊÌjõ½áGE瘣µá׃tk§¥š6K#Ø.,&^hEl ,¿%â}Ëã¡çÖŸ%‹¡ øXš¦Þœ±‹õ•Øï!Jmæîeb¢ZØüòÆŠ.,OB¹3L{\B%N|ðÊ¢’ņñíRW¦ˆÛ¤=~<å+( ^»Œè>PÝd·ÙJ½;!Yÿ:|1œ9o0åŒÃÖÒÔ*uCo}Wy«šÝ2ŒiÞ–Í— , Ïêôl‘ÉLm¡>nUˆRŒâ´È–¹§ÀoïN“­¹©U´èÈ2„@ðot“Bª€ö+¶?Üÿ묦@Þ¥‘‘A}6n‡»y•~í†(Ð[Vëfªøƒ®J·1ƒE_ äâÉÕ—•‰r¡‡R©itUÔ×K­‡í±Y-S¸‘¸pw1³YK{‘… ƒ„&ZÜ5Eµ£tCŸ,ïÌÇÓž³ø1æÏ©•ZÖ¯íìF×­Ö4³³,w²ÛœÁpL¶bÂ!۾ƞÙ7wr¾à” ЪÑpN„•ã¥ÈP~(°˜iT#Ÿ£xC[Ùý]£*âso Üû© ]Ȫ MÉÇÀfå¥õZÉ¥Ò=ûºV9tŽÄîD@xÆ–¼¨<Ô¤.™€CÿŒÒA5 qg‘~dã2F D‹õR”¼k6D]ÔØhT(º¾à¤â¶`:xpV"𥼠Ûn{= l«Á„þõøihTœe×FæjÖ-Z‘•ÐÎÖ²n§ý±Ô8åË<Ѥj’¶lªþŸys`›‹t“ÿy¾ù4zù½ Pp¶Y!}Ù)ÆàdG¬P,Ó3ôGþèl“ÄûÑœs•ÈåÐhý™ù³¶³Y>à1îâx†¥¤>²¶Z¤„c'ˆ‹¹ã’‰AdWè‘z¨¨ìö†R¯“\×3 ‰Þ3küC´²}«Óí2;Üh»mæ½®eÉëQ0úCó´:•ýBRÁœWݵԹaŠªf%m„üÄ„8Þ@À…š·ÕÜ)¦–×JM–UÝeäG×µ˜Â®Z²li$Ågn‘¡PÏ`g€‘_Ä9©jù–"AaTæ|’:¦kMCº ó—³Uw«\†8*¿/þ¸nXô³ííff65VQá#Íãåè×)»Äàߺ¨¢³'rÄä••U;Çž-7ýü—¼æLoø†\‡ÆµË¬j# ìà}Ÿ†©3+rƒ%‰{ÓëNÌÜoÇé ×P!‡š—OòWdû— KAň’F<¥²»±a©è²D×`4ïnY@8­ùOž˜n[–åò4•°ÌÍ(²®vËbûЩ(ÉD:¼9*1޾V‘ÅÆ¯pˆÜ÷›²KþBAÐËÙ¬ë—Ô&kÆ‹£ úÜa3á2-Ž Hœ )Bn(ÒÜX‹jy뻺žlH³ÿc¥&Ù¬g°ÕâC2Ö¡é§ [ܱGó:Z¸wǧ}ø®71ÒDVJVaFJ`+ÞÑŽÎ=ÈÔO‘eÝVF‡K2Ð6Ò­Íÿ¦¶=ØžQ\Höälíø¹î@P‡©= °bŸ³’°Î~c4ÞJ]7wÿÏé{=‡È°fžñY<ïM6‘' ýÈ©>CIYŸ·SD_¬ ôڒɺþÈуl~ä7È ÂtbN°·G\E¯õÇ8©Æ*í¨4õ›ÝS(T$ô£9žÎ÷J]œþH‡«FJµÀ³[p&Ã??º³Jÿå)4ĤݭRÀúh*h—ÔYxÅŠ%<Ñ B]døŽª4ƒZª¦Ì'’¯çš—~¡± Ûæyºë±w30MÑ…ÂvòP?gïÓa*ƒhÙ&Vϱ|˜Q!ÊäYvç~Š™ïÊ#ù%¡Mƒk²1àµÏ˜Ù7ìaÐ,ˇ?¨(Ò5O¿Ì-J`ŽP¼_`ê=GŠ ÌýÙÿ˜§”ø-‡uú®we‰$2Å̳“±2ØÀËD™"Û U&ÁvΈ ¦ý3™ÁE¼Ì™Çš©•š‹1ÊÑA´N{¸Bê¢îÆÉõÑñFlátGšïi®ÝdäýÓqF4‹ÂK€°`Ú[|äb«®\GGÃlïå¼ (!œ73)T¢¢)Ó•ª˜Ø#²ÿ^»H8q‰‰9ù…ÏY÷ ð«‚à¾ÛO¤¦/rBœâc-Lþ.Y\ÜRd3I±D{b­é½˜ÃL\wQéc7Y¬ƒá>×½ fP“B%ÙËmwJƒ—6A¶­øròhÀ}ç‹×6ï*õßÙXÊQX€ ÷²TDB %uµ^éXäÀss\ñÜc¨þ¼=OÜŸ_HV0@ÚjÏWÉuìˆF©Esaâ›<¦XK!à„ï0Š[¤V5ï>¹) híç­µ“íS&¤1Îö7„Ÿ$ÄÏ/ºÜ¢¤i_9(ÓÕ«;fâï}¥Â]Ý)à3+‰¥ÕGˆÝø¸ïPL¥kgx˜Iºþd?#ãmN/£Ir²¢4»£wàÌ!L—È{3k ®ú–CcíX¼æ5jOŸvÁ¯1êDñq€iÇ&óÊôZo…?õ`^T©ž`ÄAkä(–>ËZ±±Z™Ç¾a]¾D~¾}*ÎQξYK!”Ô"â`A,¤ù®Q„¬~»ev÷õuËy3(¨Xêø<Ά9k}ëØnùLê3#¥VèŒ_u™Úlè"S.é7ä_MIS{ê>TÒ¢x¥›j˜)4uš ûÃýlä¦SUþðK"?4úsõëà ššVÒ< %™Ë¬dkV¸_†¨˜ÅÙ ¤3æŸÆÒBV8¢Ž½6ô¶‚7ɹ²,9 ÜšžW±Øk‹K®‹9F EÿÅóz)¦}Z¿ô3nÅ…Zí±81eÅRß7»(,¦ì 15#†ñ¬©luìª=üm¾)*£Zx6}ÿ¦$Ù$°Á~ br&ç«!òà»89D'¾:7T†iÊ'VÕ6ÓÈ öû®]Ž3gï^ìÁödz‰ù•…G8à”üªÓt. LrÞúqƒ}'!M<ŠÂåäÒ\è¹J*YO4^å;:íSéÖdŽˆÅÛì×µ‰'æ¾¾ÆñÓ7\Ø©bm#¾NäÃ&Zò6z¼X|± Pµ€zÙ›”·û,ñîOƒñø[­ÃÀkž‘„ËvÄ|NVgƒqŠ®7 Œ`zzm ŽiŒš²+R»íF)|?äSýЃæÜ«b?‚Cc€Tà–O;Ø ‰zÿÄSØmŸÚ·~¹9Ï!Ö Š^AOhæmÒP¸ýûðZYñ¤Äçfˆ ø1£h[¤µÏƒÖ¼kXûݱÀ¡Ä†·êJ*Õ-¡êÖ%;)aСNʹÀ:z^¢ Î0 Íz­ ¦Ô¯~J÷òÚg«ò!üMÅ"–€±P2–c«úgÄYa\p¡ ôeU‚ô8OŬ´Ã /‡¶&J+TRú|IÐ)‡‡7‡TÅ[Ÿc6?U?ug;¸ZtË£¤nôU7óhGʼr¥  X¢Ð[†O«Ê¸Õôï´‰»UñòCÉØCB‰O©TUÜ Ûq› ¿"üÙ8WcUQÉŠ øšäÍNù: ×é˜>þI Àiï#kàá®wDÔgf9¡’L´;íÚDGÀ°.~›!ЇóÌ61iñ¥¯÷lÒvÝó¬xC))|}9x«GSǧÙO;sTÆÀ€ëiµÆCt/ȇrm¥3–¾* §Äé¼¹YèA¸8§ .8’a"B±DœÖH~ÿùFœr\¿‡ö»û›N èÜ1YÏÝ V[Ch$_•’6 ¨9¨îUëÇÞ¦9ÿäQB<ÖAŒ÷°k@¦ŠÌ š‹E€šj룻ždâ³ÕiOÃFå·ŒBjQi7"‹í4¾]»ÚcVqµ)šIŽ£pdžÿÌø З­ídÜ öuîkW6bÓPŒ’>ç:L»hÛÌMÜD uÐôƒÑr´ £Êp*Ô‡ó'Îâ×–Ë=$‡/¯KU ðJ^×êý Q?Š~©ˆžŽ‹Kçß­ˆÍ€›ŸÝÓö¶ËÐÃéCð86gÞÓjÅšw_tŽ%ö†ìDˆÏwÛAá¢LXÓQ×Pw ƒ*Ér¹Ñlj<‚tBnøÒ“{¦•¸ÿøÿ‚Ȭ˓?jÄ@‰±Q\ÞÛô…¦t ЩæÈ ú¼¼·©q^Õó&¾qB÷°á£žù÷Û5¡—7F?ÑIP1Õý¯®ÀƒîöÜ#)aT§PoMGww‡Y‡©p í¨Æo0™§lÕ1Ozt«ïõú:œK )©êðè× õ˜~‡7.^/Û»ï>£«~  M«<«”<]tƒŽþâàÕùâ±õmÌȇÝÎ^b¼áù´ä«ÏãKÎG2YOóéaCÖóä\ˆ„Ú,;X¸‰¼R•l8šÞVÎL£$%ËÉ¿î´×àóõÅÚ)}k 3½¬ê‡[¿B“ÿfFC“#ŽQì©â‰ß$FOw‰¬2Ëx%›$÷¾NÔ_‚,"ÐHeÇyîBï'O˜Táz‚¾Ó¸Ÿ«St¶Äj?}²Ë/ ‰t–~bÌjÔ‹Tk·}q¨Íø’˜h‡œ ®öÆú-‹]F¤¤2ah… ï¸Äè 5 '½]F-£-Û$«Í%â&½œØ›Á/ú®:îÝg1©Oµ;ù²¯@íÚ:÷ýþD+yk'ï¿Õ_Yh;åâd ˆi0oK“ïIJŠýV5wÁséÔxdév‘<&uÓ´‘Æ 4 M€ ¸ë¤«×ªn?<.UÔŸq‘AÏZ¢¶‘uEq™(iŸÈ|–“ E騶’A„2–¿?Çܘ¦ u9ÖZ±X‡“ÒF-Ê pÆE·•Ó,wæ#]‡”œO1 È~ö p‚Ë-`f¹Sô¢…Î\xžš%‹P0–44f/öܵҙhržý8MN­ŽÀ4=’!–³½š#þ}¶éÛsürŠ4C¹j~QéU± [½ž1׺%BNàºwÊ%jäezHc‹Êñ­a]Ï~ž#›ñáÎ?óÈ\ YEöQä“åUÍ6LD¢¡ÃC­ 79‚gǦ§öýï`RnÒiró%˜`A‚H†(v]ÍjðRßsŽ¥,¹Îœg½0ÿ%> )Ðx6ŒP54»,›Æé]€·‘ÑìNÉÉ€÷¢`ãYûþF"VÔìiýÁ¹ý/9”°hÖS¿]æb-·O:ÐÒÙ?-l·-cŠÄBvqÊâQÙ¦F d™ý]ÜÓf¦Žæ¹g–wÍŸd÷Ç4©†yé"uN£W‚ÛõƒOç#ÐäF ‘µ÷å@2ZŸPØ¢î¹$0ÆàP.Õ›îC²ÄF´ªSzâ‚tó¡%üjú¸= #Ú/¹‡ú¶¤ŒJT'åÆÈÅÙp×n´7IÿjX´1o˜D¾œÓ{\¼â·)Ò±9¿ã×2ÿ´£Ó‡ìüŒ1ô¢¤ì¦\_õF]¼ks›3ÝÌj…9ëS„Od=ÑÄ©ªÀ44*·^¶ßRÁe6 câÞ‡ ø/"’®Ðð O3¿›u¡ómþä§@ôíf{^øFBHg¼f¨w‰Oº‰ã4¨§mÏ@7¢ ì µxfÛÍ`’#ž|ú# ÂMz»âÖAB•³maÄÖ¹±a4vòÖ‹›—ã#¬Øû˜zÉ®FÜÍìCD(gApÛ!êëK·‘?NlÝß#Ÿ½ßG(‡èËñz6g7Ƨ/׬ÉRÏ»%ЧUÓ±É(œµûÛûªjjXð!…|˜aAŒ¯¢(ÊØÈÝt_òPù«XÅÎÛ?DXïR7eÜ9W›Ú «@Üû½øæ!®h|t•¦ ¨ÇF„QF%Ç Íl².)ÎÑ9ð™f’†8I_‚!û«+Ü^eo,´P%½ˆ¾ÿè|A)™NÝ0Èy˜ÿ*¨;âÕþÕAï«ZÎ[Ƶz Ãxs…ºOFѨFIN‘ßxB±¢~4ßD&`…{¹l±”VV·/X|•xý°¢ÉÀ|4êž}U´íáQ 0ÈÚúÎ/’RU=ž ça(×i+³å¢>qS$‹à± ,º}åÛ3WÑVÔý‘C|ÄgÂÖèx¿9d´4=??R[ ,ìK†+¼ÿH)Ùöfž£.jôž?|ߘE¦6à|ƒ£H1§ÑÜ•ì.G»|0©Sh<ÚW øüºŽ˜-o'xÝ–)8jgÚHbùíÇ%ƒ_|ÞŸ².¢\kxFNŽ™'3‡Bíñ=ºÊ˜æžXâ̦ÂÔ¹iþLÑw ƒõ±×¤vð^—lçØ»LN‘D!Ó{ ŪІâ|¢ ý7­P'O#¥êáaV9)‡Î,Ê’A²–‰l/EÒÔ U5(yYSdźë³%>¬·ó0PeÃöù–Q­I3…ú v]ªïè°“@o§P"÷Ù–òG™þößæ¾b—OFÕ‚76FÓö¬òrcNŹv_äY T^χŒ£½¿öÃì)¶_“¶óJJ³áÕeºûõÑܬÒÛ¹ZúX¢ó½¬ð¦Ž­óU9üvdņŸ[_YNÞV„畇òŠÐïÁ®ÇïA!ÞÛ¢4蜤.Çtþº‚Q•KÖö¥5IdÔ=Þd¼*ž ¥ã5ÆîÿšªLç+Úz=’£~ÄCºÉý»ÆÏéH¨ù2à²ÕÞùMI¿µ|d àÁ i´ÐÔžIïwÍ"£- J}mºd÷¹Öôj5µ7fÌG‰š/BÆ8:Š÷êq Já¸xò§øÔd ,Ì‹v‰áNü½^¶O4zoå ¶—I7cÍ07‡É{]íı"©r:fÆ£G†?Ÿƒ!y=tjµülÓüöÈIjBÏø8„Ö\¹yP†Í[jXçàÃ%Ó㉼mzïìpyÿ»žw6T¡o’=ÕtÑnÛX{¸IS(M ¹«¸Nò8£Z&h>Í¥™"fp"±§#й¿ RæKõÅ‚pP±ìœÜ—yþáC©äG)^gsžÿGl9 _y­^ïÌ–“RIE¿G/£š«)4 dÅsŸŸ‚«¸•äD¡£q£ËÖHS²}H(¤—Š’Pœ>»¤Ä­Nݯ®Žgé,¬Ø ZÛS|ìßdQÁÂlô šÉ 2ÅBnùŽ;ÿX;‹ÿ×è3,µ¥\k3E]•ãcygOoYój$vbql:™èцدìP?À½Å2t1åDØ0;¦þƒ×ÛÎè¤*ù¬Ú‰Uœ½Ý«Rërx-ÒìÁÎzÌ#ɤåù-ç•PéŽ#~Ts-•Ãî)ËÕV‹ mš ÐÕÀ*ž^ϘKþPÓ®ú¨Ï 1ŧÍ-Ý“9û®Î¡üd¦çï £Lt…-S©í'CÝ…¦‘8ò=Ú[|x3CbóÂvÀ°]ùÖ¶?"OÙÙ^“5˜hMzýUýq–Ê|#T4XÁ…Öiw1-Š|trp~Ö¯ÐdRÃ-l &NÒqÁ%MžÙÔø?õó…Z7YÂÚ®Ÿ”£`T0*Ÿ'fÑÏ ñ-Õæáâ‘_÷¬³R$»ÎS9]ÔJâ÷bÂÐ…O!{ÍæùP¸š’ƳVü uZW7¡YU/¯+‚7á‚+Ä#±ÈŸì ˆanÑtÍþ0Máë™ë éŸzk'*Bº¾}Î,Sþÿ¤h/KäùhMû…gêg/ÕKoa³U„¼Ýµ’¨°Làª\«&™}½õc|Eî—i!@þq!ó6€ðó³¨Ð,+€Š\¡iV½P9š°Ý ýb«©6Ì?& éH~ºG™{-"ÐvÃ^Öʨ¼·Un!kÎ^7U[œòþæLÄ“c´¾ž‘icÂGЇ±qH£%ó ¥ñ8ôÕ…DýÃËåÆm¼_Ñ'kô¸×Óß‘ÙöAÝQë~=š‰HQ>üñGMnèn£ÍYѼy¾ð‰0 ×ÓÊYúXë£"P¸@Kš6)ÓQ[[#O)+Ð$#8û¥ÂS•ü)áÚÅ®ÒÀ R½Ik¸ÎžµÇÑÒ€@»DB§N* xžEÐùôȾVi€T·Eù@øšCJO,±Ÿò/8ËlüLZ–F!oyÖI£_ užèŽÕÖS¤8ÉE†8¸]©m±¹»¹Å-aå0_>¾£Èa>áh¥ý•…tÌúW̃ @F10ìJÅÕ¶:3õ{Æu+VJ`}£s¯£>]8Zz»ZÏ¡_ úêÞ• m`bmGxmwº´Ëý÷?³‰wÒ(Ga…2MX£¼Ðÿ&raWÒþSø)bY B}âÊL©ÎÇnøµÉg;ôt2ÂA3‡ó£õ8â¦ÎÙáŸ? ÔL@WŠ“'rfMKì½’l•oR9Tˆ<Ãëmš†;X=9LæBÔ#rf¸OÞ\ä¢r= @ªs}”Ep{B¡Øø5ëû¨»½H•»P¿nõ‰´¿FIl»EUÅfRH“^õ^|¦½2XÄ¿óèIýl­§ÿùù¼Èô_D°N±_QRÖLÄ=ÃRÛõuNL¿Gî¾îÄ’­ô ì·Ïb}Jâ<¥!í*jpÛ«"p÷jÏ¥{ÐÕ3%?Rsî{2Î/³rM`i­ˆŸÏ?£ ×öÈ-Ô ÏÂÓ °@QÊlÕ­ÖΕe†öQeÞ~¥nGÌÑØxǬϥÃþ›1g¹¸ÂäÈÁ‡QHCôÚëù/=o*%’ÅCÈ@˜Ï|n—D™³^âÀúì¦2ˆaÌóý'–ÑFàŽ¢¹È%ꨵ! Ý Ô*„Vºü.µ¨…ÎuQÕRRÎø¦þÃ∖³kF๭ÞÎ(éÐ*]BÒ–÷±ž?ónKh•ˆ€3ÑPÖ'Øte†ŸÌr²ælmÖbQd/¥Â›š‚ËzW“ÖÇ4núÏǯ FL0 Ü”Úu…tW\©Xv Ü›2PQd­Áj•Mwæshü!›ï^ % «Š]3 Á™<Ñ`&©g8£¡@ȲéæùÎù\œÊqÔuD$"pòómýÒyj}OV&䛼áG~Ô¥¼ F Aã¿j”rŒ Ì™ùáKT¼Ê]#i²m`wiÿXȃ‡œŒŒ85GfëñΈýVjoËÔ*õÅø]LǸJø•¿±v‹–ËÿÇ¢½*cê)‰lƒ"™æÉ^è‘8<Î6/«Êÿ6®åia@Ä}÷º°q®dû® k§>ã>¸“Åv-<€Îžç1©ÁUšû¡2¢vè{]ñÈ7>k˰¹•?##°Úy„¥ót0Iq.Ù¶Ž–Lî4‰ìjô„ʶê ÑF l.qh‡#l{¤<Ó&å(®Nº´a »LÐ; O„EÆLý7¨(Q¼ ßRÓ œ aÐÕ‡:Ë‹J&†ÆhR^„Ës”pB¥àâÓ†€Š ,l(ÎÖr§éÄ–Ö´6<òU<Új«ýŸ—b¢æïþ~Ú52Ù„ 'Ìáõ—–šŽCCõ7Zœ\^I5Ó±¸™‚‚ÎãÒ˜] ¿übwµEåYþÀ‚Psî]ÅfM=CÜ!‰ª©“vf…áý#xžõ.æ¡q¾îó° Š[оéP6€Å•%û«'Û““CBÝ !R<ÏÕÇãaNäòä÷aEª]ìÕq2Z)L»‹y¢š3×?ÕYÏ7k¹2ñÞ……³Dî–kè)•áWDowŒ¯À§wYÜŸ÷Œ ˆ(a»z ­7÷R_Lúmë“/H‚âUއ%˜l°ñê ÿÔGB­Ù˜¿A ‘« ɼ¢ÓêhŒŽ(œOÜËQvÏ•jöo_ž©–$™Jz›]Z}+9wåèÇö0+Sãë{[¢*#&ž¥’“{«é;2hžöi¬Š8[°Oæh†\# "‡?ž"áFÅJéîÓ¦Yõ·†¤g¬ØMêÜU…ü­J¾WÄ[¯Z;c]šö ž· ë@ICØýß„upæüú̃œX_Ñœg ´À­ŒœÞ·ºßÏ‚•Ž8û \A;$,Wø8A[*šVÑœmßx­sˆ)xm>P( ÁîKÇ‹œ¯›»ereç®k+´ÊVqˆ&Š(/iÀo&E@Úý]Mû2õPYš õ=yó–ŠC#4/ò£éjBÔ÷Þ\Óµi-ë9¯IÜRko£”wG\·µ& y!Ñ…›z‘°wJ€Ê„AJÒ‰¾ šÉ"â*uÐ'5ø]å;m¥¶VC6ø’“ÜîKÙ[ulÕI·ÏÝÐ5I;QW2¬Û@™W^¥6\þ»çœÛmó›Jû¼Öê„õW&–rw¹»óxKP-ÂÉaršüög ÐTq-í¹ÐÄ0¸v­µG«|-K:îl—kþ p„ØÃUºïÕ9¨\LUÉßHþ¼.ʸ¦@€¡¬Iu{T”Ðö %¶þŸéç…Ô#†­¿ãŒS7„©£Ú:Rý¡ÄoímDˆ—ñh4³áuWzco"y¸Š÷:ôÜ#…§œ®Ð›…Á¬ÏòfxsAp)·€¾ëC=eì] ¼VŒ²$ÁÆ“zj9s²;ß7g΄QöK§ZI=ð½›tm¨=kgô¯Ù@¯¾ŒÕZôeOÍŒº¥ŸêŸ‰U·q”bÃQΣASeK}v@éæRÇLˈð;¹z3vå‚nPÔÐréç ô†oë´Ö5ðƒ9OóÅC’-Y1´n2Ž'y² ¨üd º_‡®:¥ÂÜ̶¢tuNh¡S’Š„á^”º¨ ý”FP¡ 2äbK+Y=†VzÃ:v\…¦( )†aþô9o=B'„… ©æ“©–º00,/Ž=%w&õYÊõ'Ï.Rn>ÛgñfTxµ=¥Á3¯) )úŽuúèï?¥µÑ÷¤=+{ÛX >¶IgŽfQBN~†3¸g^dËüYÓ_ ¤ØT2⨹¦ª”©§ æg+·F¾óÃvÞ-Ú¼DÒ8|ÑüyvEDW™)°zâùÑnô¨Ñ**AQüŠòÓ:ȆdÄdnFZ3)h$gsYŒÕª,!Bjô‰0kÍ‚wÇ×¾[u‘'Ý6Í$0&ös·w&®å"FU Tì=4ÇžªŒ¿Æ}½„só_! é/b 7ñ¢^K¸K_Yf§{ÌeTFà—ÛE*ÓhºøQ"“–Õ¸¬ì£$ÛÐÚŠ^.©Rïå•C ° ‡6“g¢=+ÿyN˜Â-îh¸HqvÌÌÒÈ<‰¾Ži4¢!^F}A†îÌ?þðSmoÇ¿•š8m §Ò#–®Zý7KŠÌVP°¸A99¥: b³ÿ”ž×èÇÞ={'u|ƒ¹›/¨~–¹/ÂVÈçn2-GR÷®À¹ÜZ°òÜ»êâ‘we”ïÕÕØŽç(sè9 ¿¡úY¦n½£Mº¦YÓW¹¸ºóÀ>(Q™;q=—6aÓŒšÎJÞ—ä‚hÔ)¢x7½aÁÊÕvVø—wÄÈ^§ 'ÍFͬ5«ÕãØ?üŠHüiiŠþ/0×Ñ1ëÕQ_¹åß oi±±ÄÝ3hí!*ÊOvQ‚“c1Öþ!v²VA«šM瘲wm³ fœ7Q»ƒËÖò`z®@ïÝÕ‰â . ou}V,ùÔŠå ±Y-5– šÑÖ¤ÔhYdOUÀ¦߯€6§ÞMÊxQº_½“¤´"•·©o&»ÄZÅyä 5†wú•{0„\ÿöÈï·ZÔ1Dì!öÿ Í¢°)¢¾SOû²âîAÜî¶Ž– Lž¾Ä.>¤ù¤ [ïÏ4¼»ìö–qr(ÒêÑ®ÇéãSxç\tŠ2ÕG ï †“åñ,‚3öÞS/ ž1¢IÑÌ$7G¹jéÇœs"Ç×"¨pI3ºå²ƒK>ÀJÁJË©PßÇ»Í e¯ç­ß¤›äëh´ÄãÇùàMHJ<õÍÿÌ¢z@ñÄñÐýjXN«!º+u œ8Bl#ÏQhWkmzÑ[ì[É<Ô„ïBMª”`ÁËB¬„E ŒJ,bU@ñqÐúñ÷eâÕçæà¾@³G/Ö‘ãn=³ P çͨ7 ­3qÉö¾ØÀž³ \Qx¬Ý:!¹ô ³ã£ (~ðw|˜¿0CgÑ SÒÔ~åã)§<ñ:g[TÅQÉЋÞmE(¹‡Ðæ_x;è(“zyøX ‰ØÐŸeéºo7À9­„“\ýÿ7‡š+û•BÈÃ#w¢´Ý~²še dÊ¿y„­I1Ï1òæí?Hù´þw„"šTð\»k­ L;ô[ÚF@&»}{j5U{:²Êl°R(;x×¶@¼iƒÈ¼Å±WB_‹Xùu±U°’`Ý/Öðò²ìU“hZ¨U±µž*=å›4d›qÑ@îì)QÒ>€±E—µ¼ôñS157ŠÙ{S3‰š¢œa±óAû&÷`ûî›Ë³>rcœQíIµË Î(òÊåÖO8SÛº:),´t&ÈÓ™çíµ˜;Et‰ŠW)='l@çœsí@òï»]¨[}éùÍý=½ïš~<™éóÃsJ]Š¡"6 ¸N¶s…®Û{ò*ï£wâ‹A®oïM*ë6 .Â,©T ID8 ¦ÿ“éΟ_P~ÿTÉMÐ'h7ŠÁ«[EJ¹%yótŸÒ0È‹t§“™ím9Ðä äçkȇˆ}Krpu :·b×ËÐLW—Ü4”-¤ç˜L´ûÐ_2.ÚÄ[9“l‚ÅÄzW`‘Ûôâ¡Â´} |ÂüKWþÔmœN«×t¢$Ëvý#O‰C,ZÎ$:§Œ}ߣ¬G\å»ha‰ßµÕ._¬¢ïêþ n¹&ƒ~®s0‡ÊÌ"@FOb2–¼kÑ’€¾ûÂAƒe‚)A$*quÈv±H’HèÔîþš×=y¶e,8ÅŸvB*ƒEêsG }ØØ0©]¯ÿ,j÷:ñÆdæXˆc=™$n³3ä¤Büîâ±ßaÒ^2૘ç¬Âìf5`ÁŠ;t·æ2x-g‹ï^P¤Tœ·Èd¸Ç8˜–²0gÑ =¿×N BÍÿ&g—´¯nRx>=¯OÞ tÉøÆ•ûòF·Ò®º!_.#H¸Úám· /‘Å\·6ð˜Ô°Áp£┵¬iþæpBg#ºUùÙÚ;xoÙõ¿›D¶OT±éÏ4étW‡ Ò>-L˜GÞz”\$4|fƒž®3žÉ\¯ê~V:ââÿÈ7EãDÔ»=» Ò°£óe>…4™Ä8+´§­›: ëà•vy)Æ(WY%â|6¦ïÑ«DÖUØ’™+†*ö´É‘ÑN=Sµò ¶ˆ)o°š¶«Àoq¡Îkn!æ\·mÀvY•VÇxElZlþ¼i­‰¹)@lQt£«þŠsÂ5<ú}o»Ê ¾‹%’œ\r-â4©ód ٵɵ1`4¡”åñ«8 +]Ðh´¬ÃFþ"ã%KOûI„žc½o{·œAàŸ<ø¦aõ¯çøácïZ SYìÀ«#@Ú¨<=÷§ÒéÓ‚Ýrq\Û§çd@!±öç[Íá Ízåûô”½ýŸ0àͶ>XÆÖ®Ò^@/ªä|‚4A Tݽ$V϶†oS別Q°£M¤–lZw»_&ÊážW—¸ØWÚ‘°º>©u43uÞWUƒš1*ãˆWu¯–iø§fQénOÛ1">Œ¢„ÆrZ¬TÉòtÛʱp_­ÀÑ/®g€Žÿê•ÄL<&QÔ\à +/.>sS›–^ÎF`(%€~†JBÔ–%Å Â&@zCõLÇKuéT*?W XUÞ.Ã+`V·š­òçjœò¬®FšŽtƒÒDCÇD²üžÒª‰ƒ›XLjŸ ëdw›l0ÌMoÄ YdÍŸ¾VžM0ø9t é’·¦ËRž/‹#¶JlJºÃã?\HÕùGò Ý£©›4Öox”ÈØxõ™Í¾´LÚË“ uü¬ÓpîC»{~¿‚|%¶W7EaVûýݘ¬äÍûTD$µÝÄõ«ýÝzÄÂÆˆ“`pfÎtÓ µ}ˆ7ï¡36Œ%<~–˜ê¥pÙØœ¯7_$^5ïÍØ3G[OKPçêã·_ ͨ¨RpËpØ4^ü·Cb‹GÕà—®ºiRø Ÿ˜°j-{BB¦Ùs,ñŒÐfõ&"fÍZ¸Ç©ÃVs%‹ciÌ8ý”dAÚ-þ¥ég…†›†3éKÛ ˆ5E‹G£†¬šÙ’kÏA¯dŠ;ª¿ 'ÒÞ8¯½'¤"Sæí\d{ѱâ—2ÁH@Õt÷tÚ$¤6Kvœ "Z¤ÊÈøå›€ÖÙÖýÌ1í÷Y¡§!Ô«Å>ÙßôE›ì®ÜÔbBÆ®8R²éüI¨Ú µlV¯‡±Zïºo "ôë?íÉ1ÃX)ÑyèËBÒ’TR]³¸Á\;š3ÂÆeF7£ýŒàŽ5 ‚1x´ô„éÎ’´è•Õµ[æØ›†­j1š¥ÄNMdéöYiª3yb ”\Ï×$û?˜dµßõzTæ7Ls¨cZ÷ _x—ÞwmÛ ÿ ~Û÷}Õ&s—ZlŠ$œ~A:äÉaZõ›í‰R`z';ÞöîA l5Îe0á¹;ëÆª) ÏùŸôWÀ­û"aÑ„/—è\.·$]%˜6H[³Ão4ËÇ­kºˆ¡^ôðfýHî¦j#¥ò5VkÛäcÁ(óZ@t".Y yzP€ú¾ÏfŒ™3·¾ZpÒI:Dç°‡Î`䥆™ôu5nŠ’4{®?é_GÆ)× ÿ~—ê+\”¦EA¿ô¶$¾à$WjÁgL núùÂH<¨ÆB—'FIRH¯WL¬‡™b.œY/ÔxyÊÙŸHšWI—.Ÿ³Î|µ„\Y÷ÏÐïÊxa9ȘHÇ,­jû/¾FÄ-å'ر~†6XÏæ¿¼"PgÐIžµ7šý[ µ—IПæQWân! rÊkdpb¸U wÊ£)Ýàgmµï;»èûÐO²ê|8ʆ¯¤Ò:ä…vì˜*PϺŸ“ 3IV¹S(ã"™Z^&ŸsÚXÀåoÙ$—î`ÙІϞ¹M¨Mm§µ·?Š4ÞIÝ—7’áÚꨭ.v’ŠŠ±ÿ*?þ®EïÎHYÆc7‹!1_e$/È "á˜F_•X}”¼ ^ÜÝš5AÅéB©*8dþ:rÉ ýví<øõ”(Æ*»›þRjªG²SKâ ê6œô?> 5òLü·ÃǬ…8áC,‡=ÛV€èL•¼b›êŒ®wõ•Ö¸ôûË]¿M»uúÒbÅiCò{bŠdDõ n¼kÖŸ$¯ƒƒ?ÕøÖÇàŒÌ ÷\öÁ¥ÏžYͪÍR·àâ©ï’jœQëøÌåM“a×±£·[s†˜©H>p‹PY˜+.¹lM„Ãü<‡›Ó¹»ç¸5Þ†ùä.QËzê—Ž4*V(·^]TÊetÝ^¿Þ)EéΕÒnàÁÇyEO­%Ù”< [<Ü>ÖÈ9¸XˆF°ôÎÎMãkŠ'¦9t\ÂÈ`pÀ+¢oóªfôÚÜ1 ']õJ-i2Þ4]·/€ïøG‚}Ü•-r§ðIü«´8‡‘¼kcÚípÏö%G¥åljöpê;]Îm—OÑlE¥™O&’àñZ^òS³„š'·½2`¥6ŠŽ%æ«Sƒÿ]ýàþeÌꢠÉ&@ý6ÌÍènCi·húU×í?)BHn~ŠO¸ßäó"Þí%’@ó†&ò ëp{‘÷Õ†ø‘/ïr-ò ¿_¢¡ÌÑ~FI?×¥ƒVZʯÍn£Ó%sÞ]m3p¸“âç×eþhsæ'âþ²1ÙŽxâE™iCŸìmT–˜á7ÒšÔ¼·º€å¼Ó+÷ilŽâÛë6Ü©ÌB J|š^ÅöäÑs0`›µò#c0»lÇÛÁÍü³÷g.ݾ'¦^­#mé~üŸ÷±þŽÛÉW$^ƒ€•yÁiR&dÓHU".€JùCÇ%µ¢“ѸŸK}ÌÈ,š ¥Xâøé‹5W—¯š; •è¬9\ÒNBeà¶sr׿feƒŸØ`9é΋6Å„áÏÚ{gBH¸†çãûžüfÖ.½¶®ßðÍ4}WQïè‚()ʃâˆSN6ð1j[žç€Ôž ö ‰f‰ê~.AU1V`&òíFZXÅDÊɼ*uÉBv.¸,šñ)­©ê¾i–ŽãùM°Çø Ñ>º²¿Q¥žÉ.½qú™bè #ž ~…?årI½¯? åÈoy¬ºXj„>£Ã~ÎÓìþ͸¤ëà³\IySEñ ðŽˆ]<¸-Rãñ™dQo¡éú%‡†hW*é¶³' {2µC{ÙB­gΣe)“ ¯³'þQbbãŒÝ^‡‰3&/÷Žz¯GR)¹×œàöò<·E‡4£í33• Í)NÒÛ¯š·Z¤Ó¢¿ 9Â?ø.’”]ÓÓǬyBB«; ¥ìœ£­ÂSúïÈ·ô1TñHr¢:½Bá ?¾_ª_ãûô ë%¤ýë!¢ÚE$®%ÿiwÿþÃ*ãD¤•fŸ‰§eŽô\Æ‹9Ã"n©áâÿD½kœ “ñWJíïw¤Û=íçíýZá5[3M æï‡H6äùÒ”Ð"°O€¼âB·U—öúqM@£hè _L_I[XK¶ô—#¾EGþ˜!´­E‘˜“•:¦œªš¬¿—lè']¼’· w*â¡NpÅs÷ eÚèú˜3Ç‹¤ÕŽ&±N5ªˆ|©N ÀÇÍu>©+" ¼Ù[¢θOÊiYûþÁlms’iàô¡rŠÐp“”>Xê+Ú%}«.Uå!Zø„³0ÏËûs¥š¦·ÂºÎfÿ½í6Á“¦ìu6wÇTK¶lµ¸šùØñJ|‰úôÙóVÍW6$`}¡ã“7ßMÎ,E~ËX;ÔCŠÚ¦_î-©+Or |Ú¦ŸSÚbS;.|öƒ7õêP» )Q·‡ø¢àìo…€I²í7T2­sgPD%Ê0G*IÍE 5uòíG·g]~ä͇G†"ÏÀæí3‹ÐUt¢=ø²ID¢¬ël•84ˆ` ,Šn‘Ù3ßùúé)ÍN¸Îë ĘR&ŽŠÉcZÏBÜ_iö–ùÂi§Ÿú<Úr+xÚ-Tç¬$¾<½¥AåcÇñíh³Ê{°sÔ£9ÿÚ?"<É’°:š´^ftÅõj×,pÕýôÐ3-¦xf8°˜9Þ!-­Žþ"%_…”ýrhz-¡:Ÿ*HLÖ®«yr¹Í+ͽ,L¸JÎæõ0 È•˜!ýžÖW¼dTÁg´Ïäà9 ©–Ù„)2Y¹ZJ ÒŸð“äôÂÐJ!6Pî í̼£/švÂHà.½ÃZÈ9ÃÒ^ļ?þÆ:˜Oª±(tßÓ¦†¡n¥ÂZ€±äÁɪ‡»w¿Nwsü×QºXG×j×Á‡êéqÉC`nÙGYÄpSõÖ_%´º71E¿V!ø÷Êo©‰äÒ›TÐ÷ÎqÓ@´¨x9frûZû¥;¿L“!2}¿ßŸUYA©ÛšùHq¥k/à ”°ºÉáö蜘¾ôg¡<:QÄ|¯Ú\›‘±qŽØGϤ¼ä² RHb,ò_Iz>I4$šùÔ¶”ö ƒ’С:¸jý˜ÒJ§öÿ:£@áˆÀ\Ö"B_óxPR{4(ÿ*•OøcOÅKœUÍ)³Ó¾€¥ù€UÍiù4”ü$ÄK¸A‰ÌTÔÖýÐKs! #w $sRvþ,“ªÍÛácö¤ ·Ü@¼ØŒëžÖG1£/µZ:Ø,M=EùÐCa1`/B°ÚàL|ÑõWü0.[¡õ€¯6ÐÒùWÚ bàÅä0ûtRî´âDH-) íåÓw¬î¦¥Ð”íQ4€KødÚ¯ø%+®ËE\ÉF8+P˜Fuµ€IÐ>§ßf`|¡pþ@¸‡ íí©ûú3€N3â¶Ë晇`°È¬OE®—sÒ\T¯ŽèÓ'‚‚øü!úrË#(é„QÓ&XY¥wz[jI«uQð Ùë˜ wÓGþÑU¯‡NÓ@1Š`ˆCû©6ÊÝSOES:_7Á­û’ª…&„¾DXt9¶Šg} Î&œEÏë975ðñEëëØË46ò.ÊßxŽ -.Ä]Nmß8ƒÊ˜Zñë9»)ï¦baÒòåžàºÏþ®@?»Œ–•^E¼/˜Š—ÿ‰êWÔ"k=‚°*þû$ã7ÿµ>*é“ÚdÅ¡9æ‡SˆF%¶<°85 ,n{¾Z#$Äü–¥0´wþ”ÿu}ê`ê*–‡G°Û\×ÏÜš«¼E%á'SÕèF÷‰†>ŸºÏź¿q© ül(t·°”æ¦ýAov–Ât™´‚3[F}à ŽúÚƒ0l[t¿‘ÙÚÌ9¯vÑ?’A¡™íÚûš: Ÿµcú¯Œ1R”¢oÜSÀT¥ú)]ÄI¿‰‘ȃFtÃ’`WTÛåa‹TŒd Þú¦h#aÚ¬P4Vê%MŸ"*5áÚËð’!h0à7ß)A†]PSvâáV%TŸ‹Rã©'wÖãÃÈàž“ êá0WSáðõ1èÇîÿÃ{¸ìùm·‚:g@øù†«x“ã.)àÞ ³ˆ@1ÙÌ,c ž¤Ü:F\ëñÊNƒg§dk+Gz $c3š¬GNvR±G Œ4Aæ'° Õàê ó¯_çF#EöŠTô¤ÿó=¤…VÕ„!?—’³ÔRi‘ñ'Ä=eå‘Dµó&jÁÜ“1ö£y·)Ôy¹`´FÁ14©è&E7RßGÑÓ…3’åÛô±ORUíHº ˆf똀b˜,øa =f#jÍ”¨¬ù›¬LýñQˆš9e°˜Ú%:æ#û#„CÑZµ^ ›C •’üŠó3w»“ŽÞ0âESã&û)žÉ5±lË’¹QÀÂITÞá`Côq/ ´XpcÐ6 ”ãD) ÂßI Ú.Ñš¶ØeO>V)¼#X4:6ç&aUhŽÁ¦…’ë.vÈ©9×ÀIíbÙ8ñûÔs”ã¼JH[„5w \s@[H"êd$ä…›$kÂÅÚ¿Z oJ9 f[Ñî‘ýâE´AkºÑœºöú#à–´xë´:ég¢„Û?$ʤ9ÝÛhrÜUR•ñ¹Êס¦“né@–ÿ7¤$©Ë3YcªH,·¹?FdSÀ+ÑÈxýP}‚ŸW PH£I)-®Ã!U`83梥½¦F;WÕoÄú¤låú_êÿËÑÉà\gøa½s P½L4ÊÓNÖ†æôGv¹¯ÃÖJÉ亳CªT/œ½›­§×o{Ž‘1ãM „·¤À±ÒÕ#Go–ÈÏ•‹.‡òÝuKÒó7cNá˜f1]¢Vè·7‹¼OËX´ë¢Rÿ0CäÚ;˜â3Ÿql±;˦ b˲tµ†æù­;Æ3ÃXuøñZéíAÄlÈwȤ³¼L,?P éÉwÿ]CUjAªQ85~1<‰þÙ=je86@P{΋RVŨ|‘†îj;³ Hò·p ùÑ“þ¬q€–í°„÷äeùýGª”þ \Ÿ‰L µ;œåÁKÅnÃÀ¡P)æhãÒüáuž\[—yr¹õzƒï–U(- Cñ‹(nYš„¶¡¸À ò¤‹`äøE^'\-}˜t^6$—5Â"7îÚRϸ_5'úcïÆ|¢©|"®®\X¥>væ¦ÓîŽJõ}´¸£J=© æ|Ìc§ür.¦ÙÅ2¥Å0 È a>Uy…¬À4ŸýH­}’ •L'g”µ§ |“Júf*rꟃ×V6“§¨í4U*z,!*mÏ|Ìžë‡ÚÁT0°œ%ô‹™Ïĺ–S6‡Ã3DçÌ ®X ‘µ—J2ORÍϳ3H!¶‚jcé̱3ZN·^zÎðbÅï!Hìî”X†^í½-‰©‹¤ºcq§hÍò‹b­0ùJl¯ª•?Z $Rn®ªèž¬µ ºéšjcíÖL¾;O⩌Ñ“. )ý³gÕ« 5œJÉqOÓ¿ÓŸ)n'0ª#E%O ó |Ø×Ný÷p§»Úa ^Ù&g¸E<ãn Vç)”å­<¼&ˆ½\T»Z<솤ïxü{QAkñwqGEšEZø vjÿrlšÉ%œ…Eµð=ST‰:RŽ,pÄ*š#Un„÷KÖ¹•!mq,p±Î¤hVä…>Õžý»dé†#ðæ½‚(ˆj‹FA-ó¦:Ï~ û=…?>ºÕÄ^i ©»Å¥ H š°ðê@P.pÞŒA¥äQœ²P€|Ÿ‡{ÏT_ÄÍø¼vœ©·?­¨±ö+TçZ3s¾Ú“ñ4¬Ä/:{ÝÒµXûêñx…¤"wQ®q†.NÆO®"X…!:‚±[…ÄÌ®˜Ýu{m¯hǤ8Se‹M\½`ÁŠÉÕžÕÚãœFiHö¬X LõúÁ|ÀÛ¸hxÎÞ…!·)ÅêS¯›þB)b˜×g£|ó{”0+ljÊvê¡6KƒžµaßJ£kæÞÔì$~»çËÿ3}ˆ¡áÆ•0¤gàF¡m7X÷¦‰#çyÝNbIzëš¾$…¤Xµ/5~{ëï#­Æ¯ñŸj§lRCñP=âJTö'@¿úÕuÉ>+.›Ø¿ÅyÁsêV k~Ò îh¾rT›TK­ž3µáZl(}É 5û‡Ùº?™õ¼ ˆÿNie—Ë„åÔY«IRã Á½Ýà_u(ÉwrâB,7á¾ow|š+†l•ßï¼~7R××E'ƒƒ²D›ÀSNœ_kÑ505"ÏF€5Ëë, ÁœÈÅÛ:D'¬å-SÖ$ûüê¨ýå˜-!ý…Â_²‹˜D ),µ£×fÿGËUó *ÒO„'ƒ õr ®|×Á¦Õtz´Â@Õ!»<:ØÇ/ꌆFˆ¤. K“l¹lö¦Ø«x6Bа‹SP9Ð}€Dò°M@N†Ù=Úqï3ü„\C'+ÌR"÷\¼Ïâ`š¨þàD[œÆóv¿×èJ æz컫g ÀÑc"·=J-çmþ9ÕÖÉU¹BI.zÐ=»‹N¾X$š·úA¬Å˜ŸPÛfñtcæ4FfE”)ø w¦Êr;„5æ¨8c|ŽýŽé5”à÷§k ! Ù¹aã+‹Î•ÝD°ÅÊIó1‡‘«ÁµÑ±Ñ˜fò˜«aMÒÊ€2ÁZmˆP|Üoè»4ìÄÁÐ…4ü¦>qÒKφnõ€¨¤²söÁ©Xa”í ϲü”½x £ýMåÅqþö~ù¾q톫T£¿fù­`¦¨’x¥TéŒEû|@?îh ÕëL´7ÀÞñˆþsÜQ‹19?Á®…¢j¤3} _”<·ecü·¿tˆô ˆx°»Á($Ì¢[·™[ÀDz©ß# ÁЯNRÔŽ£ýL)à LÛ›EV£x&RËoh…íúŠì&Ù¼«ÖG…WN›Œ,(ê_Ý\¹o?Æ0¥y ©Ñ!xý,ùÅ”6ßàDàËÂwÑ“‘Í}ˆ¯°WU%KæÉ«ˆÀÏ'mxh£vYƒ°U±•Üa;Ìþw@Aß¿ñêÚËÃMȰr 9 ‰ö²Yà¶‚_´à˜ž¢-ÍüÙ#»*ùvÍ î—··¹o³#€vKp²f§yk@Òd1Âxa,½‚éhöeû¸81uqŸ"!…Í?I.Í^þF?/p4Š^yP\‹ßXq6ÒÅ!‘ ZAöôQÎ𵈠K1UÒ{{S‰žçbòjìqÕîËH3¨¹4ðË}¸kØßö»Ònš@0¼‰HÄ`.ÞZžç-!#QÚnH‡³—Æì:áÛhóHQ:@å¨]gÛÇé§H{!%q_^¬Ÿ_λÅÇÖ÷«cxl!ÙÑÐTÌä»û+OË©M“e4£°|ÃLË>±,æ9ýh×15à £€É’xÛÇõ<ü Üut["gþIŽøIí¾Ÿa¤>5÷©ÓÅÙñûC®ë¥?3³sÚlÈûÇ{벃v|®ž¯u¼Æ '«·Wö›˜7êYnCæ€ém]´Â|ýÊø¢ÉןÏðh{8³‘ÿa9ØÒ™×3Ò Ý<è×9Pl©âü¥Ï½ÉѺ´Lfr¶š•Þ âSPž±0¬“(ô‚µÖƱA²OàkÛ„ºç´{À‡2Ãù-¼œÙi{»å »î”CB£nw\âãýOû]`aŽÿ“:Mið¾ª,ʲz¢®²…9H)ˆÂ+¶{´c¿EO¡Á3ºªÆR¢)Õ¿÷|57Fî™ònöiÔ—‡âIYÃqd-@püxÅÔ ¥ìDû¾]èÌ1ÜVĺja]‘œ¡¬òˆÁ<ÖJÚzÓ"‡Ô¦Ä‰¬ y a àÀSe*÷û  '€>"M›æ™¹’i†øžÀ'ýÙjŽt“Á Õy ½²\Š4&aÕãMf7Î.U;N¦¡~žòÝxPyüBî»ÚB½¯Ø@¨é¨`V¶ŠÚŽ´ñ” •²¯‘Ï“ùî\\8û8öxãÚ1£xƹu¨¢Xçàý4ûÕBoV\¨¯f<ÌÀìj…ãóîðò¶¦^%!F7ĤûŬgmp ]Ž÷¼&0gƒmXÈØ_UA‹ÍvØ‘Zd‘R¦L@© "csÝeÇ€møˆ,…döv7iNæ›KO*<;WÒ-2p]‘Ç `ÈP«1.ÀØ"éPšfp Ñ™s²|Øø;Qo2IŒß0ñÒÁT´à2 ¤k8).Ï´mÚ}f³o a’áÜ$^Wi ÃxcœŸ Øçú–…9^z¥_Jt…£Âž£u«æY0å]mo gO[Û²”þø ôc FDÀ³w£§Å×’#jaåb¿òAÐ06â­¢ôâô d7¼†JâT„Ô¬‡{%aß,mu7Aº´_ÌWL º$MËm†@0$F”Îbp"Ï{ÉÇ3œË:žÀšžÑŒÐCiDf¿lŸÓx›Úä”VË={Äð ÷[œÐ®& ˜ÜIè?Vr‹‘Å®ÖUÙ–ä3ÃÏ0®/«Í›V9 Tªa6ÅËz„` ½“ŸÓl0Vrö¦>ù©úûª2ÚéJ³%XY·­ `tXªÈ ”’ê"xd ðä2šÝ|§(P¦—¬‰p“®@n¾>=:,XAaM±xûºòGφ1•j±7$fŠîp@M§¯ ª<8yÓfvx¹%œ¢5}d¢¤¾D ñ‹8à†³pÀ2¦µ`®Yõ®YwIÜÌÔºÖn80€Çô½î.ŸÆBÂýòöò’p¸Ï‡mŸ®íäõ9B®5 *˜froþ¥b¡ACDÈÜdìPà³–S?’ïj¤ßVÎuÖ5˜Gc¿0ÚkâoyYÈ‹ ¸?1+÷(ú˜á™|ÜR·ÄdÂ×´‰‡R4 Áµ`çB²UéFP5Së –\è?4tO= `ëâ,‰("föÅ„*¤ c½6ü]HûºN·9ê´=?[}CZ%mÙC'R~ø¸–™¶­*_¯Öy.»<âB"Ó…¯Â€¸êžF>è¾2ò‚ åhŽ^„ ºŒ'8Ú—_üh[I1è¹ zU½¶4¸.rkóæ-­ÍKC÷#•ˆÏ†´sx;Í­ô!™FÊ•Y#'S­c$Ø;"Æ+sÝ9lÚ¢|ÝÎ= -tFÛNù¯AⓉL»³Ri»ê#k㹿øYbçß^Á‘¤tÔ°@ª…(éÒÞWM¾…œqTî?Xf¦··ëÑ2Í\õì›:¦Ä¾Sĺ¾xø¶®,0‰F¡²R Ù ²ÍâcÖø9Û&.°ŒÈ &ã(ð®‰#õ/iðÊ5¿l\D1ÃY3‡Šè—)Ó"3a¨õ*âµ™~¶Ý-˜ ±…:ä¦w;9Á%„iþ' 1@þF›J÷×é2ÃÇ–às3<ùÑû¬‡Ž¤¹ä ,ÌÚô$t‘ëåYN¡ÈR«âr¦¹d)WlŒãkžT% 3K*wõŽ_ã®í6´„å —–‚9+1;9”_Ï…ô EÚ¶WÀA"hù{ÇK\hÕßÕ6Q^;WÿŸ3\GaÍ³ÝÆ:Q[“fb,y‹üeã Î:˜ÔN(Ë«,Wž^“fo9!ð‘–/:ÿЕtц%4‘õØßÙ££[ðAÚ„+ÿ·"Kð·§Ó½¾Â®Ó.Ð!<èƒNlÞ ¡óâ•ëöÚ;¹p‘i½vü ꆎ®Ù“aŸs“SÀêÓ”T}}ôÔì…ï3Š×¼`ú® âôNïjßÎá¸c¨zo>ã¨y³£5C=¯ÝP€®B¬Ûoa’¹ÛÌßûDÒKW—ì qW8`l7!¦-Ô¦J)Ð=±œÈÄØœYml2ò篤65s’:ÈAǘzK›èxÔ&ùr.º%oC¯¶²j£O ÕŒ8]œ^X P7å÷áãØ' gð8GÏ&¹s¿£Ïlµb½}îÂ8¶BC² ýG .=õÅ{|41’Qý[Dèûó»R Ô¡Bñ%#]ojXŒ´°vK‡Vz%Ǿ£©u]"5ÓÙFÀ~ßí§Gú€kÉ€PÈ7®õ¥S’[£ÄL{½-¬è°s†ž°!btõ¥¡¸åHL>iÈ¿¿V‰Oçi·÷:Ä_èH€¤¾ hkÇ׎碌;A\à+}A‡DE.é»îǰ hXä_ùˆ#c°Ì(ŠÍ¢ûŒ= ÅK'Tëgܼr\“Ú'°Þx(4_¾*Aõÿ8f†½2wÓSµo7°^§~Ï#Xgõ¼ÿ€„1ãk%*µ–õCPþ­5Br'³> áR¹äÈãòÛ¿ÿ›+…ÚöEèo¥V¨ÇÚy<Eåw¶Mž£Ì'wAÄð)¨ä®/Ÿ‰ oždq÷嘀6Ÿ/àiNù>p@ÅÖ`ƒ;ÔK•Ø$X]P•ðyÆtŒÞÒöjãOæ}R"åÐ!ß‚ê:zKWø­Ê;¾+ä2K²-§ýGݰs 2qâØØ£+ÚgV½>7Üêœ7ïÀÁ¸—y>ÚÉ#=Ž|³‰óYudÞ3ÄÄs¡ªY9f•6MÁhé´r,1Ƚž®"‘ÇÍc«R†‚ %·þ²iqÔ}8þ1™ÓEäug}ä%=—üŠ´v?Y¯08PŸ§\”}Eê ±ï–¬¢KÄãzÊrÄyÜWùÉ“4Âæ›½‹î,ü ?íIXóî ƒh]>c(€$Ò·1TD‹‡ðõ…Ê`´ƒÃl GEýÅaJ†îú DcI;6´C`pY‰³íÑ8%ÆuÅ%ƒÈ:vº^ZbÊ‚ýJ¥hê~߈%ß½jÚ]9Îk£³õL1¢ˆKMWB¿ a:3eÆý¥OóU÷SR6¦ ¬ñj7îîIú)æå¿ÕòÚjOL¹†eMa™àê ƒi`Œ8ŠIl«BF¡JM šû1 [§dòä>™<´)†'MŸ=ò¥4„d‹éüà/÷9T¸“¬€µã.dÙ(À-dúà ‹š†ý?¶ß”m²X-ß×jpé7¬Ç…¾6do]~GZƒ&´“¨pøD€«|b.¿væA‘zçS|`T.m.±/ øÇg®p,iš¿œÇ¥Ž™wçߎûpZAC }8¤¥ïŸ«}WábhA 4šN"@®AQ¼í-±Û•<õ•i=7þ€S¥¤©8ÉÕï°‡û‘¸†¯Ù kAXÈ«6„Ûè$wµP=cä¼ ÷ç ¤ bB5fû›åoý\¨& ¨my c[þ î-Î\©ga¤€YA¡aC…EÃVÎŒžxûžíQ2¥[6~3Ƀä«2]1u Øü£–°‘à ·M(úr^‚R•úÍñAÞÁÌçÜ%zõ’“0ưtûóøoÀ0"ÒLüõɵ˟ªè ÎÃÓÄ$ÍïŽëׄÀ{øJZ!ü]ß„zß$¤uSõ/ž¿Måˆé߈B¸TjÿâwÔN“BTXS~GÜ r©Q23 Bô}î‘H³Mæ­àÎ}ÜJt™¥hÈÔOÛ¸ÊeÜ5Ê™—„5¥_‰òÿ: 5¾m½{D:À·ëŽËÉõËlýåhµ c)ÍzºI‘nãÛcàƒ¨f£˜Á>L \éÅŒë$ëRÏwoÞçwR¹™¼c[õ Lê‹ìàÊÂbÿ%Äþ7óç$ŽaËȼæŠÆcúu K‰¥·@ ŽV‰ ÇФêùý­…íÌw%Ú«=m ®éŸE½YŸ0P”b3Þ»UWŒkb»Tmh ®.gkåÐsB“Š­æUž;ë±xvÊf’ ÎÚÖE!Ï ÏS[ó™ЇÓh¹’ þm iŒödŒÝÙH|o)ŽipNHÃnó‹‹›‹k?õ <Ð͵ 5X<É"y•a2@•G2.@|<í5mÑ+kû"BÑ8-äͬ¾ÊüMf•!Í%{»_D¯cU\TT{.¥íŽ¿ïô¿ª«¾@JHf7ÒwÆ‹ùž‚ È›x¯sÿøghˆßVÐÞCÎë^˜Yþ^l :4¹RŸœ^ošD9êqÎÃ[¤,¾wezìÝwiïnC‘&èèµÕߟ)j{¿#FÁ§ísó]¤¶@(7ó= ½|¢‹UH0³ =£ÀKÂä†õ©b„Àªïg†Ìí€Ï‰v}Θ©ÜÂÃCí±Aó‹!?2-¸ÚnpÀýÿÀ½i€ùbRÏìVýíI=Èá}"ƒçìhѧ¶rûj6O féZ‰äùÉdæè«g ·¹ÒL\æ¹<ª· «‹Fîð<>VÕxUò¸VhþêoIÆ]É>5@¯Š9-Pv8!ËŸKËYY×j "q]G† zMyòo*)Ù½jx°ã•ð¦c‰-¾5(ŵ…î¡6r`â@f¿ΞŸŒ|…CÆOò3ci¨²ßwÆÆîb‰º`›¨§´€À¯‹ØM¼Ü¶Ê^Ô®õãzŠÝò®Ž±:h­ï²LR{×(ÓxT€ŒóçΪ|5úô^ì4…±©ã t¤õXðxvȾhc—iø6×ufûÃ<…¤Súø›;,’Úôò0 ¿=Hifx«¨±+ÔGa 1º½7àM« k¶ð šãÂó7òÍZz«§qÉ<®Òʘ2§`¹Ï'™_*N¿4ͱ³Œ`{ò„~¨ïµ˜ õÒ³Še39WsøÓý¾Œ«Nžd±§l ¦äL´¬×…ü{­ÕW³£ÀB™Ÿ€6ÿ¼²tYž÷ $â]b^Ìw=#Fh«W²:0ÜÔµ• YÇCí„ú‡¡Ô2XëÓN`ÇütUÔ±ÁíßÒÚÕÃH3nÜw°‘up4‡O]Ç`±:æ7vÅ·q;¯Ou#¹d–ʤ¦FÆÇLºå€(Gè©×öBϼ[«”Ÿ ë’&ö”å†`V@ ž…Èÿ(¯ÚÞº^ðâÚÉ{çÇÍò®PÁéÏÄŬ,JéÞßÌØd®ÙGúpBÐà²ùËoÆGF§’áj&Úß͆\=ÙïàBÔ#ôó“|uÕÚŠ²C8NÒjúGÆgŠÊydìÁGã.<Ô·´p#¡;N ¼Öz˜Ö[RѰ—ŠGÚGzäôåÍ~‚9‡À¼My¿Ôà¸ïŒ²øš·uulëò­ .´±:&ÇWXå ¾¤CªèF‡Q™^ÁêÖè-ùíBgÚ‹–ED|ÍyMë4“|p'Qlö¼Àw€ÐC.?ªp‘(CJ-wFàyÆ,Ž:Ožaœò]²V&Z‚<8ø?iä©¶±¢cÌ’ûU'rE«¨ˆàäKÚ—H²ßÀžu´ŠËÑ~¨÷Ì‚–žå•=oI¨ÄÐ à «VƒÒ70…d÷ùH"ÈÓÕçÕ‚\2ÞúÙÖqí}m_ÇíÃ!Õ‹%Æ{þ›¡Ï°²JÉÒa¸[0ãgŠ8r-À¼è¸ZÖX?/|.­&£7¼?ܽ¾(Ѓ¶=-]c´Ö¥G¯Ù¬SN/Úü­oÛ%÷Ð ëÚsÛ&#Í€ºJeæe·4†%Ò¥m;HŽƒ´¶0mòÛE†Uq<øThiìCÊu_…KÁ1‚Ø6wˆ_`´UÙß…;ñר#RîW3F’`ƒˆt3»™N:ØÛÓpÚÑ…¦¡ñ>×.sOOÝ·àßðfí#ËÝÍ/´ðI¶Ì'¢²I«'k™ö§’[!ößpOì²ÏÕ+°CàKï⬚‡¶%–îî˜:ƒ…çcÚùŒ‘Xü€ +”üà½ÿ€­…ÝìÒŠ7G>¬Èó¥9ŽP¾ ‘InZ‚v‚î/¸»Ûeíìk ^ ôˆ’~,Ôæo:èùnM&,¢™+ªy¨Çm[ÉýÉåOª.—?Õ«ð`öÎøó|mÅ+nšT›NåH@»Ý@ò†·Tõãµì.k9qq.³Ñ•b.oXJ4'ñîñ1­i: x†wÊÊS>±eº ‚þò°êý®Î‡.ŒºkÝ^MÊNòË5<—K«§yñíÙ‰!Äò?vܶíLµ}ƒcžRÆ éV<ö¯!7›øú RXø™˜s…#—ÕÖvÉ;Fl‘ÌfT?ß-*.u¡5†[!v%AΣýTR߆™•öZ”5Pâ1ãÌ*§&Ë6Òáç Ï #)ÛÍ@–#ƒõÍåø0+¡¬î“b¹ê›âÿà¡t§½æ{f0ü¹‘“W—Ïh⇷‚”^{˜Ë>cà˜ÚÆÃeÕ6ò'~w¥¬yFÍsØoÜÐ^^#MÈ…7’18ižb¦ÔßÅó‚à8â;ÍȺ =iÜÃÏ£ΰåTLtB“M[=Ú…æ„ØxéH,sX® :¿÷K`ôpÿßgë8å¾Î™>¯„jÉN»• }YF†/-X‚ì,oL_ÛÏd¥"Z¢v„Óg*‰%=Åu´BNÞÚ¡‰êÊÇrAh¯{>f` îÆ6‹©c»$¾`\,ç®*?il«¼\ìðÜdG,M¦ó¼ÙñÌ~ƒ5;§<47ß¶«W®xëqaF!Œé›wÊž¨oÒQZg=™0»¡ü)““š ›ÈmÛy×>Jxq¸¿|´v¶Š×j½ƒ^èéA»òx˜¹äR¿Ñ˜»Éo|›¢èèIN4ôç «·»i?¤‹ð3£9Yð~Yóï{ó›žOå‚“Œ2Ù›¹6f @8/µùÕ"ž gÙ·áYòÅÛÊ9Tê˜ }h¼£Iïõ„¿î­@~’ìÉ™Á!–þì˜Ä6•žEÊý”d<_µ»;d{rC3p¦åþzŠ«‘¹Z{¨DoÍ‚Ò+ænfêÎ=4îâ½^¯b®:0Ö‚µÏ¹ë¸N«Þ™üZ$jÄ…²^ “o«@IjîSm´·ð߈®’WÁ¨]šÛó‹¡ÿfšÒ‰é_ #ënÞÍ;ÔŒrÈ:Ô¦ÙkÐþX’ÚkºÎä6ކÀÁKú3GÏØ®›0ocŸ‡#ñ›ù@f•ðóKŸÑ8¼ŽÚE¸뺄DyöÒ¤ÏÛ€`Tßë!3+Õî©W•PP™¶ÐgÉ;ÜàVlÏ5 š¸™ÖŠŽÿº£%¾…c~©#”_l6ËU/LšjÆc-S˜ºnˆÒºŒîóÚ‚ýÂ+d;b?ÍC×l7=ÇTB£ÍÝ3ª°’òö+}šßÁõgv\c«³»Ï£É—ƒ+‘<¿lPiã:E‰~[£î)ÅÒ†Lµû%6“§‘G ?Ü0’Áð«¼Øî—ŸöìÐkôÉ’aÃÏ0~Ë|W9À>‚sðu—%ìlE`°É$Ö ôΕ·²4_A@™'][R¶Wš“z±¢¤Mw¦ÜozD"¥Bª†” [=”ôK‘}²0{Þ'¦rws£H´¦ž¦¤H­-.ß«ˆŸž»ÎûxÚÙJp[Ó—”6°Ùñ\Ãã;L½â º\»ïgÛèç«Ù±¡€¦² YÙòý2à0ƒ]zlB* »+"té2†&ÔNwùèË­½~£Ê¸x7tlY¾-1’8´ÏFÌkÈ$Ð&¿ñOë!Y“b˜ÄùÉÐÎúzr’ƒ/ôlòéf6ˆÐŒ^Pפ;Cª³+kP¶ì;M²Sf»¶¦Rþè“:ºÝ]DUÍðô9ÙÌŽÔ‡™ÌX©z›ä]4»‹$ͤÝÁv.ŸÑA­Ø0@ÙO­ÁS*±&Äâ Ü'ÙN"îê®ûènÉ’cà":ª8ﯨB#Ðxb±yšgË|~ÙiÑ/}õ·Ü+,³ÇŒ›×­ fݬoJ³˜òÑø.᳓‘Ù÷¬Yùa@X·§šêÐT™ýnGümÅ nb 1 FQá;kn ¦þë–[VàVW´âN M¯¥ëvß‚Ù#ݸ@áÚKÆÑŠÒÊÝW ºEJ ¾dak…?ÿoSí”97)O£ùB¤ò8çûž?Q“žb®6$ÿ ‘ÃDuá¥>ð^½Ý ¢2*û`êC+Dx¶¯FžZóJ¹á|þóŒÆÝeEÁð2á²*& ‹£ƒ¨E‹k‹â§—F¡ôþ n« #ÛR|]ؾ¬–u'ªb„rÙs)ØÆ‘òt@ǛȞdP[}މU¥Þð–+~=MCìð¢;‰”éw~Éx¯W×®Þ®›`̼ˆ ñ¿HÌfc?ê¼ 7˵×F:´·\ŒæP¸öàû¥ PïýçßX¢Q…úžº,y.ÿèžÊüßQ,ûÜ JGÒW>B¾Ër€ªüë· óÀ¥Ƀ"ãðD†0ŽP›ƒ2ñ–«ÃMmƒñå9+@0Ð<ÞŽj2Ý»€óHÁt3ë¶)#ËiÎzþ5ê>&æ×Ý÷sQ9¼éSÄÑŒ@L{_I'dáœþº`ß“h´(®žÝ{ãÒR•J³c8µÝ݃x/E߯E½•m­éûƲ»GĨ™+Bü[‰¼e+®oaÿºK]¤'l«"~ïZ ðþæITÙ'jãf:eE™r‹’νñ1–ðÀeR¡ëç4CáX·x09f ~WbU9W@0Û³óÞr¯D¬%T\©ÔÓ뚘¦y:yóˆòºÅªqª,a¥”®% úIÛS$W Û^·OT@l ÊÓLæ ®OÐ †¨tQÅM œ_bºØ­˜(x(ÆÿŒu„ß8ˆ{_mfSmTå£ãCîQÀ%WØ}‡waú–êºøž0©Ä ¬hùeûvo´4Æn$IYº¶{ N£*ü’ Ô‹'Œ‹|ÏaܳúOЫ‰ñ¦;GèFˆy³õïp¥ Ð4cž•¡P¨*ª¾îKî›a€–pP^?e1@›²Õq2»n–»r;@ f®6µF߄ ۆšî¬Ç!F$tƒäàý/~ýYæFJ0¹?xXgÏÕöÍx¸”QDoo\Ûܘ†ø•ê1¶þÒ3kîíØ‘0¡÷ ¹„ø„c½¿WtŒ/vD1wÛ9¯~½ÑÓæÊ]¼úžÒŽÊÆËÑRˆ"åd*y<*½£ÎM*Јï„¤Íewv¯4ª:c8ÿ‰& ÔU¡Ωe?ùÁ€c=¬ œÞÚ#â'Óâ±™ø¡@çô.¥Ã‡Ý!®F‘²t>T3‰Qì-ðë\•EžWtþ}²¤Ðû È/5dRRfïìÂ&s.<7»Ç+ÊÊÚ ‘V°úÞÁ¨“ÞÜFç2 «;‚‹O¾ R=ˆ¥cKOêƒùéLœ×ÀÕå eo‚:Œѱ7Üz„o¡â²¾½þZB‘^üOá"™/¬Nó/£„¨  _8Þ™ÓÏüˆgÇß”®Êà~ì^ã4Q{çä÷1Öøm²ˆÒŸºM#{_8HO¸kæ×ñz=þŶ”µöTÍÛ:YÞC½áyYêûðAJ(&éÓ65Ã÷MÇÆ —RBú ¶¹È¡úÃ0æûVŸ©PÀ˜6ßЇy%ÕF“y  gõo²Ñ½ÀV•ÉŠc Ï3lO½¸MôsÍô@„„ø(%&nôâ ¡5Üfn Ôtå82‘»ªJ¼’¤]½ÿmòëH)2xf/:7¿Bû¯ ’ H\ ZnÐÜ2pØÍ4ÖÅZ? ÛûV ¾Ò¶Š÷ëP•°îß°§ŸösH®ôõ>žØ¯Èûª<0ð2=v)RMÑóIæQœ˜bιÏ9Â$qOGuü£#kœÙ([‰)ΪS<îª"5¦8s¯ó¹® HØâhP`@Ö.³žén¾®òÄÊÉ,i¿ßZh¤„Vƒú*Ì)ö»XñÕþcC·Ì³ Éú /Ê*+Ó|šPA¿là\^\^<ÑCƒ3½»¨Z¦¦ò"ªT­=¯~k]¼dæœJ„ñÚs¦ûƒWÃåby\÷¤`6Ô„fÔåþ%0° þÃÊü¡Ð ¸Ýã2nbïÒ7ãï6ZÛþBHß­­µ| >„ªÜÛW"ì˜ôæ¢:jöÂWæEv¼怱i­(†Öƒ3ŸuÚ"ÃÍ¥M˜*%¬ˆÙñg$‡FêfåH?eϧmCàÜ )²Ã¸`. RïÍñZÔ‹çÔÒ ö¨ïƒîc;ž0¨Ç 2õ:z]‘¥¯Îb«fúפ_ä(Jj«-ý컳a ¨0ç_‘#~”·:3ÖLç._ Ô9 è:µÑñ[™tŠ“¢¯®1Ê \ùáP7õb¥Q¤ÿöUñ2â7kìI]È`hÚd7ÙÎûfº‚Ô¾-á»õÒ6£É`6"MOG Â+Q¥ Bq*„¥ÞBcDÌÇé¬§ô´M»˜7ï›w {+ž?Í~$šÃŠA«‚6üÒþ¦É´Uß.FFFe;WcT§ŽÌ 3‚”‚îçšS&’|D=ÂÂÅ/}\#®jêúò¾Aëâ ÿBj(>[É­]Ñù¦¯pUfÄ7"+ \ùßà4¡+aä9yt 7rZÁsMaC+þÆXS‘{î.‡¿O€oJÙ.{æÖ¢:ªÔgb¬y¤¯LÉÿ‹¤hRfk\ Ö¿G£Úº[ Óý<½2¥6Ê–Q»>Ù†•4À&.S•rF!¿¿W›2hòéÜY…×õ$iv¨M+_*:Œ3©Lîî È‚ž­€Nñ6rpVA%>Á” cž/SÃܹ”[EÜ×”Z(8²ÎÇUÕGÔ…§î~ò½@aµ eªÈ6Ÿäý"ü„Ákø¨Î5"sõ‚ØÉÚo•“¤ÍΘÌ4û Ší[ìø*˺=…ÔO­~ÃÒQ0ùï'ãšo¿< 6•LÎÅE9O®SÑ@¼$²L8¡ X¦èX3Ýã.X÷ŸäXº²ÊøcùýSÊúøÇ%û8 wÅZ þö霜 ³Þ‚ »`†-7¬>Na¦÷óH¤lÛ–PX‡–.b²¶5êzXÈ ˆ¸}Ù_$$3UC#¥,´ëëàñæÉš‡3/Ít¡öIl(%Y[¤*Bû—¿^s޾k»‡88œPÐÔíeï-ÿ‡cQüOV.ç‡kB(Àp2Ë]6EªÔ>|€ØÔeŒð•Hêݱà¿*o*/<%“P °~IÉ °˜R;vµØ|ª“í¹J`W‚ÿ@Œ8ëKÛè«k‘‡}jV!¶—g,úÙ °± hȸë‰[òqA­å_­îcI´7"âš „G˜¢\öT`9„ªE])O£4Ú' úÿÅ$¦2=te ãë¸Ð< Úx8&µ|eê‹ µ@« œðIlÚ|‹#×¢¿G,^Œ6pÆjÏwÛÕP‘æ{6™ÁB¦¤TÕè—B‰#£ 6Ëðü†¯²uâ.bàûj¶ùuþî'Ô ¾LéרjªëÁšÓå̑Ұô,è˜"ÿk_ ¦²Wj=:>þH}*IÓ<Ê¥ÁÑë›Ç"MF*ÄB‚qÜâ7оöà ƒD(³Ðƒª®’ÀŒˆ´8b)9â!uy¢z˜¤Ý,"AÎáDz–,~û¬ ç¸°™6ª¶µ–6ΫSÞof3ºYùHÓe ‡·EƒÕ­b¯ÝDcr?­bpJ%ØRü¹˜›Í~‡²aÇÑ"©R‰+ób.^º|_2ÀÙcž¸»‚j@´´!’ ³ˆBÃ;qP.âUßcntlÇZ8ÑQ‰š ãÙEéÎN~Új·æ\ã̪y¬f%'ŽÓJLK·Ü(®·:ÿ‚ÏÉi®ìO•× Ê¸­E­x‹n—}øïiQÄÆžñý_îõ J«~¤EF&’¢&gêÇMê«´¶\a_Æ f—ªÑÒ_¬Ð@z:•~“y‰á`Ÿ A¾¸'€¢§ÔÝÖF½O·@JÈ!øÔÃP$À)rÎbІEŽpö‡²ZƒYøõÝËK!CgîqJ1ĸl™ÿuˆ,Ñq°¼òŒ¢OÇ)[ëÞ|èói*¸¼¸ tP‰Ñ@sWÝÓ„z°ö£(‚_¤Ñn¾„‹v’„»7¦ƒhI¨ÝŸæò•yŽ(¦Ö¥™¿rJUýÎÁ®×6 ñM4BÚÈYrY‘0?¥ MCòï³v)íˉ2òý|Nâl ð Zí›Ên4ø¿ÖÕ£,¥«lI˜‰Ó2°òƒÀoÐíLLPj¼D,¬×1¡õýðYœoÆ—ÞÐ3±`D%¬ZaÈBتáüÿQR­ÉD†p<ÎýÜ–Käó¥ÃÖ<±¥*0±!hòþ¨îmúåÁ.\åÙÀCœàmÐ#³$(ŸÝ—Œ|¥áq‘ÆÄcÃZp\ DXÙ(o†“mŒ§â¦M#ƧTµÕÜ*VT=¯Ž³Ý6µN¸ƒGÅ¡]ø@¦A©¡I>öELÕùÃVçVÏ`Â)ó!^wN¨à~3#ïþ•çR …÷ÄK+õø'­h;O O•ÊâÞ7Q:Tbp3”ÙñÃwS|–ï"4óI‹±e™™}²ñ¨5ÝùýÅT‹˜Ç+NcfîØ…ëZ¢ò7¦H+6bô¨ °d³N®E®9?e9&ëKÎ%ÂgGλÁµ–ÞðGÕ BW².ab[>Sôï¿û IÏT(´7.Ÿ{ÐCì[cóW†Oa¸@ ÐP>X™!P8ƒO¢’-ä™É!*’~bIÙQÖ"ó‰9ÏÍž'£fßa/_ÌW­“¾X/¶ûõ4FVO1!h;£Ûoï9A+Ÿ:èÁŒîS”ÙÙzNl(¬ÙŒ›Y½Ø<‚\žš¨Å  °«„jãçÁA6Õ»+ÚVFŒA„;íO±ÀÏÂÓ··Íáµ¼[ñ±žÙN^ÒïÉph1i;O+H©uÂφ-e“É HÅ<Ïש ¹Q–‰,¤‹êë¡ KÍãêP”l¤Mù ±BîJQéY¡`àÊè‰Ëj. fÐüðSw2ΩnÑ¿ÖÄà‚˜”ÔžœÅ¨¹”À çÃÏ4‘VøâÙíÛÌ j_ÂPn]Ç]9Z |õcy:?€Ëš7a_HŠa,ÛpÖ´èIïCÁÁ3a*PÚÿ]ä™®TD¯ýyU‚žº4Âí«*­2Áî"ãÖýžrô†÷ñŸ“!¯”Uø¢ìv(”wóƒ.Æ7ªuVÎÞßmLÚPŸ%„¦eQ™Sé—Aå5«`ß\¾ÇD\]€[pLÐ]·û ü©ifèÏÏ“Ž¸wFd߬=^?o–B'œ´÷:KMt”ÑO³F »=¿#_=®S¸DÆr®úä¿~ÐYؑȗPŒ¯uÿA¯7W¢×¹ãóCà4ÅôãÂy øWlþºßžåS¿HÖö6=ëî«à±»Ìé;›ïªš!ÒeЫâ=êä´¯”»J%(ÕÖ4?>D™®íEÁ§¤W¡ßDRF独p¯¿u˜¬õ" xd þƒV‹Ä}`ÊåŠkÃ&ì^öÈfJå”Ö8ývöæ8*lcä‰ñƒ´W Ü¥CÒ[1nmŽSpâüÝ-°`¬ÔötK{ûÀàYÚp·¼Qऄ¹NBåXìg^CÙNÁ®9G|SÁ© Ðê%ï»/q»3Ü Lö×&ÓzAÃu°þ[F~ŒM¹B‚³Xü}‘x7ªKckÐ5±ÿþìˆlŸQ„úqup]k‚ð+%ÕãúrW¤ ˜ŠGÉ…;ËWg‘¼à=¯‚­2ú)¿ÀÖEÕ>GR²Y)}ö«Ãê¯Ëm‡º«½N¨Ñö¥:4ãéITi_hBŸ†Ë»­l©O·AUH”òŠ©„‹úžÅö K‡|0ÍçµúÝqòa ¼›£Ðý^8ê'{ó1[”žJ€Î[ö=í;x‰`a«$ÊÝÍÿ^Úà¸Bjo O/&3ÞkôbÌpåã]¢ܧ(a`FÁ;¹·ºŽÝ ÅËV÷=ú‰uÜú;&r³£[8-¥t!›õûŽ îA=¤í\ù+n†—öŒU¤Kan–,ŠOå¿CZ³b·1ê½=cO:æÎÊ/iòÑ:¦îÓ$ÕV/,ZÖ‚…& ¢Î•Ë¡¯j¦$^Ê+{a‹X ¾fÒ†ÕÁÂz+„°ó©TC¢;O ÐGŸ|,§ïy꛾û¢EtPä5VrŠºB¤Õ #5üÉ†ïØ¡¬€Ã‡ý¾ç¿\‘ÿU¨T˜XYƒxeC”A¾“í ãùÈUO)jÐϬ‚rz‡YWÐ)O›—yŸošCçh±4oã:‘ˆÏ‰£ÿ‹e)ùâ¥C;ÍU'÷ÏUºwG] Í'2'C<½ÈÎÂ5ìƒØ¹ºö}ßÎ-Ïü%lÒ*om%/O4mš9Ü¢Q·EñV¢bW+Õ8}4ÕŒrš=yá‚Hè¿îˆr~­PMu£·ê†!ˆRå©m±bAŽ žÛ½ë/fÄÄ4½Jp¢t»¿€ÐÎb¨Rm>åX•£>z¸„x·ÙtåªUŸ«Ç×ùyþ;2Kôã£2¯À¨—(ÉÌù35…êãçÉ>ËÆ1µƒ''¾z[(fò8…›íÝìá­}“tœí µŒ$%ª×æSÎî4 ø#ÎùœÃQ5’Žïéj”OMsc“JâG®ÕñϹð©ö„i¡î˜·'Ó@sîëŒ^J|ƒÙfQiÎheŽ˜†5DÙFf@ÂV/ÎçD»²÷Ð^¦6»üªŸ?—;hÙ[ɼYc§—Ä¡Œ‰–~€šÓ Ì?–E»’^g¼#b§ öÜd¤Æ²Ã­š3§„´e.ø2"7 Mh:Êp¡^IÐòþ|éùÊöÃî ye)qû ºnS‡³á£pÄB™úµi“û³ˆòj)ƒIÅ‘2:ý™£éŸ–}¢˜„ˢˆzÑ8¶ôë i‘ØdLæ>KÚ:à'ZHhîuƒ1Ï•}òB*²uÄŠü)o8ËõºÒξš™ zŸ¶)e‹Óž~­ RÐc@´­Ö»m¯öB£»­ü‡°=¶Ä¾»Gßæ+åÐ9 °˜q|#þïS¼‘“`윣^ŽÔ“±²A6°âÓµø’±ñŠiÀ7Å—DwÀ4…‹Q„вVÔð–Å~@>vu*´©ñ_Üã `ŽÞ•ò)±ô}׳iÁ'à—Äå¤T8÷ÂAó_IïØdȉ70ÛTÑ ªYÆÄ£Ì…(‡õœ>5$Z`ènœCmÓŽ{õ……Oâ’Æ;ã»aì•ÒXî”Æ)åí[®tÌNð˜=*Åü1êyše"J:È\^`8»%Q€ÿ‚°¬=;,ƒ`õIWõJ üÓ¢·Âž" ørð«®ÕI·po>°D8Ÿþ!gBi$;Ú¡«ßS›3qêøÚ?4iå~"±“/µCvÕO‹Yù¬eüg[¦Eáe¨œµþhcK=„ø°Þ\5ônö¿ÕQ‰°£ÖþŽ4¡v0ø™Ë2êýZ°œ™O¨©h]“%@ˆ™;gïöoè@K›ÏÝRFQª˜­ñ^YÇì6¥Ã»Áo°,VðCì…¸¼œ Sl÷¯æ_&ê9üuzi¬Ì™š D=Š‘ üÔô}9/\—z3®….I•ê­Å·‹–@¶÷›h5µ‹Ì3=_’U6-6e ËÆ{€×¿,…õs¦+ëÑì”– 7I(¿†ŒuèidWæÙ¾*jÄL ½ìG9×Ä{VóGóÜž5£Ø dBžåê÷A™iÝ`*®ª÷šÿÚæ†»jK êrÜlÃ6ïÝI÷7§(./ü]ÔºE’½æËžÛ=sZz)a^ÊCã@.pÓÓ;ÚE£®‚!é“ÞZíÀ-Ò3.Sø½þ^ÊT‰Ÿ"M ÈGà­h gW/@J}çd>dÚDüƒj4©‘*×Q¢Ò¹p1ëïÂ%}^õQ•Ïæ^Î[lxå7ŠyȶáùEÐöÑuf©­o«Sêtá‰ùå•ì †[&H2´ÈÀ]Û{à‚¹þ¨#I€O/“ð‘ì“A8LÔ—þâžÙ\ªL;bßË öÇë¦XèÌš f£Ïð[M±ð1ÔÏ•¬K"Hf±O•3{pa¥MOa×Ê™½ XgšOl~„–7hâwŽ4<^R<9‰-uÛ 9ÚX/âtO¢×«$´Mõh†ÊŽž%¸P$±ÇñC©äés4Dz  Ø®ƒjzÎóï·“fÿŒUÓ(Ë)ƒ‹^²Zà‹âZîçtœù×ù§€f ˤlXÔT;wÁ“¸ê0‹”Z°˜üÝý I4­Å~Ã}Œ#ù8ªý±E«¯N}>ŤÆÃ´ÙîÛ†¡1ÜtŸ£‰ñ¿€UQeÌæðPpVÜ$!SHÅú¯ö ›É-&ÒÁÄŸº/ÑY’r>Ú)€F'!œ£=sêÃg&Ä(c?çP‚Cã츗§ùÖëzQÎØWÌŽS]$ÉÎÇ›bÖKú·‘'-Vïsp6wžVƒò¼:AÐfÚ~¾zow\¸-ü©Ï£YØ•ŽJ®³íïnyØöâµUÈ»j((Cv® ã©ÛfR8dGþ¸¯Š¬å ߦìÎ?µÑ?F4߇¹¼ÞÔãÃͬÇOD®ÏKÆæwö™Ç]‹ ûçä«÷Õ‹níPMû¯.8¦q…Œiò ×-9kÙFdºlôtvÛœJ.•ŠIx/ºa5¿¢ §§´Å÷Ø´ûC®ÅÑ»œ‰8ÔXªˆz¬;”`Ëῌ©Žy€Äñn(ÍÌ#±#Í×®vïåKLjÄ>Žmgù†fðÂIƒJ£6çÙ¦Z Ý’”XCÍoÀM…‚’ƒ“Ù2·NOï¡ìž_ÿ“ݹ MX.{zæóû£èLHMÛú Ò̸Û½À‘j½à®ÓÉbbÇ€Á¾éÙW  E„X%FÖ¨ߨ¡6š½uôO-»êÊbèºåK¯ èä‹@Ô{zq†%Äþ}^—„hàij"Š:Jo]rÐŽÅe¡Ï`KÑðÈû`l)_ClQq€ŒÌÐüiáôÎ*4îBêÄ™TÈVÇVOÍ/Ìé»~‘_|(µcÓ¬}/· ‚ éYUe‘i\ã‡oLJ¼0=: ÏÙ~â¦ó4–פâ½k]Gú¨åý¼È]%çÍkщ¾Ï Ðý“SèŽoËÐtá ƒ[Çoîïa|c@I¼å…Et)¢3‹5 É'!ûZ­g Fù 0¿dÑhå?Šýèè íÖ§?ŸÍ‚Dh¤F-ûšÇr Ô­ê¥.nŒñxýàc‘‘'Zÿîâf7+éÛÎhÏJÉ\‘q´h‘¼(2CQCV0S i—XÞ} €cîÿð6Ä}}¿|aŸy:Ðç;]¾÷ÌÔÛÍù™yªØ"tÁHèÍØÝEê µòqàž¿FKx¡°äÏùa’Ô¹é.…¼ Vqâ»ÆKú|ó†ÑPê1ÔÕ‡ï†xéf‚VÀFì{v±#XŽù„òrù0¡×ZSÖeÈüÒºL ó$¹ÁG]€?²jíi P¤R;wò'ôÀÕÐUzð4›O`‹þØk–92²õ¼I΄/ÑPŠ×CPí"IÉê?@V£‡:‚ìéNVöU¼õôZ«ÂákÕèÑÄÚî~ÆÆÀyfS£ŽAL;L«A‘ËÔþÊŒˆt}á7Ðð#üÄi0¢íz¤R|9¡ã#š£Ã“½ðÄ{ço!Õ®õx¥;M¶Lù}rqc.•Ì+î„+¦¤üi»€³ ƒfð=§Í·™-¦—#ã`Êlt ”Ë«éüªËì˜Z1äs)ÝœÙV(²j/¼õ¹ç™zêÆNQ³Á:!ùœˆ„¶íßNÔ ó8òǽǤQ{=lD`‹¿ebQUpH€ý+âoÔÔ–¾Hm—c×»Ç_ªvy®{M=žYõÀ³ý{’½xmcµ„ÂÛî’¶t6…6b³¥F*!x‘ÒZ±‡~ ;¢L.ƒÆÄ$|åÐy~>÷äÀ„YF›xåø^•§qÝÓ© {1~WÕC2ø\HzÆì>d"ÿ§¥Ö\ÙŽÜáèÀîR ~’gÔ•ÙÎÖ¯‹L ¡à೚jKC0 þô õq\'$”u…r ²W·Öòü¶ÚÇŒèÓtî9ØÀ­w?LjàY~UoŒSBý;Ýë`lÁÚ?¹šÛ«Q~tYdéÐU„÷ß`i‚£‰uÉd½ÓÌÎxº‰BQ¢Í–§/¸Õs,:øMiõ²¶)å¶x×–@Ã~ð1Xúžåƒ­§Ò%AÀ§•ð#ÛPÐóxqúu=Y[ò<÷wÞDç 1RèæÍׯS6—¡‡Ñ¶ÍÝžfÐŽW‹ÚøåŸe‰\ž~'¼]c-VU\Ó½›ÝÙ»¯}òÍ‹ç‚Ê/aeŸ¹Uµxñ™üÇŸÎz6ÎãÞÏâ®å¯Úҡꀞ´ÖžUA“œ=™ú÷ÓAE|‘î.BÌgÕ­óǸ϶÷.°Jç-=,þ½£×!ºÊ uW¥¼R‚9¡Ë«â½z»|fBo6©¬tÜǘÂð_Š¿¶ÈUaj››™@5‚O¨$rBëi¾Ó i;¢´ÌÿGÃÔ‰ÙÚ0)Øf%ªŽŸBܽÉzîÃL¾Îxüè„î°­JFMéŽía¡dUÙj;D£%Ÿ9äã\ÅÇ Æpö‡Fj8óY­T‹¹X¡k4«çp ^øôòÆN‘¹1Ï´|{ª è…—mË ;1ÎÙytONv+Éõwc^A“m˜ßöÓ Åɳe‹#Åîn¡âÐZÁ6Æ…e¸0Ô/ žÅ¹ë$S³^#(^HÞ§;~ vdÚPß' g2 ¯ñ &Qö÷8b'üVô^ns³M¥?hÞ¦¬ÁC͆dÜ•]vÄþ=(ûÊéÊå@ÔI3Ú™Š·Èš¥Îr÷Är™ØE Ïk[¥ù ¬Ó¦] ¨EÚ!O%÷õ\‹é¿Àw©ñ‚jÂÑ?ÜeVµ$Ç.RßPQ”@Ÿùqt ÂzT×Bç×g;Aˆe|!%ùT—ÌRð0í~“_ö¾Ë} ‰0=Ðów/ÔL Fh¢îB‘˜—®~[wÅg?Xïtá½Ð+"äš³]Šç䡾o{‡Ñ_Kå 2¹'bTGse.弎J‹ ƒH7×^ʉÐ4Œ­ÏOæP>æPDzúÇm›|ëýQ;¼Ò¨¢xãwbgW}Pˆ9Üý1ôëýÙ©a>ÜÌ~Áô ÷NCÔÅë W”+†@›VåΙå"e‚­yi&Ó!Ÿ .{´˜¤Î*áü³äæXg¥€.™ßz²ÝŒ`Er<ìÍ#¬ÁÞTUö ogAÌß,5©^¹’b1$H˜§ŒgX ~„†bÂFŽ&FP1®¾Ðj¶ê4æp¥n¬¬Œô†QÆ‚‹÷™³}U4ý#ð$PcQ׬ª*ûËô º&¨`?íáÔÉßD]°sÕ±Md-6h\õ®_0 r·{¶ “¡npÇ“ ˆzìD›­Ü©þ U¥·–úÖ3gSææ•Æq´Ç Ž.xÚùüäâÙ^y³ª¦¾Åب\•.5)˜ˆåÃÑq^÷žB¡8ü»ç˜‘þHüÈ"Šã··à$õ¸@C´b|µL@fh’ê5¿™Ú—Ö‘ÇSì“%ŽsÑÅš‘²R(ê g²¡ÅÆ÷®LÕýò«Û`¶`ŠSMÉ|¼É«¬A¾¸}^ï(ÇR³/å(ÀÕÉJ´i\S:Œôð?…€êœv˜Úÿ° ÛÅMøBŸŽ†ƒÛm ˆÞÙÖ‘|óÚú»ÑIÛ¨«PSËAµÃ…Ýò‚èÒ"¡÷"ð[ŠÉ2d¢R2÷Gc3gèàS9ÚÜÒø >8-má{ƒ.èá»+<#‡§«e»S àðÏw‰.Á­5î c¹ÝN>ÕÇ@wˆlK‚c£'‡^f(Œ£#4ä¥%ðÞ¤XJ€ÊÎu­ˆhX¸ðp Ȝ׾q–ûèw§ùu½GôÆ“#€ž°6yõçúï{¸§´cBªÁjÉUß’G¿¯¨y˜7Vìi/rÝÚˆ]³u‘G)ÞõE€©’OŒö1b.•¥»$€·E5~¯dT|=(F†›Â4 ļ/n)MÌĵ' à‹ís¨¼O·ÓU•.ôäñ¥ìQ|{‘rj{ti„!áiΘ ¡ƒ&þbYÁ ±—›ÏS>0 • Ô,QÐx‘žAØ^• ½„! ™ šzu†wÉ×y©õd©ŽÔI™&r˜Áz+ J¥cÒÆ¹ErŠkG£ü"‡vÐmøþ ÛaQ·åhj"ÃzCC±}‘•‰Ì ã÷>kƒu–0{ÙˆH›Í?ß­gl€Y~p­*¯Ï”(¨í#ãY×zÏ¡@îÛA9Ü1¡Â Ú<‹‚(%ÎkÇ–ã%¢Å™ú*ê3í‚*ÏLøaŸõò[¥TÖ[©ô*¬ßz{Âålí¶UZ•y›—³ú¥$Xr›;jzr“Âey :ÕY‘¸Lq6¦í∩øó7„¨SýVèsŒU€*’ôÚøý}ÄLÐŒÔﮤÅ+£¾?‰ešþŸÂÖÛ̦x…òÓû¬Ëä Þe‚Æ=~,|/›§€Cúc,|nW.ñbø’î ŠJ¼ñÆKÇí¹PÂøSÛ¼Úø%vMp„9w uµ8®WBžËÊbo(ƒP`æ¿Ø“ꀽ¸ r*´äÁ}‰,0ÿL&3@Ò-–7RÐs+ŒJ9P`¡¢bˆF\ÐÜ?îó ®ÖV4·%O|¢Ö,= =•Š1 g\ùR¦£@%ºl“ëvܧ´„l€™áÒL¢q”bžù7_$*©ÜŒçÅ1§§]¦ÀG-Ò>öÎ’‹vÚÒ:,?þ©ÊÍ…g!Î U3À>‡oe½þrpÍN!e‹ qØ'ý+ÛÂä}¯«uzìB¼ …‘­ö1Tµ«††C޲j¹• M·aÍ4ÎRîˆÅ¦•>£Ø[˜Ðœ©·žF÷.µ!YTº¶­‡0È-®S¡ØbSbéÉøåßVí¢&5BÌ„ ƒkûŠX÷ › +¨1Fàœ@Oê î¬Cžv71IÓôY‚j\yúü^žG@³ÛŠôâ«cc{ÒÞ¬B “’á9ÔÔ4³e½u¤ßÅÝéáõ1È÷J?Ö°~ÈKí&—BRVá·ÄUÆ¢z`QûCšÊh'åyà®(™^ëÜey‚D…$8ªk"\–©[­å<º{ÏkLýDO#°ˆÒù¥¿_¥Q•‘)‚©«º–(Ó A“lf)“¸AÄ ¿„>D3Ýý%Éþd£½Ÿ '‹¢í_rÙ²û0@§“žºŽLýVNéeäWžøbAÌ„/˜ç@áXZõ‚EX< ·©ú!5z ‰z@Å·¥^3 ZAHÝnvŒPÀ™¥†^‹ÙogÖ ê,´ÚZƒá¹nM£i³sÍQî®G¼¨ŒÌ÷U:­KÒnÞ3ê)Õ £Éc íðVÜ.Xk«"Ø£ü»`$ç£ÏM•$Œ(õ¡S–ù-¯0µhNˆ÷¢š²â"ùТ ì^j­]¸ NŽSVHÇ·Z·‹‹¬"⚟4«cXø„¾E%+XbRöÖ¥t“R›-ÀʘðìVí‘b1rˆ'D#(>ÝN‘}žai¥í¾_×PKàaÂ_F7(´«LgtÑ‚™FœSÞ ö`[ý=ç¶ Tö”w*xòJ*•S®Ø„^ 9»fRÆ`£iþ±ë2à7=ùJÙ&â°Rb;5Päà «ù¦(îçý{§ž”[ìnU’yÜÍ2GDÝÏêûy†[p{ÃVZdÝ—9½>E“j™ Vr9oðØ"›y?0X2‹ \ªŸmÄã@Ê õ{ÜŽÌd9A\*ѯÓWšò´ V´«"GŠÄƒNE…qgò†‡ë²?«àšÍTJÿÁ("ë;Å»ÃÎG¡UYÜñOUÖ‡ ×93ÒgÜÌ»ú³¤ s§({+A£’jŠT‘6¶äQz‚}Æ=«É ½¯9Õ˜^ïÊòèÁ· xß­çR?@N?Sæl—|MÚÅái#óõ£‹ß\i®0gTl8^•ßnh˾cˆ‚'a[?nLÚz/1õ<È‹¹955ïB.õ—8¯R®Õ7ŽÏ—ü*Æ5³I1väaœútŸ3)½QÄÄ*:5 ŸÎ7Kn•X8#KáÂZðÛª^xP~Ìw3,k§·'—\«LKËsvˆoBÞ\ˆ¨¹Ò¤²Q¶6µл‰–¢aˆBðò³üÜÏf"ôÂG‚}ä´Ý†äÇù%©¾Üp_ 8z¬Oñ‚“´Âm®Ó£j¶üSˆLÕJŸ BÝå¨oóx5Žÿù°W ÞƒcíCmÚÞªÙO° É7íÄ+å”1¹£ÚDöÏ… CyŒÝÖzé’Å|44ÇgOéYÁô“ÞìµßÉÑáé9®ÒÅ<ì×Àòð­Â«sø}cg 1î+*Õ_ .¬TTX˜Ò8Ÿ‰çï½íbzÚJ[À k ÙüîLƒ>›Hm—9oÆH¯¶ªñ/¢–…'üý'ñÿs*v°+¸%ǾOéµ' é• Šå]¯§à<†vËsëa–|gÈo .K“äà WƘ¬”Ç+îo¢Ò´’Ș|ø Ùøg¢`G d:Ý_B4‘>ë%;´³ žÀ^VoØ›Cà8Ìò|¯0¢¬g)¦¾¾\{§{06qþ¢ ˆ(¡ºùL6s Q٠¾¤ÝðÝéúB˜‰Ú(t~áF½x1/¡ uߥÅÇUNjà?Ho=¨Ko4} I•ºðdo¥Æ&öro2'"6 k1æ|ûZ—Cö¶6¿.s+q ôר/S‘î ›ÇÚ©’ˆ·sú¼D9b‚bR‘ïçêV°¾4Ý­¤5 phÊZ¦]•.9Ú OÉ børéŽÉ,#W]CÀSVR„Òããlæc6"7JAÝI†>«~<ÛEHÏÅ€vÄÙœ[ƒÆÑ'Úá Z¸&»ªš}pw¶õsL˜,âua@e"­Üu]xÙ$ ©*m”í8êË_ýjÓß) Ù½i¿ÂØÇ¤¨·{fd‚Û!Aü>L²ì;\/•Ÿœ'2ãM›‡ææó¨7ñf8…ìkİ5Ës›ï¨ Õ’¾EŸ3$It6°­ïEBˆ,"5³Ú±œt=‡‹F°5¢½óØÊ,€+ö •?÷*¢o—¯»©"ÜÜ}¬=ÌRo@¢²mhm„\~'×Áˆ-ž€ÛÓéF…€Y7gvØÓ)¼h÷¶æ0ͱÅ@äBØl—Q ¯°oµÎM)½o»uéÓH“G)¼c'w¢»©]æC`Uh²©OØÔ²ZÑ…­Y7C òR‘óBÏAH·åüKØb',r­@·ï§ýU2šsnÓDõFyç]|àO[e¤(N…Þc…í¡ý©¾ûh)}À>UÖ+|;Êéˆ5A¸Wµ+ªAë‡ÇwJâb¹6ò¬ìeL³?s|»ãå88ð5y¿9×»Á±† VvéÝ+«6ٌ녿,ý£u}8"u*b•ô0r+è˜)š@âtŪ6ˆ"—¼îª>œÇºUPw‹³wI‚† ,nJ“ßè7ƒŸ<^QŠqMBçÓ}`'šI<µ–˜¢i^}ͱÞc5þLi[×GÈÑÂJ”×+‡q€ڹ¼Yø ¨Ÿaz-Î)(a¦,êä«z]͘ ”ŒõšÅe^ß»´È+ªTUá¸&Y»`¾¡Æb ßÄfÒÏ¿¾Ú4cë“}¯f[”Ê+ôî~áÿlÏ(Zf‹ºnÇ\•,^0Ýíß< ôÄЖË-ïð9Gã÷›Ù2–Öa°æ´’^SC6ë-Ã¥w¯¢!¤Ë߸KÑëœmJvf8çow¨ (_Maý{"3g*ÐésÝ=o¤ßYƒ…Ú3†Žé3yvõšà/+ìßl°'m¿éŽTešÿwK0ÊU¾þ™î¹js¨Géá4‹á™­5'y€§/ÛÛ¤£Òe€S¦J4üV>"Œ;Ldž‹lM ƒ¹‚¼ŠÁr¥uç È øï[EØŠËô¡Hˆ¿Êïh§&|K/'£ÙwV]*ÙÆ† 4ó(Q`´7ûÏ^rã—œŠòI*¨¥PVuY ]Ó§ÒÀcö&Õ«íDCø´F³Á² Sb>t!ú;—E¯bª@<ò mĽ®(Ä­ç5íÞ ³EÀþ…ý0zèɮֻemzHíÿå}9>PÇÄHp^’ÊVì%°½ ™Üì)f›Z¦âøCn’ˆEAWËw ecýû×ÕáÀ²àþÕvàÔwÁSútGÿZo“_†¦ëJÃîj "gžŸŠœÄø¸‘;tÊß; B8ËíÁ»üÌQ¦ñÑm|³C:N'èD•-5à˜5_ôBãèS™,î!Ħ˸Àðfp‚Ì›sÉœK«®ù™—ã@Q¾‰®¤5Oœn¸šL;˜Z ÊúޱÔœø=@–Ps>¨è0£Ådâ`’Td- ê§êî‰uí0OÈâ~i4J,ª™÷5ä ÏâØ<ºèÙºóVHl¾ÎÍtÞÜúOV‡Vkÿ ÷Lì9É-e0È·nò{ô6^Â\M8'9F ·éëÀÔjé «I®T[Ï%®C:Âß™'b€|t;¤À²%²¼Ĭ»fé¼bÎzíµ›9«cô¼´»~§1ßÀãï³Â™õÿx®Í hñ#Y:¸d6?µ¡)îÿ~Õ“räâB¥Eªæ¤U§Nµ³‡v©Oh¥íÐã„×ÿWONµ/¬\u£3¥[àA¾²°H—ûnÖ¬‘†ßd¹<[þ*’ˆ$V ®µœ7á\râ^bHo%˜'¶q-ÓÁ+ô6FwÔàn|¦vY¹"J š+M¥‘nSJÔ £O^ѯµfcGSB›Ås„Êí7ÅO§ß8x­fíW¾ípZ梟Áón¡*ìåµÅÃBtö5¼eáÑw£Ý*oÿ[(¡Éb?²Ób@¦Ïdþ¨îOíQч_}¡IBý´ùjœ·è]ÛrcûTÃù£\b”j-ZCMGŽmîëD†ÛëPñ`Ç/Qˆ!z‡ÄÀˆ2ûiñõúiêN×ç‘§è:òË Áñ…uwjøU6”f4À!..'“Àt¯ MMÃàGÀ¯Îüý°wh&Œ!ÒU¯2SÔëæ n ´ÈÍ/Jàøâ"¨…>ËÈ`Ób¸YRØê^“ЭGQ¨aÍ´¯éœYó#ûMéÚü Y—¹_!¬ÄGJ«tåZD×üsÌñu›b5Å_ÆÝxrXÍCkø)ÎZ5:Úß½ã¨ã±'‹Jž1b2‹î­²œ{œ[M‡QàioÊÊlЪ^ T%l[<;¿lR5pÙ]çb,¤Š™ž…¬ßìžòøcèI<ê½=þÖn§\NY#ݲmŽ’ä²k˜Cr üžó:_j]™§²èO쟿–hŒÇ¸»/1_ ÖVûaóO‹BòÌø!½ºå“Øjþu^}Fª^'ÊÏ£vŸP#}ŽŸÛ§~çíî?¨Lfš½NDÝ8ës?Ü nÆ>jÉÀg›½ÛËÒN>ìY#fÆWW¬¯§Øwjƒÿ,³mO†z”9ÝÙ$¼eð™ÖQ‡< t0µ[ýÌÈð[±é…ßx}D¡Z•d"fŒ=µhIá}¶ \?ó;wCUã¨ËÀÏG¿/láÑ&ÜKÒY©aV é†¥<Ñ0þŸG›‚68åÉþÜß’¯Öкá÷•6vŒÓƒåã—…#pXÁ¶ã¤?_þßY!;ÿ½\ ¨.-Lï<ΓԾãΛPj¤K:\™-@­¥ù‰à¿‚Ø0_¤§UÅĈúˆ\—?3×:ò#­Iq¾3öÌ(DòQ¢eÊ“ rÿÑ…0FN.ò–»Ûk€˜õ>ª~gS¡’;nOØü]½?v•[‚Uz؈_ BwÜGø ïÜ3['®‹µëÓK’ÂË„O‚À¡€Æ¯2S‚¶Êþã*×ñx›ŒE:ß’•ÆË.‰k¿îC„XV­iæ¶Ç/,5O­ÚÅ“SÕØ ¶:e^lÏG‘1èk( GŠZóÛ[*:zô\ x芇Žëë÷Éw¼ë¼eÔôe`SŠfyy)—vççr£mlÔžñcö•ù‰ZËÀ¢B¥Ï€—o²å)Ïúä-OßÈÍ©ìºÆ="‡>Fyf2ÆzåžØ®ÔCÎ%»ËµŸ4B¯Ñ1”ŒäÐqÒ›% —êC3#†_:ÒU† ŒÕ¨_§!,2Â9Jwjh°Õ¨´³ØÑ¡ZLóÇ7EfÒm·ZΩ«‹ÕAÒŠ¸”ÎÃAd*Wûdç™àaQ-$K!LÚ8)Fùš[J;çqkå¤TòsÆ™³ F'ÓËÿS·Œ¨Æ^ãÜó-4MDÐâTÑr¾Âbðh;Ëò>ÆÔòÿkCB\Þ6^÷Ò]—Œ| «(d¡w@zÍo€ ø ™¢ë¥¤Úþ´¡;Ó=qšóœ¡.”“Á õܬ-þi Lr’¿Š¿íÖª’»6ûŒ%z`ù°~1%oBÔÄþ6  ѹý–6^úÓnJ+¥]ä¡ß0©ïØÉ6Š.ï—Q)Гé,æAºC‰cmJOÀÿÒy4£’ÄÁC =VxJ@ O06x1\]¾“4 D>2ª]LY] 8M’Œ”jD·³Ôήa¸¯ñ±ý±x¸Ï¤€ÈÑÅË;í têoE”TŒXë­wŒÍÃ7ç¿»†\vÛÙwŽÀƒ˜øL¤#3J©áp¤Ög£»ñ6%q¢n`@Q|k±3æï`Mfj8 è;šÌýš.pžeþ²è¾œâqƒ62 —Ï?ÊpW gc‹\Þ~[ÜRpu!±†h *u•òÌýÕ!rc­YØ©ö†‘¹~p}v"ð¯5;yÓ$øIb/fžÿÎH2jµôƒÆÿÏ#Pê=lÓ I8ò½Ä`ºšmS{MÞVúúòý<¢ÇíÖHùN*Z¦$oa?Õlí yYŸd/X¦,Î!8@‹™ÐÖ²ÆwÆOz#‡©ŸR+'ÆÉ´©¼Ú+‚€ß‰8ºp{ùµfâWâÞ­=œÄ¬¾ªV:±µ{ŸI+b%ñØfqrç¤þal‹-öA~+ 9§Œ‡µéC['ÑO'¯ÚkmO”Žº`éݼIÙ¾MútÁ#Õ€"qÍ6W¤Jà=¼­ÁV2‡¥§vö}YÇÍúˆ²¹aÕɼ4Ô“´Û£ܺ³À+ÁÿIYWjÉÄ+ ¡wõã 4}miHlýBHÀ;'Z à­pùÄŸ8èlÝr÷Œúã°£û×ôü_Ø€~ŸÊFK…‘»ûXì™…½çPÐCiwËh÷™y£?5ŸüôGíþL.œé†žÌ—XhÎ21ù HO5Tú?¾¸/!Xr­#Ç…GÂ9 Õ¦’v ½.R¥WµLºÕבÎû U×TJÃÒüã'¡äÊ¡ê¯ò Ó±•Íz‡1šq.¨ûúÞK¦ŠCÏCGLïáš¡«3! •+9ѼK¤6©™òSó…BдœŸþ»•_›¿±~%lȦó1ºX…k> 0SɈãF×IÙ¨ØÍ‚Â3»4ªÁGö`èÿ§çqw ñÝKJ™Ÿ~߈“”«ÎÍèïTBT#ŸMAE΄ԵÙ_ ƿ½xrg5ý™ØýHb_xF Y÷æÑS}‰1tS_O×xìVªîyæEÖCC–ªžÓOֳſW’øq²nqæÊ3¦q£Ž_‘ØfÚ-M4¬æN¦¯ %·Rß?] KR¶ÝÞ ëo|vÀsÖÞ2Ý7Ãäªý׉EJcqf+gMH¬;]dÐhÆ—tI“YŤ%ˆn… ØÌÆá!Ý(Ë…jm}ç:vÁAáÀ°26UOe¿”òÊʾí6¶¹¤ües“It„¦Ä9·Ò=d4¡Þ•ïÈÊË+âé†ÿ~ùÍ|\&a{ãÔª¨Ò¿!}#C•—Ÿ­ÂqC¢âÓ;¬âýPÛÝÒT7cékجڕâÐ$ù^ Q"õ¢N( 9.¬4t G­mÜXý =l3DLž£t|š1qˆÇ©³Ÿ”ëÕüòÅ#¢ß3.âÃ`aú§²‡¶¡\ÖAIÈ8.’€[šûÀ¼“NŸºuô‚mì˜ÏÖ·? Ž7˜ã°¼uÊ~YVn¶j^½f«÷ÍÆW ‚AMˆ¬áJ ÈbZG°Ëº°G°þ\Ί7Ñ3­h|À,Ù[ˆ•ÜH±©ÞØ2iéA¾~Ž7×Ï ;~vq}ß’®ÒSV@®JÌ2¨èLô 9„Á*³ÅÚAˆ~ð‡>š*ä(ñ(##ì~€¹qD>èŸø¹õÙ©l~Šáh½x´Ñ}´œÍ½&ýY®ÞÑÅxCy“È[¦0*)+G?)#)Gî‡T„"××ýR£Ø¹þœŧñÉîÅpú¶w·%‰/¯PteÌò'ó‹4ÅΆWmÖú[ž&8ƒJw¼œßÚŠÜ;öó[K£#ØYaåôOŠ:k1 <—Â1ZrÖèEª«è‘’˜xf®¬éç)c„Ö ¨âv€›øO±Þî¾b^ÎD¢PwÓðŽ uê'QÔèòÌYüƒÞ:Ìc ªüŠxJh¿àä»0”ž}ÃsdÑHˆKAØŸp ô0e˜ýšŸëf a´ã>.Z²Ìˆ.Ûå}؆«ÙâØûí~ýÐ"ô8Ylk’±y°$·ÞlØ’>Jt±ãIܤ'ÒJ–ä&%'8¡ßr{q6"FÆ3®þþ¦ÈoL$EÓÐ…†gq¶F#B·1.‚Q.XÆžU{üZ÷š‹{:•§#üf±äè³²ŸÁÅË’=,¢Ûò¿n; jiÓWÏIx»§ìV·@I“Ýßñ Lñ¼Žò~µ¥”šb&-åb”AÑÒ‚àÉijY)Üœüÿ¾T¸±‰éIrº‚@— G·2t€È× ¾cAû·a¦®ÛôÆt =ù‡Ö¹tFOûÛß.¶È¢¶ô±ì±xöTà/þ_Óó†ÕŠå/ÜãêuNºn‚ËÎüøf4Ü—ڒμ¤Òõvò%蟈ŒãmŸWÒâRAý{W&oêbø3?Êѕ‹aö2dsÍ2ÔÛ°ª;šlhX»PàÈ1Ýb¥úíÝ3…É,¥õ7„W:íÔønB£TwÍp "ïZ­O*céN· € ™gÇS»‰ÑQ˜c¬TÔ¥.ý@OÉ{},NK¡¬Ì1Vs¸o­Y-­1ï>ë^ï­AýÒÝ Ö’¢þºy€r~f®ZuŒcê5é2‰­~6ë@‘¥£TI& +WÙ¼D­íÄy°M¬<جZ~'~±Ù·­Ýúsî-øJ}oй.%õˆN5nŸyæÂ¨»©@?Òu¼d- õvDf•„ñtqÎævÏ šÎhä¶I³ö„Ee°À_y`nM,ìq’£,öILW¨œáô8\QAkÁ– cS¼n‡µøx\¿–ƒŒ[G糞üÿ¼;q¿YZ2!2¿â,J’ºÔ­¥ÆnÕø´íñL™ß 0šÅ5øš†ò{‚º^ÊÔä÷XÕ—œ ÎøÜήK4W¬#%~€ Ôf§ÐMäD¿ŒcøÉ„i¼ÿüß•™³a>=ÎÓ ãÊ£ìü¥›'Ø5ÆÅ DIùA¾(¼hœ¡8}S uÀ•@'Ûí°NÄaV *?‹Â\búÓd EŽ2Ÿ©„U2sÙ ·p­TŒúñï)éÞL",x¡b¤¿G!ØÐüÆ>¡Tµî )U³­ÿ¢"àdïï)Ùp*ÏþM)ç«ñŸÄš Ñï2~\ô¨_9%,½-zrˆý}ÿÍ¥Á¯%J Hë#mkŸÐ@νu9ìÇåwhÂÞ»‹h–É„Füç[5;“Í y=m[©µ_kä`HÞÖ„NE~zL‘œ{"µ2b¹Þ Ö® ê}HôÒ0—0]œ)fØè^27½íeµu™k¹ôήÀ Vp×'·Ñî껀QóÍ?:Ï[llŽx-‹ÊzU÷ÓTMvÔ®Þ(Dµ7Ų‡”žLqþöGHPáä0x) æ¦ñ }G“1æ)íCr&C_¦%6W®ø§ÈÓ*!d/žA ‚ûBp«0€Qäµ òÍ/\laDŠTç`xœså7Áôÿ‘Ç¡¹„RG˜pJ3Íì™EŒú°X¿ê“ÿ*~Tp<»,T‡5ý3oNFM(¿‚&G¤´t|>¬!õ§oˆÑQ€³\*=ú@keèÁS2[.ýã*²ô~"µò ñxOÇù…Ô’†Ég)©Ð¢0!®ÅÎ?œâñHugHMýÚŸªVskýÙÙ&Ô>Š˜:¤et쳎²,àÓÚ²u±î’Ão¹^p³?õôc´ð´ÆÉÒ¯syÃz]›Q6™ä¨HL ÔÅQÞ,[iö¡¾Š%Ä}ÅÁD< (Pdg'$™ˆ—õ‡*)pf§Ä¯;wñü2XR¾%˜nŸM²¡Š®pÂû t‚˜sgáÒà ¿÷/ Áës{\‚¨qo¸ça£ã‹X¥Öøò»C©ùHØØc(šº•ú›bâ¨âædå8ÒÒµ²Á Ff}®e «õ¿ƒ‘DØ!8îÊM¯®FæŽï1eQ±·½5…)Uì}ó y™¦{Þ‰G N-!ÀÛ¦Ê&n¦¶$Â2`ú›:™´dÏ(ýóZiu±‡vøI™_‹iÓÕÁmCžÌj ‡9”aÃoG<|1ÚóÛ AÑaBi¿€e·:fñÂQÀi²Dgçtº£–L×hÕ»» 6/ì›uâãä[êYYî_+O_¡HÉ%£úõ¥˜®›KÞ°‹’y|D¬F^Y†„´ÌtM7jüóškží­8+$k=ð­1ó/|=ÈTWÙ•kWEj1TqW²÷ ú‘…(›§#@ìA%ÁìAzö³&,@}¥;Ñ[ Ô)䢂¡ZñÝùKþüع;’op ÃWQYZi†î”È%$õYس×!¥}åšOÃøÞín VïÄNß>2ÑßÀDÔ¶vEc Ò›Y„Éæ5ðò=¦»â£Æÿj¤ÆÓýÖê×ÉÄ:á”ñxŽOü’^ô* Sß9âcv¢zƒ½8¤›ûš.KÄBápõՆ˄ùïóâ‚@eVd³§X+.¿¶áóyýå)Jvžm7A7z• ¢Ðsf²+^1YàâOnS–>œ‹æ~#“o;µLµŒ¾Êć ®~qD ZefÖò+OºFÙ[²E. ¤ZÖšUoK>vN9û‡ã!˜´˜«“(2ãì6íÚà€ƒ"†¦ãdöW1íÌ”õ˜^û¡¥¯iãETíý&šCoÐO¼w,—leu`q}¶®„jÓª2^±ã›¼ á9)ÌÎ’ª&ä;«‡á ÄM­îÖ -(ðY³…QKãÈé"ƒ¾Al{aîx¹)1 ’_ùózE‰Š/™ð‡Ì|upc¹îŒ‡Q"o©öÊð-½ó·k›¨bûÓðzLV‘®zVüC‚ÖªK+‡QÀ,Ù‰K6¹1˜›ºŠœ5GàTŽnñ >na‰šJá®âú’0*¬7űÂ?OÄ}› Ízé~G”ô$'é€ôÿŒ¶¤Síٲ͙ U©B»:}DvqÂWG:±†<›‰uά³džÃZ¡ˆ$Zò¶š]b*0†lëLõv†:Ô€œbb‡¨íÿ<»ñ+;WkŠuÔl°ãp»ùç9Ô“zÂKË`#õ…ýg ízZxCÈa2åž(µñ°v·&I8n¾mp>ÿÿ»»´rK©©»ŸÅÍä•|_Z„ðà< šË¿”¥L  k¾üHRϮﰭ“{¹ã²=—ÈEØ$”# šßÈË!_o±¤ÒÀf‡š~G»Ëê'˜Yb„(üßËÂÙÄfƒAˆü]Í­†Gy™±êá"²¹€2ùì%&vvæžæ«g¢`ÓC¼èígwá".›sº³LÐm®j.øÏ¥m!u`–@¤ß½ôêï%æžÓ{uÜBÖÅVƒk±27ü.­{éÁ™–€þÖH9«Jó78ªPÄ·ç¹Ø$E]íýÐ̧¬X$Ÿo©Lééu„=wFZŸfL!ë¦5öW›WÌ ””’*É\‹»#åk«+¼ ¿tžÒ„P CôE§[¡áb´Åw)GØlnµu°=û–”´1÷Ã\–íqøm|m8*ÂWljÜž…–@7¦‚ÅO yBkÐÓ¦aÆdÆ}`ô6-ÚPa¿;Ø–¼-´ýP«¨jsdD™Ë`>ØèCáó®=¥¶U mI¶Š„Uñ 91j޹µÁ·¢A |i‘H/ÙaÙ‹K¡)ï[ÚÂ|Øåù¡êÐkm”„ýø/´£ç`äÚ…E.flËëW¯… 3—„ÃBþPhœD®b0¶ªW¥f¡zÁE£€p ìçxï-([8<­*öý–•LÅdbJ‰lè  ±ïéÄD£N-3¾â[[ºþü£lŠMÍ[¼þ OMWCØIü2ÿ²õ°Õ] +Ð#Ý&”ë't&°@Å kœ•Dõ@t‰É.$£6¿†J[Žz»›·ñOâoÛÔhñâ­1`;kŸúž%YfgvH~Ö^·­E°•>kÁr7˜@Ä¿H§9Ïb¤Å˜ë`Cü1VúV@œ/ޏwÃ;©"ÿ*Á_#YSEÆ%v¦YÞ÷!ï‰O¬3TÇ>Ô;Ý?,Õƒ5øÿ j[ÙØÆ ºê3‰ÄZžazy>4$8'„ó«L3‡D·¥Fâ˜æÐÕb›Hère5BDÖˆàéÓ÷0JÂì)†²­ØGàš…K¶½®1•¡ð|½—hÚ3ÆÏEJxŠôþÞcŽH@+ûæT`ßdQ"Ìbª¾7TJêÔá†"ÁB‰.ËÅX? Dѵi”_¤[,@¯xô´1y­àG{@ÌQDÌéÑ*¦‡’Á¿ _ÀéÐv:Z÷Êðt¥^ÆuÅ „GÍßê®Ð(°YO®ž9‰”`VVÞa |ÙNaµÿsŠê÷`¯Ráž5SEÐ#7/¼ ã`½?å|ÊA‘uSÌ-‡ÚŒÃíÊ:=C`2Ô®ƒú(mÿ|aÓêàÐý|¾Ê@iNs´ö wË×H3Lµ£`urUË9o9°— ¢ãp«¨Øù¨t®¢9‰Ž03á^•Ù€$•¹†¨­ÑØ~BÆYfþ'ê‰7MSÞë²÷Ȇ~[+fб ø¤e 5y@+¬ðæcRB4.Ý£=ÎAÈ^2‰÷è|¯ˆâek!Ü£ ‰"¾õö†òè[ÇûbdýNfžº›b{xÀ°Ãip¢ÎlDGN{K¼AþjJÚNsEß#¡ÈR\c·E)œ@gÔTÒDØí«V[ßò3ŠþhSæ»ÎŒ¹ Ø! pA½,zœÖç¾°²J˜uÈ&m‰}ýÜ`-× É§y<Îà2ßý¾RHÙ=Ǫ±9–¬¢oáÐ]è—Ù®H®‹ßC¢²ýNwYñ8NïÖ T𠪉€^r{DÆAq8ÐÊcã_»¥¾$²}«ZÎá瓜l•7Þã\À?"y~¶¡ûûöï©æ ìw"¢ =íÇ‹ò{%i]`r…4¾ ÂŒu„N®gªsåé94ÇŠì:K+§Š»` íÁ_fÉä ½ŸL Zî‰Y«úßöªª¡žðm…7‹÷X9ò€rTÅׯÚ×í5vˆÜ3üÈðÿú>ñ»†ïÌ¿õÇNÜî$KI¦þ`>…Ýñv&m¦Â8—Š:§•Wv­#a<¥nT µÄfpŽéa×K pök´·**œ‘ü¾?×kãqÚÐ;«‘-• Œx¼õ`yäëàĬóš±ë #‡o éÚe8•|ÜIäQ̳…æïÉ»¯èCöËáXˆ– }jEÓÒ½ÅÃqŽ.oÚÌù“¦ô2ìßÔù<‚ÿžÏÌŒ|j. §ÄΔóT&âÉuqD}!õÈÀa"šc±‰”¨Z­(éJ‰¯¤ 75€ËŠU¹8ríW©X|ØüLës±µ—Ò/«ssD:´ì#ÁtrƒÚã0aZ›‹¯äÏ´ªÙ1òL¸À\ªn2ŠI®ª ·\ÌDН¤&ÚЮÖýÒþ"|äýxd —÷JUn†¿·º-:±Š ~µä²–ø¬½m÷óö¨ƒ«ûŸfù€®ï(^¸¢·tÌ#N§øÎžãõŠ+È¡Y~KÈÁá ;½¤’)ßò,¯kNà@§cÄbʬTóÐî&þ¦F˜ýb!„GàÄ×h Ot´ó'³–Sœ ¹ž¼B˜Ì)s°°éÝ\j„hè IãVö¼CWùÊ@Hõò<)ÔÇµÓ“å ›ªÖMsÅfFøF?”&]ý r¹öô„ÂøîDHur)ãýƒ4oÊ ³=ŸëíMã ¢.dáÑãb€euwï[¥@PòE¨5?bO¹Î1˜½|“)<\åõ8“ߤ,AÍÉ@Rˆ¡c‰7ë‚ÁˆB°C>a’ü­j²âM~þin¦ÎL†uÅ=G-sg~ÃÖºÜ2uŽ&F^%湨pp)©ó@qŒ a-`h%ÿÓæ0ó±ò‘ÂvìFŘ)Q•¹xÈ8ÛšÔª1ëXE4¤gÐ>>"šŸ­™E±Ï´ûîúÏÖfmq+Êž7¼)%°ñê%©ý¤½xáñ5,OŠFb;ÜnžÈ!ûŒÂá™X$PUðpÁ ¸ Ñ€óÛn"j ɾ.Ùã{ ‚õ1Ò³{§uLœeËÏÕ"éöUt¸äLâÆK/odžï*g‹Ëû­a|¤2¬oÄ6µýµÇVØ >çùQÑ1z!ŠÃƒ^¥oœBˆ?mÙ[V„kWO®zùbPkÒˆàöó$ Ý·[¸‹m$}ÇûVmˆJÈÅûñ‰m¢ÿo¿ #<\èWóY³s¤}ê﫵ë¹÷åUk7[ÊÅîž®°»`Ž:t1†$i•©âæ?ÆÚ-úæ_ÑšÌêÄ3žHZ íš·§³ IDÇöäïÃÂŒFóæ¨à¶]“çnˆ5æò@X M2›\dËÞ$»˜Áð\ªaáÈüe†ñ÷I¾)€b±Ð­'j@£Œck_ž×[ùìÜSq†ÁìÎÔäçñ` s§d{œ±êáøŽ¤¢¥?@ 6öÆ 4·6æ‡ÜRë­énq÷Sü7=>óä¯þ¾œ"ysª8%`Ò¥%Hà“ƒ%çç2I9¢öÇJ|CK»R! q9ƒ…Ùﯟn8PMÖpYÓ‚¾w³]kPL¼õUÀO×µô´’~EúkŒý]²W~»Ü ö¢Õ„½û®!ô½Ê‚Šö»¬Õ2S>F#çCKcºUüæQVÌ}¬'‰ͤé«-Ý‚ü¦fò3@Fô@[Í í*NßíèÃn¸ÕÉ|“ÖöÑ"òNEÿa±Ð¥eûe ëž —!¢BEúLÂDM“¬5öØBüݤ% /¤=3½“V¬SOŸÅ1*w§vH„Pƒ¶¼Þ{Âö™‚úÖÜ“1w„ ¸/êïx¶ßj —` â5¥„+ -åãà6§8}|©ÕS%¹sÓ¼TWÐ9ܼ®†š¸µƒ– Šã“¢âÝýÞžoS¥rns€&|þ¯B[ͦcp^­¬Vq^kvöW“z´›/*~Ô_]ù>ĈâÎúså°Æ{]hÄVðí´$½q=ž›f´ŽÜx äZãÖemO3•Äìxg'Û­çÛÊ\ìqV-±Œc©Ò—Å0£;ëÌ~DøCä*ØÉÌ`è|M÷bž]>YëÊñW+¬uD\¸4+×î— Úy>&Ï 5m5 yG«&CìËçs´ÇÅëÈ[yE; ­ª§{ é‚õÎmCïöŽÐàŽdÜÐ~¸ŽµÇ4øhZ½1%M@ нöìb$"Ç]OØI Yúæ™á3_ÉzÓ«ÉçÙAeíÖ^g»¶Åe,ÎÄ7„~RCLß/—íŽ8á¢Wdfþ·qÿ‚MðëƒÎù ÁÿémZŒ†Ì¸ åQü¸?4I4gýRy&LÛ£;°#GL ËȪJRs“ÇÏw™ ÊÖ:j¬ í@åõVy–SBÏ ^]¥$ãEfwRÃŒQ› ºÖéïw>Ïñ’sÖRÖŒY–9K6íÁï<—ô{‘Å{S$¯ˆeÓš1¬8…ùˆxâjzM0—Ê8?xƒ£·¾1`-Ž6¥$ük´§aœá Ø¼‹¦æ3lSF*äûÈV¢áš ÌJÎu.}Eј™þ×6éBþ©>sC„µ¹¦›¹ac\0þp–… c¿Çºëæú¤â¢ŒõmÆo#!JO˜Æ«“–%éy“¨Û¢ƒ@?¡Kå¤Ã‡fi ­pî¹ËsxË_²c>Aæ§¢%9nðJî§oëžëÊ5›ƿ½Å¼“ø>'Ù¾¢_Y†²DKÁæÇÅW.´Ä?Ë!ûÐ6ÇÈ^ï®ç;Ý[M ºÄP›³7Ïæ ÐiWh q›Ä.ÃÛ¢VK$üᛸé »qá.+5«óF!.±‹œ^ZóÿRÔo~އԯ׵û5¬6³ˆ†|ªtŸ<ø{Ee2ÚC#Õ8|óðoˆ T^“$ÐÐ|¡î§saC÷XÒz7È6GõTnø zñe…$³voÒ;õ°>x’3¶pNîæ{%Þ‹ÈÞ²°Y¿9Áð'×(o ½JD•™g<"{±>Áû¿ÆC »/ „L4š‚ü©¢´6>P;ÿp€½´b`|陆Nä=<¬`8N¶(Ë…@‚ôS± ¿£'Ðrìk–.Ú½Xï>°Bù2²w75÷ý7$ªºsZNÑá–i‹‡Yµòq¨l’3&€¢qð׆S!‰ˆ»gG~©Ù=ZÍrÁg! ðqÞÃã±§Z.“Öl%Ï´ÐáVvÄNZÑ‹Š"îý·3ægÌâô=ÏEé3ÜÓÇ䣸P1¯UÇì@ñïÜ àJüÉ÷'A“—MeÈÈgE°ÕhÙ2¦f.Ý3 Úä{™K†7@u–h 3['GW‚pÇ(Z¢ó·݈ÍøÈ»Kóↆ´šx`ܤ z-oät³àä5á0x Qy{Ϥ‚4c>Èd‚t´…q!33ìŽùY[I/Z‚„ 'ãœa§ŸýDAn?¨‡Ý4¬gýoc&»xi|7Ú ±IUÁ‚B±ß…¢*@Æ}4âæ ÷–I«`—M߬^ä²ïäGôÚ©œe’Ô‘Ú¥(>§‹ñÀ’4ìcÄôWx).\9­¯™ÄÁ´ ut©·eùT¿ypSQrÚ«pœzñà „P S—5>ˇƒ>nEžø.¼¤Ù[ŒÎCð‹E€ãÇÑôén˜T¢+Ëß¿öŠ•\« +Ȱ=»YYñèóæ šgŽÒ§SNöØ´t"{|;žºìþ|M>ð@úN¶ç´+ÈS,âpÖád6?’0ؼ³ «iy¿½‡Z/2ïÏHÐ7ÞÖ’f©ô¼F`À}9cnN>¿(hdÒ›)¸”²FB è4Ãv,VÎx3)£V¨ë`% 5pª& §íb5ƒr–0Ï ð¨zÓ¯lŸlýÚ(Á†)ÈÛ(Çó£s*Øõñ"Yù’Æ|0ã•|p¶¾"VˆÃ)Õ±O^7 3÷ÜÀœ‰k„‡QÚº ˜)W÷0Ñ¥hB¾™\ ª7 'y¹è©AgO‘†þv ˜µ¯b…DZä„_ãŽAA^|…òM¡¦Ò™¦µE=«TÀ[–cº¢úªü‹Pi% ¨¼%\YM«1À˜¥Žÿ?“ûékkOX¤W÷}Eœ<Õ\C>ìì¶YÓNyì#Èe#–ö!ƒ#Ö»þÓ‹7ÃB/“h:ö@[[T%Q'ËÁgZå=8˜u62¡þÃMBj.•›;åÁôß§&ü4ŽFÿǾg/‹]é15Ql%@m'y ŠŒŸPá væ$Ò(2ýÈA±ËúÄWq_ ;p)à–FÅ®¬––ø7ã'Ëö±¶*ú³›Vòo[WÇà7ŸˆÌÎÖrc£RR!õßh/CzD,RÖ!d9NœùX÷ ¯PåÎ:'ŒÃ(‚êFˆ%°t)ëÚÊ›Pø÷3Äðм…¿¦É¯yŸûfùrãòCN{ +GvI5?©JÉA;ˆ™Ï\¯L4üK~›PºÀ[hG±­–gl ¬½•ã+³ó°ò” ÅõmˆbrKÿßo¹…NÀٔ놮·!vºlÖ®UãÆ{\ÎMçDÃ7;´=ÅBþ Ð~RUmANù¬‘ô¶D?uD0úû]XÔ`W¿Ó¼,“ê§ÏPÔf2X*Œ <“/ ÓðXV*£$øN Žìʉb¨‹ ºX ™r)夺»u R‹«´mFXÄ]Ì`lÞ#dÊŠmºsûÕ=À«Ó?ßD†q’cò°• YÄ QbCÍÿ:[Í÷ÒÙµâCy½éIÏ:Lò%)ŽÐXˆ À¾Tè´wç…Ÿ~@3-lü†Eý<‡Kæõh0¨€ŸžÄi>ìTj·‰¢Á¯‹’•ŸîI¨bIÁ‘ûòž×R¶YÄ8d“ %ô¾úI¡™?›ápüÄlƒ#)íMådu1L¯LQÞà“©²Š}ÆÃ£à§Há§…w|$‹¿qÈì,<ù¦}ä9Ú ÿ¨›ÖÐ1å³Òöˆ+E8˜öt6ÏÚKÑâ±YAÕ „‹¸1g>K³^¯kÜ»‚0Ou°(mlÚÖM¢Ãe#1’v@v4½ö-¯>k–BÆæ5rŠPÀn9nuäE ½\°¥ßÈß…bÏžM.å8ì´Š!(¿êÒ™E LQ!Åttf!EA§ÌuVÀªuœôâ<˜ˆsƒŒÊbÖ„„Étà¨O”ÛØö|º]«&ÈËÎ¥e©pƒÆ!)Ǿ›šOü©pIv¡¸èK:hW&1X³FÏ!LšTC 3ê'¢ÞËúóš_ƒh¶¶±­'+È¢IQp÷â €G«Rß .m@7³a½ÃÈ×&¿æ‘;0©qpÁ#1½Y^ãà£Í]8àßß`±?Çïû]3}bó¯){“÷›EзÈ{Æ ­¬Äš aSBýêU÷-ßÔ p59@×'DÖ¤â¼ÄTƒ@Y®½¼å# ) zc34ã¦=€™¤|æ>ÕXn\PL½7F^¶¹¹GÍnؾFò%ËÐOM¹Ìäɧ¥«Ò¹Ú/ýçNžÁ€!FÑ2PÈ—ƒ“xooÉU„h·‹Õ5›†¢´ê’W>¥„ìvx2¥Ö"~Õc]¦ÿÆtÄrcO4é~ÜŒG§Zé¶ütRA·Ï—ÝÇ¡Í#óô P ËŒ¸0> Óm¹ýA3„ðzJS½r —âsTóþßQT´±! píßÏ(jJ.VDàbÞâ÷q>xâ«fHó®ÍU Pû÷vêföfzØ ò¡S2±m€¶Rã’‘oF¸¥•…ÚíW:•ù)y|“‰?É9YŽGI¦;<ù…ïKûçPL÷Et@ìùŽ0¥º.@2ª85Ç`U$¸êÈqP­Œ°zˆ$—NxU´Îœ¾+<)~ÏÔS{çÆ¯WYúR°bу7”r#¨¤æèißûÇåc^‹ô^T ”¥÷[ KEm»4©¦ ßÌK£‹YGØ—ìuê-xÙëwdrTl%æ3Ïïc1cúà] %ùýmу¬r/S›¨ÊMË«ÏnÐÈ+®ÏMeûgål9¦\ɬÝùà2Eä3ܲýŸöjè/FˆJ•ŔŽ=HÖ.…Äã±³”Ф–¹’Gœá£íÏH,mÝA—-:'Å*Ãk ¾Â3X¦ŸK–êSáöu˜4cZt&T|œ¿¦müÂí·ÖnÒF›¢Ï¹,LYYJ>üŠ-¡\GBg9óÜ’³È—ô(©VÍžêapyH†?`¥HS4Ÿx†aÉ›¨÷Ç[ž(`ƒñT\ÄRÁVŸ¹z#¤¦¹C‚j…BM}òñMm>dìæ,Ä4%Õce+•õå E¬|êqôÑMx‹í¬þ{™ùÛ ­+}_ß$ äóò0ÓÄ•­,¥+e\¨.{Èn‡Ë•÷ŸÛº_Û=¦Ø¸M?R›§>òÛDÒ‘Ú¬S5šK$¸ÊqkÅÉë€àp,R÷w•7Ð;Ã*ÅüFb>¹ÍYxcIWÆp÷7D¨¡+Xi¿Ø†MqB-q–/î#nˆŽNʯ6ÖHÐ÷òuãóŽ"À'nS×Wó¹[%í‘ÈR:ËŽ•KÛÿº‡j³·%–ÆN {÷Öþ_Üá˜ûÇn?ýœ2PŽ…¿\³‘ðáÀò§ö‘¹wÕ¶nG¿ÂGgåd†Ýÿ«øåØH³0:0Ààú~ Ò¥ñÆÊÛsCè"¸IÊæ{š—±b `ÉðQã¾É °˜wdäœ=Á(d¿ðX6‡7ó®o#«º7niæiç8ò-öÙ'vËA®ÇÒÄÎ?©çLq~÷ÜÅÈó¦þtz²~y"Õ8eG"BÝûÊÒœMËåºg˜aï×jÃoŠ·M3Õ$MÎD¤6.ž«µˆ taÿNÓÜ8T#±ÇüŒnMj¤]:ý7­3Š?aì ã”f /PC½_øy#8oÑÁ´Ý]{™„§jÆæ'V—-9”ø0€Q¥Œ­Ó#-;Òuç\q$7¸ü[‰5©Ñ©_ôT`kÂ{éCŠ{ÿ¶ñ;v‚¿R![Êûˆû´5‚œß ùÞÿô¢ÓjFrµÞü¦(Ì$ÛFF^·ùýê¡ÑlSÕÁ ˜.ägʼnհ»‡Lñ ŠõYž®¡ºwßl½p&"JÒÅpzIЛCò|e.˜‹7ú].0c2ïÛÔ=ÐZ<8 ƒGüèë´~›Ü–aýk÷wÅ~\ãõue÷‘›G¢ñna9Jr9ª2ºËG˜ÄLƒ¶ª¿žñþ=0Ÿ…x»;ômáç¸nÉ‚¦üMO‹ùñ.*Ã]¶Í@tø†MvÌ&ìÖvÆK9 ÍñãÉL [õöš#dÄeÄ]êl/†,`ú®ËI †#ñ¡‘’;yóN>™Æã. ‰«¾x°h›„?j.úî’>bå}üî‘úÌ„yª–XóD‰ÜÜõŒÖƨ‡Î'€=£¹t*äÈìE~&ò)c&•˜>PûIEA·¸˜¬’ÏÏ‘– 8€SÞòCãô@Äz8ˆ]8TüÛ\n‚‹†AßJÀñ9öo‚šùëÂ8ÄØàO\c€¶î *“> P£í1rø6ᔜK:¬ ìζ^ÜXgÜçV]½ÏKHõĽí‰s%¡JXF\h r× $Ýïö‰ˆC>Sí×() .ò”јdo Ʀ\Å(&Ù ²®Û9Øu?[3†™=ß’jãKñ7磻mÔxÉr<—“Ôµ€k˜(îó—²,àÚðÕ=ûàu8Õ]5È‹…·[E²¿ `}ý•Yó±Wè“Ú7_áËkÔöDP”_è±ÁqK´Ä{®Ô¯¯;§ ¨’áŠ7i5ÄQ°Uly”í¸˜zþJE·}é¶¥UÐQS‘=ö4Hn#CÝqn=™Ìñòh™£^E‹#½æ¦»°Ð·V>‚ù¡Ë•… üŸJZ'Ü*mÚs;JÙkx>kÙx‚0‡NmA|1oÞ7E›e¨‹N³c{Ë»ðD•p‡ÅìÎtVsEµ;mÃ?ÍüKö¡T1áØqlÁ+˜é ÁM÷°BHðÄ~!t…JšPô(Šq­¡ˆËðÿT´¥Fr!.°í ÝdzÃý7oÊô³ªìIÕl»Hõ|Ó8 ‘Ù·©àGÕÈÈè”·±3U‰švaÙ*—P8OŒŠqÌr©9}wþ.9üÙJ»dˆk‡µº1”º£Ï<ó0¨:‚%Ò»9ôÊû;‰=°ÌeºCö4¾hó)´hÇ_n÷NT4îî-qX (@øWæ½$•YCI{e ÎŒ_˜©€™õ?¸Qð'Ú9ÚÂa BÒ‡ét ö#⸾å2„îY<‚iƒUánâžq]e¸3kã:}·â õ‹D¦ðÄC+¸hÃf÷ÏÍòêß( }ÞP ‰Xj]øu°þ-²˜pî÷ƒqÙ ÎAË ²VæHµñe°‡àOð5í¦ô÷ €jUJµý7„¾É{ë”^>V¦¤f®mßlj-+ — ¦ ëÇ&·ôÄL ûr± ÆÞ9ž w¯…wø§OO}Ľ¯{ùO(àáùN–©`©¢{–Ôã3¼<ˆëQˆeC<Ù¶èøk\‡´¸M¦«nøpgj%if3J¾ÁaÖ¶í—·Óºhwno•òººÞÓ¼®×ÞDÚ½O#¦k)S”ˆ‚\)7ËßìšßïI«ã(!Üö®WÉñV=p®¬%/ìv¬ƒjÕ€ÖCŸŠ¨‚t»ÐUXhœr’«d)êyGüî¨od €VGZý"|©{ 'X¼íôïÃ5@ÃM~t:º"Í͵sÿÓÁœä¨QDûj­†­í÷Ý!§l}%aAØy¨ˆÍæ,°Â'†"©Â¾Ö^¸8o %jLærŸÆÅÇÙ冲€{~ÚLí¶ç0éN†7Ê’4ó'«R*C”S,÷`Æ(åí¼¤:#5'ÖÄh•:ÞËwµáŸõÊAPàW˜ä k£ÑØÚÕüñe‡îwcja‚ÕÈ‹ý%•ßõí[‡­È*7uSÅ©l`UA‘›ÕÙ²å#ø|¨þD}¡¼Ž;klÓs½ä¨é}e´ 0˪H®Ü‡ÖÈú­ÒˆÉêÙäXÅo=™l!÷'9늤E½6¦²‰ÇEK@°B໵н&÷ DnDgíÚÈL‰Ù[û]¥ù¼lòØ0ªåQ- ‡à©~KÇCCÄj±`²øÉ•µrz¦‘䌴t¿C‚Ï^OM} îôøÒf¥"Жœp<V½®à(ï Ù<¬Cw7'S¯Ë0ª¡Ü]<ÙpÒöÝ1M-{wøp¦Ä'È%Üö¹¿–v³ª5Ü;ö~G¦Ë©VºG1Wå ÝÎDO#fŸwÏ¥¾àÓùXá%’ù@³÷åÐðXëcẩ3½ç5ZÿÃàôÍ•$zLÀ-8 õ ^+|³œjr¶M›#C½ŽŠ[üž|ûmÓ”6fb¢¨½„Æ£²§-”¤-ìz f ýkl{Ì un{ÇÚ%aP;”ñ? „BÒ9&G§U%ÇSŒm0Ò-ð5‹p]Yb²Ž8é˜(>m$vt™›}X’“Ÿ KŽ4¼"nJf¬ÆÃŸÕ±@ÊðÐ ÷ߌr>”š¤ÿ@¡ù"ј ð9ÏiŒKérKíx28—ŠÚÏPq¤jEǪ{l>H…]"©Òö©bºó%¦nÜ §§&R†ƭ4}_x!”«í€0œ´zJ|"3<[hYÝ] SA"z$ip÷°fFe8—;: Ü5¬ ™ªY—[á’Is’u]Q‘Õ•È'’”£|¥Røä¤iâ¢í"ÿêAmŸü{ç¬ñÕÊsïhedfé“Zq1€Ýíê<ÞÓÝNm;¦Èñލµ$£]jȲì`8ûÕTùV:<檼×ì‹ôŠ*G ˜ãR<…gàU,áÄi%ìÇ(ê õH‰³¦ZðS<^jùëíPLJÏsÈÄùæFN\W¿îï5„X<8i6<ñûèZQ{ ,í~›sŽQ&‹ÎjÒ¿‘à]ØŸE™¾ºÓÒ¿¸ÚŸ……ÕZ·K7h­‹K\Áþ1–àÙe–;Šq8”<Ý!QýˆH@EåyQ2¡¾O™¦-}?„S–…õ» ÇÅào[r2tYäªG êº0ìãðªÌ^¹äôgì| )ÀÅþ‹ñŠV8U.Ì’&x¯˜Ì ô£á–$>$ø?Á_Ò6š!"î9¨€%œ nšN™ìnTémäQ©Ó?ò:Æ)fY7I4 ?ø1…Ÿ›^ç€$j¯D¹l]>×&˜çŽC fwb¿Æ¤˜ŽY{bB‘ˆµOîiK/;È­¢Ë ve÷ôž ª„Ž§Ú™íHǛ¦Ü0‚F½øuŽRtàå´bhÏLìr®ç ¥ØóÙ§R­¦)ÿ¢-ñ—¢7MʈMè_«ü ¾JŠÝ hS'‰ÛB =Âø‚ƒª×žuÀÄkrMŸMî‰%&J¨cÌä¢#YRk“ÿ…KºìÞÄÕ±‚• Ø2 ²Oh{=ÝGJ •’²€ÒþŽõæHKàæéä5]…u—‰Ç!JdhÌ3í!:°úå@þ4¡Œ´a÷Ô¢yjé‰hŸãô¦p´~Uc›ÛªLऽ'´kFävv_ýsIØh|kä5ewB^@¨ðät;3¤e÷ãŸ%ñáË5bmÄÝ“„Ø Ðþa/ý÷ WÛ*ÛYñÆÏ¹‹ªáÎ ÜNÏÀZšŠU Q±ÒZ,uÈ%Õ+Oj< `‹Àá,M ­P_åýÿ• „Pú9¬[žÃµêÒψðÒy´ËVÛ n¨…ù€¶ ÄÓ'O‘žx\ýÓi¤Øƒ]à7WwkÄû€g¤´ú/ºðK¨_W=•ÑŠØÏ¸«¯xóÁ Ùs~ànµêðñ»Ü˜øornHª6ð·´ÆS˜‰6øô~#™ƒHûãb®³À­!üÁ7BŽRÅÞÓMP ž/Òà}à$IØkS|¿Ëß&Š(ýHî¸?) RY2Zuì`Þ)i§‘ÌJxBþ]ƒªÉ|î”5‹áN(Ô]÷Í€} &¦¤ø †5]œ¼í¼¼ëýmŒbeůµíêRŠoaÝ¡µ ïB0ýz¯,% š3Qƒäö½'¹^‡ÜlCœÖbhä³"/õÔ<íEo%÷×k&¿OÀ/¡ |d2¸×>ψœy;0ž;)¸ÕÅHߢœ³¶_‘¯Ktl[õ/¥×ñmœtécíCÆü®T`æÌ÷ó¬×.ËS…ê­ŸÙqGe¯ P:A×ÛÁ{ðرHWqÄdZy†wËë€þ@C•Ĉ¦C*³“öH6c´úñ FÁ›“ò˜<߬ÁüBþÓóá½ùWyÒž¯ûˆÁ¯x󘓣Ûóå@V´ðÈæ›Z«w»ƒmUÉÏ3_\°>·ó’§Â Á£ À Á¥qVÏ·è“esöïy”4¥ž“îØÐ)NðcT ™–F}¯¾Æ¤9R ßNõÞ¬Rf¸Øƒ±9s»ˆ¹­foRʱ‡¯èÛ®¿8w(qWåSB‡o˜n_Q"ûs²çÞ¨¾Èà[Z›¡$ºíÖ¹Díp¹DÏò–…õ>éWä­(;y¬Ý3 ¿©bxu™K_×)Ñ?ºMŠq²WÑ›ië¾wo@v27î{#hF1xËÁâ.AÏ”Œá¸@ÀÎ^‚;K+´“VhÝ*;ÔɦsUÅNNX¡œ˜†ûΦjàì ´šÐ:ødAhdÉ3:]Û—Ã@Ñj;Ø6rûÜ+¦lS+šõ¸g6³Ó;‰ŽJÚAEí‡o Ϥ;¡ìˆT¿wìGË7„ó]†áñÖj¦ ׇfR½pðÓtµyoP‘|œJƒªÜuå‚VTae® Ešˆfò™(l⧉=jÚ°„-Û#)ZZ¥¼|.(ñszý‡pÆNΘØb¬ízvdÌs.ˆlÐ=ÙíÒ¹rv3Ènš‚f.@Ò§:ÄR–·Šõ¡Hi¹QÐX8ÏâI(÷›§+/f)CN?¨^[T`‰ú–vtø¸]§š»ŠÆ•Mp½á©‰}—%d"L³E€ðÿ€ ;?‚Õ†ˆèSUç%@>x'Ós¡ ›³²8£‚\ñ^¢Ë—C¸K}“Z+ú.¹|Kºzeûh触… 3ÂÅþ×0(ˆ©×‚ˆÕÙœPÑb»êò¿TÙ1üúHõu\ȨRã#Q»“þü|qñrQ¯„~GµQ†€Õ8™ Jåºü ) §»É‡úUFºúÎ#_•)Ú0‡; §S½Á).^瑽Τ¿úèÁ0=E -™IU†“i2³Aøy½ ¿=dJÝ®ÁW_¼pÕ}„ö•áè}iRú—+]ø­#ÐD@·ž÷ýÞÀJÃïøÍäÉÜ-«22nH¦aaò»ÈpÍñ $ƒT+aWÀa\ÉŒ}€}5Êê„á—0@šÇ'[©FÅòu} –e(ÛìŽu9»ÙL”íÞ:èá6&RMiÖÐç%Éf͉ÅöÜè/8ô ™R=#¥%rë®Þýâ–­Ž"‡­K£èðähïÉìT—]¬œzóPþ“’)_Û;©ì#Lèoz·.æJ¬º˜ß5U¼z̉⠱ I†'|Ý$ˆ3cqn”tt~k–W³à ֿ®8]åÚ Š±|‘szV~7‹ª»B“ÚKÖe'.똫icv„0&dÚÊd‰ ¦wí'á‡Á úŠñ¤¯ú†f<`p”;ÀǨé##Ú²“‚iæÞY‰#l²ä«5§³±â7¹a‹Â~™å2˜õ’U£ J]ìHµÙV@»žÄÆiê³~ —÷;z[…;€^¥…9Ü´²f²#îÓ4Ñ…‡ÓéísÞgv3ˆ‡&ž1¥‹6{CI7hU.Ûº dĆe†%ò%1yÆ“™l?󑉻7WEBTbœ <¾Ã‰hЖj«!}?£ÄZœø¢#q•Ch’öò•— >>(ý ‘4_7÷c ’K ůë vR$X㿤OIJذÃi½Å¾nXÃÑFÍzÂhSWàü”° §ÇóùMšeW VÄmÒ²nü’¯Äçã¿-óL¹˜*h£;¶=œ(-ùkñŒ¡žÌTf*ãªRlמPy¢±˜‚Åe/·d ˆ|.H4^¹Ý]>x<¤0ÃÜ*pLâSU«aøû­¬F9¡C;»h:ÖΖý‘ ´ç¹ùåKp·LÃ¥H%¥„mÒû`IX“x—4µ?¶qp^]þ´*À{”®(¾lsÆ sõK>ÈUÜ”hºöŽß{ýSi¾fX©ö¯Ÿ½K¿vTéEµá’%ô†‹Å—0+¡(ÑæÒxžb62I Á¤ Q>bð @›a7ˆ{(zfX¸à_,Ì™áø\ÊìjáЕÉl‘Ð-›ß»zpËAp”@ >ã1…+~Ôƒ~ÛuáÖɯm¢P²2Ùppl0RªÑÊëO¨9p›ŽÖ˜HºŸÎÑzÓ$Ì|~{×û„P E5K~ýAõ°qC.^;¹‡>ý¨œJ‰”ƒâÂFs˜»8š3¯ÍQ"f?Oºá Û¶?‰êB®Yí*ònYsùM£éÞš)Á:‡éDß×/ôðxÍÏcX&îdl8Äd°Ã)©´Ã Ô%ß*ðW0~‚»EÕ³-ÔP±`zÇ5‘{0ÙG:ÅopÖÚ“ZOn} Çîƒâö”cµü%äßFöÛÝTžìݘïbG4WàM±æ+ §õ~rS'ðI¾(¿­žÍj•”Ën%xº˜‰tÁ¼è†§¦ÇÖŸE]/4b^bM',Û÷Õ[K ·lF–»Y¨½ HSU¾z¡°+ ·Íb-ŹÀÉx]>åÛš7ró:­Á"Në€}¸‰j²9xkåïmI‚¦,‘þÈ·2À¬õpèေW,='ÿv ç¤fÙ ÙÈÄò›òó&³[$ïm—o!-W[5L±-´ê³¨iÆ:k·B²Üª„Q¬m#8øc+ u¿R"œç£#5D€·½ßvaέX gØÏ7¾“ú3<¾9¼sEµ—\™^ zk¢Œï„ÔI–>¬©ß!µÁ¼D ˧‹èZÉ8mð×(dú´‹·{ýàøä¨ˆøI}Ý3~nÇ:I"M¼)‹Å¤¡u¶Ïú@3 Zå`¶Ç2ÍÊí¥ ð—wO1;s†ÃÔUÜWÕ»¬‚^Ò»ýøð_Ô]t åk öĵ<ÜØ:!Pê…† \Æc4†œ%?Åj# akXÓòäºF+1U½BœõKðþôãWˆN-zF}ÙC<øÞ…Ѭeú#¸»YQ(Ü~¨ Ç9×nó¥„lØŸËÕl_ìÌmÖóA@Ø´[’>#£)Mü4#ªÆúêO.u¿:":îëú@ ÔÔýW—˜qXŒ\ÿê,êö—jyø)9úµ}Zûß³vƒXm4jƒ58A)¤lÞ·tf#[ñ»Ói‹K_ü*¥ø0áÅ1¢ÍæÇ¶d»Ûk]çWt"ªµ'‡šÃ·WJæ6{RÙ»7j+ÜpªôvhAb,Ä¥?󵯓žÒ°»zëd•§Q»^0Åû‘w•ÿ DM4Cº4ÈÒqðlÞµœ“ Žè©ö ,OjÙ)_›ä˜koÛÛþÎù!7sé¤C’gêíãQÃ'8 ¯ZåãÚ­YÆè¥Èäç¸S6nŒt’+7ô×%¤ ·¼äèLîùóAª)zÙ;Uâp~ ÚªrЉ~,.j.߆ڭ|œ´?èhµd3ß°¢/ô|)Fž@°ö.F±ŽnÆœIæîRä ªÿ,:„|匦ÝÛ†žE4©"Q¯¥y çcrªS„jÓ÷9' %Î2QýÖ?àðb•6¿¡ñÒÆù][[•Áíž)'ûó ³Þš2 j¿ SÉ”ÑMj$28Ø-1-ú)š?ä² &ˆSØ.²ÅI/žH¾@ùÚF7£¡&­ØwO~«W¦¨,:p&µˆµï°aå03à4W+ ¢ënEñyrž›“ šƒ‘Å»ú[7¹¼þÅ4®âݤ ÿ¯R“5qç‘–7™¯‘•Ÿ5áÛd1Ê"f;Ã:pn¯3þœ J&^ŠpA'¦ÿe‘E3†ûË~ â7\5γrݹW®¢¤uf¿°¸£ ”Ep¹ŽKPé.òÏ2RXªö=‘Ï•CTO£Î¬”@W¢ÚLÁ«mN‘8WŸPªc{mâÍ*ºf'+÷¯ö× Ö@£ç«óB‘\d°|f.†H­÷ÿœßùu/©N‡ã—Û‘ˆF¡U,,û!—(W¨#³{òTŸÚGëÙ €¦R_–£ß'nj-"ý÷âf–jŠé ›oNž¯m·PQoèÊa1 &\¨ôò>Ùƒ•$.èž*ŒÎ+G-¢0¤TÄ<#’ú9Phe>þÃÙÏÓŬ'ý.ìMŽ uµÆyø1_À¦Ë’½Æ›öæñkCÐ<ÕÇÊÌk¿öè Xz à'6Ñ@m¸ù]ã7ñ1Ã~æáfo72ä#Úæ&G_!kZgR}àªå½€1iÛ ù''? GšD1±¬¯‚(2}é^¬ý¬sH0‚|²Dè‰_ÿ¥ÑðéC ºæXš®îçhÕD†ÃƒsT[ vL}y5'biùó5†ÏæS Z/ÝØG(WuòD 㤰—õ£Íƒð…6Í5ÐØ+Ýp59ý‡’ß šÈ‘¸r©kV©–zGùøNàµ2É¡içí[5Ü&P¹øàòì²³#…öó-?¯TT{g¬ü†‡…Uá&^ñ#@R„€GÞî4H6¿6»Öb‰8 sÞ~ñ¨ÉiYMÞu“šJ‹NÖ:²º¾~ `¨ŠëþTh€þÀ>6y1•¬¨Ã}u]Öo…a‘~Ûø Ûؾ2–Â#„Ìv ׫¬ï¡+¢7­g8õNxòÕ­X0䵯K–* §–ë©´p{gw¢%Ï ÍI×¶uªï[Ù\ä]®Èé÷÷#1 © ( RdLF&7°L)æ«[1(ä9ñù `ʽ1Á”‡mtm)ÞOCw‚ ¯ÎbZðe¤$Â.ÁtGÉ  U$ù•GûØä¦1zûO‚'àøsŤ(ÉølËœð|æ^]p‡:9ÙcNjAMÐù›õ…ê†ß6’íOÓ\Å>“–ß DyZ6ü;ÜÁ•Jù©1Ak56מ`Ìô»|þ›ØK¿±þà®9‡ Dq–•þìÔ2£Áz ‹¥Lïb¾&ÔrR°‘w 2I $|Ž—ƒ59dGÕúþ)Íì`ö±ÞßÛiÚÉ1q4ÕžÒLU+÷XQ-Ø è­kîâ…#¼°™·!¨{=kfAŠ~î~—Zâ_"óÏ®7£:ç/“Í%¿¨8OPWÚ3„ìBI.×{ýÀe–ê f¾LÃë–Ûß´)íY%1&‹*–Þ9HCýÊèÀsE£kãSø³q¢ûµ¿²½+#aëÞÖܼZ.Îu,æ™s¬Z_B€ƒdì+˜ì7£tó-E5.—ÙØéC€p´/%2Ë@Jp;Íi®X‰ùq~Šæ{x™—{^]jKИMY4Yaº;ëaˆ«€©ÁǬï{±ç<4lœÓ¡±~Æ)ùMÍö°CâŒì*>ñ[CQqÒÃ`БRKu•ÌT‰û·‡(™ð+󦹤&nŒºì¦h]Å&píèµ³Ÿ'¹–Êqç˜+…ëº&w%ª¼DŽI»U2Òè sJ¨uŠÔV$E ñ1\Àh÷œo…'_H!áåê÷Àùˆ2Þ2'uhr99 Mïs°|,üë¤?0¦)x30HHÜ$"½©ç2š«®«bšÎA9lª€Ý-×þá]yé&-…@òꛘÿÁx¹eâ÷·‹ }H»2sB¹E`lE.ÑßìÕþ, l+›ÿ`a{@«²Ð49~³¼¡ü7ÊzÅÔâ’ëfÞWô6úK« W.Û¦'ÒJÎþŸ'$ÿ{½8ÏmÒ®Réá‡4½’°0k|ÎaÇšðˆ.Ȧd•WÔÙ{Ch[lBýÁZ ¨G@Òí:S¶ªae1âŸûƒ~ä EÅ !á;&‹u´‹Më³\'œÓù³ '§õ²äBÏ•¬•)ÐÓ¸{É‘Òë²ì§FìIDëãÅoY¸7Œ‹ÞÆË‰m3„Œuq\GA`ÔvlÐĆ—8UÓµäô±À;ðão\öÜJ\rÆöœsiÀÿx“ã.“ õ ëšÉ8âqGw®(ó xñÖ$2J ‰Qit¾ÔͶ³ïÞ9 Š×G€Ÿ/‡ätî›ú¶³Gö½S1áï“ꉚIøÁ)ªÖˆÚuOÇ4@ÿkÏä[»±QÝÁªï¤Â–=][‡r—ĦàÞ/Bá0ý”-\#òDW• i…¾˜œ&à²ÓŸë隃\ջΖgMó1nYfæYyPý”ÍÉnp^ûW˜³ºîÙ¶aDŸ8ñõb±UèKû{ ®QÌØÔ¼È:š-X·D“¢:³þ‡IæY®Üˆlºà|÷¯I84Ù. ˆç©¡i(Àw+—|•·Ý8d­ê— RNýVçáÚ¹I^‚‹ ɉ&fH² Ÿ°O Z:1h4ž˜I'CÈÏ BÕÀ’L@¢Þ/c„dGc~ӯȗÏPTøáOL® ?ó|$Fйhú&ð³3ñ¢#¯þVŽU¬ÓÕºèù^|bˆPü3?hI™boÒÁÛ³ƒš6;ä\˜ZÙe¾ÁO.ÀV{‰Ž6Oàkþ¿øÀMÈÁRý‹øêxïN×½xBH?Ç 9(µ[ì:Y—e·œ--М $— x{°á¦a©exïþ‹*óv”Ã/á¶Œ%Ïœ”=Ú>{³Ñ>½uQEåÜ{àËV¿ztÇ3ÞéÝ Ž‡'KÜÒó‰!TÖ)ï DÙ;_nGhoÓlÜ”ûÏÿÃùú²UØÈ;€ÑLÃr]m÷fÛMó0§jp¢‡þµònƵ’ã[÷°ÀÁàþ™’ÖmÇyrk'ý}òžgƒ@)âBÞ‘lÞ÷Â5¨4ÌûxàœòÆÜ}ð;Ø^äû]$µã(‚‚Hí&Y¨ <Ö4 Ý)Ø{¼ä‚”rÙºmyˆ(W¾6²!¶Àª0-w`â‘•6E=o†gf‹/ØYmAA‚·±q<o ®¦ ãUt#AÇûû?YF º" þ ÍG·Š ;qýäúèc‘óïÞ–š"ds¾›rµ¶í¾Ôñ¢Z,(´5Çü/S Tæ‹Q;2—kv<%XžçRëfAráÎÒªðÌK€¤¶èùÃçMáÅlorFÝTïÒ‚®E<~™¡ŽuúQYŒ%¬E^“ ×ÕãC#™4jäz\¨äkeél-¬I «V«ô¤ÆrxÏÈ{m,m+µ²ß”7û~7¯¹""ä«Ã'Yo’ÁÜŸ¾z$©Ò$}»OÃÄæaÌa£½¶¢9þÙèÍÿ: >8 W¦+’Ô µÖžP@äÃÝ=¹DáÓåÇ?ZAÿ±aˆs3ŸúõCWÑ»crWZ·ÌYv–Ñ_s!GŽ¿¢±¬h ¨}€\›KÉSIéh5…ão^àáhŽ >n(C! Ó×2ÝŸZ|çB‹ÞÁÙ݉y¬÷‘û¨kè&Œæ€wÃnßQ¢ …ÐE3]ă 17T«òuTü?®¦|¡ÔŸ‘c_–:Pÿ ™0~‡‚Ví®—êÁ­×TÏ÷fp¶ëôàÓÞ,6‡6.r—AëÔz= D{‘ Ò-÷ÇúrM9’l–Xš\ÒTð3úß²‰+TÉE·öEŽÉ-Ž“j±'¨s³tt{®©Q¡¿z7¶çBÊíP‰{ÙñŒúqôÚ\H®€-•PšB3 •!œ^ê©ËÑÊtÀ5‹CÄhd G£?( ¹Àæ‚z¹Ó¶8µPkdäGuœ¬YvØ&VRsÑŠ§Àét^i¸ÆÖ‘ý’›Aó'øéŒª«"ü,¡¥Ð[À#á"bÑ‚ä^M†´l 7ûÇ:l@}7'›mëëmú´`ßôÈÔj»mïx¦Ãð½Ç*9¨úWFÜÿÜ>_Z;m¾)Ý„ÌÍ*ä÷ÌÙŠ¬Õ,hP*  YóSÎ ¤óEJG>Êîº+ÕU' ÅÏÉÏ_Ñœ8¯s°íƒÁ×ó4-É7“t0`aîѬWÑþ‹bì²KËOˆ“D½’|г2%§n ç|„ñ$@ìö£¤öïx:8AhdRREܤKƒ¹¼uÎ"¤à„¶v¿ªÒóÜ«k®Ú3ä±DÈžB7î1<ƒH£áSä ÙÛÕ½(±‹^§‰6‰*bù¼f0Ž>lý/•MÈbŽSã¶ø?‘±±Kû€Ó& -鉤ˆ*¿òT¦ÎNˆ!f8*ÐòB=qQ¢{{h3uA3š0vÅ‹lÜá |†–á¥Â²{K,|æ‹?Û³ÛŸU;‘B¦ž®†—*à0ù†ÿðH¡€ìBƒÛmMÁ9œc†¸±ûöµËØóRñe’wBHX9£I&Fd0\kͯÎ@"~ðˆíøÓVói$îÒ—¨*™ê@£ÔÔi©K½ZrmôÒÝŸØn)> îHøªÞ‹üâOÜ7‹õjÃÛÑÿÕ­ŽaÄÅ‹m’oÓ²Ek¤b¦Ï·Âüä ‰òéì¿.Ê)•°€Êkûû㈉iƒ;í¾xç\‹Ke³Ÿ‰5T±oÍWÉâ/õX_˜ƒîÇÇ×RV´Ca9™âp=¢3²A§„»VIô±næ$LSˆ¤0F:Þu½FY`[—½y)ÁÛÁ9ý/‚§ºüˆ†„;¹°_ÌZñ¥çÒ&TX<§•%ا%6ëÕ7îHí—€¹:WYœìæj[Ãü¾L޳Îm:õÚ.lpïRí¢¶ ÏPH!áØÌ?ÈX`æ]ÂÛ*ñœVŽ>ÈA+þÎV| 4ú‰špi îWðj´XM¢²Œs,Í–e#!¿²dílŸKgrñäo³Áü°elªH+,Yj«¼sãØ{*qÑŽåÓá9œü¸\Þ]§6fÄðÆÅE¢EÀ݃žøH°¿­Ãþ 8DÅZÊH£¹/œ£g€Fɤ¶b>Žü{Õl4 Š)}brÊÅÒ÷ômôô ¬Ö ÖpÈ@©ïyþ뙜©179aY\qú¡@5´>5bà”ÀT‚Ù{Ó7e’C6‰ßÇ͵,àQÌíuÕÕܪþ~}a†ÉÑÞïhd71“z+ÃþÁóƒqáÉnsKó×Ô [Z ò1ü -Õgí× Â~W<ÑvbòºÊLê¡Àh8ìó³Ç9ÃE %e•ÂL{B­+Ƥøg ,ïù¶XÂóòJËÅÒveýg♼¡A£ªblK»Tžà.ÿÂ2àC®ç¯O'=A>zƒp±ïµÚÁÝå·½"¼^“Y5³–Eqâ$#†~£æX¼ã¼2ÆÒCh\4Æb€j‚a»1Oƒ£ÎI6qü˜,¢~pÒƒ‘kä´ðGðt¥F/ ݘG潟õ'¹ý¢±rêí1¤Vò¨ ³,ÌmÑž‹ž# v©/¶Pû\*®® @Ú~`3@7q¯pÞ!ìúkÛÈž¿¦"VÅÀ £~ÏŠ8"ñµ®œñ뎆Ã^]Èø@„ºqdª À¿æ5 Àl­Nf™;aßTâôËcÅoåh¼õq.a0ÿ&õ`ìzŒõèTcÕ.DÓ`¤rAorl&–áW"XZ„Ä,6Ý_BügØwæ¿Ô“Wk™Rë¸`£™äd™FW—‚ú‚y  iá$ÀÍÙ@[&[&þ9-ßÚLŸ›U²çIpi ¿ËdÕØ1¯UcCî°!¡‚YãízfÄjø>ÞRëdEž8û…ÀwxÞS®D Æû Ák­h«½N÷ I‚÷œÌݺ—­Ú¤ÍÖù—¯ÖF6ÕJéÚ€Õ(l¬øœº9j ¤Ý­P߉™åqݤ’§±G3§ÁGƒ) >ÅÙ[J¥+³Ýzv~km)_¼Š\VA Þæë¯¡8•÷7BÍTD&pC#CE \¢Ç;Ý¿“:§ Ãøb5¼©9 Ìlg˜<[\VŸDHHZüÌðñ®¥½†Ô#{;šÇ²ŒPz3ê=¯ìÎØ¼ëÀmBÎ+ßÈn Kií "2]bbkËÃñ™Ž pêc5ží=TÀ^+z£àZ§—‡iyÉ‘ªña¤Ïd¾´œÛc}ä~ŸE€®Ñ…N& HüË*§ê6…ÈïšÓ“ùQ¬‚U' IÕI½^ýÐ)5­¤•¼ù¤¬Æ´EÕÜ$×^º³‡P|0I'·¢ÁI݃šÿšÿ¡ì ó‡Áã¨á‡ ²0«>šþèáÍâ½ß4œD¾ÚŠÕKݾ{B}Q·¬“æŽ1ùeîÔ¦—&m Íó[¸}ªÃ„‰×7ðk €aôMŠŸ‡’”ÙâYR„7‡“ï¥{”h:Oë$’8¼±Ô¬ØwqÖy¶§Éϰ«?Ʋ=3êc©^¿ ÷ÇplDâ‚+¨ µÕÍ¥À«ÝŠÈõyw'f6À—¬u„äv‡éG0=½ô5W‘—¦›˜ý?Ó±óŒJš„z»JÝR·élÔR\ÙÃǤè{¹@¿ÈÔe û+_ öyC܆@ƓȈ*bv’ý]êÊÓ:;VË'4×Y‚5>Љ%T˜ýtÚøQ«<ÐN7ý ‡ SQÅU.è–Ø›ŒBQ\Ó×ÞžB_ï½tÔwÚœH{ 0@T$/÷Kf“þHïñžT«ªazªlÚ÷ÔòW/Mò¶­7˜˜î'¤ü™ ô ÏÔ@ͼÐ߇M †õ79d“(AþhØ)žkèòx-vÞAؤXù®a ?ët«›é’¼À®%ž&pNÁÙg†í³cŽÊíˈßb X:Ô\¥ŸGuîGЕë‹À‚ØrT*Žd ±Íì%”*Û7jPÝZ‰ïŸDçMAaLÉ›´ì‚FþãÜl¶6’öÑ·dÔ~‘Š$RЉÀ2÷aÝ«y'ð`è]jqò2¡‚Å_±>Âò%?õa¸ôþæ EbŒMÖ†=Ð|ºs†qø^ZS…;tÔ¼=+¤<³üŽá#+¸®%¦™–ÄR…­Å¨–÷2¼ «%Ùâsz õòùÐ&>ˆ2Žf øðÃe9/¹³kLö^ɲ~ Ò˜^ÌÁÝ8ûN¹pµoÎ0¡‚,am«ô±bgqê”<´š^V3\"âW`^bp!E#¬Ñ%ÇÂ¥ÕÖ}>4ÅgQ×F‹d¶¼‘.¨À"Í24 ¯d+%=áñM|ããСÊa±ÑêDp^…N » ‚÷À #o‘t‡ö ^Þ*㈶—‡úü=§Ûë÷æyÞ&pj!v÷ç…½²XŽÈ›äãT\;ãªßû¯aÜâþOˆUÖ?ÄTœ¬e FàF¹ RbÀƒõ¦[€c½QL º ­…Ä…"T؈ÈÍÒ+mAÞä5üÌœ4ê}ªàÂà§ŒÃÈ"µë=»]8: c ûCql€5‰VA¾äÜæD eîP¤ª"^³aŽ®Ywü8]»ä.s‘Øß |K`îJƒ&…"X?·‘ iÓ˃\³a½‘4Uªýd4‹2£g‡Qˆ”F6ç÷9à0Č㞼[ðgÕ(öª6Ð5ìkåͤûz0üÂUaÖ®ym÷ÔP3âÌ÷Ñ\9ŒÝXo’©’g’2Ø ƒNeÊŒsSÕ"Ž£Ç7ÁßE ³à‡ÏÖlÑýäŠß¤eïæWèÈÀO±¼y3ýtì\:ÍâŽÐ ³z°®1¾~M‡×­4MWBàEëù²ïdðþ$çGt¯e7@¥‘6¶Wj0?ìè‹`’÷ÊËæ""÷Äke×|!àïKA!çD½! ’5àvU îÂ0íÍÎóq-'F_´¼— ¹À9r»¯øIÓ£æ9”Zà}®áØÙ-댨—ôèèºCY,>Žnmƒ ñ ÿ $xb€ñØÇå¾ZeNÃó]¨ñ>ªæYäû©€Ðñ›ñ»oÒdn–a½5Îéø—µ×Cx­7Ê—æûÀtEŽPöM½“¨Èd–b?÷š^óB#¼3¾j‰Š'[«„ã²á˜Õ•JƒMt.hå«ÿ’“‰íšºU»æò²ÚY{¤.HÎÎ)ËóÇ™C&ü)—…G Å?·!ØH0Âýö€²7äØkƒ=º}©"z Aݼ§Ì/«—`Pö’ ™Këf'„’×3„÷”¨² -"„ý¯TUH¹òuR ŽiÀoa˜:;ÐÕH‡Z.ö¤bÓœ„Dà$k{ÌÏ„Íì…ïH€kq® äj^ÖŠ³ðÒOþW ¿ô/c|CÂ}ÿ¼ÏaÜFí{è¨ûÆ|%L–L»ÀEÈ·y×’ÄIs^ óŽÅ9X"‘ÕH‚üWR3ZýVé€NöÕË€+Ô0êÍMÂ.Ì™ÅäàQhçN&„NÁjÛ!5Ž­r9pðÁŠªüÕ´?<ÌkF¦éo×K–ššNfg‘~ f]GIkÊÙÏ[5”ý\þšÎK:BÚs¯÷û;Aí¨žÈÁu—}îÔ±Q5ø‹È‚€zµ‡Ztߎ:¸ƒåé—”Ë:Ú¶ÿ¨MüÞRY–‡s½]¦Ï‹Îä¤VmÞGо{ö”EþñŽsðJnäagÁð%+»ÙwÙx¾V˜¢ Š2åeÙ–ðÏ~#ÓÀ̹çêúD[ªKä@§/.M ?~þFúIöOþØ82ñ&Tج¢Ò‘I”‰ß#œGÁxÆÑ¢Û{%îdè*ퟓÛ+ûöHöàÈ<4ð‡g¸zÅ?þNÑJÉVE žÑùG°n3±ß‹6” ¨€°ë"ɺó´SÝ5¯Éäõ‹‰p„ˆ®’Kôž ÏÉK¼KŠlš÷-a”TøIòŒÐÛº/‡ßá¦t\Æ5¦jj®Ã>¯ýÔî™©á °à·çaPâÁïî¥ @&…e.ØÒîkÖ¯° eíÝÿKðе8Ù?WÝ&WPLEÇðÛƒ7 Æâ¯¬tÝFélT ¨¤&m¼”<ðÔ¼L5ðY^à˜àT!~¼ÂkPÝj2jW¸«íþ‡… UA1ñ¢m5ŠPE˜W³áǹ1íçB£ª˜vuA“–œF3¤kVé Î|€&‘û[–ß—©¦,‡üUîò¬´šn@B† ¸ð3ÛoŽ ôANÓ°¨™™:Hí¨2ýêðësIv!ñKàÛå?¸­.Ø'½RêˆÚI‚UÄÌ×ênnÞ4›MŽ8‹biÛЧº|‚ѼIÞñ“ûqèºËïÎ!.õHƒµe'CÜe§62pnìYœ¶DÌâ ÖÚ$ì}3~Ýý|Ÿ§®vVè`&–1DÔéZÁn!“CðdhÙñ¼·âAtðŸ>£NLÕ]ª€NïoÑ­æ€3ðZ]/«Û#†„ ºnŠ 0y¬xÈc¢£ß½ë5^/@&às­‘ÃÖÆ5E@ü]cK›h¼è9¼>kXšðÂ$äÆSì1÷EÀ‹¥2¹!A؈ì%wìX¹ 6|†¿è) pCôýÆ]Ý/¹}ÐÓc~¨—Q¬·ÍÅ(Wöܤ˜Ñó83P©_c³¶ù]å¨CR;°ü=!_i#< J+(ü¦óPybUà8‹ ~ìzì†fT–Ä_U·˜Y9®õ¸W5Rk}©óND¨uÈx"sL_¾4ë½*¶è>Ș‘»óÉ ¬•ÎÔ—Í[%åÌ ÿKfòLá²ß û¹ÚA`—{Xè"EÝr©(ñ¢Ùo@zò»Z±ú;):EVtïm'=lûäS–›‚Ü:kæ‹ý§|_š9ßÃç«Ä¤gf-Um ^þLÞzÎÈ™·7Ë•˜Éái륅‘vÚ¾ i5x„‰áµ[m«t÷jR†A7ÝúßÙgßìLŠÛ|]÷âo³nQ#N½š‰aÿ÷µj3~(n¤š$Db5æ‘·'ÌZb¢«µ‡ÄÒ©rìIJÇ[ 6%r(Ua¿!µz HÓo¤dà(zÙµý”àxpÌY´¦M•ŠeÐóÉݤ–X‡ÍÁLP¢1I¡³B²²cÿ´DMnÛ³A)”w–®“¼Ø °Ê¡—ÙPS¬©’×5_~DFv˜*7›.ƒ¹Y•øÍÊ'í*ŒÖþMàΆteSô±M‰ Êä¶£TêtgHÓß×°ãBÚtM¸•j¼î£þ|Ž>êÊJ\()‘ Ù‘ûç†y0:/_ Ë ¤öù9k0¬tqÓ§Ë÷‹aæLGêz—/ÜÒ£Ì1n0Y4z^è{QioÛ8ûû­ÁN¾å ]a!¶Š„ áÇ‹Ù,äz»RDñ÷û€¶ƒÏëê­v±;ÚsÛÿú»öûwg7&!MvÞ¯„Û¯wàRéÆí€³:dhe‰Œ'÷“ÉÊ1>8C0´M1@¸³3[6FÀ ‘)l˜Ã}¼Yþ1mŸf˱¿?®ùƒSŠ2ZC ÿp³59Yƒe’÷åÿ‘íi¬ûîTä^p‹Ü6ƒ“´aûìo M.eâc§0m‰TØIóâb_'8îyNUù¥'í˜ÏöȱÝÊ$“+–Tã vWèqÚ¾¤U WÊñ²Mú—‰õ³Ó.Èü·/K¸‰Õo=¹ëéïË£íÏoß"TŸ<¥°“%§ãæéQ5`òB_«áéÔÝŸÆ9%U;R¡´ô",ø‡UÛb $ý`Ì¡uQÆhÑú‚«ƒþ±ü)¿ÊÝΙav£$="9#圱Fœ\²º¡àIf‡BÞÝÚû¿¾o/URò㥜(׳±¸z€ØqŽé’‰ôZ@s´DÏâ3f{¶˜. ¬l¡ûl¾rÍtŸ.U…›qT„R»ÈÂüYää«üj6«gý« ‹ÍT$uÊ«²Ë6b ETyrê@?¶´9Ëšó€’«õH–gb”ž€ ö›ÓïtÞHÁýOÎ×+ç¹àa[Ó!ÉÑ:õ¸1 (؆Ȯëb.82îÁ« KááeÉ r>0’áÚþùª4è›ô G›¤•çü#Úè<Îüg\ÊùD²ü{¿@6ç)3á¡p-ÞRûXH>òqk÷*{tšÀëœüì§TmŸSãÏXzÓ(¼(Izº¯nS¬ àüÐF V«#ÛŒ~®Ø:Å}‹ÅGML=éxÃáùÐLtÔ#U+h9‰È`uuKÚe{ë.GP½dÐsÔ%(ò˜9Qm¨ØSŠ}oœ›Ýå—«í)Â+Ì·‘×…ã!îÏü‹kšÎ¨ûT½å‹ôùqÄe«Pî],®Õ”hmic7ÎûDÑc”§8Ž&¤…øÞAª¯Hˆ=2„”Ë+J[èwLHóúÆ_˜úà[d–xyaÑ,ˆM å;ò9wÜç¥Ýö[æâØ4NF>Ж߄À“ Ï×¥FÅyZSêRã×VQømðnš‚ïÀ›¨ƒ8êæÒ&¡»Š§tû]ò«Y+á0³Êø¬Ž »ïÙ¶oŸI)ŒUsé-Bió© pl‹jòk˜¬u‡xNÈ\zj{5ñž[ °S»-$€}ôAù‡D3v^v±fÌQë¬ÓÁé ¸÷Z¿”Y+à¿÷›Õ›cĸa[oC&q*ì˜÷é·4Ú©àŠèq€eØwyÒcRc+„ Ù|)¹$¢ëþË}Lj1‡JbEµfc XÄÃ3V]|†qÉ—†yvË1;i%˜”ܽ.Àª©g£µ×)‘Fƒ•RGwHûcÒØB½8ºÀNõ¹ÓséŸÛ"¯žRä¥÷â#I‡[úI;-ÐþÎÂÇl"¶å9¹üS˜¶ìÃC~‹åÆðïYëøöw·Î €Àž,É_Q~ä8 ©JjvÑÆm\Î6U÷ ¥'XPp—y}l3FýÖɨG$Ò¡›1Ç|8ýºaþ­5.B¥™¹“ÚÍY‚iˆ·x;©´EUnHMNKÃQò¸©ôòvÂr*N3ˆE`#,;Ûµ3OÃ#æ^hêÛ’2È*{xóW¹/ÝàRô=§ÿÿ©ŽÐ`”ÏWV å ûMv†ÀÝÁnöÕ9"‚ÇÆÂà¢ö¦ûᎣ)utò‰Ú^æB ÙióÉeÙbå0ŽÞ¥[lk­ásoÂ?_¯ek6Ìî~eXA†;Lû®Müü[ÞCE*™žš<ç7üU2?b0\‘ªFŸS1n¡b“ôKÇ5Oà]vœízq²RVÞ;U¯âDæì¿ ÐóMU7 º/ÊÞ*§)ïÛe¹Ñ©Á”žMÞÁÕWŽ/“oÚëÆx‡« ‰Ðz§°ÌÑc¹å«cFI24ƒœÏ¯lý ¨n ãY,Ðó4qn-Dž/^&¹§–;èÔį×-;õv©«öjÓÎÿI5çìäàš­c8ÚT„md¬[í°½Ç¯³=X-DSSôˆóX¾ ž=°xJ©t`n(«/íw&˜_}ÿ)Äåá@]Õ–´¡Ge“ãH¾¶M]Àœ¤»×¿ÞæíL7Qp hÐbÓ¸¶žŠ¿ÔõkÊÞ²þtç¡P{yV“RÖ•eˆýlµµEjËúWŒ=&M"Ysbæì{ùÍLf^%-CBS¸rlè þÕGs¡ì-D„Ð}Þÿ&®$Ì^ H9eßôÚÙÇÞÊÁ4™C.±ÕÓ–µxçHžíyù“¬å>x÷-ËïºôÆé¶Ü'=u!K,bc¹ù߆ºšë±p‹ŽÝ\áÄšÊÌÐÂÖÓ}›¬2ÅQyÅ­³¨€Qî*9P3öˆ¿»uúó(Ô°jj÷"^s¦:éñL”B-Ú Yn>u61»µ…Kë¯NiÑG.¦ôšú€wîMŒ%$dBÔì]gº/°ÅÖXD:õ“T½±íÉo~Ó¬Ê%åS«ërÎl7ÃH“ên‚ík˜DVööE”sëÊš+E0#ºýOüiñ £†— U/ê½cRµªÊVGzo¼égÁ£ ¦BßFÍ‚ß,vŒSì-{dæ4;'wL5÷VEÉ܃r± xÉhÍZD®º¶À¸Gؼ¶û«w=»…Z†dÐ%ãk‚ÆeßÃnÍ%tq)įÆì,5¼ä]ç‹ÂÏo»Ð©Î’9PÙG‹lïý.ÌsÌæáP1h-TôòkÔõ&•‹ÊŠà·W¶´Š%†ŽÖ½ã,Ãw( [ ËM“QÙ Ó =GmWµS§¨Àãb²luÈN[Jv Iõ;7KÏQL÷Úô(–ÅXB~"-hÀ‚ÓÒÙ _[hhÂ,þ4ñÁgsø ¾þоsxœ¾ÚŸ(Où!ØÚq ?˜õÃ*öù¾.አ–ûã/ ©Áós 1ùîE–ý¦Ò“`EÈc‘õ22C5 NC’ÄidzkˆB;;öktÌàÛ¾B”§&"e;í°5ÅtAwZ ãàìi)Íh´|BÛð-@©&ÀsÒ‚rôî>¿å9΋%NŒ|%“œ‘ËLöúКÛ6xŒ„û(ôa¦´4•7’mã‹ K)ªÏc=§ßB¾SD«¡Nh«¶&ä“›hcßèÏçÌW´4Ÿ´íTݺ"EÅ !ñùóÏ2+Ш”×@š·tJÑ¯ß ÄÜÚÙì\kõüÀàðîvÏêé^f{oë$LY཈»–‘J ñ=¡VX^›“ §‘„ªŸ!¡ºŠêäÐæþy$ËAa 4G²UÜz®$zûsœÝR©ÞÒKÈ™Ceß[¢ÅØèV¨¶TÄýîŸb¯ÀA§™ƒˆ¸l±>õþfâ4<#cÍ÷ƒ€—qÛÍ ïQ1$7ZK©Ï3}OÇ:"ìNö˜è€=PÌ9¶J&ñkŽ'½Ë À@s)M«+‘«ÿ‡0Pq]þöymï^™@ï8nîqÚ’•E¬HêG[b…ÔÄ mW}s T8:µ™6lï$Ÿt3ËgD@6ÃÅ¥´B´…' p_”É ÿÄ"'¿^"ü!KBVìºèG>:/]ÿA³«m.”° Øh+‰è<ú×p³ë–§s•ÖWFâh Þ¾ÀIξMîÄX¬~<š¾ØÌ·,8’¹RW¯+±eœ¦8MÀ¤§s bxä‰CpˆÆ¯ÍZ½ÄÓ3þVÙÎú);€oû¹†Ð*QGX9qoSrÕ˜nŠíåÈOµo´ "¸Õ!—cJX³Òm‡™Šð Æv­»-Ðë낲6-›ûqã¶:U°ë%B0Rc.*¤ØÐw"‡QôÞ'†MâóV§/´À=]~¹ý¿É‹G')ñ¦u {of„¸ÁÞXTÒIž†Êß0(8RhËnÀ©·¸qÁ ým® §y#βx™^KJæƒÙ” _}×€W€,³2¦õ©žDôG¥/V@æì‘$A­OÁ«þ»X‡´“8Aø4¯õÆiRâ1”÷9Ç~kX®½ÉŽYÒ¬MÉ£ D«0ÙçïɈ‚me$W&Úñ @µ‰#˜,ÌQsv/2ýHPRä HyÖH›D8Ò$/$³0àÔ_üþ…N©·KйÈg#ýó.ôÞýs=ÿÑMé–kÐN¦_ Ðdó¯âsûÑ.Ýlr)¾†'™Qw=‘•FGÙúF%$;gê=gýV¹¸Ô§,êïþÿwÖqZþ%ZØ">&›è_‰q>´K‘ uP9 Ç„»7“p“ÒS˜ÔX|j ݘ×÷I‚@®NßãŸ@{Îò£6…NúcÂ"Ò3ˆgq÷@vçD%Ð lÓéGºÌ´¾× ÷0Ùiø ½;™¤ fOŵèÝYóW”£\,P‡B˜3$# È-Êw¦u¼½;ÈyN ÇÕ‘×Ádcù®é¸RäPÛAEt‘hK[€, ŒÑÕaÄÇÃ4Ö)Qú!ø«zº+õä \Ó•©þÒ6O™ìšpÕ.Ú¿v›‚‹gŒ¬W_c ªí+ÝRnοÖ¬ÛO1÷JFηb'¯Vï&wõÂXm%·•,[»"q„¦ëø°î$cýJ#2þÄ9I¦UÇ>IúÇîÃ0Á†¢HEÝ©‚ÎHK3F;?瀗TÌÂ^`ŠIÃ3CÜšÎXñ»Jî@Ö³³îÃiÅÙž€s0Lãý 'l'Ÿ0:Ë+X¶Ü¶m%Û%£tç¸'Gö\AP[Tý¸kàp‹Þ1jMեŎv-âÞMðY¼rN9¼Èé-àGqž³GHÖ°Í&ùûöm¶LÖNQ¨ŠÈÑyØíÕC%³¸1|ýºˆ_ oOÉE(0¥º ¢ü{Þ´½èyÌ•%ð`4 …âcßmÿŽf¶BñRòºjï„Ôï+¸W_/Ó0‹`ï˜ÃíG2£òÏ]Ò Îêi•™%î¼-Õb eÌ@.t[„S ê§Ç¤l,¸žŠ Ô}~«‘Ï7Ü€:ß²^ôHM:ÿÞ—àµùZÌ™%ÀçÝÈ(Á{¼ÁIA¹™ƒ_ÍUHå©ÖÌ„Àë$¾Å”¢‰­‡‹¥ªwcÑF·Šü•¬dRÞëEûM!²c޽ôT(îUí2àÿJŒÎT]¤ wÚ¢$¡1ZŒ‡Ÿš |J‹ÖѤhuɤm«#š{ß|<ömËÞÀ%Päg—ãž7ˆ ¹‰„žÿŸæUÕJ´Y¾Ï]fà-ž IÛ] kKOI®ÒB~²‘³½H (õýëBH©|MUÙDIuÁ¤áæ‡Ì ½kwêl•§¦_Ûî‹$ÇcW$iº] šQÃþ7#¿÷tè£F(!Œ4ž°‘k£ŸßþÓ²D©ÔôÊ«UÐͽh]_µNT¦Ž"ü?NòO‹ñ'úSz4&Û  í XDˆšéÙ`ói÷Z‰¹ž\Ú[ÚÜžey :Œg” ~ÍLìï.-I>ˆ,oÜ®ÿ_oúÅaHF—@ ± Ø‘}?†'º?DŰ(/ñ–¾1ò(Ä]:as{;8=Õ|’†OB! º•Ö 5™”=ÂõTiLH¨)Ý´|ê6S¾ÑѨÉ-™‡í'¡)ÌÞàãkØßËLJÁez0~¿^ŽFŒd¬á-Ê#i˜ 3Õº#G`gH¸$?gä%ˆÜÈ¿p;ýû»€—‡„¯ÔƒÅpLšw”ÃÅŸ-åQ\êOÖÔ¹äƒ. «À;©ç‚ðz1ñF Õ«—óîÛ?îs –åÜ^þ;zyþâÿ"k~-7&Z“ ó[@¤.™ê-6·ÎصÈVtÈWË5_â¶cm?^Š*ûf€iJa,;?0òî}HÁóØ@~3'aþ²á埇ØÏ7ÁXADªñÍx¤-jrkAI¨vW?@P Ø•kN|$àÕÂ‡ÉµË ê¿ÿ ¥¦ÉfR“|+4µáœ·Ž* ¼b8G¬íñštOì;_è´¾ÙbéðÐåo­ŸìÜ‘Øõ‡WGÏ¥5$  óé&œH’zdò÷“¸JgXy·þØ6=Ü·}Šî5ø¢ïq»:¤6á–hÌ™=mWMêÀ¼dâ&§ ˜ujÑÿ¢ w|Qç6¸`h„ Ò´s0¦J‹úáv´@®(:$'Nå9ãMµü6 5ÔÉlGÔã,ä*ýØßÆ4Ã#ð`!¸]äÒY9½oµ²Î‰eoÝüoã´ ¼ù$éN‘ oš…†Øä¿F˜~j@)ç×OµõñR¼©ÛŽÜB© ÷ëöBß # EOm!„VtÕ:š÷jcŸô@+½ÁT*y…–µ§°.ÉaÔòƒ³ŒwItËÄ-âªL¥^ œ¡!¨$AÉŸdçê ”äͼRcÿ2¶›¶@¡kJ'j7ônÂý™LSD<5*›í_” Qzk)Ð?°ÍØ"t€û ¸ƒ©ž… ¸¦"eËB^¢µ|3 §fZ:Röåxá÷Ÿý†#¡¥„F› ê…ØpkÚµIîÿUð¯ÀiÛ²æ²Rh]»'¨átÓ:¾ñ[‚žŸý‡À~"÷Ù=í™?ÍF¡^Ñ´½´¨«²q #dƀءÝn…°Ì¡æ5Åu±—}Ì2:YL»R+ä._š÷æg=lÛ¼¡3…Þ§‡Öá´ôÄQ/š•{U–õ±c†O^ 3v“S9¯wÁŸÊJÝ­Ópü8ƒ÷^n*„”ö¥,gâíÑ”Îå!+.Ë-¿n’Çœ2Þ˜d¢Ænœ¡)^3ò7‹=õ¶°àDBê)ïçÄÃ.–uçÔ "ΕèâåDBÈRòV€SgèõÏ]—(0‹\6‡Òö_¨ß³o‰e=ÆGXEYñL b™#`oåb*UÌ3 m;?.E…W½ßÛù ÞÝÓgdÂ9û[ß$—¥$qÃ÷ÚÐY‘ÄçØôÒ8!œt“/wÜ„EÉn,嬭Šƒä(‡ëà»u¬0“l‹Ä5ì ;T SâÀñÁñ,R æi ž*' ImMÕ]€|pÚdH½™~ÍuažS2 ‡Bñb'‘e•Þ-ßÓ €,±i48bþ‹œ9ÒKjU •xbá}=%v‘zsŒ£Œ‘¸ìż6…·ŠÉB\GOzΧÔ(€ÌÅwG{’Øô­ÛÀÖ0ta©Ìÿ Ãè¡u¢sm{[GX¡MÆ0?£¬ôl:Å1Û·7ˆpL‘ò垦ªB¾£'4ȉø='i­.æÐÎ÷”‰s¸o¿Ès‰ÿqà¨le7ࡪ3ÙXn•kÙoó¼K“l]ù‘9€3_MK(˜Œ<c½6š‹=&@­ &îÖÍŽËc¨ `–бÃ]sI׺uW¬_PþÚ°^~;<é3a¶²{dãÂë $’i¿™iÅÁ…ÞÄEK O"©ìôޏåÿÄln,Ô›_):y-ó§€YÜ/rÀÑ4/2mF­Ës¨w›ÀÅkÚuâÈ©£güÓ Å_ôÂò ÏýAé<_^)¼ Á’SÓRoN­-ê˜ÍY~¼ˆíV !Ë~Ik6êqbœNßd@°n:´d™óshïÓYÎç9 ¶¦3 ¶Ï‹à0€–œ¹R±G•-ã1àf¶´2aù4¾³™œß8ý®y«ÉÙç¶04˜Eag¸8Íã\R¨%“¥Ÿ©¿m”.…Q0ó~±«~C Èß:@Ú?éŸçà´„cö.rÔ{ùÁmCWnúo¯HÂv›]dõÔ¦[™ØsCÛнE.>=g¬ý¸K|S¦%d¿ÒQX4ÍV§ù¾æÝE­Ðñ£DÍ 5’¦+µi i¨“D.ï ½HªYù”@4Lþ½ö¹V k1>x섽xO†£kö)¡<ÙÃÞ_lhæõ ùôû$Ù=ågn¿ïð Òn©1ïíð«ÜÿÍŒˆ„þ5Í2 bBögÖþ &¤<¹àôÜ䑜œí ¢¯ß±ZûËó…“qÀL ÎùVþÓç‘Eb;ÄkcR†¤,F…zq´’2i×|>h0C)}ºË`VâÓƒI<±,;LDáTw±Þö«iíÑÀ›ÎÙfýɰ’ªeÓÁh8œ¦S¾ÏÏhMÐëNç4×ÀzaþᘾÄ%\t…§Ñ@¶ V/sVUëJë4÷vÑrþZdL.ÚÖ_·ëhô{Ký…Çmï+Òs95["4pvFõ²÷?‡n\þY­t¡ÖGÕáPÝ¢öA×çP·K Üž'ä¤!ø¬÷!c«DæÙX¾v°OJ/”VšTZ(´f`dc6=·x•PhToò{K/ì †vÌžüØìÃyBHGªJuìÂŽìdŸ£ü½mž‡,e÷”IàÞ_5~}zðvLø› T´†ÒãÙûZÙñy©RÞ…Ê1d³}æZÒxb†y¢cXJ‹ñËŒ«®ãÈÖUB¿¿àÒ÷ß|?Á(eƒP5ÇÓ€ZuFš)57~ùR”õ*à.´V­2nROq‡žEÊ¢áLðhMfÑõ… ¢nóã-v¨‰@Ò2}£«vß~õ]7Ò`¥ Côçã‘IþL»DÅ3šât…nÇ¢Þ:.&üøÙÀ£ÅÆ)qVKÅ`±/ègz‹Ž%»íèT£ýÈÅÕÖ,Pù<÷3€ófmabLƒ÷«I´C#®~è¯$6ZŠ3§‡5ìŠêªUË.ƒÎ9CS ÅÛ©ežº:ƒÝðÍ{5ÅR ú湇Ua#8’äff ñ T†J+È»›/´“âÎ\ò{ž¶Q±ôÇ™I^îg@9Œ FûÎmœi6•–Ò{›Ø!ãá ìÅÄÚÔ÷R­^Ï»z'Í[ìïa’‘G$ ùg}6OŠÉB;³äªIù$–๷>έw›¸ôë‰É¡mŒ´já^¬¿Š£= èŠÚ£äÁ’®$|—¨—¶è±—Gá†Wã7H2ˆnPœ#FKc°¸ejÖ`9Ò$udžFxŠ#†+q>Ô ël­œÜX”™òÏú$T3½#½Nµ 9¬¦ ãšsu¡YÉåTOWi:¬£Ç‹¡-ç"4±AËZÏoº•1¨<Þ=Q°€u„Œ1|:ò ÓI9áŸê±~3÷‹EáõËæšÀ^ž=na%.Ŭ!ôÚŽÀmÑ‚lRŸÚí½ÆRµFT‡ššky£} j>õ³ÀÀ™Ã#œ’P þ„àZäKt°œ–àéŸ{Ê?åi¿$ñŸÊôÁ…<þgò‡vÍD&JÄys˜vât’|aøÐ]Ù—ÀaQ3ΣW ¸ï®E;hCþe«¨ó9h ±p~¥^åË%ÂuÓxµ !^àšctšM˜3y†Ó’=¡8÷Nˆ<‹nç kbŸÞ[ö;:Ʀ\ÇDÐ%q­UH+¦ éIܳ{Þ¸QÇ2mGO‡êºŸX–Sï×áœãFh·ñ@®„Þ \W\ŸAé2Ö5쾩« OšA Ñ€…|Ò Û4écž _ÉrBbÍRÊëÁgÃ=ÀQ]ë¼9ï¶KÉa–z[>ºcõ-³ÐÙÂ:õ`¯àlÒW%ëke½{ ù}P*Lƒpl•« ”ƒ 5Uh\òF,k²‡Šãr.ØÔH·OAa°å`0k‹müa+BòPïÂà5Ô8ÉlÜb“ý‰¼Iòh‡Ï ‹>RM¸BÉwQ7í ?ö.lˆ²>ú;ç‡S;¢LZoø(\PìqðK¿ãþñIÌ}!e^PæÀázdnß§Ìœˆÿð;©ÖÀ÷LYœó¸þúSFUÓ©ï@ q97¶ŒI[>#ânÔv¬H¿qØí-©Kˆ~K·ß×–•¶0vÙ‰0š¸ â0®$ãvL¨Ç‰Ì¢5ËÑú~v©¨Åg¥Ê·N…S„žÓÊH‘ªÃbáŽÆBÝÿ[½Ú”WP’€I!Âc Ù‘_ŸH’Í;dW_Ñ%.“› ØV¼šÁïf_'J>jÕ«KuL……ú NÝÐyh Ö3¿_e5%4ú/Z€iÓBl•Dcí=ºV3 ÓÔņZQ5‰“CÓo}·õúPbŸA%±®¸hßÀæ\3êF°di75 RUÕ,ô\$ïø„ÔÎ~1{UºïâËb®ÈÞv¿Þ£ê²‡¸,н–à‘¾= gÐÙuêÖï·Ùø!¼·¸ÓÇ –zêR—ãô0À¨hG·Mìè'ëôs¡!ÇE£{\›)k; ,i‰ ®×f#-úÿ?ÇòïbG-Éò}ûuF{¶ö'îlM ‰mh¡´àÿyÛð?(åíÉ>˜påý¸àÕˆ’RÉÛ.t²È_h6/ˆ!狪ùR +xY$Æ›áæì°*o X92?MÿšŽÚÏ{‘=Å<ÓØ%ç›Üu§ÊÎM9: ™ s([hÝJ—CzÈm¦ÚBÏ×l ™­ó¼ÁÕŸ8‡ñ}k„IR—´.Ÿ X‡ão_Pñ$vF¥BÕÍ-Ù$:23Ïpb™Ð¨®ßq`?Md¢-ÀÁ­XÌœË Râ11MgÆ~ã3J…{y®,qvÍpFŠÖclIÛRý.°p|Oì‹’.åÊg¿æÇC$’zÀ7 —Áéâ¸MÿÌQl‹ÑófÐvÊIÓ¿lãQ±È'¼$j™3|øîÔç<Žs1ÆäTB C.4¬—Ë¢>_nÑ@àlÌôï9®BÇÅUdeµDöÉRM õ+äÛÛf”h‡0 {ú-SdèZÏÁÍ™,›]¾rÖìDꃷøqRÛ½:½u\)–o`»ÏÚvê)ºégqÚuïÄÆþ‚° L–}@pZ/uÈžÚÓø¤þ C‘Gò—ÐÈY‰ ¢ˆ››Ë†E+*¶âÉùb·MØùdà{ñ€9’—¥ig1>ç øyÐ_Mñ7‡áE­µiEíAŒOTcǪ#4°ˆZ¡/Ê“Ïi„ù Ή¾„[õ‰ökÄTYŒDÌl'x‰xSò Ú¨ž~Ô寕;[oÉÇw¬}ɱB•ÌO/tËsÞ}hD+ŸªÛÇT,[ÃÄÊÕÁR†3a¤P¥œ­Š m)W#‹à¿½HgTÒàY3Õ›rò`>Û¤í28¯ù‘mhºª›E™–û @ôä™CÔÌLÝ_–Ãû7ÑÕï5~ônßø>9Ùè–Êï„ÕžúŒËj¹1á¸ÞR¥b •±?þª;vÅ<%ÎãÑavíG]  èþ:ENÉb%·Øûܱõt.;X{×FkÉÒ«[yYý´–'ö™8©y%vª<‰ëûôöÁÈŒ“•¶¾¥Â‹W¨Ÿ“§šœdÏÒ,Äl­täQ@ (Q€”N?Î6rJ:•%1<ž;Kɵ.ÏÓÜnLñõKÖ³õኯ—àiä]=ñ0¨w¬ZÄÅÓ†¼Û|ÚeÕDîÓ‚!1,¦,÷à§lµPÚ—êèíȽOb_«\â.›v¹. ‡ ¦8±€;XQv¨¡ôƒTZû쥨/$L7bÔku¨õ¨•ÈŽ.)šr×lÔׇ‡ph#O^ÔÌh4OÿG4I¨]˜~Òsš ·”ä‘ksÉ”0ô0ÆBá¥ôË”…öÒô€vu² _`°éúôd“Ï}/Z¾§8·Ò; ª&Í´@¿KÍ{÷Ï×H؉#S-Ò_&ÅþxÈ—€ ²Ë¿îKÓ;)±âN4¯£s¿f‡ªr­ÝQ0Üæ~Zö×ò–Ó¥Sr•&ÊÐÉIºO2L>”â¤Òä¤[Æ€~ åÝK ÷÷lèM*‡BçSÙY-ó0½¥Þ6yÝšãD÷¼éÕŠÔ¬(ø/8ûª+çñ0åT'öu$·5}_)æfQ#_¾UdÆ/¬k[–à{ÑÌPî kÝø¢PìM ÞÆ5´&˜âVT¶g‡އ© ¶`ÕåO þ}×:›R޶4–@!éÊ0^0Á"ÊŰšpJ´lp-tÒÓmÆùëã0«ä¿©“ÝjùœëÎÖcûæÆç½lžq¨ 5Ï6 Ѷ#I8Ñ]HoV 𺰘þ;ŒœNÁJ<DÔwÁÍvü“o²&©/5Ë4²c1EÆ½í­ ,}Ñëzøå4Ë||#”îžHŠô•)9ò+{6â¦ÍaçÝr£‡2o´Ý•jÒ¡k[)²¯P™!‡}5%0 †Ó åº`m"¥Ïû¨·ié˜nODU*ãDÎÈkà^ éàÒ8ƒfp†Áàâa_úVÖ½ò° ~l"‚;ÑSIÈóý»©ÌwŨï|XaÉ_¤Hr€/ó5ÖWCÈÓvC  öUü ú³,ÇRιFˆSãÃOñáca´¿kÞÊêÆ/?§ gó‹H«­õœìü ƒi=Cܛّ° ˜ZÚõ_Î1ñ}¥UCéôtGsY5Ô$fôHç\/iÈV‘Àõ#RRž¿ñxKT_)ž#$PÁ—‹Í±-Ò“˜ +§û€"Ň̘‹Ñ/ã ÙÌÆP€D ðZ;Êuÿ«Å.7vŸ¯oÈÓ¡ýÕêLÔô°J½^ËO ÏMÄÄâ ³YŽbßð+—p=¤š"’Öùô«ÈŸ™” G¶Ù1&Z;r}}l­‹â¨n>©¡n\¤ ¬4q!IŠáýÔvÞ5’îKTØjnÒVì-uežÒ ð’ªo(lýÊ^S³Nú–âòªôîèaaŠŽ8]U¡E¥“J~uT* £©¼JÁ±e‡3òÄÐ#”á$I —ÔéN¦ó½—6IRo/½1¨ÿËž™¬wª½!Ý&4±ÇYHF;ª_óbœ‡6Û:$BµˆëºMxvf@'8—ùK­\­™“Ês…Ëøýxm¯Ÿ×µ(Òöu¾ì¬!¾ïá:67(fäÅëXø"4ä- ¡èRz}K;³$÷ˆ­üGg2m„läNŽç¡b–òÉcóº+Ü­•ÄN4^tzW–àDB“zú83ÓsSGpH \àÊ{©v¹b¿S=¾ùævÑÅör™.—<à¥mçýÚÓàÃ’y„d}Ã7ÿº ,Ù ¶ÌËʑőõÕ$°õ¼Ú„gÆh-ÕO¿ŽEŒÌY¯ò3š`]ñ¬Ê|_Ì;åY©7Bÿ¶K7”}ï­ÑܼÖÌ`ª–|"‡ê±¬—4¯Jœiy{µ'­»t‹®˜láx¡®3Šñ+CmZ5¯±iñ„èQ4‘ßL ™ÚšhKn—û¥zrhàñFÅ]µCCŠá+ñÑ©éü· œƒ”DŠ:ÔDÝŽVGVü®ÕÓš„½Ì)ó©³$ ¾»–†:Ó2%D WX¢×~Þr?Ö–Š91÷±ÁØØÕu(ˆÚN0»]´˜Ü‚Z=Q•ËOýeÁ#ˆµ<ÉDÕÊj–lj>–­1¼)­Ó9´3î4÷MúxãRñ(MŤ½yƒ-èü;Ä`² wýÞ¼\þ^„&©ã¨—Z•ñuÑÖ–7‰kíÓP°½Y(rL|éê¬2qÞ?[iòÑ0 ðJ¾ÆŸ…n4æõÑ;LgdÅúÏ2O÷@¶°ÀK+•ÇÛÝ8ÍJíÚµJâ’Çn-û‚¶luu^/g›På Ý·ûÍ‹ÊüYê@ñs3GKwŒP/­Ž`²‡‰/Õ£Ì\(ˆ^SE¨¡åÑh:9vÈD~-<¹";»U)Z촗͇P³€§EÇKû]1ÞX(,LPÔ%è¥Q:rå¯Áõ Ä1¡ñÈW©ÀëÍ#‘ê;²(tQ˜6ÂtC\©{ CFÙœi r…¤&~§úûÄy3©Pv8bî@[ƒhÖ6¸Ûôìez,v/z3·8ÛDíu¦ ‘gø ⡜ô“9¢vÝg®ÿ¤ów€›\N¥¨Ïq(z‡Hžso»ù‡Ãã4„D4£+(d®ísXsœìqݾ7#âz‰k<'åØë‹5iÜQÅ¥ªR{ ~w0czhlå“'%›ÎKÌTl•_½8¥ÈíÈOdÑà}9qôä7ŒøⲈ¾b”¥õ12I#G«ïȸ^zŸÒ2ê"> ùdB­X“H–¬DBÀh¶Q6tý«Y¯nø’³Q:l¥Ä¥Ìô˜dÐ’Öq+c0‘åúÌq!¦ß¸Ÿ²w튈Q¸„£Ø°Ùü”Gz > v¿zÃ;VKœ*Í7QÏGB”ûå.‡ßXÕvXÃùw@&ƒLdÐóžßåôýk§èí팕¦ïhçÿÆ•ƒídºFuv›Û¥ü˜y::Çßz¥[–rÏ8ëÍ»:98@Þó´RT¾ ˆ)`妰W'× 6Ò§w®s†>ó–ÓtA ¹ b³ nŽaŸn;íy>€]Q¼¾AO¾•öµÿÌ ÜÇ2oœ§«ý-ï³ëg!É ç•üøô‘Ð=íÉÚ"ªöß ’²T†Ž>–ÆWFÞ«ÜT‰V¥—Èû=oÈðKÅW·'˦THfΓQŽaž‡šæ à ‘kn¨èšÀ‚:k’¥ÈÂÉ)·„v¦eक़æÈ¾¤wNÓž‘qåãg³òÊuó{©ÍÏŒØÝ­âªþsi Ò¾LÎÙnr’Lü-–Ýßw›Õ?R눣MnN‹™ƒ¾~âÉÝ $kM•ÒMB 5PQJ¡à &l8}P|;¼åWÆ“cß•ÂÙq’Du¬an- ,‡ A†a3ì,á·^F ¹gNbcNÀ(ë×γ@–ŸT,É!f¬ÅU†wÞ½Á¥®ÅVœÒkÝi*ä¾'ÞélÆÂå$ï´æn Äz_÷™½¿AØHðeZD~å®kçx8îmâ”+ÜN]ù®½ÆÎ‰› {©•M}3‘jZ•‹z]ÜÀՆآûÛIVºHú”îgwÐ}`§pY•}Å`€}îtµ*¾å)D)UÀÛÊkÏD)kŠƒš´ÓGÑK«îŽnX¼t¼LŸ5 “r<ÅKžžu²tC(eóÛU_øLÑâï#N/o—£I\{ÎI¹…#™k^êå"gó£÷ýA€\Ytm^¿ol”ÇÏë#D‹pòáÎmˆAÚêœ@{ή¿ ¤ÑoüV„Bò¹&[Œù:ЈÌ{¡"㺃‹›]Â=é:d¯[Na‰̃¾Z°ÀÀ°otª)´I5Cça1¡€†ˆóߘùáM¤Øgk¸KÒígô‘)<˵ûÖ(ÒX7O‡æªAEØVÞî^hLOg«ÁŽp`“„pyMŽ0éµ7«iÊ& ÊP0axd6Sglò'åïØ‡^áζLd4"(ÙÂΛçæh ÁU½!AZ‰ ½ó~ô#ÓëþèÅ d$ÿc¢»›£ÿ4ìð¤ûþûQŒ°pÕwµEð ·1mT»Í¡Bt&IˆY½ì·Œ#®—Ø”²e|ct·çeÎô<&;Ÿýä³ qT3ªp꿱 gÁ§DéJ ªYÑy¸L瀻év0T>’¦BMú‡¹ýÏÖ´õ`ån½õ ݶ —Qª|\£õ??Š^~‚ÁÿÎ0ˆÑé¦)ΔÖa*¹51b7ÍX]_Žèÿbª¯ëp¢¨´'™gï'åY¢ˆR]IJ¦¹¦@3O÷¸kc…ÕÓM2Û:àÆrÏ Ì[mDZd{Ï·+÷Ò$®G2{Ø+}Vfx•ºÂÈDs–¡$THOlÝqŽ7öOW͵>„ê 6C®jÆ] £/­]E†¦·”~p_Ä¿cûc&Bsä di´yýü1JÉm™øu´&ÌZŽá®qtšeÞ^‰™×Ä«/ É’¯¥ èô4WšÎ–KÑl”{j¿/%äGÃøƒ5ÄP³‡ð½Þà™3Î6'ä`Ê9y•\°ŠY*'‚ÀÃôgÊdPü=!§7žF£1OœŠ:1QS~¤P(Û§Ó¡þ²víçêj[œÁWã/‡ÿ§õàå6n«¬ädå+nD›p{h:Ÿ4$@óááWÁÃÌöV}Ê” RøÒ™+Þªéê(1H›*y­>(æk•5cQŸ¬þ&*àB|•Ç '™gYwŒ*9ª*ׯ]ì„€YSÞºk¿s¬2VÅÜé„Ê­Kàdjš÷1´,vH?¨*T¯mò°˜ Õ—æ¹Ù¼¬Æ,ŒÆ|zÍh¥ITåÊz½§wtPAû2`1žå\UPmÖüŠ îC¡H¼K*«…³ë¶)ª‰K|¾ågŒü´$µj~.¿Íÿé 51‚];_ÕìÑÐ~Ë) é_’€ò5ž¢5ðª¾GÞ´J°'s¶mXžL$:°aÀh;Äi/h»ÀÂý$hûž€ºüò ×[ê5#–ÅJÇ87_;5”¶ i÷ €ûo ¦§[Ä• ‹Är%Q¬Õ)]I?Ár®<íŸTç‹SwT `Õß«?ÝW‹ !?>°=hŒc_•}ÄWùÆ„9f¥+«]çˆ}oˆ[G®:ºÊ–(‘×mkÓžT £¨ÏûO¦Ô¥!ó=ï3Ð3@Å®¨ù$ÂhDÜÌ/ÍñU–‚ÇONØr¿Œ—Ÿ¨ŽPrwÔÀñ8·ÆF/àGýˆûZ0¬öD¿¬ˆ”T ô’Ð祛;\«“£ƒ³ô‰@ “åáÀºÒGI;l9¡ZVp€-.I£}: ¤h«óœ]D[Iœw ff ¬¿zÙF0{79O˜2*ÝùJƒÔͽÆYpô‚V÷âñrh±ðÎ3º ¡C6ÆQä^fŠ–Zz;oâÄÂæå‡¡K‡¬Ló(<¹¤Œ.×á' ëÏl™ 3¿"]ò€ÒÿcLÖÛ’©ˆ/pbfkŽìó@+ñ^þ¶\àN§sKë¦÷¹°•¯`øQÿ‘?˜ü÷;TŸ3YZZ»Ns •Dr$Fÿ³cVŠM¬=\¬ f®-ÆÔ| »Æ;A"S±xcnŠý\á˜Ç¶Û^½ÁëeD¦î'Ìäù[(lv5Ìjã/ÌËe?zW®h©ž­‘nŸ„Á‹(k¬r@AÀ_ìŸH+D7t¯é½ùcÕVr¼Év¬²ªÊÜ‹½sÆe£‰0 ¥dJÀb"¦ÛÏY.’óøovÄÈ ,ëðk:WuÕL¨R#QòiŶÑq¨åŽãàS·ÀD8ªò”|§j•nöa´qøí–4Ê2R‘ Ž1K{­»÷Œ}\¼”c.ÀâMr1㎱3X|èY‘à•¾hï—É‚§ôbZ!­ÐËoɽO´ŒäN4$ …úxÌâÁ½ ¶ìÁº¥DÓ‰ ¼ÕLÅ¿°ô?ýY°þ¼ X®èA¸ÊcÂdêrÞ¶Ò˜ÐUöYõÝNª]Ý—žd7k*Püæâ ©CÇò©ÆÒ¨9Ç]¾Ì˜iÂÐÍ)š÷C-|i|3økÂòêþºàU¡ùäÊ0+[¾$¢ÿ7ú¼+'OuÜeL?mR‘®°Ž7û#ÀT’Š:'p‚Ù»}ê};ñ.×®6’ýárqýf-œ7w¬¼,õnÔDKÊø¸ú~à=—~O·Ñ3^Þ}xÑæGªË ‡H‹Ìêc׺×:Òê£Á*a6íQŸHßh–ÎéØßò"x4n°¢¶Gþa«Æà:0`G3¿ÔQù«:âöW¤í™<[ÛU‘ÜP”j©Ì.-à~¸ä®Ó2û¼ó7(—m’°ž$ï¹È))à†¶Óð969¹ÑvG‹˜‹¥ƒBÒ” š]g“[ƒø°dT¿¥Â)Þ‰ár ‘WDZà/ÃçmË!ë[.zÕ©jEùpN§oô[‘¶;¤¹øµã»Ìï.@!ʆàWôÿñSS¨FO2Êl¾.]tìgÈLºœ:™éêÊýt©ÿƪQ‚šQ=|p‡ƒ™çß”É~ ŒÐ9hFz#Ä_ï#D5&Χžð/«ØY ŠÐÊ@þ¦M=µ¨Uë&ÈTd–ˆ%쬓ˆœö4=bõ2¾Ìk8„‚A­r… võãCŠâ„*éŸkrÁˆ/Ïé½0tA4{ç’‰ù[* `‰¨4…6´%™þÙLº2#‹¢³ nðBÉ‚-aÓT°?˜•oeµ<\Ä÷>ëAE,ó·›”P+²c­µö–ó8e­ÿ*µ£{+ìRçO_f¦/L¢HØyVsÔdhŒ-Æ*Þ¿ñ¾Û"{ã€Zøýn?˜,öHR¹ #dóÜ0õOê`r uBÔ/BÉÞ¼ äÎ'„b¹nŠ@÷¸]2XþšòšcAUF/Ú€aØ÷Ø3zeë&šÛ­Ù›]‰fÁL¯ßܼ.±1néO‚„nþáqni›ŒÞóe@’Ïn€åß1,:‚ïÄ”.£Àù¿…Nâ=3F1Ïe@,J›L˜ó90>ƒÖôÇzðd…ýÑA4›3ߌ[8ÍJO ¶ØeÓ) ãÿœ(ü®êüböô˜„`°4Ú,éCîPªÈƒ`Œ„I—=63iE2ŠVLn¢îŒçëçñ/™WBÈ‚UÛSû&ENBL¨ Öí5I{ŒŒ†8 ÓÊ18ã7(Iÿ´7¹u`ºœ£Ö –Ôë~¿•m˜…Oƒ()"ßÇæ^ݸŒluDUj‰34™F¹–4¼"§ó2;Çå‰S`À3†fÜ*‰{ƒ¸$Ä+f«É#ê q‡1OE0…îŠ{ßo9ŠÀ7O-gñ.žŸÛ—ã¬âæwÿ¡Z-#~Œ–iºDáåø Íîñ9uû§éÆXgT¦‹?v…ÀóÝÉrD!¦ôÊΞ»[v4>û7Õ:æ^°2Ð%ºCÌÒ…‡`³ú๰ŒSj Ý3ä>ª/Â4õe“š&®¦©ÅL.È€Iö2 cÓD@˜AÛI– è~rq;8¶À-|•0L‹ê 䀑CõÙÿÿ™ÏGS•{¾Â/?L°ÈNEåØì¾F‹ÉJ;¼+þžA×.˜;”"-ÛÓ“›œEˆ7Úg›•Ruf…¾±ÉY%0$”r¾,Öü¶•ªˆÞGB½1¯(ß X3þ”±Œz©zþU÷¿Z?ß|š;bW÷M¥4L!Õz ]ÓäÚ,Åæ^ò*'Ù‘Ï©pTµú¦’ÉœœÈ#—é{yòÜô”D‡µ“ºpßÁjLÚhð"´gLˆóˆ®j¢tAó¯Öº©jav PV‡–8ñºe_µúOAZÛŘëµk} z¥<Ô›ÓèK$¬jϱnp"¢¦3ò`}µ>vÇCߣ“ÍP@‹3ÏþcûÃÌ…tRÜ9Ýì.í€îÏÞÙŸ((l:bÎ;>«ƒs͵¨“`þšˆdÊdôÊ“vxŸÞއí m9¿¿LÚ Í\¹KníÍåËL»Šå`u,aŒ4,mê¡+hÏ >ªZMÊøØ¢\t‰ àÝñd} (h‰¡`‚÷}c¿3¿s‘;¯õoV¼Ó×Ç«bþHÂøv %ºÐ áp ‹ÃwRåôÏ9“çô³ìš¡êúDÑuÄÆïAôÍe´ãRØp-á w*·ð@ޝË&"µZË÷›|Á’­E²Ÿ7ÖßÓwé^Ö0Ã&w‘2ĺî ýLû}ðZ¬Æãù©OUkW¢Z~(³ˆ‹1Ð&Ô‡]Tló{~Å…´_í¸€®º¹îñ‹b;v%0ã^«7â´X±v€}@ˆr¬ÃèÛé¸Þ– »Û*P`ËÚ9ÛðpaWñ(ÌÕ7¤í£ ŽHMQ˜p³ÆCXhÃ’P¦#üðlé¥<¹îÒÉGÛœêÁs ñíKÎ÷ÈçMóXèà ôæÔˆÒ,›ÚÆÞõ}%b”œ—¡Úl8òî±î`ë0\¤u`A3K8ýײHÁDI ;é¿#2oþÌ/I Õ$hßU÷Ž\FëÓ夯ÛΆأ lnaçÑ>²VA*º§›º7ø†ž€ð›irJ`€HõÁeËH8HX¶0Æ~ŠH„dŸ 燚^H­DmP°÷³à|n.ê¾×:NC6êÒ=Ìîóˆ Y¦oT¦ô0ò¬ðׯ{¶ÜR/Ën&s ʬ³×HPîѬ^˜¡±UHØÿ§NüœÏXûé@_(ÞT¤÷aR~zW ˜b¼ó=¨î$:ÔÏZñIÆCô¬ë¿G çcR×€¥~¨_×B䘎îô]oЗJUHÇõõ/ß*‡†88¨ '×*­)@c,xè/Ù”qÅJÉú ëpg€‘¿‡µ©ƒY˜È0ªŽ‘<òç-_Œ14¬È7”œÁ³mû€Jš½·®&:‹ZãfÖÖ aýÐëR•c‰½-àµBt:³ì@B›±ëGÏÇ6Änft…ÒÞ!-^í¶=SWª±Ì-ùß*n¥¡'¼ãïÒcß›,ŽÉ$VP"¾Îüó¯ÒmÈ¥‘$'xƒ>€¨^ì3)Í?Gfx3}™ÍÂ~®í†¹†~EËØ}O ‰‹±ÜÒ=Ä2tú1Ñ,È K â´ë½ž2{ŸZ7¨¥àéWó¢L^aѰV8®bµ²ÏÞ–+ß Âÿ nê§Ìµ€§I—|D=x.–…´pC¤[Cy¶]äNá‡Ê9åëžïÜClXŠYÁ p6à˜Ž8õöámçÛÖŸE·©*bÊ=û?Ëy´Ê¬ÌçHßY/&\TéˆLõÉ€ŒøãÌÆÙj&V¦ VdqÛ,Y~È€ïEDjd[¨s…&Cþˆ'¦À㨟9½Å‘\S*ÓáŽa£Á²Ð‹´¦Í¼¸?“¤"F;Q|~ɇ÷޼øÙÌaAÒ:]-]¤ä1ÇW¬lÕç;²ç{nmizfŸœ-ŽU_ú|Mõ›œ èÚMe¦ˆÓêñz¦ò/,Ýp’ÂÕÖŽqÏÇÎëHLJû¯YbÊÏò&¬™È ƒuàè[-3ÜlxÖ¡žE>ÓåÛ¾{þ6×H†Íɘ½O‰¿ÜZi¢ò/1½Qª,[âËtWí¡~ÐámÜŽ>7Ýnwø2ÚM“ÏÓïšçâÊ#j*÷Ù29¦^úPØ/ vðœAê/xCF’¸ÊáÏbC6º-¢ŸlÕ>¢æ/lŒ»ô¹ÌB¥3ú[‚ã£"øYÿMk¨ÝWÇH š›³ü}á÷–ø…Å„€Îð¹{Åá]TX+±g†’Áö5Ó:…Ê3£øÏîmÞbÔ=Z™ žòFÂÒÓõ3+| žÚ6p¢‡Ä­éËh¬*ÉÿÂÊpñ¯Ì3D¸vp%Ðm—ºƒèZ2Ü¢n%íyPM˜Ï‰ÛªÚê~s`GÓîÜWj“–,1V!%©ã”ˆ5 PïîžëÉ]”cçÒ3äú×ÊG¦ÇߘuT øà·mဗ3âŒÄȰ0ºqVoájÆý4‰ÿ-ŠB 3|‘L:ïRÏñ+±E­ÖáKY2|°;r*hü{ÀOј©³ã 7iaýSÇ'· ®eÜÈ [*adbÿ0e¸{â¤3Êøcà€úíIÔtÚkõxºÂ2“§?²Ã^£s£}#´|ˆ» ù"‰3.Ž(EGV¾g==ù7H ÷”søeòNRó‚ó§ÊdïÚ@×Ö 1Â0“Õ•·ÿÿ«ísPñ‚Gö£M±$ˆÜ&¿…Ë·ø%ß+ÑÛ´·œCëöÔý*ùÃ,ܲٶkr5A8}bÂŽÕ¨¬ØÎëH¼¯9<þ™˜V”V™å/¡šnˆ±W/3ŽDÑ”±à®{‹ô"4ÃË4¡QŹb ÌŸq±çÂ%À¬C1ÑÖ½ J§HŸø 3G0Ú<)ÛˆrRYÞgÕæ¦‡s†9 Æ'^XõýNŽd5ÇÅ«@ÆÿÅcÉ;œuxˆÇvÏ{-X'O<ûÙ^ã€öݪ Ë¤eÔm*ëþ@Bl͈gè3¨Ë{¯¤ 66„ðÆ’wÚX…‚%¾·<µ—·µkåÖH½»urJwN#5ø¹gI;aͲ-ˆ¥ëyaÙý@&ŒW­÷b}êÉóˆËŒ:Ú_XL…7d+skQ„Î;“U(MÂì:ßþº•»<} ÕÍÑ@~ù’ÍI²¦Ý0|à•6^hxÅ!|üåNdïÛ‰Ðý^ø¹(pÿê¯šÜ É¿ AɵU"å“ܧš¡=ÒôþÖ_§}pÞ]o$ ½2BÃp„ËPÌþáûA79×(/ùP;ëc¿ÙÃÕ ѕƕý 829þ‚§<;,ǶšžÕ/‡5”Âõ Y¦ZÑÛaŽ Áâïr21 ̹v:7<U³®‘Ålâ&Í¢{±“ðyYNHõô`¸ÜT3(<‚*íÃ(2-#¢’d@%¹bSÀX]¨¸… Áq—rÝ¥~W<Ò_Ψ¦d© JN·Ð¸7 =Ô$çg1¥³NÎ $vW2€÷o^~Zº$4hOÏôÏõbôçºe÷vŒÝ÷?É8j²òݪû™Kˆgæ?âmmUq<8Ó4‰ÊÎño=­66ðFZ¨ Tû£Ø?Çæ[ª¹û=*««Ïˆc­½mÀ®UHèÖÆˆÑf#­³ƒ7åê]<ˆþ~4ø¡ÂmLƒ¾‹„e>—¦û(Þ—£–8}ä3€ó{†ÏÖl]5¸[¥ú`Àncÿc”åz–|•}]®V:Âì@ïôÐû_\÷¦áÑ PA­ÀZkôÔ¨7Þ¿¥Ç)kô Çòâ<‰ïy´àp<]–].$‰"0PMµÒvo…Ò§øéI`¦CV—`ò'”[Ò4·x”šR­2ÚûñGÞ%>® Å?Œ´Ë:÷º“ Œ‘WÙÔcç#Ô;Òo¡8˜Ü£ø¹pÆnݳ ; ©a‹iˆ§.šªÆ˜XËàĤM¬TX£ð× :¤{Šìmñ 0,´´ŸS}•“±©|çFÉE•"^]qR9C%в½ƒ-VJð Ý®WB? czÊtŠC©Š?&€fÊl5{ÁˆQ«@‚rv’ ×뢩ÙG’M1©à¸ö{Ilzí©[¤¢O=Q(Mo0ÊÂÔü…y«hm¥vû+h+´ÊLô~=± ÉoX£ÍK¶Ÿ2R‹W[+|Å!ö¨àýÈÞH°ôoˆÃÌÛHû܉DhŠí…C¶¤³6fv2Bá.fy-=!oìÅ\Àúà‚è$³Àå6ç7×IVq·Ùs†ãŸ{b;^[Y¡kÎb)Vó[#Ï‘`‚'ã±s¤£¹Ðu}éYg¦´‚ì Õ˜QÜNÓŒÃ#¬ø˜`Cà  ßí¯}ÈÑY ¸ÔåÊ øð-‡SZ‰vé¤ð}i‘.»}x$ÆÐuö…¢["ɽ‹û°SŸ¦Ø^ok”-»8¹ÑLjÀspcg;Æ}ªgºë‘çÔÂ>‰cØû¸†©øÙˆœ‚ߺl ½OáHë8Î •¦f÷Ò= 3IÔÖº3ÑÑಌIj®¯L§Ü¬ÙT1]¦f¬óR¼e(ÂÑFAýîî(ÓÆ9¬µFGð6„Óë|×L@ñ¹\Òr1£O6 Ç=äz.~{ J•Þò{”9öÿ‰¢ƒ± X›MÐÚ^7g÷Y‰ëûsë5îT³ûeIÀÚê˜ÛØå*1{Âìh(’%@¶jÁ‘îÃáTKÑ|f„¿Š:“÷ƒ¨ûW’¤Îò¼+ñ‚’þ»ÞbˆÐ‰öd€ØFœÏçŠÃÚ‚RÔɤµl&Þ©®.6_䨥µ×ï(_ïõîœ#ð„[Êk‚0-ûÃ,€ã§sŸŠ/“.ˆx´Rl ö4…B”9ÁDc•4À´p.h@ØÐsúT›ÒËVJËÈâõÜóS+ãQÛo\¯žà×Ì?ó Y¾ÒB.-hõú¥›”ÔúÆ ,öõiGDqJ–+õ£bÕéŒ;ÒúëA˜¤n©!iÐÚ³å·`OØ`sœaÙ NÆÒ…¬þ9c£ÅDs†7 Nqˆo>’*j®zLø…äB,‚ôâ «ß[‚_`$ØfÈVq5‹X‘ w[Bò !¦G‘ˆq›™~4në¹!D“}b*¢:16¥>™æ½ªˈ䄧ªÅ–”ƒì ÿ.½jû­ÖÇÀ'ÍÇÝ7óØ#nì™IUEÛ¿.þ {Žò\…ǧ< ‘] ‹2¨2ça¿¦OéÎÿÉ´7Ш¹Úä‹s–‰âÆ‹ëA’f‰û¤ÞÓ‘(ØpµkpH£€\Kª˜ÉûÊÁ:ý'=ˆô¨VŽÿÏ« Æ–k€¼+þdÝÍ]¿‹ßgü‘XäN‘èšB9ÉC+‚–\%´çelê·7äÝÖRlùÉ-™…CÛCã¢+n7r­5ý]­Y Uÿ¾…¨’*SmÂñêOÛœQÿù/›XÂSJ7|ßø~ûÓÎ$Þ6#¨„‹ + Ôw½äoó¯ïM¾ˆŠFl‘\=`œär‹Å 4bàI"9]p“äf]ö lq?t¾³:®ˆn©üÏø}·áYÿ+ÖöÍ»¹ éJ½IðM\ÀÆD¾hk=r |ðPÁîóì˜Þ1+‹ª ç»ã‘sŽ»±V^~7YBï¤jÞ;Ž~/¼õ‘òSÀÏç{­ =ôË¡\­/¹DFäŒBØÈB²9¼ò©Y£³+õÊø };Åj‡w´rø§ŸH÷ò'TlÑà4?«Þ—°±õs '‡¼½ºreýáoø…dTSOÒû­¨®òàUz餔ù:Á–nïËÂŒVHÆ Ûwëïáù•/Êm%]QYF‡ßŒ&CÜ]Ñîꢜä0ù¥¯`FJÚj•Pæêrÿðgéݰ7ñQH´fÍ¿=Ótq°3žž«±Ô* d•§Ÿ¹Žà+ˆŽº9¾í½zm¡çà˜¯X¶:•Ó¹Ö¨*™s§o»B–,MÑH†˜NÛŸªÖ"áÿ¶I”F±j`æØ¯)È‚DìñáS CQ%8 (ã.„?ÓšH3b Ã(›3×ǹk{žÏ<ôþœzî—QRÕdfÌfcàÛôgèIüžûzYTœ)L`ýøÇ†,ŽaUAMy¿Û}tBÕÿÃ8ÏaÛ@Ú«G3NïnpT„P×a¼‹pàôXL‡X`¯ÍaÒ{ÁV@Ã0ª^hø}/OƒyÔ´·õT ŸÃòÛôYTÍ?¯ë¶{‘êÒ*âSÙÀÚgDòIó_(â1!è̇F¬°×$˜ÂKÝÏwM®™_¸µj¨é…„ÃI%±µŸI™z Ä‹±~íûµý¡Õ®pLYÚ’fPYÖggf†áÏ+Ìd׉…D£Ÿ½¥t”]Ðc‹ ÙHA-²-È\CÌJÿ çInÛkÏ‘üP£Š{þÍuüó}±[p÷ð|S>Æg›4X¥+'@ ÎG¡ô¯*H n˜#–¨TMŒ“¤„Úm]‡h³jÔ€ÄÊ%p¥B•›·&öf#8‘gÓ8½»6¸¨Ù³é¥@ý`i€½z©äK†AVÙ¡&SqL—¢.ð3`Z&Ù~ÁСߵ՘ŒýÑn‚bA0vŸ“øÀ«-ùïGJàz2kªX°¬ljN c%Ï×àÛœË7ø\C3É*Ú±ûÊ®îÚH Ë3þ¹–ZRÂDû«%.œQu+ ŸévM*.½zA™_E†ýÚ¼BÎT.3OÄž¡%ˆÜ÷f£Ûe;rƒñ=Tf`=÷[Ìg=qÏ+¼ù"<Éù£}ûi”ÏEïÙdWòS‹ñN7q¨<àëáXž£ SëVB™ï‘®çÆü¨ãmšæ¶*;Þêtó‡)ĽŸÏTFJ¿­ÔhSm­ÜV3D|¹r4—7Ël*H¨ez‰Š–Ha’^©Äï;ôSþÖ㥆J‰j¤©ßæ+1=*'o2'0…Ö‡oszÑ“›µý´TÜE—¹÷[Ðnw›2Âë9†’•U”Ö)bþi,5b2¥’—I)vëÆÆ9dp†yÎ÷Åp¶¯‹üq‹?é§`¬^ Äß©øÃî5ÿ&…ý„Ž~Z¬j]¨XWý…‘uåÕJob~1 Ì`ø‹FtZ› 3i¶vøª*z\EÛŸg;=îøìŸâCH*Ò<–Ò«F¶`(P¨¿-#æ•ÍXn©° +ö°úuÐMÎÏ¢Z‹Þ(,áD&¶‘Ry3§´GÔ¬ôI\Á¶¯û#tÇágcÍUÎ;¸å‚±Uód±?V ø>8M‹IÇMiºÒ¨àH’ôÄÂY‰ßÀ2¢ýÇâcpI9_™8ÛÅ2.Aç_apR7u@z¨[,ðT[ÒùŠÅüÀ,eW‡y‹¶ S#èR=“:Ä83ë¢Ï›’òIøÔ5–P]&Ì%Kšƒñ <|º±Ùi›*Š&‘¨M¹…Sù­ Äè¾± (<ѽ´æÊ3.a³Õ£‚dÑhPzÔǨAe;u°oÉ*V ¯ØãM'Au¨óõqm ŸÿO)Ý”ï){,úçæ}øH­ñSØü e)»žó`¼ý±®O.x¥£T‚¾MR 0ªk]þËwE— k`«¾_m"÷ ú[ïA;Ì~¶Ó^ˆá*²(Övל®ºk °-&Rà,Svhcð{‰)‰ØŽPÿïU9‰mù{.¼¬…HCáz§#!ÐwïЃœ  ï?߯€å$Z0ëÐÛVXø¡åé ~š†“˜º¶Ù3;‘â1­'‹­{M½?ÑæíÆÊ§KËß§lLæ««)]*¸íÅêï ­k U$Œ±ÀfjŠÎ¬l9v‹‰S‡‘îT[#»„QîRÑS„åݲÅÏŠÛö©6t“ý‘“pý/¾…ÌÑŠ²)ë“@èꄊŒ«F˜½è› ¹¡fÞ}¹…" ~ŸøÈq·½PÄ'ĘYÏ›-ø³Ao‘¹e©©[y1‘'# Ì&Fn0jôÿ)òóóHU¬€çNùg^ÈU“æ2„A‡,l޾?³ø*xÔ×ÈB$M{–ãê8Ï1Ì:W íóH%pètƒýæŸa[‚¼VXdX”âM®Í;³ÚßÙh`?9qŠVa/£:¢Lå©Í Å4=ÏySaQý‘Ÿ›]B×íßf?¥ÚY¼!Ð4¶6ÍÓ’‡Ø¬PË`J)OGÔ[Žvfæe ûÉNÜ×唈Àåê+XÔÇ>ï¢ 5BÒè,³öT€žÔ;X×-£(+nJ}©cGáÔµžL•HŒ\ð&æ¬åcÿ´vÙˆ5„Ιn© Zª Å,ƒoõ–0-sò@—Ám%Æà>éµSÐͦfôL0ª¸–ãà±%ìCõ¼õðG> ¨%W­;[PÓå ß,µGqÔ‚–a•CÝX¬ç ½l ¼(]Ï&AV°¬š%ŸI¯›¯]l6Ý*ÍË @Ë4‡'cB$/Ïl>¹pÐ[àmUÏ:}Aú¼1ÚPtç;APf;_⺌í¤u¼À¤X~v«dÅ0A¬q±tfý­a»°s¥=Ô³Q¤‰#³*†z`8ÌÏÁBþ#·ä)Þ0ØdÀ‰¤¥—éÊÿ%œÖIëú¡ ¦+§Ó¿6rPuÜ ãfý2ØäžpÙ]9þ™C`Šl‘Ü\¸su1/ ¦šÝèРÎË‹™S áŠÖo¹ô·còæÌ6{= ½=W÷Ìà[öóçÄ3D#í•Ì›EqÔ í ýP`íöÑÌS‹îOÑÛúq8¾ÆbdÚ|>hH˜gìˆÝu;PPÀŠDžXƒÜÀe DB¨| ¤W)VAh²¦”š~æ·)¢‚)î»Éá5“vÈŸ#b÷ïtŠÀjW¼/#ø@8ÅÒüòˆúÀÛ†Ö4Þßî–šÝ*ä3ñ0P1ööŠ—%àJ[dw•Åõþ¬è¦ˆ¢R'‘éxïíe4 õ—¨‰YÖ\hT븻ÿV“nA°’:œE»À›~ò®PDäY¨ {>ÛÇî©Ma=îòk©™‡È;}QÉA¤‘}‘ÑÌÑE—–•·tkÐ4T•ìzz¢þ|mðÀ¸5çŽõ'1×÷îîïpÖÈ¥¥€Š.bÌÿíÏïÝn{Òÿ°¹LŠ0µ¯[Kœk§öìœÛjýwS*#ÚµêÁÍáõý@ê’¿|©0üyÒÕµtêãê,ˆz*¸"r:"&ò\Ö™Á® à/>ÔÉ¡œH:"Ë~ðÙËj5TB›q@:>#X$jn¤û×ãÃld—½¹\Ù¨;®ñ‰‘`+\\¢¥Aÿ£ÊJv½pâÝ·¡ q†ZMëõ$-RJQ˰#Q›S“ú¨…¨ª 81L=õ½¦âŸp÷ÿç¬!NŠ4¹´yìǘKQt]¦^u±ì ÀÔ ÿ©´+øuйG€4ÙŒ€Ô´o]Îí$`—~` ýuMTŸ¢ml§ª/ 2Ÿ5w™;NÉgDýÍ{+¥8ÃQõqp Ћ†9©çÃð ãÝöÉézþ;²Ðg4XlɳÀÌ5ÚŸkôqI\Ù{âNZK^ßÍlæm ñ,ŽfЯldX­X0BÉÇrH±ãÎü=n=­H ‹%<©,pq9ÿ¦Tuîö4uÿƒ&¤xö.,<àÄ^?OAÓ6íô^ïS¶óqÇ0‚^xØ»HÊ"ã=Tz6ë…†¾h¾ä¯RMý¹o"‘6j³{½Ò¨ßT9GëÏúcÄÌËü^öƒpþ°Äp*Ðp»ãcÚx¼%Ÿæ"VuFÑ+Æ©òònE±3‰Ýâ@Ã,DrÝ/º`¶*ЃÔýꥰw7ZÖmuªÁãúYz§Y w2x4«_g7?Çüî032ÞlO;zeIÍQª`}Ê84Ä™Í{E$_ퟸé€ãðl2 !ŽÔÃûá$ŽŒQ¦$·I³#{©î!Õ:ãv|ñÜwP×ÍŒÎy¨²œtfÊò˸rgdµh9kÁ£ŠÚ‚m¨"CñÇÚ+>å³IýƯ±Co²[¦R€vˆ\±+ Ev‘P7ŒO†Å#Âu¤«m^Àum¤n’Î…O¥èQŽvÛPxCP‘IPæYSà"®ã¶>øö4•;¶«û0¦'Gªzä–¼ DpôBƒG"_w22…)‡lféÏRôÞœ€Ë&I¸¨5äé„kJ³êD‹ª0cèj­Ìy»:#tŒü÷ AÁuI…n뚎kj²Æª(Ä_!|9¿:dV6JË H{:_ÍÒ°ÑDV\~mú›þÅhý _&ˆ@ò£;g¬˜ùå$PÐÝoXØ—¼‰MoÕ{Ý^ñ“ü84è8¬pHÝÝH~l½paž„ôùBûLøï«3˺]p}ïˆyÉ€ž2ÿ«-UžÌuR•÷m’¤òPòm“Ú¸kH-V6ì8ʪ8irò æm$áòô—¬Ÿ‹ªµ@âü–H¥¿Ò÷ƒq ü ˆÐZç—NfÀ\~ÁÛT7+¥3øJªч®ãæurºóW›*9ûH.6 Z¥lx1H”¡ÀstVä½³4WYN ß–#6§ M M”@õç-í±ÂºcäF†¯³-Î;ÇŸFi–0üÉíYN[4d¤ØW®’`¤§`1ûZÓ¤ƒ›]h&á”@f¥;€?¸X‡p3ˆY xÌÑ‚G”‡`‹¬òubÞÖ7£ W÷ÖƒÔT0›˜è¦BÜLÎ …ð 2|Zh ;(vþßz°Ëxüh¾~%Ë>b8ªØ ^;3LÅ—æ›U?´c2œæÀ=ìþ ¯?Qÿ î9hÍìàºaé…ì™i.da¥T\õ”‰æ{º:'mÚ,t‡k:ÑØ]ž>¤h‹3Ý<N²0v ˆ€zë†ÊT™¯]æh~·+ŒƒƒûºŸw\ÈÄŒktû¢»ÀŠÙèØE=ÓîScQrfH].4’ò¿êC¯c -aÍOgE(Z±.þµœx,àá" ù¿ËO˜Ô «QÀ#”ÇLÐçUíQ'(­éåÕ~{:¯Lë pâýÔhB8\@>ox£g5TX öî6ÍÃúÕݬ‡¦Éý1’e÷"†’ûü• éºÈ»ËÞ&*Ê0R,5n-»8øÀKâ,Û71s@TŽqĦº>C²Êw–zxðÊXÏ .Nš|sÊ/££ƒæú VfaÙZYœŠûôð¨ýúMmÑ`?9%”ê™óü´›«¦CSG]V~j(rÖ >k\]˜[¹(Á<®ð§çe=Íã R!ƒ¶U[è£<ì^…ˆqUWxî±x§¨*SÑpÅN ÇTdzۜʊhè6@¿M¾¨…Çv–ðE[å'(ŽX¡SªñX6OGfßý‘÷osh_ž!)“.ϵEæd\Íx u¤Œ·9ãoŽ`Þ’÷K/AŽœ¡WÜ>47µ ëNÞߜÞÛ Îÿ±œµµX±‰¸‚on!ãDÿvïÆ‘ó'eß+j™KŒinQžàD¨Þj¹è¼èMC‘ê¶ÉÂá¢)AãÐyì”Il ÷óâ—ã7AßôO÷Õì°k˜^÷ÞÔ ,<1:æT/†2€dÃ|k.·ñF—nc/Gm(¦x!+>Ë:üzë‘H(Ùôš©Xø½«Ž•ööª;?ÒWqªÜ&À›®3Ëë Õì€Tât)ÆeiA²çyç}ÓÓR~Bï;°kÊŽ%£¼:“0Šw»ød«ÊßÕô¡QÅ1ª°ãU`×[@2Ö„kÓq ƒ?céäßÿö½áÑhÝaÖP,ö!Äe¯Yb„•OÄ[ØQ‚pnâ(¼>Žuª¬’“zÕ»ƒÞrð\Žûù‹ªöÜb·«b8†³ôJùq0Z/„ ÌÕI*sÖtõý¤÷KÈó%]Í÷ކLc¹ªw1lPÑ<^ D®~R†¡Õ½ú08ý'ß99r8ú~`›Ï»¥j@pÚXÅÒqÊë‹ püPP3¶Ì5ÁfÆ+—a˜nk5_€S‹Ã”ÚOû†lÏÁj¿r­JÒ[Y¶Ðg$ÅÎh™êôZ.™Ã+¶ðñÇ·6†§¨ešbO8‡¥—*´ˆ~^ÏmVvÙñŸ¶­œ¬ FDßd'6ï6B3ªÇ¯ø–:ö³=Ó$sM5iÕ…ˆ‰MŒy*Ì-~vdýß±½VºiÿNLî†Ã`yòèºÁ¦¼±y:f Ü0?´¶²+¢0|¬ÈýŽ“ù}p+çΞQZ;†9¯<7©;­²xEÂ…4P†È/†R¥81IàÓtèÅ‚%L¡ &§Ö$»7åhÌ­}> ³¯zY«½çâ¬EcÒŸDÙŒÆhO÷î}’v4ÖÆ/4±+™ö¨íž:qùu@p*ï´A÷BaeÊK=büy²Ø¹ðF‰œXž¡f}òo½·/ßkmH—ÑA.ƒEô‹¿Ó#v b·§{¾XâïWÂe‡Iãô@,?(ëÅ58@¼¥#ŸEtKK•øÖȇР£ŒðmsvÂÉkyhkcùësû‡ñÿqن̕‡5]ÖSõ$ÀŽý{z)¾!½iݳFX@u!;öãs£ ø,ÚQÌ.·J4eíÐÞ×#üöuï@I R¤$Œÿ^Euæþ)·¥söŸä3ðL!`Âù4.Ñ\à„è¾sQ™ˆ¬B¤vHËâHE?_ÅA àÓæ='9}CÍN„­¬hEʤCãÛ¬)ô§C²ŽÎ5¤wÞ;MˆæuCqMÜÕ¿Ï%èCDä÷1ª ¾ä°Zð¢‹`HŸœÍm{q(åd(Ú(î–-Ë ¬wöû¶‹ý¹å £„]Ò‹<µÜä/D>~s„Ñ4ŸÇ¬VÉŸÔœržÜP‡«yÉà“îV|òA¿K7øÛ´ä®}ÜŸÒuj·Òwó<òÌÕ¿QÍ~J‘)¶›½}@¾wí½Þ0³ó¢Å8ïàC*]q‹F× Wé÷¦IüŠÙ;}Þq¶º å˜í0¥b„±7}”ãs¶°×lðFÁZeÙªiMÄíÈŒ»’j5â|àê@Üö¸,Q—šº>±øN©ÌÃ4”-"??%IÛ´RÒ7L©ƒ$SˆôŠªŠþ’”À[' i&( ŽJ…&å`>ôoöQÖLJ6W¤ýœM IÅÅ S œ,€'Ñu†66Êûí¤X)YM.‡B‡£f"ŠZõw¯žà¼´Å]¶£@Ãn Šœ·M‹´þ„d¨ ÙŠ­ë%þÆcp¹]•Æk§f/ñ1vçHR>‘$Ïöjëðä¼3I<;dx0%ð¹þ8Ê6_ Êô/vTr/92(Z­EK„ŠX1áù6ã…×ò €)f”3¸hH}%Áxy4S„@ 9 ¥ùAåÞð >ñ’·¾ÌCþ™[áäy¶2“í]ò„£ 7ú™Ïª/T@OÿèÁ ÜLyxD éxúr Ƴ ÓuåÑ)+£Ü©gS$$ñaZ8ed¤ÜÀ×TvOå,n€ƒË×eêÚÞAÇËŸØè¶ Þ*ÿÛœ…sb)mø*qȰÜ{om_¾¨±ajo⛳„$úF±¤qŠÐd+ƒí?CÈ‘®¸ìâï›-$Qð…W.*Ä›üñáaõJÞ„];of2 °k¾Œ;º‡Þ$J?Œ•a}>Àn5>å'ÉÙ¦Vµ\õvQn¥†BHådÀñ¼ý í'NÔÌM"¦¯qå1Fû\m€ÿke¹ìÑÒK~v_ºBÕø|©xx1Ò¢T|†i–yœ}e•RJDtQÀJ~¡šFˆ»Òò\áJ½Å*;%é€ß»£lg?vŸe1]‡¦µß‰ÜZrÿŠÊ°Ðm{ûQýñÿ–<Ç;~Ë&\2î(î÷VHF Ú«@Rm•!< ƒ²½dÍ €Ö ãS Íÿ ƒV(c(#é{Ä¿&ÙðÁQ)+‡aLs´?ÌÏ€ž~pÕ1˜Z¸ƒ`üdËë̹4 ŠQ¢•y ۉ˜-rÀx!-ÃF¶"";ÍI´[v™€fV–T®„Jq«)´Zõhþ[á!‰GÐù…­dïhð¦e&x"ŽfÝcým0tNÁ€‰Nìþ~Ä|¦“Lî vsð2I¢¨JÍœJVó57PŸeå_)šaA­‹°ý9²¦±0cÞUH+¦=‹wO]ëΛ¢ÚÕ„ÎBìž«î»Õ\ä(@׊²– +JHð¥ô#²°0|zw­ç%f¯ˆÃèýKÁöÆýéê½ÆžØ@󀩤Lÿ¹ûö¼ù}¯Ñ"Æ®‰BϯJ'>FÎÑée?»~TÚ{Üol«Ó¨ÙÃð†º˜»šÜ ™Ù¬§ê¤UžÑ,«vI©J˜kFs”tü‹òɵ6ã/õÒ¦j¾8¨¡@ÈÔLMêÚF§%b¨ÓÄ”Ý'}úfF½[’.p“çö'€£a×7£§6àvÜ8ô´Œ]HTÝÒÓq ­jœ 0.FÅ CN zmZ,¢Õø\Û`|a'76‰óê eßù e’u‹ó%-/#±ùÏMn_Ù?ݺ³œ{º`/˜æLÚßÉs_æÜÏÞ8>Ø/ž&›¦"}3_Ù9Û+?>žo›«¢`OiôôrÍ·Æ&ó ,QµEZ‹»;Té+€4ƒ1Ê'¡¼]®ˆYÚ/rÌ«™Â‡ NoƆQÚ5@šdSÝËU°$[RÞN˜L³˜~÷í\ä/9YaÏTlô„7½\¹çJ¿çK°¯V,7U›["ñjòÝÕ‡É5“êìDí¾œ½,1Çq‡f1`v|pl#/ o‡2X[¬Í&ÔEëÇ‹˜O˜>ÒBøìrªP¬pw?(½‘ ûSÖÜ[‡°³n?ßà¦0nc.ø>SÙF6åá#‚‹àh(BÜ[µú®Ô2"àB‡¼ôý/N?-Í ÊÞ1mq²˜ˆaψhlo Áã픯`¿<þñ@™«ø…ÃÖŒ‘pèN'Åù ¥¼™©‘Ääö‡ ·°t‘÷Ä€L œ=ŽäÈ~!?Œw™®pb(Ú§™Uç_´/~vÆG‹<tâ<ìLªPá åWq]È¿†¢÷5¼O(n‰¾Èr#%G™7¡óJÅ c¦?+ݗκXl«8² ~7éá+H‡¹Ä %^î.¬!¬‡„Ÿî11&yŽõgØGë¨Ñévý ~h+Âo¤DɆו IÎCiïɲB ý𠏣äüƒ=‹Ò²Ïz»ÍÒÝlÓ3•+ðj¤‡iTô's‡,Þ½Ó(ôÊ›b_² ôÃRÅ²Û Ñœºþ/³.o7Ú¹_õ˜ÙORÿŠèî;²j¹+;Ûô9/-Iç¶"ÆF¢I;u#&\m{Õá0§^÷AìÚVzÈ0”•{k…¥Vi·ÒCÅ|2Ò¼vSœ¾GÒ*1GB­‚ÈZRÂ(W³ëß,I41Ʀ7'àx•ÕdæMkÎo£î½J³‚_VŒëS)ÜSt\RùùUÄ>fõûÝòuèAûÛš¥ÿ4æj#iH%M3Ù‘ÑR´Iß ˜öfU• RÉÙ ”ì°Àöû}ÃüKïƒèùújIjÛêÑ/®Îë\ïÕîÊ4†*/—8cW·‹:°·Œ¡n>‘P®Ù°·ª²ãf^$¶@[Ö$q-ñÁA°ŸuÍ!XYÌ_»_ôûøCã)pîUêù+LvÅõ+;äPkPò£ðÿ—Qÿ…Çêò[w­+mÑ/b‡ŽýŸ4'.—¶ñµNzRÕq­Ž ¿¾@÷â´þØWŒ®æÿoGa~$§·ZJK…a;ÁÉþXpvÁÿ}®{Jw=×õÑWý"¼;æ×®I´Èâ9™±" Jz×=±h·bp•@ݽÃ0BŠ™þ‹L`ÝP’I) §¥¹xàÐðp´éí]qýúPª\Ù6¯’2ÈvÜ8½ÚçÚïQÌ=ÏÁ@_xÌÛJ}Ýþ´¬×8ñg EŸ7T¤««»81e1?]èˆ3‰>WkYE\¨ûîqb7¢Ò¿¤ÅHvÎ{¥e=®D)‘wï„K²¹’fÄÀÌÂÖïxžÔÎJ·æ0^á¾ÿÚO¹Ê”¡*ÜýZ¨Ý_‡R„*(çÍY ØŒ­nœŸ!ñÌ¥ìöÚ¨”éƒ$y(ILœ&áüŠàMÛJß¹õ—•H– bûÕúM§lÙƒÊèÉÜØL&j9ÉOqP1û׌ÁçX†Ü ¤v”ÓÌ8LJº¢(Ù(™Ÿ¾Éž›SL·@l{A"Á*Ì]Þ|Z×°ár_ê÷ËJç°Û}±¸Af(¤“ö_KËz9hô÷I¶‚ߎ}ä#n3\€'$eAÈØ`V‘'o+Ïîv» à±7Ô{AÉã-"¤m×ðUe‘öp“5ˆ±gCG·²P+Û"'0°¡/i †0J²ÝOÏ<ªT¬mÞw^…NjψN0§F×ð`ì› \{ ´yÜ}µbœ¶G“aú;ö(; ¨QTyÁy;OCúŠ\%{ü“¿kf,>ë&mOqóóŒo”ðW]š9hIÌÕMœÃR6QW?r€räçuÖB¡òwY×|ØËÍ:íEé Q»õ©âA,טc¹ŸJbò÷؃S/]N›}3¨~é£|ÍÕs+Bªl˜©ÈÄNÃ,Ž 8n¸•¬jš‰í*‹*Î2Фâ˜P´)s+ÞÌèùÓ/^0ñ3'ƒ $õ)ô¬ Î&Œ‰”ü*h¯¤-„c£¯e+Ã2a)O˜‹öŸøÉ¸RÓdÞ€eH—î™K‡¾Á®©g¬8pUâsÝì&êÛ+Qök±/ñ:¼-UàïFjRnÔJ–D5)m7.òQ|ü×'¾ìvÿXl¤ñkè: ¡£rÿÆ{ù0†¬pF ”q‡[nºøÒއIÉÂ;Û÷AY½ôW“2ëa('›ávžõºÏ !ÍÅŒ+JHÐÜEŽàj×Ô:¾z EJùNå=$X™Xâ'wk‘Ÿ!ÚÍ!¿DH_.ørj2G´uN¢—£iRàÚ¢ VéòÞ‹zôåkîô&å«W¤aBb×]YáÃFZ”¿Ä¾1`^‘0v]ôðÊÃÿ80G!9põù¹c"hi7¸I¨ÿÝõÓ¾k"ÅW(büðZK˜¹b½ÿ¯¥´ê{Ñ çÖà æ,©§Ž:T¾ÞsAiýÖ2¸³Äó>mû¨Ž”°°‘Õë÷ •~9¦W­v‘Õ"2êP³ô{2°ðE;¬ÿ7µ¾3…ÂZ—ÂYÛ3 œ–3NÀ‘bYº9 ‰¾Í² GlR±/t üA Ì-àâÚßÑÂIÌ+åqÊÏ]ìùAôYÞS{|Fv£®¸ÚÄ!ÕAdo'… c%—ÜyÝèQ\ʾæºõW6æØC;€ÌÛ^ØsVe9­ô”«és4¡œûà`˜ÛÑ€©¹®KVéó$r>ž²ßÝ+±ì>Y’а U ëd¦å»Å•B|š‚ýÞÚµð gþ'Ó©l‰aMâ3ò°£%Ì>8,ÃÿÚ©ïQµDŸÒs¬ŽKŠš3•'RÂ¥ CPüÞfú9²2O8ØÌÊ|ÎjÎuf]ÉUax¢æ Ý‹i 6¾¬ÑhÄV7–ǂך[ÃCíqàðí|é¦JÞOM"”÷ ^Öê*µb¤QÙµ¿Åâ?/ZéØnÁ÷uÈûyK È6súØDÃN>o÷v/ùù–ή,”Zià¹ÔP)ùý˜ÂËí9Èôt[òßx¸‘ä·ã%VtüIJû”N¦<Ø‹^G!>¸¸[GXÔ߯PNÄΤ`yçcÌ2ê@nmžôÕR|½à¬tò½´?òÞAAÍHôãΞ }¶ðû~P­ž·²­n±©ž~8Vn$9fóõï5„öOpîÕ¯±ã×Wæa +|F3t²Õö²8pne‡w+µÇ‘ïÔ¢$X?6q/['$â*òM¥»U¤V¢2çt£è——{yâ‡E¾ÅWå$;ΊJ4—çÓ8‚ðňý¿6ziB²é’¬£b@oÇM[Ã:SÔ>´»Á‘[Ùûq±õþ@èè|¸1M–ÄÄÙŠ­¤ÄÖCiae³"7Þ¤¸ÔûN!æ’aÀWÏZ2ÑõÄåfFB>NH^Qák¤ÓÚ4E•9Øî<Ú¦÷Û0CÅ 5%8ý®vg[Á"¼ÄËRäó·o$,E®Ü£×G¾¤f—?õzð$7n6@êþ¤ÃjÜ¢¾5+²š"uWFe`dÜÉiQ#~¹ÜÊ=ä³nán‡ù†¿N)T¢N¿z“—]5êäÑž–ÏÇê+íoÀÒif°~¦ _ìß°LήóõßÜug¡óÃÂĹ ¸WnK6&ë’HjÖA¤¦Àù[LÇpmE¼¢ÑDV(V’‘h¢°†0þ%Þ ±nl’‡ ö+¿Îžt(ŸÚ£ú óah&‘æáÌ6R…¡Üþ_™ÂL)aySHûÄ*Ê¥ ¹ðœ½Wl»{{Þ´)[*â^İd´D÷T•ÎJ Ë̪!¦.tö}<¯7 7±…×]Eìd¹(üÔ·Öá•%¸Ž#C&H,´­|5ƒÈ³¦#˜ÔTlL²/Á®X½ë·AB•erˆ¨sÒ×WÌZ¾'1H¥EH¬©ü„É|´Í]ô:T:ˆ4``Ž“.&LÙ;{Þ1ž@üõ|¥©*GòŽò³Ï’ÈžÈ^ hb0uÀ¥¾‡ûÃP‰5ðÙ);Í2ƒ2¨|,5¸L ÔZú­†C®÷>·È '5¯LqñQäq¤þì¼h¡c°øs\¸z¨Ç£{´ž†’'Ä©@Ù¥³:ï^(êN{d–浤§tU à† 3ç€ËR²Ó KX9[âÃE†h7¸QÚŽ›ý¸2díàulÂÉû•½ÓíUá)(¬†B²È$ásw\»  Í›Í=ߦ,úݺ+즪ØÄ˜ σ!¼•`Χ¸4ÎÇ—=¦‹vlÄ4zΪµŒqS$uIPO·Sn½¹Ä¢®M…±p|U3vm=‘êSÃlT²“Û&Þ¼Pu›oõÒ)&7öƒ«CTÜbe†Q <Î¥…Nõ*Ûáë©WßoW‡÷߸ÓîŸì3×Ò6G¡õø¨4ÊÍц]„¿¸Ûyö‘ où~êÊÿ±Ñ=zó¬µÐà3xE@Ža-›Ìµ£RêN §€Œ#fneÅ€óÒ÷R¹¯s`ˆ@P ÷#n䉔¿¦…Ymñ?[à‘Ïd°t õL’n¥%'‡ ƒ¬ãßÓ†4úS‰=þTjÝQþR=ÉלÆFS©üèüÖÌŠžü…UmK&XЄý™öÄÚ8aUcú¸»3\Êò€TXæ»Qäh{‹F÷­ríñ¤Ï|…d°;GDVÙºûCBoBÇ¡;èrGð2æ[—xsV+î ð.“À| n4¸ò¢öÞZa`/¶Ç\òF)9' `€M|#úðà" “ïZĪȜcß°ï¦üô ƒ—7DSÖ£Èü°áÄËk7×l¿LÈÓ¥ÃIÚŽTL øÝŠsׄ!uIðØ»Óu[#zÃ׈rz †Ô˜Z·¯VŽkða°³™\Ö²ù“À²7ÍhACŽyÂÇÅ`‡\¥gS + úU%CÝ>)ª2ðP!‹{ ¦fⲕÍiMPØÀ„ e}7*H…žˆ8¯ ;nUVÔË+ñH}Ê€äI„cŸ;l»Ÿ*¨³“µÚNüùdçÏ)Héöví“"»Åž"ý!æ=EÆÅUŸ¿…Øl³JêoòA¯‰Îvàz-11^òڈ˽K•ôГ±&®¤¸HäKư%s åð}oññ£5ÿ¤9Óˆ¡PšÑÊÛ8Xø!^9”‡U8Y^~l(>-6Ï©ôÛY–Íi8Å@o'ùÆôà ¦qÌžfÃ-¥*˜CÖ°| éöN‹¤Ã«uðk†D2ŽW–ÙmüÂKÀ±%…¯&˜ág$üÓï˜c»cÕ±Ÿ6õÞ[Kvñˆn‚Hîß^1Ô‚ Ra¼=¦Äem! …>²Øk³ßÇäJ‹Žî¡¬A}$™«Ó´x%À¸è‰æñ6Rã$ב‹4s#`Ö Ò? ºò;>•j:QÁg††ûA2ŽåŠñ¢kÚrF]Ï8û#Á“¯볋O/Ž ÃsÐP‚ÝÂ^æe”¤ìè·鄜QÚ‘•@@éYÈÜ» >s­­.“¢ºs×ePhº³ížÀV ›ý»a÷wœé§MH¡Ñ7í¨UÌ:œ—àL»Û‡áqs9 ¾™ç {¹œ¨tF;•£ˆhfŠ•,BK„|Ä|n—º›¬ÛÞ—ó²! ßÄô¨ÅN>@ˆÚ!dK8e§rÜ– ĵiÁÇñ^Ûî$".QÂN¿ªñï?Ê?ˆTÛ¼»ãŠÿ/NÀ&j-’X8IRg&âÕ‚C“t9v[õëK]>Å|&ÕRË/J¼ÉaÒ£8q­˜ì…›B¥zÜV$ºè¬k`ýòÊŽ@hù¾ÁŠrrIá88¬@»fc#R·xóg®yäe¡Ôzx¶|_ß/à Hîbo:jwR‘Á…¯(ƒ&Fy0ä”’Àó!F…†˜*‡óo©LÀ@+H¡Jü‹QÚdÕ‡-¦±°Ö6#%_è”)3<Y3Õoúe™¼dHÌïì RLRs7^€—¯pfå v1úç×îºD2Ruô€â×"óýÅÿx Ï’Cù'ð7+)8ša"ûy¬Áä½*UNâäïÔn”r!u0Ú<ó(Á7ç !=P^Ì…øîº½¦´kåZ+Œì>o7T1P¥Ít-áãÅß¶¬€×Û<@¶§“Æç åÏi! §WkÌñø–[A{\ñÛbÕ¶oÉjVD€>¥ÑÔ¸8Yïüy£xº¢¸M†¹b!bÃŒÍÓÇîŠ=SlêϤ A”Èóü°o(”“j»2£Yè陞Åÿu÷¯üÒ×Ú¹œ·´Q‹ œÒ˜²SmÿœÖËT½E9lS9 š$¥ÕêœDWÒ<½;ïL]:zÜ뢜ªKI í ÏRU¹:äüå Un‹”OqÄå¼7Iœ˜¥ÄB0H]ÂÝ…_lÞko«Üt8Å¿ÆØ^4oH˜ÒúFÌñN踳 éç0ÚÃIÐZ€nÍ55Ñ.òˈc3ß9í›TØfñ çTdwW¤¡Ëógˆ_¯"L¤<=&˜h$ô+å½|`½-1š—†ŸÎPù dqÅ‘G º1ÌÌ–]OVŽ7¥“RáÝ›¤âj$$UcRóè°…hYúéðµÃ/òXªé¨³unÙú„Á/ók5´èî>ŠÇ%«Wü\D¨Î’î=“?KDÊß µ‰z¸Ge#mQÜúôTÏËVøÌãX†-r8LÆÒyï® ò½»Ú_‡Ohê•=z#{4²†±,MOyQúi¦5Z/Òö™„™mÂ.Еö¤Qýf–1‡¶ZrVÐx+ ½7iž˜*§ôF[ ï«k•¾ëPæ˜Ô°˜¾LúžwÈ‹zx!E «ât¿Ä `ø®ÿDøj9†f™6ï†dßÝg$Àr 0ÐM»·óÐ7,Eš²%)hþ 6Žï ‘ wlTܤ¥4ã¶)w¡š7,|•¶­àcZ¯Øµvî×*a”nƒV g4Ží2…&‹d¢™ôpmé¹c_U§%HÑ©­!1Ì<*Iy%Èïƒ%vŠ˜n1¦¢{ÀÿƒÛêh“bÌú1—sÇ ºR˜ìdxlºÃb´¯ö<ŠÉŸ½{Fa“v4ùyø…D˜ÇÅ…˜ï•hÔ3|Ö‘ä \AWSeµi8ËkéÆ]c›].¥é‹ô¥ûK-·P*KèAçNpVK¢/¹T¶¯¸2FÀÿ>‰ ‘€Ñ«]´â÷ö`Ú+4‰怒¨ç&õè ’U²é]YŽ ¿ë„qêòÁ„ãÌP`-”ÈM鿯b•“,ºx^ÈãÚˆ0³O´­%o¡fG8ñÊÓsT9†è0Úetä¼ɯ¸v‰2,$âÐJ:„cßi Ý¥CyX¦æEZì–÷64Œµ÷Òzl‰,õÒDݶ«|[ílf¾³7ÎÆ•O±R‰¤(À0ÛmÛ8J“#Ÿ21>¢eÆÇ\ÍxeÞÈߌõꋊÎCÑBû°Áù£«Ò¥Xר¿¶3!cË£®§›1‚–þV7ªÇP“zYïª$fêÐ$‹øfµ(4:…ÿÉyVýŒ«E<›…•8½ôVMkc||ë· çÚ*Nçn%¼jýe2\¼“%ü±çAuÞ†q'®ù—+ôu¦Ž‰¨€‘^Q<RÁÚ¸[²O‡p¬ë A¹øEê‚§É5³¤Í„ S]Æ éßš_™ ¼u sŒƒ°ZÆàŽ9m Aj:¶y|F7 T|„)gÈ‹\Ì<æ 8`‹£r'z™ÓÙ5Ìwùì%ˆM^ “ÁÄ`ð¥DÉþ“¤Z;ÞÒªæ8Ó(‘,ÀÖ¾-¯°2¢õ[3È—¹vQn`®Ã¤J¨7ZÝ"ÕXV?'^¢l²’šÄ~Ký ‡_ÈSë†\ °}Ôr`QÛOµù¤f*"±&57æ·G©-ýÑ9ìlK=Cb<ï.s6MÂYƸsÍ4"â´*÷ñ”ÙxÈ@ò£ûÉÑæùÓ}j¦o@‚ÃrÛÚ¤ vêåW­ÏçKe÷$¯Õ—¥Oâ4ªFù,qUÔ7{–Ã6ûÆtôã/4u]8s-Cà›{ö/½˜w<]ÞÒÆZÕù£4bÉ¥î¤çR¸E—è·,}ûo}¬Ò’RÏ.nýœÝw'«>è®^2—Õ§º¥‹Æ˜W )`Õ×e[’ÿ¢Â õâ üUÄÈ6/B#­bëüm ”_W(ÐPƒPE–|)£ïG‡%î¡’€çÊ-=A…©ÿf`¸Ÿ¾ûa¾ù¸…‘ °VõÎD›ü]Pï¼­ÎM$—:ÓË>Âqøáø„ß¿Úõ”ÄBă;œ!ä·öÝ!3åâ‘ÍŠæ’õ¸óM$“t%¥r<`W v;DmÐsDf'FÖàá…o\ëÞ ]¾† Xœ2u¸qMÚYÁÎ?^Ûåì%„¿þÓÔ8‹ãÛ¶˜aç}Â4xXˆíGÝb ég):’nÑQYµ²VC\ØŽžˆm— t xƒÙÏѰÞì$’ õ",—¢iWgĆ€&ͨa xPƒÛâ œ£"ÎY"«f<¥Ø¥±aÜ¿aL[»`W2æfÖâ¤TÁ–‚‡#«&מŸ?)*WR¼;å·ZŠn…ž“ÛÂxãÝÇw£–øòÔ‘2Oywåo†ìÀé‚x[S $vºx9l·Ý|ŽÌJæý—*°M2;o¯Š?‰|KÖê»öDi—Z³Ü€ýÖfŠÛ æ ×¶þ¡5¸Äjþlt(¼¯i§–A9©]Âr1wfìePÑã=PøŸí£³ãPV¡öo}r”cŠßã©OÌZ„nÁ¡!{¯ëÅ÷»¶Rð‹n‚Ÿ jbÒ÷¯Ö:.'Dó<†D¾Üß¶@A”ÙŒì…òµ"Ü´Âr9z€ÑGœQo¼åtk_Õ´„bsÕãndðEbÖ´æb@ÕˆH»Yü4$œÞ6YŽÚ•Ī;¼Ü-rœ®g¼£l Y„nÓÝë ±L¦ûô:—.Y,`ùQäáª12)jf,oÍÐ4)"Õ_‹ÓH‹;Z­Œ!Å‹æ& ¯¥4(Àq–ý0 ÊijU/¸ïž#É€…jÙh[[Mä pR”6}{#Zž„ABECdÊ„jù*˜¶Õ+Ý[Nß(t&lÏ( »?í“Ñ”¯›Šç4ë´t“Ðåqæï¸Rq¾«ùS3–~Þ5F¬CÑÍÇ­éØówËssVâÑçÈÀYÕºé§.Á ºõãf^@_b(­érÃuf Y=::°Õç*W~”‘]ù½.;Ž1£–yŠY5s^do=¾.çòMà÷× ÅÝ ê!Ôx¹¯A/ç0:ÛûV4Ce¼ 1O-ºÙ‘ù¢’íh©»%Íäò ƒµœåºx g3Ãè˜ÂÄ,¼¦×†8Õ¾>εý !T¸¡ˆ >$”ß2ÁÌ~Ò+:®ñ y8`Œ”К¸Ép§CR33…#Ý1;T}n?ÁÀØÑëtÿYŠv²´µ=ÛÒ?Yé%”àmè„k»übl••DƒfÑIìþmƒ4EíЦ,GßÓª7þ‹iÜQΖZž]œ¦&!oÂ)îÒ•ˆ@Î(ÿÖœî‹TŒ¼!Ø"­e¶4÷²k¥‰‘^dy¬ÏNvÇ­±Ü„ } §5ú€Çˆ¸‘§ l=®ýBðûlª¯\iãÙçØGD>ß–÷öãös® ¬.K vGwm™àÊÌýÚÈM]÷¶:3óJdÍŠ›¡¬>:´è1Î|"w>EúþÏøUŸb³C©¼’)vú 0v-_\ù÷Þš.+Z6ÐBGZMVmÞ^ÁNAyÓwõñ­{´H¯e´?½Ñÿ=± Úš;¢y˜‰Ž .ÿŒ!øEíä:Š‘Es¾‰$ºŒ“›(¡¤ÙÂW´óL>”uíüƲŒµnÇ[qÉHó.vfë­5D‚ VfwD¹—ô†Q÷5Í!?¾ˆ Ã{\1àO’†üˆµtå–£E˜˜TØ|w›¡ìØ ü"CM\ Žr1ÚÐ"mÓ2,PZ'ë/*^ð‹èxì!Íî Í6mÀbÝ&úH‰¡ n¿»ÔØÈ†¨½¢i¾°ëÁŠ_£!œØ ¹^wˆšÄ4¼r«ù]ÏØD¾¦kXa¶“p¹òóÎZA– 1…_ÌƆ¿lX#ß2²Û’šX\ÞCŽ6»'|égÎ.nˆ‘ÖüÜ®H6›Ë„ “¶szÄk%} «[eÙ´–¦¥Ÿ†ýXø8nÇ¿¡%G@cì‚›xÙE,(H Yîêã’øppYEââ\g8¿^Æ.ùÎáùù#»”€Ï¶nèÖ³™•¹o³‚4V•óôMô¤U°qœ[uÊ›¦ÑÛ¸!äNmB¼GÈì€ûZÆv q=ÝEèÒ…)õBíŒH™ô‹Ï$f)Ï.1àóeQ$›Ìˆ Sr¿O „¯FËJ9X½)ïèÑ“:оB*a¤Jå«h¶a` mOóJ›êu5 —‚›f­üñ|`„uñl_°ž 6Ö>zB¬ÕêöIŠ7®ÐªÇ†æHGp…RQº&f*Ÿ¨ÿæ)úÞ!œ¸ÎšÛÓVzŽ«{LíÜù¦—iÀzê­­аX …3×¥=OˆeÊdÚ…ÙM‹;øÐHËm¼°¦xU¸úÎ €5 ù¤J$T,È“-_åŠ.ô°-ýÉ’¬VÜÚßX¡ †JÌ]³Ã.ÏÇy81’AòʱmëÔˆi¨9GñÊìÃeýÎ5q¦m=Hn ‰S~:- àƒÆ²¾`paÅ­mP)PçݹÕ}a‡~mAh_•°15yð©Cú7´ËòÙG„!èF@Êm&ö rj¨ñ^×G<&Rc¼ŸÚW —‰úXhüo™¢4q9º–ߥXÚlê/h‹Q¼AîU`Ѩ¶Im²‘— ÆKÆ,µ]¯H#ž¤K Ñ…‡»%È™¼¨+Æè½^°Wl¸ ±çnl½qÂ+Oà1ÃC¤÷ÆvêsJÙMDú{ÜáŸNR³á .äñäE©^*p˜©ç¥ùêú´l’^UûYë5~³¬èû4òèDûƒ–¾Ò8º0Hn²g£«o$},~^å•­A®­û=K´ÁØô'÷Kwä¡0²äþŸ@½ ”x@[ú#¦9êŽæ´°acZÂá³£j¥•àoQabI|†pÝ"P-1¡L³é0µ`6ž‡Þ1Á¿‰¿_ÁNÌ̤èIÎù= ê÷¼ojƒÇÍ’i&ì¿8Òi‘¶ëÊ7QPmà—Q­©(ÇW2ôŽOZÞ%Ö:ü ¥Jî”|…õÏžÜ%ÀQ\«¦´ÞUñ`YY¹“6¢ÝAzÍ÷×\iôº§¤îˆ–#7ô°Ùö9+XØ;?ê"m‹7gž N@dwd7PÄ£/ Soä‰A¨ÌMíŒÎ×ôU„«Ü¦6Óâªîwš¦à b<Þ™aÕþÒ%æ5¡¾€ŸoŸ'sþé9¨jŒQ¿ÙÇjÚê/);œCûõ梴j6ë ¿)p#c„ó‘²öH0ç©Àùuš ]|Y’çD‚ÕQ­òÓÜË À™:Iˆ]ì)CzîRªNÄ?=È)ˆüGkÌu(äž­²8ˆ~3ùÓd†I–cÙ´²´,C ¹ É»(Q.˜‰|®ý–‰ÎM‘F׬ÛW¤'ÛŒK¾V m™È˜Ö°£6~L3.£ Õ€ºž}Ï>ô¬ø+W+pÍÍdÙAÄP„’Òõû,óTQŠ ñä× ;/IVûvè ³H,o¬=HÜ>Ô,?1z×äR×ê ip{åóS/~˜jØŒíÕ󈵷í3ÔÊAVÝrÏBÓx“…¬\*Ÿ5$´É=ó\K+;*aN04|xÒQaO}^ŸÂuøP¸¯C ²_-»ë\Ý!^CònŠRÛnÏ<—Î)u¬nOÔí=‘äÌc…Ó#—!3ØR :‰0X§xï–vNˆ­¤‘ÍWéß/í]WŒ!™ª3¼ˆÁ}éð°ŸA5ÿ³p=’€1ÙÚˆWEÈ(G”jA§=l´ìןÚW¾ôEh[õ/ã_ ~îÎ\‡ã¦)ØIV=) Fp}S×Ë%£sP³õ[Ê©ŠLuWÑŸ7$E:•ÄaRÞô[Æ h«…!XÖr=Cü‹3}æÉäLº]£}£ …©Ï.ÔôWXÔñ&b²ÌÑIˆ©ö/êÅ 9d©çæT?#*ï)#?]1L¹m50Qg\0„!,ƒÇSž3¨´ÿ…oª³ºŠ(Φ§u4à* ÅQN>._~Êñ´Ø +K•LI(T ìÅQoÑEå“é ³zm+v¢RU3èÚÁ¥HJõ³vùçñõž„ÎÚÙ–LDÉA²vÆ©ìôìÓ…3Á3üðW‚n%@½¾¡Íÿ’É?£‹‹µß­­95€á éŽð}¼ ,b¢ -É_Uýá˜o“çm/%×G“LÈ›Y@æ6Ö^¡÷QS¥Šþtk—:=ÃÎe„/öm¤iÄSç,“Ñâ¸*¥ˆ­‰j7 ±jJ¸›.9ø5áe…êËÁ·ãÏ2ø¡+{ÂãW+ĉzl_õ!#³‹nä]Ô›ÑF=·¦±UW>&RÛ¼øÔž/$•¥‰§€Eê§bX³tb“ËO@5a2Á(Ò,aÔÓ’á6Oc{²‚B!’ö¡zy\¶·M¡Ø¬ëTÚò¯Q“ÞI`„ ahp÷úq.þG!B~È · B:ÌU¯ +™9_B“IiÏR7 X€uÌzâ@\†²,4dD€=ÈW¤æBX‰6¸IŸ”SÕ)€UÞLwƒj–†å©ô,fEy° ÅÓ{þy@»Œ·ÓöÄ;~ër"”Q×ÒÞwÜÔ] ïS­â”~•(9ÙÏg_ÚLcò3 q£DÚ¿ëz=…Àâ¨1Öñk T›Ý°èäôÝÄcf$«´r0Á: ê•ácœrp8Â…ñ–ÓAèKÔÕÕ»=N'2Ý|ö‚Rd½úJ­ðò$äù¶0IÈ,¾¥;ïÖ(Dƒò´©·íæÒz[FôÐö |tY†þ3—{ü]óvyT6ck_tå訮×AfŽÔ´­®TuKLÎØMµ…ÿúgíèÕ—V\:÷ ÝA|ƒ$' ­Ÿ†O>ÜúeÌP¨K¾Ð{Ã8•}àøY’,Ú½(Ø•ŒwŪ%{¬‡×ÒR'ñÆë»™ÞÛ‘IíÂÆø¬ Ò¼ÊúS ñ–ߢ7‘•/‚‘HòŒ°ÙG6/ ¡û­ùvŸ¹OBÝÃÑK>‚ ëÓï”  ÓBÞ§ˆ7áœaF7Ü»‹7À_HY輞„VÞ®h•[)ˆ¦»9‘gO¼sH@ôHBœj"WFÁÙ½›J8c<«RŸ” Lµ/ܧӢŒÒ±`’¾Ö))I.âQ„ô‰¡e—=m-5yOM{»f23Ä`ïé¨dC 11IìöÝi¦_/¹)¾+ö•–«6¬OUÅ–iÜSÏa²-«²Àú‘Aœè¹Íìœ>ŽM:ŠëèE¯^)èjSŠIÖ<¦|ÁNÊR‚òhGA€œx´Å@^~çÔ´K)ŽmêÎÙHàâw ûÃd/pªðu¬dCñÒÛh&o g7¨ (¾õVM0Ô—ÿWu|ò}CÒ›ˆÎìàÑžƒŠ‡5aüª(–i€Øˆ7ƒÃÙ’„‰t %‡øåAÌ­ùnž—p})Õ騡câ14Dyƒ‘jml×TÙùÆHMº+ܪ*€o¦úó ïéQ+ÜÆ16v:Š»Åã÷Àèo. "T‚Fµ¹‰0éä–ïçE£ÝW,Ø6S1«_yC\ÛD+BÒäMÓT‰„ÇG Y;›üåi²f[4`8l쎮pÿ²­Û!ôœæ%ÙÜ:×’ªDMÌYU»8]¸À_ý0Îû=7Áb¿™J F¤+tnU“|<0•nž±}‘çäbVV¯AG&È»òËì´oG(•bÎ¥žñêZ?ÊÐ'Üýƒ'ºóÉ å{ä‰*C¾Çu€çÏì¾ÔÐäÿ4ËÏÓüÅÙoNÔ(´é $Œæù\è‹'B••?Þ…P“®Äs‘E’äžmÝßÝÑÔÀ‰BRˆƒvÛÍ…_« ß…ñçïŽØH¥Š ‘zZØhí<Î4æ+W{Y/Û¨‚̱YóãzeÌF]0MÞñ¨ùí-þ$ ¦;ÜŸÀÐ%ÞVmEbfAð vФ þv)ÒBìáÕ~:ê§·¡öÚ6ÒFaüd‹…½,\`ûî××’„"­¸XŠýtÔ?–рߕBR%„fÂñtÇ¢³¶‘lÞ‰Ys颚±õÄ%Ü; ’L 7!ÙÍãhß•·£…Ÿ1¾œ Íîœ 4ì!¾å{µh¨Ü3ý&>ãñ+Á¡C)ÀÀ¿¡rôÛ¡sIÔx=•ªJ<…+þ½‹tfâ †eQ˜ Œy‹ú ìJH3[#0¨ßþbß…?¢OT–B·8ÁnYtнKFn0òúçĤ)Ýš ‘‹äeŠ:®àVhf3D?ð…|%$¥ÿYnÔöûœÍƼãWOB[—×vBÆ963²ælÊImÁ¢)ù8R2Ež;ÁC(f“z+7~júÙ`®»…íÀ ÿªdÐb½<ª“îƒãùk,hŒ™þ²Õ –œÁ%fºKcïœ[»à y°îó*24J&Ѿ‚J;dp®W‘âR‰×tHW¾âèæÝhzÃ4rÅßr+ñòÔvs‚ø½ì'ºö•;ó·_0g‰¾ä–=Ô% ä}UVýÉ]˜åËWÞ“El—Ôxqz¢ùÿ³vê†òʼnO&¸Õ…%ؘ=ŒDCDþã_ý‚a´^Sq¡ ùÓìO7l5zÂN:• Yÿ‚›»^Ù<‚ÿ ÂñlÖ±pàú[ ù›—°]ÓÎóSl©þˆ’GSnÿ8ßéÚ#ý¥íÀÚOàiܶÁf 9eAb ÑÅ]2ñN# î‹KänN{,©Õ\c©W p„ÉÿµCç–X¹E\:­®XÎt\ˆèW’@;ˆÎcFµ«P=±J”¢Tí¾D£œQ6Nt7ÿ»$òØ‹Îkm(”ˆÓlwZ™|Q/á´ RÞŠ²6xy±08>…‡÷×€3½©ƒ,æ jÀ^Ì}çÃClÉ—KŸÕv5p…gÄ©÷¿ã­+I¥d„äÙœ­ƒq÷•£ïÔ¶M‚ÙóÞÌ h†Ž%‡E$V1d½Úꊤ‰Iu¥"]áh0hËóÐ_T2ºŽ¶ÒIS92C0>]/ðÇ1ümØnú`·Ötk-Ä­œÏ0m㦠҅„;g|„œD%J€žå™ÏÏš2ŒfÀÙÒJCíÿ!JàBK¥.ý~í EÁÀ­«xö“•½]"!ª6|H+³žÀ’tn«’È~j‚îí‹¼ÍøÌ?ÂÚ°Ãö~¥,bGkVÆà›õ¡uþ·D]Uô:Æù¼  6.HӾЀ8ƒ©‹qEv‡”$`|€â³ôÀ)€)2?Ú_í=¦R{/mhË7;ÉšÄûBÃü2WêËÞE4̵NÁùçÌVµAhtsxV[ 3â“èçAýn¾ãýÛÿlw­â"åÝÒƒ ÌW"_­[?Áx{Ûªý f§ë¿ Æ1 Ø<ãìæ¼—à™ÑÎÝ(@´‡Ù·:âcƵÑÞf¤«ß dv6ác3n[ä#þý•þØp…<7CÙç$!ï5Ç:£Nveó„'Yã1-&[”¢öò[lÀ«–öÃí'2¡¤§¨¾3]úêÑ7Üœ:¾3=aÞS卑¯G9^Ñé^´Mi]n†B.C\ª£ ŽØ!gŽŠµL7•«VëFƒíGÝX§n&`–5¹d \ …Úg)­öÕOÅZmjÕ¶–,€×{ºi`»Ó´9S±VMž´sfV~¤ ;ùCSr^{É­ýcñ½\/b•Ðè4aТ´p, ‚Ó¤Þ+f®Ìø¸H«°n'ðLi¥ñ&äs ¶†E&D§löÊFI“m®ôhø‹ÄRxµÍЫ«8ÇgffE1V¹8¶Žûeõ‘¡^9‘ °•Ú…„4ùרNS‚’”8ï1[³óSðÕß3jb’ú¯[ÝšÐ_ø“c£Ø‹Ko¦cÌÁè y²‘=ûãCÉ^LÆdEÆàÞyŰ~†ç鼿տ̘~d{ª›+NWjâzǨ¢~ ïJá#bÉ¥ð4´UzHš²Óý¸SåM(ßšV%™E‘w×>ɪ ”ahú°Þ€×ß `£0õ™™^ƒˆg¼j),ԣ懥Ҝñ÷jñ9Çwï»LGHH;ø‹9xªoà‘³3„"Ú‡>sÁwd%ª2)Ë\€AcaîoOåLâ/±F€òªÏÁ+Žm{­Í`i¹&ý>Q+<îrúõð:I#¹ ˜!}èèR8†+ò?Ú$²ñ½0"£cœµN\#<É Èñ6SÖEõNÏ&¾»½'™äxOÉ ç¡Ñþ@¼$]ÝBkëÀn'¢÷UÉÛêá+Ýs•öWñ¯ª)Éú]ƒzKwÛ¼ª­ ~X5€¿}é3º/2\üJßÂnÖ¤4ㆧü-JfÆåïá8±_.±Ó¬àytf;x^–“4‘:ø¾Æu¼{ë0îÂç±"l÷ ÜkÑ:/…`¥¡:gÎæ6\üT‡ ÎŽïåõ0OzWa…õ"<ñ!œo޲k!°ß?¨d¬zÉÀ&…;CÔ±sð¾§QIÅ—Ê110ÍìHBˆ9Éc…Ãá³¢ø“¯5%Ó1ûuñ¡ˆ¼âšÔÁר€…L <ì»äì:²UDÆaJÌ\$h2“2– Wb^FéÄ«t dEGK3·FlˆåäqƒŽƒ±ýÅ¡‰÷WØK@ü{ùýïûtoú|x1Ipú/æ¾^W¸á|#N‹Öw1ïñ K˜ ,ÓÎÀiÔKÄn‡8ºÔA„Ü]¡0=ìÃú¸Ñ–µÔ'zŒ:«Âê`–*yƒYÈáèT?<·ûi@ß²yêKãwÒTw¿sUKGóxAªÉ*ý[ü¯y ¨t…U8 ë¦ÏS÷Þ=ª¾(î ‚,fôñ=ÒÄ:Âì=ž{ÓÝ¢Àø%52nÍ(Më©uéGÚŽ¿ÂÂÂ^qíãÁöñߎ[—-£ €H¢7ÞI6ÌÕÃ[©Q¿Ih !\¹…Øý@Yý‚öma Ç›Hb8úÎaЇÜiÄn~ŸbLþÔÜë¢tQixXwJ<°vûÝ¢E -â “¸ÓIq§(M¤ö ä$oËŽ`êø&þßPrÌPM_ÄöŒÇÙm;á¸qÈRQ¹óXJÜÂ0ô M¹ ¬÷ì(XÛÕ5°ÊŸãÿ°)æ{ÝIYkäöº ¼!6”|O8ÉrKï›3‹œ—Ô_4ÜK¬cezÖ½ar/ï`ŒëºŸnãæ ÎQ59Õ~W•"oGˆD~¢ã{¦ëë"¸S1PîhÁQɯVma°Ý·¥œÔ1$hbؽåQ%{Ýß"êHÂàjXr8Ávý®\nÚNqè ½PØeÖ“Ð(»ŠÚÒ˜^Þ-ß }$RÝÔAíküjyë±½¨V1ä¾!¢~ù]±"hpŽÆa†®åß l*¸'„J1±zbúï¯á9–jè,S•bè¤Óä·8G'Ü_¾v™#^M’6_’àôK¾&ƒ;tgç¡Õý…bOàòÈXʘ£öqZ§·>¼Ú·Ë¡ñÏEv¸:Ò€EÊ[AÖDÛ)3fƒÇ='V•ãÅé#ëëI§ï/äoíPÊÔ‹…‹bO÷¿Üo/}ße¡Øþî›l ïEEÞ…]Þ[‚¶~q4”d TPq6–ESýc뀥óç劖Ü/îe qn˜7ú˜Éy;s­TÞF¬ö¼"œàÖŸë,k>%#ò)—ž=ĵ¾ðZÒ—I” ¤jhej ,gZË ¥ˆMÀ1çS­<0í=[ô—L—¢£xl0± óÚ¥ýã‹„œž!è°.˜gER¿ ‚è~ ,Œûù—x¯0 0B© çêI}§|AýžíŒøXkŸM0Nƒ‹¶ºŽ©«°þèZkiÌ@l%c€ø€8yЪÊÏ]z`@£ªæéÖ~€}z•9‰ýôŸÝÀã g‘§’õ)åÁIXó#ߟ~Ô_£ÝË ÏÊÀ€—äæ5@=à‡WÊŠ3u°·Ö á²x#Š9ž±tkoÒT˜-˜ðm¯¦ ‚t«…ÌeZz0ž†fÊ×û¶U#ŸÂãï,™E60ô„mÂØL d,@|g:Î(nn oí§qRlÇŠ”D>@ÃhJ=Úà†ùçé\5øúìYu·4±9{c}ÃíΓòPÙ¥ÚïßÕ R'Öá´ãÅ õkaNf 4’-<- _:áôZ+<ŽEˆöõ¤Á´Æ±0”¤w*pf²eâ©emßki{ûFר6ƒkµKßÖY¹ËO™( ¤u»:P6^"Ù”»¤°Î6/’ÞðD ôœåZc ñŸðÃ|ÝR¥Èk¦ rëÕÀ«Ãcg-¢ÊGwìÙç!âˆPB¯™^WðÐ0‹~c´K?øæ;Qí…áFsY»ºwBPÇò´d—Y¢êÙ”Jc1E3ô· !{z*VƒÊ¯±Dhg, ®ù0m”À½VÒ 1yH4a³×#³Ig‰eüóêˆÑ…b‰´y$u›Îgp·èé–àòx%Ë/ ¾3y6G[4„™Øž)SŒŠ©t; 'MqNæèeùâ Ëñ¾§0l¢-ø¿l¬ ^°roÖ_—îñ¾K–:D†Í'<ònØ5í•™)>d$úQ?,Ú¿’ä~fI¡ôŸñO£/¼>'/aÁ¨W·”2cÀUkš´eZ´â¬‡! 9EíL*Ýu¡Á&à¸äxmpõßéÝàR»ìe‰‹ Çá¼)•<¤åãǘ‘eTœ®%¯¶¹ „LD„’$«zEÀy)‰?ŸÓ÷óÐËh´Ã$ϰРýئÙ^[^®p,Õ¤f!Çœ@ÜM±Í+¡S{Í•üB¡·Ø¬ódŸ—uüßðÔÚïòaU±è?ŸÿºwP²úEÄÜ wˆUÿó`6+€áÜÑT–6ò’Ï"¼] ïÇYëwƒ}ɪ©+€âY„µ—ûaHÎ-Š {©IFõJ•mZç=ƒ>÷Ÿhow(fàé‘Ù¸< º×èeH÷¹Ö«>y°žlKÊ¢i×™ªErŃ[ò©Þ{ü%ãi^?o$Eï/ÈÒ½#Þ—%JØ?Èr”ZÙ4´ôh,W3³RÄwN—òÄmRÿ^1~R£…Ã]![8ùWj¾X-UµPV34Eœ7çûÙf˜l8ZI¹ô£ºZ ÏÝIQH’ðKfú»Wä<„W ˜;‡¾\Г`–µ¶®‡ð]‘e‹–²€ ÒtaÁ¸Ã”nê^dm;ÞiM?ÍwkÚZB6™M µZ†*<£ðš`âÄ…D]‘?jGZôß%Ód"£¹×`&g¦ºâwê›êŒ[¯®cÁκÌgÕ€›„; jÅ„¯öÂÖ+wåa^#óÌ +™'è}E,S¯FžèþhŸ¤¿½ÁÈvîr'_$²ŸBÎS^!Ç–Eà8Áξk+FÒ²N¹0xI™àü¢!üöVˆ¯î5ø ƒôDF™Y›†IíAŸï·É©SkÚÜ_ÔTä¶ôÐÌ(È'Nø‹XÀÃZ}ÔÄ™¯‹°OÏ.Ü>EMײ)° ê?(•¶zò­æÒdñN60!¾ZÁê5 zöŸŸ¯˜oÙ|í@&ÈÝó¢ ‰ؽ‰Ëë0Q­&ïþžXô ^= wÐôw˜‡,ê¿´¡f¾Téѹ!˜3+çý÷d“^6 ‡¢·íäËT§:-²8O§F3DÝÿxtz#,™ËÊÕ==/^Ø5B&ZZ|NØÖa¶;c8oçºï²£G¬Õ›¿¸à >¿Z!'ü¾šdA½…ÁMýOËÇ Àþþ–akHUh¡íGÚ#(PoúkÔ;Òv)×éqådÑP¹7Ý#A wpZàü ÀΖ_>5í¯1f¯ÓYAXþDñG² T?<)|…¼f‰CÿÌ6–ÏÍv¤Ç¢)C-²Fݺu¯§îŽBƹUÆAʆ1ÝÎЇÒ[cÜü›£V€ô…›Mž ¹“­}Ã^ä×[ŠK¥¶œ¡Ê TÜñ*}â$€Òpñx’j`ë¾…=x?¶– ħ+ëšM1»WC”~zŸÀ·OUŠèÄ“d]k¸è9W½(°l£gIÚ2ôên°KbFú£Eñø Çói8ÂtÖ\l@;DC>Rz‚|‹ïJûÛÃ{hN2¿Ž¾o=˜)Ë,Û\±ÏË®“8ÏÈœÛ ýžˆ.ÄÌ ý¹Œ~ç0:Kâô5 ÿ=¬× l-†Q=íܦêŽûÎÙµj¡C‹?3…V/k•Lä­7ýlðh²¨‰Eu0[têò»CJª¶~`Ñ\á’1ÓL¬ )½Öqœ îc›i ¦¿©¼g¯ñ¨ÕŸÌ¯R妬Ê8Wû\\À!¨E™BE©zkã³l8ÆûSKŸîÕÐÇ"ÅlÞ·úùïú¶ŸX%ÿ;úuuE®¥9óG+ÿ%nÉ&j™P†î’¸ N²ƒ6mM4€‚t1׺º/‹é«A¼²‘ÖNM0dÓÝ9ïRÉË]ŽÆø¤xCeî˜Á¶âÐ÷)K6¨ž5\ÅC–â¼é²w‚QY”h½˜óÖé§¾D +zX­öÔÃÔ±†¨D[SuÃu`û S P'Užêé¹7®“ \ètP vÙJX è‰u\Γ|À4ízœd‡N‘™¹Î7ˆçʨ„oÿ§¤€`cÖRézÕ÷@V¯'«`jfÐõjzÙUpß;ôPb*ÜQö:ËáéQç5ø0k\U _{ÒªƒNQ×aI’kŒÒÍa¸æâ[š9^TC)¬:ÉññSH~ UÄeÎTž6-àÖmõRzô`pŸ@øÍ”sõUó\¹«co8f¼^`CÅp_Iì/á¡-Ë¿*X(¹;î…ýdÓ‚7å42³‹íßM”6ÊUœÆ\”^¥Ó§^­®‘isK¸w©X\'€¤Ôø:°p\‘h1’-ù»+K¯±Ý‹è…ÇñxÓÌë†:WcÄž£ï òÄ z‰ÿ<ç–@¼ên.‚r„ÑÂÉ‘ÿôòÖ·$KàZÎ<Ö ÜÛX`Kâ©*éõ*a:dô^Ú!'}GÉ -O%Iz¼x*r6»#è¤pXéŸ}Þ¯½Lº@6¦ú;ÿÿeA0"¼¯þMð˜Ò´÷Œ~v‹Ôï6@ŸKrµE˜)%>râp6Nטkåÿ‹öC×Â/úmÎú‹ Ìäc¾&hga,nøÁ‰@·,÷þÆçŠ™ú–wåÄŒ¦jNù«Gf3ª±Ö ( •*yP’9š?ç­˜y Fà AO-‹;ÈvÕ]}ö˽r¦ÚÑß%Æ`£$G²£‡/µèâc€¤´è£ƒ-^qO(+kìYISxáX<‡s[Q|Ç.%‚i @\Ë,Ÿ%€p¯Fd k#JTf1ƒÖbLDë:âEÞ•{ÐÍðÿŒLëtŽªÆýrƒX›ä.ÙQ¤j' Ê#´ilà”Úc÷º™Æ —”&bxʪÉ#XÚr¾}æ¹áP=É?=k(709$0w`ïêê‰L–^gk^»YG°+@ê¿ Ž˜uGÏÞ·+Ší=$I½ý17ñlÉçX…¿â)V^cB’Ð߃}ú.ßñ –®5]& ÃU—ÔO†§È³a9ï^{‘¬ Ë¿3_»øÿ/¿¥½V€kÞ§7L¯Ýz’@º Ä~¿aýU\ñÉsþ¦Ú¡w.Ž!†î©¤¨V_EXÏØÝ†ÐÔÆžÃ¾Z__Ž(­OÕèÙ}ŠˆÆ›jR¬µgP×St ‰Ð+aåÚäWÉ’â;¢ë BµñÃÓV:¥I ¢ƒ0¼Ú'ø(¸qªHd¸m#0 ˆ:Ýèþ°{Åt´å©91´:þÃàe §²4€Íɺ¥DXBÊ?MšŒ>]0/ NL_BØ`„rE¡{ºÌ߃Y!ï@‹.G>Íqƒ_ñ&|Z§¨êÂ(sˆ“¤-k¬þ~·îaæÁÜ`eÈbðêë[ˆ nø§Òá2Ñ“‹ Ýddg Ù46·ë¡¤¢»)IFBöŸF}Û—v³OlËcú´ÕP·W'æ~'§ÏdjŒ×t«;Äû"¨ƒ¿˜ßƒà»—r Dn:ô £@0Š×E9~>'Ðö|€¯|€Œ¬NÒŒõ;éÇ/ò˜’X"Ó$½5 ‰4Ú‡f·àg±•ˆǘ«>hú~ŸÿÚŽd¶&ÏR¾sƒ®#‹]R‰ÌÎÁoÑå eÊWK“˜ÛóÉÔ¸ï1 õk‹[pÜÓ£Õ¯u´Êã.à`ðguÀ4šÉ‰!5ê _ks³‹±í¿(ôU£QêÑ$R•¢3Ärx˜pÛs±Oð&*Ùdzã|‚í,Àí‹o2—|‘œã°wfa &Ù§ü…b}ßÙÐØãÃÌâïùp(ÕÔ‰·©\W|¼ÕI%ÅŸÓKxÃÒº]Sôz±J¼½Ð½~í kÿKuK·ÈÝ kTðã¸dCœ^-}¤ V›ÑÁóêÆÛtŒ D¥M Êô£ˆŽyÕÛîëNö.0ÜY qƒk± c­ºKêÓií&LØ_~îÙÊ­µ2Å=PL¢$j-ÆôF¤áp?›—°¬hûî‰þe޳ü‘!}DAÑÒÙ‰©@GM›Ax‡+zèÝWV%½¾M98.YËvWé÷Ûá 8OCó“ÒÙj"!k²€¤åxm‘寣8ÃÈ'/ïÛSùvŠVµÈCãæ¼¿OGc÷ÿñ ÃEËwÿm™mo´™UgüžÎâj>»zŸ "9ÝL,¥BiÓÓ¢NzTN{znâ—Æ“8¿{›òSÄ¡r"—¶>뤱—߈ƒÖÙM]´•Ê—Ô¬7𿲭ífi«Òþ½ÕoŸ¯ÒÈi\!“± Š ¨úsä¶G‡k½Àj‹ZSiO!."›zggVTú×7ô´C‹25“ëòKðèhíðñŠ3öTÙÌìx-ïK9Bï;r‡KÙàXŸór>ãáuÍ€Áݤ4oF§X7 ?'·=–_ŽäC$€<¢¨ý”Oø—Ø(,3ˆ{Dð;ƒNmŠN Á¯Ä аò vN%ã ’^ÓÏhªttÿi_­å=”¤Dò ÄùEMaWŸ…E¡¦:´>N+­F;½ÁGk=’=Ågà JËܺ ñ”>.mlÅ™e8á®4µW΃ª`N°q â9°Bµ:°‡Ø‹ D«€Zì ˆˆ,>zÒॠ!™w©ØZ${žzlx4!ÿ(üì¬älb×eÄÑøV[\ųТdêir+\’~L16ö¯y±˜$Æ4|k%ía›‚ê©X~;BÂÅ$2&ÅAÎD/À•»µÊ{³å¢Ì’W¤ëiÊ~ÛÂÊ€dYÆNÿTÐÊ?$s";Uk\ªùµ¥«áýe“ÃD[ „˜ºj øU-ñi2܈,bˆjVÐÊ·,¿‡1Dß *O7¬öÅ»RÚKF$¹€*{Z„IæRå 7J™A†[úsVBž”¬Rd qCq§ €`ÞZÁ¤88 ©„ó“(-oîÊÙŠ  }Øt÷ŠÆ Åäèçl*mñ¡ë‘@¯|!ëõ‹ÈíNd6LùRyæÿÛì1Ú„ô˜?ö\‹Z-Ö];t¨3íõ¨¹(æõá§{O¾€Ús¹é8½ý,?¥3ZÞ÷ˆ|’Gåêßù¼ªÈ|òÙÈŽ6·À×Ìf¡Â!r?Jª%­ÚBû€ììð—lëULgl+‚ܲä—yP±@Ū—úô¿yºË竱ÈxÒh…lVµC¥mËVë†N/æ } y&¢–ä 8ÍêF\&B h˜I³]6ÉPE(ä²3vÔ_ôCLAx^Š;ï>ŸÃ—œHêo„`‘ÀÁbT–áë*;'û×"É€X1WKvõ¤¶5å&r皑ޘdAm!_{Á–(iÈ!W÷ø-¡Ðé=næÕç&M?‚Ž–Üï2QVÄ#²£!Št>Éà ×ÝÎm˜õ’(Ÿ¦CŽó¢{4q©à^ú¹Ìú 70ùÕ$¯Ã'tç>(ι&sO×Ì{Wt¦g•`ZÜzê%Ô¿äDìaÎNÿÌCÛŽF¶²cÀ” ëøT©?¶ŠrP²/æ”ÞC€^ ü¹7BHKJþS/Ì…ÍR“çÿ16V^1a› µP[/«¾CãUÆ×@Ê\/ão‡NBY/j—þ‘†ë˜š–·ÍwÚqzô=tX‡§"V°¥Ò@ <˜J%{äVÊÊ=µ+ÎÐØ8÷ç.Üqé¯ìîS½ÙK,~},o‰‰—.2‡&Û—ŠŠå'®YKäÀV Ehåcµ»-5G‹ùhBeäüŒ¦ÅaÃ1M3;©û§Ö5A“.ÁÿiʨUòspDS}ÓŸkËVõýÒ#†DX¾ñÔã;‹d`Aˆ&iäDwfs ÄjÊþ.ÅKêv^ýèEþÐ.îÓ+«ŠÿJ² Ÿ™ŒÆd"hc0þáE¾QíÄ€ËE’c„#úcrbˆl™®˜x/«·iuhN¢ž¹üfç"8A@9¸~Yx:\g–H'Ü WPêy2Ôà!Oƒˆš°ž av$R@VÞ38ßöò¤,ÓÖl,3Öj´r! ø2ýi.âE#¢€$¶Y\øFÈnºè5å;ïÀ%Qq`0-voĤK¨Å#.¨úA?=ÛZž'†±´IÌs“‹3‰+,Àd\^ŽÎNy àžoEŒhë&ˈˆ‹:&&ý¡Ý¬¡•×WÒ4|ÓÚóz] ´÷ÒÎ0ùLó¼~f¼ *´ŠßÄN¸“Õ¿¹!Œú­àÚaü¼ZÚÿAB+{‘úǃD¦æ‘"¤î“³]"í“üð¥ ÎÆÛ ƒ%ïI¿N¹4rµzkÉ8ŠáCåò'Í®´qËE™¢§/î Î]»‚ÏlœÉ¶óP>Jøl؆cLÿ9ü½ñ>dV vD¹… JW±ON »cäàæ5´P™-Q½ËÍ®äj"GÈNWá¹ø]Æ•Æ.™*Œf×uœ3àíÚœC´nëëüåÏaPu¦yËÖ@K¹~zøýf‡{äržˆ¥|`º#À6ûƒ}L|A­Ýªç?J!?i¿î' T&d×q…¬"}æÔÖ­ÎÞ«(ieCËÀzX1n°3½m6jkÓ¿9ÍÇÝ—ñ´LŠ“âG[ Júl¬¾äb­’&#vÂß?þŠÚ?êß!7 fè¢_²I¿ËM樋¿|g­òõç^ $ª8únë{?{° žñÁ T –¥Cë[’®?Çç†ië±_U)ÊÜßuoH"ò”ðô­“ZqbïËwÊ+ÀQŠ*^¢3ꥹÓé×ÖêÛÁ?:髨E:ü™º}<£1 N® o c®*MjP@ÄsÂDøÈ7ƒ;qóäPÂÞj[ ½MYá~Qs5_Ízßj3&È%Í£êºå;'"Þùãr°”B•cÈZè·£tÁO_ù koÀ!Hs`¢©Øæ®|·¾S½Ç7vÑô_÷Ö*$æ¸ÒdŸ,œ‰Æ›hãÃÈdå³ÓO¤ù‡ÇP£-š(‡1ìÎWÓk@÷"p¥aUà O›c·[Ê∻@L½­ÂM”?ןÏw ˜°…”ždEXÛ×þcV;•Fª†ñÚæ+T7_XÚ,~-C¬`jEÇ b‚ö?‡H²Òîçzó8TW×Ò/«¬`Ÿ¥† Zšr[µ©\"zCɎ㣉\æcb-à¬Û¢»4¢®½¨ó¹ >Ÿš˜í+öû+ò¹H^´@4Oî"ä] 5&nœLHC×ï’£3€™&¸UTÝ߀´ÍÕPºd¶l©<;°ÅS¢Žžï¶ >f¤?#“f9äøeÖHõwÓšgë§±*¼žÌÊ´§9ÅRSiÁú¤ên“È¢F±”0›_%sý¼&訃Q5æÚQˆy¦¾Åª¦{|ÅU4Å]¼€ŸÊÒƒ¬tµˆk&(O % 0õÎd§3“ÍòF`²û6Á/²×àÜ|æ2ü»5A¼Ô×ðxˆøŠî4Í¡yM½éòøØ‚(lšü†\Ø©ÇÔÍÄ:æRP»CÈ £NÈR@³ér ‚V…çaÉ]týZí*óâxŽe®øÔ‹_v¢[¡n·‚^œˆ¦Ñú²Wﹿ™Ïª€NÍŠ«£Leés.p@‘)$ï“ñÖ½ÿNèÌ”žæžþ‘çÚ $"¦…ŽþyT-Ô´‚ oÚàlþs1ÿp~bèœÍX̉RhX­“T¾‡¶C#*Öå]£“çªÞk¹DÔg¢' *QŠqyáRPÇÔ^&&yb ÝAçÄ)4uíNñ9ލ¯­Uú7ÖÇíV„Ûú¯¿‹¿ Òî—ŒU°eß3Ð0úŒ˜óû¬žÞŽð¼Ãy½Ï(o”Þ?UG¥ýarÒ Vª&þ:Àc[лa•iT¶^˜Á´‰;ç—âŽÝï'JÌ|–Rß‹tᯑÇ@ˆ½Fé'qtç1gCòFœ5J4~.ánwìë6 îÊÎ0"ÒWã µ™<FD•êÏvAE³v >=Ê@0ÁW‚•ˆ 讹ÅÈíŽt_íLÈì¥S!0;»àšÇU/p[ƒA/Büj²ZÍDF‘J­—ÿª°±áÏËÀdOÔV¢µ)] Y˜Î†ÌÛUÕ ¿„µÕÌ¢6—”Éÿ4íÔ°g‰2aÒÕ :õÝÀÖÄ$ ÄÆèH÷Ù¨&ΈÒîùÈ<<#\`ÎîÔR=åÝ~Bøãw®ÔR˜4 4èódù@ÝR‰È–>‘^«x|y’“Â[™Íò¤«?…˜d ;cnšQjBxã}~ ”ÿ’ÑËöîwTfrgo ÍV˜¸rÐ&¯”ây/¦œíïš©5Øä­yÇamcè˜t1>æáa¿}8£•¼@t ø®±*ÙÀV"²¨UnÆÿ˜éâxo„¼µw‰ ˆ0d©«þ×UË¿ú’¡ÑÒd66QÐóÂÕê%ÓÔ*J°X òÔxîü¼üò£D!OJµ´5B­^ñz|ð€nóÖ)ÊNç!éÅÛ¸•±ëyù“?ë‰UCÀ˜b‰öObâ#ƒ¶Ž°¼xW*ÉÿÚ§jͬWZÏ‘õ‚˜6‘\Z•ÃJ]nÉ¡)~Ÿ%ŒÞçø‰è*ó1q—½3‹–ê¥ÊØC‹zHõ¦~¢i?Ñ®¿ïéÆÅªÎéKDèi•Èv>×­’AÌhŠ’šÐ´2l™íPR z:êŠîGD –,z2ÌÐü=È=÷\Ó2ø³¬Ö™¾§…ÃW«¯õ» èùÕÞ¨Cùv{àSq»M‰©=꤬û³v¬Ç.¯/µ o§™CcY²û6ZÞ *Rýj–(;ö>üšüë\œ)TûŽM‘—lÔ·ühwõëÇ!Ó¹ëá€JÙ¹ŽÝHû¡ gz~…â†ûøÁñ·ú¨6x?ôû½¸ëcá+›`bH>ÕyhUW|G]Ãe1ˆQÌK^znKˆÐ^úz)Ç6BV1etúînú è¦g­BLT€LfDz9k§#õÐèø 01zÞǑ‰’ a¾†f“{j¶iéXÜXHˆyÑ! Èœ °j»£ CÈ«tú+ÃáŸç£>ÞÚadˆ ÇŸ¡xK…Іº©D‹ÙÌžT¤èÖóÀ8_§ßf^û],¸í†ÞTã3 duˆ†\xhÚÍ1‚¼Aêt`XƼþŸ t?YšãVÉ>ÑôÉ\ÖÓ/ã\B¿yÝwýÞŸ0nKà´]ë8ÍñU½œ)f‘Ì5»}H õýJÐ’³ò¡ÖhÎÉ,êbÏ’zÛ0ú‚ÚЛº%§JöÖ—ð!ãYVøo›$Á‚LouÈe°Ïœµl—ÇýlMã“vÑ—ëÔ>#{Óì¨K?ëlí2i‹»,{ÁHoŽ}d±’ØŸçº(N øÙ÷ƒòÏÝîà2xÓ}~ HÚ—¼ðB,­Ðy"•^mõ¿VLx}Ihu(mÌÍÆ#fÇG½·Äô‘sðÕ§'C®å5§b¹i¶'¹N8 ­¨±8°42·óf7®™*ƒ}(\»<é¡ÀD¿ßò[Š;”§ɈdabŽìï®,.oæ3IäN¼“ï®gìÂ?[ \>ÆÒìáŒëÑL;òA]ð ö—oöW|ƒÛ%A‰z£•i“)z–­e¸*{ê„ë?ÎÑcmå6Ù³±4}’ÿ•L`Fä½’I<Cd2Z.¨‰àÁnñ£Ojû ¼’!*ƒmæHS‹€ã>"ÂTûê°ƒ{U-¢ña&&BdHñÔWÐÊ ¯p »²aý_~rìõ`˜¿îÀªAÒ17ß·Æ p˜ú l!¤I0ƨl¿Ùš¬ÖK9¬€Ë†%‰êKµÚ·jW HÞâIûÍ4øáZ¥TáÚÙ&¸|wT)é'm”(¡.DìªôÊ$) Ü[6£I6³ø°¤ 2eòtë~*ø¢È%•b™cwÓKpIõ“#_¢‹Ñó¦K]¤h5eý?Ø–ªYï.)Ë£ƒE_*EvRW/£6Á‰tD8{ö@à›Ó\بfä’_Ù@ö˜5´A¡J#‘ ˆ&äSܵ“`?Åw™wæƧMp¢¤‹ŒäˆCò†*‚:Bï¼¾WŸî1•8” ƒ<“ŠÊú„I»6áÀÕ£ Ïl}X' qéhXäÍ»ìl<Øc6žäÖ*-©P§.… ‡I½Ö:x3¥|eðbÓu:±O -£“T³¤S†¬ûx`A~lÏ™#Ç32s9x*‘‚[wCãßFU”¨*Éë˜r(è, Îâ4Ÿ ÃÕ[3Ž<]&ªÂïä޺̰±CÚ …ückꬡÐy~ãLü³ê±^ÛÌñPð29ž]!è-3uPc i&YÞ~šñ©²m¬ DÀè,H›É‹3+±ŸcTJ%Íq˜ûTþâGøª}[„¤.`¡~ËŽ½Láí¸o€ÌסpØs¶ò\´7ðÉš¯äjY@¡–lG—§æLwŒptM*– (ãšà5™•D夡+Aò``_O¡óÌ]¹x•qÖ1BðγÐÈßÒŠ”ö‰ SÎt9'4ÒÒw™)7æ=Žø³J c~¾×è6zXÛ]%k³Vêÿ)E2­]?„ö¢­LL ñ–¨°¾XUæÈë¼2á:ƒÁæÇI¦1?NŒ_Ž˜hbücÅ­Ýèý0Y.UmcZð$ßðRuå¸Ö¤ $*‘B6–Äiü9:ÀJh„úÉ‹Np7Ð]Pì4 Œ_Ç6axU†ø,uGy˜ƒð3ÄÄ…ûu×sO·©ON5óTÜycXk¥t:Ó\~ˆð¡sxQQœ6MB:Z'{ê&]çÝ Ãׇ?=œ‹g̻‚.ƒý»W¶Kzýûœä’JJ|p)Ž€p—0±FòCܰÅó•DÚBñQÀäÜD¡¿–Wû~w!šäÑPÞh/£œëÍ&ã ê%Ö~’¥5:ºÖ¶Â]éö]F®N΃*$Tsœò€É㥂\=‰¯ÐDµ ¡¢<×þ5ä—QM=´é¸£340 ñ’ŽÙâ Údž9〙sä6Þþp˜w©ÖH|SŠ3²¯!£8 ºA—w¿|r8…ºcÙ‰ê4¶pÏÑž›m%½.Iwîb\³Ïß›*îüÝbqrû£m}èøåþ$ˆ-§w yÜô)Eí0 ›½š;f„³¾ÈËEÃçä%c¼pSUå&^Cp•øÍÑ xð6{MDðÄ­1ç©îû9Kú•¨Û¡¹SüJc8—²K=Á¥îžqêYÏ>+Û73^>õíС¼µ¶+òŽu@±§ŽNÎ,aÇuGòª@›¶ñ(ú6 Q…_¾½%(0v ÜFcI¬r‚šÜlù+ƒC¨¸\J"$R…»yŸÊê"‘bfwÞ“n|¬§m° ›Ró¶.©ó}»°³"PiC™ÓiZé>gžbHC u†iÀ˜žqF8ËÝy©yVjúhÿà ûÔ.‡]Ø'³L%–מ–~„_&ËZˆü1?%UÜgoB6ÚI:P¯¸‹‘V…!Ä(L”0æVAeDõže©{"A¦º'÷0üì*s‡_hp˜M¼ÂdÎÕU>ÇÁú]:³1a²ÐÕl~1E飪°vç@š[t¾\Ñ#½íå!Õ5·¤ .RÀþnȺœÍ‹…^Ó`@¸Çûe‘çP¬BBªëêiÔ&Ê⻲pÇ üA˜'p³` «"§IžS©xS§ª¡@7±À(58ð>4LJ‰æ"R,Z1á×itIðXvA7í*¢.Ã=k7µ’¨—òGêLPè\·W¤„MÔÓr÷Ö,÷ á«÷x¼{‘±ýí7bõù9cîÿ@¶<¶ˆz«nrDÆRp«v©¡0RßT“;À˜–4[;ôõ¤.|U††f„Ðp…Î7xÌ­ÐkÛÀÇ8“¦SLX"Û5A¶˜øSPÔ€/¡¢GWΛ²F¾gkóNLýúð®Û¯‹1Í6k*±Ž­Úbº5m,øìµÚéÝ»D‹+6Q@Ahÿ÷ƒ×9\ªkîi¤„ÖÉÌSñ–ð6S"‘ð‘ó'˜›20x#9§Ãá çYMŸ®£ÿSø%ž2â{@Y8åþö­È^ò Ö+õu NO=´ÀË9™LgâÜe âµ²ÏÈEBYÉöÙ3ã/Ö ‡PËõ}ÒàÉœ÷YE%n¹Ì ]†MÞ’E'vÅ?øbÏø4–µ_·‰Ö1—ûʨ{eqR dÝÆ';ŸéU×·üA¹MÇÜ+6·÷ȇïxþCn˜pÖ¥ñ ±í±MH>¸@‡ÜÎÑ[’›Õ¦{1S}/¶ÂcÃî©Ó|o ^@R rPˆã ʇ i“ï3ø)±| æ<©O:C4õã a¸kú*‘’Ë`FþE@ ˜]ùÔ ¾« ¡s¢`t®DéÝ ÏZ"™'M“m°SÅȽdÝÖ<¢ó¸Ò,×Û%¡"㻬Zó£Ü×ýí,ýäj,­UðzøDG±Ð_HŠÔ]÷& ­öp–™t‚¹+J›^ÀáåO½!×ò3‹Š6_'Í}ƒ&£“êíÍ^–|aòÛWˆKœ¤k1MÀ`øTéFÍmgÓ"ßßÑ®ž9̳IÊU–¡íc[ ¤ÿê´?zÜ$mà>z«EENÖP‹c˜™ÌÝÚJFâé>¤•Z¨Ó)FÒfÖpÀZ¬øÎ³ùCÕ)ý‚¢3zO2þ{&!Ùhë¶jaT_yßMÖ¶½Xü; Ê F9X¼à¨ Œ9Õ’[êrw<³”NÄÑþJ b¿—ÎUô=Ceó8#H¼ø%Æs3j ¨Àúx¸N¨á™BQ·O¼ÈtÓûÕ€±-¤ÅçÉ<=ã¢Á…þÙ±‹£“¨`Ôê¦ÿà²DÜ"•ÿع=ÈÖ)ã÷<¼©”êh¬)ú4ctØ"} úÄk¿®œ‘ø¢0Åq#b±àÂk¹îœZoÚºªcn}ÓJ°¿©S® ·ß׿=h‚î0¼B³0v„©çäÃW•7òàXé{s8¿ìnôZ‡ðjûõqúÅí‚/Ѭ\Ä=>V¬§¯ïÊè5’Rqé™K†_¥2×âÛUûÙ5û™žY2‡#b©ws¿UãîR µ?!V®ö‚ûFN†Öu¥ÃP;þÙøTrkF,Sž[\<²a¼Íi$ ØÝÙ1q›o¶Uu=­àsòhÕþ-*<ïÀ'„]Kz©Ñ$ë¦nÑæ,_µp*4½À¤Â†\¾”§_±,¶ÂœQ2ˆsCÖ—7;«K,sš¹6²7cá¶I¼ëè‰ìsø¢îA9üz®ï ÔY„¼†~þ—î†{Ú»®Òö¼0n7Ov†3pbv«.¯¬nv?ÜèVÔÏ"´Í:ÿÍ/‹Ä•Y­sýƒê‚ÉÝ ˜$pæåðâüÁ¤º³’W´qëTšoÙ-¯Ç‘|¸¥§¢vp‚²Y:PVΧ-ÝÍæ?•€¼§îé¨F™)åqwûltáÌ}¸ÜÍËkÜŠ Sȃ2›Ñ®²6Õvä6I(“ ¡è*¯Ið%¡½â®î3©¾UÅ h xÛ?“é¤0vïÉúV³»¹Ü$˜!8ÍLðöœ?er—Pk/¿_½¶ÆE–€(åÔårâ¯XŸÙ-)’lXzq×D* øì²^ˆò3ÄÄHIn3âÀJjM ÙLÇ «Öƒò­S~}Ÿ3-@¯;‰ÏW¦¯¶¤4sÉìºpÈô ÏI/å²jÓî«ocmÓs{U¦ÄX£wZºæGtÿL¬lçf!ææÓ¡ÓP[°…©‰š#ÉrÂ#UÏ7Šßu6”ÎÝ%mÄ>=KÖÈódN´6ƒ×êÀM± Îë+È=¹–X¸Çw»ÉIŒ*+}7@‹…ª¸!rÑŽ7o{²iRÜý ]Kˆî_qH•22j¡IÖ¾H-äEÒq„+†Rúõör†…92‡ümI ÃÝJUJ˜È¾È’<âœ# KL2õÙqÚ iX÷Ú°û 5@LÞbø32~p &xÔ ’„o—¥÷È™ Áû•µ5ǯ$E]ÅB»Ðʘ#â·7<=Þv;dÅgV·eíæª ödÆË‡Ç)èR/«ea¥](õaŠN/.¢×0µ–Q6Fsa¶qÌËSÊÃ7ål•«ŸEÑØB⤪s=„ð:`(šŽ_¶Ä|ËÌ5ûsH¢xWÄ…JùÏÓ3&zuÛWRqK (°CÆ+%%"y@_Ctº§Û ÷2mGWm ðCj_ ýE»ÁÀÒÞžþáܨ™Ùö;‘šªfBÖ ðºŽ@t#ޮϸ-$òŸ —x®¤[Ó_Ùó,u9-Ú…ÓŸoë»’HòÅÇŽHœ"ÅIFzÚ” öÉe $ô¬fWtÖû»7Ý2<ÙÃ?¹æOÃÈu"„áÛtMh…ÐèØí;]µ’rbèfvž $çUk_{û“X¬=ÝR`Ð…O¯‰u¥qôƒž™M‘V¶·]DD‘/Ídì‘»[ç |rNh#ÆGš#cÿ+ðr@CË,ê¼fúÉÚâ· ‚TÞþ$Ìáܤ|n &M{­˜Zžÿ"ÐÝæ¿¦`¾Më7:¢r„[V¹RåxmqÓOŸÖlÎ=ð(&ˆÏËä·(„|’@ÝÑÊ|aˆtKì¬ÆgºW˜.о|]zY ©qé‰íY"?·úotÂðu0•cqñƒ­úØN/VÖÄ'AéÃÖmDê˜ÈW´dŸðúÏ™€å¥g†>a€:6ÅóX²Žkø2=…ÒÀ—Ô˜#EöÚñ-j´Æe¸¡_Ô;‡þ{NãÚ„Ý oªV­¥ñIŽß7ÖŠ¡D’î0”ÊUi‚µ)‹©9ì‰FAY¿æs{†U6$a¼ñ4ÃR’7½…Òh´[B¤„{ƒÛwê3æa.$¥¡¡ªDEBÖ6%^v½6†"[jU¦òj*¥CÜcÂ¥f æÈÆØ«‘ÄM}feú7xX¢.ÿ†îU”c'e ÏB…»MX§[Ã*…¨NÜÐIZÜEw$y )>~L|1OÁî.ÞNÒow».•űbÉ™8¥2Þ¥ÞÖÉÇ—=J¨vØáøã£ËåÕFö:%o+“*¼«ªÅloáÝ3Âon4×TÜH.@µóx(s©³4»Ù]RhÐ9uÃGE‘–VOM°WŠlOÊ(ö… þ2£^Á»Ü“ tزô§–®9 F%¢‡ƒÜ2*ŸÑõmʺø´JV¢Âyòµ–cNv÷YÑLí`5¥h_øgçÒDˆv'B¿Œò‹ïÑRrs^Òé™×¹Ò·£k¯hz&:q·5b‹K´ZÔ+Ú"7Ú4œÄŒ§¡áóa†çbÕÃ=ƒnð|ªÐ²M 9ŒÌø‘5 ½—©…Âü@=òج1Ÿ nHYƒ[ÛæD(ovë Ô&à&²S òoèê'.ær²•©÷+_øU8š\ønÉßNÖ<Ï8gw­¼'ïÈ0oy¼#rÒ–*œÂ ;ÈJX0~?´kt <Ì ÎEFôcÙÓc¼êôÌö?›?ü <™ÿ}ˆÊ}Üx`Ã2Éšî©z¥UÐö”ÓȇëwÔÛsÀÍàŽîä,]A)žòñyZá>q~‚uÓÈ–†¬Øõ` È3®¯6¼`êš3…ôw’ÎÞ‡;n7°xOìOV ‡»××:;‰÷("7I†8‰ñÁÈôºƒ©~îÒ•b©D¡Fˆù©ó³w ]8'Ƀ@ B¯?&ŽR-}±¤%¨C±›OÈñŽ‚þÐÙU&(küLv÷øÌÅïX SëѾôr'*0é%Ìõ$ö›ÜûNï/jÈßÒ<]´8”¿;ê|loÚðw`º«>˜I˜4JŸ©$`MA¥©šú­±ïÿ?°zn&2é‘x'ý Æ*Í) ]bYk¸{€p·õ̶†ÓÊ<×Óu|rCå%”Rü…Xl««o×Þ¬WÀ¡ï/ hFf"©q’‹gù-æÉŒ¼> Í69éÚ-lF<ÃφzmI–¾<‰¦ÿå6‰íc@3o»ý;> ”`8ï9YðKz‚™¤Ñ› ìî‰Âƒt8ã¢_^}BÛ–ßÌ­ÑÚ'lx†0–ÊJüØ»¥ÛpôZ¦F¡¯}æé–xÖnŦRÁ­6¨Fh ÿ¢®ïðû‚rŽØ–O]ì‹èh&-éü °Ì/ÿ ± [;&¯ Y¨ãRWFUÝÓå\qG º€¥‚1&ŒßŸx( ÐøÁC&y–Hq@jä3ßQ.8Ø8.{®£#ƒŠOZ­Ø2ô ™©#Á©Ã¸;LjŠdÙ ‡‡QDü4¸égñÍò¶`s2ü©îlɧÉ1· ï•åw†è!ø¤«ç‚Û š1GŽSFëô<0îk“Ĺ‚i!ž¤—´Z]š7 W_‡ÚP‹Ð®`È=¨*ö=;_jEòGÚüëá5?Es¶?y+*c¹ÅQxªçÂínº Ò;ƒïº";ÿxŠ3 ólÕhªïúêÖ šdôGò°Áœ­î”·ÿµuÊr‰iY˜X·NÖÚÈÔýæ(P¸šx½þŠ762ñè˜*!_Z·‚ôÔŽÈD°LÀRš½ºdPh°JÎ©ÏØÐ¬“/ëaHü_‚¦gaæ?Û˜šO©x *¢NžW ‚Š—ñÇnQéýÛC‚àcÏÈéê-^Ò%¢î$BáJ+×-=y¯á»{(Ù^—Ì[þù.éqÅ¥JÈÍ„°Âý\G^‡ ¬5õ´Z+Þªšâ;š=äGsíyܵŠÌ¤~¾³R³;,J¦ê‚Šm-ŽUD¼ÉHiϧ)䳂´ÜúŠp¨­îªJ0m]›ijÿéwLjpŸÌ‚íÑ)ŸŽzÖŠ¨ú–”Ž©ªÂH›®é¼y99Ïë&¼ænÌÈÞ%+Éç ’wŽÜFµé°µáÿš~9•0«»Æ¯IÂz^šo©Ü(•¶ôÚÉÁ«Î·ÜÝ»uÕ&¸Õý¶º`:NÅþRm!„BMV¤VÈé7W!dcÍÇ:æG}FJ4'Št“GïÙ1 {š½Ç+?Ö‚³ó•‚™ÁØ(í• ‘ÇkÁŸ ?i!ŒQŠï·%³ÎÙT§ÕË'ÞÇ‘Ì{H°ÆlÇ(ç‘_ûð wWthñ€›”!@vëÑÁÞÄÖ#®}KÍÔ§]\ 7—¿ÄQß  6ÄîÊÅpÑŠëV–ËRd.ãC6çÏí-CU!?)µ¸$¼›ñº}‡·Œ# Ä»æ÷AŒÏú%ù/Ó“È,ï…'¯‡d/oFÊ,ðú†÷q0¶èÞçŽUkj· Ý}Kù¼óÞ„å™ì6‹bå#¦£»°Ï¶Z¼W›J I“÷ ”gv’YZ›Ú[À”øÞìh6órkµBÊg’¢B~@Ëaèq›Q Ï«ï›žƒKŠr5£ÛÆ6•“ [Ó€hžLP>ã±4µ#Áˆ£$D´‰Ù®­}ϲXâ`¸»Î> ·Z” EòÃ1Ðb4™h'ÖäÜ;µ5ˆÕÈlRN†VÕ7íR¨c8g…«¿ŽYtRS,Ó÷ –B7¬šQX8φßXm~kS=\s|RòM;+òºýÏÈiüó*/Mà…6zˆã?.1àÔ¦´’LO䨬<[gJ-÷j0×üBß¹»~†-ä7ª®’›7›Tþt]/Óß|,áËÑKvWøÆ`†¦“ƒ¸¥µ—='¼’?Ò¶úWW¸ª®=ZkK–‚pHë¥,wÀÜ;Á‚àÈfcA±±È•w“Û¿lÖfj22[‰ð LDžgÛiÖP$ÓX6ñBí©´H±ã&!yWûø0$ŒÙŠÏnD„¦ ZTwÊ ˆ¨`¸TèòÆÎ§ßíuÝ5μéùr÷ATÜ^³=ì Ë+P£Å#(Yº«ô€u›iÿ/w¡¦ážµ£—ÚÀ[B/I0x«álöÁα'é‹I¹0íª¾oØ|œÜ$µÎ#褯´<Û~œH3x÷ºÀ€ »×W€=0Ãz‘+XÛ¢y¦òúд°îÕûã²’r¡Ë¥”¶Ï]ÎÐçÑM]QˆÎÉ)Ô–CÚ‹ qÌÈŽ©Œ¾oX+GbzQÒG8{{»¼À¥Ú‡ñçWý!˜™«ð!°.3¸¿*Â(üEUá9·Ýk­¸ž,¥o¨zÛØíŠ•+Çû‡»V‡ÍYEuzƒ“G‘Gw3!K<üÇAÒ2óSû1LPzÌ–a“êÞÆüȽìkw·“•OzˆÅvTì¯|L¼,熶tÍL¯j"j ¢ŸæŽoÄhžJ;äøèXTèóÖNmË9å-‚?ª g÷B òà Ä_U&¢ˆGÑD<Š Š>X[«ÃÉïTÍ‘-P¼cO×êÆçEÌâ½QpúhŽC`"~ü-uøLw,nqDŒ§†(_&øÀÔ øÕkшV3%SY¿x.Á2äd¯î™@jízX å¢öc£Ù£~rè©äxy›!# ±7¬Ù]Q á¤j;¢'¨cõf|ŽD ÁP>CáF}ð5€Ñ¾µùuÚÒåt'¿ã)[:Q枦Ï?Œç4 ,溜D~°?Aóä~üÒÂBŒã•Eƒ o×}Gíà<ìbÑ'â%­UR ahέÕxg0ÕqšjÊ]0Áz0.ìˆloïœ7Ó IU^¡âßC‚WòÄå©Pj…‰$±?5Mâ¤CMõWBu]î÷¸ ¦B2KHL(ËÐÇ«ÀÐôüÎÕÝMëį°>œ¸w¾“BÊa^"R•êIIrÅ´‹Ï­@N¹õkB±ª€Öp‚ôLØ*yy×SŸË`Uû©Om8(—ûiÅrok:qš—ÿ4Ôí7QÇT…‡}~–c˜Áþì æËEÝï¸H·ð¸„WÕØßhˆ¯Ø‡ôÖdÑø–°ƒã{R¶ê+ ¸Hxªº­nn©©iJËÈe”˜\ú ±•hȼÝpMn¥,¶-ªJaö²|Fk–45[™‘Aìv Pƒ¹ÚDa,AkùË.8¯øUU·•z:ãå‹ð˜ë…§ ò”NökÁŸsUD‚ÈA³jr=SKFòe%º§Pð‡H$)u¿=ÛÝ}Ô´ ,!‹M®ˆÂX¬Šx¶:Æ£áü¥MiÙm¤v@´pËßýpï\Ì– ³r2Bzc`ÄÐy’®40HœËžœk’5¾X­>õÊgÇJ”_,êr_N™óqÄú»Õá‘Òõi á}˜ÈÀ”$×(µÈþ) J[àa Ä¢nã?žé`ÛÝ`,çòxPp†ií‡2Î÷·}S‘ÒÞ· ^qÁèâQ³*9YšvÊ•MÐÉ%ÔË]<©©ÍPŒ®÷§eÔÀ¼ÉN_Mô›¾¼¡ ýQEEÀR(Ü\áNÔ¸7—Iõ:ЕDHaÞmó˜!$XîwT}twõ>Â[h‹•¤ýžZj(MZ\/› ôcsj-àÎ>e‹7Ó=€ÇëÜ*£ î¬Þ·ÿ‚À’™’Á×áY[·Î}zù/ùJLI'ø Ü¡R ËÚ'læÚþ˜€q,dzê<:÷™Û´íØNšy¤TæQ— ƒP°¦ìy¢î6Òf*ÅFöëâŽù¿IÝ[füBo˜÷M4De7ù­Ý;Æ­Ü8jFòÝ«Rìñ÷”t¥Ùß~G‰¤[^èô}Þ(5%‚Ž)»Ø[6Bä<ºCóËÜv4ÃöVñbIô ‰É'¿ar+ÒÌméYI¿¶–ð72w_¦ƒšzº;MÈE7b8÷ 0ÑÙ’äkEñÀ˜§)¾9TY€Ò1ãºAI!á[ï•03ήM\XZŽÞјL“4¶ “URRø­GöÎÀ Í7ÒŽh( <Ì³ã øòÞ=™I 2×zê7¥´òð‘ðD]zeĺrZ1FŽÆÙåOy]åt„Ÿ˜Œ"}¿Ó¢E Uú²²æ5)Œ!Rû¶Qrb¾-%!m‹(Kß@⇶Ùň æçQòß?Ú"ë¦ôSþP Y,²5úÔY±ÕÌ8UÞú¯À“ }Ÿ,’Z†h§Õâ®I«ÿ˜ƒ#kÄ”¨ÀydÔp»'\éÝj>ê¢ÞVK;ø´„l´w|Fï*Ö)‚®Ãën !»´>HLêv´)òÆ.\Yð»­ô xÅné¸[?ÖH‘Mk70¶)¿Q1~¬E|ø|9;0(å,zTtàû7nÕ+’¸/Fk3ˆ¤†Û¡LóÓºÊì±ëÊ]æ³fh—tÑ9 *œ²ñâå­E$·zûO@r¡·p.:ü e@ë’ßóš‰ûHÚ†ÆÏ‘‘…~• °ÐJ2*aäåˆdíÐåçЧ³¢ÏÐçQ¼œ9»?êíà@õ’Î!ëÿíòÒ³m›"IËRmð̰&í)íøÌÅ!$èz;æŒ EN£j j@™>‹Áôœ›Z¶2­Fzòõúp‹àüAv$ô”™ì›7×ÍÁŽ\÷û¢Â£øO´þF‹'ªd_ãvZŠª9;JúÖ&0õ¹‘e…ÛŸ®xb‚¾ ì’5¦M­×Eè‡Eñ”@/Tý>œ‚+LJ«µ(ÜcÔÏîÎTÿImCDà1LHIE˜²Í‰oá[DÍõ½xêõÃ"µmÎ-='Zåì¥ùTœ5–'SÚUÈÛ¾M¤5U9¦³e‹GØeGÍ~„Qõñý $M[aÆ_òo.ÖÖ’õ¿²Xæ<‹·Užv¸NL¬ ù‡©èÃ`ºj®7š†Ë& Ó´úÕ„\åµ–³ãi+F™ &ö}Rf5V²Èî|G­NPy˨”^\{žŠmwƒ¾ìñoiDØÐÄÀDéM?ô *ôzÐtz‹O³˜Deû “ ^Úî 0þ’z{×kF®úav‘ n¶¬®‘âU"DRVÙ§P¾ew÷XÀ¸óêA¾cg×â牓ÎÌÚ³’¸1¶é$|—‡dt~Î{Ì=Î (È®"¥ª—˜mðS†»Yê—ñD#@†¢Ãàë­*®EJtÓhíSAjvØmGCCióMÃwû"HÞœ”<ÁBiòj¼%È#h:¿i‡~M62_W–qC¹l&´0‡c-E4 ǘ¾NSq‚ƒU{¤rÜ`[lâì7¢6[£Ð±Â`:Ï íÕ> Ä«\j~QhxÞ OóMlkŒž‘öJî¼YöE%„Ú*ùïùˆälãW–çªàugό긂˜@»éœ.b³y ‚ýÏ7'Ì÷9Û. R‘ƒ,ËüÀEÁC©êÚÐ$¸3¦˜ÆßÈÌàÁÁª ›}}Wö9Ô©QqI£Åw` âu‹ÚM¬ËÜ&ÓuQ·m~cÌŽ‹˜Èk.•Ÿ´{¹rl´À¼³ÒÕàì˜t BÎ)X³uLM:0éfȺ¸`J¥@:lJœ·¡˜ÒB›x”ÊóË!ºøû°Oéî‚uhÀ«¨0ÏqÛdo—ec“ÃÞ‘%ì ÐPˆ0ºKHŽ[Îmx$ó€ÙÞ›©ü/ J—×u |ûr¡ã‘,ûáÝ““=xGÞ(ÝGà‹i€dÿ2;L;aÓS:@ìP[#Šrn.tâ—;BiħV³$ZÆßJQ²2„†ïÔ¤eÀØ_üu×Sõì`gàvF9×t ƒ¥,xeáØ@ÔIŠaǘâùŸá¾ˆi¿ŒÍ,ø›µr÷“¹ƒ¼ô+¶Õ«Œ§ÛÏ›$c‚\AÙË¢[Gµ<“ßGñ6?ãšÓÃ?^0£¯¼Ímâêk€p¾Ì(„&NûØ:J"¨ ÉÌ@KÕ™$¢‘)ÐÃ+Òœ˜~Ñd²z{—èp¯ËÓ›e–\É]n{n:xóä8pÁÍ­Dí/]OتxLŸ+hx÷•5ÃEí˜GÒOƒ¼'›â{²>·N4gãÖ¿Î/5íàÖÖ”«ÓôPÂè5 ß~TL³_‰páÏ쩵-ô¾É­àÚ:æšã„࿎úÇ/˜ Ë•¨¶Õ^,ÑÃÖ»SŒ#„­ÑÆïݦbX#˜B/ ú„TfU:ÛiÜî"¼ÖšT¬û9nŠ»ZN_”K¹ùé~±3WéÃWC"C×1ƒ%Å­èv7µ€Óï7q^£­Ì0‚yb{á×nI…a½²~^Scf´¥é5¥¬ü÷Á½™xCi4–[t’œê,È&G x‰´,Cøá6Z'i0B…ptÿj¢ó´®×Z¸BŽ_™ÆMm¿îÕüŽ&L×ål §ÕÆ]šÚhU{¦g˜Årø]ó¦2ŸÙÖæ‚»RÞøA%ª6È‚Á»6îžš‡š.¥n}üö:\'¸ KN8^n^LTŠß3¬%BÄÄè¤nVmùã9šKµë@gÔža¢<¤·RéM* '9´ˆ+Ú¶ÇåÒdɸGµL}ºØÒ *ÿ>£1¢â¸½.µy=xT9y2¯‰0þ“ŠÿuÞö@Þ¢rµ™»l¡6¹­qº)Yä|Cù)±!ac^˜‡[×À.ÐÄXg^îWÌÈ¡ÁùŸ:¢ü”“;ƒð #Í(}¯¨‘-Ž‚‚Í?]*¿9Ýpík¹›õN&Çl¡¬75m°—†s 2’)7®ŸÖHÅŽŽg¯xpø³*Þ·E ‹È÷‡$½þBÆ èÛê’;{tÝCÖw¤Ï7ã“ÁB 0QÈæ+¼Ok§ Ê«j¾cÚúö¯€©KçÏJÛöÃõ¸zAÄxv€Kažº¿]éäÓw­Ê‘iŒ¯-è½î\Q4†X€<”Ž« +Dlò¶Ó2«m¤q¨Ä¸ç »`óÙ“Œ W\e> xF×ùÎpMtñÒX{´|½9Vª!BËü×5¥C% ܆`úFJî‰-?ô px¹næúº:SYì꘯ ·àÂQ¸¦s½ëSƽ`tN™7ô…Õ8¥ùµÕ²¡•S:$=Ô‹ŠÇ~mëïi…€€»Ûø4g“8é«ÏV!÷G3ˆOâ•)q~é~œé4ù˜yWzšÙ"âáòÓi>:Þ¦)Hœ²¢-Ù©‚äÇiGуô“\·ý wºçár!«À1Þ{ÏVnŸ6…6!~Ù®çÄšÙAo|%}1þýD?N˜ ;*Iþ~Å ŒiØÈÐYn).;=Wìuª#jYqÌÃ<äרgµòø5F©Êã×,Mh¡Ih»^SDF+ZØSÞÀ'¹]¬1('î&e䙨û¡DxI‘­šzž‰‘œ¤`Ò*Iûæe7…¹S}ñ[ Æe¥ºæœ]øÛþzWL¯€0o]«ð%&‘ib ÒÄìVñØç ñfαÞ9×8†5©qò`\bÝŒ&ŸôÐΪ²Ǧʄp½¤%­ÚþFEŒÂêsäÿ÷h’üãÊNh¶@ݤrEµåíë¢mýÖSnÏyH(á[Joy7>Söƒ'ææÖÀ;±I-8¥¥GË( Fh’úcKä Š#ùÙB‘DI­ôü«!Íf=Wüù÷¯ÿý> S<`ÁÑzÃÈôÈrÉ@1gŒ>~øÚƒíâ›”½§é–&¯~(¡¾¯Ï-4~ ùâ0w15 sg±²"‚0øØ<ÅÔ*¬™…ê5wPÌÓ¹#Ì{Ä Ä3SŸ‰Ž_oÃ럟4BdFñ£gp†„µÑØd®I,WÕó|zаý¡Uúƒì!;ÚŸñ­ü?—]µ&£ð¢ñÍÙ1DÒfVðºYÆ0žzÅT+„7¸ð1=ª›2µ*¹ÉcÅ™çܺòRÊmƒã';³Î¶8öìÛ‘EEÙ© t9¢¾å¾âκ-4¢îsPèqæs§¦LJbj€ýjš‡xÀñEOÓe{Z#Œ=>FÈ>áÙ@bPÂïrIZ¬,©@1ýA㋃a†1CAEF“êk{W1%“âå3<» -üW¸n®µÎ\¦Ûó•Æ$£4̶,©ÝÇÍ¼Š ÎD’♼}/¾Þ8*ä{+q…ÀSƒB†\u5ùAÿ,rÝÐoD»`‹…Ô@¨t˜ýÄM°YÛGk‰${Øæêø£‹4‘Öš(Ûãï¹Kò‰á êßy-ÄL ²HѸ’X†­t“+?ㆽé[)êTAëÙšI—Ü‘AÉê“A:P½€óÌP'wîÄ× } Õ‹ucwMs¥&V6Ñ2Y{œþµïG«Å`)Uú“N‘J¼ºëÖ¢+`?HÏÕï{xŸ¬®Ûí·¼½_à‚6Ch$7YG2Åõ;¦Õ0åb×Í(–îo9†älŽJÓóÁ;ÂÝ7¡Fiu -^HÆàÞü9ùæ@+c-scVî¿“NYZ“ÀÅXÈJâ°ûòзb‘¾ w”ù3ƒÍ)[è¶Ñ|™YIÒ½¨†;Û» ÑQ€rFm‡1º%†vïP€_Ü; ÔÇðVFŒÊ<Ká#pû×J~N<Øèn5cЧHó´JÜ×fL½ÃDäÑGî«ë ;W(¹,Ãpð[—þB8w:æÛò˜Ä?Îì8D =mi~90[ÖR“¡yJG}š±T†óÃQ)+¹˜¦ÚµFŠ‹ÞT9ûçþéi?¬Ï¸5Ä‹ñ™·í„ @a;Lñ±îã ®Á:®ÌHÓ°V~Ý·Àš(å¸Zf ŠÍzKÙSr}o?iqOuÏu—#b £þìý[E6à@÷°EdÐuÎzF1áƒuãÚ1Œ%Þü–ˆ&;>à;zÔ]ªË;k ŽUùõ/•íÚhÔè"ê,´oáØ+ß>RËï5ƒè ”ßox ÑßBÐÈáœã="ë?ÈAUÝttQŽWEnðhJt>ê@ÛPàÝ1×VXSBȨÚFT|2ûçGêüMRVð" !£{7^|F„¬7¼¼«jîM„‹WSsË›‡ÞPj¦‘©© )—`Úä‡û/‚?AKø{)ÈÂ/*,ú&Ó—&ºk%rŠì¼üwl#NY»‚!ÇÇL~cÊæéÖßÈÝâǰ{÷ý BÁy^«>)³¼™®ÖÜé^óy:ø>Ž‚O‡ µJ"5¬=6R£@¶ªѱ!­~½­y$õ|‘1B¾Yzê*Z³)ùi)ªod“„©—´Ø0Ȧ˧wphŠÃ¶K߈QG}ÂZ$Ù$Ls*beÑÌLJÈ+J[ظ ¤¶úS´B8:me˜NšOÜkLS7$Ôõ£.A`ï þ<¶zZÒ-±bX3 )vޝ˜[í'¯ µ•CÎd@ExìÄ]aHt¬€È¸ž#‹s·Ú¹ú©#šœIÃd+y‚ºÊ¸¹ËÏÛùˆÃÂAI ,vÁ9ÐjÉ:K r ÎeÂÕ%[Ú=_rx uEt# ±ê 9¦$€x0D&)ßx,4A/Œ("x,)Åïãç–wnº…$@~q ^•E®=óÔm`U@tûÔ$ƒ¼^èÝÒÅyX& ‘î² ¸¸Z›£Íù#1%-±wÈîùk" 2Μ„N üà|k Ùþ3QWMµÃæ$`Ée.ŸÒ£nË|±7Št®þèR2â}iK.ˆuLeV½p0.õ²ÄU¬7}²û¢LT~§î<¨Š•ÒÖŽâ"&n¡×ki•çæz#`>ßšB`U«‡6Ö€Ú¿AItg5Uƒ ÿï~iQ(|‡1ÐW¼sË,5«o¸)€¸=3Í ¨äN?ù…‹&Î $Óî¤Lß&Ôöê<9ùí,ñJwyP¢þ|‘çÌ®sÅA°Ï”`þõÓ9e”as ‡‚k*¡ð†¦-»ëðÑc„7E‡ À!ÕNé—ïv ÆÐT‡9…/ã2íKÅÎøôÛfö¸ö€if9J]N¢ÉÔ_”0Œ–urÑ ÉcçÉ¡*8ï=?âάW`<¶äÀfc¢å1te4lÔO1Ô ÛT”,ÏñC>ÆæDˆzq-Þ[ô$ÎèK=•üÅgµ|…1úµX‰—þJþRNÞ±Ög¯Íøñ5qž<QÕ¨½>"üÉÛ%èIÉ×S‡ÿÍÃVÖZ¤Öã}×Þp€£6ÃÆšüDT°ØµóþI`04‘¢ÚWèç ³‰ÑXÉ:Ìpˆ†L›§Ñ‘õE†Þ@_‡¸.‘xdê?”pQ"?LÆJ«þc!biÕ: ¢W›>Q(K—TŸXÙ=b˜%BÞ ðv;ýQ¦õ÷À»_ÓŒNÄÍØ(§b÷§é–|÷†Z:mxÞ1K\úbÆbÞê9Ëw:šÐƯ­N¼G`30;Ç•\ÉÕ•Tmìe/H½ùësÀÞ:¸‚ñÿ.…ó“µÚQfgPXý3ûà*(¤âjŸML+‰óÈ*@d'½™†ÃŠJõÔfê먾¡÷6éRèÀ8àaŒ˜d¶±¤­2ܘK}zÅWb ^Ø ’As|͸¹“ïzÂKL>uïtÕ´a/ê!àRh¥¨%‰cp;L#¾ônêÕ¶\äïãý¦QAî…àA¸}§Éæsšl}ïÉþëqä’ \£z#cí„(ªYs$7ueζ‘H$¤Å®æmvƲùRÇUàý„;j’›“B ”ív Ì§P\Ã3à87O86æøø`{nŽ|A¨VóvDT¯%Q½Åì°5xQ N3¬,/’é`–׋58Ê®ÌuȺ8ÝÁ¦•ËOsØ. ¾›Ò¶êÕ×Lçt!ØØJÛÿ:\T$•ÛµYXø}ñz Ö£LoÚ®@ÉN^Š™ðÿû«gýçÆpp,™c‰ª$ÄY£‘ÈôRÇ72gÉô>çÖÉ®zl‘F,àÔH—"mDu,5d¥Ï÷ê1{²Ýo7Þl¿…ðÚ´€\›ìgrïkàá(goiàQðž}±:ý@´œ 1Êロ‰·Aÿ.Ħ%Ï0ã¹Íÿλ(ÛëÈ¿UœÃ ÂgÌ%„0W†’· S2B‰Ù ÔÈ.WÁÖèõ}¤6¦w wc +åú,ã\‘uMZЖÃÑ€}Nì¨sÔ£Lû<çõ1h£n8í…qnø'Õ*Ž7§/ò?“wIã2PC†Û ?XÐÛ¼šÊú‚ì×™>•›+½àuÀ%Óá,o•§Loû,æK‘Æ@²ÎYÿMÈÈ9áVÈÿM´mõÁcDµTÙų]{ަ}%ýÌ?\׋QPQÓ6êžú÷®jm»ä÷ˆa¸I§¯Ò‘d£·ÎÀßÙËÛpfáìñ¦4+N#§~;׆W0$â|=î¿ô–itL¥ÒpîÛC©+ùF• 䃇÷¿O~˜vå6%Öˆ Ì3p§»eâÞlɼ>rô­c¹ìý',œµRbòœ÷‘[»¿Ñf!D‘ÔÈü ¨MP]—«>¸æîññå@¡c>aîòïÏèûÊý|ç ¼-NzôK²ƒúq;Ò¤Òæ;»\_ä%iuV¼È“w{<ÞFÄ­Íq‰Ü$@› ÖË`6R„†°*Õ) îÝÕsÙŸ7?vkêU”ï„ï“qtÜ£èü&… c2ì£;­f¡ö°®U•Äpºîëâ9H-®dHµêê–߬ ÆÚ3 K „p¥_ï3 nÊjÁWTg2ë'<£¤oZ¸Êç|–N÷üRUÏàî°aͶˆÛ[üúcz(Å€¢+„¶QÜ•Ó\4Y5íÚ‘~²¸/¨X±9}ªæòûÜ´õž•$à…]?Š^|¥¤°×šaè?„-¤ tæ3Ðùœ2Ï1¶yèzõÛHñÓTèžÀ†ªžÍ±nÿ/ '¨*ÖÇ K2áqªÂï*9ËõŸé›²¹WÖš ‹Ó-™€R°öÐwàZ_£î •‘k¡4H,µŒ©€DÝïÒø)y´Ìêë8O¿Ä·V [áÖ—d£ÎiSÆåÈo„ ZxÄè‡ÕÅåäÚ(ì\aÜÑW2@¬Ey\sÜv¤"Ô²@Mß ÝŒµ‘Y˜8‚}ô5rô ÓþËO2"dZ‚I&`µ:m:®ˆ¨|·œ”¶¦gñ¸â>(ǭתœ´©CÈ t.b®%tÈ–àÌ¥ØáÒýÏBô³Æ°û«K«9äݵءëg%¸À²Í'×RÌÃhÏà?-"‘mŸqÑz£Úžj¥xŠÌbSZõTù‚ïäñ|Þ”q>/õ§§…Zû+嬌p'ù£\SaŽE}‘dçm”êÞò•ꬻîãåá.Ë)eï‘öóo ™êh! ‹3ÁeN:Ø«ËxÚ?Xm9+ „V×Ý;§ Xü¡{l¯ª vGssåÛY§øÛ®'ÑFåH[@œ±Èjd®3vDõ›í“cî{Uü_}VúO8ž¯•W¡P~¨Rå dOuÌ­M\$uí~‹_œ„I><üK5ïÝl¹ßÃí£&)-±98±`àêAfJZÉzdžL­ñ\çLGd{›v䣖ÑÇÃdßwKLÛJ'¼ËÔ8$åœYˆÑ@.£!Èjwž ¿ÀcûR¾«|õw¼wR,òìzúe@ù¤¸Ø{­®Âüéñ†o_qxÁqãÿ<â·9,ZhZ­6—1J²{²è˜ãÂÞ»LhbA˜f©oÐÆ.Eº62íˆkvŽó8ÔYµBº©ÓŠƒjèt|î±Ä+ Vh  HˆMóù(úll¹Íª@ØhóËͲW14[mfA4ftZNC‰ý\믾` ¬»þšacßâRŸ \ŽÂ#žo»žÇ±£[PéLm+CŸW!EWâ·°ÖG=ìg4×÷qö~ ù®“.Çw¸%®¦ ý¥ÖL)’¢×¿Ü{f0ÖQœÔ1E·¢•ÿ ÝW]|¯cw4ƒ÷«ú+ô£žógB‰VM‡ ÖÛÍwt‘¥•Ü5ü‰x&Ñ0²z¸ÃV¿85èîXßqʪ9úsv`9ÀÂwó™¤ö‹[ÿ¯’ÊJôâ~$®‡F“éž×¥âÅ1U/ žˆz9 ÝèÖPº ÑÔ±†¥5@þÏG.}­Lƒ·e#Ùþºí½b4•ïÿšdP_…åû·ø”q÷’ 1}~` S¥Ëâ½·ÁjtëÉä)î ½àsÜ$ÿ BˆÝd4Àˆ{r¬Q2áÞ¨©ž© ‰ øé~å ÷V¨EPÓÊ-œ¹wêV/ôˆ†´Õúó¯^Òüÿƒb·È - ðë<\¯!bŠiþœ_0í`y6€:¬6x¸‹è6§KÄígæ_HÄr.#}„D“¼(Ý|PAÈ´3ã–R©÷íw¼ØÌïp >ÌñýG!L)ÌpØ…‰Ü9cEªeO%°Ñšûd²Sú7ì}HEVï8irä¹QVŠÿ™S²¨¥5W­Pãç\›¨u§•Ûåß©—Ögʹú§jµåÆ7Â$0~ÁEf’^HØh2¥1ôq€é ôm!·Í½Ìi³Ã•»ª#»´¼$ß÷S½mØ;Y.§&±fᣠŸI  gŸÄ˜þUÏ:(^wì3¢QãÖ«AÈS–u#Dÿ¡Oà  •ßw±²¤”ƒ0tƒTÛË ²ÜP4¸Ê¼ FAí^Úžš€’¼·•… ð+WÌù’ûÍß~QžkÚ½W 3IÌõé@ò‹_™–¥î¾¹–œÇ.Î~]®2ÎsðÇyW(éW®A‹ä½,pMzÔ¹n#¾báj›Ðý-?*6§ƒ^L{viŸrkMS¢¾#ÉoÁBçlv+…ëã(ö”Lh€(mŽ3 u9>\©6Dè aê¼ì6æ›@…dCåL_ 5¶*Õ{ t¬Ixš"Øà¯!ç} -çYìå+0 IùÀNžw†éÑÍJ´ pÞg6Gjð¢‡ìµ ‰+]\üY…X`¼ J4u7šTóÙnÒ‰piø³œ•8- þ†Ž¥`ûˆkÆ ^­tØÜ¯ ûæåto÷IÌøÁñ»ì¿ Ù3vgO‡ Ûß§lhø~qâ{Î0f5íî¦ÀÅMe)å,µsÄ1¼8+¹ßUV‚~@ Ÿ#źã8ØIÊyÀygq4êÃgqò‰'Þ$Ñ@¶Yç Gþ g-‚¯ãª‘3më|æ:y-ð„=<(Àë¾>JØÔ`ôÙ+­åæÅŽðuœXË¿Öèž *˜ÁU$ÿ8™ÚY'YN`-ÌaF(vê GÆâÇ'üYÇÀpm«!À=T.]Òþ‚i—ZÞ ´A·ÖÖoÄ•‘ ¶‹›'ðÄpë« “§#ëá)£ n§Tê ûûý˜ÑW!¹98ê¼½uE%þÓ#_åô&¼IÍí‰2£êØ÷‡#i¼íÛN&B“~¶Ðm./&« HÐLýö8e>­•²ˆ ¼•ýí%#­é!5T"„]Ò‰jÜŠm¾ÈBå®s1ê˜ö¶†¢°<å©«<¶Ä­L‚9Uw‚G nЦªßçþÒÊ!‰úë¼®c“ƒPÌÚÚì„Q&bó”âu¹IiôlÍJÁ)S°DåÙ¦H_co®@rõ£ã{Ž)7IÕ™,ænôºŸÇ¾åÍ‘ÿÙ(ÿ—fu‚!– âJ‹åQŠòäø§‰õ8õ6Z*¹*Î`£\±h¹/à>9ÍsqÎÞ¡fï~ƒóF/žì?¾”÷™ÿ«ÞvѸ¸_R…ôµÌôÞ•ó¨ÔÔâ7¯äm÷¾¨e9:(ëQ…("6¥dÞÛbnyƲäÌšjê[ƒãuÊÙŒ oˆ ˆËdDø»`·”Z^\ˆŠÖL  Š^vϯV”Fkaò@ %]Û>4á`âÔ_[JvV~Ɇá_%Pý3Æ=Í)c¼xó5$¡£ú]˜k”ka¼)‹—"= KAv ìëõ½(…Ö†P13™t¯Jr8è­¤»hÁ 6ŽeNüE?,ø¿[±Êvg´„´&CG͵¾ÚLóI^ˆÎÂéðZbP¦sØWœط!urãŸ_{'ù¢½ÕÀ×qÙ0ÊÈpÑdÒË•5ÕÐscJéÈ=EóA³«Üw` ±»ËÁXñÔ~Ø-{@Vx^ˆÎ²Ú¢(J-±æÝÃiX™Œ)¯è¥/zøø/¢ü1=;Jžó»J:¦¨IÀ5#ò]Å·lùº.¢ÍBDý³U,Ww©’÷FFÌm¼î<íx›û¡ö·²ßVuõ,8@ûšØó¼‡®tg9R?¶6”×9ÔT“W¬ï¸ü@6Š3z:Áu ¨¿¬û@Eõcöw’´Ÿd+ï+5ûU˜)é?H¸ÞÈ#,”FåG@¥ØIyªƒÏVW7 ¬гØå÷xÊRÅËË^)Úž¥DQ ¿.Œ!æZ(ÞÜX3åONƒoóùiÓ\¨÷n3«./™TíŒ1k—]u1³žYUÑ{ªÒŠÔn}/ÆÙç†f߆ÁtÍžâ c0Š¥Ì]Ûà Þ6\ésÏ]p6:Âd;u¤@Ë9f½ïŒ·™ $)Ãt|«*«ØŽZÐ등®!éGøø¿Ë\óÖ×pG¬M5Rõ¬YüÝ”¡ºa·i‰ÜX͉¬vªˆß9™Ü¼šæbšÈ»è‚ýB,3=IÜĸ'ÛÓ!ëʪÞhIêòÆÞvØK hùhÏq'§<Çf;åD52†ÅósËKCà%è0%† ª¦Kù4gþx€ M¸b^èßåé£o6f´!ÔU xùùŠÝ¨?P©ÜŠÚØ<˳§›ìƒ“ñl¶Ì·I}·Aÿj‚,Ïö.<ètb-a<µ,¡þù"1Ç6W´¦t;ÕþŽñæK8YB³&CdØñŒ}¦.'4CŽ[Bp¥× ,!Ôõ‚Vë<étOD•¬•zS{IÖ"ÃÇž˜by2V½jXØ2{9‚ϯë‚=Äš5 &ÌÍÓžúÝ­åúò>k{ïžþeþ#Ès«Pº¾TëyĪQ´yw—m¿Èf·L¦¡µË¨Ç @úúY f׫h"2Ü$°Oc’h cÈYìPl·‹ÊrÝË[}¹b·¬Ç;TOºã:—I/„ ‡p…Å}ö®Ís„p8R£¢rÒ-h e £}*t€[‚ʱˆ­@ðy¯“}| ³ŒÕ[¦Ñ=Z°<Žø¨Ó¶çm$êФ‡ÌW/eG ~¿?ˆi—fëSŠ>érš½«W1òÀk¡Œ”³ -UÄ»Ÿ³œ³O†‰,Ùq\FcüO>5 LĈµ¢?ÃÎå…-@\Û‰,Ñæ^‡+€$==ºË=Þ7I6ÊNPhT{ßQ»ù±BgNRŒmì&¾G¬´Ö±8Y&¯Õo´³ËÚÜû“…¡š/§:xŽúŒ}*žÎp»¼¾XÕòTJ·¬M;f-k30EHaG·ç^y–Tó»yŽ#¶*œ0ù¥þ—ß3§tñV_9ç¤5 î»-ó--9Ùh29ßõ¸:g2ѫڰì½…fi»þ¶Äã_½ædÔ»–ûOL ÃmDHP+"æM ”ýÒ©ú»GŃŸIÝ3‰; e“%j]ÀM‡¤b\ŸËë¯ÑŠìQísð“_îJ=x*åvšoÇ¡ä÷Âmœø,½’Ùìª8æè*\â‹tØö £är»î*xºwëãÑ4‹„Øm½’`bþ4%<ûŽýC [ƇVrð ÂsJ¨ç›"°_zxG2=‘HoT7–¢wû_«Èÿˆ­=#|*ÕŠ|åw×Ò߯ËÑîÌ¢Ð×ÓIOeÓbâÌ|fu桃èoݲ-¨3§&XFÒ†Ægá@‡²è¢RÁ]ØnùåÙždp×ûÇUž”à)a”0ŽÃ]²K Ï¨yŸ:ûo¤ŒÑÝß×0ÄÆöb‚Ci"Õ´X0ü1G„UíŠí_Ñ×oÛxڸ»‚¬æÍP4"»9n„±ÛôÇú¶“-S›a :,¨g°CÿÖ`:½¥uóþ# ¤…Óâ@èš–ª¿‚D¥Û¢Ðï±ð;U„u§y(ÂòøÄ:ÇCÉh8D¤lÇgleY¤ =•©…¨Mâ ßìûšÕ“a_œ—<“6ê…j9²ùð:æ‘jÁr^õÆ8ßüe@mhtIóÐEƒÅÕ»óíxyëaî·iT»¦dÐ쾚*T–[ì/ïE.ÅšªÂ*n¤öÖ:õÿ‹ºÜ鎭¢JËpðNŽ£ v†%fy%ˆÆ™‹s Œó¼Ø»«LØ&«UßÞNíÖÎÉÞæÖÅkQŒœI—kLå{ù5VÓ P¶Þœ¼Á1K/­‹1ùu´gÓµ‘ëOO¹GÏÕ2>‘¨iâ„ͳœ6À(ã~G*ËljZ—8|÷P^:¸.£Ny4ÔÙC—ºÌPàéU  Kmƒw³z÷š»xE:’¬«ódRŸÁF]„|PÇ®3AƇf'™ãkwøB»¡ü7¨¿I.°{Œ@dì¥9äa-%>ݰr;Dô8KMÖž› ¨ž¯b8ýƒ@ô )ø•ÃÑn´ =½ 6«ÎË9ž¬^«ŽÛä;!0ù þ͸¾¯zâʉúlŠ}‚Öñ5¯í O‰¥WÈÒk ÑŸðÝÇÒÿ±t¨Ù*²‹LV¾eoá9ÿ+×Ùçbᎂ©Ma®s”íÀ1.#\A”§6¿°u£ Íw¤ªàfûj':˜÷ÓßŃoxu™-æÈæ"ÒOq T‘žï^¯ÀMt¡-ÈùA£k—ILJoXu}|xñD:½žýÒP¥4/š7zÅ¥ÁÚû®ªQô†kfµèF“AáS½¯lî|0mõî CÌ)Ò˄жûeQÆíBÒ¸U¥=ð¤m„}^õ5U»}pÛ,îHXpküvs„…ÛŠ ¡ë¬a¶ÀZïOÌ(êpX} Íiw òäûÝÍÔ©—A—;÷~YÔØt“›WƒOê`ú4¶G,>ç ³j¨rN¢ô§Ë(1¢êŠ$£éZtÆiz˜ZO±EZW¹RÆY§ÚªÜD™·‚f†v?©AÒÌ“@ôkÝbÞ§ÆØ£º$•ç$Œ7$&Ý; Ù4¸ÛNl÷QÕí{¹¦Y‘µ{ç®qþ¹ò+R›€ÀµåZ‹p˜m¹!ó†FïOº1;qkFðûáãüÝ÷¦[ÄŒh×Öõùîˬd4Üúš0}Õä±ó°ÛhSvíR^* Œßã—îbñ*nÄ3w#ìiæÕ‡×‚-)”“ Œ€k²1;æ‡XNTËĤͫ˹©k´Çš\…+ž»ô±RÕ<í,îÕ,ŸšÁ¹ºuQŠPeš͘®­D¸+xFºnÍ5+aý¾™»,Úìnþlv»wKHÍ28?›:îׄ—.ãa¯„¥$Jõkµ3ij}ºúÇ‹ü¦; ¦“ÇtÛ×Ú(í`J€i CøzqÙ–d’Ô­5¢#Ò£Dw”ó©Lj"÷o³0<õ!¦²­ê6r>å2ï©<‰bô´ ïFà|Dl¦EäÜ6¥`ªÞ+c%ØÚ«¶™Ei6ç´)Rx§FÜG©Ð¥#œÏšH›ªyRËĬ¾™´Õòs¿¥DÏãKa9ÀÇZmë\ÏÖY“°Ÿ&°Þmðì£ÊwgXãÞ‰SÄ<Ô·º·©üBe8ÒÍB%7%}‡}:]YàÉ~ HV±a¿6r2ÕóêJj®*ËÓèÑ-ÐÖ¸tÕzËï¦ ˜é ®3n(:‡r¸ >‹a«+Ä÷ò›!{Tý´y?HFMbîuþ0¼·e Yàr°wô*—w‹T`Ð}šJ{æžR²BbP̬{O*ÎPòžÙ­fÈxÜ£ QNx@{çE¥€=‡Wë`Mu]žéênV€4¶úãÀÚ„±&xÕ˜ðÊá/úû`ÊCª©™5Ï[y¥õ)Ûõô(±®ÝŸý¹ZÛC™Ç[þDÖâ í$ZÆÌ¨\îà©ËÁ¼Þ×k6”þ‚u½˜X•Pj0—´|Ϥ¾Ì]1之gµGš!¶6À*ƒ´Nû(Ŭ޲Ý]§½zÏ»Z7qÙou£žXîRù]UÐCVÅ-ÀäcàÞß̉¯g( ¡‹4›ÏØÑ¡ÄZøøg´ëèpX_Ö¡Çô+¯Ù¨uR¸ôHã¯ì¸—Èlý 8xÚ%8µ[¾€¡-šbWœö€U#Ãlr(\­Þ:œ rsÿïF€›&æ ¤½AÊ=­Þ5¤Ô5íU àȹé8ŒZ b8Þý離{ÿO΋ÀdúÖ»®.ôÿü4@²² AL2:nŠ&(Ç)²úéùv˜ËÓÕù Æ?ÁöRdÿ”fðÜ+FúÌ#¿½䎩–‹ åncÙñ¥õIQ‰ØéÓ~ ùÍÕkä[%®£5P¼þfbu Äñ cËÊØt¸¯ô´=€ ÑÅ!ë˹Ã}$i—ÂJÞ[­X4onrþm‰?[åèØƒž¤Ñ ‘ÿ÷C>«Š2a®€ü×òÞ`‘.ÝùP·h÷ô~på!\.Ô1Ê]/ P´æ4Ÿê,½?£±N+BqŸñtN™Vk&j¨!Iª+\z_Ü:"½ÜQª®¿z Ýê€$.íÙ X"q‡\Ó >xû0’•,âD£:æžy®¥6ƲsÄ~ÔË—°¸eçhxõ”}ŽÉ›Û2)úÄ©3»Hò\¾‘¾)" #…ÛÜ\¢ô%]ìü+è,ÿÎk)3ð4Y0* Ûy5…[ñßñ©E•ùJ“xW %oNO{Sol×Ðâ9?È\nïéMÝ€œ%^-& ”ª3ÈëxÒ'}}Oÿ™jņM`éyϼiÐöI«Ì–'ódp|ÀÑ%rÓBz·4º† 'À-wðÒ^}©á@’Ix`Ûah»¥O•Ê4ô@k ¿…ƒ–!væ ?‚ÏSÊŽZpQz+uŽìÀÓ° ²þQ5û‰xEÅ|K`H…ˆmŪMͲ{’¸¡sy[f1ûíV“Í>sü[oÆþ¯ d áÃjõ§Þ(Û== ùH·<@d!…Cý`é¦Z± ö· Ê= M6²½;L0Ã*ǾÂþâvXC¿òÿ$ÛÐëÕ²¹ Êz…]ðÝnô2`bíù[Ô~0Èý–:]‘;ÔäaÀ ;~žÐ0Šz)TóÂyérÇKMù ±äÉÍG€ùBi-Óí–]ãØŠÔþ‘ ,c7s‡Œo–©ÏQýê¢Þ ìÃ^PE‡#|¬ ¯Oö÷ ¶«êW—®Òa;úñ%cò‡AÌÖ-UŸ°¤øU ˆܻJ‰ß8—Õ—à¢H…º&ýÙ­0m½‹ æÈ &?ÜHéItmˆ†Aì-O @!h©Y»Ô£ׯ¥×Ã5N2ÖWæ½ÌŒÎle_Gæ /UYekñÝ.ø˜-êº YÝsÝQA<ÓN¢ E~žµˆ…ÇÍIj:^0¿FÆêcÑDµÓ-P»ŸŒ&¶T 9ktŸ/ß`îhBEÆHâè°“ÓòˆWØÌÏ~äÞÂi+€z\v {éįwÍà@Ö#~ñ_>$À¢týg/z…aòw$Xœÿäjø‹¬º†$ªñØY. ðµ¾”?“¤–98X¹ð bNcÿx/§8óó‡Ãnƒ©‹Ñ÷SV[~^ƶHÔ¨ÔjàA’ÎñŸ‚ §ÓD¥Ž¸lÖ!؇î³4Å£,+ŽrÅÜ績0¶c›â ]=ϊΜ²ÂÑÏJpøU¡-Xü—樞!‚"ý†ú%„älbþF ­Ìæ;†Gr¾„îãŒÙ¨zž'z®~hëT©‰uÌ¿UÎdOE&ŽÿΡ{‚ƒrìžúÚjÍ„¹/œ5™Î!Bà ¤…2Ò\½pÏæÉFî£xN€T,œù¸¡„Ù›SþIFY 0˜7r†¤Oyô‹‹~“ÙèÝæÓ¦œWõN4Ñí–¸pŒûyà߬©ô %ÙI^Ourw/óràíÂËH”Sqª½ËÝìá|Ñw´ß×±?t›ßÄëì»°¢1d×&íˆkj» tMÂ>E+ܰ󞙮ó<<Þ1MÓ.t¼7†4alN¨oʵî5ØøOtêw4ÿ£Ü÷dç…ª'Hí*œ¶~DzÑì,b-õ¼2«¥¶dã“IL|^3K?¿¯¸³~«~²„åIãn1S!8(T=kî-û²ç›>„ÅR'+Å0éé´Q,óÖzÛáôùrdPoýÒ !§‚ISÝ~8ÍÛ6¡j¯}CXw†vÉå9º'{'CÐ0-× æ`Ó»&Ã!¿êãU€'û˜ÞÑ”$f5eÑ™ 66M·¯®[Êfsœûá¢(¨6ñ„pÈ…­µ¶@l?õè^ñ¥×TY­Á9±RTªß_5”î/wõf«\ÅI™¶ ͵fR£±‹cߟK×¢¤jгú+º$²'ðoiB&q4ûw‹rË%À¶;ü_±FšÙ 7ù›'–`©I„u÷¥Üyc¯„Ÿå Ofš5¾XÀ[è˜Ä0PQ»ëµtÎÏqYÿ¢cBh”ª³[nåIN –Pë³ûf÷YAî¹\zU(©·Ø×½ó1­=±³6°³#}zèqN#§TÌÚT\i´Ø¤4.éi>±úüpÚ$Í™`9‰’Re4ˆµ¶>覤r£¤|*M~£©mŠú]e¢‚ë\=ì‹*(óš+¿3ü¬c¡À)Wλün·Ç¢H?€d–Ž3µU0ñÎfƒF¡cÈÂÆ¼âÙü±ì%(ÌNŸÅü@TžôÎLáígØ´[}aKJªˆ!»ßcúÒ^, !l9«ôm’©"ˆäˆt{êºøh9SUr…n8ç†Mžé,öÏýJwCãY7¼&v‘ÎDSÀ¯PsŸBõšùÚ4ŠÜ\hΙ! AN!ÒMoOƃ1=±m`݇g·G.^]»%ÛçCQ>}1:ù1\MÛF¿Õw¨³Ìj»~z<×—ÃÀôÕÉ£ [šo¶c•î§?_]-¸ÅåÂM‚‹Z÷ƒ,´ý:„ﺧŽõæé´Z´ ýcp:ø>:ò¤Þp˜ç,®ÎÒ•–å [ü€ØU"Š"i:~…pµüž×åÖ 2bâìâ $;öû'=9 ê@Mž°·l}>óQó)r Å‚¹ò!(w…îaµOÉKåšÌß!%#OP nÝ\³ï«a¥mƒ@ZÔWØS‹—ÿçGÏlœ½ääQ>걓o”XÅÕá7“i[®‹{kÌñÀÀÑ•±+±…T·Ò¢ \¹êZZ¦Qâ-€7Á^XyåHrŠÏ _Óíw\ÏÓ0:½•VÞ¶ÿÀ‘éõ?¥4;Ó5­ðÁE,˜L¹Ð·ƒ8h;;tBr?=—!n$¿’ãŠÒý¢±pÜõaãí¬@¢yðœ(¹—­‚@Ç?í"DoIľWŽ.ŠöïHF®¬›y9ØL 7ç,\â¨@˜y‘aW-ÿJŠ{ùfÒ2A®/G<ò Šï íècÿ *meßêúƒ,ON&Û‡jL„åxxý[h´Œ¦š3Ûdñ]ÐEô¨¸Oœ‰!ëMØ^§¬ðŸÿCWDå„ ¾‰±DY0±ß¥-H‚0‰£óJ£â >æ†P7ìá HW[/^ï%–48?ßMK{˜”ô3Þ([o¯K¯¦¢:oA˜ñ.XŸ¾ùýa¢ð‹$cD!qüÿ“ÅÜM”¸ £|•JzKsã"ýIJ8Õ¡@͇{ÏÍY•Øwë`7ù7È tÅ;êNõ ïÇ3曺ÉdYÙ桚ý¹ù+;Žæáâ|æàDGÚ:uK0•h/Ùã“TBIƒE‘Bùè¨.Ö,Žf|çܽígF½,–|4¼fšH•0µð72Næ‰*HqÃÕÍl=ݨƒ1*"Їò/+œEñË 6Òê:Ò³éËÓì&-!½1:dÎOЦ+… ÊÅÖš×7u³¬Ÿ%Ð@\·.ÑnOȘ4v;ñ@‰S:4ŠPâCå 6ÈEx~< (ªbïiCM®f°âdæ6/ᨦXR€_9ã_Éžî4Î|ªZ4(‹‘5µA†ÄMÏ™oL«=!W.dÃp”ê°Þg¯E.ÁŸ÷+nÞ…¹Dã³*ƒÚÃ.eMOg+ŸåY‘Æp’8«ûÆþ …x Ï.Í÷¸æù$*ÞÏ…’’¸Ûãñ,#eŽ#d¥ oo=úû Ié`æca­*D]çg%¬ PcNè äÜÁAñ[ã×`ÎpÙÓµNÏV?3>jÈPŠwsUiŠf⥗ÖSfDú9··¤ôŒg#ˆŠ#·+°“Íý¿N*‚k¤ªëH4ü*nÑòÜø¯gä®Yš°äq9ªj´!«[ðÉBÏò·ó Å»ßàᇼŒ‹³²Z9ÒÃF6ŒÊ²QŸTp„oY CW  ëÁ?#ùèœ^¡ûó=»@–ü5°°íp«/ÏÁŽÃ³ÃžKFG‰ícããˆ2ÈA©•WF°Sƒ®¡êKÛ›‰¾¹zMÕ8#“ºBG“Ò,žmä>Á|×ÁÞoˆÚòO jJÈëN~ ljWþ¶ZUW{–ªwJR ëÝPÛqíÅ eXÜ9„s‚ÌÑíož<ˆ6Çd¿]Dx_ºìÊú嬰¶Ýß Ä ¨º!±ÛM‰:kݯqŸ^—°ië|p)!4ò™ü¡Òë…ÓÆÌÿ‘†ìnl¼¬ªJ·þxž&ôðÚ»õvÃ!eöÙ>¬À[›8WYiHÌ6dô?+Ï!æ>m÷.;ô‘Ï–÷Ûj†ºõi°žÑЍ¬¦¡ÏaüAŒ åeN*B½9ïD¼d  mRyvW7ãÄm»~siS@¿A¿ñ7ªŽÙLw–‘¬³œ0e³ËY½ÏK´ÌçÇÜ×ég@û´¶›©§²âZ¤[‹éycN¸î#`ocA Aº}Ï0.9Ñ »¶Ò— ´a@f œ‘^(WÃŽôq “àhw^þBâVlúlæ ú…9é…¾´–®UŸEúbÇys§{|øë'>Oq*˜Œ(~ê¸Æ:u$OcvÆóW÷Ó•TÃÚ‡ËÖ$OꌄdfD°Ø’¿.m=44î,§¦v¦ïÃé¿çoŽ‚©L²¾„ËN™Ê—öŒ¯” h9®Ѥ^íb‰‡zG~ÑÌä–8a££_¯&ñ¤{ƒg@Ê2¶3 k!«¼³?êNT¤JS”¡”¹»ÒjU”®Ð†¨6¸7fB$n¥“ƬíB¸-2©1yú}¡Lµ2–_M{]  ”áÒÕ,0˜mV/UNõ\‹ÐôÌL;¢Ç…Ù5<Ù?2ü@’‹ý•¢”|½%N„rVŒý'(R¨ó½Û€ÙåºVèÅý“ y˜&àu ÿ)%1H"Üö~•p´fä« N” :n]Ø.L…Þågìr%K£G€`nä…/¯P¸/Š…ŸçBP,%õ+>Lë*à[ÈýîÅuhecB0™°#A²ÑŒ€Å[Ÿ PÓÛ}§ƒ³–ŸÐ÷Yý6üjÿ¸ ŽÕ÷[BÆ©˜,ót²Èð{ð€ì¾yîgWØrù#lÛã‘Ö¢‹í²H.XXbì¼¹ˆ¶öÇÁ€°Ír›¬I–„duIZð}†/Ÿ°KȽi˜1tiBî³Ç;N±‘é%½æz“÷·áÏtë%!˜ˆ¡ ÈÝ,ý\Õx€ŠT:d¸¾Z×L\/̃¨Á%‰·–N Tvá‡Ò&§Še›Íß¹æu)ÕŽÙ«bN ïÅ©"Þ€AÖn‘×})æ%öÁéº}q¤æÀ'𜛵·ò26Á–çùj±u–å¨ÍIä°ÊÜ¢*‡y°<7)ß>•Ý"“\T…íãK<ÂEXt×Z|Ïu!ª£”R*6¼ß¶„%òqFÔoåçô OtV)È6¸ì¡åsÏû—ôÕ÷¶¿-AòWUŽ è›Âú0t,غ=žÆ£²eÝOJJI€o{ðY„TÝ™Ê5Áª˜A¸Œ¯†½tŒá“÷g†|Døj€Ÿ‰t¥kköNœ‰#¼áONŸ›¦=º*m›­Ä/[£}C@ÛâPÏ?Í%léJ ZQ UªÆ„zTd»g€¯*s‘Ub©Lùú3¡Xo@W~»ËÙ‰ë‘ÕX_Ha˜éeëጋçXxÍÔë¶À ¡~‘8 Õl´ª4ØìòiŒÎªvh­ÚØ;=¹FXÞŽE§““f7ØŠÝ6)2¹`K+Ú^¡üdÎXs6h–›·ñ¸vìëQ#>„æGiµêœa_Ù¯SËu‡”ŽH|®/{Y!r—„½žGêÝËÖ&L‰§Ž+ÂÙá…r${výÒ½Q²•Ó3=åõÅ;Ïwu'ŠM>Tæ)ìÏOéTyBåöu†oòÓW§|â‘"'Ôj :cSs®ò­âl<’]}~|ìœ5k—꽩0ö'~®ZI#gÝ5= Ò¼ŸåÍã¦Ò4¸…OeQw_›¢7ïˤ¾Ú®ŸÐ4‹Ñ^üQa øà'»óä]?JÌÍ»€\iiŒ¼fú•ó"³”‹ϧ\”%ž8/¬kPg©þo«n6zÔ×ÏÙfþø!dA[V¹Ï–5ÛRK½£ß—må7¡¥ðôÖêªr…m÷Zb¨~ÂoÚX®éIéAQxØhe¨Iaòä“d¾I‹Ÿœ@Ý®âD0±]q‹.£|K&ZŒUæÚoÝÿÿÊ £ÖpšÑEºÞà¦S°åäx›¾Øô!µ «ÛvR­ U³ìú½™g- ’L壑‚øó$i£PeÅà‡û~øAXʃ†+q3 _öê@„òW÷»kÒÂ[y6­B¯6þ²º±Œá±òèž®¾d>F¤I¨æ®¿GýºXߤ?¿ÙL nëð€©ù™†•kïgñ›näzñÒíåŒz°{—ânZ£j É­¼µFëšLLuQî`ËxÉÇÜQ¢÷Ù,4§nuæ‰÷Ê.p¯Oh €ÄNÔ]ÔiS=êª_9rÖ»{|ôŠ ú÷_ùWÛi¸×Ä|A1ÝüVœ w;«‚õ7ÝîxÔ0n¢jþGèLmÔÀ_'+õ/çÄ:­U²^àw¢¸®*è\]'Øñ?×DîÒ›S%ÜEjÉ{ó[˜¨Em7©çîÙÉíºâEÿå:ií®î. :ÊYäþ‘€À]ü§1‚›Aþwbbʱ!óèv˜Oæ,A“Ëø&+±Nʼ7h2œiE I&cŽÀÔæK(ø„àh_N’.ÊFêïç¬Vjþm¼}±¸)_ÇÇg8CÔ0jw•â4`΂%õ'>£';!±)x”~c§pþTËÿ»BΛÎÞëÍX»ÖõÚŽÖ‚}¿u%9ié¥üFÁó‚$Óè^È=„ ~÷­º5ZiêJ<;ƒ×âŽ&R¹úÓyJuî! 0gTÛû­8wXòƒIIáHƒa ŠàB?Ì ±‰‘¸&«{-NC  ŸœÎ»FƒÁ¡ QYzL—B†-¾N0Q,/¬Ì,ßÅ׫(öo¾L_'Ó*ÌðW‹/ô×#•ŠqŽ¡–¿hW,èu ´š©¹ÑD7t-cÇ•m/c>Í®9ŒúSÏ[ünvgûñ Ýù³ŽÛ–=(-ë/æíûIüüçúß“M#¥oÚ?uqÑ%\¬þßœY½}R¬©®g±ïWΪìÁãŸ#Á€“8•K¬%ªè³ílõý™ö“VƒrSþÿÞSŸ­ÈvEÖS‰åÉhÑ|nýç/fÊ]õ¤0×b1|,ä• Yá‘b5ÔSV!ÙTš÷»!Æúóüw»ä!½G°ž)x䙋$‡ëŠ*6\Û B²#™Ûa”ûŠl²Ÿ5‰täÏìg÷ôÒlª9w‰µþòhrÐí#D÷»vn§Mì ƒ‡úÅù Xó¦–šó9OrUeßl¯í\ÖðüÃÛº’Ù›éSÉk):Çw¥‹NÖץɵਠ›†¬Ó~¢&Øs\i¯={,ß3´ÈФ02¿åë{ÞI@Ü,øã¬2Á•­ó™¿åëEä$ñe ‘‰Þ¤i:Ó}6e´/Ð϶Ü5a¢ —7IdaÝ‹òb“¤]ʳå/éa¬ôÛòÝ|£nXcVlÌ|…æçÝýI!ù &þ¶J$˜«ÕWqu/¡Ø8EH->s2¿Nû?ùâ1/ ·y™e¨ÿKù¹ ÐÿÞëÍÝù³“[à1íòŽ xï0}‘ûÙóVW˜"'¯’͢­éPMldU²K;–ûK\’ñ[ž8,_ Ò±øŠà:p-,Óá\3 ¸pU»ûãÇNïˉ¦(.¶ÄÓ¢¦¦.2™dP_úçŠ(ÊÒËèçÚÖv}›€K#—S¨kÈLQ.徚8ÂW—Z¾í©tí¨©7iØ®9¾s¹s|)±hø˜ °{”&´VÔxU'JÚ+óüµùgWžÄùÒ¤»Œ=ާ¨ÐUHZÅ\ÍkÆ/ ³k¸PåµÐÚ'êÏ™ñÚFêûŒ¨lç¥ëK8ùVvó;ïàü¤"ÉÃßM¶Ú¼%L ¿¬½$ó7&H ÔPÃEñ ®ÍE!=ë Ïh¸!ÈTÑ\Ýz’ü‘/Áµ˜HðÕBQV'_UÍm q®âÕÆé×óú$.äÉÑT³Ì‚Únuǫ˸ÙÉ} ãÿæƒÇ;œUìT˜>ù1áë/*/¨uU™ÁÒóy!º¶º3±qJöþŠr¸—v €7KùBöøJÀÃ)8á ˆÿ¼Ñ^à6¯xì+¤=µ$As‹¦¨KþÆ7Ç’ä–[=Eúðg¢F‚a~÷#¾ð¡²…ž¯ý{7ЩBÐØß õ¤]PØ¡ªã8±TzZцk^á_ZÞŽé¨Uûr³UÞÎ T»º¬P«A™½Ÿú%•E³zÃ͹¢V,]é âÄWº(Ó rnØ ¶S#¦õm®è=â«\•×ïs?K‹˜ßûN3!$yÉ3¨; $¸[è,œË‡ì¯ íH¬“*`1”*MOóCÊ"þ¼“ÐY ݪe"OŒéWïéÑ›¨eÅXZ¡˜”§b=AÎ(s6‚ P•wÔpÉ8Ë­lH(Ä]NȽÀŸmsvÐ_%u?Š2Û…0â[†~_·&áf“-iò$;Ë –¶Ú &¯CâCZØÓן] ÜyDYÎÚ»a»æ$!l*†F†¡d!.UL UÿÊ.‘Á«36'²¾ößšÓ£ŠX8vtÄ++iX(5¨çd™ƒ2ß–¶g¢ Sݸ”Z¥;1ÿÌÐì|ŒÁñT5hö¾¬sõú®þ`gà¾æ>ÏíãÃħÕ1\ÚÅFÄÓÍÍ»è9X^ÐXlÓÖ‹ÃJ­&$®‰7PnëÌÝŸéσÈAí;¸(,7I£±=X‰)C~oLí ¦¢ü‰3V#­»ózjúIZ/2WUO¯M;ˆöú/À›º©}Jã׾Vy6ž‹€”=pB+L‘ØG\Iý~–p@šn@žk) ×¾|ª]ÏVkÞTTº¡etÈ‚§#˜FáF(R#o£þKß÷©‚ÐN÷§›š é ž-­ð&1@GÉB ¸îLÞf‚ŽÍ†V¯“úe3éu¶K¾ÓÎfY|]èö©Ž½Œ¬‹ß)öÊÓþøyC‚Yd3ÐDpRæBcþÎ  Çòå=¹O‘ÞmPàKâÄi•ò×I”\ñp«C^È΢9­˜š!I)ò E·ã“ûÍÝ ƒ\úÖë:‘q µË=uR'¸:“¡XFöä3¯Ùt­Å<|`áGD™ µPôòydµË„•F¢ý¦Ó]HéM”P ½S§'BHšgxâvV/_ ­¼%rÿZìù¾Y6þ-Ñ}À '$,~ñ'öU·®N»£rkIRO[]gyzÛ6?.c¦ ‚™f—ÍSLÞ ‡s°§c'Z'[©­º¢tÏN—°‡„+–ü0œç ‹ö´A ä%yÁÏpƒß`ÏÓDgæd¦3n ?Ã]ŽZ‘è“—Ïòü£¸Ý¸œ`ãÑ~šm±i?&þ†"&Ò}«!ÝÞ&’O Èi^‘p}@]Ê[ÂÂ79H‰Õ˜+ âg«ç·$‹ Õ5z"~¬ãÜÚqôK·19Crž‘ãÏtȸÑòÇ?ÁÓ!ªˆÊx;%ݦ_`“²7ìhãøx:n¡¡Ø€ž ¡þLßûÉåÏ5ÒRã3ÀdísN¶¶ìXoPtºÑô³½:Žð÷0õTE³zÚ( ÍÇÜ#<øh—gÉS¡¹§éõ€Äã&ìÆ¹¥J;ÒpU|’@?B0’¤N [T;!xWŠ {°i™ÊfÞ1ü¥Xoç´+wÈÄ)^d¨§8…¦+(›Ó…GCµÆ/ `³bëÍŽÖ•¿,—é[Îr9#™/=Kû2U>&n6°Vý:}±äúz¨÷™ZlÞCpª\QØ©^§ê‰'ã|ƒÆd@œ‡Dÿˆ¢n ²±ˆè¿D*_‹š=ª¡" ® ‚]¬ùŒHŸ,BãmøùüœðBN¦±üÊ^º8{0ïuAÒùºü96Ø‹¬ÀÃCåxTž¡`Ê ôb.3Ö¸ü,’ŒâÞÈÐ@æ—Â×E!µwEmðë¡nXÙgÍšÐ]eô_æ¨ígÜ888ͨ””œ“?µ Ãö»u@Ù%LÚlµ$}´z0ÕoüìB;%{Š_ó”*.-g)X†WW7Œƒ‡€&‚æ5¡Ì©Ñp +øOEÎUªåÛœÒ[–(ccÃÀU&á^±Ñ;vªlùã½µùDûNîÝãUBY>$íðƒÿÙ€$€B£¶¼g«YœAv!MN+:?‹Šàd(Å÷àT³?Þ±½bg¥¾Gƒ9ÁŸL70­‚z[¦'7è¥_i_væ©@A­Iåv<@|Ôü¥Á >Öd!é뼊Œ>hýžý}Æ}PIKäçVm>ôió‡õÛ±ï±h´-sOöi-¾«Pm¿=`q0û+qV-TT#P—!jI *—N£ÇRÿ/›÷}£Z;qÕw¾‹ÿ:êÇÀì©ú”O(d©u j}:*¬")NçÎí:F-W“0DšùáÒ…Yȉ±„ZÁÅRëÑã¹&‹ôwµͲ+™Ð­ ƒÒ¼‹ãÄÒÝqçÖZ<ÐíTÞZØ(w‹µ± ÆrÉe@ƒvw£ %T»Qr¿ßËÍ:Ø^cW•µ›Å‰ûƒ€xÀ)‘Që£ °ÖqtuæDîkÉ<ûã‚´Up?ÔÞðøÑtÿºØiW)ë‡%4²¯^{“ûíò!mûÀmµ©‘Ó €¹`£#¨¢¦îXä·o`×x´ÛŸ”dÎè­{ÖT€œ!¢Œj—ÅD¸ÈôÙEob´Ö)W¸dï_ 6 Üëé;ÓO·ˆøÎQRH/‰dìèà‡Â‘¦‰Å F¼a?”Åš`ÎíwYë¯GÜåA†j‡™²Œæñ/ Œg#?ÔÝãêëf4h[}Ðé¥÷àó M¬M–ÎŽ4mb|• ÙÒƒ:6é îv6L™Ö93å>¿"wiÙж„ÀÙ`<¾D¤˜£bùYãý5ư·l±àèû]``×(Y–Ck‡…-•й˜WÔ16¾§éÙwÍ`.ŽytLÁ™«÷›~õ¿Òþ£©6M÷<¢’Z —¦?üµ÷:¦¯í>÷›†18¿#b|þOíxí- eå×%õƒÀP]Š¼Ú€ú ¡ü1 ÁÙóh°²«T:žÑØ Xw‰Õ‚¼µß30 7Èï5kö2OV&òr¨ˆn¯Æ6Ÿg÷Š&<§<¦ˆûõ. “Èú€DÊw6g«³vð†ß.d4lïý1çü–”š½ŽŸÌî¡ð-.Žª„qM¸"ŠQ6Ÿ‡j¶:. ¿åž.eÃ55;ìbkd(åcu ¡Ý[ÖóÞîË©¨}`´²>˜šî%†cÔàÆ¬!»É›+ae`JÏæ·£–F¬YÈ‘Š§Ë·¨ËÉ­M9‹ï† á¨fÂ{†[Û9eôf||ïÙ…,ó‘ù/-Öuá¶´i póDeÈ2ûËsÀô?•,\±@&2¯¥ $½– d¢ÇX…¡„mi:¬‹&tµ|F‚ÂÍ1¾XWõC²9÷1‹­žåŸõ—Õ<#D,\4ݪR¾€“QAgû2‰–àÈnÓü¯+%û"ÞZ¡ qËÄüšj_ŸX—H³ìÚÈ Á?Èã{ÔýQ—Lòêš¿[ Èúq¥AŠþXh •Ub½u¦Éøú:A>9ËPs|ëG>`¼@_3Ù44üÇày£)’ðx‰t{ÑÆùnöÀ4Ñûú¢ÌJºç‹‹mAè×צWKsÁ¿Lùè¶ü¼‡“9LRš‡îé)`k%G㟒 ÚÒô²ö4òG§|ûý7/5†ÒjS-2 ñž±'n¨õÇ îåÏt¥{ƒ60ÃÞ¡Jçœ:Œ¯ŽqXÐrµ?”(ç ÃiŠ?ÒJ±à¨`Ò3V…ë_£š$%Ëf¸„SÝem¸£_NNÁÛ¥qÐzHR—4˜H†-{š)¢Û†g꼸3Qä̉xKÁõž%4ѓ΅ûX /ûwfiø…/¶©ÀÏšZ!KšcÇyZÎ/j£×R·R,çwÿ`-õ¶\òÜÿ -ÎtÌ ?Kl¥;8H Íb@”çú©/Ä~˜6YAWÊ¿„äï ‚Å"X€!2bAá7¯ì˜7'`,ŽÕp}ÊLhy[å\†oŠ~Ë…ËÑyº!„ÛÙ%cŽýÚÿÝr^bÀè˜>N½æö3ë„ùÃI{æȦ|Bþø Û²îÕÍ^<áÄ žFÆq½Tš) jBag!éšæHÒÏË¿ ¦·è‰ˆ. ±ž^g•äÊ!6¼Ðþqî^”OX7´ö%øáÌ‹´ûQ¯ïî=K$⯗®`€VÁ†gÀã•c@Ò‘XG—tÒâ£Å̰Øg‡âìDñþízBÈ-JŸêøp£¿(ôS·Ë¡¾_µÊew·ÜÀD|¤¡ O]T|Ÿ„É x¾ 7¿Z ”Û.àì-«fr~;Ú+°a“Q—¨ªÍà)ít Îyjg–‡§Ä0—Z†Yþê FÇOVS6vKš-Y Çç‚âýùiæQGH<c÷—Æ­,Ö/ô‡hw«GEÜ‚×á¿ÕÁÔˆÔôWC[ª–f|ú¿³ ­+üëÄŽÞIûw¤(0`_Z,p §û©ïcSÃN»ËN©ã|?°9J@®Må¦ K¡˜ÜSž³øh0ñƒí¦ê0©_#=؈Ÿ§ì •òë²JîÔ"‡§¥oêpÒ#²Ázq"²÷ar…ã‚d[ZÜîîL‰zÊÙ©.”¬-–îšö|²­á¾w5Ü¥ô·¨d¹ 0 aà½ÀümâSyåy¡ºâ K¸yp—Huñ'“•J;:“›x‡ÏÀ&¨¹(_þË”ž )‡k¢Å Ë+lcO­;‰x¯Ôhe¤E½¥œ$ƒa݈VÌòã¯È2¬70½ý^—>Ëøí=^œÔ|ò¾_W–þ=i¤:(ðZ— W”ƶmÙ®;äúÁ“ª9)PªÁé¿›Pívö°ª´»‚^á› '”Œ°ÍÅ'"8ê“<ÕU]LNà4ymi]åôècs‚¡ÀŒïµwûޱ¾ÒÔÆL¦A5µÐÀ6Jþç÷Åü‹§-ÑC´ªýQß÷Ú—pýgúwÓÌA½$·’,IgäÿÿIÅ9¬·Õ'ãâf®í:¼º¢ÔQuQ£Àw2ÖfW©:ÃÁxIºxR¡”›x"¡¬±Xª¬ä¦#ïk˨¬w©H—ªØ>ߣ^dh*5¾w‚<›ÉÒ)æàcÅ3O«ªÞ9µÑ¶eþÌñ,02JA¨ÅsHþkæ Œž…q™x·ÛÄŸÔ8C°u–å€Éîc}Þ<öùVôæZµ–.!š>×Û¶ún+PoeØ7ÿ¡(iÒÇÙó2­WúašÇžS£`v!ÏÒ‰À@‚LVAHe]:?¯à_E[>ªS) hs“Ís¶oιW~šLòú¼¸ÕÎ(°©úžë3/冤®ú,(–r@”Ãß …¥i.§À¯ð{qFXf"VîQEm…ÜžS±­û×À3÷VÙ?Û‹"!UÏ¡«Àë3“Y’ßKœ ô¸Á¸€ä‹|ª0)î >gãïŽÃÝÂÃí')Ö¢ð‚þÈw2¥å7]ªý(Yӵʌ::÷AïMVEëTþúWø™>×.\HK™9¨Ò͵=Ý@ˆñ}U+ã–QFjZüÆVXÞœu׉¶žn Nñx§,Q{¾ÄGXSöiˆì${H„¸ƒ á!²Âypè±>ïBˆ†cç•'%Ùg•Å 7Ä1ËÒø&¼™„ÔÞ‹¤vøÿ¡Î*õ§ÃÐÑJúÍJ ¶ÌvŸJ,Q—ž°ˆQ2­8ôˆ"4ˆRoè·mOí¾àú‚‡A¤÷®dt«ÏÕ5<\øSÐÜ|°Ê©ö€8ZáGCϾ©„A b¢¦¶Mo>m"C‰Q¬ `­SÐiñ¤¬äën‡*.R’\0̾û†çÞÕ›J5k;9¦˜ž†QuqH—ÜnGË„Åm¾ uú(³Š†í"Q¼ßv*p.¹Çæ–aÙwܯj×úCÉ÷YtÕ•#)¿æM4µQBNóHß½Qèô5,º¢€‡Ž Š£V·¨ëv:Ìg¹œ¼tNZEû¤®ÃG:=3HæJ©vöça×10GÛl—cf¶¢gÈaÕÐ?o%š •zR$´áqhí {–’ã[”ºæÁ “ Уël|·vD…»UêPº"¼f;Æ_˜7tqÒŽþó5ñƦ)âÅpUÚCêÖÞ ¶Jy»0ìLfÿ„kسè`–`>º–WT½GÃÖEB5ËÐZ9óä3PÜ£wÛƒ:)Èá²M4…óÅ\6!wŠ•›Š‚ Pß¶)&E0Áz/nöÄ›=û¾8´\a§\A*;˜©žlSÇçÕä8Èëú_e¸ÝÖÕI p¬Í°ÀJÛYŸTÔ–/Äø3 '<>†Êƒú¨(RQU‰Kw’æ¸9gWÃH>8ãÚ¦íð–I-SWl  r“•†­˜í^©0D¥JO×iW”ß®—¿a»hx $¯wíU®9KÑœ[ÌF¢È1²dc=ãÕ7ÐW¥wF•ÄÀý´ãééÇñgÿkÖlõ%'¢{Ö+›a 7èUèßqïÜ î÷ áCJº €3/ΙFå0¶Î"ÐMî>zpNœ ˜YG¬õâüÛ¤ûÓ·’ðeÑÈ;Nš:i{ÜØS×1Ã4·`ï§i­@kyäu."yúõU?43lõÎ’â©Kìy>uPùü%t}©=¼xŠËç'¿—šØH¬ôíl¥ÅBQÀ²¿ËH–NIÔ¢¤©¢l& œ’1@ÙcBrŒGªâU{ÊÙ8LÉ)‡«>œžiíšêùíoë^IÑ€ Ì9küó÷茧ÝX@š­åJ|š¿–ñ„i……p¨î>0¢èÌuu©²ÊJþ©->‡5¹ÈaUhÚK¶,[ïd¿àâbý­Ûj«pQîÓ¨þCˆ€ …§²<\#¥,E Ð>‰ußàŽ÷3/Ïj•^3‚² oi¯ºÐ›¶Ê aîI€®b°c×ÓLÁ"&â‘+fA2œÇg‘57Mêi ö3I.ÔÂ,ÂŽ~èázÀ4SM Á^ ö’ á:¨[OÔ4×—vµçà¤\,ñHÆষ”ÑLÜ‹Úr}>þ_{HÇÜšóv2L°pÔNÏŒ|ó¦¤XGað ü¡"'D²®?êœÅl‰niÈX‡ÁÁ%‹šÌÕÏ@7T ÿÛÝùÓñ} ?ªu(~þN “xÙI"?b«P*\sb¡b-¹¡~2¡ÿŸÌ"çDp`Ç6Süâ̬4àšL©Æñ'ÞømÝ c)Ìsœ©~3ú\o"ø¼ð¢³àˆ¶O/Ú¸ó`Æœî ¸ûhlžZ^éfÏHê”4³”h()1 o„ ¼JÊâË,fÀó#E·Åè,ßÅ‚cÆa«:pPSÓ´°@i᜻3Ž,1)«’†Ö ‘°'Óÿí:  ¥©6‡y9n4JgsùžØÙ"$è¬kQºúèÄC<–bù‹jiZÝmã á ùôé4™O¿Ô‡åg{øumSiêü®_øÆuB¾¦Âè”tC­Ÿ*”®õ¸¥u+zI¨þc'úUŸ ìñot53ù„žbKdVÿQ°—µ™Ê¨‘Æò® C"ቧJD „YÔ¼( ¿a{´ÉR×Öãµ$¢Qe½k%ßÚ‚þmà]D“‘%ÀåWä5+¾xŽãB°¼+e›Èi­\ëKMýçC”(,ë°Õt?"}‡º§“¹šÎÍÎÀ °ÉÑÐ×öEÞÍ›rq¿É$§®r0ƒW?”š5ã VÛe7wÄïºz ý 4WÊ‚ÙÖç˜WçˆUSìbDå·pÛ‰<Èàµ[N™]1¿É/ö"¨Õ•HZ±þj€Úùå±ü«;nâ¿‚«æ£Iüf*z=ëÂ,…ñA¹äm¯‰`q¥ù}?\B”˜ûße}Â<¸áe@©JååñQ‘Cb(6ž×ø33<"í±iÊúŠëþO‚ŠˆŽ&ÿn'ýJ#Ü,ꥒOšXʶ‘—ñ²© šJU‰òî`ü§-}½}T[Æ0•Wñé>¨‡äÜ dטˆû&„IPÌE·ì&GG.ñ‚LÞúóñkÁOü&KIàGú‘Ç xFá…»vâÝm#ì_Érãà}È:]1ÑÔp ¹ q(õæ8¢3[/ú“ö¡Ó3ž·Gÿûx`”J¦ÖaiaÙú€ #‚+ ÃJeÑÕ¼…_•E.kb‰Ð*œvœhˆDµ†› ‹4ÙÈê"H÷õJ‡Hޱ„àƒ|ð:~Tô°·- =U”%&£üæ|¥t„\Yá(IJ« y8À‘Ïï]}Gk…Yo†•„ }+º)”<èämbÙÆ¥­ÚJãfWr²ô+t–ŠBì!¾kc±¡Ø-mIJZÃÚþŒ;8s ?N<ÇgTa0Èu÷8Êö°Ù`Õ'fdƒ„ýÊ®¦Â8z7Ž“_ üÑæüˆ$6bô¨´ý¿B•D߯ù¦w€I¨”ZÏŸ‰Žt².¨¾³z©_0yNYæ \ß^b…°eçk` vãølùäly,ý—ÿtbå/ET!V+Ä®¬ÇRêÚ¡÷Í!âtí\(F™ƒ]SŒu†'ÒÓ#Ã7_6ÙJÓ„¾}k0ÊûŬ×üó¹ôíi ™æÛ³J ö¦L)£¦àÛ_ÇÀ][‹ʱ0±aœ^äÐʘ$ʺ®w]vw-„o2°L¸VÍ"ߺ,Í)Ùø4/?÷¤| zžMÒºLÝcÐoŽífÔO’F¹Û÷;Xž³wk!"Єü==Âæ‘©l 6üï(/Ü>n- Óñ2?ôíì›G“¹)É´Š=¡âèV·-~z»kŒPˆìOD äŒNÖè)Þý,ÛN)ÕvJÎCÙI;ˆú”â"¹¡óúAÇájûãEnîÏ,ìùadÔÄøç†’ò±§Ó÷âÎ’Õ?¼jg¼KçíFX*^0‘»µÐÈë_îG…#H²½©Ži±¾f8hý +ðÌ 7Kï·ÒZáè,ªEÁjÙƒ%ŽiIŠÝž ’†]ƒ;<¢iŒ#H¹4—ñ2ÒÃ|ŽØaä ynkÚh¶0À·Á?µ?,éõHÄC.lŸ vWƒ„£fÚñÀrcAÃé(†$]êv}˜°QÇ[_É—+e–L­%C‹p•ýGólCSvHŸæ5¨CG‡oEbì6ʦ­šþžh2ÔXV°”Ù®r/®Ä‚3+¦8©x°‘ئ2­§1ØŠ ªøðDšÃüÉÙ!ŽÁŒƒÆE—Ûê÷Ò@ ^½ã—MZ(«9í ëL®`0YVâM;ël(ì‡ÈIßÎÍe/lÃÈ­ÛÜ2(¢x-÷¥*È€æ: 3 €ëG¬T¼‡­*{Ì©pÏ}p%@·sï.'ÓlN{úï¥8ŽHì³_ܰþCá9{Âa*¢G¸ôýF?*±5É^® hÒŸÈê4aÓÆ8yìÃV=ënäˆLˆ¢ ãÎ Àú’†5v¹ðî¤ÔZ庯ÞQ'»ó©fø4ÙHs{ÉàœˆHðtQµ[î Oùø œ´­ üaEú4#ðûE9Ñn/î’/àîÜ¡fýB¯Ÿû4ÞDõ—ÇÖLø©Ušãð “q„uÇ“[†ÆkUK™k¶m£îf]Óÿ&Jº°pÆ `'SsQ"M‹d0µ`¹íDSÌì>€ßZ 3nÌ#.ö„œxŒÉׇ¶n‰ç—æTĹ`‚µd;.‹aç»ËkÄ#üYäPÚ'¥ ªð“žUC.õÇö®N’ø#쫸å§0°ùe Cù?½´âÈÊ_…º‹†DåxÊøcŒôÅî­Üâ± #pÇȽßÀ;(›?,—L1m¤Å›nâ‰'¡HÓì­„?kÂòúIðÿK³¼²Õ¡ôA,svPð¨xÃxo±'0½– §õÑnjá×·”¾PC÷&©Vú–ýçljJÃs4™+˜×bieIã-“xVÿÒs"8™\vé‡ß,UÕq:ǾÀ%Bš(P- Þ6£~‰ ¥¢H‚uJ©¬#ÃêºU‘C@ÝÆ Á@3›z»¹ö{ëø[®Œiˆ…´eÚß§ oº•ºl&'„Y]wY¾†È äÕHMj¢`iQÜã!$8þ “Š_3ëfX,ż Ú爵ì¹01Øñßâ.Ù¿?$ º×ëæcù³W`»0^e‡ õ48/w»‚hÃP(ïðqG˜ê1r(dý¥!¿ëÐÛc7Ã)€¼«·ô˜¢áР㩇“Þ8ïܟЙÍÛ`=·•+6kYRW¬%“ƒ®¾ö>åg?ŒtÛ¦ŠR'Ü«¦È~lÞ#Ì @/v(Á ¢-Dᢰ ÒV?C)G%?’VÓ,çþ­ß+á¥iÕþš[ó¼ >”K”¢½A¾ð¡ žß1ÆÉò®?ŒÑ¨ ¤«Bף𓢹KUïÔôG 3*F¶E ul§¼q{Í1{ÉØÛ…¡§Îϼúå¬ÚëåüƾÛÁ°Öí(p+µË׳Á%¢À3PAK³T90´¯¼Á„>ZƒÐŒìCä,_—X‰C#é)#<Àyš‹)eÀÛëiÞêžYúÛP‘k›bØÈ®#u”R9¸©RÐMàeОÊ9N-T 3θ‚w“ÅÒ¯¾ø˜¼™N2Òmî´{ü£–Æ™¬©âÖ>ô5©L)ÈTîÔ—ø~‚Ø 6ú€GL>"Y0ÿý«¡ ølŸó‘‚{&­7昶Ý>=“`.Èíké˜%‡«½Ä„æJ†à wórƒ˜qXq,€Šv Ø1Ü7P=ˆ,þÂqJJ‘Ñð¹J™å€ê Tx0f¤õZ—ŠÆÃ<ó„U©Œ½O-Çáv‚+·ÿH®â¿"…b$¥L®e`©'=ÙS-N¶zB¢_Ò%‘I5¥Â©S¹$\¨sÒüô1‹\á ž{Gž^æô>@G£¯ ¦ȚÉcËØ¬A lßÌ$›?áJ¿Ï) ‚)Òåëb1áá(.lpæý(6z"= ‘ÁgÙ;Xpaw¾ÜÞ¥ÙY³5û‹yC1T»BùãtxHvY}gµžœóìãæ”Á„uJau=Â暴¯ú9Öp áãÀH´-°ý{IGu¼¯¼D½m¥—´å(å×T&æ¾›hi3Äø#-f‚p½°fè(ÞŸšjⷠɣá–ðKPÌ@Åw¯Âg!Ù!±$µ~['? ŸˆØ©îÑŸ`ž—ßè6"Ng ’bÇÛåc®YmÍvFD’É…ú¢!i™R§QüŒ}^–Rî“ÞaðÉpÌ„œ6cÓj's—T’$3ÊŸž÷ô¦ÏÌïi÷lÍ•ùgÝi)ms«ç`ïÞ^¶7çzAãN-aŸ‹bôHF8¢¬Pûª²ûßHþ·<øElÞu¸ç**?ßòÖw~(FL¾!èInbß䈻—‚•„MZ.öÊ!¿?}ã.b™9ˆ}×muw=Ia¸¬Ry´¹×’ôvÄ#xlWÔâè,˜é±ªÎø×¦ ï麛[Wê­×{¢Ô·Am/!x;[Èä1é&|G—•­•¬ïÝ£áõÙ)µÚ$™¿!dÄÁ×JmßÏ;㨕hhˆa84¶Øsó´žMA6Ó Þ$,7FÌû<÷¾³l´`A}%tÝ^¦^3¥¬)æVÊ·;úu»=Ù„ˆ…é¬×‚[lÿ¥÷‚é@Yt¢÷“¼‚$.ã'D2›nEÓ¦ç[NÔk£IN4’MýÈò!“ÂD±g!WŒ=lã-CI‚üYèÆ(ö[е;ïjŽÙàö›ÿcý‹ÿ‹©Pn1¨…Òl©™äÏë³bÀádýSè.9)7u³¢Ân_`ôø³†c¬Ÿ³©{Ô÷V%ž»ß`4ÀÍÓËä7ƒrI{˜Þñ2Ptôä÷PŽ.Ï Üg8$§:ß„F¤Îæ ¯UÏô»±ÎP}¶Á lËì}ÿÚͦqÚ}s8åuµyR&7{œCí5·[x1˜á°ŸtNn~™p€õÖ^+Ð&¨Lã‘¢ŠW¿A¹< <«¨Ú·ÚÑñEéÿ§äÅ7 &Öm‹9 þ-#t¼/•‹7C12¼“&NSP¸­ŸZÎZXa˜­º–%8ƒÖ$¾Cææ òÔÜ/)hGW]osG™­vfM"ô z] i2¾.Í@˜ozÊ@Y»ãG@0·i/ ïH*9(v€­* _•L‘Üãü'ÿCOj-×˧,ˆo5Ÿ&}7,ƒb&7âÐVŒ“¹›êó Ä^¤žøÓ££˜{*%œ/M©CªÄœ_ûÿ]àuJãŸL†4ºqTA*e‹_ëÖè´|ŸM²ÛˆŒÈÏîYåמÚRg&ÄøÑ)Òã×Þî`ÉmžBâ³á¼òŽäÍ'E‡iÑöͪ1Ž#3A&­¹;ižö´;õÎñÝÔYîqœ _ä9|åìߔʙ †Tü7ôùrZ:Ø4—+ú¿^ëÔ;íoSwà;‹{(çІšj_<ìÌ;ÿk|ñÙRæâˆ—‘j‰”öÜÇœfø­±ŸÝ4xßç {È&¿uˆå„ŽW´œj#Ï1_yB]pÄ?©pIØú·Hð†þi+Í"s|‡Ý(´Mo}Ĺ$³«6B8ά H+ NgÙÌctrñ\YXéb‰²öV°“`¿¼àÉ¿§ªR&£ˆõ]È¢à=XÈ7 «àì–1Ä·Z0sOãÒ÷Q…Ê)\%‹P&ÿ;̆y3æR˜æ § ¬ëõ!31‘\}Qoá1:|´Ï­¨@²€\ºZ‰¸Ïò¢_ Rqì/)Ó3(ûžGä3ž™5ßœ³=9n] hd)‡m§Ô€§¥y í?‹Y¥†—¾$ƒÔňB‰æ,ÁµÖdÅ]à©w­È¿×Yé%z ëJ:H›Œ«Ê[zµWY¦À¼ä»„y¶Í6¨«D^pgáൎ;±$1ê]ÙKj«ž éñZâ’¨µ‚¯vêÉxU•Ì.¶™ÃxE*î1ž‹ô¡p¯NZ”^(…Ð9 õ̉œ=ý¥ÝIO/!´vyg}0nÓ©ô qv’BZ3‰%&ââ[1wÁ'7¢Ë:æwU(%n³Êá\ÉæàÙçXí–æeô]ÔDÍðµ'êœP¾ùzå& ì£|ÙÎG²•lX‰›ô£NŠÏp¯ù¿XÝ"Û,g¨©YæìÑ©kwù€¯àó„,%…™Ã>{H–ÏÒÿ=sC_òN§fÖ7f†òf±³} Fr`Ø~W¿°r8úT!=ù\£: n}É+õ¡ÐäC-›BYŸÙý++˜œ7TïûHÎTu·DŽÅãê«þBŒo‘¤Ì¥ò †³N@§½ˆóh6 jyÒøš±î|;€|ÁÄøO"øCêƒËU¿x›u¿N"Î\[²#’޹b!gáü‚O=ß4Ý–Ö­7õÁþx‹þ•ØCòã&gwy÷d:¯ªZeø\ÿ- ıºʲ´ @X>êÆk¥1ÄÈ…ãœc¿Ê¬Õ°5]p-Qj·#€k–žÎXF$Óâ0ï§æì«ˆ,5ž@§/P¤ì˜¨flå¹Þ‰;+XùyöÕBËH‰ÐDØMhÉŒ¯3·´OÐo–¯\Â&3y'žíÐ…3¢nÏé†ÄÃÖo別(¥Ï×ù\ä°e4ç5Xpû»Âe¡E{n¼¿”3D-«t9·œM¤¥o;ƒ‚ â¦JM'bò}C¿¹#Í2 Âr7ˆäã½>àþÊF˜Y›.qfM6¶!v2®,é~y?®È×FÎ+Tï±*6ûÜÏNNK 91]³þ¿„9>¦ÉÅþ|m0mÒÐÀôw¸à4¶kI=Ö¬õášD“­½jSPŸu ?ð/¯Lw¶ «‡yÒæXÒ™@Ó.AØ‹7¢°H¾ñNÿl©x»œâ¢V(=¬Û`…@ô[ªÍNUM÷¿]¡¯)JCÜñho~áf?%ÑÊl@z’:]U:|¸˜oS+ ? DqæþŽ@@tQâÌ\ ò’^žÐYëä[àIQU%À²9ÃpD_Ru\…,¦3ðáv%ÈO¹Ê¹(ÚÉžÏP Dš2" Š®XÿÉ$žŒ¾Óáà€õ~"6°¹æös>89æ"yh8è  Ã(Þ8Š×¬ì’ŽªþWÑ:Ñ)à:û”[n;ù|\Eñ’‹å½NgdÑoøDqüÒQÕ5÷fF.¢ `Uuð‘Ó:»1Œ®,=3ýéüÜÅ^ì3Ævޤ–VÉ;õÅ?o}Qr‹ÒM“ñ$¿ €§ž­LØK~@ÇG•yôMO½bªAòëžSîŪe4 šj“2 öËNÑ@Ƶøð{¦Ö秤IØJW®à¨XyiùÂÒ„ù,3À)¡ ¦¶­Á×¼¯‚oªAü‘Ÿþg=ºèì+«;È4×ê-ÆiQ[‡Î|×EÃ… n¤²CÌÛ9”•ß(ZÞ€t‡!-7ùF"…ÎÕhU¯þžG…Zö€£h|T~lßG>3úÒ{ÊîW¸ê¨J•l¿ûR»&Q<ì¨×lƒ1uÎÛ$ Ìz>À&ð¥êàƒi¢ž;ÄÃopÒÔY¦GÉ/Äd]Äרɕ]P„·ÀÜnõ,m3\EBbìÞŠ!€ 4zô®¢îó+™|¯Å¡À'=D >fae[|º/æ³û/EQ ªdnÿÀšäakR¦ÁÊK=;e¦‰3!»€@¹çbM4¾BˆíØÔ$g†Õ–™GR çE+oÞð}0Oíß±—›o[eÓ•ð'2‡ë­Þœ[ õÕО¬!)ŒµŒÀ[³„¾‚‡išÄ„ŠÅúË·ˆãÔåæï9.+YýÄ0á”ds¼ïAd8¡JaY¯·Õ3nª0sÃn¥·‹/iϼó· ÊK1bÒª,C`Á®3®#œ2¿–Å•%c{6cBf‰aVQ6$ûSûtäÓxI#†Ö=â×Ó94'ÔùRˆÁ‹§[”@³J­GI²¢~h*ÿ¸N¹… /{Âf:fÑœm‹l]D3Eê ‚2^H Îcªö‚i쑓݉‚úU¤ò9¶½Ä–ŠM+£¸2L„l—û~‡óûû(#tÌÇ>jYôAgå(ÄKô=ŠŒ ˽|É#Ô…Jm€Bù¹VÞ(•?Í(;‰È¬sÌyº¼ñµd?)­p´€Ã‚íË¥ù¿Ü©q©bßâQ*üŽ’o;X9Þ }FJ«*˜Þ›9˜0çuEšáì­Õ`#—ýpÝ™ðanÙpÙìÇÅS©‡{N$v„Ž“×iùöx¢qì2üJ€-ŸÑ©°Î¥¡ciÊÚ˨åü€U:¦¥€gZ(à³"Ô\ºž¼zÓz€Ý<ÁYX²Äk8`Ø` 1µ !¾Âš‡Rc•Ù\¨uiqþåqÞÛJ\ÿó'šÍxÆ€²˜HÊ;M#1*ÇšéÇ8nÂêɲ“±ÿ$ &ªŽ”ðGðR%ÀWŠ&Ó¨9·ô¬õŠ4 ³¢lÔ kSgªuÚÔÁaßWID x\Sâ†\UÙÊi)æŒc¦;¶Š•ê I™[İжmZRœÊJÿ›=6-ðdžBäp™Ã¤õ&e"vðU¯½°ìlƒ ‰æ-K+Û»UjΉ>uÕQ ; Ò.,R¤ðÄÅðüdf.K Âá±¼WgyMQöA1þm„ñ.A$ÌMÀâeb‚¡ÈqžO™ì ¹ZâÞîfD¸ÅÇ?†gŠîià’ö×èÂß ž`÷ Næ4KìªÕ\â£|°w‚dÛßÉBuø"õþ¼¸¯O¡ËÊ+I~+WŠ>¥pWâ铘íÞÿà1N@êw{þŠÖŒ¼a\µ?“"ØÁÊ$èUBÕT <÷-•sJ¤ ròS7ËÏæ¦Þ±a*¶Ùš\ÓE’¢OOßàƒEêÙªƒdLT¢iÇ4L!5ãÆ"‚2œc¸œ1ê3åŒô"1ý¦Â€ìk² •Ì(ñ CÙîÚõº5u«Z€<Õ—ñ¯¥+m=x½lv™1Šy®ý‹Y¾ÄÑQé†.ñÂæúlxâC:*Þ¨Hx HJÜW „§¯YºÕ1ÕªÌYœ]µ‰ÝsêöXiV¶uâMï°"ŸI²Ð61ß¹½]’ââS;‹k‚CÐüWÍ×€ZV½1ø„O•â >úµv´õNB§4#ichÑ:5kÆ؆dÀ&ÂÊßròrç,k5žrf¹å~Myg5|“I`Ûÿ×”R^ŸÍ i¹GoúiÁ¨½>-¸™¶Ñ©¥~u£'®îŽdGB¸'"ýÍáÄsCûï?à¸Tdç`‡ödî–0–¢†ûû±vÂò«‡РׄÂ()£e@ ;¹n1ãbáWuJ!‰àÛ®c¸©AþL%I·K,³~å>t&d¨Ñ¦’pšÀ†˜.7Á0V—ƒ’Âl{-N¨|˜¡.cÂLé–rì\k$–¡…(QèáëÕ|+IíO¦Ð>ŠZ:ÓOVÀÿÁúØ™ÕH-É|Únœo×d7oso$õ¸üÚ\.ájøõOpiôÇ'P dÆdïËé?£f ãfj_¦ú¾Ø§J¶ŒçdHBiQ†Ù9}/‘¬ ŒL0*0„2Ó °""ÍI™©ýnéÕc¯9P§B@’÷–‘úÖOÆ1á;°qîÛÈôÿð„òÇkZúΗCw‡}À2,’i&3%«sƒ1;¶ºpüÂ8 eS²äzfam,ÿ 9ž!"T??[¸Íá1k2vs^`@䀈n"ƒj]ÝOòj}`•Ù\Yà]UŒÄãì9ÁÄíó‰ŽmÀäVÖÃÝsFe¡‘6N€,é|,w&¡dÇÞ(Œhjøè?YŽøütž€F†ŸÑí%º‰Ša¬à„¨Ç° ˆ[ì²!‚cB¦7SÓœÚvR·"„²2&P ÏD”7#*8ƾ`³”σGá€Rø>€E›°š #É«œ´ÈEQI|ÀÕ3É4›ëH }qoN¶ëµAçžpBÚté3:´ôAxØu œ;^É >0²£NßoÙ%‚z}CÕîáçW?±žÿµÇÄ}¬K0Xð::›ÒѺŒò¨/TDUßRw´~‡›O ßÌMaa3Öôeþ…;†œv›îÍŽ‹ÈÉbþÒz-w`5™“1¤ËJ#›oF—sü`2êlY@í÷ì³|退§ð]-¼ÿÝòД̞€/ññ³±Ï®OçÒZÛÙ™3ûÒ>¼)ï‚nuæ[žr/BX\ŽæœXÇãÀò»Ý‡„Ý4³Òcë‡Dñéì•6º»Š®åùvië@m¦Ëþ›ÚÓþúœ>Q=5\†!rWÜþ÷¥•¾iç^Ä|{Pãd裒„ª“¡/NïI­Kû«ø[á³7Dø&»DõÇó#|×;›:' Ì•ò¹Çp–paìó[úF· ›cg (^ Xw#üLä¡¿záz7h›©We^BÒ2´Ts=ÇÈ7H~omBkõð_‰¿ ³LBXÿ›å‰•«ÏX°S9Ë.ò­„“˜Ç=Ž@2Ckò§ÖtŸL…™Â¥âÜ—9 Ëa•ŽŸ½`íiG¹™e„Á0›ÕÀ8K`#+Õâü%Þ‡aT3ù´Uû ^LQKäã ß’Ô¬"æªýÆ$/—ãpLx«ÿ¥ d+¼=ì`–f¨q(L®ò4r¶ˆÝÉ“=`‰—.àÏä ÜH"c#­óÒWç(½ÖÔHv},K–C…35ï÷í-ã-é¼2­ž£—F'‹cŒ³‡?‹4M¸ÿÖÐî’aÅ.j;Z¿¢¸ëWWæ¸Æ-¬?¸»,ÔÑ"ØzL‚êºøD=LÆ»îÑDgäLJ¿ø‡=?^?– 7&oE,Uç<@a8Ðï´Ç „ŽeÛÞÐãÅpýškê° 19ä ñ±ö§´ðøÃÆy¹GD©­zŽ"Ð,wwã‰M½ËçñÞp÷µ9:%O„ ffÃÜRu6MûK¤üM6º]'&ƒAe“…žsàñÏ|ÁÉ¡]:ô6ØMÆàUë2ê¯B÷\gfE—msmô¦ þïÀRÞóXð¦)Þµ¯uŽ‚]€¼+wÎËAû'–[õ³Z£HEZOÛÿdKY޼¨©M7ÝŽUò¿Iò‚;GfÿCÑŸ²¾ƒ&ë ˆTIÑ2 è×´G\y¦&…‹•¿áÈ<$×{:øõÙ.Ì`‚Ñ›uVè/ó&ã±ý »±j|hÞÕ´¼Ûž´9¸Rõ|Þ!È’"+ˆïÄtæÀŒæœŽ±íE"Øec¤Ÿê©âW`ù»Yäq^&¨¡øL‹ßêä0ÛädªZ‹„¼VNsñµ¬<Ó–Ü×ïà`C,Ä)nm¾EÖÆ…šUÚC¥Mÿ­S&c·Ü;”$3&­•´Á<Ï&fÈCþ¹ñ@ÂGO±Iâ(üñ趨’bÀØ)ù7­øS¹ïÒ±_þ4‡Ø@b\#µw6­’@ Z²|sðå•8²ÍŠƒÜÖèdô5ý(R¬Z+±ŒIiãÜe1–!ÓØ³¿{½¬üOl¶ÒÍo4ö–…Wj©˜ž€Û.tfê{Ô¯gÔÆ^¯µdE3¹‹Û'ÞPБ¼r­{p˜(íÖlŒ=\À§§©‰f9b5åõÊB¯ã¨=uãøB€³²ÿ‹¬~>{ï¼Yd—o„± Øpèg¹V––NsÛ#{LIýuÁAéëÝ0öÉꨣÀ6Ǽ<5­øˆ¢>MŸµ `èHݘÈ:‰4â>ïðø³ÕÉÇÍÔrÂäK;Uèw^Õ“ÀNƸ͑ôl€ƒ·E§Y¤ÞsxŒ2¸æBWÆAòÜ•VíŠ÷¿gãZ%n«–Þ5S_ò°Î!er èþL-< æÒ¶¶ÍUnþüÝ]øé´¹¢M©Öõë=+Î;ƒò ìì{c´E2Ù‰qʲw!é¿'’’¼ibØ &üaå ‚¤þ¹¨Ô/Û÷NôbÔEÞžEf.±¼ª¡]×úuØ“xÄ«Ãiî}…Ü…«oäá6²Œo•úø”u(…2TÏ•OÜ(ëŸb^>SÌS¯D3—@SA*޼Z1ºøHø…^¾ó;zÑm>ĨÐnlÆV¡þ^¯ç¼%~¾Âl›.m “7nÝÙ¿ÞÌJJë. Â–Ï8º²Nü¦‡CrûÁ—)0!ÍwKKÌð˜ÔêÄ)¹‹êQÏÑâL/ˆÒTÞâä€GQVXoªÉußžõ¶H›Ô·Aæ‚a"n’®R…&íïÞä=ø“B½þnÐ:7GõPy$yÙàh»ªª ëû–š+)dî/ÈÈÚØü)`Ýb¨^° Œ+ZS±Éø1l:ì", ¤´G a®–Џ¸©¦ª”1*ÉL€§Êlœ‚0‹(¶¤ú}`ÐSç ‹røOó|âÌNÒ¼Õ+´F”OQj‚l„³ÕK`#Ûj[^‡ï´6¯YŒÑ{.‹H¼Ö|F3K4Kᢗi ÀýD1–œõ›÷v¬x×\Y^…ieÖq@a<ÍÈ“2PÿŒõC«ÞøA›ÿ¿× ÀÁ*…,]f+Ÿ|ª5õØ¢[Ì1tY¯´º©g=r„šg¦Ó;yI) ®þ?ðd@Í1šÇ±+qOQ­žçíѸ$M84øM6qòBN1M‘œ’)gñ¦õÝëe·_Õ‡ÞÈæ Ï9Ë`…‚Û› !‰j‡ q)ˆ“KB d=ÌuœI4¨–s{­M«O£×§ñÕ½sæÙH>dа¸ÈÍ'Ùø~Pð\Ý"s¸D»SbEØ6×Ðò‚eØäûÒB¶Öcò”JA™8Ãê¬å;ƒ¶æ‚~Jå¦F[ÛD«¿SŠÑ·¾Ðð!&þŠEòñëŸÚÆxì_‰-a)ùKÜó¸©Ç­Ó˜Š× ê¨ËX¦Lõsp¢´jÑ[\ߥù »×'¨nÓ r‘KAïþºò ZjëãБrí`êÈeuàs%‰¨¶¬é Ñ™/AÓ$€@VÀ0’Èÿ…Ìõbšc.šw $]ü.L¾å}_²1i¡R?•Ά ®èJÒ‘ãû7Uºã¸ÚЉ'§ê6Õmº4á~0‹ñRßs¢ßשvo;òÈ– šßú¹;¬ ;†ˆ£'c³‘Wâù1¹©FÙ!>CØšÛFÍž|½ ^ô®æA”!9Çæ\•9‹"”ÐN ¾òÛÚ›r_Ñ}²ÂÇàܼyEº¢Æy3áéÎìþÔâÜÆO¿î×lº+”ƒ~}Šx?öÆ&BV>Žò<ÚŠMX¤Ñ³ÝûrdÑ‹{lP-c•Ý´–«Þ³^ÕažŸ*áLü¡µèníŸ_¼„q»C›©VÞú_‡k¬Ë˜–†$ïm!EùÒà(“Ò¨ÀxãÚö„ ì,5+ ˜Nžâ <`Ãuò—jæÊüövË‹!Ão´…ŒÔ!×T2ÚùLÕ­9w&ÔlèÚ~ÎŒø^a¶X×ûõ/½8¶-X,ÉÂäܽh °¢õãú"÷U6”;½”Óõï´¦¢|)ŒŠbK+]q¨RþÀ§€ )N›BŽÍª¾!FâöãaºÒ6%!ÚWúìaF$íŽgaðYG|â Fe@'t™g…¥f‘8‹ª? Œu¤.µ&äub%ب ¹°ë€½~‘ÏŒžŸÍp´$a€Ü(Ëï|N¬ }s˜½5e5Àµ²†k¬xeí*Ü–&ú¦n‹ìÑÇ‚Üø=OÒ V |M °0ÅÄlÕµ+||¹Ã“:(m@BÕI³¯zè\ì¼q!÷>lžw±TçLÚ*Yv †ÜöRb²ß|ÛÖ,^€Ê“ö¾ªØ5ÿ0¢,Ö&Üòvœ–û ù)%<º=Æ9ËŒZØXŠTÉïÈB¸‘fÐgþ®ªÅ~ÐÜG`GTÚ¿ðŒ\cb!g‰ …³÷¦ ¹yû=dTx£6Ó7Ñ#¤ÅŒ´Ä½`Ñ>ø¦Ï õæo¼‡kùŒéSX’WðlG´´írÂ:Cüq|Ó;ßKuŠI¼¼O¤,ŸªŠ™—ÿÒ„ÍH^V°5 ¨Té¹ß9¹ùáîÿ® •A˜?ë>FLÆú,*}a¡=Kè;=»W’ŸÞë.úß6åî÷éZ~šGëê°|´ãÎL‹éiýdz"œîÓÚ*ªshˆÂDÖ‡€ô`5‰Jì<&™Å´$ä~M1t#3Y­áfó0['÷ªÍ^Þ²³¾¯+À0ô}hä•^1R1À¶ñR3)¹oÕ‡õ ’• ±ì «R¤‚íã¸~Ó GÌYtþŽ|rÃàÛº |ƒkÏ×6Ýcwë’“´-þv©3·ª%dÎÉ«áü•_/!´."Yƒ%^뱡݉¬ZºµƒØLÉ7Èâ69ÈO{é† v÷eŒW{¸ ÚŒäs0~ï@™:”bb§,↠kÜ¡j@¯à_O]„`Çr›²,ì+ðäÙuzRO‰)¢ü€ö‡í„ôçm'ý¢¶o%¯jðÛ7D2p}*_´ß“âåT¬£WN“F ¦<|Ùe1ýþgif†…ÆÁë€G³áîi’N&<;GpDþÔ*_Åðr/3SG~Ÿ´¥­Î(ˆë¢ò%¾±$üp”YÕ3£a].ƒ×x€Ô~¥w'O¼9*MƸ¿¾oêB4º®džô‚¿E.‘¤PМóN,¯ ";:ð­Wtœ˜T”†ºÍÙ"G©½±ÀXðÇ]Oecô¶Éì6óR¶)eÙ´¯&P²Iá²²ZëšHA„»ÁBß§t…ëqmœÖïÝ™¦ÆøþIÙoc•­pÞ·V*rA]&rÔò„™Ïh ¤|Fp ¶¶qô O™qyÊÃòyÛ¶,r0N0]½óøÌ8âaulí™wEX7 a+D£Ùõb#ó&q”¡ãê}Ó#¹Ê’3¤é•fœÌeöœy¯)ޏhE;,+ €ç‘R'[ <…0*Á€Â&bõz¦ìî­y‚Ÿ©`Éõ§û*Hv]!¶ŽFŸÔvg€­ÉRã!s§k÷ñ8¹päF%'›þì³3_à™ÁbF}©ZÓ±²o‡í­9æ'€IS0õàuï$R$„Á¯¹>Æ ÍÁ°ÓÊÐs–£.t«÷.Û°’Q¨¾ âØ ¸qÍ,ø Ë!d^(«ë ¶AÞ Y™©,±’ø}Ö]rxÖØkkfn[t> Ï-â¥S„óÂÖ|ÌEópÛðˆÍ('ûKù§ ¬ü9­ §=¤w.E|ïS™J’¤ ÉíOö|€nªÒŲäýUÐÛ»Ó³Ž½G4H™+tD™-=‰F·p¸dC‡˜ä+Ø eüW¤µEêµ›-B*XÊ/:˜,|j/èúäãæ_|¶Õ0W¾ÂÜÀ„K‡©X wé7míNIÈÜÁ4å>x°KäþÏy¯»%ŽVÃsÇ7£bM©Ó×®43µtQµ“‰ØGûÑÂm?¡áqnâ€o"‘;ÒTóÓ0ùà…8‡YÓÌØÍfYª:‹† zøòLe1¤æùÀq 0ã[|cÐ ÅÖPýÃ1‘$jl¸þ½žË B'óqše‰Ü3i^‹äRGä7ñ²ØXœÖ&à*nGï^²UcssaÑdÚŽõì³E÷?Dz©ù¬b½ ï(ÿŽÂŒ 1)#¦ 95™K-3ïÈö“Ir¾EóÇ f/¥‚½¼Ïfãa Þ󳓺p_'ÑÖE5š0‚Ý_sÅ S=‹ñõ]Áí´=‰’üÜ_°°X‘CÁ–›?duŒBð¶—¿¸žp–ô¦Š¾"M™ñ_ð½¬wŠQtÉèˬ´³«& ¤/Yi‰:ßR¿ìgÓêx¢„rÃHÍÛ1ÐKÍ!Ì“ûG/H¹êÀDÉ=u|³Zê¦ËóLL3l{•æè ÔÎUÃ…‚w"¹ªî¶‘êúücX‚Iu`™@’®(À–ŽùÊÈ{ÐD4Ó°ÍEOÝ–þå<¢¼¦¸Š^I®v¾@âÏ(fæð>©xâE!ˆJ§Ä@”–ÿ»×çÍ’™þ.òûÖÌI¹ÜÓåSþQ;éïÞðœœÜʳn|ˆ”…ä¹Â¿ átˆsk6J‹|HO†¤ßÄ‚dܧ Dw€Ÿ,Ø¥½ômVè²ý%’gr®izòäÐT¶ÚJÇi…ää{€yVþÃ#B­3˜)Ícm,‚@2ÐgЧ‘“aÅ&T\¥ÚÒ°$2î¹i¯òîh½À¨nî³þ|[ µüÖ¦`åQ}KHïø /B/³ŸÐ¬W‹«wz>jåiãbÖ½¸4-²ŠÃUîþ [Péä¬leá6ÕQqF!AâZÚcwø—bêÏ‹)ÕnçŸÃHÔ•—_£¤ãŸOÒg‡çLSFWڳߒÿrY•rÁJªëäÀcR²ÃéVy Јøq•&è”Qü†Ðí—@6'Dšº'© «äË)z¥o¿`Ô5òn‘›½Õ€~råÒXS.&fïgìÿ.N'´µû¾ï>¬3ôæ^Ó¼ì<¾Eœê”j ò¬Ü Ž_›†ÀäŒOØ*·d¸”^ÉglƒçþÃÒ@ÍD£”± ðà>×WôÿJ§Ü(<Ã_"à†rÔÄO«‹à1źvízËϧâwS7²QØ£ "’o°ÎšNƘ˜å‹±_/‘ ó*÷Y Vu†3(»§=?&q1&ߣ—÷Ál¯÷"¸ar´œâàí ºÊlèÆàÖä2¼Är§ÄÈ jÒ£õÞ|ç!õÉï5MI,¦+³&þËÁÏVû´9"ÄKtE[µG\££I‘⽘UjnR®vD&È4TÙ Ðã…¶Ì­Ô«ª k±¢–HHŒ³^2;û¡dذ!ì0±…àe(2pF¬ÀG?î¾Ïñp¡Ú¬ýåBzG|!©®PÛè:^:œv7žÍÇm¢ÔÁ~m÷Ú)ÅZ?]<}_%n®Auc^T=𕤷†IÅh>•æl$Š*öæö2Èw;q„¦izŸ8lp(å™eAJ^´¬ÙOlÓ{è˜õ§m’­Ýä®Ê&rU¤ŒŒšàˆynNi ÷u éñ¥O–”º0 ô´é"¹a5‚„ÔúÊ|kI’CþÜÜl¬^@†rÃ`¹êiýéX[–Š–i„ø[=Lgz.ê±ó[T½®¿ä·P¼¤;£„ ‡ñ;wøáRûLØÊ¯ÝÑõþT²›_7¾~Þ}&IOUy”säÈ«ˆ%ôšãz˜œ‹`›kÈÿ ¸?zðÌÛèÒÇ÷¸7)ð¡)9…RðHï‚b±ž´6eý¯Êî,ÜŸ[ÜøD›¾Í˜¼Õ!‹PIJ,Ó>ŽÖ›oÑS!Ð)&öŠ% ø‰ý——|p4ËÜ57½&Ì3 ô4<㆔ tÚ3)lï=EM~ Œ¾ü^:âJŸÖe¹8—*µŽ3hox¥³SÒT[´>y$/—d­2¦[‰¡<2ƒg޼†b2j$=ÌÞ”[˜±˜ÔÂ?jÊX=hÎC¶iŸÓWtêÊg{HÍ>cë1QˆìzÛ^4«%_^DNik’öÍçó$¬ ‡7ˆÁÈ^4 We ¡p}©ëAüb\PÉA"ðŽ »Ÿy‹[–›“2Áƒ÷/îò^†Üa¦„0BäÇWƒeÜÒ6XKºã¢Õ\.ïw@šT®€¯[4cWæ(̺ ôI„FÈs‹¦÷Ú§FüyËxƒ—ínkPïûvuзœq‚´ç‡¼÷n¶ƒ¥¯ìAU˜·¼$ÈSHýÓ~.Å«æ+¹]Di±çé|:Ÿ Kž/´:ÜÆcªæ;¹ü[•åZ>jw${·~¯Ò`à¡4AÖ¨_!XXŽlÉ<3¤ìÝÆÈÞÁD¾él# ºÁ¬{…€ª· l@ä\îÕÞ©o¥OàF\ÈRëà„fb苚ûv¡uÝŽ-µ»{ûÿE£[ãIÁAz‹ôÍs'½ É<–wè‚Á)ØCŒŽ¢=ÎÄpˆQˆ£w½œRÔRïþGèFë!%Y;pȺ¯D[Âjs¥0²lÊýB°—¡ì:¥STl|Òbª ]‘•éße´[Ê)—×ùÆ ï`¢¨bÞž°&JÓœ$Bá¾ÿš¦jæÏ2ÑÁˆ·‘bô/6±²í‰TÐx7+O“Îxô›qux³`ÒvåWPZû+QÞL¯g¾›fŸÞm”Q†Í¬+»È·‚‘§ã…×”Tâ° ZTcU?²<£OKQX̪ßÅ%„åló49‘Îï4Ìe;g2áDN‘µ{ÁrÛCn·GS¤7 ÆÆüŽ&ÕâÏÓ´3ƒŒS•>þñã\æL~îO6ò±|ad"ÐL|2$³ƒ +Ûõ´Ü“áqÀµ[¸’vÀcf§`¡É³R»÷$ñæz`rß´zǵ"À•(×x&Y_àÿ ª“½ž_ǰx-ëÃÆH—<÷+å7Ó“å̼õy+]¨t=Äiº(•$t K6–oÉ4·Ì»£¾í ´7¯Ÿˆ„‡+Õ 2øaå©^~¢¬EØÁø\ÐdŒ®ÔKšïl áêC×ôøt UL•5€s®I¼†%ν7è‰hèsÑXîe®Er>Tu}=ÚÊO9ˆ K]ëD'òÎñ@ø‚µö‰°4ÑÅ}õfÀlU¦oê³< èà!’Ë Ü[†Ó6ÏaŽƒAªãxÑ\—›œÂþˆ©%ó+jâ'Uä078ìüðw°˜*zŠ ›éõü{ÚW5AD)6R©ÿ¨¼)â'aTL!šúWß“’Ñ,Š~(‚Û!ï†P @NßÓ¿c:w]”2ày![õp~?ñ5Ï/`©Â•ße¤áßuÅ}&ö,®û¬c¡­ ãusû«ý$@ïs#óøÙŠÏ£§2$Ìü¾4ú ¢Gâ<½z°.qâ"ƒ¥ÀU Öq+Cfic¥Ò•¼EÞI+ŠFÓa;æô¥uRcl¶¦ù„…x.†Ëœ˜‘ÖÐýB/ïñ\fk,¬•=ù•¼(^Ç+̓yj“+zAøQ>ýÐomÿt‰_÷ØUú(îŠíò …|Cã,¦w7T•_k©iúí_´üs;í!BYœÖ&˜ˆ­DàÎÒ„!—1¼¡’NEˆ!òM' ˜eû‹ ´¾¡ïº’ðÚ– ÙÖŸYñÃ3О!ð­Ñ HÓˆQ°Fuª›ÿ¿åSC8_}“^êë' ïË!y:N?èbŒ“?„÷D hä: ¢m‡ÁöBÃÙðr‘©M—‰Òä\­XO’î|¡JU³D0O ÓŸÑ~ѽO!±õˆEHÓé6‹C¡˜I6PÈÊCYs篦ŽUpÚÞ©[ú>ÆÏ?Ð8ˆ¼`þ¹¥êûE×?»K#»tP&^ÉD‘gŸzåþ¯@¼8_Èo3Ð"ûà6Y´§1g²YôW¥RŒ*SÖpü¸ÙÓZ=€%9¶ X®uQI[Â5lY6W·^«7ð¡nn H/ħ‹>­ Øe¾È¶Æ(¼ò4˜`›ý ï{›êrG×vÄÎ`qÓ•¿ Êò˨s ®ÙQYY+fÙ~*ß—‚uKæÞÖ%Â6òáâ~[ŒšYš?¸mâée$u± -‹}(½)‘C¡ÈËÚê[täE¨8{•lã¶ý;ž‡¯WÀÝ0úQÅSå >ßöÜ-ÜËrÛÅ·.µ‹lµtLE\i½bQ!ä‰;¿›¹š>“ÔÐæ†³‹£ûª)ÜYŸšÑÏè_PMÁ×÷,Gf%ë©”&% =é(¸ V’Œ,…󱨒|ÌãZà`¯‡rh,˺*ó°¹m78)Ó~üø #ÇÈ÷¬™üŒ”P™u•øPŒ65„æ_5zByt=h½È?JG^8̶qz-¾³H|LôDù%0ÿá-пý9,é5iâ†D ž÷¯ÕóEÐî²½’¸ïKœ¥›9=ó.†Ìm¥Ïÿ]È5¡È=µËÈ‚`Žko1­±ð+!)Ë‹.3zÐ+çÏptÄiB7·!®…1FȬ0ÞÑyJl€ÏóžX¼q¯*³“qà “ÁŒñfwÿÏnR}²Û¿ð¯¦R¾.ô¬1N-€¤nã:V/\ó×´Œ»?a!2Ú&7˜Ë ºM"tÍœ …Ï ƒÀ ¾3Q‚ÂtNZ²A¼îrjý}DiQ 6c ­Ò´{\ùÅıˎ!œq¤¨5ÌV¡”íP)DeñN¦IÖ¦cGSßý ÌVÃCêìvfy poPöËŸyMáë×wàòÆä}ë3Ç ‡ï¼ý9]àu•…¹í0Fl+Ÿ iŸ<„G ß%†áù}ú4ðxgœÿ&B/T“e&GNÀ¸!=ÿo˜Ùéæ¡xåûäÚäÉd³¡ÇŸ¥Ó\4F-z<,ëÂO%iéLαÂÉ£³ >EuïP¿_ffëPñYáà=Kó‘},çÑ ”¶Y&RÀÀzºSg«=±bÐ[ÁÀ%æ ñì GCE·@ðÕEL_ ]„Ñ5P^Ì¥7êi%xsüå÷[~mç(ÂíQaÛÀÖ†ßOyp#½^OT¿œ´ ÂÊ¢²W) ïÍ¥£h-ÏÒ-p;í$›uW&r½Âg¾ðáÈò4V5Ãþ)»…û¤~¦tu ÁŒÒMÜÞžcmƒ#g—Ęýýe›3[‘ñUuLˆÈ•½%´P})3qœÓÁ}‘“ŠS}|I´44ªã–eUZ¤`mÙUµ´êõò-cR]¹²)I ŒŠ-¶õ§h­%Ü›N9á÷Ößô[ÅDÔB¢í ë]^ƒáŠÈr…†“ß'Ü™cÿ”ᆙö;Axq¶ãSZuˆ+¡‡Eg“åµ_›.wdk 'íäüè•ý¸üƒ™Íï…î‰ñWú±£à в­ ¤M²ââÛhÉGsºòú£Ý­â¿Ð3fÍ€¶©Â/à©ôåM;÷!d.›.°½K$´³øR‹ˆ¯ï¼ZÑ’Ð#Ã)t,QïbûcxµæŸ0j%G¯;~]ˆôŽîKû´Ò(™aך†úE?Ý$´†…Þ‚œ!ÀpÔ|‹MÙ÷n÷P$Ö¦"vßßw$ÙÇNϸUD 1À¿mDºi¬ñìÞ9‘ús€Á:|WðÏrj£8¯¼ÞD;H®Nq !Ô¦²ûÖøvYGQ"5áÓ¢ñ£ˆÜpÕ²êl™ùÿ+uý¿B-ëEŒ~÷ÔL&”fV‰Wo.÷ÚŒÕCUXlz&^ÔŒ.ûQ±…â̇!úŸ°€Òpοm\\\n üöÕ¯« Ù͇näûB¤eyÏ/ÌÛ–l•a×&à+‡Éòóqno·©8.¿—þ"jL£/¨L)¨…V›-šfU·ïÓX€§îÅ|šÅNÓ@wf0nùX dNK“€½>”Š_5˜%3Šϵ§z³cÙœFj€ôŸZ"Y2î ¨Xò‘GUŽøÓ¢ø#Xê[ $û¬«ýg'÷/î‹­*Wí|¿ G!Úá&sãò±=£¼<ü¬çCžG­÷D"Ü™DoJõÊ­õ *‹:ã4+·½æq@H,P2ðPÉB¼n ‰f0`EX°Æš;:‰—ƒÄYH¾6é¾ûžë¤LµªÄ™‹ *¨éË:dÎ6;Ð0ckÓh´ _Àûƒ×NgmÃÄĈû•÷@×Qeé­„mK:ÎÒ¦Wñe4F2™…¥æ*°3ªH„Ì–{Á9 މŽhÛÈûêØë—šf×L ™W+õOðn©[r|×È“fú”èP“Ç_õqŒÀÄ×>(ÊÖi-´êìfÖ çó!»ës-vx$¹íËz1l 0ƒ—K}(ròy¢Ï–"…5þ&‚9]У©þ!¬Bóɇ׳Υ°¹µ t’ÞSö Ml÷¢¾8 ˆeEÊxêh噈~ÊXÌÍÿDÈ‚ƒ¯ªþIô¶@iê1¾C.¢+à[³®‰.^TzJ÷Û!¥1P s i—!wРkb1z¿?¸f5—÷˜o¸7Ꜷïã6ëÌ­@\Ù½O…pnñ!9³jX°ÿ0š7¯[gIì\‘Ä'ŸzŸ,ÊJ$[ëbUÄÇ}k¼à­Gä:úÔ€pÔÌ5A¾"`ê¡^’èYü €¶ÛM>Ugaö¡XÀVcFP?ËJlçuóHüíõ/€rkÜQWe®BÆ€Ôˆ¬F˜¢gÖ9²Ö‚Ü'U´ÂZûíLˆŒúɨ¸iÏ‚·X}|gù|ëÖF†?к7«ÄßÖŽæ@ÇW_t0€Ú?’ÍÌ-™ˆz53, ø!z­¤«àvŒ6×Y;;R¢J9ó¸ÌZN)¥xÓëðð¨Ì8Tš²Ü{;/í BÍÆ>ɵá7<9:lÁ(ÇãÔ>ååŒÊñ®J5H\ž¿3Ò¼»ÈC¯¸³Á! g†j€=aƒÿ³{óPÛ/¾[¶y.3Bƒ9ìµc¿´{°C aò:GX†è`±™Bi ÃM)ô+tvôÛ´rA€LÄ¢YÞ:U {ᱟlQ‹DÃË­ßû!=-.VFBÇ´ YÍúÙ¢çªx!?š“Ê}?þ²?êï'Eñ8¥£}Ecc¬YƒˆeJwÓ“"šT´e î̺K§ª…IÒ˜½îœ&>F ˜Ð™Ž!æ _ì"£¥®-ç…©ža¡±ÏSÑ\Æèžs3팀™çuªƒs”jwírê?ÿl¡×jÓ7$« 3lÈûØÕX§DÜ ûs6ìörÉ{›ÑIs¼¶h‡…;F¢Ã!´mÀ4Mó>~H:Eð6wËÏí&Qu:L|®¨Hm±ûŽã‹æHå²—µmk~Kö­ðê$ƒöíŽô·…É€´Î÷‰£FÚ¢Ùò|8Idá£*žº3Û,ŒP<<žÆ!Xš“ÍWào ¯üQKÌ Ÿï¤â{€þÎ É®ìïЪ—Ð,^-¥ï뻹ØîíÈŽ8ûé]Ì•=­mªÁ‡X,^PÉNyÑé isFgˆ‚xUBfÜ3¿12çø]2ÃóÚ(Ϊ¼2¶úÁL@®˜Ref•Ç2*¶‡M/îvµîäOôë?7:ïJ)â¼^²˜´}ô@`q!¨dïÀöò‚a·Æ¥ê½|˜ù!L±pÛóDL!:¬N |úÙ¯b™Ü[v³ÍlgØ“ùL˜ï!ºñPŽ€¸°ÌΰÎFäT"ÊF„Žu-;°£ÎÉŠßYÙ¾ì𳻟w¡Y„ø6;ƒÎcl¨‘–^9%,·YŸ_ƒ&(%òøW§³ÅGP˜¾÷ÿÒ\£!}À !Hç  Ý­G?>ë¿ÚVïJÜhŒOèê’_¿|³Ü9†?Ø11¶ýS‹gŸ~r®½™ê–6B1lG=T¹ ,›!i<¸ÍáÔJ‘HîŠX?1œåî*¢ö•pq›ÂVç(…”‘2»¥z‰è9‰¤ƒD!U^þëÆþ} D,6ÈA>¤¥ï:7kc~@ÕUD/4êtνixuî_<‘”ÃPc4$‰¼LÂt3;˜øoÇ'9ÏÉÈ*ÔB –MAµ¶>"Pp¯F÷Ð8RUê…Ó¾y˜Îý’-ëµ5àÆ¸.XTÀÚᆂmfÖni¶~|†ÎCÉnb2 ¢ªN átƾڰ–š =okUã"A¥ñ4Jήnn‡ÔÉ䛺•x¥ËG×…ñ©*üJý¹-NKp¯ƒVþsÐ…®ËX1¨kˆcd›`œ¢c æ€yû&K‹qœ˜§Šœ³¡ãÆŠBx¶GшÏ>r²ò)óf=í²£Œ¿ú&î-bå {"Š˜q‹(òÉ9¦ '2Ù çŸË©g²ÅwiãÒ)gÒÑ’‘KØáUÅÇ3õàL`êV ø„0UÄë.±î/"gãe€LÙ] ϲ>”sȺI¥ÉuE¦èð#{Ê|8Vv)W÷Bé)Oï2ù 5ö=gq àÈ-‹„ƒÕ¾•yÚ„a¦BhgÄž97$gOªjmÞ\#䊊ŠKüAp¢ýMd9+³ü–›Ò.A<§„m#š²ÂR°²íMiAõ8Bbþ[Q >7ÆqFÄÏB‹?8ìв"n)lNa£c µ5§œZ#–8O)íö1ù4í•pAa;£új2Œb4˜»Ä\îKlp§=z¢cæéì^sŽ3& QaC«9%Ö6p:žÿ]xÏ ÄDˆI]ªA|Þô Îßî¾U3 ³‘¾®Ð÷Úó…Ë€ጘ’Ó£(g?$ÜêI:[yþác¬U8"0.9ÑKRƒù·ì¬ Êe¸ä¬,ͨS°%±/àýê‹Ã“¦¹Ùz6]:¼ÁâÜú—7oÒb`Õh1„èFÁå‘‚¬¶˜ªb˜DCÊ6¦-¼ºŒM7ˆ n"j²t‚8YúQ±üwž)Èøõ`NŒäÔ1Ѷá¾Î´üH ûß<½éå4´5¥ó<ÍW©.Ó·”8›¬ú*2€zL°Á MOz–·“…ø«Á»^°¦¯pM‹EÇ9{’*šÀÕÁëf 9ÊD„Þžã ­¬NþJ~jÚêÞã>¼F3°è=w&kzU³Ù³i‰œ©£×6Œ‘aÕ g }àt@ó¢T^’¶¤ÌA"˘1/9J¹ç®bïìg¤{ +<^ÿL‹¦AWjkF=`ÜR2"Y©ž ˜ì¹G©!7<=§V,4¼CQ g,Ï3p;ˆœž†o~é{Š-¬x”´/š ý¤¨ªÊ.tU7¹ëÜù°“ƒBŽ4Ž}¿§^ SŒuf·q½Uôeð-¿à`Üã Åuøú_!´3#ÐwIz=þç&©xPÑMÃZ Ñ>Ö«€Š‡"†ÍÅ´Ñ¿x‹ôksiQdy6‡[ê”c&S òŒ1eîñæÆÁucì=Xvã!‘šg ñ‹Dì¼Ù­#>F³çÄîàÇy“ ÎÏØõq‹æÿwéÕ\Td~­P$Æ;E=?󥂴ðZˆ©ÂYãW=¸#ŽC×u5k‰»Š­¼¨Mg;j©f¼ŸÉzdý{ýx>t¶ÿù_H"û’ÝcÍ,Œ¼ÉÈý¡°XŽÂë|–lNw\ꢭÂi³Ó…ð#&’eâžmçúÅx4T›g©¬®%››ä˲³Ìùp„ñœ A‹Lëò®'trªFÌÑ—éóµWM CÑ Ø‰ “œ¢`¶[³Íä†AŸç_¸Ê.¦ì¿^¾ëËГöWÝ$ù è¹Ð幂ˆ1îãø—Ïz÷aVÁO!’ÍWåßm*b/ËJ4Ø;Cx4§Ër„zeŒ¢6qÔߨƒRĆt£È[‹£o ûêÿ8ÿ#ô«÷›:ÄÔ"zà65æLÑꘗ¼{¸PxeOdùWÓ»‡‚oc$|NÍö1#‡>pësÉt§ìÚ'Ò­âH¦Ž~ö§d·×kÿ2¨y,ï—-εˆ9œAp‘xϘ§Î¢¢Ä/¸‹A,ÂV´2RÓ7µIIeèǤû&ÃÀ¾ äOâôè‡ìJ1¦£#À¹¤q/&NÐY$õh‰ê5‰1è`¶UWñ÷®YÉ„·Hà/ò7{sâ×Åè‰Y rñ—¾o@·Ý̨—ÔîéºÈÍDöŠ[¢ù^6.q7§])&Õ¸©8ÍR8g ³pŒè1í[²›†Å*¾Ò]LúQ6ó|’vyŽ8Ù‡4™J—v‘r‚útr+wÃVøh‚œ„ŰIå%D¨Ôf@’(áÉujîI3É<´Úƒ¨F$¬Ûš§]ÑçûSH»…f‰ÜB¢ÌÑ)ëN†Õrr謑0BN Ça®XY~¥ÏFñìTØ3¼W„1ÖE¹ÐPþÁ³K]g« hM°¹Æƒf¦8Ô¤5š—ùEã¹äÿ†fnUŸ?¹¨Ò³æËTº 8è1eòòÔ¦nšAºí§N—”¼coÄÈ¢ ×íÕé’ôRMƒeú_ýñ¤©º¬ºí5£æ0ö‰9/“wÀþ•½Øü Ä#©9® yÅ\“~»cÒml¬ o2 p»Ü‹4Ë =._kâ|¥3f jÊ}m1ÇL²LÛíeòýõ¸ê Y§ˆ>dÛ¨+\‰Å›qùE݉´ié;€Šö.ƒ„þg!©¹>‰ê;©O‡t½• …è–~kž«X+.JI¨? mΊ~½jVp|¢óí1‡hî>ò‚ðM•ê¼U·ÊΞ69;©¨õ¤ 6¹Ñ¬ãú7âí…—¥µެ î® ¯4ý EcRÞì ì´ôöä¾ìâL2þ‚Kp猰Õb6د­™oœcÀˆ? ¨ô™Zÿ.FJO» !*'†ìÈ,=lj !×ÏÜ×Lk/²Ñµ`üäWªyÃK¡e‰f“Ácsn°ZMÌŒmöRðU¬îÍ i§–xì¶/×QåÞ&ãÔ¶1üÚ}–n½·6ÄV­œRÓ&3ÒBÒpa´+Fë6HÆC !AÍ—†A5§.A‘amìÁMÅ­G—…V#ÑeºÙë͘Ê͇u¼%~ŸcuÃÙˆç=a¦¸íJ |dÆú™ {#ŸC«†ÛA6QªK®qÁ&PÒ)¡CSýDm]Óê´Fu`ºÏ lõ8€ä†V‡èƒM“ëiú«âÎ/=•ü€¬lg2‡\õzh—Jì3‚­Œ¦Òy:2v·8uÇ#`’ì·Öy:o– ¤Û!Ô•çòš˜“³mùëìw©f!^Re¡œFs¸ú2ï‰>^6†Ñíu©+À(Hœq|›/ÞÉqO^gÏ×¹ÚÚ.––ØàάÏçQ{¬òé‰ÜßÒ]Ü(i®¶™1³çuÌËs\BËÏGê( A¯shzbÕU—Ð}¯ bö‚«pÙ¹×’£l˜K¿bLãŽ/¿ ÏBP˜{¬A¤¼~£Ø¤Ÿ¹¹ñ;bËP¨^¸u‰='©¾ŒMÕIX*ÈÎú=—4‚Á’)Û{ ~†iY·dWSëÇ2‚C¾åy¸‡Öx¨Qj–æWœ£PV,¹ÜT«z¬š¹/üöµÜQ˜Ó¡ÙI cý¸úƒ{/±ùe‹'Êzäo›àA­ÞIìÁ‡1“]°ÌEÅNUó"¨ ì#ïGÁqÿšà3}éÁ8âê1+Á÷r¶õW³ˆ`ÌÀbm‘¶ƒ·×ñD¨eú™&W)’™x2© f;àå›î(í† ¥ÌD4¸I\â=£d:âfÔtjoo/IØÖYaºôŠª(¹R)Ã.³ç଺³òh§sW|P,Y8]¯SñcTÅSeA%ÒWec¿ïj¨ž}æQ*\\ù­á¤t¼AßU ÷ú¯Iý}ûÁ^ñ8ògÈ%MT`c¤02rweßj|c²І>µ`÷qÀÿ¢zv<]~/0ƬT—ºç|õáØdR;Jéœu-MÃêâ~¸š¶õrÀh)0Ù»÷TÔæú ¶š]Árÿ¦j€ƒ&é®Ëá¼–ÞÄR,h‰9“¼AO4ú³µ0+Œžé GòÙ4žÇĨPTº_B,Y Íd¡Þ1ŽaF°eÎ`„h%ž€%þÂz3DÃožÐW=¤kÐðÀ[¦½ŽÓÑ'æø-Çr2¶>]Q:o6ÏÄè˜tz?k;uâW·nÇ¢í.Œ‘ÖU¶=”»ŸY3tä-™wCDcF)㸘Rÿÿ»žÒË‹âgT˜^cöÓ‘›Iº?^‹T ÔÃJ`Á…[F¯QŠHùÆvõê~ÝY~Ë ó-ªï| ´ê£&ZDì ±"Ô€F©FS–ß WZT?N0*¨tËo„UÄ^$ íQ÷/t*b%uÔjÔ¼ÿÊ’šÔJ´Ò+«ÔXÏ=É6ÐÝ»<ªwgt|®Ý«–+wŒÙñ€ázöîѯPÌÛ+Çü$V¢áïÇ{ÊN<Ë—â/ìMßDTñ¨uqìM ¤wzæ6'§£™ÂÃYÅäZîð€~âš4D™…±AEo¦Eé$' nòµ¢ŸÐ)€þ\["#¯Óý@=å߈¬Y‹!1Ü%é†FõRŒ¡¾³šŸÏ+÷ýLõS±f«']›Px¬Ï°52)ÙTžp/Ù"L^‘Åw*Ëcd¬ÙDÎ@â²\óŸq±ñË…2ó´¶R•ËXÞ `­–àoeÆ@[ä&Jr'äti‡>‹¾âJ€'‹h™æ®Y¡Î»F?¯i'Òñ,ä~èq‹"0ñê¬ÕM™eE¾ˆìuÞ9{/Ú±Òyw>²ƒÍÔhùKøÊ"å¹h¡ÕL0áÑè÷+Ò õ£œ@@õ×£&kño³É&«$m4åk!+œºÙ›ÉÈŒ9(yMÃíD­2zï¼JÉJÓzV}Ð1²ˆa¬A{Jõ"ÞYlõÇ%°Ë€Ë[#÷˜ øjhX¼pÌl®"A>û2 ‚Ö—fmX„EH¤Ä´%€eŽ%ƒ=52ßàI«áê•0wr“BËHè`µµˆƒµîY›Ui”r-„Î „áöD^ö#‚ðµÁ[fnŒ˜¥bÑà@™­Ûù¼=,®šmXbÍøžºoûÙ@Õx ¡ô½Òç¶'&s£á~óƒÉø.ðªrŠY‰VÒE˜ ’Ø3¨¶rke ´›ší'ᔺ]]• ;<Äñ=]µ6Ëvê]>"ðõ¤feÔWk§Â™®Ý ä4«Z; 9¥Y  }@ïg^ÑÛo<€D¥¤´©Y8an -h—?ÚÈã¹Éƒ%èÞ+ˆv'·›M>á¾Á³*˜5tÜ`ÊõÞë; åH­ó›j„i³¹Å€ýG%cd’¥6oœÏ(Ÿ3äT6³ñÝiÑoû•Uòîýä:ÒÃò{÷òF¤×½ðÐãO”·ž´2¥ÌÃâ ú¤¨¸’B¯𕮪݉ºK;eC™ «¿ú õ:ÞúÕ-”þl7ONˆç~^Ö<†$n˜ziÒó©ÒÀd‚U~Ç "¼Ò1¿å‚Úýmjá Dvâöiwù+Ï%BBõHÝËVEÊ™˜êtÕ!îY™ŒŽ¿¦eÂ/òDÝ+èø QXx’¥´]†¼öAËïíSMkä)ø×¹©’´Ry³«é@ÓüÛ¾:¿U§vß$ÝÒ“`HŒ¼˜‡lë6q¦Ñ>øíezaFI\$¸Ù³]Ò¡‘7YÞñ;´È³%síbq;pø}M(æ¦ÓÎ_’AF&ÃúHIsZ\óÏœ·!÷àÙK ~¯Gغ•" ¯S!{Ü’u¡ -± …\7¸%üYAzMÍ$”›š_þÈ¢@¾]ý ¡èøìd’!í(`Š<胎Ó'ñËqiîëíJ~,d¢³"íë½­@™¤^©‡Šø`d*„ëkñ¿­¡5Ïnz ü­U “×;‰Î‹ÝäVùzíKü©e¤/;X¥å|Ó'ïnóÁcÊ´O|ÇʬM¦ ‚´ÐsKiOvX>µ×Í8ðg½'&LF¶S§œcߊs˜l É—DB-Ö²ÅÍN ¥@BÈàœè'ÿ?°}næK{N !ìëÑuš/­ž@£õèú–4áyè®O´ŽÏå8®­boÎ…Œá Â߀Õ,Ft ë~Ougòw=~ƒ¥”¡¹ó[Ë¡ ??ŠxñCFû›K&©{êxO2PfXŒ¬Å¬IÈÐe¥ªá]¬äoƒ¶–Ý/`6¹È øLÿb«ë™åMų£eš]*‹lÖäýXàÑîóÛ‡¿…ìŠâÔúÏàô-ù!zU¶¢Êxà›i úfäùÙ(^s®îJ¥õú[“çç®ýž¼oæùuÍÌ$G*òЂÝM{=£ìƨ@3Ç–ñÈúˆôÊ6+·#©D BÄt0ëS»4Påu¨™'Ÿ„üðØgô÷ß¾‰Vž.éôk_?ÈpJ€C%GvWêÎr[6E— =pºæ%n)¯ ŽLÌâ:$çñÐu@&ƒr¦¬› ç‹H®š÷yKÚ|3Æï™ÿŽqN1sþ“¥ºÌÌ/¸>‡ðµTxn'JÝ6Æ÷P¼£Ù³ú N‡g‰aˆ4Ô Óé4ü›-Êúík§*ZÔ•^FT(ÕJG>î»›S Óω¼¢‹ø°ßª^3kÙÙ9œð°žÿr‘è8s™.@íÂç< ƒÁj°€Šÿ˜hÁ "H'âü´»ËÐÞÃ*R}6O]Û-iyiÎLTéB//Ã%óGxs«Ï±×s«Œ!x‡[1U9G励Ѧ“‘Ó4-ÕVdãí+ƒÞ‰š(Œ­ñÓ¨MÞ'¬ñ˜*üô—‘¿úK9&»^ðW~™2+9(Ýð·3þõ=Âú‰¬X¨åm‚hFï/„{ï‰L4 ;b#s¡ÑX£ï™sh\:íäLd¢8wÀ8…ÖŒjÆ2áDt+‡ù=b>Y§ ]“û-jº@TU(³öËo 41ÀËý`yµ˜áÄEk¹+Ù~Ʊó‹ra—aÙŒGo«exò©7¶—^[§i$?HÈD¶ƒªÈK 3çúònõÁí èÎrW<%´ç$ŠÃýJÁ •v#Ì”´a•rÖ‚ê¾Ï—É÷~½uë3’¤³ûÂÅâûs^ÒÑ{[¥}BªŒæŒÐ›>ÙîdMÍ’9ÓÀšo…ø<µ›(œÓxU€TA×®|–ýaÂJ6•à}—Ùà£'‹^–kvË¿RW_ETÅ_¼“ª´Mpu^(‹K‘8GËkÏ9ÃÁs U€ˆø€¸­Ç.á:°¿ž0¦sb4”l^q#ñ|?( ~0ó·ŒÓÇG¥Ý«B—¤ý$‡VØÙ‰†òVë$HÇJÈà)v}mÚL+ôÁêïï“oæ\˜yŸíÅá~ìù·ÓÍ.ýlWŸ­X*©"RT½Ù·UYÈLÍŒ6ÌSJ‚Á£Œ¬”õ/BøêçõϤ÷œé-B@/}0ÿ¥ÕäÍ^ÍÞuå¦Î'À˱µŸ–Œ†Ì.šR·ZEÜ¿†”7º€H…÷âYM¨±d""•páyú»:ôq)T(sJ‡j°uÇξW‘W‰YRÿc¸|5Ä‹ÍV°m’_o¢R€$Ð…a¼HÖ¢)ºÃ:»¶2%½˜O‚ÁÚ-ÉäfvÁ0äOr²ìlÖ@}Q¨F™{ìàÓSu*¡ôxØL°Ô1ôȼ7 )²MGLH$‘hâCW™4~Lø‡h›~?*á˜Ò_åȶê)5W£d£uìTË'Ÿ?X³ âÅú›?£iŸs`¾ü‡¨NO§º ú Á¨÷Wx*Ëww¾ä˜!rGÇÙ«4Œ<œ†'$`¹h’Ë^s½}s›V™°ìˆšO+ÁîÈ0]’èÍ,,ÝQrr¸)«±§ï<€Ý¸°mˆI¾naP&º´žÈΤŒd– z6|Î9uœµŠ &Ó_­hi0è[PQ R‘éýÅ׿ü%WÂîEòóP5‰w|ã@*±u¯ßßY]ÆcÖÒú~ÊkêQ:›bƒ1v·RL^Çë™G1$DèÌFõÉ3òî>xù qëãQéz‰ Ëÿy°ÄÒ¦°Á1£Æ½>s(Õò~ ‡¨Î(Ú‚:h³žua­ ˜9«<,¡N˜™‚‚+ƒ2Y[HÊ9öq—M äþáµRåÆàÜ3\}\ÿ2íð~*G~ÌWwhÆr]ôùöÕ!|çÝú/žYŠl<.4â­Ý0;/Jðý9“LoðZʱñ¦,r¤×¾ ÿÜt~:”¤y˜úˆ2q/Õ5Él”ï%-ä÷¼ƒ‚QRø€èUÑô >bßX±ú— žõ3VÓÉpéÆAwþœ|3»É:Ý+ªD£T³µg⎿Ȯôÿ†èç›Uªâ¨ÒÈ!yrï>6¤ËŽãÐrôØVò4Ta #,†ÌŒ~Á¦õˆæ;DÁ-VÕ|Ï*|6bCpYî±Q0–<Ègϰ5\äöK¥]u ˜00¢ø®V%ÑMÛ‘)c´æÖQ²Å(còÅ8+ÔQ.o}ê#’ÙqßJ ù¨ËcwJÓi)6@»´\]T°+ý{!u¢¥=ËWŽÈ`¸3«Ý·à¡{ÖÄZËÒi{õ0!ý¼%_ ^mŤ5ƒÁФsußéuÜu,6¤Ô$𹶤;©Š@;¢ò6ƒÓÿ0e\σՂWÄ[ñY¼ÝÛ׋Òe¿e’8HΈ[_@L ‰œN‘Þ±>¦z&=}EB”ü_ÓX¥ìg8x='Þ7o;¤çµ~ <ñÆ]¯_xسQ<ê?¤|9Œ´¦8$äÖÄß Æ¥–ÓF€2t…ûe }ák¿ÌŠ>HìYM¸ïKö\±e˜¦ç kŒP+%&.™þ¡FáØ¸ºÄWU²÷O›´•Ø$°JqI˜ß“wnY·~™ÐG¯^Q̧S*±d0ñÇ®>[jôûÆ“øŸåÕ €3°ÞüàŽaç÷ö+$©&%Ð" Ò¦ÛÌáÅQ„M ¹ fß¡ŽÑhú¾ßÉg°ÇÇõÓÔ«ÎwJx q‘êzÛé¶ôsá(™Ö‘éÛ²ÓÍo$HŲcHCêí vx‹Æ 6öSxÕžÇAB.M-Š‹úH FÊxØ$Ï¿Žê¿Ñ-‡¤é3Riãª/Âz)$Ô)¯ÑQ]ÖtqÚÇÌð° ‚BÙ5譂衞 é¡IÿŠž›Im¹q)h¬!¼žc,ˆ2·@âÍàýû¥ÜîS"ÖLF$L`+cz󀞨v›T86Kƒæ´Æ€I•mà¦Kô]^Á3 ÔxÄ“ñžÉäÍ»(GâBÂ2ÔßÉkD#ê  Ú*5‹yPÈ–9†ê½‡x¡é ÿQüý,wb¾Ãºá¿›ž”Wÿû°¬¹˜<“(d;¶·Y*ä÷Üh]‘hf…}¤&Î+P+%Ò†Ç4¸ýÜò#–éKvD˜P(¢ÕQ‚Óa\lX\`BÂì?‘x’ðÅÖOJtˆ¿†BÊ/ö‡-$µÐI{6Û&Çh' öiSÃÅgi+ùÍ$c/£Þ™¶}‹T“@‰›?mŸ´‰ö§òíx\‰úžsœK”çöçË;&©Á}ýÅ ƒ{úi×mà –r¾°óüDXí”tù§þ˜cŽß!b?MŸÿR[ÒïƒlúsYrƒ&ñ] "+û]Iúë´±0aþë_=œ«çèyö¡'’ €ïŽÒŽDv8!†ÃÖö±Ž¢¼/šug*¸/øw*¶IMÿ,~½a¶œ†Âì9õKã)ú#^k¼…)‹2{o„ã•ÄÒçæ@áÍ ;óªÒï 'ÆdÆš°ŒcÎÂðORa½®ç2×µ7õm·‡ÏkÃ{ÎRÆJkžxhÐ?BFãb•<Ž2N 2Ä@Á¿1ñãöå§Á–•fšÚ£§ 7ÖLxGÄî?T4ÿo©Öƒ'÷ák}'Dò‚Š/¯&réñex u`݆i8Ø)¶Ùguë…5¥bO{(•¹ä–¥žfÌÀW«’>ÈPVRìAöfŒ5ùµÁÌr8ÍŒ/µãhS?OüãÌ“6ô³½H Zƒád¸3O¯!Ü™`Gµ{›Š¯ÇþaÇvP«"rÜ~Ø„*“î÷¾˜ŠhçíÁ¬–Š@*=¤&^*þÑâŠë.Òî)9~d…{ã_Þ/Öm½Ó ìï-Nv”rd”¤îŽUG.•=3Ÿ·æÑÐnÉê"5X̪˜!†ÊSë7-i½³ì0¦Ë›:ÿΛ·iûá mpUZ¯'7­#jV¾üÄ™*¡„{Å[2%E\¶)}že«3k~JÀÿ B`œoËá{RŠŠ/(LÔ…¾ä“ ɱ©­t$ÍÏlú`NLâÄ2dï$Æñ>íJ–-6†)öÙéb<{áä1§Ü L~L Œ¡÷Z6Ú®ô6ÑÔk¤¸ cöß~XÞÌû6-­öOü{à^=Ä0¤?­T’bQ–ò=Ë:oÕz85 1e}GÔ—ÅX°S‚SN|ô}'o/ á21¥”…Å‚œÙ𛩘â È$ÀQe¦å†êºw‡LrÉÞkmß‚@Ée ×à{-)\xÅ^«Œ=¢¿Rí›H×Õ ‹n!wÖ‹\M¦2‰ß\aÝxbœ8ŒÀÖApÜCRšäh<Ó³}esA¢¢Óõ)/W â¼ÃzenÄ[ÙüØÛfÜHä<9/¨ÅÊÊšTŸ¶XÓ4yѨþËÐ%u‘E¹…krêcgxuQ{‘]WQwTÜñO„B¢Z콦~µ“êµ]òy@à2$yK@Š½Æ±X=ÍçX4@dËœ‚SÛÃõRbë÷ êôèb±§q½Êp~fwnÒ–qòËR‡‹Oµ×uÝAHü‚vŠÖ³ḐI¢E6÷¥ex³ äG¬MómÓ<ÉÞšd/¤O®kÕ¯bÙ¼þbi¼bÀÂ53Z,¼xTËÖEÏ#Z×b§:ˆ®‘Á?¿ŒiÔŽ=eOÊ|¥=X8K¤ ;Ý0f;ȪFœ?µ‚Äq#ý´@W(c š­UÉ&ü+¿Ké3ºÕg“?NW‚ªµv‡dyp“C‚jBpýß/ºPõif,ôu”^V ìV,áÜ„m‚3843 €Þ»kGžÎ¹1–ÔT`yëÅ'¾=ŸxeÁ»LSŸ*¸ßì¡ÈÑEYþ¨X*!¯È?{}Ã6 œº ~T10iòH¼¸*:Í)‹¾ŽÓ 1›(ë³,s7¹J‘‹}^˜|H~í°mg畨`Ð3>3‡g_쇜+6U¯÷&ñ:t”2fFM¯B,¢$¤*¤£ú΀{ˉ¡ñú0‰«œ¢µCA°Qáã:Å)Ф®WáxÞ$’€;ÉEè —Z>5Ìž«Û‡jš¶ñd¹\ðü{¾T:”ïX«»«Ý†«Ç±–1 xÊ&ŒþÀž–æŽÁ—{ó¶9…CgÍõ+¾^ Ôb-ÐKÄ<·3~æDüÄÁLgO°xýÓ Ádõûk,Ã;©L”®N½ŠJµ•IÓ3½MO½{Òt»ÆˆéÚ—“„‚``<îZ()”Q€4IÛåžD"S<éíüÕÐfwè€ ‰ÏPmç¶Bcާ¶¦¯f—ÅÏÎyiöˆgÍÙ(,œî#›æ›Ø8¯¤‘')ü IúSbXitœ"ÇÏìÉcYžd‡ø~&8/tŠ4ÇHõ¥’ÕûÖŠéôV½9g(I¤ì Aµ)¯¨‹¢Ð0ÏŽ-Èl Ö4$†Þß%ݤâ½÷Í(Y+bvm3€¢¼ORÚ‰". ü6‚Ú ¥–Sl"[àBj?êL˜ÍEž´EñcÊN/X•q hÝ™°yT]‹…ʶöȵ-WzÎØÖ7๠O}ºRU€ÎzÒqÊYÛýíÔñéM|‘ÅOÏÝ.ÌvŽ"ÆŽŒBݡǷ„7Ö`ÖD.¡’C¡1?8! ‚:ßû­T)ãUe•I§ŽšÕLÙŽòHÎnºÜ‡ ŠžsFô0ÀÂCô¹_sœ»à=© Fz3íŸ<+–°˜½`+å1¹:(…u”g¡¸GM,Þ,ÉàçÊÀ>ì4Dô»)Yéíècºû‹¼^û×Íõèh°úÈ·”*D‹‘ƒ—ÆÕö¤ô±?½6–^6îõ×è÷3ëªé­9ßÖ!H;&1X¨[1«o,ðåÈ2QÁ •~Îcƒ¼ÐÑ »¸oÄ–‰³ì%€Ñ#»³$³G«kÙõß“J)¤•^œé±ÚV…D §nà¿õJSÉmÕþÚ§ í4%—?‘6¿ÓE䯤º™Þ·{÷m:›Q]çAÞЏ!|o4ç9Þ°©³)c^4&íò“;Kã.r2æÅï­/U‹e *Me|i+Ї§ý°{_ Ú¡åV7%˜¢Trâ ¬×ÜÂöaéè6q|T.ÛÍ=öÁQîMjqÌG©@¹DêpÎ~¦rñ_Ùy(l;ˆB »´ààã høñÒãeá]ëe]ÂK˜¶A'¾A$qRÄSç_w€¹•&Õ§Ž< cß#ëù‹~É 2;Àý»µ”_nƒêýì=b†ÚÑqžh×áÄÁR±íØ~\E}äò ÎÀ^®ž†¾ 0°&€Ô§9ïmðZïÄÖ‹S)füí°_òÌW/ h·wøq*ì=SÞ ÛéólŠ••zî‰ÌX‘îÌûBÀÞQÐ7È1[¾ d)Äæ“T7‹ë\pŽó-ÊVàr“çùN‰üu¶¦©Õ“ ÎÊ·?D5Rÿ®‡jH:ÝÓ m]8;+h)ÀNâo û‰EXòÓ¬(óÒ† rwÇ*_Y¿ImÖ¹yXÿ'pB,8[Ÿ²Á~Ô8AÂKÍhxd¨A{¢ý¦sµu@À^¡Æ=á…œDS„ú·HƒÅ?ÏÊžkÿÖU¾±ûÐl‘¬ür hÏ]9·ÆkTikívöÜ|âþm\ñ¯ˆñ· ØŒÏiŸkõúä7@Ïšˆvý¢Bp˜Æÿx“ðqˆ†\ÀÄ褈³åÿ`·þ1¦ ƒ«ž8YÐÜlM Ñs)k€!ùeÙë: GÀ\Ÿ¯e]µ ,ºͬÀü¸áÒ›/;>Ì*Ù]fš\_–ü‰zÄ+­;sºnaþ [ƒ2z°»oðý èhì©ëö”¦–¯Ñ.¨hü/戮‹&X”ì# ˜šì(Ì yѳö"ËRÁWâ9Ë3Q²ˆ=ùi µ€!nNxånÅEJ §ÿ»,æŽÒ ÿ¬Ë£Ä“FIóF¦3u¼cº0Û¶nä4"‡[íÃå]_ÞdYzu¸™øÙæp qÙ·òÚË~¦ÝÓêã#:¸b”zAÉ5Õ›6 ªFRÍk©…‹eUÕ,óìß,¤œz¨5‰ Œ]Ï~D‡]ÜÏç¿™ÌõžÓ×O˜r*pØä<èˆØ6íjmD^ÆGý”«W*„ø%M—/…ô•Œöd·¡ƒbÒ…1¨'¼Ô÷P¡‰2pH>SÚ’¨^Bs^Ããÿ¨ÐXRG±5,²%­4Ž=,e´ ÙSRȇ…Œ¦·Ñ̘óM}ˆ,eÕEËÑ»F{„%;–CÈToRÚœ{M0'<ùf÷M£x“¯%SÍü*)4»l§¹¨Ëؿٚ2ßâÔT¢f§ìÀR¨Bö{ĘqÙ¿ MÜLGÚGqÖÞ†9­£m…™\==.t½rŸ„û„üuâêo%"²b-Fü½Žsƒ¬»L¯´~Zk'ŽûùÀxÐ ã?5JЕ\¼$YËÃþ”…¬è8g%îß|2DS€›’c#ª¾vž?`‹ÎR3”?OKd¡V±J­U¹OZõÈÑÒï;„J£\RþPÖ0ž¡%ýYÛ]&­äYífæÓÑUhÑØ|‘U,c ® “0¬eµê)&NùÎò©<þ¹¡@nò 9ؾºMëùŒ¸à"š‘1>Áh÷h´S¹™¤EiùeÄiÁÿ]X°êšOø×ˆ¬W‚ñ9‹V5…PH|W§úåfí:¼¯àŒ$«Â\Oú3ØÒIñ•{2/@ÌÊ×ÄÐ9 qãOl1‚(× ”wš…„w˜öŠ‹7K*öTÒ©š+%#µö’ñ»¥—Ö-Í|xº©:]•n‹ẅ†Ž&°RKn’[¥q%øÍÅiT".®3r³÷ô wŒœ›bÚZÚù¾©\fT|R¨¯Ê<šíü[NˆýmJ¢, ™Pýì¸ ?ˆšMú™øŒ÷uãÑàíðøŠÉñQY2•DÅmS„ó]þžÀd H?$ÙPŒj£Õ¿û맪ÞëúB!ܼ1®ã¼ì+½øòGá6ŒµÁ8#úL­ò+‡x_3¬ÂX÷8ãæ£IN­àò_I*îȆH籟ZB«Žì¬_)bS ÉóU$g•c”L²~iƒN E¬ÂpñÎ@²Ž$N\žFÔy¬äo¹€ð¿UíGá¿x¿ù:5”A耉^L­è ÆnÜÉŸÐr¢L¥íû‹$U}_~&„ðÒ$à"Çq7¯&wÉ®^œ’*"š…„,Á0[ê·òBs¨—Y>½Ž8¶¦Fƒ;Q¥W¨®4²ymÅ,…Dzü(ŠCÇÂ(©t‰;|HêµNJó‚ȧX´„³›^„ˆ’Ñl(Î(%^·Gš{ý?³(oÇ©- -ó£Ê X%ﯙèôP¯L!Ò>({‚‹ZkÀœµÁ:3S'¼Í«ÓÑ»Š$¡@í|Èæy<„0¡ÛAJþ¥jq‡jÚÒmÇE ùßYœ*µ,¾1²NÚ‘Æ5)W*HŽ8Óóý¯ úÁÄ%O wZgZÊ„uüúôÄfÕ¾ÑüϱAÊü^ãB`/_8-ÌÈæƒ¦3Ñ[*²#U ñ0¡ó¡ÓÍ]NJÅ…uÔ‚×åòdÇP7s' :¾ntV^ÙaŒ™}(È£±È%¾ûð‹}ô'[eü4®¾–¬ i¤HÐtía¡FøgPì¯Yv*ŠU¯ðȳwyªÔC›œ¥ƒ±ëÄXåô˜¡ ‰Ýàƒ#ŒvÄK6§çw¥+çãÊÏ%Ö„ÇtXñ5‰4B`ÅÖácË%gž'ÃXÖ¯¦¨\‹ý <È­!Zš=·œV(ü;¿4™?jnÿ“ÄÌò>.+÷i&Yú × pkôò  §£ÛèZ°á'Û¨œ†‹ÕDù ñ©à1Ï5#U 5úrüŒîનýŠzÔbó/Å¢[è‘ÛM—ða5 ?ö *Xqä„sîë/eCg¿bŒÎ©CÒ_`“mätIGÖÄ‹¯ÑÙˆ—ŒÄî»Ø«ôV Š»;[C #}£V¼UäÔwó,0ÔÞœ„#T…o÷_b<Ìd æH|ô{rue³iÀ›j\¡~Ç;=¯G\‰!Œ«èÍôAx)¾”-gÄ·¼ KÛI1õ-÷ÿž|œÜ~wX©g™ÑKZù|ýϪõNò"‘hãõKN¸‘¨émãékUStQ€E†cÀ ®D$ }1Ñqè!ä×èwaU™¡ëPØ•–qÞÍt1ð{LU¥‰ Ï þÏ ÷ȯ§"ƒžò‡KÕ .Y›x¬¿`.®Íçe‹©&ã\¥÷™×ÒþGa…‚8œÇÞ5„u{ ßS ì2ÿkCLuÑR}î›Ó3 –ƒb”x¨?:GÔMï¾ÑŠb|œñšOŸÛÑÉ>‡ìØÉíbæ9pð•mx·Ä¨{•ƒï&U.­Í,H–X¬jÊ š0ijÜgÜÕù!yÈšï‚àmb €y…yØHn ¬Áe\¿å:ØGaí’åÿæ;TË-Фô&¤¢õæ¯{6Ï3vu; öt‹äÍŸ¯‰›m#Ò. 0.v¥%NgõÒº®22ä(š;~P?éŸæêÈÚÎhÙ÷,¢‰½S¶šs»Yoã`m]1T‡ªeÄ|®$­„aÄ Î6èͥѭ!×ÞßÿJ™µ6*a ¨¿7žn`@•çÒªÏQŸ!e¡Üx/jå×,ÅÎ1bæ8ÊhÛ¼9ŒœQl'oøï|ØÌ×Á‘Cæè›£""tTщ„¬]Ñ~97ÃÔÑ¢w‡ð7;-D0‡N«#5íÜ~›ÑðHxcŽêñáóV‡ÙíG<ݸ'{³ý¦*„˜¯”#0a‰h@›"½.1T[f»m„)jYÇi̇ï×Ý#WSôí°^¼åªÙxá{ûÖlzi«Fé;¡¤@Ê»wØÎ´ëWóÙ ÿ7¶ºŠºq¾s"U«×V6´ùl(gPK¼: ,Ø›3ˆ¹ªR*mõÙÿ J„ÏÊ%{"‹ìkç§Ø ÁC#qÂרVqfr¯ ;`{ÿ}èÏEº…Ú…CÚ¹ûœOŠãŠ]RùïÝÎfYN¨ ¶Ñ./n‚zmšÞ½#‘‚YßžÄM‘›ðY€’Iä Šk û°½±¨üwá”6pkŸ“Òß…\„BGÓdB;&?°«.ײ°;# ;¾ãÇel`·îOfZi¸ˆÇ߆‘iZ 3îÉjsjÁ¡Z†ë“ûð@‡SŽ„7£îsþ¹’ýØç@fŠoXò5o›(öû­àÿQäßþ<¡¬V¶š†1ÂHkÆ+É~×62…f™Á3ïú!P#ÕjøJ94˜‘»uÒqˆRˆ½tVÀã¾ð4KàÝw}1WÿãÕ>ø£ÙâýEY®ƒÛzÉH8Ÿ°œšxŠöeª&Qob¤ˆñ¤¨¡íÝe£ÎÈiY;æYX‚ÀˆA"Üú§WD|rù;— °ÞaÿC½š!<"|S „‡“Ø{­ øÚ qÚåòâ`@çÇ%<‚¡“TO‹²ÍråÝë^ÞQઘÖÁ†©7‘SçœË8Ö ½3B üÇãrÆnÇ´ô(ÊôzU,ãJ{Zœ#ŠUh6ÞXy`©Rñúobzah½Ÿ˜¼ƒ²"£Wëõí‰&{Òp ´Þ,¿M-WÚ³ø‰pRqó—å}}hRØ«©Í— ${ûÞ»/ªxâZ{ÕɧÁUMŸ¿Ö¬åÏoRÒÎç &Ù1íd/v±Tnl¶ÿ³×õßPèä?¤n92V·ì&;ÏÃv¾œOÜœüï2è]hÚæd Šp}\ø£Y»ž|“è÷7·¿¹°Yª$ûCb²C¥B§IP˜Â¿eÐ]$\þq Îs5*§âL½cÞÈŠn5 xVä±”ƒ´FT?œì‚OàH6>ÎB >i÷Ádƒ†HFÌ…šÚì.NM§>_I”„nñj#¶&6“ðUK:óƪjÛ ±åSÎý® Çéíïh‹Oz%µµ‚VoÒ‘`Ƴp¹ªO»-ka¶¢ß‘Œ€ÿ8ÿJ¦ìª¦ë…å´_ÀŸšy>}žµF”¯áËVÆkxA.|‘à\²³ªžw+°§´Þ/µàÜuï ÌFT•æ¹mîl»á+ÙF•Î$h>%?ÁÛh!í[‹n¾) w`B5#ñ¯Ô|´NäEW"bâlYØáì²èt* GýD§ÙTÿ÷ ]h·NQmù®ùª2»]`ÿº¨·u ;ñ[Áàåør_ÄÉ( -K~QŠ–rSÂê|1«á°˜¶Â%í¬ï±­£AõŠd¡‹±¥‚/”Úg±ô¸%íˆ8Å6¥~sް´Ám ©¥W<@•:+EѨ–€G:Â(‚J"Õi§>*¢óÊ9Y}Pâõãµ…¨Õ(ó⺉[ÛpØáHceHUJ™^ïâ»IaÅô½ñ![òc¯¹FŒ¼”?÷˜£Ô™–ǼÿýöÞ_^´#dÙ÷îYÈ3ÏÖpŸÅ€Èxo|¦7fí«{ÁúUÑ:E€}:– NÒÇ¡œ>ÒBP1’p©ä+ÛuZ‡°'ïà~m=ÕGX‡Š­‘UËL^ÐK7ú¬Ã…}$Áxõ¤—"|€YB¬ó–Ö‰û²¸í}Ü&8_– ÆèìÇs·Ê cý’>ÄA? Àê—$rËf\{~¶æI_T%øWCzÉJsœûí’ð‰pÕ‘¶þõ±i*ïä§÷IÇBqØd‹pî²k/ë‡)¡áQ€É±H_k9ÓG¼9¾Ÿiwgv/Í™µýLƒ’¼ ‰©ÆwÐÇó†Ò®A›"Ê…™Ò(¾ßv–‰,ÐÄNg=Üî~„ž¸[˸šŠ U¿„—ØW?Z2¡. °¾`Ho9Ñ —=gLVæÌ§½hîÎm¸õARv$e,'grò”bŽ{Vª{¸ùJu{mëë>Nq6¿0cž§¼Èplæ!ÁVfU»CVåŒCcʱ¹iÎødL•CsÎÈWF˜àBŬšÃÇ0M`•CÖ2ÇÁϪÝæÃ;ÝUîþÊZ•¶{e5{ï\RDãx)/ ò=܃î©Bãàû¤¤ÍÛ±¢Òšmº~¢õ´ÕY§Ò,2®x«©öuJÂtÌ:F%šÂ×Â;LAÞ]ZA¸Èá(ž&+mægCdµ>`5 ÜáížôZ”å ÕÛ}ç¼}®øq q’e‡Òå}VÏJg¤áRG`z*F¥x$béè=fÞÎÙ"¡™´Ð‡”>ÀE7³qßéÑ/% “Ãû(¬¼¦OL¯çnßëò3ÿ’¨Ží7FŒœ¡˜ÆgX}Y~…,&¶) $žUÉÈN¹V¯ Žó-{§Ñ¹Bn‚ØçïNhk.5 ±0:æ0JKGaÙ uÖAž—D0&êäõÓ˜ûÁŠ+¦šÆ“5y‚Ö]²¬“Ù›Ã<›:+Üc8Êç"VîI‡Teßçd½·4œ™ŸŸðûkR¬xÙ•IC%s¢9P½IJK”=U6Uƒ±oÑ,™¬ƒœEÈ’ûtÊC[×H”-r³GÒSÕ§ÚÙ·{ ç_¡A|÷œf0Êë êð°­õ…†âÖ¤:)XZÏ÷ÜÝGå"OBfd?aqèU[ݳb»oÌRù(ò[q<Ô$¹@YŸ’4MÄH.x©™¤9_aK”…Ç}ß—X¥W±<CgÙÀÜŽ‹¢æ,=É”:/ËÚÕþ6ÆÚÚET|^ň‚jY5h‡$¤ìú&ê»Òaì$ÉÌœ®áäIÚ­Ü£K›0¨ˆ·%Eé"º«øj°ë»Î¥:ãz‡Sã55ŸÉcÀéǨÑ Þ߬èÓP±8¨ û[~÷ì6—¾Å•&á.cì»7-îSˆ©«(s—)KX<Á ß?O]|¦÷§áZCÐö]«È´‰e\-¨?žE’[MôX?Åâ@wz¡ëV W½dÔ¤ìsÓ„eþf$úºŸZfQ½ªú–xŽ_€¯î¦’,á(Ál z„áb ó¤’l'Clž^4½vyn]à`ªàiK¨×Ó oÕn>àÈÉÓnO3{K±v†9Û먲+< Á\S/<cÃÑS¢%hb&®f{ˆà>sRßåQlº±mxY¼ïÛŒne€†õh¤]lûÚQ ò"<0OݶÇ(º =JÜÅðÌ7à'÷r’F ©h­óoœêÇ-Bª~Åþ-΋\ök±)L: ÒâÆ¦]n¼ÁaCšEFh¯?8ý†8-CÙ¬EåçzD_+Áq'žI›-²s6 <Ï‚ó ]ë-¡,0ÉŽ~ú¥„q÷8gîëÞ<£Ârˆ®–Xî˜û9†ò÷£y·Ô‹q®ÕsWð˜/ßh±Ð[ÆU;@ñ1 ç`˜Ò¶ý"Rw>†oTìUÅÌÃ#>îD)Ø–¿pgMìþ¢¨P—+S`ÒB2”Xg[Œi¦e dåm¡æ‘mÊ ×¾rÁËzÌÁ•ò]/ïfòª5-}0Í.†‰Þ •Û‰J„K`)Oæ~ª¢ß„¤êÛÑOÇë.o-‚Ä·ìã‘&ÌœŒjKâÈ}¨˜Þr»½©BCQv釆Ü ïÝ%?zâ„ê°ÕéˆÚ;8d<ÎCG;ãÅç°–z<¡º@[áG}wÊçG{ôâ¬Ô·+£~Ø*k¦äëuO¿ÓF»DOÑLJüãîY€ôÍ-•£ 5Ü •T ë,“g„SÌl Ú|×òD|ò%»P’hëmµõ <€F½rô 0'TBš+N€¹ûy÷Y‡Ç¯+~Õ7¼¤䦅€žUбK¿Psíd­ò¨¾ó¡rº%›Äê`I ¤aJiL‚þìžÈãÈíßå˜Ó`Ilr­NÜTéé LŽc|MЋ3¢yÏõ¶$ ‘E•ûÒÕ ñ.¡‰ ½r6vÔc¢õ1 ¯ž¼$F=bÇVV m<¶£èù,¦3­ ñK!èÇ`<¢Ì/Â@)9»Ú‘Ò˜W“4–vGvÚ>SEV”ûê·!>ä""Õ Ãz¢nýwÿ| ‰5Šs»ŸÝ‡ÒVžÁ`x'ÊQ¯Go3Eu\õn Tñc[ô€˜9| ˾^š/ÅrÐG5Ç>ëp–d 3‡1­Œ[\µ0 Y|ÁXAÙã´íé»Ë÷ÈæÜ¥ æÔŸ@C7EhØ‚NÉœ‡ñ©;‹[×`)µí Sƒ´"ŒbY$N\_ýå1§¶š%ÈWˆ€•[ê(~LIwÄgˆŒmaR¤ÂBqØûÜqܹ$ N bzs…ˆy±otɈ™®²ÓSÎB× w«‹tTõò¯äN(y‰#™YZ%Ôâ›r(ÆÝ¹ZwS>Ú=öÜØ™°¶yPŠ$OÖkPoMSHEjŒ1`ª¸jÊI±‚Cs§T ä{å§ê@®Êj„á™ìÚå³@òQòµRK±Ö—¶n ow…’$Ãj©Ýéå…FlkRý¸ù3?žâ‚šEðá Á¡¿\"$^’.ü_¨8Öù—»jýK7M‚j¿båΔO“¢ä˜¶Ê«à•ÕQR#y»ÎàüÃ*8›ì7ÌÒšäCË›ådÍŸÖáü-½×[.Í1&£›Ú9…¸ÛrÈ€gR;+‹²G  K÷ —ÍàíGÃZ-ŠÖô=˜½Ù œ»'°hÜ1Ä¥ ÇSÃ=[wÈ6Zöþ‰”ߪ„j­ÖÔ~â"™&apÁYóöäðWõ¸„;7žŒÁx„P’ óídÿý&-»eŒ1@±¬Ÿç´ç»U¶cÃ||E,f.ÅN`˜p™&:qßà¡p°mø† •ñ»`è ù÷i¡]€±ôÕ™¾¹±âeå®]=[Ýþâ·ºñêN_œØɧ_鳌.e/-p²«#r¼¨‘ˆñ´À}hM=G ¼`:2=ojyq!aüª¤¨yqÏÌŒJaᙕÜéK›Lqg0Zô¿dL#²ìno`©dAùX®5{hï|`»X%hG·Ñ>S×LNdÀ¸ ©9µá[ቓ› °) >Ê;“æÖ ‚õîxeC .ÿiÄœnùK¬½Ã¶ió–í7F0Ê÷øìk¤u‚ÞÚ)-ÖP4,°c‹#½x².ô&+|Áö˜û‡Aº ¡l¿¤Ê10¹Ì€] ý0‘E-hFôXEë_à„¾Ó„n pÅ+õÌdÅçõ6„"žÍïdÖ:òw=r÷>"Aô|W§ˆ ÉU²6ý'_Cù•,Ñ~Ây—˜1;U¢¡ßÄr&®·aóLÊxœ‘×+[©!Ÿ8ØÜiZ¶ýáòX»Ù´¸ó…hÑuÈÛ3Ý;*pZ+–”25½Nbþ/¾|/V0±dßî)ù_Elx"'ÅdGhMæ¢ œ¾Ú=ÇVhPŸë|ÓóòO¶^\ÏO1Ú©Þ]QLPä;U;鬣rx\Ÿ© Æ¢*I7tÒ¯õ“¶‘;C '`Øn3öCk“˜âN€toq™)é $Î|Ç.Bo*¶gK²Ý¯ GÜkà ìÕ­kx‹aŠ$©Ç±Ù/ íÒjˆ¬ß°VÓ™W›o޹ˆ­>áB¥b\F)›e­¼{Eu›¾Å‹'ô¹6ŽXò€¿ÍšúÁ4„Íw°îטPá:£‘…5­+Ù® ¯óÄ cH¬ëY®Ô~á¯Wú[ú+ù6Þ_Yˆn;“‚oÔB}/Ƈˆô“òŠsB·aÜ% È©D ·ö©»‡m̽ày*¾AõÛ˜'Èbüµ.°(½+ØÑѓע~8ÙêþQýžæHû´Q;Jjwߥ±+BwÑõª]5‡® •JÉ%-LèG™Q%Ûô<)¢ô2–¶õÏŽ#¨ VTDÁäz‹Ú!7×ý~ƒÂs¹nm×ò/Tä¼HŠw`„Ëf¥µú¬T‚½ Pß&eo#Fãwü gˆIµТ&ÙænŸdÜñzæc»vŒƒí7E\*5 Éz Á©Ôè«`8nvËóè· ¤d œ-¯×C_ädtõ|c2“ŒäªB˜™ø·U6u @zÙÜšèîgJ>wÑô>^‰A¥8ìÈSŒ,Q/³Ó¯ŒåA¡ëãm.D™Ú·óC,ÄÔí3qCo¦ý×~ñ`Êà²yšMÿ„BÉ&ݼ‚Ê1Ž!cÒÏP¨j\¡â£ì‹5²9{y}]MÈ4)~\¶5/м9«n%õê+b|&°s°@yÖË,{ƒÓ•ÀVǾ©SH”ÝÉn‹Ïrq=—:ìî¾BY—bjÏ´8šS?‡Ã"gum}M$(bgnÞé~µüÆåÎ4«$m.œ}6”?'4¹¼ìškÆ0sôwV ¶Þà=Xd-ÏÝz±ÖP-¯Dqlðª5º;?p‰|;ømxUiÐÔ;´wûô%žaÛÔ~ÆA³¨¶LONn]Ý<8n#Ò’È„¹-ÖëÁ®þ3jÛ¤ ßÙ¶Ú—Kž˜ÝpߕԼU»‹òóY‘Ì*ä©®ÿ‡ò?»6I!áž:ï+« M8QšÏÐv_“³2«8QäW‚!f$ZÖrÃv²¢Ðàš1op;Í©b}Jqaûïµ5UçbÒÛÙæ_*J^=V { Ó釥,Èû˜¡jLçÈhp}x«I²,Û‘Åñ—)Á~þbx¯öï”Pl´ 3k¼y/2=f37ë.ïzØ÷ΩCœ¹mý4M £ƒk.ް N¨áÉ@.7„Uhù~˜QÙ°µ½‰¼w3½/2&×öC‹×þ*¸'ñts:%ÜN²¶?>ÆBÙaGiOxÉ1=;ìû·Y61ò[†L9ÿö'u$"Êb{¸kÞdÐøðDù"á˜pÜÜo¦†{?’/ÿŒã<‚æ9ü^A TAŒµmÌ‹×~6‹*ªÛÚö«²«mïxºУ÷Jf¬‡$^ ùÓ,aÙ(ñƒ2-›Þ°$Ø|¦ÂüéþÔìŠnóRM+mô€‰áþ\ôÅðW#>ÀZ¯ÓÔqFúÕËaf“óçño·æ¿•wv˸·>,(I¤ÆÊi໣{ϵüÝ@…K13«X†]”5ãqÿoMj2@Õ=‰ØÚ¢O•¿`¼‡ó*%_÷•À~ŠtÕ–ß.ÕàŒX黜ÁC”µ‡±¢Ýx’—¼ól¬yPÑ àâ~³Õû>2X[5ær^*¾›4„”=aV"šjWÕÌ¡ÐMeW`þ¸ðD ^i¿øÔˆõH_ùêå}[‚3ŽB†ô£õŽ!úk–L=ÊRìø Ò"^ÓÖAùìù7®q›·ÛïU>Ÿ ‡Í,ÉrCœJøBlU¨03©°¥ŒLò¤aGäBR¥W5EGº“OºÜãGqÃþ0ÉÎbXKrz\•ÛÁ¾¿àQy{^‡&Qi1ûzÈGl/XýV»HÉ®.»µ.”dFµ!ãgâfa~·Xz[iµ¨fAÕµZÅèáä¼p´,ç yÀpê•­3d“ïZ­Ç©£|N4<”ÎH#AÔÄÞõdÚÉ;‚„èPÒ•¤–b‚&GD[³Vá@K­Ë#QneIÔ¿!„¯°V^h}zö"ŒOûÕÆ–­Þ½sþ©òV9Ô$ecÀU'oáÓÿm8è½ËA¤r:ÜÛg±B®cÀò¿ü?>ÖäGÀe±m Ì? 1y„•Õ»K‰Šh?¬íÑ‚z< ¡&Ð =¤ÑÝ(·Ru»ÌÍw¾ ßK\~{Ä„;«ÕÖ5Ô8´á”Yi£G䡜øñœ¤»]“ÍIåšMÝ­ƒ)pÀ[Í—½ƒY¹rÒQØ!å¥í›ò±ÕÃuº´ÁÒä®äÿòåEY‡F «ëÆiÝ«óaÅMnýs¤‹(w‘Áïfc#4ü€¥!3u`*’“މ¢øœ¡¶ç¤:P¼ªƒS É®«K“\/[E e‘Š ¦¸ç×âÇð®yé³WF÷f}UêïËí¾6a¡t·&<¤Á6É2¡Ž¼ª ˜ÊyšÅ ùŒÞ­ÐÎ~´‘ƒ2ƽùò{[÷è\eð¯ã5©øBÉçD0]ÿlõ5òã¬Á8:J]Þxizãê'u‘ Œ}<Þ;×Ú¶0V «OšþÐ*LYè« Ó]ð¢«C„·jâ0.êTßÎĽK–]wðlø†ÁD²kŒ’U^Q‚C‹³¨qäjØ<² ìô>9Å÷ÆG³>­º7ÝîP¥x´H¼×Y"TÁáyþöŸw:É^’§ë꿉˜(õYlˈ +…Øûú¿Æ’X¬¯x‘Žòn&íôÍÅ Mΰ½—Uü4׃¡Z…lªªô «$Á;&K»!O6eS–l·V;\|¡@ÊÔ§¯¢¯ýäfž1øÐ%×-ùŠ €1àwC׌äh{Æ{ÂaKä¥g][B¯ÓsȾ¶ÿÓ­sªÜÄóN  v ‰LÖˆE™'±1;´{äÈ–ë~ÔÕ¨³'“–tôBT›^kÏ"@FëêTÅj‡-R[içN£«»*±wsÀ€gù'ÉÞoªS.ÜÛ0)0]âJØ„lPŸbü¹92Va­koÆR ò˜j©-ÏÚoñš7îoÄrz ÛŸ @ÝŽÍód“L~¿àà¼GãöÓ=LÄbð ë0¶pΜ¯—„Ž ´ð{AÑÜL{Õ‰•k´4:x¾,5—ùw[ªö³Òì8nrgA#ôhS°d‘\ýãÃN’E§:f€6´4”§º Tóǰá¿÷‚¡œ´¤uÁÄô-¡÷dLЇ+ƒ3jCP­jÙ)ÞKŸ. ýØS½>ESE^Â+l^Ü’h÷bÙ¾Þ®8uÞ÷tÐtç _ü©EdåÁŸ×–¿„*KY_m®ÝdZoÉ@‹þ¨¡ÛDI[æ/Lkd­¡ép W1øc“ó” >ÉLâiü˜ª÷q¥¨Ý‰/(Ûü•] D„˜x(oäÌK\•:Þ’THßCô€Æ©Êvø!În;ùS馓Gˆ6¸àR½„ѼÎ<™Þ'ÿY;ÝŸEî’l£t@mÁøò™Õex|è¿:š]FÜNÑÎÁdd4Ÿ«Ë?µ{jMoì—Üã Ö/MÙ­† ¸÷4wÌÍ8ÿVJP>. ”¿ùNõÔÜߨ‰#Þ×Ö%4siñô³ ³F~aixúOH}[%4ÅëÞÃ~²A¨¶ƒ]±}ñöCÉ-E·‡†]ï`Ú• C—˜ºb—Á}œ¯lê¯ðÏnu“ÔF Í„ˆ=„ÆL‹šëæ[q‚Æ~õ8&åðØÝ*€Éw‹Štßô‡:÷Uq­¨"ËCºâÛnÑaó_jó¹1¨¿nO” ˜s àiO§vMžÖ~›$ÐØˆJª‹‹¼~ÍÄZn»¾ñV`h·í&¾r$šáM&ÂÓ8許+Ð`SöFÒ¾øŸÌ;ŸÙ\åd>­ÇÕªå3ŒKyžD£á€lø`_¼'w°®7fÔÒ ¤ô}À·YófÂÀw U(ƒJàPû‚ Fd±¥°žò¨úö,åß5þ«fvE¸`pÓAnÓ‚S6x­xû •”keE5wlýåSOýñ}Z¢O¶{ØÕ•Öúv´·!B«¡4×[´³ã3"9²NeÊ!†ºv;-A™Ib"\—T) 7UFì3›c#µ?z¸6•}$~á†Â–çáóšÜLj*'|ûÅÁ0>•¹¡¸¨¥b«º'³K -U4¤¦ÿG».ÐCÉÉ VTâ}í*6 Vàâ)äèÖXËæ¡¹o@&?*K:€ ëo‚À(dÍxá߬iHQ2…rˬàº6C~ÛeCh‘Ò±ç˜Ã Û¢5_æZTÓ;üUoq6:¿‘iyWŠ.Óè=£½,„ï( mÉ_Ͻ™ç W•Æ•ç+ç+挿J/ ï£PíÝüþJüÈ uÄ ¬¨ÓbÜ[ê{)Ÿ…ùýKת‹Ì ‘ûªï”Ú7ROì4ôÁú™=ôHE}z²ÏM> ›}©„‰`èXq¢á݆̫¸°M…kÝçYÇ ŠÊX2†|Íé ŸÔ,`Õ’–Ó¸­–ó?'ɾåÅsÁóý& †Kì±4îg˜ïh»µ].gç s¦ÖÒ´ñ8=8äìòÁ¼ÄÞD n,u´©˜÷óãQ/¥·µ¨çÒ¡ì'X¿Éx/dt|ñ=YaxÏa»¬±Öéœd–a ä¨ ýZ 3G×õ¡x&7 ö·=˜©Þ‹UÜ_ûÝ‚ ÝEÖ3ÚèÔ/^æaغØ×tYu;FEöý ­*q>Ëy^+qðìñr ­æM“±ƒ÷Ÿž ³>ÊÖ?Í S%ó|!@dk†tª…£—õ¬}½òû%_K*Êî-ìUV‰š¨‰f«`CP„Û9ƒU˜ úÒ=zÔ>Ô%Ù†Û½¡œÉ#|ð˜e-÷R5õÒíåJœÛ»W+x½†<3¨[†{¾IgÊ4èóî· š~4.¹¦ŸÂóÙO6•ò]V‹ÖûdêPËŽçî8aÒ8«“”Ÿ§­ÙûŸ<¶.^¸WGr¸º⛆¯-•ÏÏ´6bÙÐláyëF\¯V­3þo(í}{Ÿw×ñLí4„ψ1v H½šû\kG“ŠH¾h×ïøBfdBF~ëîAÃK…™wH1­ˆªÚ‚X‚¹yÖpä}(rL 9ì~72å`‰S©-¿Ä»s¢V‚;Rˆ®SØ®ÏwÓf!¿IÉëKºÎ{ (èV5ñŠŒ¸“Yø'–¾>º*£Ôi-5⛩® ƒ ŒfBý}ã¶tØÛn^úç…|lLâæ_ î:p•‹TBÆœ;CÚ‡­Â æx¦<ÄÃÐçc„ÌSˆ”ãoQÜGª“6“já9´ùjË×!ÖÕ×ß@Åï.Te‡[Ç”+±LXiŸgûWÜFì8xuÄ¥" £!ªû ³yÈ%ÛnÈ.ç'IhlÍk^ªÎ¤+XBÌd’å3y"Já“»%’AR;ì3”„±O\-“ß}) õ!žç§Škðú-À¨•ËÙä]¤‡©wm$9ñÔ¬Fi7†…6z¸dÔ¸·"$†ã‹Í…G¹i¥TäS+E-Fc)vÚÔ³ÊÂ(P½N #)ÑÍv˜‚!Ôl©®ƒ:úQ—"éwúÉÎz¤«u÷€.+'˜oD•´uåR À¢ù˜™t¨`&ÂÂÜ¢Wf‚*»¶¡µ!"glÝ·WJ.Ö‰%\uÙs“&²7|[‚n·×3ª¡€ÒœÇܽu1È KÙz„*ß*Þ䓬¤1ø]}‚€ªÈÆ*¸B‘œ,È ?C¿iÄ5¢=+bU³è÷mëÒ%hT!Ë]ð}”á,óæêEÖ³ÁýÐq· øMt&¼‚¥/wÈG2:p…¯®£-¶9vËlÉú¢ªÎãmVF#v lÆöªß‚yKÉW41jÛ¯‹äÍÕ§âåuúÌ„üQM߯NàÝC ݵL'ù‘¼0ZÌ%aÊ•ÓìfPôyõO±ÌQôñٛQ½ÕþnMž¢Øñ>µëÀyç2íGïÚ>—mÜQØÉK “”jªwPóâ&‹g†æÊF33¸íø’„ªCayÖGY±§/ïΕ’ ÁDy°WoÀ‹”ÔQ¹yqoþãÍ‘¬Uë pû«UÇRt {Ýò_u(#“½K;ˆyfóaÕò4 ! ji]›±Ü ߪËñ‰aºå'töŒÑÁ¤”jO+784ºÿTÊ E²6q§sQ”‡z:fà„’²“íò«í«¶‡ÞüÚOFNÎm‘O^Ð)Ý.®Ÿy³,AÂA˜¬ÒÙ­NÈ5º×kweK4ph·É:4|¥„ÎÊD ´m´·D`tMúÄý<(Ô†Ì,½B¡ï[3›¯Î}èï˜å˜‚Úÿ2µ‹ÿŠåœ7Ó¶`Àˆ8ß–¾¬f‹ð<=m…ÔçRO¾9—ù÷‡ƒOÇ·áQi*!MežFë¹Î̸°?yr9üéW Šÿ¬›KGâݰžŠ8!““3:\}c7DLqŒïÀøWÈV`âùÒ¼Ðl»:~¹A<ôð¡¥Ù)gäùX98 ááaèŽ7XdgYA;¾sÅí±°£¼T™»â¼9”¹Ãé¹RtªðŠDs.×ÚòßÕ ×éÀPƒçžJ€ îkÊOñѲó0í9=†Ï”6Sn¤ß¬ÏÏjv™\½œëuUÝ‹=_œ ¯Â‘"Õþ@£á/Ëö•ý"ƒØ_ÿöu¹E ±@©Ðö&G^eÍî1uÃôƒT«ÂßâåW3™qçž±ÅÒÉåÜÚhV+566—êî>ÀCa:,®¾ñŽêÞŽr…·ÎP³HLä_lqh?ÖˆK$1ÚÛ>4X YkË­[œ7((cà Ð\$þk Y]l”ê3¿¦‹4èÓ2w5:½Fùº2:“XãRwÞ=¬ï¯?g^‰Á»Ô›Cµ_àE!¸ÔÑXçH]~€)­žâý({¯$óA8«FèÅTK—)7A?ÑÿÓB"DSBfé¢d,П¤ÀB3Yä?6t;5¡¹©ªæ* _ï&ÚîÈ¥eWG¥¿„hl$wjð! Üˆo†:í›ÐÿéÓÅÌ¥öSŽÚÔhµ‘»Ù–Çá'  kd!2­@Ùí¾€Îp„‘›Œ¾¿Ï›6‚èÛÿ£é>Šì4þµ­Ù’yV´oxIäÿøÍ-Mõýf¿dí²GõÕ6¾®X¿‰9ñO q× #óéJœ)õåñéî ‰w'²QSLÒ“+A™Êm‡4?ßqT[ª’ßÅ$ª–F Šs–J;XI,c<‰kK –öªæ$õ+ ^œÃX*Q€+•O€Œ X X©­:TŽóWÊòóm¾ž‰ê{ØÒéR¶¼`MhçP±Jp:ɳUþÄ)àbË|üÅmrÕ±n³–Å]‹sûC:ä[©8²ù0`Ç-××ô”¿ƒùö¶ò'Èc´ð¢–/ ¢ŸôW˜Ÿ*ˆÎlH=›G…B¤€Õt’k+8^Y%‰žk ;¤¹¢ÆËÞ [Íi¹á‚ LtèpèÉêÙÈl.¼¢-hçMŒé)˜àmb+DÇ~j…¨ Þæ ЦHd„Ùï®YùôÍL !db n²wÅ›‚Ò¶~\´›ÜçºNàûy"—<‘ªsFñ 9º‡NMU;–óüʃ8S¢™`Ï…;ëSòÛ%ô)ºkm^-í2‡Ë)劦™Ð[^¡vŠAñÉÄXã——MîB{àÞrB7«ÍÁsïÒôŽ9R$Hz^>ˆì4ØyéÊæèŠ/Ù¬GoúþI¸ÍG¹~5»aŽÂ׉cÏè¹×»a¦Ó[סͷºåDúÚ™qyƒÇêrÍŽ¢p ART缇w (¥Î»çpŇ/JáîÎÈFIÞÌS•Ië›Ö: ŒŸ{'.ê=2t·„r*ÅPÖ¦‡1§ñS6UæqèH~`Éi4g“‡ô‡K‚ÃÒ ú…‘|H°ÿåˆÁ— Øõä‘! 8 eK#º|ŒÜ'b)'JÄYù`5ß²‚0:¯Ñ÷“ƨTãè]ñ†¶~¨£Z„•f·Ü³ûGÉLÀà°Ç\*—‚:½—†˜Ïêv“‡ŽÑÌîBó!h^Vg‚‚åÞ^ OU0W[eh“dÎpNæ#·O4ók”c4ö„,‚“hÒ˜D-–í”AUd9"¬Å‘ßzIS ›Òàœ%¡WAp` ìT/G¼´ý ‰²‰¼ªÚ¨XêôoÖ± å“pôŒ]±òÌnôfãj˜œ.Á%"1ÚD"}ƒ»ßÚ'=ôÆ<ü¢+£È;ÂS‰>ä /Кê€LÔ†K …ÓYCbiœk¾]qÔ€6f,µGÉõºh ˆSoM˜05  ÌЪӔÃ3uIq673:±\úäËý5u†FOV$Îä$À9­ÑѬ 2„ÔÍæÔT¡îÄÉÆ}-ÿuLžbUå|ÖÂÌ ¬[É>é•Б%0y©.!WÂÝ|Ù!ʦ¹ÛJà†li}ÕÒQËjv;µ°ì"n ±qðåaS´ÙË2h™ý^N%ÞŒÃöwç¼Ê%¡5£•wdiýœ™1¨-‘¿¼ø_Å~.{öTT“9ç ðÐûÂ'q“ýtën›çãØœ†t©Ò­]˜ÿ î¶ö¨NK·ìÓ®¸ë9CX³ºr‹/’ˆžÎ?³Ž g­ãºÌmndGw‡ôç"ÅòËÚ²¿ÉòH²ÃÐ]9r'@±JðlÚ ³Ò]‡.ÍNüÓE—sšiëxŒlÊ‚‚%”=Nµ«;ý»Ä,Å.å«ÄÏË !%z‹2ll|SÖg':]ݪMV“´µF?eú b;E|«ž\íÍráØD%ÛÔ9—×òâçlFÿØü«tN—¤½ƒ«8ݬ”ÇräÂ)ŸÌ¨Xrî5Û«gùûò"Í6RUVÈ;ö7(„ÀƒGW_n§òcÕù'ç¹ÇΔ™ÉÕ)­Ö¦‹m¾¤rMB!ÒL–pñ]ͤÆ3ìÒéFõZâž§®MBM@ r†¬m–òxxŽ*ŸA5¶6ΛÏpCzxÔ 6Ž–˜­e'*aéË. î¡Z& eŒ¦]Ÿ‘¡¤ÚÍø[f$i0ÏÜoƒ´’‚²å*È ü.NÌÇb3Á%ÿU²zÅj~E[åèðŠxbV¸0°m0 žI˾²K¶•¤Yc>Û¡÷áCïü ;4õê×X»ÝìLíF±Å¥@Û[;ª9IÙ²©‡5ëšÜ6ÝFˆ¬XÝ­»®ò”䄞þ-(˜gîgÛü90(ݦ¨Ì½§SÇrrÞ}õÎ ¿K97kà b€”gø_ãþ'Ùv­Zµ×°¤Mózr?F0¾¡ä6a< û/Î¥O Ó]u\ðRZÂt]) òF«5 Ï)Yzæ_5£(Q‡)J?Y™ÿ­Ð•+}ˆ¼²T^¿ív¥N®!@% ?|á•Y\<¼åK1K}ᆟ‹¤jN7{ާ†8é½DsÌÖ 2¿l«¾©Tn½¿!Ñ,THtqúº:—Ò„GÞ~¿ÛÉÝì&e VÕYÙ;P‰·Y'‡Ð¼ Q³»k´W?N¿0ÏÃ!ŽÝ~SlpÌÓK¬$‰f<0°~R{WàgÝ bÉ &°+÷ÊÄ–ì‰ u>y_Qó¶‘îˆýÝ“ˆ"%˜TDª±—i߀Íí7Vƒ¤x…å†'eC”xÆ% ŸÉ{Õ§ÍცvJ®íŽfÐu äë'«ŠW®Š¹"`ötÑ Ó} ï-1­3²W,KTʼn ·ßsÛ¬ùÊÍß6än+.y¼RºéQw¼'º‰zÇFGÒ¢®Æ9]–~ðFjAÕ¡Ê*oŠçï ‹+£n¯[Ü=HÚ ‚Î9éà dJ‘~#'Þä^+ìâ&½¿R¸áâ3g-äùýÒ…ò!‹¾ê£Ÿµ>œ°xMä+ÿÉW¾h&„‰ô ×4ö$×ãÖ´` ~+o⊾…YŽÞ‘WE[ÜÀ)öï§Ú.p-é€3+ÈY¾8cÎŽ¡A7˜ _ ùŠXÀ¨ù5kÿ¯0½DÅ%:y§øŠj/Çèa|¹áSOýâMû‚úäònUÞì 4…Û*Û`p4^ns7èã’fq.j§á_6ëâ9"NydµÓŸ,9ÆÁ&÷Ÿ¿?Á|†ö‡ç,ô/ -žzåvÀú ÅY–AïÜ,9ÿû÷Aäë‰ö-ZqãÉ‚Lì4‹HM°]°°ÆŸk “Æ9£rÔõMj³k`ìq—u܇‹YkÚ8±ƒNsÍodƒ»—y¥-Bˆ±æ¸(HÈÆs‡®G]û0ƒz0d` fnéÛq¿œðž«-ÞÅSDc/µtô4D¼€ÔÑ>õ0­•ù!¯FØ /ªhzz)àÍQäFÓEú­’'¥2饵ꕤ${ˆ~:Šü7ÎejKåôË…ç+qâé¤Û †3ÑS÷†³á)Uu£½PoKùÛÄ_ûLðŸ§ÿ擽4(ª¨Zú(úœSk=¼®Ü4°b=0׈€AP²Ÿ Ê°3„ÐÀçÃ3éVu{XÄ«‡º¯à l”Q3D oT¢‘Æò—ÙEä¸Z2öÍœ\¦-ÚX^ såêaÛiÅ:óžpÿ"4 ¾0$Cì<± <4ÔÜ© ÇÆŠþ718÷üx6<åùfµHi åÙ‹ büy•   0]-ÔJiœ™Úçܲ˜`ÓÇ –ýÞ.ž1{òy3½7¯..&,?Í^>Dù±}ÔÔÞ Ï³D®»ć€k®•Ålp÷H·PŠøêl~jæf-ÿ¿^‹4z\>]¬÷öwš;´8µÆ!k8«@ÛÂcÌa"ÃxÛ¸¿Á2Öù>ù[ÚºOæðò”X*J)µ&\”^²mFc­±euíÖ¼ ^YžÆ:6ž]²)ªÅ¿Ë5þ'‚˜~…ÃÆ|þYˆV[®î7‡Ýj]v¥˜žõ­@Þúû²àŠ[În|Z%?1f9}eó÷a&Œ¡Å_ œ‡ë›}±a9©i§K&!ÿù4J©££IW Ìhf¼r£Èñ½úo¦à¡ê›"‡]LìüTñ*Ï_ߟš8ýßÙ‹í>h0“Œ$=ÑïÞòÅÒn$|Q%OS¤§šsŸbƒ}ªg ¦ðpžz,‹ÉƒP¸;Üò+L°%4f]•&t€D_ö\h·Ý4à?ÿ qŠ~jgŸ¯¯†ò³)ª™nJèg,’ô;ë-iÍ â÷`RZ*½Õ02X®¾9PÔý÷<Þõí î‘,´ìØQÊðœÂTNä×F˜œÕy%}-vƒÕ*CáT¼rçºûìeI@¼— 9ÉÅGº¤¥x-ôЌΠûvã».r’Rûé|Ñ ½cµBM1±:ZCeÞ6‘åÛ@¾œ.” Àœê/è/!ð¨­×w¼<¾’;<ƒ‘¡S3pÉœÅ`–;‰ ±RœN*¯†eˆ$„屎¹xïg>#~„š8ʼ4I ¾ŒqððÏa¬pe.jD«ŠVUðófH#5OýrÝRÇ)îk^ø aVx(äS7ZÀûÑFè'T^jܬ²deJÒµ0ÏvâÊ%•Nf˾/õÜ"o<%Îæk˜•ÌØ­,Üä§3.±ý«QkèsÑœ•,®ì)úùþá©k©IúN?ãêÐøÄÊ€ýÄí,˜Ìq|WèùèèlªSèð'L¤à¼éOa6ƒ1”˜äUÚÕÐe~™VYÀ§d^ŒQAÀ­\öªˆ­¿Åô?ûg5a»r ²éÝS 7œº ¦B7g-ÐJqýIvÀ>aþŒ€i> ¦þ͆tE}¹g»Iµƒ–™~Æ¢z4» 1þp¤›NÇà_å-jÎÉðÐáJL޶󘧋þIüÔ…p»)S`Åöpë 0ak\Zi ¡ƒöÓÐúT$rIE&.ß+1_›Ðö˜é¹pXd•N³ßbsjbi)¬üë‘H(»k­â-fu²‡ÜÞ¤œ¶ùÓ*¼¿<§Žàëo¿Ç2™SKIÅò¹‹àìÐÛp8PÇ6}ÕÀ€¬ãíˆXÚX£kãÚD6N'Ÿ>6–Z®ÌLšíÐY…¡‘‹¿Î 1§gôWŠ-ù/FgA½*“^`êí³ƒ![¡íMàtŒQ4ß<Œ68bP.„t±¼B—D³Àŋ!e;³Iô~[ÆtÈŽñ1 U‘¦H’cÔ×Ú‚¦vÍm³î'ÚS>CáäåEàwÉžßúªxã.‚ó5‘óÝã;ë íêôxª¸C@>1zÉsسXy›:P.9õrW,_bðbðwƒ:¨ÝT¼hÏñË4œñÇ凯æ½õÒüŒ£ÝD›Î¢ÛOªrfþ(4܈‚†l­§ÃÌ\kh£½`RMƒÛ6ó©GÅZ¨Ö†;a~¤)i²°.Y/ÀJ)ºp£?]A*Nc,T·‡ÕŸKÀ%¿,iæË½M[Or§7t› æšÂ9^ Æ;·™S„Qf§?)øÑéRÊŠU2Ÿ&K'¾šA7«È=­ŒžK{îã+)¨:¦ FC3ÃN}âß,S‰Þù4!%¯?QIoºKKV‰OÉ«Óý1ô¼`áËWÍø‹ÎúÁXjûBâ?n]RGî┇·ðê7 ÖämOº|šNG ½zpÍYì‚¶º¡«)PfÞÜ×o„Ó»Žù)¦#£# úJû¼ÜÁà ê}]&J²rxc‚ä‹@üà:Üq½WãK\yÔ&H“àŸ‡`67¯A ¹{}~$|ÑM°õq#×佌­¼U”…1k%IÉÿ‰Y2%Id¿%ÒSÌ^)8˜¤ü“õÏ£¸l+>Þ¢IT”™*Žd¼WÙCx¡[}»Ãc& S7AŸº‡‹‡¨&•s,eZOöê¢gæàÂSèp ù”Õܦ]¾Ü%0°*lW=³þ* Ÿ›^)¨3{±^\/O¶ùvr’QŠ4òZ¦ž_à׳N GÑ«ËRz"O«;§æ‚MA<4ÿ]eÈôdíëFI¿ivŠ3s?wÍñÇJ{¿ï¦n­_°ðòeÄÊ= †¨º4§` É…Šiø9oÚÕ´þ£VBíz Œ<Š˜äša‹+©Qþº¯•á:ŽqüÙ»l­æq¤6€`áeJ55Ô­TÐ6W~„è uâ³äÝ? Ê^UnîI8è)¸º–]¸…ÌrsÔ¥ 4h"éYzŸ'¨v€ * òA*‘÷q¼ß‹D½lWlÛÞ¢JÍÀïˆ è€ÿSa0ñp®Í „P²˜‡õ ÙxïÒËÀS)ÕxˆÆ˜7ßt1{–dC`¢• ðÈ[ï-.ZöÝ7yð Þú×ø=>€<—¤û¸ö‚‹ÈQ å ÓV6_?ÎõÅ¡C!†Æ4Ú|ŽL^4‚‹r¾ Ô+Yçày×6~€>_²ý™ÄEjß4=:ãT+‘B8ÜYñ‰.¤ê·Ñ0f ‰op=f£A4/ßj> )Œ—Äc#Hõ&Â,e¡MTÈ.x‰vkø„Èü/¾EKv¢[ ÒâO¸A}JvxEŠÐR·BÙ.÷†+8jØT–{«Qó$q4ýVLÀCó¥¾C 4ì} æ¨ _›Åšèš§,ƒaO_Z–reßôþtÊ{¦Í­.i¥|hÅV@_UèEOö¡„‘ZÕótË¿ÏIÝÕUQg Z™óî¬'í¸îE;⇩€bÖݻӣšc®4ÌyŽ˜ÖÝò…pœNõûC…‚Äp‚ÇùâÎôð¹ð¼e†”ßï—LÍ…øûøñ  DØFJ·¶•W†±Ú³¿õµ¢·¬³ø•´í•åR®€ÓŠÇÝœZAŸO^¥ÕGšWNžâ4PÝ'å>ºdlmuRUÐ^;—T&ÕÝÕQ=ñÓnWo¢îÎ&ÝÜÕ£¥é"ºŽló³´§ZcwêÄú ïø0øhÀµeôþ%v½h×ûS„4[&[“Ö£v{랈Ñÿ Z­¶OGÍvQ{1Ê; ÿ¡³T§NlV Û¢ËHá,tLf&Å Ã*‚~øqþœ9Æ>øheÕåÀ’i"+°qi!÷4<bÙ‘mç9 `žn^•ëì­kÓÞœ^ï9xVS†ŸÒ$=[@ÎS‹IÞ|´c¤õÔëÞúïñíñ›¡&Ãp«â‹%wn4ïÿ`÷¼¼²¥:¤hòÆJ¡&ŽæŠb Ú•Sº;Ù§%"¿ ì¼ÆÐ1PP‰9`:ÚßÝ&P@‡ÎôÚa l]´È’Ø©uã 7_›åœÃ›Vd‰XS?Ä£Ô÷Áð4ß<«8ÕEÎ0»D¿ššî vv›”2gyÙJž^ÍœÁk¾ú7u\ªbz[_¥"Jo“i˜±+ãi¹݇áX¿&'SÉY)¥ñÄÆð¹Z²#Õ§gÔÉÉ͇Øpð'…Fm›L~O]¬¡Ôº$è Ó²†Åì²û£Cಢ ±'Ž{K« ?’Lø»n_Ë‘¥ÓénÅ0Xb4‹Ž¯³Ÿf6ªRÜc—a¨_­}y¯˜à³7‹‡ò(¬. vAJɪ\˜c Gl„ŽájÀúßä· ÍÇ9±Ÿé`tÂD¤È›Åís–ËÒÐýˆ/Ž0²%0ãc?HoÃëÓÞÝk™º›Ô;ø0\/ËŸÐK™Ö–°"Â–ŽŸûS˜/(uiŽ('óhÓ`AÓÌJôË[õãËÈĭЙ@ÚwÞ¸º´Òrx øG&.]'¸Ë…¤”zcv¬m~bnl^¡œŽx“ F2êZqŠI‡¦¬Öác÷¶q0p†qÍsøÐêˆWGÓ*Ëë9•@Òµä™åC&,˜BCƒ‚+@ŸË‰Ø*wˆ1ü3Ò«óÁùGÓ¡Žå>Õ7Â…¥-û<}%ÈóĹ½ç\ʯîŠ µˆ*žÆ…).`¹µêØéiÙm^ü˜¿ñ¾[Y1ÐmÔŸec‘¡ÔžFŸò•;5F1.æÒk´ÅË™¢´^¢§1•"¿íœï¨Õg|’ÝDßÝü£Î,7Á]6{(M˜Ü‡ýX¾Ü¨ðÉ,4p`¯a§cjs`šã½y˜2yþšMᜰãø:,Jò´ ¶ÑXQ¯¾y <þ3´>¯8L×KZAå‰ßõU²žÉ‘7v—iØ´B ªYXž¸…È2\n?ƒ6>Ë:Ç=y-ï·š*‘»ðÕ¯-Ÿû7/"À`˜r²Ži骫‰h6 fˆJ‚DYøêhÂçT+rËøâ?C SYŸ1Åf—ªµ)ÀænÌ5 eW1Û ‚Î6 —˜wœƒŸ!‡pŒCšÇÿ¢õ‘eÎ Üt¬( ¡­-š¦åÉ¥W• Zç¢E´ˆèéa]´ÒúýH$ÂÌÉ«?ɪܨ¥ÍyBŽäª„J¨Ó+Ü*`Åt Kï_kÃ’õâãŸnl@ùjT áÇÃ"åß ®ìVB {hsæJÁ0²š:&”#/AÏ¢H¨ºþöt‡©:,ÓøŠjõÅRaT÷Ú›íXE{ÎŒ7 R\#e¢ä;o‹#âoìÜ'ô¢)Q§/?$’§þô6ÄÉtï̽\m¬úÜ&øпìvhá­ã³©5¡|í*ÁPÄŒ_Ø#tãÖAszB²h1?2¸mgéÛGªL½Õ.EŠ3Ϫš%ôÂ'Š^’ë.™ð>xáà„ék¦F û}Ê;ê׊ôài L©R/%t– ƒ0¸Ë9™¥;‡>.ì=je”'àÝvó{­†ƒ+“vQi¹Bþ€3›{ìÊi[ CuìûS~;Å¥ÞÌÚ;Éòäqp¿LfÁ¥°·lÞäå·{‰?àq™>!/ªü,bn›ÛÞ ¨™†ðÙQ­P6‚®ÿ+‚¡¬ÎiÞË`€öË@`WöÌžTæ}Å­;9åC Ü&j€Éy‘Õ@’Mì \íLWDA&- ‘¸(0ãöªV7þK–Æ(¡wÓƒ ÿMT¾€ð§“6ìWº1‘¿àã$dde<_¤’ÂkîmÓ€RU‚ð8éï‡sȵíH•9û÷C±J$cÛíÈl½ yy ÆBL2»ˆºÁPNÈxÞl"–šDG¼ÖlTª}îø³¦I'Ðþž>(ØèU=Ú„Õ®AWmĶ¥Yᤶ®¡òEùa¬ spøÍç*t%jÙº?/™ðŸ¶p3½fný›ú¯ïŸ0¶éî·õD‡]W¬ÎZ“jU5_,’¿¾êê *ÂâùVnW;f‚Îlª))rjÐD.ê-ÐÂùß&ôï@Tqï±ö'Ëš¿»øYÌXðQ‡•–†“_:;õ˜ƒ£µš°¤üº¥)®~›`;¦÷§/•lhà_7.R ¦â±=3LªaòûÚ¿¹÷æÒ'§EÚ_“ür˜[î´¿êÙõOpï}á>êþw¦ÅfÞ@;úõޏ§o©¿–^… ¥HÝ•¡mLt—±×Ò•£ÍÜL¼ðUÊÿ@Ň:Æè53£v…€cØ9Mi:‹ù‘ðÞ1áÉW{£ Ÿƒ­Ùƒ=PÛ‰A&Ýšç… %Φ¦J%7 /D㽋uCº V·‡ïµÖ{ñÍ&½Ñ üý@Õ‡qY¢…É àÞ7ûÝ15-oº* ¸!Å?mœÐ\Éùf¼ëo‡ûK¬lDy.*%ƒŠH— k¢©¯JŒz¼]÷µ{#›t³?Rá…UĽ8ØíWÒÕÅtwWáÄ3NôÅ@г¨*?³]¬¼tŸ¶w|@5?ò Ý–9±”ðza‚æãi/T­® Ü·ûg¯acÏùFÃ;/ÐTº­èࣀ¦ï&‰SxŒ¼íÇêPæ€/ˆÐÞahb>á×:;‡‘«yФ\$ee«/$C] ±]ŠYÜ!ô{Y5x ñ3 eÖ]å`néðîƒ?°£b°ù.¥Ýëc©VØomŽäe sV}&í“tÏUPÑbôC.ºÄˆR؃»Í¿²%|z#4µÀç§Ã¨|§hù"e±åš» g…c[†4s½ì›w§û^pãø5gjxûS¹hDr2a( ÿjIgÚKÉe+Ž\aìÂi(¦eõ[ y„k3Ù¬Žæ²oýpÉWDl§{ v>ßöçm޼5ŒŒzRløí´«Y‹4Çs‡£ª.$ÿS ´wët㊻vPÀ Ñœÿ@!%ÚÛâLW‡ »5`‰±€zŒ½jwÑc!(¬8C1â˜EÂÉÁ;$÷d(p5?ÈtÉ“ÿûõ;÷ü6Ïˉn2žÖDŒ ^ß‹¸PÈûƒ¢‘Å.§ô—þæ½^eðÊ*uŒa¬ÅÍ?óVO ;DßÓÀÖRèß~ …k)yuqþ98P6Éáo˜sÜï\á¿¢Óï…é ÝxJ_ÈLÍÀ(Þ.¦yìOÂ×tx|ƒñV1LªlíÑ& ¬Ú wȪáZYŒˆhÏO þÍðÛHEQW[bLn‰"—°¸oƒx©³2ƒÌr+—±Îötv"êöá ¨js ®ìM¹u}]ö¡´ÅÙÔòò©;‰PÂAÁJ ÃÖöGù}ò÷ÖÔlúO’_ÜRàÄ`rh,ö]å–^DsÍA^kúzð}ö/eh*âé]Í-o"­ÓÖ Ýv—ãÆ LÁjxÒý]ƒ‚\Zª{mfÐnÁùYïŽÇw¡çÐ KŠ–é˜ONb¾ó^6B°Ñ€˜1÷Ûzb&VΖÔüap+1µ=šgˆàŽ7ÐGFéIž¾oã?9D éPF[j>Å"À5ìÐÖ,†×9§b$í[Ç [ãÎb*³ª Pììá¦rooxïe¾±¤>ð5Öö5 ÓÀÎiå —žôìÕ÷X=«²Lòx7ž)Z[»#c•D€11mÓÈôĄ˒O_@Eê¡¥ÑÛ³`M_æ}±É5áÐÅÏI7ì¿$áõ:rƒ½,¡›°>º{Ý2z4Š’çôéT¯ëW´fÐ <ï,î•KäS¡„Xî&ÁÞúV9ÝrGò¹qlM!é–/^ZB'|'{ŸÍÉÎѽ1ÎéüôìzG¥‹•R¾øö¨§`µë4âf8lM‚\ ]$InŒÎÖ_j…yÕâD8~;â¤]µpš%¾DÞüŽ7ÍNG·`]¸‘7ß`üè °£ùΛ"z`"äÈêc>1Ö|I<øòð~„Åò¢&|ó“Œe¹Î¿R1ñî5ª­¦tôp'4k`ᮦäü™Ár8+é±1!ÁŽæ ³¡­¬7roke¯oª_H„×<½ãý!šRÉGfèóçÊ7b‡§ße; x¨ èWoaâe»)öò°R‹‰* ¹Mz{|m ¥¹˜Åñ%x \ßß'Îl†öhá¢@Á8øJ™.¡,íB áÔ¶ÊY¯lÞ'N(X&Æ,@ÊVªüÁ£µØçDÏZf=z«ÍÒÝ6 %…# rÄ ‹]oJjý¢RøíÎDù 4ÛžS<Õ':ƒˆx?ÐîGy3êÄ>e‹YǤ£Õ&r@¶¬‘ö»÷^5;n­«þãŽ>Ú¤R9÷‹H˜^Šœz^SÁxFW'»ã@/ŽÕ—ñŠ r"~ÙZÅkiù÷“ƒ|$»{[GÀnyüX‚Τ2æzÌp*4‰ž6˨õÏ ¿«JèÿÕ ©­5 ŸSBØPçèë¤Y§=²2QCa#'ë•ß*,)%1›qðQPã>ÙÍï®§"“À¸:õ|ú4#ËÓþg‘!Z¹ÐX½âßMÁ첉ê+êÚ¬=©ÇaBv_¤î÷·r¤á?Ûq)­[UÑ©°ÓŒ¢¦eÁâe© öh>莫Þ.{tÏ ­ÕðöŸ#1äIû£G¡M5sµg¹“)6Å=aHìðÙÆœ €i²è8#ÕW)lš(©OãÃtÁ`Usæ\f/]N.Ô`¢é-~EgäH'/ ÄpÚ`±®ï®ÿ”AÔSá p%3oœ¬ßX–zúRÀ§É–5ÖÂàEŽCÑð3ÚNÑað8æß¸Þ|¤hÂ’0ÝÕAz’·¯ƒ˜Lðÿª?ÒË_›è?DØŠjý¤TˆnÐþiz“?󿤉Y]|3Ê4U¸³;!I2uåÈxÊŽZОLÈñ·ÿ¨qaÇÿZþy„¯:¤ÇН ‡÷&žxÞucÙ%íG§¹QÍcÌ|ã?-WŽdÈ9X~:.|2ÛMzÕ`ê;îZ„îc¨| \ nÒ’#鎞×F =¤¢Sþ8ô{“µ…ÝÄEݧz£¿ “ ªÑŽ&ý=>Tfެ!Iø`–µP‰0 oÈÍ,¼ÅŸ QübDŒsŠY¯ .1dùô­^yÑ_Ÿ¾íÀ‡PΊ’s*¸à -@v-kÿßm¹‡LnÃyâž)“Çd䥤T’á2ÞüÏRÞ/QH0/¢Ôdj¡)cÇÙ’“]·˜—“&ï©S·N`žë*ÁÏÐ^¢•ïLA›>¾~»!£›1ô´Q(^˜s/âAV8éhù SÄè=›ˆ G¹WMdYš?µ¼=øVþ1ØÞT Xó„OpˆÞ·*Ü>ü¤õ3@â"¡|îÊ`8î"¹À™Ò£Ñ(V³ù½*B‰„ûÚà áiŸaòÎ/ù fÚÁoJjÇìÆ­üŽÕy“{è°IHÿµ©¨}@Y‘æŽyI.¡¹›.ÅáCeºùR«W‚G>g‹!âäûÙR¹Aéz^…£kÄÑMì+/qEâ_ý!nѼ—Pô%×µ tý<Ð}íÀ|°à8TÔ´”㳦yya( »}ýnÝÒ·RŒ9úw¯•ßüü~ÔÔa™:½-q…Oà¤rÃÉhž¹‹{Ù(ÍŒU;ðX¯Ö {…°¤U©Œñ*ESg°1¿i!Qky–)µ¨I×}îš=Ÿ×GhD¾&«T‰Íçßl/U=§ ï6)ç‚ïæ¾h¥ö\Y Cª0¢[v÷¢¸‹®›*yÑ4œýyñ¤©(ÙtR139˜"Œb1º‚ áÅuâÙÑoM#8‡Øiù0˜›”ÕáÛ¡Ï?„jåÊÛܼ§d±wñgñØÀVGyþÀ)†Xpû(\ôZ–Õ>•›¦‰ŒÂÙ*5Wü!hòÙëäç*#/}²mˆ·HnV%O˜a{­­G~ä÷·nZ¦„Š*åÅ‘‚Jd’cédažõËÙ”í  ˜Y„näªáY_%_ψéÊê¥ÿ –/>¶{ª à;Dœi!>µŽâR’jW¡MMƒ¡yN 2ßÝX'GàbBš^1¾šç¤Qs.¦¾çìKøf§HaWD4™ÈO\¡7°TÃd›Õ¶r²Â$Ï€ôøÛ‚+Ó†j¤gtá|z¿““>´Ô’© 1ÔOC\Hˆ0Ó—‹ÿÁÚÌ©‡„Z g4¬‡”ò"t!õ½Æõ›|/*L­ì„1)6§éò¬&}µË@,%˜Ž ¾ŸEõ Sð.1ØS§S·»¾vÛùÄ“oU”é¸Ü3¨H@Ê’‡»X”BÛ²tÜâq"ÍbË­$ïÆn 7.8 XÑ“qó!L^ã-&7$ZcîY÷ø9›?ñõä'!>3)7ç5ÿmƒ|î,Ò7ü§«‘ÌT‚zn~Œ~×–%t‹©Ñðû,@/o–/tÛ— _]C.C¦ÈxàöʸïÞS C=Vø3ìÕ2ÊJjÎÉŠíuiVnö¤šÙ,Pü‡(ƒ¾Ç‹Ñ)ÖÊ4æåy€û¿¨Ì$<âÞBˆë@ïl l‘T‡™DGïö¤íÚÒƒî³óe‘¼.õ©§ygæ;õæH÷F’ã¸åÞ2gÚàýön¼€jG3¾4ÌÐ,†¼Ô_±K舧9„úzD€Ýùo"AJ9²3“ö‰…ÂñÁ¡LÁÅOº Ån‡Ö$ØÒ/…ƒI—õd¹AÒ³ÔæHžÉý(ÑY5,»ŽÎ‰/Jêù Êi­Z—”PˆÞÈ$o·åÙö$Þ=˜]cÕÒ7ä~MŸ9ðhÏôÖ¦#§Ò—>çÕÅ— Ë…¸ú°Ä´9–¯H‰@õ¾´²ëÊËÂc ?©õ#Õ<Á:O²•E9©>»§/ÇbOÑþ¨=‘¢Ýˆª´ …¦ ÕiX ÝE™Ì¼¹ôñ&Qu©@bå"øïÂÑÄJsê±}9è¶5>|$ͺq ·ð/tu!{,=¬È•¨‰[ŒoBÄe§ GÈ0óe7'Nš WI dC±C|‚±êV6ùÉLÑ‹Btû“>!]÷ÞÓ¢_1Á·÷ “p‹­°Ìï›ážÚ¶£· Ï÷Rš]¤7¶/ãâºáõs¸|RÒ8–¸Zgl…Åœ†ôL(i‘Tœdv%͉¾ý Í•˜ûµhŒîû™Â“bZÔ+ÀÐÆ>Í/ ¬¢\õm¶LF—h×AYÈGZ.˜vmÆTHòQBq´¤a}âú­O5M Ö‹úA‹Nv¯¡R@”a*Øš_lžÖ‹`ÐYwë–]K¯YਫCÌmßœhB“™- Gþh _}@:ë<Å‘áA ÖrÙ*­…¬Eñ‘8àd°?M…h"9Ô2K¢$FQáøÅ$y·„^-¤xq '…¾ÅE¡TgÉULõì9(™W”Ar€:”^ºíÿ^¢ð’œÔ `EÎBT×ÑJýç…C,gd7[Z|}¤ ñ½Ü†³ãŽç;¡ÂOpm¥êÈøö«úì¸^ó¢Îa©Îx O,Ùª¤á%@!Î [^.YV#c–¼Q鴇᧋ÆdGÁJ¼ŸÅÛþÜ•tVCB¯ƒSd¢§-Û\›¸±ä´|=ãÆÒXÒse[ik¿ãbf™ `µÆÛI~ o;Ø2š´šêZÑ5eñ[ ÿƒ”ï¥LŽ?­V´kBjªD ÀNŒ0õ(‡ÓOzã4·7¤úôçæ‚ˆ“(ì&[Äûº;ïÝtPÅrâ’Æd3é ó)’ñ›3`dÓý^ãM³ÿšÂUŒh“ªÏÃkyºKd°ž%]\7 dË^µôVß½Q1v…¥ÛðkOI؃Ít":tO¢Yê¾Z7Ï>©<šA\o #Ü¥¹c·o©ÙH!ãO˜ÂM[YŒî‡„! “ˆä"æp[¥²˜ÿ&æeçQ2âÓÃ4+~Ö6Y$“¨z˜þÆÎÞ˜öÀ.á?µ 7Í"CJâ74”Äî †m?-­Og ê ´øÀÕXZ¦ÖÁïµ+¨°ÐŒVHÕ3Õò«=onÃ’˜¿ ¡:žø^0ËÎý¥¿S÷͈ÊàÍ·‡¤hŠŸSþtØÒlÍÍp‡a–— †^Ò‹RÇ–¯bù»Ûrod/T@{F#õl!®þ÷,L0 —éfr;ÈØiÀø¬µ0µœ]kÌ‹.îÌ0—Áø®ëš¦òŸŠ«ÙÀ3Gû; þ!ùgËR[.ää*ÑILFôT£_”á æ?ˆRm¸¨0³âÝÊœð»Òˆ÷mS>Ê…¸Ã© :{µ}ûâéC?Y%Vxùdša_Ö—ªLç•ÞâG¨s=_tÊÙ¶ÚÁ¸]ð„ªIý ÜÐ…}:¼ó`œã˜¾ª•"x¼Ûq€ù”ð¬ksÈ@ ;S´³qÕÕšµ4'9@¼ƒ m€Á•"EAéª:½}~î’(¼Äé™›¢Z*¯OüÅ,2²uE*4ð5Ìu…»…»ùÄ]1³ÊUMЭµªq4IIýZ1–CÊ ’üoOX£\*špN4Š›âéÍùyÃ&šÓEqêaSû‹ràÍ8O ß—"+£Òó³a’ÍÄPä MÅzž›µÎ3ŒUS<ÄÒÇyUFÅønûHÏæ~…ýYgÐ&e2ù#$îkdB;ZÕ7e8éúuÕɯý‰‡³V®k-(âEÙØô+·;Ä..ùá¤6Lüʳ ü7èrs–c×Y¾bÂ…¡¥ÅÕ8%ŽBâä‹Î,â½»‚òôKAÙÁ¹àâÊ,ŸO ÞÛêçE*„rù´ž»ùä"ç§U0®Áz„íÊX¼+"S5çˆ)â'9±"ŠR¼!…°Ö:6ÈàFÿ"œ¿0êƒàÚµQFïµv¥ÜhŸó¸‚$Ýðˈvåçßý(¨tÅ_ÆØÂ†E—–ŽUûù (×.ZšÈ£>IÍŠt¡ôÿŠÇ‰à s‰­>©2Ï,(–ì‚oÅ¿”z*”jL¢ ˜Î 1&”V*&îbÚ¶/²Ž[ÝMäVÏ ¥D¬1 úlDö*¶zÕñßœHk€õç]"‘ly?aöü”ƵÇ0 )V9?‘&SVQjÎ`¶ÈjU WÂÛ ßä¹&PtY ÿª»·­ÊòeÛ|§ÌäÁÛy&\…ž¶æCӿljg‡WÝ£¥ŒÂvWm7TÀšþ§ƒŽŸ¡2Þê¹¬Æ XYàæ§à-…sû*iý8ègºsyÃ÷]%辈‡õu§˜ÊÊÂýô0*¯|˜ TÄЬK·™NùPòÇÚJŒJØ·X0ƒù¥f×÷0~Ì&Xœ}¢`(kÙcd‚cD!xè®>R‡ ¿àJó:>=È.~Í\4úÑÕ:°ŸÄêc'mº¾·Æ\åðäëp Ó¶ªóXBv†>V:ÏA¡EíR´.[fÍë+)õÇa¯¶k]ð†rdä…­„?lË;„µ{!Ÿzüj4|R6¦×g h9ˆà.L×õ f£â¤?]ˆÆ¸àJí»M¶ñO>SÈ^Dyn¿¿ê·2å [t¯Up çïÖÆº0-ÎŒóÞz$Çуýú=ø(·¤ À0o^C)ÿOjö*Îm}ÛUÈ:[Ô~×ßf0s˜^‡èåWKÇw6¼a•oÃõ5D)tÑf ìè±þøÍÿWª&pÁù”±‘pâm^ÙWfí¡';®|~ÿ¿–GÍÛ¤*ñäêXÿÏÜ^(|Gì iʈYÊ‚vÿiç ìP Ãh˜¾šÕnÅÚ¸3”郲÷,@1OþøCûÎKI¤µlMD¿&U–dEô½ VPxXnÀñEмÆfñEÑ¿_BÜÜwW=&slÜ*¯xY˵¾/dˆm<Ô2xŽ ÂÙCSM?—Ç zÙ:µß˜Œr`S0g!úaÒ6LoiÔ- ÇzíõƒŽM‡S4t¶4ßms¯ãßÕxIÏC¦—?NùÕ°ß6ˆ¯VsÓ`eyt&M;ì$W’ÙäõvÇËêNÒЙ_”7uîÊ¥FæOAesï’}+'ðjý4Û,YNʇM>m€ þ)޶|v/·¤‚&Òf¿àù˜5…µêèZä½ù#ïs§h¨Å²¡‡»¹sE÷+õ£¨´;«!GúŸ.f"’5ëƒgRo/BëH1ajö¿”Z¢—9C‹¼›ÕÛ«÷&ãG€ˆ9`~%R{õTÝi¶ãSZJ/c†—#ùVŸ¾2°ÕÀ{øº$ðˆFÉ¿×_*#Ìn’ð>lدWÞ†¸a0×vÀ©åÏöOǸÉO_^Ê×”°íÑH>y©~‘çÀ:@T¿ˆ¶LMV„ðÎÀ,6ô>g¹4þ]ÐU'Õ¯Ã#HÄ€¾'«¦}<Ò^)UÜøj‡O>q_îJ–vÌèMC˜T=z¶<‰¹Œ¸€^’è ãôõ_ ¢>NÞÂÂSÅ]+Ón¶ƒL€ðR&?wÉs•üâ¢åÉ%=^˜¼ª…å]”;N«J*âQ‰ÿÙà˜ à­KØ߆¬ù‰÷dÛ•<•ôdc'½Z‰‹G<þ¦Ñ×ß|&´êµ² pbîCc¾Lá¦IµwI1ØåòßeqV/tÍÊ6Kô–ð9ÛekÐìWTNc©fæz†í[TfÛâ^¿Юp´6Y4Äu6w/>vÏûܺLªá Þ8~¡¨ŒÉè]ça¬ƒ³2¶LÇ…÷õ’‘ÑJ¿!ó¼›ÊýçE®9ݽ§ëür¼×>€JYZAÑÄ´L~€ \ú'}LgoŠÛK”B_`ñ5¦Ôh£æÌ†'–[L™j'Ë5ƒ;q›ðÃË…y“Q³Iû©³8¥õ¥z­šá´˜ÿ¡åhüίw3×,ê:€%À÷#&Þ4)%Šx  @¬ÃÀMÖšóè\z~SçØÌn(‰Ùî9+ì.ò©ÿýñ ÙoÍ'¶[Ò¹ÚÚ×NBÿ&\2ª©R…ß…@ã Á[®½ãH/=ä‹[³Ûeùë>­HCù<Œòi¥AæìÍ–v‹eŽšp„|5º?‚3ÀÕ#½äc7^Z¢Ï¡`yÄà»[&ÂhŽŠgf’eìN瓾<€ ¤'Ý^ân{ÉÑå¤Jɽ]ošÏ¸;ÍxãV—HnåJðN“ø!ì_‘­›îIœ®yL}0x’á L sÅÌ.$_"z$/v­j1Ò¸ü$lNhd’9Þ_5FÛ¼lÇ åI·i_;¸qË( Y²@áx:Eö¬%ÐÐì~s±GMKž¯7G“¼V­·n¥Ï’HUȃ ½sˆ‹Ö„IzÍKÏ·56f•ìb†­ÿh£PTCÚþƒ­PVäP7WÏyLÉ®[y!áœ}R”øë•ˆQO©ìß%¨b5o)ŒwS%PnÂo¢A3.6ؤ„9˘>jdx~gÿhíø÷UáH=Jõ¤ =*F ÖÍø’è‰`¨SM–¥m²c'ÏFŒ³–RäŠK¸Ë±óßv,üUñÀ8VØþô‡cÌØP\ѳn4u¾Ç5>+éÐÒ›û`w÷.ði?† éÙ¯¶c"˜%Óh:b—¶M–Í뜣ܒkÐFšQdãûÞšj=œ²Ü¤€#¥DDw`ct^ûÈ Ç=×Äi*I»ÊÄ$)C¹’Ø”Ýu/“ÁB3@ÖrCex®{‚ØrjÛ½ç½ß´¯Çã³ýÎÏ„â#3>ÞèLXsd°?ÖñSgGèQe¾ðŒ=ÊÕpló詨¤Â¹ûª7¼x|B£®ÀÑ-º¸wÔŸ‡€°Þ?‹2'C6­7ßÂÈŽœsíMlú7!¤?| s¾·;SlØš6oôä¬uïýèÌAPA,Šò}áæž;á2º§-+‰Õö-ÝnÄÜ;ö”_y×ld~V‹éñÝȪX—&…ø4‡;}®÷ˆ£gR±"«SŒ·{š.÷Dg§ê^µ]+½mþ»Ú5&^zþGsß1’æ[j–MSDZÓÓœ_ÞN"|JB ¿™EWL‘¼ÉZ(™œ7m%º<®üníÈ Æ ª ðZôB¸xb° •gõÔÍ›ï®tèñ¹¦ìœýÆO}.×í•þ‰â>äëF›x8‘|» 7í–£ÁØ`bžÛsÒék9 m¤¨Ê\¬¸ýM<«ãëu!¾å¯|±ê­É[©¸uî;rýºÐNS”ë²#œÅd}8a㣵bôhàœ8ß ŽûcÕÿ"¹ân:­ÔqJ§…©î-¸oCå$ “b—ŸÍKäšóã¯,›RïÞÙ¡„è™h×>še‡¾©‰Ô‡|Ðã”q’óD?–z[özÍFô'þÁËe²8Ì uu‹Dµ8: Bìù?é?€Åÿ‘ÍÍ=¯räÜX“Èw¢Û1Ôíå^¿‡LN¢fêr ø‚frS¾¢×ÀaöÈçà 4ÀK$e¸† Ô"ÚÉdõŠ>U~¡BK÷ÏÂÔ¾3X ëH·Á·É!!"~n!¸ÃÆéìKXËú`j;€føS—®õóLQ͸ái{á<ÐÙ•Ö• "¸ð¢sÑŽ’?ÎVûšÞÇð“æòùù ³òЖ‘p«8 /¶­>™+)ýë[ÓÁMùÕ™%æ2Æ:AÅ/lvAò$ÓàŒ‹™B­Ãz¼W'˜ 7¸¢ÐIòÔ™ƒøLË&¬\-Z|%R—_SjÚÄ6Úô:Ì ¸¯7žõ¤Ä «òI]-£?­Do¡© 3‡”Èüî€ÙË›šhvJþ< :47b®ŸûÉìV±Pèáä?s§EºŽ„‘jmì—€x6E+ñOÄnL‹Ä¢>})fݬn& Ø âf3å͘}DÔÛ#®ää~OÁ¾-^t‡ÞÄk‹zø\´ª\{ø íÐða¡º¾°‚@ó›¾%YÛ ‰Ü–ô×£CäÔ€”!°I‘¢­Ø½[ü1öÓå+1‡`ðñ^Ï.étµ¯‹ ìOBÊÃëXéPH^€€©Ñuæ&‘/‹æ Ôv#"3EVe~f¡v{ÂREÊ€n|Jª$ááG&Ù5Â0Щ~óËqñåŒö9ƒç\ÒcÞDr»}àƒÞN®­^ŠÒ°~;êu_¯k)ÅѨ‡ît¸wÔéû³²ŸâæŸa$~’N·p›TâN7û×+'²¦ÂÙVµì=¶°[Øñ©©¡^ù±TG‰Q艈d—u—%'¨¨,¹ír7`ãfÔ,Hn;ó?î¹½ç òòcÇ›”€²©dIÌ«7,íÑ·OÌgÈÿP¡†CWõÞf‚µ”à©waÄ•àÁsã̎'í-Ç8vÔªÈÇV[0¾ú.û-׫+¬[“TªØì’€ŽÑ]DÆ‘G½<8|gsŠï®Dÿ÷ Ÿƒ v¢Ë-‡ñ±W|™ðÝVéLÔïe®‡;G)**>Sœ‚nK; @¸+ …´×¦B£öT0U{Ø”kKOLã‘OWe‹^•êßiúå˜ð_óEþ µi(£oaÜ£7gTHųåHG¢WR¼ÉCY»î§=Gf"t ¶šÆ¡oØ¢g‚VÓ‚çlxÆ¡1 ÕÕt^'[Ìm½v„%ocì²úb§éb2üàÝ Ú¯ýQ‹@ð&ŒN=”ç‹Ñ?’åwoýÅLÔÆ­³övn3M@½û\;½an—˜³P'?ö,°Zá-D9˜Ç‰4~ Ïøˆ+o9!:½ób•Ü sšßö{ä¦/¾&.>•Ø€hΘŒ‰¸Þ¼Öí7‚2T¥–¨EþšØÎ*²ýËʹR}>bÊâÚÚ‚(Ø^Ç&CO·9«2¸âäëkc·kNü%Ý€¥ ¿Ä!7Š7ƒøÿ©t¸Q ¾à–sÏîVŒtYX×…4B¤¦]Ùc]Dý-KõaùÍo‰G Gè­6K­θ#ÒW8âûÂ÷Ç-†ÁlVYQÙp¯Lºv ÌbEø)Ôeדâ Lk¯XÎ c>M Å6ŸB¼ìô‹¿Ê+êM pjŒý`˜†Ð_°<ÈæÃý%N,ŽÅé醆ea¶z,¯ÇãV®É¦º>ðâB¿j£Þ½sýÔ颪qá)3þ§—(°bgïKÍ3Þ2¼‡ÀoÚ¦ÆvfQD¾…ÙQ£§”á hONæ\¬’‹Â“VO7É^ÒÖ¶û¢Qªñw-‹ÒWÍ/Ó‡ñÛ!gyem?(Éó‰IlDš¸1äq$"š÷Ê@Üܪ¼ÂF—R´Á®”DLDQâÓY@ñÁE¢Ý™ª” Ýþ÷?¬ò®²wèœÅhÊ¢cŽ“ð| È7-ÏDÛÎLþ}fIñÊSÂØ{×þ‚¡Êò¯Ø%ö.%©­Na.RÞºµ«ogÑ÷ ÿƒÙ.úô‡LìkíÍ¢ˆ]Ù³¦@a+@`Ά©Í±© ’>gýÊÏøQáÆ»ùõ,—eâטMÇ?Üýsà÷ŸÓvhqnó¹!"®TÜš”cKhíj öòÁ ͨb$±|Ç'ÎÐ7ˆ1ÖP‡Z˜ààzîs²"^DŒ˜1EY¢6ܨ°âµÖêÖY/qð÷™²JR‚å¡€žªDG]«òÂσ£–`DÛó%€™mãR>[½êKLMVŸøÈéªÃátú×L_Õ•“[¨f«Ø‘W…ZSÞD"Esø£]3 ¬Kê­í”cÙó.¸ô_³Ø´ÊXlje9N­ã+o{»PºÀ:¨=vïúíB]³ÜàG³kí >õbÊ8ˆÕ¸Ûͪ®p)ÉJ‰”[¯ggÊ5´ÙÑâÇ\ ¯0¥õåéEÖ{ ÔWZïÇa!¯mÃÁ™>ô56d›EžZR¡A¬€UÖ‡¤Q’W‹¡D¤Ä«nH¶¼Úú¤е»iý¿Í÷à6—©†fĸqúK”xCÉun;ƒ¾bcÑõk†«‹I ëGP©,³™!Bô RŽota´SƒpUrHÚ—ñ%Vœü•Žƒ>ñI&X ‚Ѓs_v4?,²b>5Æ%¤¯Â3¨¶xò=”¨åôã†/ßœú᳘‰µ¿]PÓwqlÁ[%·*U4~ Nb­#a2ÜNê?6;Qú^­ Ü;Þý.ÂnWÿ¿Ë;;|Åó¼‡¿Ëø‚õ£aÏH Þ x†târwcÈ|PNí2¶& Ý <óÔëóÀnŽMÈáö2÷(.누(À|ä1\I)†L¸ ÌÎGt ß& _I.÷EP¨ ô¬S#ù‰ñïQ±Ð{yGGÒJ’ÍÁ5õ',œºT÷*ßÞYbåA‘@[[룱HØfçÁ:ÒWDOûæ…ê­Ù¹Ë]’¹`ŒÀœã … ÎX)¯â)n°©lÊsTNã`õ=€{j@ b —ø4rZµ=Þ† %C")ºö>°$3«}H½JE^_~ ¶R:ªÒQ…eVh*àvà-TÙYÌGO›­Ñm.«Xy@Ôô¤¨’wƒùš»©äzoå£ Q,¥Ž`û—К”tãÒˆè+ìgÇÁ«`¾©öKøÅçuw½­¼‰©ûÊ»|nÁ_ØÆ*vŽžà–ëäEÁ7o€9XRSƒdÅ}y' üB<3À²ÔÖw©@˜£æÔÈì:§H¢[ ¯ö^bÓ‚î:$Ðü e¼5eÁn$Ž/Ä•bñõ$2_cÒ”“Œ¢J‹—ÍŒŽà^È/Äñ1³ ¤vÂÀõ,«. ÎeB‰çe›¬.„ßkuÔacFÌ=*WK ÅB3µ> ßH[× ±_·¯UØS ¿ „‹ÞÕÄIpˆèL(KZ æv% °Œ‚Ü0ÿ±_÷©ÀƯ:ìšsB¿Œ»¨EÑq¶-YZWr0òMLàb wÂCõ1Ívñ`Šûìï/&¸Èµa¾ ÙrEoðÅØ™,?Üݨ')qþÈÙÔ€RK¨²ñp]¹—}"ÈàyV‚Çš¤½ïI³£gÕï¨AÀã5nVE:?Yâ ˑũ¼ƒ)š­[Søâ²DóúÔÐoúGüŸõ68À.†òψ½¦ç¿Ê¥Er‹÷%h©À®±Ú'Z ï›6©¡+ÿ(Á ²‚n°šØpÅPÄÊÏ®•ˆ[ïƒ(]ª!¨{ §¡YœV~)_ç¯éºf“uz5˜b B²=`jËö’ äY ŸO–w8K8ãú?ÿ}´±›’ßúJ½¿ÿ0œñ“;ŸøKƒ[tEbIBCχ°}*m&¤¼ë³ÉÙR-H• óýÿC*ž %F‚Ô™[‹òBM3ÊÔnçt *RDè ÷]¹u`ë-™Ç„9 l%VI7$Sø€iˆ;Fu¢ý÷^¡4Õ(ð¤]Ï}`+V Õê€.xþ› ÌÊÌîðõ?Üí±ŽœºI av8Í`-özIÄl决½´?o„Ê`9± ¥ËQ\âmà ãHw½}·|³qzA`ràýr¦²lþ³rÉ»“ŒwÆ!”‹«áH ÝÇåcp€¼&³´­|Ÿ4››¯Ôᣰ¾ËTxÑÞàÂ7 ‚ÃD÷æ­™@6Qû¬+A_6Üâ|YÝÈZ'`ÅÉIˆ,Úcà®WèóÖz´·¤'=è¬#óÿûðÜ#’ý“ܪ‘zDŸ1tÄâl×É6#·,‘n’k’Ù¥ÜíèXòn[º)—0uÂ\(bÆÐNí”~#ñåbAÙj<§69Ç 7äœôÉͲfµÇc¤æ8`ßëî ë"Ò)Â:L|èë(BVõ åº+ñÓÛS>±7,ß•=Cx jâ]ÜÃTu/xòx̶É]¹MÏÒ+¦CöÅÓ÷)’þbD†„»y³•\‰ô·ª¡‘Ä?Óì ùÇ,¸ê= rt•§_Á‚enúª¢@°Ó›ži%È÷D‰ì¼f[¡Ò‰Zúc]óŸï«Èð•@Ÿo'‰‰¿E_ O¨©³¹5v>HéaÝC!Ä;ýæjIlÓÿ_Ï{èΨh‡Jÿ´FÕÑFXê1CGgÎåðÇÅâµÁÞ›váeQz,±¾…LŒ’ÇÄ_=qFÎÉ]m ëQÓYEëAù’ëÿ4’Ü´k#ŠGrᦎ«Î*zÐÄ0§.µKå‚ÃtV²¤[M¸ðœP0Í•¾SÒÒ6Ÿˆ]{GúˆLÝ ?7F/¢WGÛµÑ[ÑÌÑúkîuwû°&y˜Æ Þò˜7pNÃR);,è6ýR ¶¥‘j•gů$3÷•ö¤Ç–k!u¶|J¬`GʳlÀ€]ŠñÏà¼ÛÑ© ÕuâbιL<ÕöXIv –„ö§5{¡…xJ¡önq›‚ÍÎxT¹‚g7ƒÏf­âØcFqoòMÍË.!“ aŸTK†áºÓ ÔZMµ¶34îZÀÖîÉð…÷V kÄã=®n¯®‘hŸ‘õM€44Nãgä*oáÊ Q~廙‚ç=’—!¼a“³|ÜpÔ2fÏ#y¦Îû ðsŒ¤zïÌJëõr°Ú|òœ®ÛXìópÙ#»í„éŽ9eŒnfD—wy§‰–{ aÛ“ÞR¸–ä_\ 7•I^§ $šÙò”ÒEÕ«2žÈ(8é޵ÈEs4\òåi`¹.ЇF|oOËRKXWnÔMÓš¶™†F£Ìq¤Åq¦ÍŒÒÄ›Ã]Cq8€¾‚±¤3²÷z g¦ s¢5ñOÀ1"rE)ãbDÔLÙóÖ¢”"QÒ€b1Šò£…[ÈíHÉ?˜Ç@ÞCT"ÜÊDýÙǽ‡»(°5—s.Ê):œ0É‹4×õYK^«¬-b1×VºO&f¤Aë )èIvÿ|O6T&€CJ±å¥SúÍÄmЧ^·³›ïèN RCT¢>íáz·úø/†: ¤Dq R\â=ZæÇ´ø”³. —³Êêµ­VY¼`n¿¾u®›ƒö×bgSCb` Î`ÀC&¦G—ØWG‰ššÎ{È^u“˜ª¹Ð~i)‰)ÌþHÁ¨W¦Q†$½Ì© ™saïË"l£9ˉ®‚”ŸËS`¼“/ÐS Èl)‹ñrˈP˜Æ.Ï3Í›/ÜÎŽü¿0,óof¯9½I¶À/¯qˆ2¬½óµPÛ齸¯[åæºËE÷â¢ÚŠ‚¼Ÿsoô¸€%u..pÃ"É€%\Úb¡4£ÂÀi*9%eEF^« J4k¬¡ :W䞌”`æîÍ=d˜Íè\«ú‰=…™äpþx²’8~7§(K¡Æ =žEœK^ùÍrVà» §bo½B˜½ìĨÞ$í—ɬNT÷•w8ÐÍï¼õñ³è4÷‹{sÇÔ1ÿìxEªï% éG3.¶}¿F`Ö0´|PcÛÚ lryì$6ع=W¸¨³ƒ£zϧ’/¾ï(§ ˉãóHÔn—'.»Úr¯}ªøO÷ !ç(¡eyçâýƒe).%IØZV6[ÅØ)×zºý6èªGvh†Óþ¥»æŸNN½ð!W<,ÿ1­F¹Ü/ø­ûÈEAwqNšdrp¸û“ ==ÛÑs¥È)6cÏ=uXMŽãz9‘LÐßJ$…ôÏ3ä]ïü€kðn­6öÛpQmˆ¦~!-9æèAØuÜóúñÌûggáŒd-r#m/µ|äì7¡žV™X”¿A5¨û¯·Dþ|›ð›’¨©¢";0+I)Ñ2L§}y·Ï -v°ëbÝ‚vâà”"²À‘³ŸY²Àº_´Vosc#¦*|áõ!ûòen J[ž(}W„>G°KAá‰D¯Ê‘ÆŠ„}íf©»â‡-ºlOîÓªø™_…UX¾ú´̳‚êÔ½XáÊPz_n—‘ô—Ðw©P~&”–EÊHpDG=ÅF…,4ïè2lM¿†¥z¨c÷”w"äÃã=®7±ç0ðš€CæÙ¼Üˇ³]|墢Æñ»n¼>-ëã'´ñì–/ÞÖk.£?#ü+(Ò¢`Îou1EÙ– ÿ?[P®±M>$‘rqM´Si=«w£‘ :eúii|WŸ¹¾ƒ¿ýÄ×G¢[Û € }êH}Å·à‘.ü¢m·k,DH°aåHE%¥BE§ßŠÌ¯ÿ¬˜æ9©‡áކú³}¯lp•îW_áÊ<¨ý"Œq¬câ”ù k ­©_5÷ª5 —á«bˆåmÔSdTÓÄ›p‰|¢Ê+«\?©ˆÛ¬qÕü×Õ¸iª¯` úmò c·¬F\¯|,•? âóT¡Â¡£ÑLÁGµ Ã+§ÚªãÊBôskKÈe ÔŸ*£Kr&eèÕ÷BËmBKQÚX8] AF†¦ÒV3Í—•ŽëQá—¼&¯oc‹ 7Ñò‰AKº™RrUÜì¹åÙ 9ƒX Kð§ßQÛ‡éc@: ,K˜y–ÆJ3FÀá÷ƒHS5Y°ÐTi:†—vnüò‡;©ú㦬/ŠxBæs . TtŸ´–[ï³2Cb䋯¡Þ×Ñá ^ûªÏ¯Óhô%[+S—·XÓšWfÀâ›ÈÏ1Nu´z‘¶O–‹¢L9ÄqóÆá·¡¶Ž5âô¡Ø¼Æ ïzô^d¼ '®4ìv \9mŒGõ9° ×ð™;ÚKr—B½m²ÓRvÜKYˆZ•Ôe,(P;9«Ý·ˆO‘)Ùí‘¡ú™?n.£¾»q±h.:ãa®úݪ̇ñ‰ýñp_hÒú·vI‡+v‰·ùvæj{9W¢†üÉMtAqãFzá‹ Mz²Ïã<]×ñ õÃ|&rMé²oš˜ðcѱï½C¬ zÊs9Ã×Ç!A5F&~¦ÕšXž-fbTôîKÆ·ÛwEñáÉ“>-ï!ƒŠ„ªƒLCdñ©«{¿×Ø¢Âdd¼ï]ȵñ%i]Ö~fúeçõq,Xï˜4pÑíb“žßþ£î@Àwî'cb…’#2G2§²sEºFg¬R+çÜ04=ˆÐôNÕ|“! h¨k5ÍLZ3k¤Êu"ŽÈ(¨‰:”D'QÚ»8^ªŽBÜ¤× ¹P'~qM?¶wŰÎj~êàâ~!µ–ý2L [QxŽô’Ë ž×ßx÷ˆq•ön‡?Õlza$òD÷¨ZõMο³£\}ÁJõy£9šÑpuÓh+ € 0ŽcðH*ºÍa8cÌmû,áЃõ¤ 3ßh"ºôè´²÷ÒNö²¹öL†XóO+Áš­ê»ü°•¦±ù„$î¡bM‰/‚@A~üy£pä*oÔeÎU2N`“3XòñïÜøE&غ‰`éh-Ù44Õ®2ï 2»®ü» è2®ŒÌ \vÃHÛìQ²™áWÉiŠË`ì ˜VLi{ÖñÂaþ…pL Zé1û@‚Ë]»nâ]_±kcsU©Ù哆>2ÉžØâB›è×á,®Õ¦$ã¬þŠ&#Qyžn†ç'¶jwÁõòs}ãiœÔ´« 8~¼Çé†K”­®x«‹ŠÓzäÚ¨×Ý=«ÃÊèÜ|AÌ«-CÔÃÄh >Žh£â–²hçòÕ¶¼Fï¨%È°Š¬sé|¸}T[}F ˆy¤cäÄçsÉY"bìÀ ï/p ßk‡ßuH¹àÕÕUXóè"MvÅ1-ëëžØ«O=ð=@¶åmT».K',½/r3(|}— ø Â÷.¢WØ–£¥`Ë­¦>@ñÞhLÁºsá;ÀG0g Àìköa†3Ç›Åg+¤ë÷â´3: –XES}&Ÿ,m1A`òo/ñð*6Uå*~sŒÌQZ“ 9%W…‘=•'¼ÌMHŒ†àC‚꼦—ç\aëR†uè@¤Å†¯–Iã@Ëï¥Üà,ez~ºNýûübK‰1b„L½¶;Dè2ôµäˆÏÃK¡À1_!%£+Œ˜Ñ_ÓÔØCØ+ID¿>§¨Uyý9§îv­¢“+?‘&öf É™(‰ árê¾çü:ý}½4枯qþûáHK¥6saÖ¦™ïû• ‘bŠkÓa¾T÷¹цV=7²U•[ð’Õùcyõ‡è«ÌúIô‰Ìõ?)ø6Ó9#áoÄÃ\–¬æR&* u1DcàPù×¼{jÓ‡—´ºw*DTvÚ–„«)Ó÷¿WgÈ9Ö“ÇXšƒK6Öj+ ž-oÊ*…w¼[<¿>†¹Þ­8Ê¡Á6¤D2’¢8Pš«ÍY…ž»dæbìÆs#‡Ý„lFÑóÆfûnös<øaL¿–Ÿ7òNÞÏ¥÷PæñlïS{æèbà™KϬM°27*g( %Æ ×[fD|ß5{{!à¡êtkE0lSjoûD½œZòÉ@5™ý ‹¯ †­Ë—ú£µtâ@Lý‚õL¹‰<¬iX×®ø%k‹¢ŽòÑ"5Q;¯Õ®>‘L‚6Ulî; Ï¥SkžÓN>Ž­k„¢-?gWp'¶?Šmù®LvrB‰êÞ|ñ”¯Û4©®sZ865t@m-Yá{r¤f"ó£:D:sIí“èÏM9Êo6iå<ˆÒŽ÷ã? ^ #[z[¹ëéï–‡i¹[Ç&æRÙ€L;¼{2(—cDê>°ñ"ÂF\coç7IH'EM•£âf!,‚&p ZñµÝ,Õ`µ4Û  E-Œâüéáýb+FGEó±žTϬ!£=WÍÏcê½€m“âêLâNŒ´ÚŸ®±}Þ›²ù® ÌË_YŒ'v•Ó]V„'¨º€÷)öÕðŠêÂ,É/*oÚñ,n'†Ñ›©=‹OË&šþ£¦«¡™ã v.ý¸.z·ôÅí±ú¸Ά*û îÒ˜Ce_¿g‰v°äçþн,8é‰gØz×ôªÐX NšÓ@ä•JøÂÒ¬Ž–ÿ=÷{}@–.–•nÂ"ƒ‘ ý±«ÏK©›eõ×¥nqÁØÚ§,˲ýþKÚ¥½AçõÌÕݱ˜5 °;Ϻæió€t2Ó½ü‘;†ð1K„U¢¼ëIߥ”‹€Õý¼#²KZÂ*Vc«ßן” 3;L®FÒß]Y‹ †Þúö8i›ºèðO×Ñ@{ ÍV ¢ECÀÏ}ÃÀ|ÿÒÓYàæOò±;Îü}4Ôh¿yô×½UÙä!·.RrÙ6ßûÎAd„â°ù‚0Ò€×?íª9{îC£>£„4\O‘]ôíÛŒŠÍ€¡¥„ä_M[ïøkàÏu äÌ2Õt(U…ý:²$O8 ,¿¼bõ·7>…ΈàO(äj»=‹NG8xÀý|Â{ú1'ˆP~{E(†YÑå<ª)KU[=Gùr¯D3”óhØ`‚<¦èàl†–oEþ¼/¬o¥º#CÊíèë·kWåËûâÛ~ØÏ³UˆU¹1ÃË®³€•çn:)¢ÁeŸAy»D‹n…¢º †‘7ç8® i²;ƒåÁ£Ò(5mr¤ñÒç‡ÝüßiN ÐHî ·G×.ò/+íí&+k™ÊþÞìkYKšÀ‚ þœÉQ’¿!| \¾û.›Ð¼}<žÔïà¤NEÈÀ!g½ý²`‹O‰3þ‰5Tª1iµñ£êtJFÕy={}ÍÀdîK“N  7ç/K:¿¾Œ{c¥aïÌÒ”*0öm&lÈ\w¢3ÜA”{U˜øY’´’OàÍ6ÞKi|TvëëÔ6˜Ry5GÀ«Ô™¸*Áœì·ýŠ§Ë‚úÿ½xïhlEJ;ïѸÿæjñÔ{,-œÁÕsáøÛ§À(‡èytЍ¯²=2_në4™šúý» æp3JFh7° ÔZùmŒq-Ä­³1ç«M ïÂ`¦Á•\”r‘dZ¨ªFÙͲðº8NŠ?Ðϯ¿¼‘§—m–û$›h^ xHe‡‘Bb T’г°¢ÜU!¼–u»ŸÄ‚ë>y‹M—`µy—étÒI@»‚Þ6º86ê—”þ>~QîaEëe|òÁC·Ìë8JVŽq¡çdM/&¹ÓXÙ¢¥fÈ7¹if¹Îª૸é™ã†{­±w ­½3;¸yú Ô–ŠŠO2î_˜ü×WÉäOË„˜Ò T$ÆÜžE#ê…ÂB‘É’ò™ºjâ]À¯Xüö]Ç¡,i³IÂÕ«Z°T|òy:UºœM²Êÿ ¹Ý¶óô´íÖlLp+ÔŒ :O??Ö6q<Ë·`¤¢œz„s( ãvA2£™-ˆ2Ìj’e“ƒlx›¢Àš,^Q¡˜Ì8hS!JòCë!`üËhbôOúŠˆüb¶ìT¦XªwtAû?³KCx“ú¬N¸¥®.þe‚Zœ›Õ\«P®q¥3xcýøÞÏF¡WøØo¦óP!ÑUj‚QxjºÃºþ÷Omy*ÅžmB1we3øû‘Ù é˜úͨɎZvs¥šiâÜ߸t¾^ïç“ûm^ˆ4ardõî\Cð}³·…³`H'Ù:Dѵ%!Í* ɯ.À㧨ó;gšsg 9_t¢ùÓ`ÐjóO|~‰E`ÍéëQبmV)$ÏYu!”„; ¼Æi×"[µÊý»B–¨!¢þ•ÑTî™?ë8*J´Âþ¨Ö5;pÖ½‡´ú²ü<˜™uœºñsìÿÁÇ‹.`kx žA4;~¡£O1…‰´Ä®*âÐÝÏ/ aQí#¼À%\¨‚¢N†Ù¬¤&1!Ó‹05ÅåY¤Ò‚Úw–3Í×ÛÌ35ç:g¦Óì_ü2üš>&Ž~NCþ¬ác ƒôM#¡(\à?… »´”=ªÿñ%k;Æ­(œêrLD=Yd @Ó ùÎ:ÄrKÐYˆ`¼OVX|âÖO`£ }M‰ „랪øºzÀ{ïV±?Á{ b¹ˆ‚Ê–öJÇž-ÙÍoÿoðhÅÇgî×Âosžš~{üÅ~í–3{ÍéhA\«QÒì;ÒÜq̵ÏGÔ æ*ÉqGuŸó_-å‘ç£js—‘jnö±¸#i9ÎÁÄâ¸[3Vð–Fè´a°ìDânL>‡±{í}9„Vz1΀ë¹ÌÊ™FçB/(Æ.Ô ÿn QAôÅAm™à —7{“”¾îÂĘɄŒ Hè.·¬×"C9~vïç‰klŸž‡Çã"C׳5Ó`gêqiBÿêi`*óV+zI)ë„M˜ï(_|ñ4“Ê?€¬4Âg/ê€ñ¡ xuãï!§Ò<{âå-£YNòO º¬õ¨•¤cEÊOæçD÷ø÷žèƒ:ßln`åø “ ß3®çÃð†ÎcHГ¿mšÏû¾ •É*·±µBœÂ#]šøŸì×|Å+ »Ðˆ;W®%{‘a%Àyo ŠV ;;”E†óób†xïIìåo µÓmU¤€¼¦›ç'C2ë1‡¡'űÿ'UýÆZ3Ayä*ˆžrÑ…ƒE$¢ù//lÕœ9>r¦ò²“Ó3r [_q½Wkp‹ßfïVqhRô¦9×ì®Ù¯Ùtgo´¬šÂبuG”AwÕ%uì¢ÑJDtÃõÂ\¦¦Ý›…ÿóLÄ /y—cRwÙ}çzgýgŠ6Ó)ìûÝÊ%Z±]™í¬jÎÚ| nq9 _#x¿>^TÍE®[¶hdC›w²¦¨¨¥¾…¦„÷ŒéŒÉoÅ$îÎH3Ú¹~BL;¡T®°ïXRÌÔdÊã`z/>ðMÛë³as eÊFÒ^·[ÍBß“˜a³ŸæÌ Žv èÑ'(­Ò¶Ûðfýd_z¹"a\hPм½î ò$Aån5Bëãy [uš7y`cÒ…ˆ„—c•VÎH`jm<˼ßr'îÁdQ®õ}b@3fTÖØ aSÁ§`²¤)ìËÇ*M±b˜`D™3jáb-M)S«{¬u{÷!…ë|7ª/÷´±aDæDBðGù½àg;ÿ¡)ÀÐ[#GkYËÝÔ•[HI%S=ã>Ä"è!ì ©øð™ÈòïgM”Jâ!ŸŠ‹é…^b¿d”§ôº0}y†ÿCULÉ Wð4ñëùÍü«È Ù•ØWÿÛ@ˆ=SžpŽ~V¡ äíWsL èÖB_¾µ<õСŠ]·ã—?Jcü7è7øIǦó VÔÝ…è#ztDPØ¢åâhnÿ´æP&G_{Ï®¢ï>²h±!2a6ŒÕÁÚ$ÆVÎ?Gv+ÝÏc’ÀËI&|îö þ_iªÉœ†?ðúÎp4cúÃø : /ú™ì±3»çkûμºÞ _‘%²« 7“DUœ»ÙV‰‹ã'g¡ÉñÀ…} ø!â`M ìÙàfæò \“}›gb*ZŠËäë$ñÀhŠ!kŸ…ªtj†¸aWùòaô`tp +P@¨p‡£V³ÿFA‚OÑé¿KÛ±êøuŠ±É }äŸD2²ÍSÚoÑTã•Ïn…[:­³ÙоñV«’]°^è¾l"Ò±¢R•Ò쓯 R/Énkoø*((Ü™èDGìég34á²´ÅÀb í ˆâ˜Jd9Ex¬£4â†7‘mÍm ¦V,)SÍL—ª:jæ¶&þ9sŽ{®”_CRÌ>'›&r2Nè!Oa­3µkt(l]d~iÏß»ÁÙÃJPË‘6 ^ 7„00žkâs(¾Ý‚ñiž=}$Õ, à€·K"= p³+h„FN«¯`¾ÿgèîQ~mÐR™NØsI¯¼eÛ×Ï&™”+o];ôjŸbã‘ë7p˜/š¾•Ý_è¡Ï,vß Î¥ã>ƒ¥ žå$t„§µQä‰ëRÅ–©™äŽöÄ`8Üù{u–ÜqÆÙ/@$ÃÜV€â­adælåT¼|&ÜŒcSýy¢>^@W˜lãSð­“£xæ¯ó#›ÜzI0úV5©,(ª§¼›gåíµœ‹Y(N ©uãH£êLm)Ì/AŒˆkmFЩß;\ˆ|."ììÔ5zfà •õ2CyLñ„ÂÓ%•gÏ#’髦’¢‰I÷=~ÝJ”·bZM°ÛòÙg–A LÎy÷Æ—™˜ä¡¸ÈF²(;)@¯‡GæAàÚ s˜÷4^ãwÒãØÜ 0ÎÅ{üµŠš ‰Oï§’åÁ¸Z£l5Sñj2æðƒªÅöþNfìè$ȶ4…%óÎXûºƒF< ‰00`8TPè5;/éÒ¶8D´]µwÒÄ=rB£8%MÔt¡9†™‹^è U­1ÿ!2_ °Ò´lz6˜”"ùGŹÁlzbã<úYò9gXC-pÜã½,’eÓ­tš¨qÇóvÃŽb 2Æ9€˜g=F”ǵ:ú«¤Ê~z›lûõFàVúóË öðõ„î˜$>W“{\Iog²h5‰”»©bŽˆ{ï3‡1é2æ9ó@ƒ*JÒ%Ÿ¼k ©_Hík],-L{xYopà^+4úÊ£0‡‡úk×ÕÖäúfé5ª¬ý‚bµ=|ötŒ­Q~¤¿‰`^Ou* Y4ˆ‡ƒ!e)Ÿ Æ)ˆzwïnR¼¶yi¾Ókw$}`:^LNT¡É銫Lß¼ÕÌÊ‘„`äÚõI…òty <ƒÎˆÈ@(œ–ö¯á ¹PuH5;lD‘gÕWíí"hˆ°äšäv'«‰K×EÞw’_X¸‘SF´ãd_ØGOà=gA‡™… å÷mb†V^êBHÀê§ä•8/´Ü÷ã¡ÝƒWñÞRòwYrz¦·ðÄñ d:R’ܾؑ}ÒC4×teH·ãë‚2Wàóz[ÕïEo.ä2¯'‡ýe}O—)ÅK¶ gjI*Z°.MÐÞnèíOzkaPˆ )ª˜›}`7zõh¬¬ð®È3 ¥Þ#6·’¹âûÌBYsÒÚËRËtE«é¨7gžóA-Ò¸ž‚ûàw¿Óžùñäíx#ðgö\Ì„‰9gÛ ªÈ»Ñ'§umó¹ç˜gX…âøŸH‚†p _vià,÷åZë¦ñ5H™N|ì„ìG4ûÀôt,r D’eva¢¯ 9‚Öhª ÙV’«þl—·*n¼\ãö 纷}ü‘iZ¦¥ K¹ö Tà(T厞¿72í6®¬lìeûq4CBÞÚ6—`·kG^ôTKu÷dàäµ8ÊÕ"«*1,ÒNÍ u){¦}×Té*”dbR$ˆ0J%À¸äŒ_ U¼Á#v® iͦŒÞ,ˆÏ™ñý+É›S4Ì}…‹ V“‡íÐâ­Šä“fT*oÁ¯0˜¶tÂ×;w1Øñcêtx¹`ã"Ža~I*deÏ2Z¾cÔu9¤¤'Â%(<²Šü«sgÆ">É»²?DF R¢£éxgä¿"go ߎ¹âR>ïNj™Šä¾îÒÅ­\D¢^\C[<áy%L\±Â?ñYÁ}E¯å3‘|aÉ_Hfp1©²0ÝgÀ„(FanÈSÂeI¦@ÇTp÷–ý mÓS€±ô±b}¶Íq"PN·UM]ç9@fÕ¡õÞžþOóΤ¢µ`Ñ­©¢Åœð,•§ý‹Рõ<0„¾ÁwJ j (æ ]E‡C@$‹õ_ÿÙ3þ Ÿg ¿G³lew: Ÿo-ø18òôl È÷‹£®BU,& ÐdA«Œ‚®KóuÓ`IrÜäÓÒ…Æí H gdú9qr›j Í¾£¡ý¬¶Õ[§â Ú³ÌÇiI>‰E1K;‡˜­é*XàÂ|s5N¹*xXóÀ¬S“œ¬]Y,zï4…ÇéFìlÉ`œ¸õB¯4 ³²¾;ºF™³!&ŽÄhNZþÓ3eó ÝÃÇ·hiŒ >˜‡”ºù O6ð­0 4½¹^²’€† ©×ÌîÝDxÍ+7®Sá­¯ZÕ©¥6KöÍ"Cáò2†y2™„epž “ÂæË0äõÂlÁÙ…AÊh<çƒB&ŒvE_ÚÊ9#þöMŸzr6•*ÆøHU,ùÎEÓjÏf]ÂA©(PŒŠ×ç$Á:\ø¬§ þq…’›‘8¶¸àQ5ì‡~ÖJ7 sVvBÞµGî¸^©ç¥IqQÓò ~€}I£D÷§{4àž®'ü‘÷!¾ßÝmG\_TªÞàèï¾ ɉºà¹~—e¨öC ;ú!uååò+vØD~¥¼xéÅiêj?mžóöùCµ­ú)Ëß%id¿:D)mçm/˜‘ÎB+*Òzb‹.¬åÜ·‹ E_ؽ…—~òšyß´±z‡™·zP'°PïB†Aóû.­ Q£4¹|ƒ€Á’u(š¶6‡øýÚ’7çb!D—ݸ{ŒÖrëÝS¿ÅÿÑÖô0üDî£<³ÄeJ(ƒ Ò<*Ãì·]ª¨ZBÀIˆZ–ìOxö LLL…:ëp½éÞ4K>kÏ“~˜ÐÊ+ۗóQý<ÂÊ©øw¬ƒ›¾Óu—®:ƒúÞWËyE¿@ºù"BB1~>Sø’d¤Õ3q³$mwü`(S«qNt­Á$Wz^îjl±¯ûYDÆm¿†ã8§é£ê UþŸiˆTõÓ8 ™mÀãôá¯S‡Y´ŽsÈ’p<ÿ­0„¦Ò°ÿba2W…s¿ÝmÐmõè¼oÉÄ»œ: ãíÝòpm,|—Cèýßö„¤BÒ&(g BÆP~m’›…p ƒno$zf4¿Veù憴Óÿôé[ïÂPo<¥dŠ¡áªüAB{sÒ±=/ÕjR÷‘ˆÆÇ”źºŸ ‰Ñå\fdªFRèȸ·$͑үŒB)|öŒ¥5×và7ßzÒ5ÿ¢ySpRš“n¿¸T›™=æ]‹”ÞL‹«jjÊz›eùÓ:´)ípÈz”›¼‹%À‚®óú±¥1NK-˜ªŠšÀ·®…%m,ÙCšu¨å¹Œ_’H\g†­*ô ß65ÈÙ:VÑ_Êèà>ª÷›\E’Æñ–`‘¼k¼g5ƒ»Öqd»ñrû’ö¦‹ ³n ¶ƒV…¥ùÂøî…ÕOÄÙ_Íÿ\ÁJSbŠÀ­¡ Ò¶-÷ çû’kž­ÁÆF$UtV}öYØÿ9LFbƒyHiÓºIÞ··»:L!ÐO쿌B|æ¼>¨I‰¸Æ8&W²]]ä)[ H=¡‡nÆkE!ì1­ eÏk}¼ÈÒI T¦S.&±˜À=ãÐõCïµ×¬qò¥z‚˜Öºn…®OeT¡ƒÍÄ1Å}÷›ŽôÉ™5š ˜ìeº¡†?#P"0å½Mþ'þÓ$žÎX-¥eúÞãîÞËœkëÖÊyyo8fÁ¢5>²—¬žÇŸÊ´à)Ñר› !^îÎdpU¦±z€¾ÙJ$ïG&û‡¼¢Òo>QM#/D/|Zc¦\·"å Ð®å¯n[ÄÆ2„®þ>™Û3ó‰ÞÙûNUá§uÚg9·ÜcúI­€2K¦æb ¶ÈÆç“ÌÒ€+]íªÞë¡ëÖTe—ˆŒ$dÁÙQØC§nç¹€›Rf\YIâ逜CŸIau‘ôÚýîïªô”ä '»UãRµ ¤I6 ò_'°à ýºG0ÅðF{xä.·ÁíÇI›ô%š‹gfÃïŒ$b_–³lÈwËnX‰î|7k‹žÌ^v‘ú Ï•†,ó?›ÖjNœ¨¦ÖûÔ÷ ì.Í`‰Ó?­>à(¸½%BÄ{„?ÝK*ʰ"WÐáÞ“ÓA¶ÓŒ‹ Õ–3õWfÁƒRzôÝ|­M³°¨<ÏO™kᩤo/”rËŒÚ"ªoùÙ®È2kß-¶ Tµ’ƒ±Žÿ7ð‘Y|ãñâ~ëþ<ì êg´tWAú(ªIö†w §®Y‘wðkc“ÐÅmD¨>I®A}ÕµÈÔÒ5ŸÓ… ]S€¥ÕQ3ªD*À¯Êrƒºm+]IZ`ýâl* g*'uAYf¼ð²` ¨ƒ¼¥àûÜ™˜°+·Ïvì"*Ó…ãâùéðî²'uíÅöÂW±ýö!ã§ÅRøçá05Öf ü$58XXOôëf…~ÎB³Ù˜uKû/r>Çr…8³Nvý‰•ž^$-`D‹Õ',i×,UŸœEïV‰ß¶$œWs¿:@×xM¹M¢œfâÆ§ƒu2«=,ÂØÏ`6rh}¼›ÛÓ¡ûo¶]M.@,ðdz¶è"oÒ@~@6‘¢ºwóçÁrô•ÿ|˜š¹¿×MU9@<…¯ ÐÊ`Ør¨ ì¼Mµ0 +Œ¶LÐdÉY±¾è(ÂPj¼eeiQt2â?èlÌ9G͆ïaûKNN¦ø{p}?¦83{/v"­Ãr)´«-عÕOP.#¼)}»¨Áó÷ߦö§{ NäûC&ZÑš¢Ôã_¹9àª=UÊjòÆS)½ ŽÜ¥÷„àóùfyO´èÝý÷§¼z ŠÊ§–Ê4•Çw»~®h Wø„Ááa‰É@>Ï®`EjÚ…K)9³‡D|ýÄÉN¶«Û¥‚jø?±:rÃ\,:dëç Í÷ß»©4 °«@Juë±îˆ{×W2W™Ö¸1xÓ{çáß…V!áT bö†wò ¾É`ä°¹r†+ã—-”²}Šh’|Ș¢ ã‰ÜÛ.°àC–zÖà!66PØîĬ~;BþäÈ4SÆ›òë ÌIû ºm(²:›¾ª%³ÁFÆ ÄŠ+ÝøQÖ5b™ÁešÕN|Tý¬ù¨È¡ ùÙt;Ôïö« Ý©õ^cZÔŪչ”níDíuX ÷¯Ÿ—J;J ·Jü þ`lñ O» Å·ÂØ-¡ôBåÃdG‹8לçò½ü¶ð$pX ”Ôu½?£áï’Ÿ7|cªÞ®Kе[1/³Vñs¨Ϙ1&ö·ªƒå×8CWð-ØnØ-ý¾DrÑI)6óÀNâ‘7"ÖÆpO+ÌZò£`n„7Whg|ŒŠ<½Øúâ;åÍ®¨oA„¥Ð³>gú[œ­Al@’\mA¼s¯ KÊ Ôæ;¿KL„¢ñýì<ðÔßMÞ˜ðéÇê»$SS£º“Z V/úAAp¥Iäq £w~”éXÝ/¾GcWàCPË.;RÓ{ë¦ßó0YÑ—\Å,Vá] ³¢DÁß–%Oáò›Ò4Š\Ä$¨¡³ÊÚ!"Å_ˆ `†õŠêÕi#½ƒG@Eºô͈ñ&AúÏÃ÷i„Z7N£E¢ƒ˜är á&\®Ôp&©Ýòy/â6qÁ÷ñ©¨6Œ5cø ƽÁ²\zãÝÏáw[Ù¼©ˆ1,ÿl3©Ÿ'_ª&­‚"RT NÃ’œ²`Õ4zT n<4ÿοfdßA.L<üÃܤ:'ƒZ¹9ö—äŒâemiJIdólD6[u¯ýAŸ†ÙÚ7™>;ÛûæQ§!š`aºác_ÉÑêO¨üç°ãPæˆ#”g’}^WJ0æW÷Døšf¿ús¦ieØŠký烗&—ZâkˆÚ"N…Ë‚ÀISö¶v :FË!ÃEVðh,ÓZasiA1^­xF7‚rJŠþ§Úõ£ó‘q#oÓGK™;bg¤¬ Í”€Šð—K6®I¼]@>ÚsÖoþW²skÁôÂÏÕ€g\ž…·;ᓘù‚©7åÞ–JhYQb Ô²œúM~§*µÖÉ¢a¥…B¹ð¯^{À¯Ýx´& ÁŒ(ôNX6À âO~óøÄÓ8„˜Ýí%V¹yFÄj󨵾ñs²O¼éø˜äM˜Æ–™¡w»*È<ㆿ½.¬-˜ÀY2j–îQ¶)'p´’“0Å+YußâueÂl¬”p''ô¦ áàh¾™ÿZŠí§p:) í¢CöŒÿt•WŒi®ÞQçKÞnÊCj½ mu"ÉBÒÚ[<¨dnÌÛê²€öj;›#K¤À‹Îór°àÅZèéJ>ªµõ¸ÙË. ò’8/E™èà©ñÛŒ1 ’²¶ô,qÕ‰-$=Ô¦>å«0åT—a«î虚)|ÈŸ}\uÅt d†:í]Û  5×G+SK™]úž~ë9}šðŒÖÿ*?r4$ð´bÅ>öôó—v0ÑÀ£â˨'q&2䮽T\¯£‚˜„¹õངë*Á©/g¶ðt±ú‡›ãÞ8 ÿ“XÀcåN¼Ÿ¿ˆ-òfÉ–uØšËä•ïWK6›¹0ù¿CÜa¾…ô”ÞL½´Ÿ+¢öÑZø_ÃÌNu2vé_þ^m£c ï¢C°Då¨"z¼Í?²Š3 ëjòa;eÜ®rz~ЃÀÊð¾ò(a­=˜íûÑÉ.UñÌWD$S³ùäÞIn"o!Šy¶…ÞÎtÿ3}¬@vî7ÛL‚;{ûòú[ƒ[·_5”V3¸@¤U޽PYf?€ÀSKû…ò§üþ”«x öU?—6©V¯L´ª|Nó§§¡6qäÕâ˜Qñ˜G.Òƒ{PNnKþà”¼úv~µ?ú(ùZÞgÔP ÖH\¢×~.'ÜÔQbË‘ôiÁ4QŽv ïù"þv§žÞ­ ý|Æàz'1H·G.b­<‹ÿ*Œ# Kžà&$.‰Ó‰mx€Ù gÆ‚á´WòǦÓ݉äæü€ÄF$­ÿ©ù>àÁ½ÍÈ0Á€ ˆ#~2NÞuW_uŸÔ[€ 8Pĸ•D•燩‹StÅ }QÔØ7äõ¦AÕË}+²Ø=9@`K }ß'Ñø0¥Z B'£Ss …®v$hïˆÄ§7P$tfdÄ#Sí¡Z£ZU+¯Ðá3Ú¢ú‰ EˆÞ×|”·¡ÕŒkJıUyÎÊn2‹Ö˜:G_¡œŠ*v^á7}'bVTŸÆO²è6ìC™·OªK;ÁG­Fbã´Æd3%vƒ.Ø S÷ÝÖUj™e8’åü uP“aá›öÈÊ!¹ÃãÕa¸q`?»Py$ɤcuÆyÇ %™Jµ3'Zâ:¹^™c ¶ñqÎsY‹NðÍ‘¦¢YzÌ2Ö ôˆT.Kõ›B4iüãÿø)ó Sq‹u­p°@éŠ.2¢‹*Á Ãjr‰h©dú0œ¨ “Ž ˜“j¼úy{2ñÝœ;¬µÃABLeœDøQ'ŒÖIÒ[L؈ÇPµxg C–ÆÈ“¿JèÃ3ÿiÛ—Œ®VÚUf[ïÝ,H® ÈÕÛ&Û s‹ÆœýqÃ× о‘åâ€ç„‹A`ZDÝküùn•Nì¢Oyú’G²âÆýç´f›GoÍëÒçŸ2DZx½e ½(˜Ž60toXAëŸééçFM™dºU&¥óJ§/òX+•‡l¡Ï]œO–ñ±¸sš+ð=Z&Çåš[¾)Z(ŸC[U‹ )V¤UËΑî*G0h<ƒ¢îk A«..ðÏëû!L‰ŽzÙ±…ämðÜ>ÛrìU[UQ²-÷î­<ÝUY#yšŽ νÅþàŸÖ”™yÅŒ¢ó#$U³·o¢#TDÆT„+ÌOîéá ÍŒ^¥àôH^pO..D”ôÒšÚ3Ú& ¾´…s \+²5¶}PÀŸ6 ¥A©üiÃ×N¢yKÛŠX‰ëês3n›ø/³ lsgm'­6[ç0é½´k¬çL0¥t»K,Û4ÐÏñ?3©ÚŸò]Ç#quïÀÖ=Y1‰(S„ µ²‚pB»‹°¿VDi‚¦šÛH05Æ¢z—eþ€#\›ÀøÚþê±]¥½ Ž¡i¿+õ1 D¹*yqë5˜‚³íCò8mÓNĤ¿¡E Ê«ûök/fk¿¬¥ÃÛÊ«*aÞÑC¥Ÿ×mmÖ¾¹IïnåÞïb®Òðï IÅ'0À8˜B†íOîå€î7C·Äq(p×jGIÈÓé¸äh'9.%t°¿s‰²Uñ“ŸMŸ,ÎW[Ú±SÐAï—½M‡È´¥œCæõÞÔóAêw˜²­òÔ¾uúp ê„é§ê`´aø,»u"Ñ=Ø(½%ìóõ§åÛ€MkA»…¥vÚ)øJØL€ êHvC ŸÖÍãÿh––Ó£#A7Ýô©)À@¯’™s€j¨Î^L”]à˜™‡þ¤P…Y(ØÏ¡³¦šI ÒûÛ‚†»dËÁxú%º&%¾ãhµ¨)•49i^0¯òm§ïW …iez’L²ñò¬ßa²T¾5.ÙD4Òe=†ØÉñ!â4=¹×tÛ2ô¸¥äé/äÙw¶çÜ ¢Ÿ4ã4(°P Ç3 ˜Q¿¸‰Òû—w¢L±SšœÑãµ6¡ ISÜÈî9Ìw¨Ppc†Ôj£L¾Æþ.e;¶¶{® ~|ˆ6¯ôѵ0m‡ æÒ‡ªúœ ª 2rðOyǧ¬·ß›ÎCìÞ¶M[r¨R†¤Íþ{ŠŠÏ!D=P¹m™ \p˜ó@èX‡N W–ª,Á0ð»ât+JßæQøtzýìÍs W¿&]\+ߊìr·ÜgŠÍ¬jö*½vEPµÿñ5l‹Ö»w9ÓwtBé-[‰c ÜÚWã›9°kOU¥1•&iA2,Óû1(­ßÿÖŒY?¹ ÇDc²ýµò+¡ÇR.o²zYÈLBþÀ. *©¯ÎqdbÉŒc„°_ú/ù¡¾™¼¥ØúWþ÷_+z¿6¬•@›£­°RxÁW¯å-t“?½ðþ_¾ùÅÇ5?°«Ï¶.îÝšì<\:QS‰?”³JD1u}ÖkñÛÈR÷§goSOYŒ7Ê­÷}`¶Ê•ºˆ°}[߇ÁÇŒ–%Äɲ. G²œi«-[õ@ÖdQz€…¸j?Ã㙊ÔB„¨MÓ.È>ñ~[úO)6'S Ú·G1ú´ùöí-3§®c¼îÛÄÒüÿ„ @z`ÔG íMººSÈ´é<»!seöS–Í÷‘báx±ô_°Ýé_ËFža±ºžslDIë®Ö6µZ*€Õ_) ÏöÚO½t=ˆ&È |l»V#Àµ1ÕÝî©”_\±ŽDìî+PÂüMGœ÷·Ç\H0òHµgùžSþJÜØ²òNóIר É é{\¥O…¼µyéXàï@…Ž Kï¶ÝÉQœ0®w&MzTµIÊžv_ñð6firImƒ‡{ö±—àý ž jËõÁKÉìÅf8Û8Ëd‹3Él§ãò‘wƒ>ežÑ‚ûãg¼©ÍwÇò0£è6ÁýqÖܳ£¼Ý”þ83Û ®óøÆ}”uãOå]'Â8Eh¼Â&=Á„œnX‰N¸­¥?9||ÔÈBA$÷ÍC­×–OqÛåÍÿ,7y4¾÷­ fñ¦‡†e¦–WsA ç(uÝ¿Š ¦r‡…ÑöË3Ð °eÇŸ C©Ç–Öc<#Ül³éŽ¥·: úaA({R}Ädl½€°»E\ ÷“Q3öS`-L*bÆöt…8g(\vÅ ãæÞh†˜¡á¡² ‹ñ2(Ü7u$¸?¾W䡦ïh{ó¤Ë·­W¸;›u´a6˜º|îþÞ8 ~ìèa?uä­vé~Øük¿Xíe@ üy ­°ú ¥j²Ôaòk‹Q¿÷DëѾV/ñ)`ãfÁߘ«'G”AhŽ’€¹oÀ¸žóˆ-¥ÄN¦¢Ã—‘̦¾™IÝd>i¾²`©nÇÊgšI…N’Z`ú»ÆÎë êòˆɵow_ ñÍÊÍù9'ÿ±kOÒxl@'Û’ J ÎóÓ'6’2^B-·+º"æ£íñÎ ÿ›Nm—}õà½L¤Þ/ÔÞ\KÈ rô°K¦é­ãªiH<úâ´y‚8>¬Þ8å‡0Ëäñ#Írh?>¶rïãjom[õ§_XцBÐ?R22Ÿ'-ðäqBB|(õw;…þÈk6™J¯ír®jìùP`Ø‹¨À”#/:”È%Á~oÜz#2lf¹éÅ·m;/(òô‡RaPyáO-™L>Õ½q¼NIsðÓ½ŠténšÞ&"jo(^ZÙ.…§œÊ ¨ù°¿/YàÒˆb„öÕÒú›ì5é~zòÕI Yõ t›ØŽaÞ¼ ”G=ä·.Ô†1ê³VMBÁö»Ÿl·xÄJÿja>µtúÊÝ›œTW\:“FñÞ‚ |¶Ø sS*+` Wù%ü´ñ,Ñ K ñÿÇöÍ2×¹uÑnÒtþ!Õ?óñ)# WáXßãÓj- X{—V^)ÀJM.Ýo¶èÀIŽ×.L!Õ}*Þÿ1É]wØX>}¼ÇiF\`F kÒGpUŸa@p2-+D2FIÖüWÛ+…þªyuͧj‘uû<xã;~‚¾Æã%dßTÁ÷EÉÐSwm,”*ùï÷P{I©6o%‡âF¡m_8ò¯B¬ºñ‚Àè%‹§¨6î»l8g¬á5i™³zÞkCüJ¾¡{fQ¹´L°^‰›!æ? ñc<,_%Q­0&0²v™¢juï—² ýƒsP-ñ²«êm[Ϭròzk1/ «x4¡¯?Ö8†EÖ›Rñùºø @µy~÷bð­æsÔSγ§âghY­!NÛyHêŠqF;þóbú~=ë?(§_FZœVg^§Ž¨g,½Ïg1J_Q#œÅôdd6™ý@§×T³\”¢A(‹w’K¾'G°%’dÔÚµ»ñEöÜ3NîÉ9ÉtLuej¶—‰0|ÕÖmrÂdމ‡bJzë8]óç,F19/9ßöFÉnÓæV¢…–uô ¹œ¢;N#ücôh‡”Ïé¾ê¶ 8 ¡âÍúüu‚3íÞ Õæ Ä…uDåej`Íš·-虫Õù—ß?‚O\¡ÅöÇRï8 ÄÝ•ä‘6úÉ÷Mɯö/¤q“ ïe1ÛÃQ&v£».?$«½É3 $C( õW6[í.Ñi2ùðÅ ˜Ù&ï¾P™_ ½KâP‚ÑngâóÑÆù0ȨPáË{Ù=´;â`ä¶ß(—±îv½^a°¨X|+”‡’äÓ8“ O)ÒÏISßnü\´cÌÓn¥O‘K¡¼Õ°6\ÔNL7¯6ŸÉ+éÁw>NB¢Ý'ß^åBäxng¿ÍûTÁâS'‚‘Ÿj³ éêI4l¸Ñ™œ F{«LZ‰™ i ˜€¼¸~Jnj Âé÷G)0J‰<Û/”ΛÝ&o‰&E¿ºuèC˜HÙ,ÕÑA£ ›Á´4ÎÖoëT,D›µ—53¢±Ô/•·Ê2íJîR-¼1ÆÈ‚ô“Ó“o(2±”›fø¨”Jÿ)r˜”ý¼œu›g…N‹¥sÊÖ÷æªo¾M!˱HÂÀ „q³S$ Êv¥kII°Óê“T/)»3í¹í>#ø”j‹§È³Ôm¶ëƒj±·Ìé/V¬©¯©˜›¾x- µ3dù=i¸wOž}ÐM߸æi*ÉÀN)¶¡…²H±ô€7XqÒ™×-ÿÏ“QJæ”ß'èH½ÿíPÈsý͡ŃK´5yÃ’Y·†žù»NYÃM%„dïjsHá:‰Gï_FÀ™ç£ï£ï·<‚„é4ÕúñÁZ< ©–¾¥)XÇðiCb÷›šÌ"9ÿèl@ÿ®‘¹?µÔß! ¸Z1(ôØ!YI¶÷6—+®ÓÏ1 Üïbb˜i¹ÀhÌõ@ ë¢3x]5œ+ÑËFîiBBü%³!Q*«8£õŸ¥ògÝË [çz‡!~†qð__´>kJƒÕñ‰iþαÕ`JzÛˆZnÚf¼.ÄÉs—Àô¨ÓßãôWå„.£í_Ùý·ð\ÞÑ"\‹éJÆ›L~à\ zE¢µ÷yn¶1uÙöL*RnÙ‘ô6ü²%ûÌ}\>ÛBË‚öGu`'=ãëw'¦¨u¡€ Æ=õ“+:†Ù`³€é’Ù`™˜¹°£ÝÇô¡Ô¥ˆÞj|ó¥5lÎëÞ¢›mÁ Äï éÂøfñ¢T'jT#ÿ[ é =Æô#z ž#¬ªíh¹Ôk`7–^عك-O8Û'÷ÌT½ ¨áD½> W.¯³Õš$c~W—]÷dª¸aIXÀXFa(‹¶±0˜…4Z0ÜXŽ3òåPHà„1Énpw •!o±‰[@Ýr;²v.jÏ-@½3CJÁ¬ò°& ™p wZúùœ18æZ¨ˆ¿ô£cð¢8Ñ-_f+ŹTÐs•òÀo,ÓÖÖ£O€8»zE•ÊÃÇØ*#m\0Ð."»T?Ns‘ta.‰xÃTùáï÷¨áÍR ^iìE¸º¯ó{q ýêS4ó• ¹{´5U4:bœA>ÈÖ_ ø‰?vÜÓÑàÚ?Îwá?6|¿/ûI¡hy3Ÿ•‚H©ô–É~­KõÕÕcJá@Cyè÷{œÏ›7]`øk'ec û`ä.n¨Y#‰q«J‹±ƒ¡Y‚E1iðäØÞ àÖÆ~(r0°DŽ³Î„¥ ñé³·ÞÞ?[›ƒüU¹ÌX§0¦$6K1¾û¤YSz£w. …œk«'ÁàcyÅ)ÃÿÖsa…òAN[‘fW@Êê© u™Qƒ6DöPM I™jÊ`ff^Ÿò ­{r¢×ÍPþ7žï‰È ¥ ©ÁR)'ðRæÐs —#dÞ×ÀoÂ9³V9—§c —v&R¡YSQ2Vû£Œ­·Ç\ßëèÚVJßàj>màhC›­é‹¼+å—Àªßÿ[’³h­»ügp:õ´0,*URM«àuVÖú«„I w¼S¡=s‰m¤Éþuð É ŠDrÊ ™E²úX—ñáiÞæÐî¨2:&œð)’ÒŸ®[> Eò™|i1-«ê÷Î$‹ÒIí2du“{%dðÔŽ^#fûgiS™dP]Þt ý8´àÉòrðr¸—Õ…ƒŠ÷^e’·4?qªî‡ Ù°Ý>(ÆÑH[Í^îÈÿDø§¾Ÿk B¾,*ÃÂN´>×lEbÔ¥ˆS^F „*D´ûçÀ{,âG‚–,[­«TSz7ÜŒ6¹,Rxå(5´+–ØNú¦ul ñUœ?þt=òà €òPðVk¦ó*_â rOGø3öy ^ á_ý¨Wh ²’@Ü Fpj ÈÞòȸ·yÅ’¤NlÆ¢­a··5ÀNí>u;ß`"=æ¹L`f4¤æÓ š²u¾µc³{{‘úœÌ²èÒoÓª*µËFâæ½SZlfÓj¶æ~8QSøkƒqïÕ‘{OÁtþÇV´M!¡»ËôV5о&$þýïœ×y9}n/Ý|@Æ'DXŸê'kýˆúñßÝnÕf¢‡½WY˜Â–!”¶ÓwË}Ò@±øÐƒ¢#Y&y«±ñ ÉxàKw¦Àõ&ßiÓ¬c*·¸‹-È4Ò“”ÔdýÓ!ÌÐÛ1Kê§”ìItê5}¿…ЗÄ4,Këˆ#­X<ø»c‚ÒN~ Ù… _iÂøÑyeÛË&‰4ã÷ ô$püeI;èM‹¯Åx-ÕQ¯¾ÄfMh³7;¹PÙ.ô«@+§gÂä5{)ƒ¬ssš9coí$»ë¯Ö'ŽŒâ(¬”Û {Kç¿uêã[å0aYû°òšŠˆáˆÿ?Ñ‹g@¦¹w.ƒÑ"mÿ0Œ>èlNÅÖ)¡<½Í}-ò›EuÒ:ŽT®„±áu§õ’(¤˜õv"#ù¿gZ‰{þµ™ä© ÎÑ'YÍ÷$R"ó­¹<]:sì7𹇘 ]ˆõFËkße"iœŠï5“1k™äÛÅ&“(øI_½e̺rù™üxâ.hŠ8qœ.¡”ó aÏíúx·Vó­ÇÜ.íx…ó[)"Fzq×›šìü!˜¬BãÐ1Ê“[â‡hWS´Š×Jt³¼)-žN§·Aî‘Ìà9wñ×”Î?[‹Z·ëÏ猇v»+ïÆ“a."ã1Ù¢ æ)£ »z†LgÀ(B²ÍWrÞrµÿûóT~Iä­º :è(|×—©òÔ+‚,‰ò°ÐÞºF˽_çŠyv^‚A^cÐë܉®š(îD6@ŒŽ§ÊóŸï[KEÛ•FÏÏR*¦;þÉY¶CL©+^`ÃáÒœsulöÊsù¼yn‡êÂÖ/Ѹ™Xô{›!l#åĽ¥§€Û®å£×» c¿M÷”òÊÒÙ¹óÓ‡|€2/f€É ì^€ƒvµÑ–ÎîÉåÃß2ð™Ô"î&±–¨CˆU¶žCÍÃ3Óù•>€áK†ä§òBãnÐ6w^ríýQ©új»†Øì^¶äÓKTÝÇö&hùÆÉD5U‘^`/òäÅÙʵ‚=ÿîñÜíØBÁè!)i ®¯ hÂi—PA•Z°%,? m9Ûûürw÷§76>—oä¦"ΜòÍÍc˜Ÿ&Á‘*¢åaDÏ%~ÝÜnâI»6w³Àÿ¨U?v„ò–9ƒÒ/50² –@jÿ-쬔ô36[õ™gû" ú>¾='åHuÝÏè_MaQÙ$PHÚ¦}W¼¦C4è¥îðΘù+½6Ê#Zð_yEãê 8P¡?~mßÛÐù= •Râa€Ö@Br«Ÿâó¡ðœP¦3¾ëß‘{Dî;Ç;ø–_®eÔ"¡nà@ž,–™Äyƒåeåq˜;]8‰Äb£ÚM¼]`ê^L8ÄnÔ’œ,-|*ƒ×8xr9ˆºV^†ý¸¦¬|¢†{¾ ìŸÑ’0_VmÐòy%ÂŒ&5ÁŒ­Ø«wtráBƒ$|Ô´áýE—‰RyR¶jÔð¹ÙWécšt^£úçæ“@\­Âªw®9Êï@ÕÞ g}ö~S–8[çF?ÿµÇÒÁn¯u\„D¦p€'ëûÂåP–ð¤c,”µË³àÃ,…p–½ÎŸ~àë®D´Ãt¿Ú/xžÍ½Bu–é|U)íìÔ„A-4jVþï2°¾•eƒI’lÝ÷À×A¤ì‚jŸ‰ªdKw~6£Œí%”úÒ^ÛÔXq%#·§¶Î!TR*¯u§†jÊ/t”ÛS)ý Q ØFØ´³bûÁÛY;ÞЯ¹Àétìövƒ°ã?Ü4pêÓŸغ1Æ,#jUi“yoo¬ÎïÅÐØP¤Õçî07îu–77u¾Î'µ[bðݬêÊ• ÁäISÜ€wàúj«½m÷Šc7 $qlFo¦>IöEO€y/a™Aã<¹o¸ t!3lŽZ HQ§Èâ;ÿ·™#§õ§ Â/8óBŽo¿XÄr¯(f³:Ó{…kñV¹ƒðÀs¶Q¦Ãÿ^|+`„é›®!|ϬT+ÁÏŠä¤”Ž„ÿ±å}V‘G!`6¡]M®ðê#$ùíÆê[Nð' ÝñÚëo„Œ¥J> ±¦¾žÏ4<|ÑË®u¸ A‡Å½ÄTµ`¼6~¶át=Ž5?ŒÅ([,?þÈÒXù d<áÍ4'ëú–‰I“þk–T[$¿¹·:ñN×ý­-Ã¥ƒvš‘…>?A¦¨8÷‹8×lHÄ¢iŠWdõúX¶;”;žÏŧ\#EY0mZj ¹Û`DkB'`5Å’˜ŠÔ/ü…°Çª Nyâ309³‚p¡@}à8Ç aWÁ#îËAÍVþxœ…}D ž([ƒqÄý<3Îù‹Xø™ô‰ïº`KJìLçC,–W¸ì,Ýú~x·3r'+Õuù{îe|¢ÕÎZöžÉ%€V0 èðŸŠkcypL¸l*Ùó5®™ÌG0‰•Ï~£a3X¾]à” ×9pX¶EôîubG¼DŠÝq-ŠØÑú'ZuDœ ÛëÅÈ6s˜1ãµ­ÂOeZ“=±ƒiZ9MFD@)wÈð«xõ…!©YjˆUœr½j8ª{‡ô´¿£áÌ¿ õ×Ö,¶ÇÜ@OïºÑ Î?Ø®3 düåÓANà5Ÿ»ÿyh‡ÁÌõò‚ÔƒÔ_™z¡¦çŽ2u׿ÆF*‹è‹™‰66Ó\ZmTiÐÖë4ðVË•oÖ‹H#"†_±þ8ªRúÒ¥°Q„ V[½9YÍ—©ú8Ž”¦lÖb½ÌÀrTŒ6m!¸®F¨Ö Ü7vt¦bàÃ×õÚÒª0ÈtüðÆÙƒ9Ù­î,íÿ EíPÆ£š[åciOhq «(.b>YªìXô4’%Ñûå©g߯ò½¢—pMéÕÖ:cа«Ú˜fP™HQ7Ñõ®—G ;Õ[™þØ„–MvDeŸ:ÆØcœÙ×ÐL\楀±ãvlGšODœ–ÈRQ‰¤í‚:,8ÌIñ^-ÔäîºÊž<Ì°Š² ÓΪÌëæsdh+ïÄ·(À¡-®†Q§k OZxaøß]Œ9ÐuÏh@?¸±QQe9ª?YÂG×î—º]L7JHÏä¶þÿ ¾¬Ík±àÚBÎiÑhû‡‰)tEõ3Hª½€þDOR<À³¢fHt,Ëù†ê”npôÐpÕbÎ ¸´X?zš<|7å7ݪÔ&¿´F×]å3Ÿi†ëôd/Ü7:Ømöì7)“µ6Ú$ªûš™^2€m¹FÆÛoϬØü¯m–„/H7Ñn«/i™6+‰=9\†ïðÄ) .Ùx£ƒøö4\¾qK™„»2¯x]SÎE=Š]P.¼ù×"ö ¦Œ ;#Q‚ÎJ²nW8YxˆJ#Îþàx ~NœÊPVv˜ù&ؾæ3Ú9°2VŠ”ož ì¬izæt)jçcãGÄåe%:E‹D,ú+÷Y¥µ¯Oå«´[<¹FØÐ ¬ž7¦ÀsP£Ft æ6uÔÊ´i+ë¶ oÄuÎK¾U¦64#!!\ŠyF6ב당óà ·¨=])ÍkG׫å鎥`(©#†TÀWønø²‚„@ò·à•««Ñ± û‘-Р°—àóÓ®ÔW3¶ØœÈ„ö”Ð6׋/˜–ãçŒN‡„Òõdõ³9Êè æV²imW …+—–yÇ9²Kº'`8ͺa–gîÓøÞ*¬lüòY‘‹Î݌у#ØX«Ø„Äh™>  Ú®’߯¿­Ÿí<µ¦ŸÂsǨøU“‰Ëõy»‹ÿ,çòvî^µ¢Ṽ¼÷—ðmf—Ý$l73üRÊÁqGàÏF&Ð 6VxXcÛËm?ª¦Zckó«CIÇcHÉ‘þe÷Ä9Ð î¼¢(ýȦÕ°õ¦Þî}ßr|ñä ys²B·Í°x1ÃFŒß›Iw†[ýç?>™+ÁZµØh]Ú-Á g™j[¬Y$' ÕjÂÿ1†¢uÆ¢ D7ñ ÌÉ@I3³f¾Ç©œYæ86™ÑâeâÙDákb Xk 7dîÃHë#‡Xàvà‚Pp×.<25YEÓõÞî½]¤ÛÞ+ÿ¨Ì ){úÓ©Ýb_p †–ÁIªr) œ«¶ãÄ aút¨$ËÕºäääTŒüèŽÚûð°Ðüi£Sÿ7Ž1’R§±+ïúWf(ý¡Ö„HS:=/ °l_ä!vé;úVxk£m=.èZ6ßúNn†;f5óY:’îCxa2c¢^¬ÖT»û{Žï}>Ä7W ±Sþ¨È¢ ¦] ¦ QŽûùBQe0CºŽèxç/|± êòJe }×XFívü†?iýG4…¯ëþ…ú@²aÙ¡Î{±†¾R!Hrr¹¶[‹?!“Kw1·äµ'6±VùBèu­A2<Êlzñ_š‘Ïü-M§ $ÜLSÀ%µæÛì"¤¸®¿«Æ L`”ÁΞor‡5vpAzM--ï]ÑPîh^h§bÒÔ¤6™ñYç \¡­xJæ‘›B‰Ô\"`ÅP0LájÙ¬ØÝN+…‡—¡WWœô`2L–€Yšîä¹3ñ¢5Ìo„+S ²Ï\ ïýÐÛm*ˆFždêq·p'üÆ,ƒ&Ü%>þÔ‚¢Vâ·•©{’¤d·Q;Þ¹ãL¤ëã¨V“*=÷F³Ù×/;غ¸¦·ÍÏû[g5+ N䜀ïP÷€õ~r„IÖ–´ ~#r“MÌn}ãgÞªxžêwÚæ"A ¹Ärv¹ÀÖiG—Ë6·ÎSƒ;Àær·½[wJ[gNkŽaa¸“ Ñò²î¹QX£öùFX8»mD…·|î. *{5L°žp÷¸v™zõ6Ý«§Ùß'ò÷ÚGë3¨$9Cûòàg™$¶­H³„eY •. ð¤Øµ’{e@79‡7Möë~(SjÈö΀Y}ì—T§qnU\ÆôôPΓþŠFÕuýmŸ=QQD¥~ IŽ”xüå‚çå¢NN1t‹sÄZ-Öñ–Ⱦ·”Œï¬žâgõØr;T w©9Z~8ýû£Xn¯¥8¹10¥´:fs«o,©€x³…õ‚Çýo(&A±Vmp*vP§šÎBâí*É|ïJÖZ‰s9­~JR2‰n9w‚¼½L¦@èl‰tg'÷1ËEùF´‹%uÓeÏQ·ØX±…Uï×±k܉'¨W&Ÿ‰aŸ|àòCm%½TbÉ*P16P6%jËüሠŸƒŽ½#Vú/{IJ@!‡¾ ÝY냢 í±®Tm~w†’lðª«X/#[¬S@_1Xê³u¯ª{Ñ[¹ÊÎÄ1#Ëo>L=ü.îG¬VæxöŽÌ\:å…p I[:—zùÏ5lú§ú\HÌlº<©$CV½¬A"?FéW¬Ô¾Àdhæ¤F~É0ÇC£wŒ3.!¿àë÷—ï ¤¢‹1þÆÎ”ö¬Å a£h ð.燂$Á÷.À¹ »¸þe׿Zqƒ*RÀþnqX`~5B bW+ 0ìFAóS 0²ÛKŠRÌN}&_UÄø´¤Ó±½Gþ™°¯L¬R{Â@‡T†SØ~$ÈÖ=û_Ä]Of*Ùù&ƒ(DÎ=æú³þË?Õyñîù: ŸÌôE)0òv·5*hRް9Æ,’7–9;ý8ÊzžYÁ ²ÀÒÒª<‡.§@–¤£L]),’ÎÁ¿b£s=ËÃÖ“|VçÒý@ÉMzF;­°0]} Cÿíêd1ÀgM@m›l3.ÙùQu͸Yø‹{grG2KÛÃfæÉÊ·L¨ëè#¤Ýúìë*N˜…P—ÎVx÷MG¿™Ö,Bä^Îâ´r-r2ì@ÜÞð!C[î*ÃOüÉfïæ¥¬<HŽõè†ÈÝbwÙñyWà *¶„÷³k²ÊtÁµú˜ä3ËÜMB7È@¢t`¼…e‚ÖµÄx§d š]¯Û¾VødCwÂPÝuÞÅöîÅìÍÉ%|“eÿ¿ Û`#ƒ"[Nz‚ î¢^<ò¬‚8ÚOàI 3´Î¾ ­‹”5w…J¯„=èsù„¢R ‚²]¦³Ì•ó‹Ó&Õ¯¿8Añ oTG¸/Òºa½?)–qÒçU`|æÁ c6opSêÔÌT¦ä®³çׄøÀp,>3Þ¼ÊI#ð(5VØ¡ =—Ù§IÕp˜”¬¾ãÓÇ.a)hÎ-VR¨¹ÆÓ;CÉ~#zÝ9.àáÒl·n Ðc¸˜|‰Ô኉‰ÛÀò}ª {öÅÎÒ ÈëtD†™û·µZ»DÊGúɎɎɯ¶©{ãàͲ6Â,-D©)d Î*7š$dm¦B!–,ÌŽÐ6:ÇH¦»ÛØOú<}6¬O˜÷’™gDžÃI@p¦,äq2ŠÔLÓ¿U=¨+Úƒ¤ëaö/½Xð½)¸ò—g’q#ñuÚ¤(kúZ˜+ I>Òn&å3‚ÒÚÀúŠúu\·-¢y6*$ÐU3‰èšY¼µ4tü.vzá§ÿŸdˆ#‘à!þÈ ‘UGI®]oPÃ$`„yº,䆋òça7¡uêÒܬ ™êMœ)mëï>ň³ÿÇ8O³¾/½-Z*dsíâQƒÏJ[Q]s÷§O•ç„Z2D&@ÜE“{œÆ°»kàf‹ŽíÎnVV…oA)õ®f¥Óú¸Z‡Yh‰f NÐß’\û{Ç ªÿÞ·à‚»E¿@­øý*ÎÁ&@gëck¢@þ¶ Ü<%¢â-ÝgÄ X±½t!r&c›âˆ1`¢ÏÛq²SÏ€{&Ö²†€m¾ŸqÜ~boÀ¼ì‰ŽuÌŠ°r/°"1½köÿŸ»G7†¡$h¹§ææ‰77œNiÌ0¬›£9´=¨#I7þºhÂq<¾AU÷¥ùÞ³øã‚ %^ëÛPpõ<ï­«+ÁÒ>o 3vl¹jP99D¦FyÅ®²U–T?q4K©5léä·g»Ñz )ÙMÒãrt8D½$ö©öÝÛóíö ¾%Q»HöYe4ËóiRªK3 Ž›Ã©wų¤cÆFìRÏùeáïOxœµ¶¬aÔ^]G¶§õœ%R$`‹? ¿+¤ô¨~‹^hxr1<Ÿ…lžÊÊwçÍt.iŠgÐ -jí›»2¥V†²IKPrg3IÒŠ1“úW_¥®¬ÚDH\ƒI’|Ðv99F0å Ûå$S†¹8m¥Í>,ÀýWŽyZááé6UA;È ×=‰RV5óÜý0SA“%ÊIâ&Š+|ˆ=Ê+³\gö6öÆÖ‘™ßÚ¹øh·@ÇT©B-Þ —Ñ¿—£æ©P•ø­ahdP0RJ—Ü {&‰è²Á:€kqÉ­$æuôqá[Ûo_Qÿ,ây¡£?O¿Ê€ì—•\ÿŠãHá­oLµÐÃá¹Ì† ‘#ÏÒ°>Cˆ²&9²SŠ;®.Á{1½®: –uD$ÒÇþ)3b¡%”ïïï.GC…ñ°G†ê¾»¢ Ãë×÷äeˆ³³©©c‘uT[>ÀAℱ})J% ÎÁ:9æ^º ×z÷­‚ 1oaVo~Ù*a£{IúD#®²&S·ÌpïÝ7œl OEš’µBJ™Jÿ'‹»³$á@Á  +Ç‹>þŽÿ+$6´´ÆÅÛüí¡ìÿå`øw²òqVn[X8º¶A–׺vÆ¥N†ÂFh$²—.\·6[d§Û(*Ë´ï[”VGéÖˆé}ín^:ƒ lÌcùa1|˜Ã¸(p5}üyõˆø…Ù¢¦ãfpýç]¾Ô»XÌ$mÛ Ð æM›‡Zi"¼ Ë.?Á!¡¹FÛ@1TJªí|3·c/rú­‰?Ưˆô=#Ô“ãc4ª·W+''¦%(ˉ}að,3”NéцÞ7G!9ña^—f¢2r¼‘B—ë]?“aÅæ(Z‚Øò¥„4®Ã™™ÅÆšÆkI»£ÖL]‰lL¯0›¹±.πİv2Ãf·£X{DTÎÖñ‰,!/¨ñcâ‘Ðù^.Ä™Âóµ Ytï@j•˜‚¡ÂƒŠ\ *سJñ‰^ý×oÝé(œ(gY¿*û›ïò%¸‚í[†½²è`4õ¶ ¥ÓH û˜R$;ÚÇóI”@ŸWq;=á繑„/42Ö,,5ô 6RYÌ9‘›B ˜D‡ni®Y*›OLó—“Èß<«˜:4e€>”éiÛ˜4`1/ºÊªÁØ=«*„}€1´ë" dö¦^±cH"[Ò‹üaï_²Á†¸‰°ÇVºŸBêɱ ñ¥RsÑúùËÃñ”Y'Ù>•÷判™î"£ˆàŒ9{ý…éõ¿d{+¬*T½pà.ò7áÍ®›0Ì,¦)< ‰$D®¿më›Ì£(²œP‰¨^踅‰¶>ªC¦m®m A%e a^„»=0¦«×©·©sÕètÃO ±kU«Ï U4?$¢˜£ŠlZŒ~†‚?2ïM¨QÏ7Í¥€ïÉAÁ³qÍØ0¸9µ ‚% ã„!°M¥ a'³U4]º¡öŸ“ eÓ—¡¦%¸L~D’·;C\G)¡Ï½ðÿ»NlƆMR‰ÛnõwÝ·<Òš¨‹Ä·Á¸èèìqêŒ60M—ÉRH—÷»Už•‹Õ€î‚Y$Auƒæ;F…“XZaZE.dîvWGcZЫÔCc °ékð0td^žlj.àS?Í9Ý ³<^1Ҫø›jïOÜÛ¹î—/ãç @Éàæn¯z‚;Ìš5=ct*C4¦|¸“·'Ñ•1.ü»e³WȽ6£Ëîr”¤±¦šd-\öY¦…Phí ¡î˜! a–N†IøÉ.n´eùža©pD¨ú zÊ-I2aC»š¼²ÓP± ¹¥Ôx:Ɯץ‘Âßã‘ÑÞIB„³¨mYÿ¸X„ŠHxýLjØÁµÞ<ýÛ²nw¡:€6›ytÃCÜý>@ÿ(„¥ö˜Pù<\ü_*=&Pcˆü}áí4L“­7‡cÞí=àùÓé@t]àt’Æè㇪Ñ!ãòì°t¹qL¸U|ej¤*=Úµ¶¨.L’:*Ðd\L˜Ö¿&\’Áöp6U¸7ÃÙ€;(G…¡!€œþyô*usvµáfT%ëðÿP ¥[v·ªŸ¨,·¥¼W¶"²‚XØCCFk6„Ñݳ?•„ gÔ#ˆ-XkeTâ&”ø3››v‹Ó}¸¥¿âç¸k*[pEÌ!÷ 2¤W NƼÃú¡:GÕ7|¹5ÚB(s¸¾U$‘wéïÔ§9“u¿ÓÖ-ê¼~Ó´8^zì€K€S ‰Ô‡CíxdôeržÆnÓG^šð=.à4Ä+XåHÍ‘B¹ Zƒ}çC™á؃U§ ä»ß%SK§¬è«Þ'+fo­~Òjž“DÄ´»ƒ'Ý3ƒ8ÌÐð”òžƒpaðó³“ÃqôAÚ{Ã4l¶i@§t|KÞawÛ0ÕXc¾âéEäù×,§{ÑøçV ,Õã×h>t-O$×Öx>çìYgdE$*d×µáñYS¸Q@ùÌS:J0€HCN´½°*L¯l÷—´i\þô¹T Ÿq^´lËÁ¢kŒÞ~~²“±päbÑRt¸1÷d@•Keèߊny¯ÞßiV»h‘é"ƒo¸}x]LIfªs¶QŠx@` ôIâAD¬›ó"ÊÍr›(8ÝÜT¯ÑÌž¨7u vhGyÞ‚B>§ÁtõÑHì²ÜùרwÓ`Höˆk½R×Þ<ºc©Óˆ¿"òDû´ªDpæöüœ¬ô±W§:G–¢˜.iý„@ CÃpdú’‡`¸¯Ú’"Db†P `ò£a/ A\ºQF`J²±´½ÕýF½ô1Îîy:Uª­Âž;µËÃAq#”È—Ìð“)Í m5‘ \œµ‰T­›ö"ÙJaÆû*š¦{kÞe*çüâÇã•›Ìaeräñ(¡k´>áÔkK¥E²LMº c–s™µ•€'ëÝ–&O1red]”¥*EàÊfÉ›š_^)ÇÙiÞƒã% Ò¥Õ›ÙûçÚ?Ðl=-Äsš3A eB ÏÌ—“ºÌ5dWáEÄq ­\* 9õÞ^.ák¹¾ïü0çÈjôñ¾ð‰(`\ˆÀ€,¾ÿà»Ãß¾¿.4ÆÂ¶eeT4y_šaš¿ÇiÒ1‹#êãô”®ûЛ7šC¤‚«´ä~;—cSްÎ)š?±QYb“ u "$]ò1…^½ä£¸›<÷Ë厽ZW5뺀ƒóI™½ôy¬&è&ýT^Õ/ÿß^ŽS1PÍ3”B·p&¥²H(ºñx"Õ°†[m{!γDûÙ¡¸†«ˆw.¦ä‰ðîdk¥:ÜË•<ÕmrÓM†ðÂý5r|ÆõCÁ‘ï–xRËòj:ºÀ¿mg`§Œ}¶N•€Z‹âÖ~id°¯BëÝõi{Ò½Œ÷ºLÈW1•Çoòœæ¤Kð;¹*Ó 7"½·0dh¬dé©öò±çfÏóS˜ ûj†'öIâ—]UÙ<¬qJAË¡LL ±¤C»ì„S™‡ Ö$"·Ò“ìé'yñÿ M ´þSpA]$x3‚=·†;>ÃÐáâ‚!"HœB&x/ÿÚ1Aåiu† n_Ч¶ðXÐ?µn%#¹$xÓèÇ™hbÇédyɃgñðÀè¹»•søn²hyîž=S!V¯VŽhüwÐe‚t­­\ÕãM.’Ó¹±DÍõüVÂØF‰À` 9Ïü Zþ‰ÖÐA" ¨›\ð¯S­fÁÉTÕèKÿõↇ3Åj6Ò×2]3c1©J;@Ó è;ƒÑ1ÕÙiÃÆ˜ îãœBGßMí|²3õkœÐ…›‰¾Ç×!ýëNʉ€RB¡ÃD`W˜,,°-iŸ­³ÞÍá‘'ážGø¾¥bǘ¸SFsdbª€Ç«ÇÝíQh¶Vó`ƒoû ÖÓD­Ý¶FéÍÄÚ!W×¶$DâᘷÕÎÁIì5b—¶>^ÆÉ`—| ÇcL´ÅRk‰8uû»vŽÆ¾•ƒýkü¥ÕÎj)|qáµ9«Þ™xõÄaDŸ¼¾ÊZê¿æåD/…qEž0±ÈâIWägÌÌÌM‹Z´‚ ¡/­†=¤>öl¦  ß7OÇî$Ü Îa¡šïÞB~¦ ’ƒ@Â*AüŽ*:qX[¡'Ö^”=¯Ñ}©B 3Š1N“H¤¿ãúWrÈFö+¢r6ôüØèË`Ï—ûíç O¸‰ÈCˆ7ð/1‘B·#•iœ8qÝÙ7º.:"W˜ÙTý?ý½9ךà ós ›XÏŦc;q[–Ç?ÍÇ?³Þ¢×‰ººB™¾2÷Ø£µºž­±Ü-Á¢lë>NÔ0Ù¯ƒ5a™î¶!ÛNø½çBäàUMs^ž  ÃõÆ}’âÔ4JßIéÃþÏ´VãoV:íé€L•¹„ÖmucNW\%º*#º\F-Êsü¬‘Æé4=³ý@Î}u,c¿D·«-<²b…Ÿœ¶=/$G—E˜%7]à¤þ ŒuN±¼rÄdÞùy-©/]b ¼Âý”âß6"½Ê![ëêh^C½ÆO*ÏšJ¢ž32 Œ›Åˆš&—Î:1ülÚ—o_ÏÝrU­Õ¤»äÜ[xùá~ “ü¯Ÿýhqׯ’¨yP¬>î#}Šñv'!Ƹ#~¸xO¸,ÕƒvFAÊ/ÜÆÅâ‰i®w¢œ ±¦'È«Q:¯ŸDt%¡T×Ê€ô§¤ë#]ð½÷VkBþ^^áÝ¥@é58²7FjH&«>Ü’ùßά½Û¬F’ÒÇç™z!¿"´uPó´ÅÂ_"BBe¡!ÛP M80“G€JÌ$kó,²µç/o#$¥FÝÏò7Ùñ'•žvÏÒØ'*ú›"aA&þ¥p¤á”èìšöÞ$Zó׎¦#@¿c=ðbz®Uä@ü Í— ûÎU,ƒÄˆÚ¬à]¤>ƒR3!4ç.¥èß?Oloö)ƒÎ‚᪽)ÂÈÒ<]0Ž 'îYïŠúw¨ˆ-^&þïh¿æaK®PG‡©ÑZvDÝo“Íò·nÀÁ¾Ž˜ëÿ¼NÚX •Ìë.d'ÿ㨦yK|‡µuöV¢Q“ðwž#„æËËsÄ(.AõõÿÆŽ$÷[SKÛš|RUd[—b›ˆw v°¢ðpUº6%›­j/+ V«¼2Œb;Uæ„ñ'Nó­(|ÊΠ×izN7;?KQ`Ž!Ó‡á²Yÿ=íŸÎÂÝñúŠíÔô#ÍJ\¼ÌQÖzj ÿŠB€[ä·þF#OUÍ‹×ú_ åy›@”Oô/>^9w6€=§ü>Äí©»ªt«_ø§ ϱ|”Ì>¼)›Õ@éYã+»EUk*V¯™ ž(PW—'æˆV:@¿R¡v*ϰC—Bh¤6Þwü(ׄ‘_]•Å Ùylâ³ßýît2­Ýœ$JGœÅâwãmëZ½âË QÕ´:¬¬)%Ç ‘h©Q£†2šêªóÀ6ÙÃÄAµ -Ô­oÙbm¥JkAÝÁƒö¤xòMq.¤‹WÙ’ÌE¼¢ø, DÚÑUN®YÓrÃïÙ:¬™,»•C˜h¹Œþ®¼äxÝàE¶)š7dŒ6ƪ¯Ë’všˆ¾¶`唾bÕ…ø•L °dC«Ie˜é1¡ÃåpøC-¦û¹Ž9»HÕvû)îàÖ,ÍÂøÀ¨°Cžº_FƒzÐ"øš1ìœØMªfޤ kâ8±4ý¹{•äê#$‰nùa8Ÿ* 0_²ÀÎÇ=ߦÉj®ÿ8ê×zX˜l ñNÃn´ÐöÆÓ8|nˆ¦› Œ)C°_ T¹B+¬õÕ ûoüH¤ûñ@dä§ËPÀözï) rqÒ¶ƒ¢PQp‚¨Î²Ù®%õtÎÜÏ“¬6§IøÖŠ®>¤¢Q BäùÉMfÎlnę́²_~ j~žÈ—Lf+>Ð%ÌÏ£lRù¬$ÆØñ{.môêö'Áó lSk`ÿ&T’dô÷_Ï“…´¢Ýù¬žN¡F~à¸ÌÞ<±zKøé8nâ7·~( ¾)x+uÌt¿´Ë¹“x©ÏŸh¿ÂYõ.®¦‹ˆ¼ æ”™ålžü4¡E4¯ZÍ4†:¿F†fíµ,ÞmK¡áòÊøÆ,–F­Ä7¯ý`굸-Åœý  y%™£ïËu·â¯üå2ŸPƒâÞ-YØ2œú9f KxIq@“ÚÀ¨Ldjá r_±yIÞS~8ۀуšÐ@ Èaäâ¨Ûù§µ àwW‹4`†ÿžboônç­b%OÄæ@F['i~2"æ_ŸY–k=¹l…Ê~]ÖÜ3ºéaSwÕD3‰(EYó¿É7²þyŽ §¼¬ÝóâG,'“¥É}§ò©¯µÜå;Ü­”…ú…¯ýv¿¼ø¶C¬|­ÿØŸónÛ¦®èœ_|2À¶wÇ›™LœÌ…ñKï6 ¼¯a¯H€³æÁˆö½h«RVUÏ4µÍ€q ã'ý`šÛV–¤ø¢@‚Ôíòötã |QNvI%E{mb ME_¶¶h§‰ÿuL¨¤)A˜¼SÂõ ¨å|ö³¥ï¢+CžÌZ‹—8šTÐòÌF¥ü«YOÝÐÚ‘fÖ_Ì…¬ÝYX?¼±V«4‡àôwa*dÞ a¿GJ5(þ¹Ìㇹ†ÜÕ0ïl&9¨úq£/£)‰Îí£½4âp¬Â⨹gpkYb&T§•¶õªàM÷ýN ¸Ý (HPûþ%ŠÕ*]8¦óŪ3a’¾Ýz¯Pu86ù œ,ARóÙˆA7­îi Í%Ù7ß{I·gåä•Y@;oçsmJ ±qb]Šf39V™gjU:XÙN;æñÇAbN*Ï—ä˜ZaÅGýÒð@•aÎÚ¼”¬þI6&&½Š©?åG†À²ò¿º‡ÞZ¯¥^ÃÑÖž+.ê¦ß6ŽGiO¦”_–RdûI‰ƒô¯Ÿ—Ƙ#ê52¥ÞTÂfÚ€!Õw„hÕƒ¨àÔ9Qëì+ÃÆ|–Yò)•…M"Œ‡ jú(¹¢7Å,PSÎë¿‹U+/#{MmD J³¹‚«µÏéN7P]uTÃÛ­^Ë=ñ5÷‰ƒ…Uó ¢æm–ý}.ñÞ_A§ïCÕ›QaÎít›ðº*µƒ®¹ÈX34˜À›x ªƒŸvŽ*ëOËAT»M¾K¶çèi ¸••OèD7ÆÉÐí7F›­M…OÚ%>âϺü\fÒpÊtoÏ— O¾ \äËkE½kGqü¥yŒiŠÝuz­)!x"N&¬Ó¯Z6|~Ã.ìœcÎ_Ê ?ŒŠ,¢˜ì $ŒqáqÈúeÁ<š&OT=™áW½xÏdeèsªÛ½¡VN²ØÿâXüš˜lŒ¨ äi¶€Åà—y« Òu¡Äì%€§ úî“©§¸_ô0ï²2€Üüªò´¾¶Ž`¶ÃÙ/ Ž¿36(ôém¯ÕEJÓ¸¤BZhéØ@—ßÚxÜ2Ö Ë½Õh?u¼‹_ “káºbŒU–¿r|ᕤä´×mû¢øIQ¦3žÝ“»õþ• ¨Çú*½¦¼1ÚÍ:òC®ø³®žÏá¢ÛÎK cMžž®úR/ã·‚d¥TÁ1¥í}MÁ\IÖàƒ ?ÊbW2Ð.•HÓö·ªéGƒÙ}øk÷» Á~²¦¦Á˜˜h<û’8¯È’.’Æñ×§¢€nQŸ’tsÚÒ«À$ÀÒI^¨Ãq‡Aõß%Ⴘ®hVšåA!Îc±{Ùõ«2¹Nˆ‚½jGâ±äc·¤‰PF§»ßl-ã’Ç?-o¤t-£‰ µ(j6éa$?ðÍZO¥zØ =é72ã¾(Ñ8ï!¼ÿç*Ð#d{*gܶYjs Cá[‚颢^?Nä³-5>n.Ö‚>¢QOu::yÓU™WJ•EÍ¢Q„Ú“ à;ùš÷\ïùÉJapWú±yÝ AgW—LûexœdîìAwOzmM±Bhv8}HŠVñf’„}º6ßžcYVU“½+’þ%|÷é´·o烢ÕOåwt¼IbÔË`gá@YȶOX¸LI75rÿbôsÞR]3Æâ(«Mûz0éwP‰Wþ˜c¼Äž|Åý‰J4PŠ6+¼˜^ã<¦Kz­<ÿLqÕXÚ~gç1µJ)$ bÁ-[h9´á*À¿o"l†òb";!ýqaªñÝ„åKû“ºÆéwŠ&'¥)d€ “6“•ãÇ?cÙ_ât¼†×Ù: áÙw¯š_E m íNý©@‚!gò_™ôéÃÈ‚wAMG<ãš–u6\ʉ–-ˆÌ¦W(%’THk+=¥¡VÂtßMl[ö°¥*îé’0±›JÃKb¸…9ÇÌ& 鄪ïƒ'@6y ¥ù|ùtúM{i+Õ³# m¡Â ]麸öaþÝ­ÇÍ5Êý‡,i1­µ5_²y¬Tø0} Šïúô/±Ènu„Þ÷ƒìOk: fL1£¹±º ”0"“"2>ÍÑÜSÆAzHz‘øwÃ|lµÈÒ×…ð©g‚™-]ª¼dàxá"òr„³cœ¬‰ºüüs>H¨¢)-%<[ µšÝ¯ 2]K}ÙMšÇ{fÖ†˜!Å.¨ +eOQ5¯¡ÉݯM³É¡ácÝPf3]¦”pæÌÏ’Þ¯A‹Ñî Q )†j…â/ÀhJ"‘R)²¯ý+õ¯z&E–afª Oº…·ƒ~7yÁ;ß‹–­­}ËÙyBŠSsM“Á%y´¦Ó „Ëg¥Ø}#, !Í¥ƒå£x@@ý' 6&§™:=¨ìó)eŒ/æEˆ…;­·ÚÔøÍNIx©år¾TÅÈλšvPc|èV·íTFSds§ ÒA¶ÕÒ:k']|K}•õÑ»L4ûG©µ°;,ã6²)WïZ¶zXªÍaߤ·mîöÙµ§Ñ W¨—ue%ïø6©\VåG:è’uÜuÜŸÈœFa¼†RÈ*(«ùõ“CÿzíÞñÌÆ`†J ù5oO%Xøl«LÕÑ1 "0o†9îÐO‹Âáç>|²§Á§V ãÈ/7Øxò}èIé•¡ [¢®ºvo˜ÞÁk|cÁ¼ª%]|ˆi…¶ƒšx¯GC‰‡îf8ÁÆ ¯( ZžWþqFצ ,ªÆ%¤äþ0hhM Ù‹œË\|$¬¯PÏÀž§.ч{&³¾2æäGU'W¤‚W ^W–U±†q;»ózKj<ëñÙ “Œõ¤ÿ)qN´M&|-±Ö{cðl¿Âï+–a€Ë7êh“ä™?œt‰? 3âyA¡Œëà Yßã>ä½€Š}ÔŠÓ®¬ö„`»êÏRÓÉx}´GÇüƒÝ¥þ}ô#N§˜˜3¥9@–íý¯6;D i‹g -Oÿno82OF_ùÐu[2QôðúG±Ã`Ø­/¿“褹Ÿ]ÍXtù¼2'÷'ä£ -¯žå3MúÀ4æ/-Ýð<ÁÞ£…aÒ…E-÷‡êã8â©%¨R…€©Î\xõço©€"Õ;+ASµ²ÌÇeöjˆˆ8þë\Í9éý|!¡ÌÂ)×™¿íw*3ãc¯§?Ôƒ™ñŠDN> šåg®Æõ-åkú©•⢓‹ü×òŒT³Ðn²8îìlM$Xi—ÒZGŒ"ýúÖçѬì«Ú鉯 l%YFã~Þ?VôEqÊ~B.‹¦3%Ìmñ»rÖÈ8ÏÍ/µÔ€z©­«M)=¦ÊBC¢æ5p*1}z%ìßGŠw=>«¿l‡R]…YÜÒbXÂâïù¹¿ÇÇaÀ„ ×y³½}9ŒµÈ >ÐtŽÌï·FP Pv¼'£‘ð ÑyhƒB2³¤ cQ•MÑ/ý÷Tô7áö‡ŽéZ×jÆ{î<ñSNÄíÞj×{¿ƒ2áUÚxhèåÂém×ßL´n)ëö…æ4üÔþ®±¦E ÷Ó_†MÅŠä$LÉ8ô&…à…è]a8ŠP­´F©sÁò}-™²ñº7C 9a¤¤nª5ÕŽ‘‘!1Òšô+Y¶ÅÇOÂæX8.Ä=¶Sû)v5~O 7>ì±Ã…MPŠ&×9­*¶Îœ†+>Eç»Mê±3¾š÷Z¿ücjÒpðñÊ3Ã'ÑV§d¨øÕ$jÖ‹Öûý:ÊÖâw—U*ÈôXf™IE•†>Ý+ò­»“NÇÃÆ·»xÕM¸Š"Okc2¥r%•ñ£ô¯7›OÝH7åÝšxÖ¼¤hˆTé ˆÐB;V' ¬V¯i+ >ˆ,ƒµØ|*òž¹®4úòæ˜è±0q‹GÝϯ}%ñå’ñ—ôë®|œsð$© Ú,Ð&—<漑?˜¹&%Ê¿B›éX¤"rÈëm·-©_‘þfL Ø£ÖQqþˆ†Û*gØC…Êyœègû›0C°µNí$Õ¿"g™—¢ÆG0(§r†ÑU·Nƒ‰~HÜȦ¨snþ\þ \ßã£[ªÍ¦ŒJâUéæzù—¾ÙJ/×Gþxœº›áY1ß–óÌô¦ï¿aꌷÆ>ý™+þІm(‚bÃÖÁ Šaí^Ïß•|å!YÛË0à Å-K÷/„]Sr´3³%~Ä@-Û®Ù]@óü¦yˆ5ä#Ê›+X¶šÉ3»JGœZ¡ƒÇªЈº€Çæ ®—­}%rdÇùg3¦˜m+¤Ã‚Ü—1æürÖÏ${š™?‡K4¤xùqrå͈g×VÇ 3; "¬QÍ)•~ð“³5 ·?òžÒ35-*öKEè&}‡k™ç]…ôu¥XQôaôÂþC(¿q Tz7êêRkåëx«†1†Þ(.^hëŠÍD -Üõ-øÜ…JÕPnè€ó…``ª¼/F®›4zº°²³C¹èÿ%m¿%‰xÜëzŽ~@›6æ»f=‰§)ûÆæÂsG¢êÝeKU¥¬NYM_|¥Ð‰‰ñ/å2¸ÛDÆc¼ ò0t"®:ÜÄY¿!…óak_¨¬°ØD]Úä^tC«££?è²ß+ðëv«èwç(äŒ,`¸‚®ÁÄ ë5O¸ÿØrQÌsâU?ÝÇÞÚ¥±ˆ ”Õ°•5°Ü³iжìÓ†*:ìåã(G.æÍCt.¹'™½jÀ7¾vúƒÉFp ÎS‡ ¢%Ô"ûÆfW‹Óªô“&á.ß))¥‹I•p8ôÇÑy˜‘-ûèÃúO}M ŽŸYÂmæ"ªö¯/ÎQ!í_¿ âj3¾¾ÕenF—Yx(Ê/:I´õà‰RFØÿQÏJå ^I<œÑµºÂ¤Ó³lzá„hJÏW±~Ù©ŠÝ v~£©^ö]ø¿}m˃^JFú UÜÅ=ý²¥&èÇù ü7q”<˱[WþJJ3×:}oôƒðCÃê€à¤87$Jì§É¥øˆ“Ô~.³{%‰äÔý7;‡ðMÙÜLà.LfÀš_×jµ•Ô—–k´Ýd9lþCxÿrG^/¾çå¼ôD–+»ÐsÂYNoûIønšE¯žáÉ×n°ýÓÔlP^epFel¦†jºX¨^'ŽˆQ«†ý`Ó"HˆË±Ãä6b÷×ÐÇ£AðìÝgÌ^«ï+:Î.õÄr-ÜI•R¥ËÚ”GÃXlv`Æà§A1¾± ¦tI°ðüÕÔAÂ?xðbñMz§ 6‡*jµÖ,Ñ`O#qÑ•Âr°º÷©‘èíh%ãsâœe4u cÑœFlÊÈÊÀuÿ‡¦œemñÿ”¢Ïóg?:øž—ñ?‹‡wq±dԨˣøã€ÙŠÃ§Yõ#£nä=JÎñ¤<è©5ð¬Ô ¿w•â"} iËŽöê¡êÈ"Xû»ì3`|Ï/{»K´Äï}I…ß|êÍþ÷‘ßð'ã­ãš:@Χ©´ž¼ö•ÌÄ_ÉÓ1 ¼Ð^þÕöÏéðÕ2šÉZ4I]¥;=Ûjpj³ãpì\0¯øCàp¤¨é V»ùN”tQP[›¹× -¨ÑP,²1&,m‘àŽgøÃð“¼íqŒgì1+¸®¸>ËŠ¥Ícµ¦¹Áª¤@¸üF¬¬Ùo¦Í™Ï4ÝXħ¡0K‹b ïø–â‹˜þ¿Àž#ôÛBW»Ëz¯al"cc˨n-1ÚC® ʼ¸¬P©í²ä-yÐ*öK“e5Ävà ¥–sä*9Û&·.“Ũ œã8ûùIg™!¯ˆ…ÙDa¸¢‰F¬µÇ0vE…1WI®¶|?zƒÛ°he½BÇÆ`jÂQ|z/êз/xC¢w¸”Àµ|Î(ƒ'0¯= ºÃ3CÝRcúÇSѪÏ@’W¢½~²Jt?Yc¯Kÿ[‹CÍÌíB2hÛ†rh¹$aøÅë1C‹YàZÎød¼ä¡zùû"/Ti% ] X“Æ} }‚w™gÓæ™vÈø3%m5ª§Ñ¾1ÅŠ€q ÊC„¥*«<âŠL~ŠÌ=‘@¢iÑ‹!môöDÓùã èšwÁº.¦ÏàKsÏ8Y˜¾Ôâ8ÚÌã*?Л¨~ÊO"/i´l”'ÍTY†ÒP÷dÁ:>I1õ¢,]¿"_½MP\`^¸›Ø¼Ñ%ÑŒ=1Â}ÝÙ‚…šRèö¾4¶]Slb_”x‡bÄëY£Á,ˆ?>³úËÚNb¡K檸RU¬È†±K ôaiÒуð Y°:|vÇ5YÉ7whm¼…ÍeÖ™Së[$ö>¬Ë0æ{iÓt?G{&-JW_ RAÈ2‡ôÊ,ô(=I8»xç¸VœsЊ# ,5»\H]55CŽ¡cçìJÐÄo“~xTbg¹AM&!Q̬Ñ7 ¬Nšp‚æýãMà øo8Ÿá Î|Í ÒÉ2ÙÝý?[“¯MÀ"é_-J^ÐÁñݪ¹‰¿½3쇘JÜ8¾æ(6Íä¸,%a³Ó™•÷!Hܤì*×s&’\×8Ì‚B”W¯ù-bìm«®æbdNfe_ lP»Äy÷Bâ+¿*aFîé5.1lÆï®êq¿§l– @ Õ.aGLª?¸rö-<|Î*Å—”´±6ZðlR-äXð‰æo"h©h lñ²P|'× 1biÈŸ0Œk¯‘êëìÊ܈,ö6»U™Í¾}¶Ž½ê^'¿0Þ½×*Wñ–Ã&\ ]ƒ:"µŽ!Ê:ˆ,üœlmò—r±z$ÐZbˆ#pðaÓˆTk]£S/ßç¬jB÷ëÅv1ÈgÉ\?Ôs$kšÕtj8N–ç_ïôéxäül\£ áo2«'iñ˜ü{“W_«©„!U á„í si¿3žÁkÊÓðµðËŠ=R“ÕE@KûòšYµ¡ ˆx-+íIø¦©Ýh›eyTð£=ö ~ÅþD:þ¨!B_<íe5•M,Ø?J ¢ ¾êÁÆ0Ûöb”Ï>¶ ì)#E­Nr%–ïÂ5W&Uß›¸úŸÃäë ”ÚÍkìΡ»›‘§(uÞ‘K¯b#/ÍŒ ±¸Ï áô0ð´nD.ʳÞÀÏ­³¦ÂÆÔŸRÑ} ŒR¶^ã\‹ ZÓ‘þµ¦'9¥Š×j¥ÃPÎX¤Il*8FÓvXá"2uÂÏŸ~Á”†-¾¹z<ßû&²óˆ`@Ÿl˜¢© øÓ­v—ÈkEŠõÍ”D´÷‡š^GCt¦ñ=0>ï{õ$AÙ{ó._ÇŽ= ¶›õ'º©uErRE×ïít 4­½>–·è¾ù2¸(QRW¸g•ßšx Èw½ûÓ5€Liš‰­fÊ óT³¹ç†÷t=²@ŒX´“ÊÁm‘š^ûÎ/p¨žB^vAy‡#÷ZâÔ ð.ù4‰(;‹+!T4BäÜ–p 0®ûÜɺ/„¾7 ³up?òðC_õÛ°“à? <¡{ÀËtÑøÞ»·$h6;Ø><.…ËèM]˜„úÌœ`ô¬FH}J j™V¨'üuh '/Ï,i7çA²3 gV•Caö3ܹMDhõÀ¥Á'”ß{!MApZ‰Î;«%\¼ ®Ö6eÎÉ®$*=ÝP¬j;·í *Wã¡®£ùIÎN¦Ñ @ÁÖQm l±Õ‡'£û$ÏmÛq´BÎùpê«Ìhüº“ZšLŒZPV¥ô éëîrr+À)›¯`«‘åœF=V °$fc嗮׬ç´Hý=’Œ\WRhÓÁåî×AÎÔl¡iV§nk@Ê,9CÑÂ>œ:;FztÀ<».|\‡@Î áÚsýn]¢2NF}è´]îìÒV†Û‰Œ¦ ;áâ|ÞSÏÃù&­°ª}¦×«‰˜IZÎC—Öþ6e¦ÜiU"=¹ÓÀ 5Ók“þÞáU>ûaä¼4@4Â~ÜòtY=[܈‹y¥WƧ¬£+u0Eç]‰.áE gƯ§ýö)ÞtÒ›R’´b%àõA®ý ¶ÉhÌC%ä"ªÛRUÀ7µ)…‡J+i°—}Ÿc2B_ò$Y˜9¹­3?1!î¼+ ìËko ÑQÂãMWÞv¾ÀŒ~<%†éÑñ^ÍS‚F?m§½»ÅÕðñ]“rû.5¥ïz¬ÙA'©<ž5óåÔM]p°ì«ûj]aA±Æµ!~Q˜Y©ß"¸}BŒeÐçy‘ 2ø²½·€\ÆÍF(ö0̰ÑêIò†“b¥•=ø +îLXHlcì(Q&ZL)ObÛŸß[#§â4íè™ T1X¬fîû:ƒœ–ÊÍ‹ÂJì/c÷t¨\Z33+ƒpe =äcî(Ï“7UoõÕ ´K[yùžun«÷WF‘JÄK±û9Zý³-OurÚ£ƒ@‚²û褀?Q*ÎU”Ý—=Rõ‰C;r*¬Æ3µž£—&1.dLx åÁU…³jPéûôò Ä@P {vÍÈ•zf¨‘ÛøG)ÑÀÿX¯ª‘—[ôQ4á6Í"ui.Ì–姦 È‚6Ðϱäßtˆ†Ë%c'™ËXôÒ¨ÿûÛ¡&õ7R¦ä7‡nŒîº ×¹óަઃMUÂ4ˆ+UvÖ{ªs;›;` ó”&B]uåYgî1±"dýNüÈ~ìC-z`Ev9æšitDsª½ýhåkfŒ âÉ·ŸVFÖ?q—ÀŠÐ±Þ—N–¸f/Õîùýéû¿cYªÙ胃ü’I Àé<½àð”èÇc"« ܼõÝq0:D`Ð`…‡ÎßÛÀR‡¹R‹‡„¤¾üÂîDþ|²L“¸žÞ©+¾êk7eq…‹»Ö%Ñ‘šƒ±9ïg¾dÙ^ vã³TÀÑÒÀ’y— -º Ã"ðÓeÈ™|æ`HÈ›ª`D åõ‘÷SÙÛØcÞ£êßþºˆ=„øäô÷åѬ tš‹“Óò´&ãÑJ^h‚pYàfÛnoÈLcÏx‹{F¢®ñcâî÷ï£3…í–$h~Ž¢¾x'i‰„dKÞ[Ó ‡ËÃGÀç&¾cM5Mò Ú1ßœQîš}(l.óƒ!ˆžþÀƒÀ‰þèæJ[|¾ Aj—úJ!íáÁ• öBáê“w»§ƒÞ9Za“}é'bÒÈZ²ŸYÝ\6Ý"û†8,B÷ÌVÆN³Ýl©Hê–1mómŠw´s|‡Š2S¢*_"à¦Sª™Ž‡dC7)xrÅÙqco[ºÚÖ&-Ç‹\ "|ÀÛÞAÈù?ÊKV ¸rä®Ä¦‹ê¹§n¨ì/aUçð]†º´£^ÂJ!¨©/wçÏ¥¤—jO>ÿ ÏÜÏåßu5b±B£u±r.ÃzõŸØQ—nµz—ï2Äê.1ŒG ¾\LªXgÇÖõ p¶‰^ºß—zÞË™ W'¹Ê¶Ê–ýeˆ™oã°òÆæ•Ëš‹ùDYØ\ç”Þ¾í‰[É9¼ëY ¥Ö/-ï ø^U™´%ü(Ú.(w?Ô SBË)hr„_Í${ŠÆNÜ6ØŸèÁÏ!sÑ9QExM~âš›êÔçªÏMf͇ê} r—ÑéEAUA¬{¥6càÙ¹Y·@ÑÙïwÅ'MêâQUXÛ#sßó4!ȸt„×°8³”‡qg@½8æ1ÿ!/ ÎLÍköú\)`°¦CŸ¸kzC|vÀa™1¬l})¡ o³¥¤Ã!Êåÿ rÖ¥Q°ô³c“C¨_]PcÐùª_Ÿ<>‚}hc.QSo†±¤Ñ"ô×nÕ=#ÕX·‚J³jïÐÀ‡‚Š©ø¯4Õ%Ò+˜XÆJ„ä º ×þÙ)ìÔ~0 ]»Ñâ¡6DÞ¶Dì Rœ“ǦЈå·â´¥lòË-b”˯jã6ôFg4÷˜ôyаO숾J$_VýÏÏ‘]œYyŸ±%'àB’{•w»n Ɔ8)Á×¥ß_dg;ͻd0wåØ}–ù‹9„BìÍ5>ÉBY\Úw2‰º§Õõ1 ùÿ0Õ$¢\›L‰„ÛîZÞ -ímC€£lëxîö¤[³±è´¦|'?ñ‚¿Må bÙÆ•Àæ>N³Ñ?“ÄGËB¾gëVßs˜-r±¼î6òô•ðÄ2KŠ~ÝnG*·sš/¨h#†©á KEÒî4&÷éÛ‚Èðï§Dø"çcV?*P÷ËÙKßÞð|þM1Ée˜öíN¸Û$\/1²mJ…bQ޾™ù2㇙²‘\´¿E¥¢¨mš˜ª¸$7Í1Zá¤<ú-êÈj÷|î„“ð m1°<´‘µl|G¹'ÂO~¶5Ù!›i#Îzž•±â­Ù€}x‹}X‹eŒÓ…´#hR+1ã gº[âÑâY?@ü9!pÜ~Ááï²ú2­ ›Z0[ù]¼Þ%3ü×uE+Ø;‡ËÜqŸÒ4—‡€Apõ¿Dn·ò·•) ^œöû)hÄG6pƒ“Yc~ºúKªÏ[,·ç]UÖ®ÿ"U¼žÌcñžÝ.Ú|!þ>þo2Ìð òuÞù#ëQ¬pÉGX7‚§í×§‰µùè”téC´Û޼¾6E X`2*¬–fk\.S£,YóðÇt¼‹Ìš`6ÃÇéÆ_anl €ÂmZm¨™Î0ó:è¹u©ÌÝUà‘Æ-JP² «NšbeÄ“þ Ý!áÇ‚ ¾éßœ¢dªuÓ¨[õd:šO‡[Š æA¢LÓq~MSJa¤•‰:­¬˜,œË‰¨¸!<Ò +6H‹gaƒm¤ Ñïç@–3%÷/ØtúP|ÛR4´X?I|­{¦~"4ß‹P¡•Lßõä´=Ò.ÅF3xí^¸õ~Ó€‰ºûÎÓrî±ç~¸_½½Â'ç#®‰®ðdÇHwc'õ.y¨ÑpÍ´acº{¦õ–0¼¯‰Ç0ã=k:#ê~¥»@7ÃÒƒUît0Õù€h~™פ½²#.Ã’°¤[kUXúµØ¾qÅJëøÑÕèM„Aytɺs-îÔÂ&qôyoˆiVÓÝÚ^¯‘·ÿë µJÅíœ÷ ôbh¼«å‡÷Qt |t‰Îa£-a|‘uÖ}ãpvˆ(l³êhälÓÉàl¾»Bi4õµTV,Us nMxS•§°,™µcÛwÄ„ÙN/é£îú·±¤ì%!µ›Iá;–É—÷Õì@iÔÇd2”F@Ï.ëœ%´^¢ËÝY¾¸°ïT¬ün—&ã6“ œ%údPeS®¦Án&9k,z¢½ÑÕ"wªî­žöé.o¢P78{¸‡½*,’½^L–¢ÞáäjDë ê4Y¢Î‡ ]œ€òF²9å-’«Çxÿx€ß$|²ÄÛséÀb^ˆ½ mn|$škœipµ&pˆq$Ö92ûýû•õ|ã‘°£KØ!ü®Xïˆ'ÏC4è!6ÅYo‚NpÈ‘O'Y¬=lØF«¥¹2êÓD¿žãÙ+RØ*ÅðlÝf"¼‹8vÏw¬zø@<_2ˤªö‡9~PÍYÃ<°U>B]yö(ž„«­A1kËT8J²NãžBbEtŒ"qÒ´Ö@uˆÍÑ„Þzè§FŽ;Jý”ä26†±zè .d`I,àg3îŒ+¹ NŸQ5ºp•p:Ñ#²2[f>ãÏ'ÚõHà8ó•¤3csXÚb¬Tlx´IQ’۫ʘp–Ð1mœÊ_W–E†ẫ,—¯„˜wÏ)»îÆ#‚t § „Q^¬NˆìêrÀTιLìq¦ªÙx7É5ì¦éás9O±z °Ç×öš!B2¡Æ†>†¤Ô¤z§R¤Ð¯rÈ*S経ïC» ®;yø¨!l‰ +×@,†¾åŠÉÍ \âwG©&ýëߣJ>Éïa9¢ü“m¢þ Ègû~\n~íom¦a‡U ¤hòb†G€~ ýŽîÔ°Þô!-jÔ¢[½$Ô÷¡_J7ص} ]Áú±‘!¡GÐb‹º_¦ÅsØEýôÑ'ÆŠ*”’<“_lHürÁç¯+Tþ7Œþ ú+–4â,Àz#cfñ ®.©ÆƒÁ°øXn—¡W½Y‹-?[!`T„ŸºÛleîìY}&tã¢ëra–;Á‰KµeM¤ÿ~ÃCtI‰ p1ÀrCk¿=Þœ6qðãäŽÚô›fèAëŠk¦Â=aÍÊ[´P¨?*ïŸÓ–j¬–Õ¡ßécÖ¡óÚë›pÑ •w»ñÆ€Úd9ð“£Ál?mAg—Ÿg±óÏ\’’oÂ[˜6ë$mPn¯<¥¢°gùok31¸Õí!`©ãé1‘Å´ ´>oÐG¿ÙÝ~;~ayÖ —TY5‡Þ3ÛPÍœ¦g<¬jRè¦eqXÆ¢×ðí_a궪™ÿƒÓîÉ».T+- X{@ä G2£{¡dÆMO—¥©J3¨g))gö?´Ht/Íg¢¸˜nUS˜l]†ŠÃà`ÈA1߇ïVèñvÙ†ÇäöB¿/›ïÉcº¸ý¥3ºƒZ«ët‹°Cd}Rû(‡}Éw„¨ìŠ;A›†¸tCŸÏ%†9.[cèÈÞG×—’t ÏçÙSI󘜺z…¼ë«"²ív8UéæÝ—C.¾ÚÚ–ÔÌp¬ÓÊ?Wê´}ÌäÈÌ2œ¡[ݧØÍŠQ¿-庬«‰¸' ”ú¶íêrðˆ_ÒÖ)#:û ¯ÿ¹ãZrÇËÍdªÂ–ÅkreÀäÕ`s¸FËšÌ]BâÏ ?Óm¶˜—È”")šïÒÔ¾ÿÑIÝé Á€É÷ìòCÌÓÊ”®÷€:¬üfP>4bÑf0JpŠ,º(ê¨ÝÝãd)ÏÉNŽóíáÓ  ²eû…ýšÓTf|àxmÌ„‹“[”+±²^äÙ̹Bé:‡sñuXw/°GxìkŸžë#íØ¾F{l½Ž–$n?}EÕål_þºÎ\ (+xÑćû£¦ŸqÈ®ø¨ƒËFñ/-8` ðŸÍÉÎR…2 vL¼Ùò%Õüž©œ¶`î²…= I{ï%‘P­ÝZÂô…¶;ÁÝóúóE„Z£+¬¼BëfŠìM¢˜OäÍt¥éã6—lmuÏf™SÝw Î;.àóWèfã`ÔJpVUÎë)'z%Íô´Ç»y®¨•ƒa#3w½d‡Òòœp¯µ/H¨ SHzÕ‰Lµ3-À6•£78v6Ñž:Mî?£~f×ËΡ³fá>$Á…òÊÈ~àÃoõ$8¬<Ðç¡5såá¥,7ºžÞ!´(Òîm¿D»G„a{€¤ëa5ôdÄê‡%sr[ ï¢Û2ïwq_UþK­ƒ¡.#B4‚*»ŸÕù†a3ia5>ÞÐŒñ—¨5ÖªŸ¾Ôu®…]ÕÉWšÝc:ºE@©tü1ƒÀƒ]$÷uãIg,ÞI¯{†#ÐK€ßv>e¯]' „/eò†óü¢Jˆ£Íqÿµÿ7GÔ]’ΦȄ§îÊ3Ý$,,­ifLØwi4çñ A‘ÂgQý÷{žéëkO­™]q5Y1.b•ÕÁêI.ùè¥JÇ,%Gó ²¤t<-M¸Â OI¤ðt?R~³BÞ»MJ–zæ›ê¼5¯+5(Ç¢Hvm¦ ³ÁMëXDé @èJ…4õŒñ}‹™8üéHé´aCUöRV 3¶Jäb¸çXî‘—²Ÿ!àå>ŽÅÍfeSÑøÙïÛ‚³vÃÿêP«deÞ^°)$ÒσÀ“©çØŒ^Ú7Ô^Ôi+Ç:IŽ;9‘LÞR|!Ì H¢Ûë0 Û¸âí"v±SîÊÿêÂÒ-G û/ï¾`˜xô‰á“g£PÂr?¸qZݾ89Y„¸½bUvfƒ‹‘¦ò¤fòQÁORHÑš¶ñíDºbtÐâ~†îe TPʨ~1УÓß\Àß°_ô9v"âÇùÔ¤xw…£% ‹ý߯Ãjy€ía]âäãœ!Þo¯W-°0m±× q.|{Þ"‡æiQ½]c“†æø‚ÿu¡¬ÙÒ&¦qxúnô8œŸØùÜ; žœ~^ðÑ)v2'z΃&) mCˆ»z³[o»—A†µóï©K+ uèuL’pØÝr¨-]rF-¡A}((•'\¦CG…zÖ®Þ–}ÁD,œº‡¤i#~'$à§æ"Ú2Q|“ughçš™ªÚ2Û3úT.³ Ý€ù‹GɾʉªFøOÚe•,RƒT‚\¬ö€Ò&)Ož¤ `ß&·§¬³9_u¿ô/ðØÂ.@mO;Sþâ ]› Az³t‡Y“.ã©€ pÀO¯jƬ-¤½–Û†Ia"–š¿·³åC[ý$A^±\r»‡a°ÐŸj P¹³·þí|Pƒ¶Ý‚ ÿåo&œI ÒG‚Ùq±+Sº?¬xcXB¶dJw±WsÀ¾Ò üÐ1оÆäÏÓZ…³‹It;ô\.qYHsGß´6á¦îdšy<©Hª¡%U÷?HíÝ“1 ¦FÅ pÃÊöyO‰2øv1ðôô'›x´ ˆt y’pËbB+ˆÜù ¡‰ök„Ò@5T¸áØýÄ¡÷Ô7þ²Ô¦u‹‚]¼­GùúÜVê—‡ÚN`H¢ýÛ¼0M…´@—6'…rk¯M¼µÔK0Íä—Öȵ¼ÿ ¶ÏoóWÿ¢0‹Hå÷õ>÷>Vf]u5‡¡µøY¿Ê'Ð}à”)=Bïš!N†‰näÌÝi{x+LS:¸&Ì)lgm–èÃo •÷$O³[϶7"õ É»^4Â}üMU,£¹ëm=àK‡8ØÜ`Ëøßià«:ʹ9¡¡,½¥HT¤¸žÂÓqLÿEHi`¹z¤ ™ æ/`J¬Bñ!|PWŒ¢Áîãæ¤PÇøÐŠî½ÛËrÁ¯j&Váeä{[+H sc½±4…îs5*ù‰½ÄåŠDÅVrf);·ØòŒ-, $ÜQÛSÔðúŠAÖ¶¦ña‚/„C÷ ‰nLÙÊU'Åk·ºKøøÚÊ:…á²ö;G~ß³zô ¼N».²> eZÖŠT‘2lÚðNÈU½åRèëù,ÇA`õ];èÜí§4á«ßGåúÓ³¥F×Ý:Ùš3Š;ådZ7žª@;m½FÀ›@…ÍXþ­ÏÍf`[§6V[ð.éåfž$¦…6 ^=D–I…º=²fölý+57ôJ>€‚êžðä*º´Ö©:‰¼ãŸº{i•#ÿð8”/ú“Ó².h/ÏÌ«…ý¼›ûG…©_ö—öw‰59ïÐfJ*ºçŠ1u!VUL‚@€I¯Hö¢d˺”©kKò± ¾ªŸÏŸ_›dyXÿÊ»‘¤_©®¨ñHÒ${ã«–ÿÖÌzŠ‘c˜_¿u”‘¦¤©ðêvOOôÊ{zë¤=¤µ ^SzlnÁ Cjmp# µoènÎ˨¢TOÌPó˜Mƒ åX‘k…^–Oëxî3®TÝuJ-Dç’êÍ ŠYš:G‡ÀÓ¯²ì"$8 Éì˜8Áú<¼zÞÖ<´–W·‹üE·6×Tú,Æ#«x@•ºùÙ49eRKìÁàEæ>)žú€Xj"õ+£Âl²Ãd…&ú!ëò”Ew{ÈÓÈñ‚¡\µPÿl¦4AŹÆ#bQ®Ú%P9ÑLnøm!@,W˜›O˨8ËGÚµwç%jó\“+ ï·Õ¨.†W%ZÒâ*Ç‘_üкjµgõîD#Š/ï’l)÷AÖä3ï0›ã?iØŽY;Æ"ûb¨ïN)‹øŸÒ46έÅ—VM¥d•hDOºk ÷9@zeõ+ î {±X¦'¦Ž¥[~ýÞH­ý׬¨ÚAÉ¿ ~~˜üè{Ð[Êl-`rLÓGpFkN—€®Xf9ßÚ̺ž '½U@ݘãŲ4v›áìÆø©º?†[“’¬[˜y„¢N¨ü8Û»Ø(Ä c¡séâô;ð÷b¸±Û5òÜ<عòx£(¶OežmC7Û<)ÝÀéŒnö–ènT¶p$’-ø'Ã5ƒ°Ûqú.‡Lµ·fSw6DåGÊzŸuŒ§kI¡l-6$„9RÝœhG¯ý[iõwnìÙ½ÐàJÿúŠÐÆ/î^€Z:Æ×ÔÖÝüL-'¬&xÔÚM†cLÖöŽ ®Ÿ·ÛÕJ‚B Ñ…!ŒtÿÍÄ\G(\›™ƒç!ÝBEù†~àÊMrÎâÃÉ&Lž$.æmÕgu.묨—¥š=&C9w@rñsxA½Ç8èà‡ì×KΙ1ÎCÏä]^ƒ8¬ÚE«Åm’¹Rêl†ÑÉZ•M¥µä3j„± ¿xø —ÀÏiÕöý\ðýP˜d‘p(•ý¾ØÉž!ÍêFyš>Ö÷æ¥8Û9¿,É¥¢ÖчU^¹+n7qÕÅËÔø™é'Ç|î{àâguÛpÔR±SZo™à¤öNæ¢óµ›ÿ’:Ë8 ¨Rƒ€j#ˆ“ve+´Ÿ+æTMmN)çd¬ûõ å3ð˜£Q¶c[KŤ‘ŸÂØü¾¤XŽx,­ÃcëáøT#Èk…*×yÈÒý x>¯^†GÆ`ƒ!øvìPñBFpA%™¦2zLðuª XfPŽÛ¿²rCŸZ8ƒÕq¼í—-b^cÝÙ§moÕ9d.ÙŠÃMéꡨÑ=gŒ`Q*„ß‹Zê 7@ú&–LŒ´yy=!_$]Î:ôœ2X ˜…%ÆmQ'ѹô‚ýI©·§ÃsàG¢z_1Åe¸z;õT¼pÐÀÁòk¬Ïƒå?¶VÝÉ!§Ïëå2ûl°¸¹.r ÂëQhG–ìЦëÈ‹÷3m•vÝ5­b/©âÏóy-"BuòÜô~=¨Ü<öJÐéÛOúßÜÀ«›:û:w(ôh(“`Q×bÀ:<îÿÖ¾ y10Ì„žÕv Š{»ãr)<ÿªüË£vÁ‰O£†¦°²Ÿˆõ½A”*'{7ÉÑp{lôÝIÌæ!™’•XxRqu ÄÿÍÿ2_²ñû¨PÑJ5¢ö$Ý\s ¤âøê&2Žv7 uGôoûÅwPï8<Ç–9 Z׳•Ð Õ4JŸÿ›ˆ¥ ÖÒÜ„H sŒ«³­Ž­W²œ¯‘ D8¿ìP‚$«],9¾†ÀV²¥ÖOÝ1 Õ®CÐûurþ®0ù5ûùto5ï «…µ¹Å‰‡WŒ›²(h7íùë; Ž%m2E¤ŽÁr4¼[=`åÞ¿Tб±bT¨R¨"ºÓ=§G‚¶UŽ/¿H] ¢ˆP.®€Ü Zˆ×kÇ;ÔL(l~]q¬Ž¥F¼¿Èê£|[Ú÷ŸGH˜‚ò›Ç éŽâ½HÔ]8ʵ›#;𯰠b)ùžyͧN¥þ®†]²4º÷*x»×¥­9Â<ßå£áN¸fV,xêjAƒ‚ä+jýåyð ûg1 ‚ gÄ9¡ë¾]ò®ÔQ56d†Ç“j`uˆ{›“ȵû)ƒjQÄ \»œÅ§0d€¿Xð¼»H|/•‹C€gÓÉÞAm«zúÓÑü šGS.Ÿ¿EX2. uÕG|`Mí•ßc\"{¥„ “GeH±&¶–|¡aŠå^Ÿ€ÖŽëÛŽsöðK€!~£¯üÚUQ˜úBûоÎ# ¹zãcfØ& 7»‰€Æ¢ÏíKå~mòø+;P ZB."jEü’÷äj‡Lw,÷áu5‡y–/ˆXp Ò{zåX~Qe¿æ?ËáN‡k¼D9j™{°ûÇîâBÌ4Î~­ ©ùÄFGÑæ™Ÿf%˜æÎð6 [ûñyX×ù¿R»Ž¬)Н0þmåwÁÑNŽõ¡höWO¼:»0H‚ZÕ%öºß¥¯iÞX­Úüª"7øÅ ±Í²ÁÐtªÖLZ™†4J÷`Y«… u¦ëù<Šv_¡ÝV>͸À¤Äw¿èε5a¿cGký¸î‚P•×– ?ìy»A]U !þûëÄ>ÉiëD¸<£@ì—Vz:‚6òg Iî:® ãK ÁFo­fZsS/—]4ìOªÇK—Š…UuùÐ,Ý°ŠŸ²¨8h/ â-Ë÷Ü·žLP'Ý~¦fÐscw§²³4/I­êj°¼ÛtjÚ­®e_øtï§”kV7už,³sKúoéÒ¦ЬP—Õ7l¨¢S^áâ¿2XÎãÛÿK` SrÖö¦Õvåâd#H…€žïò˜Ò‡ó#‡7ž±Å…9g3¯DÙoÅ•Ï`]UÎÍ:S§úwM§Ð0¢o #|bøÃ‹›.f"&Ù$ Bút»hŽçäKY5_;9‹>óÄv„!µ-F«T®ûèòò]éhÐׇŽÇZÍâEnùîSéq¼íï+6ž‹ž%_4œNàôàìŠß²]º‘(7>l‡Ü)*ŠH­|«f°Ò|€¾„·Þ :¥Õ~ýˆÓïMñ¯¦'b,êý­…÷0ÜuÏõrÌØ’Ùܦ]„¼·c³û.û©¢ /ú1{ÅM{<g~Û.Ø6m¬ßŒ¶†Z#ҳđkÒ[±ß‚l‘jj÷ ¯¤á½kˆgË' ¢gÈqR<’¶4±`ñ|‚†bÂ)xɼ–ç½wv߯ڇ?âzhçá'˜dtì ¸·¿ d5ëgÄÏÍ€['b&¦«M‰‹ˆJþÏç,Iã_¡êb²PmÁöº7Ì_O) hŽïÇÉh?…·û'…d‹Ñ´ÀÂ0î€æå muwÛì™)ú§H5-·öT½"«O·Û"=µ¤³[ÆÎÁ_ßl©-KPž0>™•¤*¨¢IóÄVý¿ÔéϳH^£T¦;O”™*ÑAˆÜVÐÅNÒòHUɇ|mK3ÅA›Z;ö³@vݰzºùÅP¤ËDZA7q˜8Lß“¥\¯Ýš\'a‰Ãã`bšãJ¸8Íýô“=·±LÉæ“aÀo9“ÍpGØŠÆ'&©*¥ÞÅ/™[Æ7Mâtâ¬Bü¾óGD]‚jÿͯ¼\WÏÜ-¯Ib2Xì¬gÏùÁ¤h$Bé¤È|9Yö\¤´\¶½° ÛÛß&iA4|¸@úÜe&ºòŠàn ÀËé(Žc‰øè|qþyÚ—{¡Ó1ÅÙÃoc*&7y)å`²Ì¤BB2¹.ü»^|KÉáðÊ8ÙN}*ñdÅJ>IáÖ:ÛFvAAÝïáêà2ɺe¡ªÌ"ÚÕÖ ¯–š!¥R.ðqë ;—§'×ÿˆˆ–aò…´D+Ǭ¨j@5Rô~õ’è,® o(u=¢rcgšºFKøæ]¼ÜÝIbþ”7ŽL„?¼°Çè…ùµ “û¶ÙÓ™­R{¡ÙH«“üͪáh±;\¬ÕÁ–ž ‹¹àÙ%П<øj^&°ó\TwA­¯•èxoÇ{{óªóël±n¤8s•ÒK,ñ8è­µ.jÕþÇÓË¢AQØñ þQÁOÇÔ~Â| 8h<ê VMC"‰X¢r¯ïSÍIØ£Bïûã­Ú¿vXꉆ”ÊrOJœ•æq²jÑ R ÑdKY]…ˆ+ý¸q£¶ÁCãH}·¯ºüOê#G]ÃMhZ‘ RÇ<ÃÅ£†ðïñØû §C²ê°•¸(˜"¿«©4ùÒݨŒàè“´V–û_b°¬ñ¦Xp„ž·a-¼ûÙÃãÞ¾[í‘K+/l«Á‹ÉØäô¬s£Þ×–Ïö“ÝÅÅ øH¹ [‰V ‚¿Z®ñû„ï…Æÿ%í¾)p…J!a0fQ¾  R#´»)œŽ0+­Ë^–Eî:lHõ­Z¬å3h ó^¹æè뎜nÆ£©ðVï¢ÐæFÿÊ¿¯|Ö³éèŒçar4×âø€ÙK­´­û‘"$Q›-Tç‹È_H¥ŒOI¶c$x·ì&va½z(Ò‹Í/zÌuÙúQZÈsc™‘c;„ÐÈ]ÂÄßGck£¢<ÖJ„Á¿­p*,P{<.î€êjÐ}3ØÖHRqô¬M9խ׸`Ï>½‰4ÚÛ‚-×÷sÎÑŒOf’¡ÈøªÅ©SáûC˜ƒ¾ Ú™ù/V7Vâ8o\ìA%H%ŽŠª[µ‰£¥%‰J®·C­äÁÆKíÁ3àç†_!ŽÁ†XHYð뼤ʫHE! õ²eUòQZs=êmy¿Vü©¸çâ×AKJÉ!ä)ø-¨$#TuÔ Æ&Åfâ×Ö»ºP¥Òn1»¬‰üWöMÈ$*¦m†`p†Æ‰80Z «çô¹»m…ƨ¶N—xˆdÄ·<ž‘ ^}Ú…^³måSÚ0Y)þb’Ž: Ÿ"&¥¥¤já•Ó÷Y7B¨®æúƒRe‘¼o¬ÇŸå nˆ x‚xm„­àôŒP‹‚+]¯·› e*áMÝþÌ~!Ežn¯·éJ£I1zÉË}™ɰuÊL–wl[b'³ŽläÒ2zSì¿ jÑ ž¿ƒ=7¬b8ìÒˆkÚ‹ßl¸5QDQRö ÝŠô (UÚj³OJ`Fô®D=7îÀÿ]¹¸Ã3y~ñÃåžòXè Â!åäsW*ž!Í£`N“Ñ„g8ðãËd0,Ӏ݈¢?ÑšxxÚY–Eâyv„zž±SG“rþJossPÛ È%L"âåíéufàwÆ ž©kSb—øúGÞÇñJ Ó¢¬ LZH=º†ZóÑJXJ¶.A\½½¿þÛ‚»&$M—†±ÇÚˆüPAÙ£/ÉÌʇ‹°i,g^OÁáëÄx¢ïåñ7.eoÝh&®j«ÅjÀ ÜÕQ–(rv,.G²ùI§îXJr¶†5 Ür£à§ôô±vÉkaýmá̕τKc“d—™üš.Þuyšgnåð»j+Åe&´îV_­˜Ê}sÙ“X™4Îÿ—.‡ MñÉ÷…‹­þ)ÏT?Ëúõ!Àóãb]\ñ˜Á=êô”Uç_P¢(YuNp5ç=,|ùUå&šN þ•o5‡ä"2Õ Z ¤N¹høÄ°Ýdº#&‘+Ù˜"r"¦Ë#¤üˆýh˜ú^1ɽLóJ™¾n—8 Ö´Qs®H˜²|„]Ü8«Ð!j÷å§¶‚=¾P}ìD±áèÆÇ.eðÍ­¬AþßFçÎ:ÜO´Üœ£LY«—n¨ ¨µý*BùÚÞ³º¶&)Ž6b_–ÑÓI^HÁ|>òVX1{L©„”í%°³@L]’’+À°JZló EåÖíþ>ñÈ8n~‰Üí9PiÅ´øËÆí rI®ÙDÖž1$½`Xær3é¯FŠü¥õÀÃààƒÄÔ£šÊƒ% ðÅÇ_HæE’6ïì>½ÈȪé;^.©Dq=ŢƛSWèmç*¹wde—úÚÁ Ä‹ÙWÚé €³®Ï$»&#Y §¾äf$™tˆ=ebºïaª‡IïQ#$M0ѺfÕO² .‰Ì¨D ,ý‡·aY"@Ò©x3aÉj@P¤ü®Zë˜ëÏzávRZTª”Ñ€¨xTÇÕ½®›ýXÑþ¨¬wNÒäé§:ŽïWˆY@¥ÇŒV"ÃÈfùi××v–Dˆ=õ$§3Ö®]ö€bž­®; ˆ1Vϴv´!&Q%6À>¸|L‹NÚ´‚¨Sƒ*L¦Û&kzK6Vê«Ú²8Í¿~›ÒÜJËêbN½k¬à$ârÏ„W` –¿*B):Ý¿Ø5±ìmÂóY˜ûÂ_¦Èp=Œ<~>Ö(¯-3þÁ|ì 9Óœ_ ´#¡qLjO .L¢îàu¬ûs@¦J+!ñÅG£Ã‰«hU¡ãB.JøyÅsº<͵õ™-¸Í»…@ÑŠ Ò/ýǵ±zNéw°Ûõ±ƒÊŸ£í"vp+û²šP’\M‹ëO,YÆöYÚÏmßñ{‰ ºäW…òk.;~(¦ÍšJ<øLµ~~¨ž•&Iä<Õ+ùŒ"DKwÎa‰U0ñ¹*h¾üôä¬!v§fËQÖ¬ö¾Ô¡GŽ,¯=×èäO £³oR¡oØ‘kW\S,6¨ Ó…_òöô„Ìt©õkë6·‹ ðþSRÕ§nÒø¥ê©$)Š]¯–l{[ºĘ̈þP~­3tûtÛËÎN}WÝ6Ùp@Fý}üšGô•yÅÊ„H;×E,|·§­†òÞü0ør :~*Réo#>Z}†J :ª+H躘ù¦5Æ55ßÔ«ðè¯1M.ôIåØÕSÙúÂÝ îóÏzäL…W³ì?´To …¡LªÈäÒ‡‡¬6[‰¹½«÷ËÆsñ“8 —Ü/FB,½Å9[\â¼¹õÍÓ1ëjx–dð¬˜/å¿*Jæ™D ëIWÚÑg0Äo±2ÿîÞÝ »ì „\î÷‹§Bwjo»2*~Ù E(©ºé5wÅ_C&gä\µC=+øã¹2炬²*ä^4ã5Ÿ1ÕXÚud4,I‡%PÜäU”è¨ÑÖÒ›ú°R®¡`f® ýPPZ¾JÑA™\O i½Ú†ÑÔ²žeíÁ1Œ|8 ½Êß £uå5WLë|iÍ¢ëåÏpþzeg¦if'ÀÖƒ…Í—5®¿§]¤àÊ•¶›,ËÛ–¦àkŠ+R¢•étJ `N•§ŒX‡)%ûóÎ3”[¼ G‘Ó0‘°¸çÿ["4©K¢½ò˜i-W!†Úµ`Üm°}+-RH¼Ôdbé›]ù9Òì•%hMnO8c†@Ù¡ôÀÜà¦ÁÏXÏâE…­GÔVOÌNòv¸.¬:³M;±ŸšÐœÐ%ª J¸ÐJÉÞŸs ¿36¥¾CÚ· ¨ë?rMÎÏê´InÞâˆ{"•T;ŒAË™’S¤õˆÜÇp²yŽR’HºçT¼Z¢¹ " ß¶],Ut5=z,Xjç—|~ú2].W»F6Î}²=ìI¹‘ÔÉ݃œ­Lê#lÞTùìó‘T¶†W4°Ðó¨b e§ûý þñ©;{»OÝa zæžà&j²Í ‹ÆÉz ÓÞê…Içvé—äG‚'¨ÀÚ&m>–ifÈáóf›‘²~Ob‰Â^„`Õ8âŠl4˜í0â EÐ~ÌB¥–°0²'tÓ›^ÒGjKµ$ÞjÇíX†2è3~:“ÏM—Ãô½je€…¶ÏÅ?/BôJuÓkÔ?¿6 ñ”ÞY=5¯Eæäe`z¤e!ÙËGŒ%âéÖyð Eù¹5ìÀÎ95:8± Ý¥+æ¨Kqº Žc߸ë$&çy±È<¿d˜k&që%Ô“UùZ-·Ä‚‚AuŽš`+­¡˜åÝgG“ëâýÙÐåŸC-–È_H®EÅ›#ÝЖ!\¹%yåƒçÛï°€®™%U©–•Ã…¢68nÚû:QˆRÖÁע΋‘•^6J­Œ@ d ¨(¯äBÒ$&ª!vÎy£³Š*”ôŸùòf`ð­11=iv§;ÓToFœCáO_…Lc=ذâÕŸ¯¹‰±ôn™»역'²ŒË#V6Pñ…ÛÄÌÂ!´ãýD½gÛ'Ư½ »xóhŒæ E€=úÁL£ž)<9ßf»N)ô8¡ÓÿƒÖ®ÕÛÕ¹•µËS͸ŒK§ÊA’ûdq xËÊ'éñÛE1æ 3ÆôóÊ} ÉÔ Ý˜M‡5[KÒ·¹›â9ÆÇ:³é—í̳‹ÁJÛ(ò`NNT¸“;Âë›aÆmŒoùKnÁö/.þÂ¥ŸªÞ¶PçÁ<Á4êZÂu=÷´C¬ªG’à“)³u;Û€kWÇNè–éF´¾½ŠQ~z èâ yÇ‚_ {Ÿo?P<ƒ£?]< T¦Ï4Éf¬ÝQ·žè¶´èñÒá~âÑ_½< CÆk¨H3†dY0¼ýž±ZºRM—üþ¤é·6ècÎ$™ÜèÅ]o=+Z”·²Àù‘—»ø¶þ"·ïˆŽ]UŠª*&U[©˜ÊëCÁô‰ß¾õlvÄbY_‘v:´8Õ|¨‡Kï!Îoè-UJEC°‰§¸ »TQ rôá®ÄåB¿5WÐØ'^Ïöe‹ ÆŠ[6yjTöô¨‡ìw?W?…1¬÷ƹºpbJ¼£ûhL,/ØBw=§uUL°ÑÇGûc‡ìFP2_§àÛã ÉN2Oµ2-òÇ"4Z¨Ú.|9N`aŸk}T:‡L¼ìý°“iKë¤íé:ѵ‘â‹AˆÊÏí[„‚Št‘壵q‘É|ì¦6ñAÍ-ŒaS2È›êBs kð™èb†Qf·Ó¯Ãßñ$êÞúÌ=ÀœÓXXS`aãòªžigSB€!^Ñep¬øýßÚü:nþü¯øøQA¡™ÛUä7Þp @ùÒ"`QšKõ£öD‚/(¬ÇÁå1üß¶Wó6ŸCØv 1³rŸÞWÔ°ŸZÌäùM=Lie4t㋬ÞCŠöõ¶`¿ÔÿL&ôÍÈ:ÏÎãä(g¢µÿwº00".¤ö@Ðä ÐBâçÄœ·#êÖÿ¥fß\ìégKýø/i·Õ/9éfý*ð™ Îe%ä?ŸR½ƒjƒöîø®ÔdäË.a %OvÉÀÙR°Á¡ÆÉgÖ šuÏ´t¦®j+cjÍ<d¸dÞRÇ”÷Bš}C"¸ÊR{¨°'w Z\#1¶b²<ù™^€|c¿ÕI¡o¾x峊Fl^tàutQÙíþ|xB[?·Ö½ˆæ»þa([ލ$ x»çØ.>}JCŸÛà°E6’£Àb¼†¼ñ®2±(B¡µ)š4.Ï9šIUäøY9DKw*<”M Õ]oD‹ ÀY“ª+_\T eû _Î'ÂØŠJ¨žcJC=Û>WÅ“ ¤ z-d¾‰Ên)L™¹ÚHÑ+Fhúûqé§aÝåÅ”ñ­øËMu\O”³:驿¸«°ïW; fÏUȪٽ×i`îc$eeô`£9Ù ÞkNªîLÛœòãÌŸt' ÅL,– 8ÁPûz:GÉÊ Í0r)øâ·®ò©|n¶Ÿ ”æ9¡ƒõðw›w#ÈZ‰ùÆ]o˜H±ÝIdÿ¨="ûžn~—¹¬O¯Öнî‰|°¿üì÷—Yl6YKœü¡b¥-ÿ£J­Ãæ'j­R~)™³™Ä÷–s¿Aþ­;1ÚÕ%ôΜ-1N–¾™ÍMÔ‹_pƳz/(–ÆK ŒªÔüé$ ‹'£3/~i¢Y}ÈÒ ßÐtXÒmñà»WþsE{h†6Pð´œþ§,B>UI£.`®³´îÐÄœ*ßû•òÃø•x#ã6ó‚R#´§FYüäÇuâQÅ/¿+êUB®Ú)w..mÝCŸ ´FEf2näHu5“x¼4œUy•<”^(åÊAô}Yš¡óû%©éØ¥Ûâh¹ÀJDS,‘P= %HçÜsž¸ˆ¨,AÓÆ ‰À=Áwâå‡Õ…sXÜÈI™åMÖùû"žXÏä6ˆïÂ;~Aee)lØâŸså’kص.‡œOˆ‰à`t—õl¶%Ý^d`oþ›æ~cvò×2u®sýš*K*g…ÇcYÍ>ød½;éÛ"8ÞU’÷$ì%ë ÑfŽНÕÏ -S͆h«0>,þ±DW–›\O±áM›¢·“žÉ½Ó]›W½ó¤dÜsQýV#ŒŒHEÜlU)ÀMñ»åₘµ„ERªéÊŽ1jEåÐ_å|ªÿßnÓ/K]¿ûÞ‡M$ á7€ðÌ7y_±ï¶¨ADÚð3gß8·¾{îdV°àöËѸ+j@ÚÒ½7²o6ÌOòWÍÓtjÙ,öÀ„©Fä–~-bÑäü1 ä» }§¯È™Ü,šƒK¢vÂÃãa'¿Ÿ@QâŠÿÆÍ`–œE ‘Œê{ ‡/¹¥*·KyïYÜGxg“B~ÎÉ뢂[(GÆÈãô²ÂÔ‘ “ûk]ë@êÝÍRÀdA±:èï°®¾y1ÆÌ¡žÛÙϹÆcÌ3z€E!A—ЧÁ ÁÑ—¡(ÞÔ@&j‡Ä¯¡õ}€7,7° 2Â%†knÑãheecÕl}­” Ú_%ôºø|ÃÀdk0°PNu)« X"¬Ôó3pù/I´OG15´eNEavÓËÉ_¡A¹-V,²jD€¤‰¯øZ„¸ú TäÑ ‡m±¿¸ôKŸ (GZÛ€V&P«bÕá醱éÇQ,¦9ë±>& KÌDE’¯¥¤>Öí&¦_;r¯¨ÿûÀœ¹6˜³ bmRV`¶sѳtd¸<6-åJ+úÙè¨ìÓ½Ñç®ÓŠ”cËD”×$ðàôWõ©[yí9Ãó»cë‹ÃD´˜IwÁ?jÅö§Š+ᆾ.^B­•¬?A_y“†'ÆM†K¬?}IÊ@BÅÝwÁãþåTÝžÓpâ”ú§ Å)FBx‘­n»lmıŒÙš ,AMÅ=¥Ò xSÒqˆ¬ÇãœÎFæei÷ý“Üþ“qcõ»MË,¸lFD™ÆÊ•”ì*5Ù¥ªÞ ûLˆ’¦2T¹êuR::¼ÖcžÐ±Ú(ò™wÓÎ<,È!?k†¸­C·Ö›s:˜xk$âhÛ`Âsã‚¢J\ïsçÐ]“PÅøX9$_.82Ô@¿ Cqü¹YUq<'Í2 Uñ·`ðËxþÈìù`É ÷Û<{šìbDùŸÒ#‚¶U2ɉvÿˆ÷§«F®I"cN‡Îáiâ¼.ÞÄö8…õ¶ZH2oÔ­!Ë ».úÁ°×ws2½±5[BöbÁiùùŸóÞ5ÿÓ¦ÔƒÅ'åðgV;7[4µ==By*R[Ho¯‚œÑüÝjêýÇÅÕ”òWFH4¨•oç+·G<„D*7ÓœïtÈÞI@6ú¹ ÿ㌋æ‹OŒ„†0!qQúöãBì÷Le¾ÆH–¸@²ïþ+êßÉÅáèb‚Þ-6ã0°>:®ýÖTÀµGˆò­³šòÔoºÀ"g[É(j¨z9Ò“QÒbñƒÆRgõÑa‹SN¬k'¶~&nAÿ®Ö$Cè®ó'Ù¡â™›fƒtÍ ºã‡ð5&À¢#—0² ‰Ë0 ZcƒØi¬Ç±‘ƒŠC×11"5]ÌO!²@š½WØÜîÈávÛDbv©wª¶?Ÿž;½u‰i“lÓªi¬eZå@ÓižKlŸvÉ5›¤]š8Ö¿´/'g¯ @aå3„ô}ÊÎòjìåøWŠ¡½¸·Ñó‡é¢õÀˆtz'JP©#P\/݃g¸òìr`Ú‘–Ø×?}›àëqÈIû$ÕP}˜"&÷eõÍBEë‚TA×NÊI-Vëü`ÍšJ@%qüDº*èÄÛ°Ê í4Þ¯m‹t®òþøâ›¦¡{†àšfìc¨’@—‚Ý ß £`EÍäÑÄÃÓîºô_7BÌ=PzШI£1äëÜ–«åT“yË÷ ¯ŽØ‹ÓåÏÊef#JÅHèMð|QyüDÜtét²¦Dmx꩜Òñã `ã—©T,Ñoä{]»Jjåàê/UÓ¯d;gØ€lÓhôPô´ýx;K‹؆*|½œÜMÑäpoÂêâÇ!KƒEl¼R–& €Œþ•ùçžT3YáûÓGš]²Ǭkg>’y«*6Do¦Y~ŸãY¨Z¯uçiéës]¹šÒ4‰" Ô‹g§éù’ •ëm|?êä+èARw4¸Ìx°hw¥¡Àt›©\äô¬{©4{×›–u¹ù*ýHl³¨ƒÛ„«³y3ÊãáA´V¯ÜØž Ïäÿ”MÖ\Ç™ì  ‡]|fœš3?”©«ŸÞ05; ÷æ l1”d%áÿ* @Ó$ã,þ,;΢N•y÷x-¼V—>áXf_U‰.’¡ºsÚiøz?4ãçøôÊâ šUd{~ã–ƒd™P÷h;×ÝVݵ,ÄV{\L½Œ–šíú+’%“$—Þò5_þkr#²´½Ê‚¾xsGoø³€4Ñ^X#¢æe@9 ?XýL® ó¬^ú ¥ihM0¶Ä¯ËLëTYm‡ŠZ¿—#é;S+Àºóš¬ÿôCšþýRâHüÛ9ìMßIÝyÚv ášP Ý’|®g}%f¼EuW’ØÏÈ|iŽÊœâ¿+¶UJÃÕlĈ­îñ|Yº…%{9½Œ{TÎ&f¸ŽÎÿÑy¤a•=’äG3>/»§Š»RV¤L T›Aì\«Iƒ·ë–VÄÒ"cQ ¸0ÖOôÿÂXCùö+½ŠàÉ@Éàl<^"Ñ­°úA?„³¨\YrUn$ 0õrÿ5ªc7´ NþÝà•ÑÅAJ·ùuÅÊÏÍ$ ðv“Ëdà ÿ£)•å”*ƒ,b… û*‰c§ívAqË*ˆÖF¯ÑG ð‹l*€Ü‰ãdsÈ…º±^+!ˆÅdƒùÜp [‘'Ô[˜ÛýTvÍWó¾'ÇãïAr]NØòj=¸ÂšŸÞ ù3ùì±´—© q!Õ’`Å’Æ:× «ÁÚå>)‘,Q–Œø…¶fvj'H̓i…#E 7ÞÑwg o A,ñ*ò_îáú´nèé ³Ú´y‘²‘Ž¢ÃØ‚±©~µ³œ©>äX‡' ÆÇ5Õ̓=Y0ªÇµwÝ…9CëÎz¬¦_++*ˆÆ«¢¬{úFÏžRCY?ƒuÙ÷½&Ø(À¤m›Ráh“†Üb§yñë†/l¨Eô+€fgǨ”ŸÒ¨âÑ©ö¶tiÀÌîžÐa_,ÇŒÉÈöËÛ?1"úãòÑ”À“*­.éÖfÛÙ¨³Ð> 4<R·¹†çkÁw«˜¸ý"‹Õ%S4¨{gìsä¾×7õC˜»†ŒÅRùz“&û}è³Ì­,‚%]Õd²&Š<”f>‘áQ¨=y[¸ëX‘ÛGócô¬Xjf*¯O-~¯I.°k3™+'iÉ|£ª©ù¯¡xµÞ#ücíSuåJõpVG…Æ 5ã”8KÒ"åç/Âf!À‹nÉÒ· g?¡U@¯óí= JfÀÀ¦7ì°x&$@QBø„K ¤”ó¸gmجU^º|´sXuåv¤ðŠèÐuñ,íP_„A­¸w ©Ñï*n°G³ÐÃ7"HVãL<\¬&Ö=×¶þNÊyïÐ乌TXhŠ–ìë¥Í(h’”£Î^‰¢æà•´òÒ`Xæ0”ëÅËt"ñJ4¡ç¥Õ àtu ‰eÿ= aß¶NÂ)o0ØTÉ^iÒwön³eúrЋq„æ’¶ßzHÿæ"º$å ›Šä°o;܉y˹iµAdÎÄ;[¡êEázNùL?øt€¾b¶[˜U`—°ïþr¡98Gu7â¹K¶0,-?^ɦN…dÕ÷q¢<»©¦Úr\lh‡ÉØ‘ *|‡U{ÃxÃÞŪ:#%ˆ8‚éèXD÷#.Èšˆ€qô|ú±ôM—yÆL¶—‹%£Cd°Âhç8&c÷±úÕŽÐ*M´¨ ²’óîJ¼v‡&­Á íøÛ×Òz(£Þ¤÷N0ñöÍÓÇ%ö{g/Ö%­ï1äïz÷ÔãªsL×°—Êk¸X*®˜Ñ*}p‹Ò%îZÜv(f/•%r¨R-&{©q ›Fö¾R™¾âÁ+²éÚTfÃÁ1AÝx Õ¬ôzL-…—AJÆj«j ™ˆ\(b±Ç{vÌL¹3‚Ÿ]jq€gÙg€0þÙB*qc&(  ÷Ì«]œÇÝýûŸ#½­yo‰†ùñyÜÀ¯Œ¬ãÐcß¿-"g)Xâ!Ò¾¾Ó"Ñ#Ó²`Ñ{.–T˜7L^§ÚA‚ɨ)ȧÚ3öÆ!r`7<í‘e-ýåØÓwã'È_ YÙEºG¡A@ÝÂ6µí1×ý«Y©w° xŠ Ú·„gZçñãäQÈþ¨ÕûëðB—wD¿# ×d{DâYÊÂãµi bG ì÷ƒ™L°‰çD¹o€ÚêµÈÇ×z^Ëðf¼¨7y~Ý7.”©9…3Ý}¡38 Ã5€h×ÒÄ¡”³Ú5nUâó®=>%yA¸•}¤ ³¥9ý®¦éô¿[Q}(³‡ÃEœëARxè'?“y†Ùx+ÉE“rLµŒàCöbl ßiÏòKŸ OuÜR}\–é( ˜18UHx‡oï W…¦óýe„½–¾ ´·áñtrÞEŠg,!¨GI¦ZÉëò0þLm¹øH_k·Ÿ±e)(Ó¤eÔ©¢ ”tha÷¢”³Ã(ˆ7åÍÖÐ~”ÿB34)Á?%{XŸ(ßgæ6_*ÈÐŽïÕá)‰‰Ë¶ °üw9ÇŽ¥byE/³{r¿EhÙ¦lÑxäž±ã‹Yx^!‹¹òDÑ¥K{ò+:*׊Vr›è„SjÌ!„ ‚ˆazò‰„×¶ô5ªxF»ýí•Ûô¤É`ø¸–?íÙVLÆš¡ÛŽf{QBzè. ha‡:!Ï`Áa5•¦‚ÏF“ñÎÍ¿wàxEÔ¡vSPPŒ¦LœÃånGÒÄ#[QeÖdšéá;ÁÝß¾´æëKž1eØrì Ùή%_~÷tŽÑ繤ä¼ë ò¸ º—*½=ð÷³â@!ù–Ûº`uõ²y“äFÓãvŽA[Ô–»Õ¥­Ùy€zC`ÎüΉ€•DUÆ‹•µq'#Ú²«R±ÂÓHiÅ©ëè«åáúš5<Ü[üùÓ^0zÿ`œZÚBT±£_¼d‰ «Ÿµ2:ì,ùƒùr´%f?2åÚfWÇýcÀ¥£‚Ð8Œ7ÝÉ P†Éyn]/ *ð,w´q¼ßõ‘0!Zp€† K¤ ½Q·éçaµNk!dzf9Šk°c6Òó”Î"Ùÿ›•B–ÓùþÄém¬p^µpé™bñ»ûqJÔnj ¿@²Ñ— ':¤?œµ/jØ-lŠ(,jŠ7ôHEì#¢Ý SR8|tU ÂñB—øp[Uu^m}èBÖ·W¶N̯ʡE4vþòÍa›8°öæ½C!zOüà*œÄWÅU°S5Gè2ÃLâS× ÷ËÉÍõY5Øár‚^4ÃO²Eì°äJàÍ;n Õ¨­?d°nᄎF<éJâ§S“’@›<ÃéäîÊRa;I?¡ åÅWvDãAI"ßûôpK?ɬu%Ô¼2”Ë„M¡¹"é^/eªõÕ…³Ü˪Ü›-üšÞ&e>ÂCs·tõ)|Ù•_¾’5£^dFÑïÝMùGu 0°)}÷²2ð lBàò8bút!‰’Ã͹3ïŸxŸ¶fs%lÓwn‡YåCà2ÓxY~X ¾¡ ò ¡¿ÿ TWpe²´ß>!òùž¨ƒ6£éЂÇtñˆ¦Â ¸ÙpBsE$«é­¶}õnÉê—˜’Å+ŸÄšüݧXÌÍuJZ‰íXÇ/'æ‹?!œS¸½¼·Š7‰•^P÷4m:NåæÀtT종9K¡Šµ@¡è!§döÈS"‹üøíS™ïˆPÄM—yѺpT-'ÖÝô `8­Eû%›à×”šÉÛ[ÅY´Dww[óög…ÂfÄ‘S³ë™ršB¨\Ë°× °üö p]N~SûC6Œ“}Ió­Ýd¤\T³´R[ç³úÝdvñ0ã}fEÙGq6Ç[ž®Ì „‹‚à‰²¿CÃó~ FÉ!À«6(Ÿµ¯·*91éF± 0È éÇNoAƒ´–‰'.äâ¹M\xçP&ÑEaXuwŠÝ;‰€œØï¢³p8PVDê­ï_ƒQ +©Q €né+ýÏùK:FèB–qi3\XmL¹¡Û¾Ý1Iæ¸%.?¾³KßZ –c”êŽS„H¿8º¿‘«ßîC-D òßmãÜk#6‚ÐUÀbŒV²ô2 $Ó åˆþgÓ·žÑHª™tG»ŠŽôÜ'ã­·Á ˆ~]Ì0? ü<ê=;µb§JÁ‚ RÊ‹’àۧÄ!¯ÖgÜZEË3 Ÿ`8 •[ Koc´‰ÆÿôC+/×¢4UmÑKFƒ¬N掬”:(0ÔÙÊj©5¹ Mc•νÃfX¿ÏχÌ,¡-‚×ÙEð†¤m·WЋµ¿$€xˆ3/œ¥A»¸|U­ˆÓ5Üøz¨“بÌ7ß›ÕÍmh^ç!eü£¨¼`JÊ?î5ÖaJÑϻƥjöZè¨>c§¼"¤¢7i|Œ³» ®éîJQß.hVØzû&&$›#•z4x6æõ_ÈìÒ®éëè[u`HèæF2=âçîÖ«¶}ÈQ°´@N½óÅá<"üÒË¡ËçÐqµ4DËr5Îä7Rû°Ã1s×N­‚½e5 (l‡pÇj»S7 jI oàȾMç}SïQÆ"ša¨ç÷dÂЀ>࿱‰‚§â°ºèsý<þA­Þ{[òªˆ[âëmÿ[qÕd¾¢¦óA¶à¤ÞEñœaç:Ììâ™('”¾äŒG¯‚DÙ–ª»Ð91{åE–íŠ×¦öô}‡»Ð¨ ð÷‹””(4«f>ØÑä¿úbWú´‘."H‹@ýól8C–kìºÂ½atXanq:Ù±uúćÛ]»3„O„ãׇ^©‡Rø³|ùwªÚ§lÌ#Oc0÷êvG«œÓ^LضÜÙ¨žiÅ»%èÚO­xW9ŒÕ™«9}¬+|ÅŽ Ü€É80Ïœ"bn·lCã -w=luYìƒArИÑÀ‰ ±vOšíàÄ!pF¿w® ñWAè]v“¯{Ù4M¦Nˆ·¦í7Á÷rÎ8ìJ:ò@‹µbFZðKRßýäm?yµ9³!íò§— ×H@1L¸ù£zhËâ§õ¸§Êh+L¼üݽ&i4!Z•QÑ(3Û¢5#ú½ÓDÑ ªÞÂÊí/Šª§×cOqÃáÁkí"ÀÞH.ûŠ•9Ñ'iɉíìÇIªmÑi¿À·¸j"YÍTáØ/“ 86õ¼Ù_K„øDÀv_-*y¥’힣BoO¦Üì33)¸ÔDÞ¼ ë)}謌êQBdçXsH¨Uoæ2²]-g7Êàêh.§‰ÓûÊðôˆ&[1hJÕÚÌz߇·1†éŠ:Ʀ¹Äe0ÖO›†œD…÷TºØ"Ò»>Lɸ“½ùHjZ€Y~û}A²ÇÊíF¥Ð#»Öäô¶-Ž8Â& ㆌ1þãÿia2Ðå+è‰Ó}‹(§\Ì×s°‘3vºJ¥y»"PøZЩ;ˆÌó]õ 4¶j?­C¸ö #ô¢UÅœšÏ]/P#ZöÊ>9»vïkœuŒèòü'Ç`±@|¾è0î }ó £üq®K¨6›AÒ‚Pbçg´S{yGoþ©uÓY@Ð-cã­"òmƒl}(‚0£¿»ê4û;ÂâŒú Ë’X‹¯H?Fg˜ú@ÑÏW¤ÕLš¾ä¼}^P[ÙºÁV¼Ó÷š÷–Oè pÁtWebÏÞöÓýŽø-Œ® üû Û·9@=Ø5ÑŸà€eó_,Øó#µóúKäÄÓX:²Ò¯M“µ»ò6PIœ;Ãq)jª# Aúž³ylè$cÖB;!ífÄa×Iå’„qŽˆ‹Q–ÓdÚó ^6 ÷©ìÑÀ:]@öV HhŠ0©õ{ºZ.PŸHw9¿[\ݸ!Á1$îòlÿ»KG±2l1¼hnÀâeù°ÜÃq¸ZGèZ¢P€ôLú,“ÞÇ¡bSšM½z€µ] =¨¼öó!=Þ±G…¿M’ p• /(§µ¥ï¦Ò`ZoÙƒß=ˆ¹Po¸ýø¬“ötŒK€*ßœ)¦D˜pn~Võ 8â¶Dƒ¶¤¸¨¶Uä ‰ÌvKÔìʹ¯®Í ÅuûKgÆ9¢ì/>†“Ý:xÇyÖ~Y³2ý-ÐӘ˟ï8ç»ÊXß6kÁ?HXÖ[ÔU:°-ÌRFà*õaí}ѵ¬/eI²ßÞØ“´g9/ÜGñÅømjh+»E— }£ÿ#µ$ð - ñ%,íçcCCÂŽðm¸¤ƒãR¿`± ²M/e6—ñ¨:6tN¼¹03áqF]¶s5ºx:Dä^N$V³!„b Á06*ùQ¸U §¬k ä’Î?ßÙJÌZ†Ê¬íÈ1 0=!‚¹ÖD¾TTR¤T» NU)$]²'²Í‰gH"¾¸D>B=Éy¥ÀäÚtSUK²©¾Hçš½Ã-öUÜi€Z3zï¶esm¾0X4UéŽæÆ~îï0Œæh m‰)5_g1Ⱦ³ ÅØ 0Gú[XVuF )±[½VZ !$¸„œhô–è|ðW© „R5w/¼G¡:6äY߯X7?0š±‚|ÁŒgs¼~ÇÕAÃù‡êÒõA•Ÿ!5,¶¥#t!þt½ŽËó'†öLÊ—¼€I4±5Žj‚a“‹’ùgJ„<­mÊ&@ë -Žb=Ø Rè[ª#ÖihÆëâá »kF÷‰{͹Q!fìm‰&ÍÌ¿i¬>§U`ªŸ«x“èSž‘ ÿjÒÄ´~<»gÕØõ–ŠqÙôÕÂrK™èáŽPæA:T þíûÕÜa35KÚríK.hùêK”Á“n“1‹r9#vTZïœý)4&bÃ1I›÷Ø1{Ňw´{…Ã$[éñªôJ  µwOÃQé_/‡/RòµFU¹Ýä².ëÕ @Fi¹»*PŠU$ô†¥¶~_ˆkŸo›ï\IÛ§³‹kE%Šn~ˆ”‘QèÓ6 zBñ0=׈Ðý}óAºm¾«S f4:âÈõæß2ùY­Þ/™ŠwbÇô£g/b »µÞ7•$‰qæFൟ‚Se'÷ÛãÿgKKín!7ÈI)ÕŒVµã&¬“Ü–—BÇ:h¬3"W¡t>eJÙ·g'Y›Hð¿«Gé“_œF]ÃvltdM§=Ø›îŠ )Š1wqrª^2SFp£Ü!ºý5Ï13Z_…Šˆ¾2ýWVÈÀ‹FyD§!¿ðq³Ö„JÌ£ìͳÿ5Ê[’èàñS%1‚P+›(5*Š5°üývñŠzà¾M9Ò—¬Uè| |f‘šð‘Ã?Ë‹¾'=œJ.©.ÿ2É{[ZZ´.vЈBÁ{¸IT¥…”Xd ˆÄ™¥¯ÞŒcºžm±Lîó€kX¯£Ð£ ‚Z<} ”Ájts€c8¹:4Yì l±5Ö7Ä{;_¯öü‡«¦ˆ в9câ2þ3Bü$eÄ›n,&i} Øù+ µZ4[kÞ4¥1+.%1Îr‘â‹=2=k`^‘難Ç;HÁ°—^)»Æ( uÏouÊxuZÄño9Ù·Ó…ï3;UmšuÕU‹ïÛŒ³%ĺ%,w Ù£¤Ø ‚GžÉr gž ù2C¬æ§4&àLÑ6Á ¶-„¶NìhJ\–ó³·8ŠäC€ „;vQ Ø£áþngÒAqN¹„€ùž¬n–ÒGªn=‚ FuL·`ÒçÛ`Ÿ3mX£Å®x¸Tm¹ì„_Ç&›=ë$½Q€&*Ø£3[ìvžv—žÏ  '|1@±$휛è__ͯÕI‹Ã(Hæh0bPÙïäîÄæãóK¦ä‰ùø_(Ë„ I…Ÿû%Þ 5’@D®Ç!úu{?XÕ„;sþ#Ìš{$fÙ¬w ÊvMlQÿ¯&äiäš °¦*¢¥ŽÖlDœ%ZÝÔŸ`V­­lÜoŽE\‰ÏÑÄê_ܤ²¾\ hJÌC ÀæïÙÿÈÒä@"€ú‰nì×ÿA7ˆðž¡å3‘2QÑ2•w†8]QŽPγ8ÏQé…«Ô"|AÑ´²”“Víš(v[ºV¶G÷Qôè*gù™¸¶­Ö¢k€¾+x_¬™®ç(/•ddµÝΊ3âEå(ʺ0n }÷ )¸ü†Ÿ¦kï»Nözoì°R…üÚ°Óö±zsÞ"Li˜ hvr`£/«#ë¢ÄK£a Ø’9ihyÌûœ6Õ+@¢ÓBþkœ—¿Eœ}5:M®?ï¶Hö 蟹.ÞãT¶ÅÛö¸XEû+ÌÛ¨°ŒNÏ>ødîTcá.`OXKZÁ-¶˜ûÆä<Å£°K ½¯øè÷ð²z+^·ú¾½Ðô°‚ŽÇY–ƒòÆaµ¿R> ÎÈ$Ž©‚:ŠSêØ Â;ÃOü÷e㥛@?pÆev÷½c“Húí|2ÓÝTgÕK9”ؼñ0ÿ1߃ùÁr®‰µ¸òÔDˆŒTcUÆZù%iÏŸ5fc„›°™ÊsbÅ.Åc‰šS|åË‹S<˜µÝs¿VuHÒßxÆ‹GôÞ~Õ®cÖç¨fšÖ bÎÙ2ùKä_*×fÀZotª}]Á„ØÄˆm¯pëB2¯«XdC1.xYÊätžÆéZùÀ~}¸q,,ÈœÓòfßì@hãú_ˆãÙ…ø‚“²wjAlÞ¿ò@Úá¹ozLhj¨to«·HÎDIþXÊ‹òÂ×i~CI²âîø'îR²ž­Ë9ÝƒŽŽ¯I˜ã•¢J‚}2vÿÒ;úîÜcZ]×ÝV<¡qTÆžÃ?qË Ý{5 ¤)öh0¸»^¥S®ÓúBÿûºá”Œ”¦äÓù½Sš0uÒ²}qMM?ROHåÑÒ¼°iã÷œAÚ08}; ¢ |B,¦Ê§jº2Ë8Ò„µ&%*”ç—Jtú|ÅÃ%^Y6ÐAf*´[ó#&KþÒ¥ÿh–§Ñ«dÉQ ùðü2íóÜ6MÔà çsñ©CN¼q_§Õ| É„ªXöt=D4âñi;±ùf˜F¨Ð8¹èå§š¢µš#$¼Ý; s‰ÈǷᯡ€Û a…´þɹxo üWspõ»ø-v6ë ½0`kt¾/åÝñþàþÝ ˜ÊrOê…Ù¸ĸöO$¯»ööi-É¢Ÿ§O>Ë–ø¨?gö]ã­ûz–É ‘vªîODÂjøùØ]ë(«ÈCyu"›"©pÑuÒc.: ±9¤ÔÁ-Ÿ´fàÖxžtHmº÷õ °@ÆN@öÆ3©á"ŠrC•ÔѸ$ 8ÿ¢.ˆ$ý,Ä_ÅÕÊý$ðZAö &¾yœ<¾‚<8–d„Å ÆÔG‰s²tºÏ I!UZ+5ð8c«iÅÿ†‡Ju˜Åaþð²Q¿—ÈWšúZ|úIQBül s´šàÐíê–\±òJ“9àýPD‹5 Cp4óaÉIaL92 ŸA¤NåÇÒš'—!~J|οEõˆJò ÊÄ>hÍÜÿKâuòv”ª†³|H©´PàÚÍêàå¥û¾ªj)[¢vUTé¦&-qÎ…£°ßH™ITè²à#Ü6³&ˆöåF2YòœkJsW]›ÚWDH:²ÍÓ­Œÿžâ'o/!¦u N°ÛsP'ʉôHè bluË¢×2Y¯e@Œ%»7xt7ÎG-w¼°]·s—%ÃÞÿ‚©ÿ ìF¥˜*gxXÈjÔ»ÞÛâ”ï1zh41TŠ ±žÈ{lW͸±ÁD"ùÔ]õ NaGBýhÀ”—UÛ€Z.ö{ï‚´Ñ ÞöÇ,iOT¥wר»ÌwØsyÒ'V«1)î}­'K”“gö/[)š5ŸÜÇE,¤0×PîËkÞ,@“ËåÎÁŒü]ƒ×žJ–0œ}Î`&^L ©2„¢Ðw)øø1h3­ÅB>CË6AÜUc^hø8ëc[ë¨ÒKÊÿ¨?\.I¿â…#¬«g[¾9UªCn{ß"?:ãY_ŠéÜÉꀀ-=©ŒA¾9û›©Üj´!l"f2S•³ÛÞ¢Ðî&Ûó£%ÅaÖ#ôãÆP°)Øõ [õ4]Ú[ xž|dW mᣞ•õ¤>¸ê5åŽDUná÷¡Ô»èt`Å/Éš&-ýKïÙ†`¥ °û‹ÿ8UUK.ÙZý_Ì›C³Ù ¹×wu{,â ‘a“ö2ßñF"fÖ»Ço{´Ò…ºÞtæð¯@ø[nKS² »ÐU´ÝGÙ_Sùëõ'ü™/8º†´>#ž [µÒË\±à@qƯS¨Î m­Ü&¢¤M¢fgñV¹d$²ImÂ!á:ýE?¿•Óe5‘j‘!¶"Æy¤µéN¹õ¥˜2•™ÁPØ"ÎdßjpŠ H…‹¨a»écþ…¾r*w¤P6| µ_ôöŠXVxz¹²˜Ÿ¹ˆj J¯0 @OÝþ¶ŽÀj;z Ž>­Gމá‹ësvɵ¯S´è}SÒ[ýõñòö+üúvfÈ(¶Mpht!kêå9uS…Ö’&«&¢nܯŒ•ïóy†›¢Ò<`ØÀ aAZd½sç©-æ³ÐbׯZ 1i!Èäü/GŽ­YM€™ŽX#X‚ô‘\Õãhªj°˜õŒgPM'×ãû†h-O‹ÁùjîT¬r2dÐé1•íûâ…’£áUän{‰h³J¯hQÀ“8F\úËJjÆöúÿOPÔg¬Ÿ[³±§Ö¤H"ö“|lûwì–¥ý=»ªVvSµ_?·.ɼ3Ñ´Ÿ‚¸”oùOáøÍI$q‹Ÿˆc1m§0T7O;›ýµ¼µ™ßÅ9¸ÔÈL÷|‡~Ÿà$ャœlRz(¶AQ’•F:T±Ó¸ÖHFc–"ªÚo£}¦PÔUœ¾ëøââޗ؈NqÂmäþ…l׋ØA'rJD™ ®¸©Ùx¼+|‰]—Ðx..ÐÂD˜ÞµfõЯ¤_z·1þU¡87®Àu!š„VðºÕ’Ý3¶g®²(PP}:µû‘Z÷ÐTB8•¼€m¤¹Å«Ê;ICŸ¡‚Š€g‚òªö@ަ•ò‡ë§=ˇw-6ò²ÇŒI,ñÖP\…~66¸àÄNz )f|¦í¯)”TôY4ˆÌ~>¯¿sp+Aí`êûɆïNZ¯®Ú¢sºd˜ÁYÕu4-Ì{ªÂ²’ùCfÌ×å`üeõÞ/·9“ýq¢“üŠÉ[Hâ®öõ& g üÜÀ§iv¦düômìö EÄ[a¦Ò jyø9ƒvÜ÷£QZköþäB!ÙSMïÙqÈ w’Þ?_0ˆå6¯&~_ñ¿ ÀÏ;µ ¬Bg[=ÎØô ô-7néZ'PSøž ~õÁLVaÿ†fÕÿ¼ò^åZvþ?·„ìâü»ŠY¹=©7Ž7@òߎËÙðìÞš(˜Æ'i: §4hKVÿûû5£<º}Æ®5&Y?ñ;]†¿:oW:˜õãŽQãé²È¾yH;íF[scêºæB¨kùì@’N(ë$>b/ÆüvŒ©ê‰€šI¨Ä¤˜‘!n‰lrV.ÙȬýþçnæú‹Šðêñh²%UÐõ»6·p»¼²_wœˆVøCãô Qouj!Ú<ÒXDøx!µ²:ò{ˆ¹$¿]ºâ7»a?ÃrsÅÞŒ…Oç}"vR–jè,ªEDsÁnöÝA¤BÖsŸz{ܲӅ5Íí´4wIûêê²úÚÑýµ©DcëÃŽüY7vÍ[ík:uVóÉåq1Æ1ÁÍÊ‹Mo~'M2¹+~ˆ ÜTcJ€Ÿ¹öu¯78<ôñÌ& õ6ƒªGRØÿ"\½–öx3µMÈ..¢r×ùµ`µ²Œn‹Lf<—ª”Ÿ†v&õdôZÄY‰?­ßå„h¼Ã^NSô˜Òuˆ @ÍUÉýà?œ“­çLošx§sÀ"ÆŠZxt¾ˆ c2£ñ“m¦ÏKkLT=Ím„V7“È;ŠˆyލÂßy;Ÿ‚®’ÅRÕélI×¶5›öK„qü¿Ÿ—)>„ Ÿ~úÏœœ¶+¦šåýóÌÄ{É9wø±ÝɆF ø:/M×Éæ+«pø/ÕäGûN…äöõ$êr§V}9W}’=bN~é §øü4@¸×›ùPXWhWvum¿'•ùûÙñ$“ÀØ@~Z CL9dMÁG @;Ø2À;¼?ë*§ó™#Ôeª-aB¡ì-#O£dò2nóÚÌ%L=í¶s!}fNÀõÚåa~Ãj Ñ$ãkôù?«ú¼®iSþ}ƒÅ#ó¿2H:G-›^Öáè.E?º¬!Á1mÂA}¶¸j×öyFX7!6‰?[swÚÛ3ë·Y Ü{a…1l¤™ó…2‹ºk­Á0e‚M½moùׇ·†Ãi0.s'¥aIŽ;×åŸ֞ÐcÔ Ì%ûä¥BâV$Ò³3=ŒÊ3º]?Ž^qŸ —’ºÔ!!PïöM<‰M¨Ä*ü7«KÅ??Òª°Œí†‡kViƒ<µÈgÐu"I.J®AÛˆ3Dªü─·›Þ…U½®ü¥½«¤ðU”/¡¡îׯ Àë5Ï@è! Ð…”ݪ}w_i}ÊJÞ·ûI­9…áBÂû €ù\Á£ˆ“X¼†ˆ$¦«FÅ«Ÿ/}L„VMÂèY{;( æwÛE£òA{j‚(ƒÝ‘wÀ²2ŒDº§„¸N!nN2=lŠY='‰Þ‡öñ€@ÊÅÁ1ˆÊî¢H #FX¶ËªSñ]åèüvŠí7Ѱ¼²Ñé„<Ž"f·¤²\TØtCõ£ƒlXþ½Õ¨IfW0ÝáA‰'MØL"§j´çR¦ß8>#%ûÈ0¸éf£¿ħôá—Œs­‘ø¹ŸÞµtu©™—uÊ…c”ó+*O·‰NÙe ÞDNî·Õ‰Kû•Äÿ›e Iƒ«¡[]b‰¢”‰½if³Ãeâ°•Ì„ŠŽhu•@/+ãËN•G`O¼ñ~qщ\1çiÇO±šúu×aó jþ¢Ïþ‡à 'Ÿ§¶ÿ[CzFü—öÿªŠ)’HÛ*€›dàŸ¨¯¬ùŽ]™ '?ö#mPÀ&¿Mí ¤±©ÞÐÕžÎgÏ-W]ª ƒj>¶þ<+_U¥T·í²øh±CnM{úX&ž°~|Hfñx7 þZ?;œ|‘Ǩ×iÚüQPOÍE©Lé>ÂnkY¹óY†3Ì[è4*ÈÁ‰¤U˜H@Ö´Òw•µ[z4)÷ps ®4¤švväÞª£7´½¸#œ܇"+W—Â~ÍÖü"lNq'•ã ¦,£g6rþ2ŽžR0h‰ãßrßûàG±œ÷5D|•µ>àù väK÷“4'¼³®Š«æ_·ôÄ‘~Çg‰^¶î¶““%2`£Âñrfu£ÑkÅ€¹îñZ®ÔdY¾mÀh>¯=‰‡Òìéó¿ìÎJ‰¸†KÚkÐ#¹òÝ€ÂèÓÍRàÐÎ ÃÒÚI©‡%+Lâ)EÖÎÕ²ÕDÄZçÛÅÑÚÔ z¦ZÛä}Y%#ØßQNþHÜ.Rïkœ šþýÊ>BƒEPñ›Ú õSC/ùZ-«9­Š$ÞJKíU¥P4ñöF½üÓ±.°jyʤ€O7T›qô ܸ^ "‹ï5«ÑñC•Ù¤lI÷¸žòãr…BÍŒD?;fËu¢ò ÏëDàW&=CÛZ&»‚J€¾¼9×ycü–ñö þ|x÷U¶Áëv —@×Ëžêˆ-šŸÅɢ×ö|'ºüu9ß\Û÷O¹´^¹DU•&! dÉíEwK)çAOˆ…!ë›ìµ»ÎœÏå5¶CîÉòÎÁ×9Yzý¡5ü¼Em[Õ¹· þ‹!kÙÐÚeÏ4„gbô°nYN4V.ƒÀ‡‡"°Û!(üÁ‡¦¯­ÕÚ{œÂ™’…Énd=·Ñ:OÕ ,Wk–4Ìó#=¿âD@•.I~Y_ D˜mO÷±Ž»?Ú!F.Ü…+t{óžÕÐÞEDÈ;^®ðlt>éGí©°6цM¼ÖÞèÐØÊ#xRœ{Tü…€¤­tˆrXÂÄ®dޤ|þ‰°!·Bf6°{ÜÎ!<aD1‹w&øŸgK óœ'Œ"ÀÂ0÷l~ñÑ©q»NNÉyê}Lˆ [kˆ$’¬§7ó]Ù8fœ#=¯$¡Å†ºïëYy7…Ô@ï|o¿.H(Æ?aÍ8\jÖgKÇ EYxöo¥Û;¦­ZDôã~ñ›$jPžíô÷׳þ`¶JÒRc\¶ÂD|”¨^ºŸÒ¦3â‡8FkU»µ¸´·î%e†þ£Z`5ÛÒ]Ê3žÓŠCš’&%ØTL4—[›“¼NãUöeãUÉû[?øløgØ$Ïl»ö×áIGâ/mÄH¿©éÔB0·X—óTaôÞ„S×#´ØK0ÞG5à…4b’”G”àñOš·Æìû®0)”9s\ e‰ÐMÇlDµp" Ä9Bøª9ù>ænP:&Xïl^IŸëߟçãN¦ÀçÞŸƒ§ìÙ!Ï­O¡?´7÷+ºàÑ“ÿWææ2S`1÷$ÐÁÃA=sä},úDá´›Žp*C>‹ò^ÓëÕZ2Ï ã•, ûô8X‰±Sß㣤p²)QU³‘•ãh'¦½„ótúhxÉØÏs«`™Ìsm““zsû­É“î31íÅúbB G÷aJÕŒŒM7… bKø”$¼°©…*lxÈÒ±NÌÕ)ocÓÁ*)—%!gL¬;µìŒãûqè¸sñBX‡u}‰*»Â>«Ñ½JóNs^¹‘V¢üWà<|_BÒfóŠï©Œ !Oñ*PüÍšÿæ®a}"¶:AsO‡‰k"h*¡¢6ÄôˆŒkÁ‘8gžH„¼f¯hÐâ+›a¹EÜÕwž”‹ˆÔ¥XÐ…©ÎÙwâR>5ˆašÛèVäChHO–~–¤à ÎzÔùç _],-´Ž§Œoé?#,•dÁà˘Ñ.ç¯AtÆ“#¿»Ÿ‚¶²n+…pi_¨`(ÓéÍÙ¸«–¦Í†°Œ‰ëŸb Q.- †Z5Å!qß%jð±mꪃۼw~ãJºÔùˆùXß izŠô•ß8Ênîh(«à".uDŠá›9éNXÂvþuççZ! îæå.5’[†25,ž»ïWV)8Mõ¤Ÿšæ¦RåpÑõÔ5Kó¤Qþ¤]¿= 1ÉÃé|8Q[’PIÅ„ü2u?dV`þZZŽæÜJ)ÖC,ƒÅœFÙC ï#F›µ÷¶…ŽA'ß œà& 9£¼Ëš(v€wò69Å4Äöu_ÏécyƒÙ azŸYqà$ö«·V³ƒÀnêÈ Ü÷‰È&[ù$êmñÜ:3Ÿ«_‚ €M Z¢E$Â2l†?š‹y/¦sV tØ?/fXÔ—2'¶Ë÷„M¬ÌJ;}n°¶‚ 7µˆì䙣ãI Ñ>ùfCêE`d…7åÖñU0”ž•>{û LµjC¹“@§áÂü3žPÓ&„ߦ‹!«„ˆLÞcFâ[ù°=ëd|†0ÃC¼Kø‘ÝW¿ò'.nôK÷¢­Ãç”^¶™ƒ,Ö×ÂÐÔÔ¡ˆë^;–ŽwÖ ²Ÿð9nÝÜ<dUo¬àGY®·ÿ‹ÙÏŠ¢$íºä èLRJêC9¨æ%®‚)‡âv;eºq)‚Ü2¶ºe?/üº¢:0˜&ôâ@ ½àéè-¬ …oádøKÛ±˜5.žUÊWÔ$m×ñ<êÝ!® †:0ºÎ˜ÕR :ä›ô ‰›-‡½\Ððb¶+Ü ³†*þ·;6:óýü– ÃÓ}]å<Â@ɪ»×šŠ$[7èò¥'QðÇiXƒLÁmyTcŠÄïbÙƒ˜:S´™œ£n‚õ„gü5›’×^óFÈž‘QÎ(Ev9¨Ì´&”º¶{>D{°\æ³Ût´i¢C9wb{ú”;¬* lya†1®ÜŸaOÎÁnš=wkcOgËP^•'åu;§ëL7·Ï.’7ÙÖjXLÞêë#š†' ÔÞ´º|òä^`د J_íQ}¬¦¹1cÎÒk‹ç껇Q(ѽьõF)Qa·YÀÉ+?°*û´V€'X‚EiK.IüÕÊ€ö½Lãö»M(/}¨{Eqn¯åüÀPá‰Üx· ,³ßk6 ¦™ý—Åÿþ‘¾ù¼¬EÀʈÏ.Ü$J ýŽgÖ¢·‹ew;@Ž !î·õGvÍÐnRä‰Z¡ó#Z‚¹©¥¤jPIuY„ú¹ëKA•¥ël¾=d^™¸ZYÍd;ìL‹TPÏ-€‘X/MŠe|'I'yÅ™égh{çJoÅIîŠ7õ] ûK€ÞÔÀŽOíŽmé´ßÖktÓ¼=Ž_~è¡]÷At|–h²“×Å`—ÍûCnãâ÷‹òïí¶ L‚¨Ó×—!µlL[ˆ·‚‡øíÙá¢ç+5ùü+÷®A²¿)èñúÍÜÍŽÈ”eRn<XMoɶs¥PDå‡béTp)¸1@B`‹VÍçî¡F‚7ÒëøþI‘ÃvƒÈÓ§7GËOäçs»a`Èþ—ÿL ‹8«×caª‰—0€žæhb'ÖÄ­$%ŸÈ2&©8ÛøoS#‡ˆþ¨ÂßÓÉ.Æ/Ú.PkX¸KYoèÕ…³öÝÂðSˆg8ôïËñ ú‘!û1ÞÊzû©]L˜€¯zm2F ÷ò–U^mÂ3µfp|`íØ 28ªŽ£°ëŠV’¡ö¡ÈŽø«Q’r“äwØ*X®‰ïî8‡ˆ¦…ëÊPà …ƒ>â½âø0¸7`s:¤(xòwÙ)íâàæ3½/l:EØ"oÈ-"K ö¦R¶–Ùé@`Ü#“ ä}]JlX† &™Cõ}Uoê°ðЋÁDŠ*ûœå…ÛΦéàAò¡²/à°‰‹îWªymrÎzß6¾ä2fVá2!?â.ìx¹GÝç) }–ªÛ`£ø÷&S¬ ÍBT.ÿ_dEÝ‘}{·«o†DÇYÑìAƒ]Ø‹±…‰èräµÜ’¸”Fc,)Ý#ç8Ü>ŽQ„cFúl—;2µ´ß1m[º8Ý žoÆÕñtnÕͳaC*hoRÅ—ÔtåN/i}Ù¬”M \ë\SmíýËx…êg¥8 ½š‹%Ý”‚¶òø$¬ðp+,ÔÝo ù|¯õд.Ïç3YҀ差ëßØÊ‰cÁ»Cnùì6©”»ò¹ ¢ª½MÞHâÔ”™Ï«{ƒLLg„“þU –«ÊA¡ùçd}yu㨃—²ýˆm/¤½¥¬›„½$rü8{ž±mÆÎ>u³áýã›J%T «M°G}âZ—À …®û8ì@TzžN€Û†Q‹R\OöîUcðÌiQî~x¹D¸xºbÇàds› -Ì(ªXH &yÇe¶Âª°»ÅߤíÍuñE£9F]«,ˇô`ù|?®!_R° \÷Ïn@åh’פÁ»~*½ýD4Îâñ¡Üa0ÊFçÍ:F”íÇë*CøÃ0¤RäÌŒ¹œJIùYðÂ"wÓiдsfçBVݼâXŒåÆýíDÈåÂu´5šy”ÛôauH‘ëÒÒËk"ã8@éšçÜ«Âí+›œ—)’ ì;xpX±u•úe·cÍ(L¼ §ôÞ¤:#vJÝ3§ìÅ|í+¿röÙ”öLb·>#‰ç½»ÍÚÍÙtýøñµ¤7‰\iÉfݽ ¨;ýASÍ£‡‚ÍÏÑÍHCÆ vĶU%£èEçÀt7ì­¦-Î8Éqx«DŸ>6㟀ÀF …?´‘Í¢.ư£U¹·¢6Š“¤›ñ&rõôxðŒŒ¤Í퇹lš=ªkÌ}#ƒhíÞØh¹áÖm‘|Ž‘üÅ Àè ô”{‘¹¼³€Ò¾…¥¥U\C ??S]±@ÝaPæ %¶¾;ý§ŠŸ@²Ò±:×::ËÌ~·Éë'v³y¨.Tah)Œ¤¡*ªîÖ‘#MµÉ|&¿Í ²]pßß.‹Ðé…~%ÍÀ·aPêk3ÑÅã¤j}&ÊNÏñ«\=KüÙÛc Œo¯Ls™#Gèkçâ»÷öüS¹å„ÅÊ_J5úÖ½Á&û <M鈰ðlOU,½ûz}”õ¾ˆyk}²M¤ƒÄ¾§v‘K%k‚³âÎÔ –aL!%~\UBÙ$+áœ;yµê<{ 8bðá ßm?Óø#XV›sº¿J\0Œ"ÒÿÆùˆêÿñiäžRÆÚª‡*µ’…u.¼y[N{Bø›x;è óú?éaéÌ Í!̺y"JÇÿÿÙ°„¬†¡b±KÓá6½Cƒ«"DWª‹E$Í.g÷¢Ý÷qŽqL¨FÍÚº‡¯ÆËpO9®ù$®ùMÙJÛ³*·s÷ÐzTƒÖðûx.yò6þ¡ƒ©Œ¿ X¹ªdÉ~y혲ÒÀ…WØl­0A`©¦z~ÿü]ûцâíhÜéÃðk¡³¼V–R+öóÕþâü@ÈO2H˜(R:èxО̑jb ]u7e·°ŸK@ãS‚{æˆob˜RÎOQy*Fˆ>ð\ß&)ãÑ¢ä §ö!óB0tW‚òfÈ1Gƒà8¾ª‘È+<%Ö¤J÷cOU5ePr”¶ÈÆ7¶):Ä ¢?p>‡q Ì¿bZŽQ*¹C£3kÆÝ^À——ÜQ‘N FMîösi1‹ [iÖ<„ߺ{NŽþ³›mLKñZ¢¢ÚµŒˆE½Êà€FË$ÿH Ãþ_ Å»†À•šn%ålŒØ¬Áµ‘¹ØÌ½ï‡šñ­]ºPmÝ[ç¢jº|ò¶Å3š³4 :ó$ i²¡JŽó棪NþÃ?mzÍÖÚƒ:wMT õæH«ãγÊ23.,ÿ5u„o"œ™¬€Œ’»„Ä_«`L\½¿'·ÊQIêV‰óîØñWé¨($\ÒžöH¸Ó£ÑPÿkËJÃ>ÝÒ.:*ü-{sÊy 6íà´·cɈº)Xªõ;„ža‰m`„‚œ2„Õú²YøwW`‘ËE½¬TÀLŠUõ»æÉI¯˜úÅ®~ÖŠ¯,{þÂ÷ÉÁzFf9î…y”8 ô®±T¨¿N·«=˜:­ J¨Ô‡ëLLÓ¥"¾”›‰œö6ðŒf>`øÉ˜xNNF[MAÄ–}Î@¤`¦ ”ß@[·çæÍŒ EùÎ côD¤\õ"ûK·X¥“ DŒ—4Gò¯‚Ç$µ©Ï4õww³v 5p1> ñ #˜ùZe=Wtܯ /á"Ö*3‘¤an⥓ßs<ÜÿÖ£ßU5ïã ŠÓ0½^šô…rN:æK§Z÷VË9ˆÓ`¹ðÊ]J:äÅH¼Ae@Ì{H¹?iAåkWËxŽ?×kEëÖÍÔG¥íߪw¼Ý*wCáwp4GEÚ_­#ì00(Ó=¡.ñGù.7©Ü!ʹ=©~c¶,s¼hJ‹qëhXÍ0SÖDÙ)·1áˆÖ‹8ò%f;é±M?^Ì„NÛyp)ü¿WÅIV².yô¶ŠËiE;½e’èk4U¨x)?{Ü\*ø¤fU¿Øi°Õ`@DŽí$¥Í9:±°ÝKµ 'k\mù¿yTã,÷ž©B¼iúÒyôÛ† üåç&a[œ} 7`!_£B²ç`ZÁM›ŽB‰[ Å GuxË®†x ˜3?$r¹ÏŠ"÷¢¹Ö ¦‡çf=¯ ‘ñÈ»Pƒþ¢‡7Ót3g:Ä,ŠJ ²ÌÆÿò^ïkkÀêA ¤ç>PuL ‚lh.ól˜Ô\ãÉҫ}µœŽ¡ÊŒæ‚ç„86]ˆ˜”¿´â¢~Át†M“`ȧÀÍD ˜& i©ò&ÒêpŽ[£æÄRã*Ì—¿'G ºÙtð‡lLërˆ±P4Zb Íß?=ÞcNǵ_‘¹ †Ø÷wYòj¾ø,¤ïm]Y».×)J§q~ÿ>/YXâ}€ OäVg!OeÙˆhjZ!àÏeûœè:¹$ù-ÅCå}³ öt§h—Hš‹¿YøY€¦ïP6;UŸcµ‘ãU£½¿]xyÝTi ˆÃ ,±ƒ—É,7úÿaå±¶S9²ë€³ÇÂöH(¤O5PÒå0®ê|Ùº*Wšà'Â,-Ÿñ¾^”)=)l¾wå‡2°Ô¹“©n‰ Tôù[Éz>&gUÆv³:³o_ŸRµûnݨ½We;ä¦yÛ%Â3¸4¤f:Ó¦m¥Ó1ªh‡'2øã{G/¼šónœÿä{ô|ö•¨­óý«„cÝZ]PŸ§èdbÎdÖ¦ÑÆÆVÇ]؃Y¿ÀåµI‰Ë‰ôzŸɘJRŽ–yˆ~;„7ôx<·¿Õ–¹5擹z|ÓÊ!{(é”&Ù<=ïÎïtu¸x»©~ËSõaÛmfQ ÎÕ­©‚V"RG~^¨Oζ:&ùÝû)éMVEÓÃJJÊÆ¥ât]ìôÚòP¯¾N@…ýÊs’àÕÙú°×IÝËwwÄ¢šºç1n]ö1nêsoíÊ\w‰%ŸâÑ‹2™ØÚŠç`–ý›Wc„yvW5Vû\y‡…|~’Š`¸¿Qú;JÝ¢A¹6 Þ l§ÂOvrâ8™©@ áz6<žéM+ª]çÁš ¶¾ñšYÎ)ž¹¨‹¼|£È…cËAÜ£¹×éf§5dRée³í'Y³þÙñ«‚•k¶Ø&ük;àCoöµˆ®Öè]öÓ p…°˜7º^j2ûúÂp¸E^¾M¾Áð¥¼U³YÓÙhróÖb‡Wäéõ¸¶ÏnûÊAŒ—aƒëý˜VÛEmÖàývp¸ÿ1“ {¡°¿Ô!¢7¼½…z¹íÊÓïT5ÝpоתêIªV;³Q´ü„ºÂ^LKÈö¬|çÀEÞJ›êv~H[`û!Â’,EY`–á ps&ñå/¶fu6.;H œ¿ÄÌ˃Kn"•ǯs.-âsèuðOŽ3?PcЧ ¤øVjÓ}8&¡ç˜ÑiÁÝ`æ+K¦<ð Òiq¡aXf^yjŠVx"tµÖ8NI´ˆâÁçê|8Ubú¯.”ëåbŸ½ßjr¨œ~Â"&¾´ØI«Y¾J¥`w#nñY;[h™ý²Î·‹ÜÁ3 ¤ŸÃ¶Që;˜3YáââyŽÐ»3¿xߦ…~cÉ7mc´ÕÏ´)PÜÛ+$Pr½EÿóêI]Î--Ÿyx˜Ï,­n{7˜Å\‡Ž¡²Ïk–`ë¤ÉÞð‹ß6ÌO—|’sÕo%üùô±-] {(ÌÑvÚu•î40ªÙl>´c“ù—x-3âÜ{‰‹ÚA´ï”<¾ƒ€Ç1#ÀoàÞÉbvz\“yv“O™¹wþ—x$§nP~žé·Å%¤kýerÄšºWŠÔ 0¼dÛ1õ-í&œ“P«÷Iþ³x`ŽÌÛΜ zt`ŒáQ%tê&y îEðÏcº©â.–˜ Vxéh,¶ ‹¸U€zOÄǤq·gúJë™ÔǹŒx¸îÊBó%¨>Fxƒæõ¨» ªY”‡bM¼GþÖ9E±& @÷A¶Ì—qÔÀd$ çû_êc¹ª @ÂñóYšÁ¨lºO|ÞÀ«¶ð^¾’AÝ´ÀÅ0ç…vÐEéÝÙ¸d;V]°¿±)!{ø÷o%eÄ)wÊ0{”°Èçaf(sèsi[Ûˆjë!ÌÔËûû>´SØ ù¶¥˜«]"Â}ö5„¢•WŠ®‰¤÷B[µ¥µO7õ²S„ xV.#BŠÉÓ~.Ì‚8PLˆ‚HQ)¢¿ôŽ9l+®ú ç»Úå5ÅÀ©Fª0t5Ò P-E9.hçCeѽ@ŠìÂ@À9*LzÒgAyÞ-§ïÙìàlãw¶oÒ&ëê‰)3NbÚþoÿòÜ,&¨@¬ªOûµ yF™}+C|ÿp•Á¨`êi7l¹ež+™ê­xªéæŸÒëE©:`ê¹4¬#×=}3ƒÙü•Õ2­…£ì~²æÛ<~[6áû~c¼Çù²š ÀþK\{‹Nòøƒ"Ç%#ŸsLð%Gèî ÓøáîVšPÑ)«è¥è´œ­„XÊ!Ž­j_’ Én9m÷¬6=:}¶ªÀ‘šÑM”§§•·¼±½ÍÐÈB!’{ƒÕŸïLhj'ä*O-£æà' N6Ë/cJÚ•f} ϹwÓMÀ%'ª­ !‹ÞœOÕ½(IÙÃA,^sPâ€oöuþêL¦[\Ÿ9ú÷ƒ¨€ÚOçg¸- ÃÕ¢d¿.Ö“E*ôÀ™¦]ô°·LËÔ^ƒû”×í’9´°¤ÝŲ=J$JúÄØÙ‡Wqk¶H|ÆÖê©1Ÿt†iø©î?ÿ³fD$Ýr1 ÉaÞvZ*™R+-¡]#ØÔ¦†Áf1;¢mi¸ ]™Òû$H¨!w­A߀šé#›äi;¾H{ìµæp¯0¨“­¯mûÈÔFù®GßÐÐÎQ7°Õf±¤á8Ô7{ g·íì—c"Ø“I‹Î:~–QQ¿+‡,Žø“…`Û|R;?KzVhî™]"Ë;àDzÝXé¯ß“z„Êmº]\R€úèm¨®ì“æéóVÑÏ¡ûƼ6*1?;A•fmAÜzýõËǵàjÔ8Ý€N!m‡npð¾Þ>4Ðüˆ¨ô‹Ø yÓYµ. àWi:€÷{[F”íÇÍÐ$ª®Þ)OM6±PçD*dŒ#báÌç ÓäJ»%~Xw¸•ÎH»‘ ›Æk=Ðé¢kve­Ñ$Ï圠ùbÚàù×{Þhe>ÇzYi=ÝÙR ÄvƧ‘¤ýæ,‰¥7‹nË.ÄÂ}¼V%JJš-É¢¸§s>1áàÇvÇ‘Vô_xÜ€gù¤twCGß¹ƒitRáКº©"!1Ä÷¶ƒáÔ]•™uCñÝé0Ëè™…v@]2'®Í%Woþ~[Tø›E˼iÑÚ»ýh; ¾Ö¨ÐÌôš/új{Eü€¨œe¦,ÉÇÃr=‰Zœ9K„§Úâ 3VYÌÁ[©“ zþô3zQØT8Òšx+hó]¥_³È>>[©<*ø¾sÊ›ID¾’ÇñÊÝ}né†ËŠ×f ‰þj™…†ãT½\v¶”]—kw0u‡ ‹¯6ç+]b¦>2N2Xò’4Uò@¿š6~!ç4œT(es'=’–Ò eÑ$jׂ@4…dRSøym‚?²ã“Pæ“’ñÆS—Ûxtâ'…rì¶(c[ÍÜ…ª²×ŠÉÀ?»îIuñJH…,k5Óƒ/ƈs¥= Mslð¼\ʬàלm‘h¶¼GlUËTâÀuk¥5dI`_è€AÄ6Üú˜Âé¡V®ÞRá^“d*ƒÃ"Ù…Yãñ4T¤[sßFwŠÇ(ŠLÁÝÔfC¶i£DÅ0~¶œ†xÍǺµ _lp lE‰ÿ}·Qj¯ñÏ]þEo§UZ¨Åô ;p)iz# ÖìßoL >lŸ¿´Éĺ-áLÄ7|óI­u¿Q–Ìzˆãö`^ŒxÉ=…c]óS`'h4õ·i¢ÚUú¾ü×èæD©±v¡{ ScCP?éôïM“ÞÎIƒR†²3ñpàÂ(Ûùå)šZϹk­CÔ!P8ÑÜÆAœþS9„úôÚ5H0$äÙëÍ¢ 5¥ÜUÅÆwrý}xúV‹´ô›»2Y5s›º¥<õ“lHšá¸ËHºr/u&+†EðÊ“H‡®ŒJ âË.bÐoöÅW„ýëb¼ 1¯À y_¤ ¢ã/Ïw›kS¶\B~$gÞùL½¥]u­1ã¡‚tsL°iÈ÷gævSóQ¾w5¬(ÝÓLÝ÷­¢NHº¿©ë+pÊ åüUwKQ:X¾6š”g|­Í0ô-1gÓ4õØ}‘’w’aº¯N\¨nSt³ö#{L¢U"q1pnP†ý¶éªÚ6fN¼Ò_õ¤Á9pQàÝPP9°GŸ‚åòß¾kʰ ÏÁ›½¡ÛÍÎÔù±Vôèãï—•ÈÈw`$N×îžvÅÞ̧ o2UŠ.õ¼*9þ_–NÐc4!­v±Ôã£ÒÂqvpUk ¸ðw¢ÅNœY‚U’ÆéÔ¯†N,úCÝ0ý£n°‹ÇH -žžEí±'+Š”ÎŠZÓ;qËñ"í¨[«î{|²%ð½Å¿¾»ÙØW þ$•ŠjÏÒc–¹«6tÇ;ÖlF;Ö–?In4X:üÌÏÈ·v£ÎN£/¾øFŸ¶´+…·ø1j,V×Á„i ,hd"ìž?Q ,¼ä´­§ƒÌ[ù!ë)1?3㉠“<Û*W‰ÕÜð«Óù)[Óu÷„8—WCk*Û[ý8§i§JúƒjU÷¡]gíõ®þ¯[˜«"v_ÀŽ|À¶k‘ÑIazþ?­CJS€Õ–Ë·Í>)çømú“Åù£ý1cc1â–ön¥Ê ¯à?N6€lá6“ËÊìQòÿÐ6ÃI£a%ʆ)J¬ë€ô/ÿÕÖ@àÀ»o®ŠšOÈzd.¸öU„‚¯ˆÔ|ZÛS.X;þˆ’bò罵)‹‰/ök„S´|;fæP˜fYï—FÕ‹ƒç„¿‹èçž±X[´ŠÂ*0Ð2°éƒl%˜[©yÒìí1fƒþƒE’¨sâpDMÿ”l&Q9~;ýöº…GÙ*Ðq»Êšl)³®«ÿÖö“<®¼šš'…q±ß%»í8¹ó’Txƒ\)Å#pH}äõåÞå…µ±ÇZºIÏó_˜9™Èã¯D’8£]€‰_4 H[ꌣñO‰¤dÕäš'¡Pq°Ó}²Uz^ÿékÉ„Ú=ès~]¡Á¸Ò!mÛ঩8ƒd}nΉØ7KæÙ‚ŠxÿïꬣŒ‚®‰ _ê’¹%±Éo¾ TUÝ‹«W•’_¬L‰ –CQ°ÕåÄñÉ\ÙàJ6­R´ ?,üMqù™ ÈcES.WåœJ‹£rŒ˜œ[À 6Õ+Æ®úE¶6ô‚•8&<æyÕÇ?Lφzu¦îmÞŸZ†O͹!Z»xÉ¢‹†;`ÈK¬'±rV+ˆÌtÌo‘#6ŽÑ›:³ùæ =Ïì•[ZëÕî²ø‚l%ѲÒAÊLÌQ¤Á|H$>¥ºà[î1Žë» 2Élð“BõûNTívf„s:;íºƒi·éCOûÈ·¿ÞÃ#€¿èY0Ûz;=/¦Ýꦣ´VqTv¸îJFÊ*%Ãôu´ÈàõD>’!gY¾|õ_ÏNYÇŠªË˜EZÕtä¾ : ßM‚µ5Ê%¬uJ:Òt"FòHåSrøÉÙ•ˆßˆAF­có`¾¬,CŸOŠ3π㠢\U÷áàñ†ŒgR« óËÈÀJJÆ5ä“T =mÖ ñá Ÿ]À¹¾°ŽÉ—Žfàfu—º>¿yìÎø%@MïkPbVÞÔÊ“i¦”Ó·™Û½Ó}½˜¹ŠŽ&A;ìªâü¨F­¥<[‹Lå·á¸ø7J zœ+–1ÏŠ’&,Iïñ€[¾ «$ÐO}˜Zº¾gE'+’Äñ¨a)\L¤xüìë‹ü¾šîHb¨Ÿp7í‰!ók°8xÿ€A³Ôƒà~FLÅ­ Øþa@.'&ëJ:Üx ÇBÉ@…aûHÙeL¦‘󈔋YN 꺺ßÃ@†\çÑ*H£Â^[ÅH—Ïf®#ëJR·†åNÕ$¡äÅpQz”OÛú¹z L¦!OÃèÌÒ3G¸µœÉïÌŽ2Í"^ÛÑ][´ìpæ¶yAɞݞ1¬¿à¦YøôØ)jfH"r;êvWZþ^#øvµSæäJÕ’â¸Àš™.¼S*Qà® d½XÛì:©?=h› ®Öbã˜EŒ ËtGܱ‡lúÇÃBÉ¢•ÌŸ”ñèGñ9, •CfÚÛÏ (¡»oX"ÃÎãK²6i¼ê °§©š(¦=rVâ;!œÈ²yr#šü ïÁ@t.ZRVXÍe\6š‹GF$½Ò~MLb`Ý¶Žž?­%tp(Ê邯Ô#\kûÄ=`9Þ°*?6¼‰y6‚&Ê€®h½gÄl¿'%KÅÃ"î7ü!–(s:Ð"›¬ôù§7«@E~ A>ÔôQ¦Às\]Ï8÷_ågˆÀæýdì̶á:xg[º:.íéé_ʸ™2Ø%‡õ‰àVÖ Û'ò \/_ûæP6½Ý²kÁ-ÿžW'Y "ê`b„P××6à­ð’õBN%>ðÒ‚›´¶¥ù¿ï»²Òÿ jgÑ÷xñõð¿ÿnãØÏ¤°s1Ú¶W6Œá z'@ßð4|—ŠwîÑé»d@ïÔ h| ÝÜm¯2—µš{rt繤ð•hM$òæ;|ë}ú_BÊ7’V”;Ç…¸ãª6h¸?Ñ#,þeso€\Úç?7ûм($Õ­žôly0š5ŽcDÀº0¥<›¤æF"ÛÝÉ&­ù´y’©#=ß`Ä-Ûãëè lׇ¯h;ëSÔ ì¤ä!ì ¬‰‰õûž‹Ñ´7·Xæ÷飥FÅI>¡ª;bu»!Â5<šËÿGõœ¶ëk6í 0Xzî1I;£d™‚bŠeŠÙÒb›ÝjçÏm®p²Í܇FµÔ+¤|'¸[j6»`´kÌ1v'|RÃð>pɲˆÖŒÄËßÚläå.8Ç÷4‰Æj¥¡V ©Gçzä¹D¼íîór_òyˆit66ç÷Ý;ÁSʼß[ÔŸu/ŽM›±µ–¹ ÎËkò©ç§_ÀjxG!¢)Û°áÅ„ôk[Äë.$ºƒý ña]9íïø¥à¬s­¶¤mÆú_©}û{¡#”UZ„ú¼\;:½2}&üRL–ýü‹È8îß&?ì{nw‹`£Þí7 Í@p¨ÇÅB|t¿¢—s<(b¼y¨vLoî}Œ=IniQe h3¸#oN˜ Dï`ÐU/={i>;¾ÚÅ}º¼{ŸÐP‰ýÀÚ,4ca:¦ëÿœ4d-üLò&–С˜ë†rpWÆX20Â7jéZ°Ø“M‰³Íðò¹C’3'¢VßX¢ÂT‰‰=½8GܨK½JKªõÅð_ÁŒÀÜåð°Îê4%MmCÛ#«‰×jéF]0¡€£eÞÏüdêp‡xdr:61ò6̲ÛY“”D<ÒCšæáJÁµ³+]kóù9ßàj¨èèÒ¿–*Ê´j¹µNØÛçÚžö•vœ "ØÖ2§šÊÊYÆŠivë_ ó‹ÕsifÃ}Ñ#"HôÅÕqMö-8ãYqo=‚yÏçY"©ñ¿ï Išªæ.. 2=š¸äŒ,q*;¡°Íëژ͒;ÿhËÍ«. rþ\s,ªï}÷|Ÿ_\ÝN§ÏgÝ™&ñ).Àÿf\¶H_|ÇÍäf.¿fšR8µ[Ͳynª†ž O»¬KÞ<ØUÒ YSyÆè#ÂO¡ëN^³Z›ÍœCàc)àîOãELÒºfy´JkF }C!»ŒÚϦX.µ’­t:³ýkú7d”NÁétÿ—j§]ÛÛ4çl˜»õÞ•±m§xL}yMÐã[$„ÒßÑÅMêù2¥.¶Oy¦ˆEÑó—Oôjlû?ºÉÁ$ó nÉ S6ñ|ÈÝɯ¾I–]H‡gSfò073ÂÞo¥|üà-"‹’Fzð¡EQœ"£@1káE…‘@ð¢r€e EÜ·3ÎÉŠíí‘qÇ¥pò‡( >Sìs,œ’/Öo8!˜Óå'`‡ s:'«ƒÆÅŸÏPœª*™6–**1aD½BZ~¢6BP<Ëw{Z˜ MsW!1å’él»YŠ$Œuº9xЊ`¸{«¤}Ýœ^Ã(­Ç§ÞeP›É2ŠxÓÓy¼vnÿpd:DؼÁë§æ'¿'“"DT»x&¥×¸Ð«ï·QÙXûC /¥@DN„ÜÁq]’ßHõ[ä÷¬GBuF³lKɬÍùn{Ê[«Æ49ÿåÜŠT%T¾ÐÈKò %HZ÷ÀÅ}k5Røóºt«‹àˆßNF#Plã:ØÈ_šBÈý4o®Ù?†’f¬[>Ìâ`ÑP¦` Òvzn-n±Üw¤H|’>è­ä’ÔÀt—pOo‡¸œ§¤ôÅ,\?<æy€3¬,'~!¬eŸßÙ×í@‚¢¤Ý‰fÿÊ¬ÄˆŠ‰Ûi”÷Ñ4¾bë½½Aoú2)ôͤœs ~\2¹ÿòkG9à8;gíLúAT°%¬UR‡¸ÐEk¢[W‰®Õ8óÂ6îû‘?7wª…ºË2MBùO²_mwäë©ÜR ý0¼çñ앪[HÁ¼¼u*´¹Žñïnœsvêôåb–þp¦ê$”úø{™–$`™ Ÿ<ù©pi.·ϨïW`wÕü®”8àýðg€£‹ï4ô(§éxFî ç{¥®g*Q=¶[—$’M˜ëô}…òŠ˜”²xkCf³Í¸ æxŽ÷ËÅM„mh8“ÜöR‹ÚXòêE‚į8 Ð_Ãm¨:<Ù„Eìwu]?ã´‚p‡hÐ×§¶úà(ûôfL”ÏÊ]±Òbs#³O×™3Á]H¼óSÑ'(r¢ÉR·‡Î´ãÔ|ÇÄø¾¿Ê¸Î„åh5É ˆØ ÊÝÃ=™ÁX\Ÿ|¾qNyíK¼ë†û¥uLHksŽC¶oXDV®×@ÿˆžùÞo±¾Aø0tƒùx&.ïaÄ6EhÎq3aó±Rt«#äA1¯«§’[ºÕ'bÿƒPé®Q©r³u™åÃYùÓ~°‹’©…ùßJÌÎ:¦3VIñl=ûK­ ×_o‡ïp}5ܦzJ] F`÷Õ¢ˆhts<}?™B'qf 5+go»IUŽ Å„O˜fmgUTwt@§áÆß- ’—²"þªsŠEuC»¨(»ÕÑ®tBq½O+Û¡—5Z€LF ì˜éNd[8ý¾,¸•Àÿ9“Ä\• ©]VÑ)mr‹„o³¢¿K¹ûyÏë/f 9HouØql)“Í!m¢ì>ó×.Yƒ` tªÑ}Ë+šLùÀZ%l¨g~ßïìå)‚(¢ãK1 j¦ÝÑÉ’ÔpÜ¡u5°#5Ý. =û»©67>óÛW½d)pu’nJrNô³ÆÜõlÚ5ÞSe±^î<\ÿ=Xßt„š­]Bn„sÐêš0rÄÝÍ=aí¶ÑÜ7_ÇÍåu!ßÔ¸(0‚ŒìßÀΑ⓪õy9ÄKãWQ­dŽ’6"t†ކ5ÓŠÕ€Bl&*èBÛâÒe¬­ _q=ÚWaµœ˜"j)£¥·²)fâGø¾‘!áy$³T¤µ¿RRøÁÕ¸qzÜSR™@Ø)}÷`)u¼k9-ò¹‡$êÛ¶j‰æö}r„(§°ME3Q3~òÕ±a#îs~tñ8™ØlÌ Cš´¼>¯6þst53êjí;{|ÎÅä>5tÞsKðúUM¤Å-P6ø)Ÿ ’´ª¼A@åÿ™gx ±ÇÕ‚º”Ëø)Ž=—ítóËM,  d9¹h»ZÔ4æûÅ#ïÒÜÀ´™kB¯š®âß%ìwIëH 5†—¨¹„ô µ½÷Àµe=; .–V–Ÿ˜^ÄÂwzúÍÉ´c³,"¡´¡tœÆi•ÈëŸ;¼%HLØ•"Çüh ]îx'¹XáÅ;ZYé¹Zø¤[óI»NÝÒJD³þàÒñÙY~–4U~r©Ãá|Žr)ŒS ®O¯™›#ÙZ?ÓÒ_´4›‘¿ÒÿVg,§e®Ð}dqßó<ª˜n\ãJò®Ñâ¾"}7Ý—£ävÄêµÙ"™¿¯BŸ3D^¦“ÈäÛµ€üHâÀu–…¿î4Åri)|9ÿ”ýa†™§OͦfÐö§Ý±#G«)üŠ® XYuÁ(xÑŠ5Œ0c;+ŽÂŽÚÐ qµºö†ÀÝ÷!ƒ(•R¾JS²\à†»ªß´üØP] œ^À ?ð)Ùà$©Î òÞ=j¬òÅáx.º ò[ÎÿÓ þa>ä9wj‘íÒ…qMª‘iëÛ”àlLƒÛ ~ÆÞR šžCâwDXµ|Š‹õ.“Zø¶áÊxFÛˆ‘¹÷b3 ~ðèE™¥>¥Rz¿™1?á‹+ôàWMZ8®\ø³:Z"(Ó¥_‚«6ž2:ŠJߙ԰yã(^öVHˆÁ\R¼¥oDD±diä,Ï ›G0j˜?Ëæ¢S*’|¹Y~Ö¡J+3¼µHl–ù3lá€Ö*eBÛˆãj‹Éc¾È4Äk?"€µšÕ$[î&m`Rþ,ùÉí*t£R…ÈØ8:V8b—qéyáÐöËìïÍx .ѯÁ¢‰ {o,3]Äüͨ¨œ.ÍÂ÷'¨øˆÒ[¦ó]úÃüt[o#p£ÿTùÁi+RŠƒTx)(t¡ONq‹8ýœ´{õ9üégOl/µ±Om1iŒæWÏÞL’£¢Ï}ŸoOz‹ ·Ëï!VÈPG´]ÐýÑ>vrFb)/ØEïÁO¹© z€J˨ãÜ“¾i§Ó>ª5ZYt|̱(—ÒÇxö›Où[·P§Ûèeå*K7k«œÌ_¥… Qf†h’†Iý­á‘=[G€O2pÐì «O˵ÀXaSú²£@rÓ%<\A qoLãì ÜÁÐ X¾ÜŒV¦uœ¨o—i#&Ë‚z"|%_Jt·ÝZºíÖs©¥Z™s‘Üñ)5ï¹/àL4>Mî†T‘qÿé|L‡¨SZ ?Л’ .÷äÖ®;â)Û®l%òÏ„¦ÁrAbÎ#—’4%~o ~Pš‚ÞSƒˆJPúîJÂϲ±^®ë«ÁTVV(:¶4í5ðM¹¯hÕ§~²‹+²8ìópµý³Z{$óØ)uòÜß<þdD’_jš¶+ªÔVÃè-²`SË7ß®£=Â}J¾ VJë®C¯R-À|ŒúV 'á>¯ük!¶”ßÑ”…dl°A毭MŸŸ[ß=啟µ©o)ED½ûŒ úãD±¾áQrk~d þÐcD3Å2܇½oÒ Kì1™Ð 4Aü]_£¶¿˜_ÂHLȽ<ð‚2½ ñ`©’‹ÈÔÔ|åWiœGjiB8 spÊlÈò@ëŲ»)—ŠÞZ?çgŠ!d¡l}¨Yˆ„+Ëžê 8¯mùîæà—ú-Îð ¡=úa[å·"Ûº™R* Q³‘hk}ß5wËë2Þ:g a·¼½  ÅàQ–QøÙ‰ü¸…êç¼Q ‡‰>ŽVC¨(uú ¬ —Žî©ÖLF<,Á¢þ‹!ŠThûdÿ’”"n‹]–’Bl‡ÛWÁªõmE,JHëÒñcn&‘_ÆÀnŸ€_^íá¿Óaœð³Ò챬5{”‡¤‡ßºËж=õwzûÕÁÈët~²Ej€íPÀÞœ¼ 7iš#ecY]}¦¸tïµ(òj‘æ•Uµ¢¤À¶Wë§{š'Ù ýÞsOStSFE³’ÒrÜ{@¾¤Þu{8R¥qMœöthí"S!ϰàËP¤HÀ*Š,%VÀ•pô&'zw(RiØØ‰}¾“cC›§Y>¬!à™_^ü¯£sm sZ@öÔI×–š4§ã§4×ÙfCvk3P¸pvïŒ_÷Óá\W1D÷0NÎäV¯±*…M²ˆ^bHS¼5'`lfVÒ–—äy5+ •oV¾'ÎY03Äc8,Ÿ:NSÄdZ «´b£xÎ剗ÈAŽ:„MUgXËFø" pÉ4DµÀ“fC\xšdtÊ“”BÅ}òàù;U‹‚nû×G‘É1'4u~õUGAjURoÐ퓲FM†7ݽ$ÄÌV†¨ lœ×F4Œªô$ øn.<²ªJe| ¤ƒHVŒ&s·Ìœ§ðˆ}œ.”=ÈÂ"1“Zåô~ËýwÇ%°ˆ.2>1|&x/3¬ÑÅ yÔ‰·™”Ó‰ãpO¦V¥¸lÔt·+øõ?m@PM€ëÈ ëʾ²®Æ'CØC˰i–¾h½ëvâr9%Dl`ƒ8Ò=”†>‡×²ÒGá|%¸\PðCBìõˆf»¸éX±RQ;Vóۚ(<þk Š&/“T&zÑíø8$Ê+ËÜî¾ðÃin ñG‡Kœ&­Íiç Y8_€t¶Ú^ÉË›ï÷¹w¢ïŸH!‘Z õ®Ç”(¯0Ý!ôW웣6 Å$SŠib+ŽmV®0Ò|œÁeÿjþù1LS›ÑÁb0§–ˆé_éY½3Ò „ßÒ}°þèÐóGÔÿj¸¯}]-f3fUôÈ+.ì‹s5H¥Ä ÄáâJãŠ'v/e!+±;Þ6Ø»3~r¤tä$(˜î&ªôØ“=(c*îc‘MÑ—$„eÀÈ€æ!Ì•å!‰{ñ%øEÕC $6ÐÎTxOþë/¬zíC< ƒU–'ôÇEßg'׌™5†Á“cJy°€Ôˆ…]|üñŽo­ì–öÌÇ¿P¡òç9z€³p2»´Â‚§°ë =Ô-äé܈Œ¿'H§2 q¯†ÍÇ<áLŠž“Œù«[¬Ÿìø`ƒoýð‰Â+|Odèc5ÝÝ0lDøÿ"éúôzŸæÂ†éŽñïE>ÆRò¼ÏÒ?a/7Û1) €”è bt€iKÛ 몼q\Yš¦x—rÿjyŸBºpvƒ‰‘Jeã÷EÃüïu]"G)œˆp ¸¤ÃÇþ¾ê˜Š×¼Ž´FçÇ£à A{Cˆ>>¾ïpGµÜØ0·ÂΥȰÀ‘PÇ ¯²üïo.fÀúOU9…DÇLR!T×¢þ–ø½~ X¥‡{dAÛ+ù!¥z§W¥jÇÅÀÝCïµ³vKŒÃtšXïNghEO ¼Th•¨îrw’Ò¨"œwë˜ &¸¼½¯ÅÎJÚYa²¤`ÍÿüEÎû"«žˆªVùŒŽ<”"9S—"6¾˜çhPqTT¯$9g`¬Ná)æ99ºJtêc-Ç2ÅÙ幄®a×0kFºŠ^T¸<¬”¶ƒãøèm²”f †ví!•êlúâ°‚Tí w…£I;MíT•>ú“†T¢“= {ëJ?V,èL³g¯0xaûªø7ÞóÂvÃÑIÊFtÙ$NðÉ_ٱƱ¦j;à‹¾ô¶q†˜DàqaCðú¾ °ç˜¤–‘iÌ X.6êAL³£_ä-²?y¯:EòR`*k7ôäwξq:œ™”L«AY›˜JWe3“æ}:h÷ÜžFujçæ®˜çFB§í;@ŒÀ؇àÞ~ECþ;ë‡òæÅP\@™Þ}Sà8©› œºœâw\eÿ¼A 唓ÐйjluÆrê‡ìy2«ï@YÈ8x'Cµ‘{Ë<(2në¢ä_™öŸr#ïóáþzl?ÁVj£„¿=&ü¨“-ŸíÀÚ±›B„ž³”Ÿ2g§Åw›&všÇÿsÅ0ØDg r™>7Og9³?U 9€¾ô³j2뮀rè2biˆaxÎì>Gžø÷VL‡&UdïíÞN4¯»xŸ"8( †N•RæR}t«2Ïaö÷ÏKõ*wxg"šÔ´®7™¥a¶OëÒ©ã~ˆ ƲvF¡îÚ5ЫóÓŒóÈ#2ØýÑÌOþ<îAj8»’×ÙxA‚'×jS û, ¹Èµ9¤L FhöÖu6,¦2’éºE}KCJVCÕ¬»zàlá‘ˤ) üË@“ Ù['„ß®QÂ:€~ÆxÝ\!òÀ9¡{Õ0ë5´P(­¼ [å©$‹t:[ÁZþdüÖd¥W¾è9u M¦fŸ¬®èd!ë2V¶[t1Cçg”„³§}­\dÖ´’¿¦šNž¶c8nEˆ3È_ù"Ûξ;"N(ÿa}ÉUqd;ÀÒ¦dãöê|¥w€"ó?IfÎ_.#<’¡/¸% 2tÎûЕ£‘«û¥…㦸AÜÄÇ/—üÌÅýÇÆE¢DÂè¢ÒCLT›ô£AàÙ!²sh¥¡Qì,QnIEôn@ šeŠu!ƒÏLžÇ=š[dëÑ#h˜–ç2oH¡T(§Ú©FªÔ«ÊK%‡%_ç¼»ZÚÕÆ E¤¬{\‘j¿ñ …wb uÓ…¡Ž• : EqÒÏ>DØݰÜ{£GKäõ³£Ú¡v–˜+éd^;Bx°ÀT>fÓï>°ÀÁiFîTex„0o&Ì‘X[rßûA%Ѭñ³—ï)«P&#pËr‚ph{T£;Ú‚ï@E€êuHÙÈøß¶&;y —4s·áû׺€èŒ…R±3÷šxuõÄå8M¸w¹&ò×D˜yë@iœK (£Sw.b„UòMÊ_”%psQËÒ³'7j4¡•˜4ê Ná&±Árž·*¦¯kƃ Žâh=nJ³Û#å#øSy‡, çM¦À°^T„*À<ê.‘öq—0)·¼ßž×•ÝyøÃ¾¸„gC¸åÈ‚OädÅÍ=¼o½w›çSïàAYR£ƒ+ןө]ÙŸõ‹d8­þ¿îŒÒú¹©co8EQ –£Ž¸=A¹$’‘/¡7Àã6¤±’¸ùàì°#qÕ~æÍÁ¶çËë¨ÒL)“ÿ¥ÑŠ'”4·r²Vo¨ï:„“TÚÀʽ¥$£ ±E ú¹8R“rO¡­L$¶+,Ñm¬æ¦ÔÅ÷û³4!«ãñ3™îL™râ—êÀŸ^ge‘Ç˃ٷzáx øüDÈ©æi!#ä€Û–™_Ѥªxs¡„=߃Öÿ¸ÕuX¥ãð>Yjªê:YûüŒ“ »€Ê/O C,œëU!×o/º§È¦0ì2<ðêm?X¡ôÆ„ô¦lU“‰ÒP?»5ö§4ÌÚbÊFÓªhIG‡5s‚7‘4@fÛéÈ–”CúÃ*sjÁ/‡Ýå‘|™µŠ-»}äh± êy¬‡îZ ÚiI¢µ»ÚufoÐgÔD’Ï1ão·ðx/Ïîh*Z¿âGîc,A!áݳ‚>WHùDÙôâ- ¨uô É>«Ên»þâ´W´_†]PÿÝÄŒÌÄB$ÑsÃæ¡hŸKÅf^³«/U„ƽÈKJeåú7kcâfäh”áüÔÕW ¡/Ûª];êÛ‰YP=ŒÂ{±þÀþ(/7Ssî}Ôd–Œ'ï§n®Ä?‘®Ä¸qí2ÚmP‘ÁâÅ{?ôíÆÆdKó€W@yÒv| í^ihì×½6+ò 2)NÝž[Ôé œ?‡ 6Ãr­(ˆìÆçdŒn ÜYÑÁª–ﺌ*‚F«Ñ7퓉xyo.)I¯ÍD»œteÁ,,K\BEÐMâÅÓÀ~GˆÙ|üãáÞ 3YeïFoÉúÙHà+ÔÔÞä”(⯾½:-Öᯀ†ùª›ëéØv½v€– ˜L1¤è€"$ñ„ÿX|h]’èý©]Ÿ†ž¤bŒÛ:ªÇ@¶i£X†”ØúØd|iÒþ—«ˆ£RìC ƒåìóO$)Ù-a†ÿKh }ƒ›À Ÿ¶1 Râ<­b årÞyÓ¢ñöQC‘¸€Á³PúJhDŸRÖ“oÁ;nÎ%0`¬£Ì¢$.¬ÎÐå7e,ÒÓÈu„Qm0YŠ#²ÏÙ^àµqäáoöÓoëBp¶2†üÄlÐC-$®G³šGÕK¾TÿÃèˆðþ1ü"weWÅz#ê6Å]o©Ükf¥<ë’Xò¼$—4*¡L ”…ùÓ:Î÷HzmíàÒ/Æ€æ¡qàŠ7²q÷–!«y5Ι½3Jñk<¡±/7+–³m}ëäöŒ¢*>Žûz›c¾S˜x޳½å‡ç·°Ñc©Û¬öš){‘ùÞ™·aèQ\¹—J•Š·ãùÅRÑgÙ\¸£/vÊ®u6e—•%Àm¬ÖÕ„RDþDí.¯µEkøïˆ!IÖW2(;rg@¸‰¢®!ò%Ý×f8*©'”¿îb^)#å&¿•­XM÷þÓü®8 ªgsõ,8 nÞž^Ø'¹ì}£eÞKERMèýIŒ æÓñƒr[pFaÀ!ƒÊƒ§y§„!² ɬc²iöEèÝôGèþ ãñÓà=?Foݳppþ›Ý˜X twL¾ GÁÅV{ù!àá‹óz-QÔ•ÓÖ vŸx aDÖgÄ×Kd¬†á'>864÷êtâÕŸòrÈ}y™édˆ»?¶>¬~¦Vö,áí‘“« ž íxá1¹ O¼{?U U€}…»Ð%&ŸÖ'Â@ï—ôïw;V}%ÎŒ)1ÿ6òL+úè¿A‹›]:a¹zø]F•mé䊥¨…`ýÁ÷ €!Õ$ûÏÖÿªnG6lS £U”jcÁçõD%ˆŒKŸ28ì4õôâTrûd MÛ½dÜÿ‘`qp{a~ ºjö%Æèˆ_ÿ w¾Ä¸0ˆa‰ÖNUÃDÏãJ¥Riˆ ÛÎÕ$X«1îÔâÌ0Ⴜ¬õt]yjBC°;⛑4 ¯­énáÞiøÀÿÑb¿-8k?4ðî¾Évïu&©’Âð¸§>.5Ls†ÖÑÆÀ0•HPËykê1â–«_ÄWäèëaÅѵduµÒ#ÕÀ%Û=äÒç§3ÅG‚_o<1xQ9 ¡b”œ©'—ýÇ„àŽ8Âàõf^·ƒy€ëUJ¯)> ø]Œz˜ÛRƒ‹#ª˜úí%¬Ó¨P³uŸµY®o>=÷xøØÛ>fHÝ{z †7mÂaVa qð‘0o^iObÄg6û­Î‘)V¤hG^b­‚ÿ‰ó‰“޾ð‚"Î ;˜ÂrŠe†Ì«oW]Àû¬ ŽÓ?lU2ßÚ) ÜY3óz`[Œéá1öŸó”þ1»Ô»`p‚Øþ?QVy!—wÈH¼ÃrE"û|&hØë¼&Uê|ô„¸òa»¼Ô±í,3ž®\n]ðy%ûqW³V]{ÔâÒ=Ÿ=ãb+Åδ&ÁWIÂy"tÈ|š¾ÝhZ Ç©Ž£ŒœEnàKQFÑ+ø]´­ŽCÖ%zkyÒ`¤Ø„ݦcjÿ”_ûÖ‚^ÔAê ¡ã¶šiøÀI¸À÷Dç°ë¸Š—_ÜH;¡×uïvÊ´x¯$Í á4£ó2$kGÙ„¿R;z zçy¼4˜Þm:CéOÍþìL>Ã¡ÔæŒB8ˆ‹Ò1&®î©í}Û…B^ÏtÞ«¿‚vªèPn FÝus줻=@ ÇPÕrw?W±sÊ(m(ÃÊthAÖÚ.—MÃjäa‰¸”½ÄAxÙ>?‚›òïan–w×,(aÎÆÊò^`e÷Ï X£ÑÉç5Ïýo,î9 !Mh~Ò}àÓ9K€[¿4Y¬Œk˜TV`BÖ²½¾^apŸj4°{EìÛm7'fqTUS·éé êꬅwMÚ,H#;û&€ŒQv­ÙU@`yµî樞t=Q¥1DAÐ@^‡`‚¿Ú/1;*YŸqpuÒoÖIc5ã8ûbº/‹X—Z:od8|¯ƒÏ˧íäÐf]}s%ôZM9ÌOzjIŸa&Ï ¬…étúöƒ6KõÖ-¬×9þ–®dŸÝÙ·TMÁøÑW €CÂOV£@äá’à"©÷ôÍÁ²Ÿ"ªí¡ï¾ô’¼¬êÚ¶’,Yµâü"Fî… }'0i×E9ò]&_àH|~}–7+#öú7wQäõ+×]Øç|ËR’ñÀÌôüø^¡`Ú Ð|Õµ@_[—Ý»ªÀM»¬¤ >?Qo†DFó’ÛÖ|Ð Î`ÕN7VéèUìý˜p)–/ËÕ¿¿mvô©…ëq–?‚PÀ°lò dk7÷6?})¬ÒËÏÊΉÁ&c4‡÷¼"jý»VÙF©„ˆ RyzÅ2‚þüC‰È€øö¢Œ¤’Ê“Ìb$ïÜ¢‚yËàWø¹¬ñÍ.'ãO¢›s&»uý –É~ÇQzíßé×åÕ’Í5ôﺲ‰žúúûôc ˜òϱfA a˜(ÁÖ÷¥2¶Ì­À‰.ŒgŲËþN£—):[mt†3¤ùø]„N´ó¸oØ&¹FæÌˆ%×áiK´ÈkAqÔ:-ÞUqáæá‘ 2v«ªPLeÅ4”‚lWÁ˹^à°^0w.µ2¨Ô¬„…”ªÂ- ðTÂW‰Q¼XJ ×`éLq¿¾\_ÂÐÕä·Ú·õ« eãt n\ŽUw—7¾žv_­ åÈž3«.¬ÐËq¬íúmö“¬y‘J`?¡€r“¥Ï׿&òÂ%Ìɼëê*ËàÛáBzXGÞlí³š@õ³¼É™Ç"ƣѷxÒÖ=½×i¿“_ƒñ½SñtÜ‘>žË'»ÚÏ´&1λ¨$s®ëæ'ÅoSg´Àšoö»» `ަ{Äëè'c[ìÛ™î ®MQò]Å-ù6 ©žÏùhÝM•Œ:ž7/«hÒœÅQHKþÀTÙÙú!K}v ~k!›d­ˆÏ÷ý|Ó‹%ÖÃ`˜ÖÇ(öt±ô8ΤWÉ^™‰Có*»H%0²8€|K† Ã…*´{J‘¸» ¿`U+ëæ[¦ýŠôŽÅ±+š‡c–(ÇçBä!aªqÓ\oEÝ]4¹ôÇD\êæUà¾ÎTö,&¼¨"ù—E5W¸•Þ§…0ƒ£Y'ç€$"’ªÿ…[è?~ü£”ü“ B: Óû¯þ…ËåvßTvƶBZ¨¨·Ú³ÊµæpМr£:ÿb2©)˜žóƒ´7 $)4½/kº:D ­£¢³Lªˆm _\n´-/\[T/æÇ9Ë€õð@I¤ÿ¤½\€Q½zUÐeÛ/ÔÊmGª-[ºd¼œ!ð~]˜5Á ùÓq0Ý •;ïÅ,°2¯ÙbðRw ,4Aóvð}|pzI¢’VèÛÖwÃZÙk£UÝ ¯P¤à5Ú®ë£A$T“| É­fÒ%1Tÿ¶o&8²T#ã¸zÓó}œäå‹”nZàª}Öí®ð°œD㪆_é€n¥eZiN0朱3v‚R¬ÐfBnAK¡f•pœ œUÛÇ8д^/|¹¾‚Bò¨ÐMcF(PÃ)X×ìç±£c¤Ù¬Àp»ds~âÅOu†fóÞ±Øù; Ñ7fá hœ‡Ð‰Êèì%á qZL\ãΨEÅÈF°ñ0ƒróêtW¨Ï¡ä“Œy ÁmýR^à²øj(!…»+“íÚBª¥éB1&2‘dP¯HçÆ=„D P“hûü®íøýÛú2ØHâÔRZïóA¡5©çð}Ö02Pø{ËÒqÏ?ö‘Ö)‹wÕX÷]ªo¹T™u°h—i«`Ga5²ê1ü–ETË&Ø —ìr;6#¹ºÅéØH5_…\=ï«„\” éÍ·hhq½ð=W#Q·á®~ÆÞÞI €‡.³ªº®ÝAÔèZŠÍ·yp‚X¼ì•ùû,õÙa›~y¼5à/´ã=cbŽËÓà߆£Ð&à‰úÁõjŸP'p.#­ Ÿ òé͘³’H‰Rþᇕ–¢E†#íqÐíÎdô’•…´Ì•!Cå–Í’œW—þK?‹Ã…41Ï뉟E_*²F½*ãnÐÄZÓ;©õZ¶e1Öy!ó¨ãI5$èÔ Ø$º9QàЯ ½w!Iâ[Œ\5𘉨×bPlžÐWSÖ^ AEš±Í2˜±°ÚDw4;c´`¯„äêrnF §¶¡&½üÁ³íìÒ.ÚaäRVÄŽÜ/ö]¼ÒtDöÊ}Ëc€"§>(­á”v)Ç{\ÉÜL¬ùjp¨·BîDãü†¶÷:RT7í|pÏ\ˆálÌix„'ÁzPF")ÈØ*ƒ•ryA-üláÏŽi ]ÜØXž]*ºZ-]ÏRùÐ÷ïI_Jzj7zÖE–<‹ðÛÌ©’–@õ²…yËOB>°WÃÀÄMj¹&Y™wÁUÏÆyÒec‚¯myµî—‚^-í±OMt´@õNý¨7TuûÏA÷ #º“ôÉõÛ¹@¬.¿E“öª­Dà=^6°]Ä»Ë÷E÷[Pâ,+dh{]ºm5Gù ³ÌnÆ)ʇ7\!<™óšO¬‘úÞÓ¶bx¸Lžt¬ó¥ëÎ| §²¦†¸ßލwJª•á!žU{´§k/*±´ÁfŠ‘D2¼’·ÛÄtù&ç\z¢Õ°}óæu{th]üÚM¹¿YÍhÞÉ—±£šzÐÙéräî:Aôök®Fʹ©ö>üÙ‰©ÚÄ.)~82líϵ޷~G|ŠnÉ.]aš:Ju”Ѿ!«É\Ëì»{hýE^ì ÕÁÎĤÏ:$\ŒQ|g6Ôü›Z1µ#üoµ&‰0åP õkEPOÕ1eÄ®ÁÁ×&ôÒ‹L^_ùßÚÝ*v$€±z€M–½qµ¡Pëq8ç€ÇîRQá‘¡ôXÞÉjpÚ¡ºXn”Òö2¶HJƒÙZµy_+ZH”K†»€$š’–°0K'=y¨ÄGÆÜ9P)€@í!4 WÕÀ÷è±Ñ=K6“$ÎÖ¸pö×s[©ñÆÓ•{J½ÎÖÜqx{Ô³ ?µÓ­Äj¡ÁCN 3øÜ9[!wy#Gî0¶$yÏÌu0XÊÀ…xùhŒÔ©Ž‡ôG#…W{‘¼Ñovqùpe¼KëwB£uçã=‘ìÚT/B¦§ à2Bçl(åau4•/tpýæ×º¾ž8"-]1 .¡Ž,½ñx8˜Å'ë‰WÑ„È^¾W©Æh}VOÙ[ý7Ó¡ÝR¢g{KH›£]æà’'ò[ê6GcpI¿Oîc#€×Ô…+xù>†O9² “H£Šß6þ0 ñ±˜ÁÃy±R̽ÀÌôDÞŸ™ü"[&{¤Ü)6¹Ü­32Žr… W¼±hC÷Rß;˜¾¨ö9Çìεè˜òç’évH·ù ßâN5×#¼Ùî8ÌDšîÁ@àyvh@4–(÷«ãr ÀB¾ÒÆÈl ¯vÊï×®4V×þ ›ƒ†@©)-=ûâ›|Â]©ƒl<Û¹ ýŠ>;À¯d‡ü”¤ˆ…öR¨ ÃMl¶¯Tãf±3xÓÔð4Ïvd@ìsà6¾[òîFXE»†¦’´c톃1ÁÉwìŒ ‚ôhtÚÁ5ŠNáä¾%Ì'hªmw{Æ„y5%,ž3z:uÔz¯fØ‹V ¨´õ2ÑÊ^¦µ›DPíD9F¬ÉyÌ{ö`ŒÍ9zDã±²yG#v‹¤WÀ »|ـܠj¦C‡«’[Ù‡0É}BäÙ«§”—ƒ›o/„©_±R$û¦•«'9#\Nˆu\TÏ›˜_¿A%WƒÊÑ`É¡¦Ì`€›´dòÖ‰÷ !E/' wäʤÃD¾ŒÃIqN¦IB(âãô¸qD€MÊ‹óN"'aÍþÁkŒmHb`±`v‚Q¤pîXwÇ«}¶AÑÖÕ3Û³—üºAA`ÊŸ-”xa½˜º¯EOѾ¹gœ‹Di˜3»$ËQw6Œ3®Jõf²FMЫÚ^K*ÛÝil5a-‡hØ5LÏ÷N&Ìø’>fÂn`$Ý.m:àÓKši7ULù'J0 A齆,n@4ê´Åÿá/¦ùýÛÆ=fc"çjÂT§PÊ{f›™:+ét`]àÃGñž¨Ã°®»O?Ù?á¯ì5§hK/'¬•2¨ÒAêÞè!Á´¦-¸1µÆ&OóÕ–3O{ÍN`µJàöªüùLUÌMv|,¤3mÑ… A[èÒ¬¨GEdŽ^u>ƒÖäàËåM^  ›ß²æ%‡G‰²d<ìñé Å¢Žl‘I’R\§amÇóišùã¸û"ÔÓÇh'¨§yxTDä:[.¦WqÄY“UJS©%«t `³df_˜Ð½%°4ÐÜ‹!‚µ/“–AØŽ1æc^³ðÓ\_$Þ÷†Ð Ї xd¹,@ñ`-±Ül-S¤YC©Ê³ÙQEsjëƒqZ5u|v†Íi!Ý2%ZÝ™GÔ (cù$äÔZŒ±ž#õ=`êÒ—‡ú ðè[÷ Ù¦ÔSŠÕ˨(ˆ\b|/Tª+õ‘è_Ð27ØøÎyW§Ú®Jî(Æ ³ùÄî: y32Wæk ë‡0'¾+ê¤þÌ˧ßÑ,èÇc °ZQH4¨°ôX>Ç|_—ÚÉáI÷ÕSëÌDá%?‘ù8ØH2›üÿUq]VÍä¥.ü›±.Ï0âá,Þ#àäXÏlxosBÚäë¶Ãú¶ ™dÖ葲<Ì®Œ–mÞVgGFq°xéG qo6\bîg 2¿-Õ÷èYuÈÅUtN€ÜúDpÃ&¨ì‘Ðé×̤Eâl}-pŽWÿSÆ1®?Îjà\ÛÍQf¦3)l]§?Xöé´×ã†Ù;µSú°MD®ÿpö*S"”˜çìV–1¶Kyޝ~BÀ¶®€Y¿TØe aGÁ3?Ðn&`ÛN˜h/vÄ“ýÈûZrúçW·‰ÔNlb8JxÞÿG=²&c„ùE(Å¥˜ñ`' «¼©Ä.ecÉ´KÛbZïöD‚A^ )¹ÙN0¬®û«Øý_Å¿ŸG³îÃûòüô])ò˜Ú¹}¯uÓw5No7wIKjOI}Ø·™s$Uü@è°ŒUYtË·ªfÄžN˜RBëÌû÷r.2=Ï<©>-€„qRI7Ç^¿lÙÕ˜Ðì#Ôºê¹R® úˆZñ²éFÕ¾‡ŠlŠ6 Ò¹V =e…ÈY™c”bÐ:Ï‚Òc#„'a xÕŵ;’e9^"âgð탑2ƒ5|!ªRPÑ>‚ýúñ…+.o¦·Äåk¨ fiªnêÓ=8Ê9çIü‡þ{ø‘{…oSóÚ¼}ÛSê¿vš6ÎPµ0ÞpØÂve‚™³IN`›¬»ÀŸÁ¹¨šå=áì–¬ö­×Ãò¢žXÏþ[_Lĺ{Æ€bg*1${âåý»%'¯T¾Z d1ŸSFLˆÀê^¬’Y¨~m(ÆI±6§¼³Òm‹ŠÈTF±vãóeœM[”7+è‘wø° £F K}ù'í{³{Îçj¢åj¤ «Ú6KE> x8\“XÑ_âMdžH@*P‚à¶Ã«yïýÛ éîa׿‚<üÞÕsu™Z¤ 7Ñ'Î'¶¡-£+W{§Ó¶‘Ÿù.y¿¾ª’eö@ä«FŸ"g’à¡[æ5DРLŒNoPï Wmöð¶ÅemÆK£±7xV†iËÜIü7tH±çä5ÞhÏ}£ËñâÄ­F®ÄKùeÅ| -îd®T¬ F³­Bh”TNésò> ÞÒã¡Ê= S‚Á«ØO"zÐC Aˆã„-1qIIV*ÝL4Ïã)gèª'kb–uµj*Š-†:~Ê=¾u–6NO#ÛT³õWÀ¤…ïéfg/@oÛýL‹#ˆôŠì÷»Ö…Ä‚æ•^¬ºÎüÜŠ [ÿ‘¾¡ «p^ósðõ*ÄÐ(!«˜)£¬gTée7y©\î$º~ÃhAQÑ*õ’ iˆòW!q+KôÿœLôÁ|í>c:³ÏÂ9)wÝÆÚ÷R7¯%R>12ÙÞaÊ<Ã<´íBýùÔVF^êk s!HÇþ)±¼„áËÒ·kÈ2ö²}ÈRL©xÑSÃIÌ^üèªùZE[k£kr<4ÝdEHfßÌBäM%qfsÑÀÜø¾®X )º;6A+ N¯ «íwCß@“ Ò]È ”9χ‹¯ _ÛôBY¾Öéx MñÝÇ@-Ðì÷„Áà _hàr†ÀžÉ¸»”­;ËšÖ«cb^sïM©/ŒìDœx€ óõ"Ok˜“ç±–Ô7b‰LTáÏD¨¯¶\fä·„PºWJ’¿Nûn~Êéœ þÑÂEÄT_2|ÂÅëd‹I‚̳–6Xdo0òTH Ÿo&ïÎölêÊZ’|y|Æ©®mí¶˜޵o#ÞP IÇ“>z–ÝhtbƒØôņ<ÉŽªûhÊweÑ%m¥-O7ìñ '(ÓÔè*•À•Êö¥}sÀÜÙòé´ž¬W|7Ñ<)å¯ 2sŸ‡¤Þá“0T}TSÇn Œwês{§‘Å‘rVðYҔŞO¶© ó¥L²ÕK¯kôE‹~ÔÄ.dT|êƒE¸‰0h¨›éø 1Ô° oà‚9­Ëá¹DØ>4ôÐÚ @ˆ‡áÞâ4a~î·­úEÖ š&ÿOZÛÁ(=$s uR0Ì™1m‡¾jšg`᡹üÌkú’¢“bVš¡~Õ¼"gh©JÇûùÄâD<½ª¦?[l¡u{—Y$,¸Ú—£¿f*^|Ji´Lƒ‘¦nZxd}Íõ™nFÁ üv¢Sa´÷-̧<€²k’•b³Ï’ 9“ ÿ‘s™]"+yÊ–Wý¾r€W(Œôä-qŢģ—XÐ@È„Ëè¹ß3Z;0ô•»Ó§ý9†a özyÚ`ËêTkÝÈ5FÜi%¡<޳×zQu rö¢Ê&{»ñѵ:%Ú5LŽ.¬2³wFô6t=èŸ`šÛ¨á>s¦õŸÑ\V âÄÉ„åõ¢_ŒÜzÿqªùó;ëd~Q¿ßa!i}  X³r6AÁ±™Ñôh$[”‘\6¦B@ˆ* G™õؘ7¿]*é_öI‹ÐØÑµçFm·ªÒŒÑûF ¿2ýmB;ÿ<^[}õ@8á\|þ‚ü¨¨ª¹H‘j²¥<àläÛ\Î#`èµè¾+eœ(б”.Cðý\%YK!œjdoŠŽ±MÏS^%&ý“iƒ̇¹éB;ôÑ¡ÂúÅ sm\>-£žûi^4@›Â¤£䉊ø¯Zä#±ºÇ©XÜS”س5+ËëU.Ïeƒ/A^øé¿bÅ‘ᚸ§Œüùn<ŠÁ^•¸þøtôŠÊV«>Ÿ0nt¹®x¶×4 ð‰ð~núc™'JCvš›Uû®å }BÂtÝu^êXB!ŸbVkzÙ¬vf(¥}@פ|¾\†]±D½Ùþq¯Ña ‘ªXæŽb¿­s=N£”• âièwÊ‘Mtð“ÊÚO‚šBæêº$j·\.42“³2î|º>ý>Åwã!f˜s‹x³Îé8[ú{œçðj(³o4ó±f25Òâ±ê ­9ä÷Häš¹×?±~¨txö®M/é(!÷ç•L²ÜâxF*©²û¹ Ê_C+†Â¥úü½}'äök(Wî±3«cðŽåaçâàÁÞ~[Ñ£ÿ‘/η¶»Í·¹²’Û³µÀüÊ(Eèîw¦Zša?Ú•b²ZÚÈhd®ª]a`ÔœêwÖ¼º¢¾™'ükÔ¢'è _ShÁWɈ¸eä~'Ÿ žýA-.Ž!›Wõòœ¸Uõ#†žW—ñ~Q‚䫇º(àDC*vÒ›áÐ]îõèš0ò’i„Þ^¯õ™#ºÅÁ5Ÿö–¸6D ÑŒ¢”Ë,X„ﺸˆ`V51R®x®½nâ¾²W}kµÝ`NË(#¨m“-æ4c<6N€Öóã%=Qœ+ë¾B‰¡GRÆÎÁ¿ õSb @þŠ—È Ë½¶¶ÃíÂq—®5)¹ é#±¥;ß‚†²“9Ò‘º4ÊŸ'!W9Eå_×ÌÛ”P«¶QW²Å¤å€l—Èiì‹’éŠãžœw«H$wÀ$R?ÈKïv 3ýK }ŸÌ¾ð?ŠÆW÷$k&€ÁܼkªÜS§?ðê'ú:–ÜŒ~Nj¹ &»ºçtFñŒÚ­bL$ÐØßÖÿwY¼+Äá a ¦†™ë¨˜‡G¯Éíd¾êPy3!ÖzëX€^^Ð/££¯b®ìæñNw×$ûÒc³”–‡ò^íí€ôö³úíÝ„RkÌd ³„vÂ8V-úZl"ä ŒùŽnáäÇsÎ .>Ïñ³‡kDgŸ+eº/gD5—K™´³âX·“‰Ãt(çßCrû̧un@ùm`Dë\ž„kAYÌ,¾wîDÅ·Ï0­të½aO´?º.¤š´–dy$§k„8JUoËï©€×Éù ±h(Õ$^oCzjßߒݧ㛉·»aœ3$&§Dz<`–¹nkúrâž#Dh>L¥¬êÕ<ë^õBB ×É©ès‹s£ùðœíȰ´ô.ŸòÅ;U*`‚=ãÂÙ:áf×Ë öi¨ù˜ZêCD—¡Wî|<+þ·?“•k’ab­W–O Zöæù°€‹Ä+.D‚yaÅP‡÷ ƒìƒÀ%›&©‘^Z½/bŸŒÞ^7wÞò&̸1± ¿/'°ÇV}ÊX(¡¼ÂšX}U;¤T@q·ɤ,èž÷¤jVG¡C° fnKñªŒše²¾{DþŽb EÐïŸcÎëºJ¯’™Áßx×ÙX¨¿¡e0m±rÎÄéûð'ÎÌQ3°jóDŸ'ÁŸü'¥s쬉Y h6etDoñª¬«"¹CD.q"¥-1àï€ñ¿Š™NAèÀªLdx%¶ È…®%ñ:¢ßaœQްLÝR¦"(þm™|vS=‹ÛÉÝ“3«â¾ÚCnêÌ ›,T›ßík%¾¦¨¨ä+$,!©*¸màƒ…Ï6mÌD¥Ëý.K yP %è +üæ>—˜Z!RTDi¡fà¢gE²‰ÍÛä¥Ñ¶HøïRÿ¸Dy':ïñIÓfâ/ˆŒbeY4×=:k‰˜¾dbt’È Ç÷D8;òà qÃï7‚l„’é¯O¨¨-ÎíŠ7öÝ1?a|s©%ƒü?` 1r‰àQñp–Äz‚ÂüU Õ b ¬ð2lš¾ 2ˆ³Vº,PÝÜ¡CUÖ Ða/Ã}yÚnÚ¨Þk àC«ò6pÿÙݤYšÈü 'É?žÖËðåî—ʵ/NŸ¿Öüªuò­Kµ¢þQV$ö:ÝFMèT¢Õj<îS-H±w2$<–BÛšå0(b Ö¬AàøFuç/b›ÓÍPæ†\ió)&é6aå? ôk”ömb¾óY¸zEu/šè¾‰$i0ÖDD *°?ËÓÁ± úõ%á­“Š"ó*m¹ ¸‘£ï#ƒj~%Æ¡ è%A,sýmcʲ¢Và<ª Gô]C¨ê~T3Ó?‘îm+b̪$2> û[ÿùƒƒ+²"uRáRL­àbr²·iò­';|Û\ŠG5OéE/².r(.9fG ˆÂÿóµhAùè})‚³A¿!’ñµ ’…寸è£o™Ù>  ßɼõ51üû‘fkë×n ’ý 7eçi€YHÉbGÆÕ¥¼4˜‡¼<3<Úi0Ö¼:­ë\«ÝÝ¡ H}½y;ÿ¤®Ãîá/SñÞanä:´î qÔGŠcoë‹à¸Û TòÈ›qTÌkDQX;5é÷V3ÉÕðÖ#ã¥LöW$·Œ?!þmºu? “g_–Ó¾¾k$´^Ž‹¸\; §“@mR/âäȟʶ6|¾5bL1»9ö¿j|ÞÆ¹ùz¨“oªwÀ~ÊŒ=ƒygÇ›÷þ{Äß\ý$¯Ï:$\‹ÉvÜõénð5{®\³(álso|€2êɆßl$]Ý'uù‘ œÎJ<Îñ§3n(ÆQ(჆ùXgÝçt)°43ïJBŸ³Ë¢ ¡iMÕÎ秊»+´êþ6/·¸ŠÀ9—v;$•†p´*E‚eXp—±f\N~®2L¿Ñ JmN¶12Q|+S;ˆ7e­·r…±µ"#w÷ÜK®1¤?¿Àêâé6çDÖ)óex©z?Uí@» ˜ïþÂGš vÌšý-ŸÁПî$TþoÕ#˨äô•­ë ×öNšÆT/!%$žq8¢]šÒÎG>õÄ£nŠÆL¼•Lw?fèCdÕy²ÏÜ÷2!¿É^)¦ðjßS×k!c”%wö¥HEYP|ß!D‚hß^D‹ àdý?Í»IÙƒ^­Œ2ÝÀΘû¤é}v¦I›„Ìa¸bAZ×®Œ!ÛP°ÇIÆ/øÑËÜåò$…ˆ_‚úðÌKAÅáf Ô]‘¼›`‰Ñ—½zW Œ´êTµKp20+)<øWýƒ{kþÂØÑæËlQÒ&·’=þå&coï~a›‡ lLÇ0å o):<ô¸úòTJ‰Š,c˜“þ*„ÅscmÕ “¢oȃ­ìì2Re (ÊI7#Áñÿäël+ž|€ '&;wu64ަ"×üÁ„:›‚·×+¶:ý{‚Ÿ•ݳ˜ÈñÜå-'žlv¼å½îœÑ N¡mº!¦£Ùáágì'ŒOOÞôÅ3Dç¨[ôë+gB'h ;iœ?VÞ˜ÖƒÕpõìü˜ GöÏYþ?ÄÞé÷œa;x?†ðÏ7>—{~krR9¶¢R ¦I2z]ÜkäÙ–1ަKÀƒŠd²Õ4Ÿ ³Ô¯ËÙ­_4*±ãÖ·÷ …ìÇ[´Qw!ZÀy€šž™<œ©ÄnêR·nP9gö«|©KYÆræÀé/weC”ö¾>ƒMhn Ýl¼Ò6VùŸ]2^ñhˆ‰¡×Š*bÙd¹°˜>p1¸Ì è/f†·Ù=¶Ô±¤Îæ ,ð…õÖκ8Q©¦œl¬¬¡½M»Õ3¼±$­gçÉÑœbÓä5IÑ”övL룣6pdžÊ+°‘(åÔø÷Äi_p†1Ö…Pð0@5èÛ †=ßÅ%¯ƒ£‡Õ„ï»IŠ 7ôEø¢Mr` çŒÄyX')¼-c-&ƒœP££E&þ$* hCpå!Ø1«’9ز9yŽÎ²¶|€´n›¤žÇÌkø³ë•¯[v½buI¤¾j®SodLÖ'ÄM?šðâõ!®# ÕYßž¨¸+í&ºˆ#ucú+ ãï7Õ}Óè±—X´«jP_n‹ ±# þÿ,ƒ‘ãGH*drGz?4ýÕáÅ»ºšè ð5–“½‚¢d—ÕO!'qèS‹ypVÂ{nÇ8²*1Áó””=•dtMuóŒr߀×ÿnAkW¹Ñ8sL3œ)WS7ñ &<è‚/#‡ã¹èäaßnä­¯”Š‹©¶@±Áä"E'B¬C'±ÌCxÏ’ ÍC^7š‚bù÷‹âj[T¨fÒY,üÓqüî¦ßx~^çv)uåó*a%÷<à w¨gÇ\MD: ƒãîp+!Ïg¯"“ÐöŸŸ¡%K¾UdRJnzQý³XD÷ äV~Jˆ æ#¤êyšH\õBy7­Ôe M.U7ôWSõ•É v ‰î$ÁÈÂܶ“Ùú½ª˜ÀµCì¥ŸÑæö1Ñ.šÞÛ~NÊÎg`©=yô¯­' Þw}k³©œ¹7N#½?SO²4iÝE´¡Vd¬ðÔY”3Òë k:FiŸôã³Öh šv¢ áK’¨ì2µ)*øÖUú诅ô;€Æ‰ËïQBÅÆZ êþ@ã6 6_ õG&WxcÉ6C¼R˦ÌÃÜÜîšÆ&ÿUj¡šû¸$ ó×\pÚ¦Y(:º)2gкùÝ ‘†JláÃáAuë °®¶s1v–Ì>«’Jv¥~CJ៕𞶠홎ÿj$UsF4ÿ0ÞÀ}€omží{vk©ÆÅÜôm’Ž™úYº¨â!£®¥7öïqٵά³LuüZÆa؛Д™£†˜@?‰„ 6:Ú¹)‹•ãÐíëXü©iDnØï€˜ŽEiVù[Æ7Òª´êq›I ÍSpÚ‹sUÖóºññÀâc>g5æjòk£&GËÏ Í Ü$~Ù5Mã(!ãôpÜ’)›Íº£FÛoEóÏ™m¤˜A ,,Êã@ló,ï:35Ær¢m¼¥%~0”I¯±³ ON`F’Ö&ˆû† q^ÂišxþÐ@u™…×:÷t@#y ²o=ìž>²€¯•ffp¿¾¶Ë,KÕÆ%[Ü"ò4;®ê¬Rwy€@>8pÐà.úâ“¶3†è áŸúãFû’‹l_ Îëüòré÷Ë…{ç óµÉP` ž7X96|½L1ûQ´Ì$Teç˜(î[ô(/i˜¨ì ½—–o\ŠWd"QµZ è}¢Ù1®¥ê.É®¤ù „ç9u¿[¯ \j¦ÝÍSÖ‡Œ×dÇi‹i]"m§Ù çHš·™…¬hS+§ü'[`Šî°GÝù«­G12éÃ*p¡ÁëMAýÇ›•6ýª¢EüÌ™ÓGkÞ¶(¹®<›@¦â‹AÞ Ð^<¥èƒÈãÉ@ÇMYŽZSQ=M8ˆ«K(¹Ç»^Ò‰ËX†¬mÀ¨„ÆØBxs-ŒøS  ]~3\eRçy µÂöDüöOMSa3P|Ÿˆ8ª0ÔwůÞÓµÁ§|ýj&õ Ibø¯¤! Fù½rŠ•–¡rÿ%“JrКoT~è}‘Þ—Í@-;÷ëªÊ¤\šëÔ6¤;‹í;Š`B{ŽÚ,¾ÕÃ_cœì‡A‹”ãÿ ÝÀi`2A ¶Ü³_øB]ûp>ÃGN¶àA¸ˆþDÙt6NnÌô$uH0©îæ4ÒéîÐOkj>÷ŠB‰!Å’3uA³b¼ËºÂc|rS®<#vî¥ØµÐ8ê³Om› :ÔXšte¶øË|«”ïéšêvŠKf` ^£–<ýg3Ã?fÓMIœ%©7;œ/mR%ž ^Ië à÷«V\] :ð«:såÙl'6l3Ž‘4œ£Ú~€‘dtîÓºúÌð'¾¨B°]¼Kº“ý2ZÇ®¥´îiÕ WÜÔÈz²ƒa¾hH{‚Ë•šÑF=ÚU˜n¹¾li 1õJRf®—m, BÖ¾£[lËÔEg §T,N·ä³m÷mŒyÝLÇ“ ë­Ò5µ•¿ÌnóøÂއ>¸ÏË•ñÚR³¬•Ï(T(Þáë¼~¡€@!BaŽL©bÎB¶Î¨S¢ðùУäŸ_Ðt«8„%é÷ÇE#*w<çm)láæã?ÚXÒ±{…Ÿ£` hkÛåQ;Oåwøb^q!¨‚jâ(öùM;º·+C HàQ: #æ©Ýà®VzÉàÄ>šPGŸÁŠœcÁq½©9ùkçÉ9í^s1ÞPµëé8-*˜$ܦ_wg²AéÑ(±•,@«®L|co#‘¬ yÆžC‚8&ü4^.ýàM9 ’Â’s Øà#Vì³ÿæÿ)¨µîsÜc¿´1þ|ÙPýwÏ‹C°Fë(OÅSu4«’Év÷¼L3d…Fê Fñã^}ÛÚ ç$“lµb_>—+nm¢"Õ‘ ¿&0tPöhAófbÏ\õ›86±°£´Ç@ÿk%þÀZɃäzOÆÔ2Õ&Fí¯€Bë¼åü=‹t”!oñÝ™½„çeL5Rb6¯‹a”HìTVF‰˜~šŸ$:þ,|6LIÀXE&ˆtRöe¤œï3²À -;m¾í>“ðJ‹P›:âáIÓÆ2¼$¶#¢ñ$0µÓ6AU¼÷ѳxêfÅò{ôšZ&7áV;ã0b Iß~=öM ¨R²s=Ÿ„ó¹T5Úo íœ:ZluŰ"¹j×»Oñ;¾óº~lcTñ´CÄ‚æƒÌçïº'.#9‘Ò;|‡a(ßòðQ7PÊ¢ÛBFÐâ #ag¥¡ì†§­‹ÅðsC0=Xx¦XÂ÷b«üß²¿QÛó¿£D¦ûD˜A’“nHJŽtˆ3;Ó“ÅöHÌö)èJ¿N‹ãþIãw™NÙ)êVìŽ,ù~µ(û$(LŽs/– !9¼^ƒÒ@¡_^ª6AÜ}¯À/fp½f“£±&¶Ð¼×Xý÷öCˉ}ˆÅ´¢ïÐ5<… “x˜…ŒìIz×JÚ[ÖŽo¸¿§æäÊH*h€ö »ôŒ.TÒ ™6–kÊ»J¾yÃ8—™ ~ÃÁÐøäÁv©.Cÿ©Ëʚ؎þEy"MZÂÁšRö`&ÎxО¾·ÀôÔõî Í~pkIùD’€(0¼î’º¶|-[3"Â3¶ñs=S%y30ƒØä? 5TШkþ0f”l‹íí,l3sXËâú˜·¿”,ècÞÓ &¸ŸƒpIÞ)˜áVç‰Ê–UÌúÝâÊÚt#Ôw•L@ò‹4^ú7—€T2sÏzZ¢Ç»MµÏvÓX´nD<ÄLÊǪ„wíW¨K0V•ÔÞ*› à:ûn„\ŸŠÄ~ö-Äíÿå€ö[òÚí«æßë5‰_< ÔtO‚eDcôÂÑþ)ßËk5 Ò¾ç¢ÉònÊËi¸ö£>Ç¿…bx+Co—à: ƒ+!é’Wßa}Åž:9fB­›Ýâ±#¬HòvÌ+í¡†`Ϋ"†ÌP ^ÒOCϵe¯£–òŒÛ¨þK‘™‰ «ƒÕÞ+íGÌ¡Iü†h:Ý1nƤ d‚ ›ÖƱ ¹Ê$ŒtÈ[ FC2]ç- vj¡lܳn *Ô`2V¦Ã̶½qðb¿®wÑÜeÛ³ía‹ÿ:ö§é]„_µÌ Gj.§3Є®ÿò¡Š?$Âø¯$½˜f ¢åŽ s1žé€¡©tîâÆQ/»xTÓË®ÿ6溩 n“ ¦ì·É)­ ê„߽Ο*\õ^îŸòª²j—„l#YÐÂ"=Ñ­~4ÂrXW2žd\A±,³b×j|ÎâÕ¤ÛíÛÊ?IñÙ‹‹›ñ(Á™O#aÏì™À Œ¯ú@ÇQë9™Çu ND$¨ÄÎ"Œeâ¹äçÖœûz ®½gݳ÷P#z¹#/BIÎã i€7â’®’Ñ ‘ÂήšfN¹Ðžê´‡/ưúþ>+ª<°Ò¨DÝü<­‰ÅáV!‡êæÞ:øú+¤Ã²¬Ç,\ ÃkyUn›äæÉWÇÄzN­Á‹uÛý@n‰%ºÑ3õƒŽs©úK1ƒÖüAíb´ÆA½ßĪ]Ç• `“ÕNr ˆ®%Š®æ1Nb†ˆ>?—I0X˜ì¡f\TÐ8Üë`ÏmjãÐþvW‚g(!ñýDîT·QðZ@DXÎq£Îd§ßÔ¥‡!ÒѸëÊ4ƒ¦ º(î…°º6$Dóç–8eO\´&UËßp¿z²f-N¨‹6ÛypuKix(猠ÚHiv0ÜïjYNè‡ Q±·%Ð’eNŠ.qûéŠ ó2O«ôº·@mÈ _ÌiF{{øüçþ'Q‡z2&lãu*Û tàÅPŠ­µ¿uu  KÈÌÔA×xüHkª–’?vÆ"GGf#”Or}W…êDp¨V”~öô,—Ï–} ÀAœ ³"ØÛ•P—Í;@¤ûwëëáUƇ¢°À£o2ÿÕèüƒz•¶xïdûZ<q︮ ÐØyn@qÒó ¿¶¡iËŠ¶AA£HrZцáû{º‰xg—¯Åòâ:<ƒÏG¬ÖÉvµ¦läËÊü“C›¹PüTHHõw~ŽZüª¦§§˜9®÷L}'s«Wí@žoøµ¨°ÈÞו¨AÈa/Íþ«Ž¡óXHÆìåˆÅòµtõ*¶Cjè(.ú†Â<s+ª“,L®þ =¬¸Ù›:ò÷­[Z~,×ËÀš¥FésSDÞŸíHP3€U«Q$Þ éªr5r]Ù¬€An.X¡D \n-›ÌII°'oÀ|Ó ÖÏv“„?Õ}š]Ú²T{à—tö…xðˆœ¹$,™ç߉ô WÓ ~,ž&°TøØõª ¼×ö%A×aÔ$e]¥[’ê©jßFU ¦IM¬re’êHÕ ÇÉû6ï6íÙÏ,ÐRµ@ÌibÿÄ×Á\€°Üs ?£­Š\Œœ,^íz¤ r¡W2-jÏ4su€·áM”F|x0/;u¬£&É%ö„†Éðà”e ó9×ôg˜ÆDœ#iÞ[’‚á"Ãuj^œÙލ¬µƒ/Ú®í€ÂÒ–½W 󅯾»JQ4`°¦p íHбý½þ¬wnÍoz÷ÂÝâIl2\†uH P±;•v wÃ,ÏZ‚Ê7©±”/ŒFí·Õe©»…<n"»FëvÈôa&§÷Ôv•¡§ 3‹o"èô¢dœ©œäÂú“gÐù¥‹`†4n÷‡r"]V¬Þó`û–Í)áîÿ?4\f{î°cEëŽEhc|Ùââv)Ý'““%:ÇéçáÈØ˜ÌÎiˆ§†[I9a9ÒîA}û K­iÑä©<Ž/ÌÀ/A ¿%Ø™m;YFv5=êÊ2¬ÄúϧJ¿h|Ë}wJMh³3Р¿H(4,ÁÕôƒó-Î3Õo:µ+.ú ŸÐԙ˽‚ÖçÿöàŽàV¾mîsÞÁ6.8c¿íxC.Çe4—S§sLý]Y_ëb˜à+tãUÅãÒ[z™ÛÁšâlH5ÂÞ±“¡•%ÿ+ºGAô°é R Ïß@ºú\Šm-Úr«à4 õš)—¨Ë=!Ø}w¡¶’ÆfA¹ä›œ·§GO;îO¥w©j7¶|PgéÓ--vûª“ŽÛû°Y úË´BÆöêNFùûÁ-Äß<ËnÒ¤3ˆŽ^ãChý(h $l;hEIQ›jô¢4¨'Ö8Øîæ9[£„™Çàä×d\¦ èÿ\é”,/Ì{£ÞÜþøvÏ&Tùë?=Kþßw놤kJ±uËpw­\ìxѬêѥ߼G‘U¾MP(rk¶üÛ\å}cM¨¼‚Áû¦½^í8³ˆ¶4íñR‰ü}€Á“tA¿£¬a6Åë:¢Dƒ±ÇnÆ]A­^ „Î ¸G k“^<Ý¥1Q¥¶Å¤¤%¡JL6ÂV¥ˆ†ÊÞˆéX裸‰F¿2ñ¦‡vS1_¥ì6µž)×Ïô±ˆ„XŒG0ŽÍobû=óW$aô÷Ÿº[ÛcÝeãÌÒŸ?ÇÙ¨ëÇ`öŽÖÊ4¤®v€2ihãÜóéâG¨`S9»=}ç²pT y²ó(¢ÁŒÌ'zÑá]^µ’'1ëz ¹¼Dê ª¸–íç«øªÕ½im½fã¡În»µÌä®Öšaµ/ †§+ê—4†&S¡°²Ñù£ä(JíÞWLRGC‰dUM>a=›¦éÃ…(¿‹Lšs)ôtv꽊˿½V1 ?gɪÑá>0‘{¥Á,äŸ*"ƒ#dÝé*ï$ åÓgq¡‚UéEÍeÄ¥7'`ÇšÎ3/µ™x¢êóÌ9 5-nŒcçÚËz«’ÄÞâ’ÁÛòœØg’SÍëôïI¿½Å öVm¹¹bêéØÒÏP¿)2¦J‰[ØšIÊ7ÃMûñ*ÌÎÀ¸÷©ŽfÅü þêI ‚‚Ô@ÓR/èAÑÜ %I¨š?ÖÏçFÎÍìi\šQ‚¿é%¦F8±VÊ’÷¡¿^¶_xÐõ4?iøµÍ—I-Á Zbÿ¼/+ 2 Ü–Yh‰j«“’§cØ^p0¥%¯Zÿó|®®F$´$×JräÑ3¶ä_¹~àáN{Ç·JeQ£ºèѺ}EMr‰ÏÁn€ÑÜâîŽ@V’r†Uó|/7_o‡<@{9ðaãZ|c Nädé®])¼>å ðMeÉ<1iHÚ`æÕúcÂprÈ’¡"U6#q¥›£ÐŠTK=c¢…vR{t UHïqøGׯm ón¢¤ gît’¿9?-Õ]“©æ¶Éñð[ñØÕ*Fù¹.°Ï½âgm9{[ä¤ sMÒkþRêw̹6 ðNÄZ¤ÈÕTFõš{ùÌU*àVÚŸ/äµkX~N*–¾3Ù÷Ÿ‚ãse=PKSn¹°ãV ·ÀÊ—öó•V?=”óÍzY)íí ¶Xâœbƒœ ‡¤ÁžzŒÇ«çîœOöóꚃ©̹é†nšÝáaI{£74t †­ËñÉ ™&¸ˆòŒ^¬[Ô—Çü¬?"y¼cëGòŸ”!MÝê;øëúEÜv†7ýp'„|S(;½âï¹:´»^eGùý£Œ$Øþ§2‰°aúL+Ás®f Ú8ÐèP3ï‚VÃ’—s¤u5”Š<'ã)Õm%QÖåñpʹ]”Ëa+9yC8ÙŸš ¶wl< ÕÑv"‚ ¿cÇ5õ‡/¼n§ÚÍïƒ9Ãy7Î"(1´ñ¯$—°òIIÊÕg¯"ÞI›ìþðÓ@úðòuz+µ±nDHÓ“¹7¤¼™wv™ÂZ°k[Ž_“¹¿a†‘µô"²ÖÀ¨ü`89À‘÷\[ÁúûÔ¡ÙZÈâ=ÁªÍ¿«1Äx!ÄB}ı =€¸çïDSPwµa™¯×ôé=r~ÿº=‚ÊÁY ªT߂֫ ¬$ú¨€Å͹ê—ô|üÒjÛ3j#/2GËoÑk%іЮH£¾$ §Œã±·¾Ëœ©(?“•L݇›iL2@¶ì³gc®Šw:þMºt}ƒv•¸!¾A0šW·õ¸dŸp¡5³!óÅzàéq»È÷¢M ù×¾–±oWì´=FÛÛE Èö7ký°¯{vµ¶§ßË.¸å ½ñT $&û|ãÍ«|œâQ\ <Ã"à^ ûÀ”*íâ:UœyFÑïà è:#I]n ~¤—ѳEÌø¿Ãüoõp‹æ;>›.25wШ{` ÷†•,½Ä“Ú·1t1–_g–i×R"ïß²bû)f2„Å,4ëAKÒÉ,<ç² ØŒuóWck×"«‹Ø—±28ZØM}°Ùfœ@M;§’ì’$¥EÛèËx±_ma¹ãuñO²Š…¾[Š9,ò,XkzIXëìCÉfmj vÖ„·»TÄÇž —ŒÏÂÆÄÜ‹[öÚiˆ«°¯G-4MÇ“à(;Ì–”ûÜK—ð—I¬\‡¦‰‹ÂÏ…Lÿ¸W^p±ˆGˆH-ì¤1pe=8@¿èXÞt.ÐV‰ïÚ¹øÆ¸zêàÁÖ‚I¸m8ŒüÿC´”2¼ñAr2o…Ó »6A“ ðh6uz2Mcò°â•åmk ¥2 òQ~>O•HŸ4zªRÅ<«dã5³~¶Þ{>ý‚qrnÛÅ®9¤E,0P±fOrE,=×1V¡-¨ñÆsî#C¨ x~ÉOõ¿Y®e[Ý]yäa€‚`t1e·¼ß±{_ô C­?I¯Ÿ^«ÅÓ,€+í¾Fʺ ;õ£ÃÃg“w7Üô6ó6ó§O†%›ÙDKúãsmÑ(?Ü¥3¥ÂnÏÀaùäeÆEjßúí™>ˆPð³ÿ)ïš<긛ppæH5¡°ð³Œq”>½ì(©Þze5nŸÅ´•sÐ8´e-œJHŒ÷RÌÑÇÏ·~[ì'w;G¦ÏàjîK†ø;gÙH±-ætïYZ”o 52¸??M­t_ÿFmø%Ñf‘°é˜&”æÅÈìòè¥÷[æç¹Ë·í.VAK¦~!»Õ:uö:µk\ƒ£²ËÃÙS…¬2òyÞR}—u€ c¬ù¢ži…lEŸ²V÷›z[ï}‡ãäõØÝô9XÈ™j¶L#d|Ðî.ê¡ÜØ^gïQ‡©›5$¾¸€º')ŽÜû ëð³_²æë•æf¨°Ø°W4­ QET%d*÷ŠŽmÓ ? X§»Eÿ“Œ°'G¬@ùh¾ÇI5Þ€'VjÞÏ09²~ˆ$I3½Tá¨ÿ5pËÁR¦k”D¡-øÒ]²2ëz4ÈíÈŒÖ3šÔXŸÛgËå'¾P† O¿V¾,œ <¡j´ßöÌ)ÿÀ`$ 3‡_öÈ SÇ'Ó¥¶ÐÑh‘ „ òÄÀF¹f½G³÷R¦´s©±EL r+sÌfõÜ™„eÅærMS®ÖºUVMÁŒâ?+>ß0&Ø¡„=VþRèùð`½A{‡Û’·ž¿è{•ÆpL†µoxa~KT16r¼ä¨¡½˜TF1[pRâ‘y„CŸÌº¯ŒD› T Ä´cš #w±¼˜j`ûÇë,ÕÉ0ïù“,¥]LZâ£shÔÌ|BR89Œâø’¡Ê×îQâLa~탗՜’âÒü.ÁßÇëúÀ ½gi• bùOñ¶·Â‘¹õ &jÿ<0lO@ÙƒIäl ˆÀá„ÿ%PǸ»˜â#'p…&â³ý–¯Cáû}øýG£N‡æÒ˜ªrÐvŠsøMwÝ­ËÇÝcŽXѧàÑ…àuêɰnµVIr%ù2챂„¼s)¿ºì¤êÿTh?Щ€Ê5^½¡)9¥S¸³3ä»e¸Tåt ‹aÚí´¨Œs\Ø »÷úÇgóCH?ãˆY¿öüôÄL¼:K›D*JZ–깎qàÞ'9æÄDÛ¿tD{‡€å §keUÚ§[WŠäÃiãq\ql·_ö5QCV[X-ìÇË$' —CÔ•º„æcX’L³;mO—EòNßt×âu€ HŸ~]PØ‹O‹%àŒ´:ä#¤è$a0i|NDõ«W(Ú>›™ŠÚó*(•K®wÄõpRrcˆ Ì##ô 7!q0ŸÿÓ›\n2ŽÒÓÈ"ì·†\y<ä¡ÊBΆ[n"¿ø@ë2~ÌÈåã¶Tioå¢mœ#³G4ˆ‹¢ªÎ!õ#“@Ml¿J&bm$b–6?詘¯f›+Aœ@¸ CÞM]DéJ9f­//Ñv¾ƒ ¡ó@é`sûþÅ6ŒÀK|Eç@žfí±°Ê6bñËPÍSɑĤ‡zÍLŠ3„®X¼†mGՉײ_²üu¥&øS9®Y»Žë$"Ï!Þ+(bQò@hò2µ~MÐé:²éq]ÑøÅj2îhàÑõ4fM8þ2Ãð^ßkà±t`]œè’äeK¤Õri#ßé-“àÞ}í.÷ôùžQ¨WÁlx_ʃ¤ï$Űø hÖv® bÇ÷(±ä€x†²Kèé¨Jj•л–ÜÎlýÌ¢¶0s i¨þøÐ¨ÝÎY“9ù&R9!MÓ#/[ÄÓþ«î)¶5zJ·' 0wI–mü׬@i¾¨ÄtWµ\QþêL ¥ô¬þ¼`ˆ‘žmHæ¶ äf»æ?ép]HsÓ« ‘@8ð™[=‘ùÉ› l0ÖLî–|s 䪬aÊ`­Ï®\Ë]Èçµ³5­Ì„Wú³%² õûÙ¿ìá‚ð ÛšÏÃtº†aeîµzÂáƒsO !6VÖÝÃb|U0 ü ˜}[ú‡hqßùv´•‘l+1Ï4ZÖ^çÙuÂcp†=©¸²–Ù†}*!Ì‚NxB!8»[88V[t€Á?. qQ)?FØÈÌ«9_qŸ.»e = ºƒPmëþûêj®tž=ÿÒ1ËmV|ÉÁœÀµÀ#!ÂHä\å=‹'¢ÚPÃû0‰{ª„šØ´áž…÷åå, Há ­\-{)µæ‘½ÆG>Ú‹L øƒÔGžÁ~ê'\¡¡šeÎõcei0då¾×X_×ð¶l¿å uûªdÆÛ©Òí„9ÛÒ$c£ÙGwŠåCK5Q7ˈ—DÙp|D*ç^šš…ÕRõ»2PEçöjûn;¼Äï3Ï!¼ \$4 $h3´_jÂ\x]›šñÌ\X’coe(®¦Ø •)Œ}Ê$6ƒË¦íëA5mª1F?,Øè¬šõ)²?†¨±µgÊ$ÎÎ-dk³âŽïAP­ ‡X±h nYÖL쩇G•ÑGø,¦O$I6"“‹U¯F q”ž¾ChRäXjnðQPP+z…‹¨}ÑûüÜKð“ñ7~Öü¸ K}´ªÄDî6ÈÙ­û¹ÎÖ´ŒSnÐÏÁÓÑQ ÊfòÎÛÁØ„HÏvž{Ä?ã ÝLŒæAŒ¯1y{Iáµ.Òð¿ÕýÎ B>(¨G‚%$¬ÞºXÜuÄBG6r)«ZLç³ç €ÇBXª*qõú/ôþ]ƒã6”eæsßÀøÀÒ žø_½Ø ™ `ð”ƒÚF€¨Éç¼9uÍÿ­~ÅåŸ^m ƒ¶ïT pº É©ïÎ,ŠÐLÏo5§2¥™Zµ³œ#Fgf)½Šö¼ª\¨eѤ`Õ%?–Eüt¶]ÐѸ2{šÁ’:½¥uÛŽQÄž)BðžøÝÓÌ+ÃJ´^¥wTHʉ‡á·Ù}åÞ+ºâœ]À#ø/¬2ÒlÏ á<ù‚mä*`#J焸5•›´½q“£Ä]mD‡°FÏŠay¹.“ç‹—ž&SOµÆÅmœ3GÂÎ8€æ°ìÀ,3ªeäss1c3*«¹ˆÒò‘^A,ç/Чj¬+§{Ô“^P¦Žuƒ d&E[@y9eŸÀƒ0=ÿÙ|½Á8ˇbpû±²±ú¤ÈP·8ìR¥>6Ô÷Sæß%vQWy˜Ûbê^‹S7o“ ÁqŠøQñ‘´4hÂËÖˆ$jåßÒÝž|ž)’âñPs6’ØbÊÇúõ­(,µm;7Ìœ²Å‡ü}wvÝ¥O”Ë)IÖ ßS“‡@mú‘N-Óò%„@On¯#qøãQòø'è¾à·»¿›ýKyË}™’±~gn¹Ì©(Ã=ßmvµÌÚ¬+¹ø¬ ñ3•a„R¡Ò\~ìJ˜óè¬@­‹G ‰ÏyhÀ|k„™ ÆŽËÉÞÑÜ2;-<™¥ü. úúê´Ôí|L;§'Éláâsi£|ß<°kEËr^HCzä jè§Wû˜¼¬"ä'Íg&“‰ÿ[Ìx•™)&µ6»ÃØ÷Gît>6ìGF,|^­ Ýe¿E©AÁ€Âæ DµÃ¸O m}sÿõë«[ƒZÍ$cÑõ¾<ÿ`RÑck³U°ÚE@É?nŒê±ï!"l¦U°1xUÓ*cj´BëtÙ˜Áž‚>Là+èm˜˜Ö›Õã/%èC0e89Ð¢ŽŠÞŒ™-ɪ°ãìO8^ô=N¸p¨S*ûDS ¼ ª¾9Þïš¶J80ÖÖlŒì_÷Åž ®d Îròé‚ç Ô¬!€MU¶é]2Xe ª½Å¦dþ÷:E…i~DUɬ!XÜ3¼Ò6õÁÅçzÓ[UÅJ”yüßR"ôÎLîl‹žt’„/”ƒŠ9IoLL@úÍ¿cÎw:Ñ džpùOD›¢}ïùÛ;„Ñ$MÒ½§’¨öå4² JñჀ² øô¼:y ‹­U‚\–ÆÛ+à™œ2ßL€þôéÔ­è\yLô´íú‹€,·:ÿQ!V£_Ójbãtº°Š¼“\­Œ…ØVƒ-Wq˜iœøøÊ!<ßeû…û9YŸC^¸ó=1—ø&8ÄÞhw·êöé\¶¹a@`£ä† ¢‡¨B²O”‚¿PÏì륨?‹%h¢v'Xù¯|"ÕòÚ˪ݴ“l]:Û²„jÉç]Ú.zÇþ·óGök ­î`*´“¶ÄÛë%å«·ÍÙŠ”Ø{Œb§°ûs—Bv@†XÂ½i'x>H³‹ï¿ / *=®bÁŒ®bûtÃ~ ~°5Ö,€¨¢‘]j $ïk‚¹è6S¶ŠJ‡Ž85׈Nê’ÙÃcäÄl­c ¢ŠJËÝÌåçw„©KJ±Y`]Œ¶¬†6ÖÍmx\”¯Ô^$¼Æ­0áíДÌ$œ{gS¡ðò'³ÑkC­AÃp‘϶ü…Du•^aH-¾)ùŸ½#ªŽyµ×[±¬·ð¹FÌN=Sº?P•GV ‡¬=#·ý„Çjî9ódšç'‘€E¹‰T©?–Çã@k¯±}"@`œë‹w˜Ÿ§ ªwl€J›év^@`œ³Ñé!ÙZ 5áßÇö þÁâF+–Óáô-Ú¶s.ºÀ˜RÖ%ZÙ×2†ÊH~”#¿ó—5Q!‘¬¥¡bœ=¸xTµ”0‘ÁÉTGHù®Š}[Ü|`¼ŸÂóÒ÷¨ÑÁÀ?•m¸57î·St€Ë÷Ô`Á€Fô×]N¬Ó—^î€Æ°‹Ëò¼GÞ\ÏQžÎÔ4?nJÈ \PŠcó53Õ9Òþbˆ§Êäåð×Ó™n´=x/Áw\•ôk`œ ÕÔ†Ö™tÈ¿öÂè¡åN tÏ"B’ƒy3³oΗÁ6‰T é’û¨]¿„ðF®¯…û­®Y›AEî½<ö«Áu¥“®°R SŒ¢$xr5=ÖÜíUk× ô4~Á™Û­àQØ•³Ypv¨*^ImSahJhaƒ8ùC³ÛÀ\ð—›+^œ~½†‘KÀ\R¸î*VjKºï#¤÷i×7`ü’æÈcŽP¸ÿB¦KÚœ®u]\eÍ%˜ì•PvÌ¥6…[K9EäŠì{a:â*¤ã剕3>ì•×hçãþ ‘UGÛ?²oxÝ‹Ÿ Уx RT‚>àjš>h&ÿË'Øï/¡sq6…E,vHqEfßÕÍÎtKeÆW´¤w$x¡­{…ãB%¾1O ’ÛAQwÕíL|µùþÝÏr/lJKxŽjEô÷»÷)q1˜m½jß/d6ðtÿ¾”Ä’Ôk½Ö:þïAqãP] •s U*œå¾·°Åóï±3?–$¯IÖN%¡BÎnÓjx•ÔYÈ„ÚK˜Mñ·!íšU½ßtP3²šAön¤¸×]ï§¬Žž`ªuš} ÄK`FJ‡XÒÒ£+¤Ã×Ð[?BM¸Qo£ò 4TïMZ9b¿ìfžŒW¦Äµ°ßû.¯5z¬o­¸M28ÌOßesøl¼ÉVD6ÑÓ2IXc>§½ÔˆêžÉóa `;þ't@J‚›üèr&³ÝiÅÌY¡ˆaÕ(²…4P„¬\4»s<ƒà½Ëô™&°h£9­¬ ¼ûlž40e/§Š '¯wo O7÷(ÚÈ€q Èí3Žâ":WØzHôEvxZìÐŽð5ËŽ%®GZ˜ÆéÊÚQsä»ÀTþyFXª¦¶ìÙï‹iÜÆ„…Ì~0_qœÍåDŸAÜÍð¦šF]?f¥ f•É‘NÊš[=çM0õˆò›úŒcì3öš+‚ÂÔeôE¡*œÄŠá/À–)l¯†Â>*ä`!²¶ü VËWjº–M™]Ç,5:Þöuò¹m¶&|j9IÝ"O%dõéc¦]ÕâªÐ0‘ñá5w Âï©A ç3€TNñÙ“)_²®Æ,0-“ªFwÝF íN×iþAµÕYÑIbÂꌎÃ_ ¼›"»ùÞºáRwðèÀÆc1mA#Ì@;J>çˆÉX8.Kô¸".x¼rÛ*ü5öX©´ïKhYø;ømúbmÛ——ø õJ‘œ  œi=å¾ôrfÈ¡4~‰J“àx/±ýÞ5§wÇî]ƒ›ç›þ±Ô¯5]£Bùäiïž‚±‹©:ûÞÜÛ^Ÿ Íš½”`ªl{þWÚH¡=Ìfô.Üœèî‰Ä ˜?U©n°ÁvcU¸~{æLNØèŸ¼1þ¡’é¾Tá®põ™éz–Üz Ÿ–á#2z>Oþ%–˜O†;,®êÄ‚OØÜà­«i}‘˜¿ ! úÉãÀ•w˜ŽA"ã‚,Ã]‡Š¿ÿÏ& aëAímÆ‹úáÞ_o°ªÄ…8]ÛÀtñ1ZKp‚ êëè:4w÷_Žƒ[Óàtãž>S²3uiJâbüžàÇΦ<2ÕÃÀ ½?· 9¸„VR°]<åiÁˆõÝÝÃuò»]¶X泂,Ūb:ý‘ižwý aox"áãe@F÷Ywà½k%SïéRŠaH!±ÀÓ“~þÎ@VN/•ÃGá÷6ФI»šÏ³5mÉðóýzÑ\É2jv p´nÉGJ¿÷·þøñ™?»W‹&èT¦á«:a«{è.Šküxr#Pà®<+x”k“Z·¡¾"¶ÃÒ{žf¤é§YP…|äFõÊÙ®;…% É4^ùzÊf)¨j,µ*žj$ŽD¦‹¶¶cÙE–Ö^¦ôî\b“ã5S9à'vlí­õÂüزY ÇŸáùÁÉ=bT_È3"—Iñ}ºÆätÓIç‘ÒòÂMVÐ{çŠÐ ‡UŽòb‰ @³;!ÅÕ0újõجòlòÀ@è»­!}Ôý.ÌÏ„üH¾š7½"ù¤cª‡„Øò––í½±lÖà·Óç+ߔܢ-••… ïøƒTÜÁ!眂™ZÖ€Úyƒ‘NÖ£5œ3g\9áW'Õ÷·£§¢J—·s¯»v™Í±ø þÓDëîgØ·Í9nÉOÔ„H½òçvîü-WpÛ‹P¨˜  ³á¤3¥eÞ@5°Ú¿4•õƒÝª”ƒï´\Ðûc#6ÛˆÎι ÐMêãÀD;°4tq¼ðOV°+Ù Ùï¹à«¿ÌH[û¸¥ƒÁõ'l]o*ߟ\ Ÿ÷lá»5CÖÃ?y“ö³ö-—«M;J:°"ÓT ›º’’üú9EBµží"Ÿ^^åªTÇêc}¨H&í";o„Ïßå¢Jªwtc×yc=¨wà¬@(úÛ£zœ~nðg„é@^±WǤXˆNaDù%-êUigxÂUM£Î•vüQ³»¡+ï1WÃI ÍÍ®}wý¶1!b\u/~B°ÄŽhÊ©ž÷Ïsä_¬2åeàÏ%(8/!VÃW‘¨4l·Ýò' Á/ØM§gÊ"âyNV"Ëz`< Ótà%S—_rùWÚÈeÇ&T*ärãºJ(Õ°¹gU…7ì[ú(¼„pü³tìV!YdKˆa° ‚xýp2¢?µòãyõ¯ œ ™cø`í; ±È-6À×nD‚C\Ï PJø¼.wZÔ,ކ”1E!BWr[ojÝþvH`0·ç°—?€Æµl¸gDìÈ~4ðmfßpH~3ïIî„v8æùòÛG u_ÿ%Ï„BH}ª¿ç2­`KaƒéÇÂ?'K¢ÓzÕ„q_o;ËÞ›È7ŠÂ8,ˆ³³ÝÙ£MeöþÄñ¹0î?pDõ ²P¶%U‡pãA°»ÛÓ’F—¥Ûð†î‰·£(lECÒ° îòÂf Ю/ÿÉœìzÖéYr œØé×åþ[­xx­B‹S”Œ‹ú=XÊàžN¿_°ƒ\|²ì»uó}æ³lÔD`> €LyA‰¶Ržø-XwîcP¸Ä_¤Ä;Ø6WYÚë'÷Š K½þŸ?úãp=h• /²Z’rÔ™²kÙ˜qLiÎ]âxù?¶òôiäD_¯;¦U39û~@r"+‡iámNÜzU‰FèMm®#ÈØß´ŠKY6ÎäB@÷‘9ºuè2¡·/¬CqÒ’ÜeÕƒêf“}eO!;Bíjm‰™‘EJµÂñ~ŸñÙuƒd‰üZ,©á^Xg±tõ*y©¹,S€4Ãi÷.,g:Aí»wøT2Z‘¨’¸‚¨Uí©Q'¶òÖ^0¬Þ|Ce pNûÍè¾ß]=ú?9ïCnѤñ}ßå~”GrþPŠh{› K‘;òà]»x¼nTÈ>$ÎÊ€$_>]©E‹ÅŠ¢ZxÝß1÷|z”aTʃ-ya+0ƒÂ~„tVH—åh2 ¹2è:Dˆì†Öä¹z-ug’NJºN ÊmÎ)fÃ|ÌBd/¨gP±?v w0•ÍX…¦ CSÈöU\6I¾Ê]hT2ì%ÿó¬ÝT´ÁÓ4âZJá'Xè¥Å{µøG: T¦£òIÖ‚Ð º¨ˆ9pG¼X ã´€•@%·P\Mp?;ç1|]åP±FoÄ•xÿñF³ö8ƒÈI¼>-Öé—¥º¾ÀËÔ?a‚üyð;ɱóÞ”q=sc÷šB¦l¦U®`6Ówef24,˱.smÑ0£¬’:v×ç}I“£±þ ¿[äÙ±*œ9£ÚwÇ• ÷°ô”qéwÆŸSDî¡nÌš4ù¶Ä Zi>”âºÒySÛqŠêe4ù¶¦Â*®;ÍB’ù¥†&p^¡*/8ï#Sz(£‡‡* ÏOõã},¨W4†àj*a߃­ŒWëãA°/p€‡›j_=ÿ9à²n!Ä®D¨èjO³ Û8TË›¸TJÐDsʧ¦xï¿"à!Êx/ \'Fr ÿ´5óÆÎ¹$"”ñUü©ÇRruúô\Ö]DF•¶Â±G¿«0鼜w@”ÄÛãF`8M ä#Ý”Ðÿ9'õ7š ?Ä«+1•$dú²".ƒºß{pyßNàù,*‘}Ö¡ÂÙ‘±½UsÒê,î9ƨøûõ[|ª‡Ù0Ÿ\ÝS;¾‚ñS•So·„6ñX¬L™²f­&¥ËŽðõî!®¼§º°ê¶´Sô'3Fœ¨®“ W_åÈšmëMÕ0«¥š$ÈO‹ßÑÍ€š@… x«¼¾1ðÌÕéÙÙ‘»q=Bÿ÷ÿ{¿üî-¶Ý ¹òw*xÝæËOøÞ¶“@«òÞ×LZiʳCµ ?1azMò„ÓŽÂ÷ )šóñ…O;;ê¦ÆÛ©»UŒE‰®Âõ,x¬º,÷@b±ïÖ8ëVž +‚Äå œn"Ùø‚Lç·*ý%³Á5Å£Û"¢w„¿oè€QøD¶úIêeÿµ`Ô–µ`æ‚>_ΙxÅÜE±`&p&ž‚s€YíÙµ§JÔ[x?‡ÄWÀS (D‚#eÌÊ–QÐóDQ»G5€ "ÁÐ&w ë¢1=ïÚUxÙ-œÞ<¯÷–% <­… ¯íÚ÷¾Ùx~ į®›± ©Ðú°°!P2؉ÎVÏH5zw¼7ÙØ…¡ÉdamÌ1HO=æ9Ìï=²æýÇ®c7ãWué$IÛÁþa²— j6 0–Ì«T&©xèe‡ù‰•irj¾\‰^Ñ]h©ŸƒÝjÌ©næ•Øã2ÜèS=¢’}ˆOiëÊÿÖ²lc{Íí¹YðÎGù5¶xtÖpm&^M÷Ò„`Ò„bHm¨rUUâó¥8% ÄñF[Ìø—ÈÏ먇Å5⓲´ÎyP½³' àiSs^eœEešìZP–õl4½ÚÛm­§>Õ¦;hϲgX rXð°=ðE½¢`.Ãqf-©@ú,M¨^ƒ9õÉx;=*X»Ve±ÚsõpîßoXq¨”ÍÅ}gžÛÕŠìÖê¡Tý&sÐÀ:PáØ8‡ümãóþ5ϩآ5j²GNäÆÛ•LàüI(OÏ»Ç}늱úKdé¶£Ú{ §Ï+ĺklŸïAJÔ¹ãfšÜggßÿQ8!ØKýÉšî¹Áß­Í ‡]ûvÔíZë¥ô— ßnVÎ;<ȉX«­¶8ÝopÞ•ÀÙ'æ=/âFÚ7’D{ ç#d°wà­rZ”Šœîg½[`YZÛÍâûý*¿ÆÍSRÈú7¤«’÷|‰V| ÖDÅB›T¬Ì(Öö‘4/Óý†'C ¬¾å+<ßOÞ.gZo‰$ýÑŠß1£üãnó¤šp¢¶ŠŒhœ-ÝFi%¦çéæ«­þÔ-įDæäŒ»²½2Â*@ÅÒåÌ„¶Ëˆx"R¬½̺<Ì£·¦WWÙ÷‡2;ØÕc> ^þ,±sˆx•ƒ}Òªá?°v²íôqúìÁˆzᓺ»³¬³A‹“º§yÆ]ÕsOU“wõžâ"bŠÄl0÷•ð¯“bϹjÒ]Ní[6£cцü¢R{Ÿ ÛÚÆÔåâgâ2¥là ­Ô=ìÔ¢ª©¹ÔFmy»ø—P ‚"Ønoí"ÓdCb¯+!žix"‹®HÙŸÈ¥†7†˜vÚõþÚ…Ðù‘†sûŒ¯»S˜•ò?2\@;@'¹!¢èh‰G_ü³7ÝTü½òÔDP {| ×4ľqØÒG>+Éy8xXѼ1é„!çRè%Ðùïë9wLÉÑ x+BûBœ”ñ—™çŒ©ÏïKeî—Å9к)ðJ…m?]’±ßdN33mÙ©_D0¦ZMß– z.ðº¬;©  ÀT|¢ë·µ7tpTÕ¢;û#dù³EµSòКh¡‡á*ßÙÐkäÖÚÿ¬ˆ ”Áo3“è¨Êð0’í"|BâÕŒFYþÛH숕H‚¹Þ3#ϧs>!†ÝœÛ€UN‚'È{Çq·ø´?‘Uïþøy%bÐí‘X›Jêçl×R̽”Œ€.ù"²K´±DÁAäM|g®mÄÄP}*šŠÙ•"0 Ïõ"è3oÛ(JÂÅ¿„kB9Âü¬‘^Ü£Q¬ï6Uz«9‹ÎÄf1ø­‹Fa?cƒê«‡BEÂêmøÝörçtW9'U¿êOýƒ5),€Åa£¢Ô·2…’x‰Ö µÝ~£©YG ô“݈×mÉ~ÿ-…R9÷”5 i]+FÔÀ$ÊM1ÞQ¬q7ò¾Å1ÌÒJ[ ñÉw#|ñû .ì{:æ„0 3ˆïdÚ£dïÈtFçï¡Çšòz€~âøYvÕ£‡£8ÂÊÈk\dZ³«ÕŽHUK¿¥lFÄAÁ¨v-Nà8yEe'¥¡¸žôá¦\?WÌnÉìŒÜ QñâE±•#çCäkoÚ6Õ×=·Jº®.Ê^’¨ô2Á½naÁñ.Ëžad$PÙiŠ9, wA;˜À»DŸè¯FX¾Ô×É™ ï ìWeäõh¥ÿÅx`™7°í¢¦ãßÙ':òš.ÂîŽÏÕìåg8©Û.^è;.É#¤&‚ÒÐ$ºG˜nnôvÕõÓ²²‰ÎùQµ@t‘ÓÜ '©Ò?U”»½ª³ës+g,¯ö£À‡õœf¼£ .Ùék•u«È³ÛÅD[]âå5ãev\³bðÕ¯^Ò úl&@ Ád룬ü®Šq ±6Û›°&û[³ª¤Q>²X ¹õ $9ù…I–ï%¤œÉV° cŠ›(M 4:ôµðÜÈLŒ–êEXæ M±Ò30A-B/æšÃAé Z+Ú4Üdˉ3%nÎ¥Èð‰Êó+Ë}áP볖϶ÿºò¾üÙ±·l䇣ÛÐ6¯ÃÃÇô§ JÎÎq{“ßqÛ 3W^’å°Óñ¡qº"pìZgOø&‡ƒâç_ ¬5Ì[N+§ª £n-—IÔôî`‰_ ~þÜm+¶x~ǹ:úÖÕtµ«S¾5˜ÉÆç£‡Ÿ%w1‘d1ÌÆdu!ãlÄ¢/Òcba–Í•Ýé‰ô âI¹\2|Ñ1(ZTì„_ÒyÅ‘ƒ›‹UKè(p‡Ào/ë1‚¬1!eݽ^TÒ^1wù)ÒªlÊ0i˜"²mÚ`)оšn.!×/~ÚÒœñ0«+¶$‡Ì­ø›öÏ «$>†|Íõ%-e²9eV mE!¿=“ݬŸŽ |Â1mНWšê¾)eví…ò86«€ ;.z ž0P;XÆzæãS%m¶10g°ä«Çi›8p¥x»ðÄ[“"ñ|"(Љ#ï±å _SŸ¶ßY ñÞ÷óäÎ/Lv‘v ^BöG~)[½—ÄÜ2Íwµ-06òÇ>cýׄ–$ ËU_¦´XKŒÜªÕtÕô =o`™ayå†õ¢Õ'ŸD’N}ùÅSO*ß&°ú¦ÑG7ÃÖr»¼½áÛæ]=Ë y< ››»A·jRl1?~ìùñ/ßÉÙJóîÏjÝFUœÝ#Û Ã¶Þõq2™Í£#¾¥ÎãøŠ;o¯ÏƒvëéR%†ÕLFVíí ÆïMSËT¨H¼xP9PCÎ’²sí+¾ù5Vºf¡ù—-z5ån ø¦@ZŒu ³ìˆŽ5Ñ8–AŸ­£¼yõ“€Z‚ ÇaÆÖ·C¤@öÕ¦^\¦ ˜gmŒ$‹çAþµ–èg¦â×¥¥Ç&¶\)W!Êt50h¿Õ(ÌÎþÄ&cûQ%ϱ›ÖûÜT>nø*6 ŒÙ_Úèɲ¯àØ€ÚŠ7øç©EõÏ~ V{îû‰©¼ý‘BH §¾d ‰ÅÈ®Àô?9› ÆØ×ÇGîr¨‚€%s¦ÝÁP“|Öw(iÃÒ=\£˜]ås°‘îZ*S(c®êÙJ -:yÖ !R´ü# ³€©32⸜&XÙº¦öA)¨´ ÀG|+Òð&ì`À¸Jñ±‡Š5§@¸a¢aŒdKŠ,¸miµ_{’±›aXxá˜Û°X¶óÆ8ë0]ÃI­«äòò³e˜íìê[ô¸p¨T\¹Øs×ý~±ŠïÅHÕíKëÝš˜S»¢º×ªx¸…G5D¤]€ ÍâBŠÈca3l‹Ü/†–G¤óU¦Q©ûV¶DÿƒÜB;XFËù-ÎP2mÑ{¼!Î7oˆQëô Œè]€Ã¦ã¢ŠGàkç÷%¢Ý gnMãÇe_Ø“R¯¶‰EÑ=%_'åàÍ`(ÝYä©z¢, µ6 k¢µ29DÖæ=¨î^TÆ !oi\YÖÆ^æ³_ç%ΖL“Á"¬ed½§¾C¿„ÿ„Ò_O ‘™ ™ÕÜ&Xƒ àÄX€òŒsoC³5!?ºš³æôõ6<˜B_ò’0ãW2Q§\Œ ÑÁ’ÅFoì?"˜4h?ÝʼnU‹5µø6]vשq–_Îs Ë]àÓëÙí½± âîÿ¸(ý×÷K"xB‘«€Ë -‚ œÔuhW…_Õ·82û¢áê6¹¾V뉘4Bgeë-ÒÍnö1QNN½ ¶Øô¢:†J…à K‰f­ä ¥8‘Û­¼pç´TŠ¥Å/ ÐØD|&7…¨€‘0ʳ¥<@a{vñø¡%¸*l¸íy¤Á„²©Fß*M¡¸Í15?îÆ Ôêƒ áÃ÷óp;œ ó*6‘M„;æÕQm]Z«ß¨òµ—:ƒˆ%a–'™ø"Ññqd„GKó’ܥ൨*jD#EfÕ”˜ð…,a ý!Øßb½-ASÊ\ÔYˆÉEÜ~\”Emd8 ˜Y%4“ÙP‘1 `=ÀÑ^|¾ŸÈßòe_3úô&œ Ú‚ ËÞø‘šÌÎÙì’È·vD£©Å5‰<Ó¸¶è5ã\]òù8fý|bÂ«è˜ ˜MÜ@U¦¾N?*o^­Îa7£™êÿu.^“Ï!‚ìÉêrn¯÷ùLæB0yègSQQúggë ýÖ&bŽ‚šüœë™¶Ý »n=ó,+?#Ou˜Y~`Ë®i]³d¾È P˜ùïQu;&v² §»ñx.së›c…Nóö´p_ Ç Ú|ÚǨ?1NÝæÃ8ï]2«:¹ãÈ‹ög‡¶ºð¡ ;i5¯ü.¯èyòŽj5ŽtF7r<+aY4 pš¹ oÇ6°÷ÎÙ=ƒ'ÜÖJíü­»Gv{öS<%gDŒï&β³Þ©óÑÊ\¸q×3mË+gð)MÂ3ïYu=î’ŸY»xua»ÌêÞàÉ=t5ß„îè o°©·†Xë¥Ì|Új$nßÓ?ÊDUêU_I^¨ƒªÛe93QèµC'N! ’Zg@²Yò_ó[ÓxjfÁ¥Íö.ç¼<òüð´R%øHißÓ6êÊMѤÜËtÎ'ëEájàå#™Ör¾_yÅÜûd"Y¯¬Ÿ·øqíëuoxÏÌU_ri¸ ­~ó_¾vÎN8ö˜*ݧբÓ|©u9Áz|V”;c?êP*D C™'8NHËÙûΟn+Þ•:D‚1 ®_|ÙÀ.Ìaó¨à1ùµ£ž 4Zê¿»Ëí?ž̑ƃ=ùÏæ<UQÅò5úµè«SÑ@´&cì`'.2ˆ,Ï©I„Ùÿ®>É4®ø–ç%Ýçßå JoCø¾ â°†™Òq⌠FtÎRÉöžˆ¨Ùߢ;Ѝ%-à3éêùSXe“³«ËpGÉçYêV2°ÑâÞ“Íœu:Z°ÜöÑÅ@ô¯<ìteýGÁ0ºO-´áתíïC÷óèÕFÒ aÝœEs„8º›¤\ò%(=j™m=”IÀD-<²{(÷7°¢ÑJj'› 7,Mp¢›ý=_ñ˜÷K×ÒÖ»µkâ 1ýÐÄ1òAÔiv6ôJ—R`¿9/ ^êÇÂE‚QcçÈ‹Îó§€êÔ Ïí°àødUQÌ7‹Í-€äAÉot&àÿЛV‹ô´J%‰É¦´\8:_µÖµknéÚ‹±ÃÊj:L”jüÊÛèmÖšä;·kJ %D+;'Ά•¡ö[>_–(÷l¯F8úhÊãj/kA Ô\:ê™o›³x3L.‘ÉB£áÍãuÂÚ Ò-x,‚ÛDŸhÇ6ʽ+„ÓI¬ÃeÎ\è!îðÀz³XõXk‡îæ+½}ª—Æ&‚ÒÙª¬rš‚Ú=ëÅÉ–ŽLØæZp·›0íá3_,kre-œ¢ýü9²Åæ‡"+ š'H8ÜE×M^ÑG©Ë¨;KkÝÄf3r„Vwâö'ß8¡Y>H6S8í(j¬7VÄ©–¹M€u„JJêa¸½…·iôˆôNk6oI¿œgÙ^³d«à}¹EuLb‡ IØÅatFUÉÈÇóV›€Áò‰å æÖm4FéJc©…… ˆ’uPͬæ cû×}ÕÀ™EéßmÐ]ïñƒ l‘<ïœ(þ¾Í5Ä 3OÙb0[úÉE"ëûîOiË¥šÕâébV‰Îêü×kFÓ9- Ôó˜Ù–jXŸg% û1w]Ï ¦ÿÑ›¯0-ª9·£¹Ô4fpNO Eq-¹éëF9Xp[~’½3•‹9ƒ}Ÿƒ¶¢Á1 üKL•šêż“ƒ@%"XJ2¤OQ¶8`oh—*`ÈͨÄ]ì,& + °3÷…iˆ¾Üô ©"7JNÅnnÁ»›Piötäý‚íöÃøâ@Ï•YïK©Ïg±¤f¡»¢Ê毗SQ[­ÈW¢×ýVbˆµ¿²Ò ¹Å]E[g¿qQè°ËàïÒ¹3]ÜÏÚth‹fÔ¿ê˜A˜„ÍLó.²þ¿JB˜ 8ÀX9`O_ÔÐY³ë«ÃhHë)3í‹‹åXÌqŸŸ ð¦ÅF e?ß„;ŒÁê’%„Ëm9MÐà¤^Q—a*- D3ÆœæI¿¬=âMÒ=~gŶÁÉÆüV‘ÀÐU^¤H;sˆs`ºt*–¶äØâ1\ïéÚ9Uþ·Öfc\’3©Hâš³ÖJ“3`G_öOÓž—^H& Ún³Ðæùñ2ÅëwÌ:=Ý‘ç«s$ ñÌ;BþóɵõÈêÊO´®¯¹ô6L•4” 96 Ÿ h‡sƒÉÍt{–àÎËjNƒš²­L(sÆxx,@š¹nL.¢Ê5 ŽKŽÍ©õóoñNhe!,B]ÑrűŒ^c‚Ø÷Ù‚¢ãþ¹Ph8:Öµyy³¨K/¡z ™á9ݺ2|úP£qüM­?)Ô9c[ŠœnO™Ì7òï§›8nç·¡5Úoã«bÑãµ\èÙ8Ùæk—"ÈùBq~ >X¸KàN$I#Q£WAÔ¼" 95ãƒåñûs]dllmŒfµúugð»DÓv8‚ÏÁÚûú·©²0W­²tÓêN[ ÆŠ›Ö>Ct¯I‘pºê8mèÐTƘÌIâ.ëm$_m«{z qÛ4ö½ÛÕ`{³¡ µ ‰ w`-„§ÁüÇ!½eý|’grœ,Ÿ™úd2™›ºÓm…¥¬Ç`J}±¡µ ª~ÓyÚCg·Ç¥)&w{2Iÿ¤¾öš°%ÑÈNn2xf‚N1~mêþ¶—¦ ëg”Ë À=´PË›8Dä_¤ÉB¸0[ÒZ¶/‘Üðë€W ¸›FqƒY ]ÀŒ3G¨áֽߚ<ØHÍôXÀ •Ñö«7Sš_=â÷ÔŒMšÝ~Ä #ðš*‚n‚‹F €¯`Ì[ ýÅtU”- yþ ÌŒ˜˜ð"fäpÙ4 5Ržu‚;Bg•spœÀ­õ³`öá’¨°×?‰I«}ÂãlÚma+mÜ-öêš>Fy@7\¤sýN¨È+·R`|Æyù!(D×®ÿÖ=[‹oïÌÒL…à˜‹Eó}¶ †öž¨C‰åÚÃ*8#Ýf1: ïpáÂYNèâÿ4ñË=3^LYý"gs'àËO ½…Ò!ÅüÄ,žÿg‡g­Dï²?û‰€_ªŠŸƒGÒ5œoTÞ<‘|ÃÃíäܰ1@ó[«pÿ†Å–T·¸Kéôb<=ÇвVj ÑL¯í¢ ºmü› ¾ÏþðŇÎòçjÏŒÃÈœ™×™®n&ÒsìÝk? ùãÞóR@AÌ z0ÂŒ<à:‚«‚×}2¡'Î :KùÕù23ÓŒ¾æÑOåÔHói¸ðëäb±z¢¢›÷Õü"ãVñú!Xœ•/E’Íü[`wå„¿‚÷ƒ+Tðš1èF“ ˆ­g†v0"Ž_Û®¥Ÿþ19R¸ØÜÁ.Ä‘t¿UKköGû×;!¡0î…‡ðø¨ý¾†àðã{O~wü ^t©_ÕlW ·dëFâ\^Ó ËñƒrY)1öšðI`b(ÙãÄv^uÖG8[87–]0ú'x.S•÷™5/2¤ªcøEõ«4|ø1  œ7RJ·¤ùS,QÈyŸ¼ *cÛèÏÜ"Öž¸ü,ËÊ@N…Fsè|J³»Ë¸ ù>Hx®ã›Då Ö<ŸŽ–~ á«Ùé[àhÒx$°" bµðy^\îÁÁ$%àFyg4=k*ìˆÉOi¶šS~ywâ á[ Œz½ò kE+œ€Sf¶eÓ*-ïT4¶ý.¹ 1•¨ 0•mz¡îCº—u"nUÀ6ô•‰øÙ÷¤9-ŸK‰•.©®™/pi½;†©ŒâS4;F»èÂtÄN>ËãL,Ì×^¹5"”Sƒ>z¯V£Mí«ÂÑ€l'â$Š4è\"ÈyB¼lY¬Ÿºgåƒ^$ tÙÚèÞe‹*óÄÆ%  šÕ¡#ì½ôóît $@nç@? Ut( #H‰(íƒV´‰€œ¨Žaq—'ªŸ1 Ü ²¬ªÐ>%&Ðã#‡qSOZk7ÒCãA„ˆŸÁÿÐbúvÓ!yòY\7CÑê+íÉÞªµkÏ&f'Àèe©'¬ÝB®Î ,wú;”v~Šäá š½4ó(i©NŽºÁÐÔU+?•z Ý„¾gf;‚UÍ ›,bh1k»fñÑikÃ;±£¬ï’‰7ŒúÂØwãg¬ÕLÎûîšÅÉQÅTÁÌ×yKó÷*Þ›ó ¨QßCØ„a²Á£ë‹2ߨ٥òŒÊýAýÎOlœzoƒ^N´Ò35#¾ó䇽í17}‡” 'þä—ç–­þ ¯Ü,Ôò8ìéòÞÒ3S]œ§›Ô•9‹|Øé˽|ÆQáÛD4°&i“ôNÙDÁö©eÉ õ8f ,¢@|dßKšA­ÉØ a ͶR'œ¿±|Ä(-।Œ‡í‡ŒŽ÷¹é ëW=¨ñv·%Ô-¤ÓWE«1òRøØSõÿ!ª¦á’'D¹‚ÖIbÓðr"×k˜d§•¤œä}±–™ÚÉÛz8´-cÔúðL #*`» ƒkî²0¿7*šµ¿Þ´¦FVaÈn¿¥ºÝò®ì&±æùÆfÓ!‡¤mà¨ïÆøþ‹‹-7±¼œnI³O=½F»¯µÄà‘˜z)[y»Ó²$—Ôc6+ÆÖèkð!¢?³u³†¾7¢å¡˜B'øŸ\åb3žÄÕBeåN{§žG’¢”uNž X0ájÄ®,=úuʾò.ÜRžFsCÞ@ý‹_“¹S³WEþî@¾µô¥ V%%h‚Ó¾E¶{Øcºz÷/ðv´ÓÎ?EvYÑä{ýkº ‚>‡÷Uk7]&oãjˆŽ“xÞ¼±©5;#¦åÇ…¿¹ò²*¿±° 5N2àÅ ^‹EhØ;—}W7ÌMÔ¶ú9s9*: T¼66’ZºIVÐõ)÷»¿H¡Oô¸¼ƒ § µ¦oÜû^‰ln£Wßûañv«$Á¤â×_)Ìú[å»´&«í5c.8$O­l³îµÇÓÆŽëÝ• ±¼WYñ+Þ™{¼£!~{寧+ü¾*`†Ëh"Ü;Bü:ä,šÂ5™G‡Ï…ÄŒ—KáÇ’“oÞ§Ëv¢t £Q«\€Ç(geJ9Þ‹ˆ^ç1+ŒÒ¢l+qlkA¼‡“„<ϰÙf 2û³ò1Ã;¹™rÉý+Aë®a UU¨Å~mE< c·º¸»4½%\x Y@-û&ŸêL—ßÈEÕdMþí@&=¿/"*…ŒU­õ"MJNK {” ;ìëU½–N“ÈêXSðWA ß<“™Vcý[»,žOݰ9Γ ð}ØäAâ¼ÕlãŒ_ÅA‘S?ê´5Ô ÓQ7¾Ò!WL 'c,³XIBõ•ËŠ;(¢a’$ØP¯ÄlX×guÍd†0¸€Õ½óvDì S÷M5Où]êèY@F?xyÇk|ŽK4‹Ö‚Å8è®g ì >F“3dÄ[’!Ì>±«œ[üÂõBwˆÊéy¹Á»Z°=æÄÒm)³²Ü1xɇٛn(ÈQä›ÞÆ›t™Ã«ô<î è¾Ì_”sÅŠõúÄI¡¤-­GR)ËÝçFžAÞ±¾_Ú¼PõÃô´uU>â=ÉŸ[;–­ç5 {ññÒÅó ÆËš¥*˜˜‘eàC„N>쳤‰š M%d%Ð+·R$#Ð;<pqº?0Yæœy磇ë¿Ü¦èXa;}à5—ÇÁôZEU¶giwv*Ýl Ë0€y‹æîrñ×pO>4âEö(QФ™½„Z’CÙs<¼D[÷~I$\÷gOÎS½ ×¢±ž|HSز\+Õ$ö™ë’¯0lÉÁÈNr-bÇòÇ=†yÍT[ ´ö‰y½Æü´ ƒŽà·ûXÑŠ^ù¯n”Öuäµð‡¤Ò l³^–t«2=—G©ÛÎ[´Œ[4bîJêê²A iƒ(ïꇻ‰¡äªŽhÅ7&Zm­¯@Ã¥EuÔˆµ“½›®^í\Ç‘‡Iì_‚Z=úå·-Lùq=r#ë]@vs&'")Ú0z@/˜ØZA§$¶C¨~+ÏyØ^{²fn»‹>”\øªÓÛÔäyÈÂ(B³° ²†ðܦ¥]Ю‡ºÒú·þïH8ÀÖ‡·KâŒý†«˜²Ð]ïæ?:½7;¢iŒ›»=_––o]’DqŒ•„ûÿÓ¶}=¦ŽžŒºà÷ÃÅkB“ ;,XßYI§Ï…kT‹…hØXŸ‘ò=´ÍÞ]—³´òúU&f‚L!᜙ ÓüÍ øŽÍœöôÐ…ê^ãkŠ-½©“÷¾ À2ë¿ÿ%}æ(TcGÔewKf-ÄIuº6<é„þ#ø˜#Á1#YŽè‹‘‚„t_iæ›oM$¶01þùÒå™nk>Ìñ¢l*ø¶xò™Ö÷>nAåB÷Ñe©fXÊüð"Ý&ÑߺŽ:}¬”kS ÐOÕ)OF×C&ÑëÓKj—j²¢ør±­'C`9éŠû«¨e(Q¹H;_ïí\&£¡ºLR*•3áþeÔ‹»ˆS1ct  bé’ö{æQ®ÄfÌlÿHZÆ bäJ$ä¹ð F«'Ù¶›?°tPÛ}ŸM®}Î2Uä­ý(§‘³ZM§PS½ó±þD‰Ÿž}fžCÀ-®Ë h’“†=+°ÿìã2õãÞj¹7þWÿ4 f¢¬ô“¶ [RkÇÔ <ÏЫÌ>xrL£t³-ó…}c'‘ÌK7‹ýu[;£ù5`~—â^²ŽvÌXÝÈ']äBö&òzÛØÜŒÚ@%ˆgÝq‡’»Ä”\Î|9­Pr¿²'ÍòaLSïªwPqÖnäÞhÑwVFù³CØG SmýËx䛑Lé$‡¯ƒ¨†·‡yW#‹#Êõ$ŠÊh/êiOçC·þú>V& ȶ;–…¸ã)¼0•E3¥Ì†ŠëÈ'bY*J>â‘~·;°M‘éyþDÚMË!Ÿß¼µ”Êûh¯*\ÏÛ,ñ~áÌ‘žU €^ýg³M÷6_½ø§^6ù¯gìµéAhL´cîÙ[Úýõ# qÒìŽXÍ<œ÷TÅ”P;±¼A úÿŽó«Ü‰¶Åè‰)Ç ƒ?²ÒX³AsOLÉøµâ‘Ë­z¶HÄ‘Etm™„]-o»‰—Ù”$Êè:“LPAíaeò«.‹ ¾ûì­òU•&²ÌŽöédxÓl¨F’ñr­IU%³º‚Ñï@"y éÅìmX6," úßëeŽgÂ~õ¡ !=áI‚õjLB|S­žö?—ßF^;`™¬ ޱ |@âZ‰Ò¿Žç–&®­\L‚ªGùö@KËþ ùgd±¹ŒkBó¬>qtpùAVKT7ûŽÞî@i„ØtCãrN„9 åÉUåî© õÉ»ð†UhkYP\¢a‡¬-Oü:ÿp1,íT½D½Äí+33ÕŒóCÿ²ÒØ=6ŸÛ—¸ÞÀ%„7 {µ‚ËâãÐë‚We»hÀ‹¯[͵ç,ç^®ˆEDC…S˜DãZ¹jW,urAÑ›ŒMŠÕ²ÓÆÕeš!5ÅîwÌÙ‚Ó:3½º|*èÅ%¥lñqxªà9%¶²çQÓáþÚ…È’ªòoÇäÝHº¦qDQòß…JOs ¡FÑU}‘íemÙ.øéí®Ä§FI¹äÎ,™)täJ”¢¢ü%»mм^Àö4 Òrr¸KÇ-^ÜïUEæŠA–#lvm®0±. A;‹m‹ÂâiÒ6@=  ŽÊc´=#¿¯,3”8bemó>€¶Dº–ùC0VDƒbçHrŸ<…‡ÁeÜÜE;»/{úi u©À÷ô£ðƒLJÂð¸ÃÝXwEuú”¾Xâ•N¥IÀ°Éó›†ôJ] Šæ“¾ö„ÈçoïÛ=Gqó?aÂë€0:Øm´ÈüÁêÚ„®©˜‡ú[‰Ø&‹·®*£Wz€EÈÄø ì8´ß^ÄS›s9û««ëÔi|ÜÎy2ÃÅPBû%ígÏ1u’’$B#»‘Hù‘”·ÎЊ#Îh ]2‚¥C¸”µõ ±Ý$„MÙ²¦p•è\p3†/Á å `FB–»wž<Ñ$WH4¿=;Ä¥cpƒyÓp0[Àù?“>á>—W(+ÄâÌhæ´þ+s ”vMµh l#ûôœº)ºò ÞÂRÜ‚A•¥¹ƒy¯Ö¦`–ÌÜÌL:¨ey;ûùи'â{Uð¿™ö¶¼ð±ä \e‹µjÕ¾F–oÖmóæw’Së5¡Øsh“z|)t•‹‹·‚ê«Æ,˜ü·­_á¢Ëþ‹˜¯ hkÉ ~³ÒTLh\(¢mÞâ7¨ŠL˜â «Ê¸ã`ýäÍ׿R%¬†Ë¶$ƒ37k(áÒs¤€k',ÿúC°2b® »^eëÜÊ=ëCǰ–šX…oùE}í²œƒ ¶Ü¢wÞ«±&«¡9ÖÜ ;¸›¤ww‡z!¥rŠƒJHáx’>pŸ+‡Ñjêgá”j¶è/Èìù“š-~Mí21ÜR…*y‹0cÜ[/ºa657yk|ÕÊ—!UàAqè›QE$Yh!¶ÿùýFG%nÞ«r†.ÆÂÁýù,‚fÃTÊW$Yr¹ñ@ø#FC™dÅÝ:’?½ÛÙ&ÞÕÒý‘ &¥ÐTrRÎì‹4t‡ÅDÞtáXE¨Aps’Yà¾ÔŸkÃÅØ•Uñ^cñÁ^YUÖkúl 9ãõÙ°8TdC´u9½ÇYƒŠñ$  5ir‘bŒ×H‡¹ÝÂ_Vç2u‘¤Ë!¥™{éßìm¦‚ø³ eÆÙ¸®Þ¢^*çÕ6*¡±Wg¥”ÿ=0£„`þ£÷9ÿµáñSÆtm›RõÈær¹ÞnHxæ‰FùÛì¦gH†A°hØ£É3û±¬ªW¦¤œ4˜ÔgB;sâ—ÇG¾6z[maù¯Ò*¨Ÿ¤Jkš#!Eâ“ì=iâ«írB²žÕ¹~0l<ß ¥¤.D½ ;åc¦'¤FÖII0Íe"/L¥=¯VeéÝ!—*(º¦æ­Ù}M™^•³úó&Èx",¨;ȆNçwNNž]x££~g8zÙEŠÏòWgI”t5ÀƒM0öÓ’O²+ú¹?÷ºv]Yj“WŸm±õ¨åÎ í<Öån/pg‚—&w‚ †Ñ²˜·¥™ˆmSï/¬ Π/îZ!±Á9ÃåfØ%ª ½õôÙ‹Ûé­©ÍaËýÉ+ü-=æ“䤨)¾…^ÈÅŽ˜Lu솽•µ‡&€ÑU­"$ܨOû¹£”Jƒ×ZÛ˜9ìÓc Íw{‰ÂšªF a|Ìùš\íBQ°»Ì)yüÙ/¶x9Â\ `ÑIi6ýèÜ‚å]+‰z”úÚÂç¾ÛYPl~ëãSÿéM{t(L.@2›ôÅ á´madRCÚv‚I&q —«<«ÕÆDv'žŽÎ†×ߟ©¬`s9I|ƒ‡Ã£T–<š]s9ËzveµNïY^J+ª€V9@- $ÓófTæwôÁÜëÁbä÷æÒñÿàåüì`Ëñ=!—ÂZ€ææ´ÒÃG­ý˜p¢PbÆÂÎø@Õ¼Úh;½Î¬xTWz—wOrþÛ©C85›zT3yËÂ_x¼Õ ÒÒ’!ò„Êâ{HÀ_LεôxÉO(•þ,.®rŠ…¶Ó<óf}¡T~þÅÿbâS~C+â5ä«Ù“¡v ú!+D‡JXS÷„³T‹;¡g¸6z*RÆ…6X"-æ³A‡ 6­¼Á´~‘6ž':`¿Ð>æ+Ý[Šî‰ÚúxÓ†æÅÿ„¥Q&.‡cÐZB† §–“ï~[D°Oîtصºì:Ò0z÷äÏIäo‘#Ùc U™@G „¬B]r¾õó~:³ÑÏÚgÀصHn/è:5Jãz1£,¾ +˜óˆdü0*c i˜li1®ï¶°Ó{hŽ7RéˆvóM×˱É}jÎf§˜ô Ê鉥½|šâ6>=%ät‡ú‚-d4±Y{™QEŸ“5„«ÖÉVgc1.˜Îçd§-`Ïf0Ýon/:€e.ð„þâ†cs†½°–u#ß ›Î<(¸Ç,}ei—•zXû1X¥?î"„º\æ°;7+&¦#¦gŽdoZ ^•ˉæ -¼3ê1œßö• fÒ· !,• v–÷‚DíàvŠ(.]NZÍܰ€^CÜ›Íg‡ ” h£ýõ—,$ÏÊYa¶f?¼ÏáJù­ã€˜¾yŸstÕ6 ¾7‚¾:¬C*H}Èv¨²‚9YUC›ŽÍºkð~s*ÈëdéÜq]9×\™íìH„…~ö“œ$èžEBÂEÃ\•œ x1Þè-¢¾"E{LDÜøBÄob8¡—‹‰Å ÄÒ¯–ÍÖjTø=ª¯ eés‘´þ·˜‡og\`Ÿ ¹bkGglQ»žŒåJVto%k.›7€ÆÐEðÒÆ*4–æ_€žžî_Rßx¶nüÍöhÕÍW~ëøÞžønGÒ•´WHüZû4¤¬h ±©±š‡L<Ÿ”¿Á¥’C}ÂÞÿ$<=¸Õ84.Cå“¿“-ëÅBzg ˜–cìm7V&Ê@þmࣵ¨Æš4¾©Iª¥‚iœ¡ýx· <‡fØNí jëÌQÇŸ»›+nÙö)#ë:K‰¢¿#¡U›aRªbeÖ>~­¼½>õXÙGyOæÖò&r ¢¶Üßa-Áùó¾jÇ+“1ü·åG9N5*¦‡ö‹¡9I=-öN>¶+ÜIx‚>b¼f;× L]µô·w€ãR£ôè‚a£CÄ*v{/ý 9ø"Þƒù3"> OTÛp¦ô]ç‚m©ÙÁˆ?Ê|b”j Û´á %¿0Z’“éPÌôŸ^ÈOmÓÍ€»ŸR7n?ùëéë - ùöÄl/n¨)ÄAt =}¿H?áhá£~”`™8!: ç˜<<Õä !ï–n&ìc[4x®µXUr€þò°®ÂCiÒObœ`[¤}R¬#Òúι*aË&ô4¤y®ÄÏÑß=AÕÈoˆ¡ÕEIƒwU¸3'ÛÄ>&¥›„¤#ršì×#3…îv‡e±'f"UúЋƒ\æE–´Ð~\]:B»&Ò› ¡cµûS€¹Þø+ƒkHµx°;³¦i›HÕNûÕC9½sKþ}áv‹ÌqGô"{_í VïîÐi“ÿº­ a¶¦8NÀ0÷û—»}íê.þHáÍãõ¯ýj´µ—·|¾ #š φÆ_µO1h°fUÁD­ÀÁ%î[›eß” ácP€”"ñ‘jØ#˜ šô@ ¸ƒG/W^¨£F•Ù¢Âv'®]¸ “ßèú™ÎÄ\¸mLŬ"ƒ™ý¬‘LeT3Ð÷Ö§ø¢ÒõÔOjlBîÁeçZÁv Ú@ØJ‚*ÔŽ9E²˜ÞŒü9fm¤ë»àän$X›†L¹6}+Y™ð7×·kîéð±x§VÔ°üÐå'ÅÕ —‚$v@q”Ò—ÂŒ¼BÞÙ”ï>uEÎ/ÚÀ•w ,“Æ·àÂÝ¥/:Ћ«Æš®•Ž ±v]IäSÙ¹å‹Äà—-#²ÏE_Ì£×ú¹¶–r-ÊœåWv{@Ë>†ÿ”ÏÓÛ@= 7WL)Ñ!.E Ï–ÄFJ"öí<;Ïõ@QÀð`ÖæÙJã,¯S Uñ®Kç}€@Ì\ùâl AÛì ϱiÑœ¹Õ¥ ˜\84fDÛÖN¶FÁë’oÎzmSx)y“ødׄB™z]Ƴ'm«Yõ(£^´£%ÂC”­dJç´2z( ‘¹BåÐÈBÔ05¡DJ.¶>ëJd?/ÎJ˜ð:×®ÔH”î—‰`z?ÀòÒÑöÓ—/¬f¤ˆË‹šÉKeï€c³·œ7•~u•ö[eÛoª_¿2Vl”DÁ~|AÚÇôð +¼•Š®|͵ÁùŠ)+©»>IJ¾¢éªî{ügºÉÝYdQÕE¼øÀô©MƒˆÇøùã>G+8%Ò¤T½²Ô-aÚô‚L6IXQécˆã ¶µzr‰«7Ú³¶×óVú$>¸írÈiEzÈ kx»_K~eÅÐKxÊÓµ´œ» Q<.Tô|)ÅPDÕêeF¢í–r&q À§C¦ÿßL†€ 2ÙÖø_^Ö'){ÿ8wTçd`PãüÓ…A-H(^Î÷hÊ |ºô{vM`8ãà/ð0“zl6yñùÙõ3¥í“Or ²uÖ7üšrõå9ÕA.Oõ?¯ @(»WÊBøüSž •/þš[1]ä#e¹5ð5àÛï;*Ì“ð/䦵pkrΦ `2Le*Óî{W:¢Â‹˜NêT›á‡:+iNvÏ·Mü>ŒàqJ3è;ìv£[)Ûz~'°ç?eŒ½¡ ¾.#Œ«(ðvHïž$f`Q« VkómäºH§Q/³ È4°²Q½Imª»ôØݘ‘B°!©k3 `lS´…)»Îø’ë@.Ä¡ÉHdÑBÒ9‘@µ·„˜Sµ;‰dø¹Ñ”º¦Y¬±]ÉIÊÝl¯ë!Þj+q?µ{meõj”ùÃb.j7¦WOS°V¥7äÓÉ«£º)ü›Ž‚Ü<­4ß3‰š=™#˜ú,XÉïf·h³¿éÀ%»L!bYâgÔ¾s…Bƒ½LL•Aæôñ¹„&iŽvˆÃ?:ÓH:dþ§#Àð:{P ^U߬ÌâÎ~·š‚ ©é`‘)Ïášw·ßRO´Ãh† ù´Œ/,Š^ôŽ÷W·”Š(Ø•\©È,¯HNpI>£—Ês¼™ã »<pg~󯟻EÌny~k,ž$§is5l¿|DámD¦ÕÓV†ÿnä#î똩!zCŸ,ŠÌ,[í¶§å¶ºe6ôA †KÃí1 b½¾© DV:¶™Ëî162 é7ð¡.²[Á¨Æ!Ê„÷½ƒ‘<ÕG·,£Ó«â8o‰dXúù´È4~’#`{"É#'m骼·Êzf U¥¨à¬×e!ƒ¿öNTyu¥UÓãM·2@­æïÖ8×.{÷¯µú56þµtÉ¿OØ ÜŽ³NfƲaý:<&(…T%Ùï‹Y#›ÑrÓ™« ªêŒ×ÔÅZ,ÓîV±#\¦¼Y´ŽŸ˜ù€C6ß›¼.Ú)•TIŽ SÕýŠtÌV|V<±:&?ßé±èº,çNi\bòéëOBWì>W«—ˆO$A n¬`pØrd“H)¬;lEוìÜ@ßÿÝ~·æq–9¼'H_¤~Gn$ÕH@b2ÀíHšÌ]_  9+cäåY¤`¶rÍ2PFÖ23oYðñ±5%ŠIcšôÂxò ÜËõž›FvPVÓ5Îã>ºÇëºløÉñ’£KCYÉÙ*r¼^]Ë’(¾5ÆlòñÖD3*rܶ\ yKë›þR¹lWp¿ùÀî07&I›¤€Ùèa¯EÝ$.lÄZÿèOv9ƒ©Ã5_r¸Käñß«üÀk_ƒìÙ«óZ甹¦9¯y~ùü5¯ÎvyáÄeEÎ"_¾gãÜ)5NVÙ ÑŒéú¹â ž?ýÒ J½#IfòîÞW¬xŸ6I}fÇ äœTßU‚fË.À‹·+¿Ò;Äp||…Ý(ÐÃ…Ê ,œB2áZ‡ܚОú˜Q–ª‚}©_)^y:ú¿óò|î:¬ÉòÞûÇõÏN†k2Ûø‡‘Nóg¥4¿¯ÑÐáùP"taûÚ˜ns Ø.ŽÞPÑ|DsžuÿÑ.ω!ꉀ¬Ìa‚òy|ÿÈS‡ÀšÒýM¯”!¯À§1€a\`–ÌŒ¿Ùø>ûÞ™÷)•ôèé¤:ñˆ¿(û\$½½‰ä8klR{¶¦‚Ûòþ˜ S…ÀNoT¶ÈØ;œÿ ;ºçþù!°½œG9«RBÞá9·0K ³[+¥òÈ-3˜:³ÚÄðfÝÇø®®XÎÈmº_ÿ°on-·N9Œ)É2Š58ÔH㘯‰@qÅ…!*ëyN¾¤/oQ²{åÚëÀø±q—Q#ûj®:Þ¯¿¤ÎíºÖ|:ô­)„ÞX{&<`oL›ö îPÉi½Á‘pÃ?À†Ñ|è-è‘ Á·’žÄM==­<± ´| n§å%#WnÔkGät6Œçso;3”}3f1Â6Ìü1P {ÛVeÿ~ŽÇÂUV ºL½fR)“qCUõ† ‹ùûÔý±>sŒ÷›Å;S78@U‡åG~æAÓG¿´;Ýȼë•"$µŽœ8ž%¨Â„ÞuXø&¼7$ÔùaÜ耴ÙŽ(ùH_öªz¼Úz=—Î+3#h’î’í4É“5Ã*=(a*Åcœ——>.¥ÿ¿3 ×ôCíÕPèÀ™—&ƒ›œúCÑbÌ;þ†ÈdÙcYifVhÓM%S>ÉðÛ³iüõáÖQŠåäZZRw}(þô©°W&ò£Ÿ};·À4¿ÒOäž»Ž^ìe—;÷xI^MÃPK+ÍZ`+¼hS8•N>Q:*å fÍ©+!þøKõFSíRtdH´‘§Rra/.ó‘uô?ý*…„¦ívùÂÛ‡­Sq°z#‰¿RVíJx‰±%f{&(|"[†»Çæ°œæ¯ÆúCß V‹ò—/:ëÓ¬!Ö^¦øœZhjÃe—ç‹–[i;dÎ:'iÿ+óÅŒé™zmRß'cm|”û•ÿI9µ«—É^¹IqwÜÔ>§¿~‘÷u ïà‘EØ»ibÒñ—ÔØ;}€q½r¤ Z­‘­ñ¢ÒÚŸþ<¸Ê­–[!¢!Ùkäz+å=¦½Wä’dˆ`HóáÌs…Î5SÚ‡úkðã’LØÅž8»•S¡yi±Eq6ßÒˆMzþ÷ñ?n´¯»"Â3+¶*|§õÑÀŠ© B’ÃxáŒO >mzÈþ0d&ÿŸx¯Û,Öþ{939æ„Bè9Ĭ’¿•6âãr"®Br—”]náéëe4ß1TgÇ÷è!›fí9Ÿâb*º1]¶Ò}ltÞf­gë±#ÒÊ¿é3ÛI1ø)òI¼»8¹ôd-7" gIÕD:§¤iÎÌÖ‘ |ØGQ'’U{PLÔA‹›4»áâCÀR‘¥‚ ÿÞóØqWÌ2þš‡,ü*-oè° õ)yû&´¢Fu¬ˆX³ íÝwŒ÷gEFW O ë6.œŸáשuÏ|„îÎÖX‡íùóP$² X‹FÉ7ºÞÆÛNÀýÒ)k€ŽÅ!jc0*rNáÙO@½¨kPÂé0ç%t“ƒ2» ï¸ÃƒF1.-g*3$V˜ ÞëY¦¬ãbB> Î?í»ÐäP@–£®nö?uö aÂs¾réÆž–H ‹yp2´›iòMäL»Èúm1œõ=·P!ŠS8¬/Ñxô7O§CD5}S£É¨oçD3ôGâ®fËÖäùÇ+Zöi8X¡èÜ©…SêÃCxÓrtz“¾çyŠŠ{ Ù÷Ÿ­jM€³.#nÊ©&xQP÷ 4òG¼å^i)&¥F'ß™EQ&¢8U°-ÃcÉp=*¢_,ûØ!õÂcz ­hÜpo“’×ÏЋhñÚì;DR{µÿÁ¤htŒ¦èu%“Û$å&ú9‚Öèk™#q÷&Î$ªsŠ«·‡YËf‹:EŠ´LÞO W–N¶z˜_Nnnæþ~Æögõ'`1\÷Sýrj¦ZIhqƒfG‹)ºI°éh³%JT#-ìÏçë§øF8!¦ü.,9.RVO#‡OÜ7ÅÀO*Õ¼ö^?HÌààcx/ëå`<Lj>È*&˜Vsm´Ìýå°¬ôÂz:WÃaê/ï’ÙçÑ­M]éÛ;ˬh‹Ñ}ÜÉš„<±ùßg¡dg¢h“‹óÏrŒ?Vo×úù™‘¥KSw^Õꬎl‰¨°çÞêlª%CP& KÑõ‹µ P´#¼˜E 8T­ß8æ­ã„ቅÚfœÀý ®Ž"ߎBqëíU•{¹'·Ô_Œn3·*/ ©JL߉Ái@$z;º#™÷¶¦óÛž0„û1“GØRGY-ÓœÂÂa¨ü´Á)ö7^ ŸfØãñ€¢N¯¿ë57¿Œéà{–Óé³öۇ̷„Ïýt™öÌ|%­€Ì«ƒÁz˜¿Ø/Ä \3Qü°£,erä𯔉ümqh7†+§Æ_;í´n[g³Òó¯¹ë¥À@lön*éŸóôó 9?•¹Lî¿ ß“nübOfvBÓ-÷4FãymHéõãiÌh\ƒŠjéeçóÁC'w¡÷—âÅœ„Šv‘­[­öóñV×%Ì ¿ 7Ku߈ØÌm÷ÖJ§…§b"Y³¤þÍY`‡QÉí®Iœ#ñ±n¾? ¤ïY0Ïrÿ޾c<»Înÿ¬e„³Ixxö´'ò5(<û±1ƒÉú-ù/;!\/¸‘?’Sd&O˜…Ù¡‡>`¹ìt;E:q3í»Bì– €—¦€hÁÖº~þÑõ4g–„WÙI„ž'ºèÁ½ËIE¿qŠ÷[c%pâH‘b©J‰OÅÊõa5ðL7âQ·»“Dþ#ü:oãIP@‘·L_ 29úqæfr6y#[Ñót¶ykÑ‘|!3€ä>ºjÒKÝôÁ]üI+ü×? ÿW×COí†Vª"fÑ Tÿ° 3Fœ$^A•/Ÿ”$‡=•"É,T¼ï7Šö {ÂÐK$=-Šf'à9;õ@Ú¶7q)zæ2<÷a—‘ýÿ‘°ì7×>SqÝøAb²jt1€€}ó‡Ûú§ò®È¶˜}‘ œ¿±6œ••L›äÖÕ SŒ¼æúNx¢TI ärÉkqw{˜Íþ`ÐÙµºÕþÄgÇØàÖÀ W̪`« ’3Dá/Êºç¾æ'èi¸ïM¥:%”_ÀÁ›Wtzèɸo…]žmp„ iù žl´¢œ‹ÊårHð‚joóN<ãºTøÀ«0ýÈ8b–ÎcІWŠ|ýi"¹Ã!eyË`aJÒÒð^]ÄÈ;ì Ji| ^œ¢ÜøÁ@úØÀ§†ÀÙÕíƒaË÷i|e;y9å5½†hkJn¾Œí‘¹C‚d}핯¶ðÑáíŠoW`Ùb`Yîˆy€:Ýq²ç¨ ¬®þJ iÍö7r†9]œÐ‘C†aÖ~“NâÃv½gT ùÁ¤$¶ÊP†:ú|Fo™‰uP7ÌV\¤-—9.^lîu×y±Ó/³n±8~D©LœvA"ÊðlûækǼ¿k]S¸H¯h¼/Ë*Öê&K×}k$úÔw}†&Ùt—Lœm»ß`k #-ÑZpFRÕ8·Çf²±‚j'ÁL„‡.IšÅxöYYßgÍì§‚è_+paƒZ ·¦ÚèóE娗€êþID%ƒú ¦Z%?»[׿jG¿è ÉþÕ/2^©CíKqI€!¦1nÁLõP˜®Ô"›rçàjçsÛ›¼˜†,‘yÒ}€–Iîa…ÃÀó<™æì_ZñAÃ5„öÀÍÿN…~'XöeZsŽ×òæl?™#Ç&~BšßÅ’¥ã^Ü@©k€cVO ®q©£Ç–làÏú¤@=‰8†¤Cçý·@sVšÍ&¢bеÆ?ï¯XSÂ|0Õ’ÒôªRD€m‘¡&ÚÔƒ¯³¨é³»•â ‰²wy¦7ÁÈTa€YšŠV JQÓË,‰üÂj#E®ðîŒJ#¯Ù!E6ØØÓcª¡}ÿ<àë¶fŠ;'—›]…^ízáß>F_QKŒK Êø¯ûÒJ9-ÈK¾dâ¦!xñ$ßñxc+çó©ÆðJ‚ó P¸;l Ñ[÷"¿&å5 x„`>Ðw޽«"è…›•uHR*—-9•Çî¬Obïn¸Â>ÇžOHŠ`w€ÿ½åà­Ú:0fÈŽcDÜô÷DÆ#ž‡¿—YŽî)úéª|RãmHþ×Çx0«tIù1ƒž:]Ï “êB÷"ß:B.Ó^FÜ«„o›rÍú¶º®é'iüݦ°÷Dš›L㯆aÿWÕ%޶׹‡ whÅ)Öù? £íôÿ(­é£Ûp(i¥D×g4õ1Œ4UA]Þ|=l9§+>5hú%7ø/L_Ÿ§oSè¶/R\.?å•”}‘<´òeØy×~ £%­ÿg(µ ‚à­Ñ(b¦ˆi@µš\H…Ç•EUá “ñbÍ|šŸI7¦N˜Y-Nþçpº¿œ¹xΩ'#EûN?û®Ñ}G× <æt¼ë·ÇXKÈc8üdQCPÁ ³ Cœ`˜ €z ~[öš«êKG¾ïJÌGme)¸Ø>cÖñU-qá¼£àšäܪΘõÁ-¿÷F$­mØwâøúøèÚ©DOêÿ5„Ù¤»úÉ ô)ì1ä8« «§OŒÉHiy$Ö÷k_“ëzÉÃX, 1‘MÜL×aý¼ºè„¥ÙW:]—?åNªz8^q‹­øÝÛÉäÒÞ“Ë-”¤;«»S3­cQæ—裔€0›¥”ÚQêÊî¯Jö›µœ)ÜÌ,â2þÐ14U^ ºcRtÏ^/*•¯_zmüs_ˆ¶p†ËŒ0=kC *dt‘ÜŠª÷$±X%w©p‰l»AàÇ ·êi-P̺M‰±%×>tâw+èêÅʲäô v‰µ|2˜Rm4#ˆI~؋̀̅ýêü’ª›PmL)ðé☮f](å„&ö×§=~¿´r¾5Jó>R6êß NåDK’áB…@Ά" àà|ä/¤¶_uü.!fç¡/ëø¬®­|>˪š ­þ74Aìz¿’™ÓQßÙBÒ®g{“EÛ¨ÿ ykhŒ- P4ÏI©4F2r8ѳš‰@‰­þ¾zHÕè/i<Ô°Hg+=­ÚÞ…5ï×”¹VOkû„å0—Ú_9×}²à‚­¿Üc×– ^Þä„bÙ‘O"%°9=Ûy¡¹Í8í`¶KÞ¡;÷4’Ú’[äÏÒýaîÀI¿Â4ùE ï\IµI]æ‚ù ˜Ö• ¿³?Ïðø¡‹D”\Q\¡°w÷f5_;?n'hÐ"¤”SWq9Š(㟞Ú3FèVR\+üÃQ"Yù³·@:]ûCFMgp\¥BQP?SÖÃk€¡$¦k.„áÝ"¹õ®¯h3“ä² î¯ùÏ ß$þOŽHÿØ&‚<äY{ÂîÙ„±,âÃ_Ê|ÝSC¥§¨Œ‹j‡Rl|@srù `Ýv–f÷6³4“uh`Õ“W«{—-n’)ÊBM}Ù tå"YŒ`8ý®MŒC¶(Ž$¦ÇÕë¶6YÚi åçÕÿd´\Ã'¢ ²9Ù„õ”ÊïÞ›b¤UÂGøsb•õ+Ð¥€¢…ÈBHºD¤'yõ³ÎGÚœî)õÅÒ[l4P_4$2Šú©ÈÍÇXÕCàÒHHG0…húC‹Ë( Þ³ž}øŒžùß+Y¬ 4(}ÒrŠ@ˆnýµ3ÌeIUHÚ{ôNJQ« úà3‹ãIÈìRX&؃½µ¼ŒkëYrdÄYç#¯[ë²Ä†œÒPÒ •ÎVY up'§ð¤ŒfÊóu–)~EÝìävÂ|އ=žUÓÔ.<ÍO÷;GdsŸÛ¸ñ-=FpPb6¨àÀŠvüɵZÇ÷ÿ!¥üýÆg wÝNå¢TÏ–6½ÂÕé‘,I,oŽni*›„¥uo¢ß t1Í à O»`k¤•õ‹ ‹‚2tª.ø6ÎUƒ™"k½n–,fu`úê.‹ƒšü(Wˆ³{×¢à-ΕÌmr¾Ñª˜[aS’oYgu –Ihw …NžŠsêEf­?±Ôà¼+±Æóˆ€ ×8ÕØø¹™±[hÔû¡"hÀl õ·ÝnZ±+sû[[áSð‘¸ßà”×´Ë[ù2l|…ê_C °±ÒpëÿQ»3äÁ—˜,ý'âRú’I4§›A*_œ…0o‰‡} ¨ì×€"ÏE¹³¶ SÐi) ¿_ï4gχ…í Š!.SßÔQtªCƒ´ ²ú¥ÞË õ%hDZI4"BØ—x 4Ðq/mz 0üJ‹Cꄲ¨írã @5ô šzÄ…+ʺ\ƒn.ST+$»1f;àÌ Ä•´ Þ‡Ÿ´>ê›30Ï2XádybŠû6(ܹ ( újz FjLqy}÷Üþ/òÀ ÑŽÝv‚GsžˆXl;ë C¬ðä]?Žqj¼Çý8F%Žü&þ_²Wƒ>ÁÉæõ^䫊ÙOfXäZšÏ¨Õ#O#U`þÍÁ¿û×v[,ë‘,6FØ•ÒwÐ Âô8M=šÉ#3©â4_¼V¾ˆUHÄXÿ>óÄpñça²ÞÜiKˆžÜ)ó[ ®LjFˆYwè¥ãC°‡"4 Ï8C¼fÁbð=A¶Ï"v¢Y¨Uôÿi±Ò}Iò†NZÊý¾…—8”a³}¾{}ô*‚=Ÿ›¯õ)9e|œpHQ l<ýiø‡ÃM\çïð=DC¥<Ü*O½ìiàHäúŠäy ˆ&ˆrM(Ö¹L!q\8R§R?. ËW­E{öh‹ZO `O^Ê[Ç×kõ™‡^?œ~½™n…sy&#hìûÛ e÷ýÞ) °DæVŒr¦*ƒ|—ó £^òwp®ÊÏ8¤lšé‰0’ˆfËÖ9ú6½ŒkÛg„«aŽ kâê/é>x²µ<Ïo©óKÅKcƒ€éìÞú7-n fTålE^€tB´*jç (‘~8¸9©It)¡ÝàºóQÃbá6}¿œ€ü©ìYºOEÊ*›—;û %kœEº:y(…æè6Wdâ_²+‚èð6ù–ÚØ=(ßy:*{Vè_Mï¥çˉ–Néß3d>·XêU’ ·¡7ðð%tæH`Øå½©ÛüôRœIpãm1¯UßÕµÁ^„nÑnp¿tZµ3–àU{‘q¦ÈNó¥N9iù±`Áº,ØV€•ë›â½vÉš1§ŸËÓ€`1ŠËàás 7~qž1§òwÛÂþÝb<ôÈþ³ÿ¦Öø§’Ïe»Ï83˜$PîÈ1´@­"Ÿf%ç ~&(M6t™þ,dñû›ÌSÒ7¿„q!a,S‹·et%5ž=ë>S_÷¯ZÐë6Ø#ÜÜõn,Nìöû{åŠ8©í3’Iâ¦ÒœXm4z E…,˜?}†þcU Wb%’9K½u2b¦nƒaâôð)Ÿr«WY5P5ÞZäãÀNþx9ìqëBÂDÒì«uÄä-c#DnWucw´Ääâ(È_Ìttت%ľ÷Œs~å~X`dEúlì—87É`ÓÉo®XcÚ—T ]PîñPQÆt%Çlzý¡Ñ¸Ý4ž¾¸cb«ù ›:Ððþuã^ô&ßc}£KB)€™ÀGXتÁamÓÜ­Ý;>À[Oý‚5ï‰ú'øJ;™êc›4òÉØXîàÊ…#˜„éþ0îìïÇÄÏI›Æ}›Þ£H ¸ËT»‹º÷6µ› =8¬¢Kåž&ÈîÐNO<«ÒùŽ\[\úö‚8¿²0=¬T-J„ò^ fÝ™Pò÷\³ÙIç5Ç!÷}16Cfs]:bSúd¼, ›„þ…&®¶D]1 Ënd†l˜ë-Π—×ê×óí­Øh›Œ¯í[‘ÏþD*. ‡Ì™ß]Pö"oØŒ“*'^ÏéBŒb¥’äæ1 0ÈÖýñh‰Ë¸9<{íw#¹¹Í eL¦«%X>´JƒõC™0ÿœú¤§Ð}}Z¯ìrèvNƒ«sÖÏиã&Þ,™2p+¨‡rqï~R£ ©µ&‚ÇZQu^½1/Æ@IbÁòn_%’…¿ ASc´,«{¦ Ù)tR&;ðÿ¥¦ü"zå{»Ç`àE  Vx ÿA´*‘:´IÃtFqíc#1Ìüà`Y5ÌÄÚ Íl?3s¤ÕÉ›ì ;@Ù ¡ò_aoÊŸ¬ª&¦3F‘^Ëè¼XOuž +ÊUá͠¶pŒa\a~•À$›5.MÌ@zz)þaañdcÌ8R‡!)uÉ;•¿8}Ht©[¼hîLø#Xy¢­Íz÷϶¢&< ‹¥¾þG9E8B]'õ›d„Oì}Ö¸îyÊêÝš*¿"à8F€z??|Ÿ½2)ó,šqSxüû;‰Aë•=ÌE{–“X-DfÇFJ{+h“—82Ë™Œ½6?XçfëGõ·P¹ÆX–¥Æ± Kö²ö¯4zž³þ’“ƒAÆeÃþ/—‚*ÃÑðª¹`½mØËüB,¥Ú˜Y ÑH»Á¦D 5:}w¿ª&uÕttq‹§×lÚtÿf¯‚ÒÛ†!2W£R¡¢?†õãµ¶˜ŽWƒK­ì±re xÛ©JB:‘i¯.íÔAã½Fà˜VÂËh ˜ÿÊ.JDwOÕÀ¹=«ßùf1c¯.Úýy £”ý]Z¦±üºb¹Ë^L‚ª+Å’r¼k$¥â[šEô¿Òq„® ƒ¨qÂa3§‚Õ¹¤o-<©‰í¶Ušþ[H_7ËeM|H’Ÿ—qzª%"rDéá“fìO\a":îÂu}1«Ï2*Ž¿ãuh1YÊÒ Òª‹U2e×ôDäv Ñ7å]~Ó\Ãr²KM@¦ôM›wCB#KN—ø5OH™¢¦;’JºE‘å¬ÂjovþhG@9jJ´?PåkN<åhº’ëØk28sEÒÝõ&íE…~40–¨—ÿ»Rˆ4ù’G•¼±WÄï÷&aÁ±ëþ!lé-;•/€òvfæ\…ŸP4?±£dœÓ!‡uŽ_ͱ‰þ&VÔèS%¿‘ÄÁ`ñ3úºôÕ¦L 4Ä®¹½:/átà3Z«¥®„]Ä£ý Á ðó‰*j”–ˆåJ%“2£_|¹_P‡ú[³h‡>øÌ‡aÐ`ô×͈…[¡¡F|˜¿'ߌº 2½À”ËìŒOý?¡Í~‘r¡eàØâuÌR#¬äG¯–c…¤ÏÒ4<â8!…A£ø+*JÊ\±ã$÷ÕnZz—’fªº¿.v•®gQ$tsG¨ƒg=åRÞiéy"êF!aNdÕÌœú(žU÷jx®2¯õÿ7ï¥{ù­ÃÝ3êó`Z'Ì4¸2,"·vÝûšç ³(:÷FVmôoO/f'1‘Qwæê²ñºq·jj·è6À¬µkD„6P.Ï=/Wæ¢f]W‰#Æ>>õKlÏ>Óý>Bå2W<ýùv Ç’=h†ŽAét,0åœøs0U3ÿÒYŒòi1ÐNIß F´cÅÖ6´³&ôG±Ju²dŽËHõÜzéò»µàÌå2œÙ–Y¨NÈkÜÒY_?¾ÒMvbš›GQ±îý{T™Æ2‰Êv쑈(¦ëÒ‚àZyk1ó^¦´§VSaãe‡#]¶@u:­8€ÔtÒ@'¼]jnj8z^¤àìQæÑ+ô³»V*¿àPbï>›=ºè\ö£^Ñ‹*W­ÎïÀÖ¡¤JöhßÝhXM€Ù‰;¦•*ÜRÁ"í³^⯴uGv›ôøµ¶Zz dBhXÝÆè9Ÿb^P´+ÿÌÞß^f¸™I ”örw½žÜÒ ‘píI<ök0_‘HIYM”EòRSm­XÖ¡üY—&:jÅú0ƒí EFkŠ n¸—mGiêEè»ZìõmLsé)ÌÅ£ ØÒ@p>@”®†)ô»Ô¼ÃgQ¨Á"(P‚Æ [àÿŒr12Xc1ÄðîU\™ZgÇaŸYsæÂÑœšûtk%qJ'5;u¬™TÝ-d¥I!s“ÁWæmæÃ¬´Ò( cˆXçàÇþNy> +X«Ïž|‰kþÊ(—ª¯k·®ÌrÑ›‡ëÀ¦ù ÜÛFf%äX$Ú0{›; ùòKšž'É΄ԃ̻’I^1|·*‡Ä¡‹E-5˜ KùÁ1sZûÈ<<h̆W¼ãfË|µ:–xcäíozVÄØlIf³wÔ4¬€q¼’}'}žÊŸ*‰\KÛR‘].ƒ(ýüº­'ÍŽ{¨zŽÖWGCöJïË”rÐÕ€ã¶ñâ×+UoX[˜RÙ$0BÊž^¹§ˆÞáûQR÷ƒå™äÖšpÅ{gôA’.Ä*×ÚH ‰æûÏggŠÙ»Úª»¾ñÏù½˜Ä’–&kËmJèK_’RúŽ(SÞa<î¦]¼>‘ùktHJ€*—ÜOjáC‚[tÆÑ ='óg×ÉØW ¬çWÂÀi=wÛ¹÷ oš¯&GŽ×„È›¶4N'Cý®SZßÔ2‹5”§ççhSšxK¡>”´«[PöEæ­æßà Ê=‹C¢€ 4yƸW85ГÊÉZDþ¤‹¢$zXÏkgæq{éÓCß y™©¿Ù¡ÂLÔÌEçqúÅ,>±òTÃB'—ï…êÀÀ”ZŒ¨ÅxªXÏ¢X)²ßð¼{L’ž˜/^ªË»„ײú˜Mð%Ž;i3y#g¦ýPAê o FJB}ÙBsÉ\‚7v‹Ý êÎÝåÑÿ¾'©Æé.¹<¥¾Ôt@g¹nH_#ÂR@…‡ÎÐ5ž–£éAúºQ~_¼þñVS•[Ú —ÐÕþsïªÈôÕæšäˆ<¦5^­k³ß’§z¬­¿²»W¸ÈÊK¦êŠw~äSs·¬î\H`Yþ!‹Â¦—ÑÙû§¸S¼¯úÜ´jŸ20×Þ¸ªþìÓ5XDy¢+Û!êÙâSðª3{kä˗DvÜópŽþüƒÅ¢²¤´²çr¬ˆåYc©Êˆ%Q;*~k¶ >1’Êüú*µp;Æ+Œc z‹±Þކ‘Ú:šN6ÙáÜ ‘IeÜF¬()³M†ºb8gª…X…ç*/pí?«V„Ç’Âð -$´UxKˆ'DW#ß„wPç;pÇä#/È@ y¥àùðh»Ñ‡‘‚Ù=ENÎà@„¯m¿Ó{sÏv·4uÇ]P;DÌ‚c½§ã\ÆÔÿìÔº`ýÐðF…ª]xµè[K¢Š%¿‰‹oÜØ,kŸg¿ˆº#ú!9êžâŒ‘ÖyÛÓmÝÇ42;Ý/wpcvCý¾£)ŸÏJï©€,¬ØgªQ¤¯ ü~LVùî¶èšàí,Þ¿Sà&Ù’y4Ô«’]´E¹¿P§ÒLÅ'#êÉðÔ¬ìÂw_Çn¾M×GAÛðÂù¿èVfõÅ…{תÚ+ƒKï¨I4?Nð¤ãS¹x5Ý¡dí¹[2Ç3C‹ÂõAýà±…*ïØ›Yò'óÇ Å!8£.mø™í8;€AÅîNÀ‘dl9ÜÅg»j ;dÅÔg!G…[†_U´nC‡õ‚M‹$7F+²“(üáR˜¤å×W”·|pë7Þž3B2wô³±Ìy¤ÕNÞóûžPªÌº8XŸS6ÑBšÞ¯¡ïOP f¦f¥¿¼f“pÞ€›õâ{''ýìÛAŒíˆDU|œ–e.Z«°¾ISA»ÉàóEXÂ8™€ÍI? ±bh :¾GøM,@˜¾Ír«ì—cøž8‹¼Ç(ÖÍãUy½ç.ýã™D¦Â€ü¡¤ú¨s)÷—ž¡üŽ’äœù$3? è÷"æÅ#Æ÷f>"6êgÙ3®Ó÷õ/Õe~B™`’D]WÏ3u—åðxÜ»Ôãá‘Àíë¿’J9u!qG5·òÌÖ?Ï$'@W_+«"QJ55ZÌ—8é K'EÜE®ñ3:ްõ4òYàR£(sÜŸ#ë©§ `kþ1˜ñYί”Ó·EZ¸I¸4T6]¥M³ªm~çø¼t7ª‹Il,æ ι'µP¼"¢pðU€Àÿf¡?)Âú—ãh›qº±œ5šèÍEâƒ>'¿áë|Ĭ8â’ƒ$Œ= ŠLÛ6ȽÂÈCd#À©Îë*ŸÒ8€ÌQÓk@‹WjmAŽÊáò´™öÚT2F>Ÿ‚qWÍî‚eÍçš½w0±2Yœáûä2°„ÚÈúœ sù›±2uáÑG¤è])RªuDh-MÕ,ôJ¹pâX³ã ®:¶{ËØ?©Ý!x+ U ¥{ÿáé‚€+Ó®»e-ôSÂÑj9Ô¶Ýý“Ù·ä¿çĉ†í qØŠc‡$m¢¶­ˆÊÐ †’[Ä“ñ€"­´.)ñ,¬„«—F~k¨óˆ©å<ætMŸ»‡0k.InoWðV\@ßí·ûN^ûûµp´d†¡‡@‚+öY,®ìÖvå‹u=Ψ\;ñmª a÷LÙÞh4F‘1½2óú¤‹4Wkûj2W»¬½ŽaOßo¹Ãþס[u(j‚;C³&&÷øIÏ3Ú¨cÍŸÕß$z‡ÈØ¥0½÷EágÊÚ¬¯Fà U­H 7 %H“W„bŠ R%[¬Z4¼ÂBŸ ƒæò)Š/Öó „ŸØ'Ø>tpthïØˆy1ÌÇt¾,ãô„ â5Ç]Á隺„9ÿ.Sßt¬ut»¦XWKú¥Ã'\°† 'íñDašsŒ©»² )ŒMÃ’é­Lk-ðÆùð4á]‡)ZËWp¿tt`¼e­Ý2gb¤Æ@ÿµ_Â*tì`uDHpª2Ƴ·ÒWÅîˆQñ½Sù6µ¦O™ÌÇ®ì„ ™ Švbœ'VôæËíU±{àmB ’m-ìj~ÐUFdGA½0¡úý®‡˜…ïY}øøz\ƒó´±‹×^óJ7Ýjcá @¦ â)@„ǃAòXQ/]Ï+‘'÷ib$ò¶hâ¢Üg #=ÙŠô_H»¸™¬þá ìÁk ¢À—‰kü¼_Ej47dá,ð^ì]b£™ï_òà^0ï­Ýlí>C¦Tà]M¿jdå»d0ØTŠEé£;Bé_ ‰êYv¶ Õj2SdòŒ+ä5é2{-PY¸ oEª lÓƒŽé¾ˆÞÕ)ü†)Sµ~Ú1ž'J¦ØD_fcð…þ·nœkʈ¹'#ìX‰ 3I~›’óNuœ‘æ¯'bÄ6¼f¾{¼$;º[ÆôY÷–ÉjJdõ…Ѱ-ÕÅ'Ò€Ç9øq„O>Ä€¡ Ǹš>ŸKæy¨µ¿ËæC—ƒ$$À•©¶Uì­öì=ç¹ä?B|Y1Eú µI’ Ö„š[²áAüÎ)Ñ›·ÚOôB´à¸ÄÎ ‰ƒŠ(¿ ÕÛ¾FÌQ ~À-V·5ê̱ÆI‘Ë8+Œò ÍÆŠn#Ö֢ߎà”'ÿ•éòžVŠ2›ÆÃÒ™ÐH3k³LäûùÅR2¿ù>t²)‡ ¯¿†xèèÛÆ4Ö ÿœ®[ýfÛ9 ôÅ[¤¯éé»\ &‚BRƆtƒì¸0*zÛEïJ™ñ[ÓíeDƒ05êUoz¨é³¬}üíÙ¹·N¼(tm,VÇãÙC®×O[ óCÆ6 MDÎïK"ã«[Sðòf ÝmŽÖ lüt3e¹ˆ ^™š÷< Ä´—)±H/µÈÂ)iÐkÈ}A8Êpj7t†äZOñ>03ÖÜá¾–qežQG~R%ã*ž5 -2B07 pS0ì4#0¾|+’0ÊŽkg&4ºXCŽ) h™D5‡qÿgèMìGõ ,š" °¦úz Φśsq¥× dm…O'ùìyj§û·Xæ[­O"®æÙÚ‡‘õÇ„»Xy°ëUŸ±rX<”¾ú´÷)‰t“ºÌ]ïã²w‚WÃÔ§ìƒöDüÀêÌZHuFŠÀÈÀó¹z›o•ÈŒ³4Od=Ká»L<¸Ž[dr¾· %z_̼¢õøüæ„M\\ñ–#î;ËdŠHU±ŽÓr¯8 ¥ãcVÎåJ,ªÁG5E+É]¢ùš8šFjÌgkn!g'9`àPõÙäXIÛ{ñÓiŠ]ä|&E$íãßDJ÷¢tñ›1gÅ„rÆ®ñ©—(¼¯xm°Ã?nû´ÿÖRçÛ¤?BˆW»:i‹;Âý†•Î_{{ž«‡˜(^ÛÚ{ZÇÐ{täÌ<: ðês":h/{™žTD&9Î*§`iꘖKäìGд¾@*<‡6®”R…˜’Perûð»i$M5{ÚS·ó¦bݲ¢Þ÷V>!ØÛ'þUuv‡Cp}¾(B ]Ó„ô1OšÊ©¼ü½KP=ã Œ.¶¶q7ãGþ'hh’Ü5†hÑZ¹—Æ„( +7å ¾ˆóz¾f 4cB„“xQj6`•åÿמG%×úK8/Ò’’Xâÿ¯nÁ$]¶¼äd§^uð¼[-õ|*yX cxÆyÈY¶ôg*_;Ó(6ïeE jà €¨6š0$/X¥m‘½€àq4ÍÝÙ¦:ìgNìA&ým’s×á2h¹®¤+$4ÕÙSeôMãN`©4’Å‘ÛéÎ4ë×FÀ]Kù‰aw¯KÃp¿QÅéœiëxƺ©ßÁ'e•²Œ/ƒk˜†)“‹¥¢°ýZÍGøJúþ÷²pxXº×uAÚ_ü-'ÏÜtÀ¸¿8œ×¯·ü#îhöora¶í«x§}ïg»D ãcUq‰`uö!÷îO<ÆÁê}=@ à5óÙÜËu¶ÍOÎýuƒY6Ôw=ý— Ç8¸g)d,CÊs`¨Vk#Ç¿¶ôq¾ÍOQ'4 ³/Ÿ&¥y ~²‰?R d1@°>Ô¿¹ãL2„gJבvg~ãJo]¾Y¬3/P$›r½öµmôN ä©É1½4A:]ËiNΕÍ/ËS¬ÙœÜk—gדL©•ˆ$ưZ4Ÿ:?Àž@¦èÑDœyõ`GÎwLï «-Ž[p°Âõ/¯ê˜ àcl¦•¨/Ú/Zýp\,jZ,³Vˆ÷ø £0úIÑHË ~Áªáp®o?K jÙûwÃq?Ö1Q“_œx_÷ìµ …¢JéÁ]5"ósšÛµ÷Ê­I»Ë?Œ¯:?jN€H{/|{F¯ÍÓ¸ü#£õ†žŠPi7ÓZê{xd@Z.cY ò÷@(²¾BÂf×P³KýR„Ô¸·Ë”Ö}¥sËl¤ídRa¼,?ö¿)"¯çìE!’_^–‘SÌœO)Á²m‰XˆHw1î›ðñ5VçÀq{Á oãèK˜wÛŽÙ(èc¸]F¨\ÃDc^©Bð¼#Š˜]@;ˆÀ\ÞMu§»Ð‡Š] °|ª7äwé»}ëIPmµ›%QêÕKqLDz¥â!’dzO᱊řE><4Ãåd!¯­ËPêÚmåãÍv*{)kd µÏ¼‡[BhÈÔ ß—XéI"½'b<ÙÁkÀÙ­½·I“Ëã 4yIEáïbp6²±›`¶Â/£Ð,às ¬J£ ÞÔr8¡ßô i2Å )Ýö½ÕÄ+4%`Î-¥6† .®qtœWÎNÄX Þ­0Ø‘æ”AìYˆ™@:§5vpœ¸Åÿ™døÑäŠ?„JŠƒŸÅz5=åíbZuoˆ!b•Ð0¯ítƒåvîärOAø[YÝ[JûËušs<ŠF®Ó:{Ý;W;/1âŽó¢òtKhGÿX ®˜Šo&_ŒG)—hÅD±( ì”cX¬=€AD—Uî!Ó±>¯%Ø–‹61S”7${„‰wÿi ò×ÍÊb8[ˆ÷ȲeŒün aÂñ¥Xý"ýÅÖ_rù@ Ö« p¢’b—‡:R9+ÎÚQôã}›z¤Ùð¯mÀ(tâñ ¤¹GìRž4: ‚F ¦¥{è¶á”†›É•ðŒKœèÅS øB¬Ù=ØÿÍtʬÃ*mTÌíúGìÁ&®˜öHõmjÞ%F@˜“Û\¢¼Råa@éÛ‰¬Ô:BlD`„»}M&& Ažöc$ȕޛ¯9`ìñ;=ÖƒŒ¤†¼(ÄVnôA[fVØôí¯ éëjPì‹^Ò1P0%Ù [õîE¨^DõT†Krð7`EXêìB„ѦxêH›ø?TµâšáÌEÓÃK¥ü3þÊ—/ɯDl`Öƒ¼’²z€Õ8`hðÁ0ûÛ…0X«90*ƒ^c¦Ä®æ¶Ç†×‘ Ìâ$à“7n÷O›üŽoûãò^Jä³"ÕšÅc’ü^Pé—¸Kµ|/¯y^n/Ö+sh‡8‹M-Àî°2GΙfz¾¼M¢5$gðû•Ð业×(#Àeè¦äQÍ_b"Êû]^à÷Ú–UeÉוüƒ/¨æÅRìÑÙ9X²zàØ‚Z ÔÌ+37+Þ¯\¤k©çÃ'=F<[¢#S\„!]ökª£˜MkÖ»¼IHÁ|‡ïKÈÉÛbÙMÝ?7¬½”#E½l“\4p­xiÙ5n‚ýºìNvkÙI‡¾Wï«c.Êùç¯)=;&Z ´EM& þ̬•ð; o†ä³Ö‹±§.Þq§?DrëLEü\ oµ9îVâÐ/eË“{æŸ%2“þçžÑ â5&†´|ÇŸ±t_&Â4…7‰‡%è3ŸÈr†ÉúʶõKU쑤=@!î‰ÐŸŸT3ÇH‹Óqwàý1 ´åÙ éÐR±¢c w;5T[Û±ž™ï¸vý"ŸU¾o0)´3ò&>·ÿ]QI„>JZ –.Ø¥ «·~2–ɼ¨÷,U0 ‹ðÖô4“(¦E¹ÓâMij¦Ïë2¸©?>¬%ÝI>ý?øõ_Mà,ŸMÍZ¨3ÔF*þ™GõTOµœiÌògR†i5ÁVh.@‹šýã\Z#-Y Á7'‡µŽ9-Á‚mYI–2ê„÷< ¦Ï5÷#§²1¬Qƒ)ç–aTñ±¦â¥õ«6pÜÖP§õB\7 ûK™ÏDvyz™‚)+7"2±±ò(N̦¤ÚVlÝÃyÐǃÏÈÀ'[miÍ«§y~ŸÖ«£“ò"y0¼%é¿gßIúU&:Ÿ€ËÝWÐ4>£{Î_!„vüõÙ<ÅÆæîe.ùw`«ßÌÄL¼-7˜BæIˆNUãBþãH>ʤ~%ûûžØPž¥¹¦P7¥ Ï=Í AÔAyâ‡E9#…§>­3§R«º¾t1è“0‰CwF ‘Uð5õ°åkQ+~Ÿà°2Q¸Ì:ƒqºMu )±ª͆û¤Ûý2¡onòÜýDxr¢>E¬FÃmLýŽÿÌ|)Ïò‡»-ió¼Ød¬ú¥¤,ZŽÄ =hzâEÁVb;óvÈÏ+­xò¼¯šzäpLA¢Þƒ=Þ4ëÊ;•ç4à¼ÞÍC®TÌ™Më€xeÈpÁ¨/^áâ„OÏPYvØÇdÿ.ñÖ4*9:yL:@øJÀöÀ D»}ö*¾."Æy»Ì;@€r~r›N†/z/j“Ù½.È™•p-ªËÀ"zw'¤¹A0lMJC½lÂOg¼édL`Ì˶8€ŠTÀp¢Ö 7‡zªÏ:e‹ãÕ*™åF3iÜxÙJ뀠þ‚|~òÛàŸ |º¤nñ©ü»ÏÝ%Óqiٞͪ8ÐþBOv«ŒüFV#“u‡J],®7ŽOõS|̼4þ{;\q£8ЧVÔ€$!Lx2'ä×…¤?ÛŒ˜ðÌýâÞ4•^/¢(üëå0kHg°Ð™ÉÂÓ7 ‹g˜û—˜×åQ4w¾±œÅ¢v&𑨊T> +0´ óÑqÁ¹çh†Züuã¢UQ x3øq¯VO’«ë9.þÕ‰œo‹ÐPaôÐó$­HKGéo“‹ß?ó²¼Ó!ú§zNP:e $ªTtž”­ì4Üü}£NØ$þˆVxš¸Øj”ªà'Ènjû‘.¡3r*VIü%ý¯Ä¶R#Ybé² WÅ"&³Dýu•^Eh·†i­ÀRÇsº´!Ž©#^Ìê1à•;Z$¹#J}Kœ'ë»J^ÔE^‡Ð·š#ÊY€ V?s¡TÄ9YW†®‘-Ÿš°ÎJ· 9ØÁŒ»ú}¯ÊšÓ“ªz¥ÿq]áKD¤=Ú¯CÒPGú‹þQªpéÁF^zjþÛ[^ ä4·®ˆGrJš?CBÍí²ê7Ü-‚PVîìCqtÏí„a7x›Ãy« á} ®4;’ÏHË¡;Ùd–ÈÑ œ"¶I§e‘>rBl¯{ÑäjfÁY%Þ¯”¶DÜæÎD„Pl呺¢b™ø.A ,­™)x<´ÕMñE’Ë%)ºöM7ò,í¢X Sï"7²;”Þ3Æ-Z5œì¨Þ ËÿA¡{53vÀ—­Hù^‹l%+1~DS·½âfç!m)âÒh}v0¬TFw%‚(¼ E]o¡ÛÙHèp\õbø!£ÏNÒ|ýQáÓ”:µúýÅÔ‹‘,3ËËwNÅðÚÛÒxI|s¾ò1ô`9ò(sÕIN@‡ú„u §_”èU3ã9Vãdëӆͳ• Ò ßìHÝ{Lï…½Ôíâ³Á[ ¸7›Ö#ÒÎÁB[ɶخÐÒžE7ÞŠmðCÛX£”|¦B; ÎëG©mÔ®–ü#Ò2à„±Fäï”Ù e ÏÁõèíÈ7UEu&Œ‘cAmà˜%ÆtGïÚ€ˆHÔ¬ØÇã‹N¡fd—´îÙ@/Voˆðo$ð’‹n Ň7¦õO“ö—rm¾áE•žcïþ&Àà‹ðÑôh!‡aœç4†(á9,F,#uuÿÆÌŸ9SI¯Ô‰¡u¨[*þ³$ªv¶¼Ïo½äŠÃI8aoGö3vu×ÖdåœÌ£G­ÔÚ/ä%ûé‡ð‡ åÝ8»šP`÷økã¥s£mÑ…zT Út46Á˜ŒÞjDç˜lçw!¥'H¦ÖÆ¢_ÇälªÅMÂùŽ6Wø¿QŸYÔ5¼eèŸÓOÚÖþäÔ1å87F…OZòº%œ…¦PP¨9†«®æìÆ}HÈ@¢’¡&f‘£Aæ²4œ¢Í oÎZ˜ãX–ßOÝêÕV'jJ…ýÖÊyç5„ÉE)äCFV•£™wÝHÆ”tÐçÇ !½âa?–áCèuVR¿Ÿ— P4@ñ}}Úå^<©"<âÑUæ#þb Fù–§NKŒnØ0Cù€¹ƒ ¤ ÿÈ;Á®ÁÛ¦1÷€ˆ)—A€°FûÃg± ÈúYËèO•҆eܳα+ЙÌW¸¾.nb\¢™ï囉 wq± ±UÌÿzOýZ€P~º¾P2Å»Çõµ¥¨ZüÅ”ÛÐA¨%¶;W©BCô¬G«èWtŸï+²Ït\š¹Ì=6{»ú*£NcíyG­Os#Ë=B;îOš¯<~nóÐÇ6‘Dy1›ÀáT 2Mymú9Æp»4™{¸í.V‘Ü5bvC߀D*o‰¿ÜyH:ùVò<'ÖWÆŽZ@ç鯪°EB«ðÄ8PrUm¿È\NñÞùçb±^`2„œSØpÅ•X)Õ§ Bt’TæWþ½œ½=½ðhtJËÌíjm^M sd’ ¿DߢTU_ïVÒ_Çá4ŠåñìœqËÍ´õkºäG­"¡£{"dÀ„+ÄãûPy׸–U8ÉŒ‡×°©ßº/G¥Pû¢žSÆV•W˜¾ûà᭻ΦVÎÜ™Y´)Æ¿Žð«áÊ·Hæ#A” >n—¬!Õ:ÂnÉ>ú0N?œ«v+b,Ïþ*•ï,bÄxõ®Ù¶4ì")–wßóïEQÜÌw¾Vâè ®ÄšWd r°û>æl&vscïð£¤I0Nwc„¾ÍÄ«ÉògÁe‚¾é »ÕëõKþCÛÛkÂ¥Øa[Ô¢Ë^@ÙÈÌ­ÞðéÀo¾o<"V´£ïµ0BpÉ;¤ÿ¿äNþI¤_õ‡/íKyi®9[çH+ÌúXtäÄ@ˆU/Á5«*Äþí½¾éšYùö°NbÛnøÊ%oÝÛgÚoxç…‚„Ã`ùˆ`nð½¶¾¸šß‰J%@^뀰WWÁÖClé§Hkñå9T¬Ž_~7w÷4³'y¦Iè¯ÃSo2,p%ðL»+¢ÕÄìtßhWõV£¿Þêþ¿Mà‚߀00n—‡9 ‡¹!%|iŠ$_OusÀ„Öþ ´içè–l©bkáù7±¶mH€×>Íg mï>m¾VÎéȨQˆn­¢Â5Dú2 â&8¤ËñpÂ%M}ÖïTº/(çQSÒpo+‹+8ãgK -Ÿ¹1—TLZl­][‚.ž2z©Ñé!_Ù`éÀ¼¤L¶é!~È`=ñ&¶è¼’ó^BMaB¼+ãËè¦f‡¶¡ =—¼ž'#Õ1ÍXö¾Ö tlƒ¡w,y<.{BFO…Nõë™ÀW¶–”u¢ôbŸGã]çÄ:™k‚ì­MþÔÙ»†È}¼ò†Ÿ.TR!ÏtÏ÷ÅÒ«ÚÀ_Óåÿ>|Vmÿ¿%#d-У*JÝ¥UôÞÁ½?4|Û©2IW`¦%ÒÆ-DÆ@oMN£«‚ÕÁªe †¥Ã €|Yipæp}ñøœûÏÁ7¢\oìQ•-Þ†¬pÖ¥zqNWV·%”Q¿#G¡†0ÛkO€"^¶Ñܱ˜£(ëgE$Õ‘ížà$ÑÌî/ zÕ~Í +}œË ô\S –NÒ@‹%–¿‰4ˆ9€†G@ö¯ª˜Ö0Z|X,ÆM[ýÉöEìù²†Y¾T\Á|‚ÅÂ53ùd2M»ùîeôzEðòîC_FÕôkIÈÙQö”عçjéæãò—!íûdûÞZíÊÜ–ÔÍᬿõHT'</ â¶´/°Wu(°ijßwJÊRƦ«œvþ—^»!߆u ,åä'%%×`õ· ¼Yx`1HHK\7.*«&1ùþP(LZÜ÷{9w[¹aæº1n×4çˆ]tqDŽYYÕ1¼ÀÔѪ]ÝsC6C×¼ÁEù+Ó—2Óz`Å:_ú<»÷ÿæ±úå¸qOÁ_[©>òÏÑüfû~4uÌý'•S`ö>ÔóÅÂÝ:7Fú”C‚ÐwHdÞš¸®°‚>‰)/^lzõ-7¯ VÜDR]úŒ<çâ ŸÊÊ¥FyõŽtsžæ„7ÅODôt$«Åްy£…æ™n ýåmÂÒÀYæyò‘±r–ÌߪAj[Müâ?ÔGÔ¢äÔñfÅwmôF:&å’:,Ì^‰Ýƒ ¸oHÏýÏùây¿¨ÑìjS&tº8ÿÛx9¥1®OÛE¹Zš¨jqo!­SˆôÞ{Ùlˆ÷»¿ÓÎÙÌ2-ðF#Óœ¿4£r»¯Ì™•ø0¿àƒEýRãÝA#;BÊ-ÓÉ$Urù1-=`@ »!q§oŠ#®œ%} Üþ­öìØÿÓO‚+ŠÒŸÊYÕEäh¯ˆ¬avtQÜ|Ḫx8àDTzÂÔ[㕪¶ü^€Òq9ú³·p¢ˆÌrÅ»IT¬î™ÚrPÝù$¥PÈñAùê„»ÃIVí h)fa»+g[ÓNEqÃ(Vòg‡›?•ÁϨ¶ŠÖa%Ëw‹8¤cV8JïçÙ ¾:|ùéjÐ?â#®©Ù¶dŠé Pêþõ® ½ÿeWráØD"J\¡w…yhä„UÞN€Ú=íü[áOºÁä¥ðuØ7tõ׺"ÛçxæF+€ÐŽÎTSO+<Äòù›Ð Ëù3),Å!ÊϹ>š¶ËéòŸ ÿ^p7¬š¿„NÂ×z·I½m¼!³e¬.µî2ʇc8ü)Û¹iãøôÀnGQXÏÇ¢ÂS Q4•)­…KWÜÀÐ F»}òeˆ²GÎæy¾!ÆEH^²öÓy`量¡H?Ùå>AvËDÒÃ%3Џî|t\¾ë)Ð+b½öy&|%Í*—÷ ^6ìKÔy冺À¾¿¨£'µŽ|–a‘Ü"[7(°Ü®¨ÍÊ[í­4®e*Ö_›ñ[6sr©\HÑXÕzÔ'qáu wk¢ òw<¥ù5ÔO³ó dAÌñÿqå–ÝîŒx&´Î³: ¤ù×nñL×|èq"Æêëh.³¦,ŠO_Áù¤Y´ä"ù ™»åm½Ÿòv•SEYîî_íJsšâÃ3gG©]Q1¥XÉ +ˆ͘W¯KÃÖ~JµME b¤¾ðR¥îˆgpÊDž2j³ÛЀ=õU» ©F6ø±ó>üµ :¹Ç‚Ïé‡72 ®û, söÿü*C¬mº{¤2Óð9#æ}ÍRnàÀ#¦ž’ëß¡zXŠù%¢µ*]|U¯§E ‡ëÚÚìÆÃþK¼’“³Ç£°C;+ßùO„—_S­fþãGòªÚƒen1ôŽªö±™¬D»ú@à¶Ù[~ο°pƒ@]›ÄT»Êð_¤‡ƒ‡"£üwûR ¥ÏW”¢Q¤lß[³$ÃâýF>ßà»Ñ1ä³Fƒ°þ~.€hÇT*Z9²e  ¿a­jòPªÉhñWت*õŒ=)ºz°ÕÝc´ ¤âòÀbõ^«22®Û2šs§¨ÿ™d0_ãuë%æaËß³¸ ‚z#U4Äf¨`0«*M"× èsFø±·Æä÷v„ìòE¼ìÈöê5l Chq,ŒKeãii²¿\j7<Ë÷'Ui3$95ø‡ D› o«*wÇJ4á³ Ú ¡¢>`D®M8ÎÃbOü;÷-IìIuÖ‰©>/§ÕwDŸI²/‡Ä(|ÏÌ&øT²$WM®+V$Ô!W[CÈêûÓdoðú„n\E`Ñ{,5Èí™v¢H³³¼8µì¢‚ˆè\.>E²rÙ?>ÿî‰["ÑÚj¢Ò^ªH ¾þ 0ŽçËH܈€/D«²8LÍ“­üÑUÞÄ^èC¤y}ˆ†;¸ëõâÒƒ* pë‘%.~gž;Þ‹P)àu<’é‹Ü7/ñ½÷Wµ³ß×ÿÒÆˆëNð×7Ÿ¼Tá£ð‰D¦YÔô?žƒ… u ~¡3mB'à”U'2³:8éY«#Ôܪa\¸ø «Â)ÞÂÙàLtª,…TÖ™qìIJ6×Þˆœ˜ìe̶ûçò½*½Ðe‹.²âÂ+Ïk-鳨º~G˜Çμ~H^Õ´ÃȨí n¾‹…8” ­?íB&Ï9ñ?Ønj õ¡z·§q9° -—[ûæsøAˆæ÷§ AT¦WkËç–æÒé\’û¼GÓ~Qcñ›UE ~ \¥Ð‰‚»´ÆÂÄ´Ï8¬ÍÄñë“¿!¾§÷ž`~±È®t¶ÒÍmJ’¥ lqk ô£ß«ø0ý_µî997dˆµt¿ ù™gi²& §;äXí}®MsqÙLø³ƒ)) Mc ÚxÕ W|Â[²É¶§,ºì I¢o' ´•¾±ôðÇjà²es¯?j·¥5Aíd»•  6Ñm®kH“sqššË+ðÍ'úR“Xä½ûO¹¡%^ 'sz¦_1§ ›Ò4ÁŸ¦ˆ>пîÝq€ ê)KzÍ ùnôª"ª’^Eíýܵ2œÕÜuïÐÒ“D‘-èø´·çbÔÙ°Dœ,w?NíN} C$)NàŸ*~@êF¦k´ÉiÅ&Ù꩚µœá*(gä´+ÙZ};Ú)›³6¸:˜§¤0à¶áÔXÚÀ)Üv3#œÔ¤jX} #Wª‹Rº©£n‡»#z)¨¥þÀð ÏU&½õ·ÀA¸·6û‘èÆ™Ð)nÓê¡mq„vA²°BÒ¡­±eÖ°¤ÃLöNùÝ f'ÞH?‚éÿO VŒ¬èßš¹"þVKÛ2ÏUw±QïÿZ>/fDÜW¨»ÌÙ¡¡¡îðUäÝkרž Ѹöð›ÎîE'eF¦òfN¢0ù›XÏ-ÃZ(á…9÷~Ã2FÝd`— ˆ†?Ay¢ú Æ•v“|´‹ð’Órõ¶Êª"~ væÜ08—ÅÐmSÔ\œ–¨ö¿žè%Øf¶¡—ë_D#¶8ÿM%Ÿ6¸LÙ†jÎ=&þ˜kãÝô…v7™Âô=䯲Ô4mê‚bõX z‘öMùë6ñ$z¶t£]fÓì\±<ŒœØd|¾aœ_Û˜iŒ |BÔ K+ج+¢fáï^~0̾“‰´»ÁRäór~, ÇÚì@T1+¶åv–í3i•6çcAe«±·KD§™0=`N@ÐÓ Æ‘Øƒu+[ú‘}–„®rÙ,d8t†WÀ5~©Å ÎÂê!žâôB¥áJ´!éË)B=F9h ´ya¢DŸ5þg‚ƒÐ•L}»}Ò‚‚LFäs7¯$o;*Ûó-û(|5žÿ%‘OÞ1µ·§KµŽÆ>Á/g‘­&d TÓ3­ny±Eö4b¤Ój#È@~’í‘ûëøæì/Hþd6œÕ*_ŸM‰‡Âœ4®I³Ò5T¼Ù¯ë³› '°gð ú{WÄ5ÈÅqBUdÐ ”W$¹À?½˜ÿþ¾óW9®“4<»:$Ï•ðÚd­Hoi]N“ „%Ñ;9&~lFÑ&Êðÿµ=Ä*ÁOS×§š´üú‰8ŒÍAmZŸüVVòyuÆ79ɵŽì¼*ý7f¹ÔhN§ù­2Sí*E_ÿ¼~<ò.ßlj5Q!Ä_JˆýŽ:£]$ö æ¢ïjFæÀHÐìTζçôäº"Ê<)—¿Auài·û×=–È=š«pÂÄõ~†>G²í»#†*ãš 3à‚ÚÇ4ÿÉ,9O×û±fx—ÌP³˜FþM$Xä‘×|W®Üþ“xWÜàkI¢éBkMîß$ÇôCÉÅ·î8#¬íA{S2”Ϥ}Ô–‘u±`ÛË"%Z9j™î!PBÛK²8÷j ¶˜%Ý£ ‹Èì¶+"‹Ì¿‘f!œº¦â“÷™‚qO46¸¨-Lï^]´3)™dê§ ÝëjÐj”â.AÁ”´»ûÐ ókIyÿ–z9ïæãQM €ëQV .mÍxw©ŽÂïT¤9 „” #1£Jµè­Úf4¡ûœÈ°g×>n‰âíà: iÌàx- £¼@5ƒp~%`ÉQÿ,¶õ}àS˜²2ú¨WO/™Ò7 óLM‹²Ü¨ %“Ÿ¹˜ÜSÙ‹ú²¯©:I%iÝtOQ†³85ú Y+ìA½4ì›Ö­®üQtIîH¿ú&…†’ƒøÐ2‘} mþ˜?.wŸpÓÏ«¤LÄý#TkêeFˆ„hÁ­nœsq9Øàç‚ÛÄVCS Ì–1çOA3ã›Ë±•6 ÓìG:\Â1òHNUû`Ï*¾µ:À@x¸‹ß¨ÊbWÂ1€Årg”ÄQŠã?$W­ì™Zl/à‰)W—J!•ð» ƒ§&ÖƒI‘~3Ÿn„U¹Ü0ÆÃ„çµ[P¹ ެpȶ9ýJ§:uóƒv`X0+2IêÜ®^ªúÖ,Û®£Åt—S ²e[ß_¨û—ï“;rN\ÜAh¼¯&¡ÀsØs%”C»¼¶µÖv·ßæÕOÝaÞ|,Õ'‹§$¿³·,÷Ûwûv»2N-Ï7ŸœA ¼A¬A¿G©g´ò6½ßùÂç¯'ïÒ˜ûÂ:Îç $?2ÙVZ¿›8_œßoW¸ÆLë:¤%ôÐþþ»§0lPCjç“õv+¥$9%7Oeñ;=¼AÏÙW¢¤—\÷Ïø‰G˜µ'æÛ ítßP=}µglT½^Ï×)³q:…YUªM˜o‚¬#͵ÒSæÙg;˜E+'¸¢‚­$}ø ïnäô¤·C¹sVúEc5ŽººÔ“Ïa•hÎN#Œ… ß:C5á>(p7O84×¶‘ -¡¬è·t¯ùcY2T†ð?Ü®Íô´Áþl¢s2åÖ!b>Ö¸íítàe9?Þ<<ÄMOޤíK®ÜúV>*¯{Í7F›7ë¼àßo¸÷#í‚@ÉÝûyfb[ÏÜXZ“}Ô·9R˜N„€ºWâƒ;Né}T—n¬¯X¯K¸©Úgd  +÷Sª CÃ<«ðßI¾ö*Éu! s¾)ätôye;L%j^éuYK©zéÚÓ²Ââ.6Moškq×GÒ/±Cu_ñÉß$ªï\Dó%g;°`>DÈ}›­¾Ìôòl€§Û 6§Ê4Ž.@åÞ–¬ÞÚ¾è`òDâßX f I})w‹ÀJ0ù°íåCOÎC–[ƒ«(c;¹míÜ`y—¸ùÜ6Ø%ŽO‚S}º#•¹ç •—’n‡˜M½„3ß³%ãRè$u7Ë»,}¥vB㤱æ[ó¢O|œRS8CX°©@¤’^ñ=—ÑXDöÍå¹àú1\tR§—éW3_ —©Rv¤oAP×U“êïjÀ1½oë&v ÌiWÈD›4r›ê¥d‹Ym ›#/¹õ~&ž *TcJ¥@.O«dí¬tvðió`Û(ü¦¥ÐTVjmvBIRšó_¸š¶Ðú¶üÍëÃÃ%¢AÝt^48Ùpä¡MÖŸëõÐ{&m~íßz¦§ 6gœQçéÒvt-îÖ>Þgª‡3°¨áóñßÐÀ‰u**Ë …#£þO5¦ŠŽ§æË&'spSPji×]ðúƒs†H 8­=Î#ê0qtOœÓ<èI>—4H‹5,Ný´q³Õëc4 7])©"ÃŽÐåç´yÙ5¬ÜÄ’¾$éXªÓ8‚üÙwx‚€ S¶AUÒ´ÃFçAÉ÷t©@šàF@«~Û„ ¶ fÏÈÞ;~Qª«ÐŠºçH!$2¿&ôÃyÏE _KáÂcýáMžÎE掲¹$]\'Ø,çÕóÑ+§¼ß!¬wøÂp:Çþ" t¥œ·ÂÖà„~¯"ïUñ4€ò¦Ò+…_õ…Ê#j¡gZØ!m´Q|õS ë8éžNÑýø´zÀÞ–C÷¼’‹´¸*•¡gqGRº‹Uýñ]¤BNZR,Ï¢yßÑW»Ý”A  €ùB ¾b ¸•Öð€ ^£¨†c2þZeb§îÞzö7pÀš±ÌºÒ kL]^»y;ž‡Iô»s]µÙ<—£ur;vRqŒzæ=‰^¥åÁUx]—…ûeìStÀÿ°nª¼^ÍRº²œžÿÊXÂUEKÖá ÿØ©CoоL”ŒÉÑGQÏLÌqˆ²ËºKév7» Xã 9²ŠÆ½qÚÎ ÏSÈM—Ú±†=‚X¶ÿO$Ëí4‰ÞfŸqRÞ’üñµÉ&ÙL–hûéQž¸\¿B?Ô¾ç^1X+ŒÞgÑÞ^sɰ!¦ÿ±l_ò¢èÿÆeõ#q÷ÐP¸.þh;œ”æôðx#ia¼ˆÂ5iih_Ruâ0nëRÓÚ1{1} vdö÷ȾÙ{’½K¹¸'Ú®aƒŠpB,’$àf~`{‰e‹…:hcÅEF"g¸ ¥º6¢AØïlƬ"¯bu„¬•e¾–Ñÿ 0økn•ôÞEôÏ©Ç=¢ÛcVæ^»#qÿ‘œi>¢"%$þÏÀ=3QCïºBª.y/Ìæ/c·JDÑVÑN®ùÁ›I¢eÇäWïÀ(b·•xƒ'ƒØ²’²È%wIžMÒEO€P)böˆá·uD¢"UÑZ·Ê!éy¢®„ÕÚaWm\hI/2¡Ìù æ…Ã.Ÿ[Ê}Jî}N"ÈR¹íênw…R¶PYÐ#éH¥­ž?!™ÿ¼ÏÎÝÃË3 Äv¤åŽ{Íž¶K«›ÚW$Ùåv†BXíª kñ¼¸èÛ5:¾ÎêçFQm 2–/Ÿ1ì‰ÑV²Æ¶TʃÅ¡ïéköV™N¶=RÀMIuH}Ž wqÅEü¶#)Ìüï³¶?Ðç¦{þê?-oÝ@PæÅ-ä‚÷¢Ï;š=B hçZ*³ØÚO-ÜX2’xÔTP¬í°G˜×2½ñ3N!‚Ñút-¦‹ÌΗZ÷ŸªÚi‘KJQTý”ØÏùWôí½¦U°srqùˆÇü—ª<ÆC¬D7ÆW‡ì„qÒ⇖3V»õÕ}_ô\ʪ¥Ó¯I ²ùG!'´šlÅ„©IOåØmíòŽ”¸•0 ›·Xòig¬ŠÑbTã~KÁúŠRàLÂÛç1âhóP f|«­MŸv‘=&$ƒ1òu°|ž–‡Úçû¸Î–¼èª.’׬˜…ò“p&Ô÷ª×«›—*ÁQ£?».„°ê Ãì×ÈFcSÃx¡VÁ¦04ûÖ^Ö¯WX›¨Lk|û¾p³¡ø1—ˆàþTx©.#Rö8ÕýÚ†"ªä×z%io&˜€Í%ÚG¿ë=½Ý¾§bA‘IG5ÿ&D=rØÐ®,½¹¤llneÔ7¥`ÎF3Ü:Õ¶öù)ðC¬®)] ôÓoäÞ5Ûg ŽÊâ¨þv¥Ý½U bfôãݺï'"PP • %þ9£7¡¹ŒF@ÝäŸh¿ºl]ò·³gÇd–)›ÅGzÂQ›`#®†ÂË¿g6ý¹ŸHÂt&„‹œ²Q‚î¤Zº;åcÍ5›Ø3"XŠë¿à².s½H‘Eßî@Uˆ€…é¹Õ‡SJð&P ¢Oää2WŠË–B­¾1Ø-¥é7¾$Nãaa¼º'õ{Cñ%*ñè¨6bÓCBÏÜoL} 2!2*n`´¢#!²–¼æ ó¬\øaÇ2ô‚¹Ó{èÐÿDe©<|Ä"Á®º|Õ$͈[™m¼_X,¤ä y°)™WžÛw’»ø²[¨;¸½ì‡V=°cIš†Ì@_„ûð’nÂF¾þÇ0ñµb ²G[¢3¿²ŠñÞ keøC%±Ý†]ÑÎ;õëÒÈ]£ } ‚bjœ(<@®™y¶šcú+Î÷Ûl±3DÈTÓ‰çÈ⬷0cÌHîæB¥,®Ók”tDïÄËuuVk¸~^†§mtE ÄÄÒÍs›½ú¼Ço{c/%5}5¹Îtël¤æ …àJÝ8÷r¬ûqe%0ËëJÉi¦ú&…wîïxþéÑrß5å…~÷õ¶oØ ag‚›`àÀ³Ó/FzkÿwÚUð\§Æy‚s«Qž_ªù}Q£æ“Æ?\]¥lp´£–ÛÙ üË©Ä*³^ ¡@GÞiZgFv#ð!€ //dáP„Ò/–aZkßï´Q€¬÷qØ­9“‰2ý¹Ui\þŽ^¡Ò# î„÷FìØ§A%(;ßê5jª/VÝÆùÌ'£ÙϽÚ>ûÐ' †‘&òL;|Dù¢EýΌ֑zÙc¢Ê£mI‰Ñ¬²ô™cÖ8Hξ÷Ïž8ë9+÷ÈX ùœ…Œ³/æ¼Ï;;<¶rp¡I¢-„?(Q)MêO§%|º»k€ å]JÎ%ޤ" *"Ʊ§võ28gU>îÁ÷;ñÒµ”=¼¼³*6¥z;œ³»cf«]€=ˆ @­çŒBJL¨y+Ý‹>ùÛº2«¨{ênžôAéß:½Úy[k$ ,C"à,¾ÇN«¨é“ì^º\§C-0@˜Ï^Ð~ÎQÂ6}&tA®°Äë}UPmú²x<:Ížª(w4ÿäùŒ‡ó*QäúT¶’K²÷rs#¾úè5dð9‰:M? ÒD”¬I®r"´ 0kÑ8ÍÙV ·Äq4èÓÃjoHYä“nCá¿Ò;t³1çáåÏ‚q¤Æ'Hh†àÊ„$™½íÊ$hiÓ®³]){Ϥl—&F ã×穱–÷P)Ž4:e»ºc|kQ7pÕär»Þ_Î|±!G3&‰ÒPòþETµç¥op\ÃeB}¸¦.$nÛ¾ÝÄ¢b>ªÞn›:Ûªá|íÒÌ‚ÿc­v±ã.Áù•%V\áÍ4Ý –óoêÍ&°Má…®}ä8ùó6R^lÔPýASnX.ü#tZ Ê»:´Ì[J¼]03³:È%Î)ôWCM2á£ï=ñ]ne,óÇ+SÓXã;Qi>””¿ì˜Y¸L…}´1p‚öçµf¿¿Í?+£r_/sý­õ]gwUö¼\>ä¾pÝÊ«öš”O£r‡3XøúÍ9•öøÄBì¾’‡×tÅ‚uo>­–fNeßÒ¤œBSÆ¥¬ È Òx>Ë_LHð?F®Š÷Ò¸„âr˜Q˜·¹¹ƒÓ­Iæ÷4ºÍ@™H€ÈeQHé‰YMÓË…³Si¢™ «5 #ðxn¿=ÜËŠ¤—OÅ%5œ—ÊÝgðÃç@ùè” 0ׇ¹ôå™ëUATÌ÷i–<`¿îU@‡gGP]}0ĨýœÙfùcUb“—–~>æQÊ¿=CÕÒ”,ŽæìPêà£Ñðͪä´UÇÑßWï¯3î¸l³ò/„,릞Ó̃íå”ìø-IÕ˜Pz¶ ¿dìPŸÓÈFÅGVejâѵ2^>+ìãº`b}²(W´!S×È WÔúSjá]Íõ—:D%‘v`ºŠpr‰uø‹È«MÛÛ¢ïvKzeé<·7„Šò0“(EÎîê’Ät°“¹æbþÑÄÐPûFž²˜ ½ã¦Óä€MÌè´õ×ma± _®qo4*DÔjb»jF¼zÌ@`µã§€%Öœl÷„­È+$?+ÒS“úòIíN†}ž‡Vÿد0ÉË H1FD(vËö= ’ºSÞZüfnS2 ÃDGâ nä`¹1TB¤øï±òdrVYÎgKÜw©'኎¦'©“¨˜þäŒ^•‘žú9•î`d¬`·¢n7rŸt±Íù$ñÁ¡æ^—.Ð1 àh´…饻]Ý^¤‚ôŒm7Z¯ ­³d†¯Ró`œÏß© g·éòmЇõXÉÁq#5fŸôtÏ5ð ²ff=„9ŒN±ée»Ð0«ûµaûW¢‹xEü$¾°ð=| úiBåÞò%GÃ4ýWRÜYò@Ñ ò‡3¨º£ká÷ê~ªµxóÙ†Þ»;k/fÌ4’„°˜N:å(¶¬OÉi+%%p[Zø6¤)Í›Æ"ÿüû‹ ,ÃêM ø=ÖH¼9$SzïÈ÷Ÿn¡±#c”¤ò|bÈ…l§nŽ€p»ž™¹ëo|×ǃ©QË¢:à™y&¶So¿Û5Ç)nœ²•„òY#׈4ºÎ,÷ÜèÌžšt‹ÉX"ùiaüËæ ¦8ñ)}éú0ôgž^½Üœÿ¤0Ÿêkÿ6¿e&Û^‹-<å² ;CúKS2´#jÄ .v›õ›øöäÝ+æ Z„\Á¼ÉÌ._¯Bïë„ljY/G>¹z¥z΢¦]ÂÄZ» ¾ðñÍ,&ú'ÝKÃs1°‹R]$)—U‹pd6ÿ“¼§Iý1å#cŒCˆXsOXëŽö2 RöGªñõˬùgÔ¹¢öMt0Yã>5'ExsDÅBEpnͱ;³„¢òNB.ù“h°¾ÎÆ›ì%“6£x•Ù²ÝÛpîX„fE3q*÷R¸^›ÜïÏ~µzï+¢=G›™Õ»ÏóhP^bM–t‹}ÏÖ׉uŠ ¤µ÷ðÛ·ŒÒ`-ÃÕÑðTÄQ‹tü»ƒåz!@û³k©‡‘ „¨ëÝ@¸¦¤N¬k Ô=9Ù˜àÐéN“`ë?Y`Çzö*“9…¼ '˜Îÿär¾uzŠ+&x®jsÈ.*ðˆKƒÓCí k/2ïÒRÖÃUùÀ˜[ÔˆÍ@‹ÉæÄÅlÑZžc‡²ì*sm‚Þ3¡oÝ8ß1ZNŸ#&˜ïã߈£ ¶ê=AÃy?¦œptöÈ舎]ȹS×n`ôð°‡mF¨mn?˜¬i€’RÖCzP„ðÔhÕkn„fµÚ”“ÞVbçë\63¬G†¸LKId²U²÷óýᣘzÍ…ùéðq•I"´fˆjdžšyƒ¸ËxǪÀpâ꘢ȃª0MÂ/L«;yÙ&–ê~;mB)ã®8ºàøÍZ0Ê‘x{fžíF4€4n‘ÓºdF®æd•ã1<2 ¸˜-±8ƒÁˆ.‘Ç›¨Ô’aõÍ"³VOŒËh¨æŠЮÈ®V?sgiqެU»Œ–ãÞD6<ï´¶A= ùí{àý`ܶsÄ(4úœÎ:3s° ”@KÖ­˜1;1¡?ÉGÝs…ÞçQؾZXŠðºkZ3ŒŸä ÝS#¦ˆ³–þŠëóç~év ¡Ê³BœÒz7mHgÄ(Æ8…YJ‹–û…ÂF eýƒ¬ _«oâ|ÉòjÈEBìï§ÅY˃8Öƒ£èí82.‚ä1ô{ð:DÏÊkS•.Güóà—™äÆÒ©öqôÀ†ŸøÛ'â2:Œ%Ù÷á,ïÇdC¡T„\…þcÙïfÒÏ-ÿÂ͔߿8¬åŸÖßçù1ÌcÿK¦MO(•$eˆãþšÆù×Ó• ecð0¯T=d/&ȺÌôåV*ìq”ûϰf’hdÈ»¢aJq€œFñu· ê Ö‚8Ñ}¥Œþ‡Mv Í~¤‘ØÝÕt^T‚©/ÊÛ¾¸¼²…¶Dm­žMFd^GÎÄIØâ€E bèÉO*ÜV™ †«Ê$#C˜TÚtüð^ŸôI߀ÈP‰/ð,xðÖÁû¥{s•#”wþñìDˆY¸‡3¨H”|J†˜f¿y~ãæ/d6¢x?&®ôȰ,z¿púŠ[-ÃÂ:ù¦ÅèÓh—7IxF¥ôF€¡qƒïƒJ—¿[½ªÒï—á…Öi6³b¿m„9¢¡ëNçb¾"è½zP{|Š\4r.¥že$dó½.ZÈHA\‰e ˆNÉ¥ß}+¥7˜¥}¹ë,­3’Œ¾©ô&®Ìá&_“mµë=ÅÐDæP"!ú_ììUÕT›gV~øú€Ãpújƒ-ý»}«ø¨¢ü?íŽ)Ô²H8Wã½û!$ÑÄ”E^õ·Á7(Á"Rêê>ú,~î°ª6}DBP”îÅZoOQÌJvÌj/¶¤ZŽ^öP Ðvî}ìVxi®ÏO¦x¦Vwë‰ú,Ä2/µ‚…NØ_œËž\DWýÔ–xb*<ªýL!‰›kenoÒCœ •ìZ`s²†XÁz™ÆÊedá„> ÷?±ÉuŒ—Щ«ÓzŸ±ÄŽ3ä{N©ys`(¼ÑS'Î7ÕÿZûHõðqð°´þf©<¯€CÁ3àšŠ{O. ¸ú¤ÇqM̧x’'7Ù[D_ ¼ÚÄ_x ž…cØ.ñý-hwb&Ž‚†X¥ê’”â:ËŸÓPµ¶xã‹–É@‡À i½ŽÑHD(ñÏúaæÊ§ÐõNþ¡ ¼±(Þ<Á?1/ú$æ„°9EÃþ%6ü4üFæµ×T”±Å×ÿ&b³ ¶ù£1*Â#À—NÂýoå 3H$À»46 ë±1Çš+räP ¯øX¹4ù®%w±«ž)eÑ‚x´ÄäºÕ&*Õ è㿇l  X$̵҃قަSÔž/tÜ8Qô—a‘piŽ-·ã¥™ä86çõgáäŒØ|²²’¤ÙˆÁ)Ï~ºì}ÕñþôéÆpî 0R}Föc`€é¤B×ä*0/c’åÛ[$^ ù„Æ! oú,IY8ð±’Líïkûªëz¥ mÖþ0¸Q¿¤_ð½Iç·]•õç¨ÃŸ& !§`Ü…wž‡“çÚtÓn¢ÍÒÕLäƒ ÔŸJž(vK‡€É ‡ÏšÕOaUÚæˆžéá€yTzE öëšúæWÁÉÊù34 Í&9'<ËSa©ÛD²ÎB%ö8-¡Öœ?£‡X?Y™àŠ!ýÌu`ÈáÂo³W˜Ä<á îiÞ‚ø!–ºRLtæd¹Ã£· šLŽz-¹—ç#äì’t ’Ðôkèh!9Â{¾Àv´€xüÿcû‡h¹Ã& ¤¹œ>„ l×Á͇ ÓIö'§R :›Sxó`+‚Þîzº |¶bF Œû~D—~}3CàKtýV»®g.À•;Ë ¶¢ >ô‡ “ªyÎ+ƒ‚ßè’Ì„ÃÊ‘¸zŒÙïµf n€¸œ €ðÍŠ‡ÈÆe[k =†}TOWޝc+jêW«™è—› œööšiC;íl4«"Co/È °fDÞÑ DÄî¥åh`bíЀ+“ûøÐ›wµzOrç3&Nóð‡ÿÕ{»é„Ê»µžÞД@çüW œ¤¾µWª ·ø~ÝÈßE~I_…å_風mWDÆ0cÍ¢¦*.ZuZYç’hëÏìn þvôUZætNÝØÞßæd;-ç×V cávŸ$ •ƒm= H[_ó]‘óH.ûþª‘‹ëô°&üïݰí2ˆ ÛÓÇ‹K§k×r†aÚg3Ä)g?AÙ&†…{ª“á9+~Ø2£èëñ†Azë#óËGˆÛí“;a‰?¤ V&Ñ=5ÿ°ÁH¡ ¥´q¬­P!:°¬¦[ —ñn 2IîGý[°¢ÐÀq.ÁÑÆãq§¤™ŸËB{åÒpþŸà.eº^7Y.á¶ñÀ KÓ1?²6Peù5jíÿk¹å˜èÅö†a-/rÝ»d2yQFP‹ÉÉíÈEºÙÛ}]Ü"é2ýHÀoŸí/…u˜^¤®4 ½›È>ØJg€$¿?±ˆ²ðZ x©–Ù£¦ú¬tH^Ës~§g‹Üh§T>hk¼H>Ñ$¹Õñ'¶(Tk Ì4”Ò¢ÏÔâfdUÐéõò ‘6;¼ñVšEûO*D®¶0ð)«Í;b±çA©’6±»d~äêµEÏà|!ᙡ•ÊþÓ4&ï0c5È“áPlŠªºµ¦<6Ö£,–—®ÜâI5«Öf¿.f^q—þyº×YpŠcíÀ¶¦œ<*ÚØÅ‘¯Å‰[Ãã1RÓ’ŒŽÄì tóéØS<©š›'µ lGSÓÔy¶Y\ƒû&9×ÇSËMBçhÊX¬ž,Ûæ£ÔÑ´QÏ–„¤²nYÃeG\&÷;»U¼tjTÃÿN¿˜çÖQ}¦Ï£¶}ëì òÿP›vŒÂ]þµ5Iùà(µŒüƒ™¤Õf±r§Ñ-¾$PÔ¦ˆêŒ½®Nª[òþ@~+ÞVdŸsG@`S#­¯Ç<9.’ëLfßkz¦vuÂÌ¥ÒÐ5Ø‚ÖÈÈHØa='cO ûEM—ýõœôH•ï0¹ã8K}Ì‘—vÛ¾q@2 :¾åUÊ>Ÿ•¬tÿ»xJ«$–„75žìfÅŒdê9yþtw7*ö'„Íѧ óÛGÚ÷N½è¥ êó¶Ó‘Õ²]iE"äœËý=:¡ë¨ýÞê æÕby­EtÚÂA|3™Øœ›°°$ÙŸÿCw!ÈŽ´q½)»3QL>’ñ"l“\~ûÑE-‹—BÌPd² Á`t þ­MŸ´Â,_§«=ÝC™•)üXIpŸº"´‹wÀGÓ–ƒ-¥¿q 篧ãQ·RÛªäáž•·aÑö:€»]#@ŠdTÚzD³cöN"„eo¯{Çí ’Ðòox:CŽ€R ÊQqm»³M‡  Tÿ9ôq(½/u•°â‰ïÁˆ¡| .Ïo äcçóâ¿=¨$ÓF3ÑgZ^ý>äž³"qQÁ4^ÖßvX:GÀ¥”Cʼ#¾5½Q¼îXæeßÂ/9‘¶5]‰,™æ‹ÐS½'ØUq±-Ü­ì]«‚¡ÙT2p:«§"(€ú8oú™ÑeÕ&›'6n-¤AÞ¿Ç*÷ën!ù¾êowß(å[P°NíÛ˜A/v²Q µŒœ§ƒ:ñ"ø¬ÙÂÀO1\ý:1%:lHj!þCn½àîIŽ«gÈ£À£”PÝBHý ‰Ç›Ð¨ô‹Hà>Ýí)+–eÒsß I«;ÂZþ-QŽ[#­cÖm× rݽ-U›ùÅ%zda2¼ÔÖâ]¡6ûi\’BN%3n¨”Ò¦:ê ÍKæ×œ˜²:€:ú•s™(©P„_T¯Áýoäþ[’ÜzÍæ“WÐàíd+"rn)C›„÷ q‹üz¬»}Å¿ûû–ù¯ÔÈIZÿö,Žx‡wRŒzõ*EÝUÉmR1»´¶ÅÁˆÉLÄ$ròdÉ¢;[íp®pÿÁÞd¨ÜI•÷Ь‡«É"ªþ5÷Ütµç+“´þ©žÝÑï&×&—ض%;gfÃvršC{ηLf‡^Ç÷Ö:øéX…¡åB®â[Xn$¡RùjÆÄüZ)ƒ¦‚ËáPšæâÑ;”¸4,€aÕ[ ¿K&c4ÃõÅ=¦]'¼OâŠX~ñÏòâǼëo’/KµeŽ’âÈýÚ£[·½0ÓÌ<<£ü€fwŒ|ßm P4»DXç…4oíNEQFq‚ #Å2EÄš44ö|qî6¹€äµ‰ÍPnƒý~%ÖPõ%çÒf†Å ¡.þ.~6»»>³ÖlV<@_ÃÉZn¬ˆ¾1m‚M á_’_¥ZGe5ôF„ËðbÅ@n¸sÐoÝ¿WBX¶¶®Yï 7Ö(eÉ£+Àø§c‚Œ9þÂ5ýW–8W‚ÅhúÀ‰—Þ¢[L í¨Uù³Èx$ÅÓÏU–òÎõÍ9Ô´º=LÂPÑ€+a:s&ü3nŽ0ŽÄLꔘkf8ÚcIlîÕĉ´Wîw÷‰ïy¾ƒ›8´ÝªA#|ð$µßrhINS1×IaPo÷ÃQÅó·:StNÓ ,gÚ]½é¤Ü/?­ÈúõH PqlSŽÔ<¶ñjD5Åó%×Oä¿\âÍe 1[ömÝú¥‚~w×U1Á¢áÑV‹/Ø¿äy~KU¥£‘Bûç¤óðÙÃ?ƒÛ'AmV;›—΄}ÔŽµO—ch­–ßbé0/FÆVB«sËU¶ú§;Îf=4$ˆ pf×aô£!ûÍDw²ñMÇÃÝp#ë½³kÊŠ+Ցͼå™E%Šlv‰ëL4;Ù×¾QÈÈ1²Dµv«;5íÓ§½Ô nu"À ôÜEL’±ÎuÚE&­§U˜q§@94¯¢YÁÑbÕ±¬5cõÙ4[Žaò¢~:FíNœÇ ‡Ç”hJ&¶·üÅFb"‰q×,MYA¢,Ym÷Éñ…67žv|~?ò ÷“¦Ù¬ï»Ý)‹œõ»ø™/˜\²{ò§™‡@>™ "}Bb‚5oILmA))y%Â,C¯«Þ0Øý:õ_Ø—'þºŸ×vŒUzT¦ÖÕ[ ë(¬‹[ÛsrØþšÎ Š˜¦%Oö…]?n­1X?Šy϶VBDpf‹ðg„G€û×¥iäEÁIúÇší€6‘f§t’ëÀ¿À¦wëÍ–w L{ƒ8šx.ŸÐ­#ÿ¹¢è›OöHo8qÞ¤s‘´±éVïç"OÛ„˜dï_S'Ch¨“ðZ ÐEŒÚ´µh öñ«/F´ˆAt ·Ý9^ÀÏPM¸RªNññ³h=nŠ<¼Á®Ê€Ÿ‚FÒ…6 ì˾ò¿ÌÞGš^yv:x"ñôÏüò¨:$¤(Å]%Ž}Í ×Rü𑘰zS ük!5pP¼À pnŒû§¯'·Ì€‹ÒÈüØL=Ɉރr´ÄÓ3h+Üdï4ÿ›LKº1½1/Ý㑊ÄûÀ£%ÄE‡ó½éŠtƒQ¬Ð¹~ [V9Ù›~;“8Ÿ{‘/âHïð½ÕŒ(Ëñq,¥ÞzÊ-õH‚¹·ç{Y?I“4÷-8UÁªj»„Æ2XäF66×*™myzØójâŒä\ ¢G3AL?ˆ+ 5.õ_&np‡îî¢y4@Àrþ# ÌÕF}æNÓ;nÖsnTsN5׎o•bÞ¡5È ÙµN õï<´%EÁ°GÝ“±ˆápŸm´dSÁoI÷øÕwS,ô,·³o¨g=BŸ;à´§8³ÔmæÁBDßúÈngý?}[”’3ÑïLYí¥…Èá—üðN›3}Â)Eƒ…Qqý¬•“8W½‘«®P½&àáÝ:Ï0_ÒÝÏV¹Ž×ÿ»Ð{c+.OjhhF‡ó˜r÷™âXüÿààmß(Ê Ek—îÓX<çy¯ÿæÝVÔ±_”éiøíK#òÎ ¡Ázš›——XdÖBÉTÙ“»îØfk)ñ'7îÑ3Ä\Ísó™œb¼·ÓfÀQŒKF^ Qg+¯ZÄ‘’-ÑÁãåf!½dîWìÆ‘Ô‹Hž õ­Ñc·1²éi;¥†…Ê —$pMOñj6—™Þ9<’!‹æp+ê¨T¹«v¦úœSºè7Î’eBÄ´<ÝRÃcùœh2®ßx äõO–KÅ«¡ia©J£xÊçÊ3 Œo‡BD°äo•žÏœA‚`mÎpæáçÊÆ«z·£®”Ç×jÖ(Û]ö¸é¤³®KLÚ,šsž;jØ>ÅÒD‹/Ò–™ ŠQM+ƒ>gc:`°Æ”n½)!ö}G3õ|öÅWhBÞ’ÙÒÑ==n`@dÏYjHz<@~1€õ]òOô™²Í{¯É"W/ÏÑM¡/l¿± ’Ô!³Æ€k¯oȼ™\m¤\”×çþ«X !©-Î%XÀ‚KléþBEyB³“R.Wº‡Ò¨XC›aZ=‹BtG6à “D"yTYS2[Hay½ÿÜLŽGØtj>1›Y‰¿G ~ß=¯o™:Öç e)v}³øô¿ÓrÔÌtÈ^Ú’D–‹$ĵ³mÐ% ÀŠü ›¼e´/ËJ 3/LrÓ1=¡õ0üæ „!èܘnÏ䦗”¡p%Q9 £˜YVå6ÊüpÙ÷ø·Ò¸¡SMõlýFš Â瞢 ?ÂzúüNjdá ”„úl\ Y­Ÿˆå<wô%˜—™]ñÓf^g±76 k¿D½ZÈDv&¿DŽ”™KOPo.«Î*X 6ÜËÙš‡J^ƒ("ø¨¿õ¡Žë0þ˜{°¡ øê–·úׄ2YéÙo#–QÈFyÄ“ŒÿèeOU†º.K÷O ÐÖ8@RlúCuE¡QÉAy…‘†M ·ä¦æø 5Â*Ì;‹µ„ÇAÿ‹Thz±‹z ø¾äÖˆQžÑ¤y®áâE{>¾«Šú7àYé?„"9ý‹m¨EJ`Õ•NZ±Q廨§Ÿõ7þ¼ %E7”X¹‘I…uVYã_¼.Q³†2ŒŽµRAˆÜq˜jÄûgÎóoU=‰QvÍLÈÍ’W¾£ šBDLJ£]yt ˆ¢›íNgLÈAaPÒ˜ŽÃÁnÁ³Å‹6MÿTIÆ·1CKP'Pè.äTRýp~¿¬N÷¤É9SÉIϾ«Hj ¤ĆL I_3EÅU‰WA'œ¨krû7N¥Kõ€YR±GTÓöÚ×cSfsÿOE^´0/²„ê[¿ÛÒtúÞdÀÜ9û‰×÷½û5?xl©Z¯ç6ᨢ…D@\>53ɤÇRó|!ÕìÆñZZ& ü”ß« \“Ä‹øtf ׺zB„Þÿ*ÓôW7þ†o§*wìyÄÍe®»vúSîT˜ç¥®1%q}F~¦HMû…[u_–.æ”m_{Ìl|Þu ƒ’`¸¹“`ê¦ö¶k²=Uð±3§¨Œßy)Z¨šÜŽ•å„ìC¬U¢•As–‘é3§~ì èá«(/lâRÔHê ›d{JÙ¨‹Ê ã83 Õ³µO7pr¹[âàÿ-ЉÒ~ Xâ,Ûê”÷ÝýçÔÙ ^]*rD¯úׂ‚€”Ñcûã0æy¸vˆˆ{X^‚“Ða×¼öZ\qÀÂr$N]«OB’íDåG©åy{$€E-vXCò¾Üb Œ­AÜåÀoj`”¶pÔ •|9½g< A®;`ŸgƶiG¤ÁÊ–c;xìŠeÁQBãcxÓ +Å`ä}:èØîv‚²¤nÂØÚˆ pKÁv g“ßçköE©‡[ ²€óñ¿V„Øm ‡w(W–ò¬ÁÃ-äJ.¹®µ¢æ.*¼ê‡°Ôs0QZ•Q¸{¾¬Â¨ˆ5ünÉQMMmd›¨°&!KZ±È†2è>šM´–ì”A9VŠi.ûR7sÜ‘Ñ=T½üW‹üìÑ[®ïIxØ€-á¿(‰5ò®ÔÏ%6Îá=ô: ˆ·uyïåIêèBéHàV^[s‰'G3Œ¦[ ‰áašAÓ¦/wþ»…±©ó3™D™Ç÷í4VÝG´&}jwà&íy ètïËíGŸ]Æ.ù›C –‡›s›âÄj ?s„d‰ìO½F2eß ¤ +7„3”…q½d´ÚKèmzÕ5•ZÓÄÄ—V°4O+Š xÈp“/ÌŽhó>tíWîÄcE'¯Š6|¡O9¦n§z<3¡à€¬!ƒèu_%óŸJ½Œ™œº%D\–9¼%9M]/©û 4Îñ¦ë麅û …ÎÉæ¬nt•KG{ÆÑ7(û¸Ï#´ÍA`´iª‘ç<Þ"© "вyÅÜ€2ØHA…¸j(ê1[Æ$äa ;ZÚªo yæ¹9£ @V¢Ùû,˜ 'úŸ:M+½wèk°X«Ë7s‚xŠ#”èšLÎ[LwÞ%äå5ŸP—o–=IöwbÄï OÖfŠíQ¿Â÷r›–ì‹vkþjiú6€ÀRg0Ñ ›.nêàõó5 ˆ[­ ÝB:$ʺ›Ê qö±âÈ¢ülÛÝÛR¤ÏóYyÁRÌ®ÑY¡[5áiüÞ(¿ÿQpØ ?²é.;~aÖYl¥î¦t>Ï:BÅñSIª(÷$ÓÃ’×-ó×Zk¿”u|GJòž ÞS1·wDÑêîØE<îY€Eýç•QcU¸Ø¥7öø{l“ó#+§qUÜ·÷áqE±<7P²Ò?z]GbcÉ™G†>§1Šˆ×Àd#½ø­;wõÉ»¤AØ^q\©qL;é‘$´×T=­! XTS‚ÌPü ¼C{|F*^‘c`£ÓQŒÝ沄L)v•žÇ7²'p¢m8­2øÁÐ5,'˜k::ÛV¼7^“~‹=öt ZýË4¦7õÆ ÊeçáèhÚs¬ceHŸ^jÊÇA;ïbì'¹ÁÁ~†¿ä«™÷³*p…+tñöJ_j¢“€†ûù0“Nœƒáµ¶Œàë‡XÒF¬]éDï8Ë«Ñä:‘gÕ˜¿û t³#¶»Á—}°¦#_²¾ÇÈÕŠƒKß”£Ë™«³q{ü™ æM\í ijÍ11ù]g#‚†?ÿDÖÔnbBÞ±’OÙs2ÆSÔax¸~ܹÙ@qŒ_e¥ÁfÒ0¦6ð%¾ð‘ÛÖêfn¯KÒQÍ¿%¾ó±yÊr–}š<„tÖ}yÀ@á6=<‹I30_>0D³š2¾î“Í)Å&“â¢Nò¸˜K1$–Uë ÝŽ¤¿ ¯XWx—‡€¦7ôgãau„Êbócݨê¬";ÂmåÓ›¯=¾]÷ÕŽ°Š€)ŒG†AQg9ÄëtÖõŠ`Î>­“\*ñ¬P.õ:“E‘tÖt»;L,)îÉdž-ÿ8?ù”вץ-nËã…N8[´3)>œº@ýk1ñä—»‹ƒ=HÐÃâRDcxSƒ–ÏöÈ2‹4¥ ~`ÍÒXØ0F 7’‹:Mp£QÄÏýW0Ɉãèd4‚eKµ§†«®3±$h"Ž³Î¶w6M‚òËp”ZþG@zÎq®&€fÿ ÑÁ׳ýAK½C.€üâw½»[§fÎ/¨|-ÇèòS„wÝ”d¦Í'Jùc©.{†œ*k¦Թ8‚¦‹sr3êÌËùŸYºåg]å6\nq’wHÕ6Plc&àÉä[3­sÒõlç—n ³feÁ¹£Øý~÷Xï­#¨×ÔÑõðt`§~YƒiºŠ¿¢sê$¨³{7;š?3V5݉­!r tÝtFœùiŒ/ömƒ‘Ÿƒ%œ¯0eÊ;¢À„ãÿ]îåZ1¶æ0°(«hšw4Ó¹ïööJ–ØÆXíÊ) %ðoð6„p|úB„œ¤òø¹7Èð‰>KÑ-ìgòA¯T_¾q’_¯º»³ üÕ‘mî%UdÛAùäÞÚ:Ç‚Ôýêk*ʘ3/Pµ¦0áK<Ãwf]ÑÖó!À·cÐ,éš4±FkËüª4@ñ+^h„—…ÎÏ}GÓ§UP<·`ݾsnRïT .0ÉÌ%Γ:Ùtiܘ•< j›%$bš7O];ÐT«šïŠa´ÊÓþ:€ãL«7Žó„m‡£Zªù}ã÷Cg*6YTÅu>¬© ½‘{XÉÁ½JšÇ·ºÅ¢CÃåµqæÈ,NChÌÑ-Ëžw”ÜMa½‹2µœQÚÅ,Qf}­JL°‹Üñ&µö5=fZ·?¦Ì©©NF þh6((• §ôMx¼œ5Y’ûß@RBÎú.‹¤w4™zë_Œ}S\@J’Çeƒ‰Ñ°¥*w6!wÒòKzGTs¦²Ç•8z IåiÁl¬/8)ܹú´Äxë^ÜIÎbÉE[8ØQ9b@ÀÖiƒN@”I+4gœ÷)Ž×ù©9·‚]&ö¢dmöÖ2Oüü÷ýãTݽ]°ÛÿÐØŠt¯ÝÄN’íÞ0EÖÈD¼¸ QžÕv{d(|Ìo8ùž“—_]»åv¹U N7r‘ê¬h;o†¼ùݶl£UU]eEËÝ|Õj¨®IÐ}#M‘ãÖ…Kd›œ¦[æ§±˜I>ÒHTz[Hšý:œ{Ž¥òéþeë˹X–W àÐ*æ¨ý5·.¨@]záDœêÄfö%ÉþZîí¤€PSÕÀtÃ=Á%&KÞ3ó€Âþẗ17ì™…Y1ÒŸ ¬Ю1J>‰¡k€ ²Xþìw2Äcü¤~çE÷SÞÌ¢ù½WXõ|Ù»þc¶ÓX›ùç7Ä™7ˆØ©Þ‘ôE\@l ’~QØ I«äÞ…}£Çµ­8ÈÇý¸.6⤢\?¬.ù ¤C0Æ»è±%AíͲ#Z½ÇÎLpµRøz¸)+ªou:p»ë(׸×ÿŒ3Ëǽ“ûŒÝHñx¬hÂÓàr¢2±ÏB&`iÔ1„N"î{ì¬ Õö­ÒòMQY(´ÑaéÉ·ÖzPƒFȸ¯$´  ³®Éz¬IÅ5¶qK»ØDPh6Ší‚ÂÍÆi|Õà?üÆðEK†_o_Í@²þšmýûRYùôr)Rêë×+"² ƒù©ûQõKKsžÝ·è€_º¹‚wšœ» Ü&Ù뺪Àîð¶Æ$€¡˜ ] ^¤¦ÛPÛä84ÂWít Óª,ïŒîóá4æS±{³tï~®§9ˆ‰P™ íÛŸ1r·k±Cy”M쥿wsë¶"FÁÍsXÎOPãå.ÛÊŽÔH.±Š»üS ½)(½T3ïè~@¥ ;®Á‹òÿëEì2’֕þý @‰,vN~$ä=tϬPcÖƒ)3¾…i(Vk–¸zGeQËКªdûç–ÜLáž ódFbG!4J¼ôN’ý/ÌC(¦é*%±Œš[qþïßYpm †×†7u‚㤩s0ù¾Q𬥔®'S±iæ{ó *•šZ¥½!qÒõ(Öb/D.Æ«f¿áL~€íˆ4ŽaØøÙWÛÈõe½q>³(3þú|#„a¥4þ:gÛ…‚60x›[÷‘økfØh‚š¸Ã@†G­Êç¹™Êý‰ªjBÎ1‰¬+ü¢<_Ö;šxg_âûZã1§Øç¯tõRÚGèÛÿѵ‡:dEb ó¸¹H9ÖI´jÍWÃÕð láè²§ðÖZqŒ}²oi1/æé{÷XMlîñ¿Äòþ,*ŒÕX¿Z iβÄl¡ŒÝ™ŠÞJ”+Fôñ– ¾¬FÉ&f&Æôl’ipìKÅ!}q²N(‡iK¿Û@ò<—ÊÊ#mMÀ-Fã|³{.lø-ûBáA·fb…xõì[€štvìív¹®Q$hÑy€ëæµè0@¹°& *²Rï°»ºŒe¢õ4S;ƒ60Ý£û†ú0ú,¢5§mÚ´Õ­Ç)‡ ^ 1ú…D+²_â(¦JÈÜK[ü…íQÙ2¢@+"†„´äôç’S®¢«ŒRö pãAI@T¿ãºð_‹VY}TÌÍ–³Ë÷C¥ë›7”… çweÈ Ålú°°2<Ãq¨|ëJ°³a ßwé%¶”ŒêŽÒ)ÿ,^q+ÒÀ®k„‚“mQÚ ¹çÅþ¾AÁŠ®WoÕ|ßËþ3ç`‰Ô êv–š e²¨¤ÀS­P¸@­Éø>æÿw¼–@Uß‚¨Qv¼|o®‚ý“Ô:TÐÛKÃXQ¶€iöÞÊ>½žfÎâR(œë@8Pµß™èoÛ_bä¡H/”Ã3ÛÚ5OÕ“9¹¾˜ª¼Lãâ> ]"@ÞvI!»¢—˜´2¶Ó–ÈØt͘ÞSAŠÄ×Öú«• ŸÅ»îñIùwñh†Úù<ÕÏÏî-Í«ÆYÁ0uÑ嘸ÿ?¬Ëb’-¦i nõZ%ç@ôèrE/IÔ²ÛY€Ÿ†&)ÓÊüBeŒg :`Ò•å†ê!}3Ÿ€• ¢8ÄçI` )- õÊ0Ïvõ6}mØhOÝÉ‹æƒTMõTÕ¼ÏåWúS#©l‰Š ŸŽÕTâ ¾-V$aJv ?jŠç>Z3ßûÏ Ö|Àj ! "dÉßáyÑõEc6@z-8DÝÌ@¦Âé8)Fyü–szEEÙaVBz4÷Ö®,†0¯`aõ{Èí5€ݾ­Öø:(/â/¢Zí’Ýt2æhÞ–èñ¨VÌ‹_0XáÌì-¿:`f½CœrªHoÒùÊe .Zý²Wø£z—¶ôYœï1ùMÄÙÝ_€û.Hñð£óé6mèa.éØ))QEùíÏŠ/zW­Òz™•(“øÙ©íO,,ëÆ[…¾Ó‡ØNNó1?g‡+Öþ«4ÝÈØ3½“Ggz[E÷tüéú-ñܲ !OJÑðægÉ4=¿Ö\7VsgOűcªß†p£ûu¦ßÇÔ·ÖÙ ‡Ú÷!Xûw5©¼£=³‹06”!÷Ù ñˆ7‡þÍ^¡eáìßìÑdj|Vò„è©AF§;a`_™ì9z&ؘÍÅí’øJú>€ín‘?ÞЬ£9ó3AÏ?˜ãEÙíe¨‰oyØà+–‰:o ƒîOUUðÂ'c"a{ >þ¥±F9ÙÐùh3º¥•N¦>íÞŒ{”uz^ðïGÓ"œß¸‰×>Á‚@1žû0‘c6ÓØÕ – „ëÞ™p áž;¦Ãxd¦Q’ŽrSÂPø1"ìkRÏ"î3§ â€N'¸º, ~K_#®*²‰?Ž…ÿ©¾£Þˆþ¿Oê”âÀ™°>C ˆš!K«g<\¤IÝ@ï½óßCvw×ubo\- Õ.”¾ ÍâW6ˆÛ+ֵlj¬Ètã¬@oãH0 å߈ÜâQ}¡ƒ›Œ°dÚ"§KH”“kMðɱ/EÄ”‡‹Q.ÄÉRDŽվ㘾 »éÛn„ð¶îÇ%˜<êñšt’Ò2Þ¸ÿ ¯c¥ ž¼œÒÙñóÀõ~äÎ BàòùfÃaByH/FÏ-H`„ËkÆØOvóÀщ¦ ¸½âï\tÚß+u;Á–²Âݲ7Jxë»X©ø {§ÎtëŠë§‡Z'—«!d5Ð^j-îŽnñô¤ X´®d>chààiÁãiÂ4 šnÈ"ó²{h3:ÉnŽ·< !‚ïXíÓÎì•Oz8$HŽÔì*òÒØUñŸ}½R;ƒÙëª#ÌÅ-r½.¶\h•7Zbì:Q¯8~3áFxŒa)La0Ø™ºTI¦ºþDYa²ÖˆaÖéÚw~9Éb€€5ÜË»1Þj¢¹ð.Am5±ègñNCŠXè ð‰ë]k(ñSFÇËYu¶è#lÝÁ”Tì?Øösç¦ú.A’“Gbpâh•MM±:[}<µ­×àZõ—†§.CòÞE“/nñ>ßÅp±S>wËØ§fAm@Ã[ œÍ‘_ï®AaàÃSK ´l×H^€« "‘ïþí‹]®Ð;ºéezŒsÍimS¥ÝÁß2·ZꈽWÆòêÓ‡3*•0àÈ)€ôŠpÆF:ó1‘˜Üä˜tË!`fÑ“æŽáö’–Èw]æ(Ü0A«ßý.?+nên¯ÿyŸ6Ó%±ßvLgaOõ<‡7ÑÇ“¥ (Ã6}CÎ~§çL w!XBqKk ~‡5nñ¹ן»hZ-c…•C¤¾ ¹ÃG1ä¢vì7Z.ó¸´—6ŽsõE®…cö¬0JÇzC4Òu«Äæ .ó’N²sÉþÄI/+ iÑ#Ø–ú\¸>8×b½<-Òµeµò«óä:˜¼L©DäÛ+<£Èèë¹ÖT‹8JFôm…’:¢W,“ay‚³1¡èôb¸Z¤GƒXÔ¦†šœåayNÆ1õ[ÌÙŒ¾ýY,ä ">{6äišœYÑ>m–÷HO=œá3"R­¿GÉÖ†y gs&¡8{=(|òq„\-øg˜©»¿&Adïɦ§5oO•¬üÅ"œ¯fÊçkœ7ý),ùåæ÷±ž÷Ò ãþ‰‡ójëQF0ɕ٥¹ÃŠŽ— ~^C3ƒ9ôÞØ´{*~„ĘÚuŸ3ö—74[ûºö胱»q¯èí‚2ö£~Ê£_h²?ÔåË6iÑpXM+Õ7b­Qb{W”À6%S¡ <¬qÉŒuô,]{‹ßmð(€d(¼`¨Ò…6–!4-—QÕO¾‚÷Ik~”øÛä-¾y™Ùã"Wࣟ,Ù§Iì&}¨ÏÁès[• Zøš’®Ž’0,±D×i§ö§=6qàY§?ÆdD÷vº¦Šb1·åª/¾îœ>a¡,‰}26ò*Å+•ôÏéqlÎý§DÓÊ4+¨UÆßÌA§Q„ÍIö?!H‹ ÅøX9+á:;>’ÚÞÓe~PœJ–‰þ’øg‚ ïàmŸ0Õ8J‡Ñ).¼æ¨Ï›‡!5Þc•ŠäYÐC¸LÅô”Æ2œÀná±K‡ºù‡ö]ƈx(‘þÍœ&Èð7üÛúÔ ÞZH^<>c¼­+¸ñ¬ »f4²M`m+O^`øÆ~ìWXQ‡ 5¦QRÁ0TŠ D%³PÓËŸ6ä„1hà›”©hý~H Í>'ÚKÐCÚORb«7ó5¤]QX±É-ê›_9û©kÑ‹Îé[i >Ùtáð]™RokC>’bBM¼ø˜¢¾¯1Ϻ‘ _›q¬Ÿ+ÝmZŒÿÔy.äMÅÖTõ6À …¤åâÞ[‘COM…z¾¯ ÍsFC8ýñÒl?C¢Z‰U&±l5s}ý±eZ\ˆ¿ÈöÄ“à‹ ‚R_™wÑ-Xh!ZÆdKëê†ß…Ýë¼Qµâ½HgÒƒ¿Õx«¯HÅ…ZËß(âpâRù¦&~ãñ€õ_Í®pžKÆìL5¯†£Õ.0iüoŒ8y6¬ûðëD&锸"r¸ÁžhB™QG³ì~š·ÄÛþ˜€(3Uý>1U]߸[ÁÛ§ïëâbCX’åV À+rwc¬ƒ©NlÏ/˜!5-µñrÄ»ô‰&Äà˜–Pz¥ˆðª`ÀG{SJðæ"6XÑBøÌ(Ú?c xq…\é.÷ÚИs}ÁÌ—2úgÏì± . ûtH}õžÛÊÚ8ÍÖ&㈱«9ß?¢RzÇ0*ôQ¬TÐ|ùØÌ ß’>èH}²‘r™°ÕuFK›ã¦WàXþF!ŸŠGAŸˆâ¿ic+i›5†Ã7‡ŽO†÷!úVè߯ò ©zœ~âFC÷5œk¤\îúé+¡çÙ@F1Üyüé-CY|²iÿÀ-ô$°â=9`Üÿ›»ú‰ì©e¦ìêµZQW™Wóß¶Ñ|oŽßVGôà„Ü7NÑŽÙ,ÛêX6ðýYl½Ò¯öɵ½ó‹ØôG¶ÄÜ,·/²ùù:gïPÛ0Ù…¶èLáÊî öÀÆ­´ìÆÔàz91sLHœF³‚hW"Åàè•[¦køyaýÄ:/˜pI;~¥M“‘ï‹ð%FèÕ)>R9ð;PíƒÝ¥ú†àܰŸªUý©¼<¦"¿W°…ˆÒÙ“óc©0²Î¸]¡|܆&@¸Ñ]à{ž¹ýŠ+rZea¢ß¦À±-+¬»l*¤ïý„!Ú-(áBÇ<1uN*êÖÓÕ%ËGhJµþ¾ýF;Á‡ëk7/Níñ_I0Yoy[ÅaEòH³•Ó§1[c5ž1¾ßË`Ž—/Qøþcºˆ¾ÅÆ pLÒÆQàÜ9ýZVø ¸µÎøñE?&Р`c³‚1´ÏrÙí çÅ÷ÖZ€”ll³l†Ÿ|j ® òïçw9EÚ.+qëÀ\¾ÁU÷ÇxIb FèI®g;èsú:¬ÙpO R¢RI,-–‰#$ÙÌJ©I GFJaysÁD}.òo—9òPëlm/¿7vÒ|FC0<‘¾VU±¢€t62ƒ}$»Ì5ŒkbÀgnÇWE:ù[œVS½‚pH…•&W÷lmJ€‡µ—Hxý€[z>êáÇTþÞ Þœ^µ†ÌzÙOÍEWøã~ÃÿÐ4C!r‰t²,Aa7 Q°´t|év¾s¸ŒƒNY Æ´¶¹½;¯³£O´;l'ÿ0}m'Ô áïYûp:©üåšVýðÜÌL{…´šT:VR¿H±–…?[]鿛ƸbÒ u3NZ§B ÔÒf=ùf@¥©AÓ.µ„¤Û•ªúW†¶ ¾ûq/~_nY«æà`êy ›eÒð„©s:ˆ;é¹l3º$Ň-´^J¯Yn Wø«È`ºi |åÄóÍDŒ½[óBìC¸Ry°pífÒ­µÛìe®ôÓÇ-Hou !„Ynª&ê,Ï SŸDŸšñóÉ ¢i!°òÑ’5©w•¬Vuó73Ê…3ˆE°½,]É å”¥UO Öpýú•´°¨{O²m¨{U #åŠL._`a M’z`~¾6ÎÖ(°;Ñ ûðMOÛ335¦ÔÖNñ6÷~Äáºp±f)…u›· c»¤þ#«³~5 ¼gV“\¼ $ú|Fÿ‚fIÏ‘]$/1nGñO½«‚mÿŠVÄâ~…7óïDòn¤;~²bºF@uÛîmœH"²Œ¹uüÏh ëqzIz—¥‡æ Æc”’„³˜mCŽgÌ®Œ®ƒPëœ,­'b‰@a%ýO­U8^ÃÙžÊg±Àî‘Ó-G 6¼µß®Œ!Ær]¦¤±í,BÜ<šŸ÷Õ™1¬¹†¼žEÌ ðCgÀHb*ž(gã!¥¨Ó…Å,Б‡t(ä(—ßÓÒŠÕÇ¡îé{ˆ)N}³¡u_ìk¬áE7¯ÚDSüÏÃM?Ëë›uè«›3P³'wPL»Ú³‚lásܵ׸ˆdí–“e T₤Ûß›{Ô0YÊå‘FÎwµÂ¶*¦ |LɼÔfÜ…ëpP¥gC€Ð< ôb¬}hŠe4þÍ2ÅAÚF-¤Nú9 Oˆ6ia eiP´þYõú{??Ò¢Q*P“1êŸnÚÛ`ø88Ðf.cWËû¡@ PÆ¿¿kŠŒ™@ƒãŽ>±)Ð;x’d%£7õŒ‰KyˆC_ÌŒOx£K¥G”æÛÑ‘V%L¸–´ÝæYó_ONpfÿ<šÄ…ÝFi±%œ  4”I¯ÊÔô¶ÇnàSã2 h«VÍQ”ãi'XoˆÑjáÔ: ‘м’Æúͳ§ê¶Ö‚ ú„Ãh2¼ÒŒ²•†¾úQ‰Ë´“E½Àê+ñ,Nsù@i»…½[º7ݽÖ93j훢KÉ·,6öÏ9w»½‰@‘7YÂÒ„#²¨œbQy&Œr}änr t,FŠ+q:‘«Z·Ÿ‚sÒ×?<Û„7Jd~Ùñý¤2O*BR¥Ìæ˜ûGãñc{¡Þ0T0=0ˬ+>V\èÜ)hz*#_N¦§inòûu[Qµ4w9B¨Iÿn‘;pµ£÷ˆØ "¿çIÝuñMž4`HxBãid=¯X”V˜V?¢JNùaÖÞûîÀ{÷íÜ‚O¯ÕÛÀ“(~­ä^aב^ù…¼$|ßDìoHh¨šñاV¤à#ˆð GlØwmž~l°ìD>Qܶ‘0.{=p@8Æ…&0eùE!²\Kx¸sh1¼¦$9±ƒhçþ*)+Ѓ"øÀn£ééŽ{®žÌn0j0ï!Ç©\a›ˆ·Eircqáb‰óƒ))èEhï!’>ë¼L±õã ¢ã-°ÇÙqCÞ;Kø¾Ð|QÓÿ¼CÊO’iîþN¦†FÞHfç§f᳟n˜¾´ÿÿ0ÏÉ úå™Z2¢CÊ3û{n‰‹Ý¬H…^À¤(= a·N~›½¯¥–< ®øUòa¶ÀÙÇ8{ϸà‡ÝÏH¡F¢oš‰kÝ›Râ#ª µàÛùHçè¡ã¾<Íî´7Á=‰Ž9T’½Xæ/rÁaöYQrà1oºpœo=˜ŸUáAÑ^Õ`>¢†tØ6`d •½¸ßjüÜ£E{ím›vð‘|¯8T$N }õr$ gqà¼%M¤Ò§mQ`ŸxïäuÃEµ¬õ= `²?Å'²wq«óû±¡/új4×Dv­BCÊ9Nx[…ÀfÙö—`^¬~ÀÈhù7öì|Ç,z( ’¥ &Ê×PJM͹ÉšÙ?fR‡êCp¢ òð@ðõœ&”-˜CåHZ.{ïö24œÜÛõ¼O–ÚJËzÙHÂ$Ä2'¶’óï¶?E[B†©”1AnAi$õƒÞ÷à%.ÑzrÖ&`b3Â9¥ãÏÏîÉK¿¶7½ŸJqè &n04ܘ¥N2">£÷ §&Ã@=}èèÏ€´oB m œŸEp±e‹‚^ň6}[£œ`¶Ž0\Žk¤ÓÛ7 ¶á¢%´Ë,ÍB  z’!ÐINšY†h ¢1æ^ l£¡ß,¿¶†DÚG«âsÓ–Vè=ÛvKx}á\´'¢Do§3_~0%Sä_°ã ú1ÎñÊPþ™<€Yà6ÁN¨¼–¸3 ë†&­y/VMÜf‹¨¶ Zâ °/µ!¢ÅFAº©úÖWÚTéøþ ªqú¦[ËG‘¦qgÐ:’ØX¯ ì¿ÔÒ)œ?˜{- ãØðz‹@5‰¦åá&J2RoqÊW7ñqwt¢qº Ô¥†U±òÉp„ª±\8³ŠZG‚uâÁÐ! z“tCfs/øïYewn øw“æ˹ñ¯oz¬}Õ˜îgÃ/æ1^g?ÌGùå£flß9Š"núZ,šjþÍÅQBõ‹Q5ßšon!'9MOˆ•Ø®¨œ“>½€nŸI1í]M~î0°ü ž«ìVÀÔí¾3’9‘"¼6a‡3?)'Bl^mA¸<½7w+å!åK¸Í”@mÓê"µvøƒâ{žËÆ`>¯ f£gä>}³ÏûsÊ)6ßVn';ÕÔﺧ Ês`zæ%)ãPÁá¶È¢ ÎÚô§¦gc§­S[2àO~Ú¤25¡Pܮݴd-“gÃ'¸áÒqŒå+¿gOS$9¥ÝÓFG:·»$ËIЛ÷k5ÓŒK¦­CíD… Ÿ_Š•;e–7hô©M™ÃÎd^…ßÙNeÈ›òuÔU^9ÉRù~7ëÙ)¢…> YÚéÅQYÓÇOU`Žõ« Q´V´+Š›Ù?$+U¶c€>VžÑó©IŸ]¯<=4^›,Ú³g%â`}¸Ö£}óßÛ‘”œ7þLDͯ°7uNdº‰É¯°ŒhÉhàiÕ!p›æšB0_ÖÎü¡CL‹‡JÃU‘tÍ,¶|SÀ `¸7n¹×7 Èaý±v4bÖºJmW÷ Í{ì …¥Fü9ŸX•QµH¬ÉÔ²ôˆRg1ÂÞJPdˆ=R? Æ#&¦¿{²O—™<–Ÿ*ÊS:ÕãP··AÐ3/ƒ’Ç ÕÖòH£5náLQ Æ;Þ ôáoH#}\¼o¦†Ä2§u!ãÛBÓ£É?ô€®jv¡cýv7'>—B¥y¢É<ÁÀ7ÜòåðŸ5z²Âêojw)DæjŒ=O õ¼c ïŠž5ô§Xo Ðëd™ÊN£„òÑÍrqn¡iûƒõGÜÉWd›v{·Ÿ 3M|.ØB„­f¼÷ÁwÒ¹Pa+i/¯ê1=É£{ÃïtÑñб݃½5 `šJŠg 8ùÑ+h„±Óºe- Ûîú*w<«§.r†å/bùU$ò ½#O.©¡6ø6FÔ[¨ž¨·MOǪYy  z¸Ø—XƒW‘ò… «‹|P6ë±·/fJ°Ñ%åsÌaœ*ì #G¼Á¢!so§ûI*£…R: yÌúþNÂ4½WÓ†*ý-«Õ³¨ºôÒ|e ígà«8F]ˆqâùàDzýýUG?qáõÅ!G2³XÆ©µKS,*ÂÛD`È:?ÁÚ‹ÙšhÛ¸6ö«œYß~ HCÌŸ Ù vð7Zô–úo+ ãîÍ%„êñ”–U7Y[Æÿ¾tçü1¸ÿ1Á%›+ƶȿØÏ&nÐø«» J0SÐ.J³?0Ó<Ùv þ·) L‘æô¡|êÁ¤†Eu¬O3n;PŒÙhÞL‚BðµvûmÖ¯ ¼žqìgf½±p%kS@ÁŠE#;—×\•lé¢!]7Ý•îDÂeI«ðÇËÃä‚ÓTÆp–¥§Â½EùA{ÕRµÁ#/¦–>PÕ -Ê¢˜G<Î鍯®¶^”²ÝÇ A¨&Q¡¡naxQbþ¯E·n9œÕnKˆ•pW5îÎÙ†÷ΆJÕýã§ÿ¿ò¦4‡ÙcÌþWÉø]ð5îBEÐô# ceIõâcò+õõÇÙ“}úå2I÷­¤l+¨E“ÀŽÆo«™%ýùðš¼äª8mÞà:–°LȦ…²Âÿmœ²jâáw_ÈS uüPHÉ]/yÔ·@¸/AÊ&öVánuYê0{]§¶Æ "éaZwÛÜYI.TJaÛí#®÷•êïõ3ë÷”ên+å·5kÍ6½Æô¢€­Ù©[²zðõÓ-“ž1ÁôDozÂ*AÌ&ügÕ¸¿€Õtö:M·ul„¿pl„ºã«9 ‹ ·ë’,ÏEhx7Êy¼`4ýÎ7(ÍxRØd÷KRP! Jk%Á&ñÔŠlï‰Ã+3A‘x+\5¶NMÛì6¶5ð¥¾ï@qâ’…ÈóûºÊЄ ^±43§šËú‘I„_­5{•ÅZa)þdÏ¡¶€þ©!”}åbÜø ~O0ˆ‚Sš©ÄŠ×ó¿@]×dšoP>—”Ï®Wô}^{öªÞþµ,2h}wq2j›q$‚=SÚ'þkE›ãùüð?Í€2ý&ªŠ€åc W\š>6‚ú–±NøÖqûÈ%'ëøƒ¢S*jö)Ÿ¼Lp?9n*>¸·‚%e…Ý‹Ú Nè9óSb½CRªˆmÓkî^ùB¢üD.dxàoQãÛõ Š {ÀG¾f^Ò9±Nç¢ßû¥¤¾rX¯Ž™Õß‘"8LÅ/úQ¾ØSÿB,¨òE&ÌWIöBo%O¶dù©¢¬CÄîŽ×2A/çÁ~¤I»ãoÕöWR˜·hKCyÐĘùX¿Bf¨˜¨¡”¤…™ P :ƒ2 ¼¯[N¨÷ˆ®1µ‰Zטí¢ênPvíM¤A´(õL–Ô;yT¶ 7Üû¹x¬)]ÑÒÐ-ÕQB|¨;3÷nÜ­p‚XX§«ÈËfgwpЍºˆóY¡–MtOæij é„þ“§ gÁ±«smëþ´ŒEìá6ÏÒ¡¯î7MãK¹jÊÄöæCitÙ®Wø±EnÒÄæÆåCäåîjæ¥çÐv]_þA¸ #±°AhõW»~lÔ—B_z2JKwú@"ùHõã®`pIɽ!Ó¯]þXC¥<6X„2·þ£Ó¯lµuPÀ¨n ¯E»ØES§ØB‚€ µ…üHulw^w™Ÿy¹»/P_›%‹t±IÙýve7ïñ.}pЂÐá6;Yv…b/R4Þ*¹ð9ï:T3Δ¶÷WÿªÏ†ö‘›Ô>~n=³Æ%9$È«íæqVÝ2‹ÿÛds'«Œ{3ŽõÝIûÍG8_É’¦¡8…NÚ0!”[Åò¨\}ë30ÛÔ’7דÙç½}Äuh³™É³ÑmÂÆúYßé»-æX‡ÈY³Øé•]’­|…×Ö1Zjƒ²»ÿ”+s1Uß0 ’¯jÑúЇug—a.cZÛ^Jõcl®1¨Úû3Ý¢²P>ž§ ×aX]SÏ`1Á¢BØ! |òZ¹oλöÔ}v=¯±CŸTrð˜ÀÝ\„æõ}è6~…Ý,!œÈ[ö‡¼m/òÅ ²Ô½zp{-\ªuÏ WYµPèpµ‰3°›d ᦰ.—iãÁìÔ\®·ïø;±´ÇRÀØ,9þˆô]  ]ÀÖ­r©*7§±3IÑ1Mm÷|ú,WdæiJ¯½•»Ž:…`œÍò„楢̠©=V>%/ºùñ3Zÿ®ÜOwC„¨ÆÍø]R÷ªEÜï¬ëµÑ°Ftß1*¸¾¤8xOœNÚ7îœmLY¸»y y2l¾l2§©•I¤r)†Ogº‡ ƒÓ‘ÇFRio‹÷³­& Î¶ã&•Q@fä梺+4¼¡¯Áµ÷9†ºåÃW8*ã¨ÉöxWž–’Ë,^ƒå!z±?4A¤Ÿaüy7ãP´nªÔIg6°»qÖë8úkRfÀ°­ p^³ä.kü;‰Y­ GvŒÈ‰¬·Æ(ðâ2²ä„k[]¤ÜgÈ¢—Lš)æâaü™ÿÔLœc!˜;ãDà²j`ÿ‘;ÃeæÙˆ‹Ì:óæ,`Ñ»œa 먒êÈ·4Ῥ·>^Èâ†]ÙW”Š›«N #&CÈ9û›á´†Ã#pöô°†ÂÌHc´>ŽýxÀf4 {ÿ’‘¨–ÅiÀé›xíj 9|>,N¤_ð÷Lu:?`€SÊcÇMÅ´2£»rÙx8y‚å&ÂÑÉ”X4H~у‰-©$D˜ðÓo£vpÃ/Õ<çaà¬$¹¬>áI(Ρ”rË: OxŽhVPÇ-ØOOÇ.*Iòù@”Urô‰A-Ê ñVÏiŠSÂôòµ‡ô€6·Š‹Çg£,¹Ò-oò Úý_‚Ìàm÷¹ªK€Œ-sœ„ìeMü™·¢Noïm;·;úŠº¤Þ’u@ôê|Ùe·Å$¶š7~Ó{˜Â^¢}V´¸xi*9ÿ·ŒsläðRÎ<ÔÞ®éÓ_zW‰`ÿ²WêA³pÎõ £Dy>÷Û^½”3íµû²ªVò)i“ƒ‡2ʪ•¤J.ú¬àjý4S«Åß„€F§x{­›½[:æ›ð—øüÀÛD>¯l¶,1;J…‹!¥‚J=„Pãâ‚K6Iò}æëh uUzAÚjñ¥* ‡d‚ù—Óñ½jÊÄOù51Ô|Ÿ¾¶S{ÁY÷· üè‹@NÛº¨îl(»2ÛÉØÂô»s{db‚ˆ­xK(ÊŠ‘@¢ÙO\äÐ(hšV¸mfë@€µÂøÀξªäL©ÐØ¢æ&ZëìÏèÅ䆑Pò¢Â½©ïJ>6}h½Àê 1á>_ÚÑ#É4 =S\Ui@ bWÝWöÑ÷þö*>ÎLWeHûüñØÿè·F ß&_z'zòÙ¾!v=Ǫ¬%(…,uÂc Çðï3%'Q3^¿tâ44›ü,Á¾¡ÖBçÕfÁ8&PŒÖ|.Q+c¹ioZ¨ºDj“ÿTPÆ”6°OTrxUV;dŸà=êw»ÓꊊNÎ^w铤 ì]Íã =a@¼¼}WíH­Fð1ÖµÄoóÔǬ\ưP@@„ŽØx¿=Ú-îÉáâ/-3Ëj(pxK»Ü#Yóð‰·ÙËJ„¨‚, q5Aö ¥H@ £H H—.≓@»)\u~3)Ê<, йú²îㆲgšïÒÜÖåÏ gÔ„,ìù×n Yõ)~ÄY¬8$i¬¹ø¤6TeÁ:™ÚN®û^~ƒ++ Æ!BòCçÖuœ>neýDò)%ÆÒùû5ˆ5Wš{‹RpðÒ‰ ˜­›jÒ« ª ¼œëW&K$@è™nñàCúÃûú*$pñ¬k$Lw‚þÖÃÛÒð]›]×âïSc¼¾Qä´p‹Õ0‘í°Ó/¾é:_’O®z=mÐÏHåÐ[´d]`c|w¸ŸrËWÌŒ¼ÄWV*¡ÖU6ó®Wa½žÛç‘‘~ÝWS¹!ß´ˆãß$¯o‹]Ô¹w5¡k,UÇØ /mì‘Ïw(ïß`MªVzø ´öÚÔÏïgåMq‡ ÜsÁ‹§¦¥Ò꣭Àˆ…G ùæ!m~k‘6ŸXNZ˜ié"„8›‡:B)3WŸ2g#›_ÌPü ÈÕ— ›Ð+!È]>Š´³ìÿ=µ™Èx†9er%`zÄä0Ì®_,¼,ôzƒˆ*2±8“G¸Šc`Pܼ‘xGã¢ÔŸµê.‡µZÈCup¹„ÔÛFž£¯Ig¹G|äòPwæÔÌ@3ÞrZ›ÊÝv`£pÀd—’³Ö«Ê›Ð0ŒWJ×Q`$ý <‹ÑZì$Hc¸’C9¯Ã¹AÌéËŸ¾¿wóå­ï¬öN+ Y½¾nÆÏnà[Ö =¨óé›}U‚vÌÿhV¦a{,×á??±ŸñDøŸ¤ =—ËDBû"Æ,Ë‹]6RÿÊ‘·ݼ¬<©‘ÇuÕ¬"õ¸À9*SD<Ÿ‰ÈÒ,îöOɰ\ʈ7ðJ¤ë Uy`-°mâHá‚»¨ÍYÑZ‹'¦Í˜ö͸ô§‘~¹¬‰]à‡L]½ÀbÆ);¾×ºjü¡‹É;¤$ÀÊå‹%å!œËFy=›¦:ʇµ[Q!9 ™ Eüj…¥š™†×ÔSõ¡ÇnÆ\êé?ÐP§Ë.ôkÃàBP÷¨hb§5!‹6ª •'},S*‰Ÿ‘ÀhI# (e¥Í„=xdú'Ó©ëÍ"-954‘$NÖÚƱìó¦òäÔ†"(1û¢Ôñ"‰U?X¤XaŽ?â²Z=Hˆ/ÀÙüôßÑîßܺ[ö.¹¢,çñN¢+H°[5e/¥$E1Í óXÒàØ&²yx+Z<·x'’Ž]u=:yi‚— \Š"“£vBë.Ÿɵ50ƒL•£€)Ee«O6²À·-'½s»$Øã¨ì—ˆ¾`Ìíæêsr–%H³%ŸÉiÏŸQqÞS|[á·jÛËH†Q¯r%£?«BeÛð:}t¥³Å ß±k'ߤé@l¶xÕÆÉEú'¾ †kúN{±­»÷QMh^ù*Œ#qúàê7‘GŒœ‹˜7œRaã(ò4ôœ^s8§ÇlcðÃ|-Ä ¡}¶¦0ézÿ·¸Eø§3I[džÌ68‡ dí2f’Gf©ù²¾<öÀÊsÐà .*fƒ\—ÚžÄ`F‡Ãk# 8UÊ%øTÈ=Æ'̨‡D§Ã´HÓp·cž²b$ÓxKgÃW;½Êó%³â!mò¬Û˜+}œ›ßûÓ” ·þÂûUu§îe>Ò_ØZWzÿ‰".‘Ûì6ì0YÔGŸSUà ªa%‹$.{þ¢jüý{ÏŽ¯Ñe\ÿkR +Ù Â껚ٵ.! V-ÒArâAFGÚͪëžäd°ÎtÖ–póƒÁ vP"¥þƒи ÏdTq©s†/èaÏøœµÓß¿žÙ.ÎÞ½Ô¨ŠAð^äP(C¯¿)W—hqçRžrVj)ÌuOLòÀy7øÂ [ãÜÌØ5³Î"êÄn¬Y´Ðò³ÅQ`~q Àæi­Ç¢ç!®ž¼+†Û¾Üám‚½ˆ6–/Å3yÛÔ1Ù£ŽON Ýè ~FâÉŠp¾¤ œ‹9µ&ûdý‡ ržøä@½£2½¨š2#ä0— ì—]“›Ås'¤¼=Þo<\ÊýIû(BÁRÏѯáb‡Fñ¹” ‡—ÏPßCPi õí4P´r̟б׿€+.3e©œSLÙ¸¢eEdÂuÚ\áïæ=$^ ûO*èT°T<CKϘ ¥°‰Öžà$m¶Ž9‹[PAòcŽqKæt”íº½6Í‚³U€Ü‘R[¸™HÒøùËt.Î1d7}ݛƔ§“õ—.É&2eÜÒ’ŒÖ}oÓ91~V¬o9q¦,îeãß?¼uþ¯3ªDé!H £Sÿ}  jÎ5¦ýŠ t~C' '(ÝÏ ©”–àéÔ77OœééM`!S nÜjmئeZGUÞÔåTI«¢Q^/GÓñpQª_?Á/’ôÕx©ŽÅ,T”Öº~ë©KÁüÚ þxMS‰U’I+Ýžrgn—fSØaÌí{ ÁµËN1YH‰fipÜcÌÚ®‹^GD[#DÝo¢úµ±²Çœi±Õ–_$VP/gñ­÷-&[Ó£…ØçùþýÛÆ6æÚ”g½¤&ž±¬ íuB¹œ»—{«©ð®SÊxõ&Æ1pwŒµ@²2^aÓdÚk[‰çAë”c—öIþÏ@ŠN³ðªŒ#ÿu‡¼÷}ÆÍŠQžÁU wÞæ±Ìf \MK.̾4¼³ìК ¹àè6XD‘Ea£@ùKZ¹]iŠ«ÚHÁV¸ŠMDK:¨”#OSl¬%´Cu¨$rØ>’.À'™Eã‹év¨§Œ :c fù°Žݯ:Ò5в-HVÂM¥"y®]­Ú}3D3c81¸kЬx—Û½2bÔL¯.Þ@U¶Åb”_¥VÈõkfù¨À·XQ^à)…:Çuq*.¬^àC\JN"‹Ë1ïÉš3Þwxk›ÿñèžò¦#Ùì²qíæo"ºÇŸ³&šÎ Wiúãß7àãàÀc~h\×;>#çÇg”ŒÀ à˜ƒÛ‡¸ö >:9çêq≠F„„·:—IâË„ª¤J·8Ç»V­"€z à¥æ1 ƒDS§+Óc’•¹ÑÜ[¥y¡}ã3{Ä0Üö a(&)Ê~³V!ô.Ðw:Ï–“–Hdÿ¯>‡ÔÊË>În´6 {!vÉÞmæo7)¨uKÝ6Eoþ¯ž_™ñrY5שÐzƒ·ÅýFïìpf³ûýT Þ—Ú•B0ÞöˆÒßvûmÒᆰã%/‘¦ÜãêǦÓz¶Él¿‘X4“dudôüå}¡âüê‹èhpÌ™Žb ‰wÞ4é°Cåx€¡-”õÜÁ7 ÙßH<Ûç=?O|§º¼øŸRâjWÁR“i£Ê­ùª–V%űͧƒMè /Pô:>´Vå iY\ëT~PÜjÇÓÅý*‘U¦`ºK®°4"¯®žÜº¿cÞþÓÔ߉ð¡_à µõNQ}óŒ[¥, >ý< ÖRÆH1µÌþ|,‘¦úZ ¡b¼}Éž:oT%!Á½ªØ÷:æ®ASØÕÔ A/rú-4»ù nŒ¯únY^z¢ÝÇ"ù±¹-Ã7•È 8/ÝѯE#ùì{”ή‚[Snô8K¿½qª0@ÑpÝü Ú3ü)Dª‹µ¢¸_9©ÂÌÄgµAžPw¨§]TÄÔ&]àá[^™×ö“qU5?H‚’µX:-à_!™ ûó/Ü!\†Ëj$KûÒòÕ>¿ßPŸ2¢ZïjjZ¨Û¸EÉÊ•¸Óëó×!¹LÖ3‘ È YÐvo=G€µ¬öD ¼=öHøÕî9q´5%~½ ·ä¤[± f“äUƦÿêö„}•Œ Û¸0¾"´±õ#Œ ^)R1Ჺl}ð4¨/+#Á»Ö©»ô³2÷[#†ŠÄB…aÜc±Á™SìO€šÀ´å¢TÈA%ªßü-zƒØ¸‰ÑÝ*ŠjÁ½çh$ÚÌžÔWÞ;Ù4½’àŠ!(â;€¤"‰"Åa)J'ÊÁ:s#ñÉJå…tr?î*öb=cFà2 #õN1ûs‡4Óñ?È'lL85µ„'ªÅY‚;ÏSnÚØ1ÓE Ã(G>£ï\úd¦É×2ÖœC²F ÉÿUA:ó¬z£œxßÐÎ÷ÓR[G<›½U2Þéíšë‡@{>¯ùqÆ=”¶A×ÐñÈЉà…¼Çáéa•ß}{Š‹wG…€½à|âaz n ¾µxÄ5*Ýç¾Yór¢6`Þhâ^5ˆKˆmÔlE9Tæ †Oñ÷YÉ¡#Ï~è‹u+’%Ãï«·²ó~lœU¥}ËqÜӯȩ–Û¾û½žÉ%=/÷Ÿ ¼º¹\ÝÁÑ£¼°;±.Ú1¥åh´# æ:}ÏJéH³óö/¶OËó×-SZ˜£—ì£)„$øÚ"/au·ëor ‡¸Q’÷ÛB Òä€4B§.lþ¢1Õ|g² vc ü× 4kgÜ'´ˆÂ¾Ú}?w$ô­È/ÙpTË:ëÏ#\‡=:Ä>;pfl—«ÃÉ); ÕÁ; 3ÿZ]øÝAoÝYÀs¬ÒwA‹ÛhÇ¿zóš#’.OgW'C¥ðq€yæU‘¨}ùŽ.…]9ôK“Š…k/ ‡Ä.V‘qïcǽ:ñiÿÍ…¶ÓœÒ*+„0“(D|hìÏ24ix@ùZ¾çq¬z‘Ä™¦y2¯‡¾‘¶ñÙÑTƒyþÚ¯6o?ƒ5Üé u³k¯ ./â6Ö2qk;ÞwŠsÓÚ'ö®‚úîø9cÅè‘÷òÍ‚—$-¸,ŠŠiÁ¥aUçÙ3õÕ 7Ö~ý¨•ᨛåúPlN§@Õ$,ivµWIËoŽ*¶Ê¦„^Óé ž² È€ c¥‰!Å »Ku.ßb— eÛ3·¾ë›€«éPo6ÇNœidÇò2À?Wyp*ÓÅŠ@¿Â7³?f¿-§ú(¿YXÎû¸Û)ÂØÂêêMûû2OxPý™âì‚bü/b{ž0l“¼Ø˜Z’Ê9¦iÖ¥‘œWÈ—réÓüÒ²3vùgäY³ÌÛØ|ON. <ãx (õµ»Ê ï?-Á’×kͦKt%ˆÖÝ‚‹jÎàš ÿ"ËPÔå1€>å·Tùâ_ù €Ìq*5ÝÁ€›~Œf³ß®¾Ö<'âeÑÂîeOòˆ"cg{Y¤ù;¼á[X©¸3ŒY¾õTf0O©[•òÕå8g®Èö*âsÉrè*³"Gõ˜¿è ™™¬þ´8 m¢åhD2K ÀþìÀÇGWç=|'yÊ&ýî›D¼?‚³dŒè]}” «°ª½ªt@^¿\+”Ui¡IÑÊÇLãÂÕæ(8­qA{ÏY§Aǔ޼üà û¹¸êá^å:ÑkC#ëˆ×M´Â»LYH1ûó@ÏÂÍ‚œÖúÒo÷Ï4ò‚9l»"VŸánõcqf·.Á"'r‘˜ó²³IÏU(ªz6ÒX_è.vñhÙqPå´¨7^Ø(ÍäÁî¢Æ?°Q +;Ò·V³‡qjY9~êÓà“Œä@/ˆ&Žw-RK‚^‹1×Çׯ›Qôº‘ÐÉN§‚ÈžÏaÕ/fy&0@¿¾rUz 5>ÂÓðtÄ$J,¨8e€ÍoÕ/>úÏJ˜˜W“[©Zub+˜kG‚@tj-¬)ÑI‰Åxî•„>[y1 U¾pü—rš/¡‡Ñ,t€/±ñ˜Ø Þ»ó¢VO€3&Ø>zeO6",îŽ 1½®ç¢áß~Ëéåøþ³X8š#ª^Jwª›&¤Å$5B¯ˆ 4²!n5[ÁÓºÍ1S÷ž¤H±ʹ§Ó¶'_¤¿þ†[¨þW2 %ºvˆåÏ"@ ”è2Æœ9®Æ7Òœ·ÔÂüýîÀbûΧÒB¿=\` |ÉÜ`TÅ‹=ê§ån!KwÈQ¿íg°×_€­”IV\qTž°¤Ù-цb,üïŽÕ.Lð D[²ã6µ¸ÊåF}C¤ä\¼t#ŸE²£»SIšiâ« jv±„—J‚ó¢v+ÿßež lÉøÎ;ÑYlÔãc ·×Àx¼IŸ37 ¡È 3[£¸H0wæëø¯Åxwš=Í/à/Ÿ2ØÍðîe¿•¥êö }Ô™÷*¬xÒ³µqŠã2ÿ›„Ƽþ8HFÇófTÚ˜3¸èËÂýºº ªf]¨¤°ÝQþ\àE¿”Ñ¡<~,¬ìàÇâ‚”ƒw©|ô­­í¨5dÿq} ÿEÈtöF%ú'NÀ7¢Rêr*·Z±ŠäVÒ°ÿBô¦7$¤½[Ô»ä}¥1ÐâC1<3‘¦eKþ%‹âù_|¤©r£^±”<´Ñê´" ðwåö¥9†OF;“³è)„p·vJñ+]°O¶,¾nz¶p_±Þ>–6JC—Ý)šQ *$* <ã·öKé9ÓH >±à‘+»íÂò9’§ÄÚþ^>† ê]÷›ÑñºZjô¯™J]½»o–,É>%˜œº¯ÁYoFIÀ°ÆN/ ùá­­èäÃ…š/²ò•æ>©Zo–iÂ[¢ØñhÜ1'‹Le„ÔøI£+U„iΠ×M7 ÷×5RƒT˜ø¥$i®îÂ0!:M'L«Mzg;Þy·˜±jÛï!m¿Þ{m’KœQô‡í¨[ƒ†2¦DsGדõ{$F•ªé=¦Ù³³‘êàïgùa‚—þѽ9¢)˜Íx‰•ɈþRáÂ{ÙãhÙ°rS U¨Èžy5N“VžH„è[ßÀeQáñ ÑnJg¨¾Ð §û€/¢uH‹G/­ÅçjZZ+8 Cd†\'Ÿ ™`9–¿Xño]­CwŽ ±ª9­eκ¨-¬ Q ¹¬ 6Ucû§g•ËyèiØÙ¹1¢-—øÌ„¡f<9âZÏÕ—4˜„’ÿÃòœb+ÑèC£ÌûÑ+ä½ôɨ„ÐÎ#{€R^g*Å´ó’^ªs[å|u|sö^H»íʶR ]Kì4Q¨ìue´,#“jÆ(ïòNe·i*ÒG/˜a¡¯ös4n–v1‹äÃïýxÆ÷)JMÆá_î08Ùä,’‰3ë:óyÂ'kxAÎUþò*9x£x"¶X kÙâçi\c›[æ/ Ç¥b>7:Ú\,ë)_b+çuÄÊœiÑÍDþætÓ+E‡MJµ|N†^d¾ZÓ“j´ñ¬p4+òìʪ´ê¬©”VÔ™À°ìiŒS—âÒÖø¸O¢IÍ^^ ¨+È.»#­6Låé1½@‘‹µ5`ïúÉ7?¯ÈÚ̘N×€£ÍVÚN‹f <“Y×?õNÿŠ`.Ý7 Ü"·SHË« ¶-‚„"û>üÇmcØ»&M§6Ev¥¹u–k^&–²±dö¯šñˆø°ï×sì@ê6_èÝû §×r‹]–u³õPüñÑÙVÓ„£å9©ÊýŸCÊjÆ—â…›m1Tdý7úÁxl³1â;½óñOéO#çézT4…›üz SpK® ,Cs(¯å(ߣÍÙe¸`#~ËË$Í12@<êܦÒÕ(h :;†DþgŒJ S3„á²\ë³jYDef€é@Äb꯼E‘Sñn:*¹+R‚Ü”Áò,°`5ùÇ^O)*â‚+¢&êñ.Y_KMl†"W°‘Vñèþ€˜9–Ûõ÷gKCFüæ"DZTHÙÑ÷LJzS.v¥æ¦ú1,˜õ‹ôìõvÙSÎ^( NÕb÷C$›ôƒ'Ú›#_Ð_ß^ŒHþ7Åßú‡Aß…Ö×È,`ï´n\Dî­ µ¯ "cx””Ë1Êóøvš5V𾞻5èS§a¬¾(¬Ë´‘^igUbŠzÌQ5µBäyÂ$µ„A™¨sÖ¯·ÉgÖ%&0þ=01}œÃSz¿1Üx¤6Hr¢‰v/¸…käD]­‹;—­$á{Ny ½Š”͆ên§‹,è"žÂë Ä]ÎT[8ÈàV®iÔy´´¿ÙIüÔ/vxGìò_V|噞•â#‘}âq4S(Ù©5ÆÐÔZ²æ – àG™ókó`oJ"„½O5õ_h=r`L‹ag© ¶±Q“„EÀ`=ù¶•O¾dBl¦ ¸“çfEµö6»Vº‘% ÊÆ¦¬ŸÇ6©_Ø+§Ð8 V±P>vÿôyߎÀÒëøý‘ÐN2¢O‡É”ÄrC+Úcš&{êÇ´)ûÿÎÓR¢î[$ò8TzFª6Y 6¬ÆëÅÜhºGãÛƒ?mǺ2­A&Þ7wã9¢û».74‚h(L‹Å•ëïÊ,¸^kŸ°Ä°è¼à­¼~tgzXÅw¿[¬F$`ñ£¦ð4f4Þ™0kdÈ‘§ªÿ £Á0åš–Ú1ÀògÔv2yWñЀ¸ ƾ9ö™˜Ò0‡»*x£ ýu@¦H•QIwóÐSYînC–òHwt9¢B˜ª6 G³rÚŠœ ®£s;Ö#èw²€¤—ÑdB¶”û‰aÔe!èõÂÆ˜lU§ØOnâ¶ ?PžÃZY¾ìï"U¥ ¥+6½~_oï’’…07Ç,fèxŸÝïr—«ŠäªÛn@õ28< cŒ@Ç%ú¢ ·­:ºœ4%Ó1u0(/Ë_Mm‡«Ý‡Ÿ¾ƒÆtã@(fdb╚¬lA­Ð…Db_—PvtÌÐ\vO´pMŽý¢ 7_¡z›¢’Hÿñö@ýÎu–)vkÁ)›µ‡ƒ©|rü§†£bê´‚Aä‚Kó’‹d™¬Ý8‚h`Šá¸áOç ƒ2Êpo<yÅ 3Xg?qªž§löŒ/‘f¨4:Á¶0G<™®1=—¼͆ ¨®‡Í ÷;úy-¤@îò¢B{ð_cªÎÏÓ¨=‚Tû–ºÎwVdkh:ÏV€“9ùÃŽ|›˜*áOa žÅ‹0ât¾.ý Óçàbs^i£³ááÀí îW6¦HÇ;¹®ùeµf.ì ór¦éé߆ڻk®êr¿’ßÚ‚| ˆCÅB“B] ê~Ì3ÄJ=.>A³Þø-W¥}TIÖñÚ0¬J{ÂAFG ¢s0ÖÉ ã†c±_ÍN¯ÚÃö8ÔéÕûÔêÖ„u×8B;a§uõñ3×ãÆK‚!@Ir ©zlt€2J0m2i3ÓaÇΠ¬`¸)mXu£QÝL4Ru¼RÊ.s|ÒöÄd¬.ãYy+'šBö>0vËE®”(àÚ~47¦UvÐÒÀsu²µ¯‹5bR!¶3ªj—¾ît ãÖt·A4ƒ7>•W] jÃlÆ¢a%?Ô r”'XÑ'ÇØßï,V&Ẏ‘ßa¦Öú³fn„«Ÿà )§’æ Ò`R;~6 dÛ‚ÏøóÏú㉡ˆõõÝ=ÇòÙ«VINjž¸Ð‹Ñùj{F¶6 XÙ{éH±ã!‚µÙ¤•1/è%G ½ß-ˆýÕʨñÑlð S íZXÏEMÁ^¡’Dqqv#Î)ä;ªªpÊÛú¾…YëúÕ•á62š1æcÐô÷£^ÓÓÃÍ}HÈä&:©U¦£VŇnÞ¸ÖŸVy2@×¹ Ê›ÑhÚ·êá‰ù*ñÚ%¸ 7!ræ'L>±­L6w%‰±ú…?²öXm©ó$÷ Ãj—Ø-îzQ’¾K•«çZÒËÔì¥øØïhT_=Êbïý‘ê1;2šÌ(¶”aH Õ± @y, ¯ÄôVÄÅòÄ©sÃ`’Rb8 %gÔ-ZÛÍæÉ3zˆ5h1úþ»²æëyX³{~rgR9ªÐ";ë¼ßün|–9ç3Ú'vªPk\ÄcÑ7ØšÎèà? “{OÛiQõpÇd~R.Ì+Ÿ¢``*Z×…”tÉåȘC?}juˆWœddÖVCMߘW´àˆ¦mh}ªS²1ÄØÅÀ2ÑÃ/uÃèQK«„-®fÐv1¯Å(‘WŽçFò‘ô7Ý¢}>Iâÿ8:þ%X ø¯ÐôŸ o;‰I …ÑÒòTÓóñ~߈=é’XeûÆ87áÇçy«a.•eó­&1.ª þ#›Óyù™gˆ¼‚êrÁ@Õ\pˆ4´ù»‰ŠÍõGâ¼M®ç^ox9׉`– DÝÄ!Þ‹¶[[Q2ã•YXYb.æ–Ñ7ÒúËvg¤¨8°úÌT¶–ÈóÜ{É5ÍÃ+FŸÖ"Z؃V,ÕÑ•»×Ï\:ŸÏµsü~žÀ³É%‹è/¸¨ SO’T:$Ù?@ñüeˆ8ˆ¿Œë#­<óL¤vi"OŇрNkøV N£[¿£ËÂÙËá¯üYŸÐQÙ×3†öú§è›¼I#:”Ú‹}‡Q”_w„6“éŒ)0œ÷tD–+– à’$NM²OÕ›Âù˜‰òá!yN­“°0Å­ë’fÓq¸«øÃK&ÔÀ"1Dôìg”Á¥SMÀH’u<ÐB2ù#vo#ÿR(èOìªpº¶¬b`ÜEdbÃUlË­VZ |΄b¹ðÖÇí©qV™¶õß*ÀŸÑD O?ÐáãøÒ4ïÿU%œÌ·l~11,lŽLßpi͵w¨•ÒBÆùÁLKR!a)Ûiªßü[çð"Øç €Ÿ&×¶ø:P{mÙ/5‚.z#çÞ1ãaÕî[.DþOHBFþƒÛhcˆ\@nY¨p/óN¼õ¬lƒên[©P ·áMè–õ[– àa*¾»ÿ%‡ûJ:ë[Ua‘-eChg«êåvÂá¦óPa’OÖ‡=€Dõ¼¸U’%”æ°jø]ðASáSC*p†ÜPT±w Cp}ȼ-õÎEôÎNŒÕé]€À~ ±d£™t­Ç n'ZhÓÀ#½(÷.aÔœgP2åR»9Ÿ¦ë—D‰Í¥ñZaó…)­Hà($¡²,r¬ûx9µ\›ŸÑ,ËùøãcŠx|t3¤ GWÚÞèªPØB:R(ÒCLá žt—>‘3•LzG–iÈ»z`B‰ä™N2ê ÝÝÆß€Í„ÛCüŠŒÔñ ½ŽÞbU © )ä*°qÓ“0q ˆ³3>s³ZVã¨J*”ƒ­Ìi#4W„=ü\a’>åÙR“®Ný1ê²è”IËtÌÒà]Î>$Iö X,®£*U´ñõ†I{o…°â™R5ªO¢ B¸cÙlTâC쳕B†CãÛ»ŸÞÔ׎C—nH¿SözžÊ·•ÚÂVUÂÖþ<3žß3ð·W0¸#âȹ¹Bjõe“ŠÎ+c–H´¼FŽ'Új7=0±ÜWÚ,ÀQ½DÛIp,¤t­!¬ïé*½kàú“â€Æ¼õRˆ„ðø‡šµ£ýQßgsêÀã‘Vc J9˜äeûý´ÅM ûNïÏ‘¢ t¿ƒo™®Ë§*, ¾ñù¤ áéôÆñ—6‚.}5½íAS+ gÏj¢ªó¤ÛÒÜÉ‘EÙpÿbzÔÖ 8[ë¼Õ"|9Û|µJž ÇQMαë…ýŠDÑJ I2ÞiuÅóÿvœj ´2ôò4ÐŧRúˆTrOfíV~ÙG¼“XäUcÐ.ro€\^Å‘8òKôÔV^°!Á¶m§Vq~xCª™|Á¨[´(òŽZWê80¤h¿Qaè¤-<å¿<˜KsÍÝVl ÍÅæÌ…~o•wôUñ6Ôujî<<Å6srWr¨“D©•.£¾(¤úïYžÖ[+?U·ýÀúýÖréÀd襷E/ –ô¼¼ iÒ¹G4‹{.q$5@~-‡/9‡ì=¹C×\r­‰y]PÌ7>ÏE–S÷Ö­_äÀìPWŠI&¢¯Uy\GþvdòS¹þžþߢ¾Øu’CCÎÊÜ·3â¿òúÄÐ[á ŽqÍ¢@ˆ‹B±}îÎ’]Hà6u«µ8NÍ+¶GyNªOt\iIØ1ÅOé‡,Õ$\\ŠÎ}+Ø•:Ôôp‡sGº?í–²ißB_Ad±iUTÓ ôkK"‡ŸÈ`åƒÿþcO*ÓJ,ÁÉÇ´Z—hÌä˜&ÏÇSÊÂ,¬õ©¡¨ÜËÕ Êÿ_ö‡Á„ß Ž9Ì[7ÂhA™ÐX,ÿ~ÜâA Ëwg–Zm±ÂªPÙ®<£ TÝø64´˜& £ˆß&ýÛëÆÉgϤpªÆò ~y~BŒP‹yÇUd/Ø&œè§Oðݰ»Ihõ%yšàSˆ' àLÔ †¨ZÉôe…6?ñàóÚkĉµËôc&¾ZËS¨ßbÜSÙ‰›)« ÜzMJK4Ípƒßs Ãc§:^)Xv8ï»dAº@;½Â=‰±iáEüÄ:”`}›;F=„xÆAÂÙ”µ§u!»ƒ­P)ºf&©Ê|Ã/ 3f&úÆ œm¤z|Ëô´¬;:¤OÂB]eX–yð®Í$Äsäœ6ÞÃø^æþë•e‹¨ü&Áªw·j‚רõÁïI-äSŒ‚‰É»˜rÒÇ8é¾?9iRÕ•}ÚNl]L„ ²é¦ÿ÷øio6µ&’Ž?jñâp—¬/@Í1 ¾UNžíµÔòTa˜ñªFêL% Y ¯XE­4þw½Ñde‹K+Äýv¾ùg\þ—·gH u| Ÿõj4 %;vífþBûÚs"–÷èmå!šsnã£UƒÁä°šâè¨36XaU`ÛØÈA ‡”Nô>)4æÄ7Äûêès í%a‰7Å‚ùãÐÕû™ÕᤱN 2´äÒ }:Ëíõ|áV’Ùtl31%¡bœÊŒAÍ¿ «1€w[#)æEò<þ£$¹"·ãƒÌ Hd›É;<jܵ܀ȋÚTŒÂ …'3AÁ¨¡Ç~íÖg{<ø^”S€ì”6xÎmtN¨ŒøìZ–L`“ªdX/¶ªù1 ±3£‘á– N¤S#œPä™›;}œÌs¬lS7ˆ´¸¶òAƒ­={VrÜ"™´eŒ²eÝ>ÑMJ@‹ÎôpÓlóÀé^ýXÜê% EFít:²ÄÎÛª«Ö62köh3}ÏL¨Éð2©o-ZM$Yûní^VµÛÒZÈú"¼ ¹éxâà|ß#« »u…7KøO`´àÏ4âìG§â#WT磒‘ dÍ9I”xÛ¥­I<—2pµÆ§‡:Òf+‹¼CÀÿÃR0nD“.üÖîÔ° Ë|I¥Ö® ?[\ÁquFø ?—˜G=XÚ“ÿ ¥¶×§¿X Ó_š[ý¸1è”gþìu½ c˜yÖÅÐÆÜE•IÉS²qG_{4X™ °oo·ž[à4w«¼¢1úÛ®UAfËÆ÷ß m öXaO0Ó糆Y›ÆìÃ4ϵ:GÏ6‹d€¿©+ 0ÑëÅè.Yg%ØC(†ou=sMKé´i$)††û8Èè•IOœ^#NnDèkâ¥1“_gOÉ`€´ÖOÊ×û÷mý+ɽ­»Z=E´Ÿ¸¤ è¯s¸r#<9f±‹`DáÖHÇe´·¼ƒõlTì¬wó»-Žk=–•t,ÕäQ…á•IP`¦=a”«@ùȦ Û¦§²;­×ÇÃ*i߇$îî'yôãJ˜hìN¥õmŒYöæù³U^eúhA¿Íòñz®mJŸÚ´W…2Fƒó‚ +ˆ†Û)J"äÞºBâ-ª €½íKeŒZ¦MCÌ»¶¤Ü¾½ç<ë÷òK "ûLrŒž©§Œ¬,i®@F85o“:A££¥ øYv» ‰Ïæ'§¯›9Ÿk6$J›V1A9t½T4ÁÝ…:*tlÑHÈ6rÏ: fUýÙj3èG Há§`jç»äÄÖ°åG&Ö|)†p•èõ”yC<ôà  Y‹’36þÊø#uÑHÅüÍèã<  3>e¦lC‰]cNãðI^*?Íûá´)'41[ç{:ˆƒ•cûeUM]p7»Ú†‘—}‰®þQË i€l ø‚ñB°ÅT‹3Æè.,&$X0£:DôÀì,ÄP¡L;ÕoÚ4Ko“«Whåš7h»£ú=<ÒïL÷µD(7žÚ:i<òÁn7Ÿë^#:D5\<þåŽA‡P‚j8§ƒpgð¬=Ìpþ,ÙPÏUÍÀäuѬêr^ª=Çbu÷õYA 6,£ÈEâÔ"5³Ù×%V§CŒB’ f«þÈÄÔ ¾_‘ÿGÍpë*ó¬ýCWY°~Р¬<¬“¬Lªl9>ßw6~¢÷EãÓßÞoøàIÏ csÓXË–Ç}wëZàéÄÝ&¥†9ôÛÀñÃY/Lì4·ƒ’Ó›Šq§5µH’wð| 9cžoÒ‹¡ àß9`c:Š·W’¾Ï´„5ÌõÁ³­Äãl‡ˆœÂY2CÓû1.#íyR[Qäe¿ó:·NÇPr£_3"ûç6G.T™­+0øgÖ÷‡ÅÄ ãµGÙÐ3cÞC™Œr]Ö¤tË SDnU`DV `!„¹«þ›‘Û 5MáóÕRü‘i¥ G˜ü@kgÉæ#¿‘å–ˆîì"eKÓÿ®ÀMÞF›çY9ô\Û33Lˆ‰ Ëä'«É‹Ï2ëÊ œAQ¹‰Çê½m°UÅmϰò—e¾Ø%bC&‘Y7‡$Z‡§«'FÞ™¼;=.µXŒPò:m îÕÜôä h’YsY.Í}hàM㹆Y­þž {üäÀf€ÉÔÀ‘ÄuÉ7¥Å.ÑO|ùïßÌ 6°ÎŠ{ˆwOZ Ÿ&.ôK–‹“ýw¦Ît ’ð ÿQëV¿ûËÆ$°„’îܼ–þ«eøÝB-×qP ›Ý›Çšú·ÿf VëßÛ¿© à›Ã&qbô§èMØéÈ’EcˆÁ É\žÎ—øõ(MÚ+"þyn²G×@À¹®Éfë>xƒÜMºlž‰¾_AÆ1ƒr'œ– –yg¹MXèB¦n¨lŽ¿ßcvXä9ý*ZÝæK}.Q'†‚ÄÎ|®3Æj•'Àj™‘¤¾úAKª ;3SîVÐôwCW}uÿõæˆ]•Ωðìf^8âŠêDò(ØškXÅÎ…6LCÍŠ “NÃãq_/µmjWXÈP:Ùò0e`w¾3ˆƒ•@ö©jÐÀ-lÈöìpÈ¥ÐXº5Εµ>9l¬÷ åÉÜD4!Þtû)ðAXXdY¨‹4<ʪ¤·ú.Í ð_ÃVæ®ãèCP;^KÅ늰»>8Î9P²M•¦äô$Í-×Ú#áH®! `vÊb]u…9C™Â&é/ûYéúã€×•g½ìZuLë3®'˜qá-åÀMºöQ=ðO,/uQ­aŸ•×V ݃³ì¾D^4A†¾ÒÖñy™©ì‹CV)ðmÐÈÅ Gù%ÕË£ë:3Dœn€æÄc˜Ýê)7.6d‰ÆÞ—Í6N*á'Ô¢Š™€ðr8Ízźóf Í+¾IìÜd8°ÅjâÐU‰yÐóšõ߸tfëvÞŽ*.eiVÿ×”GšR\êüb^ã¡}DânÍ4䨀µ™C·l/4ž¨ì·“‚ÆŠâšû?ƒÞîtŸȸ Q¾qN²ò©[6#À•¤‰ëÿÒBßT†7‚$_lj­¬ÈARÁ¼¹@!‡‚ië eŠÌäËQhA3¸Û‚’%çL;HtèèÔ„›‰F³º,<žHï…ÄVÂVPP ³^‰}¿q+·Ñi~cx”µeêg`Ùý®Æ„0);>@#è¯é…¾IÚÉ!È[ÎÔz‡ežƒSØ*–^I VÎ×÷îúÔ~Á·Y$!…1»$\€ô^uS“ƒ2ü8üŸ…ÌoõŸìµ<¬yµãq=³¯–¶a<\úûl0¼%µÊ+ÝÂ@û»4ë¨X¬=Û³?0Ì0y)~#ˤqg©ñjOR v$á1.ËùEW4 Aüy~Uÿ%"I-<€Pfþx#)yâüên¦¼Å¯>…‰ Eª«3=2ö±]ȱԜéMºümìØ|jým¡÷t×ë‹øi##­#.ôì(ÌvŒ¹©älV/ޘӼѭ³ç¶Uˆ1ÈU´=]\–¦©fœ,úî¾ì AªÕ™lKàC4¾çŠƒâ ÿ¬I¿Vrk—pì|NóMn’ÂÇ_ˆaí<Ž»x‰¡›v$Se†+Žƒ+¼ª°Eâ"ÄݳتB×8Ž©ð~°ZJXŸ)éügŠa¸)Ëì¿VúÒè_Ù¡íý9 óÇÌ™®…­Ø éû¸hsAPïÖMŸ;¹ƒpqmBÒûŠv® òX«2¢%"81äÊ-Í™bå~!¦¤œS³Ãe¡`œ±ÑAÜÏ·û¤B‚®öT*þ &o¢60ŸK\Ûrv5É@Jš×¹¾Hâ˜fœ÷VxÄ— ›oiY9^×4× Õ¼¹Óè |ïN"ÉÏ,½…Ušuõ+oS[“_†µ>Ÿ”]bQ ñÖ3íŽÂº°­èp<ÔÆÐ×ò¤tf4÷{Åš+ZÖf•ðýGÍ1h“ë(O Z­FÁz²cÓCFÍá‡/0¡PCª¨Éß°‚_™ oméº_|)¤ü«ˆŒø‚imŸŠF‡ßÈ´ž¦]TéicËZËzŸ¤‰ÝdyɽÁÙaœP ‘÷~#l"ü#Ž% e“a)¨R€¼ÿ· ßÐ] ÜKVHàW­ð_œŒ_ÉoW<&GÎÐô¥˜¢¬¾´-ö»åŠèøxÒ³7[3?Oj†l }mjœçT u-ò¯åÍ‹‚gÎ÷:áâ€Ã\¶,(˜«ÄæR¼ËQVlS¸ãš©)ìsïG<ÎH}cÛ+!]–ñª[³¼]ƒžð!DL™/…¬yjþ~Ä< LOÿ¿Ëx¨$&^"ï FŸ`ðÇK:*E`÷i&9Œµ8ú£¬hçŠ_ ðøö%.¡ @ ¨ˆyj¾+2§>Ûôù;ÄP!Cš›Àhf¥YÓŠm ŸDEÝ€ÎÖŽ*´ \ËG}ë·K>´ù½ÄÔ¸lŠ›öbÉ`YΙ52K” wÓßÇ –;¯Å)ö´çiÒ.¾=vÝbá‘_Ô…œ?7Îèo€Ä!fy,­"Qfß¼Gš'çm/uéU⑨¨ *¨¾=­é kpf^/‡ _Ö-Js)šdÚ¢âvÏÒæt-•‚WÜï.ÌpÙ¯#¡NC8µ4êS´[™wž\Ët«‹­Îb€i^|ºO Üð=–¿HÛ¨&Iû3^Ð; Ó!6dæŸnqe´Gx,‡)©S!ÜHØüD€Ù’T˜íÇê‚t¦˜®Ï ÖÕ>5“^]Ôvvž¼Ät õJZ…~ψ%ë/šŒ_Ð<Πٗ/Ùö­nÿUí©ËF9ÅÞñãœ,#|ü7ŒuäáˆÆTó­Ë~Ö•pŒ;1*È6>e'´,ä2¯{é)ëLn¯®ôyI/Íyp3^a?¹l êÑÓ]€ÕU9DE‹·<·ñ¿›Û3Z+îæþ)tñÕK™mZ?D& D8'ƒe ² (´ž ¶ÆÚŠú¿«(A:ßZïÌqî²BIkKÍM RœÍ:0þ~ÖÙ¨l±á¯}2qGæ!JnEÿužóþ }w+‰eòwë?A¸T-À Ç/ ¸C54 ìs É»’x…—ø•¿Â¦›N!c’KÌ$°w¡'ÔXóùÿ5«ý#©ãæ6´ÚÒÿ_¦+F{<ñ‚¿K+Ë<£¶^?s&–Rnüs>±ËÐqoÈ)ï3ºJüü«Ê<Õt)ȸ¨Ø-‘„N‘=Û¢e×Éœ#¤§<-&ÚiÕ§o·k8Dj¹•Ëƒâ¹Ø¯ha.ç[Äá²g¯_<¼æ€Á$*øü•K²ŸbÜ §bŒ?@\ÁÜ€6.]+ie+=:“²µ#¿“ðPê0—ón¬2CKÀÅŽ9D‰ \yÙa¯Å³Ù&4ÎcÏÈ»‡‰¡–^ËØ'& Ø™ig×¥¼Œv¨£?ÌŒ?ÌÎ|íï­”dݘKb¥¨f>P1¼!S+ŽD77Ì-£I,<ìEJpãòåÝâ:l(CüÏÌáÍfÔØt×á6œº2tlù)ºÆ·_e»Î½bü‘P‹á^$ûð& ¶»Ké•з¬Ñ™ýkk¼,ÏûzŸdÐK{ú<2UsfHy?½úÍ¢ˆÃUÊbJà´Z0¶i˜Ë¿ÇøœÙ{LD}rî¼ðùÝ7óN;Âdütˆ°^ìd'K×ÿËm‚!Êcf¨8j~„Ü}Õ;rŽ,mûòwM]+«’Å'%¬ê ^Œ:C|d&Dê0Ð!R3õ â¥'ÒE!Ç´tW“Õ–ÊAà‚°\ ]‘“a>ºcŽ$t/Ï…¸ª´_4T1ß;’úzÇkA]ó qOŽ¢¬Ìñâ¸í4ŽAS_'™NKq€½ƒˆ-=öæ V8c¸1Õ’ $ã×[Ÿ#·Tûi± ôÊØü>ÇÉ?ÖåŒQ™Þ"ÊÄa>:q}ž×°v$Q^V°¤{‘› Áx#·|ÈNÅåîÃû±?’=ɲ¥5Y7üŸ·sE÷`jq ûÕZú×-(—ÖsFõ–2³¤–Å{P¹m ¨Vf Ž€1i_„›ÆlôûZ)p¤Hð‘o"0©ÿ³gãº0ëo6²ø¾‰oøêÓÅ/« å±{˜ÝøÕ¦D|&áÃÃF\^o„pÂΰrØR;²gž\ݶ†R»O6w+è2âéÙUÔÇ"p’‡1wñ9±²ÈÚNlï xsþ]½pÚ…f]@÷Èâ©•%ŠR¸±6¦Pƒ5‹1÷ýÕêßyjÂx!’¶eç $‰"àD‚ùþ|Ýxå±Iž7/nÀ ëÅKŠ÷ñ-üè¹y[l~ Hú¿˜—Xþ#e”ýƒ‡Á$•ñü>zô±€ŒÈ#­sŠÒ𢄬4d.:©¦Ž)Ü !…£!ŸÔýœŒA‚£–, n—-“ÐK¤âáçoåL·‡5èò|j´H(Ðjl7sN'4ô³†b=eŠÍ¾œüœu÷²‚ýØ´ñ) ËàÜow1‹‘ ¡úIâ:Ì\’é:Çä¯oskB5Òo Yí3xàöþ”¡›6z¡À¸Z·Xß„Á¶jöïÞhÂ'CȺŠ>×GÕùÞ=gq±¨‚Cqá«sQpö7ÿž4WŒß;)Ö]!ȵñÝg¤ÇЛgüÖ%‹+×üH—$Y’¨xÚph|f]à¨ÔlÕ0zQ5"Yo¹« 6)\;²¼}IXÑ!²Ô Gxÿ À<Àe¿ð“L¢S$ÚÏõþµ˜U€…·! lß@aò0´ч¯ßš7ÿ’8”åÇR°ò9¡™l¡ú’2©ó ½À·X°n©^hN¨Në⦌·‚>Mq]1nï®E©åÎÑo͉4‹‹¬ºS¸€«F|¾cù[3£—­pH~šöúAt#$‘m¿Åµ‰wª¬G˜mµ¡;5¹gN¨2´Û¶aI朅d¼EAçg„­o3o[õôØ„¶^Z˜ØÂH†›k6Ç{eë ÚA\Ë ¾òF‚˜d~®ŠµY:+Ö†¡|úN¸^ΆNya5 ÝùîÂa–â{ûæƒ×F¹ý“[$»Lu«åÄŒ˜Ã͵þ÷Oä0šlýS÷G ˺®Óœ _AÍ:ÊÖfáöBi’pÓÀ˜]ç€iG1L›lÌé(Á½ŽäC+°ÆQY*Gô;0òüp_Ze:ØÖ¤“#êüÑ”xh kƒÕ±Dçß’iàèC§Ó'ËoXG¡BÅ £1¡ y摸S\½â›åì_óv’¤c âWÀùaÃ^âØðÑ}Àöo欄çðÜ/Hó$¨78w)DøQ¢âz´·ÿ}è I£´9ÀdýR§¹:ò*ŽÀEøX<+êØ;×àRŽ BT¤iNù ¨«4¡Ñæn+LjîЖ<‘sRµ‹qa$r£”"›dÛÃÌÑçÅY¿8Àµ—<³ ‹Ót2´õ¶ÿ“‘f1 c!jûÕÓ§­7»…XԦýž%%Æ=¦x¿qí6h#kA/ÚœHýn.÷`´<Õ&*.¨Ã%–Ld^5ÕÙKy‰ÇXOØwÖc¸7Í彦•ûJ¾Oê7 ÖÈnûµ÷o©ŸrŽÌ“§5”¨@µgÀþŸTzŒƒ¹l×ð;úa­Ï¦¤d_”eDøÇ2þÉ–VnRòÙV;Aûõeš„$RŠ@Ô—×IˆdwòwQë|× ô 5ý¤"È$Î~gúG¾¼“‘ÏŸÏ dFWç,výWŸq[»Ç„4ª|0û|å—úùî úÇñ‡H=æ·åhU\vŸðLÄÙèÉc T?»Ò—äGÿ›e!;¤ôÎE%•_ŒÀ(ô2Bïé’°“6U±Týòí±‘Á´GÛâZ2Ë#&š~žÈžšìÂItùü™grPA¶Q´Åsš÷ìÛÃ`ä)ÕL€åi%Ð÷TA^eê… 6¬`®3KVüŽçGÔeœÛ5£v Áª\ï›9õÑ+–\+òÇ#£Sr‚šãXçŽI”›2(<õc ü`Zäƒò—`ÔŽ|û+·»±K}±hª¢WñˆçBv&2$JÛ2âÓ8Ü“z"ºUŽ!P¬;5]ÖDª4ôÉI2c:£c¶¯¤juFÔ‡x´åóC/úÖ°m>­fÊ5ÔMpW>×p*š5ÔÂNƒÅ0ÆO[Í $“zèŒö¯e-?rAz°-…+¹Š›,À›Ã1®í|½tíÇÑÌŒ¸+Q)‚#G%°I4 fñ¬dÈBXkrÉëØ ü\¼pÛ;uô`€9™ÑK-ÏxÐ~{o%ˆƒ¾Íì¿IÌÇÿµµ$á¸5¨TñÏþ¢ïŠD«½ÀŒj ©‡&’@)2£Ÿ>{Ä*D§ËV3riáênn¾!³ò®¶Äe³ Bœ¦ Qp KòvGߢ}4ñ×Ú¬Êe™YAD„U­bt»ö¯t_ù ¶# »×P!–žö¤¼°dIʈôçuNµî¬ ,C.hwÂ#˜\™ç$À0²¤qd~Ô½UAåÚŠ‰¶Œ(åâ ¾)ª:’䈽ʬ“Ø{¹0šòüÿ¨ñ¹Ï7•¸õnÝ_ô¸‹¶“|ïûÆ­hn… QÄ𴃿€rΠᤧcWO6p m(0Éjt6 \°µÌÅu0ë×­Wl^+7;<øOY:6´C‰Q—ÎØaÐD›Ô)Æ qÅ·¨ñ$˜f£ Q¢µ#YŸ(‚Ñf±­+ä¯?DžpŒ$GI•Ž‹îI(ßW[J“ËÔò,HÉGØÚ5«ø˜ˆ—sºeÀãZ…š×¹JÀMŒ”2.=öî€ ¤Í6t¼*ÙŒy¨;¾‘¾ÉÀ•€Ç!CÐ(¬&fe 8ÐóZèEA¬êï_¨qf9ÅÍ DÊþÚaO äÞÀÇu§Ú„˜mÏÍê4ûä¬%4žœô;óål·´ð­}¶EÛÛý¥q·B̢Ĭ^ü§gTKt*vŒå¯GF2œÆ]zNw¦0r"jz£VnG!þÄ¿jšhjº£©ѵ¬j%H)M†h5 ¡rÛ»¬Œ%,~_xÚÉŒ¬1Ü¢` :AaÀ}íä³£_º«úÀšäà^aøP3™¦øÞœÖÀ³McMïBÒa•ÜÑ( ¤ìTG¡sò¥žƒ!ùùÔNl§Ì/¤#óégõP½Z ßD¡Èš¦—(_–“ ójAyFmm”ÃíW›íL¼ÈçØ?_ÄP^öÅ£–¯Œã½è!‚O™$]!èüÄÞ¸j‰(µ8Š¡OóäHѵx1)o@æ!ÂOÀPÖµ");¦»# |-BmΠؙ98P±Ä¼ÍÙ/çĈ¾¯oe^Q*Pr=qˆùýÛÚNóß²JàN¨[EüÁÅþV æy–¸-Q(ó5꿜ŽÕãr«þoÔçÂ[â5@sŽðØsEi™ÆÏ„;’n‚:ˆ2ŽåS¬0NÁh¹c€'+rÊ€Ëu]<5zTœb÷'B­tGBÌíž|†n!G»[5GC&ã[¯ï}‡4‘Xü­‰ó mú"¤ösA„¥ùL íXÁʰýiÍÚvàqw®Á±€Ða[)]jØëÞÚý"d’J·ä‡NÀí"tL>¢ãå;„ë7"Ç}[÷àùíÊß!ÿ¶ ²¶>œÄm»Áºðð ñ.(µ¶’0ù ; :ü)òÃÒûf¸;ó«(v—õË#X— šÓáæÃÓ;UÏL½oRø`|nªJçƒ8ŠÝ8ÈGG;ìiâçSZžÖH†Ê ÕL œÖèúƒ­< Ï1ÌuNA‡&\übÅã‹f¦‚›Rò’*·ÃaË”h{VòƒÌAä=ä|ÒóN#]òÞ¬ ^É úÅôeùá W0¤cbI•7¿SÏÌn;´©›°VZÛÞùªé,dC¸3lLä)ÃL«6F9!¡`QB°@?ú9;¥C–HX!¶úû<9Û\Ž.pp1âï<ùÍ\Ù½^c“é¯AäOýd%õÝZ?‰ñžÊõ’õxÄäÓ–1ñ®s7§ H“ã pã»>×g31ÁöŽn«/ÿóXæ©¢ÚhœÜc뉿L{å¸\ŒT*ÑXKá<€µ •ê G‰"`¹fYük€Çñ4GuS›#Ÿšý;¬V÷óÐ °c!ü¾áßÕ‡+t5‹Å¼û¥ Hê0ܲðÖ¤_¥ü‘NMÙÿé5(QË?€<ð` áÔ%ÝðRŠ‹QDØûþŸ¼^[ª]ÿÁDGj‡9¸ Û¦4Éβ×V_þø <ºÝ$Ã*FX‘¶þù(É 1Ç=ƒÅ5 uçë~ÄÿM¬yKÖ²ÃùB5–š6ú¯d鼦³ÙŽÁ1¸ëDŽLsË%(aÿ€“ªà“P©U£>Ü…÷îõ§‚äãéŠ2ƒžGÛAÝú³G‹ ¬ç¸˜ MhÐýŒ†6Ý™9=ÒhÉÆWÐ÷ÉUoØå6ÃÄ Ü (xð“)ªâÔ—Tn.Ö6Ï_ƒ}ÉÐ Ai(–Vѧ„ñAeGõ\G,<* j e%šJœ w—èòAÑÐò¤"%ßÓé⧤¨ËËÿ¬›ô¢™†:P CR`Ám +“‘ŠÅL™?Ÿ. ÿØ@2‹ÕÄ’ ’ ÜQQ;fÊÊ7|5Ðw®rßšÝé^È^¡Å:‹5uÏg©ÌüE™‡éˆ)¶¶ÁöDÁ¨mª1ÇŸð.z«”Ž2Εb—ÔJâø'.þèžrU‚Öm[svÆŽ)ÕYn­të¿J÷×ÏGíÑ'£¿ô-gF»è~1¦õM?£(2 ®pýÞÆaÂ.TSkLš¼Øñ8œ)'Ú$#xÌ+K†87¬6§[¬Eiè¢fGµ×Ej··¿&czŠ‘:Nì¤<Ó.wƒÖHS3h"Û2OÜžâ3C-l¢²e‰÷ l‡ïZÒaF.`º/ðÈ-=ÚA€yçðÝ1LÚ,f†î,°Ô›fÙ`ñ˜<Ê×J´)Ts˜L¿œÁ¹,N$TLj±ž°—ªªU$¾þ‹ÉÙ‚nIJ¡h‰X«†_£J¦y,ýHŎ݉£5Ï:pÀ¢IV- J0öÝøèŠåL]S´Î“_=…Ùß@ ·×t-OôMý‚µØ½6|;'Qw† ä Å¢kŽ_Ø”ñE©drõ¶Š?‘¤t%±É/L< ø¿}@¾$…ÄTÊUsýA¤’„Nã¥|„ƒ`‚=x•©8Z5ÈAª‡IBìM"#àp N#ò8Õ‡Ò¥íÖž9¼Ö0ðÛÚ>ì°˜Ëâ‘V6ίlkW7”™h ¼TIŽ*?Š“Z‡O̽D²*)ùü°"l´’³T“ûf8nN¸0uoÓ(²aõoמÓL/4ìæ‹9}ä-âÉß‹M½Íοˆ ¤ÄŽ:e'Bzˆ#,dØÖ{Dw¶°…ª¤¬çÎè«>6àñl‘“ºÍži¾øªM”QŒr¥$€VÞÒnì©tÍG éu-Õ²‡ö•à^ó7VZ9¦‹wìÌÂ5‚Ë–UÆ1ú¦æ*{^jKŒ+Aú÷÷&vOÃC\xJ–h1¢nü‰nT\Ò(’þ™]Tö«¼j/ÿª‚z™¸ 8ï t®^ÒÈÉÙ¦5%&+ec³íéž) ‘²ö3_$á¶»P(ó´ÈÅU 2†#`Åéaw }‘þ:í‘v2ŽKòûšºí¶ü1ÐŒ^3¹Ý‡¨{ñÝž&M´L4å&˜¯ÑDLÛªŠÖý f”úMùç>3²S+J4‚sÄÙG EnÍiûSÄHN'ð¼‹'t?rô’ðkLÛ†¯ß ‘jlŸ7¾ÏŸ,biÚJðz6Ÿ2på¦ÄÏž@‘ˆñ.gÒ Æƒý—..:ÜÑ55•3ü–—ÝE:j¼q½âñzè))ƒ´³ëÖg&™«µ Z8}a뛫/eU§­Ñó{n;¸tm {l é½1–æ`ψ¢Êöƒ[?@ JÔ‰ü8·ò½§ásM͈Ž^#Ž`mO.E/ò$JÚ•lËæÄtïíɇꉋÜI5Œå¸àX¿Á¨=s•{)·9ËZü…e< i=éæ yx­ i÷‰ ‚¤úúCÈMlU„–‰›ê¨ Œ+‹öFD€EÈäç ‹&Ù<Ý0&ê ÌÇÐQiÿ¾qZfõÙqÉåVåÕ…(í×³óº  „àÅÓ‰gž”%š^\;Âù{ÏW~Üt´å:PTè³E8®ê£° qS‹Ïbçe#&bxpîbl`O ´ ;刺¾€w'…x¡õÖE¡'šž1Æâ#Ã"BÉ6Þ‘ Á}ç¸VjÂðr¾ç—¿”½F}&6²ÔÖQ&æS}Ab´ »lA¥,âðš@/„ú€€àOŒd¿Ã¥b­R·“qú꺞 ÚYÛ{v|ÏgÍ_o¾µ*7¸‹|W¾<+|±ÜB3Ƴ$CÊ}¯1=ÀŽÄm"0Sméb®9©ÕÀÿûh?ëòƒB¾+˜¤í¨±ZY4L»kG߇Ò÷MÌ#¶)FZw—x—ßñ:'îX ×å²åA"Ct³ÞÐ…ùÓän× Œtá‰>̇¨œbûÈIé€Ô꡽Ky_åPOO ¸4U&*†!/µëÿ¸^=þ¯=2dâ×ß…âÀ¦©è²ôT;~áXþoš)“û,¬îóùk½¥Œ§wäþ­×ží pu²Û!PÅD’‰Ü'c»¥›*•yb«ÖœÔ:ªžvÈ¡Q,Þ*ÛÕiDjHµísIß‘©ç|Þ ÔV>Yß«ä&2Ãôû•¡n ‡Ëi¤åijõú6'hÓ°xÛnY^Zš°H íݱä¤À­0Œi|Q³ãŸóVÚùN?,Wñlu‚ŒF¥géš}„Ïi@Õ»½íôçÅä…Å  ŸÎE:IÈ‘*¨ûúwrLévñü$_»u5ã§žó^!–oL9%¸è¢’dˆx\Æâ`SXÙ/yglD“™¤!?ˆZeâ㤟õñ%Åœ6,†$ä÷xÛ{¦PXWbûúM@ÝòtúèZ¤±Q¬¿~ŽïÕ¶ô-v+œ—Rè®Y ÉĽÆ=x5÷!Ç|g“KŠž‚ïQ_MLåËR$BbàøÒ©S"yE[SlîL.Ãb€Ù}®>ÿØÈ¡ÎÆ“‡CNOîk¤Ð/L×Ê·”&b¶Š\¡ÿ€<‘kg‚G÷KC(“¯½45§45.œpnÞÛäªñkÜåÖÆûÙ‡†³7`hMœ :4¹.ösÔ­o±þÖ±¢Çã„{ß½cѪ¦ÙÕúOeÏ)%L%u)ÆÈY¡sÇs.sª¶ú¸ `fµTæv÷\V?ï]=3FGæ[™±ï‰ìxûž\}Ù—õØÄA„+À˜¶ÚFL¼6nªõ*#¶ò îJ¦¨ôÄý_½ÂÝ+ÏšV.°—¾aJçQLL˜ªž4}îÀ£^‡;úèRÃI×öÌq,VŽDžl˜¹`âÆq½M—ÿrXÑ•Üà”7å!Gàx„µ½…ÁÆ+:.ìÅèO|²ZæoÝôXŸÉGõ¹è‰¿€±’±§XúÉÝw‚|?9ê&5€q8v°0̽µ ”4Âu«§#ó܉õV6+/yTWT@Ió'ɶÚÂ;ójP‹Úks=ËZؾîôè ˆvæeÑéD§ç(Ù—*Û7Ë&$Y x¦I·ú×?±ÉÞCˆ÷Ä“ úI&5Ì!1¨‘0'hWku âÅË'Ô›¹ /e‹®‘4±€}¨Ñ½£-¼Á–àY—LçüøžU-·/Ý|;ž¸/Æ7¼ˆ—˜¸“ŠDú‡C­’(¬ðë#=Ì)òëÄÄ lè¢j§`îÝçx+ü»`ä 4¾×ÊZRsÚQ´‡îfY* Ó^Îä|sòœ:纷Ôõíw4µOé¤éjOëó-bt¨Z6-€ºÿ<%=ÎÙòE•âmíeïòûµºLÝÈxDÓ°î²X¾èíÍri•ó¥Ye"o ·y!¦§`uƒ#ñhÀ £ÕtzbÙ©VÁ6ÚDËï-"W*"ÏÅci+Ê"e}7 -u•½~& •x Eÿú–8 ç°^*@…}J-Ôs$ªrÂ(Ñêž§kóM¶:Ü ôøÅò51JV·gûCõ#ü$íóº¶YÓjµ'é+ÞilüÚßÏφ°+[7±†ì¤Í2aFÃFn µÇ†,Mu9E¤`=@Á=‹ym`ЉV[ñÞu€ ó­ÂÉC[©?ºT\Æú@ËF9X–ã§›ß8ƒH¾é+a<±¡H.ÆRŽÖXÞ¨›ؾù±G—ƒªtc蔫êe쫨“Jáf½%5Ø5Á±Ïp½ð·Ž<½Ø^c­®-ÂXr$þ±€"ÕÉÐF¯_¾£áżìQŽ[ȶ{¶î2˜¼(©M•Ê)c%ÑQp5‘n˜ÜìÛ)dÛ9Ï&«®Öïö{£€¡zdö ˜xë“4à¸G¥¼ Ó[¤ÝÇxŸ%-D¬†¼ÿcøäZçê7”ª˜U •¬Ê‚[w¬ ǯg_bëUÍ£ò#‹¡3'Xä­vqP))ð·5NŒÙ-µ”üè\´rû¿Gp#æ¥ßÁßí³zÔuÆlÏìs4;Î"É¢˜„ñÓûÑ,±ºÎå=”$Z 9Éþ¬Ã¥† Ï­rĺ?T-çÒ JðxèKebHz×þ7‰S¤ŸÒND|·É ûC_êT˜!„žjN‚@#yN§¼´ë.øÒÀ]0_ów˜FÇ5e–•?'¨`jmÃR-ó8ÁW ®ìF[,ØD}væu§œÓ™™ÏaÖúz£M  ¤Ï욡巵™¾7¦1 þŽ¿˽߷Œ›}oú’œ‘¥S®©f=¾et)¼ ŒÁ¯DHýõ ¬®?˜örˆH»›Üæ(e½Fï—^UѲ¤™`ñ»»š]׋ßìì0ÚÐB[”f³¡ÎÙuõÈzð³©É›0úí£Ë×Þ¸Fd#9 £AîT"}¢Ø(ŽÆµOC%ÛëùíQ­CœÂöþ»bíèËAKt¹±ãÆvf—[»KÉãoÎ>ýTå'ŸþÐûªyò6-ƒ‚ë\©ŒGªD£C©jÔ4·›+øãv ¼×3ÇÓ¸ÊX—¥‡÷î,óô@Žº¨c‰ OÉŸQ  ©p“},§GýMçõ!vgÖí× û–jhÏA,v(F?y«§þPCŒí¢¯Ca}¹ÖC–Ï>ì‹3¸ðãÊ:‰„ôËþ´²˜[O Šû1Â7 U6²íBÆ>ÎZZîçß(¨K~‚·931 ¢·õ_×_– qDÁ‚¨ 5ˆzÞåE<´òÆ\=s=]¾R&eÛž‡c¾“¯_€BÇÈ«±&àå0‚/¢@%{+ÁäÎnƒžÁA‰Mýü­ÉOW°TgF2𸋓ÏQ©èmá "PCoã†íôWQéIéãáŸñ8c'èïÊ8™ܪy˜ÿ™¢».lÿ߉ÂT«gÝ|ØÉ[ï¯yåjÐÆJ?¼ÖRÌ@’D~ŠÙT>¨ô‹áV­^ÖSZfC†+)ÞS¦uçöí­îI}“Ð"¹éå– ê– ˆ­Ùó©Eë j‹à¤çQâÍ!*—Dªà’fú÷Àë§ã ~¿œçÊä“J:Ô•},GŽX—Fh8äÏg¬Ö1h I Tí Ôu^¬¼¢7[cÛ¿g¾Tdו×öTs;Øn;d u4‹µ(1Þ­E-Ž%ìTë_ÝHëÑl{Þ…Z„JNõhí›ËêŽYŠ |Ѝ#VÁgx'Sþ<¿[wõKjå]dÔÈZ÷¶=øìœJšõ²ÓKíDãˆþó˜xü@Sí OŠAqNìBølštx$¶Áá>v-Ì’Þèvl÷øêµ(ý W»˜RðI¦`lÕIŠëê^¸&ážÜæ½ mµ¹Qÿðuüºn(ˆa(`øÉò'P)®y!ójh•Am4,@,q½x¿Š=,½zV¹Fú¢i;:ýn(=±Üæ3”ýhQnyòE²Ñz>jÌIÑ ‚yÐQã>y®…´žŸÑÀÁŠ0<ÒóÜÇšËR<ƒ£ÞÙt·@#Ó\ÅH0^ìxß ¯¬¨sÈDF¡z!JO^£ù½ âò¼Ñ<~ï¬tE‹ûè{”ë-P}|oùùH£çYÆ€í‘=, “ê[ÆN\9¦ÂoÜ%3Êõû9g‘’/ Ç™?¯…*mÏÆ@aô@}'äÍó4wøúø÷žó}|ÓÓîœ04A›¡Ïꆬ@ð|š…¼@ LjÈAR®­ÊÓ¿§ó_=¥ÂŠºâtÛƒ˜ $5Êà–Íyö˜Oå{hYH\ò†â êúZ¦NGºdrµC”¸[Dâ¸<1ø‹íö”¨Â–mð?‘áFÝ4¨-/˜¯¡Ú¡ØÁ”›^B‘("éG±ßBOä!àkU¯…ËB§sjüü¥f³‰‘Ñ ­ amjyˆÒ˜FºB[•¹Ä:Z¢)Ù{³ßñþ¾{çÒȤӯlO¦äJÂïðV4-—À(’àÃW¦ó…v­L®\<Ñ®5P˜vÿûœ!£)#(ø¾§^ÖC”;.œÜÍæ ˜ÀÞ„0<‹R]Nor´‡5Šóξ°yÙÚ%KCyUóÑ#»t 6™©Fh:n÷ƒÊiËŸ‚šžÖ6w£asSápæ:>ôyò]é¨\œ]«¯)žâ •Ý“¥ÔŸŒüë¥&d.Â¥¼g×å3õ—zÛ¯ô§£ÙÜôãÙÿMc܆F ‚žF¹—ƒdœ‘j»Óºwß-îÛû/ÅÊ uHGx ¤áé‰|©ES;3ßÍéx›º¢(ñ°=›I]`Þè3•êìç¢P®Z !z†Íæ©Å"µRñ*¡RÿI{ˆ†z7±ëyt'÷aöM Ä÷‡OûívËÿOÆ’–`Ê‘ Í¾.Žû熺8ßar;®!÷ésfM`L@'5§?wÛ6Hwï •ëY—ÁUz…z&&œI²Í%´ç²-ú£Ãd…§ ¬‡>Ú‹ªÙ#û$“‡¤ÓÆï0#š^ŠE3 ¨¸æhÐsöÿÉê‰î-“xäV†Kì4†üöȤ8Iþ!5H¶‘ó/jµ8CDQL’3[>WQMyÛ‡á}×–Ó ¬ÜYÅŸ¢0ó4q3 ßL 31ìg‘^|äo=¿$'ñ1Ù¬þ1’s_¿æ¼í8ûñJ=‹·®Þff~½…¿-dpW9œÂ…uÇGmfÅ@{’Ù,LˆNYeD°å˵D¥O· Xº–9a4¡ŸÉØhUù±tmâ0F³jz¯@U¯ˆ¦^}8Ü"£(/ØÐ"ß·eæëliF:G?Ð$ç§ˆÜæímª†G¶è“€”«ó[ˆì—×O”½mÓ`æÙ#B¸ž6ndÀ…»DB®ä›…Ľ6LÖ9J§‹e&(c]4BÀ–å,d¹wN’þVÒÙ67$‡6vOˆíOƵÃÏ{ä0S`f?ä–®%]3Ç®;”#¹gÚHƒ KÖ¯*FÜTõ|bÇZÇ.,€³ÞWV b½Ú ¸o¢%•ðaKI`–Î/¶e4°¢0ä¡.8¸ ak€¡ ™·¿Àý`€¾p2ÿNyÊŠ>^.SºQE•e<Ý2ıÄ2`9²EDL‹£Æ}) &äÇ´èÐà¬bÈìUÜŸ! ½áÈ2sbʲèN-‹»å|®"°3‰Y…x ‰V0{_G[ýùÃ<~ûÝPô‚N±žÚo¥ \@r35Véº+ÄZŸ4-—Õáìò­,¶¹³ -öŠFJôžex^î‡UmbÜgŽòä®–Ý»÷÷ó$Õœv…ϦÛ#Õ÷zbÉbdß—gQ߀ÅY˜B0íNH„4H»*¡ÎNÎÝâëtJúñ«Z[FAp…55[jÐGÇíö¿M;¹FPÇÔ^;Iø`ôíìíÈ¢ßt_E] ɪŽÄù¬óš±yÜüŒçE¶ÿ‘Áñ8f1ƒµ”ƒ€Z/±õËÈÊ—Õ C.¾”X SŽ!“ºüvމª=I"Ry‰mžæéHÅcA·ø7ýªÏ%Æ#­è“A¢渆GYИq´3rI\d£‘ŒÁC=AÜ~œÝ’.[ËĪ?È»Ú9)}Æð†yùm׳¬±tuÔ}ŠV[Oµ{µæžZ´6Öj¶,¥Øµ¡Ù@ÛØÒg3¾©ˆ¨O‡ËO ˜ÖQRüú2i&q㧉MM8ÉVq›¼bgÅ;Mf¿¼óˆ¢ÖX2|…èå›Ãw«+e»·»/+/í(îâÛD6íaq·K&ÕØÁ*`ÇDOUåØLy«Þ€Îë‘ajhÀ"9tšÔk‘õ‹?zUµ=1Û9X´tÞo»á¹=köÕÑ·ÅÉ'Ã2ó$Ò•’̬€¥>h¹B–õ£ ´œZF[ €‰šZvú Ï=Ïp ’ÜKZ°©VÂìrÎ1üƒ”aZ»–e,_ÕÖ[>dªÐ ÿsçØfÊþúi¼{O]ãú´/ü-hOÔ´½ò_ôÌsTž4þ%2úEQ‚e‚)Ò@‚~¯|NyL7Åûµ Ø;ÕÇ6ô²‡ŸQîûö…RÀ•e’ØQÛ볕Xþã³…9œÜ¾KÑU'#滛ú*A’Œ"d7,6x¶*œ;¸S\f¥ØÀéi[MH0Ì øòËZ¡…"Êø$&Þ—D@-«¹óìl}~bêsŠ‘¨VG^üé+òBm¢áþÙvóÆO5ÁøÖáœô_B·Rµ±(gâyG„!àèëyuéÕÄ0¦C·Uf ùÁ¿„> Œ¢úŸÝDóZ¢,tÄN†i‚=ŒA.ÍOé¥Å9¤$ªå`Êm•{Å,KdSlIáÿ!.p\Ê_ÂÃT Ðg\A¾ª¹ðòŒIçLFR-Û¥h¢ˆô³/rLõ!N›’¹nvÖæ¸Yø¾9‹½’¤ÊŠ¥>^Š›,”Ž˜«‚NAúÚS%×ñÙ¥(–F¥ ' Øs¤2SÿŽ=ÑÝÙVÕlE(Ÿ˜ËÅ©\ GºI½+uÖ‡‰¦ùý’¼Ç—_Ö8p ð)*#uën Ú+&¸ÏÛŠ>81€Ø±}U+©ÓZÛÜ?ðÓl$.Ï9Ú¥"M~¿dòtÚÞÝ,nRƒpw`Ü:ÑItóÑ£ ´s£|˜ˆ…›ø_)¨o‰€Sø˜ní,Zi÷FóäGùÑw0«pŠ×Ä©ÉkëY¯3ªC3®dDnf R7é=ýd­àå6ÍO•íª3 Å{ª/ÂÅ®@Ö­Ñæ*é3Y2€¢«¸‹Kx- Åð1%0˜‘¿ùïEFV‚¥Y x1sÖžY Rñ#d¤æ6—˜üZgSãfüÙµ:êeìÿøš©3R¨š£eÕìêk.¥åê×X-#4ãïÄ/}¿Ø£Ì›*W·EÆ{vë=5>Œµ]G;pÎfÁ{CO6®" ót¹áÝr£æ¡|ézðŠdC%?#­UÞ8;(Ärn¤O¨?é…„¥G GI¡Bö'Å|Vºz¢Ö‚H´»k(ôM£e½;˜øþïðyRL½Þʯ*É/ª€3šCÑ© ‹‰ZôCž:+@wÏÔ›C[…/À"Yô=µÕKˆAÔ<í ü1þf´á|qu¸/]260ØŽÞy DÖ1x<·ÑêªÇ1–‘È;'™¥¢¢Â!Ù© ‰úaÅS3ËÝ5Œhk@=8µJ×këp¯sÙÒ‹&¨Db?Ázšò&ò® üÚ‡ç°]ÀÕ4m¾ ßÔãp+,M@#¨ 1³ÜÝNóµ“оë4ÓÛÖ¯ò3~ŸÑd*#ï€q%ÿ]A4d’”‘Ù5N—oî'ñò¾Ï(‚™õ´5²Ìb~ :xœ <B—ÓŠY¢IÃÿ™7Tmš+´h3Ï'X$Ó‚ðè"–ðE@˜tÑÐó”;l2Ô)Ñv¤€œØçK¹:Õ]v’âlD…ˆ2ù2u/{8õïñ¤ð†X·‚ÃxÉÉrŸƒ£\LçêŽ(û²Ö³Ó$Ö"Õl‡ÈH¾ÂX‡äò{máOšxÓÅÕÚ@íZ¬º…^BÕJ×gc<ïÔSaNBˆ›[ÙÕÀu*Ä_°Ý×=‹o©ñõõt§‰®K|½ÏL1­@ž€ŽbpÜß hÚßAUD=êpª(ñέ<{Ô:1‘ÅÁN“»ÎŸÒbTÄ1³Á3ÆmyV!èÀS¿;ÇpÜ…)h 4Ç,52)º)Q6”Ìkæå—ŽúަM'Ñ¢v–3ÌÆjTýñ´?âw{}»¬’¢“È_WÃ$¢f”oDÃJªOûÅNm%¹Ìí=”uãõqSqÝ•…s<¤TO]ÊiP25ï}„X@ÀãˆØ9"å¤^§þèõ®¢Ü ;zCÌ !ƒÂ\«Eö/Mïv-Ÿ®D‹Ëyˆ}4õ+ñ/æIz„‘8T%N1¼èX?,¿”ÅD¶ÛÞ¨²©‚VÿQ™ßJRþ0BÏeÎft{º/¸ÎÛ[¯Jñâ„ë²\qžCé´?ÜS¡Âaû+OžB …6ä_@$˜~Ÿ Ï#ŒXÒÆB¡èÕ(…‰ÜÕZÈÊÀÿ¼ÆQÝ{‚R{RA¸õ}C«,MYb£ƒãðÖÓ“M=f²ëâsY58¯ý3›uÖÌ ¶¦¶wó‹ÂòqÛ*¯œ$WA¿Æq3÷bZ€ï|¬2š²îi›˜^ñãB .^®)¿©øRæÊ2ÛÈ[͘ԻO¬?œv‹‚+7]p~ÜîM¢&HgozTeùÔ_èyIzU”ñâÚ©¶›Ú¿ÖÓj¯\‡E›EXäÀJ -„¨s=µ:˜W.ò É¼ÇúRé§DG:œÖ«’"e&ñ¸‚«¯úûk7¿õ„’ߊ#5¹jpñ¡òÖåvAÙÛÿOé-뫪§Ø¿‡BCZ,yÌÔ…e‰½>ÕŠZÝð¶ê5 äˆÖ+µš^ÚrÅ%ÖÉXR=Ç{÷æk5ŒTjìN‹‚âBewmñ³ž  0†Ð?™ÛL£G’1˲:šÝï 2ž6ädmE%™ù]}mûYX¤ú¡bf0ïÆE)V-çÎH°ÏÔæ3šum”XN5{zx¿PݪÕ‡¬Î Þä[~&PçóëÔ2!Aý{DeɈØÇÊV]‹O—{#)ôÊO+­HxSÞN¾·Ê¡&–^ÝRì ˜‚Qkñ3Ú[iϧOE{·½ÜÂm&D³ ʒŤ©é+ØÃ–pÝÛ4{}ìƒÉž­¤|lTSªú@r€KÒ?:÷‰B5áɧKW]¶?eÖ­·¾Y‚…‰‘< ø›[×·º°!FsY¿« ç¸Õá¤òh±í¦»#Žþ“´—õì :Fš¡‹tv}M. €C\%DTb¤ÝÛ™ÊÇÇJ¸,*}#Œêò=1gë¦×@¬? æ AbbùúCerýÖR÷¯RñÓÝÿX”@; hÂÓ†¿n dû›ôØõçr+VfíAêvë!ÜnÝjQñð¡wRU§)—ÊCö[ƒ_MÅÂDg^¡§î5Ik׸Ö©±Áÿx%KM—©æ²op ÿ‰gÖšáF(û·ì@ég‘‡!žè{kpðÌ>’fBûïFFÆkÀÝ:Ó¨ØHίi‚l ÙÊ«@’8õD…눭õluãY@n.²\“­A¢åúGEàS£@'µZËÁ²Ñù¬³’³ju¼¤G 'KŽE-_ ¤Y&Ôb(-¼ÚÌÊ‹/vÀE•Lµ!<ú’Z£ÇÞK£Âhš Z T0¾÷l(‡Ï@Fþò³¹Ùà|¥Þך“úâuüðf`WäÉ;ÞS1!‹a1&=ΕԠ§:â 'j4<Ì£[Šâj}¤‰¯]vy³ Ÿ»æÆ!ú°íÓT•u΢FV³[߈I2èM,yž¯¶í7)|'kýC‹z¶v¢D»¤Ö¢z`%O!¬ÜF$NKq0:Cè=­¡Þ:ë6#Þ JÍj¦r|9K&EÚðcxòG[±¡æÜgž…9Ú±ÛÍï' U$Mü%­”!âQØHÓ?“tùôþb šÛË]™js/>±±,6Ø޳–Ò%À¹0`ä¬W&.é'˜Ã„)N!ƒ'c:J›!.§“Yw8[únü¼û‡ÿÁfÓ«ÍèÕpJ;ï . ìgê'Ä„âq×<'l×üºòÂÈ•õu(¦í­q×¼Ö†qèbÂ’DÅ^þüt®x-8·Ô^GJžžUþÿ4bCŽ0¦=ü_z½¾$ëvpÐËqÜìï›Jñ­D×w¸¤æSÝxኦ¸˜¹˜TØwïù±œÏ¶8Ɇi*3…2¬à„ ‚yË›Ê-ÛÞ·‹<¯¯€_/8d i4€m¢¿-Þ7ÛwÃ~aìj®BZ“cÎö‡¾3k צÛ'ri×h1«Ä:åF[ó×.rgƒSý/R:‡ÙØÈ»Ý>ûÎårÑÉØâ™÷',Á:±ºÙwY±Ÿ&íÄÄ} `UFäqîçŠ÷–½ˆ=~¤‘Ú¢&¤# ™ôn©g½²(UÓ^R}¥KN¯„µä¸†ÕWEZóm´rö›Ûñaåï 7Œ‘9úçœùðoõV/ ®ºñcª8›ÊUy±<¸g{“ìÖ¯wÓ¶ãË9ƒ—Ë$»:óÃN“$ !æ eígŒPmLÏ—*9ç&aE1òBø¥€cE $[_Tfp©Ò% FAí4&ˆ|!wP"1$š¥V¦…·3SïØhâ7ï'ãîî'€rÆs´oÐQÁ•|/*,¯÷ ^êpùoOHõbšóA¶»ŒœnGJù€{'Ňà½QšpûsIí§ˆc;êœ~£8-}#)ãZ*¼\Á`°Q5›­‚”à4òÖ.:–n`(È@oÒ í°Â2Tr]¥I[ðÊÛž]ÔŠ›-ʰ4è1¨Yséæé)ŠBô'-‡ÅšÕp½§[™åZ¸Id=#îƒm.4ضÅóè‡ÊjÊ›òs®kÖõ=WÔ%NqíLö¨Oeé!\Õì ¨ÊVÙ±Á¡%4ZòÔ\‡JìèQÏÃÜïì$‚ñ‘q­™ÿ¤/÷OÏ‚hÎ0Õ~!RcÀ[·¾9Ó5­Â…r·ëä(ìcÇÏvØ+Î~é· À&¤o¬¥glWB½¿Æ GÀ#9 ¼1òÙùD†}U‘d#่ò 0ÉñÍ Œ|®Ëf¶I[‰Šœíeà J˜¢ø,b<Ž]ÎA‘E ·×‰ÎC+X;)·û]S1øˆaLÕ’Žoi¶ÑP@pÜÏ´ÔdÐ4ë8Ñ|ÆRý-ÕóÍfµûâË ˆW‘¹µƒ‰÷.[q c{ék® ÙäÁ7XLjŒì ÄX²A«yí‹‚¦M›Á]¶Ÿ5âÔ%>±0ÞíV…‡¿ˆrùÙ¼H`ª'tŸá©0ac™‘•c;r/‡o›N9èÇ6òm8r¿QÑ]:Î’O-!U£ŒT¨%'¯…‰êåh±ÏÍC•_E­oJ¼Prš…Çòk¸››Ð+ݘÊxHGÛ{b̽̇¢@[émk ÅÄ*Ÿñ/¬—»RA¥,åv%QSÔÃÍúèìÕG¬ü8G`“ßMW°ž$+~yqf§÷骒ۈúÕ˜Tð•¬aNøÅ|V3ârÖºo;óÝ‹ïgg–oB­:‹ö&Mÿ‰`™;'!ÅÑðÓñVªoèÿOÛ_÷|š ¶äö÷0îcÖ9&Ÿ›y¸ó”IKm ¡ž4¦¥#ÃÔ1@D#ØÂró¥¾ÚD~¾Ô m¦HΔÞý5LÆCŽË =Äýi½õí vÀYRÐàÝkd$p(1náÍ6Æ¥·ÓNé¸ñÕòPe݌Ů&í|ÕòÏoös®W¯]ÍpåewbJ$d®Gˆèûr 2D€.Ù¬*=$Ö Ôj]OëHO;ÔÎ DxdíVC1]Ì93´QÌ„_7IMÈ“j 2qŠØŽ•Å%/Hbëy Ì¨‡5ù-ðoi‚ç&UžÛ@¡"áíõ¶ì3¹àÓ¨À—нa+5¾¶ÄTi»ÊO<¥(òìFŒ;Š¿‰žoïüM†2k×[‡ wÔˆ"ü8“ýòãÈD¸—Í¿®Vœ±tkY­ÊŒ¯Šé¤ú~·'Á®å.aZ&â"ŠÇdy–B[fxÎê™aQ!\ÞÝ6(Öâ$| ‚•0Å¿Â'hª ÅEd¥ˆ'ÅeÿwX…s䕘+Æê‘ Ù_’£4ÒSH`³Àó6±-g%Wêº-ùòa°C\+¡¹Óÿ}5Ó+¿þ5Œ)íï¤ü`»jÇ*I—î笡ty \m$Ié¤!<¦ƒ_^µmk¶&¶¯…ÞB¼ø|‰ÉžjLp Äœ½!µ€#GSòµÇ|þPÿÕÕiú§¬ó*©)¯‚ Ž¥aÔg,¬óÃmvÍï…“4ÃÉùº¥é¿–Hž‚0m?áÚi“­phÐ .ìÖîB/ü*;þÔǺ@ÅjP6£½W¿‚ÛBU¦u ›&›ªÈ-]W dáø)ßO<3q‹Zú£uakÑ$«Ù€ÌØ]ÑJá-tS £UW ¯”*©hóyŽà^¦ËtÙã–‡â%…Rh…©¦€¦3?º3!ö‹9¹0¸=DVXt¨Nš¢p>­x`häYš^Ȉ߿r!Å25‹• xð‡)eö—Šß>•9Ùö±ƒð ªd^>ï›þ¶]8ØN•’оý=îõò²ft–îêé?ñÉÔ·\Á*/zVÔ¨«œTןêoˆ?|ø?ïlú ˜ ZsûÖ4E7ÄõÊlüÜËfJÏZÿ:qí²L½õ¶ŠÄ’‹ú‹23 ûÓŠ6¦îçœ*h—0í÷"³Øg€ôØ®WÕ@½ÞÂÏW…Dþ 9ò”3j–U£úÀ´ž¿pœu¿Ö„À&{¾"¡{KCÅO;©Ð» Ìê”~ˆ íÿŸ9ºšc‡WŠÉ)(žgYË4Ð,,·üÓ^ãiÊqã›%r?;ŸKã¼js¼kÚåiÂà¯Ñ–Í'r`˜è—O#»Rѳ µ¼#3ÿ€ÓçRuóÚÑwRæ Ê@.Òã‹ð¢œYèE¾ÚFQú½ïzáOj"'¹-^ê/´]Úˆ{ü]Ñ)xÒDóóò,s‹¦±‘~œ%=§?cÉÿ/ÄÉ&—)†¬QãšÄ½l•kkã’[%À,ß`\:˜¡xVЪä‹üI›Hµ‰~ÄP¹Y³Ê¿»8HÞN(|ß0˜ÞoÊ-FCÌÃêÂ/ÿÕGÚwà÷à“AÄóøËó<Â1÷GŒ/–‹fqÔ:äú¸8©T'¾…Ú\ƒÃ…ÆÂwÏ0™©©X#5€Júà”áOlõû!»®È^W Âõðüci§¬„ÀÍwU*âè¹¾–w†rð"…•I‚;ûöпé, A©“žAIq)Ƴu„û®‚w§2àA_íü9@d¤Ñ_Jä¬ÍòûÉÕÚñ7òqŹv )E?‹¹ÿ=8ÃTcŸjäOh’*J=c~¤[Ý®¿ˆ‡.)T:šºA• l^@Ý19O ¥IAȳËøEþz›t¿nôtºŸ¾ÛøÕs%g¨Ÿðeÿö•-®@ƒuÔæ'wÔ«õþ>nÁú«Å=½u²£ŠÜqÅe ;ö(u+ÊÃMA•¹&OpÙÏa¶tÏâ"m¬s•6^,†Í2ö ôYˆôÐ$}xñíme©{ÚœÀjý6ž¤Ï[†·fHпíUï® Rb ÍÓ1tø’"&d$ä)Š'ƒ4Ř¯øœõŽ”|’óþ„C*q<Àpƒ5ï¬ïIWÏáâéLÞh"WµòM>§ ÑÁ¢w]WÍm:çK Ù¾ o×Õ™°Kú3Äw˜ïÂí¶@Ú*ú!Í\<‚êXßÓ-D4b€ZeG]“ùP?þã¹²t„K‹·“UÐè‹6ÌhDùdÏ´óâóyòžK7#øcU«®ihe¡è<õ<À ²áÆjë†r2Òê•ZuÖ¸Ã`@ÄBSVóc:ú%tX›ÑéѪºlC˜É+ØñP˜§U‰™Zåü‹-ˤŸ?ØŠésC(EÚ·_•3Ú@Ü6†Î÷Wäw3ÙЂ­,s=”g»Öf’#ò§í…²-‰©ï¤Ä:bsR}ÔK…!Å« áv‰‚‚ÞÈhíã¼Î½ÞÞ¼Ý&é%,6 ü¾± hÖfè9ȸl¶¾ÜV¤Ke‡P2$ÐG®­äai e?X>Ó-²¥k¡ŒXËp;Ÿf#H˜ú&\€­¼N†ÌxØÜ¤ÿk^÷õ}ëUvr2ãÝ|ÙQjM”ÎJõ•«Gø´L0Ç;Œña5ª?Fòÿ]¹Ký¨ÒýN>ÁJ4ÙÐdQ@æâ¬£ÛüHªr6ëèfÁ†È?Êf6Y ú/ z.ç ¿QÑi•uWŽÇk~{¿f(˜pä_|7ÕT5[ ž·ÎOL6Fìåû²€<ð¹ø#u´nW÷Ø£·Lý—l¦©aŽ "Åü±ù¶ñçxÒIJØÐ)';Û»U’¼äµz§XÈh™ºšçîýËùõâì¸ú¤e&G&P15sÖÚÝ;œZ-Œ[³Ó$­‹‡FÂò Î4¿?¥ÁýœZ¹‘™QS0ÍtD)ÿSŒº>TpV½>Ä $N›QY[Ä@¤E„&@*‰ì‚~7ÅQ*sE;±VŒÑÓu­ ££úö¢Ã‹,ý©7;wi(“Ò'AÅCTo»¾%}ÝÁµÉ†”f½í¡tÁø–Æ£ã 'KÞŽ,|ÏA÷õlE‡/åG#˄ښ¡¹ÿ%µq¾å…nš‹66›Öº·æX§[ÜX_\àA@}¯úÁ;ÉOW+Ì|Ü•[Æ3j±ÓTÒö*ÆòÑ÷£2]¯êЛÁNù󤢢7úy‰ÏoÚù­_‘ HÀ¾¬¸¤FC=Y››Ú(jXÎØך¦Z©˜ºÓË*ìÜ`‘á5 ý \“äû7¦¦i·_“Gø\W-Õ}Ã\½"±œHjÈcƬ5[—6§TFG-‡˜Š+:h`rýaT’5íÆÙ à °Ë©Vî7ŒÈ2Åö0d¸׷íç,5þ…¦®UÚÑÂÝ:LwÄc3…2„ ïÞ”Õ¿XI×v’»»èºPð¹²€ ðo-½U>ÒÑ‹i‡#X,Ȱ! ª¥QäñЖ`›“’6”̽å1¥RG-V‚|%?ÃëJCëË€””qi®¾i7ª(¢éí—W¬Ý]4}kè(\•tâHÓ„ª®ØÝÁ…bjT]«­40— Š ^DYÝIJhÇ„´Àð"•„B=iç|€ÅhR¡{öÆ:hlÃÝ“vzh êïc†g¾ìwƒIAjzÄ¢{ @½r×ñ,5Àx/xíï箤æ€ÞoPÈî/›>âŒñ sI¦ýbVw‡éiÒ´àÿ_uúéJëSÄ—ÂõE S1ðÿÜòuJŠìˆc¿Å¿ýXfW+ò«X˜|í¼Mú¯Ô*ú"ü§B)ñþ\opŒÕ2g®,v:VPþȺøÒ†4ï8g¼ß ¾µ=nØçïÓ$߇,ÄÜl&Q:x×(’¥í„Ó›.|È.ÓÑÎî™[yG€<¬•eY¬Q_n‚´w{žy)é'òã’î?¿!f P>8~6DÝ•‘$ªÑt.rÀú¦°ÏH¹•-(Nó—e£aøßàæI·ÚËG$Krßñ5wBä&ŽR@õ]µ&ô¶¬.Ž|ÝBrÊžq½E4H¹i/¡Iʶ†Z¯VÊjÊa¯ Ü3÷¿€O|RÀWQÂK€’R ¿aµþŒû•O®+\ d ·Ís.ïê-FÚ£”s6Ò ñ†Qcµ œgT:°cofÙK‘Lϧ¥‘>\oÛ/3Íä#’D’|m†ìëÚ®í×±ž1/-dél ïÄÛô/¤6•!Ù÷Ø(Ö"pþ@hµ¡æhaÍÎÐ3êx^dÊš`]ÿïHwž3·ßä©1’÷ìf!´DyË+ QTœüÐWáÕX„»3¦È`XqDî¢W)vïXÜâêé,²|¢O2-˜ÇûYÊvR`õm\?>°:²+ l/R¹~p¦ý „w»ßøH¨öÁèïܽYÃc æ½üˆAW TåZK)çmúÃb½p€ÈŠÃ)Üþ»L٥ݖ|Jg‹ï­± ü¤­?ê Nˆ†¸nZ­æÈjvàØ«ÕÉ&p§ tî(ºF—ÆÝ j~f´Ž¬”ìÛ1gér†ªƒpMi @n„¢T -È?"ï¹²VPõÌõúºœV€Óp55kÝûk¦U2oÓ`Êõ‘ãoŒ–LöÙÃûw1öúhEÃ_$ãj*Q­e9–[ó'){ÍÂÓ`So&kÙÈÓwo…~ðLäãšZ­L|e÷™DÚÒPtþ›Ò¥ίft˜Ñ²µÇ”´-–D ,ÓÛÔíXB ~Ù¤ïôÉhʳXµ_©•ûq*c: 0’úX™EÜãsU§_]QÞŒZLDò99{8ºÁ:ÌUbtn³Çäáq§ny%`}ö1þ‘?.m™W8Þ°,T¢ðîë ©RìHQN* ½Kpœ;½ïiq=鮵«=¯@³åÂ`t+„ε¸í"¿ŒðÄ"ôcq­hv%¤1º7“yªRÊèž H¾X€ŒÞ‘“wºY¨0þƒuyOó˜øÀÍ•Œ‡[ÿp¯JºKH³6ò¸_'¢•Å·h/é^t©=Y¢À¾úódh '(kúàÊà"?N/ëÿQÚCϸØ©. ÑTÝŒhfoüb`‰74Îç·vmÏ/Qš;²Cûw~OBÌ÷A'RÄ’îÅ(vÿ‡õwí=õŸ CœÒ+Pª­¤¯Y‰³ ¬8¤Ž@m€è&pÑ‘0ºIö› ß­v, ¶É’‚›¥kZ¨cK³`æB»©¢•œÍ"_ùnM™ª±ƒÉï{ïÔÄðkƒ4{*c©^ßüä˜-I1Ý—åà€¯‘Ç=«0ÎVý¥êÕžãFMN¹.ÖÕ;¢™W(¾p— ô±“GÂOWaù¥Í,U9„±ö]ˬ!̘Ý(6j¯#Žùw/5}ˆÆN;áªhÀwáÙ K‡Cý¬w²Ÿb.Àú?¿dÈ"¬SÉ寿 šýi ç‰-ŠÆË‘´Ý§g™"TVTEæe[ …l›ºÜG› óP‰î~i´y* Ù¢ç òŸ!âÊ·µQÎ!¤g…‰¹f;IЕì¼Ë«Dß"V«7RÆEPƒ<¿ÌGþijÊÛ° f­®‡ f£ÃŒ-þ6ùû!÷Þ-ö¥!ï·/ÞèC̉ߓ–`Kspïä(Åó/r§¾USû„  ̉¿Z´«ºO+#¶\OèÎ0hK7´Ž˜²Ü¢Æ%ÜKn9Eõ0‰Åjí³×&?=H‘†gÓ}t…kèh ÷zúvˆþóÓý›4( ä—Ç@~ìÚ8”VæÜÑqù7Æ7sô匆Îâ9—o©3g'úŧìj9åC!oã‹Xz§ª‡FT™Fea´–?t2ÿ-†œùô5kã¿où~ £áÃ~ôŸs†_×ÝYÏWG˜æÒÕ¼ß&f¾¡•Œ¿‹2¹X€ én…z²oþ$ÅQuéÏ^Åãó¶bb¬_ZžÏL¼u[$pº|‚gsŠùÐkzЉAëbï=MéP°(bÙ¢XÁýüãH’5Œ0u¥ˆÄ@}ÜŽ˜–!­¤‚5Ɖ§`È"šP"íWÛP_^7ZІCòz=MT^÷Íí°„ÓìF\äÊ.“™U ’ŠÓøÒ±bù—_Çåñ**sPêI˜Ôu¸S™B-J2²#³ýXg`Yõdž£êçCe5o7à³øVwÒŽDŸOØT¦lcýØx3û=àÐ;¼01€Nò´Áì À䆹„szïñ'¦• ½ö¾cþ44"yÅÁ¨×]iƒûÚCd méjL‰Ñ¬5äO½rEí(„ú,zi¢Þ:¸„…dïî,äèj_>Z“®F_†ïÒ¯éÆ½ òÿ8¯ùMž&a1,àÖ‘/Ù7#\äÓ¤„s“Ä)PbQŽí;Ú–î\ÂNÝiÝ@Ïë×SäVäaºåÅ}ùÞ\ªÅº-RçìÆŽ2)GdàÇ ¾Í}ÇѺSÍæ%N…i4øCy±Î z6,ÏŦý«ÍŒóß¼¾’Ÿ ûÖaz—„'#ç |Pˆ”‰÷ÃlAÀ¼ë!íW_Í@4\:†½µâÔÒÛ š”Áv"É×°2Pkg‰OgÇ2w†×¦q¡è ¥³H±C¼òO“Æ€.g "*Ë%Þic-((J" ˜ÇÅ»±d­í¦žúuÓ‚sá 6ÊriºˆX޽ýpå‰ÉùÕ ŒÍ¼qäSgqº'1ж‹Æ)䉢=·Fð°’wáú‰Zá˜ÆìµõlqÔÌhlãŸYeª¹\Åh¸-ÒôZt¿ì]¡ÛÂ8"òÇìþÁúeñ"‹ï@œpUHÓX8Ÿƒ™¯KR\Ñ¡æIW'2_Ïý aSɶ³O#ÈÐ.±åžÃ ;kSG˜-åëkµ9¼r¨ì#ë½LÍ\A¥`%ŠöíK|â\AÖ9!™Óûñ ypá¦ß$žk dŽfk…P9ÉŠdZA˾‡äkÕúi©ÇÒ;yÐXÄö}Çì”YÂÓV½˜ÄcæÚj²6Ðܦ:ÂŒ’ Ãx¡‡›Â™%—€Õþ'ºCÞsôg`ŒbQÌu`Ý7ç^»Š:b Ihà®EÑ­àñ¢Ç¨×•ÝFHmÌùÎOÙÄ»ÍÏóÔè£e݆$a`SÓåûjš¦_/Ö¾yEä’"pkœ•Xþ,EkAŒLŽr4YŠÔF°¿§ÅŠjKZ‡ž‰«Ìô—I’°xZâ¨Û¤ŠÌÇÈiô 5}@°…Y>VÜc|À¹w‚¹Ö÷ìÊÕq˜zµœBR[æ H§<àŒ÷9yPnÁ’wÁ‡ß>,ØL•à]Œª9ìØçÑÏäý¨fÓ-—f“)g•NÔÎ_{z`[2q”ÏUş湎‹­Ëc²ž= Ë5˜rÚÆB©‹„ÿºv¾à†û‚r8>ó(k¿œ /äܵ˦(¬6çID—á»ßÒ ¶´Û¿ yŠ>úIÄÑ9£I1)¹é‚šÅ¤náuOØE°kËad0ÁŠ5ûûhÝ\p¦ ¬ŠÁñ‹5»íoÚgpŽHEƒ ÕHdOÅe<À«Á[(?ôk~-[áUyuü<çm¥dx(¢MPBh§·_òNgÑdæÏ© -ÃŽŠ;´º!ê}Ãd¥ûcÅ–N[^ÈÑ0IœeWÈþœî¶nù<¥(J=õäªáŽC»ÀÁD”+HTo÷ÇhQõõ¡ìmÙõú$¹¹ ¸u¿ÓRüÐ/Ö!ªmÚïÖ½è&o‰jÈŒ¸k%H:À}\ó¨*¤@C÷ ‰‚»^$Üjr”ZX¸3úJŒ]~Gpól}j`$?(¾è4´˜Ê줿o@ÜÐ´°ÖÐÇvC5öÆY[¶að÷F›¤¨ b.¹´šå†v»ÿ]ðHèg *„Lû`<0rÈ-† lýÇŽ%LüšX_äzùíXcíÚºµ|óƒwaoº¬ÆÅ?¨XGöB ð¡ ÅAt\ž#&„#Y³¸¸»ŠiGï7Ÿ>¸Þ0jàbÞ!9Ñæ‘_H^쥶‰DË=ÉÖÒ==Ñ=¡ù O-6_?b&½Ÿ!°¼Ʊï¤ÇáÂÁ5*ðb¦Èw…ÀHÓjéx‘Cž‡Z‹Ñ’ó¥ûþÑ:…g²ifÁ¡Rëq¶Þ–ñ¤W†F»¹9éL|]¡¯ýá¬F´#p¥ºÖM¶Nrc0 }óp¼îÅŒæ0p_‡ñÙì=sÁ°é Ôq‹þ|8n h3ñS¿ÛÎÏmsm¡æ×¶³:Êåã ‹ éãÏx³âL¨¾Ä#•k|c»ÐI½O°ÒÓÆsIkÎå>tkÊK€g‘ ,<†à»0uvyNúd>Ç{u¯Ô’̺³o¯ßíêÑÔqüMçeäÕ .5X4»s…L”Lxà´¾P?|ˆnÒ­ ÉŽ µE\(QÅ܃×ß0Òp'´:mÙ.;²Ïßó#ä´½h•4Ë2vAö/@ä6r$’lk'%eM&2Ñôã› ªf1Þjîiõ0t·à0Á)–xÙQ™`M[›™)FÈÆMÁ†ò[˜èÔX+ïà•8=ṦCÏÔ¹ Ÿ1Ê GÑÝÑ–ˆ’’Ó€; ùû K¡U2ŠZv÷@7/ÍÙ$̲|`÷ t€®2Ó™ªF*졈–®ÿ\ñ§˜Çĺ‹2–€Z½np};ß!hÂaþJ‰CÍô`xÜÎ1Öà2kBRk¡é¬Íž¿³{-'¢ó=WR6‘ûS•~äþ[`Õ“>$"Ũix‹ý¦ˆn1,ŸôPeÀò5”5´ˆ\FòÀQó$€À‘¡ BÎs(v·e£ ~[8©hý¾S切‹2Ð÷Ur#*¡mª–cM³€XñÄ2LpÉú¦AíõˆQrƒ­sÅÞ@ÃkîõŸm©6/5Ïûï5}a®˜De3x Ýð~0´Xçm\lÚà-p¼9îjÑÆÀNrª’žŽI! ãc…Ûàë6MŒ‘f r~ÑZ¾¼ ï¤ò þD^¿]Ö 'ÿ)ˆ@¼Œ_ži÷ˆBu PS»w”(˜ë2ð•ÑÎ~ûà*þ“Àþ }õ2½¼{Òø¥ï¿)óåoÆvu>wYfƒx=ç'C" àd²¿A!˜:ÿéîzvµEíü$‡uçT[Š™¾¯?©4:à†²<Ò?bñX‡d?°a£´›žú€5[(ˆÃ„ãŠ8X4-ßÈB³¶«¬âÄIÂ\ omYú;ƒ‹G…¥„?ƒ‘¡R,!`+“À‚8`x”ÝH#–¯tœ¸»ÙjËëdiÇ sÒØ—XtÈŸFRZreHmR›VÌrøŸ‰•Ÿ*kƒÈ»Bê…ÏÒ‰‘'ï¤^¼Ô»èೋ£ßq©Å:SK°cTcÓáLКšÖÆ§gÊDèðC^úÒ÷›]pðS|˜{<,Z(üä-ŽAÑ^â{-³‚þO"Ê]Qmád):œ%hXS×oìõæŸàj“ª„Œ8Ѫr*èc©iqãa¢›½ _\L±I>›–‰Úqh4Ε)lÀ„‘:å`ñAŒ<”çm£é"¨ö|Î Êผù¯aAÚ8V£™"Tîpº¦]Ü4p›êž²ì=Ý÷Ëú5ëë…f¾-X`ueÆÀ/klª3ÀÆômΧ§ïw€ªT5Ê BUô©±5"$Š)‹gú ÷§ô>öVÚ¦ÜF+ àhtÙ ÛŒP8®UØCß0Ïá¡ONèë·áñÍçu[(mæl*gý ¼á Ú‰€‚¼µ§¯³±møó  dåO ¢¸™L̨ÌyÙ«¥~¡ù.|ç©m·v,‰ƒ‡cÜ\0¼´Iwz`Û{ÚóÍSû_ìÎ0 ŽAÍÅøú6Ð]?N·Bû¦³ìBé] 8Ú"žÑi¯ƒt{ÜO,IH¥Þ„ÙâÖ£%Y¹qá)Œëf¥¯’ ø’"ûkªM}†òÇ[HÊÿçCÐòŽËF€¦¼ÒŠ…sIsÊ;j¡^Y ¸yùXæHxeŽ»ðØïJWV»èÓEQáÚ™:yT¯ЛçK‹?_ЕÃrfS°’!¢çî7{CÂ4,J6ÿu}aó4ŸûëŽè‘T=§Çf ë)Û3”é¹& Žënåº+;iûͧù%ág®pÆÂÇäù'Jéw©uhKˆl ñÆ-ÙUÙNæ •ätmS¶œÙ¢Éü .Ý9‰À§¿½g¸ )À_Fþ-Á~Âæ¹aJÜAÄDßD/WGÕ84bß`—¿²œãƒ¸Í‚BóN»Ž>º~boà Û©Sê{G[à~Ù?LŽÖeè£HkH( ¹°ù½Õí–[d%\€s™% êë\ ½?ÙÉëí–fe«öÎfÝ¢ãp¡»ßN‹ë3ië£ô„ê\f<©†»ƒÂêF=o5´çˆ_lû\I†/Ò¨kTþׂêx°™…F'ü¡iÅ׆ξ#|>LšÁ œCZÁ¶*êØÒ=¸1n\;)‡@2Ñ¢Òo¦ gÈ>o†[ì¡¥—×ìfqì -r´#¼š´£LÊÆ_Mcƒ£ "¯ÑêÄ“@¢¬ò€¡>Gãw=DiŸ`ö_R{¹Í†ˆŒ &ÌÚm(.yOèÛñŒŽ$jóOw/ÞqÈ‘—øïÌVýp~^`žkw2oF¶’sƒJ8\U¡¨×£eÊÙ`°Óv°všÙ¼Øâ9ñ–ŸRð߃w9Up¸ö'T<ííéÙÂä)rë°¬zÞ·¹Üÿà…v!Ý!RÍC’Cì€1c«$8"Uà¬I%Za×÷yè¹nP¤›÷ñ6É-l£ô{Su‡íh2±h“ ¾Öå±rŒŽnÅGÜûþ")D{xhã0ìÔ{â¬ÔRMû$gØœÜè>>Ø&»Q]CHM¥Í?ÐúÇU׆Ã\"ºˆ?Ư5šÈvÎâÜïÒ @¶EÌl9rªÑ\N3wŠþ?B’©‡^´æ²ö½¿QC—š’e kvÀSVOÚ¦xýS½š ‡›%òàŒ2GkÙ*îÎÖØxQèèóïͦª£>u½|=™âö•ëÀhÖr(ŠÓ·f§?ûG}ƒØ¹—â,l$Û4Z€‡t4æW³§\»fò´C€qáZôñ>.Zè9lr²k®­6’5£è7%=¶z¯¾ü±ðÖU °Ê-9¢J½±He$ûå]ðq‹¤= Ôå­·l¯³\:²æµjx2o‰å·>ìí"RaK?+‰[]‡(W?ŠÔí)™ =ç{ÄȰrÐp’1œ« ªPò7O˜Ïóê;:)ãÊ Ð’¾ÉLøR€™|P_…¶0] yÆ%VñïDàÕ?îtÞZûL2veQãÕµé1þO^=ÿR2­&g‰R&ÇÏOûÑìêà]ª& Ί^å¶Ë07†Ûþ¹zÖf‹4lÚ˜UOØtpõ‡‘-ýã5€,“WŸåI“©Íž¥úSùì¥{¿Þ~b®-7µšý­&G #P›ç„ i°0úšée¨ifˆ 9ÿëÌUœ‰#¤V0'’p/"# 7%Œ­(ãóú‡ªH½Ð;vB ¤&x'˜î²kbOn‘Ͼö‰®Ç#¥€#4ú0p»Þôx3x]ÚèmŽgæqJä-’×g“ý^ž4¸?¼[Âþ—ëXZ׉n·„[!"`n)Êcgy€}ð­@R+üU©Ï¤"A,ßûŒ½'Ú4—iL‘‚ÂH˜·N’öҩηV.B-³Ò ¥pVthÐQÙÞd,WéºEÇ/ˉ ¿½è ÷Ù9… ‡ß$_Whè_·Q<àýÇìùÍì#Ž '¼âpQÈ/Ϫ4¯½Œ<ÿät‰eŠ`w¾WÿÌT¾ŠË þ:+úZ«ÛJ20”]‹W?h‹‹xË)Ë/µãR5XCV¶8[î¡õ /2 ï§ôîT—ïT} ®+ÌèÂYNÝBðÃtˆ22\C'•HÆÿù=´„ qž$¬Äp¼R&Í!¯kÃUùïÒ½—¬q éC,Yµ5G¶ó1L™´²Ó’W(f·ùã{#§SJY¸0vLü®sêt‰L5ðˆ1ÊQÁvÏÀ™Î‰üt–ù0oÏÕ}JÌPßÇ{sæ¸Cž E—ÆÞèŽTeMYT w¸ŒÉœbÚ¦”àm‰O—¤,Ø!ÇT=ÀàÁþcT~¥×±)·sàS˜° ø2½á`—ýÑ£Éø\Fú”òîä*Îá™;údÈv³s½§FêÝœ;¾qðŸÍÍU&dú]^(>ñûWké°àÔàÛÞäè=§=½ò8R©eÝju)ˆ@ ‘|S—·¤ ßÈž½3-b£Zâ@±i ž^%J *‡ÃõAeªf^ViJGáŒù×eª!ô+Ž–íq7Œu“’™¶¬ç©“O‡XˆtÞo¾äN@9{Qæ>ª†O²$¹§‹3fê›s‡ü&;2ó”~VJŒ¥ù³KÕ¸¼ÇöÇ¡xI R&ªrÙ?dž—¼[ôg…öþÛ€ÞFcjÀòá¸YT·$µC=è4@ú:.Î ß (28_ÅœIWoÌ*¬ •‡Õ"7rå-õ\ú–€¬f$ñÔD´ÒIFójHù·¡ª*¤ÅG%É.<5þó0â«¢ ~!HJ“8c¹KìµV8¼Ý yË«&´JTý*5>@BŸ7;é´2Pižï&t“ã–w9W«ƒ§¤Lì ?>\Ï$À(f·žÕ·yœ†€fÔ'¦¸:¸£ƒøÆ²/-Ьˆ"F-5†È²Ëäÿ>õdZ.Û>̺T *™5äÝõŽ>_=Ë€ô5ô>}ÔœâžU?ŠïáâÐfwJ‹DÌÍÓ,í„%«bMy¶1dúöŸ{"\]”ç^Ù²^ûVQ`£´ã&fáœ×O2å’rx 6öKyA¦š„ä€3ß}˜L’bÒS â˜sñl·¥Ä!¡ùSœ¹˜ƒJ‘ÞÎC3«z>% ^Ÿg§=„ö±rœIʪ„?26Pž]÷¯¸/{½öÛt(Æ¢é­.Rn,ߨÃöcOÈ&¶©¦µ9¤ùzÜvð¢‰PDzBNЧºBÃ0!º¦êL9éð[ÿô]) ­Ñwj,è³M©p¯V$Ǻô'#£F‚ijÔ7¤gÝUýB·”b¢õ³d{ ± 3£¡¹ªhJ”z{¼Kÿ%ˆ¬·èͼNÑtâ yœåŠiÉh½ˆèà¯H» š„Ô­é›–Ð<}û þ'À-ßcÓpφ “袤UÌ5ã oÛM¨Ç¥¼0˜CžÊGL££¡öOæö1ºQÌQ'½e&k¯U´„~¯)êÄrK*ShͤpÃH«²6l{¨ó`YÂb³ž!¶xàZ?õ­ÜЩ> s¶|w³¬ÙHý Ùýò\¢®¾R¾Û‘´cÄ%I4›øH‡»"šYÇ2w0 o½^èš\º‘ûüYÃÏñTtm¬Vw‘þœBC ÁÎ*­;œò©è¿xÓ(%Xæyž*å'k©,‡£uS4-­†M6¸8„òÙýÞÍ–‘"<]DbR¨Ñ4Þ_jÛsÝ$H °šäMþoñý__# æÔ¦`Sh‚«2èMY¹(³»^á䀤ÒÀ‘Kt.¨s2cÄ6ª™9á49.U޲äwÚ)O'›¸RxL"ô‹³â¶Ò9FŒè0ëÉ€Ÿ4#Ý ÁÔþËôë‡b¥K®4Za·pŸ¡÷Iêò Øáð õ»ÔŠ&,¿0?!‚C`¥‘TØ,ÀY¨ú@“Ⱥéþ³ò ÌÜÔVµa¸”QW­ ÊÓ`¾ÒÛ zøCCŽL £ºÀ´î#E;Wš+¹Ë Ø}@Í­gâÝMÂ;eÀ˜2ˆ5><=û³}±A‰(5g—%ªÂó°há(åK­.ÝYªGr²å¬Öøbg᬴¶¶. ØÌ‘0ne!5v>cFS‰í=7ýQF²÷Ä¡ƒ8Úmš'ÖáÅ-Þ™X~ÊIÜÈ/ MpÒÆ ëš‡»n… ™Ó<Œ„‚‰iA)çÈ›'fmÿã“®·h:®õÖÕK$T™`-Fƒ¯ôz!$ºPÿÉ—ÉüEÁ_Ö;ð¿ G Ï<î6¦¬CФ78ªôþÊ¥Â]‘ak gäI¶±5­?‘ÀòBˆSÐÔ]Maïú› Eœ_ò»Ì†¥¯Ž'JZu9Ü ƽôˆ |Ú~²s”›'d­Úö–HZ'£’51ÇQAwáóP‹¦ ‚yš›5c±¸HÌüñT½÷ÓòcŒe%nz&=‡²{¹5b(Fmú·¬s³/I-4fÀ4ã~,Ãêá ¼ƒ‘y½ý†Dr³ ÒÙv;`Š3¬Ý W'mö-Ô  E³ÿ×: k*²¶þ @vG‡È'þ•sõ:m‡jê:›IWæÚŸ›rÿËeûXø«ªÄ »,2¬ØÐŠ<½öÚ ‘Ú‹sHré cn?b1áз{EÓÖß;‘¢9NþŽ(bF±ß•ìî%vè ã·ì#¹”ø %ŽoxMŠlôþPˆÔ“‘>Ákœf‚iš)‹¿M[Wtºr-Ä»À#VŽ_‰ ÷J/Kê»B¶VT¼ËÁÿ,yájt{¡ísF©F§”0¶dZ¾Ÿ“ Çỳ3[±<ø@x^ùœ€;n÷UaGPÙ]¨@f«%¤˜ui”¨zYÀ- Òà×gÊ¢›°ÓÝtªÛºØ¦¨Òï‰b¢_R0C'“à÷¹5q:÷ã ĘZšÞ;[Ìÿ;r9^_zsI}ƒ‡y*ýÞyY<ÿKÞ›{þ3nÀ:e°è#ˆ­A:8òõ™À°öppÚ~ÜkøÞµ8yáQƒê¦hñŶ¹® 2‰U+Ò"ÊJ+¹à™ ‹W~¯Ÿ)Ÿ1È@ñ,7Ücî´Ïj(>uˆ&FñŸ[_¼`^àèù†zÜÌŒ/ˆ0X™Wš úõ’g?}JSéC¹#qt]]&F›hO¦ÙbÝ<ƪðþnÒCÁC2én¶ºà…Nò%å­ zwÇÛäËÊ”²ÖqmšT‚c¿+D¾q»ñØ‚sxòÖuK_R—ì«HJ6]dÆ–\¯Û £íjmšŒ-õ% þ‰ÕAþA¹?)Q{î²öR]ji©xî¿€'Å~“8«-Ïš´smLéÒKq ‡Àx˜,|?B¸%ä–•\çVÌÆšâ£Œ%I‹ªZ Õû´Œ¸ñ•?¼ ]¬jL¨~hu 6VÕÄýoŽ´´¶qÕŸSÄÕ¬ 4E±zäjœh%בÍv•Õa OŸëÀ¡½I§òüß™>švÛg#¿ªÃR½äÞ×èT "lŠË>)à1šÒåM/$Þ9çÿe]ˆN‡—™SÛ¡1áôƒÍFå<“oêÍ¡â&BZWet²í3Øõ­”¡@THä°èÛ½bäÎÅléàЋâI¢Ä#Ƨ®¨Kh´¼Ú`Þ;! Ó¤3 g3ü?šÀÃÌèÔÝ!=›Çë‹ÜD®[ |t‘HL8uÑ…)@ë™?±ü™Žzâ¤+Û¼ ‰"z*ñ ˜€SòYàäƒNØÉòÓQt¨eã뢲\ñó)À›¶Ô5ã³°ú¥75=%³§a_Í•Ön•–GwË–.)Á´¦Hëέ½Ë-Ð@] ©vA–[¬±þ èÁܶ‡KlÖUyÍÑñåUË1QY}Y}‡,_”üúÑŽnÊ Vðûž¯ë8c®¨(CšÄZà õ˹KõîW<‰ÂK]vre*- ±5œ ‹¥5®‘À¹:³§ÜX”{Ø/ÙD M8ô¾nXï%ЇAS)¬[—jV¡­X´Gúêw[Aò¾&§É½íZdð\¯®ñè³"rϘöÞ·Ýd®ˆræWáF›Dî…kTKC${§‚›[:.©Ì°òfrGÒªgr ç•$K??SSÑ™ ÐÒ¥bš ³€E¹ë°ðÀEikm_pV˜€S Uäý‰LµÜ?sÙŒàëÍX1*Ä…õDôs%€™¤jÒ%6`e¡JcO¤ÐOÍ÷5í6ZªÕàH9sÚg1æI)г†Sð#Á캉`ùF”·z# sߢ&4á@û(5GuV¶j§¿O|ºéH…WÂ……Ë\šb%Yí,½!–µÒOÐCH£•n@’ÀœžgŸN½ø[ÚÇ”ú)ÊáÐ}PPôIéE®¢[Ù‚â>œ~|iò)wÍ{tçhê žs®‡Ýª~Â\o9’~ð“p óSPÖŠ¤pl³/fì•Òÿ‚±i—£VOOÞ. ÓR`÷OðÞ0´)XËC‹+|tÏXù)dGß+ºëº~ѱfù[d–:£þê|„m]êH4ã*„À؃<²” Sd—¶MÝ0´“âî4€ î)öf@µÇ~¿¤Î|ènTKFο¸;À²Ó”¾ˆt5á8T^à[{Æ*·‚9 Ô6ƒä«¢ ÕÑʧ·eóôÎýJqüª+ôV[¶®Bl‰Ïïü"uíòìíˆvá=ÌøÅMBìŒPémAd'\£5q1á@%'ÉáZ¡k‚Uo e:6rLp¡jfE‡R·>UðP²ÉI•­uf€äLR2¾ @.Ôß?=¾&né¿kšocqí'8˜˜>X]>ª2×r]7Œmˆ[´…”5’ØÌ'ŠP-´ |Žê'ÿ‡XëŽÉ Z¯´*ÌÇÿr™›ù¨Yi?kÔ¢óÇr<Çü"p¹øç yeïf‘ŰÈyáOm fØÙÐ;ãZµ€÷º4-|ïþà@º€Pj¦(-3C&®ÐÔ  ˜Þ þ˜Âµ²ªK9] »à:.û*’·cûYÄuv¡¨eÔœ_ì"F iƒV»h­+¼ '[®ð‹J7õåÍ Ñàò·Ú%²–KûŸLCç‰ Ÿ¡ô!û‡$ßSþü¼«ÒYóÏ·ÜËé]¾†?ˆÕþ&¦ÄªÛi}~ã4H¦Qà  Œåó¥bN~b"ë×z›¤œ(«q@ù‰—Cœ ût1щ|qÆL.B[ƒ¶s¥ÿ‘ËbÂ|^g(Æëtеè~$„›ó³Yݩݡ ¾Çƒà.Øè0Š#]×F“(Çôÿ g²ûA®ð‹ÇS;lÊß7gИÎãóŒý5!æ†247í Ž…W—ú¾ç«íqCØC÷ˆT"-%á’8àúÕ¾:³Ñ1ú†ºt4±ù-/7ßBm/ÈCÌË‹°aئƒhåù§6¦˜ùÇQ.`*‘gj:¤™Gžœu\4/¤V)^ZÝŠMµÚFÈKæ»™%°û"íe4T¼jÖi™ñbÁµðÈŠäð×߆9‰›"#˜\}ÁñËE*…}.¾59:7ܯ=NS²ùûeü…~#ÝSÒN¦@`ÅËììØszÍÇ«óº./|ÓïDµòo]äÓcµ¢¾±Ïî²<o¥¤ÿÖYÄ›”¢"ÅæÁÇ1‡˜_ߨkl¢ Íy3ÁåÌe‘ñƒUÞ˜™/úifjbg%DîA±¿âI)ðŒ,Æ3®¢ÂÏ~D "ž+ûÝîëבKæ½›Üö‰àFÁÛébÓº5“•4.Dµê…0/ªÿØ×Æ0ã,N£®A„µ8‘ƒ’ 0fko#I7=ÓŸ¥´Ú€W7 ò×:½Rì)²N^áe•uný$J”C¼ ®Üž•®çU&ý¾ò@V¤¿ÊðÇ °x·¹!‡„È›¿&ChÐÝ<-•ŠôQ÷ÎáQ¹×Vâ’ ‡*‡"ütÌD™ …ñ„‹¢~Z `Ù”öw³D è%³­·îyÇô™Ämkvtó¥ñ”g5‰¼†YG[öß3†ÎA_NÐAiÊEÙÈÎ×n¬/&éØKoK¦?×ãDœ„"X ½”ÆÕ‚›\•ß*Uß+¦%kÑ$A߇Ê笞ê€úÀ7:}Ö×5<ÿ°GëA<èˆë…ã¹6ÔéN¼²¡è0`.¶´×ÀÝ_ÒÑ–˜É±r½ÆË‹™L9×Lƒ”2‰êŸÐ寱yËÜ_Ócñ†Bœ<"¿^ˆƒ¾‡ø„‰kU]~Hf€&* û<¶Âóöë.âeF•+ª5l‹pfgH‰úðQH“®/„ærG[÷Åú–áâcĈÂ+•qþ>ÌvÕÐx5Ç *ì`éÙMùt?†í7M=Ÿð÷ŠöÉCn˜AÜ÷-»7íÒ\×…÷d´f=0ºªÄ•2¨q;  «0^4ž;ÑŒ':‹½ë>†è¡TÞžR{µ’š¬ªó²Q1Ä Ói"Ã…J¥pØö_`B´4öú8`§\ôIOËwŽYrRýЋÞC¯<#‘Wšc-õ@ƒöš¾ @‘?ÄM (ÊîÜñN:< íUW´„É/—+™š@ý›Qô»x¨Ϩ°½¦˜Ž-M,–èyÃ4JÔÞDm$j3®÷.1¯Ìs½{¬Ù|HsN¦ˆi#¤~ù£8‰v7òd4ŠöKw%s Ez‰N€´±¢ðL\aì3BO!BbFÙl]tö€ÒçqòH=“Ž9éœF>ÚÚ |u?U;í4”·CÔÝÐ0Ž$m"ç/|BdhœR[ZvdöRÏ…p„±ÂÙ}ø¶þ”.LT)-™jÁ¦”¨5è*½+kæŒí÷žšh$â_gñ$Ö#ìùµá±§‰jï$Æ¢ùHþg€ìòÓëOo&= §"¾½!Ní|°_ÙÕ—Qf=JðhÛ®šâWY‡úY%ÇõË΢&²ÊŸû!Æ&‡IJØ€çg ¨¡¯ôö‚Õxñ-ö©ŸÃÌ-'udÉeÔ/œ"#‡/¢œÑ£3ÖàËg¨j-%hef3êM°¦OÐ'­ŠjRð²qíç ŠòPüv„ÓKç«#§€ÉÒõ'“4Iƒü8ü¾9½ÞT³@Ðv©_ùoKE êPý­ªWJ"”,—·ºëèeöÿ`°DT8†Ë“'^„ÑóÂ}¿jªcÍ›°² z(óUw‡Ùî6Ž6êµÖŠ N÷^e¦‘»|Áई‡Çvò‘ZÖnŒ#;ü€ÀæÛVU&Ù¯…t{ Hއ6‹,/[>ày¿[hF²² lÌeM6ž¤Ën¿;Iªp¢ó$AÉç¶ŸlhÎS$ >O¡)’Ï'h÷£k€4qð[ö޹ÜFÕ'w½îcä"xšøûTºÚì&'gŸƒ½§”µ¾®Xâ8NÖéɹÊw$åºYŸÈ²M2O9‰¦?øÊ¬üø27§ûþèY×ÔºÆÀH´5¥Åá»üVk¥È“ñ„hkÔ1ÉcæÞ(`O¢K¬Ÿqt@ÓäºUé&#«2µMùO»×7˸—me“¯Þœ²À®µi¿¼Ø.+ùƒHË]àFÀ46 •}Ì®©ý–&[ïôŠÕ#Õ¦¿­ý؆µY˜W9Î.ÿ|c08[6ƒ›Àö çšL^¦~Ð òÍK½Qk¬l‚îâò²ƒs†út×XL0myæã¼2Œëyõ}`kÔÎý×'QxÜœô‰;rKví¢w©,aiM€S[˜yo1™_‹îÁ5=00¼(Qµ*ŠRöZž/TF2áÅå¯UiÕv¡4ኌ‡|öÿ;×R^¹@77æÐÞê’|f™Wý‡Ð>¸kÊ„âTÙƒþ]„Q‰äªß´Z&©JŠb’Ötk¤WÕOØè>ÙFjLט¢;qˆÆb‚¿F ÄwN®‡õ £ÞNÉÁÂÆ2÷ã¶ùˆ ¡2ˆ6óˆÍÊœõdßIl¼L=öÕÍÚ½d€N"în® £ÎZøí÷ =¢ Ì é2n)‚ª ðëËt3™Ø‹Åûi饨΃¥dÓ0Ùõºr·ç5ø0®+ý ³;Nì2ÉVдÎÒ\߀¦B”jŽmJÛ6(úÑ:8·¨òÏÌ,]OŠJîU^Ô^ïB!ÌžgË卨ߗSæÈŸcæ‹…¸’¢™T)wð¬]ž/O'3&Âpâv–7P # u¾ ±pb el¹%åt©Q÷»•\hYjK˳ga:æ@OÕ…£EïS2n3´Xó-‰‹®-3µmD(DZuÛòÝü®qÇ0Âú²5{°¤“øƒNUâ=æl2Øù^è€G¹í;?~}ËÁ /oÖ·M7g%Cü…=Spn!Û²ìøç3vvüFÄ8¿±Úo\6kÒ§¢5åY72«7‹û·çµ´úŒòþŽìç=Û6²8zE_¬DÁoû*c/*ÿ)寪¼„Z‡Q¿¤bkÍÂAq_Ê‚µž<¦Š˜<C¿ÑlدI±¡‹kd<ýÊìýr¿Žø÷oAÏ[ÍÒ²rÙ),Éɬ“Tg°·SÒŸ¨k?Ò6ü^¯ Eš‚îÄÑŸÐidOŽnOa·šQxi–€ÛÒq‰,Üù¯L4.5‡å¸Š¾æ—qb’5ôßmTXÝ>7U@ˆ'H› VgdqJâÊÂ6Ýç«j .ûså½DÒúqëU2çhÊw#ÐÑ‚_n_h‡e,`ø¦.ÇʘN Õn7ÀUа”·´Û6g YŒµBl©— ¼7ù޼O‚1„fñûKÀEÕ$uׇÑ"„Œp¦µâÔ,¢º”F5 XóåJE’eQ1M(±º$g¾f‰ ›6@1¿à{Öqì¾ÈåÔ–Ø×D-|L_!½„ãâ>Fèñõ^‰§ýFSlm«çù':ÚTt`ÐÎ(ÁWP’µ©Ì“Ro4׸nÈ#@¥lö'q Ef0ÅŠ|&á²nDI~¡êóÖ¦æn˜Â°ç³F;E²©ïHYÄ#ûp¡>mÚ¨¾åcpù#rNZ†Y¤¦‡/C&Òfïáf8ÞõÑ‚­ÙF¯øó¨µµÑ, Z›¹•’›Wí´{•ux)*î…¯»HEÔ-‘>ô3£Þ›Üßq•ê1O\ gÕA¼k ÜwB9‡âÈ9ØS7©´A½oJÔ9À Ûõ=øGJ<”j• dfÉ'—TK­…æ« [h ´z'.È$Ä6Zk†Yw˜‰ä+#Vg±9 ¨Oáó0rO†¡î°„ü°÷c¶ìbÇö9zÄm2³®-²]Õ,Ê+ÄWfÒýÕY{]ÀbÎ^57Ãø/[ÿû¯ó:Ÿ¡˜ù S\^L%–c¡ÿMàbDf+äf(îá½gÏ£HLÚG#(C‚; ‰xU“þª6ž’¡š¼z›Ù;ËÉð`+kfÎlG= Ù:ªÚGÎ…Wè…D¸œïì?ýpž—ª%ÒJgs¬W÷°™e¨Ê&}dпˆ`ªQYiÏ~ð© ¢3$_I­ß}ƒÎ;Ra½â—mf<×ZZÈa\¤ÈèáwˆJQ•©vÏo«2¾Q,5…•\*áâåœCY8öyŸõkö ±–g™JÏÖHøÞ† hÒoWOÙyhRcuMتˆ.×ÿjãÖ‰:N“¥¦ËËÊï³Æ¿Ô­'š¯Ï¤“Á­£YPÌhª‹•&M…I~ãS"3JT™è«"üº ¬5óBéh¾°Ò`Fûl5) lQðƒü’šÖûÿ+“½Š“ö øIð‘„€m°‡44(Ñô=?¸™Ÿ‡ü‰yÏ3²_½±@¤cˆ‰ƒË°/’yÇRfdm- ç3çÞpÔ_âÉ•ïÕ{…l¦Ciâ¨e5·ßà KX߃ RéâÜù›í‡ ëq©îöEZ7dYظSë˜7Úr6î.ܵx…Qiuí&ä<ê?Àzæn÷®LÀ™J1O_$1{,׳÷űðÒ¿ÜôÞC—ñ£Uä f¾òw·“2¥Œ‘È­IªÒó´ö„xrÿ^Jоåë(è±U\œ×Odé×+i´¡tu›-г´@)òÙ¯>5Ÿ7‡2\2EmpرñlÛy¶Fá;~7–Ïe}™¡œSm?ÎvË®!DÍy üKs§âtèÛh™&†J“‹¹µß ÌOÀZ«¹ôDkƒgÝ;OϼZË—:yy¡Yûx:• X™ËÝnè"t6 6{DhܺÙë®7ìfáÕÿÖ¢Ÿ1̾ s ÓˆHQóïNn®àg ’½ë¬ßІ¾G²HMWJi„¨l*ƒŠ{.¹”©ÑžV/€‘A ¦©À3âqH7s§8õÄ<^ïª-tñt ¹åc}>@}œÎ5¼øõŧCú©p¤0LgÉA.&µ+˜‹5V:¼JCbˆ+â~LìQÙ…Ù*á(Àzüú„ò ³Ý!gÿä0ìudÓŸ¶Æ+#©ÏЪ”_x™ÚLL‹´½Þ¯ü1->‰¡Jš)6 õ5ïfŽXà2ó‰#/‚\-¼ßääw¨Z.¦Øµfvwz»Ï,¾Üù£ ¿6fò…¾QÃØþåV²d$!-„°Ø"u† ”ÍÖ>1_‹û¢·å!`ßÖe´,ðóEu)‰RLb¿ú>uÆÆc>ƒXUM=JpaÛã­Üg" Ÿÿ|Œ™ŽÀR±D ÈAÁT’S›sûŒæðó`å9éýñÖùvùާ£X=a1âœ.úkœ¢P!SN…ô"Õö:Ì_>Ðj<’Q— Úã˜ù?j µ)]xõ Œôîll]ÿÈé<ŸøY')Js¶Î>áRwÔeLÀÕ,í‡éJL#•Á3´Lsò›‡\ÍkYù]åœ u“?¤dW(È€P‹gÃ}wµâûò˜vVOPŽÑ¾z×?3`yÆSäh„b€E¾ìÑ.!';iOÝXœ^Áï稈\¯V§é1¥ ^›Äõ„ÅÿÅobw_t€Ë¢<ZÎß'Ô÷Cž9ÅrTšåµK>{xì”þj˜¡SmŠ¥ˆW¨ò«"Bòœÿ¤¹ 7UfÓ¸g ¦X^lsdl¶¬Å·Ž¾ÏtBi½­êGæC÷¼:V†Á¢ò®uŒGJA¼¹™lª’ Ìîe–ú2Å <ÛH}$!Œ_üuf ²ÆÉ…2ÙˆÄ]N€õ\G]˜ÍÒ%êÔé§ñiÒ¯Ñ d€&ä³Jj›¥…¦h‹mÝI› '0¥šPÜÙ dtK…‰Ñ×þG[ÔR™Ó®‰VfçöBGº¦W­XßÄæ¯Bªç'!MÅ…§x:}­Z •1Ýü”M{5,¶$ÓZ×¹‚'þù)aQǹ³Ô±0\º5¢íbç8,¡6bd:N›ÑC‡=!½`a"TÙBÒk&ˆÇFÛÞ‡]âü¾ê†ŸçV—zUki˜fš]_ EÆ¡óIª ¡óQ¡2xÇY7ù¨6¬‰¡b¼_‹“zTTøÍ5ï$7wÝEÑçqt6ˆr»+T¯;¹ÆI°–¼—| i"œqȃÿu*Å&¨F|Á1èìÛêwZó‡77EGÂaXïímÂX@ÂÊTafÍnâ¼çÆ£'®Í‹–›;õ>‹Õ¥A:ã{x×ÔìzFzswŽôï ´Oœ¶ñgrÇNpÿ_~‚'Ìk¨ §ÿÛ+¶sL×j•Üy4À»‘ˆ7Nyð«Ço[3J¨v‚h‹Æ,„™¦â3¾{]òBn:‘WnÇÛâõç@†–EDÐ#E[çfá¶åo¬¤·íÁùŽ_¯ü8‡˜ ùëå:óØ1™ò\¶sxcÍ¡ì«óýŽ‘§¬µ*ˆLûGd/ä1½>l=öéÊì‡ô„ú°„Äéà5☖‘_™Ç4ÿ éö{3&{ƒY!QslÕï§>{`Ún«¸vk_Tà êU3„ª‹2 BлëdÒ?‡% A‚ä† gMRȉ!ªíõêÏša A§º/o©Qèú×ÅÄ“ýÅY½_pµ¯Í—ß[9òˆö–]ö¼¥+L Šti¦ý’–6Œ”oÆBê-.~á”!"ÓjuÆè _ᡞC^ò98a=·.–]5ê׬ =?áb€³Iƒ«|‹Ïø]¤9t±‹÷oÇÊ,}ÑtòQ ³Þ1=3Š lçfŦ*îÔ͵kƒ"¥xŽ©P$uH°«ËþŒ×ªŒB~/S·bí`£Ó!ËÑ/ûûmÕbSÖ˜i ПŠgð¨ÍÍÇë>­¹ôŒ‘;h9AþŽÛH"1ª*ÄçR?ÒïÙªêÒj#¢Õ¢bFòLš6ò^ ¢Ÿ@K—q%bEqˆ!@Pˆ€â6ÓxNÂ#’ò¬ ƒ!ϪmÜ:J§|ª†*üãÓ†ýáêà“?cBÝ”ê…õ÷:wF+¿; k&`è¬2ÇIèj•ˆãdey ÐdbAÜ£8‘d|ëÕjWÆÃ)øæ-£.Yéð®l:S\2Gýž›ë Y~!§ÊXë˜ñ SÐ=»ÇOÒŽðe²Š°-JåÍýc¯îehy6ÒÆ\ƒbŽƒ†3[» °bKÓ§}·1°€Å7ß¿qÌl¸£·¾â JøLMbd BðWýoÿEkd0«É¿ð+pýwš!Ào¼Kó¢¨(DŽŽ.1æ'Œ¾vÄï¿•y¡ÏêÑñóYöIJpÚ®_™Ø=õr•?—Sd;ÅujšCÚ[¼SB_Ê”9}¬üÐSGw×p‰šè\î¢&ˆW¸—N;Aát†ËyX׀ⶲ^üX^2ggýìØ«”±¼H#¡ +OÀ\h¿¾Ó8\ly¯šn‚ÃÌ:¦Ù ~ b)M¡ZS,ôcBN¾ Ôtôk8©:竚&,|Á¬]µmQñ_#Xõs^¥9áã‰ÓÕ¾­æ=ž¦*Ú6n'l>=N"1÷æ3ºnE~Ûß $®Rsd[piý[÷DôŸ ^ëº@ô{"tXÀ?Žýúæ1ñMò·'ß4bXÚ<¦¨/AÞ¾ñ>kÑ&Âþ6ÄA†å¨£fÒÃýo¶?X\\[éV樚ª( €m\ÅšZu$T^úg“·]À{Uù],hÍSͯ³È­ñœõƒ(T@8cx4?¢¸QŒ—ƒHD–u'?^ïöÜõöf 6Pþ§`Æýk /ÆØ_b´L ªò×´Æèÿ``rú{®¢f3[ц»Ë¬¥H0Â!Ëœkã×oÛã~ H2̉ê·Doy;²Å¾h? ðC:S©ßè1-Ñ@rMƒ\} •g±„·¹ƒЍo§WÅ9S7úTZã(¿ñ>|ð|Éñî]‰®ˆîÚ¹?5YU(M‰Á°ÓºÇX—!{B͸ýžPtûwÃîM$W‚Uð³Nå—Ê`@ÁÓ1úeÕFæ€*ð]ØàpÄV/Ml»åÊ‚¤Dƒ*ø "nKâ°È~|?¹²ë2ñO5,ñÛê(šÐ K+3aíFU‘¤8¥i§1¹¾ö=Bš¸EÀ,¡×¼üa68# H>¬ŸÕ6ñ99@,"¥bIœ‹Å€\dâ>A½ßnÈ´ñ¿`ƒìÒª*Wd fõ¯3AòŸÔ¹Hxìi+A?~+ü³ÏÊ‹üŠ©.ÀwSº.˜h¿”ã¹ÏR;àùr$.ŽOd³#7Œïís)œᜟ¿ÂÿÿÜ{{ÿÊP?—=?† /ÝÙÀøJM×Íå¿"a=Y¥ÓTOqz9Ý ^Ö\ãõ¼2/r³›®ç.XÊ\„š¿ô&%‡hjÞ»Îë8—_N}{¼ÈPÉ_ûþs€¿7ÒÂP Œøÿ5<‡„ýú`W›³½¬T±©dyå'Ÿ~/Á™‚Àp&¤ÿl,€·˜98QÐÂPaUC—¤^št°’¶M³¥?±–8z˜ŸøP£jæê*°—³?$š†fPú"¢;ÅJ¾,ÀT?›ZQ[KÏ\5䤟U½™»Ý0þ?<ÐÁº6zjTCÄHèuä ŸLŒ}Ükk§™œ×]l,±šT™OÖ K¬ªgã­NGµso¢–FýΊ¹5"òºÌ¸Sù»ZO>º­97÷'È„wU`€ï4y½0Ü9Œ¿z•0>Z€’¦Å,<Á;€qiá8¥ót3d"tfñÖNÊøB’Ùj°ù—ÄÓœdè™hoóg°£ÔI<ªwQãÅÔsBá|yDQÈç>=øúJ¨Ž×Úû¼TgOO ÿ›¾XLݶ8ãÁO« –Dm;iºÒöX"Vÿ¿™•°ÊóqÝáÜëx,*_)?Ÿ¼ä *ðài¬r(R« çã´ÒHm>zø°áqµ’^Ž9½Ôû£LLA~±øÌ•W¥×•3áOÁϘ꧞®ö­² ]M‰Û àDãà•‹þmhCš*Œ«ªwˆ=¨Üt}|6VšPŒ–f:QÛNTSs {aqA}w3'¿°³-CeeqæÜ@e˜–J m|Nž kCμq¼˜€|M…ã¶ÛÃ’åN×~ÊÅ“ßÔç;àL’µC&Ü^«Íó­ü瀒|V<ÊÌ6–1CLÇÅ×¥,H]˜6ûÇuÄ´§IÖŒV@ÃV)´rޱì¶Ú ; ¸Ÿÿ3÷`Üb×^§ öí ý±ÛØÌx—q€†°É|ì.’Ž÷f kã7Ôd#•¼Î#VÖP™L&§í'Œ'k$*%˜ïB/ÝY¸“ò“"·nå_`>Ûi2WGå+¾¼’—ã­âÝ<¬¸h]$¸Ñ‰;¦6/^î$hçºëÕqö¾ŸþÒLÅ<]…s:Iã½ü,¡V8“Ò¡œ26>=pMÅÔ¥€pÏæJúð&àÐmšUß«Ê`§Õƒë†ö*ãIª~íœÙ7"Ö‰ã’ß’ö˜¯øhã,ƒ¹ðñZ3Êhi Tÿi‹zT|~ûxœÇ‰Õü6Á¼‹[ ¸ï–rÝÀe˜58b¶Ž"4ȹ!£¼ÜÊ9»ý{F¼Kµu‚¤«ITÙÿGªlâM±®¢\¯–áÔüK$±¹ Ž‘»Æ~›Âç…ªé}Ø™ƒý€æ ªióÊ Md<²8 ^÷9 Ž¦È H‰ïOËhF…^wI*[ x~cì˜5/ËFµß;Kˆt=F¼xÈœÚúœ2¢…ÙTÃò–²²/j«#£ÂmÓþ¯6—䉻hq¯Qúæ2Ü»ö餅õ¿Uq䋵äÊ?jÑïÒ—@Î+×8É—FQ@E›Aa‹,ió¢+²#å©ï£­FO\ÖSo2KÚC“Ced¡!¬wƒÙ0«Y2È¥¡šÄÎ÷êœfÉ_ª÷KûÚ9:̪?íôBœåë˜ÌED%¤ƒÍÛç–Y2ä*ʬ÷(ªB8¶¨²€8Oìo(âÊ”¡‹ó]JMü‚¨¯þ¸ ú©*æWFsÆV°«dñ<—Þ’MÀ—Ïq%›¼€fæt[ ({O´‰}:[•²†¥Vv˜3Нèð<Ó%M‡pW޲ãaSh ^ªö/ue{ŸH4zü’¶”k¾énòZæÎ©SKY@ K-W0D‘2Ïᣥsû}˜(¿ F|€’Юhúí?ÚJ0hªøú†ìÍ\sr?$Š.iNÛ½çN f ˆo¯ìÁ$akµ“UÒ§^ª\GíÁ—“BÒ’Ñø·¢‘rg–4}X`ZµÁ–ç¬x‚Àöè¿ È®Ž6;ÅÙjû~áæNcJÛžeyR®‘ÜOŽ™D U ƒe:ˆYÆ[°Ž(1̳ƒO¾Ýtv´eËC^îXÀùá]—‹‘Æ5Dߤžs:U§/(‚†žRë  'õ‡tž7äûúè’oH[lhF9ªXL(±ÈŽ vü½mƒûÔë'N„z‚ ÛUënâ’¦žß€ñƒŒOó3láÌNµ¹Ò,"ªLV[€ÁÓÝaw·ýŠHr´"3üöÅò×oPƒX1ßb¨¤ÒP‡°° li„Æ·ÍœAl¨½êu±’LÍM¹ºªÅ7n¢”Tf‘Šdéû¸™–›¶f‹¡qÂáÏ!~¦¬Bí’êi¤tKg·zÿ$Ìç¡æiɹHŠ*cBÁì²Âbt{nX57…^Ö 7 9}ŒÒës‰]}:>~:Uéøæ¡n—‘ÑJó$°€ÞÙ±›ö ÎE4ˆûÈ­ð“ꫜ&8EO"Øj–p5¨ƒjîô >zŽ~•Íh¨ëšlIDOyóm»ÛØÒûilq?uº^`LñØ’—jÅú•à“ÂþA14aîĵhL‚e2*‘bZâu’Š.y:ÿ¢/Ê¿É/ñ'D"™±òžX°n’)çmÈô ÛɤzF»žÀ¿ö‚¡ùÕa(H6öÒýÝâØtÁõÑi…÷KœQpÅuâÖæ0DI´Ð‰s3 ñbÝÿß½qsêý%¤&ý†µf±8°ðÖ_ÍÜÒ"‡ûȬªC7»‡n0ÿ$ì  o)¢ïödÕ«_I¤–Øp¶²O–2³Ùö1‡ Šê„0Yž]-o̼¦…Ô-`ÿHh•y=QH×mŒ&—&QOVñ¿–‰9P†§|«-ಠCìüz F±ŽÙZ#ÿ#h¯è߇֩8b@k6ø¿V_UÌ{~¡5x€ÒÜÄ|WÇdE;fÞ¿ÿ7(Þ‘hÐ-çBuP¸a4à`­;zÉØ‰¤DÛ茸ožÞ¿Pr eýq"ÅõˆŠ^iÇžý†—ª õJÑ;V’‘/yãôîxÚ|µ/Ží®³ÖäÂt³ÐgJÒ;“œ8ÕÉUn£'Tü=î¡«!êÔ˜^¸Ë(lÿªÕx ½ÛA’PWðßê®[3X±ð_Ó] ˆè]O|F„6Ö™{í7oUp>Ÿ=žøœKIK²ê; £D p’DíEDë0zVo#,…Ûfþ`…ne–Ù `²Ã),tÝšb—)Ðü§ùÿe.Ö® DBÌœ’htf²B€¸¼:ÞCÃÍ)bà:<›Ö‹™lKfŒª¸½ …IUÇûÍ"MK·Ffo#@X2aÐE_Ñr‚ ‰„onF§zPB bF&ÂÐ8ÊÂM&žÅ"Í ¹v_Uýób²à34WÜnïHÌ¿³(Ùö0/—KŠv6žÓKœ^šl‚O+U¥q£L`N:g[ïÛ¹eÓËZ§^X-êO“Ù½Š}lÁ\ñê]àc4fÀ|šÖgÉž´e é. ¨ ÇwÚ…ô§Wûz n¡9Ä)]„•Hñ—¡ƒ84ý¼%ýçÂÅÕ'fÞž‚Æ/ЄBÓÀÁ¦n ËÏUw‘gÞN Ö|ѸéÌ R®–†t1ö—¸!¼mîSßäánY~Ö‰ø*Mzdy‘7þvq©1Ö/óq²?2–•tI¤eòp ¡‘0p.z”ûy콸çh[ @0 ªƒá¯¶[­Xº‚+5p6ÿ Z÷¦™­öýô´q¡GêüÉãfö§>Ô|ê‹zUšë¾8ÕªY;}ÞãW´Xfüº¶€K947í›(üòhq-tüÅtEŽ·lñŽa³ó¡¢ò["bùYVRñƒ•KOV¥œÛ­8þТ7ôᢠ}¿ôœXúØãX¨½T®Ô®ŒÛRA4µ™ûꓼ—–šp IÀ˜W$I–ªüÙêúbÄߢè7`aLÛh$/y♋bÒÊÓ]ë³óݺ—kð%o³‹%%èð$Y•k%„Ì’%ûý,êõfþT–xØ Ä,ƒˆ¦–H-íz}tú(Sfÿã®ö$ý.™×:ªD2m\ðp#Àਥ*ÜaæÀg‹ôp¿ñ!y’»ö¶ˆÖtï†P'ìÞ©`2° Eʧäz¼ýµýX?Q†ZRÄ´LõEÖãïu¹#t‹Ïöi2‘¬þ Ѝ¦P‰Ê³ËôÄRš&Ë{a>®×=šÁ’yZßÞâ4YJ ¶žâD-ÕH©Ò¶d Ù{eEðzIì8ü Ö}26ø£0øom òXD-bk•Ôîh–m2<Í·‘ÂÔoƒñ9tÕÿlwD8ú|1ÑMŽ2¥ávNn¿;hQ3a‹ŠNMŠéÿÍ—+i· éMüòÂ;c‹^y’¤Ìµ²9øÏÀÍ2}-0ïå™>1û¹( ^Œ°˜©§ ”cª3åÖ˜¡!ÝMsL;2ƒ+Š8ñv=#Q¨î1êÜ?Ù Fë7Ó°JØŸGÈxˆI |Cî(Á{ÍÉ[¥—Ùê¬'QÆ ;~ˆT¿xÀzúÕ’æK•°/˜òEi—F~½bTXõ½¨‡ÍLQ Âão÷2z ŸåäìRh—â˜A¢N+&dؽ˜ÀÁ±­qn\NζXÝñQÛÜmQ%M€N!âäæd¥†LL"ÑÙ«8*õñÛ“U €‰~¤š§°«È—êµ!d¥¸<ÐÇ÷4!»dñŸ¬'%’ªBïÚ=lÆ"½!¡2Â0z©Ì59Ðs›MQ /8Þ¬ÉÓ(ïkÒ«Œ[¯>ÍFc!GUv±­èýZ÷ÿÍVúO&Dþ¸ýŽ*sղɞZâ ­´ƒ1ÒÄ3w¾IV“&Ää[œ•)Ná<ó‡úröèWnÉ!ÅApbIמ³…×D¥¹äN¬¡ _'?öòXnÏ;U…<£:H½¢ázŸ3ÖÀ=žvJ£zgŽ㤦 åÃe.v­åx6ÀB*Ë›qNu]dBÝwŸ ¹Ël7PÝŠÛx ?b‚DŠK»ŒÃ©˜ƒtŽŽŽÆŒ€ªå™Íã³™Ö„;›<“AóŒ€Ç¹‡‡ºü|5Ïìáº\b£/?.‘˜CåD…÷³j·=ãdŸXà‘l)KŠŽõAmê„O5èe ¯­^vn®Þ›œ)š4!²fÌBŠD>‚A$Òw’ÑÔÞ Ïî f´o&…säËS#™Ý›ÿA_Ÿ‹©6ÚÔxtø;²¦íÕ0ä­EÜ;`ÈßMk9~­sÔ%Èw•‡)tÂׄØ×µ.˜<߆õæ<µÎÿË&ê:jëaï78Õ«ð¡ÊícˆÖÖjÛjì~¬Ü›€Nùº c,Î?Ž÷Fe¤KÍ2=Šã¶©„¥ÖCC{«%â8¼´ê#ëB;¦ñLÙï¯O˜CP|vz‹I64é¶Ò+<ŸmÕ„£ ÉŸeGÙO›úB܆7iÈ”d^2»Ùà.ÿd&b™ô¨úîáò(fÑQü]“«#=åÀÅ¡œ%p¤bQå>Ÿ‰•Q‹ñ.ôy}Ù¯~Ð7Ï]à¦z9¹ÔŒô‰|1úæ·ËÙÊáîˆç#Šp:Fl·Ôà¸ï 'J,;•®j?Fü’[t–Tx$]J̨CöEšCÔ2ø&n‚íüïàºÛ¤ÕçCqô «ülL_Œ§ÈE†Ñ ðñKãâš¿˜´jÓ}i7Ú~¼pŠªÝý¹:X}§ÑˆÅ nê>êË,ÝQÎkC{¤ìÄˠÇüÐjAHúű–ó$—çÉ)x¼xÅtnoåï÷yD²Î..ÇþÝdCExþýŒVÙ\LÐͨó/´6)Ï2îvÐù|(éøô^É Ϊ“Ë—â¼ô^;kb^V¨X9VòJ»IE¥¬5²6Z7µ‡ß«ê‘¨â€P처ÏCžy“e Õ9§»Ê4Ô9î‹c¨¯Òö/ªÔ†@¶ªWé!J®“kXµƒÜRѦ¹›Ù6®iŽã^H‹Ÿ,{ þ¼ß4¹e1€Ã“¨ðµYÁLZ:»bdŒ¾åõ€´³,ø.,ö7¤Jî-‰nô]€À Ósá#«ñDÀ³“¨@2OÇmx•é0¨öâétT@8AÍ÷f¹ÓcYͺRàh¾µ‚tÝ_ÊŠñûe*«è⇰ÖLæ5@WTa#yê eFc•jµ¦qööÜàd™‘ÒÐËŠ ¥È ‰µOM¶=ð¦„9¶¤]_›X‘nN¶UF€‡?V*Œ¼¢øx‹Üû ¾KeÚÓ…986Åà_iùhËr7U™ŒtÎSôË¡ÕëâïA©¤==Z²°½éõ÷æ÷ÄŽ2zÇtôÚ? ц9JaÊÄ‹þ$É}ÿîªö¿%iQ_d%MN»gT.Û¡†&xÊ/ªkœa0ŸÔ“\ß°4‰Ï.SÉkµS3þ’Š”š„l¦¸áÖ#øù§•ä LFŠ,|æ˜&:¡§¼vr¡Û¦´œÓÒêäôßí‘pdêN€Õz„Í·Á ñŠ$w;iAÕµ}\öyYŸ²µÚ‰!‹¹X¡9õ‰ï- ÓS˜?~ÁŠi“˜.Î:r<»6ö8Èäô‰mé¢vøñÊ2m’5¢QÆD8RI¢‰±ƒÎeñ©aÁ»1[«ò"•#_MVØŽt%œÛJ™H$»fXø-7©Å*/ [cÿDG­_gs°¨ß.•#躡=Á"†g$—©~`©¸ àvm72 •"LÑ_íÄP^ºÜ¼ýý œrw<'ƒ)ظ¸)& ÌØ{¶J£G³ZÂQ0¸²·ÃÇÓCbmDo+ë_@±LJÇ×Ê_Æ"ke~ËlЍ,3¹¬aJ1£%™ý,ê%–i‰Žß%>ÎÂâäÈVW«@,Á5Z'+pñ)è„¡êeikÍ…à#NºEWl÷¤³nFÐ:)¾^Ö¶_;/ýp…pGÌóÚ)Pç²³»¯saçV’¶•Ü®Ê51þ1;¸Uí[ Q1󿂿®?Js9¹µ«;ET8£MpÖ>Z…œ­ÓÀƒ}òN>ï ¬úøËÌÊ.Ó 77¤ot…}`ÜóÙ|û×fÜr<“œ¾Ø!nKw5(Ü”Fæ(>hzƒÒc)XL- +JÇh@×ݽ^´Aq=úŠTá°¼$&`¶ òrK0ÁíöÓçljx“§uøâä?Iõ_xåÛZ5ìÝ>#•qÖ’Ö ˆëä=¤”J¨ #öÙÚ÷pߟ (€üÌgX¾²ãŠíò‰ðNlŒÐ?7 *h»fRÜ/Q`Ø W²?ѩŬ£@ÞL<(Një?žÇã"ân`^ݼRoÞZ·ÀèÇÝÙ<Ãà(8i­ïP&ôzX3æžU­jýí-¦µÌ¨A†Z<}Ô Y/,;œé^ÂYóß¾¨kgaÅý5 †~áÛ­‰|XUÇ™µÍÔc›vE9âüâ[gýP©ºj·c·y@ik´}\ÆÊŒÖÀ¨hÕ¹~†¾ò‰ãÏ ;`³VXò.³TØñ%Ö ¤§ÌëùýrP¬]þ>ç{Ý {ƒ¨Ži«Øhì‚Ù7>ýçMtF)ï-ZO•ÔÙƒxÒ4 ¸'#ÓH‰Š=´vÃZý6Þ2ˆXÀ!%È_rc;ïÆ/Iv§øT²£ìÜFN‹nqÚËA6œOÞüï/³l߆@[‘¯Fê3mg-4'Vhê$lñĶ/y«à­HÌÂíà0ûzop!-ïÎöÂJ‰‰_ÅGz!‹w+CÏ)oqĸêŽá¹ 5#©NíåÀ#c9-V––Ýš3÷Ü}Ÿfø$Ÿ´¬J”)ñ /@H96SM:¨ú D2‹”9ñ4JD%Ö–…µè+-ŒÓ˜Ð­¿ã=Ü£§¦¿‹} ã–¼^Ç×w§ºHíeEæY$¬r+7ÜoØVÛç¶œn6‡³`m¦'r’ 'çÙYY8KµìC¦ýK«T³Y:·àƒ¨Aš8°¸aQ‰k°&•SŠ`ËJ¸½jc~[ÊïŠ>JÏVíïdÙYTâT+ŒJToÀ-óFÅ4ö½™Ÿ¾Õeëh¡ün©qoýǯ>¤acM×*-}ŠÃ1gúÿ4ò½ö;lôfÊK')(@ºŠºâïm6RÌ^BÏ'c¶ Dþ­,’Y¹¡o!_·áÿª1QÜÒw„6W”³ÒÃb2ÁrËߎ©ÏX}ØßI£±Î|ËñNä(Ê­Ø’±ØÍHÆG’n¨Ä¸Ó˜ìíÏ €9µõk«hÈTÕJc 6œ·–—Á(¡ÊÆÖ{Êä;ö4 ɤ¢®@b;ÊDä¸]·Ÿ æ7×ãÝìÞ½Á1ÑIï\åÑ]ƈr•ÂÆk…ëAжXPîSרlìdMŽB¬o¤nG9ä•®.ËëÒ(éó‹¦ÑÐ[2n7p’5G•öRÿo »±÷ª¬vXR³ò8ƒj’®>¥ˆK9Ws‘ôÁý ,0Mxî/3.–ßök÷ÕA5è`Q8€ $èHù¡Å«`žñ–hãGŸÊº«N]Åï+åzÊÐo)×òQ~sàímÔ½Rq&"¬Òšc½!üü–BD§‘ª}¸ßÁéIç†Õ8uûÿa({M& Cüç2—°õÈ%DKñ— ý…: £‹3‰¹R×Ñ’Ç äŒdüÕúˆäªòœß3|ì9WB\¥G®ÂÃÙÿ"B]@×%æ×ë]q"‰ê*‚,È KHK‚†±î°Sª ¬hïhxjO¸˜«ˆ¥­ÝE„³½éøÏÀ6§<¼kªz׎[*{±ùM§ü#*áØE´Š0‚’Ö©eŠ\òŸ… VºL,ï)°€˜wÇ“@5ȦzüH³…8«Ò~…NÍâ°+ 6s#”5îUu#Õ‡¦» ÒIj®®ÓÑŒ=±’(¹È%øÏqÈùZwñjm¤EꊩÊðÉÕèܵ…+êÜ,=¼%ˆ€?}÷Ñ—¹÷‰(¹Ô¯:E?u±ðÞð1 ;*ìÒÖ„åë3})‡Îà”§k›„i«†ZáÛ“µîÎïšëJíª >kåEj4¥PÄ©“_­È2àˆ[R¶´&G)DžÑ¹¯½EEu\ÑaúTÝ8\¼ú\dÃrãz¥©@~ßÍŠ¸·GAy¸\Åš¯CKГì¤@z%°¼í|~ôØÌ®½ ó\®{ð¿èëˆæ]¸€vM„f7n³ÍPˆluŸ61B%hpcï9ÉñîÜÌ}³\‰©‚ž÷ë>Oió‘¶{â%ó÷{ å%žÌ]IŽQlüŽo,{¥Ìõvˆ\†ƒ­§1¦È`÷EiåÅÔnµ­™þ€Èk6z1ݱì¢ìäðˆRï bPy^ «ˆ’“Îý@,…)ä[˜@¸)Aª{vÛâ@¡è¦,ïäþ‘¢ÉDiutA¨4L´^÷"ËÐ+ ôàÙ¥iáh°0>²sò{‡y?ÒŸÐ[´ò'(¾ü@y!€°«cWÏ3•fM^F¿ È€×i@”U¿ €é ›v|X^æ-s¨r}¿¸R–œ5ÄK•6Ýú¯›¤˜ÚÃî4ݸÒe¿]«OÆ<ø›Ç´ñL¼-B´­sTNgŸp#{“Ã65Mæux)œ³˜g‡ Ž i¹ë—OvŒº4%µÐ\,F¬tïØ¢`â¾nUùºÈ‚IV_*ä¨è§DØ‘ UOršê«1æ” ”žXŸD¡T,]gá] ­01ž #pÚ®“Q²©œÉ]‚¯Žù•©DU2èÁ…ßp´ÿ¯ä@é0µjèÒ¥6 ªæk|@o¦K–Íèÿ^œYLq"dà2ïTºÚ«­3§ ɪ2ñã37û¶­áF€ÈQ €ûl6u(Y7sQ¬“ÞÊ „ý™ôæ/6Ï œm­ˆfòá`evo7ä¾fqûîú RÅT-è%úxçñ\Mì(›…àYéÕ¤©w³ÔJ«aâ/“#|êê$ÐY2ÿ®“èË”Ï:Éžø­?]êÁRìsÄdK¼‰!kK¶¼­ e(µþË20¼ßp¾  ùé³ÀÎX2¹³¹ô;š,¸ß}sjpÇþ§¨ á4‡|<¢ÂŸHÍ; ^NÙv“V|œýIÐóa::WÐçàq™ôº°ƒÆ«p ÇUC)Å4;GʯƷcˆjh&c†mSdŒ»i±«x¤7P3ì `«dzÀ:9'éB‹ì³O“®o† ÛG2÷ ®ŠN$7<“Ô4æP<&æós€îž?ãš'›À‹Ö“¢‘:e/™ëóqjÝã››VÓ¬FºõºÊQØg¸›0Éj©vŽÞ†+¢¦Ç|{=šÀFã×ÏzA\ƒ¬ÐoÃNõü "¥DÕqŒ58Úç¡,²ÂC Ò•l¿êfGM T+]ŒÈS[ζŒãv•ù¡¹Ó÷}Ñ!«>º~ežq¤`6C;ð}ûÒ¤˜š¿ k%©€x8hQy[xÉwµ êÖÀ#Xi?œØªþ×q¸?bDÖ…RC1À¢Þö}Þ=îwm#( FÜfUf¤Ì ó/´oz†5¥Kß–ùÓù>w¡F§HF4fÛ¹aÓTóðý9†ÅÜ5 Ö%a’ˆïr¯Ö=OÇ ??/ìU뚃b!xRWòü¸ÞÚ•²Y9&¼a {êÈÊÌ™Œ;)óQÖ‡6rê€6@sŽ)…p×Wö†‰/U«zÓA¯<tíû\\ Q<ä0.šVÿ J{ðþ ܷƺ%Ü/n0Ô2jøfãQó;xL€–Ï’ÛÿjyS⋪D¹[]F †ÍšŸü~«-èŒþjaÏó³~NMQ=@†ð……uþû׫éåxb›ºÉ †ÜBË,]Ja´ãÈa*û7#Ô?"g0áÅ ZC’ð¸±NÍ€~ “?œíFvn|ùüÕ=™/“½ž0h#ýÞ·©yá¤Ö2Eþ\Ìšy2Wñx£©2±ò³Ä›*­“8¾ú*¹“ótëˆÁ“­7Û >ÂÏYrK^Ú@ÆuVÃa2 #ÑÕ_VÆÊUÂ#{içR“KŽs]ŠÓåè4G½ èbö'Æ ‹žQ`x©ò‚´îÝÚ6Ð9EþÆï ü Ì£ש œ¨l¬=;8ÞŠºº ý_Ðçɽ9,Ƀ;Þ¶šzö+¢Ævøés†Á“ùÞ 4¸•³PvÎòt£p÷Ï -é',y–‘“-j…w_¥ô”I£åZ°7l˜¿ÊkäeO;ßœ‰mÍæ2/ö|D‹›kW¯Öbîy¼&ÂÔ]¨ÖêEÛ° fü_7Ä^·+èr4ô'ÒtI3B2ãå•/§×nŒå­Ì²ÆšMí®Šd%ûI …X¥ áßò‘öÝNÁ}Õ¢Øþ¬¨ì$zò&¯4v©JÕ–Úˆ+&]PXW ½_Þ™¡(©4AÔ.óP«Kÿd‰¼+Ç`ëÊ·š·úuæÈ±š¯Ì…8ƒåü¶‡¢92™%ô¾—ªÊ³'8õ /þ2U1¼¥Ån0êÏŽÓc(ï§’èZOTà¢dÛ£ýÆZX”~–¨`c2±ûŠ5Ô‘²Ú7žeTp™²b9 ¬4œÖØÜƧRqq2s`ð `ˆf°ð,ËÒ y´ÏÃ…)Òl;ÉËô*ÔéÓXñ¤†D èñÄnÒ8#›!hሚfaG9oáFgïÑÕ^IÒo Ÿ1nïàµ-ÛÂú"zlùô'}—uŒÅr ILcuߥö3¬îvÔ†áîÐZa™Cm³”PYînÌ„½?S+¢âù†«¥áü¥¡ìÖÀž‹ Ô2²“õ Õ3>ïèû°, •? –;¤Oa¾:H:¿7W1 ¨5è£>öΗP޹60ÛÃlû@Þ…èkCˆIdØÍßѲ‚ˆKÓ \¢éI¶¬irÓ•—v«[¹9—H÷}%O ]&®kÎ$¤È}í<¹;hµ6¯ö`¯Vhp$¡Ï& ¹ðnJ1UªI€&2¬Íw»JT“¨óþô‘€ÒrI’.2oÕ;b:ІŸ,ñö:k,ùP Äg™ªs¬\Ì}Mš…²ðacõR Øg N°2Ž![/œþo%? ýûÐÎøª¬uœoJÉüVY|€¤·eÒDy2È£„@å¸ùfAsV\îkžÌpÇ—™A¡¢·eµU¡÷<ΊüªÑ ÷T{¾m§NCíg1ÆgÁfø-ª’3ÅçÊ…÷ìv†¿D“¤¡uÌ^O’<ͨ<+ÄÙ*Y À·h2j9í1Ër kV"QΘístЧe@z–+hló9~mÈr˜uêg—*x!Jø} \×ðP¸á  m4y(½Ék;UY|•}ý3Æ³Øø¬ìwÖ_«ëÒžDw­xÇ)Òœ ó¦òdεX’.,ý”Ü[—,œ#"œÿ»ŠÂwu(^_‹¿ÇΜ,mB¸ ©)müš¿mo[ô®›1÷(W¢cA\ª˜*M6<Ýn@¶¶EˆŽ¾ª4‰­;À›¾ï캮ôÌÚÏá¦D,ZÎó³¤úæ’^F¤‹”~7ˆr¼C¬½Ñ6µÏϸ¢š2Nô2¡§ N|Rë5¾IõÎeâS‘Úc&Õè¡B;›¥SCž¶…U¥¼ƒÇ(áDÊȼ‘»[dE«¶wš8X”÷–MT`W/½!ÙéòÊPt¬8†ì?¦>ªR:±!åèk_UÐ^ÝZ\ý˜iî<û,µŸ\’=’Ú®ÑêÑ”p´#Jý‘åÁñ‡îšöA÷díÑMQåcd§¢öe-Ô¤· ÈØœZòÍl!Ñ•ÏlQó Áü”ÐŒÃzvÕg™žã¥®¹BnDb˜D„Ì1W´ÖQC;zÿüº(¿AoÉÉ3»qzNpéå³…©¦^“~_iQè «Œ!†I‹ù½/hÜÚ„LÔÜ:aà3‰¼Ô£ÝŸ^ûÔ>žË›Loogl8I¿9%4USŒ‰´&€ò^‚‡ÈƒˆõËŽ‰Uææ÷EœÖê±J±/9ãÓòa š©»¿¾" Æâ'•#¥ÇG€¹:ìÀF”ÄT±#mˆáŸ>*JG)-CØŸä@õÛàô)Ÿ°Ùö·A_Ñ¢tOeꉓÏÔš8å<¹?,„ÀØOjž?2%ñó²DÓÍ,.IVóÇ|.ûð@BãY>?‚ÑAÑSYÒË^€´ÿŽhQ£lÆ•ñ ã_µ)›îzÔ•µ>y5ÄìkŸûX)S¦v[ú{uN g¾îšcà¿úaÖÕŠö´D€20¯±m‘©”ø½ðõkû7oWX]TjvðCF£È© —=åë+.÷MÓ¤OÈ[d6µ…£ø©oõ¾„ý™Áƒ°lŽ}=ýi7ì}ÒÅ}ô—êËçë™6’™~ûBƒY0Û¢pMÿl=Iب”‚¼-´ÍË3ôÁ¨JáÖ»·)ÔÑ ³à)F c±?s¹üUÔ¨i_á/*é—(¿Dl<ÁáM¯ò§ÌÌ[&"Õö»xÖv,æW@º¨nyyÌý¸´¬ÖÍægnZL`¼~Ðy@ÊåÓ} Ѹ–’|¿Zë2÷«öwwÙ¯‰áö*?½zãK>«½ó!™×ÅbbAtTJìH“6C`|H•KoiÌ›ïhÍÏwrÛ¥Nj.¸©vÀ» ÿ….´§\q¯:°l½DP½dEYZ¹»±Þ#‚CQ‹‡/QiË£¡×DzôÍÏèS>j*G¹íÝÖ˜·ã¸Ù]3dö¼î !>AÖ|ÑöóᮦWŨ÷$ɹèJ‰•Šj¥}{nAywJ0½ºV>¬-‘ÂÛÔy¾|Ô?¡ òlkdm$2o©w…ž:†qDÑ39ø[Tž}ÃôåkQ®#Qä´¢ †ÚíÿW-NV(K®ž4¾¨6m†4·ª·¶{_~ôX&Î ‹°vìÈ?«nÃäoîúëQãÜLÉÿqßgº¸[äø‡ñÙ›h¥ŽÝ1 hˆä¨ê#;ü¢ª†’—å‡Lü~¯R4ëÄ©ŽÍ2746e*Wºõ²í6gäØÏ/–ÜÄ£ —\“OyßO°F Q<<%&Ã)þÍX–û-w,µ&üŒÌHý¥êN*Ô›ƒUÉL÷çT<£ '$4ª`Z ôxáÌv†‡»{ƒ÷ênFÙÀwBn—¾¤Äfdký³œiŠ˜CNšŠn%$ <ä³޾†zêú»Ü —,ût%Iã'K­’cáë}[¨¶üJiÿç÷ùV——Ï»$ï©ß'>%†O„ºKÕõ!ViH9‰Åô.’¹÷ðØì˜LýË"§jæ¡_ À7îå[+¬øŽ‹d»£cYùCô6ÙFûõ`IEe]ú…9ËŠ#F~.ãd%.ÙØÁä…·RùH’Á.ÒqØèW]­}©ŸUŽsxƒá;h`$·c2ÀJÔr»y©Ûø,Ûw\_ÜSÖ~±8–æ©éVõ6ÑËš‰ÃròqÖ{Ý9 GúÀ ›Â’Ñ&´T>r!º&ëCÍUŠŠ´Ý[_%‘àá[ÖI-õ2½”Aâ—»%„>@Q¼Îp_m‘<‚°Øa^-BVS5¨hMrfºÑÃÜäÂÇ¢ ’«S›êI ˆo›;«Ø_ùií^AÍ5‹¸~°¾5IËa3Ïã Ô2qmqnÿjú2lDß8%¿D•JwΫ/.fáÛGHJ˰¡õˆZ©¦…£h¨×Ä•øŠÝY‡`ôûKL£Eþe`!s}q*•×xj­ý|Z—¹¸ZB‚¯âèî~¡Úq=RLãŸ|3N07Þ¥Q>IìàÌß@`˜§ŽîøxÙ²’wµÚ´šiÂû”mÑ”³Ï¢4SG7zpö ÅËç%áÞ ²á¯ÙÑk£»Æ6åGiŒ~çÞõ¡Ù/ßM¸*õå‹ J k<ˆ°Ií™+X¥[íQ¥#R(Ú>pß¼D†. ™<j4õ` “•EE™(¿ƒÛuhmš+´È,$çy± oíÕó·¨+b®jÇ)Õ´ä‡cêáQÄ+ßN 8\Ëug\?röýÞa­½g¥MQV¼/Z7á<³”•PL }àRÅé#MP.ÙZíôÖEëþ‚ŒuP¡´T»}þ î÷z”Z+ÖíG3–ˆ]¦Ð¥lz­LaîR(IÏh0èÿ·ŒŒ:*Ù9‹…–ÚÚŸêÄF5~BY5·Ç9+ª»hûU £«7ÈpþYsµ^u!£ç‰K—éuPm{´tÿ¯Xn‚ཷÂ<ÙÔc019ʶeŽ“‹Ž {!Ãý “µÇVʦ³EÌlBVîÊŒ“‘ ²pâÿt2i€äéâ©CFÒæ{ç'!Wû”ÉÿЋ^,JFIð¼mDÇ¿Æèæ,ÃØ”(úþU÷ùƒ6Ž·gì6qàåQw² ¥ µW6X7Ó X4ÌöÏ[aÆEP¸–ÃåK±º›qŠø¥;¼Fæáå4¢cÇPJ˜hDgÛ†jM$£&Õx7¥èØ)o^¯Ë2…8ÒÉYÓãKˆ OWcPm¥+#ÈÇÔeÄbc^iT ÇÉÏR<“<¢íKɉ%Ý„É:ŽYìôá°ð,…ê†ô¯§åô¥©ÜÏs ]À©%Ÿâ‹“½£ƒN—rˆ>¯ý…Ÿ•"Ðß}€vœÃ“\Éÿëè2¡QGè±[‡*öf,v¡ÓÙ0‘ž_¼èMR+oükjÑ‚ò€»°òʪ*ü4å}Íæ!†xBw‰oºâά„Ø}³ërÈ…ƒ%›n².\@L –¶È˜"èsd…ÇÉklÃaÔƒb&îF®ë¸fðG‘ f¸$M@(µcØë øØß¤9Õ*ÕwÑ?ú±f@ªÛì²zÉVÑL«×+÷ƒ5ú«¶0—ö÷Á©w@aM’¤j‘º¬w%ÉTð:Ã*ÄÛAk8š ï¿£'ÔCNq> ûÝïUOкO¨¨åm‰«µKè9ˆoX÷<_¥d‹´?RtS§ìâZKÀü'¿£ÌèÊp0ü]u"¶‡?|¦l\pBH¸\j—a÷´ÍéG.)cêãQÒI'ú½?ÖT‘Œ† €n©EƒŸâ' ¯BSµî¦ /*,Ê–1Ÿ³ã¹¼e˜2‰l<—Z5„pÑ×1ýôS8éó‰âItƒù^–†¾ÜÔ¾q4KQ±ä’øÛ±.r€L¨Ó'˜@|¶d¤Áµ¡l*U+™sË(q®œ«Fsº3â÷xNä Ѳä“Ãqdt )â_T®A°cæ ð‡ÿOéCÊ žV¬÷ÆOJ¾ÍwH’wÍü¦ð&Rs¨Û}cK³³ˆnÕ»Çq}Ò£v§m`)Ч£¨#X øHOf† DaÂþî}zžÐ÷g~ûº[!ý³×l­£äo[¼‚>‚¢[h²±]¯O°ƒ¹?6ònJííG–ù)Id8èô!Kw>&ù°/!]Hø—9ÏiÄjý«D4 ²T¯hÆ) ”ÏÔJªñD+â?’Ò6*n°r PëÚeç‚kú¹±vÄEˆŒÁLŠžO¥r ÇϺØ\ù]]“¼ºÜC=G"‡ì×t¾ƒÞ[´¤žªlÓ{áÎèJäÇKÒùÜK½Tlý“ÀƵtS ¿úίØÃlÛÉ|i9·¹}9‰ÀLIõصfœ¡¯5±D~âŠ%˜g,àœSY €³ knœ"¹ïûå’3ǾÇ} MÍfñ+'÷b Æ[n‹±žòð*}º÷ÌY¡ ätü5À«°—£Q}hiº·ÇûFR©äø·FUªqô¸¯q ;‰S3•¬ciîD…cÇ;™ÒÀDÇ׎ÖM]õ›˜¨ŒåR§vs|e4ˆFs0²’áC}´§èã#z1£|Iá¥Qç /‰ê }'׆„çåɯq Ù)>˜ûÕ³Üt(ü ·ùPÑ7D§¥új/*J 4݃½N¢ïºËgóV¼Ø©q¤$¥­ÏÞãþd0 ^ÊŽš™o²GE™SÂÊ OL÷+aõ œÍ Ïßÿî ×eÅø~ŒÔl…n{„zLX7îU·¬Oïü‚ÎgµY{ê†zoˆ¦ƒ}û‚£¸~™ßD—§Ç=u®¹ƒEÌ5×õÚÂZˆ¸ ™N OʳÔìQÕ^tר“ߨ´q™zÚûŒ Èì|®Üá|Þöˆ»é3$)S|Vô:Ugjd‚tû€Æsj2ÒõëÀks4š™N¡Þ¢ß5W)K'Dw+ wtxÐ2ñÜ"¦4¯U$ž~r*—·`‘t(„Ѭ©.gyg^¤Xì,½eIynÔg"qw›yÛ"§€2$¡h¯ ­>ŸÊéíî)­ý'Èê»1gäBd_pA“ª’­¡¡0Ï:4$µ½Œfé86Áò[ »“¥šŽw°÷:˜%©)$L„². ¸øtü–2k“ +r> qx5úÑgmõ­üÕ×õ:俥¼3Ü(©6Œ û4Ç­‹ÚÃáqw¶' UÌñU‚. éÉZQÏBö¿ÝR Ì ~„_hÆÒ dÙ,=Sv%“­¶(úŒïõßUÅ0FÞ6Ö?wî— ïLèE²ÓÙ€é†/}Œ£²¿ŒõKx'’)ûb¸ß¶x0öJ»ï÷d!¦õ v®ž¥R•¢o9¤t,5¦ŒÓí‘m#(çø3Ù²Xu€ ªèֽБîÉÉ>·ok±«ÅïQ<ÊÅm+g‰¹/$cÍ^™âez!Ñ•`ÿÖe"˜kÔ…žÎ Àg›¸yFŸð2]Æ«zïc“Û¥Ô‚‘£êÄÔeÖf“•UK2ßé½&§>êõ|ý¡ðà~è.Ň,ŒÈ`Ñ+î3Äÿ èÆGöŒù$%Û1'TÍuCª¬º˜“‚°ñ ÞY2¥=ÿŽº9Äf¦ªÚ¯£ƒí-hiºâ\…**ëß»/¶£<ŠŸÛ& ¦í%Ưôø¢V~þÂP€7ŽàÌȱ֙u?UÍïCtÕ1ÂÒ•Úý¨–¤ªI±‘UÎÜ‚÷'Ѽi”rÐE óM¼aô$΋¦ûvµ2 “ªoðÌ45ëßG-ÂüCÓ‚tÌKÐÅ€ÏaD±J•×Ó:AG\MpÄzGa*˲4G–¦­G-_2Ö´*,—Ž!4“Í&Ÿ*Š+#Ïz®êrÀÛYµúÊj[+"æezx³Âg‹ÒBzçÖ§â"­i!mèà£~½c?°•ŸÿGã¹ùl4và@'×Ñ:S|íd Ä=£Æ"E”^÷OT§ 'åÆG µÄîƒÿMPRäo±Ž¨QÊ¢”IR~“8Ó ­}±ó,ug¸Å3jZ9zÜ,+¡ÃûâWh¼<(Ù@IYU}4Ñý¡,Á|õR¥\°>ìr¿C]mΦC} ¡ ÑËêR ?M_ÚTºðhÞ4÷\^°+#ß ÑèpÞr‡ßp6=I-wÆ:ñ| Õ©€×¿Ûæ¥[ÏûTð÷w Ÿ‰ã‚§sQ¶nü¿£8£àXW­|û%²-´=V¯il6~C1€ûÓ¢·e‘ÜÒÅlrËl¸¡·Ðv¯~øM´R’‘y1ùå^ª*‘*Åb¹¾î™DË ×ª%xèxÉ÷ YN¦c—A\mœÔ6(ô+}ƒL‘”-Ÿ¸Ü¯ ½{}¬þ®ý@ï¢À×(|¿€kŽf hºäÞ$“³óŒy`×0´©zdâ?#ânŰ÷S¿oÌ݈ó:Y÷¼a.©6à ë®n+ ¾.Žœ/*ù:ÿ¤ªÙÁÑç¹ÈÌi‰ÓJ+¸Mgêâ Y±óWÈõáó¦0só?ãÓ=jÏû>PdÁS’†X¹p–auáüuF3RÁØ›¥Ï¦}3xûKÎi´Æ|Ÿà–7Ü⸞–à[2FÔñ¿7sÌó›¶Jã{¢$ùµ»8{“´Ð”GêḉáÒŽì´©`±}ŒØ÷S+‘B¢Þç¢ÉÒ-6&u¬„ù;TY%'Ql,Þ@ùk Òu/ßïÄú ]èÌ,ê0§Ü)ßšè¬Ã cƒ,vý9ÔS‡á+k¨½= ? ƒ½+°:Ûñ^GœÃÔ«ƒþ­ÏàGm,‘oSc&n¦/m\¬Äsj)¡'‘ÉÓ$Oñô£|¯¤5SOgñU“p ÂlÐR]Q úì#â1mhÔu¬PR_ÅŒšËÝÏBÕyO ÔÄÐ æñø€ßƒÓ‘Úb¹G¤2Õ°×;§Oxµ"±¿ÞêÁ¾ã(’HÅŒã'å^žânÃFèuQ¼ê:<ý˜(¢g !¥³'´gÏó ?Ay’LqD‚ëû@•!sF x 3–GÝáC×ul=¹ pY¤(ìù¨×© $ ý[”GÂUˆuŸUÐMÆ%}”bÄ”XZmêÄØ§LBÛ¡¶ Ð.ìB¨w-üžKòaXvÿ Òz§Ø!Hü¡ú—öÌÞú«(€ =Râ'¬„EšÃ}ü_`^íð„1Uáˆ'‚]m8¢ý’ õBõiS(Æ´é¡23Ñx&È$CJã¡ðË¥@Êoð^d¥#òF8©·%SK¼€IáÆ¹µæà×,SËÆ V8q2Fާ?½<Éjf—ÐDâ{¦xÊ„Þèœð1¹FŸSôgã:ïDZo$§Ì4?F÷†#]L¹!uõŽ~­¶%k·ößNÝšü¨°ý„IuA°¯~6Ÿ¥¦iKLöðHV‚ª¸¢yASnDgEü«—\G @ùÎRÃöŸ|O^)ÉÔ~œËn½ðA« %: Yu„V£ÏÛá´%‡ =4FæwOŒ¨©qa jõèõ­ÿd&Ö1Iç¤:™¦a¼Ìõ ¦jIy9ä}õ+íww¥¢Ä†¨j1Üa¿t¨Çšj¬À«#Z:A÷/¿‚¤9ªåÛ»|8T» ¢r{‘µ² nž»ÍyÖWŒ+mî©ÅyÚ¤Ò‹á}0DZ<¶©w)㎨ G>‘rŽ|ß¾8 ñû¯f}þÄn<Õìã2bb6Ë®äpº²¯Žkz®†ÌCpÃµŽša¯_n®#›,—ÌÐ3ÈÂÓ#£ ýîù> ‘àå/")PŽˆ¤iŠŒ‹€uiã|/`òFl®4w×(Ŧ’©Xx‹WC3ZR,g2†gŸšrÒzBßýnðÉeRò^&?öþX&SÐÎô(:ƒ\ªKFd)=f_{UCâñ¼|#øÍÂÞô£zt¢ö·ö±)ý áªÅÐÆCG±Ÿ(èê»øÍw„èÙ¿Clk„Y{©÷)>¤¯› Án½C yÙ¾­Â&ÀÇÙ*G2.XùËÁl}UªÄë>Ex+Òn)NÚ †¤@Qè;šxò"ߟ[Ô“A[ÆÝß[ÐÁTqp€¡Öþº="%ßþ)gTq}Nû/]×™Úcua.9Ä&㔼—Žtó_Íœ:}{"ÿ@Ö[&ò ÿxËÐc!3ò¸‰füFmcXå@²¦ˆÇrg4¬ÖòÑË7s+Àï=è@Ùï3cš\¤' ¢dˆÂ±rS—M_ï4,wOž™™‚tÐÌP3;\6õ¶Ÿ÷« íñé¤2D;0Ü2Ó`Ͷ‹ë”bVMÄÛDe´ØJfJM¨gö´‰Œ¦Õv<žu_˜@âÆ;['ÿ€ø?ü ú?ì.Þt ë¡òùf{€,vü§4鮄ÌÁ¦žÒ;† ÓíDsÒyDe â”ܨƶx%`o°Bv»~›“`Ö4‹µå¾É2Ž'AÉÝñ=ÑM”œ“÷ `ÿ¦Öçy¤tº¡1À"ˆÔnìÏÇ3&2gö³å¹â¸Ò>¦üSæÙPâGŸÀ~î§æÏ†z ÉÖ#µI¤´§š¼Fö¸ˆ…Sÿ ÷|Pi(!ï:¸RqåÒó=Jüª=‡ty?ŸQ‚Œ)ã G´›?ŸéŒvʵ𾠃/ V™­IgŸ½: áŠòûKXËÁ0_uë ¦O›>~…=@Ñã⪆7ügíã} ”Ïç>—F—yü.ѱ³ i{Qþ—eJ1=Û]kè= á6Z™#rÊX‘ï‘SP³`LXj”h"¾ oƒÙ=£äÚ2K\i.†z6h:·©û@ðNKO‚8YmrŠÂ¢—p"sƒ²™4õs\â ®ÙÓbgbn}aZI­*%ý´ÑOŸôåà&ä&%•éN÷b7˜³†ìáocÞ­ŽNŒì»Bw±yÎéi猔¹qÝ’Áá[E1›eY›‡w»-Û#jFf+¥”¢‡@OQd~¨¿çKùˆ-ip縜ãöŒUc²šOe ·‰h‹<»½ÿ ~Œ+Ѧl3ü^äg¯r­R|36¯Œ•ݾ؄ VŠÀÎ?¤S¶&á‹Ä[r–¿™ÚâpJ,^ìàZê—-ÉåGå‘òM›Ûݲ-”]Ô—!+‘ÈrV[XzþÒk»(ã8 ~|‰c¬|:Ô”ð`áÀ‡uœÌ>ƒ‰ßOѧVFIšõôþ;SëG|G 'p,{äŸ÷…Þ‹¶çÓ&#¯q1T§¼¯­ó·å(3uNuË!™ Š‘ää)˜&jhS×K³X;•³ð¨ê&?¥‰¶„|‹`¶Øgy]©¸µš}Ç}ì@ïipØ÷ÀC ê\àÂRÁ™cE»ÖJ&Ðféž¾ôƒLÀUNàQaÖ*d–‹ûÕØö2¯«GÞòÊv èä¥kòË­ÏÚžÖEaf8ဨ—¡±·‘H/d‹ü ì²&€É“GC·ŠÕjOéµ_¤tå±LF¶–f²¤E—´«HñŽÍ [Udê›C…‘x«± ±¹ïûÌœ–­Ï=8K åĽÒo6‰ØuçmÊÎŲ#No2²ëc9áKG"‚ðd!@/ä)bì °¹gåà^1ØšoóBwÛ>xmüÄ¡·9Éb"÷7âƒX†Å!JBvP½²& {.WSBþ…Wn–^ÑlK¤´Ü9Ôi/Tð0&ny›§‘vè¤Qå«Â³Zá3·ÔbVƒq?ä€ l\Iðè£ÏaæÚg»è’Ù²¡Jg·…—û¤“â±í?ah‰yüªoy+&[ÄÓí4»M: ît&ˆü:Iþri)Ëm¡(-”C¸,»Î¨[S‰­f‹5´ëOMªëVk+ôèÜ[ž‘M}HTZEZJ¶FºµOº×T°Êë™å%ÕœÆTÎi»ÏëO±°Á WF·}{z£êÞaŸ"NO 3Dé†V¹\ Gõj”­u†»~Ìç•»+ä1_ú{~Ë/zY íü È¬eFˆv‰-±²¸das][™†5*é"•ëÁ0ÝF/©(Ðæ¨Ûm­ø¢¸Û@m7ù{æ†äÙÙìƒúâ59 &›5¸ „ê£ vG[£–&'ÊÌÔ “ÇÝb¯¿%¿‡ýSç4ä1;’R¨þ´ÐóãHüo|ð±ÒuŽ©F‘€?Íl‡@F4ò Â-üx¸ÜÔdvêᇹç,ë]õ²;:Œ´¾n3'§?²£Â®TÊ[Ù€ůΉÌç|B º!”hµ¢“‚yNÍükxjHU¬‡Æ† šäd’ïDálµ1t:8ê áHìÞ>[ynofÞè{Æô%Œ`ô çq9Œ{€£b¼§[&:èÜ _œžs‹_Tå*v!>/ š6a* ×ËŠ\ëˆëLÑ#mªDR Ñž¦U°•Æð#î ”gÆÈXÛá:¾æ~,$ÂH[Ú!!M¸ ØOl]c½MЖt'7“tݹ$}”Ù†@Û’p™ 4oxضå‰ÚO.xµ?櫤sR\Ùê¢/$ȹhq^Á3þõžCP’ÃÌö300‡ãƒÚtû¢”P*ïÒµ²X@>‡rÆïÜ«°}-SK\\ PÉÿh׿û3Î}¨.zTßý[½ \®ýiãÇ%Óå[u BÕM,±/|Hnô7ÓùÚ±ürÜ |a‹$Z VàÆô ê-–a€O­ÇËv5%û”jsiOŸ3Ž©ë НճC)3gL;ÉvÅ•ËF¹_mxù(hcCᢱ~ßD‡EÑ "ßI޾…4=;©:jñûÞðcHZå²ÑUÖĺM¥ç¡x–—ÃÕã©°p·þ7P›¯ÜŸ6=6Óspýw‡©‰;žøÒ0û•`¸ò×ðíeÉ&ý4"U'uðÔý8©ZñIè=æ79òË,Õ£jÇ•|Fg þÍ’çŸïâ&‡úJºõÅO ïDA$Á‘né¹o6±âíä ´'£H¶–H稕U×/P+äžÒǼæk½A.8!¦¹c§`pÑÀ*¦àvŽ'­”ÑTl)êÞÖYžf®ÏÝ„‡ð›ô?* È Fz¥Ø¡ßæ¥0ùvM=Ó‹ Bç×z(ïÖ¯Ž,A©í¬U0™ñ^ê7åyºhn_ÅÔAMñ0½l¸  ±×†ŽXD”ñfu+®ì’ë§€ç7ŸP«ô~êPsu‹r3$V^²\k}­”´L„·1 «ù¼9ÒÄúF‡Sÿ¾Xf’‡¨…viˆÕXj¨iÓ &Ü‚n®ÇÜᬪÐÝe :kn˜ÍÿÞŽS6~k¼}U—¶-T„ØL„}e| Es³ü5x Ó sòŽÛÖœ·©MÈŸŸÄga/ë æõ•—cy^Y–¯5ïbW©®¨»ˆô½t^M͹‘µ »Û{É,õ™8<‰éš•ÝÂ.ÎS!×´FËsÇqG¼1ûĨëðûìò—/„_"ü.E»¶—ï_§‘ ~2ŠA@Xä8ˆv&àÆÓÐ5ǵ^×ÔŽýÛþþÝ´ïn¿P¯Ã7ôW¼˜õ¥bŒ¨üX"löUD%ï¨SÞ>ÉŸÈ1e´pšhlú5Äg5š T±}8“M ²CÕü=§pw¼Í Ö í—ši šŽ®g™x× ‹¼äzyç2žWxâHÛRè}ú8f×r`ýô3eä’jÐu>2e–‘F8Šó™IK?Sfg¹7u‚›ºšøùn½:aV¡I¼ñ˜ 3*0Y|áîbæã´øùúÑ^$ Ä0XL>á€iGgà¾+#•îÂ1¸ˆŸf]雉$ÆHàî„—¦¬E<êO¤Ì@ßæ_4TØujÅŒR¶íçÂ4¾àÕÒç}…?ê­á+Ðö~¬ˆPÎâPÇ÷ãw!¤€ý}…‘ç7]¥¯$ðKÿ¹-ÍwF©û¢ÎÎ…òžõXºÚ"ñ³>ì2}ß²à9»^©C3Ú5ûf ‹ˆY±)ôçv*º'”°©‰ú¨§†ÁùEÇnu}gßE¶MÝ̸WŠ‹Kް}D[ˆ r«µg"-šUhû›÷k<0Ó’SÅyøGžåNœñ@­x¼hsŠûζc†LleÛ äúía°Å;-jûÏYxîf+ÚjG$p;ÖíhȪ¼°@ªò5ÕÝö<£ÔÃHd²qÒtóíºO¢F5÷=l?çÔDèIþ6ÚÔ0t ¾¢> »d‰¹,î[×°¹Ù¤âEíð3“g+{&ÒØèÁùvrÆÝÛ`ªLZóÁõnäÁ-v‘ÅkOÂÇ"KŸåÈ13[:h#þ¬RZhÌ!ÀçlÉç…6@\–<ñ³QžD›ÚUÁçŒÌ¥Ç_Äs¼ïöl)0pAœ\#õóànÁ[ž€×³û”Š¡åX°³ÓñB6¤ ^&˜SM I5eº\Ä2·E·†„X¼Ð¶6hƒÖp§é8LõêŽ@,àÂ_1ér°f@KS|ÁñÛsj¤ü°“ðvFpß¼Oþp©–¸¿(‚N³oýUqà"'@3Ä›Qô¾·Á´áxë®ØèÅ>GBø‹qM³õwtQp¯^SÀíýwÿr÷)#+ú6/'h€ ¨B\`T%Hwû§?<"Ot΃}[ÒCy®,+6·{j ¡p‹áó‚'˜’Îm$¿°i8ÆÛ÷9Õo5¹Ë¶jº ß‘?k¿9µ:?iw5bàÎ¥¶%â¤rcOS¸®ÖO=,dáDsp»ðR¥€Sh†*Áµhíìûd‘µWíh ”åŠÉš-H”RJïÏ»ñÐ$JLôÚ‚²”›åWãçRÒÊ;vÐäc3„öaý•n þvÃô+[ìBáRi¥û®Mæ4G„œ˜dñìtò—™ï(ͨªv0qžâXž½X满BÃ8àóW«æ{'æÍ24˜ò³1²n ¹µ, …„ Ëó­¤/ꛯƒÀ@¶Ý_q66¿†ê&/ÄK^_saö °›}NVU‹6Ü7®w%× ‚‰äµÄiШ¢¼F´­¥åå<®qÒÌañ°Q2!¶¹`,æ%O{n§x>-ƒ' ì6Ar@赚‡ ¯³K¶ˆ4½9„"ßûxÝBt$Ðè_5qºËò>…ºÖè–{Ž*SýåÓR¹ü7àŠÈ%§1ȉàõÏÿšÓÉäâÐ<³lïÕy®ž4}‹6¬d¤a3Ä(þµc±7<ümLÕ" hIåê\Xôó&©Ï“UÑθ$¤º’]ÄNN³82™d-™(Þˆþüí^Dh·Éräªcx½?"/³Ê?øÑbùSXÕ6Òe¡Bª´hE²$PêÌÓÅ üù9û ·âäÑïM¹U}ÒRÆÚ))üüëHûîº!'ÆÐQ§F5@ÄW’¨I$-Í Ÿ“€,O±¤yß§œ¬Ñüþ8`ô—Õ机âP<¡zàÛ ^@ò3øÌ(\¯„£°ÊÙsÌ#œÃTQö£JéúÊ$ÂS¨³iðµ—Ù'Q”uÒ·ì×ÏÑm°'ÞÚŒhFÉ XƒU+;Ž@*mrZ•´HÁÑ‚‘ÀóNÕc˜*nSN™/nš¢“_7XŸÓä *À# ¾ª´ØÖÈ©¸ßüÓobóùœ"Å‚a^¢ ¿z˜dGÌïJÚŸ›Œæ89È?]yàfÂIóÕtbú¾ªõ¾ÛÓ”{ð ~O¬dŒ\DèAló˜e?ÿÇ%üf»çm/j¶NŽÊhøú›Ndy„݆ݺrÏ„ã¥WL^x£¼‰Ô ðuÑ,×­¦v°v1= Ú_u^ª7ã&n‰”jÌø¯bßI?³@Å,9±>&¤"·áÓÆÚƒŠô…õó¶rJ%¦kˆéçÁ@PsX{½,Ø Æs'¸êíÔ¡ó¾r´ÏgD~õ‡ˆU)ŠŒÀg îöUu&ê»Rˆg^½|ŠrÐxÞWÝïyÆŸÕ iA§l¤xQ¬"›IÐN}e5ᦰ€[dÏÞÖe÷g¢—¸.I¹])``9¥6¶Ò)޵H<Âó–…·òûk!Å2ÎÿLxÚƒÕ_aŠGK€o(€.jñÙIÁ §Ö©ƒWˆÃX4™cÇp\m!ĵ«ÝÖjvnm˜”Fg!­ÄÚ?£ÙS`>J<‡(Ýú„Þ:¢Ò1rÜÞµ¹°ïŒØÂÑ„yݶóèøp%¸W†Ù§ÿœEÀ‹Ý5ºkhQÈe}¾³éñ×±ƒHŒ°-hž=Š_å¹(lyð%U1È:«C0œ.-‚°'kE¸“I€ž%‚ðºÂw(p©]”óæðWígŠL$RŒÑÆ„øC£yÉLÙdݬYôSGe1ÛŽ~5.g+À8^®U—[Í…9ˆQ2-¨Eí8f&Z×b_¾ÃœkVOQe;µÚýP¬‰å(Åòú.´þàªSOïs%åP_œÑÊ9¥Ï‹tþèÈH©A©ïn*|´n‡? aBøæÎ÷ ß!³ 6MЄÿ;g†«ÿ ùH8“Žë¢ç*Ó0½ C\•Gä;$gTcm¶¾ §Žm…—}ü6Öîp7òþ6óÄÚñÇ9™BÅçßýÌ]%HhUo™Oº/eQ‹å`s B/gñš^M¯·w+Í(9†‚}¯€P6$¸DoW^´ù]ì' Ô£·àO[S¥,þy‰˜È‡Z‹=QˆP¦.8ʑǕƒ{¸mXoc#~_‘ÕVñ±¸AªÂãÙu7Õ¯UÍM›õ×B0>”æHPß®nßt©ÿëSÒôHfQ Q3»^;ðpˆ”$B#¨Ô~K¯Ó'7ýÌ\ebîg,ÞÀµ\Á ÿ¸½’M´V´Ò’ý å< ÌŸ˜djŽïÚù\žf¾¸øœyÅÂ.Hº³U¦³áæ{;°sÇð@É6\'kK°§ÿ,î¨C´¿•ø’ÕNúé’MÄ;AZŒ]98ÕS=˜£~žAuÑp˜¡FXbBÿõ¼ew;”h’•€ ºš*®éb‹rÈ#2®í¯hçî XOÄâ&pnÈkuòõeÜÍ 3‰«ž]Ýa´›ÀIܾð`a=Ǫ”d)fà—¶Š-Ês¨¨Þ‘5>êW»lÕ)¸ÁûtÝßjw0°² _z”¨*W1íßeÇFˆôÃøtN~ÁëaB¸´.²¦"†³nn@îhêƒË3E ùÿÖP†Í.õNg *_<ÖkÑœÔÕ¾¾Ã†­Ì#R˜Zƒî‚N„[G!"¸Ö3X:IF¼Pcðâà¡‚éÏC¼ÄÎÐÛ€³Í:ŠUq¸Îdìvg~HfÕ&Oiº3ü>’qSmde;vÜ}rlpOn§¾^å›é¼#ïÝF£{_fž³ÜmN–tÀJL8î>ÒWôIXº:Û0PÓÕ€7˜ØWŒàc .+?‹–,+Q7Ñ™K¡IÌK“Q¹…4’>Ö±«³ûœä% fjé6ÑŽÀàðŸ`¦M‡C/¿ ¸!€26;Xž¸í¤<´Òh§vC€qóÅèý&ÚDjåîd‘&yºñ408ÔÄc¬(|ªà){º¨êEà1`‰¡³Tç™hÙ#0ܬ'ØHª›ÎýÝ|W5ÛC€iÁ%Âü…|e»Ô%T4N²±)¬ûhÁ•çÙF邺·d"ÍãøC¥”jz¹ƒ6j«*݈aIã •é¤bÆÒ3m/«(­t‹"˜/@V˜‘I;#ùh¬$7{çÝARùÚÌ;NM#þXÖÙT`®¾d¥%Εþ=Âlž(^œÐ0œð#4ÓJ0™sgž÷znN­w˜#ŒÂ@w>@)ÝLoàø"#qbƒdÀùêë£5k,6¾Ðfߦžtìy~æ‡þå§…Á›¹>Õjõ{ò€Lx§¼Ù#%µ£¨ŸB.ö|R„Ò×Cû+¾ÂÎë9zþú9•¼ÐL¨íÚøÌ‹$]È~ª´AècQa¬”:‹ˆœMá;ôÊHwÞï×.’UN‹B—%s ùø'-!ù‹ \Í$9 ÐÑM¹&Ì·DÏÿüF!#øôЊÏ–¢Ë_[ÁÕÐg€øGDɰúߣüæ £Ol~µk­ó^« Bg€¾èËØsy#±q_VlÙ;¼3Å`Rq#0Á‚¦KåFÔŽ\&Q,±\ûi’œ7^â"¥“ï&N¶pñùùDˆšÒ.àÉŽÛ5FëElŒ/Ã>L-}þhSWú›3oŽ´>pF—/®Â+T>a[à*œ«õïù‡S²kŠõ¦Ú÷q¡ÿ\ú”o8 ‹¶µ÷GÖUä„é ö[TPôl $ÇÞ’ÿ÷U^i2ÿ½0*é&‘®…’* ñ2bz6ö(ú§%E¤ÓmâÙ1œÉ–{¸Ëpî±ëÝ"U ùã4gØ;J¼þ'š[a(8¦PS¢øŸØÀe¸®æpVa×\=²W)àÇKß‚›+£MB€ÌHö@/CPG~ù¬Œªaåp•ëšSVz¥´šú*dŸ(|¢ÓÐ÷˜dÄ5ñcléÎw½߯¯[’af¶›‘{ŽslÄ-~ o¾©©òRWON}‡c-¶ø˜| u”f ²âú`9îø±lB²%ó ÍŠüzŸ+³Í×2D“WGͯHãþåÈJ2ž®2nâ|k·ß¦÷%¯¿'Ò@¸¨$pE.ôUq˜¿ž ®oW\Èg¨jÒ±üiDü¨‘˜ø1âæ{¥—‘³ß‘Å–'=SkjßÕ¹{òɨ֎šRÿ¬' M&ÀÝ,KÒŸîma_õ´Û˜4ëc9Š¡xB+åye0mêe¨,B;:&Ü™jôkÒÞ7L#¤…ZQEÿÉ€ ÿñÁV=Ù~Åy5 v‡Ä]f@m¯“ô™†ÇdG<ü¬¤„ätUEQû»}‰ LÖ•ZÚZ•Ö§h°Œyº+éúÉÒÜÄÁ|+£Õø.zl+¡&z¥p>Çc¤‹_0ºjÒ;>.µLên’·«Ñ^Ý„Ül %Ù¥ä¹-©zDÛ)ðlAH)Cÿómý]Ø·‰b;/j–&8¶ LÓTãOSä© _ÛO€ð—¹£ã7÷ÑHúbrˆõø0’«yclÊ›b~eX–q“Óƒ»«¹ð«ü±Dþž÷ùgáê »…©ËçÂTÀ…LÈʨ¸µáµìÌêŒ:ßeÒŠVêeâÔ“¶ n–Ÿ 1Zùépx»¤ƒ»dº ýí( HÎÍí u^1§Ä3èÁ¶âq‡>ÏVLN8cPoÝ»p“ ¯Ùü:½ˆ©Ý³”z-2Uü08 ™UuJAG|’g¸·¡7ÖÃ5ž,×|jíŤl¶Ìxák­¿ "{TuñƾüÄÞpÍAâ Jmš‚¢•ð€çÜ_—ôSsq~"ø{dŠóŠ}x[¤Ö…º-ÿÞ¶ãž%€7ÐÛ×p«=‹™.‹Þ,ø‹ „¢wcBcf™¿£`_à•l­eIhаJ«Ë.ˆÌûÃ:O#³órÐHßétGY çÂ+á‘wŠéÿ2þ!ýàmÖö¸|0í´ÛêHî7èÇ!qdü­Zí\¨Ú í˃!ö™O@·ã”öN¾í291ðg…Û™<4 Qs0e¸ÀP7-ÚgÅÚx¶Ê~&`;¡(+fMlìÃç•ß¾_Œ¤’XWŠ!ïDέ¶¤­‹Fq}€¡›Tû«5ü¿!X¤)‹ÇÆòó% Q4Ïa|A†É$ß\ƒÿ!&*5Øõ˜€qs{¼ ÄÞÐC4ý¶ð…1aë±lFÓ5[[²vic²@¥œBŠ€ŽxDbìP´ØÂZªÿÏÖÞºÿ-uÁõwÒ£uIØ&®èŒ Ï—¿,bTa±'Vè•^Ñúå!ûW‚+ÄÐLªÍB5½ <|°›Y6—¦€OFåˆãn4XƧ»›ŸÞ÷–×*4˜j©±R0»6¬gv¥^‡Öñ½Š£]®9pÂv¦íaPÁŽç4åW‹™ ëïhàŒë“õ»Mz±´YQz¨‚ iIÿ)X剸¬‹[àW|§÷æQ^ÚgÝdÖ¥Ýøçu’õ¦"—ÐÕG£ä¸coxš“© •¶°  +¼!+Ï¡R;²y¿œø«Ù+ܨ¹\jßõS»Tî1´ç-ðqþAó àÐ\÷µÏÊØwÁœ$·¹XáÒQŸœ†/°@Fèmb|v€·ÎcF¼Sšÿ—¨j; Ïã^|4;Aí<—ð©½õžÅúK"L¿>Y„@¨ñµ¦Å®ph¹S DMV÷mb¬ Øš#>Ü}Z_Só÷é g‹ÍÏ)^+?Åy£ýÓ¼Ÿÿe13‹šaþ&ùHN†û&®Û]Öô)+ß< QÃXér–Œa9±71Q|ÿ’üÚ^½zŒ¾àÆBÜH†Õ·€-ÓÞ† œ³òeHÝ‹„e‹­Z Ƥ{#–ìDÌÖ†NÄÝ¿éäóç[LÏ}×_‘Ä5X9•Ní×› Çî;¬ãB6Á.Fò 1Ùš1hÄYÀÖ×,õ’¢NL Œª]˜zÕSð[:Mâ:"j (û§ônP;È-u¤G©ëûÇáó€?Ƙä3ÖÜYC1 ¶ç:c ^*Þ öa+öžÖzîLKmh~¨çŸÌ½hFÁjòKÀ á—vAÙ3ï›ùwÜÙ·Y£9kUw¸ÖÂã4Úó3Û @ì7û-7€d²62?m*éœ^’KŽGâ¥0 ‹+|=2[Eùn U¢N匰ÕêðC=U(0»¿<Ócºôn1Q-Ï•¸?‚alç¾ »@=íùNÑÖö‚D!/föè¶ÕG+~!bÎ \½€sû‹=t!§à·&˜4ÈWù"´Ãâòz—_zBbó¬ãÁÕe Ì'~ëœXI¡õ¶s‡ÄŒšª÷·½Þ«¨çãŸuB¸Í®R‘_ÏB¬í ±÷…8B‡iLœÇÃ+V+¥2f– W‡éF±‰Ð¥ôí;†(õ·Ø¤ƒÛ.Ò:<ãù/>~¯ÜÈD‹ÆsÉ_iñj Öú mÚZf×HÖVRƒ¥’? pÉæµ½-""1›7@9ªA)Â{ƒd„I.%C•ÜaÙ!·8?‰F7f9¾þ8»Ø°­B’/¹3ϧ™³ £<ô9ïzlØÚSÊQª¹s.d2 C‰ÀÁ™(ó$nLìÛ»z0f.Êpuµ2syÒÔSp_J¼´oJ/S¤;e[.ª¨µa÷‚ˆMf˜î̵yÆ3c¸é¸H2×.+·èÁw޳žN¦Ým¸¼ônÒÞb+$Œˆ˜ø[ Býin<²¡–Óº²fO•“³HvÔOŽÏYÙÎHâ¿ý<"¼Ž`UŽš¯yýÊÀƒ¾çôxÿÚŽ¿_A¾PвUÄ“Où²Y+€þ•T¦‰¢ jU)Üæ‘ö_ªwu§—`5ÿfAÏ”ÚW{º?ò:­Uà+]¸Œmí¹þÕÚ) ÑFŸKo˜ª›±¬é3ÛG܈¢ >Ù½ŠJæèIsòc5ž^®v¤ÀÆGwÿùóq´©—N…dá{] íôá4jhÔ-r1p>ÐÕ‡©¿OvöLáå?zQô‡p¶Þšb®Úl¢Œé™š³š6N¸,ÚNúŒ²H7É!ィ ÷®eÍ6ë>WÙùhÃ}ŒP‰oüÍ£úh…«×k’­ä’çÓ¿œ¹°J´=¥ËÚ"01;2ç>€ÃàiÏ$ë]ƒgÎtðóרm4iÅOé£=ãºWù>¾•…Þ­Ùüøtké‘U&äæ=€zF¾cÞ‡¢?‰lmw솻d8‚ÉÆèíWU“QºÁoWoŸKCz‡™«/y©¨:dLÕ Xõ0šOŽØX ­ì½bÄ8ÑÃÐŽö©P¥è¥9¯û3ò{€Ëÿ¸Â”Òw_¸|ðwÛpí(g°›xo|eQ¥. MT¾©éF`S\gYi’çuƒ¼Hê RÞ‹ŠÏâŠæû"Ù3q€­ Róõ%*§m.vôss¿)#¼…©Ö“𨥂µ©qçÀÐ{jIJ‚Épî˜R¬tµ#ÆñJ|ÓJ a*]ÇÁ* <‹ƒ]S·U¿Xý”ÞöÅý<|~š3ÐXAùI ƒÔàiÈo™_¶]Ô«@ѩРˆží 1sn.‡#О»„¢©pàÃC).ô÷FÑÖE̾S﮼ñ¶I«¬OÓ+U^žÞógrÌ##˜ñ_¦Œ­yiœr'´™òŠioŸ?=± (Š|Çš“ç»ð3½\úŽ@Çð‘Ú…w!Kë´¼qCV18é•¥φ…/±‡¬ÝTI\}`íŽEÒõ2W)ÿ×?ÊŠ ß„ß,;óºõû›}‰=Bv6B#–ìHÚΆDM5qãÝ4ªc¼g!´ú;¢Ä'Þ˜‘P ¹çÛàašÅcŠÈÍá–tÊÆä5¶,Öcf|íåK¸…‚§œƒÍžç˜dO$ø_ÀA.UPkÚ‡‘_ô3Ñá5cؽ«vZ´§ [ÃÁcô>ðڨǦž#>8'¶£Å¿­<°M§S7ÝX,º@x;´¹çº ›¨Ë{ÖIº,šÌ m!£cP_kÑì±Ýáä÷ÔÖâ‘ͳ;ËEàP,g´í³ÞþeÀº÷å}U M—2QʪÇR\¨áàeMûç9‘ï{vã\ïôæN1™þ#¨M5<¨ía•ÙdEMR&võ%/v6AËDæÖ8=½&dÇjϧU3Õ’Ä×Ó¤c5(™ßÛÑÚ„kèîBt­Të4Ü7TFblŽ;Æù8¥ü´ÿ6ç×5íÍò]NhV<œñ&'2NEFg¨ù'Y, Þ<öF"统YØ@; °N>Ïæ²¬8Q ¼qÿ, £Zžo Q5¶S&xMóêT/̈Ö9{Lö'za‹“ì<™0òÃåXcD¡ØÆchGøÿ:ÛïPû;ÉЛè~º¼CR@2Mþi ±åE†G=9ƒ¤–Ṽ‹3gáVòØÄˆ%/ì·m!ŒèU®¤é³iwvpßöÉhx=4¶×G¬4¡ºG±Õ" ô/Ú±¡;–Ó~«Æ«ùp{cB †ÝZBoFŠ4N€m,¼õ~HÀÌúž€w˓Şú.óE”o2 ­ÝnyTï+ÑӃɌ~ðì:žj0ùnuƒß)B‡V£=VãZP­ûM”}{& ¹è"‚ûFΩ -µ&£+ÑþiË\|b€ºµY<1!W‘;ÆŽƒ‰Êœ÷Þ ‚"¸}Ή_‡òR°ëï€ztÃ.• ¾µOËJI^iCˆ¤Ä_¤DÅ+ï ù{2jsi«n‡²…5ñÙo:`³É­Š¾"¯Z¯ ýÍî!<”SsÀŸaF_`øÔ·Ï›’„Ùaèhú/—ߨR|‡AiÃ1m$3´'1A™'Ï÷ªîh*!xŽ^šo•ÿX3ìÒ¤|]´ß©ÿ¦ènù¼ÎBò"[r²Åâ’©`µú,§fA|Ž8Ç;ôÅdIÁm™1™½Éû7Š~j½dD¶ÓçÒQâ|W+o:bcÖâ—éé@¿bô(úA[OÊjö`Vž-}G´BÚQƒ~¨X*ü¡üÏ­ËAæFFž6þçÎá²³„wæ·OŒÙ müUÀؤ%|” núÕ¥Cƒb1¾³ M*9Ì2íçg#ù„d¿Jé…9Î"äVfê Q‡Ñ,€os¦°€s´”£¹ûúl Ån¼ÜHÒåúwU|~ÎÈéÃ)ˆ÷Òv2‡­@|óxB9n¹ü±2räéùÌð•Bl;–uÛÊ÷Dö:Æ¥`÷To¡us’º®°„Éi±Ã”u®ÒÝ ŒV¯¢ýçôÉ7×ü¹3¯½o´aFžìº|wß °ø„%{õR•Tr¯g>¡$dϕœê 5= Õ†¡É)iIÄ}fbélìñAU‚ˆ‚”Õ¿û e®¬‰NtȈ׻ȒÄ"‰ÌNÛŸ"PQ Å»X.\î3ÊÃ^»è¥×ì©û6ÁÈ:PJì1Îp017ðuî#äûk}ÞÒÞY5½~Ìw •'ìq…záxoffH·¸ìCÓR¥‡§sJU´ŠšïL1ñ* ç·÷µ‚ð¶ˆ[²ÞÖçö$ž¯à…8|„ònÌÖÐÝÆzªø ÒaO‚Y·ÂxY8S½º)w$´-l•ÿÇ£ Wxüáþ™ŒlDZPPK¨èÛÀA•1‡ìrû¿ `Ð=ÄŸS½|tï¾—£V—¡»ÛSÃ@LËelàQ‡môTÁ·ŠeÙ·«kÙ‰j1Z(ÐÈ*1~9צ–±`!ýÝY">ÿî®: ¯?fÿ}s«Ž¼½±˜‚Y"WiŒÚÜ…ÂEAL ÁƒˆÃ'_WQEI ?<ˤ—~¦(ÓÞIúûŸ(¡C€dCs”üàGV$nKÁ¥Œ§Â±6Åâœ«ÖÆJœÀÎvª5æ^:;ƒ©P¢ßÑÃÚ­œ”©nò áyýÏ|ïx¢ Kõ; s;_PM)1RÈÊm![|¯—€]ØÐEôšöŠ,JÌ"ÒVÊMƒ‚FT_Ó_ðhÛÐY ¨òA ÖŸ ¼K~Û>øåJù€`¥–X3>|‘‰Ä mÄS3$ƒ’ÄÚzÐeIEŽŽ“W»î‹&/R!H) xóÕ1xWI¤P¯¾À&|þX„®5®\8ì ‚XÓô!€à­8? ó¤ãZ45WïA9;sösô†9H@º¬¼h>^ú[’C¡A°ýæDÈ[̲tœáÕX´dxÿaÈXN;¹Î"(e~fŸ›µ‰7³)'#ƒM‘£½Þð-oÈê'‡?À¶•†£¹´8 ¢¨?Ôó®.MºlÛ2| €4 £¤JM¾P%6O\•=ëë ~ØJãõ¢þ)üŸ{^ˆlö¥õ‰Æïx7„,ñó$ºô<í6h† ‡f^ R¡À pa<œ$[[£Õãj%¹WŒžFñè›=æßÏŠÝÃ:¬É"£òïTa>1²ÌåàP§^0èý/F¿uIkŒ§ƒ÷Õ=·B’Ê»þ‰ýÏ©-Y°=­ ñû<ϵÇú›K¯ïN'–æ¾,2PÐÅ+Î5|‡@>¹Í’À3”wÜÔÍá@ Ûhý°Zq«áG/cyAN7¿'¤ç‚?Õ‰3aôî’¸aש¡SNf,´2~'Ô˜§C"“ŵ·w†§j®ß6°wš†ðþ Þ̈ $Ç]lÿaT0Z¯Âú¼–h(ÍÓP¨ï´B`‹b.¦¾Œéò½ø¡K)I{¯‘D™ÝÏ”îñsB5™±;  g'o¡Ûª¼˜Üý†ÙË€lüö·ÚL:+1€•è{eŽ9õaéÁQBðîÊ«fç<êù’TÀûªœ*dFtnï*„•ᦄoÉÓ¹¸œ»Î­ëL`9 Y(Â\[œøèü娔ÌÙìòÈ]"ö¶xFLÚÚOh_s&§¯{ý”çͲšóè̆3¨EÈÏL*ƒ‚³Îrô›x¿g^Á9}šáÛÌÈ÷Ë¢™n…ì³)@¤,œ±ÉlxùHŸ^B|¢ 1}„È“YòIèë“ýÂ@ñ°CyL®ë9K³¬æ¤?gâô† ——ÄIðgªø6 vgœaEŸžÓlÅ}ßñVð@š²°Ü/ø7ɳŒ#Õ­A ¥?‘)“YjÏ(¦š[´Œ ^ìxü³öÍ_”ÛˆB¨‹ê°C[ÏKÍDcϬʸõ¦Ðósm»žö¯DP+^~Ç÷ðlT ­ –r9È>LIòu¿\Cx^ì ΘîKJ{ äIî,X 1ºÜ”B`·õX¾ß¤|ˆ@ËßWv*#Qm¾’K@¤ÛÒŠRÄÊɹšÕ’ Wéù²ÓT䟠/DI'-c}ÿ'#†ÉTá3Ëüˆ¿ï8Ä¿é=+f¸Ù.öåß^n ”Ÿ"Î=)¾phäâ¶å.¤(S ù2,¾×:=+8-硽ÔëVèHÕ1¶\ŠËyÉk½î3 v¯úЃ½p‹ÕÅáM\.U"_÷+0òÞ”È2”wõë û\v2¶‰!ì™Tb”U‰Õ7Óh³‚ Жœ­½ÖHö:Çÿ¹ÂõfîðÛlC>™VÞ²<~¤s¶•ÔOãè x;äi­Ì3çEJ3G7õ•>âžÕPwÍ`[Õ"„1(­ö@‡˜tË=í­0óotév–qŒ$‰ÍòÀÏ 7SÓ¬‰"_³-ƒ…­‹ —r‚ _0S;6tP30_Sôè#^$I½+•¼g󜮂*Pó ¨´ˆ¾ß«)2ìJ½㛪3béhÜ`Ö}ŽïxÓš~ÕFYcþÆ!ný,.è·¼Ÿ~ÎëÈü˜îox+È«üMhÑÙ?‰êk(û;¿ÐšnÉxUL|‚žˆYÅCé©ÎY¬åNJO¬Øæ'êÞ8‡ú¶1_×ƵÏ)î9Íuà Þ#²ÜíÕß#~×Ú‘0?Ðköo†‡æÓ0™mNhXg‹qÑL—•±¥»×¸4Ŧß9LL(îJPŠ~7<|ßÔ‘¤º6û%2ô Ÿ[o‚×cã¯cЧ‰ßHªZ "¬]òãK”ža¡ÝäJŽP“!Cßmdœx†ØàéCðhí„á+é\å…‡sk—ùO š-¸äáçoó‚±ü©‰Ï 9B˺\g²74:Ûiôå òÑëHf”¡QúÝÞ”.T0 1TÙÈÊÔÜ‘Ê,Ú*im™™áZõ;O.É’ÝÊṳ̀Dî’y ªÿfÞàoØ@!¾L 2…þCf ÚF4ÍÀ¤œ¯ jÏ€NÀƒVoÔ1^¼¬kÝz\tÊÙG"/'®d‰ôŽDç3Ôª%, õ|‘1ÒæW¿„“r÷hÊg+‡Ä¶¶þÌ€³eÛ©áµ^83o=Ü#CñSŸT埕^5«•cƒ"fêRIxtüþƒÒÛ@iI5}ž•d²{¤æ6ÒŒWføvþº72:Kâyë ;LÕ6ùû4øhpY•­Åe’ðb¬¥ —–wøÍñ›Üø1p9h‰Äe çIÇ šî¾jð¡…f›Ÿ‹ij'ù*Ø‚¦ÍK;"A¯N‹Rí)jôû¿/uqV5,íóµÀ&?¼7ØÝ%Òç-ÏŒâ³=¿öA:ÒãlVAù@€ÚÂ;eâð?sC!~:¦Å"oÚ‘u.9ÂZ…Ou5÷Ê ZWRüD¯(r³Û±®§ÇYÓ D+…¼â:·Âö¿¾›Ý"<_“£‘DÊòZ°ë±7×§ è˜0U5ó.ÿ?_ü@Sâ=¸L›°3š†#Ø…K=õfÒÆsK ÛŠCá@<4sÙ%ÊŸI=AeJ ÓŽ§a:ÔnÞawø÷3X ¿ÝN c ÉÕ¹ÉaÜcÛ#H¡%hYö_ì#Ng0SÄŽõ01ÐFÒ=Ñ™~»:˜jäÆG”¨ÆªƒèÀwÓNÚÅòOÞE/ô·}Ï?Û¿ éCB`au³9äú#§Ír¨š[{«{v€Ü!EŒkKœ ÂbÞ„â¢Ò, …{6)XG%×mÁ¬|Ì ‘;V¡aò”’]ÝM t@ƒ¹¬”ù0?§?îƒB¶èÚÆ—?z˜&;uµvX’ñ1¹}wù«&cˆË(I1s4Ûw`£@jæÀ0lC2SøecèëY ð¢šø°§·íîzì ¼%bHü]î}‚™mßá°9hÛxŸÙ^jq¼!){«P-ªb­÷åAŸä‰¢›Ÿ¤êÚE³ÕrzL¾¦ž©;W p¯‚h]!¯Ðõnã ]ï B8¶ìȇ-þj̒˦² ÞH'ßYÜ6 I-3^ɼKã/LpÓ–¼SYG ÊJ ±‰¨îe4©€·¥Ÿªeß•YØW}òuE…ûS->À'›‹¶½ÌZè»e¤²Ã6¡‹Ý7ò[i¾^ÒpŸF¨ŠõJð~xÑ^ÿ$Ë\ýÞx3»1ž¼¥Õ”´0=sCùX\ý¨NÄå(;·Ûñe‡_ì-Uµ¯Û,Ñ`}Y{/Ý~÷²W.rÌÒ»¾3Å#&i'ÿZ¨£ÞÎ2 Û™6Ð¥¹xá/knC=î/w(î.Ÿ1ðŽiêR„4GZ¿;‡=|äÁ ¬µC†3¹Ñ‹hâ{ja‘í‹‚}h´ûÍ‚ otãÎZmý’ûÒšãÀà¦×2A­l˜<ƒwIå€m Ð\•ÆnÊ”ûM˜ÍPW•ùÍTj+ÜGOú;ÂGÞÜgl”XÁ„¹\87v`aª¨ «¥™Byg±Çl|Toªµ7hóOß‹`êê+m6Ln,m1}÷<3ÖÁÝ“Kê°Ò-‹»yqË4PáÂ99úƒ ,®i_±ÕXbMÏ"é3b÷¼ÄOC 6’TV{Ÿþ“Ãù¯§Zk«õr'QZñPzßQ3`?OÎtZÿ'w¡+i:9üs·Và®b>>ÐE=íվГ›ßufL¶PLälÜcûÁEø:‹‚¾ 8¼$üúáu¨Mš1íW¦‘Px 4nhûŽ2´èRÇx ™›B–ä4Š–©-¶1mBsbRƶ·ÕÚ”-o^.úàgYý²¯±VìC‹ © ÉUegËkGÄÊ&'``Ëy%æƒ%-?~Qû“ÚQ×ìOàéªî™%V´ptð‘(9-g< Ú…¢Ñ³¬À‰ž>‘¹ 4îZçk$ å¸WÏiÝ2a™OË[Ë~íÛ»¢hÌxÊ >(zDjqˆS(VdÞµóQû5Ü0¡í¼l=¢µ¥v\º :8ïÐõ°IråÕ¶E>‘çŒXeÝ"êåî¬ék ³¶ñNfp˨èªw|}â=µ*ÝtÒÊ’wîB”¤,G%&|_ÍŒçÞ¯8S)'B¹™½Ïš0.ì&{Öÿò†Ù0Š42NØ·ÓkÀ˜ÕÌøÂ.‡Y.(¢úUï·´t;µz©ÛÌyoЉƒ[‹Q|‘͘We \D @ÏI›–ó¬Î0K`ˆ¯ýÙòaEäLþ×RO‡Hí¬îl ´Гu^ ÆØ{äµmœxÔÄáG°u—´ ¤ãEMýtRÖz]2x$Q²`OKeÿOÓP% Úëp2Wˆä4A¥Oo‚wúaº:@Eä½§ëyGŸ^\ņëÍìl^)wÚä·b/h;f¯`IáýbRR’ƒ°Ÿ‚L42›áþ«/^ë )† êû»­ŠÊÔÑû=Ü. ‹nØ{höšÚœ¢_r¨”G´‹& ªf1”•‡Ð{˜oôS#Îoé(ì ¡6І ©Ž*o…—'{­B  aÝ݇O°l4ŽåV‹éÂp?åJç5æj:ä”$“ð€ˆ¨`vØ<2¯ŒTºQܩРœrÜ*9(Àûˆ®ï‘ºñŸ¼ð@XöDúj¾$ë¹RLª±]¾nÐ[­¬Ãz›†j­ØTï<ŒáȈÀ­!Àó ôRÛCŽý:€ZX'b˜apÿë5Š’ÅO¥¡,fyÎfÞRb²xìV”ÿÇfD>”ÿPz«Aë+ŒIeAäóOУÈ߯3/ÉÃl£7²r4LHàþ¹quOa)´¯ ÆÆvü­Ùþ†Ãè tï'‘ø xù¬#‚[µ'ÿÞqòR,A}Y^¡÷T‰ä9 +¨*CT9rÁÔûÄ—~—|þ|“æFÚÝ‚µÂZNR°¬g„õZÃÔ\¶ ÊG}/6Æû,aH·Åd‡5UccÄ×qÛÍ¥õE.,¢ñ_m­\¶ö-)³Ná‘[?XÇÞ^:ˆrÇ,~þÂ5§‰^ð¤¹V*@Öý{¨}À(ׄ FÉY–iêO‹‹8×ð-IyHÔö˜§ì˜¿=„!+쳦¢3ÂTñOtT»\2IÔ®5× š6zX¿Ô6îàä™ >ÊðšS[îŽÜæÑQî æîd~8ågY4VApÖÖ†õØVŸ+É•E…·âï°îѱ»ªoÉwòˆv¬3Ò¿c†‹u4Àjbk]äë 72J!dÄPHÏwÎg:7gKv*‹^¶úÁBçïóP±lBð–Øœ0Ôë¬÷¢Øq5PiY™$ZŽ€ Q0õ¡ÿ”¾à9Ždñtü†jÀc?`ƒÚþÙ© OK¡ 0C†ÕÌ$»,{*„¾/®éµ“KãFâa°E}ðCMUwø )ÂÊn¾D j )B¸@\gµqg²UÒÑhñͶµ鿬ÄŠ}WORpŠMY÷ßf(¥Ö*ñþòÃ|çUlظNPسח*ñï],,aª'iDìêæš`«å<ï&êŒM›òtL^/% ‹Ásc›­®K‹/¬ó†9©/% ~ÊöÝ¡º¯^täˆÌ1¹kÜtƒ‚†¤M-›÷ñËûë“ ˆúR:ÄЛ©#¬…zXI 8u&‘ðçeéfèŸP e‰ŸI‘HÁ`g|õöøb±*uÑ=qS†¹"~󭸻@£³Œh‡®ªR"XSïpú’³Ù¼œg&Aá‡Ø10{½¿ V3õgó1]NKt#€Mÿ‡Ü¿ˆ)Ð5A¹wòhsjÄó‹GVÈ€ùð±}qÝca+¢ÍŸÆjÖųôoµZág¾£3„†¬•8' ¯c1©äõY²{—©7ÿçâ´ ýÌ:Òrõ“`JÀ¢wúϦکh¦äCF©´Ð-zPòÝßÎA4%ý}ú«„Ž$~Ô'‡µggû¼TœOCCÀ,‹m[Õ”%]0aȤÏí’:Æ’|BXÊòÔÂ`¬ÃO»­ç¥#Æ T±³‹vßp—4Š8 øû\Ñ(„[ &e.x1³‘ä·¶1SÑáÉQ@Õ¡ª`©ÖQ´vHšbÖμfÕ¡,<û ]†Ì q:„ êjUF6 ÔöOÏ‘dqrƒ;½VT¡˜ "„|˜\}ÀékgŠ~1ß¾MÀ !æÊIµ.íüþCî0‰²·ËyãÚ(ÚëQ­µ¸qtÓ¡Z²¬V>Å »¿Ø4F²;W¢b”FÁ›÷ö­…s½ÃÍeà 4Eº²Œ•*Ц^4[ëŠüv)ÅvkM‘+Ë%™9KÐËÿÛd {~\¡nrŒp¢Ç.zùjàQOf¹¼5AY•û̆£§V×P{Gv†äQ¹† $×0hÕ’6¡ÐÏÐúu8ÙÎö#€wKq P-8fžÙÚp# ´}fÙýŸ€¶ùâÆ_‰ 8_dèÒx¤ CMÙÁ‚e ·áìá²h²]ÿÊا ˜)™ñ‚/6ÖÆDöUäeä˜ñ07)`o¶Æ À³¶¼f@_¹)¹wÃkRKeo3¯ ËÒrddà–,pè–KE%çˆ< ®‹žYaP;ëá7‘ÓÊQþ#sÍÇ <þmhŒIB䳩˜ºòè!UAxzRýñf¹Ð^m ˜à[]wï!297)d»xi.ê/ Á›£=ÉË«^lK”!¿[ð6 ‡Ö93á÷w °Gù7 €¼PÁ“µ¥Q£aXèT³ªýè¾~ö@NénÚe+¤üëmc¶Pæ×á˜+_›q/c,ÄÄû_‰0š¾`M@)A‡lc—¡ü8ÀˆÛcqWs ül7x€5z òjçâ}|ªã½f”À=TŠ»JœÒìF ¾Dg,úG–6Öˆ¦sÀ?è Hõ*£½Ydð ¨Ôâjܙ˫|§MÏëòÃÚÅWx=bßݘJó]ä9ZcŒèê¸ÐdàüF¬jU5vWB&MþñLŠ3•/<ÆÈ×Ò‘šUl{Ã|‰ýh !‘ܹ׀¥öL›=íѺ-<ãyÁb»ö΂J/á,büÜündò†œÉ~F7’¦›R˜X=jC!c×_®¨ì­T ³œ·I=Q(ADõëcÑ ©™ž†ßÄ„R­ñØYL£–WÌzUÒ~ž‡ &z ˆMª >Wò¥Œq o‘ò(0lpïâ%ô<òÚ9ßÂE¿MÀPî‚+}å\(!5Ë3U·R“u@"?YC¦â3-Â4z&´àÁW;ÕIó°ˆ­vVh­ù[gô˜jüJÐaX§ü€¼Ú¸ŽõÇ V€õ­'Ñtn‘ñ ÝsÇÖüí̯e„C%SXüÞô”‡ªRéývRXé&=­*ß•ãÜÐʬ±h¨»ì%wh¼¾mYÃØhÚ­Ÿh!H÷—¡º"Ü&°•)6Šáòê妕u.­Qõ’WKÒõÓÙ‘:ëÔƒK±Íf%™Z@÷]G¿fkÃÞÔp‚ŸP¥ln_,%‰KóO˜ÄÇN“óy©t‡9úÁ×ÈŽ*Ï[r°2š®äÑ®…GëåR΋ޔ2ܳâ 4ÝÈô!Ö "©ÆÍ³Vo4.Öè+*8˜­ãÕ¸×é/º%x¨ôž«ifJ¼_,7¦NDæ´/EОBMm¸n-†R†IÞÃ>‡Œ7W6y Ùß°³YòKI,àœÝÜÆž/ ñ/ẫ'^òöZ-ý—-Ãët ª£yÓ‘©}JoâÛjø(Ò>ô¼Bž¶Òut+5@B.2 ½©1íQtõÀÍ{ÔŠ§2dºŒÖ+ØÐ½ýB„°® óÀ?gÅΚƒ4¢M;J$œÍK¢Äþ\Pî;þBò·Ç"Ž=Û©Û4pìVt6êá Û\4J O÷¾yr«Û€ú¦:¨éÕÞùF,oÜÉ_R4ÚJx`Q"õ÷4uЙ€¤v0{ßéÇbÕsˆté)øùƒi̶Þq¹—_0Âõ"—œ‚Lai®jÅŸ‘ã¼_…]C}á0!Ññp&«Ë3Q7§êº‡·³•J×+';/ä´QSM=@ž‰ÚÎù̾tÔ`öŠ¿­„í!®Ò}”~V@•.ªœ—Ö±8hL=d.°Ó¢«-Ô{ÀJg[!6“γ%í+oGþÑÈֺéb··{wâñ+ÓÑ¢‘Qõsu76SkÒ“°4‡šïfÆbB;Øäw”°Ý÷ö“@.)2ž/ÿõ6 Îå ïUÕ¹•f')©OÖhF(©I.R]þ°ÎV¶?=‹.6ȱ ¢; ¼®beÿ‚»/€BNø¨PxÿÖÛh0¸±Îª‡ÁÿøQxSé{Ø‚ô³,¹#ÖaèQ¾ ª_jBØþ1ņ®ž¬’%„Ò݆y—¼I÷"p±é3~)„ i_]÷tÐý¾Ò†ä¯þ"IF¦ÓÉ òzÒLxé­Òa"þ1ˆ¹Åö‘§§ìÙ+ÕÁºXžJ¦SïSL×wšÈ „¿õü„–i‡ap+¤ºKõLJ®ý›ÌÙ\ÆäGEƒþóGvŒW;× ¢W‹âUç­;1J1wM⦈(ÈP©°©³N_•"’y)é2¸~…w0iškÂQèÚ6ç`í=¬Cšë‹}›á$Ÿ‰ Ö†xoN¯ººøý}üGâE $Mm0~÷±ðâl%FFù¥ã‰_ ?¡ŒßªSeƒ|ÄûÅ«„Œ=AÔ}´Ê}é%ɳá"6«Ø_"2)Ôé«QP&ŠÙ´ŸQ…Å)°³­b¥æö2‡íã §³DKOÏ<½¢c>íIˆEéÕ„É˸BÙy±>¿ÖGiVœ^Z³›¢%NÓ´­óFb"õõg 9Öšš¥.Z”õ’nW7h­,ƒ,¢í–BÑ NOwjÑ6ãËæmµé–'Ù‰@Žò:që™×“7&´Ý¼4#žuª›M㈠ÚÎ2Qð0G2þǺ/šÌ¤UŠˆ ‚iÝ&þwË«ïÀTTOkˆèc'£#ÍPàIjí­Ž(8P™éE„fÿRU¡™Óʃݒéä¿Â#eO µÓCô^ %_ÐÓ …Ag/ ¡äJX™ß<øÐ_\ô þ_FÑoJÝy‚dt3‰Ÿ’Ç×µª6s;JÒ ´Æ Úœ»jµÑË(Øâüàˆw²gFPÈ›‘ׯ ¼Àéÿ‹/±ß| ²vö˜‰‹Úðcìn¡ µÜsäêo*µèéL-ÇIœQ©e]÷‰Ø“|Ê=ºãsú2|‡lO@þÏ1×Þw ß4ÚgO’õ ^Ø®âÕ6x‚ȤzŠüŽ!§³{Ç2 ëÄGaÃߌÆ06PMB“êqYÔ¯ÑF“ugÿ6ÌÌ·öÁ:ÐâÔ H0î™Ñ{-8µUöîqål™±YT×Ó¹øžÒM­ñ‘É}ÞÆ×G"eúP‰ó™™Ñ; Jž˜kƒÀ ®­åþTÒ<ø=5Ä öJ¸NãÌ{]§Œßù6ufÓŒ Œ&ƒ±¼‹æ">û œü¾Éwl÷µìiúµ«-àæU?’R õ€ Œfs/,гj`}ü«UĨ@÷` ‰Óg$µ@tGE-‘†4ÛÙ6Á7€0S­5ÝG@î^´³5ö0u568|9/§ðŽH;ÃPB7¯­~¹Yí(·˜÷Õ¦vªŸuíÍþ6C0)…vÙ.gUA»Ô¤ý;8,Ôá7Pà ÙÏ÷ ›!íoà¨k6ã}šÖI € TtJÆMýÇ»íRöP&ž9çYÍ"_'2êeÄZüóvÈ;U¿¼£+ë:=à—_NÐŧ*õÉï—˜Áï/vDÛ‚|~–y^njM¶Á¼)³À‚r펩ÎzÜìà6â­$‡¨„¨óÚ8~)T£½WSþ·`Ö/{z÷u¡4;|Vï´üdDç•G‰*pkÔ¯àÛÔ3Ó¿6碳kOËÖâPŽ»?ɹw,‚ù(°ïŒF^ª×|VÑ¢²¡Wå=oßþŒœù–ò›Í?ú”2†•¬Z\±…ä jË#':Ý®ûG1˜õ$cº ®)×ÂÞ ±Æú:lá1RDá‘â4ÿ®RÐj`ö:§:äÊ”—mjÇC º½&î?r%úÔNÕN½øß ¾ ¢F£ƒh1‰…D¤dNebg¶P®^ÐÀþj¬_–>†ãÚ7÷2AMp\¸{KÛ{hñ/¹a›:`¦Ôšùý{…ý Lo<ð`=[ß3¶Ü`·¼?¼„(xÏ]H‘öçáŒg«xh–í9XÛ;ÊýÈÑný «òf½µ<{÷³:S?DÀ{Çð°‘‘5zÂxrâí.5Aç¸Whæ3;«&ì!“iGÅÔ[¼‡·Àèó|?Y¨½’½ÆP@9xƒ,™•LÌF‰›÷ ï)NFf¦üv:gÔãf-¯­ÿމ‹2N>ᚉ鿤©„ôX´xÓJ3‚–kÉ,M˜`ï™U‰½ü¦·÷0ÿ˜¿EµEØ Bgº{$Ä\+á^¶Ì]Ív³Âð_(™ ÕmQdi^>¯³’ŸTÛâjеÖÇýDœÑ ¬j˜AFÃW{s«åû­5(-’)ÊÌó˜&gSʾ¬‘¡¿‹tŒ´UÁ´”×/5Û¾wÛË¨Š–ûõ~s–yÌj¤2êî°pi†ßGÜøº€j•›SïÀóŽÆÚNMŒæüd/ùÿ’s«^J%¦ëüûü‘N™0[‘>é’[jê}ÿVây˸VFdg€í·PµÌ šSÁnÒ$Ì]ðÿb1 Ïâ —»[ÚY5jØ~‹Z‰ûæ¦l˜5wÙæ„L*‰)ƒõéøÿîç©}4.!É9¤|®Ž -!«Ù;ÀšRß<§¨*Òï¥EZ»•3‡ú˜}=¡ÒXÑ‚JàP´Z¥ÝÕh+•æÐuçF"`[˜ºý÷¬¹8–öz؆ìqçÚ ¢í£€‚:ïí§Ž›è:\{EÄ,¸õO9·ÌÊ®åYÿíµ7[G¾,s¢¾n©úÎg3ÙDn®¼gxôoÍEXüöÈ0¶d…ܼˆ€Ì<$ûª Ƶ°¶!jÄûX1†ãܹ™û;éqw %Œõ)s58ý -oªöø•ïúM¿ñmT†{9z܈(jæ9t”{„|4f”kKÉŸ6œ5ª¸ºÍSaKÓ¸h0mü4Û`Mï¶\!bÁ´OHNŸ)zÌ@t|­2¼fÏát® ÄÁü!>¼š©_¼Ÿƒç(a´èJEGâ yeo¦±Úís$Ú‚šMò’׬iê*KϪ›×ÛÕvEF‰èwJ›ë§·óWjKÍþh4JZ£¨y\-Ýu÷Äœ’"pÍ·žÑ|SBAñè,ÀŒÎ‹ŸÊì” ~5a¯ëò<Ú5uê>ìó’‰—†ãš\9ð”:âI!n:IÄqé~ˆ‘ý_k̶W9ñ ¯PSºtAųeÁÍ£ó8` ^tÅ…ˆ8YSýºWãL0Öm`ò€›oøê=Š¿0´ÙbU/Cu‹`Y1Z˜«_t–ßí-¬°©’n±t÷C£6Ûôá“hcH^€¡ÿ|b´óa †>×ß<8I’}PS–Tìœ,0?o9±®%ÂóÈžá*zt*1× J†[n1ú4Z}ý¦ŠoÅŒ˜(ƒ¯ØŸ>mÎ…„0ä`'Ýi¾&^ Áöx.]l˜+Gƒ|[gàÌ @ƒÙ= ÍÊãÖ…QàL$ñ ·y;½±1íIc¶ëÔü*mÑsKì–“Ê›YÓ+«–Ïj'Û––y{i©LÓîIüb¸-ª!ÖS•Pñ/‘ñ­¹cð‹ÅD-¶ùè*?Úâç(õœ¦]ïNFKkÌÙ¾~xCÙ¡öz‰ã ¶©&'B8.LÌ9¶“Ò²•=˶´Ò³xÜ-ÈÌ×Pú@˜›ì`œ5Çœ¦µùæÇúYÈÏ´ZÑ—ÉszSš —$tëä·ÆŒÛ›lÕÊ©€?Ö^‹ç'Ml—ÙÚ × ¬€š¹Á¨ð¨E‰!N,Ð-ý¢8n›-­úµŒéøS2oö ¿‰§I;¥a•E¯T t_W®ÊäeQä~kEö£6,ÇØÕëÒaqK~"BÛai (Zb×ؼ¯ ¤«óm±~4®1„ê3ÁúíþÖäáœÁãb0ž¶óa2R.Ò;m ¨òG»A-Ñò—IÅ Åžáêwt3vNÙÕö,Ò¼¨9ÅËpBI­,`—Xp•Wœè¸»là{ ƒƒê$Á)"'UUÞ! ïßÙ>n­k¿lè¶lé†yåAšÛm±Ù¼á6º'×ÔäÂéð\*ÎÀ£ŸÇ@4v ßw±Î组x+º…ͪéÎó*&XÞB‚ ×÷à@3dåñº¢«äuájn2%t=D9}û3É+PÛÜu/¯›¦JÀë®8êuÁ&Ró6¼,ÓçG+앪¬Ò $l¾ˆ8¶ 5a¢Öà¼A$uŽ¡cI}Ò'°›ÿˆŠi·’ǼE'¹d¥´²¼ò ®v(è\)à RG|=ìˆG:#t sÉ ë#Å„&ñŸ,F^Aœz Ýš%óç§¿`°Â'¡ŠLF®d«ºÚ›ü ØYª·Ë·çÜü¥Ý™>®ßó:rºBU’\Ñ©mb~s9öõ§~ñ¬ªm/4‡Ë`ós´r¸gÄNßÏ1Ù¸‘ŸÈöZm%e1I£-ÎÞ‡øÄJ~ç–ûs"Ë@¯N{5ìž ?™‚pÖSïaâÐ}á3ËËJrVÑ{ita\„jb¡‹;ʪ%ØÁm`¬<¶ÏÕžÛ2@›Y˜—YNÊð©¿Oh.ÆOnÍRtE2œy‚z§òÔ)ý³>š?:§Ì5$Ëh¨, ðf¤¤ªÒ€ ÐÌsgêà›«k õëpç¿îõžÛÛøÈÆ E “0I*œ-þñ•»?Ü^ôËa&šª×^´”Ò£+¢Žh,i/#7ùaãGé—÷e•‰ÞÈ_iÔ÷ØÁÐ}ЕR6È# o†‰+Ô/UažE™¡fŒPcü­6¹ÚP±zÈ„I’ «ž1PÕÈ Âîw#§ëÐ ñgs¶'ùìRE¾þ«l |4L®¬@½Xˆp}Áb¹Nò—Omï’SÙ¦!É("1 ^&ç°òF]g†_ìc&<±m¶0O°J™ÉI|ˆ!ûe’ßY›ßŠáW®¸*Ì.à2ÝÊŸJò 27'¥+Ú!ëŠnµ¸ô8¸«ä¡šç>—ò¡ïabÑÚ˜\Pl¼Í4rB'¨2ÏLzaùÝÀñâˆ[¦:ÐʤøqãO6õ4"_"úºŒ,ˆtuX?Þº¹„JÉï8¦`IæÈÞ0øgðcU  δ x;Ð{ïñÎŒ쿇G‹)ð’xŠ_­ôêQé (NF+7t7®.EÃøO"êG, "xç¯S‰ê t;å{4ã¾ïM[[!7ÄÚeÒ®> àŠ «ª¬’‰8–Í(Œ‡c’¥\-5£º(MÊ¢`°oS(€#lºä•X/¯•->½…ðžÕLÇH*_©ãG½(óOþØ(˜Ö 6…&µ¬:£+󆧺1'o ™6•¼°¥AŒ†Ærêöó¤p”1¤ê]ÿGìî:;M`èªèóŸa3rÀWFx —‹öà WNM€™Á¹=`\ºW'c6ü`"Lj"îÒÑ€W2`¾7{Æé7ó’ñ¨¦3ç—9Ñýµ9M=Œ6 ½sl`9ìr)Ô€mŒÅ”Uå§÷ùø¼_MïU·å¸gª1,¡w¡ÞïD@W°dìoèµ85Ð}ØŠ®ùÔE²N¸Àû¯ÅmÿÔ‹iu®Eb›ÙbpeâÅßfÚéx(Ók49Ü‹ Å·—o‡áö8Ïú7(C¹\öHÄP™Ë:5‘¢ošOª3æÄжT¹\û5˜í«»µ ÜÑÛª×z¤‡‘Ìïñ•àq†‘åß©€æX.¾.»-(HÝúå³,Í'î êá•pÇ#ÍcS`L[Hлå{òu­òrKû¶ZG<­VÜ$ý`?ëßJU ”ch5YmI‰yoÀñ |bþ¡`uáv5mJvé®É`®"~zÞ‚\IÆøÆ„Xã÷ĺŒá`,!WV„ô¶‘›œ±†Î€n5ÏY¼qžEj’ed5šk(;í“økb706Nj¡8ÄNÍ`åGË;qÝ‚ñcö%UŒ²Òã‹?Ð×¼t¿¶œ¦Êÿ÷×$E5>]Îùè û¸¨~ù Êä#c}ÝêŽöh´åDš:2];†Ý!×È>:…· ý ;*];nyå4Šü:šp®ë”Ÿ"×lw˜¹Yúˆ¡‡\(¿#‰˜ühQÜp]TäFøƒ¢ò‡„j­“XX'¼Šdž#ªräkÄ»ÑË'Ù )ظ¼xÞ嵕€>éeCƒ‡gyÃ’éo¶ÅrýØÆòCͦ¦ᦣ¦ìS«sÕ–_߯/ Ší(Œ/Çb;°ê¾³†æ‰Í#Ìâ<6(¶ÇŠ€ÓÞqJ•Uö26É5(9Dú£r¥m˜O¦½MëY©ÉöKƒÍ¢£õ¼6GÏ\ü~WH&VŒ¡—PŒ!¡)þÚë6'úü5Âs›‹0o\¦1ï˜z¢E¶85636ž¯{Ûu:©(!ÌÛa}—Õ’i„ÿÐŒó*kðP>–TïèûxC†Öù·­¸¿å×!²h/: ÈÇâ´Ä ónrÃl@÷`çè³PaQ²Ñ ðb¢æ¦(°^ƒ¸5É¡I á’O7èD-ÃÞE†cf¥ cÓ(â3çbâT× ÆáÄ]¼w?²Y:Ûª*Yœ=Æ5«Ä—šõw<(;q*õn,œØðwA’Àzùã{© *ZZ”T¤\™7Î7Y ‚t^Zí¢¶ž3@ÔÌ‚øçÉÅÉ=†vˆ'ÔÈsŽ( EL`PŒèÄãJ_S­Ÿ+$uÜï¦pÓ0Áw[É'Ïç{úGdñ"àk4ú­U—´sò­„ D?á÷PWăv×I a¯†Á—)¢zíi±œçµã eÁx£’Lf¬î}³Ýï¬Ãøg <Õ?ºimúù÷Úצeñ³Ë5Güh7dkÖ!'õ'1.#çU•+€ãœß1«Ø¤Ç˜Ö©|r° JG£Ý?Ò%ûßüµØ öÙªsF—Õa=ÅfB;8z0>¿æW¦r•€~«!V&ñK1Ñîþ³ÀÀû„CIJ5 ˆÜ”éΡ\é}s†ŠB¾¶[ªe^r$/$ØU¶0{,ÚÝa××ùJ)†Yªë,¸¢í¾ãEçDÓžçºé=0 ƒ¤ó’"§¿Š•¡ÍŸkñÐ K`òò`2OPtáO‚I.0÷©E)Z,à5Nñ¢jYkåo´^°©U‡Z®ƒY™cd÷Åó½ºà\ÁÊñ@ÖÃ=õŽò3ž³@¦¸4ƒS…™ªJÚ|i”.ÖV=ÑËÂêc½:±K÷ÌiýÏŸþHºÖ¦º*M«Ü? ö;Mw:„ó~R%ˆÄ€¯KhÕ“):•4SJØ;™¸^}™cܼñ«´±›²èt9…³o!£ÎüÒA5]û<ûÁH-q<±Ã^iùZÔ_í‘Úeg³Ãn¼˜ÿ=F¦V±’t¾a|„ÃÞpäwQj¶õÖððüáTi6v‹Dùh-Oa‚û¥1P—õ·™ovÖóû—WǪÍuËæêoìHX³‡gtþÌüåYÓá!«Ìs¥þ¯0Æív¸‘"Á†)ëÉŽ\µ–ÖuÀ¨S—nl°g/ÀT— Å^ Æ…¦U¼·7Ïw’7NëîAÚ!”Î; ´.,R¹OJ9W=½”v™WÿÔ±ÉSæñ Æ«›2Áò91‡ÔÙŒ ×c}QÕp»cßM‰6m[óºY? N+½6„D_›ÍIÝÎCp)øf—ÂzŽòîÎu#ѳ¶®!d3Õ'êV÷#Övñ ¶Ì!ž.}É8žP<кå¸n϶’Û9&tÚî‹×ÄéU)Âнm1§Ó :ë{ÅLì}SpøV”¯··ZL+@:„3 ¦;ˆ†_@è—ÿ+­Fªî·-*àg$lVJÇ5{³éH¯]›q g ÙƒpÙHÁ[©/TG4€ÜÈwUm5Á›E Ü? :I6¸ERž(±I7%ø. –¸+rw7Á­MºH &ûyš>]€G v‡ÑÁ Þ()¡FØ N ݀شyL!é¿BqR„»Tâ:‹¶Xë'QÍK.Ò(û‰ ê#ITˆ$oo¨(® O¢¥™Â'ÏË.&Jvæ@‹‰#Û”ðr|ïrM;îõå‘ÊɘÑY½‚(0ëe–Õêé-o<ʵ .¾Ô½JÊý˜×c¹Õ¢†ŒµQÇ&[2sõ«EËv›š *ö˜aI òAˆÛææíà —*Sý<Ø…O†¢HCoPpA§RŽ¤ÎŽ’¶·0»Z&–“«'þ°°Ê&°ñõtÇGózÿ¤4pÚïIJä9 ç=Cqº6œ™Yæð áŠÔùiµ#¿7RŠ€_ÄUzyB2äò{lWQØ<ï‚âoR6œxÀà 𼓀\ -xÐ>Ì)Ò\mСóã<UBšD‰çÌåYúÀ%x±D˜IRBdc›ÛT†°êZ†??KD21»ú×?eTÚ,ªswÊâž¾ëÞ£û³Ùž$’yΤ?xæÄ‰ûáì uëÈcÍϵpóEÅnˆˆÄêl²âPàú;ÆjîH 7\­•å¦ lÈN{$†$YŒˆìî~¥g"«f3ðüN:¶Çb1³>r džóF‡ÿ yŠ7üÓÃEòšpÊ ºúÓùOË^ã® À/¤å-Šk°k'“jÀÒTQc¹¿X~ËR¸ÿSÊ‘ŠÆ•XèÑg½$pDº=Ñ’XÇmNã={b?¹í>ëoé3Yâþh̓ƄKeÓèj¤1áM¿ÁÇ„¢Ï²€]™˜ÎÂ^øuú÷»IpIŸÈ[kµ˜éw€òú­t“FMé‹Âs´À\5¥˜ºoŠJu!Ôní«Žþ"=kÁßHþ6¢‰±ñü`Ç,‹,°hO&€ÐSûž.By8w¬3PôZ Bˆw>¶£Ý35†Ð…Œ]†IEÓåç3?”èÔCO/Ž:I¾ä3C)#fþz¿ÏýÁ&ÿÞ¤öiwSû,+šòj)ÝD,^kAU¤¸^Kå­²¹04.ƒAÏ–rJb‡à2R‰¯›üô;«Íö¦qã¾){‡G‹(‹Âåò iüa?,ô yHÀŒFf0Wº|Õ=FFS©ÃnG¨÷%Ì*é°P¹Þ¹©•¯Õ–B­¬˜]A ÈÞûËŒüYi ÞZÿø‡bÉwºrŠ·{®i"aùSñÆz6̶ÔWWz’ÎÚ1EFÅí!˜ÊðUAÜiùªh¯®>„nâÈaC° n‡ç\¡1Œ@%ÝÊ”4Ø›áM¼›û/*ŽR²-ñ€6Æé[ñd—yiËð€…g34µ*# %ö)tläßÑøþ&0ÈæY]˜é,0Ø*Ó $î‚#h.1n¾ßf`„HÆôߎ‚À¤Àr™ ´_ÛLÊ€ê$ 3ßG©ðÜËô¸pñ¢¦Ÿ÷«­åC ‰hü ŒP!3‡û˜Å÷]„JWk—upNv]5Ã/¡íeœœ|7e/ m+2iº9X’Väø¿)«<{%ƒ äe¾ÔºyU·Eù”¹AšÂ²ú'h¹n~©ŸÝ‘ð¿T£ ˜Xͬ@ ®jaìiÓóo£Ø\†„¼þX$. Çmñ– ¬òç’{2²ëwä}ÔÉ20þ{ö” n´—4ŠRÉϦG=™hyK‘_³c¹Àý):iò.oÔ’JºA–ÚqK¢f¬ˆõ'mÓ7ã‚k3Éâx53›ÝîiZÏÁä+ÅКo¡@ü×~[x-ïyH_ö?Ñ0_Ö×k|91±Ýdô(wùŒL"1Ý(¾úèó;ñä ißIÌæ+÷ìÜ£y`/IáX_äÑ8è{ò¯{œîÅìF¤µæpWÓu‰Ÿ`P‘ÐÿVtïöÊ „yA<7S3ŠÐoà>¥hal@GW‚pàôìIrOÖxÿ:¡Ñ¸œŒrðF0u"%6ÐXú1¤;µÂ) áèAvîàÏÉhÀ£¼¯øÁÆåH½6|YÖ(ÙŒ.<Û÷ËñîŸ^Á,uç¥Âª{#M}V]sôÇÎK!1·l;×¹ÿ’&¬$!Œ~š5*Î5ÉKíXK§]4{E°%ýq~q9ÏÓó©¼Dµ6&ƒcì\«fXþK¢ÈZ>r?>[¨ÄÂ%ïZ ¿ªhß@_KßÔ©$ƒc=2\¦z ŒMLˆÿÚëĈ’­”28¦&ñºP˜ÈG÷Ô‹ Oü£‰ùwmhHA(E¦0—¿šê¾åç`g8ʾ•sKžlZå÷íÄSŸ»0DGœkågô§¸wð¹y=›‡™¾@É7œi ä @PSçÅâi[O®~}ôè4 E]A/=«‘*/ bÈ9f–ö€”Àé`´Aø×ɸVÑ*<ÓdÃÔ`ØñÔpFz[Ð<›‘.° ÍŒ6ýõT†S7QþÕ¢Øßsò†Ý'œ'ô›ëã“rw=f•³úÓ»²›óßy•GWUÊ%¢/)Ûp4Z’±Çs$qòU´d{ÌՅî‚bq ሧôô æ£ü£EŸï‹¤ñ³êTßB¤ÝÖÁÏt)ãÎ뚢›Ð5EMNËÚw5kþ¯ncÃ/ȤU}+Í  |ŸaßФ)H‡Ôše=É1‹ç¤TîÐ,Ðgå—·ŸüÞ…BÚÏšæYõëݬÍl^ÿÒÄhÐT|Õãçwø$ö¹:à¨6· â.ƒeÙªŽ»nÄmŠAÏòÞJi»‰ßÎu ‘R×0òþ)Žä&[RŽ0¾;©§l™„ÂwÏ–“´¾–ôŽž-_º•1ÊýX÷Ó£¡ß×áŒÇœ:¥ý²_J*Cyè|½˜¢##¾jÔuöqEætQÍ*`ž"½qÞ“"™AIfŠ(Œ;Ô›y”Ùùÿ_Q ÏÕhÓ²g¸Y@É„*eBúÊ”OYÌ K+‹ž ¼¤ˆºƒâöb›Ì^Ùݰx€#a‚ƒvhëD¦–=YÍì¥OHš³ÆË&e"ĽÆ>rÈ䯅#I¥0€ô½5Læ$ü™c-]>âëKk/Ÿ)¬DdÓu/ÞÂY@KvZAh Š0ôÚÞxR[3¯÷èf$î1ÜvÔiÁøÔÌk"8PÉü™Ñ ~±™è©½æíçw;<޾”h@YšŽÝEZ¯¥ý_üg×P¥ ›10qÇÖW— ¶sMýzã²k$ §Ã>ÉþÑ)*‹¶-`Ë¡žIoød‹dˆRaÏ1‰ºÔ:ˆ‘®š„¥ Ø7ÜPæ[ÚƒIÑÅÆà‡Œjr©)–kV… H©O Ò|á 'Fÿ  ~:‡ò9ŸÒeêÑÄ‚cû ôyÐØz›Q)/DÑè”v^FºúÙ:Tktøz®VÜa‰@5 `iÈ p )Â#¦ƒ/C^ú¢¯"4Ï[),å$AšüžUu»JäD7›¯t¶å—]%@%—íˆA™ŠŸPˆ›®çŒå÷9`!@‘ÿ5® NÚ´Ò*L­Æ,¾ùÙoõ¼aVPj4ÄEåêø;¾"£®žÏàé¬O—,âî°¢çPnåÜïG"¹¥½š1–·{‰>ª±¯ŒX‹FM`•Q–¦µ<ÒÑ ®FPõ{c|~bªßqéÁ†µò¶áèw2I|šÊˆùôH¯ËFÖ\Sú}ÞºAQ?QGCE¯ï޳4•°âjW‹Èµô"Q܈²Ú§C5 žjzBÍÇÁXH >gŒÚ°ó$§pL‘$Uð”v³¬ß!æÖÉ“ÃW³ Ç›)ØåBÒ€ý±ŸwØäfñÞØEœhjŸ„ÿUÎÏf¡žÑtî³¥c-C&ípÿ‰ö$iªJ;†8Çùœ—cÑ塜û“qb14µPýUiµ3×.Ÿ‡€ E¢7«5é U?­õæëëíì ÆI­úZ{¦ÐÆi¤îŠ&WòöbEçÜ ¦™.Ñ=ŽC‰Ñ ó( ‡nL#\¸ÓðÞ% ÀÇ®vé˜5~F>³³˜$§î!±8l.M3¬‰OÊ8ÞX£3Z X1fb.¾²OÇS_ ó|þ¼bDzJÃ'%_ºy…&†c¨™ü4w¼ß] Ü2A*Ä­—Îew³\¤»¹Yİõ§Ahªo±¿êy‚;çšÎ›‘7buPDT»?ä &ºŽÜï25+‡¡@­%ä¼] ƒ¤(X¹©;¯Ó»¸( ë/®Ø–$^Ç—^(ÂæÔkÅø¯ªTê¾£ë6#ø‹M)ÍwgGƒÄŠm 1Ý<Aùî;˜3òzÉÁç_ý#”Š!éŸÂé?ö,èã:+ëB©Tö@-Ù–E½—^äؿⅡå(©÷uE‹HnD ±³SOLÔfÇ›,USÍ£˜ÇQg¤5Xd~U~ž= Ò,³bö0m«ŸºÀšÐK©:D›üy‰ÖG6!á]Òÿ#võ.W‡«œÜ®Kèâòœv8g„óØHú°¡¤tbfš¾;M±§§ôj*àgáì#jÊFú “Š›î ß/sÀ4Wôx9"Ö.ïJ®¯‰¯u´dÿÒ5aˆûÈ‚ý$V#¿`lè«jucPýáð”—ü ¥ Ãã£#5·Ð®Êñœ…ìÆÓ×vì@©r`1¿¦ }а÷_äªÅ=ɧ‚ÌwZ:.Z¼gWqu raÓÌyFØK3YÊŽl šåµŸn©¹\¢Xeý{Gºþl( 6ýÎV©Øã çG¨ Ë$“ؘìŽ9¼+œÏçã+²>W;•ñ·Qõ¹Ev~vvW á]H»h<7íëPú§i© М嵆ÕiUVJdr)wÐ9J½WÃï¿÷°Ñ+ZñXäÚL¶èS¸9EñùrÞ÷Z®1¶-ÂG+¨~v–¹+è³z€ M2Ö{áN¥®D¬Ñˆ¯7"¹vúSûh׳õÕ+S’[wª*º¸IéiöðÿVÅ]ßýìÊ·ºïãÖÙ¬º=µõÀ'ªÊz:R‡ èÚ¸SçÊå‹É½23ÿÍÚÍ6ŒÁsa¨j‚¤•HÞó•1„(0†°ònÚµ*j¼Õ°Û;þšTท§¡ªÓ´{Ï~kƒ ,æ&"Ì Zø'þˆ—}ÀÑjƒÀB¢VcÃÇZ×b–êæ1¥ÊØ•æü€0†¨·Ø dŸ0·õ¨Ø¯‹4è˜n*Ó¯ ¿¾óxX '¬ûܩ˵„ôSÌ$¡ý2B‰¸CÊÔeø˜´güî)Uö™4Ùfñ~1¿ÁÕZ ëœS¿=BCìðM?•) Çæö ªÇÞ—§'’r<[&0–1“öCý&-.5¦u¹ß½¤.«þÁ„( Ø¼¿©ÑU='J!Àk˜oskPý. ¶D–³iáŒÕ@¨¿kLtZ•"~k›Ö|^ZqÈì‚’O3 ¢ŽIÁÜcJ&’âÿ·HTQ”u4ÓÇ—È'÷» \©ñ ùû¼Â’Y±hjÇbÍ.Õ©Å+XÉý¯O¾N1°€@ÏÎúêƒÓådà§M!oÚ/´iÛY¹½H #a7Í èXËúÓ°á2?ÞL;Ü4íšCÜ%¨ÌÖƒSZ8çÿx`Ëîé°Æ¡šx×›”i¿Ž|7‚ ‡Ž BQ<Z/L’÷³9æfn°?í Ÿy°Ð—óš›–?6æD{£"{<x!»Vog±ÇI8“«Å(Õ‹¨2g·ß.¼éh@:Sq3K6éó"SZ ˜4=+ȨA”5éž¹‡%úcêcö£#“1ª£=Q«ÇF¬ù}ßýkØÇ%ÍÍ="µÊä@ç9W¼g+‘Ãj8æazGÉSƒ€C(]©% ‘ük9ö¥ÓV_úg3êîñô©%'GÊ1M„ÈœÚÇ¿ÿ͸¢n{PHu³+[cI¨8¨~+Ή[UNɃªL„|¤u)v-}+k•Â;5Æz?½«í½:@b@ÔAJ¦þU–( ·D þŽ”ÐuÈ"PÇ$Fšå´‘âL(¿B’߯îÛGÈßIŽ=µ {ôØÔ%bÆÓøÀ ‘:ÁtñRøhÛRS¼òÅê.Áº¾ž€;ݬҀÓO^²,]_›ÍP §4_ŒtÏ]©cžëˆYš?öåºÍ¤­¦EXºý¼)VËA½ò“OÂršž>À™ -‚ЬRÁª@vd­ –ÒÚˆ4ÁM‰#C6ž³,D¥ô»r@…-øWoïþqéà ËÔU5UzNá‡\qȽˆOÙ§Ó¦ökP=v±b¤KÚZÅú™*Í™.Fêí2ûýK-ÛÍ(jˆº·Óo–຃aJñu­xûÃQ•|jì!K¥uGpÜÌ‚‚úóP£`Ú¼î÷pÐ>Ø}7C?…K|·ZŸãŒpè¤5Qá¸M p¤U£Ó5xê—À TŠË –®Î»-‰%<2£køXÏ„8G‘T¯Š– P¹  ¨dpa®Õ\é” ìGƒçN]º¥›JåUò#‹<«|+[ã!p§R^÷JÊá_„ö¶J››\Nßõ"ÎŽñÊKMA£q»êøYq_@™3Í;’ìï±ó·ã|É<«Éc°«#¯‚L½„+»Œ£Ý\l1†ËÅâNɾ6Ü ŠUPÍ#à¹ß,ÇÍöE·Óþ’ Œ:!Ž!ÉÏgX™4I0ïƒïª›ýê¦B¦¶ÉÙ‚_Ç/õ½6oÞWC¼&?²ÌêÂÖô‘:ÛFbáüsÛ ½o妠¼×SG‹j£Û줗†$)[—4¶â^a|ÿüåÒaÐnøW;8ú_S_o^„¶UžZ‚«Ì#$A‹j{~ëèÞ¸øNÕ?¢EòxíÚŒä¢Ù'ƒ§Êß`}ô‘~écŠÕ!ŠÞ*†e÷†2%¯àòÛú²ÈÙÁƒÂŽþWä;„쮳`ÿ›þhïeÄ–Ò-ê{çºq¹ÆA$J êü­TØë•:ˆZéÎÆµÐLÎ:A݌֧SN8Ï@"oâF°‚xZÅ“-]6ß+™˜.yïõaUWx¯ïЧ•ühJüùC…ô)ˆ=G,ÏxÛ¸ÄeGð ½Q9+굌°ÌfîÇM/AAßV¡¾»É\S£qHVy»£äܨÐCÝÀÀDb‰yfŒ;ÀÒ Å >åGbéñ›m.y£HúŒr…|zÙûºã"¼ëŽËà!)Ò¿Ãá|窌,ÊÃÖL2¤Œ›ŸŠ¤µ€Ã#“:Á¥5ƒea0ÛWþô˜Æg× oiÜ…õj2ÿ½Ðq2ñC—/—ÖÅI‚>eñuŠfÄÖ߀ò-}6ŠÔÅA 3%{sÑèçôѳàÛ0G}°$€oOþý‚†åÏR¥ç^­ZYTÓJ®Y÷ ãoçáäTCöEÀ××Ô{¦ú$À‹ö’÷4&¸òG|†µ;ßóí‚ÿTëòAÜÞ”‘b‰rÑÌIn€úÚ®CW@MÈÎzäXr¢Ï);‰ƒ¯†øA[ÔÏ«Ré™r²¦Ä`‚þ»€©…9’[˜Ò¤~S»TÍZÿ+…U§Æ†o3¯æýrKQ ÞÝÕ(.8YgÊT‚¸ág‹'õE¤•­]ΛtLù¾^ W|ÀÒ¢0ö°Ô®«éRʘ¤-3¤¾.ÿô“a)U=±d™‚—‘WfJùbþ==Ÿ5ãŽ%/ÃïâË3ûÎ?ƒ'2ëÊ+$-ˆš“©ôZ ®ý¯¡"R×î´õ¨šµ—·fÂÎAH\à Î,kû9EPZÀq™ tò$cl’î}Dz¢id0$縉Ü%Çn²jøùF –8uXs%Í‘„;Ó9Ò鹨lÃdûB°¶‚Bq†åR%£.NDz•9‡ñåd[$ÆÉ²HŠ«HT‰ /4_} ‰áüôP…z±ºm$¡x@’3@ØV¥ûáü n?}£Q.;‰$í&€Ï°G0¤º+t‚‚Çú Xö”Ù¤IeìiÞ ‹-"Š{ÄMüPP–Ü2$–æ9?Á,‹psÍÅ0·ÏF“)Êg‰# cWqT„UéA{B–Ф8£e";‹u¾|tŽ9yŽÔ‰æÔVýÕÄB!OÊüä¯MÙX‘0WÓN®‹Cú½“BȾC¤5°òØuŸ0ì}¾0Sù)7ˆÖN1{p#nØoÞª€Œ9NaëÃì¶)oþoó‡9©oÊ¥H*fQ¨óqi Ü—AŒàÌ$‡þ®~àÙs´ùBð|ØgRÔ/œøþFR üöñ2³‚‡>Ðqâc˜õ[F½hŸàê†ó¦á”T[G—¨’j—±“™6—~2qM\(…ÿ*ž—çÐü/Ár¶Ž€Öm¨¡(*3›:õæA0Xì¶°HPv){ó]tùµXæú#{þqµ '¾gN9Íœ¯±Ë{C»¾ ìÒåãÕM±ï†[i“š!ô¾AžQª¹‰··k¬¬ÆÒwL`™,?Zçó€q앤˜¬„k×Fç*çP*p9°6K™@ù–¬Zæ» ô(O¢ AbüÙTãY©µb—%ô6ÚñŸ!Œú“k ‘?+ÄŒù5d•S=§Z'Ët­ê†.·!Gê¡Oiá„ÿzô:½fÿ(sBf‹óŒ÷…ºþˆÉ5Kž-ìüÑX¸Eô[1fÝ€x­UÁ.¾õ­á\¹s[­úLáÓ¡BÛUÁ©V< ìrP­!pj’¬ˆ 4ï™Ï~¶ÊtcƸ¢õ%™2ÃK#Äl 3òMé$|Êja;‹à"\.0-¦O£ì2d-²ý”_O5t8YoíA½®g ¸Õ_lÝ>Ú L!'9’¤{9Ž¡?h)¥ÀðKnÿ^Ú°ª²Òm‹5pbŒ“L Ó‰ŽfÚ~¾CnH˜‘ò‹(*Õ´·Ì½uœ=¦ÖŽä™½Õ+´Ýò¬8Y×OóÎÏ¿ùJKó~ YžS‚þ{ŽE¼/"†ZÐ?Ýâ9]¨ñÀD«y”ø4Å0ê’¨G"u—– ôBzR+êzcFs3S K‰ý£<¸×¤~Æ"*e^XÅ8T7°tJhs½‹ïØ\÷!ê1ï¨-ÒȲ'qJ† Ä&„SÇÙ“-Û¾³›Ý^2åÐ’öÈ+l ÓxHÖmÅCl¤u?ǃe#6}O”Œ­ù­Cè*‹­A¡k=*NòV]ÚËþ뎶°«ëíÚsc”šÚÚ£+•9z3È+åöGý ,ð¬Ð[¶9eƒ <°YxTGªfâÚ¾šÙG½N$ó¸é!7[E|¥!GÔã\Ú ì{†ás>ݯLŠÑžäóÜpT»ô{é.Áqçó­ÎKõÚr æZJ9áoÉphÂHá ï.aÚ¾È,FÏFûfòƒá6Ì õŽ2ÏËŒâœþ2¿ºäh 3ÚØ1ðϰŸ¼K1åR³´Æ8à1¿iŒ™œñ)ŸAçdNÅíá·°FâùF“zÀ.¸ ØÓØ?’=EûIò)wN“Ä,,9.kÞøJè6B+·è™yr_tzŸÅI©÷NôïhÒù–º4iwŒÇ–û_ùS+ºræI)Ö§N8p“þMc›¤z „Ú(~Ï™ ù~XdÂëæH]2ŒfY;F ¸ŒÀÉG^[—4ˆ>e™¶Ì^œw‹âgc‘kËÖ4n5T‚>ù•ÄçÇ!£]¾X‰¥MÑ9LMC­3šëÈã ˆ1}‡Ôx¢Õ¦þ_†¾Š(E©¥°ê»å’òùÀŠ@ÄX…lÿ· þ¥­U䯻xÃÙ}-ÉÕƒ¿˜«]ÿòÀtø”ÿåh%;5aõë–Bn ÷_Ñã/F.—9 PÀ'¸‰‰¹¸~2Ó1âjK§[ø©®Ðåï1drÖü§ir‰’F‰¼[årµÒç[¶¿ýEuØMddA”QµXGµ.Úî g‚7o4akdb¡Øo"¡›ªú ¤AÞÓ\ ’OÛÕÑÛÑbøpo³®Rœâ€¹&éUÈûsí6iG%$·í:B"ÈQCv ›±pï M½ÐHóˆgäy{8[RØ1=¶BÃÒÃçÇÚs†e‡YT[ÐtöÖUé•R—ïï€ù›8àS‹Ô¢:€Î²Œ°ªïüWÑ,鑦ʂ%•ŽXW£nëÐB¼kLô~óAaLÎÉ[È:qœ|{׀ń½*uý"Ü-ßVZôµ9ÿ±Ù¢.¾"­À}ÌM'‘ˆE×ö‘£Ò¾ERÎ!.gZÓ …šð^´dÖÄ@˜Ö"Ïq6"°7H GæÆÅk;ôNQ~NãâÃñ¹P\½r/yÑÓx¢qc4p›v¤Èp#/¿^x࣠wÂÈëXE2ðøzš·KzóY#½¦\Œ_)?Æï5cëó)*÷ÝygÊ{³Å¿¦2yqth ?7ºú÷Н>nÂγJPO!fóz׳.Ú€¬µr2Èx!¨½¢\ÅX¡IÌF‹5&iþÇœWñ c2*s&Ç‚® Ñ)ùCç»Ö\g‰ažÀ(]“uÊé~TàÜ‹ñ²À͸åFJ“¼¡×Ë»sÿ¨Ñžv+vûöªqOçpbñ0ðàmÁÔÑÆÌãJ“ò²¼ð@l.YŽÚ‚òI5.·§»Ój”œ%rÔ Ö§uÁsûÈ·^’µwÇu×éãç]¢Nø¿D+.jŠBÁ/iv!Ûzˆ€¢7Ýb¨"IGbfŒ¡FÉ0Ã:ìw=ñwÛñf01=#žœDМˆ™“À X}™þºÍA¯®ÖT«Êi€Ì?E  ¥ÓM¨sÛ\'<øÍ6ïü“q–2q —)\jj˜‹+Q–«Þ(om§K.ë³%¥ÚÚÈxÓ–©ÀË|Ãtyp~.£Œ1Åyí5ûZ@P´uÿ¶§\Ù“ãs‰|TqÆp*¸D+í™M ›ÖüPÛñzy*¸pµÚsé3}¸SEŒÂ¾drH/c{þÜ\-®#Ø—¾ÚKíòÌm?-à²o|| S®e™7¤û¹È­šC'FÕKñð_Ä|«£¯felVìë¶·rcÎê‹”dGöàÔ+I3êR‚o©ÛAÄœóg'^‡”u ¸J0"MMÛè@ ¬{*­‘«—ÆÒ0/ÃÚÝýhA­\ºG¤ãþ"òk¯±>^ÚRKiƒzîÿŠ•ê¢/ö}ÞùÉvÄ05^¦ÑžST„œSMÇè73yC›äC-Ôd*no¬S—µ¡ÕœÅ†iÏ \ÅnMKŠQ½1 °y {s_Þ÷VîÇÔ‡šÌ¬Å;Lm1„²öÃú@âf÷×’êâGRúM„I¶úSv¯üÞÞMj?‚”è·©¿½ kís áZXÃÌM¤<øñU)æT/³¨;R¬:ëôÁ w1\¿o¢1׺û Žj¬•|˃ª³ c눯g¦ÑÎ*“ËÊÆ<-tìµ]®Ÿ?l'^l2÷‘@¬øC È[z#dÁûÇß²ü>JÉw4'RQa=Gó…wÕ¾^’ ,¿DôÑU~ = Ù˜Ù}oa©¹Ð/m,§Õ™ˆ?„Ë«‚ŒSãä› û/c–µò¸”zOT­Ø¦7ÔT ×tËðV¦Ã”‹”€ùŠ…¶ †Í¡íy~m¬«a5ç·@÷ñ‰È@oÈ<Š]©¹Þ%ãZ¿S蔇PlÑyÙu ۵쎛ê§òªpתœ˜Ø2Úrï§AòXÉ€Eà9Wk\Ú¨ ‚¾ ºÚQøì>ŽË•Š÷´_â)NNnÏÆ Ã`ñ s’^A¯€ño+ß“©VCÝ ŠDá«àæ9¿)¬¶ô-™»{¶|]hÅ~,üNêÄب‹ÿŽ…[:ÂJ®!D… Ü= &7ßΊËçBmI‹`#6×¾>AmÆKf¶” Ÿ¶,X*GPÇwYÔMÆi€zÚÀÑK°ú_ñû\•V—ïíiLæ§ù¥ìSØŽózéqðËNObjQ½æïrÖJúùW[-õKúzðýPÜ Í¿f][—)0m¼;e˜<_m BBJ•Nþ=¶è:w%1ùŠÿtŒŠ*Ä8»7sÅQ2O-èYa4ïíf…Ï”ï&ç.u9ÿhI¤¼Á?R‘¾€ï±5ªw…Ä0¼7‚C«¡ÏÓ¢£C˜ãY¿% ÙâÊÂÿÕUýÂMº[ã¿æ4 £ÀjJ[4ºØ9_˜§|eи¹B£f>’à—ªI'Þï9»HÓæe&…ë„Ct çÂäÉu„Ä7 ÉE ½µ+^.áíÀ¦Cglž©•dl£j£ÜÜà%Tà|á2‘=âÏXyà/þ¥HÏ»í‚ÕȽ0#“Ó—ò’& Op< ¤UÕ‘úãÄÂÆ#ÔZx”ÃFB90 ýªzÊíÜëÿó/¼’²Zo¤Åò <‰†lúÒi ™°NÍRÆp «R–Á¿ù2ÍS‡=T…¿¹'‘¤‹åOÙÝó½FÙ¡;øÃ’½Ç'ÍŠ H3´®žÂw•íY]˜’;ÈÀ å›]ŽÏ”½ƒ†Lá¿Çi 2£Úù*‡ÛPÓÜú‚×’¸¤Äp§w‚9ŠC¶${@ÉÇÖ/È£µR§þcjæ‹‚ ŸOÛ–Fë‘L¢ÊCì»*"èæîrËÛ ÐeÀ' cGõ`ˆòr߬ª•¶ÞñKÃn/C4ï ›0Eì’¶=û]€k ýøC‚²½¡º þþàù“JÍáU35¯ÍÜ׬Öj"ωëå˜ÝÏ $™^ 4¨lˆ îVjX™$Dàí§%ã?MYÍ7v#ê½ôìñŒ„*óVà— –Ý«èOXw§$º–©ÓŽ öŠw,-quNÑÿãÿáåÎ *9š1J1¢~ ‹®û2UÎ,w`AQ$ôD…‹Ê/ɘ3•à&5ïm½G×Q̹–¢ÚG 0ö°Ž} @«³ÛÐ nÎTY](IyJÙ:/”ÖØM«zèo`,ò á)ã£@óÖ!gГ±Êýœ§!äXã& žÓµMýsb±«o^ä*r«‡u)Äuq&¶ÃˆMÈŽ&L¢"°£è¯b„gG¸!ÖÝÄÔZÿS‘<Ô"åDrIÁÍž59Ý1ѬXOyˆ|;t*ŠwåZ‰[Ý)y÷…Á4—XÂLó«$›ÆKŠìBZ—7ç•Úd¸œ•Õåx¥4Ì9ïºA6¼¡Z¬jô·öGØyÐ)AŠÎ0Ý-½Ú£4/¹—»†#Ö«æïµiКêt _gˆJ¸äÂHNX™¸:­ÿ ÏÈeÍ)pAj¸0>H“6÷³ìÄ]«!àG%Ÿ1Æ(=M³è¾9¥ß±µ‰ß«T(1ÚŠ: Ì<ùn%²Õö¿coX÷¼ý K½G߯*ò½vµ1–aÐp˜&½O÷šÒf€R#öà ‹y°Ìq'[ðýþ^ïK³fh=^nÎQ¸r;~©»ß3iaH£h©\UÙ¥ø烱Gz¥)o$uôâ1¼Í—süiW›Ø•“†<ê·âÐ&¢þ$×à "ñÑÉÍË âAcn°`×î8=fgÙìÇ©þ™f¬â Ì:î-e™öûÅ$àÉY7­epI œ3’³[q€Ä6ÔOÑ—2W@vYcæ\x°ƒKû ”âhz÷í‘ =!ç#ŠR÷Kd'kO]Z®M’oOý²ãÃwé>âÑæ÷6‡nü±T ‰³ãµUœ&ìøFÝ^â,Ú¦Hàú½“¬Íä³Pîl¬Ü ¥?§–¨ßÿ Q’·Ó†#—„'|ݧ`¢]7n²É#ár›x¥¿,ü‘B•Ž~} ˜tf¬>@›VoŸzîµ=¶‡P*âÙ“ÜÜg~‡'˜8ÈO»Û,f便´fî›6¡Í5 =蜤1Û+Ãz1 hÛê”Ë®¹Ø'ý FÖ ^u_ ±ºþQ—Ïü9ÞtUWV'…^t™“}Ç]»¹7©•öÕ qRÒE{.±|Š€ÝHJÄo\\3«9ñ,6òB}öã‰×èiDL‹<¿qnT©ƒrtÈÚ^×å@OóίžÖôz«_ §—_Fy–ßO]%e¯d\w›ãæéPB%þQœ©¡JÄT‘–“g­K(.ê¡Ø¶úW¿N61T­×¢PCäw·©Ùêöè>aÇØHöO2’ySÜ9DO¿d1.ÜñçŠÖŽ$CÉ šº²”K/Ý|«3Db¿)}^5zw*Q ±C>G{¢—‡0rIžñ:&òÜgAUtå8Ü5‰px_~7rD+¨NÈ;Y0Ó×}-¢JÆa<ÿýQWr,žw›ø¬0IÁDv€Pô3\©ãØç‹4|¡ãΞ€¸‰EÔgÀdÙ¤kçÙ/Y ”²~A?Ò Â€öržý-o°ÝHAy/LY‚‹•`Wí ”T1õÁ|Ó+ËmdÃPßYËæäãp^˃ܷ$‰Ý7CûË®`þŠÞh‰Ñj¬ðÚåºüêº/ÔŸºë!šæ—0†…ŸÑdà0O]Ý5#¢BbÅœ7âç ±F±µfÙIeÞÀÄt¯þHFìåb¡`8mê‡`WiÛ{º†È<á ïQrø¬ØH¹µ §èz­îFôB5Ü´iÏwqžXdw0ëEQŠËl?ײ=¤€?t€äPQ€2Rpüv¿ú;ÒâX–¯ÑÝØö÷”?ðZùr‹Ôú£Õ%TÈ—Ó«² »(g­UƽFü´P&Pxɽl·ýÉV¤Q^P0ùf>ѱZQªŽèžîQÈël·X–ÿª ¢—ÊmÛÍ—BÐs=CejªGJõþòd—Ä7ÓÁ="ZX^©Ð”g¯°Œ$¥`ã,¶£poò3¼õÊû¶í¿lÕ¨®BgƒÙ!›´”ÖÞðÇif;ñl¥Õ6} ‡ô—ì¢*ñ"láÌ£ü›¸ðOÞýB”?uþ*kÝÖÙH¾?iÿcõÌ;¢2¹lÈÙ¸¸•ÞøÈml"šd/%¶<[áBЂG> ÿ׿G²ÿÏÙk¬‘?-m›2Ð8=Z¶ˆ’zñµð¯úîÞ§î@_RÓìül°ÜÐâi¹9Ȧ´j­$ko!Âq:\T{ž ÔÂE•¬ —êw6 _àyÇy&Ú5X”ö­zï%Áº´+–"f¸ žzá8Úift×—t·•vu6…ÉFܤ òBûÊ}¯Wv.£êíΩŨ€bÒà^JÁcþFØÔ”jÞtv=匢T”É&ÇA³S¨%?@®PHÈG{Qnòå€Ú3È6w?“âú´~BøW”ò 0{{‚"² t¾÷ò†=sÚ˜!‹RÐ* "`ëЕNø'ÊšÊ÷]šìoŠåX ^UX¿]Œ%7GuðGšá L‡VïŸZîdƒ€¸á_SȹHá‘°lFì˜p6•³ð]ÕôuÛ¥€~*hÑ œ=µL5_óZˆ ‰uEÄ¢”oOÀ¾-÷Ù0H8/õCꔬxq¼îçï?=¸ ® ”MÌ.™ní8ùp@×Kìh(XD¼1ë&‹ª\ßÞ;ÎÇU·Ú~‡íLÜL‘âŒÏ}ÀÖfÇûm—eLB.O¨‘Z•˜ðŸ ç +šÇ3¤8Â,p}'T^µ ¡ð§æƒÛ—¨ç–áìé‚/)RF¶5È—³êÑo±Ò³¨ñ|Z‹ø¢§©þ½NïÓîL/3øŒíÁ޼`± H¢þÂ`ømü¤‰5±ÓÉ$½ª›ë¿Ù$Ò"׈–Z­›ý5ãÕ½2N2šµŠg­m B>öÓc7@ª^½H'N/7¢ë!4 è¶.æåÀ¡¹š›ÙÒ3 ÅÃÜ•˜Òas[ y®?QÃ(÷†[÷ÓÂ~¸þÚ—Y·‡©úD?Ë;0å°SÑ`Õœî‚HŸèêÕK9ƒƒÜ*®õ ·ÞŠ3ÎYøúàqð#wF‡›¥ OÕ:3÷&=°hH‡Ñù!wg„‘$4cNòÚ37ŸºŸËªMu•B«Ñ#êÎÞ(`D‡‘xÛîU´\Ã¥c¹¾jc7Ë´å,\î—=Û©®,l’‡+&B_ÂÏ™¨–Äö¦þdñ(ÅÔ>Z“¦ctè“®²”Ä5ˆõ—ºlÞ«×Æ?L1¿,$Ê‚RËyÎ ¸oº*§›òTǃw޾—ŒB°_¿ek:f*c-|¬p_F8ï¸o–Í…ædê‡NÃßâðúÙÇm‡Ù<à$;é£änH@ýj¸VþiK\ªŠ‚ _D|u¤6­£–`ë¢Ëó3D‡Ù•Övß¶†Kìžš9yÿFüÙ¡=†HžLV}cÓ]ÊN{/›8Óø{‚´ÿé8·‘æ§à\A,»Š”ê~ Âñ–ølU`ë} Xq ä2;O–t3¹H7+ß`þŠþ´DÄ‚!W߯&BBNÁðσdÒŠÒœ[›-®ÁíÉ¿è$R6ˆîiÛèæ/&RFrláÞ¬ÞÂ`ìߨÙQ!,3ZR]ÛbËz qs€nç}Æ‹,Ÿ*þlqåKìË ›Ä½|[¥¾ÙR‰Ê¼¢N =ÖÏ l#Ðá(e8¨II¦„¨ñF㪠Õ>‡¶SßåBî@ÜVev…èÂðâ9 „^A‚¦–˜”d  <'æ`wr~½*uíŤI°‘ô)‡Ö†Ø~MÐ,cG—‘̃ÓQ@ˆåò´'L"e]Tªõ€¿É`HÈ®dìÌôHÈ–90÷ÞÛ0X2õåBÀi(ÛÙ¯Ö¯oŸë¼7•Ž<ç ó§/î3‚¬ðXÞ+¥~ÕäkçVQd‘ Íû²ŸßÂíy+'‘rÉý‘uî òo–A‡de¿˜>°¢òž•%™Ù뤺·ïâ˜ÇošŠsDÆr)dÖX“s:ÂAÍlƒá‚½é¹‡w•3\/íFnj¾¸­>dËйës1_Ú”¥~³á¦xaÍB4êÑãѾk64ÍeJ8ÅW1Û‡8 ¡åÄïžHKú¢Å„çqä4'P²¯CÈÖ<ÒD—-Û¥ùÈ΃§ öoíÛ¯ÒèYÔEàlµéSrwôæFönU%£{I€€ D©]ï(R¿jqF¤— S°ÛAævpSd‡Ù‡0ó‘§|Ö¨{$öõÿËAAÿT/'Ùw‘èQM3d cü «qþ—Û.¨ï¡Ò†×ÀÕHUùÖ)ƪõËÐ’-0ú$š”|à°¼Y4€ðC2¬N§8 Ì£æŸ1L¨­™Ã,¢ÕvØi™ZÁò=¨Ðë2 •æzOºÉnPyç­¬c~ï)ËÄæz$¸«8W ˜£‚~hÝ,›7ÉŠ´iɬÄ|AÑ3ù² ežxÑJóæjèºÒøq<ì÷þ.6îÑÄ4œÓðËèµ­Vðè°ÏO·»Ô4s‘i™çµÊ€LWÚ´r ±¸ìX(\†m™j)œî£v,¥Æ*¦]þ"¿ng0s*|äÃdœàÖ¹'$ꎜ¢š]ÞìÿÜ­GZŠ2Ù'D.–¢¿rýùIQ‚Û`±YbOKÛôžÇt3E ¨N–‹ƒrfѼw¸×Í‘ÆtRõÍ ¢*úÈ’¶Èf<õ#ñ€çØ9Ý2½:J6 û8}’˜â¸ÈáGì?þË3© 7Cù÷Þ#« ‘º‹ÁŽFdÖ'/ï¦ ¿[­Æ³²uØOd\JOh´—Ñ‹ áã34öeÞ‰vÀáøú¶¡aúÚš×!Bš† N¹ˆŒü†õ6ó+| :–ܱ£·y1…Xèíu1ñxQy`úŸ\ú;®®'·UÇoâКœ&{åJÊ ±ÙiôAíFÿš6¾í’6)92.-|T¸Î¥KóàY…%HßÂÚmêÞ½>uyõ”—/egdöF±Ò˜Y¨—ž-8rVv,ëÙ¨Ê#É#ô¬å R§¤ÊcÐ/É•q­qY8k n ´›»8rg-,àN•ж±G½3éøÄñ«N>=Ãì”ð³Î@ÚÒ³XÌÞšßæ0sºÖ;}‰eĽ äßL(²„³¦™ì¿§¦@Hh8 Ü.徦;¥]£S¨·»‡àªOEh¿Æv¨§t7›{n©Úv ~’àoF¶$jÀÀ’ ¦ÁŠsÛý&b}«9Þ˜Ó]HJž4t­ ÚŒp•­ÔäûG± @‚™ƒìþ‡»R"ç¹BÏP¶GÊ¿‡(a,gË„PرÍnD’¡üþ=Rdø…) ù‘£š^–Õ5 |O#DŽάfjÐ|‹Úx)Ù¨âßLG3ð¨¬|z4Z"!|¬ÍÞ`·&Uu7ºË¢×T[è8AÝ—V‡D»¯ó¼FoÅAMÊã{ìèk×ÊX©†fÆxèîQƒŽ2‡‘®XcwùÝZöJ6,?yʯ_dZÔ‰g$BÐì’KØÄžà :dz=o)÷v{5¯¡E\n¤Ccl•÷Œ;¼8ÿhq:Ñ2Ïæ)ÿçâ3x×ZR¸Ãž&cn@ƒ óœý‹,=’~ oÝÇ{@1’q8€‰Ê"q7kú>²ù«±g9¦¬…€sc+mâ⃄ÂÝD˜çÅù©Õ´UMò–Ö`›Zou Ñ™ù¿çΛÄ9¦èÞŽú@žuSŠH„oà © ×gcIAÚ„.Gp}£êÞ<4’ ÆŸV¼ u“}Í<=I¾|n˜î4›ÄÚˆ6¹O·v2|¾y·U= an¥ƒ÷àçÌc³½¤Ï>…ÞÄS–/h¯¢ámG‹˜dE‹[”æ ì…”gu²P$ë¦qVù1§ó‡5¿»>EÛ ÒB˜2T¬üḒþ·zÏûkÆ­¶«ø“rÔ ¤‹¹.hi´C‚ïÌNnÍ$2, þÐǽ|.?ÖSÔûÊN˜Z<Ã0Q°XµÐÂõµËµZÕà¨æNâ­þhôþ=4«rãExq«™5ïsÙŸÓÑÒmQo†œú‡ú¸K2"¹c¼.iÞz¨b·¨×*[—t Åèp Òzªwí•5 ÑÀ®©Â¬^7%û]Lj¿(8˜Æ{ÔŽG‹½| å†ÁÃÙ— (B&§&Yb×ÐD²JüS&{õÒÜСï=\³Û-NÛc”—²†8–a—-J ÙÊw§{‚8e>Ãö`ÈïãÔ§d„‚ßž úKîëÐ8T‹ù¶,Ä£±ö¤‰51I ¶2>˜ì°pëC <‰ FàåܤKNbÒ¦‰ãÿC0¡ÑNÛÃEð´*Ün ‹Ì*/~¦ ±ÌVcu¹¡9(œä¦nê-pnGÅ“Ñé¾qH`CPµßÅWMñòÓÑ-V¹Pl¾á¼dnÔy`›Õÿ›ð‚½µ~qi*!ÀxHZ›–;¹ŽÄFÞðù&†ô¸ÚŸJf\æØó•¼¼KÏpº¹b…ÅÁ·›R4™._7±[ÙAj–j¹/_±Âª¤j8e€ ë4ÒQ@d¹í2óÀ7ˆDµ¾½h9劎XͼܖoÁûžye8.Õ£*æ7d«³l ÙKìáV=ËÔÔ˰³,²:H©:N©vYîÍê6`²JÔa÷V³+øºÏ$›LŽç_«PÕP@ðll³çÉD û'ÞP*C¿ÍS”Áç0´N°$ÿämä£b…i±è<ÊÀNTfkŒË%®²éý¥œ&c…sú¿ó®¸•„&Ò ûh)] q¼L€*úÛ¿¹ÃΪª¥9—›‰A²‚R·Ô!;ÅÝÕC]š¡« ©Q`‹Ðy' ×ÍBŒ5óõսʘA/d0Ùà-ô¶x®­| fä\Ÿc‰úKüNœ«€€Š¼Äµ]ÂBmÔÚô{Û æ†þ‚´ø¹'•_I‚R^áqê$gö¾§9 ½ïk…ÕBÓop ¿©ŒQ~;MÏßD÷«²ú—6uŸ…ØYvIQL?bMuJ`Ë’`M/4áU$·BKØ3öçɘ–©©8î&S‘iãù¢Ø ¯foÍ#AÎú£çn¦¿×î…ÀãÕEè§B•šÙ2ž“):ŽnÇc´áÐ~5LdvH­9£¡SÃÓÀ…óI^õSãÓ]Ö"1ߦiOò >̧üõéœĕ96ôVN":]½6=ºðZs¿_‹®¼¦YÊ…¸uÞocP’Å|$D¥>ƒpwÒîqÿÎù,ÕAG›ðâî¯âáÜY¡1kMu‰nünj5þ>b2äxj)§Ûâ<¢_…ŠÖ]th–5õoXðÄeMCò‘m|\æW1Šä/FÊÐ4°½À[öz@vÎÄ/ƒblIÇ‚TÝÿ¬‰‰<—ú´Qh&9e»Î>ù^ÍY…S.þWNH´óïÔ¬±ØF¡nü“¶Ö”¹ê¢÷ºöK0 Îo¥÷÷ aH˜r9—®3æ÷1¸n2.Vnð[5ßÙιâ{Çá·Ô?õÏÞ­k€“&Ê£ésŠÕTÁœ”Q–ºN\œfO«jºÎöýUј¸/ŸÂmD•ÑŠ“öûÙì3Î[iJ’¨‹„CÙ' ‚ÎÒµµþâ§½DÔ9‹øN;x¯ çƒ&ô}¢Þû㬗XöPÓ«f½Å±Ò ¶çXk2cÔ¿rQ²=`€_u{©¸!‡Qö—D5‰·¯·p*E`~Ër¤©yÁ­è ТÝÂ…ÛŽåi€ý%}9_÷öÚü\´Ð¹Ìjíz#cr™\ÈôSŽ¿n’싾§Ð÷š€¶ B)à_2‹¢ouê4ù£p1ñË:•é‚QD3ŒMQ ˜»œ=}"´1ñÛ *'9Vxí±*É’0œ)ûh…Öx3Ü‘6¤¦öÜ»ŠÉÝ2nâõ˨Ðl8`i”5;„Hê墨]"n•§­ÅiÈ+èOPÔœ îOc“ýÜ®Ò`Â&ñ3æ‘~ßöHMîzƒý ·‰®Õ]ÔQ®Ôþ*¡vùej¶4 %ÇÉá;È]Ý€‹/ØÝØÃ*\Šž".Bé¤sÿP”Ú¡Ýo‡VãÕÔŽ>-YÖ?(£sG”áNtË4Ëÿ³NΗJ¦0ñiHà´'oˆNÒ×êX±¤gޱÂÉþ³É¯›Ö;Ú³ö6 žý9SBÅÞß±"Ñyê5ÂñîZÕ'£K¦SõžÅ£"ïçÍ|  ‹:&N0=4ÑÕhSò¥¥&® A•¯aŒŸ¯@øÉ"òR?òæ§'àSã?HwH½çDŸ‰Bøzƽ„á cÖ¹Û÷> i›†ì<ÖÝkÿaø±<×`øi/©.¾®‰ã/zNÁùØ´cŠ;˜+Óι¬å“ÀøYPìûw WÜroô÷vÏøZÆxÄÀªræBÌ4þëë(fÑbׄ(ßý_,íí»=-Eƒyê™`j× Ÿ' eYbÛéÚýZxîc4úbD(MKÉñ‚´È I4ÇÇß™MUdqŸÚC[çQ<„ͶwñOÖ˜ª*³jà„1§ wÖ ßéL•÷% z2ÙÛıT¾”yÛFŒõ Gw™ÚBC‡ ôj÷Dû¿ Äô™‘Û°ÙŸ!Êl¿µ«‡9l¸“$xvýš$;QímM§EÏýØ ø>wmEÉtù¨º5¦D–"~ÅP¿ÿu¶ tðžˆäs¯Y٠¬Êö¯iY$Oÿó°ÉÝ ¿ß‰¡¤~ñ<+Ȧb¹Suøì®J%ýƒaÝΊ3'¡Ì[é܆¡Eˆ(‹¶ª2Ï2ËVXHéÞ4°º–hôóìy2ò­)±(„§â!šX·!ìoÈ“j&”|u„Äl_Ð^Hb¾ ^DXéÏ,O í- ;ÃyßCîÝ*6¦Õcz…mÒ•ÑàÉì¿?ÆÙÿ4µ«T9… /g0”YÉ_ô+’kŸ¥±˜—[¿‹/íœÅ‘¼H¦Úvó?iûª„ÐUŒ°£f;÷Ùe§¦ÿ9·¶Ù€¸í£ö–õƒL½:W”0kêÚêÏ@¹åq¶–#‚E¬¿…~ˆ…ÐÞCo!Û?öœ²X˜-ëLè· cv‰š¢–ËFs@†¶Æ×oà9ð¡í±ç‡˜J˺HšÝÏšÚó3æ÷¤±‘42Kß7æ¥$,ÿ‰3ê»zåÊŠÍ£pg‚î!ÝÃj{)6îU;‘ƒX:Oýd2Z/˜ÛÒÆdÖ?fÚ ¨Ñ²ö›uŒ"¯”#n¸jTÓB„F9µ‰¾€&†R ×-æºé¨aBé쀰uxŒpeæ&m,€‚‹åÖ3kš§ðÏfÅãkö‰qÇ¡ûâôx•;wΈ%!ÉÐ{<¤ý&Zíû¨|\ÌÙ™ã³Û:fªð¥c½Á…Š®ªáx5jªp»—ÌѪ(9p~×Áp.á@eã*IfÞ¶l‡}2n«”pï¾¶Œ+B™ßó»Ý¨3ýº\²¬ñ:ÏÆýjÄcÊ÷±î ×ûTµTž˜dGùÕòínŠêÆLä9ZnŽ÷•V¡CØ—1*“¢½Smy¸gçJºttõÀ›LÞNX³z)©m~ߣÚȰwÜ@õr“à¡j—~pÏÌuć ⼧öŸ\הЊ`T¼Å~¿Ö±ßEÚÊPe)/*Š Gç®>çx)ø!t–™ârcÃC±Ý1D µ €²Êì=s6&jó}úÁÅ"-›»öw—«)4 =Ï2ýÅðèTL‹qzÓCãìð@*h2AøcÓ„Sê~Ñzß'ªÎ”–‘^"}HZdÊÙÝ\3'ØOPÚ)ؽRgM ‰ ¦@QâÿÉs°‰¼%ä“aè%ýœÃ„6œ¸§íöæà5ºzÈ ;Ö’bAæ§xÅ{<ôŠ«/€>4Mc¸Äq³Q¦˜Åán’®ÙŸÄaŒËX“DŒtüå;ÿÞ/ê)I]­¹il d´ ˜ULÛ¶îÅU‘’‘σ¿QÉ}C¸À©:%&Â,ŸHŠÈ4ÎNQ­7’wú1ºÞãëÅŒ¶™[Å#ö†lpP6Ö´]±êx¿)c•oLEÀRçsÒ±úR·â$Ù6$U EÙƒ¥—©=‡üñpÔáˆÐ¸“Ç }¡aÿò~C„<(Þ‘õ‹/Q¿ÁШ­ËÁü³YoüÞ„„"Í…}Sa ¶ãÒ›™»ZvÍ!W0¢ˆyF‹ ´ˆrî¢ÄË [Œör„’Ÿ. (BqA—øæ– Pðö4¡‹é÷–ÎmÂÏ÷ItÿP·Œò_ã´ p=˜¾ÊF1d]ˆáJyt+1w‘€‡@ü430Ǧcø µëE§<¥>aÉËñt ~x~'Œ¢¥H+èÅ­,ö¤á€ë¬Û”'1¾€TdçÄEqœovLW«ž=ç°ÚLÄ#8(jô¦È}É»#×õ‚ÖZ´N‰: J#Ãüß³w•…•£ˆÆu)öÅ R"¿aø3èÁÄf­0iô±ÒƒÓýC &B©…ÞÞ>€¼°®²T±•ͺ%Ri—ùH½lO/ õ"K¯Ë‡g@*½¬?Fg­êå³Bé´¦/_ ᆻ}·ëŒ3â²%œÅª/ÿ™èš%l¬÷±e~ò绀›_ñ|¦[ד}nJåÑ`Aê¹Ùlé)ìòéè=À¬ZÚu1Â’8zÇÍÈÃÄÚ ‡óVhV¸ÜÓ°l½ÄkÂRÕÊâ—‰[7Rb ºLE’’Ú›Òõúž‰6\Áçà0”‚ t‡ëÃ&9‚aÚ‰×tÐ&wV@¤þ“ù +’lñÊ÷LlSùK ¹èÖ¢ùÝ‚¥qœ€Ö6þ’¿:@Ðìžñ(Õ¼§zol2 ¯‹aFlý—BA]Z’i>pý[€äU¥ÖϺêúásYqÅá§Ð2³/éÙÀÑf99+SJö ·:=°è…ÿãάHÃ\Øhuš‘ÿ?0U¨Ÿbå'™€˜T$Ê}Ã×—¹yŸØöÌ;üGŠò3 •ó8ýä9…Ì ø¬q1×J„ù9õQúkÇÏ3w”ªûÓ¡À5äý‡û‰;Ùÿ¸oórN­1}.È6áëõ­ÚY4DÏŸA´oÄšZ»žèéØÝ¼&!x*p$Ý^ËÁÔÿÃdÉœa61½ˆ“£<È Ä'€Oä_×X­Znï¬jžFd,È Æj”³ñ¿£©«îQÊ£Ð͈f^q5¼¶Ôuõ']èº*ÙàÇ‚7«Õñ_jÌçZ«©=«œ! UÉ’ÛjkΫ·h¾³ÍC<ý,åöº‡ýœy”¹6W_uò1 ¤XãC7Ù^ )ލ=Yl)£€”çÝ–¸`ÞK°ðj”·I^êÒ*ë ÅTh%K8hÒþœgq˜^í`óïé:x\†beäð¸žDŠgôd~ÆàšïÔ8–]„VV£EBçǰÍD¢ÃÂØ‰“™xv“é2bº[<Âs„Þ·`Ó–N¿›¹«3]ÐÆ¥<›¤VlPÔ2Ìh4g°¥ldZ„QüB¾¯ß?ÍTXYŸ;]ÈðÛ"ë3Ùʬ'ZL_x±/·†DÝ·cKâHMèäêOÓ0”¸Cæ*»(ÊSuE“ݪŠ<Íh¨š„Òà꺥H“ÝQ½müÄ:Xu†.‹Š4“èLÏÐmɼeû‰ë%Ëô¢‘T®m^h¢Yøœ fßÁTg·¦Èj8&§ »\G|آôNjbLÉ3rçhKH~ êªqþû¾é1>iåÈ;òê‘ÍÇÚ"t,™ŸÀijֿ뉵ý—qkÀñ&­3>¦‡ÑŸÑaóo1£ØË]ÏhøxS/ÏgIáoÏŸ¹òò}àœÛ—d¼Â&+”Ö9@gjÕÕKé :C¨Ú“à«“x;À ³Ž‘wYÄ/‚1·;;|¢`Êa5´Áƒ¹Å—j)³> ÇîK È~ …>ß&Ы"-îÔs‹c-Nš‡ÛÕ &|ϤñOŒed:QD,yÎE0×;n”û_©TëÜCâK¸¶$ΰ6½eh–úÔÚÍ qy‘Í«éxQØÔ80÷ CÞõiªÖ¤š/š H•µ|ã4Ö”–)®D/¦Çl¸/2>ÂS3˜0®Öæ:À0ÿ¬äŽ/¦ßsáăÐ÷qùäÓ š&,K<ÚN3àþ£€++ÝÊÑGU»·¥¡aâéçY¼¾‡ð"7Þ2\A׺èö™æ½I®NÆú. º@´ÇVÈ«i®–ÇÏ£Vç8Í< ´V…wQx„™dÜ©vÏxû] ÒÔ"‚àׂºM#¢ßE•îïéÂo=×H,Ï'žÔ‘ZóáÔ× Jëòp«¢ Ž^Ÿ5©šYÈ¢eM"¼ça%•!Ú¡†€¿JIÑtnÙÌïºâÎ¥ÚÜäC¤;w¬ò9‘ÿE$x¢lwâK0…Î&4s¢ÜÕ¸ê~lå©kGÌ7‘ ðª·oºX/½pÿg Y­Ÿ¬ó]]ˆ£oäŠçª«OÇÇ1²™M‹)ˆš¿Z=v3½ò?±šÈBh„þx‡3áåSš•ã΋/t¶¯µ9"\‚$f¹›C/ï@íRäõ¦“2ÝPj@>ø‹Þºhjò?N*r1>¿äF’a;'÷l¹ôkÔö M‹\‘±S–îÛ(û,ÆŸQPyMÿSüøng©,É$µªÉÒ-‹œ:ަž’%kuEœÈ¥ë)EЖ;å1[)lÆ;E’„›¿øù¦Î/øsN˜=Ïßæ×J]ÊÊU­ Øw9UÿÌÂÆWx[aRÉ7þ® Vmª2u—°F{Åt2/ŒYë¬}«‚ôŠƒ•(Vn.¹Äm医2Ú–U!êa|w¼7\¡Pçµ5"ª5‰’¹>#QwZéw¬Ouµ2Ž9D‚0auö£7²Xe£ˆÚPôÇ¢ø0Õ- xPÉŠ ¿F„Q·:a:¤æbl¡ÅÄO¯ *i'`„\áJçzÍŠdhà’eÑêVL`rxªZü;.<ï“{×­“à)¥Wq%â·ŒÒÖpLºAem(¡Hm1ÇÅ‹ÜB¼R7Ôå#ïr/è";BP]έ“_¹‘‚½ßÕímå~$a >eøV_ö"o'ý§´nYla>1_iY`xì Ù¬ê+Œ0íÃ0áûÃg™³”}ÙKÂØ«·   •ò …ÇÇ) ÙNçËÈ“3WXÛØÿ/vclÙå+~™>÷ŒbFОÁª,ä 9¯ƒšßÎ¥*{ªpö_>(N'H|æÏÀ,OÒkì®-Í¿¥¶‡Šö|ú‡õà¶y+ z©þÒJ爲ñnW‚dqúÌ=aÀ³œÌy•æüy)ç÷ªdZ¼¨{ŽÓ~˜¼Û67Ñȸ?Y[ô_üjcÇÖjâ ë÷ø³ªsLnoÄaš0”’2Љ•à•]M±Oå@?q7ò b˜ ñcoÒt’… Ø_‚nuMàß$Så¨%AÝ3‹=« ¨²ðµÔH1ºAß~¥|ëòL}æ&3 q!À¦l€×vÞ”–sd»–ÍŸQíè—{ü0E JòºÕõÃ)T,:‡+ølüÚq®ä‡å•bç1kO® ]ŠKó›†ðÓ’Ù1yØÌÒZT˜×¼Ö– CIë0qR&z@„…¯£¹­äŽ$w{…Kom’D·÷møTÃ[9\ ò^Úö0%¿«‹.£T5ñ6–Ø-u¹‘ß¿“”®fÚ´'„ÄGâ{­” ÷»ÖåäŸA|Ž:Ói“0o¾ Þ&ìê«ú~ÓÍ×bю݃Ãþw¼å¸Á%û –ïOñÀ¨E¬sÏÿØ,qA,<œSj•Òrä¿™h7€ëéÕ•{+%ã&¨¨ÝÛM{ ^JO‡D»Ë’Zv’4õŽ7¶‰)þʆÀ`+âj5VE mРok:†+̱ÄìÍ<@¤‡¥:y¢Ä+óL¯å=êD|ˆØËD²FÖ\þ]u‹°tÄÀbUߥÊüf WAƒ€‡¸>B@ïß[?WvÝâ‚óAA>ó‰¯+/Þ¥„D< W¦>pOáìt¸,¤û"ÁÒQ ˜´£XQ{cèÖåÝóú=iÊ?%¢¬\ñWÿŠü—Xš¾ØRÇBr+º¯ŠAzwU¬Ó¨ãe^>x\wÒ> ÎfÈQÐà WÁ£N¯ì¥H÷ì—PÇbŒ,eg›J÷/hA(ØcwUÿ¡Í~Åu.¸-;ý]П€Ð°'BlüéT²•Ÿe’ˆ¿ÂJ‡S‚%1Ÿ‘äp4ˆg¥/3ž­†Šë¬€•z€ˆ+¤Êâ~ûÅé’¸#3;xˆd¤ÊR‹†„ÔùÕáöÐÝÀè‹Û/zŽþTï94xk‹¨zV_z#šòŸ»ÊHú}Š€¨4 Ã5ú÷Ò@rK¾Á›&¸¿;Fþý¾‘/- Z6>¦‘ÓËËF}3±©Wk¸ ,ͽOË2kE_0èùµ‡´ •$«-©¹êL8Ò-t^šxoßïˆÆ#ˆOôKmIZ9 ª@×"ø{7SzCõ{H[ÕÜ`•]%àì©óûÄùí,,¡×ýf v¾²vûÝš‡W2àS¹$Â`îÞçMÓ< Ї‚‰»GAˆ!þËylr8ƒ:r>~³3ðÉìÁiàØãmUZ†ªPNËSÔÔj™±¼8œêÇ¡•àŸs̘|ÖèÅ ª–[A©|N,‰¬Z7ñî°Áv^ø—ƒÊÈ¡(=¦ª?ˆ‡CÜOO£=Bɶ8:Ð@ Ëç}¥Ž:!EH@§ÐVò+é38>9ÒX…²5&wgp§z,«¥ cáÛ~ìh~Zö`¢ a¬ »ü»MºtöÆFöx+‰HaŠ*,káÖØ3ÊZˆç·L‘‡¦Á=FNdèÞ"ŒzûœÙ²~£EX±ÖS+AúÈԩʳ¨ÚË›¨}#tšs,Þ^¹ày?)Åáõò’%¸§¬,u#!€ o­Lg‚àm‹›P Qw~p!…3v¯©ÿóG± Ð3.¡<ÌmÿÖMÑøl)^¢¤Ÿ¢œÅƒse&û…ðèPåmø þ³dU.}¥Ø*à‹À8ð%ˆÂÃJàk½ÄõûKÒê´¶}þÕGÂVÅî×庡ºÃdZBgB¢¤˜Ã¬ nmb:N+ ´¿¦ï¦Ë€mš†G,–&#×Utàg£âšjûIõ'^Èë'šBÀh’¢[ÝüÙiO¼¸úëÉwQe~¡«¯#ïJ+8—‰söý§ñ(8{wÞ¼TµÚ•ä¨AÞçRl¦Ÿ2H­^HñÉlO ¢VWT>kK‚º¥ïäKxö¼L01R5;7NÖˆzZ­¬*›È¡Ô×Õê|³JÔð $tRNEý<{\1³ú‡Ÿ¼°zS'¡ÙùÖý+6K õzÔîôç²ï,2BÁ%¿½è ëÇN®•âä HÏ ±‡™z#kqü¿A 8YÞ:2›™Õ³Ùqôsª,Ö§Æ lq¨¿¢«Ø Bk0Àš¬0öZ‘pòÉ~•p4öï³|Ÿ‡o šE}Á¢3Åitó}z%„eb?þºÆÀ#µi1YvîA1ÒÕ×B_Þ½œ ÊgV‚›t{Óà$ƒ€2Ä¡ûÍx`›ƒUš9c68Ï ¹¦£è[㣄&Àª¡2t/È{)¸ëkj×Þ(¯—5™z²_ » wJ—ºŸjrPÂÁo?ßBVÚÅ3"‚Æ}z¢1œ^9ÄÀÀð÷;î|úAˆµ¼>ÑaÀÝð»u‹ó,6P±–Ðb\Ÿ˜ˆUrÿ«ö2Í  i Z\“tÇ9»IiƒÙ7]¼ßë`äþ§}”éËX‘B)fÙGönGµÙ‚_šÑS*-_ü÷¼1Ç'nD3ƒMs~ƒØ¿Þd{i¸`ª¶xÄV[6þËÐ2¹3‹¼I´\ckmÒlHÁˆï¥½MÙ“¸ŠË;×*/ÚÉ^FL|Ñõ¼ÔI]Y©Ð(aê>˜h6a¸iŸ¬¥éNi肊Ûëöuqýбzpt,¸x‹Q±þAƒ%9fo¿˜I˜$8(–)|úð!â9RQ²Á©ÒÄï4ö¶b¤ýÈic÷¡ýo­á‡ÆcHEU• Õ¥—«fÙRÏÌ©]šqʺî®Ôe¯%AEÉ{Þ­1$ûR½Rö`AI ý-þç“—1{‰•ÅØÖ°ò›òµ:Œ&5Ï·:®4ÞÞ¿¶r»í#¥Q±mFœ8 Ï.á­áÿëÒŽs :Abœ]ÞÑo®Å¡æY4FÒújÝ;8ªÛÑœ´3Oœ! ²WG64tamÁõÜ…§) Ž?·Ì®²éfuÆþH|&‘¨¯¡Ï a_”^àΜuÙüÔnÞ±›â™[ûGÄ„ ÔáŒ@¾DRîÿp-ª7€ÛÑóܧk§MY‚ôW÷ŠGs¶´B1)%×:פzøTtZkf_k@ýwt¦.6*û4F²£¾D'Ôõu˜m³=¬êÑb­ð8…æâ¨•T3¸GB¸W-™¼.uü1©Ÿ|Ò®{¹5©CóÐ&Ô¡ì(Àè³&(Jm‘åÇå\z-‚áŸù,ÁÍøui¨B0ˆÖR¸Xï¾Ù–½ÊªºF)Ð5–<¡ó§¢?£ú²ÏB^ùè HeÏÒÂuCÎæô¶´Ä),L¢}o²4‹™ä‰eCòߣXÖJ¿ËãCiKTÎÔE½5†U‹Dz!4ä‘4d€UH4 gAýUi]Ø8Â!='ÀžÙ™NÙÆoø–tÞœ§õ³!¹CŠ™Ò7y>ƒ0/MªÏÿU¡£=YjËMNPŠÚsà೚|Ü=¾à kÓÊø6;DkßrhjÜ¥vGTÞQß*˱}ûЦµÆ³.7XT²'°ã¯µ¢Ä:€‡ sp «Mk²aƒu?Èû7‚‘%½ÆlW‹ÄîÁV„Ž«¯O#ß‹§ã¥xÈÏ×ÓF sõY¿>`¹ÕÓ£j¥o~Ó=Uʨ !!zåÚ÷Bè…D“ž—}HU6w‹$<‡$ºv‡nóº[ц¹µ1ܳ’1´%SH§G;·ÙÇKž×,B7\”“ßh3#Å¢Ä ™·¢*UQ'ÖõR²˜áú+J7‹Oƒ2ª~êÇõì•HœÓðc R؈SãáõWR5:"dÙNõi8 ËM’©¿ºßܪÚ&ég\ž3¶–A`=<ùp{ÅЖOÖ>M×ÅG‡"lÇ¡´Ÿhë4 œkN1þÔB /”'ÝTï o‡9ªu#2¤3C”4œg]UÔ2ø šhbqw7Ñ šÃ°ôîá2L]b -7ŸÂdWgÁÚKc¿C– ;Ò*Ü¿–Ç–ˆ¨P¦õÍAh¯!DÔAôeMb¨cäÄþ¨û[4ˆ–Ýãþ1%,5NöS›…½ƒO›*PÐ/ú66{¶hü]¢3÷œA1¡/ c^Ë߸Õ­²KùvÛtÎëªL ÖÄ ë&®N)FÙì% ¶è$¢z²%Žâ²9þ¡g;äjpˆ{|ó›\Šöô;~÷vòÕdÕ´M½Ê_;o—9ãß×t]´¶råžœ5X)±FÍÀ÷º›QÜ1¸•÷iZpêè ÙZ¶šøÍ宓QÉ‘@"ƒÇTø¥k˜Ûq~‰NÚà`¤pÄ"ŸzòÞ‹g»‡’w» ß«~Ü'ü·$*›±¼ÎêÖ]ÂÊ,ƒ×ÀE&`ªƒ¾ze1åZ8¾Úø.K™0Èþ+BÓýHÞ_8B —ƒ> ±Nƒª³…ì‚A=_;ë\«MPŒ•ü(0Õ²àÁÖ@·kÛ[á}JB˜ù‹T,Žî£Ö#½“…K@ùŽs5ùµ¥—n¦ÙRéMÈE¤R]0¿þÚä,ÕgžyÝäüôoC~± ¹r,»Œœ¹¤,¸šy^ˆSm?,j4ó[t‡ß†OÆ«2$^>è{Cà ö·)žÌè<™¨LÀYjáYc“Ö ÙmIZ»Y»]çY|Zàãì.¶ùWøb}ÒÍ]ÖòðÐöDÁx›…1?zÀ4Ì`o wÇÆ\£„ëˆé}¨5Øk ¸X®±€Z=}'˜v[dVXÚËJ™!]“ÝIàžÑºö±\Ëh[R^unz÷ÄãYûâìt¡þE¥ ÚËÈ«ü5b1Nn×Öð¤î¢ÑßÙ‰(w÷]ׯDYIãÃ#ÆMKôŽ+º2|’åer §› h]ä;…º«['$¡¸¨Vž~š|®á4žt™-¼–nxÇ×ÊfNÙ^—Çnïs½ÐÑÞ½ßn#H^ [‚Êõ!ßMö›4îÏÍů•¢Wp «'#j[ÒžÏDÆ£LÑxå˜_Á `dé'ô"whÑí5¡‡Àt̲Ÿä)Ôê1õÜRº, &¸à͹þá/v}®Ákq[kë0”\-l8ˆ³F%ÆåT‘½¿q,‡OyC®b‡o¥ÓÏj`–*’› ÷%,np[¡¬ß•M¼×¯X¡7³tóŽòw1e ò< e 8gDM¿;§T»ššÌ„ùÔ.£åÉ|F:¹Y’o ±`Ô=*Û†ãaŒœNàé7›(AM»Ñö÷:ÛØ ÈMîEÉæç|î;rI×hBî¯I±{5Í:î—¢¡Ò\ ðÔâ@|¶" ev{ÿæ± Ö:£»jÊg <È0^ i~ïìx‰ù^=ý¥QÖ°j‹—'XΟï»cáK›bÅX¦\QØ•àC/7þ¼íÕÓL=«G¸å$‚Qö“„L‘æ«©ò8”ì`‚‚cwÜ;CÇâ{à¬qpN5U¦ÕûVk—ÛD\ù„dKi¿%ÕeŽØ#eHá;ÆS°É–@Œ ÑÇŒwþŸwŸx*êP8úï–y\qJ(ðƒ§K·#FЖ^ë—ɔÚóZu˜ýß+jŸÏ×#ȃª4¨.”—Í^•GÉÛWXrϸCƒ/cðæ2AåÁ57,2«[SK°oÒÂK«4¾cT¯þh ‰Vò&Xd¸ Ù2%ß8`þ;Á~‚w>š;XÙ›;(å7T!‰óê#kG/ß!u·NSê«96lZŠöægËÉc*ßhÕæ¹p2ëûz%J†7Hj@„“DõBT„ úOÏà]^Ïl‡NqZËåJÚU3ÄÇZýå+ÊÛ9a½À‚ŸXáæ[²œ @ЖwøöZ WùÜ¢NUª§ñ›¥PÑ53vÎy2¹‹ÝBÉ ÝpnÄj*##ÈySŽËÁó?ÅÒ}½ø–ÓME†xC±ØãÔ¬XÏ j(Z4&Öᄉ®à€S|Ö–6³2~•¯A'óûé”jPûÉ P³|Õ¹7íU{žÅ;“‰&GwÂ!òwŒÛ3ºªÀ}0‹Cv ²»ÇKu…ñ0A'e”jÝ7 CP*¢c}!û¯Íð^Fª%Ó‡„°ã^7©J̸’Ø8vWؤb”¢ªâPùk 6AQÚ'õ¦rÇÕ÷]N}ê ‰€§(fÏRzá%¨"Ò_б ›æÇ sG—QÕoÚVS¾à—I…§¥¥oÄù¥Ã»£KÙ*ãC èá‰csyùnGÅÆÍ2±_2rëîC˜üp¾¾¨Âß‘òÑ®üƒ‹¿¤ØÍ…ú¾%|‡éÙ3ÓøjÑ\D$H kT®á†1]5Â& ‡+3Pã6ßj`›Õà íj3¬¹e>/Ïš7^óju_œ½½Üˆ‘t Y–uÏ&z¤«såNIJ‘°¦×6.À™á¢5.Žð¹DPõ€¢Fs‰ïèb¹Ü¾1„„)'ct¯A®'š»©åèÎûIžçŸE§,冯—0˜(·hs›Ð}•µ¡2À^øÑ"%ÁMâ·p}Ü0È+%½;¸ªCÁ3®Ô£±m$i°(¡ÍxH3{{b¿äž¢õ\DÍ }½Â™û÷ÎN•@Î…4ÄNÔIÙ¬Ew}|®%’òòTÜ^?ðeØrŒHi>ˆÝ6ó']æÒpÀ½²©‚mb_ˆ6ÄçÓj¥Zã2¦E¥ ˜Í»×&™^šrïà;×ïÆ™xUQ˜@ž‘Îk4ë9f©;){/aØ2zýíY>¬¶[§ë«´s¹³„wùÄÇ%E`LboGe×l¸†4èa¾(wc •_¡9œÂCùŸ]:©­3yJ/ –f!4þB„ÀŸ.Ö!7ë]¨lïfùŠÇÏ&h7ïvÁÍB8‚ÇŒÿ~º½¬dö3—g&‚UEÁ=Ð\7Ü_ÿ=ã¹û›aÁ†í=½tÐNI}‚ôb|¸r%g*Üs ëªþ'ܨ,³Æãh¥m»·ÿéþGó^ ³ Ÿ$¹ÿͪYÆ-nÄëÓÿ®Œ#öèÉ”£Â׸ñÕ3‚{L8#ÛÞ*h£o"ƒ/eÑ$XiÒC–¶‡ohý¿÷p*ƒy@‘†=<]Qltö䋱•Ê,ù{™e·í¨üvØž®ëRFRšT®bâbgÔcØáÏÔÜ´ëlͤIP-BêÃ6÷Q™ªzš;îm”BgØéžØèÛO^‚^ø U2kúøÍÖ{)¦\”Ìdƒ‡¢ `·% •ìvo»Y#ð‚ËG¿, z^»µÝƒ’'°“È 'dA[©à‡_½$xé«ç×µ‰Ö&Ft¦‰Ç*q#·*^ª²%L¼‡Ë›M|›ÅqõùöÝšcFÒ,V¿Où¨Ó!ü£ÿà ñ2JË­øœ½-yfxkns¤ë!¤(¼Fî‹rÒTQiVIQœ–`K†@Näûåå XÔ.Ž|¦ €MìcŃûRD)×&~µ+·®É$[Q·IóŸ¼l9ø&°BOJe ULb О߆ó³â6DK Ç–-{êÑa„\P¨ëßÒóâü–š1$¥kÊÄ>X}c'tkÍ­&m²I‘Žù·ÓØJÁ ŽíŒ-v1ª;'ÖR&s1Siì¹›)[ä‚å§)¶,“XXõÓáê7V<å’r@à»êþ(÷±V¡ÄÙUãUaÓÀ…‡ÕEõZ÷MÂ¥yµZc®fD8‘Z#ޤ¢‘!ñŽ#t¶ä Uûã{VµÏ ™æÖM¢sÃWŽ•Ú÷¸dÚéã´à!B›»€¾åË0–Õu„•%ZBóÞ â±Fch–Ø7{!üuæ9£×&š Uc‰àlyµsùŠA–ŸÈˆ$;ËKýàåùíV¬!gJ8"j8¾ç¶€=³¢ªj+´¸ãÚy„å?J.¨rÀö†Üìå&’r¥Á,zæ˜F@ŸÜ´Ï5gʯ~ð(TÑãÊòi­ Áħ®KÛ² V¨.päH!lÃhÖ†ÛÔýbp7¤Û¤ì’êa‰Bxò{¤E]ï1! ’àÔéÓ†W?уÉ6ñŽˆÉ¤zäXÈóÙýãLÚ¿×ÐÚVðÒ¦ÝøžéÇîZ×`ØDRÓTÏãˆ:f áêÿJmèösÿj¡ô×ÿ„UQUWf®üÂÚyÎIG<øõ8ð©èÜ+“ð‚¨«€û{§±ú‚z˜Ò»ÐgTz­.” §IKß±Ù»<$šÄâ«Æê Î¢cÃ<ï„wÁþüi·yI@™Ÿ‹Hšßi롇úc%t‹udÛýç@ -U8ÕÆ7Ýwü(aÅ$¥Ÿ~? Ê¥Oj›+ßz‡«Bs ÙF/ÒL·(•€AS)øi[XâJF6`2ŽEãÛÅkºdY;¼j› ë@{§äà ׃6[Ü=k¥ø&«Bv×8=O€uR£wù`V©òű98G ‘µ‡iÚmÁÚ8*$Kt”ày*©÷ɶ~Cš`;6#Ô˜@NÑ–'¡SˆP^] =/ÑqåXTt]5u´øä;½ÉêÚó J.'³tåÛ¨[ï¯Lûb±_qYì[¢v`xRÈ©âØÙ›u‡’ÂÖUu·dWP®$Ö}F@ìºúwÃRè»wx½~3®ÚAiÛÆï OÍjµŸ²+ý¯°Ð¤'êWð‘VÔõæë¹jáö>_'Š™VQ0neÞtM,Íg)ó¥ÂÙ”zKÛ]ùv£2 Ú.&EDE“ É},­‰í¯îòÚ4Íá^3`ä(ÉßfòSQ†TD…l)x {Ïšxm)Oð˜ö/Í'4$a6£‰zÝÇå$ŸÁØÍ¨ì¸AEç:fNiU\é•Ï„&ºG¡Ñ¾*/ùS›7X‚!t¶¨™Fó¥MaSù3ŒîPº~Ç,Z#² Š.hPX.‚Ùûë}ÁãowÇ÷%,Ý&¸yÏÐËn“‡ù>>R ôc~e::nK$‹œ¯ú¿f ˉÁòö…þ.Ñ“Íù³‘C¼.¸sñÍà˜a +VðŒXÊtP4ëó8¸Dò£‚bA×oÀTW ¹{ÂE1€FeÏdÝ¢ër&‹Ÿ`‚O-´!°8“0©yYt°ÕEpÝœJ”.µj°ïsHBø¾˜ó4˹ÅM‰k2r)¢u~T:¨¡-/R!ƒ¹§*WQÆR òÍãe8ZcŠ)pdÙâL¬ë‡ðT®ëÒËE–£ ü2šÏÍýÒ #a½>ºÎ©%Ô/ˆªFõ©ð2\ «§õúy•w6UÇ=jµÛ¨„3Òa¿ìÉtèE ™¾¯Eݘւ¾•îQãîÁeí´Å=ÿœñwše•ES³ÞÝaÏ‘@…n"<Πsc.|åñÜ›g!!N^‹Ýrc»QQ5”‚’eˆéònïÔ†ª>ï%QPüߟê'% W›¼žàN¥ ðߤäl²ÝÖâîrW’ØŠ„1 ¨ªS4ç0Í÷ºTQ Ùã\¬Êµ‘6+­Ëü`æ>êÙïÚídMÏB;ˆ™«Æ3Õî›}†u¿]Ë®G1+"MÍV©¡‹^ùHÞXwí†Ë•lèx9ã3Îõ(?6jj.È6v\Wû€S½'Í{U‰)Š>`í“ÃÊ‚ÓúœLì0ù^~-ˆ¥ |eH)u¿•Qk³ûT ®?¥£?]M”UcmœðxÍa‹Cßî`FüÕt?}ü?Üu-³ou–ó»‘¿Û|ˆœä`Ÿ‚•1áu&ÖFuám’æR‘B„¹ã-Ui/g)[<ÔëlH=(„bõÜÀ©E¹äIùéêz¿‰.Û¡÷VÖs‹ýOt†`mw€BâÀæGì/Þ ÛaÖÌŽë{ÓP} |<ï‘ÚÞšzÆGüÂ*œ‘éÊœ›ÙÛâÍ’Tn¨¨5µ2ÿαFãÖ·”~@Íp]eñÛ-£::äNC²@Ñz£iHž/ÀÐçÑ(®Wh©`î½¥ ¥ôlAϖ*(Ó ½ðGÅëi´ÌIT¿iì_J¥"h„MÃYa6‘lø ÈèÍû¯}ŠHƒÐ¾qü3áºfnÀ ýÓü_î;ãcd®èƒØ®y¨:²!píc½€»µ½+êCùÛÌU•9ZôÙÌP”©<п~ì8¯Æ\Iô]7‡M“´´ußϬi~QÉïÀ¼ïÍ3W‘ܵKçO»9Û34l¶ž‡¿Å1µÇ†í†s9ܳ•ü×Éõ(´Ç¹¥[h…C:v ™5Ü(Ž#âY¡®H|ËKÑCö´dñVÜó콸Ð”ÇÆ‹,¾)…¤.ØìÞ«UÙ çÖ[#ÛÅü¾pš7ºHtøˆèÏ©~­R >Ÿã¾Ë”ì[ý üÛ<ÞqÒZA¤ïgæ“ìšÂ‹‚'xkß+òÌ)›´F`›è¨{mŒ~há +4^Ùöˆw´D»—@–”ËȽò¢liýp|` x- fí¬'ÊåG€Ë‡ÀÝÒ—àþRÔ ô%bÇ7mDzÜü¡N(òuaêÞ3Å&ÜÄc‚‡ãF·E7áô+;3†nÃëàþê~ÜcW ;µà¢š\e„VdÒl}Ð+pŠ ãÓÃÂnc R>Þïjåž)8tÂS½ "ÓÝÐÏ•×.™¥Mñ'Ïp¹£`°µË0L*Œdñ1ïú»okê:›ÿ¯¡22TÞòùLUz’^4¾”ŒòmÈÖ[{Â:ÊW[¬­¥áÿEQÊ<ÅÊ®9¿W·ÂŸE9j¿ïÈðø˜ª>ÄW$ ’ Štöå]Àjá€åm#¦4Ó5¤îòu-á¡S8±ÈÞó)C™ŽË<´0=¤N¡N(9É~`ØÝè|M9³©Q‰d9§ŸÓ¨ M7Þjˆ63p‹‰Ç„³û”ènýSEÊåØäBÆ1k£VA—ý\fŒÌE2õÊÂÐY^õp@ „[üyÓ½=—Y¬s!¤ïížp2H/P*€´‚´ª±ëM0yà7Âú™¤oRdS©m5r²–R Ê ¬K›·–,ÛþRè‰2¾Ð-COFŸøôp`t¿±áÓÛQ øø`}¹ÄÎ YíiM”E{A,½v›Ÿóâä )pbT#P‰u÷ïæ©ù1û{IGÃ.s-)A¯Axxе “ÊÔÐ=OfÃÍõ7Ž^»ž×Ÿ0aÙ!O¤ùy±Ç°ufqÙnjòý!Š”åàJë(3žÙÎBÓ8J$¼X^Ó’t ½“`ãÔ°#/RV}IsmsbÙw°-é* ½ üGn-×(K¢n9‚‹™X·uü¹7÷f 5@+ *á£Öm!ôƒ$š.„‘ï§3Ù}RSÅ·E§t+eÍ—yñÍ‹ìg:¼¶5uzÁ¸ô4r™ò‰/uÌô¸ËbÙñ'{p¼i”ÖüÒ{iÔÙ‚¢WâM[Âý¬ ñJвZAŽàzÉÁGäÊWÏÐê¨s™<‘Nu-¢`YîL~±‰o¯yk–šáy5Kîo”%£Àãí/«­cÉ„ä‘ oÞUeòºyЦ^L ‘AŒ„¥ƒß~•­úâžÐ]îžu‹†Ä"†äÝÊÞ Á])ýkÃ^qi«3ÔÙÎ28“@^Yêo ¬Hiçç_®0®·P…Wø„T¯É‚pPâ"8D°ø¬sŽ™¢tñ:¯ÀÌŒ‰¨„¹Dy*56hí@ì:+ƒÿ ¦(9z¤(û]&=¥u€¤^Æw¹ˆÇº9«b)Hð™yB´¿cÅ]KògVœsƒ.Tz͉äJ~h*ÜÊ­ðoFSÈ6—cÅB¬% f„©7™Cý3&Ä<œú¢f¾õõMÞlçºÔ¯¢}œ´@0‹Hç ‰¼Á•’ŸºFo ¯ö\F`HO,Ñ×áÿ ®#`Ðï?ÇLÙÉÝŒÓ)ÓBÆ c7âä™3“K c63¨‰ô@WäR:ð¢ŠIšÏŒ„§z’ŽÂùqšy`&FE ƒ…3Ï›^nñJÚØÕÔ}KPO\s)FÈζT¹Â®óïÑb¹Ç\cÜGW;·¹- ‰É÷TÐßÁ@èÊñÉÞdôßc‹)Bæi‰©Y¢7m¥éöj„ö.)ì0I6½q]ž‚ÿgŽDÝ@LÛ„zŠq}‰e@ÁeÓìʧg¡ fSÌêúu:yØîœqŒX‡ ±Ø+¼% rö‘W07L8Á¦bm³Œ(?z*òiM[æÐ(ñ:],tïÜDÜú×.{#ëL/ôئjËXn¢—Ø"|QpÁ.á€Ë£¢cü@戦d{”ŸSœ5*§<…†6xнÄb„Æ Q¢:ÐŒZƤ´|ŸÓø1cw¦ÁSfwôd"ÅÔÖ’&óËå¿Ò‘«þ$’Dx‘k¡[?­» üÌÐá$Öª–XiÐFGDW)—4"y”¥ÝHÞq"é¥V½úŽ3]âW8BFeÛ|'fʾqtˆ½?Ê¿‡Z'‚*üÿ«mä4Xƒf;oó´rîáê¡3f—$ÞJ  2®aÏaCTø‡v†Ï`r8q(5k+ —ž +Š2h‚†;“ȡ̿I[yjtyv/ŠÙ®ieñš1Lu}νÏ_;ý´æJò+4ËvMû' ëÑ@·â‚  œs÷S•2EJ¨ŠÁ RDf×3Ò ¶¯ÒÏ ¤]kVJlf)I1;éóCà o>jÔˆ<¾V¨[½Wð­ÛÈåæ:y¢ŸDó÷øÀ¥€[dP`˜Ì¿ÑÏ(C„h© ð™~çX#™½¦Y)ó1`˜U«˜åËã›ÕU€¼«â>̪ŽK-uåyÞÑEWØà,SWÝ/²Mí¤Œ‰;©eW±nfo²b})Òz=…ŠU¢ÿ$0&hÜøöoXõáYÑ 3ÂxÕÓòr˜®ÝÇÉ©á?¬ÍŒt<…Jkš«OHxP:mIÒ•ü𥮕Vè§ã¿ÚHí¦ÅK•Õ¹!Ÿ’ ÜDÎ&˜UÈÖFÄe4*€ ‹ø?ÜŽÑjÛ"'ѽëXvd °3Òúñö”;"ë×ñì{3Ù4Ÿá5ÍÕìѨØÁr]—æƒá9b¤dí!…>ißõˆ¯¸k6šÏ/®½íêv$žwA,Üÿ èïl[¹6x0=tÄ6ÜÙ¼U ùŠV—_Gâ,¥±ça#{áëÈP껺ƌJ WŠ8Fæùîþòôè*®ÜI½ù,LȆÀ+T †¥AHf4—X€ÀõͤH¹ ˜Íþ3h—B¶‡ˆV|é n2·²{4_ÚòkÞïE<£œ^®=õúœŒúg™ä`èꢧ¸ðΠùÝ?Æ4pÑöâšqm¬âÛÖ'ÎY™•i[ñÛ&Çb,¾ ï t}ÀÒ¢y:ŸPަë!ë9F„¾†•tî…äIÜ<·ýÎ&€6úg=À8èë‹ÚÑØ³Ï„Ûþt/ç½üÌ·Wï‹­¤¢=%¾‹TbX‹X©–ÐK‘.³*p<¬^lð)2(ÜÏyy"r]Í V½K§¢gkj…½ ¬È„¤Û‰ý±½×£+Aà7¶k9’>ŒèÓ¤ÓˆÊ(=ÞÏÍ‚ýÇ59Cç¿¥‡ÖÊ\£BI‰"Ó˜ØÇ"2úÓwA˜ØÔ>`yäÀĵãºÇŒM‰ø3Œ ¿nüÝ€ ¯8;ûÆyèþàz( âÃy´ãªå÷Ä–ß¾C\G<“dÑ _õ³[®¨€k„‹£Ú7UPåy;öÆýV'ò†ÏúN¿5` íM Ž6èÒgì´ÜÏûsöDÌtîiÜ*Äñß|ôÒÙddpò‰®µ›†ñ.ÆðêAUOÚôãdÍh¥|j˜»cùs ghîcùùûzˆ®tÛ|,®4'å"ú°µ@¢’ýðO.§J²ò<ê~¶®ÄöwZ=Oÿñ«1" !%""œ¥„ö¬ˆdë‘R$D7̸´ê}`0ɾ­)4Ê“®Ü@/2 Ðn)#PÕäI1MX51Ëø\öÀßo ‰ì9‰nzÛØÐXëÁ®ìé-X'áIô-1N²<ø Y¼Q…L¶zµ[Râ?¥ÙiQØUÚèpˆ8ú „_+í1óüuFiEü Õ úó½£JýKbÖh³¤þ$ÂçàÙ»jCøì€WYO ?#’áícB=*$6RKì6îÐr¨,‘|EÍô©Í"» ?;ö¹¿¹GóõxÕ·OX‘#l="ê’ÑIèŽF¤W«Í–tµë[1€Ò—æ(DÇíqêi9sîRl¬Sõïü…»Á/C1QB5§Síšòr±²<ì†Yýúü9Noñíì©Ú$ë¹–fÒ¹ <Ç&Ñ«)Éq»ÃhòTx”°gÝ©Õê¸m;™„yS›‰‰Þm(ÚäF§ ˜j<Œ9‹ˆÕZ9Š ›»Fã¯Îï`K6ÁÌVÛ‡VŠ·™\tËÀº&ëÏ=]÷NRl[Q|o•@ï,}Zò;0=u«œ'&îMɪ„"»¨P8Ùù¦Œâºóì¾›G„įºŒŸh¯SúnŒ/Éðéph¤L4ë”ï/~[YŽG~É¿¼7èÂíÙwJ®u70X¹¢‘žßôt.•sÅ;í\æwZ$=Tf;zšÐ‹B! ðÿÖBLª á*䄯F†¡„C ²aÆÒ¦}µKÁ|Zß"^'Ú—­ËCôªG]R\‘^îéx†|ÛâÄöÓ¹0Õ-mñY,Їl×0Ž<;pýrw!!hí¢˜¿<ç˸â{á!Öh-®'þê_¡!A!SÿYÅØÜi7¥ÄaJºü=ÎRx ýdS8Í+`T| q4$ÔX¬ø{_¢¢€Xy@ù%hÛ Øk7(‚Ss8wV‡î8}!rËÝc3j0Û·¿ÕX3©:ã¬$.éD#©3³Ê Äf[®Þ&üa.ΣònvÏþPZ€Õsþôróà Lkè X0ÒÅðÿÖžl=é @æ·!@XHˆzÐÝjšT8Ú,UËÝ .½ŒÊ îé2¶Ô»% óstÏ“{ëö/ËIuŸ'±Ÿ~ý ä¼ zèù«C} µ1Æ·¶¤;²”*ºJ‚0ew¼®åG×’jø•ç*gëôó©»íd’o2ÿc/æGŤ˜…܃ÏõŽ#VC4?éL^¸8tê5fû<Æ2‚îQ[:^l™‚G:Až¶ÅZÂ)>5l™Nqi S¾Ê,zË&–ؾ¿7—eøš_+4ÛÎ0®¥`åóWÉ$±£žõ%|o9 NiÄ'-xlù‹÷Y#÷Õhà BIX+ð+?ÝÂ5îà”SŒ $TÜŸ¨-†þ-gÒ8+俱hÊ/ý]VIDÇ€d¿d”BÁO ]ºÜb¹k+@Ná÷×6™–e@eur‰¥?“ÖñŽNcj§TC‚¾ŒÖK <µCMëP›¹«5XÀmõC€dø ˆÂX{N¼~¼Û(Œ«Cí'¯BÈÍÝo½¹É†>¶~}0[ãú¡e<Ó/Wº¹_Åœ££¨2Ìe0 `Ç'e*<öXR‰üŒ‰MÌ»£ƒŽ*בñѨüõª?Gôæôu¿ ©\¹;Z‘L Äç³%NŒÍ ¦Ç6z(l–Ýù,™­õ£hK'M[¬Þ\ÒKëCç[lNÐÁÇÛ½¿$!”a{X{h¥q£—ðLÔ<ûê9çð…2NTÀÂ1ت ³zEQý’}ÕfÛè –ÓÈr‚M™ðX“)€ù%&åQMšèn,o)6ÚóÐYa:Ô|0LŒ£]s Z‚­LDëi0ËÍ)7½W¹ö¡Ý!¶Ž¥Æ€ya?(éÌ1>fÛTÓŠ»:BC¿»%ÆnŒ§iL×ÿÞöºÒ‚(–!†W¾x_ò°³úCüÆ×ÀkVÁ#Õ#J¶¤1uýÔøxx›vÖõ!"0l‚kñ ¢õ6û”þ˜¼†ÀçÀ°}úIp{ªNët¿Å—K¦áìÖQ¹E4‘jì8²)©Ë3#³;ÛšCç'õÎï¿NMöJé“B¦ük/ªºžÕ¢…hŽ'ð@urRMNOc9ìÀ¹¥ê÷fê,¹ZTnÚÚ@ØÓü²\å«'\ÉÛ´ÜL©eµˆWC,¹ «P,ô>í<â>°$ÐÁm}p…3BAã݉áˆhÄÿþü¤ð!S ÿV~øù’P³‘ô—vÀ·´|YŒpS±M_E5{·â0ӬѬ=†ÝÜOÏñ¡Ô›—’ MB…ôi𢻛[)£®K<ðò|®¿§wL¸Þqª;¾¶^á;2-ô·È K4¶Í_­‹#vEèç£ùîŸm3 ?‹L£§CæÊXë15;ºž§ÌspSWø¿%ëx_˜J@7½ßoŠõCµå e~¨ÔY­eÖ ø8Y€9ðwôµÐEZ€hW“ž%k+!å?@’3ÿâµx›¶ÿÿƒn(–Èîñ‹hÞ!á‘×¢©Ö®âVŒJÈÓçÆ[]ºq«cÉPìÍpƒðEÍ3•ÌÜ´0¥­é>ç/È$ßf]ãa¿Õ<Ò¹~¡@ÉÕÕa¢ ôÕö·f¬ô4çbœ „yÕ¦0-Å_p$V‰œq»f~ZÒ¬\ϪÜ;2B¶YcbsXE’óÿœü*Z,D-âk¨ý¼AD §•ó¿9;4m$ô6Èèj€Ñ F#x~ûl/J›†—]Pè×gÌÇGÕ)Äž&3Ê·JŸÑ¥&xúŽtëþ'Ô~À··®ìÆ£ñ3quµ¦ßë pãÊÕ8]y¥1¹¦Ðe dÏV-è)ÇP‚ýò‹ÐŒGXÉ:F([Ä®‚î뿆Œ’‡Ó“¶"}yßÅÿƒ¯Æ¢Q nÚžiß*N63I]àYˆ¿ÿ±–Þ4òz ¸§ëÖ¹ÏXnªâá3:sùÖ×ÖmÒô©à+"Á$x`ßvh6÷ADFærÈN‡œÜ),Õ¸Vc-«`s¤GŒÆ£ËN틤U,GZèÈOôtGLX µKW7-$lãˆ#ïÊ}ž©)¼8ú¡¢H™?ÆÃ4´qYŽ<ÀÊX/ØmÕV0q©éÓ‡Ú€žçm2£ÍWSh½EI,ðŠêž-KÝ Èi™ww2xg[G*IŽÀ]fYçŠ~¹Üé_ÑG0qáO’4å¶NéÛ:‹Ê(iÀµCïèP§Ë:dgž¼ pžÖÞG-‚¹¹+•àÞšÄùkÞ FeÉb›G­yºÉÂ3 _g`lò…¿7c×£¼wÝ÷åm_K¬ßK_úvÔ<•Øïc– û»%þå†_®è,.<` Í¢tŒáÿâHƒ@€Ì ÷†ÚY¬G«%ú~@¾Ù ¦³’°}K÷ï=W'ÑPÒ­mÑ•_üø3ðtlIÔ ¿9œìnS™7qe?ŹҊ’Ÿ2Ž2¡ßä–ÒùhረʗڪBúkj2=+À‡îÓ8—fºàÁh'ž¢‹:Ò°»i-ôˆŽÿÿ\_etÚ9àr-÷jw -§os£ž‚?¢rQí1t †,ùF·e!°t5€ÏK¦"´Œùú/òÎiq“ø'´×HšÂMî$†¸!ì6+i¿ÑƒâôWÛÛ(c†ÊÑá±@HÜü[õ}pÎÈè8:¶©wFÊ™u6²Òyß6€§¦l¾¸:YEÊ jž&€‘Í¿SæÊñê˜[üK±+­£0êx7™„÷õØíá ]ñþ"‡06 øíŸœu‡Žu»,gÜJ×m¨¶¨AÅ"¨¹_ZíÃ¥ç£r»åÖ9¶õñþçóƒ8GZÏ^¹(‡@ a3ÛÎå'¿+ÙY¥èpðËTœW2 ìüį_®¶W¿*7ÄösyLM~Te­ô†bd‹¡ð^ Ø}„ìëtÑ!Yoèƒ÷ÎÆ¡OA'üýX&ÿ~ûô,fÅÊã|¹‹|/Õ«@˼=GCDpŽÈí…ЮÿcI^p‹N„õ´‚Ç”  pÔjDr/½*¤Ÿ -gÉ ±iâRþîù“«ÅÚàQ™k8ê<ÙÙáí>éMõö^“}mñáîí[vÙ}àrw\NIìõ*ZJR"ïóýxT¹Û³}LU¿Í+ÆQ®(èFí‘sÀ ÔáWõ¯gû>žý‘,xÁxx?Þ©wD«µ2‡è |9e7V­}g“È–%Ln|+h”¿g}!¾4pN)á¥ú˜¦þCîˆþá¦ßI¥÷æ˜ø*öÊ”BŒïŽãÄnêùìÝ‘>CÅ݆pDÔÿæ±°®¯Ò‘jÐÛEÉT-»#~©½—eC6q†,ce‹˜j²#AâѰhiò\ ã¡á+(¹mLÐí=p Vœc3(Ö8L…23=  z IqΔˆi}öš%bÚçèÒ—,K<&A…³Á›óüuFÌCþÊ+½Z” Ô“]³9’M÷{M‘@YÏwæ{…™…AI?ýÌBÏÕ¥Dõ4hE¶½Ú[×2œn°ÐÅà¹*u“×…?lwcÏË÷˘q(ÐËÖ¾+£#¦ë¡ö™J›A×éêܳèCs-'ôç¹B€öµiF»õë¥ýçùé!#—>53H±p˜¾/@ÈÆûÚÉÆ/êgdë«1LP-ýÓƒ¤ÇÎ/ìÛ´ûÏÏ.€×EßÒfPI~ÀÌe#6 ›ò96”1¥=â€;ÕnֹЂÔdš¥"ãÏÅyìb÷¹žçÑ¢Xƒ”¨%7u $Þ>­2ÀØ«pFªœbó“­EJèV´Ûz“©vk$snºæ©TãHëAŒæ©‰ˆ²}3¹ -lýïÄæ1zž[œ¿›Ë‡a‹#ýoYý¨ñôƒ#lê‹Ú:~N¦K¢* ÑGÆp&)êÕõ[G~›™좰Ë ,ñsPEz;,ƒýðAý‘1[tìþ\æF?šúŠ$¨o»Ï¥½%B´úpðg]1mö¸äü%…9L£Ë‹ûï[ONpL(æ38²çòÌ‚W ¥°”µ}ˆûAø¢ &$R¾€õ®iZ­R¥'¿y§ Þ¨'ÈÄ\9¾_j_™ ’”íÖKBÃÉ$Éaài9 ½vUÐjK@Žðl1‚ÿRø“²tqšL¯?é&î–‹=,qè–¾á<>n„h›æò:° x!Uì‡Z?÷Í•%uxy»9ƒ¼.•úÿ© 1­Úˆ”Û _¯#¤.$/¬À&NFNΕ©ÏšÓ!Oɩѯ² ²³Öb³d_.9—*»%Eoqµ1ãº×ÐN£Ò~cÛ‚‘C/•Ã:}1¦Tî0Ëü>;‚õƒÖAT¸Âz$/€ÇÑÚÚž…Mº©ûÛ9*n6¡ `÷„J bØ4þ/b®ë÷ª‘tþ Æj슑ÖAûŸ÷ƒÙb€=P=ñü5ôv'àp5ø³Ô²¿å·‘K¼Ôw}Ôâ Ъ¯ý°«—a—£D½qe¦˜à Ä;Ž˜ ׯõ,ø?œ‡%.´IPøj¿å——Uº¸Å}O6HÄéL]¥—a–ñ “ì·¬lƒk$Œ MZ°zý¤¦Õ†ñ<^Ðp×EJIÓ>RúG®áÍ85äžÍÃŽ°6ÍÑÒ¡ƒÅëÅbÁf„+h« rC”Nn'¯yq3Ò-SÖý{¨p´i£2z¯µ¿»DˆQ€øQx«‹P|l‰Mbd‚ñ·„®ÑO¹·ÓØ÷ZêΑp—0>ÛÚªªÐh½Ú øg¤·×ºU͈ ïsúj¿È3Û„Ú dmØï6¼û¢oN×ùiCæò&!,ÂbµÏ óÍö:ú¾Eï`~$ŸJmÙîqí«ÔyY=ÜׯQ²w?ï‘“u°Xå‘ÛCmÎÂÆÝA‚Ÿ˜`CF8›9,&Žœ«)ú¬'—óú˜WÓݧ ;%*õµøS£)Hµ­Ô‹?˜tïC÷Díñ°fûCBÀuÜÙʼnUV=¹8'×)–ꢴ¹nÎmô’Í6‹íL½&ü`B—îÍ…¯]û×4‰×e$7¾‡ƒ´›.ÐLÌŒB“¦(Î%œßšV±CpÉ{Éýšú–~àò¿L•ÁT„˜rXrM‘‹Êõ·ãú‘“-i;Þ°6Aê˜PmËs•t÷ŸþÃîÂhUÝÁôêoÌIxYåù´Ð™æ@,±d KOzÆ'ˆ£À×Îf³gçýHÝÔî,!ý¶*Û]¸DX…<‰™áÞ_žÃްö„ â^ƒŽx+^îv‘&Bÿþþƒ5{}SR~ün¼AEf?=¹O[Q¡Â½,œg8p]3Çëœ#LRX9²îb†àÛ&¸B QnâÀ-h„mè* Ýýt›݈c-BIøHî&fwH’jrTD“##Ð9 Dx‡®Þˆ‰²äzÃe=´|f¨'­h˜:üGòföf)np`v=¡ Mv_Ñò¢ٚݸ…LÊNÁËï"¢Â_Ê=/^}mã7ÅÝXšã3ŽW/ŸÀ¸±³/î[ˆÍ#§Bè˜TŠ68Ö6 µ°qJ}™à’Nküº*ezI$ñ~Ýx€Ö¯qó½ôy@¥ê°Z“µïê14ªâ¥#LcM_«‘´: ˆ€È… «ÈžLDX£°¼ ÅqöÕ匿8SV|ô;€‹úwéí¬­Îáž#âù?ã©æd¢Í6‘YQ[Œ'‹(M‡ä`Wk@U¡,{BÆ7£MtU¡ìÎ&N1§Ï?bÉ]*·–NiÀüEãñšSpŠ´ÎΉu1y¶ Füè¥s-d UçJÏ…›©”[ý‘êó²ASÓ£TIe”ˆCø âˆüûU±gDJ›Ÿd:Ý 2ðØM¨ÍšËB˘šV³9qëisŸb¶Tjß 4o i<€»Cl ïGQ|˜¶í»(sQÔâô«‰Ó·æ`‘òȦ±øö+Õ‰öˆ2Ó‘iI='õuÔN*ÂüK)J¯KÒÁù"µA.ÉŽ nÑmýàÚ›à‚/³„.îƒWâ"ZT# Ãì;*Bþ\¦|†VMóIÐ=Jày¹y!øe²4Á¾Nªæ%2¬:•<’¦Ø#O^É5+êàO¾:} Š€Zÿxræ‰ II8Ôý’µËg­ô’û äâ_(t—›MšÚïÚ¸Kšþµd³šqGÖIJf`=ÑÙ¶‰Ú²+±)y| ~¨\ó\Wän½³ÙÄÀ¾"ë%”‡‡c‰B ž T…«Ö¸8w­ŠËÇW³ÛR(y[p)Àº-|=‹‡°ÄyîÔ†¥Ÿ/ 0ƒôøB‚%OãoûþIÃÙÚî{Ñ„ÒßtlÚnºiÿ|°;Ç¿Av—¼ÕAQSv±Ê¯ç™‡NN•"Œfhâ)E›ä³Tl ý’u~ãbÅWé ËÉc\æèV‘·¹t ÆÙÈá[y$F 5Cy–?VùåúØ%·"/xÀå[G§×òMz·wñ] øÌ°Ÿ÷н!…7“-ÉÀ²mºlYžZò‹K}ÏFŸw]ô¥R†°£ [Rá´YO²·ë¸r€¡ÕÀ™9ntòȢyÄÁÓ{îéKøBšj§´#¡SÉzé[™ŽË‡Ú¨>ÑÕìˆ ŠÚÈCƒ«ƒµç­6¹, g\ Šíf»Fø@‰%éÞDî•l*lÔ©¾‚ÞI˜Íå1Óú ý¸f…͹<°ûŒrjnî%Êo—Ææ@_¡üŒPæwËJ AP/’<Ò>nô\}ïPnÂ8È—Fk \¾I¼Â«fPÞ:¡Fÿ6Q¾uv ð]ÛèF­ Š<ÉÕŽB‰Îl3÷çA’-«ëzô¦ÃüàÒŸ•ô;ûþQëU!~YŸ£œÛ¦úôå¦ÍNš’ Ω &=€IQ&XÊO0弥Τ&[„gé­$šG_Õ½JÜt”Ô}½i‡ëŇh<>Uèà/93^«–ã-v볊FŠò‡ä¦' /;š]¨­r,eóÜß,ÇMêqé þÇ«58;çªBÒsç]Å aíÑÛæªOEäå!M¬"ÒŠz—§®ËeßÍЕ@a öfý¡*¢Hð`¼[#øÒÊ—aAËŸøÁCê†Ø‹õjöÆkÓ×7Àß()J`Hâ-¼Ãì}ÄÐGmXU 6 @¨51Hqp üU¯*=c¶óGºl5µäpÜ©kK\ïlë%Œ3°ƒ«„Åí²¶½ìW_l¹¬ºˆ‡ôèMZ,úSá,„K7%…äð'D;ñ鲞cI]|¹#ï+z¿OˆÒ€ì´‡Âv~D`2&÷Íÿz¦"£Ö)ï?6„ž«BŽe_—T P÷…Íœk‹¥Æ“.7ËmC¾¡¸º1XÊE8Œý÷ ÎjšÉŒâÇDmªËäËÂ\™¾œìþ}ù€·½ýûgäƒ,œgݬ¤Ã“Ò†ûK²jG=ò*£M’-QªV£ÓÌø—mPÍD‡þ=[æbqU…öø¼ÍX.#Ѝ@0¥ø8rç¼IÝorT«p°”ÙÕZ°»ArÍTê­ùÜxe3'wlP÷AR“Üæ:)ú•áãØ7bw«šòïX55‹C«‘%o-’6Cpm¹Âfq¦§ $)e ×UžÄa›©8µù[@š% …ðy ÄÈþYáÃN€ >F´T¬èTôðb¡ tÊ'=Ô]®6þpI‘þþ‹.YÎn¬·&Æn³Räõ+Ç` ˜‰ã;xnsŠ:ü'ðT‘ºP=j1¡pMÛÖ<»D¼uzÂìôޤàqàŒÕ¬¦ü h5n²"ëµV­eëÓ_ÐÊ4Qh²t?PKƒvÈY!±©L”–c¤’ól"€^¾8ù¯ÊÒD`ð8鿎QB¯ÙŸ}ŠÃ›Ù4çкýô—}8áE_–£ ¥Åfá#-D][vJ «Ú(EžÁÙ@øËò'ÑþÅâãÈÿIùÆ&MHÈÁ!i ÀdŽ ‡uMlhÃ-aFé”äˆë,ãò„΢ÿÜ~!i4Û<Â é°‡Ò þbÊZ͸d?„‚–ºæž½®$íÎd¦…ëÝzøw1¸Æj"nÏ»2Ðà þ=²…JQ³ ÜÞn!.0í}7»/ARëV‡%¹ÊSà·ö]•Å×$s¼j)è5¸t ¡Eêþ ã¡Ä¿Ú«qm0—Jl¼ ìOòî\›FÜ‘}:?ÎY‰óBÂGb²F>ywœÛæ tÜJ,?(Ì7Hƒ ùZ[&$ÿzqÉð÷s9€kG-ÁrWôçŸ=¬Î.ЯJ~…„o_ïVÊFP”ö W7yÊùñÃe–`ªÞÚ£Ù4LÝ 7µµâ€fÔ‡þV1¨g›¡¯ó~<¾´×&–[–_kô︢%CÀà ž+¹~Ïbs/ÊæÒĶÐ!. Æˆ ®¼õ .VSÀOÐÏD"v5°„Sõñ Yx®U:Òô›¿€7 }ΈëM3UŸSÆ=Õ¯‘§æeE)õý¶Ë?n_¤ÒW®éåill=û]×÷ÜnÙY%žŠðâ0¶ ÷YÃvç¦Ïu¤6Ǹ­HCr)ËWJ±‚ØÉ^(¯õ¼-2ÙŠtmæ+ˆ™ÖðKsôylbøg¸Q„]OX—–([žÀ¯=%/Úë2ë@×#íy¦2«‰ÃÁÙ¹ÁeÜÃ_2K~é!Q: g`™»2kqßæÜìÄë6Â`ˇ2{OŽê%¿ÑåixÃ3à+¬±KÉF¨4:Ü0£^w~ÃÀ èö9'Ëìè[d]!›+gòvŽÊ§|‘Í3þÞfad^°%î‘ð[¶¶ÔŸVŽè´v“6[q™S µžH¡ÅĦ¤n}}ØÛ¡@jž,ö<ªÏ~Q–Â%æ ªˆ-ÐeŽV¨P–¢æ~ËiJâf{Ì xÈëD¶:pò%+¼í”À¶Œ5‹›%)yL1ÊàG YáœîÜbæð•f­^œ7XŸÝÌ™$Y”1«•ð jï\“H˜¦ÆåæÖWcoÿé‚ò4e´ÓËSÈÚ®QìhKfg[ø‚©Æ£"†Ë=ÀÏ/fayã|œ¡.ÕvbbÿçØã-7÷.çmßÀ¨ –Ò·d9¼e^ ¸_9¿qÖÎ.¡ÜX²°rÕ Š4ž œ D§ç-1Eq f’(듲W”µ@ Žc§‰yÖáò0î ŠŸY=ò/ù8_9/»ôªÕgC•t1ÞÝè^Œl|<¢ÿlQm;«*$Â…UŸ2ÇË’ û³Ÿ“T‚€Bz¬¬EËsg§¸_ˆÝR¬³XÀŽš_fâRï4&5ú  „…Ã&d³4¤ñ’lŠ2—5¶“< íš2è]ø•†á˰ËÊ¥“R+1+†ÂR À?z/½õm;‚«PÁùÀ‰˜€ž (ÔnÉe®]h&£¨ÇÄá®BèGtt\ ±÷§YöÎ÷.|& £ïe„íÛd¸øÍLÜ»ù¨<3†Šî±2¶x›®tåѹqêžIËø¬ Ê–lE(´ÁõBqžA=·â…óÀí÷iþâà.új„£¶`V¾ {I»^’1À0pÉçQ”áÊòè‰4v¼¹þòS©ê‹|Ìï”ûmÜÃp\‰5âUO;û â„]Ñ í§ô—JþN›cíжZ´)O4÷ KE]C7nRŠ—]zQþkBÑ­è+§’½Òø$0ÓtÓµ$¦C”Õ›\¾ÿ7¤NjØ`WF…q{úbÛ;‡…{ﻵÀ® -ƒí7ÅäÆK$Èhª­W'`š²Frí}áw„¶Õ¼-a̱ŸÔc†ŠD£äнj³å׳"¿7’–»€Íu2´ï\H»qãe¤ M¹þXÏÚŒñœ¶½£òSÝd«qš3Ö¯ãƒLÊû¿}ÄUâ>k ŸfÇ™ ªŠì¯üìÆfæ*èÒgV$A ¦7™°™Ýű‘Ó èœ5±qð]Ç©®ž: oZÞ3‘C'Bˆ œØŒ0ž&SĠΩ•>T û2Û«Qò½“jMš-ï<×˼ÑúK/ŒAIï>Š–û›Slâ—ü!ÏPç~6Sê ™i%»°ÌbpúvZ¦1íN?FÏF¾øŸÁ9sÀo‡Æ7WÕäaÜŽ¹iXP¾½ró£ÑÀ§{Ë àGï¶(‘p"Ó‚8Ñ>mô­ì€¯¢ÿ®N´RërYÄ`̦Š’“8Ï stäÉ?¿™Q·’„ݹ!ݲ–T6…ü­×›OÏ÷Ù Ýdh¯Ã¥Ôê…¥š®êò7a$Måå<ܼy\ùÍ«1ú ØÎ;&ARRèÍå!ó1arÃ%–ƒëãÓŒì´×ËTÓV€úÝY0»4ìŸhBNQ!=ñŠt(mÏìͤ¸“S~Yü%ìÐÛãEìþã%8iÞÍ:&F·, DÒ«4K'‰éè+ S?Ó‡R©0þ)Q–A«-¦; d¿iö£˜ÎA_ “£&#ŠºC 4„/Rm$Ä!$Ž“ñ_«æ©ŽÐjs ãæºnºjiy®Ú›ëe¦¨ûÛ¦éü‚ïUX¿©›T¢LD¼ø¼ÅÖx©lSQ“ `WERf±!Ãkïxþ9^j'ädáZæb»WOÂqË"ýöØÒÉÅÔšº":¤2?*?VŽ÷ÄÀ–Ë7šcÎId«~Ôä´‘àhìUÀ§/´Ú`fDyžñc¾§½4q„Q?!yÏ…]—\囃CüƒÜ.qGù]„D~ÕcÎÃ÷êE—bêž^úç!©È­X‡W—¨?ùÉ m•š À =Í ó±'¹Q¸)Ý¢ý…þþ!&Óôr+ R¡Ž)ÿ¶j¤ºaL­ŠßÆEÄíÌÙT&Ë«ñÎM¡dOµ•Ü‘X‰ø=×RÜ´Zí§½ýšöc{ónÈk¤2›5Z‹ŒâÕ‰ÓÚ¹ýÀ”BýèP[™ñ »Ê>ž’bRÛo°Œú$"Ò˜ØåÌ1^÷_âYnÅíA-}šñÆ ½§A:µw³Å8qu¥°®5è»ßcaÎ!ûKúZjx¢ÙQìT‹V4™­h·Õ?›ÖýÑf`jÐpÞ†´Øí™´ÿ¤êHkž‹ÚñÁauGÐAïlr©'Òï`^>-PºÈ`³\v«Ûíw!MpN›Ÿx™À•Hì?à±rÀM¾8r€=Gd'Rý yºiRÏ6̦%ÕᎄÈUí°á3t¶ÈB[¾³Þ™©*SÒD+YlYg=§·„nXÀïY+¯Ñ6œá‘Þ¸DüÌÒ3æùÿï¬ö.…´]\“;íàJ4#j´LŠ kh³ƒ@xÄ¿°:O½¡`ã£r‡¯"²¢HÍ‘.ʼn}=’ ™ªN[‘Xç>Ľ+^\¡¡AÇjŸßÂÑÇê–6À€~"*†¥²’A-ÿ\ ѲWÃ\!]SRúJÖuýUsöõ?þÚ×}q< ˜Îƒs?¦sŠÕ0TØM\¬ŠŽL­Ò2$—…߇ò®Ôaµ2YGÚË¡œ91Wªm槆î%]w O8IQP¤ÏÐYä“ÎVÏM–ÆÒ¢:~ºRh‰©§„µ¦çw3‹yyk×î9,ӏލ¸’¸üf‘©©é»O|Œ Ó)6¸|v%ÇbjÇûV‘ÅwúäÆ!»“` ”ÙÄå'»Ïc™ï4,’°ùÑ= ÓèËrâô4(BnYªb ˆI>jáõnö€°‚®‘ù˜Õì9½bbAêȲ¹†«ŒpœÌOŒ-ê%CO¦d›pä ÞLzþÈmØqͦJÚ|o]ÿ ™MÖÜà!I•tÏÓ©ˆ2È_§‹=|É‘äÚ©ó> ý  9cv7]çr3íƒýÛpD„qEJÙ,CˆðïèèÉ Ö((‹PáGh¥âßÔ¾¹0M¬í<<Œ|0† ¥ øè6—ÿ¶ÜÃÑãRJÝBRÙK³%ÆaàèfQÇg¢}ƺá×» ßíb-É£zgжÀÅT½sU¼«•¹5Å9H ÇnæÂÞ¿ïêw»Ž¿oâ ÿÖ—€·hA àÇú‹êÜŠá-ìñ‹(ó÷~·,äôq²¾â!A-béα}¦ô«¸##ª3µ>ß,ø(¿Üu”Ô4òiSp¬‹+¯RQx~žºk³ˆI‘°f¥ {oÂ6¿¸+œÚ¦á踳3æé'çÀ žÄ ‚S… 0—u1q#=D° {˜u©_»½”ŸÖ³ÓŸš–.ÛvÜEH¥1JrT¬§JäZÿ‡ëSQŽÎz[•[©]%xBr¿ÂA´Ò’ÑŒ vgåÖû˜ðà`?¯omÂàk¥>*BÖke󤧎§9FC60-¶4ÚÄY ¬UÖ½Žy5©f:¢ã/:}N“ <,‘Œ«q#²w¸‚PzÎE…¡á wÒªª!^ðGgƒUì4u¯œ†žÒŸ^>ÿªfùpäMjK¶©* ¼™G.è¿ µ2F´úƒ®c«fë"sÚ•¦"š€*¼T8® ÛƒG¢ecy¢hv=iÐh¸A]@”ÝeÄe´ÔÓ± q¨š^¢T h[º¦¹l<¹êOì΂áG™îõÿ‘œ÷”…q“àÑÞkÙnB>xˆi‚‘ cCÏ\Ú/‡û·Ì+½÷”[.ª»¡¨. Ê–ª=£Êƒàžò¡í™¿y:!V*ãûƒ*ƒ’®ÕýÇzÃ5Bð"ý˜0ÑBüj~€ÕP6»Î5<ÉY-Í®¥eëq7Åd£#ò³\ÃéÄ6\ñ;‰.€/EÕ±CÖ"àƒåAPe%Мø…+è&Ò)àŠ$³»k/÷•h³éAÊÿ¸ÞX¨½!úèòÍÔE«5¶µ²tòå6ÏøX¤µ=e©ÆeÈüÓ˜“MÊÏ"²hâÏr-å¶ßž¥k/Rþ Ä 0½]­ ó‚»Ê£íá]Tu”3Æ–öbÄÔÝš§V'¨(ÞÅ.užÎ}oª¾v½9 öfdL¢wðŠzG™­þZ|AØàû]¨„ÑÉkÙÃ:_À)’ÌQ§ÚVÂv¹:v \^øb]U‚óP¥¶–xh|ÝÚ& ÑCf’­ÜS}¢˜~ÙŠ2<}P™l`ã_§Ä¹Œ-í… È˜¿ï" Aº?ro Ï"`Ýd¿)6÷Q"|óóâHVýìÃø1z:Á½Æh¯¿¤™ØUèƒ;'3ĸÁ3ðWcQeý”q!¡ê@ðŠ‚g!A=¨Ö,£ v’„49bå“„Á–•J×€œ/0~K Û8žylVÍyo$É[ÀÓ‘ù'l¯ø Ì¥[O©ÚÚÉK>>2âPOàÊŸðþÆSA‚i—¶‹‹µÑÚïá±|Sê8+Àª¾üivîÎæ€5J6Üe«(.ûøUo£©Òð·Ý&hi™$)9*Å•XŒ*MÎÅhO0g·ð·m6î3à>þB÷RßjŸ Ã’bê‚Ü`‚06‘CÊSò×Z¶‹âNÆ/%õ>J"!Þ­Ž¯ž»yãè%‰\¸ÕóJ‰~4\‰ºµšv­Ð/¼tªÑ)»Õ–¶Ì‚®ãŒcRç^öì׿ Xpü“²G@1!‚˜}tsµ„]q]›})J4IW.ªOZj»’þàsþÛcÒK´F£ÓT¾„`§CÒé чó%Ø7Ðþ¢¨3?[Â|úüë¬A["å>mëv=ô5\X<*),z-Ô6up½9TîhìöêXU;H”*Nð CWiú\oŸiÛûçwô,öA<Àxàwm·ê½ph€yiÊ"û¯ý 6ÂoÅb÷$Ïzç5Ù¢ü>ro‘P°ÿ•ã×M:às‘i„ ›¿G´°üC½ë!ˤ›ô}`SæÂ‹W ÃPo²wvòñ›Nñ†Fføn|&úòѦ:Aª‚R ozIx_á\Âæ¿];¤4Œf?ºxnöòjí¼ahƒ;ù‹%ÌVå~’üã èã6pOù1rWXg!9&T¥ÄS »/ÁgãÈÜžEf–¼„>Ýïÿx&FG–óIR7¤‘ˆ/ÝíÌ1cÓ çȇŠPúäM¾Y¹—wš¦ú Ç3B„ØžØSá·ßÂáÏW†uÔëüd­SíàüF;ðò_7—Šô0ê ðú¯  Å΋Ó2±B<À0‚®(`g–€¶ïý©0îíâÞ|Ô·\>½®dó6éAíQ¦òèôÚž·F5Ž€Û~÷ÒÙlù‚ Œê*`Þ6qG‚[Õ2L0ý>QâPó4õ{+¦apíW^{)Õʇäií6op¶3»‹@—´…‰´&Ù f2t É<¬\ˆ;I̹’0ºíp¨rú+¯Ä>žê½ßW,Oöì|ì×9O³E£åøjhÄ^?6­(ßFXûãÔê&ØI’up|žöª$*Ô0¿56/®+*ŒýTÒeí¤~h9 Ǻ>|Ó^\ÍK ÒCµˆ(u¨•5U«7«°ˆÀíØˆª÷ë³å¯‡˜Ÿgä/*f‘±Råê5LáªlMáGsnÌR'©fâ-d`s*ÖRÙ Ñ?µe–NÓÁfS4ßoXâuÊ&<´ jÇG»[ç^»rÉM‘$Õ“`±m„ûÕgÒ0Ìt†¾Ï˘ tæ†r*×¾¿ÞG•+WvõÒ_ÓÏŽÉÍ < &bâY´D×i9¸K{ÿñûxØ¢Ö`~U^¢Jû¢Ëú®|&¿ñK­¯ àRä"x¥£åWsÂJ<ÎÛQüO÷—ö ý['ëCä}QQW9|×€õÄÞˆ¬É°(ÿ<”(³‹Ý‹KzK‡4~¶89ÚN¥mè1ìÎZNž/eì,ȘãÿËêèJ%¶š®¼ÁæÂÇ<UП±°Í ÿ{(ŠT¬;šWs¬fcÍ4²Ã1Vo•þM—ÆHTÑ|2{(ãO]˜JVzXm´, O+÷YA ¾™@7yþs­3ˆ2U­áJ<…l:Çæ–)v,b²%s?O˜<úË‚­P„aøìJ5FPª×ƒJ TÆ'SÕÞbœv=ú¬Z Ä¬3rþþ„ RÖ5°>ð)-À#@¦[Îñ fwØ”[=‰ÓÝîÓ´UÂüP«û¶ø±.2˜*t r6`7Ê¥Œˆ(G§Lî «ˆ¾‘gÕ¥ïѽã¡vÞ^dëõÈ@ÔÃ<Øñt/hšÕŒÄθóú4xšì%|&]†Lƒ¨·ÐD"r7Hаs•uUÖ 4忚Ô<{¢òªñkºâp$LqÀo¥=ðr°‰ØB¿T@ÿů…|gA^Ë{L1÷Ë__s |hšÐâ²ÊÝåÜWàæk†2í®ÄýH–XÔÆLr»Ì-3W—.ù[®Ä>"·8¿HøßGdäg4ùêžT7» #éB Q[xZ¯È޳ §¨¢êºhh @€Ë´O&ÁŠH„=#ª4íûuXk*WÎèY~ ·* iñ€D=ÖeÕÜèÀ½Š³±jè,¿·CE|òŽÆïðâNŠ”q{¦'Û«ýÉ+¬1ÍÐãH¤X8¯D󨡆úàá†ï[ÐPà*6U?+|˜è¥¶&Þ¼¯—Ùûýù¦½Ri}ÅoPŽEû*HÌèú¤IÓ€z äÂl=Áx(ÿnõMwæL{|žY☡éTR¶mÇ)˜¬–ª±üáqÜ««;é›)Â,Ç\’¦ûl§ ð©[m jtú’>8sŠ­©<¸U(߇‰l¶áûÄ:ÈRm€a<”ædZV"Ä›‡Â 1aÁØÀÄQÛètdû¡”åEI®35š#Ñß?›ì½}j!HÂã>ʦ˜/ O+¼•ÁrüöåSánA0“'ÑìwxÐ,肊×ì—XÌiñIvÎÏæâIIK‚Yoi…¿‘ ñ'²×\Qâ¹ÊÝpØâ0¶Q6•Âw\ •Ц´W$fï®e&ØÈÖ§¨± ³ÑÙb„Û¡¶—_ Cœ_Ïã˜íÎz‘öúDˆÄÉ8׿áVêM±¹ÂÉW‚5o¸m$•ô×?n4cý¤ÓY1ŽP1VÃòOp²}øsõ»_æàfÑBhÕØe…AùlNO‰ä@ÓP ô¨›¬.†˜Ï±—Ò•E}¹íð ¤ú41¡ KÒÁ,(Ë·[G¤ ßž•h@Ñžo ϬûXÌD¾ /ÿSD˜™V} e[ºþѯŽrw‹ Xñp5–×;ñ£Ó3"«Ïôé/õÜ¥o-mid ¢þFW~yœ‡;õbVt.3Ígþÿ]S‘gÙ¾Ïi™P¹â*™*˜ç’eZ$$#ñ£µØ3–]rú65 öÀÅ"·`„©ëžÛ`,ùÓG¬¼=ÉÜ…¾³S@ Ñ-}9ö„§#¨ÁzÂåPFV)_#c`hÇÓ?pmóòŽZ›aoutèiý²ÂÝnØg×¢ø?ËlÊĪG˜[ùÌ[ŸÖMóKû•¨¦gÁ‡õï>u¨CKh‡t 4 ^%®p1‡¾Q#÷©¼ ² ðÇã púeœ•vx”åñJ<ãšáË}‚I— ïH\¬ I!ƒn–`• ÚÇ`Œ‡JÏ.¬IqjªP Ô5¯}ÐW¾’ ¶ì‹˜˜0h*ž`óÁ£Žú}Ñq ô ¶ñÇï„X\ÚBb…ósq¥ïî.l3º•½NáLù:=c‡ Ü ®¦µµu…¶,åÕŒÉðÝ «‚ÝäêxHbÝW1Ñ:5¾þ·M^f[~ ¯}F½1}Âì‰ ŠRPÃÙ«…! ’t–.ñˆä=äuäZÇqÉl¢}à²8qÖ!6bŽ<&êl‹èÊ’¬äqûÍÙvât'{:É:†b™YA¢Ÿtö¦Û%aGú/×Sj«P»;Ó,ðå%¬ËÒ‰í`Ê|¤XŒªsÛŽv.üÉíS ô² Ðÿyb›*åè]‰2?–`êfž…çL!ÁM"•ÉA†îÚU£i|‘Ö]™¸Q-ÕH/•ÕÝ{k ®"§€îï€3A_ALi­&ƒA“œÊ/($¥ïHK´Ýå*¬[á˜B#šâ_iŽø¾Av[¨nßEøy„•°ƒÈ·¿WôN §uSO7ˆleííV Â>v³Ÿ98ºw¬2m)C6åËõl Gé:%<Þ{Ö ÒË<}^°0ïv"óû“”_«¹¨Ë *Ö)­<€‘Æüj NµIÓ¡! Ï”µ~'tˆäãëܪæêí+e›ÕTdø€w)´Õ ÜÜH§¾¼¼²eh wÆÏ1 œ‡¶I¯>ÁÞ–?3'XQoÍO; ©jW¢SŽ˜ž iê‡ïbIæÍÇr°O¶è`Ó•À‡xg_ƒë|#ÕÄ› “åÍìk¬+øW'§B¸ó;ù'fÇu–'&æΤÓA†¿[¬Lbgغl¿üÿõ/•¦7gŸeøkðæ¹Ô< *ùmðõ‚kxšb.kò€ÇÄTQ äG`Ô@ÕBJõ瑈ÆÒ¤ù9ýÙÆÔD9}qyUý?~£"…Èw9Š™©íÕ%YZ“ÎÙvÙV¨‡¼2KEw‘)7› %œ¦O7¢ºÇGs²vjÀFjaʘK<Óh¼Ú±§ºŠoúøP(½òzD†‘Gˆp†SœStÒr}ûÏSê ÿOi6›mÈKˆ<{ªX L5Ò·óù¸jùShâ/õÜtÚcÑñ¨‡ïSËc:" å‚>;ŽÈ¯Lœ’cɈú4"çÜùªŽÉ³Ú‘:Zs䈵s6G Òjð9ê¬<Çxi"‹T·òŒ/^‡oÃTÇh*Q‹::yH«jÄ©Uûidöç§žã‹á9-~4Áƒ¹Ò¼¬nwøTÚ-™ÝÜ{]Z;´&ô`}¨µkK…2  ½Q8¸\Shf®›~à* ”ÿf“_¡¹h>ž³)¼“âµin¹bCßž3–âè;Z™ÍÒ•ªMˆÅöcd+Ç©#¼£É%4>sš¯ò½V*þ7PüB,ÅȤ;ÜHep!Zfõèn¿…‚Ì8)°eBK Êy\VR]옳€U³×VÉqZ¢uºZúgŽÍÏnwWèr³óØ„Jþ‡?Ä($5Á+åyiÓQ&˜K`[Ú QÖ¶AóöÞs/Ðn!sÅ—yÈŽŸ‘.¨w¯pyc^À1¸<Vèò׫û8²ò¾þЂÌ X©Úé$×™=)PJüþݦÿÔˆOÅRüÌc˜`º¦¤2x»\²ƒ+²Áõ %éôa`0­WŠÎwz¦ôƒ·×~2 ¿Îoa]n·XÓBSá)Uyשõ7І7ÅëŽæM4GúAüv oÌßOí&ȵ¹\çjJˆDrUnô‹Ê†h‡ªŠ =¨}Ó…=E4gñØ¥ TîyÇàí꼘BøØ¢4Umv¤ãœ«ÆCñ¬ôöR‘®ßº¼–âîJê'O¶1‚2ìÅŒLÖÜÄŠýãï¬:/]Öm Écý½7Y£&|q¶Ù/&ÎEqùÁû-¾ÑáX28:ëØDº³á«ñëh«ïãvçy¿BßR̾¡6Ïað2Õ óÐåJ¼C¦{«æÔ[ ”v>p]0O@íÞè„l­nèRÆûë< KÈÍac8I´—zÔ÷+xtîlyòÊ« ‡ÿ=U—Ÿî1m?ŒóÏÕÈg±U¬ªô(mkM¯°“@ô݆vüTEw+Ÿ7ú§ì6å pk»­ô²mÎo~N¦ÛCéÂçx0N¿¯EIsÕ/ºÕPJeÙ8þç~7—7^%[¤Q‘g} ‚{âæTÛúí †S™ÕQ%A‘_#(+z%f± t¾X{ÚŒÿˆ[¸Qðn;“äeíà¹×Û²3¿EK;GøQ£a1 yKlu!âßwPƒÝ* «^:%øWx¢MÎÉ?×?YÈHú°˜1ÜB¨‡¨€%°gXLdADZZð n¾uñîÖ¯”òœøçCŽÑÑjL^È_®Ö°ú×ch®†Ïš Šv……€h~²DOP»§Jjê eó‡•)7³„m Ÿß 䘲ôÃÜ„_wqæ›ã_ML•æ’2*g7s=Ž{£.¤äFL+7|–¹À£óŽeΣ·á-«6¥[áeuÿ¡›Çš¾ ¯àÊûÊñOÿQ] PYæKÒ‹`*º(ÇEž:UðÌ_|…µußy±–Ö(b}‰ ‚1)bÛ™XrFKz‘ Ÿ3,dº¦¯è³P’ ±%v׳Ú$—÷ZNËHs¾aàvûž„•²åŸ¯4œ­òåL3|Ëú-W1]ðó­B]rÀRäÀç/óv@DFÇC<Žó²ÚPž”ÕJS‡\mjÇåü~+õ|Øo)né ŠŒÞ¡9sP9Úx¢t™µžÁaáÿø³Ýy+¡¢=°Êd)9;ŸUÂÓ”I-žPiÂÏÕCP¢¤×¤0kž¥QìîÆZeauhóÌ£5¿Ep@Üöa&X×ËG/¬ë=¼GÖÕŽÜk»zþd•›ow¸Ô-dÌÚ[§T'´Aãi¤ÉF§Éþ˜ m³Š™ñ¯éVà[µmüGŽuTôÎ`«jK%à U’f"%lNÉ .ÓdÙ)eÀA™YQ£˜EʎǨËv>+  3¾Ó¥žøW7°tÚ¦\ ÅçÛšY!ŒLJÖ¯Hã—ÑLãÄ,5æˆÒíݪ/ÂW³Ml+a1¶é/Ë[€—= Ê|¼Ð…Uª†ˆríjSÌ£&iöƒp1Íü¢’|?h›c—‚äk·>¼,LÁM¹þn|-¼DÙrtc‡­ rf'M{8æÉåXózgXÔ{£Ä˜Ï n fš Ξa¼æ¶.â½{àYùrJnŹ ™i’¶ý3öDðùýá¤GBÌ25F,¦S<ëè=‹5Í9ô Aþf¥pîb!5íWXÀ5°ð³ÿ…t‚àa¨œÆ•Q±UÅP Öœ­Ê_p8TVÜ+ŽÓØv›ƒ&ë)ùF«žðóÎs¾Ôc +°gþ+€¬áǽª«q¾tí½Ñ˜9“†ayLÿÁ»Å‚ͱ‰ÿ „RiHqÒ¬^ß>È;kê à©’d(^›±ÍºúKTB,_Y³Éò¼ðØ›óvl‰£úGgõ™L¡,î€Y˜4úQ@œ’øö8¨—~ùõ:‘‚)ÀiÑ”§ëÔâXÞ!½æŒ)ðg’ñìKi=# l›º•—XI©Þ Þ9è®é`ÞK]Séà6ÊŒ5NB£°í¤¡Ãï7bWÎ P1tW_üD­?ÅZ(fŽE&X´¢šñ„]H9 7mF{V4»Ú°~>u¬8å+Oá×½aª 'Înšm%†ªB oY(l 'pžä¾”7UÙB1•¿cªvA5Ïby´ø&Òu¤º;a7û?È:3tG‚égçK‘½½x.DÍžBûÁÆÈõ »hxXulÑå_Wk·)Qž4«ê6Ië¾ýC½ÙèGalϸéµ;s  4ø[ƒ—Êåæn’`ì q 8â uGR3ƒÁJý•Ä%PøÛs}èªdrÍÔä‘m˜[⯬9h~uäÎÙ¸ \MjQð!W±9r¸Û£÷€q7_´EjqäÀ­p3L}Ä# vH‚Ñ••ÝgÍíék dQYb&tÒÉ’Õª÷÷þRö>eHk/åòÒçôM•èßþâ?9Àß§„'­œ½‡Úø±Â|?B»ênUí ~;Í‚wÙÜBnÝ£[®ûáªÅé€Á2 m@{€Šm¶¯ÞÞ1:¹å;ûä ƒCâYAÅ¥E·{­=¿Ïü§¸‚ϸxæ¡XŸ >s¸è$ô§Ê`ãÎ-s_Õ´0ý¾F+U¦i%xÒ}N…-®Um©íªŠZMA%šå ÀÕ†ÝóFØŠÛk-ß„¤óúà÷ˆôåðUd0šë–zN–{þÛ¤Éˉ_¹«_›Ï©)œ•ó³}â€7û£¢:z¥¼Š á ±½Ñy{iªJ÷A¸+H&]M¸sl­%•Þïçô•›¢/¡'fLïï™p¡P!:ƒ^ ØÄ‡o¡Íý™Ãa:„Í ƒÓåô5,ÔM…? ‹"¼ç0«AÎx¸ppP0Cg°—žˆÃðÔä×¼ó¢÷œ5â¿’Œ Ða…k;yÔ+'Ðy*äĽ1M{”Dwy›˜d– ì%ôqAú•¿%<êè {‡ñðün[âã&ÍG¢ØÖjIÞ°Ú•2vA¸¼ª¡Cy¬…¨—ž‚rü‹nôð­m$§3«‘˜@,³„â/›äÛ«-h_r€TI…ûÜ­ÎWU»€ÎÜlˆ˜–Åð¼èÔ³µÓRÔ¤.d:¢x f邽Ö㽃4WU¸š_šÀ¦¾]x×NÛKû¦ü ×½>^Õþ²^éü£$Mí²Íµ|ë°”íí콓 æ…÷\~bÝÛ}S%¡2m'ž›Q¹-r¦§õ[¿äjiÀǰ>ä&(\‘¢ó_÷0RÑãîdò7œîX6ç9ñÕŠ•ü ²Á1HÔ®³pG¬N^IË­)]nYNð“@g¨BÊF“) ÛÊ z8뻡ÔÌ»ˆ\rhau²’›ÇÖd9sf ¥šó;­OíÑ%kf€*¤‡X~/n¶X%©C»aRc Á6ã#TFõ$ÕÒFBùÂQöqL"IÃ7 $p(죪 .ØA=c˦ð %!f.Ò¹­ÝXÔ|Ã8ýP.Œó`Í%Ù2›™î;Äñ\ãI8‘”3GI ˆMÏ›³©é vÿ¸D\{w÷T1:ØúOfy\v`zÔ‡OãU@5á>*[«à“n[ ˪×ež!ù0Ǫp[™'é,Õ9º7nã R>.K”1tÆÈ')‘ÒÖ~é å¢þå|p/¹Ô´ßšÛ1JU>µm7Bô| õr·Y­je³v^‘Ÿs@¤gêÄ1̳8V T$­4¥.kÙV6Ž=Oßçs²×!…¥Å1Àžü¡Ñœs±KéLp&íÁ ÷k”DñX”¨…¼ÐÀ‚<ƒÎJK”¤1hŽ!ædIÿ?ê†NÛª•ÒBñÈ8 =&=GïôÃôœÎ}‰åü$†€ºëY&dÊ­{WtcrŠwüÕñð¥Gë)úñ#HpE‰1GqBËNkja!7TEæÌy2Ä9‚î:í2×FˆºÀ$Œ\†ÈÊSa¸Ñ°ÐE§Pì@&Gve+'w!b“*0hxaØ{çX®îX<>Ià[¡¯R‹µ:±AÜcW.®¼hçY-ŽkóIùøMzOåÕœù^Y­–}}ò%Ø,¡ëM]ÐÉÓ½„IßÂU˜œ¼ðÝ^tt áϨÔ+Í8Kö9à7œšÈ>¸Kì\‘Â"B‹>¤H®ÅƒyÀÖñ£E¦“Ÿ?WªïÝÝQRy ‚;¡³ïSy"Sa»cÍèu¿ïÄw±e‘ùÕe›Ø?ôez‡.òž õDôŠTÙ•Ù -ºlÙâ¹$Ç7æïð‘G -Sõ™3“Ôõ‘dyE{)_%O%£ÚlÑe˜£ËŠç[͹Õ[gܺ7nf¦õN䢢ñC¥êlµäËÇ%ÚÊÛV©>t‚³²’SΗW6dKœ*iŽË¯¼§‰uiªYXSoeçï¢5M ˆ;oµépŠƒ]ÚR·àªÔ/nÁ¿mT ôp@8ÚP7Πï2ý›‰?,àÚ„•?4ã6Ù½82ÇÿÔ°Ç' Pþ~OãöZ–)ŠÔÕ›Ÿ)lW²ïùf&0*¡‹ç×{?Ø3l0Š£.BÞûOq[aêû“Î舯殊$ê·ÊEêiDr8Çü®4×u=˜\šî‰ ¦Ë'±}R×p °Yr=áÇ<]‚<÷¨«Â}Í×¢ØÍâÙTÍ—ãY^ÂN³|^îD(‡iˆW¬…b§Âõ4èT1Ѩ+ª/Õ2†¶æ,²¨¨ŠQ†krfÀÙšç±@°ƒ÷u¡6'‰j–¿B`tT^é«-Y”ÔFZU]oLµïà4.çðRÔÅ“D¾jÔ\î’S"&îÆžlL6©Ä»F¬Q¥Ô”r¸%‹ˆIŽ[ïUñe`óàЮÍ>9mCĬŸÖï Ȭ7蜆…ä®gô¬#ê&–¦†„ɪ“ŒTDÁ"¿¸°úq‹g&RŒÉï ;·)¡Ì0órtÅæ^}2(Ægæ´‹<eá©Þ_jg ¬]t¹w•ä~ ‹6 ö^y{íz3ÏKö,-…³1F—KVÎCfÜݳiGÇÐLX]ÎpTÒgÚ)>i’øÇ½]x)Ož2&hõZBýζݞ²šÚZ­)Þ¨-oÌP[3tMúÊêà<0 ¦p$å¦þžB¤h>h Ð%ð½§Y‡¿Ö[59²â9˜âŒð®^í€á‘7ͧ•êéÑŸ|+×yqg aQ5èT—ÁuuÝ­+}¢ÜÐé­'ÒKªó‹ÜL’TÞPÑ}Íåü¨ôyþ–ÖEJÁ`ç‹£gdn©òZ5œlö“Ë´0ï¼LRÃ*çb—YÃJýž†5 *ð<Õ^Áò y…}Lq/ãk%|M‘ݸßÅ:·éôÎa™<•'Òüº¼ažu¢©_ƒuÙ` Hà¯3r#bt³m*d$¼'ß*1µ!¬9ßPÍ0$²pf~kÃJðŒä4#{¤…ˆÓbû¬óûœ¤ï°xïí-±V†Ž>ž„Æ2ö!j1âJÜG 6š²­yÿ ‘@•z[1’öÔAh(à½í•ï_½¤ÍÄˆŠŽrE, ñqÓXdYˆ‹÷Ž{£ ’a¦nªMBhÆæ°ÅÿR’ÜÖnFuqt ì)¥«½/b)F¤€°p.+oC_¤Ø‘dS™…?7?âA bˆÁï ¡Šê!Á¡ðß¼ˆý@KÖÌì}G#Ç–~´{ç—O¶y›dPʪt©G· ŠØÕF`•·‘BÔÛŸà„[ðÉv_‚¡‰Ÿ]0Âo,X-®å­Äøç”0×9¤è]Ø.ˆxóJþÌKM-U³$l´ƒxóM$¬4¹¯\e “¾ ÀýQ™‡ÿwSBS£±»œ˜.©˜¥L´¯b£±Û?ÊÕWyj¹Sÿ ¦œ´÷Šë±]™ûòq=ꊴc•wE„Âén¹è\7OË×+ΣÿÿqÒùJ⮂‚{7rD,ð9P¸ÿ[ýßühÂ'åƒîÓî‚–Hjfd< VŸ“÷õ ±±™ |ªWgÚ™èkôHPü–9ƒ=ª›B´C]§¨ñò˜>ô¬„@^=R@ï»ã`âú©ÙM]rº0ü÷œq­W±½[Z«ü£ÿ0$ÌF~ÇÄiMfõšOMå óAºÔ&%ä9+d2"^Qs_ÝÕÄÈg®ëùPp’7«ðh ý£°…¥_–v+UÒ“ìo™Î$Ž–`)×FÞ‹ì¿UM“@µe4¡H¨Ôd Œžþ~üVÿjv»œQezÖ‚oÛ„6YÒÛ@Èo®1…\s|Ä|Z Ë’ûÏäR•DÊ=J ™›¦âæ2u•4, p€Ôm,LˆSXšàâu"¹}¨ånÅ5bL6ˆ…/T¤{X mP8ç Îâ.LNÜ~LöùœHw3Û§;„[¢ «ºTåXŸã¤VÜ'@î¼$‚Í4¾88UŸïþÓø#=ÿVÙ±ú+k³ÅNÏ^ã1ÌÀZ8cÝ[º@‚Ö™Ìq$ý¤±ÆÐî@wÁ±Ôm¥óدa;\å»#@#Ÿœºj±'b¬@¦yáëç»×çÀRŒV"!D»”ßU‘.6 ƒjiŸ¬ïîø ùm«M H|ÀN>êÂ* rÁ¼¥æ£Ùf*„1zF%\ J,GAC£]lI„yIbUê€ÅüyÁˆ€Až Ø} VñK¥gÒ¸Ý$Š'`nÃw t§ÆéXŸwÉJGxQ¿«Ðea?V/S]Ýzo§ú3Eî)Ö"×h E0ɇR¬£q&Ѥ#laÍ 9`!ž=u‡.‡Âß­©„/öLeÇÓ+{…±÷…\µ<>Ïj-•°7=¸ˆ{e¾Î=6˜©ÃkÄ ½þ§JáEïNoò` ÜIp’aúà}`ñkË\ŒÎðîäåMé'·ß–\v‰ó‰>×FÌ„Ÿæ™m½U]·èÖì)óµˆ-ßÀÙØBwUÞÓ·‡`Œ÷Î  éÕp¦üøô£㉜jKÜ|/°Ù:¥LYv$ø½ÚÎçÇÃòv5{…sɵ@‘|EÕðþM\ï9ÔŒÆÔ—ùG>—ªcã+»šâ#j–]{Ö§Æ §Y0Ÿ Žѳ0­iÈÆ‘#6€8EòTäq3Øvcl‘9øªd6X opB²¶³þ'D¥¢qjØTé ƒ*p,(!ê@ÆÓÆÙLÆßÙ>¸}éRÇ.†“Œ3ÿþB_7~Ý2u †ú3²…ùÝbzIòφ"Þqêóh¥]-c´ƒä¶ŠÉá>Èô§‹_Îm ‰·€'Œœ°0±Ž´¨%“•, zZÝ6Äælôm­dseH¼5ʵáN„·{cçjÊÔ÷k­¶LwÖ´´A7t™SðÇ4ë•ùtŒüDöÙ1€‹Zæ—¨˜Ö£êçúZoEÀ¡©â%õ3`oE)¨Ù jíä—(†Ä-KW¬£ñþ÷|3 ŠJ½Afl[óÈÿ®Ž=„Êô†N`q/m*~-ý®YÝâMJYôjO…™>ˆvY1b Ïi¬Ë{’¬mú­¡±5w¥ÀO°8e`¥/‰/þxÓ|„/®]çÊÞ“m[{MFñÕBÁsAâW²ñãõxF J‡”úèR lÂ5òûaT‡DI{2Ç[üí¶fþ9Fô >BqyÄÝ`:}1Þ´öìÉui™fm8C$èz $09û½þ-«7Ê«4²¸MEi–%̺YÈ"–KÇdîŸ}'lus¥£Qÿ™Þ+΃Ð-Á¼²ß@?p7‚qðõ:GØiÍ­‹ŸBu²HYÑø’{’qÉW•ðÄ.Öj~°ß ‘ãcaVˆŸð²|Yi¿1Ãdö ^ýãÝç6hWý–_JÛh¼tÆœDFøõEÏo¬öÈo±ûô¯'¼*5”\lÜ0½ÜÝÓô_õL ©[ç–pJ­F±Tw‹Kf<ݹjÌ\´++š|‹z^qŸ,½¡K¼¯PŽ­­°!`CÔÏ6ÿ…¢ Iy¦£3 4câ:ÉÀi÷j!Z¹9Å€ã–Èšš¨1Ë6þàå|¡Å7EËi\¼Afž×1^Vrpyƒ‚ +(ô˜Ûšà$á0îG‡þ»ç€ (êQ%ä.†ƒŠ3$œ#1ë~ î–6ÞÌ®R–ÓÀòÙR½ûy§3F!N;úùн´6å×KvÞ5ZÝ·‹®×9²ÄN‘2iʺa ªôˆšºÓÞëj™š©2šæ5‡ŸKkk#ýºAEtæ4kÖ\7²³yG0ê…‘Ÿ„Q™dð×èö¯ ã+$XË­† ©EEo"6Sé§g½rX¾²Õ+Ö\™ÍB Š,ùg’Ìe‰”‰®Y–8DŠŠŸ€î;¤ ~ϧb“&Т–û~‹”èY‡€å€(“*¯Ç̱,åJ"ÊiM>÷eêÿB[<ìʼn¦r\xÛÝ•#Ïß m€8(…±Íî*¨Õê˜SV~ÜXïÇŽè¼Q g»|é³ ©i7’ü/¬ YÄ›U¿±*›™qæ2=Öq¦Nk[x9pPÕ¶àJªTU!—o˲v“vZ€=Á“: €9$cp‹—± [fd§™H7 mV²Ý_ç¾i: <˜-Äà´4FÈ(¸”¦fÎg~¯Ëð©O>Ê_ÀX50žãå†-43FüÜJÉ‚†¿aò@#Ðü^0£ˆ?%Th0È¿ÜÀó.®g:¸¿ÿD.êT«MŒ³@+Ã`ž>[VDTG¼:ñ>¤†]Ý÷Á˜ïƒ;Õ@ͧ>m:²¬8#!”6õiŒ¾òj³ígn EB²íMྰ NИÈf‘¹hßþ¯S˜>?Ét~ª¶ð‡ ßVÿ&ç†h;êoáÝöGë3Ù*°¥È¡™¨BÝÇH‹è9Bãë®0‰à ?&ª€(bR÷š6Ö.xîkèee+ŒýÀG¢b¦%(¿—£(÷H™UY¥B!£j¡3/;ð• ××+€¨ËW'*:¥Ë¨ëE¼!õß´&XL$ûØ™xgGCfâ3ô ó`ÊØ„Oì?D67ü*ü¯TÞÁ̲uâÜc´8}ß(ÓI>|µ¾”*§^ª@eš6CG¹ß‡dâf]p7ë¶¾J þø·Uá‹“`|‰ Ä•N79ìÛwž\ÜkW†£ßȹnX†<§ëÖÆå¤9T˜û\6¹‰á0<Ϋ„]?w(õˆ$0Q_&²“#ˆ¤Ñß?œ@ù»!„]|My§ÔæqC”ßþ’o㟨š±Šþ ÐVxVŽVd0ÂνꔳCÖƒñËH÷µ§h(9z€û©«[Õ5˜¥wÉw] ˆªäcC¬0&²Ñ ¢@—¶WŠí”‹½Éº”[Î3zçkj,ÆRžüÀW׆'àÕÿO.` s¨¼(>’&6^P…­šdìåŒ!DsÚùm›­—¥&·q©æ$ÇŠíyª Wø½¼‰¿FqÀ„/~g/o s£ºQê®À†Fš9u¾sx¬R<ý9úebä³kÜ—7gÌqk”YÓÕS¸á“ÿï2œ”ífð8ioWշIJ¹ÓU É<)ÀH©mŒK¯DWKFR˜3My½¼Ëjì ÖKHÌ&÷lç̜ɤó/+ñô@K!¨6˜?–/1Cf6}l¹N#~¸ “s Šˆk¬Dõ5ö-µ—¥ÚjFkÈ8ÒQûÀ—Oƒ Ë=YÓ?êF¾Ó»f’IMz¿ä± m•<|I(_·¤ÕÄ0ªÄœ 4ˆ“XdÄè™XrÉ×@þ¸}©‚´Sn64üênïw[T$&À¸þKZúRÖ»žœÉUÖ®ÉßýìVÕQÌGD«N½¦QÏë+ÁÆ¿Tù,†¶Qü aÿ¥ÝD·ú(HBÛŸñ„Ɇ§‘PòJ¡RÆî‰åYù˾ðøÌ¦_\ ’{©ç"ÖȲ„r³ õa“o ·P_(¿8U­A£XØm·àÜ“zþ¤Ù Ö~e 0˜«Ô1‚| 1õ&¥’”¡¦¬„²*uæž0ˆD[ñN:©hŠ—·j`V¹§OxZbWGRGTKüG ï „€:m©c+yÆ$Ÿ%‡*±Èø}ZÕè+˜÷éâ4±'æ'¾ (̹d¥6fá¾S&PaË`W|–~ª¡}â[l&l.%”Ö}χ•úÓÇ眎N¤˜IÕr"G¶øÆˆ³Ñr)æÊ$'‚~õx¼áÕ»ÌZÚÿ”R?ö!陂£—ïP5,‰èEL·‡8†ª9#ðߘ_Ù¹…|#¿åØ:{7TäÚbÓŸTû¹Ñ{;ÜoþŸv±€l>Ân·úЉ"A` B–…4j€=tcëìíÑT?ÕÉ𞚦?ªS"/üԒ༅ÕÐî€ÅWÝkhñû3¹,Ó»Ù±-=ϸî€R¢¸Ë C4åR˜úæ7 ®†ÝÑûE%EÎ@¿ÿ,€AMDcA ŠIxÄ2¥ hþù‡XbY±¼mPQJ+¥0ýpnÔv5üQÏ) §\´–Êá5=ýAõ ÛbT·±|ýÞ é©ß$'ô™Vf:Kõ¶00™¶l_OªÆÑAØðNË–Ã~(+»êN%^2þ¼;I9±ìbDåŒ]#[®t3Û=ä[…v–Àê ¦ ¼:>,PUî":}%x½©ñuƒžç"Fãi*.Lϲ[] 7€§[e¼߯}†"vÚfáÚ¼Ù'¤[ ÓÁõF&ÜÄÌÖ·± VQÚ­q–ú–7iJÂ6ã’[åyÏÚlÝœŒ…jqAíŸ˜Ž°|Ûõ€fÒ‚WwùEKZ$ÉŶmŒÆ³¼\{¤ä¯FK…â?çÈüfö,¯1æ2½©¨ÈI1ÉyÂÀ@Ú„[ Õ%%ULÌNE¼;)EÙi9Õ¤-+Jê\Ošs°€ÿ]Eåk@ÃÕ“?è¸ðU *.L€ñÇKÅNÓC‚7–Š¿K-"0JB±ýÅdÈúb4½3 Æ.(çFÀ2 Šiß`¢¦ZÒdx°ášç{ -0ؤž{˃êòÂëiåùôˆú©¹(„y~¼UÎK 8Ó "x†<…´ï³þgTHEôìÉñþFËž¢»õ´á²d8¤BqôÊ 33CÞé¹n.NjñŽÒò3óNŸS2$—©dùŸ ÆïŸ Ø'ñ„…ÑÜÃI<Ó Žyo>àZ‚ˆlQ5–%TgÆa µšôKžËPFUއ×F9DN·Ã["žWœæ{ÌR8ëØ³Û¤L¦þœ4ƒÒ4ø”É -0c:"wÑhìyú»Æï]YAE&† zÇ2ºæ^ÅѤ•ÊnÚuþàôQ‘ÀÜô8× v/ù;ÓnE€óX^È|7¡çïÐÂ[ò+Ÿ(‘üÅÚG®š¬áéIk´Ï¤"ßumÑÚÌ2줦͆Œ˜Döý‡ød̯.܇«Sb¸2yš€H:H‘ ß-þ…ÏÈ]اÿ–¡-»ÃË­6˜7•cÉAct ¹§±„­}׉©mŽKÉs²¨7F[›_ý÷¤(Ãóq»|©e ¦{‚dÛeÊ–¥äÃUÓÊoͯ>ÊF¥O~ï*d´¦£@½O¾.ž9ÐÓ¯!œçkù؇¿§é,*T·¶©vCŠáßtüh†@L•9`øô€è!ŽB´I¬Z þ¶„¥ÐvÆ„io§ÎäTTšK·í¤E­I^ŒêÃÊ”Cms~ªa»_-(>ÎÖì&Èé™Å[yßJçiÄÓ¯>’…"w›cw7²þ¤ä‹Š•YáàŸbö׫« ª$ïÔgãüò¦'%hæï‰IµRÙdÒ.ÜÕâÚÜþ¹‡æÀ¿Ewâù ’Ñ ¯áÐC5¹O×>×RY5ÑÙçÛÿz³ X×Ò†¤ ô³âyœKó—™(¹¦»Î“¿¶°¡„!¼s4DóE~·^‡XÐ3Ò#RM<øC>Ó“ÆyzXŒ*é ‰š =Ye"*.»®ßÜ›2н€Ÿø†üï×ã[`•*1ØMSÜYÒGþZ_zÔé@”[ƒ_ܹcz$}5[¬ÝÝ)A¸òÕǹV‹5ºˆ¤:P¶"ýxlƯ8Ï6Ö±l¶’^±€V7Ì…§¯{íI,üL§¹)y$·;RáêA©¬,óFý«ƒß-`ÂÈM] €Œã× èºÍæQ 7øLFÁÛGF«Z9½V¡„"7žŽ]Z³–ÔPí Õìh¤Åt@vÊk„~⽂ ã.(ë¿&23X°¶á@Ié•›z‡½˜¬Ë%/µŒ‘]É`Ìòì!Q ¦ Ñð:ô;ÛcÜ~ùÕê‚Cú‰·æÇßÃÈ»°]ó?¹29ߪ6}œn·!nBúÝ<Ú‡…ØI÷sßv ¿ÀËÉ£Ñ uû|23nÀ©ÎãJdlAM%[kÄØ@"C¿ £îp¦C®]vÙÒ …˜ÜJüèç,YI¬ÂÍSùH»ˆÃÓ94 ñÔ•®íØmúu&ž¼ù"¥‰µŸO|’5®,`q¼¶J0Üo¹Ë¯n™¦£-æ*ÖÃïMRy4€­v§¬ó¾¶±l‚§2œÑ:Ö°ØyÇ…ù³({¨¼W«ªÆ;åúÝ”“6vÃÓêü­¥›µ}õS$ÊË] “ÊA!àÌ:]œÁh+øÙTÝI+ùUýé·V`N -ωßFÒÐ[ž½Í *SƒF®¡K/×NöN€P¥ÌðfÆ4âÈ·wÄYÏ'ÿûC\YÅS,7uŽ1iñ~¯Œ}KÌ›on–Iq¸ølã´Ö MÊú†ÃA¢«× I¨âåÜ£óB‚cpˆ‚ÔnfÒwݯø^˜âKø µ6Ô¤Õ_%u]+˜ê¢Ç-Ëp¾ÒKÇ–©ýaF… Nð zÏM8²dkÄýA3µRÈ>oÉzkBåäf²U‚Z3(Ò„.¯c£ûˆòp**?=-&‰Û†®Ó„í:Úh{âÙ]ôR-LÛï9xjP_¤OŠ5T ;±ðx|SÉf&W½Îüwa÷ÕÍhàS3öøí™DFjþõüKÔº¦õ÷á’å"› “ñþÚ.ð m¯É™pÈ¡ðRQSv·úÆ?&"åÖ·îã:wæ)ʈÁø¥û «Šbks'Y¶Mð’ÞÐv .¡`’J†–XŸû¶U¨Ì‰mîà™µ¥°+L!ˆ’x°«Œ•ØìÓn(  Lð†ûèüŠ5Î.(É’ ÐÊ<B˜É7Hß-áè.¼r;ÓNf×Ýò7n]ñœYÉG)\}8f;RFcÛäp2¸?ñÕиßB-¼‹±nã\ã­ïxîªÜ “PQ–Âî Û˜.c@ïs¡†±Ñ^Pºš¼–™úeƒiÊ\ò·ÆôôÒ–®ÃÝ©Jä=:ŒZ“¶R‡³g”V+}©â*øŒ…èg}&Ò·¿÷TÚ D?ø¬p(÷€`›å¡aánÑÙø®©aPR×”¿cj ñ݈{»ÂT|©€*ãÑ¥5¥ú†ÄaÙaj6[S¨‘ FwRJH8®èâ™ñ÷ó/:³ëá»q­æ¥úê@¼=èûC\ö@ró}ÚM€Ýø qZG óî.‚¿x†þÇðd£„o›üì, N·ª7UŠp_óý .1TqO)é&Fˆc—ð+~‡5Iƒv¢­MÈj·uË ø‹ØQŒ½Æ•|Fw[Ãïëä:lÃEAáýÉÇÃïÚÛp ˜«×1’’s½JeBý_¡›?_K£ø öëp·ðì3–äÁ÷µ c ¢Û«aìu7%ÕHÁè(9• 2»²*/­£µô·"øºS¹h±ýÑó‘uožH^8 ¾‰}ø%VY쪰 u«Ã@ëj=—nRÎ, —Bíúýy)aŽ´ÙV]«‹0…‡ÞÍwx¥É}Ÿ™È¬D¬{K©£ÛE÷ƒô¦³72Ðݤ%E|†ÖÕZWøÄ`sòÊ’YÅÀ2s`‘@Š8ÚêßÊY~ã@°Â[™¿;wúŽBqNb> ™wâ&•Žƒ/|R¯S|l|A¶PP¤h—,Î:ܼò=Ñ/ÛHQAi-úúÀ^¡ 2Kúgsà“¶ùó¯ã3MÕˆÀ>÷Ÿt¯)_­êݤüßj„ÉkªCi‰tëŒÎöW  2RîXs½Œ(´6ܘóAË:æˆöÞþˆ±RP²p/ù÷˜æ‡«‚6¦OBËÅ„Þ?7ÁÆ­v™*ò¹ÊÀ,âèG4BÍòáèÏ‚ï^´çKZÂ1y˜Ÿí”…'ÛË¤Ü ™ÏªóÊü€’"~ßïî~¦½’¼‹¾”ž×Œ …z@Šlʤ]xùÄ Ú{aû -•ågÏ!OÑ n$DvZ`ÁK¶¦„Ÿ÷×nrŠõ‡bäoIZ= õý‘¿Èt&ö’ 15&kGš¤pœÎ‰µ”ª¾Ü±Î3³=oI¿„wı®nìa<­þé $*·ç›jza·qìl6éCŸâ:€‹6y©B‰¬IrFþ=n}<”èW4ΈŠ'¢x8S‚œv𤼠•e¿d»Ü’ë @Åêë{}:+ËëšyZ£RU·@I¤Û¢(ÊhÑzy ÍVw¬‰Õäƒê#Y¯dwUžêÐ#¨î/¡O´# 8¸ÓÉ„yLKä‡s <û҈ܳ'Xíà§¡.(Ú Ù'xyR‚ M˜’±Ö×{Ž ]F ÂowÃUžÈ/‚e†õ°…PϬ²ìê_ŠvŽ#gƒXëä^û¸öw¸O '“¨Æ³”%޲PjÛäpæúÖ®§³îüb W5º‰Aûk%¨\åCjü&|“·p[û†/rýX¬sõ9: zB |û‡ÉøgÖÛËšxð4£ÇÛ4´ÿ¤Ã„ÃÍ,+tN"·Ø#:ö¹Á2LR”q_ìØ. -%.ްC ~8ýÈ€ ú.”Ÿ´:}AÉ'Zþì{³S¤<0ex •Mϸq)1 ‚:?HaŽ[Jp_UÕ.¾- qûΧ±@â·rO»æ‚A€]¯Mf F×ÓV™ï?€%[ÝNÁвVÍÇ·‰© m>›x ¯û¹YëY2W%õI·OP¦ Äxå–ú:t]EQúpŠM¬„V7µe F¾7•nñ$ÕÈžPNW8ûy>õÐoG׉GÙE±@÷Þ‹ÇÑý·ñ¸gpÎÊ}×n"o`O´æHïÈFhϽ„µÐ] í F½ðc:¼Š2w“Œ\¯ J|aR‰lž8‚¬`Ÿˆ®´ÄkëÚ¡‰äR{óxœç’,p*$ Žáî ng»_käg´Ö³D¥…Zœçݼ‘c*BÎô¤øcÆÔ h1²/Èö+4PÑäÝdwL§ðîñ‹J °3rS£ÚÂ`e ˜×ù+#ïžÂØ«4¦[ÍQdãèe¬ÀÝðx¿zˆjZ²s^Ñ •Hä`õ…oº¨ÛÆàì<|ýåNÕde'9à‹·Ç­Û“áK—‚ý<º×šÙÛ­~Ì\ñ}Ô¡Ì"Nöz&ËákZƒ„á!訛­)áè~ÐEJ[ Øø/¦hçéñ¤@¬'h%šNãõÅ6x^¤\‹MQQàïàËÈBâ10ñý²¼Z¾B¾¶Ù‰Q©=äV¢Ì@Ó›;|• ã:Qˆåò*ÉUÙ†ÞNÈY’Ú¬&¢È«©%€>éæ(Мjòe³Q{Ú´ƒTn@^è¯âœ€pƒ‰­mï5ï8KáW9mz2fÓÑn?ÃE`I=ú‹Qoìć¼3ø!®d`Ò¡6‡êÙVêGS$%„,ç1v(¯Vƒ‡£i«òЭúå4z¾ØÀå– O3Ù3÷+80áµøÇ+æí98u=ÞTëhÓàÄš›¹óÈgX9 îp1²'Œ…’U½q˜9šéïT¼ëjK…‰G7ëÚBdàQ± _€ÿh(å>y~‘·™,~K&Úy|Ùëñ 뼋]ü4ÇèËI™ÁÆÑøPƒÅ1’ÚØŒ5ïŠ@™c¹£RX‘iŠGØIç\¾¾šKÁïj%nš••Y3t«.Œé†&B«üÐÕÉ—,ª 0!›jÅàV’Ø5hýœ(§@ÉgOX†T¨iÚ£ð¬£T#*:Éê§­ëû T6ˆîÔÛw²Y]d^Àß|ýUœ=*d-’î·Óæá8j­MÃ(Á¡9épå”ù¬*DM…ÿ?r¶‘Pn¾†#jB^à]Œ" °sŠ؀~à™î¥¾¡ã*rëV'ö“dì¤\‚ÿè‡8ö¢Æ7ñÓîý¦gÜ&¬’Àˆˆný«óhÒðón9n„÷>>˜‘SPÃ~x÷³Â/ÝÏGüFXy„ Р´}× ÷}žå&§ëèPwf/æ©O«ÄïMrG„3ý1­²€é£Š®Ig¶ 9F¢ðÃ:¶Èù‰É·I˜´šo`ÆA àÙ¶ç†z âÖ„yÖ©—½tä"ÔÿØøù®%œâ¤Žý£ÎvR’~”S‰º§q¨ODIXDEj›0/¯ £ÁUÛ8E{Vß‘r³Bó,Æ~ÿ,{ZA‰ %û5¿Ûsçœ[Cf}’á‚΄Ù`8FÞ"\+çÑH‹Xíg!Ù…•ëbhŸÂJ'ã«2E@µ¶²K„sÀÑ?#n(¦ŸìZ”ž0z”\ÒCêæ"ÚÈÎÃêÜÁ­Èð…¼ù“¡ËN)UÒÑ -§é l‚·T%Áð=ÅöŽÝ‘ßÛÊy}qa‡¯Ü#p·ÒÇ¡ïµã¨^¿¡Z´ B,~Êã+%&Á@`´§•–)bYkºÀÜV®>øÒŒtQñÏRœA|˜Çž ÜçÝ+G°R\¯H²z<â¹­ºckéîT1]ÞpíŸA%õe,@wçžq™!¡èçHé žO“UÅB%…üL)ÄœcÚµc>6ÓT ò¾ë?®f7Üf(Y¢Ý¸ÜùÅ@J± Ž©‰B¨77 Ýù_Ý”S£w(Ï2ºm3e<Åý»ÎÀϯˣyjWG]lȯ²sñ謥ûí]–úû) £ ¼rqŸè"Ï(*ªö·\0žq£_Émƒ¹e‰¨|Šº›»J%¬”@KžÀ_ûvÏÎd¯H’1ž:,>0:o€(OXL¢·®y3³•8è‰[ýÆžÄÒ·Ô’9h³°ƒvÚŸ¨eµä9eÚ•·ïºË{šciD |ûò‡eMmPÜí©2 íòíÝ;3nè«®øSý°þÕãÈSÃ()ãf ÀúÙPNX’Yéæ.Q(o¥äd^ÑZÖï·ýõ'½bÔª ­¨€–¾©üÓ;†ûS1{O÷œ:0üNˆ5[">‚ D|­0=ãb¼Ê7V¼íK‹Ê¦æ­Ãôðº±vó] n¥•[n‹S‹ΖƒÅ4t¶¢5¹|U,›Ť”Y[³ªµ÷bgÎÚ"mkP§W¥þÓAärûÑÌ2,íyM†åõiŒê³êØrìiÿ1ö^s27±EF!(™IÝáy xÈàRÇ‘‰$tlØîÌÙâ>DˆfNìE'L(Nƒà™##ð˜Ò`N™+SoXqV¦ÍÍ;‹Õ/°¾:øBùªÏ<¼°òšÇ;dy<¤‡ðžôÄÚ|®©•(–ÎñB#‡¶”æ¶{”á‹&ý³–çà?œ¼äÓAQiÔ»ä€i)©.[klLzóä˜f—÷ã QÕ \,Ë·¡9“,!%æáÑõ¯¾™Š0’uÿ>GL‘P­x¨kmÈä ™fÝc?ïµ.jFbÜ P@æ |—fÙäjõ¾]Ð eb9£¦Íºb8u“}ÀªbAé?°{pdQù&ú×ò\KØáª…ÕÒ x0ûñX1 µÑzJÿ.Ð< kL^²`ÁRX~·u>paQ¥·ƒs¯ÚÝaÖ2^—G-( ¿KºòWùÑ‘€KŽÛÇ·úñ¯ƒ²|k‡WIÃÀn˜-H0¾Ïe<`ëŸYCÜ|¼@Ú÷—¿ ù­¡ÅÜY“Àñ`¥,TÕö$h&$ll¹ïÔym3N¢šä«õæÇá2È,w•©ð§×Þ–3Î^/¬˜0Zh™úã“yuêîšGóšk#7Ÿ'ì3L OgÄUõ¬³:*­t½ÝÒ€ŸkÁBXso÷\'î›=ý© W»Ã…æžÄÜ[@JÆÁ\£šnc[[ºÞB< ‹¦[-Ÿ!ËØ»ù#Žì½‡Ç{ÿ§è[Ž©h~õ„ùtÅÓI[`ÛºïŸyHÛ“ö:utÉ7vÕþ–œÕ𨠏³øYÔT2¶3ÌítÍ ëU~„¨H&µqVûg;"ߌ ùÎ O¬aŒ'I¤|œlžë=.ŠÓþW%N¸m¥”AÆ{+óR÷Æ.s]~ù›ìî"D;¤¶õ‘2ç«K,ÖK’FV߈í+4:€Ä JõÈ_O {,R¾¾€¶8«úç[œ§_c«®uà Ê.¯å—ï  ŸË°+?I€§&£ûØ1[½Ùuîçz޾»8_Gù4¼é)îË¢†k‡›˜dRRØ,¬2–‰÷qí¬Ñßû¥m²2óà ˆzz$i{Hìz²§ÕŸ"óTidEa«¾û}X|S£* ›ÿªe<¸/U&“3Ká{’_¥pÁÿ7VÌÝØ”à>lÈ4¬Ÿ4Iò…ä$óO“»¿ó¥á´…ÁÚi[mÐϳnEŸ ÔÏì'”JÍéò5µ¾dÀô<„Âèj$lg…ŸÈîD‹=ÉŒ² 2{+%ìuŒ[Lw_YcʇO7BrXó¼C¦{8`ùã­h-³ÄøöÄ p:Bðsv<<¡±´-Vr!dEl¦Ó’‚ïä É=×ȽEW®¶K z ÊŠhpú±>¡¦SÒ__ß7õ <ä¾£¥<,u@BAÓŽôœ Dw¡§2? Ëã‚-ô»‚ä·1NͱK(ïS-£í4šÊð”OùüáP 6©_M2ç…µˆÔ‹ z1§ó9Ĩ>n£¸Àåo º«zÓÚ0gÐ<+Èï1ª­ú›f”‰:¼àA®/š‡üÌ'¼âFý3Øa©GH0&¢« Jp}lmÙÖ]Š‘L…‡âJŽ®0³ßå;°¢÷¥N‘´ †ï’â+´”—AêzPô°D™þÅ‘ú‰Žg{®Æ ö+XEŒŽÒ–•çæg2Vh¥z$(˜Ùiã/wÔ3Ü}KêÒK"Ùû¥®ù'GSHaÒ6èWv_J§ˆ¸o;q8$ľ!Yþhm|¨9éG÷dÆ §ÇúdUOVrú–žaÍçÅÏð%Ó~üì°–áZ±ûU/Ì$i ®ã,È6#D–#L@iy¸!ìqÐd&ý<½˜KWEµÂ|ÅYi {DNmáO3çÕ@0Û4"büQ4Âz~` ôE 4ˆ§¥8åÒ>΀@¹Aã6#’œÿMtbÉkjÿ‘L%¿¸ S]Nºê9;úÐ…–0[¤ÖzýÑùQŒ©j¢*¿^É~‰ˆ]…7Eùß¿ürüh’.µ¹+»É¤~ÎÊL¢ Pæ1|Ïø‡TY3´VΛù‚UÍ tHÓf~!J´ °zÄÙØw©+|Ž@~õyzÙ‹ RÞOLø Nß?hÜyVu˜tN$¿k†¸Üt""u†›$…sA?^ìÒá‰^4´¹]±!g¦6Bß¾ÜÀ«yzt‡|¿ËiŸÔQyzгòKÄaÖ2M‰,)Ëm“{`¡Ù‚à£À‰ü¬îŽLJÃs°®™*r슔Þþ–°ú®o¯®ÒFú}É2Mœ3qY‚¼üA“2uéÞ{±‰e ßkš=W:ó‚ÆEçQ…ÀºßíŽ=÷† ·Xío(¾@¥™|¹î{Š3¼f²ä¤V1DA¹˜« r'¥ëðÑ„B->Ú€÷i¦çH»Ž'?®ìÈ®>|äAÓÙœ½Y˳Äq°¾+ Zê˜÷÷!.øRPLHò;ýâ7Mvýù£€",G§>2¢ÖSÒ†øG}þvpý­ÅŠÌ;ïi熴³²wjçÉ}æbã¯j˜Á4Š‚4úóŠP˜‚–ÆÀ@_T(¿#OÖ-Ýè¯~µ;ÿr§­ ¯Dvò¢&®8q-ñOÐßhŽ=·p2}`mâUÕëcôQ7R¯H%¤ ŒŒ]2TÕÅb]õÿª,«1dOÈa'£î4-ÊjÕƒ8 U -­Ùúv9ŠÙ:ªyY½­ÖV½«Ò6WxäšyDÒa»:É‚IáBMÁϰ†ƒ™Ã‹ÔrrÖ¼ôB§Á‡ß¨(¶t^dšhÜÙ•‰ðWv,ãÝáØå¤Üü½: zøMêâ88¡¶“í–6Þz.RŽçl\þIá„*šËAo÷³†©b²ÂdÅ…RáË£ãhv ¦ÀûiVÚy4µ.³¹ì¾ðÞê#ô„„ÓÉ[ñï&ÜX·þ¥.fä~ŒÌÊœüŒáNv[$N‘®¡Òxè´w|§2µ˜|ÅniÇ©G,õEeIã»›Óhñ¹›Q{œYÞTЃh –þÃb_XØÞ¶uëâoö"öy¸Ì,5§«Zºt°u´§áslÂbßóŽ$;edœpœys;íx£¯ M[g³Fü”9âËès» Y¹3šñß3íí âwëL¾?¥A‰?ÀˆÆù0 |/eqOÝÇ«J•;À~^_Ð|ð¯SxG¨cN‡ž–Ø‘5½;])ùKÂ<›‰ú–9Ž7†²daØ4OK‰ì–½q†ÈÈ ‰ ¼–ÄËnMÑÝÕ¥I÷¤äš'«8Xü}o&Ø01÷†·| Q«\¸1ÿ«‚D!<áº>Z1þå£XˆõäÆ@u¬Z§²¡Þj˜^q ^R‰#Cóž¾KjÖû5ú?ûavbLÌ\.¿÷Tä‚Y>^8Ь¡ÖSYßn]€¡ßüÖ©‰A¨òÒ—÷±ìÞDÄÊÃÝPF(Hı Ìæ…ëbÝ!ŸÝd[Os+â÷Oªaƒ¶%Ê.ø@x¬îW Šÿ‘¿¡ÆD” ²hRPU{á¨/Td:F“K(½§†ý-›ÐïàŒÆv^™ÞA0’ äò)Ë£F'ÿx¢vç §›nEå gŒ„2Å$ZH á ½Âþ^àyÊ›šÌ3{Ö_Ƭ‰tL~ŸÒ±ðÀeúŠ‘ÄüÆC.³+%H1€ÃŠÓZ6hK æ­j êLê´Íyñ&ð|0G~BŸÏ.ODÄqü…¿­q^ý$L+€á1(è1qŒæ‰Kì=zƒGWÛ÷ ®ƒ¨¸šý}¦Ý Y_ü8Â2à L8$|9K™3 N‹I¶ È<™Þg8ê²r“ÀÜB‡ b£ûܵsçlèW‚<ð å%`nÑÁçy:©72rÇ4Kñ«žÊÑãÎ &ƒUhI´°³ó÷¯{l×lëóúÑ×mø2f:)÷P1 –·f㬲Ø–ühBF»¢Ò®Aà™°…ôew2KÉž•ã Á³v(€-â±x+¤¿"iÆ?q»Å àôf"£±AvŒ¢»E)î@JÔ÷j1Rra!áŸ.› ÒÃüjϦZÕÛííT3•5½µÏCøF:-¦[QI%B,b][Kµ{Á2MÕâY¨ïnŽû˜*qß‹²Ô«F9äÙ1€»O–L&_Då•þ®®cˆ¯âW«ó(i‹ŠÔSÒ œgõ{·d%@€©JS‚ëÉB‰MÅ_dAŠÐ{æMÁt6fo1õ/ÖÈ6HWùÛ¿k…ÿa˯o‡¬®â4æñ?btŽ{Tá?3ȳö•ÏÓâ8Êy!!‘;Ÿv¦–Ü2ÄÞ¬ßy‡ú!¯^SÀàþÏ÷–ª³éäG‘Þa&rÙAW%èûaw<QaIJGø.€ã#D1‰ù%0•Çìsó“nɤùHÜ8ëƒá•¶=TI^²Ñ†…¦\(Ó^QÐ'cyË6U¹V´°”E-×›ó˜Äâ;ÃZ¶‚=7USåôL•„õ糃K^e„˜Ð£ÔÔ´Üæ°Ô@ ˆO(çÑ€ñÁ˜=D%:ï§›ß'æù7 ,Ö•`b[{û‰nî3ÉâǰïýiŒ+‡SÜ&{ ;!x­±·×ìc½¹°ÀDe¨×Õ‘Q*&ò`B§w*?Š­6v]àÿ›y¿š ­íú4¶ü÷E`hëæ°¬»ž`’ä_ÙAžÒ¢«fL NF<€òÕQpi1R{9ø±LŒgØ)í<&r&ˆÁý9J•„Tá § Çbºä¤ÿtFvƒë°RóTÁIádÃÊ<‘íœñW­ ×Sæ[vMDêòS™”Ŷ*]ÈcœÆ6nÎhœ¾$ÑuñFN*Ó‘Ý{ Á‹„ûZâFq(¹Qv‡ ngdJ_Ú_ˆlÖ¶g"O,b§’½ü\º—)ÉÞâ*#ÂUuðæ.O’jÞ[#H‰¼·*Ú|R“M•ë!;nçßïíü”NÕIŠáCp¶œ<>‘²Û¡ü®>˜'é_gž±i€È»†|:áùôãã$­-ÆwgUf½ÎèŒÛðÌÑ3*ëfwؼÐë¹Èºæ—¢E5ÅÛÏ©;œ«ä—ÞPâó–2>æ0 w®¶!°J1X½¼··©fŸD€:±òv]ÓØ; šCô{Šmÿ€æòqŽ‘ŠÔ"Þó<ÝD;´¦oZøl6L­OÄ¥]ü²*NDlŸ-¾EiÔÖÊ‹ÊâÆoÇ4–¦…&çüs<çIŽèP7øRËöø/²}+‡:D“L†?y e°¯î¬ÐÕ¨ˆàZ:uæCBXÕ·^‡{­cÅ•ÝmÙ±î¾ÇLdÌvµË!ý…}„o ;Î<¹Ì=·ì7¤ìÂÉÑÓ¼mßO‡Xˆ~ÑtÅ@“¢c-…‡|a³ƒÉŒуh²LGÿÿj”ªëþÊÐßÉ­iËxì\ÉÜ›ÃÆÆA+á7° xØO 6ŸÆMµkM²j닼a3vðŸ1ÛZÎê”óÐTé ɦy^E˜¹fHšØæA¶ ÷q`cÞ” :±PP»åResº†“ò Ö ’Ò2àƒ¥|U.ó«:½×N`Ј€“1pþ…f Ü ÓóN¸6&¨›Þí©Í4ä–Û§êï1ШãQšû “åw Z‘!}%N "š¬ðó/œÝU®TžT½œWÇMè¿,qùíOz'ÆÎ‹Ž~Y†‡®.¦bÞ–&mãp¯IèþªÏ&5ÄOEnc} :Ôˆ­ ¦= ïBP´rKò¹›jD7÷òÁ^¥âE”!âÔTs‡åLµ¼¢JÞúžÃ—:¹¥Ñ…¤Z¼Ä®ÈÎY-qXc+'íÒˆy«Â¡ ºøØ/a5&“߉üÌÕ‹YlyŒ÷vÎâ¯ï“ µ ‰ƒçš·˜RÝbŠààÁ ¨ i×à ÕYh×}.—tuæ KŽ;Ðø„ :-u• '/™nNûByXGÚëÛ*k±âÓ±{Êŵ ÚU`™¢o§½ü—¥`—ÞXö—-¿S×,¨|ÚLŸ}|­ÁUûÐUàví¶xë cK÷ÇÖ<Õèº4øãƒÆa÷Gò*ª˜‡¥B:4p›®€8¬‘­ÿ€s+¾´ Rí~¡°û¶¨ª‘[HÈ%›+”†v»ù’üÿj€˜­>Z®¹¨/¥ãÖ&s‹Qôð;³òDà‹¥[¡“‘¯¥dô™\~YååÜRn°Ûߺ] XV¥cgì úõ±ö`OªJ`äjõÙ†¾bi‘#fs”}kV׫ŽÁYC@çVÀ<ï‚‘ 3F×XÃÉLf7pøÏ8?8‰{7ÐQÒOGuÆ]¼¡ÚhSW´ÀG«sJžÖuƒm ¹¥$SrLW[|ÛÕš*ê.x Ó£A©ý-…qã58µûI^LE%l–í Ž­(ºY2ûìÓ N£VíyI¥Š¬¤bV¸ eqvÅøc”‰À.í±ãaÆLûsƒ_Ú~€ÆŸvã#ˆ‚‘!¦¤ò Ï*¶¥Ü¢-Š¢ÓvEu\ Ô—öݼ·tEÒŸ}2J ä]Oó·{„ÇñyÇþ<Žrv&IÙB-U¤ÓaRØäµæ_Ô'‘ã8é?jÅ­páÝœ~w’à €.Lý²¡a¥û eŸ ÿhvaüD†í\"Zu¢+Ù¦<0k¦Ó)ðVÛ+=·qàøqïS…wû¦:av ‰¯i‡‚Øy–šµ]´.¨Ö_w*B¼Ç›0|Yz”ÆÀ2ß®Q âÆ<¬ø$9ÈKS ÒÈ¿AºÚŸ“Á~ÙT`_¾†(6¼Q4ÊsʉÑŒý†dèmÙ*}ðK2¹ÿÖçïN5ª*"4ZÞ™Ujo;н:r›ñ6e©­ÙUqÈäÝ]&ýi UçÁͽºŽÈÿÿx»irªp°Mþ‚FÐû¸xó‹Ýs1’âzž$ƒ;‹]OBþœ¡^è×› °÷æ€>è(;óm.½xÖ'è4!Bµïî¨Ë?$Öy“PȾQ*wö½á3^€ú1±Mo¥LGXlʹ,j.9‘1¼àå¿üÃ˹g*é´Õ¢V£!-?)ùÈÞD#ºVá¯O‘C¢þZêï£.„¼B*ÌÉ.+Ÿì] U8D瀩6§Xbº±0ÍFcDü›Y™#Cô8º\ú¯Œ·3mPîl]5q~a@:©>eUñ¹ä¦€CC~–ØR†áÝ\SË2-"Âä|4-fnì$ÛhB^šKv\*ðI<”²(Ye”‡æîÓœö͘K™U¬ß¥ëÌv„R'оW¿Gn®Å%æ‰:oèîúè'æs3<ú°±Ç£øÇã§ýÛú=÷ýŸÌ9\IMù¯ÒŒ*:XKQ$Cº–½AJ{%œÙT¬¯pÑÿe3Œ[¹¤_.¼ïÁðN1·qjGd’×¾þ¯ºFnNvì9!ܹ„Y<²1†êhlú¢Áy|±²VĨñ3~‰d„]£ö³ ø¸d=¿{†åR|¿COëŒmØÓÚDh¯« çà,ádåŽÞ‚Ádªs$X¢Î¼Ï“m‡6·~¾ ‚¼(jÈ(9À‹ÜæÓ v®6ç5êxÓ"9Ãð©jãÌ@+]C?ÛÀÂã …Qñ¥Ú[P+o˜`,rÞî­¯µàA•¥Ï=Wîo,#«>·úôvÈR ` ¤f“GòÆ,q‰v²ŠO Ø—‡mÞÜúmþ@KŸ¢;yÊ*¯IÆs»-¡[]aµA° ªÐ/A€ ù$-=:_ÆÇq`Zoª9c«~m©N·é«k+9|nF”Gf„¢µk2=ëxÔîê$¼É…‹f~½21; 'Wë5bÃÝ-Jž];ÿüGÔÁ¥3H‘enæH0HÏr£Ïòoõ;+È }zVàmÌœç% ƒvKwä/³€VÈß„y5xnm×&I‹Þ¦Å¬Çþ'#‰Ÿ½0nsnÄ™{8ƒYÉ1“ÔKÔp°™$2d m‹0b µÎ’ú_ŒÛðÞ‘Ó_c¾(*æ$ÞD˜ìaÒ,4y4cå´ö=Í/ŒÖ úú‡9Šæ]½|ºÓÄÂ:€{'D¯ÓtM…Ëzë ¼” =÷i^‚ØÑ¡±ßKF¼)CW¢1}^Àší{¹0iÍN]‘-½óà ½¿}|¨wf›]&;VP*Žÿ2 Ÿžåëfç|d®‡Jêq¡ÊµÑˆHfùW¥r÷ì^²>±b¤»`ºtd8û¹Ë¦ñkÌêß94ºç‘xgü‘®æƒý†AÓw©‡¶>%§7c8JØEÜ!fÒSî™ÜgV©× «5‰7Xœ’5Ëqýñ¤K€¤Løž¼žqÝ¢lÐýnåôH†¥Å\E¨iËMú§úïŠãi‘ÊÂTxÄàÎÐ)€=&³O|1V*)%S"ž+>k'² ×" k¯B<ˆêèTÍ~¸Ô‚#K»r©v@ãuúë†-K¥îÕüœMw÷ñÎëKãL6˜˜œzU8ùnÍYº™ { «ª)Ô±Ëq€iX&/MÈ xýÕ–ãSº4¯a2(R§¸/ˆ¢†}÷xðyÔ=ª¿² úKc"·W—f"b/R1ûl?èWR Ýì´•èÍ'²v¨ˆÌöɇ[ÒÃÀáénó¬Dk±"³ykW*5™žäØV­‚  dr ¿Û­ñøEñRùl<š2ñºxøð翞ߣy{ïÑ[BšÈ, 7Н}.-*ô„?1¬­CmÃýø÷+JÈ|Ãî~†"–å`ðòÖTš 7LÕ^‡—ú0XY§fz8<`ôâ ¤8鉦>ò­ ÿîî°­‘ÔòcSnηàt$Öþ´0²å fÌæ!59ºÝLoT€|g¦ÆlÄîѰÏe¸x•H†¨OYü‚loµ ¢6F ’vÇQÁ¥(:y‚ïÀ,N£‘ Þµ-ü×á¦>ãXµv±b©«‰9`ØFFL¤PoD¯E2™í`[gØž¢}ß|6íéÈÓíe!«auÎh1köàsŽ ´kçµMÿ½4ÄBÓ£’˜çôÝ0\мÔå0O¼Xì™èQMaKw³Œh"¦>õ$kÃs}m¤©ç»ç {ˆPMd¥?¥†^‘ˆf¡±æÝ'wåAy w¨ î)=.ÿdÄh-_ÀT²äHYô1À Î`ú@Ú“-3\†^f¸4V_<4,pOÁY1•ǘ1€þ_–M©ƒWÆóo€¬‚ý³ö #¨}nŽ?ØÃX­gM¶àFf ž<mÏ¡x ŸÚs,±W‚ôs7«÷JÍVž£Ìn¦Ü潋D¹‹~1ñpN$S{ºY‘¡ºVÖ󥮜рÝÈèãTX‚3â¼sD‰`Ûž í‰Š«1/ð«»~wŒeV%ÉúSr½Þm§–гÇÙ < ßÕùX!VxÚº©0Éœ«e§hß4Ø^|F´æ(öDß7RLÆBÐËMíŠòd=Uv ÈU=/ÛF €ßí,ô í·‘´¥<•œÒ|7gxÈäsGÉ?¸:ÿ Ø‘#›Á›DE‚'?éûfÝÌü¤I‘ˆOb™„'öÅ »xb«ûf›Á@3¿$êÌc¢ÿ>i©Úz Ì#¯ƒÛ{BL®ƒÛä=ÝVWõܱ5¤]–Žçu¾ç0ÜZßî>^‡6>©¯~ôæXù¶ÍOôÍG0kÈ@‰ëXÍ_ RèªÒÓXTWÛiD@Ê{fùµÔ/gþÉÉ÷µò¨ð_=NÊz=ð%*šßˆMG_ XA“…ÄäyŒ– yýI6¶Mý”qWü×êqDeú²Ÿ¹¥c†&>Ý0Z·I¤Lo8Öžø¼ïÁýPãreuP*èôD‡ð.Boë ˆÇ,¡ 0˜”÷ñ@UXKãäÔ=–ý Æ*ElDZ!ýy0-1â9YQ¹ºiÝä.r(˜œ/v ÓŽ¥UIæL0¥Û{ÄÒ™Ã.Œ±Æ/UÖŠ,|¾Ir<~]»mFÄã/§ãÐÍ+sìâ2-¦TŽñ± ÿAÉ6Ìjt¨tóyžõ¡éjÞêæª¨R \Fzêv‘:|1eûþŽÛBz™ìjTΡ¼È´ûNé[;ÐaÄ”Û:ºMy8ÉàzqT" ;S¤3Ö0U¨À-pÏS $ìԙȀVŒè!hÌRùˆy}ðËáè‰"ÉRûˆ<Ëÿ3‚"dﳨÄŠóŒ ö&~´ŠZæ9kg ÙCDò€6æ,öIªHDÿ5_-wÊu ¯”Gš¤TóCÑKú=Ÿff®¥ô—î,&ŽÚŸnˆÆHöÑÐŽÅû)2Óò«>P|M#,þd{\‹”8Ö3ád•“³Yßhø¥ÒfÙææ7…ógÜ¢qv@Å܃VgNNªß‹£;´˜Êø·†3·ÉËe—†õ¨É¿RÄä(ôØYµQkwu¼Lï/˜nô÷¡@çªÿu!ªècŠÝ ±~pµo¬°3H[ƒ‘W;9ÿ²°ÖÄÉÉb†Pã4 ½WV´m! HVæ…šùÿ ÖEØj\§ UÞËpâÞ9Õÿ]úÆÊ3ÉÒ…è³?´X3/0'd¦Œ¤l®×gœÀ/`Ȧ–TWE@â;vþùÍfváE»DJdžB …ÞˆYÉEt·I§%FýŸòälðH']ïä½ô¤a*G»_æÙ!LPI ùháÖè¹)$1[²Ÿbêȃk5¿ªôY€k&„«*pe®ë/øwݹÈ‹cse}QÉTKóKDâ=íøo* &º~êñ'¥Å¡'ýpbfk°ÁŠ’“ì³#4Žˆ‰ÆÊJ”xØÈ§Ã÷ÔD¿e¤ŒùØÈyšúúê£K¬­¼ß\÷Ä'Ñ»kˆòRC£2i¯¹!8‡yR‹è¶/ð ’ÎaPîmôzâ{ÛSòù]ëlD_hTNô^º9ÂNù³sÌ0 W˜Á.|ò€ôüëZÚÉÏZmöß§±•æ}#Uòȉø¿tDA @cåw2»·üÔˆ3EŽfs4PWy1YF_@–÷0vH)º‹Œ4¯²ÊMË*o¢ŸÈËç„Ñ-¯ÏU‰õ‰Á3Í8OÊ–eÜHÃ×c R §ûÈmncždBÇ™zkúDÕÕS‹ƒöÂÈçÓèJ¡' `¯Ú|¢¾‚š‹5i}Gj½õ×%/ƒ7 =ޏ *õ&GxÆ’úälÌôýiïä£ìžÅZBØ/kØ.¨Œ@»¨îK„é’I)ê’þ,Fž_¶*°²1DäHˆFÙ)n§ZëÞ³ÑH€âDì_N'à™ét,¬ðÝÀ‚HL~Ç_Òží1‘äå•ûzIþõêxÌÍ© `혂 #x“h«´ÑT¤•2RÙ' WCŠgZQÁÞRßN^\ZÜi™}@£<£÷-tf9*’æ@ÙýOéiíòßrzöÿÝ/¤Ý¶³¦àÐØá®˜¦TúµÅàÀý£.!òXHÄlÜCq^Ŕկ^ÀK/žú|y|7þ†ñ‚¸Å~Š/qFäk¸¢æ“žÑ“µÈ‡ª¹èV;iLèI®õpM¶‘RÙ•a ÁÌ4x V ©ë~ëÂ,±ÂDœnHT¯Ô×dhø…uþPGÄ=³W£ôŽÆ«U›7(F>s³¼‡¨¹Núý0 H†jÍô9b]i«T¤^˜ã°{–9¬Efâˆ$ѻԺ>ý3U7Ò WÚ;ײJC¯ýËÚ¼ì - pËYéc&u‹% 8KEáur?˜î”ŽþT6¨/™f¥IFÅ· ³ ^põRW| Gg¨aŸÙ¡¿t%.lòoübL½ᒔŽ;nÓa‡û…;Ȫ>”·Gì[hÍšYž<á` NpØžaû ßï ëp d-¬-ë‚Ô#E{@ö1ç=ªmügÙiÅu…7”î§¥R*˜ŠVãkœ™êzç$%ÂNŒ¨]¦YÈ èÏËa|ÙB2__Ÿy#8 Ä:šºƒꌰ÷*9­tÌ\£„F‡}°ç6CKüwÒ…8cé¥g×¾.ÁNuÙ õ5B îóԛˋ›D2‡Èèヤ¥ªqö ùÁÆRØ=½ö‹×J' ôBÈf²½æ9A’šEi‡-bN˜9h&ÁÔPÖM¢-¾,êz½‘\Êœÿ zœ w±Ãm1Ñ$®~ žp×Ò©>Ó ÜH³£Ê0­”ÝŤ²$ªoÏæ.3å\äþM ªÁœ9¥é=¹I8KÚ: Ñ"6‚ÂÿÑÂÆ2mWó³­”uÙjp¦¶øÎ©š@KÑÐå¯%ÎÕa~íÝ¿}OÄØÆ%ÎÆÌ>së—„ „§„pz>wY=›#™L¿à¶Ý#—S%ÐPrÚ :‘?víg‚Ý©IY“rާ”¨÷19J&ÚþÛ‘„F%{Ú ú[¢ËÐ9d$»ãT€Å®àçÏ¥×ùbÓÁ¨©À„ÐÚhÎú—¶Üq7Ó1:ÒÌ0Âv3¯Gkùæ+ØH{Y• 9({H „;•ÜÅYˆLØtŒ‚î|n%¿S̳ž’1ºQŠæÛÒ;5ÊÆ5»)ÑHö~¹@¶+Dî ´ÃDzz@o+Q äå?µ#j×\¯n+ÏG›<6p$è`05B õÍmÚê%0ŽFÒ˜hun00܃´f!9' %Žç¶2ÀÐ<Ô‚2`ORÞëÎ1éšM-¬ÿB¤Ð56~l{ìip/R²N]N7¢ ƒCÏnÊÖg!5|*<°½.Î[eçÆ'°>£§b˜¯¢€2¥±6²lpÜúlr½£žœ÷åªÜíOò°m#µe‡¸.—¢Ed±¬ÐoÄ?ÑÉ.Ó›™Û/mO’RÔ¡ο²…ßíuEËt-Œ•.IVŠBbA"/î6bRA›m¾+1×õÕÏãÈGXTG|ò‹~L~ t-d0Ô~_Ø®í›Ìý05bj€õ•L§€ _Ý'Y«¨ûÞ­.)RÿP@—5‘ù œ«¯í8Ûƒ’½êoJ!&ÚÞÜsÓ¼´=Îõô•”ži\y÷SNÉø,Ø]x¿dtÖØ¤ÀHKï“6ÿ¸3o“eÿù†QWv½èônìlÐÙ„(\)tÀ·Ê~#¦lLõe¬#qˆñü ¤•µÍcSÝÑÒOÛ H»ð©\_éô(ð1J/t$U ™ÛûÑmF†8‡$ Qïuì…©S„aÞüHÉKI®aéÑZé„Ä¡ µè}>A{Ĩæ(ßÕ«è¨$ÿm]Ò$ÆnßQgÏŸÆÍ8¾ÿ#˵Ö&(/š„È5/Ü+Ì,_øol•M|wrN£tÄÔ'ÙÑScPÑà9%LYÝŒãt Vëx‰}K×Çú9A« Ѩy\¶’„õ z̃Ði²ymÎ`®ôŒ†;˜·L_VRÞ3Ÿ¸_-ás“«0‘/O>(8üy… æàÄEï ‰–˜â¤±ô|ˆââL/†F6z+¶âW:M¯›õpÍva.&/#}¥Œ`aã”sMë¡è¡ŽôËkBr!ŸˆÃƒ üêQmE•{…¥=îîñ†¢½‹SòžøË¯ß¶{ òƒz,œ@ÍDYX&—? „]&é X`ø¡DÞFø‹æ$´ÜèF¦êêòU1=*dΚõ1hŠo?8“T|•mÓZÜpU%ä úG^|TØó€]QVÐ7 nJj/~H6&°±yFÐ#PÏXÿò©áCҭܾR¦†ÅzݦnWTŸ±µkGrÊ/^kúŽP ‰¸R†Þ¡'¾™Ãž1Δms-Ñ2#Ðé¥kâÔˆL2ä0³7«eÿÍÀ‡rŽý+ó‘–Jø\TI—7}8ꋌ”)^FÂq°4þÍõYœõlôïîc¡X,PÛÏ$Z§Ôâ/%“­®i]çEöâÕ—ŽÉ—à__\d-Ì'¾Çv|ƒk’A³b¿ß¡P±ŒËÞ©Ó­Q>Á òkв‘ɱ¾G®Â/i£m ‡K Œ ʦiž)_Â$!ÈÇÀp÷20Øk€ :mzkYÛ)Þ„:ÐH²‡Iž)2Kr÷ß&LuÔxÚÑyÕÜø‘¬x¹¬‹íín‰ë÷ïñC÷•(‘ÍÛÑòŽó~}„ >¼S+ï³|tàð˺y×ÜÄ3ÿ¸|,óPÅ)'Í²Ý 3DeZW¶boô~0Pï´7ò’¶T+xX,Ô3¥ Põm_BöçUÏ…TÂ%^Ê~ÌðÏäϧŒÐÓÿv®‚zv–ˆ-#³+šxÞê~yr¯ä†`°œåh…­qœt.ÝÅBz$fV+#ÓÂúϵ:ÛþÎnÃÔ]Àiq;N7¼ˆýuøÜIFãÌh½§U²SÉ\2dt æ°¿N£z35x¢û“&óÍ„0)Oø³ö÷…/ûá`Ÿ¶µ†?O:ѹ?›-ºŸƒ*­HR²ÁLE£ÊŽÌJpÑ“vl^¾ƒ” H¦CÙEHzRruÅè÷j?怦S<•±@Q2;W0_i°íû‚Áû¨_§ÌojÁéž ˆ‹ËÓµÐÑÃqá ûV`™”_ÊÝî#±?ãdS#ø|½7ÓL fÄQ:23é0_%#‹³^PÜœRßP‡ðh“MçÑ£2ÆÈ¹ªÅ aŽ]~b”ÿ#êúq»JNeëUŒµJ*Še–¾5eú·—ì–¹¤Ú¦Tanšè½VÒ´ÇXúXê0sTȽ—˽ÎãAüJ‘vv‰k^H&O¼Tq%¢•!èôZpÞ8g§-¼ƒÁ,ÝšÉÇÁŽuP…¯:cì²ÑËÞ¥ç¦ñÝ)wÓ5äæJ̇Y¤æ ¬³rMÒêÐx$0Ãáçð;÷Ié´XV ‚UhPàa–q«LüíZË{ Òú"^ïBÜ”þŸ^@£ƒI኿‚½|jX‡.åIã_@N,îóèC“N*½·‰ÚÐ â¢f¬€óR÷¾;»Q@ ü2HJæNDN`Ç'–a>dbÉ´ðô•ž«A‹¯ù×l“ nt¹¸´÷jM‚Ø€< ˆ¢ÀÐôè’VŒ 6ÌÁ!ð%Äã#Ô»Iò‘êWEøîÄX š‘²=BM±¢˜—Š”‚öçj]­;òkÂ|¿@Ñ+9ŠÌ8F/ÉW}°Ï³ ?gÉÛÖÊ»ßH»r°ˆÄß_¥«Ö‚eš­¶éAT™W̆¥LÞïctáæƒz—GælXÏ&Ý"€µËüÙ üûŸ±N_—Ño(Q‘d·ùý4sº‚—@åªÒ ñ…½JUI)Æ"1%¦§®Žm—ÑóîëaL—“̘õl3óÂ_ö ‡úêý[º&‚¤:*qû¯ÝyýŒÑÏ03å¨Äœ§úWqSü%¼éÎÿݸ…Áš,À~‰5Š~$ /«4§´“=;<›ÝÙW‹Ü,K{©/ki–Cu¤Ç™ [²æÑ‚Žæ“þ¾nz™¯$;éP£°¥ŸÜ¤·Nº%³ƒ®RÜæŒÆÛ­º ^pêíd- •]©Ž²ûl#Ö=”§cé¬â¹¢Yb1ô—Í©‰Â€9k|Š®×ÌâõƒéHD$€X®7=Ö¥¿F8ˆø*gOžSâl´È IXû`Qjv'=ì0¥íGÖÌŒÌ#Y¡bp{g†qh~¬¯±¬ƒ-i2£‘UúíNoøš|\š86ô­”¤ƒŠ0æ½ QM‘?êœ è£_"ÛßMöëÓe;Mv‘¢hR©×wPÉ 6³ÐŒJöþB1AékùŸ£Ì³øhA{]áÁ÷fØÎ_Ž"?NäJ2ä3PL È‚gìdQL®{ÏöêW`úѸ:úþø0²›ÿµ,{ÒìDþa<æv.¬ÒnE·àÛTÃõN†‰È‘Ûõ¶HYÉ&LÚ©ç Êðíw’‰ÌH4@ŠöœðÇô¹a¸‰ç”ºçÖGYá«úÌÃL³àë«rûàˆÊ9g¢­5}ze4±$߀Vþ(ì™3‰Éœm*ì¶±ÔVúéYeÕo#Ký]l³ŸÆCÉn!ò%•÷ÕÀÍ4ÝG_iÐ!þ­®A=#uQEƒnÌ6w]Ñ-¿Ÿ Ã.º@xöñîèB„Hš™!‡s]PéÃc›ìã L<;T7üeÚSYµ²¨3º“&[òÐ+³ Õ5;áUÇ@ ÍÔ&Ufk»N>!0OŸ9Þ  ‚ˆB»jJ4³²RËôŠ6è葎âeŸàOrÐ7&»Ç”– CI'ÒªØ/x<®L‡þoAئ±Ð ¤–ñÅdÐP{aÓ0´ùÅ‚ìäåCek.»–uþÙ}@sô7‡¸`£”õY¬#6"‘_;¸fU)_Ž5á!X±ÿÈÛ¤3†X6l<¿—ÀHO»æbZ!4Ç)¯ëžÕ"o¦gƒ“„üaù¬¶É‰Ù5g|gYÅûØ´O 0Y.ÃKV•ê3ƒ^àó†Ïñà Áj¼ã($Þ#«idҾε±qä5¥p€Â9Τƒo'_Ïi¹õUcÚù[…èÔkM‡Þ<œû×VÄØe…ÐÇXs9„I:ºo” Ö 99 …¹è†pOUä+éÉÔRíÁõÆd^BÎŽwÄ.¯¾10)Ù´%]Š`Û=?ð®”b<ªuœ“·ŒZDAÆu¢iÊæçíÙ_ÏVºÿ Õ'!ƒÛzW£ÙKô­r†BÍËîáBÇÆ"ªâþCéW©bGM´–oTxö¢…⢌ì]äv>%‘¤M[FÏQmÇU}rŵ6¢C Ú:ùž dÑ ÑÔÒŸèâ¸þǤ„- úsц¡C®T¹Wi[¼“@¿›m¥f˜™”©ËŸtçŒ4H–ug´ùŒð«¬Çxá­Ðeˆ¶€öë;MUkX®sþ'RÆVÓ=p óíX,‹c'íÔ!ÉwÎî‰.U˜ÍŒþ Éqò•…ˆÏû"¦d)Jˆ]¦Ì<ä×@üŸ†Meï7Ê7å6§ay͵1ß (THˆÇ¬)JñgRÍ„© â!§Ñ‡;NäY5ãhÊ7Kîæ2¤BæPZ©†¯íÀ ½ê!ÁŠô>!€g£q²ÌÒa±ÓË—¥åkš `…b§¹¸¨ü'"yab;!z‡ã@þgÈ` ÛÐQˆº}*XGJÇÞ!¤ÌîIhÁ,Ø/-°ô:±9qÚ>U#ªÐ%WF¦G`ã#_l/Å^ºÇxœÁúÙ™ðœ+ñáš"Fb ¼rùƒBïR‰5¶*oŸç«6È꓉f¾\,† ­D.Ýeë~{ODç4)û [gQ”Ç¿/SfÉâ ¥2;q5å"«".BÉX~)%dù¼£¶a”’~†=݉:Ñ…”Ž„D1åäêZ¤•©eQŽP¥Ô Ê ÊæßZãç † bѪêÎù8J¯¹ÅRXA$ªljÉÛÿ®À éÕbýhNÉt­Èh]hpéO€g‚•s{ñÛd–2ñFL`:,îõ”R™xÓ˜ùnvczŒÓ>üY-g óÝ]BCpHŸµl¦ÿÓ€`Í›Ìß  l˜5É=SÕùujÚ÷Ö)‘䌃*£' ž††‡Ôln!úëí^ûÜ ²9ˆP¸bLîfÖ‡ŠCD÷L-iùÐd¯Tuš¶é£=õñoqºÏ¤SŸ,vÕ‚éïBÞwå>Wó†Ð°ypGg±J}s%½9q¹õ›%¸.o2ZÌ€ËÖNÚ0õoÕHû ´wÒ¡“µáü0,äŒÏ†(Œ% ï‚Û_Kn¡rõ!ìÞsŒÆä×›½ßA*–ÚO¯×†U“ÿ.(ˆ”ª½ôG,È(×} –“ê>Àa‹Ä2Î!èÑ-“óÓÿ|\ƒf7”‹DP8þ3¹{¥Uƒò´>óý4Èco®šh}#'ЃËO!ŽPNµFªwA‘Vì¿íÎoÏR$œ`2Mn¾ÿ¹¿áùl¿IžÁ‰6íó„¾°€š8â¾ $Ö¢xãÊhì»DQ|M}½<gzyô§ÚÒš}ÿlÏŸñ©+Ï®™ô‚‰ƒ%(`m@4‡K+‰yÒKœ¹"×7Ëâ×cEͦøJÏùìݲ„fƠ댲ÃéÕx«AãÞ#îyˆ}j«RU¦ë¢-?E×o\¥ûÃ9Ç"é*"¼z_Çñ%¼Q@7ÜVO H?‹Ì­ÜL‰{yrU ¦ËމŒ5íóý¦ty©É/ë„(A^D‹íÙ4]Ä ößUtXB{L}KMÑ~Yd-߸š sư~!êò–A(h'h§}†9rÅø‚ TòÎ]á(ÿëÙëtH6*@ ô"’727ê7‚œ8FÆŽo.ý¹¯A§‹=´C9{rn‡Aó’e&ó´Ótò¯¡W䟡p¡p†’ÞNtƒ)(܉ߑì£9¶¾.ßïHò¿pÜ«ie’9ó¡E ßßóA¿”Û‹\ X]Ïn²ZE1—XIƒÒ,$Ø‹>ï½…ò38–Ö¬rmûO•3ƒôcÿìÿü@$3øH;fšâ¿gWi¥ßJì`aÊ6V:“…Pr™Vo ý:ÎøRÃcg(EËÚ ^N~nÑžd®c<” 9!ó¯âE§ ¹ÏAµmMXí:Tºc4Q–Ø>Ӏ݉OðE©Ð‹¥ÄU¹Ö¢žã(¾†>àV@p˜ŒE,ZDË}Ü4ð2‡3 ÓË~íæh±ò¢°øÇkz„/\<ÎûJdöXE›BÂUÄ9'ÁïL”þß8›D;ºàuúcµ‹`¿}r¯¶PËl:¤S.²#æðìk53Jˆ‰ƒw-Ïgï}âi˜ç¹²œãMwdÍ»_./ËX„œ1¸ÚÍÈ.ycõW^¾;ðU‰ms­×HD±ˆFçÔt)­}ÒÁPðíŒpµãMÇ,!db6¿a’Q^<Š© æ;ƒˆH%Þ¦“KcxÂÒ„Ón÷Äšq/§ê¾\×h2öí‚®pâIÁ›VNóµãåÉ'*ÜOÚT¿£G•ûÉa±A_±30ÝúÌ.åâ>qÎWó¸U3ÈöJ>ÿml>Mÿ+îß Ø#ûœºsGzhÀ€Xj}kŸÉs]ŽÖ2Ö„.† {w/Ä« ˆ‡‡ Ú²gøggÂí-è˜N3ÙôfìÀW~2q¼²`°A¶‡Æñýù/ãG ÊA¿‚òµºö`!òmY!ä0&R•犧!³Œñ¼$²¼±Mz ´õ¦OgÄX ÜÔ¸$O$±Ï«Õ÷ôÅ©Ÿ;Pï–Œ0¿ >zÅ×Éá fé[ƳûŸ`öÃéºÑéO.9 O˜€ø9Ϫxfî±kë>}”cŽçE°°wäg±Î-•†ÓO¾Ô·Ó¦Í–bjù·«çp×»æõuÙáSÌjÙªÜó°…õçsŒI‚µ®å·2vߎ/ÈsT¥Å HÈê‡@¤i„~ ûð)Áéí zw¬ó¦ÂÉU X¾•ñtý£x}4YžÂ‹/ ß<µ8¡d “­ÒÉ©cw² …Ï=˜¸[ òmR¥_#Ûvòç_å E@O{fØë’/Õ%:4ô=.-V{ä¦në¡5°ˆ>ql·˜¿ƒ/[ѽ"YÇJZjÃ/Þ™½±i5ÏR')öµâؤˆ¬CT°WÅý[Ûp/°˜JŸÍp¡)6/€ÍG¦3‘^w¹žÐ[óy©óSrG,a×áiL ÀrÒˆU’ïˆËj£ w–þQ¦AÒö.ùéè/ØÂ>¼öDîz&«­š6{fø¹.hdôÈ*´”Kt÷“4á@ÌŒ8Ÿ‰Š˜S,6<ñ'»ùdÕ½r¤ݦM¼Hå.³.kÃL:·hng#̳ß+ŒMWs}ø¶:6I =´µç™Zwp¬om²S&þ ¨R(fÞ°ðçŠÿ<æ…|›^‰ üV>úJðöúF…CÁþ¬ã1AG íuˆ+hé…ä_äw*€)êì`CÁž!{^ç M÷*P8>‘ìDt÷¨Ep¿N•S†…;+gŸ ö,ò‹édôU=q›P±ZÞÀ€ä©B!ýîˆÑ9™6‰ ç–E¬6U£ÇÏ—¦9΋øRý"  2]/‹n_öò »{È‘ê`B ±ÙÊçZànù¥‡¡Iò¦d褙j¹¢óeb-ùŒ—=REn¹[¡]@i˜½œ›IHÞ¿3s=À¬ÔÎ(Ñ‚ü`ŠÍ¯Åðײ•ýlhw)ÈDûÇžfYc& "l6Ø£O2ûóH1»ïàȡ۫h?ÁƒU|ƒe4›޹©‚&’V <ÐÒ)ÀÙ Ðì[)Í2n=8ÿË+§ã®ËDÓù°îGæ LÞgÆæ£YmG|¦œŽã8:sÁiŠ< G¼]~-6BŠ8æ+±Ó×ZRb³«Ì\[BÀë¸Vd(,Š£‰Ô¢ÊÛK\”ÞOb ›YG ZuèWÒibtqô|Ý”êZ)—ÿ>U…í¿ S¸Ê½,Ìåh¹ãbÔ–ã_îSvÒ8bãPŠÚ¥ðþ¤Å¡Ë¥‹0ªAƃƎj墧yPR[V&ßû[ÆÕœ™£ûÝiêµaeÚ^‰?·N óÖ¡ZÆ "©T*EA8³¨ÉûS5™»ž:D=è|~i ¢„NsÃpI‹°9+ýˆ!Š<éÔ3{º3«§ÀÒ/ùEÙº üçÎ/Âg¨CÜÜg{'}ôr&BW£l|¾ï¤Û–ìí§h©ø³Rœcã¤MRÇl[ÅÚ|%Æî¸9PbB’4¿oû°[ˆkZhe@‚ BFPÆYÈ3(w—òØ8YõA>3xˆÑ–(½’ÍÏ“qÆ|!Ñ¥j`¨÷ ¢[£ˆÃíŒï¼|ä9Õ™X /edv¨~X‚8c‘Uzá )å3ËE?š ‰:ßžŠ.þn$vƒ ´ì¶øHèôÁ[N>ضƒ±9‘mGyéÔUpˆnc¯ãC[}ÜMþ~+õÀP:>^2xëÔR\V %%?ýZS J`KÝßÎ,ÏIh‹‚—ª‘³îÂ:ö;W&|—û,=‡}rò'¾Õ¿çaöeˆà-ýj+ŒL.E~påø Ò,UÒó)47z =Øy©ÿ‚Gn®«À´ÉcÀÕ¼‘y·®c™CÎhñM²qyˆù_õúzºÙ}9L=±1Ó.Ðì‡Î¿:¯¯¬{7Gráà#ÉãÈ6· ÏÏÀÅ»p±†Ü0‰ÕÑÑ]Ÿñ:˹nˆ’;GcÇY Ÿ›[WOÝðc±OìNxWp$ß/„“ÏîÐâ…/™è¡(˜?U*«ÙùâÈ€•{Ü& · KýëEB7§]Ý~½k…Û~CàdÔ¢ææÅpVrU_UÔVýŸ(’+\CÙrøÙA|úÆ *Zµ?Ó7du˜nÅœ£m§®2}# ïÜ’¥˜|¯xÄ_ô'’á#2ŠBbË`h÷¶¾Fª©_¸š`õ‰4vs¼ï¥^×!‚áäÓÊÀ.NÁzÏ/e­BˆJ;GÕˆåçQXÁÔù)íµ¸tOŠFdÎ|P믃hÐ`ªÎïc¤«¼?•<*aâ¤É@.E®ôù{,#Ìé^ÓЙžÉ©iæÎééNÆ øžF„Ø÷WÊ#ÎjšÉd(ô5’~XdâtxuÑx‹cä% %ùbºôy⮂ì×ÎO4úЖ+=°*c¹ÑQ Γ›´ÓQ&N¿[ⲺrMSÛCƒ' ËÒ¢üqMe/ÆmVMÀEùfÅïs‘.ã|âø˜ ‰å›9 Ut ±„µf4«ŸŒŠ· Á‰öÕ;He^Ï`ОNiöηë&’òc¤æóJ$€±f⊠3eC—ñÇŒd6i@é· W w—ú°:2?— ýÛ;G¹í{¨^3òï=Ábû¡:ß*»ôÜÞ³… *6]…Ö8åÄeÞ² èá‘i¥°êÒqð£™>ïlš@5ÑÔ6µÀæÊm°ÍŠô¼]»¨sŽõ0Îiø÷/ÇHn2„«¬²f˜FâzÂ:¬­Ô Üf„ZõùG\U¼7º¾m™“Ô77¨={²É¬hM.#³AŠê•0dŸ„ÉRОh>ZîF]K¾DZ“?eã¾_,UÎn5ÛdÚRJæxA¯xÁ5M…*ûä=HŒã/ã6NÔ3rîyªz*P¾Ø}l㯢a‚ûÕ_ÔZ|º¹Õûñ)“ L€œ¢ê €µ»ÐxÈOrc—Z>ûµ×~v/{{\Ô„€U4RxÐÚÝÄ4ÐÕbË!‰GÑœÁ2ŽtÅDûè§™°¾ÇE6zèö$°lÂN¬[ƒYdö9W+|篲tÊpö+¿õ™iüu´¦nUîu‘%ðE0`& \mi‚ï¿¿á"…茧X‹‚Ûû¢ÇŒel 4LND×ùU`¾B¾í ÆÎ+ß´±?ÿŸ2Ã\ï0tº‹èì—¨!‹úÙ;Î3¯aWýÁ©‘a»:kÐŒ©¾I'–¦ê¾zŽèIƒ¹7‡ö+$cK±%{jw¡žŠ¼U{¶3Bâý½­Ó`kNó=!Ù½'ÁÇ’åIÀÛm¶àw²ã™¨]¹(.–ÿtjøÚ3Tß?{¨((¿üe>-+ÃÐ`áF©ó’ôê>¹ {ÓRº¸Ät+¿j¾J°õO@&¶¸Ù©AŸgïÿÑh c{ãG“Y{1&‰aB˜‹ ¿é-«•šâØX:o/š>ÀGÅÎpõô0ÓΩLû=z¢ð\©‰¸KÅ”ˆ*'6ŠÝ%Ïmý4¢À }8 ãÙ¤ÏTl-¯lÄ¿“PÆÄà "^óû%LÐÍ/fûDö=#å)q¯“°»vâ(û½§j3„—{lï>rTgéš°nVÒÅކ%¹nÕäÖ*G;(¬Âùûë,ç•ýäÊ‘uKsx¬gîà^«4:D{-òBîl…éðô¡Ÿ¸÷¬ý”ϱ±—Cö!F¿?ã¡Ö7ߨu3è·7*7Š/Õê*ff»ŸñNaHèÑâÊKÞ ª™«[r{¿\¿é£mF壢6†–k×Dk•‹;z-ptç"°•Ö²Âi­ï7™]*˜&ß5'kn Ôžw¡™tÖœr>Ÿ›Ó^VŒómOœ¨YîCÃ×ôA>hztWÄeúçU“‚6Ê‹¨Ë¡ÒU6‘!0±)œŸ:À«¼a;²Àç¸H´Ú˜g/ømΞN‰Î˜òº÷©.õøÑ#ZžÖ‡š°JΖòž&ÄXÉ)£‡(g²ºÆþ)£æƒmÕÏ‚´pò ªõœ?¼…ÿž¢JË+ÐO]Ÿ½´Ë—)0&þè'KA½È·ø¼û" â˜ÆR” ˜¾ˆ3(02¸%„éq +f¿-(B²dY†üÔ˜ô¹´;@g{w3_m˜C$s *§î#{3|¡#‚YÀè» ¾tÝîf­ç‹6Úô;7Nvp—YRÓ…Òàô%TîAÊíøôÐT•~ ÿ¯w‰ÍÉ™Zï×µ ù¬üh¥ES|5ˇC%<Æ+•;T‰µ£.’8j³žyÛÚ¢_ŽÏ›1;쉷|ˆ«z÷íþ(Á…|‹&ò†È=|%ùu/Ù ßObˆ—FÕ8I¥q‚ö¢ß?î,y>‚å3\œH\ug1 <*ðOØo…Ž Àlx"ŽwõÇ&`\ªÂz¤°_ÆpPµáéü.BdÔ…ì6Na<‘/â@y–8æ~Ù·(ã*{®™&W4æ&w6œÃ¢¬övÒôËU?1Žá ëÇÛßü+¼'„9xHNÊôÙ˜•*T^˜t†4ÎÍ%°¹þ¨|ó¾¼øGÂ.Sl1¿{Ùˆ*¼+h߯9Ä4qvU¢y À^ëœË¢T™3žUÍü>uEA~Ö)ìö½¶3ƒïòujaA‹nižjZ2]¤âö8ã8Ç¢¹W·Ý²¯Ø ©®T‡GÙ–çt-‹f¹s?¶µ(9Ú&(¸>–B.}Â1”‹4[åÊåú Ò;þfø7âRóÙÝËà¢g3>¤@®: ‚¹„(Ý©õcãìÎyÉÉä²ÕvŒUµ–:’ͦóͶ’tÜ}ãÖß²¨D¤“Oÿ‘.Þª¾(ÝHœÈãó·(Ÿ¨ð~8prÈ1— ¸àm-y1¢K«'š:’¬'ŸïØòNðRyÓ’’³©HSn¸"iŠ+S2m•’p΄ñ/ù%‚iÙE¼æ‹áx ÂŸùH P5Sb7µ ©YÑæ·›…oµ9tÔÖÓ É‘-¿øE¡ $àAQÑvMQ{²K#Ñ—Áqi;…È¿ešgèa·d5yÄ™üÁv':Xµ-šižv|žimÒàü°xó9jS$<è|ž|;€ÄJ6T-^ENâ#bà+¡¹ã<ÀûÒ#‚Ï?rƒíë{žëøüã ~‰PÇ F£å¸8S$†úôæAY—§Ä›š°-Ǽ0+C£¥!¿ô‘~ý$G )Lfg¾yýжQƒ;tZÓX¶ì]£~P’Z?c­¢7s¬÷ò΀ee,ÄŠ¹¡÷½)ÂÐÅN³[vÕ=õÖ|ÓÔÒî‚DVÆÃÀ;æ|Òšïí]á žÃ¥ú+VCrÝüXgàþiòî’M®Ã‡WR¥øKþ¡ÿÜq•ùiJgØü¨bgNUyXKΑ㢠Ʈ¦ÀƮʶ«˜Tî7ä[)cž¡ùÒ3&¼„ÑBŒµ7^/ôˆ‡wᆢ¾`%ÃÕ¬M¸¤p­3®ùîÑÌ šFïd?ƒ¶Ç¯…FY7Žñz¸è¬û^Ó']ÛÜÞ¬‘¥Öõ±±á¦ÓŒ«æ'œÚœ÷kð(åøKŒ‰hcÁÛ¶ zìj·½Ó­2Ô¯ymûoœÇ±v׉"èr=Â*³(ØA¦” Ÿ ‰…0%—:úúµåô¾MAßêEÙ– è»È@×J8q"‰dðv¹Ðαxþ[ ,JOó"çm‡%*Â}ø½¥Ë¨AÊ•×n (‹|"ræÂ‡Ä•‡Åï€J€ üÃdÔ“¢ ‰.("9•ëAúOU]ˆõÐKÀ»¢y«`ÀŸ¾Âå¡ÕüÆ0á~IžýJÊ@¸â}EÂ-ùÓ$H©¶œ=áï|g¤iÄ oW•sÝjéÞr¨ËK¥Ž Áß唤–0mó¬g!¸·ê¯î¿i›ßq¬Âži-Býç>„ƒªƒô÷^J­úŸ=$ Ç>–˜—¬}b*¸};Õè!v l{&~=é%¾¥°Úýùtw^r»úÀvÿ £ f§}§?  ›Úá›/°¬,áM™G… quwÒ,Y.¹ä`iÍc`Slp0ö{ÔÂÒ̽X+*KUÍÓçê«»XöúvMŽ{t>_«‡îk.bhʾ­j£¨w áû¿]U.ÖD+Pžºµ•ÈþF'l( wö£¦UoE±šÍ0º‡Vj&¨M;QJ T"à`©µÈÎçA¸D7;˜,L¿7/«I'¿Rve"{ƒ€¶3‚žQ ìÔ&u'&–ævÕ$éZâ½hçD¼ø?ãRZ}`ŠÙ8s+>sJ£WÕPå3ªúqj-òX@ þ‡ÞŸÎÞ«ëLj_Eiܾ“(´jÍ˸ç~ŠŒxr­å7 ‹†|¿3³ßÕ'H[¦š†Ù1¤Je›]>É4µ¹ørUǽÌR±æ½‚ ªÝ=?8b”B½ÖæÙõœ‰ÅZxòµ’_b‰q%‰ElNYï¨WÒ´8(v¢åª >Á ­*p¥Ÿ¥z4‡˜9¦óbj¨luÚôëKÅI'Âqí_œ¡]4ÒaÓãÙ¶Üv«Šîò”áK®hk<;ÜY¹'—‡a‡°TÜ.àuíæm*%ßÊ‚¸ jܹ“"ŠÛbo@v£P F†Å¿±vˆ>˜"pkó]{‚±މÀ÷‘²;¤…Ö1‰þÒ Æ&ö|šn> »ˆ3wnH³6¨kj-‘ÏDœÅ¤cå:äË-9¢þ¡7–†”¨™ñ˜O[µ±ùX€D&Òµ±iǸn• êyä”ö[_ëÞýúž¶']Á나»9 ­cð0WB5 N6"H_ûõ¯É ±´ò‹ÂáÂõ½ŒR}¶Û!ÐBþçù:€¶ª·júÅ2ïóÉÓGd|%ËÎCL£ÏéÍHþò M¿ýö†K‹No–DLJžð¸P2›CÊŽ7æJÕSàG·NhCŸœ é:’=^'”—EYcwR¦{'Gé²qº™<Û”QºS¸®£Ë "|È÷ýÄ·|qyºG.n•êè d¤ ÿ7ì—xHóq ÝY“Æë \ÐÀ÷僘‡Xýÿms$â»YT`ðÒ"çPt‡`ò½t?b0ƒj^Ÿ¸^ç&QÝWÕÑŽUÏè<œŽ…rÙ“‹„®çI×¾øŽ’ ÎU¸0§ñ\ÖB‹~»ù;ü·ÈCX£ÉøâpéŠ%k±[Ax/‰ÿ›èôeÐõõú®ÇÝP[Œ¶·'qÜ´ðW¨¨Ö–™õŠ«m)õëÂÎ,Õ‹moûRR´SµðV!ôæ(ݽ"!Ò‰ ¹–IÐÎlëæJ•–kEÐΡ=¦îÏ4¡jçƒÝ3˜ìc‡K’ùiÊŸÑ””pO§œ½úP€s¢­fž9^‡÷õ®„ìÈÅžžƒ+Z2÷¸ò \-Z°‰ª`—KÄì˜øèéú€%þô"ìW ‰¹}ÈŸ*~Á»µ1ןšOR$Õ3f2}iRîèÁQ†ÉV¾ïA >&Zý{Ô÷ø¿ÕkæF @-Ë3•FÈ™'$.Yý#&µÁñŸ] 0¤oŸévøÆiCˆ«¬ÝÄ~»™&Qƈ#×àŸ2 f]À›2Šï0)x·gUër~oê½.³åB€XÔ|ÄãcöGÚfÞS2P"^ÚšùO¸mEÿø¶ ô4P²\:@Æx‡1g¼ŒùCÑŽ]ù¡;ÊÛÅܘ§CË7o®^¯»+¤øâ,-z º&fÓD2<XÊ ³Iœ«C<Ü:8˜‡6™wè]÷ ”Í&Û¬$ƺ„V­ÊÒÒ»æž *>ƒ˜ &9±¹˜ùE ^Ê0qj$yxx3‰-î½8Û’œfBÀQ_àòPÚmîUмö…}\Jõ{NiùT=Û“+N‹yG^uH† hÙ±ÑÈ,[‘M?ÌÐàsšêm' Є¸úœMGªŠ<þ¶_ºLßîîzƒ‡½?%½L§ßÉŒöl'Ò=lËOŠŽU[~Ç`·µ°ÛòȇIv_¯~ rmÙªÞ¬°gB¹IõgÄ‘ùÞ(-_?öO.\çóLþ½y ’L\|&¶mòI…øm'/Òì›X:~iµÙøøçº”'µõ>Q“eß·Æ;„¿Ö–ö5V»ã!®Ð>0Þ‡! ²º#Å×Ûkè’D9%ЙcþR'aÀœ|ycí ßJø¹Â½±†¢9²¸dùõwvÐçAM­¡ÄçU뢫dõVDHÎ> ‚=Ïñ|Šs!ãáú0¾˜FNg{ª*‚Ç㟸¶´½ãöO×JD€Æ:‚°ô2¢'Aøð¡³ÇVm¥ïÀh`y¤Æ£ë)©¯ úÖ¹n¥0á;äM&¶?—GÁ°ÙŸtuû ÿÒiMöéo&©S^ˆìz$Šj¬Ÿƒ° }ÁÖ±“}ÙRPdÙë5ÆÒ²Á t—ôá0)ðÇŽ-64¶š—«ôápæKoÃn_13ဎZ¼»åZY‹ÇÐ ‘rÀìkø %l?äÐfzYôwbù•©ÔURnöOñ<&—&²ÂÂh¿¼©ñ‡`Büï!ÎçhÇuu¸ù‘k"”&‚ƒsñ¢“es$Øô³îOÁeq©x·|¼’m ôùË.ÞuùiQÍÉÁ¤2  v}©Â‚‘£‡‘,N:³ŸÙéc °ž·:N+®‰Œ2އy*2«™¦æñwk¤¡K0ª¿Ä¦¬,Nˆ$úŽÈ¤üòÊ—öÂå%œ ÈÆ¦ñøDj®Ì#H„`´%e¬´Fññ„¡‚k‰Õ¡Ö@tùF×Ùò§§œ®ï¨k`v€¸‰òÓZN“ª&Éc¬&6µ÷Ä<)²v0áa‚=ßôŸ4¶ st>Þå\^5”W¬„>aÊÛŸ1O¯ýˆ’N2{GÝ·á^âªê9uv|íœ#SW&H¹Wª!̼_ƉÂs¬,Ö3úJCZq! R& U/™A@ý¦7>acúl5´þµ ¹Jœ!ß8\ó|m3fö<‹GÄDß¶ÈÐì Yp•í®¾Mˆbøåìn=±AZvCòn/Ð{|߸Ó\‰ ¹BÖËŽÃËŸ<ú·T 9ÇEv?§Ü&Ù Uò¡M&êëuëâq#…?Á–&Ò!‚ÛY—KÏvì´‚ÛwèÈCãÝÝa’¡ERJx[‘ ¿M°¨öVÛ‡ÿ{Ô$jK,úúÆIÖçѹª1ó” F§N…6Ý¡‘b¢Í |)ãgÀ½QcËA”û8±r¶À»´kÇÚÑ’¿+g%·JÁbðù"ü5vîÅÈð£µðÔ¦;©C3]”ïmÀ=0‚ï¬'p}”È X5f»§bXwÅyPH†‘c4^’ƒ<«Ø—iþ[÷ŽèÆö±f ÁÎ6ä§xÔ¥fJr©‹S¢NEqí9„–TäWút% $¿“]<¤»;WcÕt2Ê ¥TNÏ}äôã¶tqz ú‚y"<- y#ÉjÊ} )˜È[@½)ÑÉQ£{¹T.ogÜßÚërܽa‰ÇÒQL€0o˜wt,çëk’_"C Ú§¾RÞoÆSt¿s)•9^fz—%(|ñ—-åØ9«‘oÉ®/´$˜)‚Ü;×#k¿+ÝV«Y¶_ñó¸€ÓnOï¶ (a…;î^*ÉÖ zòJµµt•}³Hâù9)ez ªž(Í_f¿¥Ð?ßs·îg>Š_áØ(Ó5¸£Žc¢5z<êÛO,A±§üÓ6X©?¬¹ýIiiKpíÝ“ &Çm1xÓ¤õý(%„e´—ÛÏìöt¼¡E¨üíô¸3ÉÈã`›½ø¼;çˆIFŸÝ1­3vè³Ö"Ø£ÔtŠ-wüc­¦šÊá(:-‰³Ç#¨³¿óŸrëZ©Ìî…·y±uúãWüVnplZþê(i±÷('Ý)lÅ'¦æóÓPÝq_ÈH kίÆ=L@1:÷híÊeË'‰Ò)“ƒÓçºÉ%~Xg1Fá ÿ¢öÕ‰§ÊóþZO¦—Gžé.–†-$äXH.Á5ƒ‚¨”{© Õ„I°[Ê캻˜˜ùRnAæ%æÒ`­m¶Cñšu!Pú%PcÈmøÈ6tÅ ó Õ>ÞMðî§ë g# B¤vŒí±`£¾M z¤EµSñ–Ÿ#Qe?¾¼Y¿ÒÓOÿKjùhÙ9HiÆì!òk­$ 6fÄMâðz³Ó]ÞÇÌÌë¼›²®2Vzl÷* ¾Ålº+QíˆalÂ…x!óF‰i¾_ž¤À`ã 2úè”›LÁ–&tp^&MQàkZ6iÊ{ ì[ ƒÊe¸Àâ&TŒ9’[û^Èc” ìé-¬g|‹$š5HeÁæ‡jY25%wÀÃí*¡Pz3ÙÊŒ{©>2?Z+´o7÷>ÿÅÞ{ÍóBìeǦÇ.&Õzp“ ÞúÅ#‡d3|æ š(gy€ÔÁž­6@”ßåk@%p+m<ˆf pz“ Ò á¸gúõÌ_N“1ì`¤»Y OÑ}À·싼nluÓ;ú–bþe´ŽýÖCçq³ÒrÜ€ÈÒB!7è¤8öÔžx[Â~LåƒL‚ÕÕ/ÚK#À±tý⡺ÑãŒ×ðÕg2NC‚‡2 &m%Z³æ[×ÝÎm´ÅTá<ëºÏS/î“#~ñ7ŽŠÃ.æf/w$uöU>¥¡ü¹Ê—+Ó+q¾KÉW0RÄÀ†è¾§z“îXT0”Š1{[±¥e¼îÖ| j~—…Oèl}Þ›p†™o€ª¼ÙÃ~#AÕŒJÈ×Ξ>,þHF8¬j¡1ycˆ×ù-Ét=©à »b\¬xIÀ}&q´æ¶þ¡Ð¨4Ùž£Êhnù‹J“–çâw|®º°ZÓxo…äÊSÜû³·‰µÓ\ùjÚïŒqºþ•úØ;«žÍAÊj`c†ØÂ…dàEðOU()us#pz̯[ç!ÊûV¬$öG © (p¬KôŠ„Ï&ͪ×|¿u7u"+‘õ*ÞŸo2Œ®ànlo!GN$[°<¯É®ìFâTU’kÁ†³3š[XåvуÈ͠\—d⤆žÇ}¯ÅŸ)oÕó.HÛ–4¹ÆÒq <…‡¡êN‡„f[÷“¨ÏÜ|Ë$påsäÿ‚Á×¼6lå¦K9g~l|øÇq4/Ŷ ç+§[wÎÍgÁˆDþ…±ìÿ&¨œÖ„žÙ yÚ£S0ï[ik¹dùÉ öù‡Öš úlOšè²¼YugI²Ú GÎTµ3Z} ¯H0M:þ(Cslòð>U«tî•á噿&íôÈó ¾AõXF,}¹0gQ…çŽdÖ¼ô¾O8 áˆæmTÅãˆênyÄõÑdYSÂÐ@©Ãˆ-æ“÷Ž ‚‹C.ð½¹ÿì)bèxØ=–m°ü 2Á;7ðõ^áÒæàm{˜¬žSe=ÞîeB ,ê8¡ÅºA$]t»"–;^¹]ó‡”4Ÿõî)qÐÏwÄÔg´­-´%1Oª™5w?KÊ7þ€²ç…›‡yøA4Á¶‹…{ëÎ8—2©žåíSžÐª.{ñ!c¸5jÇ@KÅO¶V1ô QŠÝ©¦ú’#:Ñ0}îï œ6MÞžY¢0…Né-(µ ÍL ï>S4[ÄßèÇ¿Ð`›xÞG‹.„yS£Ù) !ã^âñ@¥Z^ß_δE®\i¦ç~[ÉŽzíàS­ž–öáaT“}àˆ’²%5à®â¡Ã'¼::9þ‹ÕºKÅ?P$c ׳ú=Êûáë%)ˆ­JT};LñÓþš%Ô©¤Ñ)ÿÏbmUÈ›óD¹Y¡öUm7µs»—mÞ§Ç-þŸãcá=b;R73Œz®MŽuœʽGþQfO=¤‚“‹ ŽÙoÂÌ7˜Ë@ 0_%þÖ±ó8q4ŠGîò e™þ(“`ЦTNe¹ù—±bR9 ~‡ÓÌßqså’v ÆÑÎMÕé¡)Ü­~<üb7âõZ q›fêîDà5vBÜnÃÙYkåŒ%ÔçUèåú|ÅóÔ!S½Z•À”Ý®˜’›¿ÃÈ!¶ÞÛ)¸ËQðÊhBdûøu²Dˆ\†[×7ˆÂ&¤‘_kÏòþT;ÄRÆ„à…¶äSÙ|» ÿ+Æ•¨´ÕÊðÊãŠcÎÓq@¿€á—gAÅAíaøÕ”'í8’Ùn‡-)r=·‹´¼aÝ<–¤Ò!û(4ftLן,‘Þ(Õ¯ú¨d>«Ù¯ea¡×4Ã…¾hýKŒÚpcHVª ñ¾Ÿàù_!H© oŽëÛTÛ¨fóþÚu¢Šè»*^þëZ"ƒ U…ö;yÜt—…'Ã0ñÏI|¸€t1‰AgKG;"'«ËÓ…Æy„·øáE×™.”䋤öìnâóN :Ä@É &WžUŠ®_b8%íEªÆP8@›v¾‚}­¡”•¿@¡é¼ßmË韨ø%ƒåŠm>¬Uø´\ &ÞYˆ ¼ã” ö nýhûý7ÜyœOÓ@P¬ðÔfÙ7$GÁuНgÖA}tP$„¬Ñk(K﬛nûàíªºÁ¡ÿƒª×1/uÌ•F@e…ÑÈZJ ì”<¢³»ÜA¸ª'†(æënb¢Pt.I?P[CÊ®|‹{a·ž:LñÁÆ såa¯Ò`am?È!fi¯Ða¢™"(ûÄX³7Iº–å%¯Ï„•¸ò\ÝÐR¦BªN+¨æ `üÄ/¡ê»GÃׯ¦f%Ùc…Yæ’¬I1çkŠp€ílpLÚÊ<Â}™ˆÉøÔ¤V²2\Ûƒp[x”;Jcí§"ö|áÛÖÓS¥¡ÓäYu o÷·Ù~š$5ãÜ“yç9¸i‘­ôÏdóÔ†®)ü[²þKI²A´N M$–Ó³ò™Q¡à~¢Äq7ÓT|¼ÖDÄ|÷¶–Ód߸ }{°û{›Šk”ª€¥Öø£ ho%©u)¼›<0©M¯$¼àÐ" ¦ÔÄ;µó½UÐqÅŒi Ê£~Éê„Âí1wŽ%»*[J4¼œÓ Œt) óxâÔøïb¨ÊšVBÐÑèVÆT bLjÓ¬6µ†¡&D7vq°ó©6™åPŽ^›0 ´NGè¼ÞE×ÜzI£šeÐ ˜tD×>Ëy"Šp­¥lÆ1J ã…Ê_É-¤Y4¯ÚiO¥—æÝÏá-!zÏ(¥Œ–Àl/¼ÔÛôÐÊSùªAò¥ý¹9ÜBµeœúä—Zïã'·Ú¾Ñbz¦ï¦«àoÌ\ Ó£øß¤·5õ™’µFðŠùI¸:K¤‚ûXbÅ–4{£rÊë{c› Žzá= ÏØ¥s² I öò6å„£Ÿwlø±Ý“Õ›(4CóÏqfñRT¥Ýh·![ãïâ–7~ÀçêTS©Ëø ¨L c•“V©†¥ñEVµl®¤…S. @1·ûµŠŸWÂ^uÅ’?ž0}\ÛGôãAƒ¥U‰8ìRd“€e_¢dù§"IÙ&ÐuÈ2îìH÷-e ÙX>fÇb‚öRP8{?¨Ëãƒ{Lj›ÊÕ-³Å¼j'ýáÖ¤P®x´ÖªˆÔ®O”xL½ã•öÛœh îÇ\Ï•R­?_+û{qP?oC™7VÏðÉÆ%’Š¢?fÁhEBKóAÄÔ$ç/“9ÞÍ'U›é0þé}‡wfZ­ ^.´Ó±¨Fj©îè—]Âi…¸b5Ûпêl†]üWŠ]cÁHr±@Wè4Qäby0­Iº*Wç´,÷RT…ëŠøGÜ÷Cžq¹`†Vãõ•g¬qϤ¨ßØB†Ç<ÐL8*ï c‘³Ôi!wz5Ûi—éßf€7ËþÖb,!¼“<ÞáSñìp=6†¢b:Ÿ›pØ.¾a¤1¤btU'‰`0¾Ùø-¹3ÁU#ì²1j%­†Ø‰AOrZ«ÀÖÞÿů”ÿ7'HN<‘J>¾ £¨Jˆ}­rÎ6Î5bIØ7Mv¨ç›ÍºÒ^å"i#A”ìFò΋³c¤ QÞþìo™±êšˆµÂ ™Oæ)¶¨n–ìðraÞU"Do- V€©#±È?1Òq] (Xp’œAM‡.@¦¸ÿ)¬tq¡!Uç‡å(?vº4Û‘ád@’œÇÆ0KpÙ/§R는V ‘%ú> 5é[¢FÏAðƒ¼¿¼Ö(Æú2õê¡‹ö‚„ÒGZÑ(È4h4~ÌÕF7²‡=’eoÐ9i5 Ü%¬Î °Îµ¦ÞÃzþÑqaxÌ•ÍôŠé¬8 >¹„h«ix^r@š÷Qùñà¦bâÔÒ 16 qP6³°æÚ¨´Åç5â* "éj ÏòÏ`ó"º]rOecÁ_§‘ }ÑñƒbØ¢H²Ø¶1áùÔÀBoBæ–OêåW@Õ"hJ‹V’{í´sŽÂF‹uÐÙÙ¿Ñ×õÔé%¼ºJ˨Ù)Ü•*L½ËêÜ×Áà¥êŒ‹óº,ˆeùŸ@MIµ›Mí«íö¥Î7ÿ;I`0,ÎVœÂ¦º›ÅàÏz1œÕmH۟˧h˜7zàhª:=¥ñ°§‹½ð¾¬ ö¢ãûƒŒÉËäV² ,”4»&¤˜¦B u8bÌ¿ç.’u褕ìÓZ$ÐÃM´è•Ì3ýÐ?¬ mž“œOôkè[ _¤'mÀV ¡šŽX¡ÙÕ‘{]0"W´aR.±ýoﺥ²×MmãéR¼Þ³¼x®á?]’sçvÝÞiwÀz06´MÇFöÕ×Uæô—É´n€74vÜ ô¦¬f˜ÉWÖ‡„Ÿc#©uE%81ì|8lÚmK˜I†JØÛ1Ӎޒ!ê–Ä3–§:“<Ô¿??¿»VɳøWÖüoÞ«¢UÁÄÐ¥×Oƒ·¢#~õwpEõÕˆ+U§:cþMùÊŽÔ "Ù5jý=’üÛR¤°*˜Ã…ƒÎnU¢›Œ%_ݘö°ëº~ÍhEØj¡í]|E¯ŒÞ,Xƒ†5=|f€•LŠÎÖ)vtøu}h8 æ“L=S¹4bÎ…ÝÌÕ…zJWoîüÞš«^ʦꇗ·œšôSH|½´Qg·dã53DIdR ·ñÄþjÀzKƒ}*Di2Ÿ¾ ÔÞ’jZ¾™Më^w†O¡ÅŠÍJ›åck‹þÞÑÆÚЪ…(â\.ý`ˆ{—Zz· {ÔþÐÙ;âu³ÂsF2!Açj™ŽêÔA/MÙ½gkÌ2&àºÓpìë—Ö  N:NìÎÖ­×’vÑ"Ä;›hšõŒõ¤YñP:óÂûVÙrÎcN1©)ÂÕGOîû ¢Cá ô_Ú¸E“œqfÒóÞ¡£ìÉ0³×ÃRÊ㥡î†9©å½,Õ.Fÿ‰í¨¹WC¹4°Þ.¡\ݲEbH’ÜQ6Ìbä7ÈáíG¶°œé©1ãð7¿º¬õ4a~k}ò× ç“v»>î“`Ëk.[høº ¯¯­ª³uIôùo¦±*$-ä/N6ݽdfák ¢VpØ[Ý®rÉ>å55Ó6d·Ÿ¥Õð5ÿ†ä“–jèÞŠO=¥’鸛^òŠGDÖbáÞ³ië` e" 椟q˜8“›ØïšøÇ\X¾Ø_ ²7Ó¨çéG)ýãÌ¿¦2™3 S”¦ œŽD¨Ë”ÌûcM+LKÀŽz[6Ë-wálVÛ)‰š¯ò0]…å‹.ÄbB}œO9&KKøÜ$Îê™»Š§…§Ý¯\TS˜‡¼ 0èFøœ®T$ H¤1%çÒÒí¹–JH$ö[¥²„Û|ÄIÓÐs] 304[oÏSb¦ŠXS¦~eSöÕ¦H±Ïg¤Gýt4á¸ã1É%M¸ êK¨<ÅoÜÁ$Ïšr›¢$·jMÁ­šöí½Ùïÿ<Æþ$v - ^BÄ=ÿ¯|-1ß@óG«ü¨þ‹äœáw¬*ëS»uñówž!}Á©LŒ;~.­¤öÂæÔÁf»†ÖÒêEB­Jø0÷gKÄ7GÝÙgH]0Åžo"þed‹N)tkúºwûƒÄ}·ÍlLæ*èFΡï*³¸k…§ žÆÛÚ2ÎÅ'­RLd¦?Ã]¸·€S&ÙÒ ‡Sò¿øÀdàè›Kpü¬­q>åOxù7ÃÕx¿©øœŠŸ­[[D&AÊ®àcܦÅ;UIZ8iݸúv†$°ƒæ¹1‡nñµü‡Svn²‚»@˜±¿m:`Ðï¶§òP±¿r7@x§€1Õkø(éV‹¶ì†i«’ Û~OB’ÂÅ.).‹d†&Í>(W^±ˆ« ¼Ø§æ/{îcg2‰$LYo©Þ-ËŠŠç©m@¿T!¦»•›:â¾?3_Æ%—©48‰[>Úæ`cßÄÑ{ÜtCv=½ìnV¥.å®ñØ2Ê|¤Iaú²'agîŸ`Pn?•×€¬.œW'JÀ‡(_à‹QXj——Ëz!¾¡Ê×}’ʸ——B¢ŽAWÐyº»š HÐÜßßÝŠä«Å¥ÓÖ€ÇE)o;§¦¹ªšÄòé3ù L?<﬈•jEC`jœ&¬)xèÿ¢ãM¼o™õ¬Õ”ûͺDÿY=?ìûÀæ%Wvù†˜áڀǢON2äöcŸ#Xk@€Õº¡Q‡k5¬ÇÞyæô¦¿üØ÷PðËl—ý:… “v+8îÅ¡èùI¥±Ñ¥8X‹-qð°§%XZ5Åñ³gµ~# ±h«‡B±Nb ?%EF–®fm$RùÏÏQAÐ.Ô¿zú½ÌÇ h'Âù$ÒšJ)ífÆ+ þix¡`uë$ýM³r´lèüÆ€_Ã×âXc «ZžÅ—~R$ŠÀ4:5ûñ4è;ÃËâ IM ‡Ý¹îzù©ì´)_oÖLÜ»Bpeáè9!Úž^ŽFéùð…O_N°¡]ËÿžAÓyóÔÍØùgRÇÜ£($DF±NŽI>‘Oƒ¨Ñ?„˜]¬ ãZŸ¨{ÕÖê#3âI¸”¤|D»ÿÔdWž,v€VÑ:A[GÏ«Ð4µìòñªèé° MÞ•ºhú ;Smob³k¹h½Æý2÷ÿrð€ì±8þñ¹Ñ³¼0áó™ZPÛ I·Þ\Û:ÒEÛv¯¹-iÞx€oóš>´ñ÷á\Écß0Õ*Üækˆw¥ýî“üeMêwy§õܘ¦4UÁÓŠ7~—Žíï¼V5iôa!H¿°ø§»º2 Ó(XDì¼’¦ùNQdhä¶¹I â1½úQ÷ÛÞE4?w>ÔW{iº_þ1V™xĹ5Ht­*˜¸æLªIÓc³**\‚_€ÜÃà}÷Ò-®][]Úœ·s(HR¦î‹p²0ØÚñtlü7MT’¬c31ܲ&þûœç&OjÝoQ:ƒ× ¹µÁQèºÀ_ådüÉj§,®»\ð aÍÞo¼¹¦ _§G  ›¾ß)m­Xø£nÜVæNÊä$y fÚÎŽ83¡Èl#³•¡œÉAù%ÎaÃSB÷#å‰6ªíÌ|¸ÄËŸk· yÅg¨u‡E».^É’"±üüöQ(ããÙôä]P9{‹!¡[bEèÍ/XÀê‹>C+'ç]»·96Ê2¸˜ `RKë(~±—.Á«‚r/IuÑI'1O·^ítC›ó‰áV\Uæüó571á;×2'×ë°‹ˆãiN°Kû—ì{«è0­Üò}ÜDoÈSº“^ddQžÁ³!<Ÿyquª…KX$²î¯¼ã‰)þ¨ ï$RD»-pÃáuÂS5;—4®çŽ +f¿ú,“rpÆ$keú¸w£×=*¶¼ %gB–d° åˆM?øsÕ¼4.\ó»°?9°èúŸ&Ô+''D—4yc€júœdC~ù¶¾!ÂOb^Píy|ËéI!ºty‰zoSÎÚ¨\£÷¤Q}?V^y­„Üsa¨¾Å›s˜aSn‡f…TiB»¤As¯åGlj ‘QÏÈno÷Bàš j„ªuB‰Q[˜éú.Mãž)Í5îuƒÈªÁÖÿ†2ÑæªÒ©8/Xy¯Î>¿YÛƹ³fÚÜní•Mä¸Õ_Ñli!ŽžÊñت•ÛÎ%K ¡£(Î_¯£]ËÔ–J…H O…*Ç)_`¬¾Dû!|Ì’‘±Ãë 5o÷·ÆdìJÏbÞŸ²GJ¾eâpbå9˜6é_ Ñ÷ "D4FQ“pT³nöã§·þ¹`g}…€ù`¬õD‚-­5Ú¦'-ôêO'»øËhëÚ–—UˆèZÄÐP÷G_®@Àœ—f»ÐÕë¦ô\Qˆ¡õÜ¡) Ðîh…2ŒU-˜…=s%äÁ»«#ù ѽÄE#÷r{SUFiæ–¹[PÈÉé»àêØ!ìr¸ÿE p6drª¡¤¯iÉä=.óUY- ©þnzÓkÂñ ‹ëMñÝ)zMKëÈÍ;©ÝŠ_LçZ5X¦ ¨Vö±Sy;e2úˆ„V…W ¹bAúˆ-‚ 4NÕñ:uÙ)äÓq¯¹D‘¢Éð¾E¹3žAó59…mrŒuϰ§¶?ÁL(b>ÛBMÌHC(/QÒÈ9z ¶yiw'ð⎽¯°’|\Åÿ ¿Wžž\‘æºÍ3Ê©²—‹-S &—!DYᬠÆf ò „÷}zZË&SÚI 5‡œƒy÷›‰¾7àá '6ÈÄ “AÝRó~ ÎüSõ3–3ó0@&à镤–±@báõÎ0Sì©3FË|ˆ}x%&`ô‚mFó͹:VPá,îaPßvIýÔD>Ì‚}¦ ¬25S¼kŸæ/tépJ>KÅÎF”·—³= É&ºnÞ|®½ãi5q‘¼â¦Î€`ó@ ØÇ\XS:<Ö»Bÿä‚DtQT‘7ñúZìÏž° ²³¬Û«ãÎO\^3è¶!%«dZ/¿U%±õ¿¹Ô:₉ÎëOζJç¸ê zÔ¤"S³’DW´§¨zç&Gu³iîŒ.K«ìDïü½@ŸÌãŠÒ„‚÷‘FP5!bÔ‹´âó¹˜CŒ¤èâåxCTé㽎£‰y³ã±F‘!WBDH9«C„4 _˜…Þ!0®<¡ì–öWþc×Ù”¶"ÅæÀ54ï<¸ß‡þ)Ûð`’`º²ŸXOò.È y_a€x•šùà«]–RÏ EÇò´Š·Yƒ–‰zõOša™¥ýÁA*^6*•ÿÕ²’%–ÜNÔU‡E `åoG÷±¦Ý\ØO§áU,EW—Þ "ž·•ñM½Q»¤«” KévrÆÙRòE÷Â&Œ‚ˆ‡´§n̨D^¯–[Xµ½ÌL^§Œ¨Y©©ñÿØ7Ðõ}½_4LÑd5U“$ÂÓ¡øÁ¨u;Ã~]¿ÆœºöLë›SzÒ÷]R'6ÊËô„£ÆX7ÜÓZZ×ÌØ)Fe§µŒk&ï8gÚw@ýÓ9÷Øê"/ׯ60‹[ÎXÝâöªã–Ž”h„¹¨eXwà\å*ˆÀƒ4hÈå4]_S!]=Ÿœzlbž¥Á {eý; WqLS‚^}/§å#¦ŸÖå{¼WÓwùÜ÷HòŽ«µñ/Á·ýÁ¢°UMšÑ&˪iFÞƒé™;¥B¿5_â°À˜DTJ[ŒöÑæÚ5¬/X)ƒ¤r0Cùi›_ÒœçÒìÑévAÕø+c´iÿr!OÐð×þ’P†X“Õ•Å€Y·•ߊĽUd“Œ=»Ðì‹Ú û(År‰+,+´åãõ7UžšEÍËbëÃ>šÀuyÃL£¶ÒäjSÂþ©+EQ­™øšºsßbZlŸS%Jߨ–ܯÁØÔÏH.ö°ôh¸,BÀVKmF:žöó3ùõ±–“¼ ß0NËX½4WÔöZÄTöÍD²»†&éÚÇöid ¯£ãçÙ‰+]A¿¶Sjxs½È¿C‰ƒü^nqØÁýÄ$+Ýš´ß DjͬFáy°zŸ8¹ôi“À=ò·ñàaû<ÿ\ã XÀÀ?’¦@Þ‚Îʑ”’üž€}ª¬¸^Šò¥@´ o>ÐéðmBWSœçrÇ€>Ï|±a1E¬áèãדM_bß5î0Ê7T;HB¯ámÇl4áŽ÷Rèˆ7ñrò\7x¿\8ƒÇhøÉ¸èB,˜@f¢ò%(0ÊÖ(¼yJþWr‚Ø‘A¸Rý,Ž4Û¤©Öø'Ë€MÁ9ìwæ Žæô FlØk¾•ìU y{ߞʜtNà7ßBt|/'jæhYy›¢ý*VF8:tÒt2ùðœ‰ÌÇ´-%Së"¥÷ñdÛã°$@PõÃnÒºéïOò|$“Ž¥²Fl™h[ÀYÞŽD!('£C÷ÎHõ¥ÀV¦ñ Eò6ƒêíÀæÕŽÐÚn§rTð2FÚÒL£wוz‹¬ÝsôÉ"ÄÙ•«ˆ„šiÄ€XD4}cÞÿ€J¨¶´%:ŠùpU¶Mfžl°¼fBS#¤È-FÌëšÜA3 gÒ矰ÖÞ´»`£.õg‘¼6&¿&ìé‘ê_ó iQئF̼æ=7ÞÍ<œ¶ÍmÙÇà¡¥Õl–íºLQàÝøGŽ ²Èjæ°×G²“#0wŸb8EÂùEPUëa«Òý5K¿Ì|Û Þq.úP®uˆxBscÔ.nFi8YiN²‰,6k7dWš®TÏþë¢R™y=u‹›Ž0ÉAóãÐÊpwJù5œÝ>p‹Q‹¸ñ'[u·‚¶Y^tZxb%¢ÝLXjr„kÞ:Q8ì¯ãvÑn7žÕQ‰üØ#’mÕ£c‰’¼Ï)‚ù FåiÔ,¹p÷Yâl.  À£~7 *0?©âÞ— _ì´ ¦ÿÂø„ƒ_÷ÅzWÊœšxXT§ÖÄFßÍ'¤2ì5â«ÉY3-ŠÖœUˆ$ÃFp¤&;òº¾¢¢šÚ›( ä\ªß˜÷—/6uFtÏp‹S9.ÊrTÞ¥{„±<|fö(NÐɼan¸Æ¯\äƒLªa&+æšÓS¸Vͬ• ‡Ó™ìù"€GìŠ,ê<ïTÛi*†(éÈâHWñŠ£" Ût‹lL@‰#ý;䲌àL` d¡bùº^­|çªõwÔÆ/·ñ ƒtÀ¼ÆÜ›™â)¿ˆç^݇¨õ~i>>otJü­.@SÂG¸ø×O®*v0|ì‹ P iè*›ßت=Ô›?÷‘Ã×Ùå4ôdFB?~Ù«AP]äúõñ‡ŽS$LÌÈÞ™±à}Œ¦g¶…üô”jäÓp-InS¸â±»(lIדAy¬ôAµï'soÞh¹2öu#©û_­Y+lÞ¶Œ/޹õ ñvHœ:dª®†ÑË`qJ,ª„/è…Zár±Ÿtyú*µ«¬E*•ÙÂx6õèy™‚åy”9ãâ`•+¹‘İØÏÕ ‚»y¤¼—lE|‡Öñ5P&¡]íü`Ëé Sf%#>>ê>ÚÏb@ƒ6q¾ÆqùA2m†zÏ}Ãó§qvæ) Ø,ç\ 9ËIuÆHøNCçØ8bwÌÂïØWkBšÿâ,Ù;ðsÓÜ?ql¹Ð´TŒ2I¹|ÇÕ0ÒD³p‡†jr 㨚FÊØž8u&3U’!ùÝœ2•S™õ¦Ld\d—VéÃK¥%å Ÿéì{…rV#j8EÐÓftñß+ýFË%€î7& ª‡Ç²Ev¯Â˜Š±ËSúÿ çñx‚=¡odŠñX.ªñ¡ D?£ %}¸º0†ÃˆÃB¦¿Æˆ(£sá÷¨ÿåxË”.ʤzP…»“¢Ù"{„O‹ç×R¡oÁicl5JX Vª¡éAä2(Q$ÔºùÄôÈB#—-:4d=g„ÖÉlÕhc©Ôf:s+¥ÁªÇ>œ*— ¯Ë“® Y`嬨ôázj(¶[£T¹é@ ©‰;‘[ìéT=.äI„UÊêÄç$óI°Éû!‰ƒÙbtXö`“~ç6¨l¹óý“;#†ï­´R$ÇÈ•Õ`Û‘39»!yöEíß4`´ËI~\ÒŽÚ›¡ãFy\o/Œé -y<»}ç™­šâGúo] &^±œ!5X¯—%·¯ñsÜÃè!ÜŽEp„¿€èÕJ#8೬6({~qMwÈ?6ÿæô=÷¯ÍeõÓ§9`Æ”ÿuôþÃìйbBáßBœÐõ $ëá‡ÆÆß ÀüVÏæ$'Ø"–Wc$t÷­ÞÛ=ª¦öQjÎë±JžÀt0<&.êFT,ÆÍ”ä+,"Q›ëÏ÷·2(E5TzA_„é6îönî!Ü ÃÓÝ»x'Ñ‹’s¹ÄsË^éBÊP]ÕŽˆfbel‹HY½-ôÙ²¯+*Ì=‡ö¹9 ³{|¿iž¤¥xTÇc¯·öxêPôÀ,Ò˜ÎjÉu–A/öÈfën6k·œ 46u%fdËd›ÀŽ©Fzø;Çe'ïÇуŒ¸`,MÚWfÇro±ÔÕÈÄ+÷Dï ZGu£ÍS,ÖE¤C\ŠÂMï·,e†øB<š„R»ÄDlg~ì‰~ñttq©Ð$rûù;Æ Þß'×Áë Á’Qãçˆiöù'º%×ÿfv^mPVðö~žN­Q÷ûbÀ,*}8<þ4꽌Ú_}ÙÀÜéŠ~G*/þ´ EAF‚šŸ-0ßäDD#0t|öŽÇñVÁÔ¶k <9œ ŸïŽ Dp0lö‹êɳdìÉpN„6¡×u‡­Ò¼.®ð’ÌϹ¯[€ C ‡¡f0tæ\±âŠf”T‡¥¶±ùÏbÞÕU+13,ˆlrÕEF«Ž ¦¦M¦®r4‰$w¨7a0ö $Ñ£:u^§V½ÝœÞûÎ»î¨ J°Kny[*“‹Â… u„}òoÉÇV–}E»T¼Ãíè´ºï€`_CÅûÿʼn-@±Ë¾…¾ÔÝ.e 6ØÚdœ~¸ÓÜaâé6]ÇXl.Y(ùð Uïÿ,„yK rÌÝ *„dôÍÓÎq\@0Œ„ SÈuläHdÔ €A›½H3ëp+{í-\ ”úNhx¬Ç ÝäÏŸ´ëÂàš<—:ÐÜ_éªéÕ›X‚wþ=x™x-Sæ9T4­Süä½üz«J‹›}ïš«,/þ§Ki‹AyÁ!û–`¹ÞÚÏé‰>zÀnmh¶s‰„p¡˜!~ €B”Gós{ýu$ˆ0„ Ð|è EOshŽ3æë@OQq6G3[.ñÊuJ+ÖÑë‹`çr¦(ˆ»¼™ MaýÌw¶Ñî¸Î¡n‹x<À~ͳåÛN™S¡â4(— 0 Úî£/´®}ÜjxèkêWd&Jk|\úerfu¿>&³Î¸{™£ËÛ;`Û.N“ñhwkkÈ»Y4®çŠªP°òVüG{Ñ%¨­Ð9OLÕE&f $PR¸¤ö¶KOéEL0ÂĹQ\¿jFÞš¿cCÃGyÔQ»)Þ õ»ç@‰ºoJê¢ìÎÔsšÁu[LI·Ïùk™$_jLÓÇ£KÌ]OàiHnÝ…Â5œ6ÏíX”¿ŠŸ1G`–x‰J¶P Ãñ>Õ†ÔÑ-Uz߆#¥úÝVÐ+ °Þ§©ÃÜ*µ…ð“ºXÏU‡¯v؇UØnu+wˆõÕÄøùA1ùKaƒ>ÊRÚCààÜÀYKg:Ê•ZgÌÈ ®»þ^09ñ¾© y;Ÿ‚¢*™î¶éöµÇèYχ<“2ék¤°.<âç¡ÖMYé;jÞYc¶éðt V?}ÀC;L\‡„F!?R`«n¶<{ ¤É”lßÖÌ©,lÇv<‘:,dbÑRüXÈ;.ç.Øp½}ÿ‚%À&Óyôõ’Ü­~Ö½ûR²(N|T>Þˆg¥[‚öÙ8Ê­!IæÎQuXáòŒyiâÁÇæ'|¥u 7eñB@þ©&´AlÕ¹-9RKõÝLnð°{½½5 Dloù®qD˜Ý³]R¥ah«· ÷¦hƒ˜z„î6ÁlœxmÑ” dÿ*¯N#šL3P°? Úñ6 ”CsßÙd<ÒÊEíŸ3–lõ¤’ñ_ÁDÊÍ^0Ð×Ý·kÝ»o?zì)‘È[ëªí·ÎŸËôðÛ r£8¦;vÊ"øKD¿ß5ÑÛžvXÿ+ï'MЬU;sx…Í,+óáË&žaNjmÔq±Ðy“*BYЫ)˜9¢sf©ÓœÅž¥ËîHä°Ÿu"‹««'¹×[LíªœEIU$â÷2a³k²5±¼xÿ³xÁ#_JúØ2‚b˜Õ©à^zÄ Ïl$ý …$uÎ×øßâPÃnÖës e#ëbèSÉAˆ{O‚8zöARFÊ÷Ëœyôê¦tåé›jÙ] g<oTø³ãþ 1ä$%ð»ù\WÉ¡  \ŽñëDüò‡…‹§h'* Øu *pN•³^g³Ï0oƒb4ÝÄÀXu8LKðž©Ã¥Â™–ˆC¾&coп£ñÌÝö!=Ìy¼¡ùÚUÛÉæÛWóЇ‹ßº\앱]}ŒøhÔa²˜ö ÞºÜöÓUƒìÎN•¤œIo0á.5¹GáDÑbótŠ–Œ)ï¬W#Q@_$!:\` AÊcަ»é èðžXô{¶øeW9ÿ#H˪‹è–M¤·=ÃÙ>(Ó†Äd»%l<+nfÈŠ?/Éžñ&P}ëòwÉ_[þ’·ª¢ã ÑRò÷ón¬†å^ˆädæ ¶°¡¯QÜ8¬P5E@š¡êR¡ÄQz¬ÜþdUó¸ZÄ¥8eV (‚®a5óÁ ”×&¤Qtm N "†C¾Fo› |ÃÞ7"‡"x9<¢šêªãs‡Ýr(é1œÜH 7x}šø’˜9GGE¤“*èst?D¹ŸsÏ„^C]vßâs¤Þ¦í‘ÅOG'â ØH‹©È÷tÊàw p2Lö§keŠ]û°õÙ¬«ýº÷û: ðÅ8µz`T6&Qx 7¸Ë3©×Ø  ¤¿¥î0“:BT ”WìmäÊí¸C}ÛGî1LžPáa¦U¨ºƒ]„Í)_d·áX×÷x9o³;­_’mè¦ GbµäÙ}t%?øEˆÝ-ò j7Ów“®Ïªz*‘§E‡*žï(‡˜#²£Ì|Œîíf,‡Éf™‰“ÏD7ˆß€i|ñ“ ´"æÒy_ø—Ô§¨l÷t…º ‡ÌöÎ>¸´§ p¶ ðÙ%½…‹M=UÝênU57röç‘8ƒ3eˆÃþ{ôÂŒ‡}‚˜Åw)Š®4ó!h½¨”õkv{kÿç%}+0æKù¦ül'u¸õê“Íw*· –­µT¥åÍPÉÛÊâÿÛ-Y:å U‘(ü?ËÆ¥L_|€Ú ×`e’YMMÜ:Å^ùŠƒÚ QÐÙü< vžû .n‘Y#9pÁ™Ð¼ßÛ,´8nS«ÔÂy-?ÇX% /dxþQ†L­àòš“xÁËòºO>a©Ÿá(Â$K”øÌ²°Ã™äé„|,ŸŒñ¯Õ®^”6íjˆCÛ·±½¾¼R ÝÄôÜ*q*Ñ"¼TQ Mæsë+ý3?lŒÂ¿<é«péýkn*‚D#ÈÊ­ËÛV¾|Å¡Ù=ìLôE¶ß±Ô^6žvD ëdyég†Ü8µËzm-ûäÅMJ$üsè8ªj~xâ„Úó. ‡îá•PR޳ ˜ÏS·vŒø,ã©Pê>ÇØucƒ¾X¬™Å¢}?M¥õ°²E@/ŸŸíÙ¤¶‡RtÏ• nÙš\ß'“ö½A'«Œ&æ¾QM.'Y=‰Ñžô¦ŸgۻÞ!y¼ê6È ø…÷}õdpˆ"ÑÆD±[™0Í¡UA¿P],¤ ™má|ö4pÕ]OWHûÀb9²'£$æ@IdØæb”I~MäL¨–¶ÛÎD%:øôKK$‹ý´O)=l^žò —Ìš3ŽíG®e©[Ø3\LúrCþˆú—æ^C\¿ûQpæs#ý¸ B‘ÝEÜ¯Í ²|µûe8áÊñÇŽ°õ£»ˆ/ÁI Ï=#™7µ- ¯UÁ±~÷ ÷¿—¤_’Yx4Ê€²=†#7øå@áNFÊüB£ÃT?=-êÌŽŒ’Òp„²*FòB Í:U=›ÍeiR)n"%¾ùäO³TNr¬b[- &óA|^ |!ø„:îçp«ë]¬kùÊ f“2QŠëo“p+SZÂ*k/-º°p/<“CaD>AÈjµ-¤6 \©cpsZÅP>mÍúEÄ%8)p>,  &!#B«±)Žáwè ¢QÒ8)Ê@YŒÓջŨ˜lÎHÚ'I/¡®£tûÜÊNz2äŹ¾%{|òä}êO,)cª9“J)‚¡™­ Á¼ÒÛñÀ+•Ü¡³\òsU»¤æ«\CU4g‚—y A*˯!qfŽtØæûZ‚^FvÛŽO%©Î\wªŠi©È7w«?–ý0D×”°Ý9ýÏõ„8pÁèôÔ¢ú ¤©3œB|™©®IM?­™ÀȲWÏúc;†7îi„;€Ø-½~«œ«¼I™^2$@5±´{(;DÚõ¬ôx7eOê"ö1ôrùí5gõt@lŒÍ°k¼x.öTv‹¿ %Þãõ«ÙÒâv«8xo¡hìR^‹¿…0†€Y^Úg™ƒoÆOWÙBÊ‘ñ³šiÊ©ÿ,Ç}­‚ÉÏÊŠ_ƒÝd$ÍÊ­£ÓAýÒë¤ñz©1zÙVK (Ž1 ö,ÉJ·&¼³zÍIÐrwÅêßicù MjšD¦„܉D(é{Åå6µW¤›#Ècæ`âA%¾zêAÍåõ<{¶áÔǃÏïé{pÄ¡Y6×`òkžVÖÎùò\ÕõÙUÖtì¡p³X'•ŠÄ HiX3ÈKtó_?zàŽÊ©|KÛžaÕ Úlê3¼áШ`ÁJ«ýˆã;¤eK{mMr·ÜhtÏÐVÑm †¹C6¯dÍ„îîÔ{_W-ãi~º(E ‚Î:'aôñÚ‰5‹ljSž‡R»½Ùtÿ5ïïXÇ›ÜËÑœ¶€äZ$U9¬Õ¤Žf5³IáPtÛ¸N$c"Ý÷Fîчðú¹ 6-jªÿëÁ÷¥„”Ex æ9ÖxmOãóÒx"æéòj’¼X‰Ôpiq’5Ñ:©¹ ë ç~ä64,wŽ%(À,k6Ú”_ Oÿvt¬—ç™ó]MZÒë`ÁKU›f¸K=êÙeÖy÷ÖîfFî¼–ò Ke­ ’¢ `ÏÝ ñɧ#;H§Ëj°Y-Á5Òì’Ö$ ª m{Ýu "´˜ÄÜ|²çƒG`åEH¿õˆ†LÜÛÄLX«ÙePþRKÌôÞí¡ºÚÏìGiKQŽò$Û•o¨1Àƒ+äiÈ×lï–¿UN…ວ·›ƒ¶±ï7å7P” Œª«xKd>5Çâ²ü½¨º\A, ˜ùò|–‰#qjX.='딤 u©$^®XT«ý˳§Š¼å@[±å»¼<hß †¾E‚ñçWevbÉ^‡‚ºþ¬o(ný§åܾÁ¯6Ñgw'ò d‚ÎÏ:ã6ÔQæ±&ž£ê¼Û(¹²ž4ÈÍöš eÆ®’X*dRÙP?ÂÖ¼'Á.høÒSQÿ€\º²LÊĘþJ‘äÆs¸gÛE^f`q]ßXêè›áÞH¬û«iÒµàà ‰Õr<3ê;—®ŠÒ±œËi£±ãÄ_›ž${¡îMDáN+_úITµkSZ|Oìи£ø!¬w[VššlÐ-Ó>¦îz'ø1AgdNåÍ"LØo}fÄs÷ñÓ€½y<Ñœ&ž)´ú¬Œ £Z£eí,„IcŒŒý¿È¬ç•©šIÓm®Sƒ÷Ãco-¿/ ‰K´\mÁ‹–-f¢Dô=”Þ>k Œ}»Wd mÃBíg#`NXhtm}gICak;‚âñ¥§|ýh1iÅ#ŒItã#_Láiº‡¤×"½`n3ø¨¼uá/Ìê.PAâÚ¢nh§³ÄJ[Ãj`Á´©n Ã"0†BW(Ø@J1š âjö›·-ä¤îÆÓž÷!lñ<)Ä5Ó»ù»išð@רAÒ¤ÖÊDïU϶vùg…ˆ8.ý¹ùzâÒÆñ¯w^ʎɰª4Êi)’°±[e9 ¼¶´¹°PqQ"®dDÐ=|8‘t6ôñYÇf`œÁ¹9Ñ2#ò ÿúÄ`\:Y‘‚×f£‡ÀfMŒ"–ùû^þäí]¼T0éÞ=åVOäÀ³àÞX TÃl< §ôoJº÷ ,RÙY‰e¦ý2÷ÅPN ÷Ó‘³üNTÐúv’b‘՗Γ…þfy»ë …!Õ¡ÉèXwQùo•%V…|ssÑaZNØ cغ¥t’4Ó|a¶ÑÆÁ^“ÃP—Áb Ð7ËÙÓã V"®ÖÖ ±ZilJT}Î;¤e}ò‹XÜó}ýûµóå…ªj¸>Ö Ÿ2h@1κá5X>›B§{{tFÇš‚³U±è¨÷Þ<¨^´°Pð’F™ëÛWZ§šøwÚ _ ãÇT_ÓÕA‚òý-ôwGû§êB îã¢C:ªTDCÑ!dVQ(`-xU¸ÄòÞ±Ÿý9÷GѤ†¦_g”oÆý§ª„{Ûª<¸äÎÔ¹½l-Ió÷×TSæa‹ šÆ§÷{„— &tÑ·ñjÙ€ø—eKb{@RZB2êÛÄÿ|VÅáAU 4ÁÕÃóþAºMr»¢‡w 5¿ A'º¶Žî¯õCÄv¬!Øh‹Ø.å@ñwF`™·ÑÛÀÄL²£±àeá`'§þ†8µ#4µ¶ßFÉ<¦›Aø¢!×”ðìÎIRçÀ+¶<•/TgL>垬òIQÙáO‘0ãe·Äµ·ä†¾«#~uÁ_Û·E¡–´åëPèƒ[ï °ds´Öƒ×Òõô‡'{ÝV ¸ãEèe ËÅ àQ.7àègFlSåý‹ÊŸò¸:éH&id˜„Aø$eîy³æ•.ƒ<}YÆzÍô Ä­TtOü³óýŽ™Z¤™Øñpc9‰Úç™v¹¶ú7'ÿÚ OX]á_m,.ážcRjÓ¨m®mf‚ßhë˜Ü†’¦Ì”~Lð òm¡¦Tlò»ãœp»CŸ„Ç"fú %šaN.šþ^_÷ÔTº°*eÀ">¹pEü>ÌÜï”·‚Ðê¿è•´»]—8ÙÚO~<¨q€, OJBvÒoÿ¦iFÙ…ÍÔÂø§Öo8’ìÔ‹ÕºêÍ*7GzõR%ÃŽ[àãiuÊ”eÆÏsâPEÒ—Éq«P¿àd:Î%w¨pvøÈè£| tMçg5ªäþ@üÜ©Iœ'ûìüس§Ù9“•ª¾ƒþÅQdL_Ò㸋úC¹h®÷-85„ÊÂü¯ZžëMEiëîÉMþ«d7- ®Í¾ž»Ý–ø¡eÁ¡"ˆ´º ”w¥êʧ½¤jY3ùµoàÅu1Óè|ÿ=IÊ¢Þuré9é6w`NÞh侯y6Ÿ=R0G‚j¹Öx"èí=ó¥òÚA%õ°/ñú6#fÕ7F^ŒT³É\ ®-ˆhV]hµgÕ-þ°,Ÿöœ>Hº·‹ýì1H´ \®ŒPÅß9÷gþ 77i_ja:€i?žÅ3÷öó8£²$¾Ülý,Û)neÛf:gÿåÖíW×f#,Ÿö)×T¿Ð8€ íÕõv/¿Ø<$•YÌÝç«8 èÌN¾Ãìùi~«—"š]‡2ë…ôè+ƒà ~èð)¹>h±sÔÝ:ñÒñ0Ї‚̺¤¤ÞÇþ€w÷\_Geûom#],¥OÇ™ mý–ÒÜ="—•‰„ê°Õ«%¬b49ÿ6IâÏFêe÷¥ð kH²Åª£n<³cÑø¾šß••‘èÀczÁÅàÕ²{¥ôEì[ìîdBI-\9ÜšýíD¸ˆ$B\†ò£&ùÎ:ÝiÍÆƒlPÜÓÄ!b–pÂU·0üxCËwáæcG)3aŸù¾„Û}UœŸEÊ­‘|÷©Gn£;Fvy ½¤ÑW¤ÿ|ø×• ½X0ç.7Ay¾Y -{*fqA.‰3‹p•bò—Ö$æ]Ìûì"GTpæÍ;QgnÐ2´´v/Y¯7©·õ5ò<§üJ~Ù'ÜÏL„OzêÊ Ç0êxÙö®Ü:v†ÞéE+í®ÚÀŽlZ=œëÖÌ×x+פãNÁê­;<AÒAVÇ kà¢óŸ2µÿÀS{>@ 4úþdmU ˜{]w Š_}/~›­¹JÒ haöLš q”wl !{Ôg<5bèÓ ¶«ÿN«ÿ¬\À·”¿Ÿ7â¬^½}ÝSîz†!?8$®¦5@Ñ*˜ñ.ØìO‰û7äHJH~ÖQí Äfåï+Á^â3„YójŒP/Ïð +t·­„Dûaƒíï—Ù5ÞFf‚zW¶I+qž‹ð`!‘›#R–~„“ OÊ>”Æ5:ñ' ö?¯;„áî­\5¦âD1O’XO¡Lî]‘ʉ¯Ç6)ž&ûVǸ[x.=•›¯µ2é:5Æ[Ü­6š$¡ªÏÂ8; °h÷×°‚H´eÈ‘]Ë–*ZæxéLoÜÀÐh¬Øêˆéób¡ÃK}í)&Dzg#V·æñ¾€_:>½8ÚX£Cú<„ÚÒÔɨ"¥ðrâ!%¾R¾tþÿHèºt؇ôËØ¤ÔòÀǘN]ª!½´?”ÞŒ$œOÝ;$€ç[ A®¶«)04 ›Ê|(>ÀÛµQlxàp8yõG'ï39BàŒa|äŠ*˜Bk[DKŸFéäì5…ï8§„ ðV³‹ ¹àw[8Îk/¸ÚÍàœ5{"ˆþ¶4òëf7&…ÖÞÂO5`NÛ~ SMÞÂMž$$äJCÂ̺|íö)§PÉUŽ0ÊÐ\¢îìô‚(GH¶Cb¯ó4³Ô/Çu…U%æw.}JÄh‹Ô„¿¹ÀÑØ%þ§ºâ")…9 Ex’-!|¦8 H+ÅË“ƒ`ëYPêKŒôxn±hgU`͸E`ÜåCž…:ŽIXºåݲI[ö1œ-¬}÷lÒ}`íd]wßÄʧfÜÌÞßΰìö{gnÜ—œÔ_4cÍÎ 4_ø^ækØDÚÛ@— ?„€tGwM.ä¾—VCž÷RîO›¿à%ºÀ_qÍÏMUnÚ¨•ìY·š1(Ȳ ±Ú 1¯ÑŒE±uä»]çÊ+à¤À“0Ûð±ZfËУéõw3ÕÓ²q/*È}q-Ã)¥ —°,{ÖU´ˆçQ–Å uŠbe˜5÷Ý¥ÆÍ°‰°tfž!ºþs†æ¾‹‰ ¡(ˆþ㛕”*ò)¦€B26*§‹ŠÜ騟JM<0åàe*D¤UyuÐY%]ˆ†FãX-Ú>²BDI&=_)ñÈŽÒÊÁ±i“»®s2¼;£Û™ÂÓŸ ü‹ø²’[ÍWwõeøÕ‚ìˆw†m{P~n]Ü_¶.¯xÅ?¤RþØ)~sÕÛîC]íuƒ#ò UFú„Ëù³Û»ÞÅðà Q¶l–ú:bj%Š7æãc欼F=õhÜ_å¢ 4â¾cGëšp0Ò¨øš„h†ÂÚ™Ã93â\‡(zÞ+>PúÝÌå¬ávõTR«kÊW%M¸h(ærBôÞU0Ih»ïNcìH“¥ãá¦Ï È A.RóÓ%—?‘Þ†|Ý*aø¦úp þz÷ ù40’›¸C†ÝÊx{´ždÃk>iÚ–`|Z ßxQ%öµl¢n‘ÖCy3²ßð‹ŒeÑ!\5ë‹(´"ÆÊžé6ÝÚ ­Uæä'ü·3až Ø ƒ_j[± /ÕÑ6÷T~âsá(¬ÁZ_:ÇȶUxrÝ\½žî€s¿°A#ŽW)ñ§~ò6O0ýè9U™!~&ƒ\¦eΜŠeÊU†ô?mžnëI0VÑ*lÛMø9w׌EDD[IÜNUŠJÍCbó. ¦Û-®(·ãö;NUÞ'u¦'“) }! ˆ(hËI™Ó‚þ ÎùŸ‡ÜpnzªvŽhFëž)A2Õw\!éLe®ewu`K£Ÿü‡YóëâÊV7™èHt®®JDÝÜõt߬õÄT)ªöX\¦oœµ¦º@ÿK}ð ’‡ …Ím:0J²R‡ÎÐU€\þc›4.ÎâžhŒ€ö!;0Ifoå`˜•³ ÎfÞíù[L9Y8e´läŽÕ’`ëšIxÜ»% £ûØ£…¨—•z¬ $8–o˜üüM™KYÖ¨Zœ»‚tûM((ÚS G—¤ÇVz¿ )Yjh¼`<òøFé·aq¿Ú<}¾Ü$¿Eµ‚3_ËøçF}å;‚½^îÎÙ­ VeŒÄ9dÍû Z¦ÓÁô¸×Évaøç„+vPR&„ySãðóÙkŸpŽyS¢~ÍLBñ˜C‘ÖY-f޲â´z[´ [¡@`=â“—'JGîÄöú{^tñÙ< ,^B™ô«Ãâ¹v|·(~˜N*ï›ÛS•«ößþÐwׄC®µáZïD3z‰`'q»ú™þža¯€pãÀ-H*)Sz5ÉfÕpŒnçC¤Þ[ì.Åyyîs•݇dJ$õsª¥tZ7¸(Õ±eÞÅŸ%Ê'Í©ÝIÊ løHE>]pÅk–fà3öwd}Ù7`ÓØ_»Þ2û0^ÎMsâM?Â$xlz4o „ bO^ÊÜ+³ÈVäÂÎ"œ®ƒM7L^3GÞYÃv:ž™OØÕ”ÝЋ>ð"[²'tçªFS³³Ö,¶Ó Ø?ëk 5pd¨T›ä“ ’üÞÿ¼>X™6S¤y— …Ã:—|ªýr/Ò•lûh¦Š¡–û@‚÷®•³ôïtXlO‚£À´_‹èŠñYc²tQA oé+?R%ù¸°ÚÚpY|®iýdµ ‘Õ¯‘Y“µÄÂÛ( ´Þ»'ÔÞV©Ïv–vcoh½FÃip5@}óÔR ‹tEÙü6ÄK·®o.Ú .¡¨b«ŒtÅ×ð§€ðñqYÖª¯‰ Ÿyz´–›K?ºE0õÖÏ'D\úJ”©ÃªÍœï úñÉì3ÞFfÎþ”cG1 ýoª+9bQcÞD6…­õ±ÎùB 5  xˆQRÐ(Wå 3ç´¶Ýnè¯çò-Ò[¥°\åqê#›®–pªÍov©Ø«ùôþ ιŒ8Ž8]¦ÊãDdî¤ã.eDNðèÚ¹ã;þÒ;fæè΄¿ÐÑþï6 .ã|ÙäåtP}ô‡a· )õx¯i/ëæ²¼M£ª%Õ^1WûÈY^èÍlX5\#•>E:^p>¿-?ìpç :>ò€Í7éF¢Ê¨Šé²Ìxà±µwR˜Ñ]ÄqjÍÞÌ‚ìeÀ2ÁðTöDÅÊÊ©µ–¨/ó,™N‹âüÞìÆÿ“Žb¦W{®]°~]©û‹<ŠÚ*¿û¿ zä2…%’…b\Ÿ]¹÷:Nö<Ñâ %íûª÷Ÿ¢"ééJQ\ÒÇ~ɧë‘Ù6$wnB¨1·ðVfÏýŠ?¶¼’ÅG¶ÄB³­;p¥@O(€Å1ë#+kÐ:±Lš'R¨ÑP&_á®K–ÐKÅ}Ü@»*[øÃõÄ eáÞ\+j:~y(±«SÜR^NT#sRP–xZ0f‘‹pûÞZ°ì·ìÍNÉû-#¤{ÙD$=VCãïòwcõQLmmTT_¼k“ûœ"·wíy‰9€õÌë×^#Ä£ÒׯA }X[e%¢i Ñ4SB_Ùð=æ.1K·ÆìÁ4>nÂÞÝŸv1ó b¹ÈÈãŒÐaI]ê0zV ŽTØ{FèÑ_¦+6‡ðTܤ=‡:Æ@ §¿ù‰¸Õï³ÿX§®Xe~B±~á6ü€œ X¼×’›n}—`OÛSŸÚVým/0 ÒW½ÞI#è¤Ô9$¡áÎsFðDÅèvmÚ^ˆ |wÅz[ò¾÷Ê·hçUÃhüƒÔÉ  sQ8¥ãàšÆ÷%2É5 Æ"¹Ïƒ•AoX$YRø¥ìg–†[)GüìÍÁ„À¼CΡ.¦Ç6^Ýn44ŠÚ7Þ¹€²A@lu>ð†Ë\eÂõv"mu’ˆµßT€ÂgüV¶FTFUʉëЄÖ{:ULõ¯¦ãVLÂ×8Äþ³¨ð$MZçÅ£äóÎ`> ÃçÚ‹Ñ.FÇ øl‚Ðmjû{`dñÀN»¶ðã•@ÍœX}ÖŽ®ÖÐÏ·Ó-þÚÖ©PP—Øx>Ö|é0‚Tª0}Lë|‘Ä6/‚ðhZóübïÈ{UHæqUŽš$Áa§uD=êoœ: uƒ¯ÿ˜Ì²;˜£¨âç49ÊLG\»kÖº‰£nx¦¬Q0ÎYk ‚?Ö&ä9sAV+P)rÄòù¹A«ÅŽ®ÂÛBÇRxØÁË„º¢XâÁØœXFÑŒGŽÝýä÷9 õ©­J!Ÿ—KŒºÀò4„NNÏ’—_»Í/Œ˜˜\ŒðBGmn ÑÂ{̈žL+[añ_Øèz®¢}1qú¿ð6!¹À«¡D'­à«®nô"Œ•îb\ž;¼|­® T²^({M‹6•~+ÄÊÇø@ìÕNZŽ5ŽcÿL  AÏ›G%~æI_|#HáOê¥\M(¦ÄêrPr]íd~ó‚݇dË‚°fÒ`îâa//–3"\_E{ʤ×>{½’8”£•åÌœ&mj檥½”`Â)„S*¡y ÿÖôää½–Î|s/êd§[•¨k§$îúG®Q“Öñdž¬ù…ÄjÑåOEí6´Ðú:ò§ÝÊx_Ž·iÓ[ –<•:_.šìƒHÄ»àñ+½á^¿é„‰8u²²aŽ¥ É(±ïa5!ô¼•tû¶sA—ZâvÝÛo5ßx§è3wH™q¸D|ÜUØiYn±KKæ:­˜d›~,Âñ¸g\Õ·þ:­²jÁ[[ fˆ$*î‚v{]/zð…†ÑÄ[å&ùäú¿õJÉd|l£*ÊØ#è²UR¬ÊJÈŽþ¼“wõN(ŸÜŒ9öéŠlúyGõ>‘2q•¨œÁ•Oƒ†ÍÍ"¨9¶eÿ:§K#] y{Ðf鼯³á%¡¤Ø>þºäÊï«âG«àVDp÷tñA†­Úý!/¸¯<ðó.¿ œ/Y{´m._æÀÌ0Ï!Ü„q̓2L×›a-Û1±ªaËä¿ß;Gà£L½4™88ýæ}LR0ÿÁØüQΤuŠvŸD!·4g ƒ íD‡ó— àùo*+Û½€ÂV¼hEﺿÔ„Rl¢A&¨U!Ô!*/PHÔóV¾Vì!ŒÛåðK¬Q”£®¶;W¾^„ˆ ¥E_cÛ®¶âAw·¬h¢A2*‘¥÷Yò ^ Ë¿Ï6H Uô[ùi×l#ÜïÜ‘·T˜"¢Äšéu¹4¸œ7]_á—öÚÍ™¢ƒFUáR8‹—f×:wÕ$k¬Ü”u Ooæu B=ÁkFŸ iˆqÀ$ëÕ˶àçvÒ/Od9&Š×šl@(ݸSMúå«ÓyŠfs©jÿšŠr‡´†!í•ûXIŠð¢&ÛfÌ¡– §Ù$œEÚp7ã"Äúr…âü´Å‹e•ʇ®òÊÓ7é›P0"²øÌgy]^°·ª ¯,8H¼þéÆ6±}Œ¿¿ß°Ò¯ÆçPož¯Içw$¦K:¬âë¹KË é4)ìÞšÚ]Ç¿½ù¤i½³Ûhör?6 ë,‚Í\î4~¦FÃéØ`Æ™}蔹>¬5Iy_AOĆ„o»—ÿ>[Jï˱ü²ªké¦ð^”>˜ð]ì¶åoë¶+÷GÆXÞÄ­ü%0¾H. ²ƒ ’W –I£Ò£h9×ßo+šÉÇùšã—Ïš33 ÑhðsöD龌v³/šŒçOsù{º•‚¶ÆK öØëjŽ[’Õ”‘Š—"ªšâSNç‡Hõy–uØ‹ºëÿ¤Ïœóð&ƒÅ,ZpÕ}ËŸlȉb"· Ìï‘ÜPYSØH›ÁmÇ3iÿ÷k“#îѯ-e7Éá2ˆ4MZ ò7åÕ¢iïÿ¹ê˜Õ^ó|+ý"B§×;¼¨yè™ík¤¡Yw6º3ïkQ_bÕÌàJ¥ÔïÊ9T1Kä7P×þXsùˆ(áú${êÑ]ÃÆü+Þ™GÚÄÁºý§½£¡äC(!$¡p?pF§MDKøÿT¡˜ñ/›Vú€–qÿÐ1lЇ\ù«/eæ¬Ì:¢«lžç VÒæÌx«7“Ë'N™³,UÎù¢+r½[êA<|·Nnîšq |âûÂ|iÈ2ʔ7Õ›ý)®ª;ž¤Ò5R¦¼Þ²À~ö&ü;aP¢§¼)2èyZ¢ìz×2Ùü…´öÍäQ+¬l17‘w ^[kÇWåˆ q×,ÃÃø_×­qˆ»Ð¸ï=ÙÙšp̰õIGŠA˜µ)„h¥È@z“kÜŸC×ðïrgs ÌGÛÊ£°ƒ‚aqŠDØ,!d÷pÇüÀìgM%eˆ edÀ? g$P¸—ÕwäçÔ’ŠV$bd'UǶÎ*>gQþ9¡ôž@ ÌÄ1挘7/Ÿ‚k&‘Bö 3õ[ãð²š)â§#³vŸýÙóØ6 o…Â;4…….V—Un»,IÆÂ•ÿ¤–¥ÜY4‘2©aÁWIVôä5=¬³,"4(¯ò4}ø˜¹UæÌó«óXÁ{ ÛÚW8Áyø×l®ÝÀ s`é]ñ£mÈo¾Ç‹6µõÄäuDÎtÒ$wRè þ­Ô`AFuA;þA®„˜ EëR¡áÐÒýÈ€mŽ1'Úœ©Ñ•‰ÆñW{)V%žÓf¼r]© ¹B~¿·L§;& Œø@âyLí mxâéE5—ÏwšÊ‹„ì )ö²ßÂ#ù ƒÚ`í§êΧT™ÿÀÄj¿]còÈ=©_7š]³uªF4MêcóMÐt€Êêa“v1ÓúmrÿÖ1J˜zùÎgÐò×zoI¸ÏTtù{û¸øü-˜0Ýã<ÈE)¢ 8°êSºm›è½` ìÓçƒ _e–[;·I‰Ã)ÃRÚÜ8=ë×Ì’£ÓK')Lø¶ÿ<1Æ ô<æ_™oM}üxо0¶½1*Fo¥kð¤`;w&µ¼±lãê=û44ÃûcHzå<ÑÒªößVÉ¿EÊ÷ü@±8BîõÊÔÑ·õ$A¡XXwŒTĉCiÙÈTA,XÐC€Î+¨n_y¼)‹vœÂ&Ž•3SïþÚàV¼¦1·Ò±F-J–]ÓÙ`);bœRàÿOœš†Õ‘\G]ê‡~Ž›ï'‚Œ´öݽͰ½?»…DãšfLJ¢é$Ö}52 ÁbÔæ®._Çñª¨ºóym'f¾¬Ú`.ã-HáÊ[+Áw˜yÇê°cšñ¿÷m”5{1ÊDc"-e…ö2ÙžcÞ%Ë¢tžqá/)K¹m¶¤oH À«Ö˜€h­88>}± ¸n˜”ù ù·üÿ%hÈ «©ëkÇ>°ÄkA´O”¾F’ÌôàúßLÌšå• ©$óŸ»]ã¾Íncð2DÊ‹Ì"Õï•”77U5—÷-©T]çh'¯æj¤-aÊíÑMì|)ŠâE…Lµ—Q“Ø›wŸbB¨3‹³ç§W„•1($ ú-DÔ ò%ÁþWw”{íñ±´Å£Úé(„Søt((ž="Qˆ"ÖŸ¯áõŒ´ìGßÅIÊnV¤`î4}Œ â;{ùè´7a¡`û3>ýRꙋGòx”•¦ýCYU 7–ДSësG€w¨pÍwúˆ#6 cE ç]TŽ˜ÊÞpéVÑh[áGôZ„É·6ÌÖ$Ù1a¯Ê$š·4†¨øß# úÓ]„[l6Œ“ö6tó†6'ÈùÉŽ5úauØxäüßP—Éd˜ùjåbG"±0o³ Pèzî: $Vر×"û7dlÆ´Næºìä›Ò#ƒ™‡ˆ!ÊËEÊr¸èö ªþmúý wf-¦ÝÎ7 J‚AýoOVëšTÌjïó2@ÏhÙw-7cq!á˰T5ŽëßïÿþÁN>ÌýY‹l¶dØïHWD׿j2B§ t3ëûhë“røhP;èn)Prw‘ ýLxʾý£ÌÖÐ(èo¶g$/7Å> ubïÖ4ŒGè¥iñ}3›13IÖÐì ‘Éí•/×M'úJŸ Öy„X¹òC$ó~ʶš£WCæ°œÈà?fß+ô­«Jtg¿ò¾=h”#­1¿ú‚ÄX^vbç€CŽë‹Ì¯å´ d®¼ií£ê=&‰!× ˜QUJZ‚t&âÑŠ‹w2înæ—ø¹Ú·AwðÛ*“ƒDƒœNÕñÛÄçš²4¹á¬É#Aò(å>öžla¸b†dŒiF2æ«Óf³}]ê¿c2IKB9Ë` Ÿ°jK(mï£Ò6$9!Ìv†yb€:á¹(Î2eZr·P,NAÚ‘ßÀ*YÈ#“u´­¾v¶Ž¿xo„Áúòæãû­ é2#NLY-K¡ ¬dª|)…Ö¥ ³Œ­]qæû&¢t¤#Û ƒ°þµÈ/±ê*êdŸ~ewO ‰Za†× iºÔ_)b0˜‚îÖ1ï½Ê ãhªžÙ…˜`dáÈä·¥ª÷©¦OW #¹P’$ALS Ë»r¹¼·•šy½Äv5ë5‡pÿ}ù6Άþ¶j~N /Ó+cô {0óä 2Ð,,“ŠÞÖ¦<–›l´üx„'dA±h‡Ír½».)«À¸øþë|HäIÿ-=O)¹¸×)Ê«¿¢š`ÕIØd¤ ¸¡·ù¢ ¼³ŠÖ ÕÈÜ!·¸ßlïƒI££øÔ¢Èȸá{Jiæ äfy˜·nì·ÕAX§Óð¥~ŽÐÎc‰öj’üd2$¶ÚVŒªSY ’MÄüÃß‚;2¥Ð2;R ž©/úw)üñ=9u:ò$Ã"ÌùCÚuñÁŒ~Í2Ý·“zcúž{ÈS Ο½¾oÊý (+qR¿áŸD-K±› Œ—†ÈùI_(Ü*؇-jÔ/>ùÀ9üE\áMAlòMj˜3¡œnL*Sú䲘#`k‘i2ý߃îð Xˆ–‘ôµÛ÷]žÄÔùeáÑìuGǰéS5'¢Œ2Á£;û!o—=ß±½ÿŒŒéˆKCíóZêíVàƒ¼?ö®IFg6}¢z|lvK4{–Q<¶$›[ŽÍ™MsO1шr[âÜÝG#@8Új¼GÞ’á§ÝBßé™^ºgf2ÙSÅDZ·)š ¿ˆ Ì0Ú9K…×áu˜–=æÆ\·Lø'oÖàû»¾[žÖ‹—}uPâñÈÆïeU¦MQa)Ùž±5rK{u>Vï7{¨Øܳœš.óÈjCšx9R2ÓO!ñì§52°éQÓ¶ófýŒ±AøÿAv e?Wôê•ú¨Éåø¡¤‹H–‚ ¸ƒÆþ«ê¡{Íö(\ËSõŽ<ï–ô–ß>Bê“WÍ¢XäÂ’™B|Þ-ãµ.®TícàÎK_ufì”\¥Í1i‘5+±C:OùÇ'G±‡5„hïZž ]ü\D§úèÐAq¬_SÞ¢k`:8¯®.ÊþõÐr7Hg…ÿ€è,…d½Ëú:OEÉÑb4p’¢¦®f¶F«ÄâÙØ•ÑΛ «ÞøkpS³‹µ×´8«¦éR‹€Ö¨ÁT:p§1\ìÙCé…rI_£¤uQ1 ›VA¶Šc‚d§ëÄeB®œ˜J·]C0H˜"xPÃ{ \UvµÚõðKç OœuGÎÐÕæš0/@VX _Hïsp‘xOî©`K÷pè7»B²”vh”[ÄŸªv(GhpÈÁéÄ”`™ ø?6«• ;ðL–xd”‚ºFPdæ—n©z-[Þæôƒó[ý认ïux¸$Í ï[ç§(+Óõ÷wÁÁâäïö„DÀúõyþK«ö‰%ŠL³E𦺴ålä0OÒv·¡ „¦‘™ª˜”£'Y¯„®®uK…ýЉŒÑút×ôI}èw( €óÕâ¾júÏtB(ÄL‹èw…z?ØòûL¯*aù)ÞJ ãÅFº£¶å6¯×îËèÜÉé·¹ {¬•bØÅlk »U¡<™ÏÈ¢’ý°rvDoI’¿À´ªùòâð­[ús6Ëð‘ÓdfÁªã ?š·X-Ú¬Û®Úfçhû Á¯2Èaª4¤P‚[4ù´ÑtÈîªÞ’uÀåÀŒHçð·¶/—¿Lt"ß?}l7}sûê„vµCPôÛp”^’uù‘.ê¶` HSå @[zQP-÷ŽG/Ô¥®Òч”Åí`;;/i5ÝR²šé®"Û(¢¥¶}n/Ýy-+~\«a4 šJó&Kçµ/8Êœ¦w Þ}Vì¿ø-1Þ[+ëöô{BàË4ç,gÞskö°dªGL ã7Z#8”ªÄBÌÍo~j”¶p‹EU’/x7cMß3SMC$¨³ü¡*·q)â¼fÞÌJïd)Xlc ‘p7  óߎFо½AšG§7ÐÇaç©Z%ö?žšÚ#¯ø¿ã‘<áSlàŪ$¸ ÓæåÆh4§–íQÒ^÷r”“kqo‡^0¯ç7SÁQ‰Š«y£ŠcÇŽƒûg” ‰yùIͦD‡‡T6ùNã¥?÷°¨N²‹Æ ½ •­j)ĉB0{ÏùÏ:ªÀrhcCÙ7êÕ)soueû'»ÞSØö‡‹Oé ˜I¹T/F&\ÊHd¼ò/Õu'·Á;ìá‹ B¹ÙÓžUjúQ]’j¯y#tåóŒâw+wîÓ8i’u¹¨=¢Ã¦¹ÐίvaËÅ´}ê|nlW³ïĺ` _!^$2ú´P•˜Å$Ηž­ê!Û"*üÐ:Ž'ófÀ¿ãe>óù¤B±Ä‘½`.qõÅÂ:$ŠØr½œx#•üx¦ß\˜ÍH»üZ24¾¼j«vüü÷ÂÈëßÏdê"L‡@ÖxýÏÎ4ugy/±/7i~x£]7%(³çרQ`P$* Ð»Äþ\^;¢w¢îyÇ(å‘ ÞÜ’„/\nàªj‰Õ‡Ú—1*…A9²Ìîá%`Ð™Ú ÓçcJýð0õTi’KÌD‰Uz!‘*–U­œüc›)è¥×Ò’œëù“Sgéà—®¥0£›êÛÛ(„TÃ: Þc¢ï“°ÈÍ*íM.ä–'YHÛxtv_±üµÜ¼ NY &h.± ÷‘Ĥ $[\βX™cõ b[Ëzˆ I´×ï“ݨÞnÎz"ð¥¶:5Mëû¡)§ 2Éóx«M¹O¸\𠲜U2„ ½¹—+ µ%ë€=à-ÂÀ¡º„ùF‘ ¥Oœ´!Y·?—ÍÓL¯NßÊRyðv刼WŠ”c~ý¶½ÖÖûØ ÐÂåed5Šñ’kõÅ=EÀ?y)¡·½½Ûc@ŽÐÅOº"ö! aG·Z#¾—d<^ŸhöÐÆšLUƒ°)M&5OC–e²KWW4¾zÅ(¡Õñ4¾C¦P¤ÀÖûëìÆÝËã…W¦Çòµ…¬ô䚦`›Y—ÃM‹Ðû% M€¥¿‚ög D„‘.Ðn!ªð¥aˆ8nðV(?ñ”„³Ê8mêàUq<æ´†‰”ÇW;œë,V*¬+Ô(%%#çÇdí£:K!8¯Sˆ)±$\Û˜‚.W—Õê¼!-iêϱCÅnB8I Xx‚ù½Lï}CÌÓì0#îަ÷^zh'ö*ü´= .ƒÀuQfc[ëÏŠìõ°£Mnš9•¼³bNÐõ#¥g°Óá‹RgXþ<ݾP–J*i÷W^ú¯iîÓ2ѨTGe\–·ºós…ZÊPUUB4dZá2+ãŒ# ¢i3ó ×i;y¦Ud°à]ÝèZãèØX’ ¬R}â×v&V÷Dr¼µ ®2sëÆ©…£ûkÆ÷xÇÑÆˆÎøëX)o}òZ8œ˜jfŸÝÓ?ÏÓxÍöZó}œÊ(ß63b¬Þe~ßÇm¾6 o|âçj“⡊—cN¤BË<ÿ« t+ß ¤z¡0.‘«3À4Æhõ!)b̘”Xì.V¦ž³æ"‡…cئuÕQ,j¬HÄ bé/D^HkAصÄ,Ã\ìým¡">.[ÿÚóáô)/‡‰e{âÛùð¸›7@ Ò¸¼IÓn„oIŠþHh/N²  ô…H¦FÛôA™µÎT3Îì…Uüºk5zzDé"á]Ž`… É£z¬N« e £@Éš?!a¶Ñ›ÂšNµÒŸz}õèÀãXý°—£x¿Þá·‚ù"ò¥èXó†5ðy¸Úvß>¯Åç{e»ýòia“1¤H$‚~ÅJ‰~ô¼òÉXùg³F)¨V@,žŸ€&¾Ù Š|þ3ÔaNÈ£S^ #…CjBšñÊ“B±ŠÔzûè!Ñ©!´ƒ;S7b)šËÄó³Ë¹åÃD²9ª±'Sƒ·8‹‰ §$À x‚ú°C¹dðIÑ{ïÔw=¥¥®ZŽ#Ù™]3ƒÃ¯>7‚;à\ί þí=€%pUóCj6މ£óíö4üHÆjÛ¦©£Z39å,µy£wäõBu-~‘_kk´cJ?n_úµÍë¸ ­ ËœqÒÅ {0pÎu4_ˆaÄÿ 5n‹rÝ•,9¨’ØÓñ‡³¿ûsŽ ±ÜÍ´ÂW–äB×ÝÿÔ¼¡¹Øî¶H«äÇq·öô†ô2‰×°‚”¥'ŽÎâòÕF1Æó]).Pµ‘½jI­Ò]ÊO,YTPj3—/Ð\¶tÍ*æzo¯3 K=z[æèŽÇ2ÿ𬷻xá&dŠ^ŒÐ¿ ÑÌK ÇÕµ÷Œ/ªÖ—¦H6Ü ý!NXäºJÄÅen‡m‰0µ ÑÀ´6··:š×ø­àdnÔdž+<èEt%6FhÓ¾ÕœóÓ¯“î×°U3BX$ Ê¡Mª±”þ\x$•¯Ë½!L‹3Â-ÌWÓ-}VÊ:–4bŸ>s«X&âC]Åžì+i½eÍ7ìD|ãˆ^8V!Ì:¶ ài•b|1T¶éh¿vL‰~Ü'ÒädS‡w)F©¦¼A˜’„ðl¤Ý¾®nµâ€l«“i^£r_ÿCwË€¿l†a¼hÆf«Å¨+ÑëH›L5íGJs”ꢑ=¸£/ë:Úx(.’ ï{Çè:añÇ£7ŽÃjx{zs £ ƒ¬à…z¶H'sU¯¦ŸÛÌ•e8#DòÅ·ÃŽì#Èg!ã9óFGk`7ÿ dÂ"†ç’ZöØyÓ‹Œ7FfÇÛ‹Âá\7Ï™¶Õ¬ùD3ŒeàÕü´Ÿ rha 6â²Rù{FR¹±E”ÍcDHeUO¾i¯`ÛF¾‰‰ZðyHŠU±LtÃy§¿¸K Üž6!þ[ÃÔq{.N+¬Á¥#5„ë;´ýå dèÃ_ý©ïâ/ƒ3šŒ¾Ï«Eùúq¥oŽMÌ¡€S,pî`¹k„~"wùûø/¯Ÿ(擄xªx0;ÝZ¸µ†…n¥6€V˜¢þ¦´”ß`!²ˆùIã\ÔÌO³Ä-³ ÈÛù*If!Ø"–Lò¢ŠjKÙóø×$ÏÆù"ÁUšCôn‰ÙF¢Hï1ò}ÜU ðfªœJ>àÐPd`aenx0ÕùåCr~•\±ùËÏFCƒWD,óùc[Ыz”µ aV›’À/ }åvé…’ŸWí<œ×´…Å8Dd×UóN|‡Ø©'OB\ÇÞˇxîÛ&òh7§ŸÐF/²Û…{áFö(_ÌÑuþ £˜ž—f}/há/c=nò¦cCÒõí÷¼Ð4ß;§—Ñ%îƒc{mÝ*â.å‰nDµ£“X¡$ý̶l„³ o®]“’¬Ç*ÕãÆé©jbÕ6`  ¤¢»)G5L¡Êü ý~æs˜C¸Ý2oq 6¼ßD™hO:Äãÿ§e–Û„]§í¹»‰ûè”øÊ/P¬Å0Œ±•>´¤¢bpè8Ö:™—M{Ñ4E}:}à÷JêÕŽp¬²`¸¥;Üë‰ à¸yµ¼V…%ÕÁÕˆ Úð³Ü¤ŒVWÁÀÜ¡jüý_8wÍ7­GxÜõæQ«¦¥ié|׈ŸÊ‹…;cf~>òhSve}4u<Äv‚ài+dÈŸ¦|.-é†u¯è=wŸ 8­¤æbÓ€l/ÉåÍpÒ5ô9‚KFæc. üf'B¥N˜ÂúAr“_ƒ I‡«î0yýÔvŒv°ÿ\г²i¨J}k4Up¨iuݯ—ËSCvÅ6AÚ‘5WC e“ßè†Ån~{É{µGéuÇ®›–ªTÔ}¾/p­Vú La@WÂÄHV›/yME©k÷ò0¯ ôÛ{B!М¶¤X—:ò¦Äwõ,LÎ&×â ñ•¸è€Uý‚)0¶³õš{/MtÞÄèÎA‡š.‰Ÿ"5– Û]É2K*\—€z_i0 ¬È²£æZÓ.öδY¥ä¹†O ,¦rþºÅ7èÜ·?§žË„ЯÿÖÏx€qw|s¦Ih~ ämø Û)Îf²7Ððù§N”ÑíU-˜Âù®Re¶>¾M; ú½Õ©¢Jq$}‡öqÝ:FgœÅ¤GÛY¿«·Ýrx`;­‰™5䊖Aº2Ý˸(àæ¹¬^ Hv XØó€JñºnoLæú'Ó±u:~d  ‡g4„­îä4uÜíïïvq"´ô'YP…çeO  $Àú¸½ù÷߃J”íš› $¯QžÎ'i¡÷d^ºaØkÔ€c±š,aõ^bl }ÄJ ”<ÎÊ æHÎŽÖ@Ìçdy Gæ0ye[¤´Z ɪ;øLÎ²Ç ²¼p‰?f;Š4¥×ølÇšß Oèš•<;Cû 7€*()žÎ­)pß4;å¾]Ý#z» ‘Ì!xOq´4{”÷"ÒEœaêp[-Z—ÄwØJ£–íÔŒ, —Kuâ'‹Øevçxç„òîTº6¥yüBo†ÿu•ëý6_Ýð? flËÚ…e޲Öy:|‰Š\¤©M³†¸´(ì­Y´¶újgè¼&¸6ÓÀÊŒyJ#ê,­%6Ôö«ëVw,~8é}|lu.ÊEW6¹á!HŒ¥þ\8$K‚9}-ÆíT¾/»ÐögÇ…?IÈv,ª${˜å%d(¦‡@m°B^†£¦T|›¼·¹µ3MØÄáá/¦"Ó®`ó5–‹.[• N<HY—ò³ž(j~Ž0È^xrC´ÐÕLÂ-zÀœ×Eóä4o*ß K8Úñ™1E~¶C„X{£¾çÅ]âÖ#ŠE… î–r]œ§Ê¥5?®ÀÑ|DDp)äx,esÒ¡Fdù¡!s· ”©âÀ×ÑÒ:Mõaû“+}0‘RºÅ ¸}“&õß Q³±GkNÞþˆ ¢àËÁߣ¸±­ÍóU$b~ 1«uÇÓN×Ìz­Ö  Æ?1‰0(‰×[½¸L*Dáb(ëƒGÁ©×ׂàÅ—a²úbF¬pì8ïãòQdp“Oƒ˜ì±9ùªt£@^ÚIî2?­Ñ>ªlE¥’G!~ZºøE!ź¬0îÏlЂ] Äñ€ñ„Xo…)låB*¦Ëjß»*$ÑlͧÀáüÏ5I3yv}jŒ“Ü!x%l7ºûO¸.f+ÄëT‘Fñ{Ôó=•(ë ¤Ö’G‰ãÇÆ³ið‘JŒ© Ol€mVe„} s£„XëÄŠÆHä+0âoQ·°ð•˜Û³!rR÷V—ÿS%Ýõ ·mëáP…X¹·Ä«“¼«,»A>Ö¿Vý ò ¢Qu´ÑÕàíÏNdZǽ¦e¯ÐÂöÙZkãÝ3RŸü©ûØQîjØÔ­‡Ž[ËÑÓon4ÇzG„Ç¢2ã†aÃ"—m>Ò,#ü…™tÕP[yD&Ýâ‘|¼QФÁ_u]4¥q"yté¬àXœ|Ê?m“Ø$fm®”uØÚÞ9rNªíµYÚ~PC|ÐÿùjJ0ªÕ¾Ì¶‘ªãòܼ±Å\‰ N³ ¾ykåûD1zýÐ÷á(]*uq·~ö†uøeífé’ñ  þä…C_䩚f*¥zôzÜCî39x;~*r&§˜¯¹Ù¾íBÀ¤ ¿È;ïXðH„½d7þ“=k§²òüVʼ3î+M\MƒêihÁ öÖ º¶Å¯eÃ#¡'Jë™ãß³ªÿ„@FºU¯×R Ø:í,ûŸŒ¶åˆ©ùLöë|k_TÊZUŒzqÚõO{þ@gçÕ{ˆå¡x78ãDÄùáðõ½øµÔû»E¼zƪ†Ž8åÛ,9ÿsÇìžiðZœ; ‹ÖRr&å¤Op¦;Åÿ£2›¢>w¶ŸŸ¯žüûŽ€t‚)Ü:“ßvó%8¡}|*ÛQÍ-¡}û½Þçêp-ÈÇTÀ j¢2Ñæ¡{„Ý&Vê¡Þ&{ËÊšÏ׃€U‚mi¨OI?Hù¼¥Œ JkýbÒpó´DÅü¼üЍJK JÕÈhÃXÕ¤‹6i¸çXp…v0öZß%moAÆ’Ò0ž’B @üÇ;Ìâ‹ÈÒ<ûpùóa„ªšsoòŒnˆ<(K‰>¤?Éý•†¥Çèiü}Q°Ší†kCû¤!më§oH Tç9!J_ܼ|F>ë•O**ß¡ãVkæþuÃÉUç{›de.5íeÚ_VW©6iw‘ ú)¢žqÒšøÇ‡AhGÊÑÍ"Ýa¡Øºî¾éÚÉ2 ç8ÇŸÉËW)šŸÓè[4ø+Œ¿Vÿ­n£¹¼=zk:FÙòaYŠTBN#XRÄ':0ù.’¥ò2‹¼å)ÒÚcia‚÷0w¤’ƒ[Dןh®\,¸à‡±ØG.——/ÓŽŠèGÖéª"CñAoï@jWëÛÖ=ÒIâ¢ï÷?d–çk£¹(ÓyI¿¬Ó¼K@J+{ËmèGûgAN¸«…¥\/;0ê›#,³“ˆgHp©,' ]è‚çfP…Ì*UnýжvÏñ€`©ä¤$üþ  BÈî4¤N¶£3³ø†ñf°R>ˆ‘îÄjV,8á à>ª£™"`Ò–ŸjàMª?úaÒ,ÐW¡|ß ­ñÐðÇ%¡ŒÍã%ó¿úö:SNš xÿûûý®;Çz³_øY¨§ œ›I`ö@“ó(›]HÜG’_°>Åfñš@®.çzS}¨ïÖ«9Øœ$ê±>µJ\埦ÔgͰþ#OºàO„p&IE_¤ËO*6 eLg^ÜÝèIÝË ëŸ‰)Iá߈ͻœÎÇ $Nw®9‚G§)ùx,õSv¨I볓5uÔdl‘Åîùh‰‡±í“Ï8Ç'š{}4²XR«›­œZ¢1 K’´Ós®^æø&¯M ÛKñšÕ›˜$qÔ[F¬Ò˜# ,~j,‚2ÑMàò=ó‹P„=Iˆ6œÜ÷/­- K áM3=C§ ÔSê{nœ„Z<¡Í]ñÐbXt ï9o+…ãr nÇñt¥Åk‡ LÛvìR,”+« вšñ»\Ѐ¢3ª|Â\gq½o³±ÞšJ'ø·YvÊÝ_ý›Ý×áÄHI¤?çÿ×cÇÿÍæ—y—Ñd-Q¢ì3é’ICéñ¾å£{ƽéÒÑ0‡¡Ïi²VίÁJ âQ@ÉUÒF¥‚ǯ—°8¯º‘pu*›œ>™%e~€iîæ_q©¬EÞ¶I(Œ0†ý×Ôa² 'L\Œq0t`û­{JBÖoI¥àdVñF$K“-Ðþ‰†Æ×Œä¤×C ½º`„©É ço§ÕšÔq‘·½#Ës€ /gRgl=WÞܯ>ð¦AXQEOÖ¼)¶I `Â? j>›㑼#MSs®PÔ_7,G¢ûÎH™5w2@®ÑLdŒï`ªÿ–ÿ_2\ƒ°”6«<òmƒˆ“£õˆ ÇâóF#Φ}IpW×'j†«ÔÛú6?ð?8¹3Xm©ËÀã¯$}] ÙÜø)ëЈº‰ŒûTÃF‘*ÂÀ¼Ä©9à… "zÃþ=5Â[EßèK“V—é7x¢HáÉUíxÙœ˜gÂ3uÙ7ÛkÙ)•¦ oR×µåí¡þp˜6Ï6òÒÒx¹³Œ‘15iå°Ó#)Œ<ß?";P!4x÷º´@Î@óÖÉuI=¨¨l)ЗÆ#™BòÊZwÍþ,7hbCf-l‘˜Bd ,Ælµê&i読n ©ËNÀ ~MßMÄ*€‰pBìµ€NZ/£µBBÔ÷V‚ xdi²Þn6nÛÑ´“µ1²¸ÿôÎÚíJêêâ?8Í‚2ð]›P&B.s|u Êà¥?W?#§Ê¦Å›ò¹‚­a6L€´FÓ‡Š_\£wŠ¡&k0 ;"×/n2Ë6ÕLôÏÔc.“çr¹ÖÉG†!^wLñÁ»ÜpÈ;°U{N\nœ*‚Èöµ{çE¸i%·g<K$W7=$œµÙi?®ì®Š5ÂŽ|‰:Êù† î 6UØ™›Àþ1MSM/"ƒ¼8‚žJ÷:!.NAm›þáK»©n8Ób¢Vvx±ËAž]bä§ ä”ª…“”ä\_$\Ñ8ÁÏ}ºî}K¢ü쿉cÆH4…@ÃícT}T$0¡NexÜÔRKÊíÂPäq(|œ·×Q4õøÁ#©õEï+ä,Ÿx¶¦«貌HŽ<ÚÿPÚã!^¸ÚE´ÙÒƒs÷3úد’ÓÁÛŒ ÷<ðZ ;õØÕPãÿÖ~™aæù7Õð cÌÄÏ~Q-î©9ЖeÀJ‡Xx? !(5Þë4ÿœ!z„t×uöôÀ|“w²½H0J¢Œ½·;Æ^¼sÙ,2Zð³ÔļR¾J÷ý‡úœiÆ·McÄaüÿó–BR< yYc×f´Ò“6ãÆ×ºHê_ì)\îé|ƒ™Ç0^ Œ‡<>Gèë[¤ªÉãØ†ló:³ÕrôÛK<”¦Lµ‘:5q¦ ä¾§.8­×xœ}HÀn°ƒQoúH­P¶³XY=ÖÜèù¢¦-ÀÀ¾EØÈˆÍFópLÞ‚oÉaq–$–ÿfDå¦N¶õ}4Õ•OªNŒ)àE>d’ihømFFíœ0Í_e°P Až‡T8ÅÓ¼ÙŽVÛ¶4ïÜ}ÂÔe™<"lOv’®Ó.*§ß„`XñÐ^¨«§fîúïý?èr*Òs‰½i…¾w‚®uSí,X_L/áì·ý¿K6\iÛÏv>d™5ayÞ"nËç—ãýù~¿¼Ç­Õ™ÒìEfê|ÀŒ3À2¿ã€u,Jû䆳Ókž•íÄiæ”üÜÿ– e³ûUvyÍY›;æ±Æéz‰ñ’FD;#I sõÉÃÔ:x¨ºÿIœöäó¥"&Ò>¿ó"嫪pÙéT³.¡¦¿08¾mêaWrßfÒ²•b,Ó y@°ÿ½cp™ïÔ‚3CûSç{O¯)Bµÿ8OR<+éV7AqeH…k呬§¦¤‚{ ¿ðÑg¨“‰¶V3ŒO²²ïå¶ Íq–ž#)~>Áõó_ìK8ˆ0ÎqÌo%Êfý áS)*…øP ÓlŽÿ Tˆ VYDF(÷Ya+;æ“’~½âZ¤mdwê5rÇn…\Wàžb}”L#€šÈÔb¢‚” §kPFÐÙdÖŠwtqCŽkþ “¤Š£ªß6hÞùm2¡™µaCý4{»¥Ûu«g;Á„ÜQk ö'r}‚ó1m!uÒ;@瀴GŽ_+ùmÃÈÌîü;û4~šo¦Å®5¼RïÍøà`'K"“‡þ;ÔÍ>y˜—5¼`® ЦðÑ's) ëE]2!pŠëñÐÝ¥I/`s¥Ó§"¹õbGÕ4y(ýEhpçbÉ¥.vÎ1þ‰zf‡f«ÝŽs¢ÅF×ÿ©ÔdÉ(À)^6ÌãKñL!µEl€Lñæ%£¼ß²j!(ÍÁXG8Q0‹qÛÙ]„ßÏÕ/ß6b¡iŒÆõ8mÌ|a/xðÀóÀ|z’–BÃ|-Sñ!P ˆã`Q=cC: ×Nç|Šæ[d}Å œ4B×Ë êŽ$„\\ ’“Ëù; Êå|øÐÀÔBvv"à³ÉõP²þ–·"fÄÆ4û4ÖŒ¯®J½“ׇ~„X½°{tŒ)¸ô¡70HÿðÏž€ˆ¨t1ïó ‡Ÿð€s…aÈo ºŒ¥ïdÇ‚‡`ªq„b]¤pžt$?éÍ_ÀVF«„mnÜñp }(á7™Rž«V^WØòä¤åÁ9¬¸Þ\iÖy7¢ ¾:r±£Æ\“)ÔôrÛ×ÝœÏ pϦ| ’1³æD¡’BµÞ~kd5nõ‹lAÆKQkrŽSìCA¬ „Ÿ)Üž9ŠðA•tQ¤ F (adTb:¡† £ƒC®fÖößï~œ4þØq]Ga®é¬À÷»×î4Ÿ“£·L_£Æ£m¹´§DÛ¾äj.QÇ’6YÝ^^n pÇú]®Âªó¬©¶·F¡ív©1i£ŒÎ¯ròð@á^œxmèç9 \0c)ŠN]ÙtÐ}@n™¸h¶ö«Y|>qã3®YºuÄž\UÄPI’ø°+ño'í) d’fæ.‚ÊÈn˜P }Ý›š´±ÏJ  hz <±n®…¥:†ŸÚ™ m…×ߥ˜àוDÕ~^›<£\—˜>%­Mü×aßMƒTd»°,#sZö]µr gP_õvÔÀÙçK{T´£CÿTŒ_:GOÃF«RÏ!.÷§b'KÐ1DB›ÍêÈKî‹!ÙfÔo'Mz¼hkÜuþh Ï6ꞌ6˜{~µI‹KòR ¶³‰äAÖ_{°.ÍM¤~nû@Ókç©ex¬Á›û­Y×ÃxÝ6ò³íëXÇ ƒ“‰ŽZ—fw^ú.ÔßÔ·ê[è1J‹­HI/c3V¥pG^ ?ÎyC3ò?ا¼¥ öCaV™/©1QŒÞŒ•Fé¬ÞÇÀoÞj„U›v6Ô*QÞ1*ÀLÜ%ØžÔÓà»#qe×>?,íAXç83 ÙHÍ”q$Jõ¥ìÿ&¢™Ûø wfy{¹—b»ºÜîŽWHÒ5ö~¿›è|ß¶`[ç‹ ®!wNï;ÄáÒLÖ\gI×®*6¬’òQtëé%Œë 8U‡É i‰ Np>d³ÇÖ•w¤áÛj½b–MV+íþ(ð ©¶ÝÌT.øÿÃc„ÖéÅ…POsêD›9uÃXtÊÙ!f±ß šZÌ6æ2ßè¨ÃßÏŽ£]¶ª ŸÝ)HAB/JjDùäé°¾L‡ºLh-§©™æ#Ñ‘þ âã O<ª†ïf1Erlê^Á  ƒÿ 0¸Hgr„Q)ù¸œž…÷‡€ë&÷ÊJ°5èWC´‹£¨ÞÐ#Ý"ëZuVÄ+Yb1 àN^lÛ¬yymœáAÈe@Ê"3£E™Î&Òrç"õP5eÖo~jÍh„Ù„'ÄCËIXØ ‚M>ë×¾èù>Š|œ4smbÇÞᑤ™2†DEN”U–‰pQ€€§9Æ©YÒŽíov¸ÓRð5ƒÕÃH/.Ÿr­òQËa šBž0ãæ&xÓ%ûu~Ùk0C ¸°1,ªn êçÌȲ&äiÃ:ƒÙ•TL•x؇–Ô ‘ÄîH‘á$(Ó‹•ö†©ØÚ‰|Äxí³ÍîáoM¿l´lÂÀŸnëÝ–z®7¸rnVsw Ëñ}²S-^xóT‘7–ÜCÇ2ðƒeÁóôªˆ%9PƼgÛÀdo|‰Ô=< N{ ƒ’É“ž¿Õ›`¢ë𢔯¿ŸYá Ùjvà¯üZ±è ­”%=Ä~áº|{@‘nGMÃÇ´9 žSÿ ´ÏJì¸øÙö3Æ †CÚjâÄsv„ã;ßåëÍ8ÈØhÉF»ãé;%UA™Š`²EhÞ‚Ê:¡ÄoWDý…ê\IûÁ“8Ð"®†§*‹¹„_”¹çn¡½2bµq½,(”û)WïFŰ”5ÌîØ×G?ïBi·TOÁ§íˆ98µy½’º‚ 7â£+4ú]‹‘×SÃ`@% ãí»èÎw:2`Òà²óu_wgõâßà vkõ‰YpFhÚÑœ¢ƒ¸ e` æ‘Põ7ç¨NÒtõ¹‹šh]„sÌv]i¿ÅP‹ á¼GCÌÍ ²¼Ž ê–ÿb¯'^TvQÅöÛí·!–òíᮞ#þôçö—Á¨Œ'Ÿq4à б(ee"ïàOš½gD`B+hQ*õÆüñìÛÅ ¾íôÃ&½'½”´îô ¬Loh5>,^/ }ö²Qç“V“Á²Ú¡¯Ñc`´¿Å%ÔRÖÊ«ü @J‘;?®‚ çâ§TI½QAÈ&”r-IK‡è5=Mè¿§·¦Sž‹ØØi4Öƒ#ÃöTÞéþêž(ÈÅ' |æ~šè‘ˆ•ØA!ý]:c×ô AJÆÁrøÖµ¹YÍ™2ævôê:·ã!ö”z]6\ÚÙ Ãú‚ÜšVy¥Ž|V¢ñoÉ–Öu`‹ÆÌð• ¦óGàÔ×ÊAÃN¦%fqÁ¼G·o… ! þS”Pfëè°N¶‘ÊÝUBÓþr4™hLä—þø©Ø·©d°Â4)8$ /ØwÖ ä.uJ\ÉpØß¸”Š„U‡£ÓüiÀˆ¶‹×ê¦[ð^ŠÎôŽíù¡‚bH‚·ý*³». M‘¨3i±{’I T4·Š‚%uk^ Y4eëÃ8ôz¶;‰úV⦆9W•ööË…ÈüŠŠöci$~4Ê0Y¾jxRæHüAÜdŒÞìg1;+·…Ï58Äû5öF@ùéÄá½*~ò:¦ÎßtKð°œö/M2àŒ¯L oèLâJÉLƒŒÀ~æs5B „oE¸ sýñ“s#GzŽ«½õi…ôUÇqmfL$¬oÎù](‚ŒÖ¨ïR€˜ûS5îùSªïUs&2ƒ3ľòï ÐˬP©ÃÄF¡/Æ)qôÏxý¸w…»RRæ àJµ&®¶Ù"ÁJ—Fi펤i8Ud”Áç¸JÒI$°Ãø”—…ÚJr¤Ýü˜ý)É—d¦j/ðµñx3?~ØòªñµïŒ§|Óµà|ÒQøDî¸p|H´áØë?È#cQ}#- “«•âÙYÔvO©ÇW‡TÜT­N‚˜?pêíd»‡#CLOE¾œ£2¶ôbýÜo\åéTÇÏ}.Œ±úõóˆ(:qßê3Tö^Šqàð͵۔*ѱbv)'ÙðÉy¶w;\§c)ÿ”KÚ¤(ûòpÇp×v!‡®–qÂp%ÊŽFMäÄÙDœº1—”b*úe§K€¶šo6¦c4ôÝ"R«Æ¯WÚÜT•–²±— ÏV½(Þ, I#~ŽDRIžv5‚â+ÁòF^ágšTsk/‘CµNàºu i¶¹…zdÿðAv¢Ö¬ÎôÏ×G«y·š^V¯»ÖòðßàlN±v«Zý÷6ú.ØèdùöÄÑÄÅjCŸÖ kàóÚÍ",z8ø`&`LSdŶÐåÈܵޛe#g®q[È·Q™jnwáZl)÷þ|`d6ÿÂ|Zâ’Y»]DgÝ'Ìe&±ÉÏR.úC³áÌö¸<çZß@•ÏÈ M&k$×µ ~Ò"Áƒœu¡*+ßBÙ˳à¦îS(qä_*¥ôGøÔ ô¦'×ÁÆJnAo°¦êeÓaqJÖB¨õIqã †ë×çã\áÐ~³dÝßõ~DÁ€=³Ä“ N£¤.ež‹ÕG¥ŠÀþжÙ"ðÍã°í±3ˆòç±ÃñØ~tç‰ÿ¥˜Þ­Õ>jR>ˆbäaÜ| )c,¾,þ(̹–æÔÞ¿oqHðÌeÚ.K’ÀdÀG©o,~a½‘`›×Am”Ñ;ëb…Æ@([‹õåãqƒTŒyÉÒ?|–# ‡›æó-$wB¬µ}ŠõOa}@ÝÇC—¹ø½Žd ·’·Æ£&à—&§‰‡=–¡ _"¼FÂ{ø"ÐïÄß›³ª\&‚‘ kxÀiLEI?G䆼XÌõÎ4zÞæSÙû/Íîer9ÿü#ZÕÿù~€VíX4u¡r‹÷ùC´úþP“aCý›¥ÒÂ…aãÃK“’ŽZî;q `[uj´=øå²‚èÑsJ‡ŒÍ´ÍðÄ}Â%˜†N;ö¿£(|žËb~”×™íÙ=ZÏc 0G+^TâN¦ÕæÔ£H\*Â’&õ޳ƒ”KE1d̨O'€#Ÿm­vŸãѪÚ2ŸÀTÀ31’ý7±ÍwÇð9Z`R )õËØNìS7ík†åœìÓ”ö•ÿÝGêÿgµ÷Ó<Ðtb$¿ò‹kPIdꕸn¬`2‡÷á¨^c‹5|ÆãY?seO´uÛ»í!VkñGDv ãyÏCâx*³ œäL¼ÍA§céR’Âäõé-Ø"k†o‘ ”>ã­wisÌ ó÷öY&önã%ÁÜÕj¯¤ÙÐ5˜AºåD#¬D…8ê>ð~íæ›é/:°ZtÛÒtb|žâ22tS­+I‹Ø'Ô·ìi]¡ëâvjå5U”/€HûàYý÷>€P,u“a^„VZºr4ÇŸL` Œç)Z1;÷ØàšKcoÚXùÛjÀsýO{8Q’ÚQ\BªQÏR}äÍ1ÐUq±—è¾Tl‡pfž³(䡜3»ú‚5ȰaHHðf|;¬Œ‘V÷v~,¿ˆ¯¼º×‘‚úμ»ðµiû‹¦çÕˆÍJŠ0ê„eì¢åîW>¤+SýkOýÛéŸý&×DÍ$›‰Øt€ý4òøÈð1ŒZž—Ê0ð£AuÓÄnaÛšÃËR‡r2É ±Ž§ê`\;NÑ¿ØþΙ{Á‘CÅ(Äš0)l÷¶g¤#OÓIšøºxóIs\7°’ã/åñ†Ö ¶Ãé©hXì=ŸçgTÄÐ]‘Å$ï¼¾)&˜ñ ½:’f‘”Ä=aÿÇëì'@óþùŒÉ“~Z­¥á@ÀJ8[I°ûªWxßßc×4j´ óâù]± zwڈ͢ðÑŸ/SÁåc•†¤ÏÖàãf%1¤Ã }l5)kF™¸K(ú»¥ úq¯ýÜJ<õH_q˜Ú­ž`¥o³²qJf’Ð Va¥‘ôy¦O‡\ÙPãy¶ònO+~²Öïú ²òFn43Ìz¼mÏbRÔ²éuÓ]#YY«É¹ïÙüÊÑ‘G¾7)Ysm!k¥›QàZmÒ¶a÷ <¥  Í†[Óê^Á-F³•@ZÔïCÌå³£ßoU@§fÂôÉ^d¯î^0ܵVHÅ9×È ü­ ¿¥ö3WE̽XØÃc v¶”Nžà‚ªB^6ÒU3Èôê‰ÜÔÆeHà"ìœtê˜cÆa=àç6Ki§Opéw úy°˜o<2© îs3»n8Ëu‹ JD‚gNŸ¨ùí÷Ô‘†¡ê1¯ov9{ÿJh•øEo#;…A¾ƒÎ¼TVó€1'E =i" õšB\ª)£Çs×dÏqüz¿©Á,]*®Œx;“×:7—±åhšÛŸâ‚"©!/zu±ˆyÁQLÓæÛÿuïØ4¹öþ²®?Ÿ=wä>ÊԊѼ6/)šåDPfr_ãEù+ ÔŒÂê.ELÜŸ» RUYްPb¸;¿Ï[$èñ6tD•펹BÓ< ìðh{Ô@~¥¸ã¦+±ÊAX ;Ä£?ÜÁ› ƒU ÿTSÊ¥´{ú7©Ý—·í€Mwä@%è3‚o†–­¿c.0Ý ÅOý/ȃiOV{&P'å•‘v|o–öÍ¥v™ä7ËÞnSF#sõj™ÉøT,R1èà©¢©aþÞM§zšHkà½aM>#µã¨Üâ"Åæ œàN„z¶+憎‹ïí¡AŸpOšÅ.SF³Àø×ÎUóâ.Y´´Ô»ÚGÂ} Ö zZ7[l{C8ó†ˆñc£Žæ£; WãÁñ?í)ÓHpzNÑÎ:¬Fá(Zñ'ëEÍ|­v<Ä—ãT)œýOØGmv¦Ëþbä}ýƒ+(ÀÒli—âfµª"üE®ºVóùŒKÑÓð&C)Šüç snDÓÈ­“ÎJ=§ÀHKl}D˜æLý/jšzþi!ù¦JE‚-5Òš(°ëÀJ AïÌ`<½V³\aíö‰hwÏGK³N6}¹kÞ… Z"=y,œ®ÎPŒHBfØA˲SÉÇöÌýP:jÊ…I$ÚyFVÿ›8|Ej÷îårKò—ŒÓlzÛ!}ÐþÀ{†?+ÍFJ-wJÍÝÛ‚0%€¿‡6×õgNJÙ&¾éhÝ´¶ãv\íQ¸œ3Q“÷„Y¾l€>Òâå¯1=¹Ì>b¸l ÏhâÀžƒVD (;—†âõ Ãã¶îóiã´¦6c¤á¾“Úb¦_•5`ÚjEÑáºÄýµ ­/Â{è é[µJŒÎ÷æ‡9ŠNeï7 -c^ßA,ã|Ñ¥þYöø}È`œK¦ÈÞŠ]¾³-úºÉ‹¯ø@{¾Hnâ’–Ž^£9IÏ¤Þ ì­•0„Z{^´ —Z®?[n’bÒ@}Fhã­ì |I|oó«\C†r×co`/Ì%J𓸇ù PvÔ¥†2±)‹Nž¶±Hþw<ŸL’ídÃÐW)‡ÝúëJ‘°Oq«ïa|ê¼}*ÅffSD«_‹¬‡œ| »¿¯kTAô¢G h{¹|ø·€d ´†•-5Í{ØA.dCcÐuä[< I×#»¬¢O(­ÃF·¬ÿ¸šžý3žô-5¿¹gÁ»çÓvàKvcàù&·íUaw™¨[$7U€íÆ'V×à„)œÃpç+U•Hf3ãÛnæŒ ÂƒÌ•[0ÆÂÏ,Â$í[…R)!¦¤"º,Ìè=VSÍ”¥XÊþ*Muë.<NHXP„ùvhÕÙ¾ïžÑæn¼ÿ¥ñÒ²À@å »`°~£xT¿}äIžN}÷´ÔOÇkË´Á’½€iï*pñð„rÈΉBÖî}á·Òá%Ë5?­1k ¬ÔF–Ù$hFz©Š¼@Ó0W ˜¹‘œž_CIkœú›ÇQÏÆÀÓ:&3 ™‘7ÊcYø ÎÏŒøöu Fš¡ ‰âqg§T䵚2•S¿u(uÓcØ‚‚’jJˆý{Ÿãê]!5ÉXQÐtÓ(°œZIÇÉ8ƒ{‡‰$2©¬-V쨉÷¸ÑBúš"ç[0ROf%n>€®Ãìœèþ[N±|Ýáž’›õ'?’ÎÒ¶U´n[²Ž2è€0¶Ñäè’a—V×½ôý™6M6ÍgEzì "w{U^bê롽Ý0»,¡Y®ˆtÏ[:žn‰Ž‰œ(ƒf0ïTø$2*é¤8 Ù{ö…ô@Xñ´ÿGÆïû7yV½Riì%9ÐÅO'ú¦ª˜„_¸qóŠ j5„N3åàg[2ó0@¢9~µmuÅ$_Òí±•t`6{(ÝÝ•î ëAça=64d|e¢ü‹Šæ¥œTD$ÞF°s†»-¡IƸ•›¯éªʯ¶å§2{ˆd=Ø/òê”Zð÷ÏßÒðtTgäpÇ=rËÌX>ÔSÜû$ ×b„ã…‹0-î›5[YÎãl ßíÔ³|_bjü š.q/ÝóÜ®DÄ´×öEå.ÅA­&z¨+™-ìçIt¡qók½p8ƦFÚk)íÈñ2SãêCc´Æ›¶Ž‡öBçwÌãFr~¢d}äq/€l€ÏÎAÇ&‰iOù£·ŽCÜzˆ õ–@ãT¤Å¼°%šÁ²ñäz[AÝ,!×e?ç{Ht;™ùéH†<ëhw"æPÂO´çœ”laµLoñ‹æ±øI.’º©6Ec @§v Tm †7û·¢¬r¢› ?J³ßy+þ#„Àˆè¼_µRV¨R€ÉÀp¥C{ó®yÂBÖE9¸š¯y—óc^„¹eˆÃ£ ÖëåºÅP©È´Ë:õy)~ò¯•Ï6ò/ sÞ#q #1b˜-×ËBæ•DeU»`¤¡ÅrwÒÚN“Ì jut8@€þÈǼªh6ö+·YGGVá½(Pïö¼‹O˜ãͬ§Kö3›;€¥³ÛÖ†]©ˆHà#‡Î:U"ö“EÎeNéÆ@µ q(ù ß;ƵvFå‰2hAÕ\uÔߥB…ïÞ H…ñB ‚9˜ þb¿ß·CVÀ.PÖ†mPºêÓáz×äY_•îmÀB³»ƒô®õà´®MâšC¯„ ‰`ä(XÐ&ý‡áZ½¦/0—?gó½½0M‚eiÖö¹È?!æN¦Mù Ël2¢o¡3Ëtw39Lìæ w:GÓm˜BÿÏܺ\š¼Ž¡ç÷—+€ogæ»a7·ãÚ98|zª7>Š)—‘¸g—jÕM[ ë8³¥XæÐéJÈ#•Úò r5²ö‚a2_]#(³Ï—ÆâáBŽ7EåéÙLõÚR娜W–g8M–Â4:rAÀÓÏ.õ¦V›>à”(Õø œ_j÷+ý›(DYhRœ–§Õ¨/½@Û5dV)1R 'b8gýLÒø9‰ß¡½ï2å}³wrüß `£o©ÂÏÞø£—³æ™”´È¡±Î‡È$E©Fâ(IKçk«Þ}³@Iª^-þnwçŽyC{ô禬w%“9æYL7}^Ñdé£,úé:ó{òŠ_«¿ƒGé«cYðÞw};@•®?~þA‹¦J˜t–~BK/¥Zˆã9£ пïû¶¡QÃV¿¼öå¤þ¬µÍûކ£ÖÛ°ÂqºáÏ3‘ gnêõºÿó=ÓpÒ@]Oµd›â=pöÕSÖ‡sÓ„Gá‹:è—ÌZxRY¬äc8 æèLQXŠq7¡1ß`îCˆ,ª0SUGV©ÔÑ9:âùVSæâB\Úo³¸uQùÕ«âÒPE¬ú3”Æ>ôÐ6Œæ×zìWšó„eˆI SáúãDJz‚!ú‰žÏ_ú|‘'(p©ì¼UíŠÝ숮?y7×)èU@x1h~%Sð;G·Õf}íþƒxR Ó—„ÿ: x2øI tìáhXæu~ö5'¯zsí.Áƒ'J;%å'g:ìhë8ÂCq\ÙÄ™¨ýq¹—…Öë T€¸UâªÍi°ÞQíAZQ­xŽSi½DRË%f¤‘Ÿ-“î µ‹|6«HJð¡§½=œ&³5ŽkÞ!­”¨YÍÉòékƒ}Nj\²!ì’€«(*çDu‰¹Ëˆ{‰ñbÛe;þõÇQÎÆºÐàxx@Á„ ã:dpÁÅ^¤-b•Ò4P\t°nnt¸‘ƒÃFû ßœì.N¤€d͘EQ+(L²/¥pg«0ù’Ž´Lt›gÖŠÛ”š¢\N…ï£B‹ \”9Fþ›ñ“öÿÝdyÔ‰½Ö¢½! ÚKž8ŠCä}Y íŽÚÈ÷`Jéd÷ƒ_ñ¿/¾Û×½³&Œ'Üz5)F·ï6pk|l²ÆÑ¦n+äÔgŽÝù(¢xìô÷½pzpu¤q‡@èãN¶ËØæŽïÞ€(ý¡ ½£Øn4¬Q“Pý(“àfq×HvécÌÃZ`6È¡žª+ýñÄHò‹šÓý9å"ßÈMoaS¥º±Í·þ‹/Þýʸ8ëŸe—_>ºÕx 0î—©ú×köa²{0\GM¸Ò ½P¯SâD]½úðÚuè3Äì2gêÍ:ˆAð¶íc“+iäã¾å™þ¿)œãpÔy3Àl8&ç¥ÈééïÄMJŽ EДJñP½\ù’eßÖqW‹ ð]=‡?L&Õa•GÃÓFõ_‰å¿=ýÅÕ›n‰>øQ,¶m9šƒ>`x.Ýø­§>Í(äÔÞ{CG$áy0MA•äŒã !½(?+´õ–¼;/^oh÷!4¢œ[ÝIŸaœ€iwÐ\6Cd^`ek)tŽßs©%•†©9„lœ=s;¯-cEKCäÐE4;sx¹2#ïß«}ð 1ÌÏ«2U"€%^ºÄ7b1ž 3bÂv}?ð=å±Á¦@›Ô7Ø ÔcÖÑô&× µÊ²ÜU Î<Åñ²ÝXahäÛX\ @ꊰì§%Pêü?zý›HµqÚ_â«¶€9šYÞG5eÿ"û‰¨Ü0YñÍŠ~0Òs"—lDe±Ä™Ë>O;‰Õé®±ÿ«)ÖNWÂ^¢t2´ {?2är²Æˆ-¥†Ñ|pZX7`Ewäk7€rïF“Nß©ÖK! ƒÞM†úùÉáõ´ÿ9qËèÿ‹­° îLk5K9 fÇðÖ‚o«ö;}ˆ½Íá~$Qœe³>ßàN9 z­d}É Z±nñµâ\?ÉÏ=•²n¸;‰™L”GÒ¿ÏĬÙ_„ä(š¢j+þ‹O6>|½]f¼Z÷¢öYø;k>?øW ¬íÁJZ6kt еè3­Z™ kî–ಙ‚“2=ó€c×µNòþ¤Å‰èLmî¶¶›bùŸ"­¼>”'£R†SKÆ›q^MH)è+"Ë+£9¶¦ßÅ•%ä.šºDXá¼>•ï¹õxdÍÊ–;^g}ÉÒ¤2>¬WΙ Œ€ãÄfQó5äË©ØÕ.]^îÊé¼¢íÝ:õÇ&¤(¤7¡¢9‡®å÷ËpÅÓVbÌη".•õ&žÝÉèƒ^c'zÿo¸ó úd+̹Ù÷üG:«çQ%ê”gÄ´ý¡nЂ÷–À*w)^eú,éupø\puMÑŸ§è^ý2k<\jìh½‚©Õ¦¥5½[åý•ÜüÅœ'0y%GŒÊu¨ 4S€èáº=Ŷ škÖë üÙ©MôKðÑßÇ÷Y˜“ÙéŽ(rO."grQ† AÝâh&¼às÷2»{³·#w "Í'PÕ¶‚r'§g”Õn•ïKÊãèW\Ö)ÂÚr=|z=ô]6ŽI,˜Hî»êë_[V¡ÞÉÙ'å(üµº››«­ZY”‘×l-ËŽJnÀh[°ÿünº¾2\éCã7õØø8‘­*åÈM¢“õwc…dÕó†äg@žr²÷¾¥€F¾Á~ßáí<ÕiÎò1&7V°”Å×ÓÙúì¶Oë¥ìÕŒµQÉÒUC—¨ˆ÷IŽª«˜Æ(ë~Aíô;ÛË®ÁþGÚçÍ=wal6B“+›†‚Uq.3Q\lâ–…è¨XŸ,!› †MÎK Šðeª#cl?›¸pÂ+%ýnf&õ›µ.Ëê\Þ̼~EÜWkò«åbÔó½Üt2‡¹b+ãíPT5ù—­ì$ÿ;ØkEÄm .sŸ"+AB·Éµ.2=’¥4šŸ}äehòØ_)wá5{GÓ¯Oi›Zxt& jžzÄ©£y[ç», àÀé:©÷}ÜÎ+u HpeZK;†x×¹œêþÞ˜ˆOš5SEœº¬æq—þÔ ¹dz?˜|¶­þ•7+sd5ÉÐvæ€pÚ$ºø3ü"Ðø*B RÿQLñòè©â]M«° RÇŠø-G*žù!bPw>Ù>',Û“Ê‰ŠÆ¸¥½ï`Éš©® zÈD\Ü-ºØ#°2¥´k„|[2n³xhê’™ŸÄ6ÐV±.YÃgS½0E%¼ú ç¨ Þ¥ê/+!{äóÿ2n>³B†o5ñ~ ºo ë8×ø}¹rðLI‚¤¦ð{‚ëà£ÜÌi€‡z¥Ô+Ú[ó‰Õ›2éOÿÉpQ“+á1Ð ·F6v€”⃙aê Næ)Ç¢±$á~ÿg!uŠŸàZê§wTƨ@ãíð Å'L”+H_–Ñ]”ÖB…ÂiÙS'çEî«”â©P¬³oÐê¤ÉùÇcWªÚù“1ÃÁ5Lû¦]ò_¹î?ØtÓÝñzPVJÀ‰`xçeŽ2Ò'2) ¯ÉzÆ®#ˆ"—™£W9( d8 )ÙûçÌf²C;ÕŽF` oú+Һςö6ÂÆÓâ ‰ƒQs+´¨ßB¡ì;/mE¢¢ÚnÙ@Ç·‚å¥I•ðj"m4uó‰RØrÔ €4¡(¡c)¦ÎVÃRH>ÉeW=Cd )‹ÉºUÙ´›Òüµø#ááhTjìš—Fè# Ü»úÔŠ¿+¾Y)…ý¹dÂh˜»(žÝ)•CÙQâè/8ñ6ù®ka˜pOCÉ3JÀÜGl­rEn²ÞŒÔ9ò@®ê˜klO¹8íìŒ]òþm‘F«Uuø.HŒqvÄ©Œ·Há¸g’|žCÖ̪±Ízpþ{„‚È”ðšÆMËÿçÂZÜÆw7Pñ¡v¥t÷Rp¨Èäü*%}Vc=’³Ô’¬/"r‰ ~ˆBå¯B:aËjíía±¶ÝC-ÙF¯ÿ}¾7¬‘¢9ôÙmšf¹=]6€çÏ,Qi<¤; L,ñ¡Ã}| ¡ØÈ‡)”aYgSwK߽у2…f<]$ÃMÞ~gû_a‹Mèy®€ôãÖªüã ?6´‹†l¹! 9t÷¦­mÀñâ?M ;/ÂžŽ¬Jßæˆâ¿ö…#ÔÊ*·Wi«Ò`v‰öáSç£{„ö¹O¶i¾~nמ #¿ñί¥§‹R䪓ºÎä°+!]­®«fÛ( >¡ÀÚÈ5°g‚ëeÓšûÛ¿J•2õ‰OK­ôe§`ZS2'ó¾Œç<³ ®FZM±òËìsköµ©£`³ÈŒ#¨X85Hw×JLóá;=žf¾ çf•ëÇrááð0™ŽÓ¸=g)Ú”ÂMnÚ’ìþÂnË\xi&9ÐRî1™‚0÷òÒ‘¡¢jU] Y¨eÞýaT òÜ)‘)PíaåÃx &G¦0¤ mA/zÆ=2:-ˆxL;‡£î9ªÂžRŸ–rC’Ì7BF—†A}±š|u§Ÿü17”"}½0>'ZGCbG6ît,+Oï#/ó3cT”ÌãÇåTûvöÊxÅ÷Arš”ýN_ès30ÏžX PJvŽ.b9ˆqÁWÝþ2FåbÔ?\¦Y%¾Ìó”½2¹¢ícþLÉ•…TøUÃ\Aõ±|¢%®{¶­¤@yV5&ûtŒ·CÒ®.Â3§½£é{jKÛzìl3‚”ãáJd±:ƒ(Û@r)EG«\d@•‘»¡ŽÇH %ˆ–EW5É;ô¨g ,þ30BÔƒ±SdcœÖUCh¯—C¶Uñ2«n…u/ÓC(¯wêß´Úèɾþ ¿ÅA`XÁG¢ElØOƒøÔ'N›^_Ïl†¯ÒÜb†94Fÿ|V6—FýÞ”Ù#Hò<{ Гþç5=?q#Ú‡3a-Ÿ „mæÜ2KÐv Œ9®¬LéÂÆðàa'Ý.@7ÕâûtGdbšl÷Âx¡ÇaÚHæß3•!GŒ¾/­/Ò•ÐMæ›_°D&"O„=gžùVŽÉŒ~ ûYÐ\¨$ßÑ»QøƒRdB9±Ñs›£æ›n‘&vKä„ H2¾Ë®ÈQ¦kÕJP­„Gžñ¿(’™:£ â©FôGA”< 1åÁÖ¿d˜¾ˆÄOÍì¿=e´’|ùGê"/¯œD¢kÏëýŠ0YèºÐ(à$—ÕÖ5Ö*¨+:îßò×DÒ¦Ù ±NiQb,dål ZP©2¢š^0{ȬŸ9›ˆ$žz§/ܧI«9BM6W$¶µ愇¯tÔnhƒÊ*Hàïôʦ;÷ÊÍ÷»@3¢M€Â¾@€e£™z}@‹$Nçô=EÄõýIï¯é¿#+@L nÕq[Žƒ–ÞGs³q°“;EDæmvm›A5È·~¤žÍ/B+ØbŠ‘Ú¡£ 06B…,Æ\ A¹ž ñA•»&äæó$^âkáUZæRΌұO4?kƒè9Ü‘ÕH›Ýmp¶èK½©ßnºu$9"d;ç?L/iw Å긨哎ÎÊ¡þŽáÊ.54=G  Çåj$rÂ-߀tU‰‰ðÜ=i’&fÎØ¦œÌs?ŠKã–²?€ý„Ô…†ì>>rj‘%zÉ»Îlw!䨪~ŽÃ]™oLÔ?I'iݽþ@êõZMØ»ÓÛd„œdšiÓ\ê°;«ô  }Û-÷ÕD]m<„(b!˜_`ór œ¬òd÷-hÒýj”õ“õºE“]CšéM°`´³”Ýãgu ù+€æL[«ðùkÜÃ_“õ‚EA_i€4¹Ïº°µN,ýW¯µÕÞÛì”Z÷§ FÄ­.JO0®ë ýì=7ÊBk8â§ ¨ÛOÛn°FùÔC|Ž=ˆöp‰ÏâZq쀑Å(*- üôpwÿëÏï¾màï“æd@uGgþC!:»’¿äVX–7Rm3wG×ý™È![ŸsQø÷ ›}¿aêú‚ýøb¬}á:(rÜàÞ©üùÍ YÊÙ–o‰ça¡ ÈÆ „¥àª¢4”÷ΘJô2ÞmÈ„œgCD”ÄxCKЛKqƒøéfýp|ÕLR:x,iɵf—Õ0<ïV)ºº|gv,ÚÄU-uûîÅ…S˜ 3Ðz!èDÃk‚~¹ô!À/h§‹—þè}ž Â\ÂÜ\hî¯("OÇÊax Ùu‡kYª….†-èÂðdÎÑìŒ)³¡ÁSÛ"~ŠMÙ]ܕûÕô&ÇÑÝÍz2åäó 6¿óHØÛX-ñÌþ~÷™èNV­Fa™ 7f„ãä¢ôÚüSm·»áÎz„%(á·#úItAè¶a[‘5•G¹¾5@~·ß$zÀ4ë´– Ïç;_ËõÚjdãOãØPëI•µ%cÅeàƒªÿo”©*íïOZTÌE‚Ñô`ne&F±Óü¾5IÆsãõÏÞçÙaäW§"i×¾€Q.ËBàÇo¦#bwâ4™Ä÷’&îy|LJ£ïÖÆæ:ìøuY>µrwCÆ‹u ž\èÂü.ZIaT*ó‹—¨yPI ‘ÈÀ…ß¿­GßÚrÓõ˜”²ž,áó…H>ç :y aÁEë4"ö8\!à¶‚,ˆÚj'þ›þY5Õ·%à‘¸k>nÏ¿no³8ü_ð¡WŒm·ŒxãÐDZúÛ¹³ÓúîЗ*×GUåÖ“?h“_Pi¡WKí^Ë¿kUq Ìk×#ÀÙ\ŧÇ«^¹lº¡±'ù–ÈÅŸ†áÆ­*2 ®…0ÜzwwƬpÞíìU™Úç V˜Õ7J¾ý92 6>výt1|‚W‚rÒèS®nœÂT‡;}"SEhÍE›¥t&j@½~®…È\ß%$b²}'œ[ñ˜,‹h&⌲Wws€š” Áù(?BL”~ú†í#Zwéç‘ØêXúpd[y­_ÎÖ„A;tN!ÊUT†]Ê!ÃzõY}Æ«(eIýÓ Òì\šýB6ì§H\Ó‚†ÿ$‹¥_¼`Ùš"4“Yëa:¯Üª÷ÍÔé“"MÝ’Ìz ž_ ÑèÝñp>†¤`–Vx+ 5È ßó8t0Èò¤ãü{‚«R·¼WöôkW£ÌË>©g{}p@/Ó…ïcùæ \âMr}zeq¤Þ?©oüv+œ€.X]8åø³í,ùö°@²Ö[XK^O ¡^€nà4„%.›ÿj6ݹ‹4Ìg¬4ùæƒçÞKU7fjÕRo½×¢Æ ‚8‘Å'«ª—C+¡Ç½å#¬Ù¹‚!.,½K7›=œ¨ ©ˆ‚b(M \6‚‡3Þ±cRÜP–A|ä"¾2 ë‰CÔQY?øäDqQ¬Jú'}ø‘ìøï ö©/1:®gˆÍoAºîM(gÊ3:+›÷¸…zäÃ)ùuF¯:cfâ ^]Z•d Î< ™ö ôÑ}N&oº ýj¿¦2+F\И7?.tjhxÑ3|¶Qø2#—°NŒR¡¾¥ •TAعMsƳêgÚqq…ÄËeù1 %†ËבÌx`•j[ޤ+–'•4ü]•{ª ’ü1`*@Ø;fú[h¼ÑŽnckž-©ÂüÅ%÷<šO, %ÿÁíÄœGå²°Pg6–èW8¨ ©ôýfIˆCQ˜ç†¼†!ᦗ:¿é,Kg•ˆŸœ’;cŸ;ŠØ¸ Ëz#asÛÒžÓý!˜ËG,µð'ÌóO¨óõÓÙ£j/¯”ì’IëZI‹îàPI7ÏAln&Êð±µ&ÒÚÓ|ØßªÌ E¼cyY|œÏ§Éwt̶À}s)ôÖÖbLÐ+¶Õz l„TuÑšûãbŽ;›$ƒ¶-hMÍ]DÏ9¸ùÝ®â‘øÄ{£ÜêXc="§/˜s4ÄÕäZ§Èè¦]MOÁ. ú‘!®×)½˜&‹–Ì”¤²Ôö ÑeÍM½ðä ·@⟬Gõ‡·¼bóNëXqW_Zo½V¢ÅS­?ëžJVóÍ~JEòá~ØA*Ÿãnd~¼1^“!Ÿ³3µÐ . j…†J¤>û‘]É¥/{þAöÉÐï=©>´åtÁ-¯÷Y””(„¼(J½Ì³úØe/µ%ù†ùZ­õê&ôbó«4Àƒ¿w`,‰Hxñ&F6ßqW”hÍC¼hÜâìzÿUˆ1žÃ“§–ú¡Êé€f@éJ*Æø’€õŇüÄ>6Ž®ÕO œ©ë=d‰ÑÆeÅí‘1©#ª>DúF°Š]NbŒ×퇀É÷<}áÇj¸Æ+ÖAZèO¿dYóªÊvrö£2„B§¦‘ØÔ%AÐ(öösltŽ–ÿo–.?¹ÛfkçgfÔ±÷¿=3ócMá|öQõ>nÔx`}BV/¿Gb ÍÏÎŽw,¡Å)˜×  1‚¯®˜Ê§ÁÑ) ä³—H©¢‚A'ut)NVãþ,fa_•=F-ëô6T2ðrŒj6Žºf¶ût ¾&XÒŠ¯ ¥j›È+q¡ÞÊ95öûט’iݱՉ„9õ`SÌCËýLãBJÛÑ©¢<­ËaÕ‹«7`\/ù`èZ× (íþ—cüìaµ_à‚e>[¯Ô–úÀ„Lá‰û ¶¶©ö½˜ÕÆ‘˜Vq˜œרµ9 †M¦†TPvæqJ)ñs?‹8Î|(ÓîGß ²3\ŒVx*G\8#&i܉ ^l»Ï®¸˜œzz퉶ÊÞ6­&𱡉ÏKô…ˆ¶‚Ñc•M ¡kçþÏÜ3ôíjo>ä‹û×̦\H0H™öxDО ˜ÿ/&!ÕÞ÷iVÔËÉÍ ±DOSUw¹"Úˬ‚ý}ßË¢/wÏÚg«}!-°p÷CeºãëZO••Ì<˜§V;#4 ‡t¾¼0â°(?›ª›"H„GÒ æê6Ùëryéö=onîRæÅ~^Vis)á ó¥‘Ï gª”$&Ô—º« ÍÞ{iä¤ÕñVdz3G{V½enø»·+M™vÅ_é&Àq¼*4)ð¸!H{KÏv±÷^”“T OºêTË® ‹%S~è²nßV¹&[BˆÑ¶þ¯E¾ù „îµ³K |’Ó[–Ct0Úy|C¸•ôïÏ×À?£ @Äžlú“´'Õàψß1m•z¥ž‡Û‘ƒÌÅRg–ò8|tA‘û°˜,Aè!QTwß;¿@xF€¶—•þ¦©mˆ±Wóñ¡{Âÿ«š†¶øWÝÄ÷Ôß•VFÖ»q%êÕzZŒó+4ýÜ϶°C‘jÙ²œk'ë±7 î&ŒË¢ÊõrÓ€–3gÏ¡<R´Èi&Šã­%¦¢ïéÜËLþ}Ï4M0xS;C­ùwc¦:Æ;ÉR¹ep2¹öŠRœE¼P²e,ðD³ºRšœQ×BÎFËE‰¨ø0z±nD“êñ¸†¥Á°62Ú ¸ƒ4º‡Œ.–í]q¶yËŒIíš/èžÀEéÕ òB\fê8A*"IT²Hö¬[ײxžXP¨Ûwv5+2î$V\2›žGM±¸|ÿÿWE,]ú½„IìpLl¹\yºfí`˪éQŽAÑöÞÍìïü ;SÇe Ù€>¢z«AÐgm‘ìK~o9 ¥Eº “Ë©óÿZÉ&οÀˆ®…Ìyº•HTÕ› FÞ¤Y§ÂÄ‚:-˜Ç3uEŽ™Üè@/ÆÛZ"‰e4I"A¯ÖWf L'\Ï ¾SM"ïOßÊ´Ÿ$Lk/ºîzi›Ó‹Ö˜žØKÐûèM…ÍH%ªhBptðønÌÃßÇÁrÒW <“`0ë;¯Í¸£OöÑMÛ?„1žæcAÒÉcÖBÉ¿¯ò´|žŠ%ïIÁÜBkX{”ðÚèéKfÐQ4²RJ§0I×éÆúg8åŸI^ÞV=¼¿f­'ò>‡RáÓ‹“åO ¯÷â²B§e†hÑÀk÷σÔ¯í…À^ø]í¨`ŒÔ8G9dvõÁS„ôñࣿþ‡ç¡5©-Òp¶+ñ“çE* ì<·cp˜îOei´¤1"¨ãË+t[qƒF .,ݨÑc£§I†¼OO Ù·$ôÅâº_(å17Aôh)dMæ63fôtI1ù el-Î[MÀ?7¨ž©Ê°#úR<¹òîdäý[ÔÐAôÃ×ê þ'i½—zæ­$üÌÀÒç–8I‹Vɨ(£÷ÒÝ…4bä®à°¬U(T²SsɃùÛÊ•ŒÙÈ[%„6Òœd ÎMý„›H‹~<¢d/aÍw¾på9Îs¯ @Èô¶nƒU$ózÃYœMT?Õ|ÑÍ&ÃgPv-Á"6Ž·s+0õMg‰þÑÁ¶ÂÅ*”ê©ÞàÈÙòõ!@":­P2ÐKôÜd¤ôVA´ÊÐ{I=ËÓ2dÛ0µwŸþyBÔÑ¥Z³n]<‘'J~&„Š´ÚÚ_¨rw¨Åxã/›¹‰¨‹® N§bŸƒßlׄËñUcAèæ{6h$ëåêÎTïf¼mŠØ„áQÕgÿn 7W_öWÖ’F||ÓgŽ4°ååÊçB¹ø3œFÏc‡$Ì?;GCéØÙµãR¯òïn^’{? ¦ ƒ˜pu7Åñ‡èÍÜÐX³®ž­¹2Åûâ‹[u°u†0Ýй.7B‰áÁj=?yÐÊwýxøaäRÊÐæÌÔwòª—šè3㋘M÷WvãŒ÷¨PÎØ‹/[ýº ð53¨)ì|ÓW÷‰=Ksh[<y³D­_ª¬Q“¼Ù“J Ó²°km%tÑuÏßßoˆ¸0øtx¨Ø½¬Ñü>}^ Ýç0,Žé8îîkDW¦ÇrèäVûçQÝ Ù‡¨vvŽI!A€Ÿ Ÿ˜î¹\öêÜÑän."ímí)ßñ›?ñ'|Óã+ÉË›º‰æ¾¶Ó˜“QOt¶ºÄ,S¨êÊì§ÖT¿µ›W–lJZo™˜NzHæ káì¶@ŧjïú‰ ¤%çP‘KòÆhÛ™å²d)h­'º£ÚTÆÿÄNEOÝŠ•ºÚGž-°Eƒø]yAìMÐùäNÞßV·UÄW“ªˆð,'îÿ!éH Ú€“sÚkÍFHœéGÚÉaŒôϧ¢Ê¤™Ž“‹zEõßy+Öª†záõÊÌ¡1VÛNÊã-±ýª^²›UkIaŽ…·)%-œ\æ]uPå/QúTld£eóSwF†^ƒÂMDþè;šûÈü½£8Úvzk:Õ•ÏÆÛ þM¢ŽIµ*/üðF*±˜@-j²y®T6]UÊs…˜£¹“/–Ä{ùNÆqªá@£ŽWpâŽk´ìÂê/µP¯d_W35žáµ‚5”']I»Ï¤ŒÀ÷: Í!wÖ‚}L Ô÷@ï5n‰áâc?)ÙÀX”/:“ Â}ŸP^_Y.Œe:€6m(\´µýGÞÁ Û«¢ùÙÞqdð©i¬lŸSι2xqÜãåk]Çk­“ì–}*6Á³i¼pëW‹EŽ¢H+Ác¨Go÷¡[`¶Ï%æuÆM/î—ë‰ \÷E—G ÿ9&מgUtJs"aü܉L."9Æ8_A œ‡ClhÃ틌}ä8sR4w´¢Sw¥ |ꡞÇ=ø‚‘AÇúg®tuò›¸z$ {î]¡PàhøØf’ëtvÇkúI:ô3 ¶i"]öóÌÛÐ,ràïy´ðuOñ%NùC©¸Ãú´-@ñòq\¸â5—ˆÎ,FÒ5î2Iê?1„(D(iúÊ) ¾ àB~êfeg3zµC«ÆRÓ%l8#íøEPµœåFSŽ“?ÐJÛØ ÷%-EïÛƒf]Æ–6ØÇ +Ý\ÇåÚhz.P¡m ½Úü`4˲h>¾õ¸§à— Wð ýþ°Á;üñ8©ÉP‚âúú=Û`69(DÔ?ÜøEx¡· Îèà-•ëÏO ¤ëÙ¯‰¥˜îªèºQLm–¥&¦êHù‚R†zpÜ!hõç"Cy¶ûw¨Âì¾éÃ3bî) ¬Wu *ÿ¥ì²žF^øÍà=ÿßRØ×ãÙŠþݽ¨C\}ÕXj¹ZããAx,}Ûƒ}`Q¿µ ¦£È+O–~—P*²AÕ©{6”*ŒMf¬ ø$59]mçÛÍ#|¼çGÓ.‚³¹e¹0¯|PÀ¥¶0°"€Ý:‚Ÿ7lWX7pРߣ²#¿UÁ’¨é8™`ä;°–—+ߡޤæÕ¼sÎÝsú~;³ç@PG›FZÆ“¾:²º&BÃÝO*êÑ¥2èr¹ î•ÅXÑîP'_€L¸Là²$ÚUÚ²G\TF/:A›ŒÄ-%£N0@¨” ¼ˆö. qDÓu LI¼ÜØ€¾ñ1«Ì-µœMˆ)Tî7ߥÞý.[ânôì ŒQ›zìkÞU Zm¢npª zPÇâ§O[ðÒ&Óðu—Úì•’Wnghùh(Íš5y§… U~½âé„•~ôŽŽ¾»Ž7ü§QŠ®`£û(‰”„EF!]Áh©"ýi÷À¹So#tn“ýˆ >,ŧÁ”šš—â´`“üç†Vݹøµ«Ýw&I^øG¹ð–s+æÛÖ‚‡ºpbœƒ±ÐŒl5ß(—lYæØó¹ãƒN‹‡x2"$Æõ œ”‘t®n<w&pË©3óÀ¿ûéåÇ¢Iø“ÀܬLB ¼0ûïA(ïòÉ;ß ’†y{ÛéŸÍ/ÐÁòxª æê6ÜÁÅt0›È–ÿgìúGw¿À}ê[&´0Ð/!‘sR@¤}½r= ¨¤4øOñŠãI£¬ß„Q 3…^þ"›Ù€´ã}×&ÛOjXëqwu…<ŽÎñÀ‘Ë83 ðeTRz*‘ªèoÀ â`îÆÇ`¼hj;Øq6w¶á)ŸT»¤¯tq˜¡9¹ŽÃ!äoð»7¶ª–ó„€DA§.QÎqI){ïݺ2?z1d”䱋‘Oäi‹WÌ~x4ˆº¯ÔÇþ˜E. ÷³?ÊV1›G5"Á7ÚKµBí¡ ™¯û ð3PÑê-3°¯ {d:i¦è¾2ži8ÒØ×˜•h\«/$)ΨëDPM|y+WÏ”§'пÅÊp}+†Ö-M"œ¶Œk”À•9´ƒ'aµ] =rˆÅåbP¨sO~·hô}´Û™Óo'Ô|ŽÖÇù5†Êè¶@Ø\6Î…nZí–\e–Ûº v†…|ÿì—Ž*2óaSôŠ´j™®¡š6 ¹Íƒ?‘î7h¡÷OYš:nÞ$ŸßwóRrû±²Ñ<ö½P ¶MÕE*»R‘ƪò)=Èàó¾Ÿ$ò‘n¥âÎE7ã<R,c0Òal1 똕Úx]]š æSI£øÇä)…’óÊI •‘ÕUH¬ßøí}ÖvA Jü~:.¶. Zɯ!ÙÒq-4쥯™‹€ßOÎÞ¡ÔQaÜ ­|•XóUðÙW±ÏäZ€Éðuº³Ý²'¢«×^se6¯¦Éü õólP›´Â‘|¿‹ƒ Ç ‚Ÿ¿ óµ'ŒÒny÷ú1J{YLø&ôˆÇ¥Û—”^¹Àx¡¼È×+ÁL×Ò&ìG`\ëªM.u;ɳ¿bO$¹ãtúYµæ˜oZ,z+ßyîó;HÛõÒOùq¸ÒvNÀŒ³i »A0Z/g÷çy¶koH.AÆèk×§'õÚÔú÷nTÚ^uwQélÁ\Í}ÔØäK-]Çà(„Ïg Jƒ´iÈ=æVÇ¿&ž(^gž·À9¥Ü¤g6ý/Ñ8áI?e¦}NÚ°ŸA¿çÞu×ô :7Xí²_„Ü#…Û '?I¢¹Z蘫WŸ]Á¯DÛO0Õ=|¢¤”…‚¸(;h¦´ -EÑÉKtá$ãÓ­œéig#fL"ÆdXß×ßëQ¡ ÜÓh(‹Æ5¬Æ!£ùÚ—.=iZûœ„¯þw]¼N c«Ø…1ï­´¢‚Ê¿ªI´i²°ÿöš9ûÁRžèýPôÉ3N:ùaÈz;—%|CÍ3x_: ƒÝ!BŽèã&5ÑÊð•¹f¬’•ù,AAÑž üÊ1yÒ)¤º¾=?]õV­Ö‹//è èEéLm@P RC˜î|)æ>Ýa5ÞèCô@åð·Ú¡oûqêÛX¾XÃgDow¼BÄÃ}¸úFŽF…0 ¨¹¿ýfb$F'Zgkè‡$áo%’0¯‰>רüò¥ZS­¯W~!?zÔn]_Š,úôäÌænö¬«ívét†š÷É,«lø£GË6ü„½ßAp¨ÑâÙ1ñ ½»?Ÿ;Oëeü§Á?xD\Æ(ìf’j|;«…é+»U?FN{—ë¨Á¦&XæŠ:™7€ÔÏɳ‚1WìĠ p_å8 ö'ªMà›–…0‰‹i‰:*ÃÏá®cF µ‹KÖèÐô×?pxلቶlfFÞ'-ÖÃwŠÂ €Ã<£lïCQéqÈh`õ ÿ>¾ë<À¥î©2fðëßä–‘ˆ‚ĦÁ8aS¶ºáŒÍÐJÍQØMcäœÁ¼ãhê²´Jíê„§(Ãå§ò •ø¢,Ã9ÔÅ=Ñ-M`+/–YÐ!øwê±¾q–V¼ø+`½X¬ëõ ke]õ¨Nn¾¨aF%[‡jÓR6ã8Ïœ(¼In‡3r%Æò¡‘N¬Ê~,Ý ÔÉÇÖSœ´*7ŽUÈ¢{aÐ䊦é!O"¨`CS”Ó¿ùãÍE"[­«’`LÉ©}‚2uÛDŒXœ†¼‚(0 ö7Ä%!Ë«ú$NŸßC¿ñ1Ñ# lÖÛ—  –«á*¡³ûQkÈ¿pmÍiyxv>*Ág8{¬d\%¼:f›–… žú  -CaMO/1Vð¤/—,nˆ_-¤ñK}é7†]»gmLµ\ÄS ?Ð~ROMìPÆKËù òÆJóã"‡äqX[žÂªFíémNqû&däÐ"¦ŸžÔÉþŽ*Íõ1$5½nPï ㇹÓû;Ø<ãdÃÍ„6m©Êu[©éª»~KuÉÒÜØ¿$8©øö«+¡•çÙ½–xÐüßÌØ·Ç:g×I„îæÌÉ¥Ám>ß®L6óSŽJ\@A„ýRá\õšgÖ}°ó¯TÛÿJ^‡´@k¯Ý$ª0ai§ir¼h¥ÌátvÞÞðœÜ%ŠÇ 0ûœ‹û£3~žû´¡çº\¶^VmpP–îÑ÷üßÜÛF¿aKáÃñ÷úÈ‚8Œ€"T°h\y ÅŸ[Þüí†þ †ñ\c}âQ±éFF=–¼&0à€U&±CZ8þ£ ʳ 7¨±¾(búLÜ•{ÿÏ/w$¿Î¬8·I]A\ ¿¾ï…¸´¾fû欯Íöí¤Pß7Æ ×ZW#Œ%Á#UyX ÑúM5 »Ýfï×lpëJ¦p šPׂsp$|ãñïµ-ÐKÓ)Oƒ-/*ÒílË‘nÇdå8\Ë3SØRÕf4}‹EKÌj’E@ó¸÷P&-…µýÏTÏÃë05 A΄¦ž5±f³V¨à+ä#¢¸y4'×ö(ür©ä¡–™qHì ÛN$}ém^xÚvLH 7«NyEu±Z’kè£÷a}†5¿•ŒVj ­uáiÖºUìÄ{ÄÈÍ“JဠNtÎP]ç_ã΢ÓàœS…å”Õ…Ý­X‰Ë–^·Ä=cíWmùŒ“&Ç  'òâÄ^°Vñ("ì}מlCòûêntâ Bx#Qžy˜8!ë'M t’^sè…ÍÁý‚Xàâß³;+¡óÑd¤A?»ëÒ“BN“ý Vvލ¾çi‘™ÿýœpɹº¨;fö?oæS8Apê„¶öÀj¬ÑÁªG V%( †qŽ/nÂN4Í;Š9…‡oYßÀçŸ$–#¯«³Â¬Ž$ò”¥GJ‹}Fù=û<ö 0zèWŸ]努úïãÿ¤2|_€¨»’öWÈ ’µB'·ÒÈ‘Áòh»ƒK!ÝÜ­¹‚’k›ÕއߋnÚUÖÚx< Há„•+×ï´²›ƒRÇüV²W•½uv¿’|äƒÝH] 7[Úåe`ôòÍÅ›{Wù›L`§Ò~Оý‰«~Žõ È&Þ³^aÍô)H²¬t,[+íº—†¬YÉêzyD¢vŽyó® Ács0h —rLU{è-áíw@ß6Iü=ÈÐ'SzÔv&1x‚^ešÆI¾I—ÔZö“…ÀY<òʉú3¼uohó¦W :ô“ÿ†ˆ?n’F×"ܱ£#«­?B+_—I}“O{¿­öƒKØl½|µö:Ù—)FÜžÕ:¡RÚ´Ò£1“6}Ø{ãS34!FŸ²´õ£äsomöL›œ#q<dÍŸ¬%^õÞî<¢¢-°áýÅ$›¦Âø±èIi-- º.Œ¾[‹[äüÚñiÏcaÿD¡yµKø¸cÐ’nGå¶q²‹Ï+}{Ho­ßêÃ[ÎC¦Ç¦ÿk,~N ë Xø(9Rª_ZWI:ý7‡‹míê&ÍÍ|éwV$,4ã¹î'•÷Š&“ˆ@×l°ïvî€eLؽ×X.wO©:X¶ùøÍvxAÈ_E’ç3ÄãHu œšéVµ@Wt¤VS¼ì ºè¬¬<ðK…™¸‚¸~]wÖCf‚µÑsow¹æšÚbÛà+.–±»º¥åg\æ00œ´›ÃÖ7Œ—‚¸ªâ} 뜶ììÐ“ì ¹,üF–#Œû] Å}tÒ1”{ʺÅß‹>rë(å3µ½ß¹ÅÑ­’¹hÒí&­²¶³x1ßjBÔþ“ø+þ‘í¼ÉÕè?öÀq[¸k©o>Këz '¾pQÇ~cžþ³Ü6Wó ³ã™Ý3\£*Ž`õ!FÑ,zVÜŽgû–ˆžWJg—Ìf¡üá»koÙí4…ÆI;ç=áÐAÔbˆ å«£}`|òÌk³ãó=Ý”7»(ÀÀMÖÖßyõy2³m•~舰5WÖÔ8ƒn*þ'±JdxÚðeMœ¯–ªƒ1Bj>ëïõ‘LÏûõk¤=”1¬¦ž¤QwúJpå’»(/k™Y¶ˆ>«Ôq%R~œèí~í ¾uŽÚÓj²ý€ðãêq¿gm‰O§;„‹ìƒÉ$7´k*€®ÊlgÁJ µé½m6ÿsò‡˜Á±0jlWJ²u</¤¡á#j[ßU/íæñE.¿[xê®1¨µ’P#§Fxì-Ð÷²ñˆÖ=pc9•OÆ‚M±ZŠ*`Tæ‰ÂSå.À»èÄ|I—ñäÐvî¾Bî¼uwª1×g±”µZN6¿¼B©0wu÷à›ð†n³*B~91TÅNÀ[p,¯’ûð@Ük)Ä~£evwõ:Ù•ë¿ÒjŠÅ]ÇUâg =?º¢5]¤VŽ)—d , ¹;–– mÄk¼úíyͦ¯èl Ûf~,=Ã_Øß)6Éêt´‡kEl@ 2GºÝ*Tç@“ó5ÄKj4´®Di¡z§mN³óRø»Ô .}Cƒ±óæ™PBL]û­æmö´hê Œ8e%8+ Ö„Ì Æa`7Ÿ|£Ôdº|Ãô8R°j#MÑ#vþNçûÂú)oøGØœûª7–ølmõ•®_Ô[J»CˆÜ ú#¥7õçì°+ôÐ æ¿íÉóèØÕ€ÙŸ_§*®ÿá¡äÜËdujUÀûœ¼Üð Ž<|@aEw ËN3Ñ*ÎI!¼›0Fƒ„Ò­šb á]ж’BÌ3í:'ÌÜáÑË|gœ¸ F³ÔQc><ž*a²™ºõ–†¯AÊ!ÇN{DÓ‘òÄÉØùIpm–.1‰·²‰ÚOàÔÚƒ²J<*½×8ï€‚à ¼úÓŸ-f¡D½lÔr‚ÝÅ×wÔz_ŠÑœøk’–à8DvÈ6k<Œ^ÂÐÙÆr–Yy!ÛÙár±² Þ½æ£Q„*M¼VC.“`µ'I `dùÀ™Ì᪣©Ú÷×=Š_çCäÕF\øHš¡k=Ÿ+^¥',ƒ ZQ«F‰R„½ ƒŠÛ†º(žx'hû–ïS]ËÊä£~oUº» ÜÍvO9G9…Ïb(y8£fQ ]í´(¡Õg¨å’¬ñÕ1Z2A×2Q}wåؼ‹Ü QVR‘ˆ,Ë&Äb|í°âq¿g8¯BÉ´4æ¡!¤_ž<¢t1Höxh[m"¦:ʽš¯nO°hÐדgÓü¨†&ÜšñtºœŒ]€LN­¤LáÉp’ÿà^<+3d¹4xžáïÉ@ sàK$À½µlæ þÜÞ&kQÝcí—J‚¯(~Œ 2scZìõDt ƒÿÙ®Ý3Ý4¼ÙlŽ6ÿHdÅ7÷"YO[j±ËÕg½;þÄÑðk·-+é¤[J]Q¦…@"™¬$·åÍ´rûU]¹DMl*HߓΪÈ}%9iÞ 'Õ†K-#•é Aj4ºò¬„{û níÃ.b=S¡Ÿ޲!ì'Ѿ²ÕçÄz'2—çÁ}pn ­!t&íSÔBÔõXs͹œßì»2ÿ…`L/MnfñöF‹ÿÞ{A®]Ÿœ1B«Q/½ñ“À ‚/A®’›Ü'áÿÉÁÑhzî½]»a…¢ß<—ªÌ÷ª€t³Ö¶îƒ MG¥(b‘ÇŽ²h@h}#£–[ÂpñerzÖñ ¤Ö©¥ü[*f[Z6 û ïQƒ…ÇjºmwÍ`Í0ôa­Œ¯/a+HŽfG¨S†Ea ˆ !#4¢£“O Ã( e]«s¨",ár§<íV(8Hð3¹ ·†$97wøSªÏ3twÍA¾4ùsËPº $È×kõT1[N^€±?§ö™š¾†3 ä€N?–ÕÂ^èŽÛPò þÁÚ¨Ô ¢{Èñž9ÖŸÿKô²üTý3[Qã1Õ í{$:ñÕ¸µW­ücÊ9¦Å7»4ÑSçoEë‰q¨ÄÛ§V©Rœ±¬Õî©‘13ÇÀ8’˜/Ú —¦©X¤l1ô’Ï¥zQ¼D òøs8µ3> ç=`ÜRá eV Ì_K3Y©yaDC¹ÓaON/m˜Ò¢™göí6Ùý¦ ¶Ô›Žœk”ù!®t)é¨6ªr\=š«ð ž=Œ•ù\µÑA¨ÆpÆ=¬aít”ÛG‹<óM²¸¨@åmàûLæÉNÛéÈr2úß^LÝ{1=•)Þj–Ç*¹ù5ºÃ/‰Ëmy‘œàD½®þ´ä½­½`C·M"ø¥àÔÄç¥äZlûúvˆ±G}92•_`ÚÈÑŠ1ì´?\ñ3œò¹_JI‡þ<ô³'±Ó‰îHœñ0þõ¼a¢~?ç—_—¶¦ë5¥ìæ±[ípßU`¦élhÎ/O”Ò–Ÿ­ËÐÀdgŒ1/j¤‰/ô£X4ÌãC  ½Eà €O†í   @æ÷ù×ßjf °Ü 9}3DQž®f™³jÊ™³0A·„Çà\úà…9Û"ßMRÆÉ§Á:˜Ì×VtÃIùkJ wê3¨BÝ÷ä#ÇÜœ #Q™9Ø 7è-p¨<‚?ÝˤW,:ìæ+åœ22xŸ”¬ þ%Jì22h%´Ýª¼—…>Ð ]ôÏ-• _ì“|†%å~¡<ºXøÿÝQá—ôúÁL¶%¹v?²)†¨Iä¡Òïúíõ°\ÛSP sÜX™ÙÞ¹×û òø 5‰|É1wÚ àÄËÚ8ƒHQPî[ã —‹¡‹Íù'À!%l A%z¼6²¯ªhW·\W•0sO¯º2‡‚p µæø: Réäñ~6×+!rþ )ðsÕ9—GÀn]d¸g±þ]wf3zû±íZ›íHŨ°iVªJ,¨~Üü²C+ã¾X—Ûωú9Êà*H‰Ø ӛܙgwr ¤øïT?Ecºœž3„px^rá„Ý‘M.ع²O×,v„Ufãbº¿±ÚG‡ëØ''÷t¨Ñ((ú5“\8rY å¨ËͲ?Ò· TÁ¯ñºP.<ݵ­ YÎi­‡ØcñÐ^gŸ[ýO3‘®¼y‰ûÙW¼NSÊ¥³ŽYèiå×ÚÈÒîk4›ut¨Ž¹Ì_6›E~‡W žRµQi"ÜÉIŸÐlŸ/ˆP–ª÷dùEhð@,y–;aî‘Ê‚ÏÃhðÙÁ£ßÚÔƒò—5‘jìjôú®öÿ[S¦CÔwUÆçú¸©ñÞ¢(ž•„ÞµÚ÷ÎAüƒa-võì¶I~˜kr}òš¥Y­…Xbl˜|]„<îø›ƒYi²€@1ºNîKj­3¶Rf+.‰3õ÷W.¶ÖÓQÈC§ÊoÕ!±‡wÐ5²5žÛú7ƒŸ~å@šµì8s$ÍNC~×ýLg¤Æ Ó›±t_k³Æ5TwE£.FÌrŽrÕ’ëíƒ_˲(Y1.¼¦hXð: ï§ ”ÛŒaɘ(—y¸Ðø"¹í=#ÿ¿¶÷¡i6B·©žv%ëR­*Œ^y¾HVÕùQ‡Û–ª€pD8¤ —R¡!€¸ieK¨VÛ›Aý2Pˆàdï-GZfd8ÈSä¸^x^VŒçì4LþõaÝb^,»Y™PÙÆOé½îCæuX4ÈÛF M ¥ó;á ›è(к`ÁG¯æ# c+ ½y=´Ù:ÕòÁ»"yy>ÙöÃï6œ."ié —±1Ï짬í> ê,AMà¢,Ê/t©–;¦—©_™Æçelòˆ-Ã`uÅÓM9øB 7wE¡vù£'I~Ö>SmEÎÏf‘mdÃ|=¢ýåäÐÒYÈ.ø¶µ‘ऒY:OWb{‚X¶v¢Nw¢F†ûƲ½AÎÊI£Ú#ë`Éîw¹ÆY¨w‡ÈR_7°ˆA„DîH“EJ ÓE‚Yr:€ ÀìÀly!·/Q\øñ@¥H›Ê£Zrß*…LŠiôpîØ¶’§®Z‡<ç-Yu€6!RÜýÒgßGwFä!èÂ_ýí/aK¸}2¦âËí8¹»qŽàD: ˜Û8 ¬ÒÓžðúiû8"äÛûê¬ÓÇæìïÓ‚æPg§Ï´R5dç%=3[×@ÓX øuØPzét¢ Œß¡”*;Á~ZšÀ–bºá-´¡^É$ººDÿqñ®ĺZ˜sÞw:§k„¯ŸÏ¶'M¾¤jÉ{%|>UkŸž¸Cñ€ ÁÇnwºWkÐÜè³HÓIm<)Ô7NÝS¼L‘­$ƒlËb“0šÈ/ȤgWfZ&üŒÂ€ï`‚J0‘¼“¥HšøBP¯C—ßì6‘fµªN§Óœük*cYþapΫ\Qn„ûÓrX^uÐÉÈÏŰf×s7©žêi™¾Ïý)¥áimRŽ?&\ÍYYB‚õÅN꼌~èçèú©‰âfÁ_¼ÌwÜŒà¢_ÉãjÒM1™9uÅCïÖm=fº‚«UôqÐôü‚Ê;Ê© ðBPöxYŸþu¤J! Å–ôÙ¹‰€J?¸úüÇ^‘mv³@)nÀqk«ŒÔ¥K+ðÇX)Qñ`”£&õ·ÿ^¹_ñÛ¹É@Õ+)”üæÿœ·æôu8ôtn°·¸lòRš4kíæ±&ˆnh‘ç6]32œ®c!i‰†Ý[déøibñÃê^C\Òì7 ŠB'·ˆ ¿Íó³W×›Ò%×¼}8åqU´ÎNŠbXV¦ŒØÏ&νÀ¢9$+7r® §BÎç‹ÓcQòɶ—<±ŸMókçÞy+Ûªð/µíDì‰Ôm$–Î o¢ææí&­ÑiäFVf>MÊ!“ÓP®uÉl#ŠÏÈ©W„=¨ï<¤ öGm"ßmµZ„&üótÞ#>0FŽB´“Ö|‰ î}ÖÊ–ÂúJÁºŠ†Å"’L5 ’ò‚2IZbYàZ^«¿„n ÝÀ&×PvF!Ρ^Ð:q3 XΛK˜E·i6¿sødކkŒæL´7YýÓÿs¦FÛ5}´2Ilºµyiªñ¼ðN‘ø Q½À‹=y6Ñ}½¶ŽdÚ¹qñ¥²øýiØÐ5Íü"òç¦îtE‹O´Yn¸žü¿IƒºBö.àŠ5ëlèž9•QN¤ ëчŒ[ü9#_7üèõû´•*‹à½l¿zzðãR5gïØJxB¾–³áô[)Ù. :ã¶…}"Eib´GZœ§ä^%ÛžÞ (æNØ®\_½`ä>¿Ây¸t•ÑOqènÆV•ÛRjæ4)‚Ý&Ìg”ªà$•eó¨ÝÅD]©³ó0›t‚V‚)X¡xOÓʰ÷¹nú†6²ƒ8Åœ¸Ú:WÁi¿@G”§;Ý`%hQp¬»”ê8»@}1ú÷_íC°œ%¢·x?Ã…„š{1_Èd.¨¶Qáw]QªkäEoLCÙeGºLÓÂÉyÊ?ïS›öì³åÚÍónæI1Â8ËÅ3¿Ú«¯Ø?pñ²Ù…=i]ÞÒ_n ,Ä_ë=õ¡ 1{°¢BDŒ©ïÚ6ó ¿{À×(çËÌz*CÎcÓUŽ“(À½þÝ¢ÓV·•Ј´û)«@dÚæg|ó­hµ©ÓÖ¦6nC§€=L¡ˆ:€0ßú?ÂË.ÙÜ\»‚ùÎuï‰YC~®¬±aBáÔt\·âõ˺'$„¡j^2)£E"‚+L·uè·ïÎdv¿í¤#Šæ«Õÿè‰yÜön¡9µß 8÷'Ácíôkîñ6Ž|È ¶ç»Wà£h¡ ^ï;£dïW÷«ô¨< ¢wïÄ7TujlhÖÅ–gHsáwcû…}Úñ‹"+ ¬yu´1d5¦ªéÇP&ö½M>Ÿ‚Ï(Á–êú¡ÄDÍN§Üq”ˆs*ÜÄPv‘ò߯{ëéÝ<›/¶R:ƶèW1ßSPY§þ.\üZ´XGQä»Mœ¹nkͽƒ’ÝÞxPî—r·5„«K\;ÐâVâouœV æ{aû£,‚pIÐð.ò”8è0ŠjŒï-V aLM´I€DŸ¸ðgÏ”gwbæsW49ýƒû »#ÔÛj6Ic(;QŽqŒ-€Ìàzè1l¡ºÀ Õž áTz¸ŽuF{sâ«Ç~`NñÔs^ÍÞñ‘vñu0£@ÊëS0¬Ñ‰UXAúMø3ýÇC#´| •ê:¾þbj™8öhV¡îoU]O–@8ü­Lûh°T`™ßQIÕ<3ƒ³­4;T#C„R‰o¡aœîØî)Sîl­tSA …°É·óá[+~Y!ÿ!àŸÈЍ T\€ˆw“Øù_š,1È‚?î¿Cãeäö –å RS訃§ã3ºEæÁË`)M$ø­ƒsz|3€ê'\}FÊ”×ѽ¼Iöä“1áàßqTþå²Bžö\aàAý§"а, í‹NÏó¯±Ó,ƒW£%”ã) þáƒè¢èðòv½°$;É„g{'⢵_«9’û~“éܱÿPªVµv>ÌíÓ㈇N›U$‚ª§qŸc›È}Õ¶þZè ¬Û”‘¾@Ì ·;ЭVŸÅx>ÀýóÀÈk Î,2öŸ¾ ?­È-9Äÿ…G*4„÷Œ=~ Ë®†‹c„¶o#@_1+‹ÃEè§sìp»¾èÆè^5·Ï)`‘\–ev‡ãoâ êbS׉æŽ-~/­Jþ5Sew|­”mï6.k‡“©Žª79þ•íïÊÙ=BnNÎ/§*Y$«õiENU DiÑ'FOоeÆ73k¼éŒ~O×ѦlÐ@ÔÛ«EAVƒ¬:úñ;?óf§þ÷ÚyÐývWÁŽ–qa¦î3-çý' Ï©¾ís«†6¦°Í•ú< ˆ„Xµ-5X.~„x䥄¶°ÉÝEA5ûŠ h?ÿ».»ïþ̳-xš¿šçB_!Ir¯[£z”™º-£Œ¥Ò\8‚º)¯á6ÊŸ,Ƀ&5S崼צCÏes‚§ÿþ•k°îg5EUÛôåIK®™’+AóãÛioß~WýY#îy1+>ÂéƒÀŒòžh~Ò.SVùË;`–¦Oˆ§nþÞ)4úJÌjŒW$ëoðáHH:¢HlwyâFX肘°¥"(¤»jVG <©Ø‹4+ZÍ^QòU¥ci¬ Dýúov0ïΖ:Pí÷Ì*DSïTî¬ÙÅó ·´²­xíz†UfŒáLJÞöÔgŽiÞâ3's÷ZŸWYƒ9Ó¢¨:{õCHEy¸ØUªïýטÒG‡ª¯V°H‚©B,P5åa¦êƒSï0a/feãa†A£(’ÉHmcæ±Èz² A Ô”º”A]Ѹ Oh5ïÎåض[m´ä~u ææ †F¬ÜÂ.Tò¥f¸†ìã0Ûž~ↆú~3Õ%‚˜L${|w=ÛP4ÒØÓåÞSeÑcF¶e¼Ú¨±1Ï'.‡²ÔÎ…Ýã%ðñúy-‡ÜpoÓ–)E-Á ò~S¾eIì—ÂÂÑ­HÆ!Sn¤3YŇ Q GÀ¹Ê‰%þïì²j-áCþË'ËÖ¿ J±p‰tµ[©,$Nôà“ÀÝ #!³G¾J;M·fšvr‹¥¾š¯2l*[hD]÷z–KÛb³çB~l'âÍ{b»?Zß_#–ÙíÁüÑð­MrØT¦þ;Šœ Å´res†2zç.þ?–Etý*ˆ‘$ñ¿Ðš×Gwû€ë[»à^ =Äjù½@”›F%3–]u+j>7Å–“¶P’!kø,Š3³“òLìR—Õ©¶sp¼M’þ M ßλlà9@¡3Ad ‚ŸùÙäž i …T?z§g°H:%žÕCÒ‘&ôÙ ôjºáÉn3‹AQù{Î’5]µ`ƣݑé(€Þ,'¹Ûià«ä»T„ð'- t*’¯ÃîÉýn¾â°ž¾ sœÇYË.$OöÐöJHe/0š÷´ é˜UgBz‰ü¿g\®9Ö0TJWX9#ø¢V N³fùè¹á©rÓÖŠù[9õбlP ¢Ô׺È(·ÝÝ)NnKàìè¼áE|’I¥p&Å7Q·ô×r"áÞ; (Á‡»££}7ÞžöCá,Üÿ'Ž[¸*žR=þ—ZA€¯‹Œ>&ÿÝhØÿ–lãeB+ûâð‹¢gLg)²Ä·E@Wõ¨eé„ýÏ5¿­erØjèßÞ›vôáGàšyZÛ0ˆ Œ‰1ooÊ$ñx×ÔÄ£ š¼}“®ß\Yñ‚#¨¨“ÐŽ±ËuÓ½Fë¦Â÷œQmÙR‘¡!uÀ¥š/±84².nHvÂá.ø!ݜãQØm¶ªÖ³öXÍ™":Ä'2þòÊ ´~dîC(Á5¯ƒÑlÄÁ¨T§Ì’‚YóAÌoÞcÕ™©¼UìudQgRŠ*z—©ÝI‰ÐÑ|¬j|0pþðIJØ«o'É“*`ÐYgî[3žµgu³ÔDæ¢k ú¶Â±ÌÔR»G‰]ÁKȲxá¡—ÊØÉqRûR]÷=ŠR¶úFåÿ$S )Í‚RÝin=›-þŒÙL´›YWËõ,;YÞÔ²ƒ‰,óѸ§/š¶äÁPm‚×7.x£U±¤òë=œ:ë éî8¨½“ý±å7Ñ(Î_ Ïw9{õÿÞ +;âú–ø·`Gõn­¡=dÝÍZJWÖáÇçž" † cÃ\©þ¸œYQ¸cTr_ð¾ôƒÍñ:í_¶‡2‘ð"#vúðÍÂò|¨¸uF‰5¥›cÒzÄy'¤S!ö}ÊýÞ@X@ytWUø)ýËpr)¿¦v$Î`ëÄð‡˜r8°JTTúµ+ù¥Ý%ŸúTeˆðrbp#Å$¥únjßrÆŒÀE½¤;soWIuÙ±[Iú€ÏrÚVyû¹‡MC(a‡»V3Å7Š!­á è;i’†(+ Á#9±qhÖ£#¼˜ ‚Éð~ϼ¾«‚S³^§ás|P¦o"à6›Â ýhä,/{º÷pk·ìlE÷°ÿS†^\è¶x[dV! >nªúà€W¨€xKìüÜ{ûI­Ðc)|ö·38„¡\gî2Ýx5“n ¦/fC+¤øÈ/ÑE½µ¬§ u›Ðè‰|œ²v¯Û_MDˆÅ~ƒFNaQXNlŽK®LŠK!LMd-·rïØ–4vÑoN)÷ ç s®¼žÍ]Ž]zF—z&™eØW3í%@ôWXê¨ R”¼~ד“9ÎP=u¶ò‹ÐÛønu{¡|ž÷¶¦üt?:¬C±È-%Ú¥Ls¸Þ ÅC’tY«Øè¥‘”}Cñ‹Z<èýˆ¡°×‚ JxÁÔ¾ñmŠ;Xñ§WˆWЯy™#~‰³Šfƒ'Í,€ç1öwû”,«~òOŒ¹%@»$·#ئhzj^%¦¾}ê§“Š©<(ä¶´-ã,ùü7îeù8_ëšmf ‹“!è`PçY®hÐ|-8cfá]n8ÞbÐ{·|òïÞþç·ÿ•gÓÕ¨é ïSÌ £TœhMÝdfR£‹\v1U/«/rîT{ƒ ‰Á¢îrÙž³¸Î°Cÿ#w'Ø™JÓíÊC¬_Q̯x/˜ZLÀ´‰¶­7 Œ`$Û÷;¡DšÔÈNs@€~f=åô "Mœ‘wµœÀúÝÆP÷&“}að2u¯Š€:à^Ši•R¦(š¨.-$_.'¦ye8ÜÃ$­eð•N­ùê¿T ™ƒÇòìŠø’#h¸AfÚßOöB &96MJz+(zÌß/ä¤oH¯-Y¤ ùkƒ“*UÐôl®Ô0U+yN@æÔ>AÂu¼ÿ­kB‚…•|ë ‚eòØüQÓ!æíú~BÑŽ eU–܇ñT³Z &Ã(˜Ë]„‰^«¬•¨ƒêöbÚ,”óÄß*E3Ýgjšäz/®ß~ŒJâ7w&Æ«Ê&\KC4DËÝø¢Æ,÷Ê[ÙAêX¢1?!vA?ZÑ7™’‚·eÚ…ò×^’TçD•kÕ ˆÑËkè;øDaDRòo‚Tê?ò’¿¨ÎºÑ 6ýY7[U1'æ6Ç7µ^ÛÑaÁ¼YX˜à,Y¾Þ-b]SÇž)J¿ßçiuóÝw\A¤*¢éŽ%çÿC¸øBÚʼnEfID§Äõ@¸ CüO~VrAŒìK\øQíW[¯ Siñì;ÄðXMÞ\ÃEuaz ™Àˆy„kìÙ—ÓéM2<»FGË/pÛõÕűË]0xÊhu›Âº×¬·‹¼Z¹Qì›ïÕÏÀÑ>Áó>ݽ§ç©A!ƒ'IXz#;MÕÐ(.mæEçìMèU¦¦TÀ:$MžÐ¢ÿ¯•ñ'oZu¥ÿ†ø"õ6ȹ³wŸÍÏBÐ¥uÁ2Œñ­„I³’ 3Ò¸„bû‹þ!—ÝÊd} m €ÁWÅ ƒúYéÊ_ìzŒIÖhV¶vE +îRº±~¡í^dž°‡I&—ȸa#ò¿€ ÎM•D)Te!8¦æœ®÷ŽGmdµ?¤jÃ~)㟽I¸?$Ï7^'ß6>(#œ—EßH"OÐÜf÷´FE1’†̇K¼õ.Læ¡…î‘ gqÖQÆk“ómy\ͯØÙ,ÌáÎx½êás-ï-.â(Bw¥ }k"´óT9êR8%‹kO1ˆ„¥Jb¼©q¡1†¨Ë_uüD¢Ö‡”d#(ÑÝ«K5˜AÆ×Š™@]Ëéíïti†éPWÛ¡(ò‚&~ÖÈ?M-«új®ÈVu)¤F§Õ ¤0;£ä?šðh!B¯ý 3ÛDT®8”æ¾O`>nëë ßQ4óFú!ZŸwrÇ<¾°p<ñˆVÉ õ‚jMW—|{q»F#éxî-n)ÅØìÀ!û"z[uÖ•“c¦Ú6‘`ŒL£ÂtÑÄ•íº|í°Ô­ªãp÷E±\WÅÙÈ)VÇ1©³Š°z[Y0õ‡È@rí¹ðgBVsKÅñ"ó/÷H󜥀A‹ãÅoåÊñšz¶› *A/9_g©Èª+øŒAÃO´J©00PI<ᵈ ‹JCuj:Gùb0Éí•‘^`º6C¯³?Já%|Ã,£’®®TfW—üwÒ©o{À–q–}¿äˆ^ÁÌ4FCÕˆËmsB<CéÍ€iy“V°a;UpQçïbî(Ë}öA¯n¨\Å:˜Üá8öt åþÖØÌñ$æ}:K¨ª°ÝÖƒ‘ò„Å.ÜÇèm„Žñà”®½™KX"æÞñ2–µS‡‰}˜TNaxXÈ7ÁO×Vf9J@e^í®ÃOQx+%qU|*jQÃópLeFLWNßnå¬lRÒL9æANÁ6%¿áMÃ? ÚÈùJ5o}ÎɉüåS‘bþ ·*ñÛG$`/·Ç MüG’Æ;/+ǡ埑ªþˆ1j6U™DD¹‡û¸ŒÇzeÚ½Gn^B÷bª HcüV^õcÛšC—Âx¬!R+«|ÀÐl¸&ÚYp6­Ác?UñÝ«þ ø!Ùpí¥"Z¹íz8À>NòÖ¤ç2Öoó %ÎÆ“¢öijGŸr"ö° ]IÒ•v€ˆè‹èûLÿ ;sHT1èÊtxR´ðýÙÅ“À\{± Ô|ø »²M+ú¥_Öâd¹¶o·v׎÷c'ÜÙêZÛÏp>û,q¦˜"ºz"³&ܦãmNÊþîâ]ò˜\3™³¶#qG*OYûØ|Ône&§(\R_®î"ƒp]PLÆ—¸¤âv=”;(ˆ.±(fx%þE{*rø˜`—n ³yùÀ¬a9Ô{)™^U5ηá5ûÑX8%Y¢× 3z´˜÷@n®½¾”y¡íuïj9ŠgrÑ­•W/r`Z~ $¶‚ŒíµvçÞ?u#>à?FôHÈ^,œ/§r°ë\~X6s†ò‘}TS¾åh ùûÏÕ¤¯ùÕìåA~¡ \f.Ýœ<Ç;Bw½¥†=/’ÜRu¤ˆ°…nq55ƒZ¡»aé p9n…X‡Ç‰ùÃ[ÂÚ[Ÿ“¯wTø­á€ƒ‰tëz¸ênvÁ6ÉèBJ®£SJÆ8y>AÕäãA€J^P ónù5"¤ûÒ"XÚàz êâãŽÂåTlÍc¡LþçæÜ´áÀÏG=0!nª· ¿U¹v}>é"æ;£m÷ §Î­¯ &l Ͱ㔎:c_×´ö!LD”…2m³úâ“SïÀăd/k_M»A² ¸ÒÖÚè(7×s½ÒÂH9^C0<|€Èo©aÕƒˆcù~½îÖZͪРm5O) CžãÊœ¸ù©¸‚L%šGozM¶p/s÷˜-æcÖomah0°{Û«.¯»)%u&}sÇûÌøq0•ê(ÛHi¸ü¡ ""zk^!ºÜ’X€þÜ*ä•ÓdÞ €¾gTÂ1¨vG7PBBduhJsbÊÙLnKh•oÕõª(b‡?o£¸L«PšÌÝ Ì ¥lWHÁq~æ3[j'Ï$´²HPk_”ýãñ#ùÖG”ýäØgŒ&üGcoÖSƒ‹ÍR¯œé–éÑõšNÀLˆr"6!çù˜‰HaÐ%êýêtOù}n'õ€ óôW|» æ–X¡ïpî†ó4°·;¸±@i -?Ìer®æŽŒë¬ÀŒj@7š±SýÌêqÉ~åžm”++Eª´EÓAHŽŽ7G”%"7=XîåÚ=m„ß<å89§|p9Ž`ÊdøfÑ]Ÿ’Ê~øçñ–ý@*U†8™Uìt‡Ñµ‘Á-sÚI 6?Ì%âw—n—Øý2¦Çnj¢£G»Ô÷öcõ)|Q–5€rmó¥Ó´¤ ¸rK´Øbüß»™´’þmùA!2‹fz Y÷Y_)€ª]Ê1:–á®CPc0¥h ¦Ô©‡""ý€zÜ%E¼&CEÞç”áfhA»4ÃSí*ªå{Þ Þœ#Ö“ZsMRÌŠÉQ )jâô„jA½Ö– ½y —§„ó7?Ÿì#q¼Lå ’¿Íb•éù´òª².*ar_£®3WØ3ÅL¾ Ñ1‚½Ù­Zç Xâs(CçDi7‡wÙ•±Díl™mp†ú•ý㾿šÇÇJ+<ŠÿuÚòÈ/ú¤˜?’,7ÍR¾u±$)׉Bù–ðß*(z˘ƒä§©¾©ºuiƒûó‘V¤BàjjœÏ S'›ß‚l˹!’sPþB¡:Üí|[ÿºÐåä$^®¬Ÿ@þ\Òï° »­.!]£×îaÁ[e&90ø <•3siuMõ™Óó4®€s$y™>BÒu›è#JoL€ˆönä]-0ÙuX" @z'ò3ã ˆ£¡äÈóïԙà YK›S&2ô¤¥×Iää\ÙºH8”qc:n}Ë£Æ{ŸO ^n·äÿ±V1ÈÚ®¥Ñ*œV8cÈ/Ê“¿{ù5‚:CJ }¤”y4ΠÞÇ9ð΄4å]“Îëõ b# ˆ‡ˆ(¹ÏKëaêìœ ]ÊÖgúÔ–H¬ ÉÕ 5Øá¸Eü9\©~Å$ŒÚöÐÄ6ت†5ìfeÄj£0B€ ÑúGÎ5öwÊä4nùƒ… ¿µ¿×{Š&Þ;|øó’xJéQ”‘jOYSNR±n±7 ¨haWüØe4½tŸŽ8* Éï—Væy®Ù V<‚Ù¯\¸KÃBo‚ÇmÐ1”wЧCM*ûõ×—X³8.-cxÄ\œ ½¾‡,’…$øP'ˆ#;F5àžµ¤¯*ªh¦Oó\FycäZ‰ÿ”™ T\H¯fDâÑ›X¢¦´*¥ÁZ)B¯_ ŒñIÈŠ„Õ°©4AªÊx9Bvœ*˜•à±€e<úÎSþÕ{ó˜œ M©z|,‡¨š‹á…ÝIÿƒ5wØXÒÚºËÓÕ\(Žž—õ»ÔŠ#ú=¥ª¸¸˜ªRõ"ÁâBµö,¾;\lKpïjÐK;žb®–á´Œn}ÀSgÙk¿JU¦\¹˜d°v<¿:«Ç±SI29Tœ¤TF‡A,¢ÆuwšG¥ÁqÝñe;ý5ŒñKF‡ƒÀ«©Ãó²w'±jV,FÕYØb#NjéΈûÖ<.œ’ÏhK.YÉòvȧqIBï»õú¤çàåÙ¿`ŬÖÔè]óAÝ2_I  –Pô”ÍR• ¢“Áú«—†Ä½”UŠ©¿ÞŠR½‘€ô)Ý—Ê•¡AÌev—"1)ÿ¡fPøh!TjëIŽE9I(=k™[ݼVôx¾X'úêTÆ­ „…:»¬g÷ÙW­Á^Cè4ð”¾L€”îé’®«èQøyO7= DÖ†cÌ3”l]Ûu\ˆžÕ|• ÍÀØM1Ûh† +wmM0Tétä6ý{p6·ÑË:8L`{߯•™ŠL oÌÔrû\HV“™;þÏÞmìSt®cŽˆ¸Ànð3æK0éGY)Q åEÆyÙ¡Ù âÕ‚Ôu†‘-»˜ÅtgGÖñ¿z1‹rJüþN¦ŽþÅšæ¼'y¹[ûà ¬% ³CL´àƒ¦P …Ñp9ømºÏdju¯\;«$èñTc¥“—ÍÖùW‰ÁLAn1¢9t“ÛãÈ…k)Žå…+7‘ñ™œ ÕÞÚ¡`»B檉?Õúz—|ø6E<úCÀÝú¥¿däÅP\«ÑíE¹óªÁæ‘9cn{$ùøò¾ÏIÛÒóm‘Õ-à6œL²¯OB!M®óBߪÜå”ûR6ó-·/“û¶õôØ«Ÿ8_åú^j -*“͵{÷aÞÿ~–ÉÄ 6ÿÅKŠŽÿ­b‘ ½LÓQ‡Nxwr 6žŽ&u»Äš‘‡ýŽp>f¾µÇ Ê“g¢ÁÏçt@öPØQ):<—é¼>=.É=lkÞU°=‡ÁÉÊñ!Í©=žlApÙ•¢ ó'«0¯¼B×”ä‹M,¸“ЦOý1r*™]‹Í¸U:Êj‚yÕ!_zö‡öh/)l|št/ÐfTô~½’èÿãoæ¬V^(ñÇl#ÏÒ‘m¾ÜªSð ÙMŽ'Uô"úkNFî•$7©<6š—Öž¬§×2—?¶H ŸµC¨!TʱÑØü›~×Hú¡bЗûSfžUKÁPÕüËQI˲"ƒþ€±n{•÷Me†½ÑÆœ8»ðá–:^›Y›}ßÜÍ –2Ø(ß¾1rOjÀ°æê`º±Ö1.¥É•lùëíͼ¹ÃY",w™™´ðûÅ{lш"õ+n){ëÛ˜r4‹",Ôb¥“‚Éè]Ôôˆ+fl—¬ŠýÈšg¯ÜM'ù`qÖµmÙÞÅçÊ$ ócÝ[¿I4F´”gøkÒ&rétòCcN¿c¬%ÑÃ똱©Ë›]3 :Q1sÝúÏ}+Z¡•ÿ´îoÉ:äd8DÃ<¿Tšî‡Ç˜AÚº‡~]ãadÁË3еÎa(ÀYiwÓѲ p§ú²ƒ^ü/AYRÏ‹9E,f>A5š:Jè(Ñ¿A;+mqZ”K%\ïpIÓºk¶%ÂŒÞP¡GÍ3:«Š"s/7ÒØ,g“]FƒG8¹Ê…"^ëOUl`ß›3(-®¼l¨º=ž¾œJA©„&aJO[Iö]DËä–p“†ë½½1£ ,ÝoG¦GÕC òØBÂRò)œçŒê.£Ÿ¢:^6a€ÇrüüIº´¥l‘€ýÝ9üUsã9~‡䉭©c>QR?Ê~͘/‹;†•MãLs_h×µR¼‚âWÎ÷#z“5"'%R¸Z†KzßÈ—àflç$£»£ÎÐNã=e™ Öõ¿t¿˜×<¯öÐeùšä šè}§škçÊØn˜~ÐZAtDô®àGÖÜ쬻íPecÁuˆ·E):ìÀ+ ãÆôL&Ǥƒ¬Úbw²"À?ŽÆ\>vˆ¿ütÌ dñ=©Ô»Ç›‘Laù–©`ùTܬ§úHÈT#!¦BE'r’'é/ºì\WZ9äNÓ~¾7Ķ듗`¦ê@íW‹êc~KYöÇ µN€q³þ AÈVÒxªB â×_’ãâí}EÇ®q‹½hM×2u ¶$ |ùææØ¬ˆcÒé’©+hýšòFVï—f~âf,<“Î&V¿ô&,• ÈÉÅ ›Ê}]çó³ãåƒ+”°Œ1дSXæâ"—ëc~Nb#ÎbNÀÌ«5û†rç±;I.5‘†¸(%$&ܯór˜î1–¯ö/ »mUøM“)™íP='žð3eÅäÚDÍßv•ÎN£0òÓ©Ýb<~}ËpKí]aôÃÓ?H^VN«ä³0–v£Ã ¥ªm¤ž^l•¨³"Û#ÏÏYОŸ“ФòD"™x‡.8©™Õ!Ì¿ÂÏr-F1èË]«h^Ÿ|ˆn†DZ ³yÓQêM\d÷ú“JÞ^±wgeâyŠ‘ŒJ}Z­½¾ ¸PÏŸ3ŒfpvÒ¶ÄøËÜb^-¦W|v÷ÛݯÄO©25®Ö#¸Ï=:¶….§Vl¶¢2€—„òÿÝÖê”ÕÈ…"*l¼ä›«'¶òõ5[Îúêº\©øV¹¸Kêeey…`¦Mk@oÐø±eÃ:ÅMôÝ`¸/Ž|O†­ÊÎ GñÛ)Á¨t3ñ ®sã]z–‚+œš³îÍžÄVYâ_Á5.{÷ë#É ØVÓ¿1|Ì=í›Fä)ìQÙ…tÓ<«»jdýºÎÒ=·µEaëù³Ã¿-=ØÚ¤Ÿ¿òHAlÜQÆgìÐZÏÇùý¡•â>}±rGBSJ¬ó:åÚ£°XØ ÈnÖ Ó‘íÄG`0i)aµGÂÈ(g²Ôñæòí2ëxnÑ!@·Å¡Áa <ù$ÿ_f ‚Ú{eQìvÂñRìíL¿_”öÀPVïi3eåwçt””Tÿþ2¨²í€ß‹!mÿûàü»lšOy©RÃn¿’ëmûšž>n9BŽî—Ûw)ö×wÁé‹ëú‡•ât~žQ“¼|ÁùOPc`smBµ>e:ølÓØBÓ@Ù¼Ÿn”‰ÃÊ‹È`ꌾCõPZá„ÎqFF,[ > ¼ÄÑ/;¯n“WXl¾3óÌ`Ü2Ó²Ýef¹¯má =¥HȵP% kŠð[r×â˜|çÞÛ©ƒÔqPîw²»l>üÁgvƒ`íÒãHƒò'ÿ:h™ áˆRêÎ>¶"ŒÝTܦ³0“ÔöK–óa­›]ð5¤#Ì©5øÔ§ÞKƒ'ÇÖZ¯Š'$•)ýøxé4;@§Œ)¥V‰/;”é¥þP«"öXlsP€EºvHVb–Å0í6ÏØM_s¿Œ%§ÿjd-EŸsæB^Ý9Ïø²ªÎ¨¡õ;Dísv‹=®ÉñIT‹X25·›- TÞGgȸ·:[ =ú`„ž[7¾ÜcöõÛ­§YU$k"»— |0Ãy¡”[ñ1ÔxŒÆrЧf±ÀùioÖ î#}»C¸9[ ²µªó+ËL– Ï2^ØHÎp¥@´Lj>/¯_ÔFë„kuÙL0ýH8v´‡)îZ8ÁMùþÕÔœMËaÕv¼9ô"; òZ¥FØÆ¤yÖÉ!øëE¶!Û¨j/zð°ÈòÌ©̓I«k2?vî)]DÁ¶f)~œ`<žá¡lFS7³¸‚zNÁ,î&±#b¿œDþï3Qt´PWSËwߎ‰òÙ”æC_„²ôÛèòéÿt®y§„q‰a8ñG<½ßçØÔqq‡ RZ»ô® üƒùZ‘‘O[Ë«B´ž!Ç3ó SC â9X†ß«elÛÂ7 ÁÆ .!àtd¯}ìF³óº˜AË ·Öm$½øörÍšðžz¹c Ýl¢æ"ü§DIJpÊ ßugô18Ö¹5Þp)7R¤ys›ÛÃiAi¢çÝöx’ê‹T:»¨Gbc WºlKA*úDU–Ç®AØÅá”c½˜ê¬Éê?PKrŽg†£ü}}$Érú¨´;NÁÙ7óˆèQãCKœÎáÒ°o# ¶¼ÆäÌ­ˆIDŽb©¸jòNб{ÄÖ«lÖr[=o¾ïv©Û¾,Ùiä¶/ùoòLµÖKBþÚ’²ŠH°{Ê¡ëÊœN¦.RÐEwš c®Ëº|óY‰ÒaWWý2p'ª:;™²˜¥wÕÍÀÂÍ“ÕÒÍ¿‹2— Õ1‘?hÍß"Ù2µ±Vaˆ¯éAf‰p¶)C^ôç•…ÛT7òf0w¦£`ø£÷JVB|Ì.–Î!¦·8`÷aÉYR9çYÌ*ÜægƒúÇ(šGA6–¼ª;9Ë–U¬Ø"DÚ¢H.߯Ò!.´;úL1Y/NÏÕ¥G‚3ªÚq¶N™­>©C£CW¦Dhî¼ÇOwÒ¡£éù¦»rV»/^Vb4Úª(‹H¼ßo}Œêß9*ý[Âi¼âìºìÖ“üÒ‡ª¼D£ÑÎÉ8HA- kf­Õ–‹#Ëfe¹¼Jé(òÄò£_JÿÜÌ[#LZгòˆ¸Û>ŽV±ñçNfS#-fx´‚Ë%áØ:j?zkÖ€Â}ÞD©Õm6U:+#„˰7N¦ l#Ô¹²b(Ú^âqÚé,¾È­ö'ãU»WÖLß§©>âS¨ñrî6Ødxnl({á^¡ØoÏΨ÷¡"›<ÛupÃÆÃ+OÙEm5Všgaú<0þÔ¡£9¹¤Œýs÷½Ei¬þÓ ÷ù„YàlžÚþ™ Ù“Ò `!ÿôÝæ5jš4îó¸*^AgsŽ×íqÍJ#”ìÙ Få0Œt[ûaüøS=° “JGš¨]#Ή{ç~ÂIa`2Œä5ÙŒìYzÕßC"†àÇâ‚”¼½=¥5eO*¡K‚,G6šª  æÓ‘¤Wm;eŸ• ›Å¼º(³:Ï2{b‘dßN›VûÑ+w°ë àüt}ÅdRÈ‘[Ñþ¥ìoïÚAa5‚ôHEü5‡ÌUuÜ|µBPòkÉâ¡4e¢.YT¢wNjZµõKÓÍRæóŸuÉ—Š…gúÓC¹Síª×±’;øŽ*àľ<%6|òÚ¶¾ê&ίȪ²fÿëÐ@> | ê&9Ú<´Â—/§¾ÞÄkPà{QwkŠ`éSÌM ŸÏê˜Ó©°Q¡&°"JÚ½-¹ƒf0~3lû&‚ïÝéZëN/¾ðŸ‹!"’†«y,Øüì;iÐ_¦.|-sjÿW ä”Wo.Õèº$ Úx3RÝ14“ÉÊÀ¼ìègWstvÒ²v @¿MUÜJ¬*‰à˜ôNSÉ®g`×ÐÈ ­ºø_ì¢wÁ|—É(f)ÑÕÊþ#L½`Ïõ§{°b¾·hÁµ šÉ<gÛt³¥NŸØMAÎÌ9”Þ©o˜™­h¬¡Š-O3Éô‚³PçÊgëeh¬[ñÒü@]¥)· w*ê“åPu&Ì¡#“5®¾Ÿ?ÔÃÒRº§ƒS—0U‹ßK†=¡BÝnè\B^êŒpi*>ºUP;ø„o%ˆ¸¦ß†@È@8Á˜„ÿMÚçaý¹KÒ¹Ëw]ϱ#AùæK0ä®}Œì } d ŠqcoÄ…ã )«gY`ÑçîãK&QBô±í·DÚjúë†Qí«­%{®E„o Ã|=YŒÍ%¢¼ªJÞWpÿ‘`I)u"M˰Ùèìûçª:¨¥®gÕå5za°éÒ‰Lµƒ­tq2Ž>OÎ_X}øiü(A4«¡1×Ír±È:že‡Ss4ðÝ´•Î3˜‰¥@ý`„URërK77äewüÒÛÊ6 Œ äíÏÞB8#×Õ±îÒ»Õ)ÜÚ¹N1°¬GŒá]öh5ë§ÆIÕë_b¥¦oùû+ üÚJÔBCNذ>ð§ûëûkËÃÕæ~Ùœæ‚>p 9è€Ö®Ëd™àž.ž_jäO#³DDWÒ ’’nr?1š[U_ûg^ Óö"K”ÝOÒ–¢¥‰Ìa‘™ä¹Ç[¢Öô&ÔæŽãpL£¥ÿ[Ò^æd˜¦áª©ü,±’òyæ•àÂçR‹.0ý&Éãy Ô0iø,6KWNÓÇä½Ifâ烠s¾Äg°ÑJv±[ÏG˜Ùí>•3CªuZh4ºêp†‹D0ÎM;¤0ðîÎp;àäB/w»Û›zi5Q,­ëhv#¢£_Pj+ÑÇwa’¯5ÖnÆûÒ6Ô:ˆNû4 §È©Õ¨u‚÷>b&šP çt÷Ïœ’öÀ¨½i}ë÷’2¤,Zí•ëˆð„‘„ŒœSI~Kt%–¾ðªa@A¦Ý?K+ú:l ´ ’¸·YM¥³ `p¤FÜ£ýC’ÔKÛS“]J—5ˆ#gGºÝÂngñAfsªÅA›îbºÏðqð«nm¸êÁ=lµÍƒÌšó¡÷pÉ]_ýuÜë!‡0ÀÛôÏ^Ü@“[-…ÝøÎF‘b{á½õÒ¿E¿&À Û¼[Ιöô=ç ”¤/ÚYÔÀE@™yëcñ¥ !¤Ì2«Î ·j©ù—U½‹Œ§È¾ÑZ|GÛø(]5¥I˳?Î-¢1Œ¼Åœ Êi¯ÅN×·¿?Åv^_‚E’´æb&Oj ê'C§ä¨Wvà—‘Š•ã¤€¢+7p‹ˆ€1<‹HÈáßQ<tqÃuóeŸZ˜$p÷öbf³ó Å$м§øæ#C$îqè š}šÚ¤´eýw2ýφuECÃMåÌ"û4<›+ΰÿ8–×nìäR~Àæ*Æî’t·sà×",…!¾ÞqÑÄ´cê1䆼Ù쓌 'ã…P'8µ,l+g=}¾kTçL ¿7Kx‰T™±$i…±1œÕ°µëT³4¬nQÈè^/24Óc5 ßÙ͹u¨.ã%Çã®Y7@pCÒÐÚWçGRsR?ô"<^ï”SXç·ŽõTn\#d`‘ QÿÜ=ŠDº÷·l¥5ŽÖ\±vÌ•ö’‡À:|‚˜ƨ>pÎfµo£*Õøi“šo.óÔ˜ÿgM÷Q^€^ʘ³ÂÁ߀ù™vaŒ££n8„ýÇ!²'ćÙ` Jš­Êó»Íˆ¸®ÇKº% ô³ó|rŽ_“ˆqΰúî«…‹4±Ô-€ÔÇ´4£çS häÚX+²˜Pãè%é¬ió*? A¾ g qµÚ >^êÿš¡V‚qÜm]„‰_¿¯3;Zîj¶%FÁz=ZÒöÂцÑ9}­ó¥/Ê^|"ÝâEjmU^ |\ç òóôø“fÁË> 0Þ q¿×"òŒØƒšÈú²Í6éÜ3…pþ–…¡•b/^¬ ~‹ú'B Æ"PŽƒ.åÛe ð×î^¸£÷U‡†•º ù¶sS<_¹4%½¢ö>9÷á`þ"P” ‹‘ü±[…Q"+4è#lµj’n@õ’± ¢ÆÌaçeËzõ¿à ›ð[MÄË7–#SÏèÞ¬Âÿ¢¾™Þ¼R6÷x€ŒüŸp‰•¹°®æ8¡ȳ¬*vkA<´$IÌ8®¦¤ `y¼×78ï[øo"Ü™û‹Æ<Ú=Òèÿ‡ámï& ¡JUÙÉ Ô Í“ë"òñ}h~QÎ6‰ÁŠºþúmìôÕï  #/ú½²¥¸3„l«Œì¢ávͱæDï×j¶w¦²a({k1¾ÓÇJ 2ÄÍFÿ>°u¬“é44´Ü °ѸÝPTÔvÃËȧ&uÊ!•ê0Õr3ºJä½M­åPë´ˆêã äê–›àÂ{^)̲¹‡Á„¤4ê_/Û´Âè÷zéE˜§—»TmР Õì€9KVù.îWÜ{pæ£pRJ!9u—Ç„°Ï5ë_ÕYÜ$’K†Íî~Û›|d÷7¯A| ”Bqä/Ì-u1¦4ŠxÇÓ?Àì„ÂÎ=’}`zê+õì¹å.Ü%Wr8•ïs¾œÜàã}°ÆŽE“M,~lê˜JW(ùñ*$µHi¿WÀWÕóÀäUîK„pJ‚ h_¸pÌ –Ç탤|m™'!幦ª%P,>o «x!yH.,÷]GU`Ȭ†æðAûURM#ôºH†B‰4,õKÔ¨J½ì²"¤éHv5§Ñ ›E ³+ÊÈÈ_èÐÂýÝa'd›¯˜9Üé>i¬§˜òrP"þ°"„‹ÿÕBu9ŒüÛ¬Oj·ß#8ò›ôˆÁ! ™­ Ôýûé_5/dfÔå Üõ¤¹©\ OAT5ó;\ùü"È-#-¨|DØò<-ŸAL&w_PÄ†Ô )Øc`âe2nëÐ{)âX³”÷™Y`nNÈõX½r4J»…ÃRœ¬Ñtj8ŽÕW¼û­u ß²BvÍìIVK2jUœþÉ_ÇçMºc&PžÓê™è?’`:KC顋•“ܯe?t$#ž¸×ürfÝËÔ<»DO—$Zª¢Pé÷Éć>/NŽFœv…Èôe‹,|¨‚ä ')KöN±|Çàp;ÙòÓY„@¦1u³¡pµa« Ý ºÁµ—1aÑû›­‘Hªã*u<"Ø‚k<µ‘w.•øëˆ³fá‰:y±&-$Ý]˜xœOÄåÍ!›tÅJÆA'Í#³9^6fÅõkf_\!3 kÌ5)6ÔZ'©]àÏU•ÓE9Ûç2ø 8aI|¿YýÐÙë(˜ÔxwÅ]GÏP yÛ‰eîT½6?Ñ$ÏYÝìV¹}À6vP­"§ñK6ÙE]L¸˜Ô«–ÛÅŠªóð®^ZHC ë £HÕÿ´¿–0&ø'®V^:‡TÕö¶•Ƕ¾¸¡Ã±ÜIT€a€Ú‰Š J–`é©#¹œu!T\Æh›ïÚþ]=±·"”!ô±‘Þ´ày(¡Ów%NÚJ@ñjm ÛN«°§BñÑÀWð¡®â ¦“ªš)·©ù¢vª"–´yÄšNþÛrfzkVgÚ "×—^v‹î&qÉE2‘:ævo4ö¦¤^Át^^W,OC½êÁñøÞ–£xì,f¥ÍØ îàLƒœ/ÃQ#Yô­y o ©<ÿ]mxaP'ÁáuݤÔÀ3Y[ªÕRRƒ¹c£A–åQwØ!âÏ(LÇuk9’Šô*ݱ·q K ¨ƒÌvZF[žÃæKQÉç/²Ÿ€X+q×}Ó{® EÏE ÖÀÌN:¢r%Õ•ÓÚ«ÎN5x•¬ *øeð÷(/D¤óMŒ\Ô"VüŠÃªˆÁ/Í· º«eŸ¯;™Â9£;Õêhï €: ¨ãû`:ɸ t°vN¶ðÊsIÙ†–¾Æ P’éSÿ÷HvÉ$ý@»ãŽOJխ͘wÐ Ó¸ £Z-_ Ñ7»Z¡ºÓ7ž>å:Ür¬=™ ñ+–Ëàî˜ë²ÊJG?€ø7Ë/#)’c›-$»“OÔvùvð,ËÆô‚ï™#½wY·(’P¶t…mYWÖ¹A‚Bf¥Ê´ÿ-;^.ÈZìpãG*œêa‹A½ØoùªÄ¡‘ n+£PTÉ"ø+fÍáóŸÇÅa‚T¨Â/}†ô%­W"Þ ¥Mí—Ÿ1_ô):·¾QÚVh~êDp§§Ã×®¾( ÜC+ŽuëW eü©”b%w<}xAÅ vÊ·J*P%Û2é¤CÅŠÿËESYÉüuzhÁL§=¨ Œ¡S¡›ÙqˆØÞ«„³B’.00­(4‰é¦A^5Ù—ËØ²8Œß ?)ɱûë¹ÅÖh2†©ÓQ=5ÁÃÚÃ6©‹=Ò¸¸Y¼!Ä$¡!€JíP5Ý ÀMéÚ1)¥ž¦ù2ê¶Â£d—‹ªÀº7;X]Çy}UnëfCÕcšƒ@Âq’š é@%ªÐ©3”"¥è!h¼æÆ³N÷h °,2ø‡ «¹û±'ؖΟ°õå2¹Ñ£.G)h‚.‡'R®‹­EÛkܶæC.*øõx ó‰Ð}!ãªË1ÜRÈ)®W³•?ktª8¼N¡«ƒ ®é}Ç–)’ÏyUÐ/ÝÀ¾ÂöúËK[^–ÅŸÙBZÕJÄÍ…%8ùQg]IlÌ4A\œSWˆ_!M«ÉåR§e*ƒä+Q–`³`Åv40Nªøwy[0ýà…âÍi…ß”Õ9ýêpø*Ý}‘8ð/!ïÌ£8ê·m¡«‡gM„9õ‹h-ŸudJþNR¿Äk ^ò2oÂù(oºä |´þÕ§½-rÔ1žŠñcüëÛ˜™—/˜(ê-Ra48)|¾YScu¶†FzÆKOeN5þ?Å£M#_Q›’tvªÒHUjBî5™UH‰,Ã3÷a…]³:žK:wfLÎr÷ÖÙ Úü<#³AGä.›IÞQ®cNœqÔn’A´ÓMAõ  @ÍFÙfm˜8È2Nt¯'YÌvÕ.=cÎAÑ—í›b‹Ùh—²öÆÕP…Ð Tú ª¸ä°èãSe<÷¶“Íô„D0¤±µªÊg¢@ض|”r—ý•t#¡Þ"Dù0ÖRH¹ñgµg¤Z­ªM'Ðá´a†Qreö(Ï$ÿ «VŸ¢PG›_ êÙ ÌÓ …Ähø¯ÿÛÐ%¢âà³ùЉ48Õ.Îà”Tˆ5šÜ—¿Ÿ;ˆ^’äj¼Í?óçEFÎ’bÈS_–èðƒ9gŒ;ÃQŽö ³‚µ’í|ç!3|ÊŒ¦®`Xöfdô…±#ƒèÈuýÙ”’‹ó»¼‘u(o ìHA ¿r  gÔáu¸<,[;ùÁ rÔ(ZÖÇÑ<œ.ØÌ7`Ë«E+©àÀ²˜ÔhÈWº¥Fli:gBÍÞ>@—vûë¯üø, ªû¥˜Ï*GzVE…´s™RœfýXéпXSuŸï‡ÉTÏÌ+#q—̾ßûZ®CVR $?íHš0ûÔ€©,…¦*7Ü4óW[ÊKôêe˜aÔ飯†—w2¼|VÞ„6º–¥r$f"Þ+7p‰‡à{‡`â¾0þP-ñ%ÛÔ6@'H·ô¦È(‡˜„Å’6þ⎠&†EùmÄX`W 2ÑëT—íi-aFÙ2‰-†aš­m1àaô£[1Õwó 8 t<_w Z&aE{I†d4á é=ló®éÛC”¨!8Lˆ Sí,„S+O6€º!y¨pÜ;^›ÇZüŸýÌCà\aŠÛi*úðõÈÒÁÊkؾùV¡S 7hŽ ‚Þýe…Òì'E¬f’U÷5ð¿_·à¦VϪqò!½£Yä ËpõG¯y½W@nŒ(F}ײf×öc¬¾ÎfÅŸ{|“òcEk³A]e«ñw>Ëåï1‘†·ºTÑ D (O»n¤YQúÉòIÖÈÕçäLBeL_ä”åê ùl+È4á÷ë;vXpl¤åo2óz®"q¿×Ãrna}ƒÊ²ù°%-äë¤@\~a—Œ¿šÇÿáÌR’•Q#­"k®¨û¸ËfÑÂîMt‘ùõ¬÷ë4crì9­uøñ–àÉüÒò0ýÍyÀfsÖùJFC-f]f´j,ؼ!öþ@¸PB‹ u€l¾ƒ>Í“Q0ÌsülÛ„D(ªYcK\h§‡cš°ÜÙH=ÔÚ²rµÓïæh=Ødµ\è¼6`LB=¸>a‡H¹áÕvá<˜Ë=2™EdXE&íYê•ßùý”øŽ«ÅÿZ© ô^Hîªzê ϸ,€“¯ Aqá8šˆŠu§ÿXàã)s±¥žClˆ`‰¼,ED€>Iïy¸ ¶U†DmVÜF>™ß ¾§Óÿ·8ºÛç…ðÌ,¿·íÐÁ#çÛMż0aê)üë1oëý\5R‘ËÇnÏTßzóxsα&ÍÌ‚ï¨ÈÕlI& “Œ$ö€ÒÙ">'e4É3)úw¾Ð¿†¤¿¬ôÇkZ©»µ¤ô<' #L‚\Žì^Û¿þd]2zÙ[*?ǰ ×äjy¢SLôWJZó²~êk©µîß¶ìÒczº{{jíË¿âfu‘•Sôjó Ðâ6a’R¼ø`¹È@×:S"<`ˆeÉ?Zäk :_0(>…<œAÃkÁ¥N°3—)ò¶’˜•¶Ë^,oØ<ªFZÆ,¤êo ŠÁ—sJù>’k eÌ=bxߟmQó~Ñ ~²•àWô]UäB÷!à½]@™–Á¶üY§éà: :pYÌ8°…×'FSÝ£ž›«QºJ;ºŒ@¬z=Îh}@ K*Ïj¿ @•¹•:&µKÚxËô¢UÅšø•©ÿðq˜ -nïy6p@Å$”²#lóÿ!Ü ÆúÒ<âUik¶†>(¿Ì\1Œ•6·¸6f‡Ò§ZÔI)Ääg‚kk²ƒ§¦îdý¿2T@`àåt§?åÈ3º5[èÃØ‘þ‚Ìßû3ÈGËJ7NÙ=AÓ翚ǻER[–¬³·rÄ"€çHDUMu´RÙ'©XY »¥y[Š©Ï1]‘¤&¾•$Û§V‹K×bgTx%1š+”=ÁpÅ9‰Øìæjµºõ·¸GèÇ+zBbZÎŽU­Ò‘ôú‘#–Lo˜éZ¾ÁwSU¤ôÛiF…³ýÂg¥]è“®œ?Jóݪ{+ðÚç¶~ƒŽc8ß,¦JŒYgugöCje³Ož»¤PDaÑŒÊË£NÏniöÄâ¼OÈ”$iØ”÷EYöx"À, ,Û‰å-_\‡KÊ­˜‹M©££‰ê)Çjg†‡n|nqÀ:Å ÆA¤k ì9g$æÄÄPìeFô,±²´ƒð‚€Æ¿ƒïþºØ`€óœƒ1ÒÝaji>Ss¨#Fö‘“ &_\-s©KOàïOåìþ ¼~"ÒëÕ/o\¨Éò·õá´ \*?ã ¬ÃôM«Íà˜ Pž†¤T@ö«jØ×Ú%Õ3STk¤E$jß²¹hà²aU¯ñã¿“€×ŸaÝ 6û¹"ô÷ŠŸƒæ×œ¼˜ž ޼b­¯#i%:îü€y 0мB¬°[œÿó?AåíT‡†¥ìÊÛ@?Œ½l>zÇev¶O¥PRÉúÚ›Zèr>¨/Ë`‰EŽƒŒ~œÅ]<;LÈn%ˆ² ®z*!tÿB‰,—:U[›¨”…&yÎ(kŒðtO¿íhÙö@ÓrÎD/u!Ê`úýä6¸bkÛ*/H)x\%TíeÑóÚÈ&;å3ÿ4ÏUJ0¤zqfÿéàÊ @‚(‹a>f õ*ðÓsˆR´¶zÞ»kŸ[§_çkE»b5Zó1jUÕÂj8¸ÅÇp¤;èCµeÊ9ëË÷»@dŒàYdôw>jLÖÀŸìŸJG#¦$óî»#ë”E^5PxÐ÷·0?¬íص«¯éÐ÷¢‹ÓÏ@Hчï†fî£3°&Ø#ö|¨ý(,Àü×cájwŒ“ú ?Iû³ {Q,Á9ëBÖö» l?WÏ÷y®dë Ë:ÌS V8?âÐá Œ$QæG §æÜMx±¥ðŽOÚHËß¼Òµæöƒÿtõq˜}ÿJX†©a¿¢R€·ßpï ,žµvVç–D=Ï(+—˲L]AKª£K¤‚)Bæ4a+ÊC z ‰ÛbƒI òÝy?ª ìŒË3¿;y.B¥ WÉÞ!ί ø¾C+Üq~ŒOI99x¢ú+ÜB¨Ç¹c@«ô#Ûã-øeêuHƒB›‹rJóéóÝAÈ*+̨TËÁÈÆX|GÓå™úv>Â@—é襳F0WóT!œ†ŒUdà8Ë×âš)K…ŽŸÜ(C (?J•êm³ý¥ìyˆu¾šÈȱ/Ö#“ÃùJÂh\1À;ü*£Ôµ"lV<ÂÜ/Ûë!ÖâÕ¨W}GãZêkâSlHu¬yŽŒîS:+WæübÙJ‡lpá—&Ý´:ÿÖïÞ ‚˜{rüö5në·9+Ï2Ý ª#@4j" dÆ÷‡^ 9Þ9í…pË_Ù[*SØX«Ï‚4qµ Ȥ4ýÀ ðü‚©mþçRûa¤~y”,ñ ð yñçºê&ElÈ jU ë-Ä6Í;fs/:ÿ&² ÍáY lÜœ#~å_µÖ´WÉC)»r_OÙš99õ"ìÔíÞÖ¸ò_T8²Tühô ¾\æi5 (|ãŸPrÂÌóŠ ñâ%Ù °ëÉDIxÚ ÇŠK—¸Rabñ/¯™,Œ¶(¯“Œ„ë’¼{ß,»†@¶á!ÃEÒ^¡¡Ù“a»5 v,⻺i¶2n'1G0{º¹eÀýóy¾ùå\ìp×Ý=>œj‚HZÂÛÑà×5¹"Í5æªÉ[è3õü7÷ÿ9+_¹eàÈLîwô¶bX‡‰ë.üs.äû¡r‚‘Š$σ§’ntw s÷Ù}’VcM‘ìßžšÜßìs•‹\nvã},¾¾ß³ägqŸÖ#îGà=(Y=U(NG:[Uf¯2Bß"ÚÊ-° §nW)B’z~ìÌ?ð“‰w¹5sohçãÆÃ…eݶÑP]åL¼aªÔh‘îYWpõtŒó…¯CŽÉ¢yGK-#ïÞi¬u88³rt«À®›X‚DÎà²Ðôî àZ‘Øüû`Ød£ì ¯ßM»n3^wà çׯšì/wº³©B›ÎÒ$•P­3b€x‰—¾úL1x¡¯ÆodÌÆ»tµÌÊ_súÖâH¸Â Gwˆû±Ó¢&/iûÝyüt¼Í€øjY²»€pl®qAA:Ð4pôvŠî§žX#u¥Ö: 8ìLJóbFóCpÆ¡hÍ$ÙL¦vŽBSO좛ÓlÝëüñ€Qg@YäB}†P´0P—#s~æî·§¦ `ÆvIŒ2OõhQ¯i‹¹7†»YßçôS{ž†4"ÃjoeÇmÑ Ô0À!òçþ‘œ©Hâˆ]œÙ7R _}vX^OK²2Z÷º+˜{’A²ÓŸðÀ/GmOšQ"ÉŸ*×#ôÃüÚS©õ cfY¬.}|¶üè¦ù|…ѯªo ~' |ŸqÚ·eÞúíÚib€d…í ¼ O\ŒôRs‚ËÃ7‹ª¸ÈžLY¶DLñwøö3OTÀjÍJ®*ûvD¨6~í%Ö/`-s²Š³¢ÒQªw Ž ¢ûI‡¿ÜD(XtÛ„¾âå%z‚¦«éÂÉm*OÓ»Å~”î„$}d†OK­+Ø_ÀXdÁŽ3_†]%‡æ+>†^‚ѲRëÝ ¢"•EœœÓó<‡Ñv-ÙI†^‚xØÖ£[¬Ææ©?õäs•açr ¼œ†ì°nâj£\Ú›A»^?Ë/묾33µºá}¤ÃtÊ_è%V¬[w²cöˆ24£]$ÿ!._‘œé¨#ŸAJÉï¹ïòE¾Aû›mé‡éß& 2Ø+Ëš×xC{Xµ'vÇÈ(+'³Ø°!ŸFý ÙÚ¿kï(®HËËŽ TZÙH2þvê¾ãÈë4…^îcÇ?"3Ü’‰˜ý''­ß’5Ñe¹­R~&ò±"ÝÒÚ-¿ú‚‘‰gBY(ŸËš”<=‚Ÿ2&a’êÈ8ÎÈM£w+®‹É»;ÊÊ‘î<`¤1÷(ÔðÁCæþ²¨HabÖÐêÄg_“>ѺPÌ—Í®k|66öÙÌ'š“ØN.ÚÁºN“ê9@È5xÝ>µB­I/=:Ê ¹‹vLQWXù}Cyï°.@çà(Ñ Õc¬.F?ðeYl±gš$úà§dZE2s?ìa5ö‘TÆöåCoÐäOºÚ‘ayÜ‚†4[{Èò‹).º’‹%™|.²”³ñ—Ðeã0@áöw<Îïø€ãBœfn¶Þïîzˆ/Ï<©ž1´¢‹w‡™ˆÍ]ˆþGò.¨z?á*OÁ(Õô~‹•Û€Ú┃Z^tµr=i£jõH¶á›â‰à*zœ"Æ‹È.Ñ>ôHÑÌÕAÏí†*m&,¯P¬&Xå1f¹aÂÖªŽ{yæ_êļoWÚócR©A@ ÐCbÔ 8j…n,¿„°"“ÿ!Ñ äfü‹øp¬ïy˜b‘6$ÅQÂ«Õ î—û«ðß'qìkEúÙýýø|=ÕùÌ-•¥Ê:N×~DB½‡œM×nèàI(5‡ˆBjØ|žI;ñk‰,ÃÑÇÒÉ•˜•X~LˆÌ@]á=4vÔ²v½·¯ÆãO¥öç-»àªé8Íç]ŽÑÏßaŽîŸ½s2Eú£ 3-??nnµÃX¯Ø¦·¸klDT Õ[ÍÒ¬(-êUòÁ}W{7«E6*ˆÜ_&×¥l‘¶H*dßuwÐì*¢[ÆËÒzN=õÖB HãXé®Y: $@kµ(²ÏôohŠêóûÆÿMe÷õ¦|Cƒ@nQQ®æ"óÒ5;趺^h$Âì)yDrÁs„?,o„0DS`ÄŽ„€K–$¹Rex|"7ï]¡³q1vg–lŽO ‹½ü$T"D£×v3|¸cý±oÜñ1C&ÒâEÈdãF>£¢WœÀÆ–¾Øø"Ÿð³3«½/~)cCHî-`º ½¤P%d÷@;¿·Ú58fÜYI(\†>nBw«{:-DÚiÙ(fX¡SbôRÿ¦—¢ŠF×a²á~ ñqnßçÐZÊ£æEÃ+b;o^w<ùîä"í~&‰2×8i ,¾-4?2ðù]þ"‰ÅRh¨‰¬›1%ìKYÙ õ'Ç-ª=qe¶wáW“Ø‘U4‚!êÉ'dŽ%"m?êËYˆŒ!H²!±iÅ ² lѬƒy( ˆ4uZ™¬ÊÆXÐÖÓL%,s¬7²5N…i¶vÒ¥ž;ß’ô&Ô?T‘Å—(0ÌQÝŸBy5L¬UÀÁUÏœ0­}B¥@œ3è{Ü=Þ»‡3ÄÚœhU˜%Ä*´=Hu–øÝèÄœ›Â NúÊù·ÎN*Sº3á{{”÷®gßá¶*åà¡©Èø %ÌŸFc(ÚKªzÇ—FsTÌ‚wŒ] Ýî¸ý‡™¨Œ„¿ÿA¬Ž>âtœ%Á·9dŽ­mrÏkxˆéD3&‰ÚÅ/uõÐg*’q¡˜ºôÛ°³ƒÿ_Áž;ŒþÈ@fÔ´Lr†:MhÎcÑõ_s>º¨þ5<ÎDNÇš-ý€ à£ ýš®ÚYÈ*ÎÉÖçgâ=QY÷9¨s©)I¡q¬užXŸüþ·Ü€Ð>~§1ßhìBÍì2†Þ•²dζ[ó¨ß-¾ÀÍÕ¸ïaQ žô’1æü (]-Øç—¢›óïHõpÌuRÛ"Û jÍ£Œý­_!Kål­¯\ßú³ôw¬ó@cu®I¬hî铳©3Ú¢"»͸fÀC¦cUšÀ¥÷¢P€“¼ŸÖ¨È"]+¶ŸÒ<Ø·Œ> ï8rs#Ù2o½ôw³ÍYךž>nÇ«®lÓuo[›œ{•ú>ûµ`Œ‹ònÖ°Qðµ£üº¸#Öãü:¯e“U NY$R1- ôƒþDÎY¬¬!Æ>¦—“…6èkEÚ0«FëjðksZDâó…÷¨cñ„Ôy r¼‘v*kõàóâI%%w‡ýq}f'ß LQ‘—%w®ÇÂZ÷Ëx†iñäB4è=¦ò“’ò+©Ÿv o2øÝ?3e®,õ{¥¬ïP¹‘LŸEîY™b@‡Ì7â _vŒ2Y7µ¤ƒ¬©?¢ýá¯=¬øÊ¿ÎeO£žXw™+eÈR·¦šš9Yê³eaºeßóÀÓb•üÕž%âXÿn‚Ž‚dLyã@ç$ldùƇ‹}h€,âQ?CÉiD6±JÉÔA’Ë0‹"t/#Š]øUú_‚Éì!64Î.O „ áÙnO¯¦±¬ÐÒ f.¼`æ³q*Y¨¼&“Üøï¾z‹þo®æÅh¿è^± fí­;¬ œŸ?¬‡Ò2qŽ]óXŠ3îŽõ“-iÈÙ–Eb`z±‚{ÒÊÕU'x‚]²¯/äg=Ÿ»Áw'NÂi¡su7Cò}ªõnÝ‚2¬Ý1{Ý‚îô€!µg{èXÖ!¬õ@6ìÅa :0ú¢øtGüÏFäB¥T˜=TœhǵT¶#M£K´>ð Á ÒûchÃ~Ĩi Õz ã0¥Y( ÿé$+ÈÿºJÆúSaþx»SÙ¡uÃÅzå±<ÿw±¬?x>Ž`ÿÖÊQ:p ±¶ *¥€aNôÕßgê›C\©•üœïšªm~4EUâëÃ>µ·\…už¶“)Ó£Tz²ÒˆQ ßxsv›J+ÎßI°áFúózͲ`®e£pÓ†¥m8+þµŒÐ¼uXýBë§'`wNM™–B~«´Æ”·ß×o øÆbô°µ~Aš$·°qæüõ‹ô¸CñЗ¬ÅШ§¾žg!VÙà—ƒQŸ>Ì-(ÖQÐõÙ¥šªf@Ðù‡6õþìÈjX¥‚(È.}ë`PE¢rѧiA~§qXÕ½—ù¸g2bA‹Ù ’iòá0ÆVbfí5À™:Ï:ÏÕãýxö­XA4 Ȱcü‘ºÍÍ’£íkìq?ø²…ÝÅœ>5¹´iû,é7£P8Eú¯¾×2ôU#ò/¶&«}]æ?•ìñ@—Æ ° XNn5z§`ÿŒ\Ã(ΙK®tÉ&p#áQÞ<žüh9Š¿8]VÚ"‘6~Ø%­& Xÿ?Û^TlšûÉÈ#)¸¤iK¢NŠAäD+cïq«S‚EÁ¶æçææâÖúóçIµvç}r¥Neí[¶¼/hi•ާÀÄãÿßÑFåo“NŠ"F <•‘)~u‹Zi‚úö?ï£u:IôméÉ_J38ï¯ Xö¹?t0Iætðß7ª1ÿvlI«y‡™Tt枯Έ¹%­5àXûðĮ̈ø+6=Oò:¶[ʵZ¥4\ô{¶*Ú²×ĬWø ŠuýÝ®î~B¸¿|;pöC+¯E>hÂ;8¬>͌ˋÈ}9ºhò¨ÒEp_ÄÁñάµ\$/œï×óZ|¸˜ˆQ<ïfu"âkêPºl‘³ü"’ß'$CળAìé3Z9.Ó~ìU,Âb×& 7V7Ý”—;c$:Y%1á72'%ÊØ¯EšŸ3;?6ì¤äïGõ&Ë¥õ¿ÇW,„Qª6Eß»%o3büí#:zÉ'¿ø©÷4ÍÕëè )‹¨DmPöº“âVJŠRWAÜAl}¸±œFè¶y÷.3@},ìN'M€]Yê‹ÖW¶b%äâE0!ÍêVÞE$KäZL¾Ô¶U‘Õ_‚£þ&H»ûÉp¬\ç6?\í<É‹ èÊÔiq‘5kwPú¢§h_L4ºÔpù/ú–wïIÁ1ÔELôuöÔ²ó‡l_ûÅrÍfÕIZŠÜJ¦µT†&M¥ýoÒH§.Üë†é3}'ÎM \cÓô¸<1!\iéV2 !Å—ï&²h<{Qóµ}s:‹ák¡¬ôÐãC2^‰0asžpŸEt>•Ur·ozŒvôY¤½»USugGïlAoHË×¶°ê©lÏrÝÇå-Û[“€ê4Y+K†SÞ[gJ9Z"w¦‰ó{H4û›ƒ÷Ê"þª‰þ‡Чøî.Læˆiu–o*À¸þCB3¨Ÿ¼À6éì,/Wð è¥1};±\j;Ϻ÷Ñhu[þcsg©3æD𨸲Áµ6†(Ÿ*~|]‘…eÔbÃ¥”Œ©é“>çr£ špTeþGüêËéK›IÅýû¾ŸXU>iÓ`%ù¬öÚKù¿Ýëw7œåßûõTF~Þl+—~ÄHd”â<© ?ƒ–[„pNB²åÃÖ\kÉÝ :™þÍT#²eÐf]*ñá–üôzŸ!7 «n?«O„¡Å+™®4*æWÀÊ'Cá5è!3Hb£éÂ<’ ‘TÍh$ÌÓÇ}ÇTMæ‡äè`cÌL+zY)Q~D7†×øØ c鎙›¸ÜýÍ.«ñ9´, Æ÷EŬ’K îv.€®6h;C*¯3Ú%¤ ™DY ÝsŽ)Xø €ÐR†.Dz†Ÿ³ÑAÚ„MØ3Kô–-µ‘0–ýØí“3‚ Dk9’{½ßŠø†z ÝU‘Å«¬]3ù-½ÐL?Ȱ']|‹–v]NïHšˆÆëV?Ç UyŽJþ”ÑÌíi`X€‰ó2N¹vøh¸±‘ÝM_vícÛ=GÉ{!óPpA%¯°¥Xæ2‡Ésl Ì;Ž®Oé°$‰•gˆÐ±w>­$.ã<¹D]g¡óà Î:,Btñ3Où¡µÆI¡33¿u1.B"{LÈ¥M¯þ]™ˆ^+Œ"‰üè÷¸áÜ£»úƒš@žæ²øßâÖÝÀÔ‚t¬SIÏ :gbú^ä_Ár]Ìl©M,—Ë"&41ßòôo0åy³W*<¦ f:1øeõã"<2!ûqY‡ˆyOŸg¡ƒ®%r0– ß‚¾£»Ë-dé0m*EÜ> ñJapF>ªóç¿+ÀÜþ*l ð²“ DžïL¦¢Ÿ[¼Þ£×.­g …ð h–t@Pfr/pð’{1 Òàe#x²ñy»Ž5`§Ê&{UÊÛG{.18}eÕªR~(ÞâV';?Œ¥QÀöÒ« ¡n\Ù±Çw÷âfáËÃÀïb¸Ò¢•HÑq&i¦Œ–‚¶Hí]®-} ÄçU:ÁÓpá,6Še'…½(Ï "ž\¤4c*]àè 8[O³Ÿ˜OWÒ,ÞÂÎlëÛ‹Û£ª{£ `l·üìÒ‰G›rŽ7ó¦&yË͘¼÷šqA/µ+$ç|:†Ÿƒ’ýx߃°†0ÂÑð÷:Ç_x ™ÙÏѨŃˆ(°ø³¿Ìx{ÈVU zPS½ò®rWÄ£G܈âm^žû “ÚÆM¶´(CĹIi;eF‘íA'ýjÚвÊaTE·¿âÖCˆ>^Ï‹[y&ÒŽé|ÛS¨1ЧæHöRrùùŽïyŠ©æ>Æç¸pxSQ§Á[ðI­Ës.¬î¬ô~gƒœÞj ¤à'¹‰Æ›|î·>ÐÈ h½XklGÍÂú•î“fÎâ®®„âÕmÕ“1`h|’« *ä("ÙqKWÎ3Ò’¶.Å\u‹ˆbû{èã³ËÙ½±ñ'MDóÍÂVï6crr¿âµ/·W@E®ËŒ@>FQo-A¡ÞÐá°èG ‡ù9}—唯µí›fMmÄyEšoH~/¥Tˆì¡²›Út)kH’Æ´÷V“Ë åû ùÆ$ù½1}MÜxW¾pZÔÑg»ž’ŽÎœöR~¢f Ò’½YËÖpÞáo¬™-ÉzõúeÐÏÚëz˜S-ÔkžåàË8PMšÜhÙq@êñE`4‘ÕeOÓšË}÷IÞ{› ¡åmºuo^¿°Ó6Q¡6jú*[!PÉa.»0Ÿ;Ù÷KÖ€åÛ>$O,¦à?˜§÷@õ®iªô‘JmÝËô³-5W½pY¦ m×=¡6ÎÁ¼™~ë›P-W6?žr}TáL~·ˆ]xÄœìò•&BÐa¬6yäG=ÿñy~0òm3v÷JaxÁ%2ÛòVR|«#°›¯¹„ÒÊFA›S&ž-9ÊÎí´{0SHô€+WïtºX8Á€l†j+~Â@!¨†¹t׿»J´½–ÄZ Ä“w1m¯cýú*E*}sxšö(#A¦–#SŽ“Õ,±4,®(¡á™\ìuÄ®‹9­BÚÇ^bA_b™}Üjód\Ï–IÐõ´>$.a+ÕxeÛ1õLÕB>ä?ìu‹V°%üŸ XÄv·.¬UuIíìm˜Bv¢¥!–³#ÕÎN+ˆ§[>´Êü_ÕD¬fÛu‚ág§„Ó‘‹©‹’Y¤=Èä,¤Бþk«<æL×N˜Ž#Ó3„PÑ©ÒiCD§Òè‰íè˜Ò·"‹%ÇçDlhLÐÄEý]…ó§ÕpŸÊýÁÌÑ„X½U¼0CFumòwÈB§lÆÉ0.Z’6³xÕ4M(‡&„hyEOm–횣ìÅÓ^äv¯M裯ƒ ;·lÐúSÝþ|Gý¶PìÅÞ”‰^7£ˆd²ìv¿õ·ùºï:÷Å ÔßèÜdÿ×ÛÒz¬$qRX¸ ÆL0î~(Ï|õ4¥Œ™/.ž³}1!Û×¶ÁîU&Ñõáü;9[äù®îíã—ÏÄzvQsþK* ô¤œÏØÍ\ haºwÆ#yÁ ›Ö8”zŸÔßÞcvˆã#~$;¸ñÏ~“ë«2]Ú.‘Dö}›qØD&ÚºDóòÒcàNÓ*±‘ü‰‹¿°®U°Î‰ê_áõhV©h/…( ósa³÷ª³ÃµøGÃÉÄ­Â*¶ßõN¸î‚Œ?…³"Þ•2RYÙÌÊ~=8q’àwt[r›á‡šl—oxpù"PÖ×ø ¯ñöé&!¡0‹l!ú¶»JDlò&´Æàh+´Ñ]F“ÿÓ}°ÛH¦A³4æ×|¶×³нO þkÏ2ÂT ~>cB [¬[œnî3FæfX°B o¶dˆëÁJ‰‰àã( µdÇJRݯñ mi㾦D¨ÑqÞ­BÛä¼Í“¥&[ ¤Š…eTûFä´…´µÙ1±\iø%ù¬ÂÙy]´n¢Ð<Æ3Éþ¢~!ùö6žB¥ó­Ð°Ò9Z¸9S#xo)!MƇ](M39ò1¹÷u[Ýy1Äl.dèƒÿTDßKvùµV÷~ åŒw­©[Š'eY³G+ò®=ùè¬Ó¡g*±Ôbpîc0´1´#Û5W / ;ü¤Eð1éDMšÈùÒbDï‰îS"®‹”“ݾÉ]¢œÆ B¬èL ‡ævýÓ¢GAJ’…m“V€T¼!»Udhtz{ß(hÞ àmÝ6`"žÂ.èH–…Ê‚­ÐI×ö¸ápBO**À•A«¿w€qî^«WÑÊôÈ3µ'Í)˜¸áö”ý]ÜêX•;ÀQHcvgœÚ£Õð…¶l¦^[ôfeØ×òVt¹}ï<¡Ôʆ,ÞaƒpÞw°Hâaq?{ó‚ü2_“ÜÊJ]ÎÇ´ëK¢.X¯+zwጾñ‘ýgèò´×1a·ho]bjŽÜLÉu J$?÷Õï÷‡ëȬŽ'"±§ºÅ‡ëZ9JÎsÔKS¢9æü»´4Q ¶Ë̼$Šn’ë3\ÝÂeö*(zw|)’£?‚@š –2ºÉIX2É ÔM.#™EŸ\ïð’vj¯ìš4Ä“kv{ëË ÒwTÊÕtʃ*´”ùF^OÏ@ÙÒS¹s0/bST’›ºÐG/ŸXV¥¡jš÷ Œn!¬J #Ñ”Ì3*Ò…²èÎÁõÃþäÔ½ú^17= xáU˜‘t±ËIäʧӺ˺Më·±Ô1†·ŽÚ‰+‚,wöÝ;v`(Ђá ô öKœÔ BÎ,Tpc šß<³ÉÊ_â ìYyT´ë¯Ì‘':2U[b°98+ÃõÇ!©’ù[M‰+¬Å´¤úÙUa–a±VF–èÞšk;­X¯²µ|Ôjp„=Ê g35ú#ÊþÌ©¶‰èÖº®Ê?Ƶÿ^Šfdåy»b~ ‘Öæj'­Ö›4ºdlWhÏ«ŽA¹üGý·¯’õ(2δ6·ÈhÊb3CZ ¤¥\%ªÙ,Ä3pÏ›tMt¾†òÓ  rôkmTŠ„æ`%†ô%­VÒ3 œzûEl'Lªw+J0h Ô°ÒIÃw‡áø…„ðäù9½#”¾áÊ ±þV$ìx»E¡c_„¸¹dC`z³è‰}N8­2¡*wÚ3!x4t]@'Ü[®¸ŠDÙ/"û+ÁK5Þã#z- ­¡Ygdxûj‰ömšæñªêçÖÅòKQy#”LöG»Í2òÕ) x8Ö‰0 ¨¶ûÙÏ›‘ÊQWˆœ¬Vg/_ H‹¤Ý°¬êˆ¥"¸ÆÉªWñÂ¥ÔódÉ]äk¸“\FÈk¼- ¤ã&ŠnòÃr¸¨ºÀRÅßNoù­æ ºhÁc„£F…ƒªŠàã¡ îDLˆ9S:˜´ βç”ú‡Fi¯ña~Ó{©ß|¾ÚNŸºEV‚›:Øù„ Ø´¸ær/Ó6M$Ìg¬ÇôL[ÈÛ&ž‘™UArbâ'©ç1¯d3gŒ*8?ëck0ùÑh s…І»¨Dó–¡êVr’(ëkfe ©+Eíž«-ÉÙ’n¼ ™Ôû1Ѱñë.»K.ÓÆŸgbo4²ÿNãG–ß1I)YÕ'*¾e¯•WÁôÿXçrâÔE2Ô,ÓÜ4­\²S­DεXI'BðZü¬>CšH¯¶™¹##©cjƒ3tŠç˜e.¶Lˆ]è­ÈQc¡bby7ÐòFÂ÷aFëJ9¸{ þòY̺AúžQyŠ4¤Òš°=hàÚ¸Ûi)Uí}ïó –Âñ9jæ?Ä¢± ÍÉ̓™PN87mñÆñös¡·HOà—ê(+¹o%¬%7ê{KiÚ8ðøÌ¦äùÂî‰?`!š±GGJ‘YƒÐÑ—‰&+mÈ, SìhS¸Ÿn¶ƒüJ›Ï" µºH»fùœt‰ƒ"¾¦fpeωºÈL˜0¬Ç²ëÙD´Ÿ ­À“^tE°¨#•öQRs’,å2óM¬¶™#|vû_ä>H)=›„cFl?²iŠä+3b’Þƒ¥\dÕ ¢ë|xk#qGë;ýæëe ò¤£a<¤/»½ÁŠFh9PÃBÊ#É F\«ˆ³ ê«žü J¼z›ñ J[A§Ó/ šbÔ½J˜ùë¯ûÜQ‡Ïh{è¶ð\–5%¯h‘ðâ1áj³%-Á^ë[ðÄüþ|ÂçäQ;5?͆s8:V@¿yÁad•R}–„o Ó Ÿ¼A¾n\Îàƒv«:I76\äF=Ö[j5Ëz_fA@ŒD.0f«ýz½ŸÒRVsŒüLÏ´ªÊ¢Ü-qü<3¥ŽÄÏ8 `ÎnXR8ý¾6ª=yŽ ÉâDõJ—{!10¹0°¬p™ö¡ÒñõÚÛaecþéÝNqõJýøºp(?Š›âzzOÐ}0³¿hŽ”GN2GÒ©¡Ù{¯p6Œ'îç¨Û$8³l®À¼êZ\å†g6ôM!7—óÞ–€×çªd+GuÏš{·¯4Æsa_^ §‘äÎ*ö·ó¥©t)êÅð5B.ãßnèÿäêÜ‘»Bµhn«b‰3òTÌÔü¼-¹lò»LŠŽ{cT£‚_êd ¶;K’Ú‹\«ú­™FÃ/Ø.™5žiÕ¿¿- ©v€@úÁ” ´ÓŒâã8âÌábÊBCеx¹ÌL'Ê¥}*^åR MÇÄgI%oÁ{† ˜s®•| Q ¹•LÄÁ^’q"&7g? ¿è(ªKÀéÂ^f…>sìÁ½6cÆ‚)äC —yŽUM€ö‡$ëJ\¬~¼#^`Ë·þXéêL zÕ£òº¥†U‚x^íœ_¸ÔàëW{3S-àJby (cKÑ’ÄgÜÚÿW¼Õƒ©ˆß*Ðy7`!ú[l31Æ€^«jMc4´1I\ÚöH}bG¦uO©YðìcúÇN=c3æ ð335c¯ðØ“JB¨ýUØ9y°ðÎ=¬Ïç=‚¨qïº9õ›H¶Ué‘}[XÁjö[l¬‡H‰e‡ Ï)„ž]‹eíâÌ€£SØž2CÛfqu\{Œãß“{-ˆ7hwÐ&Ž:ÈTŒÌ6Ó†(’Ó úÓ-ÃÙUÃPá¨#4pÊ\Ã]hFÿ³þûI‰ÝAð3I²M¿é»Ž4a„æxH! hÄtEŒ…[“€¯\…®jìëé›Í04š¤-ã§Æe^î[À¢—ÑméOã¬Ós/hf×1¯y‘mÈKL Ø÷§½lsfºª7ºŸfZ—o]5ûw´5ÁBô°€ïÌ€q›\‚<¬y·€0’î{—„úPwž÷Œü!¼][+ºM;‰ ÷|N\hÂKƹã7ârw ¦00“ ¸AD€érHKq4Í|IwÓ±kÖcŠf5Øÿ˜´w€$žésyü†~zhNžKŒçguÇØ‹Éí´Æ§7ö^: “$KúGf}:´Fœu§†º¹oLMFò§ ï€ëHà|‰¾[HxÒL±ö¥fE”`áÃÝ‹FHtÙÿK‘”B‰…Þ©ƒaÖ¬±Xê[öjò ÁÈò–´ø`«šEà@qžyN’Dl/΅ʾ˜¤Š#ˆ$W?oØn§ãÛEü߸ît|:¨ß‡:œ·„o» ~Ç7ÿ  €úsÚÕüje\ó¢¯ÒOä6 е…4ƒÂ·>™øà›î¬·†ÄL–›ÚÄWõº÷Õ™šü׃d"†f—Ó+›ýk}”¶³äö«3®îñ‰M@‡‚|hº´è NL˜r­þ'¸µ½žQÛ¨=Í-äÜ»ÖÏ}œÖ±¨ÚsÕs¨a©`#Œ·„ÑÜ8ÈuT›Ü0&Ð|û6%á+¼|ḉ2þ^ñG+Hq´FÌIí1åW õÈ¿8#ÃÐ8¥Laœliumn°&}ǰ^©ÈŠ<è‡NЬŠKɶD°G:\·,zÁ*Ö[¸o5"Êmñ´ ÎÜLMˆ=h,ÿ†ÅPüï,BÖMµ}¼³°€í¢Ç7¢l‹×Ó ×u¯Sà¾7ËãB)í6S…ìLPff•ØÕw©õ¥6É5ãX7¶\ENR Žg8bð½‰) `ά<ì)!\%í˜83Ъ€£É' |y±ÖÕ x„¨ºqt;-‘Ú"jº]}!  Ž O@•Èk£ îaÃ%zxÜŸJ`àÃ~Ö5¹dLÚƒSH¡d“ôÑÌ3p‹…jœ:c+®ÞùÙ~q&±r‰Ò½ ¨l\Z-çä ³³ O'ÞVÇGUt'óÓwXìrO;SˆÓttIµë˜Êƒt3b¢P)¸!t³Ý›ÌàËL[xΟÈãagP‰6°ê+røk2;éá°õ%}k/ÁÛ‰ èU#¹):Ûl{:+gf™P”ÎáhÉ Æ‘²žÊ²xY}õå®­9ÐdŠýgQ 7h…« Qi«· :ÿ`m©NÈ[ßm*,Õ¡ V.wÂU#»4BÌ‘¿š³vÒ›lky¾d9ÂÇÕówb”ˆf‡úć²aã1zé—ê$ETDkqZEð:Ü!bKë¥Ê9Q›Þ+`a›6•Y±‹Ü}E/aJ ¿-ý­ fNØuسÁ_Ýê^7…TŠ=˜øñr¾˜ek‘¬$#+'×ôá¨kFú9•ÏÞÛ:Cî®V ¨¢Ãñj™NF|ªAÚ*aÃòáª7ñ¸ÎŸ{…E¶µ¶3R„4 LÑW.ÖÊ1— ‚ròöÝ»ÎïÆÓ‚Ô1«ïMâ²ÓúÁÏþèã(ßÜHe“ƒ¼ò8öšÏ‰}?ǵÇõ~6®hå[úÕW ±Ã£]v ªtç Óø´qÛÔîÈ“F'¸_uÏà©Ôí“^-†1×ô¥ÑJÒ`Bñ5u({S×Ås~ µÎµæó5”dɵÑ×øŸ^4 ¦ñQ°÷í]£÷þé9¯áf…qáŒvóçãC7Ýg}£žWîàËüøvå~j†8G¨/j£ÔCð@–e 2>§êð¨fW{Á´?6oV`âMcI™1ãË\X¥z\ddöÙ¼a‚¥T¸^Ô=³CN`ÅÍ¿ÉðªÆÇÖ v ìdÓaæ¡FXÙƒ&~nÔ¨™SH#ËÚ}¢†ëIšëúl¨k×eÖ6 0=(±ˆšDϤÁÀqÕàêýV7tr¤h´è…Mu¯ÿÆÇ Ô Í½»³ÝŒ¤d>=ù™oªðË/­8þ¾Únó†j”t~•Fɉi‹VÞ6ÁZžaÅ×EÆ×ßÚ¸²=“§‡†p|¹ô:š&¦ÊÈb³¬ªÈ•˜zY¦º¸§g&*3µQO."¯/.ݰÙð$sUßòkú‘¹m¼‡†Ô n¢èø^¥Ai7ÓPw0x³âtœg¦f¯ÿüÝyQ}bÊÔE1QÀ¯W}[œ0&pÁÙf€M]€gÅ\[ª•TvéÚ§áÞù R¢éh,ч9$À†ßeìê=ƒ48ÃeœùiQÓäïÂ9MW_v:LûH5“68y2¸a@"@~‡ìnrC챉žI1UŸdt>óäF=2ûjMª.zÂbB¬•ü´|‚êN ü°Î›Iw|×·H‹£dÃÚÀµIrÀÒj;ÖÏ" Iíd*J¾,ë 8ì°u…$"UãÌå±Ó µ`æÙâ•ÇjÌZ`ÐP©¤±0í8}îÈêÖ»(ƒdÅŽRé÷ÏQ» ¥"YšœD@É °(7ùqùÃYá”]kbE›ƒÈ‡‡PŸ0u’c¿ü~–B³’ Ðåp( Å"ô–Ó!àÝ{Â3#š逸¼ÉXñ+Ú:|¬†¢#;ž°çTsH3R$)³ îGó÷=õêEÇ Ü­îOƒ—uïµ2ÚšhI-$ï›>«–6ëF¦‹8mkE¯ìÕÊêܻݽ»eêY±§×UÌ¡ _•Ãá®×0ꮼþ†RmŒ±†<7¹Ø$A0¢Až[cì¯bã)5”ÖKk¿=B¤tgúøÉ•[’8yfþ¢p.ªÑm#ðí¥‘—ð4Ÿð›âNÿƒ‚†  l:”v’Ø®)zŽÑÎ`­ø½[Ê5n©éßìê*ìõ·Á³)ô¹¯nË‚:SŽeÞÃà»ZDãg®Ñ\ª <Áä–0uaøvؘi¯ÁO¥lãëd„âÂu -yìvЫwŸ˜ôŽk›ÇüO½¤qi¢µ9ü¦§,*Â\ªmàí>j›ä|Ç1±³–ޏ6élgÅï„ÕáðR,Óž/‰!BØé*|þ%!,ýLÕ;;ÆwIvnà!Eýg¥ B£ØÊŠ*4VêF‹¨q ¤¯¬ÎļÄç„!Ôò@ÖÚc,„¶7xä¼ÚDÉ\(òOí3@hy·ª êåð¶ŠJãº?±u¯ƒ™Sûj&HQKPX‘¶Ã<¨ÿõ"„HéÖMð.ÒKÏFVÜš>Þùñ ,͸üRÁ½`ï)ÅHkËûþMF?áûtר«›Yûªg™Ò5 ØÆ>#X°¯KÒd‹õã"±µÎB¬Û#ØI iHzŽn,}"æ08ï?HÓ$ä?- YȄ׽“ „bÆé‡ÜºŒ_W »)Û±ý´ÂpAÁ¾0ìe¬ö€¥!©,ÞÃú¿ò|d:8îòu¶×ÂÑ÷O¶â’’Y‘ 7­Ý~aXò•J/—/bù^˜’GžÕwÃÔ\EÀ÷ 0ñ„3û[ŒRü“#qìÒ¾J;#jL×A6F][ð¬aDö^ü-h™:ˆIž‰Ê7;ÆÊã¹S¡” §JƱÕν7®ÅÐ`‹þI×°ù‚¹z\¥i 0OYuÙÓÁj﬌ˆ~‚ý Š ÖüM•U(ÀõQ¯©OaÍ.GÙ*¨ˆ® Rü¨VË‘X>âñÛ§Ê)Šy£ûª_.„´ŒMªà:h†ZÎÙwšë¯ ˆ(§G3€Úúè¥#oùòpÉŸiŸãW¦­AÎöõÁÒÔXv™·9áŒý¦’„o€Ê>•rµ*L1Gê íBÓÂä)¢ÚíVkã¸ùY˜XŠW'qL›Ú #IŸƒ>Ò°ÇlVmúcñDXö Lñ¬Ä; =³nö”!Øæšs’¢Nê7ÜäƒJ>ßÖðõ‰+¬áŸ‹QEŠÖTngÚä/^öÌ4‰MUwè cÞ$Ο¹ï žy¤)O}j;!ha›]Ã[Üzj‡YHŸš@+çÖoÅ?ö×-&Æ@1rfgÇMN‡5•eÂS&Žá•.ç žW"Bí×1ÌýÞê&–´*5†r¥b›Í $±š€t}kHÞ†G›k “ÿn—¹¤6kt I wÛÀTaoò*òœ‚ì‹Xt™œ´™ïaÈ § ¨Ú92•ðoåÕ‘4ªìÌŒ§` Ø“¶ÐÆUHÓ F*L5–¼²„‡´ÎʵWdj®þOEf§÷Lä¹S²™d²J±½×Ùñ½…Œ Æ áí àYØÿ› Ý(—`êŸSâÂ/Ç!=ºe›PnTGP¥‹b'&?nÌñk3IË7|îãR(øÐ0÷ÍÖò„º‹õ㛀¹F¤FSƒÍ<°s³u”œ2Žy¶ÛnŠ#d‘_:£õÊÅ [°xI³ÈËJÆ[÷Zb€ ²)al’Z÷m_â1V¨I˜aG©ýÈ/w•Ñg ¥©!:ùš±KI»È•”~$õ\OãyØlk4.¨Â?!Пy«Áž#Ù­À¡“„59[öô?`¶.ˆ­ÚS¶œì¨WÝò8½Y Õ’Ì7¿ô¿—5ÈȱL8&âCÁþ”g{Ðì’n€|iVÿé‘ ùò}K xŒþį öå›t½u\Ú^¼%0Ÿã “KN®X?J™Ã6þô bŒdC!o‘ä:òwnÅ"©TåW1œ·¯o »E4c„æEÄ¡0Ò3æß Ž.Ðy" ß' CTåÍ|Kƒd¾Bhn#, Jnޝ ŸÍ6@¬$Ù±Òò>ÙÇ„õ©E?ÃD(wÆ£¡xìÏÞŽÕŽÊÚ‚·Ò& XuóÝNW8ê“„Zõ Ò¡ˆKçÑ-ùìÌuT¡Ë}ÚŸO†×ÁnZÂε©­9ÀREs8âp)0âÒFVÓ1·öݵ¦XW¶¿ü#ŸtÂ|k,^¼Ðöv‰C¿‚0Upk¯ ?íepz?–éovȦem߇.ÚºÚá»tyÅZ}|ÿÄIööÉï¥êçuíoÂ>Å‘«îÌ_ú #üçb øÕ ÀìoP|K«bNß%9ßÃA­áA× ÑO`ßû‰!ä{´Uø²¢zŠÇääóƒ;z/2ƒÜ^ÕX§bt÷£ÛԬΖ± ¡ŠT2\„ÖÔŒ›é_[ü‡x¢¶Ácã¯nÕ?ŽZ:yœpÚyŸ“Ëäs]È—²º{Pª•N¤Ñïw·®)1ÂcB,/Á¦’¯0ù,'§K¦ŠH驌÷QÙJY¥î3aõÅJ+hpب©1™UÛ¸  éG|GGáòLY‚ܧ£³ÉYªÇ'8‹Nëè°Ã:ƒâ¾[u›l;­«å#PDü¦¥ ðKè]¯‰¾}ºM=•bwÅåA‘]ü€¤ &=Ák®–m’Ãa-j™ƒ(£ëÌë×ÀðD,@Ûéê>ª¶O(Ëvè>H·ß®zc‡ùšVÏ*ƒŒûțßX­zÍM‡À˜æ•–4Õ5øyë,q1;ò_¿MqjÆz¡þÄaË9ÌPðB Ä•]Ñì á¢5e*¶ Ot*!qµ`«ÌH¡wlýi†ë©[º?(áªøˆïÚð%™â‘º]!XU²ù]"N…ß Wµæò¯N†‘Wß8¾G.š^’’~O6!±¡à²Gg‚*½ì¯˜ )¨ÎEY}ƒE¶¥óЮ†®|eª fÔR^ŠfƒÓlòż³Œ¼¨Ežzól<–¥S)°û _n*¯šñÓ+[¡\wVóç´¾N'kX“Wĺ”ì?Õßc¾,<”fK{íà*¢»ê7ÐÝoÿŽö$¿YJ[ÊÀÁg3ŽdOuÁøÄÙÒ5÷®/C¤†€¯:Ÿ:›b»< ×ã¥oJG%øOdB“¾•§að •|FÝ\·vtÒ q@éˆ=L)X}e ¨iý…^§Çø¹î²…÷ªrµ?ù‰K24Ö¶A ™*~-‚îP·WMùóŠ=m€Í0ÝFqetíl2¤Êë%JAÝ ôxˆõNpºc */¬¼®Ë*6Ð^ò(£ÕƒÌÚ;Èí˜xùV×f›äùW(ܧG 7Íuµ+FCŸ7ùû‚À[cm¦èaæ¦)ˆ*õdÌhMxéþD|e˧c¬×áø>­Ž1þA ò}Êa5f”n˜&QH¬ïÝM^–üØ`«ÌºÝÕSIضå=ŒÞ7Œ_ÐFøcSÉgißÔ Ñ]/ʾIͰØr L0‡.DuZ¢­žu5‰>˾|!Þ™ð»!™Ût"Þ Í0;®Ú ­#¦¸õI6[~kˆ&¾…ÙÍ¥V”zºÌÝü°ÀÂɱ”Íí<‹#ήͺé>¯Ôhu¦¡°®Šõóf‚Ò;ñR¡Å–Æ’íë8é¡éP°c™šZÁÏpížXY¦­å2š?³R2~ózŸæ¸&Ø@õ:¡MgåÇÅ·’ǰÿù³S.ÀÕ¡Ž.že˜#XÂÏ…ß²Í+¨Ñ#3zŒ±%…_vk37z€k†Ç.ÝÈ´ÄïñÖ®ï|­°Ñð yT1üô†¶öØÊŽ‚—ŸæÏ°$t$ÔºÛ§u°­cˆ¥r̶•BpG,tÛ·­¹.™¾›{ñÇÙ[J(ÊÐx#Êâ{ÌÆHÓnìj¡*ØvS*•EÜ žæbˆó-o×åå»Mc]”¡wF&Q±Þ^©cÄßý~N Iqx¢Å„ˆšo±a˜w`Ï¢¦éñ~>éž‹°rœ Åy Ô:X¿ë{¶€©& tm’¤¢:â8éÌ›+Š$ a Çô‰6r”(…Ây†8Û•”£ÊÄØÄJpàáG¬ƒ¹þ¨%(‹]Ìh§~›?ƒsÚ&oÂ+Ë€Ï Æ ¢ô¶_6 ÅÁ)¨0 .‘À¾}º'”8ðrÍÚÑŠ?šî{“ÿyO,´à:+9ðï)"(!^—eµãK[YœRpu+ß1M$bòü†?>†;ãGý89Äd G–ëD@?ۃʼn£· £â–'Ü7Øv™ËìR§Ìê$¦ª¹1qÝMld÷ˆþ¨ª¤qõé„É_cOµÅՉÞ‰Lb©X‰½ovüyÒ…´Zûp9uœŒÜ)´ÞÓ»%˜+‘bYp3ïtTûD^óVKÎ@Q–)Íô÷ úº\•ß©|UV Ú‹ o/ÉþVëCIq`¹QŠ!¡>¿Gpé`ˆ¸yyÐDqqAN±Iztž^4Ø#t=”Ñ{¢3ý²)-9>cÊLïÁs&9ö(•kÎçæy¯´ƨN‡£áa:ß’·ÛiÀ9QÝÚÐófÈl¬ªg †Ï‚˜î„çÔcðÙÓÝ4~v²8-M™šCÂë"€ø¿b÷nµZ+JIz\‘.,Ž(™Ãe¬üûe£Ì¤úH‡Ãfä×vý“Ñ7·ÒY²¤Ä_»E›»g ü –ùNFÕ-\5  -ô DÐ0‡ŽáWG 5ë7ýl²÷AГhÚŽµÙ˜²·8ACÇ>}»R,:Á ¢§ƒ§;³ÔÅŒŠÏ‰¶Ý <…7ׂ}´ñ5Déüó¶Ý$þ+(1QÃeKÒÄ¿R¹[|oå¼§]#£#¹iÊC‡“|~0u Eu$Ï¢ü­lfÛ[¥ÄË,õ9<'Î5¢ÇC4 á¶©áj$î·K㜲½¹ÌÑŰø; èÃJêƒ%pf²Mˆ¹„²g:¡565Õ ÔÓš¼ºé¬] nëÛþ£¬³ç?ÝáŠe`ßṯéwŽéÛÉ Ë§’Óõ²PÔëcìc¡À·ÚÇ …*(óÉbÕTXœLÖl Úï}šÓ´l±‚SèÓ€àý¦¢[—ªs‰ÆºQ3 CJÈË€ö•·ò@dùBœ8aK I"o„ý²÷yQè,ù3Ôܵ•5ôíåN~•¥Wì)Y—åÔU¾ðíAžf&âtyÎ<¥bÆ1j6ÙQZBwݲ« ù$uÏ’.ªÀ‰´!MÑ üÒçYKIb‡ý£)ñXú³ ˆm,‹‡Æ'w¹£cŠ^z/î4óô\µä3‘,&ÑW?¹È´-Ê-Hifæž ÃwùT_\÷k²á”Ç4ƒn$߈¦;Ù‡5{›­¤þÁCÓí%Òx‡;‰f“(˜Hܽ[ÓioŸÉWiª¶H,"¹Þd4[ÍJ&߯mV‚‰ÇÀq¿Ÿ6"! B3Ã2/î»HÅoª¦“À‰ ÒtÞ3ã®Òäìmöáy+Ï8mØñ·ïîG¥ð2¦ „+ÇE<Ǹ“–sòi( I<®Ë| Ê+—]^’ômB>ØM[²ËgaûJIÏ]~ƉòÙiH…$,dsÏà'uu™×w¾PÇýFXLÄE¢ä³8¾T]“zÉZWÌ®üÓ½Òaª â}‰êϸõócËïG*üô!Ò‚éᘙSÁVðÛz Qi·ø©€<0‚ ŽŸGx+´ÙMµÙ­š½<šzoí>˜²¸ªÅÊü+ÅßQàÜ&úzÐ+X}p@0{Œï¾À×T¶ŽÈvk¥Ž´³ú}z|]Ùª#Ì“QDuêÌYåA†ný‘€›m‰ŒaB°Üû¿Îe@Z7ÈD]tÃÀÉéÀVëCy¡µÆ)Œ¿£kµ·×ïœæ[É1IªûpŽÜ²e>¡`"£vÝŸ§î<wÔ{a’Y]Kê„… êÞ"0WµëL¤?åë ø&‘Ê"¢%ÊÖǨ©ë{Ž ŽBTY]od:hú\òOÙ=ëEÁ±ÖÈú‹½B¯qmq‡÷0~I%azZ¸We‰x2¸¼a‘Ëa®WðÖ`íŒ.rÑ/,…¬¹bû² .õÍBÝ,ë¥ÃE‰ûŸ€ïWþ,¯êüAÔµãæ¢²-TÅ$Åñå }ÁÁÁ( ¯ä²ÑWyOÚø®ø$gFí§Šj&rÅ%ã%Kò`Ršì˜i\a¿ÉåuÎËRRw`A[ Õv?宅V‹Ã¥9¾ËÍ™_9ÅÙ†÷–uH¢#M ÔTA- Mž=ëøé—Ág=oØM×üÊÞáqùr"—¹® ÜL)Mè¤4”9–aðI•a¼eÀ?> âtiZáàn4xxáÛ€µÒBV›ë¿«•ÆÒF,éãÙùÕRýU¥Ú»óëãüJ‡í@jÈÕó`}Å]‚±Hì;Ùµ>´Ýí+ú_|zËoî¼”5ë Qû©[½$Gÿ¶ ëÍJˆJ……›Õ7è¶eívÀ€£”;L—åÁ+úzW™JÆèoÍÈ%·KSRÎÁ0ÈrÖœ¥Vó,ãiVì(ûƒ*]ÿ펵 ºø¶‚™ŒçÎ~<ÝQ7*ìPCÝ9sbWë¦̧¬ß=ëð“ÇIÂ2ÙtBäóq¼> íÙ‡FØ·”È&õÜ ¼va‰q%[ÔeÑ‹¾Ý„¾6 ÒWïQ¾“Iƒ·Ö©Rq©$ÌÆ°úGê¶ÍFjŠ"A÷‡@k‹Z{·(9Í_ºû väëêAøø·û¯Kšf”’Aç<2‘cR•!Ýë€fúòû;¼ãŠûË™=éE}õR\5¯ÖA$ÃË ]àíÈ­­¸(ÌY/>÷‹&Vž 8”rÝ "ÒÆp8¿Ó®{Êž‘–XîÛù” ®úÊqÄM.!9Õx6]ÓÃ%qȪɻ¿Ó§Çî¾F «=)&¨®®,P沌¥j‚Ó¢W¶Ž±^™@þ|åºäì£ê³vt#^:£N8™ûÖ—ânoÓÒМ´ËKTí(Ða6ÑÉØMôW¦þºmŠIñpXWÉÉÌ?.ç®ÎᇽÛi‰œwYŒÂ~%îºZC©Éu¡vNq˜!•eW™m:ã]3ÍÝú ׯ;˜ä÷OžF¦èÒd<@tb]dLe˩յèÁQ“$£'XSæB7yþ4'èΡ‹Q¾N븋ҙ¯/h¼›¨TCò…Å“@ŒêülÄgZb–eËw¡†?‚Öüe>T/øòßµÙYêbÎEëÖ¢€ÿ—ï½b´aõ=œ¿ÊE› È×&L}2 þ-¶;§•ºV¿Ý«ÙÉù¥¬C™½¨CA}åŠèÿ ˆŸ!UG—³â) *P¾Õ%àtÖ –=—\ã5\—DªóqK`QƳ•† gùÍí,ƒ&~‘|‚ãÄܧ½pð’å£ ޝ€²XÁ 7]ªo»~¯’0ëÝ>AÑ]ô·…Á×u\¤ýøÁ«nç$­»þ™uçÊЉ!®b‡ÍÅÄÀð- ÂÆˆP ÷:Úî0ÁPµ£ÆÙÅ^ôƒ"XÊûþ†90T"æPƒ|²õð{á6ùt|KÉ·Ü¥›üÕÀäfHÍFÅêK—Þ¥¤K¦Ø¬z_;3‘‘ãv–® ÿÂØr°ßÄÐ÷ú碭¼ ¢,K˜ €M»c×3òþ4½/ ªSôQYa>y¤eçùýBC4>÷:ŸVÕ•HÃY©ïs˜w*gêI£”Ò&ïã”âÐçb ±)ž„8±úÒ…´åñ¯ Ó™y¸?ö¶šFô‚”F( ù+7¿âÑû e)†Žß‘ä‚Í×Þ«ä:2Ç}Q>$7Ã|§KÆ7¢7ÀÊsˆZnÞÄc†¾ Ÿº/‡$Mh!ë#n©*• ªŸx׿¹!˜än¦dvpǘaŸ0æÆ¤EØÛ,ÔSüJLBw$å»3!‰K°HˆÎEþ‘0>¦Æçý&8µ’ÿ]g7evœ{¯‡}>ÚŒ¡ZÐJºI‡ˆnÈ®IÆéIµ@Z0é4Zx 2Ôb„R#`­CÌ?Ûñg¢*ù©æŒã$ ä?k2©N“4+-x Ú±ƒIµ¥×#¤b—Ô3E~ÙÑÒ1NO×ÏZ»ÓÏãAÿÑÌ〧$²˜NåBÜÐ×\K'“Õþ#²5Æì÷…§JHò®}ûÛTä‚ëp­%ÖÙµ‹YU¦2Ó×vý×q¢”Ä^ êì=‹î™ƒÆÉ—Bæ…‘zâ­sš•ßá&ú V~ä¤ò9ýÆ2•Œ`3z_ŒÎòÃÁÒ‡d"•ZZÛûÌ y]@ׯb²|•{—ñ !•£»Ö³N÷óÜlé cJu&Ó ½õŽm#|û%ª=÷±©Ñúb™YðÃsi« Vvaa— ±ºž//œÁxÛ㇢ikƒFÝAÖÏ­ŸÏ«wóxI!(Ú¸¤ðk–ÂDfþ¹íh#fÅ;þEP‚UI†=òÛ+í±¹,HóD(Ë{rÀªÒ´”õbK|’V¡úZC¶ÑÛßáåHÎá3!!£Ãì|ìÃä(òU Ò‚ÊVÕb™®5¿JÀP&,Y~ê7š •°&" `ó3ˆÔqSnÂel|ñ>”cpZOìæ_oŸDŽf1Ž–w~Ü5@ªM…6> QîbÖ)™ÂͪøÇÛo½Ý›ï3¥[&’ZÙ@õíŽæ#úñYkU„LmFí䜆Žöó‘ò gÈøÛûËJ)f-c!,r Ͱ—›È8ÿcv&‘ý~Ï5—ó;þ‰Ÿè;š9Ëgß1å°EùA÷ùA’d:7o£&­'èµv0œ¼`Ù˜Æi=ˆ?Á„½a¿a¬0±M4¨¹ë☯”+ÐS‘ÉÑt“áJ´ ¢N‚‚3g¶Ø¡Çÿ…^jyFc G½fRÐ"Ufùa®b¶A´dòɶaœAìÐO¤…¥Ê÷Ù 1,ó¯V£ï¡©CO$š4oZ0Þ›áL‰Tãç»wLu*0RU™lr“†ª©öjÚï/mÀ¹ÆDH×›r[bý:\¸1Wƒ›…È_ì]í ­¾?ŵç2óÊ>_x}ú÷{k¢~Tj¡oÒ<-‡Í(ùM¡Íóų¥žÅ`4¯°]šÜƒoÐñ\¾µˆÛ9çr½Í²L÷Ó ? œ¹Ò2ΗY4éFd×(g€Ë¾©ÿGÇÝÿæŠÅvœÄO0*‹þ·×Žî˜>g+ºg ù|õ‡®‘åx_1î¢Ð]E²«ÅÜ1Ìyôž»^hh*Æ#9®,ãh†"˜ƒúN´RCþwçŒ]ú”8Ë/$ä§°jÁÏ»q¨~Ñ Ñæ‰±ˆšÞø‚;ª56¤,‰h=ð vx¸ø5B éùÌæÖ5Ãw+©hÙà 2îq.Ù7< k‹…ýANATA¦«’I¡žIB¹G7qŽÂ:K)e ^&A2 ]Q^Ôh9H¨›f53*Äãý!.ÂG‹›êe~¥£¼V-$˼úåe»ó©JúÈ 4[9C÷d~{f•´ƒÙJ™ü6$¢Û ‚(_ÍÄ¡ñ¾—ž o@FcÛö¡é°UrI‰OMâ5LÝDZ)¿dêPaÝ\°}X…ÝD·ÇÅ šµ<šXò2J"Lƒ´Ž#Ï+Úž¬AðFåﱪçlù!à#]ó³£×jž7%I™Mcû‚”4îÈ/’©z¶@WÝS›D`ô‹“}gD´ÔÓŒ•®U&—üè™SÎX­)½Ø.DOò¿íaWð§Öâ~~ð©6§ôï韀 Ê×õL +4{Ë k½‡Ž+àÂ&ÖÔ×½`ÜÞÔ¿¾ üsÅ?´R>u‡¼†ô$‘`\¤4¡aØŒ¡†åçb.¤—Éûn9n9V+ZX?Âe­OA/Ÿÿ×ÕJc$ÿ /b÷¢ë @ „ ý[Üi2kŽáùfœòŒwÙÛ!ögb¿i* PÅ2–k×zHS"¾m2r `ÕI”¤ž]e®9à «ÌíÃ„Þ õ²¾×u=§ùÓíž×U¢ôŒ•c±¢z3‘]z •Åîßøž±1ý‘(Z­)¤Ý‹É4Ú§¿m“¶‘ývsý¡x‰"‚Í“×*D¤  ãxS¸Îm!æä¥¥ýGÇ›éTE*G8†øŸ.Ôµ'¬ÀÛ«·MGGvr4Iƒ¬lŽI(_Ps%ñÅlø42j¿qf&Ý~û眛=ó ãèY™@¾ œzý’íl'xê±ì‹¾Q´Úi.½D—ž ºXÕIÀŒ}Wñq>?Q^Šh¯p†î¤ÙÒ(*w¶®Ú0Ũ¨ãß{‡Òwñ<Àí+‘\~lê%–Øé*T,ã:¡ü˜ïð7HŒº%m|Òðr¦ªÏÈJï2¡g·%åÓBÂ*]tÁqE_¬SÔvR´|0;Ò93Šmb‰ ¾R´žp+¸'¨ÀV*”GGÞAÚ€/Ûí·Ï…[ïIc;Hµ-ø„½Vîî^úv‡:f§aiypò¯÷Ë1{­ÈUðÃh £åeÌUìŠÙ×§”•mr_#ö¸©8JUóh(JdßšãáÉÕ ü©u76+Ò‘Ÿ‹¼LZâ­ØÜê¾0ŠM}#·ð|Gq/€øu¨Šô˜øFUd,pŠò“”ÃÝŸ­ßÎݬýtoÓ’ÒøS5‚ªŸ«×5ÚMÿæm¢€TŸ™£ùá€õÌÄÎ'h¹7§èÃÀüPa†3‡±ruC#–ŠorÐù…:ÉQ׿8‡&nÎ5Ž¡ÏR3oÀíþôÕòy¡D~ŒµÐsüöó×@|å3l*™5h¢^_v^åŒð__¼’•þWÒ>ÝÌl-ÒY³8òDÈ@ü†z(³"ªõ ©Ã| ]Üðp¨>ÒЗÃR$£éàÏ_ö±HGÿ;KùéVå{‘ÜÔ-’D¶Õ,’ˆ•ƒì¼ ¶Àrær“\:&øsµÿ¤£ÁôàŸ:$‘'sKîÍ~‘]ƒ~‡P ˆ¥Š¼q®‘P&fM‹T0ð‹Ü<ݹø¸¯ú‡×X;ŸùÍ g »‘hÎÁ¾2{Š}‹÷‚¹ä2)¹õTAšøLÏš¢0©æY[ŒZÌ1h?Ê•.ÿéçþÁ9NLß(ÛæAÆ.`ïBŽDÀš¸^qX xµÐd„/ü–øßhAltfo¾2«ÕwF§Z6Ù¿«X›!ùÈ#(z«‰M2…ÇãÂéy$Ò"JŽVû+S—;÷m²q™¨爄¯x<üM^åñ|íÊžÃm"ÿÈ–kBäQ?ÿÕ\÷­1ë*=XM,3ÚÝ¢†´laǬ¥SE†Dó©M†Ôä"X‹ÀÜ#“äP3óƒ’gÔï*[¯²öHeKû˦ô®NÅØuV¢Ü V‡ðD· Nãù1uÏGëN´ƒCဉużö£ñÌçUmŠö] ñž¨"­‘šN¯hy‘eLÙé¡Ö.*¸‹—µö›Š‹R Ùšq‘ZN3îdõTõYãȱßh@Ò)9±Àœ=°°¤” åPž1(ÕiC½ÁÖõü*”Ї*× äûh'qIëGCòòS¾ê®iKpMè¸Ë²ÄŠYw°¨d7÷§;ÿqJœs[c ÊfùÖ{hUÏ›Z³}êÍ=’](<*KE+4©¬äí{¬W—Öa倈®Q^öQ •;ñA›=:§Œ¤à v…,.óÐEa$è-KZÎxóÃLóÓnŠïß÷í¿VÝhB†çßo#Uô£k[¿ÊÙZ(^‰%«˜霺Ÿ… ±óãl*jáJù¥µ¥™gÂÆݵ2¡£ "¥AÛ‚Â ytžó±]º>y¦™ÄÜî'ÿ³­#?Òu>“W?rýº@D3£ SÚ¯ÆS¾HóÚ"ÙÛ€¸.9 Ï¤y½a“ÚZþÎ_W9óÙqdࢡusýÏ Uø>,Q@’Ÿè!€½Õ…ѶPeU>ÝŽ^âb ”ëvˆvB†)G~³ú”p†m"“­ÒݦuÒxœí@Ë%ŠW\ýÓÖƒÓŽ`’ê/ÖÚšSåt…Íù¯’ï¬íŒ;|ª<ÉNR9ª[åx7žB{ø.Úg'¡ddbÛNê2q É‹LþsxÐFU'ÊË„Š¹YOô©¬®Û%º{(¿qÙ8ï§ž*µ¥ø§4V51f}Ñ£<L¯ižx i&|kM7o@ƒ2—½ÝKâg\Ì÷V1&°?F˜Ùn'\FÕÎâäøå¬vs3ß©""jê> ÎÎFÌ414™@u™É6è<Ý•d¾Ð Æ–Çæïh.Ú‘?ñŽ]âãX ô‘ßl¬‰÷™ÄRï¾YóKYWµUõÁˆy9z+—3âNu³áëËý§#üèÈ [éUK óZDME.ã¿C:gÊp˜6ì]^P㙯Ízí k2µ CÖ1>ÄÄ:Ësh¤¦k½ëeÅY‚¢-|΢Ç^Hñ“Ú Múw¢W3P¢¯w¶pz­ú*ž•°0‚õ~e§÷#’QýÁ¯–¯#¡7I’µ2RÃÏn™Ÿšs:HUÐ[ÆL!ôYÌfe˜au´‡:˜Öé×cä´Öô?$sÛ7ˇqªsóQÎeŠ’Vô )ç={J…DÖ™ 犙˜OÇ&Ñj*ºO²sø¡‚  (g ‚öš¤¢1QÆZ)íy1=|åm5}F÷fòÓ?';‡¹r€?Ýþ|‡¬ 3pÒ »ÖÁ¹hÖnš+¦ÀÎw·¦ùð˜?ùj N9ŒHòu– RQļy.Ž´šK;H@¥`ér½Í7Ôzê©t%‡BÒæ>è¨C„C:gI o« •‚3¦TÉÀ)(O â H0ñ)}<(°ÞDMÇ?‘»èGvwrÕØ±”¨í¹œÆh ;½ìM,Ã$8×>¸!K¢&§÷Ro^ׂ¿µH·0Á…‰š¹²J°÷­¶(Ñò ‡ wg´¢ßHßKã›*a[hÒÎPïn$rÙæÅyÒ®?mRÌî—ž‰Õ¾xZ{êðsN>aï« ¤G¬D)üõ»'"M‰ ®5«Qt\A¤a?B÷·ÇO€Ö;W(@g {‚ýC˜Ô•(‹ö d‹2g<3ñÝgâ¸=;˜vß`P) <íŒ+_baèx'ºàlh!Ú©2ð%Ë)Ù~9!ë6©ïIÉËyÊ}“Ìgڽϖ܆ZÌœdTûÁYc d(ð…Áå Ij6ñ2AF»àÌ ðèDÈHoŸôSK¼ÿþĸMn˜·ª†eêá g‘Jci%²¹Ç ’hÑmOqŸÌ[ÑȹÐí%gGï´î™ÌÉRÔF†©É¢n·B¶ßj}Ù£{Ûš¶¬õÆt×U ŸøÇo¡;önæÖö°Ö) S‹„Ãt£ÖèMƒú„‰< "Üo>Yåe€öI^©¦ ôþ4 èNNˆ³¥5%¿ŠˆX¢«+«É/_Áj†«Þ. ƒ'……àTë Ñø›¦p[~ƒ®YóýP“ýg`™9n®æËEýçs OK˜g1¿k²kdªOBì‘ÒÅJRdb3Þa+øà—o¾AKb̃Bâ28m©^º•ª§KöM’@û(ž3Ò¶µkßgwÙ¥½²÷ ;GOsƒgT…w¯#Ýo0…“ËåÑzþhŸm´Í!M¥ÍÆ h­8ÝyÖ|Ýpsî;¸ûqP÷ù+r+”MèMs‹â ÿuךÂcvýHù}lwjŽ<>êuÄ,—XõŠæœ¥À ,-y5Ѿ¶¶««ª¶QºÞÃ[†¼sra®;."XÚÍjU¶2¯6Ñìï…N¿ H…jˆíxÆ­Vîz™-~E$ †V©ó”~oýsÙ "j‘\/·r¦Z8´àÅ ùJyЉ©¨>±•WŤ¢ãDr6£ÜYkìJ†>>4dʧã»/ynyM´åÇ3‘Dq3¸•”pj(ˆ¸í¿¹Ê¤N3g|ÛSZ·¹ÌÎå(èc>^wQBÅöñÕ¶sÄ<¤÷â“ëo*ÑJûð\¯AÕ2‰>ÏS<¶ÙOœ«‚&FI½ô  x&YGšà>V¢ÐÇ)LMŠcºÃ¸rës) –òæ;sh ÿLoŽX suØFê@˜\eù¥ûim[“û…¶Þ.3i5-=4•Mˆ¤Ô"QV[yæö¶Í3dW…’'5 9º·ÉE%­þ¥Œ˜í+Ž#ÅjGE‘fàBøÙéÇûâ„[bq 0Œëë¾ÈIòRX<_cž¹Ûî 2j0¦ÓË1Bíåk)^%›ïgm³n‘JÖG ¸–ÁrgÍbè€Æ2¹¢±þÄó8E,X¥ÙOLï2iÅìÆ&Kž)å„’øØGx®¾úúd°vŸŠõÁj\!èÇû;Qe_\éxî8ŒV#êî’ï¡#ð7ßL¿3:Ü1óôÓèqÙ&^´5‹àv´¡õÅ~LÏ=Ö@/€4ôE÷,Ñ kBJiêáŠÍïØÖ;ðÍÃeEøP¬jÿDHåb:œºf¹ÿ¡™ìÆ`°œ¡ÇG6Œ‘‡ªS.ð‚À;ϳzšÎïrùí[N(’ÖD[œIi7oÝ«S½žö³¯¼éæ­C7%_E3\$/­ w‡àc_ÇüCì¬Ñ5u'Èd·´ßû#lÃÒV˜[‹BR_oäÛ[6¯ŒûDÊm­¤¿¾J%†[?°Á°o„Þ«G»Š:vkvìwÃ}ì )ZçVù’•…Úƒ *À¶Òkt–Û#4pþ‚¼îÕ&Ç@ËjIrl®ä‘Yær§’·Þ Ï*=5|`òV ‡›wÚ—!ÖÈ”ašï㜯uš¨™]n*›'Æø<óA:›P6ݰb⦸QÁ ²IU85ÿïÏÁp;ç˜érñV¹Ü4—jsQ¦&í&(LìbW¨_*<ñžú!“߉à­Ê{ø•ó«ÎRs¶%É7jIuõ …±Ý>ø>HÜË¢¦ µ6 ÿºóU  œH¨nILI£Ê’Òܺvõ‘šª·ÃöíÈ͉®M+¢³¥í¼wM“âr ÊS§<ySïßL=§õMšÅj[cÒCÆ>Ït540òÐúû@Ѥ=iÜb!¾f¤¹ô&¹èþîékƒH1b½^ÊúÆß´ÂÞwñk?^ï¡°êá³÷ŒƷë!Îg0‡¶Ý'I½æ–’±&μԭe-ìŸF~ylŽÚ¡v, …¬ˆÉ>tL9{ÈüO&5•,À…PcšÉÿ-Ë),-¢.Q °J¶Ãéí×îÆ8Òp°3³+†ëx[ª}ß "—§×³¬ú¶ö!‰f®[Ìi³ [ÝßvtF$ Pîw-=ŠÐ'ñ• Ùâ,vå¯uÆðVY`¬N´éÿ;íG¿—³'›Áδ鉆1‡ ³)"ÞN_äq³žmmA…#xJT¾+ 5¡lº­™Å È|²&§{$ æÅ‹¸¬û?õ3æï½<ªy€¶0xÒ MttõL ŸBǵ˜Þ+´kÝO ð&?l¿vg…¼uæA÷†Êê •4ºŽ¹eÃ$îh©µ`ªÏ{CÎ…TZhÃàØE¡-Þ€?Ž3bCЗŒÍfÊWb]D´ï›!±Š˜r§ÂÐ[aUŸÏ:pŒ$ü(G+, Þëå? oà žâŒ€à{}´²WÑÔ”¡wM,™ y³Në§½Uźíä_î«T×cbr40ƒ™Õm4{×C¶?oí ­‰8ñ«©j!~‡VuØõí¿Ÿ;ƒ~Å-¥¢Ú“èt†•ãW ƺ̳û.ü{‘5ðÓýL*]{&&ÚöÇCÿ:î3m8gþñÆò2ÐŒ ±ôÇÍ Ê‰+ÙdëÂ6üm0\%ѱÉ/GäŽüÃ¥•ÎÙ¸ßí í«z³Ÿˆ 蕺T'ºè6J_S¿¾Í-ÏÃ@’ëK½}ªK 0DbâŒÄ½x(!0Ç3òO7\^QÈ·®ŠæŠ<‰ì¹²rÁR›ƒâµzJ0RwmjüCÀ6akPF¨™â¡?i(en5ÓٹƠx(R1ÁºŸâ ÉËÔh»™W9l'ѵ,n^æñ;î‘a~'ßÁg"ÿžúžß5‡o<îý EÄtYÙ¥ÆÓ°  0BsÒnš @Èæm—øïĺa‰òÖYE`ȉ ‹ÞÃ/üŽKäÝb™¤\ìTñzî‰4›Ûq"`ÌG˜Ç‘¾4}9U?4gÔwøKh4$Há'ˆãÓ†ºê¿ó¬Ç€.~øÝiŒ"R?Ì*˜%Ž/ÿ¿Ùnw…3‘¬¼Nyj±¶ê–1—„÷”Ù8î››ùDOaÂ!„ÕÌj¸±k}8¼WmÖ~LAJÂ~M.pÄ!ËJ7½öÿòÕ‘\ Öì×…@Š“ìµ€_Hð±cÑ?Gâ¹MÌ¢³‹€½:H(èzólN$Þ?·+2Œˆœ;¿ô’?LAó¢©A;NÁK¿0·½$Þèw¹¹´› ‹ºÈ‹«"³vcê Åd¿¼ÖÊv„Îx(¤Ò2ÔésDV#AÞž;Æ¥Òq£^O*òORÊžSùS+c¦¹ì.œ*¥ødÓ¾û#¸4r˜ ]B(Ëæèn.˜ur‡¿Ñ¹2'ÎÅSm”9~í÷NԢΠkÇ{ÆLkpÄö{ÕGAÝéz룢l þýpê¥Hæ9#ËtK3$Þz£™™tKxÐ×4ÓÈa+É<öY4lüñ~\‘L½·˜×¡¤ßxWÂ|`ŒìR>ÆF±O’Ȳ$X‚ÿ”-óô(Û-xæCÐô«$ƈ—úp˜DÎå"ɹÎÖgµ,‚ùyý’ ~I&áê»5Öu¸D·……H`l6yßJ'ì‰7LönÝçËßYÖu²$ºÚîíh-2cì(lo†¯žOô}bÌ~«ý«®ã™á×=ÂãíM²|7žfr~^ø‘x~ïÓr3ÔÀ*•ặÓG—s;˜Ê´Ï#ï·ÔœWøÅsŽòµ4÷Ãýì-¯Ìý0û3 R©±U›çËrÂÁZHœŸbËšýqÕJe §‰;z'…r„E¨vä~ ôhȳWn1SÒÖÉ?X^Rq- n+—_ò&ÍÌT™´ˆn…Œµ bU¦òDÇd~ÀcÒÔåa¨sI¼„ì‰.`ˆÊ&cAPYÄ5&êOê÷á©xêôËá¬Û/¢æwUÄrtFZ‹üH²KÍÓæ~!ñQ©‘m*ÒB¦ h}Iù¯ðb`(jJø ŠyB‹‰Ÿ6•¢fy–y±»‰Vøƒò¤ÆnnŠoBœ«ì{ðœ‰î~•Oº•Oâxº4t î¦9Jo¨£I2d C»ÿÊôm±bîYúT¡\G¥óüðM5.A8ûëæÑsPœ°ÿ)ïFîþAfX׃ËYçÌM™FmA „TÀ˜ï^ªÒ‘ ;j¦K{ gH›mX)ÿ?½Æ´méuxœêeúžNѲŒˆÉZÕÀW&‰AÆÖvìs“•  ÜJfã+@„9̶>¡,‡øö¾Êq µøYcçEÚZÃY3äSŠà›½àéV1(ÕN|ˆüƒön;t•ykÔ/{J~K`Ifw¹k6F,·-’u@‚.„ÑúçN³/Р¬å7^žÿxáúÜöÊf±ÐÄ1p¸NŸ¾ck=`3çw}ðSqª7ð÷|º:hk)âz²ç¯©låIN­=ïú‚‡Ô­^àr‡ðAgà ËúÕ¼µ¹†l›Yd¨Â¯I9Ž ­’.ìÞÊ™ü™Ï’ÑȾDtÖ<ø­6 ;•œ[ènâK¥ÏdÀƒÊí“!¥ l£Œ \V6Óu1Á³LÓ‘ˆ1,³å‡f"ÒHØ^‚ÓŒi¥šú]LÄ÷öÄ÷V6‹7bÚr×ñ¿mu•|˜ º¯€¥§é%SçŸÀ£C,^éþŸ”Èýu™kv´,8i̶Cþ|mƒgD}jöÄh[„F$’þÁÙRÈ|dþf Bç ©!øªFÊyDIãCF¹>ñø•UØÏºJímš|í´§˜IL“»Ê àâ1½K|5s€'ç÷…Ïø% Àýuâè²by©B¼ÌÆÆj…W+ç,™¨çê X㘡ÐïìÉÓE™”)¶K.€#:&×måý_ÙK)/’¥f ¨Õó>Õ) PŠÎ7Î6®ìx … ”/»“øÒ.þJ~e¾r¨yŒ½yðW“¹}¼ ŒPYÍÀµ,9¨ÛÙ¹ö~-‰Óg˜Ð›V=TÿX¼.>¬ —´LJÊu‹«:ðå)<ìÇvø%$ˆ¨‚çî•A¹&ï€sžÎ<žM9VW&–Rx¼§Ò|J¸.‹H«&ÄSl_f²XwãrÒx1IÚ†›äL|Pa?‡0¹½œ5‘]ƒ#2û³¸$Æ#±þ=ƒ&õUáš5iã"æÕ¡R691òr¦™ÄçTM8Òõ£vl6è„so €ˆ¶†â… ¨=Ì!ÑÁGèʰÏF*SÄÈâ©—Ë„À¿gP/=`ÞÑ 8,½^\UNSt˜yZ%® éÄ:÷Û7ÂÆeÃY‰êc—MéêãÓôCµ1‡’ú+ &±ªê’e¼Ãˆè>!ÕJÐÍkœÅØâäp¦úÅ¥«'U-‹L5¿Õ ¸é r@¢à°µHü ·uaI"ÔØ]oD›á³Úÿ™…öÐÆiÆ9çÍ*Q½lEb½—_>G´"F>Á$’R&­º¶bº~´¥–sÚ?¬Âa ÆÁ¯NÎ`-Mýæ'rz9OÿŠ ,zgïIþÒìÑïÒ˜ÌÔ6ùG$ê¿m„T5˜¸Ç …,5¼ÿC*.Ú€CžùèR—UžÐæD‡®Ë3jxéÈSbü½àIk,½ÔfBîw»ØZÅ.†#”¬mwµßW×xÉÓŒ+äw=ï$îž±NDù©O–¾’A=XO$åßK½86äÛµb ä«Ú#9‘{qµÊºž€Mv]GžJL#aÞüù)|ƧòÞöI‚]–Öµ’Öt‚5Ì ?ï–¼–ét:[uúç@) cÉú«e`þöù(=&†þ‚â‘Øo3Ìc3lBKgÆ5Èl2У./Åiئh…qBbì p 4ÿ¤‘ä¢;d$®~l—°TyX6Lç€äÄò@épÿñ%ü™è£ÐHá@:HQ}øª‰÷ãÂ|Y¸xåhþª›ë¥¦™#{ÍÚdß\Eá¯)ydG7‚a <KAÖpáôc¹ éïXŒey¡pü jì !Ézóþv³Sã¼ý¸è»„ÏÚû"žjº±pzRÿt-HÑì˜ià¢Ý*Ä‘JÒè’S¯$|ÖøÙ,Š`…ËA0eß<¦Ç´¢Ø¯–™4¦ô™‰\ÆC‡§‹Úå(&çýÑBÏÆ‚Y¶u_/‚¤cÕ©ÐXb¸e[H×+ÂQ@|ŠíVUý"À‹éˆSöîÜðÍÀ¿ŒŒp‘ìÛÒü L.¥ŽaöN%Ц~a»5ªÕÎú¥¸ÿ ïÅ„ƒR¥§'u)ŽÈuÈ ªð{pàNÎ XÒ8 ›Í:©¹€1(AÑUd DÆqþ]ʹPg °qˆë\ÚK¡5‚—àÕl¶ÈẇÕPÌ.Ot:?ªlépO8ø5Ö¡1¯kµp“šÁ[óäoûïQéyˆ…!¢öwWXÓ\O72þ´W{K€¿=U†é¨HÙ Ø“°°WS×Ú›dëiÁ†çï;ƯHdK`ú1oüŸ18äˆT;¤6‰¡¿{ é>¹‚»8Ýp÷'bgƒVQÓO%ý4è]סÄ¥©nTÍ  ‚0GÓ,Y†˜üÈâü”xvFIÝQìGª‹‡¥*ß±ÙÒ-Y³Ýïªb Mv=Ô¦ ™EÊA‹bZ»à«ªþjÖ€’ضïçݾwŒ‘ê^Š®hvWØèâ£Y11­?mJý°1 ]š¸Dñô t¦,¬æ«'AöK%Rr-±•ðûP1Y–Û#Ó¹ù˃¬%ÖÙØþͤ±ÍY<å§»yLò¶™—¿·³», ßï?],þ-Ò¤€ªé8§‹žri6ÞþìD–S4Æg?% F7m*­·ZÝBTöå¥YM«±NP‘ª¡îÙŒÄ åsiIîˆ]ÚŒk_S¤±—Ñ3Ðk{VæqŸeåÕEcF݆8¶å°±%+ò^—ék5ç£XXV¥]ÕEʦ>¾ÌnÍó×½UNî©'z.Yö~Éb‘ ëQ§ßu•M•[ˆÑµ—~ßsÜè»bÙY–#v LÄcSô^L‚ ØmËR"ô:o›úX.Ç|Däîþ¼ù^ Šv¡Ñˆ¨Œ×Ø×9¸:¡Ê¨¸U½Ä„q ‘*±žM†Þ?ø²T¹ˆ[û‘6ä÷ø FJ’´âAB(&$«Ê4î`_>Y2Š%³žäæ k4Ìs†O…¤O•å< *¡czfP<‹’#hFí†ÄTZ(«C@P@ŒEô³¹º6ÑyöËÿ~ýÞ’K™ »*Ètê´Y>pú²;5,W71:•Z<R¿›¿½sXO.¼|õÜឃO$‡ñ›^C›ODê>•7{V«ÛYŠº‚1ÿ ­\ }RÈ¡T0gÈJáWæí,`B,¦lè$¢è¿_opäó£/-„ÍpþW)ÇèvìEY m0 ÊØÍx…\ç‰ (æjÁ* vî7¤e ÷ŽõAä=2Ïñ+&Àn‰kȘe¯™ÊéUqK×ñDæd> š"¾ :Ç_!‡+®d·;ûܺ/Öá¡z¤§ã1mÖÙ=ÜïDˆ²ÝXóYž€¦“ V9ú,iaÞÃHÄýŸ`ìO ªÒÑË™Úã›ÓYô472ý£f/Øÿ7„†Ÿ°6«,½–AOmC´_à˜Ç³çË+ëTJ~ÂHq5þ:Í ŠFªV'IÛð'b)ˆüŸôÕt¹|ÏÈT*6ˆk2/UM‚ÌC× ÜK[î ¿Á,…ú3ÃðÏOßSt¶èÚ³¿ ‚œó„ƒ_å#ŒE*\­æ%`q=n—{®ÖÂü¤ #xQø)§ípþRÄ6‹ªgBûø¿Ë8+sÐLÆl%Ãÿª4Ë |PæØ-TPV°QTi1öY:Ú£®L•‡A!páÙÉÞré¹Iø´´1@Ž”Ø H×+Åw©9ò©èž çwÅŸ®ÞYR¦M2gš/îZËe´xÅôd8Qßžƒçùt¨yý{¹î1 •x¨ î isç#VxYÊ}'P’¢ @9'æƒH)¾`ÚU’<Œ³y¯Iàûq;ÞãçP­û\;:(#½Ɉ÷…nGÒˆ3Šo¤:!Y¡ÇÊŒê]ªBZ½4ÿ3W¶}Cä–+IÖ¨8©Óg«`V #CÄ㨵 ¥ôñ<`j):¤¦9×DWç6?ØÄt Ë·ìè—¼i½½?ä˜Ä’A¿–ý¡ä}D–¨} …qÖg‘pÕ;šA…•SÄéèׇ|ùs{Ø£dÊj|tšÞϧW‘Nå„f¶ SµÀ÷cŠ8x\ G¢ZøÊ5$^]ÿH5÷Ú¬qnƒƒâµ8à(П2Òü²kh¿·Ê—;$úwЇ·õ¾úŠaŽ™²©®ý”eyg¯«jù—g4béÍEfˆs¬àÖk é/ÊC@3¢q ‘†’LžàEåˆþq"·è¤TPFg‚7S)Õ|»&‰„ Î ì+OL3€€Ž6Ø_nq#èA.Y»D|<΄Î3´díBÂ6ÝN(}FöˆƒháûBñ/î+þL¯¬×Ï5PFŒ™ú°"­æg|kÐãáau½bÏE@«îñ{©Òø0œjßdÃíú4Š#òyîP"¡w;ɬK¯ª®'Ôm=¢4ýЪtßÀ&Nsø6×.fcEV$#0´ëÕšd,¦Œ@ …ÖßAíÇÝîd|ï˜kqªÁìb3C*ÞA¹j ï[|ë }J7æ×ÖpÍ’ž >X®zžäDŽªÖ˜(• 46tÜ%X%W°€Àðï(ÌdºY,qH¬uz}ÙZ,œÁ`"]ÍYÃlõ|ñº×yñ•ýáá!»‘œœh", ,Fœ¾Ëÿ„¾W Ê‘•b2|ö–R¥©OéÜÐfLÕI³'!Ý9ãÿ‰bg2•y b îú÷ÇߌÃÙÓÉu ܱ‘ö£¦Fí៹d– ^È-‰=p3í`ÃYJR€y4n k[¡OTqÒÒ2ÖX°'û¨žñ&@' HÞ>Ü'Ë×&ÚQþb¬jöÆÚžö¼È¦À”Ôö3<ÿçTþDU5c¿B@HJºñ¹.ÈŸ7[ÁR€~3†kFßAÈÙø§õ~[ÀSr ç|1^ù¾nÜ6îgìXxÃæMë,í.´P‹I¤8z•4D´j6&™­n_b:¯¯~Ãp¥­C;Ä*™_-GÖK@:Æõ±® àöŠêðy)SÚë/€î¦¼’ŒPölÆfþÙäÓ$Zßg¸Q1kN§#5Â=€Þ8gÔ×*ZÙÁm»p!:=ìÿØBdñENPÔú©ŒðF‚à"éÕm¬õM°E6Móí60#€äE>cÔ5Þ?Ë0&·bzÇ“Ÿ35Àxçs}ËøÈSÃXB+íÖ©–š8`:<Æp.CÍ%S²Qy²ö‹( Ï9n~+ ó7J¯P“zñµW1\€3"²É(t¼’ô¹uð `Ñ!Ø‘`žÓƒÔÄxK³E_‡–í.@o~}õÑ‹˜ÝòU Ö7VŸb]%s¾)µÚ&¯öýU±$Ô Ñ+’†t)ÿ¢fä·§VÆ©YJ# 1W:Îw|”1²XU“¾¯_ÈbóM ¤J ë`Æq 2³ A;Ü”" µhœ<`/Pø©M<&`”ùÐ÷>s‹1qûd6tÆ1›jRDmÖâêjÇãM"¯,kŠ}ª­qYíw=4òTxœogG«á5­WZêŒZ oë l5‚Ç»X3pðŸbý¤”ª€æyr;´Ê‘þíË… þK};Ó­äu™³{ u/«á0k#é˜(8,ïÄàáo¹YñÑ8«vUžS¿cNèÔ6¸&¿1äô«îŽ?Ýá‚8bršdãÚÅÛ?ÇÕÙLµ‹ƒÎ/«¡gƒ-Av½¦µ6iˆ–!Çô )5“¯ÃÚAÖ»o§lˆÁ§Ó;—_ð™D"’G£Ðj B¢ór<太$Þ*.§AàÒBAMYBjLx9&„©²G S©Û°1¦ ¸H•“d{ âr¢›´µQºd‰ÆŽ5Hä P#ác+“{>%Ë눓÷qh3 pª™ª„gIP¾ž3£ *¡( \Ú Pßô4z“=GŸ$¸ÕÄò›vp÷Í׃›:¢¡®BŒE’Ìpl\`^>î ^ÈCàùP9RZt%(~Ô'N,ÇE_§ $£°r+) AFaب‡9)²©Èš•U‚±¶*€%avù·aÞHì +Â> Û{)"Ëá˜LÜÛpœ“ä³3£3—ìÂðЦ‚µùcŒ- ¶"%ôèœA1Èq0%þŒ‘0‰KÅ)ª&Taã›é™Ü¹}º qKI%‰“×,¥wJ ×¢»’›™=ŸuäV Js‹AêgÀš•þ W^eýí>ð$)*…*^w™.NÓaާ¤b2,+Þ!!€Æ,•€F•+ïs biÊûUè@P Õœ…T2O—«àbÏ9# T•©P…hÑ Òæ­ÝT†Ö¾ÞP¹WÞ+-QÙ¨¼©ÁH`#°­ÚóÐe]‰daÆ?"èNyëu/›g£’m °V÷4/­€'Q¹JÁŽ#…‹ûÈ öå1ˆe㔽bÃT⯗LI¿v"rðÕmß›yqÏüûm_ÖsÝòkÆpY¢ð{<õp„l…àIˆö‘3ÌlBÎ@baMËkÊ©Õ.ú 0ôèø9¿D”%gøJ" ™(n\9ÆœêùYÙÓ?ÔŽ¨.jì•ýRáþÐÄVൠ벛ÎÔL4ÉÑèê$Iî—[‚ØýÀ-£ëý¥w­E<æ=aÇdÒ¸u¾IyAS–úüQ¯0Cüü¨ ¼…Ší­  Iõ`„dF߸R­3Õ•Ñæðà‚‚"é"lsÚblBxVýƒ|?(ç­6ÕI½ÚlôšŸn¬ÃìuLe­Òb† Jî²E°`+˜«Éÿ§ûÆwâûÌÕÖ’3åb'Ÿv«}È\Œw]-§˜Vâ–‰§-nšU ì.Õç»!ð^&#ß_Ô=‹-ôg%Ò„@- 01ÜÏоOÜ"@PòªK„?BÕ:™è+ƒÀÖh`Z¡nÃŽ;?ì aîlÎqå{¢ !¡.2aîTç{ðŸogxÝo*ÞDB‹Àb0Æg²"•r ÷PŽ«Ÿªi¥Ãtcà¦s³ôÉ&Ü¢+ã’öÓ·Gs#M‘-Á¤ˆ ²nGûÊJ %pÝb»<ÂÓ0.*¥ø(1…·„_£ÂÖÕÆ€Q"¶UBÿ§e­YNî9²S0÷ŸoÔWð”oJ Ue6œ—Åm×€”}õå À’¹HjEÅ'%4¥ÙôïTÓw^á\`»ã"òò0|b Ñ=âÅ]þŠ ­5«éµïxUãj¼Ÿoº&ÓB†U{ªJiä&!£ h”虨é=ùüJß‚Å\n<ünÛ3~m1á×yb¯û‰™Àê<¯S(±’KG¨_ÎúuTL€üù`jæ¦L2Pw@î} 1ƒ:ò"xiD­Üuü¼Þ«¥7³€¤I÷‰™ñÒF(SM,€!P‡|MgÍX.ˆá.—cvGºŠ«6û"QiÃE--ߟǶ¾º´À ÛîKËç„ðíM#bEÏÄ`DIÓÌ€å¿,Z<f$œÓÙÞ=çÆÇ²73Ýq"-éZ»‰ Ö­gbòT”¾°j¹4ÌgÂ(”ýXºrºU‰,ßûXáäà o€*Š“¾tоUtšŽÕw‹Ž›Æ©íC…$…f5^²­×>±S¬Ì‚ˆK*$¤°ûm× Š· =Cz½=ÿÀXÇËkû[¹àß>QGd>wÓ• Oá =Kpã a «Ò¡I¼%ŒØZVHÙ`HóåWc8ñ(ß)îÉ·'Þ\²q ¥Gé¥,uîMç³¾ßÜ¥÷ðK…'7„øݪi)Ñ8©*ìCe#v[*fè`e¯ùºÂ;÷Ý30;Ò3+E ú3èa¬>/Ÿ6´!(;ñÇ2ë'îZmã\ye넲 ®¿Ygº¥àÐ÷”€ñi þ”d(‘ùðÇP«±¢Z/6“ZwšÑˆL µ&m¼<(û;߆úŸ— ÒWàž´×²Ñë  Jé ÔØUø¢sp“w/˜¼ãü4ñc¬ðؾZ{,Sþ2g£ñ ¹Åÿ«J õy°Ö¸‰Ÿ–Ž«I Mx´Íxƒ òœ‘—igáïǧ©‡@Â̘.n"UõžÆâzˆf®,ºÔ ñI!l¤¬Õ©ƒ?ö¤Ê¸®°õBw þV&üêÒ^ëhå5¸ù#·B¸DÃÚ xäQ£7&°Š ¬6öÃ, {É**Ȥ=Páå˜ÂÔ’‘€ýÈãê´§1Žý€ Q,òê[EdÖ”Ø7PKuö™a‡ÕòÈRE„é»Uú’4U/–)¢©0¦mQ(¶³´ÈøÎ|q~N@®f&Âï˜Yä}³±O¦ò·ËÂøŒºÎÙˆ"ó\&,<&U<çH ­< Á9Ü:Ê»›¢Ÿ°iS¥ºwèÓÊfÀÄá4ù±ZÈìË=Õœécg¦Ø€4C Î?ªóöÛ>Di‹³\ÛÄÅ'×ê9>u¿;….ä©o[ZHR·§÷¤è$Ûð´Ñ‘?~€¨M 5¸ÇJ7v‘ÁÎ8½‚Ykúƫ܅UJ°]pd:ªÝëÊ?·ˆUB3¦àËÆeš¯yW©¿Š¨˜·B/™ |©õ.Êu> H'Qqe–ÿ«ÝKÓè:dX°j¶ÄÍ£ªQ@Qzq?î÷ãÃŽ{0¡äiÿ/ûY§ ü´ l¬QÃïàoqŸnü>‡Þ®þÁi\aÏÜäa³oÂŒ©þ*Çëñô÷{%:ï6A*®í„gí§‹°ªPbWàý`ŠºÓçÓð9géEDÏ4–»ïïA"&¼¦Â¿v\ùÔ ¾„ù~Œcæñâò üÏ6Š©-¬•›&¬xºüß‚¼˜ ½ôî!Àqô…mÚðpµVwª6_oçSïÔÞ×욀ZÞ¨d›psJbÞs±Y59Ë­·8ÎÆ"¬b _ç/iŽV§/pÄ¿¢´Tt¨9« ³&c…PÁ”g!ÆpH ä)Øý‚T£UŒ îxE§jÇVÚ/d`é%úiýÐŒmî8ÅgÛæqë"OôîŸÐËqÃ.k-Ù#áÂP¯ö 1_ȼÐõ˜÷³ÜƒàŽ9OÅ|È[ž?¼Jw¢J´VÖ— N83žš[¯ºODò^:fŒÚb°pˆ â×Zï›w(¼v:[…€6*sÓ$þ#…ç§&±ÆœïŒWFæÁ/ÎíûÒ§©çÃ.á#FÄ›PÊÕ‹ñ=މcýgˆÔЛÕmO_ªÕ&ËOW¹xÁ1G×ïž²Y>&%Ñ],2§V«ø²ub¹•s6 ÂiîWÊA 7aö›'˜aÜ»½¡Ð«l‹ò½ÿxqþÞ,[3,Õ>±Kù÷o“h룶Èg¶îÏ-•‡K’ÂN7ȇ^¦ÚRÞzI,צQåkÞ·IÜŒ³=¯Hy¤Äùg¬"²0hv ºÃ™n×?~˜.‡ ×Àq}KOCxeʱb‰IúZ¬„ò¹z”'láè£Ïêw¶1+HÍ®àÞ¬¿vm{]ÂõŸÌøìÅúQ G§¢X6é„Pëböàêßóó ›„ZøRÅ&wGñFñ:ÒÙc˜#¯u_½†I›]Nê†lËÂ'08>4,àB°PØ+…0Q=ö^‹»Ý­\û,™–þ/ÇN&ûrTxÍe²™~e”…-ß~,[“ÿ8­6`n±gý(ïå:‰Êèâïõ&š5þ™T§.žW½õH.jú…}ˆJšÏ‰:¥:ùy·ÿkÄñAxI¯oŠïéÖ`VV¥÷ÍödÐà˜¾ïo.HŒYxºŒ“ÁaÂcRȲ˜!ù‡aÎvÿ¶ R …AGcPX-›è øÄ¢ z$ê©Û¾ÓB/`PVÁÀÓ¹¸8¾koÜEç¹ëØ€6VfÌs&~šH†³“ï{—µÌÓÈ—ë­œ`nç¾yÒ mW¥¡O¡”Ú>е#^èž´ð¤rŒ‰ ¨Ó±$" Dâ³zr{N~Mo!Ì‚(þ’`êG¶§ôìhÊK-¥™ÑÊ—÷£½úƒ{¡Œ-R*EUo~@é ; ¤æ¤9KT¶Ç£±mëßA,7 G_ »Ï™¿?òóN¸f¿Ù ‹ t‘íìÌ­)ijˆüŽêÌY››;2ˆPíÍZz å4½†«®æs²“iZíÙrÝqXFPÕ ­ï«’ÍÒl%ÖrHŸû¶~\G<Θ£«Ñm£²m–ºp«TÕ-P´2C©fŸ·õ=þ4Xbæ<¦Np> «¿ëˆ÷£Ì£W!ŒÏòƒ©«‰Z ù_u+7§)ilâ?¹ý5dkÂK¾ï^$g¶Ê"uÛ蹟õ*…iÃÕLš­BvR¦º¡ zc þØÍ^å›ôi?¹À“\¤SúíÚÚ£±oQ•nˆó™žðºv»³™œ=ÌÆqÕI¡1Œ)¬IÂø ÒE¯;To€ÓÇÂ#:{PÆ/X÷H ½Å§¸ÌÈÛDÏ¿sW7¡r×$Yàác8íónî…$ªe^ Ê“"Ã…¢ð*ò_õj/J#xèGß öç¾õá)yüª®qðAeeâ˜2ŠóØ2žOÄa.Q{SóâG´§ÛzQ‚Â8óýáºÙ»–&X,vn¤ÇLÐ-\^oUb‚On™ö0^…ä°¤éêñ?m=>nFB–Ë vKt<‡á~³«óšÂ-êß¼È\ÿè 7+©åì@o4Ô¶þæ!mÍ´0ó¿iô=ÒÂMÄ +$[¬B8èóíæœôû>Yð,õ}\ùCÑYWÀ¸š‘%“ÏÇçõÖ΢Wª‰[€noáå‡þ:ÈšÈJÙõó¢“ävé|ºÅöòÕ§oFL;CÔç´w\Ôk~–-ö]¬«ÁxâÝ0#õ¤™ý¾9• G{ñÖFõ`Š"4ä%ËIŽ:Gs»ÛŸÊ¿§¤<˜¥ÁÊžeÛíôЃò¼½³˜¾6.cV¯L½lµézÞÿAÛ]-ºÁú!bÇî~ÿ†AÕŠ|ºV.";¿ñ˜"˜ž׈^,à9Ó*«‚åˆÙœïð9›Ë椉xœÇV*¶DÞ‡½(â æ½]Ÿ©„ÓæOy×÷Ά]>›k}§p¬¨6»¯—€zûéÊP?Ù;½XÓAí'äÝR ßxñêÚºkt@oHٿüEj*8F¦Ú¶ns!ÿþÇänØ=DgÍ8'7/ü—¬fæ/ûÉá0͈ÃAüø² åѲûÝðF—Žÿü®Æ Î #'éáExe ¼v¾ÀÐÖÍùŠIèï~5 ÈÔ5Gy!êZÝ·–…«õ—­Å¸bµìdöÖB—“OSb¥ŠвF¿ª3}yýªëâLm/Ž qÏÑ™sz“ž)~|#qÇÍÒ ì¥ó-¥È°lP!(fXçf˜ùÕ ŒG/ÎÜÉ¥îG¡@ÅHZØš6™ô›Ã ¾I¿Ca€ƒÛ;0l¸ifû üp\–4oöjFc·4—h$äŸM7—ë4 êõÆ)$Û;±2£-Ÿë­˜YјíÄÑ/¹DøÕƒ³X›¢“ÏŠE¤¬kˆÆð¯'»Ÿ;™zv÷tôÓ™§\WDôþHµü‘ÜzÒ8|…˜1ÛE¿ºµˆ—Ø’ o(ëb0t]Wr£½‡"[8@_ ã(iZ‚ØÈ¹AX®ÃïWÒp#ËÞIò£.À2´k_Z_éfhÕúWˆZù ™K1—rèMƒƒÃ¼Ùü×:A{N ±z_•ô94|äË-˜¨™ÅÌ:“’ *ð/c3µVWŽ D¦Ò¯@¨—úz³y ýqeÅ»ú¯óè³gYJŒºl×øÐRczÃ\/æÎ+X•=zNÁ©ÐÄ<ã·×Š0Í5ª¯ñ½á½AÕn„Ò­ßÜ®;ãåŽALÕ¯Ï×*UëÍÌ'UˆPàö_í=!.$}ÃQ}ÆbÈõn „g(ûBÉÓMë£:DÛ€ç­t¯·u5 LŽFXߘ©÷7ù!ÆBPîA=õ¯JH£µ ÕÿßYu!%ê¿ a‚Á ¨¡j˜C¼àr@¢)v®ÆI©+b!þéfö5ø¸ó[@‡:UVðämú®Fôwk¿&¥èì­) ¡›¤Rñd·ïÔ)d)—2Ú™­Ý±õC{b^ŸÎ´ÒñÈ5n±—(8ŽŸ™Ž8›“;?å©Lrå»0Zp]Ù–Âr*çðaˆ`@-«X®°/lJÀÈÓÕÇ«ˆVp Äñ|ËèX"’M†po"*¼w¿Ûi—è ‘°¸‡3sZÆÈ$&ZÍpÜÖæwóß:ÁrÙ6Jµ4ÃÚHN?9ĤИâ+ ØUj˜Ã5|ÕºÚ„³˜ÝÃoO§:)À–¶vüÖÄsþgŽâm,ý³5׎*ôÑ‘ÑöœTÌ$–ÙRP˲æfî t• ܱ ÄYXƒÛ{Z ´Æ„lÈ¢ùŒ,JÝç'ÂÖwm¼:wU,ä‘•zM)G œ¿?·b¾yƒWya¨iœXAffaœLùd)l:« )Íÿ yÉý £ŸtÀ„"ÿ¶“Sv0©AôÌ¢¯é­ˆ!áxï€ Š«˜Óéñ #º³ò–}[·wkZs–2÷­þ ÑÒ{¹^F?sìBËBIÉæoó·-€ßÝ¿›dÒvË”6M˜FÍña9€Þ‘ù©Ð¿(Ç?¶Ï£ös>že8‘M'’MléÊ‹¥Gs×Q.ΆQZûmfÛÈË‹jÄí»D*oß]q¼\²InӊɽŸõm»˜wP ÿý7'<p²©£BõI!R:?<<ìÞdZ=chÿc²—éJ’éA¯Å @ñgåóÞ­Nº âèÀè4ŸYu—öÛ%gßnefý¿å³Ë¬­Ø™röy/ e”> ÷ º.$§þ;3]YMóêI,²Ë[±acûIÜ•ùƒÖ´oãxL~ÛåJXgJ+÷2S9«”ö¯©nöme£Åy2O'.{ÉÈÉ«† ÔùŽ«pRz šc£Œø¸šÕLßœ ‡^U“Ë©}‚fÅÜõë±;ÞöЈÛОÍI¡‡‚¯÷‘X¶¬òXrQ®z1DA`É ÔVРC|>ø»u}›š8­ÁæeXò×·¯ÝID}}%³=Ò!ßÖ}‡Ã2»Å!µTÆYŽyÙ I±èÛê5 sOè¥þûˆÈÓ{Ñš@ü« ÆŸú–1í¼‚ôí<¤®h—Œ4/x (îq4BºŽRÿ$ÜkuW0Ÿ3Çv*Aþ;í=.,»t &E õÕµl‹BÖ|>©N,c¼›ñ¬9® d=›ñE’ÂñôðMx*ã¤\c—ˆéÔÑ*˜€b‘Ë) Ê»¥ÀÍ,ÆFÖcIsÚ¯G®\ôY~Éb¡èiI‘'6q§[ öÓ Q ØÓ3¾[æÉ°dn}ç%rÑ Í_a‘'Œ:„0åI"(þ> Ñk.vôß Ê©š<¿i`9­!à¶É`LŸ‰ºoÍ•q EâUÀfíÌ/áкi¶ãNøB¯WkûÏ.UˆùtüÂ)}(§8Iµ}’Ù éX(áÅ×Χ 'yÙ E³è¼§FØ6„J)&ž¡Ò¶àöìú|í 1h ËwGÎèöàšO9f¹Ûáeî ú4êc´»…yt:O{¯ìÜQUKw3žP棔î­ÊÞ½¤TD°Æ%ÐI‹©CZ£ÝuºšÐ+¡2³L(p¨XN)E¢0jtÄ0çÔË ’qQÉì€Ó``Ûìš´§Ñ¬{ †8 8WðþQøˆàRI-ÇÌ8sýÓ¢ôÚÆñå¤Ç~äù ; ø1ɽfú9§Jõ1é ¹…{¯z[nËS\CYd6¿B¸ªb·@•r~>Id¿ÇÀ\¡öñ3M›ªLÜ÷ýq\¯Í-gô¾äÅ}ln?t¯¢UÓF£ÑR;‹¥¾Ñ;²-±|ùuká)J‘úo°Ñ@Ø5x( §™žÇgÔv]ÿ~ƒ~˜›y’ñlêK™ ¦(Jö#kg²hÆŸg ok™ÒùÉ,ëëk½ S=À1Ž/H‰ê ë>­2ºrØ1I9Œ8XáØSd 4ÇÃÃÐ 7Ú|èüz ГõÑ"=Ëšöm)xב|üs¼¯>J›ÁzAx/ &ø]Ïä>í[ˆX“=ÒÈåEV3wÙ$|†¶“á†lw%¸yB¸ƒp&JéŸT¹ÿ —ÀÅSÉópÍ ¶»_ xÖ”ëbÁ‹e¥´›Éæ7&bŒ˜ÒÃ{bò¯åC“˜H²h¹Öe‘›‚Š„ÍcY,“»Åçv¤s0 Cƒ+íJƒ ‘$RF蘯J.Q\C|G™Lã:©ðRä[‘ä´îϪ5W~9 4A<ôïLA[4…¶F2š .Hv5;Þƒ~ Š”‘Ôè´ŠÏïh…†‰7æà!ÿG*ê$+üöÈÑ)æó§¾áƨf¾FÆPI.áѦ¢Æµ ®ì•<#8Nj"ÌW6&û œg*ºØ#]Õ¸JK¯±8Êøûר•ž‰ñ™G.{F;ý}aG‡5陘+Ìpc £èú÷¤Mê4²ñú4®`í“íœ{L1 ؉VhˆI“eS¸ëýŸÆ%KÍö»ÜìĹ£VÈùnœ¥þÛšS°§ÊÔ6\9Ä 31£úøžª¹Øf%L¹‹r^5áK¼ÏÚ?nÔ91†ÿ”j€ïÚ9&Í„*©Œ½C…!Jy®ƒD?åÄqÎ_ÛéÙ˜×\µâe”1&“~ŸØUWwDŒE9ÁŠïšÈŸLÕ o®ûÜQQ«Mý±rlaÓ”„é6S±O´êÓ9°Ž5Ç_.¦â!ƒäîè6±„ ¾ÙÇ}âDƒ°v ÉNް­ÌŽapŸÿwÖL›ð_»A…Ve„Ì«dCa<.駆ëN­â;”ÒÈhX©1`ß¾‹ïsÅ!¨Øû……ft¹µ,¯Ú~Jía<*i6ß]? t¸ gcžüjF¿µuà óÚôËڟСJvÂÈ_²*ðšÔáÌYõ+ðè•°b08Œ0o|Ãûî¨ÆE&®iâÎîi0FÿûaíÃÜâ2Íë ½„ ¢?"^þ-§_’´¥]hYÙo´ÌP½<…(é˃Rtz«…v`¹Ìßá·.§ ¥vÌ­ð#îðu¿ækï‡ê1àe½6a¤—hV[åÏCÓåá~Έ ø˜êCÚ«Hn‚2Y®j=ÃYÜÕ‘\þÛ?Ú¶} ôéí!'I-6®A®¢z+õ!#k’)Ï“I–¸ |¸ÿQ}Dz£3Ø])c–g]n„önÉ$÷On\Ëaôÿ”ecFNÔ:Õ˜Q(›Ü`1jÀtaM„ ð„hrÀ`€^:žÇµ9öžûY™™efxáÀoYd†ìÅòwÏÈ·EèÍSU\Ý>câ»7¬²{“}U­¾,ö“Û˜PÀ^ Ýo9ÆÂÚ£Ê:³pôoPT0ò Qt4¦‰{Öxq]´” É.y$ÃÌ/á]•ø]Gñ6¾Ø>IfèWGX=Ï:L‘QœkL7ó …Øu™tÛ¶°£™*U‡5FP—WÚøÀù¢LܧOn·YbŒã1/¢Q@Ïé9 tý–xð¨Í²bH'¥³Ä+ygú9ÿƒâ½èþq‹Ä«‰oÍá‰9fºøÍÃ1L;FçCâÑûr¾› 1;'.2=.ê ÕHºplßôÕ°àž/~Ñ;xB@0— 5cùQ¡à\:{ÙQ]6ykÜ%*¦g[M ß¾$–A´¸Œ£ç4Þ.- e9H­2›FêŒüŽMè†-¿Ÿñ úpN ÝÚ¨ÉB­XÿFˆ9üï7ºÙ¬Fø#­hÊ$cÖT}²”ÊZŪûÌðO).èaLËZôÖá«éWÎÁÛEŒ¡f§AûÉxÌ£¼Þõú0!üVäxg€þê9sYkµ/é=žu?ßç·/!TÞƒ4¹ú1’›Qœ‹¥…Ǧ>úYQôk;&Sq ‰²D -@v~ Ì2<Ô#(Äý119ë¶ðBuœ@q0çÛ:nßa¹Þ¥é-8ÊõíjÆ2 `ñ°>Û`þ)j¨ÇÙH³_øì.ŽwôŸ‚ë]›kh¤x{ï¦âñ2Õ—Û*>Ü}ÿýœ´öƒý$s†¾~ Åß© ñ€å^¦#î9—ç“ñe_¹ë)ÄWÒmÉ88··²f„P2´SñÌpýw¤3ÐÄA  ÔJœ¼Zé×ëè‘G)Ñð&3È—_àõ´Mµ½…g¸ˆì]‰"29é9v¯Wo%¿1å¡S{Ä©rzAcw‡Ï!aŒ·T‡ˆÕô‹Zm¶¯ ‘æŸ;¸T÷Þbfr”ŒF’H8ïÃ?‚Spº«rW¼=Þ{}ñÞC}x³4Óôfp©_’! ¤7C§cf*X›šÌ:sXÃãszÒ^ê¼'æäÆX•¿GƒŒëF©£aÓ´¹;œVøšb6Ð;NUŠ}õm8zUåmÓçîÎm_=‡ M1 sz»ÞoæfÙÜVÔ‰c^z@)QÄ& 0t·*M<¥»ÄlÈ$¼’h„»Â¸œF°Í OGâÂ:ó~}ç82½\»Lû‰—é"'žÊÒ.Î è¸ubÛ‹6ßV’øo¦èêc‚^ná&gj²ýEÀÃØÔŽÆkˆçÝ…f¬´øå£½×‡h;Žã7 ;¤4IêV9Ú,oÛþa×NìÁÌ#Pû¸³Ê „Ñ’ åÖs/_,?õSl¾6מX#QMë 39ZÿrvK¥JU5Ê[éÀS¿®!U'轂ûùsêhÁ8—ëÕS¢ä°bë¹æÑ—Ñÿ˜J¤ì* Ù1€¡’!µžm"-Þ =ò•&š: ¼;\?{¹Jbå#p±2CºîvÀ &_Z«˜µ ‰òàÔ|%­z•,'Iª}Šk|éÀì¤kbü@âqÔ³Åt‡véõÚÔUŒC¬#}=Éîö˜¦L~¥—ï]q,:SÂ=rDd;_î(úQúË}_õã~dk^tF»lâO´ã&’PìÜÔ³#Rˆ45õb0í|ƒ©ÏŠu¾Fwci ªçÌ]Ö˜òâà¶Vî–Ñ*Bô:‚E÷1dó’ZeuÔšÁ0ˆafÙç8¿.\ë…Ó´ô¨‹7ÝH@n(úÚ½¡ò´2BÊú>Ÿ˜gÝ=JCd¦"v~Z à Ô(ªZ†f„ÈÛÊŽhÆñ¿xÖÄ„ã` t¨*軩ZÙû§Pñ°3ÙIÍ"s-0ñ=ÔMEðÒœÖ9bÚ£>u"yBÔﬔ½&QJ§Ë‚bÝä`G_v»ž,ÚƒxœÀ=´‰‰ÎÖñSÖÇ³ÉÆ‰K«y*f² qÀÄ¡´Ž,–6ÆxiÃr„’²@Ì,Ð'ί‡€¢ÒÉQú®wTN˜¥òZá)FÁîRÄìÎxË©yáye²Âl»O|=ÔxÏ¿:Kû7n~,í˜@ 3áýk>Ì ýÒA˜hIQ÷`“»Sq +ÞÚHk. ÀÄÕ¤Ua<€ )âßä”aàâù•×ýòН¬êP$|R[™ X)šµ„Tšš˜*ªQìNQÆ;‡r‘S–X\ Aù2nS"¹F"ΛÕóÞ<ÉÇÆ¶2¢)ß+Iž„€ò‡ì]{ßpïcˆÀ•½=ûåáÔ§CD1áêÿ„GJ-‚]¿þì>‚€ÄŸÔSb6ÎàuÛüñ[•¨EâäŸâàKƒòB²XÉU‰¾H­åu UȲT/éß›«Í—õùWå ȶÆn©£×NK€¨}JÅ^Ú :ãìj›JwûÊ/‹S²„¼®…ü=°G.æNK±‚J8KZ;àÒZúÀk„{W 2`ÿžF~B{áq_±q´3ÛŸ__,D6Ï2 á<1! 0ÅtJY§Ð£ HÊËïQ˜‰}È#ýÞŸ¯| YäÍ@e浡N©¡ ÊÛ?ìãyón¦QøëCC7?ë2"ÁþZ±[«çâ½KŸüëï J\†ƒÆCå§_°ï_ž–¢;ÓÅÿçà¢sÔæºˆ»¡É&åÀ‹,p4kŸèÇ`µŸØLÉR°òU®ª®…ˆï N›. áHä¾@ô°rOFS9uY:µÅÈbÑ,2”²\›Ûb¸Ë9~ßS2VÀÎã:îŽþ‰bböËpX!˜JÖÌÝtÓiÉË«‚Í$Ɖ¸o™O›ñYO!£rC „ïÏDv‰mBp"Ž';Ì Aßÿ¯‡VµÅÓÏŠŽ®ôÕÛsû«ÿxJZWßgÙ»,ƒž«Ì%^Z)ú•.ËzÄ0éã“b¯±‘OÔØY§. £%G(,&ï.‹šŠè%)Œbßÿ¿oí^ LeŸ€ýÉ}ÿ‘ñgÁ-ͨÈö>ÃǼÒÁ9a$…* ݴp‹ø—•*ÝéX›(ÛL 5fâ+"æhBíÖ\’ r<¯§*[$sÝ'=1!.í×É¡]¯;y¨vm´§ÙË!FζSÞ;}º=íÀ ^ ²®?àdˆx­­ ­öFEÓÇ”ßdÛWxqq?Â~d²J /™ßiØãYºx" Ø@»S ø#pUf¥ýøƒÅ)ùÞòM×Tðc.w@ËeÌÜ/ª§sëVò¿íhsƒêP–6,k¼Žd_n3¤C8Y«Îe?ÐÁc=8œp»?ß7|€¾PÇ Ù»=PƒÄ¶Ó3¦+cܶ)ú‹Kn’½sÔ§ô½²+2H,€@/ æhJœ²Ó"N\Gᆰ#Ù*ZßÒ)ü2e=ªá¯`8©¼°‘¥SÈLõeå?þ„%BTŠERšÓ»<|79)l2™*Jp¬è€µ‰Hï»Ö?ÍÈ¡¯€q|—÷h’[!yß·÷ėѽS›€‡>3K?h m¨ÙP©Bæ§oa:ÚC'Üß  ø—ü`…Q4g>@p¿È» ˆäŽõɳ‘—îý°T¯xþ©lÄÍY׳¨¨lØ•~¼d»ÇÎëÛwgLéàlçœÒ™Búh¢+!%q0ð”z¨E¿ƒPþÅøÉ÷‚;!Õ¾x$\†Õá ]‰ÃhoÃ=tûWZ&XAæ¶ÙØÔOV›†Ë-[Ë®TÆm8T¿Oø°ª{ØE‚º3ñÁU.þ¤r+9 Z´ÖkEì¬e ;ÉÉõ-ƒ˜3Nó;/¿6¯9ç½%¢Níènu–”· žÝ¹Î²_1¨åVžm™Õ@wŸKýû·P\B÷™$×;‘¿–-ÖRIu ᣇY§RQ&äꔇ‚*øE NÿdÚ!DuŠ¿äƒfšÙM¥ü¬LH&†slf+¤y>ö9R¹Èæ¦M²›ÿ5&Ë}`Øœ§úò·gÂ3ØK¯»ÚˆõÓµ*4¡wöm^>%ÞìJ~·*Ù06·fhÇä{¤ìŠݯg_Á“ÞÿnÕ_‘±w{pÖñrgúÅXÄæ7ž]ûÈtJYÖioý¶™×zÝÓr'yc*KêÉ˾Ï^.6‹'oIc^&òpœâT §ŽåZ”3XCÍu),ú½t&—ÝycmœI ê[A|¡í¤ |5µéRŒäB2qO«é]£‚ˆVŽuîÄ$å9¾ç¼?1)ÝBüàmgë$Ÿ"ÎñêL3¦Ÿ ¿dm0 4˜Bbˆ«³Ïƒ[É2S ëDwdðG’ 8.…L(0ÀºØ{”ä B;ÏjÀeH†Æ@­á ù/ &n׵Ƒ=LU’Éœb½x˜v#­^¿÷Ì—,=™Î¸ÈÑÃwÝøpA¡ßF褒Æ$ãÿBNßJp&PÍbhÒC 8]èiõŽCHNåòî)½§p`•C0ø&,6 n©zPBY‹¢µÒ%Ô¼Ï^lÊÕŠø¡\ç;ýÔX®,A§ M»ó¦rœRl3 ÚÒZí*äV›œßµMÍÄ _uíD&N»XÊ#kæ3‘XZ<µþé¤*xG#Ùè¾J:ªQ hþó8§e”Æç‡R¾ŸÈ‰ û†ú¯òM<Ø'¡ Î\Žn;Ä«G>›~Øî¼(‹cý;c³¸çwôǼKgV‹Í¸mo4Ž«á(Ü·T¹ DƒÑ6Àiä¦N±š#òhÖtÉ@âE+Ì_kí²i-’T 2±ïª”I®š-ÕÈØyÁO{[Bƒl‚"yËpœ)À\`_è"HÉUtÀA€}¯¨/งyaÀ»1Y‹Ç½ÆHÙ¯+\¬\U!þýE rÆW%.bË%¬/¯–ž¯6@üj¸>Hô>¶™¡1˪Te[J]Rhñ7‰átÀÄŸ}r›w¡pÖ¢~5 ¬‡ŒÑÒEQ°Öu𱓖[–î8’VþÏi’ò€WÒµ*iÕ#­[ÁL,ì9û¶S Ä6• Ö…Kf÷…¹Ub`—X ¶ÙIVÂ+ŦQ»ÏÖðúq–äN¿äœ,”³IЈ+išd u¼šXX‰&zúöˆXlÖ}^Hl¶³©S…ÖíF¿´US‡a ýϹʲ7Fª©.Òìd. 3²xŠÓ@ÎUóïF¹«¤ü6–‘}soù~ŒÁîNÇ&«·†ð”£4ðãÚןŠb y<êâc2 Ì¡SNpЛ¨ÀÍ]_ë-¦²öøWä„`Ùbá8p@ÍwÄQ¸´ˆ…=£ùï‘·"jÜÒB÷ÛaÔ„à…q«(šÕDz¿¨8‚e¢BZÓ“;×ÜjÐLï4ß*pçÙ ûÜéyÉ‘ÈܧbU•RrmfÜþí?O^rìÿ_žÂ1_]ZäO¶[[[äž„@™„Èœ¾èIÉ(ç9óxÁz?Mu­7¹áÂåKaqÙ†ƒß.›¸ßŸ\Xkg9&“Þê óëÍ)QT项YLBᮂCP$d>¢çxŠi¸5aŠoH7>ÌRI  ¥Ù+'t‡›'x2¾¨eÂÒ2GÛÀ¦œq>Sa’}æ~ÙÉ‹L³ìÇXr³’‰Ð·=#æ_ó2¾}¦4É!¬ÿE4®‘¾A—…P±J¿NÕ™ ¹ý¦$ßV¢ fDh-ÊÚrùYÉõÂ3Åã×#¡n_o wEP˜x àveØÓ$ª¼[N¦tU±Ò¶tÝ6Yˆ8j3—<̹̖p¨)Š—‡øŽÂ*öNÙSb ‰&U*Q«"óY*Üì!ê¾u"Ä#¶îHØV Ùv8{ˆ¢£ÄÝ{Lúw ¹ûy’–Šczé /§Þþ¿ ÷€–hµîvb ¤~8{‚»a(²/2בO}A{d"=:Níž^˜ÓÃÁ@›f’ìÏÏ.B›=–…»M¦$u²w}µè-cxF$Œ\9Aá2n0ª'´¯àÄ›ÆX”â}xÌ<£ÕõçžêuôˆoÑ(÷,“;WtÛb[ò ¤‹×£îˆ¸äò/è[Aî5Ío“EU.¶é€ €@R¡#Fü|%C®Ç›¸ÚÔmøXº¹_Šê>¸4Z‘†šã#©Ò>î_7nƒ žÂ& 744µ/l3¹úÀΖZ¼,sëý°›5òl@÷å¬À*ñÒZ´ÃÞÕÔyvðLÍ·ÃðÃVlc\(á¶À!•çiØ»ØÒêÄ0$h eH–7ÙGîh¦ 9í~îç]À)]m¸Váñ]ªÄ…+˜g • ²Ž)Õ¡œ±Yå:,*—» … 2QÓäéÃ7wÉñ†pã~T°HŒå´îù<†[ ¦6¹ìB‰ìºqÏHÉ!P›J¦—Öuõî{BÐbæOûƒF„±ùXóõD¾yÿ8Étò›Õ_+ÆFcö<è“þIÓÎ'Vrk· ÝÌ(!Ãm1dŽ)ÞØÒÇÄ,Kû†=R5%7ïš!]ÐÊ¡nB9“¨¹c˜Ü†ÍðÆaÍåÇ1UÓ{8ŽnC©ª¢+lTBÎÛ‡ÁQB?°ìUÉRY4J¥flºâB5|²C/·1{¼¤¡¥î'»¹0“µÜæªf†ýÓíËo†t0uÁ•ˆzÛ›®œf@‡ø´‚}csÆZsP•e_]µ¼EQ’Ol¸úùy~tT„;–0 Ù‘và[#ǤÏðZQ¾o>ƒ¸Œ¡RLªËk¸¤°jhè™ìT1}ãJµ^²-™jψÔâ=è]–Á—þ,{$duŠìS9Q†à°ÇuØÁÝ¿²kÑ&’òÿU ˜x6fï¬ Æ:uÅn^0ÁÑðp1D˜ZÐŒKÒCù›dxED -úÚ ¡3©žôŠùk³Œ­‚B=¸TìUcÞ½ÂíSUfùfБ²ºMêÎ/!¬";°Ó‰Âirû˜˜ÐS‚§£¦=»Å”K„”4RsazÚñ™‡hK}Ïú´Jåw2?¨HDá¸ÕáÖì;DbÔ]þÖy–dÕÉÛ;Óõƒ× OòfšÐH’æ¤ÕmqâÙajž5c䇊¥ïÉ_Eé,âïH[±¹Õ¿Ðb›tO†ZÈŠÈsö*;-œô)-ôý&zÓÁȹ Í.4Bð²h˜Ž©BN^ ýÃ-̑ޥ÷½n1cŽûsEIíL(M¨D )¾ÅÕ¤w ˆãKa—{ñ»ßfñ¢tDäÄv"”÷BqôÚ¯*c‚y·„Ò ÛV·æ£ùõЇ[I‹§ÎHôT¤Ør´–=Ç»lµìœ è¡ zþ· àÝ«ÝÝ 7F/Ó‘!öJ=¤EU·n/ñtkÏc{4†œ_&3wÄ„ÿ§<4­•Ø1̾^ì ñåi¹XÎʹ¸d8 ZÐt†Ùa@ RM&fW_ ;47ƃ|ªT«ë¨ÍNKVô·{6lLO¡T¥䨗q°½6F·¶Q@FÎê‚ëÔW Þð¦ò ç;QÉ(â’‡—¤B)~U [3¾Ù˹Šô,Yí_ÇÓ6«I÷ÞKq„GT F%úú §pa+%lÄ Bn¤P4Æ€}1a¢l@±¢´«P¹N_;Õ;™oÈt³œ¸r.<Ô3\,ž¿y;°˜DÁYDž¥9ð-4›Þ@¾«k7I˜<rôZFמ|o¬ãbÜÀ¬¶? ÒÌÿ‰Ï¼ã„ɉ“‰Ý eÎLÐóuœx Mò³Íx’Ç8Ap?o#fVò'V‡A«h-fgÄkŠv­=Z}L‡|rh¨n^)5á•SiI×þRïõ6€q'õYK'=÷sI~[ 63Ù)ú6O;ú2× ¼”ŒÚHyœñ8pÑäçËÛª ¬`JûT7ÙÝvȲÇÿy"àóâˆ=‡‹Zuãþ^• Üua8°vƆ°º¼*cT2³–(5?ÁpfµèWÌÓ8§íe¹ôŽÃ%pÍÙê¨Ä6Êu!{û;A «D_-µ"¡÷ðNŒ h¤±-J`€6H½ðÁ–åÇJQfÜyÏm Y˜´k õ—9˺72o¯‚ìï[¢v5K(%lw‘Ѳ¤ë’Ûÿñ4´kд©Õ®>næL‘i}ž¹Ìݤë]˜üîa–!a´O‹KpI²>HÊÕëvÙÓ`Q§öw-5óŽÉeŸL¹œ¦µúó=³)©W[¦b†¤Ŷe‹³ì´åû%² Ä’·Z LØB-:Ó×Ûd;êyvþ4ZjaŒæ{§3lJðAÞQüNlÙˆ#jGÛ[6mDÐêÿo’øÞý„4wUõÈn¹ÐÌ2ŠÖçõ‡&öÂÑ ~N‡#ámEÞ8d2ýáôÇs¡ÏMf¶O€sR®Y0š08#ÍÃ,Ÿ»òkúD6ðm§*øË7còµ®öìöº¼€ðnoUªýÁ›[ÍéŠb!âåòmÀЃ‚Py7ÈÛgÞö•Ä®ºE—ÂrFXåéµmÐBjÑ_v Š Dþ•„˜¯ü!²PdRØ É"”`œ´œV(n¤~ÆÊÐ3Þ]s~‚z6]ÅËê™Þk\0';"=¦!gI'\AdMfrˆƒæusVyK³VtÉõ ¨+ÕyÑa¼ãÑöO¦"Ç©8ct¿¹˜ éK\ U»ØŸéh#j8Ì|ÇE«.ÛŽÀÊqÍSðHôY¢àF«îAâ·m7tX$†ì¾ÝØ™7aA¤>sæ Ÿ;C’Ÿdš8Ù&õ›\–%ú§È|úIwqÐ0Ú¿o†Kï]¦xåÁ0•©xh…äB·M'%˜.ÑTkìø‡7¤HÂeUæšš/~IÐNÒÇØ—“Z-Ö\ä!È%Â`ˆ£wZçm‹ÅîÙì¦c`!`%Í{¶àyvÅÅWDp:“¢ñ™@ëàØ Ï,¸‡Š~—»½»lµ+(ç(K§73yÌ˜šºØ¯6tÛµ®¦¿n¼‚y³£»Ë“…¨tÂ«ÍÆ4/á öæÆd’A‘"[çsÚ @¸u@™ÅÁÄ ÈHkή.Îܼ`mémÂÅcuà*(|>\î„`µº­'훥¥P=WÇ6Ù¢þ¢$÷'¶ï’®P—Í’oc)-òoC””ƒ¬z ¥F<=ðòcV{ߢ4­Îú !i5’L•‡c)›!¼!ZÆ{yŸe Àשbo'ŒC¬átÖ?!Í Âp%Ø`Øy1*’ˈâ’ÛÿEMF‘ÏYŒcy–¼CÄ;iF"DÎRM™º dRЙúÀh6?î§Ît°»…¬¾¼ÖòËÜzBl““7þXì Â. ¯*He~Vߨ67dÚ&BÐØèڽ܅ `_𽝠+Ö"%zQÜêÊvå²nÄêµàøK®à9róSCßÊèü–9a AD™·yä›»d®¾'ê‚¥Ê †(Ãsu"°¬Ës%ð¹ŠÝ(b»?HŠ™VÚkEÝ}#gÌýäãp¸()#ÉÉœ™X»Óì°UËã•ôLQ ž¾ÝTú‘%tpù(QS¼Kðhå´7{î‘;ž–jŠÎ¶ ¿ðÏAãb/” ?O´ßñ‹SÖæ)Þ Dj[åÒ€êâaCz™®‚ ³®}Ȱ>µÇýW5U‚â_!=€!îñû>]Á´‰³tÕœˆC6c°Zì`¶¯þsVdf™pDX¡ÀæÕ+”ácdð°A¦‡@޶ééëåCµ5PHª9ÿ1é*Ýiúm4}9,åœÿÕIè%‹WÌ gÓ5úAF}õª[+Q—r4ÓsBîç /$÷±Ié³t Y%_…Cêúy˜ÝC¶3ªWx;õ*ƒ“íxºÑ¼Gº¸Zs Á½±ú8bæavY²QJáC•˜ð5ë®\P0Õφò~k2«É±‡~œ"ËcôM-ýóAⓆÕmÅ+Bú¬„§ž5"ßÁ3½¨ÿ<Á¾Žê„ÿ‡å:?¤vÆ6ÞÒÅag‘ U×Î…*t¶!£ëû^Gïàk?®%òL1¯Üåñ’ûÏæ2ÿm¨QZÇKo1Ñj%ŸÍÎÞ†Úº†£æ_©ÚÏ¥#­Vhøj…èJžW’!Û©_ï 56Uê§1a3Rt É»M›¦Iy{7³öÆö’ïÑ!}’yíœÓ„DVÇâüîÔ³àŒKü_©×ù­Sg›X[ä¾Pj‘I3­š2þܲùæ[¯ã=Pã¢/d%Nþ‰qt>$èÇÂu3Œå‹›%7L¿X Ä„zÞhðí¯Ìƒ¶³Ÿº;è'´XN„àÓ ª5Ræ¡-–QAÍÛ“CÅð•‘”2ª·WÚõo€é|íœ-;×€CÏd¬Æx¤`¯¸,á…w  Ü#öÖˆ&œ¡Ò¾iã^F8ƒ ÈˆŽŒ‡ÝßLÖŽd£]÷­7»à-í;²U†mçÄ€Æ~%°Gè DÝLÑŒÇà|ÐIû÷-­yi4*¾çë…줽w¼˜Ðçp%!çŠ_e·²ô˃:Ævf™û¶Ò}†:_æh> u¦tu~…Olgdâ_sÍüâo\¡ÖQng&Y˜ Ò :<ŒÞÏfùÝ”+ &‡ªu|ÀDYœ¬3 Xã0DÙ\Ë D”Ó…w$\)ûšÿtž"JZ»*žÖÖÜ—…þ)úrV6ì!ÁE°J‡‘¹‰íœˆý èRÑ7B¡phO*Iœ×9s\ÁŽ+&vYk]Ó8\¥miôí‚x$?U»ô¸ÁMw¿S‹VT¯¹H®*ÎTS¾d†¡íÏ õaïn’¼KºÜ“…)2õc¹ŸÇÿ÷Ãë–€ûëÑ0§Wð¼ZËØÉuCÿ!˽5ðoóeÞµAeü§‘ð”ú $FûžŸ¹ù‰’ÐNª>W÷Äç˜>6Q¯®ü‰„ØèÖ‘/c»~†ºØ&X…Å-öâb7tÈ)“V¯)Áþ¤2h6ÔFÃ%Ú¥Ú'Í °Öµ/ôõ3Vý9l ¢cY±þ‚®êöä›ó(8‘éÙq¿5²jÃF'ñ_(±TqU`O?ÉRIÔö>tнt×+·/@C E644û„ó½e’)_<›ïAçûlqǬÅtÌÅ«$’D|,/ëßûÅðPq"}$‚H „ˆ¼Góf`–B‘Ð9Œý¹ôú)+« z܇©\ñϹ߇,I«ÙôˆÅ¿>Ùož¾Ò¿³œvÇÕh0yRñ`:Í(¬“@H ¼>éèEVxYR÷IÔϺ™agúÌÆlin‡¨ÍÙ¼^ Õ¶´š¯(8õËø ~ïPÐÀdɈ3ÀõßrAÛa~ÁÞ€ Ɉ7àÓžú ¢€§qƒ`ù­•¡qŽåU¤óÛzª>5Ûæ!-÷ÚˆâY´IÄ5cyÐãÇazbHÇì-Pë@MTÔç¥iß×¶ß¶.ò©„8 Qcÿ·z¹#Ó8Ù EH(섎©»—mìX‡´»N{Òn>i`mÀ,ììe"¬¸ÕÛ3E/mz0>ì`:Âiÿ8§J…Ϊ>˜彜N}#%Ô…}:lYÛkfYÓ8¬¼ãÀ|¤ëeËŽQÔÈZ¼™›>Êm,ƒ(îXM”6õ%zMÒ™^-ºÇêûÅÒϳ uy]šîˆðE„¸µÎxzD"Ÿž>LÁNnä¥ÓµBzÀ­ÑxèqÔaV|[Jõ{úw·b¤HÏÕŠK“ÁÕ<Íþ‰&Œ²û²Õ r9VÁ— Rpð!ÑX¼2sºÄÔ5ƒ:ÂRj¼‚V<€<\§—z>àÏüˆ’#ïÉlYb½›Æ>yáBöµ¿Dëô¢âûUMÿÒÊTGÙ|!•‚Ký¤ð¶x³AºVh¢,ÞçWtØZÍjKÇgt†Æj¾˜º°"È$hcüÆŠb/ÝÒ~Y»3|Ô7R%ŠN€·hׂü)üÊv ŒˆÏqÝ/áXF¶‹JåˆdÁš'°ápHÙñd;§AIßBÀÍrŽç†p¬c|’#ÃDHɇŸÝNAkš<{Óü*|{«’‹K—X?¹Ê0ý`ãŽo·Wß„ÓH”aGvÙ©3Ó£îy¸ãµß×)?‰ÛÑ7›´ŽŽ²_ùÏöŸ;•©ó•æ…€QnÞ$–Ž]쀲F7ÿB‘ž…¿w¹#½i’X)h"‘Õ]øá“2ð 3qi"´÷É¢K¤Ù,’ ŒÒM‹¹S¤Ã`»áÜØö/ ]/™S¢|ÍFÍUj …ª]åÅQŒ0ÔôÅIßB0Οã{—Ž:³Âbi}0×üìb-ÆfhªKbû>0а@W7úætü ’ñ«éò KúÞPtú>7{aHÐ2žv$7 Ólð‘…8W]I™*fÌZih{Ÿþjû†fx $œÒè'½-9‹ì:rQé»y¿(‡ÿ.±Â‹…$º8aT9ÕAQrj+I`#’oc7Ñíù&¡–2ýÚ•‡qù9¼Ì,ÉÅ?E§†¼bÈ;æ§"Š.­*ÁÔ¬/-“½[äõÒ8fnÐÅ”fãÕÄð=¯BØF¹4ŽÒ!Oª¦{3©ª@\¹ðqÝ:%*Ñ£XC½¹ý&y§^/£¨¯©æÜÓ¸$Ñ"¸9+–÷3¶OÈú^cî•y8cD‘ZJ¬ZÑjØèÏ—”õKá·gf€"ïÈÍq[MY÷¨}Fîè“uŠ#k.b… Ê+Í5Ö2éÂÄœÝÑÓo.ŸV5Uwá./ÇqµXB}ÞÜÝø¸C™¬ž‘šj¤‹\J€<ÒrÁýºîŽëP¿ò½3GéÕ5ŸÀž—cˆÐZ¤ãÑÊÆ3¦K)ÒÛÜdƒ;Ã5Ža»³ð1°Ù‘l;Ĺߌ«^ñ&_fNJÚ}¼x™Rʶ³Û8|²C¯¬U5ta~¼HëÒ°5“¨tÜÊä)…}ˆï]ƒlà£Ñ‹k;wïßS÷æãvR°xG @ÒäZ‘¬Ö;°-• í[ y).O“ “&Åü»_˜¬§ ®îРῸÙP-Á£JÕB)Ç&d;Ú²@¼Ox’ëºr¡ùd ›6soXø5t“©5]ÌousfÖcAKø•pãÚ&a6TÒ@ĪfÕ½ A3èhR¹ÇÝ[­¦=gœ!'óq-@)ˆõ£¯ròÞ¯gÐö0“–ÜQyãiþ_7,OqysjÝ #)‰{uØ ‚ü&\ªôÈ|zhŒV?Cw–é¹X¢½T>fcÙS‚vW ]PŒ®‘¢&`¼r„ŒÓ*·4‘Ü ‹G°&ÿUX•â•Ò©r WLC³n.Û¿¨›÷å¶¶ƒ˜/€j½o{†Mü¸ºÀ“™>¡~ëÇê‘E~x–r!”mÒ4{¡xLhÐK"Ö§Ñ鬦fßïùgÚ4eÝ뜵Ãú¹ýlñ͈õ”]™9°ä,”1e0Ö/Zš66zÿ »¸"ð I‡P:S‹rÌ?=nÆ©¦X6TŢē“öPÏ-Býá:åÞÏ0÷Lç8_0pû†XÐË*©à…„*©O2fBÃ+£vrL-M¦³×‹7`¥~ÈíÀ¾]HÅÆ”a8ÇË4«ÐÈ'ái#»˜0ã?„N$6¾ <8R¿_?tø‰jS>ñCH°ÒIbÜÜüœòÏ?ªC ýöÚ8IØI:ÇNš5ÛÉnMúß^zwQ~'R IœwVwJ&r¢.Ý![Æœ«#³˜8å½÷èîUt“Þ¤#1|.Ì{Ùcß¶jd¦ÇÎÄ™Ìb–nX§ð²eÍÙa-!¨§êÒ…ª£n“eØY À8ÌìuÙª¦ó,ÛtŸAùG“·ÞoÐ+lõ ·¾@žøpü€çµG’•\-gа4ƒ¼Ð´©ýtw,$Heç“­êÛ¤VäŠ\h–Ò䳯v=HùÅrïW±9Co-^O)úõû uÇΞ ¸ë6 ߟÚ:¯ÑEaí?½Iä9µ B¾tWy]pÐׇˆ¤¿±ÚÄs!RÔ',•On)aLuó:Ðýƒ?žÃë2³†Ù/T å|Ñ À¨…h¥ÔA&Ucçøçú0è…†ßÁß¹ÜN 8&õ(¼„p!#D³&÷°ju?` F~•³—·ÿò™óÚkTÀvñUÅ€FGfŸ™™™“å¿-`4#UßQæûs¾‘#¦Øm:v¬™=(½io…6…û ^èh±ÇÉr`ö ¾¿hÝ|N2–Ý?ÅäŒêGbņఅþTžÇÓj+ˆÖW,¸¾Âkø÷vˆ{æä4|ènr²Ä0Ñ1(yÓ?jsÀŸm×j@JÎ;ç‰4Ù´$ê…mÅ—§B»e“ŠsÑ­'ßc¡ŽGÝlŒ%C˜3>9æÏ† pË„˜>½¥ì,;Ðbg%õöGÀ}ÇEƒ¯¶ šß«_©çrR,²cõΦÕwÚ”jPiLÚÇê ¨ïG{'qPûyý´Í‰7JñB~:_™±›ÚLRÑÛ]Þi‹¥ÕŸ8å…¹ÚÙFª;#ß’y[ØÎ¾Ñ•®)6é¥ä hc( ·4©¥·:ëgÒ$Æ 3΃tãÚ6·ÓÐϦÝCýPPjͰÌ5ûq…Çæ¾¿ªZ1ë_u4ë¡s?,Ì>°Î…>!¤SKãùëpãGÛñKrï§—†x´9‰«…M§®:>yé–¿xU§^âvªÑeòo¢ªÞw«¬ƒG©çÆŸgÓðR`ì΄q˳÷¸{¤nU\+\“áþç;ŠTƒú!Òó0ÅÆžfD¬ÖÏ¢U¼T ÝçYGƒ‚ŸJy§¤Õ¹×S²Q=d€Q(9+f¤²5<^Ö+ÝȯÉ×°KD¨iU÷>ɇ(úñéI÷ ó¼Ç§aMå› ²Ñiwy¨È²‚Òw Z°³Œù´òQÇ(ìh/ãqöJÅ-¶þ¨A)®B* ʳce ©-æŒFÞ¬³Yˆ¬Ýç®zŒVMïLú‰’wj ›÷›Öaj4ͳšS¡h"-øN§ïƒäØßË({(˜}*^’ŸßÂ1mû£“ÀìîÁ£gñf>4Ðád=Úkqc)+ô}¸Ì£ÆùFL¤wÉÖ©¦½(±Y ÊÜF¦E sS¿÷œ à¯lûê¹IÔ¹œ36¡´Êa áâ8~/„–V”ýüÞ“ nà¢;r)‚ÆdÈÁ~jØú­]¼sWÉ;¨¼4ôl0œVäçÊ~÷Ð9dÉËô€µ…—–¡4¸„ƒù1ˆÞå4pFx¡‹²ÀXz0-?w2ò¶>w†Ná0Áíô®BŸ0ÁÒ”ûÏ*pRp2`¢ˆŠU€¹ÿÔRAÛZ+ÿy‹ø¸ÉC=¡®i;±“ÜGc?®æˆT+À<Ù/À¢¨u5ÔsØO´(šÉ^Ô+P“íg7“IÓ%Ö¯ù]¨¹Çvÿióò„»FŠØÐDD@jþ¯õmÝ"æê(O™œ–dQ;¾ú¬z’S®tئ?ƒC€^ÞàäBሀ2ÌŠ^0Cò°bÐùÑF¶×;þ»]R‘ºUÇ~E–Ðpu‡nµûÝû¶7@¨þ–y`ÕÅZÔkȯç/Å$ó¿r´…ˆÕÍ[à×é—„°Ž„̼Ϲ´Y2f ÉN•ú*ضaðï_·NÙOÖïºÚç'´V±Œ?¼åªûs0„Ñ•ˆ½› e"Ž?29eÄ™Ю¤/÷â«Ý".5‹ó‰`c÷XTf:ðÀvŸyÒº.ækäe»×+2e¯úº—6½µ§A\Ì'ŒX‚_„o—½›?àŽ(¾ê-@ÂÆ-{C9[ôÆT<‹ªB‹ß¬fQ+ºÙtý°Û–^|ÛéK½n‡V†v%׈§ÑAÍ£2“øà…-ì¤áã7ÔxDÓ[U›‰¸ŒñÕª¡: ÙìW–e<#â.¤`³#/äÃbéËÑ“ñ‚ÓÊŠÙ¶X„cçµf’«r°Ù a>Ù„´/©ÕEƒ ~ų$„æqMéK¿ðE¶ R¬8³wøHÝPFÙÀ{6Ï=LŒÓûµ57 ]¤EŽSøØð´¿jh¨hׯt;9juÑŠ,ç³³\dx$§Ò(p8‘«kN¡Ú&H¥O2[‹²K!QˆéóV?:ˆM¹ µz£Óç@)tXHÍÙé( bX˜­£-àe!³Y¢Àa8½«_ØÀ8ÇâOTÎ^iÔP’F‡œ)9Úß*Oæ†ê¼ÂQx£ç£›ë~Ý•«W—¡â-<¢ˆc誮ª{Œü÷3ng9ñ±¼*î^Rq7‹œæ>†Òz,EßÁ×»J¡•1IóÍ=~P©-[îév–”^7Í{e$ÓP(Qˆ€Ñ8jü¡i“7¯© 8a`>œª„°+Ñf(6{ÓhÊÆË(¹-YüUÎ{¡Pùÿá’™ë›ÉâÅ-ØŽêºßÏ6S Ñ–zk<ÛÚá9¤—s™–2ï¦DûÏDc ò¿‚ÜUlºB> =x-—oø¹øÿ‘ùA½v6Fùmx§žg²€cå‚Ý Æqw¯™÷nYtª‡ \ÉÀù)¯u:c°¿bŽ=þÃë×òŽ’¹Á΄—>¤cË‚ó«þ¸öª{\(¥ÿ‡à8ÈÂe-y'OY³'sÁ¶KÁ+xžõ`ãu®µsÅhðˆa"o2‹ôs¢§é0UVO>ǹæÿ«r,bª—ðƒAD!ä1!ÖÄòŽÁœº\zS1š¨ý§ÜêœÑ°GwšàÅ ±@põ’“NCË™îžweFQE­ÀKe†êê«ï­\?8ïÀ­@¯l”Wœè%Ãx~ƒÚüò?]KkްŒ‚ë<Ék‘õ)W±Ž,(û–sz²ÿé!2DS bï0e¹‰Œ–fÒ5⦠כˆ¤Ÿ$`¸Ñ,¤–ñÍ… Ü´×$X`?™M»Ÿ|Ýìºd~gªÞùŽO¹f~1@4çl<ŸUú‡–.׌—9Q¿Z£L‡þË£ZÅn}cO›” ¦ :⩇zKèl¿&í7]+ýž¾ˆ®qšó#¿¢ºÿ68yË̪9F#Œ¿L>3YÄÙÃÛ›*,f¥‰/ShVؽMÝʃ5x[£´ƒ¨²¸½ÌyÙ/ÚÁ[úZÀ¨¹`ëÙ×ï —é‡ÒÛerä&xå¿ß8™ÅÁEÖjÍ–Þ}»gNÅE7IlC)VÖËæ_|=ÚÖ‘£që`ó%2ü׿—„¦yʦô$—q'úÙ¸ŽE‡¡;”¸õ&Áy©¹¾”}û.Úò=¬*y§bû§ÀºÈ\¡wiô™2Š86ûŸÂ’ÅønÝåêoŽ%<þ¶ {Í—Îá¶ Ä5%¾Öh+17Õµ›NW̧:©• ®‹4 WÚï]"R @ÂW~uúTV›F$bK|tÒJÓUA4K•Ì¡Š®‰MïüC§*N×.á`8€EwÍs{çL,ìÏnaÓ·Þ³oÎK‰º¥á¯Š#õXû+ƒ"›Ä;/ÌT~ˆô­oø‹T^5ôy&ÎÅn‹>HO.Ô>øõ¨Eþ{‘ǹEÑ7K»æ*ÝÅîzNspêêEE ¾ÛVÒ|-ŽkëCYÿ@ÈV€5SÛ€¼šC)’)s®ll¢’Á†2 ?jB ûÁ,'Ƌ܃ïºý<¢üU»ÖÕmÒ·Î9†à7Ä 3l%—GlTÊdÍ[t86PæhD;`pÖÛJ³ï¹B‹€k@%­û6’Kͱ1ÁáT–B2󛑺3ª¦ÈúïÑÆÏ>ϳÈ/ÿÖr¢~Àˬ”sÜç.— “×®M=¬š¥[¥ð” BúÌúIgGÝpÍ•ÅÐN±00§й,ƒvĸë¬ÞlL»i åº9ßH‚#áïÀøÅöÅ”{O‡w5A’Yõäù[;*CY?Ä$3_}ä­œ«¢ã.¾‹ýÖR’+Á"hByËJØÕO1جUO:R„}\‚nÜÉPúŒ0>¢¨fN«º*‘¸ß©º·8¹ ÝÊ{ÛJz«œÓ vaºõ³”'«VwëMK0^$—75’Þî6@ÚÊ;x‡Óvã=¬£‰§?ÿ‡ÍÔIÂÒï·ëf·$­AØd)&E(ot³[ÏeŠ-zÿ# t‰ìµ“z!%¦ J“h¨"Æ1¤rç²#ž EºQê¤ÿ…µm©‹7íÙÐjü«üò%}˰2¡ICëÕh½…à$f^CP1Á³jaÄIÔ.Û¶€äOqÞÎ](à¯Pduð‹%Uu´Áîæ (/mKÁá2½ 1€” KâÖÓC Lä>MB…n -¾zŽõ_œScZÌË;LËÆVý÷µ£ë/øeM6v¸%Ø£pÛWl‘±Š¿cÄññÍÝ=y=™RÐ)>ü°ˆ.ÁüŸüU&ÑTÒß!|bÉ uN•n ¦=`é5q‘\»l¯ 4œç³ÐÒöu|œ±­¯•ìn}”ýù£UF¸¿‘^ tì”9®…Â8w›Zê_JehX`ºo÷,|ÓžÅmÛ-ÄIÐÙÍSãÍ,š]Ï>B4åJ ÙÈ=W:¡Öç¶·âš.{ê Ø¾¤ñ#†_kFŽ*F C uuÇôIØ\=®®@šŽØpsœMV°öÆ(<áë¥V¾ߟbµTVêöž 8Ù¾þH =µ…˜EW›Ucm±ÕzЃ@ –Çéª8jazX$°UqS¾óaˆžïóÐa¥šAG´×©Ç˜<:T#!k*ì¥ÈYõ œS4qU A7;>¦RÔ»=v;Ñg즖%8ÊÜœÐIGX3Vü$ÏQ¸¡$lFwÔ<ào5ØJWeê''pEù ¹- T¢‘D ¼ði˜Ðh@¨ó­ˆ[°¥/Q—3›ÙN}=­Ò‰\‚+ŸPFáÂ*Àî‘ ©~ƒ?YóÓå°Aq1ºÚ<)]üÛºˆ¢Œ¶è [k‹õ`‹§’3™CûRfÉÑr¶T›ô °TàÕ4လ¥|ð ý‡Ï„9ï6E°<û¤˜ø:pÊ÷“ÚVðØ0¯šs`´Ç}dW0\š9x¦.ßxŠëh›k8Ïš$Gâñ<â.+?¬'AÕù?ɳ«Ù<©Û^Öe (Ó·D€k s—ØÖ“Xl?&’{$¥M2×`{ë_\6y”ÊGR¹ðÙ­òGàö]ÔÝìëÖ^ë6ˆO–¯Î0 ª!Ž Œ&—J…½Ôð‹'« Ç€G¹—²¸"m€ø aç†Ùî:lµ>¿J×ü/>¿9ïœç¶Ö4ûºmVCɂȼ Ø) sndYØ óY”dÖƒðPa÷›h²ª¦¬Ù¹=–;®Ù¯×ªå-A.•ÜvÞÆs‚Ax¯Û¿[¡‰m z{ô bƒ(Ë$­>å{·]HS¸“7Cß•hC«$ŲMCnzÓìÖXï!Ò­h€{îÝÔl&ßUóK@ÞNåM‰ßRŒÁáŽ\Î0âÊ¢HÛêÀ•yÌ®‘ZÒG™0Ô(‰Ãp€Áàü}*nx ´êTaÿÚŠ›¯™Ì½’-ï‹(P-&³ž¥X½&Æãw˜ûCìmû  œC0Z@?¨íCD'õ‹Çó 1›#0Œó–Ž5Ò<ª¨< pUc ìÕp«Æ(m«êé@'ë1Uþ³2&Þr²±¹÷ys]p~,dXì=–µý-$:’Ïsà&kJé±êž¬}gªñÎ:ßoÝfÇ[®ˆ˜R¶u×ÃßN’[köäùq~B›[¤±X!SÅ3é¼¢µðÚ¹¿õkTs$#Ð@$¬Ñ4ÇI [[ãåÿU€ñ wîOÃä"VJ¼~:WYîçR”LÁÇÏ­ÆKVýd·£+´êùÌÄ{FQ׳§½²EµÿÎ岤N¸…œÕ—JÖNæ,ìÅ,Ð[7¿cª;"Z=\ü¢ÂUØÈd¾^ ¡=ze…ÙŠ͈|dñÿÀå?m³R^¿wR„Ñ%$º" yŠœ2=pP£rŠ®7Ô+T›àÉI+vŽ„úÌ`xs` λ|íµžË8AÕDkÍrõ÷%ê0ª½Aý_`zÁ£º‰ßl*i2a§ðóìÞâ´RNlædÊ•[Œ‡‡xP\Ñ7m!G¢È&cqgõs—©ä¸ò°jRÇKK'=ÿ$©8Œp¤RÑãÝ.BMÏVÿ'Kg@©vP1^ ˜… Õíõôà QoPH—®ú¶SCT˜zzÛå¨gi@wî¼Êš’˜Ãr!Kaý À.ã`óˆ¥Ã|y´³Uk¡—6ØX—îÓ×Ý ¢º)îá÷dz'Kà^ÇxÙ|s¦¼XóÊÒkþÑ'XG®§@þà‰†ñË¢­^È^ßÚç’îÛkÖ¡–Œ ã‰t;[S¸ õÆü¢™EI˜‡C“”@ûQ%]Öj‘IÊ!Ô¨ù¥ü  @ԸƦ"`©×·÷ǵ×Jª?Éë¾ðAV0+',‡žÜXÜ‚dí-Æ•Äc2â§h… ]‘÷ç‹êt˜ùÕèѺóo QÜ @&xÔ–k ÈØ}UŽB‚f t>ÓråOâ&í™ü[ Ò:a°—#mü1J,é)ÅðqŽa£÷Ÿ(s¡5ŒSL«/:zQ‘Â{&Š˜LåYý]1¡cE&YzɸÚg"ImHÔûºýj ¨xM•ŸšÏùÚP¶¸?D‚¨è•ް’Kþg²lñá—Ž¼€Œ¥Ûót¾(.¹dÉg"…­µçÓ àH5aSµþGš;Ç&B ±)¢Q)ß2®»5ùz9Î`ÈAŠešmwÊ·Ù’ž:,ÒjL–¿t\û_ß: lº×5É/O0¶j}Œe[&6™J©—@dÕPŸ½,˸¬D9üØÒÔä"8|‡‰ëË¿^ž;tf‹âXI´ýL”¯ÚVCE'‡ø”ò>¶,e!âE¢Ò¼›oW&¼š •¢Fÿ¢„Ú¤^rð%œ‘Ô³ʪ^Üz8”•q O×ç×ï©ù[Ý’¦È„!L\Q%åÐ[«Žïák˜HOâß…]ì7QÑàh8¯„øžšÔ x¯  Ÿ%ûÏÁCßPö÷VryŒ!HyÔlsÖTG9»8 Øÿý¿ØóKðΓSÅäŠy« ½p-ZO‹Ô³xöW.LÀÝä_ÄÖÈ“>H.ÿÃåðb*7žf†n_–Á<Þ0ªŠÀÓÈì­÷Æà ˆï!œè8É3aÇ@”A©<gëvjï5©™Ü=åûv/“zî„â{ÙJ‚l–æJù•×Bû¯f.iGÑ2-õŽU㦗G—‡é°· êó‰Rø&µ ŧW.HS¶4d\~yÇ9¡ÿâä\1í»ûãÕ´æM…Vì"“^Ù_¤Ý_sšôŸGÄD©Í Öæg¥V{ʽú ÉOL“¬™) aS?º‰‹{PŒº‰Œ[%]j¥!4bÿ-0žˆœÙ4åý¡¡d­Õa¬Gy–¸Ù-ªÞ¬§P?k{»ö;LÍŽ®5õ;²X‡íÑfé®Dd¤‹ueá¾-Óó'£n}›6aQÁ_·P9äl Ûy¢úûÑoR-9 Ø9óÙ0˜ÕÍÜLñð h”®÷×gŠ0‹ØE¼£ŒÊcW3¾©ý…1WÛ¼Ù¡&(>¨›L'n‚ÉÎöS`ºÍ±¶E‡ 1…Ê=ƒ˜à§Êºÿ΋M˜ADC}H8m¥<¥ô0EÆÑ«µêGΡ…l¨Ù¢Ç6þêÞHb€'6ð&88§_ã´¹îy¥‘b/H̯NJË$IÛü´—-95öqÜÄ#M,…9+O~y–OêS‹”L¬.;oç!ü…÷­ÐnÎ0VB8 Éhþö(æ°°AYîgÉ$LêÛx{úëË”?@í[£^‘»¹âF›¬@¸ 3¬FÈÿ¦¨¦?6uv¿ßðëÒø½eì½?vÔi-žù„Û}Ãûih†t°fG$y>oÇ\þô}‡kBCÑRËÅÒÔ°Ìaq‰Œý£,î°søŸŽƒŠïY‚¶Î¯Â|Z3’Üñ“Ø)è§Ü«‘9ÑÚlË4 …÷ÅT¾†—›6±·ÃePÏþš­AÄ6½žwã>%ÈÓÍpäB : úM×°pµŠ›+Ø»vo“« «S qZÌׄf'ŽZÊå+ËšvŠŸ[ª*œûQT¯ л¹¬ù«ÞÆÃ2ƒÆ€qžø7qSÓ§Õ!À? ¢å\Kú´ì•.Îîêè뀲üÖûx~y™ÇÛÌŸG~ÓÒÎã$@S˧¸d°Ë&Õ»ø,Kú ¯WnuÛíA9žÖUû§úÁˆ4_XŠ9PF} k®,B@/Á¼ñÜ7ë >B¼°~âÎ4:O¯}¢XnÌ.î×ú¾ð¡R*sïÒ:¨§Ñ` ^4ÇÌú•9s£¯Æ´—™„Rìt¯ ÑÖnüFžsŒ†åbCµAè‰Ï§ãß|ölIij¤gö/ጟݞ8£SƒÌkÏoDz"!Å(¦†Wܸ¡ ÔÐ¥ÁMÐ& %˜|¬ ±¶ï%>0MÇ=¸í²E[Û¤7&˜Ôû¢êŒ¶Ú À# Ä¯u¡oàï‡P(°ÊÓ…–¬q{ªWòš‚|Ùk Tþ¡6³Ä–|Ì2Zqõ¹7gŠÕ1}+?8¨%>ž#µ¼QuÈŠ2 qN+]ù=!ਥ¯L~0M`Ü%qþ;¾^oB¿—iC&${‹ª·‡ÎujD¯ÖfÁ|‘c­XJMóK\Bƒ¹æ- ½c[á“Ðÿ¢ëº»K!øÇŠúAŽE __bÄïóŠ‘$@—Ïz©Ûy݉˜.`)ŽØïL.±ø|@°Ûp!.æšxðz“º®‹šìPófW Û¸Ó‘œ$Z3› €:-­ðû-Þ<Ka®b%G2‚àãlÓ¹z Eë”VŠA‚\<•¤ÍgßoWìÿwÅîÙ“Ke\íºüçÛYìÙ)Žô’¥û5õ-Ç7™iÌ­*à…ó¬œ,;Þÿ¦GÕÊðwœ(ª3ÊNÊg{À»Ü \¨ì»T?MIÌ)BÐo×Þ(Å—Tr5r'v0K¿ô-4Áw}¡ÜïôDìZ\ñã Ĭ•.o Q)ÏýßþDŸ“mÆ0Å»‰À Ê[ΈÒkc, BÏY;ø¥q¨ÚqZè|ö÷‚]H†¤j*éQ† &åe“uü—I\Kzj‰4æÐÄxø•›Hþ#Ø¡ás•@ä!´6ÇÍ­X9hzö{Õµ(„ (½=PÀ ú¢E»Ì°®LÊ ò-+ê/˜®vŽ€\Ð))eŽÙ!¾] ½,O²œî!Ù ûÖP›DÖŽâëF°ì æ]®˜ûýˆ…Ü0+§"VÞgŠèÛÇ 0:ò?E¡+Ìbg¨f,Ïë ÷ÁÓàp÷ë5…rŸIÈJÛl©Cž³äueujþ &en«úŒ?õÚ‚AÎÞ¦m~í£æžÌ@‰Bÿdwƒw$'-ײŒ¡AÂzM†1˜ »¯÷è!rÿãÅpÈ2‚õ8ȱ¿GeôUa´2J_á¯"£JU¿v-W+HÇþµG,ñýÅÉïöDök%ÔÆ[¼ƒ -ôÚ°[ ² ȤŠhíûŸ%Åw•0¶oñÖòÞ9Èlo-TJøúWìÎK¡ :Í„ï lÝT'¾üP®¯Ïõ°P7Lõ#æ]ÂC¢o_¸Fè1Ö]ƒd[V©Z†”?+°8䀸LOÀصeÕ¦Ê` J|ææèÚ9•nÅ}ŸEÏøê ~Ðé9µ^é»çÙ€#!!@ž½§q29ýÄ‹s¶ÉVl&Rg_y£'ò.ŠÓ©GÐÖ¼{’Œà"`2± mŗذ5¨HtRvôÐV"Ø”;–lµ…ï••ë`M³ËëõJªŽœØnâÙ»øä æTßûNUvR¸Îê‡ZYÒ°‡n`2 Íž ­¼½-Gí½‘IDw©eÖÂÜžDùyA¸úVbÿê–YmUÒº6Γ㗠 ÜøÑ› ukyùJ°óò&Øý¬?UAÿú¾:5ð7ŸºÆt8ÅU¸§2‘í\=Âñ¹³DÞÔD ·i>’S èxžÔÉÁ¡[8(]޾²Ä;K•ã" Ã^Æ]ЖÂ}ú(·QÍ(L‡'MjÚÌ ìP]‡ƒÞüµsȈ2µ˜'¡«T‹UÖ©MÒ备§gˆÑŽ˰ÒÃæ¶+&‰Y{Þ~Š‹¸¶LZð¹°èߎu¸W6îEñ—£ákà'Nô]{Ô ±ÛMÍ€¢£»×YÛ¹¦[:—FÐ`9›œŽæ¿ªwtvƒ‰^o®K©]«–²Ü™9bNÉ€öÏ£¤ûƒÿ¶^¥…)Ó’O=‘@¼Ž‡Û0FÚAâõkþÍîLÜm&mçíI·‘aü  ‘Š…¢8±ªt`¾D9 Iï0bƒ™ˆÒbOÜV«ÇÉÊ}ôf]»&Z j»•λXºBOχE$“ºI%{˜a2}_ ÕZY¿€ø˜¿Á?!úŒ5³VÅsÊ~i© %¬-}Øæ5BL†£ât‚D¡6Ÿ¡ Lðî70Ú)•rêW·µíx f¡üÞgÉÅ×OÖCå¶­\ÿ"ÏË1þÇm9UæIvp°¦Ÿf§À£ðéÉL\úàb<öXã.ŸO,?°hž˜í…4í5^C¥}‘XÏy"ôs/ÓW®ÒwÒQ¬yƆݯŒ¦a&ÆÈ‚µÇ p¡)ÅiÈzÜ*¬ž~ëν?Ò5 uF»@§'Ht'’tp<Oía%ÿÖÊ¡0>&‰p£fBà!´t4µR—©µã·÷“2Ì2/(Å-§0OH¸"Xf.†Ô_„d› º\]{k[ÝB?‘¼AE;îö¼Mk­’•ª–Õ cVPJ‰ú’çm¯ýSx¹®*¢K‡4 9ñÍ_õ$Žx?¾,Ç OÚ"|üвtúï …‹bÌo5_ÏÝ€Îb׳ua­K¼,xBœ±Ê|âîl-Ëâ{þÍŒÂa#Z;‰½9üµø)•Be eÿà«!ÉfRˆ·×e îCB¬_—f_–—·©ÙÛ[ulÅíwÂ`~5Á o÷Ôk¤Ì ¤x^J{µÚÀcÂ6(äj¹cü¶òµ¤Ád>s å9™~ù“C˜e”áXy7ÑLÚbQ.ëÁH÷Ш>€ƒÙè¶k]ŵ!žqh­ RÍn3"<´gCîé2ŽT“•l$+F{u­“ù„ëVdE¸i¾À<8ĺ–å¨.±,azR5á6Œ¶ˆ*íǦ²dmjXçÌ÷‘À°ìÏÀ‡ûú°4ë‡/0ò:ôYd¾wH+ï©îâc#F_+ÎlÁŽòÎoî)cGÜXòdÞ/žitÍv04áÕx1Ò¼ùúEOR´ŽÚ (¬Ù¦äªŽ4Œrl–ÖL°pQÞ@â_øá”7•åQ.ô7JùãLÍ´5R ðšw–ئIfïj[:JÙÀ=ZÊjøä-ÜsÐk óðÌ™?¼kœÃW¹”èïãV¸ø¾×T°ÆÃnÕü£éˆÚÏédlݧO€g0!çzŽÔ3)»yiñ¢¶phFnë÷.~åÖh¢p%Õ…¡ÈÞóZŸ<~¤Ù)Ø2×AoŽ ÉC#Ù?¿(ø…ñz]§2üu|~'(Ê¥Yƾv"‚Ö7lbµXž)D@Ÿæ¦å˜Eïò#wËJ]ÆbÌý¬Qè6¯ƒÛšwçm‹•«6×4ÚrÉcJ"û‘¦}!샄0/ÕB¼³Ø;ø$¥7V~ ý‹Ëœj÷}üQÐ3$Òt_|rÖù½ä¢Ó¥i3Dy·ÇÏëâgW›äЍôÛ¤9¡Ù'nOh÷ÿ ­}ï#üƒw>1´ä¹1˜›E³ÅUgådëBs>YnÕh=wÒ%îÖ·¸¬Õ%" §L'/Ó_ÔÎM;„F¬È‡ŸÈãÉ…;fçðð·EJìÝ`ò¦r23ãDš>4T\QÿZéOÙG)å¤v‰Š°lA„U3ý¯ìº¬za„ÐQŒŒjšp½íúúrG#Ô¬¬î$T;V籂-Wÿ`îÀ®±·~)Õ¨‘ÑÁd&öèÆ m,ùÌ¿ô îKÕ?ê¢h Âú…"Á'«†ô˜ƒèÞõ9ÃbÍÂ÷I]ì&Ò'¼’‹+U;>dKÉJéðµÙÛeZ-…à±€F™–:¥È Fg|o‘’^±ãQК56=…½èV‚íöd£´<‚Ú’ÐøÎ)g9XKÝš²sØ›?fáø”Èî7מ™¥ìßâ1hŸ)—Ö÷ïW… ûs”MÇçÂóÃß Ñ¯Ð˜âö¦›Øø :QÒNvï‡ïKÖ¡¡IóFó0Kl°‡}¿7ó‘Íöƾsì%;¹W¶c¾ç?ãeöË{¡g»a—ÅÕÀûúm¼ÏGzø˜òH¸ùYÍ$¸qÂàdzÖDo%§ Îv»jæOÇ îiíÜ'«g&Ë£SÛ\ Äøâ*Bc’öô=ÔàžlªsÛÞ öMEÒn%}Ð<ÂUO¾;e™‹{š4|w€^NñCr€šâ¹ë‚¥”’¨8"Eê]ÿ„WbÚª'´ÔëdzÍVH|Xu ò·-¤d'³ËycÃËËÄÐFLžŸ‹K{ \Oâ¼ú;NâϪÍ`Ão…;†îú<_O¼ñPĦ®êùm 5ü‡xÕÒ‹¯Ôú‰Ëy&êfø 6 Í …:`¸Ua gy¯ÁáÎ﬘›âÔCý~ž”_‚,&Þö]|ìðPÔ‰ªN1IïáDÁ- œR ë(JA³‰Âj*ÝaÌ( ·-Â6¿TÆð”ÿ?#0JÌÄB%¯SZ1 ÇqáÿÕž(¬®ô€XEÙôß3WÌÈ…^5戒F^mÉ!–îzfˆz ‰ƒ­ °ší=QÈ2ËÚõO1KâñzóK­tºy$ƒ+jˆSmýó‹ ch„µXØì¯‰ˆ~¸èz2ÌáIO2 æ¹óÜ4Ë‘pªhV_%˜CôNMöŸüo³ yƒþÊJö¬«5¾“ú¯Òçù—®5ÚzÒâ1.R´u‡`#{»Ô»¦Ùý7løÕ1|Tˆ5Õ?É®öT¿`vÓJîû¾/Azp4tî"´:ŸŠµ ‡¼n½ ‰S‚¼üñÅà7ò‡W•ê¾½qœòÏçä]¨³÷±!»6oy5ÏX!e 8ž}„ëWP`»CS(þ?òº&ü|ÿÌü¹|éî\uhIêsgêñ)}ƒªž¬ô‡.8_È{J-ö½X,ÜqÏO”Ø.Ò^ß=ÛtÕ\|7&»~ëAMÁj¤ã—«êåÅ¢t£Î½ÁËZAšGy¢Ý}[ÉlÄ <f¥@íðç»ÎÒý/A(¹+¾çÍ»-ÅC[tXÁø»Ø†Ùh¦§à-ëqÊÜ}ÒDì]º¾‚–ÄŠïFÑ;÷A^e@°‹TˆÎÎ<2Q“¢ÍH–Ì7ýW­U]åx¨ŠhëYYÏ—(L3E¡{:òÖ"¬Ïîî/–žhÕt›ë’þФm Þ:Nq°ž£ªä—•?(ŠÍíoç·Õ’&E#&§ Î –Ó¥Cl¤Uû­\—,ÇUü"b™á˜ñxׇ™gIœm.³ÓäŸK¹PµÁ©'h9‹åJë"ˆG‡Xצ\c/¥h–Eó–:áR™ø²£k¹ç~.9¾“he·¿Ê\E‡&ü´í7ëd°êžSÐnÐRa<µ´QwÃkÂô…I\`Ö#}XЂ!½L=˸õƒ Èå/·*@ :pIš9çI²Œ¼Êý™4¤ˆöµŽ'jKA±¥RÆ_.BYGß÷—Ÿ{Õƒ§]µ>Î,Ÿ”‚ÑÕêžKߌZ`´ÜÐ ¾ ‘qß¼oÁ"Þ(î‹gQ5ø}¾ÔS ÷R$V™/ëI³V EÄÊT°ê4ÔF… Úu ù¦Ûj ÛzÌÝg:¦ghGŸèÈ43J5>àuQ¿‰î¥dÀbê$ &Ñ^Ô“p}šÜ]H±B‚‘®yþ”Ð’àP^˜jÂÕ?Û}fŽU=î×,B=;OÜX϶‚e0€¬¯bƒ.«WÉr%WI«&Œ®JáþZ°õîHG‘ëXÙΆ2R¢0Uo¦Í”’2ñ…ûº–?¤ð¯¶Æzƒmµ§þjIS;9£ùzþZùr„~fdáb„…—F™Ð„;v¦â«³f*Û©„l?œ^a(|R3ËT°™,=áy äýV¤_Ò¦e6^E›£ŸË98=-ó¯±å´;„òº1žÞ‘¾›wêd)ÔD™#‹È¬2QÑÓ$¾—žïk·¹œîUø’ôßœ† ·Š4wi#«Á_¿ŸÖ:×€‚–õùã?Ú,Ë[ôyŠ˜þ>_"$Tb…Ê Y¶[oÿ†]yQ‹EéîöÂÛ©í?óUê$_£Ï,;)–pcA cAp)||õ›ÎÞ‘\¤ß}¸¬0DhÃ"÷&Äû:zâŠD.hÐ!â­>IÕË èJÈ)”bs¡Î®#&‚^4l'÷=z|}MwÉÐËá7½Ÿûj¼ å÷Ú#rˆø­C=빯×iÿ_ ÑÁÐ !a ñ=L®nîå‹YalA ኘ.‚»ƒbÑyÜ;k‰{:n“Y³À¬Ax㟞6‡M߉ B)ÕÁ-âUOuu†®ê,Ÿ® ®ë}ïõÒ,õå{ŒµPÝ·_ê´S&ýDPú™9Ž<ÀÖíÑ×ïj%×iÝK·ýÒ’ƳPæ)‚ÒâÐpÑÀZÕ0½pÅÆW{<½kå«åd¥‚èO2€Œç[¦üž+ v^eEgÊÄæ`lã°§ýkÅÀx»|áP‘±£¬Ò/ãâ< îñBŒÞÒ ¿Æ½ð æko‡i$ƒ¢Iê Öý0öbLnî¦Ëz¸ì+[ì\þUáT ÚÜùÄb¹`µG‰>#ƒh_Ã_–bÞ!lœÅ*ÑAÙ,CP_MyZlѾ׹ÙT„Z· »¶²Ê"r ±ôU`ç¥ÀšÖ€û+¸ Å¡¥Ì™*ÒÃèèDD?&Á_(D&ˇ"3¦ÆÂ½õ» )v6УXÖôÀì35F£ +±5_r“+B«*=ï@E½[’‡wzÙ5E¶Ð,˜|`³¼©AÉág»óѦðìï­¢Zm™˜§Þx‘yz ¥#;WïˆÕ4ÍŒãù¼'Ûgt+ ‚X8©?Èvè_ŠK{Tˆ–5wL( •ñ3N‰ hï/Ò‡ Ejj€C¬)]¬|ŠQàf9~™sD`iýµ w2Ž¥R˜¿¡:¤;òß’Š^.—=5Ž4Úýž"ÎBš¦=?±«\ƒWWr\­þ‰sµOgU`2zGø’\è®ê9o¬'ª½øÁ1¬F“?ÿØvæéñÊÊ3Iï%÷}kFl„Ó-D©W­ðN5‹ Ú:1†¶³„èfþ4 T} Ìï@Lú¦¬Ý:×錬ÏÇŽ;á:%v,¥š´{]g_Œ±!«kPªžˆoæc9•õetÛ¯;wÚèEêþߣ×νKOUd˜òìôóü¶ÐMÚ»‚bôõª´º&SYJâøŽÞÄC´a–^N™|¡Ò4°ÉÿÁâö ¸ª(Øë < œîޱÀóðë¬?4I ôQªtÇé°‚ÇŽ``×<匌:CÒ­—êW[€ŒÏ¥Õ¯û¼Kðóµ¾Üs=lvÒëkØ—ª ü”á!Ž_ÈÓO)Û¡yñ ‰N÷íxk1•µV¦2ü¤;°ö¸1í¥aj·ad8|ê|ÍcA hK›–Öý{‘0ôÆÆDA)ˆ¢¶¦ì»sçÖ^IO^5\Y‰¯/§®f}9Ó×:AÃw¯Û÷f’j‡»Ò°OóKÓb Æ+²”ïR.i³uJqã¦Ì8l@X]«b6õp–ë¼¹Þ¨d¡³lÙ•í—7í¿©œ•nNDá4 uýlqhÖ¬½’ü;ŸÿÐòˆÑpœºoƒWõhjº®?,œTÛ¬¢¬i¯EÓLƒ¸m8â)aÐo¹ÓrÉ«T )ág, ›jñ_(GRµMf»´}Q!ÛÒ`,U¿KÂ1õÚ|‚²y˜¢„Íô±´[臰XJÎ^BY–tá c‰SÓÂâýZEK“T ¶xUXüë€é Ê¶y¹{íàV[àâO|>y£ïm%WŸži„ç¾³L¹MG €þ_v|_°ù‚f¤¾æäQÖ—g=WršW»ÌÍ×h8ªÇ¥º7Ф.æ!¿"‘ +¦ßû¦±Á–ô÷ìØû/åO÷t-TTY-Aü?Ð4p ö Š4²ÉkŸÀÓðitÑÕ1À²$CÀ†ÞÌ/à“TöyŠ ©·.ÏÌÅÓž=A9À®m…ÝŒ?j·CR–Ã^Çô$P¿²Ù ?²Ç8ÖÏÚ|ù¬FÃï¦ ch*?á·þÚ¬™¢K-“3ÀæâÈ•§råо§3AÖö> Ü}JM–cC$¸!;ø×î1å´Ì9@Æxe$\¸zF8~ù&j(©ÝJEfùÉé¨öÃ%ùÚE޽[”IÜJTr _aá5©³ö%Ý4d†ªïÈhfÒ[ÐkuFm:¤|ùu"€ C²*cÄRñòªç;FÌøkí«1ü|:—~¯Rˆ;EYÉßßžz:Ú€«R@E4NÆjˆe:©šõhÖ§ó1[Þ€àW;Ý;w†ö‡/Kåå}…2z\¬•òñ^ùê™B:~D îh´”É?ÖÄLh‘J¹îÅÖ‚kZÁFÀff¹zÙËE_Zÿ 1ªì¦ïáM&>o >°Ã©ûþ—ÿeCì=¤9¸™YÔc ƵCwƒ,æ„OîQ£8⺠"Gke9%D׿ò|deœO €®qe*œY ]h|Î%›ý‰»%QŽPÃ÷ý÷{ÀhâeÔØGx3ȬìÁ´½0?gƒ`†|¥Gê€ ì y™jù*ßSñöÍ¢Ê0qÉÐc“{¤oÒÅef3ŒN»i}6°  âØT ¢¼xÆ'Åd¾Ï$/!rà%§ÒHfð¹[ñÚXó‡[G¯Å`(Kž›™LÉÊrï%qŠw7ËÓãúx.ç®òHr|ñç’þü¦ŸÓ홌AÉ+Y8®)‚)‰”,óݲø®äÊWšZ‚JÆ»Fx `ÊÑߪJúk$£†Rœ¤‚óGôñáüŒg¯`üEYMI¥’õÊ»/Œ5œï=äa-ß }xe6ô¸€µÿBÌ™6’Àò°ß·ÔØ›«zYœý¦‡(3À]²Àìê g4•c[C'&hKFŒ–±èƒt'žt º¶QQ¦)‚øüÞM> n*´‹‘ŽÚÿÎöN‰!y€]lÖz€î:Èi{,Y|ïÐ;¸Ó‰˜VÛ ÑØhGo@vþñ¥‰K^ì¢=úÍ'šz]Î_jrRÛí‰UÿŽÌ0u93bíÖg¹æ½g‚Ú½3µìÚ!ŠMIŒ0NÙkêðûyªx~õ‹ÑQ Ø·²æ¬Æã,e9\óçœz Éd„¬ cYt…-Ò7µ¢$©ä¸Ï‹9€`¹Õ8O'»ä3þMBçh’÷â‘@5„ÔÂ.·½ÑŒKù¦ÈHJÅ/ØqñÝÚé‡Srâè\(ç:”ód‹¨ÁˆñéèÓq¥ÒpÈGï(ŲsRÒ¨F7DÚ6ãCg~Çup,üÙp?cƒë‡÷qÿç…c­mÚíÙ± Eíý ‚¶á0YÅÕèà×®ÝîÛ’'ÐTNdêÔñ`Ð3$À'Q0Ç3K:¥à¼×“»\“󤙚¢û—ÓÉ#gsÀuiÜIæ#Á’ÓÆ_¢5 ?…Egî îX]nÅbö|+¡úµMX êM`R´QE笴œƒ¢ =ÉÖiN·1£w6sÔ—‘8ƒÃ½:Óò®Né~ÏxqÍu¸Š£ÿа5¡°®¬Ï­¼¬ø{…È,$^oƧ®‡z¯^Uñ7ŠÃŽåKô#¯~Òi­ÐO,Ùš×ìß|Ï!e£Å",˺ížÇ} %úF9BKçÇ[TÛ5_Ç~bú(Q\Èh—°:îü³£{ºP›ž÷ùIøªUKsú4ظë•»¯FÈá).Ü»ÒýRÐÄ8Ud1³ß[Æh@îæ›jqÚ³Ý fVJS$Ûó’Çó0ÜÖnEÁ‘²’“@š…×­þõÖšXà ^¦}Ö1À=†'•æ~ƒÒúr„ì^Yy|óá²*ŒÎ32— ”uÃÌp¬Æ~¡¤r“À°vVn~Þw£Ô4HüÝÇ0x ú̬ö¹ÛzŽßÒ¶v°pß6ݸw:Iw=ˆ-`áÄPŠƒåõBæ®w»d·(R†-³ 2:Q ·õŽiçµ…A­ö¿DÃpÄÑ/ÀéêM.2™˜¡œ&[„P–¯[qAbß¾W~há+h>3³ƒS,}¦“ /ºÄÃâiEE ¶òcʧuAûLj6I¹«<* î_ýÕšŽí#FX„â nªqáOžÐ%ã ã•8ük/U2*“>"k[üJdo‰åph¤øÅgæF××À³‹-Ó¿½3ݲC ? ·ïy_C»^KÜ s'X™ÈuìÆˆ´½‚æƒiL_`ׄü‹z)²Y”‚æ‰]˜ûê+°u¯®…ᢠ(5ê,‘UJZÎpŒÒ-ÌÏÿáÐê­]éÝ3Òòž4JŸ½¦&ÀÚ@ÿŽºJ9¶lTm€UÂNÈê' Òi±>ø±2y‚&'ųsó·2µÑYVÃ1zpé¹§‘£ ;pnÛ? :'ÊäT(¯ðQý€õ½ô—SZ†Ha˜¶‹º„]!Âz¬ººX5l Ð|JF§Õä,@ˆ”ú8д‹ß˜I»B<”ÛQlPðö€np²ZFÕc›B3cŸÒê eª´Jœa?SøN6– MÝ>,‡<•9ŒÞrºh˜€òr½ù¾üñÛËÚyNÐ0Jš¥Ç…7@X ´†‘™êõ™]K%î­\‡L¼_ˆ' ú‘®G\¿¶ùŽn,Êm¯^Ñ#Ûl Xo+@¸1ù¾ÔÁ媖ƲMBÆ„û2gÎj¦*ðwÁé¼ ÖŽ9.?¹Ý4ƒ|3LQÃ=Œ[xà_¿W¾í(µØî! Èv<Ï‚HèƒÎ6yD8.äPÄCB?öê Õãw~¸òMšÚ{ÚxU~Æ–€ð’ñ{ß=*u÷xPŸ•Ú-Œ€£ Ž"Wº€asW?( ï(cûë(Qp™‹’Þ\AÑ$šì½g˜ðD“ÃþÇÂÂâ‰{•ÓØk}K¬´YÙ•ïP¡ÆÊ“òçŽ}ÛGjÌ[2Îk ²¢94ïÁY>iºvB·4çõl—¤à<Õ×PæÄÔŽËVªŒ÷?Å_Wcü¥”µáÌK2ƒI.DG˜çÔömOÝÍ­"#ón«¬áädz>>Ïcî€K§ °Ú›DÉ‘ÇN·“+Ú’h±Åª‹ÐMYg ¾‘Ÿè­q„”’ˆ¼ûåKd—yqò;¹ ñ…è’´~çVÍS |026A Î ã-ás¡|—Ãzù¥+¤Ôøísö—o 6ZÙ7S¯fGE÷µâK/¸601àùŸ¨PRÛj; æ8÷ ‡Üí¥r><‹RœL&¹HÜcÔOô¨ ·„ó¸ò&%×—bÏáFÎ0ZVE:’ÏWìÍuÚ‰NnT ¥CÆòv#!ë·Èä:vwÑsÐÙ†H¯á›H­¤4cíóæ&E÷ëÜ¿­îqV=©Þ(0´6¢ø+ü·üH^1&œ*<¥N¬\ûz€vO5í ÞlDÒ¯Gß\ÊÍÐsà7ß–ŠÁ6ØàÕ~ ˆ•é¯Y5d‹ñ¼c£õ¢Ôöb¢î·:ƒ:PHbt½™íjÞÃú#ׇ _— ÃH¹ÑÁÓí\³mc÷(÷è#×lozeÉåŠd@çBÒ"˜éøt±Ë“дùM†^X/ìè$,¿¹Îz'D<ù°¥^ N¹´÷w¬}dß! ´Páí˜ Ï `vd»”± Y°=çd›!D&Þ-Bf+P[ê;Á‰>!ÄŽt€H-3Û×UoFEùò§1›çÙ³kS°r ýÒ«EÖþ÷²úp†Ø0 `GÐô§ÒµvÑ ÓiÕØš®\>*—³ÍIªÓ²ý¹åȧL#9³ØüÇhvw´r˜òóû GýÊVÙ'~;¸G²g <Õ‰s\B ­Ï|”ôwA`ÚÓ®šó1Ó-I…Ÿªâà\DÀi;îNȺCúPôò[„‘5¤wB¶Z¹¢Ä1Ý “+B Jœ4•׬r§â‹Õz®ÙBÛY^«’ÞRÉV?Z%½‡r¨NéyவAlÒQBÓoÂÏœ»Å±¡ó½„K©Ð·ÈúL&î>r}ží2vë•:Mçúe-Þzè–OwƧšI˨éKrtbÁ×òú‚1m­Ãã0¬:&S^tü9•œ8X³S ƒ¯€$Ef\YÇ› ±»ôµØhL{ýpvÁyý¨}V#û“Ei'ÝÆPŸ™M%Ý*¨…ÊW ÒjI7éÀhSb™Å› ó…~=L¥*pÁvª»·ëë5®iÎw¯Ÿ1Ka®Óú¶So¬ cå½r57Vâ"z—— F™9‚¾>VÑxÄ“–…½’ŸÁŽKö,Ã^b¼. ”~ˆÍ« üïµvûgµGŠÛ=Nµéx´$×Se*Û- ﺪ¹°ÝðŠ1X·¢]¡˜Ù»e؇h ðÎùðäÇ0,Àú/Q_˜W ¥±Ô!î?&í"Åq¦Û kãØ6M• 1©“¸åuº²R³PçûŒŒ6gíMø×u‹Â¶ ª‡L +w ”6V$£¹àeÖQ–˜= ðÆ\Ù‡øf¨ÅùÓÞ?„†êï¦DwR^…Ûåâ¼÷ñÐ",x$U8!÷ÏjŒn7ñ–}µ†U¹8†#W ì¹´Ð¹|nªÓÿæž>güu+\>8¶’å`ë_õDý#“ñì‡w8ãõðÑa+.…>LåãkøRÕkR·xG ¹¸“eä¹)Ò@ƦJØ’öJx5Ü M ´ÖbêU‡¨‹ø®œÑÜun™,0·}4"à꘦ ~¬›ý­[´_ž¶ˆIøÎ0ú‰ævoX ˜µ'¢ä0ú7’ ›š ÿJ›¦LãÜoÜV"QÇë ¡Ê˲՛¿_É‹2¦dŸeÿ_¼>Ä V­nG¹)õe“ýÑa«³–nƒ¿µ:2¥-ŸQг¨h—û>I㥠)Ã0w§z]×H7¬™Û-‘L{Æ~%_º†Á.íߨÍë¯`õ~É´ºEwòã-¬0=ÕYn>`ÚøBÅ1Œó‹ ðÞ¤^Íâ’­+^kAJ]©šmT¶u×\]øÂfïe‹ªµ£ŽŠUŸè›¦Á'kCšùh<„­æ«eˆW?Óq ™_Ìpù¸²? åsÛ\Š•± Š™%ZàF^SZ!02ŠðVt}"Ÿ.®é´ÄWDøÉñ6icçú@x[õ* “è àçwÍF^ûÑv;;w[ôp­3Ô_»ºßáoc4óð×H¬êÎ B?ˈ#–]Úe–Öö©‰@¯ËñsåšÍÉZ€õÛ³º"\µTŒ2¿&†ÖÛç–J+~è­ÿî 9#©P`Xh¢+æ;££€Vñ‰õák›8 €ä©ˆR9#Qp£ªÛžXÛ2„áÓæ²äLªæá“~¥ ˜¼¿›>p ö>,£½îðWY6'c³©ãÉn±†X‰vk¨Ó@^ÀJÌ,Ók¸Xjœ²L§L·_=VC†âÚôi½²>^­ªå1ž¯ÐÑimµrc“ü#gRY„>ñ$ž"bHôÕ>y”uO<'ÜFfJÞi’¤}Þso[œ;¤Û¬&ùOÊÑ—aÛA~áiP– /q¹„ sîÐSgëC±LÊ¢¢ÐK6‹w;'q­êCᣠ4û–˪‹.ÃȲáHSVm}ý¸Ã,©´òl‘¸f:Ïg{nKEÇ*áË<ÁT_GK‡® ÆpK'ÏåÛG.>C?æŸZ÷ºÇzÌœx7ߨùh—þêa»8€\àO<3݆tßÍÀ׸žß¹êâa:„ø­VHšõ¬mM{˜)µë08PšVÑ×VÇœ‘Ô4ÃìVå;ÆXùÆìº:ö?Ûy, ^­ž:‡9œuäeU¨ÇP5[Lî2JjX\A2%—?ÁU6•í¿oÇZV’âú$Uב #ñ…©º2­Fü-®¹Ž eo>H7ÊÏyÙæÁ²~Áuá/L)–|Ó|â”[¬ÒžºÞÝ]f0:M“fÆì†›¼=¬v/]ŸkÚ%F¨|üz×çU:ªªÇßL¨ÏHÑÐZ–G c¢~»e•>ŠKåý ^‹V#îä×<£‹‚F¬‰¹dÌÝ`åÁ§“Çà¯D I „l“‹öSlÛ<„àÂ8“ÜûG.™ó‹‘ÀÃ,µuÑ}å ÙæšÏPÊÀoÄ‘äYïëi·[§(? aF+pÄõcÈÄ’TBíBžÓ†vÜlYz[³:¸¹«1õ¹8ïüòVÓj ‹÷¹LFV2—#)¾ìþŠáL÷hˆF ãQ7D4Íp#ESÞË&Œã°ú„Ê\3AvÄ^…1—¥S³üý‘ºÒµ¦U¥ý3`<±Ÿ”IN.õ°·©ç¶SKÀ›Íª,öÚ\M™äW;›ØsF† ‚Ü|ïu•`_­ a¼WÛ3Ø‘Œ0é½èT´˜*_þÕ¥ý¢¥þn¯ÝÿƽV‘ðB"pP›>//;¦C8TÝ«›&û‹&VÞŒ;²cœLf Lê::r[Æ B3Зr‚‰*~&*¡d4,q6"Y/ša9ÄÄó¼oS·ˆ7.Ò•éÎßo7’Lóž=Y¡ÇUÐhNðûÊQ”ï9u§j£ŸKW³;<œ0’¡¡–å·ø!‚ì3‚W=)O#·X¨+À‹XmXJðÞ½\~Nã{£¯{J‚9¢è’1˹“¼ÒI%Àò°Çåc¼d0”Sã¦OrüÂùe6ð>lϬ±4HÀ+­RVÁ$ÅjÚµçC‡–iOú«—Ù½«nÒë›X´¨×¸˜ìa¹Š™@쯙_dyþЇdŽºëR%áV)»HgÃüôå›ͯ}¨ÙIlPP¦$™ŸYþ¹Ìúkô¾½úOU…^.ð k}+gXW?†!! ÏJLjÔyT,aâï;ÐÌ’k`%^H2fÔ¿ùløyxó¶5Y¡ø n*% ªÜóÏX¦­IꙦëü–™¾”Í×+bXa ¬ØÆóÝ|=2_¹º×÷ýáeðù3›ÉN Q^!*;C*ÊŸ¢œŠèçrŒvW«#*î¨PHt,ã\v++†!Íðuþf!;ãb½oµ+O„ìvŸr+'(tú_QH#Ù¾²fŒh¸!™o¢D89byM…:± gsÀ3ø”îúÞt¿M@÷ýº ÂA ÌÊeñÒŽÞµ˜Èõ‰9²q-jLù9bӾܬ~^°zóæÔA¡¸ÃTøÛ‚ArŒæ)JÊgrgQ1³¤ro%Ž&”ʦ ƒÔ÷‰2cdêÖs¿@± rU-‰fÖHâC#³‚lxLH !_ª‡úEÛÊä*›`PÉÝRZEñ߸IÀþEqB„öåûŒª¦N E©½å!cñF%•³CÐÉ1 ¸ÇwrÝ=ÇS„wHnµA\—Lð9Â'0yÚ@gwƒÓ€å/¼ÖPFã%Ÿ<á³#(lŠ£1—X¾µmAGBŸ}³d‚¶R“ÜòrJ»ˆ¡SÑ_–*ª+´Û¬˜R“‘à–÷YÁë¦5’Ý\¬;¶™­mººVö¦Æ¸n5>bBÂf1ªv,èÔ OøÝ3 æPSwÅÆ¬*>`þ÷ššz±ÑežèL÷ŒÃˆ•eD3ãp#Ö;Èš+ÊUç6ÒN=„ª[‚ûò‡þQ.:·%£e6Òè?ìW•®ø=A×OpÚûR•M)È–gñ®i3sv8î”dcçaõ¬7QNƒìãÊü#'î>ûƒÏ² ™$'4+@¾fp \Ó©5=UÛÞ ¤”qŽ„§Ã¤B#mÌÎbVVQ¢ï]ÇàsÆTNÿbm$Û6®ò´O\&Ï%;Êè……kˆ\ó_HÆ#,³‘43ŽËÌ›^¬—¯(%œt**üЛä9…ª}=áþy½”øAs)Ë1U±rÁÑÏœI¦”­=SÔLâ =9Sz¥7×’.¦¾šÒãÐÔó…íϲLl1–‡ gB5Bœ«˜ó‚Û}M¼Ç.tˆÔfóJšŸj› Ùˆvá‰öXgã¶ßU™Ld-D)(<]ªÿd³“»b¸®éRBzø¬ ®Øàôv¤‚¹t¹lT%=¡+|'{‹Xûm3uKÀçËŠ4©º’/@¦”ƒ9É@¼o ¥a™§ìÈ;´­ÐÈíïyV%½Ö{¥Çë.@ÓšN î¦E}÷KÒ L»¢%F鸅u!ßÚW¦¦™†"no ¢y§´Ãƒ/ó¾6ˆw ‚ƟƸ‰¨z!ü œÝUo ‚µ·¾ñ,=7 †QlUmµ§+¡¯³c÷Ó`?ϨB(«Å_řچø‰4ïÙ !{¢˜Œ‚¶±¯šåÛéK»å¹Ÿî›Í¯Œ\ @~´bý5IH.½q["à¨b0du·ÎVÈ^;jÐÂâ&d)±tã0íÖz…]Õ\þìë§ýfã 2Ë pÒãÄî;Ã,WqÍ þ°»jF„°–lÉTtÈÎîÐ’;¿‘Ëzoõ®ìæmÂR[È’öRi“^÷üZŒçа=eØÎœØÄÍç2µŠíŒí¸êýœ¢l99Q'nÞöa¹–|Ðѹñï…WÊaòºÞÔe³.ìF¾ieƒ€RÊÖ‹ò¾‰„¥V¡xjÓ¨ÕVü2¨@Í¡ Òkgý'óVõÙצš„Nâ†é ÃÓWœÿ­iã$4-Ò<¾U¿j«jÑËÈX~àüGB@¡+Û";8c©!Eô%ý;áó-º”Bÿt¶«Ú¿ÆóþºgI~Ví A{å3EënÈàå>Þ,+<âË#³H"#ËÆ%Ü¡‰®ïýo¤¨í“ék0&t @ÈF~E„W£  PuM0Ù|Ñ €.¶[lü3+·rpphÈ«ÈmN°\J£ OdL’MÞ_òþ$öYÌÓ‰¯Ã5u2É{aØê}Ž\‹v7ù‚Ä(æ‚ÊÅ“¢3DE9õûàXOˆ¸’Fú/ñ§º´O7»áA¶÷á\ï¸1 Bo¯´4íÆôˆ€tñcµxpÕØx>Œ?r[s>Mòžt_ók’BÌçLóMæòz0]Ë ßrË#+t¡økÞ JÜv:!p o‚ :¿év‚?šntÍUåeà!6„z‰i"gŽe¹n¼(kô Í~)®Ìp¤$ýb¼,Ñ…h»]L¿5½Ñì^†œVdcÐ? q¼2… 7wŠxô}²#1 °þ¸c¤îÉ’ûˆE p3TtŽ c͇š €Úili´1a¿ÔǽyºÝÕ¸ûãà¿Ã,M^Ŭ0¨㟸B¦Éin•—ML/®QúèÁßùFjÇblí 9$÷sÍ-^Í£[¼Æj°)ßÈŽ ú óB‹Q·¶d½èê4®rì GîvüuÉš4?F‚¢D9åFÜWøKÃ|¡=(°Ý«bó„Ñ yê(!é‚*Aˆ.g Ÿ¼ 8Q9X2v8߀c¦(äºu/¥y=¶-ÃFpÆ>t`zùÕkº¢™põ¼ÖÊwÞœïôU•À¾&ú$SîË@_-jJéÄìCƒ (1©pÎEï8m–ûÔ™r߀Ÿüü¯[.æËO°”¸…»ïíçpœ=édÏ‚{µ.é•:?0˜s8Óƺé'CÁôl¢NmIÅÏI™„`Ûî]Í?å®_ÅôšcÄ L'wn‰!'Lƒ$šø `… §«˜3i4µòDГŒa‡ò^qw%„ã.—8®¸Tá<×Á§{Z¿Þ•èHÏOâÆm¶Vì}Rå>"Ëe¤öœêPhˆjÙŒ!(·ÖkˆNIqí§$9º¾ 6Bõ6 ¬ Øm¼€IÞ'Û…6@Ÿjvýy «zϦVq”yàM1Àè.ÙÖÂpÆ–: ”q=ðú³êiÐ;ßy…½7åK£nD(%Ê~ }Ž„³{¡à>ªåùoˆ§-DcþÔÕñ{¸FˆB怨v6Wî„A—èÇÑ!­x2S’ÑÕ—rYýÞ-ÐçvžÆ¹8i 9d‚`ähÖqÏz0ÉO}—J½J·î›ÚÝE]z](,„Ê(¹¯Z ¨œ>ò‹¯ š'8„j-ÞÊK¡Í/Y’¤Åaiÿ[öˆŠÂb1ñÜ*oA•Ä**•{ã·ê•žéÖÕ)¹c.ºäÜ ùG}Wª’hÓW=4Y/œ1éP8@Šúùîx%`+ü«åZvMýæ~P7‘ Õ¢ ÊÜ1Á¯Mã VctíhÚÑA\¸ ûm‰ª Ð(6’G_Í€ {NivtA{EÞÚï?jDp÷­(U­ÎðLz‹ù>ÜȽÜ‹¬ŠÙN]AÎPhŸ¯bµŠfw™<œxUï  4û¬›°;x¥øz­»UÕ4h¨9ŸŠŸ_àVÞI>v¤ßWòñÞôp‰äß‹ŠSÓv0@ëÓ‹‰D•dE„ò§ šRVÅšZŒ†;aç5Ìô¨c5ײæõeŽÙÐè½=«<é&Ï;²ÕÛW¶P⯠ÁQœpšK¼€©°~-,À76ɘÛpêHÝà¤îû÷¹WCÌú‰Å²PQÜœv³fð££KÇ4’¤_ËT ­ª… Ò,Âz1ðþÜïºY€ž-Ökûï_7>a"VNd<½é 2Ø4ão áìJÛ%ö #xÿéëoJŸ³iqëU*©-©š»ÈnY/`gt5Öœ©—4{­å ì½gVü5`b(`yo#|oûÍ©þrÆzA¡·à, Ùo™–^—eb½¸É-,âî>ìÙ¿ÇD@qÀ?Ýi@_,gkˆkÞÒa' í¬¬Íb"Â?T``­^þbl±ÎlÑk­w9 _{hUíOyÉÒVrÝ€øc7=wqøúö×8ü-'­Ùç4ãÄ`Ó4‚ãÇú0X =ŸFˆ¿¯»ñ.6¬Z!W¸_<9h—u¡µòê’ÁÉ jQÆ÷¨§[–Ç®Â`¸—º`uÌKÿƒâÙço>3BQIÚ¡•v Ôʇz\@¢¸åp/Üë«yp‘Ún”¶‹ýlè‰nÏ‘U¾'V'ê6¤0©Ø´Ž ¦÷*‡%Ö›]y𥠩§%$4AP°p&Ð]KØ}‰m†R¶Lʯ«pcòb¸)¦)wÞxÞ{<¶—U7„ –«Uä%A^©¼ªÅW¿vìÎnvr˜œ×Í AS.~ÃZU»½Â™ ïÉ2‹)ÀW†9ÿµæ|uVwz´‡0¹PÕ=É?Œi ¾Q¨oËtÞîˆ.s¢å pS8ABDDÇ»FÁ²ù(þŒZžfïè;“ R~¬‚ãpF%ñÖ𸿠¨mßyˈ†á“1´åò€½‰Q³2#‹,¢„f•úÖã¾P„|ºt7A·ŽšãÅÈy’q¥‡­V_¾E"±vb„ï?±mÿÁJ }¬kôÃY?|g½d@TaÞ8õt…Xøû6•-ð âŸEÅ¿ qé)å’M®ÿÜ›ª2”áfƒ]Jí$Ì!Fí?ö¦3 v‰=¶D†‚çUú¾À ïy1Ó%:<ȸÉè°>W¯‰ b•{èA¶j â.)-¨Ijë9³˜Ê· ¦LÜû¬fÜžÞ.{Y¸6è^Ïœsý 3•QšÇG—qÞϡŻÐ'¦•/ ñŽmŸŸq\ž›»àó ÅËu/Sn‚A°Ô#pЬm{„޼ÐÖæ1ïW”ŽŠÍ¶ãOæÜ”¿¸‘¢ &` /ý ¸Xwù˜²+\AÝôï‚^iAu¡Û\ì[¬øªñ]iϱ"„&B›Û嵺ÄU<Ž_̈́ï*EpDä̳Õyy‹© ö†Ü²*eOÚUó[Æ2Ë“ýÚ1W6¤ÿµEš»Éò¯ÒDåg1?Ùø³ëÿvKD7ÇQ­8îp~ˆÐwø!bÉ B¨˜ä¹0(›ãÓk™ ð)ˆŽAi“žÛ§—¾ Ý›à£6–ŒÈ§ÂöìIï5|R¾8ÐØ`åÒúéúeGÊ¿ò·q¯BH&“Lj*bHR'Ü”£–®rä©n_8 ŒeÜÉ7n2]ÜAŠ(T„êqéÖ'UÄ:]Ë Oû?¿¤š=¥Z^@€7ý¤|ÙüÓyØ‚:Ti Òƒoþu¶jÂÃvÜ Ïª‘p“üàÙ²eY§¡v÷ß ‹Œ¡;(h¥ôLƒA0tf¢caX5I@ëœHDE&\4\g™NHÂ[G$ÞE©ë!â™Ó¼„±{&7´Û÷i“(øÄaf­HB¿~‡¶°/N«t««,Ë-´Ñs[ ¯ms[dÊøé&Ì9'°»Rp§E=Ú!·©ÎD|„|Ò¸°Ó¯³ þØÅÐÖnÌØxì| 8‚ŠN³A™bžº.kÒ«¤À'Õa©y§¼Q8ƒ}Šììãt $Zðã,lƒü£Ë´x):ÓijY‚E$ÄßVšî‚(®´îLÄ>‚r`wëÑL`OήySV ÞI“î,ú4”Žô'Tu>‹ÈÞóX?²·U‹Ôl¼­G±€ù.ö ÓãVfvN˜É¸æ Zõ0ßœ¼/‰¡Ñ°B1fP÷oP@À\4fþœ# í × U¸*Ç8Iž–Î'2ëS@ó1ï.ös=LèÜ€àâwY>>¤FEy@Ž—üç9yø“óR qÈù<\bñ;_ïá·…”È¡œjðôy`ówé¾+Öä ›â08?5²ÓR]³i™îÔdèe|”í¹×¼'É"OÛe°úþ½óIJðž|¶UkÊþ„ ¨Ê'D›†“Sø æýËøÐˆ†n›yê:þíúFH£eÍ5Üî3¹d£‡³FZ&¦9³`Åu¿ëÉ•¢ <⹆ Ü„憳“ìPûïÃ~QÉÿ ëË@Y¶0‘=¹µÀ,žeWµ‰ØMæã¥d\QÚ>¼‰ã&ÏMJP¨æuü¡ü½!úl¤uÀ{w\&,¿ÕWbÁ…#àVlŸko¦.•°Zuü¦ûR»zŸSÀt;AØ!aß ³¥; Àeª„L3fÁqC’/Ï, Åè(5’Ye5S0]ZËãûœókÑk²Ç`®u„F&ð¿*•«¤‰¥`ãPs¶ ëK„q€(eÃAŠìˆV¼á5ïÞcÜ æp2öé.Ä>mæºÌÃO{‹¦Ârl©G”‡¹RØYô*¶ ù•hO+Sƒ#aô|³ÑZ²HФã*¸T„=ß³‚Aäɬ'íЯ[¸TÄtÝ{tÄÿŒH"ÊÖ.VŽRÌÁð ©u9EºÁoƒû—c®ó % l¢q~n¬’I °õߪ|3<ã­Ã­g½â¤¶ñt6.FðŸnc&¥QÓÂho¢TÌñ6ÉQ•^™|ýãVô9Þ&s'³6ºâõx²3à¥ó„ &ó»b~b⊅&ô·J_™ä4q¿(Öeë!øÅPâÔ[]WUt ðu<¸áªp<+Ò‘[޲ Ád:²W gPù/CAÁyú½³ˆÏr&Ôÿ¦ö·\oÙši,…÷EkÓFz0}ýaŠüÔ4[ícÿÊ&hûÀ(Ð%j”ËÚ±­±íªM°ñíŽkðú×Ôó ”9¤³$ómÕóŸŸCÌ:Ay‚ñ[nùïí²¾É·†o©¼ö† §oø)àΧÎäùê¨÷Ä“ £² ËLž–NI«@åáÕ=ÿ®hm j¯P¥2*ÈH18µ?Ô0¡‹c"_¡‚}”û+ïÈ̱.Vc׿ayö"7Îø­­W­]ê¯?Ikí±¡ýÐ>g¢AûO–äõ¨¢Î.[ç¹qeSª1z4Næ˜ öcŸ0yD×WÜ÷¶OÄÈ·7FzN6œìtÍ.cÓ­'‹™ìüýrŒ¥Ñf¿ÕV×\Þp£ÿ<«w¯Iî–õÛ í£Ži¶k«‚¹·ý½ÄAŒ©poÊ{?$½å¥-L­W¸Gö7Ç ‹²9Ý×ojQ­®²ŠzÍo‹KŠôžpÆ~ê² þð'‚ñ¿z)Hé§X±›&’¶ wšmQ“tå—!R"N\”] V\ÒK,ùù“ñ¨”œ›Ù%©X!26ÉÇåÁÛµÏJç»+žÝÜ®ùSWžA'ðàtV+Þš^j°ºvTLr&^^ΧQÿ®àë+eŽjPçu€Â1u|HÑûÛ&C½tiç½ñ¹ôX²9è„ðŠ¡¨ tœ8µè'ŸÆÓ@ÐLen’5Ýxà“°ÙÖ?(zŒ«EÑíZaLàuðìò™ÙZbK·lß+€˜7Áœð î8‰7„×ü؉% ²q&RrÉ$ÍÖ—h=#Åž¯ìQE½C×,úžpò½ΙÚódgýÀôûÒ…bCíE@¥`>õëh1¯r9 ¡œñHÜÀëcy5ŠE& dêõ’íhN92þ·œK­Høj>—òÒ­>WÖnù’!ºcîwŠÒ!lÕS5§¯3-`Äi&—½™µÒÚÒÚ¦™ELúøSR÷‹1¦ˆ-¸Ú‘£§õ7lYÔ¿ ÔØ–çã8ÖÛã À”(c”wzTU D´Ìf6öÔ| ŽÇa8nl6ŸÒ½ë}a3ÑWz5¡Ôxó?Š~Q©£꿾€Q§;܃ô ¬ïS%ƒŽYd‚ÛK/FR"‰Ôó×|Z ŠgIu‹ûîs`ösú“R«ÐtÁ“tm¹µ¼ÔÇ räé8l"£§ÏšLxÖ‹çz×ɽ Nß Q8}çb–®SǧíWËéï }çjõš“js Xš ·9{‘®ÐƒÆæo"=Iâ‡èªä³'¤½åD]~l‹¯õ˨ ªFkîåxš1ÍXæÃ%V…Üø†3Ú{¤ò,‹ ¼¡€Ñ„o‰¢fûûº§Ì>ø[iyfØ$)b Õ"‰Öy°N7’‰d2 Õñ»„…‘Hþâ¡3è0¤ÿ^ÚÚr aÇÆ«o¥IÉò~8sVÄhe¨lçç)\›ÿvÅ$OÏçwóÞl£%zºVß§† åJ­PÞv¨J¡SÜmµó"%‡;UgÌ´÷Í—Àe¾Ð·}.㪖ÆvÅf1ƾ ºpÇž+Ñi®ÚáWa$Ы<Èüë>H!ãÎYÆåêëu^=P¬ÜG¿[6†;§ÃÙt"ˆ/šž¢¢Þ:³µôª–÷þtTäÅòöóÓN-knÖùø,&KdëÉ«n1s‡à•GXð¨,J¹!âôþÍ ³´ o›ZXç­˜^@[5PXð°m9Òßw߆ô=zvu3£Ž–0¾¼€›¬õˆ| ;ÎJ‡(e"¨±~ÿõƒ±8S¶ ûÞìQÅ[Ÿ J™Ñ#Ö¾‡B¤üÿ÷ž/Í,Uá„@PSÜœe,MŽßú&ÝúÂÝó§A{•¥ÆÌU=ݤèk^[&Ÿ'R3yC 2›O% ¬#¤XÎniÇàš“!LnTó”&på/oNÔ®,~p©“]Í_ˆ²¦ÙÉ€åÃÀ|ÔvŒ]~ì'?/»k@Ì¿Ä)_¥öÐÁ€ÉùÌe?çb9:ŒÕ Çç‹ÒéB.¿Ÿm%Í [Qb “iÓT¿AoÖšŸ¥f Íçá’›ïõýöî*0ïØ,´qÙóƒçŸ»JªR†î-´×ro¼éÿtooHŠù¤'¼]3_”a7´^@ÄwÞöÊ—¬¹Åž'ë‚yðå=TwÎïN{ÎN#Ú·Ø› ‘ï/0‡K“W 3¹ ê÷ê{/è&§°¼¨Ós:=!Új/Rž–÷-Iø>ªÂÀt“‡@¦áÜ0,¦·U'(°±cÆj(ìnÿ|Ûç©ð†ì•ÞrÀñ•nÛ–A»þã Å˜d¼Fo<Ð8ŽQ míf»ŽW¸0Ng“j:‡¹›¤jéë͈F+ùÐQ.¸M“)c_וn4ãøÂ•€”£ð °£¢S!g"¤@›> ºÀlkõAô¨Œ°°‹ÓfP$¹å›RaÏ>Ü`–¢:cü$L88)Ö÷x_’¾¾„Œ¿JùpŸn,SK{—‰ ´0>;{;—z e/­º€ðW–‹—q¹‘± ÎŽ¨tà™† ˆ¼©  `Yfd-ÛÑ.5ÏÉí—!ª2ª,½÷Î)&»î$¥½ÒôgIØÄgyÆ,t¹8Äs¼ûøo&EGZ„À~êP¾ë=—çÛ}‰ñ–u5^Ä#õ 6‰b4ÔÞ÷ÏPÈææŠNn!íñXº† §^8÷gEý³÷…Š‹»¹ó¸¡¼c{´-jÅðÇIZ/_!u ^—Ÿ fË6‚’»¯¡ƒ,J E¡®£dè–ý;_U|Epª+Q-Ðö açý pzÝ3ø œR mß ê#ûð=Ñ~GÖ Î?ÃU-ÜH®Ë-¼+ປ¾ºI–eãŸÐO¯qí6†œ|«¶¹[?mô«œÿqçidàö8Q´mÂ6¼Ð®Îž»ëà©pä°¾™3 :ЄTŒ‚²‡š“©ÿòüSžà¥Q‡Üðž ù¿¬Bµ9H¯`ƒá6$E­§l9uP~¬´K;Æl –/"äÒ>Þ>ÔzËÚ8?§â$^n ø1+üÒl‡ Úc¼*d˜’^b­ã\LÚÁ#§×ýR!PÛ…îû¾!Ïì?•DzšÎaÂãÛYÃ^ ƒ¦ËÓNÜ]\´µ{`­©š­…$G^á¸ÉÏ51…îxIN.fÒw·íÚÉÊë·±ëš[¬A ~²ØOqqÆÂA8jÌÕ«W©š\ˆ_“…»€øÁÛ«w)A ~zV: åÕ T¸£ÞY ‘=nÙî!óY28üIŽ›G_Ÿ2–ìëÈ8òZt?(!øžZ06 ÉÔ‰µ‚æ\‚Û¿ìXG[ëØiÞÊ ƒdŠšÃ‹XÓ âËê9ðÏ|­"§ž …„\3÷Å7z-á Ÿº¨E>ÓŸm>SwÆD.XÁ¨etòóêo;t¹¤S:‘΋ë¶æé4«¢juªCHGe£#ÃV¹¥iöÊÎŒ™‚²é-ƒMû6Cià`TbEÜy³:ÍjšF15Æ˜Ò 5ÔŒûFÈQr³1ë z£¹\ôkO¯Êƒ¥dK‚2(d:K.æS¼èJÞÁ+Ão!‰Z4’¼7PùÝ¢¼ŸŠn_ÕùÃøCsæâú[6Zë+1vT¹u¸ÅTÈÛ)6¨Ï¯RÜ ±H;½”¨&îõÌ¡^aÅ»¼è<àõ›iýSºzP}³ß+¸@Ã~¡<>ª)6öo†_áo«1f]î¼ðZü8£³µ™Ûwó$J `‡ƒŒ:\¶bÆ9“Så¯z×û=>?ßP.3¸ÍÆ¿akƦØ;sÝagö ïsA±³™¬oŽÚ÷Á•P~=pñ@™â9ÿ@×íaøŽâš4TÏ‹•bÏ¢ê‘ßÜk·f©ªeCëð#3^`.Km{òõc´UÓ”eÛB0•rkMÀ³a ZuÝŸ@:p Þ©0ïgÙæÕˆS¹Í|@W¼0åÓ ‹*&-§ªUÝ*…fh(~ÕÞmÇ£þ†¤QüÔÀ c[ ÷iõ3áó>z´•eéµÄŒŽH0öQ†€=ÇR8ÓÓä$ŽîbÒnwó²@”ºþ¢‚Ðã„T?Û«öíâ÷·ôÆ oMÊe¼¿¹ÒPn-¸ï'•Óa)—O=¢\pÊœmöÙG÷—G{ªù«ÑtNæ~(^m#¢b3ÌM²ªf ^¸u¦ayÁÅw4ÔJ^½Ý<ü1…¦¹ð“ŽÅZáÿú˜×cõˆŒ ãsÉ+}öÿ¤(­T㚊ºÍNwÈËçÚÄÊûD&Gõï_ž³ùIaÓR>rßâ·‚\èÍ -òK`”vüÞb“HMˆÇº7sß§ÌÙZtSh7¨ ñNvÑA7}ø¿¯Ó88‰á%Y!1XzlLK.ÑÕx#l"L¯œ•ìîPÿ«²#Ú‘=Ü1ZÂ˳dĬeõ5yÌâ‡hZõ¢ 4ÜŽÀl G¢Q{ÁefB_pÕP¤-$4ÔR.Gc­qVQ£XòáuÛþÊ@›’zÉ™œ5F ÀgþX¸Wé}EŸèèÿAaý%tÕPQ§1E¾í³Ã ž€£¹âCnD66®û‚pº/²üÎkªègÚláQN }T_y˜Ä¾æ¨‡H›S8ôêkY)‹"E÷êß›gÖq¢9Œ1€7CÚ$Ú4vŤµ“½}<5b&lz 5ÜžÕV ‚Üï³ÀóìÔxÞ'­Ö³Ø -R]fÒ] å%ÈñøÙeɨ¾ï½9|Ë¡e‘žƒ¦£ˆ_pÒè›à#bŠCœhu/×X˪"_û¤_ųػ°³Œ&)ßÔÏ‹Hœ¬µó¸Ó;0YI¶Éfo9Ö  ¸ùÁîX%žp’‹Ü)ƒsá‰UUá™ÈíÛ±„FžcàÇØ§ò—LJmW³ñXP¡£SC_ 5X©G„%ÿ¢ÔüೄMÄÑýøņ‚ß^U Ày gÄ7­Îõ³82ù§c•:СìÛiÉ‘÷ È1©1Åžþ“lökÒJÇäË*(ü­?dì}rþÒ¡ףϰ²/h/ŒØ9„ò@ÝXiL!6'!O ‘ïµìŠ   Þ–Ò¼‘23™IïŠ%ÇŠþé{3P WX»{„«öÅ•¼Ñ>oc•Àç]@©Ñ¬›’ïgJ­–|_˜x¦Ü’-jH~Mxl ±k–Á¥N…±qoLËræm‰Õ‰5@!eäâ»ÙÄmÖùªlÛ¿Ð-@´Vw€Á³jï•õ§Þ[ €~ ΀aZaâíîéhDxJ¿¡Â·Ø²¦@0P³Z‘ »Ü· d(ýg‘ÔÔU»Ä9uÎÇ~ègçMãnãÓ§Õƒ•óÔa9 §ô‡Žà2±i ]óVÚ8ÌþzíµýïèQiEtñ% ü¢‡ŠX{˜í j8ordq¹$ûâ¤(½‹èãÁ/gkÑ€\;/ºþoˆbå N¬Ý‡¨_˜ç`W¥W(QÑœ¬®ï ¬å-SÈ"V]ôìHÍ_¥3’‹úÏë0…„©ž†’6HÖ¢‚»À ôã± I33³t q|y#”ñÆ<’˜ÿøxdæEº•o¾3N ¶±;¨T£—Ï`ðc]Z ñB@(áÜâüÉ´´svKûÀÑÙßnÃÌ“‹ˆõ9º*ÇF*Íæ$ßq`IÛãúGš¯ZE „2ÂÔ/6³U·Sw±üŠ®~1$ZË Æ4¤ŽNè¸Ñ±%ª=Ü,š×,y+ë&a-±®{-Ã^+ @ªÿ˜£PG“j{*‘&Þ6ų‡D‚µYtˆæ‚„žM5]1e¤÷8Y¥ž”ãœHÐ’¯)Á¤ç†)òÇò„\ÆÊª9£Tt'á>31¢™F³h3å¨ÞX6â)¿5æGÊúÑ:þÅJª±2MüëÖ½ƒ¢±ù¡x;¯,–ùá 즢?Zx„Ë7©®Ê‹nSn ©hQ{RÆ ¦„Tp`í‰=‚­M”l4G!+ÓF&ý 9ñ×!7K×qDGE s‹&„yŸÔ®Ÿÿ·‚6P ~†k*Sž­Ø¾»6ÖûîZ\‚Úr9©U9 áÑ\m·â‰ð0·ãÔ¸‹‚Çj–“¢xhÃöäòL*ÕD|}QÕLÐV 2bº‡Ë쯅·"˜M7ÉF¯nRÈ>!•Ê ¯ ~»¿]Õe•µHkÚ ¬ ª-Òð0NjI¿¨J Wåm(ûêÐFjÞ#$IŠHäbtt5»—Oc£A¿´ ßIĈqîlÎÐ41Îy© ~yÓ>‹r}gý¨Œy;õ“H²?Lnà û|desDx{u€§çĨ’f¸SÉl¯Âyž¾‰-¦™ï¸)HÒIÒ7rx.±hÝÃB‹W‰BT ˜Û›ëVF‘AýÛåc~¨¸ mÌ•ŸÿYRDVH s'1ÐO[xi¨ó*¸»?à ‚\Éñ ³A S`¹jêFÁ½¸²õ”S£óˆEƒÑ¯2©>j_‘׿Xo^[oqÁZWé[33nn€”ÖÆè§iŽÅÙÙvËjJø´ÉÏ|w^ÑHk‰êr“zÜ‚Ëy° iÑÊq(®ÂѲÜD|ˆÆ&pÖ{dý•ßæ¹m#ÉÓ±Ió¦EÃõ–ªÕ®kþ fÌSDá"*°Ð ‹‹€«£Õ7S½ÛÅüºáÙ3 ˆ»JŇ{‰Ÿ~’â”ÈÞ8"óÖ¦8ʘӨ]Ê<¯Ž¡HÜÛüû‚ «\ÌÜl| "õQ’"{°OCj¤D‹‡÷ÃÝŒML­GîéÀe½ÔÀewxœÂhà£aXRͬ-}$±3ªíô‚Äíf{µ:„o¿ëíû«N¹:ó€XŠØ7,Ð;Îúúó¥µ_ëñFøï‡Úd„ÚÁD›¼BSÎW-½×8Õ¤=?Ù ­À¡!]9¨‡’ ^Cš7F¡ÐKù^`©;ËlEØV¼‰ªþÂnñEáÅÏBü— µ¼N*-é[%±ÿ‰ö€¡&«!‹8ýNûRѾgqð·`Ñïö¸nüÔ:Mfaþr²ë¸[aPˆN['µ÷ à­hM ÜÉ[/¢.¬Œ;²ûMZ—\˜ò¢;¬F÷)òÁ.…«®¾/|b`èL«÷:zñÔ×ÓNoÉýo «:IÔDéýW+¨\æ¢/kï2‚yfóIñZ<˲&ª9ðÚâ^Q…ì-G*8¾5ÒämàØºY3ivxèn%£™{%j˜ICÄý•—“ &~§Ä·ÿ 4xä(óAÖ\,ŠœÐ¥ýh×z“1Só:Ie̓ðè¯%! c*/õ¨3¸Xeåª4JŽZ¨)­|*ˆ¨ ÄÏ$ÎVIΔ¹SÜӮˆÓ1bÕ-‘èHà}OJîd,ó±ÒôaÎD/F–K°äL–QÇtöè+ë4݃ƒn5‰æ+Ùw·»̦_øÇ³íÐÁrü®62{è׿GŠÑâü.'óLñ*×n—ð#½°£ë+\^j–~Úó¡›f‹[ìu+óàbßU. ͨŸÉÉf¢³6ö+TÎ_7NŽb†ŠRÇ.`#¥(i°›Ž^ï}à6|ØrØÎ<;­®nÞb¡ÏqèÊ,²nºÄ ¡/ÏìÉwœ@;"¹`ð’,¿0ðŒ9@òÔzÉ1L!ƒÀÝß­e[sä ¡=AÕ}2réØàÑ~(Ú%…F…¡ÿ3ýõjüš¦Œ±æ,,‹"QFbÂØ ‚ƒµÞÉÆàúH&[8ʺÃ%ÓÝD‚5¼’$WÅkÿ.¥§ìÌBÝσùÂ4žr%aãšYøR—‹ÎþÌI`¨´“< ‚ÙM{È“ k¹‘üËÚÅÎiõ;—Ñì( ìiëå”ÈÖÉ y¤¥"Ï>€šÌƒSaÒ—ÄD.Hè“gÁO‚»S3ÑÊ©JâÙ©,ò±ùKUæz‹öûÁu¸J€ðCi%‹•¸±&RÆ–Q­íŽ|O!}LÁI Ñ ^È&^$BmÖÌ1¥Mâ#xiʇV`Â?Éçä¸,;ýÊ9|Ò°JGüƒ2Ûœ§Q†Z¿J"t&á¢ßÞÞ¶/glý\mn›:«i8l?‹`{½.D £éFƒñëõñ•ܽæ¿è’=G¨—Íù ‰ÒH7h”ãàž]ûÅa-×M]½¾©‡†(øD= ”«6+Ovïš¼©8•4½(üAz0¼mÖm¨W?ò¶?üNzG+¢A¾=kžs»ï´J“PIqZå/öy½o~AWj£y6СþžJs4®ÓTua·ÀÁI—£;~}#_êG ‚gk²×üÙÙEy•µ³únÝIÏ}+PQC—Ìx[N¦$zkÄm­â‘Ýóœºî«ÿýQ„Å||UyyqA²W=ÇWì„£k [bá$oIA?Ü-/¬dQ½™W†E¸Õ´¾mòø¤#·A®(Ý«dA†:Œ~Âo"iܳP¹ê1Xò•ÄG¿Âº–é`,ͬ·ûê‡=ý=ERç­ttø» `<øÊ?ð?I=¥ŽzA’œ0Œ4Ï9“ûB´i‰O8wÊä¸Ì^Eà+ã|-*µægŸÆ6&ç¬ÜÞxîU‹ûÓ¸®!y_P6B€\Xƒ›g…H:?¬äªy…™!é ñÆÓÊŸF‹"ìoš[­{è¾1šV /4Y}ŒUí»Ðœg†˜÷ IŠ0zØ ‡â¶.°sYN0/ T3&íüfgÊøø÷Mž0Vo¤N±Ó}Röâ5¦èŸ ]ü³µ&!ÁÕ^'²Ÿ±–FighQ΃Z“ßè"TŒÞW îÀ)ˆ‹ÊÿÅÉ2fì¼Ù¦gá‹Öþ:’/³á둜B\^þkÈôƒvc³øN¨˜ÙÖu(u¸á»NJ¬HÙÃl»ŠpÂ( Úé>~M}‹€³Éû=…)µl~å x¢"¸¶fبv¼£è˜íPdº¹ù 5Íx BõÖðºTÞO5_OžI¶‰’<þÞ/ª0èM¼¼–èä]™ì‹Ü úíòÍ cÌ›¬{ †þUŸcwº÷Æ¡ˆóUù+"¼v[ðà–"®ídžÉV…8mɼ€áñ!|ñ56JžÙ.ƒÁ¶ò`ì'íÔtO¥—ÏŸîKƒr޹‚³tàÊ ¶tµm(>_ýßZ‹ÏÑ([%¼C+,k±!4>oÈöïã1$díÄ·6‹Žë3à¦ÚÁãX;ýH»v=zÏNpæB²¬6ú2H1ôÂ(ÈcÝ>äþåÌ-ÊÂhd~ж(´L¯*1loýàïskÞZ¾ažû9ØÀZAÚì“E|`Í‚Ò>Îê½i_™98ÙÖ2ízIÓiày|D‡Í¡a,Éýtm[ 'zÜŽK…Ï…À”Eý‘µú„Å‚xokA+Ôèzåëtø¿8r¬d½ã+烥I„üq;G?Û³rð·ÎYqq??Ï`Ï2CÚõOŽíW|Uhd†ŠJ€8O8ôݶ‘9Žä;™íáB7 —´£ìP®jCÊVòÄÄÞ›ä?¥wY([äëß3s‡ÅÎáQÿA’öÍ®ý¤Í#øË´+÷s¯õq(m±÷Ãþ‚ BYñô©Ks%?Ôü £mþ³ø:|4³áÚì`©÷JÙ(•Ž3à¡þˆÌáHkø€Œ|·RÝÆôôƳs˜>«DŒÅ¾wæ’DªÕ˘'•ÃêJcŽd›D¨¸»ªáÛd¬qûš¨`wWG@µ²PãÌøä  ÷$}1¢˜ñŸÕ·[ì2á8aô›mÖÖ9-›¿pº‚{K’DB&%´T$2deöç°—Ž, €€9°‚v¼Ç]^’ûUŠ@©ÑžNÿ&\¼#ùY¢˜±™³™þr“n!%Ä8ý¤riÆü4ã<„¼ËiÆh¸h §Ø_ÏÅRAãl»ã„?N%]Llk’²…®9Ê«ÿö·ac@[Že™K¦çë[ÆÖž6 $­'ö AAK¶‘@¤ 1§|ç¤Ä¥Q󞘸MÈîlÿÞÆ~·¤NÖ…ðÕ^þ:2Ô .‰‚º×mvöu”–aµ&€«<¢ÚXè¥?å7(¶o²[Ry Ïëw†u ¾¯—vâ«!Ÿ0¼À×=dË S3YYùêí³zõ~0X°VªŠ‘…ÛÙ$µÞ¶Ì"í3^mí˜FxûUù$Œ®öl_oÈ­áfë²sñæ"ÿ‚Y¼Qí(ÆvÁ Í‘º«¦¦ÉÞ\ŠÐߤq-n”°SGu)Ð#‘¢sFÍØÙC‘º²4MPŽ>|Ú#÷‰?ý€ÜÑ™Ví.ƒUl­ë0vR|ï ðÚVþíˆ`¦24V+é so.”Øþê¼·íÂÞGž>%_IºHõMn‚­°ÉºöO8ÑUЦÍ[ ÚØ1ÞžË>]¸ox¨›ÆµFb¼:“½h¡{Ÿû…ŽýaötÖ‚–X‹–é›Úªñ‰?Uಉo¸A5ÀÇäti–Ù{ûX¿¬òâ9eA‹¾›œašX{÷ŽS÷¸Å—¼*Äý¸à)ÌÈôŬíjZÀnÚkšHõtx;#Ú%’ÐSëb“¶âY=ŸUL²ªð¶EEÝFGÛºVU¾Î¼Ž8ãÖ‰ÖFø³¾UZ(çô!1³´Á\ô/Ò©SËýéÚî_Ú»Ç\®KìÆ±¨/``ÖÀˆS¶†ó!+ñ*R¢ËG+Ó¿Ôî _ÖY‚:…ÔPÓ9uÍ†Š´i]šk¤éÈ`IQѼ}Â7ĽÞÖêæ½ îgFDdä/²ö¢ˆ­Ð¤›}z p›œµ»Ì8pW`–ò|½âr{…• ~ ¹Wš;®õ=&t"DirnÖ÷¹rKÏô·ø6FN ™Fu™Í¹Bƒ§ðÀY "~¡™œ®}‘#¶7À0hf!!!ôÐZñfã¶žzÙ s+òØ_졌X "´ãúv^ÇŒJ¤_9òmn>À¬¦FŽ|É®Ü,à­‡ Ûý¢µ:ÅsÐ-ˆ ¦çîrM¤šAMÖ²åj ›÷…ž×ôò §üZ*—|Z´ßÑn/v;&æÚ`7n‰æ¾a*!iÊ[è›UƒÎÂÓUº·¦ -«v<ÕŽ¼÷§À&[Œód\'ãxŽÔ™89y® ¼Ë )Ê}ð!B'&¬ DL†ár®y»9))÷°"±Š5ìodra¦¥æÕgÈEØób¹èsBßñ, j™ÃíŽl—’23¨‡á¶@û»îXؼ}‡*²›^4íšÄ#íç•dFÙZì¦*FóåÀr÷y§BÍf×:3ÌÇ0Tsz :¬sZ5œY7„!qtè/ô;]ºú+íݶáA‹ˆÄ”×ùD¸/FCiüFef I?ò`¥óN6œuü-ÁK˜F+Aî³6e!4Æ1¼³ùºÓ6 A<P+>Gkõîx”¢Ý<(œ‰+ Ô æV;h.aôìvoÎÑD£bY‚2uŒ QÖÖ_1½ë†ã¸ûLœLã‚7r{Ô=emf' ™^ëœ*qQg¿ôË;¼„Kà+…€ eú/¾P[6cô¨4C3Üu5~Òšdú3Iê1Eo–¿LÍ Ù êÌTƒÇ`]KÎ%ÃNÂZmµ©˜]µ{¤Úó0¨ 0ô9÷È2Pö%#,ôû“ÕªÎQÊ¢b ižqr&5#/èÓ¸·==´ éŒ‹×uŽ{‘SÙwì©r”˹&ulwhÿ ÆÈ¾Ìv#ÍçD\ØàæäXW ••C‡Âa6SD¥fbÔzjŒüG‚B ¸ü>è³ßN¿Vùýš‰þ²>Ã͘ïèÒ)X¤T}¢ìræÚŠReN„â.ú¶'¥ó>ÏtŸÆ\‘éñ,û]E"ˉHÂ=¸a#µ?‰µ£ÞJìèŸ)˜Þ˜T4¶ RR‡Xœ¼³”gkóƒ rÚ¬xƒ 10YCAØ´¯15<¯Àødð5ÌÑ7«ØË \Ÿqq5êÃ,óDÆ>u•m"õ0øú?ÞÌÈÐkx ¤èL@ BèZÔXÇ ·Û¾R_$ú¶ ?JÐqr´Í_ImÎvˆBǼ²´YËKžø…Ûù`¦È¹"3ßn”Rº“߸á´Ääðj wDr¬kºr¸+/ÊÎ>„ú­Ë# Îö=pÄè[œõLýãÈ© Ô[ÒÝÌ£ÝjÕlÇ€ú¡Z3E÷¤dÓŸóD£ê[„ȃÓb Dß‚B!‰êx(„·éøÙ&H5 W€»•ÛÐ6³)cÂ/¨íóÂÜцeDH臹JyÆU«çI-¤ +o³³Ý˜±œ–¦ëm`VJ ÀsÎÁ tZ§;¡ÐJáA„ùzJÜc?ö7w.q(ð¼1‚ˆfŽøÂ¯òãö°˜A_&¦DËÿÿ¸äÇN“Âùb/rì£ 5ÆH†Ô·—Â9êROjðÔÕ[–nKêFGV·þMð›Ré–Of A÷iŠàÿÛQÀ.?©bŒ$¨‰Âðejûg .A­0dBÊÊ!jâw ®ph‰wÛØÊgê2~s¿èhúÇ—ýrlW#ŸWÒ‡ìnMô ¿Å†ÛZ}ô­V0Î*wƒ?”±ÉÖ~‡y±ËË|õÈÒùÅgxóå/ãÓŽj_¬âGMÁ×PlK±ñìN¢D\J€/Ðß84úË&gTgKh•-ÙÆ˜ÈȨmÚbƒ&Ðt”XçºK“ßk´üø$q‰ QéïÓŸíü**õ%H¶ù¦¹f€[0º ›Skž´š%ÊáÏøÈcs\”Ä—XN±/CX™nšÂ÷;ªLÃfægw%=#í±)µÇ”)Ï~Õ=UxP½®B}%ð kÂ3“×@ú–¹ cÉÍË3û€…YÑ2U¾¡£„“pÔ‡Pƒ(Ò&ÚH¿  Žå÷Åô~*ÿõµr¹Ø* áW難sy¦¸‰fæ‹ØzOЇ°Ä5eP¹yªéä?Ö}^wS—µ²qêªc¯¬´ lq ¾yçh½"Øy¤Ó›%Ö>â \c³Š>|µsÔ9ÒÁx¼òAíé1²èxæÆôvïÚ·Eæ[ ž_JõOF¢õš `xc²õKI¶/,¥BL²iŽ&ÂÈàְפüI?‹1hŠ[Ž›Vv‰0Þ…)¸YU!Ï6y<^ è~SÄyô$ýß(ˆÔŠ…2ª…2‹47ä,¥9jáºzŸÕO.[òPåíÚ9Q﬚<ÔËIæU³gÔ²‘Ø®Ë m08»"ïVwÈJ!ü½*†Xá©ø/þ³rˆþÍ.e:¶ÏL])@(@T¯ÓƒºmiÃV<± cÇÉä"a©ú]‰q¿‘TsÌ&{45šø,=àØ,ƒu ižDR47Úáƒö¦x à${°å†Š¢Œk€*Å%;sû`a²·‰ ­,)#2:´xoP)·ƒ·Ëª:õNÜÝwJp—ìêì oNŒêK O$ØoyF §Eëµ`×&ÇÅÔ‘ÕVØm ÀmÅ+’Mwy·/2:OÛ#zqaÍi·@Ÿë®ÎSÉ ü ±0É¡xõ,¾éXé ÑØˆ”ê#J·W±„úG•ìÔwV#k™=ŠSÜMãšÊûóˆXªÙåp#UXè%´íÚº(”›âÔ¬õ¨ïÝn£*NbIˆc®+Ï.ôô°I´5^5èõ9Gû…¼v‡©¦ïѺåŠ2+þ”µ‘†gXùØ”iL;ä*ùÆZ¢²£‰åvL#Ê Ÿ‹Ÿ[Ø|»S´Õ8ûb$Sõ¢›Ž÷·8‘oaïZ°¨mì^Íê Ê(Ú²Z¢g |÷LYÛZ ¹°í¥ç¬?¥=Ñ²Ž½Á¬Ì1g”ß%ë×É[aÁµíªv¦ÇX†Ã-È´lä]¤ÎáëDÍE¦J6¶Ý§§ÈoΞ èÓÑÐáQx’í³*o`-G‹þemy¥ <²ù\ïò°=‹¯]œttF’Ã'@Q0ÔIz7ìÙòýí(¬d#òø*îg6/DNôù´mÅ‚óœ-Q®íÞ¢LÍq3_eø1.Y35¶`i‹;-Q X« ü«—£ß8ä§¾û™`r<}?vR¢£";¹áyS7í¾Ï˜Cĸ%þZ]#LêýÒ÷tõa_VGv.ëÌÁ‹b›af~º±8Eõˆ¾·ØÈœg7–1Ÿ'9È^Å÷ZNQ=)DŸß†?Öt3!z](¾.äižÕFˆ5—È€móÄÚ=»È“<ÌO2¬Æv牼ø0ñ¯Ì˜ü€œ¨±®ÝÜY$YŸ¼6‘` MtÒÈj¼³O/\;mΞužÑpÑŒý.݇ôáîZõ83›¦Ãö9ž¯Ö¾¨ýWŽÞðÂ_ßC$uUA‘áÏT tÍ®Iú¹íöò6o¿óVxA%ϱ±ÊJid_×͈Kµ…e¿Ÿ-†g*ÕþUèZ-{Å”bûé3Y™®÷Êt·ÕÎ%²}¤ì´óÇýù;4 Ç¢] +šðû"ýÌ£›”©%sÅe¦?@g5·©4ÐRv£âK âˆKB$ùê¾,ö.§¿S üà5.K~ ¥ÕtÀÚ±î(mì{ýÌý÷y#Ë/é,$ŸrÑ>ù.ô`÷M.a¾Ã¬ŸÖZ)\à,;°¼ð”üÝiyG õömG°´~M޵uçòB…Ø{OáïáÀ“Ç9 1¯ÝâÉn&?ZsßÝ²ßæ7LÆ„Ë/¹ó¦aÝèÃÑ›Pm*Ï}i¸Q#qèÝ1¶á’cãm+ôüÿE°îãGxâ'x¢*­À»h®×¶‡X0Âõ¹Co++ÝÁû夅ô³3ÆõX'YUÉšX9˜)–„ïúJâäÒ¶b#BédÒ6Ú…¨H,t<Ë#"IJA&–q›h¾wvTIÞ­’›˜9Ð>þýõãz‚V 'qý9ïŽÅï’³?‡„¶þwgE«oýgp`wÌHÈr£X }AÛOÁ•6æšæÐè®ãœQweü‘_ḿÇÛÊïÊ&‡ïß²£æÉ’Œ²nã½#ðŠã®? ø'¨ÖðŒ)ÙÒÂÕFãujÄNÃ>¿{ŠsWà¦ôX¤ŒÂ3Jýx4hÙ–WhÕ{\UÃåû\XRíˆÛ·ètW—qáY¿Æ(æÈ0•Ðl\IyUfút›ñ˜U yçÊaK@ŒNB¥÷d{|cpŠ’øe™4kÊ+ÉŽÛ´9sÛ¥ùC"Pìö!`Ã@j­½aýc@DGÜ|D÷_ƒíû|5s/×ÐLuU¥GšH,²Ç|ò $³ï{g6UfÞ˜êß©:%é6Ãk0]:ØÂRž>æ'†u!v˜Ýߣhß¿K:Äò bÄöWVÊÅŠp£üêöö… áÈ:ÑÏJª_ø…Ü3Ÿ†µÃ¡]㥗~–ïH÷'B¿ :<‹Õ§Dh¶­mÐHmääòžÄ¨¬ê Yk‚ÃÖIêèÑE¹¥l,!=fBY¬VT±V¯nQlGòŒŸâU—NUm`Æ?iO$ zŽLg¿Ù¢Zü?°<7ær¬;80X[ñ±õ%­¼~÷ìላ0~”÷P¾Y¾ETFÕ#»×Ud‹žj¨&d öƒéŽˆâ._´z´<'&A³m׎„˜þ …9¢Eöã=åÒ”-ï>PjÏ~Ƶfdúä”?ß®»Q<  ™Â*œçýΡG œX0Ï4-‹Öµj%ÌŠh¹o·ÿ^îñWEÕ*:ÉHgËrFNôÞÌh8R'Ö–ƒÁù ’X3Vx’¤ñùÉ3êáu¶¡ò‚cy†/]š'­ªÄþò?[øÏ®ëÙ 'g†›}àÅqdHde$>Ô°pS¯þ¸yCR#|îz ö×h•’|å.éz'T.eáabÞ³‰B=¥(ëÀ#U)¦©T,(ƒÀáú—äÑ_¹7J8‹ŸÖèˆ5PL{a@ÎúŠQI›—x4¼`#\»ŒYá2䈤„jй‘‚l¿R£R.š±‘U!ªLÒц` ¸\ŒÐé(ÿ@†šÐÕQE- ${Òs5fT%ý ÇRÓO;6T!_4†ÜÃ7™ÎYˆ£«ø›)ºÔ½v“¼•I®ú´L™²0½ ¤ 6ê›#]½©Qœ M<{i;4¨‹+ €ÓõXDÜåÄö½‚– V1Yßl8ô½ñ—vüAÿtw9E^ ŸVïòVßd¿vá^PðúÁÀ׮ſ…|Ì…?]2iÆ„Ÿ#×&&ëZàÕsMÅ!áæJu'À°>„VEòªhùÜÉì9Ï=0S"Â9Ä^˜g—‡)¾yƒŠ·i¨Gƒ;"ÞÙÈ$«ªÊúëxßÑ߇G60‡~¯ý\$ômÖˆùáÖÁ‰É©ZRŸÜ4(µâ1ÆŽóŠL .DÙüõåuuМ1`Ï+Ul„Øk@Zì¢nÖ+¹r šu ²69Û‘çžµiW!yË#ùT‘†Xúz4®,I_ÉÐ~v*ÍŲ*¹0t·ÎÂ(èÄñÚíØTgv/fqç^ž‘àüX~f¹öJ†ÃšÕêCŒ7Z•ñ7iQ­ŠÛÇ6ÉëÁÞ¼E#d~2½'Ѓ\ÍJ~ ”(y•ÚSp\|æÇ œ \;~¢œ2\º´ø³²{ø4s÷j¦4"¦ÛõNd-ªö^R»â#BqS5,¾bB¨µ-¢¡§‡Ðxn໨Òh‰0cfý¦å?͸v‰pÞ&û&uXþøÓL-kÀÚ ¨ù“’!y&oû!(9ââ|Eãª(ÕM<ÿ¾œ×ÀW5ä˜ð”w×rÅ¡]žû°ÊË”^ÕP˯ç -¼{;¾ÊÅ!ýút£~TÕÒH–œù<]à ÆG/á2Òh°k½G¿Iò¤ÞIä=iXÚy.Ë» E† ³V›D££Jº=Mºn•úýXãË|Ì?°´k·üš\‘èkÅ[­îÕ? ½·$Õtçݖµò1hC‰OÔmÿ5.ˆÄL¸N5}zS¶Udð¦ IÒp™" …#ãäÖÊ¿Ëáé-måØräI‰&èmìÏŒàÒ÷¶8 (r-çHðà]\VŸä‡ôùÿ§ÿ}žð>–¦'x}Áër#ÄF–(þ=wü}ÅQ‘”ëN^¾ºŠÝ° ‹®7Z^UòG(߆ÛŸ¯ôj„Üç3¦¢a¸?Ötï\^…ߌ@vÆ(;¬~9OU§€Xé\`ÙÊó˜èäE¿’Ely•¡ìS¶›8=ÈÌkýë‡%¢°;F–Ûfx …b¯%0*3'>ÂËÕ˜™,çÓ3ϦfDá ðy`óž4ùc>ÿÐb¦—@ŽRƒl¸ÛwOO¡Cy 6(®é­lØ=.UíÖò„ŸÅ5È@æ8cÈ5W³QשS—ÊXEIàñ«öšU²Ø"ˆ%ˆw8ñ»|Šx'Ö tô¦Ì³+ _j6ò_š¾T‚;ãÏ€šªì²;>Ú é ‡V/Ê<´|´ÃÍ|jø`p‡³RŠN)@ ÎÖü_³›'—Å'“±J!¨Ÿ©øn®(LÔûòs¿Røþ\Ž­Ðr³’ÛÍZE0&އÊhæªÛèÜXúf$¯ /£XÞ^ðÇ¡ÍT7ÞXjNvÁ×+€hg(~ð§Ás¹Ú‡q^‚½…ïÅZiîv9ŸÑRª„kÏ6:pae:#vàäûÚâFâ8Ãö%ùG.ÑöŸ"d<źQÑ8OÅI¢êaÌ{H c•-_T\½ŠÇGŠ‘ú.uߤ5åÎ"¢¾ä¼§ÂÌÿ+v¸rîdÒÏc­±Q“³æúq8ĕ뛾XVwyWˆ»§Ð,-æï˜FS™1ƦrU\ÿ ¸ÅÚN¹§ºÈ@°B¿$ƒYº_â:Gžg¡69ŽGj`wŸ‰ð9Z=ꕎÛ¹ ¿½sˆŠ¢H @Â= Ÿ»ôã„O:õ*!–éf}€ÀS˜Ú*ÿe:ë–°H7UdK?y¡?ù£«OŸg9çÊ@ß½§Ze©4OÑ”¦»¤¢™îÓá<…÷àЛ¡;޽(ì<öØÑß*W±T¾mç9Ý׈‘fŠÞHèÀh!p7ÅózrO{“ù`S=¢¢k/\}Ãç¢ÝìFÔ‘¯Ô¯ì4Õâf^Ù¯ãÑho)tú]Â`«dù£4:‡¥[ï2ùÀÝ­æt;¢Ê¿ŒN¶&«5)ÿ…W„–C´ÝšÆÜFø¨¦ùU'€‚ýB´eà\êì @]ùïjk ¥Ò¿JVˆ‹írtê†UѦO Í0¯NÃë¹ëÞª«è“[×?i+iÁöIšgao¢j|ï-îST/ÉkE‡¬ÆÆHªíŽ@æ=É¢(c|¶­ŽÏ›véÞ÷ňdëöQÈÇ#gkì°ÝVaGÛ C!ßÃþmûYG ¤ªL8´–Uiwƒ\_!ÙÊH(Vâ,t )ÚLäx_8ý" Ö„{‹|.°’¨6ò¨-ÅUÞ®IÜk`q(ýžï„g×Poà«Ù_N=jÛò°z;$H¢Ÿ>qç PÆãW©kVÔµ 0^k/›$Y‘`[Lª¾lû³â  O§À]d‚ubêÛòÂm®úÓ—’!f`¨fÎW)F¾ús³g¥:?rÜoˆ¾Ã)³Vx°}`c|dVNÍ3cº''=…FöMùı“_€¸˜æ¿ÈI¯>_®È™°³+'f¶³tV˜2j F<­æÝ|=µcŒ”SE¸ÂGWlLvˆ\µ&Ïy7´gÖeÝ$Ð55øÓL8ZÈMpƽ׿¬<:dƒlé¿;RFS¢ªžÕ nÀ‘´-"÷¹­g²»1Ô·gQe¼<0Ô›£!«9ìöáØëg)*âPx„ tH"g™³ªÒ¦¨»í!ÚÉ8z'´’‡y‡còX‹ÍAGç=רv|©rÓ)*yXžš¬Ë©:•§ÙÚ_†qº+› ©~Òê×/}Æ Øq1pÆNªFÒ£IY±¿dCï˜?zÖ+éö'‘¡ÿûÜŸt¾ôÝRz4ÍÁ\ò%¤Ï0©= §³j¨lTЙq"±˜¹ÓQ_(ÊÚ|ãÙdX.Þ]þƒP§M¹>;€×@ÓL‰lç¦/—¦ÛS}-—Í·x#ÏÄ‘¡ùý—kG2ht0©:‘`˜q~ßÁ:¬‚XmXå¦ùÿz[ DIóÑ@Bí2‹)¤†‚5¬¯„&¢xF8rG6ôÙëç]r,;ªB`Óƒ€7‘ìøst~)ÑB-ë*£·Þ¥ùâjãòÆè{q@rðë UT Ýf”1òË)f¶¾€ñ`‡"v— p3}–é-$YIsH¯úz¨§™iظÔT¼$:=¥µsÉ LÞ÷°‰WÎÛăpµÁÃí”ò\¸lÔÓ¨ÒBöYfúÁn«“b<²ÉRÙ.†dYWZ¤G¼2x€ô>;¶ò­dŽü;2 hÎíè6Îþ»¥ú¦Ö±¡Öz1o׃ΛۙÎeÕmÈ=Þ–¢²Æ@Ï+­/\FJ]LTnQ´ë\À¼?&€tT$ ëöÚ‘¬¸[kSq%zðߟšXT¬ÀÆM¯8Gá=}¢I+‡=‚Q'ü 0×—i,ÀДòÊ;³–2¯BÑE¡ žáMŠ`£s œü:©$Av8´ûœf³%Ñ¥mµõÆb³ÇU­¨jpêFËê˪ÍBr"íI¹QÊЀ°Õ—Ŭæ„A¢ØÑìß?Bð6ºIÏ r •}h‘R—×Îê6ÜYÍ|9ð†áIø§mØatQ‹M€y‘¤¿ÿ¿3þKª´èÏR×R’˨6òµW¥àhËœL‰¹haqú3-8I¦¹a»¿ø]óZª:Ï‹u‘ÉA¿ŒZ¯ÈJ ù—_¥°7DÇO“©a³—Jžo˜;$ tU» !#'ªèÁ&¹ç'AWÃÀìN<ÿŠQPËEéÂËûú‚¾;޶ѼbÞ›=Å"k®Þc¶•!MÕ7)瀇´ûݹ⹥S€™¹óZ:óiŸâãçÇl’õ‰Æ]O¿þ›֙ÌÝ’K-oõÈYÙG¦l­@ùÓlÚþÅãã±aT³‚ìOÄØ 髽x¨iԠɧå–D~û³˜ °ÓòSÆŽÙfEïÅ+¼âda~Äéõ/ ª‹kª"Ì–†'á8+H £ „bÑ}ÇÊ{7õ#ò6Ø÷”ûõeä í[zÛ&ZÅ!kkn?n»j»/Œiü9ÕÆÐ³o^žèÝÉT„—§|»hß[\Òo™QµÁ¬VO¤,5Ú´`Ûg.SFÏUèl§ÜHë!¹­/Ì´DQóýÄ…mAD–Cœùmj¬ðß±gÁÑX⬎H ýP:ojû"z¥(®›+i"¸ªUß„ÀÝÉjZôÆm†jÞøvïùK³mZЉ,¼QVù±6Èšs'Å`8&º„œVóH`Cý9Õ›DÀ?^þÁ¸Žºf&4: Îy›È©O»ó±ªpP®g¨U„»÷Rèɹ'‚Ѹ•˜…;Ê[53N.å<ÀŽ9plv½’¿ç“v g¥eN"QN¯ÄXqI)¹I»†Oðå"šøaê–+jë·0UÖô†I 0û¿u“<þu¸àd‘o‚oöŠªA,½¾¯Ê›42ÖÁ``àôg,Ù”¯¶©GÿbuÀŸŽ5‚vî¨y{X:êÚ=~lZ ˆG“Ò½¦*p´œÝÙ%PÀ\†™Vé@~IÓQÚIÑ¡Œˆø¯­‘ƒ¦îÇG+¶NȈŠ)±m<þ€:rîÈìÅ•1à9IŽ”?“°–ípÈ8¥à™Ú,2Ê–»FEEˆ‘;ðw³ ¥×íèµkÿV¾ˆ—úçB¢  QÍþûß÷n€ fÛ”0 ýX2äˆ8ÚIŽ£IÑA½é‚+Úÿ«ZŸÞè lça±Ò&’x!$„ÁÈâWþtqYÖv4ê²3HA÷·s;º‘pFo‘lf­Ï^ß’·°‡Rp3}]š¿$xzò§]â]™®>>BŠT}…þÕU ?ÓyÓ‘Ô°ùïÙTˆ»’m_pñ6°ùÁ¯ÝØÕÞ Z¡ÐKÎÿ½Á¢ò ÏV¼W˜²7¹™BÄ›c¨”ÝŰü"ïwXîîdƒµ\¯ùŽ—‘"\[ØÝbÖc£oš‹2J €‚[l€~óŽ½Ò¦’jc•ö‰40AŸÁ¥`jpÇüŽ»­k¸éíÞ€¹Í0P@ ´ð4Ìï›"-g&fêEÀJã‹øÚÍ ËuK¿¹¾@yàIqô$ÑêÂOŒBþT*"Ö©i?û}ÓÎgÍ[ï•CéÍ1䢰»À®t›íX1{ù˜×9]Ãzã©woï„Ux²v+>z*;Ð<çn2¥^J*šbHÓÅ1iê/ðZ=ñWº„iK¹¦6lŸb]”ÇüÈ9øUrÝÖ™;ïÌÖÀ’pú¶}h`c-¹èb©%·­…;þ¢¾Ã൒t}‡³¬˜˜SÉð– i§€. ¾pð¦ûEì¸R@w¨Èüw€ù©83¿ü6*zTŸÉú¬@mü`îE_¢Ø1«æ.Ÿý¸µ3Êv–‚û§vuQÏòåá‡&êMä fÂð >…™Ú1õY°q‡<¥E˜Üîgá”ê–?=œ¤6Ë2ºÚ’Ý"Žmt"§5¤M#PR’QÒïts  éBYí¯If%D VZϲ/š<«Ë$rÛûÙq+ôÛ@(1Ç‚v¢»„“3»Ò®<|®¸œ¤\?n/âðÜ.2¤z–Ô…zT·’û—¸Ýá¾›®:5[¹P²H·/[ù°¸fÕ1Z¾guΆYãîÒ Ýé^æ‰ †`ëü{IwLÆ\r>8¬h¿'ª24꜖¶Y=—í6\Ö‰Ät­ZìK\æ¹vr9SÛÁ*$þ•n%€LÈÑÐwÙ¥*Uem©Ä§&ÔãªêyoÈ;1†k¯Áþ6ÿŒÅáV}Ñ# 6‰ZéÃir0¨æsp3dÔZ:èO]ŸQkB¾CX•Ê2+*^«YS²ÿÙ8]ä¬Fpþì7/=Ò¶4tê—-ô>½|Ãd˜-¹ebà` 7r.ÙQn#]ybq„dÁéYS_6ß5K/¸¤¼[r£&0Ê9ѹŭÕÝ^´Ù ŽDÑZ(Àú•*YæüûñýàNKÏf#*åØé*핉¹)ßœcz¨I@ñôåˆãä—Déhâyà¯&ÛÔ>{>“÷‡5é×ãí`–´ËyÛm  ˜™¯µæÃ¸æ.k w,Œß|,•ÔÓâwùG¿Š¶ÄZÌ+À)A1T!£î6U6šœçä#NÕ&Í=–fÂÿ¾‚†m÷4[.›­´ØfJ‰Ùtç!k”?´¨ìhÄ60äwÛ Æä³¿c#PÜÀõÀœÕ€BJÄÔqjsåjã ÚéˆèzyEƒg—Øö€ï¨9Ÿ£Í¹¸*&NUº/0 )»YqÁ¦¹**§áßwÇߪ]{Åß –aªcW2~FÌ…ï Î1Wá·lJç+™;@zÏ)UxÙý4ç+|™8Ÿy.]GDç—ñ=‡ÈÆx=jñt‰Aµaú,2)¸Jhö®ØŸû4&ÊýÏt¯V8Ǫ"ª~9&:~ˆnè 8D}ý+é[ãÈ'áŠðmO©­–ó}‘­R†KÇZMÏš#rwÒNŒäçý=}~hÖ­€Ï£k 4O3/ËúV†T#ErCCg½ä%êD±3àÃH.SlgÒ°xë0i^·wrétŦ¬òÆrÂvoýíÖËÜã€"Æ”Ýù»%ZUMsèóz ¶—‚!O†èÀS# -¯Ë³ <úâwádÀÞ9¡¼íÉX‡§Bâ´¨÷iZ£I3½,¤Í 7;=¼×ðæõ8`aZ™ïpÎÛ$à o¦Rv A:hÅ{ÆM¬ãžö…™ÅûNñ'¸ÞSüðQ“pÇ\îâæa¨ê p¡º1˜¼Ÿö‹hTBå\â^ à¼à瞥ô´Øè»¦ß.~ÚÁ¯•¤>mŒ?/¡ÐSê3éi Â'3èm¸Ÿø§’íão^ëB@“ünn—º BÃ\Ì{«ëÖC[L gxÖ ¿©íÚuL€Ds­½ ¨¶Å鱤4è,3üð ôêâ4Ö&à&•X·=å—œô1Ȇ|»&~¾xœX% ¢ëž…jÝa·kÕîØÉ9è5+¦YAþé€ëgïdÒí}álhùyáoî EÌéׄ u§äãLAß~å\&I®¬ÉÍ×-8KæåYJúÉ+DõáH:—ê×hû–ú-L óõíUôÐâ z›:»Gò'·-|9°9àwmÏ®n¾nz•íH=.¦¼|ŽpkÍG]@#¦S³Ñåz-í9Ç3ÌÊÏÕxCøæ|iÜ’ó%M†ð£ S¥õ6Zð‚O‚ÎÄ!ó¥VZ-0öwôïþy³®[~ª¯GÖzަóB¢K”Õ·¹9yÒµc„Ì×ÒýÏÙ.DŸûüjwXâ?-#¢óØÜ×Õ¤7ÛÍH‹ícÂúqZ”ÃjÓÈEô´? êí”ðx©ÈÆÍ-Q}ÓË‘·{jMï1˜ kÅh‰by¤èƒ[*dö$e§…ñgâ%Š´-–>7‘ _ù|éøÍ­åµ¸WÍÙm. Šf@Ýp |£°&Ò®üƒmo·ð†‚ÞæœÞÜec]ÞbÉ0ñ¾àÊלU‡#´C¸ªfó‚°Y…7ò÷ÖOæíºíaŒ š9OuÄ)Ƹ³r*ÛËŠ‹ÙÂfXU¡YÝ…> ‚³ðÒC“ñuûuoôÂ…±ÀL¤+#&{Nõ—w Ò‡úíPfM½Ê– y—@và1úÈŒ¤²9Gñl´#²¨,?‘„¡h¥j*˜&þ §íàgêKÈß©B«Åïy%UoÈ4¶ 'ÆÆËŽˆ{®jS°)ÑéãôžÔQÀkBjŽßé™®—L€b³­Æ›<}å ôúo²…Û¨Û\mí¹°e‰PH¢%´ÕˆÔÛýú"ò áXG³°F¬À·¾öõ¤LÅèšè’7Në÷ö3z ”!V4»4Ì·oyðD\«„û$Ç’±‹ÊSƒ³…çFÁЫ§yp­ä3€6cŠ` ªKUî)7Õ%ÛißZcÄ€ÊöÈçRÕqÅu¦Wï•£ìC溋 %É~¤ä·Ƶ+ ðl¿"laîÌ>[B ¾ÙJ»i‡uÜK›,Ñ[>öUGukr1EЙ,j~ë?† K¹ëϦ¾œ Üß_¸/1%fi3ˆK¾ Ť…Þ@nc7#Q÷µ'íµˆ͇8˜ÎØK*ª·2ÁyÃDž'™uâš"t' f^ è´;¢MøâúÜ̬¦Ÿ b mB ]2Öeâ-]ûi„g¯C]åšþx6Òø{;¡ Eènñãë>&Oø¾˜þ-äá´ý¡ì!¿1³—½P»oyõžup´ÚÞURETfÐþ¢`ôÃü$“÷AÍ£5³jlÊwbeÊ„…Ëýémq”Úž]-“ ú‰Ìæ&œ1ÓêãÎ8Ž <}• w¼)[Òý>P*Â6Zv£·qêBr5e?ˆN¼0³Ø u>þLÖãþ‰ µK)äM, &·æ jѧ‹w÷2 ÚãýÈm·êŒ[l&Ùàñ\Ñl£ôû¨Íq§?e9ȱ¦ò8ïB#N?t?TP¨Own »zÈF¤Y“€àœUꉿñÏph2R%F!@Úõ…ããDÑ%À+µÓŠâ$òV|Ç¡ÞýPÚØeIfZµp uÊÂÂ~×Ûfþ!vî5l‚ÇžuK2XB¤iNð¡‡d§„‰žV¯íjvÙL9¤)Ñ‚¸y²â-¬8;@IÉesÏvz%G±Ø•ÐÊM¸ÕKÚÍ[ÝxÆ_ uÛj«žs¿¬F1j®ìßíYYÏU•2W€L°Á^1PŒSÏy)ZþÚ£#IðúfÛ%-ÎÍ 7­.ùv>Ì„ûÒB˜uY‚«ìW¯j0¥ r]ƃ/"ø* ÿ+B÷5 d¾÷Ò}™ûDßÕC†2ØE³@ÿ?|tÊÛ‹öÿÿNn­üÁ~G…%¡«S ø´¬]È(ËÍÛá21lkÑY68ÊÆ3]<ÓÜxÕˆ%RJwVÈÒîb(û› VN¾ñÙŽ÷ó•Ø5SÔnݽc«t×zM˜–Ÿ!G·³¡Q¤²§&’Òà+é¦H5'xÏQK3ÓÛrõs'áØ,Txžè›,u`bûyÁ it£q ˜+În~bÉííÆRÍż|<$+€£¶`щg\û ¢ÐSxm­¶Â¤ßʈ71»—¨yzíÓÕºøÆË 4ôÝa/DéZƒ¬ÒWÄtâ#¡J¥@ óé¾#„s%ä ]àüîþñ&€Ã7µzçÇŽ)ž]­ãßµo˲ó³c>¾åèÜ…¯fzGIA6ž™ry(£”;<Š?--µdľ­Äœl†"!RTZ­w.¬nV•ù*à㿇²ã¼Ú½‘yæªèË!Gšî’PACû<½a€,¬Oª&à¬Ô>vËeÿ”7.÷c:¨È%öKNJ’>5F^!K~P‡<2„¶»ÙV@Ék§Ùõ8ý·Æκ¼^¯èU¾»» t@íª5AÄʦ+g²`?V¸Yºˆ(·ª$SUo¯šê1nŠÛBm쟤èí[õÛSašR|¯Š¥†9^ùÕéá9¿BÂ2áAoÑ슢õÆè«ÝEx&GËÇPÚUI°Å½”’ï¡ÍMd³í§ЂÜÀîÊÕB—ÝSüÆ?ÍÐ#¢W4£kÃÔh;{ð= %oC,r™F~¸1)ñ™Y÷kÁXÇ€Œ´Ã aô©áõ•ñÆ;L'ºHâì×®â”e2)ÎHêæI´£nNÓÑòm£‰Õ' /Ý:FŸþa€‚³Å–£°PHÕ¬›ÝVY † Aö«3Ÿ\@ü¼"u¢±þ‰Xp(#ˆK`lß¹ÿÕïÈÈ‚-½y `¶=‹^4‚C±Sù ˆ{s®’l/rÒÃßC¾ÿ¾_!<‚fû¤$­ý¤Õ^c§ÒÌÊ6D:pÚ‘8›;„i±É9Oˆ·&3Œ^Ë) S&EÞO›¾<àÄi› µ ,ÝŽÆÓã”(¶†¥^à˜ò˜¡Á•­ƒw!^˜ûéK¢ŽŸÊ ‹ªÍ¨>Ø RíÿKɾ„ äd¶ÝM½æI^¨öçºä³RgÖ{ñg.ÎQ@›,»jÜÆ¦päüæÝ™™ÿ(J‹0Dçõh>$žh¤­¾Ø$Vú]¹ÐÏü|ço 5Q¼1 ˜"¥¼û~ΘÇI “/ïr¹¡ìÕz¢OCù´û“ÿæmP¤AWêsà¹n(Ρƒz™Ç °y{iö˜|jÍ·[Ñ¢†A ªLêÄÍú ¯Ë=áâëZ“쨀÷Æi0×_.–ï+;×ÇÛÔÿ“º6ùÎv»x}¶ÁDX NëOVæd:þTŸ Œ †ó¶˜¯97zvnɯOäÏŽI¶nlJÛh9QŸÑ!ïúA™Úé-z5g³Î,fÏM9ÇÒæ^¯t“þø„—jø%¸v=/,A6ÁJ#„œdß¹äپ­§ÚÒ¤g_brÆîG]ׇÕÿ'ê) ^æþoŸ©ý¶e +2g4I&è9”9\8‡'žÒ"»£¿¸9-–>Çp¹2BúV´I e©Î´¾wMá=­ÏžTH=˜[s ð: “lÈGf£¸í§ï§¤Sv,Zé F©ô©*´âl¥üðVX7­mb#jƒ;|E*‡00›ñʯÚoRv”‡Qfg¿_„"¸ômjt¥m12׊nð8ÊÑBB5Ûôðí3Y:ïKÉ‚ªpæ5Œq¢c¨*Õm""°©sö |'§NÖ>ªº!n¯Š£íÔ]Â9zEñ#½Õ÷É÷DœæµUºž‡Çpž@*æ B+:ãP%¬ò¶6–hw—(ë[ØŒ°áRÍ$œ)Ùo]Ǧ˜¡§ÃÉËØg;É n––ÑCð+ø¤h‚Ez¸ ¦e: lžÄp!þ]A÷"Äg]‹ÀÙ/í‡ÒÅV’­ žcô~?½­HGºÇƒ"#ç±®§¤ ö6@T\rŠöd÷±TÕcŸŒ;Êtå`ÙÒcwi(9ÃɬñâbÕK p‚Øws`¨º–q#ˆîPn'‹ßŠfðt uq4°àÀ©ñà Im”´]\µM£šˆpÓúCfÛÀ™ »U`ɉá!Å ‘Kv”P}Õ€d/Ríô틪þãtƒRV0šÏ³ö+êä¢ o‰òN©WÅm¾òœay!p‰½¶î¦5€é0žÅÒÊÏÍ„Kn+þ€àv³S;Oé…³^ïÅl‘â–ªZwÐg¿‹Çþ¬«`›Bµã$Á£: ‹™™‡T|ŠÆÓ³mƒ׃óäJ÷Aß[¤€Ö+øà(Ê%g‰U¼fÌð]A·‘>vS_J0 £;/ï¥qPúÛt"‰™Å[gðŒø{,5ÒÆâ‚dÊ.'æ;OΔlÞÃî(’{Œ^î¡ìqªÛËø`Çcg×t&“  €ÍJ?ãèFËÄd˜î¹›‘òdÌF³ÄKÆþaŠ”à¤9DYí:(Ù ‰ÆpZ¥ð ÔÀ[ÁÐY6éð³t®Æ€¾k¥¥6Ü*û×L:¤Ö뜇`KjPðH©“èO‘òû £õ¥U=ROL·ŒPó•÷Äýݱ²QD*Ó8ýÆÈæµÜDfVÓ_Ö0V`µ ‰è·ÖÆ»;8l;Y9ƒz?º<{ßÛ7 “»v¡=ƒhn*<4[9XêB–-S“½Ù¹ù*¢ôH6¿VeGú‡€n›Œf@{|BVe;ž^÷9sQd¨¶KáðO‰ÛôˆÉÒ¹sêb­-o@âv`NJ­U$w]ÅlÛÀ‡…÷ ºÿ? xGÁ>Õ#«sBŸLÞºÝ0ô5}S;ôë1–ÙØ©c¬ -r]¸vg¤qY’åÀÄTZ­öNÆ8à@.É¡ø [¶Ê™Ç ó J¤C³Œ^ûãH_"umܬˆŒ‰Ç/G£›mî=>t·—L|÷?^EÖ침.šåÅ.ס”$‚íÕÏËr©ä^ÀÀ9ƒ8Bž ¯ú”¸ªSU!ŒfK¦YµPÏl1ˆ7Wâ·A¬ëˆXYÉZÒ¼q±Ó@f1.Ôö¿µ \7 B€ý?/¹¢ßTe# çSZèüëÖ„|¬ U\eÙptÚÓ²L;þÜîœÞ; ¯ÃáÞÈÊ æ o†u¥5ÿT=G ‘&Sˆ¾û„ÕÎW#io /#ï’k¼0\1”þT ö’‹Ðø~1}#Ó1¹ë¿±ç‡„ýçz^kX›Þæbw¬•‚(KöÙ‡žtõpÆxö£ËÈüªõ7"nB`Šý£>{l“ÍiQ˜÷¬úlHç,$ÿ¹ ÄÔÙʾ]Kwëw€“··‘ht“¥óÌsDÞ»+&à#)â^Ðzýø¶@ëÌÏCU• z–¡ml2ø¿l`†-l+ø<‚;¡ ñ¾Ý,ÅרSHŠƒC´vT\&â, ÌáTÖ[êÇf†ûs¢ZÆJýs®‰rÌtü‚bªÈ½‰94‰ðŸ-^.Ö½§À—¬çβŠ'9 ^s§ä/;Q-êl$@R&®¸SäæKÃ9ªþL—6ŠÊk–ÆuÚ›²ˆ”ÈÄá©Ò ÊìÓl ÿìfaIåÛÈË̹•j3ÖX±†Pü÷½¦'Ë¡ö_ƒkÏÉØÆãWvãg*©iÎÉV1 ešöh™D"§/=o@Ç€¸3¬ÿã¼8‘f”?@Á ÍðÁËãïûyÁ•1µ[ðŸûãWÜ[¿üðL:¢ÈˆOÅ&bŸï¾ îú¶cÌ5‡ø’ÃÖ«8M lâÀÏÓˉ&hX3háí³:?{8CO~CU4¡û†#ìÃù7ý©ÄcßÉ…à.J’»í¬¯CÁ}·æ†ÀfÕ¥@`Çty ãô8]¹Y•ôÞ˜ªé‰eI.êipÛÌ<¶_P‹©¢7uVÛà*„wZ+ø°¨lV9tÿ'Â&£+ ¸ÿ™5˜~[õö•]š6GÔ²Ü %,'èf²U4åKã|ŽiàÑ÷®»…m\#åKÓÍ{.óg—¿?‘:®Þ”íÐÔ nùT‹~¥5`*Õ¡þÓBü”ƒSþI§ƒÁèZÉ}ˆò¦úðа͛ý°Là,BDO2fnß* —ˆù÷Þ:w‘_`…L\Û ÀWsôÑ’2ô†© o†¦ náå,ØE+Ë;Q’÷S­%‹œÚ¾ëµt¢¹¤°¼Œ!¶hüNé~;8‘c®bùžf] ÁTlg]k6dçÚ9ºx©Eh=+Æ‹ÖÃ¥|0ƒ+âv•tùcù=ätTV®!äE̺‚:â¤'ã@ ·$õù¼Êžä `ÏßGµê?È¢þ¬]¡rº€½üüÓ!&*C-„‘LFiFÞ® ø>…¾þ’&C¶µb^Äcy»¥â…çJ#– $' i Ï뤯7÷b×>[…_—-¡bjq ©ìs‡gÞÓ5t´1–º–“ô&´ Ì«“¾€>n2ËýŠçù†¥‡lBîÍÖ @C>Ëà^¾ÏÛšà#Ü¿™­?ØØ4Eø7àð±Â.GÚaUò ‹ÆØõùÇ6à^ïÏ«,+åã­ü5Â)eÞÏîõ¼k×Ö¸f>åÆÍ!÷)Ê2äò¶Tž©®CQKEqñ¦:ƒ‹1ø-u…ZOiݳûȰe€Ð_£ß3µhw‘D©.Ú01Þ¢ pÏ“zu©´'=ªÝv~€Lƒ‘äæ\òÚ¢N—G„’â õ+ißÕa=>õšMûQé¢Ó<–WM½†Ñ¼÷H‘¨ØRBK‡î|ë w_a-ë¦{“”¡—5ÕÿÁb¶Ý¸×੉õ:ÉSß½•Ÿ¨5¾|i$—a›bt<ØQð,ðÄ?Ú½¯ ’ÓžÓÞí/%j#T$S-BnÎ`ïö’«R’‰í­~V²Œ¯XUÀuÅ!/4 )÷y²‹¨„0trHìÇU£Uw÷£Mb®eôº]íe£Iüº˜W€Í9Z¯õƒûÝ:ElØÆ25kyw±«GCIü!SÍùVv¦2ÄM¹ŒLÛÍó 1Í'WËFj­^¢”ÇïhãO†(Þ+IœÌÂå&¬¼üBº‘SgQ¯µh áÉgB®s7ômÄ/øÅ"¼AŸ@ºï1ÚýYXX´¦ê¶ÏóG¬‘-С«!Sž"Ã÷ÕÝÀL&M–x[B434è•=O¶lk…ïñM*àÓfÅ9¶v¾7\p¤’÷ÙgpþÛ2~ãÒË~סð˘?þ7-]ÐNqUŒâéqáû2› U=Õˆ¦ º~i¾7§ ~ø²«p:3r£rÔ¶+j¼sâÚ[Ÿßœ›íÿY#΃L=*”ý*év v ÃKŠuÁ¥‘îàæ¾”uÛA1»œv ¡+¡™5 MÃ^ä䥻±.uE*>hFn4‰í»µ§½¥ú•é;më^ÿ¶4šxZ ß_ò¾‚NĨX¸qe30÷T•à‰ap}Ð]¾ ö|›®›ÕôþÄÉaÆÇÇå±B@ÍR+šæÉˆlgC|T+3¹^‰¸;j±&Ƀ£ÎiÐûæ_óÙÏÆ®45'â®Jš£yc™¨^KnO\ÂS×~œ7åkevG‰2|<÷‘q€Ê*sªRo3ðÅeÒ¬u?Ï­1µåÔÅçíá_YOú¸QõÚp†èÎ{­R1ý_V}»ñl2êJ#a½ö^Óîü¥Ú¶A‚|;uÄ‚â¶[Zˆ¥½L¦Äš‚z*HLJ|§öjG+›•²[èF9lÇÀžþí;ˆôiªìH*ã=è ;ðÈ!³”úŸ%žÒÕö"´Õç´B•ÕˆS‘´ûñÄ~fÓ&öÔ;M¹3…Ö:ÄP´\@Á7 ŽÄÀ¶NjœC‰ÑÄ›“rçÊŠ­‡Wú\Õ‡š ì°=¹3·ŒËiXMLÓ]b-mìtµCí e‘zÝODæx¿/øY¯7Xâ9|ãíÔ:ìòŠj;.…4A.¤qf`0L>9Bòx(JW»Þ*&´Á“ÆE¯„K6N)¦2Ì‹iº¨åõäÀÚwÙןU!G[|xl¡«ü¼tuÿBöÎïO$Xî¸â+‚ûy¡u‰™ÒÚÁã¹*6zÌ~Ñ:ÑÉȽá“;w6c’˜P!ÃrîY# µŒ’ÜËnl޳ˆH°JáOÀ„·¨>¢H¤>:Ù_ý¸ÛÞ"l¦›áŽ eëx 6–ûf'17’j2CHO3¦W³->qGL1Àz{ó± ±ø*`F’§_Lª•+ìåe:M4q’ºê‹?‘y~ê]BÁp~ ÀÇ¢Ò÷)Ïñ6q‘ËÏãNx~ðÅ3…ùn) XÊCy],\ ùÌÕÒ«’)bKCÌÅxg8s Â&j4=ø9h¨½ÄÓ›Oy öú<(@²Z̼ÕRø„½tã{M* ®L@P³"-pQ.:­¨ÕŽËÕ’Øa:ö£“sÔ%2kJoîU4,ßœØè¹#î Äç ÅÍÝT\²ÐÙÉïzÚ`j¬¸–?ø ±„í#?ý, 48¢È—`þÕ ¥è®|÷œGùP^;§,rÙrïàåŸ\^>`FJz a\tù&”WˆQC©ƒÁþDoµƒµ[Œfß[íde~F™–Ü8¼5¡¦ µØ%¯•¹B|9î‰ÓìÊFW§±öR ¦wŠÆú³M¹+ža@ÊÚÊjìŸT5ƒ§"}jïÇuCÜ(ÇU2*þSE‹î„¤½áå"z:o‹ÐO’>@–Yꫨ‰ÝœëIõîI½èddüˆþÕ4çÕBC”À% ø„03“ÛÈ'[ž;\èäMƒõ{{ pÃV]~OMÖ™8<Å’¿»æÕÕØæ8ä¬7¤,+Aƒ$™tZzä¨z‡äžÍÚ©þR$ÊçzBb¢½®dæ×æéÙ/̇Ö/Â'|¥Ê|:wÏ+ÈÝ0¤GNn̽4÷ädCPsÅ¢S0oKÔ;®=ÕÐPÚõ»aõ`®ëLÊ÷æ„D©dð,«{ö¤î¡£%xDêtžÑIb-¯ØÌ”Ytzvj OÝB>ü¾xëänå÷~>ú¾Ã¯r®qùv€Ó =Ï¿4í è„–%i7™Á(‹–Þxt|ÌdwC÷Á'Ÿ¤çDLPn’vmr±=|`þA¶çÁ€[K™ƒIWÙº®p¯L¨Ët´Ç]þçm&6Ò{ÉÔ•¡aÊ…DBÎx”GÓe¨ç§ï…BÄ#á¨÷† ·«ù÷ïòyuì¬m Ä0 ’û¢Ì|õÍîË:Xo‘ÌUC ™i؉B 8…æË"“ÔŽ°õ“ Ë”ú¼ÙN)Ñ'Iþ,S¶iØ6ˆJ4êàñÍÞx²UÀóqs¾@a›½Øå8Õa…€[¸w°Rú÷(1¿™"'°P:h¤-¸M/@Kî»UÖˆ¨—‡`\+x›ËŽW¾XHŸ¯£Ç“1Òw;ðE+%G+òƒ©u4sþ Í0¨ÎžY™ãm m9 ÐOˆáfpÂÇ46εÔ6ö•#¤£ Rž‡¨”töõg®¤5 ”%Åbtï¶å´Ê95†Ûmö¨¶¥P_üžgT RYã}18 ÉØ lë„Hü–~§{o{7¥›CŠMçÔÒ-r©¾:.ZI3¬3h3ð6`Qþ ¦Áƒrm¢ªµi½%ïqŠ0Uu§9c ¢å7¦¯²ùGGÚËEÐÈQ®‡~àfüô³0kHß=¾(¯RœBÜõxᙀåzâ [Í{óã¶£¼³2|£Œ5ö¨%‰¨7jcf‘~™Í>ËŒMÕ~ë¤kÖ©•LÄQa?Hg›u¸è ¾Jþ•˜{¯ÊG’ÛÐz…¹‰P/ùç/…<#b+ŸÎÇ Ö+Bíø•ÍsÊ™÷– ·DšF‰6 Üubˆ§Ó!à·<$@ƒý­Æ%Ò¼ù^q¤êïƒÄCX3Á.tÿ!1(%iÅáî5‰¢(Èúm¦’Æ6C˜„&Y3Zê¼ýoUà0­p)ÒÛ{iG1k&ö½[»íH)2æ6LÆr ‡ß¥d“ùtW…‰ku𫶺Kfé£ûs‰[™Hq6j]ñùT)³õì4Åtr¼„vAÛrÜžî)á°n7‰Ê4£>ÍÆÈNÄØcx@­$!07ir­¢U›UH!é•zî­Òv¥ˆ§0ºYºR_œˆÜe_Ì’1úŽI~ÆçœáÛ5ÌÉÈf¸hijF»­Mv½´¤‚O—¤o,2oÒOö$N=ÙHùpMeYö“‘áäñ„5YtÖYÝì~*ûØ_Ží_“£0¯_„àc-.ÌaIù3:WQ7M¥ÙàèUr`EqLÎgOšH,ëe'EýÒ±ŸÄõ¦MzÞÁL±[EdÛPé4ýÑ™è¹ i³´¸1S1­þ†&Њ„¿Í §¦%ÚIu!xƒÉ¦ý¦Ÿ¢Ag·~\öNê™9°µmÔò pZ‡Ðù¯¶­„ÚW—ƒ üÖŽDHÛolù¸5ÂþòE8[³áŠnŽÉFIXntxðš-ж9ÝQüà¬J(ý1Ü^vØ[s¬C‹Õ MXÎfdsDmøÀƒixuñm³¤t&Ç‚@›ÎÍ®êg¼zCå­¹HH™·ZÀãH$z9—ø=.Å:àJb{åÁn¯*{zm±’]Ú<œç@SO±Ö>¶}r-_\ÀÇ¥°iu}!ä/ûGÏÎ%ÈyDQùO0$ï=üÔ-ÈïlØÁL- Ρî”Yûü3ò¤fR4F“5`ž½Ëg3,ÇŘ¿öí’‡­Q[,묫K ¼¹.f!Æþ´¬w¥+â\µ‚8©k_Õõwëµ÷,@jDŠk\œ§/.nêøu¦ÕU"ndqgÛºP弫> Ú1ŽÙÖŸŸr³cºûd®b1û×*·':¬ ‚ š2 ‚TRNŽå€>zG.+a‚ë €Ö±Rî >ˆÖ â,ß°Êv“%»D¥ê§"ÌÊôJSÕPÌ^ ¸ƒ.†J|ƒÞ.XŸÊ$i[‡tRà”úá ËüÑÅG¿zö,wü}.ŸœY¸LT$ž-*-E–5óŸô‡ÙÆó âé›àåS_3fœþ>×Vva2q©!AïKß/wÎfï0«®·Ñ‹Í©kïëtÄ,€Ô;•× ¾ €Òú*¶æøO--Òp„Xúⲫ0ÕÜ£€2!|E±tõ}í“vôÏ ]¤ït4é·Ušs¸óOØèÑ:îèÃ[|TÇç6,”×G‘àþø \WVÁï[.óˆˆÅåø£†QçiŽÂ _ÖFT¸Ó¡_ÊÄ,H¡O÷ÞϹ̻¶Õêʽ÷®Ydíh¸äΩVDN¯1Å%ÑJi*ùŸ S>°ì…'H,ûoiöráHEXp)8µÉV• ;%j šþÓœ.ìí^*xådŒƒ_®øøK‘èraX>´AŸ[Ì»{w.µ ný9¿5ú0wÞ=ýÍ„Åéd9Jáþ¥v p05Âê!^нð€;é>pæ°Wƒ_³rr[C#ü‡ÐQ»ÅG‘¾ƒ‚ÏÕ°Q]$‚C¿È‚®xÓÅ!¸SZ:§h)hå°à`Eþ?fPI=‰tª%çÎs$ÞïÆ–÷Ú“¯ï<}””+–wSê2Ý`œiÚY çXM HÖL"$&Â.3éØÎòÝl$èbd¯×Lyÿapoöé†ïÙ„M,qÃAéço@ö¥þSˆõ§¾å½½K‚áV#Ë㨄3Ð¥J…þÄùéO ŽªÍžÚÊm6ò=λp)7ãÖ­¯ùn‰¥OÄ:q ×hc,é›KXhn°MV/¨ËZ) ®S‡ß»Dbž‚Ò‹^³ëóS\\i1Ô9™KÒó§ã‘Ó-â&{¾úxVÈwß ¬íŽÅ¯¥ÅÑ?ñ‚cÖI—øÅCU–JÇÉ7¤ê›:‘Ö8;ýÉ1“»>¨ágà|ÐÒë€?@_=d„O‚iJÂ;ÛZ·ÚÈË™D7‘^™²I3èíW~gjúξS×´ØÂÏì’;_Û÷tã ‹û"L¢ì“Èä½b¾ûlší@ÏÁ»}Û0ÁtèØ4ë¯ÔvâÆk¥'ÂcÚÄÂÐx ð‘ çÌëêL(`°Í@ò6!#šñ‰×–e}0ò~–›ð+ï…ü¿µ˜¾Õ…@Ô%³L¯ãÿ²ûã ïq‘9*»OÍbSwŽÎ~‚©\KøÅYßç§™øüuʾ½ªP'úAÏÀpñ1ÃÖÚæF7×ܵžXZ¶úó£Ï„ #^Ÿ Îw“ä`’C`¬UØ"º]áD‰©­nŽ-Taj|ä~ŒZiK*òO‹‡•ù¾ ù—_DùoÈnjwÌ?Ö½Ùß.­qVÍÍUX!Lèw›úôÈ2 &óƒãuØ«!ý/÷c_¿ê!à>AØ e$¥±¶¢), )Pe5݉Ù÷n‰i÷\.¢N0âѪEUÀšWÊXõ%• G¿eV@u‚RHt½cÄej¨ò]à QFܶ¤ô¡g ÁÛ7\o³SO¡áõŽE¤ foä/Œà³#tuK"ÒI8Ñò2Æ'•›}6/õÄjã@ŒÒ,©Î \÷Á¢³µÔ£´\[b‘J<:··$ÂÎÕƒÅÌúQ¨ÐÉÜ'ò(l®ñ²¤Æ9T÷Çϵ؊Àn{ë8R$exÿ­WCÃ…h[@´cV¿g`µ;E5»†³øÍËÍ]…“šT¸^€›äC[¦*©}-nÃiÍïX©$«eyONpPQ‘¶©|ŽàÌ‹æ3ù"˜ž…%•ê^¸ûËöæ|@¸êÖ&aÇØç Sëë÷U7ý·Ÿ·š¿ß°£k£,üJN†ØÒÚÑdÂ,¶S[bZ â~eš”œ¥Ç‹ha:Oƒ:~;œ5E¦}çµ¾^ »3Ë-é`¡“aè-ÜÕy¿6ŠoË‘é=ð\ÌÖNôòÜ^ô¨á®ŸøÖœZe¢(wzº4f1›ÞH¥ïHl¸I—¯¸²•;éaTÐ4É‚À i¸°ÌúDîkÖ8Î ˜åá7±ºY(X¯Ë= %r¸8‰aÛ‰|·WR—QéW€|›Èw/usóÈQŽ!3Aõÿ™¹¤ìVÈîJèTÐkW>—°b"lgoLp‚¡o8*¹.aÏÙ¦Ö&ˆ^Âô ÏÓü¥¾¿¾Ž'ék£ÐÍr™nÖRÁ_-ãñÚsd:P6–¦[ÿ@XV¤£˜·t¬N¦œˆÛÑNŒN)¡ñt„¢WWh©,ä´Kp½bùç;«?âž-슌½½JYx²ñͶµäb™g •܆bÑæ·6ª>K…¦LÓñáÜ`ÌI½7þ±2¤¼Ÿñ÷ï§0€dÅì\iê¤Å‡œĢö·-g.yjqþÞׂìXwYÎçµ î‹‘˜m÷3ÎnU9BUìšõd¡OvFšiܰ¿+ÑDò“ Žÿêž¼!¶‰é2Т{Ÿ¼óÀ7£¸ýU»údzâÌÊü8).ήp¦¥dXØrãn-‹æô àë ÏqâÔ_ÜÀ¯Nóñx4¢0íEübrq vȘÔ" ÿ~Ù/ À…OÍ.ü’AÏ!pRГ¨À1ïÑí)‹`ÇøÒ¡F,$9ªšßÎÐø¬ÞÊA‹á†=‹¢™9ŸBßqFZʈ ðx„k¶HE¢ÖDbþ|~ŠG‰ÚgdIðë0úŒçà°¹¥¦} ;¼sŸ4ë1<þ¤ÐêMfw²c}Ç‹¢ŠŒ SK´RwóMXI]—U'nËÝ`±`¸]™2Ýù8•­»Ç¥6£ d,éaίr&÷Ÿtõì¶ÊEâØƒu,óx´YÛ¦§çP?”ZS &Ë€¼Xm`·Í%x@ŸáŽýÓO\—Ø…ƒâDýòXD-‚—cù'LVºPŒ„Ã×Ý^0ªL× }_@É»Àû¤™¯‘öãÌ/,eøC[“ÜdrU—ÌJæ Í$—º“M© w¨~'Á´»®£‚»ž° šó˜P¬€9É%ldgi²”ïÙŸÑUz¤û4‘1Ï›Ej{5§íhIòÖ Ý‚MMߦ®O…ñõ”¥ñ[®Eþúœmo6Q´óeQ©Êgë aýbþ¿Ãà \0¼h P>_ Áz‡ç3•3óÕso£¸“ %ë^j(¾rëò ˆ*Ð 2–Á PFªÖÍúF«tfóؾÓþªkþ06«ýˆ}öçä<îKòËS “ D„?c‘º—!-ÍK­ <–; žµÎe9nVuÔ»Ö¸p¸Zò§iVMµõ`ïf³\/¦|YC”ÏÐ…èw'»òƯ¥˜pxˆL¼Êû~!¦á¾éÂ$~9—ºÔÅ)èAn¡¢`æï['|þvê=|ÏÓ„—ñ°dkÃIÜž0­<‚ dŒ©*æÀ£,(µÄ™èóœ*ª/&¥“ÿù 1<Ð?Ñ>>Å Kîå½÷àÔä„4q;lÅÉ“ãèý®£Lfw&ÑŽ¢¨²’fýåp-©Ÿ)—Êg‚rYú¶ÂO7ý€Oò.’RÁ9½½o?9“†ÅÝSB]`\QX]¯CàTc”†&‹…9ûíé#| úû’¤½Ëú‘wðX¿Äd[‘z„ ð—Èä܆E1~Mÿ’­—J/iŒÜQáªÀÄ÷¿h/ûAÞ"¾Å›Áß—ŸlÿûäJmòvH l§3NØ4ÔÔ»²¬ý©ZD/» ÆDØ»z€ Ày³nXÁ¤£g/ŠèƵålºõ›¨Q_=c­Ï‘ýÝïwtsTT6o—jJ63àƒaC°ª»˜'M€{|ìOÑ_Âù΋ßн ˜›3d„ï[®Žî:~™Íž) '³»ˆá*´#K¦º± –´<5žOEã,Ùò™y±ãù({‰‹¹t#2ëæÑXkzM†b/®e¡Ms"âÿ˜ìá…H<7¹6o'®”HÕQ*{”ý¥rÛð$À‚ÉúÃ{e<šêÍP=?!ôÑ­Ý÷„ËIq»6 Ð6¼oœÅk• ݃ö Qƒ™Kêίo#VµÉDEšç ä{QÉÊ « <êÌi” W\xa<-OÔ`¥÷TtÈ«©¤¸àuMA¡Ä»-ì­Îœœ'|Ö[i2ˆ{‚ðMXýy¹¢ãea£0Hòš½)xïÚ}HâÅÏlí«ïÔxæÅ”xí]~jFS¼¥UÊá^jè –¯Ö·ÃO[ÚÜ^+ÓþÄ´Ñð˜¦3)V|ºJr{”\ZyF4>)ª¼qB]tšÖçVÐ=…“ȉ¡„¬Àó“Ãûc°,R\Ó2§"ó®|$ˇAgWEàrRcΞdń磽 @¨¾Ù³]%…+´. £gâ}a ˜$A7ܜ셽Ý#¤}¸ÛRÕ€á´4ª¶s±D(]ÀUþÀU{¾Ìâ Q>2þFÂEÀEzÁl?møC8¹ fÅKŸÂôÆ’ìì}ªß%ùáÞR5"ò)Pç0œòJü¦Äcò„) `Þ®oãTiI)¶Ti$M?±fÏÜžU™‡ï+G5H³:2kÒè¶6˜îbÄø·&zjÖ.uYÍHFþ%K¥W(˜Ú¢Bš/%jÔ”öº¦wîg*QR†Ï> ÛÝM‘¹Ç1%rËÿÙ;Øàk~œ ´æ˜æ-ÑhÏ\YO€{DÂ×L³Rês@ >ŒJšUÓr† eÝ›núãþ¦ß.¿°7†ƒ”Û¬‚sŸ–ûf±¬c6ŒƒŸÉâ#¦{ìß\C`9G6Vûþ¼†›£5¹Ý8¾þ9ö9‘‡å¹ÒmvÑbú³}¬ý“­*ôÊ>òG  [Ë+¨ô`C@WåV»±­h ¹™ÔÿOÌöJ…‰QDŸõÇñN€x…?ÈØlx­‡Ez¦pƹ¡Þ>jUÒÕ”õ‚~ñ$äùžƒóK$.¨ýhá£Áã •}÷õ@¥â ÿ%ZØxÁ`#„»åNÁÞN2Þ#a¨LLzòÙpÚñ*ð^ß¡÷„_g­RU×ä¨ËLµšÇŽ8ž!®V‡©>‘rØayAþ´“ª¯-ŠéKÄ-“©‚©p•6Ô ®œUÀ‰ÿVíÒ$›ÜŸ’Úu†N.ÍãqUêð&Ùt ˆúIö‹‚™¹×ìë‰[¬ÿÑ?Mó 3¥„–’*NÉuš»LTÔtQ"£ÌçpíŠIåέ®¶ýœ ¦qO¸(€uÊ M¶ßE /¾žý/JhÕÍÿÒœê2£{«[(!Ï à—2¿ú!iw©xˆéã)¶÷¾gEU—°ž5î=rvHÍwÿ_(E¿Õg·Ùe›c"ÿ¥‘J¦J3Ð3ãÀJ,m{v<À·Ü㘳Oƒ}䚺 ÕŽÏÃÞY»ä0âke¿EÞðb²vÁÛ ¦9ä”}9¬3õëÏHÞd¡Ú ®Úoö¶óÔŒ)ðsïEó íe[ðžÊ*Gñ>Ð,æ÷™á[ŽØÌtž± ©°‰•·teÇ=×bôQSH0%¤W "F-b1Ì5}J÷§ËŠ2–LæÙÛÆ—ú£ÎŸ&¤Æ{ }ɤÓ`vyJ¯ÕìÉ 7æ¼²¸æ„k§ç ˆ0ÃZÍ1Î{ú2¹BiæÞcx3yõßTb’Plgu£7DgŽG¹\½¯™p¼\‡põ°oq¢³œºæ¾…ÂJ c(†c|3Â…ahÍÆu!ƒãVDWËP”·nìÇdRJª¥ÂxÔ‹ÉÇuÝ =&JŒåî¤x-LË \¸ÛÉz—_œk‚ý>t†7‰ñîÞ_ŠAF¥‡ÓªÑ™úúÓ†0‚.ã"Ù8IÍû¼;`’ÖÕšÅÅnmwIh­Ì8kU’ãvâ÷gúîõ8ͰdF3¨áº4ª“±«¸ü^mðQQŽ%l)?&a¨Ý´w¾?Ú€fMï|¼Ö¡;°<µ–Zòô±BðëÀøªËwîù¿t1¦OÂÊÇÑÇ^;¿8Vp#ƒÕCí±Ã§¢{'i«ëªÁ‡±ÀKî˶‚ÄhԪͬ£5}óäZ^C'²2¸zkw$ó¼ž|Ó {²ðù\‘ù­C£XNíÙ£?D[ž™zÌsâGZqÞ·[Oœ>ˆ°—J=œJÔõBü¢¹3dyÕ[© ͰH„ÉO á87pô<æ çñ*‰µê?¼n A#®¦ô(÷]Ø^~>Ñó}ž ÅÉ^á8¢,{T;Ý@ùÀ³Zrv¬êà“•ÚÀ¹ÆÙ0ãÀÿiÿ~çTmVZSa–Û!Í’¯ÒeŸÂØSe§#ŽÉg(ø–á3º´ »b^š¶Ô†FaÖ¼>ë6?wÙç5½ÚV‘b õÆÏÄе$µªñÉ“É=p¬ŒÆ˜Ÿãܜ۷(XÒËÅcöÈTa_¥Ö°šÑkö°) ˆ1*’Ë´Õ ÔIR —áA@»C”ÇƱw Åët<¼Sú<Î=;Œ*l÷Æø5[pH|³/JÀÀÕbå²é®Ö »ÏŠBVÌi\\óÞžï\lƒ5iR×W•›wÏEd1N&^aÍWêz·ÿL9[óìWï’`ÿ…4˜Å«wu_½Ð‰±Ž© Ü¸ìé˜pq|W .Ž8‚‰º»h}]7yeðüs±×Q¦1¯<;“¯‘`èñ$¨ߊµŸ…e§ÈÅêààEP?{e^=eº„æßT­½È@œúÑÍ¡hSkÞ*/ðNtGM¥y04¼™z;Z.Q#aв©§ò¹^ÀsÛÌ»rœkÌþlYv4U±¦¶0´iÀµ™Ž ƒŸ&.½GÀ¢ Ÿâ“¬ÿÛi¿Â…óe vä•(RÒvÌ<»§’·_)TñI!é8ô¢ámBð#¿Ñ—ÔVÓé¾ü4âqO,r{bÇ]÷õ•ùh‰‰I˜Úñk—"}¹ýCR¹|lþÜÀ{À&¿­_ë˜C«ZE‹°-¿v/+5D[–£XÜ‚¨}1Dàáª&dpxC«ƒÑþU|§m‰©¤è4%oº( &rUA óc˜:ÛÛýF9‰Èi7ž6b³~ ³þ½…d-H=~Bÿ´çw)Švk…M p¨5sr‰­ôéSO)—I=¬—¤Ö3„Æ»LÎâ–7¦ƒé/K³ƒ¨apæjÈ(,¥-ó xu®ßÏc&ð—gß'6äG0ˆsŒù/5[íÊÈ^¼ðµÓO¸ÀFÚ¤†ë¡ŽþC.·½&a9WؾZ˜IdYø /&¨•`ŸJPâCŠ ­rUË4ÀÚ­=àâw¶YSŸÃÌ1n…M> ;$¦Æû#b·\‹Àú¨ ÖHˈ "qi± ³äi^ÝOïúñ}Z¥ßIÄlÔÐ@2Aoœ¶ÉûÒପƟ¢Å"jî^_¯Žþg`6?Wy¨LA•"J`N” Òðô‹ÍÐ䈳É(5Á¶%œoPU6îÐÚÏÙ^(G ¾xðãr¬6 ¸„–i;nåêHÑÖ‚ÀóÇ¡"÷Ôî«õˆIÁ`mï¹ufJÌS¦µ\Ãbº…wµmk¶ A-]s4HÑÛ©–Òf ÇϸŠw‰£Àžé˜ÿÛzš~6œáZXUóÒÁ¸Yqr‰&Vª…L¸¯‡Òî=!\ÍÌÙ˜‰b÷wù=…tÁýBmŸ#‚\(y#ÞŒÝER ¼ê¶Â€ïR çòm _0ƒÉƒÙh^Tv”ëã¤À ­?É6Ǫ™Â$EÝGÁ–.s¯,5ö9‹Idgí"øŸ4ô§U/žÙ€ç"–àü|þÂìCGô¤ºÿç½×f"5’*™^?½±œÃÞ¹h’\̇g ¿I`pNE—^Ë›h2ÌRÿ±köŽ’ (®?Ð Ú «_8ÊA^õéýˆ…5}Òª‰Ç•jR+<ÈsÔ™GN’6î+™Â:ê}·Zkn¾tDk;6z$¼B¬WšUb-‰ÜtsÊÚUi›ªô¡‰¢SÁsÖ,(æË žÞM8÷®¿ùl“ ‰æjƒà©9ˆ…ô¿gÑm5‹F`†ñôºðVŒÚE*&Û!Gì`¼n†Yµ8':núñ¡±E½DΛÖoùØÙ¢O½¦2Ùä@½ÚÅ»¾n|¥‘÷–ô«5ÁW âßpGÉǵ#4kÚRFî: p•å«&ݦŽ?8>\™ÁéϘ5 Rš;Ïǽ$;ÀkIë›MhT0ƒxŠW_OE ¨¬ZZ­šHlxôù§ásu‘ƒ<.ûÂb˜6Áè¯~Xm¡Ê€¢Ïê:üº£`uˆ¨Á‘àkh .Ä€œ]!Te<Ïrýv '¶®~`‘`äهͥë%ùˆºƒH?ŸwÓîÅ£Š-e:Öµ‡öÅ„”IÅ£ mßú¨üÖÔàÃ,¸YèÃÆnìk|Òz}y…rôåøx¥9BEObécÑÊ[ÄišñdtÍxÀÊWLëö[žnÑ{+`ÖÏœñ{ª“ ¦Ü\—n¦è ¹$.ü‰ªÜXúÕn [Ýñî¯èå†(Ù÷ÿ@+»laXGÑ7aAÓv…†–?bmð(oÊ =$W§WGsÎ;B¹¡Ã)ôv ­$'òLár„lBê|ì„©J‘Ô%½ Ñ ¿Û/ßÅ%¹­‚fÕºÒ¦‡,ˆú/âU ߥcoåI°1 ¬¯°\·é¨%¡ù¹<ÊÐiS‰)¥Bý¢ä©‡i0ç«øk·ºÈ%Éåæ<ßâ“m¦<ĺι¸w×-”X"·º:æ5 åņdn' ÕA‚3 g£¿K¶ÓëŽ6¶Â©ÊF|4C¸ªï³B"BÎ5k |¬YYìR/ª1f=sHj#ƒïóÒþ7ÜÍ£)ìøbnêJ©_,Š1âbF™‹÷ⵇaq^—¢ ÉüÙè±x‡kúá¬w¥Kqbc$VoäI…sÓ*¬" …_DоиÆcÖ0â›Ê£ ÍTä)&ý æ7÷CŠBã °G‚ÛžX,´`ì˜ÊUã鮨AIª‡”;þF|Úwˆ0®rJ[xÉžîaþ*µÜâ A"ö°îULª¯X.q^6ŠÞ åIïØi½ŠX ëI°ú¨m®ŒÚµ×ByùÚÁdžw[{RŸºíá2^së²v»‹2¢.üª%eÎÒ¨á»ðp'(>w¤i øgr£"a­·bf éqç?½¼ýáQ„À ­£Í­VãÉó›Ì³jã|2éÿŸÚ‰Y sIÞ!%“bÇä €Ô­~Ó÷áÀ¦~Ð\°uö«Hö+ñ)Ì¿™jo)Æ5›jN]…™g§9ò· Sïïu—ÝýGg P»k¶²rùv…êÏdâðð0¾¢Ô†Z²íè*mv/Wù]¤gru –7mýf‡æfµÈŽâÒ¯[÷û•kž6Ú¸ÍÅÞ[?“‚цÄƹ\0Hýa˜j '³o½x$ˆT‰Ù‰¸»›ußUpŽWWǘ]M(õ 3cí†5b?ºÉ :13Ö¾íQ£´ª}T½‹ôZ\ÞVëô=eRËÈf.Ñ¿ýã½ÿŸ¸ÂWøîlÈõ˜½Áß“á=¼ùj¿¢'ðwh^ÄX*AZÈÊqß…ÕfÑÉd8b3Ë+ž:¼×QT•s„˜¨¾öÏTÐò‘îûáäÎñ.à"ÍØ¢'i}ûñÝÇ8wñ¨öUh8C6-ïËîVÏM…ybQ—Y•‚&ûwäXÇÅARâï^ ©±•™¾)]®£y—/“ÆÖ<Ð.di UÊýÓÒ}^ùR£ëhù2:ˆ^Œ¥½‰ìÛ¼o»æ)]j¶·fºmœ‰ªòÇYÄÓÎ,ÒyOvô}è÷þt§gáìÜÄê/×óÌËÿѦѶRÐJæ ß‚q4mè3Oþ·ØÿJù…¤ˆBïaÃ’@Å»ÓIG0%®<ðHâÔò=ÿ’cm%×ÿq¢EºÍY‡HN¿²ÃGšcF1~ƒšõÚ?ÈÍ*%²ÄÍw©ùúÐoRynyÅåz ³h ÄbTv|>¢V_r€ŠÞ7‡[‰¤Â-E$Æ ç?l£èµy÷c®Ü°4¦º{3Óì &ã<ª¿¬YVO¡‹Ÿ´Iˆþ{7)Ïì´©ÛÀ¸]ð~Ó{ƒ"]PГug­m˃ÈÏ¡zðüjptRžör€lpèQsŒ¸Ïop ¹0€2ðÄO)QÎÀ¼ªß¶USà…>õ¶9|ò"ôYÇæÅrq½­õp±·ýjøtNø”×%rš,œ`δº;µÃå°\¥žyµž|W0¢‘=gÖÆßœt«¼‰ýÏò¥ÀãÜs°ñ¦HçÁGúÝ1Mu{ý]; ›²‹áKGÅrÅTÞwKG–—‹“é Ðý7¥.Ï„­>G$ïfEpþÜßJŽÐ:²øÏc“Òu¢éà•ÛîiCâ B»®H #H8ÀZæ0º½0—[­QÊ^;ˆçR@ïQ/4Š_Ÿ!G«SØO½ÄëƽÐä¤*0—&(’ªAíŸO©Ýzâ&Øêá<6*wÞØÔ…A"–sAL£ÛÚ 0¦YÜTs6 ›.ЋØrMIñ™ØFˆký°ûë{è„ò’@ÌBè*ÂþS¢bɵÄáÏ OÒ^t„™7%[àp5 ”¥—ˆ4°{©[v'(Ž“-Št.²Y“ k1›±«>z…ˆuþôƒKu‡{‚©ò¶Á —÷-† &¯ÿš[¨†`·B6;ßß'}šä$JünA`ÔLãØâÝWX¸Ê#d’‹VÄFãÃÖŽTF]F±RÓ×ÛÃmåøûƒíL™j‡ÍökãžyÒŒáq'oÈ祚Y·ÇáOw¡ÍdnÈ!>g‹|–¡düû?>ÈeIPËþ±ïÛlö ËHa<˜i뫦tsèè7Ch›¤ÏOßá„)éíz´í”@L6À“Ëd~ñq‚¾Ž ËóŒV6q8LÚGúƒiñ(W ž%Qá.ÜñO«xc§¯î룉 ü_ѦÑÊå‚&Õ'ôvhª1 ¨ÍŸ ÞSN)XìC)Íê@µ6ÝØx³ÙSÇV¬2b»Ÿw—©O'Rø“ò÷ÔÆ—ï¾\„±,ÇÛRñÎ!I™º˜ ¶H&cƶJWT!ÿ> ˆ6Ï‹½ê×ÐÁµíEÖ¡-R Ÿc^Â쉬SO:úãô'—ë:ï‡N¨6 ¶6³ÜJcSüÔVpvÂé›'XóáÞÐðxÞ¨R‡W»aÀ…aGóºŒÒÈzT¢¥QúۨJjƒ6±Ô°u1¦ù@á!cg2=4¼%6´1äl\ð)`Q€¢‹c‘ãú¤÷Žuìc÷H Ø-L7¨oÝy™cr–=;YQc÷þâU,ÀF`.Õ&•2u>Dz·þBö–I!ßé÷Î!±ßcW§Žx~3—¿½,7€¥t šS`‚eåÁò Œ/t°©ê¦ßrBòÒPë:Ä•atõýÐ"ì¦ OÝÞ!—Ò‡xa×½v¡ºP_¹üÿæñpÚ=µ(0f§ZØþz9ÇÜËžôh7àæe û«YuŽV:Žóv?y­ÆIa^tüò±ç_ %œ‘•V+f™ÉûÿFô½ï‹æêAr ú” f±ô›êŒÐf¼^8 øD!7zÉníÎL…»óÇ~žœ¿£Øuh2µ¿°a€j¶‘MÓôšÊôÜ%ËñEfÔœþ¼ÿä5"Ѳ it°žï§‚?÷@¢þ}¡À!ú_oê[ a¥ f¾¬_t/TšÍW/íÎ1iíSŒqôèšùU” ß]ö/‰T\öÚØª"2î¼ÝìÇÕ +Áƒú¡›ÞÏq>ÈVd{ÓÕ\ÖêñÔS½¶ÇuÏN0' ‰u¤>Õ„äìoûE'–å·½hîmS­ J-¤¤64þ¯z6==Ž p@¿°Z9¡ï(É×%Ö2op“¤ô“eTׄ›—Á«œ÷k£ƒž,køimû^s lâ÷,&Uy*³Ê÷’r¦ž„³²ùBÄ IÈàOÊ÷uò·‡/óQ‚GTF›¦3îØ M¹š×$8eŠ‹¥ö !ÐÖFc›WH¸º’PÉ|J7ƒjÝvâ»lßÁmsÑ[ w"¬U‚ž1UKèç²áV}Ñ{c·6È”À¸ ðA²,MÒ'å“.&ó•–T`ixŽËª K¢„ñJWMçM·ÈÂáIùü@´)éSa³àãŠ6N ÄpgªÒ¢n|E•ûÕü®tšõD®Y¶Ã.Ã阷TÏJv çÐjYf!˜ÎOˆT3® þllËB ,\2ÐQCÔ~ü%½ÑK‰5)µ·½–òÀAÊñ(x…]º~ôÞðXë Ñä¾_ò 1’˜žÖ§}-$–ÀÎÝöBhj»RGs…n5„í°¦MDUac~g—ê¼ú„±7rãÅá «HvÞ=ðIÿÄ>‘Áw\“æ|•1K ¬c«—aÈ• S–]<>™ƒGWÛñg¹§’ 3ß°w¼½ šwa¡;€j(K½ç•Q#C,V 7жœÅÄ£ÈoÃËeØQ±v‰`IºŒŒ—aÕvrÆóüçÛw|F$« {ÖE$sèœh³“åìŠ *„ÑL-ñg6”i†C¾ÒJ3Î;ÕE¾Â3»‘½¿Pä~_7ÔÓB7<9Oè?sO u‹Næ—î8;êZZ÷ZT³ –?2)càÚúå0.$¨ ­^/÷µâ(Ñš¹Åèvm?R3+íÌ_?o§‰ó·Q”Èû fxHlŸèUö¯NR> $‘`¼­1§9‹—|)‰< äl/En¯ó@„ƒzž˜¡]Z&6¾D÷kJŒ¶ š/à)²Ì!b-5Ô£k49wYÈ|Ø Ô,žó.º-éóÄ%42Bœªs”áW¸ã‚H ö•ÌLF™$•Ýý¦Öz¸ïÐ53ìÄÉ×yé›,n­ÞhÎn É65’k߯Ótx®Y/t¡œNNSï•xÔœš¿|™7‘fhóáÏâ¤øŠ˜~ëG-,=E|W­‹Ú¡žú@¤"»WÀÉÐñÀ'¢âÇá4™wõû‘«ì;ÁQ¼BǤ-¹ëp/©Içžf°âÿ󈚮¤¢te}ËÐú‹è3³ûeѱʬ‚8;AG¥—_tv¡ó4Ér5³Ú¦/:Tó¶ÈžÓåi[6É”y¤pÀV#Yeø°ÀUE5.F»T›Ôf ¬èèÛH×fë,¦¢ 0Î$jf²Wˆj ÆßŠ™©Õµ{§Ú”dz+‡"5×8÷Ÿ¢‚™¾À' ýP´!ÛŒÆñYçÆøRŸTzL¡Ž’µw¦TL%`£¿Î¸O/‚vÌt›ÈQËûÛNf-«àéF1ügߣqàt òrNÜ &k¡u™•bÁ…X-ë()Ÿc£9c†Üºô”.ejËÙn ±K ý~ú ÁòÀ+@aضøìm~-i)ùÂó}öj•¨æ¶•‚‘Ô„kÔ*0$2õ´>î‰#Hí4½ñ¤ï#j3Ñá7¤CÉÚX?¨Ïý0L@X¹¸ƒ ¢ªÁ_uÜé”ܾ8ýúÿЮùÐÈ:„8š)‹Nœ›Ö?x\ó"kQÚìÜ(´™¤õ}°J¬tkNcpÐGùæj TPÒŠ`Tííál,Fiúy1¾‡H碴׵¦Â*ƒ?/E„—ˆ©¹ÿ¤“(Űi6âÆs qÒˆ)~¤îízM}œé\ýõ”T]RGÝÅm‡¼HåUUú令íA Qpò°ê@gSw8”¤ÉÏ7ê»”JïB ÓoLMþýϾSF ÿ¢H-Ð|ܯgÞ/Æâï½Ú¿¦TsBË=DÕÂcó:.OÂÏÔ–­9Üx{„0tjÆÐ.MÐX1ü‰!Š‚Oî§n¼“ìç7dûA㉜»utµ©Åý‘ˆ@ dÅO Ó²†’¯è Æü1`pÿ™'Ê.mÚqãŽ0›a¿×©Çâ ‡©G¢F*ãÂtG¢òH¡Pú¯Ã±^ûöÝ=ìØépÅ’ñPµÓ:4ÆK׳ØfÍ‘Ùô0BI÷Cˆ‡¢¡@uåk; «ó.×­)Ò’sf ¥åÝGÄž“'&4ØÒûU9UMÎÕ›ˆ ÉY‹SOÊÇØ Ñ*s>Bnªä…Ë\: ùûÿáäsÁÜUkúÁГDZ[9w¾  ™ZcÖȈ×-ˆéèLYÈ xò¡vŒ¿ÉM3¦’ˆÆÙ!wú[Ì[[øÐ¤^âcÎC€¨­G¿KÚúƒÚ~é\¢ÐsßH¼LY9»ÃŠr`]¾Èî@ðÀY¦½w@±f1cê ‰V…g,>йòÉP$ÊÍyp{Ûq ŸŸ"à /ÞVé§û£ã¾á Ý)iD}Ssߺy#»7¨ >:ÁQ`á¦&‰­—#Š%»'þ)ùsMÈÚ²,tp‰ŒF õ¼L[ÙE\š[j©Þ[‰P]óv{³îܾ]³B×?¨ã&¡½&A…÷ä'0tÈpøpùG~–"TÆšî”QeH:mÞ2iD]0R&ÅR[WZ˜7Ð9¨ÎnõM|-$©ôÉáhÁ¹ÏØÕ „ â\ä’;ƒÈ¢e ØaŸoö­Àž ª§tXì”!¦@T0÷Ì_ÿô*PÿHjpQ©‹È8RA‡a–pŒ‡ EÞÄ òw‹0vC¬džÐ΃’ò¦ã³w:ãBpÔÏ$v4×ÊïÐF(ëj·ËðtN1>>PÖØ­}-¼¡˜zýéq˜«c‡®b¼kºÈxDŠ®=„|£Ñ ÉÉW¢ÅV¶Ž„½àg5a,5ÝZûºØ!äÊ/Yå=6dŠ—QDöÕÓèàzâÐ.,õ_êÁØlë ¯L ³&V¾LšcØ ‰¥‡iñ4F'Gø$)Ƀз”‚°M€Ý=‡)%Óàeô`®mXH>݈¤‚n-¶èlHÀ5ÖÈ÷;˜™«Ä\ÇTCÞ¡{÷ñþW®yQH½L80‘€m§ÉL)Òäжäõì<ú¢BoûÉ7Ü—Adƒ«i<]{šBBæÀ§ŒWè硪ºówÏ"3 äŒ;òTJn+òÎÅex” * pù2$tuj¶ú%´ãLt?>œ·£M/ !Û:¡Û(·,O·ÊÉQ˜V•¥¸úàÑŒ„ؔƼíØOÓ{œ_ hGÏí®‘ÖT­Eo›Á/AÅŒ·7²úBÝ¡èÒ-ýšÆ_†‡íz1Э@.™œ­h§éž-þÝÌÛûñÇ‹Jé<¼ùÍ}½H_Ÿ…”€nÃÈ[W±¨ÿë°ü49q¦6Àú¯ÄösPÝ °ëÖÿca›( #îž'Iÿ¼VgW1з uk½Ï4‘ ö/é½3ùʧT­¦êR±XÏ ¥»¿òBú`’¹|»2+˱ÉTÂ\éìÉ÷·åQg[ U?ö¬tyd_vOmlJôaUqбÃR¦Œª·?¥ˆª°æ ¶†>ô™Ü²”ñp1r ·:ÿÓŒFØŠ+0&>R_hù­[ÝnäX“`¾bYn)Rvá8žÒÓP¤#C£~+¦˜ñ¶ hQo¡u<™˜˜)Åt‡Þ®7P–¦uØzÝpš:0 ¿IŠ( £«†Ì˜~w»÷­-/xCmPfºjŠp+]o6æþ¡8Qø÷ïk´B¼£¹Üp²ùåÿVG®˜c rÁs±ãW*³ñþp‚äœÄF2d&%” wñÇ$3ÄlðjIe-:Œvµ²ªßýŸ!„Š¥Sà˜½cKÂÜŠ$¢Lyù®‘1VÛJ;Yæ¸ÚRœyõ lØlsŠÚ…+.òÑdC|Î]RÚw!~24ÎÜ’¸aºÞ øÂà寚ãý±QkIKÚ&SÉÇ2‰÷…åýÕãaW¼ó81‹ôbÿ#¦TÝi6ƒ ¥÷ä<¬­˜ÀáϰÇ7,íÕ`tðÓŠÔ–³ŒõþÄ`UZªõòkk—¯¾eýo‹6?SʺaVzRŠ­³Òçj}[þhàPQm½5§’¸9yNŸçä)ëÊ›â1Áðnpó…–ªÙk,ŒÙgF˜˜¬%_DAáÃâ`ÏVHDM—_xð/ŸÞÿ'dÒ †¥H¹Ì@—”÷RŸ¸½¥`d¤B7äô/žÈ‚\J­D(Ä[¿ê-:xbM­’Ïמ®ãž¾zgêtiAX"ô@0Ÿ:ÎàMb5µ9˜RŸ°¤îè:ómz/Š>qávæ Fn.6SBè™­6É õ`XÐ퉵ç”Í«ŸkʲÛèe¢6™ÑçÈˈfQ1Í)µÜJùªÈ‡“cb³ˆŠ¢¸Œ6$0ôžd9^òOO< ð,½J?;¨¬½A/MLÆ2n×0@ê«0Tuã Ê¢Ý!²ô6ys|!1¤Ô<ö:ªÎîÂpo!ÂVçÏÑ&b¨Í®3€?aqìMÒ7´/Ì6+uÀ»P"˱nŒ¿áÇßøœ0‚Fè@Þ`–ÍW•8Ú9òX–ˆL³ÇC ‹á(“s«÷áÉ=—ÔÂ÷ÑjêôWÆX‰&Û(×EAÚláë¤ÈÙ2ÐC C­NØ6€µMc^½z/Ò}|X°Ó& ;²®X*‡ZÀC½ÕÛãVЇê>obcaHürÊGùAº\YÖS¢ñU‹Ý"¯ƒË¿±†UNïüE…òßÕ: Vô¼*ZG±¼m“;=ýá6 ²Ïåþݲ4¾G?äýð±›Ò“WAblØXU”ã§OCñ€¼¿ÌŸ¤]½f;Ø,¸¹‚6'uj3É&Ho?”ŠÐË¿\gö0KÚˆáê›|çÙˆÙœ­Þ_ëÆî²ú±jëR·(óÈ94'ÎÅ¥µaŸ”&YHêóã@ª™Y-¬\… õ¦UÿK¸™ºzêÏwÔ¥7"‚v0|Š3o^ù8‡ÇJô«ØŒWÑÉ@‚ö`BM0ob¬< Á\è05â»QLðË0÷QÓ$Q?¯kÌÞã…•@O¥|Mnj+ ®h,B©QœUnEááÝœ|)¦ZNq¿I¶ßG4Iy§*=åæ‹®Ÿž¦‰‹õxùzpQ—ºãL>wÎø–þï½He$œm0àÆçéMñ€ôÄz{ý¯tˆu:(ª¬SÐó“íšÝÖÕ¾@Äó©}ój(‚TJ—„×ÜøïçIñýÙ²lØH`€]}bt¬äî^6bÅÍÙW@¼³£ÒtgKÖ뾪NM…Ikˆ 4cpŸ+7™Už=êàŽ¿(?h†Ó_JU‚Lu €5+³Ô?f–’Ö’ €$Aj¨±.áyhÉV;ÛŒ ˆÂ^ô°¥u&r,EÿÌÕàh Ëfç.J‰ãÑÎðg)âö=•E¼"Enlj0Ö{¿𹧆>ÇO9.o™X‡GbÆQåÈ›¦¾=XÒî-q§úËW‘a?íÀËÐlz8›M‰txÿ…ÐHOxJ!ðeÚ¨4Z+óÊ&ùIíÏÍ£_VÈ:YÅF•µ],*‡ñµ¨ h?‚hËc¬„¸ŒvšÚ-½úkŸO[‘1óœ-dˆBØcq>: ²·ÞÀ,\4óu=´(ÄÙùêt¹ÛË£ˆÃ1 (Ÿü¢©JM²#¥Ñg]ÐUÇÍ·0ž·#š´x ­˜ï@(݃‘ çÏöÎÑÙ°Dº¹`P*KÌÚnnËþ!ôßÕö%lÑkMÍÝùÔè2ÛøDÊË¢ÃüßùÏ@Ó1lÄsj–ò)Sãwi$™â|w÷(;Sã ÆNJ}pTœÉÌc˜4'VQ€ÑÙ*¹TÑ™5v‚µ³}ÿ‚ôw¸M·¤ÜmŠËŸ˜¶‘ËæMï†P±¦Eå`]t¢ؼ?<Ç%î˜ÀQÉ¥7Æ|…Õ+í‘÷Yj^_*µ?â¡*ZŽ èÌP5¿ó±í/.^J…ØÝTàNN‡31IöµÕ<±¼„`@²£4j4”;é0 ä±³\Éìp·¹…v¿µöÑ´ÿ]F+!ªv0ˆQ ”-ís‰Ø/(¿Fg^Z_qØ¡vñØfF1døŽ]žâÒé¬c 8Ÿ—ÞÚþ¥áVbÏ[sZ±²r4(­?á§kÀ'z‘¢ýYÞtz†ÜCGz}‘6-…“äç‡ÙR™ÑX¦â•/¥;«´ç“ñ6½V[v‰õâú3vkM´2óÎÕàV•¼8XÑ_ñ‡å×>šG2 ]Ã-þôñ”èâÜúןšÌíkŸÆ’i@f$οÖúÐOl;Š"Ý#à¬Ü×Ò–`ëïŠ"`±Õg]c˜Y—êpl*::WqSA¥û÷° yávã#e‚BìäNð'ûUº>•~áqRWéÕýfoPänVmÍQl•ûÏ*è·"i"J}PÄíTqHÞÅ¢1X¸yÉÏÀ˜¹ºU˜°#¸Çâ^YÇ0ÃåVÇ/)Ú}8OÜW˜R„ÒÅ¢hÄ]bšæo½³š FÎQ 9Ø^ÀO¢p6³Ò=H×S†·ÿÁò´a½4k'Û|Û¦¿`µ|À~WlJüôЇÄ(zªöN7d·×Z>mžµ°±£p 2^ËìÅ‹éŸà›ËÛ(âBƒ4põſͦÆ…Ù ­mq¸Ü³Tà½7ŒSãÖQuO¢|Vç‡Ô{ÑÿÁ_8{öò’[PøM.]CgÎkÙv9ïñ]ó{Êí,‰Ñ vj¥§íÅUþB>Æ3$âeQKJ¸6ÌQ þÖ™ãé—·èñÎ*ÓÚÈ*Î-vãŒ{îgŽf‚Úz‘|Y\×ù½ÏÀ©$æBþÅH¡É(þÊÖ¶4OªÖ¿€}ø€A+ÂÀx]“”9({£ýI¸cXdû.²5ªwã!² ëãñpi˜þèÒ+Öêv‰ú«q²§ !×&qoK™R)ÿ5ÏÛ2»£ ÷—‚¨Ü·FÕÜ·ôw'xŒž9óäß7w„1ï&ícØFåJvNx?]a3sB FG˜r”|J8H'õ£•56†mÞéðZÝ:%’îk@¿ŽÀ ªk ía¿j 2“R¨<_zh¨<€WBÐx[,Ñ ‹†öaŒÊTÛ›£SÜ×õcý¥!†u¼Ž„ë ¹q<:yx!"¾ûÇó ÿ¤üy”ñX{§”Næ˜ðüÌn]KÊf „âû“Ö°äZ™[%IvÛ·~ßÕ,œ¤B?lúoä|w©lB‰Š"« âiç磜‡”¤–Nõ G¥†Ó«VUêì>í•ošT `±ø˜Y*æùoÈ=±¡ÉQ”ÔJ{óù„øœC“ú“8w&u$¾5‰¬iÔó1ß8öa½ež2[ü™h‰²RfS¯ $Ç@ ‚ Áf˜YýÍ(ò?4.É]IcÃg|ºçœr—ïxix—± £t€Jà&uÄ*ºîÙ_x¥µ˜¼ôpÐÅÀ]Õô  ÇšiY©p ‰eþUºQ¢pÀ«¯ÀŠï,’ã¨Á£DR9°UùÈéX²=o‘]ÈýÙPíÌUb¯—çs´ŸzÁ_¡å-ŸªùÐÀ¸;^³E öWãàͰÉ=òæÀu6nVC#`Zb±È»ƒlWÿNY7x—Øóê†wH‡év§åtVŶ ã©a>Læ ÿºx„€•‰××& ñ[¬Io­qÿh_®$¨,Ùc3& h¦ŸRÃE(ú§o)ð!ƒi¤¼¯Ô»q”æ#‹yEêzÏ/QÇåUÏâ4`~Á×NŸRãÞÿ[@… z!¶þÇræ ægg«ú—‚yÚ/ì8°*3W «a’Oô`dšž—Cï7Ú:x’mĈs„É5`jk¯¶ÒThàW¯KS˜¿´aù¬ÁÌ è'Ù"óð×m3²ïø8ÛþñyG‚ Ûÿez¨áæ~sîÈî[5t÷ÒjwSgéˆxµüYZ7HOeæLÞ2ê+2(àÓÞ6ž©^°Ê¢Ö?ßJ&Ú6±j†Ç[®÷Daxcî€}"—qæ"ûPà{­¥‹Ï—5@ü]ˆN.*ÿI÷&Oýë~ëLµFßÅÜ×6Ã/™×áÞUè¯â>²€ß%y`ûûÌð¤å¾69.ÂȈ¥mô¼Gª{öÉžÙïu”ÍJU/Í‚ê2FmS‡UùÑæìË·§,´ËO@Ôd®ÎÑò$22Ï…B€£t6Š… |a¡¶ƒKÃ'¦ôCêIIIDÕ™…ÉŠûû'F=Œát(ô*Mï4IT8óB9ÿ ‡(„.ñ©¾#ï5nÏçëIð«K¦4MK6¢²JÀ…YG!¼z†£¢{5#;J†Ü¨i•y¨²Ù˜<£‰ya´yËn°¹oÞ}…NE³ ÚîX)¬€Šë{Q=RCR³ž|{͹³QÌx‹4†6Ü'*ÁÕp©Sne×°Og$7 ¾ÛKâ~›îwÚú+¦o’½(i‚awåi”cB+µÞ‚ olÁ2cœš Æz:ˆ¢Kj8£Ë¢Ä)Ú¢;ï¢CCIv·Ä%±•6Š„ôìMr3Z7¾ðùI»*üG¸Ê†NÁ°.k÷–9XÎßV*ÔÏ+¾èé¡ÒÁ!¹™ÿU)} E×eS5£‚)DC¿W!Ù¢#š¢KŠÿ³7fƒ².ÇPÄõ] L§ÿ{nq‰¤[@³ÖaÑNÙý¾™z×3‚†C†ÛÔ"—¥j9Åñ2 ó·M™Þs`0'Hb³œîuTÖú'Íë¬wÚÅÿlÅÆ¶ŸV?šxæø2 1,PXÜDøÀ^´a#•Åç-»K‹Þ˜~›³<®a‹jê7s‹¥=*À¹K÷ýòAgG‹ÿ`œEO ,ˉÂ\¿s0¿p;+î{û@Á uuF‘lòw;c}¸×“Nù°ëu+K/!ÌR›Gõ-ž2þ÷ÏI*K‚o×*¿†ÑåE32œYN!RgAf–$2š8ý(ž£O'×\î'.¼øJoûÚ'‘TÈéGã½×ˆêGéêzÞµÍíÜíjï¥Îmhéz.cÌèË%inwWùën3ѱSx;è?ƒuDztÑ"‡{ÒÈ8ils¼nWwABoȲN‹Eı"÷ ‚eéTË5¤LÔ 8}*f+Ø“,bwêa<&œZ×ÐÌæ(& ¡…®_=p:ó3MDùÞÅßúE‘Üqω¥º8wÌ-ìt©Ì¥²©{üÛ"žÃ}í@ 5òý…F´¶|ùoŽUl2k+90»ß¨ž‡ÃQÎÁ…åÜî¢?4›cIÜ”2»pjCƒU²§;1&Xm¢¢P)¥´/ØVdzØ´g^öÿt÷ãož¢-eÔÁ|¢±#óYæ¢Â'úË×äÚ÷eSìzs¸>`PqEôúx›Š‹#ëv‰%‡›ÄG½3/V­ýΠͨòe2*Ðõ, MÁ>óyŽ ½-4òàm¨; Ʋnm¸ŒYV¤´’ ù´Ëv ¬òB¸^c]-0 j‘ œLZ…Èç“Nùæº0¯™¤/¹$µnß`‚ÓLå¶Àß+ØÌè&¼[˜CÆ´83:†Då‹åqÔkÒ¤‚ƒù¸om¢™ŸI‰¬'êeÑcÙïϺâAÐ>PÖe‘‚óöÛ²kùžN‚ù·ñ˸ï&Iú~¶n(d«²ß{Å›‡¶û•ÓÙZKd:5áìnj«è¢ƒâ¶Ü 0ðkk$½_«¶#çž_Hpz>¥m"ç\¶Ê¬ÞÖE¥Â÷¾ßIgÅ8mîRü“œíÁŒ¨™‹nÉ·ÔF‘•uúûonÑ7nmH'OvÿÙ*ÌÍæøª” ¿ËÁ·¥»Ô€'¼» }¼·g[zQ’®$ïñé/õå tKÆ2Ç=¯¦Ä©rÊÒÓÃæ­¶äq5(5bÁ4ñÊÈkÆ_x×o£êP„°F‘Ú³èã+èPc<’æ‹cœk(ø¯°eËEz7[s*õõicß¹á¼NvîhÒæ##ØI åý¨sÞúYø-èRãÿ¿Ú0Ú'_Îü°æD¬¿éV"0ª×<–u‰Èl 3±iTâµ!n¦¤@Á€  Ksç}Ç µŠhÕ®)´¨×^ Bl!1 ­Û©ºåÍ)Ý婤•{¦a È…¾ulf…á†Cq¦µY\çØ ;­=¢ŠÄ[¬»¹Â;L@ŠT£¬ºÅa1¤\`Ñr³Ÿb!¿ñðsÔ¹àÐÜnƒÀN“×;pàk‹éààV,Ø™qE‹õ(ˆ•‘P[Mñ7¾æâîË®ìˆyÓ üˤ „/æóvIpÍ%”)¯6ãáõ€uÒê8ÔRÂ|}{ÝãŽOùc›”Ž’ð`ù§Å¥œ®‡‘/¡ § `‘EpIä•pÝ~é Ô+çR¥6;‚²q,ø{˜‹1ª7È®ÇmÁfÑÿvÅñi¦ÞÍq|;X Ù$ÓçÉ2‘¯nò•˜™#s?}¤Ás8»xó-ÒOäw¼æ.E6y /šAæù»H½M¨£Ç£hp´;­ñDÛ„fÀ!»¸C›¬ ¾\PÆ*"ð-RgT"eû+¥iY›¥“£C¯É`Y3ý®£ö-¾ ¾Âm Œ¹ù.¢"=û¡Pè31×7¼¿×ÍdÂÊ‚l¶2Øõ¹É|™ÈîÅQ#êRÚ&.y{¼M`éo[ùì&¿9cSpð[q“պ,eü-ŸâOìXA‹¾ÍV LwZOf^Ä\oçPÄ÷`›þÔ¥vÚiê´~Ÿô]Ùw q“ö›M ?¯ ¶9‚h ‘8OrjWNr~¿Sä•LEá6ÙÚeïtvtdz"8’wFúAöÝýß–ÂXY¶äTOÚWŸ™±Nô^TJ ùÄ– Ç)½…»çiq#æÇŸÊ÷6©3«0ô‡ãgë÷íµ¹öåõpp*LéòÝMÚÍ&Y=«·)øEFj0Æ-…²ž\Úï¥7®_E•ã/às¼=cX#{4ÒÜ»W5;þü9U(Ò¡—Œkó±ÈÎ(ÁŸéãÝ€o=$ÄÒù½‚Ʀ‘!â—þ$™À&fš&oþÄŒ©>´Ä²\à\шk™ÒRa+/TÃc“€r¯Œ§…Ê:úKnÕBw@ ³f—#¯ ó¢Â´É ÆPë25{·vÀE„RÎN´/Ù& NVçbEœtÀZ˜›R*þM¯t‹O”ôÚk|–Œx[úv¶YÁpª x*fR‚¿6º)mñì_üÀLõ«|™ÎtÖ®q*wk6¹¶è=ⱆè9ηÙÅDZë­7ZÉß1‡âU53˾MûW¤ û›³jhÖ§vl€^­KÂ[>{&,ÏI¾ñi"lU÷ß$6ý‡ v |g9ŒÂmm¦-çºõ×+`oH®·}þžh꺗Àiþ¥Ò÷VN §áMLofAf§ïŽo¹b rÒA~£›=(K}®ïW2ý-@þPnçÂb6[«"c¸Ío_¬ºù/‚<,ÒxÓ>ÌÚä¸á㜼÷͹=þúEŽû;–úá–AûEö3ä©Nè¶hM2­ÑXDg£qŨÀb<ý„7à4Óñ‡†RÅõÏ×`Ôã¾sÙׇüýXY9‡öâ0¿—÷íÍ#[)åXŽëÝ bS*k¹¢–EJ4E\i2wן…Ê6÷\cPô‡î¾¿]«V€;ðXû¨è ÐûìüÕÁõÕß„¼£¾D•­ZK¿kµ¯&iüô'g;ÄŠSõºV;(À §ê•5Êmœûy¼„¡.K2ó@;ß”œÓUEb ÁǸ•£ PõÒPúúwóÊòÝ{|ÀJdN}¡•sþ™@½ãñ—»s~ê^û S×íHîÒV™žØ€ Ü=ªðjßz·?€œMˆ„)Æ´-a$ñŦ)×J]õtý”vÔáÒ‡Ý=‡4«ÃÞiTHøïŒ ùn†‰[íhHe CüW/F¦KŸï4Ù<ÍlsKèË=³H_‘H0×~1”£0RÅ<•S3^7q¤¦ýIŽƒY:€Ñ‘5Mõ?¦HÓB"!sAžˆ%ñaÖ;ÉIÕèÛZ#Eg2źÒ55$ÉyŸÓ°Síè4làòah\Ùö-5<âPÜ@5°¹ !àjrÞß„$cOÞ4»÷äú ì¨ u/a¨¦U¸¢'f8-úßó¬2†6ÄÖÏl­ÅpsÚ*üh®¬ÃÜt*scR=TÈÖ9®}QU¦Wê¼îØêm!Í1Qnú¨:Šo5‚v}q>ûöl2ú•””„6¾äf a‚°@–lÆRj‘a…y6ôN¹IPUʤ»œäRïsÛ 'ÍëY_°"¦»!{†B(D™í4Ÿxž ±ïHSmã~!¡Ž•ÌÇà]³F‘$|`ùjÏ ˜¸!Tˆ']Æý>„Ví¡ú‚õqˆabÔ7ãòïá_æî~\¿#wE6r"™›}ËCSõq¸e•D|àc!ϧšõkhMó8ŸBP (¦J£NÏ{–Ò×G>ô*òKMª¡ÔÄ Íe‡ïOG¦»ŠïGóõxO/oÍ£¿ eªŽˆT=¾ó[þÆÚîë+ö¿ÝG6ÂáFö²ÑÌc½ˆì=¬ì7sý:opðºzX°_ejIƒb}   ÿ(&Ž×·,‘ýåàêz€¼PW#œîÍPZ8Z˘%¢9´BÎhtR«q°ÝHEv´*gÉÒT%ßQy&Àå5]J² Å¦vØû?B,Š,ÙpxÙÚ+ÜD|Í«¸¡K땬”>s¹¸¶öCîÑûhÚ-^Jáø8oÇ%Õ+•òýy«É˜$žg ù\*Úo¿UØÚKw P£ñÒa)Ý‹°7)·–Þq1DV $vQ Ñü‚@Çžl“ÚÄÁDœ°ÌÎlàÜûŠÁ¶çýu~§U¿$ÐÓ‚+¿ªÌ[C`j{¥k2{Ó'co:†ò*Q%…ƒ¤èÞÂte䕿1ÚÖ°àâÆEÉYSþÓ¡ ÞÁ@RHâÌÕºE ¨èxš*]ý³$o¹¡=²º>ß[*’ÌÒB,@i"é;ŒRh/k±¹„Œ‹ž’¨ ‘/`ñçn…Ñ j¹·€Üë¾ðU>̵ê7ÝÓØÌ% ö"EÁ¬‚R³…u’›03Ínû$~ÎOØŽ(¼à =ûíÚcgiªg^ºŽ·´sÌABL=IÛ!¼”¹¯0ƒ 5ÌåHq•uªêÒ dzÉΤ±GžBâ³* ¼+i¬€²üÀŒ[™eh\­2ÉfeÿÅ^¿£°þÜ;É,ã}5§^`„º߯RTJi׳HÚÖ©Ÿ]ð¿Hå0e•2%ŠÅ¹r«'ßD…±Ó Ðe´ƒ¿?ÍŒ¸%1Z¥òA~À¹F³.õþ$>Á{‰<úžÊ9: `*(§k/Üj³6Ôc¬o=~žF5ÎwþFìê† –¹"Æp®E5)fP½óN}=,éô¬Wëuã¿æ5?8ƒkMšN¶4”fbWfFÍyGÄõ‡t ËQ^¼c2hŸ˜åmÔ\I~ÖÓá«ó·MÛÖÒ:ÃÏVc3‰&f“¶ªàÉY‘mm¸¸G¤ £º5â¸g²ÓâKÍ‘F5t£8¥^Ðir€Eè¡Ì­hÐ:×x ¹à­¡¸“cÞ–‘•‘AhŠ:Ó»Àkê  Ÿ#Þk‚Cë~ÃL÷³ð¿s† ʨ/OÑÏ=Ƚ§OOhùl¤;BK}è4_ÂÊõÇsQÔ+CqH ˆèK¶×t å†Oú úZ÷̰UQòX (O;¾¬“WÔÏĉYÆ;i8j€×+nw©6u…'p_[žNÌ hO¿T™Ù#÷*·âêû7šÔ¾RÀöÓ¥’Z@€6ôŠ6—´Ô UaÊlíüc˜ù?µ dî³O^ë.7µ>R@ÅŸÃQ)¢¹a3Y%ðÛ÷©¦Kï”ßý~‚Ò¨Ý㘂w]ògí5Âú’¾=EÍ„•AT²£Ç~Ñ ÂdЮ6a„Š;‰•µ¿¤BA¾é*#‡>ä:9ïq»Voh‰6sç3AØ8ýØ*ApÑY^D ÅÝ×IÑÉ»¤ùœÆòa9{<SkÙ“SZê} S¿Yƒ0SÖBéôf7c”‹²ÏŠÒUWËw<ÂZ¾*“Ë·º—ûÊez@ƒþ “YÜvFÖð4ÞÀ±ñ;©ôësnp0jŸhŠñ …RoÄî!±y'áCÕP¸ü“"+b8Ãs‰a±ç _ÓW¯Í_#BEf²|ÙìQ¼\¢*)e47 wÚ§ùosO–üÔŸ#švC¨£ŒMô&"놦!#€ú=A(Á'{Ðï0aµÇœà >¡>;-žÉ¶ ;~Çd "ŠÉáewÊõ§?£•cÐrcAàv‰† i_F6Qa°7yïŠ&QìR%d/BVã|½±HéQÖ=¦y›{¶»·³¸÷ºpŒoš¼ÏÁ)0Fx+2Ùz«"'ÿn´yÒGl:›uÕyœ>о´Û˜è¼±U”$¯59øÎ–ªhoá—UÞü F ‡œ|y'3Ò¡À Cî-šh_WHåªÁÉ´çÓT7M÷äôQäØÏò_…GO£[á€åz(ñj%lÜ1ö©%…2ÇãÇ×âäÍ\N»­úV«7Ã÷@YíJÍáË×yH£¥…Ý<ÎQÑöTÍX÷‡1òÔ¡lV4Óß®Œfayp>c ° Ù½ùüó¦@ã ´õÿ7xíBR›,wexÆïÄÁÚ Åæ#ßñ¡dDÈå+‹p0LÚòúü@`aKšèÝ‚Â$Sºï’¹Ér¶fp‘Ñß9¡â+*¬ì•ç¸'HaXŠüý+2=É`<÷¦Ù¿õ02½ê´f¦ö(åd[Ð…/§³±&ƒiX¬P¯ˆ=.ŽÂQâîJø#9T["œdCG=©Wÿ);;ˆ—•Ô‰m»=Zàæèâh(÷W<ßcšÉ>çh” iìÚp¥ºea÷ˆYm (k‘9[9\Wyù)oß?v© º@¹\IfkÒ ’Ðfo¿Û\ꪂúBù÷ÕÃb÷ZF³à‚{ £ý¢r³‚ÂY@{,›¢¹BÄÚ›·B[>ZL€¶B'ò.¶4¿[}uí”fŠqS`«=æ-~;Õá®M5¨8¬¡H¤½0´´‘Úü¦¤¹Þ9Å ~×] ÉÃÇ7#6$ÍRÚ‚/æl|bzh&…‹¾~Tpö2ÍéïÑ ÞÉ»0t®`'¬„J$èÚj*|1¸“yÆÙ$BQoíY9²ê2ðäÉ E¨ð䥠m¾ ©ž\G¥d++3ܸ¬Žäš‰¦’“ùÊnž²b• wWù# Sè.ª~¤ë1’¡¦$•/-vìvHÒëoïÖî¼ø{•Û+óÙÌU2Õ«é•T鄱•)§¼½œØäPm„tÃîÝŸæëTpƒý=)Ûr‰€„o(“¾î_œE# 'à/l¦€h—öão´#²nµõ¢V³ lW€ÎéˆH¸¥&I !JØÑ'YØŒ)v_ªè#¦’ÉwN‰ºZ§ÄÕ9ùRê”àM`a‰õZCßÓ7"ú¯º/¸èþÐÂ;è\o#T=å^?þˆÛkšë˜¢W¦„œáҵڭ ÿ¬gª¶Cô±ôâãÖ˜Š v1‡NðÍ\ ¾šy«OÍÆ˜RMòªêWâqs3.(ް ÉF;’Ïö{§—@¸×;,QާÿtF®lSÉ~>Òúš …Ô…”j·¡TêÈò&‹ôýg;ó·ÏÙ@òÅP#©/J¸»£Ùa½ðÖÊ<èï¡ó˜Dþt‡Gå|\óïü?ŸÃKjù¬•œ”ðIœWÌB~Kð’%¶ÅP|ª(ršI{?P!~¤Þ–1W ¹€Ã "í¿ñÒ¢ò^m‡8ž®ñàÓÜìx"”wûL‘Œ&lÃ_N¶N ݧۃ÷ͺk™É`Bnj+b?pRØs ‡è܉=oF‘à(Y“*Ï)LX3“1\ùzShDƒ1³ûWwÎÒ¸àþæ·+>,ÉÌõÈÂKÁ·c™óìî@êø˜“Ô‰–èM—l)å™0®u< þœï’£w dµù}h{O}±^æIüÇahÝQ`ûÕr«Ê«¾é¾Z¤\’’–€­|:/4(<ù³öÔ>Ì=½wlã5õLðìõÈ;xûM6‡¨<˜o˜3I?m§^è¼éR‘þ ÒãŽgBt,J6>È©{3I×’X²q¸Z¥A}…ìá¨@ë —CçÜ5:Á¬.Sƒ×3Ø{Fûa–“¯G™æ„áÕfup Òù–û5²„j Û4üC9à夛60‹&ûwób„GÄ‹õ¼þ1±Ž 2ºû¤ÔxzVPZLN»‡.«`qAbý¡²ª ®$oŠ¿è l¸b¦C¹Û sž8h%Å^ÃTÓŸ›°èɺÖY[";¢C‰ˆïÞïiäÅ!˜…ý<]ŽnÉùŸãd&É¡ÊxêÒ¹ùK¦¸ûy¨ÿ…¶ÿ¨ÌÓº à‹&lÎÁlo†"-¸Žoú5{-Y„¶RÇlëÒQ)ÑÝ@Àj¬6Ò‚¼\–'õÒ÷mÉs×Ô‚£qúTZ·K±&90ÓKzÏ`¢Æ .Oü×"ß<+—*5Ï–S òTç?W¥ÌMp”DCÂa¨×*I¿abn|zL©ÅƒVëÓ*ê~²Ï½õÒ®ÿu´¦ÕÖ<(¡QE Î§ýøIOù[ ‹Ä‰:±áAóW)ŽéÆX¯D©~·†ÄmZ·º­u€Å»Àе±ê·‚ëþKÇ£&Ý2² Ô ûh)Åa¾ÚÑ Ýh-§ #3`âpB¡W\¤—E ò@Óıúg®8âôƒöÆô/µP|%I:Þ8yÇ"JËN @ñ~o5om“ÎeO–ÇíÐh(‹§U.é˜äWšë¢ ™bå?¹Êˆk½†]}exœRˆ”¡µŠc†ä«°×èÊÙÜa;=[V]~kÙ¸Èæ @`dõ:6pšþ[…íŒ8ÑËéÝ‘¥ù>žÊL˜ð馥+ íâä2º F?NÐ ‘Ãé¨)Æ_·‡&Oa‹êÔY`ý”±ÉR³¯Ñ›'Îß¿âÎNž©ó@cßh°±v)@½‚JUO½:¾»—ÜØxgU¸4ȦܛÎ÷«ËD¨2q3PHC](XõÆWÔ³º éQÎý ç°€òQXLÏ6)®#O¯FR+r½À–R1 ¯%~82 áØmR uß<Üùæ­rÐwJpò1E:+-ø·4³µÙ?1?©qª @™<°ówWùS¦’;E((v7;D¤.r×ë_шˆ³¯VF~¹yÐø‘Fc&tpjª’}Šfl8SGø¯¶½„G¨2ÚašwùFÒìkÝH$þ(¯¦êVëdkÀ…5Çì[ÑÐѦ&0"$E‰"¦‚¨t¸ëó£²?nU»–f)\›2ƒB1Ve,„‡šËzFÑ–·«Í¦œà)yîÉþ¹må,›ø{0,‹Ýöt›Ò.ÑceC£Ù7c’V¼ö¾¸¢®­9æwGx<\o^í•Fìÿn6.²-¾øäŠ®X*‰Éì¶ý¬V_VÚ¨!kbÀþÂ#gâƤXòþÂ^˲>®ïûÔ4ß‘ c¹3ès;OÚ´´ ÒÒæ;zziˆFdº }›äÙ-:î„õˆATnÕ¬Û2­ .Š-NÓ.„€±|vS$ðG-@ÿH˜·š8ãYÌ”Q~籓½ä“ÿ€)ÿƒ¬.¨ ßû(³-ÞˆŽÃÆ{¸{b:cÜõüõ@úÃ?¼ÓÅZÛ«}Óµ¬ÙøÆ|ô„VàÔêw¹}dSY®‚•‹Å~Ó@ÄýW(aAx=l)áêÇÓüÑ`X*‹H¼•:‚E-#ú{+špŠÃð“ÉÿvcÌ à¡Ç­2©I¾ÿYç/‹º<êÎÏz ‡V ˜/ñaÅK¶õ"[æ?·ä26!Ͻwéó‰÷»¹gÀò'Ìøæ?ßÿ#OºÊJh.±³ûì®%u_ñ .TËü¶Œyf…ç‰'^ØühŠf=ÂúeK ÷°bpÿ Ïg¨¯^£='æâÆ\¡_ºÉj;ÂÝ)Vó‡¿aŽžš›Ör.ÍY=CÃ(¨ìµð½Ù¸¯póñZj…g‡g°L˜µBIÍ>Ñü ïZn«˜!4÷”I¦B=-ÿ¡àSÐQáwJzd-ç8=Ùön9HðRHŸÀi°ºrËà8ªÄ¿f ¦­³iõ¼±„âÔÊ`fr_ý9°Ö• )3 °¸y{"›è$×@HTÇ)¹ä÷Åæ1QÛ&[vüZÒa!¤ü®êd÷|€¥^_£á<ò·)ƒvvLí³ Çoµò‚º“+äòC‹ ¬Ty1«DYø)°j©Þ£ÿ¾÷@n®ßñº™ês_71_ã 8j¶ÛHi†-Eús1ã¥Ò î¨ •¬ñHøØ=ž¾ ®ñÞÜæ¶Fe‘²bÄQ)ðߘ5Êuy,*øwŸ%R„Ýèî‘õTKÜø6êhÁÌÉüÂf¹”Z5p¤Ù×ÓàõkQÕ™zººÖ0Ûæð`¿oÁÌxVrƒF´Âª‘°Sæ,¾S„gkƒ\¨6Wè’Õ&(À?pQT£ž–äÜyÍFއ#ª‘šˆ Ÿ:’vçð#ëذ"ixÊ$ãæ{“ø$ÙŠÿ× z"¯Ogå2>” jô¬:Ö\”Ô¹dâ=SwÕrºî ÛèYÛæ,Ÿª‰¦¢°#š‘ÀäÈœ‚Ãxá–º‡Õöúfðcä6¬ÐÜÆþRh-cÛ¤>Í(ˆdL\­”—µà+ŒŒpB{¦¨ß)«|udwªqýŠ·PWBÐËÿc:Û,è F¢ïÆqyAÚ¡*bŠýñ3Š ;›÷˜€£~SQ0ÙŸòå”é4Í͋̈́Eì žPêM%ÿEÙÏh)-øöˆmßÐ6yzX.u¶6›BŒ[fò5éì,g‚üº‘Ó¥m )UB÷Ž/ÌU¢Ê%‹^éE0Hý–cÄû*v—Ѩ–²"r2W´Áв­K¬¢àˆuªI„H£'U»{fkn^¯Xtdše±^wGÛ§°•’£(VJ«3Qã“.4.»ÃÂ"šÄ, íháËÄ¥»üÖ™:ì,"í­hÅKvåud~4uŸ¿·3gÓu >ÑaÛÇоA…ÇšÇÁh·ƒKŒŒ1´‡z M+Ä×éüsˆƒÄ‹]ŠøÐÖ~ÓÓ{Õ4ÛyEFÏI›Êų̀ K( ¿_ó" õfñ[gÃ̃£o­^NwD {ŒÁ ý[aç&-!F™g®äaáæÑ™]™qù%÷+Úô%™oȈã®Õ,=ôzv‚V•Ça€Ãùð,™‰eó‚ÒBqšÛ­AáV8‹ÿ6$ ï9Hló+TÂUür®—ÆËµ³\®YMÄžoû,›oEÒN¹Ã¸s÷Ü©¦y®bJ#¹œÞØÛ›æoz;¸‘VŽö—‡ýkg––u“›lÅè J›`³éøç.«_—uüšç[úÚÌkÛ);Ó¹”"­Õ¸\@ÀïPœØ‡ƒüµîäDˆ©d—I-;ïdÁ€fÃÔf“#Õ‰DQú·¬-"Ѩ0ÅËoGSNMÏÖÅuQ^iØ £ez/tf¤èþî·ÜÆJ,LãQq-&ò½¢IòA4³3óšZúüF/²ð7A±˜Ù@ÎÇ Ž´RF˜u¶ˆH“gTµÐèµßB«ÄÉuÄj„¡f»/¿ÔÛƒ½g~[^傈VK¢®ä`ãJk…¨’ƒ|.;D1íF =Q2|hrÉ9œÏx®Ë¶L¢ø^ùìñ•8àa¨— 3 š4n‚Ž„´ÁòÿP1s«’ÊFòfEžŒ>Å^Ø[¿©CÙš;zv ªËjÊ:)´²¨Ïa±W T*DÆýØ„ÚÔiXå7ªIªŽÝƒ½™zä=½Îˆv%Θe«s3¿áxŠ^߉‚iºx“ÛcÉðoßÖm“G ^´¼ÓŠ!DÀw BÉœ@SµLÕc{š %úCžàVÌ.:ÿØC¼Ošz!e¸i7ÂÝK´–šc]lÜ£lå$ÂxæÆÆxÏÇq·¤¯2—f>Y@ÓÒÊzsõkv(ŽÕJe©>ÎÕÉ}õò`µO(↽¡VaógS„6¢s­i'7·I‚áÙMM  ³ÁZ6Œ’ ',˜ˆþ{r£¡f.ª—Pòé¢+†?Ÿäk…ÔÚ,îÀdI™>ÿIûʪÅN£„{—ÚZnZŒÌýÍåwrIîû46{tú?ßø±eáÇUà‚šÿ‡±XŽðñ¿¼Ê¿@Ä­Y^Õ!QÒºáÉOý•R<2“GåˆØ¾æ*zQv'ÀM¦ÿ 5”â“üóÙÆìJ‰8$Çɹ½1IT0”TÇ4åá Ú/åüàkiÇrQÐŒІ¨Á*Šæî‘Ù0´ØÃ!{"ža77[ªû Å®¦d-Pkžé; 3kd)ž›¨t#ÁòåKÔ W»-ÕúÛS ú¬óàˆ‡ž)ò7_ètÔß°­04B[ಗ^¾U¬Ë`g¸Ô7"‚#êôª]èwÓé5ù„±=7‡µ åéÐî_[DiXŒ’«Ž¶2³¤Lç®®õA-ú/F¹ÊuþFÚC%Ç·n91’ÇÇÆÚi¨‰x@ýü\[ìx·ê¶ãQ¥)7lÔ7NDõ_<ªA¢ƒ‹A³>ìk×äiæíŽÈUÚ9ÍÂÃ6ZII‘DÛKŠ",˦L²–ÌÀ8 ˜ç\=B !´ù‡¶.…mx6„Êæüvv‹÷‡" ‰¨n’M·^awsе¢Ù˜]1Ÿ‹®"ƒWâE1˜æ X)úGë'±ù‚VF.TÛ†Ãõ â Weu³0šU9W› þ\‹¼w:sfŽéDªÐS`l­bàÁj©æóÕ»° {°pJâ(OU¨@°èî;¼Äžíh̬• k*"Ùú,khALЧZ6z¯Š>Ð|jí 5¥‡!% 1húþÑ)á'®Ë»Á%°çŸY*Ý…Ã?žA—üÔÈ_‘^hw‘‡ýÆé]!–+Gž|Æ®;ä%go?íÎ…Œ–ýÚz4ewŽ®ðúR: ÂÆ#Þª^Nå\wŠn£ñjb~Pôðþ/øLØfãUÛ󜌳p÷¨áñ H-ó‡L,n,1¤´ϲIG·^€…˜ŸƒÿÕCàêùVòRv÷ª'­°qD}]ðnZbŸ›±ˆ_hÓæS˜±~#:§6‹–þL78 nÉÔ“«ÞÈ¢úxÐao*¤«€„f´&º¾*E0O­oŸEXdS;Ò†y &Nå‡þæI \·É™S^¶ûÉ•¢`êû$xæ«`\7ó¬*ŸÚ[4ÁyfµƒÆ™ºÃJ' n%íDÅæ‘s³ExÓ½ ²Éawß#õÖþ¿`»³21þ‚[]©q­à6Z /­vJÏ2òÔÑYàH:‚Ž€]âã*/ë­©{ö!éõÇ)Ðñèl.ÁÉ”]ôºY ·Dá/CÀ¸9Ëàá€Y“Ss –E€‰×w2zêþ=°”Q•wÂ2ýVßÜ…#Ä«M1góMߤèî:®îz¥= —˜9RB½¸" sìEÿŒ^#Iòù³Ïê‹ÄøÃÒ4æVÒI%—5|SAp5—C§zs°K}Á°³7ÉÐzÃò0&XŠfAN‘¡-1à©)f_{ r!½[ò>!Çh,¦× xªÔÎ~tjñÿÍþ8¸Æ}]úM-™r¯–ï8>顾 m ô².@èËð”îm­²…l5l"Âãó.Óã/]"çeD?ï¿ =vIÞ’ÆË©îß®‹Gƒ§â+@0‹MImƒš€+ý7âH…¥1²*ƒmú}š“2Ñü¢Ìñºÿ×.ŸìÙÏ"¼ÊpŒÅíîpŨ÷ÝXÆ]Ï“è{¡fß?]pÓäu‹ƒFœv¡âçNéÑaÇÓv2šïlQ=[½=¥uјóî®Kæ9¹~ÎÞF½0“ï}>³`-ôíDò+M–Ç,ð×µ›i]*šë©(ÉT·¹mÔÃ}ÿâè†Ìe1«õ ¬¢oàû¡¯™2—|B•d¸aYߌÕýZtºHåñayI©³^NÏì¿2õv«ÉñAÌódÆÁ¢Ûø@Hª@yÿ‹šÅKªtq”.Æõ MÕ#©Ó*n¸ïbQÄ¡/šõÚ;ñ5ðÅÊÐ}EiË1H*²–¼Ðxêš4Ð䃥²³-1úGÃÎ>G–²Þá*±Pna¹„R&‚þ"Õ# îÈáDà5íuê¯{³ÉŸ8à[:ùÖ3øAÞ·{}¬TJƒ¬b¿TV ;ü[´zO¡fm=5Ì&)5ùl&ØP‰= ”9èfa(JʯޡQÑ;@¾œK—j(“†Šß•~pBGZ‘wìÒir¨×Íò%Å2¹JåL+äf£×o£ü%á$ëÐ?Zk¼Œ¼·$ÿÃh¹R^6ÅË…;Ý2ãÏËÕ©Xv ô Pè 9ê´¦²Dž5³ /«©a!ñv=‘Ð;6iÃr˜^¾üÀ”AÑTÞj¼§Û»Ñ>„“¸Ïè¶NK¼‹Ú|8™‡‘µjg‰iG9ó”ÜV¨Ø^]n°¡©“ôÈÖ× rÙ¼k; TˆÁzǺsª1Z¨àV•pí½Z3xÐ,±_¨@ÄŽHj»EŠ©T/ÑÕtí2HÙ_:}¢-åíYí!ƇŠåÜ™Ôý“8‡Ng‹ÓtN·øiû‰THˉÉ>‘^ÀãóGm<µÅ.}S(:Õc9)'éÅñš ôà•f-÷ŽxòQŸŒ)¼.= nÔrÙ¨™ÉK†Õ¤û¢#Ù꽡±¯3Ê hA&~ ›\ð…\š†7FQl¸®«SüPy‡—óåWRbzÅÓ#RÖt',YšØÜn×·èïsuá '$ KädE¬À]žÃ>•¾ßS–Cš»`´ '\F´_`F®¢¹0 Óä±vqàdâ€^1UÕø/åÐíR¡öIRäó¦ Hu‚Gxj„ÔæQÜÍ!q äìFƒ+ ªN«’Y€úœÙ dÎ'#ÀKÀ°¨Ë–5ÓâxËןY™ÒÇ15w €ÂaÜTœò³))ÂØh™æU`¬1u×Rô¨ÕôÎëgC" uõy$–y÷üë<æ´¹x/r}…¦~ñ‹ã÷ƈú£6€;Ñ"µêÑLŠ T1|¨8]쥀7orì…&®ƒ©TsDÜʯZ9µþŲ¬Ö ·Ó,a7S'´ÿ-²„5¶vÆôžûz"‹[Ý<O.ª# ÄU±wH•,à¢ar«6(˜î’°GôFèšXûÂ<ˆÃFO \¡R¦¢;“.íV›BŒf?¼×†ÉNòk(t–Ÿ]ž½ôoú¢Oµ±Âé¼sz(™pÇñé›?eŒ«ê ¹¼¬8w1‚)Sš,D¥Ç~µŒŠšÀÒÓõ¦·JÑi ¶6 @ƒ†'äÃç[¹¿Š1 %út’—í˜=šÉ:m# 2322•a4çö̶ÄÐá#콇pe\T§Åù!{”ÄTù1XŽ»Ëµ^3ÄIŠÿߦce-©çÞÙF¾û‘ô"Å?÷ÇÕ…Ó-ïog¡ |¯³ øï¶]9ϔǗ¿Ìä}psÓg[ä«ä<ÑjÙ˜ó'ïºúà±/ú#.äÒäaI%¨kÆ™`êÍ¢zû¹2ý²Vsì^—/PÄ,c 5?Û³ýœ=¼ Bk×Ú%s¯ÊXUq¤šEõÓzËê#ƒ+ÉNYäJyšhýrNžAùùV°?Ï9ˆ[æëËÎÛP\¦5ˆ7Òxá5Io¼ÿ ‘+!ÓÒY`-%vµ­!O\Út²÷3Ú~O'Kw¸/läÿPRmŽîqºÕI‰Ók2”ÝIëZõÏQëg—•Z¡a=Ô}ëÜôX˜•¼;0HÁS6Xîù«IÅ3¸ŒeÏÉa7Êà,òyƒA,±˜D¬µ¦M<“É4˜3hÚ’ákœYè«»qF¹Sì±1ÞN-]•57©#xz%)±$Z× !µDc ïyúø*@ç] ™[Ukû˃yÔ`P”+‚O½j³èÔ]¹†Ð³]‘¥HÝùW³Ä¦—W5f4 ¹QO§N¡‹¶B³´ÒIjA˲ƒ'ìÅê¬i‹µ|N´ë¼0æ§.ð"–ÕÄî®*©!õÐßÙ ''A¸=¼Ü±ÂÍÅOÆ? ³O,ŒÏ(ñ¤±dLwÂwño²s™¼h0Ù÷Œ¿_{öÍG‘Ë£#¼ð+NF}Ôq3*õM0"´Îq:aý¬#Œ1: ~Èà§Ùä^Éo´l…";•%/S/PNrÀ´½ËÝeoŽOI«¹rBÛpÓ­E$r耋Rá?#û¶=Å‹ÍÒ­š¸ïñ¢Dô-ú¥ÍÒÆ1äolý¾£nÎU”Smùm|„ s%Þ?ÌÛ–.ÎL1?À fyÚÎBpƒ¥Þ–™ìÍ‹ý91.fëÿË÷ž;ý|Ê“¶ Èì¦GÝ¢/Öz©8w]P4ª9 AKÏdô7IªÆWyîþ9‹‚’ØU׌‚û¸X•; ü¹méNíǦ蠗›×7 bqŸØÊ_ºQ_έ’¥ˆ%x$6•MåÖ­ t…£óGúì‘ÝæcèÐ9KµEH~s)1ÓQU§/c¸L‡ÜÑ׿Nó¶-™‚)IIÕL†i-‘m²žoÝÞÐÍÂON‚~:AÊð,Æ$u3µö’ä¾7¨í•múIéâQ2îãy ŽÌ‘a’”VÒÍÚîÁºð+ÒÉqx…æbÖ¥BãE@i›îwiÙ„s_G–§!&ØçXˆÜq=[Ùe&,%ì ®·˜ù45!(‚S%ñø¿aUG²#H|çX¯‰èb ªø˜ u£á<žÄJuRC1Ÿ†$õ×7f‘q@lªŒ×ÙYÞŠ­sÛƒ ùÔ¨B <þÍåø«ræ…4ææIBqü‡1~[gÕ)oþbJ¾ÁÌ#!• ;ª‘øï@PvM8Ûò†ò´”MmÕ¯ˆÄu— ©µ]È7ˆvœ¹aÁtu¦40fVlã@áxW+¼ÕL†Á“»Š\$Ù~Șê†Úó¯å£r¬_ªKÎŽ7S¬JÍÖ‚—ŽÑ +äb(ÊsKžÝoKY²+Ôøm û!¢ ¹Ü1]ÉòfaÔµÕU¡ûŸí¥=´‘PRß$xr–ÕѾ()ÉL0Ü?‹=ÊŽ¢½Ø ^íSŒü*Üz•HsDúöS~)DóX&¯õÛ@T/ »O³´|¤Þ±³Aí>žÀÊÁ¶Ôì èïïy—´«ûöÍ»£¼›H»dúìn¨jóÒµé»êçß ß~òç‹äîD3-î¿þ¦‘§ttþœ$‘ZÝÏ]…ët0IŒÔb;Pè«Ï¥ðö¼…é~!°˜—7äYv°ëôˆ…¾¶ì—³ÌÄ­ª[›vfè*£µ5yúÙVx§±³s„×Ò^ÑÜÑ«^Lš <,ç÷!…X*3‹°&âשÐßJñ7Ýî¾ë5M•ôÃ~ÿ˜±PH\ŠÆ¡ú ï@¯{óݪŸepn]+½5˜ùBºçÍúU1ì«\m==ØDjÕÅÿôãß|ƒï©îæm‘ø%é VO´ÂÑX)트®xÔû<êŒÊ NªOï‚kCZ¥Ã7 ¨5rŒ‡;u„zúvžúe'‰Þê0at&¨…“f¬äúV&A0̾N>í¬åOíF G þ4YÇpG%P“ô7Ö ²J[Tjð ÿ ²®k(aAE;áxuý~SLñ€F%/´y‡I-¼´\„¸­S¥u] FŸ€é+O î 䂉M«Fù<ÐÃËðUqcÙ§ û‹è7ð-@>Áσc»g4(EgHè6ÿ^xht¢$•¦sùÌÁ#ñYPúí9k E%€¼lê\šWÍ,»X-”{wcý2íÑÈHwt(óPñzqF„Ì|Âe.bBH‡É¡‹¬˜;Ês!±u”#LñQùÉ.Wž' ³ÕÅae‚(ö6XA¨Ð4œí©˜‚i­í_<™?]q$™rW÷ô/bªª‚E9éøtž×Än>YÅCð\Æ8¬« Id@fù78« ÷3®VˆyI’Õ‰<6‚ÂØÏ2o†#Ù»k“³Ë±xX?E¾J›_Cuô‚ô½ÃlU+Ê×R|5ÁdלDS„[î«K\Ô‰09™XTWoL‹ãũഓi±è8Û9êq—ç<&éMÄ¥J9–ºŸÞC*æn΄¥8&HT´HH¸QIIw}o&ÞiÊ%•Ç—Ÿo@x¢ãjªÞÑæ+"A±I±S,˜ÑÂ…àÆÑô²û¨¹ùÅÔD|Ή®ˆðØ¿C§|¬Õ}¥ö AœŠ“I-X¡+¢ü•Ê•œè †@Æ@hBäWÓ3ßöóöE<„¬&Y4îÁ £Ê²ô¶Ì,”æ)3½úɇÎÅÖ&³Yò 8TÉüs°=äÏU¤5JTÑäDKU¾¨l¢µbbkßPB# ¿Ó-Sꨎ=Wøä—Å3¹‚I~¼âjüvEóÝ Ë²X9ç5c÷¼AÇWGŸÁ¤I×2¸nê ¤@òûçEþAè”OÒ´¹cg¬É´kÀAœÌš€DWT}ä}·›3òS¨Ó€”ë,Þí  5N±#(*ÀÃiÙö˜WöÚ1ò å ÷Í4þÒXWÙoÈìdðß=n]¨DŠØWùßÐk! b…FP5AØ‚¥ë²Ò]‚gtBœ_K¥TôOà ·¸ì³Wi ç¾°äÚ yÒqgiXðcI“y9—¡åª$’#:?.#}ôŽõDŽO€Â8•pXë ËñêÂøž‹ÏXJ†$ªÐÉ–AùL:+ík…`ŒÞ8_§A:(Ö”uDhß%›§Ù‘0Áž¶–5eH”þNÔ î–W&ØÖ¤8€îà \ÁÉBͨ›88mÒÑ®Åg¢käc&1SÛhåméV;s·X[åVu:TßÑèd‹¢Ì.\ùåÁBþÝΗUátŸYLWWEåîT$ŸR}þÁ¼è­ïZ¯_$舂Ä9týgX$rÊ-?]ž;³1QJŠ-ð£ÆQ¿¹Ê¢Âæà¢v¹~`v°Ìœ è’ó’¦@—, =Þb˜1³I¦é]¨¿«HÝquÛ¾BW\½LìE<-°\$6 ÄàÜ>l5Ž?¡—dìwÌujú s‰¤–J¬¥ZNö‹Ì僗ýðÙ«°¹ƒ_Ü ( è×^[¾B'·¿8Ô¦Z 7 C?Xpç6¥#¾ }C&Õ K? h²8 í¦ôºMÐY«q ul%ZlƒbOgÊ`u˜mÂ;µÊºë’}öƒç«ˆØFhÓËûäûì¸IŸwÅÞœT¡`›/üÈÉÈ[,¶½xo}Çíjºm_Ùð†k)µµKzþj²†XCõãõfd­.$5£Ù?ƒ‡—ƸŒT3X»Œ£XjJ’—ÏqìÍÍ/=j”ÿkn8â¨o7bw‹yµjÿÓ‘³æ¹“„ÀÂ샾–<Î]ö¯°â¿@$FmH½‚‚ˆ'‚‡OðÈÇB˜¡ý0¼rXß¿mðˆ¯H ׸‰×°ðúÞ*LÝ{âÐåù'VaÆAð*ü@ýÐøP™Dõ|‚›MvlJŸ5sàñòÕ£$ˆ\ðªåiøÀ6æ”4pé¦ÏÁŠ–•¯H[¨+Îy.½åì ²,2ùU}ÂÃ2é‹(ÙO^¥«ËÀš #,1*ZœáÛVŒ´ÈBß‹ç¡ qࢦ» ÆÚBÁ®TcjmRÏçÙ¬"‚„0â,ü—{1ûïnÅ]Ô›P»]p£¡ÈÊà]½¢ÞcTó›ïi¢@ EÿÂÞ³¡s³®à —àøÔßÑjÒÀ˜²Á`Á¹™·ùÃËá‹åw²5šçÂ9ZbP¯÷¯ž¸fïÿH¬!ë“â—ýòs˜çußç+½¶ùE ¯É¨øÏ°˜qÀ¸,¸lñE\…*O(?ç$æïðÔ\æßž–(öée@ƒKDêf ÀÈ+8 Ý~3ž– ÄêZ¬B“[„ZàR޽„ãLtÛŽ{`YȈ{Vƒêà±ÒŽç#ÃWämÿy…ü“âÎRѬçm‡'©náê2*ô©'ø âÂW«V†ÄY?ß Q.ù¢`âiä^Úß“±÷{4ßÑ{Iß WX½ÝÂÔ÷ucƒ±<–7ê>Ç~kìý=nÓlÑðf«ÊÔ3E®Ö×Ó&|ºŒçÐ÷ƒ¢#Hª©°ñË9ò­Ž4b«š¡ÌD$ùu®‡Ù)Z‘3üÍOqÙO΋ï°ôѨ† Ìo½Ð£i°1>€…Û…ÐË¢i ƒ—¥Þ[ö} Ú¿{3qÏþ>#^˜WCƒ¢Ò‘EÆï¤ú\ž_J{@g— ¼^;¹“÷°Ufû6IqšÃæ6o%œÁÖãÈ3†{XìWµš k'‚TÜï]`ÆlN\›X½ÕD×»Rl[g!¬m‡éoÒS0Øâª _*"Z¬ðZŸŒ;ßË‹÷+µ2ÜA‘'Lqæ‹AI_ÃOÂÉ?¢¿S—vÇÀWÛ>‰‰MÏRúÅ þÅó(ÿ5r:ú"kH¬ŒÞ> ¨D¡kØ>T!¸ÄòÜgÛ>„>2¥‰^ºá=`È_.vÜãSº^)Äÿcr P Ôˉ¿çÝAdÕnmÒìd¡0ƒ‰Y `ü9@5ž1ÌðhÎ"#Ø ž¥—[ Igs%߈ܛ3!°JÌ_@·ž5ß§"•qvaPîá;k¥t÷Ám¨þ™c"~Œy'(9Èl©pj‹ÇÈô/YÐ0Šr;n©]àyŠ1ÆNÌgÍÏÂÛTÉ8ƒcæJÇy˜ø‚ãêØêóß+âMM»¾˜WÍÁñ3 ó#šjaq î®Ö†ÎdÅC>I:fŠeÉÂúíµÊ Íf~ võs8‘¼Ø™HWÄD]ô{DêHû/ÓÐh 9%—«ØP>xSMf¦˜ÔlÖgÍü{ iûÍõÿ­Ú¸à©ÈŽ>³~oÎ×wèØÙƒç/µ#Úm–N„4å>”èaÂRw§±wÞ¶„¥3N}¾‰±L%_™@ýYÒ^v‹F˜BRúõª}®Ï•B ^Åw,œ² ›€fwLËc¬v–0]®°ËôŠ|«À´#éF¿×tÏSÔÆÇ;§]x¬Ú-ùÉ>îÂx¶'øù³ÛQÙëØ7'&CÒ¡8¯²efÊñ®¯]ЏÅ8×Ë`fï䦋-é—žZŠÍ­Kcn¿”|ìÃ¥A®Ñ\QÙ}åksˆÖŠT–rAú=ª^±Ìj"M¬K'Ã|†óçƒî×K•Hwl ‡,Ùwhãf«¶su0­2QR¥“IÐê6RŽåtôu÷$îÜD‚Rð %û4ÂuôϵZ{&’ã¶7g³ª{ö‚/ü›ù#DõElå¢ ~Š)ÜošJ…ÙŒjÒuKõÑëòè?Þ¿½:ã¶‚ ^½µ-» ·Ï=úøGÀ:É‹ÊÁ?N{ýI“4ŒÜR€Rè+ö|ª¦Ãp#(þvrÒ·– í*¤†Õºº£4’È7ãaªàéY0ÈþâB¶"C¥K¤¾ñXaÓ–ùÙ'ÊÂ5*V­qŒÆèΞaLþíÙKbõ5¦ÈÅÁ&M¹Œ æm–Ñ^;½Rt\[OwøÁ~GØää”mY³z E”Åf“µ6E~Vư{|Æ+®Æ£v¹½ñù§„èõgd e?ÛUAÈY5¡,,Ùe™Æ{uŒì™}B‘&K©†½k›°ZQ~ÍNk­*xU+„®0I²ÙÆcв “.:yË{ۤȃXÔ(¦ûEõB¨‡ºêL1Èh„;NK$®îå]ñóì4Ðç %k\¬r\[OV ±ZН8Ð×§²ZTnÆàÔs¦ $!ƒ²³—׫m$SÛ¼ì’Yú–5Ž9ñƒóË åVÇ×kw–¥ÜóŒEÛ§¹P ÿÊÏá¤ý˜Ö×ÊÜŠ1Îßzûäuã?Î_E}`\á?¤ê·í±¤öÐ’:${o¢ùjzçu@ÞÒ´¸¨X˜ìÎúÿÒ uÛ‘ò>‰öÞ¿(¾’hX÷$tïb—qÊCõ‚ί†oÓËÁ´ ŦÑ4~Â!kÃMÒ d“}=J³i¡áXÄ5­kpÅ(?h|¡$w®¼WÿPZïO…Ìi{:ñÔ9 a¢ ­T|:©ŽÖ¶Þ“]¥14ÃÎXÄt9¾3ÛIƒÑÿ«…_ù¤\`þvñ÷¬U²ZŽirƒ§•Ä¿t­–uœ'¤ÄÉDPø?-±Wä`].­øùC"ºuhVÖ·Èe…ÍMûT÷-ëT¿!+}ºËð»®IV«UÚUïéQ,ʾ6Y½EL¥£ú/‰R,ýfŒòÀ¤t} IðîY@J&1ÜBÒJ¿\v`¤¾:Åô•\÷]êG_Ç«ÖïèÃnÆ @i\+õ¬`{[³Î}NS‹ÁÁwhÍ‘÷#‚˜æ)poãë2å5óÎsG´ä‡Ùůó•ZöÔt °§›—ë B¶K®ºÊJñŸ”1OUm/ûÔÞq­3o˜Ø ç' 0ôIM-‘ß+¢~}Ið¦ØF‰ØÆØ±Z7ç#X2È6èCTJ‘9¬/…«_±»|,åÀ©áa.QáŽõ6ž;œÎë2 èÌàJÌ^GB@Œ]ùåÍ-}«’ð÷ä’ŒKþë+ƒã7õ0äÝÊi®¤/#TqxÌŠ…«$´ßÂÆòsÝÉ£‹ùÛÚ©s1ó3¨õ/ò8®`Ë;sa¥™e€s }Ú##a,”ª:(ðD|°Ó¢J½ï!sEí…¤‘ülÈýâ_›‹â¡bFÃëÚ¿etðÎv>‘øïƒÀZ}òPz‹¹?n¿’ûKÊ/ýe€ÓbÍÞ0.UÚ8Òáœxüö:;É£C²¬9cp‚åe_¼Õã¬Òl-Ѿ º¼;J­Û–~ñÉÏL#Ò•»ñÄÛOø·8di*S¼Â`*¶šÂw†`Û€¶À8 µM˜Eã,ªxG„‚`^ÉPSPdªÇë…ÉUÑiÑM.(å"}ÌØWáZÙ¬ªð7ËÈP г'ç¶\¥c3¬í¼ŒÑ'Ò¬ÛAï^Æ Ê‹¥ZKLý”aÚ•´ÔSãKtÇyуZ>ÍÄK°.7iiŠw™7eB#“—j˜B4íRûÀ¯º¨·ÖBM ÉÿMRVT¡ÈVƈ€z”±—ZüÉ|ÛTUè/%ìšaÞ ˆëázh±>êuY>ë¸ÐÑa‘¶T¬0£H–üíõ0¡Æ¡Åm @ 9öPÕâ©ÖÀ&È,rhЙőK*4ôù¿Xh–àrD " 1«Ì.MW|g¦8œ09GâÖ¤Íð[ù8cžE;eï%t¹îÁ:,¾K»ø©ÕôVÁÕQ æÇÊ!·§Áœ˜ÇËWŽ·¢ñ3Mô€üÖþ`zbá!D›YeL´£ÿÓH¹Z+Xµ¨ÿÞFð¢Õ©sÙÕ¦˜L!7˜Îükû M-6Q^áü–‹%²ãƒ€Ÿ÷I $iˆë#Šé ÕZŸíKPˆ*BŒD– ÊqNœ~@M½£%hýÙßáP,ûO{!×bþé]ª¬½Êš£Ù]é¸aÑf>¢©Lè8ÕG·ìÀ¡÷è—¼ØYŠ©™º­ÎÓ®;Ãá÷õª_ áuø{~ÐÕ¢]–“9y­åŦrâ!§u(27í‘|$sÀþk0m ³:‚ßÉd%»,(¯@ØØ$0ŸW0ð×FxIzr~àO\ÚÑUQݱɻà 9ØÌ–² H !ö Réüï*º8 < ¦uèP«Ìy$§‡Ëð°y¯ðnäüØ_we݃³¨$:r›ý’ÌW0ž Íõ9wSç¢ãZ™ÃRi ¸éä«¥Ei’®Å ­€³¸R®%"¶'Y>çr•ý®T;mH l]Ü6þƒUFQ‘ùŒÑ¶–7;_dK‹SsЀ@73DvžñâÊŠ$):êJ ÕГö¥”]ùÑ ÌóÂ+¢·u6=qÿs Q"‡ºÐèq®‘G$í8“߇öŒ§SŠ_Vžœ]^3è ÂØ\ØóW÷t¹¤Ò¨ˆ†È'iîÏ®¯40§ÔXàx £;¦=¡í.Ü€Éüö¡dêMCM҉𽡵"îž‘T¬s:9\sÜE'Ï´V WÍåMhùâ NJH½³R]ÑCT ¡=a9&L¼lõ1™>7WŽú³•§ñ!þŸÒ&[}ã±ã ‡Ââ»HÕKD³Àƒ—€¼t’=B Á¾%\½{k›¿{•þ(Ûëbi'Þâõy].çBÔ¡7æ¶G1š=F¬Ô˜TEû¨ÊÀKa*…ýéÓ°—¸ªÐ…ÿ¶Ô|º9E"¸õÇû1œœF3U‘ëwo‘¨573’¸égfj.ðØ ]â̤^êèº]Í Òº?Ô”€Ý=—µÎÅoU€ŠH*P16Òi±hXñœGõr ¹€ÑyN!„=JH¸µ*ß‹9 mög©œ)-iŠûÐtÂ‰ŽˆU…»tªmh°~ùø_§pÊXõJª2'ƒœ^â~qϤwÔɃ„ÐUÂ@|ÇýzÊê¼pßQ)è]kïwÐ úÄpOm·ñƒ™_âu÷ƶxÛÁÀƒ#`4˜Îåzf ÏEŒA@Ž–™B—n|ÖÆ[QJ'7mîçÙ‹ÙD%Ï¿c¹ËÕ¨Im7H.·aÙÃÆ<Ÿ]J“H?ê;EO?ϧh×!»í{„/;ùÔ´y^jជ‚Ð^ßâUŠÒ–ˆv–-a œ%¢Ç¼ ˆŒÌÎkŠbšåôÑ-I&‚A:ôâcÜf.3~Iï©ÁE’:2ËAÒ}–¡­t]ÓÜá‹â—ù½¼æpöþ:ZèÇ)ªJ"LÀ}Áª¨Ö™±Ú#'Èv\·xHòEÙ7$gerÝ/,oo´ž¢@ˆLGC&–o|ô"ö´á"мPL.ZvIÚÒ#ìž 'ëÅpHóLýP V·wh§^òO«ïìÇ›nÏU¨±ø ©‘˜EŽjTöçìè„oöÆ-P,м\$ˆÓú³A¶*½#ÍjMS˜‚ö¦–§€ØÚþC•.ÙGäµ°C†òŸuÒë€ú…ÌÚ9ì"Ëëå\¡Ö—–P©hÕƒåã4h )ÄQqŸÒ‡ò ¬rO«ö“ÂJ‘õ\-;ªÌ¸ºÅI?´\J·^g±É$^äqKÌ3÷ÊJ ‘#ìзʹÈ’ÇfÈn­¯ZOz+ÓFª¼¢ã²ô@Rº*mua&1ˆ³êZ¯¦cIךl/¾li5i—Û­ú©®þ‰/ëT.&á¦ÀàŸÍSŸ)jtR —ĸæ›Ý£Á¾f˜÷f€[ص~š»)ø¾ò"éÙ\>S´t^Kïîõ jtèëE „ËöŒ\š„‹nçj,´YbÁŽz !} nýBŸ®FCadRš|>»ßøCµÚé…ƒ ýÇ>Oäl>5À> ÷ÒbN›žy)Avt‰ ~+\ûZךI¥®}LI@Ô$BÕ¼†c‡É¾vp÷ÊÕ½Rczù’_‚hD'w3Q;…Z  G9ÉXí¡}Eïu¡IdH¾ 9]yÉ\ö‰~¡¢Iv]/éL—Juîö¥Ð(<³·f§–Æ>¤!÷ÈÀ _Œ‚ oߨ]eŒþŽþ÷+gÇ¡‡Žfg±1)`uc‘pÈAò€ö– ¦b»ïÔ ;/aR·Y±oÊVY²ÛÓ3lfR,Kò".×Ù´Ðâ°_ˆêo†? FÀ E"6g+3‰D()˨gfi`°´9¼Ą̊A3Sìo‘ pxkOxÍ“NãJfžÐ«vºŠy¤8%½ô…éìóÙ7ìvÐíuªH:/•Œ'È€¨|.§.o\‹ý¼+E×}ªê.Á´`s¹šÔ¹õ8»¿M_s Ÿ3çC b¶{Õáé°÷[”t]LèL‡°ò§àN?œPsó>7dŒP÷„B€é­UýާcµõF?ê3š’§Ø©00¢®p¯`I¾9E;ÊtÎP2õïÐy&¶ˆBë| 1¿T´—ÃjE~…Òý]¸S–qº·ðõÏÔÈ„úÊz½A_…¼OÏ^®ª¹5šÇ§œx‰Úq,5ÃÒÉËìZ&õ#PíÒ'èÄ2™ãdDÿÁ$ªSìëœx¶Ëºk,¦ŸŠ‰äÊHðëûªå±¶dm§ ÄÏÀžkÏ–; Ïð!Èåà~lætõ¡X“•WÉȱ¢õ‘ð6(Œs†ðBmyÙO†°Ž><´cù¥Ý­o#ݤµ0ê ã•M µ¤†(pè„Éõ9z4  ˆ´¤s]Άg‚éø¯)/KO¹ÓQÀÚÿ=^é‘eA¯¬æ sÃ>Ïe{ß(ý¦ñÖÜ‘‰œÅcÕã·¿‚ªp4„Æ ¨(öUÉñ¢‘‡ŸßÀHü1µrdù¼1 Óªµšê;§ÛŠÂ”âëê¡õøÕïi_“¼²•¯Â[œ´Ìó®£ÓC¨Ahëó½*lxÃd·×ÓÅf&;¤â!G«Ï‰5•93ºÖ"üÐ}G ä ñ\„àG/+…7áí?ÿÓO˜ß0òîƒòèéQ\÷4í’JÚjò#k \Yë| 6&iÞO9}ÑüˆßbÖ¸ìßnæVßs&ÜóûÄ“ 7,[(W”Ü&žë?Q~îÂ'šÒä¦%5ªœ45‰ ™ï"ÔYþçÀǺšt#çÌxÅuEG½¹ù#ªöî.ŠzêNr~#Änvü¡m 4}£õ5 F üfQB»ű+Kä”Mÿ hêÒéPb;&Õf–•MÆkQµ"úm †¡Ârt(Ò2›ž›¸aŽÊ¸˜ǃëðªx¼©ÒM¤Í´\G­ÌŽú1<üsw¢ýÔNMôb&<”ëÁc7Ú%ÎÓKÃû5q1V4`àñ©h5[3¯uP—se¼—ä&ÁŸ°×@É¢mWöê0xn°ýðï%V?qôoªÿzDLòW4í¸`Ø“Ú ò8T.[›dn{œ~Q^’YJ6Ö1‰C«ÉƒL¢Ó9¥Z~É5öz NznyßÊvYjžƒyš‡ejY‘ {’B™H ðE(%ÈxLìºH3á¬îÎæ(€þ'Çôz÷l¹ã0R¸3Û ­pîùµÊÕ@È 5 äÍyó‹+\,…¡:ÓÔÀò÷æVÌzzs¯ÎµÝ8ôCæ{¼J±2 ø:gÃŽÜOKº…)TíKk³´U}ˆ”b™ &óc¶0hP1WÝ"Ç ‘€u×a .lëܺ´xú.¤ÉáÃá­’®ôtÁ8µAn^M©'Ú–¬«>o¿cÅ”˜ ê¿Æ}ï·Ñë{j÷\æÎ/Hl„,# (±¥1ì ˜cóÙTHÓ‘ †¬ðI˜Á“Oã(Äù%wÿD¨r¬ºx5 ¦6tß•Sôó’|Ì \#Þ@ÌL^` B,øŒŸÌ‚PÏ âd€âqj쨺X½¸® xªŽ„ö¦R+[!Q˜Óçn‰.z' f4JRÀÞd•;ŒNÞô|Qü]Ì>œ-|jù¨z>w>f´ŒÖºÓ¢¶¼çÖB.ò)îéò •É]è|‹‘Óµ¼íšù‰,ÝR"Ñ_ü{¬±œI󟼊>ËaY"æ,Fw€Ümr+Ï«KW¢9‹‘ƒA,P÷Û§ËŽšµ‡±Z]É1±|•3U•£!Cü 44X_cs3ÊÉ¿å^Å<˜6¼Ê¼÷Fn>Oæ@À¾f=¼“í˜Ë-c:#ï‰úX&(OYœÁWƒBÌb‘®7’ÏG Nà8z-…ʨñ ‡ôfZ«1$kßE¾±}l«}„|Þ²(^Ö®ýºë×PÀߨŒç@)Û!T½¦º°5Š€ÚUÉU:dz¾†Õp)’‰¼Ø QŸ‚CGu)2Li|%Ú ÌêÞËí]nÄ{õ«tŒ¯²xó5§ÏŽŽ)ðoû0µ”ð;¥}^!Ìû@gø¿ª™+pùyƒòÈD·†bÆ lE)æNïÜUži™;´±F*N\ôÿàZÏ{p òÂ'ˆi]=ˆÐû<7ø4Õù_ol"?Z0ûj¦6>» ìzmx .7{Õîu_ •Ó°„îØ7ý@´úDô»Uþ[©5Új3¼P²„LîžOèBâq¥ä1aZ4ð"E‚ÀŸˆWøÅO׈—…ôÈ@”OåÏàŽ©o:y1,ë?-\`¯‘UæÚ)'<»VBfÄÕ´ Í÷U#½Ð¬DI <äupªÚ~:(âë°®Ž%"=ÕKÍÇáKÊ —o§’éL ¢ÔšDÕsþH…åËrL»+îe§£Uî…ŒÂì4¾<;FGàÌë#ÕªÓgêŽ ÏUnݦÄÝ;>·œyÒVl-sð„&¹¤<¤ Ö 'p8Z‹‡g‚~AõVòBØÉÄB?Þ[¬0Ü—y8>vM?‚3H6cu zÂïJ™è#¦üÁ_õí‹T¹Õ޳ {¶âÆ›]%æ…,¹Ö»ŠFº`Ƚ¤•2ÓyY›w,Ë_6D¨‹UJDŽìêJVÎm¸WJ”VGG ý2b3ƒlÿ2±YÜûK+ÚãŽ$PÅ=VCš¶ÿêÁÊm‘G4 í£t¦Ycù~Ôât{™ þ, ðQïb ÀŸ*H´¶ öÚÝWð]§YF8Fyc3¤þät)Šƒ¥*UÝ ]›žRØ´º¦Ð¢élM¤³ÃìtÐn»XF¶!ß‘^ðík‡0(’Ph£#ýŸîEõz€Դˆãl>Á&³P²+yrО2{yÇ«ô4ÙC ]Ì´à€@²;·4½;žUB K”£X£á˜eÛª²²½ÃdYá0µ5 #f_¯!šdÅ+;rÈú†­éTމ±–„ÿ#&;Ÿé=ÄÉÃv³Ð_ H&xù÷¥!æò§¶´V‹V^»`l ¨^A­jÚã$žÑ¼V_Dÿ¯¶îeSgáøÉü°Ï:m0¦è°XêдJàzòqXêt?¼Ô£^&ô$« p?Ycyeò l#öX@¦ÅkÍ Î†qËþ¨¢ °ÍÅ£ïQ]‰û÷¾Û£øº'gŒøæc<_L¨îFˆ-)¥„ò—µô]^‘g{©‚›ÉW0`R„ ™ªÆúÌ'*¤¼Ø¸wÀÃ1 ¤»q4Kp H ÆV[ð9Ù¡ó¢ ¨—ãÔ„àíx²!V`¨Z°ñà”a‰$¾×ÐÞž  äÎ`ê$Ã{‰ˆ-<Î÷µì6²¡ŠGù…‡r÷Új-IÔasò¬W°yK0ò´-Aü·ýQx S $óòÃnoS#òý°6ÁEßq„–Xhø¤ÊlÞ± kIZ¨¬p–OšÇÜ{±ÄB‘')DqjMIÜû«(šudü•,q$`np¦'Ÿ+ðïbÜдÓ?ÜŒE…Š®Šûd?3›ˆü—a‚·+ÉÙ”Q7 Ò–ƒ81çýѶ=9BÁ~Qf¼4®Ä£„Â3Ë›“˜gB8Þ€Y݃h•1º¶õÂ#©å]t´±¼/­Üñã~5Ñ“8Jaä¤w^ú0TJŒ[­òøL½KM¹×ÕêY ŽMSŸbÃø4›„—í Ì0QòÐ!'FŽúWÎe…ÁCrð=ª=ÂïDpcÀ^ñ°yg\s4˜ÍÖª+Æ oè¼ësçÏ~Ž•„N×!AÝ2­{Š%·,à*’á7€` :ƒo:òK<0 þ'*üÁZ_ÕÚЃµw’ÖM£3ÔKî&ÈZÖ/ç‹ ¦¿CZXQõû¨åê° ‚*¡ª‰ºz->1¸9Eç?ÅHžñýÚ—T ›ëc«c3Çf¬uÉÈWŸX¥ç‹ª&¾‘¿À8jû/áž /j+ŠòKkžÓ/÷Þwâ)Iiæ™í*ÒvÏ0ÒÉDtÓnÂÇ¥w!«ßøuú}ˆ¾4E}°LÄÒrµFŠ%U€úu°(ËŠúÒbLò:~Þ²‹ã+*Þöc¦ )Pœ¨`[«me€•~?O¦ü:ˆ  ©vî‘‚yÓ”æ1ÌôRŸ*…üý/YØ8þ<ÛÒÛL6ݪ»½9YY¸ ñr³3N¹Íü·;¿…ö¾}¦#àýû3®˜¯UÒ‰ü!ø*-  >Ú ‰”p˜6â_?m¿Zš‰ê<%= DƒïÕ¡È?ø.>‹PãŽã™a~хɆÿaŸÁ ²êÜ‘¯7Ü\àÁ@Dl¡qÝO šD‘–Ó÷<ÛAÀˆ³ûì6Q$ò–¸öDá†ëdü LA*½¦¼E¸ôœ—RDò¡“ÚðFšdްiJÀýqÈœ&tNÁÏÏ+?Šþ÷êľòüCûšbȬqCix#Z_‰ëûWǼÑo¡¤} A± ‘’YÜA”{Næ?_*ò–--ñ-»Iý²&T&ÜV!ØØ½™®ŸsÅO@·¹Œ”=˜,Æ N ÍnzÜG£¤‰àUõè?zr.7|$}û-ß?Swxp‚$3¼š´ÏpÛ.Ê3Ý“÷êÍUL 4»—Ê@v:µÄŸ¥ª‚‹3Z@qQñ¨G|t&@ÖÒ4XËü•-oQÅܰ@‚]‚fôØsÏ'˜ûŸà?2XT žÊ2ÄÃReñMj°™Ùª³yµxÞð;foäKùäãýA9™ÓlÞ; –.9·'SâÙi“¬tH=~ +P_³Æ7`L-îpsX2 2ÙW%ҵ®U` …_±€aå IgMºD ñ# g/L02…^O•¼ªãBPŒ6‘…VÙìÕ`õ(n8À?aW7̈N(~5·“Næé®æ°¶C?‡-­"š}í &Ü7µ4…°ûŒ…y*Ô&yå*…²9†6—äZoËbçø¦œ² «sÏHjA™"($mO0i¦G¬“%éMk•‘7¬¬wæêîÅíhoT $Ä]`ç¦TçàvN9óvŸîŸ8&ƒGeU_´€28 #bé… l“‹ “¤ÆµË=-? 8éäV›ÿRópæš9Ú æÔ¥6Î{$¼¥ß{â#Áiá ›š‹ÈÃ5¬871kç>c¡jžzÐf;ãÓ{Zåu¸àzŠØBÖwò®NйûË2M÷Õ3ÂÙÞ‹L§€ý ³!8ÿ«[SÛ¥Vçá-`Èöšb93 S˜2=ß¿·ë'èy*æµÄ¼€oàZËïLùÍkÚö{ð•Øh\—ÀTd2¨ØëõË59„ƒþI iõ “n{ÙýPÂÙþwz3È+¸¼üõò¿ùOIØØ©Ð¶›L;Y»¶ÌR¸ã#ƒ{ õ†•K¦¹ÍZqúu芯d~€èÍŠ&ØýŸ+Fâ];k‰ï6u&hSB‘ÏÂæ€_<Àj|•œ¤Åþ¨nc üÉ< ¬¥CŸdÕYljgA •S‰O“– £rüX©Å?ˆi1 p:¼‡‹)}òÖWƒi'3%YVÓºæÝÜCZý¹cÌ ëù+¡<|EŸ6¾D [3Ì(® AÞ\>€W“âwª¾- ™µ|üÔ»ZÂ?G Ò{ãOY`þŽì0¼4NŠ|fåp¼éÁ@¾UN-ˆš _<æo“kËFÇVPÉÝ4ì"©v±JFYÖ8¿Pϲÿ\Ä.´Ýƒ‰¶±%’8[±¨÷¹8¤0ø ßðø[n[P™ôDÑ[xw"º§ ƒó½ÒùaÀ$D·;(Ëæ”eÇ¢"Ö?-bn]~uC˜îdáïe軓ðÜ“+l&zü+qf¾h¶(M­ê›”K8ƒQ5ø eÜòT¶Îjˆ9ׯÐh†ä~òH:«ƒÒÊÝ£ÜpÙ7Eyy ØüÔY­Í欅pŠ•B$×Z3Á®lˆJ¼‡H¶ªšœ'‚Ò8 XV[¾¶4ÙÈ Ûµ>AÁµãl%!ê°D˜.æÚécV°™ªB0gº+b;ÛÎñnãZ™öÚŠZj4ÔîÆè¦%P«,ã±îY%<Æ*éÎíþ’ˆ 6‘È_ªxÞ‰;•âk¶¯©]„~†ÊÙ&ÈøzvÌiºr£t0[a^yæ!ÁS£L\{X$õdÑ.Ç«#:÷Ú Òy?ÞCKærÇØ›yàÊ<CÓ?—Ù4;c`_15^Gñy÷(È /ôʳk>¦CRd·‡È˜Kœá•FÍ C³ÈëÅ,Ê|36áy!Єþñõ]¥YB•°ÅÔj¦ˆåÜ}Ö—NéNí¹`‹€'Û‰ý£‹eI¼€O°tž”UÀžôlöƒÙgc±[½âßsæ]û‡t®ˆmvu–¦3ØáþTƒkç‘ÔQ„ðh(<¶Å&œGÖü~“5i}aJ´·2¯Mt ˆ)pÞüèrÜáŒA°&‘k}ß°b£IQ»lD9dšÍ*L`¤DþˆüV>¿@½ÙërFêá/D f`½0g8߉ÀèâÕ`íÊj·ðiªˆ . æÒ3ÙË\ž£Zœ‚™—¢°y× TÀÇi ‘r‹lô¡Q¹i¶Ž€»†6Ÿ39WU|(A80Ñ\•ðJcçx#’ÐËþ™ülñg«D›YË¥ãÎ÷Ã%ÁÆ3¤_—±Ô]ýÚÏ ']­ÔJ,päO¡ 5ÏTÊóå?$Gæ6ë0ì¯Y€£ .ŸùVÒ:£X`õÌTºVEcƒ¿š‰"ßÒ[ß …± Ëù¼ØÇ*l F²ÚugëOü¢šr;wn>E«3Ip]Œ)ª°»Ø§L=CÆCÕË¡š~ ;*"šP:ç@­Œ?T½gÔ1/ì©\Ʋ¾:9(öûXÉAëèˆÀµE…UAë< («0FN{šs_Öo®©±:c˜–_M·oå¤^ð ÃÁýó‘ðã’‰ùIcid¦kD÷zz8@Cu4NÿÜSÆß*~XqŒÈlé·É²ß +L\mU{\&ŒZ-Rö“È#ërÇ.øÆ„¥é¯_=xìúÓ­š¨%ÏÏÓÞÊÁdâÖä×Gþø_cîdD¶wçÉûù³K®~$‰0øŸÿ.™ºÞÅLÆ™”ø am€¤*]T%œ³V´Yi´…ƒU —8Õ=îå`vÌx Yòú°ª‡ºÅX‘åÔçyVð5”9Æ–ö:ÖˆÎ{ß“cgëó‹–: *ÂÆŠ`¬ˆÒ¦’Ø a. =ÝõêÐ)X¦C{ZJÿóŽbŸ¼U'%_ZX Xçáä~y…±ª0žLç| À% ã¶€ÁêbD䕆oœR›ÙX ÖÉÞ @ÌÝ4Öõœ´f¬‹Qd£G–Ûßg/ëáéJÒº¢t §ÃÃõµRЦ:ZUÑð [´_wךšƒQRX/Ó3ü\‰ ä„…ç»~}5ë9±š-ŠB´v› /­-ž þ`¼‘|Ü;¾_)Mý¡A<ê¨öX§íViU©ƒ¦‘ôá};ji8ù7ã—:*Á_UV)Ú…Y f6BRÊcdEÞ¾ú2¬”¿ã²-â}Q?ŽÕÕQ‹G”´ û#Z˜úŒµhÌì±YÜvcÿêDE¥Qº 2£Hæ7¢À`ªôÎ&ìCæ‘S[ Þr9$FªQнY?½ ¥ˆáÐQ1Ÿ°½ 7Û˜_Ï4P„`Þ²ø ˵)e\ÅïêD‹=O=(û  À€û˜È$£ó( Àb_^=QkgCÚÖ…8ónÓq§'diG ’é‡gÂTΤËéåë–/ªOº·Ðrœ«c"‚9ŠHÀöïÞît½ÜhgùhÊ~4Wùÿ!7o€Æ{kÚcô÷Ç¿èòŽù™VÖq„¾ýÎZK«?0y}D—ÅÄu‰T7â@½vÇÆÀðÖ¶)“ûÚƒ¶·»튟jÈðƒœd1°y˜ö×¼Ò&ËÏ´TݦmŠP-ÔÀcxg㔹IãÃe; €c¸0…)ȃ¹þ¡ôçµ½u´/’D!Z&3ÞYóô˜R¥ð²~…¦ƒu]<¤ý°(ÛP½E8a"³1ÏŸÖ´ÞÝ!‹>l­±™wá_Ä'üyàmR÷ÂD(p)øÐ{ëmà¸áÿ8°\µAø†ùI"C|‹{¼€HÊCÇn(%=5|’½í Ó~¦>2¾Ž#9–úîX÷MXÌ”#AEIg~íA—ÈÞî=ÄiËð@d¼ì;e‘O|Û‰¶wòD­9ŽQ¦ {ÛcF‰.«7„T9ðômçKÂðéÏ¿ŠY°, O:½t.d÷±'a› G_Á=Ã/þª)Y (“+Ì>«—¹•”¥%û=Æ»úÅ|¶÷ðyŸ쬧K@5ìG#§.!hm¢y]d£²ÑóÓïÓ§†ÙjždÖûRAþã„ݬf#ª'åŶ%±#où;s¯¿Oz›kì÷ND…Þ}–$Ðà™ûß´½"t‹.ä`Ï‚Ú5)ýå Ä0ÛˆpG4&Ië^ QÓ»IõþD4ß<å„¥y@œ—Ö××>x9Ÿ{ûáýÇâ•{ÏPª‘ùßÃM± ã ‡0á—†úÁÒEzæÏ‰l¬ßb6h}>ÒÈþk4ÜÕÇèíœÈª3¨Söo0¸`ªúE“™ ¢‰Ë¼Và ¼žcXK驱 =©œ¡K?4Ì&¼G9T "™æ¼7:ÆÀ¯î²ñ´GA¡ëœ©÷œ)t,A6ý­pê} lžÔåõ‡´þÁ ÏO/~ôò‚ë#¥÷„ûý†:M%ÌV±Òâä0_Th@³QAµ»ÏXÚóæ6ŽØ=£FŠÅ¬`¾þ¶M… Ìl‚FEÈØ)ªdÎŶx渊«û®ž§Å}E‚¾– „(L`"ãÅrp!˜¸ê8L(™Nw6÷UФètó}⦺‚Æ€ã0™Ùã½T {9E¦U¶”¶H#¤OäD%£hKÇÍ@¡ó37Œ«³G°ÌJÿåðAÂôàÕÓ+ÔKfø^¥XÆl„9öçÕlÈlùõ`G ¶Ð§…^—æ¦!ÉÉm”¿õÇŽ"½eNŽdÖ}©ìH¾Á‘O²â#N­<¤Ž 0ì@Kvn´þ†Æþ]¯T ktuÕXT§Y0}"_d9·'ù}ŒÉ&؃öÑïK$pÁkçob-YùKî7ÚøÒâ€eˆ­éìx¶FÆ—&#èƒ8éš$KܽÁï£_'ì—™;ùy?x³m3JÈâsHZV5b³EÕñÕÅ^&š¦H|žh…è%îúŸ‚ÄXö1]cU£ ‰l#a;N%ƒ£Ü;3ùÀ$Š*ƒÔ7¨—È~æ¼Ààfo%Ü2òhZíÅ<Ö {é"÷/;Š™ ‘±c¨ò+\W#äõ¯_,hØî$ãòlõÔwAGaR0íÄ–6€¶¨˜·üæ·ðí<Å¶Ï¥Æ {© lf+’‹(dZxõû~‚KÚ\ÚýO÷ ê»LC%êƒòå ²›1Í ÂY÷ò5Oƒ×:vëónèæÚ•I‘ã©0ó‰i›TIßátTæ["HîGÄæ °Z‰9Á°±|øéA„6º2–ûEÇ5ÿj!¹äà!:ö/råÙOÉcùÎèïbža¢Í7sÝCQ©3œ`‘˘BP`| ÷ÓH f„««1¨éØ]  ‘úòÚXqû)ä‡UWŒdšÞb±õ¶¤!MCMM¨œBC¬ÕDºµ+àÖLùYÓ9+“{x°øk55 Þ¯ë½<îAŸ#I޵k44ZÇ‘="M8T c§5ˆå­¤+òVQ²nœjž^SÕŠú)EõͰ XÂ*T¾;L+tWä| Y³<ÞâÏYÀC™ž@5\3%©+µ¸çNíÃaÐCŠÚD^%–CÒûkIÖ;hf8')Õ½¥c£ucvWïøã[¼hŒ&|¡jçï/}2‰ ;]=£™`iƒÊÞ; Ê$*ÿa }˽ÈäM³•“E•'ŠÝ»`€P2“èŒÚ±Ø´ªÝÖ µLÞ]·œc­˜Ü6gÅÀ_éþ—ò9„Ì4-/h·›¸É£\ö£5|e)F9ïgª+dšKØù yPT—[ªõÇêáÆ{7Y”V”¢áöÌ<Ì.ÂwT螤(ðC%7$–¿Il‚îÕr$MuŠÉBÿA§ó²"HúQ›OëPw—ftÀl_uÌ[Dä0oÂ*ÝaÙÅ]˜×á{ƒ§çÀ\­Ò‘‡+,*†“›éaz7‹/qD”÷µ9y%Þ(Z"£kÃ/£xÏsÉ5}>B”íaÑÛqhÏ›ò~„Òž_;ÄóbüŸ‰Lb޼pÀ& -1ÃÌÜ×7(˜)–¯_†ŒWSÀM +)³ÒN÷Æi’²ù{ ’E|m2²óŒ‹kõth-ë]?yéŠ ãâ7zU'O9Î*‚PwajÒ¢ôÆÃÂõ‰9+ŸWv Ðh¶Ú»ºÈO—RôX=:̽߻jŠò1·1§ irƒòØ Ž¨@ëΧª±?OÄc\‰ßªÒ?I:SP9#vg¡ÁÛÝç´‰³¥¡ŽçÎyRGg„„^]?‹ÞP O‡Ñ£:¾Ü; ýPÙÊÑ8/®«0v‰7Á9à¿/³Ó&a+Î|ÝŠZùÃÄk²ÃÈçG åKŸs{9±l9î\Ì­Ú·¹ 0Á‰e¿°s>z+â˜îùJlÿ§~1é"ë­ÆTÃij¿Ý¦~ôŸ‡)\u¸ÆRð&BYòmNÄ÷óó¨—0 òØšlÇïUm°ŸÎq:ŸÌGÙB'!tÎwÆ=v¯Võ¶õ†–„ý)#xà{ï-LrD÷¡®sß×ñb¢NöMtñäfSéÄSÎY9†h ½Ý"ä7±F š!uv8¾EŸªÞ, 7Sž™OÔÚô‘^À“KJþcðñS{įjs·#p`»’Cøü1Ç'm<öv#®§™¹>‰å6Š©$ºQû¢†+EẙôãÓDÇ¡¥Wä%A-r!Ñfq¬Ä¬!nÈ»åý4þ9¼©õŸ s~åBP¤4Uïö>r™ãje$w²´”‡®üÓ¬y»Q]ß)‹é·‘éQ8™BB‘–¡nÐ#¤Úià»1Kö3ñþ{út $ðý¦¿ˆèp™þŠfû:ÀZ DR{æSÆr%&“@ÎÇi‰ûu&Em«×Þð|`›fá`ª_UØœvÝ‚¦`-U¾ÏWí²Ê™4Ló½¥¾\µ8’D:¿{‰L™÷ÜׄA…W²á¹W`ЮTý¦@%­œÿvGÀ1b{ZRâ‹ qÔaq"¤¯¤;òD^ö*oí{•:ÿÏ—´3läB—”ÜÖb˜ÈÄÛ"E«šÃ‡;/ voµ?õzL!ßá3ÖLDƒî-¯M•øÓ`,#`CI‹Šâé‚¥¸Î¬„¬L#EžoÏùTžö2ÍÄ{aß¶ëL;¡+ÒU³ÍÅ¡ˆ¦àîm²žùKª*úa&KBÇw™©xµ¼s,çµ÷S}‚a±GŒ:9ÚHа16Û÷êNæK1pë]ñõ„AÙÇ»A—U/J ]FS kVÖë+pƒÍe:Ûž§ô§,÷†‘ÙðÜ×KÕHŽíå]•fà&?cz©¨Þi(ìÍd¢HnÃá°E»T9gKüžéU)ÒÎî³óïYºO$ºÏÊl‚-žñÄ~K¤ËêõÎtK¤þå°kÃkJX¶V-‚Æ&¿QõI2ÍtZ,FÙëDHÅøÀœÜEàc¬=/û/voy¨ë¶Uæk ù©¤þœ°Êðý¸ «úC­'ž6Pi¦‹1íg‡<üžL‹¼¶M¥t-¤0ãÜ~‚v]õ¤1Më>¨¼†ÏÎØ×Þ+2Ó´9ËJ%Ü«-º€c©¥ºê;Ÿ þèfŒQ{ŸïXz·-îÌj)³Aw¾[§Ámä,en£´ûJíQ[¸ƒ_¤Ÿ÷|V† :ß8—eØ…¨$|e„=ä_Q¸§§‹ê&†“˜Ú¿¢$¶õÛ«+ÞF!#ü7Úy=ÅEˆmÞ±ÞÌ<"_´dSÂ/aæ. 7Ç¥}yœõ©¸b¦Èd±¡`€&H†ÑÒ5»ІȤ¾kíRn*# ŒQ–Ñ×ÖL±SAʸä°yQö ñòV:¿C÷SÈ‚µœ-5<BÞšSŸJ7“lk\rrž Q&—±€¿<òMÆî´ìPö¯µ½ÍHžAuP=ÑÅú^Âæøyæñ€gÏ7?§¶êßkX×<QÚ…a.¨éQlÝŽW*¦·¶$ÍÐUF£ ÏÂìHùj­LE-¯­ðéÑ}îÙåP.znÚZª59ÎG¡5,–…B‘NQ„rÇ~Š­f´ `ñ1îÁáí'éXlBA=7‚Ae¸•ÀEõ…ÉSÉfJ1ÒŽª×¥îtóüÝÝ¿]Ñt{N «¯Žy-æm¯¬£>”†—ɇå]Ö9@+%N•ºäIZÜôù=Í¿ÇùžÌ¿ÎÆÓ# $§¦œ‰Cjwš{~imm;RN,³låÕ€ PMêªÁätøE•h.Mº/ÿ¯®ë*ì4Ú¡¿gäÇ+0nèk·„ïcOÆa¯ÿM;bÜÍ«mN"~%aß%ÜZWqÀ^A  cÕ@eÎ÷\Š7eþvaâ"0¥° {“6ÿN+ BW.®5WÝûî'IƒUÊppã>ø„˜1 -ß6bT çû·,ˆõÓ„Ÿï X 3(鎘Ô2=H€¯Uãñè?k9ÚX õÛ_ªäøÕÆ¥³ä²¶Ž”®6Î|ÑTS›°€z²«é÷&tqûò70ajl˜›Ó‹ßñW#´åFÙì§HÂÔvõä‹ç³Íý, kþË…Ž‘|S3ûþW+(-SÖݹ§;èð‡²-áˆ!äÅÞ‹s‡=ÝiJM‚4Cïa>‹¤“IÚx³ûHè´sŒÎœ³E[ô°ØÕX¾ÿwäZi+:6’æ@±/<å)y(øÅñ¢¹¨­ó¼l èL¿XÖžÕÑ`§´JXÖÝB„VÑR‰ŽŽ UÝ“ÊþèA3²Ñ9}cÅ·€1†§rù°oÞ1b‡¾µ!w,bþ‘÷Qðá±r¦Ý]Á<%W?c ä‰V(Kü4rRΧSâ–åŒ>ìâö«u²8™ð³`ÿÍ•-ž7¤ã{N‚5¿5 P|œE&ȸFH2bi¶ð™î÷„¹2JÿÌ@¸_.° G߯¨¨ïLØå…{ñ«QǯeÌV¨ï/'æ4'íÞñ¦$@SÝòù,´Gª Ãcv´.€âŽY¤·ß7AÁ†s!CŒR̾“ÌM¾Ùaòxf^5S75¸ÂÔy{1”êÖ ò÷6Q°~<6“yòTµnd jÓ‡•à€ ÓU:ÚÂþÚ^àþˆ·ôë˜gqŒÅºnä¤,ҽզћ ºDEüíåU* aÝ®ÇÆ­—´3¦qݧtOñȬéP^²âîd1‡÷ÅY‹°²ÑÞ3?5S›°­)©|Y{M^’6ßcÝA-1ày/7ÝÛ—ùò¢c¢´TÐO–g3‡8éL¦íä#KúƇBc…·®0EÙÕ¤q…kƒY(Gçd‚90aTßV/¢Ú}¼^Æ¿ P›‰}ß<¥{ž†@"ÎòÁ¹ZÌéäqH¹,µW|FH\™jNÇ`ân‘h^&9hxR¥AH§Û\{Œ–¤ôUøVJ 1l˜5iàuü÷_¹ìE5‹r´w>Ä9À†JèëŸbÄg/ã·Øª}ÂRä‘»@ ûê¸*,„ñ™,¶kùÒIáDÞ_7JP£nŽÎü'-K`ã "ïqb•r¾Õ.¿îø]\‚ÝQKù8Ú.ùÁŠÑ:±ýŽ8[掵;:¼ù"a§yOmÝÎ4€uç¶ý1?-*ò ”z”]j=Ï~39ü¸ìXš°O´:cd4ä´˨ñ(tÚ‘;]”YÕíš'âÐ Dð¨=z"Ð_å#;–sáEZó…ÏÍKÇ›£¡ y¿â‘bßNQ¨^Y5|"2ÂŒxÓ¾jÃñÁµD̰U¿ùÜ•¯Æõ ÄÌ · ò¸/õí¨ùIíå »à“躆7V×iF«—¹ò?E­öÓ´^Pc5±~¶éôw¸,=úËëÛËÒ|!ÂmÕήZí¨`Òƒ:Tñ9¡\f®ÕKê™3Ý)£/g¹ðÜöÙè<ÛbúãÿŒAjÄÍ\z[õVÈ$Dl‡ ˃›ç?PˆÖHU)À£ 4ö¯œ<©XÕrA»2ÝžöóU*r9 ® ØvqÇýàœ_#=Š¥öŽpB>ke@c¸F‰ª´Œðøp¶™½œ ?rŸñÌ5®7p€4?gvÝûÃeδúª­°°°dÆÉ*LV™*¥v&†ò˜Ä‘f{)rÿÏVÚ_f: ?,sG.ˆKi܉š„n•,#Ðçcó5ŸÕ/QÜKdêné{éf¶3Šjwܯ¿[5ÏV'„Ûò-Jè ]àö{Ü´c–O›Ÿ¾yxˆîµÂ¬KU}·˜9êG¤ýѽîÓ2Þ¿ùædõÏíçô/ì>½¸!,÷zÿXk 2(Á/m!hí‹t,¬&†_ã4®x§‘BT*¸¿·xdæ*bJÉyü×:ð·Òó"‹nAÆœ=­¹àÒRV袚RŸ||ÈqžáÛôà‘âvºèuL8ºL†S5S×OÞZT¿ÔÄ}ôETfѳA¤M‰ÏçÅî!;%ÇDœi¥kÖ@3š°>\#ŽzÕ4ÑÄä+Cˆ*è‡Ü¼ý@ŠžI(ÙÐw &„ÙeÆf8ˆ D=xõ¤poœ^üÆO©ØEÌ.ö÷e5oD£úK@‘ög] ÑF±z’àd [ô’*¬ÁS[êe_ì;¢—Ö®ôåÝò¯'ûH’íá ãB¯Åö NÚæY9—ÜÙ¨ó6}¡™¡ŒqôG>Ku@d¨¨\:Ù–yi|ùªÝ4B'_@M¥ƒ1œA¦ÓÖÑÒŠa½øÌ$»­ ‹–{û1ͺO¯O¿ýe/Ž'oØaΫR…7„íŒ)Ïss¶õ§šk&,—EЄÏk®Ò©ðM‡_!Âû@W«ü¸J™óìêhüA‹áGd`n+dõ~<_”XH¡|Ÿ`ûAàd§S}]Ù/S?·›¸—;?‰WÀlOó% {p$Ñß«3³PœÓã?'KfÔ2U>’¢ËŒr[ddÃ_Ìðî×ë @£ã9¯áDqÀS:«ï—"9Üâ?#·j"ÅíÏU¿3æ¹nOy…51«.4èêÆÊˆNJq9(è~Fq¼ûZã€t+m1(.†G¼ÈÔ7¨×úJ¿µT¢«×ÊGwc1 ZèL뎦ßë¤lfÍÍ„ý›ãKó±›ì,úýâê‡Ý/HIâî %Ç*Ä"˜v8œï æ¾…—vƒR^cËý’}Î^÷ÿ»^s5]†ã5EuQ¶t±:5¹­¥Qåâ¾–ÇC¥Cwï²mçM{#€®^vüoJMœyNÛþò‚&SìÝ;qü§×Ulg—.˜ŠÛ XvÁ޹:–ÉÝåAAœcå­i¨ê;©D] ?”·…}‰öÀ=< B{‰}÷4–•­B)]°ø®CmA}Õ¹§èi+ÆJãL ±.ÑHÝbœK%Þ×üóíÆ•+XIP§”iêèN¯Ö„§ƒ=µ'FÎÆ”ŸR.¾ÃEû"DQ 7ûƒÂs,ù`ÐÒ<«þëÑíõ5¢ M‡žh€à|Òr ;°ã>y41 V:XŲ́;½HŒÓÅ´[,·íRÈd=üøt[=+垃GÒ¿\:1ñ.0 Þ ‘=ý xg/ì7‰»‚ç/K6y®%M,w”Êó“[¤ì Þâ¥ò6÷V‰TZ’Ó)μb?d«»0xÓ€þœQ€9ò¾‹pUÿðÛhCN«þMņQÿ§ž¦“Ôñp€¤4yCМ_UU*_Y1\dìJBÙõn¬²2—4 LÔï}׌”4Π†é²"t­Û»Í+ôÏAAäp×_qb$èÕJœKÊËòy \b8.<Âs…N­L7¡Í¾4ŽWVÏ-ågŒÎ°å¾–Ä'<±ß*Ög¬„áÈœ¡°F^é¡¡fEwùôá!DÉÿ¸±ÓôTÍôγë¨E‰0ŒÒ)so©K¾ÕúÎHÁŠÂ¹X;!xKÚÊû_=¼ü²T”{iòß)O|IØÀ¿‘:YQ"·ZFTYĬÇ+bhç“k®ñ*¼ºQ]ë [Ì2þa!”퉋¹ÂÓ[¼èñg¨ñÁ ¦¹YäV(tØoC\8Î0¿û%h€),Ðö~’PÉ= ¤&þOí{@ÒÇWù09Öž¢ÍÞŒIhU}sÚ<›N×Ñ´hÌÚCêü(ˆ#|ŽXKA啟 ÆPøÃnkQâ|´»%ë ªW Äú¤‚P³‘[0ðýÇð[$އ÷„À0cÒ¿È©~³s/ï¶îĆÈ-‹–uw“:ZÍ•àbXDÖª¬›EfPHý@s6Ü %êª&M¨Uâ펯ü³Êæ–ÃGNH‹ý<)Ñ-ζY¤ÅW·ÏHl½¢ÙÕé»ö‰[ßþŒ(Ž0$9ÍÉGhˆ@°¤tÇÜúÌ®5ðjáØ™@™9Åë¾ö'gÊÊ‘NrsDÊ k‰tÙ.çªÜä7¹Å“$x.0Ä”s²í½Ss¸™îÖxµ8Éâÿ¬A åðmë‰>ËGÜ’ÿ!ž gFMƪK‘0[ì×»•âB‘•üðxË-Eó.ƒoò¸(€2BüÂhP*CéZ(k ô:Þí+ƒd1×tí6iƒ˜ŸP°HàQsø%BÀv£!9s‰¬™oLYØq¥K½]+ÇßÐÀ ø5`f0*™âÏHYM ¾µstB,~$J÷ô·OàRÉ@ŠQe½s§ùÛ£̺ªUè£èÇ%½áRÌÿ­ÙtØ&àØ16 öÿ<³$ˆ×ƒ4÷œ»í=¿+t{Ã/§b;fÙdǤÙî…øÀw½, „ƒWb[A× ªöfX„”‘€5S{óÛªoÎÌHT„ªÙ1L¶ôîöÎ]¹[XÚ÷€|‹ŒÛào\±ib0=©ë’XëR;WzP}à¦ÅÖp„àú¶Š¯™Ž?<§fø Œ]‚di ÔO"^Få"ÇAõðD6c†åwnGJ4€VÅ.αGèsÕè'úX$cìÛ%LÞ¤–žæôÒ~A2‹Ä@ÜQ_9ë×Iäœ$ô€Â·=Ým^ºsGú»}ôâŒ&‰«Id–—ÂUÀAÌbm½1`¶Ë ï ÞÊ™“ ´æ´¸5P—Y “=Y)Þ‚ø®¾‘ß}|€í”ÐÙ©¥jº;Hú@Ã^Œò`QЗaàÆ$$TuJ§Á&UœJבTê` [–zBä@£W5ðôsÑBŒêÚz¸‰gýãÊž ã}"ÓûÕÄÙ+¢Ä•E&F|zºÒéEãøˆVI2“©‰Ñ97óë֎تžñK¾¦qP¸d^ò$»w/ÿìÕ)ÙE_.QÓ~Œ1KœðCX)Û¡Þ ç)è‡@ªÓi¸#š>fÊ«l ª€€x.(`˜8XÄ¥„$²µ5L‹k:9×¾B£ !Á#{{â˶Æêån*°uC Ü “ž —ꘊq.û ¼ò9s¶tÃ@›NK¢ó+¨ÐÓ[HKþÐý›êœp22VYIÒŽÂOð…Ú/áà ~ÈÄ#µÙÕ|JuÅÑy†Ñ±ÁÀDÏäêµIˆ(7(ÿ†{2D̳S¯w‚9U€,¤IÄé(N^jb«‡‰ëOØ•ŸRûêG@åà9›™§mNCØ"þN\Œ^ÙŒû¤Jù¾2Ú¯‡·v¿ÛÑ/ü‘uøÛ>A¾F£<¯ÃÀæ‘Â`"ª<ÇóN™ö|M‚á} ¦ú¯.&C©ííB¡þëS>ï µöXHôÃy p_Eï:o$‰A"Ö CžÎ&lK:!A›Á¾*D%ÙÀ¿_¡ØS¿ˆ<÷¡‹BÌÅ™J2†’×7àó(HÖˆ„9EÇ]”B56øP<Ê7-·#{yrù“¨3òÉ™þšC¼¥j1õ(ÎU ¢¢‘%0€­bãêÒÃøg¦µ…²L@—ýžÍÞò•XÒTܱu&+ôl*`ÛÎõ"D¯­˜­­?«Ç­9Ínµ¶ŠÄr¾æé?a™)ò]á°N¨êº“ÁÓGËÎxF‘?˜¤F¸uN{æ}ÛêŠÊåxtð`F¨£\±ãØB¶£~ˆrý*݇Ðpþz¶}M´´zÖÈ+ A6ý”€ùðNë)aÊûä+ÙõŠ’ ƒö"Çûç£åJÙì/˜˜ $‰Cå !@AÈ áXîîŠ-ÜÒš)zu:6Çákäh·ª÷B†œ)W\Žhw’n^kav¤ÕÄlÀÚË2)­gQü‹:ŠQ·n À÷)q‹O/=GÃòâÅÍŒµ±®Œé1/†šã—].ká &¶k…û³VC<¼–˜ÀÑã÷±<¸{÷7¾ÉJ5”JŒ…ýzI…k ¢*Ýà M^›¾Å}ñFó…:ÄNç]j§‚&q6 Øðêž †‡×Ä€âÒ(~DD2‚– ÐûöSpš9ÿI #@² œ‹ /hµž¨=´€¼›[+Ҧ¨ãõjG€K”–eÈ­ƒœ°Ît@ÂU´JÄ%Ÿàöáe^Bá>¼–±Yncu.w}±éõN©úA[-nwïoÜœêÌN=ðSF;I@Vúðm8E'œ q‚6®UÃøPïàAŽ*®ÌùkÜå÷ˆºÏìÃñ `¾‚ˆ³јíLO5HåvŸ7ªNDÂaÊ*TVN N[Mî^°£Ë.ö<å”"L¹ä)ž!"ôØgFŠòöX”j.F̾që¨åp ÐÄÿeýÍW|Xcº¥«Òú™N:2DŽ”qÎýÑêµþrp¢KŒNaH"DþË$C¶þÞ1§©ÛE?Ó´ᦠ`rõ€ðí 6Ž/¢“Éí[8ÓkÞG‚ïÃè"-5áæÄL-²}¡ÚŇzÌ Í8öåÖQ•õ^|EÖʯ­I”FÁ”óšŠëÊþzsp­?¦¨Y†¸¢÷$µbfÚ#/‹+Oñ%¤×óXö⵩ #{(,‰ˆà²"‰”$P£(dzìéÐëÕ¯ºÍs—d<ÔÖ!Rc`º}p˜—<.²0vìõꢽÜDƽö¿«ô^Y£³W °tËú\’M„Ò¶k§é²Ðq|„ûØÐ!Gwã–? ûAÿX¾×óÖóòGÓ†Gó^CÓlð9†Æ}™ž£m¼é.»Ûw®H]o<´mü®—OZ¯|UÊ|dG7õÊè*οèA#8 FI¬ÚÇßú¤dfIWEàQgP¨|³_ë~éš‘ ~öˆ±]:â"ö&”œÿù”{n¢C1Ý2,±M¯%Æçì<¹„Ÿ#l&é`–¬pmˆ§ K´Gñ\À¾#ÀùF$ÏËÀVºÒé^Bhçµ_ntŸ¤«PId\Ň6\VÚ”ÕcùåÑA´4q¢Î׎ƒqÇ@°' Sã€fœê õísócšÞú¢†')57ª7_c­³Z þ¼¸Ïó0ÊT„ªñˆ†g‘Íp¼U½÷Ÿk:t’YÕ߈ ñ*QÓßÝïOÈÁy:÷-3†à ös¼ŽùÇÎaÑéàÆØaÏœFT­ ç¯;ø)“nHÎÐæÔ÷v÷Ù¥hsòîTDà?~Ï{HuÀÇq÷‹AP©ìÈɼeDz¸Gv-÷SØ1ÁÕp~•=Ÿ?4=ëʱBpf2†œ˜Rjº=ÃÒÙ|‰hæTdAD÷‚J£ê˜Mý ¯±¶ÿç­Ø±)kBQSaˆ›'ƒuy(pSÞBÌxñ=¾¤s `Š%ÍX†É;8eÁ0‘'N÷€O¾¤B¡êZøÁ‡ÃåL“OEcâýÒ•{_õDl ø,Ãɹ’ò’D$í g?áYŒßŒû ­!º *©Ú5¶ÌTuS:EÅw©M$}"ѱ&3õ÷,li”ǰ{æÝy] 'Žü'L«¦o…[²$8o*6dyƒÕ!R*‘:æ, 602û‹€œg ¾’>Ȧ+‘×€”ÁÚˆnÀˆ T ¤Äý¯þ¥¼yòÝñO¡ÂFfåøžÚIH—°¢fá>á:Û™@ºm']¥òmN·ü·Óšˆ6ÀñKZ€©_Îìî h}>»ë–ãÅ2{©ÙÕÜÚp/ˆr¿©PÿºõѶ¤¿©µ·¬­C“C€êŒ!ðaxª¶aÅ00Á™¢DˆjÂ6ZQW„ˆ}HÁÕµIÁ†’<ý½SH³|Ÿ³ }nq!±8i¢Ó|™†èp07˜ŒÁ«ZúTÚË |¢†dãÆÒÛ1—ñƒ„Tù„–iJ;É|Ÿ¹7 £ =:Â^‚–Meë ˆ¬ØöÔÀiI¸gR™uÀc7yÛ*ܨ_„ !9 Ïè0ù4ÊÊ^hᩎ{êÄS!S´Í&éz¸[ €½*ÄŒ/(!}í1ýAh°"&©ÍÖñ%½ÂˆzHd¯#›Mè”êÕqß5mIàSçA“ñM!þGóþWÁQè¬ÑÞ69Ô®=XMZyõ)d'*"Á Ò< ‚ãf)š Ìx90^€~š(ráX0EdAùU…õ×Çò7" <>jÀU+ÿZÞÚæØÄ¿9[Ë*×÷­Ö2ÜÃ{ÑËNñΧf{Ðü hXsÞ½$£Tƒ¡Èe«ô$dêø ¿W.®J¯}gþ&*Ýt{¦ ¢•ÓÁʼ:äžzªma¼2+Ô/… Ьi’sô›K'g*…t;Y¯®W–FæÀ`É¥¯Ž¥ŽÖ ´Ü“¤—.béÇ–ß¡<dY› ˆ!ò†ò3ßÿBH Ô5½Ýròsð'…Á.Øpå$ lçk‡ÂLe?бjË™äo ÞQÃk.Ö^±æè} éVTžnòT/"$$\5˼^¿#àAºU½kjâK7ÜÍ P’ÖÅé“f«˜¡J·…*y êc÷ŠMâÿ9zý¿Iܱ.v¸Éö‘*Æ™<2ÙÊ3]ow<‹0˜>%¸3õšw‹Ü"Ð=862—"àöLûÍÁ6E/µ@º(ÿ‡Bs°7î'ºª¦Ë<1o_ój´ª*5å–’Àv2*ÇÚµùQ–êÀJzgÚþÚ>n({ÍX‰Qm<áå·´Ôs/€1t² _Àö[qâdzlà–¾ûq*Ü”¡ ÊÂÑ üc´p¯ÑÞ+üªñ0¤Xs«›×=‘¿>„ÿ¹,F)­{ð U¡Œ¿ö£zçjM18½é³J¹ãõÿ/®1¶LæR´—; ÜZE©Ä¿ß;@§4‘‚à†ì³F•9lj³½_F­JX’ªcÓè¿/ö)Oƒn•mJˆ˜ú-‡ß@)ùKª€Ú;ð.åßUV˜¾°Ël%ט唌s¢¶¨x4†¾4\w•.Ý8(ôö¨ˆŸ¡«­î—ÈtImu×¶*ù$Œ×ZÎ&65Ò€¿]ƒ>pUª(‡: <[ÂåNa‹h:Vño.ä×̈ƒL0í@†œý¤hŠîç¡yéïWHè9ÔÕÉ~C§ê"愯 6Ù€þý›ûçV‰p¡±&îòz÷Ÿ’ÊJ¹%Ù[‹•¬”£'u{1”Ñ‹ JÈæÿÚ»ü„;xí:£z´ñé{“ý«P½WtЩ敽9ˆ,“c|Z»iãüµ9À¦§Ð¯kü/BÙK@ATøeÅ›K­/*|R\?%jϹLF÷„9Â…j Ö¸&T2»&w’g5NXi­A“Ƥ¬°æn7òÜlR“„*3'Ÿj/÷NDqœT¦ë_ã”8“¢éVÄH†”z[çYL.ú7+g=]=2¥g$³tjô@]h‘ø² Û„øDeP²ô˜Š¨—oBPKo¢‡uÁ“ˆÜ3œ¾*·hŒ(祗€‘i cãåþE4 Ë:5]*‹ ÛÙ¥c¯?vš ˆ #xŒ(åÿÊwÏ~uÈì×¼ÀžFm ùô­ÓG*_=K ”™¬º¶ó~ló©¨Ç衦8(‘6Qæ¶1Àjq/l9+ Æà{[Áb~Q'¾°ö–\ê£XïÓMo·ŒÓj1 Ì;¡³XÁQ³V“¼ŽÏ¡áý7ëÀt÷îihÊõà eHø~54ƒtÎr\ #4ü-Êÿ ÉHøxÛò`Çaz㪗úÎ멟nÅI°XHæB>ŽÉ s¥·rFqëÒ÷Ù¢ ¬¶š“hI¯¶û :(‡.4jK ÿJdÀ¡¢÷aú2÷þ«÷ÚÙt¸èýh×üÄVàC2¹Ânþ?G•1!!˜7mBžÚo Iû¶ ˜Ãÿ bJ-.Ý÷¼-N„‰1÷6 Z ,»vÅ4³ÒB'ý”ó’ãÄñð¡“‹QÕ“x[ƪɃCÜ/-]ŸcÙ#ç½øƒ—údëæ!¤×ä9 æåe Ëͺµ5•¹Áí#Lͼ¹Eήx{¡¢o+Y~YŸÉ‰ûÚþf(" ’Ÿ[Óqt˜UQŠ”‡-–0æÞæßpر÷8Ö;¡àzOµB ´$d»X¾víÿ®ÝÃ}ÙUð°¡î¢ëoóíðzþ‚0òÀý™FR—η磙;rî-1ºô‹ÿ›5+)¥¨Aã‚ùÀK߸æ›ÛPÊÝB‡›‹ô.J'¼µˆPáà…£P3ÿpÉwu2ñÉáŠë[jšÌXˆÜÌžé‘‚h»ûö .Á÷5éƒWá±Qâ u)Ó s…hƒ^ªèÑÿ×^[©ZË÷78`x|ÅÙ†4¢\˜ £ ¹`L^iú;°":#UvPµªAKÍ ü»£Ç$^[ȃ¨çO­G’› ©±c“üOâj7²ä “æŒe/sš¤%2œ”·ðøF2é«Åª< ‰§VÝ×Y¾±¬PÐÏuNw24u72µ)ϼ2p!×ÒßBÄ`©ƒÆO¶¯@R«¬Þ:ÆTq3)ÌÞŸ¸ÏìÔiaÇšJ75B_Δ&§›#W0ˆ¸€é½7~ "QâÆ¢QþŽ7¾4P…†ì‡æ¾( 0Fl倩¢'K-á\«/1ŒG¯´ŠÑàH{Ä_⿜ðhwûm3/c¼}_¿ûv–S›9ªh©Ïå1õ\cÓ{9n‚ð^ÀØÖ– ÜC9ì~MÀ†»©½Wõ3B5¡<`’¹Cptn‘4Ã:fÁò:W>€#Á/Â$R=UÞ<®üh#;[2Ò~9±Š7HöãŠí}¾¶Õ&M-¸Teí=À±!šžé´!ÒÌŒà,à…‡C•rHÈôAÜjìí-#ÂN:áâÝoCžÅdˆìúô|¼¡Â †œ&vÂпçÇŸ*üíÁˆ#æ+LÐ=Z[WŒËÑŒnS;÷ ç`sÑMW<~J‚<ᄉ„fAIr*0Cɲw‘=AÕaâÐn‡ï7£åsN±€Ò'8œtDS6Êo3 ^Þ zÀ ¨##ØA”"ÞSè%D˜ùÍ%‚mXt±qg¢^ùð«œ3¶J)e€3™­!2—ÖDºÐö°ÎD~°oY»ðU‘û†"pxMuqÞEF¤;‚8¿·úˆ arg™lϱÿUµ-¦ªíå<Øo_‡³Ø§H,Ó»|¥~‰¨$ÛOŸ”|ŠX¢ýÝQo{ùS¸ã¡€¼äð³ÒކÉÅ£DÔKŸá¹q’bC¢}b´vü'#!]|Šät3vG¿öáP)vëw&Ǿô«~z. |ÁU©€sÜ“'ô5vÝß“¸¦amµºþ²ïÈ/)ÞJÊ9jVä èÕïy/X˰ÃGó̪8óE’±* Í´Óõ8‚²Â•cÈ${þ[©»1Ö8þW,dLW=Ò›JbùžYÚ'«š&Ú3é)¿M ãfR}„•ø½xÏÇΠj!€êšå8?#| QÄ&R^å¨iI  ƒ Sýï;èÞs™ÇÈ)DÁ>` ‹PŒ|““õê常ôqUƒ= hÖµ c½òyrF´ta,¦MÚ€ñH9’¶F ø=UHÃ/â÷^<ù 0ÜÁKt„u^Ù*Zû‹K‡p ÓÒ»u€dTAh@žft‡dœ1A{ëkMꢀd&ï®2;§"$ÌTÆôÄoñ2é„2ùñ^ÊéæüzDŒ­µÒãs«Ê+ÎÞXÍ$JO´× åƒ[0š¶‹–Ønßt² Ï1ÃxJË–Xç½Üì.ÊÍé¨zë%¾ãˆ–wHHÚ³pÎþ0qdŽ=R ?“ü`_ò2†’†ïå}F)ks™a&Ô»¦gàeH»Ø=†Ý¦ò]ëQÖ¼úãê„, ®Z¢Z„ºÃ‚öv‰éÎjuâÎÝ;ÜuÃH!÷B»ÁÄAˆý˜*2Ý>oã±Íǵa˜ ‘D1¿íæ¹N T“@UõeIÂn*®ÏZ¤='6…]ýô7•†–ätZa~Ï©?º3͵ªp±w Ûlw4'‚÷Bù¡5Ol‘ú+Áç/TÁýÁεkžmM¸Q-˜¥Ø)9$ \^½?¼7ïÐ)5æJGxáJs‹íï„£¤­¨«ƒÄª‘äYaÔSrÃÒ}­~©}ÐaeôÝÌé#l©qƒ_±q»Ã>í0M€B(cóÃìF§4:=3þÃÜóß ÂÅjxÕ:ò˜ÏÕ¢ÎÆqïÚ¯¯5xlïØûÕÛëòŒ]ì¼ÂWsXM~UŽïѵz¾V¶A0bòE<³«¤(k5Bßtwù¼Ð§øCßÙDBù1½ìî6p®–T­sû»dµ“‚ž%Û1 ¬Úé/î‹M¬3ˆúMo¨I÷f¼ˆ’0Šx3—´4«×S´¥9îUA‰ywÛ‡0Σә”Éó‹^ÀP–ÚEw:Þÿÿ,mÒ§fÊ:ºÁ Qg ¬º×ÄLS$Qùâ ëº%§±H„ñ ‚TÕEáX³»³‡fLï?ø T±CG_óÉ:÷bˆËàCĘù‘¢dÊm—Ï361}Qkag®è– OÓE/ωEðhûŒ¾ôÖ»ñõCÕèƒzíJ RP{Ö˜xN’ÇZàE‡ãPÔ&X  S—s¹QAvÃÎÉÙÕŠk]w§v{ü³þl’>€Ð™®$£CŸ0K4„¥Þñš.ò@_ lÛ–&Si’Ër¨Äç©ALG!õðψV‡½Æÿàˆ&‰ÄëqÛ½J˜ç¦ÝúàÐ {ÅcòTÅ×Xê¡ _5-æ¼¼«žtþ,oæ±ñ€;R:ž]ÅU*¯bwWþk•%àMv/1'¿ï[·Ø4 UÉPz~„|ªa¬ÌF|ÇrýWÛËW»Ü¹Y˜ Ê©d}0…E5¾`˜xólúÙÛ!e(Ÿ86ƒëÌÿ‚n›ÕÿX–¼Ç–?ÞQãIÍf¨ä„iO[ûË/Aßš\à_çK9ªÿ뢠G½)0Ãðrþt¡OñÄC×·¯ÁIUR¹'âE<,/ïF˜mDa+Â^´öÚ ÕZÛÆ.Þû²çG~Eâš 9L¡»ˆÓöm.ÆGGÓÛ°º Râ>–šþ¨[ÊÓIëq@?ÒXDH‹<"À\» Dà-6WÇ|÷¦FB—VþŽ ÿÛ CFâÅ]éÓ ÉèhžË&èý!ÜþÕñ»÷%⩇–ËZW鶨 \Ü‘ÁZ¬Ø6 :è ysÁ¬'2æ\Dvzº]ꨀOž}ãòÓš}>7¤ƒlCoæ!8ÃàØahü,g`lï=„Áþ1fO[îø mÿT[tÀ 0vŒñ+L u´’gþdöü„9hC<tlÕÕלJ©ª;G¦àãøž Á»†ÄßsæúF ß 1Ãå‚íÞæ 5Z¸Æ•z=ÉŽ…“:»g°i|fÂEf>ßÀ…“÷[]Í.LÇne“FPAßÜ4,å§]Èfâ4†úVöô±H_­9Û¢‚×?ÁÁ¹³6BÅä]ôo„$ÃݲñfÓF8ÒšÁšäQ„=ðnë†Öu=öh³+Ç™†Œ•3%ÎÌýSÜî.B1¯{®É>õ6Þd<޼HäTP \ÄŽ0:h@¬+|*°Á«§”JìP…cZC’|ƒ¼I|ß‚JVûÛ_î¸s³Éô¶àÕ/8XòVðÌÂÓv<¦qMfCªÓFR„Ì|¬âU±;Îh #ýÄPö4ÜFn@‡Ž,Ž]À”ã¯pðaCEÑ!wS ðWõ’óÝç"„m~tQÛ„5v¥¯{gëÌ™(^oU.væ÷ÿø‘ïÝ{™®”‚Mi>ŸHœWJèz5Av cY¯¿É."ˆ\Q"W‘œœ‚©Ç³`1¹âPYН¨'% ‡ÉMÂþ>'Oi„úXŸãÖ+ú$ã½ UáÐ8Å H§-ù°îáÂEËRÜk+ÐÓk*‘ÍãX‡Ô¼8ï+æ} ±ÖI¡ €“‡ºÖ¼aýGäRl¨c.ß\†|.Ê7ÿ½5˜¸þ{ …ƒ¼A´Ÿ7$>v)“!¢®Ëáþçê>é5Bw15¶õïFÀEdJbsᄟÃ%^Î>lè±Vg{nóZy*Úmƒa P2wX|EŽËÖçSŠš–ÚŒö£x[’ܹ@Mû7øIû+ma9?áê5cfdÜëqÊ ÔÊ|ƒIæƒ1Ù­¢“Âò‘ÀCÜîÀ7/:æö´­ãÌ¿P“—šóh :Å–}×Ü?ÒûCÃ7 #y”QŠÄó5Î#ÃjãŠÆ0“wè.y”’ùT[þÙ©âèÃ¥´XÔ$¼úƒt,%žjŽ:WÌtš­N4ɦ¿§O.èÎ0Ã;-úµÞ×-8áպѻË)”ìñÆ4ÏËë__¾ðòobÅ‚y“e VjP²=X+G—à 1¾¶Ú³;äb¾êd¢ß Ï–éHÄ]a†˜{ØN¯+š¡¥Ôq ±ò#9'{“ä®i{Ô~V¼’pQ‹žËV½\?‡/ò¡dþuûz H­õúÇæ°ÃUEÚÓ40ry h[²í^ûß >êƒÓE×üó¾Í—Aiø#q¤½æ»¶•¥CAÖîѯxã¼Îk/KVMPöM¶Ï¤„Ð(Ôåz3;Þ‡¦é›ËÞ·¨”¢”:Ýáà Õ}oä«TA 7É1ãa$äë2éÕ|»æ‡õáÒ-›†)BƒÃú º–Ùú¦=UN|³‚j[*•®k5ÚÜÍšØ9laèJk q ÃŒàAÎ_MÎ=ü¶PÀz`¦æ#Úk˜ ÕV‘Py" Ìæú ’Iv>-bùçý”wäTO¼_µ)5C&:ª \ S%>СJø ÐuÆl”ß@E}ª”b¡1Zg1_žY¤S„Èç¢4>K°‚Ó7Ö»7ÿˆµä|ºm(lbÏ› Z_ÉáæäË’µ9¹3«+‚Ym}|ýïV÷––Õ&Œä"i‚ôLeVŸ~×_\n‘¿zh_WP*KðkËOœìeàô4Ìm¹ØkŒŸ`Îuš°€×Zãl¶&êêrW“Öæ°je — ý¯O§Ðž†rŠ2™•S×ö+ŸúUAÓV çäC„pëÜ? 7±bˆ´”ÛÌÌþ¿¯ù²£¼Þ}[¥D¢tKî¸OBº v )ôXïeÑ?Ÿw¡ùÒ¼<ð‘Iµ¨‹lºð÷¶æÛ$<À[u.G“=,>BlK¦ÙÙo•¡G'ܧÅ!!“,åµe;ómŒŸ`ˆ…Óc¿Òžto‚ñ£ÛêÃ[ík; d¯tÓ´£o”±+øÍIf Ý}œä_{*@:ð»æ^Ô­Þ©ž”׃pE›æ”}Fé”¶??'|×08p–[~‚9Gލ€m%(]ûë ¿w(×ç”­å€Ð0¶ø/¸¼¥A§*•½•'v¾zPq«#¥y¿ÌûÖïI øÿ/½1»‘^•.ጨœä3T€°pŠâ·ß´êmê:Ðv!>p.sÒk^V†33—¼@ ŒEXQô—S¢ŸÊõóÅ¥zöo©%>`) ¨’sW`þC²|¡ÇS¸ÿ],%*Â8s€;z <ê,XEØW˜©~àP'äŠ ñÁØuº€E%b1.˱}¶O ˆÇÏ`ÿ™Ç4†Âx÷Ììü-FúèêžcÚôÙ±ì²èCèÜÙï ®Á |8yHUWC°ü#õÌÿWaK;G>•„º°[ü‚C.k>ol•q¬‰Ÿ¡Ù6ò$Wƒ·? «’½›Ea M;þD ûΔJ¦<6#0C”{™¶}&Ǹ¿Ô¨yýÆDQ’b-¶öàyáÑ;2îͦ¡ã‡ìGÍ$,ñÙ[¥±²–msEà &帓”ä—ÏF1s£i½XA™aß7™“¤JÁϘ”Tt&b9X¢¬G(»¥ô ¿õ À™ÿXÈòkß?R[[¨åöŠñ{õN_=¹‰Ïï»{Ÿôq{ŠMÿîyZbò·2~œ?9¸Šj.Li$oNCØóaYvËR5-WuÅ™œÂ@®•舛|}ÂÜÿ‘¯RovöYJQCùŒÐ}+IÑ![˜H+±sð6Zc(báÐùý¡Ð­ö{Ð0¿ï–â[—ÙDüt/êþòk\Œ†€½¨|ŽiXù]°šÜÑ$‹ÕE‹Â‡‘ª¥ÉèÕÿ¨èÍ·µì^õþצSkÈQ1 1Ò×UhçŒMoÓ¶w)íRŸ÷…œàFð‹×Ê·×ÞO ß‚Áì2\Ôu¼˜¹qHxÕ ÝŒ©ÎéE.á.X9…i+§Ôv±øêáûŽiî[©à¬P åZϤâcÉçÚ®Âø·‚7d_òñ…nÚ¦ž¸Áÿïåü—kÐ pव^ð LCàiø¼SÕ#øw÷ÈB#þÌRõ4‡²q1ƒeÆjTßÑØ3sYöq ýç?Z§Û @gÓ;}`õdš'[~ Î8˜èý ¾–S­!Q°vVÉ¥cŸ¤L`}üXT£î-@äÊízæ\ù.«ÂŽ2"<6É×9•yýÝ7Ÿã¡™Â øÄOzã )¢Y$62¡Zãúù€D)¡TFvzoŸüȬÆFKXõ»E·¢2“C™‘½b3¾âž{¼Å6©˜Û´9ª¤Ï¶#»T1¡ fÿ õ”ƒ§]ó'‹¼â…æÝ¢ÍÑ»ÇKI ˆã™@³„å †x¨vÏå,¸¤’Ç¡Ûc¸âߤsÍ9„üÞÛ="ëA®u3DShóx¥BƒQ_IÑ.äkžgà+O'/ÏȾ èûü9LâÐDó¢qò׿”¢gŽ$8 óä²x9v²zj7«z+í^áÉÐæŸÑåSÇCPuºÄ‰JEMC|>Å #U Ã’“šKËÌ+yiùÛ¦”-¹S&¸m SØ Œ €Œ ·Ýv° $wM_T ºeè}Deå`4M,ˆ_Híh}byaÔÑÈÂû¢.ÓÞŽˆƒ&?… õ·—¾áƾmÉ® î§E<)’IJÞ[¬À|Ù|Âljþmвòðò}P}ï¾Ãý ÁUsHò­U|7PaŒ<¯S‘ã‹x\Ò,ÏÝ„ZÒÞAf Ï\ð$ }P…³×¸ M†\Þº\¸¬YŒiòüƒQXÀ #ܹÝã, ¾½.–ÍÍ÷VÅñ2H=|³[}ô(ÄÓ;SOsæŸÚòÃÐ[;‰áÎ÷j^DÅâªfòøÉ•€B÷Ò¥åf®ïJ, ÙX ‘ ¾¶&«ã?z2ÉY‘k´l`³”|i°oã€î­á¿þ¡“uìÿvEíš—ò8Sß࿽ձwþԗήŸ3Ô:HXtÈ‚*wA..®þ0‚o±ã´$bHÖÿ3ôÄú·â™a°´¦™tûô6"r/8À½#·Å PQo¡}TµÀLöj3‰?ú†ˆ¨¡p%„t™Ò~ ˆÏ{TutâÜ Þéb(JŸœô“V}­•o–†l6ñòâ{^VL€lù2é8ó"˜×Oú! L±Úø{v“#?6Y\B{”8Âø˜T4ÝÄU‡¯ùóoúÂ^‡®l„wÙ«?hÉWÿÐÓþdr¡Ö¤C{_š»hçñ¯±´¥'@¤ÜïAÍù ö¤›L¦ØzÅ¢E¡ Š™‹d«ÅTûÓ! æ7AÀµÙן,úÉ{I¤„“5äZ‚…+7h_€#!yÀ°É7}1J¤rÎ-éÖ·Ó° dÞ ZÚ“BðÄŒŠ‚‡iºzc}¶¦$Él÷R>ºÜâ»MŒï…?Ýa†2ÅÆµÅ.¿æ„óûΨk“®Zr˜ëä„C0–tðg¾mh IÔ@Y§ ™›4´1Љ9†…>óð-½Å•%ŸQ˜Æ1^ê§Æ+¸¡èñs€Ú¦ls÷žM·Ù)Ì#¦73úáa ÛHï_nl™.Ç5Uý ³´ÝˆsFñKa(˜zeUîWŽ7Û;ed)&ï_™u:Û˜¡ƒPü¤’}ûcèʲKz}Þ­,ŸçúµùÞÙ×Å(¬G³8;QˆQµ¡ ã?Ü*ñøÑ`O8Œ˜Áþí!d:¬o% 3Ĩ&ÉS‹—Ÿ6Ío€ç[?9ýŒ6qDp²oé-ûñ€ïüíÈ^$t²ªãëût7ñkÊp¸Ìò |‚7æ§Éíó àÁ!?%º*å:_gÃC#j¿½›‚Iåªû¨3·øð4Hf=ѽ¡¯¸¨Ô6*Èw(µåƹ$œ5¹ß a ñßj‚᪸ͺv^†òî°j‰¡¾ åUþ‡V—µøÁ p•Íûwt$kQç­N8÷^‹òé-¦)ÌížÕ¤U¡›'Ƀ{²Jn¾ˆ²¶+5Ã%Œ1 äÏWÇ«.A·“mV¡Ä# Og1k“? »åÄ’ó³@ÞZ–Iý$˜¿ó_B ö2M×ò:G_/žáÉh[Õ’Îý87]Íó`-¯Zzˆû’Æy›n(¦ç¥ Ÿj˜ 7ë’D³³¾ÿˆé?C„Ó„äÓímþó'Ø‹¸KíD»®$þá³4üàpJ7hÞ‡>X…÷¼rŒzÔþñrÖyæñÆÃExŒuûÆLÅŒ³“…¿Æë[—ö ×Á;F‚ ‘œReO‹œM ‘íÐ7òä#Ë6v?Õõh›Y«³ÈÑV œã¯K?g=Û~ÝÍŒ·\’l+ù)¿&Š`ø(Åñ¹-;Ì¡R2£ø‹uBt‰º ¼ Bò¥ŠFJÇ…af5Sò;9ÔЦÆÿÊj*Þƒ;NYØå5Gÿ •Î1nÙÎ\ÖÔ….MÙQ©ø|*´.Ä „ ×(Öáͧ:¨ó:ñŸp6JM™G½H›vÎ âGÛ›Ð&£]rHue“´¿KÖÕÚ¥.a÷8žkqæ·„Ñõ ” €nDé®ÖwI+¤y1é4[5·ŠÒÜ YÕôÉ>ò;L)r;"Øœ*ùØ'~];¡J“ 9 z~l}ù-(¤‚,`ÎÉ·†ŠCFÔP/Cœbi»Ô¦ÿ£K=žŽ½ð„Ú6sÕOéc,WÿP’fæéR}£± –n]XSØåg=mÃ}Nel9ìa®Uq,üÊ4! Þ®ÔDã­ìþ9°Ve’¾^ƒ…œÄ/ž)Í‹¡"D‘~ÛýÀí ŒëùU_ñÛ1£¼¿¶žiƒ{¹æêÁÙŠR‡/؉.„»îo(¿*(Î`Þ'TÞŸ*;&‰a#ϹqZqe”‹ÞæX¶¬:6ýÿPû}@yž,²±àÕV€óÉ@/,Õ#T©Tb;7ZùhÔü…J¤L±lZेàÙÖÊÆV+úf§,¹RAü?8b+£SFpþÏ‘íœuÕËÕU{’t @ÿ8£ë?v ëü ˜a^²°]Ÿßl⩤Uk¿¥x9»0÷$rd©™ÜKúP‰ÏÁWx­: XœÆW hXáZTU†J«œ_§,gÄ£YF$j7ú˜µj¾"ågÌ€Ò¡Ÿ…ýšÁ”ÁÌÁ£Ø°ê 9„¹§H[ß>Àݽ“Âþ]/{1ªå™Ó³FY}HÐTÁþœ²¹ô_µò~©Å…Z‹ Xd¼iµakõËÓÉ»mì»{Åx¦]ÿ²®úÄèó +p™îçè— Zâ]Ýê$hßÔÏNÄY”i‚öÀCëó1¬û¹Ëÿ+ ¦o„ aÁ CÆ-¼T¡ë:¸ Ƙ–Ê¥—i*s6ÑìžÝ_Û€[x׆|"‘a‡$0_[KRç‡WÅû€_$¯ 2Rñ}Þôurš»l¾ÊiU§¸¸0Ð1‡sºÇ j Sí÷¬ÕG¹—e„£Õ¼Ô¦¹ã§’_ñ$ÆÚ€ T¾aëÍtØ}REÌ–¼ï³“£=âÃ+ÂOäãÛ;¨aNÌ×ãòV1*“\ˆnܶ/¹£Þu€Mè”fI¥`òí3»“´78Ø‘¾/„ØÚX¥Ç-CÆÐJÑ$/Íú€,:±uœ ¾*;±Ä6|‰JÙÅ1ª Õ÷Vº²—8žÑ™¯“†…Õû ZñM̼XÊ#xá«uY/PŒ´VSéO*ŒyêínëØ†²ö'Bn½æ±Zte‰MYÀ"ŽÛ¹Q²è©_?¥…¾Ão!Â'?C‹Ž[nkÆú J*ÃcéCþ <Ñ–¦aø}ÁO ¡dÙêΈÖ},Õ÷dJ‹`ñоòpà?ã4¿'€¡FX!ž1Tê=)d´I¦¸ê\õö”0ê.àµÉ9K„ˆ¥é½«Î“tKø”ÿdÿBˆ‚oÅ{ÈYgq ;c†îLŸz`j×O¦±°©w1QñÎr)¥Åœ¤’W_ˆ«2 õá…Ùn¦FµNEu¯f¯Úl“]®àá*ú¾.Œ¹[$ý«2N‡—%kKþ¢ÊˆGESPT•1C8a¡Õ'äxÿëˆ.ÖnÔÆ iCv:©¥ÝCN¿ÉˆRS~npî”Mì­ý.ÝÓváA¿7AIå31R.ÏHcg5ÃÜ»Ûö^³Ï¶á´Ý?óÅDœ•†)fÝ*€Hìñª'ý‘bœå3M˜ã·]"q9õ#*2€LMìâ3úï)Nh{;ŽV*Ü_·WÛrØb¥ vˆQÆGp?Õ"—ãk|©¬whVŸÌ’áL¾t·¶x#5kˆAÛ‡ni:•¹ë«ÉhIû˜Y„d×8…œD²:LÁR»‹>ÛLZµ¥61ÁŠVn>LªlÎáIDeyýLÃí}Wˆœ“ï¯ïS«Cµû:=bž$¥ä~g•G ›–̯ÐKÐzåôó¹5 šû>œÑVæù ’ŠþõâcûïÁk0ÌEjsÃw*¸f~ž]ϾƒséÁ%çH÷y½]U¼ lç³vg¤‡Ô7Џ6Ê£; ·aû¡>·v÷Ävà[ùayeŒvJ0xa†xÍÚÅ6ŒÕ±K^fç´!§e#DÙ3Ù#!¸HJ×sâM$5s =Ÿöá²Èœ«ְמ‡c†°Oþò`X –òQnAÕÁ1÷ן¨¬)€‹‹Ú³µXÄiZU *¡ÐÕ¼ÿ…È·AaÆ*1Œfà´­è)oéu _ †QÍG¨>œUTå<žãr:äGMR>“'þìO Læ& aPù0tQ$jC„;\|N6äL6„Ôt‹N6I™7ÇÌ+9+ëÇñZ/7 µ¹dX3#ü¡ã€~ýÇ\RýÏ qÍãîÁ‰SÇô4+‡zWi¯—1´A‹ÚÖÌ™SÆŸ‚æ,T¼Y¨%Êà¹%šlÚðhî¼O‘ûÀ›B#×þ'2¢}ÆŠmh6#)«ˆ[ Î+P0ç¶Ž_è3 8†ÊKµ~½å%).;Ý’­<\zsêL>ôò;ª °ª¬I–Á‡[VEÏôú¬AÙM9Mªð5ŒíÙw^íbJ1ßS èV ßß?P:壌uDâŸHøa<ã°íÞÖõÌh O¸uØZCÍ,Y¬»)9‹”âÔÇØZšw^Ä&ñ‚=,ez0A ßÉ[bÑœù{f7§ÉÉ…Ha7ÐÍ2É!•\šT FL¨©„WF›@)h¸,/¯ÑìeâÄEtµ»å½;ʼnû)6¾%µ Ñ«‘Y‰@ð€‡ñäsH·úš2>ë7µKß{pw0¶T¼àˆ€&îï÷—Ô±`G¡ÜÕØÆ¶€§OÃWˆ¾Pxò~¸¯Ql†AO¸~Мñ*^òÈÔO ªÉÂ\]Câ;EÇ…š8æC#ˆ‘åúÏ´»ƒ;·Y(z¼…QÀÐ?«uÕ8ŠÖË jz<ûhø+þnÐoÔfù食@²ev‘FØçßÅþâ‚þËØ¬ùxÚ”žï¶Áæí§Â{UP2¶Ñæ,@vc›×ázS …4,š¸éççµJ)ËA¦B²ò`è& çN+ˆ:"fÛB3¶­¨/ëÕJ7Äw0¶À?@íO¿•§/§zYÊBu¿Ü‰þHËÊy¥´þ¿“WtålrMúÇ=Ø|“°Z„ Ígñ§$3Á-;ÖäŠ)Ä­9óŠãµøÓ” fâ(ƒŽMa¡ ¨¯ÓçDÔ1æ ×Eã¾Óû¶†j]R\|Ó’Mµ¹ô]•Ä ,†/;Ç»´ƒ9ÐÃ-âÍ™` ǰ¶Qf‡í-Ùý“¿‰Ìˆƒêv3±ƒÎ‰>,ðt:+ AÅíª®¾…Þ ÆÃ~FPòtÈ´X¦¶ÊÚºÊ90ñdLï:ìn0T ^ïzs6˜|²êBä9‘ÖSšŒ2Q€Ì†¤qþÜàŒ˜‰’‚Z©mã_ù–jÈù|'ÆÆ`ásFô—Ñ6²N-Ÿí‡ƒ«I~Óú¨zëPf‡Ÿn´­#Œ—‘;Y¬ö­¸;¾]ÞàÅ·/u›H;5IÅh ºæÂ]_rºA¹c–á¡ÅÚ¯ç q ˜ù9ããn ôú«XLèóx ³½äß«[‚]æ&–3®åÜÖ†çb࠲ǯižË”G§e3|XÛg“4άj9Áà1Ú(}c­öý;wl?à=/l}åþ~«‘œ¸µÇëহßXhŒåÛÜ]3µ3Ì%>©d1É(ذZ›€”rœ\€7,Ù€¹6<Q™ò¶¶ª¢,Jk7(Íèä6®u¹g¸0R·1È^¸{µãòÖ8Ï¡ô éƒÐ@.ªÃ1£¾F¨Ë>¸ú©•O‡^1 Ï%£çwÅÒzÈEˆzê—Øépú¹ ÷\¢Ø}‘ØJÜ­bE]>ÜŠåý)^þgáh‘ÚäI¯ÂÍŽÂð¾-SÍÐÊaçïj¨|Ÿá‘¿¿ ×Èáu˜ éĶÂÅRƒ!VkØ)ü®6a´Ê ¿ž%x)ºŒ(ðlÃ’ë¯mŒõ B *ž#’vj| Ù˜–Ÿ‚˰ðÇR˜œC<5¤ØaÏú²Ñs¢À¡XGùà©+Ýfã~NxnùŠ ù´FÃaéî­?³-}jÇfˆìØBî‚ÛÀ9%r[:i“Š©ª‰Mûy†1NXþ[_‹‡µL3×km‰Kþø Ç71¦û">!‚³ÿ“»]–œ!)„wobØùŽJ1z‚0ºü.•¾3–¤`a–Õƒ·c=_ƒAàq£wψHÓwRãIÚäDlÏþ »Žñ±}‘œ*ä1pšóõšä<ô}SJ…‰â[^×0jØyéD]ìå<7x^3½1Ú›?²FÖ½#J‹}N;òjUP3Ì«S²EXÍ=¼VdÃã÷P•º{þ Z'*°Ú] VÎóèe¥ÓljyëÃǪ7K¡ªGp;­¼]mJ×iðe?ý¥löâYËЙÈ{”6Öa§>í8÷0ÞÈXÎQìi‹;Gch!³ÐŠ€ðÖxZJ–£ÝŸ?—Ýü‹¸>¤YJ˜Þ:|méùò|ÔXØ]w¾S®@(˜Lý+Ï5ÊÞ¯„Mä•/¹Òž Õƒ3ÄP¡•’]m<2,ËKèû`î¹’Ü )Û;¤;;ÇkÈñË—œÌL´¾žO•vjÐAP XƲ`GûØ/†Š‹ÑEEOà^Ä»^Ë D¨¤Zb{b˜2[j׈B–y­DþÑÌb"ã6?,ÉbÂùǃBøRýèÖ,Γڷ.eÕh?]ÉÀH¸ Lô(Ý{Hh 3Ä·†¨XK¿ô?`lf:%wg()&6!õšåYù‰úÂ<ï²Ò|èÊ Äs3Kt›³Öꊑ¸@_ xÆË?h ÅI†¸êá.¬ <èé~x*õ~ÇÈȤþëѲ<»ÂH]5g!‚Ú¿‘_PÛ1$VŸg±v3ëL™aPè]¥N1‘3RÏæÀ¤$oÜÑþ*bo“°Tsþbè‚»^~È"0MjÓæTø¬n‰ÓG /ñ݉ÿŽ?Ð} xZEoÙ\_•“½¶?jCÖzŸ(ÌøMç±Þ@k… „‘¢ûØ£3#:lÎb 9*sê˜j©ªÊF,1¹’äÄCÇ>;<~ìBÇÉN®—©¤<°’r«¦âÞ~8ÂÑ…Zà¡H}Òƒe†K°†o'¢s2½w&Éš`LÏYÖX¥ÌP1zn™ÖþþˆU:ßÈòÀŽÂgV­ËCw®”2SõÜÕx+QÍ-ü²^‘­À›žÇ}$×LŠé™f€ªÉk×dv½õ8‡;ÛFîQœi‡ì¥SŽl¬—!Yþ8/¼E2±äü?û¶ö-¤öjݶ߯ŒGA¢dæ¦ÌS×O;k>X<µÜº«RÇoæz^êB!(…b Ç‘¦ïnÊ×Äì2ƒE…‡ø|­œµIYs¶>ƒðán{š·4„Bþfz¶¯h8ò (œþ÷ç&§Ã&9ñ˜‘eqJU7ë× ¸ÔÛŸš©­‹Õ,…ÜüFM-üSöÃ.T—é£BšM'¾Ád=}„ABOÓ¢Ta—&KŸ:!¯I´Q‰ÉŲ\}§IèÇAa²d#›·±U“õ÷à º…[§Ì1O»¡^„é¥iQ«áÌÅÄû²›Žž¦e}Ž™^ÉY5†¯OOw·g€Õñ«ÐÇ"á·&•>—}å„âÂ'd¶ÙÊ„ÿ +84oÊLjü‡5WÂÁ¶P²1ŠÈ¥l†E^wqïpöÖÆù‚b£JÑÌδ†Szß©æí}¦wÁ/mË4W~>q¦F©V ~Ìaó¶ð|tZ5md×Ëšä±3ÝUóàÞÌÊw\;%— µRaÖìÞíç§Ò>(Ò€m}ÁqÈ0SG[m¤šE}«ôΙ]sq·ƒŸŸ š_2±l’“ô#¥8Åø°Ä@¤òK“œ‘Ð0ÏÁ­ÿÏà ’U×0^qª1'Újµú ¿µÑÒ;d º<û½Êg®j„:®®À¡kÄQã­*Ø1±vI 1%X)KÔ[ÓeLÊj¯dT5ɦÇN˜fP°o¼Se {ŽÂË<0x]÷Ñ[¨CefJÝùéÛc뉓2“ÇëaÑT2buäsœ¹ïJ4BXN36Œ™ss–Q{<©Ä˦$s&XnYÑo8ÉEeX7,‡úÄ’w“”k²j. Þ±K¶Ijêþ_VJ¸æzÓ~Èy¸8U¢;æ$H “}#•%›iø[—³ï(Oõ…‘Ü•ƒ&Fáë.q]+nïG¤†>¤7®¢}P—|Õ,‰oFz¨õÁÊÓa{” (žm.S­üÐóÁw¿ûè’{™ÝÐ|,¾¥î‹p«†ðÚ­Ô‡¹WVÖ(xL·÷à?q«*° t–)ýÕt 0•WË fê#Ö¹Ø+vKU=Ë ta\ LBå©”xtÈ\cnŒnË¡Wp˜½¤)ÁáQ{îû„™kÎ’J ϘWþjA°zÊIv é©*`ùvLË•ÛGú…N; Èkç(5=P}“¼l&:°F ÓÞ,¨¶yJ¢¹à¢ø›Ã¦dâr 㹘ëéËÐ1ˆºeñÕg\ ò’4Ü—læ4× ¡-a}WëH;ºfKÉuZÁP…Kñ»™'$ÝÜpDoô<„ ð‡ízßq”îáô„‰ÜšyŒâº”°âÚ²‰Ê¡ÜiãIôO‘Axž¯Hä› p£vúbTÿóY¦dZwT⿊È>Ûõ¢ÉÆËj­‡X¤‚hžhš°<ד4{Zÿ‡4¾—éÑa ¿ßÒÑûˆ=a ’,õY¡Œ‰Ó¼rÝ{‹ûºw ’±yÐI ÷è }mIMÒë€Ñ1â®Âõ„$3æŽQ&W+ }[Ø6¬Dg£ Hʃ?·çżÄ}KªT}»±ÉÕàƒ¨-KZ¬n5lX¿#LR©ÇÎ’LÝTzÓ*&0‚U™s)½Ã+ILFUÈ0{çʘœ$ÚóS’² Hb\9€ ÚghqwAR7>Ržƒ OÏqA#ýéè~óئ;bÅ>§m Š_Vï½<:²Æ„šLZ4ã2)²"l„ˆ…r7á{Ô0|vj@ß1ÄŠï·“sL~ð@¸Î}¥†vÙk½d6~Q>i÷?ðï ;Ð}tŠ=J“’8Ø4dÈ´Ë~Ä_4–{!é6$Ãöß:ƒÀ躘d Ÿ\_íà'±›‰‰çVö£YQÜúP¶q¯aºïܤ8Œó©ó…Ê×)²…n?q²ëÈ«5ªâP¦Oó-¯ƒþ=%Kª"üoÄE4¼+k*­C3à(‡Ÿb2‡h2…0ÖúÉ»b"xð¶=êö?¢3·M+îÝ©„ NJJLÛ°œ%­¤Ü‰<‚U>gë¢9^ÇË@õšiJÆv‚)çDvˆàšmÖ’í@¢"›ß>™’•é#&dç— ë±JY­õ7™û¨fº0Â|•hÊ*ìGlù펲»ÿ§Çaâ©c¢6ô×̤Œ”A#ÄœÏ{†C¶4”…áܾ¢×îïVI‡8‰Ï ݘþâ~¹›=Úù´\3%Œ¥iKÚˆ-[YbP ñ³XV3ÑiB ©ì»p±ÓªA¦ãÉmúÚÈx ¡sÞÛ¦}2Eñ9‹îO¤œ“ãKm-12°vè †™µëƲâe$º”\(Ÿ)|½·’ÙÅXÏd »nPÎv¢ñ=BØ…s{Õ@8ThKÌ[ôgé²µ‚fg8¨°d¸«½‘>ìfà·éCi÷_ÏZ®¼Žvœ'×Tï¦Q9 dGx"1Íäʆ-ðX5fŸµ '¾lÙkýÃyéääEÎ#Á/°GSí|>J”Í3>> `cNëáÂ]˺®:ÿ×nîщÅbã«h ÁPÐå–š†q¶í«ŽšœÌíÄký\„’¥×?CQ¤d;KLÜ2Þ4²vq¥Kò½ØÁÃGµÅŠÿ þù!6öY÷D}{wìCC.Ï `íZcûHUÿBâý"¼¥:,7ü™‡k`â¦HãÎ=Ê kÅYhOc˜]7ÕÔ_ñ{ß+(ƒ#ò“ àŽÂ΀2Ît®#–ë½K 0%°²v_žz­œ$%ešÕ`O(êH'ï¸Íî„‘ÆSa¢C9¢Rê®Ö!8sÚ˜ÄU›eçý¶O=í—ÖúÝ0¤6»Ô¯¡Â°©iËðŠÎ²âYÎÝ„¦L*:á»Ê7ør- ŒÊHäúƒJ.š([€„ªö³ÇzØí—Šî ÷R‡È¿¿Jy¤÷ƒ—Ûxçï$B 6ƒ´ÇR–Æ™–¹¢É*vdÔ§Á'3B¦i«.\jò99ÄÀB³Ë¬Q朆€i¯ôñ3ö£ó_áÌ€KZñÈa0Ô(£Øvm\Ó,E þñ'ăˆ6È,V1ä¿e›.Ó¤³&Õ«ôµ¥A—i\%EOû³zàÔþóî>“'ÖfËÝ  þ³aUYÄ5o1)ªeËöÖxá2-{Õ,ÝÕ¦:˜l‡˜ôzêÊoÞÔjÒZ©Yâ?1”è˜}”(%¥= <.êË BMœÕ_+!vç±UŒ*¨)èr)ýŸ,ÀEãrr›¤²ã×sä­ý°ÃàS££Ï™'â/Õn®à™ò§ðÏ%rö46ôÔéØâ1%b%¼ÄÄëcm«ÊM( ™“„Üź™E¢Ö²ƒ/e[¬Ý$šøƒãÀL†Ø„Gÿ YðÍ—"ÖF§Ä1AÏac ¬)²YÈWð‚gÚ~©i–ŸùˆK.ŽLû0ëÔ7†0=„§ôBÆÑb:Yz^}•å‚%£«:ˆ„ô.À“#‡ìt©#úRæ.¦¤1F¨DÆW7¹°øo €!]iŸÛÞ€FÞÀ×tx ¦Ù{áR®ƒ ´^ 0ÕJ쨀¥•«¯Vú?ɉ—¦>!àý¹­ùv »â+ëÌ·¯ÃØœèÚã§Ÿ¿Ïδhm’õ§gyoh<$Æqš¼;ó§- ’oAÖò*ÞŽ"b}§²ëò Ñ*DAï¹W.žòPä3”Z°«uy„99^uµzÎÀTm›°ˆU%•9ý‘Ò^`Øi›¹ZÀÌOà ,;Îí¿ýÝ:åŽ'­8/¾¬¤ ï×<Û{^ *ÒM#/ïºq÷@F€¾ûÀÇ¥3›¶—å§9“z•Òfk¬‚½jtèiŒõ`8™¡xË-),{K˜]É{Øþ ÁeÀYJñÏUä©üú¼¿z [”:t“ÕF潄p*(”ˆ€äÃòÞs—~ÂcÎ"WgDr3£bžìlq~ êéJ}PØÄÈ,"œû55ÄÑZL ø©>;5ݽͣ3dÚ&ÄÖ„‰t–ûƒ ¶äxQûšè–6%õ6VnÞÛSpýÚ.Гê÷‚`<ïÏ9qøÈª¦'„±ˆdúª|'ãÛׯa3ý¢0)ÏC—Э˜,õ’Úe^F`hàÜO\]?ºÛŒ×9ÕE¦@—k–[œñmiÜåáË'"_$m ù˶Ī7-ØÏ&ž¶· lÚ+/ˆ7X-@öÉì+qsmö+Níc¬Äû`Y*_acÖŸÇ©Öî§ñ&mµVU7,:XÒm­DÈûÎs}….àš@‚¼Y0½*nŠ4Ék½±dÿtƒpû6—€†Åjð/)Þ?(ù.ŠJÒNØ€œj‚StŸ—¡Á˜‹Ý<ÆPY¿®«½ƒ"æ€L¿i`×<QwC™•‘ÃŒ» ØÊ`ŠQ—Ü´uIIpïTÏ(‡ Q¿ 4¡‹ª—I}ØY4'¤¬‘ÀKmµ\†ÜÅp· ðhJ©ïÔÒ<ÉúLñEÞû¼»å•KÊxZ8 _ÔÌZgñ^eËú¬‰Ëèa¡+(Þ ŠïSs»Èý8Þ+‹îÝdÑ|ÃK]Å—Ô¹iÒ” Aû7Î¥Ú|ô‡t/­-)‘%ܤE14ç›…ŸTu;?< $ŸDoi½0ˆüõ¦‹]t¡mV ž¬´B|”–o+÷pyAšxé;+ J§3•]½Ì’×ÚeßÓ­­IÝæŠa?¡è€w.I`8}&ôG}IsÞøfýuràÈ¿‹ê²Ó¨^‡<´+?&2Z×`Ø;¯êJBÛ™_-0;ˆÄgýUüÈJ;©/rÍ×|jÄÇ$ŸrmTæ {cÃ`·âJç´KFCV¾9úQ“Y†Ô8{>¹ØâšfðPñö¦ yÈ å¶~}œJ†¨Àd;ƒioûEUü{kv3"cúÆ”FjžÀ+¤dm=ûÍLnTߓЭž ;ªJÒÚmþQwˆ$-t̰¥»W¤Öìí"n15ùÍ81,ÉV.yÉ&”î»roüJƒ"ìç?éõ+ú}0È‚2Ò¸mÜ|K󮵩ƒÎOˆ¥ºþ{CRrÀ×ñ`Ü’/ÈʰQ81d„àÀEÏðÛ9§?FÚAØ ‘Xo–8›Ô#û±Ô/þl±F®Rão¡ÿh§|£5dª ÝšN¯þ}ñQ ƒŸ*rÁ8Ša@áõƒŠ!Ô.á2à(0 ö&.¼îó±ÿDHR;ê”›„†'°G ä'>{>0´ö鈗浸ßDö«â‹Ú8¤ŠÙÊíoYu?LPjD1hܱ™¿ÂO5ÎÚ›©‰qà²âý'ÚÆj$ç žC‡^©îqÈ-tÆY$1¸(U¶}}:w~·ü+é¿„Ü$R߫ۯ†¢œ…9ÝÓJ´W)²÷5¡–¨"§¹U¬Â;[ 5 §œÐ¸zøŸÐÌUõ,öÉÜÀáúÂÐ5‰'ɱáѯ`U°ž†n¼A[›Ìˆ(^ží«X€ãp£p"Tf|d&ùÚ[Üâ.,ùøizuñç^ ý݈Ùÿó{ñ¿#k ûᑸ¸·QlUeyþ~I2Šñ4· "’ñ×(Ïü¢“\8ÎÁøsà*¨ÝŠIù;in,øFEêvàKÀvõ6Ø)oDúf~®ªEÔÔŒUƒç/DÂñÍ^AÆN‹[žuÍfM”šC$‰ÁÏ~‚ÿPöO™Žûæ‰ø>‘Èê»3t3¨™‰Î‡3ÁÏ÷;+¢I{OÊö ²á"ÍßÖèÍðNÙAi %˜kâ׆ŸMQ»žÐØz‹­îîXB98¡{T5¨xoŸº‚œ›Že¯{¾¢—õxò|ýMk÷äo¸@eÕ~žÛ‡ ĈÂËÓkïz¡Ù9‘M#'«ðëøP³•5ÄNƸªÓâsÖͯè`–R€Wì¡‹œÇpÞÌã{«bΦº~†*È2H=¨`"Ž!6î½Æ£Ií‡(1²™~Û àëWráM,¢Úû9-T€ª«ëò ©í߆í¯ã­ × ~Ÿþ‘3e´çT‰ùØÕ^<+¡sÆŠÒ¼ï{D |Ú¿ãé¯ÑWE>°8AQfupÔÏÚ—sZB&—_6*®“±æ¬éÙÂ2ü˜ˆËÁäAäœ ÜvŽÊmjë§Ðjqc»€r…üÐdñ°y’_9ý5€Fbýꥉ,Þÿ(É|â( ݇¯n‡³ç•Eè"ÞvÔ¹Œ„ˆn6Ìt«ˆK½çòeT;Éüp“Õ2Ù.Á|O^ÀG w¨¦íÝU;ûcV>­³Wþ"fÁ¨-|r;ð@-í7»_¥"“AÚSé dˆ¿ÜZÐ4Ëâw*YldÓ7,ebhùqœÊÛÉ€/ =ê ÔqíËï͸C?ÇîphØdª+!TfvÌÎ`¢Ó³HQiãgX–\häráøÏèÂÅÛ¹#×Ä9߉f¿Õ¶œ¿Ò©<ÏPw̘i:B‹r#«Š6˜wžK\¡é8(2D²´Q"îŸÌ—:füx­\=Ö\‹ÅÖ¥r3Ç$cÈS¦1_š> 2€Ô`(ø‹ } CÐã×&h,Z¤T2ewèÂc¬àÝ ÀÄU;<cê8oÝ5¡Pɪ{Wç®ïïPGq~{íèÛ²ámé ¨mažC“*¢ÇâAîµW#'"³P¬½IPbœTù¢=iA}öy}k·Z.S£žçñJ@‘á#§Ó^µäì 𨒎-ÐR{6f—wM¦KÅ?~xÖá#\ºÆGõ­¸GüËÙÈ>\ »W¦í6帎…‰Z*ºÉ È在¥ºwvã^Šn8STz²c̓ãšPí +‡p}{4<7wÿ5CW$èÐ"¹·ãœ%4Èqí220•ìÓaç‡Ë§Ó–tÚ^Ýf«ÀB³9ªhÞÞ¸(†ƒ½Q˜à»ƒ4i†9鵆‡ýÝbr&«ÛÁ¤Óv n-ÅC§Ç;“I•À‘­´á%°>ó¡Ð.>¹¨IR‹¬÷2TzE§¦JÙT>€ø²4ØÐ{x Jµ¬ë—w~›÷ØÜ‡æ®È@æ-¢âßmc¥èÿ¤Ùâš0 Ø_IU‹5~=a ëÝß:t*¥pÒ­Y¡5|:Éôßn´sƒp†g½—ý¡éüvìà šP¢÷ÇÖ+‹.„Z×bé~)ªÌEæÜ×ï1’Å xw¯S]®¯LFjÙÁñ¡W6è¡wÞ³ë{˜k[¨‡c¬šþã:œ§GÜ¿`ú&Ä`•†ÀÎ^ÀGh©âq²u6{Œ¿Õ@ꌺg€Um>ÂáC¹ð­k´I®7‘¹šS«d¤4ÝHF+µ8~nLQx¯É³†bnJ%¥%úÝ}-X¾AwWì¶ÞRˆz^9à©:fTSç"1Lî]Ž;*— m€ÐËûò€ ËèÏñÒ÷‘)!÷JȽ£rû")ëùv.P¬ÒÔÚ5ËÏ¿RßÚmñ8þF ªæx>"úÿ|^#V'º¬,®rŒ^‹†¤òé¨3rG›èG°Mˆw—øŸ'i/”.a™]<ùlt¾|vs~Ò Qš5AÉ•"BGÆ]Ù­³ïë-‚……CMû%9—ª‚â8®-(Þœ=<¼\j¾^:PldþkEEd5롇‹aå;d³ œ“Hf:7]]TÛ<€æe•óÿLÔ ÁÉÉA&﫾,\jÿµaŸª¼ú„s™¾®îéÛh7Ðv2{ÍYEb”‡ǣ9£Xº0¶Ië\òW"ŒS½ ³I„#w œfþҚÈ'k4©-rk*¦ÒŠš¯õJ1ù\äTºNW¼œvkæ¾Æ)ù%EzVbâ—ïY2;Å)6R¡5¤k˜7¼ŸÂ¤ ‰dùÕ+A!‘íôDIg¸É ­ÜìÖà'¨†–=ûÀ½?€*ñíÍÆPAC‹G“KÂ&ÿl‡ü Í@iŽˆÞ ’凖»™ ' çÉ{üsÂúê]­‡ÿ E |B½¢ …çtÕ„2ÞVJ༽¬%uÛ#—}IjkBàÈl/r2‡|AÖ‰‰÷0"åµÇ°3ØÒÎK¼ %Mp=ÿÕð¦þ£(ÐQÑÁBäFâÏHÌ’Î/èŒ'‹uõaçÈòÄJð$Ù­¼á*FªŽ¨9Í̃PyeÕ-f’ÎU"‹ŽõùQo-ügfüÛ‰êÀ‡ð1'ºaŠ—œä–´u^ßÁ"ò ‚¸&ŠFŽë.6¶@r8={aöa¤•×9³%+aï9ßÅÄ^}÷r³ÁÆê¦/©Ù•¸ü éíJïÓ%kí‘6GýWð| ø>ÐWì©r`5ΗÇSVºã2#id·ž¬:¶ü˜H`ø#•z0úøÿ®ç‹x"×UüBñÁzªÍe»®røìÔežSö€r¬R5rää׺'V£c o„7RNŽGY¯Ò„òùÁ¢h]?sõ?Ò<«¸aÇaùßðËNOÆ=©6L#-ö²Ë }¼6FKð»Gé>rù×SË'ŽÒ Tí®ÓyË6æÿâvµD¯¡Â{mê[wŒœuÈçö \RНäù( -Iqð 4áDè~wò*ùqH w{yðxCØ ùrP÷Œ¼Õz²qoÜÎAÛ¼ñPW-¯åP¼U.²Š)÷¨¢Ž—ÿº¢2tþ¨‚7E¦¦ b#l¶¦´%´dŽ<‰ÍÓãNWf[…‹™︄|ù…° íçj$i£¶8t¦ÍdÙH[^º—Ò-‡C¢]‹ÿ³™gL¶žšŠÑ\õmêø-«Ã~ú/Œ’/ହo·[)åek…FAå JpÆ,ÞÌ_1@Úé£Ââö19•¢ÜsAQÆ ;z4ÇæíK/4)Õ§H¾¬ð ïAÏݽ»üñeSÚ±[>Â*°b”HxÞm¡„Ô‰F¹Çb†k;-…÷€ ©"Z§E…0v¾<^$Ä ®BëóБ‡DŸ0Ïy‘׃>ÊùSp`ˆ­9í4îDÞ(h^ÖžøÌkÜMÕ’°ãõ'ËOë‘܇\AÉ8½íç9@ÄÀ¥¡r¿'¦µt¶KûœzFo$†G[Åøþ1kf Â­ß¬qˆT¨ ¹ÉžÝZÜX°êØf ‚ÆõZøi'b‚•?®öǤÛýÙÎÌ€àËqð/áÔoÅ)±N3àsß3íý·Ô“§œ„.Æô™} íºâÞ¦Ö(G¦³ÁñšcMÊGU•…Lå'e üœoB‰‹ÓÂì6°Ç™Ö WiÕ÷‹‡²¶"_·i¤uJùîGU:è:b9ü–Ó˜2ëws‡i³âM¯ù@þ¦ˆRññ¢m‹>Q³¯¤N›—¶4A¾ IàÊß•]ˆ¯û1¤yˆAàÝ5º+°©»Y mÆVÆc«JUú…Mflæçùó¢µ².Ñ~›âÏÂǚϣ€Ž¿Ÿ¢&®ªÓ›šX Á}ô$=»‰ÖZ gØRm0ù+q“l_³ƒE‘u3¹¿új¬Ú¥Ý )I§ #o'çæ—’/©)cA-<Ø»m†Ê qÊ—°´%€ÑÙeSÕß¼x¾*B¿3k£ðŒz”­ã >¡ç»]ñ¸¿«óÃB{šb>¾AîÒO,é{XÊŸî1*;}Ï#·¾â%úÁâN$jßYžhýÑÒžt‡ ƒåtû5ê@£Û…õ0ô;`?ï³íÒ# ÀÂÁ™ÃÂb7ܦë"{”¦heAjµFB IWññnE} †îw>.¿œDabƒà§æ)¯Iåöñ€ôÐN\ ÄVÙs3È`{½šC!pmº 9ûf3K#ÓŒbú½©{ ¡ €^-l(ù¶ð¿¬×é¶»ny•=®+¹mB; 8rÜIK|Ì£ƒ»)'€™áC4}¼Ï+MÁöþ‡Ú ‘ †)¯7“2[Êg^4Ÿ–ÕÌÆ«ŠÔ_baÔvÏSÏ…cWùð~"#„\fëøe †ßS5ÓŠùú5X?‰ø( Ôf#ícž¬ ßH3œ5+`¯ÝÇÎ¯óš ­gÉ“ ÓAÅÅ=ÌùDâ;ði wE½M6Üá{£V«2[bˆÍó½ ‘Q4Ðs2€8šÒp¡ =:P0¾Œ½`—[¡`-.¡ü<œâ­´°•ýE½ShÙÐÃ]ÇêÊ!ßc}eFt(ø3²uxæË5怦LeS®/´úsëlÍ0ŽøHí¾:¾‰[ãb\/K¥Tó"*›B‡}¡B‹TQ›æˆz¦:ƒÄ•´*j͵)87Ëf);¼ŽsŸ›ø ù÷ñïî =†•¢rA&Ls?Ä`,am!öÒéP³‰MDǶ­¡~û-H­û V¬–fÚa¦ø–Œ¨bÐÞJ.Îäîux€óU{s!ŽGâeæ‰yÿÉÜï¦Ì:vX !£…®VÏs¼^7ŽT3O²pÏÜë°Ó•uñs:—OòO`)Izÿ¦…kƒ¦ÒWÎÙpÓ¿B¤ˆøï´?z€Ý+ËaµÂÕåSÃâTR›¯§e¢<¶Vÿ–(ÙõŽ\¹Î6ÒÙá#Éd]CÈ]¢Î`Þ?Ø&Dž©Y‹ È€‹0–—E¢–¡ûjé·)ò{•ÜAâ©£ ô’¸Â²S†ü®é>b$íÆŸŽ¨Š*‘¾'‹{fS=#;¸Áhð¥»<»g ázxåòø£‡ßqv ¹wlÞgmYøh†Ô€0ÝÁ¨h½+ÏJ;i¬Ô5©ÔÂ?\ƒ1/ÁÁÅ|• º¤£h|‹†å þûá7%õ6`¸'>þ|¨VÈ7.’vùdÓì}¾ Æã+À/çÑkw­:3¤Kº°P®D‡îY”Öej¥_Ì<â.0- ¤Öoî378øR?Q”©ÿ'…»t½Áh1óçÅÙÙŠbOjú.š¥¾ûÁþø«|Ÿ‹’%åáÉyŒ…{aÌìb݈„´lŒªDçÚ•©º-çMCC7Ià…™£GËÉÆ…(Žšß9)ÓÕùÙFßT½fÁ¼Ñuð¹ Oe¨ZÑžà ,ˆAãÀþ05nü’ÙôPU‹¯«[5¦ÀGw Ä»X„ˆ‹áâ2aQ RUÄ{MßakK²1 â½2äSÅbcdèü†ËÊÚÔ×Þ¡H…çÊ Gºú³]qæK4†þ•jÒàpÐÙh®ú(m(.ÐàÂòö Ï@ÛtöQ•Ô‚YX0“fhù„íS57õ¿­ÉLÙÖ…ësÿüì…•Ùí`Â$ ' “ëM„å{@µ"(óÒwŸ‡âÇ"…ã¦;ýþñw‘ëèÁ;.Ìeî‰ÑÒƒ]Òî'NôU2Iûl¨4ѱ2L¦ßL½ÂpWK5~¦:@ š+GOóeÿ–íg®{€›-a±ì}fò†hëZÛ >@;´§€àëI÷£¡(S©JCrµ_3çpH Zœ,Ö5kªK•¦·6Ž…ˆ$¹^¡rzÆ:÷²‰úbì FÉf’“·„ÆÅR¤ígÄW[+ábâì½×%]8òƒš¢¤6âSb"à¶ÀΑ ] ç^½º¿¿],ãŸ!îU]ÁŸ‚< 9‘ÉßAX1ÒT/l3º½¸ÍÒC±¢ùÚGµ£w¯™æäÓ5K/w™ˆÛö]ƒ§\%\e¥!ùv™)j 4]¯e3n—#ï¨#e,0¥k‘”wÀÒÀQŒWlUðŸª0ȾTæ*)ßLÁm€œZ`ÇlûCø•òu¬¥¼ ¥Ë­ØÚÞ%‚[Qðéeæð…SUGÆNî¯C;M{8^Z M‹]úu$£R,}½«\ˆþƒ’ÖRIBdšº?šN ×€©‡ ÏMY°c ¶°!j·u›Ü¢¾ëBË2€¨@ö¥‚-ªõ “•—jW•yãÕ/mh†,ìéìãCO³%¦ý’ûÀï—€>:Ì[¬à]NàÔÝ7Y[H’£+P¢óÕL»óùg̈»/]G󿆾øÅl>àO˜/œñ·Z•:ð\Ú")»(îh›t¾ jň£}ÀÝ8Ç{emvJ#" ³Á·!§Ë3)ÊŽU½…$’¨ø¢w†‘Ær òã(ê°—ûc¼XXI &i_÷O¦ý´üÜ‹»ðÃ’¦rWÌp;d9^ï›·LFAÐM,N&àÐw.EØÊÚò¿î_æœj£¢qø¤fMc‹zŠ+ª¡Þ63;—r6÷7È ýqüPšg *äöŽ%„¶ï¨:›}+iðyêS6÷Ÿ;fë­“¥(Ž\Bš8!2RÀmód2’Ùös󿌌UøÌ «5 è¼ óW«UuÀê*;³\¦?ãàæ½¢M«c&{ýÝ!7ÐÔã|\g’T•ü¯¨õƒE¯ÿ œ¬Ëy|%Q}¼SÉLh¼§2%c_bðMïf†-Ò·°“§Çã‰<$ÕšÅù#ŒÊj=b¿Ú ’06×’BbøYÿfvÆ„‚—}Òôf‰N ö“¼82ÓŽ îN…ïþë)Œ¶Dí!„2¯ÖeÊÌÓÉC~"îû1]ÄâFÚ÷ýQè†$ÎÜ{¦Æª—æ9ýÂÌiÂ5ì Y˜§Öˆ+‡ ‚¹«OH×ÖôtêzêC­â«á êýû`¦"‰ˆÅð–!¿¼´…Ô÷°7™W’û甡—묡V\IÜ+Z[ÅÚZ‰š"—ûIXtÖÁ:e ú{²` ŸíCß§ÌÚ9x²^[.6´ ÏFB¼ ÐøJW½[ÊÇí³Äxá@Ö´ï¤>¤-Ëû$_kon(ÞìJ£#_¾Y~“Ú*k•m@jhÄ·‡çMtŽCîý¾-;)©íáçgB‰\°PM‚ÃNÇôDÄ¿«RóÙ4çIÏ8¬ ãêÊá.æ‰XhaÔ|ÿlU óÍ„·ª}á%¬Hõ ê/3BÝM€Ÿö~ðk¦y‹¤NÄí{/ó˨™1šÃðf7‚[§¢[Œ•7P€Û`Ø-CgÖ¤«G*¿šÌ\%‡þaC=A*Âö=}BíóÆ1óûv¦èœ<¡ÄT?YCøï÷ 3¬õ2Ó;y~£ÂÉ]¸Jb{s±6NìpѬØ‹®v[â`MA“xP–öàßrl«ìûF{¹ )ä¿o„ÞÅÝÓo;î%ãt}WÊŸiý/œmÉ0l-V_¹àÓµã¶ÊžÀ»­ÌnÔ^Ùlr‘:-Î×ùË,K¸tO“Z=§ñÙ^L’œyË.v¦’Û ëÆ³£#1í«Yo'éÛ4Ùóu¨¸ÆRÖ=Y¡ÎU™@yb©h¶cÒNÈ->GcÓ$p?üœy¿ ÙEbi±GñW™¦{ò»³O²×/†055°©WñþlyS¬t^9Í=S^wX|\¹âèŒ.LjDµ5i?¿?…wƒ˜4ÄñÂ?ärÚ(ìØ°}ˆ$k’¶¹·3Ý.hYœJ÷¯t°ßô N(&äö>'R`•¾ÅËýŽDAf»É˜ vŠPþóª‘äªu(«ªã¿û„Þ‘¦ ž7Mùþf¢8+ÿŒïHQRÀnmÑښ׊X`ÊiÕývóÈØwê³;å¢m•«¶oËŒNý¡÷`ô¹ÓZ&JêQr]é ^ÿmüÞ”mA*ÉxxÚÅe2Iðˆa\BC“âˬ{Þp`Šñ ‘V…÷kqóÙK´#-’ƒkþâq  žZß9Êa¼MÚD Ú{F~1´˜ :©ñV3eý…ã¸íÂmêM°—£Ô=,&‘$áQ=f]ë™Ð|¹ªƒ¸jÈHþK®6wn]1ÏÅ6ìˆÆ#þ*6/ìŠ}︖›y›Ä¬öGà“ñXꡞi¢`—¤?üßS:B$­ÇÐ6$eûY ¹ŽåØÁ  /Õ®®aA(dngúµw!ÎñàõD¯Æh¢æÄ $wb•³T9dÀ©Aïæ7I㌮y*IˆL=ùlx °>Jçä¶Íœý³ÓÆïÞ%…jÑUýì½OãÄ-mˆ×Ò;ÝÉ›ñÒÃ}Ωd¾¸ßǹt;EÔTŠÇw†¥°@úè¬n'CÀ™ywÇ“øs›æ×¹M!ùkª ‚µ -÷ä‹»ÂKnºäT·§ }¯¢,JEÞ×:££HÆx©Á[Ó%§2L\rÆÈý.;t¥¦ìú£&S¨j®«êï„3ÂáâiëpFëédi˜ÚLå*ä¥4üx²R÷÷Tèt4\Nü£Ñs]7êh\Í šN_ƒò¿ñ̤Î@n½J>¾ÁvWôîiš—ãJÀø#¨ßð­yb‡#|oÊä›N ³æh®ÈT{&‡í¢@=Ô Öê´f²âú(± û_z,ÙãÍÕTo¢Ú>tá]5þ|ËA…6y§Žò䙡Êü"['Ð&°îà¨PÚ§û V¸¡2N]^"9êS«,eT>ê³—?ïãÏ×6Á¶œ—b½úí2‚zÞ³âÁ súEú¼ÞÒI¨¤ä„ ‰Z©DÙSìŽz‚lB‘†Í¿#Àë]mRïÂ*õÔ ¶–;”l™]Vú‚N¹¤TšnÑÅÁÀSkyªÒ¢®ô**ž8Ìz%w*¹¬„ÖžÒv/ŒR¼7è¡Û•«~Å—1=óS;ür1ZËÙZ¯DÐV°/ »‹  ¾{F"S¬#Õ« …¦€¦ r ›Ôë4ºáje’ÈŒ‡„¿2à£u†…ºvA%)q¿¸Ù(ÕÉxF²-þ$âúͺš¥AHú*òª‘êɽÖa˜ÂVºÆ2»ÄS[¸Tì/è@v”¾¯rP! <šlÝ™¬7vÞ˃÷#tjÂv¬ZªDäÉP›PX1ß ­Œg–‰åf¿Óµ?ÅÁ³RswóÕÓ΂†ÛVº€ ïßÁDÙ ðÅçþ–_«ÿ\¼2‹,ýñŠÔ}óà ǂ¼oj›/Ÿoù¬Y†´ŒÁE™’=üF¹Ôe&Ñ!gF„äçõ)c#–Ì ]§Âˆª·‘)_ÃßöƒÃê§ž¦šqÊ ξàW†k3Œ| Äb“ò„ó&À ÷1]¸—*µnã”ÐÌYÖöXZöäE¿[Õùøõ#—óa™Bíy*Ÿä‘Ê"t±ÓfŨ‚ÌBáH1†¿ÊÙ5×Aç9kÄŠÆ4á†="Ìý’­}¼ö’^ø˜êˆ´ƒ^¬ë2c=7p¦™‡éŒ]˜z'½aYÊx‡ùª…;à'Ñ*!2‚±C&抈ˆ‚„k©úT¹Úƒ“iy~´›QZzÅ.>Z¯½ì'”¸ÚÕÇÞùJœË6äìo¾’ø@´Ÿ˼‘¯ºa* ÙÏ™“9 ŽyÝ^‚»=-†fQ{˜¨¿ô­W/ÙN¢“R³uq\J&R‚,5™EPaJ N*KÃCB™sœ Ÿ»NúMzÂô9ùQ(ÍAï÷K· C™á1vŽ+0>§2ÛXyv—Ù`'èžì¨Ÿ¦]ª±lRz!5â©îñk°ã'K&ƒ}4#ñs!`•Vð;¸&úD¯l¡Oza³ZIå© y€÷°Ÿ£üî…´þVnÇ«Éë,z™Nщ³Ú’+²á‰Ÿìˆ¿éÜöFÿ«*~O÷Bbk}ñ[|múºf’6"På:XƒU^·ÖǺ­Õ͸+°{‡%‰²XÉVþŒžiú@þ!Ëžš‰%—û3ôÊê&*0¹ÿn¸ßBòÝxŽ}äþuáèrV–Û;IU=ËL×ò/ÎÙDjW±»0w“æË|R#j%ßçP-ç{mòÕ–¿ªrtîv]YH°Ã]ü¨<^_åG‡™–’Õ{Sm)'.ÿ|69rdjMN­oDy}Ök ó÷{m¯Ëo?±Åc]‰e)ÝÄ>p™©äž–þ¨\VSüû!šË¾bD¾þHE íÀW½;éä!e¢&†ß*Lä³Z‘mtL —‰PJ`ž`ë×ÞC59ŽauVkûÑX,ØŽÂztå6¡C®¦ß2—Zîs¶Á‹~¶ÎÊ‘ Š )zl‰ã÷ó#mNسfñó¼ —6 ¼hæk¦®¤›ó…ÎÂü~d™š]†g ?Ó^·œ-( ß~ӥХˆÁÈún·²RÒÖrå¶b14@±áÆN)«Ö/2´_]L+;¤Ï7·gÙ oø¢âEpÏ›gÄVž€‰ô"•U¤1EG· ÄÿpB¾ ogα±ôÅÇ—aÓV”Û[g2ô´Ü-¶öÖ På¨"b™&rWýNSðêër¤gH=:lÿmì’þ ñð.­t¥ì€5býYU:`*‰õM’Ï^Y´uP^,¢dÓÇP2k…ü\Z¢P¸i:d%$Kù/û¹ ©R$¼¦úšá;NP>z[L¢>s•#Ý׫”#?m°kL+cCÉú“¿YãÍÛg@G–L­ ]A¯C/.±ø ‰õ¸ú¨+•‘ù·úÔb× B°ÜhþįÇЌQØ„ìæWËv¿E ¼ÞÔvãž+L”\Êæ m³‡ß¦’„wT瓚Ã!›·„ÒMùŽaRšjqãcná?Q„E=½@÷ }<| í>¤Ç/=Á£þOÓѾp¾¸F€ÅgˆœãœùÁ—v-]©Ì¯´Di‡•RÎ…ú<8—ºænçzÀu|£žúÛò—¦É'V€t"?pZ´Ç®Iûî6×>¢u´4íPm4ú,3båÖC-!‰Rk,@E ŒÎŸÇyõÐSDMVÏz¢_´ÎÆq%[,S}Òl…ËA ƒ< Üxß(wqÓH¤§&ªCEŠta-)ä¸.Z ƒ0G% ‹oÅÍèì#Òû…‚pwUc­ìÚáùéd0i½M>9{°ÝD™.2˜s4)¿ÅšôÀÆ™;³±˜cïŒY+–ìž/ ï×0ê ]ü2‘B³Ü+,áó¿16°Êõ5$‰ŸlTëm3ù÷Û ¢;å®O%^åkL¬-+z¼'Ûl]ÉÝc«tÅÄzîÚÚ0¯ B´qé[ô½,máƒYé5O½.RQË嵨ò¸Gqïo˨ ¯ìr(0͸®wñÕ¨›ï²^‹Ã{¬žù¿z·{S|PT¹ g4×5Õ›@ SèôI.Û|{už='aÏðuÊ(F‡¤&ô\–z'¯PݸwB;ƒ …®ã·óí© GÏ·:çæHMxb|v¬Æe§šêè&½«ž–GK[%>~+oý=’³Óªxš·xlÙ–ámZm}ùγ˜m¬Ò- ÀåìM±/Ö¬Pµk)ôóf2>qÕµð èê;Þ[Qw”{ÃΤ£ )v²F·i`›àÒoØñ/P@V‡SŒ° ˜!è6USiÂèë·\\Ï¥]sï# zí;œ£h3Ÿ:í2š×7ÛåúÄ<ýÛtÙ[3XÍ}éëÅ­&Ü Y8ñó¸’ŘRþO´PA;D¨·µúvC¨»’Užá$.%%þÆK:G 7ý%EtÔvÜ–¶“–ÝPÚC'i·¶³ÏÉ‘‚Û‡¶<¦?’hJzlö¨sæHÅHG»þ§ýÁ̃ÍäS’Ân-œgcÅK3ÝO-øÜæ…ê4°Î“GŠ™oèôÎêYfƒ|ˆŠ(Hìß"·øÙo6/òO¯§ÆÉf£‰µpÁ 0xð7½  "\qH%˜=H}ô îÞ>ª2¤§È×»iÖmÍ å¯²³/­ ì“ÃEÊÔ… ùð7¯U#—ËÔë&›:pBƒb?NÏ©3éÃê,[¾»`Ú^źlDjŒÃ¶ ¸Z½;Hޱê§ÄGbôŠêM„¶rÆè‡af„V£æã¥ bn;¤tDЮhæFTY¼­)Cw_,óÙ†Ý=EN3£fFe‘Hç%Qa—L¬äC ÙèÔ†Ö’t1].í¿‘u²°·–$ÃæºXÈàNü/á'jûJç>ÆX^øÛk*T\-Q~ãY½ºEçO$·˜¶õÎĘpêÑ•S:FÁÌïЮèóŸ °m§±J`Hkº«è¢ì&háUëL¦¬ëƽÅ)û‚}ìÿ®ÖC·¬Í~8àë?;¿`GµàÈ@I^½@MEÒrë_U7eFØvMþj4”ˬd/!W\QtÏIƒÃk5j «}xl/ÜR˜WsÚÉ …îq(œ£ÕûÍØä^(9cuuó)ež«d‹AósÃÉ!×? X½ò²Š¦N+ ;”‘¥L?øÐÀÅþåDzΤ"v·;:hüé»&0ÉyZ\@2>oHòÞŒÔJØèÈ¢ÍFÒîä½€F~Ú»è›ëçï, ¡ hªÕ jìoàV"sËØgÉDUõ@HØÕïY’ô± .é®Û±¡.d€g€eqðEúÙB’T\—/e&¦ô–Rx`•÷†¢\Ê„’1r²'æñúì¥ß Ñ/w“ð »–Çþ—‹¼m”±ôiäÓÇA¥ƒà…/œCp(%t“ÕþªXR¯&àÆfÉI1§gæu;ÀWù*ñ%¹p¥uûêOÕ̵².Ìbþ¦ÒÁNÍbÃ7psÅÚË(vòÿ~2¦á©Ý0/:i Èë9_gÕñU©®¨ÒÕ™üÌ„¥>†€|½´bÞ“ŽáýíÐ]ïsÈ^IF÷ÿI|lÅ‘ j~ Oè4ªÑ¤ø¬Ámk ë1HÏ8pŠ$2jµ4=¹q•ì!Ò±‡Ÿb‘áî XèoáÙðS—X@o§&:ò“\¶^›‰òuRQøŸh¹º?ÎI1ÜŠžt”&²ùãlþ¼Ö¾—_MhþH×G`YH“Xa1ÀÚ>8¤  V…—ëó:\fk­Hãˆ2ï4¢FrA$Ð婈çJ£bõhþ‹¸Rx™f×’âÄ%Åì1ß)^êÐaDµ×«_“/·£Ùaž‰%IVÖY6袰v2@‡(šËQ2tZÅ)ìˆóê%ó–‰ Ÿ¿¬å,;2¨Úæ0-èbhy=0úó5È.ÜÞÚ@ÄHqp‘D€N‡3-vŠdç,B“^ÇÃR•dÀÜʾéþØ’K¡@¡Gl-®”vçÉë§ÈQO?vÁª[5tÉhf­$MðìFCq§Êx½£†l‡†[sVÂe^ÌzkdçÝœã\Š!ö:Kx¸”hˆG¡*è§,¼˜¦G{M”\‰?º Û&NüÒ%‘3•C¼½p6>ëuG\¦‡,9ìJ€üà: „|!8.—…hAZÜ0·s¯ûÉ´Žýˆ4¦@K}@ib»ÕÇ>¤Ê Bû€z…ó,N ™`,®Wb|2eŹ.)å¦C¢xgïÞ[ŒæÕ”Q¸a/Ç~ }Ÿbód"òTö6ïÅ7\H/%†'6èµyPrÁqõ%ZŸƒí²Rø  tmeY´QzKå0b`%ô=¦.£Q‰z°ìG—f¾¡†ºJç±×³žVÓàÉ ƒÈ×Ú&õ*!8kHå£ðb]^x¨u3›ðß´›ÓBësž¦ÉGS‹yI—„‹›ÈëòÅG‰æ4tµrž$¡ÃìwVµ8(€™p±ù&/•*틲'›í¦IˆË{Ì%þÇ)’c·_ôöý‘/ ŽƒZz™JN|Ö6×ø:$’Õê(CRÈ9#Ò”^}&]MZÛ`7Ñd?Eý®H,!ðMí_®î´Ó/jªPàkkË'; šI7¦G™Ž9ð1çE=ÿ•éPùõya6¤üÂ=š¹l°²Võ&Ÿ|~5sæ* ¼2ûÓX©¤Ti3üy¾™ß´¢¼ÎÅ‘œ™žÛ‚³°o™Dc ì4¸É מÝ%Øc¡’»‹¨õ;ê$èº}¨ÊÖd››ÑyM„ÏÈ€·£º“à<‚퀱ߜ&?JØDöniªšâÏ.‰z#Ìú.–:ùÖê„´×K[Ð!Sá": fÅ‚oǼÔ‘aÙÐúå‹C&…s±Î,‘1Ûý™l0oÜ(ƒAëÅûI_"×ÓÑÉÀLI<ý»ôâéVÌ„¬‹˜¿%Ì#pKý$×Z~4’{Á(ªø‡ÍýòÙ¢ëzöu r‚ V¢ »}•Ml%}Ø|†øJ¶ùGqØó›øWIü;ÍÄ.etœE÷í,½•… ÇÃ%×jø¦.Œ€ +¶'W3ð±•ÚLøíA埾K;bLø¬èqܽWZ?ØB0ý¸qCt† 6ííHL£î¼‚ŒŽÆð»Ìc×`‡ ìñ"c)Úû;è ùa1Rë^É—A5; ¹å„pWA£ÝùA ˜¡º’AXO—l¸»ÈÁ·Ê0^ÃWÔ½BA5Z8;š¶2ŽmÍÏVÔÏ=7xÞ*³ñ‰Ìµµ¶ù¼êYšÿ6H¹¬¢üŽ(X”ëã!æ4©ŠUòxõ´Ì'ÚoùœG›4Ž% Òä?iàk¤*exgl—Wß®ü­H(º×O×z½äÎ÷Ô"jFÀ§'V· }'ØôœIC¾Eåq—Ä—¿˜çIoPº©Û8á!_ín!f­„JŒR—)Ú 2¼&Qv-«I´u¥Æ-¥¯ëc$2"˜Ð̉ª‚Ò¶,¡ŽjW9ៀrmã“Ø¡$0ÍD³Q vq,¤.ÞlQ@X@%(©èAbœ‚ž\oYk‚Rü@µÂªèQ2ÏÀå¬3k™ÓV< É~îÕ¥À{Á‘o ޼ãý—t <ô›n†s!¹›Óà}ÈFõ!`yœÕ©¸†"vœÏ$ þ’  (#N#!aa·GeÅ+³ýä@¥Í™çHZÕ=–ÃHwèyMËÐþ<šoõ;;1æÄþ{›ð\õ §6'úY•Y BD¢›1:uÑlpgFÞ?oô&+0#y‚*7@ÙTÀgÞáÊþÂbEsÛß›w.YPÍToŽøsFN OAŸÅkÂânžM}ìª[9eœPäQm‰cßéÌÛç½wýžºøbE}Š!ýûÇðWïsºÏù~Íš~¢ÜÄ” gÙÊ._“6¾š¯$úö¾o‚ü-Ä®c¢× Ê1Ìû5zCT@ŠÑŸUP_6)p¿QrST$MH¡>ŃéßxÐ:ØÿGSYy Ø|̞椤žSdZõ<Ñt€iœ“$ºã> ¸’Bsì"¸éZ Ððz¶âf¢b²®È|Û“ÌaŠ•ê=Þ•ãݤÝlm .ϱ„ÁÛ¦¼—ß1¡;l:Y}Uéá’]èìtX&Àarõ‹“øuµ5\7Í=‹Î÷ý9ê®yº–¢»)K‘11«]è¾tö-×"~ž0šbåÙD6„¢ÈÆ6íÈqUÆA?jÇ®"x!„ë~¨¯ežb'÷*Ô”÷ß’:•ïo~ík‚Ö °WeˆïRüSšZ@iη;÷A º¢ÿvE¯§]È_äy›iàÎl‘œ|hGʹIf_XßDŸÑý GÛ4ŇI )ö >»c °©G•õ3 ª¯>u±HˆCy626Ž(¬J4÷ÇJ:”Ì@ËC9NÁ T²æF™•Û“Áž§Å&õ5ÑB|å×TñÆ ÁIö/l·²µFsîF¸µmÉÒÓCƒ^Æï6êï¨('¯ßìÔÚ‰,Æ0A$…À1¨Õ7ë;ÿÔ®<%ôþFv®}Ö&êM5T³HR%‚†ë‡çäÀ/ç9ŒÅÏ4.p—FKËyR„î¹±aV&‡]Ri^k LÏÃ_Y/1ƒÛ=ˆ7¸Ûú:”ƒï|7?\ÇÑ‹5Þ’7>ÖÎÊ瘉õ ÓcNDÔÏ'~çüžŠ¯ÓP±*ù˜op®p«‘!€…sDK¨¹¶±TèÂêkúÅônaü­A6 ’­ ´©ÇG1¨Vñ$æñ{P•èÇ€Ö‹Íoz Ô9QðX¥,%KÐÙíLr$-e'Þ.°zórànÒˆe/ín¤IÛî4e;Ë•\¤bK¼ø~jýÆŠIϰÊÆ?TïA ) ~÷5‹:ö)GÉèI²ÃFCgµãŒ$ ¼h“<¿¡J Ùa=åJÍiFs+ ) ê\;7}té¦ïµ#-CÝW&ˆÇÖƒFÔá+;\î0ƒ ÀŠññ‘€£ñ˜°$<¨$€‚jSÓxð$ÉâÓ¯è¯Bî/M±¡ê–û?ÆÜ2hRÑq¤ ͯ¢¢Ñ{z'¿·šùE K·äЄ_rо£DŽ/¥¨j:ø9™d~q“Ü †àpïÒš¿• ªÈí´JN ]¬VŽ©¾7ÈšA¤(Ù÷ôЦx’Ö\{ºÿ‡M>Р"¹¢µdH5ÙȈ4³{=™2ЧðÅEŒ?ÂþÆŽQ ¯';‰œ"„Nj#US|ËÊ(Q4Åý Æ—¡­þ·æ·“­;‹}{u>ªg±>|O©€¨sÕPÆA}¿ïaÓ(Èï³?B¼òšþ€4I·ºOê€pÁz]¹’’Pi QKån c¯Tû<,{ÿüýërWšß3ldLh’µqKÈV0Ãg«½ºfÓÅÜéâ~N‰)Òô¼ ÅŽøî ‹~“ Ú]Ž3O`N![•yÍ’dò/!ò£ÒÓF©=uøNú)¸1òO9Ö×”äש¹KöžLÀ¶V²HK’êØ=½o•×2d²¬®þŸîðIö)îã ,Š„_&»ÁŠâñ~únÌ¿•@I{¸õÒ𸊠æ~¤éa¦Qw3Uåÿ«ÊεeÆCcOC Ÿ“pnpMïß1} ²ˆ.ÓŒMµ: ÷âÏ _ÎÓCÀƒ‰SדQßgÚõ²=Ÿ“A›Ä(®jûu÷$þÇ~”‡…4Ù Îý) Ø«µh/ÞøÏÖ¤~ÞLþCéLÌu Öù’Úʾ”©$€Ä;Ü–¢9õaåæÅ/..Na”ù˜1.ã»&Ú Ô’Ö„WN,Q“1XꊱHH¨fQeAy†qs ¾Ýôh²¶X¨ÊÍÉ9­Lð$jtoPëlï„v±ÚÌçéW)YØAX"ër«úú±ˆ ô“Šç¨OVõ©[ß4äŽÎ1©~í·t¿Fã8™&j­¾3¼Á»H0§«±¶ÑYwë7 Õ;0ýܳ¹pÕö¨õeL% Êñ`Û¹ ´Ûè»éòÒèUyNeµÈzsÂZõX ¯;¹ £Â‘# â“cL/R?í9/hi‹"$‚Ú?‰©,þÖæÎp1{K$òÿtÿ_ȪŽ–'y‹E¦Så–˜yWà.¸%ýÿœg*ÔcP™fFmÅĶ«'æ_J`…âÝÆ¯vOÔç~š€ìâXF«pÙ÷‡¿îTÂö‰ªž_·FªÎ_Sª’ϪÙ/ty0+  }ŸNdznÛ Æ@–m©Ÿ=”ê,ô¥ÕÁ6ÌvA*!Žuȸ{´Ï\C9EÁŒ#Úé]À1Ô µEÑ=kCÂ^'”WguGÙQèp-Gó’wÁìGç{w¼g`x/Õë\5oaŦ“Ü\~îuOȘKÂÚJëMë.g@èùïö½¤AÏ/_Æøƒ¬EРL䃅û̺ Dïk篮¶lýª$¶…Fÿò,У>œ€Ûð?ùæ˜Êz)« —‚ì3ô®ÖþïE!P %ضg`oM}å=–Xf\;âEÀÎ,¶„~~=2}7s<}¼ù)1¨¼Töó0jƒÌE$Â<Æ MÚ@Ï2±w|XÝL„{ÍîY‚‰÷ä>É+¥bE~9&…ñ†ž†ÎbM,ñ ÁÖmo(!—Ø wG0–ÞÆ«GNlã…<ƒ: ë(a™`¿ØoÏ"ÐX¥bü…¯P•™£ÝwBúµã_;¡Båv:®ý¼Â ‹†ËÅ^úøÕ®lƒE£lùïѲ}á¤Ì. ^½scø¨…^èH¥îÈ›1¸Žt ü™´³Ç !“>Ö] ‘/ÙÂßðÚ•’©QõC8Ö¯jZÏÿÿ !ü Wµ.¼ðcùwá¬0¤õdOì ºÊ3¢¶o29¯(Àl÷­ßÌ~Ç|¡Ž±ÀBöÛ;èÔÝ9Ч9dø žÚ¼Æª@‡²v]Ijö(*§á§oŽ¿Õ¾… ü=ˆý†æë¸2ìîEg–v _„‘ÂmÛÔñŸ¿Úê!™Ê¡-'ôg®MãéìŸcÝzsíf¤0Èà% ¶!jn«ÏlîST(!n·‡’~¨!“9˜p·¥«â“ÓÇZMlU‘ù#?Ìd©ƒ@Ãk+  °έ‘?íg‰~wÇÉäYŒr(À]K@™$¢üeìÞ[ Q\ªMj‚¢¾ `‡”ò ÞDÌê$ÿ•“5Õv„sîd¿Z@ŠT%acq=#¯‡–£õ±°IÁO¤[*,»9¨B˜džgíë±ë9`I&¼>ïïãK†2˜7ŠÉúàI–Vè“ñ†Á)h<é\ÐÜ‘Åöw‡eÁUòa°«Ÿý‘pël²•¾ßw=ú=™Ò½¾YRî ašòzÈ l¦Å À™xX»h·’^¸oÊàrÀfÖ°ËFûr™ë3ìùh9H,Ai+”&Q]‚×Ò­^]h·×_vª@IzwrƒMêKü/a†”1¡ï=Æ ÄÐ%TõA$­“¥bª³Ô¯À8-ñpîÞÆ%-hÙ§üš£ö8Ì—^Ôõòũˆÿ¢ç€óþ^;—W½Ã@hÔùo÷B_;²Ý{þ¬”I§q§ªþ­Ö÷ør÷PmÌâ# ÈìA—e™þo¡V„lê#ôñà™¾(éså¹$Éñµßh²ºçÄÞJ}u ÇøðNFU_iĈFZ¡va†ÂNixSJôãÜûpVJÖ ü5ˆ¯®„"šŸo¦çJF~µ’ZÙ=ygî*kõÄŽo–avÚÕ¨mó"„æCõ¡ík.7f_weÇ}ö§œL•wóÄlŒõáüf}÷#KïvyPÇ x¦Ž»É´òÅþ!9±­nlmˆ.Dcàfû—…ÇçO ªÀµảÚrÙ죚Xƒï¯j¹¶ajÁDÞ1ð´ÓÃJh^Àð‰þÅ)æáÃS‘ •©Ã„”âJXòø­ÏQŒÒÎ0ß.8‚Í«)dÙªr1ý–K4fRB¤Çp8)0Ý‹ˆØœ¨já'œCÙâŒf¾OM@Givöé¢ÇwÜ7´¹[á&¤Á~NtOÈí—O8çÖ€pƒWÙóddIO™V­ïÕE³)gã%&Óµï<”|µôç’ýÜÌWŒ²ÞY?§Qh.³Ä˜S—WçndôrÅãp¾Í•ôG—êýaDMí‚–ÃL½$Øñ¾Z°qH¦­¹)æ-Æ> Aº½7̹RÚ°¤ôÆ9º¯¸¿%©Ì¸ d¤æÿ3mzI7Ã’§â˜0e-&ÓR„vôé¿úB+&ùNDˆŸú“‰’óMÁ)ÏølãøºIÌʃlÌX'Cg] Úði$%gˆ(¿\)†™¨sÄý“wjÁ‚ŠÙkŠ žL†ku" ô‰œšuQÔÑáŸ,þì0:ŒX †s¹¬Ç2ýãMd˜2uàX$åi]ŸM°X‚ a.*Ÿ˜NìÉe(–³}q!î»$K1-wy»AúêM–t‹„‹¿XŽ%$<6h†0^‚0|‹±gvÒÆÖOÐÚÛ[°`a¾_±Hëô}XÙ) § Mœ'\6ÔйëJ¶cřޙ#>)ëó„9éþ‡¬ÃªÖkjM26ö8Ô<Ú‰E%ZU#ꜱÜÈë³ÿÈ1$…Öè%d.nLú®ØjY™ñ4܇¯W¶³ÆdcM"Ê;Tù¨² ¶áqMGt®G˜Âƒ†Ä9錩W§OÎScdÜú˜#äÛ}æåd':ñÑÜ×ë Ïó2AŲ#§C?Û_ÄèØè^q!Iõîí–‹1;Ö#õ ÞbVºü›7/G16êGêŸa0C¤Î56µ ¯Gg¦Ú ø6wÆQ Ø?s¾àw2wojp¸«Uê~ý¿Á£›¦ ©‡Tp8,eR¢é ÔÃM€"žC<_¼öÝ¢öã]FˆÛÛX‹ÓE’5.ÙÇï¾ú Ev»кո1èr&"‹€þ}a} ¤qH»¥ñG8‹.. Ô˽‚YS27H) ±l†Â–v\'ׄð(>ó ÂÆmêä9ÜDŽ“±êtÐRàñ§\SÐ.Iìä,"œUZk|5\œ>ât ×ý …¬Â»úßùÎÆŽZѸLÉwƒ94v\"XbŽñ‰í’“ã ¼FÝB-ǸwË«¤›ØÝÖaä|føšlàïê›><Ç]t]¶$aègÎÂÏÃüï!ö0—FšfÙtÈÄíaZ=öÛS;NÉ¿üd‰ïÄeE=3œ‹„î”QHÖOœµrb`0ÐG‚¿²læÄ‘W`´2—™ìÇÖ`=f°áPö°ÅÌï³™ÆÃ äq¯–ÛFÖœ˜øò×>V} y9-—/mþM–鑉¬„!þ¯šÄkT½Hÿ”®iqŽr²›m¨Và+<¸`̘²²Sƒ*ü››Â?Ù‡uU‘Af8/ ´h•$yÿÒîöx¹SÚôž`ƒÇ”Å‚§uy~ñ¯,&KÁ<U¥¡a/E ô¦›Ñ¼ÕUÄ”=°èb©nIüR½QìYDAÙœ]¢ÔC`Ýkx¥,Aåð;ÄØ¸®ü×ÿKsæÙea¨Ù’Jr?ìr „õÂÆ¦ãÂ%RÅY¥Oº8 !…ðÌn‘•W*|EªìÐ:Í@ˆâ/ ãì2à'Ê‚w¹Š‘®¡[Ø\l’²lßCœÓÿlºÞÈĆ”¹FÉü™YE5ú»ƒ«ƒ«YàXí^8Ú&'·Ù–w %Øœð(Q¹÷ÖÛ¼ð{•eÄ|ÍE»o¹…÷^—·¥¯y‚Çû?¯Ãk×°Ÿii¯IèÍÏ«8‹ dÞùöHÞUþpøXfÂËsô´Ð-1oÂ}úÊ1+À†NL:2šˆA×ÐkªlpØK'ïÿ“ÉfÓã^k'$(‡„{2ùøñhdLµÔ'Èð;Èðq¾ú´hUEé´!W¨  ¿¼… BààÙï$ Ê­ûÎBµoò^ëŸõ£ÁÏtAK^zÔ³\ul]–+„2¬šÝG2áiÿB7eÉ/a(¤ìûŒö­ýI´‹´ËU¢yñöÆž“1ÁiÄ0Öˆ¥}y‚F¿W&V#v[Ä3|‹ÐÞ¡ØJ½úHà§è¤¶}Zvo=P¼€töuâÓ&FkÞq\>H8…ï¸Hˆ&¯øO–©ƒqèùŸ/6؉±™Ô”¥öËUp–¯¶[³Å\ñÁ^ñnõ%S:4Nñ4|°ÐÆó9™3ÉUi;Dûz”ŒÉ©(ã:%¹¿ø!¦ýz`H²[nQ‰-70}ò>½>3§XlÕ`ÜO!Ù£“ùŠž3-è’ä»&~ÿAW G軈Äy¹Ù=)@3Áàì¢#ШÎ#R=d-á.lM ÖYÚú.â”™ó1¨ŸÅ ¥2ÚRKz–O²MÛÓ ¸Sa¸¢7s¡_˜"³ÿ®„ä@MÊ p`áw¿³Æ¨ø½r¼`…ºœoÀʹ<Š¿ Œ+÷²J²Ã…Nþ½–n…Ô÷ñe\ѧ¹Ã08ûEþ¿ô’`UMõ~rS!—z4xÌ÷æH“ýã ÂlÿHOšx0H˜0f‡æY„#üÂñcG¨ ûStõÍ/ûŒØ“ÍîÄ£áh8¦±í’IÀÈvM‰ˆÂú&¨@›ß |‘€GùØâHú»b¸&<ú{“î¯èˆ^7îïŒîÂ<@)Ç}G´^Ééá ŸxÛõüɹ^C½b°†þäªX›ˆ ÔN“§y‹pX Œßâé/8E aÎ~–2E¼Â.óe¢hºøÒä_†èEfo£ÓðX͹ÎÞÐÃ.ßNc ŽÃp…éôxÉÇ›í¯*„¸Xaî}Íÿ“›ÓjÇ‚.f„HÚi›A¢æ_B—I½”ÕXqµ /Ð%+ú0 wPÜ–ÄAÔ%ý,lÌí-4Í>Ü‘"?>ö9†ð(}ø¿áùRmJðÝþ‘º¿e±î&‹Ã'à§à¨_S×Í v°±MRar•"Ë/í:{<´¯|ŽßYgs1Ž…^èU È y?ʳ—:M?a–šÃÊÿè ʛޣgÃg–Å)H%$o€KG½õA¼î<¾Âr¿ee°ú“ ¥¸~2SËtÁe!?—¨Ø‰ä†)"nß«tÅ-ÃÞ8™k038Ý€¥ Iß›·Þd¯Sˆ&–Qð0òß3rÑ+îšÄãáÌ|yƒ*|~¸jÑþ'ºÇ³cèÈ þ=:ºÒ: ‚ìß“' ‰ÓÅpÎa#èÚ(Ùoiê§ #qÄ µ‰zQŽD†W£âBÔôÙ-’YH}²ølÂyЦtúGNDÆVŽiž—¨¸Þrú)¦;Òµèõ^xt3zkäbÔ>-Z½—¾3œhoüåã?9l¸EÔ‚æßA-Õ,ÛÒGP¹þB˜íqäeÅmÓÄqÌsWPL=†QŠìÔP+MwðH«¢ +6Õ {=‚¥î¹ReßB_ŠsH½ì?g×ë[¡3a¨aBR¬n8ÿš 3ml@´?ú¤ráü”Øvÿþm…j„‹Þ¢Ùî*‰%i.7µ&½g7Ò+èɀW ¶æ/~gŽ4v**r­«‡õ¼'»á"o)Á\µu§¼ŠÏêßKãj¾la• À^]­m °·3:ÔõHØ©VGHñÛRÐv•ÖC³½¶5ɸ›¸›¦ó8˜U½šÉã w@¶=ȯ¡œ > HÁà~¯¯–qÓYášÆ¤NrÑ^No‰ð ¯KŽ, #Þ`ÿ®ÀÇ=){~wgZüúÈÑL¥É;•÷X•#¿ÿ‡Eìä‘&®|ïBe?£uŒ«.9Eÿ]ÌŒÕ`‡EjŒ'}ÍGàü?ñòøÂ_IJ¿9%ÐOìƒÓtõÏã,P»ø÷‚Ÿ-= kKI® *#[Îp¬±®0]¡Î7æçÓäšþJÿž¸cò£i“Öˆ[Øý'‡€…Ë)M—(ê%Ü­öÀO[ÉAáé­€´Qr+QgÏ]#Ô±²ò÷Yaz0…;¾†P3 Î×ÉSñªË; öGá©´j.ÄH^]r<Ç5Þ [œú9¾xÄ0Þš~óCÕèÄYì‡×œ\³®˜CVú½IÄ2_uæèßm"g{}yÏçGú~bE"'îé)úCŠËáuxUQÀì´‹¼Àð²KlÌÖo0¦ zD‚™³¹µÂשñ³¹„#',xHñØ4¢ÁîZZÊ¢øDŸÕ,§ ûSìËí¿ûûûtïÒøÆy\@@ØLá¥sÞ¬íê¿4„r=ß5C Vkv Ê ƒ7¥ð•1­“»dÔf{4Ûa²w0KYÐfu‰Î}ùz%0Ž™88[dEiŒÑv}n^‚óç6ÃŒç#‚Õžû$é©ñá |<ïhÕa¥s¥(^R´* 䴩§G£ž+@ŸGܨ‰L NÏ!nò™²s¬»tŠ>4è!ŒêN˜?BØp:*u5Mzd1W-wïr ^;£D:²Ç˜è ží: UT™ÃÉÆ~R]âlVY8])îJ&ÏÝ᪀’±½O%tpÌÃ1ê•Ã]Îßh(×°]à©á<Ø!Pz0ÝòL#©¡9Æ;³g”o ¬‘!æK«+šKŸØìá–ÁñûeÜÌ4î;©Â¥‘ºï}hôŽÃÛro(›MËÂf/æC¸¿!ôÊÖy[ñ„œo^[¹õ;Y2/'“Ä<‘ò¼-é» &0 ]gÄ— ‰€pE²VxbžHH)Þa“ nxÞÉ:i´¡Ö¿‰’È4Ž‹©‹™ïÎ1€Âvoß%7Zÿ©Áƒ¹“ÍÁk O¨SÔƒ†än{’¢ÄV,®àýôW³ƶb.\‰Ç èÍ^òfyG{UY·zf ~Y» `_åà–("‰»• ÙC‘WÅîå÷ß ÷òJ§¯e€Ä?R|¹RR`ñó:ülŒRÖ$ ½Dú„,mî¹¥¹@Ì¿7N·‹9I5w ÝÊù·™Ù~Ù†…èɆ°õ8Ywÿ؈¼ÃéðÒ.Xš@©˜NjHSÚQ§+bàŠd!â7q÷ªïþ”Ô>‘+n ›„g5øwôT±y"½ó£ ¸'kIU™Ä…¦¨3¢SXf­&öª Yf“Jì<ŠuFîð°È¤n+b(Љ eA0#ƒ_ü¸gáõ„‹ßÙV'ÏÆNç÷¼šzêÊ+‰ÓúIÁ\H7z”K ×'¸žÂQd„¦€IçŽlqù‹u¢fãmq~½[*à‰Ì"+Š|ï¨\,^9_SãaÁô×}ú_ÜÌÎW‰~Ì;¾³Íœo°ÿ{D—¥IO+8Y¦!¨§" ç»RòTV.³\0ÞèºCöV:_Û7ºTÉ@Ùª¬‘’/þVœÆ,!î«Ï¤œw¶Ïl‡¤Ô0 ü‹V½«zb¥ŸsqȾòà 9­¹þkN<\$—@ŸyéÚ˜K•=C—@FÅ7U)-~H·>άB£ß.?ØÎËÂ¥¾“~=f>1„øváº9IÛ$ÀûDGb›Gï&ˆ}…þõ/«ßg@ÓµjwôIUÅUOù’.sì‡âˆã•nVÌÙ ?(6;)|»®¦Ø5ýÅÔ²+¦½Ô€ÆˆjÁ.äõ éË)oAô¯õ¬cøÝו(Ô—Ü,‡²²úM+fî~³øëx4í®ŒyÇÈCÿÔRíQw‘H%—8”ÀàëD{ z«Xv aß³Y̰ q¿œ$Ò¶ŸÄ‡˜†*׿]ã‰ÀY#SäÔCrzWÊMÝuçe?ø[gâ5ؘìx~yÃZI{Ø…w¿~òkH“½òÇ]iPh–좸æSÐê!Ù …M¨žàf4ˆYPG\øþ„ž׎¹ƒÀw¹®‘¦ôÈ928ú¨‰ÞSÅõ!½D[;ßýèuÓ‹·ô̶Ö0úø¹œ™‘¨©ëNï]Ãí²õm§|&Eý4u |MÙ6«Å‘ùذÀ{€›`;Ká°ßcªæw´øA¢.+ºrv aûa³¹Ð;j¹MÿÔ F»ñDg.–²0+“4`ôEo4‹ÊÔé±§»óœšw&£»§5!Å5ÑKÔîàÊnÆU2ÄåÜìÇ®·uèfŸŽ=æ;C_߯ŒæÉ­:¹ëÏë ¥AZÌ„ÞáAWã•dCp? mm•´ÓËʺAÒT¸†‹¼vǹ¬=³è\a¹í™%%Ê6æð™U]ÍöCM6¨GD=íUÀœdè¨4v9-wæÊ°ö‚nNŠ¥LùaøX€Þiä×rX”{Ô$³Üßݰ1Otd’µÐ-ìˆ^ª œµüI_+ׯ@a˜tý5øpÛ¶@«¯´=B ݲKq¡[âÎ¥8?ÆÙvÝ/*"ãD­*äèû—ÐÕîoá¶1ïÌ»zû[Nø¨ íÕ¾^,¨•à¡æƒÜӇ嘬ùQ¯:Ôs†n¬5”©¦Û¸Jf#r– -Âd{ØÝ¢î:ÿ<¿q.Æw¬âòñK½=m·#0rýõp(ŠªVwŒzê¿ Ët@¸øÍ½Š±L_þo/ËS1>î›4mMæ„N×Ýì.Ÿ*’¾Vè® vy7}ÎQo&ây-O'1Á©´õýŽ»æ 3f$hñaZÔ³­I*w_ü3Â÷R48WuãiuAÜeÅ…ÀY¥*ÌÌbèá‘EæI¶5Löùüþ̉ÃÊZŒ ˜|¸‹bZ|*ôìøQa€û‹è€}ŒPÊX÷¤ûÑ+xíWÓGŸ ŒÃrWsô-æýÆ:vy¯Ï™¬- q!¦3Aà¨UþçÈ%X ½ŠjN•[-igÆF×##¿bk1p"ÔW ¶¡Õ÷'ˆíoþ…m–¯`Gr+À·ÌÏ´×õÈê'³ÛõÏ̹6ó^à/È=9çALnÕ_åÍ8§UÇJýIÝÕrØø ¡¸œz€uÛ5²¥ro¢'¢Œ?5ú `Ÿòc•÷е”½6Tˆ¸|‘ÍÝ^¯2VZ¢ÜîÒ5z7vO¯à¯ÄK¡à¬ÀÚ“–—"eYÍS=åY£M‹ë‚¡I™1¹Z,±øÛ›ëËIíŒâÓߺéΓþ—¡ˆ™Ü|›ªÉöªk¿þ‚‹­n4çÓºßØA¬H!Ì?Ø.\cÇ\¥Ín“üæK쑌ðBª èa¸'¦ÒÕʉ“>ÖNŸ{½6·‚¿ ¢RÅHÍ:žAÉÙ“ihYÕg!µ³¶°»ï›™"¹Þ3+Ð|¦FY%öskF`Á“£ÿn®…ôëÆAY¶ 8&!ñã"W¬É‰Iº>âùYÒc‹ßCü"ì$ÓM½ü  Û›Ðý*ÿBè[tžóºs™á‚dNøÖûb{ÌMÇ&‘}¬FÙ7>½Ýœœºk¡sž}™lIØó“kˆý ;†«Ò?J©ÂÏf‹”TüÆÄ`wD¿_§‰À^ØÞ?øMXK~“Õ*»ØÖŽØ·¥D2ÃG0ÂèyΤa_KâšHíëX> ¤Ò´BQÈ¡2%M£ºÚëj•8aJérõPòAãøžø9kƪI€\dÝÝO…‹ÇA]V¨B{+ŽÐ ¾C£kzß‘c8äEßýC§FO(˜^¸äDõäØ1ÛíuÙ}]…HJDëjáÞhµëŒPœ ëó&bE°wÙÜVeQ§ÊìBOÜ¢ž||K@Þ¸?Eñ_ɼB6,ÚÍïàaP¶Í5Æ n®&ý,ŒLÅ…ÙmÂEGé³'õ±Ù9¹Ý`]Þ÷µ“D§Ô¢§íebvþѯvqq,¾UµŠ âþ›Eb b¥õ£¹h”ïÎÝÞ«Œôض˜]hC àê4f @Ã[#Ç¢‹ò~W2•TÙÃÇñ…ß&Ýã3¤ ˉäæEç&Æê²W“pý¡ù°:ޤR‡‘g¾’¡B6Óq„6+³5"œôa nì¥Â-(‡‰RtÑUHω5üô³Uó(ûüDò„.œ¤Êuñ–S·èeMä@߼Ϧþ® vœ“K'ˆðClu•È `÷ó]f”á"ý¾öš#¿ëÞ%kDúâ\±kò®ãWn(¡X¸—3!ëø¢F™‰«Ì¼[–3ŒÊx N˜ÁŸMWeÊþ']Y7)ålŠÃm¬á¾aê×-àM°k?2ÙEsqØÒÖÅdmLdJÎ%lÈ@ì#¹¾¬œ6Œá×´qo±—Þq6­°Gu¾ô·F÷ ñ j2‹ NM4F [ãPŠàí ?\È, -;l~¢0]—SeÝ÷r²Ö*sÙv åÏ[PˆpÁD¡@ZçYÝht¶Í~§ð¨a±_ÀiŘöÈ­ÿÄŠŒ®.%Or/»BëLÚóõF»m'`YßRB|—Ú¸g*M+P¿ze çVÔPl¸¥ÊT¢‹UðpTwþÔi”ŠBÞ_ã¦HǸ™Þ7ÆbJid1)ËÙa~£0öfO²\™³.+$JKÿ[¡µ-Ø4ŸT饊¤Ì¸`(µî>aHÓµüª‰Õq5òˆÇ¶ìÀóÑË©6ß²úˆTó§`˜0…á*&ãù|™ñÙàÖdf7¯üñ<ц)âÙïÊóÃm‡üÖW²À_ÆÌ­1^¼ñ Û†ÃG|o’„SAd‘U@:”¶üÈfÊÍîé#þ—jŠ D¸&±ªX£rp–?Y˜FZ£Å–'Tuª©m §~aW¬fì¹ú¦”~ŸpV㢅´K¯–Ëý ÉD¾t:º¯ìõ(“ÐeÖ©®Že=÷8ËÜvLí«5 ­Ñ·%§Ïp ͯÐ0;§¯¤öSÐ2²ÌÁ££÷¼—©G[–òÞỈôƒšgü%.âŸ#Ç™†K gvH$6|žÜ5Çøt¨ªÜÝÓ»piÿÒìùrd(^Íõ(dœŒ—-ת_2ÈZ½ßª_5‘puÐ> ½hfî3sš5ù[ý“°+o@³¤ÝÈãÓ‹Œ¾Ò¾lnä£7Ð䓟„­7ï[¦<=Øþ ë¼ÛC\|LwêFo d á#%¸¡Éøvmí×zÀô9B¢¦3,"S¹Ôð\˜~¢FVôÍÐ j¶ 82}`ÎÞôâ;Sþ’KÐì:™¯nl( îA\T6KŒ@Cï¾ï‚8aÅúüsa;›E¨uB ©Àöþ5&“PŸÈŒì-1ôÆé¾IRW„•·É£©v’/¢ó/Nt뱂±Ú+¬1ú“eÍ”8\ëuJ‚´°A12Ÿ¸¶Z«¥â°ãä[Ñüî×8–oÖªóEw›ÿ1! ˆK^·Ê¾Çszý’Ô/…€K°¨¤÷´¦¶4Î.ìÓÜ¢6€ê ¶å¶ ¤¤Mõì¥}¨½εk·îÄɬñº=?!rtLhÏ6û²a&§(Èÿ?±„™“Cg)ƒo]æÑ²< «9²à‚óЏEÈ5€,ƒš`â«›h(HBóCþuºÒ; ØàÅDÓ´ûÒž­Ö9z[Šª@èñ_Tÿ… Füê¸Ò‚}g”V={„4ê™ –¨è› ¤ü¼ŠèQ^$ðÿI÷Ÿ‚;ù‡\Ñžñ³ÞÂê–¹ F¨2›!M‘ÔjË}ÖóŒ<ͪØŸŽÚ|E¶FÂNx%ÓJàÀX>æóëÃñíCŽf+åø oÛ‘ß$…iM¢=îÒåÞÌñ¬–ûåçÌÈÚì/ùñ½Ù;óú\Ž NöI‘ç'šÒeJ{V=n:¸ƒ!Wý«–ŒL㉽IðÚU¨Vv‘l^9Z`òjŸ7ÞÕºw×±Q¥›2‰v%;ÌU"–·¦ H·ßö6ò$=Àåi&‹év(T^±KÞ±lH“ÏîEÿ'ý˜qD—¥ A –Èîz65Ír“ .q%Ñë9ON×RN’ŠüEd°&ó‘æUÞðý$*ÆÚ¥çYþ½Á.d~3®‚ôOʲr‘Ê{—¡/;Px»†c ›¤Di3Á}¶½6‘G, U¡ùï¥h™3cìÛ¦Âée)ò».ȰÔ<#R“ÅV€Vs3á=\ñŒÏ:':X$ää9¹Ü²Û¡‚Y!ìíV“íè±7Õ×Ý>U5¤ÿ]ôGxÄÍ^5'@ÓX\¹GŽ,áòö¬€îÏêªqnŸ¶úp§q!{Hûh³Ì¸ŸòøZ,ï.Š%éR¢O€bܾCÌíî,4ùçòŠ×TV®¾¥­ÀœÚ–d²ƒFVÕyE·øPìÒ>0-^ëÑDqm ¼6Ö${1T\—ûËèh ]‘âïíTóm¯©ÂþZ|ÇE)Æ‹w]5ò]Ó{ò;Ù>²¾“[áñAt Å–k»>þ¼í“Ša‰#&y\è")aµž¶óžÕR×ê™l’áX¥{Çψ}´±7¼ŸUì…Žã9+6+AG%pæM“žá“îÊl Zî:KÕ¿Œ»4¾?Àêß!Ä©Rì=œ-'r_åqº-T¬Ñ_ÚøäàcZmËlîç5,I[ülà0Ù`AÕ½¼åâ=¯ÝnôW{€Øè¥ÊHà2Ù¬«1oì[‘Ò7g~á¹–žÅÆÑ÷ÃÝþ  SJ‰¯ù:cÅmf ›îˆÔO>Ó  ʃF¾÷¡ñ¦^ dÌ ‰æP®Zl&½ÈgršçX Ìü¡†÷<ǤCuz ªd°¤-WR½Nc´Bk5 H2;}G)Þ[ÊÞF#´ùs‘M9 ¥&9Þ}ÚkµQL˜×¶ G.‹­$T¸X‚0¦Ð&×Ä˺vÚßx'HBí$3θ‰éÍšúàøný¢Y4×W¹ˆ~8ÅÀ«°ê•kyBª—¡µÚµûßJ`YlÚ& •ÄàÏ>ÏÛI;Ô!£.•†Œí%ˆÞܼ«–“´TT“°@9 í§$ô˸Uõ›&¯ä“? ‚ÛJÏ(ÞËävˆ³~æÇè2ô3!¸vÁ+D-VEPXyÁÍðí¹ GÈ¢Orï8ÉVDç0+2¶ÑS;«d{$s’Ú"né€oÞo©zÚ[ð9ãÍaê÷˜ŠÈóÒ`yù7ø‰sé9öÜ‘–ÜJ>\‰.ï@uHº@b軉3"IÉ—íc:‘»©8Äó? UÒêó–t>£0½ŠÅÌ#“e3¤Rº§§ìËŽqT÷àÔÿ.·ª{ê5˜S)Ñô]pÖ_®Ÿ Ò²yÛ·Á÷×Ò;×öŒ)“k5[—[wìÌ7C×P ;7È{Œž¡€ze÷¢¬.ÒuÅo ›‰w=D{ô¬‚¤CÆz]4ZCÔåË+ Fÿ}`PBU­¥Ë¹™>µ@šl¤¸¦`¨‚éãCÒ”çDqÒ„U]€ïZ‡PM£7Á–ˆF±¦Ì£7¹P¹Å¦pøéT>š{æŽì ÍÍÜvx¦òNýÄü³."^—AY&Õ•‹UÆ« }ÿòø£A” ž Çã1-6Niç q o‘RÓ€W [„ÏDz۶Ý'†vg~:¼ÃÔ“%eˆk‘eôìm(!Tpß®ô×÷œþÊTW¹»â¸bæëUzOµê;‹ê®P™§J™º£3"­•]‰ømÖ^^ͥغ,ŧü•!õ«^y> ôHÉ=X;‘£¡%j¾§0Ð*£qдþp’~¨Ã²ªTI9°Fõç(PŸ9ptQ^éŒMŒ¶Híøï>Èzåò,$)Ñè¹üb–¥>ôã½ œÆ·O?ìN' _–|—µ~t¯³ßÖ©¹î]aeŸ~~)ø¨ºÚUÃøYqÁ—Ie7n6kèuÐdâ¦Å¦JZv¸æÇ¿ Áo<~ô`j ôJË(œ9>_üKöI=;š;X]a<$&7Ó¿âͪúkñ·ö¶´vçNŒ–’ºøQ" öÙjmÇßî;:Æ]¯;úémþb‘•3' ÝÜ00èÜÈFDlj:ÌgyÝøÃÜ@…øPÒ¯æñ±|lÔâýïZNÿËT?ðÈ›p£dq·­S†%!!–gÿ—ßK¯g$+‘èù¡%Ê»¶¸Uã%i4”ý|­ãªDŽÐ–B‰Ü·ì®µÈe¢Fb®ì‚(Ÿ££üh׋*'åHoaÖ°4ë#ÛÐ\´¨bSWû|‡Uê5/*Íï†Wca袩‹§C%%Q8 ŷɯˆ‡Ø‡YॊʙÊÇõædHô!ŠëÏXBœN۱ Áo¶$á‘Q£ ewQ0+ƒo²î«,cï·6¬€úK㉋ —p=ÀÇÑ*ž§ç$C~! о´SU™è·lwt<"i¬_Ôím†¯M©‰Þ{­Ë!bòÞÄÀ è½ÌÊë¥ÄIïû@ÐGZºYdy Ô¦=iÁ(>%Aýù¸¦ô¦±Õö ÿê¹Å¸zõöÊ~Œca/‘gÚ†ŽOm‚»©ÚDCfÔºä¨HãVK ýWr:²‘I±g-Þh^ã(GªúÚ±]);ÿµdÕ–U"‹œo¾E˜Ùí JäZôšM–†ºVàܾõƒGö3®þå/&3¤uìþ\Vásó¹NÈMHˆæ“Ý]>†¿.Ec†\\BÈÌ–±ðÐe‘†0%0bõjeQÂÒOŠtþ·øºî§REK›™¸Õ–ýÔ 4_xÎd:©µ<‰ÕrÈ»€¤‡g›>h0·(Ø|ÉöòVÍ‚‚1Øü›ÐyMÔQÈóš!BJöíûrõTïCšà—æsŒ`ÜïCòãÿkÆ#3­èVŒ"#óÅÀàNº eKzxbƒÎW!þUþtòþ“èÛ||×Þ Ä¼u]zUO·äêðø»áËÌ,’~b¦Ä3w¾Üàfþ»{ÖYCú™ðÓ¬üüÚ¯ÌíÊ䎠-0=ðQ<é÷™ýµÜm9žä;ð>»TvÎrV‰ò¬Í˜Œ“RådAÄúØX'Ü„w«i ¤Þ`¹ü<¹x’”¤\L'o}Ù¯vG) \|ÉM0¡ñÌí´7À¿a—$…‰“¿v®Ÿ¼è_z÷µULØ¿qg ùFöÁÝÙàˆ@¥Õ׋“"0@³*ð“é1Lo¬“Á|´¶¿/·Î-pñºvj£À¦Œ@žD€qª]¨STþqÞ^Ÿ=~IÜԢЩk´Ü™•O§=’5d”Ü:ÊÓBD¹³"¸ŸÃi„í¶‹A£4{zx¹˜|󃛾*Z¦#áÇJ¶Ï¾±ÜÒ¹1Ü6~@§D¨¤²±Éžwú5<¦ÚûÚóH)CœÀB!8ÃsÝ{ºx2fÖô!¤W‘Ï2¤@ ÂY'¥ŽiCMœgd`Z­Ó`j[¿¨}*ë¯Þ~\gŒ IÅëÛŠ-ûEÊÀ|å"%j*n•ͥǸd*0A`_Ÿ=º‚æØXKîQPÊ"ƽLÂ, V-ú”?H çÒI•ØÌdR<÷ü´§nöÏBNJ… 4/•î—–þ¤ð–Þ/Xyr÷%ìÊ×ø>œ©)ÜÎ.›{nf£j¶ËNãNr‡°ìöKÏJ|…ô»>ÀÊሌThãK Ç+¶F26PýõYÛ“ë1™'©Ž:¡çˤ·Ò8X[¸ö½bI…×{ñýHﯡ-W²CF=äø,pòµ¬qOøaÂ+kt€ûO›àe¡šó§Ù‰%_·ÓßÌ-ŽgÄ=Ágo¸Z$¶èáÿ_m¬×׌M+.àP@Ÿ=›ÏÿŠ&gýÛ Õ•÷OùÂÚsÐ×·EòPètqì'\=ÚApŸ^ã×!V®ýkOÓCܺN;Nxf]Ü}ò× É¯Dz°qu<¸÷·íL†äá¹“Ž·$…ç¼·Êı¥—º@yMáàSöCÊ¥šç™±¦ŠjæüÄþS¨Ê:êDN£Á­êî¾ì²!«—I”ÇKt¼t7d:}èû¬oÔ×È€_ä冑â¦fU2í‹}‘e½yuýZzé„ð’ú¶“’&KI˜Ø¥0(K¯ÔF ¿œ^§awSã™ô%˜õfÎhk‚fÄ/éŠü”ÛC"}ƒ}(êWîý*›gÊW¬?¤0Ô_¸ƒD· Ý‚†Àn%Æ“)àšÐˆIù/I¹ÞÖb﫪éG^o q» ,:>& ÷¶z‡¬è¤O[§ÿiÝÆ…4ìRøºD,×)+;^Èo$ðxš cv7Œ›}{0öþ) ä{üPÎpž¢€šx@ÏÌ´ËU­¢]×{HʇFÕ~Ú¼Ï(¯VmùîÑýÄÐy¦û¡ÛrÖÜÿ‘PgsÜszŽÄ÷L`~½ÞàM¸ ¦³/µµ †üЧƒ&#‰f;+Ph¢-¹ùkiûñÖêªû™3÷ƒ„_Ö’_ÄpäF=ÇZ4"™@c–sજ™ßmÒØ™68Εê2†'ìz?Ñ9I±XWÚKw–ðÂ$HÍßíÆó¯™­)TnùÍvôhZ¦W BÆ”üE€†ù¢ ˜OLýt¬8¡÷GV0tÎƹ¹î‚¥œ-)íøÛbQ›òóT‘§áD• óJj7Äf¢<ÏÉÜ"+N²)OÆæU•ñmwÐÓÖ脳"¨Wê˜x´¾V¢n‡rÎ?ÿƒ]Òö6òKÎÖºãQ‚é×_òp­÷ÏÙ]’CùJ•†Îkût´@Ð5=¦Kïx‘ˆa‡ª‚“Ḷ¥¦·«€´Uè¯õ8Œ×³õõÕüÈóÉš÷†Ø¡™kÁjsÀÀ÷²ÏëT% Ö_·¥OLQ-G‚ë1øÞ:o)q„#ÁÃG®r\äe„Òㆇ\ !;cÖúuut­Æªï*Pn\Û™íÐåy‰ ½H8 #q¢—/ZpÚD¾${$·âè2xAïf©W†Þ÷,”f¼ÊuŰ…G<9¿ ¸³þ6–Zh‚|Z”SºÃ™IØÒy ºmo·BùæÔéµp`"à}Ö%ì:/!B˫ϲÆ^‹¹ªÖ¥ !9Ÿòà·\{Á‡ni)\Ès”ç°xÅZ¡œ²>øgWãIP^¯ö¸´Û@¸»–xÃ3pžË„)¸SÝ—nÏÐAg;êbPdOd#4Ø¥!“îU­ŽÖ£­zévð8¨ÂŒ ¨I¥¢_¥=ÃðÏÊêl3²K ­€Â?±¶¦É7f/dúÓÁŒ} Gòã¬{&ˆ+Ïz-\.¹‰éfÆr";7\]‰Ç¹®`>OÝ"uhí^Öß«§|#oƒ´}†€¥Ûç²À+îÚôFû5¢¼¢û* …C¼é%®VM DÏB!³ƒzmbn"Så?n¢@ÔºDuÖÊ|Ä!L¦Ü…̽e?¡Å^üêûɽ%¸b\N¸qÎ4&J ŒæÂ•µ‹×‚egp(c­ï¢®êkêÚ~²m‘½jO¯2³rGèïðÖšþŽJÙTt¶úŸ5âÜôÝ·ÝK2ÕiNZ/CêÃò·a1¾q62R¾·Ãë*"ì" ”­µP3ØiõAY¾>²îÏ‘É O!ßÛ4Ÿ*˜$x«ø]zÆX—uŸþØš\û” ¯väþÇH?qôE‚kbH+2®2õ_ëo¤xybÞ÷Ãòfåjß -„¦+PW\Öv ¬²:ᑾyç±ÉüaÄJr˜À$õÅr+äKÚ#½îbi ¸á' ]ˆ(=î¤åyÖQ+˜äßyjÂHêrxßaI ¯õ‡:È«Ÿûôšî ÛàÑ‚28½YsˆùçúXëÊR2MK_œÐjHÍÞ^aY¡r§È— : û¼È}™W³sƒ´dNÚQꕉt—&n:"š3Û”ŠD1ÒQÙ,4R€M˜Át—ð®^öË>€ák1RퟗÍ?Wñ»2±!â‚Þê@•ì‚ßF{¿×šxáì’ü–ÚÒjþ‡­Å»·V„ëéGË[ë¡wå·l™lŨnPµ¥¯½ŠˆXÆÂ›È°”›­w¦Ms[8l³\jS ÆJ >Ìÿ¢L]6Ï£%QQ•ÌLh çWFí· ~¤K=9œ9éf¯uÙ|Íeµ}ò¥8R<~‡X€{VuŸÁ€^ÚO'ÐÝ(H–i1Â1Gh,\­N{î>‹²‹ÆQcÅØÒõK$Ò`*ô)›R܎Αà{QFÑÕ±n#«t6™B¶ÑBŸg) ŒÉŒ°—ñ½^Ôjù3öS{C»j] ÿ|Fmšû“ÿ«"Úõ-4BƒšŠœe¢å޹-},]–Û›V ´{Æÿ¥RœŒ/ë„4°éLCµË‹÷Û†­znT  x!…bš™Q·MÖg žé ™Ü ©†™ŠB2x2Tõ`øš‡xXƒ`Fì µ­ ¤åô€ÇÌ\훫±Êx| a=çÀºkËévÎ#¯«Q*ÏéOÖø'Oìü˜tý´h¡L9ó—t¢Š&UÐÐs)ù#`¯Q?Ï>¾¬/VÞ/ÜGã½YÁãÉY¼#I ʤ¥šÅɰHûÌ_Ю‰°6M´ðÕªã+‚]¹2!­ KirÝ^¬à÷íϯà™#ƒ!÷÷kÜ?¿Axª ¢:¶¾QYã!œÐKò¹£4l*sC®.šèp†O1`ï%:HâH~Ìül®ìJ " –¢ŠÆ¼‘ý’?d‰æhþèÞÉ/-°ôù…c…D^[6ͬi$—çûÿÔp«ŸIÓiewžÖâøÅÕÚy’Ž`À§öR0½Z°j¡J`HB`GˆƒUQhãÅ)Ó¤6o"f">óEåLG§2hc!®?G_XE‘“®¹!%T^ˆUë?ÙCºn9´ºÍ… •ñø.6øR† #‡@&3Çç3©2òÅøŠ÷9U]è,«” ëÉ¥¶*(¨U}à5ò‡lz£ª 99ؾÑ`ˆ–#öÚ>A¤Ùžb> ‹±ë^†»r ìüÛ©Ü ‘!›@öUú‘Uˆ’MZÖgk5i–ÅÅÒ÷ø(¸q#.%ד 9`Ö\¯‹ò¨Þ³Ÿ„×ÅÃQrÌÂÓ̬±“»]ZW­½ûµEl„X<†ŒšAæGÀ†ð³1\ôƒ(gí¬ì¨Yí˜ÿª€C«Ó±!¯J@„nx°»™½_¯Zïø >½òÑK V †o ³?l*˜³¦`ÛI~“²åwd Ãw™Ÿ†ÁOPd©a`žR©ó>! r36œ‰+&Qdçb‘‰iÖÒ=‘$7@™ƒ3w–Œ‰è7ž¥¾™pD„‚.ï¥ÌÿÑOBL>Ú$Á'ØèRH½Òß YÙ=ùÍ;ÔŠþaú¼¡<’ÜlFB.m -&¡„!÷¿êÊë£'0ILôVxíî!…Le‡§Î ½a!Qœ€qSs” nó™5¾¥èMJ'úrÜáýOesÃùð/¨¾™þåSØ'<ëgÈé ·ÕÑÜ—eÌJ6ºœë©¼±ámÈa¦—Kã`¥>Íó/H9Ûuòs\Ÿ¸“Tÿ3VªûBøð­«Q²DÛÍ£TËŒ:Ò"o‹+{®F˜Ó#縡•½—v纾×rˆ¸:LƒËÉbªk»FÈ’Ž +Ôj}º{™G‚’h@C>œ·x ¢ç4ï.óugj~Ó!g ëOUòâ¨æäžŸŒF\"s±èfþ¿™ã7 49„¥‚GN\gXñPg»1ÞÙ(l†²fªÔ óÈ{;QÊ mz^ˆ’Þ¡4Y79Ÿ\5,_gf6 ÁmŽÿ(Žéì™Q~¿¨˜Î¾š$Di™P¹ÆcV”Ý[¨¬1´Æ½Ù:d¦ãŽHZ pG@ûLw˜i›#û¢MU&wû) -ÚÿQ_¸þ Ôž×|0ÙÍáÞ®fƒÒQÏiÜíg˜膄MØí\ˆf&%x„m€^÷<ÛTuŽ[ª,J}<„©°û”‚97ÍÈ€”{ˆšèw3[&¹õxIŒÆ½Ô;ƷݽëÏ<¼Ä~#-+H¥ÖÂÀ"TüœÒö¦³˜e¢ŽX>×Ñ¥z#jùz`"T0>n/bIðà‰×y±—LÀAjj‰&Á7 î!=}S¾Ë)B›×),©pz±4„.…Á´vzRl~§€~$bãû”¢ÁRæ®fÊ›ûŠBFÏçd?g+Ƽ +py…^ž}o"%†Àv/(AëâÉu•Œ^Cã…OGý°~ž hÉû1¬­;˜Xl‰Y#Yit‹äEš3T{h3кáÛŽ”üÑÝD];1V}OíLÀ~ZmýöŽ@œ³F–ܤòFÁ0;;A`¡PÙ¥q!¤Ïaañ©*,]=´ ²ãüÁÂ;±½Òès{Ý0=&ìÕ&£]” |}@ŽS·P9íĉ ~¥Ø†J AùÂT¾«‘BùQ¢©UùƨÿÿOBOɪ¨QIP,âU³¶újdšì6 ZÞ¨¾ÿ1â#ç·\°>aXjä‘wkõÁï(ðób¦ ¤cÙ¸&„ßPþþ†…5Š9w~Ð-n¢Êiç‘ð^ñp$s°Y6º¸8wŠk‘ûþ¥}ÙGLÇã^þ!OØøuí}ÝÓ•£¬A7†Dôàð¤cyr+Z¢LN¦H ¸?Ê[žù#֥ǚڟÿæ3t’‘-C…g%͵DG’Fweú0j[Ћ"bðhÒÔÛÁÆÐ+¶þ¿Í%ÈÁ…û®µVúèXyP}¸z<<‰ed + H—Œú?1ˆ°Ÿ ý%hðM®ÜN˜Tºr°A8⨄=ô=J¾“Ù?7öâ„NßQÙlÙÆVFý‡œ³ ü FãdÂП=å·6¤EѼαݭQ3ÔÖ ‹¾íÀù2 úŽåÉäsÃß ‹tt¯³Ø¶iiQ¯¬#²·l¶¥š£Ù:°dV¯[VÆ 8ÈnÔl}˜*‡BÕ±‘ÏñÁÇ'êrŠ'H£ÿ˜×©o‰8|þúD°†ÁÂx"f|òE[ƒ*Ê®Éà+6¦¬Ù+ÝÅ:çíù‰(°+Xât£¶²¿æÃ´:gäÏ“¿]†² œ½ýnÆ‚\V[ÓJÏ ˆÍMŽOP9eÉp¯tÕ¦ÃÚ¼pÉ´êf¸ª‘§n{ê7U, 2nïUÉVQñgJýgÖŒI1 ã‹”§--’RA~¿×û/H½Ø÷(¯\5ÏEƒ´xœDâgÚ̵ò§ü9X«tf˜Ç—ðEóxÂív§'Á“´›ftXÁµmY~éø÷óࡆÉSx€£‹"ìÚ·#ؤÒzÐ †¢}Ñh[P÷‘ú¸="#”Ôª1¸$6d_zìò¸ H†cbd] h;ɉÙ<ç’}:åOÔœ†xÐÊÞ±æÍúPË®òA&õHF®w.~Iìÿ€°6¿É ¯@(”ˆ„›dI¿‹Ö7ì\ƒ¦/+“qg`´+«á[#¸vn² 7ôµ˜º}ÏE¢›ã Uº?? “æv ¦¼£Ÿl&S*…¹¿Y‘¹qË]KÞläŸÃ‹Lð˜¥rãù\#µƒž•>'í£ÆÖ?£¶‹{¯fЀUzd¶Ká¼~W›=H':0¸˜Ž¾3Á…öÜfÒÈ$hÏ Ÿý³×Kêü_v8ºFº /¥§ †`«áø±7²h}¡YeûÈì¬,<ÝúP e¢ÒˆÂÈ"CžçDþïæ— ®s]÷×â.æSÿ•ž@ñ!ÄHØú„M¼ŠfÅû—Z bв‰˜³÷¬8ôÓÆz/Χo@PªcwŸ‡¡Ô,¾aAò¢wÆ+7W‰l?cª:þ²2PpÑ×Q‰5 ŽÒöÄïddþ]¢ÿk¯^Ž…€Œ4N+|YЍöècÑ{[=}çz`¶ì-q§á/×è~}€%‰BñÍ0pó)ï­øäþoz ÚpËEožéÙíð´¬ñUÂ1s† Ù©ä0JÎÊ„€oÅ“£Ÿz…á0°zÑøXB =³9´UnHǨVÓÞxDHÃOÇ–cÅæøn&höïNâÞí*yO>j ×M¾€Ø4Ms¥…ùðTUlÍ£ó:1(y½_3Œ%ÔäÒÝÛ]U™%ÁEÀg ‰}bц2¼Ó"­å f@ÅñQìúø}YXd™úwÒŠÍôpXÃ:wÎUãoc´’ºè'.5\nhçS`fFQ¨øK§<×bÒñ1½3"$Äk5”É  HàLºGÂ:²£÷›Ö’ÈHºNÞ•‰g)ËcšÈM—iŸº\¢‹äÑ­K?TVDŸjIl¯›19I!{u¾Ó©Hj¤tETטAÀûR—*¿ë^e»+Höaá/& ‚èH û:)æõ°hªÑ?ºÂŠ÷ŠÂ¯ÄeÆ­è%ë•yÕrE¬}®øÓÄFU'åÌ“ø†Ôï=W¸“O?8j•zÔ!Ëà Û®mÙäo¥Òá·à‹Ëˆl°OôŒ…ˤÜ#^+¶^º «ÜËdîa¥5Óžñ SÔ¤Otâ¸þ$~tÃAlAqs8{pâ»7oyà‰q§ÇAhIœ³;f´4~› .]wNÃj—mg@P™ n*Ú°îXªÛ¬e7dK¶"|!Q^9iØÃÍ€§qu8 J†¬Œže±–ïɼ“ÔˆoÐKÁâ]¾A_1ÆÙ«‚VÚÖh:U_–™ ÈY¬g6£°R§…¡ÐzÁÔ7Œ*ôë¥õÿÇžÝ2ÂäU¹0 Tƒ˜FNŽñ¾ûÓ"-”¥‡Š:ÌqN:¼4$O^LmÀNç=G¾†rF[—I(‰nm]âVÃeËñ¶ÚÓ(¬Öž-òO‚”0ŠzÊgWGð'u*HY1Ö{Ô¬ÔÛ-f=özݺPúŒ¿4»uò÷ëüìkÓŸ·0C_Ë÷ ¯¸{]2ßI(î¤I Jü ÅÒÛHÔbÊžôš ÛA€;˨zö¿Ü`{'§‹ý†p€u~à! à6ÿ7àñløÊ$¼ÈI–E²6f,“À•rñ®$”³É×y¡ÙÇ­A‡^MºA†Kñ¸Vù ÎÜѱŠ 7çu•q÷öÁÞðÙã¢t“ëØœÇô‰¦Ç~³\x-?Eˆy[)ð± á)d1ʱàâ! £5;U믨óÜâÙóX©¦¢ ~3–þî1e¹wã —ëXIp¸Ø3Vq`Cõ޵c: k\ФÕ$>üÉ6sÐ_̨ä’{z]lél_Y£Ø(#鸈ۂuc¤ê3ðuÉê¤âÑt÷ye‡¨Í¥\¢†se‘‰µTÛx/VyÖ€‡šG9ÀSç˜#H¿£=o¸IýD¤©$"ÿÏdgk&fÈmZ<µ5ˆZnô%KH½NªJ›7ˆ’­×/n ¾[Ï(Ͳ\¯a—Y”3ï,c[NÿÇn†·AÃòÎõ$¼VrÑ#‘Çø´KU±('¸Î)xøIÂ_¨^‹H|JõMkvŸh B¸~/žDËÑwVá…;_¯Àø["Âæ Mè÷áµ÷Y¨âî±îÇ-€¨FO²§Îkbìãícç#THÀÌ …7"nÀ…QåËè9?µŠÝ>ÂÊ¿û˵J9÷ð×/»%H¨ú·7–’‡tGUÿjd:8ŒeÖ£Ó[µÆÕS‘Ã[HkѺ”%Nì>cÉ륩s’æ¾o:ÄTÊÖ]ú1ot¢Ž<ÌO ‹oä¹è ’·¹U$PÚ]í/Wc•XÜÉgNäP=P–e!+<ø§1Q_¦švŒUÔs&²bP^Ó2 0ðÆaÒ¶™©ËRƶŒ×3ô”ˆ'G6R™)Ó–¢Çœ§.ËŠ\EkÆwÄü;œ"¶³)e¯`SŽ.bø*Üro+Ÿy D³ÍÖ9ŵdT ã?Ü¢"ô K.1xSÈD€ÈWÉW¦Y4é/¿àQÛü×Ó†±Öø@E¹nƒyÜ™ÍPØ£M4Rœ©÷—†Ör ‘zc¬k{ÁŸSmjGlø–ªŸu§q¾%´€e(_×°‰%˜y#È XmëöœÔ ÂÖ2[™1}|5̹-Q9;¶-~ò*‹×µ0<º-úUÁËÜÐìM[Ë•Æwrân}•yÕª½ˆèPxÚÑðWòá—IlØóÀÐT£¯‡“».7qÉO|䀯°%Ò’¿LV9löÁó¾€sl¨£&°æB%9(€‹‰ Æ<ÞÀ.Èi&sU-_ô>‡ C`š°#¡RŠ€UÖ“r@UÜãúXÄó™ü Loû’’=ÕwÓ΢ÙAÄ]¶Š³ë£Me¸6·£¢ýS<Êå6MÙé·4¯tD2uºm¿QPÒB„±Ñ¸2;=³o"^éî²j»Ã>’p~N4ki[.ñ†ô­.Xõ leØmGµ/`z»‡ úè´°çöb ÖsNâ›XxùE»ˆ¼álÉßQ®Ï0îlŽBkxë4o6nê)Ô¥ŸFeB¶Â˜yhÊ•q9bòáNaUµ.ß²B“(C÷p*ÁLÙú°Eÿ£äüã,PžW¦¼L@]ºÕX¬m“—ÎèETèw‡©O¹+"°$£ÍvÔÞ{ú—ÌE€}¦S»ô²².ÖŠfNÜåî¥ù'ï?ö$ÎQÔ ôˆUÉTRNè¿’ó9_ «pÓ+¶?®*ì RLC_)ÌLçLÞð“á“õ$aiŒ E÷.\ƒ`é–ÆQ-Ôsñ` †×{Ë6rHp'ï)á[6 :|£1)½;ƒÀº(÷ Ü2´ì¯X @𠱓Ý<Áa/×p.Ù6‘’îÊD4]GUmY:«e‹C‡­ÊIþå\È5òIšEÖÛþL¶€Y¥»*ˆ)hQ¡”–ʧ?juKÜT*àøýíònaŒcˆ§¾Sõ ôaÄ4åÙ oÝ.¥ö›ß²¸Ôù§µ—.>+Mô…ÄNçmÈ—ÅïÁë}swg‰D ²;”¹dÃXå7âßT<†j™+¡áã)‡‚©PXF¢íåõ3™)¦ÂŸ®q#Ï58ß,t!EÉßå4™pQ…[àùtU˵òsa¼TœA¤DDÖèОš»Øä&Æ¡t0/?1F]kkuo)KüŽ \hQ9«?(0NRûkŠÓëuSÃ࢟‡Ó+'ç>Ùx§¼-Öܤ¼`Õñ€ÕİFLÍ'zI–O>q±?34M¬¯ÑŒ¨4WÞu Y1út”˜ùЧºÅpW`È>ú·þƒ@¡3 ¯ÖCvÈömãfƒpKq—ËÁ Ê–¤Ðß•]¹ÌDQ„.~‹œßµæÀa°Â}×ë„ã §,á䦤å pœ2Í©ô8‰Çg†Ä H³øœ•D¡Ì4P¿Š –KŸŒÒÑØ#9WĨùŽ&¿Ü’C‹¼šÈ-1æM¶°Ð.ŽmJ 0èoÃ¥Ås< 0*(áßüU"çÞõzÂâH?»qZ R™ þ}¢HßqwIpâž¼³¶pË£4¾`ñš÷I06$ì vö}³¸ígMÜ@4›Ò›i …,ò4m9SáÇD"éƒZÉ“¥s4üùÜèßÁ¥K´¼€ØÒÒs¸nµVù4ÓÄíø~=Ï‹yãò–Ô„[gðÉ‹¯Îƒ[`i¨Ë ý£®uZ\~äÆ`ãçd¨e¬QW`3Ñ’ì9çžA´yL¢`×Q‡bŠf1c)ŸEÄÙ¶_»oÊÐ~¦mWX5·ö$5x w_xºÐBp’Šñ¶—ÊUKÙ6÷~,A ÝdJ^®§ÛEb!O“Œöæ6uû §ì{ÏÏ… 3leJÊÈ|@a4ÐñT‹Â_W¦!lw5Ú *l…uqW{pŒÙlš=¾j ¬²}»á‡¹l<~ÖQúSÌmTEÔ‹j¸)U ½Ÿ³ùjT/oÔÍ×(¤&²Ú*5K62)ÓmXÑ^¨´¢TpS;ÒÈd•ßD‰ä,ôó;—syoìô”ºÆ,b¾é5—ãX©”…Xß°»AYW]!ô§»OT¥Ýx{…ÛÁ÷FõgØá¦ðÿ7øð3† œÐ¡¹§èmØëô-Wl¾Í/Á—áDÚ7€wBWÜEHɧQ¬¨ÆB\L¸žããFÅœJK•€v`·ˆØ«<‰¡®à¼nýpùˆ5qJEiŽó1aðFù éÑzäþWU,¨Ú=£¯©q”( ε$ÅÅ12Šñ‰Q‡™òd[[F«ûy+HµEÀþıØê4Öà¨NË ‚¬Ì}6‹¨óKoFU¸¿âÒ÷2…Y¬’· °;Ë!òtM9öìõ®ü÷xI-,iªŽ/FIó¨$ÕLÎŒHQ®šLõˉÇmç¿Þ¶¡ïszž±ŒÌ¦µïJkšLo퇣ÎýÚä¯ãˆ9å¹>á[ÀËãrŒ¬Ë‹øÎSž=[â8üd WÎEPJtF«½îMáfûãXöwúBñYNí5èMUAGzÁÃqw²*qI娷p$ViÈh^TöžXKpª´Ž=òU2„ɩ]'+Ä:©éø6ã}n–¯¼qkF†€A¾å*n‚ÉA§åV–¡KÓ§é.9 ÒjÞêpZó×-n‹›y<¨ˆSN'¹–ïg'Åà«WJ¬„FØE!ÀíiH`Ëø ûz[BøÑÞ8Ó"VvzŒŒ1å8+Tµëbô¨× (tüê×/·wÝ×çn;€Ò”o×η{…¶B‰õ,lÐÙeæ<ÊÑjúîi”„Ýæ$Î9.+‘÷šl©•Ie\"‚(¸$}—FD„XÊàÙ Sæg6V^öH!¶ö+Þ|8K“>GÊ`‰AwtWUn[Èb‘mRÇß–ÉÒ ÛÓ¶Äì‚Pð,ÊËb´ø8ΘŸÛ¯ˆQÏ·ä$üè‹vw¿y­ø‹+Ñgƒâ%°vâý矽ã E”‚9y@¢>¢AáuA$™y¾—Ù}Jxf³¨´`f…+ý­,Á±ƒÖ]cH©šdÑ=UG¦ U¢…ЧÞDÔç²Úr7Tž[ ²"ÚˆB€ŠúDe ¡¥ƒ±–&¡NTVzé¯þK¶<L/õìXŸ7h•R³o¿‹="–(s¸äI>Ú+ÑæêBšŒ¦ŽêÔýhzq· ü åºÄm¯zÃÎ&î( ï×ÒÀæ›=ÉŠuÎ'§ ˜xàr”Úk‘NªÏ­Æ9Óeg™ÇÒIò)"ìAÜÁ4ä…åTˆÛ˜2èÉÏÇKÈíf0Ùd扑kÒv>òB¿¶âÑ…GE]¶gfeËÔc¹óžL ^Ïžm|i9¾-2]s:lϯ7åÜ–\lRÍê©›aÓÚ¯ÔO%é¡¢âÒ÷·J› ‰Ìb va°bºß((p‚CĤ“ý$õ€è‡€=O˜ï\¾i'·—Ý9 Ãö¤*üp\rß-ÃuŠ{- ŽÆ êP8û.1Ác ál„õjúøá]6‹z柘âŒeÊ—ŸtZxÐu)éÁ_D®ò,)džÍKoWæ÷¶È2@ý òãß<íµ ¦¦Ÿ¶pFe`U”Y°oÙŒràÔ]8º×ÇUÍŠw|òX´­سJÈE´f‡Q’|w¤p[Å!\¯NE0œÔÓääçzk­Íéÿ94l“¹D­¬ õÜtG°û¿æXUmõR/°™ºoò½ ú51ö¢ÒM[‘•’ìÀÐiûó®FÄ´ñcÍ0:™A”pÒEüüän£œÍðÓ“dêb’†vb¶ÚÉnÁ£ >n²>Ãwš„¸r 茦MeS«1"ÊMjŽúb lŸ f‡9Ö˜0Íâùâò…õš˜c.´BÐäeÔjS $å­X2‘†‚.” ¦lHÊ}‘š«<Ðþnv‘±Õ§*$d ûì8¼f¿0ÙcÕ WZQ•ÿF¢ªS»º=Ÿ±M±+ÿÐûQ`úc_‰Ør°¬!ä_@uñ‡þoÍš|AšœÓ°íE ~zf@ ÒÝÁé’w¼κ=2•b\Ü IQÅ}8ðç’¦#¹x¼Ën™áíüÈ \0é)&­xJ"1ó`À|[æ³ÇÕÕ<ÎÀ²}Ms+yžõB.oÝܱ¤ÈôßéO¯µî7?;›Ÿô,†0¢yØüˆLåÊ3Ѥ®ŸHÜÇvÜ&ŠI‡VkÆ‹ˆ=ÏûM‰­™<ØŒµ­§„µ"H"Á™iÔìõru@ã…@£á¾¹ýfÝ(‡XŒˆ¥ÅcO¢3ëŒäû±D¦è?©c6.èP÷\Ý÷§w åÌJ}Ðסê{B{Ù §1É$¤ŽDp°…ìb3ëô¯ÌM­!ZÌÓ`ª‰Ùé<¤‡¶¡à׿C’hRèTÜÔ¢µ»a ,)£'h¥˜Ï`5ªI„ªê”GÆËRݼÄÿoÏݸÞé(~!–j7œÂ+d`±)’/q¯E~.>ψX!èdN®¨äyzg¼‰ï>áÑ »œ¸îOÖb‹ZAÑ™ÕÈâ=òD‹}Gc ãäe{¬¯Ê5gyøÚêsŸØE–gÃ@XÕ䆴;@­ÔnüUÓé+øþ-ÀAÂ’DtD\Þ¶ÿÙ˜-AO&Wjó)Z)‹àn˜.FéÙ­"h í>.õ À/bà‘6ãÀD¿‘Þa4Ö²9JJ½ìwL<‹d–÷ư'RüpÉ1 ȼ¥< ÊtéUäPÄXpS¤Aß­YÀ^m'~µÆì¬2ƒ VD«So}W†°qìg7a䉞t|‰q7ëÕy$¼ñö¼.A—Æ‘,? ºMI,Ï:—ænXªD¯¾¼³¨iî*P‡´ Ä€Sô¦ó<匆À{¸0Sè€qõÕvZ­°hiGnY± B)›´»ÝËZÇJ[¼ì™Í÷yK7J²çrs¢œÀ²ºòË`!xº4z¨: DÍmÝ­‘åô°—Š%[¼BÙNÀ?' Öó=ètô{¨zó×e†*ØÈÀ­ 5æ¶‚”Š†Ñ’|fÄDØ/z:•'ÞE~læ,Œæ+ˆ΃kb ¡˜ƒÕ^ÖÎ µSý2춤²¯ö˜g‚¢}“p1@ž•|@:8Ù\5 $õ`Ÿ¾x¨ÎÞÄŸnFO#møgGd<î™Žæ¾Ø¶P:ÚIµâ+Å_efQ`…IbyWL¡ ½Ûh¼e>29‹†ÎMQ(‘呃ŒÞÇŽéÓŽ‹ ×l#³×,¨ùÚôŲ⤃¬æF1¤ŒP•ºSì†pžj:7®;–¯U±beSoX^)kÙRw€ù÷^A9•˜îã3¢,ǵUxD®b hè[jö[‘ŽQ½û÷j•àˆI¥zýŸ¶ÃȪÊÆ £5`oš–’“Q(äãŰ+éè¸ÒÅG»U¶-ÔùÔ…â©||ƒ¼SÚª„¾YN҈࿓ŧé6kwìi‹r05ˆºâÚiЄÕб¾ß'¯`lS#·íaÝÁØêB±ûZ‘Žž&?ðeö\À[Ü™bòÂ2ŽBrúìð¦çU»Á[žŒd’Iòõ¢',ͶipxCHjiå‘@Ç„*¹–Ã}¶ºDê80àé4`Š„5sñß>ô2ë4rjžÇôñ=/£©qæB“âú·² ­x¡E»:3ç_×Rêïñ×*÷'WÑT¾…|æ³ãs˜0ór‹º”IÏ›¤ºuÍÄ6®Ã×Èä3ùû†I¯ÑMŸk)½F*ŠÝÅÛq^tV·Ç8ðçêKöÓhS³(i?^ äuv{x…oÙŠPçe"=šYïŸ]]]]“|×é–ý tâè;]hÔP°)3ý/šØ'îÔ9íë> /r6!¦UÙ¯üg$"7†ç³t«„0.{u™´gÕSBD?ðJžéŒÙ©ýÐ^“ÉY+ieÁ8^²¨ÜÅÜ‹6•1.Mªjt÷>¾Fí}!:‚äA ËgØ,sl’ªî±ãT»se^áÄ~$5ʇOF˜ÿ'›&„bf"üû²Ä]ÉA©2ŒauU¥|áæÑU*úŠ-Áþ=:!ìšòíMó‰Œ#ŸŠä¤GØÄÈz~*j[óG娵×#¿¼mk˰&‡ßFüÐK’~䦱g ˆVd~ü_¿Í3åâfSú0qÞ^ÐK± ¾ŠLݽµ×6üj»~ìÍõ·€¦æ VCVHý„ËŠêÚh¦|½ËÒ#WJ;³ÿ]¶çS'†¤W_£8C5™Â…µ'Ajƒœò‘}ÝD—‚îâûz9¾AÏ^SèÐë)ëÖHËÔ°¿”àÇ çæ%•\#“þóñ0A°E¢Óomnvçì©S%Qù@ÁEÉà Tm¨›³nLy¤úÄ¡ú¯aŽ«”ˆG"«ÇÁ´ˆ6*w:±«Ôûbp´)–ÿ§ñO~¢;¸6BüZë®wÖqÙñ²ÈFÚ$~°ùTÝDÊ`—öBœ„"€‡q8µÙZ%Dõð¸€dIî‡MìîwǪ±»Þhˆ*^£C>ž& GRL-C+yø»fÿ\`óÐq¹WÄ'ÀÖ¼åø5·=F^^ ÕŽOúÙØH"ó'åð}oN׎ö5þ¶4‘JÈe¸iÅdm)æ—7¬±ÀÜùâ!÷Áξš­] 5ëÈâuÔ‰hîØS³œ“zzjò½¦oñ꫼`ÆÖK ‰š£ÙrËÉŒ—wW¨% ]³ët[ƒGFÚ›¼Ö(Ž*è×¼1_jId1W춇¹B -®´:*÷Z"©Äï³<iõå¸>©=r¿øˆd5–Æç&·Ñ[]Gó§mÐX–lª†öI§²LeB°Î|®9×ÀögÈ4f°cÉoQæ¹h·3rÌÝHàv_%ñ‘ËFJÐCÒªIö! ,òõÇpîJL«NmL Ò*FXH*|¬(ï$G#>Ë54~Ýà-z*Ôu9ꢊkOø½£<`¯Â…›<:¥Ê[Kàv$3øµB§‡¹ Jéê=¼]è¹E4ãpšjàÄV ê»¡ÉøÙmOõ]°Eµžløô¢OçW?&î_ÃRÃpÐ8†¨X–„wê,D –ÂÍó¤·>åüÒ›ãÖØy²«X¶f ôAy|ÁèDÕDÔ¡*‚öRÌz³y°ªÌ`%vP—yÌðÇÞ™p\¤Ô=õ¼=?^W‡ŸÎ(£aÈABSgÝ+] œ7}S]Þ¨[È$Þ)¹CVñ8è5*ŠgБ[¤½ˆÞëÈéû‘>ÙÝÃ_”/Eü¨¢'¥v8e¹²-Ó­ÏZ§k9LOpYxËññ°#÷°\Œñ6®ªAàáðÅ©èà!eéï>£û£R½luRøJ^âË?wŸø2L|Ç©ÁËÜÒq…ÂvQ öúbaçŒF}Þ¾ïàz¿ñr*m¡ˆ@©pÜÕ€GÃ)ßB”îÝÝwD–hë€BÝLÃQ]g–¯‚Õq˜¸„‘;aÅWüýy…vµY)BTÈZu¡ç1óÂ2ÛY¡pÌœX…9¡æÑ™.@ªXä>O:|Ë’âÀØDYgŒR+†vœè¯Ýý'kÇdÎ.#ë‡ìf»®l,ÚV±D;tÎTåv]+–oW‘Ùƒ¢`u ¡9œcéUø Nü9š2]‹ŠÈÿ:3ág–S&JA²èióÒEºªØ]`+KÌzÔQŸ¨^ Ît:3n϶„낱-PeEÎC†Ö{èÖe÷ï;,ßÀ"³Ó=ç«Û. ¾ ®ÿ'Ç‘6|:ºô«Â.a×t'Vj…@ü‹FóË'ÉXçNxV(MM’.}/iŠ/algÖgö­¤¨Jž#‹ì£úè9.ó'¼­òˆþ¢[ꬢlfêGºþËTˆ©rˆ€îmQ*nôÁ·Á#ÉÝÈ?3Ð6³lmÎÀ&cÚ"Í …¥ƒM?9¨Þ6qÂìïÂ&Kp´÷ªx¬4ë“»…ö8žJ¾ßXø!(…(œ«m†6w…xêÎPH{M8cAëêM[W-_e*†VÛܯ»ËõP¬‹ SÃË?”TY«„ø@_ú¹amžu“‘¥¨g™{t¢‚q©Auï^¤Žö=.|~ýUFhöÖñÃ+ò\œéàve7П=»~ºUa‚ªË¨$C—ùö3Oo}4—–MþЛà;HÐöYD†œIA[]¢Mò¦¯rSLÈ“LÓO%:)eòÍ‚#µrýõI2b8·bÅŽ<#^&N KRPÏ/)÷{Æ"š¤ñìþçm.ñæËܰՉ |/¿‰»VÉBȲÊ.ŽL`™½öæñæBË»mãtò‰„'4Ý2ŠäX¼–#ôRÖà§Œ¢ä¹ H8VRoŒu§pÙd¿ƒ!f(:oKT¯ÔüزÀþ‚Jrà†8<ïÓT_q/õVï[àO<±2X”SIƒæàΊ[G©sêT0eEeŠ"VŒþ[‘—ÂÓ#º*?rY»Â¨W;9aŠ0ºA˜C@OŽ•&fcWsÄŸzhçÇXäŒ"µë‘:’Öë%ÕÒ‚ŠEÄä81pÖ $÷U–7ø _¬ Cä I••–9¦÷×û÷MB‡åx¬q ôiH4°´Ú"4ÌÔ®Øob™žxéÏ̪Œ¬E.q•M;üD%ɧÞj$Å:ÝÒjéÈ?íÉØÆÀéWrë7?#pË‚©Á¯'„[ŸÈ#Þ‡r‰­OÓaHu†&NïØÄ¤nñ+¥#¡c·zO`7"{”;ebTb‘;Àœ1BbÉ  vä´¼¼Y,|Íœ˜bA¿ÂÀo¥CšÚX59žÝœ, q(QôWèÛ-*'J*¼:…wØ6pD)z¯¯²~Ýà7Ü^\{e „@Áf„qèwÕ_#Õ;iEø Ô™ÝI¸J£ìŠºë,&ÂĞó%úJ5°ëÚ{DáVañs}‡lÕ–°ú |ͳ:k«i÷L#8Ýr­Ü÷•nâ3™Þ~xÀîñdÁï'Ž}ZÊØæ˜Lªû¥å‹›G7.ЂIŽpÏ(±éWÃÆMn°ã‚±>C3V‹Ùƒ¦=uï M† ‰ô¦À@MÝùy]J-'hdãg©X‡Ê¡l›'úÒ‚®ã÷ÑÈçš½½Äíµ”«0삾ÌýZoà Šwˆ–SFáS­¯qäMYUCûÃì•€92øœ˜c}Ô+¨éJ¸êåüIeIãwÅ”ŽãÎú"±xüù0ÇÜ ~ºÿÏE‘óm¨·BH|…ú²A²cöd¢PL´V¾*-eøÿ––¦¡/+(-ÝiôèóF3ùW¤;z—MÃI^4æM‡w£¦aõcDrf+Ó8<0QahI0@ñÝ–ãn|î¸~™¯éõy˜ZBÐp`´€(Aú‡B·x²Üvƒ_?HâZ†–ì_®ù/Û"³ƒ<ö ˜k󳵌u…¦õ™¨Œk\DÒ9•}ô Ðê¡|½´N/ã†sv¾“º­‰¾Ë¾Fí„$J]œ®ã‘Ò—zÞô5çV G¬‚h™•³›‡ ¶”¿°$®Ö'î@ö´íˆŸ‘°ß¢i÷øpЗœêkqÊ4-]°Wê–p® vŠ\r*BÅ­æ¥ì~.‘= 7• —Bd_®µ/-è8¤N⥧_ºˆÁ!ïRäãÏC‘Ù9¤™w3"÷«'¦Ã´y@5Î^p3ÿ,š›Âò:·‰î·P,'iêÑfÕ5PtC}*LA†ff:(èzt„ábƒÏ«µÓ›iÑt”ý-Üd¡c(h"Ka*Ñ£ˆóÒ¸¢ÔoQˆX.ä'6¡´÷où²ßN$'ˆP³…Y8¦¼gÀx’Þ÷nÍP/‚îÀ!&$¿šÕ@¨úŠQž(›‚æüˆ6£p„¶ ¤Ñ£¦;‰è›ç†BtsäZí¼†Èðþl|íª·ê smLyŧ±}· ‹ÆŠ"âŽUÇdÖήCE?o@Í&=fë abŸy͘¨æ¡È7º-ê™ÞZðÌy*{-œ†½K¯ßþO”‹,(I Œü)ÁsÕ|#qÜDTuÛi QïCòsRQCWˆnÂ^UAàƒü•ÌÇ@픬 €rhuóÄR¾À-Ä~Þíù4i?¼¬Ý°©¦ŸÉ©J35‚l@ß `€IŽ §EÊô3›‰_(œ]+‚3GÇ|·Ec’eÃUG˜`±OSîÆLQ«ç÷EôŒ«j‰þ2ÌÔôžÇU½`Ú ü=ûð£ .þ5§8]ª9;®»èrÜ–]`Cw"LÝÖpâ—òS³³…±"ÂÐÌŒÈL`š¶PX‡ì?ä韟* 6½\Hdž˜› új¼.¸GÞ·QÒdcU—–oºç¥Š>qW½ƒbÓx¤,”Øæž©ÌÊöwª¡~¬'úœÃRôô÷­U£"Êy»²:æ@ :4á"^dßw ¿Yø.¬QŽwçYõ3b <_'ßøz·Bž‹Não¡mLiçÖÆÚ&³[A”‰m"Ê>ÆÓãýƳd‡„Œçôô¤ñ‡}ƒJNlÄ!ðªÓržL›rx·OF×°¯"Ü៻[?•tí[…Jé qÂV@šª eô‰ñq%° î]Ы.†×VŽž$Šòì´øÝÀ\Œ- 1?©¹ƒîÆŽy…'éoP³dþ"׫B–NX"áo¶_LPqŽ&C%¿–ÅlœsS*@€ÊÌdãÄÚ¿ôÌž›QØ92žlaæ«1çÁ÷Z±ú4ÐÓÎÊÙªx&ý\C ý ÎCšÌeÉZb݇­¶ö†ž;v­Úÿ]o·ÐIÜ“ÖI¨&YŠl^¼ °vwí÷Ý"îî»ú4/_ÙÃe 7ß4:jâN晥HèÍ‹rÝ2ÝijѭµL„oE ÿ³˜{¦ì.ƒŒbê‘+ „ðb|Ú³/²?ËBAG±ÐjîIÐ÷¤MÙÙÇ}‰Å®Ð™h˜ùðÍ-Sʸ06eÐ=ˆäp õ!Uþ¾3þºÍ g²@­¸–{SEAW=þå…z ŒuyµqPmà~˜YöQ4?®ÈBå‹ä¬N8½å¶raHgø+Êú„5ôgÜl$¼ZlÕ³‘ïÞ£Ò™‡ä°’£ÀCèªzÉúÙnÒVJ‡´×nÄ;TaZ0ÈjÆq²\gÒ!ÆàD¤T±ïè/g¿+ÑšÄÍEBìÖ`T«‘‘X°KÚ AŸ‰reG«1`–¦íõŒ’Í"ÅyÂÉÖšNXK…ú^›‚^݈| +—BqqºÉð<ˆµZ&Ñ‘åoÎöœôun™Ó$ñ0äÉŒ¯T¤Ý2øRÊ]@ÃÒK1Õb˜7õ´uÍtË€¸‘;‘íž<ã ÖñåD½6“5WF:x—º ©_@eÚQª#²˜¿¤¿™2oŠøçJúÞ».¹!' ?xD´ ø/Ö…95ãÅ@ «< º¶ Ù±'²ÌzØzÇ)ׇ˴o4÷ÏlDh€Q†a£¿üaâË©µ¦?Ñ„Y&QÎj5SÊB»¸-ÛÎÙäÑÄñÊ,†îŠ»F­ŸÝöÂyÑ¡…¦]P0‘çŸßÄž@¤•ÊÄÇu`j‚y¨wWõq~h˜u”Ù£ê-€íh^RÝy1Á˜‘ô÷Ÿó~£Xe®`o^ð³5©á×¾»T »bñ¹,¸WhÞ]6ùZDÛS\[:ßçu>°u\ Ò* {åÁ«j€)‘Sï|“·ÏjÀ¼ ~wY¾ÖÙ„PRu«[ú°¥÷•Õ^œì¿a JÈáÕŠfß½³·¤¨j¨_Và~.µÞÄK½g&¥\~gÌh^üúð^WØï .BKD¨À•×^<1È\!Ÿ$lf\à±>€ ånï#£8¦‡i€ûL\IzFx׈ƒ/±rcq.v ;ê(‰ôBfÝðÞ"3äõÕ÷a-‚%{LuåŠ:΢Qîð%…œ=® 9 x7Ôîpü£¥äÆé5˜!„gŠ]C¦x ÿƒ&„ýõɸS¡ L„ÐX¸knzËBr÷–Ɖêp‰Ø\À­gšgü"zBÄäþ"t)&eÙû¶7FϾŃ:·(„Ò¼ýË·D%%À:Nk‡f”ñ:¾ß²ÑPi':úÝú¦í‚½{VÇ¿]£­²×V$5X×Ía%àã¬.ºí|Ù[‹©5c$5ÃõqaO.‹‰eG `ô‚”¥£ ßÑgàãVÍ2Ÿ>©×Ü®š]/ôŠãÚüa☸ær3Z˜½>$‹kN¹I[°8,?ÅbKIBAX;P˜ˆëyÔ¶fn±Oã{¶ŸÚµüµBJ»òl@õ?DUö‰›ÒÏÉëþ…³õÇÐ]œ)05d™Ï‹˜¿–é¨xê´Ãu/9¹Û¡9&S—7žŒfT808K›xb3µp—KvFä>Lw´½rš3 :y›¶š{zOýÇ^ž@Áâp2ò§ÿâyßøã›ÅÎMxô{"-8·5Rß©ñyõÈïñ%]#ø@Ò ?÷÷‘a0<µÂŸû»ü%j}ê„\p5ðصWrKrÜ´1T²xÛ ßuœœ{ßÖ@S‘ „™eÏ$ðž?}'*_ÿ6·å â͹c`ÓÌ‹“º4Vå!!Ì2íÝšŽ&ïÇ*æ%ch†ŠJ•ømq :ÖoKÐÌ¿(¸½›j_dÌÙLôc+úg—†qn¿õ¯@¬ (¿¦öD8@@ÞöY¼³˜û9z€Bcøs‹º™f«Œ?ÿVO´û£//™IÉkß2Eã xK¡8foÀìá²ÃÚüÊÞ±|ж^?ôó†û¡£·¬2H¯~ö¿¢}éÝ”sJ6äAI‚ƒsBþ¼—ÅпÛ>ŠéÝÇ7©ms—Y+^v?Û?£‹¡¥¥âcœnÍð‚¨†sèîfd|S9»Íö Œ§ˆèrw'¿‰qõmd:Ê.Ù‚\¯Â”=BÅ€–ýg@”çÆ@½¶è*þ"¡ÈÅ8¾sÍWýM=f¥b{â«e-–§G.”…µ1ô¸°ÿ¥ÖfÊ5I¬v¥hX“.Rb "&gæøN›àºÃê‹«²ïȧJó¹Úéjo¿g‰ù6çŸ^÷Ó 'zïÉ?´;m!efPT-—z<»3x°L ¶Bj*ò™¾¦luOõv+ü×g9‹ a²Óã›«Ç ä—´4npxCÞKSÁžÁ&6ÏÏ‘U»åjœo¶«‘Xäê¹ßEvP®Úä#v2~Škí­hò‹ Ú+¹ûG™¯2—!É{úÊXÇ~æ»G khñúìÁÐçAD5YFb®«ÜädfºzÿrgÎòüó`’b™ 'çbv~Ì,Á—Ù&s.`>Y ÿ0ÉQÕȦÄ&!,³‚”ïkù Oµœÿ‡zÁ‰êêfEsÀ#^q,ëYl† ê_æû<˜ÀFVO–µfJOØ/i¬Ø—–ÉuJƒ{DYQ8jD°lï8ƒ ~y¢þP˜(ÑÐ&ÊûîÚËvlY[ú.ôë=ZZdxŸ…ªù‘¿“Ï4Œj娹ñ Q6a‹“/:¶f9 ÏV›/@®è"&SKÈ9©[Do´¦àEš{åÒêÅù•÷ž4×Þ¾2cŸÃ½w‡n\íã|kg¿8t7üö¢Žê¨XöÈý@2ä·‹ç-íÎ…w:!3’Q¿¬y'A_V×èèÞjãã‹>ä#Fò5>¸VŽ1ǺŒ“甇0ÎÇèʸ”.bË#·Ñ$‡îûÑ£4Å€Ùb£&ìý‹&/µœìŒs~‰YÒãg^çòÍòÔ³*«,wØKi^Ih’Î_!õS2Ê…V8ÏÉ®É9Σ½'ïQßaªÔª´j4‹ñy6–9sÍx4‰‰t©_¦Ä!"Ý𵸳¥‘‰y‘ç‹qxÅP2 šßômöö‘ ·@›sèøJÈM²Z¥kቲš3 "‡ÐmãÇè®~wüÛ© ¿97D÷å™R#Dš8ìÅíÑ©`äåĺ‹é~­U4X[•–h~çw½½ÎŽÖ¡áô»«-^gïBÿÑÍR ~£<,xó^OfBŽDgdé”›‚ª‹ú´:pÐ¥ ôkª7õÈb }±-©âEêDÄ’Föà ùUJ^„7.-Ç`Ï›ÍAnK©`lñ’^?ùPõodì«Mßáˆ'lḆ< ©®üs8ô6„2“ú‹ EyDE|Nc¢½Í|œÅ6ê… ––¼g@Vð&bͳ}ø¡k1ÿ’ê;•¾ëÑë…œi›B@Ÿ’q(`öˆ¢)±!†!IS:¢)e~ÖÿDNÕa ”³éÓo)Ëp\¼(÷±´];Dö<_¿ekäŠû–Š\×ÅC±VI^²Gu½ÏÖ²T÷_†,©¯º£‘³NòÍç~†jCÄæÖ ítÚô—¼ â>ª¾d7ä—< ÂI\¢.穾ܞÌùe@'4ûþ1ëꥩÆ×/u¨ŒôëÀÃDY]Ò|žàïf|ye£*Ða•u6‰¤9šqõ×$s47WÙ8ªñ³Á3ˆ]‚Ò”™¯Ë™ê]›õlÿp¤1¬7Á®‘¢én@ÊTA®Jýñ—=ô«Ùé%e€‰céäË->€ccËû æÞÖQ¼u3ɲ;$Tüã„ã{-”\Pö yfóðhøva? ¼Hpu³ ˜änÈít8ìQŸ\¦êtà7zA#}yDj"K|µ3çævÓ|‚^!Å\\í /½—9Î-"_“yÑ~1y J½kí -I&¬sÊtûŽ›ß/¸';J`b@O¨ñ0Ûœ¿}SK6mÅ*@“ic:GH§ó ›TIº†¾w¼ú‹¢Z±=È_Î{º”ä—qI¦‡ Z;zÊnÛ“\ôk“ÙÁ*ïš)*uò÷´ÕC=Ãôìð#믚%Ï,ž’'ÏểV½ MY]9p:.Þ>ö5g¾¿¼Gx w( æ>ÈæåêçI´GømÝÿ™#ñÏX vĹ2ßUñ„Ùr10áëÈ$@´»Î3MOûö€«ÊÍøÔ5—ÞÃZ%Wã“c‚ˆB-’^ϨÑ> µB%ö%§ÈÊjš‰ D>ÌÿÏ>f™/Šê¬59ÌλzX¶áýŽEM÷cjk¬_Þf7GN<‰P~ýÞt¦Q´ç¨ç?¶ü$½{t“¬Ã³éüì*é`Å‚1’.dX«B4ôd‹Q÷›À‹HJùJHJH4T,â ²…Oÿz£|àïê"s”ÅþF® žǽ‚·û‹@L¶ Uèîö.¤Ê9}ì•"·¿ÍPÊ(Ø´‰:£ÃÁ)OTð~ù¦ñRl"㯧›ã÷àǶEsL?8‰ªä¥Ü>jon+ÕÔ½›ØYuB–„§ïµà±ÑNô£ñƒAVÏÖþM<½Ìl8T¶:¡ Æò£¥.Õ‹§•nÜAÒ~åh}BÅíYQDe耊±o¾cÕ^^`ëÈ/`ö9£x%Žß Ýhhàé$+r…’P|mc¡f* Å_Afj1mîÈ[/–%-AÄïø*MK)¡ê ßß`ù8Ÿu˺eO"îÏy„@1ÿ øv¡ß!Óy‹ “Kúça¼Â,¹2»xc /ýïïæü^Íf«í$í*YA\¿†f’İJ €ÆË-_~NFãT%ïA*dïæ–n¨™]w¬ žeQò,+ÓàÏ‘ÆøV&£HFiаÆEG£ÀÔ&J ÜC·Ç¹’0ͧVOÖ‚¬ßú´RÌ÷ÏÞý§·S»ór%èm¥1ʾæU¯±¥¡«”{"çjÞÒ"¤9;8¦h÷+Y³!ä(‰¬‹”ÈÈ]ô- êéà[šRÑT•ÃÔ€„Í:KÝ*·>Àskƒ56“Gw5EÉî —˜™=[åÚìò“š^$¢ö©¶Û1nI+Oi&àwý3××ýpÖWQ.ZiI!Áf¡ççöþQ‰9C9áêôRzНùÕ‹åîqÎÈ}GÑÃßoFî4÷ÚÕU×Õu'iÚÝ¡N©y¡+Ür7k–7M¯‡¡9wÎ+äÅߊ7 ñyi«™·CŸ&dÃm2µ¡Èu™ØK¸G*o¤£$Z›4¡ï?×ßN8|éä…ÑŒŒ" /ã­½ñÌ{7·ÜBntÑÜ/¡ò{Åø'ù7>?ªVºSÔ¦®l5¦rZˆHYEŠ/¦”y3kB9'ˆnëÍ#{žR€êV·!’nñ ,çaÄÞÚ!«µ8¾)@`ª b×·sÙÀØÔkÇôm:=Ko"+Ks[Ý“˜oeÕJkzˆø®Š²T×Í]Í#œ¿¤íðÕeƒm$úI'Ìz˜ ëh§óäu»@éÙ|6ÔWÄ#2.ÒhRN¡˜'‡}šV××yÿ³wâcaÃ^€/ ;ârªn,mšÞþ[²ç1æ­ã([6b£Ca™ IƒŠËª4n4]ÁÚúcÏì5«Œ±·ÜŽž> jÓ.P£âŽ9jÁñËl÷,XX}ñ~Ôx‚Y#¶­öt=øD†?òÕyÁl`!ÕuýL:Dqf5ÇĪRÔ35ãý^Øè݄ϛg•ùg•rð!JúËŸ OéCÌb˜Òô²—ýo¯ç¹/»$ òO£•‹>’²hžùî¡õ˜»éÝ,ˆƒòx '"R!ÚTÊ%K™¢¿îöRÔ±R rªûàe+ô.¹’[ü’²° –µvGˆå©oœ·*XoÍÕé“ePÛ‡‹is׿ڂx S£‘fÈ 6yÇÕ² æYJ¸c‘K)ÿÛÄí×|­oz濸´ îv÷u) /{_¿¼ŒÙ:¶P:æ×š÷„HØ!íD*š0oI°ÿui¬“ÿjúåÕoüê±8ç2ë¯âCÊ_uÕ+OŠMùWg¼¾áŸ¿ýN8ôιòŽŒ¾ézžÓtœÏa“÷ñ³­wG/[B¾´ ZM¼ƒU¾Â8Fópàç,Èþ¦¾]žõ]Þº'UκöNíÊÁ1u ‹‰½oÜÝ´BŽéhcN±†—£ZF*_AÏ´–=›KME¥w &å·¶s$U³  }Z2*´Ó"-*7‡¿XÛrã_‰0aåö"€e™Z¦3XiÛðˆQš›ïVµi3&tWyk^Ô %Nm 6¾†•”ð|Z¦¥þIJÈ!.=í«è·kaÈé‹Ùƒ€‘¶‚Œ±°¼Ñ’WçбöÑR¡§’l`2À==ÒÄŽ/1{‰ÿQUžiñw±9³Öy}_s¿³€ 'ÿ¾_{u¢GÑ´ÂDq DÔLæNdúr„—Bžˆn;2Mþ’)_TOá€+z†FyÀ$'·Ê¤UпôÈåh°ÈcÎlÿ9MöÃÔ¥…‘ï|r×°.Ú#rÌCU½¼­Ñ)ø[ˆ6Ä¥1Š„1>¯1À/•V|=<ÚAÅ-í\ЧSfPÓ‚…9ÑáVË´V.û4³^ ¨±ï¤•š»ì=tL¬µòÁcºN|µþìÏ ¬¤“ý¾/ÿ]”ß; Yß´Û\Ä3£ŽÕþÈzgÔȳX{tÇm;€ÈK9G=‘Gy½èžŒ™É)4qoI:\Ä{ÓÌÆ›7\6k?«òßÔéŵA² ³è'KM‡ÜÏètl<µËÿméžÂõºdß—o`½L*ÂYM~ÂX2Å+ëø™ âö/VÉâ™]%Â? „Ä>ÉÙÿ"ìæÆ­ý÷fÂYJ|œ•¡r›HÅOhþý6#²ŸíPª!.æ- ¯Î°‹ÛŽeV;‚µè›J'[E®M$…tÖ"œ½ÑШšs+u#θàá}cºSh‘Áâ*fá8e²¡vÝ#W)i»S[ ±U±×ùÅ@éw€ûˆó µ­÷kÞuñ”^1ÀYj.ù Ô«ºÝM‚ãúî´bFñÀ‹B'»2ð×ÄìôõÕgÜP)š¢\Í+J(~ÏcÔ‰1ÌNøBv#²ÝÝ]ø7×Ò&¡› +{î³Ø¬9gˆ±Ú<Ë&Ñt“¡ŠùÐàkã˜ðj¬½€[% }ñd†Y›¹-áùm¾°"½ïI?ûWÌŠú ø¶qI Í‹àÔDç)¥•EÐæòAÿÔúò50°å]ó–_ ¼ï­U¸NZ¶Q…€í˜9É’˜ 3kºÓ¢ÄÿR ÃKTŸnU¥’e^ˆå÷ {æòܱ¥¿Ãåè!*x¯—ZÑnõ—ÒfþVÊRðö ‚™+®¸Þ@ &¸Üç\ýë]ä¹íRÖa,Öçnæá‡»«³á3ñ+¦T\I‘£â\ ©œÖÂUj‰.#ujK_îD3ó[€üý+çð$PA ò®¶­kÌðÍBêF£’e¼é°ý¹hyäR’xa™ø{ÉÛ"”¹œ>Pè_\×ÔÓâŠ:—sãVÞ ìe:ýN¿™_ÞV0$3y§vHÀ,°Óy"íK‹±ß×avØ$åÿ1ÿ-8¯dwrIwMŒÙ,¸CMÙX4ýàUæÏ(bq›´?°Ûa<У7Ò˜s~*j˽(>–-’zùC•Ø¥¶kä¼ÐÂÁßëª!„p˜j”´1CºM÷£ôA‘´Q"ý:¥ ï.U$SŽ*ÕðªÁpÖ“Æ‘£VZ*ŸòŠ›³øÇEº˜—˜¬ÄÍð|µŒ „ð…ðE&ææ¶ÀÞ§Ö•ÈÔ®&ï¦qönë"u¹&É&öoTe [|­¢ê2˜sƒóCAŽvé1²Ê={?L­`PêX?Ù2¹KlE6¸”R â]0OPõ0$~Å߸ÖÄ‚$nYüÉÐ{W/ŒÏgãJá …Š+èǵ_23dŸ6EŒ:ŒT³RxÎI&Úÿ9ÒÌg ø#Ž\ýÞÔ|J4ÝX‰¶P­lèSN 2QAU³ƒû @&QUÜvœÝöÐSaÇ ì1»`ÖýiöÃŽ©×=ÂÄ¿¦ ¯rNSƒ1 œšG÷Œ j* Óf}IaÞkNs§°7üï‰þÁ¥sXÙ»j\&’p!QÜ÷#ÜyDj¸ÚQü§í;Ä므K¤]"ËHw¸ÖnùÖ æöáâ.5CpjéÌ&àk-rW‘„9 hØÐÊM4±ʼäÕhœÏ] õó%t¹4ìù<èA/¸.…0ià6«œU»1*]~®rêüÂþÆg¡ Ýò¦‹ÿ)ºob …Œð´Ö>]cR"—Ø1rÕVÉ\®Ø‰ïî"ƒF ™^;9÷hUÇAÎôݘQ®„ t¼IJ¢ßš¦û´’®‡ Çß º‹y­`\ÊÏ:d&"j|lãõõªépçg¾E›˜dÁ9âM‚´#ekÐóö¯îÕbzÞcÃëWb-G¤òøŠCELX‚·Šdð_€ßüö½}þŒ»ìØXxÞ ÿ7Zn¯cX86“UíOZ˜?³IrÛ:M|yËl‚#Â&!áAêžFÒJÈøÔ:™¸ïÚÝêØ‡$‚}Ì /Ǫå¶nÍômɇ¤ÄHÌÉÖ6îþcÙ N«‹…Mh/À¡‘öÚz¡¿hᢠCö±óJ9g†6€TS©Hø¦,fkl°°ê©¤ÁããÆ“ï¯®6"©r¸JêBø^º5Ž”J¼1 ß´qâá‹}l]—¼„OÔël´=ØÕ¿”ÊnÚ¿÷ØrÿFy=(Ú¬gBÉ—¼"õ« ¢+»9w:û=쑨ðcõ=ºîî¸ñq¬{E;œÖV.œ÷ìñK¹òJþ_I+fÕ$þΉ«jy2¯5Æœ' M§Éž3ŠR[——Õ«‘¾2Ñ\?ftl%¯*.«L–„Œ’¬|ÎÜ`ÕqY¸6¤—%x«†Gغò¢›óÎà ôþfœ6o$ã÷,†õÜË£\D3«VšÑ&nÀ0Хɯú„ª¦ÇòЯªáoÉÜ,é$}Ü=¦á;Õ:däÑò<¶\ÓAc"cÇcJ>X¨µ™ûÀ3„ÓEÃ2¶ÏàX¸ƒQK!lÆp-M)ÁPÝï€è3ḎX-º^rÐgÏ,„´wÖ- Y`w éQ“•r&ØÃLÈÞ ¬Ãˆfé[ÓÃÒBƒÚô‘…3@åzÙÉo>W¦‡û¶J,3¢Éc˜BZzððÅdmÜ€ÅvfXœiu³-[ ês©º]Z*ð_´§ys†,r‘KóõñGÏ:"€´‹³e¹£yi;R |«›%=èj{{ñWËáVa'1sº«tË¡híõ"4ãäiÙL°G9®Wòp.ãŽÃ„J×ýt³Z±2±ÂÜ%NàÖ»èÄô]2μ3UÍÃËâUJ˜ïXmÉm”\ÀN‰ ]Ýÿ΃ÈDíLßÓÒ¶ȧ×$Í¥y)9Æ{7䆂  EÀŸšîhZ7 sÞ¯@ÆEƒ‚PwO¥ ª™7¹8Äžið<«8uèÜAQ¢ÀÅ¥•XAëóSÅÈÃ!º‹ÿý¯Ì<+àyܦìÖEaRz&&#ÏWÃ%’Sn|º]W#MÛÁh° QÔ°³Å÷D;Ž»,@,m ÊÔBrÁ-£ë/Òã|P•O/™Þÿ¼>×ÂáçÑc\xÍ—aÌHÀ“Ü B8=^°_xåÒiCðt <+è%“ZóøÄ…0²Ô놶ZýZb¾Œþk©Û…sÑ ©tÑ8ëéÒ°žzËóT ûƒ=ÒSè,±v€@…q¸âóïŸ$¢^£½ ûbš@5ÒöÕM¡bÚýV5"¾ª ©€*Ô”åѪOó'1ˆ·>MQf *‰œX LNýo¢EÞ¹W|¸ñQðu$V2ÍË÷ \\ÃEµÜ3„–¬F_âà'¯£¤Múù6;n3+ðÞøä–' Vº¢|2™1Á#¼Ÿ÷ºžgW|ÔûP,_ëÅ =]8¯?"ëHŸÕv´R^*§Õ°Ÿ~wž 7|2*Ô¶rR´_"«j×[@üÄÏN>÷”7ºSd¥Î%‹wSúJÝÜ^ìøjUSí†^°5TIyÍ&ð8 wxÅn%7õ¢&£/êŸTY ÂO «ë4ßõý²‹Ü^ïÓRÒê¾ûwÐ=/ì,ñ/õ«˜v½ f\â-çvÖÚ2b2w‚(G¦´?ÇËðÔ€®y›£lxÚ\È«¶ñU °”_zšEð®¿DòÓ¼õÆüVŸòjFª¾KÔ#ðâŠù}ÄõAöû¡>t"âžjÖûùxƒÝ ð¬'_Á‚¿ú ns $t`Gá‰ÌT9¥ôÄ~—­lÀÀáŒóS—ü¸™¡™]†ð¿C{7`ç ÷fÙ)=™ …oqνõ<;RmqRÔ9Æž“fUÔBèÝmÄË^ieÏ ¬P£‡Ä,hˆP•«Æ>eÚ^hp³Ç«!Fžó¼–8¦Â]5w%x´lî}CEõMëߌñÌ+æêά›¿TÕvÉh†H 'ÈCŨMYÝ…j`vPô•?¶æ±ñRß1ͬÈé*¶ó<¯X.³Ckq[¾ÀO+|u78ñËçéGAG§Ý(–åiõŠÔ 9 Oxâ@Ÿð.Áò"…À4%¹‘–®tÍ(W$raE*¼¦ÒÕ~[®²³(&#¬.O ¹•A`Ù4ò®S-yãÆôÐ6‹I‘ŒQ?óc`Ô@Ác8©']¤q«ù µ_p•ÖZÄxs¦éîX+ÀÖAí­Àmñ’>¤Ö£4¦QW€à§U2.}¡ ›3öfŒ˜•Œ}P(ž*pDÎk¯ëþÈñ˜ÕÜ^Á¦DåKžþŽz‹Ó*,Žé'šðOŠ*…‹e"í,~|€ñ¬G9ÏÄ[[\¹©À¢Ø”0}Ÿ(¥€ñMS¡µ‘×JSOÑ5`Ô­#&œ|¨ünÒœ˜€üà×£Õ"|³}6’†I,~ÜÈômìÀÓ1•Ü‚X¶ø  „†(–½Îsõ NÓ °vÊ>á‘ÀFYòåu§C(:Ï2Ó¸´n0Ó (ŸêÎ{‡»¨æd†QHk5ÔPÃ;e”UÕÛâçz@Wa3fЯ"¨’‹t{¾Ã|•ÑÊq§Âøäˆ£šÓþñä°+„€Û¸è޵’ÞÿÂtLòžîe¥ŒÃ]yÌŒ¯9¶[OýÁ:•5ŒŽ¡ècÒ~ßÅà"XDf:Ñ]L'“Žâ¢Ô VôÛX³ŽÕ'ê ›ö(œð>]l°×Ñô Y’îoB!Ú´ý§­wL^ë,nnǹl0KÚb ÖTf±o ¶îƒ C¨¸„ÚË}_s$øõrùä§^¢Öf¾)›&0#G¬µ5‡È>?&Oÿù=§In\R'°£„–>ƒßç}UY”Ÿãˆ™vޱ֒b<3™$‹êºïÑ‘iP¡>>Ó¿¾‰bø‰|"ä<…Ëä ²º‡äç‘Zv<çÖ ‡ï%ùþcÙÙB¹TÕí;V¾ø¶›%œ•½³ú‡s®ž@—°/ó¶î<’UÂÅDM ›ÝäÆC—sý¦n6Ëé6("€ª“Þ,£JýÒ˜Ðr”Ãn,´#-`†xçš05^[²½W}„ÏKLþ9…p‘Ž*<¹\¢ø±Ýî¶X*ÖÓègoíFØm¬jÇpÒË5C ƺWbýÄÅÔç:Íl;O­Æ<€ï1>¼ui¯Pª‘jIã9ãòøy¤9¥šPH&S8RNµM ûÎ3‘ÌT’cF¾ÜÜ=FލÌh³îÉ,ăúYgŸ_c{€4vgϾïdXñ†U®¤5òXÌ‚¿Bí=î ÇZ1¿4l-Gφȯ®è†•@ÜŒÍ$K©È{yxAî!AÅK V†×9Cʦ}lâv{nt‚Ó­-}Üö™"{yqY4àÉ+ìrú¢€G0\â°ø›ù¨û±å.EöÅÖ´µËà¼+ðÐŽ+Ô.¦xÈ%6bв´Ðüçɦì6r i„cz@ŒåÐjüÚ²« ô¹(ÊëR©òÍbš¤Ú&xD;=Ès†RnÓâÝö%XTaz€?Õ»•NûÖ³ò…Ý¢-!­¨ßbû(ªŽ~’öB¥™/5»)·˜¯Rèð vjÍp‚ïrÙN~@{ðUÇÏe–A¥ÕÞ˜ qD]ª_ƒÉÎçt=›BÙóÙ²3£Ë’û‰€òÛÙåã\Z0&Ï"›ë  ³ûƒ¶9£amMè=£'ˆ7³k'5î;ÄuÉK{€L^··½©Ulº'Z/G~üasnfJ¨ò¯a»7 hi—€¡5^&ù>¢Ã <7·s°zƒ·zêÖLóÿy;yì…sd 1~hLÃ^$9]c˜õÉþ„˜Â´3¤Wô¬Ÿ LLvôé?Æ’A‰•q®‹ Tùì¾Ná_¬ìß‹hyRp¢wþOžŽÙް¡e::<=þŒÓEÅb]k@› Èàuµ%i½µ cãýöÜš{[ŽÏ ³ŠFØ–ëçEê ’¯)áš?ŒHTüVjeü¿‰Dñúþ€Ž²Ú-K^ìJù϶x-é*–x^iiêÀ` Há]rLØ>ô~±ËçÆVxü“Dåy\a©N¥L"G|Ê›?/…öÒ¼„(93 °Ýé@râØ‘Q)¤ÕmÛØ#QŒ¿—éºq_•Õ’[ÊèìZ<-ÿžsÖ%~o«gØ™¬RV–P9ÊâKy94Á•½å–D|ÈÐUîº0­=ÙÿÁ*A0’JáÊóÜH÷àã«kTi;6Çñ™O"¹Î$Ý.uâê¿Ýߣ˜tÖß üPQÌí@`Y4‰}®{þ¶“dû*\›Šò0·H*´ø™Z»Àñl’÷˃(¯êÒ<Ô›7mâe‚`Á<ù•õDS,=§#°@®c(<]4ÊŸ³+¾ÍuàéAüãöMÊ‚œ¿ e”£( ¨mã‘ζѭ×ÈLq¦¨y¬Ž$cÂ*ø%ô.|Ñ¿P•)½W½©òêóÍ×£»Ti V˜ÌÃb±‹Û6Îv³ ÒTªòE‚¶µÒ¤±O䮸§ ;«æ€|åMªT#ý¿~×Me]!çÆTwU  m^8h8ÓÒ»õäD_«œN:€Êضl,y¹A*¨ekb‹ìL)rrgÉ#Ç^ƒU þÄFš’LÑ…fˤîÙ#ø‡G–ĵ…Üè|’8àO_hÆ.[ø°Ò7½Eÿ‹8ënÎ/ÕâBlçO!˜¤Ÿ(¸‡Q¸¾,ÓÄç*Ê¿&Ü~tÐcZÕ`-»Qª™7]]* Zs,æJ•#9ì„€´F=¿/¶íq~'ÓÉèˆÁ½pCÑíÉNH/´Èãmg%t£Ú†ÒéËÓWQ ÍNDy¤#ÜmèNÕ–®¥?Á³õæÀ@‹âwc>ºì—¡­Ï$/¯©žêºŒ’G&Û Ñí'¡ 8KèÓ"{¤˜Ôfȸƒ€©”w|ŠÕ32•†1.[Á`ÜÛ+!:ªœ;T±ˆ¤³^’²:º¤çfi!0«D\X…,wó¢C2(S†ÔÀ´ËbMx[?øü}ÆR=Ê÷/8Hûîp-cÆ7¬šº6ÿÝ !­HLó)»%žºL ÀrcbA7@ØÓÄ\Å{éβ–àºH³°ä´j¢ÒWzß$׌ËAxüW¹X«q¾VD¿¡õƒ3~•‰ È™ãâ,È÷cé(è´g5š•ÑöYíþ”ÖmcYÒBgæWÕÄÑØ€PÒ¾˜Òþ£ï‘‚PD:LІŽwãõ•ôAž¬:/Ùòñ:+eDƒÛ¥—ÜÇÝX ÿ¿;-y-õÆoUÕ¨{ωWÊX›2,ÙìnTv±\'`y×Å1¾uÇÂQsI©õÛ£5?™òÍØ`ön:üõú¥ Õ}òtö¸ì #ïRXã|+ÚO|ûåúX@б®Š4Æîç$çTƒ\/ÃÃ44UŸA—‡cÝp0º¢Â¡H3›/Q1ÆrË 7O„W6&]ó·³U='ôŒHoŤy»D0¹Bûgn€¨ÈE.7;(=9ÂÀ:•ˆ§ÉЮy³/{äJmåsÆx·("~=¥ã7 k3= ¾Y£ö SÚÚ8ÝŒºžHvÝ»1îU”“㉟¾ T^,ö¨ÿ4ÛãE÷È9{0†Ø9ŽˆšÆ5oCj)•¡Î·M·ê¬î3…©œÜz-¨÷ûáU@´OÃA.ŠS «ì²4ØÕI[ûü 1¯>ïd÷ã‘™bR) ¥uÁ¡õ•€aæÂ…➉³4q4äûÕ¯ùi—XŸvÛÂî ØŒ‰ã­ôEÏ39>ß*Øóò°**جgÓ‘‡dBgç³~®[Pkî§ýBËÃ,Èí¸bI­±¬›Ÿ9·¸„§mÄe Ñ£¯Ð.³Ø‹’Œ*îYn hÕéþ'O×0%¡„÷óÑ£™ŠІ#{q<èpIUž¯I«FÀÓï‡~…êq;ÕÚ*õ˜‡ò˜ºÜ/£]¥‡o ⟯ˊ`$k¶­ý¼ŸÅÔJÙ›š à1eQN†û]ÅŸ7ÑPp³ñïò‘ðÄSP•S¢Ö…S× PÓ°¬’Ž»6_º –däWÌÂþø¹?߈àªY잀UÁNGá‘fÜÊâB"w1¸C£ª—*p|7<6<ê×ÚƒÐý–<𬤻óˆíÿÿüÂuN†èJÚÕMëR™ ’]ÚaR2» µ5þX޽Àn•ÌPÕ²'­®Ðú-s.–Êd~žÈ‰KÍ’øÔÖÁ/±èED î÷ó…íÉyXâµS‰c¢l°óRÚ {œ¾¸*)Øí¯Ù'zˆÉfñ›k­`:iªã~ÙâéÙ œÔ%®Š…?1Ý4viaÄRõ›­@+,´ð†[²¨“òd£¨S2¬`nAãrj#_8ÛiË^A"#5èWïéËA”s:÷¾>¾*F¤Ú!Y°+…íH]ü™¬ÌÓ| ÎdÈâ¿Á¯óÈÃÈí¬uÿæ×B½æ'%¼W‚ˆš)ç†ÔGâÛy¬|ë³q¬¼Ž`t4=ìï!(¾—ïÜ¡ð-«E$¯!•jóOLèâW§ÊÉPFÈXl÷RÞÏàO»¨›‚çˆä×BÍÖü¡Ñ³586þ JÍî9)'~?D"f¦²1tØfè?ò@ÔÄEëõ R_ðéÕë)6ñ`†þI®b>-®€K+>Xê_! sˆò¹­Sx¨øï¾3‚Jx%Ž"–ª úés?÷úmûH+˜IšëÙ¶Ÿn³Ò>Á¾A×Kæpöp±s¾„DAD§,LO-hžÊäÈbà…kO£ä´ ߆¬»/h‡ÁúLqSÄ ‚íÑ$µt9Cùžì<³(Í® WŸ¡nåi´ F<üâì¿-1#µM$BGÄß9 ¸$Î2pHÅJO¶¶©Gm¾„Ojž šÏ¡®Ý —Ýmý:¨î<9­†HcKHÚܲ,ô.w&ý…¬?×+5)VÅ·¨ ¨et4‡.t¥©1³Ôõe䮥š6¸.K’µÄ ‡P±ÄòrÌ[òacÙíû&S Úx}‡ÙyàÑI<â“1ñ„…ï‚=ФeÎÁBH k˜*¥^L³é:¶È[ŸB«b‚sel1h7ºékòÖo˜ ÛPÈ”eÛU!$áäŸb’jtŸ§[m—úµXý…mß‘¸ ü¡ÂÕuc’Š›ÕƒQwk$ êV¡K3>7jsìütÛUï´i§xP½×¯3ùÖDJ»x䑸]~l±-3Ãß87éÍ^Ñú’CÄ™^ÂÍq}¬þXûäP‹ô_| H{(@.NFëßdœôÄQ]Q•ìµ·À—Þ„^°¦ß€ž}¸ƒ,è/¤¹–EݧŒñ¤÷_f§Sçˆ_dP‘…œsf豨¤cAlãö%ƒ(ˆ>áøé }\èL±y ”ÞÓðnw)]f^¾5‹DôJ&ËÑâ¼0¶—^h¨¨›ûmŒ-->k«›/ÇóÀãù.ß"QŠuë‘ÁúÁ£qÎêì4¨6mJ¥ˆÍˆ…¸Hè ›ãȸÉÉ勱´&œtcESÂïe9ª´Êôê\Ãõ(–Œô­q«*õÊɤx¿DŒƒ$ù4G²{òÏu—º$ØeÇ ¢(ë§Û$@ìBàõ •”á,ÜÌ©ÿ¦ x>ˆNTƒ½e&Çé†<ÌNT—YNZŸö.Œ¹¡M÷_Cq÷zLÅó R‹‰ ‚c؈Ir12Þ²æŠÎäšXþrÚ_Y(l§Ìî"…EÉžQš(͈‚A¸äcØŸ7ûˆcA¯˜–P•‡Šž¬)ÂdUGxzábïÏsŒ»}ÖHÊåx IÓ¿ŠÆKü³gm¨%•ü?Ø6Šë‘Žwÿ‘ž!}êQÌ8G4'X­!b‹b†ûÇ3P°eRȖĦvª·°‹¦~Tíüí°nÑœLöǦŽnE‡eôEd®Î û¬É-‚=Ã:¢ÿäSπà UäWÜ(-÷*Fìð217OÚÞøÑ†ŽŽ.âjøíªBlZ»ÜaiÊ_îïéç÷¸ÑÏü€û•óä›´_¸"a†œ³Ï 0kÞÙæÁw™ ø{¾soBÖaÇ)Ïã:iU¿më‘HŒ\š  ó^ª¯ú(fÑHDZD“£âØx¡¬’‹ƒ“ü¢&ʸLµBJr€–¡æëE [/¦ò¦ñí˜VÒþ­Ò ¥y[˜jí,ßL÷ÖLáÏÀ/8ä™@‡/‰ßüIÀ§÷ûqWU3úeäe+—¥3>—Ô‘ª%º/2A8°Îø_ Û®®2†1× ÒAAôxÊÚ€zibLDQ°±ÉàwG5¿¬Ò‚áJåê¿KlÓµê½yµ*bHƒk‚Úá½ ž¼pºˆäú;*O #ýPq 7?«Û”ØwÎ8jÝœ¬ø‚ô“?ͲÊÅs¤œdªÃŽ ÷?‘eåtÐ$Z•’ÃÍ…]q€ÙB4üäèW½C®Ãð…˜€u íÒîxüÄ:÷Ÿ·fMÃîjbà€² ÓñÞØÛ½ü­§”A>¦‰¥,òÊô¿B_ÑSÌ¥%å¬ÓPÍŲ#ІÒJÃî@¢¥úßÜø9&Í>€*ƒ°Ä%ÔéªÌ!Û%ß…‡!š«í¤q©I5¾rKƼq³$ê̇Sd™ª›ÿØpyžgö[ÙÝÎî–CŸ¬òeÏã;NÌ MñuQuòxˆÇ“Ò¶®Fòæ#i=ý¹JwÀ*&þþñÚHjÃrMèg6’ÕZn”#ïQbí[ßò'Q»°i®™7Ðаz~ ~$  ߣ¯‰}Û¼Õlm`f<ÆŽ?dµ~í30œ*Iû2Èñ»Þ DòÕ^~‘+sAÄèc§®Lƒ´VbÍáT`D»­w툿 Ù:–·¢BtÅn?¨ ¢ºáÜ»¤»^©Îêl¸ïl}ÁÓCÛi¤f¾cºÞ_{¤{& ª)Í ˜m¥†kÎôFÏm&t§ l„Þþ.ñ2«9Zyë·³÷ŽxMs¢"µ šh}7Q)žˆTŸ_…?eÆ&Z¾ªâr:BÆFjý¥ÇJ²éÅ’aïz±þjçOr^À8Ô¡IÙ}M߃XådÅA¿[”%šg½Š]–k?áԣŮ|_b×V\ÕÍ8âÞX2ÕXwìç;î·ª-ÂA„ mØ9ÝÕȬå|üPô\7–ðÂÒxî,*Ë ü´üñpÐ3¹J²”BX#{…G¥2r³a‡³Ò}LÏ+½B-ÀKx9Rp+™Ë±Üe[~²ó®ºK$zQÀÑ;ש3oi%„‹b=¡ÔûsÀ$íúÛŒ2G+šŒ‚•¾ŒÞîKÅ!_h(ìY… $u*Ìe„Ô4ušRHrÑKþèǬïÅÞçb?˜þTbn’vâ»yÙ#Òú–YPç¥ò– µ¶®aµ?ò`yïßpæ¶ÛÀ¥ð,ŠäSFyË;jѽ¢ªn1óp 6f\6°§2‰²µ~:g$uý+^”ÉÜ­‰–´R‰ø`þ¹‰³ÑT1p­wÏmÄõ"æ´Æ(ƒ¸¢ÚÿñmÞYMË£™ïŽžð™Æ`l8CPæ7tUñ~ÿ<´T_t¿,Åsxqü{[Pxb=?‰±P¶ÌíÖmŸØlDñtålÂ,$a‰›‚Ë~»2NËrZÍK¹°O œi݃oÑž„ÏQ%Xö§®\8Ú¤mÏØˆ¦VÏA…Bfj!Ûûâ*êž 8ñ¥yØŒ«¾ŠÓOŒGkâñÖ¼üö€ÄÐ膟¾¸ÄºZeînv€Ù¡Èe’k:M×*¼pX§–ãr;øµ<‹1úÝhty‚ûÌG‰¾åuÁör|½²x7ªW–)Šâu!W¹>«¦* 1Mck¨l¾0À” 4›½R‘ªÅ ×ãŒÚs¡ý­ 1ýÄ3&ÆG:^Óþ˜áMG «jü\P@ε`Þ4ºTjðàCNúó¶õ£fOZœøæM£“J‡$l讣>*3þu®,´J¹ 1iHô¾]WV„!k(™â9b³mNÓLÍ,uAý꼜ÅVÛ-5û¦c§tJ]7ƇÝpäuLFØÊ9¦¬ú“ØÛa}ɧ“+ú¬’ xªÂ}p)¸·<ËVß±itSÝÀhalj3ÿÓnš¬œ'½ú9ÔÂ;ÓW¬àÕó,çGœMô,,Ws¸ ðŠ>ñåïÇ|Rº Ûâ`œê#;<á<·ü~ —þà•ÙüZ§Zñ3Ô3!Lµ ‡çÞµ)>‹Md˜ì“>˜…§Næ'ýñhròÇ:)ñ>âjfn ÝzXÖ<ÂÄ`…âè:ï•8ç“°NµïŽc1gÏ,_r¾ñQé2a˜ù×ÕŒ Ýk/Š\°‹7éÜÍÀ¹Þf¯ßû\y’2X( 2¤¨¨ -íJÉ$G_YùS[Çyº2𪠚b®…ÁZkª’…VA~é¹ÐÆÔëWå j3fU’;1U™œ“ÿ¡Û`‡Ö5áÓ#(<¤"×*NQH[Xø4>Õ/yä ÝSžò†[{ED¤S’ı›%Y«Žý`ý÷¹¯™°þPrå$þ‚‹É€¨}7•êÁ†cë«ýš‘Û‡®Ì†foÒ7Ú|ýÎP“ÿfŸãMØ¥ð¦q‘S@“_E‚‰þåd Ná/OQó{ C²yï~:?¾dS¾ú{ÿ¾ê#–ôÅS‹{0Ã…I•m¨AÒý+øÓ{Î{ëÄ¡$› N‚7º?™=¾! †j*+(Tžá‡•R¤™‰¯J#ˆÉçº"•âòCVŒ/#Åk¹áß2R© ȰÿpÑ'I¼Ç ÞW&áÚ”Ô>žÐ 3n_9­(åë’! ¡¶†VpÈ1)µoÕI·Î-üš^]ÐP0e<å)Fûbø_9=fqÀà©¿¶5æqȨD†»ÏÃán?ÖJcʹàF0ræ5ì5}öôùrBv’«v4âšE§â| Ôõº¹Y·JO±µÇFw#yžè™‚á¬JÃ<£œ– !õòÝ5Ž—²Ð㋜EØúâ¡Íö5qE1ìý²ýØÿZÑLó/É ÏvKÚóÉJkÅËz‘-g:?Å£·Ûõy9…ÛÒ çcËz®eœõÃ9œ 0u—¢WÉ4ϳ0qØFÉî±CVí¡ .'™¥ -dzEß@gM9bÍ£|Èoºk2º[–E°µ’HU½@‡æÅz‚(yEëæÂ¡šÉŒ™ð?nç³;?&­ÅÜ Ø’Y!°††/7þƒßó4Rï{²{ºy¦A[Þg’!/á¾îõ¥ö €#×bÅþ«òÚÈB˜!\EóæHr± õrâ$þ¾rFºx®Ñ‚ûE>”ÂÌø‡Ð¦ÎÝ݃{%`þsìDi&ßí)ihŸ Ì jc°Ä“”{½RÅ’KŸ–_ßî¾’5˜67üÍ®¬eÇäÚ;ŠÒ=`s‡Þ ¡üjd®«ñ1×>í‡Â•¹cÌ€0™]G »ƒQ Õè ²v€IÚ%-[–ûŠyÇG­whRy”¶}ÊU—Ûæ¤‚%_µ$kœŠl[¿-ض3ò”}3Ñ ²Q „C"'ÔYI%š;u†zô§±¡Å.ðäÛ\ySžw)˜?ešJœ¶ìïæ© Xðr¢¸UèâÇo 3•ô%ì †¤Ÿ3ÕÌÃôPôh‘U‡íÑ䜅äÉQÚ–‡ˆY»Rš:WS1Xô^‘Êkd¼¼å˳Kn¸«Wl‘A4LãeUK¢ÂPö„¢ëó4 ³§¿5ÿx¦'}½ ¦‹¾ü_W}b¶7§P«pI,Ê>µ bøTÜæHt3zùõ§«²F$¹"Àºlè.\WÕ£ õr6B+e„Ó7ƒ*§E†­Ô q†8çï >±êàålðìÛg±Ç!³º–éÚ!ó">g+ËÔ_¥<®P Gÿ(ùH1/hm‘m“ð0OÚÑ þ^Ê_úEx:±®óÆCw{"uK¢ºp-]ŒpóšHéØ^gU‹£Ö¿`ÉڦĤæÏµ©&,¾~Œêëeìàæ÷q1ò*vÜþNŸùB˜h±Z߃]ZúÇß¿š)ãeÖHøÚÇp•yóÙçv#ù&b®¾ðÀÄñX–;.,+’ô‰z‘œ4­æk¦‹®”Ò³ÄMò‘Ýo‚ÂþPN†mÓò"oAtqâŠá"ÊïਠðöÉŒÅvó"Áâ¾²_ €qÛX…„0!æ{$–±£Ì3, ô•^ºÙñt¹{ûÒmNNõ½eÚá? ¢è«mêŠçÅ ê´òe sÁã"š=6»£cÍÄ7ã¬êâK _VeÉrá‡AXÖa©È‰‚Ö]à ý…hŒW×I}×÷”Òãž|«NæE0ð9Ë^Ü`{Åvw©ÂÁH|¡6‚K‰W¸;T$Mk\!d†Ôš¹ìH’pàô-uÏÍ×jdàÔ“ù­ˆ…Åÿì` *‰M¥À“û†"îê¢Ô.èÅ«žø|+®ØïºI¢ˆöÑ܃‰Ã­G6KágéJ<+ß*(Sí3Ò0°: ºõ¢lû!n æ­—l•ö¶Vä;ðòä™*…_Hf„+­ŽS\²©SÒx09É|5^oH9í=ãQ ò™QýâJhÕ%ÿ©=·8ãáé8e£]+y7@vós@ò „”={bïaÛ%1t;8²ÓkUI\XKJœÃßÐþ’Œà˜uàC<­1\™Ú6“ò—È™‘Õ/•3¨]œUé2fNÂ;ï»×G\–ßͪchPZÏ¢]_æ…y,5Ÿ÷#ÌYW§…¯å™ 9‰ pZõÝÈ|^à´Œ€+᱌-aÑ<]‡Žªh B)¡Û°„YD¶Ô†|@/ÅT·m˜NZÔîü 5t`TDß+T¡¦Ãu:¾0\Oo”uFÄÀZ’šœÊ¤U{XEý}`8šuל!(5öûã(,À:~po»Ó…‰gãŠ/Ó{tºsÉ®Kx†JâsÓ½’bhÉIª»ø4rüP½÷Ö€P%ˆ±Ò®pY.NlÛZ*„+zÂjâ˜=Üö®òTȨ]úìŽÕKÚõ-L.OÎiJˆLFÆŸôKƒ{ŸÊ·P¨Â©dð'€í<.toŒ^Ïö¶ˆCm{Ðyn{þxž¬äÍBán@ݦ‹äCdÁÐØý˜¢<Ãa; SgÓ°©6Ûã§JDýÿf9( ¾Bü\n!2üÕKà Ÿ-Þ.ævXLCü öôóËl¬6 J¼"=¢Ç/·EŒ·²Í|½ng/-LMî%¡øŒïGF[°ÑÇbÔn vøot½î8]¶c­¨¦@Èa&Ï}'¢üŸÑ4eåø<´Ýg¼KÛ5´øöéD÷pg ZcüX‡`°Vô‡EŽiHø[ÚZp’裆M*1a]Ï0?@|F¼ÐØ*¬V (ÍQ tkˆ¤áe€Þq»KóS<´ðw³x:#؈ö@I™1ðÄÇ vƒ„#€˜¬í´bc ™é¼{È ìI¹ ͈o·5ÁœTB°8p¢¥«­3ËÐùÿå¹™¡Ë¢¡và„±e—Ê_-˜DJ”‡Çc •ú×Nâ6pùBÞ© H»q}´ Œ¶‘L;Ÿ¥¦Vv±JþBU9+zÒ]]³ÄÐѧqD3B??TÁGñ^öéåÒíÁ›¸0§Kø²`¹A÷ ˜¼Bæ“lȉ‹²ŽüžÌ¯ÚÀ¸ŠwP@÷8¼¯â”zï<ÊrÆE‘éE¦"¦rE¥Óç–=9U1&šbžî¸V¿^D+÷_H·6ê6\½~¦Ÿp+¦âÉüÜQù¶ÓkÙã£i/5ãíœÓ“ízy':Ÿ+-ªi4¿Æ^Üú§!ȹà‡É} Q¿çMYÅ*©}O9‹™©„ãI]ntÉ$eŽMf»¤Ý¨¿Rl%,‡"AåVÛØˆ”á±_lO©… œ´Mãbº ƒ¼u 颞ÃÎDƒ^úÉv–‡Jñ°èðtæäã¤ÛhfkYn¦~À~ß (ó1¤×LåC€ÍE¸ª?:Ñöøö.Ek»—\³{áUú¥£Ô¸§fn”o*Ú?ø|vÙÍ€ÈÒ%Lý¶Âå…þ÷•ÿž%?ÔŠFiù-“‘¨ŽQP©®¡ïõ㎪/kÀ˜Ä ÎWo§#?mŸ+¯`]%ÆùbMåS^mÜ^Ùu‚¬€ ¼´å% dγ¼8ð#°ZSA/êÐqfäN—R‡G3 Tã$Öì‚HkÔÎà“ ß÷’xtl·´°6ýåÚ`›¯ ‰Z>è½Óx,—‘›”A¾€?WÁ”ñ¢¯gOž{O4|=T¬H‡-¤(S“Ô¹áû †ëåMuCT—;­¿‡'²Nù*E2¦ƒ‚97ùŸ«¬°©ªÜvÇg†Kñ1DžÎú’0ý˜bÈóÜOþzSÞFAÆÿË EûÓ9|$¯"Œˆ¥ü„rMî(¡{¢qþú”Û±ÇÐï×Ñ;|L›\[<¡\ý‡ôóØ À“BÑQm[…ho¥ó¦Ž—ß'}·ÿ{`o ÕéQ?K”Óç¼<«wêßù¥žYƒá¡þ^*> žÔ"µëo-`µ åæº¶ïöp.I§È˜|ªá¡C.ÌϽ?DFE:¥Gca½x&_}º0ˆ;¡”OÜDk¬HÎÿB_Ùߨ‹Ž×ðÅõÁ/ؾëDüïõ>0ðïõ¥Ì:òα§#É45V왑œiæzÍxÂn­Þ½(Uf¥- Ž®_Âjöt/Ï$ÿ¿…2Ê–kh¡Únw´mI‡ÕÜÀ0–ö]·e‰º{CóDçr¹(€]«3P˦”§' 5eJâ±^l§¯7‹d2Ó3½$š@õƒéìbröLŠøX~yŽkVC7Þ'.P'²ç7§G`ÔÕ’y `}rdµàùO%ÈĦ³¯¼Ø®,ÌËÖî©(|ı²†W\zê=Íÿz¦6B¿š‘¥›–¤Ì7%Èä¶0èWb }˾¨Ç@Þ ¤Eý˜×/ú¤Ñꈤðàp  !ÂëJŽhÑ#’Ùcư(pð5—ÿÊð„^DkTn3…óyLÛé× ¶:u”¸óó6y·æÒK¿Ž+°×%Æ"¬*!³4{ºˆ3Åæˆ°­­Ëæ«â™ç§JÅwBŒ©òroû©ÐÐv·ü›uq>s¦»»ý-cÍ^– QÓIBV;~Q:g;Áôn òX'Æ¿qeXAÀj0Ÿ?›À´AÛµH½­MeŽÿç òy‘G4òñ´"vûQñ f°¥ªl†©Œµù¿´~Cj¼Ò´çªþèŸ<’‘ðÃríƒgpùÀO.©wHî,í&—xÎFm–TMQ·©âYÔÙy7iÁ‘PpŽG‹­Zgz6ʽäd¦ù Ò>ªÆz»ù’d¡ž™s–«MëbÛ† 0Oõ¦÷Û§˦ÅK¿C'qÍœÞÔŽè&à„hª¸‹—E8þpHèQm»]ËݬS88‡G6æþK³³éB9ºŒéø¥$Ãè±½?aÕÂp­ßÉêOg³²{Éù*ó I¶”ÚĬ3úqÇúÚºˆ´ûB/7XT«‹º8Þ£°EU«ì‚.…Ça±š:fô‰áà¦é³¤çdþ¤þ…ÏC©ûÀ<*ä‰ §+EãÊøCRx¿m{V[¨29ùŲs«çuT'†ó™8Y8'k9Öæ¸k†Ë‘"Õ\ž@.Óbiˆ’;ÐûžY!W¶žiÿßii1´d/‹”ŒÍèšeÅšŸ½ERím`‚µSy~¯U›S$ dn?Uy¼!{-£Æ»#.o Xý®ÊL½†&ò€mÝ"@Î a½ÙyLõQ3ÇÞ .:'…ñT¡õœvÅÐÈ)‹žúŸ§ÈOàlZq‘º€»Õ3nÓUm v¸'U÷azñ—“uÛ;Z£'.õô–Œ>4ÜÌ'ëq•MホÁŽzƒ‹£×•Fª!²q¹r«b£øØä*¤»A %wžC¸'Æ7&õA=f1/ Ô?ÏpË¿ª1™:¤)i&ê!CÉÓþ)ð,ßN3ÌËXò=+Ú>Þ”ûï‚âLø<}(¾mšùo!jn£²·±ZE ‰ÊÿnhGœ1VÍËØ×ænú'#H'ËÍ÷Šöj–'A_ØRߘÿ«Mκ‘u·|y:=‰s$£Ñl•-/€Äû¦‘¥,F»Ï„ɤ[Ân{-nʬøÿTŽ6Æ€Qù2¢ªãX¤‚Hâ Ê@ä×ÉX#-ô¤1軸¬°]¢µªäëS]d5·´ ¹Lå÷veÚ}:&†ÁîNñeWÎ 8‹Ã†¥"D,ÒÞ-3bÓöKå¹6§]…`íJ‡$+©ˆu„K"¡ ÜPbb^aW4XÉ!cƒJ™í[±†¼ÎÆãÇhpŠ',SÒ­)ÕÒAŽaÒ©1°$¾•ÁY}¨ya7xDì/-J/êj.bš­âv&qvï\ÎÓëÌpÂìÃ=J(³Š¨ÌF¶œ@d…ËúnzÞ»nžÀ$º8Ok :oàbÕœ%\8ûIe¨G·éâ¤È:•ÔWÅ2öŽA÷Õ×âÜ£:©œ°víŒBD眘³ÎAÇ„XúÇëŽÃà/Qkþê#+ Õ’ Ò­—ž&ÓË2b,æ"×Ϫ¡ä=µ2[`ßžHÐßì^z­@$ƒ‘Å 8+Mv3…Ó릾½Ëƒ§p4XxMúY;'¼ÇÑ“AU[É!{¡› ò;þ¸_˜*¡ÕÞòfú‡®Ó `Pã3³0&[kœ{ËŸByÁw†œ+Ý­UøkálÛÑ·‰d¹gõ¥çyòKfw°Ô0\†²œ@$QŸàÂR_橨¹2‡DŒë ŽYà Љ[bª³¡ÅLîeëp´fß–U1E‘(sÀµc¾ 6/Ë2ª$A3=Ȫ@wýd³O,<´$É+:ç©úBoáí Ó<úæ!ªïg%‘îÙ z"ŒCx6CĶW%ϾU×Ð|p©—aÈÒËÀÎðå.$ãm†j|¬û"¦6g€Yp‹†ç¾sÄdŸ:ÇÁàÑŽ:˜©G`óÎɵytW÷Ÿg*3ÕŠ®¼àÁJ´”" @&E-51Ñk‚¤ìWÐo-Nfnc&–8»læ©ÚÓà>Õìá» `yͳæ¡|€ï¼Ò_]w9I/'¯^Í[?® G6•p;&_Ä%Ñ]°-R¬¶#{ßÄ¢ºý6c¦`ðL Ÿ­íÂ#I7;ôYŸZ\†2Ù9ˆrÅ›*_ðÌçvêëÆ]X2rgÍ”eÛ`¿MòöM#꘱٧‘æ'ÐÒˆ¢ðúƒ QáæÌųÌPªkX²Ä¿Ðä‹mM4æB‘|Ü¡Ù$λ)»lyhRI•hfOû1oOo?ðC‹“ ݘêºXçÁÓoÈ“Vö=ܤ‚Ƭûm.Ô€Ô_qV 7‡=á~á]î§Æ'v4? ÖôÀLæJ¢=g¨W­@´Kâ”·¬;ýâ :LÞ1ép¾çËT›U”,yÏ H4âÐâ3G€‚]ðgÁ¡Ão‡}O<ü£j7#íÖ)KW û)»“j¤QJOâ,Œ ñÈì·Mf»Ûô³Åw§ð,=ÇDáGs¾™k«Ró×½-§`W½‡Ÿñ?Vqµ#^©5cg Cü¥5 ô2à^Ÿc›„âë0V“i²ô#Ô¸¾_þ“ÕHIúî—ËRŸ~ ­T5ÇÂeÑÑ8'±'‘ééT’Î Ì?A^uÈ`'í>}z=Wt—ÊÙSUâ­G]ŒÆ¹Ôž²Ílõ×Êw î1á=\î4BO%<·/ä¡Î WK‹½žÔ†•u²':Ù]åp„¿@¦ü‡F…¶5 ,_›=NvÁkî¢ÒÎkšSÇÔÜ=q5䩚Áfð8ÂSât­ £f ÆT®=ŸgÝ$á+[܃pB8CÑ×åÈûTÿ¢êVCó`þ‚¥¸5w/'1¡ãžè»å¥=(l+Ûíʵ—X¯jGôÃüx*÷õIo[“áêó“Ò @·=¥ðÁ˜NdÅý~šÎ §îÝó3XöB}œúvz(zù÷MÓ±°¨Ó¯ Þæv ¶¯@U½F¦0âÀœYµ¹Wðl¾£$ó¥±á¼é¤ãA*«†UÂÿd|Ù”lˆlz‡¹2ÍÝ5[¿IKÉɘÏFéñÜ«‚–øà3œ°Á?‚[ÐóS4s0Wô|“I㯪ф„œ;×e—of'þ³DÍûAÀjÊ™ÿ|M•Ë×ÍAøüà_¼l¬*ù¶šG”ßShü„ó÷/5®“iE…šß¨BN™i{=SDIK–ˆï΄Wïë†X¥Vß!ŠèÖëãž¹Jü’WìÜÊjíBeÝóZÔŠH g¡^Cy `©c)Ä;†¼«RƒS:´,%ùL.A–ÿ Ç~”,D–_ŽXˆ~ºÏ!oM ©ZÊž·ï\?u«»é³àá‹óœÖ™Þ­Wæd»+èÁïÙlZwBL«˜° Áá—sá&O ó•g°•\æ¤#éóV!Ð%*®ò üKܶöêŸ+)‰`9úPìT˜ŒµVÑöIÉ€ûÐÅ'aóËÐ!šR‚å÷¡ æ]ÛZ—¨¢úö#>€µ‡½¸Ì.ôȵr<z +Î`òOqåð;N‰…Ô¼ð°n~Z'JÒ;‘Ó×·Ä\»1nû* —»\å!™;1vb@³Â•¢)ºhƒ“È2okÀ3àŠ¥vã§uöš²Ø¿Ç„skÂC²ÅÎk‚¼Ážõ~yö]W:£Å¼ o‹àsyïøó#Ŷ4jÑú,»…œföËÛO¬-ó5﬑<ÑQeø-BÕÌ¿«¾»ïö”e³Ùâ““(Ý“±oàó`1[JÎ`8 䃻‚Â_úÙàͧËdjQÊÞÂ{Ýèin–¤|™)‚òÏ 7 ¶õ’ÚÃåm%{½ÒZ}©ùªÈÔ'W¨³bÈŒ¸~¦Á±Þdî>%‘vUÝV†}ås׆\dóG\šF¡R¬rþ üOýÂàt”²÷)T”ðPf!š?¶„4Ú¹hs à•æNø–nê«Ì6ØîÃDƹ~]ã\c~, Ào¸ È壃=\¢> NzK8äm.%G!ïè7õ¬~\ÕŒðÐW­$ð½wñÓ"‚æGHß/Ò s :MZgòæN,äGU¯æ¼ÌÚö ¢5 ê"â™ ²¤1 $/ÒélU;DmZBku‹ ìó§z0A4n¨¼Œ–À=ÞegÆIþ 󾢫l†oST¹y¿ŒŸé B#)ìq~ô´ÄÝrYÓ]°qM‘ Þ×’’ÀçYuO9_ÇÍÝ—­Ê(’™ÉÑ+ã~…>¼Â×íO_tƒh›Ý1¿0ÊWÎÄVÚúi¬tBûðÜ < Ôâ™wà8½³òóe‘ #G”R©n†·h•ámwæ«Q¸TQL0y\M|}ªè‰èí‚ÕÙë vy/…‚ mSCþÉÍëÖ#|Æm5jx+¯wý¬VÌ<&¿ÓÅQ9Ô‹Õž<¬ZîÇ_{(+Ó†¼L˜¦Áˆ «›`Á²8Ü"¸È+b£Bصüqªò³„¨®ü¸.×å':Ÿã0¾©lÐþøÐ¹íc’³oÎnØw÷yÖ9ñ9h^hAœÉg„ºÂp%Szæ=r$nw÷÷&”6Ô}£F“áÓ DŽM°YX´‘è%œ®ÏÿõÁfÂ[¸@ê4OH8ãfV/¾f8D¥j¸†OWÑïXƒß$ ý€B*³øVýÈÎHëc–ÍY t, ˆ2ð›Oôi8¤W«€uÓƒr;û'ŠÊ?Æb ¾Ôô®¿õ?¬RGH¸ˆCix™ðuæ°=ѹœ ƒ,ñ$<):?˜ çÓ3R˜…RTк‹)¥A ŸÅ8K0ž“* d-‡wH;÷Wv:/tB+LQãòÕEžø7Öä |7úú˜µçònõ¢ª_6^gBË‚ u‡æo{Ñ5>ÝauhéE,_¡0 ÁJî¬Iw3¦»­’›–a Å[V¾\.ÇÊÖYocƒ‹¸Ÿ•?<¸l§žAæ¶™ZÏaGæM÷ç=‰öŸ+{ }åÃF»(}AFæc½7'-ßÚ.`•r½¸4³xp©`J®– ÿyW9frü¶¡-v¶.Çøâw´ïÛ}¦ËRöÒÒÀíâ=1fŸ/Ya´0&pÀ\,ØŠÜqc8‹PÁ~K/Àï ;ø—Ýi$ˆ¢xTˆAò³Ìľíó» ùb5çȶ[;5ü~d­<»!sD¹/éŸLiw2–о%žw=º2øq3´»ÖヴΠ8ðq Ú8ò®Oˆ,¾šÝÁ¥áx ˜yÒK–€þd—ŸÌÈMz—ñßÏÁŸó¡Ôµ ß[+RUÔ,>“Ęø’%¨øÝ õ¶MÃk–Ú"rÌZ{3Q7Ÿ0sÌ!eŠ1$*@xs¥DÛÆ@¨ÖOνÈI’=Ëßtn…ÿRP‹Ø&˜MœìqÝù Aш†!1Â^]™ R½ >èð2|lʶ1óÉà'“!‰—` ‘l ÙYÝ`hÀ¥ºÙ$×[-‚<õØ*:Ëk°Ž[atìX^ö(Ùóâ¬z•&[ðIdû5¼d¼¿m`î„4°‰šä6âèøÁ,˜8V6ñ“\¨à£ÝÕãʦ=;Ý>}ÍÿDz3ÖÐRoõW+ØhB&ÿ ßö^àâm»†BlmŽÆoé’™ÎƹXÖâoÈv܈îäÐbM÷¼,I aêv”„÷ù)å`’ŒeGا(yñYifL—»ÿãÏqùÚµnp¶i¶ÍèâK1tøçñ÷®ËÛ@Îú–dÉóH<ú x'73®_º·àI)ßOÁVÍ%  )_YË!Úžnv£^|óYG:ê»õªzqnf3 Pïò÷-qB¸R’í,°5ò0\;F‘ÈjE7æˆwqëOêôĬ…J2JS§}ÝC×p9qþd€Ò#Ñl ý¾Hm•#J‘Ú::”Qïqhqk}¼»&‚4h+ê•§ñ±^îŒ@”¹µ­ìÙ%q^©iŸBêl:³©ï…#QŒ¼´q°%gLéÊUC;Y‘'¬k]ëˆå䈻"*Ñ{î.Ef|ˆ»³<‚j¸&Mˆ)ùÅ$2m/x±~°œe/o![¢ }ò¼Güemåv>¾oá.àrœ›ä~ É•K7ëW÷UÑÒÞa.«X§ÈwKG·&6- _ÿbÖz‹é„h¤GÇ<ÄÎWMdC8ë ˆ…>`söl‰ÂþSßgv¬ë䔕Ú(Ĩ..fÔžHÞ¿‰ ÏؤMÔÕh7“BDâ™é—ÏÝu>ðu„Òb¾J|S}^Eö·‡v@Ðúc\ÐZ'V¡é_W@e‹+¾Y¸9±©Å“T3'qš•ŸÉE¡H~ñÑ[@ž­­kј¡]]_ŽÌ~º<ÉIzø£j¡ž«Àns6 ;Ý>EJh%ÎÿóM!´r ³QóƒPåïVÒ<¬Ó…²ìj¶|ãŽnß&u¤i˜>¤…&ÇC;.Œ€ó¿ç"é~Í{îVI8âµ€­Á V‘©ÂÀóãÍ[Ò,QÒ,njŽíyGäòx¢°tT\Žá…Q&@\èQ ¢&w¸;$؆rÿ ê[pv Ûð¨K²„9f~î”d¨&YeòÞѧ<Šx'4·»ÈñûNíCXaÉG÷u¸ÿvñÎÈ’…àö¶ê_ŽÿÀ¤@mÏNž’îs…ua•¢¢½ÊD_Œ …(‰¶:üŒd\¶Dù³*D€6E´Ý~“(Ù¹»…¼7‰uu{À3Ù®ÙIú0ü5æû3z|$}ÒšÙofõöQU½ùr6­^lð«I›Ã¨€ˆÉÕ7ÅÒ[H}UƒˆÌsà嵑*f0ïÃûV(³" ÿ.«Nzû»ÇK°Èv}ì¡OÈWßDx²ðã÷_>$ÛÊäOX9ϳ%L<«ª¼ˆ¹ʃEî<àÑQäŒ×ôÜO¬a^hq!€ŽðM<³· Ð=/}掙‚ŸJ¹™É,[KÙ>¹eKÄ»p˜õ¼IôŽæd8ùZ8­œþQÊsƾý58û…ÃÅ\íoXÚȇ³Þy¸+T| É!BGPÅÚ>imŠG^ëݵçïT iQëœÑÂò=þÝŠ„º`µ³¾¶Jé쥟†–ú¡$‚ E±K–é¬Öu"²;Në0(3À·™â/›žcŠ}p¬Féˆâ¹LÆö)~$d^YPªˆ‰ÞòÿÂm2cÇÃa"-ŽKÔkÄ©‚Ø‘™Ç©úæXE8>…XuvèÑDAÑZÓîV좕1½’æÓ p`»¶Ê ùiŒ8}°Òkÿ$³uæ"«ƒ:ÐR›tp€P¨dåóÿXXAœ§?·!|4€næªü¸*îÅ-°³æÕáÏuç~¡ÑÝ pµ†’£ X}ðE;…¡l7†K$5" ̘+•Þ6Qe„+Ãlæâàiq\ñ'”$ ÈÉÓfIsÓw Ø©Rè•$ð[Έª8UÀsï+ÿÈMrv9é ]î«ÌÅÜ[K]„DSÇfGƒwpºH2ºŠ)0åÚº‘‡mEÑ)ÔJ”;šè{IŒßÃÙæšRyxÌKÝL]•™ëHÛªÔPNɰo];ŒÅ¡¬«¹’ý[ušáb«á¬&£Â¼…7 Å·ñ*ÀxV9ç È®ž~žƒGÓ^ùRÇٜ؟Ô#_¶Ž)œù|Ð`uûâݳÖ:-ÃqÝ€—qÓ£i³%öcꛌ«PX7®½ŽgÿÖE”-þ ¢°¨¦—9‰ çp‡¦á·ít«÷õíiMy(}…JŽ"ä5;1Smÿ‹q"´s‰•ϧÃé³a©Yå~€?¼á7oÐÁõ­ÝkñAÄcU˜ EíTߊ8º—"–›ÛLH0 ¥Yça’.+OõönÚ!Ð`|~srUgÉÏ¢¡™ÈŠÑ‹ì.î¯Ànwg/ôqwà‚Ce—KÂÏ·¨³D¦ÉÁ9aHoPSp?`Ü)r ôB¯h`8†sgNÐÌk‰k‹,I%­©M‡“\?c²«•ä#4ÆÎˆ,•Žª-+ŒXkкAûo÷&yô9+¾ÁM”¡Âc½–îéæ˜.èfáAnqEÍ]œ%‘_û&3cYÅ9=ƒ1”ÓLš¼ ÞÔ:ÿ›‚8Ç Ð|bYœ‰…i&áõ“û+š’ÁbÞXegE%=91Ø|çµy=è^N,†DÏ|1§wp_J“½l¸vgŠ~ÆDƇ\WAzy¾ž´2Gú9ë´Eàæû£ÜöÍ=:©`ÚHyãÇÛTÎ19xx/²02/ÞRÁÁ=h¢þ'A 9`K“±üü­Z"fídCcW!;Â%œD±eàßõL{ZÛ:îY¾¢ëKã©¢¡´"V|s·vfÿ³jþÓ’ó‡ ÖÌäAK: f;CÆõSz%_ ý²hE?EϪLw¼M†ä§Ì†ƒ 5•Bjs¾ÚÓO»KùßõÖñ—é(Nà2|±“¾jZ¤ÂÖ¦.œ>è8ªm¢5˵FÑÄšq™:EO™$w`”viÀÎ`ÌaS2 ‡ôA\Mà[BØ’ß3¡z¾µ¢êÇ2(¼D=!"µZœ@á4—„æèIÏ™¶Ô 8–§ëð*¾šÍ,Ò6¡PþGGß*–¥â©ŠÎ>rèu¤³¼º¥ /‰hŒÍéÀòÂ8òh…ê§H—µ&1Ȃ۟Qő楉ÊEÔG™L4Ó}ø•ЇÖC†™®‰ Ê‹‹˜çd«˼Ҋž‰úÄD˜¥àK– Ç´©¦%¨îÖ„3 9hU˽¼0Þ+nkÄÜ¿Äñ7ÛãýÏÚJŒ…boð;ñ†Æt“ýZ ?ï ³§N–úî[Ó¼./0òïÛCq5lûpSGøAËõ^öåuzèçs•ÔÃõ¦²ü̪gs(x©»KŸ[BWkõh’Ù—å‚Ë0OhïÄøFW£7·(õŸûaÙxÓ̘(mQj§@­µ&þ®Cb¦:⛕ïÊj§m„à¨íš¿?=/4rk‡®W‡ºÄ'T6þ‘{éAóÍVˆs¤Ëîä&ð»¢õ¡¥Ù2?šÀ:E½L™öí¡Åé)b/ß±ž†Gw˜Â醯àó¼U1ˆÄòǾ¶yÿ¸ÀaÛá•?õ®±h’!¢nPUÏpnÇ  ä»—&SÏ絩´„ùÑw ,ïÀsëmU4-;Ü}zb+ã’€ª`î7šìô grF çsÜÐù¥ßÙÒ–‘¹ƒ´6+_-ê˜úDŽã/5w‰ _b°üí(Jýxê2`¢á°×ä¿ÂÓð›øÛz´_RÛÃGÄê3íØä]Hƒ^úýfÙdŸ©æL4á¥7f³áuúSaÑmpí¯ýö¸¶¦ Šý*~]í ÿ&wjr9°Ï¢ð«t$ï“ôH×%]Ç×%ºGŸ­L5.¹×©ö Í•P³uâ%-©4\.WæMݾ—¸ÍÔgòg~tÎWâWk—²‘ïëó+”.Ÿ¹"–S€õ)„ü¦d¬–îùs-A`‰ŸK¬¢C"ïÕ͆q˜ê$ EÛ˜ú\±ù>ã*—ÎK±»NV¤Ñ9憰ÌÊ104/¸YÝ8-º¬?O996¼¾Zæ¡4¹ /RäcÏI‹ðÿ Ò±›×³d5¶T;s·Xé™ð½ 0‹©;}} ó¿ƒï”«¥\û-ŠRÜ ÊÒìdGdæOŸ'Y§Û¤Æ 9 KÃX@É[c |O–$ꮼ¬*­ µŽ¹*ïÙ z1ú…SV«#E)ê¯b•DÞ¹ýÒÓê<ˆ`Bøî‰,ÚÆ˜´7) Hwö¨ÎŽ+4f@¤-Mc÷-(˜kÙ¾A’ßíÇmS»rHì‹NB)A|ËEY½œ¬E#-ÞÖ>rö âŽdº3“ëKã4ï6ŠôEýÂÌc#KàïÄÙ$óÅ Õáèý+L7šé) Co*ºžËQœÌ6;‡÷ˆb3$¼ÅóCÝ s,¨xç(ËÙ­­+{#Y`ÓÔôZo¦Š.;™‚eðÇŽ¸Q³µQWÀÉ8\:~Ða̹èr϶w‡MÍÿmƒ/Pí>|¥wÞQ¿Ö@AÛãV›zßÌ Ù’éIy4v)n’<NgIvsa;(%ú) !èSoôR%m™£ÝâQ±sZçƒÀÄ\®eø9+€ ª£e”„[¡!‹hg =k?&`DX³¶ŠeµmZÀq¬Œ+)m]EùvÝOLï­¾KÜH›G¥{s΂GäOñ•sËÅöiÐJöáÀ(A^GR·®•íæŠJ JçL¶­‚[n¸ï— p¢Üâ@Ö˜t˜ÿ€ ŸfFo­'þi;]ô:šŒ 0‰VáÐ×ï‚—g´Â ílwíǨyao6q)ì!’  pì°çÂÍÝ+”c¥°Ë&û{'³„K«Z’s ˆ=ªª«ÄI™PBK ”/©†ÚÒð®e};¾£QÜë*ùjщ,ˆÙoà<¨½…­ÔÊ¡¸ËÄ ×‚SVvòÅ ý´³©¨ê@›*ƒ4ÞÁÃÆj-‘]è>ô/û^‰oÉÕÈæïFJd/×”«CF⸪\ZY¶”``+^Ð’šÊ}Ía£„¸PÊhÜ;õGÓ‰È__Ì´È=WwaM‘Èå6Ó œÝ}kÛ uûn.«†¢óUùW—Ê··«õ+ÚÇìn´„s;È1%´ \ 5É‚i·Ö¦ ý®j†Þ;-ón^ œ!ÛRB'7´¨q óÀ©²ê—¤L.&ƒ+©"–’ÅAäVèêNuå9>\À#é†(ñó™OœöD¡¨aS£a¨6¶ÊÃv_ê—´lƒ‹ +OÕF G[^|«^†õNæêN2 Ädw+ÏdnVYTp`£ƒ– Ñ!>â„á)Jòp?CñïIqºkº ?T»$b$qÚ…ÈÞ%½W™xÃù¥0Æb:^=ai#•þ¨ Uó¬†]š„‰{ð;j.ðŠÑ­¯Ó8õEƒöéyõ7÷ýõÌe„Ty«ÚLqÂ@ ‘‘Ýp½Eù ³ªö¸õ¼=‘Y¢ñedìZE›úâ02xÄ‹\# `ßð Î)PLe—âØ–'ŸÛÚ)·*ɶ¶œúgIXÚW¯·ÊEÊ·#d ”Fú¢<l×ÙPÕkı㙠”}ƽ®–˜ë$yá¥-·¯ ׺çýU­—T}èi÷îאַgçS¤îJœ%²¹9˜‡¬*ª°»öª™£€³, â*¥²œF׺â‚ßÛô;H‰š‚zÜmû57 aÜ Ü¾^¦>A³+jà €rñŽW9ð-!³ !P½n~`ìÃMf΀8W[:•0«&×ñ.¯IñðþiéOø¤î¬ð©¦"8,ƈÖjÂílè;ϼóýïéè eO¨³‘ç­m`wΣ `üHÓèüý š rtŠ)Û;$m¥AQÐÚ"Ø­e®Û2•·¡o¼%ß•„\#£åIŸzqèpEä‹“dË1~sŒ˜Ë6Á ‡FÁÓt‹´Á˜"CòUðOh4;MBÛ$ï/ƒ Jm`j´T@,BaÖ»ËKKS3¿# œØIÿñ„tÃÑ£6oà_ W#>ìÉ'(¡Û$Ž$0*†za뺼ú¶ £"†Ìš•½H£ƒ=ûõ-y|×¹ç*“qŽgm>¦Ƽœ§œ—óS©Ö+lMZ<6F@h8@_¸„cåò‘9W­2Z¿Xõîh#¢!_z .ÄsœPôCï¨àI•ŒA¢E ÿÙyÞawÕÑÁ1³–”Ú$‘¢Ïä¸A*M¨´›•«SÃÍ’Hý½­z7,ŸV¹ž Æ– òÁjÐÌwó'Püé¤kC«÷Å5šbÀ2c4̺ÿ†kf¦(ã5ßÖ8&̧Zرñ_C½­VœNqZs ri®Ú{1Fg±LwÚa«6 ÚÔÑ7¢gGïór–£õÀ`p…pµ/}Ø #Û;“±M>­w°­ Ò–E]Ï«‚(~ñħiq²ä$,¥CþøœB‚ªá `~ZyƒNORSë¢:“Q ¿ueˆQZ•eŸNHsž£å„0U¯L˜«!.ž5ã5?¼lJÇ@ê/­„¿„Û'-³ ;žÎ«G•Ò»pí ¸X^ù´7ž-¢û}£3n®g_¼Ó9 VtUûõ-)Åc: ä´g1ßÁ½C†7¼á{ýx*=HƒèérXáÐß]#µš²ÿdt7x›p ’%I‡­ º³µ/2Õ8L67;ÄAbû¶Âø¶ûnMZO¢•Ñø+BºZhçz±ËWÉ ¶\’ËIdõë»g/JT‘;ô$‡¨â‰|¦ Ʊ Í1“•Ev®Œ«ü14|5ªÉÈŠ$m¦.»3ƒ œå {Õ°_øðDb¯«Ü§u÷J„ð¢Ã?Ô÷šDGÆæÒdɲÀòHƒó”•Ì3ŠËiËRÓr„Y’½›ïÇÒîmtPæwÂzw¶ýÐ~/Üjl—ÜßOCcªyL6Îß¡]Ÿ\ÁÑÛîC—mƒ}™þnóvCiîÊüµp`I$‚gñi‘c¤uú:´œ-+ôÚ`15#'¸Ê·ÜÊ~cMÙ"4¾æ&}ÔJ€ŒsHù ”&p‘&òkèäw‚›þƒ=Øç®*»D„p#ˆÍg".ÇÏÆ]™±:/Öb®]MY³äWîÈæ£™0( ghî´zŸü•L³“49&'[Æ,£˜÷À˜/n ²0o¤ÑT>w2ËCš_‹óBòƿƜ¬IWõ‡Â/~£Æ[¶r´ÊÄô›–:œYG…‚:öY€ŒÝz¨RžÕuý³˜¸ °•¤ÕzµÉÿhB)¾m(>½§p®mr´ËZŒ—³"8Ãhº”’ÓKA`3æƒòOdTôë{W:ã5ÃF-Ÿ¨Jwâ9« :v=ÂR ëgT3›Í%Mý-ÊÏò²îý,nÔàåk̲ùéŠj~eÉH6ø¿_í7—¤`=p•Ô¬§5¦}ºË;XîRγû‡`D¿õ|ÿ”¹B7»X„}sˆðÜ ‰ÒûgZÉŒIÉÂFÞuÌ ýåüó ¨ f) ×õ 9ŽÅÆ›šÄÈ ^;wÏ¿¢íùÙ–‘-Ìöÿ¼šÇâ4'wlš`a6°†â‚¹—X.C¼âSOÑì#­î' KJ¤f”¡Œ¶§â™ÏÖ`KûYîl«CbÛ¢ÅÔÈžÜñHªûë&#dŽ{Æ-ñ >„›±ï*³¿—|qÂt¼ŽZ¿Xäèúóc–\B#oU)¶‡éß®}Žªãœ%;¨1Ôtl¾[†% ®v7ñÄ6,¾þ[þARÙÚÍÕŽÔ‰ð1m§XQVã½&¤2+C[¬Ç§äSµLNªË04mop‡‰­[ž†¦²èi/dƒ/<ÍrÂO„BášO"2¨QC]GÞg…ª¤XMucófWÜQ«Ë¡óRU'Ö”vA-Âka2h"ˆH€ÌÛÏxÚ~–H»~1AkÄ+9Î&~“KöÚÓÛVUÕ_âYzÆI6Ê- fÕ;…aë]Eu†žt]A¡ªèÃÛ ŽD`Wü&Î0é{Â?Úk³µ)_8»—n‹Uâú ‡ÇÉbh¢€{3¸rå£h¸×W§ ¡ðŽ"!}s:ù›^_Ï,hŸ­cƒýÁ‡þªHàc}()ÿ‹e}åÄ÷¨$ 6 Û6‚ÔUý(^¯IŸÑ´Mñºu{áu1Í…^Ëm€#œÃvf• ütƒŸEMÑ4¨Púˆý›Òòçà¹ãSÇPPf6 *ÓZ(ò­ÂäˆûŽÛa°[eÊ®jÅ,ÇfæQQ诬¶Q?sf“·”h+1FØ•J®TT¬?q Ã’Ëf¦{v Y·àCª‘4¶Ü|t·âP÷(CÙиzá¢ÆŸå}å‰VµPç]e Fq++w#y'•/ü\ÿÇ·4lÊHp…Ú›~ÑI ¡íClWû7 ZI†6ÒŒMN}÷×®Kˆ¨Ðs9­$º&Äi0¹ªói4©êŠ&ôÈK !7-íXÎOAWžÝá.̇)iŽñàÏÓqÀZ.Ö¶Uz¿õq}€ðEZe”dzªeÿ1mZÉ>M–8¨kÅ7›“nKÁ¿êª[‘l8lž«ò•¡ìÉÁîñ"yÙü3?©?‘ó\\ö„FfÑè5‡V×<"ÌØ!éP–×vˆAÒã 6[(#áÝ?ô=…T^˜ú¸*Ã+¡4Ðè¾È”ØCMFIÐ5¥ïöÃVE8ë°¹}¤]§ë ]ÖcðÂ×N#»ÝT`cR£H¥sdÒùXTUÏ4Þm+}¾¹lIWFXÉ‘³jRÏîñóHâ™SÔå´Mn÷=5»ª° ý5T)–{"º/¾-óF¾rD¸)EF…ZUmžw"áIþì×4ºPrl64o© ¿ÈރȀäÍò#å&Ia`A™ouï7¦ÚüpoT'H$=n?PsX ž_†—Aimã8dË× ãQE_Hβ±B;êÇ!™7…¬Î`O¾“!ï_'í+Oý)Çž+vÝÅ­ÎMñÙ]ÊmÛÔ›ã‚8lóZ‘šûûÝ0yKôVN‘#Çx–Ó# Ó/& ó¿à†|Nûg„ô2×ýK¾b?Ú"_øzÙÊÖoý8Hnì¾:zÒŒ†ü„;vÎÁ•kgïӻн¢æ.`Ê7hïL|ù»2ž ×£ûW2µ–æ|¬žÐ êô”æÀ¿q·®%穱ßRyso0=¢TG=«ò±žrê§w€<, 0pïwn"Âb^b“DyЖp7vÜ)…û?›3Kø$õÝsqÒ ØGçÄÍ l»â§8•Ôëà5êØ­ó4}ÒŒAønÚdèæ·‹]¶C“ù§ ¸ð ¯lN¼tؘˆr+#=8ß×Ha ¥ë¾‘)®wÂ*—ã7—›ÉdÖ«D1Y„¶HáV³çl'óz×ÕzÁƒ,FˆLî€r Òít®dÜï0¤í7¼”Ÿ[ˆÝçã…=ÞÊ“ºÎþÎAþ È®¥CÒºy~Â…H+jë›ÿk ŒG zS?_ÄŠžÁÌÌüÕ ÕVÆe]Ðj´Í¾‹§³rÂz~^ÕRßsô U;@ä1Ã’­QDÄ:¬'pŒ2Vt|˜ÁŒ†N›ídɽŽý(ÿû˜köÙ¡FqŽvàD!ÕÄS1³Swgü˜w4µ6IP/GÍbÔ˳Ã8•ެd')˜¸î•à•šêȬª,†âˆ&JG“t îÓö"i„çËE3´mMs6´BŽ3ÕšùÅ–ÑçêþÊ?ÁŠM«é ÀØ-õI"+ ¬¹Ýé¶tdAúo›G¦ á1b5Ø:`ßÐÑïêH ÛÎ8˜ÛQo0}©w‰Õ§ xe’ò LÆcãÒ"^T§Ð¢m‹8¹Ìݹ9²µyL˱g+ÓÝHìq­ºc_ˆ5³M^®8Ä=\ɪ虼’Àd¹…ʦªuºAÒäñ®tJnG;´~Dãµ–Å Ö¨¼¹eŠöNŠˆ ñüñS!“ŸLÂ;ã²µ¼üMsi¨ÚÛ8…´€ÆgU*Ìs¢kECYj¦%ïÅ )LâÅ‹.çj•º³u¡…Òc:Ä¡{z´4ö3Z¶_¹³4Ê—wW]õ“Ï,›¹¤÷™¢Ù†À‰1Xo’š\÷Bá%ù-åèCÃÔ tYq0ó â¯|€ec‘ßb‘ý9è¿~¶9?ô¼@ÑQÿgâ5}ƒåJ\¥²YŸea\´ÓÃcO%Ùû:vmnbûsBœìDvXEWOyÅ/Ï?Áñ¤6p8¦Ðö‘ºrrо×"÷ö©¿:0Nqx㪠M(¡±?C‘€cÓÉv½vcŽËc`OWÎ èÀúArݰñåFŒbËÅé;Çãõ úÊX{–ëà`¸šÙ@­è%Œ™6æóÏå* ³Bq)ïáið¨Ó…Uî]lÈƒÇ­Â¬ÂÆŽ'rÍfrPù(‘N5Ch˜P³¯iÒ¡Ø";|;n†¬Šà¾«÷«€YÖÄL\žsu]®†Ê,:IÁ*ƒ'o]F„ºžò]r£Ø®‡¹™iMT½ä ëʨú¿ôÀ›ZT!)å¨ ámÇL&EIþ¾ÓÂó«Cx´¼l2Ñâ_µ›6>.…ù¿…iÙð{ÄøÓ \Þönrc­Ž—Ò@Û¡ $¼É.…"dò(|¾Ãue¬IHô÷Ó©±óÆÐ¡YE$‘¨eïŠ°Ž¹`õ¬‰¡z(zú¡Ëi¬ó”šÁT‘•cv§ìÉ·UucÅ©Ø5¬É©‰N+Õ ÍÎoOÔôq*R5i „@ßW´ü‡çŠ5$A=Ö÷¹VýÕ"Yµ"XÚ¢Ûóî—|§u.ÓÆß ä-AsDï «i×Z­îýƒrsÞÝVlƒÿÿs+\›ô@ÐimÄ9¼‚äšØ\Ìè+ÏTöüDSBȮɼ SоYh\Æõ!»ˆ·ö"#ò6[&ûŸ±Ë츺 šˆæwœ0Bÿ>[l-çf;?)£ E¥—&J`«3†¢gJSŸ{×X`††·ýÅKOH¨¢„cÈ4Qªbcâ½—ùJ´6iƒð×߯X÷êyÎ>"*°ê¢ Mkbç!¿ äGöþÛ9caÅ"˜¾ˆOfÌ"ô_ÒMÅ—JLù\rÃxw-ƒ…™ŒW,ˆ ÈàR­{êÑòÅwä·-+ȦqzÑ–è®âµl£ÒݾoáOO «ÔTñÁDŸrt' ^×Â×)Ke…i‘ˆªÞŸ4Á¢ ( *Üc1"¦ë7g>û+yð%ø…6Ÿþÿò¡\îRÐÎ#>n„ê$þE¬£w»ãyœ»O(¸¶¶LšÈ9⬻JêDêv›;‚[‡4Œ`ì‚ÂîÃýª¤¶lõ´fäœ,µ¹P¥D’€!w¦h~Ìa¬á«‹Ww‰«  L´[êö ïØ‚Ì Ogª™rÍø ;"ú“%ì·Ê[,ŠìÔ~=d©Vk'>µ.®ÿ œÑ)ú¼pº0€)÷ü?ÊÓÄ$þ·r¾½{­º@'[}LÐ×ÔúàFgglݽLébBÓmˆÏiÕöÜI¬¨d~‘Í=N÷Ù°uê'ßxÝ”j4¥±àý hÔ ‘44Î ^Ú²åÆ_¨!6PòkÕh²i8{/É †ª{;vx¹ud_vÓ!û ìÔÅâÿ+“¼_y¯¬ Ƨt? fVêtB¢°†ø=èëD¯¡/ßd²)~yd)D={Y#ñäÌãÎÈ2_f§9ŽIPv0 ›œÃõÁ ™ƒßb’ ¾bÉjÓV“GÊ•Úø4²G-\S!qÙ{±S5Xž|Îßé`Óß…¯Ý!—K˜$hWÀ6zmgÓUå³Fܵ„®aÀž’NïÎT'/PZšº@GvòŒ(¿C*2ŒÖO2s æ‘±A¨ÅWu¦0I•ŸžÊ“qÎÿ|â\½b2zD®lóg8âqpÀé2ݹþÇáärýÆÉ¦Êuä«¥-V¯­\AÃÍ[š?K|þ´pFëÐ =Õ,³w~Æ'›`rÁóo •ÍPœ¶QØCêP0>˜vÎ,¬Î$-W%E0¸¯±1‰'}ŒÄŸ¨¿ø…ºõ|Êã<Ñ@ÚQËüƒ£–;v³ñu=n”â`¥ù¨ãÅöÅ“sñÒKC ˆ¢Ù¤•;â11†?çÇwù”r x}l}¬¦äCÜ^ýÏ66hø[÷JΣíYµ´'Ãåw8aUÙ>;°ƒ<ËpŒÓ1¥ú'2ÖÁÞí•Üj*³ð½²¬AËoÌc1¬e!*ÑoN×$| E‹þ;«¼e¤ÑéS*×–8L¤>‹éP6ÓÓ\ŠÔ*ˆoS}“1¸Ÿ*F_–Žó"ͱµ.ò®j·á>½¾ZZ4ùQ0™2¦1%^¹“‚OW„ª˜ ÅRT@¿É=V- BEº{yU“’‘BÒèÔ_Ê?¤ì ,¦w–‹7#uþ2ý¤ðFjt\²­9‚vÌ„)Im‘{NùÈ&C‰™x€N=ßæþ‹à_$Ûé²€ÒÈoö%ûëÈO<Öá%^T—:!¤Ù6WAßLZ dc)‰Ç~Ú Ö¢Aãa!å‹Ávsr@»5_ËðÛ‰Bü1ýÇì1„”i½Á>i™¨yBožB髵BA)8j~¨‘s- ûÉ)ßôL³ïãn£‰_´tÓaÆÒ,ø1Ó¥±GøTX³OCÈšÖé93A&ýfB¾cÁšçÐvÛ{Z|$yT0zjã9€³WøKXkœ!èÂ<`·ôÛrVR Ì¥ÖU7]^XIµ§N„‚]|iwõ׉«Q2EóGÀˆŽ5ÊT„“f^·3ÿH bÂï—¡GT©×®—ê¶öר hõ Éao®óßElîÜIœ±i W{Ý'Ãz'ÒkÕ°)ä’»¨’dÂâÓ~3 vãÜênÙ:¹Q‘ëWÂàÎDß/å¥7ÅÑ:ZŸåÃ\¯¦›¬Ð_–RD[ÎÜ-wó ©Žª7¢´TÆdÌú޹Wo*œE<8à[¥6Äë´Mo£Rì>›<¬}ÐYC¯˜š»ìErÜîØÝÍQë£ÐÖÒIû fSXÉ-ŽzP|‹½‡®-MöDÕtéŠy»FÀ¦öÏ'7S$üçCŽ^~bP l SåžE3ÿ£jŒ6iÄ)©Pvó,‰€Z@T?–þRáLˆ<ëÊð©£»öCdçäÿq*«‰–ˆo¹„ãâ\j“T’qGòë"/U;¯> ð=zvÀ$ݯ !ÔáW,`îbƒÂÃÒM;ªï¤ùÉåÉYy=ÊT¶¶úö嶘m‹þ´n™¦¬„Õ©<ªµ°Î@!}\Eü8(åÂf4 …™ä¾©Óè©Sßã²(íØîšÞS„unÏäí¨›ÒÇÉoL„ ЏjÚ‹ÉÞ1™õï€eÝw# §p9=$´8÷2OO÷ì9¢núÒš(*Û¬Ù­%lV9‡´Ø)ÙÁ~í™$œ!Iœ¥g—(‘Û—!Q23((l’&ŽGÿ6ÙøÊ”ä´¾IsÃXíà~EV>›¬®þóÇͧº}?1®f9GþYj¿Q¯®’¦üsvŒ2 Pk±~†è ¡Í)wJa²ûJ¿Šß&ÇÚ»÷€‘;$c–Ü­#Wªç—Ú ž÷“ì&þKÑ`êU×’]?ºõ—o…Ó•*äVN|N,ÏHÑ[«ŽKµCvx—DœÌ]zŠÌ6ìÓ­Pñƒ-‡|’>Úý­­¶‡jÑÝú»³‘·ËÿK`'ñøG€rÛÜ‹©w]ÿÆ„¬Pmî0„A)’ËŒ­tk€4¤ùÂN‚`¨s•€° Š"4áXj–/œRðEö—§ ¢»bÊþÏQØ„>px ™»Ø¨s ¿ƒ· „ 0€˜;þ¿ÌvKI ÷=@ÁñM†÷r;öéò{¢L߃vÈÈâß^B“`(RÉ ¦¢ÔÐ~ƒ£ä⦠TÞÂÝ*e£ Zn6zÑè2ú92–÷ÁÕªüù NÛ‘N’•ʮ㿇‚ÙHjðÆï@àq¢oÎü[<7Õ ïn«‚ŽU˜€Y±>`‹ÀÜ0!¼`|.‰¿Ø]®À^^jú\X ‹çÓZv* Ê.=ãzžµRÎT±mªkh%tf\ÛW9 ýù=ÈòÞ½èó(NG9¯)åÑbn{×б”ºÀ>–Z º´ûì®» ˜W$©]Þ}¯ÅB!€É´¢Í¡B8DÒÁªqKÞF15ÿÝRǘO©?,î€É—qÖ7àÚU¶Ë—fqÎ6'™êüvt>ýt.îfôßeìWaK3çß2[fxk/åÝ@ºD×¥…z\ šsÉhRÏÿ¹ÛšØÎO[áˆ/¾†kEË÷ %ã:ká “ø*Aà¡Ì¤qÙ”r"¢’0DÁ®?øPß!̳úÖb0&ö Áê>âQôª0¸dàø5W œÇrˆ·òƒf˜ÛÜ|x9µ"e¹5hA‰)žêŸág󉋿ûÅß]³00ÐÔÄèú· 8Ú¾$BêØh™`Âø¶ŠCµòxüNŽå€s§jÀ€÷öƒ›`ÐJF sÛ$A¦î;J(éwЗ_‡ö(åžÀ¸äŽ}[˜þ•öW"¬š®¸VY>ÿm¼.¹²øô“Äyã^ª¢‘3/¡UáDcY@Bo¥K­;éÓ†Â_¬/çm¾Ù”ïd¦"ÊIÚ©&[Æ™ÂÒvÊΪ۵ ŠPT@§ FD{·HÙ€ŸÇpLøn!ŦEdò.ë+>ß ìF‡:Þ¤ì‰ëÑÖ hšˆ ªŠs½_ øM–|ÇCOG\´G…Qv3Á(Å)ÀÁBºí‡¥)e''@µt­Ûš[‘©§O—$äGP©VßµÇNIÁ2΄ɒU?#Ķ47Ö`üÇËË®•Yâ+Ðõ㈹¦ö¼µ€PpˆS_ßÈ% dTã9’@¾—/ìÉÌÄ€Ùs6¿ÑœçRn80,ˆ)~âô Imq{kbƒÂ³~”­ô8c¨É6ûõ©y0!GôU©§wÃÉqÐ'+ŸºXÃó ònãg8OhªbÃsŽc3!¼rÿ&Á Û˜9šF1›Up¶`˜Ûù@>7¾X°÷r N8H(Ìüÿ¬i¹l [ž)!LÉ£\=ŒOuxšš“1üÍÿ¹½ˆ›}šRø ›vâ5òý|É·¸(ìüÙê³t¬='1¡ö×–Q„›Ö’8EçMú-WÙѬªÐ-Õ‚poB=ž†8 û ÉW¨ÒŠ^Ó¬ËÁÏèÿy ë­ó:Õ%DË"­Á}Lä+#„1 úÿù÷á¤y¬D$¹¢ÄÑé¯%tRðPÆùÉ_ц¯±X„±ÝaŽœÒñÞ¹'£–àög ï]º2kÞgGDî­ƒ«Á2˜ïíîfA’A¬3,Í-ì“…à×áÑ{vô¬éËÉÞoÖšµ¨]†©w㬼ÒF§É¤!ZÎu< Z<)úÝ» a-X`ªu›ÃºáNž&‘°,åy‘„ØÆÕ£ûou ZêV,›PH6(€·7s®ðk.ƒyÎfUÉC‹œ!ðôïkGt*„M³Û¥œ X@´zÁpa™:ãšÃf‹ZmµÉ)Ø=ÙÃöޤ¶E9A ‹*zæÆ15Zµ.¾ˆî ŽcŽWûväG=à†ð*¾ ¡Ö‰´8ŠËjè)Œêœµ&ŽŠp±Ú–¥ÕXÀ"j]ç#3Ÿ5‹b,{ÓFÙô;`¯¦Â[œ5c}_ÑüíšêêÒ.oÃPÊÄ” #‘6 ÚÐIXÁðÒåüg#´j2SðBq=–Õå@¨Î…êdzÝB”f~@²i|»Ó ) 6‹¬Ãe°#vDêþ„~ÎqÌ uZVp“€÷d$>óIÎ(Øæ°ˆ­'™ƒ¸4ÿ ÚꃭÁQU¼=w„wÐg ”ò¨^/µ¬Qcå«Å³žåmHç¨æB^î54GÔKk³²[o ôË~?j=+¾Çñ‹¸Þÿ4è+è<È×ôc¨øj‡-Ÿ À-ì÷€ŸHOûÚÐŽ+*Wh–øã↊U±Öø ?&¤ºâé% ñåÜÅð†øìQµÚbÿ·•*2G5ÁK‡LÎÙ=$?๾Þâ.ÿ ¬,fâÀV@°M´µÞ”ÝŒj=ç,ˆÖ•ÛÒ`´Um~½Åçij ã_”ùžGD ¤&’ükAÈ"ìFÖñ½_w%p£—à[¬ <“¥åšÕØÈ†u¡ù¨·tànîó„à yú+HºXN±&öˆ)­P ušÿþ7é ¸ Ô‹“S×Ñ ã1fa… \ÑÅÛ¤»ðïÌz@›{Žeõƒ šØ& n¦P®á×ÿþÏ]Âö<|覃Ìíîw”‹€ü¼È×ÂީƩֺJ¾ƒF‘‹‹1äîL6‹,üÔ?Æñ“™Ÿ]Gºžú´u‡!•ÖxƒŸ~ÇzèâÕ‡·­Ð¸¤‹å„ˆ¦ÖV€)é¤{PÄå$Ýü~¾·ÝZÜØLióêäÇj*R´H„OX#'†o) ¡e€wÀ4*-~·ëkÁü!Ì—Qˆ’/çꀶBh{r/¾ލú€E¥Kë9ã˜1”)—ZD`1 ±yû1«  8ÆôŠ_÷}»Ã>>jŒ!P îF&ùÀÁèo˜¿mÜv()ëj¤ò³'Ó/vzËîÖœÈMHŠ%j.féOÑ÷Å5 _ò ²¨îYC´¹1©ð¯2wç«TÊí×Î+d0kfû6ëd`:ÕÀ"¼P( ÿíh—5‡…¡ê¿|}„+%{μþ¡h~·$%/Ü: Y’œgð3l°1±ÐmH©î"_F(4}*³§$úe݈š?g¬Lå¡\T·w´]JŸW?ýñ`q> ’Ü}<6·° ¬ÀöMƒêºÆ’t1¥¦ÚZ*³üXÓô…—z®áážJ¥…©¤e€Çi¢Å­?Îg¡ôá¸z_=NjUªÕíÌËçÝfÑ2qµë—í]Ê5ÀnAt°e*)äpÉ*µ"ÔP„Rx5bíÐ%rn5kiÛÉ{šÉ¯ÖÐmmÇÜg;œu«$ÙÝ &I7ß —úYïñ _0%ŽåçKÔ¶'£®žQ>=Üô/¶`"DNkú)´Øñu›=àå³—Éd¢éQeÃõ$Šª=p?‚4*ljq%`r³®ëü×͸Joå„•0X¡oäÈ5u¥é;)F¡â»´æó‚ä{)H2h.Mn°zåªò,9Yfpì…:f:^ÝßzJÊSÂêj %ŽûzŠnôOyŸ6û΄\¯(ý·¥®xbäÌ$6ôå<¡ð?d«¸X2¡‘ãºûFÙŸjùvÛ-^µÍÅYÁ ç!8Êl½oõ_E–È=ðÀ;pO!M¤·é¸.ˆÚúln˶̥9[ÙoNUµÅ,~ï}”‚Ÿ××b?.îC÷þ)bOÝÎ:ˆÜëO"ъǬæPJŒ!€+áK‘–פ/ t¬ü¢Ì‰3V Ö‰¶ºlž¯#;2Ñ¥k’[ÿ†ó¤ì ¢T-¨±²ÀGÜzÍÞòý9>Ðð^чèññIÓŒS¾ŠJ—û¦c¿<†@3U0*¿áyjˆÏÓ)¬½=ð ç¤Óóà÷»Ëµñ‘Ü"L€“8+JÊ…Msª3ñþ öÖcÂÄ ¾ž€ÉÇA‹®“=™çËý5劇QééäO#°-t Â™ ¡h™|t ò½¿œ§jƒ¨ôIŒ“ ‡{äö:ëMºÆ ÝN[’dw-¢ÈFû/€ö*¶²Cƒ_˾ÿ5ö,±fñíÈ.AKKÎÉz6ði[«µ(¯­°Õ»¨qáÍXð55×K¥öR½ñž««¼ÖTÃ-×bMâ£Ú¶ÃÓa:øw#Dt*âR%¯×FlÏÛL´Òe ¡v~/¤S¸{™–•„MϱjËœ—7«Ï#ñìÔæ,Jƒ«qBɱâÏÌ-§xÎæ L³ˆ=³¨¹ZÁŠCÉ$a-­0¶Ç*ıÝwh"Òf±º –`BAÏúŠ©xð|+]G*1rQTi©¥Tœ ôÒ˜•Œø¨îŒ«ë3=p’9š+FÒá%†1¥R“Œ7¶âŒÁˆfpE°-˜Ð&»únH¬éÓîÑvþ@!¼ŠƒqM­ÈãFWÊÉ¿Iº”B3yW¿z-³61gÇßOLU‹œ¼ƒà zî þµÎȳ1>^t¹nì´ñ)6¹°äòA„>ËYº?†c›sþ€Å%vMË›gúå¦>õRrÍ[c z:l.@WÛÓ‚ûÓ—×'N3ãŒ-ï iŠA6×*è⩺VAt.Ä¿ƒÏ=A'‹(¸` +÷ æ®F°Bfca; Ž}"Ý$ŸÒ @"Ý]ƒÌÃ#­z¦å[ì¡ÕD¯ ÅéC—ÚY5G!Ýï–@$ÐÖµ¤Ô› ®ÅìõðÞï`9H킌¶È…x»Ð(LÄØU Úú„õÿIvCìP²_ȦP\ì*lðtå­vR"³¹‘¸†ñH—¢¦Íσ½çA#Ÿ¤Ô´¶Ù1s‡JR¯Ñuê¶â¥o WÖwÈ|à„›D”t”ÃY{ÿi% eÊÒu²C„Ô*•p‘B°Ç´3žhv„nsø˜¿.7 .K€w´F"²Q(>ìšÛ¯ÃZȰ2½ñ š»‘GùV±·|4.cF«U‹‹žö‹`W‚ÊØ‰[/eìËÖJtiÒoKW\¶Ç?a(ž›þ ’·*ÝÛC>‡Íwôº¦êŽNY¸Ö–%©ëIó”n5ï˜,7NëÛÒÚ¹P1o…ã«fc‚&ÀE(àñ}qæù1zveäŽf(Ù«!3MNô¢çO‹øOg%5AÞ1 sˆÁý—¯žiØ@Fn°Ú¾Â dznÑ›vƒ’þ¯Õ¸5„g×L¦5!¬¹S…ÁΈ"†’:uµ A8†#ÂÂÞDØ«ì/Ÿ¹êT]:¿p§ñ ÚÝôg;;Q"xŽæ_*{]½Í9¬ƒbµ;"`é Ød;73Ãy„s‚€pÐå4O@5þ’^õö“V!ìzÈ6¾(Šü.ZXÜPôz¡ýÆæ,Ǿ¸Ì ž>Œvìj€ñù¼áWe“¬ÃSîu” ðS½G4Ù矫ýåòEüÕ±D´’רR4šð‘§Ý„IA Ý­Aw4⧦Š×ZÜÊ©vô Y<Î4Ý Kºæø@±gÏÇ;:¡pý¯^ãkÐÍЖrcûXï^è¯ 㾤W–3Ò(øÎ*L8ÕΕŸ]ûéŵaõ—µÚ™·ÖÁÂ~­Qè§žóWfù³”î¹%}sôö–‡ˆºýì"Õÿ>|FæÍ¿–ïÀ.Jg Ðxï¹=´5 ບJ7JEʦ0Ì;/ªý–ùçŒA’¾>™j:1·u¼\… ¢¶<ä¼êæÜýЯÿÉ­Q [”+z™ôt™ÓcADîœÊnpÇËëßd¶÷é+ “Ï&ãµ †ûóñ&½èÛp:œ¥æÎs†6oêɘ{’´…Õ\ ·Áæ.Þ¿D¢É¤ýÝ'ØKÈ?4}C•öô@fò†‹[žR.ĦÎEhÐ}_ªw 3ž’էɧ™®c"#˜0!YØ1n-|Oj6"j‘ùN¶x௷àVJóÖäê| œg±ê×7åzÉ…­bÛƒ¬T¤î‘pÁ–oëœb³âá’å4êØOW¨¹Î)µ£ù>*õZ{T«á€ PÔ‘´}Eçñ=LU¨ Ô¹8w°4zâqI8Vi˜_xâ:„¶P ;Â…ºÃùëž C¤*—a|H }ßX¤60£YØòžþqÀ¸)…nÔ×<£¿ÃíáúÖ<ˆÄ/Ð5Èr:"ל¥€©îd+Èâ™ç¹TÌM÷é]`T7Ð@‰VaÝùÆêSëR×]‚Ç«Lßêr:©¥¦œïɉì—%جÑѨãKÝN‡ý:Ÿ1ñps8Ù>ÈÝÂß®Än÷÷™vð,ïùkY],õVý.çT/$µyBj§ëoº6 ; ˆ¿£“qkÚmÍ++ƨÎQ>w „UÄC¢ºj¹ëÈ[ÿœd‘„ŸOå¥et`±o3sI9$78ô«`öÄý¢¹gåªHü K¼êÉS¨à¹'ãåÁ:‘ BR€g.tÎ ÃÑ÷"ù€žr*ÉõåiÄ“ÆÔ0ÑÆJ»ž@0Í!ïD4™Ná ÎñRÌ"ÿâ¢Ä1³È¨È ìx šxi†Ã›Nt¡M°/©•…ÉÓ¾DžøR|³/}Þÿeµ8Ï@vûš"ŸªéU÷ýuŒT£ÓŸ8ZP‡ü¦R•Þ¡èÍœã%¨É÷˜ßö\÷Ò{©¨o7ÉAá^.í7§ÀâåÔràÐ?\{óyÒhVwNs×XQvcb+Lði•ý¦…ªÄ1› ú™s„#Tì½ÙÕeeÐríÿ)Šï.€v›¨0[}µbþJî„æJtØpBŸÜÉõ±§x%_82_F€X³•dðéÈ@}Òþí ˜®˜Æå肉‹ItElin•ï5­ŽÁÌ¿[·N0÷‡åÄC–ñÓZd­8VönÙ^ }©ÑœzR`“ĨÀª–‹ 1ÆŽë|(DAÚû&”4düþWúü²{žýcªŸ‰CoÀ#±ÔŸpÛbÓ•ÑUgL¸ á@*4É‹¥ÁM~–Šb©/Úü7þ“MR³rjOZãn$G¾ßX‚™0)OKBä;vÙÜV’…9â 4cãœÁ=K€x½R oyN$“_ªòŠˆðÂ5ã‰-N_WwšÔÉ|"w1EóíÞd*Õf×6¶“ Ž1\Y‘¬ÕÅî°GÄCèëÝtܮ Œ§õù7.­¼øûqFXc—{íØ4P¨‡Ìh¥ P•_¼sšT¤ôæ¾v^å7•z{åxpg9Ù¨5ȹæ¶K˜N é›*Õ˹[ÑWv<í[¥¥ë¸+r’Ó.²Ÿ¡³xó¡~”ÞLž-T2åÒ;‡è“‚8ìÏ ¿Ywb`Qr>r†ld¼f°È;g?ÔjÄ^û! dµWë¦übÒK£õ uŸ[m_Ôšª÷ÿÛOî.I|W •³‡m¡Â.r#ÆËåíˆð1Š; ô—®õ¯¤ ˜™´Åî’±ÃX7‹œýÇÞœ#LKUg'ËêWª¢ûÔá@?a„–›î(zÓÝ¿Œ9Z’^ÄÏ?À_‹|‡+ocÙoçÃ#RIw[©'— jbžý_û¿ UÐSæšì”ÒâÑzË™áñ^”e»o‚õOxìÈùQï̲î´(»ÁmÎôÛõK§EÄùÀEù)¬iÙ¦£,l@Ww×§z lˆàzh`yæ€Ü+XdxõëìÝLnÔÁØÅOmjh"¿½—cîV¢/#¤Ëé‚ç~Rfƒ/*rt¼ÕŽ…DâÓ¸Ûœ7xÙýYƒE0mzþRvíwÐ9BÈA.Ný†N„CùÅFZ¼Gd¥³º-…dºnÚ6f)éAKŠJ‹Á"½l’½ã8Öæ&"ï‰{^Qxÿ–ŠŒÐP<«‡ü]07IÁõ¶Ì _{#WI¶ËÀ”g^5S6ÙZë-3³ '€µ,vBcxá -P€I5±i·Šèe`ó nŸÆ0y6¨åY…/Ÿ¢ª+ÊÞùæÊcðyÔ=Œ­w¶ŒfÒÞ™Œ^0<ã ÝŠuÜÂ>•žöo¤¹ž¹Q‘ìêGOÌ1´Y,1jæÛÕ&{Èþu,VlÅ­ïûù@uµÎÊÄš+O6An;+Õ%”ç·9ÅÚåÆÄ;»ä›èÐ×t6R«¡×•ÓÁü:O+Ö˜FKŒ|Ùxú~ÞC=¹?‘¨h"ª‰‹¼ë (|Ý8ØW„Ǻö᠉ÎV¨?éÿ…v;ÂÐgÐþ¸rÁZã;9E^Ùf'“vÀš­ÂŽ)„ÂUa¿¬í¼deò8?ì™W‘d—‹pçù¾ÓúEpñ‰Úár‡qÏœb0ØßûµLÒX9”æR­ºÄ‹ü»,&àL&”Ó£å”4 *=*!î³ï.B¦/ÞÕ5sókõÐY`àå+¬ ŒN䫚=r¾QÖ9S0V‹ð]!ž6·Ž´úb­Ûäè$1½3 ìßÀÒvA2uÛ¬‡Œ”RàÙl‰¦Üï”mÃ{çN¹ ‚I‡·ðrõTÚ¹=÷È­A½Ó&ˆáÂ*îÌÞ‰É1Bµ2,+)›`‘¹  ‹î#„†m4•{Ëäµ°ˆ›ˆuµéŸfd”ÚÁ¡ë¢ï½D)Þ¡ðéßü0w ëœï Yý%`CÉK¬vªtIÔÞ¥u…i?,u¢mÃ*)@îƒk³;¬"a%¯2Q ‰¦øcmP™’Ò8%{oè¥@àÈ¿ª‡!k:SJŽN£ª|Ðo»Äj>h'û¶HQ·ykñ¶t!»¸e=b¼4¬ÿwe>}*¸<ìã2¿m¦ E/´ßØ®öÃqh¶íð&çjЮ_ c¤+²ÚÅ´Xø\Tò«.ûÙJ:iµ÷6¤UæÕ—Sý޹ ¬1ZP=ï[ëîÀ6BzE³v“ ¿ð„0ˆ¥=?j;a –:ÕÆ¶cÏpËì7ÅÑ3î°µXŸåü)‰–«ëg, ÊCÁ º»#Ô¬W´*¥~¤# X.³•`qòÕÁKCSx¤æäHÆÏO¢·Xç`h"’u¨W=ÐÆÛ_,)j_#¡¹!ÞäGFÙ‘ ªÞ.´ÿÆŒðg‹•)°×¸}§_œŽQc!xøíÿùŠ>jjl˜IsãêňѸS©ÞáF>"êÙ´+Ð%Lƒù4V÷!pÔ©=ÝuT½ ò™,˜KÌ$@À=ŸîNÇÈŒƒøø™+¨oóؾU Ù;ÞÌÜVƒš‘¿ïù*k8QÖF·•ú?06Œ‰î;E_FÌÈLØ '‰E2”H$„ª7Ý9¯&ב.æ²í‚@ü™*‡-ÏWð¤ è@‡š>]I:̪s–žU$¬q¡ÓÏPÜqêïÏ€9›=×o27PÇZhɺëNëÃCÒ s¿¦¬°~Z‰xÝw Z<ÍWÿiÈñÈ»,^'Õˆ}š¤Ý¢ë䱿úg•zÒ8ξnýž¾¶´q»§óÓnš`ÃÏ]Pñ?oêØ;Eÿ²žtÒ¼ 1s®§$½Âì%þ )A> `œ+mžK©ý²½…4l ýø$*n‹c²ÿÓБ.›/w¦’àˆ(Àb–s’ÃE?²Ø2v±6ÃŒ…tÈK?pÝû¹’ÍV{Ø<œiú³hqÛ“ìˆG}Õ5 ×Õ²Eýé3³,¾É™¸7šìV’`5ndU(6vfwâat{M7ú4/Ï(þð/ë2,Ó§à×l?¢ÅêL}7!é2Ý@À@9Öfê}T°<ÄL¤k·°1k³èèA9ç~ve }ϧ64ïô¨_è„¶ÈÍ_ŒÀj>ׂhÏÖ8vO(&npÇ]+²,Á×; ‚ë P'¯Ç!í·À·,"[jÞôâþ:Dðáw®mѤÇWtcž¯sÆIÏ.7@Ò™#N~äæÃ>aÿP—°¡jõ»T‚©¸R™WJ·œ™ç¨Þ F @½PrL,úDɑć×Ô絛ò©Sv|1ünr¬©ó¦TF2h~$䯭_Ë# ’.QÏO’†¸ ™q[? ̨jÁ¤n€Ï2 ”ˆ6­ÎF-ĵvÏH½(2R’†ùj%LßoöÉÊ8¼%ƒ¯×ÐXW\G…â2ÂFäÀ®"Œ39Ñ»3E~À•ÍŒ*êɬtIŸ:®Íÿ.ÀÚ†‚rk,/M 3ÿÁ€'Q4²CÕ“­`Dº~<²ý§šg³d À/·I¶×§Ýó™F`Uè·Éáµoz3‚˜þnÔ Ÿ]k^ü8.*ƒ¿ÅfÃ]åEfWðöL—yAluÔ-:1N‚-Ò3„– beˆx¤zºx¡‘ù÷ÁmËÂ]ˆ)4ë ˆ’qè­d1Å÷?;l—HL,7¶¹Û‚³î¥Ìy4]Å-^3•ð;P­²däHR¦\#Ý+ŒË žq(‘²=ŽüHÚãrØCú–P¿coGR»ýpË´Iìßírï#çЦ¾=ñWÉåv–¨µ%,â£u~u3µ#“D¼¿+.=¶<¨¼Üôl©¬ºGRVÌ'×v'/ìõjS·’\© Óö3! æcõþ~¶ÀÑ¥pÔ¶ïa™bjÿ~w-Íü …¾ûs¨ ßâl6¨±Uð±úU‚ïN×*¨(txz¼RÇÒ”2Qb{¹öh°¥‰‚û5’Ǩ‚íJþ7ú‚€›¾­Àîl2»&ÉïúL…€Ð¾œÖd<O*`Õÿ˾Ý7,‚oHÛâ\DLrØ–>Ñ£ÏñpM×¶÷O'[qê¦F†FRV抲cúj_Ÿ½iUs›4r÷ÐÉ9F'2Ĩ–#1DªCLÎCC í ˆV%;³ÔhÍ5Kç­gÈ~k Ü£–N°'ç9•º•ÀßônÀº3 ÑïÅ帘©'K¹õ›+ʪ‚s‘¥¿EÖÉ™Q¶ñMÉ¥i%ª({µúi¶¹*©Ìj…׈^N¹0ÙVÉŠ$ˆÄ n?ŽpžOÖ'?EýEsÐ}!ÿ†½ŽÿÕÞy°Ê§ÿ^‚ÞY4ù‚²A+2ítå÷û½{"YÒæ°}úKŸI>£ï¿¦±¦hðš­÷Ä5•=XžŽ¢º"üÇqë\™§g2óš%dRR¬‰1p ãùø–d® Û²µnšêó !]¢ñJ¦£Òø?VÎ Ór¸RÞ+GÑøiÁ"Ä^kÙµ# ¼Ó‰žLÇHO†èûà+…ô.o6õ†Þ#Ðþ„ãyA÷ó ,ŠrQBîcra³`±S b9öŠTÀx¶À#d^6£x©*|™Ü„TöäÒX¬žTƒXq´0úƒjâ§äbfˆ.f›/¤˜áìÁsb2Ê<";E@ww?§±wñ²ÝåJ|pí|ÁÏÝɺ¬ñúc°†ä ¾âQIâŽ7} ]j­ÀëVd”Ã\k¢oú°ôŠ2ˆ¯øa!ÑöÞ§ùÖ„2bذ7_Yc>ð¥s˲¢A4ª½mÁ±2ÆwÎÌDš$ûté}?&R‡’k¨‘Y…ÚÇ|Qƒ,A•¦t¨ ÿºàÕeÙ-ƒúòLñ>¼¤#tDqjÄ—¬«¾Ï—ÕC`î~¦ˆ8Ú±4:ØíBæu×@ ƒQ¼55<4ø ³¢æÅ,XlV |vMþìuªžî‡¾(8^Nå|ð±ý¾‡~ª¡_JñZïzhÖša_* ÓgV2Ènà…!§±¿øtÊ“¤ŸÚËSp»E Eô„ÆÑKÚÐklýÅOUڨЌ4˜>C½¦t(x$ïOeç|¾ÿà~6å+où¯Œ(ø%õ‡D îš%Ô;8ú£ à²GÚ¥17 J\.þ Q?`¾éœ¡æfÃüÇëôÍŽìE–|®—ûÁ¥àädû–GF´XIݧ‡ÛìåS¿À î9QwD1`auε¥|Œ*=Y‘–8¿8ª4t´÷N¿ü›9Ìß>8®ØO[UuŒö“…~sÓÒD¹î¤•õMU+ò^sŠëÒ&ñG`Ò‹W¤dýþÓÔЧH4¨E%$3²jBÏU5$7ÄpI\Û®²ñ,BÂíj¥ÿ†Š´ó’¹z/òGÎ÷(½ôus3UsÂnú™”g¦rJCÍT2‘NcÒjk]l)"}Mx‹Âo7Õ•3XJ])Ó{² >¬›Þc\d)÷¹×[ëUÚÍÌzÑ@ˆ%è\Õ cjráÓ;‹Ñ î=½«€rŒ%cN·ÛõkK‘Àõgö: g1^@åNƒ%)Þ©.†é²/–`Ô§Ì¡$.ì­^…tò©Ôß8jdš”»Óí¸åæ{ÀDL;Ôç=÷,E½ºæËAЖW °èEy˸­¹Ä!\àõƒ5ñ·rëêLµvCG=yú…ÿyƵTƒáՌƞŽ/v©Ôœpá³øêÂäs©uq`(MàgXþwnLõD€|“b†s7_îùÍ{÷ßT8yÙ¬oKzsmÒ­Ç(–êD¼í/ ™æ^¦b˸kÁw°Æ`?Uåà¨Ð^ç¡è]´–_Eq™ÚâŸÃWfx¥šœdϼ–—¦õB‘žRןSùË‹ò¦Ð4“‰@ok½cÕ©Ðïe>!ý–Oœ\³«-E$]ü0yw4jvÝtX¦xZø• 69{ õÛcoPê;[0)¶÷m |ºT”] ÛSÜÄÚ¬•žT¬zÉôsN•;LÍÂEqLýr«‘‰ükÔ¢£§Ö–u¤„šèu.–J*_öÔ ï/?í×GœYýýº•,Ÿ÷‘°XsN!A£ÀëJ¾CfÕÓ™þÛB#•†¬&:8C~4›h  ¿Js1²ÀžM”xG8äzÜWÒ‘®Ö¸ *ȇÍ;T}=˜ÒK–÷ Æê9¯<Õó¤!út3x^ ï€õK êX1 ßÈCøŠ“MH[/1ÈõÚܸ%à $['i/¶§Ï[EcN§K(`ÌŠ˜†­¶¢6¤vĽ"(U‰ð)áq@”ÿñR =PôÂ_pm0ÜfðH•ÆŸqrp¦ ÿ$Ú0´.Óô¢ivw16*ȯdRÑ·Pù‚v+u˜éëœß¾–]œÔº„­k'“–Q— {úG•ô|0J.ëÑÝ¿$Šð¨#ì‹Cžàf…@{Þi'ÒÄý4Wˆk±ðýLé.óH#”áÅîIL¶?­Z´€ºûT×Qç4‘5J[úÜת´çKaæ#›¹âäg!bn0”޽äá鎇yÑ*tí¡—öø_NfOæ `"0¢ä%VŠ´%1cüÓFv‰nÛ†6ŠèOP–KMQ£}Î £èøL¿@ü‡nTa^M i%â,¼*Ù±q•ßEˆRuYä5iXúµo1èë3<{Níþö€H¯âÁÄl¨‚àCbI¿ã´eBÞÒH£¢ÒL§âö/º†bì3sëÀÒI;Ë+˳ƒâ Q{ÛôÑPDÛð `¨)„ÝÍÆ›üenÜù1¯·hf#V/ÇQ°ÿvHl(Zö åê $†®š§½c'Žº©}ÁLŒ”âN  ©ÜA_ÏäZÃ×’“þœ4…HÊœWo—në]Æ?E~||DDJ¼`²CÜÞ5ÅRüx…ë]b7¥k¨©Ó{µ±íéÖÎ6«ž$Â&÷5ൠ°Ñí½mcöw‹¸¨;ºœ¼ hÀ»Õi•DÚã¿6M°•‰PïãÑ£–"¿jÈiÆ aÝóè ;Øe&¦X•š¥Ð5SÉŽÕ=Úaü¸ãÝ0ª×ª Š´ãôÐêacBV ¨:ÜúÉcè 8µ+(ÔyÆkm$oŒt8¬×Â0×Ư{Ò|ÕnÏ;ÛÊ—,ú£[»á}$kÖ,–žÎ©ˆVšÃÁ} ¸ÜÈÃ{•[J!Ÿ³› ¿X+ù &MÊ}é0#Õ!­³Xç_qƒûO›ÇJ`áeA.LÑ#¦ŠŒ ®( •úS´‰x%K/ÝLGM1½¼¥%)hòhø×'y°È†õÒÒzw¢®Rà(6»Š„w$×T#—¯U”e?± ùaË•´úñÕ Jí1²¶vïa¬È‡6Á;‡ÃŠE¦ªµ$Ä3Øêsoš‡]p¬‹_ÿl¯Â_£ÈVB4JÀ›Þ“àH3a¿雀?{… !÷FC¦ÕçpàÉó›òZ°æßBÄ=¯Ò¥Úr°hk¾ ¨Ù?*¥x4"ó—`1ãbÞö‡¢ËÁ£@Ïþ›@Ñ×;Š©H-Z^…‘ƒ0RhW…l{Ðíkûø”މ á6OÓ‰Fë¨ZÌ)8SÔäßc㇕ʣeÀoIm«‡+¿ö[(µ—(Šò¬s1·D×¹¾\àœNp Ó)B;µbiº4¶?¶CÝøJzÙ9…éõïs³cgU]Ó¢áC䎺áZý&Ï—4>–‚-4p½W`× !K6zÉûD×ÖýÒŠ´`óÿFH«Qa- ›õá~mª–Ǧþ‹°;HátPÍðüYó[Ë &Mþ§Ô/±mÇcGñ´Ž•äÓ¡‚»81g"ÕÈ¡Ð)4Y“•¨þ›7²iN@Ç1?9©ƒ±ÔùÃ'¯µ›¸qïœ…Ü ª},9#í¨Ô¾S¤~ì¯ïyêu ŸåKýÆý&Æ% ½2 „Ї±c®iäÝC¸¯ ¦è¶Uþƒ!è©\ÚžN@¾ß1ƒ¦Â~”y¼âUΔw€c $ÆYòZ`n'ì㬮ixx9hž¦™c½eÅÃ|Tìgvý˜Õ(0©öàЩhøª[€æ|í¢e„âu Äã7A1sÕ}¢1hö*×y ó ßVÒÀ½Ëk €:nð‡^h§î½ÙˆçÝã¤EO×O¼&YƒƒQä6@~XfêÞV7ztˆì½¨³ð1ºßÂ[ß÷M”[,]‰xR§Ž‹5ï«Wn?a‡Ó}ñn½ø2ð‘ðQÊ÷ж®.Û–,­ØÒÙ)ÂÃs•¹+w•í¡ˆêÝ$·?%…¸ëMlÕ*Ï7ør[÷Ÿ´@0ÕõT%s†ïÙ(X2žl„p€ì—Éïþ1ùòù(©\Vu–ê?é6W‡ˆ,íßÈTn¼—¹+?¡ÜóIÑ<™„V¶Ûˆ ”:÷ΰ•MhÝ%á){ŽázõØÒ¢o-¢Uí,ˆŸŠ+zÂÔŽPTéø©ßmQ uË)Ø4ûçškÀï̼1avæ¼0çÜ¿ Oò.౞…_µõYÆëC{ &ö¥7Vÿ`„èhŠ”kkôŸÛ¹ œÓâ# _’ðç÷^»¢Dïâ_&æàƒÆŽ#s®§ÁêðuÏ&ÇîÆnP6•ÖVÏ‘<ˆð¯‘X)ñø«YÚoi®î3±—DJ Ó±oO +‚a¢[¿J±ç\&¡Ðg.°Û憳9Ùú¬x4óÙd#‡µSP"^HLø€V–íØ‘!îD”ýì‡ñ`×Ülò¹²r ¸êdÙÕ(؉°Óœb\Ê<Þrêa±kËýh+¬%œ Ó߇Uðèu؈ƒ¯®µ lÊ’ÿ·†Õ51%XVË­(Cl³&Z¢I½L–¡¤Ùå"Œ¾Ä^ƒŒÙêöu½ ¼:©fôJ4b€LZW8ï.ßc –vøá‚]†‘DÐ2%)ZA–Ū>ð°uUAònF ®ú¿}áE¾4³Žúº}œSÉàÜhe-âLÖ²©O¤rúBH:wåYÝÂ ÝÆ)XV5|c…F|ÃS`ÞÄåÄí k&a)ˆ8[R±ì™1¸x¾çmaº¹=Í–XAíkÞÌt‹ñÿ„Xk¾ÍIŽbþòd[? CUÐÅY®S[ˆ'“˜þ.þõV‚ö\[k(r¼ ]™£ç à G¿•t‡D«ÈkËßë¿VøÛQlÕ‹)6l_x X;GpÚðé¯sŽÜÃ.0!RÐùè%VAñ&ÅBº¬nqP÷®þ)­°%æÝàU!Ÿ®NæîÞžªEÒðØ¥M€\\¹(^rĽ!«z " ÷ð+»Vjã ºŒ”Tl_TiBPÎeÌÒØö×f A¨—0¡²‚ÎR»\ ›á„‹0û‡AWZ#§J±˜làÜSøÓÎæÌâÆÑHhi¾kH†sÐCAZM¢|rÎy N¬Èà4>šæïðö^›MWŽ¾Çµó è€Ç\ ‘”È)œë¸-¶dt‹©>˜“?ø¿ mÔKðµwþžmƒW:«Røî×3öVàÉ9VæCaªbå8OWûz».)jEºü¬‡7äS»ëîšÉÜ}ü°qþmëéqÈÕ …é•~¨ÒrvàN+Z ¢¾%èK óãsüºWÑ;îY'zßàþ´DW&ò‘ÇêkfD¾´Eéšw+­~ON. ±Øàeœž^¡¥œ)8öÀ–‰2çK ¨ Ü £*¸B°Rfz_„Žˆâ¦Î-äòÇûsL˜z»ï ”c±,-|®* uP¡bʵšQ—cêŽk¾•ËûO;a ú²Fíá£Ð6FŽRæ8Ê‹p%¬>’ªE¥©üS­ Þ¾ôø#rp•Dí¢-ˆpåHWµŠš’ò«I“øŸ :>Qúŧ%*šDͱQ §dßaqŒyî¹Ò‘-zŸ/÷0¥ Ö[0óíp’ÞÒ^Éࢹ2Ú3÷½§¹œò_Wíl2ôðµÄOÕ8º³oa˜LBbðÖÐ^B„šTÒ;šÊWuêóHªìÂø]¼üÿ¢¼óVöuø«…Ä~6Ó{ÃÂ!š¹½å£ŒÃcyù¤—…©c(Ž)„áмר¨r€A©EŒUËø|[Ú®¯³ñ¥ëê?oüI¬bS#kQX‚¸¢Ì„UàÌ£ÕßaþÖµaøœÞ‰¾ìÎ"ölT{ͦöôap;³Æ5ï»ß²zØ M):,ã gê1”•7¯÷–ã6I¥_žWË„>xM»k¢‡kDÜv³’‡N¢ Ã8ŠCº83Óu?EÔ«a‚® ü]Þb±þ±"2¦ èßEŸ»ý¦9nð%6]¬qxÙn:”›!€Ã'ƒ5ÑÚ¢§•4Ø(ÜCgÓqVÙi×™ªbÀÝ»Ðòú±Vñˆë‘h¼ŽrGÈÒD8VbÍÑ€<Èþ™ÞAN¸Åá÷Pú¿6L Š£ÔˆÈAhNóvnÉ;ÄIýãtæ;V±] 0(Õø*Zühb>,DT-E¼Y³ý0Ž* É#6s‰ä±zTkÒg–éRM_˜¨¼hþÎå'ÿq^¤ÖÙ£Ì7¹EÖÄì]ÚÁÑy»ÌKóNYF–¶jж ›Aߣ3LIc‚æž®eñ­aM”˜¡×LT¦Ÿ{æ4!#6ê ¡ÞøKOñÊ¥SnŽƒŒ³¡”ý‰Ø¸üz–ÍŸsa6°ª+3Áá´¤#ð´c¬äŸn>–¼a6Ò@ ÇÄú’«Qx[*÷oì&,z<ûc\0pß~³ûAB¿(oIœ¦†X´JøB{•9J󳪌/†qøHç\ôvMÙL%P‚LÆ I÷/²Yyw­7QSå²êYùÌ®ÇàFý@Îã:Ѩ± <)°žÌ`$±`)F#³ìÒ¶CëÙK³.ÏÓÖ×^ŒgK ^z¹ú&¼i©j<ÃH)"k?yÇ«9Ç›oÎ ï… –³Z6)'ZÅ>Ç×°ýß ­œ„Rc«ÊNT½}(Û»+÷íçKæõ³…*Ç •}hŠÎ'<øÃXw-1++R°. #êa·sЈX,ÿ6èÎÃ}”G„%¯%w9È•¬z-³ëTS xf¿r]†¿ C™ÏGI•kú.×_p#‡±¹>éTéIlI\N‰V‰Sžõ¸‡r+²yE1–[ºœv$ñ'ÚÙA‰?Pg÷šG;¹Ä-憚¬¡#}•Êsp›ÆƒÛC~5šú{49NÏx[îâëúXW¿;Íñ«2¿ä«ôÎÎVråĘŪˆxb€âÝsWÚÇ<þáÍt˜>v°3@Coª™z¥ˆóò¡½¦ÄˆÝOîyÄvE«rÜ „‘Z]¢ã,nfÛ-ŽÞ%Yû%׎çAR‰FEç7ý‰ºôpÃÄgŽÁâ'ðzrKº±†G1ýß¹ÙР¤™ù+¯_’½DjQúɧo³¬G?͈d’>½þ,V¸O¾©»Uà#/†ô³»¯àoÍ9ôúÿ=€M­y6ù4 ’a\J/¶h^™1°åø¦  t¿eA(Í]<í£à‹ÞÓdéÑTyÂFoôüMv"MÛ‹·Aí¾(§Ú_›lMýàðíØ}C‚åÄÛú}Vøç¤ºÃ"µhõz¨ R—lÓV‹Ã2Gð¯[ú®…õ| #ÐØ·å÷7²"®̯‡Ct1y×{å¨þg ²~Dⲃyç‡ò¬Íhbµokh0oñá M‘§ˆÙ¿îê ô³Ä[–P:”Db¼ñ‡@:r×6\tùqŽeXóAj’äBî±ýiÒØ@‹²Š‚#|°_=¯Ö)ì_jî±wñ+|bžÂTÒ½ wSJe¤Ÿ!Ñ^ü2Cs¢j Âx³…”†=d³r %KnmÚW\Óv׊̒væn.­‰¸”¯dËU°EFËÓÒJ=âÚ‡Ò®Zi o”ï"+Ñ#XIÎY%WN_ØekéÍ@®]wr\xl×NÕ¹¦dÿRa_ø•MŽ~¹Pi‹N8\#šKɃ…\ˆXÊìݳð\ñ¸§æ›ÁÅ•û—X°~zŽÞˆtØÏ:%­6‚A§¾Ÿ‚tÒÁ]9X@¢Îé÷3щ5Û£Ž×wk¨Á–ŽëpÎ…&·3s8á>Ž†ÄƒBâ!ÛíÇÖÿèŸvF•r:‚IO’Ò™Å%±w#öÒQ‰¢ÏêÒKê‚Ì]ýümŸÈ –¬ìó }"oUä±ÁšPVO FÎòVê„Ñ.Ém6u„}%ÆJ}åŒI¶¶xí9„™`¡0—´ñž|x["Ù6ÚëöL¦Ac´£Uåg¢ÐV†iíwlªòAzBÏé³çÏùýžŒtLµ—CE~ÚäØû8Åî§Pc$èu¢ ž s°ÄƒÎØ‹Ïãê @МO³"%ŽTl¸.ŸÔ+Øäz7nlô`ë ùcD»”-¸Gá­ã:—´™¹Wªáf<Þ8Ô€Fõ¥gn“N˜ò_ùÍZ.ÎãßÊhÈô(µ74)ºÏ ñí#MbH=]Ù´ŒÁƒpó™P Ê*ƒÏ'ÿÜÆÊ sI² bÅ­ªýÏÉ *l•-·x~ Z²AÓ‹©¿Ó2ÿÖª ø‘ä.B9M°FdJU—Õ ðkª.˾¢–ã²ÒÝIàrˆØž:Ô[8wÌM6y¡Z^ç÷(¬P~žÏµ±òpù©(€ë‹Ê0O£© Ì wG 7±SÁŠ jDùÝ%פë [ˆ"Ÿ:ÔJmlбŸÿ]Ü·eñQ¨Rl([p›d‡¦™YÞ!±9 9~XDï±å<;ü³1˜Â)Ĉ*F¼|¯.j‡ŸL™þïvÜã Ž¸>wªØÖUŸO/}ÏÜEa5)gãóñ’WåsÖĤ3Í¡ ÝÖ7úý=Ú—šÈg-5wc9FB˜™¬»û®la¦Sš¬p%¡­yΕðp_Inè×]™ÿÛ,ô‚éJ¹0õ56Ìçß+ U¤›¯ ìÁl_îs< ¬j•Ú<䣄¼ô@!¾ Mûø Ø‘½Á%ê„›ÈU¡TþÉåq¦ S Ô°¯Æ’}ƒ¹š>=Ã*mÝZ€Dz'pWcg(XhÎí@¦RŽNÞ€ðÓ²Ò,ÎÑ/?È(²Ã0®·ˆã>ßyÃÛ8ùcÙKàx‚šK¡Û~~b¶ì¿¢ÜYÕróÊž9XÉ9:r–QöÓ¸³‹¹t½¯Øu\ ¬– ‚gÙ¥ß.¾M„ÝT7Í­™.úsh£ù½Ø³èfw–Q—íÓ‚TÙ†­åvÿ˵¸éV<"xUs€@Æ /eþ†’Å.Êt|“ä\•fVxÌ ¹.íijô s1wã`WÀé’⡼åì1æøpÄxx1ÝÀ=cz]¥¯þšüxK~ÞEŠ=N)‚40“ïö–t‰òþ¢(êå'ÆîÑ.)˜A,ݬø\Z ƒ¾+C­E˸·Œ#æ™ïB3FƒfÔVò¤x›Ï芩s>9¾³êK^ÂÆ'Ô&0¥†ê<– unÒŠOxœTzN áGPë‰6å¼)NßuY]F¿§Ð-´=9Kòùí:‘-3ˆ€èJ[¶¤·“dL3麛¬'(¾ÃBrà—À¦yï{VùÒœ¼öT¡Þ»è´»@M®¼òF”^œRÍ8´:¥ö!—×âá£÷Xh¶#´£œxN©Á'Ì.YT«pâÀuvUõ&ˆbÉ¿9ŸÒalí„%²× SîÿF«×6[«,2íÐÖŽ¼áõ-d8ÂH'Lj8ÞØ`€5Ú¬¼¿Ÿ"áQ-×kðfkX&ml8ÃøhLúé^ŠpNX2ßóî»wWdaÄ)ý¨B‚?uÇu’ù*Ïþ†A÷•ªo•!’˜Ñ‘Ùgy&Uºè‰ ´¤‡.&ôü`ï®\00Cñø §ÂÎÁóèùë–s¹æÈæŠÊŸuÉ™ócÊ0Æ’N¥p›'üWÿ|4Érª ç^DÛB ïuÁ\EŒ¬¾âRlØfz-Î^QÿÊÑiäÔ’;ñ™ñ â_ŒÃ›&gÑZN)ïb–÷§ÕzÕv¥þ+àZª.Z¢{óø 4¦v¼…¤4À®GÅxçán#È¡QäŸa‰ËrÁPù™âª'[ €â¤jL멈t’âlŸÞ­óKçÍ«û•^±÷\ÐèTÜ Š­˜ÀòÈöZS•æß‹§nOô¼nÓN7ž—òjQ5èÈæ;”àn)'QW”…Ó‘u¯¡S­wOÒ`77“ûi‡åæ_ÉC´Ì}Ž1m0âÿG„Öë˜êðuÀP'ßè¿}k[ĺ §­ßÝS6I#:·º°ÓÊæ2BÎ$2³µµ=UJ¯U#íæÝü›¨‡ýæWFa‹QÎöq]ówZ ®5X¶¹ª>oKXDËÁúÌ‚ž± é_u]+¦v›EÈ= |j¿N­<ƒ²,A‘ˆ4 ›-ÙßóÍ6F°ë®˜„ 6âKr í8à"(<Ÿ ü@–ð¸•ß1ÜÕzX2Õƒ ¦ÍÙ nrBÁDœ†—œ”!”a™Já†ÓqÛ¶)rc¸Z#7õØ X@Â!=«­Â—{¢äIêR03>5`&Æ/®6=‰y øß„2¼¶c©éúA8†k„°b"› ¾d³Ð²ØLÍ,­ $¯cˆAúlÿ,ÉWcK4‹U¯]Ã[¡žQ ¨:ð´Jcšî|%AN~%~Aª_X³F‘ã¢åÐß<}P—Ö£UóÞ–?r¤‰BëðŒM›²Õm^«’›B/¹ƒMöÌVëÎD‰G#jHr‚"[­)ì¥!ÆÅ|!8?ìmuA'¸Ú’£¬s×4Fÿ¼KŒDódØIý¨«yIí‚’ìÁÒ¾ùÊ6pÉÈ1þæ*¡âôÛUTPͪ2ùr_÷%%kÄ+ï˜Ú;ˆûhRlñd7Ø÷¨Ë„ÜîR7;›¾ áå­ s§óþ6 ¨¾žØ†çMµÙ7<`LFõ¸ˆJh] v2otAíÔx”wË 9}Šå/þ"¾@Ÿn§ü×ØÑºêÁlõŒl_oêæÑý©@ÅÒNíÒw+€Í'N€)\ù @Ýo)AáçÃÁ±6Š_ýþ^€Õ¹Ð|f„”`|ÚÐÈè†×LÞW>2CvFÎZÑÝasÒ9° ÓÐÉÕcÁÑÿ»†üÙ¸Bʽ$ÑQ5dÓaD׮Š=ƒ-ÞŽ;ülË¡Ûî´¶¬±BZˉ0¹Û„”Ü0 wZ°­ç™Su¦n ¿ °5‡‘Ž=Ù›ôÛ:mÄB¤’¹ßÅÑínËUÔŒ)I%FŽp…‚¡pcPÕòà ¹Ìw÷=3¸¡^æÚ¿”žÖ¤*C…?"ÂB×&¯»QVòTºôˆûŒ-K9y¶Â*!Ѝ\à™\ÞŸ†0Iž5‘îwL‚lŒjHïh!}Bl<¤0Àºñüˆ‰97nXõ4pê®Ó¦ñUQšËAnžl¼.2)_‡ˆ•ëg 8ˆË­BÖŒ?I¤‘q¢£8KUÚK¢W®Vmi3}ÿèáûzòFèŒïé+À¯ððá¿}ËJߢ& i=°¼ºÇ“ÐÇö®É/Ñ#-ôër²Šl}6‹ŒAg×ÄjÐFÑ Ñôõ„Ze‡ÿï4<+¸öC Í|l`œìr¾ýÂ`’æ¿MèÂj$w‚yF=_-5rE€9ƒŽ/ݳš(Yè1rü––þp,]â‰iG¥Ó?®«É[çÃY½,ð“ùÖyõÏ‚cuç#ó~7¶Ì4ªiÔ¸&aœxac­@'ú y[¸vèp磰l? ¬Ð˜]>ùâ‘E~ Ý|tÿC5ÔZ^àá•*ƒus|y ‡*Af¯|Œú´¾¼ÙµO…/h‘±Î@ÇÐIU (?tRž DõòÅ‚N,x²´È}—xIæ8^€ÜJ7´}ÔŒKŒ¹TaMÊñ誈«6ꃎCk@ÿLË3'µ«H2h•?j‹˜”ÖÇo%¤C¹=ä-7"ʩߘù¡MÈVs¦¯­-mÍ‹w70‘¶IÅ”8 eN jôi.·aë¨FÁê»Î\[t¨ÜK'‰òÅç\Ü‹„žNƒdØÕì¹âè¼C{œbB9w Í}*þdÉûŖõÑw°ü¨”°²šB${Y(ø@ãmßD.œôX a«š# ê“´x¿&¨Ž¼µq³Þ¿zRÔb¼ÔKnªˆL ÄÕŽØÏ¢«Xak˜¹ëéÖÍò#b7VQ¶™4²k¨°„µ<*úõN<Ð+ÏÔ6vWíÆ­uÑÑŒœv(¼>ÀÍÀø* BûMÁ”F”¨„hï=ܶ^耞¿DþUcv@"'A®°Ce”ؘÏ}VŠ6Q¯œvW……B_L¡?Ɇ€§ó·Î uÙ­³z÷Gº­`Ð}™ç?9lµíû½Ë?y}ph€Ÿ™Ly/7d…°f`+ÎH÷RõMB;*ÊE81ì[àŠ’’‹¸8,he¹x +üô±ÂÏmÕÔaݺC\“?t=§Ÿ¿áoÅ .{+3·ÓذŒÅ—.»XQ÷ o>pyŠÄø_2!H;ß]¬À.E«$ǧ12è9vt/®RñÖáh¯V?1ÛVÞ+U¦2lL%e$_Ü&ª¤Àȯs¤Õ†~8áô©ZP«i›, §Zÿv&ªÎ(ñÆÂôÎN9¤Yéº"cÔûM5ÃGî[h2 6 ëâ<(­/™±ž71Ìé×ÄQ†'Œû†ƒ /r!Ïb88#OkÂý.+K&›Gñ(ÞÑ›KJR–ϸÐjÝ|Æ…mÿ žjq®Ö]')‘I»€Ô‘N9v\$d€Nœµ{…š:‰É­mš‘Õ’Òb X }Pƒ¬Çõ–gc^±wŒ"iæ…О¼ö ]U7~¿އ,)?É’WZršœ±Tw%ʵCqˆrœž¤)ˆè¹¥b«¸«ò71» -à‰Íg̺‡¶\ßw']幈ÄÜ–?L§sRºš–ÖÔV!}â÷NY$ªjÊÍíeÖB›SA ýÍ`sOZd×ù°X«ƒ­ןe·ýL¡`ëƒQ"U¦;6h‘Z‹Ô{ ™Â€ ·/iÌÇ.ëmÚGHì Ò¾6÷X“5§yIçÃrXA„ IäðﯖTøÎÊÞ0h3M"Í‹õ\+ûê-ßðÃ,óSkjï23OÑÈ  ¯ºØW£ÀPCL37æ6œî&XG7 úÓ7£‰­;ýÊ 6!ÁCý¹0R¾4õÙ”í{ðZ¥éÁþA×Ô*§*ëÉMÀÐ).gEÎ8ûµô©¢Ÿüqêx1IƒÓ¢YÿË]„ ËïÉ?h¾Qñci ÇtëKp¡b.£ÞËÐ2AI£›hVÍ5xßó  %Çkç7(¤ÀÔ<­¢ ùF.Hh"QƒŽ­ wqü}½#±Ñ³Æ–G8²—ŒÙ² ežZû¸bŸœ°glWŸã_œÖ.I(¬´§`¥¸˜²Y#Mîk°á嘕3þL¹tèŠX˜ºgÂi­P¤½ •!›=¡œà`¡µ0ϘýˆÚìX ìäW˜ÿõlUˆÙwlø‹ûÀ8N(hÚëjN“­D¾ZsixÎÁŒJ2" ±Á§_yHž¨c$ûr‡ñÒûICœÜZi¸–¥·FŽè¼Õ™ ]y?¿ñÀ±á5È –z÷,º·àÆÔãÇ#%íd„ušvç|f\?àŠ²Å‘ÆAö;*»NC³\“_b1þED “ÝŸas°ÔàâyÙ³Wk?Ö`ð}[õ‘‡¤ âÏÄ7¹'èEË'‚%hÁÊch4@BÆé§<“k îDÔ4¤‰˜6¼È\³Uפá:fÌÂòƒFªÙßê³³HùÒˆ¨a§2Ð:»¶n³oœ™Ä‰Ó˜GìPc  Étûˆ¬ïÒòñ¤|¾ÛYi—9 Ž÷€hŠŠèÇl?¥±ÝH+ ÆJ{cÒ¿ˆtÔ!ÈêïLŠuv6þšQ×FÊÄW…ÖTG‹dEõCÅÞ´˜û/¯£@XŸâ’­ù•CòØSjà’v….>¢ÐhTqÊ/ U‹Ñ= ² 1BÎúC÷KõÁÞ‡J4ÍîyùFJà8S;x:eÂÁHþÑÞ=ëïg%"ƒP¬ÐÏ,Ò¥n¸H«Ãì:etÜNÝi¿gòG‰@ÉJ#{Ë¢Lû”{GižÇ,>ç$xŒYUPÅÛ± M¨îÞböPÇea÷TÅ‘¬ÎƒÎÔÔݧó\»²8÷®i`én'—-S[¼§_öÒK{å—»ÊF­Â¬l/ƒ‡ý§ƒØ×tK¯ž”³°ð¹ò8‹ é~Èz3áÐáÛ“Ú˜‚ÆÇj'Ýññ'{ú׎Âãý¢ZY5L°S±Òº£A^'Í~A—¼÷øS¯0 ÊÖE6ÆÞ¢ïH "î‘^$nV&+ÑZ /€ÍѾQC¤r6AmÉ3èÑ9_ìfRb¯æq5îý5•(Ôgß@×?Ô7€Ê7˜5È¿írâ’ê%õû!2:Fë·Ú=×î~Êëç …5›³}´ÙŽuT–îô^ê„ Ì@nUûB'<•¢˜—¤m÷AÞÛÃÛŸ5©=^ÑûðTÌR;HÖ´•¬Ž–×ÞiJ‚§ïÚ© ?ÝÔ#Ý­K–Å1õèœ0u7òb¤ÏÒ¼œN‰)òÉ&µþIÁˆášŠ»/À‡{ôW;/–˜ˆ0öÃÚúÒÇ@Àî­Þi ӛѻóÂ]5ïÜ?ÃÓ‚54LYA6sô½õ1k‡îa ´»ÏÖå Cë ÓðY©™_ûá;{PƒDÛq… ¸Ù@P9*,*o;ÑÒÂÏ$|ØœX¤¯‰h>=+5“wF:{|Mf!ouˆeDæéÑã»trëÿ.«\þï<ÝËÊf_}%óº ùDf¹žuÿÖúMz€´‡2Cg3Œj«Ó=lÔ÷c"þõöÄÒñòG‘g>ZÛ3 k³«‘‚â¯"ܤ@›º{’ÏI”|I”ÀI™½ÏÀíˆ0eøAåóvC€À-òÿ['L$ÁËWTz'®­id} gRF¢Ã… ,CZƒäÚ—?w(â-G¸mø8„ÎÁ}rÌLÕ˜ÃÈrîÅ/oþžéã×@g3ÆÕZò HÌ£Eç ÒƒÊÒ¼_±‹+qöm­tàßéœí¾e:îµ§Ão%×:+†LM‡·Ú¤ßv:teëìÝé)?zÓÏñ°­4ÿ뱒ЌɎÉN|UìÈrJFíå•7þ>Lù­5ÛŒ¼s=‚ï‹OÝ™šF¥6ž:"…£ Žð6·gØ‘ G:~t‡8˜ÖѬüÒÓ®SÚRE`©â±Ì"A|ü™|°„çÒ±ÆûŸ½_*sdgmæÓ®Û }º5nóÞQŠ%:ÃÕDrðWwËLÔW7÷¾yòc#‡C% n;¬|µ.ër»0‡Æâgê¸Ä}Òr·Þ&€ßÓ‘®ñ¼Z5°_n¦ŽÙyoG¥×š_(XE`åò#>~ª ¤Ïå! …" *Ú ­ðÿ¶Sï]ùWRQéV £y—~d9§¯„(G:K³0–qr0ôë·îÄÊVþé¥ïÖ) =O™šP$ÓÁ¹}Ѭ[t_L¸ž¥ë}hFŒ¶]òàoœ>%¢5[LŸëBŸü²›m… $Vqù®§µjP0h”–:ënû`ë´M]ï«“^}}ânQŒÎ¢FzRrÄ+é5Š1÷ÒÓ{цÍÏGÓz€$Ÿß9ô€^ýÝ °n!ÅyîòDp„1„’ZòÍßP2uãžÏ¢Xeß0žˆ-šË“œùož/ )ï.mŸÿÁ¸öÅPw·ªªf ê>f‰¢xn‰=ióB9:ùÀª¤qˆé0”lÊø’Ær”¯tqd¦·Ö¢ÎÌI¢©:5âé'wp'p"ƒ~ Z*R.êjÍ®œÝµ¶Œ?òVŽ«{ä,ÓÇIòN¶ ö¸&ë ï­a[ ÁgªÓÓÂÿ.ócå • ¿£ëËè±2{mØ’Ñ µÌòÔ³»ßÿ%]v×£ÎÑvkƒÈþIEFrëD@«–V†æ¤ÜÓÝphúJíî=|m ô‰žÖ;ÅM.`7ÃñtÝ4l­ÖMƒð—r%™1¹0,3ÔáÜ_Àåc>çX8äBAŽÛ¡hÜ‚P¿Ÿ¨j­9ð€qdÔ~iKsÓ«â¥"ÞºÁ–'ºJ*ãÞ’&9ýqp¹°ÚÀÔî>Ñ•[:;€ÿ;‹ê9dêVïêþzZÑÄb­×'”¦¯läœw)Ü“"û¦^ótÏNѽæÓÀ“컢äIp¸U Ajztk–Ù$w6ØÈŽȆuäÃÌlKü/?M,H øòì7Éc'‚3x>mÏÝbûm‹T–·ø¬€àoã"i[þ0 žo ‘~toc'¯.uï¼’´¢X=îHÚ3RØ;IuÕ¼í ‰S§ÙóýW”À/Øê­S‘´´îÒ©€¬õÏé´öH­Ùd`XqE¬x* ïaê®ûʽ³7Þ°ApÜ·²“IÏ?Lâ윘­nÇþbÕËJœŠN_çD’¹ä+M‘5`v°*Ÿm×pFœ¸åfUDŦy èu7¥æñ‹ÅîkŒºüÍw=°~r ®¦ôIz·sàüDؤ{A„ðÓéëÔÎ,œµ‹ —nb, ©P1i‚OC†~€/sÃéÚ±†É䡈ïTøöD‘«Ó|uZ=‡av‹a‰#ÿèfkŽm:>Æ›àÚVAAÙgGK&Xà'!o¯X¢«œÍà\XË)4ýaÞ®!|H’Éùè&_ü¬M3ÒO OO>ɈÌN#Ä:·½TáªyœdXæ‘Ð4äT¶ Åî0|˜ "¹ñmù:\N1ÄÊ’û±|K+7ã½²8䪴Íäî@ Õ'«¤V8 ï0 dSdÖÝõ522S¦ò‘†mmƒ… öj—s²â,™·©…ûuÅ3 —|¯‚ß犂›ÊèûçO/›$}¿šû¼ÁnD]9}Ö^‹…Âmiµ‹à0oÅ×± ›@çŸZUÿÓN3| ÛUdʲzyvQ½›.Ñ¿`9Ç ]_ÍóòÄD!ò«Ù²¾àX ¸™Ê0ÑW:Á{@¡n–‰G‚Àl1 .:3¬«”EN#k,dŸÌÎö–ÈÆÇQÁ Ò“ÆaÝ]ú|‚åWà÷㙡ë@ƇåW‚…–úìŸ;ŽÖKˆîÿ°´ Ã…v¼çÚO?UVfǾ¼c.=‚w…(£w²vt¹Æ¸g. WsŽ7œ¢‚Û —¨@ÖÛ\tÀp„Œ£Ÿ£ YXÜ‚Sš:"¸\«µ¹¢ÝÉ`|$´7r÷+ß‚ÁÜ9SÜ& ™)'jçÀ”кûÒV¬øßTÒåUÀ‡j‰s:"š0#(º¶¹snîM:ªæÿvµ9f« Üá¡&Ë’"¥þ?™™æïþšÚ];GÍG.³îìÖw!­_|H4EØÃÝj¹ 9¤¨em^Ó¦ì2Ýgì?;wÕ6߃J„öÙWs6.ªb ?Âu$š „®ÿa¢ÖqŒ {,íe¶ßuj†³„äïÑç°™Á˜1Ï,0hSܪW…$Ô×EêôLå¬Ô¸îÛXú.g7küëvÅõÃõøsŽ›Ò>y YôÊj丄§ñìD@G €…×{é.¬î ä#C´7Ñ jÙ˜G«dòÓjóIÎQÊéEÿÌÕ4øê>8·£X_$ÕÃóY=ÓZöG½¦õºpã ãYBüJR=x’5?‰ñÍIµš{šîìÚ2ít© €11‘ùËFUHŸàÉè“Úv ˜0Zן±²¢äsØÇM¹d˜~^Ê)ý&Ǿ_QÁCoedæ§Êy]™ÜœWÃ0ƒ˜B8Œò¶Î¤¸p/¦DÌ}N]o;€nyÎ%d黢.ù“š—Ï24Øç?m8î‹ô‡/vÙ‰cN}0:Êä;J¾ÿ ˆéÉÎ*R™üÉä ˜q’õP%±Ægô8ŒŸ’”ÚÝliþÂAÐusm‹ãÔ^Ô=Ñç…žjf aŽ3×ÛÊëj;3­£,<Ðé!-È•1Å…'wM™¥'f,°#±]ƒÁt‹ÚEžë@'HÆoù+„òÇØŒad,V—ÖŽÓL¨!Æ7&vRÄb™]Ÿ=—xÉ›?úÙÈ® JèÊCŒ½÷€l¹e¼ˆ4 ÛˆXè&àÌÉ©&Nô ˆ¥,(k»p ßòìì¦û¨E1RÑzeG›q‰™¢.P?g'ä¿`å¼hHb2OPï(…ßù‡Æ®ì-»„+¢ÓêW0DÑÄcbSꤹe0iÈõ˜’”§‹’ÿ˜¤¨­ÑÕM¤ÁDuÚj`Ì>žØàÛGQøÖ†âc€¯ù佊ïÂPz}¥HP»Uo;]èA™$ ÉòaùÿŽIJœ§Q mVá :µÄ«_`(tð7" 0•Eò‰MãÙæì d²Uø‡†<ó ±¦6+R6ïÖÃÐ/¡"§E´°™x޹g=*×Г7˜þæÐW)%sÕæ:Æzuî~1óƼÊA”ÿ8dS,B¢šÐ~Ü6C!‘8Á¬ÑÔ_Ë>Ÿ¾VPa@¦™êOˆOØ#/+0ÝÞÏÓJ.’IÕÃWâ—J´›®0F ¶%•OåžÞ¥ÞOÎ×å¾ÞÉÈ¡*-£yVµ7o$+5 Gzƒ2•åP¦†å-¼ÑE!þ’çzåu-«¿â“wß ôpImM鈞3Ê6•Ñ}Ñ ¶n¼á؉ ÞóæµHýYk0u%¿‡F­UÁðÔ æ*eË%@Ëû!Öã•ÆÞÓÎÄŸY’šýÞøI.Ø^lZ¨B>gìë+¡îÓ2vŃ…­t>7iܢÈí×€:2é8*+›æ]&ˆÞÙD˜$ ƒ&ÿÌÝyÈHÞy“«(é÷Ý5,rŽáèßy×]D ž+&jÚ¡üí-HÄì8UÅ #’ËËëEäî|CYé$äsW¤ßɦUgeŽÄ,®Õ&ˆ{óÔRckÎ {ÇÜüù€ÞVZBJ÷•»x?@©Ýa©™Q€H.bún“ eðàQÌ«þoðéöÂî¶¥Ðü]á;@ºÊÜ2áÖ‰®N›é0úî+N0ïç-yÀ{ÉCËLö®î¦orèäòlG”Í‘ý"½ãþÉÉ-+üF.h¯°^›*ÿO2¦6‘C?X ”ASÙqþJâ¤V¥‚ýò&£4{ÆâèZ–¼4œ}½©±Ç…3úí"àº7yi|ØÔ~¼+ç¼*³ZIä¼ßbýmßÞÍÿ–Þ¬^„>_p]#櫆«ÜW/¾4Iê¨V <™Dà‡C•#è¦Ã"}oˆèŠìÞ±<ë㋊¯DÉ€Ÿ?+|jjwâÇ-qÌpÅ3‘ò=)3z"ƒIU­ä[¡GQ¶˜öۺέödaÇOko ´/"h–©!Ia.¶8úÆêógïèR 1~~ VÜÛÞ?9øt+ɼxÕµJËR¢½Þôi ã)ÀYÒ-´_;o…Í€ÜÔ|¡Y~ªÄÒ"$n'$¯u8ÉÁ”Q~j8q“Ô´M_l]„Í :7'¡:0é®JÒ,õu–‹ŠPS½…`è9º‡——Óï;¦ŽsµŸ1­· ”p.ê ÕüQ$Jm¢+Ïi?Í ”å¾Çsj%(CÏ™3Ï#–0º[wš01±ì’Z/“ ÑÅCPõƒz:J4‡É–]SÕ¿™ªHɃü÷dXþ­Ø_.b‰Þ-DæøÆ Å›zeì‚üZ‘O.3úX3ň0</õ'ìw¾ßR^âŠIµÆš°,Â~œ‡h#–¡_©ÌÅÃÞ4O– Q Ã& A]'›tPÖ„À¹@rÁ…ƒäÐ!oYV4-ŽgÝ»s5T°¥|Mw ‡¾d=¤—.0”‚Ú·º&—üÛ6±¨åöHApi¢ÆÏŸ˜¤Ï.•„>Â/o|}¤.WvÂá«d]ÔÎâôjüãÆgs`ؘˆ¸1q¾_Ú§ØA‹‚…æìÚ—±ÎѸû.^Ê"ÁV†ÖÞÕvÄ”'^gÏH¹yR¿]àîS*«@qú" z~˜¥&]íW‚@öÆ<ŸP£C#ë#L½ƒ&Ãþ*Ðc€¶¶ÛÚ†:wðúKQn yw…©Áɰ6‘Äø á½xñ¿c\öÛg±Ò?p5Ü{§øïг‰ø|ƒ ›ã–»µ|*ÞÝc¡òfæžîÚ«èÊYÊm*%"g¶,Fý¾;ܱò´T"¦Ü:IDuý¼$–КРd\jC@³pÉ­0ýîfr•+.†eÌ=Ü ¶Ó)VË=£Ek±,v(œ†I£ÑY„ÙtSÇw®O,¾¬§Y µG,ôÑYá¨_nB!’ÍÄ­Íš—¹Ì…•Pê©3,ì[-¸FË—Û×ÍN‚ ã¤5cKæÒ£sn}]"ñE³f }.U$o9ê~ÁÎúaþó~ì`a¥5{\#9ÝFÞ1õaãš·õ§ Mª¼êKF”à©“ÛÏmÍðhÃÅî‡smð5™[×Õ3+ilŠ7â5568 k¯²y+”•O©ð„Û‹ç”_1Êü½ïÙ:AI¥ôçó&ØC°ÙÅËA¼}¸ƒñ Híf‡ëË( ­bãÅóÖõ$®ŽÖNaµp’ìé‹G©sªdú¾Õ¡ôŠeh]HaY¶·Ñè‘~ß@Ng¦ˆùèh”Ñ;±{û…zù3“4.8`^’£¯ª›¼™‹„¼jaòÿ·Ô¸Î]úÞV‰ÁøZŒ\fÖ€&ª8Ô¥ãÍÛVE é]0¿Ë."îOÇ’~‡C忉·n&K€eð–µ4b1 ‘”…><ŽôXJKÕp£‚Ü{¼<ÝÎtˆBPàó˜ñõÇÀæfYküܼԈ(8·¼ðÿiŽŸ°bE…f«Ïƨ–ÒKÒ¤OïõtëæRê§âL*}ÜwõÓ«gB“P±>£ ² g.:‹ƒ\]¸™îy­ìm¬î£øG[F¬=MæéÌα£å·.ŒªÿNw!¹¯¨Lb¸Õ’_ׂ×7¯‰uÊÂ…Ò¿Ó¤¦)tÌ3MQˆÁÁ»x¾)ÐH_ü?ºåRŠg.çµc`qˆ›Ý fí};/)qM/‰Ö =k´š!ÁŸ¼cÈ=GüdqHÄ8‰S ½"7ÁQü—Ÿ¤ü¶ÑMW–9&1Šà)W‡J+ÿÊÝ>ÆÌyfÛÿg¥221Tƒ©ðµìO›,qb‰Oœ*¦Šû0à¶Cf)x?ko¦”¿®ñ²ÜPù©Að%ÄÑ<žq*ÏwÐö»[4Û_ÝN+›à/¬1†Í§?ášÌ_ÊYúfä~Òw*ʺ`p‰ÁBôå¸ "-ƒnNÜ` @ù°Ü)+Q—"1™Ýv+Lãµ •Šýy«É¨ZG¯{nÅc“%²=J~. »oýî—XoÏ\a¶Zè ļU™uÛqït&át”’'À>qE*Û;Mï©)Ë@³VÒ:¸šé8½gè;$òXuì6:M¢6ÙGÐ ÚLFØ·lvaìBsT,ãš‘Imk_™•l™Ë§}f‹­›TT&ÈU´ÔÓ7¿n'¯ ;³-5V«jr¢üKÃQM¬Èà]FƘ3ÄQK±zí6 ôãþH!„^Qˆ; X ÜbØÍû^BÖ`EPÂ44º2ѽÇ,¡R ®»¯`BŸ´?•HLÝ—–DLT>å†ß^D ¶ðñPá4aøïÕöV'.ûÔrÇíÉ»yÖüâ<^¨Sœ$¡&á‡k^n¤j-ÙØê-ÅÀÀSå PhT×äãHä,Ý’µ·¡¾,ÒÿWÁµî8Íyª2pñµj´dyj†ØgÉ¿‡—>bwxýcsí 8LñÚÓ‚óh§-Bš~ç&ÇwS;õ”½2vFxÎn“(ŒJ9Ž<Ó¾«Mïâybj!DWðÝØUt1+¬$¤§!ø$§iÒá†nR”íÉA#ݱsI§á9ÀÀ8-öÚYf[q{áü³GÀf\ÖkPä+!9’Ôtw3°|F1v—\”ð°t¾M­;M´úù,M`ïø?é#ƒécÜ&£¬ÄÈsÞ8¶zì Ògüt»…ôJòg@ì+øe(áÕР¯©¯„/%š­<àîø‘+¬ZmŠ,Ög鉘þ"BLðWçx@æˆ:ƒõÎ%¯ž”˜d.œ_h¢–ÇžTGä^ÓùR¯†ì°æôeË"µxô›Gæ{†ðŸnPæ¶®í{fÕ¶sÇÊ(O×ñzx†:Y]ˆV:Ü‹wmT¦†ò;ÐßÇëz„׸-qÝ.Ýé~PnKSÌEKK§Œ]Ôî•}…ÖC!šg‰ >8XS‚‰ç@Ì8ò©œÃ×hBª[;’DÓÜ×ÅÛÍb’­ îv¥€®CFöQ³-z«˜žI] ¶ pÒ‘2>º†’NÄ^gBÉ”ªð DcS Â}Ïl¸ïøM[nÆÀUÔ¿~¶>7ʳ‚Aè$¥n–@i¶ßO†ÙÚ¨nÞõRÕ ÀnBu·X“X7ÐKUìt2‹wÇ™¼¨]«»ÏËV8Õ[ÄúàR±R›Å¥{ðˆXËÁh (£E·™Ù¦[7"+X„¡$ÎÔýcöî¢Æ¡‘ð*µð²mÓí—ѳ¡Ë2Ùõ?¹ß†Í^ûp=§~/¯u¸É-Ü&žÑ3±3ÿÅÓi䯩-¨¢ûyv6Ó¤½YÍ/Îg×:Ê÷>†Ø±/í,Îc§„Ú§7y6Õ‡êŽ:|ûAnm9O>U›ê±Ùˆõ®T¢@.yäÔ«݆F«•É™ .Nfz®;HkuÛ<vØ[1¯Úô¶Ý^žšj€*Â'ór¢Út„``ZLUÿÍ\؂ȘbµðàíýÑcHìãQñêäîn#Ó.‰› Y:¡ÚM\e,U©àWå7“Ú%ó³­§±û­DaÞ£Ã}¦|]ž›Â£HoõÕ¨ïikÍÖ¤Gùµ¬P÷ɬ¡7zÊŽ_Ì2{øh÷%´èŠ7ùŸo!‹T«Â+•e²×‡%ÄV¼®žð2¶WqÅ£ÕÀ ïÀXN²Jóý«ZN&4¬M„‡‰¢|¯²àô_Ux &îr±fD‘ªˆrÒ†o­6§¦M¡Œ­"Ÿ¶xôèì^À©Ré'cqö¿i`'­ŒSÝ€C@M›ƒ]¿i(Á­RWxí>ç‚eŸ¹CÚ5g5&z¼SÁª½´ñ[í]TæòÞ2z™ô:ó…Šö/]),‹‘¨QÀ:ëK)OkÔîÏ‹=ŒÂgoùC| 7æòÐfÚOûÒþÖ¼u™)ìÈAŒe¿Áhî—“§ˆU_‚'q¼DtÆ©š‚ý`†À´ê¾ ?^¨:Há‰Zö7=D˜ie’SÕýx»Fd«Q·´…¾Bz0þ¬ 2å‚ð…âú§žRRüF½¤ÊÛbÀÀs²ÑÆÙ¶öÎÏ!¡^M£¡&UÕƒ°míaŽÙ©“‹"f‘Ή d2´ž=môƒ¬¤üY&H ¤@)ÅplfOõ²LŸÂ1Ь¬ì:aaƯ–m+ Æ¿'&cH.=}o¡Ã lþ‡¬4$ÿÇ”wdʼ,eßèågg΋»‘Å µáï4óW“™Â-¥S ‹9Ð5§ŒIÉSÛ |Š•ÚUÚÀXQÅái}½ÈÈ”v›ÿ'^ß…°½ÚÓ[´gŸ˜D %nIRçÛ÷*Æ6ü¦BÅ[;6]hw!!Œ=ï R¥v/÷R,zîcä½-fPŽŸ¬— fd’nœ>§63¡¯ò²S;1:#gŽÆ€ÏËìT’y ùá'¢[Ω'T®„s&³O* Æú(ì6 <­vÒKaˆ }ËØÓglE…À‡ûÉdãÜ9]P ‰r®vQGbPÐ=áã¹)nÄÅæ;Ùh|-L$T|¹7»ŽÚÒ¶è÷i±„Bq”Ã<¿½9ºË]½Êþ¨æ\Ã¥µ:,,yü(ø0™Xs¥¤;ÙoCåê}G®sº è¬ Á«µkrOÕ|I>"4.ãVðøÄ Ô.ü‰åMåâþýV+5`^HÉÏÔ èl£ú!ÙØè÷V,+£Y4­žuw“†A"±nÔn»Û&399…X«/n÷Ù <àÜCGŸmX ‡hã„2L·’{‘DW– ›5qkFc|„+JŸ¶_ŸUÆšF`§;eè5î}ñ·‰ÔÉ•d+Ž¿ª5CÒùnl þêv ªí>\ge¥Í²»\ ÈÀ`O'Çw4YqXdrŒ½5¤uÜñ_ÂÆ¨ZÊ™`}׆!»:tŒBÇEZŸƒç³mÙcc²$ÎY€ |Úvp¶ŽÄ ôÉ!˜$·õ"=*Íb×ý’bom–Yq»«òóIÑoPö-Ò$˜É(XÏÈF!t•ÙØ•·«Pò¸Œ·3Ñ=Ê ³0'äU•Àn¸O…ÐâFÚüù¨M{º‘sTºêþ±k_½å˜Ì@mií+é¦LlfzqȺN{iEX9/IHþ*bŸö~W«Ùì‚@‡Âö¯AeÉ=1{“H”„É·ë{ £& é[—ÛÁX¾P¹§¤H¨ISõé5…™!›ß)î[2—’;”5´„ý®˜¦ úËjkw§I°+ p•èP˜åÔ¤Q9ew)<ÂpO:cÝEÕø4)¯™·Ës‡‹Ë¯ÇÚ›z7Ó ö ¦…ZØ@˜iût©ë‰+‘Ù?ù”SþPö!“2á“n¬„ž#U <+•ïË=efÖÅ ¶Æ¹˜€¿ G‡ô†Ë^QB’z~  \Xfü‘˜aNc“‹sCÍ6ÖJÕ¤iÂX*LånŸ¢ÛÖD…¡8–[YKK³á ¡gl¥°+½¬ 9U(åü‘ÚÌüÁnß¼X‘CM Îd餸Fbšür’…ãÅDýÛäÐw#:þºFÔ§¾ÑîÈXˆæÒý¥T‘k•߯!²DÞJlr™yl9gbäq˜Û«Û˜?g…<É-!çQ6ã ¬XLïŠ}[Sÿ?Á›RÚ«^Ú×ÀÎúñÀ ÂkbFø ÞŽV@3íþS'¶…¤× É­ÒíLUŒñ‹ ¤¦X5ê|ÌDø[óX¬¨ÔÁ)vÆù´´Ûí,“oçO™è¾ºZ=dìzSo¢oj)tŽS¾Ný Œ¡¯—ã ÌŠêšÿâH¥ÆÇβ«`ô, _U^;Lä¿Wš*LöÅjE!§×‹yвúhéÚ¢ƒÞ²ú—¤ªNãb< . óÞë.Cœ‰¶‘ÙFr.N-‰nE]Î2ëäß—Ú‹fð5E3Èf጖°û¶PÅ_ö Œ> ’QÔ¤ìgƒ,¢Æ ±!F?Áó'_ñëÇL²™¬>‰æD© ÞÀü˜‘8ó¬UcÂHÈúý‚PJŽOü´dÂ4OËdÖWJÛ¢Ã;œ’l®ùÃ|!Jx"u‰’òÌŽDá¿8Þ}€úÃ×èô©†Š úbš6¤iöñG_Ì @À¢Rç—6¹ktdfXkM{l=0 ÕöRKCU#è_êÇÀØŸënÑ÷xzàsç?T¼B"€y¬™[ò Y³‚na%l3ú“F­C8fDþ}¬.·„¼AB›ìQô39›jÑEŒÎª õ+Ú˜áP.zR,€xã¸=¾ý~zëÞlögñä<%ÒßÔ©fÎýSô£Áe3ßœwè…m UUàŠ$€›çÁ|Òn2¼at†R­û¡e0 %£©59Hçµ£Ýúcnk‹“ò2F:SÒ’¥ÂéilS²jâ$[Ì‘£<ÀX³¥ùò„ï<˜õ†[ƒØ—öô–€ ÷â¿"˜ü¨Ù¡nÅœ,Yv´£}‰W¨»ýK ¼JkQ-Iý±Åçð ÖtÖÈË6ÜÚAèšgXô˜Ò>:u›¥ƒÖ 1Vßq Rs;Ú|Ûû+Ò¹ìØ0 ¢ŸœŒdÜ7d®È¯Ú>ÏTB f}ϸQQ^¸v¼=¤ ^2· dè8ûZçàyÚFñÓFK'i…&íØVzq¹‹‡QÏ,{lÉ{vNÀÞçcln¾ ‚®•Ó«)Sfæj»Å¯>ÂiäŒ#+úÔš~ÎÅܸÇÅŸµ—!Æ|ƒ¶í_‹”VÇù!3-b‡úícÔ p=®×QÐ&:b àÕþcs%—¿3ïû‹<ù‚ÔE»NP#M<8Ù‘º_¶Ä2†Ô Ì­«± ž6Ý×74vý_ã9!©'œlC¤±Ø¼H‡šdWhølgØ ~_ˆÿIÂ)POÄvx2âšRyg™åŒ.¥Qƒ*Þ9FUåë4¿4<3qåºà2²¸óÐ i+^ºÝü•[àÔ&–†¢T·TÀÀLêùUšŸß4þfÔuíü°Øßä!Áþ”˜Ø==ó‰ºT× ï–¥ïÛˆGH墨lšÙ+÷t$ôlÏ5g WÓ»Ÿ_ámc2ÝïHÎ4ë<Ë`j„.`´M Gן¼;ŸP±ÄÄ3%õ‹«;Ó…w¯ÂŸZWÆrõ/«ðôÓ(›ÈÕ9ë@ü¡/Ê£ËPâF§Ù²’¯AÃ7hoÄ¡B+_/J\œ¨Ì©÷rÇgªc~þßi T»Ñúƒ8üDÃBZÐ&?"ûQžúêóB«¡ÓѼ¨«t=O0ÑþWÆMo’Ý]›MÃüq§ 13ôèœ K$¯Õ©î)ëeLzÁ3 %ë©qcŠ»Â¥a«6=ÛÈ/æfu¦¡f7¸±„ 32“¸i£æY´vÿ:Ÿaôsï“Ö¡¢g»TÖñçI /h¾Ñ.¶Ò£5Ç Íñê/±Õ“¯ñ!µbšNù¶{ƒPøÏÔáìåSÓ_“–Â.šÛ¿ípôÌß>qZÙ˜uL öfÎrýr­.Ï+i~N²ž‚ƒd ”U)ýé7Á£‰«tG'â¶Áfåÿ)ž¼:uMeˆ·¤Í·ž´ÛÖOQë–4ŠE¶x‡Š‚o1 ´I£ïÃËR÷ü ìçL2ˆ4œª:Ûmam¿JåC˜â“fÕÑ[nEÙÎÌ‚,(ŒÖ,è<Ä4¬òÆX×õ¡o×l¿f67ägüMæèt1aûçy±èÖ&ýs£9ïPrãPÚ(Aõr]t¼ TáR?a7 Z‹OÙ•D£ž.?OOÁnr…Þ¨þ»ôì&öÏöÅ  ‚íû¿”+û9h(§kë·œ&‚‚³¡ôÉk<òcoÅsòðæöê(ÎHíÓ ¾mO¸ÚI@ƒh$Y…ÇöHmÉ@°ƒNé ±Á“3y²n +?r¾&@_öâ¥_²Í{u¢còF¡Q³w‘=ªíp_Àüïv”škîØZŽn`ÆÑö«ˆò\Z®Ð—nhX&l­×V´,·Î÷ίrdÐy¹1Bû”¾ÂÅO›ji ³+ †ÒŠI=û'lib@¿K¦ð5f?ìqÿëáø 3¯ï6®Šì£]×™nÈ;‹GUžKÖ1g(è¸~GàºÔ)s&º¼ e®cÃ{¨rV©€9×­a\.•Òpe›ñj^IÕKõ.Bý !ŠÜ›‚e×[ÀCξð‚ÜÌ’öAG‰í$%¹Ìkª%œ 鯶ÂÎû•a…ÞüÐoI;bíN³esÑdKéVË_íò>£ýh¹8qg’SbuÆ&¢:ÛV߈G¤Ž©È|IF6Ï—™~L@GHYЖ+a*AE‰š¶ÑzMùq"Œ×w]ã!+©–,ä7°tJ4»¤ÉUÎ\€öó·J ó_¯øÙ¿ƒÈß¹º©ÇLûWPwí»¼ÁJœ¨S@þ*8!Þ'4I¸7ÕÝn1,”_1$f¬1Ši›~P‡ †‚ :ë>A/ nE1N;~PÇRçŸÈ:ó5­0 v+¸ÐpRvB¾ÔoTfë_:Hb| ø‰øP†imÍM9#dðô%“Ÿ“ 8k³R`³RÿÍ£Âòó¯´:4¼mfúp×À5hàÌ!sŽ?:Ï3ÿ% i¿¯Jâ6tñpb~-Q¤–3Àz4¤fw¢Md¤«Óéam¦ò‡“ÖdS) S?ÊO‹9£X^t »zUÍ lÆ¢¨-{E›õk`¾®è~!9/|ÎŒDYn‰ùDyfÖÙÖŒ«ÏDºrßYC}.,g÷V¦ú˜>üu±2á®*òšçx/|éªS$žçf.è6‹Q‰™të)ºÖŽšq®|p]FÒlúÖ“öl×GuU¤Cê[´ß|¥Fo bû¸5Å8÷Å7~»åˆGKör{“J@ɨ?·«€’—$kú"ªChi€!¾ècŸ¡¤ÙCs⚎èѼÏM³nG“GÒ9ÞÄú"¿ ó§3ÉÀ¤f‰äû€üðÍÛ¥Ô Èü$ôzÕ2Œˆ d¯¤-ò¾%_˜-ñO–¿t8<³°#@Ú½ÉnÓNǘd‚Iõ#³Ï<rx1‚6¾:=P)Ê·18¯Í‡ÒI(}š¾*Ò’°â üߦ¦ë~‡+©î¤“òÃîMÅ¥yFǹ.îwª]+–WKÒáZÃé4³ã²UÈGAMtYJâi»ïÚ¾ád±c49%±‰ZâÀ]L.Ö¶ÏT+HIÜÀn$ÔýVRÒ½½»ýdŸTtêeù“2¯ÁìýûèÃßÓ)cJlyz«º¦¯ÿPßëËoo¶Ù+Qq‰ÎzƒŒqÚPaÁºÊê t£ì"ñíy•{5ò*-CÀC Þ“Œ%¤F\a ‡Ò›ŽË¢¯€\Ð߯T‰¹Ä l¾…ÕÒîЙ½/$\}Dö¾™¯ª™ëSÛQá7´*f­kbJN».ıB¢¨x¨ª›9ÌûžZ4ðjñœ´;“kÉj“¯ÌÕ«òYáæ'g^ùžoÞö{ÃiUC¢Фµ@Rh%ŠÌE‘TZDk0,RêÛ0¶Ä% Œ÷K61%Ò]tµ;~Wf79UÆk!©ÓïP:^ì–»Î;`Swk®LLWú²ÖmwXGîLÜl Y«á¿4‚=sæF¼;ÇN UCwç3—âÿïÝH^J·Kª®Ÿé¡Ò/KÖt#Acr€LCÌ(³ÿe>3ÔæÁ¿š‚Šb—Æ£JDF¥j3ûŸDCŽüDY†‰Š”,2l &µ²÷SÒROt#õ.ºßIÕâð'}ýU/ù†bûº/.s9âŽÕ÷&ÆÙn»Bào²<¹áHÈ>é…ç-iVV™7èÒîÍz0eëƒÜº÷d6fcòw€7.g ærLHÝš(.GN¼„p†¥qˆRÝvX÷Þèwµ¢Ë¥tg ¤|È$>wv]uwR²éÝþøò·}•Jò¬bèÖk“ôt°V„1¿ieÂïX©è†Ž.œ ¾GßݥΚri*Úß­–Ó¯/¤ dÖm·{li½©‚êhÇ8RT—€£³K³‚„Šyt« °ÞƒŽñrâÍÖ–Ñj¥òÏÉ„X Vß"±ô‡"Hº–z«Æ€}Ÿ!nþ?äºÎgzíüÈ®-Ÿ‡w‘C8"› Pœ¢[ÉXìÜŽÖ7ÚØKò T¬þó5§ý¶ï‹ÖÃÐÆD†:Î9k c¿¸¹¬%6{ÇÿŠž­_³åqÍž§Cs/' 9æ!€æGESµì«B~~ u‡ìØ—bw*Aóù/(Da67IXVC籉 Ù@aÔÜGc!]¹à‰0és•*㣤MÆiu5ë¶Ïχ-|Ä8ËsâXÚu|ó±ÍÔÀDÔ,&ëÆ¦Y%<Ò¨ÊcÆ”$×ÌóíøIЧL¦Áÿ[×|ÃØØ+”%HÄqåy%GùÛz­ðmáfg~&®×~>,wuä×9òŸVRÊcØZógi®Í6úö@Ë,Ÿ¼·|•íÆ­:ëåÄåÛ®aKL±Dß)€8‘9Í«-a+‰‰ÿû$…‡[L/ÁÓ«¥'žÎ‹¤õ>-ZE^“Hà !Îïºþ-DÀtå‘5awDÃd¡j%÷•‰“ûçhq„:{ö¤döH.2˜†G#¶A‡ÇcÐÝx_Ý[‚¹›Q¾”çÎ"ÎÜàÉ,^Ú°‘‘Çß2âC…‘{ª.<æÝGcCE~/žh4ª‘oh齈ÑN ¨Ìc :š»7œ¬sG-à)~0ÄӬ׸˜tÐI‚ŸÑK"­¿tž É3ßN»2œ{6Þ¾^ûҼ+ÛáËË,íþùŽ«ç_ŒüÂPwM !fGQéˆñ¼(êjX4QâXGŠ3–ÄêG y‚¡IÄãYñd½õýºÀï³Ç p…mÍ1µm]iÒ.±„X­ ÕÑXs°”åÂè?P7|xNò¾wKœ_@ÀMþÖ 1€M^eãó¾\DUì¡$œˆÉ ÕµÔ@Žk<å\ëOä$c–ˆ“IÚ©Æ!~×ñè‘y/Bµ“•2ù-g\—>’ôc:‡¹ÝCê@?‘kbFÛ2â4Ô| v€YÚTTû ]7±ª§.Gßœ ³xØJ¡c¨‘ ™HeÔ_¯|Ç;-}u‡²LP†¦³-úÓ9Xþ V]í²ªa}î½þß"fp¥Ã’[~pTUªC´ ÍÆÿÕK<¬zó·{–Ôf¼Í‰Ò=…ûS„ýšl¿ÖU°€2URA0 zw_aï‘O Ûx€ãå–¦ú«^-+—ÛårGAOŒ Å@òîûmµÓ‘÷îqûg¤€Ø•uè¥Ô©AE†F5I÷²úY6ŽØq_AÔý ¥‡ŽÔâ‡.¦hó6ÿÌ’üx5p}Šyiš>æ4áˆçARþZÔ’•þ¦O)œ¶ôv¬öq(tô'PÅÝ£¬€€Büž3¥yw/×EE¹cî±öÐInè¯4m‡¶Œy•ÅúIÇÂaB#ñ¢\¨«^ï%œw‚jc‰2>4*†ÓuðéBfToT¿qª¨².]‚‡ €e¾XïrQú›-=ã1Ý ¹,*8-ôù²n̰…Ñoæ_“$¸°ƒ¾ìYªHüÖAä+‘g¨LÛ‡Œ'G€ø· ðç¡ý¥åöG¢+ye5ghhÌi°£gEGÀNMsÔ–\çŠÛÿvÀÅ»Þz ÐW¹vHë…ú_%{äJºrY x7;²J+?ó*Z鋵ÅoKð.z}>ÜSk1/¿' ÂÓÄÚI¾­üýÙWº^®p°û‘Ÿ\»é:A¼ÖÞŽ\ƒ'>¿#% B»Md€9O²)S#R•´‚«Å¿ÈUçfÚaé9¢®“Q€”xeíF>naÑÛpèÄ’ÖŠ˜S`w±=M3˜`³Ý¢T⯄¡½ì¸"‡UÜ9E}Üû¾OhNþêRÄí¿zžjqbÑ8Ë…?É’O[_ÓQ0ìò)*cügDcù™F-?¨×ƒ˜ƒP¢Ž‚¶…¬ë²«»…õµ%‹öøÉ`Äí).Sešþ:­ zTð¯ƒ\¹Nô£I +ͦ°»› KN˜§ ð“¡Yòn9ŒMW5ǰÇkè5¼;O+’_]ôÑGŠSµF©f¾”<˜9L4¶ÄÏDjaE5Na7~}>û¸˜•½:°{Ûj%‰gz.í¦–˜áˆB ÝƒN”4ª«oˇÿ”¿î&žôiÞàZ!}Ý™âŸMÑ×NwA«îLHu‡¦¡A¸?ÊÖ ƒŽÇ£§#UæIu‚SICI„Œk«gC8ÊNâOÏñ³@&‘`ƒ¤º´äÞ!òļ­b‰ºcêSÙ“gªâ³e¤ŽkÏ:þé–¤ycE²ÏÕË2T«C^듆Xf¤£²bYÅlçØ!‰¡Í÷Í Q%Û…jö5¯'¡W’®›@O½( I^üØ?)_ÝþíoàT V$åÚÏ—hÊ“€±c5KuNU‚XÀœ¡ ×KSì),”ö°{UʂΪ¸WKí¥ø)_¾¯-RÞ\èú+òÃV Kï­²…³½ôǼÞ0˜âŠÍŒÖ:m·\‡”6¦æßÏ!ùEgMQQ塹ô€î¤gTô`Â{Í8Óä‚ü3ŸŠ4¡ôàã|zÙ‡#‡»¯é|¡»ÕüfU–M««<1:½çzf‘· Šl]™ÿ{eéé]E¹¾—Ê"ôî±t`uqDÒy_·ëšp¬ÏÒÝÞoƒô‡õÙ¼÷¾  sßKë°`‰prYóÚÑãBy¸ª&$e#ÍóÀgòBÔzžIõæÈåc‚b£™Ù±ß8}ØÈÀQ"Z3G¾çŒÇ­„΢ùba]^•i´{>ÿÍa¯¼Q?’¶Ú~ ¬(ˆ[žÐÍ{–Cð¥uÞ>0 s¡åí×·¢§¢SsŸ)——1B_¸¯6 o f47XàÐ €¾Š)lY´õ$GÜ}H:ít][<¸Ì gw§B®š‹Ñ].„ –Ìzlº»5ÝÔŒ?Øì™Ë†è‰b˜ßa»kwŸ2”±ŒŽ)MI¯¿±žRû«ˆç { ¼ÖÒ ÆÇTÁ/¼q¨„½@ì/OÿeÏ6æŽ$çq)¬Ztæ#ñ=¸ úuÓd}¾ÖEêÉ’}k… ª4’f‹B ÿâw™Ö´ŒIr_AZµœÝ}Ã|”Sq”ŒÅ©àŠ-f´•d$m]¨ÜòQ!”ûÅÃûëh,ôv„‚Ì𵔟[Àé…ܶèÛŽñ5o;@Dw,yÉÇ+"4Ÿå0ªì5lM‡‹•KJH—þ5HÅ’‡ÍíÓVcRuØf㸖=`<+â߈‡ €S_}ÔQEàžèOá ìzé‘*Á)R cae87 *T«F2ÆìÌc£xeÌW[—ÝÜc:èÌ%·tQò,„õÓ7Æ‹ü«N­ÍiÖ—"*3妙²øô&þbýøLª|…T—ˆ8B å^²Ø_ˆF»^ÊEû9Òø#°l¡>z©ýг£Žy†wu;=I]¤*øu&w®'0i}n¥`Y…}¶\Àh‘;S;¨Yw¢÷ŠX–Ñ2åjIâ›Á‡öÐdÖ”|¤—ͺ96sumõ˜ô%¡H÷,1ÓNß *ß~Ú-½=Uún¶9?‡³ÚƒJNά p£ã'á=%ýLÈMæÄˆÄ-?õJ.eƒ?FJ¥Ëå »ʓ˯ék« %ÞK4Ͻ+ª!ì}¸¥Pö/Ï$±ÂÓt#¢—ûÁkí]#Æ4évÔÞgª,ýÓÒôVdT*&7í)ýåÐcÛwe½h[7‰–%ì!WfW½Ï³à¯Û{¾Â'ìßm!$ñ³À˜l±*å¿ÞÙ´NŸM‚DÉŸòpÊøcÞ¢[Ö &‘g%ùÍVæ¢4Oƪc$ߢҞoX¶}É(.¨3z9¡»M… f|€;Ù—Û+ÓÊT$P¼çûÊé˜N>”©úAhõUæ7Hxßññìé~ ãzöÖ‡Ù©µw®ñfgÔmI륇–rÙé½Óƒq»í8%1mÿeýù÷i4'@¦ ™|k¹"éTݔʩÅ2ÙØÚQýövæÄ%†ÒfÚâíµr}íP—–§ßˆá|3lšªQní¾›1 FlÌiP[FcÕFÏq»4ŒiòtqªT†¬ Û'Œsjiâ5Ñ9xJ­ˆ’/6 u¶ÍžÒ¼mÊP:gSf99ÖËŸËê ìwÑ‘ý­(ïö¨Þ)o-õVÛDŽhî¨{Ö ˆú¶ ÔDXû·´¸ÄM]„µs}BÜüþgš®ü);÷ÍŽ¢•dßjWO™ %uM¦m«hR<.iÖ/oçÖrÜJño›ÎWX=ó-.Ô8E]aYzJyÍä7p$ߢÿéá8Ø'öìÄ×2°ÑÁîZú1bš¤k%Pã ‚éÒÍ>ï0çEÕßHT—´GSÃT°{}{vC㱎X[Y¶ù2À¹,Ù_'*ö¬|÷itRO“BˆÂ¦òD†Ë° %DcÃø7ŠãHöØßÿiìHHÚ›¨ñdY8€D.ÒZÿþ ÒO‰Ÿ×4×[/¬™…©mÑß´¼:Ü|qÒŠ¿)Yø§ôDWô”³ôüâä…øÀß•€c›ÿtŽk;ÎµÏ §Ÿ©ùr‡žŒeÜZ¤Œ˜PßYa¬ ¸µ­£¿•BÐ|,ƒ¯ø¹5pzÐHÉ6ûÛtåcz0CŠ'í5àØBKñÆ9"3Ẳˆ®0…¢X¢³í] YÄ7ËäÔ të”…ïdqEpßÛÆ úåìõ-›>Â_‹Z&`3Ò¦0¯­KÊ&ffclÕiNùGVß &}¥V…Zsæ›ü)c¨˜~HÒjí¬80µpB`/5˜0éÇoOÐ/¬ïMy¿ÝŸ#é(t>ç¢{y”Yâqñ“\Ä9AuÛ§âeâ8®ƒã{0æí‚Ö»Yœ${+f94É g™“Hëª+mõ¡gu=72 ä?šYm„I°¾ç8m½ŒtO7ã¹/°ùª +hñP8e…ùå×D`¾ãzvÐQÿ=B¯ùV<>öÞ Ž€µÅ†Ìæ £×:i°FÿÓ–El3M2gâЃ6usö?פO™EHBÆqM;,uܶ|ÚU¤µã7\P¿GB½÷•À?Ñå÷·RH`àƒ@½Wg~c×VŠ¥œ'›ö³J¤Á0 6š{¢ÿaLöNž¼Î€j9t+IÍÙÉ“°9ìÐX%˜^©.ĸ˜;Š>+BF.Øt1Û½'XË«H4: N/Ó(TK!WÊꙕxÜ1H Îhý8èÔçTjÚ½²›W ÉY,Õ=Ê¿icv  ´Ä- k#FÃiŠT: ³á Óƒè8¸1Ò¾›-úÓ(¸Ì˜Q€B’UÁÅXÎŒwCŸÇf²þÒÑß„ƒqÉÑ€õøë?¯ÜçC±µ4ù¤€> ÁÂS6ÀÄ:¸Ìpäî¿‹Þ>Òq9ü>Ü[yÏ>Óo…GêucŒßP®Ì±ä N±ÐÆõù"ß-ƒ ÌN9ßÑ4 iý¤‹$+*<Ùàì¸NÑf|~®%KÇ¥œi$FPr$QÄj||0ÕùÊ®&ËKʼn1‡{§HB.âë Cpùˆ2(LË@UàÛ²J>ðQ›«‚QÍ17Ö;/) r¦3ÐÖ5ß@'¨§dÀòFЪá½Â 飈ÇOK¼°Üð¤ígÉøÇ,„ZÑ3Ÿþ Ÿß¬cB`Œ+ÇW“•4¹)_3{‘ˆ´ê‘•sB¬{jZëâÃYÃ7RDtnïÌá¸^ÖŽI‹Ç4K$ÄÅIãhѱ†˜œŠÐh­¶å¤¶~²0o‰œzÕ_¼˜s¶ÌÑ('*VH^Ì)£`Oíw⤲ˆÄ¯V³ zÆû´hé¹AÌ…Ö´S“rŠØdâ^4-Âñwé¿ X ´lÐ:¿U0â"ÿd üëô`rXñŸÖê¶À‘­‹”°ìaGŒuK&åþ<¢ÙUÞ”Qš!û¯³‡wú u ¶s”·©Ñ h?EDY¹‹§°’Rd¡¥²7ºq r¦\—:yl½-ØÅØ€®ËcXMŠT¡;Å0C*nféŸù†ˆk”â¤=hÆ¿“ŽVv Æý픚|÷=t;¬ªSA{xcq¯€×ö•ùá ¬n Þª]Ëc.ïÊó$šrlzÄÚìFtþŒÿ–èÔøÿ}é|žôßQ¬TŽÙ°S× cè4ÛíУÖ~$kÂå¤.XÐg\K› LùÚÓ!fœŽ|GÙ™eªmƒd“ Í…UmîÌ$bº 2 5^ì.ÂY•³}Ajðs©4ÝÐãÓê*è™%  ?ÔaDZ}™ù^Q®í‚ú‡Ó­ÊKšÂªÙ÷\„¸¯Sì¶T#^™ ’!+·zšA?€ ©gÝïø¼^ú×§a8¥û<§^õ|8p×Ã]”â+é8Ò(`B>+˜{I#_äæ ¾¯ 3åY\xrŒf÷ûj£±ľz„à§ß2‰;iËtW.¸Ä£hêRM<Áb)4?â£ÍÆ(}H?„êÁtÆùeH¿ð0PBÞ¯âkmÂ6N0B„n)€e'˜‡wßµC1äD©Z±þfÓüeÓ-Ét)(ðbòW”së*•úd (ý·£Þ¡qDlæ ·îä•ô&0÷SB”¥^¢zF&ýá5gCòUŒ§ôð>puÕrh»ÂÿÙäx.ʸúìR¨p*Ùpg.ò29Ølcu¤…ïLó´o:i Ôì€7:wžê±A*‰"3ÍLi0¼tÓ¸rh«zŠf}æ—M ‚„r¹a7HãVB> Sÿî`ıۥ釭KääÖ­ú [Ü®bdÓ>czÄO•ÁœX Ì;3&§çŒ iÕŸ*#ï#5„- '-Å–ùa¾Ý— #åF_èâ/C»={{‚?ý€ž ˆÕJ-©Ð|jòvú¼6Џx­¦!´[´vø@ôþcšMq&¦X¦úéâÍzÎ=~½[lûï|»¥‡RJb¿ûF²÷Þx´ g†Eßd°«Æ4…ßÊ”½MHbÛj0ŒˆøԸźÔÀäïS3°i_´Í‹–¼'÷ƒaOs[­¬jݾg‘"MŒš¯ˆß¾…„ú<±&L¶)ëâv¹ð̪«&ME¡' gÃ# !"Œœ.L×~€» 9š$Y¬Þ›G‡`DYë€"¹YÙRY“³8ºi“—Џ nž\â®ÄTv™ŽoS”º”[ccû¡ËÒ¤ ä€)Ö oî!5Û‘lÞ÷m0Æ~=úv¡‰8cÕ•‘¥H[}4 §àÔÝZ”RCÁÚ¡q>m•š¡PMŽVVL›Rª~Š y „¶ÿ`t>äÐ3e îôa¡-HÄ®ªFòò˜—¸b¹wˆòrÒxÇGdýx —dîëqtƒÅ—T”‘n´Rhu±ˆÍèëUødž¦‰Q'e…ŸÇ#­ºå× x´v5-|¿öKåIóˆYY‚:€_- @!lc+[™oÞË X'¿™¤i­Ç†ŠÀfü™¼Ë2ß'ÝÖËbª*B$†õ1oìÈ YEŠQ1 ©#³0`)XÝ”&ÄGÔUÊöü*lwšt»Þ@«~¶bçÄi‚"ãâ Ëh™ø,ˆèvIåIGÕ7)æÕr'ŽÚ` otEÜÝÑjâ6¦ð+{“b¡ïŸ…îªHÎÜoqÊS=}¦òšáØ/®}$Áâ¡XU$ÍçÄŒk"‚œ¥ôƒ¡;tž©‰ë!†hU*;a¢`‰Â:Ú)iFûìÞìɃÅh~mdÖëD“>Ë­–‘Sl?L7ç ööç'#sæPpe_~v«n Ÿê¡ÓƒYò\fKµÌú’ˆhD^RLwÖÕ”l³›GìQÕÝ-¹jî"|£õñ¢àL·vÆšs$Žõ¨MRɈ #ôׇöŠ$™/ÐFNZÀü!…¼Ôì㻇^g;ØQ']oZ ÷Œ¯Q6B8AÍ0Y—r˜>ŸÍóÝÆGß‚‰E(šf¼¬j=â1éKvàxžPýãñ¯Aà´U;Ð×H¸¤ ¸2¹–¥çÆË t¬Ñ€i-ë \®2ˆ9E Ä´ŒpŒ$AÅ–ÐgúKk;XgzD5¤€­0UÅGc`Y44ŠŠúþà 4Ó¯X6–Š…QQgÊ]…niåßUÀ{)%䨈 Ÿ”Îj.LAq¾Ý±e“ gÉ  wێϤ…Ò(«ñvB¹÷Í€qöË…h ‹0§jÚƒÝPflŒ~º ìY$˜Öœ€=Æ5MõåÚ0‚£Êõ¹Jrã<“«œÕª5o<ÿì•ûf)²ß®g=T~ fJÿPjZ´ý…FÊÆCJ³8k]xÑI&—™SÉÇ}Ö×2ezØÿG-ýÎÇwO"w€w“çÅ3ˆgcAÈþQd02Ô1óÆëÿc&ÏE¤Œà¸ð²üÀ'"kûl&`­r]¶…hMoš+†îöÖ>beÝA3œy¡òÝù…öÃëo&€üº }NµòŠa"Ô,{žy¥±ˆK=|ˆæG6ƒn¤}ã¿jÑžøù¹+zÚïõw°ã ¨´Ç±sBf.)þì[*6…,'7¾Òâèà ¢üÜ•­Î4Ü ñ±…ÎþwR¼A0‹¸ž‚°dxÙºMÏÚ³ˆúÏ…áA^ŸG)í'~Ö¢a”¥Œ|ê¯;¤_$SÞÔC‡kaQŸ²ÎgT©V¥š#]1zvVÓ¡Œíiß#€•ŽNž’t<ÝÞ~Ù ñ€Žò)ê£É­Ê;ƒ7»Wö°«‡7‰˜0žk‡dVõþ§ÔXÖ}ìªëEÕELÃŽŒÑàê½uˆ¥} O󂬔¹R™ð$úžHàpnÜ%!ˆíJê+ã¡êŽÈöÍBÏŽ¤“ ÊÎ^ËŠK=•ba5 õC_i¿sÝ ¢f#ÖV•B颤å êæÕ£«&jPßvº ìÄ3 JH¬c5êU¬óW Ö”{#e ¹ôür]¹×îŽä´U$Ôê× ‡xK[¦3ö₾dÄS¤xÄCâ-é*ojÏT*›XQ†L»ÛdŒ9€–ÉNá°grƒ‹Z2Ø¥£¾îµ…êð ì0´5éé‡Ö‘¥q>GEVÿ£w»EG“sX€ÿl'°Ž<@ÔÆod“-½¸®nÓ¦ˆH´BBz}«uÃn-€WôùwÕ{/,ð¿xGRn+Œj7ôœV³±÷|Ÿ³ˆo¶–gûy;AŒ,K|iã%¹ëF¥D |ßEZŪ=2½ÈOÑÕÝ}ú‰?¨×úÜØ)Å­ŒóC÷È£>p³§6 cùᡝŠ;j,l:*akJ›Ù˜Pãì+¾ @(ÄœwHÉCsÝùºM ¢ëœ]à}- â@P¹!žÕ[ xÒ*ÉèÇ”ð˜ÕŽlúw#m£NÃÎòTŽhÝpûýê¡X! òõÄäT~ÝÿfÞ3ø¼QÔ4íâ-h˜`Hz!•cKÚ½+þ3BÒ…¡{ _XC°Ãr6aÔŒfËÇ ÒxxFúJ³û¯…Ø©ëW ºìŽßÁ.v¯PÛ&¹7ËÂrïmbàÉu‰çÑÛ '“¡ ù³@0ï]ίi_·ãÓØèÏ« \T°/ý¬*åæ0y%<<ιY‚™§[â˜Yù!ÃÛÖJ‰à_øüï¼&UrPu-Íê–ÎñdÎÜlÀ­…µò7Éá†dšÆ%TÇÿ&ßc »D—#ž ÐT oƒÀ”í \ÙiC;!ê<Ù(gŽ,ó­ECèr'»MV jjõØë~â°ºÕdh¤¬gÒ%>LD/( Õö¿ “Cû½Mé"îç3€%Óz•ìÞoŸG<{§(Û6Ü+}í˜XAhŠÖæª(OY¹aB ô¥‹ùXZŠ NáòZZ3)‡nò§ß)÷cï:ñÑS٠š ¥+»)P©SÊÄ ‰CQ%_†‰² ѲNŠÃ7wÚ† Ñ»w±%/×7b‚¯‚úY¡>=\H)G×½‚ÜdjŽ+N{¹jµLns¤ÍÍ“#Ä}Œëšû«í:v¾Ù‚3PÛ¦øÿ϶c:7q‹EÍÑIVõrk ¦îu“Öð>º‰P-UÞ÷¤?Í ™—Â|£)ÂJ"%µ¾^Õ{­c¦ÃÆAãØ°ÇãÍ4²r—‚"ò—Ñ;ñBÏØ‘Ä‚¥g ±ÐM” d«ÅF¹¸¯H~ùÐ)ˆd0Brj¯{Ê„ʇףXpˆvۻƥ­–/¡—GÕ `—[Þ¤€+WÿáWVÙï!þºœ_¢ÁÊú¦½ö4x–^C¬£Ð~ç(QK•,Åþ”>]ógõÚ¸V¶p´q+§Ãb±AIóº­yµº¿.†,Ê×\  }.‹ªçœ©SºuþÉ|O@ÇÕ騄­rr “Ë}}y©—½ûZ>Æ[¸âFÑW‰¶vÉ‘*€-m1i: -ñÌ®)#xBUÕgôF\Œc%ªvû7¤·N öášй’¼)®ìÓr&çôê7u€SˆÊƒ'§4 Ö6'Ðe yøÞ­„†Š4H­æEC¥²õ£N”ýddªºƒ|G|–“N‡Ó¬d´¡¦lêÿ6cÑýÓÐO㣗-ëô帳jrtëÚ ²P·l‡¸ø=D\ Ë$0¤>-3ˆ â‘Áhy‰îkSô)òƒÿ½± í½ç3lÅ.Â({cX‡˜sRFÔñÒÎaòµÊöÕÐtˆ÷H“p‘0Dh´9âF•§n]쇡ó$½=-%QªX{7–+Rø-ÌM1”Îq Z›Ð˜F|H/?®V ŽS†u°\EK ö¥Õ¶uGuRyòÛ §‡Ov‰BˆíäÏ‹ñæåDwCGÊD¶Ÿð¹Q®®ÿ:ÞèBÜl·úVW&.%ä¿ÈW9*ïj14” :¿Õ!ªäUÔô5Ø‹Œ´=)S&å¸'ÓôF­}Áå)êòêÔ;G/Ôé$dè×qð¹ŸùXR„ªÐo´rë¶QÛ7𫪗Yß!ã 6½Ü'Aÿg["ÑÚ}Ê ÛbzQTIuû‡>Í[;+DÒOO2tß,À\ä‰ÓW\]Sµ¨ÚÍö¸yÛ{õ\)k†ƒ_WI;kÌÊŽQì­$ãOåZ‰^¢~ã†êŠCô°™>¥ƒг¤z“%öñx€?!î°þV %Åo󾚟ªbÇN'²]Þœµ«f!÷ô ˆ„2}òËÇ8cý¬Äâ™3,ŽÉ‡“Gr‰EB{#ùÁ—3”Zá!OÑ…¢Ð*ëßìoE#Ê›¡‘ù ðýÝ»ŽŽµ¯¡)9Ÿô3).»µÈUFH¶‘)+Ýû^2^—±Û ¶½‹Ô>`ˆ°å–c‘ãxvØÌ…·¾ýO—©¡“ñŸèUì”™ÆD`Q>À›csà~@OcüÏ“Šˆ( ÍK˜ †``ï鸒&ÀñY-ê/öŸ6µžÍérµùJ<Þ½ð‹óÝ%yÌ‚3Ž'n >9ÏÎ>ÉÍÊ̇X}S½5]…GØÏM¥-~!ŠÈÔÎNšrïOÇÒK8T½!|ØÍße(ñ©zÒ*Ý·ßtEê¾xºÜ»ñד’ÄeÉb<‘‘º\&Û×é-FHù©³Þ¼«‹C!ŸÈr2 63ðê+)ë¾­RrÛ±Æ'ùÎ=_ š)‚Åà•ž„^³ô‡° »$×Ïëc褓‡š¶>*},[)²\ÛÇ¡/D6Ôêšn£C/sq^—>“úC U¦r]#nrM^\‘B:jöã±*üõ‚Çñ™–!Ø9ã-§éE¼#‹…8|Èu¬Šó5±›ÿöa­¬È ·m“‚{¯ü5Iã51]š}‘†€òe,; ûñZ†Ȉ|WñPïEM±ýp9¥ñd1Nzõ2º´ïÊZµæ° wÖºéÖåzŠQÿœ¡v­¡åΔÒf~æÅš|dDeakÂø¾Ú5á¶. AsöIÏȆ¨ó†Y±iíÆžé©•êú•7Ôሀ&ŸAÛÇUT-\ËêösSÓdƒØËÌÉØ0jIø&Bm˜ƒŠmøcŒòSbyX¡*vZmš‹/·[³SlMi‡q ú¬„oÍ$‰„Z`©UÂðûˆ[s¹ëíúøÛ籸˜¸ÍA©6`D!É X{•̳bhñÆä¥Ç9ͬdx­Â—âõ—e{L¯¥2&oÒ²! БûŒÎ¹p) åäP1^®HÉ^È‘³•’f.›Á mb5÷_3̶Q• «>PqºíÓ¾¯Ì&Úðï–$=¾‰¿8+Sa¶&fT•Èã‘ÿX>â”nîyî1C³z|=ÿ™Z³£Ë•üaÁ&Àj© ­„µý.$¬(ª8—ìÊáÕRDæ`JóIlÌOÖ±ýÑVu·âíO×] ïZ°CƒÆ7÷­ž&l ÅO -kxÈ)Ï›µâ¡Â7Fú®Ê*#²ÏòȹÅm’YyÕÖ$œ³O+Ôû7±BֲϽ*¦Ôn’H~Q³Äè݃‘µª_]]Èà8£g^Û¯"c.*±¦e‰Jhg-¦$з% …§jÅj´í¢TÖüàå‚^ÊgA3‹‡³TdÚ­UqáR²¥‚¨gª’->êÞ …½cƒB{¾yýéM@K³Íác’´è™e-«×ìD(¦/b^‚wLé,xã½l„Aù¼K}ç8ÐsÖ%ñp«0ªþÌ›ñy°¦ÛeH•ÁÓd ç‰/!R€L!å×gÔÌ ö›è8D5X‘šá@H¼@ >C>855f'ù$+±ÞÙ@ìŸlq¢¶ßô¶ëD³Œ%ÑÑ/{KRì~K$Š«È¡s§Ù¯ tm¨Å  ÜØï¤Öaí*稀¥ -1׌çž—äÙä¥tºE7ÞÈqŠÞ¬SZ§Ù_™ëøddÓKx)$Þ£ÿDë6E¼[8Ú}2sQ4)¯WÎF5ÎXèð´Hƒ$»,˜Ê@ p Ó¿·`¯Ãám3}Iˆhys˜µð±í“h[‘¦)üÞA2GBM¬‘Ò…Oët»ãކp[¦ö'×ç®>·øúf¡H‘ì‹êÒ]Œ2W2az…p{7B¸jyÅê#:ˆ•FŸ¹¡Š„ËAÑ|·Dèk&ˆv\×2bç2j£é$¤¥’…;¹óx³ø?ž$w^‰GÉóô:h7$Yõß·¢‚äÿ¨øィà‰ƒÜENøó•C©à½¥îc¸D·¸åÍXÚ|¡óÓmkù“x:Dªø·gç 9´‘ÒOORþQX+qâ"Ç¿Vå5þÌk€s3îöŸ ±È¬­<åל!S…v0 àW˘ö],5‹—3?7O ¶Þ–) ¦^ïÜCgÿdÁޝT0€( ƈcþyª§bd:¦š#ad›n6øÑô5M™ãs/rHºNfn(å  ñSØçåÑ2¾J‹Dlœ‘@Óîht`'¾(:hëökkQ˜æöÙ1s¼âí®º‘NšÞ€±¶âa]ÍM`ri¨ß]¶€<ÑGWÊ'1 |âºÞ@º mfú ‰§ÖÁ·JL–…ɵ…ù§÷¡PWÕÓ’)oqƒx”W5 L¼?Žù8ýóå²pú‚hH­=—š"Í]Q¼¦ŠikßDϳ/l[m|`N€µëÕ"’ IâÑ®dd¿.Òõ°È߈‹$vø™f›¡°UF32"‘ôÇøÅVzˆ1Í-Ó™s¥Ñ¸ô›à×täãTþK`<ÊÁm¸ÿa‹¨5„øylxÊ’™¥bè?kMïE×baȉöü0󟄈sLíÆ˜â–‡.ÁpG]‡JhpùáS.W䯖iM Àp€¬®Œþ˜mˆ±«);U|‡®")Uýq6LÜ)d`œ)~Ã6 +7?Iƒd²BVÁ6¸Þ}ÜÆ5%ò)½ø’£f­KGQËN„¦FÊhŸ.ó¢pT¨¦0Lh-nО[‡B±I“aôaï#Ð/<˜¥†2‘h¹¼ ¼fþ  à5áúÎ7GH.)Jöf†löå˜!JîÀšŸ7䇿Ò#ñ~©†ͳËo2`^CÏ“e{Bsó"*Íel‚tháŠSŒçg£ÎŸÌu8¹;Þóo8h0…-ƒT?40®ñVé–Q_íÚ,`¾Fç÷r³Åѯø"Û¥GºïHãœ@§}ßÛϧRÉÿRÖíÔ(%˫Ŏ<»ìÚ*r©ƒßD‹"—<’}=7Q¦*yù–3<5¼\e¦ú±,í•àÕ 6ÉݼÀï#l–hÞI-È ‰á_}'ð5c¡i Tb|0ݺ ‡’ÊvW£=Ùék¨i*²Åô¹ëuIt¿ÓëQóÚ“™WÕ}‚ˆ‘›ÀiK¡—g:·W̆  ™3Üú—óý?fpÐ<»Œâ³e³úIçƒ\r—fR³&fÌApy|²îá½HAŸýš’|Ö çšê`TI|òIÐT±p¹çY\žßFë2PƒrÝW#û°e"Y¡åv©ãÞ Ò¨†öõ ymðTß|½Ú­yø¡»É$´ê‰@üú"åb»´Ôj ƒ¶íúë±-ƨLaâjÔ¬†tIÉtêÑ*|`±}äXi’€C¤Ҽб'¹ÇV­$(¸¼uoÑ@ôx¥ØÞ¼†øygúã`àh‘سHj`}ø7À6×-…Ez3”ÖàØöm³­1Ùª·Ôèþ‚š<ÀÞÐ)imj Ùë®ïÏ’n)èà .©=Í%‡l) ñÅWœ¶…åø‘“p9Ôá ©‰öeŒ× ´… cL/M>Ó!‡ä®Oˆ (ú«ë¯)LÑåyÅðÖÆïhÅW÷N;y o,‹>ïig•; ¹BÕq ”$6ºiƒ— Biÿ0~ Ç‹ LŠòvm˜¥Jªas¡®» ²[C‰<þåÿ®*?Ää®]–ÅQý‘XtÛÃJ÷ œÑÚÀAª¼WÒûvöH~5%:ûjÙ÷qRvý°Ö8pž\‰¨¦ÎÏòž“Í-°;Xs‡ïelÒó”3Žw ô'ï­àÐ#Ç)9j¿OȬW;›-nšèbõ ªw¢Ÿ¡#|œ&.ÚUŽß^Ï_¡‘ïæŠìÇüi:¯·2àôù ÆÛÜÆî¿Š–‘é®o‹’,à2©½l3Ò?É”`Ô^ÿßþ»0»óm«¯vN–ÕŠùdÓ:ý&’ÝkÆÎ_O·‡²ÄÒ Bc È .ÎÑÍÞâÐç¢Øe*g[£ÃÝ ®¦ƒ²èѬèÒ²ÖÚp¨E“ ÌÔwÇŽ¡sÙÏuZOVA>ªÚT§ëw8‹bè WÁÜþkXióÀ¹U«›dPmô]ÉÇ¿ ãw×uå÷‡Çj „£j¤uJ¬ ?Åä«Ö”z.;Ý‘íÙç6Ê¿¢(Ù.À<£W“úQœ¹Â•¨”¤B)£þÁÕÜ—›;¡ÔÕS~Û_‡ ¯ ðÁļœúv™LòeºLµi—â¾L««{ìÛt/ÞñšÖ€Æ©÷rñnLVÖ*JŠº'«¸jš¢Ù»S%ŸKº·Šü`ÅcrJm@¶EoåMÕ{ô<ømªæðV®=â%ût¼õäv¾VZBìC8ªŠoÕôà¬Tð»Fï¡â*^ÚtüªñÝm‹mו50aæF5x9äAU÷³ã‰!\èxÏó]<Û‚U‚¿ü¼«îMªÔNR¾†WôôJnZúõô¬7?)“F_”†`ölÀߺru¢»^Þñÿš\y•ï­ð š-k4ƒ_¾Á='!Ž7Ѻ+¯ú»íP±”±¢ˆk×ÑéûWhmd:ù~o0‰Jèð0SÓ=øé›À$¯ Ñ| qÞ·“ÎS|Ñô Ip—µï°B«m½·e×jpàßéu=F2U(Fí”ÞÖÁoTÉ÷’i¥`—RÓHÐN+<ž½6§6ûeŒW ˜g7O‚ëI*Щ|«ò»D´uŽœ öeW…/¼_Q&!kÛ—¹:‹i×’“>Õk注0³}¶÷ÓV(cyÌl^OšÑ `SºÆXåur!(Tlr&^7Xå3ú —mr•º©€£²3ÚL+}ë}ÿ¬¢W7ßäÔDËÉ8S3®Cjûºw·2óÁ.È´sfîWPèëXhGB=6_&×jÙkÓôŠdK>”ÕÊ_'ùyîô•¿÷ëµÂª•…‹²‘µ‰†Øpy‰J¥A@úÀ}:¿‚‚€*Cã£ó€g’ iÃ͈ஊ甔j™0è^¹Ü4vôa¯=å’,yÂ<ÒÍW„›°¯Rm˜ŠMg ¹çÏâþŠ c7N5ï¬A#ðôØUã„~M÷J¼àêÔƒt’Ìl¬<Xó<çQ°ÄüÁ¿1Þßµ< û©äò:߈ôëÄÈŠº#3þ~‡~7›\3„†õOF~ǵ*}mMZ›\›ÚzYz:zŸÃUÖàV_rš–Ó/Håõ`*/*ß æÓWöb%Zâ]ñ¯ï!¹3Ô`v’.šæ!Xa²,‘žŽÔÍI¿œ<íð·tJ—â*çãÙÙXPdžA[›Cøˆ°ß\>¥Ôfþkß'Þï?á|!¤32º@X¸–·?ާʦ×4Äü|ÎRrIÜ ^Î7ó²ë­^7õ+‡ÞšÞé­×úÓ ¹õvÙ:ÝzÚáÛÓã9ü%v‡Rîm–­†ÈPj(>ç0\ héøhaˆ—a‰›kGhÆôîãDsØ™è'U=š€e´k¢\›ÄN…1I,î)2ãèLT˜‰ØÙ³ª&o«ÊŒwnêÝ”Æ%Œ ¹”/!Až) GhÃk’³ú·y{2§.k¾À.‰Ò~B;žJ·èÉ}ÏÞä4߆©’䨪Íó±•ç14™u¡übÔµÙÒÚÁ¥¬>m‡¸åùe ª#h­ ˜æ†Õ’÷׾CV ¥óÛqUÐOvZ?UáW¬)DŠ*ss"M®™=áöY&ó6;Ü-öv‡ó—÷7¢¤sС g;è伧ضºè¤å•¸Ân²j´^0;¬BÓå]2TL;/Ÿ ÓGG€7½,(Cv0ʘ+å¾~w|Ö³•—A(ÌŽÀ­Qc¾úPG :±V xçë1{õQF»ˆgššÙYëý4”‚Ÿ8Ëä+x*îhxŸ„ƒ2®©jñ*YwäD')°{ÑÊs9_ã$'fÌÊDn±÷k~ã¨U{£iP€ËY4G ûN–“N+Ò[O0É 9þ¦aðï"†jÞ^Dvµ2¸M~¢)LPôšþÃÞ9QSÊ8ûÑÓIã¾ùÂ5jû¬^ÒoºÒ=è²A N­/é¼ãè#'%¬¢¡W;Žhý#ï…ßÏ=wÖ÷n îçV÷Ôѹ˜ßV±ga Q^·1¸Šw_½ÉFþ‰òLY©‰Ù”Ç» Xž¶–«)´¬¦GvI™P>r&g\}  ‚áàû_ô0öxæµå²HÁ(¡²æ ÜñfSxš¿JZ”Ÿƒa4¶8jœž·`‘ruUãÈ!¨¨< ÷”È,ÆÙ Æ ]ó±¼neN¬eé ùõrÊamM‰+îL±³<Óȼ¥ŒmP§ vß›´†ÓŽlï::Ã4'QÛ't³‘[k"–±T]yTM}6Ä7ï{ψ#Z¨¢¾3€$ Ýòàƒ²0ÆÉAG¼*AšÉüÞwê‹ù&à<ާ?‰MÿdTÉÊàêÄÑ]¥½¸¸®çÃöD5ày'?øÙÞè„–Üi^¡~LÒ¶"fM:H½¥IÚ¨†"æ”âþ_»»,“’›À-´@~´ð—ù‚qX<ªôèþD«ýâyÝÁ§¤Er*«(¹_…%&ú 8?y „³u5b)[æÉDH–‘Lze%¤%{›¶Ø­èq_QõçÓuÀ’å4úD^T›œ„HÂQP™½™[¸ÁS,yTvTó«Fù¢Ë±N†‹ßPq” 1Ä–jº­+·yDâ€ìàûT=“¬åe²—0”å‚@¨Àw ‚vR ñ9òeLÿ…ç~1,µg nÂcmV¯õË^a»î=qˆKå–cQçðAžsA­§éI|ˆ7ìŠz墌ïþÓtô¥÷üâfŽfü· àÈYtbJÊ Òx”ºØé/´(­2…@5D‘úžÝ™•ŽÄ6ÉO=b|ò.‰Dóz1G‰:Ggwþ„ìœFØ¡ &)Pœ™ÝMduGeuaÖhôì\Oç3åü66[‹Ìa¬2^ç“Áîë¨Æ'^ì052Ó½ÂÜ"uu’-»å¹+ɦf.3];Á¹HŠÎ% ït) ,’‹†Ó 9OBñΘC®Ê€« ê”i]¯Hâ4#¸tæüPNÃÜ8ÖXéSI‡Í½›ˆï_OåJ9o¥?ÐÉÖC$qPÜNsýÉÓDÜÜ+×ÅÖæÅrÞ-±K°ï_í/$(1N‚€"м‹ÿϾLØî`Ö\9ûÐ5|¶”ÉÖËé' ýe¸6ýÍ<È÷p3ºr ‘—¼µ»ƒ:ÍÒ¸ÅOM€óáZÝÛæL+ü•x‡—£H•Ç2ßüQŒ…²fëµÃÑAqÀ£úZ3£Ÿ ªùyÚ xugÊf݈øº ¢òíãÏkßCÃMsù5‘SÎËàögÅvŸt×`ÚP2‡ê Âï÷ÝxŒx€ºÏéþ'gîìÐ)t 1ÕQ2N2Nû@4ù1é…9»Rnü Å"~uƒ·ïÖ'\¡¾c ‘–פ‰ó~•Ä@±sôFó º8¿ˆ‡çœˆw av]2øÍ×WøözCÜóê¬GÆŒ ©áóÆIE³|£*œˆb¢×:e¹t+«J±?kYÈ3½p‰Ñ™å>'ƒŠ5·ù/…²¦ü@GÁ*7Û¬±m{k·õeRf𴛆Ê~ñ~.°1"\É÷_ø›årªÁ¥· °»ço‘ˆ"Âôøçs_æ×Bpf ÃIĤ0I`›åAÆ_ˆíz ®…p= _kœ4v(Ÿs´ògp䄟Vµ‹h€~¦þ>éÂ>VB–ŸéØVÈ ObÚ%©u±‘ÈÙEoÊŸ÷ nÆ—6}yR½ä Ò¤iÉCpóW)º1,ýÝæ~$ºûÅ×À¯Á¼Ý±{K¤0ãÌi®'i²Ûeh’‰¢³ 9ÎCþ´±ò’ÙÍ8“3¸é¸]}õÇ £ñ+Šäà( Éà1»©F„*6 S׊Ém«ìzñ5¥r÷;æVgõæ_N‰360Mpy>V±Ôí‰pB`kõͳ„P½ƒÏï•SÛpÍö´ Ø6|&÷ÿ º½+?Þ’¶ãe2?¤5žÿ…ÜV‚8ˆÆÖùéÉ»ëþæ¯uÀ—"Éÿe##Õ/8¤¯—7²‘òþ5o°-âÉí_ókÌÆù?r@´Y7ªýW„P¶ƒ_¹N8i™ãÕ*×s?Ì£œ(ÇU Ñfs·2$áÏÁ±1”Ì’YãÜ’ªÖ“ù\þÍ“d:µcÞ»Sß> Bo4öi¿„ªÉ®n/œ_©ˆ»Æ°•Ìo1¯¢ð$4Ç´Q—ŠF6ËÅJÖ.f§·w“„k¬$,†¾‡ÆµF€e U-µp…ù >h”]GX„t÷ç‰HjŠk^– ¦Dœ»B0};@PYÈ޾±ïry%؈6s$Uàb“öVSÈC÷C{évXÑ鎼+­WsBe¼&ÕH|[( ;6_Ê‹ÄGA§ßþ”ònÃþSÔ¥5•ë„0ŒrpºØ#MÇf%™·á%©*ª‡óêæš=P€ì= $ceÆOrsÁ”°ÁñkuÎÌ=8ø¢ m!×Ï08QÑ| ¡”-Í¥ëæÕ0ê_òâ<îB´—–u%ÅÛ,xѨ9j5ä&:þ·/welkl®ÂЦL¿3äúl=°Lœ‰¯zU>†XÝjéûê%¥~Ì|KOv 3AM€Œ·\ÖwÞœ„\î“4kº¹î{!Y®Ì{$^o† oø6ñ!žDž+lE\a> óþ.åäXÆ­ãÓ†÷ó¿ÅÖÓ½“Eõ\GÌ}e]ÁhšPbGàÆ9RË+¥ûPáCúÒÿ&Qu\{Z€¦ì>ZÓgôuí·”¿Üõ{ÒUNj:+¯"¥"ŸƒÿaçZ´.áQ¬:F'É;¨ct¹Ìg»VñÏ(çù°–&ü…îìRVì>\ÉÒ·º¦­ésq0Še^ÀoXׯëüŠá—ß #yp—þá<ѪQbõ*ˆ+/™8ÞøqJæµâÂᔄ 4ãQ‘nËʃ¬!/#Xͳ¿·7~òÒn¶À6ÝY"¢ºôœ/ ùycÐ qö6Z¥íòtƒ”~««Èr#àqVÃoÌ"1oD¹Ê=„ÆgGõÈ{.jæêÁ­E$&ÐD/¥˜»fP–XA+ÈãÆ.GÚg›Ñ øõt_¼ Y¼…7Ú^/u <Ðǘ„œC`˜æÚÙœýÐl™ih›@…AfLuÝÁwŽ%²=¦9(9cIµ¶gßËkuÓmD¤ëð}W–­Ð¼¼I­æááçªVÓ‚˜Gbo¯Eq_‰¨ÖÓ²8c†pƒÃ 7Gûæ Ó))zGcÍb<hd³0jæ1N¶…1¯\s¢¿=ynpnØÈ-mLôñu•qñÜÇB^³rVïÓõ9IêHÞÔµ :$×y ÛDܺç8Œðhä’Eiõá¸N'—•ŒG3ðqЦÚ G‹Ä'³oÅ6“hR^¯°ï ¿Å.K-eÚg©ŸŠÉ‡BìÌ mSF¾Ó®Ä)ÊlhìÂçØkeù¼°3ãúM§z®øgº™ý5V•Ë„àÄTeõl^ÛmÃãÑmdÊðyÕ„ИO¡ø)ß3û+ÃØ©ÊúïÂ-1’´íu´ÂFâW Š×SêDSqÕä•èÅ/„GákÏÒÇ!ýˆw/Ået};‘ë3qãæˆáUöeÃåÉ3ÓCùMz¡!4 baÞ÷a/¥³JF9kÌŽ5pЂ<ü*ý$k±ƒ†4‚»ò‰“øiü|<¥9=¢Â¢³tnê>« ˆäÜ9H6A-{¾Æ–D£ºUõúGöÒ†VíßzŸ3ׯCt GæŸEñyÅ?º¸Ÿ§Mæ´zf}úà™+ȸ ¢"e·ç~MCúqG¾$Fà Yº)deõ8$ù«i!C¹Ì¥%"È ÊáêÈ®ËÁ-ä`¹8¸³®í*”è*|}ÄÇë?i=òËC-b€Qª­{d.à[P»CÍ7S ÚÿJ oz-ȯÏZ'‰-î—©üï‚÷ÙùV¬Á]UØ€yíøõ”±œ)“tw%Á®¼p…rÕ?³Œ‡ãND3Ïv;‹#>1*Hê$5bÍ\í„cžòŠ%]|mÞn)7Í4ïÙ=§žá-¦ÈÎ’‹äŠý2Ö4TEµ§Äè±›Qªkc¤y$=!›µêrRV½še½m×@ÄL²€E!¢%)1geï‰Ò?^i6>}Ûeï"°ûÍ |I?ʳñ4ë“ FÜ[7$¾üPk ›%*ZÚ4Èòã6ùB±Ð±S2ÿ`…/ý¥¾5C^tÁ÷ Èq@ì®aµµI®8Ðâ4.»Ô\K[öíF'œô®–Q¢¢)7s›Ë‰cß^¯=5QL_¶¬ŠˆÇ‚‹ ¬•ÌA¿ÖŠãX¬„pôäYÀœÐ*)ë·Å%Ì%Ä54ŠÎm9—b\¹!hV Óˆj¡È2ì²·!*6Î]ý†¼BÇ?ÏdŠ¢gì ¢§z\v%ËPž ŒZðy/ƒWp+­·ýže`N ÿ¦t&/=~fÃm`*üïõèø uú²ÑáTë2wÅÚᔢú¢š¡&Èê¾§ý²I(ÕÅ]âúÜý‚—`0èåÖ˜e[ßáXÜ" ?¡ ÇðÚÄ1YÒr¢î¹èð’ð¨øáâš<áQÜÔC˜ó©‡ê×½pRgo‰ðF6m%yX‹·‘VDØ¢ß]O¹–N®]›hY)Ζ}5ÚL;U!.Sqá|¡1ÁÓ±|7÷P0ªY»‚ü™.+ãXA§Ãl(e».ïÄ7Ê¥ÿHéSp˜ =¬÷ì½ê³úÁó Q_]‹”c >#ϲ6º›ØkÎ.‰8ãþX>¿—<¦qT;E‹4Sú¿´k CÎYf¦FÇ2êËnäöÇ_£ï»weg%(Ÿ(è¥Ó¿Åš³É^¯¬zýt50úý^k]žNà·¯ùE1¥üñ:¾èšqD+¿ùËK©oq 5桱?ËØÁѾQ|ÝW„•ÄŒX«ðWè3ÉÄÔ“R ©|Ü UhÈIrk¬8ztš"Nó£—ºŽ)§ ê“IÙ…ã$.ãîz_7©¨:tWñ2ë²å‰8ñNënÝ«ÓVôÝÓ•óÜr71˜sÏð9Áƒ¤¶O¯³;oòæÿèDÆ*Q ö R2¨³;dÏÑ#¦š–*Žƒ4O6àed\xÎ ˆÚorežª…“¸áj>‚ÞȶKJØu-e#™^èØ„é£Çé=%A]rjBçÎ%zfz¯tòz" ¤ÑmµŽ].íŒA!³¬–æí.O®ù¿^R-gRBMÄi¤õAù³Ë¦¬UÇém˜s™FïÈûdŸ¬V‘Q6e¼zÕ¨`ӪйM$µLêIìôv¯ö&édŽÌÆr2ÉYÙõ 7¯­B¥:7ÏwPS“׆÷aJœ¼ÍKžÙ£CŽ>Åoµš2 “Y¿=D‘°£‹Þc>T¤Ê»×HâºÇÓÕÌô´)#EVw=ݨª¡O &¤@5Lƒ=ªƒ¯¦¨¸°Â ˆe§ö‰ò?31ÃýDðþ’‹Ka™!%ôƒØ!¥sô˜ä%‘ƒ ‰Ð—Óèö ~йL2ÿª@R-«ë1ÈÃ1R)¾ä¿ŠL·–ßµtˆ6Cùb1:QNDnæ žuCî…ð²÷þ8ÉÁ"a@††xM#!v˜–8mëVQqÌK0ƒC÷‰¡´XšÇ’5ƒuˆÅ€Zw¥SÏÎî×›¥”üyçtʃaÄñfBǾÞwøª9>Î/ò£(Š¥ŸØë7¤\C'˜ScmzmŒ¹Ùí°§Hß¹Ãâ÷½Æºs Êq(7,§;Üël¶>^ ÕÏ)<:ßï:Õ¡ªeªØ _¼§MêTê ‘õâ¢ó‡,˜£FÁa«#fë=Õ1Ë®íºšÅy,dжðÛJL_Ÿ\B#Þ,Oþu¦È¸Ëb0¼V¦ùÊšA—È1°ÇY4€b­µQLƒÚù Ewú«__ Ž©lódÍ 6…]7$2bõ¯ˆk2Y õÑ;œ/fºµRÚhÈ5›”yï*é´°ç…Vra~^›û.Ýüó[Ü¢³Á(e¦ñÛŒ¹úÐÒf„Œ3ŠKZ—´Dwù”š}ÁDv¨‹©aG€a¤ÂOo¼Ç(Ãä+ìC#•”g{eL¾I}âUßüàG†’(mIÔ;zp*Ìèü<¦º‹Üöc ÅÃDÓþû#5yJÙÙ·`od*ˆ´)|6vRûðÜêúî§CaÐù…~ CM)†û~©¡ñ¯¯ä[ÙæÑ$lósÖñ+É¥­÷°¯ñH}#‰…µSŒ/j?W$›Ð¿ÔA>U’:Ýõœ·ŒA³Õ•$:<鬄‰“L@KóÐmÔvo¿AxÒÁ€ÕÉPr­ÉCâµï#ná<‡íEc®0: VŒŸ\&‹½ éÃ?ì9hàZ\NÄúb\Éïhæï{H·³TоÃcKBÉ¡j6|úu fò·«˜B£•'2LØÐ÷÷ç$[õ¶Ž(Ð*y¸êS¤Ëpu­f|ÿ®CG9øˆÔýH½¸:íå5_o–H ßIœí }îèˬš~;¶ä…½ª¢‚ðîÏ£*48)ÆCUìµÃý,¤¸¥Í¼\ÊÎAà<©ÏNÎXùªVwq|‚ŒÞY¿‘ŒS_%š„­­Äz/½^Ë5)õ%Û9âã•›žÎp­²â=Øc¼9(àYP²«5•r´¾€Z Ûüê!e½~eN±„ÞÉV»~‰¿>­¨ÐuÓ¼Ê@S¼ù¢Ç ÚÔ#xü Ò‹¸cvèÏhæ> é×iNB,nªÐÿ棓Ðà/úÄSÜx p]«¶ù>ÖKD¢©•íÃ)DÜ%¡uÜÂ'‘N[G13Ôo\Y²;;šãÁ«s¹8ñPÞe$P£ @º\0jñ:¶]nõ¼”ºŒûÔ Á -ìR?ÔÃ|ÌË¥*Zç|dêàOœ;tž/”uR §êQè¾P«ü[EÍÆÎùQÒŽôy«‚¦PÂlwO%¿@-DT¼ðRD§´ƒsXëðf”öÝÎcH¸›N±jlÄQGé™=TÀH™"ø SV‘§$÷• Ô-"³rù…ÃÕ@"S„w3´®nK«§ç¸Å—4’Ô½v’c54¸èäªwqÓ·#rÝÈ¿ëͼü—j À—*-²¬L†*‹ç%—TSIÖuùj¢ê~Þ&tS›S ÙX:Òµûÿ¿êZô߀›ešª”­TÍÀôcûuÌßçÀØ„ä‘W΂'†š$îö=„"/è­ü4~@d¨±c£ò böeÏÐy¬ÖP(V™>ÈËa ¯Rô õú‚‚i+ÍqÙ8 ÃüÞœª“N £3xÀ$¶·¡ ÜaÂÕ9F . \5Yc¼»ª‡1¥Ù+¤þceV!Èø„r% .;å̯ù‡|H¶AýŸ6c§ÛäÇZÕä;àîÀ§vêbIHÕ`G” :àb F0X%ïJk¿¬ ²_«¬áÌè8wEK>` ÎhãÏZ%¥¥€ç Â0aXq*XDJw<ê:Pˆ*Lý ÖÓQíùêr3}R¦þêºPðr|íŽ'MÌH+€µùuÏ=CÖ 4½o줙™ì#ë)lÐI%cÆÕ 8×~×(¦EC]lE· Hd­-ØwiãŠ,œ¬âzÓê‘n ~“¡k¯lXï§ÿŠ]דr€º5+s.’·‡ÌŠòãu)7³Ê,V…ß\•…ÉPîš!¢?/– 78¨c¹çŽÀ‹ã+¯šèdø·;!É%:PQ8q-X#Ñ¤Žø!ûsPtÍ• oEaÞ-ù–¿¾ad`n/ýw¿/j¸$ û£î;@À-¡9ÍËaÌs¨vN€¸95ò]œG‚úNÔ«1ú£ ¦XDJÖvÒE›­[©–G]Ôz)aM%s©+’Ù ¶éèý±3^¡º$(›§=ÈbÉLílzÜŽêĘk›í七ƒt7&…Õ7àÚà‘;»ÿrç¯öme«¤ë&ªmQ{Kk·íØ0¸…}Ë¢Ó yÎwsX+×+Zñ’QªÚoÀ }˜5?ŠÆÁ)òš6nõýä4§­wôw6ÿìRœ4Ü/ §÷†¡¡l…þÖ6oPÃåT)E÷ï×cåÍ,’$t°”Ü(a!—×VaLMÔä°§—Øe¨ø»¹¸†i#Zo‚çÿ°ô.H‹Yõ˜Ö:ço;ìÃä¯è|æÌ(ë]Õ±¿.O›ÖÑŽƒ¢ÓOœ12÷ =´Üd:|hèÒfI²ùå-Ù›z梈°@µÄ" í&!wE${á é"Aÿióó(ËÕhEIaí4<ÎÙ¥Tm-¤Y’.(¢ûr€OÏ0k€îL)}}T´_1sj»nƒœ¦#å°¶K^ÃͰÔ×±€^åaê Ç«Žc”àS¨gíÕè}|êö…öBªoñ³ªjµqWyŸÿ ºss7¤§ëAVPB½„…¯ý…6&Ç.VQao×ë2; þjŸ¿\ðŒ]í—ÎÚºH®3Èx}À:›w6½X1<è‡Z&dM«™l1ÿ‹ ÍJÓ¢/o8ºçú™õyKQÅ¥ƒf÷,βsþN<³­ÀW|}ÃÊц€‡v1K!—³ž7ȰBç|ºö’±ZãC£¤Z^Ú~ ؆ߨør,5œý¿ŠYa:  o‘®(ÖS?tõ^ɲD M&£¼’c|Z)µ ¢.¨ZIUµ§–¦Ê:“çŽW+ñ¨ù=RE–Ñc§#†B?5|Þbebº-\Ý-ÊqnÒ¥¢eüåâ€Vù|üˆ¹[Ô}!vsMÅä©YÛŠŸÒÙ'®½¡«ˆ¤ ‹‹×˜jÉÓÔøKí@w%Ø•{N¼/º©´QÔ>ßíÆöÉYͤkYņooô;*ß«Ïã$¸Ùj«¬%¢Sl¤Ýç*“J—qDâôMüÉ':ñÔy£œë¿[6‹F»ˆrêýk¹­¡[VÁ”¸çýHób_D%#;_å•YŸ#îϹöOÎÄlç dØLáÆÞ&/°ž Õ*k¥f¦$¬UEš¤S­|ÑŽå:k8±@V¡k=´j¹)Wü¦äùMÇú©nä²|d°B— MÛ©)=‰ûf¤ÄáõßSxŒ8½˜2T#¾'ÊnJvÜŽÚ(²Ä!%Fð",fv3ü 2ò‰A•ø7DÔ;YËωkªTƒA"Kûˆä*LЋћ*ÙÐrÅAy‹]²ÄÕ_Åþ‰Çþ²7öpÑò qhó,nðL½ô, °HFç»”•Ä£ »â݈1÷*ŠPnÆ %GAˆ~žæí² U‚SÅÛÏ‘èl p—Ø»£­f‡ßG¡WÉÈÆô&v'7~ÛžùKŽ1_#›†A"•_w4C LVºÊŽ'Kjæd™à¤ Œ —ÂU‡‚ŠY1q‹$ „(.|Êo1ìù€‹˜¤½£»êЃÚv^|9©,¢ù„·067ÎϤ‚r¨&ƒ5ZEÜI¥ÿù\¶†¼ùR´[ᦽw äÒ*…ÝéëéŸ ËEhó J¶+Þ^ É÷U§õ©0“$ñ€~Œ.ƒ+gæ¯<ѾvIɵh`Ÿ)~Rò!pëÔ74åÇl¥mVø4†qžêï—é_šŸ8àB3˦õ³ñï#6‰ø‡iñhxï3®&HÑ=õUÑ€?þ;¬)a¹øEuJÖ)Üà :¨pKLÍâLaèØ®Íf¶Ö½CùÆ·Ölçóô:~ƒÍ)¢ázÔðd3ÇOO2çEøè™ ‰cÑl¬+eÔ´Kµœ‚Ïs…ϺìbãªÑ½ôƒ_q³<Ÿfå,è  ‡dÉ8ÑxsJ,j$º—™:XdD®zÔ©ˆTÃËøMµO¨!áÇTDÛg§’ÉQñÂ!t"Ó;A=E[÷,öûM‘y LRº[Ó{vqá’jWA‹^€@t#yÄ1Â…"¿“øûÃ6ÍJÞÜë 0[ºÞ*Ö|gR¡§æ‹žTɘ&0“wó¾Dè±?ZÖò:âãÀèŒlÉ×X• Ôÿ—ÿ°Ã?_üÓ!MÚe©ÿp³3þîû“ˆß'\Ü©DÒAHµØ[ÈNr¶‡ŸŽŸ¥A†vEðò1¿†x»ý{Ý®°™¤q<6Äê^CœÚ6ç€cŠV ÖÈsGï†ØYÅ‘¯áüÚG°˜Ëy+_fŸHØ£ÌsE“ŽÀCðe6Æø°™ŽU.ÁÏRŠñ¯NŸNæ%¸Š¥68¾¾,"•üYÖÔe¶‹vC­*HËVjV×RO‹^uR]YÓ8¢cÏaLJô ? ±ÐBQ%fo»ÕUà*’Zð®Ç|¦czüàwb˜ þŸwÐáª&ZT¼åáx‡<¹É¡Ç.X°e'PR,X/Þ5¹Y¦ÇòÆŸ†]ß&§õŠ8i•f_6¥òk®½Jþ¢Åþ9+ƒ„HÅ3¡ ÙïÊÿÊ›ãgìeÛ4F~„ÂNlsË›w:cR£Z”° ñ :dðI«†ëQa¿ÙåšC«ᜋükwØáãå3„?mgb{¾Òëß&ìçR0¿VàÇ”Mñµ…®;=Ûã8¦¤HØ~x:+GLí rðŸôÕlòÝq`pJ+>»Õï·ùw ”¢ hG‡þòdÀß•s„Ù•Ý«¨ èáGäCƒGˆ®ó,é!÷ë{KE Ê"ýƒUGþ‡6YIñ¦`³¿JK—±ê=šæ›@ßýô²_Ý)€VnáT"÷h„“Žá>¬w¯-¶jÌ&1ý¡œ&k'ŠZ‹ M¾åÀYÀdÍÃׂ,¨È~ÂÂÖ¿PÔVk3Mi‰ˆ DŸâ†lPómÈþûš9áì©ØbUð“ïŸÐÝöfp©à~cÂuHŠ-.;þ%lŸb ‚²3‡Š`E;žÇzòwu²9"D³y3CoÔ×±WÇ}Ù‡cÄ=Î*}+ü†fï³ýRÔý ÛS)_¼ù^©ôBå§!ÆÎZ,½L€Òã"j6ÆëÝeç-iÓ4áD«xšEJõ¯sDÜWz«´¨o dà€ýŸžÈxXêà\ÁŠH»Ìt 00÷”Ñór¿;C}÷oE\ÿ%‡zAŸË‹(ñÀK8Xß\G!ˆ ÎÉaðÉFZD}?†l¤J ýDF<¬ çUÒ^žl~1îu¨ qƒ¼_‡fñªÝ#0K,ÃSÚóÕ³jœü›®M¦ƒ4›ÄI˜Ú?Æ­;p³ìæ˜Ûti4‰ž®Æ}¾OnòæÂͺâaøÝ³X-/¹{8¿+éÚ4f?Ú x7(fñ†àDÏœ¬¢8= |}÷r8Û  r)còtçn˵I¦!J•˜¥¹Ç±öìSD¤éËjÙy[ºjfýȪüëÒ½ÞxÇMØw8ãšÑhƒz³¿à©¾Ží{GžQ¤å½OîÉ3]Úè;´¶¯HTh+APÛþpçÇðÒ+^M0,cüÒ:"o!ÿKƒº =Kó~JrVyÅÂ"ÿE¯Á“¸#*l½û2á/:¸ßfj]•úkÊdF“• ¯1’5ñ…¾£ÐÄ1š?bÏ;}N'˜f¥¿V8U`­ †i¢ž, úe¥¹  u¸ZðT}À%ÍýäcÞ+CJíT?žåÑ ×£>5>˜¢HmIC/%<>âÒA 'S™·ž¼"±éмOã—òbaô7ñ·®"“âÕCZð*>‚ê/Å¢ì_õªÇr ß2n_Û[ù¹SÜ6g-‰À$ÓURêÒèýPÕ:H¦ä'»Àw¤Á£äíu&|Œ¢«³Ü ¹ö£5n›±KÞ¥¡½(€/ã\-8ýCá8 ‘Wé2"!©9)>«rÉk9I[½(áÿêJ¿èäŠÐq:àòˆýS=ŸÃ”Ñ·ß`³O äš¦Ë?§œEÝMSyôù?ßqÁÁøþ0!E2÷¦CÌ{m“f$UWrKhºô,(øØ„0Ž,}ª‚P©úZ›†Â’ç®Gì༳]˜<ï3¥¯šg¡¿dXR*Hݽ`r±^©áhu×U/6o Q`;_Q1S¿¤‹ ZYÆ@ž9[ðúLúÿúÊ™Ôò=ùä­ Wc5ø01›x6°Û04€§ ›½†`×+»·=E¼âà\5ýg(¹ ;§cqj¥X¿âïñ—dkdÁƒµohÿ°˜ùfZE>Q/']ˆ  ͇ÿ¹¢ÿKÕzš9†®Oq;ò<Êe³G¡B¬Ý¨‹ð8ýô¢ÎPèy¸­X “5öC›(P¾ù]8`Óo³v< ÈTª¢©¶¬Œ€ˆ79Ðh”–n~L­ï0ðssÍUéó©¬Ë½ˆˆÅaë5§Iâ°/N–C>óºF°\œ ¯{co¯¼ÓNܱ­¼¯!ƒ³ïæØÇ[:Cñ8dmIƒÀÁg¡›þ.\ˆ|’Ž­î«nk‰ìö%±w =V“Ž:Õ)ãÊ¡Š;Éêø¾ðEÊÄ îFZ‚ï½Nôm@›ˆ$÷µ*›6³o¢‚'ÑáEx­ª²›a·Õôà ×2J8Ñl>ì,rõ'&×¾.¹é&‚©™Íó‰c;ºw^#‹ppÝ› îw+¸Ê ¼DJ§ª ¥áÃÅb…YѬꌖøD*ÇÉ>c=¨¥ù²L·§u”Ëë|þ//N4CÛѪU'³ ^*çÍV‹NuÏ?9Tñ­3HÅœÀ;ïÛ„.l]ÝÒëKZý4/h±SlQ@ –¹Ê¹µßã­< .¸¢¨ ·û¥OÛjP¡rÜœABÿEq™`u ¢…Ôô¨Âw¼‚´¤›]ûƒ]ñÏ}¶v7bãQü)‘l5a“f£ÿ¦Ü„`H©¬Š HQ§ÞËw_r!¥š¿²Ä<°;1cã ý]ÎzBûûevRn& åš ê¨ ªr #*¿°ûË{`Î->ñÒŒL¼ þׄuÕõçÙ˜¬à‹¡ðè2Úîv÷™Ó‰.cÿªãqéüñ #éKXÇį_î}X7ÅÑÔSÅzVÓƒ£Lf‡{¡“ÔŽ(ÿRÉMqÀå¼€kkãü”y7oÁªÐy_‡EkŒ¡º9÷¹À‚\Ù¿A„$Þ"M$BIƒÆ«¬sS¬<1Ûú¦¾•ß{=UÛ|áù[.û3›Ø1¨(¸¨éôæIËÐ;!žÞ12ea­iÇÒB©@ÙÒ¼ýæz2*hVG”­œƒ¢§ Ø~þéÄaÍ%þ5]DSLcÔ²‹0A"\|ÂWbÂ'l†[Ùü+;¦>F²”Üv ÎÓÝ“ßBbQwFׯÐa•¿+_Ñ´˜ç=\39ç…ı(N1>v#]A`J™Œá¨°‰õå×űÂM©—„å¨äI”Z–‘½nõ/&÷¾ct…`’Îèím'9wã~…ËÜ©>Jeÿ̹̄xã‰t‡Ó-È Õô(6ùš_e`WöƒmóÏ=—aŸm÷­ð Ôè0—I v}ð©¶k=©Ùs¼ÃêñеÊ817bø=¢6Ë…@‹ ãuj’Ê-ŒéÊûÔ#+–h5ç‹l¹Œ‰ƒ Å-ËY•ˆ´{¦Jví|ír¥Ý‰ñP™}ÍW~{‡Áý.ËðSTí6”1°#Óâí.›¿;ö¯ÁK†‘ÿW ¤—ð6ˆé´b™!ômçÒ–ËÞ2³²¦¡õ€øžÖŒœ3ôÍöÝ *¶…o4Úkb†î¡u¯Ç -%_¡ïy€¶ÇÞ?µœ7¸¬Á*“R1´°üò²k E5Y‡T¿*Ý‹sÕÜÎ`}»è§«ÉN[˜¤`÷üß,{?PàACšØsÊJWì){±ï^ŠE–LˆÕ±–·ÔtþðõŒØZ›‚ÇÇ`¹êØQ ¸Æ½„qjíª¬™xð»a~Ã* ÅaÊ„¨EÊ{iÀ.zÕ£ù7OLé㣇óÕr” zå•È“vªÍuÍ—½<•ÂFR†i«)§½¶Q‰$´?Ç›¾ë¶‘·–¹ÊT5³¤Û¿V¿–ådWÀ SÏ ÈSíí„;ÆŒ p·6Žþ×AZÀŽà Ø_6Â*8Æœ™"£…RYŠÞ#LjÈ3Øea¢vŸJjdž±æ¿èå@sLé«+ÂTXUËúÐe ʾXN:?Œ[ÉùLA;¼ž±Éˆ ?3Û0͆CÀºù°·~QVxƒ“ÎÁ¸ÏŸD±©7X ÔÖ÷XÚ»8}Õ»Ù u|"´aâ.?ôo²v Æ}w­a}ý¾ç¹šŸ•.mã°x4=ž‚À§IÑtغ£ÔÞ„V.r½/€ØPw(aurÖƒþ£Rß§]e5ÎVnwÅR¢dÆ4˜ŒvÈBÛ&#$ãI;Ú·ebj·)i#œ.±Çóï_ûúzé j²±ÂH|,/ý¤ÜµÄÛÉ ÚT1“ 0ˤÅ@í ùL6e¨/Èg﬇76ö°¥þÄ fÌ}XG);vÃ8ì0Y—å‰UÛ ìy‚•ÅGtBîÕ{ëzÿu@®ûV/êód‘:oñȇî•Î?Qìpt 5òÚ“Ýó1}ø ˆÓmàP¥êhziH7áþòFG˜UÂ"¿Î¹Ägo£EAöÀ!ÐO—)‰e·UEû¶Úw¬çrôQÈò±Ù¾Æ<;Klðì˜02½q ¾0|ÀBÁ'À(—†5…è>yƤ¦ŠOéß·CÒ+¡"wÙÛ°D>š[‹iTå?UÿŸ×2Xæ,ºj31ObÐ3Á¼;¨qð(4¥g Õâ’-ñko?›·¼d¾S×\OÆ,ÅÏÒ/‘3Äë%fÚÇâÔ½p¡¤õýÐË ÈõÓvbü‹>D©võäåþ¹ª@! òÄxó°IïÏA3OJâGm1»#aZç0à16:œòè·øÐTÛ „<µ—uí҃غßI¼¸ìy—Öüuù¬^:ªW»¯³r]#*ìþÕ Ö>Ž"ñèÆ /ÕÒÞñ;xVË „.³lê9ó[¸Fº¾JãzõBëcÖ\ÅAv‚’÷ÓaÓ¹ç$l¡I¾( iȘ.Öõøírsçcïpg$º6÷x‚bI3‚)ˆ"¢]éòߊ¢ë1W˜?i°:7‚Ñ¿„õâQ[´ÖÛ' Žb2)A`¶Ñ{1‰?¿“u£¹L #êEWkñ=Ìèƒ÷’>­ÿ¶„4Z¿òXcÖ°¦žèè-EjFùa¬Ú!Ô7üûÇíNYÿf FÜœKÁŸésñѰ]!Z§ Zך6w ™óòµ.`›[ñÙ‹ÃXY©ç´1õôXIÊâcŽCS.0é>Ò}Kþ¬É9A#äž´´ÃoÈðeY"l'•ïR’ÝpºÕVûŠÈÛ¸¹d´:te8’‰×to>õ³çì!YýAÝràË8ó0bžý$é`ú Mü”û±6s¸•ºÅΣC"—ïŠÆt+¤#Fü‡dËz Ê0ê8´îL îL:b+Ç%û£Ê-Á€9V­öGÀ^/TôçUÛužkÊm;ŠÎ³Xtî¹ÜmüÉU³žH¬6}*å?Tú:ð˜npê'ó­ÌÔÚ(Byúk‰ðô÷ì—Ö4z^Ç:è†ÛÉ©–*ö@Lá.ɤDùBp-¼VÖÃ|ºK<õGasõõ̉ÈÕ6dsߦ:´˜†F“>Üî½€EyôÏz$^¹4ª:·x@\“HˆÛ¥ÎÖKŸ±õ3mz]ª¶üÂn±¼/ÊócÏÜ®·I }X]A]™ ž<%£ÿ)#/‡ÃJÒ…)õÒ|cÉ{Ô° »sv]ÛæÅX„òCÙØ§SŒÚPí±*Uú«œ#ŒAH‹iN5ÕïÓùOöÉbô©´÷Wg<öÉ'é¤ý²Zï»ñ¹»ô}žµ¬+5R(”a¾ßðýT?D%;+¥òBt„MéŠßüᮼÒlùlÎ Š!YgšÔšbi´üw؃¡€vËö¡eü2‡Ãã׋ùÊžÇù!.þ†¡ñ›^Çñ(E™(»F±ÑOgŽã7äÆâ' mã¶ŸàZGð––èD¡ Ä,¯Eq.ê!|<Úß÷Xàƒ ~Š!€é[þ`4Cj$Û¹*èílΙ©ÿù…ÈjîÈmméåL¥É1å‡n›ÀVLáS˜x!XÁtA"ÔXàWõkÃÿ¢æFÛ¼^´ºúmY¬\?`ðÌ›4Wس&‘éðZPlµý¶Ñˆªchu\H“¢Ý˖ۃĹ ˜Þh »øi Pà H‘KVs¡¯ü¼á&åå|¦˜÷¶§´0^ƒ>š^¯êë·ƒÏØ`W!IÛ»ªwéò–†Íq14ž*a¥‘}B]5–fT¡úä2Ù¡ ³(‡ˆV[^ì’ž´9z3´ç@àqô³u×]_¼ìýrd>àP{tJØŒÛÄAF®],„ÈK,¤)‘ò˨± i%¦dªºküõ8mʵ w´ÐÑGhØU ³!hË?;–:šDv×ÙØÝ*àX nhŸõb^iu5³{EYzñó5An]_ïG蘅iŽKó.âv× åÓ»Ô‰©Ÿ«ð¸Ikõ‚]ѾCÇØ½%Fؾ÷¨ï>`Xt@…ü‰×ðYŸùðßÕGÌìžB;·XZb}ˆ½}{ùÓç8Zäâì-áÙhBØ‹MJ¦m'þ–·P×8jϨMÞïg0ØQÈÊÉï}²÷ýW[S,ŸÖ: 5ejsAZ›Š:¼M Å5©§@Ùz!¾:ÉsçêïãpíMÒ' éaíJª¸ˇôqÙœ â‰`…¯EšÍ…àƒb4í˜a"LâÜM¾–Î|ï® 5½{¨jáæÉÑ’+µü&OéOÚ"¹Y}d'¶Ê?z,If¡»!ŽxqŠ3sBêzôg™Cþ™“NJkõlšë0×z!y™U'Ô~7môJ>Í}îê^×8 Ÿ`ÆûŒ ”¨eÖ™âËŹp¦$‹òÜBð‹>zí5m0ï ÕõwrǤiÊgñ œ9kõ ÎKU‡vÎ'0 Ù² Èß¼v(¢·ý°SèðèP¨(d¶é²c{¹eËhñªú‹<~ârDIaxþ8©10 ·Ý%IÖ\6n¯üŸDÏE%C"t/у…›˜hbÕüþ ⨬ÊT™ŸDƸ—3,›Aüý7²Ù¤ŸX6?ø:ÇVç·3‡½ä" tÝ\Ì(ÆfkW 7êV‰Ù¬FˆçêN_¨FÀGØJÑäša¬p_%n‚¿¢•ϸ|ylëÛ³œÂq÷"8ŸéF`¸ ø#´u›fº‘ï¸>ÙÂÒ#çûË$µ×>Ï¢yGÞÄ“ uãX´7Ê.ÆÕçÆÅˆŒ‚Š §AxT²†î27W~Ñ3ŠNĈä.ÂTÕ$¿Q½5¼Nc€Ñ‚ƒèàÛÑÜþî)ÔÂCŒÚÀ²Õé–. Ì ïñéSÔÁJ'º|¼)7­ºFúGM6¸j¬r!6[Í›j› ®qN7 ö^Ž®=Ñ9”J ?ú¶è…Cwú„Ó0tMÏ1%V…‰?c ¿7t¡Uf¨9šPX‹‡e#ß·oqª*ñaHݽ&Þ£Ø_#-J=Ëýôó#*‰c*‡¹3^ò=°(¼&ïà' •h=B–i¥71MÌog÷^¬ˆ.Äßù¢»«Ì¥†\*Þ n€èïÎ\ë0¸ø›yT'£ÝeË+Æ@ ¦œµñ’_¶'ûTkŘ¹Â–ü–#-h-ù)A »ºÈ¬÷¾BjhhȦF!ûûÏà{L4øßÉeX!¬Yê»Ä׿8Âˈº<¹g¦ —k@z܃_ Brl¦Løë([LtglA÷eC%(kÞˆêãsß»ÜD–zÖÿÑgFÿ![¥lDe½!YkLŠ|ÆAÜu7E| ©Ir‘I@3y§¸é¯³»×SË»¬{<ûPe:b)4ÀxdÄ(5×p~M„³HÌØ·×Ø(7ž0O¶Û¨cåÏpó3/Í+òňӰ¨„§ßÊ”‰RàŠcRTF€û¥ß$äí²5vÔ ÇËt³—×A¸„!„™Ö e”}¢æ:¼þ1‡dÕ°0”%ÌïRLJo À°ª±˜B¤èþx×ëëá'p(-ÓM}D‘eŒÉ´»‹_4«Î'¾Û“x›[îkûYX¿ÊÙ8%N•³òuMoGßà¸Ä«ÿ(‘%mº8D¾OL› ˜q{-,-³zL¨˜y* ¿Ú+Ùèž(¼2àñ©ÈWŸ¶Í†Þ : .ŒNæ î¬dš?rìÂE±¿‰±ž/§Üó¼F0kgÿÓz7vþ/|i/µ6ÕöÐß•$ùz^íÕÞQ/ÁæÄ"†Øcƒ6ܤ0^MäÂý1^ Æ®ÕÌ5«>.×_Ì]‘Ë à?›RÈ`7j ‰„ÿ òÅ÷\îØ) ”3Iå8Q.†*·ß× ¤âêT·£”»?xØÿ»¿ùó?!=Qú³§Î{&²”&é÷Í F·”€åÛB‰ðÌ…æ, ñ9¶$ñ{ßë C¥ L½ ‡CâÞ‘«åd™ÆôìäÔqzÌ™×èÃgꊡ4¯eƒ§®tç—(› Ìu0×3‡ÆòôË ™Ðc“Âó¸«ä×õÅw2Ó™´Ð¾£VR#é|ÙöåÙ²Þ4> ôù&VßS„Lð”ìÖ`2‡ý*KpWŽ8´ÕI - ;‚tò˜1 ìs¥”†pÛÌ&£PHJpûŽmÁ#²oìs cº@/Õ"#›3òEë“ÎA‹ù{Ï6vº§‚¸{|OX÷ò>…/æ™iუÆÐ×ð‘TÄoNj ™UÊÌ·Ïï¤^…dŸÑàèÇ«ÅëWÁ…¥MÕÃÓ+°{M-´šý ¨O[ª.¼¢üëï/£&ç`xå_Ù\±€!§3¾V† NX#¨Ë¯T0CZK(¼ºŽNõ€­þádxLbŸqïÎÃ÷øÆÑ8ÍL¤€‹€x7JÓ`“1Khþ2ÏJUópøÊÓvWï ܼÑNúÝaÊ÷ë<Æí‰I°±ß—)¬•#`D(l` ,t•IO;‘;¹šAyXǨU$çÄ졦G/$TÄÎçq€"Ê^ ž)v§eìèÎëBb3…«€ 'úKØõºÚ.å6î+¯·ì:[Q–Óp4úu6¨ñXf—¦’Š~A×FQ ·I¶ø—½—=¨Þn®í†¦§p„kr¡ÛBöÿ%ÍŒ(&_/‚¿»YSäñ–Û–3gñv]A[æôžrÞ6G¥ª9pÕ‘íXÔ†NqeÙ¢­¹âöໜŒ¼ðòaa9Ù.„“×5ƒ9©3°5çü[[£ B*Ñ%ÐI½¼&ÊÇr²µÃ^ˆÞZ"ÞÒšš>òZ8ĵ¸ŠíES¦y‰6½ ivïCÒì¤]e!›¶*-&¹ž)ëmjkri4rtÑú°Äï‡u‹77ù² >„¼t`Í‚Ï"Xo.)à8N[Ý õå,hŸæþ˜ƒnÏpë”e‡@„} $Ï/oÿáx—Å«ƒ|;ÏUê”5JÁü¦OÐM cËYx#ŒT‰d©þç:ÊJ„\”HùÑIÆ(*y-ÐlÉÙ€œTïÀÞýxâÕ,Z2¸–OÕÉãVÁÝíæ:õ²=ÝÄ“O‘© ñþµ®¦jX˜»~²R@Ô_ˆÝôךSú€ÿ(ºMé9h¿ëŽ­"¿w²ÞZž°–vöY_ˆ OÒ`ÔH3?µh‹É.±£Xx5«óá†R\AåÑŽÓ!›5»¨ù˜x ÂP‡ÏÖØ^m·¢÷h}:óê0x«æj—•è‰&7ž¯$PqØ7f 1Õ¿€òµã¿éż„׈¾Ypn2E]¡žu ãߟ3?~#êz¸g: ñçM±L¯ÊKϵŶ#«ðGœÒ²Žñü5‰N~ÀÁBŠŽ^}\çe¯Ý,.Ç@JÏy!Ê©r^ YlàùŒa¹ÚÝž<ÛÅ\^ê¯pö·ßÿ¡“å,þä=¹ØScqJôé9`#Bp¦Âæ©M‚fÞk\ÅWwŒg—iÃLcþ¯à×M^‹Ç·äg9aq]\f£‹Ó»únt"®r Vóñ@ûæÂA™ì%±?ùVM"ö6INŸR+z)äo¹:XV|-û¯¾Jê(ˆóSš uD²—#’(ýÉž’¸PÌÝð‘obp©{³9gÍÍX¶ÔÐ8FòÓª¬M)³U<‰løwš)GÎ!Êc8„<ÓrP¦3Z0Æe»HÄ¥B ?“ÛÓNžÝ²C/€$Ý tŒíâÙJ Iº Wô«Ù/<ÓïÔÑïíТY¸J׬?#?çGä"o¸Rw[Éë£s ”šü©Ç‹¢‚nÁõßâÕ€ÌjJ+ªí[:kîAŸÞ'7úê„ÜieÁˆónQ,D7U¯S1jµJµ”d„ D[Í. ­«^<4±ÊóצÆ_wÐåcÓð¡‹*&àþFkÍX£1 ”DÿÎÕeÁtÂ6‡«u][-ÐMqî͹‘3yÊ;èà8ÆH§Æº›'w›ôr>&N߯†M¿Iu.BOÊ$Ê´š º?üLìSÓ´Fûvjúß„Ï>‡YJGŒÑæÊN““ ÜFdªj7¼{xÆÌáf¥ÑÚüZè_s´q& .`ú×IŠ5”ë/Õ°’ ÝÝ"¥ SpM÷È[«0åxphioBºTÕªÞ‘ÉëxCr8®o½^ñ/_íCß >Êh(•  °€ýû¹o홹GÔ–Þyø­1™ ‚9ÂaÒÉÓvÌÄœžePޤnì÷Z‰‘|âÏUÂŒ¤ ‡ö· Šjj²ÙnéõóÿL$‚Y/ÿñ£,†îW€—nϵ žm`2fg0²]ÅÐY|s_4»q‘7U׎_™DÔØÀ¤]­ê…;ðƒ%´Eu-©ÄS—š<-Þh³§, ´•îo©ìšà}Õ$u¤3ÈŒ½äÿìˆÊ¤ZreÊ 4rk6ÑF«ºu¢†¶VâoII„ ¹ò' Mv¤5.Zì·zßË9šŒ‘Iô‡~¨‘Ãú…Æ‚r"9°C8-‚Ä’ÊœgõŒq@i†rÓ;²uÌý4Z&|«Ø† |Áê»eùsp¥ïâÅÏi¶8F„¾–É4ß§ü¯¡¸i½ûÿ_Ñ9Ù@„YOáßMŠZ½S’,ðeº`•éI,Ç~æã‘Íj£ÞL€•c˜äåt¥XùM°L“:óÙ½Îb‘šJ†\er˜)˺ó\q¡´›kõObÈNAîBØŽ'DîܯFåV HCr6hÚh‡®‹ Ø5{àN(T×®2œû¾#¢Ÿ%YºFl¹''–æ9C’Xn ØìE¦Ü“Š´C÷Ì6Îöa¥mÒb[Ðý}WéWv´iŠlÈÆLT~´~0a–÷®d¡Ì Äx»¾`+.q0GôªèùÓˆ# iª›©òT+$`A!‘¢°¢"‡[¤wj•P-(.áæ‰Ð °ÏÆò˜!t}x:ûudÕXð;Æ‘<ºÆ­âú)¡,«ÙA\[’ÆcØÄ­¡ð5Ezbu,^Ÿ@jš|‘_4'ñ#’;Áóî¾±?Ã5Õ}¼Ò•a¡èíÓTÊ8áM²p-.ÔêKГg®³sãæî é²±®˜ÑƒÝR+ˆ_„XuÐÁÝ~¬2\Áö?’ç•_H'S m,R»¥Løl&èÌ9ã³ù¥²C&9B$7¯YœVªÉôÞ új·f‹(Ñ`cûE/rºu÷Ðì Re'åzÀ"ÉJ%òc8É­Q  ½âDuÐsï.Âë7>ÓÞA&8—FTP$ì^ óÇþ>ÇõØÎ8«- ªÅ«/Çœ¥üü†Q˜x+ž˜•;ÖÐOrëÂ8¹ÎSæ™ ×vÓa°ì—¡±6¡> ðFñ(•rÌKzýg‘3ë¹C±ôÑâKvd=N܆UÕµò¥s©9A›6ˆ¨a³2„á6·“<²:n¡Mè’8NpOz#ßg©ðYNT>}kïÂm‘H¿¿(‹Á }Þ`fùø?¨Ú÷Ñ›Õη’§a ¦Ý—´$º$W¿4ùc˜ÙÛH;—´/ÊÊ *{ÕrFH°Šxl;›™èÔ!²œï¶õµT²° ‰Ý nv#î?Ìå Ms'eŸ‚¸ÇÍjÕ"šæX:a‡§ Û>¢”ƒÍú[®i[Â81JXk¿køwúÀ†)•;@9Æí|‡~~åfòéýoRË[+[›—¶8ºPâ!@¬¯1T5 ¸°TÓúÁ}]?$¿KÙ´Eê¤ùÂ#V…Sœ£ìÓäp¹Äï-¿…Ä»ç©1‘,ÊNøÙ1 ¾¥ÿüê•Q§Äpà·{·ø˜©ô]œ—ýгØÂñ’Ë#jÌ{©·KQÎ=äå"0+Åg9”7ÙÒE}L€9S€·Ý6¸Í.ŽS7ïdö¬QlÛ\ýSN{£ªgEŽÚ}"9o3ïã¤: û€¨OE/ðNy{!£véNǯ¡XHÇ·\@Sõé]Ï1Ùýð‡XÇå¦Es|â\ÇÛJø} æ _[œ‘³¨QWâB· ½V Þ*ÜÙÛ2u°°s‰ý_-8¾/ ÷é`((Yb5ÕtPíÉ873…"é)yÙ#TøŽ•£39!ÚKZ¹;1ÜØ|)îò°[¦JaX2ß'n)ǡدr¢­ÁWÁ^»·yòé°sÜ ¯¨8P9óŸ–mÐZ†Ê> 1FP<®,…Tc7«÷Ve³ æšz›‘‹eD—ÁÀfIíesŸ$©DƒEå˜V½D ÜÁrtÜÀµ«ùÄ«„§ñ­¼¢ØŸÊÅBë­ÅòÍóÔÅ[.©òÎ>ª.!­}{|ÐAIR_l¦!CÞ"õ¼+6ŦȴÜi—¼¾dȘ¸ ÄöÅ~ì͉ß›µíàÑ¿4íÌù|^(fkû$~êQ/DL³ït‰Ÿ€¤l12~1 ÞèOcnsýÅü÷ž“¨ )5IêÃ4fp­áÕ$hwûGÏX¯h¥ Q5J†Z5¶¢. ®eÑ»³L;¶ÐÓ±…¦:7Ù‡P.ÕKtÕø’Jv(è»*Õ§=ì¾ÌØu!.X›ã*€K²Áß­¼¸~òkÉñ¦ì|*¯ÎœOÚÉ>~W,Ñö³Ã\¯$ƒï8€Ša·ûb¢ˆ¦Œ+Gí¯|á‹/Ø”û¸õžà>0®–ñôFFÎC¬>ŸëŽevùPù|æŸÀT€9 »7eëñìÕ è$ùÝÜUΰtt!öÿ8t“¬#ø<šUžf|¨P”Qľ±Øsÿ‡"*AL›ÛŒšŠk—~‰,Íœþ™jÆGjEç°êXÁ†NÕ mQÊ\'5¦T€Ç°ÑC$B‹~\U3†‘ùÆ›(§+¨VÙþ>Q?Ô§QHÍÍ‘d-^Ÿ®Õ€»ÙPó»­ÉK™D:ý5›ìPHÎ> ¦õ,O| ÔÞºa j/©¿~PTÎŽ"DòÖ—šÏ”ÙM»ÄYÐNV¨Ô\û‰8ÐŒŒseÜJÑe«ü¦W†4ß²© Æ&¬Ä3,½¢ü8'ò"vÒâ[jË –î/Rü,Ò-»)Ç+M§) –™ž‰øªsB›ô ààxW{n“˜eON×¥¿)шº bUzù| ˜-H¿/q¹®ÑÜ ;ÞøÎ\Üv‘9Ô"LÞè½äps¤l,<Ãé°4+uÛßOÕÏüç¿]pn%(ƒÃ‹µŒ+F¹'àfÅšÆöRÉ5•B^¹œ-”ñØCDQÔÜ·Aså죆Á ȵÏXɼòÔÉÚ ™JÄõÛolMµèi€_zæí)²€¥=i²’WnÎÚoòýÕG.+ÈÊ>JgB;â·Iú¤”,Ÿ~’ÅF­»¥¬?iâƒU#Gý £ùf¬;öëULß³G±æ­gžTÕíÜÝ8âËî8¡¨YÜq¶ wÅ1M©ÄfÈ·º?^Z‘GIÄB s•|Ø)8¾ ·Ë;,þþ‡m–X –³ ò{àÌð!³Ý33ÿ$^9/ûfᨥB†¦T=ñgØb²“O!\NQôã­;=3ÍüÂðí»íÇS8ûÃâê+¥vè·y.E˜ÁÍÁ+*hôn ¯$’õiO4ÇΟT6nI,œ»Ä N*§ñ•TyçVUÈ( €§[5š¸XÓBÍt¿? sB‘X´ƒï™Ü]+?õæ ?=t’f®¼[S8>H ¬¶íh >Ðó45sàùøyÌ}H‚«(\L“Ñ0ËšOfLt£óæl¥C®ÌIÌ3_÷/ª–GQÄÔ¹çRÊïàßaŠãî`[±£,¼²ì&KäŽìªoÓNËùõÑ¿;|kDÄPZ¨m¼W_{CM ¹M¯[k$i¼¾ËîfýP±Ø¿@‘8}ïþ<–ß…tvó!óY¬}\P\ ?pü žxö™§àýv;y ºCà–…urµÙêà.ZvÍÞD1lÝÜñáÇ 7 <Âê‰t€o¿½\Û¯áp€÷§äÖŠ¤ åÛË6çm¼ûÙ, ì– äö³»1zœÕ™ÜÙuEã’s‚¹ûº­ÀÔ_<ðúl=.p”Üã…­™rûXÆf­uÓ©&q¦_Ð>>܃ «ë€hè¶K_ ó§†ÌÅAÎCAÔŽ`&ðìRY‹H {÷²ףιî)Pp,Y­žb>–$!µåIo"b53<Ý ib*q1¼" ©„Fb&0ïg˜ç‘ï&?h cqlìu²À=©Þš^“)Ú²¾ò+É~¹Yfx'µvÆqÒÎÙ‡ÒFú¾-ö<7YŸ‘‡Á͸,)še]5ú—¶`¯…æv½·àkãßH!  –ˆ/0 Õ.ë ›×|Xª‘È&íâÂÔñ³xIù^ÐV¤zQ¼ 1fåâ?èä¶…I[oÏ x­"r~I§î05•»¥B§úùeð-©£ºæ5B|ëre†.¥5´ÈF‹!¹gï ë©Åœ¡OÛ4bèÉ1Z—žÕ¾\bWÅ Yïÿ „q5­á5ÞѦ! ë|VT1 tGðÊKeÙó¡px¼7Sˆ­¢W3ØãK›ðÀó›.jøžÒv9zyÖOIÆcà\¢s-Áì>1¼Üç'©È†Íô¯î½u¢ËµjK³a´Rˆ×ê-…‘Ð÷Ðqã/×Ûfô«Ñ'ˆ”m‡:‰ZCkݲt‡@ãƒü±ö¸kU …ûî|»­0=cC˜cœâ¥žúÔ7¼ž7¦C¡^ð„Å]üß½CÁãgL\ŒÊ ;#ÂÙÙw} ZÉxñ‹ký]½ZЇãyJG"ðhHGäùuŒmY½ËäÓÈ>TÎ`“ÆEØ^áçVûH/Äà ZQãF˜ñg–™µ`‚Eƒ„-x^JÞeÛºCùa:˜FW¡fHAÂëŠRpÚ»õÕ^ •Ú”R¨·Àù=¼Ô:!ߺ–ñ‘5ÿþ(› zɹIroÖª%–óöÛ¢Àjî ólšp±¨áãirh á•:²hm[q¶XÌáNÈõf¯Üá"æynª‰ïi™Îù“çâ½Ò(¶C°ZU‹í­1  þñêussü Ξ,ÅŠúýß’¹hÞ¹6lRõçåÙYä… I¦ªÊ‘]ì©Äþð¼U„òŸÀ4ôÞ_â:ž—‚ŒËÌ þ…¡O;Ä(•UaºêX × FO°É?ßbà‚Ó³ÄOÜœŠvn)Ø[hÇm]úN\û?'FúðaCÂÃΆ[Œ,-®RIe´Ì¼s±CyÞ- Çp h?òÈ3ž\wêžžxCt¦âÅÖþb§fÍCƃ‚6î‘QYïù•ˆÙÙ.À¤Û¹½¹ß• ù_¿. ÙÄB1Ê ×c`†¤N €SMal"hÒE~°" ;t0‹šxá’ púI<AYr<óèbÍŒ›)‹'Ký~mÈ"Ùõ (—º‘Œ>r¾«¨Cîrx&…ÏÄ‚kû˜T¹ ÛA,A¼Š £©«aUÜép|¡46Ä]9õ•‹7˜z?4‡¡Ÿˆ®z„…q%,¥Ï›*ìAІ©0e ðb…fÂĦF ŽõwQÅFÙîÅîü¿9&S¨ÓäFŠtÃ`äìܲEIçljàoæõOÄÞî6«UàêCàÁd¾Já–Œ’iñ†:¿!1¿gÐ Òj¥–U½êº“ôJ^Ðq$Çîp­î­ïv÷?c«H$Ú» ø™ƒ’À¸ScǨ7)Oâ2<—C|ÌÒË™Nö \¸å¹zžªŠñ{w¹p%䯼Lû2#üÍ4ÿk ÐpNãX‘½çлWËÿ¿€€ÆäºÔM¦3Ù'0úÎX%´òús«@?ÆpÎ)ùó¸¢7µ0:6Bz/Óæ*áã¿ðߥ"’­çç0!±gù”ÛœÎu_ðiÔé5n”3¿`ù.ÏE<Z½²×ê°Î-óïdòbÍ6,úO‘…Áf4wêÙþô³V-·Ë졽e @bB™¥YñüŸTƳ„` Âû+ØM2„¹ Ý섯˜š¤§ã^0ÍKýÝ¡i7é' SÀ—€ŠO¯s4Ríací,Ѳæ®öSx”›±7K±æÿ&(Ÿõ¬øÙ«IãU¿%™1A€f_áè_^ÀåEÒ)ƒOÇÒ0šÙšËG•tÖW^¨¢˜ƒ‹F´w©¨ß „¯-F9ªDŠirŽˆ¼ïûh…eCßûЄæF&ת_üvùÌ„ÍXG·–@æÉ¯ïMƒy50ê!ÊóÿÂÛ.Nû»š v_=é.aA!#˜¬3j¶)3UƒLå´Ï2{\¼GtÇ=¯ê/µá&B Û2jƒë?ÖœœꕳxD>¢‡áÈ+^ûåƒÂá .>¬!0^ñ¯.÷µCà©îÎò¶uw›ô¨Ç%½£ö5Ծ˅ùô¬œ9–l™¬Éœ ÃNªS¢·ˆ-9ädà€Õ6Í¥8“¦þÝ>1û=*c’ ù†×¶OÇw(—í 0ÀµaÞ5 «)—Ãížl©W›½ˆß´gHá_Ÿ©=¯)Þ~ÚP1‘"¦ý¬ŸFvG-Ä‹|±]>S²+” …Ńҩ&±âh‹€N¥üÒx´ã8(À¨Zkî4ÛJ̲¿‹Û_UÓJ>o­møW«¸ZOkcgúÒçOÝ/E<$°¶ØB6ôr CÝlM¶C8òãf`ûỳêˆVe‰;|C¾£´þÃ;öî\@Êq($æcG#ëý?öÃ/^`îÏ×FPĨîñ+©åÍ`"¢'0[­ 3Ž›Yæd—¬‚»˜ĺN¨Sh&u{ÝäÛ§ë¹ë^Ç'ŸÕkÛWU"êkˆM³) һבÞÌyq?½ë¡}¯`*sf«qÓÔkröã^{¨VáýåÿÛ2lârAmÓ¸Ö‹Ð:†žŽþ–çíKG}Pq´ã[/vVZîmÿA» xe޽b“ÙœdT.Úœ¼ßË5Þó+L·j*Š9RÈ_œ&ÃP¢†}¢ ¦0Êg‘•€½7 v±èg¥»²¤U/§&-Mà®\VäÙ&P½0NL9æho~G“">«BÐLþՈʂéidUœ@ßÍ¿sø+—¸«u-ÜÈ&£ýçáÀ:ü„:GÖ³,7ÄÆ©æ 6ó]$:š.«½(‘ ”ДîaZއ6B ¨Z…”¢g𼯠OwÞ‚‰ã»ØØ(_[äêD<~‚S&$,36,õÅN™ŸÄxŸ#ȼ+/ÿ½ò áÊu:‹í£2*ßâÇO“/)Š뉷œ…ʠ¿]‹é7jé­Ñ'ÙÁ2Á¹ L§îÕ ¥²ýrç$¤ÄtLLй¸D5&tÿí¯¡²öÀ•µ‡ŒmjU(’·$(ä2Œ¢¬ë\7¹P’³¸Î+V޼DÎCóT¯1™¾îvÀgG.È9}~RE¡«ÌÑÐÙÕ¢ZX{ÄvpèYó‰œdúÌ ëWs1EÝrá&dûˆÚîì·6ÚÇ$„T=aæœñ(Ú Ž×°)ETt @À½~DWîÈ^Ћ™,À_ï*k\æÐθ±ØTq<éé¸ã;êíô,—Æé³™ãvÃ%³¶í?Û  ¨+E ê\6•Âk—-ú=pg6Q 膮´¸l¢€ÛÃ*¿0€!l©Ž¾¡9»ò5âu˜”q–™žoÇcKò>™ ãÃjM“£úªuWx-+EñãªÄÈy(®/à€v c!r´ú®‡ÙœZž›ë›·É1!óSWã1wŠÂÅõhï)ôÌ\Ú^!t§0 ÉÃHc>C¯d•ïAt }HXxÓÓS÷µ{)7 ×õÝo™¾O+ñè½±”ó«àBIXwúƳ³zärö(Æ.k²ÜQ¥¶=wô6¤ÄzáîSÔðV£{ÞMïŒ!Š„!¢vž°ˆEbÒ¹?0„MFš:: &§`ï©óß‹zÏ˓٫؎ÊTý¤,|ï3ü±JºÞc§Øà‰<•S·kHžn[Îú2™³3®¡-d…¥å?µÖîÚ^BÎ “;G€8®ÍW£.šÛ‚ó+í­Á²vOÊÃ)X;Ãu bî܉/zêF<†Žg8ÄÓ{²ÑXu#;µw¶¸L ¢JxÃõ±«¸‚ÿU¸‘fðÙ­LNÉÛ8×òL5a&HÏx½Õ¢ÈH-̽Áø©Íò²²›Ïq žî1ýz ÌÒ»?i½3ÂÍÐ4Âñ8ü¤ý""ü¾lÒaÑßQOɸÄÎpmÖÞ~F˜# _¡ÊÅÃÕõì´¶D\±Íc )[ÙýÂÜ{ÃÚ‚Ëœ Ö°l¸0/1ëŒZ'S&”5P•‡Þ-Ö¬íÐÔ™©,Ô=T7’ðñÝgpx1rð‚«yI™»F«£üXÚÙ,P‚ ‰É‘ÏÁ\ãæÊ·,• Î.³»ÿ;˜¬sàWÜèÅiË®¡…%ŸOÐAS7÷FØÂ£õBf8Ô,ð£â¸‚¸Í-M#ˆW+ƒ–-‘IãO3]\žJç©l¨¯©ímÌäLБÄ3Û BŒ#¶ É Í0]^òÏÜ¡MÁ_a-ûvø™+‘p-'$šÏèÐ1QR#Cý ø­/Öû›TÐ~IVœì†?zÞ &° –7áÄŽ¯ó9~`ÃtqÀH¥â§íÖOö–ùhWkå–LÔÅ9Fœ®Ý³á޶ºóâïÅÇëFBuC°§X >¸áƒ‡L2öO67Z^KsêåÙŒsN‰&KÀnÂ-£l;YÌ¡¥ö€m"Ø-{CGµü¼ÔTTòæW¢‚•*p[ÑSqíNC–óU ,”­´‹1q ~([]hR³í¬„›š>$Šógá ¸=‘·¦ >ždœt6fTÍüqÇR¦ºp›ÉjäðÀ-WkcY ‚ö }Br>ß"£³«¼ÎØUªIU9Ì$—<Ê9ôRë ððšùúõ[0›—4‡òžÙ¨Qï )˜WI-Â쀌³Š.E¯ú‰{©¡Ì‹ôvŒ&_ŠÈsÃ`6D³` ½'Ź¡ôj¶ÔtÀI‰œ hž êµi.ŸÑ1¯ð±÷&Él¼ é˜Y¾økã (ÊÿóÞÐ?§t$‚f=¯Ù”Î cƒ\É@¯šgG-Tò¢uQO²ÕöúõqXõ¬=ç§{è\樰`Q ÝT6Ýë:vrîÅò2›ìÇ׀Ç*H= :±ç¼Aãw[ ñHÚÆ4Ëølf-îÆIø¾0sÛMÄ\‰ÌÙ‹gE&Öîfuß‘k»×—vÌ3¥Q£³ïhÇ\ùºRÄä%óo> âW÷ êj`&f6õxÐ"„š~8÷gqcz`ï"ÏhôÝçaµŽ…i(Ä!&çx†ö;K¥\Aò ùNÈ+‡ïµ<ÜS‡WÃwý1uVVïÐ6-ñSK­ñòÇ ÉZë‰ÄÔƒŸæÐóI¸È“¸01ÊMqúf{W*œ]Ù›ÙJ‚Â}Ã9ƒ\ 1O”Þ§ ò‡ð·ÎcÅvÏm ÙÔÓµR*Õ&uÍZÁ íAu@4lùþæÆÛñ¥`t£„x_¯šHÍÊ’dŠT _Z÷¦úäÃÅÑlãYŽã§G"ý_{Ø¥nßWp”Kß,@M¾nvåœ^Ñxf@ªˆŒ»5t.þB‚lùB…ÔÇO½Ì9ez‹1ûûjí°œ­t úÚDdÝ.c´V¾)`ëÂ'/¤,à[_åvÙ¨%žVe‚ÁujIC¼Eöå7yÇ7*gù°9U°vPˆkk» Ëëa\‹vt+ŃXŒpUÑuUlÀ~ËGßõ_;£À—v‘7Œ^‘pø\ÚëÍÚ$Ðkü+(½¬ŽŠpŸì—ØDÚׂtrôüÕ¢¯]€¤(Ç‹cwd7òÓ]<¥ÏªÚfçúó:l"•¤ Ž±]§\•æ¡éØLãŠÿrìÓôÁœ.ÕxÚ踕k¤` ¾Ë>ç¥y,*ú`'·“h2‘o)faF,%ËnÒÐ 7W} ´'Î?ÍgÁys~ÚLî·u²üCÁÆGšW)Ì2H+¶RØTg ¥.¢éxÇÙø#Ø,Á=¢ìõ rÌ6¡?#ȥ뮼²äˆiO°W·ÍMÄm:3ŽJj2!c-DÂ2ÁÓ’Õ¶´>ŸLß"üDú@3ò„–ŵúR|Úƒ‚l\µÊ ÖAf‚.K%KteÓ_w@ˆ™:ôÅl0­«¬Þä¥>©¦:Áÿ~,q.öG¦âF§kß lµa®‰\ö„"18…ò!$yÆ®¤½à£¤‹•QF…ñµ jbûiÀÁÌ/ü3Œ°sÙ)Ô úz& ±³¿}U“RËY›2{¡E@µËù;r$ÝÞqC4L¾v9¨ oÆ;‹&ð©™OÄöË›êÚèç‰ße@®PQHúâI™€j_~·-Kº7,lßa†tà̽¦ët™z3J{v ]Ÿó%ÁSÆ<Ò£/»ÒÙ\Y£L]ó±žE*¡ì‡ôD½§R<äÉã‘U7UŠÑ#˜ÙV˜5ëdyte+zÓER¼[‹?+c04IÎå¿+â‡èw°ÌÓ4ùóu éŠ\j‚„ ù³ó½VÓH øìê'xî)Ds=e}…³–/ÒǶe·šDj`êRn'brÊ6,›Ð/Lö9ŽFµ]QFÆ›îÉÄ1™]x¶¯gP÷Ü„—Ý»i&êÕÜPÕ‹™6¨É”ÅPýJMúÜfʰâkÐW<‡!µC…FP6=$_Áy ¨À©ùüq­×¥=—‘óëË+rU|Kí£ÁÁE,Y Ú¤táD{áA½S‹ n6ínU b°“&ÀÙ%Ãéó/u°¶Y®Û˜¬Þ!Á(ô3ÈqË `ÀÚE»_0·ç”FÓn(ÝÁcÛÆ}XWFýR™¶ðŸx‡ÿ·°Tzø¬y>ˆ=˜+sÒQ]BŽ/,ô’*‡¶!…YftÛØ”"ºÖRLE`¦i4gr+B?ÊÁc{ŒÑOâœÄ ±È™já—²ðÜ4Ôë.xT øœãb2ˆ-'1÷÷(áhDŽ>†I8¿ýÚ)çI|ÉEƒL—ßʯ,+õû5ž¼HŪpl¿èЊ#„2ãêΞ=ÊóÀ¸Æ?Œù]~á˜Ö+6\Þ5v=ʉc_¬PΗ/ ZojY%9× ¬/³¡!åØO„‹“^¸ÝÚǽšÄÁj\Ö|:ÍCzëdÐõd+iÉýÖs£JïæÒØ*Ð32¥Áj“ôââ‘ &6ÿ9ʘ»èh,7ž#;4D©V‚—. ¨Šm—f÷Ýp€ýòP`ðΧ;ãJåÍÖ1æj`Kª%¡-«¸4Ò±G‹šÄ®ƒ„OéúÝûåu’}è$ÅL¨wEƒØcâßqÚ”}†0…ÐÞ1TËý?³­t{ü&2ÓV¤+xz/€£[ÞÚ•dÝÄ÷üÞ%èœKWSÖî2òÛ¡¹ñc—Ȧ§çÝ+U|Ýw AquIòóö}ò÷ó{E¥¾…ô<\ª\<ØãÏY¾¸õzB¤Ìh‰ nãrÉ‹Aä‡S‹¹q~=„&:ã"”é2îUdBâ¨Î£í×à–êñ‹¢ÔªA­3~€( |ˆI{A½¢xú$N|­ ÌÐÞÇqž®,ÙH³ŸË9éEª©ôE÷FZcO®s1H¯íªã›ª|SD°Fb¶ÿ>j…€Œð;K;öãúÁC*'áÎú’:‚áoõÓÏ¡˜Þ–¤ábºÁtû†¦Sœ ”¤þLe0Õæ‡‘®¶Ò•8dµá»E3Þq„Tƒ±qU¦ÔÌ~ >ðgqˆAâsÌé6è<¨«Ë½Îv²@ÿá†/5H÷Gºþþ¿_)3úç0æÃêô£=Ý¥¢X†3mÚ»ÑYzØà^S|çf)ë2·fÞþ¥m L—;f‚½½IG™‡’O»uð¹þHî0~c<²SÞ‘ôútZ-uG\c“6”sV¦oý979±¹äquñlÀfÏ ¥³¢òß á ú8¸Z1‡–"9QYðß,°ÎëXž çÏö¸ÐøËL÷#Æå©Ñ­$I:vTe5¡û=Ík;VkHý2Ÿ§(”Å)¹-š’€ç’ö…~m‰µtŸ–hVv\¶¸OOâÇ} @K/Á³+±õz.ÀÚJ†ŽQ‹bFóqÔÅ› ½œŽâ£œ¤é1ê(C3ò–œ¸Ù……Ì©)Ä÷O“RúùÛØÊШǫü*7`Eˆ¥?µ)¼–!IªƒÏÇáÁVÈøÚËotUŽìTö¸¶^"ab¤ÀÌ^F+H*ºaÇp˜æKsW&g‡zú”DeT½¸Ÿ¹„y £øÖúÿCd»L©1~8BTñ¤ä3ìô—… c«äe¶L 7^ KQšzÌ…Õ°L!V¾¼.kµ¯2Ö ©_Œb»Ús&»Ÿž‹© P8.°ØJ^æ¢%çU·ž*/}±‡€êÌ¡ÒTÀÜÈn²NÄRéBýÕj/ssiѡӇ[²{1\2ÿd6Í^Èö7Ee‰å)ŽpÆS[›;ÞËßG] 0I`ŠËÛ+uï×ú'&p¡F+1žøGðH¶‰¤‹ìiA•ÞÄåhߪ…0“åØŸ@Î¥—¹â-ª¤VMѬ}Mw„``bàÜ%¿P>Pj›^ÁZÍc~ã?qHp–>ð 05UE#cDÒNyb 9¼øhj `ÜAõ–¼k< ­õ÷1{Ëù–Ê¿ƒ|?KJ\ÿP}7³nx,½°ÂÌnÿñžŠSzÒ¾×C¶„àe!0+JËj®Â?M dMNUã›±…×Äd{‘¯äk¸î5³"û‡åüWÂàf?Š&zm:§9Éw¥ ÉÒžTƒv&pìµ¢? î‰ »qºâMº /Tu½êÏÅ·I”©yü¹¦Š1¾ÜÇÝ,×É„nw²§B;Ä~­Ž?¤-Õ©õuútÔQÖñ4fVp)¼€.µR™–zY&ú÷üiJ¢œ±ŠSÃ1êñ˜îuVNÅ ¢9p‚v´-ÓàF+„ØKS¨hÅŸ¥³dh†ÅYPÌ Ú):$´^Ä‚œ†|·Ï]ÈÚ¯Z¼Â†qyí·kÜ7ôjȶ_ÐÒÞÒfüBFÕ-<›´|”Ó ¯ÿ,•æ’˜g;á8,pá¿­Ú•;|mWa^âZ¡`_ƒ®´)1a+AÝœLEÅ1žZŒ @ûÒ*ÕÃâÄ~¡ª'RÌÕȬí¡G•š¶ˆçf}1ÊÔÛC2Kp÷{¸Ô¼ðq3ïÓ¶BY?坿<~@ë—üL›ƒ2¥€œ­äÏRßÍE»0Ó­»TÝ$–Ó÷Ô š%B²#üÝKοœâ‚B|ÿ„‹¼2žk¿ÌIø¥ª¯EæúwÁþ¬¥>¥sRÃÚÝ0 ’¢ô 3Ý,ﯻ[$'è´}Ñtaà:ײ ˆÈ›CIÿtƒ†cneÏ~œÔ¦ùåjÏaXoòÐÅÑæ>«µRXcSK¤œiô®v0ø4,ïÂð¼Øì FÖ⌇Ùp o] Çê¢êHùÓt~Ä5ßç¶<®4ò¦Zà°3R+2Y Ú?£©¬ìó€‚t&ñ~Ýkƒy¥VÔh|›‰±‰ƒ""ר}DÂqU…F°!=Nëh iömØ•ä—ókˆ¼S(.—ÅP¼âñ¿J_=žË9« ü¬IO8­¬NÈ“ÖkkЍXEhJšs<øUšEK ü7ÃÜh‚÷Y«¬¦©#¡Ã‘Ÿ|¶Ü„® ⣛ƒ/õ¡ÝRR5Q›(1–w"ÁŸ”]}˜3³ÌJ²}Ý^ïÝNòèIÅQ;Ÿøüv¾§d‘;Brb6ãå”®9vc‹®xçÞ –s{»å¹) _Ž'kª„¯ XÖîUЈ áÅ9õÙ—„,ÜÂÏŽÖÊ•y Í ÏfR¯¸}”ŠÆJ==E‹’¨b¾–húÔ»›bsè¿ÉåÓ)ÎHʼn4@µKØ·= Êð¢bkš„÷¡ h_‰î “IOO=TKãžIi*EØ8î'¬rž˜fÖ2Ò’»ìÀž²Y†±s-Ó~ ³¤t²SgŸ„@‡ˆ¾aܲYEpø•´xEGPÒ¤ž‚PaÔW׼Ĥnw¹“”CKT 6Éßí«*Nå&wÙ‰Ô£Wòç´âBE. {r¸0·±;}€sÄg—Xµ‰ß%ñ$·ÐÅŸ ­Bs]{5Ì [æ\-ùSÛ¡ïF¢M::´ žø1Ƣ̗á)#¶äÖ†¢m\ˆá—ŠÐ®G O¦ÆßÄ-&Å#pëÂ3Kϧp‡:³%/ ½ÜÝO2<‘çäITIv?GmWz‰}îç¼,`ù cm³ê¬Èé'4CŸjBB«Ië52ñIÇ*ª-n±zï2§Öý7(2üO‘vPÚM…Ó›àE눤qÌ œÉ{»ºe°wˆ\åèâh<)±» E=U6’cŸ°®šÙ8óyDX3ǃc©é;Æ$Yæ°÷½j‹†{.@­@¿PEÀùºøMïÓá†>¯ôN›=D¡é¦OÞ÷œ\xûã“­RÚfÙвœVú+|ÜÉ[2–Ç_z͘w< œ)]K>UÜ7ì"J’öoØ%Ìç¾öåyˆdŸ®YÉnˆŸ~Pbçê’£ËJ©Ÿ3ÙÌoƒ‰y­«nÏh¡2íæÍ~ ½¸ÈœÂ õ*p‹@ ï…!­MóìMñî’ùÎ û·w)ly)‚ýÙ “krHLƒ¬Šý{xÖzqÚXZròPÝ%i—»Ù%¯øÒ^dqߟä– EÜtÏ›*ñK]û%N59BSSà.SöÒwvEkœ?OÂt¼ïw¹œ4\®FŽ~{ÕÑ—Á`ÝÎ8‚þ€óóòW]©†ÂÌ’Åw¹KÛàp'P‘(%;`=0åØä\GóqœKeyÎA²4³!°",[”Ÿ±ü‹©=‡*Sï…EO4¾ §ò€‚þ «“âÑrÝ¿§ ¼”ôÝ޳2̈ ”lß Â®Dˆh±•ô^³þ–7ScÁÕ!¶<¹ÅÐ)4¬«ÃùïÂ+­zhŸîÇÐ#Wù£ßI ‡SiÂ|…Ê=·sð:ð8–– AØãN $÷À—øjŽ™J‚<1ÜœÿJçXÐÐKçÊ¿«Þj6ê:kxA¤Á R&©±¡4O·»Î@f›»€"%>3QÉAdñ%ßÿEÄh0o[ mÇ« ªLSQÈ ö›¹! Îsd]çþ¸ÓP毻g¯·¤ ÝY+ô„KkTú¶?'—dÊŒaÿ…Ÿ}V!­ Ùn$&Ý ü€‰eú¦3öÃYþÞM\èÕŒ7:|iÿó0îç+tàW~rçÁ ÿ1—#ßiî9AJ¥ ´&jX‰@s‡½›J‹²CŸ§üž&²x)g‹ª9`;Ž™”ñmó6P8«Ó+}2z@w§Õ!µLö‚ø²#IÛ‡šqá;þ{š²ÛÀÚFj}€ËßÕ`ÀÜ:W90(ogòÎÔ:58néSî9‰)e´Î°iyM[Î/š`ªŽV¹¨‚]±Œ´Ø ƒ}1¯mKd¢gÖ5êþ.*¤>†‹9±Ø¾_9DOº¼<2{Æ_5E(fgÊ Æ‘Å^FV^Ø­htÝ–ø¤úýEG©Ø!úðÙ²2ò‰ã|t‹‹Ã 'ï?¡á/bìîpd8C}èüãƒ#š\½~a«qÉ’P21ÑÎ=»"wÑxÇ­¿Ž¡ø#`[®!îȪƒÖ+‚‘dœãUà‰‹gúvʱi6‹2÷˜ƒ1•6!ôÉ.Ç:‰iü$â¤æ²ÙÄx„¨Ñ»\:„kc„òî€ÕhŸØ-PTƒæ ¿1¢p·¸Wɩɞ %mùÔÖÖþƒš{ËæA¡¢ü³“ç(‘ÊǼ‰Ê|<õJ×í•©ôžõ꺉gƒÀ³IA¦y´Iõý¢á›émHsmE€Ñr€!ÔÚ>`aÕåÚØ¶b˜—£r’TîImðoîlùÔíXn(tMÜæÒIV;™Îðúg0æR$ÖÈg˜\ŽêPzb#»VøL<ìËDµ.·Ø¨ç©²8ø"¤š‰o-ðg“_MâÆ• SÕ~³µM™Ȼ%ûcºÐÚá2 vW‡5À¾¼`ˉe”Ø;EÞsL©cÒËñ¤ÉuûÈ…êe± ¥Ð…Îtø o*ÒüÔª5JÄÎL1~–\q'kKñʨûwê[³8îpÈ×ur1;箑A‹Qº—¿$4—YÊ+æÃmOKÇëjÒ‡D‘•_åEåÜÉKÜ݇¯õåÀ:C}û`‡;ËÌA¶€ÊÛ+&÷u¼š¹ˆÖ~W/燞b¶ŸœZÇÚÚ¸–ŽÝBCç¤V«ø8ÕǪ±ìRzûjLo%Óp4¼|oãµQ˜SÞh20íá<àÞ;…¾Z?œ$¿SÎk_'ÿìïAë£c™w=JN*uúP ×f ŸÚEÛò¦²o„ϰsRÇs¸J18lqhƒ(yÜÈK鳆޲EO±Ê §}Í!ó¹|mö#èrf™ŽTc $ëÏÝ c3um[*Ì•õ9HôM\ŠÚåÃðx5jû¯SŸ|?é‘Hd…E3nƒºl9ŽLiÐP±éÞ‡té{oßð$v ¯á@«›.?L¢­ŒüÖÈ!´Â™*^Ž}™’ˆS+ù£'Ž÷—¨ß U¹µŒÊéµ¾±Þ´aèáa¼ðšˆÞ[<¯LT}¸qÖ‚‹—"¾Ú†7õ‘&–é.A*ºÑг¦~)mrìpÙH/&X ¾–URK༊q¯v ¥ë˜Ë:L<ÁÞSžŠ<È…Ô²ò¡z`Âøñ/„Ú+¬]C/øçÕv­ED®¹¨+³‡3÷·ò8j[Üáã±_UxR¦7ߥ¼ß ‰Šúdâëp.9°¦ó'á`Š@zÒŒ­-I-ã,°kè²ùz3ÂGŸÂÚêŸÁ]v´Ú!æ”YFJrI¢@#õ’†xûoÚS± Ò˜€›1{Ф£ê£’@­¶a“©üGÞ±op7_±- qiàÏp°÷4jG€mú$8ãø§@¯Z§ÁVi-Àgï¾ØdhrÚ¬Þúe^(uI­›¸ÜzýlKÆ(ÑŒ&eJÊ)Ô{,f¯ïKBÙ#üí&¡§óâÉyê#–qÿ'J³‹™ß@'«š‹ê¹¶ÐÆÌ¡yÜÓÜ œ_ÒLÃðBE)å—º*¤ X:àRP•ºÛ£çÙÔ·ÜdÉûº’(Q[Ãñ¾Ü¦k‚Ißß§ ÍþŸ×šSü vå‘›÷Á –Á›DeÊr~£ªéÜad—™fÄ÷”õüú/yk‹Æ¼Üm ¨ÀÀ×*òBe†zG«%„üÓÙUIåÁdž“3¯æ¤T7Ëì ~#«KÒ,O° ÷#ïèÄ\FÛ/Á”ï)6ªnˆ_ªÕfAÅ£€vü[ý¡²¯Óî‰ØP3¡,óã?§­ü ß”ÿ«D”k“ÒR}8?ÕTõSZA…½ñÝò_Ï»^7"#2Pýã<²öšJçpthwÀµðòðü<l¬4³ÞÝÚ™äBUáyòf°ei*‰(Z6ÒØ¬-+£Ý'o„é9eÑÁ@÷ây¥…Ú5°»r©Sø…±pcúº£ÂêJ‰®¥q–K [O5˜˜­E/ë³—ybº?>"c•:”޾ÔTyV[:Éœ«†Èxî+äS%qÛ*°°£û¶âìØ`Þ¤†ƒ_j¬LÈëÌMTc`ïÊFIjAÓÏ//TcÉç]ÓFUzâo(§¾Š©IHS?ÞƒAT„©6uÕx&0}/Y{unìŒwl¨Â㌩¶ÖÁ (²ÊlèAL§•Ô „ªxfŸmè¸ hRÝH‘~Vq>ÍùQj>_Ù†V½û?Aq+øŠ“ü³ò—ÂdgI­ *³å™ˆö8qÛìÁ%”„;6wE¼ÁèâÛª´¹ŒUíòæ†3Ò` ¦ wWèUKÙ’þ+¾ÖîêèÜ.w‘`ʾ•µ þaÓp •Ùf“2?ddÂYšÂåU4¬ìS%zßèó:bMâUC«_'‘”,,¢®&ôWq†w¦HÎtÍf ¿¡·€ƒñ\*ñ¦¹€ÎF2¦ç7Òàz}YpQ.éÕØ÷,(ú'Ñ^þN|sØÊf…œ°¸ktêH÷jïY°|öd‘bj§›÷Dãª6|×£ðÙ:ò¡ ß‘3®eú*ógôšud™ÇýEq¾ÿ±å‡øØÃ & ¡«íã8R¡„~¦±hIp?ïN&9”£¤…!þpYDJ~3´ó¾LYeT'iÔÿ3Ë⌭QzÎí –¿ºZñ²Aèhyû“²Nÿ‰>9Ÿ¥ÍœÜljJö„MÉç+úR`RÆCäò[ôMÒbÏ"o¨ÕeôßHxÚhE˜$ø(P 5 ì8¶æ½*l¯Êt®9åÚcrPQÃÔË4Êõò.»£ 5°‡Íævu.îy ñ&/Ÿ*tˆj8mõ½Î¥åv–E&g•FÏèdNöñ‚ÏŠäÜûªî‘ÀÙ£Ûfg¼U­r]}ŒLð7^Æjï|©_À ÝÉ€WQ“-wyIÝã¬û(ç&@b«—ÍgUuN«rÞ¦G bxò°‰D¯‰àÿÒ˜ÎÔËæ*Ú%È@ÙAuôPfë6¢cˆ/.MáœIf>mi£¬&éžÀP>cVÿgÈ'LÞc”&¶Ÿƒ TËùÀBå›,ÕNóð•§Ç%ÿ®›¯P—BjÙI¼œ‚Êw|X¦æ uì¶+zY¤ßØ–Û-%áñ(Ü6N›k5 ¤£dѶ•1@ª‘d3Bq"fàÔbÌÖ#`)¡pŠâ Œ~ÂOcú­ÒmûAÓª'N¸ºQñÕÄÔñDidi|ÔŒÎv ÐB€Æ÷¸˜–jMŒ>¤yÁÎ+  ÷²C­J!”¦®D­mÀõ9Þ4(™Ù EÍÍñ®6&‚”%Æ”÷ÿÝÑ^·°glÿnÆô«•ÇòÜe21× à¥.¦æ`ßòþ¾LS6@- ›¾Qóîžé¤7‡ðT-Õ±>¸ÛG#²Íãl© <0”(íœ.8hó…/Öˆ}Àûê'NÈ( ‹3ÓEÝ*U²Ð Fýã¼Z¤þì}ßÑÅo‘ ¢òÊv¬ü&ú²uÀ­Àèƒ-®éc“IGŸ¯jÕQgšweOBìn0¤[WyoXŒ ¸œä\8ßõˆXà½&;‘Ì×wÍø'±Õ]Å`øŒœüÔ?Ô½}ª—L™Á&ád„FO gÌÐBDJ’åíŸ-Ö~:g®ï֭ڃΜ›D¯ŽÅ’˜Ñ¥êFÌélXξþWÇ[Îô ÚŽEdÛëŒ:®òþ‚IftEwüÈhYN¾"¨jò£^}DŽŠ¨{_”˲ä‘AÃÏŒÒSØ>B ¤ #VÖ„sÆTÚ¥àÈ nEâší¡=Ï+&lÖ.Xµ”[Y1ä3¸i,у8ódM¿"»U~ñˆøËïIŸ¨K«ûáÊ£JJ²ùz/Nû.µ à‘ \Ê·+7DU_-¨Ò€Æë*ˆä©åRO§ak_á"ë‹€þBò€wãDjEÀœ€¾‰çËC­VÒ–4a]"É‹«ºÌkà`@ò»ÙmÃå©¢ðÿÛjLJ1 –¾ƒ½@}$L[§B¢zЪQ´Á:ØmÒö¢Fvôžë¥ HQCYñ¨ºó<&‡æÚ£$s4šF>`ÃJÝ™0¯‰‘J¬¤b—ÄýÃïc´v·yÂݽˆ}A÷ó…Q é=-@X:Úuˆ¿ëïç±K…þò< x–ˆÂ°°úpß×~†»ƒëf…-Mîæ;?Ç)WËIþ¬qyø¦„‘@‘ß};G{#œÈz‚gšjûÜ3’@=‚xÁò#îò7øéŠ2&.+u9~+–ó òiÜtk´£ÆA_ 7’ºñäyôÔV‚äß®ÜXqbDd4ž£iß–2`ZYAßÏs~É4÷ /Ç· D„ ÞÚ…eX›²fÏF›×<è y{òŒ£•ÿÙÕãi¨¾^K‘—î´Üó¯ù}Þfç’¦Îs°£—,+Qÿ”дþ„öÊ–ÕuV½èvm/v³¼ü ZñÄT‰íWj^yR'ú@l,_Ï’·I}/œ@rIPŪž¾$üÁžµ¸ócΪO©a½ÌÈZ‡gŠ0¾MIâŠâù0•2?@™®Þ¶V¥vwßÇÚu5°‚Öƒå(Ó1ÙâK ™3^·XvjñzuqÆ•¢VöÕ ªe™lI½„Õ‰.ÎŒÝ?V1 ¹‡=Sîöó\Ϭ+\¾pö‚ÑùF®Í&?ŒºÿÔHâ¡‘qoĵ÷sÀÖq$ñ1ç,Zj¾‰ùÿ¢\1=5kMèt‘áæ×·Wªß—ê•mý(G¿îsÍ7±èó€öÑ?32…ƒ šó¯º¡j§nz7u­YÈnv¡t†)/©Ù„iükElJ')ãfÄ_Œ 'ûÕœ]yO¤Î)%•Aéö¦¬ÿ{‚I£vW Ø"XpùžN?' —µ¶ý{ZÝôօ T¯ Qõ€Ààæ¦äT4WLËÇý±ë!5³Ì@•R¬Wí¢ÆÈŸ²ºiÚ.*?… c5>Ø4Nx—'¨Ô?Äà×Êå“C›ùN‘–\zåYóÔIÈñ­^’ù.Ôû6Ç-ÜÔ£ôNè¶öQAVyÅHŽ*MA;éZ\IÈ€#Èë•‹ðÌCF%oº§ÇÙK®*¹†O(q€ªžv¹8ã`õº@Š5Ö—‡xXxê9†JjŸg¯=‰6Z–0©é¢V·[•í rk>%¥@«55ª® (eY£U¡)±¢·T¦I[ƒõÿ‰µêø<‹ófè‘,|¦µÌ+eô°'ž9 ŠzdBÜ€nFÓÙ)ý…R³ÄËø:ùMøÍ²Ø‰4¢ {ò‹´¬•šB—u–7dæÔ@Hr#·#Bwô«âò‚mèÑ#5 ËòÌ‘×E¾qž¡½«CÐfÂÃ,¹ªáÊzªnLg†´v#ÞŽŽ´Ê´Zå°«¼Vìtk“´ú"¡èdd^!‘¢ùcðæŸ%í[e³—N=Yx•ê€Ië˜yW ôX:-ÎÆÞ¹èÞYœåPw4Ž5¿c@ç †Ø6FÇ3ñË}ÐþoÃdëÃ;/º6d¿½Ë•¥Vr4ÎÉvy-S,œòÊ7Ïýlþω¾¯înR5˜…d‘.üQþ2YÉÙ_Sižã¬;îäP\ yèÂkPSdlI.¨s ¨Ò<ÑÁ:™á3Nu ,òòGaPª„Q”Ö@?@ îKÒG$ÍÜ©¦Q,iÜžµÒ(ïX¹c€ ²Þ$Ù¤äOãáÄ5`PmÍŽÔ=:gQºãý1Éà~fK›W²•è BÕ©§èÆÖ©ƒ´f *»dÇ­Ì ¨vÝ£6RèdÛLU•÷´Ìä*£œ2î…ûZ“ŸêçÃvÉDk‚¨L’>õ1S^jÑŸ^Y}D ²Íz1M2.˜—ʳ­ï>‘jÍ9³iËÎ>CmÄ(,ÆÆëw{AÔáL©‘wûé÷Zëkbº'·Õc#³‰ð@ÌßÛýS(ŠqÞý¥ÔMrpÐ(áe±×j0Lj•|ÚòƒyÙtË8ðì°‘0¯äqÝõýU±ÛqÀׇuÉÍ61«@ˆßW¡¶£ l­-s›)Òû|¨2‰Xó*,•U×Õ(i½T b.ºàúLÈÎ]§#Å+8‡á B ¬bP¹`©qLj¢hùAËÕH—ñsï»U¦.ˆB€RHÏÓ –O¼Z•›»Ó$kðn–†4CÝŠëÜÀ}Ï=a¸¢Ü~‘w‹²Qû¿?Q—yáŠ#õm^'Øirók°.ÿ>)!ßóPN-­eiý†”` -Qœ·UKÔÏV‘¹ôãÿ²`ðXÓÄzàýýffÅž4åˆñc©q(ÛDëPNFJ5}œgˆ¢}÷oG<Ÿ:ÑéÛCøn¹F./}áb&!Æ+„tÔ²Äû &ÆvœxƒkuNF£Ù¨Ïøþ×Ìf¹BÞVìN ®8°ÝMÞ‚!Ù'™â&ã#â`z„®ºpm7$/Hû“/ܵ¼ÊÎùeðdÇ6‰ÅË))w€ŸÄlnlJœŒjŠDcÀ_cä™ô+ Ø 0ZX,¾ÌkÏ/ë0¶(ÒÆI8V9§ì¹ûYLâõÖÃìò:!T}EËŽB+ÿÉJyKïhŒ#¸¡ÿ©X¸eÎË]úöDrÎ9éê¢åŒ…]H ´öyi”ÞˆrÍc;¤.–!šŽ¿ŒûñàB5†[¢X†àßÏg@[Y΋O䱕“M&Ħ¶¼…»‹½«)ÚË‹àn¸ƒˆ›9¶ï§ Ä‘?ǬÜqˆÔ΀p{ŸJ©…ÐŽJº˜™Ez0“uÒÝqAU…ƒ€ïJà^˜ÃxÀŽ£ñ°^Š$}–0®½uÎQñà“«ï”볔쫺å¶ÍW A =I•͇@ß‘í!n¯<O¾b(Mð¿Ä FéŒé~’[wbçÀ #brÁoÖdN³{"0xóaB3 7hŸ®¾¤P]‚†ÉŸ]{8héò|sº³79î†Êóðý’ø%JÖ‹ÅGª[ ¿oGJ¾ &,U 3ù)Kçn?Klf¢Wjýɨu`¼O­\7¾2ÛÁâÌxª…ÿÅɧBlF±P—’³ž*Ó¶³)qJxÚ§)x…ÛÈý%CÇõGžEáj­¶+ï ˜»Õ»‘¬À/þ¢æ¨ã|^difï é éÃ;åi­«cogK£•ýv"¾{ÆÞ•w ŒH’ f~3EFáç}a˜â:³S¨y²²i±NLðÛpa&ò¥,Yò¼sëL1\±PŸmSl*C!°ØêŠsÑU$M%²ãÈ3*Ñöq4œò‡+­lÕ…æ;BmuOàåüטé÷L˜çÇy”ìŽÄËö$>GŠJWÑÃûã2á ÝQƒ¢)Å·Þ2­ŸlqëyU{%.χ~äö6 „Š>Ü–Û°7gQ[~SÁÑ×9œ«Kq¶‰Ð*¤%ÞŒqÀÓ# ëÙ,¦SQ˺ Ç+iÆB¹ç‹+¨ÌÊï7LÚB¬˜Ê²¨" o°cOŸû »ßª‚H¼]O-ÕÝ:”>©¶ÿèÌ S¼K™âBÀÜx {ïÉLì˹'_j50|X†³—â'á^R ÅFß¿ÃçNÏ7¼ŠˆïB¬Û!‹…F¥r¾ä8‹ôtnᯧQ œ> Rõ/A¨¬!z‰ª;M3ð[ÒZr*i= •*€%TŒ¦!QúTQî½jý9Mª“ðùÑ0—¢¯’¢ìOû‚š&ûâ*e©~dÐǃ–úPK$¼ù@”Ïô>°Š­7ØÄbY¡9–hÐøô{ê~Ófû&…0ón–QU¨Ï4^¿41ðÏáÑ Ï¸UKKÅÑÏ×—C÷Å KÄ‘™Ä\±Ø2ÿëÔ@ì,êÕd%´ˆ×GâZŸ€¢²ˆ„H?ìÊeè3¹ÿ™|cl]‹b©Q-̸‡²x“BØþÙD„úËåàü8Ó/¬ÁHâ¤I/‘3aÎ٨ʫ¥psâÁðL6NàGÕÏ*È•~A±ùEè'ßY$kÀ æ§.?)8ŠÜ:ƛչ¾²„kâfNò1lÜC²–±º¸“ïü‹nGK§Ô³ð˜¼½­O¸ƒtñÿìñÃÿ"ônñ¸£¿ ·ŠcÐXÐKž6û¾ñ0&ip 9b»ñè`ëoH2Eb}ªg«6P)ba&e½Ò3*iqŸÂÄß¼c‹^}G|,D½v@ÕÚÈÜIIùÌ!&h5˜U¥DêgÚÅZ®L—מÜg<5šÞ¼UZ5 ŒÓÀbÿüœûà¸haN¾M϶Ju"F±¨ý©.8+¬{!€ ýÙ[þë¾:½uSêüÔúï –V¾È^Äü€îjó/c,íhє˹>åóEŒ¿g4ïä4#+ªlrƒ6 çÖ%=Œ‘s¬ ÒòYÅ®Šg[i>>²Q©+¶ ²„4†ƒiöÂÈfÚŸûo‡ƒ6Ú:ºïy¾8*ÔJ#*²gxRå%õgZxÀ0Wu#nø¦•&¨iW¿sA%Ñ™­GÅ*¡\þi÷„Ú$C`{ܽµ‡ ±r*Þ™ ô¹ˆŸ+3¡±Œp-kís¿ÓÇVUµÌr쀇ìÅÚD‰)§ï󀸋ÏPØ Ã8&ú±ÚØ‘ÄK:°ïMÕo¯ר/-ÃxXÝ8÷Ú<ÊÚÑT›çc-*jüÄÓbÇ·³¿R- EÄÑñE$H%Ú(Rø«O áaÀ¡ÜÜèùýÔ„~×Y´ƒY†k]“£ÔÏ]ïŽ/V S€Ö­ó ¨üö†¾}ÏÎ#)iЀ^8qú}ë*{|jéWäHî{Ì«÷Â808aì‡ûtp³6e(ªa‡,¬ƒOʆ]1N žN¹€Ê ­ìÈ¿!“îdç)!‰‚^;ëÖqP>R\ÄŠcä"2QÿórÕÌŒ@( ŇªÑ€÷ЃÆ,œÏ¬ êe6Õû®¡Š¬îPw\ÙsþMˆ¨qÆ|Ȫð,}<úIè%jÇç*©,~@“Pê¬õ«ÏÖ,KLË]–]•GÃi¥ÑÜ›“‚•kpùáLÓ],—é?ü<øfËÉr´°å¤påû‘ ý#ÐÉ02Æâ#àÕ?vÿ~.Çû‡ü>׿~ÎÀ<,öÂ4¦ç¸$èn˜‚ï3#œjxòÐ+Ã0ýÇÃ+îßà—ݳqïJuŸ¥wj™¯)Ìrëwíy>Sƒ7±BüØ%îiÑ)[äËÞCvTï ªà< èe¿dU¾*JcËàså>8R¨TRg…«ûùð–ü Ì¥MŽXn¬-þH^wÿ¥üÃ/«¶ÉƒlŽôLËAŠÅG\6å Ÿ㥄™`J‹1ÙµÂwÞjk»ÉǺ3¡ÑÒ¡0À d½Àõ«—Q¼<2¡$í9Tw¿ÝIEîD¹Ýb 6;·¡½žÛrlU}£óqÏû˜¹XU&˜hÍ)æóŸÚH©øPÏzÀ³hóùZô# |¾$"ƒzSÝRi„ JY.ŒÈl ”ç½Uj:¨gSMÃ;wÉWX¾_ÇÂb¨ 4Íä8BU‰âÌHEåy!Ç/k-ÕÀIˆ#µ6ÐM È:nPPÍæm—yÉòþ5,#_ɃíÙ·\ô{ØÒÞéË|’OuštÄíPÏýíObú)Ó+‚…dsç—oCŽ‚ig? …æ˜C»W‡‡íP¶îßàÛktL>¶‘9{ãÙ$ ž•ì\äÇ LäBlÕu+²T+N„¶;z wlGg8SÝ‹ˆSÚyîµdÇ?gu+v¥”Fg„¨SÐÄ^Ö–êj\ˆðY5ÌÂãm¾zè–(è™Û"u¤u2¶šš´W3ì¨Q'ƒœâ½•9wsÑhà@¤„—½Ï×¼îuç¾R‚—ê jœ¯6½Q&(\èm¡¥tg6›5!*Z|êüÛÚ\Š»ÔŠ’6ÌeëOë²…ßþ‘UÅôšúžðxÒ^Ç”i@kkɰjº^-ýý ×9äå‡RJŸ‘ j+·§üRY Í=Üä²–‡ÜC–ë­ ·%éí<‘ÉVÃ90ï= é(t.òçµÇŸ›E*'x«ê¤ ÁÉY=s¦yØ­ö‚©©jêÚ ç÷'’á:ö‡û¦#ìú\xRóT)Iqª¨ÙêìpÞÇ•±ÑÄ?!ÉgÒÝoM%B†ÆŠ•¯U{ùœVRö”Bh(a-pΖX†ðfÀöÚfI†º'+>KNÖ—O©¡aUŸ­cGÓ~ƒ!ÆÐ˜ Òÿ‰^yù˼(j@wtýèá¾DKÎJ·m|R’0\:æ5²yë¼k Ë_ê½Ð—¾/ë5¿þzw¼¤­ít]•åsïÚ×LÓbþD²<ÝÅü^cŸºB^5q.¨èךüö(‘?'Óaîd|³¼ˆ%щ“º{A;r`$²¤ÊbvÞBÜûzf§|]}ü£‹U7æ¶|0(Áÿ- [äàwID\YL€”‰ôÊS±ßä®QÇë(D¥ž¯O‚ÌNŽ“±>ó(jÃqÔi­Cƒƒo¯»«—1ÖVR6Vñ¾„áБɧd':íz G$" x@ÏnixDr’@*U"&{ûÜ 9ßEs#|"5*SÆ&…bìƒãùõ`xñ„Z8‡ð¦†5Ymö»T 'A×:Ö ì²w<½Ð…ÞÈ%•Éë»ÿvÀoÜIú{ê¥qrUîÎ ª¥aù=[IœE5´HCÛh5ÚkµÅҮɈFé™-9ž{èᛉڅÂvWg+:öE L•ã³›¹¯;.l“æÕ-­â~gÇ/¢j_´Ùx®Éù¬ý3bGHn‘>0ú‘úäy ½ç¨™t²þJâªÆ™U=™úÊ8œ"©w)¢aÚ+M™oÀz+B @:T»ÙŸ±ãYB<ä1ÜçÅ>`<þMÄgÂv˜˜}˜ûº©ˆ8茗!HgäµF¯òÞîé7Š\¨e[3uã¾=tèÞ¾*çÔ3f¨ŸB*&\Ax#«…ªãýnù= cÇ\g¼ñýÞ gdK.´áŽk`U͆c+A—sCEN´F€ˆTͰt%›§úÜ"Ò3ç¡å¨¶§o‚šÓ*ƒÆ,<0 kG|D2³é\±·_]üñu—·!¨ÂŒûb‰ßg4 ñNP³›ÁóÝ€kB‚ùpöU4ÞºÈ|Ítc/ÿ'ÚV¢r=xjv'ÛÙùÒ9<ˆÕÓoO3:³AP1u¯ÿ|ï:(ãdš˜Ñ—GH`^ ¬¡Ek oq”ìGxBx6ÏØõ`B&jËæÝiyáì0m%Âgb/«ÕŒr§i,zoµQŒ‡{»á´i«è19EH¡2G}"0ÀW«Àø¥‡=ý‘çŽB‹È`éø– y§ê3iõx]E@µûM!šª sÊ—;ÏëÁlåí¾ëYªuئJ³Pƒ–êÝckß5øS<´’HÖŒßsŸ]¢ñÔ@]ò—‘>ø4…§‰yz”iðÕ_˜ß%Y9é¥^(bÀG›É Õ ;õZ¥¦³˜m)›ŽÇ}¼xÎï2ÑüóÁᛌ±lBgûºRjÅÈ}Jo¹ÎozF¤šH°Í§"µ²p òHjµhHÄ?*¦Ö05Ç/Ê´ây€ïПTâcuGý$À·7? ,4ã=Ä9—؃ŽfW>…{×L(šÅM^Ý›’[XuZDf ~Â` r8ºÿN¶²]“Ú7{ƒˆ*¥Zic£Ê‹ÀéRŒ[6X’VÎpfÎkXˆØ¦¼ãåüT‚–Ádß?°§ª(²‚úG‰IM˺˜& KdÅ‹Ô<§…Nè60kˆ˜4ÑZ»È%nˆ;­ñÆMVÜ…ÚZ/G™¦bÀšat¥&ÝNbœ8ûªnûe,SâúFx¢ôëŸÔÏsÎeL1Ÿ¢…—+«2n ž»[œé0NxíÉ‚gec¿é…Y/ɶ93¿Ñ¢¥Æ‘msµÍ°÷PsÉzšK&Ý‘âX+·ï#šh S¿JG3|IßÍ…2!ù ‘wþ ØïÔÏ!µ¦[x7C©ì’mÂF‰ù×%i´Ìô°}í|ØRý­¬ B㞀©cÈ5Wióò±_y#ÓG«òëìàåHp/í~ƒÉÙ¬ m‹„vò\„ÄêÚ=2B½šY§Ì!A01m <ó³Ôôr¿Ñ9b9—‰]1ÄÞº¤Õº:`áeö\Ynô2´¬…´œö5ý{ãùâÔ+\PõoÃæ;ÄæRjøÖD~="5<ÿøšÛ¼œ0¯ço$z¸…ÑÁ  ÿfçœUÞ—uœ|ʸ³¬vÇSÊ,¸ÜÃûªøÖëí*СËQ‡hH¾mRÊ¿k¯í*eÛèü½}.æ~¹_Bê ãí/|.+°Çñ!;Þ]5©>63µHì¼8ì¢úGoöÍøÄ HaØ%xåçÃÆ;)#òïÊf|4*Ô ­)†7K²·ÃܬÁ4â{³Ó0ýDÏì¨gˆ¦4#†IP£ÙÛŽ½Pmã/.êÛh$ðw¿…ˆý…–Ÿà´ÅÅ_ä¶G¾I(xa_†Máo“e*ìýÊŸàx\†úŽŽfOJïîf8õqœ›·©7vq0kX''=£e p·•±ÐžÕò°ò_1_–7õ>Ô¿³y] º2⇩²÷.)b'Ìè«ò5€Ÿ®hé¯_‚à¢ÅN¹<ÏPÄîLªÄ,ƒ-ª•Yà@9,`T!/z´ü¯o«í«œ AqNöÎï+âVjªlJ&:7é'%¿­‚ÄÞ¶¨q!H¨Ññ—x·«ŸYùò°¸D¦Þïåo¥×¸:¥.Ú;VÃaf Ou[š[Ⱥ=“Ý!æFV@®ŒøŽÍ„Wh˜ RuÛ˜Yn†ÚcFS¥úÂ’²šr>á [(#š)eGT ·Òcàf‡€Ã‚ÿ<çòûs;بßL˜¥`R÷S_‚¸h¸ è…8³’ƒ÷Zbžµ &¦ŸâG\Óè K• ˆ5)vªµ0pHtZ#ýÓEܯ¹ý%£W+"Æ39íä¡vºU}ˆË…ñ'kyv ¨<•J7\lN~ÍùM¹H^?¯ðsÃtî/³š5)¥í1O=w¢Lä yxe®­•KÜ_—s®ET”(&b¼šàZ†5,z1½œÔc’ç3¢×·‡õhšýö"Oþ°Ítªw¬j7 R¤Ž1­­¨î·e–ðéÈíò¡Ã¬°½­Çói¹ßNcj,s¿íð6V˜œ$0…¹kz‰¦¥l ª· 9ÔËCÍ ùn›ËΔ Ñ/*¡DÏ6”Õ—£×FE/åûÃê!óëÎU—ÖcŠÏ7Ŭô¸aSJ…P·ÉœT¶kâ÷$ ¯fd)äÔûNsYèrׄâÏ£ϘÃÞå›Óưù2 Á|¼ÁcÆ/,Z)­?Ô;:þùæx–ܺh¼ìtÀŸ#]µ¨2ªçwyL;€”?ÈŸ=SUî¿ê+ÍgZ"¿^0š&îŠá7ÿPáÅæò[¥Ñפó¹ä’a\±0ÌË „íƒò ³5¨ã“’Ïí+9,‘YËê6’3 0ºÊ¨ƒYE•BB‹T>øª*A­ú¯ Îê£9¡#höX舻ÀVË–Þƒ™f„ørŽÑˆ’K?¯@[í:C#]¸rãïKκVÕdT†•lפJÎñ¯&¡˜¡›@us¶p¢%¼)µ@›[Cý)<çe àŸ­‹æ·K=Bœ¸ŒyÚ´jÓ>SB=ÛTûÃ){i½•-©Œ2§„)râiË[û×°„èîÏE–üáÜ¡­* ÜÆð; [¦"0Óæ9´©§`'0X"…pnp;‚¥ƒË‹`5²§éëÓEÊwC?D_¦%gHØW¹÷%Š•ü¨¾é1QÜVe(„WèW.á5³Äçèuű“õ~¾šh|3‚F¬í.úš9/šÄòK†ËWú+ÞÕÑÆx5 ÷c-"~ÖÖÖÚXÓCÜŽ¿1Ào/”ƒì¡çXì謳QÎ~d,…ü÷¢B®Y ™_Ç‹‡¤H!úõØU!KìîþEAß7J¯ã¸gû6¥jƒ`@ûm®Ù+2!Ÿý R£ßwÄ ªù—LÒ¾ý ÚNý¢P¬ƒM"}2þ 0vûàJg`jj´í2ðßÈ’ðí÷JMíÁ"ø]¢ˆÇèc9)ÁsgÖ@Yœ$zDöoÃÌÈ^{PFQûâWny`rÆ£–´‰ˆzF*ºZ{‘ÙÁïý¨„ži{%÷ –ôrÅ­·ÿ0ŸÎ€–Ä Dó€ ߢỎ†š¦Ýhu—"ɬ³ÎuA»{cøß¶êʨ3&–öwïßý@Éq%ãò{ h&Bf {&±”AFëÈýjÄ¢à©#/ôÄ0Ò PUrÝóô3¤ò Ï-ªœZ',ÂòZ§ÊYÕLÑ~nÈÇ ‘Vâ£c©[÷eÐpÐ9~ÇkàFÚœQØ´\ÕB2hÓ…ãÕ#t‡1 µñ­¶êNÏ“póJåÏÂ2N›f)V×~þ @xq&5T»Úåàñvö‰yVf—ë©'ÂÁ¡]ÞØK|×àEÅå ®iß¹¬ÓWN%"ÂpŸßÈšuA˜ÉY=“ $ÐS G)Ä~¥ä¶S³D´™>éI*j3«-'áí¨ñ ÚDÅ‚XÖ4Üíó\ Ò´*ízZÂ2b o-ýÝ [lPÔ'±ŽNlŽhú—~žÜœåçÉÉ ‹BzQæmCÄ#§A€õÈ=Î7Ô´™Ï¸šõa2ÛjLCUª š“â-±à1Fº)¹¹¨SH³-Ÿõõ¿§~ÏÛi5ÂÎ@ï+íÐ8·Ç®ÉM]¹²Àª^f$žb åê¤Ð”•\Jé»êo‰Êì¥!}XÿÃ*l¡Q(.–YQÄuœFF·…8ˆI¯}²Œö*ßöIñ–á‘4Ù.Þ04Á0bdø©K•ݧ©ìƒóìHÔ¶‡¿ë¯-8¾F,U©f,Iv vÔš¡è~_P^I*Gña¯à_BÐ ¦ìVV ¨»>ì1d˜<ŽàJ›¡”~³x·XÄÆùü­–Mï[J«AÂê6&׃¸FT0š»ÅþçÎ#Ú“ÏClRþpxÕWs˜lÎÂ"c}Aò#sþ¬;“8Ü{V9 œŽ¸÷±[!T0¸ƒÉYA-=Ú]¿àÊñ¦}0͇ü:ThÄ ˆF¾½ 8MÊú9oKý\ò4æo£µ¯Ïjeu:Apø‰äôæxHõ‡ ¢†þi"ÈhLÿIÄY‡ÎÇ;U޵ÑêAU¿MúÛå­K3&€Ù;Þ²ž¹‰Ù 8%œO*ôúßòÿCia­€t&n_]»éî•‹‘ã`™ãÒúSW€*?Ѭ!•ÌGP†ø°b|dfþá¶Yƒx˜~P3xXUÓ  z¬ÍDŠÈü=&Ó’%7éæþxå·¿”@œ9÷Ä@ 7Gh”x¾÷²g×u pq Ä_–2È'×®ö=ÿ äòr§”ê<“¤®ÜO›[c%KêÚô¨ðk‹„æ”ÊЇ×Z/­ÆÎÃF|ëÝÅ2sˆ×,±bè8d*>‚V#WîµEÜAîÿ%2~=ÃØ·¡–¬µ5ë…®k¯#J`†eü—ƒ¬"¨n† ä©PW˜•;HÝp¨­z¸°U¶L©_|cS5¹CeøÓæ÷)#=q'pîtµÀ ™§ßýb©6ÝÜ.2«1j ,;±xåìBÅ¿ÆFeÌÚ|ô¤ 2é þè=|öþKÓ!«î'üŽ-s®ãF#T„_Ëì‘xìƒì RTèÙ|h‹…ºæÐ²‡¡\–ѹOŸt?‹¶‚ø8µlü`þ€¯žq•ˆA"KœºªDDÌ_!¥>³™Q^_e0eø`™ØîvAÛÔÎ÷ŒñH¨¿‘pa4ža<«ÿ¥úò%`·f( q>|G1¸”'¤.ÖÆýk™S^—8c²Ã²-dY|¯[B‚Ò kY-­­Ý»æaè¶Vß¶$0ã²jÎñxÍ+êlÔ¤~NFYç0Ui\øeÒ|7iµ™ôO>oý1—Qè~Ÿôvô>åô5r+׌ïcª6Mcp¾LD._þ÷2¢;zéc¢8ðºW³¸tìØD‰œÑÌz»&½šJ¨üI¤¤ùLjvtÄj²3ù¿—+é¿@¼:î{ÎÚ(gÚºÏA¯®Üó‹7ñCXz6Ù ÷ôÎ9ó2SÀ« ɄԽ/ñ¦Ðc Á_¶5D§oðˆxîÛc‡ó+[ƒnêÃ?¤Xàjuö“ é““gƒÐ´|îÛ%}xŠ[ŠÌ» €…;ƒ3ƒbë»ö…*kèÑÓœ]Ž¡|®-ÏŸqÅxÞïâ+÷×Á‰Ë+ÔfÖ3g¿eh;­ÄDÒ¦¨<¾û$ý%7UÛbƒ€özì ñzHjú嘇À[ /!‡ëã,2jy3fo²Æt»F® Ú`©J†·½]AþD©²Þ°ëBgIkÿè9¥mÐ|*%W±*‡MÔ;p/§+ÙgTòµoOpôþWG{sJÚ1šjÞ£U€IsâÑ’K¨v8ðmÉénàJìçp"[Ô8»îåˆA8|gÚ;ÏĊ@B¼ª/Ê’= ãvQ8\¼G]áÌÇbPé«þ+¤¼y3‹Þ³¥uÙ²]eDЊ3ÍXžW‡Åûa. ÆQõܕܶ &Äõ)u¤¸gEÍÈOï;MÞ/’ÐcRÏ!| ­Æå…\÷±ÃY¿{e˜U³:¢Ä!å.†‡N·üi¦eçCê« L™Y‡nzË/ßÃNï$m8’87ÑîÃ*0r%jH7°RÍ4‘ÒäúXtgÆúbB œ:õcB²Ê“æTý¡ .YxãF¼pŸ”pŸÉ¸`F8A>q÷ÓëÂö»1ã[0µôjÁ7C[Û eØmþC×¹ S+üãXö|&'H#œ¥°e͉N}œ)b ‚µîß–N“h”uÏWܳ‹ÊǯÜqœÇáw*B©.mÀwô¦ ÁÜFMì“:í½0ó0:¶@áÎ…qîªo»´=wõ‡eêö¹2ºÀã{£{±·Lq¯X%ˆ» Ãzì¤âL@¾?½_7R^ åOEÙÜEƒIO³n… D¦ãpG#Ó~äPÿøÅrqÏ~Z&œùt{gtší ·ðÒaqu((¬$³ðbØ2U`##gÞF½´Ç-QWþ瑯´¡¶‘—)¨Íü“Jjô݉3-_Oè¡y/tFpsøêf†Gh€~j_%2̽vª§K¦DòŠ5ÿÛðÝɬÒdbD7¬8Î^w•t<÷lE™;€HÇ•«¡FÝèpðS†×§àl-3kFßÖËJÁ‚l ¸]2³ õ¯$ ûÊÔæˆæøƒñsUwÒk5‰òb.Pšõ ·K;ÂÜ9ZÔµE O •|1Íâ]¾sUŒ(8o ZGVÖ5¯ë…zdŒ²Ü. vóîËl»åhsìÔZò¯!I0ˆ”6zÄßÔl𔿃Îìà˜¨÷+ë¢O4px¨ì ^DW^ª—5›—Mª™Š;«O%È¡ô¢Ôq»‚Ût5ÊÖ} ,\íÙgÔÃdŒÂ;¼ÐñÊ|%½rš#xƒ(Üý±9bM„Ýiê$'TUèCð¹,VLHâ )jËÑž¶—YpR:a áõ[w3=½Cg¤Œ¾øëp*_Ø:|ü~aHìÙÖé| *"ÍL$¡Ç>Cz*¡^ãnaÌð1Tƒï‹u–ヱfa/ïàíPìpô~L¹—U« Ü®`|IIÖ<ðFw;`|š`’‹Ñ±ÝùÆéÿЄ:ž\=úË›˜¶ö„‰9t˜<›‡?ŠÙ\;«næ‚"&¹“9•é|ÕìÜÍÄþ$`Vææà:’ †ãVUI!KÓ¡ä–v°áGÚ;2/¸ëT:5ïö’Û7ûÕŒ*%ƒ°•¨ª›QN {nŽq{0ÿÐjP¡ÚrŒ©!ƒ?åŽA%RR5 £úJ*;¦eCúÝ9ò¿sßמ«ßÀÛ ppá=6(%Œc_çC_}ÉÙ©ß>–‹ÔåœRp:‚wè-'.v«õæ‰ù8מ4Èl+¡¨VÒs[tîWˆ¨!]JÎWY² Û ¥}þÉ>ð¤mvY¼¯ÑQ}Y¬Yáy@΄íÎÈÕí;œ¿>€ÈŸkj 6}>Ú­˜ñ·Y]]pïØÅ›šgŸXöBôøÅó^.en¥ÙÐ#¦ž±JõYŽÜ#VE-ÔË¼è¨Ø:ë/eÏ6j€(Q±v‹ârî9V=̫ץ!-±‰ÜB€Î÷Z-+˜µ˜,ÄÐ8j‚*#ø–ÊpñY›©ÐEˆÁöå"J;aîî³[¹ƒ¼Ï¶D6ýc£"é½2$óœ¶ö±³ÖóØ«°ÏÃ$–â¼s€ |žˆ‡H@Š=óo¾5þ!iØÝÏ9tûfYL>5qŠ©®ï™ˆdO©D$°_ŒmöI4¸\¼Š=~û’¡“CrÙ…w¶˜;-]}¹—¼ ÷ôQZV±Wˆ¦B¿õ…÷ØŠxUÊÊG5´Œüqá¥2Ù0]­×&á­ ‘ŸÇûvzá`ÛqŽb•·h'Òá­>A\ŠÞD†ÙG¢nš »8ËžÕo–FTÖ­`S<ý ¥ËÞyœð^AÈ_y¹]¥þX^ö5ðV ôÎÅ"`ÂŽ(]/å³·Ú+™FÀ²…±ÊdR§³§Üú‡¾Ù·CLáÒèü<`þ™ûÙw_]ŠŸejšÁ=þLC_»ÍŒ@bJ(ëîleP‘ÐSåÝ{!1œRRû6 þ6OðxÅ,®KÕ¬6÷ÛL=„Òpý¢k¹ºÌ‹Šë•Xœ=kÔû¶y.цUî,“ÎÞê â·®ÒÝìuÏ‚XÃP· Ðãh†üfIßbÖëÑvf¤ÙCt¡x¸ùöºë)lUtû`YÀÄFÀ³ Ð®—)ÿ÷ÄÑßañ–´B tÕ¡ËŒÇîí³³„E9Í–Ó3ëPŽ.°5ãîá±ì¡¶=|/È» "ôI`RZ}¯"æ ë¹ÔböÐUú+V` !ÎäZ½5)ù©C ˆB‡“‘·+êºÌÁÈméüw•ã\\«÷NËù^8•ò&–`o@Jmù­ÒÝñ¹æj@rÅ”¦?ò+k¼%ÝÁG£BGC‹ðòtö(¢Ù›Mñ…¶sÌ3®—õM¦5‘L>H“ì–ªM©üí…Zöþ褜g©HàšÓ kÕAë ŸV Vt½‡ä ™~<Æ®¦1ïæµƾªÓŸG™· HŒˆ(rxÕ¼’ʼh/3u qÛÝÙ¡冊±Ý™A¦Wâu‘ð¸ñæ,3ñ^eòÇ ÜŽV؇ ÄJ§˜¤êû·CHqRQä>ÀO–Ú©¼–c@bÎKÊô±}w]‘ï¡TP,¼TLÿÎð¦4¦®›svþ4œ4ù¹ •ÿ¦õ¶Ø{a·ÅøÄI†WÃ2Æ—®ùêî!ù[F”@I úHdð÷ÞMƒ,ý*ɾ Ì?Ù4R³#ÉV¹¦šÌ_„;¬ëê½Þt¶ ®›ä’|f\lRWý×ÁF2îö¹cé52@°Md7ƒÖq§®lІÄÿ¬®Í")?³o·´iÁÉ."`EÌ«“£è ÓÈáˆDÃ&mÜÞÔÆö­€L‰fØÂ«‚j'1¨â®@Câ&ýzˆÈGOY…cÜç`aÈŠþŠ3›ì3O=åÐì-yžý‚æ°íJÄÕ¿Cy$ÓãuU¦Ò­ØíÈ©^dvãTð„.ÑdI¢.|AJëÀÃ|• -‘Øåæ_ttª P19}^¿ëŒÝ¹š'êÔ£~ã­'°”n1iýk°×Kw³øUL¢­²w_  Gò±º1v§² ~ùE9›µÌ@d»ø2ë–1Õ¯)o<:Ö@mõ÷‡q !ya!åKÞbîè_PГmâÙø˜»iáÐ\nÊÝ)w4l1Ðl”rK“ÊhÙl[Í”›ßShD’ô½o§´7ûC=U糄úf+—"›°³Èa­®wn5ÙÝÍ –>´ã J²Fö&‡ÿEÙkk¸‡Z@öSeGºö{7jd(Ń×ÙétQí›jª·õ;iûðÕ Q½Ò%ñÌ·[DBP_9æÁûƒBÙ‹l9w'ÍiŽÌ‹îõ)>Ɇ‹\˜œëß-ïËß”«¼/tŽW}b¡ýžê²~ÇÄ;ŠçKt|%xQ'mIû°k燀¬íÇZ_JßïsmvyžC„¸ÐgdYÊÃLÏrBÆïªE¦oåe¼ØMt²æˆÞ›ÛO@½§Mü¼¯ŸNÏj½Ø‚Ö÷r±*÷±«¨ÙØ•;Œw„õs4nö1™ûq¬|æå!04dÅ:ªZõ æ¬pƒ#µ Fl&*E›¶ezNí—÷~Φq^ÜSÕåF &ÈÜ)%$öß|!Ï•¦Ì8Õ~ùÎST&;0%å®ÁÖæ´˜Å¡_zçPv8°†ºB‚CfÞÞò[SMC.Hg˜Ü>ïÝ`6—ÕÚÊÁ>¡ÉvÆØD*ýž®Ñ«ä¥®pJ2ÑäWׇ[ÇÑ"ü[Óþ 8\ém´tg÷Ã=¶"󺞦ù" Ä5SÀgÈÿkŸ_¼, Ëu^Sƒ$M•·Â‘ñûu¡t2Å ˜ ò32,›âŒý¾@ëÇ!ܯ *bÀdûiôóŸôöÁ «.zÄÉžàqmÈ9K‹Y†ˆ¸Éåe_‰„QrN#j{"‚ ôéf¿¯NÅ}•GÖÝj5=C³-— °Œ{ D í²çäÕ msEcepú}³ðÑ«>·‚üëüŠI_d[>w C¼†EàP ™·Ž¬œ’¯ó(8AšOŒìÎTëJ,š;³34¡µx82öto¢8èôÒé¾ÁþÕvfUQL¥,8±ÕMlÓ‹>¡}z1‚㎻Ðþ„ç±ÉxÃJ7áHëñŸ›t‡A!0÷-ÓZ_Ÿá¼,Ÿz‡]´„öëgàßlæè·ÀI„·­Ô),vY%jp˜0{Qªþñ]ŸÎE›¾R#êaìïð¥ª0°’ÇZWõïÏL g¢I>d´¿±“ºfùòã}êú߉7×Ï 1ã݆x´ ÜUp 9°Á´€Ì$9ì:Âkuw*ò/£‘]º(*áWD1㎠¡Éi¿ËÐ5æý&wžÑuå± ÀW=u’zަüù³¨®/Cz×çxY9dt—Šn©?MÈmôA¬ßsIërÙö²9Î R› •éGo œ®K¶¸¯¼ h›^@³[wü ÅYÔhæ3/ÝÊ1DWÝHR¡|i§?ü­—K¬eË(Öïã¸HÓ*Î3„´‰yÝù¦DÝóÈ®‚Ä®}N¶Ð-;‰Äú°6i9X’šhŸ^ÝÌòKËwi»àÙ ügU„Çø„™KµÝ>´¼µíóÊ|x^²x8ˆƼ©ÿæß´t‘Pí³<ì‰ïo Á€Yš©~Ô‡ÂLÇÑçÙ•¶.GAQõµI|é"š;?)•ŸcÕÃóê"Ï]¿°Kï²™µ¹†¯ â”ã•r>l—¡w‘ Jßè]•Ôã]îaÅ8Dö½±7/ÿ9‚n¼J(gÒv î „{\Ñ)v-ËxŒ~31 ¢»ç˜KDæs=lMÍí‚?ªŸmÄ>w˜ù´ÐqôÞ5•M·™dYRú—é&™MgÈïªuÚk"Ê|Y#ݲA56j:ÄÀ7&Òß²<Êp8¬|2€$LÊî+8ôâ#o…£ßñ“_[8 ×ñÆ Em­Œôœ(:0%YÏ‘ Ò®³‚1wœlM­x8¼ñ¨¼x¾y ‚#íxM" ŒÁu¦€ÖÑw?o-jÁžðVwJ™é±ÚAÊhPœÜ†šéÿ”ð(”#>ë†2Œ‡IµÅ@ŠñÖ¹y=?¢€Í`jkÀÍ¡¸¾s‰µgRþÃQÁ`ùn:îd14@Œ´;N‰Æ¸åœÁ|ôã%CrαáÞJ–)—*+AL€X›ßŒ©»!Íï‹sØ`±Œ6élèÜÁj”xRñâ=BÞ8†tÆÁ9ŽU«ûNç4ò\Æc„¢_Ù{ÓࡃnâÕ*W_kËÙ„ÕÌmªùr÷HK÷JxÌë+tîÏ‘å|T80Né, Ítri»‘÷9ü·šÒõÒl÷*>Xü +ôú7Ðùq¼øwè2Ÿ8Q²‡6ÝfÆyÂUB8ª>k¹·) yâ•Îþv*±¨VûñÞEò,xò¤ÿpQîï3”X6#>³5&þ”¢•pí¬Ì[¿ñ ŽÿËï$ˆ¡šÌ†>ÕmßÂ|ûõø,ý XÏÜôð¶ ööi µÛŽ5J1?J«lZJVhO¢˜²”]ЈuØ¡Œ³ŒÏšÚú§çhȸqÁ}«™g~ |£_§RO7®tyÊ´Öþ=ÒL‹´¶JHW8¥ïYê¯S­Ï)óÓù”ÄK¿g:JŒàó%¨oÖœ¹Út«fÑ5Þ›4€¯ÙEE¥Ñ”L¤¾ìÙªÌòÙ`Èñ ‡>û[*J“²÷ˆÃ:r*%²õ”»½23 ü«ä¨[‡'ã Í·¡“’™±Ñfçù0LY/½,Ù–Ãê}ãFÚøYGb6c“ÈFNОäû‰PR§0SaM,ï4*IUÏqF5ADš=¤}¶ÊHù"YRõd+õÓ¦’3ÔæEÕÑYº£b›ÖøML±<Ì÷z,þ ã/¹šHjhI˜|힑듾÷6^ÚdÊøNWR¿yé¤ZÒánPèž ½:Ƨè.vì¶Hþ uż†Šm¯±sÌR¯DlœCTæøÃR¼‡žõÔ±Ÿg‰“c·˜¹']@>î\w%pˆJúÒF¼gýE†üco}ê>7žw6¹Eôÿ7gwÌ7šˆxþ5y~}$‰ öįg7>G88ß·•vì¤aÀMµ0íQa£99DkswfÌjk¥ÊË{‘] +ÀÄ9y1 ±.ø°¢òH¦ ‚ܬÝ;/%™Æ^Š‘UùÆŠ~à QSùÂ0 ˜8¥jÐîw¥Ãª­‘ÛÛô®§•Bj¯2m[h¾£j@Á°hT”qh±Ù®M‡¢rÏ4ön\8([Z¿]‹ç+­¦B<-Â¥,þã-ouçxgy›?þ×CÑÚC2¡Êìÿ>¨'³~®*<‡‡ÍgzjÍYRÛ¢é:²Â=[žž˜‡Œ1ÉvÍ=Áå;ƒ¸G çÊÿj“˜Û•…ˆäV¤Þ¦hµúéÜPOñZþ(u€’#O©¯ ›Z$÷ã3qv¯Ïƒ®Ève3¯LgS` dA¸6©Ô®ûBpâ¬KHƒk0÷ü-ÇkûWv=TËåô˜‘}Cßò(v§¬(þiIgVt¾ƒ'Â=b?CŸ½¨ãçìÚ“†Ïí÷T7ø`ªyM†^‰#…æáY-Ï=}uxý˜8íëZéãà´xXÊ#ðAÿàû¥žêfý øƒ·íŒE-°àúVŒ‰Õ[¸Ð´œ©»¢7@/Ð Xb #­} ²Ð€ÈZôX\bVá2I ˆ®W¼>\ O¼ÐÓŸ/÷x~C­ø£Rn\ {¢2‚ÕýÞS:‰&\ìú{”’½.9ûÞ,ÖãÑóc“@PiðNˆ%p “áM9uzAvÀÂè–‚î¬[:d‰.¡0àbV=n+cÈ£i^fûÉ×dòV㘯\ªñˆuTPl×}=T©8ßA oó^„R Ú—ªƒ¾=È`b™¢©­-…š» éþ͹Ç6¯×yUñ¦TÒwë¡'9 Zå£cÐÔý‹Û‘1“Dÿ{œÅ½ŸPé)o9k/Y-xôvݦª--ŸñRo(¹kq¡Ù¼Ëöœ¦pØÅaú|ZÈoøš@=6É7<ÃÎúõc÷jŒß_Û›§¤eî„–ç§É?N“«ò rAئ­T#6Ee«ÏèA{h"wÝ•žGÍB ´l'Ö_æP‹¤F#º¶Å!m;|Ü~eÊ—Gß„:¬ ]ãÈ4ZN2FCCKŸŽ\QçÑI’ÎdŠ_ˆ9ØO×Î(´¿:“íÛ+^XÓç¥;æFêß’ÖF .mbkWôæk1Üa{2MÎÙ¹¿šäÊ•ÆÓÅÐ(ë/ÁGð5Q àWÀý¥Fø”)wéÆÝ@9QòLv¹û¿£!x8¬l‹ã3[Q-3ÊTûb¹"ybÉ)‚JL×2è{ <Î )5qDìõ[îÃâßÇ)â'†÷¯ ²È+siR»ùÉàã½kÙ¶S€Á·GŽOU"ÓèÁͧr`£ÒiÆ4òòëé°ˆ¥K<`ÝêèA§ˆ`=º¼?'÷÷1+s\PöcMKq˜‹¤ëuM$­‰’¸“™UÙ¶ÓÏ­¸[S œ£° ‰žÑ‡#á3ߪbŸ„yjÿ»2t†#õýO§UÝY­·KgØ¿uþX¬¸MCϪ±}4¹D{©W1KŰ,m!,½Ä# JÌ‚x¤™°x„áñ"¢¿¡þ€»”ä~CþÊJv˜¯’¸ah9O%= Xþw‹á,ÿNà§Z=Ì 'ÐJŒx¦š4{>¥+Ü{Îzn3; —àÐÂGY¬p Gn"®lG[“±Ãt=ÕÉÒSÇr¢Å'xp’ì7ÃÈtïi‚´{V"8°ÅÚW}±ã÷Ñ|‘ÑÊ…Ð>§ûPA8 ÍåÊØö:ùä¾´Â×]n*S "@*ÙÔwu B ç{ìûšÊzD¤^œ0LÆEaq)©ƒ7ÌKÔáqOäòÈg•b³ªŸfŸMpªÕß&ÉHQ=e-z“°N¦6O[˜ma%ƒQ©„“üÈ‘£G?Öç…–6T+ÖÀ4r]õÙÀøø½ãϳw‡©Ð¹H‡eå&ÀìƒT–-¨©…zrìkc‚EgË} Cfè,Øóc˳Žù{«ÙÉ{XÌ µI °ÿŨgsï_øq¯E˜kÿ¨&a}G'‘ð§Bg“•ª¡ªò¹–å“qý•Þ^T8l­2'¼×ÍxL!Ðó½ÛwÏøº ¹E„è|ò¥¡T‡8ü:Ö ÌÁbµjV ˆˆWeÓÑÅurÒÞ:¬ƒŠ°$yÜ,;Çè —|ÕÝä7¨˜³–[*¶®nèã)×¢Ž^îyî|¤jÍ5¼‚vx%¹er7ëŠtpç’…7 ÕÌ3jÆS ‹V1SŠLSÑõMö‚¸}ß·éÉåÙ iô¡,¨… \íÕ;*¬oø1ÔMDÀkF´µŸqò-yrzô…ù·y–›.«¸‹ññŽÍH>x&U’ó˜ÜrR¿¦Æ?º5Hêp#ØÈsýkïÐùËèÂãýwþÔ_ʧ3¬©®OfÇU þPÉÐÖÑ¥°ÍŠº'¯ú¤ü!4FAi÷ÔP‰^,–ôU-YŸ’ @îAOiàÑ êwÎl~.Ú&Ä”•3uá:ÛÐkœê–ª§ù·{nß@ã[=3­¸„êj|ŒãÇDsˆ^“ *–J¡êÑk/nÀ) BÂJ;ò*êAÕ“aÖžñ-ƒ3‘rá+;g(wF±DÁŒ‚æ)d<µöèéÛaŒ/ä¡ï¬¤¹cMugåsqX¾$ Ðäó6*OjÕut à `‚‚Õ-5¥¤ÃÿPšt/â IÃâc;pw<Í?ÜW}njK<¯á_íjùhtiac‡zŸ«&² hŸ™E òGö¤ÎY‘VÌøæ8—¿á&¸ªzý-̵ŘíÉ#ͱ{~2Ò­>îí¬É,”€@ôy¤$dƒ!}†Šu‚Ÿ6þuú¡“³ø‰ga‰rñ¹µ#bàuéx?¹“Ö¶‚k²!_Ý‘ý|“Dæ ÔɶꋮÈÕªF. ñà.Åì•>‹JÝVÿM©qûBòÿ<¯È© þÞîˆ-ÁpQN:AÌ.¹{ÔÔ$* Šr.›˜…rí.‘n2s3+øC:òÒd°áãvÏG_šWÿµÓÆK ‡Y‹€‚”Û-ô˜È_÷‡g9|¤×m:s ð¨É%7OÌN ÑÔ™ø«qá·X‰Û¯–۞‰Ðx½tƆ6N¦ƒ1ˆ\~gÿ +UІ¯¿›ŠdmãMÌÜÏN潋&§€n*ï^áЉÊk”É`Gº,KÝÜgù颤5‰ÄNþðÙËxwøèüT 2е7ù±Ñ(¦WÄR• ÃÐlzÛbh{é‡ *EC*$’$“,WLbLoUÉ8Œ‰§xC—†ïÇnþ—Ñ5ÚU*&ñ4¸,Õ¯¯K\z™¿”©@ЍA¾×š«2Çò¢P†ÑeÝ ™†Tì5±Î¬üÝŒ¶½ê¤IˆþCR‹Î‰§é ‚|PÁ6!Ó‘ H·ÊeÒo—ŠX r V¤9Láü‘‡çލEߺ™¼ò5œœ²´âCÓ¬RBQTRkȯìmu®¢`ÿ:Ÿ‡Ÿv1¿on׎ô^o²Œ¾tõ“d`æV'+ÚþtaÏŽùðVe”.€¿>uPÜRo÷9í;gɘ™[$1}ÞÝX¶Q@ci‘»]µÕg¥G¨?‡®3³“ç  ëÐÇÖjKì ^O€ŠbWt+pµø‘Î&®6V•sõÉŽðÍ(%#|¢6Å RßúÍ‹§û}aõ¸/ß]|Ø!µß^å&?øªžXß\ʶŸz}ž/”Ø­kØžšãí×év!QÁF‡÷»Ñ–×±N&y%)³®h‘J¹+>;ú± žŠÿ‹¿d‡)2]iMRxhÝÈÇZ? –G‚·…ül¸]}­Æ!æ¾8#“7Ý÷¶ûÿj“֦˨‹žÄ .³Iù-èªbªgåÔ»Ò*ÉÉ@F^“÷Á÷¥¡q"´ ¿Ñwt:ô¢oäPT,£|®)Ó¨'´¿´±ò»Õg5ô´c Jùl[U"s.ž4'$^É6iݶ¥®ÇƒçX`I»”°…+MÇqûðW«Þ³~f{í÷õ±Íß 4;‚¨„V*¾íâ—ʸ²îœ } @î*ÅC< (ÜHÅ<§lÄŠÄ[!`î!ÃO„x‰>b9ÑÛíJ½72²ï c_ÖYÞr‚Ý9lAAÝS){£²ê!¯_Žú›D8KÛ|ÇïD†~ÌÙbC1ŽÑqMsý’«Ý‚+lä=Ö¬’A›h{eÉ„¦æäªhXNZ1¿/ôIEú÷pb·®~¾¶ÀÖè²2õYrÏö+I¦*‡< Eo:‡Â Åg4y>0O¤W¤!Ÿ‰ùç0©)=STù¤Ä xÐ?ƒíëqß±ñ½‡‰¨\‚ébî„_œŸ1ôN¹Øã…ƒÄî@ƒéûÁ—îZ–ã–² lUœÀòUÉE¸ÏPþ„È%bìù6Ä/DÜhmGÒ«$ñ\¿ @„áá’lâì4Iµ®7vzÃ]2¦@‹¿‹mø‹É•@íÖ¢ýú)º4ãDfTŸ¡…è”_èéC^ÜS³ ’0猭ͷt¿,-4«<ÖZÌÅ+ɉ©··x¥M`y!†WIkvîå´Ë&î$rm7¥¢l`ðåö²y³w¹4¤É_¼ÌkÏbvâzSx”^/dû«ögð-ÉQR<¾9˜'y\×1,tm¢‘vÐë%Ž9#LdæîûWµ ‘–tÓHnšjƒaÈdí*þlx LŽ,Nç4Ø^yþØÊ;\¨¨Î¿ ÇÞ bš·ÛùÃéÜpS™^_ÜEºÅUpŸÊfºÕïÙ@A‹}ÀþÄÇd¤T„'"DÒ%§ÈùµLÊ[d‹x•½2ÿ›®7|°°HæúÀÞtácR™Aýª´d¬Õ¿ ˆ;Ó™U(>{ôáØF½Ÿ }Bà÷/¼¿’ êùë g;•ä³FÂv&sêñbë3S6äVÄde¯at )ayÜæÅ_ýNô53[S“f6… øðïÁ}°I®É•$†›4£/‹Úž Þ·¿·’¯‚½NÕ\2wø8ìšn¼ÌçHdOüs>6Õ©ù6ÿ%k¡@\#¤ášÑ‘hJôáÏÁ±%ñEŠûù–rÉP–àRΈKIbòï9È/–œëg–¢.1ÏA3‹“ H¡OzëØvz¾¥>IÆà݇HZÜÐzð]Í@»!ÔÁŒÕûà\éîí|…C¡4qYß3þ¡j^&¾‚|W˳ã\ %_C2b Abµßeš^Ø~zìß—ÜÞ¡Ng6Ÿöµ1Óo)Ö –i˜4ðÑÁp*~Î#ÑPUfŸDçÒ¦&L°B@ã0ûì ;à|’‘A´óËœ½>Œüæ-:Úš³q¡±?« (¹”mÉu/<©Ð²\“6LþŠÇ!€VÔ×: Æ¿‚Îjþå8é(kþVæÔ3ëh;ûa„bDVÀ« ª' Þb‹yn³ã¹-\û¿àÝäc‰ÁWáx«ƒbx7ctÒ‡š0ÂUîô@béÖ¼+÷–f1eÖ Óâ:ìD)t¨Y²Òý˜kÍH#ìy¡Úg"Õ¹KÙá[øá£¨(¤–è §V¶µdÐAê­a;¨w³6z€­¥Áæ8³Ís‹äRmÄ1à83HU†(+x óÃŽ6^$/åek³ç¦1ÔËeø] 6Cñ+«@pý½ü¤öú<ùWºò&~¾+û¢¤³¤N€BZý‘ê—ïÑÙ~ §‚»ö¯Lì^$¥öš+xÃòU]T å8Á‚Ê&™VÒ¼ x ¥c¸QVœ¢ÑWüÌ‹ƒ Gë|qÓë$ÉTUs¼Šë[½ÔWȃ´!‘xÏT^¤æ{…xfèš'åONÀ!;ÆÊH2ߨ”á‰cnZž‰Üi{2«’öŠIeU‚éÝJ˜Š2 •)½x(╇]ÂÊaÀÊ_à`åûÜ~BE‰¾MgN*òð"—ZŠúf tÜc›í`cm’',öÆÞG*$ÑþŒˆÙ{ÐôBÔàA£i43[ÈYnTÄïê·Xm;E Ï~S©ÕN4¾†ÃãŽíä§Ô#Õ§‡Èrñí"?bÝÖ»ÌCWÄÝ·‰0÷ºþ<7Ãã‰B+t“']sà5Ò-›ùr˜ž+n+`/¥ÃÎSÏ™8ím±“¶¾:¾&qô¤èõµÃ°óWŒ@+ í’à‘Ñwí& ,Lµvµ¨7¢Ù1LiE…ƒþ¤Dµ'trpv$³²p€· Ùõtáy ûΘû¿D5ó®®kÄdÈÙF½¬zãÍžÀ™fÌŸ!æ¨X+Ycõ)[2¯ì=±ìEÍBçýß’·ÝLÔýsƒ_Ó›8” CJëéÀ[‡à3S:\™ÎtûHÝ’L¨` ¡Œ?p¼²#¢‰£é5<…²£Äc ^%«VÏò‹7•¾nÏÏÉov½ƒ¥Ð  G»ÈÛ*»DzݸsÅúÖ>£€(ëk/¢d~ Bh·³©”¦u-}~ìké|šOZ$'qÎKÀC_X.î¹7X6¦{åÿl&EªjË÷òóÖqdP>/úWUdawNAS4z˾7ø¼»(XH©JÖ<„ú¸3‘¥÷(eƒL) Ó –µÛÇœQCðO†Ž„û«ßÂ0î½[H•ýÑ8qüz?2D¦8©‡9Ùð"C”G€dZàšRº=©Ö²FFߥ5"Èa„´à‡t¶?Ñ;Ê¥á pþŸa)˜¯N8ýžÉøܪ¢ßhWŠ‚Ã èω6GF‹E¥~‘‘"z÷õàD—~Ò £PÔ³–Ë‘Õ6$ñ4Œû|§Ò¾è%è$Œ*W¤¬A'Ë5Á´lkô'õµÿظ¢Ê`Sr‰¾ßkÕc–¤‹¸šr"%j9B‰ê·g¯”Mž_Ï«v%(¤ê|j~6BSȉÁ2Q–‡b×1>kiüx¸ân ù“r¶ŠÍ*Û¬§MG”û‚|ò“oã“>ÏÓvJЀgùmÝÆ¸Åd8d€w ÌÆ—LL̼F yY†ê¸kÛ=Š1›g á|nWMZ^úG7^À'õdž‰&Þ_Ÿ4Ë<f²&4‘*Dÿëv¬ÿ„ùA„Ò¤ïéåÈ2V¶œvχÈiäBŽ~>¼"(óN®„Òbf`ÓÒoaϾVë|qàïDž41\ôh, s?‚,/0 vv·ÀÐËÏKvm³ŸÏ[Pœ&Ÿ)œZ%ѳÿ:؇ÿ\o+†Q¤D@™úeGÇ;#æÓëŸbæTþ6>;ÿ ´oÓ?1¼gÓeWÝ8 ûV@)Ïyéß» ƒÉS7ð&A>\c1&us5=4¦¡7è€øË¨^øEµ!˜™Ç¾êË$D'º©y¼‹—ÿɪ†Éóغéñÿ£Ø“<×\|–Ò¸÷Z ¤£æd ­‡§ ZHT›ƒ#X7²M2®9ZQßf’…8¯lýPÖK-|}§R„O×ÕŽpó’´§Gâ<º/d~šë´®ì­Ç"ÉÈuìÕ…R>r 7áP.›Üˆq/²Éƒœ-‚ÄføZÏÉÑÆò¯ì~/Šé:Ü*ÿ½ò>SÁ‚èJšzm3 ¼gx`{h?–f%ú²é“¦«?ë7·%=ß-«è=Éu×ѧrE:J½a/f5rr/úÉ>¼£c03ÔBËeò'†V:y€ýª®Æž~èa UÂbÌý3œX.r«%þ ªz/aš²[@`yrÇk8Sê?Ö˜”JBæ‘4ò×Å?iSFØ®…Fgîæãí• _×ÉDîþ§ýË_{Ñ«W±ý˜x þÄ}½Ü•>+Ø'z~Bœ‰¸ú—°|yZëôø­/Y»OÃ…¨½™½$Áøx»â?ÔÞÿóäª+ ±ÞRk7R³¢ŠÛ>®VÜ äB= ø ¥OƒÀÓ#‰ÀÎ0À¾å»PpÛÎr$«p1>ÚÄùÉ%¥äˆÔAŠ‚ 2„G_2 S è|Õ:j™šbf"Q®•b¸á)¨Šû*?®[UVçN×”ñ€¹ð‡„òÞa»“É>s B§‹$­³ëówÜgÁ u ) :VSf³ÑnŽQ‹z?ŽŽâïKâ/B– è#²ÅzM˜–¾{ø—Ò£™Ÿ(é+,¬ÃY£°¿ “NËHÊ=X󰯹ÿ»é;kâX8Übðâ$(¥JššAÕ]•€{<æŒެ\Ò{£ùh ˆ«ÇŸKor¶ŠzZÜGI#D|Y}9¸ßW/¦¿˜¹gï˜w¶­#¸ç¬ìè àSX'¶ëÃÁ ¬D$àczÎoqMßк-†˜k7Å¿iPÅo†ûe𬬫@—d<¨&.=ßú»;̘¦GwØý@u7ÿe<œÓÀìÙÈU' Jÿw†Í> Ö2¢8ÇR€ëÿãŽîÞÌ:ÍýY6ˆÞ5åD²ãu÷‰œò¨†LÈRþh‘¥œnŸ$ï¢ôÖ¯vC‚ª^Ð`Ÿ÷Ÿö ‰ÞóC‡+À‡nÅA!­Œr}ÕSëÑð×\èÍ.ÊlD·°³'îz¼¦™ŽD5ÍIƒ4n±CÊ`&bCìrXÁŽCÛû,ÏÓ¯„²N•¿]á¡–9:†ÊÒ£F Åq 9;¾Ôã¶áN2ÇÿB±ré¶}˜ŠÄì=„¢ÅExaãT¼U°ð `âúއ] ÑŽ°ñÕ°HQùs£=²gŽ:/ŠT¡°Y•lú„ãj9?C+DšbizÚ×'z åh• z©w“xŠð–1ØNŸØX°¼nI7"§Eˆ`ïkɈ¡#¡Â7Ü\HÅÛ\>=½Ü]‰ÜC4ÞåÝþªE"š#ïÐY2·ŽTûãGGH›Þµ£«]œ”s5uú} µ èõc$Ìòiò¸0õ`íð;õFVHó3Öƒ¿Ä»ã¤µ–b‹¦X±ýÓ™"P­ -RY¶×“¾M PŽÑ·¨@"s!3ýÌMhY¦ûCóÚú¸Y›ŸØJ©Yð£ÙKé¹<©ú¤üð2£áöƒÚH¿ž·`ih?·ðPá—ÕÌÙ}«—ØdÁÙ]}a ~–!/fjñÙtN¯“\¤“Î — èþÏ{¡([gõ”§¢½à:xÄQ Ú탒fÌŽ¿1_KŽÈ­q4Àïûñ,«¡£””’Æ{‘¾gtKB3qÌC•‹Z†&ßz5cMªâmNÝ P剈¡­´sd‚XX{øe!­óq¼p|8W dS]ƒ¨;6?™f˜üE4ï¸óˆÞ½FcE¡ë‹ÀÅóô¹C@NúE`'邚M&×!×MŠ êŸq(}.i—-¤¾y«4ï~lGÝÃÏ>¤_Õ©ÄÞÜŽðÜ.D”ÓçËã'¤›:=uOŠøG‘uUŠi¯þÁ.T –§)¢Eë_¯ß${¢[ìnºé°wõªªßhNýs§Í1²»1е{Þ­®I !ÊŽYˆòÍÿn<ä ŠN‰™ kdFu ¼*ñàùAàNH—XEÃüÞñÝRqXè,Š•YªØO¿Êv­MµãÉpã+4žÍ‰Kzp¹µößEŠiè Ã5ЬjZ\ÒÐg*)#hÙ0ø©"lä[‰£"Ch²Õ½8ÿîfK/çJ3Ø·æ%ñvHQÂR µ«FÁŽž3yeiYÌ“ã}³² 7¹Šn|¤lû?:ð0þ–H!üˆ“Œ§tAIêýM‘ûH ý«5ÒÑÆ™Âj"((ð¦h*A/ïö-m,Øxja,¦áàŸµ¬‰ù U´æÐN¸>ûBÇP&‰v+O…4dqX0oˆ;R:ŒZ=â„×µêIÔ‹µÅ˜ºF™`\³•F/ É.ábí®Pª”(ˆ¤¤Zo2<®"š‰Û/ò” §©Ûõ-N»„ä×8[¢¸)÷”’O^˜pÁ±me‰@[ŽË¨ãÎL)õjÂÔ§íØ×z¸â/{ÇÞBº—`ÖË9ê=Ðg…‡ù!0~¢¼ùêÊŽ¨óɇ&†W8g^/sËa!ZN>ìž©ÝàšÒÅhè B«82O#éZ¥ÊN”ôÈ«'W>}*g©SDEyƒ P‡ò:9ÿ{Î6à¡ ¹ûn5ÿ5ù±¾¦ü—™â?]ÅpE!ÈQ%׌òXF¬$>VJAHZc¡A°zA(7õ “â4ž\Â;¤K;iXœ!ÕòœB^Rᚘ.R¾Ò¸¼¹<Ê>‹…{‚ôæÈØÀE÷¢¾™˜ý#£Ž:aŸ‚î$ùlŒñ’¤ðo pÄ”úâÐ&–èˆ7¿iÙauõZ~áþòH†ýþ³Åm‰ L83ðïZrãqj§?’²ƒ _iâ>´¸)eüºVÈz!Ö`e­Nˆ¢ètŸ8Åw@åšwÍ“™—WB-Œ“5Åq‚fkCß!²/}¨-‹Æé4Â{*g2ŠJlÝïUN¶˜U‚q“¸ÁùqõÄ*Ѻ½xš¦oKv/Ü®€ºZ_ á=ÉÕ²  ÙäÚ·ø=Zd.PE^ج"tŽbŽº¯¯ÅŸXFó]Q¼®î-ðÁß„^=ït™ú„>•Á§<µkt‚¡òtÍ7\-´hØ^Ò°”X׆X.heðó.Ø™“ya$Жzþ$“[JŒ<ñ_OŒ È4ËD‡Å¤Ý]ç©b¿øÓ#ß*)‡¬ô éö1fW›¡"n‡§ïmbåœý"[ºµ´úZÔx°½Pý¹iA1ýÙø“À?Å즧µ‡þ‰u¡Íîiô‰º¼ºS\îË8.])yƒÂ‰ È’ÉMG(jz:F?{˜¹àˆŸˆ1¼š*žŒêé@ÏeÇÚR$i@Ëì EŽHHhnØ»4Q:nDãzuæi—€:ìá3‡"Þi4D&ðÂ}“(ï¡ÂÙéŽG9Ë»¬À†ÔÜpõš’zÝâõòt€…ójþc*£H¢î6È#£Mú’©-©}öWQ8ë+M¢ËµuÄ… #DÒñ¹~«:u9¡à´ä8Rf€ ›¢q†Q÷ z#ºq¦Í,}ÒrŽbÊü×½r® 3¸«ƒK8ë7\Ò„/'#€æM«³ßÓ}TÞâ &õÊ,|ôY«Ívcbœr'}ûž:øX¶ùvF$$L;·{´rª/Ã6} ‚SYœpÜÛHºµ˜’ÂuD}¢¨ ›c§·H‚Hù³˜2?¡z+ i—o\2êß§¢]yÖ¸,h/WÖÃT7¨|3¡!GAÎ#ÿBYzùsÉn²§DF4'ŃC›cfïÃL˜!F€ƒî- ´îQ¼’VñºÖF¡iZŽE§æÞÑ'·«%QJ ŠçgìžU’­7±òGŸ.¨”ùîÕªË:q@0Éа¢=:ÿŒP gPæ”î=vGŒ|Úh—‘Œ9‹óm(Jˆέ%€@_VøÅÁü[ض‘Ä–-#õY~h ž¹Ìã¡É¸¼N?¶,êöKl›Ì µ¡Ïd®É‘¤jå÷fSyiÀá¶PQóÔxÛ®G‹Óѳ`›çű¹»¬Óx—+³†”™Eý_¢Ÿ†ð^÷³‰gA ò©÷ÚV´.éÆz¬’9A¥ÐV'§?hSHÁ ½.ÉBÕ_œ¨äΰ‘&ÇN‘Ã3ùW$gsõãè…¼ü"€‡#ék¶@Õa/¦íI™=‚½aÁ{4îί%ÞKÇÓB*³´3w3Ý)ȹÛ!q£éŽžœZ¨Tpò!ºÉέç×ñ3MUo!Kø ;¾hFºÏÿå<úÏœ:¬f×Kã…}Ò2ˇa&šòWh'é3§1 ©×M• œt¾äöÉ´jAÒ±BwÿuÀª}…­ë™Ÿ÷ —“¡zléÛn߃£ã0¯ÿH.«=B2l$ÒòA»ð±ÃY†Àã-Ú&ƾØV(ëß^“}¢óðóµ¤ßoî{ÃPàT,f¦Ý+ „ºì zºdÜgî ùÄþ¦ ñ"X5n.Î6@b ¾gû´#vÍn/í·m Æ2^ñ¶£mðùÕ„høCºâP??àƒùÖÂWPc÷¶'ëTn§‰=žzn4åxú}B]E*ñî™@M@|–=é'+†p©ÌŽÒ=\/ˆ³Õp*©å#— I¶˚$,?èRLm´0Ðú–T¶ßJŽŽkªùz·mù£€¨¤‰}¦ÊF]3ƨ/‡20ñÛ-îzÆÂ^d¬{…ï‰Ý@æï,6¦U‰Ò4ß±¦[½k H…9ºÖ)Kìl„QMonô1¨’ <ª§´ýK$-‰¢Ð]Tç|[íÒ.VwáaY¾oÈF+;:’ýP  ¥ó‰xý…«»Òõ»^žuÃÔ~݇ì2fG³û”¬„¦Ižc‰ ¥Eb›½ù|$HRLY—âsó”©Õ+×ÌÚ"²ì·ÙŠ\qùGQX®?‘÷.™° €„à|š18ýþ$8à,):!ÖìªßÄ bâ(¨ à/¿ ŒT÷õU“nž VãÒÒÈU1L‹b[d—÷ým²y•ë½Ý}g„ðñQär·QÃÆ*pÈ:zùAä…kpãíŠ|;½g$hÈüýÁÂ+ñâã—w·Ê ‡¼ýý/ÓŽüwî}öŠÙ&êæHò5±¸y:âÕ}‹ã#k&ý5WŠJÃÆk¯rM@°˜„KqŽ»vÖ&ºÖ Lš‰¦«×›1zÍZ_-ZõÙÇÈðNë®ðT—ü°Hò[8Þ©˜«|ù}ñ ŸG¨Irá@R¢ì“¢mj¸‚å03æ¼ó?cm|JB3k›5öÅÊB5CZ5šoÉ–—‹6ÇË‹á„d©ÿÈ«„é7ÙÐØ~kM:»…7Ôp%ÝüS ‹ú7[ Eeøïgx„9k©të$*‡ÁÀèÛ¸ÊðÍL—(Rm7Éûâ§;ƒ®7ÚÍ!8x.ÖUüž‘æ OàFºpy‡%-BÞ옕ùÞI"Ó™ÙÚ$}¢TïÌÖuaGõÉÙmh¬u®Pbδx³6èš²ÃÏ4äIK­Égúuî÷fްyÑY¡¨n2q”œ—¦c½†Ô I+"íávâÈÌ¥ hð‰“.† ¶GÛ"ŠÛ{þë~ã%~¯^‚E:쇹Žj0hÚðØWÿ2¶b©éeTƒR:71žTÄÂñ>ÁƒfNaYž™è'Vš/™|Õ²½ýš HÞÕ^º$§Üô¥¢õîqîÔ<{¼·é£ ¾Î ¼,¤gSÉ"…;²Xvä4•¶Ó¾íû=æä³|:äI¥ø˜–¦ŽZü~º  MÃÔºwïÔÅh´¸g«‘ÉQNT‘Íþ4Z<»|H?V©[€@øÛh£-IÕî]>¦™tZO% B·q3ëXúŠ–;z ,/0¤q¶.£t;$ÆúƒéFÕž^ªªïZfPÃä.^‡eØ7Ó¹´æ0¹ ‚šw,ý²´tJ"-d-Ƙ¤‘úMò7V˜ÚïÎØ«Wä:nôNåÜäDmz õñºd“@ë6LÉa±Fúm³ÚÖüF¥4Ç)ãÅq@º¶FÒ:r1ϲmp !ñT2h-ÿ¬NE ¬Âs“‘z ê È}"Û?ðß2r¸w„[¤Væó<ì¾ïœHr€0¬H¤ÆGª ±™@— ’scnÚ’¨UÀ¿¯ÍÂ3ÄÛßH˜Z=àq¾œâ,ËÓ‹t åZ= ‘ôA¿£d—U0îëš_ü ô¤&á¬xöªr¾`è÷¨ûÑEqSœN*©«ª €¯é‡nTWe ‹úß‚Ëji ®¥SqSîZލ½kﯴ¨åɰꉹ= õÙÊ“ßõ>4©ûÜ<¤O…ÃðtÌ¢)?™Äš©˜v‹giÀ¯4-ÛÊ ^¾—þï3—Ew)»ªK»·£ìê å™õ²ÒÑýž¶û…®- Áñ“;–‘MÑÅ~„±±nô%;ƒójÙ¶Ÿå ¯œ,‘ÎîÍûù·+#‚ªƒíjƒ³ ú*àWл÷ŠÎ2‚=K¨” úÞäÅú*@’±“·¶ÍB¿€(Õ6ŒjÅö@Ûj eô dAÏE³-ü¾H Â*c7)‡Ú 4~¥¦_ýbà ٞGˆ.Á­›‰Š¹Í-E&RŸc7|;œÊL¯¨ƒ¡AdbÔ¡C“&G^¬x„}€»N[@7# @}U$Ææ‘W|~ÔÙ)@¶ ic< žGÊ.Q3¹ã¬Ul*¸sn—èå†%í÷íð0TšÅfzR{ø!GsøwŽxÀ=¢VM}–ûÃ=ùjA齌Yl´g–8:DÊR1£ãÚ’>e³?=‡•¹Í̈0X=ø©‰‰:£ØnX/ƒEiV~y¦É{wÔ}ff¦Ê÷xû¼ßMÎy˜¼¤SW,»Ò6è[µ*Û×x .™ýGêTËäçxF(Ýgÿ|«š!Ëüá=õ®Ënq¨ñmBwøMÛÖÝü¹áÓ¯†Âz_l)|x%ß™±µE/ÐY|*2<ýÙÛæŠ²ÐoiùÄÖ¤üʯò^zc 0žÊ 7ô8:[Þ¡µ„ÞÌ•¶0¼÷[0–»Î[Ùñܳùe}9 ¥ Øóöš'؉—†a«¥Èa|zYB…7^—œ]2ÌÛm„<8²´0äx¦-QÅä{`*™–Wê‡ÅÐ3®:,ñıˆóµ›¡OàeŸÍÈÔœØâ£ÿë‚ær¢Žoá S 6»uÜϺñuÖüMÐ!$kç«/öà/¦eGJ¿;+·m¶^ãL-UÓvofrÌŠ´h€Üs³&#=s}4D  vâo¦8Gö|oÓ•»–”ÈoÊÈ6h¬ 7uª ´5¦Ä´å¸îrM«ë"{~ýOq°[î襜å‡L“>H¯RŠù>SzW‚ÂsÝôñ.}ÏT‚´ÅFA+l/xð\w'#×+ñ·^]öµ»÷MÄ+ÑŽÏvnÄ C”Õ†‚,Nƒ ÇÂàÖ^Ñß““ÜVx‡•³P§Úûp|ÃÎBƒìV¢FšŒ¾ð0ÄFÿÈïÖäê)*q¨Ë®É^Å 0'~½¤ñL?æÝ4&PK«•^É[I$¶¦ ‡¤Níð7¦ý(çûøä²ˆ PÊh¥}Þ–Äy¹ú¸`ë%Ó:/éNËÍ5‚Õó$2°Š•탆D‰^¶Ä®¨CzK¥f. šdï)—-|CX%«ÃÅ{ó‘Ÿ*ÞP½´“ö?·ÂZ‚wy5¸!ÿã­»€ ô§$Ì ‹ ˆäª}zU+÷^ ÔC‹%8x°èº…4O锵@Û+¥H^‚è¿Ó!.–ƒÿá#ŽÜÂ-²ù4­‡8™UÁj€ôg!W0Éß釣oa<0‹O÷‹Ti L!Ï=Ô7äæOXa¶æÂe÷>áÃÎçU˜óqc BDKÍ÷SWÃ’M‚ Œ ÖûMGËæ°LÊ=(4Ò#­§e³µ[3/”-½h€töü7ƒÌ†wÒk¥„ÏÚΞŸç/SSåd©j`á`سJÄK¨'˜[ņzÛìñK›ØÔRE²ƒþ>o–}è5{ŸYàá „Wø+±&,úÅžôP&û$Àð¸«(+¡¹'O©»þד+¬þò¦l_é'£FÝšLÿ—r>äÀB vöPôSÒ ‚nãÆ<8D,–®ãÇ«@ø*öÆmPë!áQ&+ü«Å$Œ²âŠGSÍ ÜÛüݨQiÇÚ­««àÏ@Ÿ>¼;{t Óìlju³QøºFGüÆDÇEÉà~{ýb ¤ùˆ4ˆš‡"åïMAê‰FDU¸åwi“¬sÞ‘¹ÂB.ŽÇ åL Ö»¤¦@®ÈÈü¦&JÉÙ‚‡_±#¡ÅÁöàó.ûNr¸CØÿØÂÿÇD×9šÛüØ›¬Rª¨sÖIã´ô¯:ºoˆ€*¥~-v¹Ò§Ë†äJæ@XQ8*zû%îÀÜÝ×–¾ÔÁ|ÚœMfUM`þéŸò¦Î2¦kÖÏwùXmô‡ÁˤŒ©Rp{ÀDÊket‚'~õHVš»êv£÷Øô¡ýp ߦ kÈ0~æÔ54Jäex#òàsÍÎýÎÍw|l‰s”»oä úÖå‹çP©U¨>cÄÕlNLÙ«[¾ð-çždÔŽ¡‘ð2ÁþnÁŠsòi_*=D·÷ Zllr4¼(÷x¾² íO‘› Ò(±’:n› ëËz݉·L8S¸Ã@YÁêí¶áÕÊxõÖÔÝ¥ Eˆe¨à xŽÓ ÕØîit•}Ïõ<ô›{4¡ÑÕªÿœ°#ª¡t׿?kTÈôIÊ̛٨º±ªÈTŸcodü7ÍØ!¦ ú“œÖÉêIítôÛÚQ©È7|qŠJ»7ÕŽöáÀ{¡ –H!>è]Û÷l>9aAÉÍ3˜F5©¶ŠêÀ”ŽmÙF/œ6VZ»GQÑÚÈh·F ¹õè`ôsG¡šeÿxJaL¿Aê¯f€1ÉàÜ,Ú88ŸãPD”=+‡{Üó5÷³¡ÝAwÁõ)”øâÝ÷1)hkɪÝ."v§v ½»Ü›ËV7”]ŸMÌ¿YV“«äT×î÷¨V¯ç.çW±'íŠdÈhÚ§™Tïfò­ñýc­d¶iÆ…â-¾GÒzº$Yެ]2RìzT'”|)|…,X®À¹kW/¯–FÑxJ;Ë/1e$ fåöeç0÷ÏQo¯šWDZˆz•amØÀ?{?±Uà+`í»âÊîÚ•KûãýFé“™ð ]+œcÖ\í÷zk—o9I&õI°JWß´ÞÊþÓt‹'Í8cÝ—«)>ÇøxU·˜:PÕ¹¦9tE‡µ”@Úá‹û€ïêpá'ÚI—ï¡Á|l¯É4$Î(ㄌ‹þpߎ”;³=kÆÞj£À×ùíOO/Á#[åÂ!å‡~mÔeži\Û<‚µ^Õq†E бÿaÖÜè¾Ô'¯$Î’TT\'œB›2g¢êµ,vÅŸ¾g«v¦ëý—äC?fgb£>¶ºv^é‹|ÉüA+Ë\+\4Ý(M`D`ùM;A®àqÙt²CôR_€O90XÄQQ«PÉ $MZ5ŸÆ£ÿi¨)´IJÏY¯@ÆQT¾JKÇÞû î'{ÞSõÜÅ 0ä9g-a:‰NÊÜñÕû-‡_ç;&’ÛŸÀ<Ýü*³â´õúôŠÚE¢°Gûè¼ñŽYôtÕ¾Ù¤ÿÁªL6saÇ®+ÉÕ°gúÅ’ü¸ŒÏˆvyRN/K]* &û "âþr ¥×µa"s¼€Їa±ãg?hƒ3 ï•7rã®×¤’±õK‹·q13ØD”"¬D ¤²M6¸A =„&-ʾP÷_bˆ!'ZBÌ¢®!YÇà¥èßçÛ«DÖ ù,#Ê`¹Å/nŒ´VUTA—yy°§äß.P3„¦Æ$^¨'$#v•Þ`VqßOçùh"ó¤ÔR~Eˆ½¯¡Ö–4®Ò3(îà÷Q £ÎrqÊ^j9[wÚůÑ2}«Õ~ca>ük#{„ü ‰6¬ÎvÊÇZµLÈÊ Hø ,S±IÆH‘þ›m *ïì@>÷Am,ƽÏâJb·¥z®-9y«p£ÕDýÛ-ÙO!D,6G û%…\ Û+Y뻘eVõ™êyŸÒo7 eVDF ÊO²¯×ïù)˜ ê.‹‘k_…z¹Ë¯,Hãw<+ Òì§Oduä _ï&oècÙ6[Ñoú!ÈÛE†MDù®jO­CÒWÿ#¡-ð»N¸ ³!ýëL$AÂÊÛ ö×ÍpNä3X>q9ÞÀáÂ?(™9(ÔˆnŽsæV¹¢::½ZŰìú·+äÆåÛ©Ë‚Fv™7¿fB“׃¤I³læ‚Ç1À¦¬ÿ´/°%€ï³4}™m»‹4æ¹Hð’TÏˇï% òkŠÇëµ;Q26‹døN¼KVêÿ¤Cµº5¦´’ e† å mÀD6¿’•¶Æ_F!TX0êè”ùd›Y(óªX浿¼3söI²ý!%§³çñø¨ïäzYD.­Âcš4‚×¹4+wnúJ Ú¯zg×תófè-âåä€ ùDQóˆZF"°w‡žš XíMœ(Qèz˜DŸŒ€ å#ÅNß ® ÚŽüw_äÛ®šTï†hãJ=0úPqM³x*¾ƒW…:ïcƒÂþ¢ḄˆÁÞ¼â_¶EdU¹A± —)#åeÈ`1¾e_Cq×a͉ cdšÐ@þϼ<æüyQ¼ÈZôrT$­%ß±žõÑ¢™NÖSŠúMô(ÀjÞf›Ùá®î¸Á}euP['vG÷"lZmL³æ Ë•‚ŸûΦ\B5‡›Ñ;:à„Dq¿ÍëÄMØžhuTœºüôñµsIïÞÐfäb9ØÁ() È3·R’¾ú2àfeírDÕ!¦žùà92íüvwz,(Èü.µFþr ÍÛ_~á®G¿Ü XoÀ­ãº:ºRj‹wunTyå8.pyTàœL+ |“ïÅ‚Ïþ"ÔÃ:*ÇíÂû sE~€ù±=éÜN§† øÇ¦5Ÿ¾¢À§ÓÍIA€Õ­ƒëm¢K¸àu½Ç´ý¸K‰Å0"bs:†Ì¡fÏóÔ\»Ðð¸IÞ÷.-{a*Ã>aã0 WXS·_µ¢ÁìWðCÚþbvï”ç÷„¢q‰ñîèW”¾}Wn„äø„Kƒ)ƒ¿Õæñ¨Nn§L$i¬tJZ´¼mrÖy„]à¦5¶Jk-ŵ€Dw/p梤•·|¤¥ÉÈì$ÆlÜ|¨©ê)¯_‰ÝSÏÃËWèÂÒÑéÕ»â ÑÍȓޣÏñÛd”¾Þ’§0”~9ßiÛäimî Oô.ÜçÉY|BHµb&@Љ9Øà’Åñé+ª¶&|‹2aÒ¦±JtÓ`õ½2™*õèt³Á­òÒˆTеQ4Œ@ì(͹ž¾€©:ãѳ0ÖcÿS2¾Øõ-AÎÞ¬oQåkJ^:ë"ÝûŠÁ "pö_“•a \³Õc£rõ¤UHWÒ¬¨Ó…ÞêQrÄ7Ø_iƒÇkWÎï]ÉÅtÓ˜s ÖkTZP>H‡§Îd«¼Èu—k¾Ü“W{µÐÜ­GTo8Ãéýø)cêðýãH.¹#f8¦Þ–°ê…Ø.£>“–!&ä$?)ð .´”AØm¹f g•«ã骋D(ÜCºßºË$Íz!¯±ƒËûÿkÑá®Ú%Î[¦ÐØë¦èöyÌÚñKZC+ô×GE÷œãwóWýò@R8€#hê¶ón~7£k=DÌ÷¬#ÏN‰ÜÍOÏeø|´E|ö®b‘csRRÅÈêÑMC’žž¡VeÛ5^=ÝOàÛ΄ÃÈx¿èéÞ¾•ãðÍ 8”{ ô[0MK"Ã3ánçîÿÆÒ»@3ïYrNpðz½Ç;ÎÛ.ÞiÒž –žþtr­Þ¢c¼Ø¤þ.©¡ó‰J°Å@³õw¾€¼M‘ç¤îXñ ?Ž+ë¾a"U\ÂãkÙí-ÌìÕOɃYÛ·½Û¬Þí·ªej–Ä&Ùi;4K§»¿æ”Ñhµ#tšô×å·ôFÇbýv­ýä\6Á%æ,}e饀u2ê0a•Í«¢"@ ç_]Óî\4øë2„*ã ^Ѿ¹qÑQiÙåŃîÍ4š¯žm‡özÊ¿Ïâ²°Ol¸Å$¥h '¯ŽòÓÖO‚ø,je#Öá{ÄpU¥lséö÷䋲tJÝN–뀔‚pâ˜i”3Ä$!pŽFÍ'õ·å PøLL±¥ÂkµWA;ä’¤§'W¬¨E3·aßõ~^ ™U$“4àÒ+,±®g-‡<ì¹@æzmdÀžQ%ê;Òq®œ­5ãr«+=*ªõ–>Dæ³» x0Ø}¤‹Æ'—˜¹íUŽæÄcˆö/£w$ÃŒ¿ì‘î°Hx’jÏý?mñDÆݰTØíç5GÿˆÆÄ³ðÁùl`îÖß+÷QÆ»fÿLŒ×˜`êió”¬oƒ6µþàq˜v×®ŠZH̦‰ÁðÅK.Ã…/äÝ~7È‹~9N¡êý`JƒºµkžT¿y¼¬ Øxw†=ú›®2˜ºB±‹?QÀ¯ª®‚;†9Ðl…Çñ¼NRâ ¹ÇfäÁêûÇM[Mw®ä$OÜÃqûªh"®ß#‘°ZvÅl 1 sÔ`-p¸IÄû—èª9íENø6{ƒkwç›@˜¢BO ÷p.rs…–…¦KÛÉpÍ ˜Cø Ð~HÉŲ[´Ú­Êr3¾y¢V“Ð$XýÁ æálü” š‹V¯ÅjøŽIöŠKñD•èMŒmÅ)&«¸¾Šž½ú pdd%Q_g«–‡ÿ°  îvhnýÓ‡‰xýVëCPï~Ÿ•ǺÏ.1i"ÏñNË`þ‹ÔèQ[¨BújxŒ×DÞ˜‡Í.´-é×ewl©ÇÿçÐÍ‚±øsÅ“TºBÑ ñö„¸+|±oѦÈ-ñ~[v‹B¥t­E-¼v?–u6J{KqözîrºÍþÕ@ÎÛÀðISVÕ<ß¿EÇ ’ÂÖpY¾yõ‡™Ò_EM {qÄï’Ksó …ð¢Î„¨Ã¿”‡ÿžÐ®Ü=¤Ku©-r‹XÓûçB‘Õ ’¯`2Epçɬ™Ñ͸CV{dtô-6Pu¥]d+@ ÜÈ\úÝjá¯Ú©ÄÌCôeGnø ç5ìJ7!A/®Z>«ˆ)çGµ/ʨ% ø±}¯«¡ö®°*³–œ B í¦‚†ÜYìËðKµ¤wm–庤å°ÛðdÎõG‘ RY_F`P‹Dät÷œ[==á—ÁÀš§cøZÍŸ7¢.rZƒC}_Ÿd’“ï*ucÜ?Údà ’ifA4γ<šhèÁùãCI¢¬l;«†%—Z¹ØQ|ª\›{Ìá`ŸaHBÎJƒ (ÍŽÛu 7›¤,§YcÀJ®Èà+¥i$3jŽ£âÌЉb[Ê;ÆwŒ:f¹b¼yV­r]/¢ñS¤î{õ ÚÁjp›f”+EÕåΦ¹ô`Ð_!)øs -Œ0Æ L£—©×€t¯¬®\ÄÑÀšFœÓb-ª„Wº[|ÿß z'–A4þN% T?4àŽÐg€+õRÕÅB•×d3朧¿[Ñ…sÝüéä~Yá Y¬“*ÁÇ8žÇ#kð9e( 3a»}rf2>×ÕòbÚ>!b–äŽîª‘‡yÐÕ¿ê<œj³¸[øhΩŒŸðs1©ðekÙc'ˆ6ô<+ø“º‰$àödäåôÍ_ž ë`ýꥠÜÁŽÊ/Øv!=é5ðâ‚â]R¡íÚK —ÁHÆÅØC&dk‹-¬Å:v3Â’`¶ªõޱ3t›(M“U.×)FÏCÜ –i6c«‡=ò:jÌ@Fè÷7ŠAsðc/Ú× Š œãƒêH*Tö3X;“AOIVyEìCl;8ò&Ã=-²S3hD+²ZéÃ+.) a“ϤëDãw5ÞêLël—:Ýîâž´# H´à-»f¢~ã «ž?ñ|ëßN.AýN÷ä¬á¯iKŸB$¥àCËЋðÿ½ö Wõ|ZŒyz‡1þ"|æs7ZÄuKu~5V¾ XåS\n²h‰­új0.NöýÚÓsÇæŽ¼É刎1°_Ôªö»÷%êp»ïP][çÎÎÏc¶i¤¯sØUÓ&ׄTJŒû¹C“ñû…¿…T$§—›ø” ÖéÌl±ÆÁÍWòûFmâÐG±¨yRx›¨vu ,n{Û¡úSGWJËØ:MPâ!)->wÓ¼I¹–‘kQ³X9Ýü›‹µÓl‚ü–»ìÕ`c–ŽHDŽ–ãÔ·ÄÌð.ÁæUï)8<—æîŸ‘ZŸ?kÉlÂå¸êQ$¥6[šU«^⿚G¿ëô1>™¢š:¿’­~‡MN€¿üB:¯Äy•¸Ývvµé3à‚GðþôO“Tó’ù"¬­” qk‰ÙC4,ʦ„»¢IÂKùLÑÜ)sât3µ/~UÇ¿~ºÇëî9&´ß tÑò2ÿåYIÝw5|ùmz9˜ø×5eùþþ5²qš ªR0ÿ¸˜°–JVþð¢$ú]äÝ!û‰æð¥cE1Ì#„^–wÍ^¶bÈõ·œpü1ìKxGG€g¯ØŒ³Úñ@úó3œQ n†”¥r•?²lúùÉ'ârøb%Rz>&@8*ElÛ›j#°Å$©#wω¸EG]ÊÐ-,s”hþ $-žõ*MÿýÚ>‚‡÷¦ÎµDÙéì W«KKÌu1‚RJr!EVÃW8^Ý« ¯|!Sã0Ž„öY ‰l¶@ªC"óÄØù&€ýmɸè’-A™Fækóà¿Ù›A ‘Ýoû©¥«ù1‡osˆ³ ï‹{kW…Å’ÛP¬¬©ý‹É)@ºÒϬɭjo|”ÒhÅË#š«õ³»ÂìñŸ p09}¦QЪ j²š{v¾*|]é´ °Î„Þhùî¨DvïÃŒÝ=»ï!*œg› ¡Ø»]öSwi…ø;Â$¯{æ6—5ž?†È‚WZ…¤2ˆr.Z5!¡m(Vk3 g{Q2†œÃ:…d˜Ê€ì`R•(ƒfÄ-M.\AçgPŒåœ‚ `Õ|§®”áÒ×! L`íƒÔÀÒKm?–O@p¼O6ïýË &{©Ð~çùFB¯ò„¶Ìíòi¹ÐóICV10‘4ÚC'÷‰— "ÝJ¤ÀocǼ‚¾ê¿n2ýTN44¯Ñcu”Â-¯ºR+‹¹xÁC˜öƒˆ™=À·ë²Þ“«t“kþqTý£ñÇ-÷`YleN7Ö²³Ù•Ïf)lOxbO2û6·STÑ6䦮ŸÒ ¿å-Ë#ªH5ªTMå>_@þxÛØàµõ\}ײX$º‚RŠP¯…2¦©xÖÆÐõé5Ï„õºË¬ˆeéVkÍÜ…Œ{Ó‘„¢2†ób™úÇjÞÕ& ßdQ¾e‰Øï¹½iÒ–Ñm|¥ªÔ@ÐzÂyŽn»Ë-s1'݇”ÚÍ‹# ÓøL0ßÀˆ¡TP¹3Hî›ÂP®ìJ±È§Cv.Îí‹lÈz’H«)Yý5¾íñ&Ë.®ô€Æp¿‰¨ f±u4”¦»NA7ö¾Yæ"Л7±u¼´-6ãÚb–’WinyO8Sj˜v ‘käïYw¶îíåÞH†6®µæÙª4Uº¥Jkèb&_¯ö?åÀVußyR«ù¾sî± ¼§E¼;ÂD¨æA¸9•4œU 3–@Qû‰È÷ æ÷8žöõ*à ½:Û-Ýn(5I”5G: ¥ €Oí…´P*Ù‚ÌË /€_ Ux^ƒ‘ƒ/×íƒ>¨¸æÊ]ï¯<íD VMß/U[^“6ÄG=›“4^ æ=ÊÂÓŠÜ¿Ø*€šmwD¦Äèû›Fá‡|åúF7Œä›ÞÖ˜‚w V;Â$…cÚæ“}a+{ ¹êºŒˆ›¦Í“RøËÐmŠ|‰˜õ¢ß[Žw娟#I]9É\ÇêY|p\€1Žâ@ÑAAH; W= Ë ¤÷ùxhK–ŒY)þdM]^À-Á±Îer䤖§°Ác\Lv’Œ@[ù~ r…"taÚT¸E ZVþZ†gÏÚ5eþ ­ èÞå,„leª#í}Îñú%“ÜAj(è|Áƒ3Ÿ!ö=d4vý©Tpü¬†*+¬ ¾‚¬'.ã[•½îÏ\G›aWÕʵlBÑ" ÀÐÏã/Åûƒ‹RŸ>š©âkgꥦÁç/6î4´¥d™t Ù+õ/ÕÅ[=¹±Áˆ®êþ½Ó{MÙùANy5’líþŸ®²gÑÀÖvåI¼î"™$áP÷=^yÙœ7|e¥g§ø Ãúõžè»4W˜ðW›{å‚oÌ©RF‚‘Í ÝèŠK_è(êzL]ªBÁëH÷[ΠµÒmÆ°Ž£$hIý Hf/WÈ'¦ìé*`2p|6é©ûAÍ®b`6–«`®l¦åpð2eš¹KøsX€ ë°L}:š®ž–À59!³&éüÍNòg/2â²Ï¸äÝ«0‰ÛC“,º¶=±Ž30;ø°Y:êª/ó˱µ7}ª(a4Ò¤[¾·ÖéN™RàîÝö®ÈNémÄ>Ÿø‡™š/6s]Â"9ðû׆AAΪášd]‹I<ˆ6'†T¯-Ò<Þ¡/väy3;]óíin¶ë[1D× ÛPA.Ñ{qăåYˆè—96ab:bLmw‘oâ›õfØE-‚}iKóü Hòiw¡%dž)€ïql95[D›e§.Bñb­:=L-)4Ë ÞåЯØÛ#¬Aà’hp@½¸w“ÆëFN~±XNQ"„7°|*sJl¡à¹ŽëŠEú¨lœ«OPÓäÍ(Çœ¨¢ý¦ÀŒ'̯7ë[r[ Š&Ývˆ«_Î5-qÇ E‹ÇVÖ¢ »qMìKé^‹œfù¦á:àcчZ”'î£Tón´6{õIîà?K¨ç~õ ªé—ÐŒr,UÖ¥óØN~¯|ªI^ž'¬¼~´” ~íSÅIÓ·Ž,vqf­»Àí@ìmHØ0šžÏªu¯‡uÁŸ:%Ò‘Xn÷sl™NýLŸx\íGø°¦è¡H‰6‰³€ÀÎ_æÒÄ£M½3 fN !„ `ã¿íRÏK@Òe>Í8¦®œ˜ä]ž}Ê¢{¸ÓÁëìqRãGÑÚ˲€`nu\{Ôy\¼Ϩïúÿ¶mŸ]®Ý†ø`b®êfbÙ™ëß îÉô™7‰iÝϦ+Ù”o¨¨ºn.±=ðÓÚm—[üتmžÛ­¥tHD’Õµÿ‹îh×§÷g= b*‚çûýOä´mƒ.Øê%¥pÃÁY´B§-†¤*âÖYœ,¨.”rNÿýJ‡«œjþ€—è@€²×Ö›s³†?Þ„w±ÓC —ɯb±¾È™»] ý+®EHŒ­¿7Ïß·Xl!˜L]å0Å›@>|åC(ü7N~+”Ì\v•‘v2ŠB›–¬Òþº¨\\(SŒiHjW1I÷ûcÒõ C@|ƒùNÛ¡°Y¿ *î´È•T,ñaXð£ ÀIâs6\^ËYqiêZ›~“›^ÛU HìÛìÙ3“ÕEë4ÿ,|Þš&½“=_ ©µ'²À–ÃÞ³R=ÌÏÔûî¡^^õBZ7< ÚÐl¡©Ù L«{2ÉMjé—öKkŠÕøšH±mɹò¼Ö‰¥VkPó,CFÁÂK]Ú–¿¡Dv]@•þâb~‹sÒ –¤ã"Â*¯ÎÓû×ÎßX×Ýl?÷v‘%Rî䇸UŸ~Wt#¥Æî=Ú9¡®ívÆãGVg»Èñ²joHªiG[s±:õ©ÖI¡É&¬ÞÐB½çv¸Õ ða†ÁŸ~j%Ž£¸ã÷¿±J+y¾þ8j¹át Hù ÊŒËõà|ûk;ÒFN2 06À„¤ümÁwàf%ûýkVƒŽò½›zŒà‚ +;*—U¿`9Œg|6þ1w¢O¯7_™€.×®Ã%ä7©×Œ­=á_N6„Ã$UÒ\H0Oœ­4.ɳÒám­ðFzý'¾©¿ƒf…ÊM›O²çrá¬ÖÔÈÞ'òMñvI £2u˜Ü[g0ê¼ Wºh+CÉ|gL™ã³°1Écâc´ Ñl¹(­Áù)€,°hø6VoämúIPd8€ÈCnê 8…EôØm ¿0ø¸üQŽ|tkWÏeª¸uVJP¬NõÆ,pþõ¤t—¬¢¾•°O´ïX(‹qß.ýØ–:9&U QÅZà|¨n¯ÊWgƒ¸ï¥×´õÓ£‘§Q÷8ð·äM'pXÏ(žÎ8Ù‡ËÓÕì\‡ý Çך_óï mð‘["M™‡oS¤½Oþ峉üé¡=1bˆ`)¿Ïmzì{^€ß=É„­‹qly–ºÞ›ÂÁìyç×ÙýdEðÏ‚©<Ä!Šúò‚¾0̇‚*ý‡½â³àðO¦ÑÈõ’ª6ßý°!ì¦0ÞðJxÔƒûp>Kz½ù+¢¥¹Ò˜R¢ß:DJ,‰¨@÷¹»ˆi@î'Ž’eà9k6´0ø{ $”ôîÜh)F­WƒL\Q‡ç¬9‘×;¼0eÖ.ó‹¼§+KÌñ¢€+_1%XÇj¤©Q ÿÏ‚¯ËË ˆAÚ)5¦]¯ˆJZwM%7 õµ9+$6Ó3®J5Ï·š+Õ%/w_æ½¹ð*[Ôºj0Éä¿Ý¥eRµ®\”â³}ö`Ö¦6拾Ä%w™Æ) Nl—Q Å#†¹GŸÒP?ÓïˆÒŸËX³µäÊ+56˜–Fÿ^6ÁÍ"¤s€–­{Š“‚ÿÙ+VºÉ؜ºGYi~æ™ 0H.o—ÄpC^ýó>Ãë+¨“`ɼãkJ£7¡•*¶åAóÏ»H1PG^j”ÃüQÒ9âé]âðÃÊÜ`Ô‚& ~¥gªÇç¸0˶ý«4rÒ“ººù’1OU:Ö7(Ä«Ic& µWD›BBôn*8„®Aß'ôÕÏ*Ô0Dº)þ´ó`¯Tä ©å’|nöP{ÄNP_;ˆ+§^¾EžM4x(ûª³ã:©‡Õ{@ÝÉTaÒÚR‹îÑ%¸zf,-¦„ÀOZ·€ö²ui :]ꃤ ´âÒY­;U²¯oÖüY®qMx.•´´öÑϲ‰…by‘V“ {E„2vÕ‹~Bá›kDy^0k³KŽ×fë1ô;èô2…u²ÆÆ5a8ÖÎÀpkövj_•l¸!Û1S‡Ü8§(ýPó—imü¾¢á‘ð<¿næ&€žª7~ éûùMU;¢â¤IpKê²ëÀâ壧|áh…­ôƒ…Ÿa§c'om!fÔÇôý)jiÉj­M7u R;ï¯4´‡ºÑ t?¦!T ]¿\Ôâ2ý$¦;ƒFD/¾~]1õQ7oCt9oª}¥6ò¯âŽÙ”g¡ytL x6ÇÀ„ÖÕ&"Î]ËGOÁ9À^Ü«YÀol¤ï¿Çüȳ4å>%‡Òqøüñø9’Ôo쀘]Ê M &„Ž3h±ÖkËg‡ššó ™þk‚§E³<ÝŒ0]`®;¯“'“ Õï¼2z_*™<\éFîmQG줼swËÙžFÑ™ÉQç'–5xZú÷}¨£ýŠ|ÿó:÷¦è„j»†jƒË „ãÌ/e`1üäI™²hü&›8g›ãòx YΊO¡öl²¿w›Ê–0 Éÿ­í7{Seûóˆ+NT?¼ºm\c|«gRjÂt«§ÕÏu៣~g>ùt#ŠµŠŸ'»sah{÷2KüÌ…»AØê€ÃM¿`Ť& T¸ x‰+À‚ˆ`Ë?Ñsul;‰½ØA‡@é=€u–X2M)Ê+±üÙC=¸Aœyš+æ-wÍ3eíxÂlùóëŽúmv‘- CS•£Œ2œ xIçd ¬õŸq+ õœÆ0j4µ¨vþ;§Sum3 $ÂýżÉ—*j9¼S3ìcß(¡ïú©%‰¼xéÈa›«Qdr/N¦ÿ,Ë,©wžFr&œCoà).ûór¦²€¦ÿ­ÂrÌ2±Yš¿òÏ´ÿÜt95Ô9–ÍiA“•²%8¨'·Qn¹’¹žTØ?ú\*Ó1Ï·Ke7“òC”ñÖS{TL@iÆ£§1;ßÃTHã|ñqp'ÚcÉCêÕòÙC €<û–xÙ}íÆ÷øŠ´G¥ãØd¼ö®–þì(Ÿ‡xÛcÛ‡P\’Çâaé‘v@Çh£:RY”Œo¯ÒìT}+ʳý©OëÖUd;­â."pkÁۣƣüËw­Có:4¡|·]2õ{­\D²º>[_ö–ÿC1Üù£ý{2 ]‰ûÕ”]ðÜ N½±õÊe‡ª—–,H­ þßÒJ6š„ßÌ_½Eô4ƒ í¶¼:6ì˜è(óç»eÑìoïÁ.Síj_{—ˆÃzÛë]Ôsϲ ´·|D²ùFº° 7Ë`Q*O{KH¬îW̳‰ôtÈŸÒ+[Ùð˜øZ^ÿ\š»½yi¯äðDV®µnr›h£o$²¿œ=’×£–žû†l±Ésãz00é]Cn5]';_w<Œ—»ebÀÝìÈúT% 8uŠ5Cyobm–•Ïfé@1qX XOÝä¾’w‡Çvþó´É~Ê ù%—¾ÖĬ„…?¸;õ" Ù^(Þý¯ Ci;=#wôö šQëATZrÈk?Û`ZJûtká¶Ò±A1$JfÀôwIú`G³ÑfÐßÂRØ0ZF^0üäßôøÔ q‰WÒ›iíº:†¼âñE‰1–üçå¢}Æ ñýW©$Ñcø–š'ÃAHR“—羟ЦZvÞOᾺ=L\øŠõJÕ OàÒ7@¥áy6ʺÿ=\LÓ§e¶dàVT ŒJAeD)œL£ G ‚² “ñ)ësŠsÊ}]1ÀN|ÛPîˆ5 ßՈ¶ ìå>ÇpJ¿@ü±õ“Ô*Ð?Ä/Õ„W I²‚g™õJ1æBýöuŸ~kÃ&Ïz*®0ÏBØ‹ÇM? š±o±a¾¹«˜¡K¶&Q2,D€0¯nóéûdú†k? a:š?¡bÍ(¸–Ú8 ›7|Myÿ:0–òú3Ñ¿´á^^ùʱ¿óºm¼Î’?þ–-E˜Ç¤*­XЃ¥ÏeÍ ðCïZ H—O/kU!jô ¿ÐS&V¾ù×êǯ˜3uŸÆ4Bkèôg(h@´³¦¥Ë¿ö‰ ’EIý¶´ú0;?·ÖÖìmúAµ/ 2 ¼L3©~þG[ÛÅ”à᪙³€˜Wë‹ä±â'ƒxx¥/¢$zù…Ø‚«2#Iº-^^±ÛTwŸ8·oš?Ë˽AfÔŸf#Û®áM ³*—ټ㲛[§‹O´’Ñ´…Ó@ñ\w¤z­»ÚCXCb»+Xƒÿ°öpÏnÿõ”‘bÇî°[mƒñ‹ ³ìr´"öUeÅÉÿÿ§Mm, ë<@K|‡ ‚‘œrȽ`ûŒÆÓ<ÕЉ­ ø¹µä6Z b Ä¤x¾Ê´m1‰Ÿ®Ä®_°Â²M·—;Sp¿µÐ9R”VõØ–†ð“.NkùºöŠ@µ¸¿Ìú—ýÍJtšò‡º- ¦ê^• íõ5C«õ€Ðú] z£ôÅ"¥…–À~oƒî&®¸À3¦´Væ6ïìЃ¯Üº½ÆÍÔ(V_\•}RêDieHëR0We嫜&rKãõ`mÓÈbû4 ‹“ŠÃ‘±·[€¦ä²Ùä°«*ÉО7‹Ž*AÒcó008V”ÔJwÅ>wÞ™Ög©ÚõÙ¶ïÖ±|‚lþÏ'ó¥ú<;=m0ãe(•§zƹž<`Ì·nt•y FÒšq2õ œ³Ü¢éC7ë±2ýÐ{5ö¨Åƒœn1èIÓß 6–‰“ŠÂõÁÐŒåËKâ仹™çT×-BaµQ¦ò Ò[ÏœiMS5=¢éÆFa’eôžz¸AûA ž¸&îœÄ:í˯Í(„¥EÛËd ÄÎu3Ø2ôþ×^œÂõZˆ®¹ÉÑÈxw1ß/¤f˾âöûªÍ:'þ†Sù ØÇ€ï—°,e›ùŒá#9‡¥/H¾hK¢-ÅqõnžE(W˜æ8$ðì¶P…zÐKë72öÎzäýþÎ΄$~—ì±ÛyæRø £Vo/®ñÑ((åPÖa¶ÎHÄž»Ô½5–äüqQnL¢Þ,w˜Ò× ·´Ñ —”ÝLÕNùÒXcïNnBÐŽtq0ço®ÍŠò ôˆÇl7vžÝhËÆõâœ8jÕÞkáÙpš $DLu¨9n½Ø€j²,we!uKÉãì…‰§ô¡ØŽÍÝi•ì4¡•?dÊ® ‚ 2*ªK1ÒÀ¸Û9R˜íáÝáþ×ô8H<ëè ²>ZùïšsùB• ôŸ—OïV&ü\•JÛÈ'nlÞ–{w;L­.ÃéÉ_‡}þ Ì 7AD±ðbœ‡­‚¥û[™FX£½H†™d`Ë ñÜ ˆô£vp"U6ðpˆ8bGì÷—$±ÜµL[7:Fö ~¶û6X#»™û/i4g!ŸŸÍdÒ$dý7u™  OȤÈܒdzþÝÊ…µ’·½gãq&â`òNN %ðØHêFØŒ@QÀîòˆÇú$8qH5>¿…XdVŠßçªØÞrY‰G$w#x6:·slæUWE?ÿ@|sG›¶Ûë×(÷¸_©Åáþ”&6ñPÝÈp-|S¦¼ï6ÓÈj¶êZx ÚÑéÓ1Ì,y4d%ÅøBçRÿ®^mâ÷–&à1NèÙ%U´3˜^ktuº|hæñˆšf@F3éê›åûl!´˜°‹·§ ÏQ“i#̹yúƒÉq 4ø–ð%ú×:ðô—§wAôjÝrÉïíèüðÝ%&F-ðŸÒcI%Š’{>Eò1ìQÆ.þÉêàü@´d.Nþ¸r˜¢”ˆY |³’¦ üXNfÑÄl†­¼ÚÌ+1ž­/Ëá?ø¡Ç³àúd¯Kæ wûÈÁ~á³Ì`Ÿ+«0† VæïÁ£ji+ ”w¦`?k,æIQ×R!Z°!ꬔÂÎ!O%Þ†Ú·Ã8´8©‚3ñÍâ§Çà&ü×ù³/OÎÑß)OeþLµÈöëë•÷ãÆ4ö s–Îü¦Æ&—·>m’?zðƒ¬â„_¼ß¯‰ QzçnàXZ'ëã8̦6J©=0¯#”ÏÀ3Üó´Ù9žv—û6ð¾‚tÞ’‘BøZ°äÀ¥G²FØHlÝ8L4‘åbûW±}œ˜†Ñ°"Vºåuz¸ §uãeõAë¹§2^H Ÿ;ãÔÈÂ=% ü8ÉMV !v ª;sne/Eµžß¥Ø^k³3@fÿȾcýƒ…ÊˆŠ ÅçÙº~·&Ó²» .þv÷ù[Ú,ºdô!ï¬P‰xn\ª¹°LÁÅ?¸†ÂKIsì)›GÑ–þÈ Éâhd!$y`&ÉÄw¢r@!@U±6±ª.0÷ßG¶hq;„€z&­„wÚ¿†]‚T† BÙQ=ÃSýÖaö[ÚáE‰Ñê}6¼˜½ðžˆÿ¶Æ\©×Ò#5Ó¤jGJP×qUœN¶³FžWñ÷ËÒî蛌YT><ÝùL/Ú²Nm¦–ôª?Aè§%„GŒÀ„µ€²;„pG½«iÛ†S£sôÐiìØéŠj=mÁYŸFÞ䡟CFøÆ–C,… ‘O: ì‡1n¢}p#ê@œh*Pép‹§rRckúl`/ £¨OÝ.Á÷=CÄù°àOÛ]'ãÈ?Äk7¹y®¦ó7ÁÇÄlc[—=í ¾kGHý–29ðñ¡æøÝê8§aŽ©ó,ØŒã´æEb¯ŽAÀšNá øÉ}zLÅI9Ý´> l–þ-‹_svv¨…Ñ9 à¹ý¦ûdFûd/U#Â2T£}r=ãÖÁ¤?“6zý;!OO»Ù®ëfì²k„ÚIz{ÕGù‘ÿaz[ÃÛUÄ-.I÷ùr}ÒJ¥Ù}Åÿw@«}&q R¹½­œ‰Ö*mãXóÞ×èÚzÉÈ ™‡+Õ‘J6"l}TM­ÂfÓåÏr k8ÍQŸöß<Ç«EílG2I𡚨€P¤%“»þe½¾²Çfa0»›6" #=²RfØa‚Å9ÐÜäçõaýŸÖÔ‹ezº€Ó-‰ \RŸÍÁ° «.c®€¬`™ iXpú%âi÷Aù ö“D–‹—âDåK›-®Ñ•—†Ñ(Üý;Î’´Ë8gh߆)PÆùÈïF«h°J`¼]æQ} u§ZðҼɄêä‹£¬2³ïöPŽêh¨Ú9ýµ-š„~ÕyA†û`T}!ko6ÿÒÛnIAÑ#üg†6½¸èЩ­.²š‰3Á—†îx¡ZamÕ[âò8q'B¾mÑù‡VD4~¯• ÐK¢1_ P%Bw¨‰œžfé©+œ3…€`»¡QÌL›µÄ·ôP¡Üdd=]h-Ä ›VÖDý¦0­‡¬sgœ˜5óí/νÓ'¥gÒ>@XîrdÕà¬ßVX¾³l¬Éß’ÑëÈ7ìu_I€s¯ {bdݨÁâh‘UW.EIg0P“[ä”m¿u4Ud 1°àù•F*q7×SÏO .™,ˆ*ý•õ»H›±ä¡Ô£ÒÕ½sb}Ãí¾±':‡§“ybÐi¼á¡â™ýͧr´µÂßÇcñ^EnP“dª„#Kˆa¨Ø 2À¼Rב’ÓgqÔ`,G»ÂŒ¥ˆx¢í†M}˜5w_.YL·¤ú1Ë ÚŸÛ$ªÄÞµð†”ûÜ +e«ñy0i’q¢¸SE©•}'ÐÔ§Íù"@AÖÀÃþ9PCÅÚ•G籂Ƕ*רŠô¾è,¯ÚE MäPC‰ÿ4-£¬° uuºú‹Ío½€ó6¯è{a÷™à‹˜5Ë£Pë®9åb[» ÉŸ •[‡Pqÿúh¹€…øìz\Øëƒ)†¸•Ptô,ò—ߎ’asKùVm+nw§l"íÜMîÙ‹éÉ,AKºf/”Z¶<çøß9Äö—Ìù:•]઼ϺªZ²]*Ïæ&úñ¿Ÿ#ùz~1¨zè¡å¤*!|ÏÒÛVŸë½U‹ ?u‡¤7S@â/Ï5Líác”!‹?šˆ ®rI~ùÓhæjÙNvVŒ°d:’®Õ4ÕEʱ ÓJ¬ªô§·‡ì%ü‰dTLó!ñø¥&DÚ ¥™¬xù¤åÅ×/ÔŽ” ¼&-ŠDßF4w7 •>ѵ,f çnæ à ÿÙl‡­pYN—Ìè‰ï-›¢ìJñ‘¬!¡c‚oâКJV¡ > (\­HLi-\ÅŒ¨²Wè¤¨É ÂåÀ‘¤ŠAã 0 59ãÕY²ó×*ïgÿÓ¥/nßk„ˆTŒ²Œþ·žl\ùiKƼ•T¯,FàR£Ö”˜›8jÓ#mºKIbØ}V&Kðú^áO‡ !C´IíËxïVdT§JQ*£[P‘öYˆ. [F$…ІûD¿½å(FÙ@²ˆo«‘}¹@±z{²ÉD?ô¼¤u*µá„ZgL×5oS ÏœÆF<#žÀV=“,hH6£º).3¼èäîêÉIˆòLÖ¢ñº­ýwû¥Ñ¸ÝÛ‘y…(Ég‹[çL¿jKˆ$9ñ×Át©wü¡í^OO’ó•-î Ü Øö%Fó±ÓMÖFz­W(ˆK¯ sÊŽå¤7,Ë[ùßU20ùQ+$Q‹ Ö”ó)©tßþQx%7m‚p5Ç šy>-xd›=€Ý\kïŠ 7Œ¸ô¨·Üˆ3£9Û3 ¬¦6Ë;·s¤SÅ*Kù; `NÍfH-C²\Ô(‰Ã[Hë@JS)™´ˆíRÞ,áãdpDZnKjŽ ]×T+³Ù4ÀñëŸW4ØäïkÇpÑ/(cÜVƒtîår'~ß$¼p•ZƒHK{ÔÍÑOÈV¤>]…0:Uô…ÕozÈUÌc¤àÉìC›²«f%-³¶{o_ÊiÕS'ð;AY¾à ¯üΰW­ÝäY^Výc.Ó;Êq£´ž=^Ѓ÷Ú*þKÐBåF—öÿ!'vöݼbßuUÁ⾑äY¿wqŒE1I$Èªß¸Ï (ÖÈÓC w³ÔÙ†eJ@PÉe? Šsp²ó]:nÂÛˆµ *6©ªƒÈIa¡ Õøþ¸·6pöÿ©;‹n?£$”ôÆæV]ñ²‡Àº5áSxDÍÊéÛSÎ ¨Æ4¬ÐKWiB cU #ÒR7ÃkrŸu¯íóý4D¶ø‘¨*Ø:e;*5k 3e͸W2ÿûT#*ðä¦âÙ˜¨’¯€_rx&¸ÎW Ù=œÂ„uOz¾  F8F5âô"ú½ ‡wµ `vzKo¡ÖòÍ•hÔ½òc| ÀûÙ±3fmݨMsvd¼E$ŽŠlg÷C==Z€à aAs׳Ó$kl¢Sî·e-–? !ƒû`ÒæˆJHïûêö»räLóÊŒPÆR(V¿ÿÒ_¯¢\Ê{ž³\dXy\x1•þn†ÞõïKÕ…écˆ‘ƒáË>áJËV¹ ªX3 oíŸq1 %»Åê/ò|J¾}œ™WÕÀ¼n FVü@Cì¬Ý“[äØó¶¿þ¼v$EÜ+­Ïëm<€Œu"Úâ÷~rÅ>Iy8Z£T»Š¡©%í<'tá<ÿ Z·¯Ø¢MEÝ ó.3úššœÆaL$ëx¥îMú¼w†ñµr1{w Kæ*Ç9ÎËBÓå{R¼ân'ÁXš²Þ½È®.>©ºù;[iÎÆˆj¹©ãHªG1ºÿk-Dy ©ò˜ì—:œ¢Ü­W2üи ñ?FAD?_96úh?Œ—#ª‰å’ŒQ”+(n6^ ¢剸}üY°ˆìѪååj{áþÖ8yÇ"ï½OÄ‘±- Hºk4&.ÜÁ•ÉÉÕŽÐ'QNà+û*_é‹Û4œ´Âª‚·\ÁÀ¾Pusj2k öÏGÖE¦rðÚôOÐÇšYÔv:äNu†à¤ÐÎSš~¥¡Õƒ ú=ÄÝ÷Ž%(òÙf)ãÐçÅi¼–'ð%aרtkØô[ÂNºË/cïÙ§eÕàòmÌ~h“˜/oÏý(À3¯]+âh«³í®ß5F{-™ÔAMìaC@Q _z.mÚªPº\üÓØ¥€yC›¸»kÎùÉÕt1©Ýo¬ûTA¯æêõ:†À x ‡BàUìÇš_2mùVÔž<¥ulFó¤Å¨üÆœtÎh Õ |  °ç°û‘RI¥¦ãÚr¶ÐÖÌ–‘ú&öÂGŒ´®>›êî!æâô#°øÛœ:'‘?јÖÅ)ü"ŦÃåž« üc§Q”'ÀcþîÀ¦!ã¿ÙSô{ÓŸg\ø¢·/ß›ÿÅøÃNÕ³]Nô;…àQk"Å]´.BæfÖœ1òü‚õElâ‡åý}c#æc7‰>—bÜ2´Z‡^1妡lq-Ú<V‡A%G6ªPÞïFÐÞÕ­?6Mý˜i#eB-R£ŠèÚʳùÞºDù32S…,~¥9ˆr”A/s|/ eµšÅ)ñZ_ê£Þuí<î$CÞÞ«~½\(Í—ð0|ô]÷Ñdõ®Þ¥$YÿJá°–ºV—µ·FÆZé|_û@ƒÉĵ±J ™nú£§ï<$¿G·µ×Âb¶âšÝ,;.»·/¦(è@݉HC¶¶àÌ‚Ÿis§—ixB”ѱ=\xrP*Ú(_Ê)ö·ˆ¶}­µ¦fM‡çð'g,õ‹Nh¡Î*Ãõ0Ò¥æhm¬™‰¯€…Ü¥k-$Ñ,º>ÜïÓ“Ê(Ö%¨©»eÙÀ±`"µ'm¶ Ý/;E×u v.ÀÃÉí»Ýž×7ØUf‰¿ÞÄ_w!&»ízêÞ o(S*¿”žÊ’5‘~ª©ùÊŠb>ã¼â<bj­\ˉªÊE©Þ Œlv#:펳qÏ讃©ar쮞•£B ´É›³ï°O ñÒßvÅõê~æaˆ¹/ëó‘ØbaôÎûäœ`3Ê”­Dðé‡ÖÀú,r/´‹¶pMV›ð9¡¯>ZHÙݤþï²ÜaZd¦è–¹h³`ù•Páéc»©òBÆù˜ù¹É8 ‹õŒ ƒÎ j¬qbg÷IÅ—l†Éˆ·[¦Û.B)¡wã†î}&òzº¤ó›NŒf¦ܨ°Tã…º¶~Â[OÄQ¡ …¿vŒRzÓ80pË™•¢Í ­ëç‘ÄG7ú6. s?Ãu§šyî©ÄôÖ}‰娗% [XØtÁÎì;ÓS¦=í‡Â/¾2 —! Y¥½´@ÙáALÉxfèOP½|Hp›‡hC'5Ÿ÷΂¢z]]¾nÜT†4J!OŠi6‹æÊR˜‹5ÁüeQN2½DÙÕ@ÉßKÔ%óáj)Ûÿ;I 0s‘ ý=!wåiÚ} _pûÏ"#ž…Ù´ +.Gc9hÜYÍ+,Õ£]fÒ®˜_SÑÒƒåÔuc®=´;P†+ÿ¢årÙ*;²+É ÷ÏïªcB¤šÈàÛ„àú^L…p¾€ZÑÎFo»Ü—x 7ô›²×ÖwJr÷s‹Èm—G¦NÜù––ñ£Kw0ö‡0ßO®Kß»Nš×ã›èj)„GÙp.Ħ>Âg‡¤*ýtGeŒ…{ ‹q JƒvþXúÔeèÍÇ k0.\·Â9CHrùÅC²m©´n1Ù4pâu YCÈñaò#‚þ(Š2S:••þR—Œª¡ÿÔöO^#2³(‡‚lY:ƒ,2e„žuV3 liÜÎ5?ä–™7ˆ[—ë =b–‚z2}W¨ÀÒ”Òv ¤ƒî¨@’ºyHõ«bs¾0ÙŽ¿ÙºÎ\IO<åcæ|ÒTiÊ ¼ÈâDŠa9k%Yó¤dø˜6Ú…²1†h±嫌 æ½HZhC ÛPlº}âΕ³§-@Ìg™ïü 8 “6'2Í·ËxÝÙ†3„$IýË3Gµ.UÔÏÜ^õ±Ë þ¯èr¦ç­ß÷àVä€åñé#TÎo%˜ƒ*øf¹«¹¹9úD Q¸et.Ž."¾¤e“kyб•Èn‡B±ÌIöV›y5"z›A£½S]“m¸¹œˆß^"…9·¾YÑ©¡!Æ>­¾yå³´’°H¥päe¤ÙW `\|8+*F0 FÍŸZ‚Ò] ³ó¨Ñ3)²ÐŠëFÔSU.à7ãZ¹0&¼â»¡è”†éçÑÊåÊ»»¥Ng£¦ áãå0!ûýNbˆ;,{u´Íj¹xQ Û #héùÓ!ã ð›Ë±NÂJÇbñÆ™É_–[*t¯9¥=Juy¨»¯“3S2™¥s6C;qzð/f)&—‚îÐ'¯´(E†ð(»—%öÈ9ºòípb¨žs‡8,œ¼ûŒ@„ü` ÿYÜ_WrÞÀöVÝP9Z"™oÎ ´qö#uÔ<4ýyò²Dž3T1–›(Dbj•ðõû †öCµDs¡äe–ášóõ!U€¼Çôí/DŸ*Ý&ùf§‚6²%˜)´ÉŠñ±ÒPWæ[º5(‹ ¿Û!¡1–rHÓ¹sÙM?[|¼S¾Ì˜ï³^OÁXOœKP63L‚¤Ûç<%cPÒŽvÕ‘&“S¿TJ_ï^äà»t¾)^Ëž®8÷îëÝ¡gXVô‹²YƒþÀÆe4á#P²S4ÿñ@i.X˜Ì‹U(d׺Ïa•_—k øïB3s¦² øŠ)ä*FpE&|÷JÖžôy2ö²jiWHÙÇ»ì÷ñ¢[p]ÓÊVx%¥SÆÞ’8ƒ(<ìN¨ÒS9޳ˆNnp†xýbpürõ=£æ ’¥ÍÍZùøx1~Î{.÷@îN–4ÚߢÚM ùš«–ÀuŽSnÅ’Jm{Ôß ®r莌u·ÓuÚ1ã(¥«öýbtNdl½êñR¡g¸g? ×Ï£½j—ëƯ„>ìæòAÓH¾ðW|˜ÏKΗ ‰“ùì? Ò¶›—µ§š&Aïäc)õ~R%NnåÙ£ËDÀzÖOÜăëü*h?šfSVý?N#ß)e3553Àj*àmϪNH ¹ý)ü•Ò-¾önq€d`"•Zt“ï]ý ¼·QIðµ¦ÃútÃÄMƳ>Ö7q¨P¼! ™µ¹{«Ík…Ãq„½o+ ú 49X;…VçÐãÂzÆK8e32>ÿ#]9$®j­¢œVq™ÿ=ÞÎrÚ…laòÓNSÞ›0üì.ϹÓhì$”ÖÜ~ÖnOÒØ(ÚÕËìòj̦oµêN9ÏFÍ’çÍû™øé á4u‰ á=b.ÃÓØuB¥a“{¼O?¡³”S+ùá.ófÔsA]ÕñrÙ33“T[ª `hR£2Ñ< F?çg·Öõ³(Lûj۾ȱ݉Ìf¬¨$òoÛp*Ì”Û[¯ïäEN¡+9³Š$ɶûçëçTlÚP ‰›¸¯SoKZ`ý`ÝÇ‘­­ÚvDçÖ/Ô}š3‰É«\8å7‚&F””Ñvœ®¥)Õ+Ê_ˆtÑ-ljã·ÓíÕ3:g&`+1 ࠅרʮžøÓV„ÁÇáËšŠ,×··MëÚ¼l=‚(ã>ô‰bÅ–ƒÑʳÕ`í½¶â ¢us7Ô„È›±Púf^†ˆ®Õªg2«¬–äù´¿¾É@%”zX†O×ð±Õ2”h© .p- Çy!ݺ­Ç]¤Ò©‡z™DõöÚÆÛšw< ´e) 0~®!È~ZVÃ}TƒM¼DnŒ(ŽäÝõ^ÞMåÅCúc5 Bæ˜Ûf®J¡¥u›lw« ßw&Mæ¡JâÏ€Û­+WÌk! œ›wÝkô4¦T€> Úbl¯FjDT¾OT߆%IEzæâ“ø“IöÕÇH胄 ¿'úù)•uŠkÒ£?5¯õà<*9$G‘C¹ë¼ƒlí['<ò.òÔÑ<ßmº$ºŸX°ª$ª9ÌšéyC¾[!Zsj«em¤š‚O_¿gÐ}³V4”ü2y ²'¶¼9óù½¡Aò¢]qQn§™€rRö ö@‰E ‰”ÆÑã…´j/§/ʃѮùv¡Õm“,¢ùÀó¦|+“|$óæÃP‚¸8%Z&\e­‰³ÁkΠäEÎ’SˈÅô¡²_†¥ =’ bÓ#<ÃíuKc÷žÜ¬ÆæQW•õ~#•GdŸ K}X»q|=ý¸\±Ùà:7¬v%®@B aWpâ ŽY z_5ý.Ë“©4{CS9tŽïu­æyÍ1ÕÇbRÃ±Š•ÂØ’ÀƒB¶¶ÿÉ*sëØòèn´²(œÜÍVió"óý§? š-­×ûã}3…z-ry§'~tô£î =&6»ÂÞiêT],½„V7Ž @W*Öž¤"`kðá[‚s½ìuû¨åíùX UWå£sÈ.׃º"›Ë `³t ´žÓ×Y-æ^ñêÛ¶IvTwß #0ƒÛÊ|¹Žå7À§)Ç ÏŸþ97ýåÛZ¤4E`BÜ gi‡>JÔPYÒ‰°.Ef‡A "ãN@f¼0¡³iûßÒ_Õîkà ¥­@~0Ó@QøªÉ H²„òöËoÈÖ«’D´À<Ò¼“ZσŸÑ6a}Ö3„Z\+H碧Líû=FŒ¦´"˜†¥bÒé}/5#UtbÆtzˆ ‹$­„/м ý¦)yë-_i°Ä:ÄZ‚u\Î,<_JÎt·É8cÕBÑU;+êôŒä5£žÆ}ª²ª7F̯ÄtF„60#'%§Õ3²C7“ Ô¸™|Ë,¾ð Š$¯äÉYþ!áÚ½Â# Æ–«A% h`1N˜ÄÞ¾§µòêÿÏ" ûVB8ŠçgZ€dšùæR|™ât$1ô©Ž CÍô¡óUÊvN"¸gζ‹247æ? NwÑ4²ÿh¿bqC5E`ç…y”’TbIzçI"ú^’ "|Õ¿w9-í:Å,}("Û$@ :‡Ñù”iX~I>º=à:›–½óøv–¹O ’QÜ=åêé‹+KQ…e¶'ÿ,ñÈò›a”Ë„þ«-kuî2Œ.rÇ=Ûú>™¸—¯gç-Úo¥CdWõd0¤w²kø&}^~ƒh„Î} ÍHLýÛbgèSù Å mȶvçO=ãÿk(ÈúŒËN·a¿÷ÄÈiØ Bžà„4¤.}£VA’«F`r„1~oK™°X$l* ßËe ´^M¿‚„¿½ºŠ=b8=Å `ˆ‚±,ÿ,r7áÒU~áË^nÂ1?#âØBDÖåño|¥HF׊k)Ù 4E¹XHœGWJzM†Ô$;ÁUÐG›µD¤8í|#x&\Ÿ•æL‚(7Qh1ê·g°kÜò)¦[h ›ŠÚ—"KŠlHåÚòKYó¢"2˜á,‘¼&lWûŠªèë¥{ò¹-Qt‹œ XEº^éì³ÁvV‘-6qí°°Ó‰’43;A@_ùOà0ÏO-ZÚBíÝΉZ’¡Uþåæúÿ^ß;8ý.ƒr–%]õ„̨fNr†ôý~Ëz—¬w9áÏÜh|'žÄàX>“sì7ú…ÌWÔÃZa\Æ,¾ÐèÿNP ë~²íYaÓeó:"*x’g:}¦7LÁ Æ©½(?idÃ:ÚèЭ:b šYãêlOĘ.¨$›•á§1˜AÊ¿I¢†°a©çÆåØâ„üutÙ9OÂ2ßx³£†bÜô%)÷{½Ö(ÙRéÛN‰*·žêî¿ Ý£Ú]lȱ`Í$º>²^…–íµýý¸4û²©òôèþï”;ŸØ~{ pQTÚ^ „™í³zzêש¯3aAßßabñŒvë;ÀêuòÖóÎí¥Œt‰Ç­Õx*™±wYêFå±É ʪ@xaã º,øÂ….ú$e:F÷–ë+ Ëñù3¼¯#_ÅwÅ ò/GŸøFºCyò¯ðº°Ù>.û Î>Ð<(#”EË' $ÿE£ßÃ^A"­gÃT}W5Jv|hÉxÔœÆ=ƒ[Ša¡Ñ^¢çM¥µÌß×ЯÔìð6$®ø"׿Ìkä‚ú=Ԫ礖Õ3¦1ö[u«;Ž‚>»¦S{œõñºÀ¹=[_Jã#TYh—ús á±ouÈP« @±Ž#çǶø¨p—…çB¾\-lãÀÎ.œœ;ÿCåÙˆ >„Éþê:?ò¸âÂrKœhóbé1*UöÕÔµ•3oÙµzÙaÂH‹x¾ù³ãœ¿ÄqHUúQºCï›àÊÓ ‹Tú mÿ"HÐpK$BÒjëqž·Cw幤¤öÁâ/! g§¿6›!‰î *=»—6­ý8ÓÌ“SÝ?‡ËV°M€õk4Ž¦Ù•’ðÕʵMÃaƒ\%¢ 3ÞÓ²¡kcñ†ƒ:X™¸» eRRÓJâlvGµÔß'#ÁƒñÚË”ANȯ¨ mâÿhœ‹)<°*¤šÝÍ ¤òž(vB×½£ñlc¢êˆO²p²“ÜÄl„"Ù6¶{}ûÑ­Ú‡û>ÐtÔ¨r"ÿ”f@Ô0àoÙ·ã :~¶R¡U§àêžÄè•UåŸÊ6Î_ÆM÷ z‰€TðXÊé¢pëti]cP¢Ï‹yœFr£<¯n¿ºŽWk¬­x+î‘1V'(Ð=[¯Ú¦»–8Xîm³&rQq+ïú@š‘ºD‡cÅÉýϽÏQL¡•’¿Í ÚcÖ Ú.Yó£[>tÿgâùˆC‘ùEáÐÃûqØ´}>¬nL/ˆ²žøÆHæ…ûÒìamüÐ@í¸ m¡R@ˆ‰jË*‹}œ,§¦”o.¶Í²‘;þmùãü[Ó犚ËXäTma«oMP×9L´ ¶Çp$ù&îèÜ Ô¤¢øÞjY«HWñ›àÁõµ+C€†ë —a•¬ærrÁrrõqëD¾­°ÚÃ`!ÅùÆa°ó»‡}¯™Ÿ*\~êwr.©›,v}é?:Ç‚S¢×ýªé³ð+Õ§¬v'C£4×ömÇêÓ8î˜rbÒ3@¶0QÏ@¬„-o…|Çaƒc©½_åAžp„ËiúÖf(6ÇæÇ—;ú4dyösìÅÇÔ3¼M:3ÚÙu9#GA«Þh#vÿ͵³«Oß*gMâÈxF.â<¡Ía¥bçbQO⹞ºÛ¶&:ÞŒ4If€‹«ÓÈVög¢ªÇ—Ï’÷ þGb‡ÆtOn­ 6 ÷³­0­*’’Ę £¶p ¿Z¤Yqç” ÞØL9ŸÉë4ËŒoÕJìô^.9&Ó#Öýˆl>MVŸ¼¸ß'ô’9Æ¢0ïŠâ¥uãæ?†h0ä)àc¶äÍÙåaP:Ïó¬ô[òéºÇdsšÚ–¢oµ¥¡[ß@à‘:CÍ-ÇÁÛ©Bó±¥Ç5?|Ù`Šâ?¢kJíšbåϦõ ÃÉëãypí…ˆXï/™ïº,d>†Rï¬1ò ´ËH`WÕa¸Þÿ7ªLyâV¡6ƒÈºLówBcA´M‡É1 A—êU”oŠc¹þH º‹ƒµà*ÝIÄW’`UëùýÏLÿ—„½‚ä;Í@}„ûwØ]oše\^%-a}ôÏTSvzdÜ÷Úr%Þzþìd¯êMk(s …«Ä½D—.žô5–\º™pF pv ƒÝVãü²¥žÄ]wº1 Mg§‰/ û$Iú„ŸÃœïŠœ? ®)V÷þu²ͪ¯ÓÉÿža°Ù,·Šîíc“(‹†o° “Íyõkp¡! oñÆÛ;(Ãûõ†ÊO?»7ÛNµÓ¨ÁqWqòL° ’WåÏØ…Œ/ c½1²½z?áÓùZJ„¥Ë’ÏLý«4qöòF£±û1 †83"ôî¨øÁå"R‰ÅÑ%̽&ïÕÓÓX¿ á¬ø /å ê“Š´¼eb&¡ŸH‡ÓÇYUNGþª&&­ÿŸÃ¶€g»?68UÊlºú”åoY “æ Æ …3ÜCDâ>ƒ6=V’!Oü¶’CÌ*7ë¤àlü_ä{aUºC”Õ»’Ù“xÞ-+œåSÝ!z ÓKK û…L¸™`ã_£:TéÄZ(]<%¡}WœóâŒQx’SXлMU]aÿ4˜{£V[#N¡ÐÀlc4‹ ~Ê{·–«žJ%!”£O²â εùŸâ–Ôn´pÆûÛ]/UªÇ_â(oüso9œ\µVÎ3޳0{ÙDµ8Ó÷ÑÞ€cyÕRL0Z¡ÍÊÓË5 «Ã‰ðè&C½®$²aÓk%%C®€‘¦l¸ê6ŽG‘à—.…#Åa'YÈ<ä÷÷æßßk_èÞÔ ÙŠŒµŸ^F,QhË]áXè º Ž©V6‡MZG@†È]µÀä®@iÅ+„4ÑRý'fã×;‘@Ȥ"«ñäj‰Ÿ„k’ #3`B™-)œ+xò‚ÓØ”0´9Wp/™Ç*º¥­“*“àÚ—“u#v!uÎïB ìлÕ4|5¿m̯w¢ßI¤ª:mm¡Y½Ï5%ôwþçZãñòmºáî$”'¬ÆaD¦‘G…‰ÎvüVZ쥉VÙëÕ+ô, ÍåA÷öB¨Z tœÓ‹ÖýÌòJuDÞä7Æ&³¨ÜÎâ=9yñ¾ø×fÏÆõS.•$ð?¶Ê1lrþMÎCX/oA¢Ä´Âöþ_Ú®÷û˜ºDÔ¶9Ošl½¥†,žpì囦;y¬zMú+0À­dˆ<äòìê¢ Ðé”k5 ™f#Ý“<6!5Ï&tøÈЧþUˆMŽÊUºYÖù˜ z³ãÃÏ ¶ HYzà Ubnê;}‰ÙéåR=af¼íÙˆ€M±Ëç å(Ö)¦ LQÆ^—;Þ, Cïö1m'ÏP% ÜY¥y¶ÅH5pøÅÔþ†vÅ4r ùô_;|8hÝ“X,[â{{e¼qíCcp #(›DQ˜BtaCÞœJ,½’ô×$I”\Î¥¿Ž_bü³ºô¸w@ÒI~Unq>ˇªŠ]œ„¥'׊1rWu ­œ¬r[ÜÐÁ¨i£.¦eèd7[qƒ£ˆ«¡ kzR‡úè4ƒ×{"÷má²ÐEX#1©+£¯,e!KÂéERöÎtZ„X%c†µÞÐ^0TRf2cÁGš¬[#$·*Ïí“ ¨)*6J!³ÊþV«¹Ëë@&~­”ÂENü]!R{Ä;hømFx¾¶?%Vƒ~ÃüÊÌòý¬6¬ÛéÕè¦ÇpöÆ B÷Ì?kàçz¹§;ëÙÃS÷®jqÕ×áH-üå5 ëz¡eëݯ—¬Àƒ,D.)Ä0%/—^‹+;ÈŽ7[C õÔßÒ_ñÖq”9—¥íå±Ú¦:‹…IÁà;r†1Ie¯¤_5u††qÚº4¬6>m,c¬çM6Ý 8i£5sÇ$Ä3"åÉ Wf5Bùå¼%Ô•ÇÙEÖ‰jǰ_VÛ!Wý7ê€ONeb™"ŒÐŒGa>AÀgiÉhuHªÌ"O?² &,Ù²–8ǘ´ŒMHuªýO™‰{qÞŸ´Ç—&sTš]©¤FþfJö€!ÊL_Ä•™Ç¤µò¥À \üíòâÝ)äb…Cn_]ã#PÉ¿1Oåyº½<Ø $—C¬W¯­Ýªd÷"‡Ø_M¦7·–‹™eF¡gâéà~yt©Ü6Üz© „gÿÉ•ž:[öŽ*{tpЮ>èz)03‹¯Ö×ìP•/½ƒa߇–!­ÔªÃ8s6ïG¸h¢ÒØsK“QCÀÃjû_¨á˜mO$Þ<)ám¶PÞïæÎÒsÆÂ€Åу|g„LÀUl®N'£’›Ëo"®#*˜(„K8À¢wݰ–-úws#ôS0Ì…©â§MYûI°ióÄhgy ^¿âÆ¢Þ‰Ö}òÙÓ¤EÇ•TyZc ïC>0Ò`q°.IdŸ‚H¬°šË$\q.|!‚SA4R]¼ó)$ÑchmÎl‰þqЙØÉZg<ÖeǵéäåÏj¥«û8ÆK¢I;XÐeç}ê’k3!ÅÔwc¥¯P–þÓ™º—‹¹š¢«“i|lçKTý@ñßy‚4|a?éÎÐÔÖn•ÎÌ:쥢ÂËe™Ý¸‰ŠñäÃ…½L®å iG†çY‡¥%½”š[Á›Ê¬ ÌNêˆ4ŠñF’¾Y xK»Ó?oš;~8.&F¬jç«D6“·û¶3Ñ Ú?ÛˆBsËQ2€D Ÿ¡#ÿXLÝBŠÐŒvHê`“¤ö™Ôä–½22D&¦“³)ômœ m`F§ª&FÄ[Ö*SUèŸ÷ëϧ觓Ëûdé– $Ü•º´g¢Í~é¨Iþ\×ø{™ñ;]1–=Õ)¶Ã4 ¸ˆÑ|ôP‘bŽŠW aUlH´˜WCTÉæ˜g»sì¥4„ŸÉÒ¯KÑM a»˜ñDn2grކíèˆK: ~Cv×ÌF$FLÊ»6¡eJš°B½ÞÆÄ+ `O99F ‹’Ó’Í´¤RIoev´þ 4I?—)ÀÔñ®kcþzѲä¢P æÁ³Q e8Ú8*Ö`¡ŸÙå*ŽÝhö0ø|`º‹0K±A=>;¶a½xo¯B#Ù1“ËÞ¿ÞxZ.äS¼E  ÿC453*¨ ½ bV>»æ ÿ 1Zï£.È··µèÙ–&ДÁû±8¹^‘ãè4µ7ß©ÞÛJ`np<ÐÅβü]Â[â=o×B~ÕT‹mk@O¢Ïw´„+¸ùI¿ÕK{#CQMÍöö;F L‰Úêú|FtB€— v7ÁýýE'np¿°Ç3'뀂~AMöÊ[´2J£=éà‚ˆÒäʸ {’ŸŽŠÚ$ÛoßW™?@ïô¢IÍ1·—N8‘´N©ôÃ;™ÿÞÃJœ‹Å=¶0È¿?]˜}&8jûKi)§Z]—¿/³Y°’{Ðz’î s9”Oç´u^Ól¬Œëøö=ŽIHÔ}=ï%±×ñŒ¨I}˜še˜ä//³½3nƒnÒWV¬!Â<›°ký»‘/š›7÷ _ž<¬ó°2™<7î wN«£ó ¤úbŽFueé`€"Žú_Îξo‘„¬–òÔ1YYfšO •®ëÉÖÀ]fÌK¹ô:C\JØ}+;îy8ÅÁ9pðüèÒ‰n’yÆà½ w´*dâ:‘ÈPë’Ó™éßóÎ#‡<'ëU Â;‚ï~mÙIª ù!´šïßûV·˜†‡Va*åJô|ѽC™¶3dŒIøl#{£ŠÁ±Nx·2¿BðߦhÔÛ¿U\°ÉFi~T¥²5™º–…qK¹AÖW ùC3—¾)¥|ÌÖŽ•„ú!€ÊÕLi(OÁyc­<±²3ûƒ+<Þm ^ãkjZÈØMµšTcÙpúY††ß)Pq§/YÑÒÌ”>XÒX $•ô—Ên8èh"ÚüG‡h1o…ÓÕŽî—ø¡õ¡R¹ ~ýb±ÆNü…`—£QÞE GÁ}=žï¹„@<§Ï·ô¡-`o;…è •5 ·B<¸Ñ¸N‚Ø&!¢VåQ]n#Þ…^ý?v…?8¡j<ð®Þm˜<¼4Fà[sƒp5MG‹©fgÜ”¯)¸£\q0mÂ}HwñšÛ¾âœdÎeãнvã°Ô‚·–4}7ŠˆÇõaN¼º  öZàøû÷é.ôþrNV`xÓ>€‹+CnÜŽ«Lf¿ªÙ. Kn˜‰Á ’Þ©ÃÃdû|–M˸qâeûAÖâö™ §K[1VÏ”»†˜¿º9<4X1Cëø¯i6ç­&g9iqÙÐT“öÀ•½A*½¢‚DšôÅXýÚ Ø[é¦Õ„yŒ¯IúñÔÑÚ  ©êFzÄËh=#û-´æ£ËÚ0×kSý: ¢†a,ûËE`€?Ö¥ÕÛþ÷…¸ø}MŸ •ý.È<J„þ}Ë}z§‘@ƒþk\ÃypSI©½ó È Šá ÁØ›pšø¾u| ‘eRô¶ 8®% ÖÊ1骚ßL¼õ—'Jæ„|€Éø#€Î•n’#žÓA[FàÙaýž•.xMiŒßÓR\¥P/ð¹ÃÝ=¦°DR*×H8ƒA•°²z`××8{ÎaÝωËp^:x5cÅ—½”:S×üˆÍüö/2àÉéÅQ©T°¿<4†bø­¢‚Áp×îÁÏv•œè’ ÊR/p ŸÉkÈ[õz'ûÇÁªn^ýÍo^7uæþ˧W]C$ZÙr^3×'6•[ì3‰/@“•´‚¥àÎy>©îajQÆX ¶7°[¼<i_}Ôïfø£–Î Èoÿ^\_N.JQF!Ç „'è$LŒø¢ÌÎËöu­ŒÁ&Åü» E9PûÑ>EÃÄx]M\§ä› :r d¤j~—{sÂïkñìhÝ>Ê›9B 3͇CùÉäÖ›Èh;êÇ”ï.¾ˆÇM~$À9¼ñ­EŸ@+˜MzùÛ“¿2ùgÒü²À„î†ï:¿6“¬ÑHR*ØÂ÷Tš¬óß\í`É.º!Ó÷9yw&i®G,ðJeˆc±³éê5¹‹$Ð1H¾žö‰Ä®~­üUP#^ ¸)Ñ ÿP£g¼xàDÆA#ºz7h¦Fæ©“4uE­ª¼I–£}?Û½±ÞVÐÞŸ‘Ù]ÑÙbÞÈ]Ž:;þ1.‹_·líPÃîÛcÂÛht·ÉÒ¤º:ÙDúDöa¸Ò?ªézp•U\'¦ùÑãóTß6ñgL¾ÆZæV0ÚJ­=Σöb®%jЧFÍ9â9uuÂÁÈѰs0¼6*M¨/°hœh9Yò‰ÄXi´[Ëu4N­Ø-Ó¿M-´â_´Pc^m”5Y$þáùM”áü¦jú°Žï¢=ÜWÙã!kKA@ô¬—ÏŠs;ßã0^DÿAƒÄ(›Š¸Ô\,œ8?6msW›G,ÇøÈ,ÃÅò¥¦7f)‡âÄ“±ë/•úC_øMêÁÃ~rûÁ nšÇ¸+”šY»PVç¾£OÄî»ë%߬ù.Zœ–QY‘Á€ÐU¦ÁìR½Ü¾u|üð½ýKÒþí.¼Ïœºj¶‡—£*”GX×Ú.‰®(¬ nbš;¹f±\‡˜˜é¸È¥.‚èÀöÓï€jŠŠªF6qz…é/\,­ÌpÌË€>LÏ0×E /„—†”©Ë5£T0cÅÃËΪ°Œè\ܰZ|· ¯ƒ?‚ 8l ¾Jý ù÷†òYÒÖ;3ªÐ§À1[6dJ+!$¤»BæÑÊ+ð {CÃÈ,•t„;K‡×M9Þ óz]¥ÝùLzƒñ»8¥ž 'ITâ¼)ò»¥Äs 2šé®Ôðž —W“n¼÷Þ“„ätë[@h™…_›zD¸Ïƒ_m \a±1oRo‰ §F|«ÿ0Zn¼% ¡N6’pµÚÖâ½þ•6¡rNúr¿xÜ%` µ+à?d3(ÿèœfD2³‰ˆd]«¶<èŒK.ùËr0‹¯LR[Àf‚¾®ï¹ˆé®®ibEwð•šûiK³Àbc›•5ˆ•+•UˆN5†ˆãòÌðú»‡Ï·Æ’´+Û _æöW²ñia«^‚_âÆ Ç÷¶ÆH$ßäRŽå,{ü¢TÕÚ!ÍT1•шtrlÏ·ÓÌ[–Q:Ú÷|×ÚÑ4S3·/¯š¹eÝŒºH”ëfòªxåϱŽKc 6t¹zަ0ÿFÍèÊ×Ò?Ûªñ?ÛÚtà‘˜‘³ÑÁŽ (ã,1òy²+JÜëuÔ¬üÌ&¾.»” yºÊ£ƒÈåž‹·Öl¹óL7a€Ýà¶8 ÑÙÑÌ0Ãý˜šIšÒ¾ÕÓZyì/nÇÊöx½Øô(Ÿa’ˆO¡P#XÛðksYöuôâî5ؽÇ0ËxÙœ¸'ä½/G =Û£ƒBn˜ÄÈh›)F>lÑPŒú» „+wÝ‹?ˆ‰àdåMÚ4—õr¶~ çä¢ú5 ü¯› ÷¤¾ë‡÷I] .7½)µ ·Ö)NôŒþvžl'§KÓt–!ƒµÛÍRòáà¤YfPJcK,ˇÏëêÛÎYGo)<¨?ÔG^#0ô(ÆWÒ!Ó”Œƒ µwrû3¸ªo^õêô¬ ôð¬¼53çê¹÷¦Ðß-J<É\C“–›J¾WmHÞýÝåìãÆ±8º ß~°òQì=ø8 Ab’?ï”Oˆ6‡n÷x¾.ZÍÇ%.°¦k¾+½`ƒ×(HhÔãîî*Æ;‹ë¾Œ G°ÞÀÞ,ºí6«êÌÞG·Çt‹KÜ…³¼á‹(ÍÅ>¢-^6 n.ê•‚1 º'çܹX¾ÑaZ-?8oqº «¬J mZ<P'ý§Eu¶u/Hªr°SÂ’Sñ航ïgø2h‰Ç„ecKO‹m£€DÔhëÕå̘–EòGeín‚î*®‚¹êŸ8†€š× ñ!5”Œ'ü¯Æˆ7Ùÿ7¨Y¡eI¯U o= ÆÅmBĨô–¨TÑcoDõâð=´q9oìßo*6â8”R-Þ~ç²—&³|ŠAIxPÖ³¾Ú˜Ý^Ä+OÚ›´+$ÃEŸäíBzjºÖÓ ”ç±H·Š°_³Ñi5Éç öÀ@‚3¼€ÖiAzóä’馸D)˜B [„éF€}bãMM8VÀÆåé·¥Ä-¡Dç˜A¼#ñIJ³–Ÿ;ÚëõŸx2aPí ïœT…kF'|f@N[ØtO˜Ä‡TlÌÎ&O"/•ïYÔó]B!¤ÈÑ–þ{?ȯ݄è·Udÿgg¥&Eª­ºcqà9ÿIh õ~¿›Èr’1.°ØÉ'p¶ñxÆÁýv*úêa£1{I'.,ùšW‹,òŠsõÂîÉ2×¢>¥TìûY8ë?ÇIÀx¿”F_±l…õçÔ~ÈÍ]+±É3Fy­¦‹³Ž/s˜é}¿O;BXÿàyƒ¿M•bP *( ŠòóI鹬FbSþ›_RüÃ.·f®í¯LÁ ËØÑ³‡ZÎŽ§F‹6 êY:7 vÃK¢<ÿ]¹ÀC§AoÃó×BR”Xx®n•hû‘J3ò©Ls¾SòÈX»)æÏ§}ÞûX¡O›¬”U_’&•hYWd\-¨¯ü»Ì﯂¥×¯æL¢æò^B­ûµ\Ê›ÉÌ )™2ªD |uäl8K•*²˜¢½ÿ4ôîÒSxû·’Òp„˜yVÒ!úÊê/qúÂ@„Ã6\·/x u D·Ô å˜6Ýýï/òH·¤@|ðñ,â°÷é!˜Îð‹ G§¸=¹9ž‚—pÁ0Þ"¤ }jæž U"®8Ûȸ¾éŸ˜Ã2(çß‘I`¦ÄmTî_BîZ€9ÕAÌôRQ~°HÎ4¹ö"§ï¥ú‹u¬¬ètT]Fœk'ÈE)Þè:&ÇÌœõ‰ÆßÐ*ÏèÛzT²¼0`àЭrZêâ|T3•èzÁµ«XŸÝPƒÊ­-á—dqsÅIâM¹`ÊúTÍ cû(yuXPF|vÏGÜ¿Äà/¨Wú Ú7™wÕ/F{¨¯Áuª@*€-7HOL×tžVø ÷ÌÕË#ïIa)—®ŸcâA¢YwC€2è^ã‡uT%І½¯Yd‚y7栀 ¸œo!èâÿɶŽ!íäæîô’DH¼Í3 >)’rŽy8äB ZâÍ›&ýq$ÈçBÆÈ¦ †ã¬ž&Õá!¡©öÇ·¤Üø-¬»½¿f· ×KfÈ ‚‚ìëOËûÿ6®$uuÑCöÃÁœ#|B„1¸:¡}þÁ›/=TXHX¿;pä¿]ôr¸×¦âQHÌ€ïüüóædÖôCF[DV‰í‘@Í€—"-{ .XõZªÓ‰;æ‰ë‘ÎŽ¬ZÑ¿jô´@ÕUbDÑ>lú7O%ÕóJ½/v\(²¹uë•O E¤/3b?;˲]™®ÖéQÓ·8Ïxì©í6Ÿ(ȉ>èÓKÜ€ª¹ÿîCüh¬¨âá®Úbz¦–VrŽ2ÁMYC\‹×©Îî¯XsÚúiTj}N™Bt+VO# d8ß^ˆLÉK­dï)Î)îÆ´ôÉÀ<@QM³ªt'=™Wf ùm/ : éo¥<(ñaÈ(±$‚BˆidÕ⪾´¡{5À¸`¿“N&±ÓûrM¡‘^©ò…x –1æ”PÕ]Ë(¤È{¤ÞíM¡‚JW¨«ÞÏWî–>ÜÔ‡âžgöOD‚xHœË“*îhEtÌïµÒ&¦Àûº.ÖÛ5ÓØÅ}”öþMÔM>bù0_Òp¢tÖ¯xA€aµ0mu««깫­ûüÑè͈´`Àzù‹„â¨né•yä…ä–Ò^U8­%¬ý Õ„‘µãžAÌŸvHÇ&©)Ä݇èJ‡!ÙÙ©2Ü6à{Åç=Kˆ»á/ÉM8žè í†ÇH=÷§>ZÄT{B Ðf@˜¢ï³ æ¡3×ÄÄÈ,¬ÓNÄ 6½Ál '®ï™+n'›¹' ¥ÙR籡Ï'Jxùk°š~ßîò÷>¯LÈØǬsè5)2bó+€íÁÀgÜåy֢ةßY“R"b‹öö»¤mëñ•eŠu¡¦VÇæEL¥Ÿ%ý»ÿ·«üJrf~VÙO·6ñßznܬlÌM¿ŸRï!Þüm‚Ù»$bs± mgÊÏñtNÁ:¿'™‡ó£'«ôæѲ·ݹbÙÇ(yájñ8Xß$¸¿]ðÁ”ÃxÑçé3s¼—ÃÖ`£y{?“”­¨„jà<1à*ŸÌ˜ßþÞŠ§­Êßèð† ‹w7J`Hžù˜Pà€âЮg®Óú?À²£ÿLï«­(SZÏiSÊÃ|&z]€E[Ñ ÀÂq»‡L-ל60=Œéæ|…õxÿÖÿÉt´hÖáM/!ôß®yµÂ€ÐlzG*\îArígÃj9Ðâ‘‚¤ôrgtb[îNü}ú<0CËÀÌ’IY³q˜NBÁˆÅâýÿÚLϪÞ‹ODÿ¤ÆÈØã×H ÿ_†Ç‚º Á΃ۛ¿»¯Ä“OlÅïnƒt†„oøù%;Uªª žX­y:EþhŒÑž˜{3, 8üļ5Bt?[1Ô &c$d<n‰úÛðàU‰;Ô;Ä{L6"jðt>a ߊ£ÏMç=}²pÉÍÌ…Š,=¾>Ôy³ÖÕêøØ U³÷ !àmõ b0ž²¶<þáôrµg‚bQäÐæ_’Ÿ'ÈY›VîE°O9¿Ä£`4™ßÓ_3d·bmÓ­5»ÀŽYç…´îÜØ˜ƒ4/ÞvX%‰¨)gÚ¡KØ­5朖m[à¼4ÏI ŸKV²Ÿ.œ[2#¸hª_D±¯B¦ [Ç•6¶æˆ<$⯂ðIYŠ0q×ÄS‘4 „«¿ÅÕP@[æËHSmEv‹2[ÄÔû~]f››Ç–‚¯Ê›b|ê5ÈÜÏx&ÃJkRð,ëuVíÓî¢ {ýkÓ/Q]ôŽ;¤½'«4©í¿Ø²ó–õª¿º¿‘MÙÉ 6»Î9Xé3žF1œ‚Èz!i”êH—½›àzšýy®”kžåèËP‡íU¾Qv¤\„žÚÇó] Vä­Õ‡ ;‘÷(HùF¥;.¥¥’•¼<9ƒ[iV/w—U¯³ÅÃØ B¬›ÁFÎ=|ëžÈ.œãèzddîì^šàN8V½êw~Q¾@¬uê`2¶ˆæ+nxÄŠSå;È{h:Ýù$Ü…Ÿváǽ‰9¥{´xLdcj–I„$]N—ýñ±æ0v+†*jãUµMκJy¶«ˆ­ê©¦º«¼¨’n‰„ïèn8ZFB_0E.|ˆÅ\ –ë§â¹J.SGè1>¼›¦hŠH²õæ¿®øÍ@c ÐÌ_ªC$y2ã™äf!£ßÃñŸ¯¹–;âô0„y,Ú-Òˆ»’@/wš —-X.f¼ùÔ[ŸŒD‹YíÅ)äfž1ÜšF=:…_CæŸ*gZoãýjV냾yb,Q¡Y}[ÝÔÿäæ‘%Bp&Âű¤Â܉ñr‚ú Ê5GíL`ÍÆ¦Öít¹t Z6ÂpQþ/á„cwƒH@Ç2ì.醀ÇÚ ÿ‘/þ€Z"âì\ÂúÅÇ7;m/5Ô”íå!v9ÅRϾb¹§xjNA¬¾~ô–aÔŠž_1 ý(Ä£³{Á]\‰ ŠÕ@õ&FÕX¹9©Q„À޵ ×:åpæbA+<ê }$™ƒ¹õAãéê¥ ¥à ©ãË·Þ‘i·5[žkÏËЂ‡1£7M²qó?žÑ™ŒÛDRnNl¢8²ADf6Œ•éÒgb渓ÁmhϷ㨧ê×úÙ±-‘3=ÍuèFïj§•YfÀ—ýŠQä_꘺ÕcîÔ·C¹ñÁR®¸qbϵúj,GAÀvµd£ …nfòŽâ«žŽ½ YØú¾,+_Z”Y•ú}{JÁFá«‹i³öw¿²È$¸¸{©®’šj¸Ú'O˜ã†y0ÁÝùë²ÙýD]D.BìEËüЦŽ^áxJy‡î§½­¥Âëvµþû¢»(¶‘߃ԗ[ŸüptËöÔ×iGOöX8Î *¹ã¢Ö×€¸4@L,2¾ÄJÈrÆŽcAùî{´²@·>R$#"!Mc%3Ó nìÌ&Óþ„kníM18 ¹€_“È‚¥…nýaàú¦ËÍ»VŽW},æ µÑ "èY‰o-7æŒ «HbkFÎA׺A‹x+÷à|è‘ûÓS§/ë‡ôt÷—ß.Pý]w$Œkví!ž•0’…]ës\çÖ±íG‹œ{l_€©‘ÁÈ¥Z¤j´§à$©É]º¤ #¦¤æ—UËu[ÓÁ‰l½±ÑÇ`ºÃ›”a*Z€û—9Q­Ä£$jYl¸UfÎgxïI‚!g¿Ôb˜ýŒ¨!ñŠô‰uؑӅ,Ã~JR÷y– ƒ >ÝâˆGB %‹í,.KWyó22]­ë ¯€/ãÆ/¬þ¢l!?´›º2¤ÿ{Q˜#‘wx ?]Ò£F~Þ°^)íshýÖtïð*Z”/&;‰WJö‚&‹b{Ý—Úd¥JS¢C´m!Ù?Í—Ãÿ‚‹ùøVá.5fŠ‘ýs%ƒæ`¶¨µÈLÖ /èΨÿ’‚ˆƒÝ®}JwT©½gq#AßÙ´Ü’•âï"içU7ñTd‚àEÞVu-Á¶ÏÒ‰6^xKŸßâæã܋ƅÛ´7Ã.Ýu=põ~­x§x'!Ÿ‘þ#+•K ”þQ€â×he±ò]ÃæÎ•:tv9íÅbF›RÂ+!„œƒÚù•9 —–¸&Ø©ŒgÉïĵv&x2Ô3犌ܤlýµ CÆwyjåÌf«‹§Ü{`–"ŒàjÉQ(§\(wåÓ0J3²Y_ÛÃ…ùØ`ŽÈ—J´>¤Ê¤ò팮Á€Y@&ÈVB…¢¯?ûó86š#)'åÑÔb„ "\Ãbr¨ò;I…Z4Ps‰õãI¦Q´`Æ+tc^,5f[’CÎÍÙ3ÓâñÖ˜ ÜÈbš´¤RXÍš˜½RÄݬ€¹Z²c¬mšb¦ŠÏUÔyŒ©«þn™j˜ 2Ú»²VŽ<ð¤0W㸠%nó¬¦% ¿áG›àM×=ÁvøR„¨cþ,›ÐIÔÙ&è¥ÀôùO?vʹɕ«ù7жAJî’·ÙÀò¬ûî2YjÎ|]cÎá÷H¿sïÒõ3Q=¹E·a§äü%ac²Åi ¥¨ê–z.­.‚o˜ÝYìB*(.ד•¥\H0è¢Ö¥ÅJ' Çû à¨lsLj†ú®ÂŸK”f‰cw…g¡UX° ZL "B_ ½¨Ýžµ¹î&º^±;YV: Á[9ýj­‹ÆÜ0·19Üíî¹&êMIâ& þÏi¡{(sxVÒ~½7„èpxˆh¯à8£ Æ€ÂÁ-Äߦ·z´$ÅS”Á“ë‹—i›NgÝŒåân²i‚)¤U8ÂO¿¸XMxE'˜¶*\B?†PÐO6?J)—îH³!)ýÕ¸VbÌFÔ]0£4Ê{Ø‘5ßá¿ßFÏÈBx±Mß„+n,˜ÞoD€aI€êUÎIÄ£)Øž\à%X¨Ë9ã_SRŽÑumQ¹³™!þ£Eç‡KÖÈ'±Ûe+Ûzœâ™rÎÍ*¾]Ijüì;A6®žMB?»Äú&Z.¾n½ZÒÖá”Kº¨ì](ÛêŽÂÉ«q ºò奨 @°éëëX\ØCÜqŒjÆá2Ä,ẚãÞ¨e99p¾2û‰øŸ«i>ì‚´G²÷ÙËytáSó<¼ž ÐÎ,@nü®¹þ‹¿ëvNùñèw«—:,V£Ø=+ÑÿjѬ`¼]³uØÈä-뜂¡Šg8#k6Õ’ö[雘éšùälݰ6+$e)öSö/Š­€ó²E–ÇÉD`^ Ô7×ä³—Çxh öî}+ âÖÕü×θqÚ‹Œ…ªô@™=:ö]÷1æéÜg¤$4ò²r“ÿ÷ªê:l¯÷lþY(Ïo½ÏéÈ[µ…׫óëîtyÆD c½Ï†;B桾Þá¾Ç <¹¡E߃’â˜îÇF°× $ŠÏäûÚK~½–ß÷µ¹xZmÝxLCº&Èi©æv¶REÍmO_íÈ:yȳåà¥0»¼6öÎÿáê™~´#"x¸Ù²¢’,"Þ<äVÄå»ÎǽoXê¦ÿïÃH^‘>¤à[LµËí™/ï©òMS‰2Ô¸Øæ MqGí´ bešº^ ;ÊÀ_Uá”Gïw¿¸[B{\…JQ RiAHô![%þ ä÷ïÇÚ7lHß¿O ݤ…”{|Ëf¨¹ð‘Üô~¯ýjá01Û‹9 “㙲6ÜFðg½ï¤W6ú«e+© «!´Ê¯P‚H ³¹)%-ƒÀJ:Nt`=¨S™\dp¨ËQ R—D›oUˉc™øn¨U•íÔ¦–_ŽfäÑvÁ!…ºFä„5_àת `0ÿ8“·‰ ›·Z\ÝpêÉcX6·QnÛ”£*lŠw- GV_ÃF„É Ì,aM6û§èóçaÚà¶eÄ´ë4m…Œl;’°ÃµÑ’ü‘^Ħlüš‚°w³[ª€jƹ·á÷GøÖ@Œ8²Ý €§,ûDŸñÑ’ïÇt™xÁ¹¢®œd>r¦4(_Ž™ÈLJ*«þìwEÊa-k2‰ˆÖ„²‰~õºZª“*àoxdA§BWgo³ìÊ®gJ2ýÚ¤>|Ø &|' ?4-"8ßüéGiM}.Þ!ƒb)Áˆ¤žÓ7"_¢â{à´,j‰€l°ð0”ê¢Û]öÓÓþH%m^ðoÛ?<ßTÅ»öOûnC|›|ðêÓfÈ’eç¬ú¯Ñ£÷öL~Ó­³ ]÷¶c`´G¥9 xºuãÞýA„9îÓÝ÷¥ÊO]åo󡜢ş’·ãí]$Vv •ÖH¤6ŽÌŸ“~NˆÝ¼+Ý15ƒÆa…V-¨°¥;;]5ã†ÚëvwwÝÿZáÃ_ëoöqÁü|ß‹€W;i¬NxT°2|ŒSO£Pul* Px28va¤×Pdý.±u ÕœòqÔÉæýžVšðóðcËk"Н !5’È\œN‰mN¤üøÞ¸òGaä¡ûÞÇÄ›úøÎéµP¯Ží™ØúÏp¯”r™DCÖ CR½lXå‰ % ©è…ù£Nüßc¥²lÿ °ã0Û;Å ¿}5RJ8«cž¥î¬ãQѰŠgfð*‡²û¬ úWõè„RûRKBD­‡O…1é4 §ñ}ž&÷" È}C…ëå7$°ÔÊô±žž\©ðìóÀl-¡Ô\Þ.æCïÖú§’~?†âš0Qó\ðà J“ ßQ2F'i›œ—8’ *FåûSÿû"T×âýÅt€BYð?üb¬5@K"ƒIJM+”ø±$!ƽgÎòk–’Ñš¥mÿºC0£@‡‡à"î%å:qî>Zäêvš&÷Þ[%a¤+f~25Þtš.P·> öJO‚쀖¾ n^¬Æ€È7 …;Ûñ¿žóV¾t3c†ám GJ̲ÒfØõ“½ãPÕîšÿ!3t?#5Å'pÆDeÜÇDëRœÿžš¾è3Û®FT6ñ 5! 9¨H]2Ó¼&³Œ0>H½kz¾ù¾€6ðFfÚÉÎóø²&W60 í…B¶È3ê'— ±áÀ˜Î\bÖ¦HtìŠ"8eô–>ëö©ÈÖ!¢Koº±û¢R<€5Y#?Åèl id ÞàõüM’AÞBÔ;z¢ýƒî¦ÀÐl­“´hra»VÇMFãŽþ!S¿@ÅÖSC·æUüfcÔ«ä.ªdL–¬&—xJ+‹~ªå·¬I™Œ0j­ Û¼/4¥°*Öñe°suO½{;ŸW†[ÿ†Ä£Y—\0§G=6VežŠOô5Ðû»ÛLäQ]’XæIT¢SÈÚ"#¤Ú*á8eÙzÉ,aï®aŒ¡Ïq­ltzð;Ÿ¸ÿ õÇ9Q5e\#ÿ nŵñãæ§'þ×Kž»Ï¥›8ʳ›ã* Pð•³d fú™ˆ”y ®ÍoŽlüí·(Šñé=»D$ÉÏ/a„¥Bƒ‚yî #Ý‹ÜáÇÖ´¦9¹XPGÈKÕ+Ĩ‡ÖϳN.ìÛPƒ}ÀMû”ͧ]q–AÃu^Ü«ƒ×Ö3[ÔÖiØ”BÔ_ƒãɵJ[ž&}QP)À`ݨËWXò'Ž8:+2%-Ö´¤UwfQ}û·¢0 kàâÿ…åárAŠ$„<¼˜*M`þÄ>‡áœ|½uëü`²ÅÍe:P†ºz È4˾¦sÓ)·Ðp*×yá,ÍoTßòÅDQ]Ï9¦Ìjv´í°ëYú9Š dAÈM'wr]1žmìž2šðñXl¬¶ Çcá<Ꭰ³Ô5WTì÷>cA8ðNSp ŽøQN1Ïwñ¿¾ý±;±º¢ª™PB´>©§ 9n4= Þ%¦•ùì9Á]‹Kâ‰5Ã;âã’”&–¥>ÃéÑõ¯!l-Þ‰!i‹çÄ·Â+¯dyÌt,ùL‰ñ‹.Fú™Ó‘7u.n6L8'Qœ£ød€£ÍöÂì·MîYr Wφ¯š°LiG§—[a œhì¡ÜÛUÊôIÀòTÉï1µ·ÔXÊ)œÙŠêÚuû2a$BJmþâG#Šbteh<Ôi©yÚ«†:†Ôß/Wæ29Œƒ-±S†pªËæxÃ*ÞßÔ쪄Àu/SßÖØzÁúÛ±Þ‹yŒÐòF_k:C§f*úwé¼ ˆÝùþ-îÞ»öwu/þýà««³±Ó[-æ»Ï©^‚*'íÎFÐþo¿œúp½4Gõz±ƒ­;ÌÁ÷8­f„¦˜ ‘ É+^C;å-¨jPaô“ø3FŒ¼-¹¹ÏõÙà§I‘¯ª,‡õb€D¹4BrBß5ùu*ÍD“X!ƒp`YàÌ-Ð,àÖ³åýOn, {•J 8½ŸáÙ2pu ‰Ó‰®ëÝ_¶ˆÔóX4Ti\°¿æóº(êê£Éâ*él_µ“ZŽ5,·rpØ},ÉK•úè*))ƒ½R_4¼ÛîRWÏF«‰”1‹y mßU€áâàÿfÏô´rš—Ù/î%Ôï{MCü؃c¨y3ЧØ ·`R¦í 4 ¤ ožâï¥øaâ"N?×û£þ²Z4×Ë>é±á ó3ˆrÕírT™±’`{دѫg9qHè´Fºz¤:ðñ¡ŠâHDqK,h¡ì;ÜØú™ÐÊ+[FrÏ”ÒЧ%gÝzåç’—ÍÝYN:•ºà‰©5kÿWÌ~Ë_R÷”¤÷³ý×QyB¿‰õ2R“¦Þ+¤š£ºO„Ç^#EÃó6½lè|wùμˆÛæv6ÝNÎ|Qq¹¥z+¯½þ­ª!FƵO³i:-à‘»}ŸöÆM¨÷ÛË3.»g,aik@v,øÏ‡ Õ&HÑ¢º®"š£t6gzççSäˆ-Ïä(4²`ˆÀÀÔbØé¶½ƒëßÔÍE 7))·Å‘ȶ*jNfyà™ [F‰ÔÙu”»Dí’ƒ G¤AŒ–mÆ“"¾j0¥ç{lK!h޹Æê-¶vÓæ@,z=lâV!kYÏ òGX8þÚ§*–È”¹ŒåÝh‹¤¶ÔÌ»g†×¹“ø'ükÙÎÝ6Nhýêí¼wåEvAnÊcJê‡ ©[[O•%ñ³âEoé½­ ¶˜(Ǽˆˆ£ùjc‰b`÷ª”¬Úð ^…ãé¶_qŒK† ùùÜ­¹z tl%¼Ó(`\¯]ÚïoÜÅ+½$,?­F/ŒVCðÎÛ{Y„ÓÊvñ5·B{ “ƒ^7K©,Ó”³Ý[^ë7¡„éÛƒ7q“ "J¾ èæ<°ߺZÞ¥æ {Ôß÷¨!ï")Ñ`Ô_¹˜Qi€%H­L7‡ø,Tͧe›¤©»6m…Qhõ†XäÖ“­d \¥9ƒÁáTA'q 7à¦ÒlU¸më¶slý&„ÌÜùí÷,"W õ¦ QØáz“Bbëº8»sÌCB;Â¥,¿jH ¦|nEqˆ­²¨|îè(ñýÌ=5z ʜƧ=7kApŸqç©Û;x4A…+yc.gjÖ´ÝûD©îôˆùVxƒŠ¨P⣸ßò×bù÷CšCÑcM«jÝ€@¥ÕíZí -m<*-hƒº!º¨!¤Ÿ6ñ¨.-ãHßðùÝÍÝw`‘PœÇÝaŠqT¤nŒaQyÊXÏ òž¸@jý.Ç8[ôiüdqÒŒëj™Ò;0?êgŸ6ür-¼¼°û¾=ìªùÌâ^rß1Œ¬•~qßo¬ø¦5ÁÍ÷Hªo¼)˜ý¤uŒ•Tn¦À®·$©ÛßÔœárã°”f™1ݹnM—h¡!Öý´0f³"ä|)Ä*»)Až#é›_»øÈªe½Qwj]<2~ƒF‡K?§7äK.—©ñh=IWmV½lŸJ}ù¥I¥ê«®ðÞîBã\Ù0À"–Iÿâƒ)ä,ÐZƒ¸«]$Ä$NMôÆ‘D²}åOt„Ðu•×]-=º &X˜ÑŒªp>ZÐ3øð ã½ædÛ„06?™_˜âÏr Ò,Gôwÿ&C2˜ßt6KÀ!f“ˆÎËÀ˜6!kÈÕáKÇlC¼+RBáVD # ÅEc̱‹úY}n3ÑYZ9½WژĭÃhÿ{‡“*‚±%ÚŽšNx–ŸYÈ\éìØ$lw¥ºK¶A§¹Š-ŒI÷0àSóÀ{Ë7ÎÁÎÏí‘(AQøu$ô<.ÆðRÁêìñå/ W—@e£.V|‰rßlöUúæâágMüÕ’íEŽ9+ݲœ+⪔ôÁÐÌåߪ±8êxQb£—ú\wÊsL5_SZ!P¦(&™Æ‚cî%캧]Ùäïöe?½ÅBÆqÒz¸…n27iÇ|Y;  |9RÜì)¿'*‹ö.Èy<ëXÂ,üQ˦C9G5.Hµ[~zˆ%V(ô¤W˜oZÕH]âäÊÞCOýû¥; é.Yž+òÿøn`¤Q#žCsÓÅÕIXw°?„ëq}ƳÜÊ‹Z!áÝÈtý"@Ø<3«@œi°ic_ôÝÛî$Ææ'¥^DÐC} þùI2úÝš:ÍìÖ0 J@&ÀƒQe-‘LñØ\l nŠj «Öï¸Òë®b˜ ’ _ÇÄ/4èFž ¬EäÛò•8ïÑ‚W;ùèøvÓ›(¢:Ô«_ÉLç–=÷%'<Øèd-"n¢vžzÙËé¥ÏÌ'@gðIP„ïB¾¨²æt4öá±[©¹S©J1ztx ƒP?Í5P ¿q‚¯¯d›Æ–—R99XæX¤¯f ¤»wñœn¦³hSwWxY%;Ÿ¤ê^”Æu^ƲýËÏ8™üè¦ù«Jå* X~»R»Ýõ<ûD}éð(Ë4eÞ<åñ…$mx@D6OFz ‡Ëfcø2ççtd#ˆ±þK¹ó` ùƶË®¯ÙÎ\qå©Î»ðcšÁŽ‚îGñŽoŸø>nÄS}Õ ùa£± q¯„ÞË}u,Úú°n€QÍœ ¹²«5_ÀÖ&â<|ÝÒÄŸ|‰÷¥ÉJ5¤g3ÿ´éNØ63?çÅùâAá¢X…ªˆž½¯ ؼÂ-Å=*x忯™8½ÓaT- ˜}PAe´ÓcŸТA2ëöÖ„•=Û9Ø\§k™e†¡¯˜èPúˆmÈ (À8´TƒB¢ØÂR¬¦|«qÚ¢ƒsz6.Ë¡Žä]s –Ô„íÝlöõÉÒ_Ó~bÔq­€'ÒßÇ0AØŠiõÊA°©ú`)û¾ ‡£Üà¤Ë¿Áð‰|•sÛMµt›œ y¢ÜÐþ9§„ªÛåìä’Ճ¤ñWK ¡Î\kàf³ZôŽTèRò )L·çbv߯=<4üCoOI$MŒÙé;ì½n@Ã@ݤº'm`a\}y ïSø˜æ¨–,X<öÛˆ ò.­‹Gê¬,¬ØÄ¨TÃV3;ßniÅ÷[ó'*šL^²O±.#~(4ÿQ9°ËF þøÕtÆ…ÓF«t.P:ðn¬·Þ©|€>™¾A–›Ö`Ù2©Šmd³ÒÊ35?T¥¨‘0£›â0£)ómŠ5’q83€AL‰Km ÊÛÊÛ^ɨ‰šX˧Z4¥¯¦*ûÖ‹—Voiñ—‡?dnƒV¢ª ‹*&Åí[—Oð½ý†ÄD/°¾Þè8ÇßÁ“¢¶ü•`‘«¹aO$¿ÖÏü¸T¿:Á5XÿÏ1z>ñ,†ˆÅÆBÔôÌ¡§~_ø`Û/A’±TK5±,Gñð¼ÒERæïX+ß jÿ¹“X$®ùª|JÊ΢,}=hT¹‰=p÷2õQæùF7Dw¦zMV©\+Æ ý[&wÒO$‰ÊDj”¥¿!0@<™¶¾á{»´Hç'£¶`}§eÝx@þ˜W¼øVåNu´ ös£pô­›m:«§ïª5‘ãHyj`ÁšOå`>6Çx ‘!¢Ø›–a"=}´wÒ >B͉ü\yBÉ:–þR ø@§èºxjŒ›ÂN¯©±È¬rà3†H=žû‡+š0'lëè§JaÿN³%³\Ì 'ƒD1ÂÈŸûÉi‰tÞ¨5»¬q²† Å´Aªšë;ÍÁ/5’ MimFejdÇÎÿÏÉïÐe·}Ò¿ym)¸ìÈR-ÔƒBLlá–óÄàû>®Ø9T…ñ›¥ÇâÔåAwq Nú枤؆è­V=#³”§+Ǹ!ŠÓ¹íºGÞ¿.¸ÚäBíG$ÕTm#D1þØ;) ·~Ïð¨SèÖ .ÚÔX¢HNp¤þ¦:WAeœÓ7„ªn4l$½{ÖwšH¶ñ÷ûôŒ•˜ÞO7yÞˆ+¯øÅ]Gí]ózg ŒÓI½ÑÓÏGˆŠp-¬†˜ËpÑÝT篞_Û+[‘P4bÙrþüˆŒt­Úû;wÂr–îi¨¡â—òtr½jÛmë_‡Úu(EËuà‰aIÂPl¯'¹ˆ¯û×âÈ¡ÈMØ Þ'ã>/ÃGKŠ2˨ë‹GÕÀ;›Ù.7ÍZ £GƒwðEÚsË¡]q¨÷ôaÈM•ch8ô(–X$Ïã̱ëÈ#AyЏÎK¤›îFµ#\!EûÑ5à|wŽ …'ZGOPâ{€…¬ó@¦âzarLARUmA®ÓW¨ç%Öï€A´žgÞ;ß¹6û+©ýÝ?Þ>æ­’šä„ …P%t´T¯Èl ¿Vë½_xRUR1¿VÓ„{w4¨÷&v0£\, 5î¨]Ax§ joœžiAsúN°wh ¿?£«¡Œ¦.ó‘‹P0²žZ‰²=¦FüÞþ¥÷‘iÀSb{d­°ªðÝÿÈF°.#erý2ÌmAy¬Ñã뎳’H”ËWÕ‰Dž€UX¯Ûq‹4ð R*’üɺÈܰ*ƼI~‹WÕ‘H¤9E!kßLûj#pbrày†’3:qøA‡F²†fgr ¦W¶e;‰ZÜ¢uùGsXÅòx@7^VYîïÜ ™eðbø9è„Ë|xÔ¦—ψÒÝã“ÂÊdžRðk´`zæíÛȳ8eHçFcç¸ãºç^ådBZÖã0#e¢”$÷¸98Ò쥪h­åÊ ÂZi…}O©H'¤ÄÖé áœÛ‹|ve]Õ’e˜fÜ­ù!Î#nÕ$hå•XõÚ‡ƒzž WX‡=ûmLæyԔͺ`Dõ_`×™>NXTHÐUø»°•¬…žÇs¡÷Ñh÷òû`ŽYP¿1ewHäÿ¯¡]Á|cY´Ã™›aiîëqùÀÕ>ž”­T5hÄçꔟ2hWžµkêðCŒÕù#üݬ“ð¿mø,(Γ,nhý ¯î®“˜x •‹ù­gÙM<ÛÚÀÒBáIŽäƒTáóÇTÉ }ú kœròŒ(·¿²kL’°[Ò+"ú“z'‘žÔ†îV†Æ¾¸Œµ Ù,ü…Ûª´Tð5‚Ïý€Eg;”<ŸCûwöªEà ttÖC‹Ï@ ïˆUu¡OªUdÑís>jÚRf“t ¯×©—‘T.ôy¿ i4´ƒz&fq—¾Iºn¨ÙÆÇ#C“AŠ]^~(¾N:¼¥ó³³ö¤ ò×dá·À%K7µÝ2¦¦& NÌøT’‰ý£eð×€9ˆÊ!R‘ˆynð¦óˆüœ¨C~hÃïèͧž8çAÎï*,ÿû~«,vÓÍõ#@‘ùDxâìøÝícÒYÏžOYldZÃsŽ}JATìA(2,XÇ8þÉÁË“ô]àï~u±çºƒ‰e‚ öH+*ÎÝG¢Ô‚‡D4¡d[d»f¹IÎÊŠÈÊÌìœà©­†D\ŠÉÌúém¾Òjm*œ¾!ÍÓ¸™RõP¡Ú|t&Þʺ(FF=ÝhZGìóiÔ×"9“48•J —I/>ÎJTÿ.(Åœ`tÇE’7Ò0óâ•­‹ž"Ý5ºýßO å}çÝ—r¨ïéï…=Dº(ƒˆœлd г&v‘cK÷RJs6<§2ú‚÷Û±íxWÄ{gÏT°Yá´.wgW£4lûh/C–0£ô½w}€bµˆcѻב¤¯pëÙ$Ûþϰ!GÀ•Ò}uÛ%äx¬--h#Bpk”5 <òºd-Mø9ÂwØ~© ´r™›p"¢ÈÅ7W[›‹¾¡çI}¡–<Å'¾ ÚcÖè®È"Lùcµ®¢>sóK¶ü‘ŠD˜ “*BIë‰ÑñKÛZIOhÊXg)¢rÀßÁÆæÚA¯ÝëºG¶•B@*=9–êí.µÍÏÚÈð&ÈŠè‹/§ÁÿÇ;oµ=¢<Â{x1Á\âHd–¸Ž-yÿâã…!.ÊañBn‹¯½šÀ8ÏÜ%7{ÙÓ¾#9iêZç¼€Aú¶[.-ø3ö6F{7Ê“º%â8߈gÚ,± ”N†¯Õ¹°d˵C·8\<}òAï•NèSq`Ð(u¦°^uèK€œmÜ™Å×ФÏg˜Ì¦šƒŠß.ó¡ÏËžý¼~³áÜAΊ‹ô2Ž_‰gÀ”шmü rn¢,ëË4€7 íý ñƒMÂ^ãšzŸœ3ÂðhTм•Ì’$ö(Í’K³'H÷n°‹ÚAñÓwÂø¾Þ¯u«uùÄ>Ùs‰XwÃoЬª³ ­"à·öPUª~7M?Vk_Ì=ä6?³m1#Š­3C 9gW+t(¿)8h·ì”£Ú bé¿pÜÚÇÓ{¦ýuˆùå >¢uv׫sRÔÁT5M`4¾ëœ1ô21#ïeg|»Ê˜>"çfP¦ê}ÑãÙÄgÄrÁhãníöOêý¢;ååÔ¬»ˆmzÝ ›„«^üË•g&ê¯ýË,šIém’³mê<š’6Õ·ilü»;•j'ä“Ü2rnK¶3KÎZw‰Z[÷„1ðc”ûüÉʽgÊ0e÷ž¨"€f3M×AþVqèÕÒ^ÌXlçlV̈f Ÿa²fÏ¥ÂÙ£i) ¢ÉY n[<Ôå¸N*°Ž]ÕT^TÙ®ÐrA(oÅí3¾>bl$¬x̵{ïˆv« Pu¼\ž™v2­¤èMÀ£ùgË|FŠ~0T;]WDÞ_ê`G×oZ2NíûRý”¬W½É~3Ý ˜ˆF³?—TÀk¿æ+•L=Ý•ýöIž[™Gà?€ f¨«uIëB^ j"Órîvj;¨;Å}­¥ië‚ûmê]ÔÙWÓ¤`)Gaô.>£®ûüzx>ýFÁX£§%?$µ<›4Y.h“¯þR‹ÃÙ5øÃïzuÕQVœá-U®!6["sš¿ÉqÉtЂ[9rAo™ÓæÇ_©Õ«Ñ·3È72»Á FP=ÁÉCY ãùÝU×ÄÖÍu“,›ô]ä]²¯=ÕÓÐü”õìÓ)µJØßÎ o}h¸Œ‡-îÎb²wòõ> Ò{)ò€Ð ·_ˆâö¿ñîß™ÀOKž€?ð Ëñû™#5ßCK &AŸh« מ]ˆ5½a¶F.è§­Úl9™ϯ¥üg|Ü» ­t½¨äÖQÙ¤jeŒ´%5ºþ’üà©Ï¹Ä¿‘8y?ô¥Ò× Ogwm¤eLc_âl˜AÛ¿FMåš»YظŒ-ˆë#©5}l˜³Ì2ùd+:3¿‹«ˆåC‚&8ÙEœûšd²ìÈ%×ðˆ)ÀvÙÆøB4rÅÂ}h¦Éµ…°Tû)¼>Ë£¹ÅáôíìGïªê>ØåºaàoÕÚ.®i.SÏ›2ŠN» ú+ø Á¨ëãKÍ(Î^ÄNÚaV0òÿÏôa®¯ãX+ÉcThò‘ˆQØ¿ ªWý£„Ó½Ûˆa¹Îw/(˜Áœl€7jý…ÃãdO©—º®Ùˆ@ô¤BmÁ¥÷Oõ8EkppLJó™W5`!Mü ÈÐ%þì’{™ôO ebÒ}ÆŒÁ¶½kŸŒ9?C\>í¯¯#ä Cɰ>¡Ú½-`&%K¹³òö†‘Qƒ´*¾^zèÜÇó!û$\Ù‹zâÚIröœu³pVÑÔ ­ªï‚¼¤¾‚·¥ó#{Ý[q¨ûW¶Äu<Ù S¢bâ¶ ‰·§|2‚´;šoæø4‡]møCG,ÈsJølécÍì$*„Ô¸6~þªM¢Ô#Ïuñ.±œd®ÞÀE>àAªæyO’±©‰¡7•q=û„7a>ÑÈFóek¾LÀSºÃqJþ'Àÿ¥®•ÈA_Ãî(§Îz4—(p¦^ª8BÕ¢¼êNÓ‡Îض‹Ú`´¡5莫[)H†Ÿ}Mq‹}#ÀÇá~3R#¬7öö­ó/Ù$*{ÓΕ7¿Çc¿”§èh1–¢r½Gá:XÄ\ßP–¬ºNy¿OiŽOÿPÜÓöðé5V¹ ?•xY—œ»áw¦hm¬L¤vÁ$¹œÌuÒQ\ù^=ivÍ‚qÒ”«áÛxQ.ÑOUË : ð2µšð–ú+~ã2é>‡È<àIUõ_8NQ\´Ð<k z£­}“ùQ_úyðO™§\Ëñ5ÓÌŠ^B·nhx@É®l{6]æZlÑ[Üã*U>Xðuøg™IÝðZØ•àã#•¡ÚãDœ¿·¦²f)¼¬As×q <ϸô4;_‹ÏÈ8€Òõ3q@×õ¿‡¸µÿ´7Á#Ƨè± ™ÐåÉÑ^–í®û@%¦‹î 'X„IJ¿±L·vß_z‘"0eŒð‰×b}žlÇßãîrrõÇ´ã)A»÷Ù}˜• 0ÑVMô¸i°iÀÝG”€öyB™Ñ¥|lß’°’ö×e¿ë«2ÚÝQ}ÐøÁç&‚ˆê¹TËäSHÅAšÃ˜Št#¹IwÏí'Œa,YfU‹;ºª:«ü/«rBú/nê;æ,¬½­]¹Ö…`264†+ X[f L¹E¾þÆø5Rʦ ÎõÚ…ÐÃï ÆlìøÒæ¬Ú³<Éüm€Ÿ†.,{Öd©FœÈ3’¼x¦ó`à‚J­ J=|g+Óo|Ù‡¾¡cõ‘ÃÒª—ô¸^ïâ'bô8¹éöüYl“ÏÍV~Ù“â¯AžI’Z\‡mWÆÝ¤ì¹Ù.-áAP"h°ü|ªÉµx£nÌ€öêúÀG˜äˆ¼л&' òõÒ¹#AaYf¹®„Ëû=bS2RR¢¸-ÿ·#êÒrRÛ À#ìíøš®¡èË‘¹¬:˜’œs|µö›×”ü;¸l? ¢xä´ÿé^j½¡ W£ 'Êûõô^Ný‚¥}½h9„­=LAí¯åS>½j\ ØV¬Sþ/ä®°Z÷w=]6¥ó1|”„EZ=𬣽ri‰Œ¶úX¨¨ÈD«(’äÊæ„ÄTã Ÿ _Äb.Cö½üÔÂ+”'ÿõUâWô€tºÆw3Г= úÓßü\S›²À¡u"h…ÿª:’–!@ì¾X‰Unÿ[Æ[§ðÿO%¨IÛSQ}NUÃw[¬ÆS5*åH¬¶õ’u—ß paP¦ôùO_ÌvÙ€œW†²š æb¶©5{ù,*¨•SM%dß ¯´,íÉÈF'u—×/q7¿SÕ¾An’aU:IOÙØf·:KnŸàW'”»=º)Ú„äúýYú ëX°±&,ý¤¥JmU î.«{j´€Ä†c¸Ê1M ò‘ÆU&+¬ŽK˜`o!ñpH+õ1þ2ƒ-Bp’']e _ÎúobËmüTÀÕœ¶™+]å´÷ˆÖµ^ë“<Éç(ñzÀ_¿æ ¶Àò‹Kþ¾KRULÄ?Ç{ŸÜ¬À%ËNõrß Nµ`ì»ì¦yS ‹wr×¼8’„„Rø;,Ì´ìe;cq_ŠÐÍ-fpç ­SX¿$y«û so¾ÈäŒX+_„KßÒpÐâÛŒWa ”´Nì´[XR=ð!˜7Ú;[e‡–2¸ÞH B•ÈcòЧóW-Oêñpäº[À1–O䍯£3³(ÞZÔÆyHШÉèU\™IËmðljf\OáìF‰Š«Áa‘ÏWÐ6åC ˆRô§ŠaFzÌÂ’M‡dÁ!ó:mòë÷Óëªö_ ´`Ñ)¶ãÑ”ço ƒ5ÒwÕÕ@¬Ãž3°×@ª[¾h`0.®_ŽnaÉ‘nÒé}NCßúÉl‹‚vSJgŸ‚éòâj1ÒÝ·&gߢ.eÀ²Æî &šÏÓ é;’ ­{…  ´ÅCsºY±™>i¢}>ç’ÍÜÝ&€Dµ¯yG}Š0® °- û‹¨íí2XqTŠçB›”]˜Ó-5([•ÇÊOyúd¢†ÕÇ•Mc°×ä£3¾[2nñ Rï Sƒ­Np ršy¹¡u.KêÉE|ŸiÏU˜G¢ÀQCôaiº„5×"zË⧆!’ÿ>5"÷3N½4q»ff€_‹!Ùë!Ðìs&UÀ6bXÙì974‰þï—² b¤t* ZlŠ–Vý‚}²'m*úLÏÁ9|ÉÇ㈛’Õr–ɸ[ç¬{n7)ÖŽBYMñù"°ðW7 £€qª깦j½Èä†|gÔ \]ªå-îÔ±‘´´²>úw«z&„Ü“àÒ¥$ÉÂXû``ò‡ëÄMtH$°L„°qgóÔðØZßÈœŽ1ÇmÊzέ€<žW }´xyÅì÷AŒ8EZ‰Ø_ZèZ—€]Q)UíÕÌ”…3Ê­7íÇgr`0N¢DÐí`cø˜[`^üC1?bR7ßfª“6—#l )N€<­º³k éöeGT,ù!ñR­[*÷¡÷-ÒqŠg «.ÒÍ0—n$Ï_ƒ 3$îµ4«êW:w¼QÇrõˆ+YZ¬e3#üרV¸6r¿R®¯õØ;Šè¦ZZÂvÜLg½(«ßñHÞÂllo6ܯޡdÒ5‚ľó13&¹x9òÜzÛ 4Ÿ÷¹}φژP‚$ái-"›'~X@ôò;ÑY² e Jb¾| ¼¥ú4­{6EÁ %eä"—ÏºŽ·/«‘ŸÛÆûËÖÂö7 AJfq>Š<á¶ãâ¹i/껹U—˜§ù’¨Í|&ª_—mY]ÿvºÜow ddU¢Àÿê7äÇt( ÞËGE¸ÊEkœÑM¾¹I´¢< ¾¨]™v2;FË(×.L1:e+¶+ø)³RxwÍ·³ÌÂ7ÔÛœ•}ØûšŸÔø¸–íX,Ö9gﺻ’ÀtñIbÿÎvóÕ"šôà“ߥujt›|6º ߯¬)ɳ'³[7ë[6ÍN‚s½t´V¿ sué˜úVx‚N®27= ÐFƒyïú‚€g¹\;"—ÌÞÅhKnùúêN9óÇuêy&´!©RRi>ª« …·¹}6ZV3ºRFìþ'Ð+8ìÊßl++‚‰öà‚Sa‰þ‰É7p›JÜò¥ä^-¸¥‰[îìX#my?8uâ;ì}©Wbï(hgâ,tÓlð'”ùš¤ŒeDÈâ¹¼ð¶á˘›ßg‹bíÊÍkgû\eŠx+"/âya ÷û}BÓ<”·'ZÜ@F²¥(ÁsN+§˜w¦±?œÐÖt‰ö᫣ÅŸÈ0â3GÊM]}*ˆÑà}ˆJ¾µ‰IŒß(×àsÿyTNÛê?¹_^•[&ñÌØ9­P„#£„ºÜ ® ˜xOT–÷žû&$¤®wIJWÐ1Ê}+¥{[ºT­5ÞuA¯TDáâÞ&¡8](LWý†šäÒ!À•y¯#caœ޶§§a©)Jý# É¥¢sËò§$ÌkŸwãŽ=~(ÂqH‹\äÞÙòŽtZˆ‘8?„WºaÑ’» D£g?pAò@ŸŠ§NþbÛëÓqm˜Ö\ó ýÝÃÅ–ývi*‚÷Ç£ÒS’õÖ­‘H#Ω»ºêìk37mÍL~€Á3”çò9Ʋ0vaë%†•4ÞŠ’ºFÚŒ3ÇÍÃON!Ñéûë`¼ PKv­Œƒ šó‰Œ±úk€•®ÇÀyž‰^¶¦Œoóªú‚ßØÈˆÔEW³%W²â y«(;\ê !<Ç1À³6‡B›(4!0ÄÁbÚGÒ¿ÁÒb,Î ÃSß•ˆOçþz «ú4ìHîw9cé.yn1ÙÛéúŠ©y¥f‰¹À¶Óü“Þ9G/hE¿f:ªˆ–8~ìÛ°Eö—XdÛˆG>§’ÅßT}ÈXäsìá¯;?›Ù àÑå¨ÊDÊ¿ËSPÖ\ig7MGI ˜qtÁÝÀšùx‚fGþƒ=]å°rã·å·T(.ÊÐÇŒ¾­§D… "<†•J#ÏŒCºÝ«Óe``á·<O?7tåë‡9;ðfûpèê7·ÿc0šgÓìá Öõw{D+Qßq¦ËÔí°ý*΄ª©m‹ŽÑþpŽŒ='ˆ øíÔ%eRõ9"ñ_¢îL¼ïÇ"Åñ;4Íç±ØŠ4´-We…~´úòd ,²®ÝøÅ í¼KÒÛjƒÇh¡Pÿ‹S5$ötU;#ëÞN„J„Z¿vð=Âoz Qw œêÑ‘‹o~¸dá ¯8‰7„IHèRÞ¨°QEÙÿÇ‹Däxlû$Kóûhfu†ž„~ï¥;mžnïªwvý¥¹_°éƒÐsÊ\í ÆelNë¹Þ¸\ÿÖ$ uãJ-Ñ)8•>jP9 ¶ÚF¤£æ(¤C}ueVRh6Ÿù t\À efdi rsï¸s…c“ß%Hƒ\Iµ`à °… ŽHåÜZ‡)ïFþ~$þô_¶:ÿ»„‡WÇ(Ìî•^Áš(ƒÀP<¿L2j™¿êMÙÚª’؋ΞƒC¯Ÿ¢ ×Â?ªŒ’ì“Lña2s•×àÊÅÅ¡=Í$Y³ºÂÈþ[8‡ûß'.Éh…t:yÄÀœB…°|M»^+°zð¦Çahè„ÀÝ…;Ò`L³½ƒ,ÖÞP‡ŽÃ3Eý`Ó·½b­Þ±ðu£^ê€ ÖvjÛ<ÔŽÎ2¬ŠiÞ8åëº@å„7½JphÔ©‚g~Ÿgº&¸­ý"ŶQ†ýWÝ¥]ÞÏÕE9¢S¹$¶ÆV¹j e”—qÔÏ_W岬ºR„¶¦žÂ ,ÙJ°Ô½hÊžÖMÂËöÛÉ%ÔF´½ãâk}i9¸ÅÔ´4I"Þ uã}md’"íˆ l<èýà^ù¸]:d‹Ó¸"WÚ0°±)ÝY†zLþ—=ðÛ8ü@BÖÞŸø¤/š Aü¨b:m†}Y1n×»šv¾"²„õ”ãȳݣ ÓæL2Ô.ƒ¤»›G{W¸¬kwþù¤ØuŽ2) ^…àÐþ|¼Ö:Nòg”øÖBë§b³É’xžŽ€è-¸P“Ÿ'<Øbrïl“ÃÒÔ9ˆŸþ#LW.vbT̳Π^lã6Mþ³º£Uf»ùw·”y€û00ÝT“æG‰à7/“à6Û›puSû_ãFcK(úwž¸\ú“C`ß9Kñ»ó.ÀúÕñäb“fªC+L;m÷'‘a߬;…Hc¤$ËLå›,vº#<*x×4µjܧÜö4m!^—u]ì KH(‡ SÝš¤R„Á\&õ«â!UËé4ÎïÕ ÉËx ö~ÝŸZqùõIvBÜÝsв=ˆQ¹ÚšØ‚í#]L=ÆWú Û_ÖC//¢Ï°Z×»çB¹õû× »ZNÿÚœW„ˆ£%FúÓEŠ"ÏbÈ}62»tÕ^¾ïÛu0k‚ô1c£ˆ Ó±æ¼i:Bk¢1HÀ µ•P%­*ÁÝW3ðL¢i ="ã Ì/:¹N-–ÍW)÷%|ÉÁPß; œsŽŸÃ _LéÞ/½ÂÏê¹XßêÖ]?wE4À²èu0|1n¥7U9E,ðíÂ#1$¦ûÇå´šï&÷éò\ðjÿDŸÄÜ9L¥‹\¾î,íg´ iy—Mþ_ÀB+ú®0†Ž"¯q&é¨ñ¨Êõ;ˆ²|ø!¡—4dÔ‰)ps”,¬¿Ôs²’Â!Mé ÈŸ0ž-âÝÉ%s‘©¢ÖK"©ô_LÉrñÙ)wÏwüzΕÏlX<^–=jZܶ<¤¡(+–"&‘ݘ´P5Qó(E¼ŠçuDÜø]& iÎñ¢îH/ø— JøaÛ[`à‹IXÿÆ“Šò¶Î-‡9$ 8tÆÜmÍo±-Y¼ì“Â÷¤Ø‹Å7Cð)BÈ÷Äç+¼°ýÃ[ûÇ‹V«îÆàŒÓí0¯Œ]q+Í_3Uˆ®ÖïmïcÖ–Å&ùÌ_Ë2^ЃrÖ¶~H°vÜ›±ÊÀܸÄD;þY=EÛ B.c•21€0Y–ÐäVÌï7'EÓÓíú¿®ˆè…! X§©^ç?‹Â©ýÛËh\(ýT<¦ Åíl„v•ኛ¥zE¦"ÆNùá#„"!%2 NüõÈV¶Cv}5î©ùqÙ™-%?» …ÂÀ´¨åx+c’n`~æÏ†çê¯áØh=Cø¬sÔ{Z‹ÿðÌBu\Ï•ÕUH|È,ùÔL³_fŠd;ö&mæ´½·x„ª“#.½¸Ÿ:#ó!²¦Üv‚ÅÂe3Í–SÛÿ¤)µòÞïÒ/}šó"r­>(ãBÇ4‡ €²— aRÕ“á–Ö^¾ã@i¿5æ6ÛdJ“R‰d/”‰nH°ÿ #év®ÉcªÄGm’n_fæÒŠ‚¹D^´üßI¶äÎ[:.¯ßŠMQ"¶VJÞîù·ßéÔ-ÎDU©”ž] #ìí«³š¡e+;´Lcq3­ç”Æ'Òû…4½†‘ì=ŸA=[ q[®œ£ËYª ¬ËVÄÑTyZÁ¥ð­,q`øºžÓ¼å¸°4×Ýy'¹o\6 u7 ÂŒ;,T5&¥ÉŸÎ ÐKSüÓâ?øúíü |AàÓφ]H¬ÍÖ–¨¤,ô”kÿ˜¬™³aÿKI¿CIîf¥æhÔóüþøš±‡ ¸Z ³å«Ãèìù¸¾”ÌF×üsÔ!™ú0Ámûö¯}‘¥{ç³½Ž5‡é<3oeDSï*,œÝN{ì”Ïåö¼>äMÑÀq¼8à×1„iakæ_¼¿hL—Ó@ÚQŸ×¢—ª¤âÚ¼wì®}‹í†ã:ƒË Ý«5€|Û8>$QYBžrôC¥FT”ÛE¥[)mÚ,i + “!"&1òäñQú/¯H›¦éyRŸ…ò0ý37A´%Iæ‰ÉmÙˆÇYÃyÆ>­ÓŠ0« ˜ßÿ¼»Ù`îD6rì¦ý¢­þìë-úó±{G6Ϊ]Ç‹J¡I:ÃXÁñkŒn:¥¸tMÌäôõóÈrZÄ·S¦VtÏÐôžgXc<òíÔW•®¨•í0DRÔÖ ¶öÒ*¶|Ó~eµf•@ˆª:8ÉÒÄ:”·ø)$[à/Ššv„B}ä&#+—›DÜ]a‚THØÜˆCa÷$ÚJ,±®ùjä0xç°y«'Û¢©@…w:qEÀÌ0NðÁ¾ˆ»Šå­ÍηXà2(s¬FÉšÕg\;-rÿîí ¤{x–Ps—ˆá#œ†e»:¥ÅÉ׋µ¹5á‡üž…£3K÷Ý&ø§7—U<Ðj1€?zæª;žw6¨¯ßÊ  pðp®aþ4^Õ nOLóã®ìMšMºo¶•ä>a##Ð![oK\q2Iéän¯Örƒ¹jHãê«Ðþ+r : ª‹l—F|IéKqù>6J;•þ{þ"Ø«V¬ ‹Ln%ŸoðÇœÐS¾tùeì²æøJ6]Jtô<"¼O’4ÙÑÁ¶2ˆúYpz÷lžÕ×¢Qå"“>Ì&Š™€´7°O~ ±q–ÙÉ$q>kë†l÷’¦SñTˆiвƒ Ãm™K–8)Ô?¯ ˆ•À6˜¡ëJ}@á J9DB²„ií3ÜM r<)»._òø.Bì¤ÂØRqô^:6ûͰÙ>ÛŠ ¯o.ÜÒ}õë *t~¸“JÛpí&»¤}2øZâòÈeðrø= i ç_a¾øÁ.kÓ¤†"¾¢ø@è€oß³Sÿ¸(üÝ"ÀÑ T²é“æE˜W»GÈ8êrâh†ÚýyÉn¥5а9 hsÚš–=1Í.šÖ6]¾%P,b½ VØ ªˆY ¤z{ØÿÔÕDc¥Àº¹wÀ•0c¡ØER–ñ‹ZñRNNpŸÌÅÂÒe“0ñ“ ¯ýx¥i΄YN»©T¥JéJ¼ÕfŒe‹ów©øcËA5„»> 5yå€p6c°0­õDü¡v¿ áE%\eÐå/TSªºdlìÅcá­Z`µ]„ù›«2ð‹ Àú‚°¹„[.r†šêýøžNa„£àüÿ‹2Ý¡`Ìú0?žD£èJ[½é{ïÒF*AõBy2´xu1‡°Êg²m¥$â™M.>o’ipO«Â–Þð{XÖÈÅŒiqß,ÍAŒ]ÜÄ¿Ýø.1k¾®<×ïW;•I –ó×~~²zÅ ð&”ã.êºí&zò²­Q–ï¶Ïcõ3’´cfzZs·žh®Y˜ùÄþèL®íIôn©zÏ ´ %(p 8¼oåŒ%µ³*B×ï×ã=ˆ¨×àNƒ€ÁûåQ•A’‚ê}ìÿ›¹Ó­YòáwÞyŠØ>3SÎ!ôDÿýÂÐj)€[€©àDû¼‹£Nv»rŒÞ5â, ¢Îì.‰…õ=Ó÷å£ÒKOJ›µ$¾Ä–XÒq‰!GÑú­ÿš¹}Å“¦ÄæÃeUƒSFò7­†â÷I9‹Üϼ+ù«9+èÑn¨ áȇ!r0vêÖŒàDö‘ú8nV”÷/Ëù–© >7¾n«6Ï7éÈ”±J¥®÷ÖOH€ç¹D3%ØL¥ö}­œÔ +2¨>&]R’×Q$¤ÂF|«-Qãþ€iÀHG“èGMlΣÓAuŒ)­øxæäÆœëá¢Î4"—cÛ…½R±¬¡:¶ÐZ´QÎìƒP6Òò\/ñð«_¥[ø÷CV6Ÿ€1€N@®N:dÁ"2jÏ¥e,ÿ4 ˆòŠLAÕÙû=˜>ä5¹‹ZÀCŽ‘VäOöF¾¼MwÎýTÆõ÷2E étñq»ŸíV¦CmÊ…˜Þ=™BóÞ‹’†æÂˆ…ÿ¨›«”Õ^Åën¶•ì¬OàJB0@Lí·‰ƒ÷–GwØê³t3ïYÒ Ì|_?1çdgw©¸“V—›yΜãéN1zF×\AÔýX|ŸðjtÖÆkåƒZž%r‚cxfÐ1ÐÂù§–Ÿ{1ÓwýdÍFd!Èà ÝðZNiªlÏQc Qt5ú¹õ‡AÛ°±ehÞÀ¨ðÒ…±áË´N8b/9fêç ¶ U­ÔœÕ/Õ¼¬´„\šsø$ôªPÅÃè§îáá”}ú‰ˆâÛªn8ÎÄR‘¦ÓÁ­±bÇCÄÇDaAÔ¼§b“¯>Ó3—£ùﶸÁ1;íÂì“DË8l2bÜ{8r°°Ân (p ëBõˆ0²w#¼ãˬ£iÊîÒhï‡8\—ò•La÷(¤usª·Y’ ç8W-À—¯65CÊ!b3ÃÕ­úVË„ðuBê^Xu +/=ŸW3—g*áI[_uŸ¦HŸ H-Š;í^ï§÷žÿ–Èå[ö½ØE㈪iUW¿œÌiÞvWï›—Ö[îV~kSGʱÍQ2ÒkMg*Ý0ô…‘À° )ô •  )Âs’¯:+ÑÜ‘váÛšp½’k¯)s\°ª¡­Šgxˆ/TðßÈDé¾È {{f(º¸Ætæ%©#+ùs«HýƳÈã‡×Ê\l$%â¥âÓ¢ª{)®_—ýÁeæ'ØYýs•üY‘„”ÊNÝh7¥Qzï)ĶHÿ9ý¾‹÷¦é}¬èI3×#ßÈ!íýö4¹rûŒO¼ÅeÌYå°lç÷¸%~û H˼è1+ öÄêóêUt‘ÝR—,ܪR9 þG¬ö…W¤Žÿg•è¡£3ªäÃF70E¨ Wk oÓ bfD–~f+‹%Ý9üêwX%’€±RmÇφ=¬‹}8Y °‚IlNス)ú‡ý, ¤g––‚X‚3ƒ>?à@$ÑBUìÁ8ŽÅ1†3%º`9òA›Ôu ×½7e­¥NaÈ2oSxÁŒy‚~'}Ì ƒ>#Õa+±‡¥¾€'=`Q‹‰ªÎÓ22a¡òÙïÂN}û¿P±i©¥Ìdm­Š•þƒÉôж¸/QQ}CìâéÞÀâdy¾Ó¯£¤(Â'¢<㇦ø"ÝÖ”z!Þ±¿¤æïš/Þx¡ðsƪœõU$É8®9~K3ž“tK™î$d«Ü "Êí†zþóèdîªÐU@Kÿž1÷ äqðö)[;ÝòDƱ×è…Î)ŒË ÿ/*ãùªü·•Û•w©× v›•CÁy'É=ù¿?”giû1ø²Yœ|®õ½~$ª°ä†>»ìyνâ3£¶{ʸk†çw¸¦ÿ¦æš®©sÆ6œðAS´ñs-Œ7O8Ù%³5¡›oÔˆ}`ÿ‡]j«ªë‡ˆ‰°q8Š~Io>²{š"' ï#;“Ö“„²ïÄß½ú©vÕEœÆÿº5TôÕS”Mé¹G†ðñ#Æ#T²ãíÝ;DšÓèr¼fƒ-zËœ´®%(ŸNÏÏ,E5Âã{X±¬‚¾<ºˆü ½Pt‘S:N–ËT@‚¤=>B8ÐâaR¢ù`%&ñ™úV³©?9©Á`ð¸^‚æäýÍxïÙ»Öš8qŠ©ÏÍD[Fãkø;-Œ`6ka)å±§¤©0Àl¤më©6ßy^~®¦ÝÄÄX‰Œ—î¿bï1¦Í íl3¢ÇxË3B„uÌj#ÖSÔù9ϱќ­÷!ôÊóg›œ³ ú:Ñ£ÿ{­ pÿ¿Ž;Moeütx¶Ç‰Œl5Cö†‰“ä W¦´wËšŠÅp§/ÆÑßh7¿œ¿|­÷¿Wñè~†¥V¸OÈJÏ«Ï9Qs0ûùÅËݱÏ´Hœs€»ªHÊ¥‰FüåWÕtõ¸Ó| ù D¡Šn GÕ¤ñô“ËBˆÒ…!&Gz§V*&7z<Ðó½¤8f%8&ˆks|>Ï_¿´xN­ôl[zä>V{k€ ™½&™ffÀ‘J£³ÖŠ¡ÿ IͿøɣ+w?1ÏuÆ Òªµ—.ÍW×2ƒÊลðFÑS÷š=T ÀëËúŽ…ÉÀ‡ë³:ØÐíJâ.{ÁVywtFR…ÿë8Jõ"ïy{s¬Ø¡¡ìý>z˜ŒÞEШ¥½Ÿ%ùbæÁçÔ gñáJFB2>ô U?-f(êmwG¸ÔÕ ÃHý¯†z¿$·L™/™oÆÈ®Ù[:mþJ`o{ýÒXpL  _ƒG1ô4Zc)Þ´6‹Ïž‚' wÔ±ûzWuO¬0"iÚ*Äî£ÉqIÍQáèžå(¤LÕ7>hø]Ñ|Ôû¬Ü%K´ o~^ÙηHð%Ñ”SÞjÙx/½ºÝ–‡©Ôs*ÁÐÛÏ ”:«à~L±×Eœ¦ ­:ÉŠš8v†DÃó¥ŽIChéw ~ié²û––ÇÅUeZiŽ f³E»± пX/,ÿ‚{¹Q»j^ú’í5|Åjo jcÓŸ²òæü >µ±C3<#œ8ø‡Çq‰ÀhCLÏòLEz䘢_n<|{¦Lô¡`'B:ãC®®´Û&†#²P*¨Ó LÀ¾Ž¼K~H]{Ç.és}bsê%,Ã’*ǼÙ0 Ä¿æÙs#?ã3s\[d{p¥µ¿#ti+ ŠTOM’j)M<ÀÊö+ëŸ!¿½¨4+™,1—Ù1sÀ “…¸Èþ†p¨èmeöü‹;p·¿žSo—Lm9†‚·]É žÊzÝN)Ò<󒃄²¬b¾@™œƬÈQÊ¿ô«WqֈåØJO2r¬0¢¡É"üÁIïf™Ehí }Æe­‡Yép˜ÄòZ+Ð’[£¦Yñ'[ì³æÄ'À°HÔ™§~´AWq4\àGR&vÑ·ûxú«9½L³=ÖG< Êf±t¿ôåYdS۪ㄠ-W{¤Ç]Ý9)÷ÉG$âDì±×ª¥f’÷¸¢¡·/oLøãB¦p«‘ b$‰‰UÐè ]̈ðɇH3´3îS¾Í—Òµz~w$xaèsõe•Àz馦¤„g#@g1åZήNT¤Ú S0Ÿñôh §••Á € €J“Îå…Ã÷ðÿ ¯É=ÜÜ54³Öé¶¶Ç8! –¿Õ×\EUcÏòã#_P‚ÀŽ1ÏëND®m¡@}÷Á¾z÷Œêæ- í:_)Í*Ôe?°Oì^Ô ƒï“íŽÚ B€GСrðü‘†¬òÓ^ãê1aÅ¥ô*ÈRД„Q䨆…Mi ú¹^ƒ€=’S[ï@&ÈÒšòF"Ñ¢¹çä¿ÙwŸå7{þ½gUúÆsY)HÓ =v3>Jå 4²‹geö¦Óz@ÉÑ„ÅÉO!…¯k×dP£ÿ²Ž/Á¬[¶N“1sÀ°sYqAR:_3{êΦ^èHÇjúšk®Ï ¦‡š½ºµ/¼ñjØ$Úú ãxŸøÄf&Ù¦õè<—WF(fýv¸²2»Ö²½øW„­ª±ïQœ5kMeñãe…?š¿—$9\^@Jo£“è#È̱»ú’Š. ya?_“j=m‚ÍjY )G(.÷Ï\Ùd_ãê Ûž É”å\Â.Vƒƒ|4Èzyš]1A–Ýfx¬W­>(ÿxã1íñ´«§3³“©².½X´Ánã‹H_YÃÉ)€·F®— ôâºU¢£ÛgÅ[ò¶™Üsæ¾­œÀÓ%ïB\C‚g(ûáù±Š$yˆŽt/v}h¢È#߯£Ói3'Ö~a¦±t ™W=”ÀãÞpgÎ]–yܽFò24 ‹hÀàW‹ž%•Â2“¤K~Vê0‹yD@Éü3ŸaÉãêóàrYYý¸r 4®>t;óH4ÛÁÄ?_±)Û¼ø²û¥"7§Õß'ßÃ2Ézònẅ~"ø (>æ=2¸Èú2¶€PúRw”3`&CwµH¥ÙËx5!²cË¢H­Æô¹€Ù›¥‡2åéâÒOˆU…$"‘Tsù“Î7jmÛ²> –ÂS"ܿߋn‰0DÞg}·&™k'¦µ¾>ý3Ö²³Eý±ùö½gs¯3òÞPêrø¢åÛßÖÑCÞy6¹QåArOàdl·ÑÒ—  ØâuòUL¾#² Ý ƒ‰içSïÐŒ “"‹Ää‚"‡koUr.;(½n*ùK£z²ÑÐ ’ý‰¾é·f…ǽä$ŠhS› â±^U‡]¶“Í}dR¬ ÓŠå ±1ì­tŽ^gÍx_ܦè²s\Ql=ÿGÁýœJXÓÝTuçz'‡-¬Â½¹,ô¾=å…\¾¦ãeœxŽ#›`&ˆ-„jT©q(ø÷Ó÷r]bžÞHçêì8ž$²Ä¶GS”û)šÇ%l&7Ï ^Ï­RÀæ—­ô|²ô>ËÃoi‘™0àýXZf¯Yè½Ú=Þ¢?òn«[QV*6hÜïûn„Uíºªp5&–k„764Æ_h<–&œ¡£UR½¾@ñµ©ù´ÚOÝNBut•§ax>Tt‹¹½`ÜnL áDš9þFÒ]dM̃ öò¡úLJ‰8J*“ÁÑ׺öžÉü>ÇÖ›öMõ?G¡OÝ6}/{žëX þ|®S 9Æ+‡Vj;M†ûÕ{±þѵnýŸ6¦" &`·àG¡Ÿ¤šÒ¢,]b¾2»­ôøðDÆŸˆ*n?<ùò3]hÃêµä(ÃÁb®>7%4b¦“Fl‹ÐYúcndûy2£k'CEžŠÛruù¹[}ˆ¢bFj—çàOTþAdËuTUñ}%g•éëÊá†}ö<çö÷™gªmCÃa,dŠ´‰ówr‚8þ.g#úž—qdVŸ Þò~)ò%(õ” ûì$tEïÝ`1“«çyb;#IÖ.[Ãýãztê¡Üû€¥ìÓ§–y˜· "{ã9¶%xù(M…‚ì`œ”ëŽYÏ÷ H´{™. We“Éa’Hö£Ù¥%§nÿ5‹Š kRÔwAüSóD½Í‚h%§" ¥hb!¾§BÑ!­a(TXRqbèd¦%Z¹Õ{Ì£LÌÍÞ¾¢Õ¨4ö̓¾û[¿^ ºË'‡ÿª¿o”·I÷‘ßmüPïZ»iö€‡÷…}0ìñeWm Ç_×6²xˆ’<\.ÿT…Ë}¨V „û†…%ù¿ )ét%¢?ŠÚ9:Ì(kñøï‘_óíÐ¥ »PÙÁBtÄ1ê<µþ¯È£Q£Þý P„&¶K²U™@ Kä’Ì©OŸõŒ±ã¼ë°Dz‹^\J²ãQ2×@£ãÒPˆ<;jäôd: óå+–Ç7˧¸EÝ£4†þRiãF'xú뇭40ºoØÄ÷_§܇£X-ñ?ï‘ÚwKâW¦\ÛW‰dé6Ë|Ϙ½7'Úx.ÒÁ¯þàão醾?)i+Ј„ZÝ©[0³®i ¨ÞRèÇxi”¾/T:\'qý°$ÝëfœŒÁÄ»Œgœ#¼©Ô«o´¥Æ†%OãˆwØ Ù)Wÿ^S¢X¼7hùY9ÿîøUšíAЖË’@9#B­‹b.ÑD½ôÖ–#h5Í2%ŒU±u`þå„ìŽjº_fjIÞ—Ë Ì¿Ê²*àdë©!¦£d˜¨Tµ¿í¿X?c¯S~1~‰•,g!û•ë2C6¤râ;Óùžñëpý…»B«óš$:{„Ÿi3&d_Oâà´£5‚àèˆ^­m ŠÈ3‡3Ÿ¿'ÞÞ0# Šœwø»$÷|‡1亂[޾Bdqí ÷Á<ؼïý‰KÅ#`‹(öáýxèaXMçÛ’DRŋˉO'ÖZV6Yü ¿”•‘¾5®ŠØ†5¬&ٜ߾·ãÚèæi‡&ÐyßZþŸÙD5y¼»Gl¦¸X¶ílóÉ,k$RfE°&UT´ù­WC.e¶õàÔ d!LÎú§á³r³Z%Œªó7LöždópÁ7À3}¦:óÇûRÿŠÀüþ¾ÁsmF£ë¬ã*4œHªÛ]l¼ƒV9JÐâÌ‹{}BF:<’$˜¹2‹/[©3óóewCÊsöS°g IÓ«ÌÅF .)äÞÁå¨sæ®K¼"uUl„Õ’¯øCÐÛÒ¤I  ×Â~)%U@×­ ›Ësém‰Aè/D„ŽÏ9ÒYíy^¿¹SüGÛ\2Ÿö_I‰Y~&²þ–NEÕ‚ýÀôÁ«q.ïÑ+QÓèQ–ßï߸èܽ—I²áÿÚŸ™Šõ1'÷š*z€…8§n§8Å©2zýW”blºkFC]iÊ5 †lQLe‘s—x"/—ÝhªOkN-r±Ád$„öD:$)õ|OÈo=þu¹ïÆuÒ¥ò3£žÓ)V˜ £œ÷#Œ/“#}JèË•è`RFQóÚ ×í½^UY…Ú7-aô2uÏ©ÌSpNʦ*Zö"Dâ¢SCùu ·6ºÐ\³þ °¸ m\c—f†½îÁ"<Õa•ÆJ 5Ly©ÿ;nÅ¢ì uüw¸Ü쪛ª\ä”­†"¨õ®·gÌÅ”3ÎØ£~¢'IMÁ.‚ȉº G\ƈVŒ€‚fNJŠ“Å&K ‰³ü× 0@Ž.ˆ‰NåĦ0v ¸—žªŒÔTÖö¡°u$ã~ ¼k³ÀáA,¹P‡‡}Ýò~œNýٻ̺¾>’ìnkr*1ë’0EËÍÃAUoÓrÅÒ-4zPžCê—àÀVÈ ƒÔQÀáp›ô<» ë,‹TîÇÁt‚ð~À¦§UÛ–S›ä=Ìk6%øµÃ„&¥KãC_ÌÜÞ$ªƒd ë•¿ˆJ5n6 úñ$yšMíf‡s”xPÂ'2د@·ií<ÅW ’㊇7³*Æ‘4tËÃãÄ5KåÒpXxeñµ<¯M½}©7¨â×éw+¦5B ©_—1HE›ÿ­·ùP2v 6[c~dhºÐì k3Ӫݼb}hÔ*N¶Þ°mJ×ã•›!÷žF™&Çž\â[ºCPa¸lÃ΋=›'’ëL¡QD0Œ]ô&ŸJ®ÝPØ’§t”1Œ ’Òñ oAqÔÛð9’¼¨qµôXE,·­Êê5;É£P[°c°lÁ…2Þ»#/æUX•ëßÃÝ+=U[–Ï–sµï3¥6ß;ÆZE÷4˜ìÓ÷¨ÔËu­ÄoRµ—¦^ægÞ·ErÒð3y]ôT×›>ç©RÂ<Êø;ÄAûÁa µ¦ÉOÊÑ´ÿ6`iªå~<ÄÌN6ã È<ädJ¥ªv‡ÅÑj*ó]*­ù7o¬ŒuˆvÒø !+Nu“§!¹è€¿À2‹¤A hukyog’9µCxÈA©“{q3ˤÁæ“°  *~W{vÔ> 1Ã…ï!Bë*‰Î ^$Õêö¿-…>‡TJ¼d ØnònˆèýkÓ:Õe÷h0RÙšÛÜŲáaj=Iõ¢pêŽ ¿ªeÕW1ˆ6n(£w*´¯Ñ ‡Ø3hÉt̤‚WÿŒI™­†mòû¶!¦‰ü½ß¢7 º/¦PLµMÕ{õªóæ_9Æ:O‹,´¾ÄO(óG ‰È:{¥!%0ký‰Ã:äõ“}oz;Ÿ0`$2¢”2SôòœëŸã¹îqSÍñ]o??(·h’ÉÂHÒywR½ q2ònvO`¬E¼§÷RŒêÝå•@Öf®ª*hÑìTÊìgá7¯R^$2:½¾·–WÍVt\8'”Ty’ü€–çZútéâõ³^ÒÕ“j¹²ƒ¶V-‘„,¤•Ç)Ø*Ô”"«š„›Ïêž.2#ïÜL¸é(ÎZèx0"|s¤¡˜å¹ºðb–¦[Q¤cõ¹›À¼Ñë×’ ÇÆ¢þS¾åBw2¯Ü°ð $°üèD/èô4äÁùëÔ2¶KȼJ.>Nì¾£À\õjvžúÝ}êU9gAÌ5š\"z¯AêZÎ!ʃbâÝ+ú+%´BÑ&$†% M^Âlö?¸à餶x‘BZ² ýaÿݹ<»ÁJœ'G؉͎ùlµë)(ÈÔÉü¶|Ö¶*}ãD)ƒž[ÁŒÜÄV$•Ÿ“öóú…½Z »Ús“pÇQMʨåöÐ jà´´\L©`Âh´0°%ä D·+:"öû›°_¬dpÂI ¬LòÏ÷YîLðË3IŠjÿv ™_‚õ§2> w‘%‡…ŸPÕSÖ…]GLùÛ)#§DåkÔ0%­…Hˆ!ÞmJä*þ˜Ù/Ž¿Nåñ*ePº7²¶-x¿0 U±\½@W!ÝÒ˜*4Ö•^â-œMã†á²€cìªk¿ªÍ5±Ñççó0Dê²âš8¦d6ÜÖi6”‹.³F%óæºú¾ùuŸKR¾p¦˜n°&© ‹õ&À؈~m¨Žï¢Ñõó) ŠQfGK€æ’–ˆëí–¿õ:a¶Ü<ÃX1R8œéÂýí‚• ^Xèg'JéoËffæxä­"à¤ßZÔŸšÈG‚OUÁw•(#ÏnåÌB-ÇuÙ[äG9^j=´3F€Å¦“}GÐYqÔZâÐ+ºr=wp¥.¥½¡šŒ\%g#Kë1–Sþ ÎV¶òo¶ÌF³¯È«=Ùm¬©%[ÐK y­}FžD$XÖ!—²EV¦¼ÛjwÏÉA­Þ'aG؆ëõN“òU¹»JñR£¸xóq眆gE`ÒîÕ)1xظBï¯ÁÀÕ 5HÒ(RO¡Ð1Ƽ€Ã³ß,MÈ!˜ØÑÙ¶·xD™B~´¬ Â?W‡’í:“Úˆ‚c©7|Þ*"­¯ñvÉÆÑ»„”Cßw·e¸Jµl¶[°€MâOæ ‹¡à†y¬0H¬M]6‹ã­þW(f´1·” 3|æ‰Î‡ãB¶KÌÖûIÛHç;ÖÃ`(TëoÖ€AŠ.gŽlìøé J-Ûj§õĆ´¡_D§ëºßúùÃ9a]kÐúŒÖ†`÷- ûz]„ |†÷­° ½3<.]ô{οï¸'´T…hõ‡:äÚW ɳHГRsµÒ¼ÆcØbj¢@¹zmΛrN°ðæAtDD[L%ÆÀ•kÇMs67F參 Ã)“VNÊWT~ôÂj°ôÅž`à“0—.NqD–L*7Z[²hRSøhv’:ÿ\7¶_¦èžmhËTs–±~0ðžCݺvv“Ÿm¬‹”oKiéð}CÖÕì ·P¬L×ûê{#yÿ#í$Oß*T;Á:pùD9¹â<ŸüåCÔ1ÏøåÚõ*ù÷èºSÔ…d¿ä›5¶©'Ž}*+´{1ì÷Ì`­ëi/ýH«Äõþ?Íhß#Ì£•ÍPLó(wCrUÍØ:Å¢D‹Ë½rÑòáSßnY£{6Êå\ŽØ‡ò¡úëìQœ:ý£2C‹Ù@zëMu°‹¹à¨ƒ¢¸¾Ï+ŽÍÐñÙ&UQ ûPÌÝÌ[…=Šç{¯Û h@¼¸BŒ˜×?<®ïǵHÖÔµ¥w\÷U*þF'+Þ?UV½¢9e´S6Ó¨C<¬/žÑu‹Îxê½ÿΖ@Š n-cyÐdMæ‡ZºSüg1¢ q§bM ¾“Aÿ.]˜5BçåA-Ò3ºõ×þ&`^½Ôv¤-Uõ§Ò¢Â{–›*jD9c0Q‰†ÃÜ£b yibÆ¡JT[¬]Êlå_Üâq7GJ2;YúFÖO4‰AK¦ú5Nîp”s­ÁtlX“ h›BO±Â/ˉ«TI2`aІ3sç)°Ë¤‡á„mþÛ~ƒ´QÁÛ©G:|«æ,†¡%´>ôlç6M¥*>»ÈVÊ*·£5jÂèè‘ÕЗfRäùoSž¼©Á›í][–Vâ†{©«¥p ¾ñZIGM^Ö«kq¤Áä„‘_2•÷Fþ ñ@Ñ󌵿²3Ÿû ç³9Fв‰ô=˜ËÞÿ,’ðï™×øT„ø)1”<§Ý ™µØ;9Ž+üqs~³.Wÿª4ž.ã #‘É; ò"t†“Ã$´–öýgÅ ¸àeÏ94þÕ»=¥ ªÀºØ’Ì0†cw¥»Àj&.ªjÏ8oü[u÷èŠ eòÈÂHQž³¯8“\ œ™¹SÁŽ}õ”Y3sXû{Ø×f*¦’MŽåB‰?á"D4¿ü%Âm¨áéf)q Òx1*–:à½vü#ΚIáú¬DïÉi§JuG__æðH*|Ï>Ý’}! ¹¾Âi`%¥ˆ^ßDä çF5hd†!)ÔŠT¦Ù„yÔõ­öjBbþa&§»<:ƒØ ¼¤áÀý÷Á( $Û~†Ù{å&beÌ×÷¨Í(GÕÜÿö:­¦îŠ“ãb#¨Q,}²áì­Â7 mË 6[“šXê¦U¬ Ì®å6ô÷if}¶O݆¡XÀÒí~'’Æ‚|ä:+õ·ÁÍ¥üÐÕ»ÿcßFû9±øK}, øHâ|“ìEC>k.*m€GŒñ¶É±sª¯J½[¢ dzeµ©]©P‹C¸HUÖÆÔ¦¬iè¾/{Ü¥}–òùo>®YŒðTPå÷¬d!zr•ñî%ïM@õHE‚f[ü¦\­ÂׇXs°¢ÇoÉÚ™8%> ÇŽ^‹B,b÷c¿ƒ Wäy?ù“ŠrV@uAjÆ1T¡äaµò&Ò”ñ\| á¯¸7Æáy ›E/pƒ§Jð˜w”NȸÖ>]·[æMS¥þÞ+H&ì5Ȇ!5Ì–7·?©Ó8œòá-^9¿Wû>~13º[o˜cîNê" ëZïÚ\ù½íÅ º6¥Ãlb¬×Ü-±–€C™?gð!?ÅÞ1Q®3l×uò¶ø©vA±iX~Á] 8U1\g‡çŒ«½ÎÌ:k‡ŒÑ¢2µ†:d¶oRð!kS\:D4Œ¼lœ^q@áóï]|FKn~WéùéÈ ÄLí¤€|‚Ãã)Ìl ªLŽ–¢r@š½çN§2¾)eU`îSÜ0ÚøOZ!6 W8J ŽæZK›(¯‡tWpVÅ  }ËyxeÙЬí Ë:Ï1aU#Wd¬3&å0‹·ùìÀiÒwú”X;ï3ÂïU멵!¿ôAТÓN²·Ò;u!AÂÓ¶“+g³5Ñr¸ÝÉI(j5L»÷º¡ŽžÂV`@6úû)(ù¹°'ØÜÁ´ë\uõ%*‡(p· PP¶a‚}ªïõÝ[è+‰õç2Ä“óF:ÕÁtìšþÏÔ´B66tJ.{Ô¸þüGD–‘¹yòÎPļ†jšR|¤J«ñ>*¦g¤¦ØÝÿ·Ë_úÅ äàÐ{a¥yƒ"#4¨!įZä÷'êI+ÍþTX\ãw Sa¼’Ä{Íbúß„¶]Ä*ìv¬—¹ufbŠàk¯Ì¾»¹@hë…y„ èyá0ãéùšøµˆÝ£ô©2Š€?¨$ §â®¼.­ÈM@”“|¨îÜç6凋-A8§²–[J&t*âï(y)ˆRx4¢¬[•ʧÍßR¨ÍmìNÜ%ÖÛ {€]  ."eIc¾(/½Ö «Ü•m¹ƒñ5Çz™Fq»6棃 ÅÅ“è@˜óJè–>=8èÍ’æÿÛÓ5°.°âò½¯®ì<ªEÕ»Jü(¨óˆÜÊäNfŸÅà¾J¡â.à8ÕùQ1ŽNìžfbO€Nñœ ¾>?¥'þ ³£›·R^9"WöµÑ  ½g§E²%g!°&%G-w¾åfôÎrî´eòúö`cj„†à?í¬]¸xZÙÓwJ´b!Ñۅ|“Ì2rÙ&Þ¶N£ûî“ øKŠû+ËåKæëÚX£hX¶Úì+™YyÎw;§…OtsÉÐ;šëÄ{µJñ?ÎÇQ«=`y8:ÍRÜ ªõÂL¯J”6íû%DašÚ¾©ƒŸ®¼Iö®—úÉìB›þMŽâÌÀ“Ë‘j7ü?&É…ëô¼ôÑïÄ¢ƒ¾asß6.Ø÷¡Ã n\.Sv ¹œª?Ä8–š_XÔtšF¥}1:1áÝJÊ—+ÂHÛÖ>3ç©_Ó…T8äÂKˆTKX›oÎqÈ0Y4æ2i€lsªH¬,ÿUGâ$ˆá¦¿ÊÎ+E»„(‰àÎK‚k&ûÙ¥I¯Õ¼`Xj·ÎY&lIzÔ œ97ß®¸4G#¤êÜR‹@­¾ùGë³ÖŠDž½ë!©¨Í½ÁÙ0Ï9\Š_ïP@!0I§+|–è/}Ñ1ìz½â˜÷ýìF¥9å¶Ž†nŸ2Žuöô mž}®ÀcÜÞì“wTb=¶¡ü1þwü4󒳋ïøp°ÌÐ7Ž/@† âµ`UWˆŒ0XAªBíç%е¸Àþ!ÞÙs¦·}½ŸaоŽþþé?ûõ*I«É§îÉ_yÌéÞ—Þ/¹úïËJ,¥*«ëŠ–ªÕ/¹5¿@|¥Ònȹyà 7U°ë/dÎͽ5Þlk¾’ŠÐ¾Ðšj¶³ÅáGχ'É¥<ýéÏKQGw/izi-5‰ >à¡¡¡M“8ª±šS75ÜÅÀkàʤö(QY÷àw!˜÷±³‡Ît`ÉYiÍw±¢·Èý'k¹ö\×_¯¥€-+©O·9Q{@À€O’xËÎ@‰o€Y)8ªK›$~‰CAh"º¿†{ Ì{)šlwv=U˜÷!õåà÷O!½$לpWœ5ÞP?¾ÍÀ£pä”uçP܈²“ÔÕK.l+ô-°åÒݪ—!â9ƇÂ#¾çýÀ°´©ßs3ž‡¸ÊˆõQuª; Ç+(—yÅžbo­kNúã@æ|ô'ÂN À°B'ˆ_é’·´¯@Vo™®ò2Í0ÁùÎçsI×QÏpú¯é;‡ð™äùl~-·‚‘“·5Þ§’ÿå@ÈÃau€ráZQ#Ft»rß%áÝêbÈ®ò± 11èãѪÄ'RŸ|Å|î¸8A…:$ÕÕyms¼X[rFeK{-YPæYhC˜®Pë:íâvö¬ò'rYôOë%ž‹‘s´rAñ°3G‹Kó’£ø®në“1È€Ãߢòß "-y¡™’–E§‡ÙÌdï>±·¨ÿó›•'¶½ŸM7|bSnûÏ"¾Ü‡ZРÓ–ícÔ“AÙ½ŒkÇ~üv )a`ê_NªÓ`T¸–·n"h­™¹ °E²)k%ýÌUÈó†Æ&ÀÌÕ<‹ÿËß"œH-´a m>qÛænÒ 4Üç TÂä6¬É¾osUa]&JO~äßHv³®6 .z¯ˆª—'ºY$0Îâ¼E^^ߺ Í SU›‡¥YòíMZ k?Ò`#åpâ½8Q¡ŒvûjGë tåÈæ¾™a”z¸¾Jìp5l»Ý"PÈ?(jâµ™øÌ;œÅÔg¢ø‰Ÿ`¡8–ãå«'-1Þ‰‹‡Î4H1ʼn*!7þ¥• ÍãV¡ðk8â K3W¤¼íj·ŽLc¨4·³Mª §Ø¬:XGÍ©¾oÊFñHL™ëç"¥føI³›M£eTU•躟[_#Ü_«0žüz³{á$6i¥ÎÛOøÎ|á«1ªý' —Ñd@LYA@f\ܵòÊÂ'”ŠÚ%xNÔƒóS ¸o¢¿¥"I9?0™^‚ý,Ÿœ\0[“ÿn§è½7–>u¹%~ÊLì‹|¿iQ‚9 {Y îa|ÐÊ•ÛÎŃ`ûA4™—‹Ï§Ór ÉBð9†Î-“ÀÕ’-%È€QÔÜÑ1~Ýf9fUèýá‰;PcÈeoVO¯æ£‡C:´¹ÊýÕióhù¼ZÊJbzf¶œä“WªÌ»®ml^†Ù´[§j"¯c‰ нêäDþóýÜk`@)¥ÜS:»­éÞ,,ßõ¤¥¯7ºÁ Žïͨ‹\”ÿFs!Lsž %RÓJmm×/j±@åö1»KŒ÷ Žgev…î(»·Á_~ÌÊ9À;ïRŒñ.@m—(ˆÑ3‡Ç@¬>‹¿Ú/Ëä\[¢ á2:^±bž—* L·«Æåø‘çLÄO|æ»|bãjI¬F_¶mYëGJüÏîAÊR$•Їw§ðFô›½ J´Ò==á1ba½„ÁÌÛ£¬ÀL¢ä$îí¨’»ËÔmÌQùÕr6/û~Ÿ©Yzþ®þÃc]IO,À>{âàEʯT°4”Фì©çÈ,èÕ/ #+&ÉþÛ‹+¸M/\U’ñoÌsZ>°ª>-) 3‹ÓêÝiÖ]|²-O(-õÆ\3ÒT\¿Ø^Ÿ–EjߎvÝÍJæÛqƪ/k!äåã—³ú|è_ù+~,Ätƒä¿yœ„¼pº0!…².¡{} Z…,æÕJëƒÞ ¥bsóòŽ(ÕW\H+º£úÝ–¹*5ú °C)<ûŠ´ºõV¸ÖºŽÅÿ³LŽÌ9ÿ0o¢<·£ïy¾·<þÈÖ" t>B‹eTð\×!:kB2ò»Lw½óåÙ¨vˆ¼|xµž&I¿FíH#ykòfçÊÂ`v&Å¥ç¹á„áèšwÑê,€x ºîŸ°`s²ú‹_Ž?D©é2‰©D2QÆÆ“É¡ iÜYNF{Úœ#õzv˜}Ó¨4%OUSÉDꇹHó~§Y.NµµÑägŸƒJÎîÑs~þ*¸졹óŒoÝù4æ cºúx´¦©-œú÷D’·°±_W‹B ûcÊI S@‰ð@SÆÆšõ“ŽiÅ/2œcI €i”õ•v5P¬·¼ƒ¬!øhÉÂrpæ[vZ_g\Œe oá¿rùzš§XG¨lƒÖPÐ"A!Œ—×y”ƒ’Ýñ•ð=ë,Ê×Tüyçp§tQÆ2s‰Ä¶gYL@[±e™•ð—?ŽK£‰^ñPr»§} ”ÎPƒéám§ÒÌ™(¹RIp“¬þàÛÓ“¬NIâ~dÁ?ŽR•r§]×1j™O—(îšÒ¡^€7W-«  îR³uTuÈeëîÕ®p5 égVrw¯!EˆúIœô“`Ù&T+¯ÿõk‘œm‘.¦…Vm ‰7ŒîêZÒÓdL Žõ@ªcâ²@ï›J×zá¦)Uú l³4´1œ_D1FËEqÿ?Ò³ ~u·Öeòy=«³K’%XÈ$k^••ð‚§„?vëöØL=Ì ´R³}á®H9ƒûYaô­óÜ|+‚wÿ!;qöºP5+M t@Ý"õ”˜ŸlñàQÜ¿ <­¹/¿oíØ¿RH·Çã .ÃȨ"ܲ ’[ _·w3«˜Ý†î݆=ÞOËk¿p"UáRsí,þIKÔž½Ù%tÆ»/ò¹Eu§‚Btk8f0± ¡|÷œ SP[-Ï˸ÊöíñHó½F¥Á{ ˆ¯yr0ùd9ÆäbµÖ%kÔ%é¹- ó2€«#˜ˆzlgÍjÏG$}@0;‚ʱ Žá!ˆ(kˆ¸›¬9éÂì»›¶x.©3ä ¦hãÏ;B¯¬™B˜üâÏDb!Ê7 ÿ?Ñ?0fÒðܹ: Éšm7un•¯?ý‰å¬~Câ“J¢IpHºž0UûA1’Àü2mÅŠ>rXx©mv¥”~y><æàZÈžks¾\_q™Û7»-VÂ$ÊÙºjï]·àƒsLc' øÕQoñ"©ZMqž¨ÍÄÚ]+9HŠ1ã.DÚ£Ÿxã‘åèŒ#î³õÈ&íÖƒÅáåÿMB–•À…nÈܰa¾æÏsÕ‡ ·›ÀߢMÀôr„³]C{Ôž†œ•^®ºÝ×$³NvŸ­ïoj¸,;$¡pù@æÕÔ B‚>]&¹iÝØ>CÂyÕ×®7š?EW+3¾ U\…“Á6E@ S 5]h 5¸ðÁ[M‰_ç „7%¾’šØþyšSº›…`9ŸUm3OÎŽ·€!ÊD§y™€¾4¨L>VÁØ€^Ëe5“¯&Û™2y,ÞÙ$¹+!Í¥VÖï0e½dN¸`ÞÝ<x_…HZ5¼Í£ÆîjÉef¼ôž”„§ÃþWL˸šlï ö$a³‰4þÎu Òºå(t+,øw¯·÷üLäU†@½S%Õœhp%E‡šÈøózÞžfE›éà/[lxÖ}zä^ÚPŸÊ®t”Þ»!Lù5º²BAìܹÉCËà·¥l])Â"ýpEbá$ |ï-ÐR²”#y¼\@;RKøk$óàDN–ZW¡¥sLûWÑ”=.È”ùR,ŠHÐî4-%A­š’³¿ ÎgI÷^0rù˜M4 ‘HH>vAÉ•ƒ@3ßkætj¶ÿ?èyøïmÉÞy|Œ!òhPO :czõ2@,®@ñnqÚ¨ýÙFÒO˜+ÈÇòà-ã]¨}¿*·ÅukPßÚÿET/úÒ%ÖèˆeÖ‘DT.îÀŸ67½»“¾Ž«ez“R¬|–ûò¡ÏO”l±k¹¦ y†\~ „ô;";ŸY¯ºVý"Yò4“ ÏÂb‰CÒ­%VzÀÖ°maåèMÀ9HÓŠ£¡¶ØSKK,••ñÉÊïÚà\ †ÞçJÂI—K$Ó0Ý3²©.ÙÁ ‹Õ¢”‡,UÅX¯0¨«@¦©°À?~üÕ¸YûÇóÄIøpQ ü äB»Z»A…’l†/ßžbˆƒÑ”ìH¾—J4ò²i¤ÛWà#)qH@(ÄŒGÜϰb熴f¸,ŸŠqd*Úÿ¼¦Ï…÷T¦~xK)ľvgïïÊž±dú>ª8hž“be£Ñáú°99ï¡ó (Låp^ß< žyLYl^énÝ{ׇíŸä…GkÎä Ub>¡˜ÄWæ}×#íˆqG;!‡e`^ Z;œ&Ó`Ñ- ’[ÙoSº a—j½M͵4JUó, ¬“x¤ì!b”°‚˲—‡B4»‹£6ÚçYnS °GŠhS%¾áK_9øKàt³þ:yTX£ËBðç "p2m`˜•Þ6ïßGkET¯/ÒFD²åA®ÄžÇY7-ßý_yúðˆÚØà_#mƒ£ûJ}†ºòÖâ¨_QLS"™ëo£ng0ívŠýsóÝBXÙ©à3L!ìùWT‰èJ:gƒÝÄ;¹91ªð½(Lãúâe>k´£çü3Riƒ<=Éd”ð#–н÷7V0Y‚\dw±kÖ¿ÏF”ωx¦ÊU³2l¼Â¹¤; 4ˆójJ˜© †v­:… 7©MNÀ™•I1Q& ÞÐ÷h}4%4`™Yï˜ÈE\Q~ ‘ÈŒ÷ìßè–˜qp©®á¸ý©]­tÚ{Ñ -´6‘æK¶xPúÃÂ,zæq°Ÿÿ1QóßÏ{æk±è>{Qd‡"ôj^.®«b:¢” ®Q‡Tz5øq/Dn·ØÈù3ÙÍ cÁÞ«.()2ùšh7Þýà± ’>€ËÊ7îÿšË‚Ó,´†F~­c 'éG†#¾zY,Ž+xûX$l ”›Ð ê^ÜͰeI[?“ðþdfD+“¢lÖÏagŒ—‚‘(Hl#%)üN;µb{Ž_òŒ1µHA5ÖS|Ú݆G¸wݨLá$PÕr&é@ã³{…ìÎ,[GV`¨•s?y¡V¸ý†…à >N•Òè‰ÐJ%r'G õ%O{6ö«Ü H¶t–à`Õ3á•Ju«Õóû/ûT‘½ž‡Þè·CÍ}ìË#À?φW7јéì< ÑI·2?Ô_¼^̫Р(jbPÛˆæ)ÖG=au¨À÷tÛ4qÌåê-Ê^W Ãº »êM0ý—_‰îŸða{‹,t@AiTQEø4˜¶¢…—´ŸÎqݲ֓áÎã)„Lëˆ9ù¥žºXbGö£²ñ&®À’ù¡ÈñÈ=îf šUJtÈ ð%éÒ<¡Â Ñ…¿Ç+åê$±?uXo# íólá­8 z¬A» ½ït"^E Ö’EÐH0Ž4x;ÿ³°në(;½È0:Þèá“Á5ñNö9? ~(ç1«¤4FxN™h¯Õ‰èßLŠ—þP«W™ ލ™ölrPû”e‡¹Xj ׈„¢”C%‘’æ#ôt„\â¾ßU“DÂNº®ljúúh­„Ì–;o”€š/džp:Ží¡biæHWzv >QŠ(ù¬|Ÿ¼Í5»kx;= TÖ2¢ƒ¯ô¥X“Xéƒô÷H½P`pÜßi÷C¾J²°âáRЭãMTsü¿Ç¿²(Öì…e·4Ž‚ÿô&ÄvJï•C‚é11ž‹Šºu<…‰ÁðÑ­7ÿ°<{kZçÐq_¦)ùÒÐ%›~t¢¤V•7º)í&~ …B-ÕI­§‰ÑÖŸRÈ>}AÚL毿ƒšgU—Ùð¢†.^÷FÇŒö<¬Òí£ä´¹•Ó4|)ª5_±‹Ü]ZW)šÎ›]®›ráÛ陀OAqo¥æØ©}"vÒ-¶ËìB߯ß'+@5§ÕÎÙœyÅRFj¹Øg8Î-ôö)£Ô`ôéîÙŠöðJ Vçr> Oÿ‘ ý³ºBhÀfý$„vƒua/ï`2d:Ñe `$ 6h‹Á¼©ÒÞßDÑ@Åb‘mY4Û—®KüÂK,Ýn®ËƒÇDåe´ÕF6ÑG•j-i3ÝL¢ŒÌß4ÿ”“ë·™oË]â=ÂgÀÁOt$÷øüëTÚ)M×àù Ou‡OnŸu¼iF›7îêwÎRnøØÀêY2„3Ãü’\ÆŠ[û³E; º¨ Öf¶f‘:Ø£TÎß°\䚊ühxëKÜkÅI»ÆÂtàSË6ö?›¤z¯våË“"r†oüÆÑàÒBݶx’îs§DÆš±Õ·I²\jY†/cLLļCBœ ß*b8ç?sW ¬2e%¸½ üc‰ŒÈDibjäÀ6¥µ#µõa¯_Bæ¾çž}^½·.e\à_p™ˆ÷óAѺ¥u÷wö±ÅÊý«úaÊ€°"PœVûã8®4I¢™=áÐvì¾–,9…KpA…ƒ²vnÉ7¬¬‡To‹ÅHÚFù(þ&`õ°±¢ýÈgQêçM3ˆA“KR²6ÿU˜»ËÁ?}÷u’HL•oŸ.Çè” r²HdÏ\}E‚D£ãùk«íY3\"OœAÚ ¡…êìGž?—5=з§ˆþ†˜mÛ—…Yž?ZõŒ3O'ÛûJ¥ÄÌ¥ßÅŸ—ø+s"£Ä ƒÿÖ,\c¤¨~=ÄvʳŒšOíXøZUD§À¼Lt&³ÖÆ7°¤ÔDæ5"à˜„Tù_‡Æ®ñP¨X\–¿à©m®J'Å-¹Í|íÎo÷ß#BqáÅj;›t+ ÿhÛ!oü@ßxªðW’䤠ÿÇ}v®ë<âÔhÜ÷œ€7Ai$„É™‚ÀÄx0w¬/ëvá6jÔ\£³UpôÝ'6t‚ÍRªÛO6&Œƒ¸†¹k|Îg’Oá¡î•|½å¸¼Ûk†E¿ …A–|5'Qæ"“èÄväYÕCÈAšp艵QÊþ©ä“ûœnøÝŠ˜ÍØ€O%´¦ß`“Ä—%/à»Yç\=4$„VHÙN¸‡Sêµ¹`%e`²%èSÍw×®|¥¦sa%TUpH÷ÃíÊòͧwÔ­e’î3I-óTØÒÇB»zâ~Näਙ¬8Ü‹%õDÔ¡®Æ$‘ðí…D능äÌ3ïbÕ²)$jÔŒ¹Ep.&yÝgßÞ Û&»1ëUÞ—„aŽt¸ä·ïÚ%Þdnˆí™>$B¾)Ùä`Œª÷øçÃè¿ ƒg¦€Å²³%M“T’£uûIŒIîåèýÖÙ\kßé¹Ìà‚y;ÀÍ…À‘¬G8ªx¡”–Œ±G5zÇøw®6'”5ÖƒÙá¯ÆÔ¿Í‚ßõ¡µ© ŒÿxÐŒz–Ûo Ô¦dªaCuu‚€³wºEZÇÿ<®mXP>¥µÄ¸»ã¿rJ“I‹:Áí´šI}W;Õ¶–‰£tÓŒ:i›®tK›ð8±idÀ_"µïQžhNtÏaãQÞ„gÃøPè’:Çü-Õ4FIӵĒ(7•f×ÍzoòÄD(Q ËvJÚYh9\°·Òñ÷kb“´Á öü$Öi-oÅÀÆnì0wkáX¨DUöôïº>°àáÔ×~¶w#?øÃZáx3Ì{B޼%ˆJýôXv+ÇKÍìKóY™Én6ïC@KÈ,x—ÇY6Ƶ ”€~_zÊT¢tÒäf{x **ű I šºü6=eIHÈg¸9PéÝø®ûdRðK–Ú&@Ëú £gÈ1/Fñ+»˜ö: ¥PS4÷+ v\è⺬.Ö‡dèü¼º.´h[< †ð0¹MÉ-‹OEW§9é禌ÜrÀk4O=‰A3CY Œž?2,/½¹Õ-˜ÀÊÑ›„DåÛX0i¨A^o 4¨¢Â×oà›2xÙ39ÿ\ô[ë’Âþ×,ܶ‘0ORf»Å¯Û»ŒxÈY|}” ŽLjdösu›{ýF-&lÛ¿|3 Gwœ’[ñ*ztJ¸?xÑÀhŽçäÈúá3´ís®%V€Ñ(1½Ó…ñ ©ÛMΉŠÍ8îÅ?ebYöYgSûç­¡„4Œûùîôžw¼:Ì`Ów†ëNä×SÙöÏBHªÂ’\µðrŠ9é>’sp[Î)VÑáÞ% ¿@RLn”)î¹€zgDÖ"J$ZeÁ|bAZn=YRü‡ ÚjóˆbÛ’Ð-0]ýPVVý·÷GÉÄoós.ã2êr«¾AVuŽÿ_¨ìn’î´Ç/æx¥˜ÄèâP±Û€Ôþigô»ˆüjÌ!òÍ?ÿá¹1?•$AaH”íì€ wMÑðI‹‰Ä^^5IóÜF¹O>'O¬ 9Xn3·Zíl`Ø»G]vÉÉÔéK2¡îÂwþÐ/›Koëûº“;óE?ÉDœÎß”›Ñ ;ùœ——Þͽ0¨T97™Nÿ¾±e"z h£:ˆyQOÄTôØR‚ÿç)äHO[¯®Ÿ²àfH`² SvÐù°OÈÅÿ»eMuËWu†LÏ)þ$ŒÇ~`㙡Aÿ¾ŠìN½KvŒ5ŠÇû5=»”dQ—¹‚øi£Á![ÏJØv©yk«› êú¼ qÐÔzoÜu q\Ô6iÓô[¢|i$ÂWöœÜë>Vð‰83ñòu9NÇÁ:\Ñ&x9Óô?þš:-¹Vª2eúÜÛ vHò0'É8¾è—fF¸Y5eÇÍÞJ9PéÖÂ;åuJÄh"V·Ä;¶ßàhçÝsŠl¤Dç«Â3ï"°Å•f«:Ój®¿¾áaR߬MÈ¢=m~6@…ÝLŸÁí]ÕêŒ_ŠA”uŸ¿KB/ú#Huç`ô¤Üñ&=_A3Ñùa=çMñá ø(ÁÜmÞÂE¬)$d7(Ò4yž-8Ùö.gk‘½6Ω}šä aªK×|?+^Н7"f¯Œ!¬]ȸ©öb|¤V){œñás]‘ÉWáNÂDI·£œ‚œ½þù妘ÖVuì›H‰agªuèñxa;Â&P¼>"MƒJ«+ˆ$’’ò`-ãò=ßâ›]f«ûÙqºžxÁù";U¡()À•p†&@‹’Œ««4Cf0X+½´G¨Ü£Éè½ áWK ¾VQíK|¥š+F)Ñ0•ù"ˆÑ\«þì¦aûô—Ù7ºT”pñU›X©†èO‹É«gÐ+ SÑ€®¿®XeÊo›×¾\¿R\ü™Øš(‡Sú‘ÈQ#‹8GeÁ•þÄJ/Ë¢±ø‹ó¤Ë ï|6Ï>WðÜ™˜U ¾õÝ`ª5˜ýÍ%\¯.~hÌžž%7éÚelf¡S,Û}AØ´,­¶œÎ\ZAå¿åJq Ýi]ªÊì°B^«FïÏP´Éž´ ÌГ˜ü€ö<»ã€ …]<@_á{kìvP‡ðóÇâ»ÕUcD0.À¹Äê°:ÅLî òh¶h˜aÈ©6p"Ì—µ7ŠŽÁ²Q2èÿù°ÚõDÝ÷‘H™i€AîUT-b.~ð)ËqbÅ@.}n(ï@!ýĺŸ[„ ÞrH÷"tL—bƒŠhílÒYý5âĨF×1äHhQB^6zYür$û¼ ªÈߊpµsåku·´¬˜ÐâßÇà?qQ~jÿ”½L¶"ñ‰ánH|ÜÁqv8#e™K4uZ 2S²:€Ž:gDD—$C`.ë´É_Þ¥6ðŸí=ö•Àï¡" ôgî îèÕ­!ýí6(÷ä¹ä^vzÝÆó¹g+]…DÍÁJ7ƒnßF“Xîômy/üµÄÕëj=¼æX±në5ŒZ²ÛúxreÂF·¡­DpÛÁªHIÆ€T”-6ÕSN¼\´5ígr)õ¡²ª¯Þ{ÍmÃÜ2°¦¢úÈ#‘]Óo˜w5< Gï““ùØ †Îó+~¡kºbÒ­«vùV°VtZ¾%jŒÈ–Ó—üüÔUÃ"ü‚ĬWŠùJwŒkSå 77æšVωpì‚Gñ2 |ŸŸ,/ãk×ÖR4œ94ÚÛÊÙÛ–s@mJª߆€øýøÄBÇÉOˆ•><Á¹K¨\¹ÄWóYÕV)4í§× —}Þã.‘ð•’ª]ԯ܂wo…Xï×'6rûØtü;ˆ©‘÷3P¢ÈíÒ8Äœ+t.Ðs”¢úZ!³tŸv©3¯f >À>ò0ÍB½ƒØFk·$,]*1TN!·",XÀš(üma9ÑXˆd:ªmQQTqÿjy{©ªÚmJg°@Sâ•Øšx]Ø/`oNÅǹ`!Þ³¬ÈtL4VxÞf=Ð*RMøÉ  '¯³&¸ l¯‡ŸÎÁôL¼?6§J¢ßj€ê¿ÌÍl&Ô9­ 𥛨1’<í{Ì!*’&¨”U‰;xr¿¬$Sg¶*ràž8tÁ±>d¯ÌvèÛŽÑj /_ Ü馢ËÛ44¹ÞРVäÌÎ:“GÂp¬/ÝM6éNd“íÅÖ¥»np'z[Én˜Öœ¢—Ûaælåw—fè!^ΩɛH¾qƒKê®,s£2dè:ŸèkÙdê$eØêGq­òª¯¾K5?W¥d·(F‡ oõ&€Y”pGW_ÒtÃÇPvØ›.­¯Lys”ˆÒ7%¨…öw÷bÎ3cÈ%—àò8Œ ¼mJÂDK¨²À²u>jË7ÞœÂqóõñzø¼%ì…'—$JƒMÂÁåáØÈoÌAe;^/ÌäEæI«*&ÄÁ=ðëk¬ï]Å0V&­á6vt‰wQ?Ôach{]·Tìky¬³ûRJíÚÅð-ÚÔÔ…âðœUï™üÉXùï£c GôÐü›ÚX¢Õ‚Wù>àbÖTÄ©ÿ˜ZÉÈ×âýÛ""˜¼-¾ý›‰†ÎU ΰ‰­æÛõæ5³g’n »y 4M·^‘Œb<žºhüBæO ÓÄ•¶ha“˜diʾ±§‘ÿØÒ«çž‡U õºÝ7‚ÇOÌwàK£˜}ç£)Àê7x8R;¦ü.xºŽ†È7‚i´^²Ì×2=Ú•ÀêmÄÌDçtlfü)³&¹|›„™i¿S¾¿[(Þ[‰×1Tµ‘‰ß×ÕLá ˜ìÙ«x 8Õæ ýpÀu›¶šéS ¿q«µ@!ËÁþ˜ÝGLžTø0*{¥Ó°âµóØ¡%=Xê!M–á½bЍén- s5©g'å4%΋¤ òݪ¸ï­f5y,¹Lke–*q(é’²8ÅôöÈ{/¬1¬½[Óe+°Ë“<ˆÄè®Ð&_Í!M¦Œ¾¿œÔ–©Ôj9àŸ¿ÚHÁ`øŸÀÏ„ƒdŒÍÂ/ƒ—#;¶ŸÃ¾.ŠšS: „¡>¾^MV†Ã ýÔŠ®ÈŽÏå „hj«“¡÷¤½µXÞB:•,Ga)cîfnQ?Û²5gé­ÝŽ(±Œ5 fè\)¥¤ïnQß•|H¨ú¹S%´Šznâ«Eí¸Ée¾É=ý{W$²È NsÞx;À±L0 5(‚·`øW%àጧ›q—ŠY“7dK4ƒ!ù()Ñ"TÓ‹a‰¨·¹@Kœ¨S<潸CO»Ö|ÐSRÅ嶘âƒ)L4J@õ¿=W/GS~X#t%jŸr>ÚÞ\ÞI¤þþÈáMŸ¥Ä}›ÇÆw[ü~T½B>M)L¢¯NXù[©(:®ÜFîŒ{Ç\{Eò;.Ž*¥´ïϧÀ'` }^± Í¢89Õ¢šä*Õû; ‘+««D±U‰„,Í:’}ìUZíö¸‚SãV̺ëpï#ƒz;koŸý€°#b+ ô^j6lØ;Ã]»vD´`Þk=ãZ±âR¸‹pFñrE߃R¬å&o3ïQU,ý©bÚkð•WÈ 3«c¼8B0Dè¢v•˜ `_p»•ãÐ;¡5Æå”sVž“ʳë ;9ïÿÁ›B¤è/âÔ-¼Ž^ÁÊM}¨Š-*qŽËg¨‹tÉøî$S¤ Q0„×ͰÌzL§ç‡¯7ÀÐ>66D“u:®0±x åçɨ:Fx ÌÄx>ú! 1:”Øß’ óÅ\Ö÷\à±€¶”“ûæÐòÿdõsÆð\0^§»‚š^5vçØˆŠÔ8áݛǸÆ× K^¦-H‘ò:ÌÀ‡~ 5-LF¤* t]Ÿ¬? ‡?š?\ý‰ Õqx𩍖·RÚ®MC‡êS.(„Ö‰ÒïÂ<3ã¼ÖVJјg¢M« Áœ®úˆ¦­„îºPìæ¢é{J+ExfW¡MȤðYN¶0R‰!>75¯²ÑÓÐDH«ÓvO9(õ¾V­Ÿ7ã‹P`ò.޵{îÜJ²!ô¼uÓç’¯¬vmÓñôÜ~ ¸5 v†·1üv×·¤Ÿwй+ 'KÐÝËBl›të:°ï[Rj«|aóŠ??¹"Û¼‹lØë&CÇŠ <†ßÙ&Z–¢WFôÿØÌe^­è(:Ú{²û®¥þwWó!AjÇ{Ý 4m½>Ùž*.3ãº2uPC tcq¤Ńƒ %a‹3§ Ñ«¤¶öi|¸k§{ØF~Ò£Îöܲ3ÿ%´8#vÉó«/_l}"rÒ@ÂÿYTzÞ¨͵ÏS]KuHé\ÿY!)‚Å49Ü!¹¤e2†œpTÛA»ùf–_;õØÑëQH b!챘ö$’Þ–áÛcÚ#̾Ð3”®u´å%‰¿–Ô¸a3pV¢å? {ëy|úFᢠëH#¡Åq‡4UÆ')‚6à~r8>ž¿¢¥Ö·iÆÔ–¹gv«ÕÆh$BXMMa¯¸éGL6õ)Ö«Ìþ«:.–ÀóðØ×©ÔgW ¯)ÐúL¨ôË£²z8$‰õ^ÈÞ’ÝW?®Wð¢·;¬Îi`³ÜœK¸\”E&‚7𪷦ûÅÒ%‚ص,™8Y}$iÆ—DÖ3LÍJM‘Å'­n²Òãs¾[;zmj=Žè.NhEeÇlL5ãú%bíOs± (R9\9Ôr²·ÌÌæ"Šaw*¸ó¾¦äŠû舲 T©aûüA°ôªØ/ÚâM2ïÓç}{ } ¤ÞçYãŠÝ‚lôYÑTãÚy%r |Âb‡ÿR¨p ä.À„ãnÄÊ)$Ý$(‹PËjÓ¢A¹nÄJBØo›xÜbš[^ZÛçݱHb°3š†½R0@Yðž~£Ê½ù«–cKÜšÆRáM®†¶÷슪ðÄ €I¡^y ÀŽ…>Љ¶ jaêxg+„ОÉL|ËþœÃ Äd>ì:“Þ­c7Ù>. ø­&PΑ†–îúYøŸŽøË3VßNš…6ÖÀ"iÃcIs’äË)Éo˜sݶgÁÎ’d¼ö~X;P›«ô‰¦–xyýW¼á©"êR¥óèÝ þ‚dðÐA]#É‘³ @e¶° Z=‰;»Tî˜ä7ØD¦®$hã‘jjÐMø&—æ¯6à_Ö+nÝ YoL˜áV‘Þh]‘_饃P°Z-#j­å$*0Öº1ì­‰¡O°íj“–"ÏK˜¾2¥0aù<.ç÷nEôU&7V!0Íû}E4/åzv;-×6ñ3õ£ó3jîœÛÌÕªâb7N©ÛÑAS&›R1’‚a8 ,™6àùÏì›Ù9Á„vÝŸù7Ðoc¤ËcèÖ~¿œõÒ6žÙHC;×…c¾7ÃsH’¸k:FÓÛ¦P¾ó9³£kFo¶d¼=ë•«bëå,¿v8˜8¨öøHWy*–’d›ù„xpô.xÛ ÑJ‡·p×1¡ ýäR4J«è2ÿcfmmÁ`†ü¹2@¶/bF²ØT•‹Wa¥ÆÁ³·¹††û÷!Å+­ÔûF:*Ša9y•í±}¨ÝLò{Ͷ©Ïï¥.¾+Ÿ ãN‰¬œö’ëÚ {@ņ´n@ð9ՠˆJŠÛáv…HÉœhrK„ù»ÝÄ2ärÒ?Œ`}ŠXK?P<ŽjKÔÐø¢{œ3¥~.¿4Ú“rÇemäí"ÝNÑ`&Ž£Ûݶ–fW¯®k*•øÞ×ü«è€ÔßÌ’^Sk„Y„"Ú"§É³‰Ëd¶>•9äö)'À’†µŒBp…uÙ,,›ñ­¤4³@üN#¸^Ôdtáhå÷èÇçF1&™ZéqnΛ,þû6“F%Wn8ðí*ŪÖÓ1û›äžˆ†°"ÞÜ `¾ Íe(CW *zJ)ÃM_ûâ I˜¥x¸{¦¤¹Âð+1¹ 'H…–|¾Êzºt+ÓÓ®¥Ÿ›—²AŒ"  MdÛ©~f¬˜ÅßR•”ŠP4 žÍ"Óå ñç™_o4¾ajÏ–äÂ9^Ø\ÿ€l ã6àl )úRÀ¹?ÕÒÉ4γå\å33Æ&¦éU÷«–•f§ËÉ€oaó4«¦/4µ…\«XPdŒ6¹½ŸŽ¹µNqfqJé-×–hëˆK.ÜÀÃÆ±)u]Ó/y¿p¢9‡¤€ÁÖë“‚¤ù»ÌîÊ´­93ÌÓúŒÕÀ’ºíݰô$Za#é¸v w¦™§L8u«o)&-”öã5g‡¼xé[üBpTêXfO"ÿØû?Žnj9ùþ»¸çÓÙËí0ÊT,oœ’2ÒR9R¤o®$°2 í¿Þô ÿþѯ/™ÄôŸJ 8a\ ÎTG¥["便¾wQ£‘,²ñˆ¿¨ ï£gß™7âm}]lÌe³]I)ÓrÒ<£æx`Íf¤dbfa³œ ©rø²*¸¿’‚qaM¬— ä}G1ÊÕ¸’2]ܿٲ§žÙ6Àòùmæï’Îe%HÐÿ’©uœz«³˜/r7¶y+uª>vt¡þsêGøÛîLžyÍ\ôQ¯7w>y2O·mZî„X{2iñqœ¹ºÓÎÍ™ò„öäEN»ß'#6L0Æ.ENàVÚ_Wch}F{ñá…žd :·¬ÍP×øz:¢Ÿa·ÉTçAŒ$À‰ö&f©L6ÿbü4½;•mR¶¨¢PCK}YgÓžNöZªPr˜‡¶âWiê[+vÉkÃÇÂíè†ÛîfÎ>˜ò‹þj>ÿˆWŬ:$8,¼ÍÔ•Øð¼,¹7 µÎÇË“]1cW8‚YŸÆ¨í*è ¸À@¨ Yº@˜c*dê¶. /á3íÙ¾M)ØãÝ«B%tÀ—:2› ïÔÁÇ 8I$KTØ3€½,‡?ü ™±£a«´šÃÍ$.Ç÷a<µ)úCªe©–³·ýßÐ%dõAÉ·åÝ ¬]X¸èÆÂ$õÂ2ùÌÊí» “–bËŽeý­EÜr  2?!ù‡¾ÎEèrÞà’Ë90üs‚“+måãêŒ* Ê‹+é…Ö˜ÁÐ¥„#ÄÜzäˆ}èsÀ3Ⱦ<ùý¢ä¦¨räï:¢h¶mǰ±ð®¥½ytáEÊÎÑ¿ªÛãŠ3À]—ã.¼DU•¡P•†j>uá 3ËŠ|jiÙÙžiôš+’ö-±îòîZvøõœ@@–£üecïìÅZ¦zgŒÂçéæÓÝe¼ÞšÉ„7IlW‡¼@1íŒk`dHÝ¢}`®†T]B®äý2sfU¶ößð!ž>Q*ÚeÌÉ|;D•˜)Þðúéç7_¥íDñx€å±ñô{-ul!@±M6"†Š¨*‚¿ò~RÿhÚ$7åvq~³¤%N9ÐTe% ­3¾ƒ1È.U¸¾#únbyÏ=ó6Î× áä×T©{NË‹‚V7é|DÚÆ®-턪twbRnOß${ΚŸ$–•W]’ï€ì”lÞ(N5H›É7éÓE°+à&) Y#H+I}?·ÌÉeþ YH´¿ã…sïnß„£Ö*y÷ÇP »VàEyŠsTß=øÏhaŠAÛ¥Ù¯ÝÚ%K$о€B1± ø$í}†«ÕDÕåÌñR(p²ÂžˆQ¾c!åêðvhPÊÑîªY0ð’|}7K!`Ç}WÓ/x‡2“„ÙÆ˜r-ëFa51ö 7É­Þ퀾²üØàl·éRó+&åÿ\rñ §šúÀ™}᥋¾x"[Ótm%»² b€»Víö9d5hÝЧéÁÀpí÷¢-CµÞ9ê®Ï¬[”~¼¦4^Ù&YæÇ?ŒH'Ó}êåªYRϰ=ñ V˜`¨^>ú6÷…Á¿~äµùéÚèo6ƒ<ƒ¢çµãҠДx˜0ÿrÕ£wí:ÜJq&6è+0½œUªu¼$˜'³VÌÖÍÆ±h¿‘Ë‘ôHðŸÎ΢–ŽI)¡¤s®NºDšZ®wÜý&þéÑRœ̧‚øé¥Ä?ûʰ*÷L£¾xÔÕœ!#1ÚÛô|DNèØjòüÊ÷' “ázOƒ ð}D›ù~¢„Š]nL‡B£Øé×:‰žÙ-`qNCYÝ!NŒÁ"µ<ôEÖbT@å2ín(cÛ>RÈ9¹úe ¹Ðc.XlÀ¸ieŠ`Ãušx¾2¥ŽêpÍÑ»)œ¹ •¼Ôb š‰€m(ÎÊc4ëU 2üÝ4gÄm""'ì(b=}L‰ÿÁ I x;Ef‚å) ä\Ç! «ë{³›j|ìJ¬©o†ÞdÙo90S…iÂ~U›ÿ®ýÛCg.nw)©&aÐ 9 '¼c³ZR×–”êâ𤄜Ôë…; ƒ½81'|»j¯ÚòkÞ¹ÎsDŒ4&ÆöÍŸwfTPÞ×7@¹¦±£Á‘)\m¢ ¶™>“Ê¿÷è%¨lãò:ÊLÜë²zËVh0`Ÿ‘V8ðß^pݬÙÓŒcª 3~ûé2®’ØÇã1 p <½õ_)1J kÏéû‰—`3?£†Í/š—e¤±ŽÑrv‘qTZM‘@Ú¬÷Í6D‹´AÉ÷Ÿª !öï*_έAñQÐZ׃R{ÄrhK~i’](j÷íô1þÐÁ”°ïÇ¿ÍXwî? ŽŒQ”=ãßô¿»ë`Ü/ÿÇ}ü8™\ÓcÚkø‹ýT!^ùÒÄÌ$ ›é?]Aœ4`qÌUÒÍòä¸ê5N˜»$÷&`ÓËò^Édñ¡Þÿ¼jIäoœþfV4®ËP6+z‰ Ý瘼M‹d[éÎÆcÞÇ÷ãfá¥8˜‡UçFçJÊN0|UͧWÈcóè‰á‘¸×æsCj¤$$ë±Ûv¤d™B,ø²›ýa8ôT æ¾Ä9Ä\‡E)¬83Ðwkž¹–§$Ë1΢÷3>'” ÞæÂ¿O0`ƒ½³¾f±À>ä‚2“ûеŒH'Õê~Û²#ïÞ>so®ŠŸ<­Ú‡ .öáE¹™µØ¿H´×kÉoH75¥æÓ¢’“Í kŒ1M<@<Á%h®6¬ø®ÑÌbj‡/Þw‚3v&‚{~úrOèªkµ§Þê¶éqÙ‡ÕÀÔh¯á i¡¬®åƒFØüM’{Þåü4¢e¦-þøOWð&AVgMi@?D(‰Ÿ¯š"}Ë_ÍÀv9ô;.p×À²©_ ¬Gá5”r&ˆW«ûgpM À˜p8…tÚ‘/Éu¥ ‘ǪØ4ÀŒ#B¿VÚmâ3桤3ïÃF²÷Y/r˵Íîpýå ›…jKê‘…H”6Í} 67¼Ñ+Tš1¢%…»zmÌÝlYïÆ(["P(¿u:ª.ópj«•ìYƽÿÊ·Å4CXv4òySæÚ&4^ÈÞæS èêñ ?J Káñ¼ŽàV}`á݇Å(û,¿<áŸ,¤òð«æÇbE»XAÓ`ùA’èýHqAvÂO:åQ­¯9OùC‰ÿ0Ôk.ôݞ͂0WË}èÌVZ0ô‹¦‚1·í'CäcÏK;hƒyxŽ& ÜSìó£½ü§—òŸLp¶æÖn0:o8w3~‚\£t&ÚpÛ¾$›Fø=Ûq„Ä—T–ôŠ£R¸Î[róÀªŸºeK—äo ‚ͨ£9½‡&Â;Û·ŒîÙ÷<¨y­Ÿ¸7@ûŒ~iT®‚YA:Ë£õƒFFíý†¥ Ç¥½Åûs¼g@:>´¯doغOõÖG Ü2Z°{qá6”¥ŸúÇay‡óÌd„C"¡ïÅi‘8†ÖµÆïšÚ&ÉÊ~°ÛÏËw¬1çýúõ¬A73‹ó/; Ï®ä)Œd 5L;rœ¢GšC–@±í ˜¡'BÿNeã@§ÿŽË…Zc%gB+@ËÑ̳ÈðÔ/††ndŒ#{Ðt&e• Yui˜Ã­­“­øüø.òã‰Ô/ûóE(Z¤AQðæ§‚߸$sÊýöЙ)‘Sº¯âÏd}aB§šÛOW¬åŒÊv°%o`¢¦&)šL‹ky,³U˜È°é‰í­AI¨l”›Ú‚ñGiÈ›¶³“ΛNgfƒæÒ~.§ÉÑN:¥k4nhª7§óÜ&dîhq Wt`Qª·H‘>BLgÓóAù+S€´S ˜¶ŸpPz¨_«üF6Á€MôYÞÄÄë±Dø£ß7ñü~Ù1s»–åDwá“1ó|;ÆyeCzæíô àq”tb[½ˆ,Ș@0V¯ëg—æH´º¨ÄÖ½ƒ©š©1ÈqØ(Á´?2£€èÊìÍj'¨ÐÐò”À¼ó}Š2ÝYwªÿpÂÎz9|–kÇlG¡…©^6Œ¢ŸQ;Dtœß ÖÍÔ6¦·#a­ n1RÃåä…ð.î牳Jsx x»À·ë;¶Ö‚0¶ÝÎáïdÚÏgÈžÑ *¾,„‡CÝ&ƒÏ@bºaàK?ÿS—ÂԻȧ㚪ò…ý2³H,<wÚæ‘ð÷ŽŽò¿íZO¯Ÿ‚cí‚¡”YR-FkÔ¯l|_QÈ3‰±yðâm–¿k§,ñá¯G_l\8)…ß4ÔF´5‹î# .Û´S>Í8VõX λWˆ\­íà šBÙj„t¸wódøškµqtä>éŽ'2SŸ£ôÊ‹Ç1 7ñ œº»Ø7 %j³G›”[òRý¶,G£#½*ÿxßæÑ Š›ÓBßY¢ v|„›v¤™“µ¸¢(‡£&ŸÊŽ$ *r§´Ê–4ÒáCM¡U\nVä¯çmmj±QÝâ*co׌û ¿Ðv2œ±qø8êâd$]…Å嫨iÆH/ ªæcÝÀNŽáI¼³y•kÏz)]R#ú›kÇÕ[ÃýNI°ô<¨j¬ ¯š˜h³6€xmûÓȲ)“ù¸T™áæySÈu¢tT}Ó€*6Z^&xãƒ]€lµ © cî*¯\9¨¼®„ªU2x¤‰§?õÁ9R æÙ4@x×C¢ÇÝÑú7¨Ö$„Ÿk\,L›qÝBÜl<‰{c®`k0€«ª8½ð[Ê>zNPº+ŸVç^5N(Î-íK&Ô¿^ÊÄëE|Ìaɸ¯]s¼Ï‚ã3ûd ´Û¦‘EVZ”¢VãKíøPïµù5·\ª°NŒ>!0˜&|rævÔB ÿÞ§J___ÙCà_WæÄ±Ñ•º‘“…)˜æAÊùW®óâVJasåÌêf‡âq(i;Çï°ø†Z`—M 2XÔ«ÐÙG?•„äc¼È:›g*gpnz„pÆ]ÎÙ÷hÖu([ fŠà²Ø*ÙÉËŒUÉ %fÂV—:ðìK-¼ÐÛQÉ¢<´žŒ «ž+´Ïìæ¡ì£ýž_²sr$ „‰ü©™O|þ[©—:ƒ,Ž躤ö’Ö{º²°UP£~E¦¦H–•â6 ß¶åkÙkw¢ÎRQc¹†¶ªµ¡Ü÷‹¦‘<æmüšˆBðr—>éiæÅâ},ª¸ß¼tøêéæ±žI„ý?íó…Ó¦?¼.£vÉ4ÊËuúî¨àbILÚQ- ÆûJξ]{PqRÝ1œ<Ë<ëù™ÀøËª‘éÜ ÀÊf1šçwŠÁz¼:©Âc!À_JÖ*ØXßVO_!ýþƺ ÓárÁTw ¥¬q@{Y©&¸ã \ ÝGYVà{€Ñùë´ŽGF)o YêÊloßío ×Ê’b}ÈT”è7»‚ô·ÚzÀ)ûv­-ZM¿­ŸŸ"Ÿ_bjóUL«ß¨/n}'ÉtÊ»d¼ÈõýVâi«&ƒŠx8^ßÌEšö¬–mˆ¦>ˆÀÊt¶Ñà‚¼›)ÐAC/ê­4çeÉo³¸iÏ÷„a˘¾N9Ý^Pps‡G/{Ä*¿Äü»áQØ·Ñ÷wpz†ËœÏ]™÷üPA)lƒÿαü јIíËæSDÐǺšúõôtcgJ!÷µR¼ž>"ñåËý; °œ°’³¬Għ§R±þŒ‰&E€YÊdD!¤Å½€!ŒÔÙÞ^-ÐÅ0óÏ7h”èg݇ãûZ93†€Á¾„@§ $2‚¡ñ¬9¨Ü\Ãg“Âk29y'L>å':ø½,ö=uSeÖvm$'wË)î#a´KU+ƒõÀ1y:ÒRÖÇWhPÊ2ïË}jôBJ£øNÜ MH"3i¬?ó WÒÔLŽPE£0«a´H˜“×@â÷ûÛ¶"øÃëû˜¯æèX<€ e«€+OüÑ`1;ÈU"Cõ…ï8%WÂâ¶U}·Kw-Ò ÔÚ<5¹FžŒÓoÛMVÞ‡BrÐ;ât˜?ǵC4 í<ÛšÙ0$ÛgØmÀk—%.ÏWëXL;ÐC a×S»T*>ÊTO¶e´ùP¿·Ó,¾ýãi™y"¨ê¶ÀÞ=÷Ê)GÆ." s š‘qóÒO—Åæü©RfK쯈Å,”‡–îãÀûyaz„ÒTÕ¸Qp%—éYŒâÄ~,_àÓ˜–v9‘"zôù~ÒžêLd7¼rqʽ¼µf‚ÝX¸âÖÏ©8=#YèÎite†DF-ÓÍVn*¹%n¶È¼ÕƒÀwÄ䙊¾Kj|j·plÐËEe½WÁ@ÈWZv^î\ó'ßx0ö§ˆ´6ö³ã%œ±† Ê6yn©í¹}\øúwý*ç9x¯BIóç‹þ20[Ù03[ÑP„Úäü=’¬+ª}ÃLeaä‘I€^ÆÏ¸¿P-N5êE"·Bª¹SFÚ¯×.ñ¶W‰f±g\ŸtMIzx‚í=‹R†/>È…‹ I€gävX@d6³q»øŠ|$ù‰Áì­ø÷pˆ°³ØvUËHNQ]'¸Lt3kàä;RBµùÚz¶9… „Û ‰B•ºÊ‰ÕŒ¸­!¥dj—GŠ&»^",ý™ëOsK¬²4©0MWŸÛJû!+)ótÒ±êkÉBD!µíÖ†Ú#ŸÉ6å¨uÝQWó717;ÐE¬…©²4 Õ5XIZ÷ F§'»¦Ù ÿ î“0†CJl]4”>CŠ´Jya ¡êZÔc:òC: £,>²ºß:&QÎ܉ÉçµG2ãŸJC?5¶Éd&ÈgÚˆ®!!Kf“¯`P"/,ðë6¬UQð$Ÿ)ݳÊclÚŒŸ7¬ø†ZíÄuʲñiÿï z c~£ÌÔA]ÊWê-–ÒîTˆïD[Ø4Ç8_7€C,/ÁÂ-jN Y­)ë¬övvל°F|éü»ÔÃ]¾¯œòØ\FÀ±³Éy…~ºæ¾FzïµÑû—¸1#ôRÈB' ÇYË.Š9ñGÐ=Ë iKÀäWpxˆ.»±5ÕÉK''FSØIhúéŃ»I׉4á¼(]Ù9ñ}é×H4êõÉäÙ΀¶3ÅÌC2KÒWK?¾Ý?4ÔNöA±ËþAfT·ßˆqY$Ìf^0[Ȭ‚¦Øc£²ÂQ³£„£¦ËF4ο  Œ&iï!¢ñÚóê5[\>øêÃeúÉá´eêR—Jì÷ÍG^ËÂ…ª¡y¥Š•#…yæIt¾Œ®åS_þiX]9é]°¾ýíGÍ•J&(^ÍwÐIéM•xÖ½¥ÝäméINñq±™ ŒðôöC@ qîsmEÑ(r¥”Fº/Ÿ¬Ÿ4A‚`“l`úЛó ß¡ ÔòøbúW·ŸY}3„b’í5U‡çÚȱQ,ñ,·N©‡#¢„ôÏâvBW†®Î¿ó€©iJbïGMWA˜î.Žß¥’R "jjJ²^XÔùƒƒ®o«ÛÚ`7«¢¨2TZÉÊÄxf}"vcÏ[R@.Û_fœ×(óß„ 1%®F&ct`ÑuNìú(„ø1Q+«À%iÐÊÛŸï*^2‰/´%¤è¡BOp±xP³Zºõ´C=¶UJhòÊ.¥ÿÆB‡åZTà>ÃP„òI1òtÿÄ]Ó™T*Ò.ÛÏ7+$Éër«ßUˆä#²éjWËkG Iþ/mTÞ âàiÖBPvý#þDö2Ï%TpTTÖM-Cî½Û„# *øázìõùœg{à °«hf#xƒ·^¨x!aêkD(3)wì .GgˆM¿‚ÈàÒöÔ&;¼…VJÇ©d¥˜qå}뇑4ýóíWþŸ-ÓÁUí‘ÖŠÛW:2^¤–=”Ê0CQ¥ø~ïagyí.Ÿ­mÆX6à`HðH¥ùtcI¦µà|ÜÒÛÁ%‰xðüùõgÙ¸IC›˜¾çû©C*T DÝd~I ?ÃÜ~ ¥î—“h¶gBüäyDJm¯é×+øËèa]œ[§`TâO²ËÞ×vÄI!g;OT”¥ç‹›uá©ÕC…ó*™¢ABõý¥ñ|KÂø²Î×yãávô?ÿìÙP rô¾ŒyL©{xæò9uŠRüÙkdÈaÈMÓßOèÓ—ó®ÙÇ Ÿ£nÆÇh[MæZðfYvŒ«åÞD¶×È‹Ü;SWQ'öâùòÝK¡êd}NÆè¨; Y«–¨±Ø'bã|Jv{?çWnmôaŠ€Oó8µƒïÂÂé+g0C¹Œ~¦2Ë„/ž±®l·à$F*MéÌi;Yàc«'AÐŒï í°1¥¨ÀÖÓ.神— m~ Ÿ¤eˆhk2ZԸϬc–â± ãØ•Ÿ"¾ÒX Z—(ä'êå äò4½*`¡¾U ÖôÛË?-¦›éÒ ¦ =ØáØôx5>Õ·½;z#ÅÄN(û”ÅôO£È>"àÌÀÃ^áÍ83ŠƒX.áªþÖÏyÕì*Ú¥aœ©Äq okhþN:öSP¯÷àY¯//tI¥~Y%Ùß:)~w¥P¨ÞX } ¦ånžœKNÛ:¸¬öþ² û´gŸå=zÕ²]¹¹]J”\ƒãR¦Ç+wB—·ð…RZÓŽŽ=”iEòNËáñPq+8Í™AÓ@Y,— wž‰Ó½¨}¹P¸gw]|_×çÆ¶†\ 3zƒKL5ÉÏ%v ãÚ ÌŒ¹ºKÄÉ_Ï&ä½Tw˜¿­Å™…–TcÐiBüM(uÄŠÍ<”‚|âSÎpéÈ&÷äþ)íDn>±A>’®†UºÝ^µÉh™iJScøcº0=Å-ÊØê¬Oã)†TL# •dåôƒs_wÖg&ÍTrsÈMf„\*U™ÝýêÝ-®¿" ´Tø0¢ö·1‹“Œ–ŸÄt"H2 U{ÎõÑ‹‰¬z¥ÛîÎ^#}uÅ®ŒžüÖ]uPeX3tÌ‹õžg&zŸ,¼¢djþ¬92åÛù•Ò¦eêÁ…#;v;3Èã( ÇÌTWqKµº¤œ™¨xŽlí3)ù0ÒO~ÀÄôw;(=ôÒyÞþéÛ “.$Ä ø‚ÐtÌR%jå9^ÅŒÒlw JB¢LkàÓäÇ\5‰#惽FF‰/oT ’œ¢%öp>¸‹WþŸÛA"e]7£#.'!ýÅ-¯q™“–FÉr›EÖSàÀ.EÑ,‚Ê:» üñUxühýÔžm[8Kü Àù¼añzFêt|/šæfUû}3;+¢œ„wÎÔãò¼ö“Ÿ- ]7¯ËñÛíêNROSþˆ„À‚ÍBV†NËí¡2ø©-]ÒçÚ°±m°z#ÑK#Tº99îD‰ï°ý¶å©Ô Í%cHw Àkõï Å¯%j êy,¹ âmZÔDMu›ýž–ó´/í U•Ÿ&…6»ßÒ™å~@a0Êô!ÅCù˜ã¤øj:ýÛ6ßÔHcRKR¸Š\q‡Öµæ]„Ù×ÛÜÊÞ«Þí»«h˜¶ÝA7 ÕUýð¦ ðÇj$¬ccZÍ^w·•Ï6ÇS†@[4z¤àv‹ˆÕ鯕ýømú~—ÀhE¾É±Êx'[5Æ '˜Ûš¦)ÇN~"p]iÕær°bŸ/€=|H}CƒÍóõª&¿IQI/¡oR!x8„Ìõ|3ùž¾‹wËïûñcw:aivx2S ’û'ýg´}8ñR“üihÿGáòÁ+ŸêêÑ-¯z³>ÚóâÉ$8@?¿hÿ“¯uê\ãÂE4ñÊÿDÊLe{@ÒÔ¦´ßˆ_ÂjˆÊêzꯩÌ<©¸,|_Q7¾æ*±j9Ù½»ÉÝû£&0™Œ¬z¥á"ìùŠbí.hQF•ü5²Þ+¸To¬ VÊ$P%ö‘b„A½Â󦣗KÜaýÎ{”ƒ#4ÇáAäÆx~Ùš6ŒXbýl Fh.Ù£ž™ºP¢Ú”Ãî ®õ+œ·ÉáÑb™;â9#WVÉÚ [œ”0À3D¥)Šòavb§}Oq”® zEÍó|ßôÀJæG&ëD1\z­ÙÄ×%ëá‚…è3“2I*½ƒÏ)‘EÊì8[W/ÜXÇ6LÏôDL×îë÷/Á¼†ôx0¶ 1òe¹Å1ÛYªË:ðÓò)˜èrNŸ-‘ ÊÈÁåX}vž¼×¼¯z6íÿi·þ÷àáÓ„Ê •þ€ùÒƒ\õ¥ƒ@{ýŸÂR›¬†Ëc(^xÏ>Û,ÿ7¬x<å·wfIèÇW_HçŸ:2ÊŽº¤öÍ A7ÿܵ Ê~‰‡VÁ…†mڸТ×pGšªhÈ–P~§q´ÒJ£aº½•µy~8yÍuRGKYwJ@s˜¬sšæ7AC‡5µ$êÅ3FŽƒÄq’Pñ×h`õÓ=€™xùÀÝëÿ_÷ùÚEÐ鲉îí̱b“^* #(1˜1õE¶ë{ña#EÛcx‰ê54âin1Ô‘Qòì‘’¤˜QPM;M‹¿8?815rqå]¬Kâê7ëÃ߀py:Ô<ѹ‚ׂ[Ò$­áIï·ÕqQ3EõBliÊiìC iÒãÚEW€\nI)6]¨7Õ<7éx¤ÙA.VÅ €vj¯ CæaÆu¥¾Ÿ¸\ ›& ŸküÛ§ügMùEmüêÁD«Õï¯áMm*襊“oÕq¼tzÒ»©m˜‡qB:heõ‹'Ýô+i+Aq‚!ž40öï®*Q©ÄÎxxGRpˆ,¶ž’î‹ËÇhrãÍA²jÝ•^¶|4i®r;õ+®lËÍšËi¹ô×e÷Ý!0-Çc ¾7>«ÿ|½Ï³.~„R Â/é ­{¶Ü®eHÖ²hžóyÂX„RµXœû_-§¯v÷î’, ýZ§x$ÑX´NOzÔƒ`),’ ñ¦³° (hÎèµWõ‚yôwbæxÏT5¡ ËÒbüÏîþbNip”“‚4o ug˜&Ž›š¬0XGŸAÑ"XÒŽ“_xòwŠ !a°£Ôý\XÁÌϲ}}ºèä‡È•/!C ”bžžoR©1ÉÂêª5Q²räÐZ•$3“·Ýô˜fíI6bhÆ–§^zw“d­ŒX]Üec“ýÌ•‚ÚÍ|2ë¡k Ü,eÌ'¿ƒ¡LÐÉ$ý ÿãDÂŒH–6 ‘Ф·>XÍíšÞJPÞvzχq¾ êɜؓ¶8XŸtåË÷5ý6ÅÎ7ƒ…y‘¾MIàyt f¿Ì6¶¬sÎ¥IÚ“{ì2Ëb*»ŸÙ׉âvNÉ—úú(ÇÐ˵N-û‘Ñ”I†ÖÞŒ\8¼ÐŽa:_ð„«<ëOÓÍ}Gˆqe7mŠJ% EužVcÑܾ;œ(„†­v"ŸMÚ>iÙE÷îŠöß g© šèƒ BE'±¨ÍÕµ~çôtÐ(0 É×$Ìqöò½´C_–8%¡ jʯàrd2ÿ•f¿/KY¸…‚ÌëX –ùˆÓs2ì°ˆ…o4ukÅbÕÔŸµ<ö¡ÿ”ö!¯ù^ Š?eʱÃI:×~Ä–ÝrçæÀvX¬Ð4Ík²í”(øÈ÷M! J Þá\g¢Ž£“¸¦FÛw·^ GZ××*SQ݇þ/…„{·[a ƒ}8Â2ޏ],,üôe»^à? øJÿ>ÏÝzÓï¬ÌÁa¡ê®M `¹L¹ ‚½‰þÕ¾/LU¤&dk5»©Êf+O˜lgüç@øHÈëCi' OYõ“ôƒ8X9h•ÓrE˜cÚ”0-@üÊ™õ™¯"ÒÃ,8QÇ”¸ºJÍUNþóböÊ]Û†7‘ÎݶJ /5òxõÇ– “ †›>ä7LŒQY9l+]v²QŽ ~"y•Ó8¨w¼¶UÓèÛ[â…÷5êƒVô‚Vƒ¥”cÞ8CÖBe°½ºV+Ü>#v²INž ^—o*Kc§ï^ÜM%»!FŸØÍ” ,ŒÁ¼Ø¿W6;£»ÿ×U ïǼgðá`°ž¹øì!2rÈ=÷eì6ýBÈÖœÈ"KÌ– µZƒìRÆ"üñ¦&é|ÂdÚI`œ1%é_“¦¸â c{Å-¯qáÆ1j€>ä*Üf.³èpµÚ©e÷¼{xNʬôŠç8»Ð3ë0쑦„°^)o1*·-IbÀýŸ5㣫`ß¶-NÖDØJ¾ÀˆOPÍRÓYHêeŠÑínÑÝŠɳKŒ˜v|–¨¯EcOÒ¥ÏV”Öl/Q¹N-üœ{§À3ØT‘ä$@2çóܬ“ÅŸ§%aÍB²‹Îè¢4(w Z ká®JÖÿc‡é"”j‘k>:NÍ{†¨'qÒJ8¼¿š/ZÖ$ž{üoˆ2ÄŸ Ï„avU%FßNß "®jî.÷SN™³leqªð æ×,ªÐ$fõO`Ô ßä²›N ³àaè•-tær/‘¨ÖD3ê‰_.x té«Õœ¾ÖñÓ›=™ˆ‹™ä'eŸâ£ç~¶.øÅœG]òÌÑ!©t9¥Pqc¼hM"ÚI=äœ_*ñ ûV)äO™Ñ#lň+ <¹‰Ž¦£=J1Åt×W¯Ëí¢úe"5ûU•Ñgæ† —Š4'‰òuažºùÓEclI^aždsô¢´&iÀŽ‚øöŽ"?€)nYþT ˜ò5½BAïáñR¹•‘Q•Æ ãUvþ)JÐ5–I<¹Èß³R[õpÕįÍOw&¦ ,Uß ¹ÓgÙ™~I=7_Nܯʨ€²Þg1LsÓS#è…"¶ò ¹‹éWž¼VJÒô~äÐ\M-cº‚©æ¢§pû&»ÿóOk×Î ¬‹™i¿âèÚ„Ü12¤Õ#pg1Za”ÓqLäïˆ;ƒŸLL)°tº‹}n^ÜàïõÂHc´fE¢?–xŽ6ˆ”6«­BtÑÛ•÷^òYQ½ÉþVß0í/ˆd>ܸ¼f>·Xš• œGA¼F¸Ä¾¥ËK4âØgßç’X¿ áp†µ&ŸºÙ‚l íŠqÙd›Ì¼‚n‡²Ü|Ë$aŠln:r‰Ê/œ×âg¯$Ú#–êMúPXÎiÂî°[ šÑf5måGÛ´Bóh™âŒ-ß>ì…0•N:±’ 1´~ÒjÐqåš/Ï©„ûÐ¥·Þˆ2ÞØ±¯ TC[èþ »ãS€Ø& fªÀç­vߪ2´Ÿ×ÝçO* Y‚òÕˆ[ÖËXþjU_þЬ6_’ wµj½N$I¯ŸÝˆöß™òŒj7Eæƒâqcö`þ€Îu1ä‚‹Z+_" e(…Þ@IuÒò=P쯑íSm=†ñ»¡¬ö´‚Û#ƒw5·u•¶iéM•þÜ›œûaS1ÓØ×Š”:„ŠrÈØõmŸ 0 Öé\+¬ðÏÙı€ÕBÕ0 ¨Q8Z2RÝ`Æñ`„¼ÎÖ¹8”XÝg«säj>±·èôéÙãÿãPÈWâïkË­5§ø‚¾ì+Q!– :ç5œ’¯§æÐÎÒZÃ.GÅâá-ü±i?e)(ŠÏãW]šºlèÏrÜ£ú…Mšª„ìú±ï¡±Œüaš™ ¦ud®Ûrôž‘nTby]¨^nJ\./bEhYMaî8ÃŒ§éî €ú­5¡ ÛÏa˜µžöÁ°ôV}°I‰.ï¤c #Z¼^…*ç1öiÅÂPÖꙆs fÜoÒö'váInŠ&æä¸b’ôÓeÌ|%–*"o 6Üݱ¬ÙšpuºÔÝ“âdõ“Pa¤F\Dô!”XY7¿f¼r‰oŠ5zYLÉK="÷ì©L±KVÙ€<8N÷ܧ¬Èð‹vNëhq÷'VX^^X¡yó.¸²¸¡¹„ðÀFµz¶Vˆ¸ÒY-Rá©etìÚEoZµœ›œ(ˆ" bÄOÀYY ÇŽ]©Q).7˜ÿ:q6Å„G9øxÝÃyoØ¥f‘õ9W™SáþÕÚÝb ͯƒih6ÖÃUùô‚·z©$Í‹ø>°@gêTW%ŸK¹¨$$äy£pÖ=pCs¿Õ6Ræêè¾Ó<þÔ"O1Aâ¢;âØ}òïÅÃîmìÔt÷‹¨’ÂÓ±-÷™S”›K׉[Ù15Rv‡yˆ®þYBßÚ³§cÒ²À’zfJ…Ä峂–6Žô›¶Ôãäuí›$¡Á."Чa-Y ŠiÄ™ÌÊ4õLÏP(¬ú·4Y£_†º4ºñ´Fo‹û® ®Oç¼}tå¤iwب§uœ–Fqqg?ÊÅêë@¼©éÅ[Å18ƒ–±—+•Ý3’tñH¡_V ù᱊'tleÏ^r"™£ÁÄþ×ÈðRö¾è¨v€Ü ày’'Øäyâd…6R†¾?Ê*IëãåUŠÏq&ÏöuN-R_ÿÑœl& ?„èj…gɺÃá 2ùb¿‚yo”í! Þ?«¯¤úïëÅãqªå;I2—Á%/þÏv˜Ð‚NÃA©4€¢üfïqíE®# „ðaêAð=8LoŠ×´ô¦Æ»è·g?Lêý ëŽÕÛüî4á‚ÙÄèK؃‹¾°¸û Z•¶Jsa¦ÞªÌßÒq¾æö»:ÄN{º–ÿ$È'|‘ ‘›¸%þްž­{v/­‘Ïf>f'‰¢ O«{tC¬wÈãj¯l¶þ·yï1*×É[þ5Ðú͵¢_›~ö c³€>Ÿ¦YXJ´lrdVD`=rN=¢lŰäÃY 6€*@;y—‹ ûË”„é±U0SýæÉz½ó<èšDÀÞ#TI\îŽÊÊêj=†M³´¾¯pÌü†ã¶fë©G™{>ê,ÇÔ_=Q9?&nÏ·M'K(©¼(j""<§'&Ôé1ÁpÝñîݛä ˤKÅ{j”ÓýoõúU)“ »î¨*#Ù¿h_Ö¯žL&BŸ€¯þ5K,²m‡éjUâê}ZW;;xò=RV¡?‚ÿ%2«wþik€j¿€ŽM¥ýIwôHWwA„‹Î ™º·“  =Žöƒ§ Ù äþåBðéEͪ`O”Loq…%¦m´}Öât q>®2—5{Ö;I¾ÍNÔ×Sç!Ç#ýÐasÊ{Z¾ÐÏnd¾`m‡1Çö9Á Q¤‹*‡ð£=ÇèƒC9J§#ë—’ÜÀMÿJû[ە鈜ƒ`Û€ÅâpŽ­Ð…^¡b‘ @#jŽLœÏ̳–س5¹U¼®¸Ï‹ˆš?¥L¡^Ïë ¤ÜáÁ‚œüz,-B¹PÃòµÎ’L°‘¯"A!:¨Ðñ¾czn ÏìhLJÕJ‘ÉH"!éB´*YíË‚ú.íWø 9ƒv@®fU©¬˜¨a¦¸“lW‹Ó fÈ¿ñ |˜™Ø|iazà0@6™Ü¨éÀ‰[`ò0xˇ2™ V\! ègQZB§6ƽÚ[5¿»çbU¸D"Æ_[yÍIUWùí|ìm±•\F”´Ò‡s(VIO%œì¬ 1Q=(Xà«;qgh—ç¯Pøì|<ùóñûäbv÷—î"~õnÚ¯´aACÄL½É!@…çKŽê ºÖ‹i¦’AùØЍ"a6ÚùÅýÌSSBã*`¹µÖåùˆ°TœxŒÃÀÙtîé¿ãò®#ÌÙŸÕß»Ô ~þè4ÌAM+×q2á¤ð)JMÆýIø™TQµ,;otì¯Â ãzQ¸+ ÓvFi€Ý\Ñ2;L–—\oiÀ%|;ú9ºc’SWùÕÚWô&<’s·M/wH×(e-UÊZ:“}™„šá ¿1%7gÛpHFtcyW`€ ´î²#ë5£% ÄF 6t%–»<£Äž'nô31+Pé´b~cÏ#†t©Ô­´p¨PiD:¥CÑ‘~y’ X~¢ó\Á€¦ˆÍ•nj҅»Ô()Ÿº‚Ì*Yµ*T-‚sÄv®€‚˜<ñùAë“9¡è•—ÉF{Ù¡$au­·«…u»CáICŒ·¡Ý²ÿ¢"8tµl¾È>./3}Ýî¯GrNí¦J%ì§[–Þ Ò«ÖÎFFëDyNÖWdë5¢•é¼–‚Êð„ì¿x¬èTq)s×éHØ´=”!¥¹&¹ƒ±Ë™Ý ÿOhÃý?FÎíQŠâOWY~¾ ²GÄ`}£š™‡Neõïx_B j «r¿h]ÿB¬Ÿ¯7¬jB2á~’Wóiµ¬QÔUç`ÝîšE)è jãݪB• SScÔÒ¸¯Å¸ìù‰ÏE¶8¨²&+¿B˜("ÍÒ †0ðy‹SBÅ¡p$¡˜¾ÑÀsˆÿíÙu“‚è,hŸUøw¾=÷ðé¡BÛôa‰É±ŠŸå[VTt¾åÄä/^–LÏäŸÐ©þ¬*•«Ï—Hå‹¿[Çú‘˜u/mI«…Ѱ'<ŠTÖŠÛòr^± °÷ÜÍÅp0æçÞÂ}#'¡u ˜šîzúº‡po1êÿ¢Ÿ ÉyñØ3û[þm?½àgI}”Óm5ú$æ’ÕˆçH4Š+ž<˜ÌoIÝqe޵ð×}£µ…c¤=O<‘p<„¸ŠÃRåšrïõ]ÈäÛ?ÜØe¶6º†=Õ[ “]ô#ªÈŠ'‡±0Ò®3âûBÄ|°w5;bFÐËÿÇǽ Ü[Bå¿U·rÌÀâX‹ÜÐ!“óxÌœÿb0ÍîëŒe·7nZç8Uµ#ÎßQ4]@2 Æs\§B~¿O7¤Àœëï«"Ç O¯ª =ÿ«€Åví#>óÊ "2–Kêî¾L‘óÿüŸ‰Š‡x–˜ó[?0^_u©+Búe¦"Ò5 ¿6`éC- 7µ%Ü|½@Ö£UÃ0áJea26í ØS@襞ZäE íi€íI”ÂP6ÄŸ¡]MT<ʉ1‰O£ˆ®Û]û‘¦TÍ2_%ë25v`Â~ƒž)2ÉñA;ä»FAÑñµ­$\zºÐ»÷üËb(Jn^ù¿ñg*°ŽEZ§cWšÎ6¿dRÂV•­å2ŒTnÚ C†Âj]èŠ@ã ¨^!UR|b±“Dh„@2½‘lر,A: Ô<²5xž›ésð®ŠG‘GÛ,Jyë™YóÅ«bæ@ÝÜHZÊç àÎÊšHÄæ#ØþÔÇï¨]ÐT…¯Bl2{2Å!š7ã1eÍï/k<`ÁDý‘[ÐuÕ³"y¿>îK».ƒ*0³=Þ§_ë2Û¾¯»-´--ïªjK<,o–ìÌ(y϶¬|vjéÈâ´“·ªì²œïÈ'êyûܶÍ'a.Cë/ nq·g3ž43WJÃñÞ³ =ïÌ«¯k#¿ñQîvøŠ"¶)©µíšÚ*UÍ‹T ϯÃïÖŸ&3)Ÿ¢¢÷êd»S~’ 8ÂoŽóñž¿$Dg: ¹XÿF~¼6=CNB 뺘„*nW–&ઉš(ÁjšÇwŒe„¶X“,2r)ݬ@oÇéWãŽõÒ$“?š }³õßtÓf0u ÷Õ€´‚tg·±ˆæ¿}]óynrh¡¨B‚ánŒñ{ÆV’ &…‘p?=¶æ€=ÄÍ^'9æÉŽìس» 5¤Iy•wìOÔèc‹>EýœOeçe©Éô"šç©¾œ·ýé Ö‡ Ût*¸Ó?±¡S‹t{ ØÏÑë*­«©ú…î>˹–6ŠLBòøªwMöÇç°Ë3Éc”B•„,AjÇxþyÝ–@›ÐIlÈs|Èß5û×&Y´[¢RhÙ™Ë%#5uŽ™R·¿Í§|×ü]CI ŒúU ]^RÄ$8b€Ë“_íÓV'Ô©î–±‡¼W%ºOò¯V3™oÑ®¨[sÏÒáíòÂ}'ÃÄõÎþÒh³Gáï‹7'‡0Ù hË+{:ÔÔá1\ ‰ÉÆQwºU–zÛa²(A| ³>÷k4ò ʱ$)G‹ºJnCÕ/T&[´†! õ!e°A¿©gùøùøÞ¨K²ÝDatJÊ k—1¸ü<&Úùš—ðAQ½e‹pÂÿ!ÑÀ/d–K…í_úé­.ZdK}|%!»:±}Šé´ì¬ÛS’`75BdH¼“ã_zFsƒgÚ–aqù•Ð 9Y¹0x¹†&Gµ=$Q¥Ì*j¡ˆùPµlÞög”[»TR6è¦,)ÀM”•‘òìEÖxÈÁ¥C¡dܾ5¶B,œLM9$œg"á‘èN¬4:ŽÚI«¡›ÁY´ð^H}ä¢÷/Gçe¾‹["–21OÅâªýµ0³èF¢ëܱDë\–ëí(T!h¬ïíZº”ί­ãkø»=H2óÀ?q/qÀÊ#øÝ1v+jVLU} —0Ç÷Ì”°œÄÍfSÖé³¾ÓyEĈdAKè›_t 0öÚõeUéh¨Öò£¥ÀxoAš%À   ,¾`ây0瘂½ŽZ ijCl0uÂWVz{TWq5¦Ù9ë‰{Ç:qª—F­ˆwæá½C¾bÓ^[&Ä7OWáÊÒ§J ŠšMÎ;!†õE¢²uh™OÒ.‘ûÊß­ŽÆ} R‰Ur„åÿ€¢ „ëÃjs1…ç÷hƒnTã6ž]»ß\¿M«Å À˜–¯R†b:îÚý毾Bþ^‘¤³aL—ÕÏ™w¡!2²ÑñjÕÊÃZmÏëHãl‚™½Rß8÷Ù{á%~ÈÐ,ü³úO»s >ñk&œ»·3õ“üg­nw2‡¯”ô¢¶»ïå07*pÎ9‰[öðâ©ÔIÔ²JÎÖukµãrEçÓØ’Ü=„IÄù+™CBŠ©˜¹Pml¡~²ãë7´zÁi+ËöÎBφ”<Öo¸`Q¨³>·]Æi¸\gNB7À\ˆÍ­Ýh¦iì#¡Rè}8yÓYÿØU-‡1¸Pzðkód˜wö2kȈÉí$×Ù=cúqŸLÐá‹O7‹•&^×1Lµ®ìí»+È ¡ºÃC£@íH± Œ ‘y›5°9-Z¹Òì¢Qbd¸f,ùMòoü—GøC³FI.Û|ºÍ'ež¿‹§ _t8*¼ü5N¿;Õkö¹¸«lJUêçí„Ü÷áÒ³4 ˜s“tj£l¸c]Ti·[ó’Ä·†q«+7W#‡¡Í‘öKËÞÑ¢l£d7±ØˆôÝÔàÿÐEï'Û]_0g2[òuò¢=ΙŒ–ÓmäÄÎ@„[Ž‚¼ :Ñlš¯Â’ÄÙK5˜¼¸ÿØiË#€í*‡Êªý ›œ3ëUZ´1[ê°´`–?•“j¦%2ÂrµV2‚Ê¥¢†n¦ÑòƒÇ¦L”cn=Z­s„L´µ`°‘Ÿ`݇wî(Ò ëY#Á|·'Cß$ÀæœLTÍ›:0Öyá uCÞó²‡{÷tþDŠá¹æ×}„¾\×(p;ZQîA¶ÛŠ®‡ÖÓÃÌ .¨]d)*F3¤2áMrýå¹5'­¸>ªA¼ºWꥈ'û~-jÌ5©Q;€g²î rÏè›ÍMôÑèÚOþ&WO”%N£å)AÂã¢9 Ff!Z]Hƽ¡lq/l•&n·…„k’w’žÌѬ 3rj‘팳IêŽ{oo›¼U$6Ô}ÍÂ,ÚvÜÈæw´lXÕ6.Ö¨>A¥½Y-àcYjš ²9²Ùa1“ÐP`gŸ"Ýʼí_`hÞ¶õ3Êe–ù.*‚"ÿÇ7﯅†=Ñ×1Ü‹ +5oM˜è Ž]H¨û?™¯e‡Š:Çw¨b'»øÖ5hÑïXZ¿n.Ó#Gë°ç|e:~ÿð~мŽ9Ÿ‘ÙõæiŒ5¸éñ¡°Ÿ’ÕÁ1éå­\„æj"R)©^-tFýÿ|w푈ãkÖ²ÿàg×ÍéÎD&\ŸGBSÊJ@qk¶éÑÛŒj¿~H55ôkÚ8fã†M[ñfWªÿŒŠ'ÓzW‘l]æOoÓeBUS©¤=Ð,#y®éŽÙˆé"˜œÅ¶Ç[ƶ… šm IFLïwöŽ!ŒD@®þ©Ìï6^ «¿¿°QBÛ…ŸK¿ïá` ~PNzŸîœg¡©}7‘²K¹ÐdJé /¦>%ëMØ)D*{‰•qqy|Ÿ^.,­oP¢¾êN°¾K_ѽ}ò±‘м ¥K"smŸk™F›FMcÏ×$ÉçwôOˆˆ¨îø‡ÄŸëA6·|«‹ûÈF¾\X#ÞwËÛô"îÞópQJÿýZ¨’,Ó3˜¶PV•D&øA*îÇÿ)ÓÿÕéÌR"úöß.Í#³¥>Çnh\èè¦ç‘ ÿXÍ(î 2{-ò “]*ÿ­ãX›×Ø"o±$ç ³€Ã¤æÅ5°Ð¼þðu›šEËßw†~E ýð …èýøÖa`)Áµ«K™ã•L × kÒ9ä'eŸìF]Ìêo;éßRm£Rb{z~ïH Öm¢ýzö§4Z¡ 0šT¼çÀmX—%'qíMBC ΛIãIœ˜Òwä*Gtôóê“Âܲ “TÞñwí%šyæ®Ë)ë›þ––ä+Q?ÁÙú«ÎŠ]Q<“f2¤ÛÜä@‚! ã½zB|1ÙÙm[!åSšm›àGÇ2êD×5ðïüxdâá_@•/-ç‹ ¢ñÏj"lK<à5¹WR“›R¸ÖŒÓQò\Mñðl÷Ûßdò‚ŸÔ`n>+nÄGW>ÉØìØlÚß©4ÞM¨sÚª}^h$ðÇe$J|,-ïí(#úDYU±ìÎÂí¨J±¿PY’x+Dĵ¾%/zTì4rXÅÚ9-êž‚S2vW“?=I£ä‹ö–×#<,f¦¿•k ÷þèòëtÀ"èí’ÈþÏ¢4‡˜SBÆzhL$½‘NUL?ö Éép¦‘ìh*7Êu¾ßþéM½À/ôØñ|Ê´$G†ÒÇ“§GccÄÁD~±ÃX¥c²!‚Î;óÑAÖPT AÙvà9aØ€#?a¹¢¯ŸZ#§ ¶b){óšT ³¿¹?þF,£ùÐR?Rð+‡é|§)ìXf½»ü$KœÜKÒ)^? o–úûv]Ž^ŒfÔªI4®ZCpýæ ¸8,çê"Çý›÷·’¶+ÅE¾du[,ëê¸ù‹s«B Þ¼ŒX Ó b1ýüQ~?%`6¼õÎ-y®~È6¿¬kã >t ü³áýI yÖ/=Î>e hG(ðæ‡œ˜³3©q[<Ó»ï·Ü•l݆ãbx9îMYC"ÝŠæ¢âkp…„º¤h,=ÿ[SOm}?•L…§ßRJ±ƒ¤ë¦"ÆÙ ¯áNÏÐ1_™·g—°¦ŽSÍ{}…ßä¡* áSÀ!li9ÞaÇjUÌd¹´Ýö >xvÎYZsXÅPµ¾)E/{OsÞòž|œeÀÀ({ÚÁ_U\ÁÑ)J¶cI‚Ú9ì³ —_Tô [çùZ.…{oÈ€„¢“ÂÒôºÁ À0Anƒ®îÜÇ$¨(”ÑúÁ>Y¨µN©d giúÛœrI™‘¥H íL‹–X {¾Ÿ;ÛXÆ8²æí oB™pa¡mŽq¥I!ú'éÃXK8;È*Üš+& åòft†õ¬Ö‘@EJ¡ãÝs_t×£‘.&ì‚ælÓ¥¶Åœ¥ ?þK§ù2ü:ˆ«òùf<Þ_WœY`© Óí¾ƒôÁ?qhVÒø2¿Seâ3g‰xÇ:Ÿ †4úR¸@ÿáˆ]õ®TµK¾ôæ¬èÕNsЛX[k2yñÍS\]ÀÔ²'¶øã»!ÁŠº!&àD Ÿëÿd9”¼lçK Veìx¤óAm®…àí)·ÏqáÑâ¼ÈNOi3%ø£t gzPq†7Ö\®P…¨.YùÀëpgÔRŠõ]µÞ8<•Ã&ý!öqŒ±,²Ïrbª‘IÑ€5¬žz¬a)„=QTk%±UÆK‚´ˆnõ3ͬڤLqÎSúÏ+qŠ!'>®–O!ŒG‰õÛ­­mEU8µþí]†!§/àÄžQÄöµ¯©³vŽz½•ݫիGÄ×?Øu9‡cªs&b t€˜@ IX,+M‹Ž Àc'nìGyÍñ’|ÖQ‰åc(zÞŸ÷œ´Ë5Ã:4–ª?÷aR›:5˜í“gd²‡Óe‘@:ñ`x}…½”£\?ª 0k؉í}¹šºG ¦ \b,Ï)8Rˆf§«Ví·§Ó­Â¯«÷¶²çÖg žH÷Ôq+Û…Áèɸ•Û-•\£€ëšdŒÏ1 ¨¡kÍ­Éqf¿(W°`^åúÉÈšt_&æ!qî(ð\ÁyÂH\q§Ê l²ËVGó™ áµ—¸ [ ž¼Ù‚· ²ò|·½d\]}7ç?ˆâ¬ðFõ^×ÊIôÒ, B °‡Â;¸ *ÎtäâU¯=+—I3ð;i¢³‘ÇäýÏ*™q«V82Ÿ*N>-Uw&WeËù ¢}WEÒÄQÔ®®GYùœÙõU3Çß{å}t®ÔÞ`…†{Ö ž Ù¾~ªゎ[þÌ|8ÆÜóf :òäkó-ç êb Ôô9V3ç k¦Á>yM÷3¯æ¿êø·›ÒÈÿTY$Ìð=6Ĩ%šœ+p ñs$­ÄmuâGBÐÁ‹6ÐHXÈâçx1²É'¤#?AµyhHŸ&ìç }ÍoI`‡sä|µ|“&O©:0Ò%´g¦ÿeŒB\6 ÕÂ* _Çš D'õ¯Ë`ßñiªÛ6/õqLø'tgƒõ Ъsà‘1HÑð9Ñyv·›û8Ò¦f—‡gÚxã¾2·ëHMg$w¶7£žº±9û•<=ŸO¿RË&Êÿ¹ÊD±wU AA²t,ês¯í½eQA)FABD ~º¯~(Ô Nj°ïN²êîÄñ/ã&~‹e]°sðùU‹¯C?Èf`„±?}¼þ8$Ŷ))cæ %$‚ª ÒögüŸén`Ê©¨ñ;>¦båíÐ8îÖ µµÍׇ„È{ŸŸ“ Q3­— wŒ,f#òۄת[KNÓ*Ê )î ‹äÀUÇËî¿ dFdú5y>$7ûVd¬]W3`moQÆ@·È*Vr*«§kð9ýU!Sšõ-Ÿd¸™’~qØ’$$ºØ²€ƒR>ŠÕžqV†ý¶ñüäÍ4 ¦ZÊî¤F`˜+R.g·¶ìŸ×ÆEt°,D× >‰'g{o,sqÃÇ»Ï)m=îá 5Ý\ÚlÚwJn“_öþx\[Lh_ãú'ßÌ0’m¢Èg,"Ã,çê’N¤Úû3k½Ÿ9•f7È)q'ë“âv]¿/œªÑBu¸$Jß@Òå.Ýyc@ *0Ùý3-8B'e1`m9W‘| oßY×Ãzþe$o›HO­Ó%w·‹‹–{Y¹;à†p˜é4s·i1½òqJÚÉ›ýE{)Y¬#a¦ÙŽ¿ßÕñ¢‘™[|3‡Ä¹Õ§¾J ºG­•n•ïB'ˆÀ$9áô¼æ?¡!ÄÁ¬»Y.c%Ü|‡L­€Òêà•ËâcÀQ‡‡#ÙÆ´õ@Ù´ Ã#6‡‹üŠÙ¹h@Im¬triÒÒS“!ÀiÜtêö€;“cÕ4ßÑÒ:ƒ_ ô=Äs™ìšy: ‚*I­L™vèYú}°ªõÎ:†.Ú'ãJ{pˆ¦¤a/@Vÿ\)‡3AœOHð^t&…h7_RŸ÷hÞ9Ã…[±±½Ö$‹…y²ÌHÍ6‹ûYgÍ’Aé#Á;±ˆ•Ë®ÍKÁo<ñÁ>¾»yÈä‚NÉÆ²‹‹5¸zÒÀi>Öð‡ºïç5Zo^‘À“ιDƒ•ë)ÀiJËpvdÙêeC®ØRìÅ?×ð˜Œ?èoÕu ÔÓGGƵ{PÕÍ ïOÔóìl=ì’UuÂym.kž¿ÝsKY¾ .Šrìf÷õJ^6[cÜYø4Ègؼ7 {”«`/,uô´ŽÄ½[©k0xqŽ0˜35ºTÿžrk¡|¶&f^籤KiÀñš;¬×à*{iéí)|oH‘¿ÛÜÂî|·Ä޹N_¡}Š7”~Ü"Qœ,*¸PÀ¡‹×~õÁË,û?êéO{zõa ²LcžO f]àÕ8j‡³¢ƒÒ¡òŠï•ú’ƒoÄNŽ&Á¬ªð\X$0b:y:õi÷âˆâJ½hñR(—~=_³ùuÉz¶nS¨̉¥œoŒP¯wEdžU¼:¿-Èý½Æsû€£´â§dØ•¤_Žã_^*gê‚Å"½Á*slÖðn‚@6¢å€ÐŠ•qã¿Ù®cKýa,f°ê­7èÞMåp,¾Ë_~³YCùB~™«ŒDGR¹_Ú 8%Æli¦¦T<È0Øêã&Ë’ó¢Ð·m›&žf¤ö¡\‘°kû—튡3~ïUG 2=-evU0aèÈéz¸Z/Ñ›,šGŽg Ôž_¥òÕÝó2 •…É£-#âúš,¢ w”/]å<ꮿvb´ ´±öz +6@Ìç:S´Æ£e†k{Ùèà[×žŽøK[­D¸® “æ ÓaÛì·ò8bŽîqø(~ÊqîNÍdI2Mš¥xðeñ WמœÝ-Îböy!œˆ×ó‘¢®ûy|© qÝŒáòyC])(Ä*½3šæÄóA÷GEÀ«yJmÏu+™‘ºgÖÏF~Rþ÷V'L-^U\†xÂkÚl?ß<:˜GÎÿS¹B|ÊÅ´ôÅK›î—´{´¶k4˜¢ËXúÃybÿŸôµŠòm+(ð††pxŽaB} ˜q‘½§u ÎüÄuæ¡Ë®ðžk“A“eõöT—IqE×ӗ®-„¼æÖUôèïâ6WãúhFZêøæùPÀÂv¯èŒj¹‰÷ÄžòÂw›Ð‡Ó·´ôé&*@Úñ}´QÝMó"é·ê.®$îÓ„lB|_t\Ì^«¼=òÉ”ìÚÛ¥Ë1šØ$× •%L/-¶¿ÂzÓÅô¬&m³…j¾ïÌÔÜñãagÂÕ_·j‰MY²vŠYü¦âvçß_Ì›adÞ²®ÙVNR¤Ê^BM3ã¶ ~CžÊ¨ËÕË Ùm})²ï„„iÈíë=µø ®16šwGb2!>Äç¨ý^t‚m”´ÍŠä;ˈžø¯m»Šû³u s±öÂþο5ºÈ}ÆSw¶D×#;,÷IJ"ÿ#Q•Îpp8qLäÜ|tÂM¥îlr7¤p?ü‰ÝnX¹ÞBŒ×Ä+‡•µö `£ßû "åø«n»†~1•k*¥Ëá .d2•ŽÔãƒj:=¨fxbè}÷KûEj=/° EáÎôÇN>Üê@nTï}êŽnä"^¿šsî:…mêU|`„ê‡+y LP޶BLúz5þa1]쩞ñ{GNܪ ,¹¦÷… ¹7“ªcæ9‡XÆØvÑ/°ƒ’ÊAߟIš8-­ GúÄŸ²ñOIͦ};*²e¸Âº¦â>·™,±Ç9Á<×|?HpèW@M¶¢MÒŸ Ô~„É®À¨:úa—_5^Ï•nkðhò©D9:=¯Ä®>[£~Aíˆhî)\ä)D“Ü2ßû0l˜|µÛØ4Y¯õ†ü í¢Åhzñèö½;G#•cÐxu×6¾8 b½óp¸)GQÑ$Ü3`}Øó…\}žM¼Fe'Íe†ô.ŽPë5Á}ô|ÍLû¥ÏÚÖη÷e& ôL«t@xO¾ê'M4=„,Q3p«n·šÆc)r/-Ù±EtEq9K\ŽNé<üô¾Ü³+0Îî:ÔŠ„¨@à¢o2\àÍlï¾¼+`NI°éd²d¢ÿѯNj0lÕ&34„l-²™–§ìE6Ê.ôß’ú“c/Û®p$Š“ŠX‰ÁvûÞHóa¸p!ê%XHz.—0Úrh†“²"†õð†©æj§|)µ…‘n‚ÂÜ3¬—+wÏÒ h '“×ê%Ï= •¢”Ã[úa†CE —N噫_Â5É5Öþð¥Ýûíz%ß8D>e_•Øx„aØxv“ѳûà (Ø~û6Ët‡ñˆQûNeQDUId”É#Ê?¤û¨°m;ïýÞ¯Jlì&0›Û<â)Ã6ê]õH,L Ú}SwÇÿ_V€ï‰œ¾»ç[‰'kþAÃ Û Óh”ä‹H.·¸$_ÌÕ*X4Á’€&/`óí°Ž·1ο.±ûµ €‹ ýL– Ôèü^¨̯ °F|ÌŠØH¸q$2æ"6TGRbì’OÚ;Æ·ú”ð—W¬Ê¨Qzc„.BF\kÆOœrâ$“±ýª«Š¶F¥ñùUT@¬HÞmËûDel@N€XÜ·@?R6ý“»„´‚ÁJ6ÇU͘þ_]…Š£Ó;.ïÈ _¤¨"¶ÁHÑgæDB”v‰ýå÷ã»ÿØ<ÂÜŸÓ÷Ë!$â\ñFwG¶hÍ.»mŒ*YǤì¦õêLl¾Káî†>7§ÌʳŒójŠCØ!xi°ùF1]Nc1{'ŽªÈÕ¢X8›iø§ŸÚü-ajÉ·¿’B1ð‡^ß &¬ÕÙµÙRx¹Tk:fëÅ¿öè¹6HA¬c‚«ª¥‘ú\h“D•mÚ3oë™R\‘R œ¯"h°|éêŠýý-Ðghðôùp¦]HPMÈ}&— ZN÷.˜²Þ Ó¥‰¦bXs‹Z@è´EÐ 5'«Ï•@ø$·‡&öŠý^·‚‰Òbe_ ,_f61^JÞÓí³j{@:lÃqº£tü’A×fFQ¤hejùë%8—$>1wÉ3@a‡ÈSlGBtÂ3àÏÉCLñÀ¯ Ø€xžÔª( ¼¸“Ê© Ic>ÇÔŽæžo€$ëÓã—ÞGÞeôø\ iŸ»‘µ{BþŒG$|-?Eö@š{+ °öÉ0eàzˆ¿µæ-›íõ©ß—¤MÁÓC{¬Áç%©œŠk²ö<㇩zç„6· -×y[¯¨ƒ@'휌SO*HyHSþÁÍíÈ:GqGʳ¤Ÿ¡Ä› ¨è5apû0ÉiÖ«¯ð¿¥Õ¶“÷ ÞI¹óMïZvš#0½9„©SÙŠ\;Ô›:³w;±%?7•ì8™C¢->÷mO©ƒ p_™lZPÕ‰R-XJJ`êúìMÙ¾þ) ÐÎùyòtLÄøk±ÏǨ«ë»¶µqÙÿ†ˆ7ºƒiº …Hþwñ`¦¢"¶6kgIî6—a_Ç|•ýPRHUjƒbãPŒõQ2È1ÄÓÅÅi9ã«jw¥ 1½µ[¯zêüxëØˆi‹‹fŽ?´­þMjoq‡E™ Cœô8„Üã»Ú\êÏbJ¾l'Ç£þݪlØ‚uî>N_ìüUhÂ$1áÑ[_Ž!Êñ5Æ‘ñ’4æšWäÕ€äQêоo/]•ZÝՀ㛰@‰£C³ÈÝ+”SQ*Í–‹o^¤û²h‹UKuI=Ÿ §+Öç±!|kQ¥ =µÕX÷;EþÌùÀúAÈ ÅêXÃñ©ü’ÒÏ©¬¯Äßì_wMñÈK^<8“1Þ`Ç ¡rïÃ%+M<[…Ó‘ŽÍúS|Ž Òí‰)µ—öcæ¬h”· C(cÔ±Þàð̧}vòõÚîôU0" ŠuýY¼ìsš³ò²j<õõ²S½Â#éüŽá“—VаÄzeíš;3 ¢F/áÖ3ϯØî‡ä´„ií/1"™·M“‡ã=cø™G²L%&g¡ÍEaNèNÔû•ÏT36°©%Éš)ë‡áü§ÀOœ«*V4OE'HàüD.¡=Þ2»vM*ÏΓlQ¾¢0©ZÜ7Nf(Ê.)˜ÓH»æ¤àñ+q4êR$…L°m\&Û%3 ”Ô8<¼{5ˆ¡~¡Ãø1ê˜ÜgëE!ê‰Cñ ùV 6ÈèÊ3¿Þéй9Ýðîþ{²¼óAëîG’<“4º1P ”«9¼¼Y³ßº#à]+H ÊN‘U¯¿@@ïû^§\w•2“S²¼¤bÀ­ÈÑ%Ep-âæ:v—T¦ŒFéŽÌ(Ö$‰l2صsÞ=4’}€¯ˆÍiºèèÆÄé„z®‚Ùtq!¶‰|Ùù¿†8\eƒê³36Sÿy(^–ñ4Oé0ÀåBæ”kÖ{(r™Õ¸˜jN®´é&ºU9༠p´UáÀØQ·aÜóÿÄ…5€¢ªz~øÈd+ÝrıB³iPZ‘íÙa7QÏ^Ʀ0z»øôžË˜\<Œo¢Ž«l¶Ýêœ0j‰:1í!pæ‡ „œÅÞºLâlγë£sb¿óÆ“Œb…à÷€6ÛžÄrP9™ C ŽI#®Ç,ß”Ø(‡8 ¥G%í'žÕ›w¼æüIg˜mŸt^7nžØÄ¸Ë’I¾À×YÛÕoÊLÙg¡¤®ìlñ°Å’ª‡q-xC‚‘iT`pÔ9®`ŸÜYj–'b*²ìv«ŒCÙï„7þP5Žæ+¬t{žYžjNå²¹  p½‘¥§€6ŠdÎE§ô­Xž;ãÑÿoÚ>J9£I¯Ç¿Cñb# ÝÏ# …«è¢>¢eDM¶ÌzØoke”€‰uàMÆx¦í©[1N0.ÛÀmßÐuʉœ€‰µò"®c‹0 6F»g(¿¿’³ ¿¶{Û9‘ý‹ÛÊE-7FXXÈ£™7F6À‡Vf³>ê€!H5R èÊáŸk¥ý‹I8X¹]s3ñ®Ú*´ã‚0i¼zgû_]¤ÁZ!‰vÆÿ¯Þ]!ÇÊÈPHþ¿ù>>`÷ °fòÝ1»2,Z‹†« MXm• D"ú̶\?š|¯¾pN:»¦ŠÅÄ%-ØRöºH[&º—6Ñ]wó99£°’ q™¡ºdz ˆÓ¯ƒKÆñµ­ÔOø¦úÑ‘a[Û­¿­÷ØÒp—À¼>ùbV#ÞÈ׎ò²³Ž" &C’KZº ­Êƒqÿ¿^´ä6›ZRvS¬™ß¢ë²¹¿ ?™6Ì¢Ã.y–W¢3jjFó.³ù‘ÎÒ®Wkƒ‡s÷’”FÒPõÓ54'Œ eå_Z2DO'ÚaÝ>á¸P \¦€¹j)­Ôd V`#t«ôš-nä•ój.“Ó‚°bâÂa,;÷Ùèëd1Î7›RŒ$W6Q`>@ ¤àµ­cz褗mï±*¡ßæ†K„tÈònq£Ž³-ɽ²(™^7aPƒí[àÖ®lÿ8âm´KãðM'M²wiøzadª<¡Kâ•/`µûi‘¿'[¼³dè5¤Ûd=š$¶Èž®È’ÂØ‡Ò~u›tsá<™ÞÂj¿8н¢z8¯Ó‹0a0kIÉJ•Uk™‘ôƘ%ìeF–71¤ ëð ‡ú響ràQÈ ÓbY—ÚvÙý®à¸þø)}8ðà>œ´)‹½Úgx¾°gdZ±MHçY±`9àÝÞ@cÇ´ÔrŒƒfîhìKoCeqÚqë(ë~ã[76û ¼Þ¬É=«‰»pVð£øÑ wŠÄµ7hQZ`ûµQcũԖ_xU˜6hçLvÑ~/¡Ç›IÓçÌ€°dâÆÅ$[v-ñg·k¡ì´’/ÑÂZâ{\ß!ÇJÍD`ÖŒ ùå£Hì‰U&½*˜oÊ€8óËÓå Þ¨SÔ0v ùÆg§oþƒ-a^U—µòÑñåLa2ëØÅS:¿ÇÎÝ_:õ ¼9ñéy°³nd×qÝßÝ0<,Ó¡50I'cÏXÌî¾Ãë±G`f2  R<ÍÆeÅÄòUÒÂÕM^'„´¥­¢˜„ô_¶´Q¿HšÊ(¨a tØüFf‚v¸–d1à‰fÇMØ=vµoñàŠœÅˆ¡C¸Ì-ÇÎýÕmÏYŽv0¡{©hmË"²щ¥nϱ KêÈ\ÖÚ¸|J+¨‹ ¹¡\>€‹øÀþqîªÃ_÷ âBÞLŒ\5ëiça÷Zฎ%¿pàµó3¨©YîÌ4÷BƒSðY5y_ºy>ú‡ ÒýAN*¹€dË€•vôç9vj¾`^7¥¸­Þé­„vE»Çµøl\J†˜X5}272C¡Æ0ö¿#(ÍŸ"0]È!ég1Iœ­-ÆçNOʇÏYõû•CXQàÐI¯ù”Ò Ýø*ű¹¾öF*@ò»ÑOÕ·é.‘Öê77<ÕCµ¶cyÕ™XAÈÅ4‡´’j] ¸ô±ÓPÊ|£¤§ºUIMò Æ©Zr|mH p,6¥[zyŒ` LO»¢ZÝáX8~l·m^©¸ )ÜQƒvñä—™çìJÛ±瞾ǜú,5`ùQÇCʇ–X¢]üÕi`¬2θSæ\‘WÔÿšÉÖmA ÓLôæ¥9ž’eóœçj?°ªV)÷"(F^¡Ri0 /’U§+ø[%¿çöqß!| ¬Y1)’Ä€=½R»ë:‚25’_™ÂQ$¢Z(2p€Ü̹YÏ+œ·Ç‚~»wèˆØJ¨q‚œÉøÝ¥ÈÒ#£˜gч׈(JjÜepþú˜”j*п›Ÿ M•ÏaO…éÒ=á<ô£FÚh—¨ÿ°(t’‡6´ØâÁp’©]×2yFf$µ¡xÃ)L²@q“Wû.‚¿ÛL{…Co§eñÊ‚º.ù8ˆgÁÓï8Žvd ëé:ºïâPãÛË?¡=b©eAaÓn‘%kãñ„ü‹mÓôFqîøûÑŒ]Æc²öF/4,‘>â½*œxâ…Ún3¦ù옟Jº}òÅ· ã…GO¼±`_eè2y¢FÀï"RíŠÎBèÂÒYÄùËÖ±Fù/Ä…é®ôn§¦Q^Aò{“’²…GöÁ°ïŸwËÿô÷vB³ec2@ßïHYMXEš$IYë"Ra«ŸrÀ{èk¿rtgtª.á€ïx„O:&„ It@‚âJÊçKžÌÝW•éhµ‘´¤1´Šl1öÆ•¶|#órNz4@Bn»L³W|£õ …²}QAß©$¢û>Ó¥©m³ÓQµþùtéÁB„!, jB†Š‰gÄÚ%×Þ$;; È;òÁ®ãÜaJÂÁÔ €ô)HGÓâG"~ftFT„ùÊs}dígLNÞ|},w2©Trà _UwdÉEªMÔz‡°¼ží–7M³ÇÕIX¥9Õû”¯± ƒ …Þ¨7Êå·º[®X‹õßËMLü?›ÏBŸ}<9z‹ªk†lò™ºÞÿi|D  WÅØªŠWêÕîŸZCÀ¹Ng¬ÏÀÞq‘åü_{hi'¨îΗú×]ÆÇšj¡Ðæt˜jõeòÚq©RF]S4EˆXó'êMgN±ÿ¶]ò‰²Î0²ŠtÖ—°Q¤U¨åå+‡GáAM+ÊÁ9ü¦¾ï §—®¸]£9¡©ª˜Í¦)MŒMC*)|š";'µ©^ÇzèªdcMKØ;=óìÑ€eJò󀔦¨cŠ¡#Uù®4Ÿ£IG:yûññG—i•¸ÿÊÑK‚D‹îJ€qSèP4ˆü"Üê7“U›{YÇ™W\8´ü«f·²AÉ>¡Éž¦g´ð(£úædö#ùõ-;––ƒuŠ˜©€my­pçßµXM¨Û›‹)w굡Msµ–'ê!xüÞäAVEåûN¼ï»`³à¢[§UâÖ¶;nÔž½²ý‘SIOzs#à'¨‘Òx4¬S.’c¸U†Õ2ÿ­ÎþuC…ž±¶Ò4YùÂçapg¦%¼ìHO¡+Èþ_ùŒUKà]K×ñÚ cåñ¼àUªH%kŸÅþÔCÃeñ°")íÏA5ßOVVûV´Á–Ú!»drE­^É>«eƒ©¯eýþ5 '\åvƬ˜=üÈ\sÎðjÕ4¿9ó©t~í7~0ÍN¿GUzr~û«øLª-œÆ“Þ ÍÕZdKíKPR $(,@+cº„@5[ ÷mÓh 0`¤ðì¾É÷¾ Y`wZŠ­Á‡Ñ–fÜK˜&E0‘=ùÚ¦Í& U¦Luô÷€…xÑ:2ª'Gò«e’ph^ѤÂLàÀ³LE†'`÷_uPµ¶ÒñëS¢ßÞ09íAà•ÖÁ¥§ê‡[ØGã󚮉ÆÖ³\§6o¿ ÎÍצ§×Î5ÝlbÙ…w”»z*öYþ\-û8²˜.½"*¿w(q EP7’¶‡‰ã¾"Ú?¥ñ5ÍÎ$èî-;<Ëýƒi*å~ë^íÃC;îâÈ¡Ãêàù R–roðÜü‘¿#<ôØ… ÃCFOFÝmÛQDëS”zížØäÈe±ÅHáí„ö(>€YƒžM.¶Û(o9"»Tˆ×¹ÌRªÁz}íÕ*cˆßo†çM×räåkb•1­*3Àáü‘ªˆ$Iö율¶#Š­jBÐâÆ¨T++øyë,Î\Ö8ûdÆi WÉÛSj‚Ÿš‹P¨úSQÊYð#ç`•)d}…óH*ÅTSkÍñòõp¾î3Ñb†¾ êáKÇûw^kæ6¶]V#ÏL@TÉk¤Ênã¯9 E…÷[v6Í$Ûíøz)ÊÐá§øoàrÐæišûèuïÁoqŽâ}ÁÑå\ýËíÇÌï*/®E«Çšg‹FcÒè“C."eÒ¦ƒ9ÊÞCï¹WþÝ^5û–õQ?ƒ;‘.îJ ï7œxÕgS]O9›`8Ò¢& úµ a¥˜Š[‘ÆÄÿ©aÅÚ½½ê—Çé„t$ËÆŸGÕN¹uÒÊQ}‚¦£f»}®W6÷šÔô³.5^{:Er {üQ€ÂÌAí‹…«þÒi ššÞÁ+ÝŸ-Pµºþ³>Höeÿõ|•¤’°¦äh8â•R0Ü*hˆ§ ºÖðûâà+abLå4ÃúÀqc]œÙ5<ðð€!âà”öL„ËA‹ŠG-öÙÿØ~ž)E‡@pr§¹Y Ò“{£~[Å¢Höä®ðKÁe¼zH¨ýÛd§K¨¨ïºh&ˆ¡Çæä«ª|#ôÐ×fR¦+Â>d^Ä Ç+É‚ƒ¿yh|קׯ ÂmG†ñú u`7X2*Ø7œ¬Á笅o®[k`¦²Òõ¿lˆ÷%H¿‡fv ÕÈÀ ‹L ¨L”U<ù\5„cÌOM¸w‡<8¡’RÃ(Û>Å|;lÔ•ûäѺK†çþªò!ÿ ï ÊMÓKžã“÷ù¼û'Ž49ÉËc‘j]”!sCR—Mµì.‚?ÇãÁˆýÌL¿dR1\ýÀˆó À’¶îê½Ü ¼"‰í·ˆv§ÔúVQ9íû˜3†*GÅþ§_8¶Cƒ¨.«Špù!úÌ’¬!ÆzRÌ>2ˆð [+ˆ1„îœë ÎÞ"ö‘¦+¤ñ£»§Q̶ü†•s/J€Û͈‹—Ìêé íxP7 e¯ãÍðZ¶è±±¹× Îk»`Ò,OÛ¾.Ò’·¥úí—¾¬DÊé§Î.®=ô— ³¢n5G¯ÏËDÈJ¹+ UbCü6!åK8ç˜ö»FÌ'üaŽÑúÑÝ¿?*º?Ø ­Ù+kà‘…ÊñaÍú©0]ÏhC£)£J¯”,½ÒÁöÜòîŽi³å=¢`7ÖÏ4ö_IBúžÅéëH€_þ®sø­sy°M‹Bå1ßAR'e9~üªî@’Š€€Z–:w£[«ÑܽԖ¿®m³l—mõÓÀsü1£AU,õ×hèúÿÝq½»£èÁç‚2ñ­ý#ý,¡»^ˆ3n0^Î@êéÀ¡gÊ­&)U)ñ"cÅ”Ëîgë.ä(±OSç¾ `¨*iX^i`ÖZ4,ým> z‚x7,: ¶ ‚À œ˜Ž6:|Ç/í>&S‰‘6q±>1>0»ŸÞÂu9zOËYT_S›~]BeNbˆÖ¶¥Ý©$-›l½KÕsõq:…R ï¨ÆÓâ[—C³õ­+‰DJá¶_:11\K"_3Báƒo`’h FI²ôózÔnõ¿u}GaÓÇÆ9p›ûžßâspÁ†ÚÏ[³tŠB-ò€6Þµ%𠇝2ÔôÅ^X K±l´rüºYÆüΑ½)ÜRGì ,êS©…„ñëo¶pOÁ+ÞŒY¦„”A¼úç'ÜëøÅJãoäW#C|Œø0|Ýh¼¿Î4éÔPK÷11î­†}–¤[;^ì§‚áZY‚ÞSÚØ–×”?Lºk½hǽ¡B~ËǾg¤X´}¨®›çå}fü>)Žj2ø~²éšÒ™]^ QM3kB¼&vl¹qŠõºQ#wU¡ ­Ö»Ý|*Î-dþ°ÃïÜSAЬ^7v*÷›†);£Îó7î_ã’œFæ0V°¯hF!kß·ìZÿM Î­ïìSÛ N£÷§¹•]VÚªuÃþˆOG$ÒÐ<§äŒko¤V&(_\ù…PG3é}uí’oUí¾ mŠ€Z—™vˆºõ­ÒžÉEIçj‹/v¤¹â¸_å`b¤¶Gþ=–Š…~SñéæÛµÓåÚÊÌÊo®DçWjÃ/9' 9ä±¾Õø^Q` Þ‚Å8r€ °N?À~oĘ)måßìï"Ýé´ßró=_Ò¾,}Ô³õXõéÂLÇj˜R8“ „*[²ú¬†ÓTºj‡¸P?ÕÊwè•´HAÂö [¶¾ =:ާáÿ´ÐÓÃ7ž8r/Þ„BôÀ‚@ùE¦wâœb7 ùH¢‘2F{sX‚AgHÐQ|×¢SŒGÈ´R‘‹/Ulåݬwt**™Ÿ€YÚt ,òHó7z~¦Íƒ²Ö®Ö,5à`hÁÂ^ŸwmÝ1q˜M2X»[ƒ^@FÑD¸•°>’IÙò²VŸì6r5ªŒC2¿Ä«ÊmÒom‘‘»®´ó à Uö}À…#¯´w¿Ùé~¶¯æQ‚B§ˆà; qs`ã=åZR…$WÀ&ü`“_=Š×;*º.m²¦ì«ünåu`5 ËkÕ‡©åÿ,ëñ:0úö° (SΩ£œØ{¯€˜ÓÖ-Zï'M.çüLÅ‘*wp¶è`ŽÚ_éº7-$êåaÛrsfV Ç5y xY„k&OÚÔérZc>ŸG]]ûT? ™Æ¨‚ °®È°d»×®/ Ä•ñ÷ÔăbáV*ÃKM’ l9k\ó¬9±*HA’·Ä—é²K™e® ×áy^rüæô¦ÄÉÞ‚Ÿ• zëlXwV}½óøúi^ý|Ü  âˆg%Ì Sy¬-ºÆòoël-DòÄÝÚÎŒPùpVRù}±Bó QƒaÐ3KK±ED50tBÚúUàÚ=1 Æ+ðCP¢¥áØæš¦&ðrøSëb¥*Z–$ÞÞG?·~Òp•ô’*]d…÷S°O_¡™VOû]/Ú ¤5ah$@ÛEQîL$)b»·«Öõ,°a®#³£n؈…Ù÷%zk'Y ‘¾“bâ5'ÙRç"ù†ÌŸø-ÔmçŽû]’|±sD™»h0C½kˆù­â¢Š¼[¸˜ô:ßÏJö ΧÎüÓáVãÔ0x—Ù›E¨u£þ–ÈvqÆ—…‘j'áåRX1G ºF÷ÜÑü'^ÌiEˆÈe6½ @È!-¹çÔäë±ÛDƒÃóû­9™çUÐ;RQÒ? t„,ùIm0_µp„)X’x‹X…çÁîÁ’ÜľŒOwMuxõÿH‰ ´ûÃv준}ú(ø/ÇÝÚ½ý(øù,±ï¢¶:ÍÅt©jeþrÝ×™—ˆžjg¡#áéƒÉ£§*Û`U éáŠÁPý"„(TÝ>VŒ>`-®f3§æÓüP‡UEäbùÕ—ïüÀÌ @ÂKO‚ Ïÿé®ú<ß»7U;¤°žä~Va‘{;´Ü‰ZwýƘ@ ñ5;‘¥d°cãooXQ(›E » Ô0ŽLÐ -1«È\úK~ C86Îg/<äk^Ê~@½òØd­WpËÊFÑä¡U#}|N "=ê#°ôã'ůӠCs¤kI]Õãæ„§‚Œ³&?l¡IeÔf¤«ê£¸© É94sa·Q³ž·8Ûǰ :ÿAÝ@A³pt„ø4…n„Ul3±3ç*_Q‰™4¼m±¢¿è „eäátpXË20Âvœ¹Í¢Q»cÓ 6Òúâr ûºÅ½ÿ¼Ms9¾ìfùèO¨Q´[—ÀíÎ_ N÷ÂîÁ†kÍ$…TW`äýác¢p(ÅŒ²¿k‡ n">6ÛuèXy»¡—ÅòYüiIéYƒ%fÍŽ¤ã}/QO y“¸„C¾CO"uµ±$Û –à)òqx'ŸþþäívŸŸsÀÈ:ÍMÖêrbëgrBƒÁ·ÿ:ŸÆêx:Úµ7Z$~]¹tô²¥À÷‰¦’‰<š„é‡GŠQ‰É¾G¿ŠTιf}<Áðtþ?‚&ƒÓz®Új{öÈ—PsÃ8ÈK®)DÊ6mªY™¡äfÃËgQÊ0¾(ÑöŠöFžáÇôŸ·? ÝØlòx~u±¢¹ï}’h+2Åv‘¶ ÕÈp·Quв–DïËœK³6ƒûS¯Me¯òqÛ99Egµðî/Véݦè® )’ºvV¤e‘£Dà |m¦ ÇYîr‡M²‘8bP ˆ½ëY=4ðŒ‡ÿ§œRgÌÜ^覊¬ïµ2ÿÕÔÝȳR=iÂ2ûꀆ< ‚¾–Ĥñ—ºäÛj6_­#•£p—ñ©#ÇùQÎ{ÎÑ#¾ÆkLÏ´¿@ÜÙÛÇqm!‘=n„z Ý̆øU—ˆÔýé™qQWT{„ûóX†r3U~åmoJ:sE[Ô|ÝA‘»pÇ ‘aŠt, h?|.ÑèÅÂM²Êað©ºR …sKG1V‹tn€¡Ðz‚}„NÊWeøßŸn::l™»w‘À‘!‰Jøóí”.Ô‡0‹N¸hã†1²YŠfÿ0b:{•·'Ò]FÃë¡CaªfY¬D»32ž`a±¡ »¬L×z7‡7ˆA{±TÖ96RD>‘7¢cD±ûŸXé'x`(­Š^|ÛtIRäÙÓšö­Ó¡Œ ¶ÌmXxf(÷Ê3EfÄøúQ? h«E>j&O[™øÛÀ‹ÝúWV€Ã›þý·pcH~R…43˜°6_l: ÑÇÔ”Æ.ô×wÀ£Sëz'šC±àpŽ¥I1*n!(÷Ñó°$Óô<ɽï€i%˜W oö…¯Ð3 §‰)ͯ0vàLí ÔÿáB%á ‚•"‚±µ=]\U ýÆ\×ùï@m-PrkDæx“9PB“Æ~½L(öïi~× ËIº”Ü`ú#&ï®5 eœ;&noÕiø‹þàˆIgT³î‘úNhšŽH‹vßVJèžÂýñçf9õmh'Ÿª–gÔ}dl!··ïyÞ–,6ûBÝš3/2ôýžŒU¦ÑVÂÇ ;@«#ó5®{ÍÉ’;£—ZÙækw`èL£<ÃLÅ*$€nüeþ)~Î %nÜ<@ðkøðN!?“ &éÉbÒùzù.·Ë¼õ!9s‚Qòö¥ýJü®„\ŸµÐhënêlåFæ%WeJZâG^SyýÒ4½ŒWî) oMIÖE(ãÏ–ٌś÷sèÜ®)=Pü™˜ÆàWˆA[Pe]úH_Œ[ñ‡³ßž² ¨ d­I´å…;‹ôméƒÚæÈ!)‹eóÈí]Žn¥ˆ6æ‡qᨰ‹§A°@è ¶¨ÙZ$1¶@T›!!]šBTÖ¢b¹ÚÃçMižÇ.ô5‡°f8ŽâÔD LTßçÂÂI ‰äÀ™Ëè1Ý&çåMΚ): @ÎÔÇÖfó(×÷ž{ã—Gœ7pyFÎv"9–A•Žkrw^åÂÜ·DÈ#éÃàŽÉÑŽ“¸¼ÑÄ,ÍR¼ÔšQÁUÈ‘¾oÇÜÞÐmKÀêWÙ]µE4køY¾Î3ÏÏ÷ѱ@ŠI©âʃ¥IG° MH€ü^ ÝáQ¬æqJC¸]ʈwó(Õ«z5Óþ$Æï—6IºÈ‚ѱúíUO‹û†u©>[€¹µ!Êîó$Iêa•´Lµ]ÄÕL_+ã_5×øB4:#+¥í*['>Äû:ê¼#J9ÿ6ߪ£$Nˆ¶‹ž*ÅèZÀƒoà„X²—掼 õc˵o/YNŒi,Xô•­õ =ãd“ÏÝ:%¡Œ™ºi剎¤â“ÖG[¹{1n·Wwø\ ³K=øKÂÝõ\ׯ`wZ·%ÍZ^¼2¥–•á1œPžo%ʃîðšI+ä¬ÛÀ½f‡…vxOš}¯­|f -·Je’2hÿšÅ2õLOÑ'Ñ+±}8m,'`uÓ§—RJ¶ó³7æ8 µ`7αoU¬o‚#^½ð-Ôêã’P¾XÀ®åÒÐâ\²Úzå]K¯þryÊ9ïn åÓ®jÀ `˜Ùy«WÝ+@ç®eL ˜‚&X}\…”ˆú$~D*„sXÜZ¦Öa¿‹í+}zTñÄõ'±Ì~DÝüÆ¿b/ÊÏ©«T^wýãôrÏz°ª±,Ò3Ç‘ jWàj÷½¬°óÈ_kJ#º#æO×á³Û¡Èˆ(µ¨úY@ðª\š…N2©‰4R6ueaí­ Î}[ÎàÓÌÔÌ<ÞÚõ0UCuØ|¿M%¬¹ÿâ e½PÖÚXIk„qŨ5Kæ’rå›ä”ÏÄËK'ûñzድ'‘¦{=ô:úæË#Ç Äf޾ Ãø” Õmƾó±1›œu¿?Ôœ¡OpPK~2Ò@ÌäOíÒñÖÈùîFô4´Õ”l¸¾x—Ð:YzŒ’®’¯@ß/ dÄåvé¾Í(^pÉÉ·~¨!ËPðs€ÿ’ÿÑuO}çeê¡Kj¡‹SqÒBZ¢É@"ðܘ+Õ[4*oS zϪ«šYK‡óñÿ¸(”qÖé­Cåd0y\Ю¦«h^'¢wÙ”ïVA¬Š‰58F‡s– @䅪僮xÞí?ž¢‰¿/G ±`®`—±¹ŸsÜÚ ³ â¦¯Î€X‹aÀ×ä6¦q§ÏTˆÖëJTûDç?ë^¤EŒlpµßȲʓ¦§ûx¼t>µìÛž£!uƒº#®'Ñ$®ÓDáûx1ÑV¢((nOj¸é6¤šÁÕQ¯á€§ ndû¶8K>m:…]Ë=Áñ¥‡#!1â?E¥Cc?>† z¥ ȨŠüõ–+´æf­êpLµmÕ¼ÄËÓt69*gì‚çf&×só"‰{ìM÷Àc‘¸¹ÍŽ*úGº«ÑÖœãjœL`·é˸„Òçu3¬3wõ™È>òtf´§×ÏOŠöÁšÜ+©NÕ;ŽÚQ¥ÔrÌÔH‡9øê L'<ÑÏJ ‘¾êL8Ó¨ÔÈÑ·l¯Bϲ Ñ”·Òq?CïwUºÑP:î<“wòX)âà˜ÔïUë‹s,ë×¹@7/±u…óv¹ ¿IIã–:ç—ÂÃê?ÕEQ…eA;¯hˆ1[Ôb/¹ãÙ®Æêµ†·22lV¥³ä<[ˆøè{KëAÚžÿ¡ a·üÿm⪠ŒþH‹oŠy=ˆVÍ”[U+gŠòÁ±YYƒOJ5¥Ä^Ùá©ô€¿K{–ÈÛê“ÊäÅÑ\q±3󫬃&¨'ø Ò C=ñ:ä•Ì8%Ów4N€þ¶¨j:ÓܹÎ~ýBj›\(qžÎõ´ó&áíï߯`%œø·è"À­Œ¡É[L“¹@šxT¹Dç¾Ï”Ñ!€Fn#£%†mc¬ÖñÀâ7e™°õ9oo¢s²7l&iJŸŠ%MlÞßÑé’Òµo“XàuÕ;[/ðks =„ÇAjÓ¦_°I˽*[ÊÑ' VE—hwDÛ¸¡S†Xâ¶#ßoæì¨FV•þåÛæZἄõáôÈ¿^_¦¾ÿD^Ü↎M÷ãè«wüúHPtT~ê‹"ûÜXïU¨<_HhÇì¨ÞWäÑh~òÓ -¤ö='÷ù˜ ¸{É /‰‹r¬ µ6׋.êÍaÿÑÜÜ^3_9rn DlÐŒ‚R§Ðlý[­Â\WÃÏïž7÷í»‰è+ŽÄ0×ò@&¬i×ÔwÏe±; ¡s'U91!H[q w†Œ]¹vçü–}ñèk‹œÓ_}JÍö>Vô fgzXQÑ𑨞[äîM0.Ã@ž8a›nÔºEÍßÀ0l^†ºñëÅ+ÜNHš“Q­ÊE·t@Rq\€»>Í­‡ èõCÏvl÷둹ÔÏSàétí¹–¹˜ ÓéO¬¥s¡”Ψ”ìþsŸº9bÆbD¾Ÿxíp¿$n½¤<_bÿ[²¡6L›±ï,¬.CÿC7 ÐìÔ^«p]Çë~DBëPäÅ·)ÊÆdÿ"òŒ*‹g¿í£Ýו¹Ç×`:¦šÇW,Ê·N±„$õ>íiŒF8IöÉb+áCö³¯?"%²b% Vs„2'õC?DÌ«ooqGz PÏ)wÕß?ƒé82Ùˆ“u}+ QÆ¿+ß…6±ëÅÃ]øVÒŒõ §FMé¶bF e9¢Ä¨©R™¿ä+­ãkl 'æíýy+5øç¡Êl»Ž±[žè½ÎmCxo!É«öösñ•åpëåàÉQ¿ø¯rqÄÑiI>8B% @y…ŠP‰Õ哳㜛åök½g8ËŒl»ý\D·¢ÛöOî+>‰—7°± c ¶3šÖJäOóP×{÷ꯘóFpèf fA±ÃQ{8@‡È!©¸ãñ"’8)ˆÉiÕ 4Oàvq_»åh¡'…/´‹_<'ºMã´*ÿ˜&ŒèÆ‚ÿ¿òÛ¾íÒû·¶“ÓâËU}ÙˆNåLV2d`Ä\-º–½÷Ó‹«. ܸrP_71¾=ªxHï¨^5†. E oÙ[–Í0hÕGæubôÌr•î¢q×[{êƒ×^N†¸OšòP'ìˆî0®R_¬âöS IE©t^ç2B.pæNüÃ4÷-$ o›eª3ĸÖMz(Äë§d­¡Š:BÚäx„ê 3<¢íXð»h#wßÞG*Ç]ûMì¡çWTŠv5>O²–Pµh“9èC«p໡ªýáÄšZl ëÔhó¡sWÚFÂlÏ7[ÿºøÉ €ßÔœ¯\?³¢r¾Ýó<>ß"Ñð0¼Á1ðÃb)Êûs[-qðÐ0¶¿7Æ6" æŒYàIr=Ô.mdqúÍ/µâX8ñ.´ ¤q"ÕU Qé]Ã6Yùæ­;™v4Xa÷6Ö„|Þ‘¼u”9Ú^?À_=þpbô ½øÿOÔá/¼Òu 7O;ÀOÅzT¶/ ëðÁõš62ØôG{TrS>yˆeðB\¹ë·{M˜›‰’8Ö±ÃÍxÍû*Üî:Q‚=6®jL Z£ô:…Fœ~ò:šÌœÂCÊüp:'Ö®ÅÁ¿Þ³ù"íw­@d“C¤Dd ïØÙköÿ§phö=$‹^h^Ëtt…öÇò(ŸÕ@ê³ÿEìˆxa¨ $lPó§WNý£M2GE=t½”«—/€kˆ¶7%–Ç^`Pj ž¡™1[±eºPT4` 7}—RN³ÈQœÊf$¬_J\á²êŽ!õúƒ§3˜ÜÌý/lÏIyþ¡)Yã5œm_lû³ÜVýIš¬ñôU½áWêÝÚê¶5P|\îÖV¿D°°MȺ˃ú Ðï%Ùý ³ƒÉx^ ÔîzK?Üà¢ý íº˜¶‚³á`¥>tÈ¡"Ùg[#’¡~÷ä’á&:VÕizoî$†ÞÇßbî&ðåœz¯ZpVÓqDÎ pq$hcmîÙÍýܺ•sc@m~Rî/Ýùö}Š[Kb=rK­e©¯î®ŽšÑUØø”`U}÷M-ã«T¸Ç<“|)÷“[ðÆ•J` ZåmžÇâHÙÝøo f¹·)ÍGgIûV<zðM:j×èÓ£,‹È»)nLRaâ[|ÆZ4Jg^„¼ ºAÇÎ1Mã(p÷áüPç=øŒ7ÇPeŠÜ¢ÈŽÑ1ºat¬Ø…yAùHÒÐ)V蚤ciˆb*Ÿæº=0ξ/q´æ/¼Q»{åh~UáDÓ~¦‘zÔ‹ª,ÃÕ÷MšðþûÀ..ÅÎCJYØ/Ï’F`Åÿ^&Ù™Ýy5 7 ÊÄplÊ' Jð~ÌN—‡’…5x˜A:~#JƒÓov°¤ªZý>%{ÐÆ·³ÕLó Ù¸¢jû*Ãit ’„…eɾZ¹ü0[† è§¥^K|¶Ç™°6Gð‚ê úþ ^ÈA½î?›/s‹l ˆ¥¡«-itEÄÌ”’!?Ò ½¼§3D«Ü þ<íØ?x£LõïëÏr"_[B~«ªÜÂż‚èÕiÑí½¿3.×ÌŸ‰ÈÞÂ'Ë1g7õØ7Ì‘x—Í\ÉquÉL5×l×LÚð\Ú«A¿Å2³;tOQYÛÕ˜wK<¬[Àè~ù’Ôð[qÇ$“wk/U«KfEáÀp¥½dp]; †^çÄ[Ð]Œóîëa` y?P÷Çg¿Tyð7A˜üäá¥-ÓGéÂÿ%xîF®:ǯ ¯Tø! õî]IàѹE~#„ø4l%æ gFËÏ®ÙÿbËo鵎¸Þ XÇs£WYB9Ž:ÍnÉ㇉út$¡°‘‰ ¸*ÞVµh¾6Ë#ÿöpYÁRç»O«{íd"‰u¶G“òÁf[H‚ƒZ{š]­}Zd1÷-p—R ±*o5b4ÔŽ6lˆûäñÈN‚ÇCh‹‘Ž¢$Œòàø.vbeuYÜP;gÔÔЂäO?¦~ß!s¸.`”ëÐ?‘œ³8NY±ãü¸,PTïãηÆéÅu$›Ôbíä'Cå7ìRoVz91>;†—F ÝV%Ú,p„B¯2ÍáR|[¬ü¾C9*•ƒÇÚʆÈ*Im7!kUÍÁTn§–ae@¤¿µ‘‚ÁvŠ3¶FŸF­Ìsr髟¹Õ—9Žð  ’6%*ª€‰–¦Ï3ÛhfW Ä5D"—oÕ¸0ó=xUu@ˆÊb C6/r/àø¢OmŸ‡k¸ úKŒ6?7û “ä¯ü„ë%9|“%»û|#´åíùùÅõZ”̾tñ¸"F7!vÐ]ÈŸËN›Òêãx1=¶ýe¦ú?µ²uÕ—£=!÷¬b²²•! ü$rߌn½ 㮬Ò(öä9‘ Åý§’ì‚Jfµö¼±¥¨þÀú| Íþck•®à8¹¡[8Lå.°´JLŸqD˜V" RÄzbDwmõpraª€IÈ`¤©¢ÕŸK8þöµØ÷¸xxºØY|N°J×µ®åÝÎOlCfGšÈmvc(WDx»¹Ø)6F¬íësüÛ5ªêù”;¡H¸LTØ8µÌH¶Û0'VîzŠMF·55•†hzî[b¶¹„Öß~/p2yqªñ…øp§éÿ÷¼Feý‘“y¢&ÖNØUþfªSWzähm(çÒ‡®ïF.á(ôÞÙŸ:! áHtÜ$_4”œu×TÇ{9_›Ð_ÂÿÂúþw 8p¶P]@A“2òa†×Ò·u‚ÀøÍÕÅ´í 1SpP©f$ª fRI\ïa•þ]{Þ•£Ø:qÇ#/© 1á, ¨:Å›µ¨ô@/™d¤Y}γ£óý@ÚpZ3e𑽇]9:Ó]¸±»1Ó2' s«WÉ”/î^Q´ÚC^ÛEAu×ï†äÖüò`BTÛ”}~F–þ™èåúúÛ@~·Úí#±nPP´¡$};È;ÛÙ0ãy¬pÝýµ34 “²NDìÉýÒç-ô XI üuÄÌG–˜è;¡*U6ï8@'w G¯Ä\v÷æ·"ß:´=õ†×Ï1j‡Å×Q\®àGJýúŸÐ¬c+¸&*)Ülµ;€ôIîë÷é{&·ó;™MLdù3+‚±í$n½–™©OãkºXb¾l`Ý[$‡ä@é–«ž<à ô˹  ³^9ÌŠí¢­~¬0õƒ1 \šÑÄMƒ(°öeå ?Ù‚>°Ž{¿ÜíP6ÑøvѼ­ABªkæÛÄi[ØSVÒ åjiÄã£í@Û lÛÉf~Nt„únÁy3¦îÔ› ™¬ûÇ­$£,Vá mà©ä"!Ïvìw c#‡Gg0SaokyGNëJ²&ÿd¤\e<.fÊ€·g¾ õ&/ùÉ7ZlE.ÅBòW™Y·Áb%€…V˜_ù¤Ôu‘þNž‹ŸÕ‹3ÍÛÛjðØ´fâ¶^},í)ýv›Þ¾-DÇŸ•ŠùìÊÔ©»ÑZåס¿ß^ÕUo¥£#yË~õß•E‘oaúƒ v{©¸žü±ßpqœY/¨!Xg¼Ò8ЩáHt;UR‰jDê¼ÈE‰ô¬y MõýläÔ¾œ>BWŠÿóÒ/hµ^v=3…Zíà /ŽHJ´àå½×ò÷k’g ¸j°>N.ð³¢–ÁOãj5(ôÄÄ„,É+‰ê@Ñ·Üœ®²Dï"Þ‘VªXÚvy-f¬óÈÀqsÂÇ'.$ âld¥°Ð剆(]<ÌJwÎ×–YÒ óy̵‡à<$=dt Ñ 9òñÀqÎðÜa°7°µ!HµªE-étÝýDŒn€Â?u@,Ao®º%~ݾv€A¶Y³²Ù±Üa*æË·ÛÀe‡føjs Üp<>Y‘ÁeGéÒ=ýc|½¥3ªä.r­·« b/Wš3áf7›|õ ¿hV¬c“ÂÊiôN‘*¦€¬‚òÒ};–ŸŸ&”üFŒy´ \ŠÒ›ÇÎÖe¾á Фßcãržy™¢Ý*haYù°9<ö×€ï•û}¹9Ž”<ÔNÒ¢þÃÁ€ÀýþÊŒ·V-Ëë¨+½›EXkÆc#t‰,•±µàø7KiÖ>SviÛCmƒ®SqE¡?@rÎõY²É>a0Ùë0få|Û‰X¦Š'wüi𬠆£SÇöFLbx©Ó\¸ÄÑ~ש%çþ/WnI¤9ð€púæT®Ø÷ÑûøaÛVä¬ò.êbòdè𕆒²ºzõâmö•fÓKuÝ–œU>~ÈÈÏœ¾ÅÝ<ÍÂ.Ï~šŒ}W©ÐqŽWÀõ·o¾ËÀŽky§lé»$‡}B±ªè¿æ–oëh5-ìÕÄ‘¤}ãh:„–›Á©p¡Qœ‚üþM©7êlSxyš‰×³¤H-\ìøi6€µšÐ週ØÍ÷ ©k_ÄjÇÑíH¥ÞÇ$Ö>äÕg¾5Ñ´ C8ZÍËK€møœð9qÿ9QŒáow³\açV«u9O#£sŒhìÈlŸ:Y•ÍMN€ÓŽyÚÿVÿ+ªAìúD*¾ÔY)IûÓ'düIfA:³¶á€Sà»ef7H,GyÏ“ÝÇÉu'¦Kñh­“ï–ŒAæê®RRø¼ñÌ1ýñÌ¿Æç²¼…­>ý Fy#¢Ç÷ôÝŠ{ä H´¤Æ­X<$‰¥ûΧ>ø Ë©áõ£t_LÛ«Cyh•·E¸Ñ©Ås®‰â—Ä8Ña›+žÄ45Fþ”ÊÐ] ŽÔÝa±®µ!4LØ ul>Wè2L$ uPrl€t÷”2cËó±ˆòcÕË©7"ê÷;`9BÛCèõøÁðöÒUAîcq, EoÉ Šl\““ ¥ÇðyW²Î&µá…°jv —%>pB”Ït“î¨ê*Tœæè÷¢{ƒ’°øtŸQÛÛ¿ìºfQb„AÐ8yk=œÊd£'—ûѺž0 +Úú3ïeÌG‰+ ¿ÒŠ_Ê\8Ë^ïÑm K³èa’d¶7 ¹ÔF džCD”Yd2»ø(ecжÐ!Þm…^#•Ž,ã[¢êm;U2M3.•ûû©þc°±ðþÌW=öó•/†°Nbj[>ßË;w"K)f›fÛ+Fr1MÒÏ=·Ì¯Î:Fa /¡ÃXo_XhžªrpˆÏiE€ÌUóØÉ›F…A•Œ<. IÈ«ò‡lU)¦{JNrS¡7¹…ëO'‘éַѰ£V" ,–xÈ ­E¿ó¼pó1p§öFÍ•flªðMœe×¶nZ«=—á*ÏYÁU²ÆWò'bHσAGQÆßY°æÒE´‹¾è¹ ç¶TÉe‘ÔÍ?¿ñtº5bÓ­êƒfÞÍÑÇOÆWž]¿að¬S›CÜÚßRz^Å–œ&ª…Þ2é‡v!¿­œÀ§ù‚ü-ySÊÆ$éÅ (x–]·¶ÄÞT®â#8þúå:ÑÈ}oºè+O+ C¹$â’±)xaóz`yÜð™}쬛êDuã[‰Ìàft¢©ß7ÅhÜ Ù• Lè™§Yî꯽y›|õãvW5¯Lð/Fê‹:43Eàá¤f4=ÆÏ[$õYžmâz_=ê æ¢ãÈ·¤*öãðæõ¹&Ï7õÜIM}ΟtÚžt‹ÒXx0N%²4Ï?+¶´e•®*°o`§ ]zøw˜¾&Å‹íñ¢á ««ÿò ºD„«€´± Sâl{å%áÎ4ü£X>—xØÊªÎ Îõ–?_·ÛNxc­¸zù@!%ѲŠî£üTÞqÌ–¨Az£¢Pg„ý¿2â€é 6Þ|Nœ”(~ÓHC%¼þÖ)"œi8¸3QÖJÕ•¤ÔK³nÁŒnàñ_úÃÐFÏòƒ<±´W!tš0mOxˆ ÞÃùÁÝÊ­‹ž"¯·Þeð¤8׬ ¿T̈†rOcåĜ헱XÀ‡×]U¶(Ûª!ºÙ|bC´šx)|abZæ­P"“Ä_3¬¦Z¹l¤ ¡Wúfüz(/Z–ì©_H¾×]À-ÖëWD®Oº¤¶Oì~6t;¤Kõn#úÎË ¹½¦KT;XØœà½Ð9sŸ¿6SãÖÑá¥BíÛ¼ìÀ}º)AÊå Z×Óê“ ‚Ôž2Ûzâ2)Û\‘®.Ô¸Xe‰É‡ÙíÄ¿—Ÿ½4h>…jØÃë2äÅÍþ¤—+v˜Â·úºoŠÎ“W|Å/¢¢H9:û—o®‹ã¼ Ïþ¥È¿ë÷ÙçþòNÊÝQÞer‚·…IUO±€ø®¯X¾ÎŽß–“q¾ƒ”Î6VµøDÊU\l° S†¥¡ˆ¬5T¹oÔrØðûý q,chÇxÆë§dZæX½$À(M—C|“¶¦ Ò-‡c`g4–Ä-ÃÒߨ‘+áF‡ßÅΓM=ýŸyXŽ1äô¼ÓÎìÁ vN!Z¼‡†ªMLý™T~xéVw°vM;V ãþ£¨ƒ…Žì¯ò&zjÏÃ2h´¸¢Ë{ÐsÙº kP­ë¤ ®k-zUÑ–ø&¦¤†-—”Í öF …ׇû™WûC“©6qøG%9YkXOͳ¢f4Õ¸”@BS*t°SPK þU{i8 7·“½ DÒ]#þwpÀqZ^;ÜÏk. R¡jkŽÅjÐÈ‚‚›åånM’&ññk<É/¾™Ž)×¾'V–§r…Nòö»® =Ä\ãâµ!¡ÑtâŒÃÃp£«—[ŸZ\¹î~Aþ×ò‰¸ÚpÕêiʉ-Jiñ3àÖŽ¿‰? w‚žîk¦{ÿKæï¢êÈЪ|‘n&J¹y½·=-ßSf»‚¹ ÛÕÙ½°N/åˆç¥t G$î¢6«3•zÓ˜Kæ¿|Þ«‘ZÇÁ43OfWrP³¶!¢¬~{éü¿¼?:&|²¯—§sªÜaÿ-ÖÑåÞšôÆÉÑ>S|u›Mù Þµ‡ÿ¢ác=opÿ,œ‡cˆGCž9uÚ ;UÖ8'Û¤ÅÍå¦O§ù$Í/AÎX]|A­ŒŽ4Vkг”ÂY+í³©0Üý¹ß9¶ûlp#UU«å¿3i¸”Éñ™Õö:ˆIŠBÅ å¹Ú·o2±÷v³8Ï¥;]ß*»k°eSUe–ª…µµ¶aSä¶yeC£lÆhowdˆÃï—`£DºuS`~Œ¾7˜1cO–?ƒ.eÁHn@0åªÖЩŕ”ó8Mí,IL¡‰>‹Qxû%L{MÒ(,(¶~™Uš[s¨0¹Ût‡÷]â kn‰ÃXL­§—Òà…LK÷£'Àÿ%SÙ9v}³D‹ •Ñ›ÎR…›Ä®Þa3rEIátò_"ùš»Êù1Ðd±ì?ú Ã/§kŽ­akMÙ°ª4ØJ)@¾`¿£‚] \²6HºV#f 5[„æ-›ŒuèÈ8ÂË\à#QNù®žÄ>€º ÀÁáÀj¯+’Ù,{qç&ÜÅWwŠ¡¹½ž'5Ö{Ôôg s£ó™\MIg,'q >~«É#ež–üâ(#V0V ‡£f”«(M˜$qà Ü~›,¶uo¨Ò(=¨mqC úÁǺö¼J1ëX§a·,þ^Ü×€_¼¥ÞÑ™‹VqÀ=©Á´/„âˆ7Øå~ƃ!)ÀW¥I ±Êñ¼¶à#º¦ô?Rºg{Û ïÅ6bÉ ÚðW$¿ãP@ñÝ}Sý”öû“ ® [ëÉà_= =9Ÿëé9£—X?adIJDåuU}c±b¤èLD­¼.'È€´»>”‘›y†}ÕÜ1eXqÿåóK€ºs›* dÎíÎvµ¾Lf½Àj*P¢×„º‚÷ŸÍºOE5á™ö­­ ïKZ)'¥õAÁ$`=#ÁÃ,”¹}qC A [ü®öÍNšÝ¿È–1ÚÕÙÓ™ó¡~xÃÀj}„³—ìWè¤Ô§ùÖÚ]“ 3_B(½T^ÊžEúÓŒoËÊ9#‹ÐÝ«>Ÿ¨ÔκW4¦Ï5 ¨|CÃ6~x´|GõkjØP‚©Ò‡¿ˆ™Ržjlj'7( ÂÕ@ÙIÒ„Š²m4ò<½¾s”Gh[ =2£o«‹=ßí¸£X9Þø²£×ZÜRrX=&C£.^ä5~“âØ¾ü¶rž‹QŸ,¦7ØðìÆ’”¥‹¨T§?ãÍÐcâÜåp!:÷ õˆí—·7ÆÉ¦ÎÌDD<—¨ÃöéµÐÐí)Mœ xÆVÅÇìÎÖ4‡Ê…OÉ…T>5^,—òæ°ì0ëPð‘@”ô哃•Õ!Ò­á5ë(—µ5¼Wpëò¸v|Ô[De¢cЦ£¡ÕTkÄGÜv§<_˜jÏ­IGy÷Žä¿<'…Ó…š ä¨ùå-fŸ4`KgšˆÜyõJ[Ã€ä§ ~œ ‚rôíåm¨~®¦À®8w+Ö 0ÍWþf„à*Í×<Ï}Ê/7=PE(ÛÑ/eÐ+â eþåÁŸàÀÉe¥ÈIAæˆR=¯ÿê‚qŤaËNJàÅ2oà¾z*ü.\*L„s†‰I™ZLûŽÛ¼3#*§…RŸÎ¹¾+«ƒët!›`2 <Ó>$ T k0>O´ Q1˜È*¹ïj'¥cÙ2ítAZ9å–äìÃbÝœ‘TÀš^ånÖ/ßzË´à!#L Vº$k˜ë ö„ý}_qíuÌžU®D®pq‡‚È@„* ç`:˜ò$„ Þ!¾w¡˜,Ü Ó®pÃ%£Ð©û÷ðö?$XØŸ‰X¿~ÇÉÝ„ÑýŠ?O­-PmN²:# =¿ôÇJ•éó[d,'ž,×½«\Ê'Þy6Íâ¬áYæ¯a§é³š»б¦˜+ÇݪøªI·•–ÇïÿFåmdóøèõ¨7–EºF‘©v˜Ë‰¿&GÜ]ýiYISMv`‰{Ñù +04¯jֵ髕…õÜþåͬ—'µ{À¯¢€‹¡;ñkgÍO¹›B4{¬NÀ6»{CºólJ½å¤Œ¼~‚1+Û®á<…®’ôÛ¢ã¾M£ 9ˆ–ƒèo‡XxœjŽÀ,ªíÎ6•£<ãÑf²°^å—'…“[5í ÅÀ'ÖSC¬ §Íõèd…}Ï6´#ÛZÃ\cˆ¶O>+—©×M¿>´Q]MPsEö1þ]ջȾ¥qOG[‘$:>VV<‰*vdi–&zÍÆiv„Êkpv€õº ø÷bBR#uc·¿ŽåÚ‚wxÑ ž˜¼˜õÓº ÌÛSz7.Z|ye™+êü}‹7=euø/mfMt(‘=hrÃf½åíìc‚¤¼»°=0a¯Gbî†CFß¶„'zžŠß{L¶~Ÿð~Ó£½e)•×Qj÷óA¡„ ¿¸ýœe`ÊW`„ðJ”[†Ð—Ý&¡G!g_5³Â„Ô4ÂÏ $ÝV©÷úøN›O:í+øûØÈê|Âc"©˜QAf*»¸~=I¦=â‹q&Ù!C_ö›vÅݹÃÖ ìz¿Èøé_ ÈòÓBö;"YO5ª½7s¶]Î÷~”:d^/©©ñ†kZpj¨v§+äŸÑÏudÙÀKZâí{¢P^#¯ó:Ÿ•Å-—+—›)'Ï•wÙ>€\¬™Athì0œ,gy¾DKçY}Aa^JÙZFkœsA ^o4^ª™Ü?ç>DKâ%ö·qÛîˆÍ”ë0 ßåkQ%²jzhsÕ^Š;dÞ§¶Wáj º5ÏH›/K×^G¶í•Kêã³áão; ¨oîÓ(dpðަörÃ-¶¼üZvjjç(7¸™e(‘í"Ñàcl?ÃÍ1þ²°Í”q Àw—do*AeʨÄS0d; ý©NßcvÎ.CZ,Þõ_·¾þÛ„kÔxê9Ò×ö5+B5à·å9²RI½*q›zzã–bìöMåÑ‹vôGÚÙPà_¨0ãV6¡ú}>ÝÁ;Ñ‚‡L\›.vNKGë‹—ÚãñcfÇöÔÛ›­Õdƒâã²®=•pjÊ9YAÌå·³mèÅ›}~AkÁûT9.ȪJÇ·µò¹‚b4…<=1‘Sƒj„bâé4/pS™I~@4 çîOÌ¡h%ÙýÅïV‰“ù&’=bš[”vß.N¹Ž‚(Õ{ øF&æšpV¢U¬ñt qiH‰†¢fUÒ®Ù7x£ÜKŽt¶xÀQðŸ}€‹ò„{ço77 `5¬>«d¯úyÊTEXa?ÁŸÚFdc7½þJ+êIrûÔÉ ÂŠÔAçœr¥­k¨ïèÆ8HÐt_ïE6þeBï‰Æ­(íjì”ä äééä†áý¯•`ïÉ)fŒ-Àë£qaÌgùÉ3ª²ØÁ~²fˆ`$‰ðj3Ñá@³„£ÜâIþßqëÅðCŸ¾35—%н6æ¸í4.¦³;£sÛϸÇq@Ǽ;;¹šU1®uí4U,nÜŽvÝV0›ŠÔðèËøÉÐvî ÊÚrž?ÕgW>µSðƲ%$Bƒ´îbzð éâ[!ñìfÏ_Mª;#¤^67½|9—‡­¥¡k Kҳīcç6Ûöy^×doÃ||<‰ÜGÓ'ÎÂîzÃ{Ö s ¢¯Œõ²Uï©A׫ËÃéÊËS&£ó¶F ‹¯ÕÌŠ,ÿèÐèô}©níœiÀ91ƒ×gS³Û¹í¡ŠtFÈ«˜—“ÃÀý²³”|‰=zþVüš/RÆà•¾¬°ÆœÅUèôØñ'ìÙVÀIõ-ÇPøó×&šçcÛÛÄ Å6uÃñë8Éu¾—%ðQ±]P¯ösûýÊ7f¹ú¿ËäK>žê’Ü.­ ½ ‡ `SYå©Ð Ëw,ãi'¢‰Ã,Í0§ËèÁýok³‘=2>vb2ƒïïüßpÐó]­½‹NúEï{« ¢c›Jb#®¢ð%EÂfàE5:´ã¨t:˜Çu¡n-‡¥*W)h" Ðç_p<ˆ{ÛÛk]†Ž_ ä†5ªR#Â$˜Å…ÞÈÊyXg"èž)jYÛŒªÍã²ü)Ò"ö‘%û!Œ^0Ac^µÉú%¦¤_t?ª_ûà µLˆosð0Îb넇0:;Œ±fžÿBq×.PÍõÉÆ+',¾1Õµ>«œRØ–;àÚ@¼ûF< ‘¬X¾æ'‘œÁTƒ°êþц@Mâ^ñ³šð£–áVÈ~ö*ì¾xò <Ÿ»»-"”Z~Í\!ˆ²<᳘û¢Ñ-:†‚0MmqZ×r˜Hjs놑ç\q-¢à|¨È$|^f\2¡÷”SsÅš6¤¢Á.èhË"’êÉ7ƒ?çø†g|Å9oMZyÜi?OŒðµ–í7\q#‘°ÌÊ9ç;È0¬úòìÃ÷nS¸à|û•̓Rk'Ù3œÓ2 [;{Gõ$C‚¾ÇÚpFŒò„ ¦³v¤«Œ ˆ‘S„Àší¢£¯M¾Ì…&×¾6öñÂbä»ñÜ´âOä/22ù\¥ñ8ÚÞeÛq}H¼AÌKqóíå¬ ú,ŽþæÏU„+KD {ÌJT'«—¯eB³æQ¿ µ*Å=}«°JoVÓ)4õ!Ôñò?f8SF˜*0:~;ŸVE CÏo}üZ;yIi;I7w‹®øÄå7vÑfG‰YDuø ¯à¸&ÎôÏ^ù7<›WÃìÝ>éA¤­'è5ZM’öŸ‡x›GÞw;¨>\¤æ'–6œÿŸáLÂ:Þy ­uK·Õ[̵a³Â,}O(¢“Êou˜–v@å^‘Îu˜ÓÌÓÈäÙfP :µvqFº°^P©‚ÍyH]]¼JâÆ«‚ ßµYŒïõ”é¥n17~ ã¿‘r]5K‚&-Br NEJDäò¬Ô€5²¸@`Çx•lÂðêF–y}/÷•Á–¥ŸÐ]§pÙ§74l¬žŠþx#²¤t 0¬›'9LqŰSÚå}ï€GrÊ à"8ç#©©H§ñfy î—±‡Ø åPRc=ÙD–ïÀË< K Ú aÏ~v"ûuJ`kÑ|A8É4NÔú“U©EdÌP¯ûsC«ŒDMü€Í"…s¥nÄ5öQ¶wžCÜÄp!­±=ôgäP,¦@‘Ô’Òl ‡Ö:PñhR´7Ý2p¯o9 ã7™~“Av C œ2z_/Í= Ë›\I„&]÷»QºÛ¿ÉŽÖXèÒpõ°¤ª¾X%ÉŠ.WBÊ–XqwVãû6.ïÃ?7/`ZOX±d«¬}‚{§þµ’Ÿ§o¥±|è¶TSeô^å~^EÝ” ïH‰/°†W ÎN°ˆÌ,×KF™$¶Ÿ.ÚÞ>bÇ6Ó´ Ä:ÑÑWfÅ*xãùëƒÂuå;s o—‡Ŷ82ù’æ2Àc3ý c.ú:S{N±‘Wï\Å÷Í=î †¶ ËŠWYoc?nߟÍù åúc¿½ò§5©íªB¸b!Ç8pL§^ÚÈ{9\Ì’òXuØ›‰Cw<œò:V5mM•3[=/4ÊGtñU-¿‚^;«QÎñ«ŒñUÖhÝhX”tP/á§èƒ^\&¤u¶¶L©]`b†XèÍ"»±ƒÔ¹Ê„Lw<¹z`F,V¯LÓé^?’ Ž¥»ÔOM…ì”R‚<¯ àJ?sã}OÛ©nþªžÐ’Õv˜¶ PTcÉ ´*y¹ý ñ¯åÐÖæhà5ЗÙÎ"êðg×…>Ré4¹âl pöO!ÿ¤U?Æå_ ’èY1å¦a'EÀüœáÀ¶Vk 2X(ÍNƳy ·“êZ÷u6ƒÙR2׿gÛÉ-_Nl6þ©o›áÎyï³:ì¢3›ê½f~í}äjã„ìLfGÆ‚ÏÆÄM˜ "l¿8¢’9%yÞîáx¢(è‰!½ü°{S Õ³º»÷qå…e  ¸WJüt7ÐÐLíN¢–úôÃæÎHÛÆZ‘±Ûï@bW-Z>FcpâyZÞ„tË»wÙåÇô¸7'?xª¤MÀñóƒÔ“–*p£Èò< ü-Ò#%ì¡ÎÔIAL:|bCî’«2&wäQ­: ÏþQoFïwCòi#?(=ÃS´3cÞ[Æ£š?>Õ¸Y—ÿ†Å#ÍN8%›%™Þ¦ó¡éÁŠfü<o²4ž©ñSÌNÇÙ¯GôTåû‰på¸>2äˆJi»^þhóãhðã–;õ4(Åœ&©æ§9Loã>úXÍTù¹HwBõßëˆhFÔž4$¶+ð„\ßÉ4šæuº/æ5†í-HE´+À¤WmÜD7y¶§ž|öêõé±Ax÷ñN`‰ZÅ”*ûW×ÑîÉŠ&O aÑÛ­95Â!æíôŒAtÄëï!@ŽùP=øµŒëK˜%L6©Yσ5‰Ï€·Ü‚ÙÔ?öxîëâ¾l"7Ü^íiImúÌ•Y’Ð|fR ‡Ø9#u¬X´Ì6z¥x*‹,>”úm,Õbˆ>0¸@Á° ž?2·4ÑÒ–÷±ÿ½%„tQåh„––#Rà @V´¯¢òÈn¥j?'*£qîG í©O Üo4P¬¡•K^Ú7K5¹"²Â`<¢xsÂ)÷ŽÿsyUKtYúr,ou5¹ØÑÄ_kŒÙ>gÒý“!$,ú/ :‘|è顃 ÆÎp”†jó[+™ŸîbË{`9â?ârÅþMA˜}/+¢J}kÝ*Ÿ™¹+¨Çl% ¦{€1îC3)4¸ò$|Pf(“íZxü¸qú¾w8ÏuHVŒ>W¢éló¥ /àJ2úc׺ëþǪƒ«r ÐêÎC~…ÆX6ÐçZ5>‹'¤ÝɬOÕÂq:IJ‡f6j´1NM0а Õ ¥ŒìÂý“(¦™6A> ’f!mB5vh–ñðâãûií•ürúÝâ|WBÙ+]Èj\z0û³DصæÇ¤Gî¾[U=Ôó4F¯zÓU4¡–,ÊÛövȬ/ ç—†¹çR ü”•»Nj•C¿4„ÐyŠÜ*q¦ëUÏžæÙMÿAay=࿚;I-“DoÐ ‘ãp–l§rêlø¨†õ7«‡PsŠZ»|í1Œ –©œ Àf^Ʋnm oB»Íð÷þp; ÙuVÖh‰K“¥ÎRóOˆñÞ2–£ZŒšf—¡‡«ƒ:ùÖ!Ëæ˜G$”äõZ*¥%$=û¸5u“³ +»t÷ˆïé¯;}ô%ÙVb1x¿µæ'69ê RÞ¤2ÝK{=¬eVµß†|¸UÑ¡˜˜Œ çž»¾áþ§Mæ7*òbED%”_v@zŽà,`>øÇÙdsª°ÞAÈcªË‹8\ßÈ ÇÍÇœ¡T’!B=€âl+NÛ¨ºéVÍöJŒúìYx<2‡´ˆ›º^鿌ÓÁ¾p<[L¢î_Nˆ¿_ ãø˜Ÿ™[‡>3ó#+9ÇsŸ’3ËÍ ³(sVÏURþ!ä»ëì…àë„b¥ÔrŠÜbIÑA|À§šÁ©, sZäkە߉¶‘íŒY¬ùA¬]_ —kÖunuüðÌÌoä%Ý@j£·Z²IwØÊtãåÖ¦r×5YÌá‚XÈÊ|‹ ìmZÔÉ*,Å vV­ï]t¶ÞGÿ€Ð9|ä’k.Š"Mxä$öEÉo>ð›ÃFËÏ¿4©ßˆ92&R~½°ØE3Vŵú+³œ ªV_Ùøe§ûµÆ#Ìâ7 Ë÷”<äuå$f¨½ª-Vè’FdYøÑðâ°ê›ž¢Üg¢°ÅÕÜàùM¢ý‚8] ƒ¯óš.¦“1†Ÿ—§ëZ¡ )ïoü…CÛ¸L®*‰P#R þ~ÀÔ/ÃÆ#ïÚÏ Öj/C7Ì]BGð*•9Šé —£hPŸ‰±\ó c²K™¥+sAÖÖ"sÚïqì¶øúàêNµm—<>Pp6ïÄŧÔ,®3ÌMXðß{1F4#æk|C¢#«s.~ý>ê6hNñÌÝKšÐÆ*k¡2Õ©åZ=E^ûnõÆÈß䥉ÇÈöj»N)“±ÉÛ(Á³[zŸ$Ñvþ¸Tš«+1oV‡ÿde"{JPˆÆ}æŒÆ”»‡Ô‘Q(TÎ:ÐïR°GX*,ß&’v~vÚ°’ñåöBvIƒqFÏ^€|‰!^ç^I†8èÕÊÑ2bïÏ*íÂJ‰·™zb,ÔuD‰ûm+`Ãý3í…uØRAôà¼vvÜÑÿà'èçDB¿ÒcfìÄËžCBLP­N.øD’†Q(Ö„WKjʸ°'’­B™Ø¹prJ= ·õîѲøLXzY ëïñXR{’“ Y–½ÐÍ4ˆV*+ìÝü•&ê­h—¡­Z€È®€DÆ RK;6ïÈ0ö–¸}Ü£ ˜ÏŽÑ¸²X”Ðn]rÅ+1‰ýáTLJ•ð `§`.ÕB:Gá¯rJt×®6ù×ã8¡K=Vúx}l h9D¾@¥ùÀ,N©ß"ýË1}"¬¹sp(é¦H5(>ž8ª´Àw9Èù°Ÿæíì§X¤¨Á”hu°™ºÔ-éâ`ëB²lÄÅRSEÄ^Š„Åfcj·¬Y({œIé~÷"W _zãp$éKÃÒ‡íWqÑ:¿œÆPwØ/³.rîåNÐÍ”¾>3i—³¨.$NúºÅþ—¸§àj¼ò¼?–¯äåíjM"z&Œ&b²ã×J׿Úûøsêœÿ§àø&MΫÌ1;‹`MJCè2-[Š"êr+ÝFž<Ž ¸á{ÓÆí aœYîT/c|ÀUK;Ú:Ê[ÝœZ,SñtE¥à?<—{Zêþ)å´çjÓ¿vÅîû¶k|É™3y _ò@ÆÕ0!ÀÔ÷uäÀH~;Þx-B݀ǡ”ÈLIž+TÕwÄh_îì¯gνt`ŒNAå_EÛÐ0õÀ´K1Õ¯EÄõ„ÇÔë:çt~j¶L ry–3¬¸÷ÄÙÂ×õªUˆ¡ÝØ–óC¿Kš îÀaÕ›§¡ñ"#¶[¿ëG3èÏIÜm¾Ž¯O‚?äï­Ö[ÐÐùQtô¯™®û]اéLuÖûìä*v/øý´g¥²V3c Ö ½CÿZ|ƒz½åÝPÈJ€14‡‘ÝóÇä~tˆšÂþÞŽn_eJô…n±…Øù GßMKøÊ– XFÔ³,è½êÄìº$ë>ú¦LZ™á' ºk“4߸Ïö°YœùѤDž–ãÆÈ…=§;@‰A»/l™î¬Õ¼ÈBŸº `pdl¾ÕÝžî!ˆ®*1ÀªaaŒxư@ãW#ëb_aÓSeA ï~(Z¬·i)MI«V‹©:Õ,(Î& 4› Ĺ^¢ª¬?j¤l†s`Ó* Q14é/°î™û‘é†Úâb¥ À!? qÞâ^P ŸD\8d` '‡\½&* ‰Úi_ßû3Ãq;Úá>* ¸m¸ná„Bÿ“ç&¤Û*Ê¡ÈU)$›öçÓrbÉlÏeÿ™»þ›“…ÆdŠ'¬¹¤4Ç ÎFf¶ÈD…ùKŸ¢’ªQÐt-¼å-³L–Ë­]ŒÃª{9À&‚ù~ÈÌb ¹B´GrÒt¬{¿kf`Ò! gbþ&ùðË' wðss%º½W“rÂâONb Å3º¾£ë«¸Åelž†ÖÛ,snE É‹³‚ì°oŒ )¤ð15Yà¢ÔZýï즡®·º\TÀƒ ô¾>©Ö²Ž¿=x½Ð'ÐPDa ®ø™Œq­ircL•'¡è—[E|ÅœÌi§¾*=sýXk#¬â¿ôfÎYÌpâP+ýÓ|ЬoeKHMŽ£…ÛGŸÙH¼â$ «'Ûs÷p5 Îm=¦yn#}qh %§ žáj¤Š<øì›¤ÜÕ2e`¢ÂɵÑÙ†ýó~ôw‚*ÍW Ÿ#Dý`iôá˜q5µþ]7öÆÊvF Êv„ Ô|¸2Nr]˜wsU7q‘V1rþ¬~†¼]IO ÙÿL@Ô¯ôwëž3¸ÃÇ0ãjz¡nZ$·•CôuÝõ”g•çâæœZÌëõ%p(ù„c.â¸ë\jÂã‘o¯YX'{ã1U"¢C¹Mnø¨8ÆÁE±¦Pû:î(+r¨àã80Y^¿‡òB9µs_2Iq„Í„"ÎUB#ÄOPÚ‘3\Úïì_JvœÐÃU¹GJœ„Å`ØìÝ]ëm¿7“=#íBEx`¨¾ Íú%¬È³¢3é b¾n!wR6ÎeÞ%׆<¦å±ŸÊÝù0²÷x®JÏ!¥¿sIýÙ¸û¦ÌÃOf˜«ÏLÇÚŠËFí(†mûSY½h±T¦Æ½>ö[æiœ¦ù…ÓÌK[J÷¶~g*œÝ ¿›Th 9M—/~èâPÄ×^E°¨¼ö”ÇÃ7V1 ΩXîX«6ÒÆ'‡‘þwŒ%6EDyº|ˆ†h)È*…Õ“\XÄF¬“Ûë=ît)œFÀÞÿ#8& çâ¡ã|‹'Å|É ¿é'Ö1­Ž‹Þ9R"kæ¤;” /3Ž ð#®w¸áW/"…³õi¹füN¡1ú÷*¯ø†ÛFT¶ Õ·÷›Üeï9Å!ÔŸ„Åê¸Î¾ÀX?\x…ÄLµ’EåIOQýÈe®£¼ ÌRvÇÌsÙãy 4Å©U¨?PK·z®JOÀdÉß (câ™ßèÀðêy^i8@~‹ÃÁë\tÙ•OŠt[ó˜L*à,2á{pQÜíŒfLš6²Z<‰¦^ˆ«\: 7Jf9B]LåÓ>°™ãy¤|Jò À¬KþuWJÌn“^ˆ¿­ƒvÃNÀÞH´‹¨@nS%<t›" äY‰4þ˜Ë6¯jÕÅnT ð¿a¤Ú§ôÌû²Ÿ~}²`O`ŽZ8wZéxåKAò®w b5,´ªKÌ·3fʨý6gG*†ÇˆݺH SaF¼YTE®Â$Ö‘öåø£²ã¢}ACOö%õólð“qÑéÃq¾r‰y=Ð+i«ÓÍHM™O3áœ@¿tXÎbr¾bîi«t}DñEàækgø°Mjb_ÆÒ€>"8ªÆh)rãjiåz{4¤:Œ§ÈläÖcp²3kífÓ8„€9Ád§¸»˜}]éV‘ÿ2‹ÐR{N ¾TEÜ"FÑ”Ë °ø! “ì&}—oÐxÿæ©”±Å£o}°jÈžD~ÓîæfƉݶAYujÈÅÑ“ÅXFÖšqõ³IèC)m­ª•õ¤žE¤ Æôòâï"IÑW#h†šî\Ú&r9$pt@”!öß7|s‹®œ7¿£ ¨r䘘«[2ó„ýW牖I¨ÎìeK`oî/ñker O˜¢™,A"‚ÒeÎ@C×Dç’&S*”ö³%F×Ö–,3ˆØ@‰3oy|½­f*Øy)ÜØfzö2dJMЍötH.΀þ¸º¨[.U,Ë?B£Ï Ÿ3PÝ¢³Î ¸ÌuîŸ?ŽÐ+àﲚKtN€ˆïVŒßÀ ÖžF$oƒD¹}›ÿ(6Œ½5Ô$SS t\6êýPg¡é3t ®å<#¡¨¡$BÇ‚Çoh+ÞŃir®M¸sæphú †žîàCæé¼ÑÍõ¶¨YØäuôØ’°³p€Ð§©Îî"?ÍáE»ÛäÆ`fJ6Ÿ©ó2€ãx¸ýBwx­Õ| <®Hˆè ¦Y†œÊ ·Šì~Ò~eIêÕ½îLä9ʪÏï] èÖ=þ1Óp+o`޶~æ "9MÇ~¢Åå†1—ï—K¥dsTUý®Â&B:ÕYõt÷¸^d«An Š¥¥9í¡ÀIÈ—Ìá¤q­3à v[g`Og+ÛQ5®6P5}~ €ËGYýá¡í •–ö<>)ݺÊús`€J÷; ÙóŠ¥’’t$ËCOvÝÝ1Þq)8ÝS•évÓg˜B6¬cÑÿQ6ýŽgm(€\ØTZÏË¡ìøÞ'fl¹èæffƒAu™FV;YÉüˆ-®Þ©Z}?4óŸŒð&ûä —P…”µXUÇ®ßoÜžáR0`\ÅßÚ“!Ïõ½Üá2G;þáât Yܶ¯MÄ%ZöwŒêÙ|Îkð6±@©‚…pÚgD^@ÆÕ9¨J·¢áK`Å9ïìšëã¥Ûͽ¡`rS ž¼Ê×­šQ_—±µUè1dñ„6ê.ǧ«ÔPún^·;ý˜sõ`Q»àÞޝ¤né bÔC|ҡѰ{¶YûÓQï43³ŒuÐaÿëyeÙÐD´úU@.KœVTñZÌG&бrû&1À³Α«êràÑÞú!¬ýóÉšz“]Áp‡X¼LkvøÈh+ŒZ ·3ëncç=ZN£Œ“™a•Ž‚ ¬#gëqæ[ïŽÓΩqºƒîÕ pÂÖ$_¸òßLûFÎÁ\ô”fßiƒû^ÆÙ9o˜:O((ź¡nÊýïóë] à0;^$eçwÑFà ¥Ï§ÛÍddåÒß=|©©KÜeÕ´Ÿ8Ô¬>î^öÕÎÐLþ´k·( K§þ^«@›éÓc襯ik¨Óc ±À ApC1{†~WeðÎz ¯Ø¦3X ­·wVÕ!8Û‘'v‹?Áèâ#ÌÞ…ÅPUׯòÑmTæÌN:ËÌ^aaÀCgÐ]ü9 TÂ~:tVÍóäÄþ’î' (§\¼¾k_üšUÓYŸÌaøÅ©åÛýñ+õ%7f…Hd*ãÁHs²'ùwÈáíº@™HA[ã«v—b¾šÏv¹ÅòL¬[3îôNƒgi'Ü&b‘¢è:|·Í`þNs?Öþξû‰ÌsÕÈzèÑÊ^¡C¸hÝ7µåÄ;!o§Wh˜!Ò?£gH^w˜Ãz ¦@¤=YŽÛܪ~Üÿòœ=ª<¦x —–=µÏn®ÖöÞ]Ïçç\qÔ¾¹ÇuŸrÔp¼+˜ 8¤]£ÖI!S¨CsR H‡ùõ®¨À…·ÙÈ’#î>…½Rr2„uöcxëk‚M-€•8«úùùkhB=åºãÛXZ“²ýüo„åÚ(ðD9Úü„tš=Íhxa¸¬ßFG+jºGU"~Ñô«øÀ”ß%&ÑÎ;€$ÿã¢m¼°x‚'Ý{-H.œë“pÙ²ÅL."Ké<_tEìeæºÀ*t7€ÉCä—Ó¤ØßŠë좭[`ôvÅÇHϰÜåh•¯'I¬XÁ3f|PP‡‘Ѳmµœµ`…„׈4+8 Oµ5J®ˆúø7¦®hZAÜ÷&ñSÖÄD)ìÑæ·S£—\,Y%ó V( #•» ~ÓDr®Ì™‘Æx¥Û'V©¡Äœ7)aΈãHÕ8Xaï“ÙZ¥39µÑÕ¿¶©³,}‹§[„ÂvÔn x•ÐDܘÆw6}qöoq̪ßi%*ájNrÇŠà ?Þ­£’'Io”̆ܧuxç £j+'½{9ÎŒŽ¹²>Œs¿é'‹Suá÷¶°ß©pew0LPÇ€­éL›¢±œ° ŸÉ;ÃXeyŠ`…̸ø1õa)8eeíË^7†õrPÜ6DÛ7ðVÁúö*½P=—‚šmvöÒvšÂ—ˆ¬œ#¬ ù©•)Ò†§ØèÑ›jGǼcâ+àÄ&ÜJCˆ÷×ÔZq É~«ƒ+)­?çñ¤f¥kq’Ö’™œ¸2¢Î›G´òÚYPt¯!®_Âà.GÚe(Ññ¸Ü[ ¼ÓÕW›!qÇv̼å×C‰E‰\èýmÞ8ÔæÕ*Ã/×_!ÅSÉNÍaÃM辉 ‡›! Mþb&^Ý‘ÆÌßÎàö—&37ppf7Ø 7Ê,›–¡xˆž›³É?û•„áµ€3v0¥¨Áù€¯–;ßCÖ͈’ öK?ìµóö6~ûßÇ—iøÑå€7¼nvS²tèo“Ãø5±qª_(Èlbdrþ˜Õû‡Ô Y”îíôÀYoL™Í á+$’›UF†—òÄ€¸<Àôª!TÛU¸Øªª3b`"cn0k5Ô™Ž 7´Ãjä²÷â ÒbÁ’T™ù¼=ƒàMFÌ í³a)=ˆ³ùç~©Jì“ØTcúG?‘:¿]«Cȯ-ó &““¿þüϘ'=ë„ý *u…Íúî¶‹Û¾_òIÕíêât”¤ öYùëDMܨJ\:RÅé¨Z‡?yjÚ¯õΘáis8׿U¤Zq¾îU³¡¥ë>ã>¥u …ÌP¹p‘ ´Ü2–ð\¬”kJ³D˜z{E§©°Ë0ïÌ2Hëy£gé÷è 1æøÚδ[r·íº#E¶Ïl¢Lgí®Uÿ¾+«ã˜MÿÕ½Y )AÞÎT!!»ö¹¯¼K!Èêw5ã ü®QXâþxÐÃÕ!¼‹|,$b¶eK³ÌäËÉNýÜç>GÕ|rPàç«ú£;Ý“-‘¬êX‡)ÕvõV³/唼Ù##hôl¹Œ çdž3,dÞé­ª´ºìö"sÎm03Ð(† ¶c;²÷^ðk°UE Þš£h<óV[Üìã/×p²©.¨á­[d!W,®·ûár¡æ2õ“iFõÓ©vo~‚‰#Ë ú|½O ’rƒˆ¹õbóWìry¾X)¦ â5gwÍŒîBWÙØàŸ3|”&n3ó,Ê´­:™K1;c“ö–J…¢X_Ÿ…#üI˜ÉfÀÛZt|hÅ5j{çÀ‘»†…Å'ðDcÏMÛ4ƒ™Ñ†w$Úoª4®~ÊQ;jí»‰¯ë òÔV‘$PÜ ­|ôè ªE²/ïÐyMivÀ˜­T…r[ì¾°ž[ÈiÏ ;’­›ßçi§À™¹SŽÌ*üí袦 ñpÈÅ­n5S¡ñÛ ß0qÔ Þ×}ˆ–[kia·xúóYó3Û\n ð„.unü¨Îÿ[Ï̽|F¬¦¥ ß¸@XE•‹¥Ì™.غ¥ ïaÀAKT ‰¥³rqÉxÛ²lÎ"[Ð%¼Œ‡”g¾ÿú([£÷ZªÌó|Þ%µô{tiu" jx¥g«Æ]  ÌðpÍÓÑBîp¾Ç¿dð2NFÐCÈœ ·ªe`™ë¡Ë€–j!Ölñmû}µLÆ`ý{]¨˜c¼®ôNòÂÊøÍc4ø „ÍcIä;WT·¡ý{ég©gJª{-i1.ƒV :}U²ûçÌ7 ¾L)d\V±a×­¢†o9oÍ‚èÏáÜÉëX Æ{< ͼË[ß @,Òqo)0©kß×kÿ$œ8¡R”ÛÃqbÑè$ê}RÕD2ƒJß‹` ¶?^¡rA¿“ßxii…È©ˆ'e®…;t¸rèFè웉=lI@{ž»„Ê C^½Aò7èʉö5Œï€©0ä™dPv¦e#ËÝÛ ƒBC]b·èƒ<”+$›†(h©«¡‰N†|&Q­Ðë ¨a¡53ñ@Éû$Y… ù^-¾ è€.úëÀ^½Elq%h4zuxŸÒVØ=h±θ=¨åÚ@V?wU4)pŽ¢$@Ö‡Ìâr¥+žS™<$-±ÖM5HI¹±~Õ-ÂÉ^&‡ë(ñËþ+òlÊÈÅrÕ»”< «—€ºlC΄æËæ¡k’5”ýE] GËÒ*`|r<ÓÛ">»Yı‘¿Íß^Nøz >\>š¿óMùçSc.ØÖÚõèÌe7c|× à§‰Áp>險ù‹µ®¬iÊ’ŸL-#{Ì}É{M÷B½3yèp¦¾ËÀÚöm[€ä¥_g ãé6/;׬¨çò—pƒÏ%[$ CÇFÕù +×¹Ýê$?€2-ã éQT½ÂbŸo×Z9òa±ü[íóÞé§6‘ pzîáA…®YØSÖ!¾G÷WR¾Èìbg¬%†8•.Iý¢â‘ácΧl.Ú(/2¾°¨·ëL4ÐÈ 5~~Ç#÷sdn .`pYÚhôO–¼‡¥# VInF<î0:ªŒÆcxí¢uš˜l>Öáur2“ ½ýÝèQZ96ôÌnÓb8þ ^¸t†žpEÙæTùòõÛäL\©QmXy˹p]JÒ~ï™?Ø=c0ðß·J^ÃDj·r`Ò79X6ÿ?鵕±–/ÝŠö÷°º£+Qî:;‡•[Ú°v7'ðd©‹Á€7!"Ëò-Ì«â±~ ƒ•²I‚u!UÝŸ$ä‚ñ7Ø KûðvÛ©ftYœŒtÏ'ÚCbŠª·\ü]³QÐNL™å¦ðÈò“àA¢b0ÃS"‰ô?0‚ö½½»Aɲì%7þýpÛάl´Ì¥äÎýî½ÖxHîÒå8®ë¬³k–ÉsÁüqC'äWÙú^ÙÆÛr“™í–{Ó …[¬¥œL» O±ï`oÔÇC'M_ºf §‡_ì ]좉×ÛŠe˜ BŽbý'Áiû“-ß#>DO²«y4:Ãq @—çR¥ô…çyáY¶Ä0h쟹…ç.†4…á¿/öQÙWÍ’÷ò×¢¿¢ÄwÕ·Un³œUJžÆ°øÕË8QP^|z¢H*ÒA#…9Íâ”ßåäðSöÐ.?Üë |%MB©ß' …”[³z͈µœš†ÖRyFmÕõ2¹0¡­ž”A‘I2ûPo´'mÐNfÕeá ³ÝÛà[Ð58¾1+5[ô,™¥ ŠtXý­$˜…þ/ù ùU^_bþÖ2ñ5BÝã©“Úƒà“Ôóq?x(Jö?Û %”Ä€9q"f½L¨Kå$ïâMœà€€˜›ÀŽ\XÐØÀfõ(õ_rããxÏ, » øògÛªjis}VFeð¬õøÂ^¹ ¿;bÉ„ÑVc™¸ûXÆÝq§tôƒo$‰ÿl5ðPØÌH^*±™3l Bµ!!.¦9 Ϧ£üÍÒD^Oe¥‚8ØìÚgW Ç¥füßñ÷“LƒŒ9dõ#l°GÛe'"婹àsO)Š|8Ýg€¼}˜ì¾ ÕòlºŠF^]1¯Ç¦Xà Î57¿ù6cV`]¸Û¸¿<Û mr|ôÈ ÀUª#œ+õ»M€Ÿ¬kÍЬWµ?{`Dc›[®Z@Lb¥®0îÖE˜Ñ||»ŸîÛvê¦z@ÿIf.ŸoC€xršJA©]NªŒKl<€Â‘ûETTõPþÜµŽƒléJPÑb†N˜‹¸è9â —„ÝÊþ–"oGy&B!S–a« 6˜¹Ove|Òþ¬ðGÅt÷x¼(:Þy" ?Š”•¡ª)Abø!ªYΩ“ ¡;jzm1ø•lþO…pÑ$”ó¬Ö{ëòY)ÜDJ{*¸½¶šrDyPÈ}Œ’D†íÑÞ´ ýcüðm2\ŲBÒ#ÖÏ–Œnz¬}—諼§Z[éLVèb*:û¾Hå¥\€!<Ðêßÿ¨(ðZtÊ2gõb©ô¼VÜ®7Jß´Ýí‡/xe6õ·ÀNø;]Ùrã³È ?Àœ%EyöaT¿4c` 1ˆe±“µw°:À«ÍY!gßÔð2Øè칓bÛ9‘vP@K:Ÿªâ÷:ád¶;Þê×Ù`œ[JêŽµŽ©Ø¸zÖP´i@r_MÙ¼ì9étå ‘öÅ}Ï‹·úâ¾î“ì¿¿\$À–›q‹¹-°Vr{KíˆP#:˓ն–+¨ïËŒf Þ¼8…Uq‚IÝóîÆÑ¶ºhÉÁf…2Nìu»%—•„w^8ûÉQÑÆQ/Ë*AñäƒxÂ` ÍÉ´_ð[AǾœ¦ª·7Ÿ ÿ\G….XÃÆÜ‘:U‹‡ÆàN{Èê´÷âÊ£évã8^ºTð/U>ðB4u G¼y 2EXæ¥ é_1âŒ}Æw?H—²æ¢5_¹¸„£%éâ¢Ç» üͧ§¬}À&s½Øû­çƒé ÛÎ oD‚W`ýßHŽ+}C0*O,Th}w,<è‹EJ$µåí^„ñI“þLˆ˜DR5xbÚ—5šŸLþª.vÎo àûÔ2ü¿‡÷˜¯ò7<|ØRî£nd§†Õ 2¸(Óóu°šh5Î3QC@É8µ™Xeœ¢OMU¶w²íC§1H6óe\œ¡›xÛÔNª£ÎXÔUwi‡ƒn£ã] Í߃¾8bWEª[ÁÞ•ÕÄd¹f[e}YK™žÔKD@p¢”: ñÁtØ¢R0œ.‡Á´Ï~×*1ljké)FÒ¼zF,ü¿_Xá Cøz‚Y!ÎŽÞR¼JyFÆ[¹RE fŽ+)²2så qï‘ñ€W^˜ ªhÒšvŒ¸Ï¯¢ÐC9t­p&P-̈!ŸVT Û¿:6öV£MãòWŠxðdïD7±FJ%7Ý¢Ø'_7œúzzD0[à×Éèð…þ4-R•)òfýWLh¦ê.qÒðù×›ükï?àsöß}t¹¤oÕkå¯<µÂ•@ÛJoE°¯£Äÿk…{꿞EtMVÍŽôÅMƒÊ~îtÝ’Ó"œM†‹ø×Û¥ó5Â+-i™ ±²º¥Kíñ¾xE»}+LKøõ³fI ç6Gô'·Ä«qï9Ù1x¶/‰}IÉÚá(n Gº2ð}wg$µÑí©Š_µ€é¢Ýì°ÁeŠmä…³/ˆ¿ìøf1YƒKëµ(Ã+\ pB.wº<3áT®@X!'ï¦Îdýb¡:š„úÍrÚ“7hu莙å\|&ß›õ¶÷*®sS×ZdõO0dô8Êb_ìpœ÷d»¦æsÌc¥™D€uTš â~t&—5kåØqz~†€yä@HÎnÕåCÿ”CJ ><|¢ ¿W¦–´µ÷HÇ“îâ³4½Zµ•™Ý;¶Âô#Òlb·ú7Ëê^ú6}Òç[§á'52´‚"¸lN°wÁ˜¥.\uš·Ÿ¡!E2a*›ë×ÉU*äQ_SQèÌ~ÎçÅýUÛW²+#/[ÀÒ9/—{ Çú¨ªk¸EäçÄ4å%Óò3 ½Hž‡8þ”?ˆ5ýØýí5®P)’ùÒDÉYÌfúNk»*²’d[I ^ŸˆqÈÄ6`pßTÑAÛ ] 65×÷Ôþ‘ı\ŸÙ¯èa*3ëÎcoÿ³7?$¼î‚=fœo‹Vf‡i­p”&ÿ cÃí–x•mò(2ti²dç¡CRjÈÆ»ôBܾ`ÄòËÿC]z@ ¯[Žš¤{‰ç€y¹7Ôž,yké˜tîhõ5”dp 8±¦Û¸?1„J|)»$÷ü/-þä‘èž4ÎMBWŠ?¾ÖdË`Ëx9"ùJü˜ç(­ÉGœðÔ@“™¸­’Ó‚~unÝâߋ׸u'Ònûx¦!qB]un´äÉ`犬‰kçN+‡dŠ%3O-aÕD#®âY×åß#X•Âßyà$‚”Tí­ ~ßÖ’ÔDþ Ëã‘k+æ±ÇHÛn9Ë¢xÅ‘ þíMøkÒl½tmü" %(v©þbmŽ4ÐüÀ´5׬u€Ã¨ŽµqÉ0“¶â€ÅÅ R€‚ÏV'"‡ç’Ø!…Â[JaeàqŸÏ—}íöcW‹‚ldr'hÞAÿa%ޱ½:´xè¯Z‚ë~‡{Mú‹2~J ­àq3Åw“3y&ÛŽ ל„ 66=㉑)o²Öp]ç‚ÓÿTèh îü€‹óAOGê€T×L¨¶e °œ¡ §³¸ƒæL)ÕÖÒX{O¯/z…ÐõÞõLûùey1YZ*°NÇýîbO08 ÃþÁk¢­ò(Y`1EDzXpyüãgˆ_çòúi&÷H¯U’+Ó瘴Á¹{×H”êvmX¬çpŒ™‹¾à6§ðsIì0ÒŠ Õ@~2fÚÕì÷WåBw8±]¡«oQï›!Zº–¹¹ën\A:˜¤•J—–˜Iƒf/`(ßÀ!¢¦NGY"Û·¦У#«H5ù 5×ô“Ò™ÆO2juÑ¿‹æ,G¶¶츷T­L”:óéíyº!ÊÈèÔâCeø²…éÅ/U‚ nü3.hðÙ2U•0aZcNÅU(“¾fø€ í×paäÕr/ëècUð¡½Ê?ü¼Ë,vÀ{{™ªÍƒÈ]qb!o.i±íŠ¢)—š\à¦+ö¥7ÖAÔoéx;Bh¥Î ËWrà}|AÔwÍ&+sŸØNÔž¢tàKŸD³M– M`WàV³`»i–`Ü÷T·fUÿJŒ¸…¥ÞVuXCú9‰ˆµã_.:‚¬P&´Ý(|·¢ÁvV¾nÑ캼6î„å݇êÀU‰ß;ÛYmÆ*yæ°ÄÒtï½ ÇH È”î'Ñíø24·íÇ»¾¨·K½BSô >Ò¿‚N?»J§–Ú4à\éWùÀؤ×T7ê'ß„Hø?ˆ&M›œß%âlš¹ØƒÑižˆ ²dÑ”0%b†âyMJ.…yö6nßá¼,Ô­¦PŠQÉ=ÇñÑœæ:.Tаx:ž‡›ÖüÌ(t´h$ÜÎÁµ*·»:5EvêÛ4ÑâÏä|5ߺ!Zù…Ñ'î‚®rÑFãÄYKèc‚s0a Ï}ˆ¶‰¥ÜŠ;AîL°Ð´Ñ›šÇÔ€Äu–»Ÿ Ü´BA9µOrŽŒiYmoòC…æ¥vNuªÍùœA) Œ–ÍQû†{-sýyfj¸y·”}ȃ#È Aå#ÀXú_ öÏ!Šjsx¼‡óKu=S¸Û@®­õ-…2$wÌæÆ•â×±Ù‡XM°ŠÕÂåøq<ËÃekÄÿlÓésÇÚ&T$Ï™†|•6ûo>£ŽPBÚÜŠÎ$¶è=‡öÉ(ðND*µüªncÁáž ºw‚‚`)òÄs*ì …X.^BTrûéÃd§R¶ô,,z@t¶Zòú%à‹ç0ý¢“½Û‰Õ:| 5eÂù‡}ûªäž„ê fàhóÒÆáÀrB•c¡¸Ð<¿¯êc;¡­åß]˜©ùG½»xp$ö êÑ}(މ"…Qæ¨ÇAâ'„wˆ‡ Š×©ÐaÒ]Z¬Ç´œÛîb—uþ61ësª*Òü(Ì¥@SR#Ñõýk„p“3òpg^|Ô9)d±CcÏ-dUAÀ®Q`,¼»H[€šV›Õ½ôçÈ/·ˆ`véggºF·UÕí‘æn¤£²U$%d?ËEKEâLLÁ¿@g z ÝWpxˆ.?Ý_̧ ~†fP½#Rþô#¶X¡öºä¥¤ç¾Ã“k‡,ÃÑ4^•€±SZªËs¯wæÙ¨•…÷edÛVÀ 2„¥†×VvÁkô£‚œk°ï‘Ðdü:háuÈL ]Îõìf?²,ˆ_ö›>+¨/¬ Åw³÷‘YÛ >pm „I¬µE5+GîE7Á£sý£Ù5NKÚ‰ë€ý&0}U×; (y½z1jýŒ¦™>yQ£ð\óÑÖ¥Ž+â^RÓµ+¾ŸbG¹çúž~ Àq„å1¼›ÉÖS¦­êÈ,Xe‚=ט¸¼dÒê-hC»$–}ª:.ÒPkƒ|Ô2¬£f6ð4#OdBV¯ôI57ï{Ç™çå1yN9€"ò©ZÔÕÈ›„ˆ+àËDË$Å{dÉŠš—Žõ )³E1üøbš)9áÅÑå¦G¢¯:àå líQ]{3»Ô ÍPš¨i·Ã@7‹kxœ®ýêÓuo.+}b» WÜC/ó{ßý fãP>/"¨ æ¹zµ¤ßq+îÛúØT Ö@ñÁröG”Ùz¿s.‹n}xs«àU#Õ±%ò›LzK¼ÜKbµ¥<ÃÆÒ®rSVc ôL #;ӵܢßÈÅ,º±b…>ÀJÔ›ZŸº!LX(»P½(ÏṄgð®‡u|yg)ÔŒOW5¼»OýEŽÈÝéP,‹ÐuA³øè}ÙhE p ÛÍÛ‹ªl‰ øÖW Š*á.:u¦«pê>W£¦®¬ý¯ìÁâç¾=†Åé¯\ƒ§á¾L¼y¤ˆyÂoºœ-î2²;Ú4K5«ZewÝ+ë¡Hõÿƒ¡gœº³ÜÑ›iÓ>º¾ü"ðZ£kÞÄ¡âÿxXrA „M‰\«&ÃvûSO·¼à(ÆZµÞ.Ìë·$PfdMÏÿA¬Y5öÓJl=Š‹;‘‰ä{{Q¯€˜ÿ7¸¥oècöiÙÄ,NÀ¸_=”Fv¼<µP+ûnÛH¢+CIFŒÑå*$À`Èj¤½DË)±-'öL“ÖµöƃÇÓ^¶®—npUBÑRݶâ6ár©wµ`Jýû'rÂ`›æ¦¤]§#ˆÝ/„ *¬¬j–è~ŸUíÇÿ°ñ¶|b×oŒâ4!Éåšbsû« P!ìh×ÈÇöD…¢VŸªú{ 7’¨-,^J?krURƒªÕàŽ—Ä—JÐü؆ÑpôóŸBŸ}$èUz"÷ÚŸ]ôÀÓ:ÕŠ¾Ù ­ù1wŽŠ¬ÄíKó¡ ¡‰ÌÃCFø„'¤¹-8¾µü1 Ütüx¤wÜe `«sõVד]æc5c晟ã\êáÅ€J$Uï¼L¾ƒGoÑ¡Á °$T–0Å­ö!èÉî¤øMG`ZKAwχEùƒùÎ4t¦ÏiÝ‚‰Kò.p¤ú‚Þ&ÚwmÆÏO¸50øíŽÊ’°ïÌË$KwL°í ¥©Ÿœ4›©…l´ôÜ¿ÿ;×[žîìs9<ŠÆ÷8Åy&2­²úòC§éê•V†Å4ë†ò[h?™5‘D¡ÊA3“÷ïU €‹Q®,5õN:ä7Ÿm²Ï³PÞ.%T7®ÇΓIŒ /wµ@§vƘùïÍ¿®c¸ù“1!µôÇôpŷоJ=v»)sù4+:Ô¾þ<®HÖË;’¬ÓÛžôp­$§TZØHׄ~ª™PÆ×iävÇ3+q¶ à` —Ñ*[]h¯’õÊÜRu݈^U%ÅL‚Ú}D‡Kï(‰;VðD¢U()†õ2Š2ŠÝýÿ¿¿nÂåP㬤±@#yy°î±ìôª#ètêáEÙrÂø=•„èôëf‰è‚{Hê”QÔ^h˜H¨¢Ý8^ãó—‚̶!›hÌÏT©Æ;²ë£cà£Ê”ÁúÃâχþ_@‡ª9!õ'F`\„kmET9K˜D¸Ð>‡Ž¶$±9ñîã\ŽÜzD+ëm»ŒÌjvÐéCI¤?ÎBú7¼¶ª ÇMÖ‘™ë9¸¿ÊKY€Qöqæni&¦ŒHÚ¯ Å÷‰ß&a“WNl‰Ê¢þÃUÑ6Ñkâ‚sf Ñkœƒ£O_ÔßCÁ„¡Þ…_Áè Á¿Z)íþazyt±4ꃹ;a`U­;AXZ2±Ý[Z«ãf˜:0a{eΤŽX9¾×°]ºÈþ¿‰?î_Újå+ÞÎÀ q_Љ ÙlG)„ß5ÝK ]¼'Ѐžy$~Ee›Ÿ(‰leÐ…1û·uÊø¸ô©ñØÙ6žLLk‘@<7‰Â‚_*0ë€þL`©Îá\¼Ÿ¥¥kþ‹4B'B‹¸‘<ÓßÂCÔEú¥ÀaÏD½^v¸PgÀþX'i¾,«–Ó^.x½í§”3¼‡%L©ø(¢±Ó+%/¸žù!¸pÓØÁgÚB< ˜âBÎ$L—'%À„y­–°ÄÄ韎OÃvµÁ¢ñaª"1bIš`uÕl?Z6Ö¯ÂZèn× 4mµ¥„ðß„íxá_ ˜ƒ ”Ûtö%9Á\53D³;ì'$ ýèyJ[ݯ-ˆÔ>À2°º-:Û+õÒñÎ~ bû.&ëþ8X«Â¥qœÓt §‘òp¡pê ~+_Zý­0K:Ùè«ÎòXŠ–Q{d’ëÉö¨=G%7ºñãνY•¹ÕêgO±Üêqìš³‚B£èªñÃÈܶ\¦¤r=x…s¤Ë¢R´<›³ö×Á£j¢QL bî” –ZešÒ)š H0üb)”މ©W’ `ºä5ý³%ãªV 6Š1ôTØ„¿»®;3ÉvkÛpœº“½ hDùGz¯¨y¡_Š_kèÈz &Ú!ªä˜ËÓ–ÅÔ…Ëÿʼn ¦ºÀ'¾Â¹\´±êá?sYŽZwc±(’RrItï;«Åð8; «„]DÓ ˜ v&ŸÓR­óûmœ`ògÿmÇœ·Š»$ÿ›žLWêRè °}»Æ—‡s$”:8IËà@2qÆž»‡D2:¡“ÎÔ¾d9iW‰_ŒÊŸÉfÝH £@•²èx[+¶ ùçövðkzašWùµ(ãÿÈ›¸zÑ^nÙjZd 2ºùDoŠ«µ±hêäïŽî×1X>'¤±­)˜«Aj eçüŒÌüÛäá™ë6æPñã<¢s›_x=BK´ÕÃ-°»ÙHWQuÌ[šÃ˜N&ÍaŸ«Ø‘Ò®l1o3;É®>·º?Bn?çñJ2úz”çÜ1ÂcVóÅ—ª™ῼ¤‘É~{þ O†‘×Ó9~­vO@RÕÇZŠŠè¼‘²1íz!}ꂊÐgïóë+N…¸[/ø‡_qæTMµ]ÍJÈfÖÕØ}kÃ5KX«Òvz\,A˜ÄblÀÍnLJs­•aIøîca€‡ÉjÃÕˆšÛ´{®,ŒdßXðãAh<0Œˆ4àèoû6Ë¿äszÙYb VÔ¬UWðë`ÎAq¢„› Z¦ç/+ò¶®]{µGÈ3‰E_ü¼â޼„ÊoÖÊü0{|{\ |ÿ’Äók½È+ï ”‰:èéÑ;ÞËãÕ2#Æ ¬›<œm…åQ â>ʰg#Eú£TŠa¶eüÖ¨ÌEèyúÁÑG9ÒZϦlF™ÊQѨM?X“Ì^Ë7 ŠÃ+¬´¯—ÞVCí£ÐŽÒÕ)æfd–Lê†I~®_Ñ䆃OôpîÊåáÁ½±“9:dSˆá+mìjù žBh½­l¶Ö‚'³†·ã¿}N¥ÛnWÒà3 ˜|Ì–Á«djdXà¨2n>œaêÎéÊ¡]€žÖŠ:ÙØ‹]Ö"Œ—“ø7ÆRšùH.L@õ` TüäÅÙ§¤Þ9ãû§e²øªØî÷j³2 ZIöï¥õ÷a-Yítc|kŸÝž•dÙx5r`Û#20»>«í’ª×w™´·À›Á¾”Y|ûÔÒËÐwÅ£䇋&·g<íƒr¦€ê¹‘‡Æß æÝ)Õ¶\qÁ†*ôä$-½zwšýÈåƒå³öí„’ãb9 ÜN*0»ñ(G¬Ùš2/:gDÊÜô1¶g°» –jq»–‡KÇuïW|”>ü.·Ëž¡šg\nïIûÇl ´û̸ø‘|¦À®žüùsÁÁfÑàŵ¥÷*Œ^ór-çP:ô•+uZ;©¹É àÏ뻫VrSs$³.MÖÞo?†©_?y¹5½@K¿EÍrÿ¿ÞªCf€Ø;`0Iúoˆ–¬j“ºRó«º9Ìšu¨äßÿm;¼…µ¡cásçšø!m¿ö?¸2P~ãÊŠ,ó&#tx»ˆ†AZšý~Ô‘/V7s-šó—xøW};˜« nåàjñ‹ôP¿•ßQp¾\¶A°B>|¡çmÝô¶3˜_~?ËéÝ…¬Œé³š7¸XõŸU\ƒÝáªøvŒÒàM}gäXmõpÓ±ý{J¢‡å£ Ût)1ö)tmµ»±àÏÁÖŠ:9kÀÎTV'´ÇܦèÖ0FÛˆü âØ\ ‚ÜóžDoCݺжåIûÚ”o} îÞ Héæ³q·Ð/ˆ;­¤èÚÏ#!3RüQÝå¸VòO‰ðœ:–ô´¬yšÅ_ñ oÅFÕ°9[ mâ-ÕX‚®™Úˆ$ÀBHÉÜëéó×g¶îŽídæJž#_í : ¦p ¥Ã R-M–,­eûe Rq­œ]F c‘b]ï«SÚÐù‘:œºAkÑNÌwbô™Ç¶ÑÝjq7Á@5Õ~¢—Ÿ ySH+Ù_’4-41sÍ 9ÉB`M%k yMcQ+5)ì\ésâù0SWD÷€Ò ¨ÿ]g »¿5aõó/¤µE©‡àí…†X ‘gØÆp+Ç$ y§v¬TH`lÎ/x-Ýý"ˆÀ©ÿá9š¾ÒÏR¬Ö /±òíƒ5ÀÊiX?Y'µAm0Ý F@ò¾ rø’Üeu‘8ÓèÔ‘LæùýRo³ÝíªXêËÜ©Kƒæ(©; £*ó¢žvrß<³uIZöI‘ê'úOŠl’ øV}÷$Wyu4³Ỷ"Ør%¸œõb7ÑU€gõ¶M?íùãOÅtA¨}}GQöÏ ãÖñ5èœCíBñåã&” Ù ô"Oƒ‡ú¤“Nà þàïÇ8ìÕŠÎ>ࢋ̼ D¿2 Ô hSt4DÔŒ‚¦¬“D˜#ò…?Ø…û[Sâ|£±“‘7W‡uéÖ,m1ŸÝÉ!"Vûj£‰{òÑC ø ” ÜÅMªVR7p&÷nTd7Ç`¡¹pŠi [\9§JµNg! Eþ·jUé×µq€¦y<5™©‘šäv“‹Â™ôL\3ûôb„0 ™?Z¸dbz{.ÝÔ¥fF“HŽrNúGŽj›:®"\§™°çå›C¬ ú8ˆ™è”Bzr·îmkaÄ4cHDæ^:öÀ)Õv!1“@}ó4ËGÚ†ˆZÀÞÑÖÓç³Ö9¤£çmœ¤ÇBŽý)oY%ñ߬`³ó2 Þ8A$ôÄççç9Ù¿ñ?M…ZøË ¼¼è)c¦ÕM¶tÆÀˆì†8Œ@QT¨Å†±ä@W‚[U>Ö² &묗®½­ö¼þŠgÒ§Ó³6úõjJóK¿ù±7H½—ð¼ìû¹ÈëÌú;åQíõGÄÕô9U7´)‡*øõAÂÏ…dÛÙé*A†dQé­©Ãa9ƒîì)Æ9,3þ¬xŒjÛ5é?ÞôSáý4²Ž®ð3—Ù<¤M%°Ô‘ž‚WC F)…Õ8ËÆA­13†ý@ÛÒH•9o,íkÇ„¦AÌ´2ÞÔ»ÌâÉÜ…Ï_¨ŸÔ戥€WOHÝ‹ãb}§t@Ö}‡ìw<¼T™ã{´*qÏT­ÒžegZ?÷àj9}’‚ÖN^¢´Oóܾ(|„{§¼‰&E]ÅbÑY÷ñÌoôÌÞè\a_Ü•ñÍìYÛÜç fëã+šý·QB}晿«¶\Bl ¾ ÂãÎÒ)êbÛ~[ï—S7¢×íØ9'xÙymU¯›æíúe+zŸ\­ŒJÎEþf’ÿ÷.r–¶~rÎJǵ£O77E>ÿ kköpnG°¢ô$2×X/{÷º<é€%+ùsJ]…ùÅ&àe6’ž¢ÿù£7i± Ýê²½Ý}$ÃDn˜nù… ´›æ ‚¿OÌl@{ôYí¹¬Ãé¡ O6XÆ7›\?¦êpÈkUZ›·ªï_·]ÊÙÖ(dµ‰Ó:H­¶E°6À]Vã|ìïíÂJÝð1†»T žŒ5œz F Åš\xå A–ðöŠ–ºïšD÷-vj,Ó9‰þö8oKÈ$}_^”ÿ¯À®þ1`~o}¶âªÊm‘œ©%³|¢eŒÓ€Ü"mƹL=Z@|5“iG±2èâ/±´˜)â_¢Æóº¶AG†Ç*jÑe½ÒNuúë-BïIߺÆL››b< S·×ò)Æu"=q»{­:߇ 6Óeg?Î}IMje*SVô•ÊfæùW QStÀB†®aí+È­S'ã%¼e»ácT:;zÁÆtúDö[ôíÁq:*Ríõí£=ÓXa `©Å8cBj/MÏÈzR£ñ‚8j€iSÐj°?šhüfzÈ- +üºé†cZèEFš£—M ¦Eã Ì~NÇ£Ýõ°}1ÉޯƺÕV¾ÅÝßÒÎæ‘—E­ökÅ処û.rŸ(ãÓ”“7293›Ê§À±£ +ö•Ê(šKIܼ³ †î_˜2Ä©WªÐߘ#áz\8¶<•Ò\‹šˆÃÞksxBÅgxËó…WM`³z^í‡ãÄ”‘;|€Ú>`,#†9Zú(Â0¼Z~c÷íøNïÄ,(ôlø^Æuºišt·øO 'ì–¼ØÊÉPžóž g$o‘—ì˜))ŒÎÖnÝzÕ¿Z"D^Á@*áIŒ²¾%û5|èšÎЕ’ag¶ûçµaøS<¤D=G ?m‰àÅ,®ºK‚ÑŽÐóëcs©\³Äã ÈA˜3ê„|÷Ñ7âÁ¤´¿^’uࢆçYbiª¡\rCmÿ–ý füÑNóP±@zKºº …y‚ϪÈÍ&ü¥¹Í4* ×R8ÅÊ<‘ïqbºïð$Z]ÑWüÎ+øº¢Ýþ2óJ›5‡±|ì)Á)¤tOºÖ „Ew]ðÏâÑÜR¢FïçjF÷S7«&—ýŽº±“‡ Çü ݃b+ƒ$†rþdê÷×ÌQòöA0;Í ¬ ÜäÕÕ®029â‚B™?âO“(Bã÷ÓÒW£CuVÙd«-i¦BfìSÕŒ9²'¢p«j†Æ4¾Š–Èï箨½6^Ùk«Uã€Ø0Pêž2[ÖuƒõGš ¨´Nð„D#¤¨V 8« =ct4‚¡$¿Þð)3YÔ'Ö¢­Z ·$h¸Vt«8¤ëz =<0Ÿr¿ì´è¹ôµ~ ÐRšÔ}r6÷e4ƒ7x2¢ðG䄃l}WÕLp9c…/™¾¤ñxÚHÖŸ ŠÝ [t/QÈ2x2­`$Z˜”¶‰í"UXÞDrب~ Ä‹QwóPWB.ÐŽâîÿ½fy*å1U#¨`dï<¶WYr›œ”ïù« YlþUÑWªåÑíf§‘ ªƒKëŒÒ;6B}_±þÊbk¦a¨ÕüÅÞYýM/·²1ûãþLq”'_íRÒ)˧c¨N)H曾Yë¿[‹_1¼<§æÑé9ëN§€D8‰£Š9~|>èõ6Ü@Gh²ïÖMZü€µ>éªGd Ø2¬êô£\±|ä'Û@QFÎWbp¹aR¬x\üq×ïiwCAsǔמ¨]çpûìMÜ>wË/Îþñ¢Íöé¼ü´Æ£à“Ð[µ?­ø’kÓÂL9.Ø5æo"~]+A(ï‚k¾"ËÌ)âUÞYñ”fjR”W¥ÆÒföXÁo¬™Bâ¡=þ9ª£%÷m} öG‡ù¹à¬0fârw‚Å—êÏElb«UÒvÏÑ«ÇÏŠz=ï¿gT»3Y÷õ2[Ú:ë8fW(üàìÿóYº¯ˆ'p˜R‚!‘? fÂTÈG"ÚÌË!_«Š.Œ%t¦ú>5(ð}&Tn×w ßÉÕß´²d>s’ÅÖèØ£,L›;–JÍÿ¹‘KBÉ®ÄlKPŠ‹_«0šœX<Ð Ë'‡?¨†KÇL:i)z™ÿµbV÷“ì8h–Ç©RÌ_ø† –¦ÐÆ «ê²@ø|!ä€L@ËÐý^Žxù zÑbY‹ëúëÉ>8ÃzX¶Ë”D©Û-×ߦÇy²y•™>ÔÚäü¿w\êÖja@Òè sé#vÞ%± qèÑ¿õÇ>6Ã+ÐßÂ9WëZ#­-3 -‰óCŽö4wDÛWY'æµýàÉŒè8Rå`’p ßÿߪ¤W7GŽžö£¤wp™$f‚~÷ŒöÍœ©£eþM{ހߠ^mÞäã´ó šS(áR,É$Ø;ÊQ%ý‡³·SnNYp'i+ÞÈv ?LÇ„ßÕ£¥}8Zî®"äpžäÉW†N{Ÿ±X‰> úŒà²îëA«ˆ¬z;º+5žˆZÅÈõ3ÜÚ’Ù®ß3'r½ÛUUgâ„–äUGMÇ >4ü¡p¨lo‚Å®€ú¸Ò *¿ñUÿåµúë#@"÷ùü³Âýkžú¹y¾îðÊz®ÑõF¦¦óšµpG0š̲»´½Åk»ö Ãs¹=¿(×KX„ò²r,Ûõ0ŸX]ˆ·ažÜÍSqiyï>#”¬uGö¤p¹³$¤M †²-<çu­á(µ÷_íè~s3ÀöNëý3Œ¥slxŽ-úÒÛZ÷Æ+Q΄ƒ*Ø&]ËÚT‰Ì¸|pEdèàè¦<µMåå ºàã*ŸSOÐ_£¶æs–MßeÎÌHÌuÕÕÐãñ3•¦å¾´¶»=Q5¨˜!*Ÿrd«7¿ƒÏéq²6ðAË‹®Ï“ž{œá¬[¬È½²¬‘…¾Ç8võYh­FN¡:­¾vÁn5‰i»ãôN“-#Å@7,Šò׊øpIw*AŸB¿Ú'WJ²–ä¬f[Ÿö2VªÑøóft;cûAWéÀa±;à’ú1´G€{NK9áŒòêñK¶u-×*.ªa1ÀÝ `9ÿÄGÙ{b.¾™[Ž×'n!^mk@ðùU`€;#/IL§ ™pá_­õeDŒ‹(èoà}?ér BiŸoíî>»Æñ˜ŠZàâÀ Q+CˆÎ,ôJÓZ-íÑ"øÊâ¢zB3+ÞG8è@gÇYæ[ÓõÛÆº›´“Ý»r0åÀúáb%¯æR¹æ¤ hSœ×j@‡èÕJd‘8X‰pcä YHG¡2üÁ¤«4\£²\‡øEÖó¶¥=UÁ£[ØpÕ¢½^¨cvyOQþe>Ý1htPhJi*"Mê;|Ìï2~wÁ¹j½î~Wa@ÈòyxˆÀòÝ[1˜ËÌ© °ÛWYX¥áÑp¾/)M˜áèжC;G   ‡šLGKP—5Âu쥤«3ƒJOA”[häÁ•EZ\ëÚÍ…v>ÝO®¶­ä+Õžv¡\N]ßÊYýD_ˆÁöÆÎL„ÏC®Gœ$Ò#´ªˆIyúM¨7V |oðß±Ø_ɦqçºf`G~Bë¤,‡M/Uþ’bÜfQZ`à âë¨ýF´¦¢E‘t®nß1PºÀzì4¬=éñ$¾& –Dæ$–Fù“w²TAŒØ±4g9FíQ[¦»N¾ŠÀx֢籛p Œõu`ðÒÌžÀå£#©[ÿåñÿŽi—.…-x>³Xì1Ï‹ï¾Þu‰+äŵ5£ÎyëCx¢­Ó õ¤ÿ~qSÝ+$øëL;;€£±Q­còÉQŸ=Ó‰çb^Á4¶—ú)±yÝ–³-“çD͈9îÚ½|Tz´ž»ÞÃùVÎÝ¿‹øoIÄQ$<»í7 Rà`6'‡]y¼cyøÂ|Öo5VÅ¡îñ>˜Hû‚¤Õ)ÚÍJ-V\zM¬ ~=•&¾ñžŽ÷ÜÜÒíeyv,dÀ³Jy•¢ÇBXN„>}ͱ›<ñÑÌ]ѯ¤;<1„-N•ú›Ã\†`)¯{²¿ðÆæuuYÓ% ”º_6• «¢õ•C’àü¡þg&×g—× ÷ʹe¡ŽE!{Þx‚@Lb!x´T£0T¬78ë bíÆÑ~n}(¢ÑÄr—™ç#¢õ°îçÅ;ù«Sˆê/cçMÒ-PbTUìBÎqx£Ís…K¾8(jð¤QêãŽfáh`Há~WµRÃ„Ž•ð. ¹|•u¾ 2X³Î*ú Ïb¾Û]€ñ|ûúžzŇw;ú|´`8øŒ@é2«Žcr DôZ)íi&XËЮ¸pÒÑB:™X~€UúÌ(´~ˆ˜@L¡™*ÉF/njóÕUb¤¦WP¤F‘f ÕÑeG9¹#=¦HÇy ‡B—„?³î;ô–'õRŽïð¯Úþ<22 “ïe*¡%½{Ñ{ë²"ûPØšÉ ôÉa1³¼SèM/ëžd ®9Bç;c)åð#`’zìQ%-îbà{ý½ ^kc]™­r&˜p$"µ§óHÕùð4½6€X0î—âG£t#±W=ê쎓0 1oVµ ‘C0l£ŸNF°QZ²;¥A䇹&A“Ù‘ù㫲O=Ô  [Þƒ¯1ÉB¥Ï&.–ñ½öRW–ÆØ»›±˜Ñ×&Wùý¥$¯`#ÙÄý¿bû•¼#X¾É/w‰~½öÙ™f.õk""+žó…íi d&x3tžˆñÍcA¸ƒ‡"@–¬ÓÇrÎ7&Ô¥×DÚʆ;–¬yÉãaÅÞ HTÔ™þCOäjC‡‰dÞlP*qº>úÅËyÍS™z…“!|*C<Äá2Ú r‘2ó"¿œJUð%ÌÕsme;LúY)têUHb~ÖŒ6‘«ºº"ˆZaã×ösòP\.Fô-göêZã¾*áÕÑÄ¿ŽÆ/éŽL¤!d¢#ÆJHn.q™*øÎˆ.[VÁ¶ä¨Œ»±˜¬ÀϪï;>SŒOôéL!*M”M à$Š÷ü§3ÿ%Ålé…$'ÇPc&2í†äܹ™™¤‡I¶A8eø|ï“Pp‘/fï}=¿j„\íÒ@¦TP§ó„~œß™qèzøxÿ"¼9¢t Zƒfç%°Öxë½MüXÌÒbLï:*OåÙóc}÷» ˆºÜ ßÁ3å]/ñøRMuÜ7Ì6g*9sJ©c×Ç Ö0þ""Î+&óâꆔº~(hF¿˜˜DÝ~-K2f,Ë[*ôí8?+äàè[½Lý“µFÒÿŒúw·])!Œ\óœ¿7*»…·°wÊ›S‹p©ôl6vjM7šhíIPªåç£Ì»¥$XTY ƒFï»°Å G XÌeñv2ùŽt'˜À¨àÆr£Û¢üT1NMGþTÎÞJ<}æ,^ÒT»ìaîâ.ÿöRxüTP<øín»^ó‡uXñÑCé‹ÚÝÒµíÝ\ÔJ-žŸŒ†µÕÁÒó4|­MžºÝLÀ«&&á˜ç£BX‘â¾ ×Vˆ1z=™ÈÙÁ¦',î.;´Xç²/Ì¥7o¶úšgÖ™•R*hÌ FÚ½!rýÚµ¦ê¿”ï²[}ª‹òxdF`ÿ°&ŸxjwkJ‹kÞä¿æ[Þ“½Í¥ Ìýjÿþ E¯áˆë*Tå¹.å÷N–Õ •Åò}›€­x¾É…JP[:PàO̦}ïWf¶ Í%ž{xžÌ2ÀüÍ…¼A9íQ7¥ÇãT™£#¹ƒ¿a¥:Cb=25íb`¬ŠYû¡eÂf°.(3¾ó¼ÜkÙFÏ…%Ø=RÛO‰Dýõb5@@Á™ØñßRÝX íÃãã™K còÊ€B0`ŒZú pº5hwX ›~l%O2[:NÍ©Yzp# ´çIŽÅ€[Ïý×À×¾ÚÚ×Å.|Hwà=á‹b[Ì•Q7®ûÒ4fô¯†|X[ÌÓaðæ¤²Y;\ É&h9䢋’лlP‰–_3Êþã ópÁ®ð½_NÈ«´Jw›ÊPq¤†´FWd×òstãɜɊÏ^5@^WSM¦«]Œß©:²ˆ?Fõ¦åäè?Ç$IA î) >lƒ_øF­Ç¹¯‹I¾Þ”¿1•Iv`oé혰ï‰tªBnŽìW’ˆºrÍ÷ÿÀê:¹ôH¨áMÙÈj;?V×± ÃO:=Z@s¢ãO…­OÈø=wOʇRý›…&'XPv¯“Ø…Ýó*0I:s=ËÍ‘ˆGÛó¿_ü<±#Gé¸ûÖ1;{KØÇ%¤]ûL_Îiú¢¾IÀËu»•ë§ þ¶ñßLkL. ¦að‡ùÅøûÇ»‹´_ÊÕX¾Þ­;§dÙ:ѦUmmÛçâ+È¡L­¼WÝQowÂÀη9JRb‚âƒÉ8EõO¿ô£æ¼óãÇm?"è/lûŽ ò‰ž—>27ÜisQZN´ køÔCwcœÕò0¶êi‘Ìê°ÿ}2Å{L9âÒ¼¯_Ô•}Õ¡¾¯U§åfËI\œÉpåG ‘ØÐ],k·räs˜®8øÝGÛY"Ú]sE€¨,gÿýx üì|•€PÏ/ŠD¢ð£œzRj0y¾±Ú9TVñÐ[k[­øÐW‚Ív»ÎFîG*ÞUçó0\XÐA³'DW—DzŽ ¡SéI…ÐTž7ð'ÈÓºi·1±”—²ïÕ†çIŠnEëGH´zl/½}'ïßq‚9—##7âVŒðÀT¾+(§{Ç¥ÕFø—biA닆ƒÛšg«ÓˆOä“i®ÑAªÛùJß{…ëÅÒì ïD8Æq wæW´\)ß0«u¾Â's9ÜÇ´ÒÉU¢¬]¿÷Œ„ºYPRçk ¢àö¯k8WO'Xñ{£ˆ¨¡&àéþ·½áã»V¸nÜ€wûoéqb@QÂ5ß÷q©¦ÍÖp†ÕʵÿÆ)) ï|«–ueáÈíêrý¤þæz® Ræ.s-¼Zz< ZhÇöîM†°¨pu…œˆ¨aÀ@ò¼ó[cî¡{Žfæ·‚=Y±óø·›”Ö¶~ÙÔ&•KmìîZÑ4Uǧ ¾kŠób‚é5Úåœ=ÑÏœ£]œ¿+ò|ê]­xë÷[`ųÿ6V!ŸÓ…“ávrW3‡bó×j(ûôÎr¯¢t ?bÊh¿®²†öQµ!2Û2ýKJ·¤s9UõÙì*0ámÃæÍ**u¢[m²ÚâϪÝp¦ Yå0txa¥$V*«„V:E2–Åzçe û2-ÞÛX­þyÎ;Xã1RéMf·À€-›X—)„:¥.œ˜ÅíJT1â$"¹ {õÝ—P3”goŸ«=XáÂãÙ{ýþ.aG™[¢x·_³È6ä²×°™•Áá×û^²”; Ä`¢×ÙG¥ÑÛüT=¹û-Ã_¿…QÙºQ‘ý«‘d¥ÒJL÷œm:ÔøµˆýÏDE_·ý.p'ãqÒåÔEãúoA¥ysOž¦QÄM¯ÌìI’b6¢é$̆øc²c%(¢×dÍ2ÄÕ-Û„"_*ºe1 ¶ sävmœ„Nx/fQçT‘¼†€)ÎÉt–œk\ç<׃WÙ›L)ÁW»‚Cµ»è{0i6ê¹m±*˜•k¼µwÇݘµESÉÀÐl94DošC³ÅWºÂâ5²À¶¿„B™…±/&˜!cÀd²Õp“:_F$²‰|$ƒø1.$€äH“–µ½üŸ*nËÆ`áyçøðX¸(]]Ýõw|‹¾@ÇÉ1³YÀðAXu[=ÿêz|µÔðÔ‡0#ß„ð_]Þe`·š‚Gh—a<*FUцG£n<º/1j^¥òLX:CTÔŸ¿:äÙ¾Œˆý6£¢p¢[Žy‚ĘÞ~|Êît´Ý%äÅÎ’ß±P +û `cS³]üŒ6÷¢ÿ\gøÇûù¥ÒòPg{fƒÿÎ#ýÁVÝ~xÆéµjî±îóúíÏvá3ã9=µM°À¡Lêõ)Ù-f8l} ª×ä½ë¨"òÖz¾Kœ `Cù;:ÜÈfü!|Ô]ŒƒéйµÎ*|Þô‰ùŒÎà¾ïi…pëãc«Ì,'«Ð,eJŽOõ<õLöB ïôpÀ޳ð{ëÚõ%"Çì[‹¶ò$ ¨çêöèrš³ÛÑÄ)õO»¿âhöÔÞø:aùiR¶3l~ÆúU{ã›·Û;u½ HC\†3±µÈá£dÝùjáóƇü'm±w „lÝšÀ¿!ÞÅægP"eùÙØÿ‹¡kªß×¼a’~yjag·ÐYÄɕΥi’ª¸&©Ü-šÓ°Æl²‘šþЩp‘È1×5<'xß,ÌšFQâ6u«'Áí)¹F7ã³ÚTLnqÝ%KßÇŠÉÈö™¬ä­ ;_[0޾YÎ<õÄfÅÚÂ#Qíñ»}áÖ ÒÑ ˆ€€Á É]í7Öµ³šc”實p]²²¥!ÂË.>™S¤<¾gL楺÷ûÉã«')œ³Ó/›GûëZØ "‡t­c4×·Y{#~ëÜDrLŠþ¸«‡DJÇ(Qùf>!?ž8 tY‡zì;ëxÙ-eð„QÒ¤uÌeܹÎ+'ãg€ö|DB!:qMœo¬é›©ÃïÄ_†gOó­è¡ÞÂ,¢´%‹u–ÝË<lÑ*‰§µ™Ç€Ä¯¸Ú™´ïIôN^º8gEƒÂ2^±ŽF»ÂP„Y£Ôë˜- üL÷ƒV ƒáK êýÙKËVER?>ÆLÆ Ì“P+.4ŒNŸk Ú<É)3Ä—ý,Cq>«…ƒJç’B—h`OÑ\¶è/y¾â0]5,r=š§#e9`}ü¸z!2;¿aûRÙ íV¨»J؆›¯h,}G…¶™™¡‰QsA¾@ø»\‘‡H#qÔc «œ".­´¾\dÃDP<'&‹ ‡ýÄý}ŽŠçÞ‚…ÖMRcÄ^óº‘Ô•?¢±f:M_`q߯³]·Ôù Äu2ÀËOKLá×a÷ÑB×Áp=käXE‚g0)œæ_gr»>+†ïåÛØQ|p'Ÿ¹DôMäe_í}¢°!cE?ªÒ±C1Ã`§r(_Mµ £Ïă‹cV&(ßg¤Ú»HÜ2œ`78Ô ]]GŒìõ0eÚ¿Y޶`;9‡+Ÿ»nâ_çöMõPãÇ÷ˆÜ°Ül Thý=0Ó ÓÏÂòÿÀ…Èmã¿ ô뇖¿/\}߇×fÓ‹„Dí­‡šœKáwSZ‚GÍ\bGh}ŒïŸÜ”;ØRUË%Ñ\6.ata7ô’’ocóSw ¥ãwÙ~×f/_¦µ+„iðU‹Ð½š…ʽçÊ?—<t¾‘r Í>ESà 0ÀŸ” ªÈÖî¹sö#"£Zš™´}e|£–1ÕúoŠ(”MãšñRç®nÛšæèIu¢“1Ÿ.¨s­v¢%¤4$öô]6w1x?3nêÀ ûàzíÏ:¦X–F±2m°½Þl„ü癞k»°GI̶øEůz…jûœ;­¶u–Ú…ÃÚ©Õ`q6Q<êΣBëGD7bòá•üæÔxÛ;“µ,DÁ¨»ß­Ò¢*ëŸvâ¤\¿ MŽ€vhþ$hÆÉÊ:ö¹<²hy\”â˜ÙÍ!§Kjdâ]³³Ü _^Ab×RäëîƒI®Ëòym?äýZD¨Ó8ë8ü<2K©Ïr|²ÂþmÝ•°nŠpÐÞtÀeòg½ˆ7£å8m¾Ïº˜JØhèÙÁ‚t¦r“êÑÑÓ@=*óN‚[ë[Â÷ÛÌ–Ïì'ý)‰ÊLË•k;ª É’˜¤%þÜàÒI£9€WAÄòDùë]ã)׌ç±LÂgVvßÔÞˆâH¤S÷3 ô“?oîP°¿xŸ@oÐéFÂÊãiCÌã\uô&^™°M¾_©f˜›b}¯ÅÁ]'83ÕÓ?u§È½¡¼¿íL¿¼¢øhTä¢üKþ­ß O¼®±ÂŒ™KKʶ‡ÂEä+À™D”Kìëf¸ÛGŒ@hbÚ׳ËëÃçí+FLˆ˜¿’ê I ˆéSsÈ’JH`¿öñ` U†RUü6°dqp2$1«e“Â@_ÖùœpÞQÉ~J¸˜èy ´Že×~šèü<`&Iî3´yôÇàòOõ:o)ë ³Û7W§RÃ=ÄÀmèD>7`ÉÕ˜åŸä VNø'Œ)m¦nÄ€´°‰WàÇeÔ™ þr.¾1›\Æá…g¶ÐïEÀ@>µà'·¢~`Â\ohÔ|ái/èòZ£&~ûgä{¤m×@ºg–£J^ ÝÊp „¿Æïêu<"”Ót?'ÕLªi4XÐcíÖöx›"FºdNä3éL¡?V¯vl‰ ¨¸ÅCš—».ú®á¢Ña¿‰hpa&eÞ1;,£·ooºÙì:þcÊ2ãÁЬÁ+fY|7/Ûn¯sº>„üfB|{Mæz=u^O™JÎ §347òçÃ) =Þ+ æ»Ezù{@Ü´8ÔÍŽyc¦š\p¾à¤dƒ0Ï5ɽ†‹Ž÷|¦’ÿFÐ4]E.ͧì ‚Ù´3PW7ùT™A"Àªëá¿ $ÓZ!?D¢ö 7§æ¾ I¢†Ë­f«°÷iy…«9ûz1álfUæ5ç®»u%ü…說y6ÒYÎñ©òTè®—½ŸœÕEê 6©mN†Þüb¨=\?!¸ÿê#‚´¬”¨Þ¬;Ÿï=[’nS¯kíMÔH"xÞïðSŠ(ý©#ŸÜ@-nü˜k5;Ú÷>«_†¼)ºRSÈ<›ÎGT±I$ˆÛ‘aÊš»³T¡NW±awÈO–ë/€iC»k¾Òh5›oÐ2;~¦ù°²msØ`uq˜ºí_öK&Á·¿´2½å¼·Ðý-EC‹Î”}))Ò$n«L |W©Ò ++Ç®ëtf™YtŠå?pܧ ®ñ†èÕ:×ÓW®PÕ¼½µú)¹‡‘—'ùÛž ìYgsÔI… ê‰Sî^˜NÁ™+d,Âl,“Rˆ4xY¥`õKŽðæýÆW"½§´·¡å‰w½ý Èe͉ñ@ Ûü棪y N‚b)èÝÍý^ÚžÛÅY‡u¨ûµêtpu“Mâ³”¦îíCw*ÀâõÁÍt2ÎåÕF¤ˆØxñn Y·5›I“ñÌ9}§Mís³ ã(5!Ô1ÐI2^2å>§!ËŽÑñW =4‡^5E‚í8Z&”Z§;oL³jÕHky±ÿOŒÎY”÷¨ üÞË`0„;^d£äDì7¦ÞÜÑäÎÍèÌöö§+3?E cB¤,Ùð^Y7ÅÇ÷ɬáÿ¡›uc 67•Ð«ðƒœ–2Ÿk¿ÞJòÛ4v²þ\æ7®‡râUë_”‰Ñ¾(²å¶´KˆÌqêa%¦^îÜ+ÀØD*é´Ý‡÷‘Ê[¸ µ}^ˆqDNÏ×Ök>¼Çúí¨Ô7ÌObŠÉ±m)óÏe¨’ÚͬŽ!èË Ý™Þ6ÊǬUÇ)0±ù¸Z×Ï:Fár§øÉí¢HQ˜H’yxhÄÌêp©eeµ\ËN9CaKÊþ½«à˜#u/†…ü+'B‘ÏœV²«rQ·#Rú4¤wf]æÛm€Kþp¶¥3 b¹K·Ö{YÚ6Ã~uL>obÇê¾]ÚÕõÒË‹«0•Îhµ jÃ?„ñC$йÁÛ²ÏF áN/Ûá•0˜7«%H\nÛý*â#nÃ'4'éE‹ãmH°•'Tš4w-tr/¢úÖB=ògX¨%é\“6‡ˆÜ†¥Tô™|ÒFJ-Õ_oÛ”Ý=ÇiƧub¯vÊT¸Õêk}¢»1 õ ÚÄ`0úk}Äý|y° ¯)þ·ž²)RâÂ>$xצ‡¿×·ƒFÔtj‹¯Î³'±ç¬ú/Ľƒ% ‡ÒVÏ\_˜Ù×ý:‚»e3£,,´£œÑº¯RÖÞjAû©‚¥ÑTÓê­Ða‘Lsçp˜„TnEÚªuñ2_æc4iKà“ö Uîh•MÌ xãBèÅt)z¸b­®LØ\Ô_jk¶éõضö:ºë²þV¸ß*ÁäÎÐBw`ÄnÌc^Ã3Õb˜%Çà½$6AØg´Ô*Šü;Ç=/ MqYïð’ŒÙú_6š~?êÇÊ4 jÒ¿³,Úö‚Ã…”©ÁÍØ—RÏ?%}öÞÎÅzeK9U¤k³ˆÙ ä$gÉë‘Ü2 —`¼çdÎôÆE&,È&ÿ²Û\_¾í.ÞW!äø ib( Ù’Í’ÎZþ”Ç8xô o¹ °r\…–~$‘>²)×¼+ó@ŒZ¦Ü#C§WÌzÌ'Ú;Õ‚7¥ˆœLઉ™^/àˆëÛÓéÃ4i¢[ŒÍìÈ~'Z¸—äEè!øµ›;@‰'k{¹&Ð)^û>I~qå§,R å ²"jù分BËè˜^‡mfPªA¢×üŠˆ»´[ûœ5éJ(7¡ïÙU y!GÝE”¸ºž¤Q䛋áxµC;(Ñ :’XD ý½Ä5€éÛ½Ÿ &k»Ò{—)>Ï®Õé(âñ‚:!…JJîF%†ð:ï]à6’cW]‘Bo·ƒÐ«(7„»ÝèìÕðÚ0ì,βã -nðu+`à¥vøQ ¡rFk‚?îáÕCƒ¤Ê8 —ã ^õ÷Ë¡Uuœõ¦ Ç]¬}¹Æ;øâAš@ÞFëârôšW£X¼7œ4†­L!Óˆ«¶m®þ°ä`NÙ"êý§Íãk>¥É»ð^n±-Ï'õL[¼&ÉJ¦žZBcÕ~$Ÿt©kÈ*A=Ô6—)xd!@&ÉÕþâ [ë6»ŸuFq¿³5_)®ÛFŵøXÔ O8¶ÂëiŽä¦¤óK4ºptO…“A6T ‘ªÖ&­!ÇÎĺ«ßPãé¸R]Âë­h1Ÿ åìY:“eÿO+„V^ŠÓ±®1µ].‹>ñî=ÉL'c S˜:¢¾9Îò7Ï÷cò¥Æ×ŸådŒ9Í*³‘ôŒgÐü‡Ÿ•'ÍӹͰ…sñÚkk´Ÿn*ºkýs †­/Æ7T^%Ÿ~Ú¥«½ð.V¸fÄ<7w½q´??UHsy‹@­"˜ÿdi€ %çÕ@!µQ‡óϲ*„£dée—U.ñÊlÌ ¤ûж þjw`0•avÔ×¶QŸeM}{àyЇ‡uõa5CÚ‹o)ù©+4ÖN=ºHï.fŸkÚfÇX‚2¸}gèÛIÚØ¹ëôWæÀNÇ#;’·j“}°šk¾½§5æNÃyU-ÂòMš„ãõØ> wîÁq$hSQvTP ?Åȉå𲨩—[æO;üJ+“œe㣬G\z¸ZãŒ"ೊöˆÂGÀºÀ9>œ……îš *ùß^agÕúX|Y}¥wq‘ ÷#Š”oºêõ…/ºÁƒR!šëäçUÃE¥N#eËGoW{Ùx¬×óóQÝ50UÒ5ƒð†Êë mBzªG—ÛÒC3¼ØQÄ’Y<ÛÄ…c—ý‚ÁŠœþóÍ´žàöE·ªDEx8DÞc‘®G)Kô«rÓ°S‚Ü!‚šXËľpà6]dÐL&èªb¬?îE Ò÷ PG_sô~&ÊÁ=æ(ñÛN¢ v!=QZ‘b‡¥‘Ö˜zë"]î¼S±¾a0¡ºÖ}U2Ðv¢ÖJ~h¦R©o2Ь¥zå0¨0#W qqfZñ´vÍM†-‡»®š¾·û?LwçgÙ€ºi;ô­:˜)²sÌκ !ˆÛà.Ôâ¶-±ºq}êÇ–C˜¨‹ +Í1Q0Æý³ÝöÅÙ¼‰zf;ð›I#?¹k’nMµA×Ó¢Þé" ™\µ™ƒ˜&²ÁuíNH^,ŠÂç[¬·QØ÷.l)~Í«>]a¬aÀ>w&:²x™„f?¨¿›êÔ¸79§dųÇÄ•¨Þ[ªÐŽÚ\¿Z|Γuî­7ÃüëFÖ ëDüi0!Ãô“u¼ËÛxÝãU“­v=`øúï+n8#!/¸Á<¸–háZÀ$¸|OÒã§ð,„÷õöÈ(õJj^ˆÔaR“1e’Ø­-5„Vf™¾¾e-·"Õ²—-–`Ïémˆðö twƒØ´ÎèÛ®¶ó{XßµÛ/ò|7Ö”×´8Á†ó2g¬s˜à¹d¿¼m«1UEzdÙ]ø}ƒÃ³‡:œü¦uøñøÌÂÕ÷74Y4ˆ~ÝF¤VQ•v°Ù‰(øô*x,jà·&é½s™>±F[NpÙa©È êÖ…ntYý€i.i Ôô)mÉ ãÁ™ßR)±abÎ:­ügŠÐFq}&A1«(¨¶Ñi«á·¾0&þ“ñ#o“@@í§|öm>x24ÀrøH™ïàAÊmj…_se áòýæwû£I—Í´ñ8qKp µz€½\@a€¨Ïô” 0§<¨ˆ× ù!Ä Ç%jÿøŽ£-øy"nDãÕ@C51V…ÐN…<ÛW?ÛÔ²Ð$V`›ªöm>ä1éqÚïÕï®NĽ7Bœ7£ÅfLžGñ=å¥â±ÖQÉñlW¡ ?îó{¾ƒÓêsK…}ʳ[OC†±Â-Ic±iïá}.Ÿý¦ß[¦Ü0‚ö®Iç¸E4wﮆÓuêû Å5‹±UÍ¢ª²!82¤¥ÐÖòÞ/tt®KŽ0à`åt¯ÉSLˆ¦Bo†2 ÞÛÿqñÖŒH> ‹CFêgˆr×I0¤ë˜M¥Þ£àÖâe‹H¼âpV›Ó>ŠÓ_ÿ?$qÇøù¼ñtŸ„qû†©CÎáBË|ÜÖ;2†ãÍ÷»äëP ßB_·VEޱãº×Zt;:R‰62©†Ú\Áü10‚T4=Dœ×CºnÃ5.·SH××§ôÄÏJGÈùèðÉ1y‰šC ÓHÌ&S[3£`HÓÿØôÉÞ‰v7Mîvø˜:]'yîås³d¨?¸q<šáÒ7Ra¿ ùЮÛY#cmA¥ðñÉ\¾€´76m]Õ¢ÒC\ßK=ªCƒ~é|'íû\D"kR‡d*æ—%y­öa”yáÈËáÈäK³ƒÆõ9E¦YÆÎø›2àÝüçû¦5%—X“ú€›'„'5”à2½®lá‰u½^F`æÈÔóˆlý|Þrƒ€/iLOoêõfÍ$5¢41¢øJˆIP_$žJý<;A¢v·”»ûœû#Y6.dû÷'VÏ;ß ç ùôãM`žïœÊ­½çÚ+¼½‰XÍ"rfߺ̽0¹Ê§~¥Ü‰+»0aêž-j½&é´ØçÆŒüÛw÷Æ DV°ªbµ‚mOþ *QÀ×û¦J[ªŸª_JSžÑ€ÃsŠgr1a†Ç}eÜ[æñóûWËA4^bNž ÑÎÙRÍ®q9RxÛ¿Ê)xÒ5Ö@·{~Ÿ½Yª"Ôã‹r °‹ˆÇž¤IS7ÓMK\Q!u? ä¾,°R™àtR_E½ð¶Õ&¡ÛÎgý|£TGXI•—ƒFF½bbÀ‚@g§˜­×Áö_åVï_žž@0|ПLÎU»~´½Ý“¦“JeålI¬*Wp »zJß:Å$óž#Xz—NZé_Õ]=˘ï"u¨PôJ]LJÆP—×HÄrž07â~erˆ‡[‡õQúòMÆk j|bÉ@Q#ôœßåíþî‘N•J`¢É*𣡋W6ܲÝ–Ú:ÈÁü ëaù{küT«~³; @uï ±šÂöžxÊøú‹=ü;³úB±#Þ±¹22ß¶«œ… DÂôH±&ó8¼ò–J¤õZzces¤žz—_çìºÙ­,Ôé VW—ðí…¸Ž>n_“+ôŽ=ßñi˜®Å©Ij\XÂÉ5!zIØìáZÊ?½Û ¨<Ùæ*jØ L ;ó]ëîÆÂóJ¿)äð!Îe8#åE‹›ÛTc$ë¤×÷i Ù ?Ø^yK’ÞŠ#û³‹f7¦¡@êÅýH·ùÁv·Yï®Ni O>Y8zŽ"Ü. `¾žI ‘Ö( n*ƒºò¿ŒJ'l_‘|Û““cåDZ’W¢{‚`t± P6€¦Owûbº›ˆø ñ säH¶‹z5–)KЯIªCv?æã¤¸í¤Æpiº½ƒi’ŽB©zyÕcžyù¶²_¨ô—›àþoÔÿ¦š2Jdz°ÓõRKZÀݨ票<¨ÈTßßÂ׌(ð…ˆæWfZÀ>V5Öbº8›m¡¥¶Jyˆ{Ú«‡Îôøþ%Ч°Ì„Ì^¢ÞE‡?JaDE€Èh÷Þ™[ÊôcÓxû˜Õ-ù±x~-!6IÙÍ•-º‚™¬uN°ÓÝ=ø Hž=Mþ–É …N[h*´qäÜoÞt¶ß,¢«žƒ VÁÊô›ÈJ—k´ö~ÞÚY"‘c1Z ´¶RÜרqit1¶«Ä`ŠÌZøŒ_K,ûG|ËdpKOK ‘úÒ¢³8 ló €e c²ä’èì.ó›UÏ@ÁYD¢!Dä¦EÒ®\©Ë–·¼‘'óª¨_¸E¦i`íÈó@pºýÞÄb7-~Ãä¡SßýÂg¤¦iÀö0ÙÈÀ¼Kx¦@PvdñêÏúÄu÷7ÔŬåM^îé,ç%·ä‹ÇOßÇ’’Vûk‡Êu… ÃKÚ²r­ãÃx¤…µœ=éãÚ½y<¨kv I«jb‚Õ<Í„‡ð¦j Žå»“㊆0p3*óÄÛËl‚•ÃúÓÜ–/Sѳ0 \“î5šäáØªûGéáª#6”ÍQjÊÒ\žOðfçÑg¦Õþ}]è€Çû”¨G|)=%ßgSÐŒ”•`ƒâ?äP;¥R2÷U×µe° ß%nªUJÅ£¾€ÿ Wë•<ÖNºK.î„ÅÄ—H¡¤ÿOÕÌñ‹õ-ÉkýpŽ#!‘ŽÐÅÛÏ¡tœå÷DÁçMÛŽ½“Ú+¸«ÊD¯ÀÑó5h¾hBÊÚïG™YÖCf`z,¬ ÚõvP°m¦EC °>D•óè[±åˆ“ÈÁÁ”ŸT¹RŸ>H”ÖÏ”ˆÌl³iwQC¬ÂéÏ껵ÂëÙDA+ÌT;0g³W¤9BqUŠ\êßNxÐwãÌð·Oˆ2„î/ª+þb/Á]^%«À‹]`YRI»ŽÌ§1öÅü%¿ê%jôÖT¬Ý™¬«wi¡¬û…-޾‘ QBÍTG¬S½¤ìp†O%pEçnú<én†nNdBY­½Å¬|I K½.Ð*™è¢¤¶²1²4Ô‰Dhpl©Ev¾ÇÅq"bNþòpZ½e“-îÒ}D—‘?EŸ~§šWý„@µjýH&ϦlºÄ" ¶¤åÄ b|CD ‡Jëh¿¡Åƒ° ,ªÇ8ÊÞÛñ ΟûM>6i=ûf)\R¡– €ÊLþ öY3å :Û)2½cX¸Íåó¬cB€É6o™ì¤§f éˆû:[ewNøÌ·#nCNá^¦ð©Î¦„Ò…”\hï™<Œ:ÿ*EîCš5ÞÞÿ¯{ãOnQ™>EÇù—gõ€ê:W ^I·.²n•ž5ÎXx°á«™}Ðé5úÖ”Ú ´Ì÷gx*-Q"Ap{•öû8•É pÉ>J]§%ØYžýÙÕÍUð;tZ™¾©ÖùVQ± ßQ¸}Ⱦ;o&È€Àx…Çèò¬¯û3¨ËÌùÛJÛÈÛ&Äʃuõwc[VRLI(ºƒ”ZÉx„ôÊA½1ÛZÉ\ pÚ7õmHHÔ”^N¬rn\­\F¯\@xè\–*U.‰ Ÿ3訲ô=žvÓ™,»Q‡cÙSÿsQ-eoߕ֕€ç¸¼Z÷¹z<¢iu Ñ óÑ#f·N²kr Oâ ïžª ùóRË)È–¸Þ¾û²ÄîæuëÄþ¶šdŽ˜¶Â=аÜÞè82ÓLJøjK!ÛvØÊzLz‘ŽB=DÔÌÞ3Žî°ûeWoj©B1q•„K2gv%iøTÚ6ðÐÜ/T£U*6Ò¿©¿5Ÿõ‡@.®Á&މ¾húQD— ÷„€@N—‚‹Ë%éðic†vÐØOìF:Ëÿá V';Ÿ©^÷„9—,@˜›4…Ò“Ôpg…$µ8Hg¥þö›È>”-<1Æx~ÀGA:U9o´1¬™Æ€8–p´^6üÑ´è¤åk\C/¹Òâ¥Ç•ìL£æ,ø-q»…J¦Kš…—®ª~¦Õ¡æúÈ˺¹Î-ß(5¨,­ãyØ®·ñêñ˜ìr0VÝ3ÁéÃòã!­íÊób=wÓÛ³hôì²{Ðtà±Uk "Ø¡‹¾žÞ‡(v¯ãë=.™pªB°e[;ÐyÝH‡Õ‘‘Û! n»>ºh?^j]áéʉ¹%°¢^ |£kpbÿñ»˜,qNœ/Åâ((V@-udº!œ>ˆû£©5&ßOËv°Hk±î˜ÿ…€(¼9Ig·Ñ‘Õ£ÿ/ P(`@}š+t "`A.2FùS¹ ­±glû)&wË!‘ r¬ÖY{î©ô•AªFJ%ªöß§DVT[Ðùof“î„wöÒ¾ìj  tV˜·Lþä|6µÂÛWÕ.û –¿ÈSýt¾·Ñ%f“éLŠÀpL,)éT”éfyn`qáøÅçUqÁê°•áþÝÙ‡Ên†V¯óɦ =Ÿ¦À§IÖ!޲ûxA»­,`ºm®§ÇŠþ‚BÕš´¾3­ÞàÖÕØçºsÑY!›ŒD¬JÛCØm÷`„Ê“þfϯAÅìUfxj¼D\ZPr#~ãC –ÒJÞÛ-Ž5ªÜhÅ<Ë-™¯Ét{¨å—Ü^À–­ÄZkÈßÄLfG.“°h‘¨q(Žº¢ˆ9bQsèܲê4Ú£‘ô8†u'àUp2„#Ûl‹p°<&c"‚%âÜX.<®£ÛXÙ|ðÉjé^…YvI+(¸JcÖÝI£ëf½e}·v%[ÉÜÏP›¾náƒw0W=½ÿIDNólóÕ;ïðÌPÒ@"{幟ö§ä:ü(lµ”w?ɤhK´VL…CD«¾'"@°B’¥Üñ!vBGJ ’÷rÒ–M®š|M{ÝVa\±ê'DÍ?Ï¢;[È6ïr3‹‘<¥ÚaF’Ó¨)·-ú¸^bsêÕÀÚë¾á?ðДG'Úç|Ìß½x[m¯=áëùݧÙ;«•ù±z€è»8ËóV ¬@Ig[þ5þdØÃÜËß§n–4¦Þ-‡˜ÙžÄ Y %)¥Rì²Çm€ïF(Åú×Ìa…¹$k¾±oç®]ñV>±5¯‰~Æ ŒTbƈ”}á€áé%iì}–á àÖcÌ¥}³Ûbßµ4¶Iøu&Mˆy–˜Á A ‹KÅ]«Ò‚†sÞœéþ½‹g{ô›m3oAŒÇüL ÀzÕƒ–½ÍКÄ|R£6Qqù€Ú-5#ËÑËl‚é^ÿÓ—«î ðùƒˆ•²!¹\V)më| oF…«×Å ƒZhþ7Ô6¤¢ÿ¬¼ ²ñ†KƒÅ}Gž\ˆøUÕ) ávÛÐl*}þ,Ó³ŽÑ2ƒ|GªÙVìèÈ!à `õ6äÜ … PLA¿éG(XdLSÊðüµ_cAšQý31ŠƒCû™ÝX¾7‚fÍ(>²$‰mþqj û·š³ëŒ"ûL‹ç•Š?[&,3Œ†ÇØŸ=˜Š$¨pÕšAÿ[þZ3ž"+ÇH¾ÝŽ’˜m†{î „µøÕîÓÌ—5Œîߣ%Û€†dwWl+r ~¾4VSElñ±]®?ø=…Ε<ìÍÉ ‚ŠðÿÐׯ)ÝÊŽ³3œTA$øýÈ"¼°èF¯Kv( ¿}tÝ“›•@¾›<òÙœÕþÊ>ÿÂH>ø=óèåŸSª OíYæÛäѰna?Ú• ÅÍ««cÏø^ó@íd¡+ÞÍOûÚö#ù‚ߦäNiåÂxܤA4nЊm·:MID踫´>0¥Ô?‹}²î3Dó§¼ÖYÙ  p‰ Ò.´¶¼F›euYù ½,U»;« Ezºq×:€ž²B¾è…÷x­7ÿ§Nök§ý÷TSÚ€ÚÔÏYÒ#©ÈïÖÖsW,&?$`„¸3ÉövY˜Kjã0÷¶«úðt!¸ÒSS[«NcŸÎYÑ ZBT¬Ô†é;aäË9â©—èÆ–""¡«ò|g·ƒÍPó4Êã3<´†£âÌyïµ?Ršš&á°Û¡ËE¨9Èá;"O®bª=·²Äº i×24ÑòQ]NY7¸”±4Ôp~WQÕ’Ç?k•jP°úOh¾®QÏQ¤¥áàšËÎÔf¥–BAêßÚB­¬FØÕWêp/õ„æT2lÊaHH |2æ€k1®€÷´ÂÜ—îæfYA¼ÍX7¿ŽsÉmñ¼ŽQ” ¼»ˆØ5ð07f]Q¨UÒËÉT–u8|ÆìLJ¤ÒPü÷ëè3ÞòãbOèrÉïAÃJ„`½Ý~Šà×›úͳ¨åú+Ìs®âÂë›’GŽt»/×¹t·uN!Ÿ·»nU‰˜‡Eͧá32~†XÝ@Ç¥ÎÈ!8ñÃ{yôÛ²/@¾éW¥G2PÚ>D½ á}·,Ä1skÝÌF][T±ÕˆÃÊÍßêæ;¥ën^ºiŒáv› £ôð1_…qÂ'É<šfb#@«lGŸWÁÉÇwD=þã_'§t1Ü]ýtZèzý]kølÒ'ÁïKÙw¬`› QÔIÃ{¿rë¸æD‘døÐøŸê‘êÆç‰3®$쪸¥Ko²]ŸhÖø¦a5Õd´•òf 8¶Ÿµz˜Âñ2¸NóýÌZ/‡¨ÑFšÆÌl¥ëQîdX6Á-¬ž:¶ˆ=OèF·Ìb~fP5>þ,UPþXp–Å´\Ä8U÷Z¦`6×0A^¡Ý«ýaö9³ªâdv&ô(e¢£²NÍüI³»ñP×í~¨Á8ÕœEjÛ¢ö”Í\z€rfëû-Œu]N#­s_®%ÔÝõ¦Àü™½5äùpyõ6PŸ]˜ý{Áy)—Λ~¶Š3¬¨‘ºÍìqÎ]öáãÚXá¾ÅÎÞ~Þ*®{±OÝJuѹÇÐek9‘¹Ç^cs Ç!;-<¡ý/Ê„V§…%¸Þ `!;¸ù+q!&ÞŒEêXÈ+·lIDZMäF¤Ó/ÕöçSÇÑ+Õæ8b žm…W_g\è¦LX“¬þ‚ôÐ|c´¸,rM„SzW¿Kmn&ϲš. ü¡(’“Žªã|CØ(#üi…nÍ+?ô-¥×Ä9‹Ú[Úµq[Ø0ÑEvµ¹zWþ†=ƒå$UV%µÙŠ úsŽ2”j@§kL@ÕÉcߥR'šÝ[.ö¶Õ’í#Êhñ_å½ÓtaXÊÿ8)^’–§âgÇÌÿûk“)ÒÒvMU®%Ôf&Š)O"Êþ™5Õ¹>aÙ:eߌ±-qx› ¬þÂÄö•½cuzšÝ3eD®ËF^PÍåšGj[ÆÀÇ^c!ÅXÊÄó8x«}ÈlÁ@ïP ÁÒöˆ~ÝÚå<+eåQWRÙ˜S ö ’äQÚlZiü Êà¸4ØtçG¬üYð̺Nà^› oÞ]=ºÌÜQ)ÄTd6èôÄ:Y¾4CeaÀpŸ—ï«·vñiµUN[5ïÍ’/‡«›=²ûmÂ^>^ϲ¡W/gå»Áœ†:/ì@ f=) –W>›—x¥-ê67´%﫪'.ã"øÄCFóT,ê¹´Ó€û¯ð•Ã…æ­Ð4„G˜Ä`8!S‰F•\‚æ¥A»N„W‹º=…–ï_ƒåŒ”ÄaéE¬äž‡MKhLdÙ´9Ž Ree‘ûÕ ‡wé=ïï¿¢™öaÞ t7ó£)7ÄêýµêéËo†ú0ŒÌÞ ã¾Átƒz i­¹H]2‘)ÏóÐZŒëi;¢ZcÎÕg±¤Ó‡óŒþ—õ"¾³‚°Óh*_ê¬l±ÁtåY†øþ×'ëÎuxïZqÖÞµæ¨É Aã¬ð> ˜,`KH˜‹q—ªï‚œÔ†Ù‹[ +«f"“éÂëMÔw1 ÚcnÆ%D+é__v·Y?dJË?‘*û°/h˜»w­Q»½(þSIñü1¬ öÝ6%Éh÷Ær´n2pUÀ$[£³çÍBº9½®ëõ,ÂÂÊæ®S„€#'|Ò!->!Š}œUlL˜V}ÖSÁCÒON¦+Ó;Gí I㣿Š0wMo}üAZ‰ÿ+ŠíeÎ>+Nàìì§ô³‚ªÆ,BÌ¥‚Q²“ôÏE¹rðó‘V–i|Ìoнhºo¸ö3tµ¿úï›ðòYûšåKœ%­ùè’±®ÓÂSG¾õä¢X¯ˆëã9Mï¨uH °µJ3Xíâ[…¢&*å~-dÇ«eÿ6nj®qHÇØ 8}ë…v€q­ik,Bœaõ@máuÖ±ÉÝ6Q祤7)w®DÈÄÑNpè‚&ñq}{D:KBô²{+D³"ì~ÝféÙ‘:Ê׵ɰêHP9ì·Ð5ïyÓU¢¾Œsä#¬ÊF$Ýù vÞV‹vWfgHÊÀåÏXs'‰û¿¤×4±mO²‹¶YÞm²<` Ͼ~pUn´z©—ÿ>¶èª <²£À)¡4sÓã‚§;Ô﵄îM Ø›hy…©¯]^ˆýv—ÛÎ5µä6FsŠÆ !÷¾Î‰x…!†‘…ëP ˆ‚_Q-‚wKzw2z‰ÀÀÏ;ç6R¿¦g.æâŠC÷§Òlnöàµá£~)wÈÔ:Tëk›½Cíx ´%ïÆÉ35m?Ê¥{X{1ðÏõ¶8_1"Æ"˯/ZŽ¢mÒÕÛ–3:ÿ¶4 ìíéGŸ‘‡ÏÑ:冭ÙíEà­¨4F¯õû—G æ '@ø.›7NŒç§dÖLµ©RYVßO¡ú$ýâóäÜ:” -n*tw„æµóºÎDNÀ*þþ$®­ÆÞe»>\³¶ò§¹¤!ÿ5#qóŒ‚ô‘Åß=Ž$z:ñzʳãÕ‰L´ŸSäéžöýc…”HØ2/›£hZ#ûžVwƒN¸??¾þ1¢3ÄŠ6ü:"í÷ñ2 ¿š´è›Ñ£|'À÷9}|™ŽÁ5ÄÔd Ëö‹ìò6ÄßùuÒŽé£Öc)Ê„óôç—°ö·žD+Ú³ÓTm” ¯ƒ¥ïØjÐ|yVüã¼Ú1s˜ƒ {¼äHÊ•'qÍÌj;ƒ€“ɇJrWJ†³,·w’@ëcsayv?³}Ž¥’Ú—æ ³Ò%Å;„„'´ó3&®¯ÓSêŽ$¶0qYL¸ÿÒ;ýFw¼>ö.*Òð ‡*—Ù+”˜«iS ¤Ç¡“\5¢lMë^TþÀ ODûëé knUNìð&S’8&LûQˆ(Dl%æöÂaÛÑÄià'‘ÐŒGý–à~7üY¢Ø)Ôg¸þl²>e>ÔdýšUšMÛ‘÷•ZSWs_OñtD1¨&‡úÊÅY6Tl¸7~Ý9p¬YCcYŽšüõÕâ¢ç|^Û@W¨w3¶^9¨ÒÒNGõ|qã;Œ<ÈPöÜýbµ.# 0³„…µ…BN×”¦9†©·lxsü#htÊ›"“¯™@ëFøñ´æ®^VíìÕlm;}-áÆîö€ž.ÛVÂ#Ð)A 9¥’½¹¬„4ÏO¶‹VRøNKÝ’èm W}+Œ-®¼AËœKÝ~»_œ”îÿ¡n÷+÷Q"t{yî ~f§âýP>„(âì¼ÎW!Àdfßêè#),*”É\\„h0Ÿ# âvdT]H¨S«™:P\ìÖ¿ÅÈDòð²¦TX>— *Þ”óÚn\‹¥àqÂ‘ea†vJ½)øÚŽ}‰"cGœÃ#‰Ð¢wŽ }P~*ú‡.yVZ ÅQ…¼øLwK"õ«acç •@üˆ­Ê‘Ä«2­~J*²øv‹'äz‰Ñ™åq:O&Y½íÖ@¿yu—ÅCÜc6>™#êóëàŒÏðà¨&hÉGk¢É`û¥pÖS:6È›õÓ¹+yzrQÜíëT5©µõÚhP3‚®súí8Ñ~R5®ƒ¢ãQ÷.BöMÑ ÷ú^×.âI"%¿+:¨Eª¦¾ð˜Šd~§ƒ³’1…/BœíîPS4h³%C5s1Gm£°ðó%øµ¾PãÐy]¢Ú;S?Nú°Ï$¼ºð>[¶²="Ŷ=ïŸÃ=ZL3B(“ þñ‰2ÿ¤g9¤ŸÌhqônó¢6sò¨¯x5Ýÿ‰«B§_S ©ñhŽ9$Ö[j+ø„ÔÞ>"6êÏ €¯–Ÿ ”;D¬—`rªpÕÝaµÛ‡·fø.>Nö "š\eNpTdò9ö5¿  Á„hV¸^ÜcxaÑâ'b™!-ûóªÓ¶†mÚ¬yê$ìƒ×ø¸'n¹q¨ì^i6NJÒ`ªOÀs{ó*ú¾œBIÕˆ}n3¬Èׇ—ûVûÎJй· ºÉ (Nö…4OÕßÉ·åíñ⦗mu« 6% u¾_Ì” ÆÃšÏÃ7QWMf¹c/RÍÇÏœÿ{ʇ?’uKãËýUÜҹſˆü ÙI€å¦/;Éø—Nëåç´éÄÂLj?´+8¹‰ÛSwºebÄ…ɈŽ$ì­Ó3æƒWmƒrÈåì3?8YK(”e÷ XÖÜ{•úba*la¦ê+J`/2ùÒÙ"Ú.?¥G|E1,eãÅé_1 ½¡ÔÃÝ=QzËA0 ŠÁušã üVÉA‘Ó^L²R±Ì"Í&$ÀäYÃ}ªÇæÏâO×mlKá ¥°È3ô½„nl[<gûïŒÌð~NÐ"@&ú%b÷åïbáó3N ÎDç.̸‡{yÒAåay] y~0x÷ÆÝé*ŠB1åÇwØY³`ï³iº1úU]U¦y¢É,ÿèÏqM°¿ö4XM=Ëž¸û†–O¬>¨QÖZwö€Í+ë|–®àº…ÚÞ=Jûª¡ã£”ÆKÏEÊœ‘«ùã€d|‹0ó†¥Úõ‡{ž)p`ÔRü2[)iãM]—›5ʦÒOË(˜¨ Þú’u6mx€K<Éh˜Dª_¹4ËœuL¤;=eK¾‡gYj4Ê#ÿé»bÆ×ú—6n±î‹èhë~ á¿¡ù8'w†šõR|ŸÀ²Ø°Ú¨Y "ìB‘m 첟›C±è°øwÿtKÏ¢3Åý5©´-.Ê–×SmïüRúe­Žw¡ëWvM~arò´RnóH.¨­¬Þl° œ ‘~-e’f›ÆµÐ;W}k0ñyuÆ ¸c+'À´¤)^³ÇµÕIÞN™0wç‹îɦj³/(PìÚÉ&¶Vy’¹NC)üÆÝŒhjX›Æ+ûVÉÌÚÛq"Gó_¼ÊA—ü¦ˆþ)lãW·biÿl³Ûf~ºE¼¯3¡Õò…ÕîeÜ·åA/rŠˆÓ1$zSÙI73o1ÒŒBjZpŒxÂGX\\¼8&qXbÝò;D‚d73\,©4½äÂÛñ–ÑêJ¶B»q×½|)¯²… ÖàÓÄpƒäü$`u%§#âjwšv¥GF`àÕŸív á÷°J8§òþo–Œ4u+ì'£ÑÐR]J–R@HE„éò ê,/‚3ÓEÚG8²“‡]¦¾×$® ¸H‚·x}iœÓu’Y-¦;øÂæþÌÎ"ÐÌlÐZlÅû‘hÙÌ‘RQ°ÿƒU´ ©º7¨u#ý0¯#°˜½ºÎ¬>é|ß °8Ë×&jô4 ¯`&Žk gžªèÚ€ÌjÝD¤ ‰3¿O抵€xrtÉ‹ÝÅê¡Ö®7á'¢g_ù¨™9MœD€Ù·gµ]è·ÿjLu‘|·™œÖ×ÂL=‘_€Î̈ò7d*$Ô”ûê1­WI>8­9ô ¿x³ÒTË¢IR濯’µàû\ÄbIœ2ý!Šu’ŒRìäVÀFÿ…ŸdmZäŽÃþ÷œì»}ÜÔþÌö‡6‡N«U¼Ö ” EƒŽH0ã “qAâ:€R3Üjö£­ò««Tð"‹Ñ g>¹z‚«­üyíChW¨î3 Y“=Å Uà‡)Þ‚,ë…é>È©"â¸KED¿¢ÙiýïBsŽÂóÄ]m¿¤nIŽÇˆˆç$±†§KÍC—t½#÷6êàëE‹õ ÑO¢t™ÕdŽa*Mú ·¡èص_ñ/w©eËóΡÅ4-`dUâê%I0±«(”QKÎñR:úÁ•«³ ò_xUÝ|\ÊóA_ÙCÔ\_òQ™5Ž1í¢&Eíê!ø@=J´W¥‘™/Ú—sÏø;Ÿ¼â…*Cî¹ÜwO…wdIÓëz,J§O™,Œí³À…Z€‰^~žk`™äwËõ•qVV)Éà’¾þöAËúv9tè·ÖÝ©0 ˜ÆÚ7‘¯y¯ËÔJô³Ê 5áÿwR‚›’ ³3soú¬#ÖÕæ#8Z‹O.÷I Né ` ëÆÜ¨|²]‡Ëö¥4Õ%OJ„î“Õ­z¾ý‹Ù´$ߊ?ŒxsR7Õa諘 gM%>ÙøL ýhôçvH[$©£y)ìîCËKodA”éB%É<®ù¢BÎÿR—T <}mþx%|¨•Uô¨ûĆÚÄÛ‘Í8ŽÁÎ)Œs9çgÝM÷uVåÈä?~ÄçxØ”Á"»ªDG†Ì«| è~ºR›PÿÍ÷£æÿ1RKš¬(4ÔíëÌb7 ¯mfå‹wÖÄi:Q÷ýµepª!~&hÄ©M—(Ály õiz«ƒ 芦îÕ"½®ü&k@Ç;PF Õ§¹ÙF9Õ¹zß?­•ÿ\¹¶„÷Ï*,-íŠxþær^˜öeî¹G¹h-“[4iVíóø„ép¯±«æÑ+|£ô¡ÎŒ ’èª~ÂV#8Ÿ9I ld»4 ɾÀóÔÂêôÝo˜@¤µ}êë¹­Á²E\¡ã‘ƒ³‡ÙBŒ’Ñ:Ú„† Í·k\úP|¦¡ÆÃ§Y¾¿7X F!t¬ršjaq@a´Å}’™TH{5¡[MZJ¹_ øctàÕÞC¨ßÆí1–Š~ŠãVšþç è»&_U£ )Ò-…ÀÞt.žðvX‹dϳn•}b â¼Ìmζµü‰=^k‡2÷‚Xåv-ìa‰Q¤2÷õ,>±kâ”±»×—[D³ ²ß0â·Æ„¹-!/:4öÅW¢á­¹÷ ä\uA.È.X"¨+ž•!DÕä®Úƒj±ŽÖo™/!&° û šhø’ß| MÁíå»wy _,b¼E®ß|Ï~=Á¥”‘éÕÏ×o‚åÒiýS`ßS°ÜÓ6®zNJPd‹E£†¤â¶æ>@mB‹&_‹N[®_ÇŠ˜Á6›pô.ï?iáïbAðSfabÁ±¤{[Ž$¥FÊ1rf¿{áR=Õ÷²Î9ƒnsz3­ÉƒÄÖ 5€x}é×Ê/®Ò7r0gX·`ÿŠJeé­Â¢$Â_)y|Ùn9Q‚b"¹ZªQòþ#ÜÌߎºó—:(ëÑü‰RŠ¿åëÚ·‹1Õ-MY‡ªÖGŒ£‹ŒtÅÓSHa6×(bk¦ÿ.‹rzúϹgFÛ]èó¯mŒd§é<騙8%x´ìÖìlJV€–Å“ ˜×l Í7×àì@òô4)nAS>ø} Y±¿ 4ÒßVۦ⚰ïû?…áÓÌ Î:¾¡-$EF(áI͉—æ¦óA“?Iý´\ê4+¿Sâ *ºàbQ~:—“³ÒÇr2M¥(ˆF¸`¸¯¬ÔOÍB­ù`ðw›b½a«,uXœÜMJ??©VSŸ´Æ„liMYcñÝ\ cLDx÷Ƽ’ÿ aöx9Lô×÷OÍÂü@Îíð–LÎUÈC-}Öt¹„»H¾œlø¾]bNº-ÙjªKÄ9î&„\ÖÈD.ågˆ&=-ˆÝB†R²) 1qae~¬€8]á7°‡®ªTÀm?RF̱SÙò\~â呌˜(nÎ)MÛq´qµS£¡÷rϳ}ñý‚ºz IVÜSsÐO'h]ÇKÒ½ø(Š?¯qö’Tÿ¡vl™x«Ê¨ÎÞD‘ò¢ç“ý„"¨‹:äÎ&Xà«°kî5U»¡\$ì‚ðwkBÂ¶ßÆ5ç$G˜M «··|äJ÷ BW¥E嬇áÎò,qO›b?&…Ð|5\Wâôa½@ÜdvsU‰©°7¹»•Ýé¤Õ]&Zæ86e„1ÖÌó)¤aq_bzDãÉÐ’+5Êì/­Zc!†pÈØ±éxûíw'=¡b»»ªáóû÷Ìža ׿¯º êþ„Ò°`gAÒ:”´ ¦ÿ}?Nî‹ÑŒ‡ïõåXi!²ïÄ…~ºß˜~ˆqÎpY¢©|йùRì+»>ãîµYYv‹¬ÛqØd÷4ÞûDß¼˜¬‚B­ª%çwLVkMTEq´D +Ní*õMD3:c+f¨PçÆ´Kr@ú9Ãûƒ§;Åuc¯ví_®BI²¦úµD¯6¶å¨¶ [ùXqز“Ôè;3®ÞHìòuæä?¿† ˜S îü*{u} 4Cö Þgi‹,³lÇteZ6̱úOz5‘´lg€¾Ñüiøw²©È³Kg_(W6­  –OAm€ð‘¹§:G-â4ŒÅ¡—ÿ^3Æ1AÓÀë‘ë} yJè§pjÞ‹nœª;ËjºÉ=]ƒKXo[š§«_²5ìnЀІ¬XC'í¬îÈ.I×kµ×îÕ; —“½6P7«TÊ› ï¢ìÇæÃ2ÿþ·y¼;àOxýW‚ÿÿÛØ2ï±ÂŠð…Ûï¡“‚•ª“\f÷À/Ç±¾øüÅw/¾ÿىѻê ÊsùðÄ£ÕÓÃŒ€9J41DF uùÝÉíF÷2”íãr<Øà?Ô‘c³Ëþ)mk1úœMë®|°± \êZ‹ÌmDØý8ˆ ¥·Ò¿ðƒ€ÍèCh3Ù4,h\f WÈKÍvúv öÒÖmC²p+@Ý.‰dx¼lÏ´puÄ *W%¨NÓQâ°Ê :#$øåÓõκõ˜9@ë†Q>ò/¼¨¹PG²ëE#±²>4œT_•AŒ'I]ö^ëÕ\A ntªëÀÄ0ÂL›ÏìK˜ü½ˆs6˜õzû)ÀfUŒCbM_ÉÑëWnÎ>N‚ÚàA4Öo¶£¦‚—=ܰ¥8ƒ1µŒ)"¤Œ¦ÔÙ™2“©<–…`zþ8_Ô íþá‹âÕ ¹N_DIÔ\ôÍJ’µÖßœPiæk£>x›¼˜z'}u-Qó¯5 ­zìt €î~–£#ÀeŽïFŸû‡rÈ#†Mý eÞòâþ"~è!åüBíekÃûQ¿ó#oçs `[¢þÌ;ØFø22íöÑtئ+™z;atþ3NËdѶ -Ãލõû¼â Ò‚L9¢ŠYÇUëùK²ÙKá»,…8_Ë~œ\²M»Qù€ÇpQUüíþ³7ýß@ç>ò$›<›Q¼«¾¢#Ɉ.³¡vεL[àÙÉ>õxש—´„$ß óQñ4Ь©<ékDžÁÏ‘3qt©yžVÞn Ò¤giè„…k ÔòÇJÐ[~ƒ¬&ÒýAp=°*â@Ý{žG<íb=GR$Fcì¦ûÕEó¿èwÎÍ@’c†1××1®É¿ƒ\ôÉzåD®¥WI¾GÜôË$WÀ¶|¢! CVéüsöoŒ k]Œãº„0=§ò›F¥†ll߯À ýîz÷Øgy`[[”µ.5懵-²þNÀ0Û¼¨B³aXI¹EÍN?Ê\ ëîØ~àæ:—s=:É=ðSØ7*çÜ62Tx­Ò—ÚóSÐZÛÈ>3nZ‡8¯'\xìjGq_¤’\+h3Ï"ò;Ì.êÌïd~ÄÊì?@»éâɧ×Ì©G&¢¸á(ÆK4ò·2@U¼åŠÂî/ááMº U»Ù“bVÇ3Öç Õ€ ÚÔ»«¶…¹ä)2ÌLEøU}÷WÒš©#µ/^´[ z³éç3Û:ª:Ö ÿ©ŽñÚ „lSíý³º=#&uƒæªœHžFúOz~óàîN9SgÅB4ñWñ¹gGˆé#ð¯J–øKðÆOØÕgö”÷^:ªRv,§ü¥ðí¥Ëˆ®8’JÁFŒLg~Å!¹¬Ë”¶™Œÿ%\GO)¯“¯l3äƒß‰…³ùˆw=²AÂü39>ôñ‘? *fKÿ;š/îûg%b™~;BnnøûÞ d»þOKä±µP~Qs œÓß`ZßÀ«Ÿå<£˜3ý”¯inŽžÕÖZó{Õ9ýì´­bhÎêé&í™Í¢¡*è‡sÑ ¸á)y`™1î’ ‘L?¢çæÅaÏËßYcí¡^Š#StT.ÖƒÊ9ÚÙàíìL À§1gy~i±©Ü¥™@ÐÎ6ÇÇ$$J|«øxÄ¢!žËºçr~¢‡ÂŽ«Äh 1”84éªO éÝ~d…dä$ß‘p]‘p~ÇsÙȽzfK‚ŸÀŽ¥ú7á)ô’+̆f6Ì!þ Âã¼ÆÓ~éq๢¥)Oè£,ƒdRªÔµdè•ÜÛ?±Ú„ß*l`¢Ÿ L#ÜÇt $¾3£Å&*žE K5d"â¢U]¨y··ƒççŒÊé±Ã .fŠWÝÓ*ÛI<ʇzBå½ô ùOâÔ JAüøí‹¤Ùirbà~Ÿxú.,6ÕQ;Àå­P”=¯<÷ªÁ®\EY,§‡Ú⸸oåÃÐÍŶ½LYa8†ªyÝÄÕp-±õîkàH3køŽ>p´ð:ÿGîsÅÞ<}ˆTkÙ8:Ú÷¼WÒ»¤™ga¸sÄ>P+&宨,È¡DVïôC®ÝÁíì’±±‹¹S¥Öœs «R}ýZ®óͲ”qì SnZ°LùˆŒ,ÈÎvÑè »¡P¨Ó“ìD’¨„$ÇÎYÙSO.Ûjg†|ÃBµŒ¥û2ìËurˆC1´ ÷_(¼ÂÔvú›êñtDªEÜó[©Ž_©§’vàåXfá|uÖ)øU]6œtýrˆ›1(ž”í*KÿBÞ_ÞUIáuhµáÅÓl,êç€eÞI>åóVÛÁ_IXJÓf³ñ”PŽ=C‚­‹‘’È€øØ€PŽ©bmšh– Ôþv€ÊM%÷OýñtG©EaW–xáCg·˜£;Ïõcjû‘øÊq6&ê-„l˜´ùÃG|îw?E> Vá/jj¶†)/5ÿßkÖh@ùÕ7ñ]uàïƒ(b蜱fýËkrÃCÉ FfnÖÓ†—ö!¯ 9âÎIŽ&0¨Ûèb—ï…߬XxŸÅ¹/‚°ã9NÆ#´Q¡‰(ܨ¢7ý3ñÛtG³(ËÆ¿¦ï§0sT*ڪΪ•cŽP¿l1ê9Ié•]^;YËR×n «ÇìXôÛ¦cVk"£ˆ™‡Üô³øÇþ¦WØœà()–³â~žƒC ¶K-R¼= W²ó#Q¢Uëÿ¼*&ƒU¦áÉŸ“Œ…ßÖM½6«ÉNÁŸ&¬ˆOTøõïm3-‰ù`CFm˜$¡sYe¹¿‡¢¡]žóSÈC‰Ò]_8쫉ÀÄ„"/IÃÍÏ¢öaJ¦uÇ@ï¢hzçzçQ¾ZÅÝþVÒðX{ÙžØvꃈÙ(;b­ééývqºˆ)÷e§ì€h¡Âf¥ijq9zºù"qÉÇ.U¥Bùö”üð>-r¢)á;~¾f|‘ûÙÖüÔKŒ†[(’Y]ôXNå¿aK>K‘™.|‡`*¡…¾ïÿɃ•?p¸écx:%.ÀäM€x^¨­Ç[DÇ!dÝŠÉÄÛÊ«™ªü6– œ©‡ ¬”´#Þ¢®<Ò«y}F(\‹¸ÿÖN¢ n@)£ÅRzöŠƒŒß°þÈ>Ü-0>¿… L*iP÷Éø'±díá`ŒF¾F‡˜åØôïQ¨EÇ=œ3´& ã ¥×yäžm²Çõè#¡]ðòÓ•™5Øíÿ“1G)JJ•`=Dߤ,¾š¡)…\rGïQØ ¤ëö YUË]•Ör1Ó),Ÿ_ŒL]ÿ²&vL0õ<´£ë[ ¼ñÍÔL¾Ú›ÓûM¬ð+¡äA Á`ù^?°aƒZ•twLl«Ì`zƒô]kñú=“8oÄ"cxoÉ=:1Ð_äK ž0™nêŸßrSÃ%˜L+ó¿æÌvÈ0'þ:@§]ƹãÖŠö“Rõ>¹8:V$;)LÖI‰ ¤2â¨ÓBÀ÷íÍV"±w£È=#i±‘#CúÀ  =Ýid£œÞSòšÿ[Îw\åý±˜ÈFJö{ZÄceyÆï.®Fêʪ­5}Kkç|X+ˆÕ>Öï4>ôŠ›Î+¤”,áõyFÃrÔ¡Œ;N8‡‘¯ƒí|söûOÑ£\¸b^@o:0õ=‹ÞZ'*³»E*ô…XŸ­/¿åj§H]õSú¯ (,ËåâÆ•Øât~À 4"9ËJ;"müZ¦¤dèû»2_Œ×R΄¬žGÁË×iB`Ð6«ðŒÌj,…‰ ©u?ù« zë½ “ª´‚Å— Ó«y0‘i ä¬ôÉuÊ`&2Skmž•~Ôo êÑ©±ÀT¨tã7šÇuÑ<å‘i(l2ælô´”Ê8Û¢ZÂÝ »jîö¯ ÒŸ¹Œ^½tG¹]¾ÏЪCuÎOؗƒ¨§Ã*ÆìMúHd#f¢”[þŠí]ñœ±HN9Å¿ò’‚c“~—þ¸sK;tØàhé×ô(ê´§%_Ç\RŽ`¶ ¤ì;öZås¡æ¢ú÷yè´9›g :H ¿)›Žû)'9 4y_ЏíÏ ÎÉ ‚µír˜4Öý=JiŠÔiÇ|jvìëÌù\j˵ÚVm…„€<˜Øåëù=Y°Òö§ÑV5wb)f'gž¤quœ4ÙãïlwøGŽ@bín†½¹8GVòìð_º]:+%ô–ð’U–åo(ã½nus>r…Nb 2Ì·Ø·×i0ûö†Z÷Ûæ½IkÄ?ü}ÈÇBµ ¶ l‰?ggJ68Iæ[­éfOñ2EÕß²¦À€5hoƒ•q[Ùí'2þraø>)¡!FgÕ'Í6qšÛô½ÝÜž{cf–Ó•ÈVÖ«¢gG_Í…˜§–+F­—Lº¾sþˆ\‹9˜+h/ào¦æPuWÄøw0:ž§­ —xÐĹ-bvÑD­Ñ/²­S6yOøÌÅáq´™ ­ÎŠ›úÉbH†&*s8oJÄW'k¨¥eùeuJçˆ?4½éh@BA9‘/üøÜíýf ÀrøMx{êb™´‡®fx™£œ€•4{¹ÓúxÏÕw7?ž$>7¦Þ¼¢Šl÷¹¿»$ù,™VÙï%™œÇ×û^š• p„†ßëü(úŠÖ—öÞpKÎÕl¿—’×c»ÅÃy~ÒµS”ÖZä<^ƱÉú°hERŸè ­|Úì¦ù;è›N•âߣÏþ}Êd!½µd^­Ö˜ËUÀ®æäW—œµÊ šMxt“‹³µðœr# Cã«hZªó¾á£mwS&¥±VŒÿ§¹y¾™Â{Ôc— Áñ•ÀJNZÀÿé5Eî.ø²3?ÝMH‡•”:w8%TGb™¥òÒv”WMûìùq³$nb¡“UƒîëJ`:¨CÝñO9Õ£¦7׃ùر½J¥«/—…‹Æ‡XÃa0C0´` lïV[¶@4·€¢k?ËDÒÐ:wC*WÓàKMÙV h`šÄÀ´6‡ ÖT÷š† F”ÂDï72*sycýÃf)\å¶ìwX+ 9Íö €ØŽ?üÉ’&5þ„3Ç¥¼SqÀ¤ÇÉØ Ïô§ú=¶}†•¾øHêáάàwz4œÚ<Þ¦“´è‹¯½ŠÛt[éMk8bÄÊí¬ÍQð)ï ,ÕØéÈÝËqªYÐ LÖN®Ú–'.ä2_tƒ'´ Ò´¨l4_û2Ð ú‰¦$>c¹¤Æ© [ápS•«jòÛ"~õ¨Æ²˜çoáñ²½…ˆz‹Ë¬>/Þ˜:åXÝXІru/ŽuH#$à¾õ½ψéˆÁ9Úfyô[ZÊ«}T1ÇæÕÇŒ_ø–þ¯±û2x¸°8±9Ø®sâtN:n{ݲ’¶þŒj˜ËâdiOÌ®%U ÑŸ9±Î;n²õ¦ßÚø©8ñøÁuî£,S½/G&ûûR‡å0¥‰‰Î\‘”|p!{zÇÓÉθà'cs § ¶Œ§µ!ëü¦ù¤+5+³QóÄz …£L'Vlz 'U•.†R©[ãï¡øá¡eÁ6Î>MK›soTö)Ò¨°F©³AYåðÖ×›ïnÊMâ¢~œGçÁ´¶ 8«Æõlg{æ öB \õES_y•ðɤ½îðk³_Ç®1E¡¯“d-˜šœïgåp¼°bëÔï1‰ÙâÆ}Fúoeý|˜¬Qà\¾J!‘¯¶,“D7áAÁQ·qΗF&kçëì^#6-Œ1vfeœØD•½FÅ<»°e穟MNÂ@b˦Fˆ– 7‡âU›\÷€¥Z;½¸ÔÓ Š:ß›*vè–?Ï‚o¤º(îl‚i è¦ð‰`ØS‹F Åg6,Æ ¡øÙj%/1ŸZþ÷Ò‘‰·~¥æFùûê9™¯/È,ð²H^‹+}%˜À`4ËäÅ=:¿ÒÀF\²ÒËÍkV{h¼¶´[`õ£ûl¬>Ìëçý×ùYdL³šù¸ÚuÑö LKò­­ø‘¤Ø¡='¦±¡=}ÐÄÌ ŸøÄš#n€ äK“>_"M3,ö0£YD²ˆÞõáÊ=„Ù‘—3/Ú¾dº,OL¯¡»1X›“géú¶¹)åú™CóÖÝ5ƒÊ¯DP0Iо©Y†&q„‘Ö2pÎãá(='2§1 Ïd$¥PI°¨"Ýhñ±ìÒ‰¦WДâZõ=_6#è”uØžîÕ乚F{;g„(Ǭ4³ßÜ`­7pŽó¦ÂŸÉÁ¾z®ò±í¬¡1¤«›¬LÇùNÑr¢5:â3•(þå2“3UIsÜl©£Àf›³î‚yÂ~fï:f¡kZœîI…p{û±BJ›€£LíF’õ¬Tµ5&WX5 ª‘Ï=ö;6ê¥ÚðÚÛ¿Ú«¾YÞZF%"Ž—,õ£Ëò‡J®N³¥»èßûä2#8Gà×ÅvrùcŠÂ©†<çÿ9W4VåÑ«ãÒêypP';’0ø<Ââ嶉üÅ!p·#½n.Ø¢7ªÛ€y¦6´_$ÏûlèeÀÞs¾ÐæÛ hL´/­HkvE>ô0 pÚXØ‹þW¯4žgwð|,þ¢h¤5aàÇÔ¶³´ªhȹs¿|´A ¨ÍCùaÒªæ‡ašm‹=Z†f¢–(t$v†F×Ì NT"§Å͸ò骦þŸ@ÇUKSb¾w'†‚! ™2A—ME^\FêÀ\>ÃéüÒ2‹kÙÆo.ØæC…X*–5 fnz¶sõÖqÕ«UuR¶}\/qdöß|/*‡«P€wà§4ªa™e…¤ò€GÍ¿€tsî_ÌD:+ôŒP® =ŸáŠEìù¶(ð4ã"¼*7¼,òêL?Ú[‰ &Fð-KìDÔ¡ö~þì#ÞI1"h8©Ïœ,`[*u¡jéÍÜæõþÿEcqƒ¾Ëè¦ œÆ&çäáéövFÒÝõ­ 3»žÙ–ˆ`H-DÈù%H Ê—‡Ø6¦"qRO.êÑXJµ-;FBUí„HÈi½ü"`?TËZÝ 9_žS!WL¤Ž0…¡ÝnijÀ:ÆÄ e~¤±Úeýç^Fý=N†y5ÞÁóKþ ö”ؼtšt($=0qJ$ý8=X‘!Å”=¡ªé·ÂžŸ›£1r„"y\ÞùiJ~ÁG±EœLt™,˜}xM€ï7#ì~Ô’Ë`¥LRÄ•ÅDí‘û±;±yWÕJæÌ´T/ÑàQ?_ ,ܤç0j^_é½Áß•¾ÉäpD¯á"µ9—} .zzÆVX;‡2¤6W¶õÉñºe6ꎴ¼¼“óà,¹SQEâLoO¼pÃW¿•§ñZ÷Õ瑩ùY<ËX¥j1oU…Ák%)Çäd3xýfUÝ’ªÚ/³âðx+~ŸóbàP NÈ™b]Wž—Þ8°U ß²ë²B躔ÎÃlÀî|×àç4‡ëœsyäqs“¥\N\¶!ÇÖÐÁ¥N.×C‘q«l´Aa‡Õ‹ÅL;^ÆéKýõ'øzêEÈGéÍ>V7Ev“ñRõN{òM; ^*a¾ýyübìàôx¹ë!0}ž¬#×yüÙÀH™:à(V|§Iü¿¿>¦Ýü³¹À§x¦«šSŒ_ˆä¥E½x%f÷dž+Ôã¬9¶cc+ÿ¥˜ßå(˜Eßצo™K+ÂñãÇÑ/êCò+VøžOº¼üÚÉrH®ÁŽ‘,ÎAls *r—,­ˆ}jpÚí;†jz©_IÕÅ1œÇpö††[Ÿ¢æuã ô]Pý ©ã ¼ßÖ;;Ž uB·ìJ³UŽ‚Ÿ‹1ô‚OYc¸)QõÙN/<¤|”y ï“;d7ô•HgqšyÅ&OÒ8Ÿ~O"ÊîŽÆÞ¸ì^v=²¦U̺ـ|S „¶  öF|Z’ ‹ÂëÖPÿDNq>ó±Kš&¨Òu¾e2Rþí®¾_ɃÖ÷@\Ù.%ÿ»sgwqz1#ʲÄô|iã†e§ W|fùw2bõ–¥Î:Áî˜8K˜ó…1j}Úï¨ÿ>ÀìU'‚Jv8–þþZl„GkÌÉÌX~ ˜^ºîФZŒ*oš ’ç|¹gI­>p}ì Ã/ØYeþ Ü£PÔyCÏ«¢S-uY¼ìý;ªÉùý2p¯ÜQ1Í6ÍöÀ®Ÿ\Á¥>¿é‚="ð„T~²3”þ=ý›÷Dü;-¸2yŽP’Qà +ŒN7ê<Þ×¾¦1Û‹˜7D=4µXå2uæi;Fªê©xÕš’'7ñfµWhào/Z‚ËB²¿Ó ¢"V"F5í†'»kvõqbœ4Š‹„Ð*ŠZüï¡áñvò§¹Ž6Âÿ‚‘³ÉÜÀb±úT ž[É“?›BÛ+i"6Òý‡]§ÑÁ Žú·¢x¸Ñ˜,û€lÍÈ•â e´k:)„ Ý-qZ[û¾¦ª‚-Û ™5E6n†Y-5!6¡fÌAÇ:Fí:Ø#´†¶=Ú³•ÂzÆfæÜ }(9Låÿî¥=’hÂì°{?Ü5â Æ–‚¿Îa‡ÆÞò:¹¹·O8ãZ3Ä¢e×éG§Ìáƒ1&Œ†[:\1ƒÉs‰ÊRñ°Qº°y^ìí´µøCW‹6/è››½L&iL?†@åUÊq3ûüù—‹ÿ÷©KÍ|ÿkWª·î óäROL¬¯¯'±…{‘މx×WXëÉ9)t)ô ³v;}ª{×ù·ÏÕ?‚M0Ú݃IÃ3K™r"NœuÍEeG Ÿ®SdÒˆu%*-¶Y!ÈÛÕSœ– ÷1Ý­#z²-—dª5š&›®`‰¶ÁP9±RH˜CÃò4žñÊà%è£éA©»é2ôÞ0mž·ó”¸‰û§kyºüCúûqÔÅí[íLºGÅ$ðh È,ªeÿ1?Ūhñõ8#ȸ9õ'£2á.ñrí󟾌…ÒÓØØ^—à,”5 `¢{À ÎÑÂü¯üÜa~æ&2u~ØÁð±à¥Õææ„£À¡¢µÒ¹¨äý^A*Ï®–)þ9ô=‰àÈ® !K5BDÅÙ€;×µ­‘ô¡àŠ8®(ûvoq m™“xÇ/Ì4a|‚sœ¹N~NÒŠQØ·h= %Jµ¨q MÏ‘™’U¢7œ˜t)@¾hCKï ‚Ô½šÚ²ºè­ÂüzBúR2³!2H+ŠÜp‡Ì/â{:òmíZÔRènnÇA%Ú¡Koèáa«KëÍ ‡Ðb„-°ôý{ï/즸B—BÖ¾G¤ ñÉ"`Æ„?Ë(n~[dì[¿åQÆ1=ŸŸ¢ÍÓšôÆJÄ4;Èôjn ùPµ=àÉ­…ó!·mì'h¤‡:ªªñ„A,Õ”†JäÛÀ0¦i¡­SL6@¥'ª±cöÚâcÊ1ò#¦ÿõ ß@'»ÓmeüκÇÞU€e–U¼ÎÞ¬$:‹ Œ½â`nGHT^k“>˜%:|³¦$法21® &A!̃òvSP?%RVš‘!K`ñ‰3Á ¹JÃ¥ŠeÆcdë$6¸R§ÏbQµ€‚í êèç Y\‘ýüÉ“ÀÊùR—Úz(u?Ro³t|C¤KÊpP¡Þë[—™Ù—Ò¢N9ºþXJ«•Bƒ{ŸÊ1µº"³œFIyþOÉŠ¶ÆeRõ3fÈ*ßîïì‰ËÿÆÜ%@´:0ÿ@Wªè{&_S>£J=¢kpsuôš­ ¤VK½0Õî;(¾TëþòÖ‘G˜ìoí˜NߣåGÃ8›KÐ ËÎ.†w³äJñi$ œ3—ò_JºÐóšÆ:á—ñ5ov¿„WžÉêÁ/5à_0ž²I9„Ôm¿â½t åŠE«Š¬3&‡0Z¥b?izÛ×âãd‚ ä²w<·÷¤]áùÆ#7-FU€ýÁÜÿ =£åoò‹Å3ò÷ú±ˆ„>dKóÚvþ‡\í©“ç·YëWZ¤U^1øÑèO¿¡_pÚéâ“Á'9xa‹î ±ÜÅ||fÑÚ‰¶ôZ­I~:.²œìZÿr½Ü·É`“ŒÒðÀ6”-ÖÝF®À;M˜NþÐ̃²Ê+%`dO*¢Ð{¤4YaG«cv‰óǹ¼ÖúQìf±ã{pÀ©MqtP4-‡tô 9¾oè‚ô™‡ºçuÿžz¬^ÿÈ`š@C1}è‚(K¬ûoញz,îu¡íiþÈ .ãÔ]Õ†ŽÝ zž:ÞÚ®[$©=`5ÍNåq¦ '!½¢¨¼*‰:²u˜hìQL³HßDÑÉ›1v ÌͶ²,îÅ–¹¸ºˆÒž—/#¢S$ã“§Ð}™z]ÖyŸê’™7?Ùáïm ò9²j4«?j£_mîÜâ HL?oC=ó7›øOG¦a™ãäÐîÁvš?±ÊßûgM÷¼¸‰°oøµ™¨wd` V9:ñqNœ×º]DÝPÙÀÚŠ; Q fò#-¦3c%&½(ÛÁñ’µE{мCq Å´çY¡L­«&8¿‡v0ÒÂüæjãht1ø9¨¶ØˆL9a„M[LŠÃ0ë'­Oˆ¢]Ã6{ÖÐYýÞ›¨â£YÀÝ¡57£“”ƒß$ì~@_&ÌOÿ†ÁU#´¯yR˜#Çä'úª]K{ô/EObXÍúš^!bB^uïüŸ5dPŒ³°,‘¬5‚pzT}âyfÓÆsÖ…iÐ<5¬K<Ú¼…Ó7ÊN˜Ø×—6¾Ùü¡1í…¢6Å…Üøê„4ºÛƒF´8øÁž8‹à#}Š!†€µ~TÌÜ‘žjÈú=ýòÎzuÓE±ªfb¾JÖëäIJˆ­fø¿#^rÖ»‘ž¸q4|Svz%·3&Ö8â jß÷n F¦ÙSÔä»n zB¾Èë…®Ÿåwp+÷2:Õ£èt…UÎèÌ{Àl=*;wÌŒ+­+ûHS"'`ç½ë±/|·hbñéc^Ú˜²(D0é4Ó€5Ë`‡ò,¸;eƃû°æ`ƒ/¢æR‡á<±ÙjI•Ò>-· ‹t¶B9Z±`#ø»cT¬š…iX–Uèqô%¿i.®Þ´R§¡³y,Ÿ“ú8 ÕlS×þrÕ0&ö܆²AlÑýÄ—_¢‹ú¦Aþm˜|¿•§Í\ ­hè•P ™ÁD¬©mG^Ä8)ÿÐû6yØlkxž|pŸv+ #åÙ‹Ì“¯G͆jQnóè,BÀã3±J&hÌgn&Šf‰6hgËí£­Òa´ÛV6¶g‘UÞYn¨ÛˆiÕ•!>õ3×ÂF‡+cçÈr©&….ªÍ-Kë¥#`ùæÔ“R™«˜I‘”ý/Rý¼ò;¹L1Øõn~uÓËï/¬¸û öê•8 '»“õ¼¼½foô™7DôÉ¿‚($í®Ä ÈEu Ÿ}½Ðaõb¿±`OrQŠv‡èHuAÝ`¥îÈ4‰æ’þúýrÀ•sýªp´Z˜ÜqƒËÛ4 ¡ðT©<[tð¤ãrGKeõüÑwµOÀ:èt_8B“º¯Kã^eú^S“AHøA‚$t㬻&˜˜ý¾>•OzŠŸä‚“ðˆ(4îÈ\ÅÜâI>,XõÁÈgm7.ô ˆëýÞ[céˆ7¸ýýÕÕ!vZâ©yW)æã^Wx°TyüL3lj#äÁh“®_©(òH=À]’¿ìPéÁ§ÍY²ɼypˆš?üoâé;)|NÕ»ð›G´ÎaÐÜyÜ(æ#–ÜSµ±ö:¼Í±]}}ï8›k4ÙR~SÓÌ2&mnƒ¡%#×é\梈øz<~šëq¸&ÌI0õsú&UÉ:­ ÍÁ>yLlê5ƒ¯ùõ€nQ¥ùT/°tY°²¨®çg–`bõ7ìÎz WaæÕdœ¡b ܼwß6¯ùvì³dgLNÅQ<Ñȃ7ëeKd‹ÕÛ-T k ;Ùa< 0ûfŸ¶]j #»­/ôU!^Ò•à… ¢ÒmŸ éve…Îl^©×"¸³ü{‹DHþ½LVbã’œ‘À‰;dH9/¤ƒ½›çÒ¡07±Ü9+ÀÚÉϯ@Z*‡°=‰.o L…žoSÿç¹ê¡Àqmîœ(¹BÚ\ÖÆALkc…,RÁ¥Z‘Êg±ÌYmu5ÌL¦ ÇLàÊkÂÞXkJ˜¿÷íiPs!ðmü¡ ì˜-¦ò÷Q,,džžî”#Õ‹s‘ÑKÐjF—²Nº¤Àmx#ÕÔ+†“DçOî³ O4nCÀ LÐ]™¨š,„Qêq×çЬ½ T<ƒæÿò| ÍÀîˆòY×VYÛn™Ü-õ.öO:{‡Zþ–ý𓽇¿Ó‰ÛÓÔus)üý•pÐUpÄ“àó6#>Óz2yŽ÷¯Ýx(j‹3ûüökçdׄºW8õZ¬ ×"µ˜súRéif,$×ù‹RÔ–ÕS$Wh½euôá‘™Ͼ :æs£—ž!ŽŽ»S•¾ }¢ÊŒ,ªL_bg"’x±ø,3¡ƒZfZ9¾y×ÀûbÔ‡ŸñÌŽ +ÁÞË*¥P£fŠ¢ž0+Åi¦¡2³«g5!q|à“È÷¢ÒEµ¶4H„ÎûPÙ,7…ÈÄ ÈíÃAø'e1>C¬!­”ºHgÁ‡6ôs÷,WN28Gœ›ÈWÿ µêg§ÈÆ‹Jqê(èY|Êúù‰ùª1¶ÏÌiÐÎ~î‰äNö2EhXŠÉé¼ÐK%¬Qļ¯H ï Úuk|Άñi¾ßˆ*dÍ'A¾± ~h²žë5ãÀ¶”t!‡ÏÜ dx|¾¡¬;Å!”í¨+üÉç‘x+0ra?¯la—¾DDLC5öt{f“ðXDå5G”J{2úˆ‘1LbýúŒDß&L2§Sœ`‹UÁ#b6äSœ {Ü Ó×ÛÖ‰Ólê8CH$Æ;ÂX¡î}/Þ¨J¾†Õ U¦³'üdáJ~%)8ø¸kßCâ~ëÚ_@”5£öŸ«7ÈCJ°Ì\/…éÇÑœ¬Âðî£Td‡ 3_h^™ h汪¿÷TGر4ôzÞ¹®ÚX49[+¦¯!ðÜv–BwF½¿”%„µÆc¦ Ž¡»ÕîxâW^˜Ží+Êuže&ë )Ž8³$å•FOˆÛuªN„3Ó‚fÿl,uvîr¹Ÿ§‘ ifÉOøßj_èà\ËçÕKÌ£«™n+6SnCrñómå}®ªï=ºü&×­¥ç%2/ü׈y”Hè† „Z‚kT¢®âç‘¶Õ!aÈ¿­dËßnìÒ±^ß‘i¦³Ñì—|ž€›`F?k ý‡K´ä}|eº‚àô‡8P73‚ü0“)…µã¡´€)™×–¬ÕðUØ#×Í!µæã©0ÒÁ¬/þÖÖ¡åäØªô .´–’‘Ô`‰0}ûôïVê…7·ÖWÝâó³[äÝÄáîÇ%µ’2ØËcç% GjE%rÅ|çL*JÅx .Ù¯,Ç[’0\¢ºI˜¤OÞ7¨\Æ’z|¤ ݳ¿Âl+ÚPT­K­ÁT÷Zê#d7‘<¬$ëÀîuÐ:­:muãö±>®ÄuLzzÏÚ ,s˜ê%ËÑgZöׯrŸ¼ïÌ‹€KRËn9zbzá‚sŠ!JË7£½qçSµwŸF½ 9kÎDZ¬{šyò‰úr~ºð¯r†Ûõ„4æi`«òþ½´ó{ÛP-…ÀélI)n¶Aáߺ™-‰q£eÈ”$N»I&.à·O A’áØGÖQ/TUožEˆ{$…§¸XÛágd¬‘)5‡’‡Í´¬¿U`“>»X"ÍXºÍµk¸Š£‘-M$…$ Òà÷ÍMhð‚ U ÝÑ1íÆÎ°—ðÎÓb¸|ÀNë,—ÃIIéax´ ýTˆªÌ%"¼ª*ýWÿwð¢ÂÜ·ÐØ†GXMëîŸÅC0™Ù^*9x-î1ÇÌ.Æj ba¥è¦ h?N4ä>½¥HsŽÆ·8-i% w­eIÈÞC²mÆ=2­„úÒ¢ü"q5ªrçŰ@Ê¡l›Z°Zì™T ».ÎäBû‚L (ôbg&kKëÑÈÅ€(_*ƒ7ÛoáÁ¤*ïûŒúÌ;„ß9ˆ!vÞÄ©í†×M6–§±¼Ñý÷832`¢Ç%.vXÄ[‘éá¸ØXHô‡Fa$“Â>0”š°KÆ#àïɇà…Z>#;oô7"¥à45¾dVÜ.Ð6ÇùØ?ßedG˜íÃŧÑBV]Ÿré÷1çœ?'Öý×Ö u¬L ÚØÑib=hlØÞ¬ÉÞÖ ™=<娈8Þö\_‹êø þJ¶_¹y•Fyƒ{/oïçþ³HšÑ°žÐr~P(=1©l?7¦™Q í>部ØjÛÿÚg #Ý?y#ÇBý*R9uack#f¦TXrNYo&aõ·bV{‡ñ™ µ‰eƯ© ˆ„Ÿ,X„v^Æú«É¡ýÀ £$¡ÿÇkVÈ-W-kw@ ­î\ø~àƒÉJ^W±¿KŒ×ªòW¨»<.q¢«_ÕŠHzh~aww|OÂ|4}±ý·sŽUr¦ÄK;3j¨ü*‚½’¿~ȲMÒÍ’Ë:üxÑ>WC™oä-]L‡Bm¢}$oß@³¬õ ̩܉p—v‡tTÂ9äyo$4¢Çª‘ç{0y’ÕºÏ5ɪ›*ó>jÄ7÷ô»Šqó¿x¢K¾I¸£{Eý³ËCr$D`)þ1A¥©0‰ËÙEIúP¿OS¤(r(P¶\çÃÓeâ]5@.^øÆÉé&‘ýø§1d§çôk¥¹Ú¤¾Ïã\Á-\w¿¦‘t¶uTšB õoƒ}Þ4ÆÕ£Í\/½†–o¢‡Ñ@e¾ÛypTS±>E<Êñ0xì˜xt̯ú죸³öËô}»t2L *g~éì¦MFKÓ #SaĆ†Ï ´aÅR%™šN“b&´QRš­°þâpp.ˆê7q‚è»qåiÝ¿lÞ²˜f²²·(¨7 “yà'R`!²5:ÛJ¨3PUü 1Ưž*Öú£ÛÕäUä8ÖÕ¤NÑv—”û j{|Þ¼ËÅ¡·W+ôj)»¤Ég­¶Γ¬6WÇß<‘P<“)÷b'&V!yÞ¢ÀIÆ6çgãâ‰ìyj]sÐæÞÉ à×/ß6¯Ÿ@PÃ&[»]p´õ˜3KT fXœ>?£¦Öù) »Ì:&D(û)R<*öŽCz!äëè$šæXCJ¼Û©Þ‚QÝyÈd3“ÁâìšÙ󵸙¯Á›cnVšÚ¶ÑÉ…1x1ñ^¾¡K³‹¯'­PŽmH”¡ ‚CÆ”Xo[„ØÖ©tj.`’ruHm›¸oþnß VˆNչϊ\‰›„ïYõÌN¬ä=Ú d‰a (S(ègˆåápƒb‘êz3çíÕ½^¢ðs6.ž`ÒÛEaµ¿ˆQ‘WÔCöLq»çĉ•Qfd8IrúÙëñÒÁ§¼VÏîIiÂÉÂçËNZÂ.¢ŽyDÜŽå•®ÃÊ¥¢\Em‰G’û¢eBîÀ=²#Õ‰=g•—sU«Ð9>À*F§BôÝõ–x~<’±û6‹ª…øÕ<ÉšMóüÁVÈÀ†ñ.d0Ú[æ Þ`™÷4T¥,§!Qß!ׯ¼YþžÊB¤oÿ9@|n>ÀÖÛ’ÖA`¥ºVUC-QcÍ8'ðíÀ"ŽWd\IŒuÙr¥šÌÔñÁ Ä//û|T‰û P¾ðG¬$~%–÷˶è!£4w©»Ÿ"Ñ•AãØÎå›Tw•ö.Àg%6‡t­rÉÍT¯¤¦Š!Ò•p—\Mù|RB…ÚÍÓÚ%VejTÏøÖë¸ÀÛÄ›V¨Ð2?RÌYŠËŽýÈÛ ´|m rP‡6ï%o·m \á·^ [¨šP8±Ü)¶u^,`D—ÄbK¹^0Ï­É!‹ÐAâçð ú`Á¹}D8[–}ÏMˆMGæ¤ë| {#Í8 ª½“4tj3Ô&ó<½‰4Gå~/!V-2)ÁA¢œ²è‚ŠÂé]6ƒˆûäÏF8Øì Oj÷(ÆSläúèïÏ”³éâ?œóEˆ­¿Ô´9!Ñ7ð:˜Ñÿ„Û/LUG›„F©ô®P±ÕxÛIæeNìC¯ˆò(Ý@ [¤ŸR[ÜÍ´„ßÑ!i¯ÁßI`+|-I¸nÔò‹ BÒ ´”\ËÌñÝ΃À·ÖÎÇ̪dFÍm x}Êvüøõ;±1Æœ´h/%@Oö×*×´'a¶sPp§¥ «ÿ1Ž o¤ÉO…ÀÊø2Rþ¹Óû-¡@ùh} Šó,ÓÏï!µ}£bhé£_ÿ%@7¨4úPsIV`±œ ¶¹Éþya=™6媖æ—B“€éÙ%òžJo}m1q ‹À>%n`iÑ{€úê¸ëóšoXÎXN[ÃŽö}Pù]õ+“]mêçIä:«½¡È¡&^"=Qð¶á^|ä×YÁê.=ˆ$Žß0køÅÔe‚Þ„\·)§°¬òÇnCy/VÍ “ÀÞÎ=šÉqÁT-/Ô~e?¬=tÐ’’ÀBà:É1*Õ0€‘™²M?ˆ¡Œ"¯0óòßž’¶ÍìjÿÌë•è®›ñþì™qᙋ“!VV:уjÊ@x"€¡ç ÜÄ‚`ŬFJA@7w ]ƒ:ô{ù¾„¥=LÑ7’ˆKIXžfTÍm³|ðتÿá…8yúy3Áª­ž¸;‚r•(µ5}ˆHÖYÙÎØy±CF3§Ã«¦KJ×5¨”ଞE³ÿ`«îUg×çÝQ$Œ^N…y“×϶5°½ŽT¡<)Ó–©ZΈ²¨Zå¦{Ò$?s%˜„ õ 9˜z6îܘ ŒË$ÍÖìó´ìø-ì(Ww5°•~Ê_~ ¬ÖÀlÛDz‡Ç÷p‘’ZÓ?Æ]‡å®ßKiî•`1š¥€8ƒ’7Ð-VEž¼Hm&àIT ‹á:5+½ô˵­4™.×a,±]Ì|až¥,¿C½ ~'d^È3_R0²ðþß½«]ecu8B'¤®+©*zŽênÝ_xÓ)WgվΡ…½¶ÜÂAxáI_Ò¦[F `÷b{þt[±Ïûì>[ΪQfXgMs! NZì² (:ûGØKyÿà ‡<¥w”cÛ¥g\¡& …µô‡2‹/Uéí*xV©Ûµ°™~ÉãDwÑws„æ2S*L™éi*CJò$iÙ5¥ÉNZ"Ñ‹«U‘3FAßɇ¹bhüNž¯@­EÙïÑTù 8~ÐlgZá ëÒ‚×P“KoúN(2î«W›¦ocJ†Á€ŸÊ{Pï·j_>'•͆’Ö{’N¾(»QÊëk ‹g÷“y}-K¿Â‰Sh €H–Åþ튤Ÿçè¨[°áÞ™$ÈÅ 15_BgòUIù‚²_żGAY|LD±–‘V΂‡Må±›|x$½qX>«DE¿Œ Í2Ýe9»FÁZ>ZzÜ©öc]´·Ï²ÎÅJÇ€²}ˆ•€O äô*ÁþÔë@5Ýû8¶”“42kê[A“‡9Çï5ñM!¸²¸_ÐþGQÊE ?'w‡®!÷NoXŸ,x*)– 6éEÖ‚~ž V,QJö¸½Íô÷´a‡HCîx”§+äU¼3ºò\Ìæ««ÌטfvT÷yŽÄbaÿEÊl'¦v™Dg5Ñæwó4åÙP@ûà"õÚèG!œ‘«Î8 êwz:?‰”6é×Pûx]HÕÀAƒG…RÓÛÙæ*J8ìá·òžÚ*¶["½Ë·Ö˜.©“ýâuoªØù 6‚ÃŽhŒ&_tTuÙ• Eû– ù¨óËaŠ[)ˆcêUšR0Ýw<£(€¬ŠÌ¡5VÝân)ù©*zÎò7¸ÿ d=|šòNž07vKCüI² r‡Wú'.„‹ÔªQ‰Ñö¡Ü ~o3uÅÔ5¯¾ùתå6CÔká^¢Î6RÕŸ9ÝûA®+/•q†j­’x€:ä*6`Å»¦hGAE*dz„YÚÕ©OTÁ¦õ®œ”A%甆"k¾·°fýÃóóqÞ2t‹Y»0\ CMæ}èÞ®Š‹E&ó;×,?ô)P=±±€ÜO—ÖÁç¨ÔÁŽaOÜêëÂ"‚‰µœì„6½7ÓXcºfÑ  cÿ[¢Pl¯2!Ô1Ò’«×/&#N<8]Õ²XxJ/¶¹°ÚÏLÐçÿV@ ›NóÑŠ&MôÉÞŒ§vWá™^mt}ö‹B²[FádÝSî°õYÙœÁÇeIA€‚®¶+¨­a!±R>é|yÖÎ×X†Òc&Ò½C±¸›¬LH½á4ŽsJqûÕÄWuÑ- «aù,©VhÃrfR¶‹u~tO97éºÓûb-ÊÑQùpé^ÆüCï·ïoPÑßÒÝ-VkÇ4UYÎãÛN°vì "”€ÀBÀŽÊ6T7¯ð¨’œY¸Ih!\™DôÒ;Õ¾ñÒáñ7uw7Ôä!ñ×γTrr¥\Ì0·Ëÿ¸y§Î‚&ý&ª‹h4z/°*Æ#}K´Sîw‰Ë(Ch#™,T~õj¹‚m»irTßÈ*¢ÎhW‰1…5M?‚¦N4AúY·é»›h µÄ@_ŠQ=°E´êí.75Q‘c]LKFý¢|Mc¯Ø';~ öÝO¯S|öΪÒóDzïGß'^mµdj$þ/!á¶;áà·G3I÷KìÝÔ£[Y•³¾™rv­­ˆ.,­ã“ w3­‡ž ëé€)¦¦SÙ;’¾Ú\Póm‚~Vè%”<Å]*œC´@ø ô®ˆ;2jãb~ÃËˆÇÆ'“€>_ãÜ–)ª†-­»§6¤¢ñKj@1’G ¾ßoM“, ³_'@‰ž×'ÂG¾]C¢ŸhïåYKýr ™ˆ?œ£Yý€wfÚøÛ§‹^Än•ðRÑïWñõ“Ž_kþæ®WyNwk¢QCØ£Ó)Û¥¤w!m5Ìôqå$¨”ŠöL±ÈuÊYÚT.ƒ‘Í™¨0J—ÚÆ4ê…æs®ŒQ p7ÌmbÃN!"§MIÃÚŸÚ¿Tz´k&ÍJ¥ç|¹gœ'Ì/¤xdÿô³ 2ïŸ=‚·ðp‡Õ2iå»Fy†*cƒOb,üŠþ;qÑ ýoS•#s;µ(ÝòR5(æh¡éÅwl*ÞTN÷ƒžZ(ã‰^Œt4 Ú8¿[|+ZuÂ>ªVexaL N¼QgÄ¿U`2Ÿ¾Ù&Þaúå«gaçYhÕAÚÿIâŒM0æ®åi³(1Ãi&˜¿q º{¢ç·)c´™)Ž d†Óá‹HˆŸNöÜö*ŽÄ O]gš-×CÄ Ø3my ŠüZÀ6²nA·78ßœÔ÷CuÕ¯dXXõiž™{ó¨ßÕ©Àm¨Ÿ*GªüœKß’Õj«L*´ö݉5ßz˜³Ö%Ÿ \Ø,’ºœÆíz yKi³møí!¹B9#ЈvC. cÓ÷Ò[ö©ÏNÆzª—gZî—HH5:+ZèuÔZóHï¢øDv ÆÚvCçÙ«¯u°öüÉ~ÁD’®SÕ–;ñR^WJ)°í:²¿Gª^ï4¿šsÙÜ;&ÞVr×s}[“³-6ÖÉ¢ùµbˆìÏiN¾Í£ŠY©ƒYÅܹзèÇÛ°cR¢µ`/Ô†”‰ÍÌ`ý_–Áž[„D`úëÂóB’¡Tcœ¾òdÌÃ\ϵ| àäîÉ)}Õˆ•Æ!Ò‹µù(l*!üÐ “O°¸VI±•ä­ eþòÉ걧 àyømfYgTcKûÌ”æ}ðÅs8=ηãœ7nŽÞ*½È jeZE¢-¦ÔBÒpŠ?LÊñ ™©¢š2B(†ÄGãºÀKrÏÛ쫞+ª7 )!êD%1›d\N©œÐwgLž÷’ÊøÊò%)â³D §lÁõÃZµf Tµ˜q!á ·(mj€ÓAUè¥Ì|OÌŽvj9……k(ç¬áeJx$'=í¾¨’ ÄÜÃØsô§ùâÌPÝõ¼‡9Üaö©*‡ðEt qÕ’í1+ÓHŽ¼ßª¹Ô²Iæ2¨ñ볚©2Ý‚EÕL¤¢öÔˆðƒv÷ú¤Ö÷¢Æ 8Ú)‘‘‚tÕhó´!G½sö³E>Ëè-Œ_y’už0íýúØ@ˆ_j ™?™%¤(óTvG€¡sø„A€à«4}RÃÍß³nèžoý‰‘©óÄ#AIï^‘óvØ«ѹ|³™Gþ×ü\_¼C+T"|d;†lIµšõ.QX·|ʈ ;óÓ½M±y¢ô¦Rcc0Oñ¸N5]¿lcNWïaÕˆ_7à=m‡*þ¾?JüY·•3rß‹ 0àTÀD›¶€JêÃÛ½ Áp$Mâ”xõölaÖ]#ôŸ Ðn„ºhêØÆiIv€çg-ÆE bf Y¶Õ¦2ô¯kžÏðïÿõ¿”ׄdt|§g©ò„D( æ3 ºü»nQÖ‘ôRÂg-,ºÊîý.7aÃ(kaGŠ=þð!8}UM-ÿ¶d: ú}öÑ%¹Mn•ÂGŽ:ñà ¨DÈflG,š51[ˆînz–k§AúDT\¢¸qm…¸²…ÛpÜPåDÏ£c sÆVdlMÎgßÖsFßVH Æ6T#´v ¸;TÖz9ŸŠrµ°–Äk—Á’a·ª/G]Ãø¾ÅÝSÈ{8Æ¥yƒÅ¯›¶¬Ÿ™LCì‰O€Xl靨û"vær'¦8õÔxk À¬Mœ_#C,f,eT#pPƒ`BÎù+5WjWš"ίieƒ˜g÷¾ øHÜ_Óº,ÜkŸ¦ ´ú%þê×êºìÖ+æxí•+Ίò.¹‡v 4>QE(þ®‘úøüOœpÎ ò¹›¯&sî0"ÏE¬}Ù^6—˜)-–2êŽLW|Ø^Ö(AÊÓš2¤§üŒY–ä•?^ׇLiªN¬E†/p—€,IÇ­?#òÃåïÔPÚƒ(Ç÷å£ y¢Ä¡Ìm‰Sh<Ñ4©Ç[´k?Ü3š¸öÔQ×3=ý›Öµf–ÑŒÉâÜR'ÃŒ¥@CÓùIB¢g nŒ†H’:l0F¿"ä¬þ{âó í Ø < ÷8¤ŒØt{üC¾:ç››Åv]èþj„â—Iß=„²?´+ìc»/åi:«ðëw2c‹*ÛJ5 çÖ[mʘ}¦Q`~¿ ¨ñ,å°%F"fÇe]ž~&jG& ó¯Ò]hå§z“m&üyóâºÏšôƒø(/#Nå“Á æÎûÇBOÛ…x/Q*þÔ {ˆ‡[‚òú¿!‹­…+?%ÂF>"¿'Á¶dz¤DA6XX'·—h¬ÇñvpãdAjÒ+“‚ÐÊλҙü0þ–®‘#ÈWNß]­;ç~µé½Z) -R²ì;_œ¼XD7ªüU°ÆôXûq^º©ŠH®©êY>/Döé8µ§ôµð¤"VÔ‚APÑ«bB¿üŒê'ÍG±÷[ |;¨ò%ȃ´_{n…‰z»5뇾Æ*ÏIKd–9××—çó÷˜¯ma˜ä ùó¨Á¡¥Ž6R2? Y‰í´v¸xãšpØ—'„ X¤Í4¬QJ_£ yýØ]&Þ‚ëx /¼ØÙ]NO²6ŽCMêþBëÂú L0¯§‡^X"m½’ÊDó™˜.­r4«c¬…ˆùQíYTæ²’)*æ$ÎzÔžå™&p± †³Ol¤›\+Œ±jÙ>ŽÆÓí*‰bÔN‚T$9&õ­˜X\>¶tñ„k ø“Wà7Ý4háfüñX§!©÷4] {$U6ãÍGP0ŠªwmƒÙ…ïH«(“@Žq4ÑÌ ,ßKGB$°dUù€"šü‹hy'ÐeÄʼnJÖÀ¬ÓrõZ®:"%Q6ˆj̼¸^7©ˆÃ𱈡¯¼n"ËB´€¹ÇÞ>ì mSûIÑ8´:³(%DUÍ ,0Q0£C™áU^ÞgkÎ\´5yi|¤³½ä2 Ä´=¸¿Ö„Ø•æ2à½ÊŽ4Ö .ÈÔJ¯µu"ÕQ#2-} çÏÌGi…š¸¸³NžTõ?c®Õ™ Úl©é¢ÙÄízâån;ï\Ƕ›¸¦`¦†ßVÚèZcÿ««{%·Ë¦ö †Ñu±'´ãßÀ²,ô¯É¹¢‹@¸ ¢ øAî=S)yñAî½wïìPF*€ƒ[°riDËüAœÊüŸNØ ÆÑc¢¬¯ ÎXΙ½x "=þ/œÑi #Fù0¦ÌJ8 U2cÊmKi5= P|)(;‹:­|òùÝ-´nD¾ Ò±ôÆþ°Ÿ¦x¯Â‡aÉ–jš™ziÈv`‰«wýw–mß뉀Vƒ²(õœ> •ÖÎÁìw9:P†Z&‹§-J3p-6gÖÆý1ÚW÷Ója3øxí–”¼8›2àØñ—®ì6tcªôµÒ_L³‹3ô—ìÛ[³Z]R'D¥[†Œ»Óˆî$YÜÞà«©†’óÃ#SÊeI~ÈÑý5QÌÛ®,_㥤ÔþÆä"ŸPFF¬ ‹"”ÕE™§×fr«ÿÅ®B,¬Âtä…ÆÓg)Ȳ?zuKZu††" 3ö8Ña…¢¿'BìböƒÆóB©EE¨éÌWJ½HrMÿ“*Ùì“s€=RïÄ“÷3 [WöDN=ðª;tÉ<ƒ”èå Âª¡d¡gÈI_åé·¨ùbwêÑD‚’:€Ý¿¢ £FKîp£´0tÔR\~Ò"ëú&’­dû͘=A-{üTå ‹h7L×xíò€‚Tºmȃnò|—°šaª%48šf)¿Xqʰ³L Š%R5Û›¦œ·ü5ã‰N:APÔV/Gàœâ6æÍ9¾þ/Ä&‘œ÷úŽ‹' ~_åa"$[$Øæü›ŽF‘€ø¤_8SŸf޲NÙ ˜‰ «Ûr_ˆMçÓY¦‰ÇÀmI½«ça2]3†ˆÓóÄ·‰°‚œlÓà™uµƒ0¬šôÒÒáü¡š"EÞŒê÷›z!§y5’ò>¤ÐÉ%†¬RXI‚èÌT5{G ÞKx2·¢9C+D‡v™ŒÓýRu8©1+Ùº®… 9Ĭ5w ¬¦ì™rµ²èë"s–|ôpnú9ÕÚ4…U£xU¼ªDËÙr€“ $XD²©ãs#û ô®QõñsR¯ÿTÄ6™•øÆÑߊéNyñ}F‰¥‚aÚ{cõ‹1!ü¬4þ+Çp„¬–€ÛW"óµžkØöÀH¯†ŒtïØðëäÅßÙá›>Ì£bïH¢´îÏeŽáoç“…¯…ß¿¡Þ ,Æ©ôCɦ¿×$êžU€ÔÚKO—ç¶Ù„ßÌ~§î­Êsu](½W0åΘä1 yxRl¯MéÁ„ÛJ¼vPpz«w㥮}a U'ƒ´ôI69œÉ£Ã¦sr\•tÑ(pTÉ ðô¬,gîXÃ7Ú_wQYÕ*ü®dŸÓùiœÂNû™äCZóúê̬_9ÞÈ,ðÇêC»VØ:qÁ"Œì‘Õ“¸žâ+ÚŽù 8]™íü6ÈLó$ýŒ\øˆ…VÁ¼2| ‡ŽàÈú6ò­›ÌŸT˜76gó ‚G/”-‰°÷çœá$¦Žâ…ªçhU¨=֯ݡ« wq^SÀ&á9*r¸¾…ÜÖØ&7‘ìob‘‘þ{»  =â]ê¡’Þç;ÃYÿ8ù'_«ô_3-W9hæP¶G¿ÊÁâ@ªüžo8œoøRÜ}òæ$²ª‹œ/ÉæjS ¶ÃHì9z X|÷g'zÞëT¿×B#%,‰XaUä¬>´w9JÇ`ë%æ”÷ÕyV†—Êá´òÊK¹­f€ÍvÀ6â9Ò~¨.n£S¶þ`3{—@MMåø”g+³wó‰\:ñ¾ªž¢­Â_Å[¯z!Ê€8(ÔñíAÀkI8F±ÔD=1(¯@3ªðûhe™Æ¯½ÜÆnµù±phGÞ ×_8¡Õ¥ÿš¨¼€÷qÑWâ{Ãeb7G‹…ÚPaóèŸí¶CŒ:ÌâB.'!X|Ë߆úÓÂNÀ5wÇ%µÿ¼Òþ®9QÞ÷ý£ÔŠœÝÜÃõéìåÒŠki†z“ª¯…¶Ô¶¼ËŒ€.ƒ¶¾àYÚ‡ø´xå¿GCvLºCƒô˲£í|Œ(CºVIgó® |ŸºH(‰ÁÍzù1#Pp– À!ê³ÃôŽ“MÈ‹¼'|µT„Ls®¹mþ^Ê×£lÑz¯ P—$ÎïD.º¤éIA?«}ª&øS|âÑl# p #ª}cÊ“¯ˆa(½D¶æscdÒ`ðƒ8 3|T-Åëò!Û0¾êÏôÚKâGgS¼Òè“Y´îãØÓ­.Ù..ÇR°Ë‹y}ª“íÂYE£ñN6¼é‚Jº6ðXH”ž\…v[öý9N/ú†µ0„Ê-àM)p{>m)œz¾ðù¾™Ê_²ÓöþϨƒÛӃŜŒB‘ñ —éD¥L —åÞŠBm7è‹-Á“e´î ðzzZ£âmOúñȥ蠽aNïã7ºGõÄÎ+µPOKŠìVÙÐ)¹Ä^õÿ®;Ÿ†v¤9m@õ—|‰7…ˆ*™!•§! a»(Ñ7ÚÃ<7Ñ7uªi/©3G)šâùeIJë«d'Ǥ.V x3,Æ€Ȧ¼CýŽ`ÊRâö©À$%þÌÕ»{èò’Õå5œ‰º µq¾4 #­’½ è×ÐUþ¬Õýd&1ÿáâÁ;Êl¶doÏÃìBZýS‰Yœ×ˆ(3DÜ&—Zþ¸¡¤îyTé¶þ€,¼e>ž€ÿÀ¿j­Ag~æ(\”‚|Ò |ü€é¬xXí{ž¦Àµ²Ž0cïÄnÕ«åTÚÍÁŒÎÛ¾íæeNGHî…tp`ÿWañã9«L–äÈ([V’[ck7«qBRt9ÿˆEsÎA‡|>å*•ÌÓ>&†¡õ¶)LÇO°ê&‰Éiú9W;‡uÇT«fà¡ÔëJ¤c&–ÍÛ ;³ad]u:º5NQ½kÈü"2vl°•ʪ=„1tý"a§Õ=«K·Cõ'!c15š\‹¸3:m¬ ä˜Uöl§ãAã_ßC¬Ü¢ÃÄùP“n”;Mh¿ëúÊÏß›Þ^•aå1r­ësf™ ïu@Þ˜¾Ñ$Œ­Á:ŸJ,ë†$‰È+&>‰es·øAyª*DÞ¸ÉÔŽ©=ª å6ì³i͸BgUb —´‹âðÅ7 ¦n’ޏc¸Z¶h9ç $Ї@S>Ô›7x?xxÐŒy-úBj€kÙ¥½aÊ€9Ò ;¤5uûω“ú1ÝËo'*ñÕ¶ú(?·¿ý*4‰ð‡±Eö´Á—.k·\¯t ™õ+ ].F”Äk!6¤ K ̬€é¢‘#UµÁ·3æ\7­X˜S눳ÊÄÚ^·7¶Ó€‹“"¾(È[íÒ¸‚)!ÄÖðQ(½èú¥wÿ7à`§Å¶% 3­5óZ2%ð ob0¥Ø:Íc1sK%H3àñ·­âŽK™cËŽÛvŽÎÀ]®h™¤…,nØvß °Îý(“  ^Þ¤Ö‡»§¦° ¹¹a¦'¢Âo¾ÜqÛw(›N udEדݯrÁkÄ}á8Mr}úôÝ\Ü8”éòùÏ)á>ŽÈ¥eÒ°Ír D^½J™ÇH§In±èP8ö̱­e¿K^`„GäYxµ…#YƒËŒžà¬t`š¦"»ºÈcÝ çJÚ’Y´Pf¨³,føä‚à@ieÈèÐbßݱE’PÀN¢¬/rÓ¦Á«yƯÚÛGèMýX%µÞÌr‡ZD #æ&)w„J¡–5‘å7c²á®`—à‰²Î´q¸fúÂüHr 6¢‘‡âøÛ¥ÄÄó{/اß;4¼ðÔP¾îKwcá‘q@›Ü}Ü/©mÏÔ¿wô¡ËlG!J G•S“YKsÝ9ŠSÒ&‰&‚-cUÆ'øù â«Ó§'PṮ¼Ú³7ꣀv¼!¢öÍÛ`_Îz&4ø‘À˜ÄMòÆàs©&õý½ëʽÕwò@ԺɟÝ»uù+Ý]>˜½Hc~þfaÜçZª7ÉD¹ ;Öß®°…O³¢Èj€¸JýFÀdss4m0ÀØR.ÆFÌÊì”H‡TFi AVÖy¶IE¼Ùh–¨»3mqÌþïkÓ½…_奘³çÕWTºÄûb7ôž•ÍFkRÜFVÛýBØÊ˜ñš-¨±<®¥Db”G2‘úéó–ý£áo” ®dÅyæÿ¹`ZªB<Ä”DW[·ú+¦Iª=@g¦õêï£aâ; Cƒ‘ó#Ù‘6¤nˆöÜ•òXù,äS,7©ú<Ç0Èø¦ÅÌM)váiåØ ÉxytÕ/ ¬ VíÛôA 8ÐP[š:¿>ömÁû,@x‚ýK©¤r «úsdQ©ÓK;Y»Ôý3óDʆ0O]Aæ½0ñQ©c*ÚÆ¨ó½ý£êÅZËF\\{ß_g¢Ø˜Y¥äê§ QÁ°¿^÷yGXÊt60GšNŠA•é ::S»­äHµˆqmH¦/ñŽë¸*5Ý.¢Nýv¦ nýLO9ÕÖ]ßÝNiÖ¬ *Ó-5Xt\Žâ¸yOi ±Ö×"éÖ fô XAÉV•æS)¤kfì¤yÕã…ËWÔ݉ÑãI–[j“gz 4ÒOÂB,%È稩GtE?{¯\LØó§’#ò²Ø¬åÈ—.lìHÍò”(‘¼4“)LázF€¶T¢Ä×.Øö?¼±Dx_Ö]îX®Éå…»oY { Äfmõ5Åš»Çå07>O™“‘ŒEdwÁŠ¿Q ¹m„yëL›æF*eNœ½M]þæÈghx^®s-«À« Óû›"/C¡tÞß5êw_K¸®éža“í}°áSÊÑgp,­#¨—x(ؾDù‘‡€ÍÒ_š³Ð ¶4_ûu}¼Î¨¦ TW!ž}Û ½~»YäÌæî´»óD•äèÎPÝÝéÎ{ßÞ…ºCžX}Àµ©7ûèÖA Ò3d€ayQ'ÄÉ/êjr^°eOx;3kJ(ÑC éÇÐèуÈw¡‘*«S¾ñÅ9dvÉ A’66püÌ2æ·¯j?#«.30ØEâîÃ+2T (2"’Úçè¹lØò‘Éïçl®’¤†c´gàíœP÷J lQÄæCålW ùƒ\ÛM+jd," ûs)Úta ý úç{]W¨~\à8ÍÖi §m¯.‰iV®)L©Ý¹´½HaF¤¬ñFÖ€Ç{{«Ð~Âs`ž ü±ê“û¿ÎXmeå 8 ]*‡HËBô,C(´9wZZãµcáAÿ›±ÂÇo­2ŒÕÄŽa©O .’–¿©ÖÛ•ç.Å×oåuþãé¨Ñ¸Îhˆ8ŒZò"°ù¦ZLœ"Éž³OØÚ*9«óU†k>O¥¿À˜Ihk“»¹Èné­ór‚Ç[ÓG·/ZçÀÿ¶5zð ½GN0„'ü€•;èI3Äü%ʪƒ^z_WmM,ÕȰ ’ÙOe6ð-mæT{œ8ÂW†sò©(æQ½—ðÞÓ"Â_!Òþ•8`"L°¦¼‘i¡t¨ìBs”üÇÙ Jpò!]ðÍok͇Åmè(Dþ/D‡¥= ý† D•FuÀc­+˱&hSvü¹I|aëÖ‚@þ˜’†¢óñ>/%¡1éBÜ]v·]:móE‘za†»ËÐ ŸB®"«‘¨úÄ=~/BËî‹d†(r‡ýÛv„pزþP\›•€æªâß™à›ýåƒqk}F›ÒåÀ”'*cå>”3aߟ¨œÿ“£õÚOÈåÙS-wjL¹UüTJ¬ŽŸw¦+—/ Ÿˆ9¾”÷! "-é­Ùñí–}#ˆÑ=«ƒÑì|7½øM(]xŒû‰¥­5dýÊd2w8ã%çOpà DŸ?ózý¡àx‚†ü:¶£íÂdò±–ÐuµYàý`³æK„tŒê¤¨ïw,ù–)àÞçA=‡š.r9”!×ß…ÂNžë‡Ín¥I+Vüíî…Aù#ÖŽlUËšG[àPÕ4/¢“\jº`W.awÔ¾Õ|fhâXx€¿.Q(n aþønÚ7üLæóGÂEÄ1ú->Éá tT°¨ ¸Îš±äÖóˆ\¦[¿ý7’ÞühÙÍAšUì ³hóš¡„ÃãÝc¸’qÓVÕMUäZ¢Õ|Cú¬_ãßò‰LñûÑ‘8GÅe—ÈŸþð^7À6ùÀZ#b¹ŽÌXÄ¥Z6®÷îïÞ§ãN«oJæ)(ФßL¶È²e“ d jˆÇ˜[§è¿O8 áÁ§;2ãÈÜ,›à°Ò‹ç©A¸—míù'×Öñaq¢N“Ñ* x£©Eñ~©pðeн„J²['¹1—‘ÑžkÞ %湤@yƒÜY"Œ¾.ÿs»DÎnwÂÃ}°!e<ŸŽÙšZ%½øRFy5B:Qæ"iµ¢×ô8‚YVló—2¥ÛÔHg”ür·œ; €I-03à G^`¼,×~Tʧû’P÷‹º„CBûËb5ë’ePð-©_º—0{÷ÿ›¬ahE{ós¸¤àq"åQWH \.¾ˆƒý@³F‹E‚iÈ÷±Å:g°#Ñ\šO¥±fÎÍžé 5w+ d÷½˜eœÍóh‚E…¹ÿÆâÑî ã°âÔÄðbÙº°&—³êƒëçQª×œtª˜‹‰ƒ¾ ræJr» WÅþÑΆáÒŒ®ðêx@©XŒ{fa@ TZe˜wóâÏ_ÿ;*ív?ý‹I¡&~óœ¸áª6^=ß™ˆDºËð‹]Ê@&_‡°³¸^ÀºÔ°šÕÞ>S ± auÛŸ¤+Ý~ùêÏQwQ{j~C þÓÑ­o M?âõýݹÓÇÞ§ö¶…"²½e´ž·Â¦„…ÔÌâ&ð¾×äÅS Ñü¡ '†¬¿9Ô¡’—9´°Ü.k…¦}^DšóþL³2wûèx½Ù¶çLˆ$dnÖcãz{7æZþÞþÅK8"|Üh´´â2¦Ž!É…ày-¦Œš‰`°gƒSë¢ÊfHj¦`TœØÑôj­ËØjþõÜú-5L,’ƒ×Ô3­}´ Öc°ê‚V¤åo% è¥ÅD2mÞÎú~ê™?n›á¾5eõ”™îÚ¸ÅoÅ#h.êöý7YâU*I,ê-Ø>AÒìh°Âh#FúØ| Ó¡BQ±ä7`‡|ݺ¥,é»äºsd/B°ß{#€M˜æ`»Tñolã‰I’±}‰Ï;ýË;Z ¶k/vî±GoïÆ 1M¸h[Ó«^GHàÎñ ÃɆ6'þˆY>žÇ%íŸ?àuì±7I-—©3~\EùÃWÊjO%6<ˆN9…&rRf>‡MÈ•´á犌ŸY‘UAl-=1Ä¡ëÉ/É/h² …Cƒ°ö ¢7=`˜Y˜Â*ÝÛ,_à@œß Ø»Ò+›ñ“'ÀNyÊá'ç/¥?ûëy._j5U ­}Øåzœ;i©>0nVBR…Í![·<ˆfà‰t¨|ìJX`T@&œbz2«Rô9IJǺPgØÌ&´´•îuÛ5œîó+Y:ÐÙ÷3h~K Íf#1áä¤[¢ˆDij$甲ömô<ÿ¾0L@w¬ã7%~Í/—BáJ^Ž•ñ5»ª›ÂsL€ú”̈&šù{ªùpֺЋ“Æ„Q·?ÛÅ}DYA(úÙOô îÈÊ#ã ki:sWoCF:¸2šþ-u]å+X ûaD,ä¦{¨Ë‡§x†dÈý›^Ún›£|÷&Ã% Ϩ}’\µ<Ã/ÑM‘­,#‚‡Û —O(E’Kq«@aäbùœ4™fê[û~;i ,pzX¶x©4ÐÆ'h´ÕOçXGž.r¤ÞíÌ8@«d€V‰Ó8f1{¡k ?5—…›wÅ[¬ä•[±ï :·ÛÏ.vQžÓós²ü|ûØr5±–³Zû ÆË¶?, ³qe*§dÍòü¯ü€å^¾ªNÊ¿b‹ êØ6mwùâ^œ^(ܯ] Dc´aÎV¬\¯˜Å:ä]"h‡&óÙË¿ ®{‡…Vɪ|slÓóÀ0¼9 7Ó–tKŠþ=½ÿ±ï‘¯¡Bòû@`i|ïÈ àÐÀ z›&Ëuóhñ…ˆÊ—Ë]Üñ³wYHRZ´Zün’Í'«®© ¥¼¶ñýÝÞ­Tĺ¾¼ -Ç¥§Ä›ª»?YÀ \eζŸ’^KálÚéÓ ŽsN©¶/f5Ä'!få:|% ¹°è™7EÑÛMóp 'nƒ.Ö¯q¹I{AIg÷=†ïÉ„Pn›:Ï)äJ…@ýF¦ÒÁk4âîn»ßE”0 ã‘áÞÇÂò©úÚE€¤#ݯU£Ý!J’yUq(ñ~+ÞKöNîPÜE ²¿Hn©Áˆê L`oÐz"\C¬U*³ö#ä±a]¥ôÕè§Y=½—í—¼ªµq›\:”ªý÷[¿ø|©õ‡ƒ¾r@ópãºO¶VÜØz¢3Þf ú¦{A'gŽ„±S[™–óëhßw­£B~m`3ÇlšÄ;­­~‡¼}—Y¶hƒ?À¶4¥ÂFÐO ‰†•!ue"ɺk, ÆxJ¬ ãŒÛð ÊIåAÇë1Ê‚ÂpøÈßíL‰¿‰éw(h×á‚°;mía%®r}ü¸¾ôÆÈø1Ãñ¼£³¶/ñùitÇÅÎ*vÂÖãA,õàŽp½ îKªG\+„øu}åm㔘 KØhÌC+äH²‹‹Óuù»®tܼO5cƒTÔýLäcÊùÂeŸÏÀ§ÙÙql¦Z(Ýv;Å."` £Hàtõˆª!°X ´žÇ AȱHˆnó‚ü8U›¼H•ƒ ›„öÞkE‚Æ3 lÔ {ñ¾¨I·þD^i7Ãûƒ/”¼t­¶«RÇ)Ë ·•YÚsŠûïä¬3^á„=15ã6ÛMr©Ō'YÖš˜{ûžq#2ΠÅ[…#¹Ùâˆ[9Íf™bk‹Ð5áTÛJ~ŒXŽ`–K³1?ÜmìâÝ4@°âs~½zN à}Ýl-v$Åw?`ÝNâ4,1$m…XÊÕÅLu´ñÇ8H%ýzýÿbc¼àlCœ¤Àójo+‘Ko~Z}︺óv…vÊ%†e¥$ÑR5ƒÜ¬6ªcé—r´óg:y:Ù1‡~Ö7ÚüjV^†Êù=Ó}!SôAÖ̪Œ&ò†ž> ° ˆÌnÏ—ö•¸”¢Õ«Ü>üsQ8Ê3±õlã„ÈŒëMp©'óY5›pô9JÌ"ì(œíý„,p¸ÊK/^ü£qdžp¹ÅÄøùj½$šˆ%²Æö„`Q>ž2ÿH,òi3ŽÏZ¬D¯pþ‘…žeüsÙs8‚œÕŒÛOÏ~¬?q Ê ð>eÍ÷ du[ÌÏM¼·/žs¶A{€‘DBýh*ªjÅ3ÕÄZàðªÒëPËŽ 3¨_,ò¬²ÂVÑÿ]ýi¶P>) =ö¡15$:Z8Öä`%½eäsqÉîâ@ÙîáŒúèŠ4h"&1*ˆ<>Ü®”»¶)º_\Í\õ„÷èY`uo¬Ô¯ŽfÎ}é[&Ä$<(|¶4qªM2q.RÖ5†²{rÆ2ÏȈxPÝxÀün"ùºÊiþé?kºOJóí"þþN©Ù1£{TÈW$«‚?ì}%ëRõɳLFæ2q^øgK¿^“·1Ƹ *ØøáëË)+`ÛžfùÚ~rYTÔŽ-Þ½, eÚ_kùGt9.ýó#Þ3“WÖ/~8@ò¼OÊ?„”ڢȹËnð`˜™sçQ©'ðµ›$<¹]cåWMµ½‰vYê<7}DÿGü$n;£»ƒ“ûôñ¬õfµUïç½$žímmyéOÇÚþf!Œ†þî3†ýº—YE¦k‚¥ê¹N7xì—³Wµ×ºiEê=±TG¤ßÕ¸‘M2™Ÿ¦Ô5pTÓȇ†©ÖNׇÛìg²;ÁÿfO^|^añ˯šˆQõIME6iGÒËߘ“µK´¤³E4z݌©†K_f³U:’’ß­ºÂ©P†O@%ÑÃhúµì[ЄýeÕ“¤ÙµéZö2°yœ»}ÐxT êÈb£ÍÅÙû.Ÿ¹ì †Q@”Åo•µ v@7`SŽU;¿âbªýUäÄtŠ=WÞˆ•ôóët,‘©dá.õǹ »‰ž=ª¿«u†¡`¼s.¤_Ú¥å Ý[@È/µ)øn‡Éü9*ÒeÜT#0žgHéý¹ójÙÞ_ƒ³ëµvEȰ jRYt¯N­A„ [Ùz(>¿x€Ö?0ûMíŒ$@·a¯9ršò¶i¶€ØnãóîF’ü BÙ¼ébr´»½ÌÇê’XÛÏ›"–q’é‡è?I¶#7žŽÍývßÅ$/gidŸ(›ÄkìÏÃÍ-zmA$1Ú¥ñtž9¼ÆqZ´§¡”òpÒj§•þþö ¿/1ìᎆ€UüLJÁÓpP¨.Rƒ ýrߣt„™Â’ÂöÍ&R2¯3ZÏ KIW%Ì®ÚÓM„íI-kÄЕ»<*&ÚúN_q`a‘ó‘,åAæyq`O…g9—Q!<¬zà8ñGÐë«õ‚©³êø«ä{8>ŸvYc§L\#BÿI§óƒK!³€£p.jPðÎji{ Çè™@1D™­UZOÎÙ/Ò(Ù„­¾7—cm‡ó‚WEqT])ð ÒlÌ`é ¤ÌOe‰à#sA~ÿÎd >ž¿ü‰ˆ08ø²<±Dž÷³ŽAúlß%%FM#8å/ei[5´Î7ÍÔs\t ²ù©Ue”ÞL¸f!>ŒØÁ}V)GÓÓ´†ëÀg¸lýZŠÃf’¤fÛÿ*vT"š…ª-ÇÝ›J™CþÕ™¾Ô™ØxËÜð—™\j˜'‚a¯çÄC“ÿ!]¶ÚVÖ#$%â?¾šÏ›«I²îF]}£É/2¿ðV¦òÃwÕñº” Rk–™#.çÛÆ_Vw¸sd©K,¥x\Aï‚ü¥¬Ó—§?HÊL¿¿2¸YqŒÛ|$äèaµ.~3g+jã¸Ä™@xεÆcpbsÜ=n¼ª¤éÃW÷׃`BÃÈ‹d˜«¯.¢sŠ`£„ÿãY`tXgzUøDÄ!ë¤õ¿ödCjHhöïAm2ù¹&ĺfuHueªqòþåÂùŒ©`ÛL£ûyÞ$Ì|l³Úñª¶wò¾ ©—ÍCʵ³ûÚn)¡FÿO³õOxDz´yÏºé¨ h§ ø±,‚àAš wHIJ9'Zq ¥í•FîÐuÌWûc’_К+ý4Ÿ¿Ÿ§áäŽ??…p:e-‡\ÊÇ#•¶i®=ƒ1¤èµ»å?¶ºP1Om©ªú¬,ß$D«ñ8£1á`æû ¿ö…–!hLæ~Ùùo?P:qŸ¹ïÐÝe0I¦ÿº›£¶yNèBò+Ðm43§ÂÔŸŒ™ÇKî¨g“¼kŒ©¼&a_Ë]ïwØPûÉTðbõE…Ý{Áê‰ü2Ì•c¨ÌðWäxb¨à§o.sÇ¡¸I¯wo~4g¬É/TZ6*Ë/ƒÝômå:™A ~ ™¡HC) ÂNµ&Ѷ¢ÁQÎ5E ¸/hé{làñ¸aÑúfv甎µ­)‘¥‘wó!‹ê/M;ÏL¼võ&çÐÑQ@1T*†)SQ<7mˆ|¦(2Q±xøÓ¢“œÍCsåA­~ŽL¨·\îÓÓÿ …þýl–ÏÝ:° g{@ú©·6[1ÐQ3ž”©AHH.§É¼­^Q‡aäÔã­îÀx²BÐIü®×Ó·«Æ§OÏTÞ£-ik‡Haau[¤Q´½ªáŠñÎo6¬DÅÞu  q˜^¿\½9™é?.ÛÒùƒ`Ï –ì-öeÐZDGž‹éÎYJ*æDã{Ì]*v]eJàîHþscðrüÚS1-¶M”á· 0‰ 3dǰ¹èá”æ¢ÈGÙÌQiyT à÷²œÅÆé¶¯¢/ã5Ñ Sö <¶“Q WÜš69ÕÚ€µ)0ˆ+‚ˆ. M`C}¶p?‘Ðmi6¿½ÜLÆSy”@0ßezÁ‡ç`ÒhÎd ”À-_„o„,Õ#§‡¼ 9‘J«T^v¯nˆ£ ãÁÖk-ET »–Ú‹ä¯Ç†EñjeÅOcà~o¡Å-f³. Øµô]·)[%J3}­<#¬öȘO™»<Ý0¢¹ ZÏÙt{4£Æëª·Ø±5qSu¨þÞr‰­ã¥;t“´1ay.‡ra…¨ {q*&¡ûKôó!RƒœræFÍJÕ8K(ªd}±¢ô¸/•ªŒZÊÁÚ„Iï uÌDÍæ(~ŒƒB /‰+¬!ˆW[ Âîø¶x»'Þ"ÞA¦<¬;U…ªòYU|Ñ6Prwe0´dËܧ~›ê b¹¯ç½³J1§ž>eÖ׆9{f˜ã¼K†ÑF?¾˜oïàøÝúeue“˜~S´Œ„cŠËÅ0h‰Ú=*Ž$º/š!.'Äœ³|¸kÂøâä•ð(]»¼ìίÐSŠ|úa¨BºvÚz>ÂVÜCÍôoFi.^§CNj PÞZ´úJÀ ˆÚª†»1 ¬dͳ‰ÌY+ø4Ý,i4ñ«e7ð€h^YÉSTu­ŠÕ…žs#²kº&dV0tU{»føóÌrh(_Ñ3) 31XW€…’€¬)6ï­;èàú¢€?y¥¼Çóí"ƒG- ¸Œùç¿ÉP× *æž]6 ýBµjæE$kà%àÀef)yJ‰´€‚cóÇr¡ 0aêŸu<aq,Zgzñ‰|îz)C‰cZÌ¡F’±Ÿàîá§6™ðµžãL4%7æÀ3*ÐÆ×a9@‡Ar¦ÑÊ@¥²ÊiÏþñ°’“‰£Âð>r×-E8&Šk.)„. Ç µWn†©~Ëù DÔK¶ÄصA‘ýÄiª$ {\l9ý^(Ä- Ô¦Û¢X¨ƒÐˆ^°W76 ó³mÒ ê‹È0d,ÕÎíä¶ôƒÇ’%Ǻð“mÐ!íAÞfáЯ!»'ªGe¼iá]ÊÏj # Gáˆ`§ØUÉ®gn¦îlá«§ªú"~ιfý]·T-·Š>ÏΡ|.I`)DfsP¯­2!W± ~|d¦g¡ÎÄV~áò§£('SYJà­‡›Ô¨^Ô›óSâ¬k2©@§Í`ó}B¨|T;yÏõÛÆCùH¡ŸR ÒfF57?;ùÞ‘¸þ´ãDËÌ\…´D:ʦÌ yˆÐÄ “¤àvúÌùß_•zN½À£XÓ˜5ÃÐôüü¯VÕºoh–F@Ñ‰Šˆ{x«£5TúÁ¡äÀìšò£/ö‚¼xýF{Å$ºâ¸¹Ã¥0ø9[íF<<>^³uBþú{˜†v —*¶ÌƒÀP®”8®â :á˜~2`Ÿ0ÞÿÚ†5QM>‹Glfoôè³ ª]öQÅæŸC1+r€4o/$\Jêš™êé!!"¢¹Ô,´»É:°?ðÌòVæPJµ‡û½¸÷Þɯ÷AÂ[kükeŸ„ÿ+1Ñù%€fzd¨!crò¿7ALMOÙ^ˆoÐï\MН¨QNw¡óg$åk…X{aM7àE'Uàä©6ÀŒ’!ÇèdŸ—ÕA¯)£´v&¤Oð{Ä]p0¬·b\:À<)tõêô<Æ€½ÙàÆåšãZK–/_ü È$ëµ+ùÆxKˆ2ØJ Òz*_U¦l’ã…îKá“ÆÉ÷G³²LëK¿ê›«é ‡XÄXôÅë[qûú*µR ÃÀr³±ÁPm·7xBl»ÏÍ¡”0 ‹uî.«Nા²»pi˜Q·x—P1û½œß˜èíz Åú£Œ Ù{^LÌž»¶@ö„¦5¥”KBM[ÆÁLÜ'®§„óÞ€N}Hïú7÷\Mß1uÏI.°Ë–«¼ò§–H7»©@ìVýˆN##Ù ²a8y UJÕ,ó LO å¹K<ú˜`VÂèbÅ•õ°ŽýЄ0V±‘ù,<ð–Ù$œ™ý­üÁ4¼€«`åÈ7°:–§ïeÛ³©ÎƒB›L%ÜÕ°¬êLÑLØÃ"‚‹¼«Á3“Ñ=§¨ûعù”Vþ³ã@ÒKD~½ÁØ.Ý,Eá¥/—%üíKe Õká ×u¦èö+OÅ2:Ü··Ý¤Lfvéÿ–uïc¢HP+!Ñ­oG—–U4F>ˉÁ]]«Øóó6=gÉtНýGðÌeù{Žé¶…jsMAÐæEϸbQK?,0åê4±)™ {º€| ucù7"‘%¨¸m¼Òq6œÀ¬‡ôubnK*˜pU»í+0ùSgïçmRñ‡©m™#,õ_Aø!þAâQ(¿_¬¨¶kYâ’X3øx«‘:ÓY…=ce‡ß–$åOG¬K=´;Ñz&™û8Á$gÃÄ…•3›v" ¢ƒùAX¸Ã.ñ4ïLQÒÔÆØàÀX˜Xû ukèóe+¢_ósÞ}´x¾çïT¤ÐB~°š•Ï¥|-ÖF¡ @RíÅØnåŒÒLs"vèk¡§¬«ß¹óøi_W*L^㢳ãè›9…—;ÚÂSÉDVS¹ÏMc¿v>}eÔGŒò9ö³O >¢3k­€ñX$»ÅɧÜU^#”Üå8ãåqb« é¿Aû}ii<× "¤eèÑ;@œòÐkûõ±Ì:³5~Ú™|ye§[|dޏŠaxb:¼õŒn• bPÛÈÅÔü¼ã²×qh:®, RE…§+?5ÌX6Ö¾—ÐŽÓž}‘®O]Aò8Œ}yÒŸ31©uìº0ú†Ò¸ÔÜ!Ur¨›Îea2°¼nL®ûùÄ·£‘-ø»<Óƒð:}\®¶˜ãñõMñ£}¹h—v‚B_ö¢³L`c<·Í6V9£ým©uÉ„x"ô•g<â8¼•s`ÐÔ¯Ë üÙþÐ$óÕ´‘3Hóh~MCÂS x¶·8\› IÔøñ,2DÅ#­B×bd9ȯï+9” ÆðQÞ(—ÎÓ&¦n{ñC½†Mq™Î«`W–¸*6)Ö ã†øXhlš-0ÊE¶ÖÀÆòâsù;ocsÁŽ×:£y.>Øt¦^V±íX¾oßsæ\ÎWÙæ¿ìê­ú5séÀb¸k³uYÃxÄ#Þ¨t\¢‚òÌ¢Q€S–„b`Ü<=Âi\kCØßÓëwÄi_Ê­ûQw¬YÀä{N+“‹mJò•ï™ÔrzŠQï[I—²æ­.«â¼¸ öÇä7>+±ã­:X?òÑÞ=‰h/A•¼ËØznS½ZÛ¿šü¼9¤åÉ{˜>´"…‰5»:ë*ø_ÎñƒK1&5A0j] ‹1ñÒ—«ò.,4„ü).åv!þ+Mõwqqg¡ê¡ì`åFóÜt>Hs¶fæ3“˃Ä÷àÁžÓ…zŸÒFã'fÕ$”jŠxohÐ÷&øO)B3~”ǤþþÉÅD÷,8î(˜ì'¿Ç ¬‹yØÑKåqãwg)jié|Zzç‚é4Û¸5Õb$z°bë }ûûž¨Þä*aÖH¤‰zœ³èšlà5ÃF¥;¼‡»‰n5+G+Ÿ!E0lHìŒB„XFB1“›9ò9>@ZU²úùYN6ž àÇBå11šÜˆe¬ÍùyG.øÞ[šºvšÝàLh‡Ÿå‚Ïy¬¶÷·ù…f †Ì:yÃs«¢w9XŒ¼›c°…ï:Š˜Õ÷ÿ'<(—›–àÌòvŠqðX¶V°ìâÚäY5AÓãa7õ™àCrãþ2¯¾u}£Q(ئ{&<ÒÕâb¦(ÿ¯ÂSó%.7£GRL½â’bûׂºßG…/¯LñÙ%†¾)Æ$­Ì-]0q¸Ê©/ 5‰ é]›¤°$£Á>‡ExÊÂjAØësÎ ¿#tu—+IX]!À.Z—6¢œ: GhèÎÉ$ý¾/g:ÑJ_^"ê¬d;&äÆ<ŸÈ!`-Èd„¦Í‡ÏÁ®ë»üVózr¨2T ÝØ30æðHæ·*^äàQ½É+DÿŒÚKâ89á!m»ssP­F å=ÔT1$6O-ùʦŸ¦=-²qwJ)ãŠOHl¼ÍuÅeîs ±ÜåUìŽçöŸÓÄ ²Î¾~tnŽ[|Ul …·Íïgå‡(>Ð9 ælzš"a™å 83ü˜yBùj•&£Ça `·%ƒ5Ú€:ú¦+#u,qHX!Qž¥œ_ó‹KÃ'xY’5O§¢Îké"?ô,~«°ì<õè#|¼€\§&]=<: œ¤f³!Ñ5í\o–éðÆÿ:<1|F!ãúà"´Ï]Û…±ým<ßKUd«ömáéh1Ó¡û•}Àõ‹$ Üá«‹‘ŠçûúG,¬þ€ÃµØ¥;¨ÐÕh#ôäv.> 0£F“ä»X·½Ú¢X¯1›r§~_D× ò]ö/G íT`Á9xyfR3rþ²…î¡7qŠUÔ…º?R¨_Kͦ=%Œ²]™€)€¦Ûìõs̲6++#fœœ¾üÊÏ(4PPFŠë2ó2ºHd»|‹ üöœû­\B­fv[]¨âw¯ói+ä+C`²úz„Á÷ÑW8ëd¡ (èÄ?z¥)ÍÏŠšT¬S@©nèOm=’ë5"Ë/~õ}â]×»M”KÜýñ]ïM'X^o7 ˆ^ÖÒº®€XëÇn×òD,RÙ/tRðeÚpë—65óEºaÙ˜HH™0SN¼[Ú¶¸ÏßÔaš¯S±U—©%2ªð€”w$êö€³6¨ÀR?–j›ôytp•¼]¾MÒs# ôjó•_õ«h%þ"¡ç&TZqågúë!¨´Çîæ-ÓJ‹Õng²×aa_bŸAѦãç\.ecü8fu#ws#óÛ ZLã(2ë“_´ª¯]`™ø¶Ñ´ÙïD+<ÖñÚsN=ÒìÙìòoŠîÚpÏ1ø÷ˆO’)tµÇÓáëAÄ]u(s”§€¢<þÀE×]¼n£ZÝ¥B'åð9ÆÜÊ€©pšM¸`¡†W¬à*Z'@LyNo©î‚šgnð.JÀ/?§, àâpcáA$}\§/ö¼0ªN¼È}R%m÷ŸÐ˜7@I¯»”6 ‘KÏÕð8÷(ÎÙHƒÞçØ„%du=ìšyx#ûgºÐY’ÝÌ‹J^ÆñOhB¬x+E452QáO‰.žuçéU~<“DB„ÇJŠLK}û?g½qïRã.YsÍך«-9€ j1Š€hUÎÇñz=¬éçÙ pvñdÆ„¹«Ñ…õ%pˆS´ ­¹¬ÉG'wuô@C@–dùª™¦&®ÅQÝæÛ*ãO´Ö³<‰Û2}¤¨‘‘ . "ý˜æ×»¢#]õcÀæÑ½y¶=¤ðVŠ{º\P-ÙÛ‚étäqx]~q/|èéÎÄ’‚ÆNŸ@ƒƒ @224Rzѯ<ÒåþK.ÜytŸ3‡øè©Òñ-œ¿¾ÙÄníè¹ÛkMp–èízV÷Ô‡±é1A*ÍxÙ^4˜ÎerÆ3Qî`ÚA ì#Ò~ÕZ©î̤ي JÌþÑ­*–½ÜßNÛä5‰e%v Œ«6ô ÐóظÇó7 fcð±5'!æYd¨­ XsŠE‚þ-w?ôîû…LwÚZ…—^`ᆛ”–;ÚšdǤOIÙ¤ =q=àíþþ£Mª¨.5¿š bŒ’ÕgÝÐhnf´ô-ëL:ÇX¾’ ë[¤Ðñ.ÀGe„Ìðý"•k?JÌä, ÜQyuÿ."xŽ„+:äQ5†~gkEËÛjUíXjrˆ»¶K[=™IBv%@:Ùø|1÷ /Så(»#³ºVÒüyßèM\ÍÝËV°4ªF¨At¯y»w-,¶¡kGCðsÀÚtÈNÁÀ¿ËýuóHlé Óç ÿÒIg05œò£ð~ ÒÒÌ@G̈ù¬ø­+Ž(ÚÂß+Ûh"ëg€idØ”OôëU¬«¢r)¸Ò@¦o®3jRde1D³ªÑj`ä´o[PžÆ×Š× †m?…¨0Â{g˜hl‘pœ¸é[œÃ/„šÛñàó˜pÎ9)&¬3 “U‘“Üá*@QI|^YgC×üCÐ ®í¨m´é CáȬ÷HçiÆö¼b^÷çç~ï&£yS>E <4”Ÿø"@5Û„ëãáBB¢¶œ0Iv/ƒƒÃ¼®]:Î)óö>xâ¹WøIYJæßòßû:>ÝùDgÈ¡§¶iÉŠU¤½ÚÔés^™@'3’Dú*l”iýAR¥Õ|¾‘P?Z¦ p O:ö¨ª¦ºÛnç%‚+ƒùÝê»H­kØù+ÈÃý¢QhpÛÉkÕ •YO94±~âWŽ«¨*!š—žûßçLEjp³)6ß<[^î™6¾T! á–‡\¢Œí8}@NÝã`Iÿ V”†1ªDéB¡¦"Ùö9¨ÁPÝ—¶…Ò)s©b‡ÅŒ\zõL3r>:~ïj:iŘÃÿ„²°»®TóYÆcÍWé¹±ÀD óªA}…t•„1WùL™Ê?jNœÚçÄÉëHóg|nÛ>%Y+ €¤”31Öø]ø´@Uð¦ú‰Î°ŠUóÂYµ:‰ZÜ¥œûó‡¡]‘¹u^µæôŠòz4íªñ#´û˜qŸ˜ô>”•oÛØUˆÛò_Ãî:ßÓsÁ³~–‚h˜s’ÓþKi õ'RskÙõzTÚp÷ {Ç‚-9=J¤£V|Ìxf™™‹Ä ï¿mEWÎÚ ÁIDñGÞwå“l9²“]ÚÉ.'5Ë †J WËÙh©ÅŽˆ×¶ÖÞ'û\þÒ‡X3’{a?÷þûfyb":h8ë iñš9Mþßìs‚üÈ[—þšú !Põßøúv0•Gà°%zç¿^»Â¡ïÐæüJÆS\½,‡í äoLf†ÉÔ4w†â|[f‰tz‚ÀîÇdîý²…ò»ó ùE–ufÕþ5#E{Š—N´5,©•·lÄ{½Ë¼¶°˜×ÔJ<Þü»X˜‚lŠpÀëP¶Ýç>h3²ªhàQf“áA ȜжŸ»˜®ž±À-_<¾™)2D‡¢J0.?Î3>$÷íì(Ü›)O‡,–&µTqh7 ÿiºƒ|ˆä¢«=Ã]:â>óB¤Ø^_ÚR_Ʀi¡×|Ô“T_qnÜü Ó:‡±7¥R(ü|À²ìp¯èÓyZ“‚Æh´FUèóÀïXÚ2tF½U=ThÖÆµ³¿Š•b}f…ÈJÆV’M’¾UïÌìúq(F½ÏY¸*¶wpƒ+͹ÎjR¨ýLË>q:š:Ô2¥`=‹¤i-8QfÔ¯14ŽÀ›eÇj¬öʰôr™“TVè‹×\c²Û¶®I~fÚš>ܲͶ0>,[ j‡Ò‹¿†›¦šÑgPñ¨ŠÊ™H‹U¦mâ®B+Nw ’!úcIÄü7׈7¿²ÎßÞA}>LOjQ{×4qe³>ž]|TÕÁ¯¶Qh’žNÞ±Ð{wŸô—î³ãÊ—ÏeÂâdYnžÒJB®i¡Æm{y  ™7–®djK‰¥.›½;òð ¿+ÙrˆÈ †ÐŒÍoÇ¡‹ ¦c;óèïeÖæ÷ œ¨óÈ?¥•ޭΊIcYÈïgW²|jöTéºm‡‘Wô= Õø+=´ ¨ Y ª6'¤„Ò¥1bÉù3¡ãÉÔ…¡‡0»óÕ’#¦Øó¿à¬W“±ê6ø5wËïxÀÚ°…] ‘å€Ré:Bk 䃄pâ¡”ã°í›åDK]·gré…¹üÏOZ Ïñ»‘xãó[92ÅsÏ”ì¹VLØSØzD¬³ðöÞ*2É>Ü‹ô½/n£ØëgIÒ,7÷Ôhoü’tדÍ¿.¹¡&£Ò]P4q!¯Ô°ÄþËÕ«85g¶exhÂZ%(7›£:À2l¾È¦S[¯.²Ê“/#ìp. J¥d%@Ï#„T—@Pú3oÊðñ fKØŸ5¯I»Å9*•Nc\Ú”84HÂÝBà;‰µLì,_}„µ§ mÑ%Óÿå(ÍlßW‚yFÛ‹7y  ^Tj jŽ Ô½<÷L϶)Ê9¼8Ç]ü|­öüj^Í…cÄÑ$émp[ª•ËAò !—Ù‡µúsð/è2N'4–÷–ûÑÕ$°¡l&–K|àQSŸ6tÒêÝóuUêXöÑ®"‹¶i¯0à¿ÇQÙÙeéSZL„j¦/u”üÂnɧR¸;¤öm»Ó&. çiÑÑõ :´ë×”¤ݲˆÌpj¤lO©Ãj¡<'H`;ÌhÆ+ëk-Ø#}…ü9 ­™,æXj0ÕhvüÈD°êóÆËvå8½¡8?HV Äñkò6ÝÛç‰ÕíòxôCž*½ÉA˜ŸÝL ˜ÙÚRÿßÀ¤YÉöE>à ŒÕ==^‘Ûøf[¦PbµGZá“-üÉ‹¦Òæ±~eÅ<«Žn:¿sK•;8î9á5u¶þ]¨Ã d¥y[]~ dÂzL¿yļdcIëèµ\‚6h^ôÈ*!¢¥*¸\ø‡…?$ο¼8!ãĶFNè§×Б½'›ž_コøÇÔht—ù‰¼Lo3’¿ï+uBÿþ•\’±§·¿06‰Þ§­ëíi? ÿtXpÂLu ?ÇA“T¯ ;wêyË9Æw Õ-¹Ù¼¥¦€aEú¹³3eºÚbû }"ãojIžF6±,K.†Òå=’-þTƼZMQmºÅYüà¸t_Эû P~á{8y[4ç²~&~ˆèYò`‹E¥r–2á³!„*Rs®SjŸ75ËPÆ|ê–?øôIÉ›)ìNÏF+NBlÁÅÒx³´›QaÛow•N¡š™(.~Ì€zp<0¥®|)>óVIÍÍ¡AÄ1î>«1ÙŸT«ß2 j_sj U ÐÏqøÝ㑊#;bß4 #¼eúðíš"ng‡}„L¹Y>„bL_Ì‚dz®„|hs>ÐÉ©€)#µÈà…xwn‡lî{@µâþ‚2I„%¦™êЕ驾 06–÷šŽkÛäžÊ·×T>m}ý'koí;âk~^2 ­5r\ÂÔÏî]…6ùlu²•‹Ë¶³¸v[$Ùt[ rœ3¢Ü4ñRjÉD •Kš´e&HÝ;ÇÞ˜œ»„ÅR÷-t¢é[À«š>þÏ0ôø]n¼¤K½´¬#Œ^ô`á*[7þBÞà vL¢¼ã$ÐøßIk“<|!D‹/”ÓWàÕ\ɨ·' q¯óê¯ø~w×:Û`ýg!ÜìTæù ¿êV)ftó$ ÜðL¤&ñ€ ™Ó16=Ñ]ü| ?{6gµÑ ¡J<ëáÀXµ^yDl·xêP$~‘&-Vtåºq?ç™Ý×ûršLéýÿ>^œŽæ04k*Õr ¶Å”$Æá-fq€/iÓ‹ZÁåïº7Ðl'±Ò³SÚ‡_û[}Û43/¾ƒÔ*Ì’¹ÈøŒá4¼„½þš7θß"©J‘Tñ›ïËgįµSN¦CYI×§\t¼mˆÁ>ÁŠx2oFÓÁ9f‹‹÷Œ$Ǿ VÀ*µBÏ!"C:¡4 x`VRuL…¨.ÓãÓ”2@T—a×ÃMB×f3K¾]^ü'´]ìÑðÇ‹ØÞ¬<-æöà( ¡98Ë‹k ˜9Ëï€çˆ–ENôð éÚZ[™ C¬n0òΈLrßQi'Á<Ô¨ FèIzÈÎ7Dí¸+ía´<쬇C¥Uðͪö¯Î¬ª?\4ûˆ‰Éž%›,ÖìÀ»õл½¹ÏÊÞ€Tî…W«Nh¹š"®U¥oOà/°~7™û@? ƒ0L(œn¾!úaNfgç¥u-LR›É8n—ˆ¶™¿ 0ÃEò’Úݺz$Cð\ÒDÄdú (KšÛÍ.Æè 9=©9!ê73KnX“½¾ wWà,™f¾j›ç¨þÊ$=ºÞÓ@šxÁ}HÈGî]`c¥7nï¼j-cÂÄçRÿì[X<‘Lé#!TmÍÚvAS^þ–¹Üd™‹²·h@ùk"/– óqàlú”ºÈW³,kÞnT²ä»?°-ß±Ä0z~@Çì+¿?¬åtÔl Џzû.LE90ÿ²ï0 >…“\ ‘½’ð¾ý vâµa¶2J5;׺|—ÃoVËêÝj4r–’˜Aƒ}Åp ­Rö€lQåˆ>|Ø™I°Xß9(™ò0DZ|­óþËÇDLÑ ìZ&8rkÎ4tdlçúÛO(œ+tÉô2ú0¸€3CÁÔ0hãÿbÞ`1ì~ýŠ´A¸8ÉQ] ’ßFµ{á°GÎ÷%J”2†=5O¢IN‹&7#ƒÌâ¾KBSäË(aóünã+5ben"~eÔó’à Zhw•NS¯®Z"ÔGê-ÿæòv+€Ã‰Ýî=˜B·Q[}¿%WA0çubŸ(D@DÜã´yσFÒA`Ç/Ök]ãÀ²dô4ÝNãµÞ[ ˆÅkX€0^h$ä¦,ȽèEay¿68(ñgÒ }©È`ê·‚ÅI"¬‹Åö’m¯öN¤*rªÊy‹~¼Ùrü8ÍÁËÚúèŠÍ ¼ý•.d®W$Ø„ÝÂÕߌÖeÃè&]Ù)}/É&Ôíë¦ r–öñrßcÅ~d}jöï4ëÀ›JsRîö_$\¦Íðiø gÑ= Ž.#RPÎûǪjcFEÞSéý3r/²¡N²¤ 4uÛ o²ëOýrX•ÄMÞ­ÙÍ ”Û"L‚G +÷ržìqOܳR P³§F;¥’ø<[ui¤›­ûÒ0d°ð:ìŸ X³çuô„}†û„–·M§4à×úzbT²[X”öò¿ú›´¨X\õƒñôàž˜‡?oÍv–õ|”.¬«YjCmÂÀÙ@™u´$¶wn­-E ùä2¢ùŒèt1…B5IîL»(¸0q+·y-ÈåWD_:¡Ì×2…kiVäl±Z’ÚE¬b5¹ÉAjØS1êí1ûQF=ºX? -È™¢¹Ï[U æóÊ/ÿI¸&¸· ³„ÞMD'[ç 0ÒÎ-vš‘Ö¤]¿”7±sa?ö£ÇßKøE“UÔ¼eþÎÕã +‚ ]‡¿üo•C@KŽr”vQ°_ŸXJŠNÓDz+‚ÜÉ]Ü PGû‚£{+MgM¸•_‘‰/LhØ›ð[C•m—`$û:48¹?Pj‚-v/şݼ·ÇLŠ i!‹·ÌÎ Ëí¨˜ãQ,š;“œ·t1{ÔµÁØŽ1—„ËoEå»éŽì)´†,7ÍHâ-1AúY/ЬO÷ Ðv§BÝüÓp¯v±L<Ã65á¯PäªáiÓRj—-Q5Œël4Üüú>Z»aÏbê¨f=¬ØÌ$Ædð†)ûŠ¿L†,‰GZåÀ[_ü“ï1ªdáðÈ Ò'M„åöɱGè<[•ˆ–GÌ-—œÆB[¡€ &Êr«°†xç3ÙdD7UÐ ê+¹X¶ûÞs{~jäütŠí±70§¡¾Iki-ò:zw6‰Bwô³Ž£×Ð÷m}™‰U9ëõŽÈžf^Ë$f&<Œ°xÓ$1 ­k—Ötƒ/j:ë²°ºMTÒê Iƒó6™—B‹¿“ ¬)¼†êˆ>έ]ú‚ïÀbÖx{dLÆàbN—Â=ÕZ˜I ÑÒèÌÔZ{: <á6¬´;€<»‚Ñ® §Ge`ï碆HÄoŸr¡ãìÇè¤ÇªíBÍ‚ðq¶ê6­è-ÌtÄWº—d³ž‚ål<'¾Mø1¨CSqzZErÁÔŠmUn%ÅÆAœO¾{¿îý‘1n#¹®Eav‰«  8³!±û}hi½¡xsîD¹ó¯i-ìE±’{”ª°@ìÝêvÔûß“ækb½¾u©Mü+}¹`ÞIp»[¬W/PÀ¼oÑ¢Üâüëö Þ6=ÆF¢ †[lü2SŸ2‡¿Àˆ¢>̈كûšæ+b¿)vS¶ðµŽs­’РúÄ݈¸¡Î‘5cu„¯Àz5™ËC`Ômàn»dæ|°6«“¢é·d_$þžÜ—{àÿä"wü-Õ [$TÒ u¼|0Ô1ç4F'^ ´ç0À&D+•…Lê¹öA ›oB&'Q”ç3LÞ_®šÓ¶·Ò¸=ˆÙ‹’n«Ëw«e@ºirSwa%…ÚŠ’Šé-v°àqbÚ+Kn¨lo¾K(›b[)ŠyéGk.Ljæ&v”iO÷ âÏp?,G ­ˆ{Æ8 OK ‘"ú¾2w¶AhŒùR# nhC†ŠfvšÞ(niÑr&šž«ÀíÁóŸìôÆÐ2ü”‚œRçŸL~'ðRÎõqz6ŒŒlWlNe lo®ž$@Õ>¸ìÎÊDsÃÊ×y¼Ž¿’j÷è8.™ÏבŠ$è¯*aÿìßÔäW‹• L`°AbX‘rUsÝW!]&`A~¡G÷x\’꺶°ý_±'—bqo.ʯp)ÊN€_Ùâi²™‡vo£-±¢$Õ ¦AßÓ²0vk„=×<„µ D7ç$̶ÖÁs+ ÛŸ¥J0Šü€¨%…=¬˜‹rÐÕLÕïÓFwÅQŠÝ0¹ˆ©£0i`¡=vµ"f—‚VäÂÓxj4¡´ÚÉ"Ãw6Õ•¯Œec@§"ªxñ»Q» ¾¶Dq=ÉÇÿSˆ9› ¯7‰Ñ*‡üáfiºÍÍì)‰iŽ»­œÄ·Ö§ü*²ÇM2kƒ q´ç“šß ˜O”¡K¹-2\»êâí™*u{¼Ù›q?l²?ŒÐ1myý´!V’·h"oç&lÈŠâ­.?^wË@Ûµ»ÿz ,W_D¦ Þk´†}žY?Á‹ächŸ¦â‚þM³Õ YP^ jéÂ*õZª'(Še[gÎýÔô–Õoø£¡²ñûc?!¤ý`D ´NÇ£u\CK\—Åx.¯±™ ±Ò]­¡0ý”7gI昹¥¥TÈpõ÷t¯k{3ö˜l¦ØCÑD…»`ö<=éVI¿1÷¹M_^O,š’¹Kó^L„%È yDP=›Ç ©‘ìx×zbÁ‘·0a;·0ƒI Vj«Wù0Üùz¼Q®[†®â–Î2)ÇfáUo‡88Jç2±(’ŒÔ½!à§8óÂ#ãksñúý!›½ÑÔ‰eß´Jü¼èU}¿9€!6û’†©ž&ýKJåªRà$kүƄ»$?ùwoòš0kÞ 3<_µ†ç†—íÕ>Q‹ è\ˆx~¨ºÊIÀ{Ù¿_HuþT}Tµ‡M 3 ‹Z;`HàåÑuÎÌ;$ïä[æzŸ çÇãÚ”‡·\Í”{¹B³ËÛ¯ 1;ù$°ê\žñôv2;œÎKÌÍØd:üãd~|M9³ÿ³ÄÐ0Ì ÐÙ¥³æ8ýÖ³E¾Xî³1¯ý~èÙ ³>$zªbü"õé òýæ¡Í-ËUÐð%ô¢|¾!k>­RåeÂi6ÕJ;²9¹9£.¨ÆY¥;4ŸZeã4/¦OÚûé–JObà+þcÚ°“ó”1t&®ŠäîeJý[«¡:kŽRผx;ñ‰†‚#Ëÿë_Án8€wÎXÉϾ?N’¥—½Û·Bþ¸ÅGÉ#ãñ*e¶±š G¹Nnù¨5+¦EAXx[è•e ªÕÝõm<¬NŸÐ^ÔŸ:ÔN»õ1çÄ<à®[á,—Z"Øs„$‰žÊÅצ/ˆ\Æ“‘ô\Ø=-TÜFR‰þ• ÓÍ€š¼—bâ•>$)õP6”Š@!wyà.@‚Û´±±p½†f~ôëöÃèç¯C‘}F˜Ë­¨b_Ày¬‹jwoÓ6’ßš³‘&£}¯ˆ¥AòCìˆ`ÎéZ½cÊ´j.Ä]ÑJõ]Þ— KâØ°íq¾ãœÔ—Pg'„9s‹5¨³(ÃUWÈjv ØÅ¤^6ù¾5Ž:Ńøñ‘ñ?K‰9e"Låûœþz<Õ»CcTÁÝ-¾xx֯Ɠԫ2éýô*Í(çýKÓn&Ýq,˜9Ælù»}Z…f Œ!öz=Q™*¶ñƒc‹G梈^tÞ;€8ˆÆ‘×YËÿê¡ÍH²œì»1ŒRÛpb”WMýWÀ:&3è^Pó•¡³ð‰ù-'tMv½½° ”,c$±>k7^úîSfë{¥\…ÊeG}cÕñœ™kä}Ô­]Ÿ1{Rc•Ñ­r9•ôá„q œ½*kì˜Q§ûÛ‘çš (©Ãhc7ïÈäŸå8O Rz¨xÍ1ÿø,¹íXZ á&»ÎuS¯ËÍTâa–òæ¾Îaˆ0‡m{0 E{ÒŒFO†,_–‚AÞÓÂ8ªóo™“»w¤­P]nT¬yÓƒKä‹¥·1 ¶sm¨ix÷¬…’ˆoö[œ/ê}íŸÐF7’BŽìäv®÷7O‹©m%XL£Äö¾»LriÕ’…64—©ŒÛßP*ª•ÈÛ™ÖN´$ý#™ ¦> boÕõ ›rºs·x\%c—cƒª¢žÕqCtŽ·6Ð˵2l^Nìî˜ä¥b:<…µÊ¢GõcKÞ¡z‹—]têÖ6Ý¡6Ä2MÄîý‹Ï¹@B×¼QÄë¬gÀf Rþõ`TÉ ˆ0w{ªõܪykœÇAìƒóNë„‹¥‡-5ê±Øþ”ŠføÉÔÅ7=ΰE±v½I«Aƒm·cBœ¹¡-?àÃî[/¶Møhg·>¤Ìw‹—„NöW"•÷¹À©Kœ¹’ ÷gBÔÚn(Ef 'kÄ?ìÏLŒ :£ºåÜ]­‹à6YÓ’cà×]›T„ã¸Ë0cbª\o +ˆ{Àü n±[>{£=^@ûÊsÌg!‹šfžÚµ[nwÔý•ˆtÍh…~Þ€°~’yÆòØÔ‡Z‹%Üï=(x¬ðõaÕ]ëÝk¤…0™T²d!Pp;ñòø!gGaí¼My8I˜LãžÎ£Mº ýùÅCæøT\uyÀ5öägjQ-¾<=©Ç'<)-òeñCsMº zdž8ƒHÔηÛÊuïdÓP ¿ê˜ä×nÚ Ý[å}zÒZaâá¤ÜöœÊÚÅœ®nøÝlB¾ux˜Åâñ”I^-KìÕLáäw);Fþs„Y'§S¥Ž͵œ#EìYÛínN[2} ‹ßM…©4=¦*6<¹»¶á×ON#£T`Þæ.4+|eîØ`óÆ––”TwWïÔ”xø˜ÇÏPVqÒ ÂíÐèCÉq³È/xîW:t5j-ùγß~vmþÏV8 ¢êç²ðË7¼8o¬R}w>Õ>cé-3"™ÔÛº@z©0K/í§žmê"wÎXÿY7_ºå´Ú> ªøåAkC jóV`‹&êõTÿ$imàÜ+¸fŽ`Km{Ø<Žj«—¢È›{¤ÑÀ\MÝã¡po}ï¶<ÛðYKÿi=ˆÊ:†ŒñùE+ÎR_œÌšžš^è|›_!ÃþÝ®@ÌY(Ýïä; ¬¼ž€81”*Ôó5”;ºu3ÇÄ‘©<+îÐäøÃMY‘SÕ5¿wÜu@c@_ÊÜٛŠxÉ£±ÝŽ®_v+'/sædåæ¿ló·VhÁ³*|¹‹OŒ‚Häz:tí9¦êzë`=<„ž»õ^½†Ž»xË[JòÃKÇFZb#­œ•¨…å–Å3ù%N™êw¢Î£vô^s‹‹½Ä2ÄôW¢, êXD*U¼fÊá[-£V_컜Ã/[ ÷’TåKqCëâZÚhÃçÄÉÒ¶¼!œûî:ê•edwöUWãf‰g+ý§ïmŠ9äOÐvª 2Òë@­>mÜÒ§¢SξC…)äã:TV†7qS’Ù“‘&Õíè‹ÛZ+ïHβNýl’_èüÃÒ¯€ÒLj fN–•Ù%N0¥í±¹Ô÷ݳÇ8¦&}Ö9›6$ùroÎéCqÁ|{á„ m¥’™ ~y riôË‘ÒX9,ëÛiáKØz\¯-—âXÀ*§Þ„rJv¡‘D\à1ðÏS± Zdxô&<¿=Æ,Î4Q€°‰ŽpX¼‚`dÅò›Ù~s͵5£s®¼ö¯ÉÙ/ %œÉ¡óÌ2Ü>üòt|›ŠÏ†ë„a$–k¨öÞ&¬T2Hç!^KúŸX%s/´0is7½ ^ä>0Ÿ¼Õ}’›'–}õq»¥¯âèW’%ã‡ú‹ ¼QÖójQÕ|yÄŒz‰¥·ûˆø8~HüJ?êæ ÁücÚ »~¬¾w8.Éöåh6£Ó)¤õW…þ‡ëfDÁê@)ùUŒkô–Tıaé¥?Ø—Ò~q†/{LœÌâÒ¦q?22ÙaU—ÝCf¹:#¨ö/¢B. Ù†|Ö9Ö± «ØÂõ“-i dÞ±^±ZïÀ÷ƒ•lhÔhà¾ksV¶‘üoéøü sík}‰]‡×[•&¨kÅÊ'”uû¨vÏ(“a`ƒ"5s™ù2óU>¦‘%Tl Ðm‘=  z[šùfFX4 ÓT+YÑ R>…£l¿Sc‡xþbU­Ýx<Ûìã¬pNР¬¯c蜘£N’š¼êþ4njàôŸŠI¨`U·‹¤šÜsV¯!(/Ry¬gô¾ ÂFÖK¼Y lpBL=]ð¯U߆ðÈâsìQù /6\+ƒ”Çp_ScT$ÞU«ÐgÇö¶‘¹ªŠo WÕ°µy*Xfž}¯˜wžV”öêÇhDš c¥P/Q>å]ÑÈ‚¾!ºbÙR€g:äWW6󾑓ž^r˜¼Æk<>PëAöï66f‹Vã‰\¨¨Î;= Î…¢¬ T8²|sáq·VÖ,ŒQVæH™‡?!{fý í&šˆÒû]Wj‚#úî·ZöcŠ3ŒAŒw&_ƒ?¤-,7ÖC§sõN´Ù ¨}x×£V2óMPkòö8'Ÿ[å G,ê©ùu||7Äywb?`Ë?ß÷8Ø|Œeè‰Î…µWkac´f®Ú\\n(ªHS|ÂmLÿµA%N0Lԉ˟ØjZü?@ÔyŒÙŒ?¡†²^Èc3òpÒCú׌q·8åöâAÄå¨ÚÕÑËr¼ ‚™P€«ßÖg·.ÒHîí±6‰4&Åyƒ—&“[Á|1i³6gžù¼Ô˜¹w4zÉäFp’ÀႲ¦ò‘wÜ´½øÂ}óPÄÁwm‰èKÒÃ>_2š¤Hãn»„ŽÝx’P–³"_SyVé¯ »n¥´ëGj’“¼˜Ò:š^mùDöÓHÞsrçÝÓ¼þ[†œQ V§ê/"„¨&›v°¦ñéK±V$£qIâÍF-¤göu@Ó=z¢!§ccá*ÒÕ5?‘æ6 0â 'Í3Å¡ãàÝ5‡œY5ïQ¹xŦŸÆwr¾ƒÈré» jÙýˆ¹á'íI­œl+Ë~ "ÚìþæwÿÊjºÞñZïs‚$‰q‰:!“ყ G=H÷Á2Þ3¨ë‰NEüè¥_üÈ(¬ë.P—ï‹)òT½á2¤¿Š~kØE¸Ê{°Ñ“iH\éCc{×kÞHãØüáñþÞá4ˆát‹ÝI”¡«¶Dí°ÈÜæã`P²‚ŸNçrÅÖn–4íŸ ¾ÙþНyvKÁ˦•’QÆ#Öž*O¼=c¸Œ~$ä­.[À®NHö¿·;kÁF ¦¨(‡ÎÃT.Óʆ7e‚ÐÒà­D¯5¡Hw Ý5;jâOõµ Q± ŠäÁ¨XT÷:çë% Ëöh3ôLב¥Ë$Ð~ˆ¯»ª0ñ[ÞptU©¼ ˜Ñâ_àðÕÏè­Ææ/êïç[7Åu¦%­u8 ³³Jd’<âÇO„ÛâÞ?{-ZmÅ-8uªÁýû †kÆP·ÍzóÚáaL âJwcòUÇïr”\žÆ'âû)¡Ôú'A7DŸ“\ËttÄ 5­têH‘½Î b’5²4ì—Õ#ÿ-FŽp‡¨Ùle`³*ŽË àet¢ŒKTŠÈrâ`X¹ ‹ƒxW ÞµtjYÓt×ðDW5€òòö6ú•ò§÷ œ+Ü+£Á´,E»_G^`dl}ûóê‘l€!ÔxVÚïÐÆÆ>GÉêÕÈ73ý-˜‰»,28Ÿ§¿ ?¦¿Õ$bp;\ŒÜ m>ÄüËÞ6ð79p¢³Ó&I7EûJ–#ݪLËXcPÈBTT=Àu´p9äF‡¿•éEÐ:éÒjW‡bÃבí1ßü {›D¿ø¡5ƹOPw˸ ùD¼`áBC ¨žÂÖ6*´Ç ·¡›£àh«´5t éû¶yh¾#Ô5)@¡Ox)ÕrÚ™,.Ö)<Ý3' ƒÔ,Lü&† 8׆zÕZøðÛµA2»dÆRœ%/ŽÛD`H»Q‡¯ ÃZ%©S2u”WDô5ì I˜õ‹àˆð«D;õÍaÞùÁáíÝj0ïÆÍôVø֘ЭN Êâ]Ú EFLa¦ùÇ{U\2ÑÙx>øá/ äªmtÿ~ѧ7eqgóM•ò?tËÔçP7c2$:}kÁŠD\tÑK®-Eu¨w¸“ ›5Xar¤\h]‘è ¬˜úÖ0H´;y%Ì:RSToÑ>y^<•t$]”S.¶Â²‚û~E‚u²n³zU :#p}é22®#õ}DìßG«ŸJìë9³wEË@·`\ìæQ–üužø¸5¯•õ :2¿ˆiú2k*ů¿ñR™k(HÏãaAÖf^nqãæìW·¤ëÃ`ÍÞU Á@xWó·‘5úû Q¦ø}ärîìfÌ—¾ÏÔáì!XUÑ©ž%âK‹’xb°€•Ò즖ø04 šžWU¹sgE‚?¬|f”œ™¥¯-+ƒMÈ.{*a½ ..ŠËnÜÚ–o¥ W²r•¿(«¿¦»PÿjšM(3ºLX4¼ciøòHô§ÀN?˜oïáŠSž×'‹¹º].Ñ'?Â}¹äœ¾¬$=ݲ˜Kž¸kCågcøî@`Jw~» µ-¤5èZ·~>µ¹éÎ`t ¦·5ý"ÖüÔøÞ$— )”Š7µ,öC-)1%ö«ä¡œ);!·ËXùCÿ¯V™ŸÙ¯‡`õBîVð·WÖÛ ¦ïMÄð3ל^†x·ÚÝՎ怸è€S0 Åg`KaÍ Â. ¶´.Ðê}ø/èÖÚ(€ÑÜíœfVJ:ƒRbŸÎPº.nGÁ4lÄÆE/'â+•‘_¨dñþR庚’Aà že%)ß6ÿOÿüvè)»Fo÷©‘ôýb Š" úG‡Ðæø÷®Ô tpwƒ…q)æ*WŒPLš½.Ôxö‰©‹¹wMúcî›6ò¶ ½éßx>z@¯ÿL ¶w^8¶Iˆ=Bk·=Ž@w9ý‡÷y§ 8eú.|ÝñÍo(\92\º50Œªâ§ßÄ™&ÙP—¾÷Ã>n°8#y‘ ÕE$Euw¦ï>ˆ¬ÄµYG±Â5CrxOVs±†³‹}Úè8ð‰÷ƒ„tÌß½±ÜúÅšÍOCï 4¡Š‹*›7$õ@zãœ÷†z_w–ÞLשÖÔÍÑoQð×·€P¯L=Ml/iÑL(¼»`ÛÞ²þÌe ˜,ßôA´Ší HhÌ“'ù¬uWëÎ_–\àâzpcY:fêª ŒOó^†ÕnÈ”ç®c†—ÏFqÌúÓ¥¬>XRõ=µ&døŠºQ°¶bèÄKØþg‹ÀM³+3ñ=KãCýÉO7§G!w3¸ÀÑÜ5=”ö™¦}qÝ– 1Úe@!>+»<çÐÄcò-·”ʉn[v‘M˜#³‹n4oIå£/Z!ušÐ IÝ9´_–G 8Ý/Äs ÷ ê’àtDþÌBíßúZ )="^;·îü`öžK}Äù¦Í§À‹=rO@ÅGâ4O,±írxòX8çP½e¤frŒ›«¼OÈN<äGWÕ˜æùnD$¥Eç‚LŠ=Ùµ[ ýÿ•z„©>8œGlæä8”X_‚on^2äi÷Ø6ô`h…ðAn†Ðÿ"I¯õæPWõ‚ØcwMËs#p*6#_dj4he¬í÷ÿ}$Zªy\¥…÷dxè5çBˆéU‰Üa{z)–¨—ËwVBâŲá§›ÒÍLžÕí\§ìä½)Á”ˆêSŒi£‰«Ú ¤Ób挶JíøŸ²–»ó £U–è<¥5Ûå׫Æ.r¯'ÚyÿZÝèÝ< ޤ+þRõ;_®AÚ¦Ík›Z3ʦaãg°m“h3gGkáÛQmp<¥£‘—´ÌªîO¶ÎzE;&>DŽ¿(ìóžn¶ÀzùÊó³KìçÀ©ˆ™Ä‡s¦’ëBûc½8ºQJ¦p2}Î‹Åøü;øÏ—æV;0øbŒ:ÓÇç!ø_È3@%Ufk~ÎÍ;žï°ˆLÙyaŠÀ,É­S|R½‹7e𾕠û…ËåO¥~ÅÇŸ€ÎÛñ­ƒÌwàeà$f À?múŒL:‘µÚCÞ€u¨å<+â>ø˜Zoó±ÏÜXÖ4Þ?V[-Þ‰-è¶„™E©ô)€_‚7…Zhr—Z£8m>Æ¢|-­v_¤ƒªv­@ø ˜”Q"‡Õ®ðáµ§De/f(òÌ¿+Ϭ?õOT¬ò0¨F€ éQöót†Ç4›@9ÛÏ—=ejÄŠ48‰@ɬràopŠß‡zrS#/„…ŽŒ•û¨¢Œÿ1”zB„Ɇ´P’Ñ®»¶~¯×϶Œ2,;2SÃÐÒ5‚3 )¹ÎœLC\íl¿–ž,£%"ߎ8[¼$΄‹UÄñ¬Ñüàoš3ÀÄóxI ÜKeNc<içzÌ3,$ÆBJh åv•׬Ó{‰‰+^¢á¿•ñâoÕïzïÖ“¿s%´øKäÿÕžöê×ÖPèŒr“b÷AˆȾ¡º‰wÕ} ¹x}RÝðAkè¬D!{2G‚Ï’vÍbHùrü‚Áöí–ÎÎÙÌè6’x)`®æãÔ´NžÍá&Š AB§vTx¿äs^ Où– ÊÀûšú­ÿ;̽^‘äaÑWÇÚ-/e梻¥ðG\=Žþnþ¼‡š#%שE°Nƒ=êsûÄð¤UJÄLk]¤ãùAÊ[}QœE:·ë&,â´@_ŒÖ:nö Å™µ§.¾ðjQ9µ“\KD–ýc“í)ÇÍ­àJd×—Ï¸Ó S»ÀBªgmù5R¾ Ëm¼'Íæ|GÈvšÔÌlߦ>¡LÇÑp !kèÝäôâÁÏ×Ên÷oåOËž.´}+^<åOÑ)Ä÷±ðrVi)Üÿ'hn}‰áÿû„ý5œb"…Œ Àu´B‘퇭!R)e¸Ì/–w»ÿÔç6Ï,VQ¬3¡jóÈ‚ÔnéŽUì*{Ô!Æê¸P³N„!JF¼"°Ì+åË@åEüŸž¹•¥^Õç“϶%KG¿¿ìðæRj2óወ×ÜÛ/íä“Ã?ð­zQùC ÈNžó®Ÿ]ÐŽ#œwQÛæŠ!˜Ëù%·B¬Qòo&“3òEÂËî«6øŽw\q,#–œ£ícèíõåÁdú‹fþ\aûòüIÈÁу!–+ ά™m>¤jrÚ‡fî˜á"Sô[#— q;ÊÎ rÙs‰ ÷çrà‡ÙCØ,(pðÖ/9;C®-Ù|ÿƒóU‰,½C±C˜iQ.-‡P.Yd鎔«…a¬:¼íˆŸïR¹~èæWÙ…9¨*z¬&ŠšŸÐ‹´P{xÙ#ý½ò<ÃÖÀlõ8¶vý~* ±<”ÃË7Ølô ç,âå±c°î1N» ©À8öIM†r•q„Ü?{{y~Zk97DÇà•ÍðÇëh>{…#µÜL’£!\•˜ŸLº¸žú‡#¬Ñ3‚“zãc>›!ó+§)H¸.[D?xø#ºßH>ߣ£‘N§¿Á˜—ÛçYü 9Õ¹: 3¤Z”G)¸ÖÜÐp¢>Ð#Nˆéx«äo+(g;Y¼4Å¡$¢µ!!½@ÀçB‘¾«b»œeµ8±N/Á¢JØÿL¯”ñ‚¢¬8"5‹}g×<Å}*t©óZ#낯…7ðæ‘øjiI1¨Y61¢úá¡rqÁ€¦˜åh‚·¸^Ò¯ïÃR zæ Ü½Ïþ¡öJÅnm;µ› Ó½ÿMsB2­âÏ&»ìÆo%œpe”¤¡R e¡EÈwª&B1".ë‘ãÝ„ßåB.£ä‡¹J~Pí¯„–ÑÆ­æSÖ—2צ%XðgðÔá¾d‘PGÏ9ûì¤cæîï«dÍÂ…‰ ŠqmèzfÃÍI/Ra1•+EÖñuòm„·Ü$1ÁÌȃ"{ä½ô‡ä” ÝÎ a¨nnÍGù‹®µÛ)2Köd §–äx~é~‚2ïþøŠÁêg\Q4Ghæèð\àHÝ>Gêh¿¾x9rM’qV¼z1×ß êf|êxWý.îWýÜn˜0 U¿Ç¾õøôÊï±V~¢àQbË ½»Ù_ ÷‹ñ4ÛíË;c>ƒjùhzZ.­¦Øå·Q8[HšÏPÿºJPA¹=(#„ þ·ó¶BÑ þ7ý·gð X=TŸNÐ÷Ðñ‘ó.Ïn{ÚÕW¯”¯t3cCÞcåëØ|#ެáÑohZû²ÛGúµ-AE66H 4[¼™a`Ÿ€MÄÚ0ÔuOа×ÒE¹XÊ4¬;k¦Ú)½tlqRÔkêfÕEçnV#3gฒN8f w†Ö̰¨ð1wz@5Eï“]-1%‰Ô­56FB”X–”xŸÍå—ðZœ9W5§Ó{Ùjø+¯Â&Þޱ½Éb©’é K‚ …op­$ÛaÂ2fÄÇnP” U#¥¹„*õkX‚XŸSa'\!çÚËÔæ¦ùA½Ë6a\Àó½›ìP"ºØ< |àrÏ<Ó Ê87ŽíW©,L†h\¾7Ï«¡ÌÐ…]ˆ_ ËÕ1ˆ,þþ7O¶&ZpŽmÇûÖ0=˺šÅW­*Ï–ýüÈ›L-$ýFa+mOÀ´Î|+=¶Ò¤ ³ܸùK£¼-LâÜõùßu©½ˆ°”Baªx"Âb†£ÞL¿TÛt•îs»éšÌï•XPàÍÞmÎl­B¡¾nNàZ`òÝyR&?©l¬ H/õ·þÊØÛ¡%ûxAÌÅýäë¹»Œ$½l38iz5Zžm)V3`2WíDɦ)jÖÏ]â1>óömPò4Rtt“Z} %“7Æ'r=1â³¼*ÞËM“q†%Î؆†±#ÞXm­»Sœ»Gµ1þ^­ìÓ–»D8 ÐámÐû»áI‘”Æa¢‰Ž/“51M±õ û+yÕTÚh¿“¥Ì6ƒ@Ç!W{Ë @‹ðÃðm…ëüGÔm0”–ÎöÉÍsk“NÛÑÏ$.:¹Ðמ}—36É´JƒKHÓ_¼D“•ǾÒÐ$Äò¤I3±n«¤É®–Õ©ƒ¯¸Ûl †³6Ë« ‹>áÀUí#ì­ž4ù !Ä¥b'M7‡ÕIIG¾ðDEûv8ßê-“<ü²PLÛÀR|Š+êS±®ôPþMä„6 Ô§ÿÜÞÜ/Úg¿Q^’Bì°`*'5»¶È%âr‡ ¹4yœÕŠx„M£ï"š…» RæÏNQ¼íÃ¥E—ë&o#Ë©”¹sд<™q| Æ)k=]ˆ^ÚÌbèòMu ?aiPî¦!‹V7’t·×r(D¿üG{»‰99;v7B|ÐKGKl“œFÅyP‹vG £\xY9!½ØžÁ@ú67ÅËæÄãð»/åìÊþ!]<Ã!( ØWA¡¢¡ Kñº2°7÷ÊA+£Ñš™à‡Œ–/\€Žeo#{Çï‡,r¡- 0ù”¿wé3VÁÝÍ»ö´pœD`3í= 0¾²Å ÞUw¸’…Ëø›É}+¨7íoXN®óè‰wÖ”a©h \vÆ£ÓNa>‘¥ì¬/ Ü…6¼1 \rrxiý Û”Ñ.iŽ­¤è!'È„3ÏÑmèúÿ°Å¹-Kžâ»J„Ñ_³áýM8B\ÖBÂoQ&‰UŸ—á_2™Á¥éê@ê§%ùOºOËž§ýÿߦÓ_ìotI5¦Zµ6ô|¼œÙ,—Í<´~·â.‰Fç5¡mzäšTZÿ)²a\ÍöUýÃõqeöçUe;g'`l]_N~Ãy»%\iT“ð;¢‰­ÍB¤`[׫…¨’Ž ­­#/åkfþE•ƃ(õšíõÇzY³ ·vÏšm„½K5Ë«56©"ŸÄõZªˆ˜‹xÌŒÛ$Ú›m“\f£¹°»b›‹{v­‹[|iiß飪þê_Öµ%„<‡'㨲ÁD¾þõ1vßT˜øk£þVµVÿ˜~MQŠj@¯~5$ݘ²Ïº•:V?±1K¼Ý%½¡1‘×ÝdóF4ÈÑssåÅY‡ÉäJ6Ô–¡œþv-îW·{=òÚ2­ˆHÒŠÙU!¶I>Íct¨«] 8°!byØnk8¯¬Y.wz‰íKx£0ާ“ ¸ª?E{,ý -…o~ñZXÖ•ý$Zœ¹l\î-î?ŽiÕqÊ:„Ÿ÷K‰nY*¢Ô2 ý8íºñŠ¿87ÚªÁ©j©Ôú;‘g-4Xçûi¡ khkLÙì3m‹”+«ó¤‰awFRbYgÝ39’/“ ¾\÷é(Vú«KR¹ ESœrýu9|n/QzIÔ¯Ì"ê8yÃÏz ŸŽÿ‹Ï<é“.˜éã¾Æïœ×m©q5‘!<ñ·Ïv¤ŽŒL£7l¼Ã3å–ANÓÄÊñÕÔÒdzv¸|.A%nû4N$þj@GQÉÌ(ªÜU™Jd{Kí×íZÜý[šM)Ëbnjk­ùp#1*È¿‡†G~kô–Rslð6§(øˆtož÷›½ÍA‡?£eºs ˜«´·ì´JÝ8“Åä!ö3ßÒAµ%ô}Ç0úˆq†ˆl‰‚Ùˆyt=Òuý(Kž¤ÊèJ©EXqc"ù>}†ýôo½5ªž8AûõCNðc¬$%Ä€µO¾ÐÛü LãŒÇÎXò uaìõ¾ÖJéýÕHì*2LjLPbRò4IŒ"þ†ÕHÛiFÛéZ”¾s,ÂrZ‘|lš%´„Ͻ¡ˆva=ÓgÈÅíf:#–ª³A#`W)мYû,º"|+z#.};1PÚÙÄìçö€í+°|@;d—™*ý+±¹Ø—¬®[jkª¸îÐ!&§,Eß/O¹¡Š‹ÜUXx*¦TxW?’ðøËù3!ÔW}?è‰Ù¢Éó™PÀ¾ÐÛ>gJ1öŸ\Ÿ”C,PéÞ|gfEW¨îi$µ·­N4n­Wœ¯Ýá‘UæC3 ço½¡©jíÃØnásä‰AèdŒµ˜l à~gÝ· ñ¢6T~¿îz²ësøiRkþ×rü$9¸6Ê $ª& µ i¢·ç¢«Ôað…4ÝÐdÑ`IóoSÜuœV$LÌ ¢…¥Yn¬ <_CŒo´ÍÔà·þ6¬…?p_Õ˜cÐÖ2¨« ÄÜë^r$5žrr=©aK<Œ6íê¥ uº•Éö?QÑÖèÊtNK>¾cãøÌoò»—&\‰MndíFE-ú´=Px¨ÿˆå‡m»R`YÊ0°[cWk,¸³Hùÿ[P ™‰4Ò‰7sa>èzÔ"ç,̾õ;3·ÆÂòFßN• ÛÜΗqÑå1:ÂAcß"0SëÚºM9Ï8 ÑàßÏ9Sܦ¢.C¡Ç#çQA*ø1ŠZñÓˆ§äÆÊw;Ëæ‹²µ*eGН^Íxs‚’%ý÷êJFc7^Iîa=‹hÖ³'Ìåxà0¹“±~±ð0¡æ|!Ã+…‘xÉ1Ë6¬Þ6Ãû¥µm{DÄ >·”^ö!%Z –êÍ!8l9:§èxÞ¾”ž‘‹\p‰U:×¢ñtŸ•H‡­gsü:™¨1ÒSbKbRQVç~¾[mmãc*Ÿê 7×)wÖD0èîiÿ"í€Å/ùÇ£2úš1f’â°i2 …E¸ ½h¢Ÿ8åf8ÿÜ÷ QÚ¥S9g(že¨*}‹Äo"õ#@Ì÷ðI€‘Ò˜T©ÿµ,wL-öÀaˆRn',.Ænòtö/œeЦ¶CTò œ’vxï{áæ­¼õ }—Í«j•®ÌQw˱YˆTFš÷ë&)¥N‹ûãˆl¢P]æ¬s4ÿ{€Ïƒ?¨šŠúUÓ‰€çPž¢?Çvcí:ÙX XÖTEMIÁÕ}B $˜d¬žuʘà¦Xá¦ÒMÔÔØƒ·r*/bs—RÍ_»zã‚[‚faÀØcÁTäøÎcŽ%½Ü±ÊÉÁ¦ÅP—! P’c 5’ês.è­š†‹~yÎŽ$Nmzª`7]µÎV–À‡øÌ…L18˹ ôºÜdÂŒkü ÇÀÜ iX‡RrFS2(³×qnj÷Ä䑃终±k£}íýåûÈjâ²ûgÁ«_#\º†]ÂÃÉâ{E¿bÛI[ÿz±u ®[í?F[SŒ ÏÊ—é²áC_÷Ulh棈¶AµNFG»M¢>T Ž šd'é½Ý€E@¢™‘(¯öïBµ¹j.luö¶•^`M~þ“´À­ò%%žÅx]l‹yÄzdeùæýÉÜÿš×³cص”ÚœÍ+&­Wí¶ÊÉbɨðWë•Ð0£¸:~§ ´ÞèIúßH~‹ªHÌu(…£°ï-p2/½Sæ|¾Y¥uõQ”‚Tlos(íË::ëŒ|§HGǬhîèò\H‰*oèôýuøß ¼ÒÕ!‘ |=+¦ìô`G“PÈý‹b§hä°üíÒØ^–a¦ÂL˦o¨ÈÙð€#T5—ë,ùâ)¶EjÜb²u i´ƒ˜‚ý®f¬zØ'™S®dD™36º¦}üÅÚ õ¿ï Пº*›Ò©ã1Bh«ÒEv˜‹µd¢”Ýîç@ïÏúHäÝ&uUÅ߈sµ·-Œ¹ogw‡:TLoK‚š ”Vþdn¥yYŠ˜z—˜ %3§´ÍØÜbr>,GØÀ—OÖ]V5¿¹•+ºVz™Ó”“Ó²‚Ží&Õ[¤©É~ðcU€rPsÔ6ç‚ãøY¬ú ITjÁÑþZ‰ù-IøA˜–ôÑœ\u@ó_Š}ÞJ†À?Wl#וz ?Ç% ZT#Ðfx~!Àª€HDÒ(º^~Æna…¾ÍüÁèyé‹…f8/Z–;µ›‰˜{e7x/B\Ê–BY¾+ÀùS¬_’`ê໯×û}q/k´û«Š³éYí­ªÎ6Ðú¼¬!’Á™vsió'ËdÞTpõPLcõ1S=¢õ¹àÍÕk(%5­íÊSç ð•o dPYRíÎÎ=| l›2/C@¢Ä<•| ˜~ç[zl2jÿ5O·~n"1Þc Û<^ •.…ûpðslèE6ÓÝn|j#FµÆê3]1T@ªT’X>åeÖl« ê‡g†QU­ýð–3«Úž+‘N2I°Ž ¼¶¦Êœ"Ä¡k#…žI˜ív–aŒê‹ìK¡÷Fl¶Â‹·ÏøpzÉXrIb!ÏÅÞwúÕ-¦»à–?¡ÜhðøŽKŠÖÉ© !¾ø£÷輆(ÖâbS`ùDqµî”Q1we{Àùdx‹)ïížbÕ?pâ¬R„L˜ª?ï%°ùÔÃë#€M5ÖÀaÐW˜ةƸçv«­á}x¢l!‡‡©Ýƒ_à:Œ‘Óé1a!˜}+Wv 2UØÙ´¥Â}…‹Þ¡‘+Èíº7ÖôÛåÚçÈÖœn鬿JS !n•LÃÞld«”W,Ç¡–ìFú›Íì;*Ó%6 ÞHâ¾gÇ‘_1˜K§Ääö²7ÓÎIñuúeibMc!ýmÑ|7êi[ýkÝ;˜­…vœ‘=¸s†7Ë*Ýñ=Æä#š‚ƒ.·Ë…‹•â;núc8%¼Âvèš[OiÃÓ6<,Q{)¾ÚÖOŽè‘ºÝÇ£”KÀÕ™iÚEY¥ZÒ4¨,@î S<þpÞ{áî å·[Ä &lº¼Ê x…cçž¿<ÈIZXëïNBd¹è˜P­äàÍÆXvFû&[©Éud» Í:T7«’ú=JW ¤ÃS:ÉÎæî)éÚ™éBðL왌ý© £Ôöç.û—±=&fõŒ±*½2…ži5G.=£œ¾%5®BÓŒ¶yáÑAjÔ„iŠà7“W·8ÌŒÚßèÁ×¹M¹Óôñxót9"ü;cµÏþmëIµÏì,¦‡{UC >d{ÃÞ31`É¢‹u.+1K¿Îë$K[ÀI+ÛM D¹RÐþÃèiút "¶è1V©Öt[:ã»×ÖNg¶T†+ªàø)ý%¼5ü«[Ìl(q[çãïÄg/rÛnƒÒòÕæþíY¬Äw¡áQ5—´ H%# Ì•ªñ‹kmçÂmºOy Y¶1œÍm†¦h¶NJk,ÉTDlÕ×èšù^dÓ…ÿ¬}0%Ì/%ú¡, @‡…B¸à³jÞ̈±‡gµCVT`®û¼0÷Ž=5…äê:B±•˜9rW`ö «è› ©RX‘ášÏfÔðOFÁú(&ôÕtÆL³•ÐyV¦zøCĹ8­¨üg­´A‘}ñ;ö 3ƒ„Y:¡»ªªòøÖÝl'è¡åÐT…LŽIµ½³ÆøïÀˆ!Àé͹8TÁ¹½%áU%¯½ÓÿømÁ6¿S¥4 ?ÊGOë°kë?H\7bi¼ýF€õžT §Îy|+ž2 ´q‰ÐE“.ûÈžÈUù0Õ $äÀW3å‘*mþ÷xçŸLd£‹˜GREûIÜu¢F”ÿw.ÙÚëó¶õN ÊÓÅBº[3‡“Ÿ:0ºûê±à°K4&ð@‹©rZÃÕáYk %õóÕ1bhê@xþÁ2ˆ› o`çìK‡WÑ5ü ÅtùÎÞßÇÑ6`/3${èÌ7%l6?ó§ÎKuz?Lºa~ /'Ó†<î¬ç„¸êẊ Ý?û¯ž&z™JÙû–ä¾-˜á­3÷Œ¨…•2`ï^]É&;#ŸÙæRÁo HÁ-¥Pêå†4®_Z±`õ×-³Š\…Nëë`z«v²Ò{Ÿªú‘ã–P¹Êg(¼5¼xÈË )"g~ïÎi±4Ùg­±jÃ{c!ãÆø\™3 ˰!®T†$”;¿q°¸SæÁh5f5azRYδ£šô·Xå–%ù¡ÛÏ,Žzæ8Ïr* ¡7à*¶í9ê•.|ðNãÉk~½s/ŽÚž|·×»A)K?7_²)yª÷C(‡°¬Æ„ež ]}v!s\L·ªGIVðØ;í¤÷d$â“ããZÕ–X5è=91¡-%±ÝÌÛƒéÊñW-{Å(oHjKÉÈ)Õò5ù nÀí-ŽJØ_& Tjß4vùp¿+Ô—Ñ÷­?*žø¼ˆ‡ÿð¸wf[4{z ™¿é³Ò²|ÛM6yÞKA Ö:pg0V"Û ýbP± ÎO'9œ¼0£lôŠ-÷Ë–>í ¢ï—NÌÆæå³æé9á§kK"Á¹ªø÷À{ä/©±O× šÀEo9 ²ÔˆÈŽ}‡Çøè}…¢VÒ4Fó°o ‘N T@‚á[å}›SåÐ?šù“KÓ£¬PÔN_ù^H:žøÏŸ¿Ã÷£×«¿ÌÝ,·“fº ‡• ËúUOHéˆìÇÈÂm3’|Àªcïíöˆxv6V9Þ Ýclˆü$iL;ÐÒÜâk—‹µ|‡*ÁëÑ :°ätZ냅ƒÏدYl!JB|f͇‡hØ‹!+Í¥‘§3‚qS–#êlGº /<—›_iÇÖÆ äû!«µ·Ê±ÐëžfæoÇ´ t%:ð |‰‹a=(`Þ¼@ôËUª0žë}SHÃ/Ï¿ºÝz‚›Y¯5ܼ:Ä^ŽˆÂßfš¶©ZYéí¸q^¾¶øÓ¶ ˆ’Ô# úþ×R`$×41£*{lLË<Ä?•£½•®‡š£Žãæ¯ñ0W5~•áËÁ&"]GJ3©™ŽÊÐ~RA»£gµ°´Qßù–Ü1uQSª 9 ¿®½(‚çÄXÞà¦?ÚO(iÍ(éäˆ8 Hdu›×ƒ§“yƒ>å;;½ÍÛXˆ8•‹»uã›Dã•Ù¿up¿2ì$!ˆÁ8b„8r_‡¾©H1B5u¢i UéUì Þýö|ÿܼ÷ÀÔbûÛéæṴáA.¾D;YÇå›dû¥YŽoiÓ.¤©Ið7œ+Գ箫YûUJ:êMˆìÞÇÕ+Žj&ÞsüÕM-®0YÛëcƒ‚Ëv-„‰ôÎÞ¥Æv/JšÊ{ã ‚?ýŸŠüOt®Waºwòš0=‘øÍQ q¦_Âÿ'ý¦¸!çA¼… 2Ç7 ÂRhÒÈèytà×øÈu¬n ë4ˆR¦†p==rœ2ÄŠ[«é]½Ç¶6\jYgdI|®ƒùµBEZÙ*tïs Z.ÄÞZ³l…­¯3¡jvŒÏZУ –{‘ù´ŒÂ€0;W¢…óàãÔʵËö”Gc ÖNEb2OñºëqÐi÷$¤ v躉)Ö«t‹Êñ Þœ:çT߈é5Ø¥Ö' 14x(,^[¢5Õ7æcçg>Î’Ûn‹àiÒ ý u¥NÄ)·ôg›k‘3å÷ Îc‡ÛYIWrÔÈ:Ël‡BUèXç ˜´Ê!ääzR†x]É131x>͹ãöã( ·@º°ÅAÒ3Ás–÷êD y hêgaƒ¾ÿc‚ϹSX1¼ô²e1+Pª52ÀAxM¼ V…ص9 þÕÈ!×Ð zð¨š{˜gô¢¼g:°¨3MûÛ\­’_„½ôîÕ@¨"à¾ûµçX-:jEÅS³ @k9dØ×ê:¢­Ñ“–HnOÀÖl07Ï €G|¸!}æa»×&ia駆çÝ2ÍÇ¿VT© v®—€]›êSžG ô¬LØç†åHÕfšX/Q]ãÄ)6á3< ¹úxÂïŠ[d†XG²2Úñnm7–¤}qFžaícícÒh£‹vY߸6ÔqÜÛÒåʈJxÕi=¼”ã ²Pç>;f{A •+…öª¨4ëÎñ—¦1¹¯³TÅ^®‚>š³©@³0߆¼ðXúä”4ABõŠdªzµ Ì]X/Cx-i®<êäLÄ8àëºÞ4+Å;‘FóçÇcÿŒì2 =¡5L‚¢G,¨‘fÅÆd²É‰Ê“º2+%öÏ1™ƒ#sëür"ÇÀESŒþ ÿ€-dk3öóû·"©¢D¼†fázýŸ;°ãçöCó1t|ìOv¤Råì4W–¯‚GâY×Z¼^…þdæÆ\Ç?ÞjÒ!úGܪ¨3Áz@teœ ñ@YpÃÖ$­-/pG_[°ì Û—Œ,‚ŽG¦ØSîç‰:@ßAä{‡¥)¨2=|H3mHdd˜FW h’¹Ÿ·¡ÑÓùFmmuêæ uÙ' àÖik²9~Ê=7v­Ñ¦"΂ƒ:€˜¡…`î™D’{ïSP÷ÖÈ‘ÿžÀqj0B?PÄq0ÄϵL«¹ôÏåcc=ón/;Oh¸TvM¢&9Ë’ùž8=”Åðòš_%ÜHþ¿ô‰PÊû.®8{» o’úr~ô<³ë`W|]êÒ*"m;þ)6Kzŧ$ìhÃÇD«Dîc‡.iÜL“Ìa[ˆü„ÒQ`Yêpg³/ŒV™§{¿iôs—ä½Q˜IüÚÊ&¶o’‚ÎaÔH•ÜÇÞ£ÙÍ"© ŒM1C щþ¦•1ÔÔyÓeÉ´ùQ Ši‰÷ôE&ψÇd5Li£¥ñ·5¸d„XÛåÍ$øo ‹œ Õ¦’Èç’ÇÄÆô`‘_"þ1µT)—)áÅxuêÇz~ɶf«(šíf²–Âì­¹òÑñšTÐÆ"•)tª¿}óŸÍ3ï'pç€vš ¸·])¿èÉ:“¬À¥Õ<Ç<$ÕË$ïi}h©ü £âhMÅ ltM‚hõ™£,S—±K ”Ûº[ 2k0àAßÀá‚_yñãÄi!É27¯6jä„iIôa ØÀtmF'<õ!ÆÅu·áW×”1´m ³,eÄD| >ƒëì\0 xW‡y³­ ùþW¢Õ~gpÒõƒðpÖüÌH0dØ’ƒwÞ‰ ¤¢Ý±'ón(PtÓðÛAËo/“y°g;Ô@ wÅ;ëš •‹¦bÎ j‡ª®#? ¹ôÏ!"ͧoYZG_ÈÎ#ÙCÐÚ[p¢+ø*Œ"eï6ÓW7V*#x¨¼û0 ÷s…>X q•üŒù_ë€}㻌Ã3a&ù«IÊk®Fª–›kL_ʵÚZeô'þ»õw‰¿“¥M.â§ó!)O08è…¼˜¤T¢·úÞAmŸy[šy¤#ê,>NTxwâÍ#áô©¨v]YŠðo+8ðNÒÌØZS”Ú¦ Z/F¥‡-ìúNºú1ú¢õf7Ûðw·ëÄTƒ¡q“¶• 9mòJ¾–‘©ð—ÀO-î ÷ÍÛím*§`Ç’‹ÞS¼ 2±z³V ¤ñ=M{@ƒæ¡>Š­ŒØÑ7 •ŠØq¯0| ?8=ñí|¿ÜjŸœSô¥Ô ³åÝt -pÑ&ÜÂl‹ÊBÝR#ùr“Ç¡4Dÿ±ÿåAr§(êc¢b¬ŸçÞV¹‡ôL…Ì»Wó_<]lý¶'»ðÔ¢+ŽèmÝ”è³áž]GXJÙ3·SÏ)ë{üÁâðDª`›r÷©‚‹¿öÔ/…|?»m=2_GuÍ«8à šŒpöÅ¡Š!Èž;ý–¥±ζ>º3x$\´`¤¤’Tµ ¨½œI)Ô˜ãahî´T:–‰£ œž³åŠMÁú pÈ5+™ofÆn3{.åÞ•ùSk“»€45‡ê¿«†Ö\€ÿºâ ȃñå8Œ'l J­ÊÀš³|wÉ0ì|ÈÏüo÷ÍIEÍ7,õßÉØ^z¤yºÖâ?–ê\Š3N*ÄРœ:©'ä ´û2ƒ÷@ƒµÍåub0$ Jk{ ú¿O­72ð3÷U¿x§áŠEIqÊW,` 9ÉF±«¶”++𑽨PÍObܵQTcPeåø`ù ¹=cú˜°,xƒåW6ï%s“„‚¹§(âƒØeóLí# ÊÏ‹ŠFÈ(MÚ,Ré@2M`u’FÆ)ðÉ]a’Fãd¥½?ù^y£™Ór˜¦<‹ÎTåH*HŇÔÒ¿?“Ò¨ÝÑj:£ËÏæ² ¡ =ôJÄËسÇPÝ^¸ú¹è"üJœgU¼õö/4ïš~l¼¸Þ-¬‰kµ‰7¶“D…Îò(FqØ@¯{(P‡‰ ˆH³.Ô4±À@@)ÙË+‡’•ˆWKÿ«¨0ÖÑ@ÓzK§'KÀ‚ݧFιʱ7ÖØÉïªK ØÎUßä‚»ZøÔw•àU±nãâcÛ§¸·‚v*ÕêÕYð÷O̧áéð\á +U?G^Ç>5貿ę†WìÿH,Ý»0g\vSý’¸‰NmÙemÊÎ{ÔÅÛ«:ÿ][¨hEÙŒföeÝF>zê?›+{ÿÝ{Z0iìí"ªœààZzsƒê99—^$, Aˆ¤M¨½_É—ñ{Ès7¶·/I:-A~ˆ®@:,'[M¼º{‰fÈØÉwŸÁ<÷öôp_‘ålÇBD¶KIÎúŠù§dØðÅ‚0ܬ~c8›mËû`º´uW?Ø£÷£çšÓke…îßÏÖT¨?¦ü ‹5E¡JKhÜIX4œ1¡ÞíIÉ„µ ›žØó ÞC<5¶@g°¤h}Ð\j¤]d X+²ÁçLðBí,&™Ð± æ˜RQ×F‚9dÿ~}áŠß‹šŸ¦°An­õÜÜo €«–?Û?ü‡cŠzïL[ª07âk Þ¹ˆÑ²ô6n¾mä0–ñLÊÄg•<»>5üà{c©G? $ÞŠáåÒ¬p¡œE€üÌ¥K7rsÜêQ«P0Jßs.òLP5R½ 7àö{›ÎBY™zX›_¢ Rј‘Î3Â|¯ttã Bê¾QÇJ0Ó|Îß)‡Ö”‚ÃÿUnJv˪~ í©¯vΠu¶·PµoÕ ðŽO sˆ"áùµ˜ZóJÎÈ’²NüÌQé$y*~y ©EãpnÍEe‚LæÃ\§h;ßKôÒ9¬í½BéfІ•¹$@—ᦛAH*D··6‚FØ }Ñ—~÷0’š}=Æ(µ†Ý ç-ÇóºV#÷©zÅbeÚ2#ÍÄSdQB2ÍFoíL¬üèè*Ï÷kˆ:d˜ƒ»«‚*ç¦îVÌ|šð9=;™.{»ÁBQMèg#@ÃÓ+<ÖÓ}“t†-Å‚>SâÒÜÄeAï¿Ã£XtÒµC ©õhÄR> Q/© m.Ãø´D¿›º(ÆŒ 9¶åh^iê)@aé× 3¸µW!‡›$9ššÉIR ß ¸À@´åsÞ*绑ˆ ŠYÚb°Ll:2&‰òì>)ø7p"hn¹ÍÏ´ñ)h:Dv½&uGÖ‡þB©×á™ÈN‰7ߌoÌ­"x÷‚9áAÃ`hÀíi=09upé©SVÚo! ‘÷¶·).§qæ ˆ\µgâärÒ³ Û´Ò¢‹gŒ˜[n´¯_èT;¾¹y;¼bõ?)µƒ6f# ö¡q§ÎØX(m`ÎÆÔ¿W×aTðÔÄxâ©ÌèÂë_÷ŠTŸÂx¬&õôÊþ©\¼hB­ »¤O½¦×8ëZˆúf‹w¯œ­–ÊN3ƒZÇ÷®¯ÃᬤŸ ÒF´™Ú`¤ßqaøU¶ü”`™í u‘õ Í´£K˜$c¡ |¸obWƒxÞ,¤ç_’_L4óô”ªí¢£W[¢‹Ý0rÌ¥o—Z¡ü(d×ÁÉÑ P ÚÜ ¹ã #kåIOÉzÿò4±½¾J¢Ûýð¯ïݘ刽±#ì˜ëŸé¤¹¯Ÿpšç{¦ÕZ­R%á+ö¶;àÚÜ—¦ujQ“èn #tnƒ‘iÈÇàß®î6ùƒÔL²Ð^ÖÅš½?ü†ˆÇÀŽº{Ú*„`•&yý>\“ï£pïv Êü‚åX)Ëö÷ë m8J8ŒŠ­¡úµEþ<#$•઻/Ÿ-²ÒÂóeSŒ|”ߪ“VìY©ïér ûÐÝŠAqÝŸ²À/‹^™=>*ƒá¡Š9Ó/ëŠAÇ.ç‰W.Ñ”Ü8si vUÅDç2Vè°‹m¸óýÕܸF!¨ÄªKµESzŠˆÒéÌR•R[Ð1á¦ÊÛéí£¥$/¥ÚWU$0y–` xfh†0H ©ó(à`:I7ÁŽÛÑyT/Y¤®`¶ãµ¶^¬ù.7¦¦=ñžDS&âcÉìÉ w.ÁåŸCe1:Õý+bÕÙgÆ:lÊS ZÃÒ!Jƒþ½6n£ùRølæC'½_C\Œí˜I~;s ƒÉÛKœÇ"-YZÕðËWvC¶™Š¾ÐÀïš3§.XA~àf»6”=• ûqîA”å¤~èO:‡øåY‘pª©¶4ªøe"“(‚½ƒ›n6õ‡vó¯ >EûלªwRòóLM,€l’Å¿÷¾¥<—ž»8U+Œ H’iXeÇ+ã3(tn1-æt'æ{rXŠyHvt©6E.üªØxŒy¨/‰œTzi0 åì.µÞT¸ƒÄn€O©*2UÄ`Ú%™Òÿ_ê&œ=­ª ò÷-‚9Mö\¹,º[¢èv!M8‹ðfçhÃŽ&Jº¿Ç‰C+®<ý?˜) ül‚‹ ¹:ë5©‚XY¬AxA›*ÜÛ ~¬ðç<-UMõ=ˆ<ßÍVC®©[ÏÆSw¸®M§7„äÄ®[T!.ìD9½ø)èd7Ú¦m£ÔåÖªê>4ÁžªaîzÝÆgË­‰v>!»V©ñbëÅüÓuÕ—C[(ø ýÞp"´Íí«n)ýŠàÅ>£ÃpÀ–~e¿¤ ”¢õËdÜW‘Z¢n‚vjQ¯Ú5²Â¹¬³‰n0þÐ¿Š°â,$[-£L]5£êÉùƒû¨Gëã³á-ÌËÙ–o_ôHÝ„¸µµ©†<¢aþ ÂÅD~Ö—z‚FNœO1(^ãÆˆÒIÁÕîA»'ö›ßù¶ƒÖeA-¦¨ÂôŽwùüä€KLè«Ñþ"úÙHkƒrבô?í^þñìè¨Êë;¶ïÌ‚yä`ùX”*V:`ú^ób÷ïÝúæXštÆH% ñ7ö;Úî©Ñ„òÏ TÅiAw"O–N. Åß>3Ì^°hºÿbC&…*Ñ,@¬œ M6;õ={Ôl°Å Øø‰=#Jô"~¨¾ðê·Ò•I/2 sÏc½ˆÉ2ÿ‹ E‹Œ¡¶iÓ‡bÀüi ’ FZµ¸cj‘jêõÅ@ª©_Œi¶ºl¡0Ú´Ã#íýüo`Áw.-q@½jVîe!àfîhÎåÞþ?Ÿ•Ùð(B`¬äñckÐÎÐèë ¢Ì7çGO8Sp¿ê‚a¡1¾žn¡ibÃi6É +å^B™º«Uõ‡þè>ÿ{kï˜ C§™9 ¸å@²ëM èõ¸'Åƒ†¬éý™H…½Ó2ÂÖè݆ø¤Û®w¤ `ÝbO!x=t÷R)²ùE±H,°OÐÜÏ·Äé;áÉÔÿŽ:Žã¿Íë5‹²ºÎ:óº>¶ç½£=Ëm"LbuÅüÉþDÔ»¤X “¼<ÆßŸ=b4ZAçøã¸ùJNl9ÌŠ÷àø¿·5zp$S®ÂÜØÇcq‰æó¸öîK vì ´ª_!úßî,T8˜Iâ'ã=›ÏÉ4ÜèCÄžB"ø”>‚WÓæÆ}ÁNößýÐÏôë«_±yd/rI²—Bè&>°bG%ÓCIïJ ¯‚.oklt¦+´‡sÞÄûRæ~F”œu€®ÌÔ¡¹}26¯ïÙR -Ò oé"@¿öÝ]Ž ÍØoVg%/±Åû(w11]¶Û’Ñæþ=tô"So}ž€ )iî.IÈäë…Š&¡áiû± ßë ÃØ]Øâ¼]H&»` kwš¯¾5-ùWëW€{bë§E[T'"¢€ýÊuU¤Ó°Ž87à˜y´ÔŸª…R1¨ @©hÜsÍA‰~¡HÅu @`íFwÔmAš‹>,KÔ”|õŒ›IÉØ¡Ç5_Œ3Ú^#ä_âñH‚z¡CÅ’!ˆ}4‘XÆõÔüU«¨4¬OŸ µ @a6rõž']±>Ç.ã0½êÄ^³íŒo ðk$4Ì!˜dJu!¸ýæ­Â4ÁNì}®î1÷ˆi_ô…¼;G}í, rv­NmvT8ûìèñOmz-üÿ™Ò Ž?šbÔ¹YÌâñ0?ìÔ‰lKÕ–*YC”ÇÙŒnqøõŵ²’OõË} ÒÍ-fL>à1îL_:ù×¼ØuÜ6ŒtFj·‰ç·RçdàsæyÈÉ´ÍIáq¯-Y¹x0‹5.K.BΊz*‹üœ´`Ø® ù߻Ϳú‹ª*­¿˜1ãëA¢¶™Þ#=âR{l¶éÁ¾g>è5ß k¾vÏ^E|íJ¢XS³Lÿ ¾—¥ˆ(\ŒŠG;.zéÊZ¼ûœ@¡ôrµ=K̓lã®”è*³VYîžЂ?7˜å”ªöix3í±Š9c—kb19a-µLoÂHÂïˆá'LÃ?À³¯±sUJ7uf‚)Y•#M$G¶±#ÚJŠÞøñç"E:*5í\ w^ÿ=YЩ»€9Ÿ‡Ï7`Ô®áEÏùì_ûW-|ñ)Èu£w–Âûš¯¬jŸ}Ê·ÚO·'¹Tãˆÿ¶7À+bJôUèPÁ¶Quê†5¦}9w0ðR2§.A¸ç>%%ÌÉ´çÄ®•Š, ¢S±“†õΆ¼¤¹®*pµÎ•ÇD×v[!`O"ª6wV±Çî|ËT]K³ó‚Í6ÈР$#In}' ­?_P-è³§€ÿ‘VİËX‚€HE P#ØphÎ WïûYôLkß±’`«S«…ëQ‹æâ)õòÚã¡‚ô0éZT„Ô• )29•ŒIÆ‘•mâƒòÊà(<£ÜmZS&ýMFQ‚–×<ùø0^-fÊQMŠeßÀIç€"ôãv¿ücdw@‰%±m.*²YŸ‚@AºØåµ¸dMá C UÊ;ÖÁÿˆÐÝw¡0¶Ê¸3 Ò¸R³HÛU,ÂDá¹LÏ0ø5* ŠÒ>Å‘ÓW{#|°0Þ†^¨ˆ’Þ¼M¹$£L¥cÉ{æÝZtAI7qtßýWrKþ#îÅѸÂe‹Î9›¡úɆ•˜U$F¹®ƒcÒÉŸ9g¡§n÷š:¨]Åü )¾@ÙlShš¹ô­ŠêÚÒ)%kµ|üq.å© ßo.°~YŒí¡HÉ ˜@õxiDµ[R6©Äƒ¥*k¹…|Èwrj}uøäCŸÕºÍr ±h¸#|õºVð#9_åÍc›OZÈAßîS]üSNéê+ÓšC6€Ù= ƒadÁÇÑAý/dh Ýñª4“³-•–èª=Ùb·mÆÀ Ì[ôíâóЊx¨(À lw“BáüÃK.çŸÃŸZÛö¸ï°Î¾s ˆdÚŠwÅŒ)ŒÚˆxWY0øß­­kƒú~Dèa×c)‘7F‰JìqžSq$ê H?1™¦DØö•Ú¹_Í{¶è2,Z޼NjÉ\~ïgwa²#ÞŠô'¨Ó—²È¸<ø®•!WÁj¢l*lQ ß5Mpe²¿‡Ø "”ÝFÒìt‡×Ÿ¥rŒRvË2Ô‡4'¾´n'ón€Ða‰ªœ œIÜ+Nw»Õ™ÀÔgË™8Øv’š.]àˆÆ¹|øV¸8ל¡Ø+1*ú¦¶µ«Û @߯´ã!°ïŸ!­Áö¨ÍBÚܶj˜sHT’½—6+)ÿÁoí\ò¡ 6®©§2ÀþµÖ‰ËŒâòæþïõÌ„–9©ÞÊ'£uºÇ—rÊ»†^°¨Û˜Q+)+šÒÌF¯R€H×vÄ¥èf>œ{+«%sâÄ2¶•WÑ5É-¨Hã‹ÙMÑH,SÕÁbT}‰É£}&VÁô’º7PŽþ6¹IyC¾¡ŒCÍärÊv]šP<0Æè˜Ê ,/MÜlìŸ~œöÞ†nnº>V]x/E(VóL a¼ŒÅ¼™A3àÄÇsÀœ]þ]§ù¦å{Nxw¡ÆÖ£ÍÊs+­éýI–¸'˜\ûë$làæ¤Í%æ6áõ§ä:l9Ã4\œ0Q»³| Ç-ñ?BXânÂC#ÕžkAg>ƒý{U0üøngˆòz&'—Þ¦éÃ$IúÇ{«Ÿ¢àÍý í„ãÿwøK¦a³’ 2ç'!Ûé«É ¶¢”7%qéºé:i¢®»UE|5ÈÏÚó5ÿFB4Ô@ÑĶ  `‹býY é Ïß’ùŽç‹¦UV"øŽÛ>²¦â³±%íóMÑf½DÉöÀÅÕ¨镆J}1ÊNÁâÐXcí™j3ô†ª¯?0ó¿U1ëÿ"'/ÃY”påVƯɽëèç7ï1ŠÝìåE yq IÉ1äÙeo=܆0f:%¸¯ØØ\SoZêý yZ+m™²‚Š?cÙk¡Ùÿzá)Eå?gs?Ëfq|dZH8ÉÈ)mþ±k µj.€¹¾rA]Ëgøl‰/ªèdÒÛ¡#Cê{ePHNÀ*-nnV4GþÒá"=ñž_æö„¨RÄÒïHß§Ü:î|G)ŠÞ­bÆØ2Ëw+Õ3KYGVj7Ü?ŽHÈxÓXo” šÝ. ¨¾ýÖR^™ôq-0V(¬FŒòcÊ1-œéŠ!dV–_Q¯ûjÞøÿn®`"X]#άY¶ÍîãÇä.9ñŠËrãÖCF å¤q /C–µüå7ç“– …‚aéÖ¯ö ÜðÖ†ñÇqÖ_Üdd£neí "âÐ( †ó€ï,Dv¡_ó1‡ÁÀiŠ` ³üÆJEÕ÷Çu ßïe÷Â)ÄZÃz¨ˆm ‚Zɳµ½n¡`g(Ú7;€ÿË_‚”}Å¿(rG8b¬ÏoÌtnV¤D§Ê0x?¦+Ëe*ÿ|¨[·ÝŠ~êï¯îñ“ ÐïØ‚ŠÛ^,ÍxëŸ/Þq$¾„p¾O #é#²UēѥwžœRáU’|5Çò>=¹¹ã…ßgB}¨!±ùÕÛ7{@ÁÜKùk³Þ2èkÎ&Þ䳨H·Vw¥~¾×}ýk³ —æù"ƒEàë"öHg¼éez_fªùP.Øg=²Áæº@ú’Kç€Ñ)¦2Tt²l<¥û¯·Åó…åÐ~ÁÞô)-hIDЏ^ÿ®Ç5MŠRýд+¼³óŽ·Ñ7( ©ƒðaq]ݾ°ˆQÜÛûÒè>ç–%[S~¹[‰Ï,ôq°)ÿR“«Aú}Ümgö•ûŠ-§«µLÍÏä+¡Óö4$¢›zãtÎý¯¦ü"«dXt NSØd±6Z{›$„ÇTz8ä‘'ž4œáç ÒÚ‹H/l¶­¤¿Ÿ?Uq07Û,^ÅÎî¿[âÞawí£üñôšÝ¤, 9šiax8‡ð­ƒ@‘ §'Z(oå„bõ¶ØX9V´cýš¡-Ôεˆ*j#/‘í_^ŽEH<Ö ò¤Ü“KÛ# Žåc‚À%7MHCH¡Åì™[-ïþ/¦ïº´2‰k 6Ä¿vëm`‰Æ™Qhõ\üc¡—"A›JnLw“P½î:¸ìÃ^ï/ó“¥ as týS»ikÎ`Ñ…ß<Éä–òÖ<˜/0k,b9€Ù#$À>‘Õ¬XÎõ ½óÜáè5#Ϩ|qzK¤µê´p@‘<Ñý:Siè(à! ÝÖ^"ÄÉ@dÔØû^´á¸ ¦¾fãŸExÆF£uÞSk’}£kI¾dŸ¬w°¶/ 4ÃEò¨T¸¿D8©¼Xd²ß‡~ÊPCÛ%âB²ö¦níÙ^IŹÊb»kgD°Ò_.LØ <ò„7]sˆòµAÍ©› ^ÑxP?4©ô·\s9R„ ütà,õHAæùe5Aá+Óå§ãäY€†ã*hÌÖž5Å÷FŠLÏ„¿ÉlÖMÖb X×kù4¸4}:U!óüÕhdÿ•@uÖÇ([˯BÝwmÂ_Ù*5èAYÜ3üÏô¨5sçE§¬AVF3ÀʾO¹²cm #T5Žö–•ä­ŠÅnÌš»ÓX›ô´ÎM~†D†ePÌåo·PWá˜ýŒ…öFïùRY¯…ˆÐæ4Îh=8—Oy‡êÏÞ@ó#}=…oÉA=ù™¬þ+Z×ËW‘H2ò/k<¶ŒjÃæk8ˆ eJ„{ánÜJ€²Êó ŒK­Ò­kð·9å¼çÀ§Î³×Fÿ„ª}ÀÁ°Â®ŽA ÏŒY¶=„²UÁ¿¼9h0àxøiôn? B§ÜëH¿™ë®Ý#’O€ÿþx§xéÊÖC+½¤Ñ‹"ÂyfÂì·ä³ÄÒiQ€¶IÌé5}d½.m)aŒ˜ >àGYž óK5Ìr^ܵ.ÌÐ&¥ìEý,fèµ*Y%3ÚဒŒÞäbÝYN·;6Ž›>Å;2ƒ[åehŽqÜ@F$yÖRôiñå†DT¡‡!ª°PGèWN­C{ÐC®qõ"VЧ•Þ€O ’àŽ&µÍdýǸv˜Zò§]góÁ¤”r~?ì…S£¤zÞAŽ~LÅLáË«„ÝJ~³èoËêÂú“zãÇ4@«#.ÇÀTÍE>3¨¶?µ=à@*8X#8gQ ®c~qòF4{Á":~F(FÖ€ÈþyJÏ„¯q6(´0õ|ñÐG‹Ë(Šd&ZèUMƒ2Fy3ºº(aBNBëáA‘àÀ*IWI\ol|õ°z¬J ÑÓ€v.21Ê?´ Õ>­¥ÊL½TC7ÍŒ›û$aX{VêÐÓ(Ä1É7$¸&^îYË„ PU‘ûf›?}¯Áš* ;g²`Wò32x z…;butëWçb gt l-$n7=FMAÉ#Qî9ÞÖØµaLV¤¦Ý ûW˜ OkP¢y7 m!€YO“ˆLˆaûOÀm°¬£½ñ–@ \YúáY…0µVü#–XŸ^HÍÓgÉ×êz„-òc޵h $ ŒºÒšåÞÎƇ‡:5¹»š|wÒg}2äž=‚â€íçÄðâ ¶FRå5“(½2Ðz°– g ^ûyÉ|h–¿“Â÷1¼‡$ÐY,à0V¤ó °ú™È^x\Ήð±!Ï߸Û?[¿ÒY§ÉqÀ"rë?ˆeÀ­¬…Šc‹{¤D@eU‰•é_<U`ý/×qs>'ô±gËüÕl‚›],xVU¿K••"mBµ×:J«–ØTà6÷¤ Ø/µÉ…gwîo¹½@—@*¥”ªWËüDò9;xMÜ^¡–¹òxNs¶‹ýeå¡èpÑGpo‡e[TÂÃL'Cs.º{Ø ¹$èœÖRZ94 ¥5Ç5ƒ')гÖå常s?ûx†šÓ²vWDúÛ|ãm7Þ$–ç©p‚ÌØÙ=ZÓ«Èlî7" Éÿ™!X'á‘Àj–³eRFq—…˜T2· ôÖâ@õÖØ© ”’_ÖÇÍD´¦;s÷!T>'\änoæ4>›3KÈbó®;ø³8§¹ÙŽ‚Í>•,R ?ÓçYÛ>^Xj«a¿gÉõ f«ÈH¹+PŽÙÖ$fпÌÁI¸Ó É ñrû›t±ø \êr ulàä½h•ްg4-‚'¿¹¿cS¡Ö챋~Î.=ýÒ3.Qø4h’H5ß¼É?ûïÔ;2ÞÐ ®DÂ,³³hyC%à˜·dH¹† dª “à–qÛ>žc°o5ɼY3œúI~™ +øLV“ù?RåÑ).©¬]½0øgøÛ›Ê°}/h(1ÚZá+;—ðœ{­ï>½ÓpY„òè àû×=J½¯+Ò5šoùøbM± f±­I{H^½ «¨©Ú/ÐŒýnm·ê¦= Fg0L¦uZ$3?Œ#wCºó(ÞuÄ»A|ëzãj½° ˱wŽø°BÌ<†.¤`&¨ßÕÞU.ܾ[ñ ZMÞc†öZ§ƒ$ÌÞï¾]¸…ý #ðÆ$ZM\Ú5ýqs3Í6›Ý“>þÂë¯ÒKéL´•‡$“cièíVúËÈ¿5¸Jæ4œj‘¶a‡1"¡ àw.i›ÀJeŠT†Ý‰•;@ ™Í[P‹k@T :wv´*;ㄪur•} ž$J»äÄù¥¹‘í¼ÈLè+°N {QÆ¡äY¼†šþêg¶)‘,í —xVOô¦öri²´ÄXcšÖ‹ùfÑbyZö|g¢ûƯ»Ï5}f!¾£‰Aþ˜¨r¯T…j¶bÿ-ÅýÏXj.äè¸ì0§E¬kWÁ3]×(û¥øfÑ¿1]Èm–Òºè‘ì:›Åu&z_9ºÖž!ÅW²øÊ í]~sæç&Gõvä‹a= ~L3°Ñ®ÚˆEó½FYJ‘‰Hf cÂ'ðžÔ„ÃŽì:µ“\§oÔfU²-Õi½hÌ€wÅ@+Ì_<•[…雾;?ÿ¶¿ÜÍ/{…ãâÝ÷ì`%øÊ„#-ĸÈ{¾+;W~ªáåqaÂÊ—"|3îÞ©8žr«¶Ö`ýÿdÏ Ñ°ÃF5ŒìKŽ4âåé,Êqzq¬°…vwVÇŠc„D;N»3¬çF eW­ãÿç´æ¡{j4ôèHŠ«sÿøp2ãÅûöü0x4œè‚ÖÆ]K!Á †„mõ­ýXƒ±A6Puäà !Êv/«UÓ¤ö”é  7èMYv®ÝHùŒp84zü•¸gè? Ë© ,ZÍZŒ¹}¸P{–°s‰•S”cñ¹:“1V]ã`Tà Q2ÔÚ%BHüજÁr"µŽÆ¦[”9öÆ×@QIè5Ò`•f62éæ7kÈÜ$N &tfUƒÅ\Š˜ï¿È©Ó)>A\ÖϽØ,¥Ýc×AÅT6˜ÔâÆ['®PÇûµjª³Øëž"‘ó¹WÞ¥=‡4èm÷|çïî::áuwQJØ](,öSdež!OÙï‚Ëj•·;‰Ûm¡ @¾ ŸZN/&ë\Q ÛL?$Q麢ÕxB¼æÙ]¤‘C+TPd¶‡ÉœWô}ð€9CµPâ.qªEÿqpâÖ:ÎβzP-ä)é=úþg«˜1ì*‰òŠËx¯sYP·n ¢ž4ó|ë– o ¦Sù­z>ü˜ÛÇeì|0åÓNÆØ%÷%ôx0Dˆ­Ã\?VNYò)Z007&ðÿ0QÿÓ¼PÅÉRÄò2”ÖKû¿‡¨è騋ƒˆ·Œö„>l¢/>ùa?Jfd°‡œ{§µ øë&T©+“ ’^Ø3ò$#Y` }NTi$´OIˆ Ý÷xŽksvˆ$…½ ke¼«¥¨tÄâËÅ»­è¬;=‰kHæÚªŸØ¾ÊÊ™µWÊiÝÂÈÒÕÞÛÚ„¼²çÕHÄšï „¼¨¡MÞéƒå¾ ¢\ƤK é”;ÇÑ zyv÷M 'åװɃ{”ähß <|n”G#ŒgôñQ‘Z¼˜&Ð_ž«IÐÁ®ÿÈw¸¨œ@cË%ØpªûÓñYs·» zI}½A¸`mì{O%R/»ED®óF¦~¸™ ZÐVùŒ/ŒP"Á‚‹kœé ʺdxCŠæ˜oD>ÉÉU~ޱH8תÇÍÍÚy9Çgúóc¾,m}|á¨Ê‹%ïb %÷hJ©:Ž$ƒ+bOÝ-}áÑÑ©Ì|o/·hy¹!Àûz5Ì2õ}€\@H<ïµ½Š“—ñÌölj›OÂæíO}†LœŽ lŒ¸{Ìc¾Dü~ÚÚ,m—dµå ˆá½ŸÍœíÄ‘pFÙm@ý‚bîŒPq†k,ûIÞÝ·Žâ/'Ëä#|Ô˜,ò'ˆäXÏ$pŸ9’€ˆ}ÛDÚï×F^Ò ¤£–l‘hÛWjÐ"Ño¯™-B<êÈmŸ“ƾÝÖÿGƒÕÎ^‹»ÜŽ-³•¯1äпÀ®twC•¨¯J„Gù['f>¾³?º›YoBlðëÞÕ^ç6£¶qnoùµˆÁd·Òÿ˜ØHg¸ Ál$v~×ÊÙ1 µiSd¯ÅF(¢µë¬Rn‘㊻l:üìZrUf:Sš‡$ó½øu k¢’aòAoÔ˱C,6¹Óu.aýá1M&âuÀý£É<ð·ÞÑøa=[1Ø›”rs^ §¸–h'›÷P¥I’Rº{u–ù_œ½Å P¢Òä¥ù>UÎiMh¦ŠÝþ9e €AñÈÂÿš¾;㮟øw—ÂXÈD”ø (1œ¤I,ÆBßAXß§+Ð@¨ªÐ•õO v †$]8v{my¶U3}n>ÉÄCºP\ɪþÃhÛë&hgŸyð• Åê¦RÀ¦À‘°CœçÄyMmßxμ4äùûD}Îà¤gŽW–jâU³@ ¾òwŽFî’ÆD,ÿÏÁÂyø°Žø%žÊ‹/ € #-ŠôI4ãš9*Âé)øÿ Ž!ÍQõÀ›tj|ó¶ý ¦ÖÑ8$4#ªi&7Ö‹¹&Û™ÂdòpÅT… qT|óÕ×Òµ2é®w eJËá.Ü…³Aër{t•_ëKÏ÷ÆÎùÚÛÃõדu’ŸÒS8±ÿ® Iº ?Âö‘CÂ4;>t½2â™à^š¡R“еó.zsIô]ÔÏwóç ]a¤H 9GéÙª?7%ÉÕ!Æ_ñ|àB¶c·žE ¹ÈÓK¡6E'„žˆï{_ 3ª¯ŒŽL¶sܨÿK¾¯'þµV…„¤Õ°ÿ.2ì åg^Ë|¡ˆ‰¼/¥ƒé§Æçy¥ü¶o £¹ÙõnTæòq•9£fÛ$oÆ1„ ÌÄÙ§š]úþ"I õ¸ã-«L Ô¦¹×àR½Fᯯü •"ôµ*f_•!cðÑâÁzÎ%ã çWq­Ì#ÿ/}ÿÐÕt,:ÁÙëb0FT¹JãFŒÝ¾ìiæZ¾`(PëŸJËxq—;*bÈŠVÌMiæÆ±+ûòˆK!wâµs1äL3YwÃàd~„)™&Œ=Æ¿4u¾‰“ºâßàkÿ£]ÚïÚ„žôÍõØ%f¹˜U?ÓÁ @/—ƾ¾a:Ôofú‰ëøÄEVýƒÒO'_oßÈQ‹DæQ±A?t„ráï§²7ÈyÝ©56¾¼»Öb„±Oà!Â×ûQŒá "—¬^¼’Ya"ÅûH}ú7o`£Yë@‰VgSB;ð}ݨEO"w3s V?œªAùzsCó†|eqž“£Òâà8§¥ì7®‹2:ƪèZ‘]`šÀÜÁÀ‡C/ uÑ©xº2uÖæÍr#ægÕU‡Õ½­¦Î<£¢ð8Ž[·ØJ6PÀH_Aä°¯Y8|ˆtáYa†ÕËKñTÙG=ÞõGòK*( oðÐ ×ÌÙYaÐGîàp­|ïw¶¢[“ã¹ÓåðB펊·–³Ž– uŸƒfè0DgÔ$°‹kºD’¼mÉyÑÇÑÈŸ¡šYhìN½B*ÊîIºEcϲ­^ç’â:ß©ÐBÒþx·G¢U,xÐ`Ÿ‰µâ{é‚Ù'EbÕJÓ´¿ƒ7‚qhÒ8ÔOU6ìºã%ÜîzVcëíÔŸºiMý©B í6?KÅÄ=hF¦úŠ00NxçqhàW˜zì *ø½W¯’º”¢×£ÔUMd@7Ü6ç¹<ù šô^ýS¤dîêû¶€N]±|€¢cqÎî°y ­Hú05Yh¡p£Òórµ{ÇeÇ‚a{ˆt‰–Æ–a³ªˆ¦ZõáP˜Í3Š=Ê~é6ñ0o°ÄgÀ=Á»Å+áφx£,O'‹Z/{šþî\‡ uc[<Æ&gÙÈYúT)Ãb ×¹.¦&ÉNëc”!-tŸ{Q9UªŽ¦Ö"v\Â^6]⺠ZÏAó„z l¡{û3k0Ú㨗©‘!è1OZB2¯VX̼æÏ"\SÌʇÕfùlú– 1Au‚n_{•ùY–š5R©lFû*.Ið Ëáe$À'µàìò”hO3Amã»àKîÔ`y¹ù–ià8 ·ÚwBƒCÖŸS <®œ—މŒâa?«Ü×3[¤.ÀGό«àyØb ¯¥¤I¦É¹ÃÏT´–Am—Ém«øAÈ_î·Ÿ&1-Ñÿ‰LÉ?Y|Q³) ÎГ˜"Kºé ›²ý &†ssû½Àk›v´ØÈÃïh΂/Ù ¹é õè™àGIÚî’'…“†t°ãÓGhH‹3§ç–ï]f@ÿ%£“¡Œ rÔw–·F¯kÍG\¡gšŒŠGšßn½Yœ”du¾\â ¤§—”¢Ÿ‹™L+lcªB4 ˜ÿÉ?£ÀˬûÒð‰ÝœqúÚ¨Ò6þT}¸hà–Á«Êmt{õCl½ün7ì›6?pjäøÝø' àdƒÐ¾åüD#_XÈ¡©m«¾UÞa4f¯èTZô†M¥{[úOY.9}$øf,ºžÈj µ‡‰+& ²ÂBs@ö˜5¦ÿÌ>+• ´t²KìmW†bq0^u?èG[ ”µÛ ‹©ÁoŽöúØÊ®|WFšõžüØæHÒr¤+V@á‘©txü@ï-§œè5ÒZŸàEoüy)eßEð§U ÛìÃ|U¸]öÃÍÒÚm‘=6Íß7c±"§ä¥{Åßì8lcîú_ŸœÃïèÃflÒ•£UÙyÝ뤘lf¡emÁGpâ^˜í‚tZ[ö*¢ügq²üª" •ñ¤Ôå±Ù3(ê5†£<½‹8ØO·h‰­¶Å$¶Ÿ”§xÀ sMŸ+£&¾K´¯”Š^9÷RÿÕ mò+ XB äbˆŸ/“?ÿ¦‘v*kM¸•DEûï6UjÉ2s@ÃKÆ0êÂþdüdŠû˜0øä1>´O?\ãxHÛà¿¥5A‚j‹±N»‡'›‚‡LçvÚ\Ÿ?Uk8AËzË7¯I5ûŸš â÷ôZwÉLž„†b\ö«{Ì“èS;^°aœrq†JWCgÆïKÑüÆäfŒ©xë {xʉ2`]ayæ…¼í™O„£QÇC~ÍÆŒ5QQtÑ|¸(qºuYt„(ô]pà•Ed,Cò­ ³Æ8$š¸N\ñ°öQÑ™A–„Mûè/žJyõ& ^¬Q)øS•“ᚣ¼Täå4IK[ª…Á5åÒ· î;?åëÆd-D”쇶è¾kYqÄòOoÁ霿¾ŽšXö“[/=—½ý­‹Ž“ÏV…ÏÇÌ”¿<ô¼rÂq;†™Wýé2¾Ä£q{q0#;\:s[¯T<9éïKäçå«iÊc]+UØ—jEZçÕb¤´ÃßG…´Áµ“ÿý‹0.?O5VœϾžP#ñ(xíTÖMWzÏT£Œ?Å3Ê=‚’® 5·7tK%z´³ùk̺F1‘ œ = ðBÁ«Ò­G{ ’R´xý…¸•ü-ý¢{Ï7tE­<«tK {ÌOÏŒK¸Ä_ÖþÓrÿ³ †(£±éçBhi`¬dó ?½„¢z+ž~ö/]hD™EÒh/Ð@çjG6æâã·Ëb_Ü2WôG"ÑV½Ã¬»¿è™V¦˜«þA²Í™sVOèkÙØÆÔBÂjÜ †KmpfŒœ¨œü@ítƒýÑáåR¨±èG‡ /Ô,'Äi§éÑv³®e@gU&Òô:'n¤3 KkÙaà:&Ë3a]Ê}›½LO?~4Ý4÷` 'kH6™O£#24^à‹±ÌU8§n/ný».ªA„0‰|DüTÏ© «ªYv@ 3à‘¶+mò µÛìOÏ¢º¿ÖB: ©Ã21y¥¡°Oá‹õfº\áìj<XÑÖǶ.J#@ĆZY¯oÞí7µ[;Kî;Nx­C@0åFk¾»5÷PÐ5Þî•` ýÛÜXaŠö4'ä„ÖQÄ?Ê%§iW‚Yx>(ÇÓ˜ ‰ÕPpb„G|ÿ)$‘ .ä{¸É2PäšÞ)–§‡¢P[­ÐY¯4h‰¥³ªA\–­pËø:Úse¼ù1hHm®‹È9£Áá6®o._¥o"%ªá¨Nˆ˜Kˆæ:šG£ø1<ðsß·Þ):À³¼!N¾(Ø< L42aЇ8RÝU:o‡‚â/AñçÄOË¡nÚƒÙ#}©åÞòd‡’Æg­Dö“ÚËñˆ‡z#«í'èÙlt˜}B1nþaÏâƒÓ„1B¡«íØQßéÝ|îùtMÄþmÁî2cÉR LÏ®œ{\ÿöOZúù xK­ †“Õ•®[¹ÓI5N|¢'¼[ìyšdkY)؉jjÉFOàß%»®_N¸þDRØ^E(ºþÒ#Ù;LB%Fõ“™jr<áÜGKPDluÏÃŒNµ,<;•º$êáÏç2Y‘™×QU,Úäì¶aÃø aŸ–ÞÚÞcTÑ´\¡ìäS|Á€øžѬ£?åÎ8Ù÷ÏÐ|êx ­ÊéçÝ EÞYzäÚúæÏ"ðÅ^é¡hQÂY>ËsªY8ÊÈwóRùAÁ˜²„Ê(tYÀï·Í¶€|¿¼wâ’ïCkƒ_³¿ˆô_Ù°¤#Üv²‰ Áb0•¯# ¹z(26§…ß²óà®`,Ÿ8àlCUÎ4íZ–ðtÆTiO¾MžÞ“ˆSp¹§}ŒÍ¢NB3Ç%‰†)삪¬õ«ÔÿpåŸ"€ pö£’˜B>Ÿ·f 9¼ê±ß­z|‘R²ù„-h^˜ØçùOšc>¼ÿçËôE‘å9¸ Г´êém%'ðbi–U-ʇw éƒâÑãfA™Dåi›(#$ûVŒuŸ·aò ’°ÉcöÙÿ¿ÑJšoN7ºÒr3Õ`CV¹B%‚œ-¦ˆ röáF¨uãùüØOd4Z å¦Áxï`(V¶ÎÇ.@±R´vß9%x3 ÓŸÄu¡WH2=K_€ ÁKƒ,˜Ð/°Þ9 Î#$ìz\¹2LV»d«à·ó뎜V" WrׯàÿÂè‹ëqºIêrh¶Póg ¾Áð‹=&M—ñÓEàù<ó›E”‘Ü•Ú@Å+õ6B!ð2¹¤B`~×ìe謩pŒk×Û o²Æ”©(¿×£YüI Ÿ‡÷PØáßÃ[$^ ~Z‡‰i|/È$åßîO¡ù³£îÕ£”¤½³Rói/d*‡Î£¹m{ЕOw 4É}‹Ä}ûq¹2dH¥²üîVw~Ô¢ (óŠM¾(HÅо0@X¼$¿«À ¡(#7ÆFt÷%Ðe5õ ~isuZŠ'¡9äjÙƒ¬ÿ¢PF!3جb¶³zW7ã¹CÒ¹è­zsȱ•4lº¼xŠçÞįÏËýÃ4U^-_7q~?T±¯áÖRÒƒÄ=ôȰƕU¾_c¡o½šÃ%;NÌß–å.Uœ5HhתG…l˜F!ÀãíTÑ cÑ^¦|-.9q^/Œð+Ðq3! „¼º¯ÌÎI·ˆà GÜäýgÈxùŠFÔ3Í™ü϶%Wžê¾9HÇfΦ¢_£¦“œYØÀ>†Ã–øSؾسT› =ÓµÊ|ÚJŠžL<æ„[þï¿M¢<6N¢«,·Ñø=3îÿ:9ÈmïäÜ'ÛGv£-9@1àɯ˜¬mm¦Ò"Ü3ÜÇ–Z³’7ìáP¾U§ˆàGûtƒ~ÄÌ›õkÅîGŒºV´Ù7;PZ“úãöàäÄ‘¦§!u|Iôà–ÍÕ…ˆçÉDaÙ¾tÕ¯ÓÁuÓ·î´Ðów„•xÀÄ´À“®’›úGegé}¡9uÔ SÎ)Ò6¸ ìŠW…Ñ#UþF¹ RcÇîeðc¬ö¿´"Ò8Ô†ˆ}ŸŽ‰®ÆÀ¬t"U0gC×™r+twÉxh8+À\ïJö%½h6Ó)hLJàG°så´Ü‰ú94D:ak^|ÅÞ®ð›71“·[»Mâe푦üöXàDÓž‹cÙ»O ôJ®ÿUU°ûîƒyä)ºxÿfL–V*쇓ÇðÃ×Ùj1æ¿z²pÇ9¹+††1¹}Ë­¡å8Õ; õ HÛ>m›þK-ƒ|D¸MwáOfF˜ãanZjlèØ‚> šK‡†n;ÞcçXp£#ƒc'ÌTˆAö|Å‹ºþV"©Žç Î=I$A#§>”Ë2f™ð«Áò>‡XÑWž ‹}›] žöû„‡‡¬ßpÇ_†ÕåÈ'R9iªÍÀ€TïÞNÑ…B.ÌF°²\rýyb‘ðÃ#\Bc2n=eEïCà#ëp_-ý ¦Êð~‰>¿’¢ -ùj“£´ñÎÆõI„þ +B“y#Lpú‘/ûÄÚ0yÈz×:ÄJųM˜è i4“cw…!ÔQ«yOÒ~®i_9D¬ì±pFŽ0Z:Ñ÷q!lƒGQøõyêvâ&åw5 ÌS@й*òc˜mÙö¨*–ˆ Y¾„£ïtLCHƒ™ip;N±¹õ¹$«$ïïë†K³¯]^|Ä8bH¨ÆA óSçg”÷Ó9“!m÷Á ‰ýDTÊÅ@ ‡Byq•–ÕÉ#gÈ"t„¯b£VsŸ‹¸q}ûȹí×»õ›}H5‰¾í# i¦P©Ä?‚Ïw©fU RÇ` Íy¡2·¬P9',à× E/¾«Þê•æ7ž~ÚÒ7f$Kþs²ÑAw±Štt Uf`Š/±þO€Y´¿CUVolu¦ã Ø—Pߎn»“0Ù™E=×dÞòÓRÖSfÀ& 6ÕäªÈdY#"VvÜ,ðRÁØßÚoÍîs¶~-c’Üù™J:eJÄ_Åmç÷r™Äá#cŸ§ãì[‰D†g+ä¶.Ðr¨Öv4Ø;¨‰©Ázüà™ÌþÚ¯óV.iËÔõVuõe&‹aµ™€®ÊÉ^u´Ó\á€##”>£:ëzú ^a7ÀÍX]÷É1'=s!ÀþÔ“PÔsÃ4Yí®«*èLJê]ž¼èf[”T ¿2Þ­q4: 6ÿš­ößþ ž ê”‚2”â…nöÈvïûöóÃA¸¡6¸+©€c‚ÔÐXßp-Çÿ2{·å™¥Lw\œañøÉ®¸É6Û Á¥{@л–(íÈ q›Þ(оª‚B‰‡ê:lW5^nVñ€Œ-$Öc‘Ø<4º‹K‹Jæ:H t­ö¸ ÞñºN~=fƒ§?tûCj˜$tV@'7“vx Ó÷IbªfWÒ+†¸W²^‹NÔ¶º©”-zy NrIOoy­É©-žó›ÜÕb &ë×`šç(Çú ÷¶pþÚ‚¯zLÀÚ6Të/µºKξ¥Á&E¶¼÷C÷DMäÅ%U…Z¯FQcë[3éóÑ%鎇R–Û¤-§k{ª£$Õvü.¬ d¼ÎERH@8œºgŸ~¿‰?ËþÁÜgkÕÖ,;_Å`¿ÖNn¢—#OSW3¥¡RÀ Ô¦‡ä â/ݾ_LpîSf>-£ötÂ8ªø÷:ðH‚î…¦‡˜&9=W‡<œVF)‚É ƒÑñˆ€»‹4ZôH êµÒøõê¼;6NhDDZÎÐo³÷‰$qS+dxé„j[°C)Çl¢ï=ö3Ê£ÇįvC÷¹V«¢Òt>òT‚‹KÁ³~~WR#ç ÷uÓ9lú‡©2 ÔÄ0Æš²:´üËÑz ÛB+[z¾è´}gŸ:Q, F««è rgîËPN'm‹„åë%Rä¡Íãsð™òdÅÖqWlýtãÇÂÍÚ¯j~æmÿ (ÈlÔOÑrd‡Aù$׬dÂ*jIþg"õ£¬^ë<\ÄoàØÄpÁZÑÏå‰(ä(E[>‰5ü™˜Ùx£‡‘s½IÃNð>ZÖØ«º¹°Í†>Ó`pÐm,ìÊÎ+‹-—%øÖú?ˆ€¿:Ò‚ít*$䘤h"¢ôÑ}p$æø,TÙy!µçgôÃOo²2g®H%XE|FɧóÑ7þÇŠe~„yÉÃ1)òt¶ä}MÉbÊ•{§š-Ö¬Brìüp\³s¯ò‘¥{aúP¾ÓË÷NÆ9,ÙB[ùÑàeë4„LqOi‰¸¹¬Zµ`X“cß}È9…VX¾cLNp[]vfض/˜%BuÍÇVA·÷áoĜܳŸR-3û¥@olU3V"»ñkè 9!-¥à3WµºšývUÊŸ8›~CŸ§0Reeæ‹ÙØ^ì­©8PŠ˜Ãÿ1…ÕÂ*rÔ)¬›ê¾^™¸>V|_” [YN vî„£Ø{?Žóò%r€xÜÏ#"‚ÿ|Ö i©–JSé#$xÄj9wÂS}TÕö`YWê+¯ŠÝaÏà O`Í þ¾'Œ}Õ«£‘…HA;?õ‚fM‚&7‰jOÛáÁ‰þ‘bï¦×+×i,“Ç”ÌZk[WºðpyäîRj#ã´ŸƒMhPÒ»á9…kL¼ì¸òï‰nC]Eòß?ÊãBºëŽ>̰t Nt·‚ THZ”A{.J‘Ý`ýš I ê´@}€ P·þГs‡ÆÇXÀ™ þ`ó=œšhXÐIú4ïš,þ¶Mk&JÚì$¿ Ù lU*~¾dN²à‚ÃÍ&f A ÙšÀ¶ •–±ð6——KVÛ \ƒàl¦©êÌøë~줴g…eØoTôö¦î+ñlk„€$¨%ôø™cÙÙG&îŽç?$¯%üWlµ¬Ä¯ŠF“Kú‚ [ø´©µ¶µ¸@ä‡Ú 4ˆe<>'­´jy ·nº<¨Ú9{ÅMäþÊ2ehy T xZ!¿ëqˆG î_Á["çØ Tà4þ Z ­9di©.'7’A8Plàܘ‡»¤¹4ßO²ÑÈWQ]V×Ôç)еº”ÏÙihGÞv¤ ÏÏâ`Å4ñî;€‹oòd(îV{l²‘yê{Ä´«›ô2fOú—ù(Š’CÖ+]4†>PUà gÄè”]FXšÎ%#,ÄvÆü˜†QŒ:!³•¬w%ˆ²t¥_ú¹:ÿ·L^ä[;ÂYÅ~@Ôqà‡ZpdÝ®@é,1Ú2Wp¿SÛ×S:õ+/Ä%ÞbWBÐ=Cɇ˦fÕyŒ/ɨœ7I àå2áç€R}ûœ47:2Q©¶ÓpWÔÏ` ^d¯ žd»Œ¬\ñ^Ê⌱þ}I¥­}î†R9žòœGQ ã ÷¶|µ¦„ÜÊOý^µôAå„@}<+¯…½‹œJ.k¶§%錕c?U&kPR÷EU<ø¯J'.Ð!Ž2"óÇÕÔß§5C~K訸¼vþj;ü ÛâÂúÅOûªx7ôºV6`£þaTj}Òܵ–ô1_%«®¬µ’§ÓËŒÔ˽‚n]V ÞùòA`ë%f ÐÈÞÕ }Wrè6|¤ªkëOn­O¶O{|7Іª~¨áµOþ™;HÁ&º’„”ÀùžÛRÌKáUÜðå,ú¼`ßýS±…Av¡¤#b¢ïš)r±øf<‹8äñ¶òíyW§»é<슇ûBíÜmúøDë¨Ð9}¥'60\héÄi>wj§b vàý©Zµí~kJ¨¥¦wóçôK«¤ZÊy%¨IOm2®‹Yäq‹NÑU௮¸§˜*«„·+¢àãn£Žd;•ýlu?¦£Peˆù ÄÆ²!ßöšvQ‡b ¿û$Yκ0“’ÀzâÍWCc@ŠPŽõz£ Ø—ÀEbÛR¹ÞǬ§BHqàÀuj^æEAr{5ß$xã—ˆ¿$•ˆ˜ÔT‹ÇÓ²î"‘“–ö|Wë‹è¬N”cç(,RSMgŸUÓ3—AÞ¼íŒ5…U8ÊZ´XgôЄÊQuäÿOû™esQÜÿ\B”t~@Ý3kà±¹,øÔº¯Ö”•Ív;s=Á³¿½Þ¿8Q ˆNEÿc` gZ¤—-×Q85#zz(1ùôµl,“`œå>fÅ\ÖS–Ô^­žTJˆ`Œ’ VZ©(@3 äzGºãŽØuH¼öŒyöZµ®Nœ@#ZÖ0œuw¡óÌzs'>H𫧉îÓˆžU¥Bê…>5Mªzd©˜4NeÜWäžK= ÛÐHz'Ü P«gq¿R—Õ£A9—'ˆøßU;±¤{w?4êS:T/%—o4§Zp”G“ñt! }Ápp$27r^¿–Ò&!\¸è¬1 ™ZrðüDÑë¶¼ù<¿e£Úk°ò%ϯd;W쫬˜GñØ”ÓÌœa Û J¡µ„°0ÿ3­+Ú‡ã¥äyûñ5´0.¨Œî™Qb¬!_F‡GìØPÇyxj9Éó‡ŸçPó»ÖzýåXqå#˜ãq@aŠPS,>bpX9^4v…€ÌþN›íær_Vo+t¨ ébÕT ÖÒËb†3¤-ÁJ'ž\ßúR‚ôR”1}æG÷Y°¼éۤͻ‚F¦OaϬ{ÿ¤B}¶¹\ ËŽÙ{kñ$X°èÛøw-ey‡ùH½cIdŠ¡%PBx½Äö3쩨F¨¯O™—J« ÏΦAÏ —Âöx-:üg¸#Ð`^²§Ýy™ýÞ~Ð^٪Ą½.pùfçÂ…€Ùȹ”¶¦?.jÒÌ֘0ûÝ ;Þ[Š©¡&Zcj¿^ºÒ'çƒXdlïb†·Ô׌p ~oYâô-Êw‡‰Ñ~ºP%FEæc«ÿÄEèÜðXQˆ/;ddS4Ö¡ri̤(s†$¬s@œ ôÂÚN½^ ·oBjî8Ryõ¨ë}Xâ½sÍ@ºÒÙN~[dMΘ’ó¾d šgtmmm}õ}äÐ,.w¡|–á±¹*¸5‰þ/ƒŠ5l̘l{Ò}¡’S²fû@“`ýXÙß¶dEN+•™ ®õ!½1;¾'ê‘Ê·5ë,@êcᆛ¼(‘.Øø.X/w~Q[õ;¡ÄÅ{LSX¹:aÙCÆp±=däBw³€`1¸¸l>»EYzë̯NÞìŠC"=Í™jÒ‡¦éÈýn½0PPFüVR¤TbéÃ÷½˜ qƒ¯ùØä·çî¸î¦¼{„¡”[+Â&öáˆDmñEZ© û…Dê­:ƒúv 8{ŒV93mÃÂø$€•øMú{:¯]=s!Èóúâî´æPõígêÏØÄ£Ìÿ˜ãÞyôo{EÉŸ‚Ń6ò JÐÊ­ôè663ã8Ô0ýaæ@åˆ5*mBn vQ†<RFÄ^õÜž×É”Ú>§(79×%”Ƽ£½Õ¹¬îá”ÕŠã _)?–‚’Îñ=¼yVç[¿È'[è H}—É<ÚÚw¬e:Ø'°s^Ѩԯ`"#¶ÉÞ£="i!Âýsþ8€7íÎ$϶>V·Æ–¼–iOXÚ¤–Kó¦Û´âÜ’†R8^â·eÒÐÄiN[ +vfy ¬x>Èç"Egß½ ï'—M© 8Ã<ùèú“À„ç2䶦ìBµþÚ¸"7@ª¸maa¹“àµ6lˆs¼Cx‰ÒoTÜ`}ñ/‚r‚w²ÕÙ¾©Ëõn0Àƒ§žø‚hŠÚF&Ð .He±0tp9Ãù_!ª}=×4ueà/!oëø•ÏZ#àœƒ¹!L?Ywú# 7ºúÙ`ÿéÜbËq§w­o®ía¹¢L‰{T•÷;1ÊãٌŲ´™^KL¥ƒ×lN2«ãê½|t ¼¨JÐñWóÆT¡owèiŠr¢†àô?Øôòr}iR`öp\oÙæñÿF|r”eÃÓ¸0ˆãªö„£íÈÝ6$é–Ð<ø×Þku:©P»‘ÐÏà®T¥œ:Ø‘ÍØ‘‰Ü\÷{DC€$¿¼Ë”G£ï;H ¶pxˆÈ¤“ÃŒvq3UL%6æ¯.ç2póFÑmɱ  ýÁÏÍÉez™¼È±>A<÷›H5&5½š-6`J#Áø0©bZ¦°Cà5`çkP;¾{P(Y5þ¹58­éõÜö¬²°§!!Ö ;J.¨ƒ½³¦ä§G:öÖ)Wýx¿u^d­Óï¤ïš&'Œl½É€½p"Ø_ÒJð$¶‚M¡vt¹!÷6ßóKZ‘ónÑÝö³*JÅΦ­ ÜÓ]DÌr‚YóbÜ*ÆÕ 9Ìä•>A[ÜÍjHâ ×}¹);õw±eœ8ÀúŒó3ÈÅæî˜LhÒè*ªôè9âh$g³K&ŸR«¯>÷ªˆÇu·Î@åyM7®.PAÿÞ£Ð.èv;àž¡âxYh‡Wè4Ôr·_áp–ùY[@h,bÆx\$¶Øi(þͯ¶!Ô|yvë qõ‹8›|Ò*q0C»·P>êmüä•ÈFƒVéïÖF¦‹Ð(DëKÝDzŸ çªçtDÄ(œ¤KBf7Zˆß]Íñ€kœËü¸óIK©SÐ Ù”3Ó‹ëü££‹äyÒ*SÃTù§3ÚZšˆ§â˺´lXœEÂzí¿wlZ¥¥4]¿yªƒd#òR¦áÁ(˜‰Å0³ã)–úÊá`é©…IçJÅñ½Šì*P³{‡ÓŒ‚+"ƒèäååHÄ( F3ÛAˆdøn.LMï6‰œºŠç³4>[ ÐŽM×.Õ¥ž° ’Ÿ‡x/4Ò3"©Ýù1ÖÊöïÖé›iXv#‰añJzš¦øÏ kÄxX¡¶á]¡è°ñÃ_&‡DUì£V•"TVâhÒŸþá õÈã<Æà/Tìþà¯ã›×ÂÍÿp¬Ê^wŃ$¢ ÕV¶ç4¼ùMÀ#*=EBD(ñ»¯[Ò°¿+c˜õåó¥Š3Fw_ù¾J° qˆ zÆ‚À°;˜Î€#"¦Gn!ÄÊ Áxm.0.ZQ87àë+u<­gMöP2+u…šú‰šÑYìš×Òú*ÖšC5ÜG"âó¢48qK²5ú¸BÛT¾¬pô úOõUáŽ8`!Üê„—1´a^n!•iÒayª™Þ3Ú„:ÛQx89›Èn-vëã|1àYÛ¿? V±*èu5]Ó,é[:/|sÉ\JþŒC6ìg×rsâ´c00ÔÄÆ…Ä*Du×¢Í<Ì=y‚ý2€€ÓÉ©éÑ£aE¢¤8åÁ°ÚcÙMÙ8"Ï9:&þÓL$Ty»/d.=BqKØ«€/ëQÓ uÊâÔï¾']E£—ZHBm¸Ð.¹³¦—ŒÁüaÏΧýowõøF¨OBþ…IQ†B…gPs1Q–((ì:S”­1n¨,‡ÝC±5@ìp@ä#Òl³·GÝ?g0/ Ç"ÀQö/È S^øTYd¶(¨Óœù9¶f¨©Þ|xýˆ†DÁùb¢Ñ9ãBž*°%v2‘˜¸X³Ùà^FEÒqÓ„·Å¶=én"ý#®‹!¾•Í#Ǹ±ßYdâô‘<gN;võ§sئg°x‘.§G>z¡‘_ö¡4U+¿‘ß[œåœ('_ d˜»xŠð†Å4˜ªUŒ´+âG„neRýÐÆÈk) iÛ’#ø™à ­C}z­¶vaªäk¹^~*/ì¸ø? &Ê› ? jå—GMƒ-qzÇ6ô®OÿîÎBµ@Úf¾Hzé ÖÇÂVmËÉáiJ0M:8ÝÕð©õ®üþÏD‹ý,uã7Ê\04  èoçÌãÚ¡kE—|bÅò>Åêvù”õ‚/RØ!ˆ™Šsóß«á?{OUa ó§[Ž S•$¢K㥂ғ ôz5傺Á2Úß%À–-Ý<¬ˆa˜ê.!ñ‘â\äÇη+&¼HV±Ï¹¤® ÝÕ*?%yHpÒ-sÎå{Qâ+ H—ö-øbOõ¤flX“ø»Ùü•ìÔܳI¶Öƒêv놖µOuB5:¦ž0fûª7S)™Ó—a(h}E·;æ2!øÓÝâßæÈ¡Á**¶ËY5ð½ák·ºxËäBÙ51€Ðƒ«©ø#'»/ =ÛÎJ`ƈ¶“P¶¼òë]TÐÝú`C¼eS"“q—AnŠ ½Ô3ë¨*¾:έËtËU`ÀÈOÓ"å2ê ð/±Î€|%wpž$ýõ|®Ðo¤wŠê¨ñ•Ö" å}q/2³ˆ#ðæ"è¦{1—šÖýhÓ6ÆÖß~ýt§™7óe& Y-¤ ’?Lç*<†új´¥äqî{â©<Œñøz-™æ3[{§fG0‚¨s&ÒMvèV·ÿþ›’4Ýx‡ú“X`µKoõ¦$ákÅeíÿºñÞ3Žw8Lè]P+ŸMiõÇžÛ ®R¬¥ßŽ ð‰çÌðÊ*éãu¾Q–ü¢ß˜*¤ðl#rƒ„úlGbeŸ¯G¹s}5ZÛV˜“7=ŽíÆh§Hðk „¹UXÃC+ûz!×9 eX>'òo£ +|7€ Ô¥DÃPÀvåö‚ý¸kJýÎô{4hÇV<Àauf¡ðÍ1“‰$Ó#½ÿk€`€ïñçÃD¤àŸ^W `Ä-…`ÐhΦ…†´*p#õ™aÈòß”RL¹CLòüˆ©–kÒm­9¾ë ßôB}’æB:B Ë EÐ|ÇÀL^Æ æZj+as8_Æc1¾¯£vʱ>SøÒŽg‹$Šs÷ÛyAz¶Žµ¿V‘§‡Ç Ý¢N¯u<èÔœ%ÏÈšãP¡ o÷F¾Në£óÐÿýýeÙ;Eyºx¢mtôôuõŽuàÛ¼³ˆìÑ‹w9cÍùRôòN§ãŸ¦31fh¼3.夙EnEÑP¬ó `Q!o›)?«8Na;ð:L|½qïVØ$ÇMÛÎ7üçtYÑä¦Ð×”ËÂÔÉžÅhxª2í~É-DSjÕB&MúL€IQXß™4掃nçRÏÎ¥N±$b…V ¡FØÑRn*ΰƒ~-î`’kj #èa1·P5t/ûÃwPë¬5phܧ+Z³Åçò'p*4îC ÅÙçœÙ0Œ8“JyÙ‹…ì« &ùÜ0Ñ–LGnþË£·z”4‹Üê<ŒëäµT_b#)æf …¦œ˜C7H·€bªPÂFi=X5•2¬HäˆìLÁË:jbÓ{;YOBé¾§˜?ßÁ+׃V†hŽx>BÉÏn¾LÆ97wÇϽyGÓµŽ_vø@ˆ²jàx·é‡£â)M’9ýjí÷a|k¢zYêà°Þ¿Å©åÃgÕ„EtaÃ:ËR³ò F/¼Î3ÿ‹øUkF‰¯B7&ýæŠo4ñŒnÅÏËJ©*½F¹í‡a C÷r]ª^ò¼r,™c)¥´•ò¦`/ÝË>[P…ÇBMG(+iÇ,Nô @SÏíí1ÉRlOÇÕÑÞÃmëL‘•s“¬0ª™.xö¡,¸Ögd³³×]bÏß½ðÕÝÄ!éòÉÒÇ4,~˜„,^ÅGæÇ&œš¤ó@eGz@m' LÙölÞbÏ b8ô˜×ŒBÖ=[!Óàu»¾ÚdÕ›–ðëñ„íÒ0Åâr ÚX:Nÿªim|ÓyÖûw?ÒBÅx¦ûǰwËaªã Ð|Ÿi½HÒt;=pæ M{¸ˆc-¶ÜŸâ'U¨ÛxÖFñ¿”›Â…˜$”+EWñìè°¬iªrz¬-ýpoPû7ó:sÅ0%‚cûÄ«˜’yÀ+À¨2½S¨&ÏßÎ@׈(ú,—¢ ü íº€>Ù®»á—šç‰ÉÞí?ŽÎˆEÿyƒ0hh¬_4¸ÏèÏ7Š(€.¸ÞCßpú.á]׸‹± ãN¶'5oEc8­¤ÁjÍ€={ÝTB%ƒîá0d{ìK¬‹­?gÓÍÎá2KÊëÿàÝ›#¨Ÿ ÊÚd –¥W$!º`¹êÛ;Zä¨IÞÛ†o§£CðÄ®ü[UÐi­€ÏtO}ÍߨçÈc~¤b\¤”~¹uÉæ7~Ÿ´Ã{<ª‹ûÀrÇ9²Ž¼Zõ¢1ÎçŸnú™QÊ$kIˆyÏxv¶3eS/`Ã=Æk¿V/¯‰Ô²×Ø7hbó±iï+u/+8@w\0ÛMebgÔ^‘ÛÔž/D Ž[b7vÒÅ¢ ­.ˆe«™ûÊÔ’èct{Ý·³½f%!ü°¼j¼³Õù,^qÐ/vTHƒ»R˜ÂhOœ;…3ûC˜ÿ›Ã©9$áÇdÃ×ÊÌ0>霓¹Âr0~PS”ÿm0üÙs á,í‰ß‚‚ië+“ÚTÊ>Bu­i þb!ö¼Bß· ¦àDÉp ®;™¯‘í¦ -Wþ番×}Ÿ<8‘ð%ÿ¾Pl‰ ÌÇ©YŸ“Cg[_¿¼-y§b»!Pÿk ¾8ü2ƒu_ÙoB‚0¬¡Rêå3@`¤ ˜LDÚ¨fÄB{³~º%—ÉnÈur¼pºM¤epþü̆¡Q×|Œ*°Î‘vV®úñM¹è}=*ëì”ÚЉp;>'%µ‘FË™–Ø?žøá@=—‹Ëè!–­ˆ$ÔRðf*Í#ùV³"Ô’›”Á,Mìiú§\zñ€…3JqÃøfÉ'IÍìjk<Æê#úÂѹþá¾Ýp¼4†Ùšbg#Ä=ö%±jdÜpm¥r Ò6Q’å°whòUÍãé· »b‹N7”W—˜ÌAvÄS}ÅÌ[Ne™kÂP2éîí’¿Â~zT´uHÞ8·oš…Gºä¿ç‘B„žó£T¤¡w1*xÉ/ƒwR·¥¤+öEÿ%ú|&¤\ÐS9¯“v6= Eµ“Ê·]‹;Ðö¼Œ`?Âvñºr_h˜!³.dX´žJ„ŸBŒ˜ýùs˘t3½þÚŸßMÄj)Œƒ"*7á:DgÚämw¼=_îﻚƒ÷a<“äâ´°ˆ+W'V”I$Y.n‹Z}ÊáÚ̯ VƒÅ*ò‹B8bã=¹ÏL>ÎYkÞçBsŸÜ›Dôæ%ê¬äÚ)ä™vÃC@(L±«ZÀÑòÉgˆCèçb• Dþª»ÎZæ ‚¼ï<´‚sùðLU#­í7žQ….Ë#¯Ä>¥Å3‘TZg?ÈÚ—,ÍÝ¥Û”KîÖ– ¬M ÑİzÏúl$ÛÞ »6eZ¸ÑØ&¢¡Ê$ÿ1z‘Lù7 ¢sÈÐÁ¶£²«6tIh!ÁeW^ˆh…íÍ\ÎŽ_´êMp,ðjÌ$Hw ô"÷êÇÊ RµåʶW«˜-’½>k°m9j|æ‰_š‹l.âÇÏ{óQéÔŠ~$Uäª,ºê·Ûš‡Di™?VBNßÕmÿþì5_åç¨9ûÑÐQ§Û‹š¦½’‡ª~¿Ïh:hðò+°œ~§tÄ›;ÓæÜºšùº‘àL5óÌñ3‹›‡=Tç–ÎáF¹Y’V£¹INðˆ³€¢4‹gÞêp»#\¦Õš²ÿçó–Z‰ba­¥EZjªólà©P:,R л ǯ0È5ÆÒ,«a-ÁN„mbIH¿í߲͛ˆ‡££íüc(žÒ5« &þ >‘±4zÄlza}xí{Ñ´<%¨vßG ÓÁ’6×® «m‹«¶~U-«Õ±¹85c싘Ì̹Tóé­ô¡˜gä}ù•]ô÷bÞÎã¡éÓ.É㇢£Ú[ù¼ßá¡ çMãÙÏÑGî(ʼnºb¯ÔÚŒ{ÉÜ”™ýŸ¯dAÅ€^|h+:›S{ÐÒ_Úß‘FîË­£õ-'GCû>¼ú†n²F§¿èž~ZÕ,ÃÎÂ'¡!L€SÙ'·z!é?7µg/¨KA÷`Rò´¿ @=5<B™ˆÉ•°¸þàã„u«D‡²æ;‰†UÚâÆ<(Ê œÅT„@GÕhY¯H ‹“&_$ß÷áš}~˜¬S°GiEòÐM •BdÙ•EßSÇ€Ty|§ÀÙ Û%AF=aå·{_|Ë9îÑŸCisÍÕü"l,Ì’^!Üuî®SÑ{ˆcí·H3PX:q=oeŒûÝÐÁÕ5;à“?Ïó&-ݧwÈ¢ïÏÌ"˜ù”$ºÍÏpçëÁ3®çü‹VÎ-©£EmÔ.¦§/À'’‹Û`mJYµŠ°ªGl™Ñ’Ý?EîvÄ£¬8È3`"V‹ £²¼”ݵ²H Öi…©fµ­³T†æ=¤IŠØQj'0ÁQ:#ÉbPÔþW=Ûà /×È ·Ž8ìC‰"¢3 %•ÖA¤5€IøÂN÷@ÞþòûJr®þùÝQ]žC—Ššfw;ç|zKäk‚x„«áìÎÓxø€F@h éë+·1rãX·­·R34é5Ê<{“ #›Vš8¦mäéoIš¶nÅ2ØÕ£ì½=t ·Œ»žƒ!$kÇ8¢·–HLO¶l ­˜;÷(/«N­aõØpТ#‡ËwîZÙú/^M wÖÛôÉ{+@½0Ò`Ì8Äÿ=ãÌäÒ¿ê'€´& ÓÀ™Vüs‹ùo?¥ªÛt ÐÊvÚ{nÜå‚Þ dÖaÆÃ£hT¦Ô{ dôÎ4 }}Ú*Ú?Kˆ¦s–þ1Ë BCM8»\†+úê¹kMó,­Yß 8yXÌIzsýňKÕ)#eT ó¸cžµµ¦r‘—…PXrÛöÕ•ú‘]栛̈́"ýÚ!2´ÕèSåzøV=;ξï6‡ëz™S°ºðJ^¨s¾Õñõ¼±á¾T˜8Y:ƒ&£@T£šŠÇøq‰ÁqD°ý¼ºé{z“×M[Ì¥Fv8 œ³>®Áưxqƒƒ4#è± R9-9øYx¹GaÂäz¿3àð„ºûo ö¤ÎŸ)ålÛÂ.’å"§u¨tÇ›Ö ç~dqPA8AÄ;R{Ð41GÍZdûåw·…¨,t¸Ã(x ù¨Ÿ…JP²%´¿Ç.}‹ïÊ€ÖZ¸ÙÄäu "»Ð/’G?+öÒÞ¢†·6Å–m©<â£æÁ ã"ÀN‡ Ø|sâWü=j¨#VØ”ð¸z.,‹Ž æbåõ´ÜÇ1”+€!‚«Ü€¼>gßæ´t~—¸üñ!¹íÈçxAUéçÉBÿsD ž®Û•\–!ÊB®V㺪Ï4Ÿ±B!—¨F‹G°&Äî–OÚ‡0ÀA22‘‡ ΀ ±ó¢)³+Šü"À}õ:aö=V11( ¹üY^éŒ5lO>É}·ŸÔjlÉQe+Ñ{³3Z]–‘\]8¿UVŒH„ n”0ç@þÐ*d|³ U2FÔŽË™W‹ÏÝšÆ}/zè‰hàWÇz×yµ÷Úê}âù(ƒbëÉ~yLïJ`3›8hÓL3cPÞÝMÅ«]ÇJØ%óœ¾ Ïá¾ 9Š­ºAýÖ¯êlZ“ìs(º‹žÓÝÖUÎs0rµ>O91DM*4ês:ÃÈÜœÉËfx1×Ó˜Jë=6ÂÖ€Ê&m­š”‡À,C|6…¬ 'š#Óá†Ï¹eÁÚþÕ¯/`¡–ŒòU‰Õ™#MÉæi¯hÚÞ&Håkª©R¿¡Â/ i]íýJ{³ý½ø„bºÅöů€). YÒ ®¢º ôwÁ„”øLa¥¥ÉÖL…wÖêeƒ‰ŽÙ>"ý±å~:¨®ˆT—çy}ë7\©.®8™Y3ºj?cÛöÞ´«âÈ3€-8U÷•§'¯s³ücéáÒC³ÊH¼©d Ù'ËïG0]MôJkð=æC¢â2ŽöZ®.ºµ4ˆŸ• ’#@çMþ鉨š“jæ|B)·Ș¶2V¾`”.eFøÝì¡+ÿR ÏŸÆÝ¥ˆ©ôŠ2,ÅFÆpÕ˜r C5G­ß$P]÷Hv/!¹;,a 9º>͎Љ›-·ÿVˆ™_áƒÎ}ÛùLS¬dYàu˜!aòճƄ7ÂÆòg­­~ÆèQ”@µ¬Øy³¤ò­—’0ŸFú4xRR¨0–„Àö±ñ5I#~MOQ2Ô,î´Pu†F#(;øÓ:Šш”®÷®îëlAŽîBap¡ìÊnhCQÖhùˆK+Ï\¢?[Oâ{ RÜ((¹_æÐ¼¨)KM¢9h§". ¾[.aÙDbêddûQÁ).¢º!Ȫ„ :=ò“)ê1 XR´•k–÷°bø¢¨´g’VCÀ½åEgø%ïŽã¶qè!WÇßZ‰¥2{${Ȉí)°~Iñ®Á3çŒÚ«íQ-RBŒ%\«ÉÍSIÛŠN­H¿p=œ{Pÿ]2æzî;Ê„ÜäJ3 q7#ë5沸vmRWX«6íÊ&Ó…V§Í·JvU?w]?„4ÖÍq±d1 ,e%À:ä 1çDÝî[ÔâÆÖôÉ#QYÁŽ=¥k*àÆ´÷ö>ÏtµÛô—uòøÐîÐŽ—Ÿ3™KŠ‚·àô‡ >uo‹”ë~ çJ ¿þüðtpÈãô’¿Ü¾k\gO mêhïñ¢ø½Õ g•jXóy´}bmY­à¸5L¡rÁ> ÷8­z\z´<Õò—Äe¾m¡½Ú²°Xa=ú¸ÄFÔ¦J=ð{ª¥'_úWGMO4Yh¾°=`Á ~UÄòyø×'0:&”ŒOå¦À°T¨Ì>û GíûÑ’0‹úgZ‰&Ð c„äå,d§åS¼øMm&˜?o¾ÿÓ½^×dm£fíȹYûL"díMÐNíí [¸û- 62w£jÌç[•ý<'k¦ö‚­õ¬Eüß&ƒ7°Ë/èRrîV "ô ų0¤NdH€«As-oN ÅjoêàÛ´—ó0pW<=Ûùž"€Ïrt´#)+/%ÖBS™³üQû§pt{ŸCÆ3«éàu†e;oGþñº€†vI亴‹½bo?+È­’W†B*…IÇùy"«Œu¨å¬¾¾ð·R‘J¤ÄS´à•ñ>d_V³7Þxñí—‚;OnóÉXÂ’$P“0èþBµ<üž¸ºþ#*TQÄþ¹Y÷ÊÓ§s¤eõý+R…w5ü‰Ú÷*rDIŽÏಥ³»»gÚ³:fö5»HvózÉîP–AGFZðæwòÝÝ–'ŸËïh1ä;û­>ñ±¨&ˆ0(¯¸1€ãÇ Ë”?éYR1ÕA´N–KˆÃ#¤LJx»Gïñg¸ÏÎü(úÒÆÈõÔûA¯u¹³®ÛóYÆ8àyR‚劆1Ž‘K9ìh%Ê–iQÁ•ò*ßBïáóIò|_×¢:¬+eø$´ûs0ÖUï¡ïqÓ$û³ãuÒ’–l"WÞkVèªmO‰ôÍ èìDƒð΂ ÁÎb Ê~¢]& 5=òJð.n§ê€€Ñã¼Ê'ˆI¦¤a$GÈ9™~Hº¼ vOœõšç•\ý‡² o-x›,z/1e³=6³Õ@͘æúàY†B;uwj6A¶ÈH¦¤hx‚8Ýò6‰™‹u“&D²{G›A§Nâ´Ù™Î' hó­‘‚çîŸÀuÉmàX»x`ïàs•Iݘ-×¹-®—½R8›#P¦ß`¾Ö,Èšöç‹ú…¨æµèsú†ïz~ݹž:Â&›ü¸´Ê˜ã‰U%òˆ…œb1ß”¬YØTɈÿÏi‰±Ê™,êìïK›üÓ)Á† ¡Öœ"ª )‚4¹èeo$Js–ºÐÆPØïÿ!ñô±(›ZD÷¶ Oä±®ˆ:/Ãç…={ó 'XøL9“¨ÿ‚Fó¢õËC+J‘M""—„¶Bá€ü‚Ð^XŠt¯ÅœOSþÀšøÕªUƒËµzKÌF<þäj2é^ïÒf>zݰ±-×òÎûÔ©ÝÀ ý®ÿº›}ƒßUPÐÕñ Äžçµ<2à}Mnœ-gp+4ç<q ´TÈYË^ÔB¶á€ÌRç{U“®³Äž‘%Õ‚ÂÌÚàmˆ³(ÊŠŽ­Ö®ƒšUIH¤šïeï\—-´:Ûc)ªDMÞ^ ½"Žƒ]u唦°Uq¡ ö7y¾\ÉdÖi½›0¯ÈBÊ•Àæ@˜À+?¤}hˆž†}z' yî_ÀÈã‰(›tK!É…ož±‹! ‘|VH~×½:Ë0 4¿£a[°hƒM¡šùâmk•Ù Oå:1b©@©·Óü—€£õíÜÔ s6+£Ï;—ÿûF·Œª$âá@±¥¨ïŸEËBNè3رLAOüùfBut"Êå{U4:¤}‘yLØìz¬Öîg+Qæ|ñÝYä—¼_0J)íÍ­G妨/!• ¸l‚ñ•2YÄ|:ìd£‡•l‹™…ŸbœGâqÔC÷ã‡Ç”Ó2,T†Á‡á]ptËç’ªÆáRW“Ú‚ ýÅ™X$aw›€¢Þ­ {‡|]$#çͽ>–Õª"ü¬¯ÞœðØÌšÙ[”õéΜÍlä5it­ ßÇ©òŒ=–"D¦wãv“-Ö ãÍÈ­¨Îy»Œ÷ZâgåÞ+õníþ¢.¹ϑ߯=l>ä!DáL6ˆa-¾ô¾>þµëXîi_´üŸ¹D+V-;;$3')<ñ²{C„ƃ‹ñxÐW2üö]Ê÷1@°l¸¡¼@ÉßÍ“-öÄc™;½,ÍŒš£ÑoQåM%t"è´1^R½½ßq³,²:¢x±§*ÐÜà(œg÷aŒfY`)‰ž›ü?;Ól遲ƒ({¿TFœ±;ÔÇkÐ+ÜßÚç¬'¬™@`õåÁ-•ƾ!â(\%aÒëñŠžå8ØqSY\ª<¬M„ÌV¤¾\œrܘL±5„ÿ*o¤ÿPމžÕ‚žm âíaøMr 7á<„\pö,£Ùæ–ê‘×Þg&¿$2Y§É Ã¿›@µ›ôÔòkŠpŒ¦ z…B@OöàÊ…köûß2”A=¼\ xši¨SÔ`àoâ[’›O²by¾5l&Pšóf®J¬µ«ï2G—Nƒƒ@Ñ$ΑzËf¼Ýäl}Êàw¢Û™C6ê÷lðÝðJr×áœlU_ ƒ‘¹‰ §Ô¢+u$ôç¹¾îÓGi=ãȾét_Ïq×®¡"úžÐØñù™Ä—Ê8+-8؉u($Rgª8x!îÖèÌ÷„š!$ìš·<é]'0:ÄŸ–@N€ˆ¢ŠTGÎvhÔ2M¹¢Tä=À[>Wàÿ²ÌF†çV4t(.'øU :ž¿%çB‘^À÷¯•g9¶¬6]nè&´T¦´8ž‹À$y~äZ…blúnæƒGœAÑè°´Ù=4[²þl4µ £ ^›Ärfw•ìüžû‡p <ð«†vÊù©²´Pv0*ÜØ,r*5ÛcŠÐ¬ÉòprõØBÖ÷åAo@%;6ZxÍŒgýUÝ—wràÔa_fxæ¾ô;䌑ƒ¦°œAFß„ê^³¾œÉœèa)Õ䎘aªÆúÇ.шP(¦ÀÄ xB§Ò)Á óç%œËùIe:Xc E«&ã“È÷QHöëç•ÄÝ àµD~Ì7é—3ŸÅ¨¼GlÚÑ¿2'þÝ0—Éó¼%j «͈„,We9®ˆß?¦éd2èrP«Ý™7Ú¬nG0µË· ŽØÄ4êý:õTEp)ö>â·˜dsJ˜ö2èñ+ào+¯Côu=4s¨fíçwKLm–¬ÿÈóÒM³°V% Ô íI•5,ÈÀ ÕC¢RÆ“—lÛ5.#!`’wv^â½ïü×Úñ‡‹œŠ ·€Q-õœ«ÔVÿ©™jmÌìAw}ë|ä‘EÓi ñsbS5eB3Ì6®*ÌQ£`&Aq%JßnµsÝû§ý·» ±"Lðüý$ßîôB©í´N1Z8pO•˜Ð,2yý\`/“€èÞåÏ^3LïvŒå˜x$ò<EF ðT$Qùa¦gs£ø@J¥£ 1p¦zPï2bÊ=è²”—sEFº9z E®ä†ßˆçgå…Ž1lŽéeﺣ­»P63"P?ü‘:nY?Œ—‘íó´]L³.ù(w)ɾnzM܈d§` ƒXî_â,uØ4c—ø?âê±·{ƒ2¹ 9î~®Ñq±JSzIOõ2Lfv¨Ï¨LZ5ì?»ð‚RK†ðÓr*&Mf?”]ÉÍï‚´Ë€æ#-m‹‘VÖëHNÙgŽfìùŒ¸ØÂÞïŠæ„ÿrT@O¾_ƒÕ½ Þµ‹Ipèåß²g6EM{wº´‚¾Zlî·§ÚŸ9â}#$GÑáÖ ÆköIº„_³owA6sá*öãU³2"q²¡&àCÑ‚6 ¤…Íqe¨CÇïÿn-(¿˜#¿æûI±ð*Î\{ŽÏjŒEX¡ZzŽQоuäôœó¯¨lÛ¼Ê2뱭سRrlŽk3˜½¿pãòy“þ~X‹f$ܳ5ÂéA3ïˆË윔†ÞÒaTYh?’áfš•æ†Ñ”´¤ ôï`QS’’)TæšyP£u¦‹/^h–£[óS¤ð•dÂÏÉß‚B‚¢O}0Z£¥§ß Dm'_—„å 1¹e§·í°¹üø¶d/4 ¯7ŽehéÞ—3ÓÆÛ€[6É1MfèP¤ÈT‘ÈwJy2ÏÉRTZ,F‹\&ßG»èÛ+D&Ù5=Í(sšmÑá,N‰gzŒ, ž=»h-1vNh÷™VqêCRtXSÀ˜¥\bÔœô•Û›‚óîG"ð¥™3©–€±–¹¿Å#)7°‡´‘M*IxÊðÁÀiEß#izåßT}÷gRõ_$–ãS™õþ‰ÞK猴TpF†O!/jkK‹¶4W*oÓ0æ®:‘ñ•½ÁX€»9œŽãënÛàÐ/%?FK.Ób¬îÊŒj%G0˜´×êì¶ŸOÕ —fè4éÆíÛ@ ÍÁoJ‡fðþ‚éMyok›_G¤-nC|3ÖÊ€—9°¬ÜüõµR}„þ¦ƒw²œ§pû K§.`®_úò(7W{žÄEHMr—Wû¬ª7Ùä ýP<Ø,| \z%MÄöÏÆ$¦™åD¡fÅyÿ’”¸ôˆÁ$¹WÑu%>‰µÿ®¿ú4Fæ½Üiàkµß}'Sìœg—™úÀð…ÄB2ñjR3ËH0× Ú9ê“pže؇ëösÖlºj XÛX%y–"Þ]zYГW'ÁŸA8ü/LÕÊ“`ɉÕ¯Pi4œA™ÿ1Ñ"§ðÔ¥m+ÐË­ú×;Ò_J-µÌÕŽ-”ÙØ•’Ò<h­Þ¾4qè9ˆzFŒ†HýÿUÝ'c/šÇ X×Eæû_I––(ŸÐîÜÝb9r)ŽË\åŽþßP@EÝÊzR)£÷´ [éËÔNºChú© œîôî ?´[ê[Éî¿ìþÁ,ßå@#se±?RjU$Û#·®÷ùÚ!ŒTQÿw¢²ô>X*íÀå,¹Lu®DBKzÖ#–ÔnïeÍ"ik;ƒ¨wseÎ@Zó˜l‘Á>å¥n¿¶|û¨¤tהȥP+íx ¬¸ñ§ŠrjdSŒd+š=€ÜeÈ íçbbøU¢Ë|Eg¥¡âJ I‘¢ä4êÇö”¨G‡j/gò'Ib{%pG*ƒ-dÁÌÍmæßu#ñí£r³¼°‡#’,ç[ÕfÆZeƒÒì˳+ 6¡ žÉô€`h Õ5@™Ôqÿ¿½Q=þJþÞë‡/Ó£Š&)§±þ°ÂÄ–kqõ_Žàƒ“WüÙnú±,|?‚I†!BÎ Rg`ÿ·ôIbK„EªùÂa«,%jaU†0äK`êu¼Ñ³l¿…úÁ;—Qž¯UkB-Ðér XJ`®éè_¡øŒë]°ë’@ëïÀ(y/ßÙj¾Ò9È!èb7†CjË1| XÃ’g²D<žÊ"C½Ò Ó¢ÒâJ÷OÓ"›¯‰†ƒ»C™†dìë¡‘`5âðàxÊkƒvB#îÕ„Ü_;›ÑÀRÛ6° ¬ÁQï§ÐªÙåcH·€®z§êJ|Á½Ü ‚*¯‘q“$%Så^ÇûÛX°'b0ôÆœ•á#>UÓF:S8×X„ozÂ9Þ{î =^ãÛz…cí{©ê”οô#=g͇•º]ãwåëÁ¢’þñ+;êv`ØMßaƒƒî¾$‡ÍÐÔ^9HÀøèþ¦é‡d<¬GÁ»‡ë—gäcULËÌ6¬–~35 ?ÎR€È¾ÄQ½øÖ²°Kdx°,o}¿7–OŸÛò˜o»|ì±F™ K‘¯ÉŸ(ôrcvý’Ä ±/5m"Dã¶á8Ì!Öå=f‡ÿoˆÑº|*¨–OàÐCZå´Ø÷!A–ÂÒɲÉE怑§YãY•£‚p /øÿ^°³’‰49•‰å[*æÿA9‰¬jióz<*Iï´)òAŸ‡›`‹]¿/Élže“;lú êAÎ-›;jñ‡¤¡©&^úwiNM#^œ ¿ÃQ@&9xòg…ÀŽ„ƒ “¡H Ü+’€}?çõ¤®ÃÞA}¡tÏ §± ýax\žÅtA†· þ.9¬k*\!ÖÆÍ]`´¹ž=O.Æ*ãÃ*˜Ãf¯EÝ”ƒ³"}~tØŸÕÇ@ù­ÝüÏàlCðÂ1 h»(7·Ëä ‰4C#©}m‘ ™¹÷#tdÚ*ðÑîcÁDq'ãÛƒñ¬™ÿƒ<åDJÒAm”žìk¬øÞ$xú©žÅÒFAû´NhŒŒ¥”¾®f×—–o|Ëù­?Ë'‰%7Ì=€{ŽÌ>S¹ãädÉëënäþMAEý ]Y=d–Ÿ›Ôš ñ•Ej<ÕÜ ¨øŽÞú´åº,Œu¿ó‰€ÏW‘šü°ì)—ß“¼±ŽLxOˆÅº¶µß#aþܺÀÃwšÒ2+¥AL ¥¨£Êµ¸FmÛl¼g1ò&…ÙM³iWW8aú6ÚBXßÀò+Dø¹†ŒRBM!¡µIxÝñÆç>í‰\[˜÷4ñ{CH82),{»ä…/N¢yhoû“ Լ⑭¯?vƒ"žÌ¦¥ÊÿŽe6ÿœóš4¯×®°±ä©ò‰ìÄa/¬ë0¯‡¯â,´¨K®’|-I|àðSimÒ䪮ÏH[ ãÌL• ¥ U—{Œ“VJë>@t$פÐÍï¹’—n«4\ÛtÚ:%g¬rÜCÅ1“ÖcúÞdã^.ŠžiîÛÆkMªþèùæ E©ÔÕóëäCk{)Þ4 òC'Y§R&ÈÝþ‰ !•… ¤¯žÞ™úé¡_¡f˜#ujÛR£Ô§ïN7áBÁõÀ/04«¡cvœÔúÑ()L½tÒYU®|ò’€ýÓFœ¦¡ªb’±;÷2ßýä 9oÒTíj‘†† Ñ27à)a\šöÉ j>™fYàp Á ™/%0Œãý¡{šKkµÌ"©ióC†ÆŠFï¨cëwh}¦ò·¦f^«2K«‡ä!¿UIAjÔ½ ü¤¶r¶‚) ðûqÒÄ¡ý¥*{ ®³³¢¾é?› ÅžÝá =…Yã g¾;S¯ŽHúQÜAâ ‡Êí?6;­@°dÓl·‘ŸÈqRæËc;M'C&¸ÿUÇ® É–˜ÝXÄiè§Ý­Ç¾ò8Nšê­gEÿFs*€ó¿Ñöîg ôKmtòÖŽjÕÀfÖ¼ï"ZLùpÐöˆø ¯Ü²__d— Á.é‡UÚÒ£"6å €¯wª{ÇÇnC%7íïŽïåÚ,öôÿ œê¼g‹~³õŒÚ”:L»-=ãyf4}GUÈ€ _ó°:Æd­ŽÎ@Ö; À]é‡mK•ö_1ÎE»+Ý:\>}:#ÈÈe}–s]þºžÌwéåô¾ÕF¼½‘<»åKV“œqúœf07šU"ÌÖ…ë¢ùíÇy{J\}Ž?dYtHÖ¬§°Üûv#/&·Ûé—=à‰ñôÿ¾¾%¢ÞõãG¾íÕV–eF«f¾N¬•làg§­…%mgõº”íG¦¸¬qM‚òo©ˆo¹zxÙC6Õý|’—›ÂGºý£ŸªŽA¨Û‘[}×k îúôK1tçNîJÿAÝø8,¢Ú RVÎ|û;ÓU”qVÑκðàíò?‘Ö¢ÔÓ9wR,ˆ;©‡99Oòeî¥av5د@}nè×òø]y޽f²íà„ X¥ëõEa¿­$ÔÍšmÄ j"{N­®`°Rêð*ˆÎÛ¾–L91cÊfd¼4oß‚fzè'ê…Ëö»P^‰·T`+±é^{L$õgXH;÷õoÖm±)yy—¦¥kˆ³;*šy( ]&Ý,nË‹ BÝ…ÍDªîì25ªZà ‘ÿ¶:ß~Å=Å-’^}×oðп"ŠÉíÿÜêîŒP=8*9(·®ýùŽOEZôgNcHQ>ßC®ø3Yõ©Y 0Ú–<<ì—ì€~Ò¬MÍL_g^F#FP-¸ø9vÓÑúbÔ=IVn”eà˜™‘È&ö7FTw%³]“5÷Ô¦ýŠïÄÛpjÁÎ`D(E—¶äÛÞÝð’ؽnàFÜÅ7’M·©¡uÏ®¦aq‰Uv—hãæ_ÞÁ‚–ÎOä¿Â§>×g'‹Ol*êSß㌆ÃsåUÌ]*¶¯2¥˜ƒævë¿“îŠþá·ÙŒæe·Ð·_¯xFÃí?XC˜ëfÆqÌH×…ÏkÒ¿‰€6?*)š‰»VÆ`õðwœT+A?löã]…áîÐÈ—óúæI¾w«ëDø.µÕ2ÏÂÌaç‘ùZ ÜSå Y.×zyLozô8Goä<$­+W‡Þu?ÊrAÕdB½:C÷"¶d¹«{/Zõ;ìF¶ËÒN½{sö’á6£RŠÛÆÔ}ç #š_ÿîÌd`%Kø¢»Vg©k»e‘¹žNT­F~ nÿÙrRÖk?·˜—,öMG©.tb˜à éJ)DJOúƒk.“¿Ñˆ.;Ñ­õMJfQ£âÎå)Ê«Ô`µÍˆ·Ö^øëE§á@eæ’7¬1ë÷()À¶­êQ©`ø{DONؽ‚Êu5¥$'‚®d‡waÚž?é„%7¨3 zAAkŒ> ·|^ l2±iV$¶MÜÝqŽqi†>k×ܱhü8¥!Ïߺ¶s§É¹^§¾èä8…y ït-‹äv¦›£(÷Il“èÕ)eµ$†&ãk~ØÍv°Ç¨ÐL—½A县(ØcHyŸ²¬ð Ê0Ú+Ò'¹˜3AÍv¦wóO°zE–~Zôáî‹Ý*Ôä¾ µ•uy’¡¥PiIyå÷¾wr Ãë³ü{çe’Ad¡xÛ©K 6¥Qƒle2`tžœVÈ‘EÌù6i¾5Xÿ©^-æËJò౦+ 1]'ƒjx–÷ŸL>z/îðÑ':ËFß ¶i#He²Ë›¥=ŵ©’ZP#ù*Þ¿Íßô?¯ã\ÎÖÎUh¥›Ï—hˆnÚ•só² QE*ùJ÷:•nÐ>êèx{ýqjÓîB'̜ƒ °Ë>,óøùuKÉt¹3戋þ6Ì×-â<)T÷ËÞm)ñßu<ÎÓ”r`ý5‡lJ~Ó}]vVÏc©<ÞÈ|éꂞÈ\ó\MŠ„ïå³èYÆ68¢yc¾þõËv.¶èIçó¿fròB×ÜG/hY¾í]'¥`d"º"}X¥Ô#Ä”"Jo½œ•ó:“YüvÙ™c´ê­Ù¾’1.ÅÆ`¿+ÂïöyPé €ˆÍ ±ÐÇž>4üüš/ÍŽ>8“QŽ[RËè»§Ñ8W}¬o¥Û9º÷%Ǫ/sf¦qÊ’•@,_÷õ•£Í« R#¡óðºF%ÂMæ5GçücàÔÆz÷pÔàEg±6‡æ·?- ðzãij?)ŸR‰¤J!0aFúòY¶xé¶^ûu•µ;6Ú<¤·ÏŽ4ùÇ9j@ßO9t"ÇÂýA¯bkaá”Ýo£ñÚŠÁçR7áë ·bdD@`mÿs³l;¥Ô²vMíÕ%V£!C+ê *Q¦~1´¿¯˜ÏòHb¨·p_ïoßÌöJAiñÛ8 }i0óq’v „Dœ¯‚ÊýZµ1Ñè¶ðkt•zþÎBþ×>]BÜ[ÕÁþts¸½Uh³ÒO8ž³5¯ãí`¡õoAè2Z|U›RÉô,ƒÐòÇ>Ü\f²T”ûÖ53,²“=ʱ͌…Rê/<»ªÆ|cLjê‡h””0 ìŽ|Súæçïú(ž}? ŠX88øÿqtÄøvÀ+C«2í Í+â`àlçø§ –ų1q‹JÉl%å9)yâæ­Cv  CC.{‹ž#Ñ©+×Ýì>Hd±£<š.B|eÁþîÕ->ÕÒÕ7榴A3(l“÷0¥'箋(ÍÚfi*JØ9N®Ï£TÉŽ9`Ðìµ]–-²_ò>}»:×£Rc@óÌdOÒp(]³®®‹UØ9rýðÙà´¯¸Ýßõ’N4þÖüs ,ù¨-FeÕ3m&¢T€êôÜÖÖíò2¨qýåK”»´C¿|€ÑCTÝàü<#mI‰‰;)PRˆö»›c’R²°ÛURWA9þÎÌõè>ÅÕ‡D<«ŠzÁ’2'öäð 3 ˆò¾-H+§j ê¶KÓ»ç€6Ðqw±M˜¬„Àû“‡?Ä’ßÐÄêû«9=†S+æǾM>ªj¬ «Š–4rN;ѧX²èÁ*µ>V¦4ZõµÅEa}»º¿à»‘ÖÓVاÌ?˜¨Ú…—Ò:DPú|ç¼¶ï ¤¶- —¨Ã­OžOöH"S“#:•KÏy±5ô@m/dÝ^Dˆ¡íW-ê’¯ÿ®cò MrOÞ!ŸM÷-’Ó:{eå€SR”÷T¥Ã;ÑŠÓ/Ôh-ÃÖÓQ6ŸÄ²S°ˆeׇ$|Ì3p-A͵.+ŒKG²0P(oáhÉεÖë3ôEZÆ]½„rSlÈ^¤ 9øE2 º¯y] 2…ëþò6Šž*âo;šèÕ½\ÏðíÁMS\ôäIøWàÞÒ§'“"×ð ^—~T)c1é‚€¯Ô–âøüà3·³6‰5:3ƒÕ¶ t‹ÙY¢®ÃDk๒Ÿjúñ‚q¸Æðö{ ©3BN®ñЖÑïÅŠ!60¿_Í]U£Î½€+¹Ã]ýŠ { Š—ÇMŽùªØ €a€€û÷hJŒ¶ )†àpEZ=ñ‰ÿS7ˆå8Ñ<ôt%ŽèåxŠ»€ä^ÎV&%ÓT¶£âÇ !+8¬Ì5J?„ÿ}o ,£û<žž²¥)”€H·õf¤6³¿£ÕïD4 |®L!åvüù¸¶¿ºRceÂíËÂÌ+f+i'Þ|ŒBï4|á’Ķ»N#ÖÉï±íGÓ¬QÏ¿šóÈPïú˜$_ŸÚØ4ôd)ñè¥ë"LõVW Ó„ Ü3c†Ý76$æLš˜ÌlTwæf]»™W“Ÿ«ò F¶ŽgsÀ 87.ŠD)‡HõV^%Ï:ý Œªf?Zçæ-{p‘3l_:êcß|PJꀓA¿‚LJð’6ÞYL÷eÿFXÄÒ’SÁ’0Ó+%É!C-FpS{2š=¡«AK|C(´?¸ £~\€ÃäRÔ"qF€¦àÃ_(OÕJkz(õ! kŽÙdUxn✖È`’ïär7#g j xª=õãF:Q¬¬}eÊ`Ÿj;È)?ß}¶þá]è¾h‡—=fc÷5ÆE>tH`­4‘ä#É1©’еû™¼Œü>enÁ4€æ¦xDÇõACM,r ÙDœ€Fþ…Û“ÐxÕ ›ú~‘Â9‰¤Ládv¸YfšÍ 4Œ!ƒ0ßÀ$êŽíšÝ(á44í)ÂHc=.À‡¼™Ï²æù+¨‡ *¸w"¿ó(½v,” Cü(À¯.ÁÓ›ŽÃþ“’ÍÕ‘5Ø¥À» ʾ‚¾º“küÊõ®yz°®-¨óî‘´ÑñZž+Çuà4çO-ÀìÑ”´ŽB¼¶üV{avšÎ+ÔÇW3sÖ$~%8QïÚ…ý3‰ù8×]5C”Š ’á¹YM98'©ÑfÜ~º#¨˜µŒd]>h$Šz8o1¡ù¬‡ƒ¶×xöu¨…þ»ß—gE’ûf„¯Íí´«ÂaÚp¢ýþôò²Ów˜Z7‡¹’ ©¸ü޵}ÿ¯ÛäÚ_s¼˜ñ õ$?`mÕÁýëjäOgJ-æW³kjŸå|›:ÏœÝ?¹"wµû©¹Hæé‡ñn‹ ñÅ4=—kyžMv%‚¾8­¿Ü÷z¦ZÔl"®sÐs´Œ§¾h¤Ì2î[ÄÅ8ô§GP9P¨Ï·(¹Þ°m€,ý0oõQ"²›AZެ9ßNçÛ"£pO íÎÜNøÏf>Ј‹Ë†ÊÙŽÚ/½øg žp”Ë*Èöøœ:ØCaÙzMOø@¼Í2bŒ6ãù‹ã^´5ßM„};Gz ÎŽ©˜EÛIèP%¶KϨ¿\ƨ8â%ñ¾Wœ˜f_<ÊǦ@ÌÃEˆÁ«m°„uJ„lõË%ÛÑ,Ôër2¿é§ê¿±êå…€ˆÄm!'å~_ìÆ˜T’½’ȃϤ[ì±Ý>ûHñaºhê Ó)„„Y/s"®ã?ÌŸ`û’Ft¬•rX Ñeç hA+R£ù¸Õ×»¦×/#‡‘¤—„Qf»Œ+b%0Eh"!š˜PlðøºÂå›r€~„h§ÚêDÙ—Cï"K¸q;û…\_ÞW1 û…!sôgйúJ"ô”€þаc–]µ£(4ï IëM–—ˆ O4Ƕ|X iê­)©¥•à6÷É:‘Å3æ ïÈ.2êakþ .ÛféØ&«!žƒmxvc±ƒ-9¤$æ˜zåí÷›Ò˜Åž!€ ¿‡§ÒàpcuGìYÇüú1òžÿî¾nœ¶ŸE¥úƱSˆßÏ d? UÎZ“¸"×Öoÿ@j;˜ç†ðoßU¡AªMy$³oïïÄÞ¬“Î* ÂÕ-†õ™óû)ÇÜ·Ê ý¹‹léFÖÊ}f¸¨øz#šŽ0•¾K 5 8Ýåæ”’yÂq[Ÿ)›IØvƒþ;¿SÞÔÇŠóòï%õí± §7/ºß9ãìVR*Äšc:¦³±}Ô–ZevÒ/)¯¯Í+1*ërŠƒ¾˜ÌÎ Ärüx µUgÕ'P H†ªW¨¶øL-¸V[z}!LBÎMBü Û“JRf]‡r* vÖgÀJíaš—'·í ¨æ-JXìæ7§±hú Ù†°öÀ<ê”ßXÆ/§Ö«ËÊñ ¥RP ‰7¹GZh7C‘bÎp …?åˆú°-hAÔÛw¤<$°šTn : Tkš‹±ˆ—wdıõ2B#g‰&âýíº®¾Çù›šÅvÌÓê÷XØWñ+z] Srèê~4œ&kг2‡Õ²58 c:p †¨;…¥’µ’ÇœÒö1WuØÖ"„Lš?q ,gF Rx‡î*N8/‚›í”Ú2 Õž1¾Ct"'†ûðÃ:9¸ÌÅõô~MÆ÷=oJÌ–ó®ŠõŸÎ’ÝH Ó SƒµÆÌo´Æ+¢íœ&£PúAÒØåcPÝ=öpó›€_züNõßt #´Ý@t“—Â3°´´ÀqHäv#9öõ¨,È2gÃgà9kzû³à¹sËê‡zÐg‰aK¸Þ–PØY®´ÇWÚöŠV-{Vüõe„s;8«©%d tQcÎ螪è¿2“¨ ÷\é ½æÒÀo°Ð¤»ÃÝyÙÎÊzPïˆÕã±RŒ_ ¬˜xÖÿ§Ž­îDà}Î RöÙÖ?ºÖ®#Ð<$+ØêC€ññl“Pšl⮜iƒÞ‡X®7§®×*x ò% Ý ët$O`CQކ­—cÿ¸ìsľq¨·ÅYEþbrã¯g%zÖU6ÿâ˜f :ƒÒˆ>>XšØVÄôzÇL‘æå¦[š¹õ´ñ¯ôLåº-¤¨o7Ðít½ûKHoPý©·$u*_zÅ 8ŽbßíL4•H+cL …Ú¹ ‘7ŽL« µÔÞ§?”èu²öêoÖnªŒâñæµ<ø-ÔV”Ü÷¢L±íÍña\ÉkÞmÖ ï“ÌŠ¸.fÝÁ6ˆmß ç¢1<Ôq¢†•‡ÉGßÅèH¹hÖÂã7Q‰…àW³‡B“+af'MVÉø®èË“å8< ˜àæ}“b õý]º J¾™š4Ñ”\08éõ¾ge = ©•ýÿ¬Ì‰Fz,WÖ×|Ï…†:¦úë³¼‹Ï"‰É2bŠ}‘{ÉLd#×þu˜¶›ñ¿%€D#>v嶸CŽ`Æ èrÕÇMÁGèÜ Ï“ˆí¹÷,fÒÆ´“MÈBå2?qÉVXä“׸— M…¡ †È>×êÇ(PŒÚùÒÛeê.%ŠÅ´†™[Ò©–:Y¼(bÞQΆ‚X 8lý«"yF ׇó;W¦CNô-[eÆAaƒdˆDú+þ5È×Û$8¤ö´ LÕ¢Ê+8}{.bÉÿ œ]‚ìÄUŽNÞ eLˆbü éÄÁMµèxiÕ5í¶ Mýi[1]º_ò_\[þ!1ö“Ù¸¦e½å1>Ëp5ÕñG×BãhÎqé¬kÓ¨ÌÏ*äÚ¼ÌÚU’Dt›Û=À)zàM½•Ÿ~-ÂÕ~©ÎÆ™ êÎ>z4ÄJV²äÍò#çI 3÷&Ï>ó¯‹á^ïÙ5Åý•„Àèňw)·9š…˜*5ZU¨ L®ÅôÂH*UiU\27£,O ëG=f¶»aQ#I£":»øDòÅH†m¢^ÇbýŸöc* §”pÆjn×:1åEN·™Z8,¬[¶ÌâÇ_6ÊžYmø¸ñ®Ù`ÓÛ‚lù„ÝèŽeIžVNÀæˆ(…<é—}¿Ë>õ`eß °¨rÁi'¬Qýö¡oaû³Ð(‚\BÝiÐ( q˯‚pܼâ:G41ãèýoGðçç· ¶L'Ì‹AÒu¡ÑõYC”¼ŸÌã—m¾Úpg-ÔmH£B¦!Kþ ·EÂ~øŽŠëG]9aÒyÝ>(m?›ã4ÇBv§yre ¶5ÃÞ±[Eê¡ÄÃÞttQ7û°)èc×HŒ÷9 „€Ex9IgTÀžÉ÷¤Æ0§8XôÆñ$ò~smeÌòàŠåÐ’/ý S»QSÔo–H‘3Xnw•eÍ''åqgQüä¢@`ÞnE$F6ÀÞ`ÏlÏÙÊV›Mc0A\F-G–¥žôIÄÒR@£9ÉWž¡Gã›­ã ‚ì#¸–4ÌBl$öâÀ(Ÿ9ÂØýñ|‹þ,ËŒŒVgìtî]Z!àÚ‹ËaȨ™±â[ÚßU Œ:Ï$–à.b Rʪ‡hß„h´…Üý‹ü#¢œäOedˆÇg<•LÖïõŸ9ˆ¿ÃçO¹ÅÈ[Sø„Vút\¹./ viNo…¶3î˜dŽÓïÔÔ.²C²Ål}>|‘Õ3¼94Rßöt…k©¹Ûö#Oà ½~©bû¬ªÎhtlÈǶå1`C”`ÃF;³¬ I½y\²Æwçñ TÕk.Qd;1&»Ðv—iR¸,O÷GöÒvȲØ4v•Ñê/—¥·ºÿôâ·¨¼y”d!2¼xw·xw6CÒW'£4 8}:6ÙGÄ$B €ÉJ(!ž}FŸŒsiG’V+ÈÓ/Á~.öz]ú&À³ìF^©×aža¹³€7ºu„ÛÆï*°"¾q£45%ó„….•õ¡kWdqY…„ -k5\ëÔc¹{`#k•L.ã·ÐNÌIä‚[§¦Mhƒ¹¤Òñÿ¤æï«h£“äÔFè®æh_åÄ1–ÝÇ×úoT‹±½¨Ø£ ½9å¬O`TkW/Áu´Ç8·™ '"s#_:Þö2ã<ð`Иe~¤IÈâè"/Êt‘¾÷j;¿§·:­¢‚kˆÁ¢ò@¥3v#›U•×óêQTÒ¥Ng`2 }õÇhŽªÜåk4­¿±R|íÊ«NL=Ày‘w~eáÐ¥%Â[u8Áâò±ùtk#“¦õ7ãívŽ8¦]¿`–8(:EAÏÄÿ†bmtË;i1¤ °õ®Ò(é ðþ}ñˆÅ™øÇ×`,ø¬w„D³ÑGvýÖ·÷4ò(~ƺúm˜.ùºiWÁ0!\…ã;ܦבÐu3…Q˜XÔŸÌNÎàÄïÉÕè! Â/§Í·¹P¡áe¡ý;ÜùŽè«¡= [TB tfü·ç©"…Š®ìÄe–¢ö ±Û¿}Ôà/¯îŽ”¢åÉc…~è7D+Ò”-j+Ôèg7ÂT³køÅBœy’ö°Ã!ZÛÊ—Â[¸³"6U]”Ÿcgð ·×Ëö†^¹ñ[NO5×Å wB°SÿNËdº¬eõàXå_4€¶ð+çSô'V–Ê“K“¹ Æ5ÍC6ç@#‹±Ž$  Šé[B’P¨*=MWÜ”kâ¥.3’ç•bn?êÇa±ýô¿00úN\] 'ë…:;“Ôd Ž7tœÄ½­‚a ^±tÙÂö€BCÏÁè¼1ia‡«Ù‚ñmB°A—=~CîÉbñ7¡YM™´k§^—çse»®/Úzß'Äo*a‘~cÖNŒ”qHÝ ïÑÂ2{j2¿I*”üÏmçÚóÐwIz8õi¿êKÉ-áUlû‚ó ¨Ëf«ô×Ç3S_íó€ðŠä¹Öp1ŽGmüêIŠœïfê `¾|òV)q5Ôǽ’[`^Vw¢2½e=‚<ïnŒÌ¤ƒû¡;J[£`î†.ûœ‚L-ªúRöË ›WÂòß² WÔ¤¡1Ñ&ta òC‹’Ò)˵å; ޤžÑµï+ëÖy•ÑÈP^!*þ[;þµ†&ü×EË׸Ná|4úZ—É« ï9‚Éq˜-eÐãø¹ø¦‡:0˜‘Bé98+q0u¦q(!uÇb%ß× e‡‹<.ÕÌyó®h–ù¾W˜^|âéÿO‘_ïùÍUªŅBÜ- °àc­‰×¿²ë£ß¡Á,i«»‚²p|³˜‰÷ž"Ⱄݞa;¦~挃WÊêÍþ IuûuÎh£´£㘕ô•ª‚ßd mÛïÐ$Ê_~g³‘¯iÕŸ¡ïMHćß÷ òšUîƒM%¤+«‚´NJsÆñW9ð>9&wE³‰Û¨§ü…µBŒãuiKÑ4­ÉÜÃß»iÂêÏBz¢QR¿fLc;‰HµNð_iª"¶ °™1Þ6Dç•+_Ì%Íæ—#™—0ÔÓC³:âë„l4¢ ³×¬µÐæÒ~>ÊËFÚki‰ Wh»Ù7xàììöpÇyc¹×Ïõ:Ûo“8†º1¤Ç‡óUÀA;aÍÞÏ]H„e‘Uˆô%Fê®/cãVÿà°ø »£W¹pç6)’6m”ÇxÀÒ¢ ®vxòÏóˆFâí@H*ÞFJH#ôÍËK¬Zå9FæEYx µ¿ÖçíEâܚɻŠ…wÎÍì Ó¡·åô1t2^Í0,îð‰¥Hhˆ‚ «ã0þˆ×"ç{VŸH^sÂYf}gCûKÌ 6½ÈØè4£y±§ÔHc¥3Q R'%Ä—SÁ!öÜÞN£L5Ï‹¹º™¶!§èc&¾@Ò–I=Né±Ùuu1Ka0äì ØSOy¥1ŽõÑÞzß~¡Æ‚såËáH‹0htWÕv‚ìŽDl-¸_Ã,é3ÔÁY[‡ãŽf°¹u‘ºSB÷ûêcÕÊçOzì *„ñÎMq›ªp`p­Í$Þ›Z [ òÝ6¯Ö׎V‹%Èú vK­@#F‰ÿ‰åƒDa¹å¢à d®Û)éFi½b£M(åd@dkÇS7ݶ ¹kƒ ˆ&A¼CïÕ wµ _Äëûå[‹(F Ä:µ æ¨Á›(¹†gs5â¿H•QU1)u§ ÜÖ%\ü»?øESìÌ ZÎðìÔnùfÿ ,^¯ã‹²¢MÁ+ÏK·„ðó}2Ô¡º€å:2ù+¯iÛyÕûAMðÑ¡Åјxª{›q®°µ¬×„°„t¬›Ä+„ó`º­­óç…>ñ €P”蟶:¿ßlÏ¿x[N£Í›rh’ÔÓ(¼H½æú9|iWl#¾¦ü׈Ëó†ú2ƒž¹æÚ_|ڮó‡oñ±#á-B¯ML’çéEQ”ƒâìø¯Ö,ß[m7…ùª¶æ÷’#-…9À‹8Ѹ©OôÀ“R§={9‡1Zšêú¶úËûÛŒy¤¿µÆMRoÉ AÕt®‘í ÑŒ·•O¾ú9Їè‘Ó×ëú2²¢žç2¯ß¦•ؾÑŠ”˜“žTŽŽœZR°O!C“ûf!Ò[l)š†’Õ÷ûå¤Z³Ÿùµ™Oóͪ­à«r²«Duɸ굷)'*<ÛH¡‘&FB›V¥ù¯y[=–×àK"‘u¦çè¦-’[Åâv ¤»@înÀB§µç‡W}œô)<}تî'3ì?Cܳ>#:jÁ°ì'õ‹3zÛ n1¡®-Y”°‹ý,!V“MÜnÁµ9Ó–ü6hØ*Ç GZL¸¥„«-ú‘r­dî°éÑX†üÐmüf ë˜ö©mýž<ý§@9s¸ÁwZ?KXÊä¼Õ}žçB/7]© ì õU ò pp7$&ÃâÕÐóPBÁuíkëÛnÁkùòÖã‹ð™À‡^=KwïµÐÅVêhÁQÿÿM(w·Ô¹-Sëèw0à 8ág Ñy5899Z‹BŽÅZ—·"4¶è>>©›ó°&Ì€(ÀwzŽ´NItR—Ù’›|K`"|Ȉ´0 Ä©¸ ¬3-å'ghUâbÓÎÞ«À;LFkW×Ósåz¿fZìÆ£gñ'¥)½F•«ˆð,WžÅ€+@Þ£àg‡:oNõóG`h‚„g!i€ü7˜’Ç,àýêMÅÄ Ù\õâ4´üd¼i±ÓA`p±CuÉã­Ó„½@ý³†‚ÙÂC*Dp‘óºÄr&1CNuêJÑÁCɼº¸q“ctý€+Ùo´½L˜q?½Ã3WL7—7É´ËZ™Þé {V÷T9è´›ÖÇ¿ªºÓGµ}äÌV%IK²ne½ iT—X †kÆßw‚n¡j¾ý¨Ç¥ª9°™Ä4"ÇÆeš‡v*Ð"G•¥#AÀѲ}Ã>ÈYEKü”ÉúäÒ9:öîíPŸí]]i$|[ƒÎÌsY€¬-aS[á™+îô•²¨Ë…"ÿôsÒï$xhÅÍ$ GvOû¶H\‚m^¥ãáø;ª/‰{ç~1ׂư±y·sc¬¯µ <›˜0fìâ8çËÍ#ç&+TÎȤU,UÏ-C.¹e÷n›IÖ¶ª³ð…ñèþdÎMCÑv5¸WÈ\R¢³ÝÞsWÍøzÌ͈^Dú5­µO’Ìd5RëçÚjyÖiR`¿CÜ9ߪ¤W›‰÷§s¯ª%ùØÂýUï÷ÈV¤mkô§Z¼_Ü ¿ˆÛ°µò™€Ë£˜wç{ƒ†»Ì”bOÌüW&LÒÆ;žÍ1|U#W<åoF•þ–a¯ÞS’Vm‰@6'FmBÁIŽõ›B·Bm ñ ÒC’UáÃë[êKY/¨[ÏÖÛÒï""f-åÊ8xR üåѱY×J þÅóïJRf€Ss0­ŒÅæ‹ÃÀjÙÌ3§FUý0¡v’Ð[0;ý»•{¶¯F©da2a‘±r£§ÎR«÷T¢1ÇY‚ƒÙ6E¿Ë)ÂwA‡•}š8ñ¸v¬oÒ˜Ti¸ÊÂ]—¶v­ú?Ó ‘ûAÊæ›ó(–ªJe`· º bÛñž£d€tà‡)“´¨¨„†jžRÿš°­¬´h âèmØD5• ùŽ»5G‹û.šÂ½n:ui@ä&ß{t%°ˆ€ˆgÁíîËÍVBw°¬Y&†ÉØøXs°ÃåÔ4 |Ôðý"¼¢½ 7á{ÈúñŒ: õ4Ðe0äÙã3b¿!í>s:"s ÓÏÆl'ï®,›M/5x#¿MAs] ‚)&1*Ôž6ß9Ѹيٵ*&Óá¿;ì0|90" G¡~ŒùªN-¤ 0M¬¦ö0©%üR¹ƒh{ªðÿÀ­×ɱ èˆB>¡Lx14.ÌÚÚ0°6dÇå* &Þ–ë7=c…<`ÛÛ䆷;ÈÍõI¬û$S{íã´æ+Ç ý×6ÿ-ß­§Gê?3ãÕþ‹$ì2úDÿp¨^£]ËðŒ~¸¬¢0φóÞšmNMª >h—µÇ; \Ú£¸(@Ìb¡6CÐ \x‹±iãåï°aT}›Ø¬=Ã}coûÄMló)j’ø‚åò}Ù*(Ÿ€2+¼@%põv{_2æUØ|Ÿˆ[x>†ã’ì9G¹>i­9ò>œo]4X7X^žô­xÈ Žj íGŽjâ…Á$«P<všµp–MhïYbkçGÝ ¤²b_¨,0Ç °]iS%nÆ>5C)j u‡sÂ#µ|É.ã åð¾À_ÒØ“c%Øj£q(Ù¸Ìv ОGóÞ‡è¿eªKB…[ÅRôÖ·Î×'¼SãTÅlG)֜ʌD#©ØD|à¦#zGPÆýóé‘|pw%aMìglS:´FÿTÉCàG£ÒuCŠ_Ӹݙï]uø×v4ºz— ßjêË=y] ÅÇAwÊæ«][:úüÔË$^H¡ „‰ï|³ùgÊ>i˜ôyŒ¶žÏÒAn5Ï¥y«t°´õѽÙ9Ý&XÝpnÁ7´þ”ØWúB˜ÊRéÝR8Ÿ¨9EŸ(ÊqL£…~ñAgÔ^È‚Î$ ¶¶ÍC(¬°s¡=æ!OdÌ­¯ÇºÄ§™+б€5ì|ìJLžÁµBœ×.ÀΪ¬q¦Þ]±·¨a F:AJ&æ"rüÁ­ê$–ðÐ x#ý%©é<ºÇJÍf®ËPë+çk¨‡Ï=F3TÞ¿i^шL¤Eg‹> ufÍ »;— LqJÞ9‡CMîJ†»iÌ iiãÍNšÇ= fR“¬ 6¬Ô.!x|±Ü¥B¤ÎX1Î]ï±òÃDš¯6ñ:KB÷š #Lè%‰Läúôç’G•ñs@›8þ»Ñ± #˜í€j_oæøl#£h>¢F†©P²‰Z Â"T^ûHÆ2Y‡.a~Ô´À±]H%øþ,Ø~ A¨WáXrø[¡;š{)wL^ð”+ý] òÙòUÃ}Õ-:hTßc©ó†‘g®§×ŠæÖæP}$vý‘¼E<"¢–& üC¨“\«}ï±1b!ãŒö?ÜnÎ~Å­b!Dƒ”4êNÂøÉAʦ9(èêÂHk<p#b‰ÀÍ·¥â2æ6"¯Fãã2ŽE©Òyò™’/Èxy “* D(g¡e›ƒsÈ3S‹©„éïðvUÚ7;V¢/ú‹å ¢&­ÿX˲Ÿ)²=>f!~+ÕuØïÉS÷Ä\€þÊXÜWÚFgq¥ÒÚ’$Nt.£[²ÌUôX†ªDéôÿø—øÁ`Iã*´Ø]¡ŸtAžûÞ™ÙäìÅÄ©nßZ ÐóC¥ K$4'}ÿÕJðv’irçá%y8j¾E)CKü²Ïœ[ÈÕ˜÷´”ik=Çĭׯ»(ã€y´¹ÞmüÓ«§ä¯Ð¿¨{j\±9<‹â¢1#Œ€ÞãŸÐî–Ÿ…|)i+˜y}bon“TËO³˜¼¬ÎÚ“¿p8ÉÖ_YGW*r#Ö O±'mØ3[þ"•…²ì äAj@a*­šÁ¢ç:uÉݺ¶—Ø…tÕ$êëúg…(¼C·¾rÙk nâ9TXûòÇ ¥ï¶2xƒ0ÿä.FDµÞ¶>…»Š!­Ãûø]Bª¬ÆèPL®;OüéCþ;zü‡*ë+[èâewu!ªi61ï\>à×€PO´'N¢Ûöi­nµX*3Ó©s[‡í[Íë÷L£š]& °V·ÒyÒø=Põv^L®¹›¹üÆD„ÀK²v§…ÚeÆmMyÀœëŰ#6¿˜²ˆö ßïG[ÛÄ<_"®¯y–61woÙ…5Vÿ¸‰—ró&‚\§“q|IÔK¼_ùV&M±©éÂ&}z†bÊÖv ‚C=#Hd3r[¢¦}kXTw/ò)qœ‰Á´ù±#¦™V…îâKMÒõÃóP*OƒÞíPJ¦fˆPNP¹·Ò|«ç+¡ÞNÛ!ÀÙd(ÑÊêy¡PXi‘6¡5SÜëu8Îåumƒ¯"åùÞÕ‚' ¬1ÒTâŒ,’ka@ͯdzäf ‹›e;Ëÿ¥ø8¦Ë_ZdSÙOå¾JpyʃÛtÌÑ+"­ Àoñqœ²k²gW5Yô{è㤘Þ·â$dÔµÖÖƒýJhšÿƒŸ;h ßáLlMýY_g0¡QÀ““ÂXƒžr‡vB ^|‰ˆrE@¨);8‹ÞQjMÙ6úŽØ]>lÐï&ŒR ÑY–MyO×úÔKöno:_Ÿ\X?èÇÛûÈsùR®;ø#ïùúb%žGf@ûJå¤ùYÍpGo£R?hA½ó„dÖßîßúÑ6öÈ^%mÆÌ#ÖWD*lü9\€ÅÊ(m@ÁW÷HUmi’—¦+Ô4|LÐP¸[”V¯+ØJ ƒ]Þ“©›–õõIôØ_†­¤u)5;) ãBźÀ!UÄ&“2†ÚkÕ¡´­ŠÉþoܱ×/­g•µvôÛÓWž]ã㙀 Ðz2G¨Äg»Ÿ#Ðíz~«HÒrç«…+×’rOüÉz_c¢ÿ{;7úcÉd¹Š¡Œ¤SšWA!/-GùkÈèn•Ú8Qm±Œ…‰ûœ= ƒÑ(åÚPì<ÒÌ7ìoõÅ£®„%™è‡WíÙZ†ÞûïÔ¾;Ðys¼_6F¯mHvÅG8L™Ä£¤Oº*£Oôœ÷@äÞ6'/¾Èybêó›Ô”³L\@»ëë½Q†›"ŒEž2Ð á¨R¨€Ô1¾×ÝÞ~5ŸR­$z±‚ã÷zù²5XúdÙ<ÃhPnéü÷²ì¶]U#s¬Ji þ0¬¥ÓÙ?÷=L9SPè(LÌ*-Ò toCZáÎÑ‚ÿ>×ûXKâë¼Ü#5Þ8Ÿd;n’Ó,ý¿¤½„â –E.m³•e@€“ƒ&SœrøH½°ù^ù€u9Á“1öôË?zp‡O…ŧ„º§*¹8Yv'<‘ œ~QÉnMmŠ>A?TwK¯´i©N°°ûø_ ªhfGçݯ=‡±øîq–i’v¶RÒ16CÏà9 ÷‘¯ŸÕg¢µHÇí¯7F÷DÈ¥üÞ.”§ìaÈ÷ð¶G›G¤‘ùã‚x,‘†w*-‚ÕÁSñkèFböw,±>®RÝ<¤°·:ò« |,ÄL>SŒ)ÔhÄÔë6í3XQ•8“>E¸cÕ5£ÿ|‘Ýõ99/Îò{%P‘Ž_PëÙj•/»³Q[>I„2G”Tµ}\‰8ý@¨9@=ð*u[µ~ÂÍLù©–щòÇu3!ÑëÑÝW iÅ~`íI’´ÜôAŒjQŸ)O•*w Ú]!zÜ= ÓKôC¨m‚Jڈܽ‚^hž – ÷6rПÈmº»«Ê¸´gŒŸºpÎ4ö¦ý9'gw¸­-…/aoaü²(äJdŸ– -­%¦ÿ¯Åzåë7ÏsÝ«ªÈw¦×9HÛäfÔ0©"õeERpcÀbÒ$+€£;çÑ¢'y:Y£ü9ZÊ\Í}D˜‚Ì¥Ôù‹Âq½¾EÑÉ¡”ò-Â0+ìÆÂio‚ˆkAJ{‚ÖÕ—íÂüwå(¿{ÝïèA· …­€ˆ†¸·Áwô®æ¼È‰Õóõ#ðu]7±8_õwË­² ®ÉÅùjóÉ "PQYw½F)Ó¼qn€å”ð!¬aD±!¯§òiœb%ŽùÉ:GýÊ™z ÝŒ‹$²¸i4@¢_ˆ89 ç2V¡m0r¤²¥}¶ì,Ý)&|?)¼IùMúŽH€?¶ã`"BÇ(R¶<ˆK0ÍóÁ·ÃRÚ÷-ÑHÜnˉ(Ðá‚2…¡_§æò~…RÔÝõVi™ìŸóˆæx‚÷Ñ×ú  Ù /®:Õ•–î.œÇÔ)ÿLäÐy•?¯Ýиe¼×X$Žögçžâãó ã™s$áœ%ñÃîÉüµëëûÙPíâõb( ô Xéc#¡>Q*dU¥²¦YÅ ·‡]ý¦Åž“¬0öŽåã*…„óÝ!7äm^£tâa°©ÈÔ‘ƒª… ŠÜõƒ£’áq3Ž7¢i2Ñ*sø·»ó纛(ìûRC‡YÿŽèÑ7ö鯭zBúIÛÕUVQw—W"k`Ž6>èÕxÈ(whõâ’žŒµ°h¯™^÷Ÿ~a«h÷{X0 0¾87³¨„N”Õ.LÄ]ñ¯ð飔]ƒo¤0ÙµàUÚ§ìÁ£ëîhf¾sdÅõJߘ‘Ä£àÿl|úÔ¬”Se]¶9¹^‡UÞe:»·#"½*A¸º¸‘$W¥ßÈ´²æ`§þ±N«†~Ñ—5nýfµz+~‚SÁ^ÌfËÛU°aÇæ:‘úï/^ÔO,W2†zçå³xi1=d<ƒµDeáâ)‹òz‡úqXLK‡1OjèÈ4ì1OŽìaò êövàÌWîH%oÕíßÉç2õ­»,Ž6q L²m™Ô•\ã)<áXþ4KÅãTðÏ„§ „ÀÂSm–.gåñåÇ{FÕå¹aø¡òuÖ‚ ¦5¢éœŸ·mýTý|ÙKµx3Lú}2îG*£uhŸ¬õFuBÝ·“‰oòò‘‘…Ò1;ªç­™ÕCË7]UÌ&(°´5œ'=`ÊSÔ›Œˆê´?Ñ€NvúK¾I²‡%#ÖbÙÜÂÅˆŠ¼f_ÄÊ!LX¡Ä<;«5n³j»8&|¢8N‹*pîn\œÛF¤þZ!–r¨O-L!ÂKtýÖ/S*ïoä_ØL®8OeÈw Í–0­Œµ­³ÖÅoF•qœIÐJ€×Ngd‡ú±„v§•sÕBƒ©˜8Bv)´¬X5 ÎgLçÚýèg„ˆ½ñzsHâX¡©‰÷]ímYà¾ÜB¬nakâh[YªpŸpêú<ðš#CtŽc Fú -ÇD;(%#JXšŸ¼_¿ýܱýÕþ,|¸6úzþRFÖÜá…¶în5ÉÈqÿ8 Üû0mÕi®ó4ÿ»uæ9b<††ÉKi4M&¾ý`Ø;k¤¥ÄIé¹qHÜ:ñtx ‡¨ËN뜜ÿ ľoàŒf"kúáRò³­=ãëÝî?©.W!ÌS-}š— ,)½ÔÀÓš%G3ÀŒ‘>{ºÅÃ]%¢|žyXÆÌ2üUš§;¨q?£@é1ý!©OÇb²¦àR-BŽ}…g®zq¾Sêd^MO Ÿr¸ÆüÔ`“íÌUØ÷YŠb›ÊžG!?²íÂ-^^%He™¢@F¸%'Õ‰Mi±ùìóÃá¿÷ŸÏó‰w]Íó¦ÏExÀüóLZ[C-NX;dY÷‡)q›²¢{‚xiß\<üq>n°7ÊgþPÀïéh18 ‹ælÿ_SL‚M÷£(]3¯Íwe>Ýâ%ÌnÆ}Ç­ÿµ@p’tu!l‹#?á$¿´÷ª³”ïÈÒԳ̧‚еs­Š÷z˜¯‹3¯OSåü\î¹¥²³Y« ¨„r&šÂ iïÝOÒt¡|ÜÒ¹iU¡²m«,õç~±ãp_<Ƭ$p¬4z‰‰ÇN=îtX–ü1Ô{ˆïûr˜]P =Y·8&¹DѺҜ}aLú‘AÇøSÝÓ«/Šu+7ã=ÏZe¶yùúµðA6¤ò ¯qï|4ÔH.ôc7NeÛÞ;™–‹M 0ÞŸr6Ä•¯î0ì ó*¥‰?@!dÂð)5Wä\8ÈF(ÒJA…Pz@% ¸ÿ¥ËQ,ª:ý Ê„Õ:MI=4l¤7Çs(ì®Db3ÄÉÓDt.b‰oz†™Ü ÍìžåÈ&Œ§Š€&µø2j.¸Er±·ÙgBÆ2è,X¡øl„O‚Pð¡ÊuÃ@gœÝå·Û_³Cóã| ãÇ)Ã4"ñáýcõj§ Vö)µÔ@]ú²„)(DÊW£ž3tÉ¿Ï © ƒ›µ]×JvN·®è*_ K~oGdKDÖ[O1 ÂÐXl=,ë=z@ðüØT·I“Þys˜d7R4 MÐÉL_fJx1ѯ.fbøÃȇ‰kM¶-^ÓÐTŠáƒ‘‰ÿC°OPþ§ü&­¸ä¢ºR}Çjެ@¬¼@bz§MÙ§A0øõv=5Ö\ÕRø¡@\æ=½ï[流åń("9Þ˜ˆÁèNûz˓䭲81¨³Šº}Ò°$ZLHBQàšˆC–¹~5\Pl3CM²& ´Yߨ3!QÍ‘õ1üýÌÁÍDÀÔÑ-76ŸßØ…EÂø©ù„EͧêŰázÕ¢F§gƒEÃ÷1FÛ›óÿ €lè-!9ŸÐà3ÏÙªJz§œäñU’ÍýAìØ–FÖ}©æDúÏnc–_¬ÉÜVd‘Dt‘ù˜§s[ž‰ÒDòÿ?œóŽsftçdÒ88®º7GnGÿ€6FIUë?@;:ÃŒaA.^-a>KÂí(°q›Nòhíœ},W7úü„SKÞ\ø ËÏà8ð?MíÀ½¦Éßa£†Íþ¡fˆ L\¦‡3àÎÉû‰´™x¬âª½ÿizãŠZ×OëübÅ/€"o,Ýäû5õ~/eò—¢Â+òrG®L£ÊkŠgWÉÒrʇS†âØ”8$>ñ‡»ÉOÖ¹¥¡¶ò_¸ P›RT”js¥§DcZk]e%vjÁ£}•Nßóéí+ΫõCÄ â5c»Œõù`>aIô7i­&Žú>%ìú¬¿  ßõÀšóN³£~ËÜ¥îJ‚¸6;L|œ?¦éþ×tI¡žF„4òm&3c‡¦DC‹lä.ÌA_OP ]WGß7m± }ÏZ±Ÿâ:8ÎY]…ж€µ'9zЬ$–09f—!aBL…ÕPbõ–§>iõ­‰°ŽcŸ5©†I8]ªÊ/Nœ¿þ‘`¸àA‘Ÿ%W¶ÅRCW†?kÛ¹ßÏœØÀmm|Šk] u:†’[îQËqÁÖÝ;‚^iH"F¼5¤ÀP5êrÇçÛãLO6­naky3òùa4•ú‰h£9G@[õ}[+–šà@ë⯓ÝÅæBW¢Ü‚³<é–IñÉ8Ô ÜZg9lÖªööíKùXE°N½e_ည˜pûçÅ Ä®òv{›ýÀóüj;.ô™6\ªáG4R,Û`˜‚¬!¡6ÊHV­Í_«ÔÈ>h·a8Ì" buÍü¸L!6ùÚÑáöhÛ³kñÙàfÕ@þ²ê²Aà¿f/õ„Mõð w›P¤_ý ÇÙ.{J>ô…)#6×€ú#w!«G˜ÈJ&ݧ&´*å[}d›CÒÕÂtñž;2"]v牌 z²ßÿ»×˜sh žÀ B4Ϻ‡±þ73© .¨£0¯þ;ª-!èêŒ`’ãøšhaÓKê‡_Ae°6X£ÑwqU€î.Î)ºAêMvhÄø€°ñ&üxñY Çz —¿hÔ+€]=*ž„`ã¡:Ù"×ÿLY#}Ú¾q“hËåøá&AûŒdËÔ’àÝÁY’äuùVÍ„9ˆéÌõÁQÈÇ(’î‹Äºš#§6b¸D;FM$ËhŸ1¥ëÀû.‘jÁ¬wu»nâ#ó2ŒÚ„@ãk(Ü/ÌÐ-È· ¼ñÞÃ,wàcirç8ÐŒZ&=w÷DqMâžI#–ð.9ŸžüCæÓ“Åú43–öëŽ]¬‚Û„.ÿ‚¬Œ–ç5Ó”+Œ+hùÓ³ë3Ì\»ð©äŠVÅ›.0¦L†.?/—Kðò%sXcfufbÅVD4ØE.³1žk€s—tñÒéáHA÷@Sso¹ÒL.$ÿÅ•÷àÄÁ†}vö–³ì&TE|Ú¤sÉ cjýTNâ?¶äå€B¦ˆmåÓ7„³™àñšéD£Ú N)­´a,½Ìw"Ã.F\aµA˜›O(ƒ„ì«;•/#‘m&ÃÔ”¬]ÿeõ^Þ 2å%íê5èkÔtJ¹ó¢$’~ES†ŸÂ'³´ pxhK62 U÷ASîÔ¶+¬ 7‘G-'ä-Ý7¤I^‹Yá×®!Ì»T°‘cÓ/²SšS)½©hÃÆÖ‹¹ wÔˆÈÍæ—–¢Êß?.•3€ˆ½­¢¾¥ÅOUI)ϵ¦¥®ÿäèŠr›ãܤ ïA¬xÏÂï5P¨[Œ ÈEªŽÎ¶²¥kìÈ–„bÓO¶¬Aî®± „Í­[ÃökB{< Á7Sè|²Æ"Nã°À:¦6•X©]gøöû:.DÌNÕ·‰«hE~VÉ–Ù¿’2þ×?×+äj6OØ×õÓùÖB”•¢f¶0F)Ñ3q¨P%tRóÆ",ñh"‰qVŒ2Vw“¨‰Å«V¾ÝM-DÃãEpÿ\}9¥n¹ûYZ@@—[£úü3ØK„Â6ëíÞ rLt—ÇŸÏpE°¡X4Ü*ÉÛÆ\2ÝQFÉâ`B z­—ñࢇ9܃D_ð¿ rá=Y[6§—ØV¥ ês'©!€ïŠÙ?æ{6]lF(Ч%׊nõ†Z¸ã„ ³ž®CuaÞ˜m}Z´ˆz¶>›ä½†2„Í%Ýña7v¼ÆókxÍFfÈ?t_©%± «†;¬i‘»ÌŸjš÷ WdS sÑ©Úî3®†ùÇjq³ SÅ@{×°x ´êÄü€ÄŠ\´Ð"1i¡W kã/£'¬NO´í¦Bø°[Q—€…›7ð{ü,!h 2ÄÆÞO.=0 ÉBÛÏБNSvV–¸é·pGSjpP.Õ ,z=%-’H³|øñ,¬,(³¶¸âQ}­™ ­"òæô^• ~÷ úy±ÊÇmtÏŸjéo[xÓ>|1OðËкèfG2ãjF÷ôÎMVê: ¾ »_šûªµbîöpgïÑly¸5΂.䨀éÂ|}2c¢_sâX!™t'¸Të…Ö¯·Òô>“îtÀœ¨èG¸þ‡©&ŠäÉ* ¼Ã]«°ë´îRQèÇnÖ«úšlùºAž_AÄm^|0b!UúË£øzJ½]•=±WY¬Æ;¯²¶_Í÷úqµiúc6ð!=D&% ÍL–ðç~r~}.ŠNWzBX¶˜»œ w¹qó‹;5Ò;&3‰ÜÒº(w+¸L‰´5¯MÇÐ [ÓŸÿ§0“â‘ýžn\³‚•23º'ý‡ôefðÑ9nÎPßϯ=©I‡·ÚöE]ª`ÛíiÈâ…v>¾X‘ ·£àÉAкHkqÇ ›ßÍc¿¹ôËìhŽ>ò7kQyÔ­ñî>è%xÓ0ÜÕr—úiîbÚqU[dtüÅÖ‰+]c åªhÁµ½ý»¥$Çl¦¼×ˆu[ïžM n.\AEŠn3s#†¢ä¿žÝ¥&NS ¬%‘Z‡¼-m̦Í;Ñœgæßv§`Ÿ"@zY¤ª$蜮Zê‹K>í-´aÉ¥åï `A-^Q5ˆYØ q °±qÛ<`Ö 0È\ñÍ„aÖ§ú~¸úTüj}l. ÄUts.ˆÂÕÂ~¹bøšã}ƒa´ _·ÃJYjI¢ÍêfmÇX`Ø0$ލÑ CÚ˜ÔCµð'nÂô¾¹Ÿ#V<Òy›,”Tµž¦õ@ùý×€ÜhC.KŒ*Tór«@˜•‡U=ÑÃQÉØœªn|¼•€°–®.:~â”Ô\¨Ü„k²ŽÏˆ1eGL‹CŽ«cÌâi9lÝhÔSž¹üa¿£qpSc[¸/V'tìgác$»ÜÛs}Ý:ü˜Œôï{Q¿ïXg[ ˜'’ðß„ tfÔŸhKÌ«ÂóäΖ·z!Õ¸áºæî—‡Öø_?eŸ¥4¢ü\cHšÉQÒÉ ¡¨è°¡pÒ;˜Få8v‹ø²”vË'hß\UØûeœâ½5JNÏÝ<¸é±_´¯y6“)uœh…ÿ¶GÆw&oJK½<ômï'Á·†ÌÕܲ Û¥¢ ›ë=ê½ý¼¬_2k>I•³uíxËigãNŠ«¿œÜ3¯aõô¯åˈ;2}ÞS¶ˆ¦o¨ «¸©qŸ}0DÀF…oGÆÃÿ¹Û°¨ %ªm6ä`‘:Gµd“ÜEú•ë*u­léË7lÝøCˆÃ¨ nÉ,å'Ó´¿Lm7™ö >ŒsÌ5âÉ ÿ§MˆÕ¯ òÈQØ´NÓóø1Ísl£ªhblöc„XXÿùZýÐÊ"R,Un€YhþJÀÌV„N®Øêõè»…¨6Ñ";¢Dñð‹ð‘ÓŒ6ã'v’BèÂIÜïe”¦_î¯#Ò-!"'~œ&V4wJ'Ì%™0ʉ`ÏÓVi#kÒÕÁ®Øvð±„ÆÞ6¾ì½wlËÑy(W‘M]5#ñW]V5sèýýY:¥Ž|Œv©ÏÙÏ7Š<"5×aK0I®úJ-›Û´¦Ñúôtøk.€RQ…â´Ö ðî‚;ò(Ñ8Xo´vµ"ëÕ­bÕ| Ä­ƒ [¯¦Lz}&\Ïü ß Ïé—m Ж‡äÛIÙñÒîÇÿÙ2køQÁ;˜‰/Õ\h5mš–Î)‚Ý–`ÆÞ¨ÛÁÅU_\-ˆuæ<ìòž¼ô°BÔtv¦¸m¶¦Œ±`ƒã†ç[áÏ.@™¹drö8Çâ8‡Zæ!€î\Ÿ ší§æÓ ÿsTK挎 ²þ¸©sb¬š·”&!dÅ8÷i¶•õ‹QÑc,Fï}’G’á ‚­}ŽØž­¶¨[Ÿ\– ‚ѯX*nk=³AI¦'wçÖêA哸¶E£5ðnBrâ0ÞU±G‘×üpÝ.}¸aHÜ8 WȉñFJ‚ñ—çtÄÄ;…éÁ)ŠW>Ì:p€^C(ª…-5áÎU6ã·xÉ*;‚V÷ô(ÁÛ*m(¬wX9€lœQÂôBýqÚϋ·FÔ¡ïþâ‚9g@ö!d7aLòº`,]ˆ³—ts~Væ¹e!L&æ çÛ®§Iè^¯:a’ŠGù?œ*9ºO¢FÒiàK\ìÅn¬ýR£—q}µþ/æq`¿©âë"›75T÷¿©u,`Ö¾½Â†(½U+WË`]@?^¡0¸oø%Áú´R¬ÁÙÉ›yr›Sf5›Ä[Œœ1ÿ” º|š{í õêýGyE`¡‚ǤQ<²IVj¡SŠQÎXØcÁ WÚêuy/H«|Ù%?dv¾Þc£V¨)—ê=½Ë%4FIÕÛñ¸‚†jN\æi˜,IpÊ]þþn–÷¢U•C.ç8+×ϲ–Ï\^Å{'8‚°x±E1¯Fõ{éo€]ü Èψç{è<©7™³<Ùkœ<Bël"Î •¡áÀssÚ§x†7–ê?ó9¸÷tÊõÏ)[¼Ègïޝ £‹8É Z¤ ¨%[”ðfá’i÷Elî._T[”škÓm¿"=F÷¿Zðß–K–·ŽŽî ÀÈôtý%+΂6( ˜R½i}ìÕWKcžz¤¤Qƒð2ËVµc§ü®d~ïWÞñ ÙCq¨@Üh7FæWŒ?»ó=o¹Ÿãï–*‚m|²SéëѤá»uÍ]‹(yµÂ<ùîqé ¸M{È=¡Zèýt4V¦Ä˜ò²wKçÕ³(1c·2tPý÷Û3ÕF°“R‰\bÇzéè¡ö÷ç,Oº©6YC¨s-:ž¸¼®Š“€f__ÏàìGÃ/àþɾCu#†VÖ`]HéÊpúš'Ò‚Wñüÿ›«ü¢5XÊûïHÈqRzšLiÙHæRX½˜?k 6rÕS¤mhëëþQ ï³2x^ølä¿âŠãJŒ2,ªìüéøóþѨ;±·¶ë¬÷Y o–¨¤–Cå¯úO‹"·Ì{¤‚ø×g•†´>ÑŸd57!É/mÈé¶&dÌè׺åecª‚Ón–_!UG¿ LU¹YéÇ7².ˆÈêÊSÜY“ŽÊÃb¡û—X¤cÁ4êe”ÝÒÕ·l¿ý"}’€óbo4—†²e§ú ûßÿΨ~Á‰à’áDÔF€e`W輓•ôZ}ÁÝòço¬,&‡ñA‚ú°pö•<À¥Bñ-È'üÕº~3'à’:dFñÕª®k±éCfpËÿy´U]…Lº"üºáƒðÝ)î…s-¶yÕz#š•÷V­j¥ñª“ˆRaÆã!·—åRùyg¤¤A•’νñÔ9í´±Fgþ»óÈ2—„¿+ñ]ža盀Ä^a G9lñ 3LÈÝú^¬;àí>ð?CL¹@grÔ!I_vÈw|²o á"—;QÞš ÆÅ,êNÅÖðZ ŠpÝjºD]æt„ªü‹A6ä›&´­˜FLD”Ä…ÿMÐ8j‡ç« V¬ÜJ0½¾–qÚPc#j$@S¨à1ã…Y•EÃmwÓ™þÙ`ó::¢™ ®[LŸ¦Oy,t(ßÑ¢ÉÊ‚ËÖ'Ò­¶»Çf™»Nî~hìÌõÍËhÜ£Çøâfò:€Š¦À/î9°t í78a†›ÈÄ“§ Óë½ÄÆ"ìêE㉙böt¤\C9T§… YWRôò RL+ +¨,»Û0«Nˆq¹2½W?¸8ÖÉÇSûûˆ A)/ ‹ ´#ÄãóCcú:üGþª dÑX%5´MxÚ*Õ»L9{§ç'M£Ùqé5°BˆAíÿ(¸œ!‹ çI}m‘t(1Ó—¥è ³ A[åYÛ‚t{ÌÛܳz¢=+«œv›w‰•Âèd^äUƒMÌæ—ê§÷ËÛ¼ØPN±4(ùÀF÷§‘iÒîor£ùóPÀÊÈ]U‹êö&.9 íµ¤‹­äá`˜„á;Þ¦J¬d—Ìu.8w=È=³ãž¸„6¤_õ 7ÿ#“M*Nqß{{ª4fZ†Ï©%=½ÅÁS'?%@=¸Âö”R"=–g·C‚y↼ T¹zµ1Y|¿o;£PÏX¯ ^ûÑ}õº‚îY©2!e#Ü!8\Á9ØÒÅ´¦$D/î]È&8@Y«ÄOj3²íL+Øk­ôJfAMè˜2|ùs$-~ˆrÔ+ÞäCç.²f®×"nî¶#P<ùOSÉã&µ@%Wà]û^N®^®eÆå¡Þ„ìß.«³Ñºl*¿`jæEc][™v,A%`^3­Âαy•pÁ·¸tá3æäF€´ì|·Ó䬿 ¥;¦¿_ùϪ.-„Ïg’Õ x'i|¾šD­`ØA¼Þš¦q²1nlz,knrØÅ¼fª¾X T 9 –*="¾çŽNˆü>òäŽ ‚*ÄÕÞ3€£Ê¡rÚb1V;u e{k<ÖŒÂTL à T i$Á±!cË.)Ë×â$c¨¸Latº. övcwýrG/þ‘ÕË{XÕX}èÿ50% æªß'ÿ– Ö?!N|íHªqÁ€ÿ…˺î=(Žš¶#ô ±lÔp:È]DÿpjF؉ úXš”øu#ò7™ò²nöÙqï¯$¥®ô¥bµ÷_@-åÈDa¯†m`͸ñK­€U«Ññ/‚]ñ;Ð@êàêê'èuÍIÙŠ)ÚÙØ/Á·²õrÞMyæµT|-uÉ¡ô¥u¶ç·{ìV“+‹âi¬ 8?8W—½7Õ?:rv2AJ‚g¬|õ¯éÁ¸Áð1W£ÔŽ7¨aÓ°¯OÑù·{5l]V®Vô,DØðÅ^Eþä× XxçÀ9/è6@}_º£¬PíÃ%Ùˆi ´´Íæ@kêÙߪûwÞYOô.a¯*`‚[–ú/q_x9&âi SÅ,›¬É·Þ£&ý´½¡ü‚ɺë7=¹92ò‹F¡!ªG—ê¾²«HN/¯øSÍNÆ »_\²¹—9àý´GÙˆ˜",z00r¦çÒ`P:Ífüóão€© òƒ£vý8òÉ¿Bf^‰m^`-eGh´ÐH)-6^µ„,¡Œ.ÉŒ£2}Ú æfêîa÷èÑ)¼vóG—p¯pgFeV '¿®Vü} ØqJ0+k´rÍÍ®å_†™õ}ÞOò[N¹ý ÙùôvxsúÉ•“IE5ÇVEýDÒöž¢§˜7:„îû`~WU7h8êùêò]vPÒ^}«­ÓŽM-g…앹«e2ñ%[xªlÂ$(u5qPÔ$gB±š*{Kð‹´äçô®«_´mÈ8¬nØ‹-ÉÀï·¨s#d]•tdzº}ò3:§#’.šÍT BÐl™Îztâ[ºT—J±Ö¹z7TÍýQû»{PΩ–…5+œë{ôN~ÿÝn²E‹‹…m¬?IC뇣í+ðÔ!6ž†üã³-Ó—Wíð5èóçVÍ$ÿ!ùèã4ÿª´jçME+…ôBð2ñY1|ñÞã¯÷Ð`àÊYjAÕëG ÿ!Œ!Hø3€äÉt:H–´|©_¶Ñ_%ÈóA¿}”ÿŸŸ_ #eÈo…Iu±ÙÛxf¾&5Ý"+äâíæŸöjû½ý2óàýÔñº!Ư+Wˆ·²º×¥„@7.©±‘²š¹Žs$Ê/ñ¡YwÕm|ÉÕ÷ùÝ‘¯¨ÌwÛ¥¨²¡ C´RY¿rzÙç¶â)Ü˽áAÒ»k/Ó\»xÔýY]LôÏFsù;=*˜Ý¤ÐŠo¶’<‹NtîЙ½ÎƒøH¿äüðð¨ØW#-$rkKy‘«¦ÒZaˆw=Ç’…è@jÝ€x!JHÂr÷é]4‡5?ë/öW΀Ä f¾ó*ö¦ê«Šº'®¥ùå6ú?Ö1é…°ðdНS–ZÍ_=Ä~ïî‰XÜ'&á‚’B¦Âü¿ß)-/¹%EWv¢, ª¼ Qk6ÓZz£ ‹’WWfˆÌã0™2À¡ËòaÇímY´ó/v ìâ~kûÖRÂù®®>Ñœã7¨þ™`6÷’ëÃËXïFHdÞú[Ä0¶é¶WN÷?´µèc¦A*d M©íêw«Â{4Ï…áøÀð˰êTúa±ße¾Ltš»æÉ3§p‚”0f5^#VSPiЦåf¼;`ZèÍæ9Éô‚xzr È8s°°dƶW;ÚŠ/EéÎÇ´z1ÄÄö›¶ð3.÷ðüëø ?kl…‘.ïc6ÜáÂzÖíÿa¦EFg­úàñç†ËÅŽ” Óo±xÒ÷ÖÌSîß`¬¾§Æ¹CV›/ý?M¸äzijšÎ“‚pFC.‹ì>õM†Ï ×_Öuëóæ NÏ`¼QàÂT(å€cŽÁàò/K~ýÆîüì‹QÜM«O„šcÓax0»5çÆÛ2<¡à uap¡@{œy2{…f2ûfó–•}¢’óMÁ¬‚ìØƒm޹ì.ö¤#ê)-™S6Eµ2¿ºw2ª½Ù[å°u%9ú?#1á;#´êÿº,¤ð"´&Î`™eµ!W™0^ÃVc:þÆÛ™wôÙ,púJ†™Ÿê€‰÷0RÓÆÀÁËÌu|CNÊèºì5Û U«l:hL½x¨2ÐZ)X"„P©à»ÅŽœ—LíëêÊš±4¾3:_ψ~ެ‚‰ÉµÊ¨eÈ×ï?™Ôƒ{±^XkO•Û¿ãéµêÉi¤1åíº-7Ë’þœSÖ}ÁRcj ºe'Èî÷ií*'îøË+þäè¾'k–x¹ÜÔcBÐèÙ?Â+Å:±H`ß)}k%NÖª•7¼<7vÊä«@ïP“’˜îw ó€ þ;×ú ѼÁ' 0Sœ¡ÀAl)^ìþ{wñéºÊ‹HìËžz«NëAšßfåþ®­'2ˆ"2*Jã=ðDföŒM‡½j"&ÃæA÷ù—×ÐV~œ*!…ÍÇ1ìRÜêÙõøöª”!A8÷a…y¢´¸ /û³(¸[÷ÌU,³J,v^ÀêÉœÒ96zc¬Rü´äL6Ë“b5•˜H½ÙÃ˲\ÖrEÜ?q4績å18ÊGí‚ ø5¤5õ*î2Ü«Çz£±pÙÕáeYAñÆ3 œ`Ì·ÐkWHdZ½2P’Ëô³Ú|Ü[Râz¼.š Sàñ‡Ëf¤dKÀAxãÜÙBˆyè'¦›z¯¨N¬¹šÅMDME®i«p_9&r¶Š#e–UnŽTŒE9¾eÚÿ~úçYšoxã@Û1t5Oeò>7:ª˜ ´K+uâÚ'Õ^H~¢8Ž+R†Â?c.vrÛÙžù1g¹€xhßßÇæ+òS9:oIW¾Ê‹K•š·×hV ä>jQ8Ͷeù(‚âÊ&÷©ap-_&Øùü,-üÃ,q\|´¥-€ªˆ€4¯‹÷“]çá§®¼á´xžtמEc^A©ê¾fÄÜõ„Û8eitáï@}¨#©Ãƒñx¤úw§I\„#HÝ¢—–VÒ(~N÷“øÑü#c­§áÞ5å—\fôŠjÌTMܹèçª5OOù³\$N)¾ž{+qèm…ßz> ü‰,QQw”댌b©<Ù4ð½>7±Lo•P$mt2µMLO»3 qB«­› U€øzm[-·KÌk5l@›3muê%”,¾†cF6ØÂ¡~„´ pÍ–Ï€ƒ¢Á0]€@v¿$Ó”n͘…‹ùx¤K¿a‰÷2ÎñÁGtĽ˜ò‚Ú£y¨‰CúŠźÝe7HN˜âÍ€‡©û¯²ŠL @úM…8UÖÇ›«q‹óÉÉ Oʸ`j½Qú-†~·x,mY_#x;Í•˜bˆyA7¦{SRíéÀã­èªEçdT.©‘ºZT¸ß'ôž0»«™DÉðûÌ÷ýÕ­,Ó+^Ñ W¡MB”îú„1*‡¹hüŽÒÉ+œ[þ ÏfV @Ë£ ÂLZ_ˆîÐ j ŒÆðöl!‚|f~¥uѾÐ8âËX]f})Saл_ãâíµ‘Ïì|©Ükímƒ®½Ç»Ü+Y!aÖ¬6wé‚Oç™$3`äge”Ü4bÑb XƒڂƆ ± t”ý_AXªöøÕžMŸŠ„s0§¤%Á~¹?ëÿŽM©k;ç‘+ÐæÂÎצ'^8â•)x;‹¾8ò(”sæ¦ Eé„be\úiør0SûÌÒÝ(¯Ïe/ÜÇ|—¶ÑºÐ¯{~¨¼W4!ð+*J/S"‡^à넚ͶU‘ý¼ïþiÌ7kÖÏÌý¸ ñ±¯¦™çâш£ç}e[ÎME­ºé&iÀzæÅÏ™ó9Ú;ñäÚößßRÒŸZý$fcʶ¯QãÌÒÓ`s:Š2Çk:ÑUi:‘[ƒq±vñ!è–ÎÖBc§k Ô@nÙ¶ÇsÁ/R@RAÂëÆ¬Àxº¹£OÚó̹z\&€?¿’ØäôŽÕx< >‘¨M¿_ ÿK@ ³$-YÕ?ª%¡ð÷â hn+ùyÕÎÕcÛÁ#`ø²2C"šcÓöuy&׊4Kd sODñ/u ¾,‚%$’ ÆroˆH™SµT4“a«\RèUY—¬03‚Þ›±bõ¢Ì~í½X-¤MðNHïi\´Oý;‘õïšH@!sTÈŠ*+<^åI]<°EîƒU2€„‰ó,î"ô}u¤õd¨¡ysCw"nE4”±¦ý (ËG<·Ù‡E6n7 aZÔíCñkÕjÑÁÊ®¶ÝMMÎÈymžZ±Ë(úžÝÕ§¦­¿]Cvƒxše!ìF:/†fú¼ge"µ”| ‡Š¨7 EU§7P%&s•¿P/¶þ“|ÀØrEšáö´àuò˲æs}Á’ SâÈ·W̓à]*vŒÓ7bñ=‰ÝìáfàÊê/.Ö¼PRˆ·µv¡¥Oþá!Ô_;g·¤ž÷ögWóöP#ÄTÊÝ„*Á8õä ¥M­Ü‘3ìêOH2Å׉¤Fpyt JÍ´½¢ðÓr¹zœ‰°ºÜ^ÍÑô"ªùâŸâUš‡ˆÜ{]ÉöT áf>‡·ãN/•€ ô`æMÙ™ïšTû±Rä øñ3âê–óFH'ðÕ~g aðï»qØÔi àS,»}'ojw¹ûq\É4rºB>ñè+jÈf¤nqH7jžJ®×9øby1S½Ù\P~µ/\E[‡è´y'Ê_å•ëá<‹O`Äò ¥Âzä3“ˆÆ áJˆb:iúïÀðÝ”|šlT‹¢‘‹ ñÝЍÀ[™ý[¬ÊäACO‘4œë8ؤ™³ME’mòeŒA·¦‡b믈×:þÒh­%EòåPÆØ”Œ‚ÙiªíF^x‰`’çé£ùŒx¨¿èe§›½ Èì]³T‘ËmÛCGjË ‡#K‹>˜Ìû¾KÀ-:%?óÜ7ª­ îmHiû¹Íœ¸,|z¬þ„h2"3*‡wVäÍÐ ›¾"¥~#rl Qm¾áÂA?ø´kf~ÀÂÙ$LÝG¹‘­¢«nýQøª/©ç=ô;^Û™;ÆýÀâcéÍÞŽF¬"¼o=Ø2sü$Œ¥H+fù¾(f;\ŸkõÈ•ÚQ„Vµò[ séFh÷½Hr-@—ýFJÃÆX¡f:è–>Ëö[œÎ+ÝáI’°¢ ÂÉ Û[;öM9pö’§n L+J/6œf£§©†Å®uá~š—zü‘…INÚÐØÍëíø`†Í²K©m©É͇;g_öýÉ<¿á2Û"=áëæX»(©ˆ y/m¨.ɉ[Û$ ÛrúFfúËlp k¼áO„ŽÖô)¥°‡¡÷8°rŠéÒjžÛÝOÅn7—X+Ì2cnö|nrÿ Sd\U³ ¢ ±ET!½Ø(‰Åu}Ž¿ùù7óÎ-#†Órù„ør">;¸‹—P i«áB¶kŽ"¨G^ã~øá©9¥ö#Ï”T uÔzËuÂ0u–@´ÜÉáòùLžê…Þpúwb-ÒNbg ÉlþV5*ƒ(©^9J L‡©IŸSOþSê÷3^/5oMVyÂ!›/ТsIȧXÈ{­S~¾Qé’QÝï-[º#û¢ˆtµvj%íã‚´íeJ÷Ÿ£H° ¦ïƒ,öSáÈéok!Ý ©a(èTîõ¿ª;>*Ô& Øå'ŽÃV~¥[[a$*µƒX.p¾Üßû*& äÔÑâŽÏ;›)) | S=VHsbÐäLòÅ;j˜NÈéõuçq¡l8:±ûÞH!GbÁbbæË- —5–%‡¡•?•:“ÃtIí—Õ•­d7¢pÄ·õZž”Þ ÉäÝVu1P˜ÂG+6f$–v/Çt¬„_«ž·$àÿEVýãå‘¿*ï'{EgáÇúÀÈc`i5ÞY„UÌ4Ôò©ëy̰Ÿûš’ Í`›/ áŒMƒ­X– ×¥‹ÔOÌ”1Zš8æ ’)W+j­¾¨Uc皪+'oÔ,Ø™y.%c¥cÕìtõœiÜF©˜x~í*óE6X^wT³ÿ4Æl`•±åµNðV„:z²4¶ê»ðï-)èl€û¬>5™ÞZí¸‰h,afQL}Ó|•¥Q´ˆ É­Õ~•3`½àè][z9²‚äUñV)¾ýú—{TÁ•ÀچѤb:º-üÞJßlÖ]fª'Q@ÂçÕ¥jcÕíæžNÛ}2IXHÐádR²ãKP„Ðÿn™ˆòÚÞÂ'Fc¬ÊßIÄlºc  )0ŒÆÂƒ(Ì¥ãSj%f~JÚŽ07l#T+£¨T>jžaiÀ¸¨­ešïlî\"˜õŸœú´ÌŒQŸÍ3E!mr?Ë`Þ™ýŠgXÞžâåMÈ]°å ‘î!54à;EBæm)Aø‡I4¸´©Ç®{A…ÜRáÂþè`;sð°Äm/±Rú$)u´HU Í!v@dy ±ú%ùxþT 1l¥Íÿ$è’Å͹dÛ6fã‰ôwTN RÞa-q(zÒ_&Ý×%‹2ħ3ŠËí´_Dâ÷£ðT×Qy=bP^cÏÀ¾½ÅyDé7`Ž 9qJ@ô¦Rg3t(xZøeRg\i ª /Ô«/;P±"RØSL`ÎæØdè7žÉióH¦kYžcD<ÙŠŒ$?R&¨€[:îÒh¾V†¹_•-ëûøÞŽßÇdCýõ;ÆSÍù:¥_i5J†K eÿ݈3×§ÖC…B× ûFn«Ê¦Éj²\°öz¨ÂÃ!3â—dKùA{’ëDXï}ùi@]ìù숤9ŠÃº>FGEmHQŸu¾söBBJrÂt#Äh§“œßˆR·á¤f­åªb<™Î&èS ûÙ8ºÊNñXéÕ»ä$’4Œ@OfA­œªëQ»Ix !¿h3p²¬i¶Aof/v%}ÈìÉH¾„¯%än8䞊ƒ¾þLL6<èy~,¾¡väia_Kj \oÇí³¶Â7é0ú{Tðÿ¼¨q—ºEQ8Á˜~}k |"g—\ Ǫñ„p‚áÜþ7TÕ„³ŠŠŽW‚œáš8Ó}Û¨HGÖ6< eüwƒ¼Æ][t$xN7IøT HSÌ!–•._”sS)·Ì„JKxTEä?ýÚúàÆÅ¦Üåqw+CÁåã1ýMJÏj­ßOï—x„}9lØQ\í ©ÀSánÞ¦‰$)$žhþdCQ ÖQïÊܰò+u–.S_Š~úßàþçáÝs" T‹—Åc²û­];º,¸Ò2Sé¹_“kÈ»j­)I-AüLb0´1;§j‘;Î̻Р•³ÊA>@Páép²«…YrÓÀ¸ Å{¸Ùf?²SÜô5“ĉí;Òvµl–‚ÙñªßõH)²OíMC\ÊïKDMûJTÁ­ÎK‰n¡ª|§˜È.í"i¾¬ªZ‚¡D–+^†®'ÙÌõ©{Æ,æyí-¿Jv¬}Ò0Þω99È´ Ð/PáÎùÇ;`{].ôxÅb*SHjq/° "Á²O¤ÿeœd¿ß¹9³cž(´ð+*J1NfÈн߱X = àyn‘âñ“% ü×ZÍõñ.qJãq¶‘cjOý‰"qÃÛÿ4oá܈̳j5¿&vx¡í0µ`,inûá’Ç¢ë-Ú:Lu!<†w  g\‡Ešý¦R®¸›çÆu$k=|ˆFŒ-ü­`a$þŽž”ߟRX°Çá‚+Æïïþ¶é.þx©F>!›ù—¯㦠$ †<';OnMî2k…«²¡[†q“Z|{>NÖJ(R•o÷ä h+`†:%÷]#m¬KÉ Ò. pÐ6¦Æx™3¾}¨hë[®  Щ‹½ƒ¢t¿`Î͹h>ÿ#âä§zß¬ÔÆÕ,ÁÔÙóúFªGß.P©{YÝ€"êÜÁwXæý©qà Ó*B¡Ú$¥‘;ð~M>-ůÃxÒ½¨£ÍîC²òž¿Uû<ûž‰ßrï›`¬è•ˆ‚ãëNÏÐ%ʈ‡{j½ð[«ñí:Tåè´ÕŽYŽn¨Ò€&ƒ'讯Ia\“Y4t´åìËùùòY¦ž“üøSÑÅ@ⱦi.ë3”úLÊ`r#Aì gk¿Ñ„o…²ô•Äå@ç&õ8-¯‰AÉ ÀpèÆÍj•í ÷òÊ–Nhg‚“+E»ž=ÿ}ãj:Mê}ùy"<%ðT¯QV´4õáȶåÀQÆp@z`÷p ;WYϨZbá;•0(Ȱ϶*F4R¬‚d‰¹Ë³ T‘îžn„‰]ÑÜ’±˜pÕÜzÆš¯S²Jð¼îðmi”:ê;Üb!¢ù÷†ðÀõ.$ß`7­\+“‡}ʲÎò/ɪ >‰.åè¸6|°øÕ.Ú2¼'mþÛF6+´;ùíkû‚ñÙˆ·K² IÝËc¯âvQˆÚ‹Bð8£¬NˆYyÍ3Ù¬ù‰…6éVG€ÿ[ËVpf“‹k{§P]XZ£ËÞ·ÆÇÖaêÐuyòto‚ ËqD¯/mQûê®ÙÝqãí÷Ô}‰ƒ“m—UºR–u?d1±þÉ…F;¡˜ =G3CÓy›^=òÓó@*5#$ ã;¾OÑ96ò ÅÞ©b-ÀW£Émy»NÓÄaH§•@þ ŽÀ`œa†`­Ÿnpuf…=kû¥÷JX“£, (?êN£'šXËEì/ªß8Z ]a¤ ˆ?<ÖôÞX-ÙÁ—ËQŒ¹¼>ÆåyVL±ÑÎ2C‹kÓ#¿Q‚¯ÿˆñƒðÔ=µš ÔÌñE®×<øƒm0N6õ@–»~D·*;’¸dõp)†ã¯`˜‡{ÊÉŽ&å<1\„±œ´}bï3kùRkÔ9g°î´Åòã ØsÐé‘ÔÛ^}€ØNur\ßæž‰“èÑoFܳjë¢{SÎÛXÉðváó#S’Ø +À¼ Ú@M_#d#ãÄlÝäSC¢Ulèi5µ¾w¯VÙ‚ö€9|úEºÎ\D<ž51SÂ5ü$K¦ÛÏp¹Ñ}ðà Àˆs,LÃÓH³þŒ ù/GlK€y6Șx;¦‚ÎÞÒõ¶'…•f,!,ˆtë‹ŽŠ´È n¤U¿@ \ ýæ\•†Jñ-»¤–…†Ó/Ù»Ù~ѧž<*ùÿ²/€Ž§#„Ððº?ƒ€Ò÷¨?ÿ;dÑPW,;º ‡P÷‹Ü¡w'‡½3a»úUFdM>q’ðn9÷«8x•_èÂÊõÇSB(£SW$VžG¦Lõòâ­ŠÔ‹]Sm¶Ÿ7< DpNµ$âô2NC¤Ä²×÷Kô=ÑÆú½¨¸ˆ“¯âƒO]¸rõ¥têˆXͨ_ž2t(Á a'ÜYî–¿¡n¿Î@£tdtÛ å>8å¿x¦æÙˆ"áÕó …&òŸ¼‰Ž\h+›.!Rù+µ"aÖW ¥’úË +€DËžœP°».| Ÿ9ÔŽÿ3ÐdevÉË·xÈhÆñ#–¯dõqŠÜ_®ÚLUçç}Xà Þ©gX0Lþc8V±Fo;Άpª©L\™Á>òl=Sk/мÒd†ÂþQþ'eŠÊQÀ½W'TÍO‡·Ÿ‘V-›w½ž»Ö5wÐ<^ó¾t»ÁÀ±v­òLàt¤¢Æ—i Ý à÷.BÖB–ªÕÔáìã´™ð;o=YCÆ«¬éèÎÖ•L1$¯ D¯ŽP3_²œû ñwR¢Ôov'òº7”CÛF$4˜ Ïô½„hžßJ—¯ 7sR˜¨Î´ž³Ä ý³ßåß '1æycT¶æ]1®`hÀI &£Öý $˜ø&û®ôS9~¢¥Ó@ãßÓ™BÖ˜!»”š¢ELÏ0ÈeëèW@ *»í½+óÅ£J…Æ*®ß²QéäNu¾èÛD¥†B6K.ÚŸä„õЉëáuý9hùYš·`.ÅsQ±³¢Vଂ?eïV޲Þ6¯ÇŒìe©ÄÁ9½"SñN@ó¤Œn%T;Wq횬í—%Ç"8³äó•:}*õÔ ²l¾µãá=»ú¾á¶ÆÅåôÇþp ²‚«<óõãFH§\"|Ìg³X9ñ1+?úI-9F®ÏPpRNâ£ô-úZì:!¿;Ò\4rÛº*•“C¯òȼI³KwZåêVLÔâ.zmBPSÖEµ°ù±QnX¡8AéŠGËÙî]mShK'&Tç颷¼§2óVÜ ‰‹Æz7G‘SN^Å =Vܹ|CƒÎ_ùàR4Žô%îÃB»òËÄ“©b*s†6Ò¨u¶.]ÖŠë=úÂíTž=ÚóGÿRsÀÖÃñÛ£oòŠ9ÆÂ†æ*Æ‹žJ ³ÉdÂLÀãzLÆÒ8k"uÁ/ü|ñ3c"×já Ö.äM¨xÛÞDÐëA«DŠÛ¹Q šˆóç\ÁMF|ä½16ëz“a¢v‘ƒãÎÎ\ ¼¯‡ '.(ÂÎ8×ãé2oæWåå¸Xô,vxòß wÝü?÷å;––²›Š+ªÑàÔ~‘×Òw¥×"‚ÈÖ ¥§×n3Õùm ¡rŒØâÁµP¬ Ú§¥›ÃÃ0T¤2íææÞŸc‹ë4ÙìéÇÚFCÚx…x__|ùq¶Õiÿ£¢ÑìR¹o߯ã¼Ô`¹‚ ¢ÕmWvÀ}ÚÚŒÖÇU"Üþ§Ó dϤúÕÛƒ¹Õ‹×uÌÅñè$.{ ¯¶‚?`QM齋RÄåëlxÈʈ°½ÓAm<©Br_{¯J/´×I‡9æô«… pF⚢ºbž?Lѳ¢í½{ÆñQÔ [v®LÌ‚JPû»”Ö÷L~ϲÂ(1èT-ž®$«ðeB¦ó˜kçª÷¥3퉧™Hö þ]=(Ýc& ƒË÷ñqz…ׯh‡O¨ò_Ó?N|Sh"Ù‡øÚ\„=í]uÛÛY܈?â"üšÙ9.ÆÈ±.„8O_&Õ)ü%Þü›Âûl÷¨Ö¤õ {‡‘ h|u«m$…zšfÇi”Ìõæž–Ù²rJ$ŸqsNºâxIAªŠ:1÷f(ÁÊ­b`©í+Ä%>—5hÿÍ KØÔÿòÇùO¡æ‹¢p E=_:õ9 Ô`\R˜ÑTxF-Óøðü£;ÐÓ+ü+ò£WOpSý ³@^E ¬#Ï™¿I s’h㩆‹UUê¯w¡5s¶¤…ÂQÚ¡c$vîf¨4Š®ó˜H‡ã†3 jš"¼¨é*ÇžÙ·înHíÒf‹—.sÕEÇi°îvŸ%²qÅÍI'5p»D|±¶Ÿ¥ ´qθqk'"ÌmÌÊ­õ÷ÛŸQäz™nžã*6—Ö¡ì²£e|¿å}‰éÅG¿kKè@¤òIÞ4ØF¯P©;ÁCëú2 áˆè‚-&­~818½(›ò@  oÑ Öö1ñ_é‚U¿Ç՛ϻ6½ðïZ,â_7Ž ¯4Zp!Á:É9丣cÓ0uü†IGeüÁ²@PÄÒˆlWÜænéN_™áF&.'›÷'¼ zNê|¦!`kL†œÏä àÍyß_6PG„U#/g{Ðý㯈Ôj#°|9’†˜ýƃŸ:{PŠ}·‹r¦˜A¢Í’Ù\\PÓ­%´¬s¸6vùçŒ Iƒ,Æ*Ðþ]eqˆ¾›ºîd‹ÿáIª’ÙÌpdÕå:’âi7èoË»v¨ÁX¼¤s%žÙŸqÚ(áÎ¥(eYî •ÖèΈ9ŽRI¼x°1ϲӹ’ 0†vxÈ/£ 9"™6^I¹âãýüp0o`¸Ñyê$j÷›»pãªï:¦Á}/Dšl¯n0ŸÂØu>ÒCžë"_Ø Uó?9. )¯¤>®B¤å.òY ‡%?à}O÷éoX% jˆÊÝ{<¿Ñý«â˜¦["e|©sÖ–+¤d}hKܹúʯ4:êò O“*œŒŠ†È'-éó O˜‘CháÇ/ƒ¶wÙ\€Ê Ç•ì4@§Ü]ôo…͸¥™UÞG]û¦Ñw"”XO €ÔÅÌîü8ôKB퓌¿½¨Fï·1ý,lí»úΉôWs ¸'W©©ÌöZR‘|±ø™Ÿ 89/­!#ó¢ô”=¶)Ø5ó'ÓÔKì–µ£2D‰ê‘4È'׋‰É çåCì/p6¼ŸêÔÖêµ§n±• B (%š˜AÔ=5Wš Ʊhã—hëJé«ê±È‰%6N ~#Ë[ëIÕ¯ó—ËŠy™wŒÚ«Ð¸0™ÿëLJ·°½Jª8„×Bdµ.ss‡ "P §ŠËò?Ç:¬À‡´VãÑ@°F±ÊÜÜ!Pîßw#gº?XK‡xc,^¤éoû.çÕɺ£Ƈ…¹ZUÊ$cHü¨á—–àh®ei‰ñµ¯}& –E¬ÄT\%ØÝWd€u‹<×aî.·_)öQÐ{()Õ+ÁÕ!ÍäXŽr G–q)‚pêÛ½ýʃúºWÑ£ôõD÷…½WâŽÞ¼íß™Õ3™ÙFÉìU5!ç•»G¥‘àp})B[S Î²óÔI5ÇÚœù‘Ž#°‚еp0±Ã”ûÿ|¸ä_Ø hºœñV ý8#o{C£ÿÞŸÌ´8†o'kR{¦9¼ƒÉë<¸¨ÅEÐ3n;“”„NWÇYHðÉO“ Y6Ý"¬:)ßá˜5Ð÷w$¹À³ûƒ™ÍKÓm¡’Ó  ·‚ß»]1i€Ê[u$t Á†¨#—»Î:/wˆ…œ®Æ(ëÜ8TFQ¼Ä™ôTbLÆÖò3-b—@u8šX™Y6¤èZPÖèoà ¼ø‰<þ _î4'GI¯“Æe(8ò‰X¿8k• ¯_Nùï`d|ï‡æÌ¤úÞžG»ENòì®`F6Ü‚ I$ntdûð Ê{—LU+6µ#.Á°&0£{U×ÂìãV(|™šM¬] 䣫 ïÔ¶Šžh)¿Êçml>¾!°æBÎ#Øc<òc¡QëØê j¸äŒÈ¨·©òÆéJ8w§ýÚð9—uŸ5Ñæ6°î˜êÄüY[‘$Ù*és1œ£éÎÄT셔ɢVå<{ü«Ç!^=#5zø(ý”CÅš„. йXìH®†ú_òÛS·Í«Ö˜^Ã7¦H¹+¼Ä£ŒÝ¢í¡2_’Bu:×CQПæÏì/;W˜"ÉŒ 7—àT2ç€å[ ˆ]1ò9á‘hÒoz—•ÚN g.UgÆ|óÎBb‹ßÄeå¹u‰x; Ã,Yµztk¾cø®ި˓Ó´Œ6o–÷¢,ðpÔ\Ë/‡Y(}˜©%2¬ÈMcCÀ©šAp{-B¶ÂøA¬šAÚfÕ‡YR),‚'€W|ýöLŸóØ3Ÿ“ùõÀ DUxª„M5gùÈÄÕž"¹| ®A³pS®*ø ÿžýïUšôAkõhlÊßµÝ%|Øóž±ì×ë0„}‹;s. `ܲÎ%‹ô ?ŠËÂmâîûÀBKß(|ª­‹BÜ 5Œù4Þ0Ë&q›UÇ´9ˆl½ÁŸÿoÏì|(»²ì.»IUUÃ[P³YÞ7N½ËlaZ/B~3@öu>s›Œ}JØ-¶Áe|·ÌjCsÆlOÄÓRP´Ê¦¿%”æ ¥+†!©Tûôµ}Â-»ÕIšçL… ?n+ªjIà†F+Qg£" vDS³:r˜ÉÏ¿Ðñ8[³+ÆÁ\¾ëÃB'~µ; ‘½¾©²ß‹’tï‘oíÓ ¬Õ{Qò(>lž,^)’«4l”iß‘,—9‹gÍ~Á N°#b Ÿp‰£2ÝwŠÆ. ›{1 cYýÐ[ÜçÜ¢bc.À÷°ØìëY"?cK'×åFN ‰ BTŠ6µ‰šG‘™•@ȧ@PÇ…êq,êÇÙÀM©+– SÄMK%(Ê݃Rjêfº§Í† 9Y/عW_°ÐdÕLØ. #Øö?â 5žŒ|!ÎC®£N‘Ö'Wžú»Ûãî–Õásé çÛô ÙÂXÝ$ý7;cÐG© &M}b¬¸éÛ½+1%SKÅýZpÞÑLÞŒèK‡t$Œêô0tÍÝÔ¼"»÷tãeÎxrG¿ŠV1f3–¹ê8Ÿ 9oÒÇ“äÍ¥?g´U$8Â7pxÖæîd.Í VOÝMÁÎËHÐ:^cßÔÕ¾ œazð9 rjÝv…¨9rpû³¼”GÈë[²Ô•.Ô)Tj\zy¥.ÄORó^Ø3¡yÿ¤¹Ì·gÕf “åÞIQ-æ=–¬¾zy„·˜›=BÞ2(Î.:„üø¦Šslz‚—(ÁÂQ]²¬¡£•\"º¯ö%R_ÌÔ}KêúšÆöªqbÞËÔNç(9/sÝoÝùù¸§Mú%TxxÛ×}WsOáiѸԠAå©êƒÒR…õÕ~=$qãTÌž7³g“Gæu)›N[¼É¡-ÿ†¦wçû—/ý—­â͸¹mõxM^ø­oéXÕ÷8Ô`]å>}ýCp­`už¼Ëö;<º›#®X~Íz£¼¾°@ùuKé¸Tm7ZAæ ÔI0cgYá_ðsÕ>]í8~üðV:˜w½‚5~ª¸ÎLÏË¥“ú9ßñmzÃH@&ÊVwêRõù6€*’ŽáøZP–ÂÊdÞÙíâ,{jµ%F˜[³å°ä°Ëlð&úH¾ñ.¯æ’Œ5©È¢z¾'eêqÛ¤Ïg±v_AŒL’žƒéøduóÌZ·ŸÏð£ %4ƒ¥ìe$ÉÀÀ‡5yÍ›ç(•£ÖŠê⼸¼üJÙìÐ]¼ ðÄ ëm‚n¹ƒ46>ö’ÅÿhÆÄ€Rà´ÛBžcfR…Ø®Ûü:/‘Vû2­v²Iò.xÖè;r´·)¸qŽë†DµF˜0w?ÇuÅ¥_`ð.¤öäK :F@‹¨lMÌû“Çgl£±&1B0{úa_ ƒ–‘”Ùw‘l®ÝP$]9(’:ßÖ-ª]Èò„ǬýàùÐA%«\倸n²áÛÕQËÓøJVX\ÌÄ— ÆÓÆQSý¼núŽ›),–P§¯ÙqmÚ߯Uä?}y p-il & ¹Vm·vµR®y—t±fjRd ”9 ð7Dã÷ m$¤©8…èó ûè¥Íh·4³†Ö¿»Oh p·†Ø#µÎ‡ºÿ©“]¬Å‡“ S­ƒjÆ+÷Â//½ë Ï¥s[îG¬0ö‡&¬ø'ˆ[\ {¦ë휛ˆŸŒ¨]ŠßK³FŒwàclÙ¬V¦Œ‘¯ÌÐÜXÄSxò®e¤¸d0õ(D÷¼CôÚ«3¶Åñy}÷8d›+Dûzñ€e<’”$#¹õTÍ®}éÎ\>ÉcºÝîü=Þ®€®›Èî’U>“ͳ_šÅ’Žº¸­Ô #†§œâĵ'+#Ê3~§áÑôSùÜUID*%]/Fòl+ÙŒ½'%¢gÜ·=d!` µ‹,ÞYv€:â„ã2µ6áêî3¯€U#w@…èF­û;ÌÛ“ù²+²…ñ‡î,4+E+û7“H‰uásšH2^D ½3J:Ë8~gÎ5¯É,­‰}UèØ| ™ó˜Sí•R¸ocï4f__ký$7Àì¦2‚#9›Ù-‡2X³¾Ãå+éMÕFI˜<øwÕ›€™*Ô´#WÌÔýð>f&îû,Ínls5Ô£nÅØ,©>Qö$èë4uX†¬ÿå^õ»Œ˜®F¥:¦±Û‘o­¶7Ÿñì%‰4³ÕÁÌ¥€ªÙx?ù#¯ú¶",ÂLs埅Hq6Qøáv‚íµ‘ÆÁ 9‰/¶@‡bêÌ7ˆøm¨¶ì+Áhƒ÷?Š„_& ¼ý©çß#x”vÞgòjô^Øñ`ËÞE¾ÕÔ%FJV…ÖT;zí×AÍÜã·,j£þ)„±0£…<þÃÈ1`‚Ù–šQÒ§œ.ì: õÖËûÌàÝrÆAª+ÃA¬Ø}Œï|7YIǸÐX|ÕÃ-Ý6ío+ªP!G‰¼(«,P3!›(¤é/.!åsËv€‹]IéäÏ® ¥OåŠØŽ¦ú ŽÒ8¥„Âè{¦ÓûmR®ë"›ÙM-Ñdé`ÂG‡œ0æ' t¹êev30þ‘8‰Ä„ ÷"|ü÷×7¥ ®rW¤ÌT >“.>¥ÙEê¶õ`ÃŒV[€§2*ÿœ=Ð €BêÝbr³Ôï¨Çã GRWeжß;~ôÛdB¹–]lsæYÀ ‘b0üÁ¥˜[ÉpA'„´ØÉ ü½½häqâÁßIhIV{ÓrKSÎŽùXƒ×‰<„¯¥Rdñ,7\â¦Z‹Îݾ•ð…ĬÏknËs‚¡Ç!#1³sq8$ ²$À]㌇ë 8ðlèjE&Ý–"_ ûrâ%‡¸?°ÅΠ2ÈZ;/ïu5ýPÖù´Úó2©Å…Á¶ &/>bô‚gˆËñ×ðºDÄj¬%”¦!ì[ÚO¬•¦î ”yš÷Mt¦z«}X½ø'õ©-…ìN‡‚N´±’XAõŠˆÈxÐ&bò~ýMc#›ÂQí=]ßµÚÙ¦meèçŒÃæ —qb®u…–”–á‚`Ìš¶Ï—ɆÛç± ¯¢ ̼b/ÏêåÓÑ#Ð&eú)A-¤“_·“IJ„ *Ÿ*¥”(¤V<Þ+÷-m¾Ö]½VÙ>ôlÍ‹qõÙCÉð+ŠR¥nϪÐÓ ô,eúu)˜0üQ”Y«#ú{Æö;Œ(CyÍb®>yÔfÈ`eëÀ/óö¯Ð Ä+¥ËÇIUf®F¶#g¼³jðKÉü6ºû~—P U/˽”#lŒ»b¦µÓœÕ·V ݦ±Ù0Ru‡•$¼oXõÖãK>Qoî([¡ûé¿„«ßÿRȽµâQ[=[T%|t;•¤­žÐŸ ®Ÿ þËÇ·ÔÒ‚B†XQ^—2ÛÖIK0p*íH³x V¸Ø“^ã=ÿý¬í_ÐÕlV§ ¨M*ް×JÄäÚKø´,Æ=EÏ?ø@<ѧŽ8Œè¶B§2ðÕ(@ƒöÚ=ä:Ü?Å”hQ*˜ÖFI*×¼¹ ŸpdÁЋ[T‰KkŒ®KJE@[´g¯e¦®LÑt“ô; ótÈͧ9×™g³´¨î&6›áY$ðöˆ¹ðiö4y‡ŠØç5=Ê ž÷ô h¶¡ð³Jr†tEˆ¬Nð¤~¸&¯æ­C.Àð2:ZäÇO,}¾Ëu~£ˆYá.qÖ€šÍH5E:! r%—­%šZ»Ñúb €bÆsÍë««žì(0é0ñW`ÁñQI–ú„pŽ<÷æÝìÓÈÒ4Gß”x¹ô·-EM³ÖsWBµ†U¾Qú-¦ ¾Uú³ŽGÖ÷?E—Í-xnèøóÁ‚æ>œk7àÖp`Ì´_ÝBId‚xcH =cÙ“Ë[P9WECJbžösØH’HIÓZ¡[oâ#rB`;sû>#ø„:lÕÿ@ÃP—ô‡ß®/§7`ë,t,÷.þ[æ,¿@vÞL“éRÊÌü)ãtNL.Å´õçìbåy³G?Ϸׂî>•|ÁAÐAqÙ½ÒlZ¨ç¿¶âß6ÃÚ=ÚµD¼Šù6±ÆÍ0A{íÃí¼]^B¥Ü€¢ ®÷„Y^‰Q-ÞÚBà ¤«ÚD?ûÁsá¯ò&Çn ½Õ=½"¸åð3Öj{#(™D‹!²ÅV?gÝ®Ë1ZÚ€jkam`°Lpfñ°›’pbs˜«¼M†H"Nhõ¼åü+'¬+¥³T%ZW¤_=×EÓ‹Á Ø›|‰èÝ‚{b4Xõ³µ -Z$WGW#{çÈt1š8¼5,In–Ú+?ã ì™ R‰˜(]U®GqãZƒ%ö³\ªLÁ¥,|±VõˆItmX'ÉtxÉŸHŽM•D7âWåÉ»q½zª<ÒÒœF'uû›çS56gcm³ëB÷U36þ3 öC¬7ý‰¤.ìQa‚eéÊ‚»¯`?× ¤w¸`ú£zôÍ#_Þ¦•ØŸù}‘,ÜÉŸ Šrç£ìW¿TÁ¯¶”ù ãXDÙݸ„}.äì³Bw¦ f1…5[aÄŽo'*$ñ?G³ú²BÑNêŒS)…2ŠÜ¹QTíÖì÷T"q7ÉSVÕÀ¤ôç ÉZ–°GÏ—Þäêõh4Џ±=ïO]ã^_ˆ}ŒnwH°IýµÒúsƒP7²€“˜Û;+ÊëwûÛqÖÄñ­*øaàcš‘+!vê;ß ¨Û¹rdw·óÁI¢xàNoIŸia èI!ã-ÚÇûM`ÕHˆ¥àùöÁ;-ÝÊ_Zp×ÐÆŠt°þvøJ|Äi­è²xО#¹³>—›Bÿœ‚þ–Ó}sX¸V£:RÍ{§'}¦‰=ÿÅ“<2q×ÇíçÎJµæ&zuB†eÏ¥ytò dê£Ê €·+‹èÌØûý~åMU6 j1½T—QBîSÃöl ‡áC¤X—Ó DÓ†»Z.Yß2ƚϬRÛQÊ,>8x•€ÄGÑÄ5‘ÉyS÷aH9¿zžÔúÛ&RÅ#«×ºáÅ{v¾‘qâ@É)PñŠ3”ÜEÈ =Ãs×â|ß;W•Qâ\$_ÉÉå–L«ôjÜ÷]>±— ÉõëȱAàV=§;È¿>œÐ¡ÜœÉ²tÎË—úÄm&Qiömµ/.€üäAâ$M™€,똈M©èd§Ð(ÏbòPè;mMnCåkµóWrÙûX„%TÆé¿â‚Â`Óœ`¸ ³¶°zËI y鄃»^ùcU@ãdšìsdá¥Í*b_NiJ7‡s¶‡*Ád½ÉÉ0È É÷ã6R\)]^ŒÐ×åMÁi× ˜€¢-Ê–°/6ü¼¶8½¸«PBÒÂõPï^™Š÷ ®ÜÒ<'M¡hÔj¿õ%cŠZ4û"dTCIæèd<ÑÀÉl½9¼Â'¼I"o¢µ¬êÃ˨í2s<D°ïAM¥›¬<0cìi&˜ 0Û J,ê PRvÖøæÉ>±Sœ£ÒN˜éDtJPn³;ÝuÓ®º¥;cs­ƒµWm_² tuyR‚ 0E"öYfÓöÓíßP¯ݘø!6º&SJU;z^0&3Kxº¦$½ðSÖšôÉÍæx'Æ|Yg?Ép’þf­šy žÏL¬¡½–ÈsÌ”ðL™ äã@9YÙ3NcYÒ¥ÙÓ·˜Ààæš¨´¶õ© Np‚QE:‰~x{æâ|¾‚ñ†TŽf«ÑX³-ÁJÁØ·“Ú<­ðѧÀDƒÙvsm!…‚ÍÓAÃ#.̃vöÓ–ÛI_u°q­`æ_õMû«1ÿîÐ- ¢Í³Ø9„ÆÀ1çiúÄNÖõ­…äÍ"}K­ÕÆ®ÍbéVXfч®Ü85gÅéº žGŠ$œ<³°.9ûÞ䣊®6©”g‹®¶D¢½¸®fñö0'‰)Œ™úïçO zqZhœ:<´cëÓ¡ÊÛ—YB{ì@Šè{ˆbVe_v:úuu3óQt‰ÇÙõa3Ò…%¯ÿ5›?Û[åK €'i¡áGŠòRÏÍs§Pªá¶ánË©Œu‘0s®­±ŠÇtýÝV&`¸#¨+‹›;—vìÿZŠ™’L6‰ÛaOšð¯ý¬A?ípÒú½N ˜Ì¡ ¢/zS–—4n±ÃE%<|ï¾bÛò¶dôOr«UâP,ÔóJÒµ}§D+½í£¨Þ»u,=Ê=h®:çµá©-Äà%f6>¡nZxrÄ£hxS!´qDr“A•«É]äUT5»»7wêÈQ.Œ”ªÛò¥ùþ>µKžÁ–ž¼9/eA8éXˆà"æä·p¸=Fç )Þó³$[Ǽn Qjûóe“òpžúuƒ«Rªy¬S{xÞÉtãAÊÜ¿½÷\T¢ðç* ç]£yœÎ¼Ö&x¿BH˜OÓ®ìÕ„ŽØjØqH¤¨Ó®3ü6ˆÕˆKB2S37”º[…ÿ0[$è~q|•ÜY€ŒBlGåîµ¥Òe´Àª! O²b SÐÖ¡ª*UO9œ&‡Œ‹ýzRÎTe™/MƒÅÙa»ÒÉÏÑ 5%6ÞJj­^¯[9úŽ—Ãž9!T²CýÄÝ$ßÿßć „L%xЬөK*‹ÊOB;`¹™ô^ìIuÅ âȱèsÏ(¤g™åU¶è¿Xcú`à›n&ëaÁ3'ç®ø|ëL±åž{nûµå áÜòVûð•ÄŸš·L>°@–¶h›°N5þ"¹$ºE9¬‚´©«ÚÃ2¿R¢–A=3ßÄ.ôû> ‹e62í&—N’¬:î‹@V™„ŠÇDôÁÏerÑ&¾maçÀ>ÓLJWÆ@ pbQ—Sš¡Îô=ªÚËo¦øðDgÈlGãœtk@ù=Àˆ(јˆ»ÓçªM Ž±A:?¾œÐc$2a Á2™i×-–¢Líå„‚â9[¦¶SÏrÃ(ý(Õ6¸ý‡•ŽUAú°@¢lÃ2°Ì79õÜÀt„€ßtýïyçr6Ç(|]ëzÎS´”L)á6%ÅÍ]¦_†E.ƒÀÌ{Y`[E$³ùÒ]ô~»àÚ?˜“õ¥tæø®ÇéejKr7Z»#½0j¼ÂzCÏY{H€m3:;¡ydÚïÅŘPÉ5•HzW¯ˆn²bC wdÈ–Ž%åûøÙÚ¸]œh¯{onWñ‹²S*~­Ò;ä¯ñÈ68ІÆßš5$Ép¬ I ¦[ó‘HL_6Ãß)h£Û£‚Hvâåû‡4FȤzüT:DD+Dˆ»²$²8‰ø¤’i€¸XÓ¼tn­8QÕH’JeïUj…÷0â/V·cfÅþãvº›S™‹¾Zaie›³S‡?;ñd\=Ü(ÎYØ&½/rïE¢”‰EÝcŒ´¨'?7yµÅEÊXÒ€ˆv*_3D×)Çý^ ‚#˜·ì1@ç=iÏÛ÷•{šà›lýG!O£©ÌÎëÈeG}Qˆ]ë<]ÞzÆž*»g奛7ý»ºT·ÌÏ®_¯‡|3ÅÙNË€ŠÁ¶!+Áÿà{:МÅ‹ñV¹â£KƒÆøuX¿nÁý%SÙòFþ>=ïãc ð4¹tù”¨T·*·)Y¢™ZX]Øœ¡X‡Ýï#³O'𿦠Nƒòy.죛Ýè×9E­«m…ˆRõIoæ;g¨£±­c¯[Q9—Úú䋇¾%Œì;Oû “—:ú=ù{À7}¤Dª¼ ÅNüü“ƒúÝ-E0R¸¶3D¸; Çs ì{Ý:Äû–—¯ÈÒ•Y"¦¶]VÑ+¥@1´À"L'džhíØòvlÜ·ÇÆÊê¦Ô0X¿¥LÛ•†:íWQ„™g ]ÏV)"Ð&oãU2ÄTtìËÙi2 hEëaVªÂåHî§ô1¹ûãþŽlÓ¨½V C‡(…ºUßSÀÆÕ½2â6Çîy€úÒ @Jÿä:û~¸qŒï{‘üÒ܃E°O&:À°¾NE’ƒ£râ#æs‚ZdzLÚE@:T[鿥0dªYs/MÌÞW?Kàs~0©uQ[Ž Å¶º±DÐ_ ~÷!æ¨a6`Ò2ƒø=Åt凋!ʇ”Š–~É5í"%ßµ<¬£CØÁ‘È€O C™€¯zy’‚oð ÊdË(PÔW"@8ðþ.Þz;eß±r¯§YrÜoº¿ÞëEíV¯ö5»ùq~²& מí} ýÕ6ì) ŵfö˦ò“»ÑX€ç­SÄZ%ÕcGU4Þ‚,n7ËhžØ\8Vü£\)!°;ú+$½] °¯Æ ×VŸÂºœ˜ž¢oÜàÙ”ÄløH–óÙÒ ÀXŠs?eKòÕÿdÜŽ¶!þñ"Z÷¾³Bâ€3í½iu“h±¢Äná~DɪëÐÌoLþÏ æTÛìa2`Á ™´hÅÄGºo(p2ú8¦iÖýõG žaÝù³] ¸¹üÑi¼…ñôUž'al»ëÖ _|x“xûlË = Ù$Éÿ?Ngh¶¬¿ŸkÈ0°ûì-ö‡«…QGë™ #Éæ!U 3?·lÈ‚%Ÿêhvô¸¡™‹ã¹äþLh70 óóÐP†éˆ`× ÷ŒšöaD£ÅĬ«#±z(í…,±ñRX2+[ÈgHÁ8˜qÕ$c’,òð³Mc7$õ.û/»Þ$'‚‰¶CŠfSwjïI¸>r¥ŒgÑe[Õ¸_ù\¿(#IZ¶ñüézIge”ŸŠ œûÒùc-Ê>&¼¯×ÒíƒežŠ9ød{ד҇Ĭ«Ðy‘ì#þÿ ;Ø(ß'FMŽéÍñ_!àCe±Aø D©ÚÇ2§P3î:çG‚i—«=p&¬ês‹ª:ÅÜY+á§5F~/j Ò3éÕ\Xg ûFOÂa3\“ÎeOؽ76:Ì™%’õsêª[˜1bœÃ %Ÿç÷Ná;%@ò•‡l‡/Ç`ˆ,¿üŽ…'LÂ|ä'ïgŽ~ ²!ù‰Áÿ°Âa`4u¯Ýš¹»4l”õ?¥jÉœS¹þ€ŽcNõüLÔϪ…v°¶Ê$‘AkÕO>ÌéÝ•d©à"¹œ­]ýx`@'Ä[6Ëë’$Ï®6#QS-5›÷d˜æ%Üc]þûÿ¶•„ß© ?ëƒß¾Á@!(ý´!Ò§jõ¬K¼†eòoÁSÛC±ê¼#²ˆcjËeÁ4^íÏŽÇ=úBc?â'¸'X—+ªA$´>ßÙUC@°_e€昡ú‡rz,±8_…SGÕOøÒ…ŽAúºCšB–â¿ô(µðb.}lG`)½Ž" áÇÓ6VT×·áöNÇF¨(eáF=Îk6˜^jâ€'ôaî ØYäцØeº˜ƒ—Áª–íñúi¢¢é@ ]%Œ×ªYó莥.³ÃQ@ÇkÜ <'ö*Žª³·êð£v+G?‰†vðÚ‹Œ²™1$³‡©G!_ä¯ÉCh¤šZ„V•Š„§|³ô ;+{ã8%Lªø{õªæãi„hãXî6Lëe‡f î RÔ­žÇ$üsÂÜÇc&ÍsÖv4¨]q?å/ûú„î8ŽÚçJ¦f 7!X—Úý\lþŸ:ÄÞv¿#É;Aú¼üº²ðÞ2H  VÜ`&²?.Î(Û ü[jŸ¨®žÜ ÿë}[:¾"Z£»®Š›Ãæˆ#?ºL[f–·)ÆÌ)>ÁPDóóõTyÓ<õº ?m HßÝS¢î³¹Ç\>ôÍ5Ú £˜µJìÊΫVÊÇ•qƉ4j³F„ù¡+¼|ú˜&ƒB¥píŸç,£ÍŒÓ=nñb.Ècã:*'®•»\üª–F N q®á±ÉÁˆ˜ØÃ^üñúÖ°¨àÙ|Q˜Ö¼‹ÊsÁæI:É–´2Kwq©¹“k¾£’IiqÂ×K%ÖAÒŒ &¶[ƒþ[÷œtÁÒ¥;ùE”u©ôaGcXª† }ç¨xI掜:|ªÉ#c(ùó:Çèáx;·:„5œw ­»©@f`Z±$ð (Ö&‡ óV!J‹hM´Ókâ0^*]“ÿÉ";*”}=±˜ÏÜÓq2?3ÈÚ)ЊDÃ*”ÃS¨#»½ŽèU×sýÝG«|Œ|¾”±~á•’cÙ¡vöÁtšZÖq@¤>ŒöòCþÒ_/‹kIô¯Íñ…‘‹úâ!ð)Ñ0vݹ‚޳ÑGlPöt¦¹ n`Æ×ƒóŸ›Qð~%iø¥û˨àðsQãðöc€œ×žèõ–Â=Ô\²WÜ ¥MÛ;or%ˆ~¸‹D„hÌp&î)†›¦%q= ã¿ìòãoTõ[¶qPͳj|ª‹Â>n¬>ØDö)Sú,Í‚tY–nx½d`$•cJ°‘c;pÒïôQ4îcºlì>û<ì9r]ÜÕgå9èÊ£=c‚üùSØ*wLݱÔÇ•QÛ‰R0mÌí‡Ä,^½ Ö”nóËkVòÑXR_DÅeþ¾–Ÿµš"Ì ž 'Q£.ñcØWËRÄáG0>GZ¨; ¦Öúj1㟡þÑBÞMyS IJkÝNʰ¹ß¾/wþùè=ÐërãOû?Tñ1ÛR­x8X×0ÏpÎsUõ¡ïD¶òÎäRݯ“ÁXÏ’´3Îg6;à‡‹C?23lH†¤Ç”èUÿó8ú¾XqŒ®4ÈùÁ{Ö„h½Z*xhc‹4‚`ØOBìå§ÅP7dpëi·Å*w2ßçXàò@£o”tlÒZÌõÐJ²Ó'оtÂR€g?[뱯KB2ò¹3ÏgÊŠAì+D,ÌøßÒ>.\îÈ@¦Žv7­Ïw§å”ý,K¨€ÀéÃZî(+b§¸GZÚ‘Täv­RÞ2øÜ]eèÊüœnŸØ;#Ÿ;q]œjÄ9Ó͹†Iu _€U^Eœð…~"bCiÙyC‹\X¡üD›ïÎÔd-åþº]0hÜó%ƒp9X­¤ÛèäFh웩ÏByUxé:P8Þˆ{$KN솳_„…hHm”Ó’§Óuû®5ÙQ2çÂOšy·QAmâ¯A–[H½ø¦G^æ¢&>ùÞøTtØÜöˆ´2æ§€r€¨ÎëÎjüȧÓRYÍ0xL* µ’ûÏE½Îl¯Ã߉Œ a/»ˆW‡¸ÆäŽ•Ø­&‰žÍ¤ÝŠÕ삲™~õš‘^Š@NÛÉQ9]´™Û‚9)žÚ÷¹¥Áóh–[ÒགӦu<ðV)T«J”hÑ£‹4£ö‹¡Ä¢™GÀ¢ã¶ŠHÝÁ2:xñ Ë8m½¬Ü›åKUçwßzhK¯ìxá9›ùØihgC½÷j¸ª®¶ãOu>¶!»Øo®Så,¦# E‚i€Z¡Íš!ÒÙ‡µÐ!"²’ïÃÔM•¾/[ò…1°0€Ìº’Ëü/kÖ®CâûàÖÏëÑ}`Ž !.hŹ=Í2Ù}‚áÑajÈE¾‚!Á ¥BÇ$`%(ÁÇSõGº4ˆÇøgr_K¦¦¡ë@±íÄ|êဃiNƒ“iP›šÉF ©ë1¾mä"v(K°ú0‘;ÀÏ –ŽÆFHeoaYc(Ô©mÿ4·hæ_7Ñ“t XD ñ[ªzõ=DW%Ô’ååp-áþ, $ƒ½fŒ›Ž®Qú}#ƆG;!&ýQL€`Ê8øý`%.]™ß1èÔ¡=èÐò¡U…âšý* Ûà™3!DX2‚¶õ‡hj²041èƒÿ¬ Û>á ß\®—ÜDhz®±á餋ö< ¥ªÞÄÓ¢‹!WÞLJ‹š}â»î¿yó5/«¥~7R™Æ·#Ÿ!U ¢ù+wS™ÄUÜhŸ<1Hc1ŒDÝ~s[$AÌs«OîxFŠW¡‰HTG¾õXFn(ÈI’†8ÆóËMá/9#ì`™Þ3§ +Ð×µŒfs¹$š÷e)€Ã;܈-Ø¥ÖÓý‚g´-°òJÎî—d…¬ZN5 zšA.œ®Õœí,T0G ¤r¼‚Ðl¤×€H²»KŠíFúN¥]Bk»§ó$Ú U'¿Ì:ã¯sþ»ânõ4\F# ¹ç%ßgò¹#*½î½Úó¥9PKœ—m¹Ú• ¿ Ä7¦4ªQH&X„,iG5f›’Ž‘õ¥ø¯¢xÕœa6‹Ï,ØtäÆò§VÏ/‰ ÇŸ½tß­t—N4¾4ZjÔÙÞ¦‚ò”ß!w æßŸ*tœí¼À5‚ȼŽôXð&Z1Sj'¹T{‡åµ›å¾Ë;Y­ ¥)¸7ÂχCý Ã•CbL¡Zf®º„Y³"ùð…ÎÓ¿BdDgqnSåoW(É‘eªSkêö4V•–F½‹ •´]p@Q-¨É×vœà=‹ÖîïåK®µŸ¬Ø‚ˆI –C¬ºu8:Ù]¦ï¿Å2°ùP³c ç}šÔÞXKí†È¢·;ÒœFGªûžŸ0ªgUHßëa0A:HÌ< »È¡‰C×&‘m.?z€£}t| û‡öEWA»È=ïÆswhùVye šÃ N•ˆú·Nû\’êŒ%8 €¶4f~üÊ<%zýP%M8Ò:k³BjŸ­´L®íAy’uŸ˜”•šEîâ 0âúµ ?šÿÕ‘Rª²H"Ý L§ÅfýC#^Ä£²ÖRÀ¡9u~2ö¢˜–šâ‚§¾YáÕwލµ*ä*œÍ>¤YÖ×”®AšQ9ÇÅö„:„ö;‚ù—‹ÖvXlò ïŽE»Ú´ìÚ¢¹»´³+J, ã¤Y2”b?^O¨3Z@‚ê{ýBGáÑ'í!Gžx¥¼Å1ƒL2eVé`5[‡$>D#ÒhjüËõ¥d<ÛÞo£y’8Zs)d‹S¬R]­`]”¾Ý;hTú,MST6–¼êÝÝ<Ô’Vñ6wslI@¼¨^¨ ¿ðv¥‡&;"ƒÚê Zû•¬_D"¡ÌràeÄâ½Ñ£•vuÃÛ4h+yŒ(¯ïËœ'¹éÖi÷uæëÝJ‰P“s /I~L×Õ³×$€ÍÏΔEó£,,ÛEÍM»¥Q@²y,{©ÈËÞøE¤Ju|Ž~“l…Ú±ý¨TªP~wN[ÿ!5Ó§ŸÌ/<¬}̺Íì- !ÝŒ·E‰›æà$:HîzÑV—xÓL ~¶ÿçêþe)®9AÙø­¯âc7%K #E¸LñÝ8Ho"“×9e·§ˆù^AÎág!­öPÊeŒÒÞ+I@k.U}ƸPèüÈjß‹ *÷h¹”y¨iÅ6£¯|Ã3ÊM#MÓÙ¹ë´êf5h®½#_M“â_OÆ› Á:[„ô˜_4Ë–” áŽ9¨{ÖÞ&|L3…±­°˜ûÉtFÛ^· ФF†d ©tâÀJ˜ºƒhÒ­ÔRÕATKòÖ ü3Ž.õ­ö±Ê§ u&ß ÚÝÊA*¡„]»–ç–.z]“»áPŸÇ¥Á£ÕëÈOëIå׈#<‘“…[{X&¹¶J…¶Y@“´£‚Ñ¿D<´%–0݃°*YNkñ ßh¡êøHs*è”I©´Ÿ»G$t+ø¿õ×N\ –\¡dÄÞ ¨?VX·~2Ô´“ÈÀsBg¸îWûš* ¿b~nq„îê ^ÃÓ6¸=m!õØ3'uúÓÈŒv‚2¦ÅÏð(òž©è]!ˆ RÂ)3ÃÛx ²1=…†L•棕—wío£†ãêLÞñ„Þ¡Ê#¸—h{ž¢ÔSo|e:?;ýé&ª¦0’Uć¾Üÿ7†Šs5¥XϽܣ-pļ(^!ÉöâØÕ.ï¹·,ñÕ“(á®6wKŽOžª³g’G…¨/ú¦÷¶õ8éâoê: ?HøÖÑ@úHJ.ðiÂDž‡/jÜ4Ѧ&R'&›1¨”Å—77\Þ–;vå„È{g&½ Â"cæV!‘A;ÉœÀÙ±EyкœeƆ¼Ó4eôPèmù¬¥cŽ-ö!Za¤[ŒÃulß¡^ºåP®Ñ’Xw—/˸èyâ¬Z )ì_¡ƒJŽÉì_÷‹å+D4Ɔw·„Ke¼Œ>¿Í:Ì–‘]¤—jMnþS@Ë?Ú°Æø»¶}Ž Ìj°üÏV× ø×MQ‡¨¢½x·œÁU‹…\‹‘ô|Лöáɤ¯¨î’r1Ά b½ƒ?µ„[Λ/(6”ÈéÏà®(¿3‚'J†­7úùmØÄ rê ¬£ðÍÙ÷Š«šZ†§x žÉýüm׫þ"|»”Ù“g×:ù“eÜ€Ýëкӄé;NޱÖÿŒ_D]%XoB¾©›V/02sk3áÃ×ü”‚p)ü˜®M×A>bþ'o¥î}WÚЫÛ/$<#,I0 ˜vÀBbÀÇ2„c÷a?±½úÛïNÍ3ùÌÁ‹ƒ"” Ùéwʼ‘Î@fŠˆ>x±¸!dÄ÷£/ïA»æXù˶²"ÍNÞÉ¥Õ8kíïï¼MaP믅xëw6 Îúö°mé’?£|bã}K%óNP jòÂ@)‰¨øBlšm#«™¹² þí¨qN>^Qi&Å„í*u±–;ÁÚfzÒ%ü/ Øš' ,Ç1˜TZ¸ÌlªßÜ¢–M2«5?(²¤ìæu'Ë@Ï6sg»«PòXò`äÂm™Èsuœ§Jÿ’˜2m] .–b~z4‰{4Ÿ‚ˆçâMƒÃ‚ÃQH:&ÑéI½¦$ë-—3ÀyTc¦.81ÊËhZµhìû)ÔuÏÃf+ª‡fáM˜B,tVæÿþE0¤ìÔ:)vª!Ï‘gÁwè„•U=y¿’†¸…8¸e„}yîPاßwšdZŠÔÊÁ¥zʃüÉ4ÐßÞ/Wâ{¸c¦ÚÛÜE_vòŽ8CŸ‡yû®eoùpç€Ý¹'1np*’ò%³(ãVï]‘sd¹ê ˆÊ³ÃBèÊ—ðgXÎ<%ð@;ØaÂ^yþ\#‚PìݵÀ˜‹?¸pK(%‚C»·ýv `¢Ö÷_ƒô\9<r_wÌ ÷Íÿ²Ö:ç!Ú/£×A3ÒÒIÒQŸÔ a% 5L%<íÙÎwPÌú›T…Æ(#H,\LMò4+²WäEœIèfKE™R!jSTí{FLÓ?7¿Koæ†Uÿ©>Ž‚åJ9 eR~óÃi~}¾ « •øôAݳsÁ¡çm¥Vùµ¨Ò?•G™YØnÇ#ÒV—8œª!/sMXÅ29gé»fË& D“Ðæ¨Ð³ª&ìC;ܺí_þŸK»¹È.ý¦ø|¬ÆxW®¥XÎЊ٠ô)îæ#ùøbà'PŸ®g´Ž Îñ>´iœ"óÉ/¿á1K]JIåáu¬YÂZ•ÀŸž×»µ¾Šæ(”¡SD²ôÍKù2ìwîÍ/I©W9@b݇,\ýŽ@,[]w4õß÷g¯òèÑÍÓ׿¸ÇM$]}Ð^ì¼—9kù»X[(ïÚ%.ÊäŽM§ëô¨v·AnEH%ã9­Üwä[_ø~ØÔ„Ò‘$ÈÍ´¾]êZìd ™ñDü¸©ãõ/õß`Kî°³0PñUâº#™<Áçͯk&ã"¯,Þp’¼»úá9×ǵ%­\nß•ŽOïnî5gà_‚\XÁO(G„ÝSÜÃ.§Ko ë¢â?Nw æšØ•A‡@¸©@Ï•0˜’n¨?¶õ ø¸±b|=ïLTžµË‹F˜¶èÜÂDk^1.] WØâ'À× #<ºT8Ù úË«TŽ‘¯$ö ‹%™LѤUø2””pÔ.•>KÃÂ$E@7†´×H:BüàlPÎÓõÚ>÷ ïN8 ÛfÕâDžª8»Æ•ûw}ÄJžGu6½‡\¦Ã†fGboaûùf/Üh0=vàO+4¹¤¯~QÔS=r_›c4í;a—–ø¹ÁÁ\‡U¸²ÍD`ù©õÁ³~¿ãB’µÙžÚßĬ©kÖ¢t¹ò\¸¸€-ðé)•zE”q~ÂÊÍà{ d]½lhs-iæ˜:Å‘@!S·&x(¡JY¼Ùt2:ìX&e}öðöRç+ pñ)%t|§àû‰=³&S}Q*šÑa¹ü¬*bšy"[r-C#ãØ°?dîŧ"ñ¸LÐ`7ßíÙíÉÝ£—u‰ ´<9ªµã8õ¯´£¯'èˆ0™D˃ŠË°Óú=è\¿,©Ü=w/lƒÂþ„#âßS_öÎ Hkï ‰BŸsê¦,TÕ¡ÛŠT1„"%Ð÷~ÊöT;&*¤Î+&'p3EÀ)•,£°,½Gó~nm´ã/бV…F/ä/„ñ+U혚k «þQ޵rB$R »I•O2¼v*œ¢ÄYp½˜&°|gºG> 0¹>vMvúÄ×Çü à-H3ìØPäæÌåPcþ.í^n=A>óvð^Úz@–AûAÑÒãeíÔÆæ2ÄD£6)6µÉÌϧ~]ÂWû·ésrdbY*ÓSxå­ëÎÃW„[|‡ùÛÈ1-!…‘7IAó|¦ç_g¿-òÂhÌ´ȬßD Øåº2{ÏUðü‘²DKPëZqwWtßœµi@­±÷;ÔÛǨÄàKn'b—V®«Ühm¹|i¶dñžZV«êy‡wƒ®]ŽÈä’™ml™ì«Ï,õýÇ#Ic•7oøBåA\жêsÖ «4ÔϲâÈm>ƒä,‘#à)þlm”¼O_=ñ·õMÒìxÕï¢O 5iŠŒÇY[G5! ƒ—¥Ãüöžз-p‚}ÊñÓ&`fhê¢ØY—aÎú-Ê,·wQ¹ìgÞ[Ž"¢4¶ùÆÊÍ«Z}ÌR¾Õ NÛk?þõk"MQå?U) ´8Flõ×dÎ$`÷ª dB7†+¢ÓUÒ%×èHç>”Nª(³Ü¾úD (€íK¼(Ÿ Àœ`•ýM—<ñºóC®^r%½ž ¦I³mG½”à 0¾VÌD¸LUíÿRŠû»âÄŸèð¯f]GqWÒ!Þh³úOø‚²ˆ£kábÓ‡À¯#.`½iC…'ºHð}ƒ§J>3ªp=®êwWŠrD>·xcÔÒ$~‘Xëé]kTÀ²3 ÁB3¢y‹$0įðѵ§É2ßÿ- ¾l²¸u_ÙT–6:+ˆ9ÑöìA÷ªKð‹œH'Q¨,í¥à@ê¥NÞ¸óõäè» YÙf<|DQf8¨ 8†ÄÖw∿ÿG‚ª7‹£_ylsÜÄÖôcú=eX ¹Þç^Ï6aÿ± (UMI?eŽuQ7ûÓå¢ÄŽ;­û9õ8;,Ø¢›Æ¼iÅeQm˜5¹µlZKÇôz±OÇwQ˜ ?ùrÌ)ëI…šãé2)'̸¡!bTN\2„ñtÿp…ëÿ2ä´r]P‰¹Ç¶èü+à…·„†ìTц¹ÀÒÚ6Ýü¯ËŽ]f„müK–¾eðÎJß„7:ꜶÛd¸ðà µÝÑsÓg é1E®˜Ã(a^£Õ¨n\†øªQ›O{ígÚÿ«uR2'õ !abªÉõ…"Ʊur¾­éî¹ÌÓîäÛ€jH ­ìè‰õRõÇ z6c¦â%Ó¡6"ö¶»é!¹È"x5x Ô±íþ ÒÎ! ëýTgöT^E0rѤ†m/¡á§Öa6ÿÙ·§Š¦1rjü¦ Ç”õY–h9ûòû?A<þ;önÒíòé«ë^ÞêTkÃïâêÞŸ MÐCÊY‡}b1²KÑvP_´˜CºQELܶ8D§ŒìÑñíDïn¯:ûjP!ˆ¢=³>àÝö½F ÙÎxÛLw»ÏWðü#À}¨Ù‡éM: ÍÀ¼/)uëÓ¸»¤ƒ—‰  œÚM¤xGö¼‚3KJ10ç¶·$Åñ÷l,N©TP7½:-ee‘rÔ@kF6å™>æã¡X¸ë¹”/jÚÎN?£ÈDdriMä/ŠöîC¥½KS³ WwÇJLû»/Ãé ÞÛ‡èkœ©„çú-7!”Ñ"®Ð—½¿²ÌæPõ`ø­ç±Í®!ŽE”‹ä+àåÛ ’bMÔ¼éY)<*Þ7“¼‹àós÷§¶Èr™šž”ŽQ;ÍÿȨ#¹wBˆé{hÛt`Va Ö‘3ò|Û#Ì2¯ûfòëw>æL2"ýI½em_òx{cˆ ®§Cð eª¶½™Íx[åðÒQe’†¡˜Ufåãt!ºÔ'Èy"È}µú2/³Rå îŸ$¢lÕr˜Dò—¹“NÿýÿÃa¸­IÒ®õ÷²k9 °+™¢ßó-¯DVEëcóÆã NßÛSxâ¢ó¦™QT~Êëˆ]ª®-Åç¥b•_µ`,ÅÖ+-%ÓA¶Êö³DD‘Š>¡÷šp?uzõ tA) '¢U+-dç \Ø{tä¡#zR«-"þ÷%P3£Wd7f1¥‰…ÜOç j™ ¬îlÄð¯çI&Éo'i·g;ÕÊj‡t`í$­@Œô㸉ùÅ›ÖÅb;” —­ÖbÌ(ýv(ÊIvÆia?Œ<¶ѧiÓéMÆ·éHŽéÒ×°N5%iJ·N”¹9Œí[ë9!©?¥ÒwN•ÏE°m­œhzõ5»Âý`¤QSXZƒ“ ‰Â• ЕQé\¾ÆíÍB–µUþ^·Ï‹õCUÄSzÀðž³tIá¥d©†) Á»ëþ­ÔiBì§Ò«‘²•2qµéhRdÄ L×qk,A¡–1envícýëWÈÛ'«üôÁ‰îÜ5rÊN0å’neÌ2¤­óùû70møÚ:Z[6 ØAÍÍ„‚lv·d¦Ù~eˆ'=šå|4nÅБîštmùËGH)à-Æ>‚ÕÃ×n„a®]4¯é¨ÑÁ›|ýÄI, /rÂÁ©®ÒÁÕ´üÜ×­5ÎK¾Ûoä?§\Ò…¹]»Úçï.0]â @«:XÜç.Äpt„÷ÃA¨@σ¨ªKr‡˜”lþi$²Ÿ–µh¡yë¼ïä]Cè•O¶j¦ óéGc¤?³á!èeùlÞý›Ç2l˜î0©o¥ßÌ©ªÇ;=üµ¿îµÙñµÆ€á“÷Î >–lÆã•rµ;SWE „ÞÀ|7„Äæ¤~ðØü£d>»?PP.OãÐôž\‹y‚”Ð* ï°»,Ì»•U‹cͯ{dýpˆÑBùãÒµ¶+†åwC ËÅä,³Zeû“Ä¿>?æL$Ð0èxU_­É(¦«Ó•|â0uÌ+InoêåhK Ы¡6Ô(öˆó"•xíÀ#KœÇ†2ð¿€øc]†§Vþp)š½&âÃeÒ7^%Ö z†vœÂszYH’&ê‚Y|†`[Ã%QÈx"žW|å…Ñ †iTDžÛM~»o›¿5 ôY©b¼–dÓéÛÙþWfÀ<(É^³¶9ßaØ‚,v=haØ&àìýðG À•ä4K“hëáý}¼ªðÁ=À!DÃÀzà<öÎØTæMÄͽ>2ŠÆ !)¼þ²H&-šßz¢‘öm ÅÃ_¯•Nž¼Oÿ¤ƒŽÙòŒ›¥… 95•Ø,qg¨cfõ2ýÒ„Ь#¥‚Cá‹«ˆY÷tXÈíúrvñÿm<ƒˆuå@ßµeÈNÉËßæ ×3±¹¿V>2¡p& ¢¦b-°Q%"DÈl5–XgãÞþhyÎ]À|é ‚ä"ŠÈ‘oEÕk¬l&´é¤Œ#š®Ç¦ÛWYÌÞ5QºÈR&FôZÏzL]_Õ7 ðµØ•_‹Ì醒Ú¤(Vø§¨Èà’SÔ‹+2KÔqéÙ-ëÓö݇*o"C^äw¢Ïõ#ÏzG–-1m’+¥E¨ªC8g|=i!4|ößM"ò\£ Z œÒFlËdîrÒfŸpz«ZþRÁÎѰkA )‚3]}·£}GdSj~çþ“š+_W„»yÒŠkE@1Ö$Ínº¼ 2f78“¬ïtƒú\3’8/›hX¥íLxó>cѦ'‰}­m¦jM% Ãï (µEuù·ojK©>QXØEFVSQWvrE<ÕcjåN*‘·CÞ-À R€6š%GÄ4jù)7—_¦¥Éß׆ˆÍc—ޤζ*¥CÖTkgŽŸW1h¶dÓiÐu§=s&xŸ¡ ¥/}R…™ÊÐ üî{q›„¼# ¤&Cyv;pÕ4mÈ`¹+RG±Èxˆ ¢±Ïí¡U¸õa Ÿ&ù%#sþÚ Ê¬U2r÷ß—söÆy¿#2¦yA íHÉ2VÈ3\¯¼ëk{69£j@Ñ SëÄ0Ü?‰"Sã3â¸9UGû}XÔ}ôºâuæGÀ ²Ån™í7r ¶66çùÏkóÅñØ3³*° '0(1nf¸X€>ÌS©_GN¶ü>ñ™–BœÁuZxäâr˃ö«;¯Îýî”üAßÞH?xIR§HC-:›É8a­%À·kíÄê‹OyÑiS£V Ì4l0ch¿VG¹ œ”©'“ÒÒúdž.¾+ZÄK™hHÿ5ÐôÜ;àt[IÙ$_ ? ±ìËαâ&B†Fg:!£mÞÚè±n»öw •«Ž Œ‰Ÿx‹—Z8·qu×£¼¦6K+Û› ,,°^‚ð*¼ºRã2ü_e“7µ½ ¸pÂ…Ñ(°­~*µ?Ý £Ýì£f›Xø´× 0½ylÁ™Ó¶žRY:]½ÐoTXÁL³À}aU䮯iàtÁÁ»ìUZ «Õ)öb\™F¨*ˆ’‡*J³Épj޲X¨:+W‰´(!Êl@8}Ž«õ(‡ã§:ÝÈɘaUÿ„m”6¨ù.å„ý˜IÔ8ÿ‘õ‘2aº­c&Àp²Rºós§.¨k>ЩÒY ùpÔX9ì³éœåD'Ôô;êãæ’ø“f4(~* Ð` µSŒÍ"æm`rG¯Š¿>fÛñ·,WCºÙ…7|G²ÇFJàÕŽ9ˆí²‚•"¬¨¬+}\åBUèB¤ 4ûÁñ§w|Eå‡u*þÐÐë{QS£_'±²Q·\Í\2.°½¿]¹OŠso‘>%Ü÷8U)àÛàlLØ^2©‘¸°c¤º3{«Ÿ5Χní¦ÞyG–W±c+JµîÚ„´XUºO††Ò¢)”~³E`7׺<‡äÍ‹Zìó%@² Í…ü4÷ê0`ÿQÙ~`S˜ÇÌmÉ}´ž\W°E"¸¹ÇA~5øÎeðì4¨ã||Q†ð™`Ðt s׿ª¥ù±{–‘Ç†Ñ ËÁ^L¦%Æ1 â#‘ñj,.s²ÎmLïuI¦ä¯º9½›¢­ø6•”Ô„5JSE¾¹=¨Ä]Oéƒ#+&‰ï˜ÞÌ Úh×ÿ|ý¢ŒÀ#‰ÇßóÊ{‰ kš‰BŸÙhnîa3Á8cžPï6ʦúlìpúÁ>8ê’R„…îò?üßÂ&EÛ ÌaÉŽ$󯣄.–æžöÓ9ʉû_‘ã;”¦º|KÚ:¢HŠ7<pvµÛÿžÌ!˜±‚<‡ýSØȵf_(€¯`¸âÊÍÙÅ*ºU¾œ#ˆ½þÀ¨s‰ÈRË$I"çhüj…£}%ýšRr¡Bú(Šñ8*~3Edžò–bÄbb\>ûrC Æ’s› æ}ø9 08çÁPÔ%F®pˆB~;*ElMÆ5 ,^ºw½·z…(ÔÂ6q¿ÉÍçæxTžC‹Ù!D°ÂuÐÎÛ†4±Mõ„\ÚUöò8ð] Š=‡ 6Ìnf:ë”÷À’Ëg– G6¬/„ëA>Nôªr% š»‹J%cÕË!îƒÉ)nAòª©n,ã}{O¯e¿ê’foM˜ G†=˜ªóZK?™4:ï ·¢úÏCðl’M¨åEuFlî¹Ü §8 R‰-ÛG'66‚‚Eð_öŸž¦Ols›š¿8TùMÛm _%)àv÷ÅŸµ¾oÚï0ÏÆY©ùGiOôý½¦µ ¡xiæš²ÇÎàõfø”"®¾Œ?ebú³ö´›xŽZwâW€ñ½¤kàu/ô¬ˆ(ÿ©ÖmãÍWx:xLQÍë ;CZ ”wt‘&©Ô$X†8ç¶3N\9Ò=Øp µW&R„¶²'Ïz8-8Ò0MœÂ[Ê|üýÛLëÓœš•”ÏW£]9²d;)Œ†Â‚>Ͳïjú¶õiÜŒ/ vGÄ`#t8¯kš8fºd9þæÁ¬5r³ÀÅK¿»_áÅŽù4jºwJ ¡\§3íæºcÃÄ(r…gøÄ-㸉’öî ÁA²#ꣾ›€DÒ6máÁ€^r÷$3y;à]:¦Ü;XyªÇÃ|€gZ"%P;/ r¡N¥¶á$›z­2˜Ig88§þ*3Æ@TcJEê|'Í^Hæ¦w¼©JQBlÚ³/W=öÚNUN½…’ãPeëù‘N`‹Våk§hšýIðп*TN[.+n¶àÅz3¡;‡¢*Ûq‰PLÀ+ËÞûI5œ¡¾uTú„7ygM}@»DÎí}¦_;ªSÎ)[ƆëÖN´s0pìâ–Ov» îgÄCl šÀ›ÒH]Ÿ«zµãó¿X ÑÒa³6£u”°Â/ÃwoÛE°ü—òf~¦?¬Õ=åÛÿ°L N7U%f½Æ¼Ð…èâ%‹‰¸·ã¿¤i‘hSíý›æã«I­ÄF£äŽý‹¹`¸G˜¾ÏÙ\îšàý ’Zìfé8èêØ'Ê÷±rÂìñ#p(Žs8ô?öÔ¯”ñWE Å¥ÞõüáûˆÞئÍĨ¹ÎÇÑEù8 ¿E…hŒKOêÖK±9Z&‘ÖÉ¥ç :øø,[_²¤ìŒ½§ÏV Hjˆ6æ•|¯õ¨\9nD5•Ôj—P`³è d¨ig{ÃTÎòZãÔæªl›bn¥Ÿ`ÃÓ/|O¼ŸÖl·ÖùbÎs¬ºûæñ+bºhaùþù’¤›-G ìrÛi{Lðï¥PˆëCùð„-»9Èø²w¦g•†ØÚ[á³ÿ` µœóº óôlòE ‰ ΆR¹?í#¾j/ú‚[÷ÎÞÓ’ÁÕàW]Î]ƒÎ-zJyÉç/D}2kÕÔq,Ì’ß½ÿÈC%^Š”v­?€(2 lŽ,¦Á^Ýma{jˆ=V ïRF0G0›†ËËåÖ|äT’º–¸çãÜ y½èm bìåô‹ò§*š¤{Æ:xÌ“úbó6¸¨›¢×§‹M/Їôך*M:¡H^-HbÇÀMÊ&Awúï ³nµäü”ÝC ˆ¼(I'EÁ܇³ZÝarÚo¥Âðš¬ÅaÖŒ( )”~]U~t ù7Ü}9¿ÂJXüÇkFW‚éø¶½§ÈšG?&zÖM¬¥EK›1¥dÜì¦#˜Qx:Œ>¿Úà>«*?_ûó‰Tô¿éö›Þ@C¨Pîµ}Eç×l‚E:ßuÅ\øùvtËHœë¾D3‘°ÓžX 2ÏŽ@–0÷ë²´I¨8þꌧ«øì²­Õc8®Ÿæ8¿º=R*<¨ùW…$s@îçu֭怃çKåèàa`¨k¥®ÔB°5£ü‡Èó?˜mVºh[ÎYŽv#]iNìþS.Ê^8ChÛZ?]¥‘×\Z4G–užÛ¾ £9=Öêp’̈ÜÔõäí¢›9Ü~Ç–n.y°k6æ¢PI¼²Ãà“és± Â;ýì“ê ÔN_x7~?æBM]u¢0òä ‘®‚­ÂÐ 4§E·Î衾—8ˆs9ð¤¯`Ñèj‹ý/‚¦›sP´ú¶%’0è¦ç,±'vdöo½aÜÈX2n榢¢ë±É/üWE”Æ•“.çòU’åæ“ØòÁÇwÃè¨Êj_d¦§ÔyAá“ÍÊm¬a§ï°¶4ûðüloV.ÇEÓ[Ëþº² ¶0“å +ÎØnZi>~'†ZcZJ3Á-Ÿº'e€•.‰ÊUÅÒ@’ô#ü‡Ñy„ÞRõ&[ßcr¹~mº¡·N\·àC÷Râ¢À÷>q’ˆ+<˜~ÊR°åË„½øÑªlyP=—x—qÐþWû>Þ}¿¥a©=å‚»$ƒ%m¢±ýô?¹$2Ëìo$¥mÛ-¢¹¾ ã5[€à¯;C†òâcž˜|_â­^oSPúý+¯©|UC‰u]²˜œø¿µÙDbÆ?^Ìk ù>¢&å„¿»K9ò*Ò9Ôm&µ!@Í,¨ÌŠº2¢ºy!6ç3óª4-Ì µÎ½’5KRu8fŽÛúòÜzgø†Ž„çWúût@«'“S¨.6¯ ËTd®Ž]ì7°J#d þÈÖJù"®xõ¸éQïqQøåì§7¥S¸_cuqñãJ{ l0™3@ƒÃgäyM~$§¦ÛÏÊâ‹¶x¯ úüìló,ª›¨•c™nºÊººýσÿýj [®?¯d^Âá:npÓexÆ꫞& ¯Œ¡êWü}‰¸LñÉŠÂ “Ö£Ž|èü9ºVqRJ˜°T¤@mêât–Õ¨ µ½c±o"Ü61Ü •þàçb¨õ=ÉP˜Í)ï7²'Çr·»rÍ¿j›E–*)ÓdÖÎ ÅÑîs7бïù2È·zsØíÒŒÁˆ¿IÌù^>ÙÝHªøªæZcpÒTã…atÄ‚±R›:ámH™â*`ûÔ?ø#ÕÜáwTù(4yî©Ó£J}8®5Ò6gÔò­R»)Ù!­ô«Ó7Ýr}È"]ňl¤*ÅV/¢ÇUBå©Y¶,í °Ù'wc‹þNŠê`À·°ÚdLæ¸ØQ!¯ØÛh±c—âÕ¢*ú0„öšÝü”ó‹r£BƒÍã -q©ÒY Œð„Þ’”§£%"€eGr»ËÛ‘Ö™ÌäǧBÉj ÍÝ·œ»È8÷˜û¨ìd¸[Z&d ! h»Ñöy•gÒO/.‚ˆì¡H CøNHJƒÇn‘Š <4/ÀÎÃE)HتhÃø‹»`(ïô$Ó¼o.Ó‚QÀú\2UEšûZÏo~=:éúüzQ³X×tد”¹€¶õaíÁ(Ì&ñÆ ¥=3GÁfgj2kØ­Ž8/¢o“RtÈŸ›'Õ$Îp\­¶¤áv€¯€—p¡‹f"Ÿîà(–c¨˜1þ¥ÖÇ–‘vwê€ãn `ŽŠ åÌFvOTû—­Dχõͼù)R‰>ÉÜOŒ»eÇd½W$­j@v`¼vôÇüÐK޵bÌĶêäGÞ¢†aɉëßs²ÃX¤Å<ÒŸ_p­ås‡›¤qž¿»`GÝ¡Å$y×5öF`°¬Ý禉ß_þšÒÚvÿ‡?K’9'ñ…PC xÅØsìwñÿŒìq .VŸjߨ¡@mÕÝþͧJ4])Ý/Õz‚¥IC·åÿ%AMÛäjBª®LÉ2a~RÚ½¸€H¨v8åæÇWPÀŽi¶Ô   ò B¦QŠãW¿²#àÇg`r[H4@Ó^bhÂ.oWÒpR^^í2±6ÑN®¢ÍíV®™E‘8—Í ~ï}åxÕƒÌñs#ïkùÆ\¶(?l”à7= úõ~„âdæ²jDÛçÕzmÁgT¬G”ÞÚDp&ïO²X2Ÿ5®ÕýûIžÏ÷àlô%ŸGd(ôQ kùA_¡i´ü1ŽêŠËo³»êdz„µxóµ|'ùû©ôÝãnêrWv·Vñ~‰•y‡^³€…½#|+ pÑÕÿýÑeã‹ iŽp¨Í›ã)H•Ëæ=pßb4J4^ÀbÅ5TzpðŒ²4C.:Õâ'aÆçŽˆ¾ðòS•-ìç‘~þo–1JQê9ã{œC¢5¼?Y˜E@ä@FPþ-K¿²dL©>ÄàA+S¦¹d´†ˆl\ m¢ê€[úöesí$ôá¿ú h‘H÷˜C˜&qsk\Kq@wd¨×+*ÞŽZ°£ñvó8?¸›õ+TX=>l1¤eSù`úè–±nÉ•Ün6ìõJ–¹5¨[Å B FÑÊÔÎY•‹žÝ~öùëÌKÀA¦.ÑþSwÛÊ6à PBrÌ]&*§Š&’…·AîØoµ‘üŒØÞ‡òæÛ̶=,dŸà}oS»UW°’(qÍ-ÚüĽFß‘ÙàTÑ[5w@·Î ¤éÅù11{onÙe%À|9¸×if(ñ‹>ö×12¨í^òÙÊ·nI)/n-5ÒÕ}ÏÐŽ%ÙÒ’553cÓþ™N}Ö€maLh| +;côÏrîã’Ì^m½([Ê¡St!{ô¬ô|»~ÉFZ¼R#ÔŒ¢ð©„\¢ÃÑqòS–ä3²(7 &ÑmˆËsDa¹Ê‘T/Vé›Ë6”¤;9Š)u§…3QÑ8Õ ¢t _éU j f¾7lL’ñg2#™œÇVšË9²q ‹ifÊ*Y‹Ë‡!Zn°#µ‹kñù—ϼVtR†€”æ:²¢¾ækÖjNº€f~ÇX¯gsÃï ÍIy±ƒ?à:{ÃBýÎ×]1¡iýÍæ–¹jfov蚥lQI¿ò:5SŸâCJþ—[º÷G~ C!¦²óQÊ2IÛ?ô¯jÒæeátº²]ù”¯‚íÂּߡ©Ï^*Âß¶›ù”‚ÍŒ#£sŒxÇ]°™[¹Òt™#ÏVk®³\F¦Þ"°¼Ë2âK=¬ñ‘a¨ˆ?“½Ö,yYìåe¨¾•ò{T;¼<ÝyZ6ÑÓ׿f?äüÑW;NÖ6èë&-3d­Ã0(>ð°À~ŠQÈgäkª+£óÒù‰ô&æÙO5EB›jHãÏlܵ’Ì Aeóê šй¹û ÷CÙnéø®8µ»uîpþÒœiœ|A"œoó®I—t>®V² تóÖ§,:â>!u"a ÓÒgFS~}ÈÞI. UysTq‰ÁÔéÚ ïÔZþU²ñÁu¸æ=T |è~åþeÁ‚ù(dU‚Hpþ&fP÷ÇFVAáœj´b?ušÎþÏ æ‹ÍmwîŠQìÙzb$ZÞ`$³uX|ÜÈ"9®ì(öŸ¼fî‘‘ÄYö*ÑJß³äNn?å«ÍÑúÙ¿€#¡?·êô¦ ÐD0Ú®äÚý,:‰,¼à«û¶Sÿ`öÍÔ$_Ó¯ªçþ¡¹mörž Û1UȇA‹[Ó#lî@Äpáð½¼SãUoÞÉÁê®âQ£0³pü¾†=)@S}%ú` éDýáÑÇóZqHi=Y¡i5¿M8áû–$§Ûq1Tñ=óbî5훫!/j´ø“¤«[Äã 6åh.ö…©¿iàOcsD k£Þ'5=nýä šÐÈ’cämgz;k%ýç5ÇNi±€)†·[c¥õ ÛF~Å-0Eûœ]”j.Šjá,j¹p¨Sþ®4éÙPªÑÈ#ƒŽqð–4?gð†¡–õñYÊЬ*ʳ_gfr „÷õô(7U?œ#$¢çh® ÇñÃ<}´ß‚Ô°[Qž×ßPN—ÈæÂ:M<{Ì["Ø{ÑðÛe6Is²§wàŸÙ”ÿ§?T¯QÈØF[(>Šnì匴g%²ûL݈[[§«á|6ù‰™ŸòlÅç¥?‚5:-…£XžL3ž¸?B@…<Š{;‰iÞ/xèéÑBã ÏúnÕd$:µß©ÙÛ·¹¾]$•ð‚™E»,X-U¨{s#_Ó½Nw¬½ªs’Œë•ã²µ@~J‹*u3Ó6™Zí3ùˆ?4’¢Ätœ{+±ØÜÇC!ëZ׶н7ÕìSüP[Yƒƒ”W * _R‚t£'aD§¶±Ú°ÄŽÇmXÈüL¾ÐödÑ)Å`³{šÁ¦¾B±¾†šÇn¦h®¦´¹Ã´«—ï½(Wh4HŽeê^ìÕ•'3ençŸÝM `p1°ÒOëgs>qŽÅ§©uRM릿Ù0é'+Hçü\„ü‹õ)[4M­¹ ú´~cŽUÅ+€ŒÐÑÇ€€Û­iòñ`)#Æ÷·;³Ê«ßü¼LS¸T­±1àÙÍðËrA-¢?j~iøc#1 #I_‰%&‡Â±Œ©·':AÆf±YÔMœOÄ60Œ—)¢¯?pÊ¡|î‚¶ðYª‘J&É)¡›âo„ßÅ*GN™ÈïŸÂÀý)¦4ÍV.2Ú+Q’oXWí^®KÁ 3:{[sw?GöÝÔ™Ÿ˜E¡XevN¶öÔòœ ÕZKáÈäGäRßõºLµÕm¬?ÝuxŸ"ÐMDñ:z…°–,ÅŽ)SGb\˜¬B Ã0éÀÔÐYo„ÍoÛæL‘òœ›Ž|&ö®É=$p,;²Ó°Š¢\x:~Nß媃‡µS9/8w­(¦t¶ƒžƒ½ÆS1SÕó4þ¸ãr6›ñÌp€A÷+„ÿ ެ1ß~§¯w@9•c0Óà†') 5 ƒÆrÄÔœÙ@=èÙL W*XqœfÄÀ€îͶ/ÈL€':Q¦t‰ýLB¥`‘2³"ÚsËäV¡¥~ûST($cîO|[¸Æ]$´eÝÇÉ\~‚gŽ×“×妉wO@™®0ä,lõ£j3Õ°iÚ±1<Æè¬POºö†4Pí%ZÖUL¬+ˆö„ ÖÐk:Í芭!¿ag–40`ÀÓt§¥E C˜q7Ónçþ(íåœmÏõ£ÎYR3;_G9~#Ë(竸¢wì,­s¥ÿm¥RéMPÙ4 7u½«­/dœfËð °M³ *€±´Â\>Š‚—¦6.]§NŠ ¬¾‹Œ)&ƒ!ëMŠû›ØMS5ç^˜^4œ)B¸–º¯@È¿ &XÏΚô¶ìÐ9Z-,gsbÀ=p~H)û¥w‹à}ž¦Uí™Á5ˆC¸À˜ùgÕ@Šiº`°‚‚ÞBˆÆ(ÌéÍb寱‹}BÊèƒâ[H2MûfÄV×áäOG¿=Òß¼üçóxáIŒm¦_¿µ¶aUQ…&Ò¹ ='Å+¨ûR;õò>&`ï:!j¡€ýxôĤêóHOaùÆã@IÈäº{páq­æ®ÁÛÉïžoü ÆŠ)6pÒÀö4·Ž L ¤Ÿ_+åh‚0¬žÏæ eÌÌF£"½w!“Š$2‹¯iqò½ 0]ë‘f´Fp ÚúÑá1CÜÍvt³{¹&'”L‘Þ¤¨ïn1Õq›âþÆa8¼Šý]žÄ†"Ñïë=ÀÃÒ·ë™5þ²ƒé³<ð¤{”ï•1Ò0×뎛ü½FA“­‘~Âò=\€Ñ wÅBq˜¹ âöš©Œˆ†âê´oQ¢|§‰Õ}36ôSsN˜Wn”¢!ƒtp…îUµÓÿq¶ôú)°Nç{UÛ‘¹&ñWFRÐ5žT›^숓O©s~0¡“œá¶Â5“MaåQÖÙñé”LÈJ® çjóõ–'DuÌ<Á†M(óÍÖ×#áKøÐ5±î€¸7À8Êï¾Ê¿Ö”+»¡0 |’‘—%eÐâT $&(䯤ŒG#%9moåqýßw–¢öf ×ý‚ó:¢Q#ƒó•uE†Woæu•?^’D±ì犬 „s}/Ö¦Põá±Ó±Ìúàz[ºW\†ü™+ »¨åÆÊy¬ ¾×æ›Í=mû°èîô¿µšl6 –Ó¿O@ÊÎñ—ÉÎp³‹VlŠS¯í&=·yÕ(Æ:0%¤t(!Lj¼âó€ÓqoP:βŠòÓÐÕg$6ZFbÙ ![/ü¤_¡›J×Oï}¢¶¹WžÉùèñEɤ‹~š L”rªeñIüÈFÍWÊvçA®2—®?‘Ÿé=·9I“+°&iÉ®mé¢ÂÙý ±mZ¿š^ |Ôú ð=#§|¯«€÷N+8–ÀT/0X‰· ²Œ9ÛpôBZ’¾ÂBXõôµÜH˜žÏXõàd‘vÜë´„X‰Žwø -¨Á‘î—Z¸]¨±…¶¿ÒWcò¬«.ÆÕ$[ òE»9œûÕ³&X¢rf¬ÞGKüžû°é„Äçù{¢,¾;ŸÑ% àØS¬kãï‡! tõ .­ 3˜sžÀ4j)Âz”ßôqQ5F¹ÇúÃ*Í@÷RXqÍä%q~j@Êô© ÜT"Ø‘¡èI¾ãß'Qd¿rúr5( Ê8¾£F"ÁÉA+âÆÄéÖrØ&³CFÈÅKþ·ÆÑ'V">#`€¹wì‹Êv¡ÎNèUÇ+ÎËÖ¾\Pn»u˜Nñ„´–y&½ö™hÃuMËIr9æùÊ•Z‹:“Ñä.z‚êYbB˜º%˜[ßmžM…@Ah‘7^cÀ,N¢L!4t[à&Qw»»ðiarA h•e,‚¾˜À¸¬BQû=ÞãÚî?u£å;ɘá‹[Ç{Šæ!jÆÄÀÄZ-IëlJ£Ÿâ;hÏÖ1¨À„# Ôûª¤..eŸ«_’ÚxPs““p1+¸·PzS²²DV¨zú@Ü1òù·‡jöŽ5 p,»$F:AÖi²8¸§¤e/#V§ªæaSä”_ño˃_=/Ô÷=|S7’çPô¨E.À€™# BÝ.Z£Æ– N­7ÝÏ¿SQùcÄ[içuý­Êû8é:æAk_™Ï£)¹÷dʦZº&Ûáû€úÇÜŠ‹x7mÈ wҵë6Ú+˜ægGJ¹üA¨½ìÓÞÌŠÃóƒU¯.pÿBþj—IcãÀÎã⮂ҕ-ë^;ãaŸ…£— ò3e1‚šCŒ·c(ë %ì\åz‘6@æÜ@F@jâiìœ^öTM©½Kiù>­Jvl:Êiù&R´scøßK&3çúÃ#AëuKuâH%A–ýöŸÆod¥€ Ñ0EÛ†DåØGLœšÊ/æ¶¶n¸êßõ?ýŒª<@¶=”®Éü÷Só`f<¼^·íÊÚ¾Á‘bÄȺȇ'CW«"Oõ‘¯S힯j>ã_ß´¹ Ýàx2Ô áW|'è·~1;‡¥èɪWÞ¬÷¼×óØÜ›TX`.¼CŠqToIæy@Ë{L¢» BŠA±#M|âvŸÌAøO¨ …Œåº f±àkDÑ$ÇwÔ.K`ÙøÂæ|®ìý!•â;ž’£мÍÐHȵ™Äv‡Ä‡5F+©ž2¸=Ãoh¡¾—iZÅ^«ýüYM¿ãÖÜÕz±‹VVø·¬"£Ö£cs–PKw„G`gœŸ;Àk–ÌUS†Íçþ'Gæ²²T©.èò“ñr®ãn´OYi`Š‹[°ÌRå-ÅRç)Q\J–kxôêxã„ϲFÏUNY©k†žl÷LªW°Ã(Œä~™ñWŠÈ“ÿÝø ÿQ?pâݬ‘ÂNå¹¶*qnX+r_#`íËrNyù'í¬Ôø@ÑD|›Àm ¤!Õ"ER’¯)xŸ“”{ˆùN×S#]Ñâ’³dÚ½´3F¢œx5 ‡²gÆÄ]j„ò'<}C¨=¿uržjËÌ]0½FÙv,\PjÀD2# QçV2°8–씥¾òÕ¸ÛlV·EÖtšÃ¡[,LJ@OyZ*Ö¥À\¡(ÅóVq·èÎEÕ2žp‡¸"&;©jíµžë®˜«ƒaì( â1îñ>Ë%WvÉL`C,þ4rˆ3õEì’® ›®$iÄ«zèf™¢¬wqK5çf¸¿(&?܃¼€@/Í´¡Ž˜GqOÏÏO_ êù-zȯª ¯ŒÙïñׯ̔MN0Ö]L*œó²4 0É…3b»)o) … Òüý"-É꿜Sùpø#Ÿû(ïÊíé“8«Äi Zî•í§K†W­ß7oÃÖÊ-1Ü^@‘N{…Ï±Ë Þ¿ý™7ùÊDüÄþ`®Ög KšOl§;½¿2*Qe¡Öí)4?“¥6Q>Ì[ѧ|™eQÖU¦.{ãÓBŽS׺d÷™íeRðJ ÝÁµý@‰ÐÆ~øo :à›Gö•Š›ÑTØZ‰¢Õ¶W¹‰[-ôM”Jcçèá°ò²`÷ú+ s SËÂ!6ÑÖ>2Áªpb%K‹'¥jÈæ9ÞSýù$qåÂtâ8ÍBv²Žh`W è?&ÆÃ½IÔçjÒÙ ¦P™žŽ²§ôî-(?õA> E-YkïÌôÖ©Deú´CÐ+‚Ñ7½ù­‰õO0ññ{4CÒr&§¼ÍDU"†P4šÉ-é $¸)',M * …Î?-aëà3­‰Í û\æÑÌmˆvlÓal×ÚÁPi‘;Jò¬ý¾?Ô€öóØ1#v„òÏŽC™Š´ Žƒ¤¦öÔ¡³ËÁ§³¾Þ=Žn¬Cð;‹ mŠÈö€¸ìÍìzÔÙxª¥Ñ7,ivƒ,´áÏŽlëµØ* QÎmÍÝü„ó´6벊XÈmy›üjmvåþ¼tT¥Œ‹ãÌ8—Ö££þüžOô³´´c–ÛAÛ"ß÷—¿LdŒ×sP©Ë¥ùåÉ,ݳq z%j‡l*Ú\Øo$ú¥J"†a´v€íÒ/ùMy A…ë‚…¥`óîøo–$'î µ_é³gý¢ ŒÃVíл¡°c E#ÉHõâ¸séúž`jœ{ÈŒá ¯ »uFYÌ*ò+uAæYã7ÁËÃï'øN–Éfæ¨aä £tmŠÎ¼ôj²BS‰U/Å%mˆJ¼gÆß—4n›#BÏTò{´æm­ÊJ\Ã&–@ÔOÏÑx™aë@:RÀ÷²6»!YÈk]Quà›É´ÆÞNîY1; Z<¥èO6Oúl:„TZ)¤†Ê}je­ôïlm€E°?€ð!dX51¾D¾âù.9˜ç¤¾j8GaT®´îX»¬¤‹rebõFîq_À‚^©ëüfSÊíýó*ôʜeëR+‘Îãø\§-cqË]§²ý"“VÅ}$C?Î8Æ —ÀRG,­I@B9Ž_gƒV#íw×8qµ—ò³átP·cóû25»Œ2x²‚J¬ Y}]§"œhpáêéö…C×u§¹:sͺY\…\ƒ—[ ªóÑô‹A})£°Ã§‹RØÌ™ÏÞ#M"ãì|ê†p¾Ïz“1R±ê5`À—ùQnÀ²:ê¡àñ*K©î¾„V;©çbuêPm5¥ ƒf+Í ²îUæÛú^#¼vé“„¯} ¹qÐåVBËSN-´h |ù,*Ó.äO?ñêH%† Ó~ÄQÑéâ:>Ð=®%<Ík០Í~rI`ƒ>¼Ïïa3ÆéUÛ#~ëƒZ¼ÈU·!˜ë)tnR4xüÅ€Ù –#5âw•­\wšç³å|Ís4¿ñšhuNÞ,ýƒ=¨“Ûvâà‰ÁtáÞL.îkâô·½”PÌ€»êh‹—j‰,öâ 6×.¢¦ XÏ”ìƒ)y=/LyKéi‚»›™³‡¼zní¶•¸â/þ|K´‚3*oݳ]ËKq«ÔZ `é0ó-Ðü[„‚Ímþ( O» ˆ‡ãUô™ÁˆŠ«Š|6E`Ï},¨’¯óÍj-2,?s­,]ºèbç°jXrÍM¨\Ågø®ÁpI©}£’°eÖOŒŸ®âüzáo-²DÙïZ]³Œ[#¯#¬”'¬=¯_¼‚ NSQsŸC/ÓD#¤Åa-)§³k‘Ñ}\á;…;ìb¹·¿Nyð4ÕíÚaŒVÌ­ù²&dq+Hô|˜*ö:—Ékßš€ñå÷ŒÚ'õWz>ëuÃX*û·›¼" ¢>‡š~³-Q0 pdM™0Ö¹™ý`£+–Q£wÀgt¼QC“t†ýäÊ=5Çh¦øîWüM!tù›ÍÍ×@Ü 0ñóÊ=¡x¿ k+Õóð£8Ѥë,j¿üççnDîi:ýF•ß Kn4Â"þïµ<á˜u#áõ¼94àÕza ¿€Ï»º«àX¤Ó'ZùÛˆò´L÷nê$NDmÐ*iü[ñê+0*]Y(cB#€¬"l ¨p!ù?"WLÞ0€Qf—OoÛ4ŒË†Ôf°®Po³v©ZIEj="‹¢øL²jHðcÓJFôÒâr¼õß) zT å¸Ï޼š³¹ÒìJ´L}§]|¾_½«²Þ²®E åMB(\ˆh©waz^Vƒ …Ú» pðɃm ¹Å/S§€äþ‘þ5Å1¡¾F¹î¯£ã9ÿd)urìlöJòvc—¬Vñv¯L…ZGfºoÐ*&MbAµž«v´3l×éðÞQ©Â*9¡“Hd‘_'n˜Gžè¯ÎjÊ àù”3‡stjb™Ï&]LƳ“×Äô»nZ%‰KJô88£2ŸŸËÕgÑ!gª‘LÛ® û£º_‰‡åŽ~ÒäÔór·|¿àG>­DŠ?´E%Ge]‡»–çH²Z“ûÏ!)¡+…Ô¾Š™Ýïø r“å瓲F bgôKëùµ?«~,Øw”}GÊ×M³üms,?óeæ£ñ< «¸Áb¡ˆ]^•öÚ]?•70LÝeú°_ĦËÑÖiß >:cão,Ãí„oŽ›HŠŽ‚/l±Ûð¿f7jh™¨”vÛJÕÙOÝÆJÒÚqs…x*Ê]”"†ò/òxmbùáqƒzHÖöee'­¼¾ÜÕë€áûWSŒ2‰Þobä§[Ä à±­×P߀¯‰K{ óo’î'ß"¯Ël‡Ôaá˜)SWÇó;–:4 Žæ°åkâ¡ èad÷“22¸Né½Âï1ôÈba¢Ì ËÛÔõÔúâ_>ÅíQÔÜ+©Ó2ã¹XÆükXô~¬±ý/¢?.ðb¹'j¢/-Ìï„b8hÝ¥‚rž9†‚´j€‰k,ä|öÿ•Žn£Xégñžªˆ (ši†Ž,¬"~ ƒUÄ*M ï¸Ç‚Q}±Dy9º÷o›,þqÿ_¨7‡(¯8ª c¡³8Ç%²å¶ (íì¶Yq­:n»N|2ÝÓ½ç‡ +6-‚[@7)tŽw"É\bp-•ЈçZ-¬ymÓ$)>웾ZÓ â¼“^œãnš¶>¿×N…>Àô¤2õˆŒÆãÆ­Wõ¥‘Ëœ`=~ ©ùòGצ;Ýy&4@|ö}>çë$P‰¼P±måÍØ÷#kÊs¢5ö~¨`ŒÁ›äÒm‡=)Q¥ž,è«&z$AoB¸æÅ„©ò8| NBøéÑдÜ"‚ÄÀŸP]`”œý=Àt)t¨©‚ `© q"±ŸhU·_µü2çTEé/'Zº”;HB3èSqö7 h•ï‡ÈótÏvœITÊã8|Z$Ö¨äT÷¡-¬žÿÃ1ù_he&È`ßœ. †/™äl•jdÉßR,g™G–ö|;]›—Í™+£úí¨Ò‹ÑR(¥¡œÎЮvë¬6T.þ®ŠU¯ÿ­â»|š²#òßÉíS úì$3ŒKë§ ¨eŸöA¬A[4Rõr÷¿üÈ û%ˆª[G¸ VætøÕìz4—7€›m…±#ñòjí/dQÐãý‡Ù²Y]±[¥°õg¾¥ s ß”Â^ß0°âúô«cO–¡ïHGy=ê—k@ÃšÑ¤ïø·ƒ p¤…ëï•3ÛÙÏæ³ ð-Æ/ÎþHGº¯óÊ>Ñ®°R;T¦¯¹ó¿¯\ìD׺BÓÒV¦!2ÍÒ›²®$”}¹ËEøÍ¼¶—-}÷+lת(IÄî™LðzÄ/Ó==(TVì¹Öš›( t {l.ÇßÔˆ^ÎÉ­ÕZiÊ|(MZm2fOeŒd]øç¦Å g(@JŠqAô}DàÒè‹i¶HüoÆ =üÞTë#•¢¹ûëüJþ-Þ³Ïæ8^§|òÜÞ&ä/²éù§8×Ê“ âžñ¾˜¿ BÁ¬Ì}øóÎgm3ÊO¸¾½È ´rJdÔuÅÑE,yL<tÌç¤Å®Œ_$])þ$TBÚnÕ< ’0Ç“àU§d/©.ÍZ¼‘êŸ:Äó°,–áßorôÁõ+ørK?©<×MM¨ ž³z×4¸jIÇ §¸ñ÷Y¹ ×Ç÷AîçqÙö…DçwHc»1«ÅXdx½Ì¬1¹º¥üJ÷ˆÊ\oQ/¢CÅ·ðõ=á¯.éÍÆ”JY³Û¬ŒÌÔ…·Ÿ;yö?äѨm‹"¯b}´-ñ6Ë´Nèl=‰#«¿qœ@ìJÉ+ –<%î­rªBF¸ÔÐ Ôº·e^<^ñ¹¾ÏXTøýïL7»„U?´>ÌåùÞÇ«{û®Ñ¶OÑC-geؽ¹ñ§ C+àˆWc‚p¬ÀZ3ZKP¬)(“4nÏ­Àlá댿|´ñ8ƒM¦Ø–ʽ<ôµÑéîƒyHŠEŸ¼¸êŽ4 Æ@ËJÊÚêé=ŽaÉç9é0‡¤Í8[)ZÓ™ÖÖï°¶fŒï¼z…âpýÉUµìàFOq"t½7c3‚$E9FViŸ¥­K߯}¾ …¬±nÙýkÒ@x5iM-vÜ£á=gpga‹U,˜h.}yó—–e±Q?æ€Ôè¢ë) JTÒÿ ±;ýô*Ô½óñж؆ʽ£óŸ‹0“W¨ÞOGy…,eIÂÑ— ûÊ4^gâ/†Ùº“¡‹Ø¢w·Ä3•«ÎÂ8"¼IA‚—¿¹Ã`r"PQm¾ÁÃü²ÃØÿ„J9Ú`õ–‚”ÄHµxç:fåóYÙB)YbξÕ?$LÃAœË¬ ¬\DW YC®˜§€¯ÄÏ|©Y4Dx¾ñp\b[NYÇìÍÇiµ«áï©‹ý8ኚ¨§3„ÓM ÀOÆÄâ?Í!µ—áQê¯Ò;¸t­þqI{ÛT@ÏT€š¤ÅóÛ&ãæ-?Áƒg)=þ”E€w8£™–eQÛ)Xê¯f»Œ\SÛzŽCê=Ç‚ÔéKëü¼Á7¹ž3Õíò5È ò}5©ݲÅþú?|'J楥 _Š :ð…põÂö“ý(ZY¤­½»ÇÜm>ÛeÖ *3øT± “Ù2CX"yª‹Í\hÞŽ%|-6E%›Ý‚-÷rñêNKêÉF豺NÍÑóvÝçGÎöeŒ¨Víö·­u+ùD)ÁoméŽÜóY¯>Ác½ )D•Æ”ãT^­ð”`)šþ¢i¤ªî/ºÛ 50=E´é¿-¹"i7ËÆT»ž8)…[*‰°®°aDEðÊ4§òl †©ƒ -E„_î…U·‹¯TxŠ™÷s÷÷s7L—êß,÷ŠÃ…2~/qŽÊ%‚°a2„Àòü}Ü·²WÆë ØRÚéî«/ ×bÚ$6“DoØVcætZ:·ýZã­Ö爮Ã*ó¿t$È==6ûXØŸÀo6Ï™^¯Üq¤p;#=± ÿ¾9ü~¶d¸rIZß#Ž·Þ/âl&å!,> –ç̼e0É4>Ýñö9§J^1ó\<‚¢&_Öçæe~2>ÿýõ×É c‡2ì~C¡ƒ S鵕Ãç­½»–¾×ÝÓ”ç*Ú|³‡·åŽ¡•I3Xã¼¶&Eé™nzâ±2ç‹ÌÉu Z­K¿g׆Î9š.sgPIØñÁ0)\è‡8üÇÜm®É©:ÜÀšáÝä¯ÚÖIéÉè©\ºÝMçß¿ì`b0|P…Ü,McÓ è¡šrÚ‡ÔËåá8µ‚Ú9NÓʾ±‰,¤–Ì艂;-+‚L8·M’NÿŠJÑF*÷“J¶%2´kˆÊëœÙ`7€²=З~6s(Ùâg‰§%v½Åµ­Ìp£N #›Z”å¿wÉ}eñ pï“ß—éó:/M=êÞOŽ”ý¹ÇûÐU±†ÆIöv•Ñï¥ê,IgáÓíÀ{_˜þô¨ÐÉJµQq ”¾Ko'®­MOž‰•ÑîXÅgj«ÃØ€m7W¶R©}ÕÎ\Þ ß2Ç<Å_q¥VS´c\‘µ¾ç?ÌŸs¥×w´–:¸ï5¬ŸóëUÙO‚x××i¯§FÖƒVö¼Aú̘GæVô‡ÿÝ•IV^=‘tVrÝ•3çŠ$Á3-£Þ=ÁVÞ¦{Á…Ë.ëæ†þ²>n*'©~ë5–=O¶cÊ'/¦ç ýË«&x°á<Øeöóø§! p £º«áÈŸÈi2AqypKØ¥T6ÉQŠÙGìudvÊ¡ØS½Å–±=)HNöͯÖ/(9G K Ù»‡oš«.Û=Fû7…¤)ÞEË« Ѳ¨B0 : —Øð'‹œby~m9Ã÷f‰‘bpµÿ©&1õˆ¾5záO¯wTxáiÓöVõ²$žº„ɳáé¶>ýŸøè—†{{•õ¼Á-í+¢¶5›Ö MñcÞ& ƒuµs…ÿEÓ¥\s¹“‡Ÿ—•,ùµdoдeø'¥]‰'6á MÞgð'E±”CBæ?ú’0ÙÙéft³kÀÔ¥Ùò3¿ùª1¿†;’™#1ª©°-l¯ªå{Áó´m“‘7\¦bYúжí´WùùHBBÄžÐÞ öò rºw&5ui®Âo"¾KŠ–¦²¡*çª ¹ñc„ù&|H-¶R2hpÕ)’(ƒáÅ+Y•IKXß±fñµ\µÈ€#=Z¶ãæáÉÒ¹8nŠÉ¼'ö™†)Ò&UÑ?%Ð ¯ý“ŽH Ñš14Ñ=·¢5KB…º˜U,<¹» é&•ôA¥éëG›úUŽPÖŽmß¡ÈF[°ÏfQÝѰ´$ü}ۚؑëa³gI"ññ Ã>Îk5±mÏ4¥”KrGߪ÷h“—µØé;Ð?ŽMœ¤ë¢Ÿ±‘UC4cR óI妓 H4ñF ’ŸÇ½[_Ô\T$˜ê·à`QWˆy‹ïÃwÙ¡ÓâNЀñL^ÿ‚ù.BÔÞýº¦á-,Ó<-öÚeÝG·EÖ6ú§gõý‚LNÙ³Í*çßS…™ÓJŽÓÏc_u`{üšoDÂcloÏiˆ"òÁey0k¥%ù3’ÏYñÊ•-"*¸9,‚Ògð "î&Q]nG«Bñ‚sZÙýàU,ãsî4z€ž·Å’9Ö«é ©×XàÏñAiwcúk_$?nEõóø=ÒÍ}âºÎdRJ³mÊÉ$ÆÅAæ›ø½Œßa3ýÉõ}Eʱ EHOÈa••Õd~]¼Ôæ]H×Г¢!Íq—0¤@‡à±aÞnÍ3“–ï™kƒ‹$Ù Dq®ä&}ã£=­Â<ëÊg¾rÜ7Qƒç |øÏÒ¸Bò®š–aHÀÒ•Ò¿OúØF?h'Œ·ÑÌ>†éi-‰×¼z -3°VJÖð›NbƒÊ.é=ù[S‹ô]Ð/­Íyãut±Ö§p?K½zàÞ_\Í}–ÅÏÔä´ÊZX}§Lç²…uåÝ÷(á6Æg ±÷Q½úÌ}•Í@@ïÑàfÃIA­®¡DhÉÿð‡Aí*2—è™ÔDzEåbÌ 4¨ÍŠLOŽRõ„¯+¶ÿé‘ÿ\Þ^6žÎÓñJ<‚tIJÃì¾10†;«ú¼tA‘Y2ë‹:¸Ú;¾]-rÇÓd’ëäÀ‚òéU/:áz‘Õþ:n×Üþ ɉ@BåOãAo“°[yò¬¯$‚ùÙÝæˆ\‘A`+Y,ÉCÍ,Õú‰)뺡BÅÝžàsL°¬|ú}@ŸãØb;ÑßùÒ‰ÛÐwfô¶¨Û{×8ùÙCÔw¾—`w~µîÌìÄÍüŠ£‹V£€3ˆ¬{–§]ˆæšDÌË´¥XN”»Ϫ§öñU¨6:*ŠÖg ÑTƒÿ?6d©šlÁ3?ÂÍšêËØu†Õç–¼ÑJZHoŠªày×;ªWÆÂœ«LADÚªãáj¤ ¿qØo±Û$® š@(ãÅÎÁ|T âØt NKY÷¡ æDw©†/q…5×±;·×öÏÜ„ðK¹MèÍo¥ýè"ÁŸsOUBQ‚Õ7Ú 8yº…ŠÌl¢‹ F„j*4+V2ôS³²Y96· jÀäΕà.Yª¼$+Æf³´7FÉÅu¥Â#‚Ô*¯ ƒ'Šm¡›AnÆ[$xtË¿ßb²hèvÅW"Jü”7#vxSÕìzU<ªT³)ÿòµ¿äIÝß¡®á樑#¾a˜K·nÚã•9ÚíÂå}t_í‹Ð'­Oø×<@9¡dq<üàÔ\, 0ü, V÷™ê†¬½¹ˆe›ÆkÿÙT~ù«u¿Ú‘¯9ÑR/·ùú1 ÑzU‰Šfm‘´ª—¬6‹U~Κ6ˆK»Ë+eZ^ŒuÚ-1ÔíÌR§ÌùNH26“Í[ŸÉŸ»…œ2hHÐNg`à<%É«ÝfõtTüqíØ€¢äJEéy¯·óA–°¼ í_ž6)¯²¼J©¦n˜½JËS›Þª$YݨPâ¥ÓJ%°B?Ç^‚þ|©„Ç7&ŽÝÈŸ}#ôÐ:ùò~˜e§f ²-džÉùoZ­…võ€ócbª%*“÷¢'7NW4’ÙÖxýÅõ 8`ÝÍÁ¹LÜo!dHÖ¦\ò…;›^ù±b–V$M½KÝ µqõ«¿°èÝ j:7”ä,óªó$ì7Ï4ÚÛ+e¯%é[%—$°#~-ºBNÊ‘êäRZ Ž² ºzÔ=Ót#q±<ë ¿ë9ZFŽ ³ &Qý“䌵j~K2¬êâ¡™Š%œY•ñÆìV¦æd3rÀQÁø´1Ìv7v>FòX‹;f=Ífá¨HO¤ðµªÀ]Úœ×"•_“ô‚'›Å­<¾Ë]"‰BxNœöøÃ£þªs—ؽ~r뾫´¬?B\{‘‚ÔÍîi6¡ÿÙ¹=«ä·ó¥8˜Ìc;®I pZ`ÔMn@ûÙڒ郱܊£H³¹×%™°ô^'Wwକ ö¶¶p‚<äÈã*¸˜|š `Pelïb3i_G$Ý>¶_ïÕ'æ Tcwø`Y‚8cª~ÓØ-(4 w¬AŸ åÝó*•°@-ÇßÌ´Æ#e‚KÍ6¦¦„œ¾wÈXo€ðÑì¨ß”¬h„ø1G¦oè“v• %9›ÿ˜ìiý§8 z¢@‰‚C¥î êVC»»a€kÈ`ªdPƒ2áäÛEÊmÈ  ¹D߿ů½€Q!Qmœ·¨æ„|7¥Ý³ß^.b"V36tcà›Å{÷&› õ±rZŒD)›±÷šÏ£Ï¹8¿|Žk=.™¢}ØSŠH˘K}SÕt¿ðÐ¥bF —ú¥÷X2Á¹ÊB”ƒòñ—쨾Cô¾ìhsÿ¿dÛš, àÏ1VgÊï~lz¬ìù¦õ"$%{n:¼*:óE*@ÔÄÎnzå½{É"˜&Âw§ÅÏLjlƒjþ¿ïj†jUsh<Øâs(‘èc7m«!??%è±àžÇ„/•4ÐbªøQÜ_Æbc)Ñß“ñ’  ÷îÔ<>G‡'‡ÊÖûVH—Foa% çzÄúV¿‰G<ß À¡3ö-†EG†rùÑÄ{Èô‰‡–¦žÚsòåv4Ç’­•1ä-øÚÔ3Ž™Ç_¦šL+óì [ :G;µ'Dï‹·%.½þÝTØü‹7«`ßÏ4rHð ÿL“k%=®F{¬31Ôz)o™›Ž ƒ5ó |’4¾ åüê!÷„RxErz×à;¬]¸éH[Ì-mgŸ Û‘¢žŠ\OäÙùg­• ñ«Ê=@‚°ŒfŠxsf¿ìª'på)Õ}€Ã³âÙ.n÷©ÈoII;VÚÄx6b¤®Ó’“ÌÅFå;0òd-”[Û¥D 'ì›ó,h¾vªYÎi¯ûz«šHvábƒ€·/ŽÉfF=978{«ÊÙƒ•.ÓõÂî¸*$<ý6ó,]^ß3õ/þ Ó/³Õm]¼Ýy†%F1­Ä­U@–Á¢G‡ÔšQ"Ð 4Âß®´Ñ7dªîƒ®8HÑ÷¡+fµ$vcÅA‚ó õúÔøa«ì«Oe.GŒWAD‡0§³?Ʀ•tR °i¬ú}ÄΤ²±ŽöÙ¼ÝæÄw4ͪÀô¤utKàO.‹h.=D‹ááeH{1YÔ=³D6J=»›è‚û+ùäÞm˜3‚®CKÆãYcL’¿MøÞ7iÛyá:™­cÜfB1)È`O›x¸ß÷¬D@X:v‡W3˜r¶Õp›>›/]æÆuµÅ…µÕ‡Ñq ¾ö<³ã¯Ê#Š$4}šš£²c…0‘Þ­7R…Å2+œsáU§•É]TBxq;¦·F™­  Ñ¥Úã²8kÞ¼÷NýÛbžŒ$-¨s£È2­^ßJõqVùY}m)âìr¡2åyWH›áåÇ&)Å,²Ûëä›rm~jç¤Dgž`lkæIIW臋:ß,S–×߯ —Táµa¼–mÁNA2ËH DÖÕÕpÕ‘·»ØUXú(7Œ{^½SdùT d:_¹ã_J6oN·k[“õK‹t†z—á_¹ñtƒ= ´soZÍ#Yyд©Ã" ½äœ)¥—”¹³Îu$^]%²òëÄt‹åL_ÛÝ ÛA­JQ¡¹…çEðÔ0Æm—93å·[²¡ž’Ul´t!¼ü=ÜBX†÷Iò¬tèŠ á'O§Òøœ'‚†´Ëå)ŽÁu'ßÔùdLÂKcl­Ñ%ÍQªdeðÝ“Æì#àm 2me”Hd•›¥'÷£Ê€î`KZÛ‡E„ât&maúeb6æYÑßžFŽ 4Ð|:€x ³o·#ZÔ"Iì¯/%b6’üuNm‚¡R°+2(WüÏt«Ì±×Øü¼9س]Ë:SNx\÷à{¸¾"UÙÞÃS~[bûË+þh…8ØÍ”¢y ²jÀDûGDÌɧ +;CÇÐŒcmõÇ'lùs†*ËÅ<¥ÔS”UÌÊ_¸ `/t8r¤þAÜÍ"ÅÒ‰ @(çqùÚµ”©¸ä€[6p· àð&˜å-ønkÂqIõ⸸‡u¼@òìu€~:žÓµ¾0$|¬pÉ܈™´½åŒùÈ` HNÀ÷rcª?}38àߪ­ÐŒSPÙQ9µÿ©{µšé{q;?÷bôJ"<ѧÝQd…Ä9yqyRƒŒúãűۮ¤Þø¢–ê,Ë­ÇÿAC9£ÀŽšå:üj̓ƒh: $n?ú\hÄ]ç”b6¶õ&6SiB8;¶³®†Ú9ŽD é!#øCÏ`§O‹wmØ*ŒjÖvãóѬ†A² ¾[¤ê*iU>¾Ož¡ØžpH†gX:Ì—‰aÓrD_M6€œC€/Zdûæ6D‡ 2¬•Ø¢-É>¨t™‚üW&eÛ5ùA•.8V˜”ØÎ eΕë®/Àm–r¼qVA Ý¥á®$={ã 'Ê{01§kTÁÂtÃ^`4Ó¼zXµúÉüqDÿ<ã²!yZµrǵs=0Φ ¹=6òž0òÚžñ;yܤ§u,0Ô”Ãóž|ÒÐþl®1¯Œ ª'#Z+=Ç>&O#X騭\òªbùù€Üfù5 ×ËhôËy·lV/]ïa¨ Ýž±­p+£ç³º–¬CpA °Ä:[Ô  ?™ŽYÇ|°ÚÈ›ÛF'^Üuh챪Úwh`—} –”|â~Æàù½­8¡’2À˜oT³I^ž.­Ë’_’ZçÀ3l´ó›â»®Œ+ð9zÆ÷§²ª ÁÑ@öE¸ZÀ¦†ØÔ¬°Æ3É­ÓÈ?Ä.Å€ èÈoö  ¡ûh¯\. º%­È¯8 ¾ÉMȇÁRˆM˜aô«oå÷G×rôCÏ9§¤6¢õ.Âý &¿s¶žÑÀY:¦†1®žØ]ȪîêvL¯.œ²i»•ž ѤÏ7ʦLa0­Éé¶š‰^¾½ëIhÙùÈÐç )“ÿ¯q²CV‚)éÏ@hô^ {j] ?¤þo—p¹X ämàÃÖœiäv îo1²ÊÚOˆ¹(!<d<étï§‘š®‹ WÆ´ý"âéQø c·Ù¬M¼å×èD=bß×?'©7c:e®[Rø2r!€”âçˆ,L37²¬‚ômâèg´=ŒÓEŽa‰ê‰½÷vÅ@|˜s¼Û p”+äç¡7ç¡™K¥WÞ³±óF|ý‚îDªèð…X¶–Úf^ÑZòQ%§{Ù\´ñ,vXâ¤J+Ÿ '¾h$5 1ÝGÞûã“`sâsÄ»x£oØ`]\Îd¤˜î¥Ë’‹üŸ-}wñÑazqmw¢œ ãø‚šízµKÝ2© Ues7~‚ ۅãÙ[Š{€ßt€u†f?—í5ëï)4¬i¹m>+˧ïáñȾ§ô‚QVúÉ€…k2Œ h£°AËnR×ßu³v< Þ¡H‡ˆ—Ćör²]ÚÃEAG!îz¡#P·÷³¥atô}B”f §»¼å“ÃïVâß|ü#ñÆ¥‘ |/‡ËõèbV +¢ÇûIž¦(EüÖ’ŠÒä¡í•%ª¦ -•n=U“2Û–:AC‘TÃu¥6UÓ§<ŒÚÒ‚îúœ;ÂB %µSE‘f‹‚‹4 fe½î¢NÊ7’‹B©çXÑ‘ä//)R¯ìqåúe[>¹Ž•¹‹^ƒYi™£Ú£j#b[tgZxSöá(#)¸×0ãY÷½ÛÿÌWãÍ’Tib„xs*Rüî,‰Ú[Ë}›¡ <»¿KåOF*º _9–ʉ¢MÕ¿*åü¤*)u8ÏT>yŸÜD5k͸Ӷ€Phàð77+ íÉb—}•f ²wVžh’æý>SCÕA8½*³û³uÐøX]×°†ÔÐs-.\lÄÖ°s4 ÙÛ!/X8ICn’ìͯµÄ0µÿs±Ê«Íc’º—›× ¿Ê’n$c ë±I–Ó;NëO‰ÐÁ24bêmÇ’¼¡¢Z9U훨ªM¢òÄÛÜɾž2X.¢Ÿ‰½«È+ì tXòå´HñTŸ<—èÊÚï1ƒÐˆ9¯sþ„®ºÈ^$<¡-ò¢ã-hZcž¥•m8ÿD”$^}ÅüñÝô -º™ï éfNöCñ|ã¹80iǤçÅŽ_³J8N¢ÎJLËöHI¦0‡<B™ÕUì»G[·!ÇvÕLx÷_§èƵ,Ç7Ï¥®o\ô5oF|TVQ*”€ï&¢î¤èL57 Á™b ”ì=¥qßbßýj—=€ç"aUX¶&(’F1Uqj |¬Ö”ý芠Âõ«†y+vÞ+”¶p†dØä„UÔ àC?Õ±Žk‰\‚¶;ÈùÈã¸ëAµuH5‰Κ—:f­pe¢Ø½ÿ†„ü3²k³3›ÆO$[á#PM×-UÖ ®G›T•¯[”c…þcZ{ÝÃà¶›—˜Ï«ÔaƒMBôÇDDc=í¡x6{Ñ‘º¶/±q?KèÎZ ž–¦Ðcú¿Á†iÔÐ;üÝ‘9X³â:ÜÙÌ…ç>4C2©y¸Í73óù ¸Ü?¤ô²”/Š»ðK‘)ȧ޳—?¶DõçíØÌæû ¨8>MIaÆ+MD±ûJ<ãS¾ŒÇõÈÄ’zâUçÔkŸµh^^¨P¥õfïåoŠËª^=­ó«”W76v-ýïÅ_f«ÜÜëFI[}_G½ ØÞ¹(9GOÄ¥6Z ïê=«ùÍcPËÚêß6°Ú×P²MD…}>0.Þx¹|^#XƒÅBñâæÓoqg Þ>¼e‰ÓÅHØÆîÐ!hót¹ñÖÜ+¹Bu™ôžtø‘Îi(ëxeŽÊ£ÄÁÁCÀ{e1P„¾Ò —>‡»£Sd7ÇYÍݸLº[+) XZî"µyÁñǰ#§"HwàT¨ÊC/ÏyÕ±C”` ‹÷w$½\ˆò’ÀGr‚8°üumeDÐQL£ÚÄG\ÌÓ8¯xGB` ¬³ÔV"‚ozÄ õYÜô(Ù˜[u@éñ²ëȬuñQ=龎¤„Üà’q°V=sˆ9E>C‰·YxmñU²¸vÇ5ƒ5L“a»{Þ8~ÙžµôCÿ ëí‹Â´­PwŽB~Ž¡þ|}#Ú- ðW:ü[ÑÐZŸÜ#<ñÙ{.õ+’r`º¬yòmxš›e3Â…¶ 2±õwáRFr?<ǧW»Â óE@žº0€†Ÿ¶ð{°2)tγ=_f.x_E¯É5V¿ïê G)fw˜|djÐf€Ðv8âÙÅèzÅøiÈb,x/¹Ù0ý©[WµÜp÷Ãx…Z‘Ü9‚ˆ[ɼ$Vß™ å™xl”óžH¥[•A·#ýcsH Ó¢Æ#MTBHHËhœÝBz oO-v"2ê2ÓòÆF•#Xg]\¬Ëdµ`˜8žp5©$Xø±+PÔ«³§I*Í“›€#Õ[¸émPÙeÇÖ𠉑¥n¯{É—2ßí¥o¹¡M åÓoÝá¿Aôšö‡<úÁ}Öÿˆ¿ƒ1Àª??¿Ìia—úl“õ•z¸$Çký‡g'.8IÝ’fºqvSß÷èòŽàû0’è!èêE±UpAþÐC`n.£Ö<¥‰ÙS¶Ä¯#ÛúMÈA¿ŠÄžÓo”œÄð”³Ú«-í¾?Œ™‚ãÝ”²fûÒz»!‹y"Ñì¡a(ž{šÊ88¸U.sBå—¨ä‚Íþc‚ÙØñ1 §A§šsMÑ 1j Á°BÝ>¥m7´2L ‹smtJ==Ó ¿™R"$¢r7,ådå¹Ëö•œfis镃¯0Û†µ;¾³xÇå­€gnÓ @.׈­…ƒ,G‡}±áDçbÃÈôï\K@ñË/é"5[èû_ÕÿCRãñ O-ÜŠ¶Ÿ˜ìoKc`nIq^åfŒ5¾@÷‹õdõgTªÊ¦¡5Z+v¡ƒš¸}*é¤î¹l*ó¢Û(¤ìb[Äge.Éã*!ØŠ ¶¾›î!ɑǻáJ„¡ÏycywÆm›Ü[ÛÓ³¸·­âÓ’j-Å=çZmé¸ÿHNhÏCZ÷qtNŒÑ¸Û–‚ ÖPØ—ñçxš…Œ%1 4 ÂtGTj†s±[ÿÓždo“´Úi¥¡§¸n¬=ˆ½®ÊU"–¹¬s(\Öl‡ $™É-Ãq‰‘G ‡<ˆg‚ö¼ÕúÞ@LP_ððUîâ,‚ú/ïé  ItMo§ôŠqgˆ^eE³=ÒŒµèçBÖZ('u_Ý;¹Hºw17¼"ÿAÿÝoˆÍ9;]¿ÂI\ ΋<–ÄÓ9L©@Ø^¬ÔH“òUãfŸºv <ªÄ "Üõå ³`Õ;ßÙ0²]ôÝ]1ôYûr sÇ9¼ei!å__΋~^d¡=ûQºIØ š8‚ÞÕ±ÿ0‡ƒ¨òÚjvv$Ô³ÐÜDÊ)Ž(ö¯ß—ÒTV’ºýh;y÷#µŒŒ%€"?ç"ÉâwÓ‘¾‹Q0¿Œ[Ÿ†ïÅ”ýEnÄ;ù»Œr¨3#§ëó“mßÅJ¤¸;‚êO5o±¯ìO>‡{ÁnãW×{/®„‰ûhô•öc†mï9"¨g.Õ2Ía4ïrV²hëç5²‹‰Ú_*9gl•R;{`‚"~àM¬/¸×%`¥r‰Ô¢ôgE”þfÿAi*»Ø’ÚÆ“8bãÊDr®›Ë‘¼ÐÐSñ@kÓU²–ÁÞ.\œ\;íH`„ÞŸUrý¦!õ ¶ã LKGªæ@}Ò. *£±ýË {{œ‘_‡BMb.œ1,—Ðhß1“Òº¦ÚX×$öFlµúQŸø›| œv$FìWMgï7À`ü™Üµg#íMMxŽRÝjˆd Ÿ ÷òlÿ×<8õÊö—TŸÔ'›wô[¢Ç>¶}M=-CÚ<®—*Œ|=ORRËô¯ÓëÁí ¬¤«ðKiŽu@†)v—ÕãhB Ò‡nŸ #_‡$­ræ€qX/Gåv¦‰œ3ŠOX©O—Å„´‘QgŲÏ@mÑÄÌô{ÿYÈ8G“"Æ" c¶Y4Uµ¡hjßñ@RëãSÛjÄ-WﱨSwØp•Äè²ÔÊD{«<»8à0É/|l¦N°ÖZ’gDüo$zÀ kÜ…"5­õÐÅ3™F$Jv”&Ù?”£Ö¿•ˆHòx(™5áØœrêðß³‘$®géq»ˆ®¯ºþÒíÛTcà–’FƒñtUº¶¢-ÏîÞë°£ªcnÔ?Åžë¢wù¬Æ~vº,ÂÙñÅ}µ°k€‹gM1,¢MX_¼Œ„çŒÕüšxD¶xņqû, ‘ÍÍD r|Žª¯Ý&"$wÑŠ*Ù•´h¢;¬ˆ;Œ€=¦ pØÎÿ‹ |)®·¶h@¬êAg>àiœ[ܲ#$$Õ80¤Jô<Â9ûWN¡‘’Ä? %ŒžÝ–¸úv›¸zs½ íÆ ñÝSLßp [Ĺ~eD1qhEÞ®ýÍŸÿÕµ¥Þ´à ª.3˜Ñ[ßv1ìÀø#è¢S>²…Pº"ÁŒB«Ûû»Pãeǜ˼wÎÃqQÉUޤ÷2zƒ×àYy‡iÅ.°;xKDØC, S]dWzׇe}¾@¸Ãýs—æÿrgèýͱ0½ØÓz¨‰Å‰Qn¡øAjm:ó±>¼ÿ¼ÌÍÚ…ÝíitíÍã̯¥äÒhf¼-}øÎrÖR¨¼…-–^*Fº#¤$õå`œR‡ñk'òy·úX[+CƒŸwÏÐ¥ üLÓV?ÉÀÆ×£-šêýkù–kRwc3ùAE_^1ñzÏ®‘ºqHèÆŸgÑ.)‰%’B…»·âæáx‘öÏÜÅ ªWäz«ÿ8’Üìg웳O¾Šâ9¼Ï`¢h'@œ$“1U^î~_ó˜ÿ¹‰º$ízÈ·ž‹Ñ»uÁVd %Pn=þÛ-M Rò9ìVÿï"© é Me>ñ—q2ân‘‚¼Pwq…ØxÄVÒ*xÜÈšb(œT¨óŸ…H "r Ý—x¢ ç>BºkH¿Vp…{C8¡55U Šƒ£ פMuzèÒx¸Aκqëþ".Q &­á¬á^MF^å cõ}¾bœÙ¡4¤ý𙻜a‰ãÀºnpŸe¶Ÿ#"´¤ ¶ƒß¢#=lx‰|ÓSôa±öÑ£dø“äì³@ÊÒ¼óç›à”Ö‹aÁW‚ˆZ7ˆÔØÔÌ}Š©ÕAìíJÓ^2mGEõs‘Ôº¡¡mÑ¿ÆLÖ¤Q¦öãÊ©˜’hÌkû1øâÕÈ2÷<+HP3–·ÁòéRX'žši²ha[Á×÷ñ¦víæèºãñÜX—.àälÒi‡Ž&r ððK›}à•žÅ?${™æÅmÇs úq€ôr½wJBÔ¢Ž¶ŒŠ•æøÄÎt»ýé|ZÝ /v‘cþkI÷‡UÁ ˜Â4DÎÆÐ›iš( ²éï߉E'LA·xßH}KôOcòuÖ?ø‡—c†| "6)lV=†VM­¶&£"Ë2{k·|à*þ\ÇÛ<ÖNotÎÞõ¥… {ë-Iõ=¥Ê—üÎÏn>“2 ÓOÕFa‚Þ%ïÚ‹Ršá—ŠƒÜQw<øgJ»¨º¬ãÖÔówl4”ÌEó•üæW¹õFÔ>ªR¬îïÇÈBfVZWV…?ç à೩«&k3ly½ÉgJ ÂÝ™êÐÉÀæž«Ú épÄ.¶–!æYµ@–9÷K9¸ÕÉî2#ÐØã_«|CM—µDeÖbm[v†‰@ó¿^³­oÈ3Â8èVjiߟå¾è:´•êCÒ?'$-„*áJ›ú¾A6QœÚ‚KÌhBhÒËÿ]úç* BÚ@oQ=6:±á/›qx->²™.\.À}•fð!lR­&Ê‘’ÄÅ,C+¼iöÞcw`ÁƒàvYĶC"Àkn°jDŸW«ïD ‹x¥*¹_’’ßZÎ-ùΙo¡üÊ1–và±³ö?U^..·nQ1×`„ ù±ü^óâ0úCW¨MnR§q'îÕ–Sxú嬬øØ·:â€íÿó±!3Ͷ¡1²ú¾§Œ Â,íq Üû…¯¼¨HfÉ ü~Jò0‹!|¬´ÉÒ¹{š,ŸÓGïæ „óHf¤,Ø å7`Øãüm¢DÉ€‰ ¦·[ÆO`1^§}Ëf\dßãòs /‘Œ‚f&ºa¶\íY«ËG7ß–£|ïòàûÑf³ì\ÓVž]~DÓƒsü¨vóñÆdçÔ¤”P÷6‡ÎV5 È=œ M72úó¢Ìk‰Ñ¦ôâ~_qI³}É>u‘9bŸ¨Öÿ™éÍÓZƒ@=TÑ<=¹Â…ö»MÌ$xúÉ…;=AÞè‚‘Ñ£Ò¾o‡y…ì}ó x”ä=œÏ-gÇߘüzYª"“#àÒ]^Ë}Y Ö•îÚ%¤EâÀ›Rë3ja ÿ_ófµÉä)òhñðä:ï€I àH•Ž‚O$u9ß:àØæ¢_ Œábzóôò¶KÜ܆4üÕí·YÖ‚ó2¿_ËNJ×›ºdmÜ‚|iem˜®lˆ­‘ZlöchJÝÔ8dù›²ûèW$Ú -nW3T âtÀôI"*Ü™º Þ@¾í` 5Í$åÀÁLÉ¡»göÜ씩ÈÔ~>¦ õãµ^C{b+ nb÷‚ßd3¬>Y[­óÊ…‘ié³¾¶¾³ì s¤ê“ 1K(òÅå28³¬u«'W0½¤þî†ØAä—£Vàš¹³©iYöÈ×“Ü rFP¸Ïª £ËÚ‹]+õZætÚ[Æ7­©¬ ʎ㵌Gyx¹7,[)€ ûœÚR¼•—?#ͱ²”0Sý9AËôçS÷UÂ(˜çZ ôΊӰVÒLÞÿÓ6-˜Z{Ú¾ØÌ!ÖŒ Ó$6Ÿ‚œ:Èø^΃qŽþßÖâ¶µd_šªõœLï;7{™Óhûµ»çcn0³µDA룲“Õüòwùoš #³èò6gÓ(]`ж²t©ë—¼OŸ)Dc@•ñä,³ð/F¾;51fÞû\ÿO{ÝŠMZ7Îâ%mvëþ)ôä‹püOä¬oë?ÞRÕŸ‘ˆ .õDÍAìoóф޸$ÑÖ³-j´ïŸçó[>æ¬]—„"Ó#@Þ^"ètìGh&4ÂXÆ|ZôFk®Jª÷’ì.Ïçk=0õÑhf–qǸöè!$ɾ,—nÈ<ºÚô.1R¡œTÖÈ,œ§a×Jq®ë?hÅ2¹áÂV‹c»lú³a2µŸ*Aëcs®\Úž VŽ#r5Ýâµç»¡´7§l¸õ³:ø“,f¿™;Ù´ˆN½vcD}J².lÂYûó ÒvUã´Tô·ê.ÏMš*k°YßÏiή1µ™ ö©?XRáõt«šðåýËÃ'YÑ<ÌÁÓº…®tWÿ[%V]›;^Á!ÑEp5Ñïœ)œÚ™«Ú4Ãë,HíŸü™E5K÷uþeNeÉ xµš\•!Eñµ³Š—ïɃx± óÑŒç%GE¯šþfˆy6ñ“i­‰IÜ™bÏ ú™ñ›?!à^±Ç‚ üãN4“¼'…öeL“EI=ý#¸l­AZµ >‹Nž}4²ÚÄÔ7RòQEa1¡iÞÄ1r‡›£ˆ×TNpç|ˆßÕœI¼ßv/ßËXÉ6ÿ}Àhs¡tµ2jQþæz^œvÒ>™›ð¦}5†å{S¼b(¿¾ð0 q|tÕàÉ@÷r:5°C“ßµX"áàIV¾~Á¨»ý­ q@âÄŠ_<&“T—Õá;ª²SgåÝ‹ˆ@Ò€§’ƪ8¢ŒYŸôŸ™ 7:a¯wNàp8rðœfù7)¨! {ãGéÆÂ¡¹#JÔ€ÛïE’½ÛéI,¨ºæ¿åÖ]݈ÄÉZ­‡&ÆwÕeÏTy¼ AA~kÐ![ LÜ…K웲ÁÃÉ$­ä`QXÙóÂîP<Î÷‹ü„1#›Ä‚ösk&ä”»áY+Lné "Á†ªMžƒçtîÑ˃uæ?„{wÒÝ*ßGÉ uâ—*ÔÝÌÀ÷í¡!¶ q=ú—šôÖ°$ûú&wðÝ%IA²øž;~8»™­‘´ñÙªœ“û$¶»NšÑ𽬠©§4(RÀæìZ˜¡›(h`n#Óž­xyE¼©Gµ $SN=Ø­jŸÏı±gx0)I;&£ÉA)²3Õ׺…‡ì:P><ñ:ºCНxz^¤Ç5áŽêÄUCx)¨¨*µc Î_ÏulPësü)¤N9úÝc à-¸ÓÊs‚2ëä†õM•k DÒXÞâÛàÕ‚ŠË«%MgKeÚ‚WŠZ&2Dt¡òáSêwê^ëØF¶8…§LóæL¶sÕ4ùžl ¬ÃÍÐrÌvÕÿ~ðÀ37ƒ@µ/Nnþ{ä4“9C'FðxZMãl¯ïGw‚`ðϱoªÙ¹i‘$ò­g&r& 7¿2põ±€¸Ž¦¢À--O›uÌW øbV¾',ú?G e†Ÿ­ŽL™‡yÈd£\Lß¹¡$Æmþâ••¾BÀÀÍ Ç—PMÅ!k]Ç_›-•°¥´+‰ ceÒ Kuí§Èá)€¥@ñ³‘£)žD,Œúÿ<[‡«Ç:Ö1lñD–JÑ—‚µè‘Å}8¿Q‹qÛ4V»Åz7~¶Ëx¶ÁÑ­?þSeJÖǨ¦Ø<¡(MªÌI¤ÃÝE¦Or£ {x¿ÞÝDi¥oùÿÕÕQpƒ#×.aÚ–ì58à8ÜÔ¹LÔUrCP4SHJæ<Øu/ÄP‹ÞŽ‚mæÄt ®KAW•áøE©SR(ÆJZÜß.)¸¿BR´íª­èÎÞ=ÓÀ s;è¶> <ÌEæv*§éQ¥gÇ™º—CΘ/EZO'}¾!À§Þ“µz;Øu’Ôx#$@ÎŽ4R¦»´ùÌvû ²î»ó΋€w˜$¯vVa8KâÅ$‡@ ì‘ `—ƒÄîâ cñ'/Ç »`Üþý'“¶tTVøÈG$X«uV§¬Ì>˜ûû4(âõ—7È,K댊¿J*Çq€Z Jñâ¶Ôû×»…¬>¹Ù_üvgèñv@•SzôoÞˆªÈ•p­‘íÑæž;ò·AÁDê FÒµ+«j_*ùÕé k½Û[ðšÁ£xØ•ºß¡×JÏ–°“SÒ‘sž aJS.ÚÜôqO±"º] fWsÆÖÀrhlõ'F0¢5]>§‰—/Í‘ÖÚÙw¢¬°ùU2ÑùLIÓ¨ë„Êöè¸ÇŶ ÀC¿±.zÄLÔÞïc gäòz:¥rý—¬€‰•hvz´(QuÖ•1Q.Ø sÒAVï"p:iÿ(küøð`gKDy‡Ÿ÷?§׊·QJ¾ÏÕÈîž›TºÊ³ Z;i‡›PU±¸ø(?’„£•WÁ½_!(3ÔÚèîþßÿâ†ø ò Ñ·Ò³—ËROíhî¿L2NŠU…°‰iF^XO¸šV:èY.¼‘p‘ùÓB¿S@«°æOvP7oìáÈÚÇÃÑ opol¨”~´háQþ¯#VùúËw¹¥Ó ³Zô¨e/T"¤Ç%b¾Ô_¤Ù{ÂvZå©N(_¿SG²2''¥~´Ç3li)Ô®g®¤ EVÃÀq2%$Cx·>Ì ›öæ2ųÂ2²‚±BïÐSŒ73˜@µ¨xŒ²Õ·o˜Þ* ‹íDù÷^iælZrÑÇu‹Ÿ²+…IÕ®“­7ô¦~`»¾K¹d½Kñ—ÅŒÚòÒ¬œMJñüøê¿8­þ)þ}œÆÏ=¤ Ÿ[»|mÛ6§J‚ìb `FH^Õ.bJiHVæÄ¥xz…Vÿ¸yëSÔ‰V ,ªFì`?[¾ï‚iØ]°É_?+6¸¡€ö[]îÄ0{¶ÌÇh¶Ê µ!°çT"#d¤¿³î¾IÝVÔE`èõL‹WòœDi~:øIC¬„bÑÈÄî3ã”Þé[þ½|Ü7Ì/‹­µÇþ·Ö€ºŽ ;µóÕd%*Ö)È2}|ñ¬#ce¬½;ç7êGØ&†`iF 1J'­c~Ú¥„{M¸¾ð‰œ¼F%Ht³§¢©øY™p(ÖN(E2<ûë{ßF4Ì‘n‡L†:!Úaõ‹rû–MOò˜=­Ì‹”jFq!Ÿ%@òQŒ„'—P O«§â|+rGÐ ¸«øy$1f¹¼¢¾HK­ó° O3WQ#&+%õ²lê¤æõFV6NDûX„‚é;ò‘ü¦ó9ŸÚ¬XUçiÄ'Ô7OMËKLq¾ûàøw¼‘à+[‰[}bnÅü"_– jSUÞP…ƒO–þZMöﬢdG¢Ø•¢DRÇ¥™[ju˜_L_ÏàZü;·qû1¬É‚}Qì:z¦YÝ-.èô}Cj¼ÞÞãõ ^S>íšÁÛô[4n0V8ÄJ$ ûbÄj¾Š.ÞGʸ»¬›%l÷·«C{€þô™Ö avîuÛú)8løØsw£ƒBQôš~Á¥o¥-°.á ¤]w¸h‰ë|,`Ù:ãwÎ>žé «½è9ý3BíjD ˜k§C­RÔ&Gz–dóJ<Œ”ÄÓÒ|šGƒ›âüˆbН'¨‹‚{Tb[ꔤ\½þÌ„ø&y5kËꜴ¿ ¾`¤@½XªD3W±¯Ý•n–^µÖo'I¬¶ñ»È -öñÊ£Edž—¹™aÆã_EþÛyü¤N¦÷SLF$¡:¿&^¬:™H`eK¨×°>ïǸox PÛΤË;Pj9sˆµÎ{£·»R¸«ê•Ä- ˜O¿Âƒùñ7Í-ç»,úf¾CŸD*­×¸Éå ßŠÑ‰tŸÅ'>Ç)ok¤iüQê[¬Rö*—øÒgšAqäšgs†»{g½V< 4}ó4_ÿ½‰öRŒVgEµÙ/v=[Øšöæ1: ¾£„„z`ø2d<Æíñót 0|cYa%*œf~øÎ‘ÐŽhúü.ü¹K‡‡‘¨[ 6Oàû™Ü"´ì¢=Û¹¯ 妱űIa½Ý¦£m.wpô ¾ÊyªG¬«·ÿßópÈ¢GºBÁ”q$€ŽzÊô¯³pE„ïÔŒ¦<ŸC1 ö3›¢ (·šMruÂ)îý-ǘ¶$fú²›^CŠVCÆo|»,• x8Gñ7U8+àˆ5 âF:J9Á™ÂB_íW û\•ê¶<gk‰‹HPdJ¥‰[|ê*X&©çœ™ŠΗ}Í>–1©¼'™X±œx@ ·”`½Vüê0 ·Š¯!óæ8´ (ÿ.Rx¦òÞ+,èÕײ²ÞÛC¨ò!I÷2„$ÏGýõÊ‚”*ÛöV^(,[Íöª@£¬óm¢ØÁ⸨—ÒZ«­ÎTýŠ’°ÁE åë3ôßxGóµÜ·Rr€2™#ÑÌ;û¼>ÿÝÑŽúh€" '¼ •þ‡ˆhÓ€xváòÀ¾»e²üc *7H6ÐÎð ´7ý8ÍXVˆ×8h,©É@5à‚…/r3hB8EmZù]ð¹ý¨*¾’·Ñ¢ÂèÕÚÐÙ :).¦éçG¢ß5 ¸‹·Z·+_–FuŸ„ÀãöÿÛõì ˆô&Óu±÷ŒÃJDæ)$$"kk,9í¡¯joçƒÑ”;öTuYOt. G©ïétéöï*÷/CªLÖW{9TŽ"9÷HÇU‚^S†ÎP >™½býùŸý·?’tå•`·õÅüR¹û®–O‘ÏA€÷ dW UQ¼¼ª” Œço÷›–0Ã|òs^ÀÆV-s  ®šå*/ ’ÍËHvŠÛ˜ á‘ÚwP—Ãd§€Î^QÐŒËêØáy†Æúiþï+ÏϹT¸·N+]ämƒäY ñãð -€¹WN¥»QºPïôg²Ñ§Ü# 6Làø‰i§]×^Eó[Þ•Ž"÷–¹sJgÅ Œ¦ÿ±Ÿ¥ýÒxuÌí=Ó×pì †mñšÈp«Õd¶‚Æý š|}¹ÿä×–Ø`¹>Ÿ@Kȱ!N4m- î¹yÊתÙÃI¶QR¸h#AõãÌYèót¡ÌßÓ’e©`¾$iìEØÁa³„{*‰º7a I¤ó]µ‹¶õ„ëû„)K:³ØÏ ü ‹Ô?± ØûÿZŸFâÌÐÁðÆ0åq,[þyú• n5=ÝÉÇzDz¯ ãu”»”H$d¿šQ·ÀåR-?Ä oÒZñ:3«–aVür‡ ÎO?S«¬Ûè€2Wv­ˆQȽ‡É÷ÛÈüf² ËŸQ~FF Ž®·ô_ˆé,zîaä'Ìgar½£ÍMf qÂïäÈÞrÄàâª6uM…Ò²¹åP5˜ì uú«•„&¨%ÿ·Wdv+MQd`ËÅåÀKopÁ)2 ¼×}Í›²Id÷Y²–…oV,Ù9§ óÖp°ÔAµ€*øÖVhv‡s·T…aòÓ(FvFj§('(ð%ÑÈWB+àÊõ/÷³,»ÿv“*Ò?N:(Ü q¯áK­Ò~ÝU+#å)œ^Àzyg_ô"¤ßjJMÏO» }äÈô¨ÕQ1œ1¯}ñÚ$M÷òÚaúÚònµñ"ØÓr ß(ÒÀÍê‰=¨eV'ª$tT¥^SñEˆŠ3!3þq¶=ä —íÞwë…Èí“TÕÆ¾4£#é‘2yNz0îYØY Î 1;†H›69?Ñüïrdª²Ö%&G·àr¨ýoö‡ ?2rL$[4!¯¢öz(RbaNá]úQ ÇÞKúûZÁðë8„µ©P¸Ž³@Ï#´Í Û 'µ½Õ•zw|'øãaÙ@ùÆŽM§Fî÷ü¸ØÞTVÊå ¬mfó5ånzø‰|å<ìPÄÏ\Ðl;ÐIó^&…Äræò1 H#IÌìL)¹¥`¥Ê\Ìyíáu¼íc†Ý Œd} ½fÏ®ZGÁW:ý$tôœè”L»Ñ—j”7ž`¸]sñw»ÿ7!? @Î~ÙkBö8!ü:“æi©6}có–ÈPnì Ì›E=„àèaßÀ\XhÐWÁMóiþAú ξÆÁ!‹T¹/˜¶¢òœ¥Égê»Wö»_y’û‘À…‚ï: %yF'T(UïÏÊ÷ÍÄÑ„§n‰T2ÇPs™ì å}ã'ªwJ«ð½”™«ssQ4r`;Úis/y C“ê­¡óTŽ] T¥ùH¿÷g÷´aëbö•3V8T@©Ž £?˜œP]Èö“ÃKTìœñ, ¼ÉÏ÷il]Ïû%ÝÅþÖZ”dpÉG¹hƒ¡ò¤¶C*R€u•¢ó´X0ôÞŸkC@8…ô?tö„Iæ3]±Šœf\Ðz¢øFM˜ëVTLAÜÛœn}w®°°nÛäö‘*|ê-hi.³nÉ8Žv©3Ôù,& Oçzù>¶{óv†¤£þ5r¾Ouü$ßGé¡]Åù6˨ k 2¡{MëÖ–ÎlR€Ï[0kâHzigjaËÝ­«2†/”åk§Ýƒª%§6-sÊÝùLßâSŒ2v>Ú·eøÏÈÑbØ.êíŽQÀ{>^h¼Fè4Ç|%[|%Çvã¯)ÕJº…d{U…`‚À ªj#uÀt¬6ê$›¾± .Ø?ЩØV¢}þ˜à 4y/íÔô§GÅá!öïòZp½U€(üÍ×þ‰$Ò§LeºÛþ:õÖÒ&SCÕ…ýÄÏÿ‚:ËzHÁõeÙôä÷pìÕóôP3t¬n’¸ZŽ 6óû4/$Ö5HTõVäå…Ëm °«ó^@.´ÖËBÚFGgg–þ†lé%åWSð~ð¶á±.¡èJ¤´È€žÁAˆÈï”pî wí±1¸cD\ƒ/±¨À¤Ñ×lÀ¥!,æ¬P(áño¦üuà½ÒIÒg§C×¹Lœ¢~r½Gö€>'ù`]©ÒœL=8U¦ÕLœ)~À^ ÎT›ä+úµ8v%Mw?”mo”ÃL¡“d¾aX]­”ˆùÐ×Ñ2ilêdª¨µÕðtÒðk v"užÐ‘9ÅÏ›pÆP_sX„’¨[ŽÿÊþ€'—œ•ìX2‹h~©é›Æ¦´=?ñ¦ kšd[2þHía@c_¶ú{1®=¿/ÄÔ¶ÒHrá05Ꙥ–¡²ý&iê\döþþw¶;0›Ø[œƒüÒ‰Ýa!ÿîüs-+س,zqZâ'’%ë‘0mQí»§÷üÍ3ÑÆ9ÅD€É‘WøðÍöìÛGµh#y}‡œ,%uó>wLGµŽÂ" ¡c£Ä%æY²n¬cq×xQ²î¾çv†±IÀ@ë4ľ6ÌL¦'̶jGž‚£fÈõ'ãÕÚÖÝÙ}Æ¡±˜O÷ൃþŽ©¼PåØÐÖ\Ãô¼ÿÏ·` MMUåàt·ÊàINqÄ0¾ "ÏVH5@•P~1&ƒ”7qp¢¼Ðjɱ$e—­Å•iÞgƒBØL·Î FÃtÉÅ_u5w‹»ð°7q}Ã>^Ú‰nÛª2‡¨¤úX¹Å^œzÒƒaŸ=büºÌeÔgk1Åg˜j‹‘8ükfsz4­+_2p¹.n["ÏRô÷Ĺ2Ü*̃"wÝ›Þÿ²òã ÒEçØµ» õ²ñ~Ñ#Lšç§7†U߸8áWRj@gî>õ½'tGª0ÂŽšOFv¿ þ‚·J»„7™ÐUõâ ]ýÝ%Æ-ß*lœJóÊ©G£Ø*C¯±žZ%ù_Z’Ÿd }íh`±³½}H‹¼`”²û1ÿ'gÛï‡ÈïiI4aÌ)öŒÄã÷ îdÓ÷KÙ¹šQöâÏ.ùbæ1lCñ_!Cÿƒ(Å<¨+iÛÿT™SMÁ"àÙô‚Æ7A³MHNÏÎ—Ý O,šk²†ìCYÍ‹²µ¬6t>05¨‘ç£^³'¨|öîÀ”ŸwÁ8КZÉà˜”™œò¢çlF 鵿3¤Nî ±Ã_ë’^ÌäF„qY°Œ‡T ìÔ”“Zâí¼¿î.ÒÊíÜÊÓo²Œv9<ÕE3ENËé-Ú“ôOÉ÷ôgC" W+§äý 1†+î õ#ÒçÊAEfXŠxt:³AÛÿy`’"^å5Òéï]íYË­`#ÐUÁ4·c¬V(êœ,ŸñÓ¯çëûK +Î.üLÉu½„ÜVn«6+~¤»$Eèï”|Ååxx®Þ1Ó0˜ŠwV®S­¥Äƒr°êh‘N€ð~âÐÑdÁÚ(‰Ó& 0RÝ꣸«I¿ ÂÙH>Î{(%Ù7ñ# Ý„oÝx%öĪqÜæAYíÔ)Á ¥Û1^Ù™ag®¤¥¥jÍ3!vÒW.`Öðé+8ý¶K½¬lÏ‹YuØ5Sz0úYp•ŠÐSQ°;êý« ‡¤Fdµöô{­è)LšŠ5B>ŽTŒÅcrûܲ]ZA°‡ÜØ€žbÿ2ñúÖ*¼êGÁß%ëTZîäK‘¯T·í\ˆYµXý¬VºQŸÌy¸4UF\&È3ZÁJÕ1åá(Ú¤”h»ÞÉž˜e+Yòmrw˜Ý1z¥ÏlÿOShŠkØ4Xû3½U—º±Ù~^·R^˜úˆóg+|õ¿¸1ìuy6<¾od¶ÐÓ“ºöõê~ù›/ЇÕ¡±z­ vF qÞ êÉ»…wIC¤CÏÒv‘†ÖàiÒ9æìÑ`@F§J#¼eœ Áé¸Ûmøöƒ€}Cs”%ø”›Axið©“ø»Y ïŠX¢¸¥„êìC¼6µKöb/zŒ,ÍÎFaî2!G6÷>'{ŒÊ¾š tÙáš—` n0§ˆ¯õp&bÕí³Ó†0l[Võ*›òïÊ£ ¾m¡ðóÑ„*g:w˜0TÜÛnˆÍƒ‹7ßëè{øB]‡Ü{Sì’7#Îò¥‚sèp•bñÝ7eJ2LÇuø²8à"ÝHgõL¸NH¿tq…ߎ7bÄååÿJHò ,…Ì/ ÃKY~u–'|; •)„¢W:´ßäQ¯»“_³Ý±€²á(!RÞÌMfi&‡ òúQ“³Cþ%ïf:Ï5køOãÛËo“ÐñLʦ¨¢44Nwœ§•‰gÕúÅÓ³»—UÌÀr¢Ã\ÏGQ.s@c{œ TÔOgæöè â»R§Z´D…„ûWÁM ó LXaH/9Ο53éiº;œbaš2¶4ïd”¶JÖc~Ô‡xvFþK2²ªD)äÀý§«K©£rø> )7ÍÏœ¥Up#ÜíûDy&ÈëäÆn¥¬¤6Ûy£~Ëý´I£s„ÞIVÂYÂã^­Ò½Ke˜Ü¸N¦k”‰«­DÀ±ƒ¢g÷|ïÉLîF êRÄv!oÌØÜš¾L1¹„<ç]õÏ—ÚZk þÙÿ0#ÝÐ Ó„æ*+ºµ«½b$H]ö¯+RŽLð¾ø›®-Cï¸N´È|6ík§gÅ$Xî‚)ôd÷‰ÁíÈzn£–.¡¹“ÛˆgÅýŸhè缬yúÊŠJ"¦¯{†ƒ1“–îɳéw;͹19åQY h í*úØK›‡nææÁE{ßùÖ¯Q‰ëz¡Ù˜š«åÈ‘;%ƒgN½þHÃïc¦`‹¨ù >•Ø 9éÇõ‚¼k\ðM•À–vü¥ –<öfp"”D~#k³-Q‚ô’’¥i¶š8 ü¥M§<’ýª=$ÀîÐdm‡Ëü÷!õƒ^0À¡0ŠyÏÉ­óîŠ<lCK#^¡€—3ÜxþVNP¬n}äTÒ8šè†5)BËöºÖÔÖ^Wn‚è¹óþþEÖyáfX^”¬ZÚ¯ªk,ùoYšÐÀºd¢û°jEÕY÷ÈÆAΕÕñ !•Ñ2ˆ<|àÞ“mVʼÔ6¤f8…›xk¤€&qVòõbž KZ§UÚDÖ\›¤ÎݹÛ™ —Ô©nt¦(=-}<|(žb¨Ád#Cu/íã N_˜Nçèu\ƒû¢Bö»“„ÚNmbJQ)ûSeL3ªr“V-Ù+XucžšÔ3FY‹kCŠKÃ0m_´¶©A‚þ}ØÍ„CLðy#AX†ÈF7hq¨rÙ R»Ó_ “ô®TäO•MÙHåÈ1’îî¿‘¥§“GÉ·ùE \K¼“ºœ¶Î4Áö @N%H<k}%nœµ˜óL–›ºJe]®œNéã9TÑŒÀp CýZýÏ·ú“7THÿ­Ë×&\ BÓ±Æá– ú®±¬–Úr }Úv“Cih™@fqV÷ù±Þèïë1\;Ù'·"B†Æï˜àfÈ|•ž÷ºYß~ì»m€J¾ƒºÐ¿‡³‹Ña»í)°+Œomí=.´£`?N n8‡ÝÁƒç”ÔÚ†5Úx>FŸëßdãdQT?¢-NùœLµþŸ<›7ЇÞ¢¸Ãí– ”ŠÈ­2YÓápχ/6ajxÆ—R¸¸…{ZO3ÜÎàûCÁʩՎµÓ Ý3 ± †·’ºÓ²ÍdBR¦gÀ}zµ·Ñ*ÛÊúÇ눾Ì\Ç»%]>6£lƒH¥S_8ÿ÷ÒêE&’÷À¤(ïIÉæÏ~På:pP{ŸPêÝñ‰Ÿ3à%¤_ÆX´#µQB{ŽÍj¢E%‚Mr?帥îu¨™\ÕFÈ)wöG‡t)$P}ÅŽ÷Ïo:Gs!U‘ã˜e£¤¬OdX¹/eN[4^°Qf‘™¯-XOPîöÎæOaóáD´‹Ù¼(~EÅI¶¬Û¬ «D\ÉÊž¸5|]ud*y"m %$¼Fp¿üÈÓ\á•Ô½yrŸ†áËvc ¶@ñË2£u¦TòÂs¢­™Î“KбÅÆrIR½”JÚ$˜Äù20 »ÖFlPåI‰Þa_Z—óLÂAêxÒ8ÏõùÕ¥“¦C(5pÉö4ã,©9R)ÜòC+ÝÆè˜YðçÈÛ»¹5Øç@æˆùÔËftëÜ›8bnïÅ»JþØ·Kp#2ŸDqV¬7ùjÊEY°—Я¾Ã¶û{œºÃóïžÏ,‚Ì2÷-5î\Ô .Go)Žé&Ø)¦_tv™$õ¤o1š¡U´Üx&Ù'nSR!JJºûñ^(®ÁøOŸ(DDþ£Þ'™<ž¼põ“?Ô ” ¨ÿk´“e9"*79óGʦ6ÄÔ =MìúÌïšn>)8¢ý‘çÂ&¢~²ÒKOn’DD÷3‹–š¹eóáBO9ìä‹Î|å•BWF½ª$=F=º‰h'¶T,;âÎˤtÁƒ8’u_þìTž¥ÝŸ÷b]-³-0žÂE>ßò:òu=—Ò3œ“ cOdbƒEa©¸›âq,†ÙñDV—›à ÈÞól¤¦q8ü±øSlµ'°8Ø ©Â8 †[$6cU‡àSÓ”ŸÀ2*IÙ ëÔ§’xYæä¦G åJò©ãõEÆDĶŠk{:ø&ÛJ‹ê—Šû@½HÐ;ãŠØ¸îNÌ‚ùæó”YèÊW80Ù–3åË€A}U³@•:sÕ|žåNE_½ÛѲì`M%З ÐKoTã?Lüi{nE@'¸_›‡H²³´²˜×šÈ»1ÁE [rþË(Í‚‚:ÔVЪiÃÐò®U]†›M=׉CË:NÖWŸq½iQX^Ñ6*»$FàZþ§^ú”ûæ¨XÙñ»™Y Ù¯S4 pNbÏÞõ‰ÕÔkjàE¡e¬Ø=/ËÛì9¨£xþÞ¤¯\“¬½hNŽ‚4nBŒ<ÏG pH+µ•˜Í‘ÖûºíÙ[÷«±ßÊ‹ Æ\Z"æ+_6‚µyj(ä^³Z{T•€›é^¤­Z#ñöá¡×"ƒÓf”k‡g©!äV’2ÖF>‰ññØÙ]ŠFᤋ.ª€’úÔž«Kéõó:2°|•þÄ”\Z‹vþ^ÂDD9†€ä ˆÈ޲Eè.3Eo×÷øøâÌX¾é%8&€O4 Ây[rØÝʪ‰áœƒ÷»fxæ]õ 8q¬õY§yŠLÙšV÷0¥'ÔáÊpr›të%l'»cÔWl&›×Ù¾®žl¯6¿‹s}וìEQ~ŽÊù#ÉñƒÃtôa² ˆ/¯´Aʈ½Œ7ÇÿŒ'ºòóÁë =ÅÞÑŽÞªq³1;i‰LîÂ/×ËrW…Á_Œ´ŽámìïïŒxš`½íˤ\SÉõW; ¾@Pïøy« ß‘¼ƒÌð>ãYú D˜Üð¿Ãh%ª5ß¿3»9ó´Aÿ¦xp€„KÎ2¢ÕÒ_v³ši˜VïQ‹¹Ñú q"®ø†vþé.öôgR!e¦¦O,­ÔÁDÌxÂq¦ÕÅ^³uá…ëŠ°Ž›·ö­,צw²ÁØ}Ž,ò µyÀ5éLvÉ1É­M;æBH©Ÿ"5ý|©XZ,dÔþO jÆ;Ú­±pn”d˜ü$äƒ@Ø9,›wÍ>pµ0#¶`N×ÊÙ‰)¾ý-ࣥȷ’¢;çÃÖgk¹¢]Øio·¤Ìù+‡ƒ“)'ÝÚµƒüb!b½x(ø7á`«{êä²(G½døû¨+ð»bL±|‰´æÙpöϳlñFïø@ý/~K0Gs®¹HóLOægÜbUÿрǔ\À¶³<ño«ƒÍA›röAßãñ«æÓìòÍÕtóôã˜VüÚÚ ‹[ç5bÝ‹¦ýEsé1s[CK¼`ûáO“¯ùvúª:šú¦;2 îùÞ)¤EºÛ!¨  åHBö‡dPé²Qéíü¹„ sCÜѲħvØŒW)¶\¤@˜†{mÓˆýàùlƒàŽš0Í‘ÙB{íMŒ®Í´zÁ=:Å%9)®wò-Z«T~Ò\#FZ„²‚Õ À¸ÀPæç*Y¯l=é#\ÛOYår£zá¼\ ˜Õ‰!2˜ð÷¼1õ–ØuîKCKz߈È3vÁý𭥆òAi=þy‡wùÏÞg"–|‡{{f:»_ÞµçØ×^ò5Þž°C³†ä|`r£‚_Ï•ÿëºÑGm‰—ì?o˜´»c/¤…»ÆcáŠÀ °ºl(æ Lë«»¹[à¨}:ÄÞÀºJR‚6r.¤y&Åøq%ðA7Un;pA¿õú±†¼gÀ!Ãô_rÔ˜ì¯ý¸$e\Ík²ýzå"‰ô–$÷U¸SŒvÔÔó¢yUíLü±óQÀ«¹ž]O‡j3´”DÛ:&É›e¸@*‰°}uãÀÞQ·•·ËáW"°g¦‡íNìDIh¯ê‚`%wiQí¬—K’…2˜ U Vmü@P=?1W†„äUøß¥›EŠkǪÊÓdJbg,SrS”ôGœœq'Û5ïÍÌÎÓ!5pºÀA_Ñ:c…ÕV˜BÁi¯ÿlò÷VÔV¿ ØaMÌï­Ïîxm#zß;l: h ?àçfá]mm¶Àâ?+r{qižÛ1øýÇÆ€s&3Ž$vÉæOË "d{dz¦\‘k\–~sK5³nH‘<ØÃžÑ®˜‚˜)¸A^Þ(9É#`¹v(‡žªÃ&"v˜8ûÕôrŽQ¡Â°¥0r Ä’¯˜¡Ø þˆ°ÿ*Ñð± æ9²Äkróð[”[hUDw“`€9 }0qhZžð;嬸#°ð§`5ÇÚ|õe7–Dá]I½Mú?zÕ¤ê½þT·ª¿KoY݇ýR1zðy©ZîòrHŽ=¼wPºóÒç7lƒªýuUJâEäå)@õcÍ3·â”/š‹ŸÉaéÿ•?Žç‡›°hð ›F¨[ç‚Ó¬?+2¶‹ýZõ›ÛzÆsÉ;e™Ð9ö ú挞äiÖm,ÐÑÎmu »)ûˆÁ¶1z‹µC[Ks|Ÿ)ÑØê‡¼‡½2²ï› 2Ýê çÆ§"ßøä÷ñ磇M²®ë%í?ÐC%ˆ{õ¤]2*üØ}Æ—sò-£½Ÿ¹­ŠW…¹ÁE¦&^.¶$ 5 ü–¯‘þÞ‡þ×[·ï=£Ìé! ŽnÓ{ Ö<É;¸®™ë5CÓ5{÷öãŸm!»ËâŠ}UÀªá ˜)ÿ+óµÛ(OU˜ª^³+ Ã6@3.£[ReÚN®ùVÉä~çÁ²à½ÄÊns­ 'ñßËqõ›Ä2ÓÊÖ±8w¨3?$¶·ø´5$5k³!ŸÉŒk½iW»Ñ¾×?¸Øá:3²ŠŠÁ²_®m±îÅæ¯ÜÙvBû±‡kÂø§/In[q°æ/¥¨×Rb’Y« LE##nCÓÒ#üêg6ìþgsùR‘‹[³cP³à¨jc Ê^˜u™s8Öìä-Y¢EðI&'*U³–]ŽÒEƒ5ýB)<×.â+Äë*#ˆŽ,œdº n:±þ éG6æèÉŠ ÖîõÂ_‹ð+h»¶DZPò|[oºÙeƒ±ÄÜ5ò‚tï/|NÃE6Ÿ:ŠêÏͶ:¬ó£É´f…\#µ{ŽNÇ…šN±6îaÄ6ã/Û^è™±!¿BFç,&VcÈ\Ùã‚jW½Ó\dÆÆ[¿K\ý x«ç#Æ©£I;ŒÈì3VLÇÑ…cëfóZÓA”Ðp¤p­&Gs¾Ð¯ø;0ÜÄ"þ×…èÒ%t%°&‹.øK”߅GÏÊÖ”c²Ãû´±èÿâJ’½ÉkÑ›ï¨0Í£g,5"Ò®~&n@ Ä3AOùxT¢dmý¢×k²LBù:I›°íÕmÝš—º²& @Š'6¾‚KsBÚlÏ댗7:Œ´©³2;½¹ê­üÌpõîrÀ›Ú¨ h¯ë¾iúNÖ$˜,OJÙk¾…Tží˜çÍ,ƒ#'›a]LÊùÓ€Ö|ÈMI(_Ÿ†µ+@‡³SßjxˆÌ%ãn“ð\ÊØöàR e+!¬ü#Q©»ˆrCb–©U¨/é¿~¯‡W¿‘EÔo‡¬¤°, @Áž°äë—±¾÷\‰XüôÀ÷z[Ð ` ‹¬®Œb.ãˆØ(o_ø×ÜZ~˜jVÍz‡´˜~c4ÌX‰® $=2žVhmÏÂö:Ô÷°bó~/%ðÆ|ñ!:y‘6c Áñfg¹àR¸`Ü|œe #°×ZÏŠ57j;>ŽÚ$üw8A"cž5xç ¯ä :Ý–2)Î2ŸÊø û’ò&µüƒFØ!•îS±z^ˆ·³»ŠNÔÏÈ¥Ž £¤ƒjèºp(ÏÙ“óeÝÏä!2•¸©@nÉ•$cH7ŸP¨4>ññå–Uˆv ®æï¢À\Ê—a¢ÜZžbÈÄŠ¥àÒê v›ê=xÑËM&¸ý]õ‡¨Û‘2„¨¯~…3ôÒšœ˜„ݦWQWÙ%4ü[‹ÄNø‡ô"8½§ŽSŽ7_Ê@7èÂË8ï:M²þ_G|m ,£ûXÜÎï뿵%ÜÅ~Öç\·‚Çž eP°Q¬]N8ë_ÿ‹#üœpÌöF»ÐíH¿‚Ë‚•Úa4<ÏÀ‰å‡ mU|5[¢ø†svŠü÷7‹n$ìûŽ#9ר…,Á…8sÐàæA ’ÚÓxóhˆó‚4Îá¼’ N ÔSû3«­¿×[r“ÃòâzcîMÔG{È]9Õtb«£§ö+Š…ÚæMŽ©EU¹h@Ê Ÿ}Çãú“™Uaaõþ€é½)ìF^e¤A¡™O«Jª(8qâ"`Ç.0/g÷!a¡6Õá),j›¦KÎŽu¤"Ñîø†D6‡äNkŒÌ›Å)Ó×i§Ú]³s†Ü?¶HTw`]^بžFÇ ”‹e7fo6ñÒ9Ò+ÑðK© .‚ W36°‘rVBí=6é‚C¾.Þ›TCx.zÂHžºeÑ äݪçÄî˜åu½z=^O¬xïC§Ù…h›Ë˜Ð™²1îh]ž´JÐ’í&jhš²@ædlyŒÜѼÜè…Sý€AU¼AsËAVPÛ.]rw¦¸ÆùB¼ÆVBŒçƒpüÿ›ÜÅ› ‡éŒørZª`_ÓÃ#qË€©«ÔÏ}hþÚk©_ár«(ªãoûþ^Ãu+!Uãè%òB%RnÒ.¬ôFƒ?X%Mb…ô}:ZØ9*;Q‹Å{Á[zÓùóÁkõ}“÷åjtχŠÔ¸j£ñ$œsýˆm_M^õÃZÖžŒ8&kaá`j’Ч! p}Xdr§?W7³#þ²@ÏŽÇ¢>2¬Á³gÞ¿.›«€Q"ðÌ„x§®‰o\ÁL¥7þ“/óç9=#UÞ…*D:CY—ˆÚ¡¶¾“ÜS€) C‹s*£†c·CÉ“Ù;}Û^¿‘ ^@ œº+Í1›;qéùgÎ25á+‘q´£È¸ú·<ÁδýbýµUØ}ÙQ¹³çBZL/¯œÚ?hY Üœr‘…XKé+ï®}µOg+ |“a•ÃU5ÿ¼³ Š»b<Ý’‚à}çÜa1RÍÄ•(_üýjÃj;%ªúúÓKx?g<7É}Z¼Ï&íE®'>3Ÿ ¶EÄEU<þ…ç'±ˆ¨w'z‘M } IEc>Âk‹qòbª^T¬Ôh$€õ„/LU×£?¥ƒ«lœû {¢½M5·°h?¢Ó‡d 7YÜîÓÐ'Èï@ÀoÞ%­lúM¬£- _>¼Q¥ âõmXÕð€ž4§ßÌ‚3ËÊP´|û€.õDá.ÛPkŒã±áò+?÷<7|ÉõWwgù•§;â–Ù¹˜`ÎßjÛ!å/ÂtêÁJ&G •p“©´Î"‹.6átPŸÇ©¨´ƒBVˆÀ4­Ô«HŸµú<ñ?šE~,ýKù./Œè>l,Iç'“ר0˜Ob͈ΟD‹þ‘ÄC£o8/ú›¨·uF) åcn\)„À¿P†9gä»x¢¦¹T¾5í8ÿ³H[` Âרà gR¯¬”>$´–Ñ [Dh'ê]¦ÃÍÒ™óú½ Øt­Ùàîkš•l˜ìkÆ” ± ï\|êšj;Û.LgÀiŠN[ ð!Ψ¸ŸçY…ulº€h¬+Z¸.üM¹s0z¶üDLudÜUªI^c]¿“Èó€x'užÈf~aU¬uÔ7xyšTnסã•T=ØñÒ¹æ„âTwî݃9SÉož–3\þ{›éκwѽÊá›ø³ŸnðƒP ¯”àKàF'1ΆZuŒ{Šç|·­Ý.á#ÈŠv7jŸE²8xÈ„¸Ë»jJô P“˜¹ ñhâ58Zâf¢ùƒÒ 2Þ»½Zü ¼ì¬ ½n*ö»^÷s¹"ÀµY瀼0ÀZ³»Òº†J‘×ÍlRŸ_²“åßçïÖmRV•H­k1Égš´2z×^`;Åqæ„%`Ía‘§Ñ =:AdbQ8š0‹ÐS–2±[¥|È[ì„ÏWù‡»b|§^ÅG46AAð ,~•7¶æþZ¦B–$²F3ßÌtüÒ_~Úú's×,l€ï+»#)â®®Û Îƒ’ [žWOëv¹—8\œuÀ¢Î­Ræ¿u†!gó4HÐvŸµÓÓÕy˜ü)Q—åQÞ2·__³SBÏùKo€L 7QBK4×]V)€µ‹KNËʳ»ÁÀT‡~þêÉ- ͪðúÇ7œÛ…FtQ÷¤¡·z>Žvì4ºøgXzÍ ^ ÚZ^w ÷9ªÜZHê 'Cà»g±£….uµU¶o«óZÁïK§.ƒ9}­»·Í—Är%ªOm™©àùÞ×Ð#t3"7®o^¸Dã¤K§Š`ÿ]mI¤cƄȴÁ,ãtÖÄêrÞÜ6[6ÙøÐåkh#´÷âé²u~4àÇÞÏöˆ’üÀøy\·4ááM1üü¬qä’s©ŽÐíF ”bQø<Ðeõ ¼é¬AâÜšY¡¦¾lÖô4X½6àè^XàJ™e­%º8Ùû†;Šö1c[˜ï¯C~z§J¯4‹–•‰6z óqÁ U|;<t§¡Â”J’Øo¬’ôŠš‚ã[ç„ÿð½Û:ßh蚃šZ±@æ¾ÇáÇüí)áRþ+ÞI²é•œKïM¬J %syç)(S½ÄÚÊqBÆK[·Ððó¾hªÚ>%Ò!]—í1œé+eÁ?EÈOEæg9œøJ1‰Ò׈*™£>¸V©1ÊMEÁ0î.%o•J¤g½Uü’ÈÀ• m¨Ü€!N&\e?=‹v"ë ÏÞËrmê•PdX‹ª¹1í™løÔv}Ï8>Sùà¹ø²UdÏÒ};ˆ¡ “i ÂÀTQˆ•˜r[ÉDBP;þ’¾x†“ù6±‘tlØ^Îúl(ÖúŠ d\xRñ·Ošœ¸9¡n­•ãaÓ0nH‰]²½fçZ9H&žÈ¬´N lûÈ"$ÌNaš„ǧBkQ%+=LšÔÕ1HsªŠæBV†7Ù¥€-jµÒšâô¨ ’Š•ïPXßþK©Ú—ÃZ=ñ?Tƒì÷^oý‚Ç•aEÓ®4a_{"æÕgÛK|ç!òb]…é‡ô›j9CÑ[ˆå$¨†e+ÌÒãEB“•Cz¯2©ÎÉið‹!íèÅÍÜ¿ß,lß·G77ƒÛÃÂÕ#k§˜i_;„S ÉŠ¢Éç¼GØZ¯~€lí#¹Ùbª<äÊS`AÐ~÷L 0D| µ\1$êp‹ê´=?ßfì~7lq¯Þ &IiçÙä:‚Ý.+¼>Ê÷½¸ðÄwg‡êëÈݹ L‘Z+w«q Ú¥æøIUi‹{P-Ï@"ÙÊQm½…,*§i|rÌ}1–ÍÆþw19p`¨vkô¤Å &Xùé>ä–‰<»ƒéݵû6´~­y×/šnÀ~W«š€n¥Üœ_žm_ð¬z°€Ë¾Q>OrÞ%[Òy¤Ÿ¤,>ŸÍƒ©€b&1ç}ŒgkhÔÇ›¿Æ”f}£žØ^I¿]ý€oAOAµc⛬W2S_ñï¾d;'bŸèÝ­·N4‚*³ÅõR1æa¦Áí¶3¼¸WÞ4„(LÞ‹ðÞÉÑ¢ðÁe˜.fwkí‹t îi(­“·ýu[´/‚9§_e¾{ºaPÆ)dÐÍ;Ûg‚8Üq‹w ÆHĘⲠ—y˜¢¡6{[äl×Ôä>À«—ý `ÄÉ´B]Y{ÅÑTë‚atç0×7ŽË®b@È=îHý¬—w3¨O¨ÃJÆ;F9íJ½-kö帆¤W=¥:Ñ}Õó(\C$ Ûeû5˜€òUNÕ9P&NA} ÷Óqû²,¬ÚxB³wàƒ³³S«kœ`hžj…UE·)í\ö=LãÆÊ?^ˆrÇf­ŠxÖ¤Ôhq†²ª6²˜[vSàÍœS3îqXÄBúõLù]{žA÷}^#-GF$=û ®ÇÒfÈ Ãé_Ñ¯Ö‚ËøX‹«Fû¸vtqòÙ³¼Ìd@)’ì%Ó˜#ó’ŠübìŽ0XÀ`ÛýbHl›’Õf€‚tªhIkŠ ªPÚpÚówÁ³M„ñfpù×t3-!ÔnÔðÐ:Ä5‚:¬Ègû{£=º8ã lc¿’&y~®ù±q·3(¼U'¼àà^kGÛϧª¢(„×Ñ¥Fâ„@p¼¿„O:ÖÖfû ø#“”ƒc9—Í7ä’'€Š¼`è¬Â 4×¥yHq†ë¸|z;¯ÀþvBnTå6¹(á(dk69:ŠžµÏ:ö¿1êÿkÅ 3 *SŠN>b¬‹Lö¡ì×oK“Ô¸ÜÔR6Y^Ŷ« Óà®ÕàJÔ¢g&PaþÅÖŽc%XÙ‰ƒ_HÇ €‰k|H9mAýwEë•Òàø$£C½^ìŠ×#±‡1>¸oDd:¦U iøˆ~"Zª»ÐÈÎm5½Yy¤î(HéÈ#>bHÒD„Aåáw½õôàeÇÑ…Žç§½ßùÝG˜®I+Öú¤“&ɬþèú¡L®Ë»`(xõÇo?ʋмˆožõ1‚ïøÎuñþ “qÀÀo‘Îöåò7R@˜^ lxëj §U.õdZ>Ÿ‡N3ñÆÍ 3c"”ßu;Ú‚šU¡¤&­yŠdÕJÀŽÔ•>®rÎæ†Üåq¹¹É|‚ˆ9¬[¨%êN ½(+ƒ!ÕwµgcõÝ bŽ®¥uñ];´ÚÐ*:Ú£>Â?öÅ«R8g‰ôŸÅ<ÓCRQ’…0BAðålÌu°–Óô‘WÏîz½÷þL(&ûZeW¼ÜÇò“Žsбq~ž±X^P¥Q—z¸’´8)Ä-\)p¼ȸ¨I<FÏðƒ¶}[çb‰ÉˬúIT‘¢]yNPsR=»¬}”–ò“Á`ÙemwÀY[ßó>Wj䤕/‰bO 䪠W¢À±[#,˺ {út•™œo:fÑþBEò5—ð¡-/Ea-&|Ü–Hc½H‹IÅçIµu½Pøê¥É b"ÉêQW€Bœ»€AÁ½2ä ’›ªÆÐ˽}þ½¡ü ³ÇŠ¿lbìíMMöt©Ûº¹B¶í÷ÉDR¥eñY(a8]œ­ýw/Ì5“ï5-¬«§ýÝ´g ·>AœÎ-¥‚ÒÁ0H]ÿÙ‡Ý]®lT²M1¾H6í²ë•=Ž`ÿdøI½&IàÔÏíË¢“-1Ë€ï5Ežê*>Ž4¸Ä³È- =éaÞ)Ð®Šœ©il}#%îjIÆ=BíaÔÔá“F§Ñì"ºÜ-¿½!ÏëØ1FUyÑŒ‡sõË{š^d‡)ؼxT—Ígï)ÿËùƒ¥UÑh;FBßÓdˆÀ‹•¿¼1ÌÄs0%°+°wú·.´åÔ¼c½Ì +u{ý‡VëÓÑI[`fÊÕª~Ñǹ¿||“অ*9¹Œk;‚8 ùä£éËnèx Iè0 _5èYx×O7X2'šv]íÄ›“û:sÛDL€$¢nëóÏ-6 aØáLš|Ä®Ílê\©| ®3óÞÂæÓϤ†l®ØÊ,Ù}dVžÔ·Ï«ÑîËüã€0ú¡í™ÿÊwãÑ6BóI£é§ÅLjkEàIÙóEèÖ¤)CKòÄÊ8]snp×rõõÒ ŽàõO8¾{Çkïê‘jk}Èq¬&®C®)nŸ±(é¦ÝÚ»}\ßît§DìÃÔEix¸ú >þ8o…Ø36SS×¶ëõ]öƒïÌèŽ'RÁàdgþü,ÝvòJ)Ô?OÈßa@è3^ÿ•gˆ …CDÏú­c™…6“gÛéÛ8ké29ꌋsËä- Ÿ£ˆÂ“ Jî“Þ_Zþ5Ò*8g›>ó3žòöRøe·zBJÁ`‰”é¹Ä1ÃŽs’!$$yLB«lñ]{ _ðšg¾_Q½hw°ŒÄµro½@Kä‹|$"ëtõt70zo,ñ—²z÷žø6@ƒÎ²™þƒ'퓃ã'nŸÖaÛ¢ýlú‘÷N+c`ož­EïgsxMrQ¸¤åø"«L3§Š…®åÛ7çáq¿`&z¥+FR¼Y}ßµš)âó iÁ-–ˆ4ûA î óÆ™XdÍæZnzi „œ/†ã˜äŽ\µ±TŒ!k|ö3Z>xâ±­q¨kÏùuLwg5.\b}øzÀp YÌ‹¤6ZIR$²Sûlù™T;ù,±[·ß+ß³Ê@™œ½" ؆F>_TÜãü76øH?ŠÐœ¯Ê/ŸÛš¨ˆÖSÏÛä>$ôÁ—nµ[Á¾»"‚µK¼Uj”Üä9\” 19ã-i—ñj=¾¥‡göË}Å,W™žC.Ë—ÜÌ7U2(½|Æ’ùÁFÕË#ÿpxC¥TÅÇ”¸àÀŒ^×PŽ _Ááþµ`}ýmJD·À¯&}Ë&¶‘A³GpÆÏݾ—ò8s>~“¸l_Và :ñìX¥iáìwè¥Þ±”ÎgÉá„$êXRª,1S}äÈÏ.9/h$Ìa¨<Õûó—B‹qC½œÉòˆ<ü×_Úˆ e RZdỂ4àUÒ×/Fusý2ˆã•ýŸk«Sé'Ö:¶w»6æðµ–µÿ¦)t.–‰çsÀfÚM¼¿vóû¸,‘Ü0¨—%Þr\$ýƒ²5bü)‹ŸOu¿)ÈØÄ}Y±‰L€±©7%ÇÊÑÛ]7ÔutÕfî›§é©],MÏÁM&» ÚÂ’¦æK¨8M4VO œWœº£álL§"£Š3ðÁ ¿P/n¼‘ÍjÁÔ„ÿ~ÑÊà /žNŽò¯ôM–ð8¨9q= Dv®;¸—,µÚMjEÈ; =ÅáZšVP©Qp³<Â{dËuFpš™~odS/c¶D( Ñø0-ó29˜-üË/%¸ <‡e5™º€_Ù‚ý Ç®„Þ(}w$®è«f”ƒÙ\ÿ©%€\.)üó±ö„°aê^å$ÿA¶T"/aJÅ¢?$iFÜ— œ  U(6Ãþ· £&µc*~˯O€˜cV¬_Óg2T¥ ɈyAÏng¯"d7qÆ$ÏK)+øÇE¥W“ÎÜÀ;¶‰Æo³jKÏtÖwí¬ Á?uLfÖyÊãÊvšQµÑìO¶MrÝRý/ºªˆ¾ؘ½¨GšzX?$%Ýuãn®{rvt€ìhY† dbíÆUf¶çÑ“Û]3ÍöÒ{OSÕÖ‘…9·8ê¥Bæ”ôÌòF~‰®P®_ . œc)QôÙže‡xÜžTGÙ÷>ù•TÞìuû ™ß`G^Oò!M,‹q6#;½¨yv›BÖ$ |ÉZ¦Ö·&ÕÏ÷²›(’¹䇶êtÇG‰3È*»Œ7¥8ì܃d&‡µen-Þôšÿ{¶HguL4ƒ–T*Eö«Â”ô*|Z…ó4`lZë´Ð×?qSgå0.OÎ#¶:eòÛmIAéÓ4ÒÙÒáY±3:¼â41¾1>…Î?+™Åøc¶LÏf×Ô5€@Ž?VˆÄSæƒ@[ؽ_ÿŽ(ñ/¹îÅw(L;g‰\‹!§ÈQ/ÄŽˆºÀÝéÜá„I¥4/ú´r¶êÁ·qçÇ€â%>f îïÎ$mnÎg©ÈPG´ƒ+U«*ð±ZÏ’ÔØþáö¶Ç*°žËê€ 8Ì)ø–ó$Ey2#z/‡¼ƒÆ]+·T6ë8ù¥!Ù¯ä¡`òº¸/^nœ°¹ÈÔÎ~9—³·ç•T,=‰¾"ƒZö6¹s`¿êùJÔ!•åc™P>õ«äÉ­µ^}âøË(D®G9½`EÞæK÷FFÜY±rJ©âÈ3äìWóXˆd¸õ3D•r¨¡ \yÍúc·Á$Š×ÿ³Çžš·Ðý–ÖÜ6`LxO·ŸÞñ†’KüÓµºÕ~"T—ü{fµŽ»®c©¹õM1MNa*ç×y÷˜ K&Ÿ¶¦Þƒæ ¶£@NQ!n·;%°õ=²ý ̸æ©8@[ÂíÁ —d¶¡Ó++;¤38Q©QŒ¦%Òò|¢*vK=¬…tq„£× àqfð5L¿à%½jªti l âÔMªæTµÓ@òXÀîQéžê¹&«òC€3T Ÿ©¼@nãôS‘þaN&vWTß+Qh'>¿hÅ1‚àé6['Íç|Å#CÌ,4lÑGj¢ƒ!¬Åço1½’åûvXfö¼b² ¦Ð/ŽÄ.›`Šl3@–‡Ð(zgÿöQæk@O çp1šÍKÈ% Š ¯ßÙ?™Ý+}åŠÞüíäˆà$צÀ®ÛKvÌņ–ÑC­‘Ì/‰tª"…_Ñ1Éx1›Ïâë£ÆàXÐkЖhìvò(‡ 8+%1uÒ*뎻žJÒáŸTNOO,ýwî‹ú êÏ|¢c\ÃÚ"â¥vÙì>T¤º­É±-Øß6\Òt®%¹Î éAŽ .ùÐL#Uâx °Ìí/wL  ê¢Ëds³0‰áÔt­óÍ¡?‹¾¯2ŸÞwíÝ'ü ”‹hZa#áäÕ×yFy¼ÑÂûñ¦ÎúÓ±©@껌&Óæ¼<®U­O:ç½d]MÌ@a‡§¿¥&yšV¼ÏñáƒXP‡¼¡11o¶Å:K£Æ Ÿ‹ß}x³F|†Xrâ¥5Â&Þæ°ZÞÑ)ûÂsŽY¥ü"×ò &ûxÒlʽ+ʶٳ (ñ„*Ma”ñ^·öc®i€œ2¬6Aî 4gÙ|LºÆÇéËÛ¤Jšæ°&ŽžÍZtñAlÜ$ Ew„<ç¸a/{B[Ð5TçS TÊÊW‚övã~] ,÷||#»ãÈ<‚VGȨt…ÇÜÇɇÄ0« ô\ò/Ȩ=²©{•9?Ö&õš©X[íLT Z² s úâ@é;OræH" îie>æÊNGx õ4Ï[:$žé1ª^¨š Gº0ãIóZ®…œµˆCÑß~øîÅ©­bX¦–B·ÅÖHˆJÝj® îG¹z¤¥@÷ :ÈF’Ô;r i˜þpÜ_ÏxXö)R£XŽ©ò…£ÜÐÖáþìËëVœŽèáøùýfñl×¢‚æé=õfÙÜ«5øu&  ®ÉÒëÆR%Ò³gÎ@ÿ31Ü‘¾Ê>2ŠâWÄb¾—ªk€ÿ#)×KþÅTÀ]òÁ¾„ ‘X+â,Pç½É4Ðjkà|Å"þhÜ£áŒï²) Hµ©SÜÔ»‡sÿV¥¬;Ûþà li{‡£1À…q¨¿Ü z5ï&æÛöQI½‡™à >—z’=VåÞ [üá:º4Z‘Œ]&ø6Z=\†AÞ@reá#(Šüö‚ã:o* ä™±óŸN?¤Q¼ ïönÏßì$Sÿác?Ê~8†áSÕò3¿.àÆ(QûU=Zq׃Šãq ~áV-Ž»ßb^$ösj5ØÍEˆbŽÄ¬¢÷ëÚ­È5Í1>"ÙˆV$ŒõÒÞ4$$3?Eytä<ÜLvOÃjn`ÀõÃ"±óëf­8Ry­mTÝÐ]~ŒÀ èä<½ìÐy±£õ™ù~êuéRˆê½½¡Yb>ª oýì»ÍŽôc·j‘neÞŸÜÌ÷àÄZ Íp'È‚3]r}#%¹ÒâŽè ×è×t¬ 3¿÷þîÐïY-mXÄÿ…¸†å˜^a͉컥xë®Túd|ñ©€c<<þÁ'øÈv‚áÞ‰}i[4¶©ÇÎugWæ÷iÛ<'ÖÔíSy8S*;bifYA°Ë#å“]rííYæ, ÿë»Ãw¬b&¡Œ·ÂB.b^ õ:‹G`ÙYBŽØRª«ë[-]t¤Ù>¾Ô—®gälÔnmu>9‡Žþ»Ðë¥' îàuõ÷Ï-΢ÑÙÒ bÓÏ(Â.Zvw™­ðp›nñ";ÿ‚ä5› èÛ{dåuMáV\Ô®CÕ#tÑëË,‡d„ Ú E,²Ò¡Ws%ëã KÃËËçlòϯ MŽÞÿC½4´~GËÃ$·åZŽÝ+óË6Gœu ½Í9¶jP8U`™-zÆ©…ÿðB ¼S0¡Î ŸÓ•(Êž³JqQ˜@|v'O¸I…‡³°…£Fál^¢ÓÌt®ç»Q ìÊú|¶ÃìQÄ:k U­1«,†aš#•4 üÙò‘Ä– ð\ÞÀÁ@¬8¨qlZ',¡37å‘E‚@¡éÕ ž›j5öâàï6%6çñ¬Œªì÷–þ¬M–þ«ˆž;’þ3M?!Æ}ÏCôE¯_7s"ýÂ…‘,E®/F#®ý„ëû±CÀ{aVIWÂL@g$Êû×…Ô6[ß$š¹z“1Zh× ážížEž$ènåÙ)w¸™‚¦fbp!{éÞS0úkÊüçÿËg e'¤×Vy™2šÊÓ´û——·qüv÷¬[´Œ>ä)&θŠ6ëß7ò•³Ó`¸Mü¯ÌÍCÝ©a _Gp¬Hv£&<š¨M™dì­àsKÛìz9øØÁ`k§À±íSyÅ¥ü¥}nZöÕ"D¾rw¡ëZ©ßquÞ à•T²ÚQóþ—SË}+jæ”Ù?¥Z~‘ôbQ~h—›îòe/ÔGìxA„Í+Ïýº õèýր̖¨P"y±añi´ QwjÁ‰¯®JçZ+» WbN€±’«Óâ¦!Q-%)Û`Û:}s!Ò„BêxMª$¦éεÛÛ»JJ-”Ø÷¼¹§¸rk;e€ßÞD2‘%ßHü@¶‹ëš—a±(²¯r¼ï’™$ßÏoh–7¨À[s~²Öa¾K‘^§ÚÆÞŸd€q7g½“±»O(©4Ï)ò¸lÊèkCuËHĤ{ M(ß5€HýÚKUm…¢Êa Ï-“T9˜JеSˆ†‡ä‚&!K‘µvˆä¦Ö+Fî¬GÝÔ(!P]e‘„öOî1GJ>ad?Ÿ¥q˜øEÀ“Ç™ Æ-ª°ðRÒ®ÙÁ^/¶s[§É0bv 3ÈÞèhEÃ…\rä&›4?>Mcœ$çFi–Ç\4W  «4|ÍE¶À"Ô:äFÿ!K^(¸y£‚ܹ·›VÀt¿ƒß¿j½P¬öÄEš.Ü6#²ƒ¬!²»Æ¡ío·{· íQÒdÉÓüš f‹Ój¢q‹ps©¹éÅ6„¢%5‹´qïÅY÷ÙýæÍ|kSι¦q¡¸ûƒ·8¯À{ƒÃü#‘yužóz/­E>F ½~?‡ò⇘¾‰©Ð–kßú¿yO~0Nô`¤…eÈœ²“v ‡Ýð+Œs8ã/=a5luîZ>Í˸Vq)x½·ó:E~JøÆ&œ†+*èÐx‘ÖòÂYšóÞ,wa&&ºf@9 ™R›h3@îÖZR«²¶ c¤f‡|õ^¾”ç6‰”PmÎÒhW Ýt°Ç“xÞ€7¹ØÚÂ~ð´Üµ?|Ìñ,×°»ß­¾}³¦$‰œoÏ´„dpß•`{ü¿ÖÆn½ v¡–_eÖ¤‘–Ij†Ãm'î™;e¶.ÞBóÁ)ï¾I²j0àPQ«Ââ7bwç9¡2®ŠaµuŸoþûâ«+û1&¸Öt¯¢IA£šÁ;€{Åžˆü®ù.–€,^¹°3— +ƒVL°¨üãÊ~ÂúçY3á|©Qè̲ôì¼Ü·¡÷¬gÀbéFŸ N6¢Wx“ ¡ôô¹8«dêYÍ@[#Ç䊻¹%/«š«ÔÜE‹5´#àÿ™ø »ùdÉÿ]´–£€$äC^ yåeÀ—k)ø³)·›¡yºÃ¿: ½1 iÇ<3s=~›¥KªGÊJöð›ç@–d?U>+ñ"vTnn¿$ŒßMúèÄX\Eœ< ‡dI ÷cºš’µ~| ·F-9ÇùYna!ý½ØǹaHMËH~Åýz£½…ð[Ú¸C–üW+÷Þ«q1ÌÓ Ÿ?”Æzž#…œÊiÏ+£™«I}H.ôòÜUüÓÓÞ*°¦ÿI`Ð`#¦í²ÿ¡Ùz,ÜÜàŒã¨}^mÍ÷@5YsªC_4O›v "B^fú§à¸ßÁ¶_ïmlÍ…Z˜¸Ñc”¤i<ÿøßÏ!>Á—(NË&¤ˆWû'“§ÿñîHwv3¹Ç\ûÚä®÷ªí¸ùó X{bí{Û$“á–³‰òi…µ¨ã9ˆxílàÈe0\$žKtB ìN4„»›Í_¿'Ív.n>¶D4×¶v.7èÈ~x¢ÔJŸ>Jc¼ô—LPKk¡íжeÌ&àÍŒåvmöZ£§à“ã[.NpeÝÇ«Š±Žod \”ÂnOBržÄÈx­H%>[C;ñÇ’üâVjVk‚Õ…6K±¶`é>Þ ñ¯@lFñæèÌ(izM‹®2üY¤§,wøhÒi7f…__n£F%ò­6Ò®@ÌÍVúh-ix#V£»\ù͉6!±4ªU|õê…ϱ .XK©4„§»:>ÑcMUÏÈõ7€’IGO—üj,ôÞ«U×±]¦>¾2uÍíø5•ÝI{^ÞB=ÑÀœ,Ò'¢¦×_ƒ‹ò¦Îp eb:é¼>"Z…h(¯k:'©h”sÒø¬0¡ª7^V¬c¸ÎÏQ·&*ÉWŸ7D‡XPßèp?µfSY ‘m>ô ƒvgÊ;¬/ðäÉeðwvaÄæš€ ÏËü}©)’)½] æDç‰Æü®dAjÌñ íMX‚€/yÐÛþûŒžËTlˆ.~´ÑM¤ÄüŸ®‰ÒÛ|k°VSW›-&¶;óè‘(î›äI¸á5¢ÔoäÀ:ÎR=ó¿èîDÒȨ/›Š…Íô†6C›ÑÎ<½òDZ §¬ QH)¤/TC° ƒŒî ÚÌ¥†@ù¥ ¦Ø}§ ÛÝ8ß ÊÛXeÛ‡øK+A yà’|õÝ è6T@øãGÂ|¥ÕWH¿9¡#¸$»ßâ`oJh<¥6Ž÷ŸŒ£[¨þ”!iʘ÷{RI秇Ñ˯³îÊ0y=É.IÔÜš%ª»Žñ½ØÛ"w¿ùÛ'Ë$ÝüI,—‡Ê|Ÿ ýÔÁx à58ÎíË1îá¿‘ì¦E kÑÎ&dê!Bèü¤?¦Î¡Ÿ'ëíx’`*¼1W_ä „Âdñ´èhÑŠ¿öBð†SăÛ8úD>«võ¤PT¬ÁoîºHQÉÔÜe¯njÿG3Mó–LLM$,ÜççÇ¿ \/ é8òñ„MSŠ^×—Mɲ¼Ž;! Iü¯É>%ÕŸ¦ü4¡žuµS \gü‰u¹F6¹ŸÙÊ¦Ž—*ô}ï$<-v`ïµ^âûžíL£Ñ—‚¡eßæŒèS:ì*qÓT–8oíJHú½;€TØ8%Oï{we(²ŒÄÓIúÂŒ[Øa/QvÂD¼¨ëyZ6)ßÐÅe}¦oí/ RÆæMV¨úLtVïEa®yîw@Ä™ê–p—ñ1:ÚBÌ–”Û t ¡^"—­…´„¤B¶ZoÇ Íîæ“þäE¼óÈk¶uàHë[f0[œìuŠ5|Úå°4MÐlÍH& dí(Mgùû.ÝÐ]B•EçPN–ÝÈØ5®HPŽÁâÆ‰}æ¶Â_+¤r*Û&ß™z\ í´ÄúYP³Í5š莋Úú¾Y|‚6ZU2±ò¤•VØ4ªi"¯9Áh[Dïxì6ÀϢΩWªÛExLY«Õ¤€v‰ `à7U÷•¸TòÆÙ‘¯ÈnI™‚—F/Ì)­ÒoÈMìpQŽhæŒÍ1¿LbÏŠW:/]@;Y /¹hbí2‰)Θþ9±ÿR¶P0nØÑûY+u hÊ\±Efx"×Úa Î[ *úŒtý63 Œ¡¯$gÐëݽ>~`—Ó@u— ¹MîdBChíùk cq:éìžö;–6Eñ?ZÏí¿ 1õ“-ˆ‘êKXÎÆ„ãu jÛGЧ¸ìèü~É¿‹Þ+'—¤ž|èP˜ƒ3²ëöÝ dó\hWjõÈë×v3ÞŸó z–iaø,eëø±ÂVJéyò·áQ¯÷kÌ*ÌX ÁI©7ž_©ö‚1^ôC%8\ÆüÖWˆa4D¬1g‚æÔ×HýzÈ"I-<|߃‚‹Œø6¿¼î…4Ê3-•ïàÚwr=»ã¢`Äù¬´/ã‡'Q )Ÿ¼ÔmÕüîçbä(˜c`‹#PLjÌ žÍ„ ¬w ¿æY<®X„Sér¯7c\à4ø;TŠÅÉà½|G­‚ÈѹÒIÊ+<ÏT„?¯ÚÐÞ…OÚ¡“Źa »aô&âŸéÊÎü”.ådçQ‹‹™›édH«®‚×;<¬l"¹ÖÛüá–äZí—Ôm³/20,Ó°!¥ë1Œ,¯d¾’(&žñi•çFL6,…ω„)EÊötÈs•Š¢¨ 90U–¢k3lRYVyp^¼¾³ˆ)ê©bæ×-€ÒCOqô'³ä®á¡{W²È“2Ä%òüp ×f2].¹´8GU×)öNË1׿f ¼0Ê„Êèj†®Äó-W-æ ©€tß>jG½?{‘‡|®×¯,'ÿñðë˜;Âì›ß0è“ åâ&¸ ÆT7`V‡ó]ô*¢÷TÏ’šr0•¹[Ä!~q§¢DŽ™RŒ¬˜ßšBsõnÒb?û9ÇÜòR w8Kxéíy¦ÃF;aM]#’’ˆèoíþS}O¾¬Žè]f§*nÜh’v_+(­xø}hü“ã¹£k¦#ãËëDÝv-.üïué x´,$ôR=Oú…I,¡×HQèÍ¢¼˜frœÚ‹ön­dDÿg#niëz’²äcQPrâ±.½ÀöñPÜÔâ‰Z$;+wšÃ¥vùÒ‘•d%ˆÊut¼úu&í J ;åþÒH)—î¡ìa ^…«¼³ŽÅàÛæ_+BöZ¾¶ˆ€›g®wPøM§§¯ƒü´ÉM½Àؾ° €üèM§'6Oƒ_j„ì~fœ¾ë¬û±ÔCÀ°‘Œ¡ž2}¨—¸UhÍ ˜¾n`š2)Z¶—ä_d!¤oÀöþ˜/B„Êæ£¡oy,ŠéUãˆËu¨£egÔàn©”Õc˜ï)»€AR·’ì6r|6UGåfüHö”e5…–Æ•b:¨„›¶Æ ¥$‹¹ÇóÛÆn•p¤B)LÍTš>Ç]¤ykG™îñmý¸0;/é;HÐ~Èçh  x­¨Áî*ó30 )¹,†ú:@aó'b6I 6¡dá´Æ0,!,~Q+UÐp¯ØÀïo‡‘äŠ &?Žu$U›9{®UdLÚb7R¿±Ï U ª&¦:çgïR ù‹nš§0ßç‹uÈ ߌxŒx¤y˜õiP—rP!H2Iù•#¾Äšµ{ î%ú–§¨.Î œ-¡uÖo Cõ¢¢,ˆßçÊ!‰QÅS]Ê×±FÇÑ1)´nýFÒƒ¢)Œ­´$?,Ay–4é…ŠÄ“Kà] €G¡ð 5ÒᦇöúÀ49Ëo†œì?#Êæ—í¯,<è-9lá…–WžJ1€l£æ”´ž`X 9Üù^²ÖÚÖC®nôwC¾'9 Ø77Ö%g|`[—QãÂyj¸¼hzîµ@" wäç*hÉÒÛ‘6=uS]f^ù3§àP/¹Ô9wó–° (Y×326_›÷Þ·ïë¦h6†‰¦Kc¯qñÍ=ÿÜØàM Äʲª„nzWnBmðWCªÿ“[)ŠÅoPåü¸€‰ËyL¹’‘CŸ¿îhÛÎÞØ48½gñü ¿äºO‘HXÂ&ðõØàTì_BvÝû…›ÆÔ–{œÛjúWÅš#¡b gyÌRü&*ÞA¬%%âÖ׌JͶrdr”KÃ Òø\ÍÖ¶®ø¬u´Õr±Bð¼™ݪ‚A„­€˜ô"DxǼFõš†X4±í+DËÍÈ+5€Ö%í-+ŒõKµ¨3”±9ËÁ[IÈ=ÛëpjQXç»õ1~ùLÕv—­¸ª—¶ZLì^8µ”à ,LÐI×èýû $¿´ÃNåÉúh70¸Kꯈ"ËÓÿéÏѬÊ“úû6älHÖt9Á5`.ø–Çfƒò¤CdWÙãÙ+[ùÙ'¹¸!n¼zÒŽwk(÷zÌx±5mÚúª#ö¯ÑôºØ`¡¼6 Õ‹-îŠ2F|ŸÓ¡D¾ÄdÓXáy}¬ú\tÄÉð¿Ñ·Bï Ùs¨GÓÄŸ®WÐQ·û¯ãh*¶àµl3Ôb„Z‰;¢FÍa-oH XôŠâòr6Þƒ¢±žÑš›ŠñXù“ƒdnÒÇ©M3†Ä¯ÜtAXÅš[:£‘6u—¬‡¬6M i› –©œ©Ëæ˜3bœO"êˆxÃ9¨ká¶ [{ ÝìÁ(tž.)DýR–7o‡îë^#þ³[a}—Óö䱟Šìâ9>·»°Í‡yÝ!A ƒ¨×çÊ_B—a'€/ÑÊä¹.±P‰{xötl²§iŒ‹syè} œA)L½ FÝüƒŸâÒ/]YÞÍ}DK‚•&SLTWÚ.@ÅðPö`ö[ìâ­QÄ%OîÀ?ô..²$Ùn¾èþâC΃нK]Çà }1XE8@¡á^ µÅü¼¨ÍûëCÏù>Ô$â,Âj½ö2Ï0ê¤äR„Z®Ew W kþ'VûRjn®5³«N,gÒ¥xìÖUìåû¨ò£²\žc#€ ©Îà:¸ŸãW<,¹cP“UÞè³Fý¥ÙObà#êzÌÜ[`lœ("JÍi_o æGÙ!Æšúå>¶K¿0¡ß½$[^•JåÙ\Ã{šai.)dLQ(÷h›± À"Ù%2°¯bïéLgÆÜù×#c³ÜX„ã_o}<ÿК·3òânÄ×püw¸ƒš5§»V™îjÉâÉ+1¦˜:†ìx„ú&vô¨]QcZD±Õ0žÓ "ñ–¦£øþèÑŒÌÕã HË<3â8©3úy±a±ÈÚ’Gðɼfû¿Ø…%O€s@ÎùBøzÄ ó,88Q m3ð„cLdkÚÉøFgûœ!c,ªè!vœóöPbÉÙK¯u±šk¶˜à†_³ÏòÇÒÇ•V“YŒ"H•ÀX°ÒQ}yjΙ(ªG.¢ Y <^A“=öÍ»¦ Çɼ$h„K…-oœŽµ»Á+ EˆbÕ?sW7_°,Ý>mN“\Q6nDçv¥œK[RP¸ì þ©MåS¤2wÿŒª.DÍX2͋ȅf YÔ­<ëLã$,·Ç"lNÂåÐÖt,ˆ+7Qsƒ¡åSfð_Ç»¢å¬š>"«8ÁÄ* LÔÈb—aÀÖ÷1hÀWŽfõA¿Tm[˜2}Û–ßQ°'€0ǯ#J>…5çõå t§l3c&Ι³æ ºXÂ}¾íOê5¶¯f–þð©ÄKÄHgA¢Ý‚1ÈÉð—#PäaóÔ&- ;Øì¡÷øy1°©AHtENµ—êc|˜Â „ï™Ô6›áÄbtí2Ƨ‚Ž¢jqM\ü›b{JZçVtíá’½d<$i”²¬Î#ÿî?À-÷7¾ry¿ÄÙ#Å @^œ&öJ‚U’U*ˆñ¶{¯Àjý5 |ž?z‡éHL‹˜¨`Ù1H%Êí®[ÆãZÄå:×Ö½³(}Mbxü´!Ó hþŠáTf0)Ù'#ñYC>X¨üùX­ààâp…9.w:¥à!ï{æ–±ñÊÙl ¨éx­^¾OrëK&%›êÐSè¶Wã ÛÛ[žQQþÑFöšNj…ˆí¦";føZwóûÛÅ$ƒaªûüˆ3HGäô#œ­ñ)š}p`uüÁ¯,ëË»Ée˜=çg»ƒsäjWµ“8»Ï7ƒªGÕ{n÷ …’‚KaPÃ?Ú¸×ÄØQžU†²ÚNÅàªDïúH æE¨õU‹ C?[ÄáVñõöÙ:E»}}Ê\b-gËþP£Eªþé˜õ¿Ñg‡+ECWµI‚Ö¨;²Sœ–tƒ±šÉå~n;ã.s8¾E°Qx×Cœ8:æ¦íÍ®W]ªS ñ~Üa4#Ôx}ñ‘oÊÞo–%ö/„=ãuý’É^u®Kß6\¯ Ï a~tïÇŽš¿®‚‡ã–Ÿp¸µhUˆ"¡Áß?oؼ—VOÓ£ÇUÞ"€«çD«”³r¯(ÆÜéø±Ñ_ó¾Ühhà{nr¿C7`û}šFøEy¼6FAŒÕÙSxt Þw~Å1‰›4Æ8[Q8ˆýÞVž@!5î 5릗}L2M‘Žýér4 í šO{,±Xrá)„ÅÔgæ'—úìÈ_ÂÒ‡q·ØQ\~H4½Ç†n.° N£ Fû ÎET¼rv<¤°}õ²tT»t’ø^Ûaêm‰î“Ž@Á…§QÝ;*ë¶)ï€+gÊñ>ÀÛȈ§£²çHÍY»3¨¸%›W¯§ÿ5'¾n]Az»W.èë°Ž(Ãw{­ý3¶­×ßviƒWõ½ÎUOR Èm£ÿaÈíŽ÷<ƒ>fŒ©½µî$¦àáóUàcS%™¯8m> U3ý¨ÌpØ@F’âC8ß*šy÷й1ÜÏ1g§V ¿W†ÐÛ!•áyX÷·W¦õǃ’t¸¨¶Ê*Ñ;î èü¯[&R M’_Û4yU,&WÒ’†QNë“\‘S'«áò܃5&TΘ†¯UúbyVº‚wÃV<µÝ÷‡·q¤…3yahó¢]Ï ‰|ÆÎ»7Ó¤¥±2ƒ·ËZpM±‹êÞe_õšGŸÉØs¯ ‡B¥ò­ J{/'²Í7»¶Šhg¾ÆWþ¤s¬5 óÒXUš'Öÿsþ\ØÐËìd* ¤§ŠjýQkÂùëwœ›oÏȽô½ÆtqÜ{Ž/&A”ô®å š'†ÿBøJÄtkXj<âèÂ~ÎÊôÚ¡ŸU3JqæëÔ¨ËsVÃúÄ| {z·…˜Pè±Fš.gàzµihƒ­†`CZØ4%olêw††ñò ’ÞñfA+•2Û-(X*4¢TM{1(c ¿²Ül[îõºD„NÍÓˆô’KøÅ{Áœ+ס¶¥¤”¤ŸÞåITžqKúuÇHÌZF ÈÇà CD–5S°ÿ}ú­9ôÒæñ·©,Qˆ¶‹Ï}p„¦ ~KŸ 8ËwÄÊâRžxõúŽ+vZMø³%vœ  9xPæ^J‹g›Ä¯ü”²1ëu^˜†%i[ZïT“àæéá{2õ…ˆýw*z’­ŒW| œvõ"üÀ´@øßHeØýáQ7_/÷? = ÃS¶Oïfޝ`DŒHݵOß ‹w9yÿDI¡{ Ûþ#°üˆQVõtrý{‡–pH…ãëk…(>äÓÇHMöŒN^>Ëç—]ow‘SÙÂzŒßçÖîF­ŠÛ¯Uùÿ¾åëia4ê'å ×Q.Lï“ßXûÙŽúøÅ V_kÉfºãàÒ>’0K¥‘ް4Ý1»š¾qú•ÏÉ.`Ë­#ñÈTâÿ ¡^ŸÔ„ÄDuó™èucnóïÐOߨ€h §ÇäÂvæщÿKQ6±³®½|'wUvx¦Æº¡b¨”ÏËeíq¼ËÉTbL±OÄf@¨S€è}☠?“Tœ¶>„‰\Ptãø ‰š´ õÁÂ:x7-[à?øaè<ªÈ’Üá/Ç6†¤¯òÜe{J`“ð*—í9ÎOãK³+ÃÈ7×SÁ¡™QÉ/ o‰“\aqê‚Cr"îàeB«Ze9Xì+Éø;³;¼­ |t L Ã‘pÒѨL®5¬<žeÉœD UŠSë›hxO†Û§¦{¿û¼dGóN—knâ"ÀÓšvƒcªt5wHú7„ÿ”5úX¡b1"G'Tä’Fäa–HÜy=½|‹D©É_ê68‚ c: 1?üÖ+¶Væ*]¿/ÚÆ—€äˆ¯xikiO}}–HhõL$ QÆÅС‚J€µÝRòjkaÔ9§> Ñ@Ý©¨£hcMvä¶¹0±Í9… U°gzI%\ÅÃíñ¬²l*•¬UHõ Æ,ä’z~vÇçÆ»Û8Zm‚Sn6u9©ÿìuåa`•Ù¶yõÎúæ`7/žœº{^ç¹SÈì§ëö—mùì¸oáãÔóܸu`·þɹK¸${óÞ"QvØ,!èÚ†ó”‡b- ÐGåøËÇ[£&ê¡¢×jòÌŠ`‘D2o–Ì"=f¬“coo?5?Ç"çõJ;`XM­zØé<Ö8jn{+È}@D÷»qˆšµõ “JSRVë‚E%ªÃÖ„S[ŠIlÄsuS“c»Öð‘Û÷€›ŒD‹R¬€žƒ}‚±Œ›|!¢gs\q!‰f“ÛCr§Ÿ<Ÿ/èµôrçµÓª(R€ïQÏ`&»önŒP¼ïá—â>á̰ wm]ÛGîsõát­gÒņÀ]›µZ¹»á«ÚÎ’0R^®Í­w2éçvsϤ½L¼â\ñWÎ J{H ­úÒIýª¯ KF‡Üi4z ¹l"žÊ7è0ßÌ7+D9†| ÒkÐË;^د«èë¿m…®èŽûGÁ§úe´r²Ê’ÄÈ…+ /±û :­‹@ÓÐÉyÔ1¢j*NÀ [ùQë–EÐÀbAgÁçLò¨xë¿Î– TúN2Éõ·²ðDRS‚²$ÀÚª §ù·›šë¥¥—û¡K+ñÜÆò„ 6/9».©„û¢±(cÏJÝ ëÃæÔ—“âè÷}]»’‘Dê¹õ¹Å¢Õ™ø¿Œ{ò,2DÈ•«ŒÎÒáûÃüÈ›Ì æ\/ÑbÞO›pÀâ9¯6êæuø·”1j°¥m3è)•Û‚. ´‹“b7§*ŽÙÑK;um{æÀ¢Œ³%‡D¡ÅÌP 8–g¬Ö§²Æ›õAŸà‚æQ|õÚ&­YCÙ^‘ÉѶ²ò Öt¼.Œ¿ëlì* v˜w©®d–[Œ–Šç¥['>¼N;PduO!Ù¯«Ý·Ú®õˆ¢pøÌ¹ôB‚ã™=•¯…iŽ «°«„Œe߉Têýfù¹0 aô;1n[²â ž‡Ÿ“o”Í~®‚›^c¾¿¾´ê^7m²Ën>+?ƒoÀ[¿†õô‘A®@V§ÑvìñÕeÈŸ.Ákßæz}ùžÎs¬T¥r“|Ã^õ‰ôM0ÚÍ5ÉN…dû¡ÀÇ;ñq„mr}‹7°Ñøv)àá›…ã Q³©ÔCPÍ zuM‚{”5ËÝžƒãëÞ$iQ\+)ȱ'á4üÜÑ}¬e”üæ/ÊèèJ§H"`:$kGì询?;8Ý¥Qld|×P«õñ÷?ÄçÐ\D#KT×Åwò^j4a#êù# M-b8µ®à¼FþJH˜çbõ¼÷M˃”5ŒÑ ÞsÑæ5ÿñÚ<͘”¨o Š•åßÉmîKõºÃ8^OÖ-õ­¤Rû8B[Ð+;ÕˆI@5úx>¦B ! î!‹hdmw.îb÷Æk ±å’ëSãl=ñÅWÚ¹0@"¼+¤×$ø›Å–Æz%ªÕm6{&¾£~…ÀÂï¨ëú%þ8\•é,"ð‚G´»\!X ガ:€<‚‡8Ä®œØ4_ ú|½>ùGÆ‹CpGÄjDt\2A’f|ªæ9®ý®Ç^  að Ÿ‚Õ~däÖÝåÏDnLzÖTd™2˜ü –“–{f¥“Ñéâ®Éd'p,õêK€_]Çÿ_3é•Òè/~¾E6”wÄ[/ýØð†ts7F;cðXÓ;&̳ìû)¼]ãRŸ]šèáJ~A¾™üFFw¸š5>ÿ hyûu¢yöºGáçÛm0ܺÃþ¥?š>BÕ3£,6·Šáªs'´÷ößm{‚žËBàèÅ3ر1¢Ø 8BPʧCøZå*³URF]t/ÁØËJ¡ªH{I×TBœ—yVIÉýÿ$}›¾\4¿ àÆ†ÁõWÖ«Ròìƒ4™_,–HÇ@¨3žÀ\|!Y÷C\µÇwŒr[æ[aUêðƒoo®û¶|ÁY ªV£tCª¥äd ƒ¥y`jÒÈtOpZ¹-¸TâA¤6ÚÀ¿Ún=©°ÙóNœª&ð4OôÛ£åòfÒ‘S‘FqÝòÊ{;Æ­3‘5sñ7)v[&(à•'G€iôŒ*áWɉ#˜ Úð©Vª–*]Ù&­ß÷}ÁJÔár[hÐË(¶qL"†°vå˜Ä§‹aF²jã„XIi.\*Š’—£&¿kÆwAEp-ôæ[âw›ŠuŽŸ~¾,olÛý^<¯„$(Ø\€PËÙrV¬¢ø}=lŽ2轃ªùV{µº§ÿ úæ?€·4éÄãáJ›\’ê$ú8ùîZñY Üg)OjuæJuT ؆ §ÔN)ÐK-®¶s %€½3×1÷i·Ç™E‹‚Dáƒ/Á¹.3¡S¾T&Î׿Ãüÿ°Ž)“÷³É)¨ è-OCÑîr'ìý{"½œÖ9¦ULrÿ«æáÇÈÁI<=ÍR°¶Ûü‡.HjµãÎ ‹FÝ$!'£YÆæYK³¹bº¦oÑL!é§¶ãç»Ð‹B·6àprW÷>S%ÅÎ9€ 8TŸ£(`mX­dcʘʈ+Íüe*¤MxŸ[C›ry|6Ç0–—ò†á'~ñ0òí$»bZ*eY«¸“Šî. 1ÞÞ‰àœ½›ß¯†—Û„$Óv2­©díÚ¸ñö‘»'G@ÒPÞdÿ{³Z,“fëÞ„œ6±(Û’ÐêhKÒR †ÈTö¯ËŽùG8Ñצ¹ÎÄ5÷BÃ_§nÛû÷»‚Ò”„>ÊX ˜X'˜î9DNñŸW‰2Éø9$ì¬'C\à©æÑ¤Ùy‚ÔøöDŠ„¦,€O8ûšŸ,Ú/MjûZ7AE”'ƨ×9ÎÌƤФk:$å,åCºf£ãHÑJ7¯¤àB*v“ÿÓRC0â+c6D³”©Þ—çêwƒ {ÍûŽà˯ˆ_ÔˆHR%ùdqe¦Yì²§Yš –ÿ_ÎOÅvsY+’æÕiÁð3ÚX¥Ëß%馕‰Î®gÿH ¥ÏÝ›£×ztg‚9ú§¤Vs^º%ÁòàÜ¥¢^!~3i ¨©ÿs'µ@*Ïo‰mªÌYx‰Fù §\xG5Ãd"ámR–æëÎÅ0ë>$梗Æ^Õ»T› KBÛ™Ù¬[‰;6ó5´¯²–{p‡3žKX¸,5¿Æ8ÖN­sø©¨É´=ÖÇØB)G}ž{c?åÊUT\ŠcwÞ`ó¦ºÔÅý_;|’°£ç>>Í€¹ -\ŒÓV¾j.؇gÅsÉ„ÛÃÀç(5´lËþNB’‹Œ³*üÂ49úêvs=L”U7ÂùIêµ(o¸ßh&ïúy˜,¢ûW”=Í ^Šø‚è0²™··º Gý6K;^ÿ·efä˜yå,Z¤3dt.Õ¸OŽÎMY’§ÕŒó .¢óñ š 9“˜ ƒsÝUnt Ûªa9îb]^°¢ 7 ³ú)¸5FB]æàªŸGykÌgÔãAV'=´àªf¸¬Vøßx—‘ßA¯ØÃc~Ûèåñù\u­»rèQ‡HÍÚ7wëDTë|6MÙIÎ@ÏïëȈ–T2& ã_¥¾—ù´ÊÈûSbpyY7ìÞ§úå:pÕnU,!ð­Î”.¾%#xpž ¢49]žs<®qP¥¢Ä[Ÿ™ÕBÅ玎è„q=Ndîlú!eù¿lÍÎÔy¾àHÝù­¾V̸ÇL øü¡3â™Æ‘q{Y4¼+E9”:™¶B»80'Úpr‚ÖE/·êrÙµ-ÁÈ´G¨ÕÕ³HÔç¢Èy£‰…©^wa…¼4Eä)‡àâ‘gS!ÏŒ>¡Ã­O¤Ûñâ+àfr­~Ls‘Ýâd.¤ ´ªØIé?`þ}}­íÊTŽ°Ñ»_¯s6—smŒñ%ø3ô"~˜1øÊ⡟–z@\a™Õ¸Ð(Nã=îs†^ d›$ Ûw×0ÞAÆóÝžòÄoþÆ«ŒÏÔÅXÌáÎ'òèt…nBë,Ø:ü IÖ°B¾´§õJ^P$ûŠš»lCܨ²j“Mø>ÆÒ÷›˜Â¹õ*—štºB"½‘|°!†"]ŒòüŒÔKƒ”î1^4¨.±ëÿ¤ÖÛêÊ€3°+åLò„s·<'afóF*‚ð¿3a8?±">˜ßØhN 5Î}­ÝnD¨Üe¼zÀÁ]¸š²[¸cS4×gÜËxólK ò¯€óífʤ]Ÿpe]hýÒîÊJRîeÜ‹o¨5’^ºø\á.ßsß§ÑJƒ8¸—=• Ðq—‰Û`z/.Ùc½­ìP¢¼¸â/ða9ÕÂ/EýÐaÑ›|mŒ©_ý‚UIŒÄW§º#QwÀ V3´v ›®èŽ=©6ê’$ÑÒn»iK1LҢ߈oe3=–¦¤Y ë+H€2;,dÊA‰_GöL…ƒkSb£Ë4Àˆ³²??OTZš×]Æã·ßcÎ3BOëÈ‹!}cž Ã$ëâÛ&@‰}¦©B©My|ÊÑkéîSÔæ2Õ6ŠÀmÁB¨£6ñð/À~ÿŒÚGè…Óbræîé°öÜ' ­—°Ô wÓá]ŸEFýaª+^\ «G2X´À쪔ܤ?dBs„çõô+’?Fîò«v7¼g?;Ò\:L^ïAÀyɦ§Ô/á±÷œ•ÝœPmh^·wçfÿº ‘X^ænÔÆ8¦«ïå AA²š»o>]³È&,£žKoׂ÷s;´Ž¤«uiE…LNĸÂJŠùZÞ¥¬k r†c]¹v Îw˜7[ÁßÌ E¾ÿ:xÏ\aÂØ ︼œÌpàWñj¶S´7‡ Íyß°¹Ú¾R'd™Ø‹ ³}s¼?ÄÊØ h:ùæödQ…§›”E-Ê®×óšè•MòNšÛçAKmòV&e7E5"6±ìc1yþ9l1‡*¶W횦j{"€H«ž$¼$õ+N62TWk¡Ö—[†èΰt9RŠ­6YˆûUà[y‚îáÊæÛ—ìä øŒ,Þ÷?ÚÝw„=ëøƒ9Ò͜İC§ü{æSy¨Ð›IŸÕ«7dB4¶Ç€´Þß@ýúN4—1 KÉS1Íç5ÚJ&K¯¶@öw1œ_'á}ýu R%˜ù<ªœ£|³ê'Y¡12ñPõ Q_+Ü ¯ÎF±«ÍŒœ[<„ƒOtÃ³ÇæÞ.Q䯀¹È”¼B1ÿc<ÚIx™-"8ªl:¬f8*Ñ*ñ^iDxqžÏ|£‡J:§’Ï—l.>i~ç,:0TÛ?²xI"^ ž­â;>p¿¿çL8/ñ-süvúËSF_üfb—á¯hzµœß²ÜjÅï¬Ô]ð,™{„]F˜»ÅÁ©5QÙxmÀ3œ‹Ë¾§2™ Þ[ú&:n[³JžÐ‹æ´@u8’Ûnê5MØŒ)D«ù%·{|»@>Py–Ðl¬«¡Êªf1 ´NŽ@í¿ôUà€µàí¹i{nUýûbš¸;æâãv 7osÉ.2éBX- Ñáßœ†Ý¦zàÝ ÔË"Ëø}cÀŸ‡‘óÝ(û¸ÅOìŠ>O àö#n‚zußU[*OquQ˜nR‡¸£3«(lV°ÌéI´Ó­Ýn-€¡±Wh‘ü0ñRz„ï¹dìî]ýÃŒ  ’e24AbRñƒ>ññ¸«3Å4Z"àd`s¨Sw.c1ž6½)–» ZÃÅN¡Ö³s_îÒÅE§'<œ¾hÕàЬ»ÈJX¢&} ìA»½IK‘A}[©Z¤mü‹üˆó¯7ÔÑÑRÐFÞmÐvÕ &K»è3:ÏÒ\oïº Åšo²¤-5f’7ît’?Œ´­È¿®¤n•J!-±À¾ …"äÃŽ¸kýÓÙÛœyTA?¹IˆŒUØÛ0®@9¡Í÷o8MFqLÏ1a¥ñ]¨ú¯r¹äÙy*~:Ãd‚ÇRþ=TÔõX¡ašÿiïV ^kÜ‚Q滚)@†Á¿3”ýFL‚ß<`|ƒ¦º_qþY2Ï¢» HØlvýáq¸m[ÊÓ“ðmûøHÿ…6>ÕS0öí\>†…›´˜Æ¥®dÎw»rÞ·Gñ©[û<1¿6¾jçe•Xâ;#zzÅjmk·³»¬¨+ ÷Šmü(¦ ã‰ÅÚ]´wíi ¦¼@bd‚h:Ý•ûxG¹úJCïÒK -¶ª˜µ…_e-ÁMê˜PO–‰Ù7{b·gÿXh´ZŒêãü _ŠtœéÕ#qÂe9—;aV¢’‡Ñ‰ÒBªßü´£œ·¯/]ÅÆM¶Ý;– @†ÁÌYÅîÁQS ÖZ"ÅÜD¦GSÝ;á9„—èGîy•4mƒ¾×ds‹óäòOüúº_fÉMQå'EÕNlø¦B1~ZDÖ¤8 €ßjMQ…«‘*ïâ lx!*ûí¦Ì>θ`3ÇËmžno¯"CÄvà‚ ïðIE Ÿ†"úUºˆfx‚J¢€PNÈÅ”Nc•0+^ã)a5+<(¾G+þRÌ£†]³iÎ'•%Û2æP[A®º¢lp±ºãЛm²… ßAc¶YJÖI;-†ÿ’T󜣊Ãî&Z!{å·× ùýìÓót—`¤”ö•žù˜Ñ÷Ô žÜZÚܧÆ? o4ŠÞ(ÄÊYº½$ Ýó·ƺøåd$C¥S.B3DWÑ><—<\æ"åö¯°/6ØŠìY€Á’€Y/Ùt B-«‚Y1”ùë@–¬ÀMݳa›,Ž&‹‘ÿ¬“KKÇI?CÄsp2îÀ÷Gq?IÁݽÙ_Ù'p \þ%—RS†§ý²­c«Tl)Ø “»g™;Sc€vg:€r2ŒœÜÑúmŸ‚-üöè‹?ÝàµNUÀ€NÜ™dI¸ 2rV–}l+3ˆÀû2ÜE¬Âh½¦Ü¶´W¨Ù:ˆ¦3‡cù'»Ø(mxhÑk.ŒW-zÔaõÍpvc›#û@:ØU`ž` ôvíóÛß.͇¯1û’‘ÊTòs n®…³q}^;ZÛèæL,ëB¥³:”(Í "]AÐ|;ˆ¤ú× =g¥'!Îj2‹Ä&’Q:• ILžÍÀý| .l}Ô‘ðôeyé¤ß¡%ûZþú›W’Âð†Îõy1h…¯¤ý.{/ñ>œÆI‰‡ôK¾î4ŠŠML‹¯ ]F4ÉÈó ”½È$sÕàr2`® ÂÎ"k HzæÍ¢ß ¦ô!+Dæû¨ì×?q™ i—>œ”B§•¸t€f¬Oéæ1_å2€§dQ|>•. ;¨ÌoäÁ !kðgrm3¹•«ç…‡í÷1“ÿ’?ÿ²t:$ò!Ñ‚ý å8¡eܯp“ÜÇLïeH_z¾¹è W~‰ý—š’Œ8OÅob„åõvµaé ßöîÿs ΓYÖºU¿/™ ¼PÒ ãé{)Ëg İZr/p/81.ncæ•jÆè@O;)ñ‰ã¥@±¿1µTë_ËzÑ(X4•œd¡'é^VmwSãþe¾Üu—º8˜@¿~µaØ}üµÓÔšOÉ¿™0„ÿ†øY‚˜µÒ¥â”¦õ–T:Ux‰ p¾‚7Zê½ï¯n€!z¬N’íC†2âΛ…îÔmØ“ƒÎöŽ‘ëp=§ƒ¡^V騀~|Ìùݳ6óPVÔ%(nN—ó‚É£Ö†ìÝü´ç&—%†=Õ?™"Î_?yûù>®is“>̱òo<î¯HêÔÊa1!>wlÿBÃtú]±MØD¹QßåÛÆ°3”‰¼å7ÒIóXb§—I3e‚5h°m}È#X!Æóy,´bÍpcA— éÒÂЮ9??Ôf}0¢AÜÂŽ?½ÇìyÓj`ÈñSª×·~ˆ­G’*¥Ÿr㯙K0œ0z¢ÅˆGæ³9Ô©Æ.«ºß¾˜ žC%H³j{>yš;‹¨c¨-¶\tÞC‰ùóÛb¾«€= o¾¿Þ¼B|dž”Izí}*Z¶I¬ñ]s‡œ ÓÄe‡KøÝÃU,lwA§&àߨãX&€5©6‡ÝÂSr‡2Ë+F JöQâõB¿ß–פÙ-Ð\§R”ŠsÏü¹> ö¶ÕPbc¸ûqÖtܤ©u ϸÚ{À¼”a©/\èI>õ,C?àÞð¨¿-÷vÌu z =œPÐñóeÍ×ë\¡Ñ¶B–{g›O»œJ‘p (éP¬f}¡YTfl½É †?–ÅÕUÐÛX[Óyùô•Û°þ&”UFc¼LYw±•¥rq9V·tçX³ÖØÊWÖG‚·hÉ庺rrÿ©_Ãjss\kQ(eV³æ U>lšÇÍ{ÖFºæ"‘©V]Su$~áø¿„lý¿ãnP\ÃD Ïÿuã{÷•a­ÇÆtu?)Ýí ¨8^ÙtС¡ÝÛym渞GÍ nâÄ{d¹MåE?‡©¤>0±ülƒDt3—»% k\9k…ÓmÇP“ñÓ%¾j¯P®H/… Ç>L÷ Ô¥HoMè E0ËÀ8ýb¬¹cŽcZEø{¼QEÕMøÒ»®´­À‹Dj ^pCâ$»Me4²ÿÖ'Xpå&Ë2˛ێ¥Û“óéLXG_-À‘|‡e=i ª{¸þZJ¨)úî4"D¬ðc)Ìwt×Rg;¥â„{èœ`ÈñÝAá*ÓÉ,#ÿÈtÄ`ˆê¥‹Út·º¤oñg°Œ•yâÚk§öˆI°ÂÜÀK`‰Ð!i[—ðM;]I*¿½C¡ ²Ûìq5»0s“àF*’uåÿܨîsú<ê$Þu—‘X/ßÂÍŽ0ö<5ª¡[ ë…¸?‡Fãï0¶bz]Š>.VdNž²Ûî]‘תù„…‰Œ‰XiUá_Ï’¿ðg…ðL¨7^D¢L&ø½ø—.ÏÊû¢™û|ƒ;zpÀ,þCgÉ:åcÿSF‰þ(‹¬)AÌÀm¡8°©.¼§N#Å AÕþàwö !)ßÀ~È N¿œ&ŒŠõÞ•i‘‰Ý½Ú.ÏþÑB½3Ü á!êú–” % ðξ9ù¾aÜÛ¶éBkŒ~rÀ­„¨7í¨ÎB±õjW·i%Là H`|cp»}égÄÛ›poͳ}êôG‰œÚ˜Ké2VQC›~K¸JTµ¬dƒòXb@Ö×ók ÀCq4©é‹¢“¿ ºÙèñ"Ϲö¬S>£Ý–Î|ÕMßC&;ijúFÿ«á‰•d¾?UÓ²“)”bè,WöÈpe™Ë1ùØ?ÉtX2M"áC†EROeØVkp¤YKunï¶ç€X°ò˜òìY†;»/{lXZ˱óE_ŒË±šš•% Á\£u–1©o?¶ ¯8ÂD™ÃÜ IÉ«.!ÿ”pëvm€eòaŒ ÍɨbK¹³¯Ù·•;ˆ2S¬P€ RVÜ], _‰E„Æh¡FÛä ܨk¿sO(#D¯¿ßaŸ?Æno²ÍÏŠðìWhNþ»¯àDô€1vf$š º”ni<­8T··ïü©)½…=a*kÝS•iòžñiÀYî›y£0×} N†‹û•Iúå âÓ-&»ð x…Ýõ“Ez•UYª‰º¬Ž„ðŽ¢ÞœÙ#}µDDº'vIþ˹¹°Óµsð0Ô—|¶[iÇ ìi¥->‰{ÙÎ7#•ˆsßÁ`“$«XKóXú•èê%6_ŠÄ]—(ÊL…”¾ÏÁ $í*t賈ݯ5» §È†%é Ûg9Ïó‹L]ÜNôYÝ‚iÇh‹¢c¿³.‘™Rƒõç\ç"ƒMñÈͦÜ«öQaeYB³í_¼ý‡þp÷?B/w¶¨ytì<Šºn¦G^ ¨öÿßÞ äI„#&éË @ngP¦C›[Çñò¾LÔÖZ‚M0ô“2œVŒÚß_çÛ@¹Ò^0Q¬û#wk>‰|w=•ýk×Þ¼¤n’}_@¨Àôùn(nž ¡òðòJ(%ëŽê·÷œ  ,ˆf L~—iƒ0aa'p›WÕžÞ F~\æÏ=æ£D!•ôí„N${°68õôáöÒ!yÿô[jÓê©ü°¥R‰*û¹.ÄŠk#/[¯v­,~£iõ Ó‚ùGùàÆQ‡À§^ªô‚#:ˆ‡|òO¨•êsç—]¨ì;CV†Á ¢ÈTEœ Q'¸ºÌÀ{ÉtßQX‚)½˜ÜT\K *ƒmuk[e‹¸_ñ,~î´âê}– ¯ÕÛý<•8ut}~­OµÌ û!°(P9UXó=Ãr@en’D>·[úxE¯… Öq}¢É£P~§ø9¦+óÄ,/¨UÇÖça‚I¹Šb¹WeÞõ@òª‹­!uøQΠ¼)ÕpñW)ÝÅr>Jã_ù0n"T¼ãeGÁ×]q™éH³±H,lÈìE7 ›ªA8NyÂPïsSRckºOM¶HÈd¢$Ù}ÃX?¥@=t¾mâL›fÚæ#'âšSWE£¸ÙF÷—ei¨ ½¨ ºœô*øÑBž~Â0;+À9õ|èäÛo3øÉ)„%y–ÃBÞÖsœj©mß©& ]ªùoË¢®OÔ®ï”]Ýõ0W™ Ì>â'Ï ¹¦U5[üÝñäË´·D.ež´ kœ iñ‰1¾€˜`÷—­l0÷z£!C7h`nÞ+܉b8([y½÷LàÆ|BàÉØIŠjïadºžÆçl÷ÎJÎQ (ªã4tÿÌ-{¥ s<º%)j ôþx,ל  ‰@=CCõ”Ž>ügí^šfUy ¾Èg”^ÙH† (ÝóË Ñw áÌÿ·Ê‹ì—‚ŽÑ¸½Z%˜4¾¾]x Ô‘@@]ç7¤ÂÌ|¬‡úHaº^Цê¿0*9¹Â(Š ôÞweÞfP´ß’¢T4cZ¾µi 1î&¿€ðe ‡ šœ_Èa„ŸFìœ79TŒ” —0ØÉZWÆn оF¤üÍulfb3Ï M˜›xÃ([ªA} OǤŠ{MÉ'‡é°SŸ´}Ö±Žú„t(ßv Ó,bÕï’¦zÙ’‹Âèî©É¾ë>±è 2Ž €¿ž žM8Þò¥¶cóƒjÉÐxü³Aß«ßDûV‹vÊó.ââ¢n(Ë*»ÒÀJƒýÚ3z ¥ñ?Ï$ €Z+ñà¢ï% îGĹi`][œÓ~¶mðþƾ]<Ò~÷Û,ÚUkÇ-¬ÓÆëÿ`Ú.Õ8®öŸôÌ’ÅRzI¡Ž¾ž# /‹.°5 ä”§O:ç8v±Cø;®%ƒM7¢$pÅ„y§¨ u¾„¡¶°Ú¢Lܧë}Uõwúµ´ÙÒÉ3àt>™¡›>kßwTP}QÝ{A9yñÛY=^¦ÐºÅcÆ÷|¢TYòdù¿ý§eRf¨é3Þ"‰5š_\<æ¾LC¿~Y8® YdÊBõ“”ÓÕuM8a‡+õ,Xüs÷ùCp ‘wºÉf¥I+4cëéÅÌšdFŠüûx¶ç ‚°ÏaeúäTŒÔ"yy­æqøzdµù¾‹°§‹±Ýåú/~?ù&CMØoQ¤„¢{¼vG@þîBA§û9ÒjêIŸìó–Ó‹@ŒFI/‹ ¢|›S%\m{΄cA‘‹Âvœ:¦rš/(½°’#xß0װ킸h½ÒÁ‚ru´¨Sˠا4žÖÉSp¯hÞ žS›ê“IôzwòÆîÔ®I÷e·è”ø™›æ¶É]Ÿq~^áÊN¤‡Š5¸¬Že¹Ô–oÓQF\þð“<óÊ 4‰Tµ×Ò 5\<ì»WGªíE²µª¢3“Vˆ¿òÿ^˜cm{ï^‹?¥·„fÕ7N¾¥¸N1°úTÖ-ÇRV^meå2 'ë6j£X0÷=ÕTöLFg ¸ÿX>øûlàcÑÜãV4Þ…!^¼«÷úF/7J·<í|7Þk‹-ŒÅ¾—Ή4ó—j·l.`½Ï¬ª»b òûtŠ–4vaô‘<$¸­÷&»iت-E‚t+ieù{ÊŽ/¦gg†½æG.qçÍkŸÌÿu-E34ئ«\HpÍ»MînÅmržÝqLa‚ѳO°‹—L‚ D–1— Ò?æ§ Ì¡â ±íÐr÷ w+ÂZO,#`.Ô z=qºÝÉVégcàå§¿b_FŽ!£©†ÚÁ—ŸÌ ‰Zß‹~p['L±=ÈÒ 9Ø6W·¦Op­J²uW„ÓÊàc!0“NšVƒQD[¨¾i6”ê¦FrHByû’¤í§1ys”âðOä“0dz]¡_§n‹Èöžàvõ‹s±rØçȾßWñÜ¢ñçQcµ±+6­€‚ô'ðÊï®[ÒÙ&)ü$°°¿0ZO±+“æ0¢­W‡ùànyXô{ ‹Ú{@|Ï÷âœ$8½e¼ˆÉzø×ô?닪£½jBT—‘Ž&Z8grˆ-n‘"Íô0øÔÛ“ºè_•òË Uø(ˆIÙCç);"#ìyÙ¦öêEß¾udÍ£­f”‚³HUH’MušBºAj4Ü6z2c^xÕ…¿";‹¨‚_Ïe0/0,å d^™ªC# Ê_©AFe^S›)ìrâYL¸ MüÙû2{Ç(ˆÁ÷Fcæ±@@.wHo7>fëqm_ŽpA›lxȺ”ÁÁ=¼&Ÿ;îU—ia!asê‚wø™Çppi ówò¤ºü æø–ÁJD¸v7 dîKÈê^qYî«1¼™![k3gpiv‚_D˨Þ'\ÂEñQë}œc¢‡“)‘bÁ§PÝx…ï3ªQ_0“²=‹v#W‰jAª—^G‹üc[†*ÅéqmDI¸z‚Ö É 7»h¼:Xp‹Ó<ŒNO³–A®ŒîL ¸w¬i@Ì¿)äÏeÑjâ€Oa¬¦¨¾¾½Ø&XczûÜ^F&Ò㘠‚ÇŽ¡‘¸ÔJ“iãŽ0Wë­‘E›Tj%nG8C4qK3(¤!{;%¥Œø÷¤ø~pã5Ÿ½h9€B‹Ð¶?…z˜®»Òk3WŸˆ‡½¿î³¢„4oì¸ð×JuM«‹|Bj¿4‰#Š˜Žž+QêúÁj×Û‡I*ý”ÿpØê­ô8JEÊÕÀ+~ÖÛlì4ÙQåÕ·ƒ­.¶½*'¥O¨ƒìéÃ÷w‹Ç™8E6!Zº6Ja±~"ÁŠð l@žr£L\Ž)aÀr/‰16HKÅÕvó‹þ™üÕÝÖ}FÞ[éá:Pì™ÖŒ\Èq‰=äk¥2hX¯ÖJ—B; 9°¥)_ÇZJ iÂ+éwÈØ®#“ö<5þñ‡M\>×ë5³ñ!ÌZdDѳMBW˜ø“ÐêÑ«¸sU¸Vfc_Á€ÕiŠVKjN¯òãµ™&Õp'–ƒD®b'}ÅïÁ•£„õU€ºø{~ºÝ“)?ü‘Y’ôÐÿ‡–èå”òã¢NŵMäad#Eûuhê«þ Úöx®™ TÏ(‘8šJYõDýù~¸Ëx7|‰ªý—^\î±:³fN®ÅõÏÒÔ<ÚtkÚüÓö{ª#7Ü" MGœ™»kFíj¹xébÐäÔÝŠö–ï•­ÛûAlHo]ÃKˆõ¤ÌQêôfÓÏ|VÞT:_{å¾kW9Q‡}v =Ķ-ÕãòäÄ3H|ÿÞSœq¥² ÷kÇÒ,úÔÝ߸2ãœØÏ>Ÿëô¯³Ú–è»–u!*žçâQøCm¹2tZ9GYs_pPl Èkâr¾0õÓ]ý,¸Áí%°«Äˆ°<”ÈîRÅÞê-û®ÙÆ9ÚgˆµòP,}ã—ƒ*A'#®=| m-bàÔÁÙüÿêùHoM3Žþk€Tüö|°èq®{ D~­ázÕÃý&½RË¦Ý]Àøw*AZk„ùgŒ«ÖÊ¢œñ8p8éë>ûÂ<®ý Õça”¸Eëšér\ØŒR1ÅÇú¸Qº‚+È™Yz©¿ Ò^¬Ð%Ôi{»¦ä…ìŠ'.¢\4ð÷Ž×Î*:§‰Þkƒ{D@3% ühR81 7…Ô››ø\ˆ·¼~žA+äð%´ÜŒ¯‚ª…/ÝÏËœrL¨îæÑ´[Í áSû£‰Òà“gŠØÎº·"×)‘zÁ›Ÿ Iæö«l€p.·«facšëe˜s¼Pþ’f¨\:Ô©®!2kƒK Côbç–€¾T…$í †ž“| 0H×RØûÏU\Ë3a”Hg.ÏÃ~[„µcÖàŠu‹$ˆ`GÓp•q •úK }l_®ƒ'ºnÄân¹ù¶‡¨.Ë߆àˆPxýB~Ë’¥á…Ç^ØÛ)Þ­s‘8Ÿ"p¤ ßr2r‚£g¾”Þ¶¾¿žl§1Í‚p¬ßžtCÖoߘôT³öRϕە V@ˆznWöwéSÏA{ ¯[·sÎ`ð~«îG¹«¿C€\VÅ‚Y{ñ?ÿNÚgG¨x³YqÅh@\3iË_$:1/™ÖecuÕ~¯âÛ ·Q`³F÷;?—(`°ë%þãÅ~Ô½Š×l1iÏÂ4à gU¥WÒð®mv€v)>c[]Ù"«Rž-š & e9Q1%‘«uéP‚M;>ÒºÁŒú3èüÙ£Pf¤âo¡hÀWcµŸ¯TþÑý¼õˆ,[nJ[iÚñåªWßx6V4I2CÉS/fM¥îjñ£ˆS×R1Íå³JŽˆoìÄêZi¿ßjñÑtœýlCB iG‚޼(.mŽä ’ŸUS™tÕñü™Oõþ „ʮ܀cnËþš“yP] mëL¾ ÛZ³/:dc¶µ«íh”gk´}yùŽÿÕÓ?2ÁIr×N½‡;9 åvž&¿žÕGIΠøà¶Ò¯é>8ËtÀï$g+\s®×aÇtÈôêÿAŠwÄ·ô2l½KïÛGA“NûóYøÇ^£íýÿ%éÈo{u€â#(ãô¾/¹WÈ›jvrꃛÎè+Ç{Ií¤ßÏÚQ@Ã'ú%zˆã aEŽ…àˉ6Ý(jÓ~V§„áÖÏ Ð°ÛÎ"˜±xlà á d–3ÿç¸Rëò7–_2½>¹ÑCwçK˜”E0-÷(Wl=wqœ?B;²ªg¢OŒ†*‰Á °|ÌKÑbx•‹¹Vrƒ‹¸ðÅ߇hýŸÍÉdAzû¿îÔˆdšˆ¤`¢íBËz¾{îô;¿½‚îîY{ÏŽÀB4ÿJ?}þbÚ˜W¢C<)´}ù.„ÖNeV2Qê¹2î‡é¨uóí§”z±<±=sS±9þ_òÙ»ñV¸¿Oƒ4®˜"îùæcZ­3— ˜ä¡Ec°’Ui?ŒÜ“±^ðeÍ÷“À@ndÁ”¼§¼:\$„±«’köÐ3ÃfBÁª<‚ŠN6î€ä¼›/s/õaÓIž~éΩJV=uòS-ÆÂ“(ŠÓ~Ë}éÊp2üuJ££0Q•ªy8Ó¶øÁo_)½»õ}!ùëx3~A+ÕÞtwÀÖ&ãÉ.ïíý6­ŸŽŸnáMn»)Fê¶õyýë,¼ê§Ê}mŽñ·5~¹=ã¯M“M9¥VÁpŠ0ÝËJ·Ù¸ëã6BJûÛrù¤¨Õ;[Á ß´º c¾Ç-Ž=ní’õD4-,¼~ ¡åaÃz9¸ØJ‡HJEætaqÀ§ 1ï/?ÊvACüëxŸ´6 <½c¾'|ÇÕo+¨º™ u›€¿ªåôâN…TÉ퓉AZ4RV9gìS”"u³Rúb&ÇÜEµD„èR¬‰áw4ùA·ÊÃs'ÙVýñ$/tôž:P í{žHb'ÍQó!Ÿ”OWo•Ù³£6bØšMƒ^!¬Mˆ;Ø¿ )À<ë£OÈÞ.þs¶ j¢v…÷Ïÿd_‘q¶—û[*yöÕˆO7UH\WrÝgO¥¶|óê;tÆ<"ÁÐý‘']ÁÐô>ÅÉÒ‡]QÄ7xøw+¤ŠMWiBýû»"µÇ;d/Ð ©ó[‹rö;Ž¢x­Pþd é·îc€ÏtÑvh<ø1+1¶µ‘ŸÛüÑÌú±·–¸ïo?ãõ¢ú"H?ÛRËñò-nïcìzUÀ7 «îšèÚ;L@ªÝK²fÌ0 ‡oVAé7—ÎÆå‘›Ø[¶a‘¹iVu‚IÅuv šæ”×?Èᇬ‡XäÓ¡ÙyÇÜàu/™¥prÆLÀÉr®‚ ‡Ìñ¤i‚€ ò “‘æ3äiZÈ®Ø7Jh®¹·Ó¾>ê}{t”ÊÀ¼<8bN«0䇒ø§{ˆÛb‰£Ëo•öÑ–-O¡*Ìð1à£Ã3[¢UZ0í©u´)Œ‹Ïì ž‰&é6¹;™šN²䔘µ6d’˜2=­ÈBÓЀè¸âdV’ž’#×ù/ž˜çfvêûñ TB×™€Ðkæ^/ÏÂß|}ôZ%BÍ@RÃãäS,MÚx8Kpˆ­Ø©ÑÿƒG«iÛäÆ;zÛm*‘˜Ôÿz’7H¶@¬z—®îü³,ÂsÍ]¨·‚ÉgJÌMš°Àv¸89¿…ý èƒÜxÐÄGÌ‘âe äpwcºÐæçXßû0“%\˜ó!ݱbP¥À/| ?Š~àÛ‹{b ´—C1ëéå ŽöŒe«ü[® Jb ?¡¸öØ[ ‹‹’u.ù‘;\ñSÅ×c þ°©š—úíã»›þ"@¸Š{õáÀ`c‰sÁÍö]ö•ug决»¾PÐÔëDÉég1Ê:…ÏJ®×ñ›K>vtw¾Øtׄ´äª]¢è`{/ÖÊMd™Þ뢬`:Œ_jZÜ·%ÃN3ó;qNµ·âb·:ëò9ˈjÜrâåjmD‹¡i˜b›£¹fÐ%‰x…têäˆíH÷ÆF¡0^Áyˆhy¿>tÀÔAÚ®•¶Ê~%4!|nÔL"Ðì”Jþ½šÃöši©ïÜ?‡ÂI:[Á©±'Q´iµ¤êÒ¢øÑÑÙ…=Œn$˜}âsá;¢Šu:Ê ]$öI¾ˆ¦ï?|:Ë…]é·4¨ÞŒ^–o=¸»Ó”ÈÑ+Ô =„¶¶Ór=A…û(?QYÞ&žx”é&šåg–¯ÁÒ€ýNØ·’cÏ…“«QÞé…W=DøÙ±XHp‘0×|‹zñ¼†·øMp] úŒNå´ÊYѪ[‹…Ñè¼Dmåßl<‰÷ÁÁº DÒS8Æ„-*ÖBB3I/*­hImpMh„y\ºˆK÷”n˜‡¤d#o{ u=ðX"L=Qs›8C¿W½X?-tÑÚ­ì‰ÙµñÇ—ô]B8%ð·óƒ^ªsÉãaP‡&ч梛iJWÂìÁz«¸RO»Ì¤$XÞ=®ˆÛr$m·« AÅAL{Çf-Ëj5ù˜ˆ…3,KCT2LOØÄà³Î`CÍimT_íCÅ"¥ïè9ï„ôEÈ/¸å"É—ç#5•CÍ&‘š{Ü,/"ñÂHEáðqebÆÎÃïò×ßÍÏ’´7B¼tòó Ì”:²NÅÛë2¤aÖ(¤!T¡ž%¾uU!Ê~æþñž:G2²éSñ‡H~—¨CfHCxOSÑ“Å-FÑÕSØÅ2Æ¡@úìÕ[7øøéæ&Ž*KfšfÇìÑÿÛ&l3ìGöOŒV{JLOÿËøC%ÚKãhFö¯¶?ƒX|0c$Ô„ovܸ2µÁœê­ñ3™–…ï¸^TM!™$€¾…+áó5§ÌÎ^`ùQa”´Ü­Œ<䯖«ËÒ¦–›wÆiø‹ñ4^eçô-3òˆýFL¤”(¡f¬c˜[¤z€lac<•ö½5Wmº±|é7“%ØJJ§¡õ‰(5ãÛ]Û– I2âg˜nr[¿O9¥D ¿‰Êø8OGÄ¥9ë…úͨŸ0pæ¶ýH£àЬ•ÃÿýíÐ3ÀXÛ–íÓ9k4ÖÏ(ݩưAÞÕNPZoÒ G\wzJ­Ø‘%˜è¸ÊjöBV>ú·ÊÜiÍRnõÙÌ–Ï^ŒY[–ÇòÒoG_Žû¬x/iäëÝÖS©ØåÈYµ]1ýW+M4èBáÙÚ’üZ)jZ:•¼i*­±XAp¯'¬#Q¶ÒƒºZÎé(y‹'$v9Óé„Y3K§Af§¡À[’é ®îü|dO•Æ„Ãkõa‚l/o§SÐòNÎŒ¬¹Ò닌¾«£2"pl¬m:’œ ã*‰‰>Ñßk?šÿÈg=8­ß³X“­YJ—Ó”àÝÁFŽƒ´wÃIßçõ»Ø ‰¤8EZìŽ/6ÀB!/âÝ÷»YîöО!¶Ž[¢–Š—¼=5Êb† ÷„15–W‡½|VË!ú€Ô a\ÞþÃÝßà>¤éÜòvœ•p¦üçLVa™‘êàŠèžóýˆÔã¹û²8ƒO SEÔæ=ÞàZpe½›½Æêz‹H‡6Ž™>ñ[û ˆˆÈ¿_¶?ÿèî â Ø„ÇŠ»ËrF”ÖEh4H2ðôjU>9#¤¤ ";ƒíRXÊ<¯ÅaÂó/ülÇThˆÖœRü&ïÚ!ˆ§Ÿ’ÖSê;)h™êúC›²% !íêÚ™·á–t*N—ôxξ`X°CçL òü˜ E°.…J‹D¶Ä–ïlj `‚¶±›jÓf+××Ë+èÅÓË%ý=<ȱ§”‡ºÞȳ–%”þB§'L‚êíx šo`ÿ£C¢ˆ¨$ˆQÙžsÒ6&|œ½Ì¦Ò:Hð7Òæ<¤3ðwjï8BÜ#fƒ£%<)blè‘Rßù®•ºLdi¡ßßQíùÊ1Þ7ã#sV‹¸°fi8¢h_åpcÞÕfiÕºuÿ<ÎÐ+ÓÃo)p@Î?!ËIŠ%´=ÖS5ìû˜ ±54;Qõ€цTO=(œÇ%6 #=ÑúE+³øíˆzd]GI”î¶’3üUƒ<=*à š_Êo½uoŸáØÕÃ3ñýo9ãF¾ÌüN“»q¦ŒÝݵL1ÇJÙâV$Rƒ‡…›ÆýYO¢¿ß*nÁ¤d¤#gxdìÍYóP;$ˆªTvv•JìiaÎÈT—oJ¤c+„±ïíY‚-ïÆ¿jêÎN|XäOGŸÆ]9ƒ¨]ÌÛÖõÛ.§[4ù1ø(#Ë­1ҕʵÐõÃ^šq™”¹œfe8Ö–‚/lORä³À'>Ϊ¾Ôi.Ytý„Õ‹¨w/q×à ]¾êG1ºÁìÓÕvÅŽH-+ÞDìö¶SÊCü8r §IÂ[ÓgfmRCrÂɦ9¯ŸÁÔli°,Î4º:Ù \`Áujøsdƒ_C΀©I¢ŒÒË?—"»ü¥)o°òd‡Ï…ÃúÝùßÚrWu*Ý‚}¥§O¹8—Â(-Œ0}Y;k`Ï*%òíƒI{ò?™‡šwôÚt–Ë ì?†ýåÅz;\`fDÖ,áv,h>÷)€”CÂÌ;6n$/Fóf‰N >CŽäø>2J¸öÎñïÀÀªíÐr Û`úcº|OŽ\èÇû Ir…‰9Ëÿ*Ê$ŠJt‡]úí7o@µ€2jl¿L§i(Ç•PM“œ®õÔºÖQÝ–ÞS÷¡›6ªƒ™ð_ü>5Ç•€… Ï}G:/ ’í6»B|UVŒù¯™HSwû]’ô[ wRËÜÀ¬…6à“ð¶ŽõÇÔr’AHäóæ×ýW€Tþ‘|D±4Ë!%œáÅ`!²@äÉJ‡^üªßæ'¯ˆßVâÂÒ'‘dI*ïZËsÐü¬(ÿ¿ÛH|Mõ±Oó?âß]«”üÜD–qCÓ”áB*„Êc,×[=„_Œ™{ž„Q ‚÷c¢ËÌ¿¾31…BdÖ5›E/­A÷¹/ÃÛ h¿U×@ÒUy2NY*7$Á§·'ÅXŒº ¼½ù(¦,UÙˆ¢¢ÔamÉçï¶?=²¶6óMÜï¬úÏØŠ„ìBéFÚJÓþg;¿‘#È7ÌÉg¿µ71 v…–)¤Q¨^‚@#UcèëLZ‹k‰DÉÈÍ >êOÞ>ü¼V9ÜKVhY&Å„“_eŽÀt!NÝ0á.T˜oÂÙëM`/B¦g £…ã#^EVäpL¦g¾£`“OGÝìÁtðÚn–FPªÎTq)’¿Rœôõ«ö4¦Îä"õŽ©ÃS»ù‚ŸÊÜ„“«Od¿]ªaéõÓÌg7‚%¡¥xüO•¶FV¹®ÑÛ—ÐeS;6µXÃÔà e—€Þ*é}¿P:!ä(~‹*ÿékö?D€Q»Æ9ñSr­¼‡â¡TÅì[ijAç„Òµ6×ËF¦[yó3»{¡Þ%º²Ók8’dÁ!‰Ñj{;ë5ÿ×9°BÍ#(ã½íî~Ö/$!¹T§'È(“ŠÜ…9q?6(²`)ä×Ô ÇYWãb\àn…–ïà$fÿŸ?ÿÕµv殘\¦Šv–PH÷c¥óów^¤›Þ«`#9î† Wãôš²š>–,IÌyønl†¹& ¡9©íyT“´·}afúA˜Š~ä6Œ7’ /ÓƒjsÕz‡![oTòZ4R Aã@N6ä’Ì3=AðC R;qY0 ^È•­ÝæHØ`%Ùåß:A;;>ê5™»YÇò^mâýoêR8âC–ÝDx f¢3_orn;`ta'b pá‹ÖîsÅ~œŽæ[÷vÍ¡-õsؾ..ªFÒø*.B FÉïñŠŒÕCàž¿?ã5®qX Ý1o êÖð×­Z#£=—ïËHšÂ½}¶ …÷s÷"p‡èW-:ê‚éXcgLÃf¿ºÊÞo`§R7Íѵ±Ü;;šúÌ—¡vRsÓCPøöFÄZ *}Xê$h8Ë8?Þ4v}ÞÓ¢- šB >,×…9p$Ž¥4ßÕëNŠâÆÆÇØ:á!ØÙhõÐv3”{ó û~æúõ¾#çȶ—xPüY*8Ɖ®üm§ô*üa–ÅAɵ©É_\¸>þ78¸Œ[ãkúŧÉzœïǤ• z½DøÎ]"`îf3ãý„`ÅtZ1ßz"+<¯¿‰+JCØiüŸ-¨ËAc0pm|à)B„/Þ¹fæu’ü·¼Ä¥Þ’ª{IÃ7¾uÖ¢A¨ìêÍ ͇ƒºV¤+þ¸!“ÅŠ¬‹ç´@¤üU'ØÑz–¦\ˆŸ>0cÂDÖãSYµƒé<Üô³j“Yó ?ê”R餗‡¤ŒþÕÊäfDì 6 ·ŽoÙß, ; ©›Ö!k¾:NŸ¹¤}J½¾¨¯ #|vB‡%ó‘EDÓ–\²œ¯9F쥙ëcìht-ÆAÑÂ8>Ä÷Š¢!èEµÑ½œ«åØyX“9…=DÅW$“íʪôS%èGÐJöÑ“@¢iîšP¾œÓ®µüÃÓ¬sš1§<6‡BëA§hû‚O ¦C…âׇg[ð @I'¼^b[zæóª«¢Ö¯ñÃûÁ$â™Ëæ» Q³œÑ;7K¾p!€(5B í"8é<7íÚ™¿÷&ŠÅðŠÀcjšë+ö¢ë¿Õ³ZFÕ!Í‘±ý¤´W”VŸ]>ÁBVO„ð…„®ÐK…0º åaŒF'Ÿ ˜!Üp wp·úÖ»/Ú_?ý¢Ã‹3ã4•a÷š@Wc…L»6’Ø]{´ÛÏß2°çX»žâ“]Êê™wo%ÆêMÛX»ÅÛ-ž{Ãω’.i÷©è)öÁŸòuÙIt^ujO†ÔµÓŽ,.¼äùh÷¾5µæ€qÊ`ZP Æ&¾ã=â†ÃøÂ9|¸í䉮 Fg„6Ô,Iå$¹p½›öìÆKM&}¢ mÅþeõZ¡‘BgÔaÜ÷vR–nÃcàÄ#¹Ç@âêªT¿9¿â{Ï{¾ ¿×Q>sƒx…ƒ>!ߤîJ]< «)óQKUøt%•Ò)Ik:ØVÝå!¨ —¾0¶3÷‰«”ôö4+ó3P¶^jʧ7¯EƵH6ˆÌh,hö‡®-vj'.É7©-—àæàP@òKH,G¨“”iJ«ÈŒ–ÂH·ÓCIRkœ›ràNQUF”wFAfÌïš×.勉N­@ë²òÄiW¤Žݳ ãÅŽF¼ v¼®iÈgó¡£f÷Щ‡khåBkq[øÚs³ .ÑϦ´×]šv™BÚëúPuqaÅfêÞA0XËww÷Ù¿+á|u@ÈÁxââGeLË&\¥ø(IFÕÏvV²°Ï$ŸÀ¬öƒ`ƒ®”–ÛÐ)ÊŠœ€&?6Ä[PM4£‰p zŸÂ_ÅS² b™`Ú­g ³Új‡–­0éÚø#e è›#—æà­¶„~Ë­_%&Z£¹ç ¬ 7x—?àðˆ¯…|?ûPˆm6ª¬:*9X7ç`ÎPJe–bxEÞÿÑ}ÅA§²2 ö÷ÂçÕ™èºs¦ÂÙ"e"‰‡Mæ"It»ôÐÏ6yHÿæƒ$QÔZ†*hËï¥5³´¨Ø¨úˆ ½ƒKe/mPºZÂNb ‡:XÏüµSƒj|޶LqùÖJò]ÜÌ"É’u·C‡˜6ÙÍ0å¤Y  ô* ïñŒæ S“EØN<ž™†D½ºþ»œ±Üñø÷ö25©ñ{c E«,köòÅ_m­óX3¼Ñç¨ÜUm³ŸÉÑÒ Ëo ëâk:îgw)TõÛáQú8«ë?R¼Ñ{q™åyËyû³”­b :—Åuž”Æ~Ÿ'øsQE­0Õ‘©G~¢!^7á÷éºP\r˜Zœ1¾µÌÒVú-V¨˜e…z€eöôçÖyX ŒŠ2Žh­ÌÈÈ£Ú?4Œ @TL ØÍ$hóÇã™wŽ ×Ì_^‚à Ý»<)­ÎW¬QX?>öz)N?_Hj΢³2ÁK)ZÊu»}¦ÛHàrõ;Ñüf|Ï^»b¢;–ží€ê²=, žîÄ Ë©ÁJ<·ýT\+Ï€wƒ÷¿CB‡ûµÕxçÑÞÙ} ë{åï>¦NT:¥±ô$²­·! fƒIaשZ.³ÑaõSMœ>_Ý„ýŽXHšó ¬·ÒzàŽµVÞëåÜZ\ÅEûW{ed¸ÙiŒÃÏSYü pì ÎM¹¸ÁF F‡lxohˆîÃT¼´À·“~|ð3Pm*„÷zÞ÷™«ôâ<`˜i&LƳ#–tæoKPõ'LÍÄp"TäÑBþ‚ ·f€@S #cb ú:*Ýܰ–ÓûÃ᪴–(‚ðÎwq’Ðæ‘ñÞ¸(¤Kµ2uî<|qºâDCvŽ |©dd/æµ@­2 qæžcCKnm¾º`çS#¤6ÏÖ›°ì¹«<šô*¤ÍàŸm`_ï^1h°:Y~ ([YÌpöo¤¥ ÕO¸yo’]Ä_úÞ­çKTc ‚9Ó¯¨&h ùÖÕÒâZàK¡6÷Ii¬0¦èóoNh©‡ª6¯3î´Ý33%,)|u9ï]©‘õ;÷0ïOwƒÄ¬´°†ZùñYGZÕùËSµ3ñÛ– ‚5oæ’ßœCŸZÉo<:±ê«K>{ϤÚP ‹VíWô\Ëð‚î§×ÔòÑ)Ml{'½nŽ^¬ª‰)0t8NÆÉÀì¸gé°›ó‰Í8ìÕJ•×|47KÑI Æ]h$1U øÂŸ5WT|DiTV¤G`êl®!·®Õ%aŠ_SÀF„>¦sC&FVÙb‰°6 ‡m4ŸÕˆÄGý*Ö~ü+8½8‰4Oí~ð™Þ©Š·Ö¦IÆ~{Üõù«â­HÞ²òM= m·Œ§¤¼éßíú02Ì¢ºh{oú Wõ×ïß…%­+Š¿à‹910¿FD‰ŽOUŸU"í0«e@ÚñfÕ~tÖ€ºq\iùŽžstÞG?@Ñ+!nÉxáø²(f¾äY~Ðvt×,;ð¾àñ‚â³¢A–ñ#m=tþÑï”Äb(Ù8‹7¸åWð‘¹rv ®Â:¥_\WÓ8_=åwÒ91;Ò:ÈrŠʈy–ðJÅ~ )=¶xŒO›§wÝ9TÚÉŸ“q×THìŸÂ}¯I}E‘éWöÑPL¹žÅÕuOÌÃåg£D;³ Ò•N“ Œ,%)ãA»2–‰ÍShŧ¤æ"ïÖ^ìÀYÎ)a'Kd€Í¼U{Õa$ƤMvI(nχ«çyÓÂÀ2þPHc¡7¸å­G1ûïUÐŽ„_ÃBÒ-—gàV ´×ßàþ÷·áŒu!l¨µoùÓóø %‡&¹s¡Ü$Ã["£cÊ(ëM3ø4kjeéE…F6°Zôjè!þ(º?u‚YhþüõÆþì_TÇÌ×ÿÈNHÝu †@ûó|¶/œdÔ–aûô´óû™ ±Ïm¸M.YÇ­îˈªþ¦pÇ&ëTŽÊa>âwÕËH ×¹ù1F1¥ø5ÃkË?è1xé²5€vÖº7cy í TÒV5+WƒûI,U ­lŒsÐ^/g î‰\+Ó<$ÓhÆU Íæ“W8™aúeàÝ•ÉË—êÃø œEƒVôTÌ­'}›ó€ ™/§uÁyk¡¦y©Þ58!ãwåóùÈîÔìï`/AÿadVõ>¢d}•ÒUfŸ‚·4¢@HŒ6eQ›TõùçŠ+ÜÏfí!û†aOz_ ~¤Ev64”»ÞÁÓÄ£Ö¾®gmvg ë×Ás4a½ -±l‹ŸdMÇ»_rNæuònãå¿‚6éü·¥¿õ ]3@D!†ùw’ùõÆÈB½ÃÁJÐéhoÛH£X 1Ó¶$ÜÔîJo:Õ&DGîåàü÷ÚÙ‰â+ô»ÇL³ënØG¤É]iLhÇA:˜ªcwÝ¡ÈtqU)å´þxb|L„qÄí3·Ñ«'—Ó"1—÷ã‹Û]«±Yª÷í[Ó@…u;ýÙQ2þÆ(hwï­ÿœ2’ŸibVàäó.ÓâìžÈ ïg*%ýe—/ Ò, 5C&nJüítŠ- ¥ñ4‰e¤La:(ZÜ6 Lz¯áv ‡©iqŸ»ê`À£ÂÏK ¾®x\9¼¬ÿ½F¬*ÓhâåòUP)Ç8ªC!^ݾܙü•X¢fIܸZôñ¤ögºIc‹5v! ]—àµüL 3Áwý!r²ŠðÇ-°l³³oà›/Ké÷0³•^8Á¯dIFïq8ÃWûдT/«ŸÑ󯢩QA›$jÀì”uÀ\;:¤Uxãd3§"i¬¥(úC¢k#U)[T#/L.îp<;²Chä õeÇMk«Û@8Çñã7ÃÐÍ•V?áújt(寶]1ée\UsX—÷ãÚ:$ål{h"ÝÄÏXßš£N›äãc~sQ­GL'\Ñtºe»ŠO …r€a°1X¢Ã;Ðd²š°6¥¹«„^NòϨå1ƒ–cª\FÊtÝÊP­ã!´‹•ŠÂ-ÿ6G¸ûxÎ\±:ïäyÑùWQµ ‹‚/õt§{[ÓkÀï·2ˆ¶&³áªz’šuÉêa(¼i\©”¨·ñ!Å‚.«k¿'pŸpB1“¦„±V ï™üŒ †OàX0F9L×9mõ< üï§1¨QcÅgfäèXwþˆ½3Ä)ÀóÅtJOÃÉÕTëß9½jñ§¼ýÆ1T;› 7j«ÛQOÅ ¿6>,ƒµm§ÚND§«üL»T¹»àe¬$n„uET’ù3´–dhVŽRƒ4{›ÆsdOñ'O¯V9ËeÎ/jZ\Åø—ûã0RLRÛ•9¢.¿7ä‡%vÔ ä=ÄJÀÆDƒÌ‰J+8U^Éfïó®øý]TÍù ­tp•-o”»‘C÷<`?üvs h!¤i£Ÿ/¸À°ŠFÅ€Ón—Ø‘å ûÈËÇZ5á©ÆkÑÆ0T{¹4¶¥ Žau†½¡×sºû ¬Ÿ/[ :‚žKX€Ìõ¯k{(<ªJ :²w çmh³êQ'O£áUoÛohwÖtÁÜ6æp]CÚÄjY»É«ãÞ>#räªôZ Á‘õTÛÚ,QËã0›C'GYÍ‚pÞ“Óº¢È›çÂ\°ìáäëPãÛí3=ÎC¼²\;â+Mˆ~â1Fîù}¾z–ÅÄ•t‡ñlA„-ÿXÝùm Ë) È$ÓàP†VÒ°œNm Éå,¨ŠMüçU³ë­Ža7Í]m‚D´—Ãs%l¹”B- Æa×X°¦Z÷¡ô„¹y(›(J8ƼY Õbã„(Û¾$—(ÍTÖ„€œÚ+{-ý¾¿:åýˆ|¬oZÙ"©Ã>Ärç;òš|iÐ$–—fâ…y&½MúÁIæÀåüOMæͦUÔí‰Ð<×êS:ñœÿXZ›)õ¢N¤ŽË ¨+Rz?"^ ÀúãÑ›&ÿuç¨5*éz’îò~bÁÌ÷ŠÃOÙ\3²YFì>Ò‹E+ÒžP¼¾é\×ì9r¾MLÄÌJmÔ¾S‡Ö-–Çø^{¯@w…¨£#ð Êó&Þ¦´g“N„"E'k›.…4¦ÍzŸF_¬ÁÞÙ+ܧü]²æ8ñ&«Ÿ/™š¡SVyó­ÿzxµ=úV_K–c×$õ"së&‡ä!$ê[!¾ £„˜T[²“j5 7ü~\‹’ÂwÄÑ„ë VI¼þKœŸ6Ht6ÀéLÛć÷Å™árƃƽPöësíüß¿¥ø?É9Õž!ÓÇñTØ{âk×ÙË}¤Ë¼\gäÌòrS!çµV'Ÿ¨TkO¯Éýéj );aY8Î$?ÉwDýä4Wù¸©aøæè!h’ÒeÊ›»®‹!‰ºC£à­d”IÏÅe1±åAä|ý_q±Ç}Ço3·w˜“¹©KQ²Uxv>fÌWþ•ð¾„Hhõ3Ìþq¤l4ó_BåK|óêÅh…Íäà)Ú=e嵜ë`^2)£tTVþ{­õfÇ·aÔ|¤!Ýê+¬obJû-v ›TPhGŸY3a›ÏÛfÛŒÃE{ÁØ,L%hHR®vNÎÿ°=±?бn’o¾üä;oÁ‹Ä<Ôr=]©dßì Ÿˆ;ï§Éo†é]üÿbŽÝšwJ.Ýk`´“öÂêL‰qò CóeeçÄãò~+ÕÁöèiüIv·<ù'È…·þ®Ê((‹<§3c'‰ ]÷³±¶ÇКæ£ –àËo•TÇó–¤L¤C^}įÙÊßý8wð/q­Þ"Õ P‚C˜}¦1òU€Q7;Àšø/¸Ja;>Š’_˜ ­ƒîìðIðpxOÖ^Á_üOÕ9xožäj¸0Sª®ÅÌИú"ö¶48î·DXÉ;ˆ¼‹Gï ‹r¢hß<ír¼JË2˸ÃJûA H7ŠmÕþ±þIép±;úÖwVØec7uˆú'c.Ùüí7åÝê°$¥®ÄA?¨FÐ/¾óÙæwÇ¢~Oö2³„;L§ f‡k5~ßïhÑ¿†ŽÎpz½Ð ½X¸âcÀXø‡fHÃÛIŽºíð§ÔûËaqfx¼gœÈ˜Ümuºí¦6 î®{cw,:òö¥P%<(œã×ÉžÖÓ†¡Ò‚ìÒ+¡ôI]äù•Óï¹#¨¶(ظ†§?L_˜‘¤š[®XÙ]€–Õ8Ö¸ K¾K.&‚Z½»]¸Lá'èãu§?FîjTLú¨Â¤Å0¾.îÙʶ|öbm6GBªØÍ “—+¸í9 ¡¼¾îaéfgZ¾œ›\û1׈\ª(§f°íC–y€HçÑqN§R꞊-}?lAí9ðÆd%ÞÏ#,Àb‘‰3zà¶ j2t${BÖÇ´2½†=IJÇñ‚Êêîô¢¾ŸŽ¦Ÿ]ÛŒª,ã!¤O0!« ë³ÆÄè‚£’æ$404~%ÆÐƒ¦(…[6nm†c3O!ÖnY5YBEjfMùÓ°ËõÄB’Ú¼ Ù€ëOá´œ*¸JÆ!¯ˆr¸ÿ¬MÖ†×ÇŸ )½Sðñüбh× ´¾Âqäбä6lðRkû¤:P¯tãó*»9Q6òÿOÓí6º¨*Eg,Œšß{RÓb´¢!õ9>Õö¶äÏxFÁ5Œˆú Ï(‰yšÖtÂN”Âi¸³ñ®M>ë¨úë}žQêÉA…ärÜÑ'éÖòH5Ê̹Owõ<ás÷:¿¶P𢵀Ž,– C•–ýhº<†ýî2:Ï¡Lt÷B%[l¯]I½·è à¸/P±ÁÅÑö"ö×TtH¹ùeMâܹúD×øÓîwÝÀÓ—ÀR£¬Õkö»iáW+S'r!­({ãü‡|»Ù…ùV,ΖtaJëücÖZ’Ö€÷”c6E3ýšßâÔsüõi:¬V¼úG2s*1ƒÓ åhVâJž¨U»§"»³…éKÏq¸žñ;°aŒm¢:.f‰Õoedî\Y¹¢‚ i›³ú †Šw†É;‹Z¯§÷'H‘Ç ä!$ÜŸ¼• '¯õŸ®¤¹ˆª±¶4%×ÍŽƒW©"^ek§}„d±±¼(徨ÿõÞ¨ýzüQÖ6…#R‘[7“r‘¸œÊ ½À)´ùUNgf„ÌNÕ\/©œ]2 n>4¤üƒ¡? ˆ:  ]†ü­ç°wMŸj.©$Dé‰ä0Šü·Öä¤Éã—‡6k};BãÔLWȳƒ_¬z’/kôm?0_™3è¬]«ªÙÆ%0÷±5“ˆ $aÕyó<8[ )ÀÖžúWßãñªMZ¯ÝHÌÛP6hÔü×Pîeऩ–3°îám¯2ê5Òò¸ÚR6Ø€i¥n12Ü£7ü>õòM.õ‰q£(‘! ýT/6„¨Óã‰(䉆X½þ@…?Š_:”·y·Rb¿ÖíI×ÃðT/|ž“t¨épÅSÀPÚØ¨¡¡ö}g··XÈ#€™ias&»t”A;Tq¸Œ„­ÅÁc‹êS@ÏÎ8±ÍsÔoâ Ѥ=viÑjhÔ±™,© h-ý ¼ˆ©QÒŠ#¸7,&ë÷£m¿VÛQì:ò!£ñ?"á |GqbŸLt¸P*wÜÜÕìk&dDƒ ó6Ç#ð™±Ñ¾7‡*ÙÓ½`ÂãÉÿt“h3CCª¯Ìo}5%ëþYC†ªœ™ÈÅRoϦ6d»©'d?1ƒÑ‡ð”ÿjQèÐèÍ4 ýûeÍXlþ}¶©QVœ#A‹Øô@ÒîI‡K-8D›GOÏÒåò;óÙÌu•v‚)Zé.‘ÈÂE&v&¿+e vg‰]Ü“Q48Ô Ý5ºæµ%Q"µ×¹!ýW²¾”Çü=±_!U `—áT+(ÉædݽóbÔ f aR[-/RL;s¾áÂÀ!À9àç2ÒLǬÊ|ãXé-Í/¨¿Ô”§­;´Z¬Uœq½{e•@ ®Í+ l¶‰-ÊM™ $CУD› ¢w)z/‰{‹W/Kô›6ø¯Qû£Gªk]8»½ç´_ªÝ.çw#Óá`ÀÐ=Uí;m>õOâëM³li¦2 lýÚÄcì3™™žÎ19ªûú‡”lŸ.) ÆÙà‘ê<7¶“þ•Büõ |>ðz„N¹N"Xƒ^¯.¤(#ðwÆÑËú)WüßIh°ÓG‘XÄmEáf·=£éŸ%€J à 7€»-’º†ÃYèàÔq¢>>X&kNaÄpCä Nsîg 6ÍOoåiHh¹Œ°sË,(RåUS—¼êSŠÏbŒR*È Ú*¡-|‘–úÚÏ=ȲWièk”}œß  ¶É¢¿ÈébÆŒ»ù¨W«`p‚¨Üíc×9wÙ;å‰+ÝhCf‡Ñ^=tÕ.*sU>€çfÈ'ûª ¸-7¿íƒDØá>÷ÇÅŒÿP¶m16áÝGlÐÚI½äÄW®}™GŠöxñ—Twa¶¨{M§ÿû¹ªTqé ;ÜRÓn¤kаŽÂ–¡`ÒÊZR‚õ9‘ V³&Óm2r¢´ÜgqÞŠD³Ió’ÒºÙfª• <$iÞÖO÷@|q•®Ç`^@:±"`¨‰¯ž&™ÿ’«ùçå¹WñÊÙ< ÏÁKá¢u²ÖX ÞÄj­sÛZñÿ„Å»=VÆ}.5ðmk§iDz) Ën×A¢"(Ý9Ï}XnìÑä¨êuŒVM¯Oq ¼üïbPÿ'ü,ö~E2N¤Rƈ·ÕwÏŠíî[“½®}¾Q‰Ÿ¹=†*;•k«õ±Õ½õç, :\©VY&dˆÇMÜ‘†"uÿ!~§vF1¿œ)ëQ¼£ó*• lôYl™[Òí6ØÚçW ±â1v¢{~'88•d„÷”ä/0³p%Z¹ã¨6;3oIVV»lâÙLDÉUCŠþhϾÆb"å„HüÔÆºÓ ðÍý­’E+kœ ¢±ÅÕÈ’¡ RÎ8q'j7º³ë]°L½m¼™Õàv}ëç)ÕŽJ#g•Ë(¨©É@þÌÀ¸G¼Ï Bè Énƒ@†h»0 ·èŤ0MŽñ›­ð©ù&ßô¯¾UxfXΑïøû1"pù³Eîd*{rù:Ž´ I/qo”ð¦ Ø%ýVð¹öCFãp1åÛŽqU€âî‹Sn@›g¹˜¦L2WŸøLC‚x?¨³/7Ö–$YÎþÊCª(Êhò,N¨»²pÞ® PvÚWbpˆ}e[jøÁùzÃvPgïHçDÃÅÒ´­8~§œ’/ÃчfZJØ"F¾Ê;š¢N̰ÚI£ þ·èÝm ÝPjOÀjøi¨NÆû6½ß6ë—5†”bj+£[Õ);»YaÂãíÕZ¦Îü‚,5ߟÄ'饩‚=óÌ<'Î×k*¸]3f%%DPsOY/6]ìåá4¸Öl>¥Ê«_1öñö¢qÖ3TtF"Á”Œqó±`ÝqÍÖP©¥'ëù] ’à©´Oa~ ÷zrùÇËŠH3?^¯9qÄD2ÐíF˜£²Æ»…ìlêC•ÃÔi$~•è [š^òpÅ‘w›Â¾a¹Æ ú¯:hÄ ÝãCªm´Êt¦£‡–uL´‰ÛT·¬Eñ©¹}i2[" ÊÒO32ðâö“j¶ÐgŽ•2Â|—¨¬ýè MÇYPœçûZPÙtÁ0z­õy´¤¦yB´¦¨v¾& )Ѿ-làŽÈËnÁš(jÖwv¯ ŒÐ©ë”¶(è#mŽŒ¬BzY\Y©“á™…†XpwÀäDâm9=) â/arÂöì{o²Ëž“U­8Rnõ+DÇw †üû-ö¹ÑaÒ6õ[fùCª­„dW‚çg‰³Óïû{ÂGÉ­±MïT üß´€‡lôGðš e`9ï¬z‡½ð¬.3>è°®@N[ñ°ðñM¸¼-Øõ&OñÃÚjBÓëˆÍ*[ù] œ Lq´Ãn‡j´$¡Ï ™yÏ÷¼Xãì3=ÉV×âÍÅuy´ÿcH9tµ¼†Q·õ^â®e;WgÕcA‡e³)|èe› XLƒP“—SÖþõ]æö1î¸5×m…'/Ðîá¡çì»?~,-øþ†‡¢qÿƒ§/PÁn?ÊÍkàÙ@λŽKü3GÔ)2e‡5ÃV‡9Û×õÌèÒ~ÉHŸÂ.øMK—O/ø±þYàþç· -n¬´1b¤zå U»ÄÞÏÐùzõÃ|ïGn«Ö·tvgià±D„ß…šòæ”ê {3‹~K5¦{yéšûÍú³øs?'´3žŠ,I?þOõñª‹s¯©“Ž1c ­…xg¢ZËìh^ih„ð‹Ù·±§þÅuë’ÏÉn¨.w.ÂÕÁ…£8€8uˆÚ‚Lò8*S¡$!»“kWk#Ø6išzQ7f¹ÂNé¸ñB$Nç 8Z&|6ØÇ_'rWGýûn]àsÊiù³À…w¯Ã å£Ùf—¶ãÏlöŸW8ÚáÇã+îÔ#©Õtkxþ7Pÿ¿™‡À ­NŒTÄ–žPào™"£ÝHЏDÕPÃÇ`œý$ lÇùˆ‡®ãÀ0;à©àÿ?ý'R/—ã–'"Œ«¦†î¬˜Â©|œ‰©E!—Ù p°¢—âmuQ‡¯Ò¾ÂÄ# í¬Që´s×Ãõˆ€ IÙ±l ”Y›F3Jõ€o©ÛêcRR(¦ úK&æŒ4ãúGg°¸\ lY6’Çräó1OÝ•­‚pù9"ÞŒæh«_LJ8B§|ÖP Ï}«Û´6[£½QØ,2èÿòféÀ £Cû‰ç2Î]_Žˆžÿ‹„¤€{ŒòJÍKb[ÊMMø«E=>`z=“çþ&ÃÒÎ[>>=d´Ü1~dâ{ƒ/{Ø8”Éû0W¤Þ7 ?+†š ;cêkåuê´ƒ­l“êM øAvvĹÓ3‡Ë;“°B¶¤hŒ;3Iì/C×mø'jK ŸâÉ‚Sg­Ì.õ[ Ñ7ÇWϽ«þf 3&§TÌ„Æþ Ìf'ÁÎC!Ì\dV´ìþâHôÜ0¶Q_]ÃHú ªèaVË'6PLj¶.ÛçøOöKHJô<µyF ]EÒ!´¼˜|´•¡Ç!1  ½‘Ý þ¹Q]®`ÊímOö9ë1°+bDã={”µUŸ´‡•&åZîÜTWEK#ÍÇØÚ2u–!!òÓ½4H˜L«,ÏE™ò¡·Tjè#qjª”d)ñblÜzŽÚ˜˜ðR0yòSqa´…õ!Òà{¢+g÷—Íqôh·wçgEm‡,¬[%½v®X‚r$ :CÀútÍÈÏËPÕ*üÈMoæÛß›ƒæE§+|ǵ|ü; ô"9f Œmv¸²O u<ã_àÉh޽m«çƒÑÑ"V,‘•‚òÊáeðð!J¶ÞÇs@ûLJ¤½›­ÍAl›ŽBT°;b Î]‰†Üäîß©¾Ñ‘ôuöi+>¥§ö0BÞß%/AŽNð¯~6xºÄŽOâN¯Š†Ð¦° WÝ‹*j qŽæ¦—¿Èå/+Å¿3N±ˆ™4?!ÿž”«þöx”Åb4 ÙR”Ã5²ÕÞ'п ¨NÙÕŸ$ÆA³ÍèºL eÕnÓ;k¸^C®Ã.«.¾8©œŠ²y5Ûb½‰p¦ÀÚ&¨‡ÿî~)棦(NR£Ë*óCŠ:i£‚:Ž‹¼ËÙËï>\%(õ®)€VèQ‚Ž)‘SrAèÅg÷ɽS‡Ëñu#ßÕëö’RÔÏ©?agóT>æ»ë†¹Ýºƒ oYÇóíÑpíÐZÏ“_qéçeÚÏRkƒ¿ô…S´™±aƃVþr™{±(mƒ¾ â“q½ƒÇøÔc°ÿ«9á’sfíZ ³éêKFô7Àëq0S?ÎSŸ*†·Sº%ü]rî›dPêÙ±iyÍkåÆfÍX<5¹úiñ4®†BºÓ\Q?? Áü\®÷ô„ï+Ü&Av2þœq~ýså(J¶gÅTUaì*L˜‡8Ú¼Ñs×½ÇˆŽºSB‰ôoìg/…YÕ|þÂTïù»ÅB¤÷lëtŸAÕiÚÃiï\M‹Sl.‚%ñ(jÚMkV‘¡.·»RËÕfb’¥x–¯ÕÅœÂ<W¸Ž§wîņ Nè†~½G£ª#Ûîî·Å x]¥3d}áIäƒøv{S¡»I¼ŽìT"=òp¥udô²LDÍOI&·S36Ó5¯à‘sòy±Ç~Æp¤±â/¾KJ‰+†¶<Å÷‘Lål™xãÿt¤ï«A'ÁnW˜·kš'.ÓÚìá§­È€fƒ|ºÏJóq+ö·‹kC^×2~]Éý{ÓŒ)úâCX‚©UO‡r Y‰Çb™¨BªUÇô4-£6 Îc”a ·dòj…Aèë ´¶¡ «™Øy¨ê£¬„¯œ|KƨBœ 5õäl-Lpy7šA‹x6GÂ6Ô›Ú@˜InïÌ^hFöø€Š¯À»ðù[$g%þQߥÛÙeDF™u`½V›õ_È À¨¼½Ì qwøC´|æ)\ܱsʘ,©©êWWcå?E'Y¿ß%[ûgHÉ”Êi€Ô?]Á“ƬqÜäÏ*-H ¥á "rü¶ì‘ð/Ž‹Èµsß*("w«cvMOA4ð«öçN2F"94V¾y¬Eá  d^]PM|]Pµ¨’†ÊuþZ,ÞŽ¦ÌèáŸLƒNÅf¯nÇÐ3€zîiJa×°Ò¾¯´1ÍPÒñ“øRƒ|ð…mÿ¯ôk÷æz°à¹õ)ÞˆâØö¬£2t[9ÍKu-cMwcú–Wñ&{“œ"n½¯Mzr¥jqYÒ·I<yJcïZP’e­Šþïž!1ͯMôd?ê:~ EþÆ*—ö´lÆezÿrkOmQùôË¥.Äñ”Ô1ääBèœÀ.žešÕÂë‡ÖélÒÂhf-í¡HF=5`¸ƒ„¤×I;ïüJ¯z ªñÄ‘œYF`ô› îBå"48X9^|T4i TQ‡1é­h3óêöéÊÕ.õpÞXýàÁ9ŒH8í¿?uHhU _â—ãÒ=ÝÐN`̰6Œ-¶éÐ&ò\Túš‡,oÓ¾ûø%skƒ…v PóþúÞþ^áºIËaÚC“¸üȃBFºˆg¡}4†ÿŒº²6µgHŸy{<ž(+MnÇÅ ¤_—Z6VdnƒE\2KÆÍƒëbC;ŒoIüˆ¸k•»°1ïÀyÌò¦ˆ½ø°2IÀý%£ù;ÊÌ‹½ [böÞyÏË «q»ÚSÊ·eýÄ磑ƒâÝ•ïñsÒÏ0ÈYáŽXo:çuîð%ÑØÞÏD³ç¾±ÿ"|à û^ø´ž4ì€è˜¼ÂI¶›„ï…À0Gغð z”@ä‹;•бws±?‡©÷º©à盳ñº±k’^ðß5H‰l6]g§ØG‚PÜ8éØgôf!ÓS’ÆzlÍeën×kÐ’~äÎö'Zld’„Gä ƒ‰ÝpÚ½<ËTÌ!Ïü&$ƒ’">Õn|0gñ¢tgXMÊRÈÁpúSCwøNsnŒSœrw}ž'§âKØöî±ÝÑêèMÜÄŸe@ZóY…2ÆÁõ‰11Ãì;Ýœ 1öxF©qìz»ûš‚Ê%€„/tO‡BTÃýºÂ+³(Ÿ‚Óå¥__§ð#ØŸØ÷l—Nb¾dÚŠ¡Òóììµ\„ÎGÞ²¢ß²NŠá-@ñ&‹e¥Å°ŒD¿ŸW++Y Hþ ‚ÄaÔ˜xz1¦o•&:¤(cÔU^Б±'sÛiFÎÔYýõÈ "ÂmîT,m¢îê÷PÁã‚ðÚߪ¥QœÖà¸K®z˜\º#7Ôè2Ô@ooQ¦>6Ø3i¼0-¥Ì.±‘Ù,ìÉÂŒ4A±Ô¥p¢3÷Å–-šê'ñ¹–vÒmde¼û>Õùß’P`Ðä´“Ê:zNÊ­|¥·»Â:øÆÐ˜l¦|¥ í.Ct/š\àõPĹI~ù rú¢;ÑÈ£D=×sAÈgë­)NŠ^(NظƒðÇYæ€ Ð§¤x̹ûÏ‹âOÿC?ÒpaAå[ã\OÈ(µø÷:ƒõûÕ.s]ýäý÷ ¡|ðJ)Gù)0`nAŽ4#Ôuß裌 ]ËÝotµvêS°iB݃pë2öù¦RkÏ¥Åüw¸’¼h7Ȫ*ÐõFÖìªÉQ÷aPU#!YZ¥€C &ì’vGbYý83{d´ë¼Á¹}kê» }KßYúíkeŠ,q‹ δTØ[¥ï³Yëˆ5^¯úK’··-M–.^N|ËlX²|ͤ'µÄϼ;» žïpv¡’jxßå­ƒ­]I•ì!‰\šósã“ù¸¿›…N÷wѬæÞ®£K† ˜Á‰JáZº^„·Dî-êlåµlÏ` Àk*yÉÒj»€²ÔCÞ0K7"xKòo;'u`O ÔeY»¥Üc会U9ûõ‚念œÉŸg ¾mLë·yŠø`XK:Òí!Ž­A»U½´ætZn °˜ Ï»÷b6œ™‚T·¤»a„ÀâéUü;ö È·Z6!P†J•“Ô+Ÿlε†Ê¸Eé"J‰YÁàC°×wwêwõ]3å_Á£:C½•þÐhºŽEꥯ6ªKç4™÷ïIÇ{ã6m´þ¿Þ¥Ü&®t—‹,³6Î% ¿[â./@nC–©–U¦ +ÁTÁà6ÑÓa8Z {ú·ÂïsC²ÈžMšvE’n…§j‚ϕЗÐÉáèø¯iZ w±_ôî”Ê>‰†£ŠÃ.3üä(g5ÓoâW€¹¬ïL^¼4fJB ‡’SÖ("1~…V°ß°Ñm~9ßí ÑÖ4|E«éël ™=sŠwÝL|½0~`É”õ’òŠ“ >¼’˯VnKn•éò®Är¼ÒÙ \ö `̬ÏVëàd€8‰³Àèš“‘Áþày3ض8šl»F<÷&µ‘(Ñœ.žå:­-_ÂÚ™Jzö|l0„í½ÚÓF¸ÅƒFg–µ<”97Aô©«`À¢ðà EÐÜ)HVærž"©íí0n" –çi¯ª¤:â%‰PœcgÅ Qx÷ : åÏs?IüY“u — ¶›¨7¼”‰'ªèGJ [äKºoõ:7Ò]‡ Ç–ÔpîZK9‹¬tæÜ…)¸À®1ŒèÝéIP^±õ‹É7s˜Ëàïë5êÌ+n „¡ÙkÑ(ÒI¦aî§¾iäB“CôÏ<x{ðæ@º!ìZ1õöÚ¿1·Ö±”µý“NÓ§KOˆ_@!'xw. ²ª¥¯ƒ¯ìÕ*-/Š4=¦nÌàÉBpr)S«‘óÃ.¨ÔÖJ*Ž~]X &k ‚òÛÞ*ƒ¢æ¼á!¸W¾¢X2õbÓÇû?W6Zþ5š³$ùƒVƒûv’‚ÇÈ^ËÄT$Ž|/]Æb)¢º…×·R¬ýmÔY•!>™ÀÆ]aä|àØ½ñ€ ׃Ÿíx ò_|gÿjP#¥~fÏA‹‘ù\¼Äse{©n4GP ƒºVT:^ Þ@*ø¼îÐ¾Í èÅ{ÜóœÜúeþÞ÷"¹_oÌѹò¨ÅRREõ2oŒèLŸÔÝü\ç’Œ8CÍ£LQ;8¥¶vÚ=:,n¨BvEhÏÍJäø—y’…íБe ¢†hÈR¡5s%O‚{–uNcíµŠz~æ1€Êò Øu…{io’T_ZÅxLmDûæðC@öˆøhÆ×¾>#?ÌÛÞè»O­< ²HL­•r|¼”QÂÚ/e)Ï”2h-4³ör£÷‹_%XøÎ}ÖðK ~¬Ì«âô¤á9–›Xk…öl8œYqµÐŒ^ nY•Î!ƾ¬zE\0DzÓJæö÷ðßò×7}ÝâÃ`sGw‹E.í÷ÂZ"#S–H¯©ƒ‚ðŠ âƒ@†2XñšP^°Š…þ‰×‹RÖÅÇ3Ð ÌU4kãûüÍùj;\®¹x¤œnœ(ƒqÌ«ßLjŒ£`å(ÀŒ.¾¾ºØîs—î´Çônu÷~ÄòÇ©¾›˜Œf5`nn(ØúØøµFˈ}x#&'ýX#ȵ)K ú㢈ø$ç‘7Nßtf-èöqÿt׋]€‰ œvãÆ|uÐ’ÆàIñ‹BˆeÊï¦MØpÔUw'*?ÝÔgÇŸÝv°ÛƉ~^aFŒ´ZÒ×#»±×l‚‚$V.´²jðÎFޏŠ¡Ì×jíT$I(8FsF6LKcv厃WÌ>.IPmðªnŸ\Áµõ¸ʆ’T_]§Ê1y×iæÀú¢É?‘¬ïˆ0i©ÚoレLi=K¥–òø[õJÏø¾ñ¹sÅÓ¢Äꑪij¼—wõ'­6§›³ÃþoÒ‰¸#—]jÅ¢ôCî™¶ª I‹î÷ü¦)Hµ²J½gÇÆ…ØŠïa»'KvO@×ã`BàÂÊìØ¶î*âÄo]h%`Ú²g¹GärjNNÛ6òˆÐ3ÿôz"¦3bi2ÔB6 ‘¸†ÅpJû ²tcã`ç<`å$—Ö(l·Ó@µ–T‹äðÔûÑu¤²II®AìPj8̼"9úyiö³´ËÉ3i>v«ÌÉ®KÏáH Eðø´ªÌn OϲËîàÑ ´—ì“SýS||»ÍvD#¤@½¿N*‚ZºÏï¢Ùä‡0Á¿EútÄ‹dnÄ™r]lÒqƒ=ÈeÕ<µéѹt?x>ý~<³ŒùôÅ¢´S+aÉÕ`íõWÒ2hXI ¼YÙÂøöÖû:ü½ZÒÀnæÛL/Öp¯Ãç*îs‡¢ãò=º4[ˆŠ+œ ^¯ewWþçSêœe5òþº‡ãÂý©ˆ]SóüEշɵ¯¡Éb6 y™ZÓÖŸ¾7èâ‘ìBù&Pø–K †ßÛÈÌkÐ>Ó[nL¬/þ`f÷¶k'ò0Œƒ¡¼ƒrýDù°¯'Ä@I·ºÇ\½>dxR¢A7×2tÒð€¶1£K•a "‘¼ø/ª¨íßêè@PU 4‹û+(Ïíù©â¡žµ¼*o  ÎKü´ú]Ü`ð†Enæ»\KGaá;ÇmE4È0°ÚF`û hÎ XÜl…%é¡l"žÇ[±úZär44S åøjÅ©‹Ïeĵ´¼c5‰à>-N)Hç†8qŒûOØU8hŽ©Ð…NýrÓ* @IGù²«þä3¢#F+Ðmk8K¶Úħ‡ñjp«)¶>—RE7uÿ:#ݲ7rµÔ”4þaŒ‘ÑQU{®­nš¨¯o¸\ …*oé%áƒ~$þ°þ3<ð- çå?Àã6[ÍRõ™)±Ëw¤æç4íì¢îk~ïµ]¿~|Kvù1N»8i)]indÖ,LµÔm_ò^ÒE¦=¨ž5Àæ¢E °õº-^âÅíã(°/M½¿3ÙÆØƒ•÷jа†'ªû²o!ÈÈôñ¸ ¶Zÿ|iñkÁ諵‹ оFø¨N+eДHâÁ|Mkƒakf$‘ ÁwžèBÇ,~sñ"“YßšR;¶s*-–ˆJlwCIÈÄ¡8ÛëlvWU¨Ü=•ñq£Œý%ÝÒZìE¤pn¨MN²ˆ.¹úÒç„prKtÖå;(ÑžSàDíˆ41L;FÛ/`mŠqÒ»Nqµ4?ã,“vë}a¯ .ç&*3KÌ«ßSJÔ¢¿ ñƃeLˆ•±Õ±ˆ&§”±ìk±V“Œëk¾OK“™Eö HôÏt¡£˜rÒ¹83¦O©2 ¤ÛÔ½Š¿­ˆº=¯ÏñÍ2×hš(L ”}á·9>â—_NV˨1su·Øõí²—ž\[Wìw†á}ˆß…ìñ)¦IG3å »4ÿu«&ÄÚ·,Äü‰+¦Û”0 ;…ÀŽHÎ-ó“£ÌˆCÎA žŒ%ó)Àãp¾hðÌÐ3ÎÖ˜÷{°+˵~Ów0¨ 77RÝŠ­ª“f,§ÿäâ„fcéËÛŠ=hºÌ_?³k1.'Dzh’^OŽ–s×è×Ï“CÝgd\¥³[¯NùSg†X†»ˆH ùp•S–rTíÈ&>p¨Î£´¦°8+ð¥Ú"V=ƒG`JX9Ä—÷‚.eÊX ýÜçÖP+ lc{º•TBì™XßÝÜ_ÉïDc’)œÞGs¢±Ê¡×!üE¡ýæþv‘Ò·kýé`XôwXì° É>#5˜)¿­«às)>®ù}ÁrF¶öón‚–Ò±ßF_Ëe±¢‚zÙÜèP™ms¼iRÈ5“Ça)kÐ ò«L–/±ÊÕEr¾jJ_å-ÉÎ×ÈíF¾¼YwãåíIrusC5Îj]™yò¡VñÙäîödnøÝ ²öü×l ‰HÛî^qÈÞñcßb‘ÄãÖÌg K²’s<·.—ª¤ñTŒ9IÆ Y3ß:„аRô˜6(šHÊÆë{Õ&£5tl-÷ˆ2D<—Î¥óÒ7é6žB ìØ¸]¸ ›þöŠ ôVŽ ôòÊGg$†Ct!pÛpÎÏ>hƉªe ­ßhuCfÁ<42Ü”?‡Ødü17r®ì¼6㘺†¡ë¬ÈòIÃܫˎ'¡^æ¿pNÅÙ…ŠÚȬé®ójºk›X³â½>Z.ÿô Ý+$ÚgøŒ¸C­a…¦ÐŒ9ù0 ÏÉ;cÐT¤áº ˆÚ^ 7ü¡Ý…![ð¢è<°?Þƒõm½’Yõê2ÌÙ]"œÞ1f§¡âé4Þ ?öáGËš\ !ü–dOæËtzÚ°-ž¥”åǶ ^껩‰>Æ,naâˆIŠIG³îÃFQšRksqÊB•84j²Úo€ëœŠ?r]ëjƒËE+eýß%ûâ‡ô½Lœš(ÛBøÀ?ã_~šÑíÊk|–ýÛÙ¤Sp±/è'Ô›õœ9ÛL9ðF¦\=zñ4!NMG) _u(®#¼6ÞO4éŽC(¹Y(êþsÃáv‰ï—Rrª¿å‘7!ÈPagï)ÂÆ˜ „5¹©x^dîÐĨ¹ÕÓ±ÀøS«³ö—¨Â^¹5çì+·‚®vX0Ô(H¢Kª«/c6ç¤ãŸ“wù¹é!ýeÆŠ‘£0ÚkÂf±³~\/&ÖóTB¦ºÕÌnzí /‡\ù¦'“¶Ä7ç*çDÑ…qÏ¢¶D( ȬŒƒª£ü´ÿ£<È2y¿ Ô_™Ù|X ^üE:˜äÌ9.¤e!£IŽóiU ÍÒ>ê|¼‚ÅÃá«=L‰öo1ûÇå/º€$†L÷$ÌÅ€ïFîUh§}Ù ÑQScãæ¼Eén1ñ '”!ÕOdñû/·pÐÀ©)aâQò–ϳÒá2JÒøcm•á¤RÿæèŸn«e™;ð¸]Z§AÕo-©Ø ›­#›˜#óJ&§G^¤ND,ÙÀ Y—Ë e| bÈVj)U“„ëš" FEœÛrð{×6æ~zÜ¿€Lá¤9%‹ù¡*2Ùíqž¨LZ;”T¶3ˆÄ¡Kø.píÞÉ8+ƒÎ%™í½œtÚdݨb1ÄÆ”[a¦.°ð°a~ãÓ”°üé˜N%EÒ–ä8ó/ÿ¬=–æ+Nov×|x ¯w8óÕôê‘ÌÃærqÝÐE5D(˜ªòò3³y·ãŸ'=Ág-P%f´ý<͵Ïõ´Ýrú»gÙ;4ÂjP*òf™H–ŽS@ôOGvwÓÈ0¯öçì>wëéí:oõ¿­D¢Lõ¾;r’H>ö^w3+ª?S"yË#ï. ÷ åu.ý‡™P‘èæ~t|žtíó/Èt)Æö¬rÙá; ôL@‰k¤P·äÉ¥¤«N7NÓ…ÕÀ½#‘ºº,$qdcøYÎtAYOF~˜ÝiåfÊ–ØÞÊeöR õ'/ÑQª^ݲç=á.±¿^ñ®£Igl}ÿ¤ÛCòµ:CûB§òw5"âªØe%ÝÇh3+ۖߪ×DÄ5û#õ‰REás±˜ùÓ¢}«§Ç.£oyÙÈÔæ»&&™¨n»ŸéJÿÛúljJ_¢“LL¥Ó -º*¡Ǫi† ìé.$Ù!šh«dôÃÕþ{Ô¨6ü—´q¹Š‘Ò}ñØ;aÆäVº\Öu`à½1¢zÉ{M ]eX ¦j5O[ÐåDLêÖâø{Qîç+l$?ìC[¾c‚¼Á¬¿½¡Å=ÀgÃaùþñLh¾R)‰›“]3v^’îôÂj`³hæË©S–ý©•u%+ŠîçP{gZŒ]3¡²iðÄTW%`6jøzOO¯Oèk£Fԧ挾C2¥Ø/=´91– &~#M™)Tí mciRK͵)îüã9 dÝþÜT¬ ©9/0ì¬OçžxÃï ÿl™¤ýT6Ú¶ úò'¬•;:[20¬¾ž8ßÍ3ˆ³ìJí*–¯nd§Ü5FäÿöDAt2ÎÇGSmþßòáÑòMêç;oz;CkÓn¨±i~Üý¿€oX3?£ÖÏß“P‡ÑÒ/ÐÒ‹ro†˜t‰£ã'(ÜGq1]_Ær°¸’uü‚m|'©Î:îˆÁl‰jú†FlÕTŒs,×20´\£ìEC0»z8•í J ’ïßO@z{åÕÿ•êG(‰+´AäîÆÙ0=vqq)^ « 6¾«œáöÕ•ÿ}Ù¼wE_Ø—„]pä| m´=a°vÃ&§Ô2 Î$»ô]Ù{ÿq8E§éŸ•³þ¿l]fØîÁ„Ž®ž¨ºì·]Ò­qO`\–<®”ºÛµeO0ß¹Ž ­<êѬ;¨U!zº?¬nÄåšÇØB˜öm9; pÈ•ÙÜÂ#…NÇD+’óã8+¦­§“%r'x@ù5¢aÿPÖô®­'e‰7¾QajP„ß\úí'ß9,±£‡IÃù}À«;oTðÇDÖ¡iØ(ŽÇ#¯£ÕÅ]MgR#\ï|ùŒ·S¼Ô‹Õ@.”£PüåíÛ“;Y¢'êQqFŠ^㔼«s­€m¹é™€HèwÊR·¢š ó™y8ˆúq—sŸñ°]IOàQ®O0“ƒ§dçÔ©œ{£ÄW 3á±È¦žóáÄ«vS Œòó1dÿ=œ}Âæžæâ?e”LŒî]ÍHìÈw¸ñ½ë™®¿šó«óUÅ€.ªõPuhÌ ËXìò眔ÛÎBî·!Hþ«Â¶HAX$ãDÌÞ9«™óøø‹¾ åA+¯we ¦<ã]­€gM”3 ¢)²qÄK²ó ŸÒXÇèVmÛ üz^·\Y˜Í‘nß³:|ßH•~¤o:øª*Qû‚•¼•H(ÃyIœ >bŸ_Ë{¦ƒE2jv*Î1l_®¢šjò£DÔèz©µzЉ·Œ”E8³&Ž6ôeµ8¤t )Õü»ïÃÓ*š°o†“眿 ¿$ü¥­iJ=N„F‚gß—†­Í£ð^57ÆW½lmúŠ!æÇtJqíjQÚÛ'êÓs€ou¡c_pú~€qF‚BªÎì)‘NÄÄ®J9dfÝ´§ÿ-‰ø"¦X°†ŒJ‘{Ww´—(EùœÇ'#Ý .iªÒUðŽ´ú'dÕûókÝlµ@áùÐê8ÔlXQ«±B½è\Ŭ©‡jªøzpxÙ¦¡Ô+;€Ü¡¾Û qQƤ*$Dý`*Íxfq Hy€iþÉ›-ÊS4]~’AS\é|µˆ‡)/[TRy§.°¾xéåäîK¦ë^¿¡|qÀì¡aîgÆßŠuô¬¸:ÇöFkÝèéVκ‰çÓ˜/"™¸K7/r5gRx.ýO㜖;kÍf?ãƒÝ5H¼Ëëý/w‡ZN×ü}êX‹D51+†“•ò\½Â„ռѬÓ(ùY>Ã%ýIŸŸŠË”G×tÔ±ôFÁe(6:ƒŸóG7ÌÌW—“î7? ©™ÜgP X÷cÅ­Œòú“¢1ã'?éTš'lRJ¨•ú)oP%4%LStß*6³b‹–"^ñ¿n>ƒCÜͪsç*V¶K ïøØçÐ;-!ÿ6§1ë ¾¸:S™µ³I’w2hÏ:¦.J¸aà“RòõìWÿJã®+|åÅjAZ!F¨ãk 2•wÝ»¦VѧNXÐ.²£¯yo€ÕáOCúÖ†1›š8°Î‚—eS·ßù9[9.[Ïh‰HæV*­"æ„¢)ùp,•òŒÊ¥YàG ,v3Õh¢Œd ‘È®á7L–Z‡s$hz;÷Í—|âÌÝ#…£PÄ Wg ‚oT@6.åé9¦ƒ@=ƒä—ŽÔZb·8èÇÂÃoŸÞí÷G<z1Ê.tßr°Ûò¢C'óu ôÒ•F=Õ1ÎȹFIÒúU±ä‰\ž{aö7‰Âú¾²zëfŸ‰iÎ\þ<ªŠÐPœ¦¥–K–L7¡=CiÝ8¬ò’=’ïÿ÷õ5¦`¸’|¿*q½Ku‘U¾ë¿H1–Ÿ…À¢^RýÃAìÚZÑ Di‹}{»qÇ·j,£Y6ë8#È.`}ú5ƒZìMç\.e£•§»da4*ä‡ñåeîÙû–MP|Û½|‚!øÇ4«(HÏP°¨‘¨²®<—ZÔ 4OeYkVòÌ¹ÌÆZ| M•1j`¸29LÚÇ9W<)Nã$R‹âÊPàÆ$ãpÍuþaÉQ׊}²Â›3?óñh¤l—ëL%X¯îZx¤¾Ri(—xT¦3²Ÿñsm´Üzíç'a™ïãIÆúNÚä¦'ˆä7ãT1Œ± ȸç!@Ñr©ã`a1*éN, Ø÷4ÛÐÅ|8c¨Ñµ »›µ­Î\„zng5³æ‹X¢²/ܽ4žè.}‘déŸDØ„+s-.« !ëW)-„{ðX<²ö¸~û6ï×_¢M®ø® ¶„x(ãg;PLUïæœÃrÙCù¸ŸÜ9àx®šg¤Â‚m¶ÆÔeyŒG á?ô,½MöJ ¶Öøk™£R™ \Zùׇٚ¯)MÕ ¦2ÊSu æZW-úlÖh KLlϼ=±ª,´›íwIßw†¸ß§ËýÜý­(“ˆVÁëÿ–rë*Ž߀†% µ˜Æñ™!w2Ý{"an‹R‡ñvô4Þòø5ÎdCNè3õÂíúÐSá>2Öêátl;FŠËQDlÞÎ… <}Ïä”—6aicˆ"øu˜Úé>z/٬Ť¾)·ùSú¥´b°'``Ǽ¾¶—w¿”•j)[Ì:P F3»ü0¦~ûmæ/DQ³îÙô]#óï#r€M¿É•2dïTù7F wXÖr¡€Ø¨êi¼”±¸In€¶Nú k-ýt3$›ú`Vß8¯Â¿ÉÏ¥=^,»Ûï6}qŽÛç`ɇÞK6éäï:›):ñß>ˆyŠwAEÛ’!‚ãI¦–‘KqS¾ "¸ç±ß½_O¥Ì'úöbHË„eUá†á¶€qÕ¨c|L¿G<8*`+•JÙ Pñáø¦S¦v„ýKvÚÅŠ wÃrÜHßlbyÜ&©ñ ^"¡î\E-C”‡‰ç쪙 µ¢Þûˆõï0ƒüË?OÞì[§užÛÜ7.2¿—ãǧÐÉ$ãÇ:£d þãŸc8ÇÊá)>Y´/\e@µ2MÕ‘zðÈ”Ñò‰_k…`½œmÜBAŒÚÒß °¡Ðý– óM2|Y;a.ÛF°¯âAÏ[;Ié;QT§éØ•S'ÂþõQâ–¹Âl¯6ì×¼=À_Õb³oO¿(ðÜû§ÕëY¶ÐkÌ£?Âô§`¾Üä‹Ä Ä;§Þ‹1„‘qJ„?q€ºï‡‘²h5 œÐܶ±µÂ0F§.=R<ø–RÜÁM髈âÕ½ÐÙ¯æ¬Ò<îT¾’¨û]ãbÿÈåAàM_ü·%|¨!…é í˜½·¨ü3ón{ "ÊŒP1F.A”ᛚ6ȃ…Ôƒ qKa|ºœ^ò®v“éKž}FÃÿù^W ·fÙºÖ ÕÈ hØ™ð2°¿”ÎÿÚ% c`ûgÏ5jÛ\i7ýÓ(Ñÿê6†Û—‰'­ÂþjÛ9/ó8 àJ*nÕMG%ÍV“; —Íã^…ÅÓ£ jwùá\ðü‚ TÏ•¢‰½|DÑ!—\ í…Ïiü´,Í‚‘ *´çµ.KЙ>qr”%ˆ““µ×A^Óz+3µBù%+ú³~À¹«QskÊï#ž×É)úãoªòаä¶! ðá~/Èjµ¹$uÑúw5eö®,ŸÞ`Z'Ù…°¿°ÌêàÜÆ™ÚþÐö >):U[#¾c~Ïá“zç)Õö™;"‡õ¶Òè]ËIe wW™âжèx°æ±û¶‹ûáïE4تÁG÷„P„ãêÊspž¶œø_õXñÎÆXúvTÛÕ×Éœ7ŃŒ$ò—tZ]>×ë1>’üÁ™’â€úí™>1S%»EÆLfÝÆ… 5Èùé<*Ùž¦õwr)@%!\|ªßÃwÜRe&Rôý©¢‘ÕI påU4 cœ¹‘YhKSÚEDÅ7Èå!®Z-äz("ºýÚŠÁ)çsy{k-'ÈŸk§w†D±œ±Ô`ÆE)¸÷’©Ʊž÷N”b•J×ZTYtý*ü7Š®Ìü¯sˆ=) R;ë$]Á¨“^‘»¾B«8U¦ðÆIÚæÇ6»ðÑ:[ò±L'Ïz0ãŽÃÿ¸dTwsÕ‡ñ‚q’McO­êT_Nk9¸5ÙSãÝ‹fŒK{ êKý¾ê]„¢¥’›}CwHÊãʽs™AÈÕ99ÓY½qŠß:Ÿ\×¶,ÏÄSí¢½RÃ÷‹4ìML¶·wç?ˆÛ|žÕ4õìü²o¥ŸÉ¥Nùlw0¦êëÕ y˜rªÚ, Q^ŪIÒÙ¡nvá|w2 Fê÷2µ5Wù²%+8f+A‚QÔáœÛÎá‘ך\¸Æ·Æì|åãì@“±ä †ì+h³ƒ »dC¾Î(Ì“ÁöCÜÂZØRFE¤ÐŠÐ×Äx›MEÍÂºà’‚FR)©›(š4.#-ëõãÇ×P²ÁSr e„4¿®ž %Ï¢©+ýììRã °Åp®Ü§.[ÃöRÁ'•»(…{Ô''ctN5ÿS)¿W{bATbX8ªÔ†çDyTm^â¥>6Žd6Ûžaç'¬h^ÿ²k¦õÛí sÖ? Ck fºO3KÀÎ9<£ä{èÕ’8º:÷#‹xܪÊûÓdŠÌŸRk¨øQ" e4)5Ćê¢{eŽ+rÔ _*sl³ŸÃw`–ÉTó+ÓM4nBÝEócökmç(ḊKÑõ×ä¡ï±ò +wÇ»ñD‘Â@p]ÞZÒ¤1ÍÍ\éò]õ"ÉIÒljEÏœ¾dLCy&Å–:4F¾>»–¸ÿßb{ʳ[F½¬ôË…?°u¾Šä’](y|ädVu}jÜE®ó 褜°æ/²*Mg«“Ñ)VFõš¶Y1&¶škÜí$¶_clX¼b)c?Œ\ð'R ëXÀ»9Ĥ¤7ms`®ÙWsµ‚ô³HÅUà+Uhœåʓ㶠üôvtÇCGaiËĶÙàÞ %¿õx.Û”Ü*ÎÎVàí§j:ŽvÚš-Ô”MfÊ¥,+;°¯ò¤$~ÄZR>.?¼`Ùz-å;̯µã–ÈÌ™dl¥d%Ø%GP×I$ù…ö”Ö&Ããê>Øók¼• óà vÑ öåAû“PàЧºÀƒd{½Wù…h`‚\[å¼n»—uœ¶æü»Äk 9KÁÔ9Á#wvÝŒH h&zelÛyίÓ-j/¯ð³Iú oéÇ5ø/˜žíJ[€©$käø0ˆBÒ¥^ˆQõÃS¹f㣙!dñæÈYR®æéiXÇ]#…X…AR°æœO€ Ì@Ú×Ñé(:¤¤-¦@DØv…*°1 P§+:ÆÏfjüùô[*DgèGþ•4ÎÔ?6ØUuŒÐŠ žµ!ZW®Ç„G_‚Cíxž<å_»úVÓY¼}óªÀI?!uð¼8­7×¹1ö§K†™×eq‘Ñ-£ž€›£àÙM4öXTdû˜ yºªûà§D…ÀïºÂ0‘–åz‹ï¸õ ˹¼šö2AÑt6˜h? pÎx©¥Ý?7MTEQÅàûÅžúß³Žv°ƒK£˜! ÔDvŒÒä"ï‘]~HLžžG ¡)]†"Âyt Ŧª´n£Ìk-C=ª$oh•G•£©É1.Eeƒ¤&WÒ_:Šó÷`tÔZÒ žÂÿç-ó·)Õ¨ªa¿Ù=TxèÛùÕÆDýè¦+oÎa¥»*Z8ð«;åvOkZ<)“d›õ=´Vf"ùcÅÔØ‚†½bÌóÃyóÀÑoÅV`¥µ_FO¦æt.' –›zP+¢Òâ™ñ‡ \웨¹…×ÄF ‰®^v3¿:%}hÎðè©ù;~o>‚`ʯ¢¿²õuÛ4ÓŒ=Ábmæž!;ÔØDû2ºÝ¹ ÜÊO!óÕ¸¥Œ\íýì¦yî3[|"{`µ•ªuè…þlgÙþ´…$OŠ/È_å(£¿1a½¬±LT“ªì)GÿòöEíw-¯³ìViH(ÏÉWå=@Ç%^áé0¨¾!H¿ÑoI_|ŽÀŽï`hwkòh¸À1dY}‘¯¥0þ‰*©¨âû¢'E8É@¤P£ýÝRò:ÝÅ—( Ã,lJ…BIŽø'?ul j:ë ¬pÑïºöBÍú¡SE:b ïi¥zôPUåPáq¤ð†ªñ»Î)ÅlçÁÈÄõܹSƒ' ÀõpÃG5J®n„øÓ_bãˆ@JáÖæàØ,;²«\Ó\ŒÂ¸Ì¡Êu÷—ÿ 5ëoŸsæu çŽEâ…F~lxI]÷n×,Ìcø©qŽ\†l G`Ÿ¨È9µÌ¥ÐV—wùB.ÅAíøá€iÃ\´.‚};©Á6 X@_ÂqØj==}Àü6¥8tìw„ûƒrÜ–B˜°Žg9U¨KThÕ¦4wë죰Fåhk5®ÇC-ù¢Î™¬=,¯ŸÕôðÉ¡ð#4gÇo›¥MÅn,ùÀ/*B4!±õ¤Óoèéom½¼‹\ÓŸÇCäŠÂ¬˜<¾Î;c£”ED¦Ìrýt¬lg½E0ûTôØE}0P«+Š÷•HS^Þ{Þï+:IÕn”ØÊ@ç…Jð„¬™˜¿»—ìFN[Zó`AVüÅ ÀÁF¡í#6}±ö¸Á-÷ïKl‡‡5ÕlˆÍ)‰ZzbQŸ÷}.¶Y´¸°›©-Oÿð›ó$Õ Ûw®Ê]ãwVM‰qÜòKÖa v*ãa¿SÊ¥ÅIèiûµ¬¹&H)”yB‚pöÔùuç÷’nÄä ØiUÁ‹¥uŽ]§Ó„*:8ˆÿ´Ö›/_p•òÜ­¢Ð EJê)YÍZ!ý9j‘kŒaé~Û™´ËV/'D˜xµHP×0/"”"!*lþßÍ´Äí·g¥€ºpÅ6ù*8â•Ì/2Í…›e…ºô;l5ç¨ë]wÀØÚÏŽH^‡N¯îqZƒÛ­T>zök7ÝÆÁSš¾çëðâ8Øï²Í A¦û²ñ¹Á9¹sÐÓìR¥ž³dåöT Ñ Œ_ˆ&ˆ<ˆƒ _òR¡¿ô6h]ÁÓJÛúR“˜âAùrÈ]Þ³æ$œó6~1E¾´ôââ·¤)þ9±È¤hº¨28E.È7˜ñosyöªÿ³Z(ý.¡ÃPN›ÔsÁao½Z qYi“\=À¦Ä¶9sUžZìømšËbÖ²»"Ý~·—D±£½M¹>lǶ,¯K2ªP\†¨Òº»Ø ý„äþÞÊ×ZªíQ.´ Ýñòv¸ø{ ¥ cÈãéA a^JvÛ¸¹ß0µ¡‘4WÀðŠŸþ‡Þ1½‰ƒs¢ºLú5ˆ†ŽQ{Ïl!Oœk ìJ<Ìœw#û4EQ`I‰÷Åà|Í´+ž”X”oÎ’²¡ÇÁXiýÛõX44 ©5 ú}U­âÁ} Æ.0—˜>Hñ8=¿—A0¡9\ò3R,3·{º­)¨Z¶»¤¡Zñ¾È~BF‰&å Ðujî0¦ÐŠÊkçÿÖ²c…oè;¹m•<¾›ªG ˆ~¸Jù=ö)#ÐRMΈw•úF«LDgºÁÀÚØû";¤æ4‡¬Â}–9A¤U´œUE ÃÓ “Z„6Ш>Öólc>_«a©åe·r.:5ò+ìA™t±Ý~|ݚ嬸Úv¶5êÁhÝBvŠJ¡o–sÄÕ>/œ~x¹ÇÄ´ÆC@Û ÔŽ#›R¿ç,é,1›.lÇdk÷QõÙûG ‘ggÀ…®­ ¾½«¹?М8F>ÆÀ¿(Y¬CétPôäkl‰2£ J— | ½ ÒYÃõ¼OܾM ×Cº~o-ƒøÙ »¼/!; $1|7éªÈ囥„†ùŠ9;-#{ŽPK{É .gÃ@¡WïÛðïw?”ÃgJµEËÑAÆ OŠÝÖÓ•°p$ñ•Ä53R$Îìí}¾XUç×¹Åå(×û.M S±ðö O^“F‡+dJÅe¥Hå}EvE@ö¤ÝŽ-íÌzwDØå^DÖÛOµÊRЪ:ç‡6T·´ïK$c ½A4Â5ù°êAƒ5b¢ì9áÅQEN'„Îï'Hé±6ßïøe“‡k†"Ífi“q}·ïÆwšå¨—#šë:·ÇlRDgà“m0Ò')qAL+šß‡2 žf¤%T†Cý(d¥’Hwš•½,óÂ:GK†pýÙ(‘+uî˜) ²rp¬¬±¸§ Eý‰+8¼ùÀ³”ù̮Ϫ¯ïÇ T)àö×'›Ò) 9Φ¡+‹øaTe€£Œ½k(SÌé‰#Œú%Cý„#ßé<*Í¿³éÌ :ŽùÅ’ÚŘ} ráƒyl½z¦•%x‚2S֜璸ë)É¿gÍätÇ”²AµaÕhV-äx!yÃJ;Ýõ0#|x1yuÄ'Õ» …úÆpÆÓƒyeÕUðœ~±VÎuÐn€ôÐ&v¨ñ ª§å½HŸZk_J¶ç#Ë#ämžØPøšGî¥öðœþÂ*±^)öúÙÁªçÝ™lƒ²Cñ‹rs\-Ç­ ŽAλՓëÖ÷ÓË¥H¨ïb´õç²62rÝé«)dõ fF'ùç>™Ãf“båÖgVŽb?A†™^›VrCUnZˆΊás¦¶b¿=¯RGš'Påë9wW%Tý/‹Ô(T„bä,§™Â+ÆÚÄ2–ÖükOæÍ˜ç»ÛSÄD_Òµjå¯Ñk¿: °}³í2ìÿ$8H$¯#äYN˱¼È0”nö*?B5+/–ÈþѦ¢g>ÐÒS ]ö›dÅèüü‰hégý€ú”‚]ð”}[.ò$\-³‚N½¼ä¥8AW©?cìyE¼í‘EÝäþÞyëþ‡]A1ϳÃÚÚõ8 ÷„²³Zc¸xwJ²É7ɘ¶Z¤[ÂÛªðÉŠ_ibumˆHN¸„G0lÕw£¹5jž§Êa÷w$(¸¹ŠšRÐh­&æ~…-gqÊPd¹з ×7¯k~ž5ÃñüÝ´ ê²é="E—Ø­h³\â^ãÛmèêƒ_[v¼ä-Ú*—È1T³ Ðbèxc±„2È |ˆëžHŒ…ç_¤k·V{õv‰­ÐËû2þTØÕ/Ÿôê87íèãí‚ÃSÖ(ŽA;@0ë‰'0Úˆ¾t’¸²m],B}0J,¦­½×{½„”§¶hBÓô⣓ƒß. ”ë8HòÕUÃFNÛ¡ik,âüwzø¹† d¨™]é1g…5ìFu6°ëöî±*XètzÁ!`7š1è'/ßÅ{ÝoE1=ØÐ-¯É`Q8-tí'yÅOUŒpáW¨2^MzHŠ8>‹ƒå¥&´h¸mïÊV@{;¹&UÑ|;ëJÐËŽ¤K™µBéÍòé«5WMô½Š|‡Ê¨“¹µ‰Ö¼F¸³kzÇhNê¤ÜAÚu½¡%Rú{5ƒPÓ!lÊ› ‹ ;þ¿—LLž))dÔF¼Œ‘£kïA,c·B) º ÒÖàí@ŒI&µûšŒb ³1l‘«9¼ít|þL ŸÝ Ç~ô§‹FÍæÛ^6…r CÈsDqR´jX’ሗ¤t1»NÉ!±RÊÖ¡nPw¹,Ь-ô…à wy·ÒRS.Í-o½'r_xRf=øw^ÍuŽƒJV$¸û&ÖõØÖoˆa-Vµ%£ÿf­ ÈCIz´Ž3†‹ÛÉa¦›1Îþ"z Æ~3ÂÛ}õ>n…äPîfHäoˆ;;›};òNòõqc¸$È·@ óH/æö»ÊdGø~|–OðŸŒü¦l&¥5i!ovl޼KÀN?ø7f»ˆÍ:;œÞ?@RxˆUáIBºØL[v {’nü žÔryä¤eÓ†mSt¯´b-(¡<tmÜ6ÎÓ'\³#¼)A?ñÙa2S±ô ,0õGVÀ…¼½WÈL3Vá1Æ/Œ½íØ™Otñó6e¶ÚÈS¸gS¡ ñü›•>95Ë:äRþLöIõïh¡V¨#*o±ØÆšPg]ö)Gùû釄rð¾)‘{·5ÔfÆÚ¯æâÞ׳,Ž'xüåhžÂ3”ûó ª?!ìÚà&%΃Ônp¡)tšy”$¬J˜¡†kLÒÈßÞMÊ L)éåþüͦûxŽ éûíM¥­ mS'W£ÆÉéRGÅÿC޳I°RS"Sµvð—V%¹F6@L6ÇA-&6gY$r^) È=ƒ…H™ì»`èUùzáZÿôlÃÕTáÛ#ïöã©Äš.F륞k¹­Œ‰Û'ý³z/”Glkê¥Ò¾ÃW†˜¢чÇMO.ØíÚç*—ÊL÷*bÑònž·h¬~/Åau¦Õ3׉‡:CàýwÇØ #r[¼4˳‹ó>­S?f€¥‹b®…_åirÈÒ¦¯ô«€j2þÒmî{¡M ˆ>q>}‘ôÜשaŒl óž.]3£`¤Ñ‡§LÔf^irîª{úkD®ÔC#¤n#TFñµÛGòñ3°Ôuî ¹_ú¾–]„€]ÁO¶v²"+nÄ ¥Ÿ!:8>+3îâlëèrÃ÷ê‘1Uãb«Þ^63_ŠRs¿¾üÆÙÑÍFÑû…#ÐÂn]›ÿ0U–4¾Û¥HÎä "K®_zÃÈÓ ’Ч'Ôì/Eº O°=ˆ6Û4 lÒpd³Ç¶°Ë3Q™"‡¶_ô‘7Aª†¾ZxüÝó­Qòl¹G/2KdzUuíYnW#ÿ^ì<<ÎŽº©Ú² ýâÖmP4žbý®ºGANoj5íÎ@6ž¸&Cô­0ìYé™;‘?7n[É#`’lýŽnòÎM´æÐ ¿¥¢ 7œû?—äÛã/@ûÌ{Ÿ÷‡v<âûÅÉg'¯‹çq¦nZ˜WúOÂU:@Aí[éÚ±?8€NA»¼ ›Ïø>t©iƒÓÕÀk×&äï|h2/ýR¦ª@ÃÒ‰‡?ÝGRh´·LÎn%µXò®ŸŽ ›=ƒ8=1mpˆÃˆƒ )ÍHžK7’fi«Uð=Þ÷ÒÖ÷RƒW -±ž B;Ž+ªyõÉ&J ‚û†±¸?R"¸1ÿÓTÇZ¨FõÊ é$aRáɉF%õÖ(°vÆÆ~‘d1Éßx\£pÇ6ã×Ðd´˜7Šçòf‘wÈæñÍõW îÔ™víô—$ZtZÊÏEÈ¢ýrY’ÿ­þl¸–Ê®žG¨[¡s´,ßì‚GõG| §¦.ä"±ü\g|®Þ™1bSEu×¥U§R}¨žüØþX²¸&µÉâtbr}º’‡ÿqµ ôù¥P£gÙ¹µÊ|Žs_ÒßÅ÷?çû+X÷fA ct=U ÿ•;øù@§Œ4×·–LÉðsIy¨‡^Õ=‡¼S Àîñ©dÏÄùÉx#r)ñM¯¤ ÀªN6Í Z´ úþ¸ŒUüU°Dc>QøÍsüË'§b—î(¤Ëriò€kHˆ&ë$ï†Õuã6$+FË’ Ý~Dç §‰ÆYêÚÒŽ¨//š­®&¶šG¼µA$q5P {Ö«æBOò1 Sûï j]ôóü„ªàˆ߈Æ7T¯–¼`…ôJS›¶8ø½ÚK½œ||§Ü…¨½(uCÈØ8… sð¿Ë …QuÕ–ØC$¦¹j(·’¦r6j\œˆ„”t<û [Í æ«'sŠtDó ¾)éjáºÈm—[ËûôqVŽH™wø=‹É­šIZF™š]9¦Ÿ\v÷êÿÑF¾Þæ'Ž|ôè^Xôᢢru”/9—Y˜ ÛÈÝ"T;dJxöͪÉäå –F–’.c[4™RA°(dðYÕ"b ·™óoy”{)ôíÜ΀¤DÒx ªü*ÿV²K‘d”‡C¢bŠS~!ÉÓŒitt¥G<ÿý–TÍ­—pK¶Ð˜ú dM[²ä)Γtá,ø•?aDã- P­ÙrÛ¾X¼)% ÿuñ”âHþ»¹ ]Ô)²Y0Í Y»‘Ù¡\wþSœO±þ7äxu°HM†Bõß¹‹‰>Ùt§Ñ-¯a¡¨TR®×-04IfúhÞ>Ýë[½ÞâÍBŠ”Û7µ«Ÿ)N!ÔæMðazqŽVKª ‹6ð…r²c^F3ƒÂZšqÅýM¢œ7ñJäòÅÉŠ®,ž]ª€Ð—´ÝK¨ ë"êÌO² W™4|Àìš~Ão R”þ& ’L³Nû£2+±¸×E$±íIŒ–^‘K:c‘¥<1”˜ƒýí%9b T&"<8Úé­˜"|ŸmÄ÷ñŒ3æk‹ï½Þ;· Ž4é2S©ÏÄjÂˈRŒêŽòà,Ãò•ý˜úò±Óòo±ûÚš·”|°Kfò¥ƒY…ƒ!){ô‘æèB»‚±ò#D°{°:‘wP\³ð'û™HÈ5D=+«?Õ¦ˆK¿°Þüج©”»luWœq(¥ª–!>JfUESšŽÈ'½„ó¹ f+ÄÓ€d‚²äXE‚ 2`Æ—Djþ'¡¤${ûèíQÂöÍo±Ù6¶Í£>NÿqyKw¸Æï4²ò¿Ž.0óÐJä×b $JƒŠ×#xd2pöån› ÅÄ·Ó96&%¥Ie79Þ“ƒ.r·E7äÂC †z¬/Ñxºe%§ŸÏ<j‰òi˜9ËŽîÿpyÚãñ ?âóÎ~fî:iSSi„7nÆœËsÃo뺟/üº;± &VÖ Îû&Åò¥2–Å©ïþ}”û¦G¥¸Í]°kŸJÊ—(DÒÆ´ö’¸ÀûmX C% Ú«…¤¼ô¦°ª4t}|rC<€È¬ÅAÝþ¡®´šzÅMUíñ>Ìã£çñ è-”6é29‹ÐqY·ÖŒ’×(Áà(gx‡ñºŽ_å,¨0û¡pÚ’^ncªÃ1s7ë`÷Ù­’{]âãy…sRcË}2êm%À.•L ;G›»üã‹Mo ¹/ãÑÒâÆN8ið¾•Á:u«®£¦åiDý•ÇAÙùµ´£a¹ZccºX‰@4tS±Lô‡l¶=óÈô‘ îwé÷ß<æë_8>ààdå-ìÅlQYŸÎ™n:÷ãCØâ|Ô)KpßM{‡J¡^“%ý+'}hG@å^2ù¤NI©%Þ(ñ8ß‚¦Ʋ¨¿…=LYü„z¨ìC/\Opg÷޼«Õ·{§¿yÛ.YˆNœÊî +É@´æa~XϺuñ=(¶†V>^œ›8ÅêüýÒ¨CC)P,ôteûÇúB…㬘íP%†rëgê“xË®n1ü‰v¦\i]íúß,”qBð:·zºÈæZ>®–M½³ÝoÕ4ë ëŒ0¹úëŒe§•J9©¹¿N.Cñ9š "\½9+³ý|G ÅÒÛý´!;ౠᛆ¸@¿o½ ¡1gíâÅá˜Cú}Cè.b Ã–m‚n`yÇŽƒ]#ñ§Â<è@±6à05ó³(èX 0sE[ ž¾ ´ ŠÃß|ƒb‰hó?ý˲¡¿%0€ý¥u p³,ìæRhØ%ä | ¹Îh1nV_Ð#pÛÅy7êc- 0X-uQV—÷8ò£”è0ñˆt²rŽ#±±ôÍØh’šï&Yjm©RøÿÓ€ð*ák"w‡så- k,Rµ‘ºÁ?(8±Ä‚çGŽÕÏ>î åùiççnç´uQ‡õD}/;H6B œüm©VW¸wKXR&KFp„,\¸¢àÌÑ;ñÊSÚ±P · öæ’SŽû;þ1ƒ’”¦#î (ý8³$òlyÓCŸòÒHcfC†ÝÀÿ²KÅ7Úÿ®âšð&ì‚Ü9F–‡¼CÈ%^ÖîÂB%«) O‚©±Õ3ÔY·«%- ó½ŸÎà·‰(mÍÊûËôˆ©¬xq‡ÉÏÎÇ qŽ…¤Y7þó+Xt\ðCQç—ç²³DÅÝÂ/ZüÖWÈÉN~Å€—<ÔN£G„—³&.öðd²‘vÉŠQÂøÐs4Ûš2ÓGá-Ö„ æƒQSTâÚ;ëWxµ÷£°)*0òÑô¯vøk0ûžò]¤’Wyáç-^˦)j5»-IéîªDlеœÊvô³&øÉeXK¾ÄKKñ‘±(õªy™nÙ#ñR6Ù4rNz9êáÅE™n¾{@øÞT«Zu{èƒg4&»28%Ö…ËB5Euð'yÅ•<*ˆçž$Rì½SÄÙÞ_”™°FËCmŽÎ#©[å VQ;ª´†%c>>¾J6"ô¨÷5Ìbp …B"(âÙºb5|KÊZi«hrÚÅÌ68'9$ß g=îB¸Ì~]d ȸe«P©Tì“ëx¶¨Ü.þÔb8´Àصx±ê˜ÑœÔ„ÞÍ?@—L¢Ë#ÓÅW‡Ú×]µL¾¨4+&£g”RsÇcZ‡3ööv©0 "¶a~Ÿã¦ëož×׋½î‹¾ ¤ñ!}ˆsC›‡cW9S~á¨ÂýfWLo`šõs$í¹I:I„uàDÍ6¿ç<ø+¤µUÿ¨È”zw-Gœ¿”ÿŠôt @4La} ’L¾œ?ÐÕÌ,Y&]yï ü —y¶GëVæ4Àk,˜^yôߺb RÙ(ðö?*м`íš_CöÎZµdü@À©Ióýý ­ -`‡^|ß“ > k+té—4ôÕþ×¢.j×êã`xs*vªgÖ]Äåkñô¾ÒÚÞ1¹±¢•TÆ”TÔ]=ÜK†Éúc¸{Y{î{6Ï kV±€Óeµü"q Ò²êg0¬Ñ=Êù$/ßÿæ¦'@ªÝ9lÛ@ñägFý‚‹yÕ…Mép¡pF ŸA&Ïܪcgþ2`Ò‹Eòª¡Hþ|HR'–f“’ô€-ÑEüÈ®¤fdjÊ©âµ]4v±“úĵL5–· €žÀÇ{Ԙ؛èßÕAú´Œî@C×fDЖ "q˧ÿN"!s…DËß«gž˜$W`T«RÎpjuì»×f½¼Vÿ.çD]¹ß6ªYKÕñ¢ g´p·ÓJÙ¿zþœóN#û 'Ê­åóq4®H×ð Õ„Dçd5ÕÕTQퟺ^FÖm²Çà x‡`O0ºÊPÑZü_@õÈ¡ÚΩ‹§ ¹¤©›Y54¥)Az4Áâ·Û}ó±7C~ƒ\Ö@i‹ÂZXª™áéytðAg?#‡ÚžGRÞS€ÃÞüƒÈrŽJ¹ éR1r)úÄ"™¼p25«˜™2¸‚Ã$œá3/&¯#äеٺýÓСÍÿgNÓ* ´zP¢Uu†tÃÒæý*Æ ê[—Ñ~2“ýž~5H:îXó m`.­¸Ø· ¾·çd€…=6±6rN‹¢Hõ«¥ß)ËÄÒ>AF„ »?žKv[µ ªÿ=°¸5Y^E ù\À”˜œ\¥ÏµMtÉý,ï=ïÎ.àzhVD8W|ºEöïY;K¬íŽKÉ$h"®\spsMòHÈÔ®þŽCC'´ü´½w”’Á„á‚,LV/9Ùœ¿¦×%3÷je í+w Ø6Ñ xxð5hº;‡ØçY£¼ Û’ØãKº"æCÕ_¥ ÇsÒvÁå8öW™Z‡ÎÙIvçµMÉvº„RSMÄ·4q»ÍG88ºyO€0*î¡°¥n3øùÉz&vÂd؉¨ ýÙˆÕŠ/õ«Ð­?ì2jRàbî.·dXç£ÈÈRÜeuâ9ÄžTÚŒU;š†¾Õ™µ³;^a—P@ç q®Úxµo‹sqÄË2Úƒeôyâ<Xâ7µ#;SO–OÄbiÆ|€tP:&‡ùí`Q½ñéB¨{$Ržu{+¡{)Àß®†[Åûã¨^vÌ“H_z¡º¦º;Íâ9Ë>Ø å<ÜâœP€/üô§HÛ`Ó} DíZ*¾ŸrÈìW>ŤÎxÛòêËö¤)ì³ÕŒ!³tÄh)aÁQxùf.¡SÅÅâ˜ä¯žÀïG¹çã¶È‹”ùAÑÕêW—òéR¶ä˜ òññ°¿¾ü÷-B¸›.ÅÁ%ÿ©7ö4ÃWf'ÂŒZ£•.ÜÂSÿ÷ÞÂ>ìNŒMï6“-,6a-šô/Á7ƒÓûy­t°nRÑ-ûA|º ¼ºT}ñ“‡Ó7ÿ~QM÷>Ñ8"ÐmG®¼O> ŒAÑ€W5âî:±†þBY ñ¤·òÏšÀ"sS÷Àˆ—J „ÿÒW|㢦ד¶ÄiÇžÇg¤dç’äHa«®Ý;î ‹XøL ntÄLÃ=­iI†Ò„wnçH|Ý>{ly³ŠÅ¡š$šBßp,O´Z41ÅÊ È7«A¬œIÔoÍÃŽ'É|Xó_ &ØõªÉL¯ñXIuð8dÕõ<»šìòôúy .Ô°hóŸ^µûäTÙÏvº¸Hw3嘂Ph­ Á7‡·›g¸ÅBžÙØî/„ ÖÓT¨²é,!hZq ŠQ¸ÆÝ2«T¥¥Ÿv( í²Áø¿{(ÒÇ+èóéuA5ã'n²:tŽH{˵êRŸhv­,¿èÏý‘þ†#QœÌSÌ.…Úi²”¸®‹Ì^t¤.-9̯Ç=#xè;\‘fmó¢îöÚ¯  …A1ô 7 ðzÐf\KÌȹLš ÙÓéCü<§ }¡<½"IØ 1KŸr›¾Â]­‚aà¦ÌHä§Æø‹;:‹xÏ¢ xXòm€ÇÐrc•ا*vø‡ÉþÝt˜ßYj1<ØÜÝá6pħ¦QÉ$e-©îÏiL÷a„ïýœvPeg²Ì–Ži{9Szo‘iÈd2óñ¡çøi-6 9%Rz  h»ý†ÅY€öLO)/L÷r½%Ë>9¬¶'Í<ƈm‰ÞΔ݌ßÄo‚À¾Í ­  ZüŤGk¼S Å0?üý+4ºîÔ\ãÅûˆñ¿.Ñ7z\V-È­3Û$1ò0⎥5v-qÀôŒ›Ïskºƒ­›Ô [§p–5ßa%äÉÒ`UÝGFže•ÐÚ˘èwo]ñËÎS~µYKg³à³Té¯hs¸žnÖ£ä—6uGèIy»¬ØÉj!êÆ–$䣸×ÅW¡ŸA‰åfW]9µÆÿ®Ò7ÁÈe›êî5Î…2šÆO¹à<ñ‚å´ * ´²’›Åæ…å›­n© ~W $ åuøöËWÀx߇h-¼dï­µ’€€RO6†¶ Ôl`cz™Šâ’€ýŸÿ™{õ¼4+ÝQtœPoVùyŠ‹DÕ†–TtlöÔx 'Ä[™"ÛebôõÇç`×Ôu/šŽ¨èT†ÖwïØ.È••õEGYØ𻫲{$&ŒI7‰eú‰­ït°ØçXP˜Tf·ï²~…–£d$àž…çÇg”0ÄòZ°È³ê •hP n“9ùGç‡"ªÇï-ÚÈ"9ø ›o¨ËNûøþo ×i3ÏåMPf͜ڨK޵wTt˪PÅóÎè]qí…R»²t}ˆ°zç ä`TSÞÝ_ñ+»Y–bÖ¼"?@ ýzYá(²6y©O³‹-óïq\3(·Y¶J]‚¾P bŠÐÇÊ/G!YÈÑBT0g%¨ ܨéy¦¹%oœèÍ È'¨ ›²Âü{13Ù°qm“p•è¹ö̳›«v6ûÏ3Wâ»™‘ ˜àÝ„c¿ïL'ÓÁ¬?“Ë©µƒ‘¡™#°ºæŒ¡¨Ø†0âöÍ£-h¥¶M±fOyƒÚ/¸™eûàñ^òÂH+ôÀT>ô$òº©—áïCÕ2²º•ÛâÛÉbïdìÁË %\Âß©•÷òG:³¼j¥ÝkÀB)×é“IÈ!Ùß2h«…RHpÿÿò”=ˆ×ê\rVß_ØÉjzI!äŽø2ÔU“ÞMÓÅéuK VXœnC¯z)‹xlbBçŠk4WpÞ ‡¨í¿_ÊD,hƒƒXQ1Á›;öËÑŠwLÊW«'—”ƒQˆ'®TœcßáY: ¨j\oê¤=±7…È@¡Ž%×>óç ÕôÅÆVQ~3ö’rµ€vg½Â¼Ö`"R¬±ûþʹ·†_««ÄƒFœVÁä N€Òpš¯sòVîûSû:ÿt½YøêËqÕ_yN">ôf 'àZÝØJ!1ªô ƒ_DñBÎï€=k“é_Mãžb–>_¬ðãš'Òüw´ÉǃA ¿­:g¼‡aµÆŸæ[ô0?vÔ½a{ÂtIX$ÿ«è4 n85ãÔÿœæªz‚X°iÁöùÞëÝ>Za Í3änÏ“š[ˆó®Öx†D¿×Àp#VxÙ+Á?Y¢-{ÆEÑ ’85&éä ƒHŒFcãFŒ9Ä ùN|$à`™¢ü8¨åŸ/ã{ú )øoDŸ^{0öÈɳâb5þDty'Çï¿GõGˆôœãšáÂéÇQ/ßê–[óöæþ´t—¤TqäÍ×™w¨±G«Ó¬cE¤œûºö¥AùZµ\4ãO7áÒÖ=]8A8>ÄÌMöBÛÑ}gξ1š ß^¾$¬Ò®“j¾2˜¶ä_ü² ýÿ4Á2AÏ6䮨‘§Ÿ1èyd¿€… C¡ 0N0™–5ò°cÛÈÀL¾zòÿ$Û³G´ë<ˆ ÷Æý÷÷‹ïÐ?èI Ëêäÿ=‘±‘! çþmú™rž<ìDÄ9µkHp‹ óë®ûÞ$HÄÂþ]}¢Œ1³¤¯¨`™¬ /»’&äü’ äI6•udX›í8€þ±òjƒ¾4œÄWÌd-o°cùD±ž“c¾å`h;DÖ˾•óˆ^­cÓì²6ac]®ó¹Ù´Q n-ÿÓ—HMÄð=öÄLœ$ñO(¤cF®6#¯]Mhéø† h­÷þßÜ Ê·–{.h9SôúE˜ðEÊÖ(’Æô¯\3Àó=À x¯Ö7€Då8,Ou¢ö*ÇŽxs=­8Ó5×±¨ÛXY”TT։²>Ü×› ä0ƒ-¡¥Â‹dCM¹XÅ•bÿZ3C`MwT‰µ~2ƒ)•Œ Á8ç*r^ äÕkíJÒ×]¹›;sk¥E»do.<{)$• ì«Æx¹ÔãS¦¿‰•ÅæX?W=èž2‚ŠzfïTÒ²há"œa"Ÿr––#ó\úQ×6S¸@ÅŠ a8ª¹ˆqäùi~:IÓëÏ”êhVã —ÎÌ+/¼SõÜì3J¬kaô½fà‰¿µdëk©Ç.JS¾Ll`k¾¦r”k¸êáýz˜ùàíª ³9à9ìè:t-ÙòUè<êę՞Õüj=©ŒÚQÏP‘¾œV6´7€ç»&/..‘+–æê¿±œz(_€='̃Ì*.‹ºƒG×­®ÂIöÓ zTSI˜HEä3èMºâÝç :äR£B”-¨a;pDöëì ûã0§„Z\-eÎY¿@‘³~¦¾:TCûß¶(ø¯\Ž-²#Ö¸%çÖ%áoÖƒ @D7âFqs~#Ü9ÉþÛdˆp75rëFü E46.®2"%Öƒkád‚C¥óŠg*s4F$[æÁ¡ÏR`tîEó>·§·2¥“µÕ±ÙO$#ÜH×8×d¨!!æŒðH¯d ×YËòyF”ý  GëàÈöå¤ —Zä8¯£¶­—ñÜ ÏM“nÆGòë^Çûôú^ó”Tdcþ(Ép"½#U—Òå øãA.ýÿº‹e*Ò+{ÝÏ>AÑ\®o>Ä#^³´"]wSÖî\“`‹4…UŒM‚"ALÓ´ê€z©5;âå+Cß¶ÁŸï¥ÕÆÎV8¥oœX­@χ´já³:Ð „#SäZ[áŽû `ýÖÙ2‚«$ÅkÐáwÏFÈh¬óc þùq¼‡ýæ10¯×BWæ&=Ã^^£<ãüÜõ©æ¿ã…e¨§ÿ† ÚÜž}›u®SÀfÓ±‚n.·)ÉI”Rôà1~W&¨L3¨&iɦGüVïEß\§yO¤Ö>©â5åôîÄÃýaŠöÉ—Š«J"·ˆž:Iæ`š>Ô+©î+ýwÙjS<ê-•eöë:òg„b¾£úÃiŸVsx©PlZÉWÞ@À¶Šú;ç׫/É¡ e¤\¸ؼ—ЦPñi…"ø’Òý[¹ãwêEËèÏSžc LÕQ‚\Š ßÉ €’8<øš?Júlqo“(ý]¦ØbJ›3ƒÅÈõ§º®˜ž->¾Â†¢4ؽL÷õtKÍ pM\\0 ýŒ+ã7ľ9øe/RìPëk0Ó1š~ðú¼µã™ý¾çºQ˜^=ø!%J]Püs&]ß›v ^³¹îò$ÄÅýT¦êeZäD+Í¡/Ë«T߀À÷¸ßXþ.ºg‡œ×{ep× ƒ!0ÕF¸1/O óÂÑØâ€ÑÇ^ú¡„eæ» ¨œ\m÷¿¿¢§-b²SÙ9È$ï‡ÿɹ¹Ó‰õ^Œ÷ßë$~¾ !—üÂ'îz]ŒÚCWÕ!€} Ó«Ôo@à\óï6)þ4Yekd|mZb%¸»êt‘¸k‹ù¹LWòÔÍöç®4E°â§ˆ_.êÚ¾Flùæ2ñ·nÒ.¡ïTgÏ¿æ§ïm‚0¦ëòÄ«áïJg~²µ”Dèæ…ÜG*ðš2žNw= åI«¯gûªd³=Ói›ˆÞøø "á¾þ$Õ “–¥Q$ºàâÊ¡ýÇ!Th¤Äº5 ÚÚÎ×0S‰&IÆXýÛ$“ÁõÄPuÂùí ¤õ`5jðéØÝ¸ùÞÕˆwþˆ·%TÇF‘³ÁìŠ.TÅ‚f »é›Œ}é+œiŸDõÀ@¢¬Þ‹×ÓâéTÊùþÛÆÉ[´@gIÜø^¿n(Æ+êñ,ëœ:ºi9Œ,ÌýR{<ârǼ`àvÎçº'r† ,IgSpYgÊÞ\õaþœ6ïÝp«m ÆËwm\gÔ"¡¼YÀ7´ ¥ô­À;’h})Z¦Y‡´Šzˆõ“ùP¥÷®Û½‘…Hý¡:ÌØ,ðK¬a\êÎøtê—)çÜDÏY,ȼ9V|iÙ6ÿ8‹ oI­[‚È™ …);6änZ]h·–" ‡·ÅÖlõl<ÆŽaC R+áÕ¿×Ò&[}F¯÷BU[3,©ºùÍÒ™mW;2¹}UU8s»G$É “$¬hÇmç†9ÁM L–„Kåöi&`µÅ ¸­ýkT‹Ú®[ÖLÑQÝ[èâu»XýñªË4ÚU Jaü)?Úhbi1,>]ZWÖŠ4B)v¹ÉCY‚€Y<ÞšƒÄY†xÐøÐc÷zà>©á÷#,ÁT'Q:Û áÅ?§l0f¿N!{Þ VKZû!:âhOHÌÚË”2yt§¶¼Ô)†o}ìóܻ՞Îcò°Úši­ëQWŸ…ü5>ÛR]*¢wÏn`Á;°÷hyŽÆŠÿƒjtÿE1~µÒЦòçJ>°À‚lÎ[[C¤Õi OuSþl!ðÎg v}±ùœ?“¥7ÉŸ(âOÔௌ…Q­ ìàmý“-œ"ÅI½~úNO⛨ßÂßò™Š‹"œÕë‚wÍ‚D^Wñåˆ ~ÿ*UÄ‹_éuþóÊÁ—?ú¨ŸÒ¬ BHÈ$Š=*±#\Œ'¾x!VIZl“8iŽ÷oÞ-AÔ*X®l1Ùõn¾e'ÃýñL±p½Ë4†¡Uööó/ªöe;¤É¾-·jS?¥ÁÉýÄR‘ÍíãØ¸m‰|D—|éÒ¦a+œò’°\Pg!‘Õ8ç®ò9ª»mN i¢ßcç´kbäSôîmýGÐÿ‰l´¨{ ~ø®“ôНְµ˜ÔÃôã†ýÀ™;bŽR¨ÃWÒ[Â}v;+–Ø—=xíò㪎J=˜j‡Ü4‘ú¨Žr¬M›ÑoW+ÁFNåöo—[Á&¹í~”aQƒ•ÁwÁ@þÄ)+þ‰ŠPs^6‚¹ìÊ.âbx¶¬zBÝ®©”šÇ·Â/çî aôŒjÆòÏ[»î`åVΟ(“dkÛr!lÑ’å‹‹¿+ÓjÇi×̈L€j|ô)ž2/a—'õ“.@ÚÞy¶²€º…„Øæ© ÞÖW_ßíâs‡…¤êÜyB?™ã¼rkAl¡˜òè5ck»5ʸWÃ-EÚ~ÚøbZò695¦A‘ºÛùÉQ¬Z·ßË%}²q<‚+`÷LNÙÙˆKšÜû ²ôçKìºZ™íéð90v4 I²úÛª±¢ù¥’×ìL“£wºä0÷S,·­«Û 7de"ŒYÛ9°w”ѧå.Ù=šÝ@2F¦(pñ5ýÆ+ÉJ<Üú7´h^DÚ~¹àF| £qm­`!JZáP·Ýû¸ó Cšµñ• É/ŒH^iY* Øœ‰‚!ÝsbFÖfKØ £XlXÔÏþ–ÈÒäcS†gI=Lqžjf­áA:#»8=jf7–åQJïu¡k(]cÂyfÚÇÂÝ£ðiðgu6”¯ôcBø+íæ(o5ë>] iÇ"ïÇ pBRÑfQh÷}±ºE"CŒ_ŒO¡’3Ä庞'›‡Õåúòͧ5·º«– pBÓ^MÇ\_8œ#ó¯t¸æ-’›† ‡ü êUJ&|'½*9TÑÚÝäâ·àå- âhדêYÌ‚™ø 8S£M/2E³m qƒp½äg·À%¥ÛeÛôÎ#ÓAߦ#ú¯ÙE Ä#¸üõ·â÷Ú‹9<þ[d¡K•Æ’ÖU¸àú*ÓL‚Ã̉`ȇ{—yŠòRŸú@¢ä`sñ¤•ÓmpZ§/ãrî€å_][ÛeñbU!²hº½õÆ2·hñ€¦ÄÌ££ûXkÓÍo;Ýù5EÈ_Ñ”*lÌ1¦Œs=1 ºD¾U)ÄG¢Úb2jÊ×g”1â–N°À7b îc$í§ §z[-]›3¿+Xý¥Þ¡S³¿ÁŒØ(huw–ŸÜŒ)ú…’ÐûåE»D‹¿ôN§9S×iÔ}m)=6Uû?Zö=)òQfH%ƒÏ¹‡Ô`GS~£#ÞnaÔ#3j¸ö€È3}ÛæÚ?¡Œê¡ÉÐ4×‚Ê B¿Fd£N`Íd„|Óc6×#¨þ¡ý{vî„b–ì_X`¤²§Z@þ.!Z3欮ËBª.{Ü%,ßfMÇZ AÉëâÂûâZ/åÙ3¥¶DuÔ’î/Åd~A.q4í†Cj¯ý¨"¥uuOäc´@ÉF÷áØ`j « myòÓv…r[äÏój–ìŠE.(=ŸŠDéÚOƽµ…Ÿ¹AT HhJ˜ªyý*TbŸÂÀúÒpK¯nôTp‚­ƒªueŒ¬œŒõÔðÅV4Ë…Û‚Lûæ-D:kÑ´6a ‘⓪%ýS#L%¾­VÔë`ÿð“Ì_ô&òk ÔKž*‘R‰••«ä—Wpkm …¡íÆäMòXå€:GFc=M·ÖUãKZˆXÆ£,ÞC |©u3}DP<‡h®%YÛh?1ÃF<ó× ŒYßg3dœë'ê:øñÅYŽ˜ÐEE“oÚ#k蜣8PN)lØ>¢a¸¾Ôä Ÿ¦D«é!McƒöJtƒ©žñþlÖ4ê?Ü@÷ÿ™)*Æ:e!† 3»9 2¿ÌÍÔC¢¬ßûBàÔú"ÜõëÔ#”NùgRæ9<ÚQu­åþ¢A¥:ôÈ7?âQrÔâã$»¥|æFÄlOÏ~í–Úå6²µÔ ‚T-³¯®UœáÜ6~°à(Y0\cW$Õˆ%¾,Õz‰S€0Õ›ïM“ÐÖ?ž 3´”Ö¼H¶š[ÙèeÛ@•|L«1JÌÀ¶A)éž}¡´´8e>1iâ3ÿì’3 ö߆ÙSƳârû«ºiÕ¡>P£ÒÁ "1DwÒ±r×á$™sfÓv×wÜ B?‰YšÛIËy|HÈ"EÐç*4<¦Á_3o´ÁL^V<¼ Ô)ï—‚)šý7qqÈ.¹f¸g¦Ó/Uaåýñߎ·'Q‡{·-Šj×J•töԦ̟¬rµ„éÏÙîqf¾ž´XuÑ¡ñãd=øé¹õºŸm)ìt2äÀ°iƒs“aDú4Vuã!¶.Q%ýúgoÐxþKTQ5 VD,³Yïñ¹ù¦Î4‡¨T5n…£É${‘Où…Ö…žùÂÆï–C ný–§V±uù,$õ3{ò›® ÏÖ™ ¬,H}¸:̃ÒÈni[UIhïõä)ß Óý7¸yB·p€mÄ®®KplR 4K!}ÉzU*0ž‹ÈaêŽY™W9Ë¥3}B·(ö‘¨ ¶ÍNð¢ÿ&•¦ê3¶N¥¥aŠfˉö•+I¥"ÍØ ™OÁìÅIÂâ`Ff’âÂÄ&Gv2RnàƒISжŬ¤_ÜØt8p<7}Å_Þsµ™g±l3¥ ¾Z×$J…°éÑŒÀÅ yâ•ÆM3>¶¯‹‘ hÈJM}Xê¸ÔËfH‚˜åe!.ÞÖ‘ƒÌäçWrwn{}$~AÝy¸o]•ô^zD5ÝS™”#\¯Ÿ|5ãÊ{èš@ˆþ>¶×¼ëC×}VyŒr€[ ,ÀÞÞzØ÷€,åçhŦÆÇ¯ø­Å¬‹ÑÜú0jUÝXfü Ù1VÀ³·÷Áò#`œ×gïiå62(’r•+lªÉ>‚mv̺ºÓÞ)cI½Pþ? ñ4z`1òÂØ” >Gö˜@]ÍspY´ì ó'°À~NaÞ,ý*ÌŒ  9ìÚîŠTöPLíÉ?Ññ0ðÁh¿Eíß1OkÁ<ëUØZŸ¸6lr¿™fúj(Sg°Ã,'_k*5n‡g]û•˜ñ‰Ú°éå˜]Uêl @ÆÏþNü¢£¯Qfy/Æ5g©åÑ1Ý’–»µN¶‘&ò0Òç@SgÀt%Mþ™ÅízyúW'ul9^þõj¹A”¥@5ÏY;«4.VP­Èê”ͼÐ4³5úê‘»ˆÏyu'Ú–­éóéš$ñKSa}†c´!µÄA¼¥' |yes. Úöõü‚`»%*"¬ƒÉÑ¥!ÉPïg4×ÙÜj09µo$kW‹0 «@©7ÎÂŒ;¥§ÆŒAw™†;¦m/—ùlþ%¶®kçlãPJ‹æýÀ½“b ylUÀT‹’3¿&Dzü†öjWï/1£ÔÔJ,9IÚ|¨+ý*ʦ°åÞ¸ëöÒÃîã” õÚešc——ù'/vØ:¡v‰[ƒºÅ“[+†zA.xÆ» Ѽ“nzŸÆƒ-F?7.›ºÌ]ËÆûNéMku*û^8fimØãK×P\àm±…ÆÂ‡Î>kêà#bMú Æ‹30Žȸ@23òD—hÑ„gæðþ`x³a:ºDœ€Ê®³äãhì”^DËÁ„š3ÅìÅf”%˜îpM]W½oR92Àƒàe9õŽ:èÔ5x‘/#ðãÞXGót.- —t9ôdÏç§g9xL@YðÒóU]˜>°XÕŸ^à,š&&ñÔ¬+w²÷,‰×Ü×vPÞK›Þ3äý†}oKÆrÝè,üìÆXk[bdÌÉ_‚íŸÓìqœ]MÅ¡vAL¾‘»Â×L[4ÇÁeÖ0›½ÓÇDÛ# ÷3¶ÁQùž=nŒž½¨¥ñŽ×þ¤¬ \GuP…ÆÎÑi<4 ðó´Î×»—„ÉÞ›?iÔ´f®{3ÞM™wijÑ5CdzÄRŠF‡kê-‰øÑ 5ÉvÐYxÛ>ÐXVt 6©u‰Ääuøªf¸ðÿ´ó.n!“ÈO^’£ez“d„äB=ÇvHÊ4SJ)ÍÏ=Nqç§ŸÓoç8”ã!'F¸l]W/`§Û2èexq‰m©1¹M%CqØäú.Ó¿¯i—Ñ„qU Aî|äªp+?Aó·ì-:(à/ô0“;šîø‡yÕš|(s4O£MSgeܶ{6ÖB£V{óW´Lm.wÂ!:—šï÷q)(DyÀͯøŽL+¥ìh{íõ‹é*¥32Ÿ3¬¢ÛòM±,ºí–®þúð$족óxq³ó´¨pn~á ‰;ËÄ›Tî‹íñ´÷jvžãÀï}©÷üj13­„A5äÄl›ÖÇ€1Z7üm‚‘É ãÝÄ;裌ÁàÇ{?Ûˆ¤”­:©êçN|°ðŽ·RÌÏœvù+yÕýâjÉ™i鬯=€‰T°BgйW8LÉí“J U©žÊHFÁéÌE‚oÏ=–ɹRϦJpv¯ÖÔ>‡·0S?Exù^z 7tÔœÝoþ9©¨2N¹iûb¹¬/8ãæ¾®l~ÀPfRóVЉ‘¸½hòð`½ã#mª˶cÄc³6LÕ€ýrÌkI2\Ó-®ùQhÙ÷;~µ©ô²&w m¸!|Â*2ÎN]`ÂÕT+µ¿<Î]äK¸-Ðoý$r©$sˆrôŠkÅe¡­³ífç^æ±û‚e§v]Y<Ì„þˆGדq b+%4Ø’Vu«w=jR\ó6%t`HÌd/Õ¥F|j*éâGi4áß­=- Qí£µ¡÷ânnN@ãôµ!ÛGÀ¸#’v§6ø<Õ=‹ 0I5Km² Þ˜$*.ˆg¤í… ÀZ¿à–QàY;os¡rH´×­Ðð]2/´S¨ÐK¸Iå'jå‰|(EšRNÉrÄäWQÂ8ÿá½]Xxž­ž¨’^ºOŸNe«Ä¶%/;ÝþôÙb }øNì+wÞVþÌo–u™‰'ãÂ9ûÚ–<%:ûº`öŠæ™b7„=)³-z`ÂÏQê’,uÀÏÿÍPÉo*²Â(ÖàÝ(A9´þ4T¸ÙñËX ;R1M¸öí¸Ñâ[B¥Dç- ›»—º}ñÌ?ËH¿ÍSK¨)éÇ- s Ûϰpév¾2šÕy6xý¢zÅ ‚»h‡‚•¿°fã"6œ>N†eˆ ò»ØX™EîªQ§EGËŠ[Eëõów¥ƈš]ìÇäÖ •Z{Y"Ëœ Ô`jhùHGlÝú?•X}‡Þ$at‡²ýÄ2WÓê¢=á55 …µïe럀tÑDÃq¤ŒJE:óo±'3y Ý{=w¢Š{¶7ùåNË(Êò|ßQe¡Pˆ’Þù uýæÛ˜549'¦žDGt½,dõ=WÞ´2Ò¸mÁda™’ßÐæôØé:/H2 £)ŽeâoO7Ó«æo=ºxHgÏ5ÏgpC Iù4W5¶¥ëòVDr”«æ%MÚ’~§%sõql¡‹²´ÊluÉ¡èI°>CHXJÅhÌÀ2³Uµ_ÔIä ï 4‘…ÃÑÀ _…,íêl|¬>]¼z¢Ó q ¹ÿ3\D{ÑÆ¤Ï¹î·‹%SƒYO†ˆ|rI(KN7O”¦ küé?õ<þ Ôšþw…IÐV¼Ý&G«ïXÁèd‘š0½$&Ѻ›{2öÇ•á}’/š„å}8t}è}‰`oÈϳäÐ Õý[¼¸µFp; eºkFwʶsÌ8;Œ\Ï&ÿ§IŠŒ~8p4Ï7§HBÅøÍ•¥2RÔ‡ ñ]0¼h鬵ֿÈ-Y7•¤ì<æ\ðÈ·!c!ÇøØ é.V:šÔÉ ½¡¿¸ñ‹Áðâ„M㤼YÕVén,-C þïo<¼ßªÖ™_îü4­òncΫ˜DŽmwŸmjÊ“½i À5¹j7Lé©’›CœâoÉ­ûഌіE U¾á$õyuIDw{—\þÁIc›ãp{ÍiæüQeðˆ/0ÇçúÂÊcPRÀ0ê·ß ··×V“ªßòaØþÚxód[h Í"x»‚Óv¼²ÂßU±q\ˆ—÷Wƹ—oròFåÛþTU)Ý‹sý\ÔD`­¶7µlåa#ÛâÆ|Œÿ3anå¾Zu *½^?0^¿xx'¯ù_Ý΀ºëÈgg¸µä1Ò›8ÏäMY±šn„>?‹šEˆ$wRÐfDKÎÞÅ?šÅ¡ÆT+¦Ç_믲kíqÌ¿E¶ýŽÜÉÿt^ë·Âê^éaÝTÙà&:À/hö´úa6FWùØúÌß¾¿Ú?Òjþlå ëq k… ޤPå ŸaZ„5˜ù¬ÖÁö©7`ŒvÔqß!|£“Çà…Š€´‰‘úÍb6õÂl;ÁýJl†B9{¯Ù¸RUÂVC´¶eÇ© ¾3’OÕ$ ƒ"˜®+iÃ*À Qil Êçhn*øñ Ú•óZ´ºA C,íþn dLÔͺÛÚì9ö=5ÙmM›—ó4þíç]ÎÁàÎ@ÛE…u^ Uàß/42žy·âž™fa 5–Íçß)Œ?»öÈÛ›p•©Á%áY•à¡c©-†g‚ÝÎ8£‘@OMJè.ÇJúvãòp0i3e;;©@kƒIÉó“V˜pl±>{½HuTŽh‰q<Nž–6¡óŒ›6= äd•ì·#¨>ÝVIvªuûUé|¹ÅúÄ~»KÓtÉ‚àÔÞµ'2³³BzMñÁÁ}©Š"ŒåwR^k n¶íOæv¶L~‘ÏÏV‹Ð @$ÛÂÉþ ·x$ô:dðCŒ*^£ð¹ i9&téåË&ƒü·"ûÖ•[ÂwA¢"p• Ôêó–iþ0™WWç!a6å¡ùÖz¤¬“k6_H•¼ƒÚQêzBîæpa"b{…ðLÉóÈÿ2ûàæ×¬]ñàáÄæô /×.—ÎèY€pÕÆ3‰ži^ùv7^µYýb@3šö*@ Š õÑ#¥H¹ÖÈ A°½¦Lq ¸g¯»2IscSæÌ­ ¢ñZ° 5:BQt‘ Ü«§®Çn¯`¹×ƒŽþÕDkïšçL:µ²¯PÖ‘X`šüÀÔ{"xš™–é­/àýÉ ÚÙÿE9×Õäu¢1¿ú!™E `--:§#Â@w‚j…@sÖ3®þgÉÛ‹É.Æß.Í,…Ž3ä1Ùp ïi~Îù{íB€C!4àݵ"èŸXެª©²aög¶  B-"Œ Åqž/Çöñû‡Â^x5½)³äS­î˜8–p#n“ÞÙñ:È#hÝ·5RÐ{ÂâI‘…†nƒ,y¹Œ9Ghç¬þÛ¼Ô,nh~âvÀóV¥x-Fïma»¹‡ŒÀ 'ž)u±aî‚‘C°€ž Dü¾¹êcÁž¨n]6Ÿ³ŠP9e=íR®ä6ão:ÖLêlçš ŽM=äºØlCøfš¶ŒÝ…e£h¬$¸×d›bÑjú”5{}»%bx†…¤8›ü¥ã>Âæ"æÖ}&á)§¥¼&% ^ Cµ7ya¼›¦0(€8èàK,GRP5&—pØÄÚSƒVãñÿx“Ù)…¬E(sÞ3bì!å!Šõâ3ü÷š-öˆ#‘»uÑ üôÝ\fÐ’Y×ÜXÈw¥‘Rñ4ü(oÚ„O¼®¢7~-¬kìC¾˜v×5¹"'ßYÓp[§Ò¡²s|å¦öÝì(ê(ߨñ]‚Øÿ˜´0;ó%® kvŽö`äp&`G”¹MÆåG¢_¶D1gf‹$}lÐ Gý«¬L(J~[è¸Ò6|ˆÆqd¨¾ÊÕWœÅH8W·Ø´G×iy_µOa“ƒ¨2*dŠy”î->» ¨CýþûÙ}Tˆ³ì…“øþ<8 qÜëB瓟î}OÓúSÐ:2˜KU“¸zó§+”âj×hÞéÌ/Æ2:dWÚóÖFjÅžè“„,cnü€ð~¢òó~ˆ\¸zaš-œ&62ÏÜ "ˆ|®ÿ‚£ðË÷á_Єq=Œp¡&ÆœÆÏŠxÝT:V4º´ìH¦ÕsZТú·é:“ýû‹¢¯µ(údšHn†n³ c>OdÆR¾MÀÃ¥sÿójã8vRÇ¥¢„‡’&õ&3®RôRBM©÷÷û^äg.*àÇ7cLp/¢Ö’ëHЖ‚+^ù–ûgÑÆª¼¯µzD…­¦ ¶óúE1OWõ1ÅùtÂѾðÇš8ÃÃÂÇ\ÊVç‡^ά%^ôÐW¹°k™á’$~v<¾jß9ƒ˜ä®2HzRí勯I–Ê q¬=°€< ~$Yø†¨òÀ=¶ù´††#µ’§ ŸÂT |c©®Ó.Úð_w! GˆOG(ňŸüʇÿÙ€|¤×Þn7¾Ÿö­ª ;û³#쇅úÂ-[Kõ³1 ÔK5ê×Ù©„©†N†¦ÈG³Í÷é’=R”ñ©/Œí´(Øk(,ã7ª°[)u;Ýþ"МdUYÎ…éÞvU™3ï%'—qÎÐø!·âò D_C PóKdï£'o£5²&5™UÄ=bÿƒ‹‰êžã>¸?c&¿8ðÒ;ªn¤=ç·b‡˜–Ç̦ӷÄgN´‚À”í€ÝGŽÎZÐFèÚÕìe/Ûgª #Ó²¼] a#ºÉñ\9$|Ù§bì.Ä/]~vÚ‰% h8H¤+³FkÙéžÆ†A¯8Á…•G†qŸïœ?Û÷,ÏΧ]…Í¡VÎ=tÚg:œÏžÿ’fRz¹4=žy>¤g^ì~±1Zº€°*%îkÍÖ½“œˆ¿’#QY?À‚—ÿzY<‰aµ¯½Ø½iÓZZÝÆïŽ°¾ÿk“ÅN=qƒšI´ä ËùÕ°–m„ˆ_Øæ×%…Ãjÿ˜Nªù²½7áKqàÃEòk,¡/~Aòíèô…MaÔòAcMšÄQ¿"*ÉÛbñ¡¸ÈˆLMǃbÒ‡gÝÝòäËŸ‰&òõ“ow+QÀ)æˆCA:î&„sõ8TØ'§Ú…z(3ª¿u³ƒÀÁ™^hŒs8w„çÐ6tAw܆@•:wýD¿¿ øå’%nqc¢G’ù-™/sqÁóý£WW Cø~ÐÔsÚÇðp[©†‡ýâd7ªË œi^²•°”SWë쳟û¡ë.& <%²Æ™Ð4xp…PKÛ«íª#Ù6dµ6 >€#hŠ$gÝ€5úA˜èa :/Ç뤶œ±Í;›Ä#m@p×Ï¢¼¿z2/ùžò»‹Ü©SÓÒ6{k´@Æ•˃dµa@nDäìc4Ó•eJh0úë;!{‚ ïÚ4v}S?gp»v]A\'©;Aõ’íÛ±ˆëupeWÐì×¶jG>hË®$D%?M”,ÔEô³ƒhq~ñ¥{¤S‚¹Ÿû×–*烙µDsJFB¾*JÃJÏßÈugÝ®hbTÌ ö(¯FŸ~‡Í"9y›É6tܘX¢Ýyí¦à Öp+KCD"ÊÈ©K·vËmóÊÇ¥ùëSjý¦zµH­W;4zû½ùYX1O gÎ=–[ª99:v]ÅÛ®CêçÂ(ÜUph1>ËÓæß¹‰Ëÿ!ṙ™ U<õ3&’IYéÏ=»,— Q5•½™ðxFäÜeá¡s9žïØÝJÆE{»)àÛ?J“rêÖ!© ü¿7=®ö>óèÓ$4@?ïdPó-äôû¤0HuîÙˆ!aË{öŽvµÓÌ2ºbÅ™®¯aáü“oßà9.âØ3/…pQo–¢Õ=~CŒÚU…)rzwÔï-ãÆÑêVQ¬È¤ÐÊN™‰P#ƒªÔfÒ‘7x b²C÷³/ÉÌ·ÒW½ø§Qk—ýÄÄ-–q3 óÛá;‡Ò´rù_ Í1•^œ½ìê9éJäž3ž]ýIÚ÷eF?uU\b3¥³iÝü.§úô]5ŠÚ<ÄKXUʉ’ÕŠå–"Ò½BŠiÒÖ¿^œ³ð \ƒpa®?æ]3’vYÚAN²ÿ÷ji̵Z©è¾ãæ-¥€ªÒRï]™£t½ƒøfSý’X¾_ø\Þ§ rpL›œÞÐÖ!»ƒ0ÿ»hB½`ÀÞ¥õ³MØ›#Q¨g„ôßZX¦óø^MLÚ<ÞBÛxl-É©¥\ÚäÇKÇ—½¤”¬}Í!tE!ë½§TʤLqíºkîÍHÁé5ÍÁB|›õª(#Ü[Lô «¯²‹õ,nt>8Þªé³ÒÍ„Z¬Îц<æÛ|ÊÛ²07™ÂQ´?¡Án£ÎYïï²Ý®£J:³E(‡Ü}Šòx!côŸ’\ŠÀHÜþ¯!ù±êÙn¤LÉãŽ2½EùÍ‹]Z{_Æ)z®·:â~5]!cÑõô˜SmDÍû¾»þ«ÈÀg>\Ã$ì>N¤Ü½î;ßè:·7Ò¹ W5— ¡¿C¨‹­ö*8¤Öd·#Æ®Bj¼›Ü¬<–½¸G꟮ÝT¥¿ ë)6ŸDC­Øå=Çï· ©«õMQ´H|Y¯7S:32­²",¬ì{h–…­xË0*=P¢Í‘=ì´³…I?Õe1î•¡‡¡WvÖU|Lþäî[’”¢·rä Â7ôÞqK PÞâ•Y¹ë„ èß]Væ-l#‘å´>ÝÐÍ+ø¢$ÂåýmkfÛO´àWøîVчïZ„Øãc›$E Û?e…$»@C~­°{ÆÖôi_s|Ñ5ÀÒnˆQv ‘Øþng={Áï}£÷ï\ÈÖõ^`Éàß—2êéj”Mb;‰5ˆ°S‡ 6ÁSkÿlsØ&ć@´¹¸Ï×/ñONfÌf'ãÕ¥#–ªÀv#v»~ˆ- £X êJŒŸNM‡Ìf?’[P\×4à‡Kß®ÑÌ„™:B×6üV–9'¡Qf~í=ç 5âLÔn MKG³ŶPöYó¸`P.ÐÞÙPƒ ¢à“h©¡Ø<ÿiΩW} [D‰Ä6Üʨðæ>šM™åžÒ]¤áUa̹ӽz@kþ´àìtÿƒž •Ü­Ïwfâ-ÖeËмU±=<õ¡@8sW_Žlè¿iî"Å«âjˆ½ƒÛ¦z‘Õž~ƒãµ7 dG²_‡ƒôf5ɦî¬Öei¦–^°9] ëL•çžÇó#“!rsÄ>šÜKKLšý\­\Q>—+ÅæF*>Ív4ÿ±¿ O$gQþlÓšA¢¸|x”Æ héRFË#ŸŸ™¹µ%~Gh…ݦá^ý™nËù{´Æ°Ç2áGË/l ­Õ”o4Äl6$ƒ£ÄŒµÛ ?8·&GM§Q32è»¶îá½›ÿN¹¤åÔ:TDs Ç e¤§êr9òqÝp æMjó–h¿!î® ¦5²ÊÎl-Ç©ö¶+¿¨4À"²àÄ«?Ï  ­™§^?iç5±–¼ohÍߦÈöÃ/B¨Á™æÒ©¢¿—3Òë½àE±ýB …yf!,^S¦üƒÕ'±klï6#ñ'Oiû9ód•žØ¬%™ÐüwUĽ~ÔËè¹­3ûâDå½9wä &GÛî_PÁ¢Ò9щóo`§ÂÐIQ„¯å´­™‰'!m‹P©Â÷š?15QŠ<ŽŸ„ž¤‹‰Ô·á€áO£y»2½g—ÜNM9 2ôB4n¢ìçÖªôa~_\ýkEÖu`6D5ª÷¿ä¢Ï‡P?·l/Õž¿¡ªúëÙº íʳ޽¦‰ŒðϤQ}Ž4_K×ÞÈmon»3§OhÏ·¬™•j ŠÜki%@Vp‚I¨»Å‰©ÚW¤ºCÖt¢kr«ƒbnõ—ËX,T®ö¦KÆï{$z:‚5ÀæëŸhw/}úÁ·~UçÅê‰;4J]„MP¿RÜÞ%Âe:…îî´ÔXunPT˜í›ˆdà•σ+ äÔÕîC=Úq\k #rwY›HG¥—Á‚Öɽ»©Š'Å€zÜ¥òçâÂvöþž’£‚uJ»ü–sGam”€¬R~!½i¾ó„ÔŽîHÁBDöÙ(£Õõqwì ¯­«ó­bT5 >Ö´zœé[ì¤%W‚)¾ªßž†Ø ˜w?øl ©5¦ûAaƒ»ú>GVÞ­$“‰úOß¿– ÿŽ/‚Ÿ:@ 1¼ÔŽO2é£xë¹Sû uf:Ûu)¶Ä†‡ÐgIe–]‘VF 6C›Äì_£Ñ’YwÞMßSV4 ãát– ¦ŽËA¨ Pôw¸loí>ëÏèE¢üu=õÏÀÑßò*I:¾ÿ}“O£›ò꣕\ôèÞº‹>:†0Ú+à®ñ±+¾Ü¹$ ƒ«œØYùœëŸ pÊ¢"À·mŠ«fäSøsÅ…öH£¹½cÁ#©i×Û ÆÙ^¨ªÆXƒŸ;½æ¨³V37ŠÝÚM³g&=„Tͼ›A+AGÅ?††ž›G˜Ñ 3NìÀ·´zÛÛwwenDüá_TÀŠ1kÁà—6¢ˆÂ5Æy$žS¿h‚! T êï’ÊÞgbdÖåßÈìŸíû[guu-ì[;êWyß s‚(Ìøœê¸«x\&Á¤˜ÎyÆ1¶uöÉwBÚ…4ÅÌjRö¤BÆ’Ù:' lݪ¶­ÿê9¾æ×Rò—b¬m v©æ~yxWøMO¡WÅ>î»NòÑOÞj‡Š’5d€WqlAïÕ€¯…êËz¿¨0ÊYoòÿhc§ûÕÊ™T#¾¹?0N˜9_ÓXM|SíDe'K*aúŸ*fÑð’ð¬HÕbÀN—ð[*´I$¡”Ðàþ¿bêöâH”K»KluÜãén"Ž–zj†Ú¥TeÝçlqRÞÙ«6ùžE³dûQ¡+Hgét[¹ˆËTdz@/`êÓÐØNˆ)…™•B YÃ! œ}æ@æä[ôЇVФ9K¿¹&¾¦!´X!BKº=±ÚzöÜ1)œ,ÖgÄÉcB2Mk^9Ü8üK­éÙÝʳ†ur€Z Sýmˆ¥yhe4’Œ30”qH*xøv°H±RzÞC‡íÌ5AZüQ@è0W,ßêªÿ[­ÆjˆÂÿ›¬ôPÜ]¡×=µ·ººkJ°¥ã†áÕ¾Âí2·G\è.”--é°„0³.>ïy`Œ¯(Ôãü ÝÃä˜-¢”Q¢ÎÇ£fvÛ<Õ?°Ü ™_`ùj`‚ÐJ¢röwå‹êqQ@ï{A@>g¥:ÝXTž Çtíøúq÷Mëö‹å«<%aŹgä7ç­õáì†qvxrqâÍÙHEû…¬I ÕñJ?Ôt»3N—Y¼0Ÿ3s’ü½ÿâúP^ž-ýàÔ$Gcœwt¸pdaܲ Åþå3õ{?w@ç‘vì_]3XÀõMÄɲ&xv¯L’"¤‘{íðy1=?ðâÊËP@ï:_܂ԙ¿ÝÓ)œÓ~n ¨. ¢=6Í œÇ¥Ìï(ù¾ûñ\´ñšÕ¤Œæ6¿¢j|UŠ~=ö µ/mïÒlè³»Ž”sƒe;f±}nˆÞ3ò〄>Äà:¢À ðÓŽ!ÄR/¨ÔÉ0T¸ÍkøÐšÊ?`–)h9ú¾,Ǥåß·ÆïÓæD£®†Z:œiy¬Œ-Üê(›b äÈE+–ã]Å‹}u& ‹°-ϡߚ‚ غüKdH,Xü2ô <ÏÆRäåWq9Û´+ Þ|Âxa‡ú# w-*E'Z íNJâx ¢ ¾g«çRN~‹Zèí`+RaJ ŸÂÌ _Ý =Ý÷ä[ÿwëCjcEìl£¨[šÖÇfUc²ky› Az²QÛˆÝAYÐg磀ᛠ­*Öô>"rDDþþ—>ÄmŠ&vÁS9‹ìŒTÝÅf¿Ë¼kßU©«"γ/U¦Á1ì“XW&‹ à´J#4È“*‘.—‘ŠÎÛJøA©VËÊË‚åÏu>—Ç´S–*EÚÂÝ-ÒGCfÙ'€“)‚yY*áðïU“ÏrÜgœà´‡%ïŸQâÈK:æà|–2;¦ ¼ZÔ‰>ëJ‡°™Æö ÎÛ‘œeeòذÑìö©ä'‘¼#|"Ë×÷ËÒszºPÐÙl5fž’NÏý!õßÞ"/å’— É¿ Ê ¾X¡´Ë*)·½ޤÆ6kI>Öª6¨Ò T¶/èGûYzG²ŠúvcŒ«fH=ý J¤ÞIa1—PQ3Ûú`$!Ñ×bÒ-—pÍ•ÝÔpUÅáEÛw±éÍHB XêÜÒ}E5¦<’ÈÁE–û|OËoÀH„pÊ.ëuœc!áàv>X»¬Æ–E¤ Â_XÚñf€(ÚJÈÜ…¨×KnÚ˜iò˜Gô”ZâòN ø|µG*ЇrÌzVEÅÅEn8£Õ4"À@ÔAñªÊ&õ±ß;ŸžuÒc]Tܲþ³Uüâ%G£ vè>{!F ¶œ––²þšMXCöñဖ÷¾@¥ÔäÌÚµýœ/¢XÙoæFõ¨ 긛ßgY·-ÿÉâ+Gc€ó°<'W?êÆ›¡Ükª²h!ÈGRwW37ÖVn©R”“A%3Öˆæ` µNÊ’ióp~å!æp1îÛîW&?7G5ƒù]³ûÏßj=y•O†Fì»Ö“`n‹’õL£Ž=àšÈS›§Uf‘•øS ˜E›aD…åŠ0éWš ¨xÁË㳓_ùš‘b\»^”ÝI—°¡Z¦X ‹€8ººmê³r‘½³bÚ"ÐÔ¼ÙëDw£õÇf„ìé¡^džLñÊFQ‚‰ò‡X\Ñ¢7óZ>Ï€}oI—zD&À#ªÊÂxs$Ûa+*ÈL‘Ë˕ŭ6ÿñÕã —åÕ3Çl@ŠßÞ–¤Ûhs,#\›ªi…½‰\S8ËñiLö1¬ˆ|4Y{ôÚžúèµwát:=y>±OV†Gd H¢k[³4m ¡ÿÿng“3 5"uöûoòÍûë+è—²0™qVÆ$)Í™ßP]<˜þ&Á‚)Ù§Šó7ϰq`çŒñýPy|ÚY««óWȦ`Œ˜ZÅSG)…”òÙ®©'Ë>0 @r ÿ¥ Z ²¶šm“™ÐY`Ȉ2ë¢;“™º·Dçö–jbõ(&J­—"Ko#ß!G94`/&ìTìÞŽ­æù¬¦p‰®½Ñ4ÀwY´ÒŒãÎüo€ØÑ]“ÀK¼¾7ÐÊ‚¶µûü­RšÜ0Ñ1Z§®?Ÿ¯¯@&¥¤Ù)ÀC{ÿWÝ7ûÔD>*KuSŸz ÞAŠdf=V§Jl`#˜ãóP¤û3ÔÌ Gê޶<ŸLkÓuÿÙ5¼:> ¬¶!ËäðV½lüt÷hØ—êÆ D ÞŒJût®îù~¸²½“Ÿ‚žŽU¢Ó¡Ç(÷2]ao JxµÍ]P¯°Àß•RÏ~5²[wÚi¹¬[SÕø’Jû—VKVíhƒƒ3‘k9†¬üä‘fX6&~¹Cv¨YŒÛ š* àßYAWv¼PžY«²Ö’NƆÒå$ÝÞ$¶C²môf}•X^éro‡åÄNÎdÛ^ɪ3Âõ#ª%K›Êf$Ã\R%Pªöæy0ùø½ý|æn–°ä°V+Òë­|ûïèæí!¤Ãr›Â9ör 3ÔEFݼNB³_lã<?¥U+4¼Û …‹ÒUŒŸ8_}Ì}VK¨¸‡Zµ_•©#{6‹ÒÂ÷ÿRÚ:tÃÓß»*ÑH%’ܳx‰+·¼<<­ä÷Ù¾Ï鈦l¥†±.wèË«9Ö…® # U+¤Æ8 ‰ßqøÂÝl2†£tIŠü̇¢,@e%ðÞÕ,R¹ü©ã *ô³TAFÝž †B&ŒSÚº»t^–'›ÁY7[ò¹Œ²w£ƒÍßÅoƒºj¾™Æ"†àÒÒ¸NÒæ»joU´oiG¡ÞÇ^‚„&Mä[½g¶ÔÛüfHÑXìšãmÞ4íKóè ø°ÃÖ6'LB2ôŸ c?ñôó„GméÈWk‹Ê|írš°OexÜà0…0x˛ƄmæË-ž³í±1,ÝÐΈ֥½ÖC::<.IÆ6¿ÇÐ~áQ^ØÊ`Ö³Ád¯(ÏãÚ 1™nÔ6kB.æ\êFƒîúþ`a A~?ÉF;±ÐØÄ9“¾(G¦‰’]g³0–RüÌÌCÞ`š¤Ù DÍŒáÏ@Â9þ"Xü™K6“X:G,»TÉ8 ï¼ï%^YæÁqþô§Ÿòk Â=uP´ý2¿°o¾ìlýÕ÷’$ñŒùšT¤1 ÙÈö8m’®T]UVf‹tíybØæa¼5òCfsH%¯‘‡ß_Ü›ÀDi f–*K$o¼QÍÓ î^×JUÒ7Ü£™p¨œÏ6W¶C:ë1ÍÍóhtñã_mÌ5¦Â;æëj,žá»mgzªFÂËlÀð×”2½RŸνƒÏÛ[m`¿k<¿°ÓßýOfoGtgLuFB-Þ+_t"šï‹ç.æ‡Ç‘ó‹øš«¸ ~Ùd\™ø$BQ;Sc·XòZŸwiBu²YNÀùÄuRú’9íÚ~íØ©œØPÊEVÜ2%€ìÿ{k XsyUöz§;*{£å*w÷«•ʰÞ-Iø'ÆÚ‚$ÈB‹ßIdX ¬¤Œs›m$lÚö*Žs°›Å?0Åo–=\Ц%¦PžE˜¬éÃÕFþ½ä˜p\%^ b/Cñ/á$:ÕÉÙm 3O\9ªÕÄ{ø¬"ü~Sg8ÁÛ 9ka( f7¯¾ý },ñžFî¼ 1FH'%‘A±òn¥¾)ý´&N½ºšSºóüƒÛhQ[{m‰_A»2}*9±·å½Æ |?k 7ÌwÆNm?eãíH"…;µùÔk’ç_€]Ý`ÚÆíY %CløÇ‰&îíD¤÷ÆóFb¯×ù°œî\ߌž’%Õbß)¹¨æy›ºÎ:é Ðô´´®èGrû6³I2ıbõOtâçý=´x]ÕòFžÅj¦‹ÍS]àO²°Sÿ—C4ØÁÃocmBÓ}?ì,Ù5"lðG©{l4®»%U®\Gb§#Ø~v1¯øu´Rˆ6´Å£r½@9ÊŽn¡ìõ)»î«/„_—©˜DÂè&h˨…éBA'Kps4a°è·ú vL•áŸÂ1c?ý˜E3rǶ®Ã$Ú¨F¨Ç¥ª M4ß”¾×„XëU¦C KšÃš¶—G–ò÷Ì|`ô¤·Ä…âu6Ž® ƒ0©$¾ àö<»°mNe;øÐ×äR&”`lrˆ¾eÆ8Hä€ßŒ¹†‚5c5±¡lZ19ÕO·þ7T˜i2±ß7ÎéÈ!Ч¨hûþ`ô†?6þÛhªCŒÏŸwò-åêóÅé®G6DDQ@ã½æ(qŽ¢¸a‡4¨âpJÜÅ}Ûï> Ní Ó\Dè»-}“M/¿(NNÇ|“"GúNS‡<ð ”5ñøÁ_šµŸ0mþ˜B‡µTâ³—_I»SŒÕšÀBædd>*Óniå,’¾U±'Ô¿c¿øúÍú»æ ÜÓòiâF]ê"Àtåš |Ú®Ö2€Z¨õšƒ§d(¾Ðº}ˆyœh’ É ÿð]܇´2塯ü÷CÿÁ%‰÷žaã; '<âvWÒ 7þ‚ÏoïèݦÈM#m\àžÇËí‘Ö|ú@€²½?äæ ä¥Âäa‘DX×vœ\ùŠý”b´r¬0 ÿƒ;á³ûøˆb¡‚_Ú”e±ôÕ)ÔûoûÓ®é˜à µÐ~ôÊ ±uê ´‡ëµ‚zÎ^-^ÛøÝ3~hÚZ‰ºEãlÊ#fýâ¾µ?.õSöÂü^É þ1©  0ÛhrQNûÇAÓzªR¨ž“Z®bù I.viì’á®-Öo3nåtOï¥Ër­.Ô¸!B¹¢ñùÈ4}^­¤mbódS%¹™¯à}« @Úͺ+€Ø™]Ÿl˜è"%> @-à»3Æ0òêi½·¯ú‘é;á»Ìôåà ¸³[rÑŠêk çö£Ï`3>š<ÌšóÚ<’t‡8ê!ˆ –Ìek¿•›ÈF¯Ï?†Ûxh‘éõ°ï‰R9dz¸hòÚUÚVóG‡øÕôø~u5 Ûò×™uÀs K³ö[{«¬ bï<-M³ê)0\²yN=~!f2„ÕÉ…ýäl‹?qœ^|jª°>ë‘åÄ®¨Ž˜Í¸nZÒJé& É,:‹£z`±ØiSßâê,ðâ1%Ò.•£à6P >{Û 9À­ÙËYc h§¨¿¹i‘¿`3k+g$ðËIŸÚs«Ïì;þÈ81^úeBF¿:ÞvªJ€ >š]ü; KÆî Hì?eW¤YÂQR´§”¸÷ ˆK_Ôy€Öì¢Ð$rµAn[³SQÇÓ5æfyˆÏ¦8ÓûíBx” Zñ˜BSߢÜ}±FnÀ­ÞAÿK"œ¤t»þE„ë= }§ÂB7g ?`³BÄÚðö|·A8Á½ ]*ñ,^oˆÆÊSˆýu]7÷„°çžšL³ „/›hŸßäʉiÖ<—6Y¢ÚŒeL ¦—ÑUHVš1)£8!rU£ ŠÞöÞ kB‹kŸ ?ü‡ëÑœ—<ýpÙ}Ï_ö54dOy©·Í%‰¦–nõÏþ^ÞÏÕ v(U" ΂ñïìUþP°GYÒï" C@µòîÆMüºÙ׊‚kTªÔÿêvøÌ0Až¥/––_G³ÐC(_²N+ë*7'’ ýZÐôÛì1ŒB™ñyQ/kÑ·*ßFÒøÓ¦úϰ6ÿz«rZªšº öéblÙýH§ ¼½ ûgÒSD7Œ$±ž?æË®¶ÿ_¢“«MÕ5k¥²AÈVZuhG¼Îƒ+Q­bó¹P£ß'·‚¿Äh¤EŠ2`–‡Ç{šÒV¿ ÞÞﯺ47ç{]¿thFº¨²Cjˆ,ÚÕˆý·ŒH™ƒC˜>¨Ñ»³ZâÞ™xv’𙲛U­am‡Ø°,¼[Æ­”n?Esºp†Ä{Ž«Luù;qëÃ*°<Ä.5ÌXú,÷x^µ˜Û8 6†ÔñcmiÁò³/He˜·©Î> Òè"pƒª¥ØÈdïÒ'½5òd<ðê«®'ìþeTIˆ‚&¦^H4N…N?˜>Ó]¯¤"³[Û|nÑÌŸg„ßó*|«dŒÎQ$Fb, 0{Œ´€GƒS@#Ó)Ò¶8‰¥^H›ý„V§T;³Š)Ùv8\BtPµEÃ6ßóDê¬îÍL«ò¸ƒ³ÐùåPD£îÝW—N¼ûÂV¾EIkžç=CzäzH|B’ Y¸§nïÔŸ‡‹Sɺ‘‘²ÃaÊLå ½wŒe È^ 50Ô[å¨b[·ñJÜb¥‰¯Vû-C ¦¤£<«~O9>‰¿9Õýµèú€ßú‡ÔaãûÈî˜H´Êx÷<œƒÜ)&—ðÕ9» ³_“_²ŠyÀ॔j´9›°·âê¼@÷¯õ„å)ÊIÏz¾Oñh:˜¿Np“\/ ‹©¥ão¨UŽÃæ­µ´ˆ73ÿ?8åÄ'åifíbäÁyÙûü:1\A÷t}½“WbB&]N—Õd|Ýt]}¾‚¿"Óe½UÁ4‚»ý1´¡(mŽó„÷–@F¯#7à {·¨øo|Ú4}3ñŠü•àé+ö–z ߣKÕI>¥ÉöwÑÊ¥I*ŒaZtŽ)´ MjYPo)F˜81H&³{õÁa™%,ÜúX+{':KÏ9l馯ÊTºsCWb7u¾ëŒùL FµjQOüõh)X0“P$>ž7º»m­ÑV¬¡òþHsn•§ÕI F7ŒI›b ¬Gr®W}<-dÞîGï|ZS(¦õo<©í¬µ¡‹¿ó›ÿ9º/!€ĵiÇcÍÔ)¸KR²Ì§RB'ø™èžòT8˜•‘§âì´Ü+vi¦êƒ lº î–M‡Ü›bÿ¥l’BØÊ–N¡Ð'ž‡ëÊx~:˜«¿·N}Þ¾šç%÷6!&fgÎ|Þ •ÐóÆ–;Q픎z“ÃÉ‹¨Z×è¹Ñ ¡Ã›y›v‹•¡ö¬t¬«ˆõš#Ãç·€~ÉÌmD.ŸÒÓs FV)EĦ ©,ŸŒ {ûéC!¥è  ÚM”N%JOÊ¿ÒËôT½ ø‘-|låZ\Ó÷a¬ü_.¶|¤¾ìƒh€-Çì]öÞ4|j$½ÿE¢]š˜³ø†iÓ<úaA5† sšDùÿ9ÚS¥²r p÷Z‹¯4Íïº1Óé øªðÅ©îµ=ÝE!íî£@uÌÑdÒÊë9ûGÖ쇋æ1‘ôä וßaµ£Ìën§Ž.©KI«'¢æsáÇùmíUêÂêYÑ¥ £z& rJyØT ·ö§š0„§ÌA¶¬\]æ8¾<¨ $RE wÛ+Aô[ ÂH0“Ÿf‡+SªÐÔ¤••Ó[X£ÛÆW794ðË%ÁõYG;–nû2c>ÊãÈ·X"MÉ|O«ÉÚÄ#ç=cøä gì«#0ö¤£µD² Àg»˜™yÅß@/RðÃ4¢Ìè ý‹w4|íÈ8èõ”i¶rKì vS­±X“ˆ ™Þß|з2ºoÂ{>²îI˜ƒ¼ ö–Œé}àÛKdºVÁosˆ%ÕQl‚ýRœ5†. ¯.ê×aóOêñ+ØAymœ›ÿž¼gÄêÊ¡²šÞw­LâÓ 1#8Qõ 7‹ ¾~b¢8@W»HêHòíuÅåMvõ™öde;£éÔ'P¶ù ¢÷_0õêfÀˆÌ™…‚Ym(|eЧîEè…4‡PÄmLH×NR—QÜŽ÷ÈÁD¬p‘ÿõ îZÍããca×€I•‹ç\£1† âúÆÚ¾Üô£ä/¡²z?MË%YôœTǯÛKö{J–µnàž•…s¥aàq®«A€*=qrù…¿âv¿ïËBŒM?bùñì °ó©o©þ±ËSvÒ¬xvúÝ÷Š"›ŠÍIVKýãY¯ª}ÇWÁ:¨ ßB`ƒf³5èÅ Ï}[‹EÌh¹¨Û‚’áäëlz"߉øº#F>ÿraïÖGðz>/ølC¾ô•Qþ-Tóv $AÀPýQá½™ZIµ"ž¶±w†¢I5íòJg–0YM›·3²?¿:îy‡ÿ­XŠ‚R0ÓíÃRÅ£—r:TUàT¼¬ëD–k+ Pp .ÛBvHÑå7¶‘Pb‰µä(Å]ÈôSÙS@“~Øþ/‚Y’W?œÈä*H¢þfÏ¡c˜ï! sY2/—íÙ&À__²ú’ 4ü.L’øÎ=$ö½ŸçsÝEÁ’åp<À\u7¥8Êë$çàßDç}õjz`*±jœãB”@¬û¨ØE™Tt‰OýÚEû°Ä©Yº{·è-·ÔØ—‰TÊ?­¶Â†¢K{grZ϶Ö~bíS\¾¹ßª4LÎÜ]Ѳöï}Sä±·‰‰õø)”JjgÀìQ5§?Àûwå‡ áÓ Î“A» ã±ÍÞÁÿÐd›;èw”ãëàÕÀã‘'P ¨ÞµP(óDÙ˜µ8Ç2ào˜xU™¢‹÷Ù·ƒ¯‡bm”Vò:¶ZBðKœ’1Œ¨¬q(ÜÖj¿eËø1`ƒì¥ùãÜØ•¬1uÖee?KŸ€>‡Ž%#zVXÐÈÝJ)ǃWŒ # ‡vX:R±t¸¢g%™ ù”_”q¥Š~—NÿDò{iÊÈôåÊ¡¶Žy tÞÎK¿b=o,̤ê€BNÀ¶^|iÞⲚ[LHQW-5Au×ÛæßCÙ™€$­qẂïˆÓ…þê3% r£ÆÜ"mü–øRyÓ³õeÖÏŽuv¾Ÿ±: 5ÚÂ]$sKô¡é°’•LA)”ŠÉV+ó¢ ḏ /¨‚HªàRnš+¯Fê{5P=ä-i”8H„==<ÏôÝ»ô0³èfÔZÅÏqöÛg†§qù¡#Hú…jÃSW¬ÐÛZ:OÊ4w"¾ódË¿K&‚÷†„še°KJô1Ewã¡ý‹ËM( îÆ`ŠÐ­g__t|'FN5![S,¨áž6rߨ#•šÆÃË~ïÙún%ãpSÐèÅàcY7W2ab ùÛœCëºåuO¹ÐïU½|¢MhÙ©_ã÷Ùø²D|–*B릡ïÆÁÀq“Ä[à |½|wpUe|5AÝš¾v;jöRK‚ÑÍæ÷K,÷…§ cæ¡g@‚ tÃ)̹&nÅKÅMäŸL?‘ØÔÌ-)à^”oÒmk‹$G,ªûJãžæÿÔÝ¢ºe&¸óå?áÚW,@mY.† ê4æ ‰ÓL§¥.†ÃVãü8êcSÿEÚJNp%\M—Ø š©ÄmCü­:f®nüg1x*ÑêÈF`ñ#€µû iÑ—¦w¨0¡ÌvÌ2˵!ûå%¥ ¸*#'0¾6ÝYÓµÏø’0-{ ¸û¼Á0#°p<ëVL‘•!Ë'ÜÔ¹Üå_7|!r‚¿ÊúÑGc½çg ÀTQñ¢ó&ùþ<ÎíÖ®ä)…¿¸~·Wý(8ÚaiF{5P† õg VÌ¿xV¦±õb¸ö£«h¯<òÁ 7ã¸Þÿº"p`±dl/Ì2hÏ à3Ê‹ñ’I°¶Y,»²1i8ŽnêïCà×þ1rõ´Ä+ûål(‡¬"«”ãðÖ¯bWúo Ý@Ä«øˆ¼ ïne¾>)Ø2P†·–víM‡ŸšÏFí2¾(p?ž4¯›œèrÒÝBx¼Ð%ºÙH¦g˜uÌȪЙÿñ FúA4 Ò‹±0³O”KßN‹ƒ£òFáw®Úø‰\ÿCÌ<<œ»WI<\Í$¢Ÿ9§Ú­íßiÃw²ø½­ D.·Y#Fc+viõ0Ã?ñj¼Ò÷+–ï(¶óCh3â­Îï©Õ(íGn³ø¯ÏdD×Uñ:Š ,§‹åyôIl!v¡-Êõ0”Ôì°¯ì6oˆXå|üŽ|Pƒm¼V^ïÁþg¬+òÝ/é= ¦¼MÒèûjaÆñ`Ë ‰'qwÖLb®^r«¨Ÿ%‡]©q],±7Ÿ—°Ci €/ˆ†)ÐHÇ™àßHrWýu„éJ(RÚ"/™¢0¦&¸g`¨.>:3­äóbFðHU~Üu´žIM(mìtTgã”}F0µ0sRuO§lýQˆ›te#ZÞùs†¬Ï&SÓ¥ò´gؾ[>íx_=0ÿß ÈJàåëLrª ràHÎçëùb>Wk¶è ‚zÈ!«êø·>œÊkPù]Œ"ã†<õjÖÔ6W# ;âÌ ;,Gš Ïw4B@º!‘ZFt¤TG”ÈI潯Ý¢G!Uv-£¬M‹{èÍtsÑ­€Î-W:^)]ªsœÖç°Ø™!£±Û_¥óí™v"†+Ã%§;–9% ¦ÚK¨ ¦—¾}ѧ—¿DéÀ³S‹vÒ‡e24cÛZÜ(‚~iøCp çY³c]ÔÂw siPqõìÞþ–âð¿='“·úPÙè¥éÒíE¬—ù€kÚâÔ¬ÔçY¶‘ÆKºI–ˆ×Ò"@X•i†Œ=s¡v¸}Xz,ErhrRð‹•õ|èâå@ÅK6©õN£±`$n°çÑ ØHp47Ña+€) Ãk²ZœÜªwUŦ÷a ¡v;ÜpGíä.0úŠjä=š¯ Î\yíN±Q hÉo6Cjªë‘©­•UÓ1ï&†Lá–ñŽ^÷Ž~Œœî]xp p!×3 JÙ}„G[¿…Ð]RÛ@,yn¦kgÌ»ŸÍqç·eòm¸ó·¨_Ý!zÏóÂ¥n"ßÿn¶à @Ùî€_ˆJÅýïÓIâïkW­ iÓ{†:¡ƒµFß½ÒmÞ·ÖÕïCì±lCÀžÎL:ým\4)±­ŒvU8³T˜íKŒ€§‚ì¿-÷÷ârïTè)Ò9±³+ä>ŒXŒ69nBà{[-cŽ.ø‰˜æ]Ÿÿ–¥õ6C(ÅUèNèå*BY (rÅ鬾'úÛ÷(kñHrQ¸Š{›ì.UÑr³¿/”|ìÞ¼×d˧ۊeå–µV“e½:L]º§?[9¢ì^-Ièô¶óLºM]N˜5Ðdÿ²û‰“fªûb. _#»4ä™ýòùÕÜGp¥Þg¿ à…Gu§üq¦0Œœyöó1Û¼ïǃÖÂ2¦n ™-KXÀ}>²y¾åžz ÷T@>˜ßqÚ~bÛµ™^ ¶×³¾åÝË9÷êR0gyÈ$Õ­'¹ÙM,J™ØŸœ W«—å?çlsAð ®VÓ’iS¼àÜʵ« 3÷ú«Ü®˜zQåø¼½r ¬üî†`RòIBŒ¿óÉýÄ„D­zÆp–„±–ƒ ‹°+h<³ö´ øúdßrËÕïÕÃP­Î†Gpð]Œ‰Äfï†ýÒîæÒ¥Ðј•/Ö‚†Àq ú4ß—ƒd6&3T&ZCýš'§áEH#´èÌÎV×$p37§ëŒÉsêcëòÃ,CB¼p§ËàáïÉ(»k`Ãô<ó\åË öé’¸x‚ÊÉ/x`öä–÷‚ƒ\Âï{ÖS/M† ƒî$ôg³ŒžVanôÀQ ¢‚e«ŒH9‰ÚÉËV} {U% ÖÛÍeEWe-va¥ ½J|ÞÌ¥þêùÊuH1ı‡+™q6\Õëx!ÄoàsŸŠÏøyhö";÷ µÇ`µ1‚`RW¸7%ÌTâï‰*{CóBÉÝD÷jð}îfÊ|…›ýP†/ß õ†²Vs¸þvðŒvL ž÷Qѫ䞺0ùôm¦±¸š×¯&»É…;ËÒ³¹ùÛœG5ìõf'A‡§Êš$2ÿ~ÂÐùq½5¿ÌlúÀÄ©UÜ´à„*^ÏeÇg,àñϧ€@J eä °ÿ}Sˆ»¬1»ò¹Ð ¤6¡æ´€õ#ùîœþˆÎŸHÊDþÒ˜¼æˆ}!X±*(²B²~‹ŠTîÇŠºðgiÝ>\+Ä;¸ã @?g­¶Ï±;ý¡>¸± ¿À…¹S2cüÕ$ô‰&œÞ׌¶EÛÅ+ÔÑÀ‚·‚lËÀsÂ5U'Œo«1›`—=²‡“‰Ú±8¤ˆ!Hb‰Éu8BºÝ˜úЛ*ulé .:„lÖ lˆvZ¦^qÐé6ÊiÏAÕð%?Ô¤{¸㉂!,®×ößL»9¼êK©·óA¯‰””s<{H$r¯A8ÿ¼Þý,ÐW€pFTt-éA]ƒ6Enþ vQ]ëÉÓ¦·âÃVà©æÓ!‡nP£ÊåVã ë½Ë´€!<æÊÂ;‰ƒžñýk‡‹Í™äcDÕn¡uzÍL´&Í ±ƒì3©dSºqÌ_!ØñuöØ}೦O5–µÍ+xR4KŒ­u©ðY¹Wž÷ûƯ>ÛöóO"Ãh«êm ÐUºI؃³¬Tyýæq{¾Ša¯Æè£*VZalTc˜ˆÜºÞ¤ÆÁð*Äò\ æEÙF}F¢dõ˜O=]>Bk1¶f46U»J…aP[ç#; ÂÇê\ÙQì!SUà -’™–K*j91$p©Šμ†jN´D,©%³ØøsLX!§ŒÜ(Ue¿‘îK7²Æ\Ñ](…ð/î)£›ÚüY›{å˜rè@~£˜®\ë± DPìàRž<'c$~§Éÿ=1gßú)@…dWÊ-·ÂsÚ.!f±ãD4óÀ)$SVæ¾ †šÀwÔ–€™{ ŠkãÏfÒv{HÓVöÓªA-¤÷Ü,×ÁE7%t#±z²ç:¦p!‰gêð¨Ó^—ü÷$tS„–HÓ’Û%Ä Ð-F\s%'D™÷ê°Šµ¿r0[j­kgʧ¹ º,þ¬ ›†‚ŒêÃЪ_Y Õhoê¦NÒ Ù6Æ•°e»x®Õ©ˆRbþY腸̊¿)ÊsÀ´>,feAøfg鄪+Dß É#^8µJänN¡×3M–—bÆuggǦ1I/¥± ̦«§k¨ª³M©:^æî©¶m/[ð„íq03*c“jpL²¥3"Yåé^‡ï’™“÷Œ_mìmwʇ›Mß𷯃ފBRÇÈKä´Bô=õ§ãƒ˜óh:Y,ƒŸöæyµå§ñ&e\¤ï;Ž57‡ÌÌàÊMù-!WRå{ïô»imª>ó%,Ÿœ®W›Gö„DêE}Ù€b½ZþÝM|&]‚Q•K.’ºB¶ì¦öڱƖ'X‘Öx?€-uƒÊ­®ç¿˜o’¹ÐER…¬Äƒ#Ëöˆž/·Ý,Í)úÎsÆn‹šÖÿå¶QP)N3'H)ý#¨ÿNˆ‘ºF¥ìa¼-cæÃ&æGŸ„:@Ý8#NÐ:«â‚Ï$!ˆ„á²Å«Ù¯°i¥U·æûëÈAÁåWý’0ÀÑÅ[Ÿ;h3z²Ä>c\j BÈš…´¤Úz¾T,v§ê)¤÷öª”˜±j„]ØÞ÷HÜ^îŒÒ ¦“ªŠf*‘…vÑqmè†BAà¼,_’ãæ‡J{‡yÖP­ùf÷ M¥‡S¾}úcÕ Ém³@c¤F÷ÌÒ3íä F ã1³Ÿ8rlWÿÒiª]Éï¬÷àÛ:ËÑæ¯.ȉÔà‘w oÀ Æ!˜Ž¹S]ÚR¬åÖÞ^þ#ãju(´R_Öo2 ó¯ÿÔ†rå¸I†ìn „…}Å?ÆF‹†—]Ü›,šie›ð‰µ(†?̤0j`R±3X„+Ëñ܈}¡ »+]!6b~sC*F¾¾ý&”´¹lSrÕ£bí–øuvHáM-Ók×ülØý\CÓo`¶%¹Šv$ “^=à鑱u£sZXfw¤ä¢åèš‹xéz¡´Øð4¡y=ÖÛÓbêÒvµÑWèÅl1 Èp' R ÑDu ŒB;…U®²-…‡øÓ¡FnæÓú§M¹Dó”°>„G­S8Ôᦅ™£ÖܼÍåç1ãöI?‰B²¿dGñ£:½DðÑ:GÖÕô^lÌš O9u5ܸ У»JZ¬ 5Á¢ÓÄ0ØRµ•`’íž92x­f)ì–c³–)׺7kAX†|!þ…Bè¤óîÞZ—-ï=sP–×Q¬¯¸ÏÏÈÁæk­xœü˜^’nÀ')˜w';uõ½Ý»À׌À`zß²¾ÖÌ…°v4ú蚆õ¢s'^×m*‡Y"¦`&¹b†ãt8Ãé³ÞiØ3¨%ÓšÜ8fQL&ˆ £ÂPÝ '#4,ÓÌ[P¿!á>x*rÅÜû®3K¾!ÊWí»‹eò Vþ¯ÒŽÏÿ¡DÒϾVÉóÕtt÷Õ ±³Ú "Ü< }[³wJ蘞¬çÓè9ö “yîTq€!Emð²íÖL©Jtfœî"›Z'©[ÚÜTت‰ yãäLÍKX5ÔÞÏ-J̉ö„µu1J |Ì[ï+¸¼\£{LÅéJ}N*~½sFøqþ7èù‹ µ.’˜ç2/ÞNYé#É~zA绪‹á¼2Ц^Æ ›Ó&¯Fs1*6B@ïÐŽeJüM[p³Ú†í»d^!HZÜúqîÅÝ•uZÕÚg6ÓóÑÆ‚™ù"û+ãëšOŸٟÂæ)Ykª<ÉEw³þ ÚB¦ËhŸ õ(2b눜nä–{âßиl¾Æ6û ·TÕÄ·Ë“rÚ°Erô­µ}AjZÑ{#Z˜3%HXZ¨u¼QÝï,°‰5뜹â Ðò©Ì ‰¹Hé ÉUq¾¨#Nro©˜Óñƒÿ¸‚¯­ÕÑ’û¢`u*h®Ì7ŸmM’LÓ§ä $CþÍæXÆ ',G/Íã{ßQ©€¬Ž(È2ÚGòT¶:UnbID¤ÀX‘±·ÊÏR©oe¶ö»b÷¶"öQ¦2ë”"Kñ[r/^ˆ]1“_@ü hÁ Áúúƒ¯NëkO×¼5¦ìW zAïþ_AàéÒ;ÀÔ7BÕu¥ ÇÇA!ZõÎÎÊ„y‡‹¨ëZÀ'+‡~oëÇÿx­Ü Tl´Ó¿ùâÛ³Çżònw¤˜ó‹áÂOGçOŸ xÙ7Šî>wÒ´x¼`p>#c:EÒÑ!LJ¥¤Æß] r Þ%rÆbT0öÌr»~Í'þjZ÷ÔÛÐøäYûË‚™©Æ·­úm5.~{w+Ž3’Ü © ŒE z%sE6÷ä±:6=¤¶íß”èSë!÷QX¨7Æ‚ &ååî¼ãƒ˜ñ;°*é’6c2î)\©tøj¢ÙÔÂB#1Ó^L™:¤¸9ZêÊ[àõvT|G”¼Rárâ÷R_îë_Nž£Æ^x“OºöL.±«Ë€Î_^Ì ”ÒbÖrí‚Úku¨ü¨º€}x (º[®cãR W> B-`ÒÂØ4–¥Òz‰\[}C¶È ¾_êó…cæk“ÔíCI›âŒ_HcI—#Hjt:^¹Öte¹è‡ZúöyúB-.ب¸³’fb`’Ã@ÔÜ¢¥K:æ›KP\ÕårG|dz½ I ë£CWMh±†?/ü1׳»àQA.Î̪@Šs H7*Óªµâvs·$MßýŠ¥sågf\¾¨ ˆ&¯¨æÒucF¥¿¦gYœZèX9‘¥}2€¿#uö.¶JÂp -Õ©DÞe¶'ºt{KÞ÷âl²²Ë޼¿qÑ45S¢ŸÖõ •´9õžyç*{+Y3Öݺäáx(¡¡ýš9P•V^·î‰ÙØÃS\ùŸÂûHÚ#…ä?ŒÜðR“džõ]uŠ»âêËOW–^Òv«n#ø—‘Ε%eeûÚ›}Õv¬í¤îÏ™ËOó™ýýOlCÊS†èûö-ðsÝcol)VËšErò!iÊa0Ö<Ýù%X¼­ê‰û™®Ñ³™5„(Ý™ÿ#+dbÚ]³nì‡/™v 1Ó¨–å&°´¶ÐTÉu ð3]‡9ô#ßµCÕóPŽ Yh€`¥+u;&¾H£+ülñÅ)ÓZÇ(eò‘…‹ÒÕuíb/$êK§¼KÝær ø‚rØR—x­¼ÕåÏr9•8c(béÎñ[˜ú1Ù¤_gw³$tÙÚÇ:iº·‹£¶Â³ÜÊ£»ðqXM*¸ó\ÍMBÔAÚZõþdBÑ@Ü= 6Ì‚©-{O†i?¯«Ø0Oe”•lÏ=ºzz#þÛÌà˜Ì“K]}Ž“dcH/Ý>m“ÝIq´ • ¿|w–AÜâ»8F„!xp  èçºN=äéËÌ̽«t‡LvÐÛ;ÄþxšûT•ž>~ÿM¥aðdS8qÓƒ…«î€ þH'ŽŒ¹™2Ø~ ~ÖŸ»gæ¼0ø_™\ÀÄ‚LW7’A­ËM&éˆ(ùýÍLizDihæÚáj:î˜$ò¥¥[•÷³›oJ‘Ô„8ôç!£þûœ(8€éá-VTØL2jW†F¸tJx`ÁZÛŒËóö3éwø(pž¯…x—CcGÛú­ >em©¨¿Ýglx{P›¶NØöþõ¿n¯ Ô@.¶Uæ‰Ã–ő֊/ïþȪ‡Ê_9DôÍ_ö¾›Ü[»ã†y»¬ÀylÖëª÷ØÕ²ïfÄ[ÿ:6å ÿ;gï/su@Ϭœcÿ-5vÇ!Ï[,ÖsÖo²C@Q; ºE½kE[€;~¸}…£:S ˆ“GMÌg ÐJtΔÈN£úñ¨öF8luÜ&`t×q2ݿԬùϨZÔ!n÷mú…¾¨xE]7Íγ79|è´8ŽÇ(˜ƒd|½ ªÍÎë09w…Kù÷Q‡BnŽVÉ›ª GƳènD® „ФeuÇPóQêÝÎBŽ®Ñø—‘@§==ß³¹- °çát pÞÐ÷ÉQ}ì&Ⱥ€Ö' Ìi¿X,fŠÐ?0•ôœeÔæj”ç«æŠ×”€‚VØ·6ëa[® ù±Êû¶±¼]¼y/ïýÚLå–Ì3Þè¯ÕzŽÑ|çhNÛ-\=¤ÔÀ‡ßCGÆ1hjËeNá¡)ïCF«òÄ–±mÏÃóUôéH¿¦ž7" >N4ù\Ô š?d¹D¾¿Z©¼qÓFÈb1—'ô\Ú´Ä)ï}m»>«R·Iy3G1è#VD4‹êþ¯+‚7:Ç ¿”FÆ'Xb”JìòwXÔð' ËÅ¡žea5Yˆ01;GòžÛ®î’–­DY"Þé È‘#;­ÿ@b‹ê¸i®f¾xË™ä<§5r-•9Á)`˜…Àã)…}·Ì‡ÕgmËaa-¦­?{C:ª2:.êEñÜoÁ¾òÜVíXBŒý¸ ÚJ…I}ö¸ù¯<^Œ<ó‚.få® :fâó8+ü ‘ËôÓN·T­ûÜ=ˆy/ýªXáóu«Í*‡>h‘i~Ë(ÞƒOú¯"±7²´}eZŸãK÷Ðç®”š5…y(M ŽÚÑnñ ¾3y^ÆÌôbòëí.,ÆÖjßTöqؽå²íõ:×úí“a5ZħF,Šï€„Jvíª UµÖ=Ä Ó6J‚aÚSx§ê‚  Ó׌ëCõ(‘ž®";÷*sJHæïì]ìpÑ»3iÈgFÞ9ž‘“”ùŠ”d£›dªC9ª}×|g´Â¤XOÝBÙ@Î{<«klF?ÇÀ Ò¼úJ ý±d¾nÕ„µGšM~qx‰où/„æ×ýTKØ¥ðnÓÁ³$_r߉¾§†ãŒ¼„ÚÖnž“Í52^Î s½z‡xÊ,Uû-ÖþRøk•÷4=eE“ M¡¶àøü #éKp ÊÚjs²ØSŽm±ßz…Cor\W’u§IFD“˜-O“Nwžqæ®Gñ¡7 …mð 6¹·¼¤x6lŒ9LFÏj¢¢Þ!ôLÏW?©‡•Ï êWžÑ} Çêÿ¬Ä±6¡Ù3¸ÏÒ¯ª¿§Ì¥]Ìt˜Ž©²vßkÑýåôŸ^ªwÞ»f6WÆÌ@á{<à+ÜØ&Ë•¼qÄ#J±ÑáçÌÜ¥ÊtY%«‘ðøâOȯy…”õÃê¥D&tÕ²±ÿ²ŸËz’n¼Ø·PÀѾ´€ë;¡MîÜ«ÓüIü¨ ’¾(…8Y|†õw± dþ˜èIÜ ~’ʶ‹np}þýˆp¶ö)¼qö›¢2;ì+XN³&}ƒ¹ ›¿Êšg¢ZO‰LÀ@¡¸D›=yçiaŽyM­sÒÃ|uŠN³(Zµˆ–Ä7%uô|Âq/e;[¶Ã ÅÖSù-Ûe° [ö±’4ëGÕ©¾K„ŸiwøÕÔÌz.'æ I“îÆ8¯Ù ê“8µ»ÏysÖ‘;mG\—N¡QÁ# =ÊÖdŽoP(@M"k¥ïÁþ¯h×aJºÄãK6O/…æ1¹ ¨ŽÎÙ9äp0îøˆÈ¤þIÌÜëÙÕFò"Q –„VL¡/¿™!G¡ ‰õ·DñÔnN2Ÿ@Î’ó=ó@D¦\®$wâ±pk¬v¬²¤b±ý‚_\y¨uþŒg¨3y$†uÙþý ‘cÖÖ"B½¦ßŽûlB»m÷Ó-Î0-ëøTIœŒ5™ÕëÎ`\§ÑMˆfY~Åï…×›L¯KC{é@¹³Ðù®xïÂá‹w1“¬ƒWú¦Æ×Z@¸ûŒ¯“‰±æàÊUçk±@nŽö3k=}#–ßZ¢À+õ–é6ÒƒŒâ·KÊ:v .ÜÉ7`4B¬Þ 3;õÓºRÓr¬+Ôê«èƽÃ89TœzþÊ54x Ãá $-‹[ƒ·æú”¶ z`¥XD½(‡hÃjz죬8B]IT@eØNAk¸â0ÃŒ;3ŸG¤³Qc»éàI¨™³,ÀAN¨/UÈOq8lkx^‚A"+“À ÜÁ¾ýä4éJnŒ†v%ìãxažŽ4ØnTh™&mâ’­ƒþhŠ’èÙqØ\K5Œ7D%xYÿ¾¸­Ž‚ÈФ)>Ë€û]`úúÒÇä×È› ÛkÑ·H¤ãì;X䞊™Ã“î‚®bLÇ4búI÷éÛéúèíèDå]HÕ0žåxOQ6,QArÛ#SdÌí”M•—›:·hœíáÛø~{*i'Õ³*Ÿ eOŽ$í@“eL8h¤¢M3·× €¨h{¹MâÜaS® ¡3oÇÃEmÆêdCz÷ö®l…¦l†ƒ}ˆö7 6Ó –PE—…÷Woè÷‰m0ÚS_? –e—ùm,G9ú ³“›ˆmZÂäÉf? Q …É2scia Í€^ýÔØ4¦7¨‰Y¢JDÈØ%úzëúéÆKCƒ¤ÐÏñ!P¼ ^uùÇ9´ïŽýîÁÑÞrô$?÷lÓð,P’Ú\sg$•P…–Qû¬­´¥°Zž £ÚEøäÃðе/YqrÐT³Ê˜*¢'u_V:èrÏöè‹w9™NŒ(Q(ÂsÀ0ï# ?gO¢3 ½´wîx!àêž½Ì(H)Òjñƒ€˜¥XÃý|ì¸H]Å„È øÛUÕ{h ‚[¯¸—µL¢’B›îÖ7¯ðÑÐG🧅½™˜]`°è´H7'³“Æ Ä(9É$ÝAÍp耊v`Kíû½ÁÖ-môYGÈÿ¸iG^™t—S%ÑÖ“Ùnn/S~üÊ1¦iˤ¹UÆÔ‰ T“žð#w„ÖQ!낾¨÷¥D L Œ"·Lná1µÌàaìê÷ØŠ“ŒåÑ®_íLCé׎Œí ˦9¼BÜâeysÕU]¯[˜ñ`Öâé,﵄ê²a[‰p›š¤u‚pMœýžË[ZÚÞ™ˆDYQB)ü+ßÃ3r Eþ$~ï¹7fž·…ïÅÑGî;ˆÌp|yÄåvCçBâ_ЏSi12yoƒ¡­ b jK䔹®â)ÃoJõ*m{@¾ßiRnPÓ²‹:}Tìço‰5“x/;bÈç¶JùÅ®7ÜjÀ£¼~G5/u“ÑðƒêZÙý^O#·uÛ8ûJ´s/ûë +ø3À­öiÜŸ¸%Œ3/bf#§_ô]}±‚ùüÔ«…ŠŽ €™D³¹4ªIû0ªo¢äíÄÉ2X '-*„.Y.dܸOSž‚Íé*þÅm7éuètÖ+ØÏá÷i•íåOm¿ „=#®7‹ûæØ%Xüéé—7ü³ÖÆ_èÁ'¥Ä…½`šEõ9Xn¥$ÄQn”\ÎÎä ¡#i{`¶* ˜I8ìoý~'„æ'iЇ2>ÛZ$Ÿ;ÜT»“?tŽ)Ú@¦Í‚BÏÖðÈñÉsQ•Ëè‹Yä\š°jÄÀ@ ¾=úQ| œ¦ .oð’þöŠ1œ Ë.bÞnNq5ϕ̀€§EeofŸmT­VúS÷R=Ôæþñ>ð$ì8°n¸#Ž@߯¿-³‹®S+Ñ]pcÉÜcËò±¡ eÆT¬<Ò|2èBîIf"B/ÍÐu±iž k :li8ÝcÛš£Ùö­“#h/1#/ÎO‡ÃH"Ý—vqtÈɵ¥b…6(ü ì~1ßgâë[MäOŒôNëcrCxˆQUñÔþÛ܈ín>ð´k ê8ŸXòUÔZuÈš’šgA—¥WÍq¶ÁAƒ\™DŽÃ llöx…˜rÙ¹'%½åqÑö ï·Ü0ߊ@ü«^±²Á¸oÆPÁ†ÔwÍÙ¢Sãò,[;sRìÂô÷)¤Iø¥Z&kœ/1²ÏÕGëžá†V§[c2”wêä©_¾émÒùq'c._5õ1tæß±¢UÝ ]£@ÓîÁjKX`…ý¿÷²#±Þ¢«Ñ•vÄ„æ&z‘ã0XØÖ€ŽsXýÍ'š0a­€0£+»ä:Uí6p¬Ÿ21Ä _ps&0}ànl˜‡­œj|š€‚â@¬©8­©H‘– úñÒc&û²¼§…¨ð°Ç> Q¾èM¢:j{å!Ø!D¾¶×°dkëy‘q¤-!6šï¨‘v‚WAµj’@[ÿ@ÙqüµÐ$’]¿t` %’ݲe£é嬋­[åÍÏç§Âµ‰ ¿QÊc³­­z¬pg#páIò®Ä­V9Q½íÓË­l¦v_§ÈGSþcñæòvuE€¹ŽëÚWƒ"… ?ÜÏ<ßÜE2¯ëüWB&~Æ)av„Í,QB5¯½IÓ÷m£FÅW“¼Ó}:_kÊv8D+{Øåi³qˆÈÍìç颷˜1Œ¯Æ£—D.^«ÔoÓbè=3ÁŠí‡ŸWk£Ø+¨sn¥½ßx@x¢íOꬋ’ÊÖÒQHˆÇ f? #h½+Ìôs' ÃZ³ŸLźãüäªZ\Ò0zÃ#*—vgSŒ6níEzMÈ«^2>ÝvCù{#§P³ÚJ 9ãÛ+àDønˆËu=×~XîC®Ú ŠAã,þŸˆ ê¨côgâuâ+s§¡–>(ðmüW®éýìô“(ßtœ=ÿJ­ùé{3þ‹\È? „üæU5i)› J¤ô¸»ß|Z/Åå“å2dчõ¦cX»°À·«‘ L¶m˜z^ôïžq3£øO­³›W/f¾VŒ¿—½ì§é›µ,'ô! ´eŠ®¬|Þ¦"NÔzþgôÿÁ¤/à<l3§é/"S\Ùï¸Ú@Z B冖q´j~`KðaÔ2¼Ä)‹¦h³Ðy,Óæ°Vœš÷ÚŽp³"›$b¡ÏÆÁfŠfè&§¿TàDLIÒ ö'~Åíº(æ3³(AÉÍB˜Zž°)·}?jrâOZG‘nIiÍ<ÒЃÔG笰O^x§!½ƒ’$¸Çz×â(o7ÂÀ ƶfÒ ZÿŸüâÿܬ¯„‰veˆ•FÃ5f…üȳ²V®žR–9 æ„ƒ®2,÷ÁjúÓ·OÒ@Vš‚A˜B2Z‰¦'Õ÷Í÷N›~y8 {…Õ¼¶¬£v%FÂÍèé×õŽ$(AóZÀn§“O9*¾%¸¿óøâHTbS“çˆÄ¥ûX ¬MÇ=Ìl•·Å~nì26 ÁJín$ïq9×àVƒàœI¾º'MS k\—w\Ï3.áöi‚Á3½.ìQèk !<¿Ê5虇ÂÓ2Ì;Ç£SòÉnEW-s!p÷xœ€6˜ÈD]ÈY|€›´vmžtˆå[>j3¨ßy.%«l˜¦ö# “8©¼½yѲ€sn¾¹« SÛïôxX÷C¢ížN·£RêÄNY†²ðÜÖ#ÝqŽè‰vc:Vlø¹¨Ff¦LšZ½ðf&·Z"ÙË3 j®æZJ©*$Ów—²ygãÏ>ŒÃ! _S/&~«'bé¾)rV¢yLšP©,Y÷Â|¥ªŸg’aŽýSæJ1wªÉµµÅ8eQÏ {…³…1ŽÙ=ÃM˜€’]lŠáZ^ª.F‡¦*;Üq[¡µû;¾ðý$Zr“Éì€+S?ÖXíY1ÓÂZhR[¼L‘F‹L³´ÖBa Ûk£æ{» ùSžOóJnFÜ ~U¸#ΞÒ(°¿¨'¸dù•u6éI$üb7¦:)5¡ç?…]yªZ¹2z“ŸèEðÕ·<ڻεF~Øéž‘ù®“ï93Ü·èO"„4¹L•;k¯§€jä2>ûÿ”ø{ t½Üw´Ón\4;c¯Ù÷ù5¡<ÊX’®j/v)ÅvÃ4È)¸czv‰`¿ÇµÁãéª÷ ‰axM43ª0«ÞX¶´õQäjmË:ȳ PÔd ðå’ÀÙœÕsÒÕ•M¸¦„‚>›•o“að– º¤_L÷9R…8Þ÷ESú ²ÃÍ$º¿sþHL*¸s ð@Æê©$þ ö÷¬Üü„Ý™PÁBž!5ëý(A| “Þ¦Ñ,•Ã]Wc££ÚÈŽX~‚œ¡¼%„ ¸“寅Så¶“ƒ­ßxä€2§`ËýðÂ>‚dþÐÁyýìž?ü>k²¨öjJ`XM'Tþ“èŒ•ê•Ø¯¸ØU$ï ²ÖaxW,QÁ‚×YPÿ!½wüH!ðyÙÌ'R?v‹§5q@2SÒË'pÊ@Êp²|`òEXýt¾SrNfþ¸-p?S% ;=>ðOd¡Kn"ñ²QÛiu'ÍÇQ¯„§ñ-/&ªZÊ"ßKâˆhHkç”Ìe9šêCÌ 4ú õÑKZaT+KH|͆é`[áx \beá±8ð—‘‹éBüª%,K&h1i‚IƸ°èÊ ( 6ß ,$Æ÷‘—CãsÊÀ™EsÃ'ÜîÕØ—#¶ÞÄfì= öüyùJu£ž·àããöÃò'ß“¿÷nñéC[ Mí™çºx _Çm|Ë?Ìc¾ÓõÐ9ro__9®1T•×0IÔŸˆ¡€ò‡(€Ã3³`Ÿ2+r(ÿ!Óvð0rdŒ·³®&e³Æ\-q£2(Ûb ÇÞÄ€¯ñÌb•½‹É—pÃ|ƒ°“á‘íµ@+2èÜ[)E¹{yEdBXq˜n×Uµ6½ŒÈz>]oîJB¾C°à‰`žc\NG,Ä<±‘ÿ·î÷ ãû@Ç’çÚz¶ªM¨ª¬´ãJvzj†C·Ñ‹ÐSJwáBÌkFèî:˜–XVg<é¿Õ¯ªnvh•ÀòaÝÖÍ®òÒ²|³“¯ 9Ÿ,7$ ¦ã8OÈvò…‹Z‡‡‚™óø‰éÜ’»1êUÎë& ËpõrçøåF wíÀÛ…YŒQ=i#´0 ²?'Ò|ð®ã b›©~QÆW™0aœ¨òÁ´^ãÿÑ–òK ¿8Ó†ôPë8ºOÚùH‘àg[6àÎ< î8†Óñ ª+ašÏM>&ŠH·œøÕA¨ø42º+m·%^Ÿkþ£6Ø”–`+k¿:k¹=¾z*€!œ&Ìü 4Ebeöpõi¶º¼–’õ™Ê1îþ”AÂmz=+i³zj3bpÛ¹ŽÌäD'Ãø±s85Z¬_6½â …|áפt"¦¿ý¢óR§ZÇ“‘¼7ŒƒÑ¸ŠqÈ»òðdöÖ’,=ò»Ö.sÕTf…LÄ9ZÀ¦ßE–z'〠Œ˜´ûMªa»[3áTJ^²‡Ãšu¢oªôÔ£1VŽý´qꮪ_±…MãoB@„)Ò–$é^VY v”vy0Üš3ëzöÿÇœÝEåäe:R¾©'n4·†›Ï‡Õ–Â}+x²oðùÃÃìÚ…Ô­’Ë´=r€¡“p«CQIbzz+‘¬u˜fãËÏž{í˜%-&"e7’’ıíWŽ¢iY’[jî€\/ÿzñ.$0LߎUk=xü MµÔ¨G”U+ ôCy·8GªÕv§XflÒÇ^×&ÄŒ¥ß$áÓ¸ÒÉvo½¡]Ó¬ÓF³ó†:Î%õÚ¥Z5&æŸ@’ä)$©©"AïyÎ/a®J¹À¨Tœçu²œÀ‘]šºrŒlâ·xt¿Æˆ‘ #ÒºT¹ƒ2Ÿ¹±Ê8>¦\ÔÛo:DW0щ,Õ#zµ–ØŠïÅ—ƒ÷y’—[cÜ®¿ÜTCÀÏEûòž)T#ãTš ‹çcFu ©I±º!™Šƒ.“?bºÎU7«ŠB†=ÒƒU™)MÁya#øPï=ü¤IñIvç ¼À‹ÿRqÔ3Z¡ÐP' ªf©JÄx{p³—„üu b;³?p›rŽˆèÒ”O¨ö» hКê> ÷iÕËej[µöxGw¾éÑÕìf{+?0H¤Ú»°CÞ>µ$7#| Jìä$#ª|fЩ¸+Ú™$#è¶~>±$üxZF͇x ÎBÕi€–˹—àÐþà¹ÿØ\Æ”£¸Öx®gj.*sü2ýåw¬R–lüXQþN#=(za®løé¾Šo= »•fÊ–Éÿ>Žw-ê)Wgò»Èt´žñ}Ʊ¢*˜÷g‡`®½“~‹2ý,Õ±»+¸%è;/±ö‹\sÑ:sQHÇfù%7‰ô&ãö~­ñs!8¹–Ob6ÖuPòVªûÙ~±º ¿p7gÈ`[<4õADv“28€€ÌS’_¹4‘*­ÆXÓ—ÔµÜù@&ixV4#”b28 !ËXaX¸ïåÙ)äDx¦ŒÔ€ åÎÛ¼£|„ºÝH²M«ey°›ê*9OÛIó»˜Mw8qA†ç?lA Ͼƒ®2ê”õjÎÐÚ ²ÌaYI}ÜdЗ-¾è- Fs)æú*Ø,q… E½9É´˜ÒŸÅg®˜HŸ·! ‘Ìzu¿ƒêÿæ–`™hc 8cǾ”Ñ%À²'NØ”åí°Ð¨õTŠ€ÔöâV®kÌ–üôਜ¢°WJHBÚÏoÙíháÈ#yïZØšI7 þá$U±–à–À>µXÄJ?×Qnâ0Rºé~‡1Hö4'–¾öª¹ü¢§Íà¶f£Ö½Žîûè÷ÕÊ2B¤3…¹ò€6±º½îìÕN G±žêb§ “D7ËZÝÇ^RF)Jσ«zEÁq¹¬¸zyfSáji¯&òÒŽ§â<%†ÍomEcnöFtMHrbP‡¡ù\¤™Eˆ¸ÒbN±g•3¥~³»rNu:ÎZ®Ø{I»&\Î;‰L*(ˆW»¬ ¼å»,‚ÏÀdÔq$û$Æ k!†tïAZºz’zÉ«ùËvßBë‡÷hत>;?ya®¥Ù»ói·E[‡G4¡~RI÷æÜ’ãYË~FüÒ†O0òŠh4 ŠM{xoÛ|?¼=ó›0îòÚ'ô¹öƒ¼6aì1÷_èWÒ¯ëçŸíÖËÕ]ýh”œ>.Âóº ŸöÛÙnæWÜÝòщÈŠÜ!‚«qËサ¸+³r´Áfñð{‰`ƒ?]Ùû­¢B¯b«~ÉŒ‡vI>†èsÄ<ño‘Pç!è©p\¾y¬I^|¾«žþØ`WCÔˆu5÷K•[Ñøø ùžµ;R©€ )'Ä®ÞÐ °:Ž —1^ó)ò3®fïð%±'½0:h°±tî•MÛt”hgLrÖç5˜s—ÿ†²[¦Ýß& ).Îe<]öO)þxv¤°L‡y|=R*ª2ËAðø'’Ê¢µ'îIͩҔ(8ò²H¸’H‘æaõ"½Œ Ž n:’ž7ËJ_‚aKñ\C\.sê³Óý÷Hù•!eìÒªŒùYʲ¬¦5Ò›}oRÀ8l‹WŒGDñòóíßuq—Ôƒ<)ãaì†\[aë~I œ¬eT‚Ò)Z\W’L¨¤òõßÝeMxŠZZv»ßn¼ÐǶùªA IšÁ¸i/‚2Uíð£GÒ´ûNëZôMn°Ô‘*ï`rd·ýÓàaΈ5üC·aRÓ]H.£…­#·z%«As»TØ‘S(§yñ¶[,T¾+™ò2½þºó¦Ù«¾Ñ®ÛÊŠ²Èª!yHß'µ¡šÆÏÑ@Û2äBC†ÄK—[Û¶ˆ™kÌê4­9xe¶ë´þôC™œíË>ù߇+¥Y²9Väf˜Dêîÿ¥ø˜iºŒJôU¼ŽFL¿ÁU©´zÞùœ1wÙ^º/wÜl=Lf-g+„W›:Íñ'ì“Ù×ÊÍ1ºZ‰híº—¾¹Â!Íhßà[÷Þj,¼çÜ;–{ .²îx°'÷%0³8dÎkié[W‘#f‰¢;ßA ËÅT*ã ûSY$åÆp‘iOÛù«ª#)HÕšktŠmGÌr$°ëûŸ,“T©OŠ3œÒn]° æF¾ uSÕ#œ×Tõ÷k¶eãÈ;_³¿hÌÜ;“³iÃó2Rø€€Ï¶Ï 9D"­Ñ(qR9Øüm¨Ñy·äc¡rTǂʫÂÖ¥> F‘ ŒNÙ‰]‚ü:žè‹E©¶1]‰¾[ë>ü>àÄìL’Â…F^‹Šžåk»þoÅ ž¯Ás^wšÃû‘ÿ,r®û-òb ¬ðuBW³B"ñ&Rx*š>€;t¾ŒÆk:0ØàŽ{°Q¨WµNdœŽ'‚kmØL¹ óy²Kú:œãªQoù˜ðcAØêëœ8ßmXÍ1÷ÌRw}]Y§CÀÄÊXQË©-ø4ÆŠ ¦åx€¯¬š×—Yá–©ã+z™1?Ç,FP‰¢°û!bï•"¥6QxJ8£—$Ìx8¢ÑÀA[ä­«LýÅ%š…çz&!ÔJ€PBXMåÅšPlFSñwáÔwóÆ"(~ød¤…\Ï»ˆ;$O3Àê˜û”Lt…2c–MZxŽß8ç[mvpý'¢Úÿä¾(Ø% ’½tc œ-{¥‡6ÍÇ(3èø Þ›Í±) vkƒõüº ´·$&|ûfD¯ÀÇ>ÿkÝhª1,ÊV&ÏhÓîÖo§TÌGãK“/:–R¾ú<õBâúMÞ=çæªœäÍ…œc/ MÌt î9˜ý;ÿxÑÀ õ‚äg¯¯þX[™6ùynôÕ/JX` ô-îðFïÀ“¾« #¿J[‘¼Ë1‹ˆ¤·tôý¢ÏR>K5dKqHÔU7L´r;‚,{qŒaÒ`zAø›‡·'Í]L DWú¨ ©¬HwŤ4ð®Uˆ“+5ׄ¥Qª,xD'á÷u2ª-|*äH½,ڇ篤øÇ›"jJæ¿OÏ[J¡!ÜØô´Dàgv™<ºÿºf&kh9—ÐËàZ0e6¬:D±ûð ‹æ-mHˆŠiu©U¨ÚLò;ÄÔÄÌ¡œëá3ªæyáôž™â¿@`ÐgÖ!ƒÐ$ÌV‡ÞÓ`7’®­ZI@ÃhñD¥CpÇ,²fÕ6lÂT½ççò8*_¢ÑOæP¢c4‹®þË÷ëç 1YËäþE)3ü&¡ÙÕÎfZú㔀Ù4~+ÄøÊüå„ Ñÿ(…ÚÑ-Œ5ôO?‹Fm4C·ÚêHž‹ÊñYÓh¹H_S»¥§ã«<áƒ'UÌnh¶ØH\Þ‚ YŠª,$šÌÅ„þN è4ïð†Ÿ¯õó V ’MŽ|?«ìÑ´›žº¯qXý(Oæzä+Ȱ¹Žâ¤À°Ø8ô«ÆDxkkžÃãatÛÖßÇ©#ü¥üUª9Àë¸TÞ€è«[/’ÁhòW}CW¬ˆdƒxC³'©öÑÂ6äo2g*XvLصP¬ßö“$¤ÿ‡s/NõA58âd­…Ë@\ˆ€ MÙ¤ÎL”ÓØä "\ÒµÞu«¦_'Ì<)=*c ²“#PNÑýDRIˆí =ùƒ¬Îß^3ýp4Gçšé?ùŠ}Ôè·Š°âY§±íßÂgxWPÛl“¤u_úS8ô¦¸« õzo½ÂM]aØû qí[qŽÞþËq1Ü\ltmõÈ{nŠ ]n7^ˆ(QÁñ}-†AsøEJ¸áoŽaJ»,†CáÿÏ—é¶F®¾’Œd‘fŒjbNéUš£îÞBóÎY!©zûb ¸G&ëÝ},ð3}~ëçÞ¶rô¤W³/ê,ß—²Ï3'ŒM¯-ZHR®<@KsÆ…Ÿù„e#b€¤‘œ´cÄ,#Ñ©ºÞŠU¸ o/â2ÏéeêšImõCÉs’A©ãœqäÑ7÷š@WÈZ%ÓWEg„{(ù¾ö`=%ÂFÄ«„ÅÎK9«—åøe!}´РB ~ƸêüvKF'¿¦pœiƒXâÄ“À–ÑE+Z†rl3Ÿµé~OÎwÿÀtêî’´ Yþ©(éÕÜd×ßø›OÜ»I®z‘Òn{éÊ$6L6íòûëÝÿè±ËË3gIíLÒž}mÙl!ËÇï×!vL@ðâƒ×¨ólþî3‚¿r±s$Cu C}½‰‚ëÀJÃësx̹,Ì ¶vq£±d©PÄj,ƒžÏ»·îê#L*›à¶œÄw"JyÌÏêk¿¸Q ®˜XÖ†Éÿ”úKܘhûßXU·°"Õ Éà3XÚ 㜌‡`®8‡Ý ÖO4YésÈgVM¡—8Ȩ1>á×@ê6ÄàíRžUGß­/1Ç—Q÷DU¬³/.ý¦H¿Õî³ ÓUî·Áÿsµád‹»ºé#îÒÄK÷òƒÂ 0àY¡Êï±OÙCÕC¼¡6pÚâ àýš_šd™µ)Šî¤v\Üü¹cš›ÀÝ•êEÓ`–- ¶‚ÁZÛèy€Ù4?æé<&eºXÓ“UÆâN†þ²”Ë¿òú*ß*““áZ:—ˆDÆ-÷¦ïÍzGF¡”¤ f¥©(Vrå“4þô"É+ý#ø½nƒé}²Í¦WÅ5F7èË2;÷´2—Ø¢¹!@}ú eƈò!§2l)DÁ^À² ÜÿÅ~ÜMÕ ‹_.ÚÝ+¿ ¸®: _‰–D³=—T¡§øn±¹Æ[FØ?VA¡Ðµ0÷Ã["÷ë ` ÿzkv{dB®gŽ à·“[ í[R²%ÁÌ\º;Q§ä=ª Rb¹H¿\+¯ôòï»^V“®jýµóg#[Â@~¿>¢a ¥^± q¸CØ—Ç2«CKŽZ޾€ïpsL€àHÏx…„åÁgíØ9¨êP&é?¿¯QÉW¬5—Ú!˜}ýÛ®`B°±W WñH¾eøzEeˆèKŽ5j`ßãí DÏ`¬já¿ï­bÈ”ªu¾^k¤`çx’XýX¥¯Ë!õoçèÿ(]®¢ ¦lØüªáâ³µ7XÎÜ™¯»qsÈÓžWš2™Ó%Ù<ÝTy“‰±þŒpI +öλpo Ž_N+êÿÝoÁ÷ƒ|®—xJÖ×¹jëyæíÚ +ƒh50+\ß±u¶©žxàƒÜ܇¹ÏÁË<î©Â¾’!‘£ñ–?÷¸Z¨ÅÇ”2;÷ÉÙd©5ÁmáiÝIÏÇ= •"I‰]MÍkQ—mXZcèê†hÇÉ"T•S¬¾1×W‘ëX6 M|´ÿlò*…CLw»·¾HA1†ÛU¿ÑaÈ–5¾›d^LÃÜ(k`i†{}á.3Ö¢¶Ež†§dì2¸Ä]‰0¢PK·3§k"¬f+Žà]É÷“ƒ@¤Ý;о†°¡±Q›y•8µEØ,%qðEmw~AüÖ•b-¨w|ˆÒ« ­‘’r-ç6€uÑx·&–ÀfÀ#¶€ðuË 8…ÍÅ„ˆ&bŒ"öëgÏÝ6p•‡Ý+¯7‚ñ\m¦§ 3ˆ‘ëØñk?ÜýI´jt‹f¥ëë]õm«JŒ?Û dÍ •J²VhÀ ^Š'ôÑUE¡ž5æôÏøn± yü-íeíÅù\Â62rdÐ&–H9ìÃgLμ³V儆ÿªiü91—)m‚;bÔ‘;D׎CÆ‘®EJ0v½@3º Iðc·UÑn¿,Lpµ7ˆîq,ûA96õ]âiÇþ¢H°k}ØVá:™–Põ/ Φ“Xx·”a.•ý¨‹¾žzE›Æƒpý×GvG»LÓ$xÌ籌÷Á6SØgÝ4ú*¸lf?äVŸˆCÿ-©Œ×|~ûÌÏH…³34ê#o Aõù-(t£åÜߌ bµá*ÌêoPUyÄ/ä§ç¬9Ãô|[Þâ Ëç$‡"ÕÜÄO¹Òiå6í…²z° Ü'Uá)ìÕ§?}ƒ‡yÈè¦ù$Ç0ÂòÔ‰Ì#÷„ï¾Y8•Í€ðôü‘ÌM`óUCC/aþR@„=˜€…5óf_ZpÇÍ“ B\Z)ÝòŽuFÛEæ°¡S›“D3õuÕnü _ÿàv«vhœhT²5G¨­hLj´Ða63ÿþ ðÓ(@A± feÏ )­ˆ¶±VŒ6^½ZX*N_³\R"®Dæýô"“Ý¥/FŸf/¾ ÍÌÔÎŒ §*9Àoè&­0aµª×¹¨»æ5&øì>I‹…7½•sº¯nCUºùøX¯ÎêYMvS?v"b±` ±gsªéŒÀãY´+{™g`émæ*´×ŒpúÅN©©›*«ùÉSí'× ìðž  •KG.ñƒ$¹ì*×"¯Î<¡,#04–@{ 0Âq¡âUÂs8-§é˶'ú,¬×¡N‡ìÐP›[a/ãf«zaæMëÜÚ¢GÓÿÀÍ7Î~ÍÔëZ?yϘ<3pcЮùËq ¦pFÇ¢k°ÿ~áp7®¸(.hŠ\}6‹q}HÏBwDz‡6‹ùè|‹]2oõ­€qŸúýÝÐëgµ\7 ‹ Â5}øµ™Ñ{ø>:ƒ|¦ÏîkU, FÆ-» •‡­Ïó W„±4âÿÉø"Î…KTívÒ¤ƒæ—FåÇ”ëÒ˜9“‰,<û ¤”öêÅ•¬0%”2kãØÞµçiœ5½ìm^ÁæO>šØ6ÿá|kñHظ9ãù@×è8"œÌµcâ£Æépe¢AÞ“e°¢‰9éŒ@5á…t†fô ¦a‡E?ÑrÍ×.Í­„% Mq7¥Ç+<¶po+èêtÃpÔ±p¦E@ˆ&½Š«mçZð\ýÞ²¨üŽ93}%éô)B)}±‰˜.õ÷¹d@ñÝý±Èp”½M<Œ8ª†ªÌ„äŒÔ€Í1Êäp‡T§ñŒ¼B©¨ÕßÝýQäª"ŒM²YKŸ]‚M/16Ãî®=_¥ßºKuÀËå|»ñ<9ónËŒÔ2Q­<¿?—m²¹k®ð«`ë‘2iÈzsW2b1P¸µ1ƒ,¶öðãË +&ߎ@G³V yø`$‰Úvp̼ÓsxÄŸO9äkæ%©Ý#·™ÊU"ó¬é`ì=»ÌåÐÖ»3ˆþÌ6œÂyZ”ªÑÚt‹'ÆÛ1H¬N²m·aú3Ë^m|­œÍØ’$HiéjUºTFW(¢Ý¬oعa«ÎPÂZª§aLï”P£Ó¡Ä9s" îsÚö9d?,®j›*j¡ûJŒpóÇMEF³‡G_Í‹ËR„DÖ>ÐBƒåˆ 6ëï܇>:É=`퀜Ï>¯Ðwx… Äé½ (W®=ØSN¼µÜ"©¡.åâײoù¶×¼‚{ÂsšF}ÃdŽ€;iaåQò`¬Ýð°œýiÉù¨r[Ë ]õ‰‹µÚðÆûãk •_OoãŒZ!)MŽM¡þ (ȱœð*NÐf==.oub=[ÀÃö+Ch#ì’³šÌ{ÎŒ< ÐÌh 4£8Ö±+ì‚!V8¡u-¥Seà?ˆ ÚÑ'Ì íF™þ· \î^„l9è×3|~“Jrì¢:Gï \t9" "(Vwç¼¼E<¸¼f.bË,ltxê,v®î™áΈšgÞQÔó¾ô_¿?p}F|R—Çë›E+%%¯Ð“ÝfÊå§9V¡4 Ö¯ÀRìoJSDoÁ[ô'R©ÒayŸuÇx+΂ô'AQèï5V“7= +—†+&… iãšðü.ODufL–›;PÁ{‡C¡ÝÎËþ!€£ñAU5¶0ù”º¶FŠøëIp­yËÔ>t"ë‡eRyû˜G'Ö„Ú– KUrY¤§…í¡]s†¹fë§ú¾i•“7ab°&_ H[Ü×´C´˜è™¸:æ¡àÎ.*¦Ý·šžÊ_OäJÝ;õÀ 4 W)nŸà‰åDΖØ]˜'#Oœ¼˜3±Vnîòµs‘k&ô¡³Qô¾h锉ޮø…ÂGê°T< „m¦” õKiu9 ú0Z8X‘ËÒ2"sN°Ï Ǻ‰‚¼ç<—kÑÞt9P@IêuÜ쬲§,#VZÙ{06壤FAHùN¤Í<-Ö•ë膤×Tè¢ÞYPŽõ¡¦GgÄ0%‡{I&XÄFîÆÕ!‘›•HÊ‚Cv¾(kÍ¿_ <Äú—šA!^‰¬7&©ExR¦j½,¸×Ù)yjC¿ ÖGy»óVel£¾€ïÕŽ²™Ç/ÓÏK V¨`Ñ*˜[R¡º“_©ùñ¼vξ_ÞÆ$°³K?~OÖ:¾8S?[öøg¡S5»s°äR©Éðï]¸*Ð@îæ˜TÌy-iZ¢œÓTŠNþ;„Ü^,Ëã†Jž/Kã¢kw¥b[…t[á[ôuZæb þ;Y7ò³onŒhåîô? Fד¥‚KsË÷ð¶ÚŒÞ(h ŒëcÀ†*üLw;@›bG|Pݨ’gÄH(t k€'Ý¢AÁßX”cïR©¿õŽà…M°£WåõÆ6ú‡}?ÔÊLz–ŸÖ«Ÿµ¡"ݤ×kFì "Ó•}øÌÃ*XÞÝóAðÃÆe•⸠9µûÕø4ïz…ì´ÕßäÌÍys„Xñ¢Å³nØX ™Ô4‰ë·¾ÉìæuÈÞÝÏ£³¦àéêX(6"áÛªVå=îñ2~Þ‹¥ñ!q{ôÖ0P•(a(^ÇIAÎ.r¶æ—ûÕ¥'€áü{Mÿx^Ùâ%='tQCÁšqâq"cùCµ\°g9rô*’PAÏRß!nøórŒ€ƒ>-3z%iµ'|iö}»k»?T!«š¶l|óà<´›Ñtó$Ýï"OIÒtê Ý9¯`›ƒ'MÙ>F&AÂùÌXZŒ­T†ÈKBØTcLZ>$D )ÓA%Ä€@ ¯N£ó»Ië+Ï­¨!“{P܃À(vòž.M ‰ðï‰óóHˆÛ£]å„™p#s}Dƪû6'ÇIžÄàÄ7 õ3ÑpS!IÏTË#íbÊcûHD[³¥bÅÈêÁ¦]ú5³Ò{Cbdào)&ë¡bƒû…óL‘ûdþ{Ý«†nøíAQ¤Iwÿ¯Ð'.Ýâñ– œ9…ôvK§–LyINõ‹–ñ±®Üh¦Å¿fKýkuצÅ+m¤ ꌗ{êC⤭Ì2V¤W1I›ØÛOÁìýæ~þVð(Ñ„!n-bÁ¼`õ‚ÂV„l•™úòþç ƒHÅÒ³'UòÂ%ª¨Ïù1ØF)ÿšý3áêY ­èÌÑñ¢aM6ZÃfþøNíÌz#‚jê–’ì"°dŒøsò´Rå8º¸áç Ž\0„¿Lf­¯W5³hè¹RìtbþÅhbÏú¸V5¬ÂŠGk¤Y½?x=¥{;³¢…Kô¼É`E¹!Zí+‚­éR©{=5tàBÊ–‚w;yü„xü}–K×öö£ð}„¶Ó‹>Ö¨Ü×å"øÞ‚û•Ðà< ”¬“ÁøÙ)* "Á[p3ŠØ‹'ŠD<”çI¤“Ä „Ê9å ©Ï‡üxî’× ¤§Wæ~æÞ‰”Õ (Ên æíƒ°|T)tRpÙisÚÜj/®Üý¦%ŸÊ÷¯ì÷êmËÙ™oƒÃ:ÝcLÛ×UxþØRŠåý´¯g¤ ¶ÿHáVOuœ[óm à@¶ãÈ\L×ýk»X椋A¨Ûv~¼ÂÚÒx†P)Æ;éã6› ï•ø&Í‚™D×ÊL^1«Hvò?qÝ'¶]V›!¬:ª:×3\ƒïYªIr~¢7çkeBaßÍ?äp?@%(ʼF¸^ÈÛ £³©cŸHx6Ëgt!ö<µŒ¦iXÈ L¯­B‘>ŠÛžð²Þw¨•go#+ßÇ—Ù5ÍJ2K"0潚ô˜ác~+ªs—$'"€“œv7™qK4„!ž Spþ´SsÌ¡; k7s$ÌNVýPSé ÕÉ‚Î|}Üqôl\ÚmS]~çm15¾£n©˜a{•9ðf9ýô«¢øT}ø*|¡"ó¼ÎM–Vuÿéí͈ýçqéØ8ŠÃÚâQO 9CN5‰1‚ÿ›¼øï·qñwÁîcµ1§Xî‹F@0àúîÃ[Åš€ÂË1–åkÑë#2vÙ¢Ê-1‚|*tŒþîOîJ(÷O‹ßN–³ÚV\y1Õ‰¬IinFßðÈE¨$­í÷ Ì÷Ð~gCh ÜÀy ûðûäGù4Q¥6€•1'´½´¿Šé±N\ý?|Üö8Љº/Â}¢Â²¤â¹‚Wš5¥ù—[‹Âåõ´ÊŠ®ßI5äºdW†·sªH@@`æMÂÀÜ&èàkÑ‹?XÐ\gëXÃ9§Ëöù‚{@½­‚Ö¢¡ú=©PÄ*Y¡Eé)ì‘æá\ib3½œ–fµŽù@*ˆg*¾¾¦`Ùä\ “¾°FÿÕÎ CWͪ¨×ŒÒäÙšÖYÅܰd~ç©5®ØSFõÊcz¿k‡@ˆ5í••Ë¢¶²ÔBVÙ±‚®;ù.bïð¶ãný¿:ÿœ¦ŠkÊú¥eG.$ݱšUìÿc…Ã*qyÒ»|€}­ÿ:ŠÚhEGâÅ'çL2ƒ “ªš~g‰ëŸ&)(ORƒ¿>Ú’ä†;߆P«^ìX?H<¹&-t MIƒÙÔ?¯JÁ0,‹+z «UW³V B ZH&#q´iZÌqÿôPSõ( ©jD´9Ä"ª'Ò¬–ÈBàöZÌë¥ü—…Ì5btÅ‚ŽK\7JM´dªœõ´ž£Ä!îÕäÿØà–A…; ·¡ žÿªbµð¡çwÄWÖÙuÙ? ÷¦ /ë¨ •h*òå?ü%ý™CZ¨~««Vjm£*ë›hw©ð¬ÌeFà‹ù lRjü¶ñ'î+Ï¢¥;˺dèXL¬®NJv‚÷(ﯪ¤RZeµp7Þ­¼JïçC*—ît–à´`B/èØA-¨"ج¸¡hŽJU7Ï”nò`Xq‡¢ÿŸå~O(ñpøÐ'WÝ(«u©ó€Z“Û+»3•fhØõ‰\Ž&Uj'ý‹ÊY›.òî DRš¥¨ü×›ÆfÞ³Ù³ìþçy½Ì'õî!?{fŸ#ׯ{%ºÁÍ Vr¤ö¢²)Åku‡Ï¡wüÞ'ŽH“NÇ8¯„_l#|œxpˆ ö>ýïzŠVG8wibðí¡Ä².³Ï‚6Èï€FÙy²Óâ¨vÀ¦ÇxDôªo¡¹è—¿Vô§õ+RT‚—Ûºáå_L;ìFðÞ'øÜÕÍ×[rzŒÿìC©"7Ü,ã/m±ø•å¾øû˜Ù®É!¤eKþͦϪ…}fqÝ›Uec7þ 8´!ƒçŸ¿ª¤ô·|¼›,ZµM‹Ä½4YþwÚê4¯&fÉwÈÀO ´î´‘×PUÉt´¤Ã Víµ X:o?ÌÇÀg­rmÁˆq14’ªÞ˜Y#-†øô}?Nàà‹’òíÕþOWZ\¢Íá€Àâ2`­ØK½(ôôê‡ã—ëúô·¾«B@P]?Ä Ä¾á"4b½-ÒSy3@õµØPqgÓ,È’Ûž²f&Åéh—l~µ¹„˜»º0YC"²Q«Š~abEë1f«3 ‹ &¸9û>ìHÇw´üS™Õe'ˆÍðóLµ\¤w~©B™ÖM‹C ·Ó2ÕýšÉ iFö מ2oÜÏB4¯ÌéÙ…j$pªÆ9¼©<ãð>AŠ}wÒ. ‹x«ƒ¯’—ïV— u©DÉwe ÃTÉ´–-7­òÐ Z5Q$;¸†·‹*÷ýZ¼Ï)ÕO>LD­i¤ˆ{ý`y¯U¾Pµ9ðmFL!2ûªq7\OVÞÖbù?¡ttð/¿J‚´E™.-­/š$j“uNQrŒ· ޱ¬kðîó-JNÄß6Y¯ìà7ê*£š¶xe¿IL×ÓÆŽ$å®üÜOšcS¬F"˜Ðöª!Õ`˜zuaý},rC)’vÈ{93‘މñïÅDÒôÜÐ^F:ÀVž@2lL•”ÔË qm Ú±Ðx>¶na!¹[…]\VwõZ~#zàWøqæáŽrÿw›Ý*Îï][t÷ÇÅæ€ºí[«fŸD°!‡ ‰W´X"\h†¼yWö<ͨÌpp¥Øáµ+oÖÍP§ááÔÏÅݤ°º›µ…aȼlxêoC=$ ŠwÜç·XІ";¥®È”f^‘oi͹9AWhÇtÉð*ì@§ã”Àeà9ÍaÓ)nô'®àø[5¨çÀýµ¿$#PëÒb‘çB1w(1…uÜoƒØ¢[ñê<ßD±’úÁ¾÷.¥ú&©Ë$ùœ”Ñs7س\Z²–]Q*Öxëí¨¤5Ñšªp/ºJ®ÜÐLÃ%NãRÉîLk¦<ŸKqH< f¦›?¾íUaˆ!$ž§¿ynúWŒ{L—<¥re äú`” ª¼|ÍÛNê¶4LFŽo²j;Su¦1CAÆ;ŒCD‘º³˜ŸÕõJ;?TS&P”#®lÚÛ1 õywdz7ø[;¥dXH¥ç5:úõº"™²u7Ò™m 8²ä¥½4çHn?Plh§mZ³‹VÛ÷†”Ï…)n¼Ñ¶æÛL„ þ=äO‰Ì„v«ýGÐD}RÙæ}€ÊòêºÙ>ÿº‹Âɽ &ë&þ‘LÀ”gVÕ´'uÆcS ¹ßÊLf-¬· rW®V|s­˜½9âçRŒÐDò¥äHE £×¥U¯Sf*郯ȭ–ov^ÖA.åkH6n¨ÅÏ ùEµ{4È`.¥å‹ÖpѶzÒ4X7±0‹=Zb,ý]_i}FÔèæÉÔ@•vBïónAû¼”)x=Fìvóu‰y”6l6avˆ[ ƒ:¨8}&ÍùãòŽ¢.ûݪþÛ¬<Ý[6ã“}Çv<ÕJÜ\F€KUr Û‘W>@éJÌ:™óóâ Å Cƒ·\pŠ«n5Ų ã^[Axžøîl¡à¥wæ£û0üùë!K÷_Õ½b›KÃ3Ý7½ ‰;Óç2oñná ^UC: RºKFãI ®¶>¤Q̸”:BJý *€‚j¤†Öó”mäûwAG¼s+H{é<Éúü4óNy¼«¯XÐi~°¦¥‚ÄÃ4fTÎØY¡é&ngé¹Z„#+×Üq²“QëAR±©oÏ&Úbßq‹HI‰˜É„V³Eß©QMnc{+˜,—xçLx9l`5ù"I+n,=•Åòʉˬî—tï¸2^LzÂS. X¦»:ÚÛíùäʹ~8»YŠœßi²›|Ct$6Ž2Ge}Þ„ìwÄ#.ùããÇ É·Ü«“ÇM©lb_ë²ä,iUó­AÝ?k¹wönè¼U~^U"Å<á"Ô×^ ÿ8§Ø8,ÀØŸ¹àUŠ£c)•–?MîµWàÓ®¹ûó°˜+¿uõ¯ÀYoïf”Ã4¯S`ÆÁ#Ù6ÎßåÿJ)~tdĬXƒÙ Ÿîþ¨ù°;þœÞ€ÊNÚÐBúR¯[Ì®š¬’¶\z©½±ZPïhƉbmƒ=ÆpÿòŽã´kª5˜Â)Lg_B/žË× ³Çh¤æ ¹2ê_)æ~€oýñG|^¬]ædçsdõ™¢òƒ®® ¾øe’ë)µF^ãKWÈêù‹ô[œ½Á;޳:¬ÎqTjß ÿ«cçœ'„ ~&.G ±¦z&e¨JÀX¥Q$ ú¥ñ>`^òhtº†ñ«Kíjþ %ÜÓŸèÉÀ*R†ÕË,ÈQ{{Ëš|{ÂÓgE­ôzœ›ÞÇæ¥µDG-zƒ¥´µöÔÁùÍ4@ü:|ß´ÖùN'!&ý^<A=þ;ކ9Wx³ÝÁïuˆÄYŒåA>NP(Hðc"€vî0Ú4¬$ÍF[Ù…Z7æ Yˆàên›áű…Ññ MØciìICM¶¾¬”?ßD—¾jZÖB£ÇÇo£äÂå™ï 3-7 XtÊÃ"ð†#7JC Éˆ‚XºµuÌP¥ÕþÄ—…õq%K{®@‰TôÁ_@Û×o«tt$7h$¤@V´GŸöäs3þË]XvŒ$ä°°ÂH¿› ½öÛÝ*¤.5Xt”W‘o¥dÆ­£¤Ý(WÄþô}U)3“ÎF3½ÍÌÆÎN3ž›ACBS`½öOû ³åßuI£Hb\´Íy… AË–°1í îõ˜B?>Bë»4³(×ëvƒ(‹Ù ÿÔÔ*3reͰÙUÛi°*)p%ȧ âRN³!ãæYt€pdžL X^<ÏñPµppê!aÃä®ÌÚ¼ªÀ^ˆú‡7ß5»îã•+ΞÔÖëºÌ>÷Êoîj+2Í9üÏ~àÄP_ÈûÝ5düì—ç?è)Ò¢š˜m‚_5•ër=2á%YšÀMr½¼TÆ'°”åîiÀ‚ñC=4f±Ä@îA+‘¦ôÚ!Ç40çŽÎ!¼aQKN!ÊÏÊJ ¬ù„Õ½¡îœèZ½IÊkÑ:æÔS¼—òöf ;,Õíe÷çÙô:Ôw,i°‹B‘f—!'qm/ûsŽvíËîÎ!JÔ¼S%=ì¬H’Š*É8k¤£5¿3‹¨CÇ  ÈsI¹ÀI!b}fæÈ§`ò´14öÁoezrSÿÄ•åà]’Ð>×M-jtˆIÚy# 0§)Äöºr‹^ÉJÆž±Y*]†Ü\›½6Ä)Ù›¦?–îÏ>˜Å<†ÚF‰…XÇP‘®J`£ Z¶E¨« ÑM½cÁEzÞ-x/Ê®H±ú\!…ÉÜÐþ²àp¨µ«ÒzÓ…?ýòYŽ•Æ3⮞bšŒÆøíÙ_$ˆj1é]ÕíL.%´,‹ÃIó‡â§Kßи`Qàÿ`r®¾<'å ºžUÏoƒG卸$½”j;'Cr¼a¼¤‰šöaðp©^ˆZþ8¯—æÖ~}Ï‚8¯»w½/‰â sß[¼ÔûCýÄvùmœOaÍIw/ᘭtZ‡5úÅÜ”ˆAz>W’>uëøUØÊéš¹y,i`‘[Ö㨙ìl#36 üåµ Ÿƒ‡]´òõlνgx­¢H½ ¦j¢^×&L•„¶ƒÈŸÿ_"ÏåŽ^áê.°6òh± ^ýº…YÊ€é™X™ýwFYü¨qcȽçØË&í1d7}•ãOsiy_À¼PÛv`‚jbYÓ™0Çy8 ¿'äŠÇÇÖc93¸?ë_¥z¬–zI.Ö [&çˆØ²fLõ…ûþœÈÓß4-Œðx¡/¸¼¶<X‚}óEkID˜ œ­]¨í3ë ÿ„y‰i"º|.njE«B6@Û©å÷"›çЮ¬(&µ2k%ª(jœ¶ðU†îŸ᣿Í_ÿqyMžÔ\M”Sv L­Ý!G4F¦ˆ—‘×hRåÊ’£—ÁJñ‹á&î}VHÖ=i ïìœyCÙ8yP3õúŸ¦¦HòŽúPÕ§…ÄËÂ.ÏÌI`T}`àH“Rh…'ö»W¡¼%Ðt÷î¢>+¾ŠIaì­#~×n¢ðn»” !P3ÑðfŠUM8îçú<Ÿ4np‡lzS'¢7GÝ]yÏB [ƯpŸì4‰CŽGM?†ºIe”ÑODÖj™ÿùŒ÷ä §ð·§2Ä>{dðÆb” á¤Á¿€º9°¯x䑲¢Ìót˜ª°~s§v_56ÛŠê$gx‰c Fþú?¹!U…¥î1ú*ä?Èèx¥ÚË|~ö³˜ä‚Ø­õðŽÁI>¦õlšä%É‹ÏmµvhísÑPC‹˜µã‰nÕöˆ¢ŠY–Úç–X‡m»¹°Ågáx6àMûêé”Ùr¾=¶øÅ:°0Aeÿ5BãBÅ$p+ôxNŽ{Gá\Ù·T‡¬&©“v³®&kCFزø~¹²s`¼…çº êÝ€ªŽ.)9›f½ÍHv7<¢œ„ A*k;IÒ"Ãÿñž[“"Ã,p@ÖУßÅìêB€04¦‘•»'Þæ‡ ª´”.ÝØÑš‘\^м´OdrT#qçái BÎÌ-4êk!,!0ytCßuežõºèá4'¡þ©ÃgæÏ&ý½9\rQ½JÄîß.ØX¼•¯rñÒ°°Sš^Ik°d8k†é¥az9ÛÄë?"'9š9%ÿÃÛŽL%‹ò ±>/~´2ó"gÞ\r3zÁÖEXTA²ñ¿îè²ü¶ŸN4SŸnAx#lv~"×ÀMdt0Eðèdn4¾yÏx mSÕãŸ×Ãt Ÿ™k“”GQºSÍcïU\VH üÊÜÔ7¼;ÅVç7¢™óç}k–p/[Žzj‹í—0áÙ¤VFæÜԼΠh¾«!©ç_q}ê–¢ :h”šj<t¨êîtéw¢Ù–ü뱿–"NaQ”áŽm¾%ÔLï4aI ð B`Â0ĵ@£b ¬÷Ë>®¦ÆÅ"ôÂM 'JÔNÈìÖvö©Éû‡FùctPm565÷­½G£oR!¹Î#ìD?)þ%÷{¨™HYêŦß9;ÊuD˜Å\vÐæ9.«•½1ðFD—>4‘ââÝ3^d™.·W2dR9ï”_뢰I¬™ti®°7Jžã²Ä÷<2¨OLSR£éÍ¥s¤`ˆ·Í ¸ËñxF0­LK,"¼(„)¨‡(ÁT@bæSµ¢³öïKÉÉ;r¨v·`%‡ÎmDÁÿ%»OÆJ 8þàR¹qwï¤]U}+d­ž¹I0gQúq¤Áƒ£ÕL±†ÔI¸ܹz?ÕÖL> 3²üI-7jYì"­p™¹™1jÕ·ˆ=>U¯G!uYçOÃQþ<·(Igu!F¨ONGŒ& Ž‚èhD×þ5q BÚ¿2]„Öø¡÷× ‘»Ãg+ì@¶-AõôÕºýbvìÜo„$y ¿i™äi{±T?ÿ{7Åq°%ïÌ‘þüê窋rÄΟôOS§Ô|Uâ/^4Ñ3ÂK\„3Ÿ7SÿÍeC°d,œ„‡Û)¹Èy|4!sR8.V±6ŒÉc)©{}V'a*Pó_ˆåÑú¯ªiþOóñÃÝ\q”")szs廕 #+ÁjôÔôjÖ6¤uíë)55£g5Íx˜ñëºe¶‚Œfù âÖYŒÊåH ’by–wÉ–<ÁW¡“6d—wRþ0õ•ÍCcX /nÈ´ýEÍþ¿`F ?2d;—_|‹ðZu {3íeÈ3ª!Vð,P~DÜ€ÿ øôSSkt1lâ+²Û>™òPtÖÄçõauÕí]þù -anb4R<ΆÐ.øÿÔRYÖÌÁ¼ŸÇ¾]˜Ä¬]³p.ÄŒå¼Ê»ƒü/•ciÓ`Rz±)Wüò~`€27©#ÕF­.cÅ,Žý‹ˆi#guçWAFwýÉ \gDäDp~ú(ô=2Ù>ÃÉÎm'8PaÔ¶”êâ€è c´i:9RÁUçAÆ¡ÉËÖa¢ÖŒÈ•ì†ÇùLŽÁÀŠ™h„C@yò"Ÿìd€Yx„lIˆK˜_zÏDÖ %k[^±*Ð<¶s\ßH†IwÄqÄÚÁêô¯v“ÍÈ>N”#ÅpˆâMÈ&9;CO‰è Çàôˆa—ø×sIm´#·­€õ²]ÞÉüO4CÃΟ@%âÿÓû$ØμÜÃÚ¾1÷ʇqìæˆôaOŽÁ<ˆaGHÉeñŸh>¬*(ä7òCÉ!~LPá`ŒúÅý8úsÔp'جï>Ì^—Ê{œrÚ ªÝ¿"Û4iP jXÔ,b¬k¾‹fØÎ&ÒæM×Jà Ø¡%×Ú}=_¥…ÐhB°”£±ÅÌ%˜Î;%šª<['\#‘ Žx‚…‹íÌu׬=©—4_>‡ÝàO0c^z†Ioü×&ÿ1ÚÝêåyÍ*ÉúÍ—™}°Œ%›Ý uDÏï禫ÆmåQ~|«Šx´ŠÊZ{-ôuyz“D¹ûæa7ŽÙŠ@)ytLÄ_àî"÷îSA(IZ{zz¯SbFM¥÷y>Ô¼øT!‹]!®â?t[AR¢Bp$z`›ãˆZìÀ/Øá’‰]'zQéßYÓ×d?‹3¥é™ï1B¡*S-Dÿjç> ÿ2+³)5}bmRoÎÖyú$ôJ°Æ˜ †ö¸õ^íè…©ú¿=¤jm WÆ…lù5ê᮳FÜ•‡ ü X¼Üްc훕9I"N$¿Ëš‹.–ÈU–Àý' ê-˜kKÉô—Ø}¦òæÇ:Æ–DPk¶(ya;!î®U±~Ïgq¬ÁáH—GУ*6¢ºÚ*f8‡—ëJü3ʹ§QºÒ¯À9™•üΆ*}#‹î~/ágqƒ¸EæÍ./ÈÁ7ä{V4VÍÄæ\‹%8“Fq¸BSJCû ¾ÐÐqÄéÏ**irñº*¯ìAûHÜ"„§M!>ù6ƒÚ>ªW6vwõ™3ô’­GÅŠÈœæ»ZfUì z8¨6lTŒÇ »º÷Cý@“å‰ÙwõÙµ´wDüÕÃ䋜íņ$»qà86Sc~»Âù ¦³D»ÀL·–Àæ …Ì×ÜÃ2±B[½ƒ®|W¶üÀùèÛÏ ™™¨7ç,^åûR´_ÆiA¿EDýzÿÀÆÔ݃†jWÿ^É@;ø]§!†…^”µí ?Ú=ãÊñ$ðÜAòÁlc v”†oüðV5ß*ÝÊ|–lVTâ÷ äßåùÆ.xŒS¥,v㟟STéÇâmL%'!);\¼½)ØÛÛk¿nšÑcÎ_wŸ`Î0…žŒš2Œöùøj”’Z.pOC´4$ùá"¯MÝæ 27áqG·QXܱ»'§WA#Ù pƒw’âûµ“"Ûàb¿z¦“a„1óòÃ-¼¾|çfã.<óY×$8ÿÒ#áä0  sŽQDeÊ­T%åÞa$§øUWF—½ÖvÓ®+/:0‹&Ã"Œ™‘„Û7ÝCnO«°ûÉP,Š_ñéfÞæ «¨‹2·¢uQÁ>TìtKzDÿ5¯J,)E¯8ABÅC¢/³9f˜ˆÈ;;Z&Vÿij!±ÏÁß3y†˜|øI)S»3 -Üz.Äfûn;—ê¡Pˆ®R‚ç…9¶dÇ1 £È“ZBÕ‡ù@Ì5O¿s‰@4¬ 4ßEã9_)¶ØE'1Èlg²Éþ:Ô¼úgþ-Ç¥a‚ÀÚ¼L5Ìß´«Ž"Å$ëå%9òŠ š%jéœN°r[¢îw^´ÎWç€]ø–|Ji»¢%ÿ—§w9$!Æ‘?ÅÀ´Â%¤iºDE5Šºïùƒ'S—£¯$÷41.@]üB•³4euþaÀÀXŽ¾ã»æù¢øR›ÂÁâÂXtª}»‹l«—¬¦_ëò¸\]Æ Z GžªER¸Ç,¶ÅÇê­´˜?Ÿÿ±]5™Ý¢";6pçFr¾%:ÎÁ[‘=œíxWô²- h•_|°ç° ï§œÁ9 %ÆdÌgÄOð®ÜœÂ]·QòQ†¿›Ëÿ6£‡;8ñ¢~Dc,N$ª .û÷Š„\4/–]êlRÁ‚xPLŸW­´i¦¶Ñ»ˆªp„K>4áÂð¤ÿrŸØgMSÜ"$­HíþANŒ«gL#™LœòÜkÿ”Ž7ª4kSKJ³‹a¹Hú5êÙ §ÈbÝ ÉDº|9'–i—!¤XAÔN=(q˜sèؼ ]r­!Äg:&½€¨&w²AL4OîȇØé®‹Á]å1Ùø‰£ìÀ\ZÅßó¬ìdhp’QUBó½Ü9oR¡k>ø5#æ .FÌ(ÝM«íÖ¼*ÌÑJV_~pl½ÏëOÏ;àÂgk”£±•gΫìÚD?„æ`íåBíY¢ƒ*”F°ýYÔùšög¿v^¢Sª×Ó¬”|öÖ)&LpÞH^)ÔRÞ­æ«~z¹rékü&êÈ0%k×+Å­šÉŽ?üÊÿtðÑsb-(g»®à ÷ÐÍŠBà§M‹‚¾‡i‹zËp³¤\tÚTëˆá¿wbÊ/“òLž%y‹³šUg pcºX¼vEr[<‚ÐxÌAjg¬$B—)cno/5µY㉸?ŸwlZåáÝÒ!„y5Ÿ5khÛ6€ú×`ÛsåÞù;¸Lá ¹CfŒßMø1¥˜þTø¾^¿~¢,í½.ð\k±kŒýg4Z:z×]\ÎíÓxÔ©¬wˆâÝþ]©H9·1Äš„¨Z|DÅ }_Õ86‘ŒX&¢q‰wÌ›*Ñøÿí/µEu™ÌÎõ+_/ü¶ÂŽõыƶ9G.~8YKŽÃ#]c¬¿2?q½EÔc™éX@jÉÿÒÂÆWŽL'±((œ)ÐÈsÈ»`,m¦À)ÜAö'Êg@öðA/î4ÓR²½x{Ò‰Üúœ‡èˆýôWÓÔÍÚv0!U;Öpg–ƒ_í¥Îdöe‡?™¢ÉFmw#„[ v˜dù'›4ü+åÖHïó÷M­« ýEùÅŸ{¯ŽéX˜Ùÿ—ˆ6ÆÄâZó§§¥Û™Þƒþ`Tªr@Ž“‰4aé^–ÕËíϼ!n0gé ŒN¡ÀlIBió@-^¤Œ*îX¹â±×0“Zæþk}Çú¡7õcp UË[}‹·ÓƒêKçü¹^-z‰ ?òÎi•#ªû1 ·'RÚþr—ÙÅ“¯\ט\!ä¼âB˜¼ù>ç£i¨î§ ‰Ë«ì/=T%.‹&Þ4¼XQ¬¯Fü¡J Y ÔK0)„¦ðBÅò°ë¾ Œ‹{øå5ü5dÔì‘}‘Œ Ã[ÍbBz—Çt> xHKóZä©[EŸ¥¸ìºÑS¤Yä×óiÍ ôª¨AñÊÙV^_*ûëÉŽ¨¿Q4\^×rz ¹NNÎp˜ìš˜~ Á$úûA­InK,þ6%9—OG>~ é9Œb¹@‹«Õ8TûOô;_q…ñŸÌ݈È'ÎxÇÔÿÇK{MM• Æ‚šéðɆó ,V¯1œPýd„™Sès—­ì’¥z]bóV÷­hwï¾®XzRØ–Ó¡`À¹—A—üh²»œõL“cDÏ ’gíâ/8Ê€¿cÓœöšRÝUjâšó^ôÂÞ÷2ç—þmžïN™(©ûÎÞX O¸µQ¹Ë”ªÓµ:=w`.±™`"ì§nÈ—HíòrÂÉÃMÏá<ÐsË~Dü~Þ·mÇtÁPk¶ƒehÐÔ>kAØðÄËÖŽ´ôõ®ÁmiiEHjëi2÷¼È Üòf˜iÆT lR²¨\uèÉRÊAãuMÓ)ÞÖd£¶d¸òw¤Æ*{Pq¨+øEŠéZoxÊÿQÂ` ¡yb¹®Ü9AÃ33xdt´´Ä-ØE"?;bªëÇJ”Žô¥ŒƒþÕ­¯}SWà ßñk ê¾tã¬t@ÃE?XIÂVô¡NMfïfXüH1 kÂ&q5ù`Ê ›–!¶¥Ì3]$ÀÈA”ƒL9ßJTOÛ¼f‚Ós5é˜H¡²ÿK¥}Ê =ô´÷°fªÁ¸Êñ2Õ zœg tµ<Œí‚\æ/Þ!áPECçÙ²@Lú -»éŠ5GG+~‹>¤w¥³˜Œ²@y´‚4˜&†ÑÃü„(-¥ÒÓi}ñö8¤V‰ÑÁ´;#ýXð½NL Žþ~‹¸b†,| Pxp kÔ,L(lÍ b.Âû[» ›é¡ ëN€åÒ¯ÇÓc€‘²C“©Â![Ý܆VÐÌ×ÀàêìJjª3¹vU¼K9sÍ8&u«„ —/JêÉ’’ š—6Ê*_ýà 1ðó÷”ŠfÝêNõ Kï¦N+,ß»ÀägþD½Óûñ‰+>håIu1¿ QÏÁ?šÿ×jƒ$ªÃ€*ÜÖÿÌv“4­° Ü Ü$Š}ÿø¼*HBò›§?æöᾦJH†úAJ.Üú¾E÷>j&ÏÍ{­ýÕ7m«Dþy ¿IÓR&Ú‘2§€>µUiç+—æÝåΉ)Où°Òyj¼c“J?áý"µbG·«†èdóXƒÒ'g–¦Eƒ8¬4³¦U‹XsªXið€ûJ­³w!iOL#Œ-àS1å|‹,þþ 3t2ÁÂ+g4oœHr%“HÐqñæl`NQRÃ@ÊdPy}6nú1G«à— %†õ!yÍ“á´[ÆlYá¢çØ~ä'$Á†ÿúš·!^ÇÉïéSîÄ?:0¸®Uk¹ÒíoI¹Ö\‰#(ïAsÉúø$9,S÷Ä#™»ÒàrV:ZÙ.P9“ÿ˜Ç­‹X•«’yv¡ESy“š‡. c$Ç1T¼Jr~æpHqQ¤d³Žoáhzò²H1›û…›ý†:7wa)FúÐŒFu¶ñŽzžŸ ñ•A4ex7ËÜ¿^샸aÈråôÍÜr‘ÿÍu¶^âs¾¡èƒÕ·Šp„Éþ©ØÆ|‘ỸޮAú‹Åûëïgå½k¡Ÿ÷€(—ÖñDnûi‹ˆ®ïÖÅHìQÒÉJŸÀÇCĬ? xëÎG^r°{ èP¤yæ®­>^*¨é¤Äl'¿Ú†š×ì–¬þ0@ñ…ˆ’Љ¨ûsÁ¦ °þŸ/SÆÄ:Û‘ñ%Añm´I²üþœZs‘ Eà‰¿•×qN¶P!/£ü8È>­í„¹Òêòá¾î,îÚ ÿ·p߈–JOÜ€…I:’ƒ3\|£iTÑòNI¨²S{2mFÏ&œ&ç÷…ãõu‹üúá³Æ²éóaž‘¿Ø½ºŠ³pÃÕ4ª6—1Mlo–ÉÎ…3n>m³uj+fìr“ùsµûÌztÃ\ƒbœñ/튰ò@¶“ÖÃ9¾VÈÛ›>ÕG¢t5±a{úLª(J¶Žf!Ö}­¥É€·Îx×f`¦ -ö>[J;4Â긎Ùb—èÜð 7Ôc³\=€@È‹w›Ëç»ä=2.ç*í¥ø täoÔŸp»ö±.ªù5¢<û&E—.f8 ¿øtósrSC»i¯HsY™½,D³GÇ%9B6ìwïä×]Z©™¾8À -v’Ôb„Zêæf³xî„ø™ Ŧ¿~é8E]U¼s’eTØïczæõUÄ·•Òp@»T9ôf2ðÖÄèxuŸ,èŽx< "~Q&ž‰IúPbJ94X}¯¼²I~ïÀ.—P0õÔ9ïsá„WïÇ·*@)\¥(r¿3eë¢P³1õfï{³ˆörßÉ˰€Îºø ÁƒÐºp©&BÜ)aÅÔ/¨ÁÉ1Éhšœ§ÿ„Y83M™ì\[‹ Öaå.튎r a» ¯EçöN¿àqtIµHP6·w掀{6·Y Sgl"·õêŦ•Ü«kãÁº@×ü†pb¬˜á·Lš Š6 p$Ní„çG]eƒÓOÉúmý7JÀnÌM¤­àgH Ôg÷BµöÇÕ©‹cü,Údá矠vw{ÑãûËØEÞè…ÿ¨D?p¬Š³CÄج—Ä¥å@ôùìá¿n´êú\0þ!N¶Þvùžœ“#ÁNvn-›Ö QŸ¹µ·ÁÂÅÌI¨Íp¿ ŸòHòªIãi'ÖVoÏœÅû^ø¨/b–+…Lë0— Ð#AÔ¹©$JråϪþS ª 庥÷@39“Õ­MÖÛ¾m8$q«‡]Ýxðgó§ÿš6…î³LØ ÎN v¶Á& ‰Ôá`´pPÈ•‰ˆ.Cý'‹ÕPDyãÊZnñÂÄD®5R¶ÝR·/¼¤Sa sÁySÍWÈá>?®Óq1qO‡i@]nQ]5R™ 9@6íœîI}ƒ·=UËÌͳìñ2qÞ>öC)úg«(hr®¢Û»g+ ¯ er5N léä &õwúHýM@‡¤s¸èýª¼¿ZHíÿ*üfQqþò³$ —»Í¤X"Äæø¸š(` LT&2ý8 7éUóV[PV“ÑñúkN†Õ˜k$u aÞmyå܈Í]r*”¶¦{"èi‘à*â'º$ºqÙNšvŸÃàZcrÄϨ%ý˜®ä µ=Ël.M•ÉÕ¨…óL!-®©ð,‚jTæÈ|’ŠsM¹Hh5üœÚhI>>_Ó½^ÓS6'—Ãæ½näøÚúi)öœPÆ{ó¢Ín Ï¡ìÍ[)€ë®\Ù42¢ÆÉÓ$,ć29ð RBfwdðHnF(̓ÿÃ3Ép.¥ZBeΙ%']7 Êܱ2ŵ¾¸­üØó§î·W zÛV~ë•A»ZgëJÛ²·¾ä?æ3îãÉî„ÕéÐdí&û zì‘*ZiüGýRJvµæF¼/(º€u[¸0Šý¬Û‘ÓPëz-AÀFñ «ø%¨Ybç©÷’z‚f•eýáž"Ñ4ñç–G–¿Óê–äíÖ°5ë.ºcANª±×¦@WýùQ?ÓBÂa%]-äm×£pvE'Eå[q X»ç•·¬áan€Ü2ï~¤+S¨GÂDâ…%ÝÜwsæ=ü#Q·H["Ç‘ª,ï§­ “¬è“PH_ôΚt AŠèZÐe¦×$×<ì}÷…áèò¥ÀÞWhý¸'j‡d¼¤–Mty`ÙÞ˜ê¨#+~SÏ™©ëYq-a#AuR|àºï§¡.óEÐc›Ç‚©OdOC°ô* ºÃ\ÃÐÉI@;?]WÃcFŽNÔN·œçÿ ÄçÚ‘üoîf-C¾íÓÈx ÞúÅÙ3n:#ú•:rðä>«í©Z=POOEØ¢8"ôéþBx«ÉM°PKúnKb=áyjØzÀÎ ÷Pm#t‡øë2¼s]ë{9¸©ûKÄq¨ƒ_qêá Òt‡¿Æ¢?9ò³!b6M|0ހ¤ri~¶Íª)ÃC2?ÿØŒ˜¾NWT¾ü0vAî ÚA#ÒqÓËa¤vðô  V¬˜“`µÇY>Õ›Îáô/œŒìòZâø\‚þ±sxPX1…™Þ¬•gg’½«í(Ey2Ù±ïºNd—2)x¸¡ÿ LZdÅ>ðdrô¶—BãciòbÞ—çuà8N%r uñ­CÓéJ„ÛÝa{*_I kØOˆ‰ÏRz¿uëåï3 5¤Ç"‘â¸Ô줥8³QÐEä†O{¾†ü,ç®è'ŸKØ]ØGÄΔÐVæ‰cªÔʶ50  +Òç¤ÌÏõr¸7 ¾½¢«5MsJÅ!ÀA÷sI ¾î½Éýa \n²!…€§¶TòÍuUËwÛ¨=éHEÐ˨¨W tw>Pæ]Vmr'r÷1æÜ²È V‚¢«½Áj˜#ˆ5qûÍÞê¹j*‰HênªvVoÿ×ñzæûŠTãU$ ë…yÍû¦áù^yý=` •ÔÍ»¹¬;ãNqU‘òk›èŽèel,î@É|Õà“~dE1‚®òàœ€ô#Ug@ºœÝU1 â¼0U2ù%´¼)Ðÿƒ5ù·#ø¤>{Ì·ÁÛBRØð¦YLíÀÏ£]»D–”È‚O…<ÑÇiÿ‡ô ¸oÇ“‚Ä•²ê*r;¾shB%CîÛ½i†–†ÙÎÌÚ ¯îwŠø¹õØðÇœ÷Ì"bQëvðõ°ëäbȵ0‘Î/ebì¦@#­ñyÁOÒäû¨Buë:m}Üœä›êŒ¨—á(_Màz0æÎ•eÔó#ƒ)L|± >Á6ߢù¹‚úÒ™kpŠ%³Q X>Ä¢ƒ{BAޏ|’Éóö`ذ¾=ü;±ýWÃ)ߥœç+LÊz¬Gqè¡DV º€›5Ks£ u³Ž ÅO‰‹2Œã<˜÷wV°ò5úiÅRjç&Ÿ/β ñ›ÿªj‘ÊI¥ä•T%àû‚–¿ìÁ¤?²úÌ2-'ç—£=«Äk1ædÖ$Ã+u¢¾Â›ZÁ¿ÐÒ“²¦!;÷2ôÀ!ŸïM®ƒO²>œ'¯/ºE ZÀûœÛ¯²~ Fÿk%4}Ç8Äv Sv'#í ðä ®sŽÃ9ÉÖÑsÊmk(S‘Åãeľ ‹_ÓK ^Èæ=¬¼Ÿ·š=W‘¤)…@öN2Jcçw8$tÅ]ú©ê"Øhfë ð¢¶Y¼£¯tb¿÷Áœ%Û×™)¼å'‹9çÇ–ô°-™û_’±¿¬#ø¬ž^„xò?'bìáÀ|ÖÛp\+¸Vj˲ÇSÿ­t\…2’Y®â^nm‡·¯@h_ma¸;•€WŽq^‰%½ƒ$ó‚AðÊÎ\Éïu5ç·øP\Â_§©ÎSò¹î +©"é.Ê׉›FO(`*S5îÕ3ì#fúúŽÎË>" ’´BÎp xöÖÙ¶mß´i=‘|X¥:¡ðN`ýb Ö‰ŽÎ›<¸é·)“>†¨‘re×zýÌkdúUh¨)‡Uæ 9ÇÛÙó7ÛfdívŠH€‹^ºîÿ”&B½”µãu'ðq½œ;ù»Ž˜ÚI„Ž5T.é•Ï #¬™°õKìäˆúZ%b¤áœø$OQÜ)iqaÅ’™ òL ˜rµb;¡ ò!cíp Ÿa£g[ÙÔ±ü>³Ï}¥Jª·‚‡)p¹X%1d=›¶ \ÎÿnµÀxÉê<™þ´æßù<Èm–-¦ÃšÌ'«+A•„<;èhÍ€lÎ[aÏ=4“©Á—ÎYX>>͆¨* Ü@4 OèÔ,Í­¦«±ÇÁr¢m˜|n;gh 챡>¸5hÙ¡×N”p5„¬´{²?üBŸŠW½{ŒÅ F‡d²1K|±A*,í oú8)æ¦_ ™ÊguóÂY¶ £bÈs×óIµÞ1–ÿ£7ÖÐ= ˆ@(ù&Yñ"SGj§-C×z'<ÃAp‡™"÷ü°ÓG£¡Ì4Ùú8„Ó%B¬3" Þ?£êÜ+)æÎú¾£uÖæã±M‰ÃGZkØæ†ä쎺Î4“·ç›´E-Øî‡º”Í—~òyö©¢èeœš‚¨§¨Ë â²qáßïlG D·™ñ…Stöоoø5DÉ[.•’X¼d‹[*§+/°nñäžDfç†çÜÖu´çñSh°Cá^©¯2Ô‘¨Q™9$órHm¦œy£€å@ÙKÇh4]6 zìÂßÀšÑ˜ã¡'ͼ€0±¿ÑJŠbRÞ}›þ*¶c£At‚ ÏÇè«­Wåe%¬®_¤¿(kïüüñ“ކwlK.ÔKW_1¼4°½³Hx†¨ºÍÞ—¶yûzÀ+«•ÍÈy·aIO\æ·ÿŸé¼¸?ç[d£ãÅIl,ÅÚþk vdŒC–gÀ7Fõ &pŠþ>bV?N[øÈfN*þ®Imþ¼?p8ãÜݱ¾Î¢hXÕ˜Š<ÊÖ1í©?êi%Jõí[\4K¤~Mû:±KNˆóhméëú0ZÝU¾-,ÃzãÐXiÅSÙ:î B­©€þÆÎ2xÅûîo+ˆc b’¼œ Á«@Ý!ÙBÛ2€³]D–˜µ««7º˜Íä°‹´Ž8LMEE‰ÛíëÉŒÓT%E¼S®ß-9Gù–]{Õ¾/‰žóeœÅÎx·Yô¨ôlÌåÙç í¾ 0ól¥¿¹T§f¼ÄgüVÊbI•5éç°‰ÁSå‰["tâ^<;Nt^¦ì:ÿ¨†¡köcX³Õ J“²T`¬=‡ŒÛWYK0Jõ…¨£bñKïÒ*7é¥ÌúLö–·tà™øwWs›T²“XÒ¿•!³—¼ë9ßô®ôðŸ/'2Í›h‚!ø™siÍ;ç°T±¦—J²)Ôž6›¸<^•Ý)gúÄ›ä $3Zð¤<¢”ÛiýÄæ×@Xɸ–îoj'ž„eFª°ÌDLÙOú: )°:a56b¿%oðº tΟ×b¸kÜl³{šL=ªPfr2Ò H^; !í”uqÃ, ²ù‹YH;»‰zÂX׎k^ï#Z2œKhª[ñ' •±n'Á!Šì04£-<º{ÇÅІ®ÇÌÝk”0Íc§Ì*`j_×ÕÃZ½c MKÙf-é!E5µoŠ€|«Å-zÙX‘Y§´ÛóB%Cz¶®m×U¦\tª•İø%é×ç†áJ=¹åpÈ4b^KFÊe«š[—ɾB°úf™ñyTÅMÓå3#ÁçSº`8þv„xiÇ©‰`âþ~PÀ L6ª4‚”^¯óÓ†oºÆæ œk²Æœ£Ï6žsxn…o ¬íÖ pè…WóÇBä?ŠÁQœ?Á3[«åz£¿„ws¥C¤½|­’yX¿б«¶ù›½–—) vB[/9‹|ž‹¾aMÏ›©°4v%µWnÆ5[þçèG1Õ:«bå«Ë7rþ_‘Ùn–nýlƒÛG=iÇxDFôÀU5TC›°G5XýÊø2w/Ìþ÷€V,„\nó!˜qxL † ,Î`±9ߨcyÊRäßµMµDÚÌ%sbY±Çâí¯ÿšúÌ®¬q‘“mo¡nLÿ£8I:ŸÖ.ª’uX¤ƒÝõ&Œ­céV ]Ú9:Ö‰9ªí®Z<†¼ü¶¾}Ð=v¯æž‹rB±}ö|!~¡ÔîÎ1ëÑ\³óÅ|´ Ô?… zh*êæòýs‚œš$M±*Ò8mÚÇ^n&jÛ4¿B~®^±²äĆ•G»{Á/ÛGèå”´Ò>Æ P>°#š‰”V ´6ætn¬';ŠÁ5ÏÓ‰Ï Á‚h÷Å\ÔØ^ú¨x#Ùo9¯ûkõ‚3T¶&úˆ£H(ß'u#Ñpw²F›¾Ž«Žd˜u6d<¬#i  p/YKubÑÿ>Y›EÐ ò#¼â61 É>Ç2QZ0¨Ï¥è)e€…5d-[ÄbIX®¹+¬V¦Ø¯ò¿GH‘³ÚYYEIl®ƒƒö2qwãyè üÀ?°ú»[âUŠG1®å”Ɉ#~"ÀÄ+XDy;§‘¬ hà¢!:üÒ ƒÊmŠu$CÁ¶rˆ%b Óì_ÇFû€ó:1ÏVëÂÿaMÒ9&1Æ¢ŒhóP‹YêÙ–îö`D£^ êôI¯",ìÅÊáàÁ¿A‰-ô¡ú±Ù_-оƒe°ªûÏ’\2öÏ„Œq9>a 6©6ë½Jö‡èqüê+.qEo 26“š_K5I"" £ÜJ¹ÔºmÍÄTb—uIr÷5Ú‡åôêµPýtý”\RòAq~ŒÍ¡¯t¸"  ] Qi ‹€/ù3TÈZ之-ʸý›t•P**Ö K‡†¬ A.óËih©ïêþÐ>J‹'Ï+I˜õsT{•Íq÷Bùf±K>(Æp›5•%Ë]/”W…Àœ®˜Û«1T¾¥A>Õó7Ñl´{¿xöTXd"­Ezò¾dJäíÀÏZR=ø#&R»âmî&1LôHañ`ê·JÙÏôm‰èœãv-‰K-R~· ß(3Œ×Ѻ•5j­ø3^…Ÿi§(Û\¥¿éÕg x´äãÑ'KõþÃe¨¸©ùß,`ì0 :â°Oõ„Æðüʨ£K%Z䱨]à ÛHÍì|n…ÐaO*»¥UZtÂeí—°ë ;\æŒÿèÁº½ 1ûX58‚/øl˜Ë¹ëœÞ,1¿‹ŠsJ /Y _l*nB ÏëæáJ@ä4=ª]þjµ?}5ͽ"ÿ©ã}Äø€ÇæOSR[ÛC û½)¯¹'VÊk<³ls¶g‰ï¼øêò4B‘¸Þ¼tLÒHŸXÁìAgÊ›VRåì³3Öô}½6Xò½Í¿¼ª–'¾ˆÞá?ü}\¾Ÿð° ]À+‡…,®Ç1Ìð§q»€ÕÅ-éZ»ÍjqÈþ’ü…À76ˆó8œtͲtQ‰âa(CÑ*T/íZ´»ž€~û'r#DgÖ,᫯JüÇ‚ êhÍíæ ùÜçÄ?ã9#ÎÌ_H qLó9qþ™ËQµþ±[Çψÿ$Å"Â_caRtMì…%%3Â\¨@ð®%¬!_Ópœç´Â~”æë8Ügª*´ñTÞ Ó7ÿ^µE€‚ˆfyWôðËðÇÛ“HÑöó5="¢æ ðñ—’!¬¢¡ª„cß[ÃÄ{¿ìªaD"ÑŒá„èùðXlI!ôpÕ±œaЉ p@u 0›R‘ëÁZvƒeÂ|…c ²jšH]vR kú}\iäi\óå­f¼»&Áê ÀÃ’ªþ‘ˆvÝæñž:ãÒœ´¿³¥$1,Êç8€¢ó Äs ×a,¾_÷Øû­P¯ž¨¾‘N`×IÐÚÕ|ìˆàëÁ7ªæáÊÌ^Ó·MNØ0 üKY³Õ«+CÁç쥔 ûc5÷ÓgÃúiØ$^|l8ŒK•#›OD:%Ùç¼Å(5&Ó—ETQy޽0bÈëÖfü˜»ã@Ä[±ÙWÍ¢ƪr¡Õ-+[EöZ¨ìP²µ¦æ@ñ‰Œ¦s÷ÆKþIJÈS`× ÷Óµët§Pjøe;dCŠ”f ÷±}6cNóñÓ´cº¹ù Zumª˜ë5–3m¬“:õkÙ¤ 0†øÂ{…:-ˆÈÞõxÍ2¾-)¥ó"ƒñB{½ríØM-Yqê™Qfg(tdöà­Š4ë„+tÇü®€Ž€XîÒª~…²¾5ˆÈ#=wnú·NQ¨Ëþ"ÔFRM®3qý÷Çõ·Ü·Â=Ö¦>­'¢mžL¢E«…Egæ%Ìžó¶„àµÀZŒ€åÁÊ‹aÝÂ+gÎhOâ+$.[äo:Œ¥—^†Œ|ÀcÏ“ŠQn–y·|Žtà* ,–Ó(à×KÅsà„³DBþˆ-j€°yšöÍ~é“ ·T«Æ1AÑHz ;‰ªÂ^Ø‘¤xñ‘ßÂ;UïêGõdž¥%6ý°‰ÀÂà/ñZ0·çüœM•ã‡I”¦é2çMÉ4`GÆäÕ‹îô¹^½ ?ÐwÄ~.DL‹Ë÷–w}˦°-K$íâ“IxéØ,äÓ*e…ã4ÅãÓt¥Ni r1àx•4/8 ÅD‡e?\*ô[ èy°ÌàžÝÅ«rŠFO'']Ÿ#á:JÒ3€‘ غ®µE «aÂj¹3“ÏvÂ{«ªˆtt­ƒÚ¹åµÆ¥~õS5ÙKž¼v4Á›[El¯‰ƒVU¹M3&™8ÄŒ‚Ú—Xör CYc—ZÁ¥C,~~¾ÕÄ—”{›ÙFã¤d½V¢Ÿú?Éñ“•O;d#q0i)V%…„YXBôy¿„´‰ìûG×H@¢×ªRhß F û ßùðeB”¼ï¢ŸœÔäàé‹g­s¬*­:D³¦Üð˜RõÒ£¥\°GÝÀR…Ïžé¹I…‡k¡MëõîÓ°ÂU(SJç+—©»ž¦eòïõ Áôv®´ói¬œó‘¤ºÔÿDgk¥þme¦7›'2‘|gª¹ »7¶2ÛR¸ƒÿÕ£ˆ#[ÍoÞ=@[z##|ÍzãšLKŠöËÜ®h‚TÃ,¤y?<ÿ°pÕÁ&qa…ñ¦!G -žr¶üî[¹§er´<¹Øå™$ü;Ý·Dk7¾Ÿþ5Q7<Â:ˆÎèã(Bl¡S”¬ž|S€ä•¹°óeð$€.— |h+d›Ê«,b5É'fD9šß»XM ᑆ¨oRxûwÌ/ˆwŽý†ÞïexÅ%%zqUýlòôÙØ0•î¶ú0+pòã‚ÃÄ!è*, Â ‰h›wÉ×\w1´âoèð<]•½žîæÒ-3áô{˜ÝFÉËý¸Ä®çv¾lÁ@AÎi´ X}s rüÉ ÉôÍB±ÁOá‡?A×_|)FEß^nðªP‰óRQWSáÖº‘Ç[•&·~ ‰ÞŠ c±©âú2Óô*ê| *7pr€"¡wŒÐ²[$‡`šên©b½3£g…î,‚Ãͼ6È`HI;ZkI™Œ… ð²x€¥ Câ˃«îʃ–…ÅáÎi½b'L%¼«7·J–6„u³ªJzkµ2製¾Òݲ†¤¬–1ÔƒŒZ… ÊÏ¡’ŽW D¸Üópd@›ü´²åðúl1{¢æ¼!î‹ùA¼.#ø¬n!¯ÃÃ&üµ£]—¸kQÇm§Qüc¬"ø@×é­Ó©TÆIžCâæZ0س€v\¬‚ Ï467XÜ"¾¸Ú2³{? ‡“NÃ6ôWW½ý'2: ,93€…üÿ˜FÖæv½bF¾9ÝØÎjž|`NÓÄO*OíÊ c¥Y_Š<×ÊðP…Î ~ƇÎñ«©¾ý¢%W®K¹À¶q»c-l$ˆ¼‘a£•·^9Û#†v÷.2|,"ðw/!¢( §âø&µ—AÃ6íî–4: üŸ…²÷”še9B€kU¯§8`³e,èÝ w"êúÇ×Ú$Í6Í£Šf–Uq¼–ʼ„³¡×³swzVÚÙ0ÔPÔáÍ,ÅÁ:%Lÿ3æòÊö|qóTŠßoP=¾üj÷}·ÆïŽˆU2ÏJ¦{†º"Ò+Àé` #@Ž;ƒ²Ó9D j»žçºlg¾Žçž èDÌò˜á3Ü•‰Œ'dÏÕqPƒ MŸáÃØ³ôgª!/‡Ž“|¡ìÈŽÞXNÅGýLƒŽí³~‹ž­uŸ¥`ê Ké%Íi-à.SE¸è6 FŸñ"˜ö{€>¤VÌx£žwQ.êóÏO®SŽ\Ö‰-æ¹]’ÅbëQºŒNüÙ³Ö»¨4 “Iú{Â@aŠqÉÙ=L¼$Ѧ<ÐwYwèšcäø¶›-"ý1ZM†ßë¸tìø¶Ih÷:A.u¯3É£­M×´\¥ai• $ý¬¼7O‚4ŠÈeå¾­ºh•›ï­Z638Ðh‚}àñ0¥R1¢HôSÇ=’)Ô¬J46ì?[7d¹}±P¡U1 —Á¸å­y "o¾úR+ô¦Üø:÷Þ­kMÌøE2mı È?Sˆ‚Þ*ºÏTØÑ9}›ªS™d v|" $ÌMHjÇU–ÿ‚JÆe,@•ö%û¾L’ð3âŒV³ƒ PçÂéÙ˜(U(2Uc¢V?у»X}3.ãW…:,,ÊnØí·ŸMâÛ>u>)Ðóûâº*îÓFF\_ÂØP2ŠhâR·LÈì´‹÷ PÕ¢·:ñ¨O27g'¸M´th|㌃sÁÖí¥Þ¡Ö½yP>ùæq;ÈtPÛ=mcò½”fŒVj¡ >Dœ>lFrÆ=H©f ñA}-­xÁ/òÇþaWZŽâƒÌΉ}ôY» °ç eé¥V«ûØ›™Ô'|ñÛü?C Ä¡ö‡÷Ù©Hut÷@Êť̾|y܃—ÙS±BZ(]Ðo~b±öOþ½É2Ögö º²urga"©º½²_Ô< ±ã•ØtT)ŒFŠL”ø¡_<|û¹§z§ ip û·É¯‚bn¡—*Vú„½Wª RŒÍQ)|SÈ$»'ê†Rß^c‰WZ.mt¥YŠ÷ÐYJÎïÐ >1¨4™Út°ám%¿>)™ÉU_±~/–»tHi£ˆRÇÌë6Õ bP;ü®Ô*OZ`Å4¬\ÔKšíPÇ·dt:?]•ã/àV¥Ò{o˜Xû³mʈgô‚yàµ×g…”x³Ó¥ù¹xÞ 6p—L0&>e‘†üWÆ6á Gµ¯wÊ}€¤·õÕÆ%ZæÔ/œÂþ™Â5 ÆlòéÖ”O(ˆk$ð©ÍÝ}–¯c?‰z?Ó6Z°²œàí´_‘UßpÖ»Å^×¾ùÿþ9zÒ™(^møèÝÖ'&Íj0¥ƒøuN¾â$7/IÏ=KU ¼(Ãlño 6Õ9eºáØ’JM®=·ïÕÙH—¬vç­x´ê$Ý–Ú= <ÕúµßAh[IÏõ‡^–å‡Gg‹W„L‘Nó—˜ÑìGc’Pñ}™@ÔV·¬†¼äDTÉÞ iÁ6ó©¢Ír£ÿvµ)RÓULŽØ¥x°þÆëœu½§P¢¢[7¹Ú vkçñÎõl ‹_5»Ýˆs$záD¸=,™ˆW†ùƒã7Iý‡£ÆK.äøRy³øsx¶ÖìÉwöZ9e×Ó€ýTŸæ Ücîø6g´1ËÇùõ…ôΤ—IûÕ®(˜„§³ÑŽjñ¦#a¬Ð}’Šd‘Ðù*¸ocubké¯:7<S²ë«^Dd/럨6¥ñ´2è Î‚à 7úÆ’ÛG(|£6bF‡G§ƒóˆgJÉ´ÙrŸ1õÙȘ„>^¸h‘Œò(TØ÷y5Gu¢Û¹æR«‚œCзÏãùÛåú21«zí:ºøOÊwL'«6öñ>͹»m„zóЏ;©ÕïP<ÄgpqüðþVóë¯s7–·7ˆ–´—ð¼]HÞ»¥IN ¸è5¨Ã¾ô#÷æœÇëK„7Ü® ¦sàð3á±56y”ïlލxÍ:M¬ÅoøµŽùÝÀKt×Eê'ŠG^·díË‘R#àl÷÷¥Uö¤˜Ø†ˆ™á®­{ÄQç0j陿¶|±¼˜«¡ájç}×p}¿õ…fË3§>hŸùÑohq4óZ8î¦Sm6áƒ*¬üˆâ½ô ;šMk×^W%¼GÖðÅEh<å0÷¹–¬2( x_.ãM•ÚHÖ"ƒfSI(â”õ»E;ŠòFœøeŠ~MæÕÃæ–;”‘€² ߣ½‡%ÝwÐi3Ö<~{9bˆ•WN|Àn¬뇌#¯ Acäl%ow¨nÁ¶ÒB·ÅxÊCá-ä@.Ñj½fœ²ݲ;Q•Úƒº®–ŒæÓÝ-Rw™¦^Ý%‘.6 ²*ìVªëW£¨ò¤ð~’0«h†Xß L¸àhè¬íÀû¶}+ —}p:ÏCy Íë«h8úµ-ôô‡q]]¬:Ù¥‹Iâ -õ,ÎU5•×ìË+YÅÎï;!I\He’'NR~W`|N³‡ë•1&-}É9¼¸" ²WÈ>ð׃xCóAn.sù—´-£2dÐË,–ö›góì*gíCçg£€ÿîj7¶ÿK¢QÉ?šdòólÁü|)¨¿àÖ¨ÙVKz”²ŸGÉ¿›ÚL÷Ÿ—sÖ;Û³»j¦ŽLû¤XŒ÷Æ©~L;§ ¬ë‚9¡·Õ ÒÈâjÊxdõ¨¥ð{€êè§B2gs¾Ù©o²lÏP‚–ýôSC¶¶|lôáyø”dfÞ8œ–Xk൞‰f¨EÏGçgv!›˜ªãØjü¤›Ó7õJÐ6ÜŽÑ ÜcµøßÉAp<Òú˜§¤ß*ú€éÐá|hÐ,#H¬2>|i˜olÅ€qæ‚ÏqØï•è‚sWf|Q·OŒÂÄ[ …Ñd›˜²Uùvm du¤‰n-¡¢ÆT“ȹÎÛ¾Úß› £vÞæòíÉÔº¾À&ðÕ¸~@èiåEµ4ÁÉt&è€tíĀ̢ö/É7ýˆŒÍÉÀŸ½þ{LC]5…Û„¤Äž6ˆsO&#"¦b¡»ÕFý* òB m6ÈTÚÜzÍyÑõ_Ø¥8§¾²Îg»X¬Ÿï-8:á cGE7•ã‘zèµv^ˆýŽÉ_†¬¶ŽTô|~„ñvŽåY†Ç8«ªBȬ¿ÃÆ×Vú¢9TTÃ¥Âj‡4ÃCœ ¹žfCÿYƒË·M-I¥”òC=2äåÕ×tÇbô@ôù ?®œqë¡ÊîpžlÃæzvÜõ».̈A1† _„cÓ̹‚ÊøšðÆàH@ NÞÞ»n^ﯪ±ùÈ]]9­gÞ0öWOïDlIçŽ;O4ŽÅwÇ2ÁæQÿúxHªÝ¯ë¬ª‹Íp{=°î­ÝÆÌ}K‡C=œ¾‰4¶¼þß<µ‹ûµµ$ SIwûy“õ_ì´°Ú£ñõ/Ò¨ÍÀÀŽÕ¿¨€KÎÜ;/‘L4ZÀQªÙT†ß8Äß.ad‹íÁe°üR–ÂèŽT0¶oM10v±Ý¦RñEûÊéÃLž´‚3(6‰ªÙ¢^GÒ¦6ïXY«yÛýq/Ô.5dàíbË ”Á´ ÄNûØÇ›žO¹Ùùø÷$!£Ó°Wêså’}kìÿ¿PUž{þOB\êãàçÔ?1,oÁLX$[^†I®ô°±=¾¨¯ÞÍJ¸Çü|"Ä#ÁÓMù¹ÁÊiÚ‘pï% h\³[ÑEÝ?ûQìsNöM÷ׂ(Ì<º%›‰k¦:a•ßiaÕÁê¨NäŠõÝ<Î(×´c7,¸ð© ±…úÍIS}óƒZh¢þì­ùJßú®Pž6ÁjfÊõaëˆò8ÐÐ9äd)("‡û²ëʶŽæ.œ0’Ú%iÙ»ýÈ|®Îak-›_j|»5!1\ÙË ž_:¬°%c=PP2ô…#eßácÚßê#='\†§DœÒlâþ¤FjgXβeµâ÷P'ÛÆ‰8œŽ»<.ÓIã±ÉñŽ(É…Õˆ®o¸ªÌkJIómÞòÖd”JuF10V `LÂU¶8„V¶IÂOƒ2ÝÕ¾N½¢ß ïU:üb´óKŸuØv:M>~E:葘?ÏÜw40ð÷h[FP ÈA8ÙdD4[.<$¤]´ñS4e¶;ËL_qL¥\ºÊ ö\@„‡Ú}~r¾´ üðMLœ°šÙTŒï§Rçç ¸‰ g“W=>ÆÅ[¬EB®énÐ"|Žâ #Cuãbw$ä“,«W1"ì©NHóbS^o¦ÂGç¦*ˆÌoü]œÑ­0m•ç–â·²+Ê!ÄЉgט¯ 3À‰Ûb ¶^¾Rú¿ùs½‹Úª› ÷âSܤƒŸßåbzNÜ;?ÖµÃm¤Š3ËÕ‚Hâ$Aá ë¤Ap‚¡ Ñi€ÿ »EÌ{zÇØÛF;yl-<ú£qWÓÙÓ8?½ïê÷>Æ5C^Ä7{ʲkæZt“uàÃÕƒÕ*›–Ïþv\ã} ‰€‚ÃB{S(Š>|ÞÒ!åU¸`Ù>mV»2s+s3KÓ”k|×Oä‹ÿöÙÖ£5‹ “©—.ªÖE¾×TÌÊ„ý2FÕ賿«eÜɼô ¾xúšï“¨–Fë`çsýŽÁÎ9áµ]"¾nõãÙÖæÀš÷3œ¾„‚ž›E•SOAªkáý¨ÿ§òvø1%–b -Ù²º!pWFÁôVmæF6r÷ù$à«_ KÛ W«OÐS&Ü{‡aûŨԎšÅ3\;`;¯Ëw˜m±ñd§žÞD—Ù4sp&\+HUî9BŸ?~õ£¶¾¿:•qNš\ ¶·sþt2ûwaaô(d>»ˆ7´¨åã î÷™¯ìŸ=GJ ¹pÍcÕÍë¦\~w4cláæ—Ü ¼a ÑØÞD¶Ä¹½žÍOíóbæ#+ÔÖ²¡¿ý>œ¹+Œ€DÊ!J ’ô&Š<µÐAE†Øƒ^$8─Ô÷]ˆ¯¯q©Qÿü<qiôÖ0…ÄoèLÅB7~´ç‰""Yeß®¶T}Sù§6+q`Y@G£M”Y•àR¼–ë4€h8RRˆ¨“;zª•Ï0Í…øeâ:44XÖKRO\7}{þÞKר£U{ð ï³bÑ·øé¥]»ˆ`­ó·!γœ¨öªîĤ·Ï;¸Èóý ¼|Цfa‚kþ?iG¶ã– /ï¿äÏåU‰¸¤…ƒ¿Òk*Ïh:©”/¿EcR uöÇKÛºC˜»`¶Z¤kU‚Ì¢ûýå€ GË^ÿ¡„NôP`¨9b씑½7'4®Ð®ÿ6sÎa/uvQPVšµ —µÉ™µš‚ Ì:Tb¹età‰¿¾ùtµÒµÖ³ÿÑ9sZñ,J?2ì¢ Ìd7^¥FúóèÛЮô1E“Ç3GÂâ›}àg¬I«ä^¼æûL¶UÅ@¤ÙÍ1&Q·6>í¤“¢‡óŽ ¥‘4Ì’Í9Â2&àt4܃aÔ&&GŠÇ–0LfO ;³åi"¬ë&!¬ë¼ ˆ¸Í§<­Cƹ™dTŽU?ôVPcÂúȸæ¦[˜p‘ç×1¨—™}w±G&Éko7Ë?-þ`Mr˜¨õ‚YRÎ4ÌŒ¹À:%=¸l £Ëðs‹}Ñâ4'öˆ''!´8÷àÐ3+©EPJ0ú/º›÷êÅt÷G‡€ö4s§ŠJ0$s(aíFH«x'ƒ±gA-¸a‚â‰ÃÑòÿ7eºüƒR^­ ›–TílÔ“.¡bõÛÆéÛWƒaŠlUn“£‹×m…÷ü%ûµ‰ú/<5“ŸNÝHE×”ÿÅ8É Qȥ̧¤q°6ÈÚX2º,´¿Z‡—…+Gîo×6¸”X= ‚ÇÙ‹{ùIèÚZ3²4Ú¡‚ ÁÓŒ -]J×Õ ¦0è§óvcܼ‰Lëš+XV}h©tHa :„U9Õã m~ä ,åßm„½Ù‘½”¸d!¶rÜ9 èû@·XÊ+c¼)\¾}TÓG[K›;é‰PX‡àtJÔêe%v<× õ@ÈÄË+±?á -Ùke‘î¼Z¸S¬Œ·Iy„`£´aÖìˆþ’ÅÊ9„rß™ˆ2Ò<Æ%›ŒPÂÓ|„ ØÉüØ«çÓ1¼¤Pº_hãz§ D®€(ZB{¦ÒÖFÏÓ{€0Ñ;!Cd"ðP»â—D²Üì¼feƒùœé\Ì ~õàa»ÈÄ–NZsòQ4µ1·.RyeݙӶŒ—|o¯‡úT?4,.MñÎ%O“íì—x„I@?zìZ“ǦŒ€Ížî*emgZü·DJÕüOKK㢆/”=„å§O›«Ä{C®l3Fôµ  [–ñ®A€`àj5œüæÿ‘Q¼_&JÌn“Ôy‡£¨h@/.}–)¥‡3^à…MŒd3SŒ&¼ã}‘ïw‚é@lGh®‚{…JÈ1#²,&3¬ˆémLbéÑk¿édZ†¸øÀv¿ÑY)%âqgðü¥µdB…QñÔÛ¬ñMwÚü™sã,í[‡tÑ2¿Ô¼Z¸J•À?äÂ5®aZ¯C0€êZúp;%hJ* k¬Ú!V©LárNS–l—ô7øç;5˜çë™|â6²íµ‰Àœ ð’~¢mŠeâHhƒŽ¨Dá“ ­…»ÿÒAm‹jxzäqsbécMD¤Ÿ0NpÚ½º¤+_žsÛm ’2bïè9U„:y»-dF°þ6ìVùrÔߦ¾Ž{õ¢ •ç¹ò³¹]Ýx¾Ìâ¨éAÞ´¼#zmÀóÆøR7‘îßzrh  ³[ ø´ƒÌÁIUlKr@Lñ_š ®ÿš-cºÚ:T°€W9Zûê—&ºÿ,ñ»¡è)@NbŒBb:»V{žÜE©o 9JDADrM¯˜dB­U¼iò®&Ø}}”ú+¤7Gú*Y§½l™Ô/P†ÉÎÑ"ÃÁSaDì@Ñå`&*ÿSÇ®aŽ=„ ;r´ï/»ˆºDôm¥§¶Þ’V?©c"Ä=ÅÐm…÷:ax­Ì¸h áïu•q¸‘x$ßÊÃëðÐxt­6+û—šÍ`O yʰ¬%aLà†„Ö+ý®²ÊÜë·lT›/E 6ÆûÞâðzŒˆó¹¿+â«ÍX‚7g~(ßbDÂ;¦D#ÏGe|Ò^”v:ëÝhW3ã U+À,1­x‹a¢2 DóåL ˜IŸ#Á•ËÆÊ²;wýëzOåQ»‡Î¨{e`»žÞÏ…T¨/›5Ñ·¹Á¥_— :a¤Br(i°æ¾øøˆq–÷ß,À¦¨èF¢á¢)q–ªtÝÊ%’¬.Íz”æ±ÇºÓàWjO|­jow¶ÝÝÚx¹ZiDs1&‡†8È“Tç}ÚQØÚ5 ë¶à¦–åfo¡ïEl@ÕÌSw:êÃ=˜ôn*8e½½“’$w4œ'̽h hó{mìüÛ|º(#g¡É„÷\óÙìÿã¡\ÚúÑói>A@·™˜=ßÁ ¯˜ â1V˜¦þ¶XAß‚¥t .v€9¬óbFT²ãCš¾ü­àbÞ ;[ŽÉhöIWö¡EI÷âKlìF@æ‚E}¾’ŸØ3Wœzáh`§ÜR@'Dm±9±söTX˵#vüªõP^‹2K¼ ¿féW%«á`G¢fÖåñBRMPMú°k*`m`^”{ƒÞw€çVMj`‘Šs–{èÄ#úƒ¶4ÿÈ™‚1ž³U:”¿ÚÜh>#P&³¦¼1éÁwX“³baÝ.?¹ÏP¥>ñUÊ›Ÿhs¯€E¶ â‘̼`UQƒ74©Ü5Õ×÷%_b"^ïäèD‹Íæ+)ƒKË züg_¨˜/l#!S(Œ\Y¦¥×°JZirW¬€ÁFü Å‚›ø€‘¤£Ñ”£ غM—÷t_Q3ëQ0L†.Ãñ·¤Í²qho;[?b¾e?¡xU3zèÔý¤ª—S^ËxÞ¨›¼°^Œ¥˜M0U§Ñøo)¸Q‡Yõ:;!b1{¶‹²J3¶ˆqüSbŒ(àRÛß¡Y{µ«méƒ,—QNfq|?%#LuPüú}µ\xg «}Óô’FÖ*¡>HHUìDyiÑn0¢ùOf(¬^²žI¿…ŽgùsViˆºɱr†qX“Š•§Ìv]r…$ŸL0λŸ« IçäÆî«ªúPpË(fáûV¶dÀÆ\ßœ‚T’±¡ûwžyøÞ! ›ä¬ß Ì/‚´M€E£ u¥¥ãX(ЛýÛ/Ù ËÜ(žc£åÅ¥àúÄ¡(âd^7ä¹;ÞF0nåëÇá,'D¨P·ü®]}ð]°ž«4©ÿtrp’ª] •ÉË-Zj ‰uçYXˆ»C)©ÉüÂlÃ! û!&ÝÙ?ÙƒS©÷[n1&"¼¼¬‘¼ósmÎØ’l ‡Œ|Síj{¼§"‚ˆ+¿>Ã6ÓU!g0¬[ô]Rš‡©B­<² 9SšPvVj²XÄ€ ¾ç1ÂÇ:s9ŒCÐÍMОÉ<áÈo`_ã¹ëz´·x?•Štþµ2¥‰Ý˜»ëô•ý¨n23ÓæïtßDVc=Ú¼v×d¥’ËL•@ò-\±°l9Es“á>‹(q’Ò]˜,µÕ¶–ì“yw™J)‰‚êñ? 2=:9[×v^*EXYÕ[gÆ*B¯hGJÔ̆ä4rƒö PXïü7ð»ÐeúòF:º2mRïQô:çY:,ôÏæž£K‹š,¾db€_˜k‚v<² Òo„‘GBÈɨ­RÑ?’Iòù©9*€„óç d4%’•%{¢ܲZ SféììâÒéš;µÎ³’v¶+yœŠAôÈúÿú*3åš ùv¬‹ t‚+RõåLwaü"[u_8­G ûÇ0Ÿ±:%=ÍÐ1qK­¼ ymLÔC¸ÙïlÐL°»¢øO©Íþ÷®gIÏU𢠼վ–'Tà2Y¥„3GS&,¯~ØlmÑÜ:“Öà»ÃHµmѦšêÊøì´#ä¥Ó„+„lK_™—nN'—®µÔ1;ÝÃ0ÁÍ0õdù½1M &o™õPdÀ‡ ¨¾[ùª5MTRIP¾z³›ºC¦f'Dè*w)/Ndà;í /}ÚÓ÷`Ún§´ÙZËŽŸç]‚DÔ'ៗÁïtÄ>h¶K (G"Ü·„w>—wã§gå:Š€‹-‡\AòÔ?d`Ήɳ•Lä .Ïyi€<É„µ†$¯mŠÙRäΟ®ëˆË®90núIk +`G‰,¯Wh—Ý â I¼tªÌ{àêK?kÔÊÿ#Û¦ª†GÓ’N쇎U𳮕ù½²wt:çmî_œLïÝ@üôAB§!'Õ±Ì+€”¾¥JÆ´Py ±16Úä}Tx­<™^=+Õivý}†lÀÔ}&m›_éuÛ•'Ý•.ùÃÄ6†AX’FÿÖDÈ J †,±uåÞ½ 7Æ?A6ü7vP~p´tmŸ “~§çÈ•È`Q|ìÝ6G—áU&ŽUç¤îM8ì®x°=m3³ÅÞDƒç£4ðw@UñªP7CoÐâ˜uë×w Ütù×#×–óŒ`ç)IqÝ`BãøðÅ0ÀW®—ßv’³co…€|ÐuAgޤlêõèPÚÈKWÈ(è9qǪr˃#áq&p^ýÇO$Ümä—æ¬4¬IsC¼å¥ùwô Ô¯þ¼¬€0b¡d&ÓaÔÑm˜!±¢ëݸ*nÂiï¡Ï%O%*üz€˜î8•­Ø°ô¢èZW¨‚RGhbœ$öJíC[rA¾i˜ô°:0ï Tìæ¼FrãÏP™Q—Ý@‘Ù+¯X*;``¸ãŸ/FÇç}Æ¡óÖΙ…á,;.!“nIúV/§k|¨!8‚qi9EþH@<åöî yûƒ=Þ~Ûïºÿa·18÷s8e¿ôÿ§òÄÁ¥¸¯•YšO૦ä%£¤~ÊuzIÈd­ù«Sq 7HÇ z o^Ï*3&p k£Þ†ÄÀÊÈgš—)Ò98þiUL5*šžWðÙ®B‰gö¾a®üy𶺕&ÖeÅ>e:/÷+¾Aç'W 73,µkƒžc ñÑ?ƒÈé—GkÇõa\ŽâŒáŠ•ûµUW$›4E[„Ò‡èý+Iî¼õGfÙ—"‹«Ø|µÆ$Hßjuȼ®ç>ÈÀÛXõa¾µÇ,2f°ÎÉòPy/ñL…—‘H‚ñ÷xa‡“›Ö¤4$¤-ÌŒ½õžûs×ãYxüɹr$3±ðe‚kƳòIòœq\ªßu/xwóWªÓûË.>ü £å¨·H+Ý–ð°}ÑðA-Rš3uøP†¿˜@·«‹&Ê•ì~+<86Z§5½Žor¨NOTPëËÞŒ$ÑÆr-·ª Å÷,ô¸>YäùG´Ãa¦]©ÕÚÐÒ©ÊÆåßSŠ–ƒ› àm2ÖN }O÷kçí¾îæ”æ8ä;´@n»B«Ù¼›Gûàñß#x³Åçž{)£f aÍ‚ì{²KßUsY•ÿåM1…Ó ý’OÓ5¨¶^:|ýWBƒmž%&¼#çwëç©££üBƒ"CYtK2´ wçÊ£@Sgòþù\¯¥œ^%‘pv…-é2o±ÿMÜþ·6Vþ VÙ"ȲùTñléÁö  Š,_3éÕš»Bóƒ—ßùø(m¾\ ¬_ºÖ,ïOìù›÷+|_õxVhl…;•ýn®Ú^S`¯Åþ Cl­´ò¹È€,d>\CT­×/ 'V?_ÐÁßT÷ßÖ`Jše¾¥žEJq,*õ»£îˆE+©ÓÍÌR1?"Câ²{‰âgÕ8lLs;Õ'Ã6˜få Ìîjˆ_õøÿ óº½@Çrk¢-ª/ߨ}`Íâ³ÒY©È‚{ŽÍ©‡—­àœ§ÃÅö%¸„’ïT¾v|?Ë-Ãhè!SsZ¶ÚC¾Ú{dñs,jüÂ<Á¶s"ÌÁêEÎg'›?ÁV)íYïòy c÷”vƒ2¢¶é¬îŒùúCîWÙcÝš—Ú‹DJïou„¿CghI.Œ;­H¥Ü¡½?w…á‘>"QˆØ_Õ¸GÜùÌhí––5½ì‹~6ëßlú;²;J[×±ö'߇VÓ%Šâ}jŠªV‹Äظ7æFHad‰Ô§M—Ãéf Üˈ¶1%ÑQË3"<uF’ÍhöÐ;˜)\2È6Ý»È=Á‰ƒq¿8'‹”¯4/ 3Kgƒ$zü0¹¿høe+è'ýàš?ü_š û/ù’<9H4ff0—UÜ È¡¾=°f}þÍÕöt0åMâ{8ç(!Kå4,Ø"߸e©6D$‚ø‡5ï}`ÄVx NÃ<,Ø¢EôBŒÙ!*cx¹”˵TJí¹Œ+³|màÃ#/Þ6.ëfxeœN0 iˆC-Ÿ¶ó°TW:–•s¦Ód-ùlqN•ÌÙ/áNE£Ð=RYÜ£ÌKIÛ£ôu$ªœ™ì:žøÀ+µ¶ww¡ªt‘.§û¦BýT¦^³ê¸zA‚±(LäW·:ß!@©åTs¦Gu¹fº÷fzÞo>ãèÃMTB`Ûè|¤¥X ·ýkê?zeWö(!p.Èü˜rº¾éì÷&wXh­·É‹”mÝ|Ë€Ù=‡PtéÙ°ÿ;Ll.#ã3å §sô¨ uêâ*{o¥n a é sÚnUŸµÐ¦Ùéå¯ðmAê±xþôo5TÅ…Gr‚Xþ ÐG–†PL`å7¢Î(;l%.ÈÑR!ø×§Ã6O¢2¦YÍÿ׊ãjŠ D¬ß<ÀÌjòªwL¬)Is£gˆ7›ØgW^9òŠB¹_­àª³pÑÙ¥ë\¾p"˜¡qÞdÌm`D¾Ç#r¢C’`†˜ÀwH%$ÊpÇÊä¦sÛÍìí<±$@¼iïI{‚ÄRz^:Ê7D²wϧyL=D2&¯±þ*ZV}\ØÈø·( ÛŸF‘©˜ æ74©p²È#RÉÆ,ýŽú%y­ËÅaë. » C‡©kcC%ÎX„Â8ó> ‚bBÖ"û^>ãPp‡Ÿ/w’‚Mœë*‘‰´ðo–þ¢Y8á¤T^Ñ“+«´ãn\³ G³Û %‹˜”u /ðÕãøÜPˆ Ä“®¼JIéǾó‘+dï6‚˜G„ª£ßŸ m+ê=‰Z*×תöV{X½óbä•>Šg—Ì@ :•S펕J—3À•Hߣ¦åïݹn: 7OÏüƒqU©ò¾"‡Omß=¯-Y8æÀ„¬\ƒà4¬øJ™H•q‚89ÓtÊ´G59Öï°˜—§Òí6îxk¥àÿ}ˆ¢›~"jFü„¢ç †J$a¬Œpî‹A’¾ƒ}ÀÍSOTRJ–ÍvÒ$ }÷í§o*[ܯ“/_?˜²y_•„ŽGÍòµÎš+©ò®^)JJ·)‚jJ—-v1K‡žÛ8k©t—ù¹ìò¼UÙ㾓`ÚÈn{<ä\rH {~A˜a&Î!®¸àµE·2©_QÅúú·ß’‰ll0¯ßñž}Üà?‹YÖL¬S“Z}õºW£/OÕZñU²ïJž(öX¯¶êÇ{«F­œ& u{²ýEÇm—æ%)bYÁ?õ²w"úÞÂG„œ°Í (!¢¬ÇR&Í3s'ëÃdK{MCIJ&º‡šªòÆV«=%—&wl˜PÕd^œQ%ûª²¬±ß(ZÀu䟙éMW¸eÀŠPC’3ó{§<)Hæ™"HG²ºm ØÝ4¼K’$^Ö¯zY 7÷ÇGY)|ôÒ`d…ò®],‚ð†"0ï=•kÜÝÜLñ*ÖÀ£Hej»1¥ý rŸ}lZå샨l<«W§ëÎûqô “fhV*dÞRT„‘ªçda­†ËÙ%nöá…%ZFäIOçî¯7=Šä<ŽÅelð FžuÀMѽidðÊÁ:±íUµ!xd&‚j‰š*ß,A SÑçÆKïMn‚hwÏ)¾¥~G[!×rµÖŒ4 ¼g r¹TT$ÉîMÛž½fÿrØ-”Z¬Ð‘®e•ɨ¤]ã*Ù…2ÒQ¨¥ëùÖmò7<ÞàJ·©Mõ£–b_è· Ær¹æfеÙô^ŽÞ­K"ÝÌ!kz¹c+MûiFD ©žÈ81kF¨ÎUŠA|í‡7¦â«!}¿QaCW[ö'U_ÿc”ÉwüYYg`„ò¹Í|÷° ^‚ÐrÂÈB`}: ¿Aëb x»^zF7çœ|‰Qjã›=øm:Ý€ºUìýyfÝv²~/¡÷§Î¶ì—ˆgÃ0·ÍÅ©}aûz}ÜŠÕ•OÎ=ÚB‘æ%Ô´¸ðoz©bNz)wùÙh»N£žæ¹g& $#¹©i:Ͷ;Ïižr3Ìr‹’ÿ¹cCƒ1ÀobJ˜RþKŒÒF@UNaÐ+\r æ¾]=§ºÔúVGר†Ÿï¦ä¬pìó’Cµy²HƒØPg_)Þ«52&ñ{7=‚¶—&.ªÏRju?žœ p§ðÁ‹EI\pí9×Ðü1è–(–(å-°ÈxÖFvdáøç?ràJÞ²l_/àÒƒ¾¾B#.mo1F’Ã­ÌØÞ¦uÔÿÀ÷Ùç¬ØÑ°ÁIŽ!R#¢úÇ/¡JÿÉ2}BßsNi.Ù'6v3,dž+(&ë5ÝØLÔøÕ6_Äý’opT MoˆŠlð:;N—¬J4XaÁÆ&²ÈÔœdËprÔ››1˜üvIÊ‘‡üNöCæŸ+“4ØÀÓÿ±ï™!Ùl´¶áÕã ÖÉË É—fNÚ§^¶ïäÙ¥±èˆãBøH ãØqéÑîPÏ6ì Ù‰³ƒå¯÷ýe´ÑF3YáÊY†¾uÆv¸/[á¦W_o´š#b3ôC;‘ÕŒ°KSM›¥P‹|IÂ;è{žOw³éûô¥4 É%[©Nͅ¾m¨:õb0ÖuIÎXƒH_òaŒ6ä¯%è• ¼J 3Uy?÷æ…ñˆ"÷1ø¨nÃₜ:âž¹×Ú“Âù\ Ê_häÁq ¿¨¤+÷Ž›£rã8IšëÄ[ï¼@¬êÞÑ’ªÓϨ¦" ¹‰júFO¯ƒöW-A.ßé{9T'à²Ib¹a„DW´H;!Þ Þvù‹TG[yMê½.4šÚ"‰qõGtÿ3-ucîÑÁ tµ*dðÍàn¿ùµ°‰ Bg6“t:×ÍÝ»?7åœÆZlj¥½ê¨¥ü] ®£)@±|£Ó­pkp•µv•úÝùDïæ 1òN7û‡ð‰Ð©‹Ý[“Ð?L{ÎSšÇ÷äáÅ[¶•¦ƒÿ,‹'ŠßÁþ% ýÌ Ô±à#cÝ %jˆ•»±ª½þuÜD}Dq.eî-JGm7-*ŸŠŠßY$NœAx¡K·fXh†>ų2Y5¢w)èʤzJ WÄAß0˜³iȵƒñ«Ü'·²Ùái†Õª‘¶¨À1ÆÖÔë’ B ‰ŽÓPÎ}¦éyˆ?x¤þˆ*"!öJ@€s ¦`¢ç„ۡ5ìÀ`¡õ~õ*‰Ó&È‚gÒ12-;Î@ )w³„«´jÎ=傉u±"°øo-WEå=J®9X£™S–ÛÒœ„4ñ¢®@@Ϥ᥆ÄvYï#Xásà4—¯8”@–AÊm‘kãX£Zèy–#QÝbVJ†ºga¾‘@O<âå¤ÛtÉ¥hlÐDЩ%khO«»-D€ýÐG8(oG~A†SËŠ cåq¦MÆE›*ç*a¯ù±uw×tóÝq ÝvôôòÍKûv¡þ6ôpú0´ ÅÚɵÝ4Aœ Ó“>X¥P£XgнÜsñy¶ö¢fi”²>rݺð@îT鉉‚}›/Ñ~üÕâ_˜e{ÕAéãøRe4p7SÈÑþ²eiÁ®Â¾YÖ„ÒNOA þ È›90ÖD?aî¿mÑ€ëxn"²¥DÈš/ÓMÅ:œ) âß%GVÊ^Åë·‚z„K}×dc·îHXiiÃô¥|8TLžû¦U Ùêñ²’“¹#W$.à¡Ý€Ù‹œ…‡ ß^O`MªZˆÍ÷)°ôá‹$E€·ÀOÊ‘oß“‡¼#Þ _$貨jË^vc V/Ä™õ赡©r¾â¹z‰þW‚ÄpG¾À379#앯zŒ¢pÖNüÒª¾Ù lw˜Õî‹ ´ÆSƒÂäR ‚™iÆ[2èR(\êK L„ŠêÍæ"xsVkfôõC«µVVJü’¾±æS>'˜ bÊß""^Õš9&@„Ö‘BJs‰-?3ÃzdÖãµÄ•Ÿâ't£0ûˆ%B·‘1 ^nWkñæ’V¼áá"Uælë׊mn—Êaî€Û^ì_ðC1þÑ%3pÏÍ‘ôÎÍ=›?1 ¶UÞ_¡‰ƒc¢¯ŠÔ‘ŰžÆòÄK `¨'`šÕ9þzlFÈIxqsf’_E\â–Yħ|œ>f¤Sѽ¾q¾?¼Ç¸; /c1V(³¾ZÓDlóѸ€™ ý’í¡Å܈mt¯Äu}mÐQ!•²ê%ü£'øzìŠ<ÚÛ²Û5·‘„Dó·÷Ò9¸ÓLè݆8‹Æ\è+T£ñ˜š48¸Ý‹ëÏ´aa¾BµT!¹öq¡TyôÀEC1Ré¡{ÛC ï`0BäZÓŒ³\¼/w˪1\™¸ýŰÑx„ƒmÏKª§÷â²[9Çâi‰ T‡&Ó¢¿®4´@ô«”œÁÍ•D8ðGsl øø Ýþ.Ú·¡Ê4ðÎŽôS³~œª!ÎAâøZ2I†/Ö¢½0¾VŒÃš@Â)gn•ˆJ°Ã~.ß³¨ ¥áÞßsz¯0½-wHÍ³ØØ Ø}0%'ŠÎ¾i*bU°‚nL?B¬WÚkÖ‰XÎ6ÅmBZؤ•=Ô=5­¹N§É‹*V¿f¼s<]\»hLS='--@š3Ãñ9‡g•p¿,¢#+3MÒ“ @¨¹] ýPýXWT¡ÂÁêúÐúÐ4^uÃ3üã å¦/©Aâç2sc?hãÕà»vsõ¢ô›qxsš’…E`XIµ—p{5ŠRar8;Çh$|¸ÛÓ» £/ø‡!x´P¸švN$•H^Ñqc» Âp§¾‰ Ë.¨ŽÊû‡ØpÆ“Üg9T~gÝh̬õbU0”9«ë÷»}ÂMOÆŠš_&;>š{mx5žÀ ¨Òî4j¨Š/k/‰Ñ0sóÖJ†PÞ§Ä3 õ`“ˆŽ™ÔQ¨i_ô°QêºT}ÔiÄ$©Ó&Ül_2c%êÃÙ8·ó aKI-hl#„8~ ½‹¼Yð.Üœ•©¥½OàdßùOa’ÎM_‰¾ÏÅ›Ï$È hÞ³R'ÛS¢ä±Ûl“Áô$aC¬t¬ùìK_¶9‚eK_°<´é(p_[ kÈ•±UQ´a¥Ò0&.ŠÊe:)ÝÀ›9Éýݧˆó•ÏsÌÀý ´ÙÌûKÒWÁ"ç^9@u®IþÙû–*Ò«è@cuqÙxPÅðlÂ'43~82ç_¯Ne /Qñ­ [hì“x‹½ƒ¸Ê:­ ,_|¯Ø˜,,¬á«¯*k5¼7©*ª'ÏF6OiD¤OeÆ,?æ'6å7CY–^ vaƒƒnhº ½¨Ûf°‹‚Mxõxì±µ„³/K›¤ŒaÝ£{ Vxéê4Æ¢˜[±hI!.†ñÝvp¶+Ž7?Eãu¸ïçgTÓ*Iz7•Wt,¼dS3w² ÖèéoŸÙT¨&ýHW¸û'pE¤XDøÊêÇw{Oû¸•ãåcðqUtA/»pùr,°Ä_|*½5f1‡v×ÙgD¥dÙ0\;à ÉÞ¡…q¸P—°¼³yšò¢]XhŸøþr8ŠþÁ54ÍdÔ]Ê1'Ëù-ûdýŒÜ¦UÑ]OÀJLÄ®dÿ~hÝ$1t惠يOD‹¥2á‚ä¸/ ï|ŽD°ÖlÖaÄ«Cu;®@*ëØ!9›…©ySEõÑnwzùH$½¦fiZ*¶ QœKÿj`ó-Ífè?f &rªeœJ)á0çÿkÌÏäÙ¸öèý[o™ªÂÖVŠfÆftºi-™šÛuYÚj¯¬¸pň@QŸ¯14j¯Â…/„”\ÕÜ!zÕF·Áþ¼'Ð FPR³W…d&: Í¡²ÖÀÄψL£™È×M¢~¹nƒwJ¹I8¾Á©O—îWt¡xŠ~‚U§Ã(õ"œ]¯ÿÂü®®z¨Šl·æ€Ù±3L¢?~ÂébŠÒáÛ"O¯O.á_H(Wý©ô÷ˆ?wz³ Ç;hÄ—½ <9F®öž/²#0èÊ…pãß¹x4ñNrÃÍQ²21äŽu][>vøBÔÅö® vß©å)Xåciæ0} ©¾­$Ê[_ÂÞÝþ4Qª$ô˜izª]Tços[³("æ‚ÅíBU~f«ß±%<õ°oBÁTí =ó(ËÊ*Œ…Elj¹ß/7Bå 2’ÅörŒ*¦õioÝÝ®ûïj/ZëQk¿:ÿVOD*–PL]¤—µýV öî]ô8AiÚ²,Æ{ TùÚ,S¥ê(|NÌø_2Ý?h‡²Pí‡è±Û€FPÜ’¬óB¯]i_úJ*Úôòz㳂F)ÎÂ]‘«‚ܪ¶=¬ôåQlU¬Ò:™&ÝmGUƒ :J?×°3.Qq  Ã3üj©£¥ì­­gÊ£<Ô>©Ùõ1åü ' }°þÕQ£´äàõGUÕáŸA …¶Õ³&«Ÿl% 0]˯žÈ%Å ÎÙ[»]ÁENçÿ®Ú#¶ªdª„ÿyÃì{¸ài‚¨l/‹Å‹BÔ4/ïxÛË|ˆ¡àã²0¢Þú®ÛTéZ›ïÝð“|+æ9Ø­ôô"KŠ… ÏÅy=šîª˜ÈŸ!ì©Bâýcå kðT(•u1óZC!NC}i) „[¸úΪ•%ó™š{ ¨ú_ÊoüÁ“ \fÕLÉC¹*¦ € ÐrRÉ<Á0°½$ÌL‹´+>ª²Ê½1kmˆL¼Ü9v3[e*¨hÀ]èoƒ³[è*”0IÝYmõwÁZ÷t.dCöl“;QÌáôý­g‘½1!ë .e•ÿ ¹N™C»k¿Rî™#v¦y ZhÀ ÑÚyI¶Ž¾”ÔÄœG_¡eu)·µÕ²¨qlg_¤<*'/Nì`#BTùµyÁfóàÿúö;\ ¬ÍIàt^ Y½ù+¸6¡q â²ÏØ0 öíÇ_ä„[Ϩ%ji…ãREz‰=çdv…ó¡£›4eó÷©ƒÃˆÿ£4‹Çy»8UѽâKQµ.>µcö†„ÌE‘Òr=¿”Q`ã ´¡¯X̦ŸÕ~{r—d.W“}çêžïfhõD_ž&þ½omK»¡ÂÌÈö|yÝpÙ|A8Õÿ‹/ÉûZÆ–ƒ·æ[qä¶qƒÌ¬(iBknÒtîö{[õ7}…oÂL¾¹ ²¾›P*TM{ßðoC¼AÅ—¬‰9Ÿ;¥8Ü 6ŒåÚ €³ À€ð¹­Ò€Ÿá`ÚÞšRÍš»—›a''Ùݳs,¿Q91¢ÆÃáÏ ½¢Mä,ð&K¥Óöݵp¶Î^iÄ›š—sÔS9»0LšNîJLcWï\”aí= yÑ%ÏEÒë zqds HTÀdMmúÀfVºÈ 8vÛ%L¸äes}Þ Êa§k^;ëìÆÏ8j’6Éa¦–+‚‡´½O¸ŠÛ' 21¸pU£!ÉH¢¼Ë'¦9‰Ð‡³èÂ7-¤“†¼¬‚7NìÇ“£Ï íÂtô¨H„™d;+Ÿ¦ ¾È0ÎoÛX€ìާ‹@îå$³4>ÐŽèæ(O§³ÛýO„ËŸµ\0Æbth¼\$‰·IŒÞ/–`Í7¢•ûƒ÷èIKÝWìÊSŸ÷š¬r¬v ÄÚÁ‰¡BMn»Ú÷Û‚rrcl¹‰zúÞ•ó‰#òwI±ù'å“ñ¢Ü~_°iøi7t~‚JBÅ-ÙE‚l–M3Z¨Ürˆ˜‘ó[±»fŒÉkr¸QEóª¶Mǵ1hCßyß/]稩úÎîQï»±ëEÆàÀE[_£O§œŸºÇŽO³£´±,¢J™}#!ÒMSõƒ„Ðu/m®òù3%i­^»DÈŒß4q´ §= ÕŸ•%DÆÑ¹ôUvÿžU"'‘¾]§ƒ«°¥Ã)+Å𳪉Q‡©ãÁœÝ#£Ï¾¥úiòλ6Ñ£¦½ëÝW³K®$9ýî²:›<àï¡hÜáý]›æë@x¥êË>JÞ,W êô~ Ó™¢qÑNZ–'ð»@ê։ß*rÑð¼ ”ûNJSĸC)zíypÐ8WGÁ\`]¡äA„y‚Á¢/©ã.åó¸oÈẆ²—m{ÔlÏ÷¬ðPÉ›†A·¾}.Œ:kEеxl¸zùØß@*áæ@I$Â9þr,ù‹Pƒ Ô;YäÞí'‰*Œ>;8º- ÐC ¨õÀûA8¤ ˆñ‚¾c¡xALe‡Ï ùÖâ¤ï8yó®ö!‡7ä™go¶NÔ„éNzå™ú•LÇÄ2n'bÏe®‰£î®{Në¶T×"Æië´‡«lHÒ–n­2JtÕ‚?²'hmÛÆdž#¾ýt!}mÐ’Bo–¢¡,»­¼PƒEÊ6øWÍMŸ&¨ç¢¯ªðmñQ:±tŒ6 ýîQÏyè™9Ë­=¥˜V… ¦±¢T˦ćE¤BiyéÿüÕšÎì4TÖVòµ»¨L¸ÀÑ„`‡¯Óн{Ž-d:¸Ql^Ìøx¨åÝÞ¡=*.ÞÕîœAäfUd厈}2ÌCN^öd§A ×9({¡W6k“p¤ËM´-×åAÍÝ×LòÍIÈì¿vÏÆpŒUŸÈe޽Nø{ñ·áûäZ«ö¼ ªÜù –êwû® ¹ ã‡Þ^²`*bb!Ë¡¾{ñAÏŸBÀÎlØç€öÑ%›Ÿ=ºØ4¬÷I#KJKüÂMFñ¢é%U\­>fò:àµt^Ô„Íä3®+hÑÙýAÜ -“ä¢ýN‡WI‰!Õ éÞcáI,.Ä7 RèP Í¢dTDÍŸu °>W¯CÝjÎŽý"9 Qm6þEWmzÊý^kw¶{ÀÔW•»‘¿ºWœ3P÷ýtaP·¾Ë‚g¹œMm¸~È­Û™Õhø)õj˜s8wý馴ú[ÌÒòr“?¯Û¨ƒg3„2Q¤"A¡ÓÝÉø’ñ'Ö¦,YH6ªXãñvÏö+§W csŒVÌlêâ¬~©šÆ)\Þ‡¨ÀtÕv¡cõ­o'f¡¼Å:+£ÅW†)Ç;×{á œüzá§-š’ÔÆÄôœ¼²†¾,M_Ì4éW]t쨇Œ ¡Ï>ÜùÑnG5qµát½³Ã"'Œ7̇2ã* >ݦBŸÍ³*Á#ïŸàNñˆó\ÖN;*Ñ»œºœé…Ub/ÝÇ—GÀŸýì94 7Ú°šûRÎô%x¾C¬)ÈÖeå¬ôƒ“WÀWéczèU;pq“ˆÊ¶äh5Ö:1£òJä0ˆ¦†ù *ÞαE9F'B€4(¢´œÐ=Ð$>!GV’b¥æ¦Ïæ´ó¶«¯•Ï-‹·Îº¿˜®ÎøÅæÕÙ”²!£æa{ÖòdstÔÉþøÖ>…ןËB”¸¨Q"WvXÁðVa’ŹuiF YÐä ÊXçÒ}>ØUP9Üdh w'¾€IÿŸÅó{DÚÀ!Ô —ÄÞ/DI¹D¬9Ø4—h¢]Q8lsc­„<|?1]fd„§h‚üÿp—5Iyâõ¬tÕèñ–‡73Xk«{5ױЫ†¶cÕÕès›ðt‚Þ­˜,‹)Â#r7%Ê%€æör¨„xÿÕ¬YÀ~¬—ÐH¶)h×4ªPí ëßwG?r»p)¹3Õs¢|·š/ïu œÌùJ¾D[Pxófv‘ŠláW!àp¡'ÂÀ$òáÃûˆ8Ù@5.ÊçÙ2ÑèòpJ~Õx:£$øF‰lJC%Mkâ­ÛN¡\5‰ÇJÌ›òä&#go{›€ …6ÊÞCzo½ìP)8³Ð¨DPFýÆÃŽðÖȽg¦–v¨Qƒä¾¤ÖÿÁG[ˆµ 6ýI?·ã[P¤@aÜß­ J€²û™"88]k—ö"Ù·kއ œ&”áÍïÔ¸=b¾˜‡èåÝaË%‰±?§z’yH«6N€[³†êÔõ<¶C:zØ9ÖÈ|žDâ”›¶èîüÝ¡àªÎ,/ê,È¢å;º·¤ËØG$ç åmô‹ ¯¯¥– ÈíaÕ%T_5¤”=µÄÝ÷NÝ÷jûõŠñyÉ#ÏÆ×ʯ`fIq¯ÈáÓ&ŒœV÷È/ño¾fÒI½Å øá´›´ÜE»ÝùDyx÷¢üBN qèhHö°×·»Yy °w#þo BC7[^CÈÂ<½ÿ(:K½ä,Nä‹çÙ;Ø8^|pž©1ÿ2y{%ŠˆOO¶žµGÌ !îr8/¨rˆOØxóÜžT>;G¬zP7  úÜê[Èßîž$kýˆ½ òešk¶è«?£Â].+¡{ê‚Ý:U.'ä¿4\³]ÓS@µ9Óß\Q?õ{ÉtÊÅ]N.­Ltš q?æ XL¤Vб ½™.¥¿Ô\¦ ÿ>¡<¤S;âE•)ÀyÜ;tÃ@ôËèš9+d­„&µï4k€n1v@CØE\F‰1þ•_¤ü˜˜:Öë‰ tfz ¿¸3ÁâP?Š•GZÅ}kÖ´«®"¸ N%á\›ã{K†÷a_)‰d˱„‡I¹N@ûgØ$«~µFÆù…èÂI^9'"Ô7`ÄËò­«rÐ[P•þ_‘aV¿"­!¦ê%†^¬€Ãö_].§š þJ?Ù‹sMÙM²€^P© öûk…Éå³Cã°yޏfš<¡ QÎëtMÈÏØ…B°m5í®èB_UÅ/‰f8Nxò˜kS;0³= ðùv9L äˆ]¦Ì€6Kò®`ë!i’åú>…ž†ópÙþæÍ!‚g†…#¯Ù§)à%‰`—û'×@Vá™b;6 ¼±ÿ o#QcgˆÎàEá×”8Zä‚tÁ=™ÎRÌ«H°ôšàô%ªÝg…ÐÓzüŽ™Í8ãnø^•žX¶ü܈ò!dÓBάOmÖÏ¢¾‚ÐËÇâkAØfuØ¥eÒ7~†½ºi&¤ÆéÚG‘¨õ ÷RÜ!­C‰Ž¢±tžÍüc¥Ù㥘¨ö|YllEòØõ@J;‚“Ý‹œcgÆðÈ>7hYllÒ+sŸwÏ/RŒ{‘Ч¾uVîƒ*³v ÎÒt-ÔxéøC€ ÜŸ¼†Ö+–ÐX3âÄueóïéÓM¦ÛwdÄIó•סý ç¡{/~l;ff.%⨗Ÿß±°fS5øO4åccɬiV¯mÿ¢è¦¿1gþ†`Ñþ~)˜ jËߌý›±æb„É4à@ÆÔUJ)v‹£®ý\/C›• ¤ØiyõÃü‚‘]q ŒwRWU1w3WØ%;dLðÝÚSˆW&öpÓ´sÞYÿr¡&êZkRC$žK²¡R}Æõ…'º¯î8-±ì#Õ×e d´éyŠ1Ϻ_—Ú4‚ ‹l@å¢<ðdD¶èÑ6¾öˆŒâ§]êñ¶^iÎð»¢ÉB”€ èĶ^ß÷T ±ñ˜I;›£'jØúCò]_¡0i?ÖdíLêµ­zkÓ(Ruc2æ>ͯVÎæ0úïз-¹$íµ­´ÂnåTš®&û eE;¸(‚úM1.i$«Ø!T¬jŠÛ­ ]ìC˜ºpèÍt‘úVé*Ýé4 ãÈö'ØvÕWæèøâ'C˜5>‘ ï©%*{u^ý§¨.UªÐNe,”L˜/ºè&›UÏ;ã¬X&.þ} ½ŒHô09Ixû}Ià?ŸZJš¬EMRøDÖ¤ e’[ç‡ÖÁŒf“—¼©µTEÆÍ9_ËjK€š”ÁÞˆéŒ{jŒCæžîkÞùøý0ë²-¹(@GÓƒ´b²õRul2œ%È0ÃñüÉí¿×qà«$¸ig•ViØ ¥ÊÐ÷|VqÎzãÙ›i&xçRêÞìljë=Ôå–U^ð­P “ÉŠÓ§È¥GÖcP÷ϦÌ–=;˜¡/þ°)¯Hf–àßéëšZrqÔÂÒŒ šTÚÅüZ(Ô¥ø ˆ°n »ñ›\UîÒ/¸Ò-3–Òsm žÄQå‹÷CÒ+ !¢jRÞv)ªiq¡ì¨Ú©xwÂçzoo?sÚß ÷ÿ¢ ”ʾº¨§P™Î–i:¤- é+ªU³qº­­RÉQø­{>ª5Æ‘äHÙ®ñ‚Û\©4bZ›üšf°ÙVbÂ"ÖëúÉ¿Š×žiÐQoµHæ´ 2 ›J÷çþ¸^ùë37ö™õ‰Õľ!/¸ÙÈ(p°Ã4Û ¡ª×L4äÕ¡S/Å¿ªÎYiç$•w|ØïóWOe‹ò_z‰¦‘²*:"]à‹ ¹«¤(Ã'Ô•yI•ÊZBtVN R·¸?êü“,\ãELxxëýíŸ s߸kϪú(5³Y©i´ˆzIº • QL›Fl+éoņÜZUš‰OA¾¥ïPó­ÞMscâ´ÄE%z\VÁ5B&¡uçSíiâQ}¶Ë÷r Ñe­úG|9øûÒ„šæÀÒeRc!“` .Ä/?3 Ýóv»ÄŒH• dÀjCúæ!ŠÚÝC›Ýïù›Ûà“el`#ίOܾŚëDÃÔñãlŽ4N7>Yg—Rg\¶|åß«ykŽ {&Éê*ðeñÙ¨¸ixi|b]RRc•¶)•åÇGsl4‘Õî)Ä›&Åk,Õ=ñK–°pÝöA-ŠÇþ´ž!ëIü‘Ö+G¢lŽØè }Œ^*Õ˜ [ʯ­w?z^èBù(~"KŸDýº0ýx~9>ÀÿžËÔìÇ/e°ûf,¦/ê¾—¡¼~æw Jî6Û;äç£0“Vˆ_äš—•3ŒVcÅL‹/ Dg¢÷¡ý{f–@…a¼à8uP,¡ôsõcÙ¸˜2‰¡šˆŸÿLbaµµ?À@ÍvfŽ^(¬nhªºîµÎà˜w‰#wbWóý×§ôQ´0M€û=Rº?¥»¶.‰1 ®Pš©iÊí–èÄ¿ßÅ Í;ãÇwÁTd4ždþ¥ R컾²®°î"žÞ¶S,"oóܪ£úÚ6Âèì,ĸåýljÀ\Àn×<¥šhzQ©-zÆLxóoµ„ùËé-@À†žIªSö¤5Œ“aüÖÌð:£ hMçY·­0ámhãÜh.Æ2¶™#FÔnÉÝU¨^ÄÈo/þn€i¶Ù‚dªäE[8Î)Â-¹&Õ ä{·h™‚‚Ø?æ·Õtä$žp‹×[ “l „^XÆwp#s~Y¬W|_ü¼îÑaëEÌþBšåÍCì­Ç”kIëeJêÛ‘÷rl[»BáYÜû(‹su]³Mâîsäc–݈˛1àØµút¯Ðæ} œËˆ–`™¨»]¨æ;ôr°ƒ?D];-Rqrf¨kþ×!Ô&0×D+šë¥OmOv4Þ[¤âpSˆˆ2,ysgxe³Iö¾ùyR©NEDØÄºb£%eb·ny‘u캗ˆñßÖN–€à7yÓžÝã}F¨p@Aä…™’R”Û^{Âòq-žˆu<вñ´QlàLçŠM<5Eþ,.VÆ\]é+z®Z8®¦)èˆËm÷`ÜB*Ƽ NA`Á+—Èùm‡j¸ö½æø]Öæ4pþ‡1Ú#ùsþÁy4³¿J4ü­iRµN¡xJi0û¸k{ o]:AȨ&‚n„ÞsS¶ê…€¸“[‹xhÑ èíd­†¿Åë<Ÿ|nJ}mˆF ˆá‡Õp“4v;ÙÃ4¬G¾ÿÓ¡9¬üŒïÇÔ—[)>Q#õ„ós¾_Æ æWPüÐÉ&ßÓ­hXæfOÙ` Áp:°aƒúiúóèŽbå\z.9Â|´Ù(Ûù£2…ºÚ‘ÈÔ#²ÿ¾½O-zË(½¥éÙ€ÿ*^zëOŠÓs‘©çmt<£³ { ìwYÏ C7©kÏCÞåà±Ñ±¸•¼¯½z1õ™þëxÇ’åüS¼shâäò—”¤§Ôö­ªýàjn!—µY †ô‰C(f01ìã¾{³\6q7ïÔµ†¾P$pXºŸ­}y'T[¦ [Å.%£õ)eÎqŒ¬T—¬Ë.ó' jsâzãcÙV„YÚSppß8ÕXþ9Î&ÂQPcÍÌ€ŒëUñW$~Â[|ÊÝ—7® έ†M§üD¥½ Ø‘³* :ìCË$o ^›hxOиkô>C^· ô> ‚¸µº<í*òÄÔ)Úèî¼à£(š v§(\LÒ€Uú¾ó"ÁXŒŠÿ“Gqßëð4jö£S†wgÁ5eñ ´¸ú"óÅ[Ê0KôVFÊ"¹nmH2ZY0µGkµá̵ͫ~HZ:vQ†—ÁͽB”xŠ=y6BuÛ ²ƒh¹ù,äo+]yÂóš=ι¹ ñ¹®Žw~xüÚþ½²é‰Ž¥ïþ#`åÁÏæè*›é†ôÎÂ.ÑÇ´”Ä¿²È‚¡Ú9ùȶ}üuA RàÞÂT¶Ñäý¤zÀœeÒ‰.š>ÞB5†‡evùœöÄŠ®¶;ôríÿÒå, 9õ°ýA®m>rAÝÉø';øÕ‰º}ÇΘû_ ?=´aF&µƒ÷Å y,TŠ“éo¼•4~ñ W¡ü“£~çDNègñOÿô%6:r†“i›_´añwg¯K/Þü&OSu^ÕãNòõXlˆDwZÏóþµã”ôw­>tX‹çݧSš\–´û2ñ„1q·Ø F  ˜:l„0²§öÕs°ã«Îk›¨%®»–|¡¬bn5í2Ûàû0TS´ifpqZ û]1hÍò¦]RKÖd~m2Ü>t&L;€+›@ÈæRƒEKZOÊè÷Ápõ,ÏÍB$Ã)lÀA’ìÒ͇Ž[îR%X¸ àÆ;Ü/ü6+IyXz„V{.í°!úM*és•«DORν?'­sð_?†ê¶žHò¥Cj ²ê×X2@Xä…ìóröšØbd•v¹DAý:b¬À–Æo;ÎÏò˜ìáEfò‘í°ç±ò": £áë¿J )æF&pi·©ûÒA{ͩ۾ݧ„Ã:Dèpu{ò ÑEÅâXÿ¿{û,ˆYªBªÑ½6†Ív}‡?€S­jk¿P|PY=(BoT½=쎿ßÜ€<ûêNá¨^z™*wŠQÓ-cxšZå“ëý×·g08ÔÜq ˆ #ïä7˜Á¤·øQ‹Úp^²+0gÁú=Ÿ°MƒkEŽË\¤Dž)RI­ñµtruL¥•î¡9/ÓöYˆÛ°r=&3¤»±¤~°9ÌSî(2Sua7"÷‹-˲uÂGi£dnM ¤§ö,ݘXšmKü€+|!Y˜ÍOÎþ:¼}·6ªù—GƒÁ“Ÿm©n=ÇÍ‚GT¾ Ñ:„1ͼ9+!4!£Ó ªº ÁœÁð¡{  ¿Æ¢COÃ8! Ë Ü ÷XjT;äÞå>çì7H6 ¤s‘ á´a–m÷ß=j×#æJžˆ«_›²³Z "5n«ÈÑûè¾W¿w¸qE¸ÁÎL¦‘ <¸×“”=o' Ir-¢,UI·†s+#r¬!õ×?®CÜ£i©š ù|àÎUŽ_Õg²¿dÁFy ´˜{ïÎ !ùð V=È|l¬*ìàù>ÕŸ©O‚–Hmç;¼*;\ëöÔC%Ü›BïznI?kI×9ˤ~:;ƒéàßøìî¬öàp6„‰ D›¿•‡LK °àDPþ Ô&fþ½ƒU´±y(jµG@8Ïe¯¬¢*¡Ÿ=®å"¾›”S®Ÿ,,VOÈÓ¤Ü M‹Û•†¿_‚‹>m+ <îï[525MÈâhçážV6ƈ‡f«Cß|96žèx:@Î…ûÿ#Ú‚¨5Y(„‡’…ç^"Õ2CÑST#rœÙŽå„ýX´Eã”’g_¨ÅÙ1Oi}·½ŒízÈ9z: 0sùUéÖú:jÐ;½3g”;öy„ÎK÷@¨26ŸMNw•Ï–?´“$Ä>Ÿ¹6îSÔ’?»’ã(A”CdéÒi2I™†®’S(oR••3kŠá¡ÇÂB6ƒFhj\‰ºð„9Ì{¿Á/H²© cþìÙÀà°vÖBñ‰ý»HKéA]bM¢‡ù/"ªŒú +¹œø.ŽlHç/B*eéhËp,Ò}Ô\¨_‰ËT"–÷ÕoÅœtL YÆÈé¾=znÝð(éü#h™ç¦w¼ˆÊdÚ œ$Ê@QÏÞ=ïÀÿféŸkΆý˜.;Qú¢¯u€dx¯ÊØîÜyF;ú¯@'ÎWò<Ùt§¾nä"›Îˆ1Ú GäÓ ò} É~xq.6É&g¾ˆÐFlÛNŸ7³õîj*]¿(k (ïÚ"òÍ5 Ðcø[~©IØ–£yKç®m$æYø|.xY:È“Ó1x4wÄJ8d{*qYm“JçLè?Áß^MŽ"[ö3]wœr9´£i³¼<ëÊô¡;*%#ëõ‘‚Ñ´½_Ü» ï»›j^55U­°‡¦s˜žìÀ”ÌâIúÏ.U¡ê+ôÃõ"ÍÓö¡Æ&+Ž@ð¦_‡Â+_éM86þ¨'W_˜§kGô?Ê·Øù @Xz„¿¹7wÝÁÈ}ÌÓû&6)Ò6š¡†É[š5ŒtâÇýœµ+ÈŠóŽÙc­¼©·„Ré›”L9˜PeÿR'áÅ1ÖMÇñËeÝ¢ð÷SFÃKVm±4BŠamvqEìiõAµeàëyuÇDBjÓâ¿Ú°}‹*(ʯ«¾RÆ<ˆÕÀöÓ …î5X8ÙëÓŒEñjŽ»VÁyéëH¨D†žØÍh‘ÔåfÛ”skõoÿB8>tðEÎZi^õCÕV÷+vØ´Fˆ‚²B¦(1c¢ÈlœTû$ÊO%µRÇ©ÚfY?êëÜf‰$afàÍ Îh“§R#"UÈBa Îþe]VòêÐ× £ŸqUà2¦TƒiHÉB8õê¤Ñ±ï¡ûuød¥ûç”Îb£X.à íI;LðIZY ëód 2œMí- #8ý/ã“àýi`@A$¯`³"ÞýÁ!½³Òmn1ü¾” Ñ¥Š wÑKk|È—Æ0þâûßð]Pk.6!ÊRî¯Ñ8ìág\!3^”näås¬²(@ÇQöh&‘˾/îñ6Ã;Àà[}=ú½~)9¬M°*Y¼ÈúyR(ϲž–®qqˆÏÕpŽ›8î„p[ׯ%û+G—‡mÉ¥ÝeJNò^ øºžËÔÆ»‘Œ%†$ ¢ÑT3TÍ¢Š•í¥!9ô­d=µQõ¿6i[²¥¥pþ½æ\díhö¿ÄÀP¹#% Y²Ù‚èü,`ž]~‘’ Á¼åñùî•ÏÔwôVìiSD!rÔOÜ X‰NL:Öù»AïZûÒ›Ù®wJᡯ»A~@§l‡ÿò·šÎX{;±ÿ(N}¬½j›T8¥Ì9p¼$'|·’WÊû½‚”HøñxX5ô1º {˜^ߢÔ1Më+© ž*g/HÊ0¢úó'ĵ]½Ðg´…Y@¥³î†¹Ë+<ý›?[“‹xËï!÷šï¨ cÂòž®@£„» ¿”ƒ‚Ñ_bl4ËC"kL#_!†tþ Å*yza£Ô;}V¹œÛ*¶-5 ™šÞ»l?—Yµ••¡[þƒHl|Šƒ$N¼fòÑ" ~)‡.ÕäóÈ7¶w§LúµÀ”kuïìMN—æñ•QCù&:YÜŠ1ÔV´é¢!ÿ<ÞK/‹·gqœgyGsV ~¿ºåzÕOßc’=»_~ࣦ–q ®a¦jÜÔD%h ‚-v1 ÁÎx=‡W'AQqZ#Òôua¼Ø>ó~9kî‹Îµ*ˆR )œÕ3áló± 0ø·· g¦ïYÝ'$ñvý(jÀÈB}¨S»äÈw™×kZû8²0n©!“ОèenfÓ€X ©‰·ˆohdŠ>e0¾&TD¥VB™ˆ+ QË“‹‹åêV¾Ñ=jñ.,¼3:k^˜ÿÏQ,à…(ÖåÝFË ²þcwu"$ÇáJyqSÛ™9‹PŸ .vtŽþؾh;¤È‚$’Ó½sw„*¿ˆV"P¥†ën«œMÓÁî§id¥#ÍÚLgk¤Ø–ƒX‹uA†KÞÐ`®š-0F–ýG»ln÷ µ«® >FºYà§ìöÓ-É[(j'Þ0éо¨,¾µÐàg©¶ªÉ.(hËI‚Ã꺂øJì«ó¿}h·´2=‹#^íÉ–dwòb5âLJ:õYgQä;ÌQ;oÁè쪚¾u.oÒñ¸w\tyµ˜s}µi7•’‰©KÿOú…!«AçÅÀF ²1f?àÊì*_ÿÒŽˆZâÚ‘»z—ùÔÚðÜh-˜hÍÜß@Ýõ°¥/l>»doÚ`L6*§ƒÇ^ÙV‰Cçrd·3o¦0Q»*€:ý7#òsz:t~ú¿¡¡µ@ûc´¹ÚØkK¨ž DˆeU{-r”¤–W¿ øsT¹< ܧeŒ‹*Iwéú-Ç¦æ ¹]—¨x&‰#£ÉÓw`PRvž3©lSËQúƒP$ó‚M4È Ò›§Ò;>ù!¦RŽÃ]Ö€úº©-6¦ö‘îþNo‘©›-ÞÙ4¦—üAùF„â€ð2/µ[(û§Z>°çÛC$Z<ë¿^#ÖÔë1›q¢’ ıu!ÂHZ9cÂfG½Ž ^m‰=SÍmÚ:ý¥ÄXìRƒûºt5ˆç†SD¸…Çõþ@‹$¶YBz®V)´Ð¸ß<û I6~øSA©tmÚ}þÊ»§sÐv<¯Á—·« Ín)î°ò1>ÅH¶Z©Edv¤œõ¦n€ñÀK®!$oT>Hš —Â[»ÓS'3ÛÓOR/„d¬rya#j˜½aÇê)BöUÌhëH„‰[™oŒgï)ÿè'`xÝ:$Òzføêõ«ý;²™ïà ¿Ñ’üôNØ&øR8ã¥Í×:?W%2-øÕ°‚V?æòq\ŒFveÝÄacŠ!^¨xQs¸žÎ0kÄÔ¦ç“"” 6 ë.‚¬üËEho^3ôçà<ªû*7qV[± äíÎ ·ohô! ~’2·ßGàô6àüòíKñHhsûFþù:c´)sëxs ð]™5±å&ÝÅ5¤ ô¯êr‘«Ž·d¶ÍƒªHvDqŠ$Þç¬ÙyÚlƒBÛ͈–:I—óòߤ§ÌQJd}u ^² »V&Y˜+“…ê<Ø9qý.´£/J®g§òºJpþ_²ô/¡h-Ÿ$êyÓn<ëH-ÞÝöºW¶´ó‹Ûà„74(¢HXEœ Ø®5'}þاé†f’æg.‘ûëÎ o=(B=>ª,!,¿ž3Ú1bààeÞhóÒš%ØÚÏÎ6 ®ÀY¹°\Ø©€|=ý÷PÅ×wS¡)çA…Vj~ùw ŽXà¢8»Ÿ% ÐøO‡›-y÷c*ª8Ø(!U®×b´ä' ¾LºëT2‚oa¾ÿìLTž‘‰îU¸cŒ(Ë.¯† ¸"#VÞÏŸÔÞë=¾ÚFÏ6¯šV#æ…#clq®[5Ô’ŒÙ‹3º:ý˜œ”ùXå{Å"EO¾ƒïbO›¤,ÒÇt[OÌì@/^Ô¢Ÿ\ªÂ’›¿Æ}þ9>>€ƒZcËÀ²é+ó1„ëóñ.`¡ì9¿Î)nïÅm`]5ÿ€tè±—ÖW±Ž5 Õ‘¯¼ÃåXq„z-Ô`‘ƒ£å2¤&JQâ[8ØóéQ¶d¸ÍY¸–S®!v'¢ilÝ‹—³{Çõ”§ä…Hn\Fg-8™.akBXÏŽ/N„ñh[²zZþ¨£Ùõ=ÀÿÒ³Þsw2÷Þ±±ó‚å¿e_™ù'6Ô+Éßð‚;Ƶ Ü’H87Uˆ±gLZõŸ Ÿ .Ÿ/}2a2‘ÉH2!ÀæQ"Ò×QæXkèB(Ej—ÕooÀ 6œHãƒ^ê @ltd]c jòèN ¦Àyrw¡í‹¯˜5¾ßêý#Ç[T…æ*Y­"¨EÁIÉ¢\Ð蟥(¿0Åb ¤$Õ®ï{ß^æ·¾H¦dž4ª æ…|ÑìÛIx4°xŠÖ¢©¦8¹–¸Åz‰­ŒǾK‚“éQŸ8ÄGÿ†Öòv¡¥Ðõ2ð¨'óu\UmçÕó²s×Jª+Šžñ "3ss9¥Ë Lów€,F7lE|_°Ñ‰‡›YÓêÕ²Õ™œ%ͳ¥B§ânè˜.T ×H…€Š_^5¦¼;täĨÍk&¶›$”}£I:Zµlßî…–¾ìw…íëYÙ}Š˜ §„ØÉ]ßË$„ ÐÓ]³ÅIÛ±ÔÒ‡ðÖßâM­²¬ÓxõüiÖ·š*Ï}Ê<ñ•¿òhsórƒ*$ËZ~µõª N.û²m9‹Þj»ùM€'¦¡NÕìcÃõà>ƒ¸E¤é2­Êr¦\W~Âô­a" tiˆS®âø »³FœÀÑ.!$?QX¹;LœÓ™ì…Šk¿†cõYÌ¥™’úBûî†;&C» Zyè¤È†zH<{zÒ"ðÍyñÉ;¢¢ÞCãcÿ­7&B#O8Vî ,Ó jCªÞ`'#¶ú Ù¡¨°‡h®;"Íÿ¸Hëgʾ9}±G¦òòö`ö®ìE}òáÓà\7‰(òö^)‡U3:ÑÀ¼ŽÂ áËbÜ¥ï=+(„‰ªièTV~6ÎãÍa>ûy¡uÝyiZ–ÁPmí z¦v?ÔÜuaîÝÊ7„[ú;H*5Â5ºZP5§"xœ±—÷KϨÛÎ—ÃæeP›‚$¥d÷@Óbn¢kÂB·–5ïðëEÈ`RÞ8%@3]ã#{ãhê‹€IFáÃ%u”›JfêœÁg]Ç ›œH Y1ŠÄ òÔc›[h»¹«~%å³t‹î|çïáqÞŠ™èàʲ¬t1r¯æ_\àTaÛ÷…Eå9›X5Iÿã"çÏlÕ .UWöÚ­íÓöá ÌsUó% VîžÏ´ùlöNHi·ƒ¡y ÈË#¿‰#¢ó~/}ªŠ*$ñ@‹åT\Ž,4é| 7;û ®^_Ä%™…”÷GËkú«)ËÚ€8¼(6MÛÛa »À¦ºÎý¨Ï.Éÿö/Ê´|7I/\Cñ×‡Ž¼Í¥€¬ÍX,—Å‹´‰ÿ—¨´2v½6Šgfb»9õ9»¹£ƒÊ<8f"ù¸ÔÑ¢F½àÛ3êo*ïˆëJcR»WÀóÈ„|k²þÝà"à$µv±”q±½îÉënà_ž:@j÷F=Ö8ߥ$WÝúô N5pónÂ.!åéÜAn|:³Bý Ìc÷u[/bX瀢þ~¿]Åó"ªëÐ뎳2HŸX¹«¶FYÊËÕɇVŽõ4ògjýÑ©$þtnÍ’åooÍ sÁÍŒ'ŸÉ–´äcªâÆýMö×íݰ´G uïQ5€PƒT1)Ý Eþ ÈŠÑ ÷t“ú\¦–åmÖz«Ó釈mF/>¦©qÎ\72O«=ÁÏÈôúݯ°Ò½¨ñÿ •Jó<(‡&v­ô[Ìš‚ñœ¯þ‰Øá8 J 6Åã ´Ú]ÔЯ£¯wFUrÂ:0ü¦q>õá„DomÈ%xÍx(§[%×뮊Ö+‡—UЂ£³®þ:0Èìs7J¯Ÿ–òa€Á0ís8pSµ»Ü˜ÞF£VáÁf ¨ª»ûX»Z¢„k9š ð-[ùxž—ÉÔ°ôm“Qõk*mr™a_Fuœža‰J•D¨’]ÏNQ÷ÔRgp¶¶Š_ÔºUÚÐ;*øûžÁKÀ|Í´Çv·4wË,'¾ž5©µ²¨|² 5ýù¨²­Süºj¥¹á5¿v|ÿ •KÕd¿Í¢3¤èr•2ùcvßc3—PòèŠëâ$Dó/•yöoØŠ‚÷Òe¹}ðQ…QG_÷õ87o°^Ù Fö¶ÙñŒo”=±.¥Cý$åt?Z5é㣭/®’®ü¢$óÓÆö£ Xfõ¸éwŸÕpkPØP[—ëíÞ‚ƒ*uîõäô†ô·úD¡Ó MK O,êD¹Ô»ïŽöq¸ë M0 å^TP‡Q£9ýÑì‰ÖÇýx‘TkÐ{Ñ01ä6êÎX«ð{ÉÝç/ÛV 9Ï…?;«Ùð0Ù Y‘kÀvòS^©?9 >î½E¼oJRöW÷ù7?;ig|ZW E–¶®V`ÚÇå±Ù]ÎpPÞzwcKB;¡»&¡*/g;K‘™;‘qËFŸäu'Ƛvÿo€R¯ÂÇRJ Î¾äÿÉcåïI4«è×O͹ÑKû‡l>ÕÄ?/ç jošñˆp\Žï•iNZŒUvT¥)L©þ§‘åê±U±±¡KGXº{ ÷¶‰i¨êT;^¹%ý•¢Â&¥tQK÷yý%š%D¢‚¸¡U³›Ð1¶p~•Çf¥Ot”"•·àÔÚX>=¢°’hB/#àÅV¤p@f¬¤PvªÔ³Ç#ùÌB¾“8=7E:RNË_¨‚ä…õ°•¤OÂj‘ÿ°”f †ž4; Gî$” âjª£¥þ’:¤#GÈ•O AæM†_í ƒ(ĤÍsJMWsL鯽Ùa-nÌÛO•[³G†X'õÍìYu#OE³MkhnµynyÚN¬”S¯’21Íì“5Öf}áŽbê-í¡‘¶ÜŸ/~ÔgÓîK쀬óT‹. ýÍØöÕ3Ôq&7]+‚u¶]wÒMj»4ÿÐ •Ajè­6 ¿5‘ŒÁë¹9Çw¦Ä1TãÕ&?ºÑ¶ çºÐÒ–—ʸZ|õ;ÁìNÕz\†Zá)«&Ö¶mŒþìXšíå=kd4œ~b˜"xxЭ[bæs#K“‚+˜Š°éÃÅÿm®ôH“ú%Të qˆðQî›c¿ÇV(½9R$èiÿ¾µ*F}Ig•½tÃT¶v(M§ƒþ}\Æ ~Ú²­oèIë—¥o ,6–6äÞ=yZ: ¸~Ê:Õ8 µÂ¥ªhz¯#£‡ör{ð?ä:ͦm´Ba%ü>Ô6öåÅGh$b¨úJó¿VÿÐ;ð5|¼Cª‘çêÌ~xEeŰÛ726ò”ö ‰¦gö›EÀUE¬†Òs( $ñMmk\b<.t»¡kìf±d>ä ˆ7–ãÕÍ.ߨ#•Û››‚oòV9ú8˜žÏ™‚ê-j†Xtù¨HáýÉ¿D ‚ù¾¸Çô#ôÔÑ>1~ñ‹3¼ÊäjÀ-‰ÃÈyÐe¶qUÞÔ€CãPx¢J±ä±Þ„¿x8 '¯é«MÏ7¥î£ ˜Ê”åÂÿ]mZ¨cã©—yiÈŽL’µmxHK£â³\CXIâ›:%ÚÈo(ÌÜä¾!ôWcó ~lW4¹×Ô®P”‡ŸÉ¿Ð@|CÚ_õé, VþÅ–R.³É¤þà*O|cC»±à])NñÿŽùñ8G«RT=‡r×ÑMp»­/ë+ ;[ÉÕ7‚Ò-Oç´Õ¸½ÜlÉP•‚lØïø’:ØàêeÃíØÓé'ßö=Ë¥üŸòO=P'¦ÝE*N€F€0÷j¿AÄF‚tÎ;®‚RÀ˜Ho~ÈφðuA¿{¬Æ3•~×KÒ"Kì™y°#õ±:¨IÃYá~ Á]úñÎ7E€ë $±|ylòØ×D…äA¶?:³—­‚®€­³3ßz¾bŠÎÓ…ÒUhÉU4’pñ8;§Ó¡{wVVZ<¢ˆ|úí€fÿ¼ŸÕ™VÙÌ…¯œÆB(ÌNì§úÔUt6nºÕ›´sÚ ßAcò“¬ÛH2´wPNÁݶ^;,¢5mê·35Žúo¾ÅÓ«¶º|Èï qGt4I 7'InÒ”˜‚¿*ðS ©Æå¦ñc.T ‚½cžGXÒ*¿Ç †£d¡B EG’jÛ6Îû©ÐÕ Èi “IÖ&î?SŸ2 È»¯E4ú»q¸Ã|lÀ 2GS)é%s)ΦÜå‰F«3é°gåZeÊǬ:'+Êp(¥» _}ˆãNÞ+¾¤]C€bþÐ×Äà°•2·zcµÓ颪ž‘Í÷‡ì–,ƒ‹I$@À)®2U š6Ö½^gŠ7 ü¨ß\q¿ó\³ó8Êí’Ë")±qK×¶wl?f®/ò5Î7µ.E3õíœ5áÒÆÇúiR+eEuÛRÊ-8lÉ”“˜çBr©]ºs´1“‡…» ŒTN(T—+E;@äg`«¡~__½JEÛ*ø+xÒWS÷Ñþ–ªJöZ&ëãTÿ^Q+œÝŒÐÁo6 ˆƒÕ²ªÏ£i_™;h3Èhž’‡(ùÑÁ,H ¼E/ÿÐ0k—“¦ÏÒÀ˜”geù%an~BÒ5?_°Æ¦¡}Ä;ë›9W'Rî<4–~'ïò x¾|Õ²/¢ÊÁžç®”öR³½•Åx>ÿ—rS»«4±okú·{O /ƒ²Ùž0Çg-ãù^zB{¶¹cõ•~»Î>…ì±^ywòÞ-,DJçw…údƒ:0 ¨Ç¿HÊ,±t 0€VJÕ(Y4^½†ÒúL´|¡êlá’ŽOWˆý¤F ‘™îîË€®=-á@%|+#¦“Y)ÜËpœ¤\£p“×'íUßx±ÓÌE§Ô¤(²Cy m³’éë—XT04ûœ`…}®1'ä@JïÜ4\9­¨|qWÁ|9¯VAõãü`Æ9pš{7@Á=6±zŽX¸RŠ ¬´Oë§Ý*‘½íÎý^Kó‡°êþV¬ïD¹u˜Ç¾÷¢K¾+dic(â'¾ù»I„³ÁÛÑÌ·íØ/{@jŽöö^¸T…âµÈɘçu l‚›ºãqZÓ2à2òE7üÎà;\q‹2(ï,˜æŸžäy´qO‡îuØñ(®›nþÓ“"Kxaæûô[éÒõ¬(H‰¿¨„C¯º Ÿ\èò<›Ã‹ž}¶Vvà@A¼…í¢7¾sÞê‡Ë5É}žï©»?Tr’ÇÙ‚ô^€ñƒ—ÖñhU¡P÷¸˜”é}€<ÐñÔ}¨'&6BåÐ@ìin?A‘£ÕKXá„im¢W: }­qfÒ»×bZŠtÒETUäyäQÝtÄn´¯ä…¥°ûþEÛÄÂYf¨ f:\VÍy?_lüý½<Â_µíób®Ô¨`$έ^ìmGÏ 9úü€êF࢔Cíß|™þÄ¡WQ[P[Ðe¢š“ýöÈ¢ýx‰’ÓIãì!ŒÄN‹½ý£Û#Êÿš¥WǾ­¼„€«;(¸b´6mø5ݘW[z E«]€£J­«…ã·£3`¬¯Ó³À­—¯p±Èì)s2izÌf8~¶ø®›ÕqÜ»„ýûÂ5¿X‘„ 8¨éeVf@Š P0ójfbÀr¾qXöÁ[ÚL¸Íüí³×ó+¿.YØ*]®çµSÄ%—®€»jÁ6î³0# «Æ²‹lvˆÿ!cpkH+4>gß½ã FC¡Êß7¤È“ýáóuI}:¡tóDò̦Ï'Šyº=Α^}wˆž2û œPŽQ•ÝÖƒ€Z«y#ó4ƒ_>üþ L,:zŸê_ß>o•Ú{BO‹ìfAÝ­é>ûg؇a¤/æûÚå»öSû …hå×ÉÆ£êM@{X£Ö6,€TÆ6a“@ ÓùÃ7a±çÿ=5KYòSŸC¿Qh‡Ãí¦­\­n)q3…^‹gðFÄã“O½ÞòÄAž´pb¼iàñ¹‰*¤q}oŠäg´&ªþÊmÅEZ}íÍþ\öq†y!B¯Z£r¤©2YU—’Ìt”šÞôˆíP ¦*fÅÎ4€+¾ìÓ õ6ƒNÏð{eøÂ±Á¨ÒÕï”;9~ñ¨ävï4±ßàVL Bá®ìºêÔ›ùk.ÇtÊ¡¯Ê÷…EñììU0w¢…ƒEsõ0ýÖxú=OVAðì^Žòó¨ø«²~òm °xçÄ‚ˆ7”2—áú|¢«+ebâ¬ÁQÉ«´Á i^êÑñt|I§+¤.I®£àŸÚ²a6¥¦ü_êéý·sÈÅåÖrÚËß’çVl…î’&IСÁG°~·ÍÍ•ÈBý›TÃÅ¡\à)¢§…ÙS^ºŸŸó#ùÀ1fEFÒÑ›€u› ­äÎ|¨<ÕˆæL ~L˘  =¬eDÈò“-"¹ÅW'0¦.Íùe}r0-‚Éwú:¼½ ì$3-ÂÜ[“™óNÍ– ¬ ËósëþäÙ¦^NÁMÝ¢$·öc}`þáçt¼Û<_ZÊ _X’†ZKÁø{¶G\Ë“´ù˜ŒO2íϨÙ$å „g¿Wyzô¥övÑü²XD :IùèlíÈÖCYQ/·Ð–òîwÇMóQ“Å1ù°BÎú ›yQ¨fIšˆ²ì¿áwÀÈ0}DUêJEÈ@ˆFBQGä_¯¨Wö¹ö²kß+=¿gͦ­¡é€ _M]-€‘Z(³š2}Ú©9žhZ*røÚÍòªM·Ë’POêôÉÒRþöý,À^;`”vHþdž98ʧÕå¿È}tTð¬R~iúÃ_€ÞòïЮîØð)Ÿ Á Õm,=½_8T¼SVt•—?S_P-2W/sTõè˜søY9j¼Ó0œ¼ÍÁ+yu$•wäUGýºÏØ(#Ì´ñBj)[ú'ÐÍ‚‰(Cßz×nYA™w¯Ç@Z,ºùDëÙ.•lM|ò,  k¥ :Äf€ Ö%(¼JyszîDHB…ÍËkÚN¬XU€*µ_yÿˆî+.Ý¢©Ù¥fþ/bV¬l!ÂÐAUå¶ÓèlÔg.í¶qêÒ“(ñÖÅ—]¤½•“ehøg—ÓÎÚ©ºõm;К£Í<ß²ÑE]$zÂ[ñ‰üíèÜ÷¿$eùÕŒréùªnl›Ñ¨»Q;.P£ün÷(1æá& dUṬø¶ Û?•­táë2 DKTÈƒâŸÆñë›ÀHÐü>»p€\-«Ä«9÷ÊÿÔ°2Q΢íQ2»‰êÝ/Ö4·/ßÄ7VZY”»ÆŒ÷Å;kPP_g G”P¥HËc¢Jv˜ò)L§z° úö\Ù~ãý$æÄÝÁÓ­•ã¥ÐVV —q'{X‡DCyùÊ{4(sÆ‹Êw…Wž“ÔîÂ]eÌ ½3"~-Ê(ÿ*˜M=‰FÉa3µðÔiˆ¢<ùêEÇ«6ǯjE¶â¡¦¦ÆYøòDRw¥É9C1Oåùùý#K „•TR+±èó¢N•Õâåu˜â¼‘A]$íz.jµf„:^ÙΑžœn©N‡ˆíØÉ6©…Ö*r<%‹ìþáu¦. eñÖ‘_ÇËî—*ÁàQ½°;J:Ü{ƾcÞó3_Õ!l¿ë¾Èûl.øÍ<9¼h¡á“ÌlÍÝJ«gµSKÀ QÐÉÌmeª/Å:^þçb¾9-ÇuÏÅÛ 7ÿ²åÝÍ ýyˆÔÌ[š|OXs$6cÌÏüÛm”"ƒ®ŒÝ|ƒ7“#xƒ½7Nܥβ&(†“@k"Ý8ç{Ç£‡‹9v°€( þ.NВй^Š—¸Ê`í3l4o¸TÒQï$¢3̽¥bõ6Þ½Ž vÊ-#XyÆXOûR‚W?:ÀÝŒä…M3+&a¤Ñê²Ú2.Ÿ¡!Ãåwb1¨U]¬Ê ž]nL%/"ú0¦C±»dy‚3zGÊlqjW©Ýr- ¤ñŒ:Š¥+n5z+ÕÓÑy–álÊæb’g¬—ÝÿØG|ÉïRįU1.†*¦'ŸÆä>bt\KâAF§H>æE`±GÓ ð~;™ÝɾXøÂ/¿ÁÈUØ4¨2ÏÜx‘ÆÙ/“æ&ÇBÔÞ `€‹°Ë½•‰?ˆò}c]-ÙµÚ¯áQÀݸ9óö&¾S|á;Wéc?DïmÂS[_Ùè^ û'¥{\ ÈŽâ‚ÒYq5ðE2Š ”ã‚*¨"û bXÊ.=AXD4KeC4zF•äø'=[ ÍðÇ‹LÂ%J³›CËQñ°ÙˆÉé¨NÑ Rp¼ÙuQ¶@_(ðò¸ã\ˆòœ}ÆœIšIFð­ß­¹èëEs-'5ð‘—…çé§=à,Í·ï7™J‹5‘ïæ.ëM EŽä Ú˜óù¯R»rîeuŠ%›H3I«³yë/‰åBeÜíå·œ ôªó‰}ZÚ~ ‘Ås¬™Ï_+«pèª"_ ºCà¬U ùâ…£W(ØÛ¤’y/0p#¨ï«% Ê-»*H’¤’-d’}FNN þÅ ‰ ‚6­ÛýÜ&~~Òˆî«2Æ=X/+a¹Æ8ZÃÇèjF[)êÁïíN³ÛƒU=äî@飱‰ VSGÕדMŠÜµBcï\ 'n‡€àƒþ±ACP`¬D‰ÆÏ¹=Þt\y”ÏÊÀiB~A™Ÿˆºû*6.å´0f<î§]Ü·“LÅeVæmÝ.^èéÜ;k3cæ>¸‚*B®ñô×uxt€E8åÓG”¤Óù» ðËáâ¿OQP,,Üʽ€ûÑÐâÅ ˜ÝkÜDRÌRn&Ÿ\>¡Î¸&ƒ‘¡y+`ÇÞ4É™h’\qÁæçÇÇoñ‡ÐGûM0 ®Û·[ âú&Ä€K’¤T=>È¡<«¤¯&QIN„3¬îk )T˜Žø%ůuŠWô»¸†EoaЗ¢Y4‘HÄ[#Ò­5w fUY³v]ÁT@Zi­÷­ 3 ¾bq˜Jt6£ßVË%múHŠQÇ_:¨iÓCmù“””U5až§±#vh9,>lZº•KWÇloª<ûjpÐ÷…-iß”`õøˆÿ("²Œ[tŸ¿CˆbbÛ¨Gß̈È0J蛕S®özklüAV úÅŽ)–ËÌßtÊ'DfÒ\Ù w¿ ì|M!L탼¡)µP>ú¹î›ÔŽÓ#JãP<ŽY!"B‹µWÜÔóØPŠì˜ti¡†=°IŒãÄâÁO¿€ŠéK’PöôùûýoTˆ¢µ#'ç i±UÚZ6Èð~ÜUE[¶ZV~#‘µN,Ò?Ä%Y¿S x„ÅsÓ‘ê,Š!­S£PÀ$Aë £È™/LðqWŽ„­ V¶Kpº‰H‘VÿF"KçXnè©¿Ñ¢»ÙsðØø%Áƒ¸’‡.YéãoÅ?-$[[T̲œÀ ; hSm¹øF£!ºXuݱÎÄ˺½…rÕ®[VÚÅQqë&è×6–]<áË(ëZÜC™ ]i_Ò¯ÔîÐV¥½è‚—ˆÓ=|(¾×Å ©VìÊ™1_uéãL¬"¶‰aÞ==@ZECR)sÈQ,O‡F¬•ZEŠý•€ïwíêp[ßïŽÄÂÌ‚Æ3ž'‰ iåÙ(‘ÿcòȬþïR‚€¨zó¸õ¡k‘5Èx— :¬ó(!7C R¸¨oZbZÅ­}—H;ƒ7°ž W"ËRÈò6ý»MBÎ/þBÔ§y´bóQ G0'ßKdl)»‰+§)¤ XåÊK*àL’m,KNaá–°WkNg*®á' ºÒU#kMÉ ¨LüQ¯îmˆšÞz ¿vµ„n ÅxáØœv3'äøÏ… ©©÷Ø3˜ÌN_ÚɤçàG5ƒgB” ˆB¬ý]ã?à0C îbVx…W–›ó‹_üm •/׊N>,ÄͤºvÃ|  gÐúÙi²Pø$í)÷îìçÍí´‰[!?\ê~Õ1úîMD-\MT”¡£yæŠj =¦¡ßc]t­Ž7Z&‰~»dyd‹VÆ‹5µâpžê1Å‚Hê_#Î;|)Æä,ªhßnÝ·¡Æ $šˆèt,k"‚‡Øxìiè ˆ£ü}uJÆo;“gé,H)©r.Ù° |Îøàó,;¼É´3œ0N"jÙXIé³öï²v’Æ"Œx“²à•ÌÓj`LøîBËhâ),(b/˜<1DWõÇ%BT`Ⱥc–UØ€3¶»&Ê ¹ûj]é'â¤ûÛ„O»€÷r»²–?.j“Ë8R]€0¦W(æÃËoèû„b=á1Jã–&Núç#Š×ã§IΩõtÔã~B›‘0P󒦦Òáà¸hE´X { coEF6ãKÕ¿XF…¡ÏìJÐfm'ݰ¦(0÷¥h;Ë –J‡®ýûëû …*šxˆzÛ Y<2€Í‚AWŸ¦îÑë-A+™0̘_üYA&n³Í+C¾«v0àc¹b­æÄ{æÜ“fÈ’ZfúéÍL¨/ç£^ "Œ™l@ÅÖ¡„ÃÅ3ðúßß½è³ ãï†bÇÀÑxí%@þ–Ò§þ©FŽ…1xŠi.¥Uõ8uaåBãnk•© îü€òÛ²j„F¾¬D«„ã´ÑnMk©j™>'c.3~euƒûÊþÙÆ -ŸÁØîvwÊÙPs‚'ŒÇ|ª·ºwi½ªVòVá+­SËJ5cBFåÿ` ^Hw ér°6"èLïàL¤&ŸÇé …Uö¿¤eúMLu“ ±§íâšÖneèÈ× ìÕ;P5Ê …âAlº—·2–Ùöê\Jt(‹~ Â¥ñÃ5É:|Gù·FýT°¡0Õ!c?Pƒö¶½Ý³VRÖúÿc¤IfÏË?V99 Ñ› £ˆ…¸ôý?«9É™¼qhGS­Ø]Dƒ]m_ísxÊSÛ¿ø²‚|QR$Q^3|‰ÜMÞQmê/žÚšƒOÞ‘*›g¨txò5‹POІ2´±G.ß½˜ãã¡9«*¤Æ^è5úP-* ~}Ûî 1ù>¶°¹3ðdð™V†jæ# "ZøE¦l7 醶+c„dc¢hjœ‚\LؽÓþþF2Ý6گț\üÅ…ôÍ®iÏéý»Np£²ÿN?2Ž9œ)ŸÝôà-ÁJüc…€ÎÍ_ i ›õo1ø¼Ü AÜ’ÞTLþì|BW:³dtû Rn¿d¸Eä˜ß”*I²”SߣРW‹Z R(÷>˜—[3Ç—IÐÌjT÷ž$ã¯ãjžËâ‡?Ã¥=¥¬K±ðN” ÔJYÑ€:«ÐúÚ§"èÕ›¶`¡©8‹Óü‰íC¯&¬­æ½ ÂÞII*ü¦I.ƒŒo×±öcáÞ4Œka¦­åÿC·I“`ˆš±í}O+ré-#.7Ê!ø¬ç³ËòQ!ÙýOêz[Âÿýy1ë”å¹yñ¬†ÌŸ“›ÅYK„' ®›–zaë7¸(±ô2ªÙš¼nëÔE·„V‹GÅ+Îôf6Vð-°¾C{²W» - Ázx$ µ™<ö+ë|vÒ8T–Œ£w˜pÜ<¬7&öÆü»NÖŸVž‰kÈu|ëaó·ôZ®~Áÿ^]£î¯+fp¼Å—’Í’¢¬y{'‰($„¸“dw~>»/ÍAf:æ.™/¡¥ë¤*ò/~·Àƒlù¡~ÔxY÷×Ë#ÆÐg¤kÛèìñèbI º:BŠ&U<ý° AK+¯¿Ÿg¬ÿDÍÎHlÙ¡‰%~Ÿ‚tÝâ´w1Á=Ñw˜‚.o'›u`ƒÊŒÀ>^½­;²†öb½ÒõÓ¶,×gû˜JØ,dˆU`fÅŸX¼Úî¦Wã °ƒ†Œi º?]›ÒﭲߒFhP δ/´®- ´ÀVõ&û_7†“}óžˆÔéíúñº%d±š:5|ÀF‘M§J$ªÞùY­…ž‚±Ùõˆ$›µBÕÓ™û/gã?‰ç]ÖrXû †ñ"¸!ÿÂÜL-u¶ }3hÇ¿×ZŸKÅåËd!*¼¨¦OúNÉKïö±5æ)ÉlO7|?¡mh‰ÂðÐlˆ£?âä\‹À£ì­·Ï]>ç”xêT—ö êä™n ·µêà° õ\bvqȺö«É]W«^-Ñ|€RDjÛbÐS‘ßó§C´¾‰ö’sŽ9Â;A àõjt“öoû*q·)ŸUÞ¶À­(àuÒ=ÿó羪q}>i¦¥î Šã85€F²S7ak©%r@‰LaÜ>Ò(úI"CI/‰³e,# <ϽñÇ!jOü_·}6¾¹´Ðé]O £ÜE_ lä]“J)0Ã?nJD@€FîK~yÝÂ൨ÐüDj]Ж`—” ¡Þþ_ßÚû„h8ü.xë“KJëV37¯cdÙb­ æ4ÊÅ)üt«Ï±º …ä²ðºâ7yŸ«F60OüEýkì‘Pa—`r}ï¤T»£CÑ<›;¥J;çþËKÊ…²Ä'ÄÍÚ¬ÍÑy ˜¬|ÜZKŸ+yBìƒìKïƒk}8!7#þy|®üÌ«ÀV•V`_ûÉÒRÄw™îò‚ú1Ö9k™ØÍ"ø9µ…CŒ¦ñ¡´œçWC¡ì›-o¨f€¨ÀˆÏºE.|ÁlE'è£ÂZé³Ç~ÃCD¦ÉÅ€G"¤ Ĩ/°Òý„ê HŠ)u¤î6 #mc•/#‹!dÖT£°=Ó&±79ü¦E»—ó1!b)Ú‡Ëõj6àq®×b<:–hØ15x°}ão‘½ÈÀ›uFŸ_h ¶‰éQà °üÅü ×ûÓ6–Å·^)=7 ¶ð?!ÉK’b–ŽÇ ^4‚¤¡h†p?›Cj Ùú|«­”x¢˜ÚvojåÚ â*"4¨Z"%Û'_ˆ¾¼ŠN¿Ä­ë[08ø3Í ë¡’%i¥À³Ä8Rûž§j[EžF†U¦É´4~ŠìҒɇ¥:B à CO –› ¼s!*G Ldß$xòµI’‘}Öyç\jéÝ€q§ÉÜ‚‚’o¬¡sAì¿‘Ùª´ÍN„¸FSÿiÝ›lcdÔÂO«ÄíÉVâ)þò¥L4–ê:Ìø¥Z¯KoïT]ÖF'=ÿò/e/ŸH§é&’™ÛÖœea5(ô>~/výæÉŸqwŒ‰5ÂÆ _"’Ò““}Õ.å"o@žZ×w‹¦Gx‚‘tÒÒpñ S£($£ŽÉ¶hÖ5m'”,þæbWúÛÝa¯ûÒî‡kšî±òŒì<ŽepžûbûÄ÷¿>+[“Õ#É5†T¸Ã‘渱=A‚ßáyÎßæ_>‡—8±Üå‚u)IæÌ\/%ª]$.I;zÛzË2v]"޲P…0•è¶5ž‘¯NsÊÍö +•Ÿ»¹ñ8%¼êÖ¢.ê¶[ù\<…ƒ(^¦yX±§”›«ÊíãÈ¢¯ ¬|ô¼(3]N­ùêã–“ a_Ó“MˆVa½™PïS*pW@¦ÎµB±¹½¸NÅÞ<ï&Þç'nS82/ˆÑ\pOÞŒ¤²Ò”€B¯6Ö³¡„$æÞ‡\ãÆªú…3ͪ1@ž 5tFðp<›Ñ‹LÆ2£*ª¦:᛹+‹áRCÇX¨‘m‡Ì—)lE ã£qUFÊcAug’ÏZèØï,Šô«:C¦œ¿MÒ4ƒU¼ ÅÅͺK·z'‘Þ¯è "u+r_á‚ð+ À0¿ÛLHàÕ]NlÔ-ú-¢ý¤íÙhìM+êɘ 9\9—þÚÒ/µ@XFü´ƒò)™05ïÊTòÇ$_ªXxæü¸Ù§›Ý×'ïè0ÔÄwñÏpU1SB$rþ†ð²GU󀙂Ý]àßîzóž ö§¼ËÄ ÷ÏU ¸ÊEµÛ…ü‡e¨ƒ ;ÉuùBäžÈP.¤°$t˜5wÈy{KÇ-Âpèt½á뇳ië¡j½Úgù-Î#Ë?,·ÇPÕ½õªå†uáß­ òb•˜%ñ}tK$Õ³kô5!ÛZ–œÇ …Þ³Ÿß™­|† ±ÆîêÅ`ÂÛâP Y%R¯wªÛ°±6s˜€M¤:m]œó‚š½: “·—iÖXv:[,©LªJÇüÛt~a͸ÿ§Ôð×]sÜòk­¢Ã,HIì,AË…™m¼‹>™†Ê²qÞ¥9Ä!ìž³ Kuh C5·ÒH\ѹ$ ·8WäKËx¾N…„¤¢™Ôï_úa8£&} S¶Á‘Gb΀…(o‰Ä,¡ùPsüy©È(Þ— Êðý˜‹ ¬@}žùˆ3|”ãk®ãÝëC&Ò“Uú^ï¶±ê;Þ†¬ÁóÈߘ¬VsÎÆܧŽeh3ê©K:üÿb˜©7þi£!yæã[ \4Åü"W'vAˆGárUž4l82}"‚º©‰X@€V^¨n\þ¾êmµ”1Qbôg?–’1ñäD—¥ ø‚mTÄ€ÁÇŽÓb–÷OCþ˜|φ×FÓJúRŸéq!ñÁŠªøhTƒZc7ze:<Ê»½ÝH@„ ë°;½ņ#r»ˆ„+ø_ÌšÃ%Çä‘;^Ä£,üYÛ-±¼D2<"‡«^öÉYÿXp¿.Q¥fÊâöR åóÌÍÉh–?»çÔ¹‹k;ßMÒóx«Ö0ŒsçVËd¯h–|~òMþKìuÈGÅs—fÕ4²)aCh—ÕoëH¿h>œbšÜ±nÊC¬~UhаÁEü·ƒå&<®Í x{—¾o€F(v<¥O* æÉ€¹ïáírjª‰Ð((LÍ«VŽÙo«D•|ãi[¥ÚDmâŽëÆ:7ž»òwÎbR¾-3{Hö¢ã”¨ ~ˆ`üY‘[œ‹¿°P’'S¥Ù=)=zvúÞÓ[¬\¼èz} ÒsyÎñño úäæ3nq»IÝe”^ Ó’IâÝWÌ̈Š`n@ãw…y€ZßïˆÆIFU¯(Z…ï´ðÓrãã¥Ä:1È !ÏÁˆÍò¨íhäñm¼åòjW(Óe9za+F+hE¡´X,kÒ;:·Úƒ/©“µ 7iL;±fdÞØ³4¤.„"Õ7N½.AÚ§Y`mšbe ¡:uÓDÿ')µú½iN¼™Î—åÞ„+||¨?æb8†Â={"·ë–²Šßûv5ÄS9²u“×µ¤ýòz#XT$l(s•Ø£/eâ"‘uF L?¦Òâ5R^á¤â]“Vœè4‰CØ8)ÉIPH(Îßk¨Ùþ’A±+ºÂOÿ/6 ‹¤Í/äÃŽEÊ–ùwâº>›»håP¡nÁÈÅe 'x±Ã{šÿ-äc”[Eƒ×ZNG`ÕÒ¿Æ/2»Œ”¤5ûøU•k0®#l·¹›?ÎËp©ðt4ƒ­•Õ7¸ nóŠ^²9mšq­8·‰¯¡ËþƾòQì¤TR²”©li™Ww°ðÎ\K©~ D"¿V~uwÐÔvq«¯Z”•†˜Ñá!kŠ›Eš ’Ç’ÀøïÙÿáÎþ¯ú|7f$Ñ¥‡²Ÿ÷­ÅûÀH"{°âTvœc¿Š@¨ôi1¯™ü†„¼Ù×ÑK¾Í Ž•½ðòBdm¡ hjé"®wjŽK´½‰×G{:ù;u¸Y}xí,[#²TwFÞ2ßHûæòÝç"Ô³¥ÓEôÛ·ÃêÕįˎ^q€Ûáf6uª97Bâ·1.¡II¨ª.½VÒÇÀ•º»Kï‚‘Úio ˜œ™+½Ý¯´6ƒeÌAÚN½ÿZ½‡:aÈ×bK¾ª·$°+pò½ßÔÏh[îÌ)ksõÔêiWÃyϳß* Å6 iNasOt[ót]ƒÏeêÄÇ7wØè{«ÙvùЬ…Ûµ`Ý@½lUÛf•cÏ‹—œbf[-Ûô‡á6¾Ä’¶‰F ó˜8%›¼[H[×Pÿ`¦“q[8i\®î¡³×!]G Ýƒ…ô´Í˜¡-É¥jFQ#ÆFNÞ4¯PØEÈb"SŒZ*ôÞVº—ý!ÈVyp…èçY\íï;7‚óûÖQöÛÇ6jM= )Œ”€±\ˆÈKb<Áà\1!¾—º¬Sì*4 ‡ã\Ë‹Z}óG‹€ 'ÒhËÿŒG§Óï>GgÇgà ˆ¾vòcÅ2¸¡ý|Ý¡ô _kõß¿ò—ã IP©-ÿ°ù¡ƒ+S¢1Qß’2¬ú{Î0„$W¼;#ª‰*Z¢¤õk«Xaë ¹EÕcÇ´Æ-JuîM@js‹]è‹´àæë1¶‹ŒFàLd¢íÖÀJdhP",Ø–©ƒÙ¤ý¢¿WL\&K9Ëj=…ˆ g¼³zC ²§Än|¹(Ⱥ†¦3VKbð°îIº¿EÜÏ…WƳ´b´m…ø £¹¥_ÚÕ»‚¼ÁO<ô– ŽF&ÙÝ}ÏâyõF ¹Ó©â€¦£§®$šóT0MßZIêWvÞÂ}.á}BD ¶ØÊa片J/ µìy<ÅÉh‡ÿÃP•J± d/AÀð^nu’»‰ðuÓZ:ôµ<¥äsŠ/^Z¾6âBŸÉ0iPmv÷äMôC_ŠŒÃÆ*n èsà x}‘pà?ðu”²_ 3ƒ“p¹TÝ÷9>’*Õ5úcRcn8¾ùÿ=pN[õ\ºXQ•,ïAÿz€”!ºäœw¸Ty6^ÅXIJcXfYú‚¾9²“æóÆÑ|›ðT,‘EqD®KS+o~$°\\uFY_›´±8Ó„wDbG(®4üùz¶À·âPý £.3iÿë~ÉìAÁš!yæÐ>¤7ï}B¬dt¥¢T/¸ðÙÙŽ?PÄûXÞžðRtf‚^^ ŒKízÀƒìó:î8?dE„ªÄϹ¾Ø‘[ïí:O¡Y¬§1´U4k®FÞcƒݹ¯‚D?‘@{—ôéð]—7ƒÆf(T=NºPG§P—Nz‡U+Ô¿»Ù=sWøxauËDUÅ£t€¡vËbµob|E²ßÁG5ØXÃ[•µ‹6ÓP†å3µBU’ ¾ù6Qò0öÍ .†ž ú-±óH:ûMJ>IX‚ÓsiäÂ÷V)i mwŠ0éˆF£É⿚+W 8r«4SÃádÈ@*TÜÈ`­%X¥GźEòy•Cc?Há4‹u à3®sæ D*'+œmáОÑËGG­l¾¹&ló~›Ine D$7½¬”¡WCÓªä®ÜÈUÅ<¶×ý’’X¸Á×·¹€‰s9Ê0/ûPNW­WÖÒÃÿIÙsìÆÂ”ÿc‰K'B·¢Ë/»+yÝ{ÌZ°d&⤭çâÉh! F•ìë#}˜ý  b–`À/ýué{¸Ñ±0r±°¯È§ysð¼1&7穲ÁfY)H’SÇBÊ©f„8ó‚ü¢þyPªFèÊí¼I*]cdãÝg9F£ ¾¯ˆÅfÎÄ œ«f67´ž!(ðnØ)#.# ]C¨g¼qv#MøÍf n•0n'£L#&råKÂô]w±`fd€/‡»#?Io]ß3i6ô ëË*cÙñÊ{”çnú©è 7ÆöÉ_£¿4xè™ÛNÖÂZNÄ-«»§Ï)¾mMâ-MU2ãÉÔÈÀ0¬ÙTÜJ¼—ÛëA3 ½‹¸øŒ5<꾞h#Ψá2ÖAŽ=å窒!U"ˆm¯ÁJ®težŸ hõ(¨)ó4vv3İÍý&U bº/úz]M+} vÞ¸©K«4‹eYDégçÊ ÿ ¢™©Òü×6T™ÿÉÒõªbBùZc7ÀZñÐÈ]mÔnG&M×Þÿ=9ãÁì€Lwwt_ ¦2/)ŒDcà\7Ž0æœí×¢5ìŸÌÜQQX›Bœ,®û1fO\¾´ÞÐ’Aå{H“ñ~ánƒÅ¦ÎàÈÎë}}n*ÛWu5:åÏÞì#gò$2§3ï',†ÜÑsð.mj…˜˜ég4ŠàÀ>Í èÃâôÑ'ª@a`Éìù5d§LÉb%š=9;à˜9䳋¥ ¨Q‹ §;/Œå]'? ûÓЈ\ÃZªä'O‡0N›ñ‚´à iëÚfýHmÃmJK3‡h½ÕØýe‡8u ²/"´–"ãå‘ót3‰à¾ó—d³*½”x!TÏM`ö‹±4í#—XÁt~å‘´IOŒ˜¬;Ÿ66«æ)ýiÎý3Gºl¥0ÕÓ?M NßÌÏ…þhüNkë'º¥'ç+n;å–:G¹×EºÄý¹žp(©Yê_«Æ07üŠÜoŒû›4HàWA¥¤Ñ‡Íëdúôæ›m”G4#GåîÂ…·çVý(ËÜ w]½6Ÿ†æ’Sì袉Ͳ +?äpõtëÞD(öŽ=ó€„8)Èq¼'Ó¶‹Îè{®[bÛCÇq´žÓ  ËløIg»@T^ok,„ŽÉš§4´ÀYP³z®;—¸ðj… ­<‚ /F'dÁÉ:§kZ{Tž–ñ°nù 95‡Õ¢úÜ:3¥À;·2^6ü!†ºƒBV×]Fa¬Ù†¥'ÝD^Ë´ =†’½R?¿á e‰ÙPpwv6Óv°#Õs$-¦“£)œ 9Zw\Äy©˜[ìÜþ—ºQ>—ôÁ I²[(#Ò—`h]ØnŠkþß4âðK¨–¶æ¤=x[W–àÀuIY<3«¶Û¬èŠö˜ø""+Ýåšë!ƒÈž)ÑÚ³¾¯±óþ¯ÒJdJäÌßfšBöîqha!¯“òßöl"I1¾]"GÕ츎»}r-öÏ5ÏÕ–ˆ]V6aX‡÷B^l]ES%WKWV=kA¼…Äãgv®Cÿ—vh™Nõ€fÙT“p~’ޤ[0hªo¦Ò1âIié`¬B5)Eòþ×F|©‘ìÄ2“§)ý¦ªZ”xö!ƒ‚0±¢›·™³·–¥_¼ëƒ8ˆ¤_Ø÷ž<Ë ôÛÎ!mF¯!¤Ù]yLW`-ŸW‚fupº[ÛV³oʹ3X5øw,èý‹¸ ‹Á§BWh(‹ÏªcïlYË9„^}˯_“ÌK‹t'£ñéo¨å;4i·³Ød,9·ûU‡§Òëúí”ø-”â‹ ZòååØb,…æÓLsF}mo«Ÿä8#Î*ëQsÃgÃãRÒµ—-RŠj¤ \Iù*  †Åš¤%F-&ä×tŠ]š¹ÁR´ÒŠÒ_Ý¡ªStݨU´E†°BL‘«¼ÿaV\4!«jR*a.q¶Î°ËÞA'bá·<¯»Uh`pŠEê±ÏÅâ¨5Yí@ßZ±qŠ€cXZÜ_lçà·cÞ}ÿkÌ Ë˜q‚7ŽFðÚTP¦Ókfǘ7Ù³8ÏŠ~ Ì¢ +1: ð°se#áU ù¿Š¬‚2S̃¿ŒòfJ2ç¤wD1òüœß0c­¸>À=ÚpçþP|¬í8…Ž¢«0z¯O©yÀêà—,åaÁà Áûq¢,@A}¢¾yBÓ –?ÄüQ!VŠ.7iˆNàŸéªì’`UM'.´ ô /˜3»î«=S?|6$#³ó’(¯æäYѦ‚)óÒ1j?@¿a==ëÀÉFGáÜ(ÿgoVI’‡Š?Éâüÿ˜áñs®U—ÃÚzËàü>:¯È)@±ãZå§çä(¢y‘³73Û^te~¢ =ÑSSJc÷/æK!®ß­éë†Ã8o‹½Ë*¶ˆP¦\ ÙÊ¢!U }âR{fw¯Ñê ôŒ¤c’æ%ûnçU­D«‘žAÎ+a—tfëÓÒziW²°» H†Ø¹+ûXîähÆ(ú‹1¢×Eˆ%Ã)¯tØ•Çà/³;üÚj Aèd½³b5ú{éðê!?™{åŸwW(p)¹ J€½ú/Ø “ÎÜ#ß^¨-,‡]}}¯ Uù¸Æ`ºð »û‹œ|`¦µt±βGï<¢Î((ù" aO¿£4®©¼žÑüè ÖÇ Š‚»‡zyÊÀ¢5øÒG v8j¢òç%UcÌlôüßR=dÇB"ðR2‚ÖF_·âýKëáÃZAÀ“ÀV§æz«@¥W™äØ0@ƒs¡Ø]êü 1oOÃqV°³¹7ÎÙΤéÀ´ÜùÁ!-$ä‚ÃèÖÚKx æŠz7ëðsÓÝbé h¾Wå"øŠ;+í%Ù’h·; v•ÁþÆS­W¹}ÏÒ°óÍl*•`j«Ú=ílÁRµCJ"Ð8·¦¦“èð :¤5(ÎïÛa—šZ‹æCó¯pÓiäùÒwŒÑ´øQ— 6î¿ù8þå)+eŽpÎmæ63õ²·c°æ5(zaê*EToêQBß~´×cõ©g´ƒdhîãZGÅ苟XA$J#þc*äØU z‰|ç–>÷)‡àïWC_Z,.òñ$g¡ËMr?ËØ[A°º–Ê£',ìÖ&~Ωr€½à ¸:®)ôqjkÆÀÎeï -Oë¹+'dz¶&˛Š”ÒSE7#ÒË-,é ÂñI'{ÀŽôrêhvÚ°¤8oé+–h*Ó •gýU¤Š>j"$jŽiJ«†q|õE\á¼ÛŠU¨´ìueŒË’(z´²¢°+öJs¶éH„º¥/Û5Ø(Œã ÓüJÞg•Þ(è 3u«dc ÕùÉœv»*A¢cPç/NÇY²=F,›€8VÞ~‡}ý¨ÖcÏüì~PŠÖ\æNë$¦kñlB:s>äÔ€ÙNGEëžQÚ·¥¯)·{Ÿ:o ÷ †J õRüÙ«qÎî•—¹9s‘z¸U(~S]õ D’jhR óŽƒéÖ8jc)·5SX²ÒxΔ}=®rý=…‰Æ3c“˜]0•kfûE¶|geÛ>e¤1É«ÞÚÌÞúyWj“J ¸¾øz•1µj¢mA^äd}× ‚¼¢õJtˆÄÔ9þ\:·’‰e ʶjjU.¡üN~J1¾¡ÐpW-mI‘íé¯yç]UéAÂ1§N5YNÍC(úKÁ<¼lüSÎ!œêÓøñ/‚jûj¾Y_ЍBЦs»y<ýó^È¢uªõV_t^Ù\JÎpÿÖž>óBDChƒ6$P-?.û3l“ïÛ-™+®>6³„àMÐjίM±¾þ·lßÓÞ±cÞNi`àràªËfš=+/¹´°\Ï‹FFþì]õËÂxº‹ýfœ»í , ß ®öàw;=Ü.iÕBD€<Å5An›3ÿmm(sÙb Y’È©'pg9EìVjV T*ÊÀ9X³ëQ ^[}é;C?1y#ª%Ë%ÇaÇI{¬}ÊYºÉ>‡w  ‚ê 3ž8p"ƒ}F`xª/cžPº ÷úèú˜2'—–ƒE5Úø%Ôò'Íÿ½VjÙw ”–6CJ ÂŒfAîHB:cɼú<íÈY/û#Ϭài%;Ê}ÃêΔ2ðÞ¹«G6‰´`J<¹ÑýÛiFbd €ß½S,vk}޵š,ž`&Þi¤pâÒpÑ[öGuM:û•'tÊKՔ޲½;]OYO,0ï Ôfk3ªé3hsÔËg¼$8¹®¥-—<ßÁšOújY@Yqô-à}è!s°cB…„$6¿ù:´bâ7RB-ÊÂØ}›us>«ËƒÇµ’´¾Ïx¬£·e.¾aëþý¦öm’lÝ›p8µ1)}#Q¸o¯ÁðXMZØpëhOù€ÜhpT¬Cè¨\»§,°HŸ*gÿ\¾™tÓŒ•˽ ±—:Ü¿d…£2ñÕ˜Ê}(¡¤}¸b=\Û\òå*k'æö·‘ÁqµLfüÞÛ geˆ-üÑÛœïè=^aFÛ˜€³ü1¨x ©öT¦„}ã·h2õ2jíIÙN%ÇuˆP“'2%­ÀÒ .ARb¥U¡91ñ¨¥ã.: “OqЩzd»¤‘v”Ù{LÍÚÂÖÅ̹“)œ{#Õ¡b¢Û'±ÅW|³ê L ugÓµ{#Jr"êk„Âv¶Ä½ôCÒV[8ª*ùHÌ<'ŸGÉ~Ðaöd¿–Êw¼O/ |cà@ô ëCg ½G&ï{8C ä˜AIÆiŸH;Dt³*@ÅÛóNÝÿÑTðrÇ30¨3>£Aâ³Ör„Oßê ¥PÝôËcÓ4Ágƒf±ÍE'^&Í¢%(`ÈøqlXàǼ'ý ®âÊûÑÿß"Áð×T‹£´h¡Îï”óµÔ2I‡\.Ǹ w/[­‹ (ƒ@‘e'—wõÒc'P‰ÄÈDà^Ÿô[û¯¡ êßf“l[Ÿ{ L`Ø®Î:ý®Î4V½R ¥ø ò¬)1pýz $quYkTu|²Úd¡ŒaÎ)Z~— kÌ'1ÌK2µ‹õªìY¾ÎŸ³ÑËÆ¡ØB@w8€xR‹›wAn¨Lñ­p]xRŒÐƉÃÊKš‚Õ¡¦cf èµ"\é׊å= L6 .‘¦dȹåКúð: å t#̵5€‘‰)†Íy¨ýÜú•‹¦(Àè>HpIÃþAÿÊ_:w@6èØ ¹´´ÖwM0Á´Àûÿ 0>ÖO®ˆÐ$¿N–îÆ…qþIwö+tX_騣ç7Ï!·ÿë5Fd¶,ZòÕvsoú\÷Iû•% ·dÑø]†ópîd÷›®Œ8SøÐiµó¬bøD?g%m8ze Š˜µG™¨öá<ªx€Œ}ª$µž¬Yþ\°{­Ñšžù+Š.kÃK•rúPŠÕ2­0Ø^Y^øØ ôN1n$$P —™Þ¶f-ïü¿£õWqìÄB·eÈúT[ƒ”¹UN'< ^ÞL$##Í"UúPLÌQf݃8xžÄõ9Ð’ö[œè™©éäªÝº¬2þ]KT—4Ãó0Éãô Áˆ Ô‚~å¡> 6Êh½\Æý—=4IHÀ€Í™ó]óåH æÀ³P ¡ 0’€ÿ„ ‰_ßgÚJ]Nš5Ue`eTrâç%zH8ë–C‡—Cúû˜Jy0Y l(Ó;ÌÃ+äïnhÅïY8‹µÁàË€”™öv…Ûµ¹Ð 92 ¶”2 òØQ.ÀyÒë×ќ܉Rk¼I§o\„¤ÄLrš³GÑF¢Ã1*Ƨ_¨À•’³€šÃnj;4 ¸&¡J¸…a¥—oN^b¤G;ÝÊ¿ú¯\\‡–LÑÊ?8UîkšD5$i7¼‚ÓºÈtš)ÑQp…l0W¢Ö={É;ŽõE8§‹ ,è¶ì¯%R¯ÙøRn—Év½—˜ÉÍÏw@#ô.úŒêÊ“yPŽ&*y½^ÝÍ£«ôTåöñ4!•'¡„'1N²½K@Þ8'‘§"_”YO¾Œ~gy!8 Wvêßè+ëo2_Ι>¤¢ÊaMÝ•mðhô–JóMâ4\\b]¾G9š tZJ䘆Ÿ9Ö'›nJ=êR™è 1KŸX->~f0Ï HVæXº±&§ŸÑ É~™ü®O«‘ÿjˆ,¸¸±òݱàºîÝ%™}P G¬Ü÷íø)n¥»jÇ|ÝLêà€Ç{Æ’[Ïá’0kQíNÏcMÿh–6¹È±ÒR\¶QZoHF¹VvU²Õ~‰ƒÍç²ÑY2âB¬`îPÔ§¹$„ç‡<ç@€Ù¡Šòdã ’ø4Øô|G‰Zw%©üÓWsn¸;÷,ÊšiéË€P ¼Oq ð*èªnpÒGÇõ¡àôBÝš¹›a?.m)­IEƒlÜVT"ì%AåCyk–¥[# €}¦t8©è>Æ_¼`ðµ‹PÞ »©meîž…Ì¿€¹•TË‘½$ä s¤ïa[¾1Ô[ΙYêG^ñ,®o³@÷˜ØS/ôŠ5‰  ]FW>ÏÎpÉÀíß³L/.íf‘±,éÎÚÆ(_Ï!xÓ`ðç`ß Ь1>ëîÍæl‡kIRƒs}Ú|1À‚_…øj÷®Žv”Þ^}¦>{"Z‰|¤ª¥F %ã¡Y+¹oŽ&ÖMcÐfºº\;Åš:à–· 1ŸRP”>”ßC&z3ÿ~ˆñ»èM95Rúu\ÞB]¼QŠ9fxé{+‹¬C=7'e¼HòŒpþËù=ÄLëàïÄøx@5pmíÅz± \S$-”ÀIú)ËÏŠúº·P=zkÇ·"šÙŒÿf¹”'ð17tŽH8Gè Ì?wgÔjZ„[RD¶+ÎZ|0í­àĜآàë8FK¤å,¤ï«BV]Î ›#RÏ–€B s ¾ª“â¢2¦Ýf[7ÀÒœ^a‰ ÆDºu‚$f‘k4IÚ;Jœg)´G1)M“§-½aåYÄuÃ`J3ì)£}â B Íѳþ$n ¤‡O6Œ¸ø£U”‘’ä×A(thH€–M &¡ýŠÎ%¤we` »É³‡7î 0x<—Ï6¨‚(’Wå8/ižÚÉÛ/Û°?Ø›*X#‹à©˜àGvËìXkè{åzùÐmFµ°›«ñ1£—¦ †rqsÏÎ ãòñ:ú÷%•Ö–7~­ÕTÇWéu-¤WN{§¤¸;²WñxÓ³ŒÑÄ\¤ˆ{2¸Ì‡ žLéi"2Í`&!‰Ð â¼R„nda´îøØDðˆH½Xrò”cª Bà?w~ZdÑR²Që¿üÑ Ÿ‚€ŸÈÒîîdu0ÀSeZžÍx¸š¦ëT¶uÁ‚óÏvj! ¥Ú'ª1˜¯™‘ç`pád$'‘]ðîx<%'´ÅnT*¿rÝ ¯¯‡O$;|N*WŸq1#èsðqÕž”9šßE¯÷U­¶zþÿ/“ 9¡³q.h‚ºÂ“TUbÂ!8¤úr°#ï%Àã¿Wœx÷: dº"|ö…¹(¡Äm÷Î.®…ºÑÊÌ#ŽŒó¥ÀñZaTœ;>S¦|Ôï¢ÊÉŠcè ÛðÀdJ^E6DÜû½wâß’uËÂQè6AX¢Ã6Ïëâç!àšÂŸÓXŠßŽû:¦?ïq™Ž†n *®“ûX0›UjMšUòX“¥K/Ðr^ŒZ;£q6îJKI%FÍî'Øë‡I\.¨Åâ}h“_ü RX¬S&7%¯\µ°gØBË"‘œ»m.·C  Ë=<Ž à*ãxžÊ¯”?•M-¼j'yœŸ¨(þV2° ™ü­»ÚFŠ ?µ,÷ÙŒ¤¾™ÿÔn~¡©t6ݾâ`Š)¶ƒ>'§–“$ÄéÝ€ŠNZp[ª,Øþ)Þ(‹ð ?'D´xÆœv˜Ÿ~Ù1ìæ}˜,³s´ Vy9§`¨õahHÑÓ£Hìw­:a@{ëøƒ¤"Ks!Øáœ5.Aƒ*OÆß°kî<îÑÜïE’ÐGäÉî¾5#èhw‘1‡ÙÅ6Žv€rŸÓürs]½ uÿ 4  ­ŽÉËò uHŽ` »W᨜§!ò# C (Ãz#ì|"z'ÆaRÎqœ5ÚmdÌÝõJ‘ K°qû+Ä‹lÑ{$Œ<éš“+ø¡»¨}wÝÅjg‡E.窛â ²ë"{lܬ…X8²6dŸµ†Ü 0|7ä‰ã›P>v~n„W.ŽêÇL†ü€^ðøZ,&[ð÷¾±¦|gË|ì’×~اž±ó|¼6%`Vð6OšGfL͗ϓР¼ùKŠH’qk ºÛûXÏým2˜àg¹–¥pئ ±/™XI?-#¨µËÄÏKªÓyi±öø±}Ç}tîYŠ?Ī­|„:¼p¶”(|ï”}kË~à²ÐÜpC ~.:uWÚ õúta’pœF(©y½áÀB“Õ@ŠÊ„‰ yعÿû«¾ƒíãó|;Xâ-鎛œ59EirÑXqغ®é›$EèmÁÙÌ¥ë,üAx7ñS<•C óMR±ã ÐòÿÀ¦ìø¨—|QK¤‡öÁ/º…b»•b¥JýØ´ê)>_ãÀ%åÖn1¤Cw2j}‘ö?$€q{K€S2޵±A#×ÂÅs÷¯émIªd€EFÃiÚ¶¬¦ÐñŒ?™CÈþ¦ñ„%:„ÏÌÜÐd×j ™•°Ïþ™àVI¨‹‡êÆÞû:ŽÂ%€B–ÜïÞîbð×Òñj톴)pçVðõöY¯6±˜wæDdí\ýÑý"ÁÕ}Ç¡ð¢éÄ^Ájzkdø°‚±|ÎçBÓvYë/¸R¡'¯Ϫ?A÷…Â%ûlv!šCÃö”®±c P ÷ó[‚-ý9üúÁ8ÈRÃ1´lAŸÄèæ{ÎÒÖÙ·ÆOfÿ@XþÛÇ.[ÓkºÎã …t§>zرµ+÷Ôƒ«°‘öÕ×ÅŠfrýêÄð==Éw‰º {º*‹½1F- Uã\ùºñrF~3skë3h¡wÊ¢‡ùE˜¿ô·A}vûÈ7èÚUßþ:àXÙ¹kB“ä2ý´ð¸Šû?¶üÙ!Ë6¢›à:™­›¯Ÿ°Œ‰:ô5ýÍù¹â•š×j®ŽÖõ‡ìQLÂjJªm~ƒZ§›¸áÌ’p°Z/æ#«V‘H—ðð¢Öæn0b$«£j@ÑQ¡œLîî€5¦¡s;_'Ž.1æ þIÛ£]Œ•’­Þ©©mŸ= Ìö­§Ü/æ+blIEù`­ó]mw9`à‚<¬âVÛF|Á‹Ù|Í!=ƒÀx±Š’´¹IŽÁF_«wó'ÈÐS>"÷F%xï Þ[1§û[†„>nò$Ì*%Q¯è3D4"ª­MîQ $öƒ†|C´ž®òkÕÌF°DUÔH)!-•§¦Mn 7"^)Uï?ldF#^¹ÄŸü*ªÛ§÷“6h^n,[[ºÇú¿ß†ËÇg€Á(ë“b㮚´Ò[îÜÌz!ZI)ývÓ O!È"½ÏyúX,lŸIã€Õ(…~¨þ@©<[Íî´‰öÒK», ³–SïgZi„úGu²âÑým¨ Ò\Ù¸°?÷çÞædO=_öaýõÊHOpçùm&Ê`ò3ÊâåOß³Ue²Hö£jòD¿aª|÷Æs´ÿ ¿¾2ÎPÈèžóᙹ¨@–º©—¬ؽöê!hîœ=É_gz毬 /A~]OJWã…«f Àk¿xxf°Ÿf»ÑQzéE1ʆuŒ@Tf*§'-_ƒdƒ´`‰Kv‘†©¦±ÐwÜxP¸Ù»½€¬Ufap0ÚÈ÷ØþÈÅqÀ4Ú®ó;òôQ%ùƒZì'‰ä7á%^rã¯E–ñH#ÏÞ1¢M¡Œ|=÷šÁl‰þj¾FiIGmà< 1,1†~rÛ‘:ÃN™\ös¦“‘•Š>èU¼ÛPÖ¾-‚¿B¹¤ë³“Á‚ì[ýEZ:WÍš6iˈTS™=‹“h®.9ÎAèóøòÂn-#ÌX‰üÝXž§8àÉHìy¦Mæ:³ø]7`ñ¾ó©þf‡KË!ªøÜ_9ÿ&Cr®ŒtÕ9À¥lÛ}ï¦',EBþå÷äÑ¢©èÿ§UÊ1wÁ4eÉC²„¿zc&µ*ëlZ ûÂÜÚ0{°=¤í}+§yS$ºêhu™«ð'ô½¼µ‚4óE½ã»À–²ûŒwd'ÉQv —ê ü5é³›ÎÆÓÞÆQ+¤ýäЛìÄ3PéâœÖ®›e–Y^r" sÄÊ`j§“™4Þù S¦ÜŸ ÚsÁ3¤5 iÕŠÈ îû©†ëfiìAÒñщIIÅ-ÿ¾ÝÓ•1 ü ¡+Õ½m$Ìy˜üWžºÆMÏWqÄQá@_+bÂ$gꎪwtÝ7'÷4ï'[m'rlaª 'b*ynÜ‚éô¡âùA&è‚3‰I‰ëÆéhuxÀ5‘–ìïx×ñûx«1Ï[%ŽIíˆÞ{Ê«É&|SgI°Z,ú²™ A›b>Þ#Å þ±5‚¦ùeÙð¥dC•ÀõëiùÈ&j–@®)”ôËÈ'4õr[á¾cÍÿÛB0b „Q~]Ã/²´Ï0N]š‚Vhþ€Ä›¿õ¬ëDwŒÛù.Œ+·6¦t^b|g„$ýùÛf­C]×h_E`Ê“–ûoçNÒ^_6ÕjMT͈óQ‹:ˆ*:';Lk<7R4}%OFÎõ:\a\éµ:¦6;Q¡–H¾ºnhÄ…Fj¢‘íê¢Bƒ‚G˜Ó§;€/‚K´¬ýÍœª=á^bó"âpýDHVü1ómìc[BÄ%QúèÒJ K\/¯®²ØÔ  µ ÎÇIþMÎÑ­ãbUš^ÙEôˆš(sl¹Wß褲FE5k!;o½›Óÿ#A’â9“®ómybÖüD`fPDõnèÙHÚ²O`|Ðì­Ùl)xý1¯ã´äÈÚs`ÿú#!­œßU•rTäŸo‡‚»'þÂá ßRᇠŠ~gÊ…|€¿%¼.ƒQH`oµæVÔ·R/P6?;¿v&LóZ´ÃÙ s ¿ÏºþÙÔ¼j+ó‘ÿÑlÙ‰% ªéw€9<,M 0fÉúÏBº}b·Z[Zæ.þ 8x–àÖ6¸åzš_€ž¼ <66ÇgÏxítá|l$ K¦ëñ 2Àz‚~ôÄe“UÐ=r'5âÎÐsH?:ùV-° ÝqˆúÝÛýúì².e†Ç`i†K”¿WDk‹±~&h¾ÞÀE¯>ÓÀª¬53P €¡ ¡–{uôù6N ¸ I©DŽà†Qq# ž´pb*ŸíùWJÈÑŸÊN'”ú@+ŠJù)U.vÒ WJïñû£,(Ôă¨)éÍ4x áG×X/[xatÉ ¢«[p·¥Úyüà˜˜ZÛÔtÝ ~ZÛþ÷’ó[“î‰]Nç‘·µdÿª¸§(x¿˜ŸÚöh” hó¿£åˆÒµ+IN”ÁeÄ!NM˜7Íü¸…EçÏÚ'Ï¿]žFö±…ÊÑ È]}öé§¾Á™x½HH.[jïß$gŽõ6ñ–iîÕdW5aã«÷š«~GÔ Ëâ&1ÏüiîL `ÙÎ¥†¨­OôȺ~lT~'à‰UpíÕÊ KØíá_ïZó„$åéyL „ºŸ²ÚsŽìQJ¹Î–Ò-õÓ4d=ë ìoìm ‰ß"Ä"'s’µEß’õ²£qö–øbakÐôû&ßFt§Û%£8½‚²ö#g¡aÀ¹ã&^ÐZìâbÿõ)z;øg°N„ªgkÞ–¯çKpÒGŠÊïG”ÿâ¿Ûõ†#¦T{ž:qg&gš«øF¨wåE¶ôîçqmºEÍæøtùŒsQBÿ’a>1¢4Ò ¡0cØ8-‡ë6|šl¥š$›¢ßåhÚg‡Êôu7BØ»¬Þª¢r¶ÛâŽ[”Zæ±0k'¸e?ëÖ¥¿…½_éJM3•ÛJÿË…qͦ•úÖ|üéç÷ô°ª•R.|Ê¥)¹D|…¶øÐ˜KL¦Ù¥sç{‰è‰dyôì6…F Õï×õÉ8×—”(ß^`tËé®w8¼>È:ËŒsD",¢ü¹[Ç>§íUq`¾R¡ƒ£ÅXE„OAˆŽÞ¥*îÒujBÖÛðq›+¢*NÕ¡cQ‘`Rÿòq¦y?!„zO‡2å[ý£+|'‡"𢬱ð­£ÛV”.‘ý±c,¾ $™¾lã¡Tû‰Ý£ÊË¢K;b›sÃá¢Bv¥x\ B›ã“íhÑF=ÎñÊªì„ Žp<‚CÑj^þ8rd¶Vƒ)yŠùúÏ$°ý—8Ö·‘hhdqË#… ªA=Ïâ34Á…<ËsZRLšÆˆñúʘ ½Ä3í¡·ºæ°nâl.¼­Fxˆ±¸¡‘ˆ~K€6‚ߺ~×zá"ÿqî}™¢Œ¶úbB‹›Ÿ\iXÑI@ÊK%âqžµ½Té ]ÃK\¬˜á÷ÏH«wا‘™;bݳ6`¨ÏûÏ#ã%8yT +‰‰Å `:ÉT.¯•)G¹1œz=,úL[#}—Àëç,%à¡»˜e&ú„.?k†yž‘ü kel—ó—jBðþ™P'¼ ¸‹è*Ãvñu47cΟ³õI\Íã8k¡_w\JÎPÞ·ÆÝÀDpUˆ¡Ô"£¾ö޲Œ‚é!Ú3ä ˺U¶œý¼Lk±àŽ£P¿’™¤¬ÍŒàÂB 4‚l¤‹_¶åWZ†¼¡DŽ®}¢“eäW)eŠÕ‡¤Eìe²Áºò´¢|}Ö–¿¨Tà[ªÚ¢õéú§Æ…¯`/×ä­¯OW *sÈ2žtÙ| ìôïÖ2¼²gÂ:Å€Mz)5ˆúWžNæ{vç&aœz ý-Õ^®ƒ]ÁZ£ÊÖ²ñ)vfé Ÿ5cÆÆD€dúVjG·“¥²->€:"éCên\·…°whXè]bº7ªvfM¸Rß,5 ¾Ô˜újÉ¢ßÂ7ÅxjñE„Æû­Ñä¹²D’ç¤xªä:TÌDàüp¨ teFÒ6Öß }ROîeIþê¯k2>(?9Ùÿ•¸IœçWêp3Ä@;vùíšRj8£‘# –6yk0Mö£ÐÞˆïL¿ü‹ä hJÛQG=«G•Êa5ž%M–##)£>ÿRðó7Õô£]¶Ø«2H—쨥P‡ø¨îHÇ+ â¯÷ðQ‰ûÑÓÍáqκ>ÒâŒ]ö÷‰o¤ËáC7ºß¹‰ø÷Ä¥…{ÀF €¤vÊÑ\cæõÜVäŠ3ûä³8.´Cßy20 r6›*x£È]¸R6~&™FîãiéE¿Ã’ÝØŒmO· )>—ãIœ,I˜$\"OÔÍe¹´ˆáx\6ÌC³›÷ÈiA‰ºÇ›}"SÙžýÔì[¸‘-íÌ2ðwðÇ•¿q- ˜©_ŸS…:Ón:' ™àÂh”Ý[|í<ûÈ"ˆ+o›LÖôÿ]k°&Àä®2~èÓµ½M¡b[ʤ?AóO±fÕΓŸ%”äèr@éý>÷pQ†Äb.Òu÷•<ÐÖ½âô•‹ ÃÔØû_ “ÊAB‰G<ë˜(—ß"uXÁU›FP~ï<“—šöDëeÃ-3c ‰‰%¢4je[µ[ýöãššzÌ´A<0Œ6ëþ7Ê’¶©åew¾#(!yóô¼êp!RNG(’©Ÿƒ~úÎÕBËÓ¢p;Ñæò=ÜÆ³04±ÔÒÀ †Æ"TIaáëÝ•h„b~‰ã\Â¯ŽÆà ±G GäÔÿ{å,©š±É”iólô·ΠhOÂéݬQQ¼Õ !Ï^¡æ­®ANZ%ÁBE¤«EÊþt´ŸÄ ¥ZèÖ†…Âoˆcv¦‚]ñꔚ@ýð$ŒµrÜm¥ïv!ý_œd‰Ô“üܽûÄöÉŽÞÑÿ›þEY›;ȇž&™±ÄL£k·R§yVK;ƒø®öÀ¾Ш#o3$n”,ê¬L.4Cv˜ª°ËàìOúÝñ¾¤´.Qg•’q<4ïåÝ€CG±=-˜rN†nžGÑbh„%PÁ÷´Ê~ÇÜnÒZl¬5RC’Üw–æ^†*yqZ±…ß·& SÚ{ÛÜp3¢Ø[¯ÕX"ׂELc7yZu½×¦¼O•íþ™k@†¥,tžýˆt>-‡»á©wªª …ñµëŠÏ–Yü/È-bž¢?é jøx¹ºHÄeƒÞH$*~õ{زY”†¦¨2—¸-. ¹Càža†Œ1ÐäÑOôð>în-jmçÃñ»J‰m./W~P/qÂVŽõ ʽ¦ª– RÆ‹ËÞ¿Ìuì4ùðK×_-1|Xá[.kSúÚÎmæé1£çºCb‚«î’’`½ä11žÓÀg´!u\ƒL–nù¢ãFg?õé'N)ß· §T™W‹¶÷[Ù¸l•O#t'·òJÆMÔ²Eê'°ô.ÚWåܦ†4%À##v >)æmíqøUWD¤ùˆ#é¯T¢%œ ÅñNÝŽ ‰4ëyñi !ÅŽó:¶k':g•îäOŠ:ZF,œÁ—ôc:Ç`oÚž.0K–ÄsÏíŠÞy›ü5kÊÞØýu»î² ÞåÂy¶Íå)»Í àaÜ iÄß„ړ>¬®™wOœüo®Sbvi{x\;Ñ… ÆæNY(÷t,ëðL„ªrªb3­ªóaEzÞó÷NVsão¸ßKÇ4âv %µk3t´ˆ‰­lÚ·Ì+m©2³Vòú:fFYhhüªj.5°Mî9펑iˆ$ß¾¸†ø¤È²úvŠàGÁ²gb€ì>ĈRìùuðÌ+õ+Jቛ;åª õ+û® õe„{d¸ èZy¦¯Ló!®TY^ƒvH>ÆF^Õe¡ÂÛL°OC‰=`n[DWŽ]Èil1 ‰¦í†¶•.ßÖ+Ì{ãÕ Q¹!j.oÍgRû¢'\"ô½®R œû±ùIh ƒ´å+ÔÂʽÀ$Öu:Ò:ÿ†S“Ð f›…/ϭñ_6òê˃ ‘­ü&Ü "7À)v~g"§ï†tËXl–Ùa%Ÿ~´¯B«öD…Tz/.[§“ÔG2‚ûØ eÏ-íˆÌíxF:YÒMî©¥Êv{_A«2Xc(­*ÿUø)|Q¢~[e÷(ÅS5¢áöPœ÷FBsoR—°pó šŽU("O»Õ.¹BÔÖ’ªm!Ã|ošöçËxdÊ?åd˵0OÊ¢¨ úm”žóí"Š8³Â§:^”H;råt]!‚‚€DÕŽdž@"“೸勖ºx ¸$J(Vg€Ïšg€®àŽÌ>Ú-¾W®A¯)Ò8f¤xÖ¶1SN »`¼9òàöãE#²Æ]ËLZuæ®óp€á H¯2’o‡ÆÎÀ¹Ÿ¼Ž0²³yË(·˜f"–¸0õÌ…hlôe€Ë'ð¼sÔG:5¬Í\›)Í“CB(Ì=$\§¤Ò.ÐeãxžüïŸÑÄæRûg‹¦‘™ÐHïV¿OãIžÄ\4Õ^Ë>ú›È‰„ÿ±Tao•=5Y„úzr]Ú¸¨ÅDr@t¼• ÷cPæ$@sqÔaQ±–âîÑÖJôa T/˜€>5–í"w4XV~¯>Õ‰Et%$`ô®¼$í£p~ï'.¶ŸàD¤Ý”,B ‘·«ä˜ZýF[ë^”eŒ—<*Ê‹àR*ï5àÛt'`ûÞ-¡Üœàx>¤ ²¥ÈBœ[H­qê¦ñ°)Úµî‘c{ŸnIƒžƒ,¢UO¸tt¤È¥‹ùh½‰2L•<ŒO†c¯‘/³.€Î[³úƒú^tçÌÑÂ_!:#ù(!(¹ÎøœûoÛLô@nrK‰Êü6MOãùrÞØf¬£K>®í‚ãÔ²$£3m =E3°¬pN´:Ù6î€h|6›¨öiâ¢Å©ìØXñøJ>¹“ÔFx¸#Ùÿ‡1Ý>1AØ÷×EÁ’_MZ|uÅÖëžZs‰LªºaŒp+ÒÆ!+ ĵô"Ûÿk´Í^3íÔ’Yr‚–`; ¾äV Sï?~à ¶¼BO©&:y bùrÙä›kÇW’2óã´\ÒH)P¾A§\šµŽhÝðTúŒŸàªUohÐcÁÅs= NÍþ°Õ)>Ëm›OéšiS–ýÔ|å@ñ˜œÇUÖôöïëç¡Jæ~èfuÖä&Iép$^¿ØÇ ›îYÈÀسڷÖg£úTt’¨E“_Åwj±6ÔÏMoÛ$‘ËFÁëÓÃ.íîS;(1ÚH¶~ª±vnau!_GË{…û•…m¨èvJA[úìùÄm%•@Éeµy§X¦9UQ­} ¦®z·;ùÁFÙÃE™ Ÿ,ýTkQ0†ôñö÷Z$O: ½ý|QÌ«Â*û´‰¨#76f BH—@`Œ*XÏÁFAòùeŸnà*V‚bÀNƒ8Uø e1í&Nºq9‘—ò¿îod ½m¡-‰k»ü¿·§dø9tÏå{ŽlM̛Ӣ®qýê´¦aþêѺÁ-¹³ÖªÈteY©hæ÷ÆÝÁmµ¥R.ô‚މ[)ýÒ`<ôc…`¿Â¦òýª·yp"ÅŒnÖj¾ªè½Ô„ÊÚ‰íô®óÀƒqF^Öâ¦zŠÆ.µ®Ô’WçålsžÍÅŽ"/æß#iNMÛFìrÈ;µZ›Ö‹dÕ %YâÊó›Þ†Ž„Vm÷Àýñ–× wd%}E¹éÔö÷6, Wút5R ÞàêT­»²!üMOzfbÇ @äBk„æžc ¦¿ç¹˜aú7ÇÑ_(ɬ]"Q¹n?ÒÑcB˜ßÅòçŒó†¾ŠÖ$òÆüàÙ,M„Ý÷—Ä·kV&<Ty®oR@±ŸçÒD”Wj]Ôò’gXÄÞŒ=›Ðªe²Šd?•¾ÉÉFÜÀ¼_ªþYrP6fÜéìä‚5ÌJl¦ñ¥5Gc‘qENŽkêÌžÜP–.êt0;>IÓáïlÄL—'Çk‘kL&î¯L6®•XÃ}¢…õNjëä*šû§¡ˆâ-dœß\jÎk¡éØ,ªÚD†¼sýµœ¡I®Ÿ¢Mr›N~­=¾UKJ×Þ¯db;÷ò[¸/vÁ\Q5ޏ“ ~ÔÔ``](I˜µ/êÞ’¹ã*À¯%žÝâ:ÄÜŽ‘…ÛÄa(Ñ÷Ðz’=ýâ KLΫïá¡Ú*ßÁñ,ñsåúÁr.¸'5ã+ È›'ä²øS_û„0öyFIÁyßo[ÞÎŒWî|ÇÅцªcwªÕÁý^Íl–F*|Mà£4¯I+hðáN!w³T¡k÷+YdgÓnXÇ… L[])¶Bö6ILnFÆ’"Ï}ºÌì…‘¤LÜ;æmk¨bô…ÓÆÈpÿ‰~WÔÌ'yzúBë—.w_¦º Ð:‰ÏkîPˆnm?ĉº}ìŠîðM8ÖE|—«ã3XS‰ _Y¿ÞTxò]£iÔ³¤ëÇÛ¸,tQ¯‰l† ?˜QÞFE5…vëÛÄÆ ²€ßUjÁQ6Š m}‚ÞKeÅæóŪL O'd‘øÚb[ŠDìÚ]¹&GôèYØ‘zo3¼J±ØDut>òG(çä:bÿ®DA1gUŽNµUŠqbk”7ô“~‹çNÃ×ÐÏdoF<–°ŽtvŒåR¨_må mA¼+[¶ž¾4œÐSõ§nψˆB—Wñjá¡ñrú,mÐq@Þ¡BÈÊæD{º…ú|›ìkvl}¯F€kz°Zwô@É´vÞrÆà©Š%4¢1Cº²I ë ¤÷š:©–£=´Ï^†_§*VÛ÷¼¬ÄÓ5â¦ê”‡|-÷ È{húLzÕýIÞÇs‘+ºÅEèÛ%þÇ›v#sa°ê%•âѦ€¨ÿ2 Åänîr9gñçún{)a~–F’ÈÌe(¤¼Eàú4j➤•^“ÍÇ&V¶hÍ{¦R§;e]ìà ¼ìý˜<•Š»‹ÏÅãÓEQ½ãÄÏÍ|ùQsZÞÐÃ(Kö©cöÕ.=š-7Þ …¾ƒH×ßECkÔ4…ÑáÛM{—j¡s#¯ݲYºñæZ¢5C‘þ«œ‘Ú;k`˜!2Œ}zuþœT3zÿßß±¾þz˜¤ðžYÍZß—þôF/§“RµÀ}d¸8‘qL¥ò57êeWýöÓçvñd¸¤b2\º‡‰Ö¾ "¡kÛCn°fŽfë[V&Š»7ÔšÈit¬FëVýÀW½»æÞýªú"[È1¹+Ep¼X¦ÜÖÿb¯kø}±Èb}Äïq›Ðæ ­´/Þ×ð9­‰¯>DˆzÁ]GìZ)›'¤|~ßƼ!Â=˜‡‚2¦ž deËfŒ •ð|³¾Ô‘¦©ì6@nDŒd3B-•›ÈfA|U]„W†cÁXtÊ70™œ1h<Ù $ÀŽƒ¹x—õ‹m% ×~ÇgÁ;~­8DwcgÉêw鎧ß[x;™°Kº R[›<ΟEÆHѧ°5c€Ö »óùBL¯ªn¢€w°9õqà ¥¨P"ÕÜ1ŒÇã"¬&ÇU׆¦ö%„2Ž{2æLZN|jl`”±Å°èÆjªn<´K¤—4D½K$xš?0 /ùIe©¡ ¨ —eÞ"Œß©ê]á/óßß\ø½M|ì8³,¾M>ï©åž /Õ¡ËÑì JW:‰¦)»šdfã#Ô1¾&ò®•#U¿ü¼8x®>·&g+Yñ±—³>T9Œàå ™@›~lƒ7»–lÃP‘F)ØT ǑªD‹±Ä›½ÏÕ¬ØuŽÜYvÊÐt+Ú»ëºSÛúØ@× —x>!‚€ØÑ·Ú” @L>­ŒÙ“=ÅYÔÍÌMLyR‹nÖa#›_¨}…ŠK«š [ÍÌü]ÀIÆõ.©3UløåÄ·æ¼õAɹÞR·r6´¨ÅŠq.íŽa˜PN*¡±’U2m¾t®ìH'a†.ÉШ`÷ØÝƼ/2_Ýo"z†¯¾èP¡êC‡#ä…Õÿ›þ-`”òš>Åm5Ô­ÑzHM‡ƒ¾‡^&i‚.¤QâûÖ–Œ¾›íðñ§yŸ'ìÓq$Û¸­Vy^f ºV.x$‡ i}ÎlÇÄkŠ˜S+ú; )Üãÿ3Ö¯‡Xér„ WEÄ€‡P{PL ä)§«Ž¿ìLip†¦“SÛxâÔÛ¡pÕKy'©«þ¼_8¦ƒ:rÙ¤ÈÏ#úÝ”?ÈMRÅÜ& nèd¦–NÝJä½#ïý µLWšŒ´OD*×2,«Ü0i_rZ‘1FUM]柕Ä^wéÔûéø¹k©çPÀ7ߟ`U+¿V3 ‹”m‰$^Cl¾¢”æ[AXn&Òw¶i/v.$Hð3’Ъõ÷Í•Òb,iò±bvŠ9Ìõôذ~0Á³ÝÊì<~—â&`ËV¦UI–ÿBíi‘üò~-È„rÚzˆ:¦¡‘)5¢ò¡Q¤ ($M(/0ÈA!y¼¢øé¸õÐR88e¬˜›úÈa„J˜?W5Óyhd'黢ÙP’Î˃e¨пà€WÊuÓ|Á…žÞÀ W§¾º•ÛþD[yä§4i½M,!L±L°±yå9÷¹ÖÚž"zOdÀtðÞæ6kp …Ê›ÁŸ12ò‘asÔ2ÁKtˆ4?Ôxéê`ëैÇÐ9“°s¢Šïú&'ø¦Ú§v67X®—YijèçþX'¿¬Ú ˜¯]þ옄¡N‹Ü„mÈ §~ú!qëÊB@da¶¢f…©pÑÃÕ-[FùC 8oŸ5Gæç$ûNN[$îêõP(R#æfÞ QM=@Xnxþ ÷Tþ>˜þ¼¹fpƒhGÍÉm©Sš6Ä™Ùçñ¸Š¹1 P°”ÛÆÑÊú[·{u›·Ó}3Ì "œ/‰ü“#: æ6b`HëmTæÆkí?Só«ˆ,ô&Ÿ|‹,®cpÞ X´‹¹*gÈÅ}ð¬Ö{ìD[·{¯)±uÕñF-•` µÄöeÆÖS–9_ÜRïò¸ÙB‚¤xÀkÄDÑí.ÓñnDjH#ý›w¦'\Uƒ7ëËï9Øø/z"=¯h™"<;}Ä‚†ˆþ\¯¸°^[“£$=—ÑѪqŸ¹yìG …Zkð@t‚Š¢‘Dø\'¶¬m,Ðfž)…NNÿ†Ž#Ú3×WÅi‰;íÓ™žBh³#—ø.G¯ðÿô0K½[`œ¾ï«CÿÜ BÆhÔƒBãti!Ú?Â*< —k1ã*¤ OKÆã!åkÂäÁ±WœOfé_¾¹ŸvÇ‚çLX÷k"¨ÏØ™lnÄE !)!0‘³7ÙßîW ¦ëܳe%‹Iû¦·Ë… ¬^¢ðÙà˜|%HžŠsˆóC'Tï—Æ:øòŽ•h¬7*ÿZ7Rã‘aGd;˜xÉ´Ê:M„b¿]ò9ŸSîd§æd™JÐ:Põs'÷¼ ž~»?0M6˜#ÓÏS¾ø^ì"›ï^jß¾&6D'÷HÆ_½7vÚ}õ:˜hWÿFÄSGàP %uúY$*å/Þ$®Ç~§ÿ"15Ô.3±ÉKÃ>Š&6©<¸4Š##b½?Ál%—=dYo²¯M϶0‹Æ“1HÙznÔ>q‘Ç8Pþ´"n0fb›€R!8‚%(ƒç³¶»^Ì„ùQ [uR"Œm€éÕƒˆx÷“AÞäöv߸mŽÞ§j76cî\F°j199w®Bs“Y!¬±u¬ïeo r~¸~åÔRŽ $ o©dƒv§®Iêv%ù pa¦MWKà&‹˜¢I|%R‰UçûÒ$ ÚSÁÓÔ×Wù–Åe«emeWvG²>§IèÊÜoº)Æ-Á'Qn`ð[3ÏÒ 7\^ŽhKÛö6í_(­Ééþ»ûNÓÁ÷´ˆ*>éF=Ägªß9ËSµ¿4¨B? ÷ºd„ rD9yÙ‚<0W„!+âµµx©ƒ‰0gàSNr‰PÇ›½õ6"†¦=Í¥`º=Û¾†Ck¬¥w,auf€šb¡G¢zŒÆ÷Ƨ:YªÍsY’¾Ô±Ó‚à…vò6cr‘ÙUËïB!u6[xÆs·r¢·Ý3‡|?}FR£!¤L$í=˜1Bƒ+©ìçÔÔ¶iï{&§eÂ[š°ÏumÛ¯ßveTÖ“ÐSÜ“Q;ùÌ—Ë„¦½ü0 %_• ~aCW5¦BTÛ¦l’&•ïØ´»ö¶ú}²-#| gZ\me-2ÓÖ•²ú÷ï:ƒNd÷äs3{ÄÎPÚwzíˆmŽ¡';“.-¬àÓ¥Då§–-¶«›AAVs² Ú«@Ãþ¿S'‘ç÷×­ÈXôðVÍ1è™ÿ§Zâ'(•Dþ÷SÕìQdˆké…tU}dD#¶+(qÊ[ D’ìlLŸ–5èF×{Uñýo‹Þ«±1ðªŠ6žyçïLCSz7Û?Ûa6Å\˜OY”4Ú˜Žj—+”_«âl)ºTh¬¶÷øJ)§{ÌÑuh<T&6Ýù71¹ß_¥o5;¸¹§Gg5«ŽU,4Þ8ä­&kº¿ÉRmëÑ·:˸²Ø< ?G¹/F]¨®6¬×:/p±lÄ *Ä—üUw}u9¶ƒªÚa¬îK.Hlt€£¤‘ÁþN)±ðg©Çp:Ž)¯°RBû˜ÁDç~WN’leßµÈ>Ä ÖçQìŠM™î/=§ëÕÃ9ÞÞýŒU¥Úȯ÷gJˆu›,Ý›×*ó2Xh‹Ü0äJ„Ä&ünwÜ-±_dúö£À«â–:¦× Ž^¶akY'«Å žš_$<á•Ýž äÚgçšXC—>Ëóþïáí*œiÓÔ3§˜çA1_œ4r#|ÎãQ¹XŽ.J>jþpôrÞîˆQ$é£=y ;’¶psþJ ŒÄô¥1z^ [8Åﶘ’ÐÓá,=reD%„Ò¨P”Yþ-™SsòNßDJ•}ĈáX€Å®Ì dà'…£* ”>iHÃòþ* P»_þ= ­ž0“‹é’pÌqp̦E'VÉ``gC5’ Wׯúea~ÑÈ„'v£-]7Y¦Õ¨bû½ÈÈR Î,ô7´×awŠáDàAÎßÿ¨z¤øa .™‹›„ßH_œ!ßÔþ¤7æ8”Ñ?HÊô=U?žŽKÎ'Wü§„’Ö¶ü—Þ$z!=÷ÇfFP.F°±kÓL,ŒÇ·_õl#Ñ„ŒóË;y¤ˆ[9>å š%·Mäh/¶×›"‰v@3“5 ±C’šf)k÷ôÝžIÁ ˆAqdËmrwXðr2êµ›!¥ ˜"†ÞºxIZ7V;ž¶<_:Äô¨ì“'âé^[+M¸fÀÚ2¹B"Áv6Û“·ò>®´.m$¥‚ÀÌôIñPïç:–kϬ,„a|âGÖ3#Œ|µôíçZÿë—3yc=fÄFr÷”RLy§ØÃ&žàPŸ7ºâè›^‚`£‹»Ðÿð &Ï}ÜíÎ*©}LÏ!ùÿÚ_gÂÇh4D£òõŽo|]p4! K'ØVQ„‘ÎÇ¢umÔM¼WOpÁí‰_ û+¹ùôè$Ûˆ"Ëdaæ#1·ÿ–}ýˆº)(HÇu#úUFAè6¹¯¢aD%‰ ¸‘ ÓI°¼Õ²‡1˜˜sJ:Ö lþ¾•aŽŽ]p¥ØŒPÈõ²+pÔô `²Çêß y´UÍ'8×aÛ‚Y‘ÂñÎNhIŽ*GuP8`0‘ýhòÌ•ûÝà[^ŒL¶dÊaß™×» K¡DÌžÞéJ ½õ”8@Zä·áŽ™³înAh/ErFøÔ>Žc=ýš³.„;][CH ÁMŒ´À_[†p¹‹¿æ”Vª—LñÈà¦ÂMVe !¬ –EhÛ¸\âPÇýüóAhªÞºˆh"Sì™?^q2XÀKʉkÿ΄÷»_tSÒòæ3Ù¢Š¸b)¹Ø ÆkS‰–ã±1 ßÃ%|"9‰áiÅS<¸gژݬD 4±äPzVÝá¿Á´ûØNùžüºß›´Àí@Òíh£¤ö¤ÅŠ•Žî×7¶¸ý•¨×§]Ö€/Tä_*úîžáÔ˯K&Ú¾†Ñ¼AYÇYªÜ»„±\ÎÛ»øl4Rçj vÔI>•¢Úšñ!d¶i44xÿʆ1> »-FÕm¤éÛ–d¨‰|ŸÆ.i+™c…ú)Ž ±×àÓQ"zµU­áõ1N• "Š€ð6»3ß¡®}[î¿èš©ä_ì-¸}ÖåkÓåGõÕ=2ª`Tã4;Å•(l¬ÞÇ¡ Ñ þ“7¶·Åà®úd¬Ë$ÞeB‰‰²ùVL€ÎÚë3±ïAE‚û¨L@YÒÍÛcóŠÙ&¸û¦—²ÌÆÍ/Œî„ Ñö5wß\ n}—òCÕÔå_ uwã†ê’uAÝ”g³¹‰»ò&6ìU‚üÐu^äð€°Ÿ2$Ø·$¦"&ÌC´Áõø@Oòî}Ô¼ÅåO+À !ÎÐÊÈ·ÚsuU‚ åg¹]×õ¶µ˜ }´‘bPKÛøÃˆ,Å1Pœ\{a±âŒŒóŠã«'ÕšpŒÕìe\¼Ùfp{ÀëCOåèªÍ…¡*4à»ÈŠ·P/A|I9àÓ~Íê|¬gHxæ»\v=~.OöYŸ‹xÐÈorùÄ^œÄ†î>R+šØ]”­³ÓÆtx †K«k?[0'½[”—ødï§j„¿Û§_· s¢=®D‹{Ç®c¶]ø`þí’¦^¨+n9 kõ$ ®H‘¯£tî'ÐTæÿyžM4—uá’VzO÷c逸Ds!”ô~N½”CFãàÿ¥DÔ’ɲ޻»Q>Þô)‚ùÞlÅCc½gQà*°aAs†®¥ ç—ªÛùû$éCß 7û+«nÝ„‘çÃ$3¬áP»J\D½O>ÓöÅõLÞËQ9ŠžÞõë£HX¼/_÷ç±߂ÌìèœUÄ8‚{‹HˆÉèhµÿeÒnV|WZºæ±ÝÀV2ÆbVÇò€ã—5ˆÉ5+£ƒË3ØhyyW¥´0r%'­~fžMe@- +¥7|oÇê‡R­ìáe ¹{O‹Mq½zÁ|Ô pœ¶¶dËÈ$SàA‰¹É/blîýW ‡t˜ý@Ÿ¦ñ¦ºþ}¿Û„°´gÃ+ïýP¬ÓÄJ%7¢\Aë~õ÷m`£°É˜w‡·*ô‡§ÿ”Áh@] Çß[I¯-5%”»{¾sSŒó÷¿½6lÍc;v×éƒij²¼•º§Fëç¼q®Åtu˜=­~¢ÃðsMöî¨÷Qd^4ÈåÛI'§j/]?ä«vïœñ±P×c,M“‡ß2( ŽÞzÓñT²  æé.%Ìö;**\hXMÂ}‘ âáç5_rÊŠÍGý4~=^’«ƒ&$ÕT%ÒÝ*ü=ìj&¾(kn³ °*Üd,Ÿ³Û›‡Ô6Ä|‡]Ñ™ÉÂc •d(»KiÆ’'-~BËnžÑÉd9;>iH7'5RÅpcœüÀ zkþiˆ¾L ëšé}ƒ‡³wúó_0RA°¯¸§2ý—~³&퀃ÞCÃÿ`;atÇ5ÉÖº÷ˆ8³fX¹KåTucqè§½þ¼×ëq«ÃêZå Ö¾€Òc½Ð•*6}d#’ÓécØ/uy‘Š‚'ÏÉÂ3"Y (dÛWôIƒå‰05²S ¿KtÏ[bq@ÒaÒxC_88ÝBg=0 Ü$!"„潨G(t‰QŸ.ýÒÐ8Rœ"t`BÒVXpú.ª}]‘Î|æÑðkž¡Sœªö]ÔTÐåµoO®üé¢èÅ•©6õ€2Óeˆù¿biœ±ÍK•ãW^%j=Õ"t¶"ÁHm"=ZÂQ´‡´Ð $¾P¡â°m´ ò¸¼Ÿ°û*‚†árÀð÷Leª”!À4:ì¨ÏSÊ´CótW°ÌWÝb† æFŒqoŽ ’¬d"ŒuŒL Óyi6ØZ`&xæ'•çüzš’kLÔ× ú¿è.Êê‘iµ»Ÿ×Í"ˆ…9Ú;|Ë+Æ©Õݽ@¡Ã÷áž®‰”’|’dÇóOÒeõÃ4î·žå~Þ;)µ6†m3/y,Ÿ_àòÔÕ'«Aô¦¡ªL tœS7»(u­¹”^—»¶ö€jÎ:OmÊ:p¸aÊRêuj»—‚:†jú¤’j°¦E-ê°7Ô°‚ƒ*Lù*¢ÅМü/ttŠê ¶EA 6¨Ýî…‰iºµâ_’CKZÙð®Ã¯ÏÙJç:«™õk^Ù»S5À±DS¶a¸ªâRÚ@ìÛ£ DJŸªþUuêæ„œy‹ý%ôˆÌZÆÕéFÅ1ŠEŽ®À$ÚîÚôqŽÒËQm£cû",³:=œa ñm¼préÜ”4ðéZõ@sðì@2öÜX“÷@åKÂy܇ö3óy‡8ý¾e±ý4&@N2™¸Èqº ìÔ7’í™ò]…ž”©¡¢æò.RbÃ?ŸqaÕƒ€í3ç» ÇØzñŒ@=+|oWŽ1™¤êsg³£6]5è“‹ˆ UÜ‹kŒ†O_PÿE4¨ËÄ>7HW™ ¥%ÚXÅ;:­² ïÃR9Ô¨üâ ˆg »{j8þõ‚Þ®äï ?[å´óâ·oú7“Ù[ÕJ–ß åþ’÷‡¯z Q”âMî¥ÅyíêuD ó¹*AU’¼C …#C&!qo¥K ‹ûç¨FŒ‚(úðZ>âŸÒ ŸAÌr¦ðQh'li”8Úp¸rï,TûØ«b¼Ùé"ú€õf¬û³¥…üÈ»LÔa6%Ó9§ðlºèvÿJÀç¶ðÍ5EõØèµ0ŒK†Â,”‹X:´Þx|üÇdÉzážñ+¨¤´àꂎÓpY½aÐ?‡³²± —–/+è9»jÁÿSu@ •±‰òª€@øàÙ XÐ;þGŒcRni‰|ªêÉ2U½‚å×Y{Ñ›ûP>!.“ô_Êî?Ñëäãî(tÈ4R2Y Žk,Âj0h1/†é—.yn ÔG:Îõ¶(Ëhô™Ò'¡´«BÞÿÚijQY ¾$\ÞtœöD §ýíñé¢ú:þ«ò¡I d¬@lFr}\™óîa,öS^M³v–عŒÊï] —×ô¤àšÓ/´j ]Ê]åöTi‰ÖHNå°0Eµ‚ãé¦nõm‚û°fr¨H[&ÕÛhHÖàL’d:ó0pÉܯo‘‡®ÈZ°p Ï êv‘ÂÌ3XlfSÈ‘ %£-ò³÷Sò£2Ÿ”[3Âý­ø2Éðì{ßZbÎëÛÜ܆ֱ¿Ï'©®%[,ú½‚†éå»óPߘ2 ï\ýv ´5óCGßȼHµâ^[ãhªß´A¸Ç¯ÖŠÄ~FÏNVÀ*üåD4;V”Eלé­ÿîZ˜hCS=ýòIœ °Ü…I¢SŽšR$íT·ž¬kyJâ ºñHò8æóóèÁ5Äöï'¦E‡±¢HäÌЧS­øúEvˆãìcøZÔ­Œ‚h§×C‹ W R¤ÞO ‘~NK»¹„€š!GB6 ¤PªëÔ±q„ʾ¨}ã‰k6NB³ÙKz©9ëúnb±€Ïàf½è7«™]ËWyZý=M&´yvg©êÊ»Q„4ýŸYÁÆψ§e–ÀpvÙàqËäw[Š€ž' G1QÚl 8“ss[ÿ¯M|$Z/®ö ðÑHøE~so³¹‰Kˆù¿OK§XäœHÄÈ™®DXä"op#îº{ÆCu¯JP YùëÚµ ƒÄù2g2ü»†Ë•8zè¼_¯¯1½È·µ‚ ¯/Y*19ÿ[RöÅ#ë/GFóP:Óàt–m„^zR2ˆ¹pÜ[ *>x­-w8"‚…Éjçåx?J8§^àÿú0ØÇ`ã­{i·Z:ÒWÄXz¶¯+X:¯Q¿Ø•Ÿ¯ÉôaE ÍXNçò9&aòhHÈÿ _¨ÊÒÉ Êã?ƒÃʯv×wΕ†Ya €ˆê(#lÉu#ΡÆWû"àbTº{TØk!šV…w˜ü&¸ †GRk:Y4KÙÃ=¶*f#äþ¤Q$t€ÜkV‹Iæ4ÁTíþ~Ñ6žx¾{­nƒÕŽ¿òhÊVOq™Ñ¦6´9þÙ@'™Zû8­$”Ñ):` Z´ öy>[ó¸tïQò_ÕCâ’‰œ&KóíµS0ÛÎˉ­êèÑÀÊ ±Ë{=¶1±!ô‘ëS¶8°\M×K DPn¸‡oiW;Gp¼ý&èèÏ+®lñÒ*Ø+àÑòDh2”xéY¦\ñ¾Í=ŠÖ8‹çLÊ”Z”ƒÕé|lßù›ºÆáãŽJå|ä|ÐÓDa·W˜9¶((Oñäó!ŸÏ5vVá@% (Á°ap{~“á ;qêe™ßÉ™/Í`Ç8¹{·ó99²{Ù»–o»&•Ïøg9çú©Zì³QüýîŒ7Îhçm:ï›|ù/¯qÙ—eì×-*Ì=ΪY ‹[9z,ñjHƒoÐî³77h›+J_d™Au4šk8íç0}IëÑ@Æúfä3r‡e-cVˆ\_jM¡ÁjÇñ¡K°Ñø!ôL5ÿ:sX=½«pG;ÈlÞ]lyãmÎÁ§@_õ4ݺv¨´Ÿ¡`§ÿ.µŠ7 ¶·‰Q WÕÔþ`åEå¨Â§gæ4w YBȲߩ^/K™p<;´g„mÚfZ£GÍ@‚ÛÈük†Î*Ôûào'Ö½/’h#t?€–J›X–î2¬°«‚‹²¯--ÞT?‚ñZLjf¢ZDíàbø\ÀŸ\²è&ˆW+‚dÔ9d騆œäðÅý˜¡Xó"o­éÚ¼•Dã³åÖ8HÃD¼˜Õ^iÄL÷.QœGiSÊßµú|ŽYÞX°Å ‹XãÊçóŒæPËàB¦R`3õï’5q„«ôZ7æíg|Àc)fR”š×gðFœÊÜ2“ƒ<y¥ÒðýöLü@OÐyèÚ‘ð×uû­ñ$•‰:ól—\Mk‘Oý7-Ù >“ÌäAtqXu›Ío<azçÆ2б…÷å$YY¥·šjt³ÓC¡Ù·ÉyB‡\{ª/EP±ãű&Æ= Æ2°\dã–©¤Ä˜«:o3ÄûüáµÉ¬B<Ð̽k©Vºð€ÿq'÷,c nNˆ_,Þ´Y˜¦;Ü œ;+ÎÌŽõ“OòKåv¾ûg«Оú=„mì@Á- EÍu*ì—¤8)‘1W‚àÛÓÁ0 …bX¿”/£¼ýÎG¹^8”±™ßØ!zÖ><ñ2()?wØb)aIù8xQ¡[\«¯Àæ-íœK†½:–%(ò)Jç¤×Eø`y6Ÿ'®…POq*åÞ9wÒÌ£ãJ½‚\=ꬌö~'㺠ôælÙ66önçïáe !òÄÃ3¾~íªcïâ~$3j—ñì?Kö Ô zB}„ðª[xÊ!ZH|7 ¢ž‰1_œÕ@TJÿxs>"dnÈ,]±ùˆH¡Ö„0dï© [í“+ pQŸ]Š0(”˜Ù­Ó‰a~G£“õïø„o$™’›çG+bÃSMK"˜€¿ã[»ÊBFáÓrã&Ã-Îü˜/–„í¨dáé]6MîÅË=A9çœÔªÄ­¦©æ²Éxg—£4ÒÊ4€-ÔEÄW¥`ýuuïÆôTY[Û»“åJÿQ#=’ÑÖ¸¯4r©âÄëp+µÁÊõcÏ.¬,wÉ!½îE‚.}#ÖW{%‹ÇÑ‚þí Õª²ƒþ'º€ŠkoÁ¥T ß—±¥7ÑË–ÀÖ¬¼:º|ÆB%aºTßgy Z"Ñ­å¾U“ô€eUeò°×› ­õH³ÇÛûgÖjZ¤hðóEŸ)G æ†"šnQGÚõÚ¥ÜÏ´€ÔX+ÉÜ ¨¯òeÂìÇD…ižžK/rŸ“p߃?0s'8q‹þS*’Ûk+ž‹{þ ÓsvËQßÖÛ†{7Ô@-ƒîÈl$4Ÿ4»«ØõL+ÆŠî7!sè9!O¨ä'eñþ½íØtü(â¬P˜BcQc³bÍ( ¨w<í¸ÜãæÉ+…!í)mo4MYsâùHÜû؈ha¬ÃXÍíéôz‘¹Ä~¹¨_‰klFS.~Úú#aq÷Úp”òꮘÉ!d)%‹•P-8«hc‚.…QD—¶k!F±’2vyo” Öt'¤&êþ„º¾÷ö+ÚÕúd±kCÚà*ŽÝ$š“é×F}]>H}æð¬b'ŽÆhgŒŒÚõåéÅ, Æxðç«) ˜ç†ëçIÃoµp‡·ÉvàŽ«^ÇÄ ×¥ø»6‘Çh5&™€ÒPÏ-|}.6>ñŸ·¦¯=ÕZäMÄo°$Ô¸ZýÙ‡ m9çN5¯äj¸±ówó1 ƒn1 ½ =ƾ–JP›ùF¾,²‡Æ"û—ئfÙ`ÄG­=Ÿêi9&8Î#¥,ˆz+WDzˆ ý¨¦ Pö*þ¿˜Îc0> ÛÛ×ÝHcjDçÆv>ö{ÄyñE r>+sŒ^ˆbþÒðÆ€WðÝèã=D8˜4ð”*RNÖúÚ7ŽCOñü=¡§©…eå¬Ú2a»ÁåÎÌÄŠ½Ï©lÑYõßamÛ5ËT ÚêcåÅ2>»s<"tI­lû»æ‰²ðÉœÁÝs¦aÕ*'‰<‘دÿtÏ~KPÄh*ÃFt@ c øÙ«¯ ÙKqêÚô@„òXÉ=1|ŒçdÌ–b@’¦íˆÅz$~!¥_‰oöº®úßOèJLß/Õ¥¡—Y÷) ‹î¸èÿsW›1žy[2)ežñ 5º»êôù´½ Û¦Fï»|˜áÖ°÷ù&ƒ¸Â ^wK*e3M•pÖ륒ÏàVsJ™Ò0¨Úª¯GµØ«‘sÍJp ÷Vñ¿ø¯ Ó´ì4 {Yô]öb³“µÕjªò|ÖÔ“œÄ»±JJoZ¥åj)˜[€A—¥ãY3ê£ ÞÒmѺå1Qù‹ŒÌ™{ÙJ6rá$>ÿ§§®»×= =²m¢t6Ç ®-Ÿ¥7ËÂŽx"á|;÷Ñ-\t…¾\™I©¡¿*¥ÃI<Ñ1½å Z&:#zΚuQq{%å D‹Ñpü±Eèùäi`Öó©{áugft©Æ‚µ¼ؼô8µ›sÊJ{»gº¤xQÑïó½êæÅ"£•ÌKÜ a;”¶äÅ8@%ôÎÁq]’ù4å@'RçÀ*鿀wX‹;=Ç `øífÍG–+gßÉJ—&Ø~õ„T=1˜!Ï"Q·žw2·UÔ·`LÊ$5íR‘î—É’=nw1ñFêÃ"ÓÉy(9)^çnÖtjüN® áÄ'o—ÑÔeW}1½»‚`R+'ºÓ§‚bkZöº½&“ÇrÒ×yÑC_+äÜ{õ9“Z[õ—¡{ôÓ¦KÇÃvI³UêÚ¯™¶þ>lºXÀ}ŸÆÏ ^BGÍDOÉ{l¦Éª2‹Äëâ­áxžÂJl¶³2U¿œ­ÆéÝúå$ð7#K8Œ%2š Xd¾*dÓžÛü ûrÖáÁCÈ´³ç‡.Þ”™ÌÂóŸZ+Ÿ—ŸåŠ0s<‘w¾¤öÕঠü7î<>fý©½fÝÍÐpíÀ|Äkóh1¼ûEbnµDßcá"Oc4¶š¾$”ò_ 2àt¥ =i1õC´V>añÙ]!9VÀ2šE}(¨Þ·?¹-¨Æ€€¯ GKŠ(†(ë¥ë…Jw’ÆA‹MÌXX”gœ²!UKÌ‚ a4Ⴆ; 4®/£1 ÷ ¯£ª'ßDÈë”n°£+–ˆn™’ µå——ë½Þþß–gÌØñœe-C¸j0ÁÈ®ÙYÈTÇ-&rÛ„³/¨4—J·ôÕÃì™îe„éš]|¨± ña§]-÷üûGõÔŠ‚5øõ<’ET¹guûÉGшj`‰ ]‹6v-âsÑÃÂåÄÞJÅö£‘j~)õ÷%¦+Ö½¯µæ•Zç+.>ûàp»Û,L9׫ȷeäÓXÉ1p«Š$F÷¢Mšo»X?‚Ë=F.GZ°ŸÖȪ MÅ;ü0K<€ä‚>—"^y¸]÷ˆ`Æ Ï1¥Õ…¾ËHAù¼s£ÕôGÃ[çWUS¸®óÓ%HïrT0W%£ÂfS’ŽL¯¸Ì}bñxBáQ<1Hu?á²@õÚÕm×>Yª»ü&‡¿q~• À‰ŠoOtÃ4€2˜GfT7ŒÎãyͶ^!Íúhg.·ˆÍ-i÷äs‚_ Är~éäÇÔq$0†/PëÀŦÚ`É‹;!´«ÍâõM¯Ög\̨™Ð²´<Ÿ(4ðºžÒ p}Ÿ‹fZëü…(Uµã/1Éy ‹ª6 ˜”¨Ð269#‚¥äžŸ;íäj@ScLÝ2Ò0uI*³²JNÐiñ(ª/’´K×3œIÕñß¼•íaÒοaV  ÅyÓ¦0Ì\ƒT/$ŒGf‰ÏbþžM’ä1CÂ×Ï]õ;·ÄûtLoyîõpU[ßX„LbsÆ›ó#R í„`–dA¢L’¾‰D¿ŽSuêê(]AwaP·/ÃïÂÉ1ÚÜÅH&/e!gÑ«^7¹8.¶2jÄæí¶}À‰”»ñmäH½¬˜°ú|Ãû¯‚šÕ²5k GÌ 13Õ”*&Þ g$¼Ô+‚6ë/ÂEÃ>Nª_,ä(Ÿ™acž`úÓ†,tâ^› ›ÆÂWº2Ö³Ø:ÎÊ®=Óa ¿ù¥§ÔնȦû,ˆ¨KãS§°#¥:2¨F>Ñþ <‹ ®)þI°´œb±€o+©1Qüú5 '75ˆúEŒ¤^ÿC™×qî¹fÑz Fl5%¤¥v”X÷Yý…pu‰.€WÈðXá2¡ú/ž]l‰¿«‡þ)®¡´4Á½ÁÂÇÄŸ¡é«L$µß;;G.7Õ¤F¬QŸg€ÙÄçûV¨ÒU•aŸÎ,g®-ñû=íâL²þ'N„ѦÛAÔ7üL>ݹ!vOƳÐCäLÑXGœÌ–?Å‘8Ôn’Š”5€fšüWêè 2a wð6kOdØ£±Ý6±1p%ž5>ð·íS–AÆS…}ÜÇŠ?zt©“Sìæ¯¾›Õÿ!üò÷®¼²Dý°‘â*xaþUÅ;k$7ô¼+ê¶_á?r§ŽÒògj}$1, I/ôÎŒ.Ú†Ãéó Û«×F, erÌO’L8®«!ý5ð*­´5Q¥¸7 K·ä”ýp +jå U9ÜD^Í&_ƒRú‰Ê»M$Ýß{5)ψÝAZJœ¢lø‚”W,@§Ã·ŒžˆFC÷S¼ýLÝžåºhWÖÛˆH5 &»7»á§nÙÇ©E•q«³ÀžGÐ\讚™f´Ìûôö8=Ëkưү¡{õ¸Cö]ld£¨\Ä"´£´é¼î;¸|©L!YÔŽâhŸzhi¿fv.ãXè›À[O™Q Íwýˆ 5ì•V ¶aTbu|£ƒËˆˆ¯ÿ ZxÊ€D=]¹´âüL£³–¯Ý‚ ¾… (;áû=B^d Éò‹UcTÞÔ¯(ÏÓ=Lë]†Ž~‹ú®Ï‹ExCë4óÓü ôÕ£z ü…G­üàÎ"®;r_üÏO*ùCGYçD¼¨]gÄ cÎ#ê«o7(+µ˜49ÌÝqŸçÐjŒìÂ]èÔêPjÐÆRâ­*sz!ˆ”žm¦y]ЦAa¯»FÓ ÈݪŠ-N_bMœÉøŒˆåºÑ 2ê~BøÁŒlÀ ÖC’Üó¿Ò‚ô('~»µ»RwÖU/!Áç2 ¯ä™úò.ËËžðOÆdÀ¶%¾ØÞ<†¾ƒo©Á 0íw*ZèwÅâbáÕŽƒÁá:;ÐÉN¦Rò– ‰f§û‡Ÿa‡Mæ”˪Œ@ÁðCC{àÏà…‹ä–mzÈíåqZQÃÍ‚òœ'sÓWô˜Ñ])H^§mh‹q™–÷…Êj¥¥,¯¯™d(Ë»ÆÕÝÆ¼‡4ö”‹P1ææ²ÔÂs…ÁÞºOŸ Í Ç͇vdV°Ý¹7ðwÏéÓĨ{8>¢¬¿Ž|ño?Ì”ËÉå×Xû¹_2ïÙÊ)'NQ4ÄufÖà³|0gd×ßIšî¨$í¥{f÷+ Hþ$Xh¥¢™ôbõ– "SXïаÎào"õôÙöߊ@.–Ç^¢¡Ž7¦v‹yÄ·F sï*ËÃQè9yˆêõL™AU—.žý[·HÁ8¯FÎLì}uJŠ^§Ëeëê¢Ù¯Ó\¾qæ-âŸ~Ь6!; ë£wuÔp‹BÞääûgîµÑÊýóÇëƒëÂfɃ³,€•žË£m: 9¿iÖø³s=‡ÐßâÁ€C|…C¦‡¯‘~£}ºp‡h)Âf2·>¿1¤ðŽÐ |§¢ç*P²ÃÈG•„C¦mˆŒPlÛ†"³©£Ž ˜: ±h²Ùÿ |¶-edÂêµoå[‘%h1b\|•I¸M‚2KF0}$à„YÀtµŠ%ãžO|Õ:àPQdlUѦ»¢z¿z‚ÆH¤ ‰!Öû:xú¥XôF5[âÑ[–2º¸½ìL?• 9¸­tÓ'"ÐLh§¡ˆ ¢Ï!êAêäLERæíÄ‹¡ØÎÐŽ¿²‹ÑK(6©ÑßÔS’®ÐÜJ‰[ƒQÀÙ•ˆ&@WU¶6$wÙ÷7ÞAÕ*1Æ•Ô"¹J+£z½ aJÔ‡áÁ,3"Á[/eQ+,´Ìgz‹ö:Sïí®p°òú‰ýgœ¡}˜ on< £B›Œõ»žL¦<§ÎØ*œØð3‘CtXnò.JUñÿÆÜ¹Ï@í£a–KνèËåusª!踊Ál~âIK†c?×­:)&׬ä²ÐÖ\ïn(pO½s=½ÿºê[¾±Æ&KWG*(\Ür7îŽR<øwÃHG¹¢¯ß÷²­àoœ"Ÿ£id„*®R6á÷–Täy©³™¨W@çÀ‘mjìÂ=ZÀÉ@¤y.Aá­x:L¢VÛ¢à\ÌéšÏó^þúâ2ðÞÉ'„šå‹>fP–6WO'øY‰ßÞ'ÚÛˆS–¹-Å4ú-»%ÕD ×c í®¨Ùqä £¬×’"®3XÙºgN™§L•7âœçqh Ñw£s•í_¸ˆ ) !gV/ô¥G8—€“ÌP‚¸XŒZw<­Åº¬ŽH‰ùö ÊÑÚÁÀc x°B]ÓH1¬iM'nI±Í8¥ëÚ}Ï·!)AÒ\Ó¼Dñ6q PÔâ³²­¢²øA=¨Bt”màÌC§¯+‡0„Ëù¿Mîhkß÷-t2T®}ÛÉÇ5á Z»>o³nfao…T·i\®Êˆj¨<ÛÄï5p±ð³¢®ýî]:2¼'è—¨@¼1Ô&(ÍK ¦S3·ù¨æJdr•î˃©TÙOO¦èQÎ=º¨‘áa¦ŸÓ,¸l±¯O±ÏòCàš'+d{¢8Ö”ÊTñH,Néžh¼bŒ)Þ%–ƒ² •¼E5Îö*[ï3æëÎHfî –ré%‹j¡pjc/à/,BÜŒºYá§ZìšVep˜¡‹íÈÌ@í(v‹hÏ2æVóF•íbWƒVSDg‹ëpH>YHˆ„6Õ`›JzÞþ¿ëðÔvÐàÆÚ¸]Ó§«Z'§xKî+â(úÑó!#ù¿vÖx°ç‰’v¿!®zúvz–8·Õ‰™PõÀ)Zr~éÜ–s™À1«ä]€o[{ʼW=„çÏ)*Ä^cxNx²5·:vêOÙT¢ÅF,úß…yцŸFšàˆæe¬˜?ǯhä8Õ`p’öB7w5Æpu":–®¹ÃƒœŽXµ·G™Váú<Ø,½öpS›» ý¿”])6æï¢1å^Ò¥ƒu^m°f¨ÁGHq@P«0úÊÒß±cͼ¼>‚üšXßVRÍËŽ¢ MØ»ñÒAË ömpqâÝE}±î"Â`ªèœcIC ^ Px\¨™ 6^‰¥L„„û{ßJtýD5 Jó~ƒáºçäâ/§ ^_@Ž97Á  ¤¹-øÜQ1ÿ úañ„ÍÍ ð‰ý_â1J…i!°Î¸,áUŸ´<¥ó¿¸^7¸~“g+kQS—Ÿðft yDÔ²›ƒ^Ò–%åo–D¾š÷[b„(^E¹œÃ‘ÁóKŽˆŽ9drô?1ö{‚iðÃ’N;K4þ þõàžžÁÞtNq L8ºa“×0g ­ÙPVRâ 4Ôý| ÿ¹_‹ÛÊxRœl!šüQïÜ’%ÙL:NYKYTr;JEíŠÎ²f?ýâ™ËÙ¼-°ÝibôѶ?c€}è,2æÇð?ˆƒÊ8y(L”Ý€‰¦•N²?ж|ÐPÐæ*n-Sì þrÉ¿ëž=,·]«l±|Ô.Á< TÔ{÷Šªõ  püG3©à= ›æ,Î|IÚ(Aµ˜”®5ºÒnÜ ¨0õ£Á –8h*Ë6FûjÜiú ¾ÌþëÇÕô±hKŸÊœˆ(‡îjÕÞ"ADzLþcŽ2Ð2÷v02%œaýi$7íz_†v×oóÅ”ÖïøˆUkœ'£–d»-j ÊîŸ eûp2Ç;å`äì'™p`E®mïÕPØodÉ‚+ûBéù¥êª6ÕØ‡—Uï4ø›v4bÛû!ZñèEµámM³Ë†2®â¹ùö”Ïw˜÷Ù1!2 á }ÿˆ`Jc.ñØÎëM’Yš­ä²¡¯Ö¨‹+nê^ë|–ô2<•úN5–$X;fORPÓïòÉ1-ÏòÌôôI<¥^Mý2][[Å*ïx[–Þ…3¢ø§efMlÌ´‘C™.6ü3-wà¶ü2W¾tKzŽt£övª C¹¹Z£jL—…z¾­Ù£l<ì¿lžàµ§z}º‰\€USì SC7d i=™Ö^þé¾%¬ Ž ñÙÜ¢ÁÄ„àK”;Ä¡®ÐhÀ8®áXìÁöïž (ATXZ¬'8`!™§_lþøOÖ¾³Ä]hJ—©ï€àwXºl02ÇǺÁ'A@vÎ~ExÚƒÑÇÍf³S ÑCǪ¯3z(/­•EDÎsÁ÷ª;¢ºÒ²«yHþNs6"¡yE× >ᆧª  $’·Þ©’äÓ3ÇŒ€ÿt Øq2d=uF‘7ISí…)rVÕv¥ä&ú•á‰Iþ,·³*!ýiI¥mþ(0° À?­4.×±göÜîÍ@SZ6aäÖÌÛ{Ưý§¼Dƒ.dÐAmAþäèïR ݳ·€0UÑ>9=°HªI\ÛÝh„ç ¶Õ2vïÂâ\X«|q¸bÎÓñ@äóTÄh âxJãV?KVA ²UÝÄ·¯ÒZ´Åû_™[:¸¼‡|¢›•X¾lV8f]ëË®”hßPTÔQñÐJ‰ ¾æ SÓÔ«„Öó®†qn·íÕ}Hg€#eøOV3ã—±À'j›á÷sîIr€ÖãβÕð,wFŠ««ºÛ‚õ)j¹jk{¹‰ßí^È ˆNSψ„ÒË›4é4òŸ“jœ!Œ•· µŒF-§1¥WÀž–Ç\R`[ ”JÛwÔÚ!¶”Ý´s.Öó@à÷ÌØÄˆ3Õ¢¤úÇ‚öCÕ¹VœoeOƒè¥I@åÇñ_§k¿ãK}°%ò~WJåqžÅÒ5Hq€ŽòΧZALeqÃG‘@DŒ+)»"ز!¾–6µ4cíR††Æ[É-ŸGš`§d·^Õ¢¼²-vOÀf¾5$û´ó]ej[— 8„@·O«HW&³GïE„&½«h#ï6þ¹]SÎ#ëÛc"ìÔOB?¨¸pdò{&p84PU‹æÉE,‚¸-'ÙO<¿!§Ý 1-ÅÆn<»ùöçy€I]4X69öþ¦Ãwp’Ì^cø¢™~´lO(t¥Qvð½¹[0$%~]d¶÷Cx!ˆwê·† }Ð4¤Íõþ† ðC¯Žzì6áaüÙI½)¼ß$¯´%};¿üô~W"\'/×æÏ³ÉûJZz\®°üyÀ/9hã©%£|âqj°€À—a>ø €»§m dž¿ÐÁ”Ô‹ xÑ2䶺jMÖö`>°L.ŽP~èÙ ´Â¤VMu]WúÊF² ]êéGcÜŸßjfçT£;žæŽ+K‹ ™iáæŒ›–¡•® f~šÿR.<¬+XqÞGÚ¹uOd4ÑUè­uØšŒcƒèF§ªÜðMúHš] xEú {ø¬ÊÙ6¬î5×tø…ÇxÚëS}$t¸+WUe‘»|ÂVK 6þ‰)t!'·âÃà.ê$Ú*1&0‹ AB(Ûè'2£8¡&óLWw–§l_¶7õnE‰h’ Ž$,{ŸèP®h‚½ürpà }à¡¥UÃÇ\áÊ5Qåô?çn)“’<=;óœÛ„ú©€ÿ½‹v.× uGÄæ—åëªÐlq|´¨¡¸ƒi•ºÊ¬Wiô½–nóóø2…&ÃûF»lœfšfÊÛhK¾wå +‰K„ß3Ó¯ÀîD{ÄN…vÙ¿ŸÄEþ‰Ñâ3ýœØx‚ÝV ÄE8ç©JöÖ/…,qªÅ‹ûç­<>Y13»)Ã)ZÝxø:‘Pboî?C)›ª$mÆ‘ù¿IÿêyÈYœê«Ø² VêÛio÷kGÛ°g‡&}¯ÐD¦:w«Boó#ÅU…~–¡1½©RÒ'L}¶¸,Æ;oÒίe†¹™º›ö |Ó¦Uaóz?…+ê7:vÙùýš[~[dyðY7Ëo ª À*ÿ5É›?`…&Ûm9mó)…SW¿?’x0YBQ©wå< 40[B®V,%åu–èþŒ2½@e›‡±6‡Ž¶cF¬ ÆVÜ4Fcf¢ÐÄ`¢žFo’~z Ð¥B¶(òà˜‹æ½ ìômšÔFÒX'ûϾ‡àq“vq$‹L}ìŒFœÝ-î/š|yc€Y§çóOLóƒÒÐOZ3Ë rDÌÊC€eÉÀ Caæ—zçÌÍE6%T dg§öOèç-ûú§t#E]†aVáõ7VUÏ:’™/ÙÔ {¢o¸‰q[ös`S•jJóÕà´ ÈfXȯ âIX±Ø“†ŠkÒ®B˜Yü,¥µœ¨+xV<éÈíakÉÜxJž€:¤?B4Ÿ^Œ‹® ĽrËšt~ªo ºÜ©úMŠ ¶…›óÀbúëjǹC˜ÚåãQZ„|Oâɉ÷Äa*óŽ•/ÀL@u•á¨ÏbÄ}(ã>ó×ê¯s)‘;[àS¼Šƒ­Ùé+"ÞÀdšãnTWT¬Î°K {µe¦“Ç›€ ë'…G±TAðïü"û:àþÚQƒéN|Ú[ã7MÖs‰òÕb‘ÑL÷ÓÔ¼ƒ¬)Øò·r®ëÆ*ã¤9¤´Rt:8Ž0aöl å~½«pï‡K²Êù$f¸mÆÝJp]sêÐú*9t(J¸jWÃ5©9ûE+Õ3XìK®éöÞ¼¯Ct}¶µö|W¹öÈŸj€5w{H61Ï;ÒŽÉrH2*|ASYkþo¥å:‹Û·êU×ëØY…_›{ò™N¶Ž,ÖÇÎe¡%+2lC«\Q™Oz”o7Ô 9î0[ ~¤!!ƒEÂ&¶è)qúä)·øºlwrI~Á?˜:Pûìü˜ê@FÌ?ÝÁü»Á(3‡p×´ë ᑌ—ö¬ž£k?ŠJ10¼FÙ½^Ó]î4›Š#A©šÚí\hQV#çÚ©ÄnÐBAÿ´Æ<Î{£n#wj": ~Xê+òQúþîI¨vjoàöYØEa:ØZ’‰F±ªZª"rg÷ÖÐÉ8 ù f÷][ÙOŽGT?¥L°q@Y>Ÿ¯*ÒûBeÞ†só ¤ØíˆæÁ&xòwLÈ“ª`Ûø¾ Õgl™”9-«`ÌÝI&~g¿©¹"e2uëžâŸ[ðìbó:%’wÅT1ÜbL‚y¿åç®q£õÜ\e¤ç¶à«·—í4€–# *srÓo±>HÍs`kº¸ãÂB5yAenÍÐ:œX±·/ ˜òKL¿ø…Uxs‘覒íz0´Ùã-H"$ ŸzÀ[j¸QHK³×β,Û eƒyOøèyÊÑiQ”ó.L¼‹|A«èÖ&&µ wÿ5ìFÿd  êÙ¯Þ±aÃ@~$ª\¦L›ˆ C.£}°øÇÔŸ—…}ȉ‘ßB¿Þ -ÉŰäbzéP>ⓞÎ×PŠï`4šS³i2ò=™Ôjé¼ëá ÐÚ˜j+ì6ã‹j&Ëpƒx ’Ä—§ÕŠ6]x¾Cñª¬P¿äÀ–j^Ÿ’}Ÿ'•ŽD€7½í&n‘Á"aUy™ Ì5R‹u…¬ãscŠàlm;×ÐG~Ø_²‹&¤bŸÒ«ìU ÅN›r (D?À¦6˜¤̺æ­qøóc¥>@Ý„Œ§'=„Êpi@ÿ šuÎ/í=¹çµÈžh‹yDï¦"Û¿âe;Žeã¾ÂO^à× åA}xIGƒ¥M0,jºùHJ ­’4/¼õ¨‰ý¸5K¨óëûg?‡GUXŒË‰»&J)ਖŽè[ÞvÆ5ª¡µé§Äì$/3ΓèA𻘥ž½×Ù)“ Zm°¹Y2ŠUˆ= º]#¾ÌC —Ð.™ìƒÎoËt TŸÜƒwè³;d¯4BFsX$—ñ\TqO|tÀ[æÇ‰#võÆ-Æ?µÀÝÓ¤Ñ'e>¬¾VßÀ1Ä@ë¸ádHc‡:¤Äœ´ùäERä¸KY¥7lxű'·Áðöüù˜Q3Ä rçËMï4ÖÕ×"~Ï/38Q´Oÿz«fñçž×Fp·ïZ4bò@9 ¡ø¢(= nt¸T½Úì >€ væþÞ­ä¯`¿­¾¯-<ÜÜ•yˆ$?t/`ˆHh—ÑÃ5ÝK³sÇ÷/ÉMxö«²Ïa-(ëÈé´\ÿx8*N¶Q‘—TÞ·£þVj³;nÝz5G*Æ ‡¿‹V›P—η{­ùüqR1$Iºª39$ËÚÜ=®¼=¬< ðÇÜ´þH v·Î0Ó£Ž]iIàbˆ4Jóà 'åèüdûÙ|(‘—ò9?PÅÞ±Éã LîG?ÖÌÛ=¬[Œdô[“‚ºÄ)¨ÿ&ÏÃÿ1ô$ž`‰S³ì3d§,‰Í"+ºb²ªYSx#›F¶®b¶¶Éla<ŽÛk‘ó×—¼R|ÁH ÄÉÔ]ªãiéOCãFªEçyܾ( ZØë#Q³ÓbCIÔf! §÷3-žŠ\Xÿ ìC\²_DÜŸ5G‘¿Ný|í‚„«Ú›g昣ê¬bhó-À¥ãF¶ÜLÆõÊ‘žùûꆉm¶\‡ uÜiµôafÙ+¹K¬½"0 |®³C‰k×$¿Jß'ãŠ6ŒRËtoÈ[øïÑ}!šÇ¬›y)¨šüŠ”<Ý¡–®‘ÀÍ$·r3/÷}mQ3ƒ30ÌßáÖA‡/‘`‹¤j£óH:Ûf!)Á×ÒôoÈÒíî1]Ô¡JŒY×ä^ÄÔ·+Ô–KóŽÜ˜‹!Ú«¶³p»¨­s¤Oªô4´Yú«þE¬©§1$µ ëØ\Ø®z/£ ½™yç%—ÛÀ`›¼^úA^7·²€k»€Z¯‰_Xصä¾,ªTrJuQïgòÅÚ»O:<®p"nõÎVk׆AíU£¢ôޝQLùÙ0„} ¿û,¤¬½¡lu"ôË4¸ä¾ïeK7Ï‘YM:Ùí;ð’»ý“£³¦lW+ EòDŸl ‘Ö˜ÚæsÇB4 Œw?{È¿$\\:q¢î é%¡¸ŠÓÖðt\:)ð9²<¸¾Úª7ÝÈ1fÎæ% ­rÆBUΪ'¬u`r§Û· ëx1ÍõþÑ`"œ©ºAÿ¨dp±à«"ntÔܵ)9Py&k„É×€.Sâw”ĸ1D†üHÔ„^8Šr… —†æxSJ ã¢Ãže!zA>›Ëâ –šÓæŒ/)6͉4–Z«0ž¼«ß €˜nO3µk‰¼¿œ0³}î?Ë4¶û}C«F Ä?D]¢˜0!†&Ê/ i, feB£þPÝÀôâµncLù˜ŽëÐ@ìc0  ûÍ¿±Ü»GÅìbDrd7_¶ ·UI\…Æ ¿<¶1ŒÖh5¯ø.e%óH¼¡€û£q•ÊDW¥a·rˆ?-¶à×éKä¥ú5ìO ¸7°d>×Ѷ֫!ÅõÉf7ºïK?dM “”ÆÆðr±Rá?svóã ®EñÒoJ ÑO{÷úY)¸óƒiä’„vqH/€$õiæbôf4*Žué-o„g W)ÛD˜øƒu(»#¬ðr8ú´3$89µé¡–xã}CÿÏBõ|6â4fbÊ‘aRüýÝ.ˆ „ B‹ÿn˜ê©±9£¡› I1"?BÓ7c¡3éì=,îÅ– /˜(9¨üBfç•Y)±!ÈåŠÄBõJ»_ɨñ@«Þ¼"‡¢R¾³$Ît _Lp‚!ƒà •äbË)ëcb™‚xwÍvä§À¨ŠÏµYÚ…1P‚W—£Zs¾zƇ•8槈ø½€™¿N%2âvýŸ"HL+“ÿž; ‘,0( qâ)±ßÛîZ´¥ü2@W‘­`õRúòÿÃð Ábk·.×´“ÖôûªÂp«Z§íðcùÎCj´Fá~ò¤|Ií’9f\­-"l[û¿¿åÀq·øn6ÝnK|F’}²&ÊÍé'^LTDqïâ,š:vÒ`õÂðPgöõý©KÖsC;3§ó<Ü×v^X$ÑÉñ-mU3Aâ{šs2'’?ÛR?ÛsÂß¼§QSÔfqÁvÕ;\;ëWà9VLÎ0¿{’¤×Ý^¶ºw‰ZzÑÞ?H¯IÜájÐMÊH|÷ýºž]ø¢ÀáUöb/ÛL+K©±­Áés?D-g²ë •C1dVx¢iÕEû뱩8·ß*ù÷Û¤yd_ª{vx&õ‡³¹ß#Tã«™%Ì3G§lçýÐY!ÛTe„hÓ—J~, ú–pn3“ÙÓÜà ½Zóq"×üÂ$DÊÙ¦øe;ê„úûËð­¶xÔJÓIfߣ£¼²Êw]ºM£ÊñÿBm~Š0ñ†.db·ƒÄq3Ù¤ÍÂeÍ0Ô©[ê`ó #kð:#°ÂŠaÓ/êë™°= ǘ¶tî`œ[:ÏU¥ëNrÈ%ÿË~¬‡öp ñË‘\¶)*ü^r—'™7Lø„"éo"#8£]YrÑ_Á^!äA ›”{Y#õÿélPšòýkon!è¨ï¯z1›‡;³ÊÆ®Ö2C>)©ÎD}˜©IUŽöX<ŸÐŸõ"ÛQ…5š5–óøÚ#ÿ< ŠCiuœO)aîE–ËFïF¿Ž¢0z¶ »?M\XOθ£qx’°Í@ò]@Ó3.×Kuþ iͨl1#LáèÃÔ&,VÍ5~ØlɱfÂôIe\âhª¢%Í¢"Är= ýLmæçË ²÷1ƒD$v@¿ôƒæË`ü‘D/X|™Ñ´ëlov5APoÔ‘G¥H uQ*$2%¡«h¡`ý/RniÆÂ¿¶4rÂÒÏõ:0ìBª –!-pËG ËŸ37ïóÄC¶AÑÚÛuØoAº¢ð33²ßÞ0R*(1öƳ n$j±ç&lEÑKŒª-°èvv|Á˜¸^¯ô²ni&pYp}!œYågÃÓ(õþÍ ê·ÿÐ fÔÒrñ¯A—6ÔAÌJ×Máö~óÇá’*t®”ÔŸj=iCQé hÝrXÜDSó{õW€› 5Oa”xqÒ6|YúKBq1£T†+w൧Dª7ÿ¥¯÷–ìaþÎËf ;fÛÆ£)RN2¥ §ù}ç;¼¿Ý­.ÂÎ5ÿðï—P›M3ÖÁiJãXó2¹ò}º’\]Ú¾Má­r×Éþ!7\zBÉD^YÍ5 €XöÑ¿,_‹òyZµŒb·qºW\Ê&ã4Ý£bØË–È¡ù|D0>{Õh‰HÇ ‹jº®¸mŠ¥Ë“Û†#Ð’Ÿ—ºbœÎòÃvõv1?œ %ƒp3zAÈD á8ôº®ÞÈ7·‡ºËÚLCTÏ]ˆî¿—ªLŸç…ÒOþ ŒÏµ$DI}ö.?jÊóÑvq²@5^žª³ælQ”©½Ÿ6m‹8 c*—ÐsýóQ“šÖ‡{ŽÞüíJ"ÛDÿÁ`Z»P·„»aâMZqù¯øùþEƒ<Õñls/©²Ë¼Û6;€\ˆèjøøø“e¯åay9COÚ’ªïèåÇ­Î"Ñ Ï`•ì#XCOsÿÅ#X‘in…b@¹$&Uh½óZ°´…/‘Ÿ*3½8ÒUð›S^Žª÷ÚÇBÕ ëöDêM†*ä$ö&aÆE×íŒnåL&íä³V6bÂc*ý¬[‹€!F)UâN1WÀßVPßYliJ"Û·ùËz¯å`];øšµiË~ð†UXp„§ƒo÷7隦 €³dÍ…³z¯Ç78*Gˆe ÃK ôÊK]&ï $&ú`½ $/#*Nðzª­G5I±8Ó‚îþ“èòCÛp6Ù"´uϵ;]¬¢ýq…{y~g9ùÍûU…Aú mÑë7/½D4Þ‰gíh—l×gi‹Ç=ÿOS³ªÏK/ÅÈl‘g,®)ÛÌP/òÐÔ6­ŠÞ⢨*o)otÞß? %n‘^â’³¶·}2ÉÙ"¼C0²xêa#ysc'ÙŽ$| GsåƒÀŸ7œ+ÒAΨñêBE«1FUÕh}&!ØŒ&ͶZ":mŒ÷]<î_Ý%øÎ E[ôÐC‰”!ÔÃFŠ¿ú—¼638Dys–\¦²b¹Ë!7eèæwÍl»žwT¡~WÏU1AJdB@þ¶ûû´Ñë[×—ô-6—öÞ?¾¿rð½Ê1ô›ZiUgäàô¯s+ö»ÅQ(˜O `ÿ‘J*ÅIØ;®² JoæíÝñø.äwkZ˜3ìŒ<Ê„ W@êöo¤k€ °3œu‡dq(Ÿ²µ'P3”l´Ü{† M™ÙˆVuNT»‚¡åD]ßÉçÿjjI¬‘ÎÑHÈõoÇFRÚU/ PZ¡Ž‡òNóÚÓzÁ´”^¨WVyv›È\µ¿YÊž\/°ÇÕái1õàÊ‘íx|L–Jz5ñøÃwGÁÞjï¡päÉS††´WiN§ÿ¨Òë(^;öY×ñé#uµüϸ>ÿ¢ïnÔÉñxõ„ïÆó=ˆ:íC¤.Àg½H¾_T"…ÙSà,BÕ­¼´Ù•Q4JÎNp_†ÔÍ»Ž“Y Wû Q‡dj|Èß^š3”ÈcãØÃˆ‡Âªó7=9°¸w”ÅO,Ò$Ê —†8Í5 ó¼•%0˜ªƒ˜ˆ„½@g0ÙxŠ2 ”ËQm{fyø°háÂÞç)¯óECŰW•¢Ï$8•U¹5N%î7ÑL)dgž³É&)mG¨†u™"³$ãO’ŽfÌ¡ñP¤Àd¡SCÙÁP2MÆêµ„ÓÍÛ¡º¢¤û:2!©œ>žÙ„YcñCŸ®ËŽþ*c #’l¥]ªéS­ibìv× kR +1[)©OÆz|ÕîJ--º[³À‚UëŸòËçÙpTÓ"‰>,9w Ö‘aWF@œìyô$~ò*]X”8UÛªöõm~É-ÊpçY(ˆë¯²x.â3’»“"E!ýG)bgÒ…Lù¾ºFßG åm4I) ‹o°Œ+©ŽP„t¼â¾Ž¿qØÑÚŽzY¹Õ¬@”DIù¬E÷ÚM h%v»à?:i,0[‚pæ•„2¾S'Ñ«^—Ò‰Æ1'QäF -4%®z¾“uå45ª÷ÉåžxÏg¡Ø4 Ö—äc‰Â§Ö¶DT+ai%ó~hÄ]`õGâÑ­…Âs—maùBÛx’†šváìÑ'ÌsOåù& ZåWýŽ [0U0.ôˆM»u]Ê·ÿ(Mµ $É·šY¢:¼³í¬£¡xÃ=¡ðjîW5uprÕ’óàm…0äZÔÏl:¥—X›ÌYØoòÿ:2T¨Â°§¬ÊI_›_ñÿ‰Äï,;Ê Rå8rUƒ{Gjyù«107«\„¹º*m ºÖЉ„ónáeèÌÅ-@Zã_®bNp3ú!ÑRº¯D/Tä]á¥aŠˆê ù!mí+2@i…âŠyÒ˜.ELN/®…X¶»€jsz:WžcŽšÈ¨È}ÅþU‚ªØ+FkÁžAàA‰·mÎŽZ? ¡ÚãßüûÒåD‘º'KÂ%¦…åbª¡Ä¦4©KœL‘ì…-Öp)KósØðfɸF“FÚ(ǃfHRvVê-ÙÖèemÅÈ{AAÉwYì·:º‚˜Ègrˆ‡hFû"”Ù1: h&âkÉQãf¥1Y¥_Ý"”Ht6=lî¬6Q÷…H"ÿl Ë÷ÌàÛaACúYP¦¾‘Kt1aYÔfLxÒ œ>Ñü•*®3f¼=ÔíL'ItÀ¡¼÷i:‡JLêÑ­£wõ”a·õ%˦NÿtŽSeJ¿VŒÍAÜ,1.yùð¨ü†›/±Â+¤E–¨ÄÍz´!}¿òéÍ'm “YÝÐáøÑd²³º£÷£Ñ,™²Ò¨Åg|¹z8©kÇ@lƒCá·&$ïÔönu#ÙDÝŒÔËnÖ<ÔyȬ Ù"ù¢× .=@XqE E¶µÊ—öï?5~§#´JÙld:ô:ä¶3ü¾çþ’r¤¨˜D#®×ë·˜yt27çÓNÚÝùùeä/Ž’ CCÏL@ÓÑv1欿7]^Âð‡äL˜ö•ÒÂÊáÆ½öîHŸ¬x/¯A"˜’‹¾'µ±\°]úP‹Åz9ãM ßÚ}¡¾ó3J-) "Ïx„kH©†|7¨pFîÏ#g©ú¥…ÛþÂÔù³ˆ=LëWñâèü1ŒÒfF‰~Àª8°³/ßÔD¼d)%)—›Ù.*ó4ÆÔ]=Ó‰×åíl)Á< !×›X•_.vÿbå{x% jšÂ¼õ˜ô¯–¶Gõû{&†Båk‘\ÓŠ~Xiæpâ;Ò!=ËAkËæF–zÖh3lr ~®‡§xùÓü è…e/ï28Èþÿ/lnQÄ¥ìØÀ€¢Àö ûú@`„?Á¢¯zç 'ËЩR"j«O{>NzS•’?£tŠšot–å5ÿ·ì>ºß ÛÔ2ûetãø‡!%MÏ‚  .9%kzuÖ6ÂÔU([xäŽdÄkØC×-&ÚX¥Í½yr÷çX^:¡˜ìUÏ?Y@¹|2¦; ³müÎl&±ºUÉÈn£O~`l›å>q6«×Ü€%ƒ¾èŒDÛôGÁÜ(5›Þ‹ÇZ£­Ò–ëγçäØßÁrœB-—…Ÿªi~fµØ4w)MbÜä"Àù(·Ù_Þ4ý•õÀ3伤¸3a§ž9îÉ) 2£áƒæ¬@BFïi5ŸÕ+?´õò­;BŸ?²ý²¿­_¿ž4ÆR"ÄqРG¶„»ôïÈæ˜¨ÀÒÞC³±˜l¡J1c ÷%”wwõê]°Û€GšM²É!m\#!|¥­eîákÝBÙ”¾ G¥ã®P:–$a¿¬RÒUI÷Lûº+êœu´Ê"/i¸§¡ÆÐŽScÛœ~óÊR<¸Üda 7¦Ä¬ÙYf$º¡Þ»N1·ÝŠüÃJ¯¸žªcÓÒ÷SlyŽÅ·zr¥šmoïÓ—Ë"£…Zá” ÝôÄ”Èüè4,ÅrGFc?ãÓ­«*EÏè„(”?r®—|4}lâž(E z¨öý?ÎB¬)åýÍÍØ‘I×>T£^nÞ!qg–][¸H!{ƒ0àÇͱ…N³8GÍ]|+Ù›Y­`:j‰:‹Ã÷¯¬Þµ6†š‘Å>wwT>—æÚ¾÷<“DÈ¿ºQÙÄiˆÁ¾¾X@A¸n‹_õáAëV y‰¸]ÒpßBâLîçì‡$­ KêìLÃîµQ¦D.3Tâµà}¯Jµéˆü›T´UµÞ…:²±»µ9À2¢KÖæ 3bf£P9èW•°2q•÷.A+ëøœck’?j à–ÜnÞã§L@™v'žüèµAæ)úéÐS’7œb%°§Rµe‚!wªÂÑS­7b®5­›ƒŸTÒâ®mvÛ{è‡óTjL¼úà’|GÊ,ÇO€¨2êøTž56ÇT8ÔªŸ©=ÉwÚrõìötQæï=ü˜n‹Ýšíñʽ!n å“§•=™.Ÿ§Vù²Z+5“—c‰dš¨AÃßÜBWŤÆÔ´~Žè‰|ˆñâV%ô ’!3Økz‹¶âk3r¹l2ŽÔao½*}¡ä0.ËÓ¡4=ˆ#c¯Â8bC ªv®wÿš—1£p'ññÿ¬ö;³²²ñ-©#ƒÌ  ¸Û€ô±%R#1ry®OcËÔÝ"©Ütà“²‰Ø~¹®%ãÕ\ÖzœlùTWÐ@tÒwçŒj ¹«s7ªŽÍýt×ÚA$Û1̬HGÏ9×¥á æ™Æ•@¥h\iԇƙ¨ðˆ~ê×[¡÷@]Þ5¤k˜À—-BïS—°ãG­·Õ¶p4žîØØÓî4ÎrTk8'AÂ1•ñÉ\¹b} ¡óì,k ÛCgµåÎ µ±¤ÝLíñ?ùè!8ˆ'ÃN"6(Åb¾¨õi—mèšÎ'©I¿Ú@šNââ3‹X2ñ²È>Ÿý›í×Õs¯½CdL̸– »V"Öˆˆë-SŒ;]ÞµYÃJ¹"}î¯H@ '‹Ä2Øá¼¸„ßùWñãRTÓÍ% Þ]XØú0·½âK.ŽòeªG_Å#0 óQs£cïë{¯w.G:¯Í5QoKömû J2Œ´Ž²»Ú)`•_yÚ¡¹ìõô¥¸Îc·2¸Sþ«õ2Qd»rH)$'pÇõ{`Ö(F?!)Kí‹Ä­”ˆÆWt_ùʽݤ[Ýeñ‡Ö¨¼f–L«°Žìt+Ø|`Eô>´œe×3ª-Õ½Œ/ôUåJY¼”´ÒDƽ·ʛ¶´@MrSÆÂÂÜH–›/ïÂáŽJï@‘î1ȼ¢©%‰Tøˆ'ÒþU$ð!°ð‹o¥5¦Dyß×ߘzíæ™ßh˜7Ô‰Êô<Ð.¹¡¥<:mFáN8dÍ„¾|ë$퇩…*7Y§ì’¦·iK ôR/ÊDªy»¿o%Ö6FNöºC°‡†º©ý Ñ"/:Sùy¾þ<ë\Õ/tô9£áˆ |GµG+“Š9ÚÂ^âÑ @L/@ë ßÊ|nðPk%ÀiL(äÀ,^Wðh¶®"¹è¸°Ý”_a>è¿™…þ¶ÊØmj•W£ì5NjY„')G´h¿«Qô¤kªR/ø2DVA•’ Gp¹ÐæÌéí(¤cp¸J¾º÷lû¼5ƒÂRE%A¨""eÈá$`A\‚]²r¿=ƒ.‚!ËhÝòúÉŒ ósš™Ò³•]Þ½…Îf^ŠÌ'É‘ÿþö?=ù˜þê ‚®[\7üË2ˆÑ/‘¤»€(˜1,ýÚ|œ”Ô½ƒØÊ]6ˆRºË¾ïRÝŠò¡ÓÞ×¥Ò"lÕK«eá÷ò&:Ô+ÕMžÓ‡0¥?ã1½½RÖSxbañœÛšê8©.›A ëäòø§5~>ªòKk˜3‰u‘­ N6@źÿ?zäªön=áõ~BêZrA³jЇlçàM€÷—´=êÌ’ámRp„àËDÁjÑìÉ>úÓ òE’ï¿@åj1æµµ/z©CéúGèQM‡¸ž1ãDAÏJK­EhÿÔæsè.P³Ñ<-¯¬ƒmë[Ú¬cÐÐxmY›É˜‡Q¶^L€¢p±øK¾ÜŠVI.‘ƒÊ¼&bGâh~f̼’Šïæ1¯Ëž2qÉØø˜câÞ2s”‰] swãÈŠ· ‚‡…ãúÞàù„8ÙùPÆ×*¾W‰1ÐZô‰Ž¥ÇaxÅöŸO)X‘ Wº½xŒæ°ÊÂÐÉÚÛ`¶œšµÑÒ,)Ì £èC5T?Ðj‹‰šÍ9†xDˆ>#Ÿ©sE!t_¬˜ZÊ{Å8õ5ÊßS%hbìëg4©ÂEŸƒŸ 4=×Cšƒš²ù}D³ìŸGâ—ÉÛ`g¯_n™[¼Ñ”"@ðߤên°™½÷åK]Ä÷ž¹ˆ1AßÒEç–ëTyõMB ot/S 3{ņÈþYOÚa¶j%29œãª ÖfÒ¦™hº”T$ízÝaI1üÿí—Éò‘I…à'Æm0WŸ˜‰¨íÄêW¶¦²Bì6sR]iA¿!NqZ´À«°V–öOŽZ;|´ì|}!¿,+Ú!Þhz¤Œv`Ç“MøÜßÀv›E7}£íÑ’‰Ê×íNokrdf6”íY\‘ìn›• ¨§Ë·ÔJ³Õ€©ÛÎ\ë„Ô4©ûæÝŸ/à{qÂx´Z–?¨¼J½ÄBg÷³|DX5»PN)¥Øän, öQy 5¤äÒ­L×–óàÝ[²\+t`¿å„ÊIy"ຠ†ßø6§†ì ˜tâ5KÙ>Sx%P Ô‹8¸Á™w!t=:T~´ü>ÕŽÄ0ûÐl ÈŠ_eçªî7D1ÙM „b©|÷½ß{Dÿùàè®.ò:rÙÅóàŸº;+ϳ«¢¬’\#ÝŽ$yÆËñ"±9c¯^¨ì5½|üÕ ÛúöîåEÀZqàëd…dz pü²‡IèÓ3Cš’ñ+‹xÏt&h<¤(·n÷ÌY… ÷èx–që_É’µÚ\“Kžÿ“¶á´Ã{j6ç6ëk‰Î`6Á3ÅPk ù]©61xjâ'R%u³øL!û,E¸?Yœ\û2pà7®ÐFð΢¤']D–qO¦p¼Ì–ˆ±ãß:Fv±â+¦¢S¾HIl˜fl<ÕÔ¼Š yÁh„W—š-ÞÏ{ÌP»Y“JM²²öžj·ÖYd |ùU€¢m€‹‰VËÝv8¡ã·èx>»*`éáD~ƒu)m. GtkיȔ³ +I'jCIUÝ7ÃÆñìió p'@è¿f†ù$X^Ä ÄÅ÷s³L:ë¢ ™^CÊ2¿Y/Æ‚!ËC7DHœ¢Ú8ÆÃíu”$ô|–”5ÏXJ CêWšCj¾¿Ø~îÛȘRbÒäv¸sÊE,?}ø;®DÁÆ#~ôÞ…]ÎJ8fØW½²\6:îi ^Ç!A¤±*[z`Ð‚Š½‡¼ÑcTÛAB¤a,‹çÒ."ZVöŸÖc5E@­ÁCÛQAÆœ8ð)ëQX¡žÌ:Í••Ùâ.ðr†jxc™Ÿàw¤ô"`À )?fýðŠ¢,A)+UòeFÜúÈT×Íðãñ0§³6ÒÉWBÅ ì¼0­úÑ` TEðž)m'¥{ZŸ8}ÈŽþE\´Óå(æœû~îÜrLO~–4©lûT[rgýW·öø„~Sºâ 6±& a:ÃqüÑñ¬¶)N>— e×üœ¨ƒ»?Í ‹R5³SlŽxȾ½†›ö3iÅæt²V=S—ðEo¹u'¦½·O~ÝЉ Ý…ÓN~¨V&ŒMHG »¼8¾¨}øÙÍ¢ˆüäÍ£§¼¤9ÚÈœL³>}•®Äì¦@ж 3€9œ^SMïMêÒD+’º5à*–}Ñ{|8ónéÊâc—Á,cE»3)½7•ùNžrPåÊÅØv{ÇÚìןZ¿M˜¬„œ¡H±yžD2â+#VLl°J¦ø¢ð™ŽLܪY£†€ÖÔBê]›QÔ·œ5Q›€ìB?ŸõÉB Ù&6àŽ¿lbàkÆžrÁehËâoòˆŽcõY½ˆ¦|ÿË™¤ÍSüÄ¿²üï~<ûÕJ»§ªu&B`O#QzQaíÏéé cY÷Þ¯^·d'ôä:0±XîÞµ™nµê¶EÇ䨛ëqQFÌû)R¥Å®'%”ß‹üüT8ÌËŽ9ÁÒC!ÓfÞÞHP,‘ÅU¶jZá±&wÆ©|>Œ% ØbŸF³ÀDDâ&).õ{Èùž!2ÂOÈ·l!Ì 8%pW‰BøÈV¹®ó¹äÖBŒ#ʦs]‡áhêFZ3_'á&ÈÜak*ëL‹]5¦ªˆÃ©ã¾ó}FpŒ¿ô˜‹4\KŸY†{Y¸Ó–‰™èÜIÜžœ|v£”´À¿C´–ïÑá$°Ë À¸#¬ß–Ä|î7¸¤J#*K7¸/‚ÆfGî§/$NžŸNnɃÑqÔÖïxh äj‰? AN ´uŒHåè4CK¼ßJ»|û©)‡.ꟚTË£QvünkN]œø.˜Ú$ !ªœ'"Øft “tÞœ KmÃß7ï¸k,4Î:Yb ÕäS”dÿbÀu±/Zö¢\Å€ÓD³VAúrŒOv,!þ"ͯíX劰¡0âVÂ+3†-t IæÿÒ«úp”A]ÏÉØŸ’¦Sé,[ë7aÙE"ê‘ÌÜÍ™©;ØÛ²’þJ¯ÍBô•:«y„m¡G¢€L¦­VóC–§ü5 Û¢‘L¹¨g>3µàO9·™ ¼"…Ãl‡ ë•–„Ù‘$6¥¯†Ÿ…ÙTÜl-?…ЇÊ#€åà§€Š_Áü6+^ lö·þ/®¡’[e¨° `ó 9t8ÌS$Š_M_ º¦éàõ ’eÅëÂþfLF¯Ð1ÝH —ë0½G’M•Ô|–Óé­èF¸UÈënÂ!úu9ªqËLÙ'Epz4Ãðið ˜?f憎¬ÕÂ(ªÛ¹Aû\Z?eL_›Ò¾'õ”•3‹Âÿ0&o]Þ!3sy€±‹pI8a%Ï -#å Qs°M™qsl®šï¿ øí[ÄÅ·(“Œ[á=ðHg v‚ ‡Œ5ÖÔ‡‡7ÃJÈÏœÐÜð¿ûgJ!ÀøG²3;]iOÁƒÇø)ýL#!„ÛÈÏŒÑëD0æ5Ê= + …@#™ÕaQÌ¥íü™1€¦€4RZØ~8J¸{(YÐο¦<ŒÊú)•ÕÕªO®i&¿r÷­ÆÏGÔRœ§Á7&DN„‹[˜¨÷7¼Ì®Ü ññ¦õ±"ÕT!‹*4B¯‰Î?;¸1èa5–0–iOƒ7i±‚ÛDä…ènNió£xÿÉk«Gbu/u—7'Á°5Ë!o £ÕÀK?ë>DpÏ5·`ñ>sƒG&—.›ø˜¾_BžÜAt|§Á@ÒÆ}x1ïª/0}û×ÏI?ªÞ—Rƒ »èt˜à€µÓ»¯Š¡[” íQòšÈÜe ŒE|Bõ!yÂØ믜VÃv»¬Êò€ów.x! ­3q®³ÍÙöû¼šI,ši9\>ìlÝ÷®™ÑìõŠÆ^ZLÞw…¸Òûø#ŒW àcäSOû݉qÛñ÷q»>¡“]š36P+]6è­[ÎG £§èêSóóe^Õ›q¼{×VÉ’[ŸQW8OT“¿¯kܧ}ò¯¢ ÏcíÙzÂES[ЈsP*CšRfX©Ùã~D†·õarAª¨ú@nÃzɹb;gA¥Kn¿· ÁGúû­²œ$BƼýãk®Ý¥R®«óÈ(Îhð?„ÅS”* ¿côASÅ› Ÿî…¬ÌÞ³fǸàþÊ®cƒp‚Ÿš¸ûZÏÀÃÖõ§¨9¹ÝâQ¡˜b¾OÏFá¬ç¦ˆo¡Þ4ë?Õ¯ñ ƒAh¡0ÍÂü°å$d%eÒÚ\5eŸ®ðV{5ÑY•hy¤R&¥Ëò¹û&Y5ÁÏ*Ùþ1»È¿Œ w¢N½UÒÝ•¾¦Z¿Ê¬øE)ÚÑL]üŠ<±ÀŸHÈßÿ‘ç$7},y6›Û%>I¶¶YHMüoø0‘Æû cñ&O`;9ä?›QÆß;]òS¢/ŠQã5Ų»ÌQ•=H‹ˆ §€´*Hµ·»T!àž¦ìN—†AÑ6åǾÜÖˆsíØZæá b7ëÖ驸(^ÌhœÇƒ'}“K†]âªÄذUsç†Î_U=EP~¦ì× .°tt”ø³–°úg ‘‡þ'‘Ô~¢3ÚÜ{c *ÝQê²ãA4/!Z®}ÅD-+&ÆåV‚ÊÝ+™ûÀ¹ýŒ‰>¼ps”å· çnúê²ÞýÙÎLä³V_ê%…•»fDeì;öpÛ‚s“ǤŸ$ÙœN9Õó”œ8/–àR௶!*q}ýôÿ>Xv–¿ƒ; }©­ëð`…ñX‘)*îèzp'Â삸ê‰?Œ,\@Õxsün6&‹¼–=,2˧[|Å:ÔŒh@|∅=°äÚ“E÷oÈ@òÃ3‘ohr'H»JåöP‚†Áð¿#åi̬L§ƒ´ ÃIÝï..ṳ̀ü5rÖh¼9ðÒFe(+–¹:â†Zlbá’ŸJœåËü —ɨ"áEnKh û8Ùè)EB±hl—8•& †ÀD[P7€Nà¶#¿6œVd­T͘ã|djæÅ$ØŒâ9ß,0àmqxx”•ý4D~ ¯”TšG7ê8.K4Uý™³"8´‚I$éᆠ¸7~´e⬷Ev}®y-l,»ðÐjûy´î°qˆ¨‰Ã¦ŒQ­µÜU‡ökݹ Q!4Ë£WFî W!ÖÅCùÜYJ…4íEá߳²‹ s¾ÝT+ƒ¹¬b)“˯@gœø‹ê–Ð÷¸uÛG‚™[ºÊb–W÷JÔÚ-‘T7K[I»Hkî5Çš¿ŽšŠE¾Þf˜0Ð'‡ýr½„Õ#±l–+¯3É>Ï«8$…Ua ”Ý¿Pã–sG|¬†!Fm@%³¡øÆwØ)œ8Ö ¼øo€K¤ %§6!+ò·•­(Ö$­LŽåj+LÖ Ts³¹bÓxÈ)ˆ^hØ„Rcâü8‰$gÝ«Ãæe‰Öµ,«;H,Rie ÊVQfo#¹ O3:œf¯)Dݧ³Ê¥õˆ£s‘4þål}xº3Øš'ï³Ü“[s¶3Ovž¬”zÂßÄÚò/HSüœ5,KöÐÏJ¨ D‰Î®H.žõ3+|Ó€§õT'ñxòô…i¿¶¯‚ÄSè)©òACëhrȤuH`ìbñÐ^áÓ,«÷Ûö,toøÃ˜¼ý³¦jÒÕXÔ9̶´åa`'A/†Ï‰ªòŒŸËa£|¹^ë®>¹ñJü%ŠÚÌ:ŠñDyí|ÞU¤AªÍæ•QáTæVeDB¡;¬#œ£ÌK$»ð²I~$\Åw­šœÌ½aºŸ#p¤½_D=Žbá¸jü(Ö÷.m£ve¬Æ2ÝÆÍ»¡–m¼^×jaN•„ªÕãQÓ_¢æ­ëŸ¶ÕSþ`£âÛ™PN…–y»±õoS}“§BÆŽ>qáÖw­cbÕ’ÁC­œ3 ò‹=§þ1ЀfrÜÖÍsýÿ†ŠœïÚL·0ÏOe"RR¦nÏ’ÍÇrzY?×O3ö–æÏ ;4'1ÃìÀ¶#¯Ýh£‹éüòYÌ“í=ÅóJ s%“€j–> ‹éH%g—ù}÷Ы<%Âñiú¸{f ÅÁc;4­¾Øn+äjk9ÌM0Ý'ÞïB8OqÖ0‰ƒÎæoøçn‰ÁBDrOºw µž~ƪŽAmF³Ì\—h·ç‘¼™Êã?q¨ù&¡heºã³aÊ’^t#háš·ý!S˜ï8Â#’iW0C¿k3=®ÍqÇ^zއr±´“Ñ`83X¤;%ƒÐ§2Tü ¡]Ö &úr€« CGdGy´áªƒB~hæ´PÛg¶ø›§¥½ÀÖþ8¯6mjéésƒ·ŒÓöµYY±nöÈÛ~‰CN„ïJÐÇ$CKnB²\Ï÷Ä »šåœ>o¹9ã-õêñòR¥DÝÛoÆEÊæßßV)¾š[’såõ±¿^»0 Pšõç)œWÒ ½æÈ³EÚ1[3|ãºWËKÄ8´ï{ð ጠçÀ¢ øk…5™†4$cK=üwŠr’àtÞÒö=åì¡IJæ^éÙ]kbÇÉ"µÙv9 q7jÒ‰·Ôó·õ“e¹(¶{x³Ì ‘‡ÿ;Ð¥Ee*ëßÞ™ñrõÞçñ¥¾ÿ[JJŒvíìÇÏ–¨LìÛBŸT,zù¾ˆÌõÆI'cyA¤ç]­Ha_§Djo/*&Žú÷DN€Œ`pÛŠô^åt„gŒˆýc®¢S¦;ï·È£ŒíI×ÃáÈÉõ0ªô§…©™è@9 ozFì]ÿâ›)Û´¯»¼®|”¤dËsÃr[^‰‰õFrà¾P"ÿFa_íf+3ç`„lÕ=A9ë!âšãŒ%†¶‘è%%š*¿1¾3½”CnuŠ Ž+TS È/ߤ7’½Óòa‚áܹ6Ázφ Ú&á«…õì®xÁZ®ÅüÎMå»ïÝU' ]0YcÙ!;ÁΛÆ<‹þÁ‚Ò±Pè#¸*:CŠ9wùÂ, ùŒâé‡Ú.t„êÕ¶Éy,¦¶ ·ïù­'-é ?è——ÿ)wõ¸e#œ:¼hmå¨8îU‡ÊvéÃß1+¬ý/¦Q%²tüa)ªîMÒíM%—ðÏs' Ç8ñÈAUˆ©!‹ï*yJ™tR´^Ï+«Î„òŠÓ2nƒ}ååIÙiD|…—^ïõÐy‰NA= 5þG½Jærû1Ïí¤Aã˜Åq‡ÏضyI a àôÜc)yô”‰[_6T’Ú±x'3fë:Qq!·lÚÞSå5Ã]÷Eí˜<ÎÜýØídiáó*xò Gºã°Ê ¼Àa0ËZöÇì¼—â7¬ñÆÄ1×?mÆSÃr_EÆé•ñ§ xìÇû T@ÀNíì[ÆV1Æßœw…ÇÁvL)J"¡ªbÔ‡XÍÜ*µˆ €ž÷$úGùc¶ã4k E‡QU©@P“®sY²Z5L×$¡ŸTÌŰp½Î4-¼üeñg€[0U‰+täñf&wŽdÊCKµùI%T#ø•¾`à€JÁP—û›¢”q’SeÌôψˆ¨\õuìïÃqJS¬åy š§R6Š lw$X•`L…[±³Ï=X{kŸ‡™6©á€Õ`Ód£ÝÇ<ÇÍû:¶Æ™ô'÷Фº×hýß³àÜê¡Pøéj ðü⌶<”/K5…<¡åÆoZ½òÚµj°Ý´³ Ô7ù|ž6¤4o°ÎA´HV½wøxÆ~wý+7h ÓZLˆg=‰Á»Ïh.àp—ç¶êXª¤Ÿ”Ã…–#z̘Y“.Sý¬`Häû«+d•®¨’<, ¼ÁËs(gò*„Ñ4ûºfkˆYÍ Åæ²H.Ê6Á Áà×6ܺ¾&4$M¹ðó1Î8q,µ=ôÔ²ôˆf¼üØ`Wm»¹G^Ÿhœ^‹D•ÿeý ?X/IƒönK@ý:O¶ƒ‚kÍNWfâ²w±¥µmÝ?k wXgUž²ÙA›•HÄdÆyv^IùV!Ðf-ª&%‰JQ¤†ßêÛS¨ù«ë,šúuUˆN€hAëŠ hB6ŠOÛ8H¯~ðØL$5/‚!ÿì÷”©e °¾¡½nc›¸iØQ+‘ ¿Z¶ù»©»ô„HQñ×üêéSÒÈåŸ{"Þ׆ ž¿?ˆäY„”ÂpXÖäOô˜ýn1úð•+÷ >¹LZ¬sŠKŽ\s€ßQh-—ç¢ü ¬OÜJH;fðR¹ã‘ lõÝÓ.×,‹-€{Kê5}f«A^LŽø„ÔÕ¸r0¸OçP¿?¹Õóš÷€€²cÌóã>ùáÕzþ;ãhÄ‘O†7š/Õ[å±[ò¿²N0É»W:}ƒyìÅœ¹ŠHî!¸¤c½“´{DäíÚæÅ{9ÿ©IˆA–'Uã×7‰ÆÃÔИ¡)‰%éÉÅ<€xÉÚ÷¦ù{&PT³bíëìæ¼GÒHÒ†ÜqåéõÃQoq—+Ä“˜é_2âS-7Õ¥0.«È?¤¨œðf ÷ïwmß‹åt›Ñ9sbçA&=gÿ()]£”jÏ0–K°Fæ‰Ï9M-]Q9EG- ½"êæ¢“jsjH7%«”¼ÉïZ¾Ÿ?®w~.é"Þšœ¤×–ÞˆAMìð¢)ˆj¤Ç,4ámÑæ‘=5ßËip¾¶þg)»šb¤æMúv4l"Ã5ÌèTzÄy³¶»ÍfÜŸ]°Šª’çBÙ+W&{Ó5%†°G^c¡P‡…Û@}ð„¶8òÉ ä#Î<Ô“nÄÖ»¿ÂÑÒùg=u;9õ]›âM•K±Ýˆ1;}YB+:nI‘È>¾Dº£³l¬Á$„W4åwÑÆh·ëM‹‹<þ¥ü)ÖÍAÈ“Æðµ¼ÉÏz~è'N2¶é€úž®Ù 7Ö7Ù[òò"n¿#„®äF.{Wމ•½‡¡–ܘ6“j%ücD>ÒzùDfš/f ~Ûù›ù«¿V/8ÿÅM·ï—§Ý dË›L®‘º¤×.ñ4$A¡D ABb¾ÿ©a8€¸nx 8­ŸÙ±÷òËYç@yn¥.àÓ_d ŽÐ99(öî¡À‹Û-~Ñ/òØñšÝ»¯½»Ÿ¨'îF'l²ƒL²gmn(mŒvJp¶Ø8z±/Nü¿Añ+žŔ˰É!ÀõòÕ ¡uçðïÊíJ)Ì+;U7ÃÎØhs"0¿ç@ìЩmG5:$cé%>¥«§A¼ø7ÙO±,ËÅðeB šv¨ &§éMYdÔ„1Q¡cQ«_pM“è&íêÀºÃo1RtU˜C‡ØNòSø¶®W %]ñò?è7³qE½v¥ÛòÝ´$à<—sƒmìx9µê°²Mú΄ÀP^“àøc²GOÖŠöœA ˲y‹Ç# ͲíÿÜæ÷QÇ} ž%ÂÊrFG ô–ô[8+)` àU_ï1Šd!£HÇ–Ò¾ÌÈø°AÅd†£Qtb5ö¨¤Ì¸ÆœÈxr`é Š¢~ÉÈhHeCY(½Ms”ÿ¸ûa“23ŽÖ rëTuåõâƒ>jâ"ÜÚ_ÌTϰq¶ÔÿO3‡ñ°«Q¶Fv¸jj³c”2D–ÿ9@UKø¬ƒ]ƒMÎÛ¥YåÂBd»²¦JÿÑpˆZ [ ­ÔZiºÊ‡¸2†¿¦‘óI•³™ñÏIx«ŽÌÔf~‰Å¶S˜ƒÏzÒH¸Ò ã°T¡|çxkt¨ZÆÒ ëv/M#}Úf§ÓÂÞ°×Å"G‡ú¿OË ñTšq09«Ó~Ç×éÕÁå¶9”Æ?ÜÿXàNE·çó½^ç7_Ö5Új§ªÄ=ŠÿÞ"›7÷…Œ)­4Õ‚MTié; DFÓ$Lt¶l‹«Y•þÌžÔÉ® Îxrm«˜c¯Ì-Z;÷-Áâc´.…œ¯¼ È8 ‹Ôº$ù -m’¢M™ës*BEŠ[@ÃD ¹“åÕ‹¸Ü%ÚŒ`‹2­³Ï"û‡å¼AtF=Y6ÞöòÁ%Ç$²~#1nS‘«|­Š %ßY ¾TÓ$; Ê‹ÂuäçšN“XƒGwY±‹]¹Z›õÅ.LZ½òNã ,Ø40ppWûyM°,_gŒô33K᪕'ƒNC žh_sÉÃÊç˜]ÄðdBP–~³ºE¤ïÿ–ÎÒ+p¬a¸ ²“ó°Áä©<3|\Šyv(B·Ÿ lm3“t]᯼åµÇæg¶Ê=˜j™°Z¹¡Oú·Ñ£¯¬dE#lâôä=ó€ âÕ<¹œíx¥u`عÒ0âúƱ)Õo¢Ÿx4tmrµ„¾ž "MM’^F³ëüŸôqâöVûy]×&r"€‘R-’=‰(³Ã¦VÞf9v$6ZTÍ]³ä†ŒÓ3Ï ªOú"ÁBL‡  Ý$¨¢x ñ¿m´îe!Èç‹„xá¤ÐìN¦á&2 ÍoŽ@ú(K“·e¹æ×ßá ÓÞåJ|X%¡s¿Vìòå¤Yg½’²&ˆ®äS忲|Û8;‹ÉÌnM“<ÛôôIÌ$˜Ú®‡ýÞ•²ü^ªÁÉä"zO¥¿Z„_»’’!Ÿ°‚¿oú¦†dÖ²ÇÿwÝõþM¨/i R‰›Ñ²ZpwÍ(¥­üîÿ2 yqsÜôõè8Ð êZ_Ù傎Ç,\—Pª¡±°,€ÑñÏ×HÙs‚×T¢Úôs‰ ŸÏµqwb6gíÙß}ƒê#£“ÔM€¼œßm,VÈ!²u<Á*ÔÎí*ŸÆ*œ¢b/R‡ª|!ÄEœ³r9a’W‚ÐÓÜßHÏÃÔÿ¬g[úýæ¬ÎŒhmÎ[°ùv!M ²8¸4­\KnR D5Ö•¥øÕû’öYá"eüC‰äºïˆÁ¦¿€óL¨¢Í&¡“<ÂRnaRÐFêÙƒGêíæ™S›½`¢ëÅ:¹)°6¨ÈÐ2Kyþè°ŠIxo?øb-¤¡·Æ&Ä"²þþ³ˆ~¦í—  œQÊ>Ýg€è¡åJcñ† 7®õ<’ЂoÁýŽêÄK$§ùÐ58•@¥Ì;V‰|ì]lÙ ?JÒhÚ²ÀŠc;f”§&â<å3•Læ8ßfL.ïóH )°xCÎÁ:¸¡ž™r~CølI )@;:QÉÏͱÞ}/o2ŠVÙEÓ!<ì¸Êú~¿Öa$ô”Cb<»Ô÷8ƒa¤f»†ûæk‘xf’Ö7Ñf›6Ãt¢Nz›ZúÎà‰›7S8.Î=Ô§k_7C›•›p2Ë}§ëÑ~&Ë`C·ýÙñ÷ï++xŠÈFÛÙšu¼½µ3¹¦ @3–' REË›V%Ò2û0ï>|0qä7·dü¯ ŽRVîi<Ç<õFÚ´6…·[J-S¡³&ýs8Cê¢{¶tD z›I8™—¡‹ÍI ’¿—¡¼F§P,-" ã \©1*«Øpí TÍœ”"\P-3½™ä@øÏí—_ì‡ó*c·\èÄg,AŒ>É4=ª³ŸÔKXò4 >KñŒiS‡—Þ—–Øó‰ߤáÅ#ÉýPÈÖ5åp…‘ç ƒ¿gÚrY Q]ÂöÀÕèªÈDHN»A»ú}’Ô4g;ôÝ uÖ³%ð(,µhóüjvBò¼^s$ÈÊoï;äž?ÀA(·M…¾ÇÚ#ENÒÞq«ìSNáÚû16@×^V†ùÃFòªS·öGˆK¸Ì2ì*À¸”½Œ•B£A­=Â;Ó»éÜÊÊxµ›ìï¸Y@ÀÁ‘ýÏvG>Þ=3ɲC ým¤© !DÔ-VRm|D| ‚.bωŸäY§ã…¹-ÕRáìit%F=Š/•9ë~ç½Ø >)íªìY,½‘½Ba!ß· µH!àpãPA¸¦Eâ6âGŠ¥\ùR«I7½•ºd¨6#ëí"Þb²IRøtË_˜ÿÌxb7Õ½ ,Ó¸hXÚ!ì33Oüö7‚ÌÀ7 G­ÑCH"cÕéöœñ@–ç»Ë”w8Ž>“н“§w?eE†\ëÁ¡áV›1’fÄÂÀyêH­U(ar'N¤¸ëŒµÓú©¤Gð OÆÚTübì·7PÙUê£Ý°Ïú¤9’æÒLœ8Ž6Ò=í¿€ç7Å£,^{¥5ÈÜá ƒ±Ý¦˜âÒÖäA<·¡:<=Ñ µR%&N=7MÿÅ¢µò>Vg0ä¾Â±w 舼<´˜¬²22Ú4’‚•[ª ÙwLÔ/ÊUŒ–XeÈŠ`J¹æ½ù›Š^Œ@sæcŽûªÄÜf Ë×v2¥"EP ÍØ#°pjaM01DG_QfômLl8G¿hÒ~•î’CáÀtJê]ç¼O°\ñ¯`ã Ö!™¤™F{ÁØczÀN D€ØûkiÔc†æ{',Ðï´ÒÝÌÏX2›€½Àœ¹qè˜-îæ07 h_!\M/À¨.ã] ÉÑJ ·C¹#sÌY°Ô߃˜LquÜP,ÇZIõ~jÅй䨶~$àIÞ¡ädzðíKw&´<ÎJª '%Ež\§EgTG$GRb‹  ÐYJ7àœ4ÄÐ8ã}­g“j:kÓÂÜ¥ÂýÄ}欆¿X‰VÉaíõ J÷¼/Ÿ´ÿ‹÷ý»1Ãê05~L$vӮƨþóâW«,tÃ\¤òkeï¶èYÉqc_ÌáRÿÈ……ÝIÛ…9Ëç´¨öý¿¢\ó‰|æTÿZ£Ú÷?ÿ“° ›Ú(qÏãTH ß–T‡ƒxŸ´ê.RÕ0˜_hŽaÐó¯æÛK”ßû|’ïxŸ §[2s%¿A_) …Y?e¹|ˆD÷b¶ësLJSa`Ì¿`a-ãuâéOéÈs©ŒÖ`0OoŠ/ò><6©«::(tH›—¢ß͸^êoG‘·3ÍÈö²óú/Vñ¨,Pg½ÊÙ༟РgÍI²'œo¢—ÍÙ옱ÑxBsÛy—ξüVrΚªÌÉZ ‹&Õ®m’(ö¥B+ 2êîs9HEYw,¹Â÷ ¸RøËOM#·tÄ×ÝÐÞê4s'¹n‰7òºÆúr+´—EÁÁ4ïÄ_"ÒˆÈj²N$—^J5 ÜÓèš#´@9WEÎ1îgË2¿ÿe$ýÙí½•KhÝ 1ú³2œyWµ/)Ëê¦;˜Îr§ŽÔzì,–<<~ñ²ùN…áæë\ÚîXIú¤ÃhßøÖ_—3j‡Ïva høÝ1MMŵ ÍÏ|›ÞAÛ 4{N[áô_á>ÃrZس–2{|¡ƒ’²¦e§Â°än^>ß±TÏñ›40Afl®—á1vU›¾%Bc¸?Œ©ñ ×uí±'’ç€î˜¨d] –‘(8‚4j_£{xä’läK´hH+9sXá{ÄYJlí¬£Oß‘(–ØM9ªàÑú~âû!¿è—š"’¯¶gfâ¦É“¡‘”`Ï}I·þC*Sj®=Ù5l—‚}Iªù89cá^Ŷžë~=ž¾&ÈsϺ¼]¸ô)¦” IáÝˬ·æ„¥®‹qœÔÛƒÉ÷®|0áˆñФhV½<àxeò+.ˆÖ2 cÜÀFXÖ“ÿüTK]œR…5ß:\-ê{¥sô\Œ„ áäp<™àÜÀ§DųµèÒA˜¦ ×·"›GJ¶É^Zˆ­±=ï6 É–ÉcÑŽ‚‡yÊ+×E;bn]íâF^ÁTaQ~‘¬”©’(‹±}H;•búÒze›Ïì‚líŠÜ¤|Ø‘Md2=Uƒ¨‹š¾§£åÆ -Î"‘Mê#caíÖ¾À;¹ tZ_Ájîm@àŽ9ìl LÿΪtº³”dê_‹L;ev¦ßJq/…’£ NÃLa&@ôå ¯\Âd¾ºÄ*Ÿ@˜±ŸíÚûŠW2Ø­…ý j ¿»IŠÌ«O¬ùz`W±ˆ‰f r³# ¨„Îé'QÉÝYS(«XIsvî½yâ´s%Zq_9 ÉA=d)¶Ù•R¢ˆàPž`ÿjƒ¨ ¥cU~ƒÇ/Q©ªrÌ£8‚f£,®I‡8Ó¨·>†¾ògKY:ê„îöånĺIÔ@­—2þÜWÇXm†Ü$jàöY ÷ÁµñŽD)ÝÃ^4µÅí$Z@ý¯*ÑÝyàåÏoíz:x×Xu~7(bXƒ§ï7dÅý‚CË×HïbgÐ%z¬QgÖsÔ¡¦fàmz‰Ú¬Æ)„8iX-´Û] -i­´Jé§n«¾½ à…Ó©Ïü¿€e.&æñÚ„¢°ûlj/ߘó.÷©Õ=äï3?Ó#zf±?ëØ·ÿ¹»ä…ßDÚ‰}¾–nU¥m-B;™w‘zwÈG·§ýGáBS°¦‘‚Jפ1›v3özw¿‹š6Ðòx“~ 'WìqÇ‚ÑýêèNçÖµ¸Ž5Ëu|þìSzÞ¦ØuL48õ;<YNÔÉLÿE`Kù]Q0·²`[ ÙãÛx¦šäÂ&j·¾âÝ4³ØIùaÈ7 J2Âݯl·…b”ÎÉ¡Ug:†ûõwðµÆ¼pC ô&–¹s3íˆÖƒm£Ä«Êž/´¼Ê\pÏ[¨‡Z ý8‡x7¾S’19Äâs褗ƒ|ÔÃ1;³j#mD·äìB|‡)-'Î1Ž>è9‹M&ô èÿ´Y½ÚXR{lÄ:ËÁöà¯ô^Æz¥"Ž#¡ïMÕ&çoŠù þÐ^¦Í÷ì;æ"Ý5¢ñtý«†6lüÚàhºApŒšâ5 ×»âºuuÄxŽl*ªÌâ‡Bú×lTêx£Xnh%D©¥·„é¡ä¡ÛYç.J„Í*:ñ5ÕV+=J”i{ŸÎ²AjPEÛɉfÕ[„\aq6ßÌFŠ)Ó”M)OŠÏ\r$Í´x2ÓêYÎ|Š1owJMŽÇ%¢ç}g°ë«Ä8jYuR#Ùvž‰4z¢rºë€m<è4NЬßêÿúrcU·CûÝÄ1­AÒ¶CÏß'+*wiózÔ·JS’a6«bmÖ›Ó÷2ã"5r݇R€ h3 wÄìRë)Ê‹“³ì\ÛzTá#™¥õ°RŠxQŒ±–†ìK$óõZp»ª: :ZŸ†!Јø·ë õ´v}Ièëm,ùLÌtï,WíÚ€-̸0H%Ød#H'OãÆJ¸ŸÊš'aÌ­‚¢ Ä^¦µ÷FƒÀQä«j2å³¾‚çMLþíOûÂVö®jù1onŽFtûQz¦ë‘³ € MBq=]fe(”# ÏŸd7ûƒê3‡kFýòS±Ð¤e±2YÇ×U]Äqä„X|òÅ?ºÉ+ÍÈö‰‚âc(3WÖ^ßÀO˜y•tHe¶n|µåG²vi¤€ÓÁ±ân`)f¾áté™ï²bBa 9ú4Þð §1°¢ôRó~fý!óh1zºM⽪»ÚrÝÀ÷– ®C´²x'Wƒ’ ´oô“´qþ®ø.CXiE²‚ü°º0›þ<í;WÇrW‡—W9‰Œ÷å|ÁÅ<×u8ÖãlŸ…1@`N‰ ÀǰòY"ëóL­'èÓ¨ö£•ÜJ8aEr—|ïaG#DD,&Gú–ÅÈU¾0ã¶Ž’×qüÏ%)öã%G äï-ú»œÀ{Ìuå*(xdû&,3YE›4íc§lKrõš¶m§¹-‡¶Š<“¸ÌÂ[Sgø LÒ‚˜u¢Ý;¹ r\ϱ–¯Ñ0m)oVâGÜv€u„iŠèFr¤p¢3\‡ìýt!Ò¾ygnNb¨—Ü#ÔÝäRnêÍ7hµS×ÅŽÛăxEÀau‰0W´ÖܬÈý…pÒBÖ]µñUß®±^¶BpZ…©á óÿÿkW7òN¼ÃQk»(Šê€§\;vW[Øj/¾^î-à驿x*ñÏh¶-bz,ŠVNs1>üÇ=PˆíPkÉÄ6èƒä¾7ú¶K'¾ «ÄÁ††g3—T¾.á®íÃïDÒüa&õÓH×£#Ž“³ÒX)¸ÿr^3ûÙ…µ¤QEã¾¼‘J|ÃÍ»MÁLmD0É6œ¾:䈧·¼SFÞÐ,N$ES·ºC¾‰6|3q\Í2´4΂sÿ¶¿e·c`þg•h)‰zŠÉ³IJùX,p1æe¿ã„†Œt/©3ñ™“™Ä°&_”tœ¦š[ àeàø°©óæ@¥0B±®n¹ÐÌ·°¹N NW²\QD Ý‹Îù49EGˆK´Ú©@tv¢ÞÒ’° ÕÎAð’§ÐµaÐYá¶^}Ÿ† ª¯µ”:[ÙDPè’†õ3až÷³šÄP—ú9²³íŸZ > mÜ|ãhÔ°hNÆÏÕ-„¤^óîÆL[n/fü•'’d—Û_g+F÷ß ¥{_ñ%£ÁÉM¥T¸ºB 'ö¾ZÐFÐR6R³(®d{`Kkè¶áAiÛVqDûÜ$Ö¡ž[r<æ Õ*)—jnⓊò- VÞYå!€î#k“°¶a™Ub‹#?Á¶Zýû:Oªy±!s†¯¢F‘Ìxþ£ÛÇÆIn'e!Y ™\˜íÿ§2XçAh[°t¦¥©.ZK‡ÙE››M8ù½F>»ä©™ÉÊF͹ n‘©nñ¸rE}5 Æ7xWÞÒ¤e}Û÷'ë®âbñ­JÍ„…R^„ñŒüJ…ˇëåuM™ê•§ K á›ÃÆ$ ú˜C7M+ðojS¢»˜Ëpz’¸l¿ïuQKH Ø:)j´ÒÚÅ£•h]#Ÿ±C9nzSÛOµ¤ÀøËû-ÎÞý”%á†wy€R;w¦zþæÄ ZÞ »k¹Þü%g|7&PºöÈ™B«wh¥Hz’'™Ðî]Ìí»N«û„X{7FPB }AôúçqLß·ÏþÀ)a_ éµø`ÖŸ˜ Wú«_ÙæÄYV‹$I‰ëª‘± pdt¾ÇK¯R‹˜"®÷½°ä×0ÖÑš5LxnY¥ñ×¢¹&áü2f¡up)ñäbóËÌ 5€Æ»OœE ·ÀÑ8_Ø*ˆ9`%VK?ÀÂÄ a•$R„ÂwÎf£0϶rÝÀ·ÍgW\~uE ®ê£¿ÇAߌ+­3ú£XÉl,.…Œ\º€Ù€YµÎt›µ9ʰt<-ÝîðJ,Ôë4™Çê˜Úl@m»w/ÅÜ£|“iå"8óÖMhý§j{ÔúºS¼#U­Ëë¡ÆñèÃ÷¥392ü‡w£ÓŸã<¥äîM*YLGP%>7{¢³|÷ckÁT;vµlk³áà˜ñŽª»inm¶ Ûý€ˆoÔó(W |'ËC1®ŸÆ ¶Ù±©ªOÐ ÜX+Ö˜Ûϱ\„™ôÓ½r7NEÛ™±ÏI_&VVa7‡æ bÚ5ÜŠP[÷â?XèZ/?¥¯ëFÅ™3Ö~¨¶þ£d¿l–„d"NûFj¾°_d5éÞ ²nØZPViØá1(n¾W…¹&R¹Š«’‰áŠú†¨µ¬ GÐhÅòRkèíA,-¯­a=í¤ŽÄ²$ý?L®k Ó's(<ÈÑF*ÅÂ×X}"I€jžÎ›Ža“ʺÅÝûЊªâˇ”Ø•£¨ÿÌÐh5<œ¬‘M&˜…OÿH½àa“ôZ³¾Œ_e ƒÀdS Ãlá¿Î' 6iÉÃ(´j?Æ ×5ý/²;»ÿœ-ðHƒ&¿çÅŽ'õÿ Ä€²2Æo“‚Ž!ŠÛëV(¸0µÃŽ¶ÎøÑfÚ¥@ðæµ[cÂþ_KD`ƒ]¤ÌIRÏá„ã¥J¦5ñ>mëÖ1:VµºåèÇ\æ 0u•TÏ )ÆÁún'ù4 ‰ ƒV³«§–eåG#ßYûn5¦‡u§Q‡²‹Ø £¢äðŽÀDLA0ƒN\ ãb^:bʱ»*<Ô\Q sñáJ™¨ÓÎå¶ ‘&†?‹gli9µšHg(ZúŽêw|àuÔÒEâjYôÁY3ó]îébM…ïÿ³×ÆK€8:™ÿ'´]$‘@_Ó«{ðº»9›Éñ™w>ž1I¿j;G IÙ6wüšgôh¢Mk—>QäÛ^ˆéM‹!QØN«Ò›4³ˆ3wZ2–ñÑ@£õèL~¤Ý7gƒ?û=§Éº¢î“!öýc}—(Àáßš¹Ç3®›H/µ­ƒŸA?åíáØyë —¸^˜Û\éØo˜{àS=ç:*µÔÏ%›­4ÿ2üÿNïE^Я/‚Þ¼»Ê³©b8€2Œ{’´9˜ìßÛ<´‘9Øx’¾µ˜ ßB´Ö€ª+z®²¼óâ¿ ²g¾#§·6™RK³¨Vi¾ÝI:ÏWó­G¬æ ®zÆ“¦íQUØn8ë€,Mø@Æñ»Ô«¶•Ý"±Ë ™x¥¹>Ùmèvv6†›);¿NÓ¿vîºÙZ>ØáXå_žã<ù ô$×þ¢ºW3‘Ù)¹ÒŒ°–tb2Eñ¿–w„µ*swbá¡qÎòÏŸ£Ä`•ºš»ÖK”gGÒ€‡¸b•`0 2‹‘£V£4„+¥°ÞéER'µ ˆ6ÒÑó¥r‰eg5XÔàæ‘þÍØð-gò»UVÊ* 3þsRë?¿Gà$ƒ>±ÞñÑ#DâWMw»{ïkf”þáÙÅ“|¤â½#RÎE«êÕ áðpmz¦&ϳJñ´UffIð{FZ‹2<v(‰ö•K­ =ÀÔs×dßAŠä¶÷ÿÆžl6s–)O£ŽÞèJ|ÔŸ¹™Õˆ>à3Ö\D“º(¯oȤUu»I°¬éØ|½qòk½¹#– ‹yhÍ‹°Ãb,κð‰*>°•ÿJÊà’ütPÌkÏiÐøB=–çŸLP=Èø =©LÚASrvÈ—«¤å¡t¡OBs¡‘ÌÉ—Hîà¡Â$9‹(¡šÆÉZ,ƒ0&åÔǃ ïËÍas¶ÜQ³Æ‰–áÉDXƒ\6âÄ|»ÊùR/fª¾vŽlTUõ¬°„sg%P‰‡_ÝF 㸿Ìto˧•¯©¥”EˆtCŒð¢‰€ÃšjæùÒ»«M‹TIEøþù[.f¾vHAÀ0ªðãKQ³WJÏ8?ÍeÕºm}¯LÈkÇ%NÈìÌyFûP‘mësg>VZêå£[*€„©}±OÓ­;%“ݤ,:]óÁ ‰ç”Î_ÐiÇÂ]øfòFï;ÿ[8/àŠs%¹®ôìݧÄÊwŽ˜œÚuàC-¥ ƒŠÓ»Ò‹_ß"íòëL…þ:ß+±ÿ¹Ùç£~hŒvÀ¶äEÅpSæœ0tÛûÊÃæÊèl LÈÒ—^Ȫȋ²i«u óßë–aüä…&ª˜PS& zDèšÁ=.[Åë²Y²I”xVÛ\Û_æÁÿ™ÎÜ5 䯾[ïŽQ~0‡Ç%K§\cÈÔÐaC]ÊiÜ’&äCÁ‘¶~±£lÂðæòøåö#9Û™¬æcR´Z´öúTl©+š5òÚ}ÐçÞÙ6j(¼D‰0>2ýà*׫EEÊ/Oz«o˜•Ô{û˜^®ÄU¾ íªš39¦ÒŽd‹8/êÍ,0 Û¤%â-kú!QX÷ƒšœe{!€ÅXÈ[e`®–VZ# Ó¹»Ìåü‡±Ê˜*«üã|ޝv S…dEöj"øÀ¶ïzæ²®T1ˆ¨„:ýWõ¾c‘)¶˜ªlçBòýìs˜•†±þŸ5ÔV/’ß’–Ä8¦°øÉi3îuªf±z@È̦ˆiÈcŸé%x”Ϫ{ùNÎË"0PàyfµÏˆ#u3?‡àÞj«BÆ¿ýfîYEFA˜»Pnç èh—žD`¿Úõ¢˜>‰×[dÔ®pF»È¸†a,Úx¼fq—ï?,Ï×€—P—rçzЧDiPñEaÒÂbÇ¿$ñx¯ŽMU7 O<Îfø 﫨‡Äq÷å^¬º8  -ß¶ˆ ûίUŸ‡ݤ9æ‚Î „ ‚S½`¡þP¦4ÀMB§0z;c›iwžvdõß#ÆzX(—š¤aøOÄ€ßêûr•ó¨–~âg™ÞÒz†àN…ƒÎÀäeŠîîo^-8â ¢•”_z—Ô±/=å *ÊuÇ*Ë×Oì[KŸ®B~Ü º¡³f«ö'›‘tcK íéÀ+÷ K0àý‹1sT ckÿ¬=C(žOÕ¯¥À¡.û‚ɠ$^…Æk¨È~)[Ám¼z-DpÙÒ‘3¤äßV'q"ÀÍgZE»$ îjÍ(eíh{‹×¬S×ã‚_/Î9Òi›I[Ø(¸Îü£:T1m!Ü[Õmžþ[åA%-GîžÙÅ™³S*Ä›yüt•/ö6ŸcŸ{a TsiLW|•«Ë(x N#Ìð0Ô|XÒ)µò“Vž­& Õzt—UÒ©+WM…"O7;Ͳ…áØ»ª?²*òãR*ÿMõÉÅ*uß»w©:vþ¾©]•ÀéWÎëÈ „îjEYJBP6‡?R I“^Æ®¡oMGñ,wTa°ƒvöí’R¿¢Ñiäˆn –ýð”Qql:ïÈ'ðon|{ÂðÎI;nÏ¢wT†cŽJR»¹¾9Æ^uSõ¸Ò×€Ôê úvQ§7úϱ8å,6õ0Š1 TŠP1ê ¢ÚZ L¦ ÊÈ´Ü ©äá?$9;ñ° b™úG¡šE—Ÿ•Ê'§¡c%7Bgšp´j%¨•H®*Kg¶m¿$~ƒM”mB¹d¾ôÊ^ ´Ç|è|F¹2DYáÅL—á3v`Uàòoò²¿ ñÅ¡]ëYõ_tŸûI„ M"¸›¼Š÷†¾Ñ!Ëñù»;nUNRýÂ\¸”¸€H)¤ê¨F›ª¸uc”ôÎ¥Q8kÝ7á¨ÐMmè@žíZâ_üÀ‰·¾Æ¿x%±C8àŒ8ö`$ìjÃÁªÒÈô<é¯Rˆ8ƒ ï\Í«z µó´D¢Ã£­Ð¦æO«­.åïûΚў´ÁÎf]ˆë'/øAAÚs- <6Þo¦ÇØÃÅÃfºPt,¥9§Èq[ës\¿bg^­ÞCqæç§½óUá ­)/âL#”^†ØìÒ @6l‚Þ[]ù)Ù9´håBØGÎRÉü q_ØxÏÚ•¿ ‰N€ ªÁ¡X÷Ë)æ„°Ä¿3ëÉuïíh2$ƒëÇmëÄÓür#Bg°éÄD¬Zpç–­ •.Ïäu<K¡+Ö»†E-8~¼j:Fè`2Ñ¢äÜs¹Žp®´Œ‡¡ªÖ‹pèœ!>¢2‚h[Ø'Š- ´l0Oã•L¹ ªñø þaO­Â#ŠÄrñãÙŽxæH²q[Ž€¿š#ÓÍÔ¤o¥vÍR|˜WømŽs”lì×a¡ÕROd@ª7®ë{¡!GÈ­z¸±hÌÖ%$ØcsS$9³)–a<§–`ðÖ¶¯ÚíÑVÕ1˜³Ü’yÁÌûºù†häŠ`9eÿÁ@LË™¸-š}šö:3÷[Pò¼æÆÑ=iÖ Ìʨ4Ê|Ã>.ˆz½@i¾“Ε —wMMSô{ÀŠè:NL¨‘ÎéF—½s.ïLàæ±Îò£™*µqвéJ7ÿÀ@¼N‚è Êÿ>úTûÒû…s™8ï°'>+ï™ T•UD),ØyˆiÌyžá祛Ê“䒲¬‰Vä‚èß’m¦ ìG ;^;S´œœ!Rn“ÜÒ[—ýMLƒ´šŸùá«·JP/#¢bdRìdS¤ðñRÄ7ÒÐÂsøÏÁ1¸÷ïâØÒ±¯w}3¯[öJ½K´K^i_âÿ‚¦ë‹h§áLUtÈ£qÖ£é8 Ëd3”ºE¿L®™Ç EµÉ­¤œ[|±­út'ÀmŸÊ½9ØFá\íFØÔó ¥ç&Bú„%óÕFt™©†9-;ÿ,ÿÔö‹ˆ$„pß$šèc 'qpÄyI<\•]Ç[m‘ BT¼L‚\Æ×§ÌúS‚éS=\p?ô€` ~¿2g+ƒ@^rTÃéÎ!žØä‹£âù¿E÷ãé8ïSËê@¿Ü:i©é¸ÉÔ¿‹X£Û«\ß+¢¢I±ž¹„é}ÁÿTP¯ÐÚ"‰7Õ,46y¾9• nÏ2“Ï7ܯ>zGN€T ÀY0=yíÊÃw˜:cuÄT @cçµA*ç·¦pÞv°ÐLöþL¾öš²’ö‰:,ùKLŸO`Ç>ÇØf'ÎB$ª~ÀzñCˆ®«2Ò„%P:`cžv…Ä¢'™Þ”•®€ó9Ø„‡¥˜?ŽÿW©­í.<%©¼ºØwž£f-ø\)UbAp URa érdúß œœž¸ÓzÌ¥øs_èßV Bô)°+`o9&ÿ‹#ëÌA«G­ÆÈ#oÔ[F½Öê&‘üg%[ø?§à¶ÉÄÓBiX‚ˆø=Jòd¿-°›ÃÞ¸Öm¾aÉzw¡\ RyÔñHÈ4eR”Nz…b‹q½» >Ò%:™W;ÞPíKŸ½3QÔ|heK'Þ6ÂPá©;küR„ñ«{7w¼¯=ÜÁ”°L )rZQ«†u\´›ÿ„_Iåü8¤Ì³)Å En¤O&!e_ÐÈÝnùJÕ¥ÂóðŠákhcc!Zv*ûxóQü(懀ÞÞí\šSy"õÓ¯‰í?V±t/"¦šÍçp5ÿnA;|w®ÄÀ`îEòÃPųèkÏ©Ï J€5vt¸„]ãû?\$ [ÑW€u:xšèh9ÞóíH‹H/"‹RÒK€B}¹€ô]rL/Ø#J’ÛKäö[d$\%â,ïÞk©EŽ”˜Vª‚r=0š8{cg,<Ðè„V›2Â5]>ឆËU®"ñÌü×`L>ˆ`»PÎ]Ô ªc37uÙϬ‘åm—òüâÊIqN ÕU•rNÜȘ£JIòà ¤EôœÉ!‘$ËKôtÙVkÇŒ^tÏ_Ùš*•èl“ð¢¾V,ÊøbØ7´àU‚ù/  mæ¾…KöË87‘p.*>tÀÙX©mê£t×PN†«1ˆkÊ:`P'ìĉïUÌxïNwšŸí2ÌÌMP8©O«zBοCÿÌMSóÛ±ésº‹·\q˜)Hú7}¿[xË×¹RÓäðãœ1†Ôe'¡ñF h{ NÇAܹ|ÚŽy —e2T ¥hR…™ŸPsÀ•|8é%Ô£[‹HPeêÚÿ7x`ÐÕØÚì§_áÇ%¥3új¢±BD$‚¾ÄLX¶÷2Ô1F¾N-oa´àéJ¤=ß+$Â)ÑîþHz‹°ÚÚl¶Gé1ÏÙñÁ¿‘¶UFŠ!ËT­‰–ÂsÐ%Õ9Õ@ò±s2êȵáÎñ¸iç7Kb(8?M ³²Ð‹È2â‰i(2‹.¦O>ñ£.1ôL¶:Ò`!±ôCk‰‡Ièa ª=MÜëê”+¨5+ ÄÓ2 L7¹0‘•‚ÏsçrÌjhJ˜ÏÎl1..èÕÖœÜ v—XŒŠ=© Ãɳýʶ†eòl|Q¾6U³m*¿i¾²é38ŸˆÔ|½w›KÂfH¼Å=„޾3œÝNÑÕÏZ±4lüäÄû+|,n²8ÔíƒØ ¾BáËôõH¡áñ­ÿÿŠÅ™f70¼ØÍ1 j%âO¯^œ.!‹'\êKZG©69…åþ3¼b,EF4 ¹“È;ùZÚù‡5Éxe¼ðž+å<ߎŒðÅ9±7¦JY—_èIR­$FKHÃUƒÃݺÓê|ŸÑ¤;<Ô­~Õj/ÅEΔ¶Pûš6aø„ÒŽŠˆJ[ŒšëàQÏ—Î MÖ;Å#ƒˆC¦¿>¨»•m\Š'’Još2§œ÷´ Ì_&KæòÜí)îdËÈep—"œrcíàö†ñLDŽ?pWªT†ÖWKªÑ›n>cXƒÚ'àY«v“:Âí#ë<% ¹ûŸÿJÖt7Y0wà "©B*PèB%‚gµ¿íUX†™³‹Z#×EÀ-ŠÞÒ¡eÇD•RO6ëB[Ét7箟“L#iç#­©ôv/GûÒ„à™‹•)©h‹™RßÅ`ÅèÒþ¶…‡íäyœÔ_-ßøø ÜdˆâIÃü’‡ïHÔ^?…ÈZvºÍÃÏZ¿>:=_@–o"ò)â´š @+ŽJ=eÚñ¶¹?¤@_)4D«+@`w¤¡¾TçvÄõ—i»ÆÙ<Ô®ùð„ÿó“Äoã ¶ Î+D‡VW;QCº ¶T„•|q¯¨_%—šÒ±¢Ô™a>ôŽšóþ7&ÁaÑâ Å;¾ùá†Nk‡ðu—ÏVУw­ÂMóoZ í\¨|Â¥‚†_!µ£ÍÓ[ë2Z}«OšÅJ²¤­æ,ô%w2‡,™ ŒË¯'–àÙ[&½ÛjH‰.ƒ®P®“(ª‰»eÍòpÑWê\t‡§ÞXÍyŸzž¤í)>ëÝ…¢î¼!Kù#DlˆüõS÷êç%<cã3[7ÃÒU>õé7\°%Îbm_E/@ô¢yDöÙÒRŸIç9fû!±`Ò’—ªT¶ó5ÑR»aL¡-bœ™áé1F›¤¤Ÿ"OíW;f=6@áFƒût+O{¸ÿˆ&Vml+"c9EÇ¢æì+"f7G³R±8óš/.r2ÅÌEv¨‘‘;n_G•È®£ ïÈqÌùúI!î1e7g×¾Iã|(¢âϵØÕF “ÒÍt à›lÔÌb=.æçî‡>Y:XÚŒ‘"|R‘¥Ô¨Îïú!¦ª8: ,ãû‰ þÐøDð-M¨rkŒsDCB¡W5¹ù$ÜKÚb>.}ÄY/Š>®C c«F/ÆxB|o ˜yG*ÏgÍ(ìÔò½hÔ­z¹N|"ûÇS'TUvúËšŽCç¾k•¯Vd’ÈO6_¥9¨®Ú–‡&WV´BXXeóF–E"*ñl •ö%ððc3–¹£ëÈ™©KQç¹mÐXà`BOÐ2;X,ã[ôþƒ‡„Ȫ‚tî¼R>¸ôª²ð R•¾·‚qµð¶àQŠ–6y¦á·Ÿ1éì"oªÔŸoÓÓÆ½§„£A?â̳õÇC]Þ1/IIÅv×~?ÿçoÈý畱ºÇÓUƒ†uìêJ0 @ªfÑI­~ʈ'Š€`¾’Œ}*#~h2FzÀP0%ê »AÚ6ª>ÂûE+÷~ugg°}_ WÌœ„8l+è[ÚGñNêÐÎ1p<ž:`ÎϘþ’‹ l e+ ±gF»XÙÛ+8ºàÊÁž¬Ãƒ|‡6RÖ’sàüXH;@}mWñ‚EìqXA„- Ó¬|1òj€êŠö)WJ']Ñ.˃ˆ§¯ÿïÓ[R­ªújå.J£geÓ¾QKm;¨v5ϓÅ!¢¡{ÇÞõÇ·„ ¡eËNE»ºÁE/>ß;jbÁ*à{—pçTMeO‚NfŸÎ$ m‰œN~^ '}¤A1“tóÓžñl€.¨ZEžj²W {¬ÍÛ¾;Ü™ZAín—_”üU1 êm+HÊ}š²=-kÑ þªþŽaTs'¥ßþ>j ÿÏŒ³¡+¸& ÛXçuÚ39Á%†™Geü&"zñ#¢ %h¹Fƒ ŸoˆORYl¨¹~(=ƒ“r’Ovò­zƒˆf¯0^ÖT·ŒûbÅâÊ»»ÜmˆÍ?‰üËÅX놄ð+Z#QÌÑSËOœA  üg»1KâÜ>4SüöšºùÌAš1ꔟ “öSAK´œ¡þ»Úi /Cö}vÞ‚ë{çíw6RˆŒˆ·¢:ÔuY¬?#KVÙÌZ D÷Рßjȱ×J¸C[Ê xœ€ý?wjsþãþ¡Tßbjƒßª”\Wºša‘aÒñ½ì¼õVh©ü'Q•ÞÖo{Eþ˜1kËšM‡øb'.Euï‚Ü·qMçp Ð]'qß'–Ìb<Ë »%)bïÚÝùÓÙ=Ú«–¢NžRm¿z®A]æÅŠ]4÷±¸°÷Éfåû|"›ñ·BBlx'{Qø|}x0vÏò}®ùªO¨zA¦ÊJºT4ÁÉUÒŒἎ€òã²0ð[}½Råñ9„øP7  ¶<=K‰×1Y‘ðºz‡ø‘ö« Åx¨Ø# f® p•jýdðµ‘é ˆ²V1Á–{šµãÃ2´€U.•ĉ¢ßcñ´ëÂð0©£ÏNøµXR(&oébFä‚•pö¿;ææ[”…á9¢­Cq¶Û‘ @O‰tÂJí!é¨\'圦v"Vv®…%z{Æ@{è®>…}ýˆð,|/nVaìÍÿi_pêXíƒÞ:Þùë>†³Ps~Ò…fCŠ {?L@ïøÎת7Î˨¿wÌÀ,Z”,!V˜OVôf›ˆYv ]ªé#¶p)&µŒÒŠ¶Î™¸>MеYŽ•nsèiP½aò@1!Qövôeø÷¨PÌ h³lA2µK£•º±Úwž'ø"EDþ[‚ZgfQY«å@)¾N÷ò‹ÙÑöXÏž7«ú#aR[AZd(s<@ï Y‡•ÁYŸ!ÛîE "S^€¨ÜëŽvnYé½íüWG"$;®®›ruªµµÂwÍk#äÌÉÃlÛb™erKŒd…-ôó£ ë³vEÓù"ˆŒÝèø6ú,€Ÿo͘Jet]×{ÁÁႉ×[K Y±^¸“«NæÀ dyß&|ßy ïi‚gwÔWðo„C {\ôB|Oɍɨo屦é“û5”= ÃÃÆÐŒ$™*ƵaÝWõâɺg Ðô:¸¬Ù¸ ®x ©l‡ÄóÒ§ýB/¼.§ /”4Þ‰S†Û7i‡Ð›vØ °àØ~OÌ„„¥R"ʼÖ*{9†!÷AðïıFRs2BbÈ 9»µ¥ZÝñÝhI5z‹ZINž}F’ÒË&ˆX3ã÷æz-0ᜇ͓~mÿ‡’V54ðŽA7õÕâ¡S} 60vávo*f” Ïí ÝâŸ]F±ÇxµC{ý Ã.€4OÊøbª^Ð^? ¿dÁzÿ¢zà— kæ5ƒÄo‹E¥³ˆüq½YïX‘÷¨# }Éýìß¾«Æˆf¶I¼É¸ [#NÓcmã›–•?©Ú»OM¤<:Z©ô>Y?}5I³ææ€UwÆÆ{7؉³"*Ϩ¼²äÝöå<¾\ÊHôt£­Ã^‡ˆÐPÉþN´qZí­Nlvˆë+1öD¿ÅžËPŽÙ!:ÔÒ{|0÷Ä_tÓãßy%ýÖÙ¿I¼"ÌVé¶·ÿ {ñž®™°÷¯Û•°5øŒmñgRýÀ¡«ZóÀ ˜Äí½>F±!ñ]Jq÷á~Z'<Ëù8D® ³%^`›…F¾è¿a!IaRGŒÝ[ª;Õâ/‹ÃŸÇù—OFîå¸8ë£Û[æà¬y€…0£Ò´ Åõv]¿Ù…OPËíu€åB37Dûpþò#‘ç²Gâ Œ$7ÙÉeøR°•åT÷JÖÀÆÂA¸h|LÈ}(¢î%U ©½/!*Ñ¡Ÿ»™½~®1º¶ºÚrH=²5´ Íâyv`"Uª1•$®µ’÷ðe Ì$•Ë×¥¡f=è¶¢ö—ÀóIªôxV02%> ¥&×µ§.|ÐØ´´÷1AFw|žZ8‡XÖ{›±C3T$ÙÍ!éÃMñ,ÞÍ÷,ÕlTTS ýGDÔ•Cœ¹/?µatð9Á kä¹hBC±rOhÃq„¹˜¥->à^w œâ×4÷Ä‹£„æW ùœÕžƒˆ PæËXU =¦‚ÂøP齂ۈçâìtŒUÞN¢S]Óª+΢¶-ì5(IL+ÌÚ·¸;ÁŸà”ªøòˆd}Þy¡. ¯‹ Á9 @×ë ÿ°>@¹¶ªW¸nT¢Kœ)ý’Hˆîǵg=Ogþ‚{O¡½˜ót®U\À_Š?.š $¢ÏJc-[d†E7§ÞÚ&R›lÿ2L a•™ƒ¼r ‘½^S)tŽ’b`§Mˆ}ãÜ:'I—†W&HØ8 ‰Ðœ²Zƒ€3&@r¬©þÄ"(ýB€bbW˜Ãê‡4¥>èÚTÈÖÏ2ñ`;®èÊ9"5¾žÚB3ç.ÓN[BíCçÈúÙe¿²µ tæÞì´wµ³™dç ¾ÔáÓ€Öåo*Ì=n´nr¨¾9Îþ0¹¶¨Õya{ð„ÛC ä]QÚ‘•†n=èõÂOEÞ ÷åcü¸–4è1C¹ú3~¦¥%ô -îyÚõü1þ°ge7ÙŸ£4T(›Æ¸ÿ#‚PO4ºpвÕoJyô YÚøf±>tÚðEÿ.ÀNhÿœÖ¸œÁë7mÖǨ¶^Ìß´•ªT dÆ‘¢Ë€Wð'Ô »K [ › 6èÚQîW"jvC‚bNÏ'€#,%é›ôºgJKg•õP—›W§±>t€Vz96V‰ÏnP\pŸÂ¸@™l Œ"çöË$˜Ì\r~€¦ð6ç}û¼Wo­¡Ì 9¶…ºxÂHj£w‚®-•rªR¬ÌYÔéý/ƒVç‹Ïàá.ãl'Tò®©Ã²—pv–ñêá‘ÓO¹.-˜Oãàæ‹úíÏTud®Nv– ãMç=†+“o[m‡Ñ3R²8ÍŒùµ-hËvQÊ)ˆÀRÅÃnññÍÁÃã9ª¯]x¶k6tÞ9_!TMâÓëßñ¬ÆuS®GP7¸s}p|kV›ˆ,ÒÙ‡WåiÄ0•xXC—o‰ &°wâV{pû‰¦þŠ8ô0Y¡Šû *8fÐŒ˜n|µº}g…çÒgÛÃOZ…1r¼‡{-da,*”~SõðPfÚƒŒ­qï01½–à b)Ÿ‹¥R¢fޝÓ4ß)Œ@²$\ƒ)ðIø—v²Y¥¤Ýf©!¬Áºm¸_¬n‰v|½;é 9O9ò¼Sã$S§ ³1ƒoAœ¨F*2˜´óê|FBØÑ4íÏL9üðA˜L+qÐ%">|Æ·(#HFî5²½ZŸçß—jVÒ–©ã)x¿ å/…’'X M¹ÞÖu&¹±½ÿ~*Ù˜86„†Çc€/È=ËáSNÛ+×Kæ^ÀŸçE0Ì'–õˆÐ/a®—{E-²?+KE¸.DF%ÉeAîiA¿%@Å `h"‘d%‚PgN¨Êu" ƒ:Ž4/¹¡ÀçæíϪ ÓeäÚxˆÝÓNwÌ‹BÖú)oñÎÕCá2U(K#€dö磤s×í¼ÉJ‡ à 00?Ú>M9ª Á^ydö^3(M´°íÙ ŒiÊݨlÌn ó.û*â÷O½šZ—b1ãµÿWÏÁŠÝm‰´ ¨ˆS\õ4À0¥[ÄéI݇×ÞZj³§kþz/{ž`¾Î™«H°?!˜£z4‡?c’9zWÀéÙ„¢ó:ÚØ÷±®{ýâÖŸð¶š%þchvŒèê¥ÙçÐ$Øç7HaeE·¶ôªÚiZ ’:5.JW#'âØå;A¸2¨+Îó½ML”©“AÊrst, (2@ ™ï•oþdH£vµ¤Óž^‘üv§³_ î‚®Au *‡?±gñræmjÔuÑT)Šh³Ÿ.Uq´eÓ’;\]±Ž>Ÿò geµÀßÓ ÅBZÕèû/Z×0ÝåØÂkÏî.âk‚ˆÖ™`˜’e÷”&(Ôiqórhƒ’5¼Š£pËÿ» Š.q->ÕÖ¡öcóòwTÓ`¥ôß‚ò8öR»ØM’3ÊkŽ 0TauOKò]àìŒ#FĺkåíÙ03•/À½SœïR¬m5’³¾‚› ýÉÌ~ÈLuð¼0цÁ•ì3÷íû¨úBœËÀq÷Yè¤ýàp¿ðƬ5ÒÌ™ Ã÷˜Î”Cë–³#£~Æ5 —ô‹Aú#¢‘ ¶€~(-ïøµ<¦“aÈ@QoµöÛö=h· ôÏ-Ó1NÈLЎ¶ß±ÖéךsLÕøÔÂ×¥„]ß-ÕÖyeãþ.w’z›ÀˆM)÷ =ëT©_yOåÞñ>pq'6ÁÿàŒ¨|„«~Îs£h ÁxJ·%£½ã÷ùù+¢¼‰÷=Ížž·BåЊµõb6j²à¨l¬.jƒ' Rp¸0Ý.ðOPå#…Àh"½Î6 H0`ÔÿT‚ÀüÑrQçÍêr@ÒEŒùBÙ—+\}³•z£ÆtªEE¯Ëå¦#lÒѳŒžÐpž“P– `MÔtõð’@çv!&=߆—á´ã)K ɆJzgÇ ¯J žZ/^VB$PÊæ÷‡’bÅ5íÖFœ[ª‚ö:éÿÀÐÓ¨+`÷ôaBDJ¿ÁÚŠP3’Ema1 Éa|ÈüH¤úä%Q4L—ÿßJίǦfÔÓâª5ª>¾Y‡d3—gëšÙŠys¨Ý­ò6ȃÉÜò¦:ÂñQèP»Ä@!°Ý5ÓÎõeo4ã-íäQz§]Ä=Œí^<Ĥ¨Eó)â§ËbOQDö™.TI¸©¢Í Œx¶üA·8û ³;ë0Uy©¢Ç^ë¨/âù¯.´  %ÏEè­µré’5»’¨KKÝòÇæ 2¹Ëݶ˜üó÷W„÷µÍ€Ž—ׇ9­“˜g &¹–õeÎX…|þ»‰º}ÓbukI—á›öo?¨“€'ÎÝR‡„h+YÅ2|Š=ñáp¬û rßR•¬kgõ l0YÍ\­D®0sÑ<lî¤Ö  /‚“ÖU®qEî3¢z²í{Ä‘š—ü%2ž)Ékš¡ YÐ$sn³‹±­?˜¼äôJÙHè.Jì›1)=Hë«êÉ]‘µÆW£tDÀJ°M8 Ùw¹7š=?Ã$ òì»7§˜7!U爱S‡ßtiú¨é»õþAÏúŸó›|Þ õc qØäâíª¥€BS_TOµ'ÎJqÛT”v†Œ Ž'nݯ»N/›üe‚„õ.3ã*¬ñßwŸXükËÕz¤öƒìב û”üíΜ:XcUÃÎd6'êr¯Hšêîã¹À€Þ IÎÒ{‚o‚—’0#e–ŒvÂyr‚‹~Ö©çªz—ŽiT+û)ûožr6ü´Ëq¦ßQÿàH:Þ¦%ž4£úëÙs•™yöŸ¹ù]†OnœÚìþÑ ô(&•òaÆlõKo0€¢Ö 7<á±GvåDܲø¦ýTÉÿÑRéa‹½^0=FO1@¢` “„ôrd4¤úÒm|açÂ÷óÙôB+‰´#ÃáŸE"&œ"5mÌð‹$õ<ª”9r4amÊæ‹Tý{¥a@î¡$Æ nN´§¢t@ZºÐȉ¾ç²¶Lõ•aQôt  UT_+à˜3N¨q=^äÑÆ¥E¢:‹Êœ–Œ¦Ìz˲Ú_ñ(k–&\¤*Óù?ŠÂ|+ó÷l=@,&¥³–71x¬‚ @tŽk¤á3Ö¢ÇW¶ÛmI7•¶iמäL·õ!ÉSî?¨¦f««}ˆ7?ãK[Rzn»ë»)›‘Gˆ.ã=íã¦êÅÏÒ[^Îk.ØzÁ|¤D•ÉìÖÂå½C(adº/J>¤££=Z:²Nkü%k:˜ ~,EC6ÒpÃ'`.¸M²òßæ'¼c{!x•à:à©j±ƒ ¾ ÃvAs „-b›9uDh4°LÈxÅÈç‡HeçI΃s÷ßÀ—k'µÊÃA5,7k°cŸbþ¿ãÿ^\g¸ëÔJÞ±\£\jÛ‹Eg€"º=eÜ\ZW¡+6M¾\B%JŒ`-{E‚û¦Ëì6&õoÛ/‚‹)ü-±ix ÂBl½žÃõˆ×¯è´V7]Ã\D>’ˆ³bBˆ¶úgü+¶Ö§X½N½˜@ÉR†.oñ—L5_”Âzü=a»–“ب C–J_¸¯o‚Õä)=2Wà –+_\%X=˜ í—^]/û%«.ûñ„¬*À 6Ñ‚ÉLW½¬¼>#užÂƒ¡´|v$@¤˜Œx €Ê+ 5«/täÍÕŠ+üƒØ$ªžÀ \ç†fj2,uçnêI1n•Öº]ÜÍ|ØZM%(îÉ:¥fÏž¥9hTŠ}{4¿0k¨b°Z?ÆP!:ÛEÝ.ÝYðl¡'°Lw©~r2(N[#¦eœ¬üߪþ»%d¼3|ÈtŠ8$ʶ谨T–£o€âªB¤÷òIÆ´#•ÇE”ÏñÄZs ‰AêA†oÎ29€¡}}½Iè½úAŸáÇwæë5SÞíÞÓ(«Þ"3ʳFR9e|ƒ¨¾Šá…}£—w´{D¸ü/„Ô½2ÍÆªT_a’¸}ï„ÚæBٽ݅~È•¸F"WÛ5Ó·Ù¹„þbHZóíë㤾5:sßxÿªºä;ð{ _ÜãXâÍ·kõ ö2 Ž^Dæz‹åË1×§\_3Ên‡¼õ‘õ ªNtÞÌ~à¥íTñÜUWë>òí{ôçÁ‹µ¸ƒI&ç¦Û^*Ж7k¹ÎÍQ‰Ô;ÜàJ ø×)Óv{Õ{Ðú±À]/GµòEŒR’6±¤QÒoöD Ä•ü­%N™,”—î±·ªH—³²,ÚËø`=5ê²Å3ÆÙBR­dd:‹ï•âR­ä¬ÿoguJRÂ+ˆzS燢ôǾ¢m6-&(ÉîÙdMβƒŽ|2GQÂ*aTüà ?s™î³U$–YéXDjpè.#ä*ý§Lhm÷€ì )rNbÖßã Ûú5päYsk€˜¢z±@~߯ß+±ÊÇ,§Ë–‚ Õ¯¹Ü7àŒÞµúoõ‚2êºå‚óõÀ° ýèŠÎÆüú,7ψSuç6ŠUDäÎ3pZô§ò@l¡bµi‡ñp ³P@\Ëì±ìlcfh gLëûdRšíø¢?ô]H)²oÖ—Xi­Õ­¿ ÛÑÉ=’«oæ™>šéjä\Ág© M³0Rg€z:Bý:Šƒ‰ HªìÞÖš ÔEKÏû®}P[Vø?óŒZ¼k è§&X5Î’Yžú¢,³z$-æò:´(òF7¾6ƒ6LRCÑ7’}\ÈÒóqbu¬Å~iò.¼[l”ù«;ˆM½ß®ðú]ª5 bækõ*#C “6(¬Ä§êAšÀ¼ œ±²ÆÁ{?쉗r¯MuÜr[12DÒ/RA°«|)>ê¶ýÊÃ×øÆ{¼ò-ÙúQ¡ìÿŠ«×ÖÁVèy”+í¦:ÃDzJÆ¥4øG­¸eÇ­<]IpnѼ¨2R [–ŠÍ“³–b-»‚ù‹öŠ’R*û/¼§Ar+ýE"kÛòŽ(Ì"éáØÀr°.zзætåj  )±ïM cwÞË£6Û)¡™"^O'‹ÔÙ1[²y§ª§1Ю@-9TÎdœ©Þ£*Ó¼Ï&$ÒA? x¼¤ƒN‘xIÆ<™#IÛ4ò|øzC¦ºÈã©×ZkÚaÓ~Ÿ•ÍiŠ—OžW–“Uë/uHc.õ7‹ÊÇz¯gˆO‡Ï)Ë•lmzíÍ@QFssì¾}‚!¼ÃM0ßjA¹¢#º+aRõi™×ó\&ÂÉÏC3¹ÍÖOY¥ÝJ 7þϸ;äCÈUl(8މ-ãü7ôÅ?¬tÄ?BV5ÿ®õÆÇëQzZ!Š8ºêò‚†þãD?+q—T+óFíÆïeö*¹yÀ'MÐN²³#GŠIͼ”JRwm¸l!†Ðš‚ëÉÁ@w—ç(ˆh‡œ«Ì&h Äg稽¨N÷ŒdVë©X•Šø½Ì"çá^ˆ÷‚›iRM€×²vý{çy—3¶,¦ÏMø›žkèùÕþ«m:óUO+Ó®þB/æW/Çm䟴°®¬«&¶“ˆ4,²Çµ™x,Pf3‚³Mn?Ö’*`ÎŽ=fðé,Þ_œ©égtKȽíGÎù£¿Ä½ßHòä„Ûmh߆‹³ö7e†ºÅÑUßéµ™TJäœÉàz%[¸ š]Im*]66¦×»ëOè Ù¼\eôÒίÁ Âô ünØ¿¸­¸¼Wiò2³¸D}Ñ­hƒn†{ŠFM9D$–iþXuvê@>åºAõù›¢è‹ ²qRGb6q[§, üÄɨ[÷ŽÔ1ýù Ó²s‘ôòÇbdÝ£2- !ÁÎ=¼t¨gnZ*?"­ljë” Û<£}wd3ñhsLçÝ]6.?¦n"Ñ›lPVÆIìq¯1(ÕfŒØ…±ÿoŽÞeÄG¡ …l”ù#ÚáfíÕ1Q™)£âÉ^{§õ°ŠUr|¬~iãPÖ–eëZtQÞœR~sQ Š’¶üi¹~Ñë°T«çpÒlãG ÅD<¨:{Ìá¬a©å`³úÛ{éaÚ.a“¡ }Â/þ[ dC@h2œ:¬²œÝ%J7 ¥Þ=6’Of ˆøÑÐBdßL©(-)J”m÷/ÕX?šá€‰8¾úÛuà‡Ë5Zà¶£;ó¦æS€?âò“B⃖‰?Úü€MØM.p:ô[cÄx‚Kä9xKâÀP™ðFt3Èå¾< kŠÆ¸ï9&a—̶˒ÙȇîþƒuÃof½X‚™¶-ñó¶>­ßOAœá!4'N¥ÆD$Ý“[gÿп’‡"b˜’CàxNŽ"c¾¸¿_ãÐ2†ZÎOÅ5T&6“VÞ#ù±‚á  ‰ rØ+øâG÷¬{ß%Ç{- «Â¦ÏuzÂÍy¼ú¢|I—¿KqÜ'+YÔK ’¿NB›ð-ñÐþ!^}‚ë*]#ýÿº¦* þQ. #F]tMá몲:ÀöƒYÿi?7Ê£…ZP¡Î@îŒz”KS¢KÝrõ!Œ"ElÞ‚,¦Çz}e<»bUP}Ì~܇ýuôYÄi ´ÜÕÈË˦ҹö±øHöM`‹D¼üΘÂx¥ðF1$µ“‹kê ˆ.j!¨rnö¨¾®Ò-ÏåÈCˆ%ÏÁË·J…¦¨·“]F¤L°´}“œz2£öf7âÞ‰æ,X›Äÿ|¡¯Heó4ž²0„¯Ê‘‡:½úù†ø…0‹Ð®@û8g·¾"™¥ò.÷^F™IüÅt?ìõøô5¥V,›×3kË5 Oá›(%f>"„ï@ û#n  <%åölSzü éO0fE Šˆy&·ÿB xl(]€úp-ݽ„¹hÛ!lFfQ°žt§[Á±hÆXiX* ÝòmÃkmT—Ó›Y¥‹{óò-ÔQXÞ›x{`\gº5§=üm ÔW”*-…û¾YÝ U*óU5gfé¡÷].s³ü}•15»“ã‰>~C+x,“^R“oÔ™ÖHÁ‡ Äÿmð.ÖPêiï‘É];G³ÒM", ã*ê”?0È5Ó¿Q‚Lyщø¢»#UDõzv}èÆ7uÝç\ž¦:ñ|a(tí´b¨HŽô¼J‘òbÒ¥Ç<‚ÃízøØîÒGhbµKÖxàI¤(&\œþ/ýk ÑzÄ95|ŒºÑ¥±#}&T^èïô.(w¡®i’‡I%ÅÂìÞ-0àQ©¶‚f6Áe$¹^ž+µ"÷%æÃKŽ}@G%ˆnvdøÙÉ¢N«èÓ&ËQ«oJV•à‘N<ÖÍ.VVŒ«pC°î%™;€bK1Då†dŠô‰*Ããã§ËôAMÇ#ìDÉ í4dáHZœ×&ˆ¡»&­]ìZAw! 1Elîòõ=C_ôg@™UU ÜU¤b±?(èæ\Xþ‘ ë¶ „ 9ôôrÛ‡oíüC²p¦M!ß;w©»[汇!éGAr/¬`ê«ðŲøÑý= CÛu!«¶—ÎÿQÃÿ‘ˆì®â&ÇR‡CmÚaÈಠ·¢Oe±a26ÔÉxŸà8~%N¯€ùˆ7l¨ Æ[IÁæ{uߺæpöÖ«Ë 5oô9iÞ+0‰àë[¿ÍÞÇI?¢{áɰð̹ÑÂöI±‡lî—#ãWŠVbÁ‘#ÝÁ°£WàÁ¯Ó;1¾)nˆ=?Sá¼/!yBï_€Xñ„ºÔŒœöÕó±HE)تá„X"L@± C*ÍBÝ-‘þß ç>¨ :GW÷ï´Ð1Ážž8sÂ#´ÅGã ^=5Ó8hG ó¿Ýtfx2!æ ûÅ»zNðNîˆF2 çïÊeý±”~ênŽh;ŠØLÇ&­?¯ÖŽàRÁ‘pe½z¯\PóЉe  øÒ‘Ëòrç/9bwî„}ŸŒR{/ó ºäŸ¬a‘‰‚á_¡È?¬È¶š2а«I…~FÿÌùü¦ŠITe‚c2ù.0pú½…{Á}Öú4T.@bÿ‡Ø:š¥S¢){*|5$7¤÷MOI’«òkí‘»7 rN‹¶Á‚ª})wA®*äK, Eo¨´™þbýè>þDÒaí“D¨Ôñ&¡X¦ï€Éçºy‘ý‡yˆ€.Ú«sï®ñÌl @ÌèÍH±±[ø™†yüØbkçˆM·‘›Ìó˜ã‹*R2X)ÐUr 3„Fê—áRªºJ—I\t;ãiÓ' ¡—d¶¶÷²­|×/®ÏÒßå'wò8ÿÆ,jÌgê5*úŽ6WFöÃo^Íö½¾yãÈ/Žêr¹Ëó/d’GTàý'?ÎR§–ÌXä±Ãk,uKŒåg»Q ».¬úVt4B9öÌ.î3)!’"¬`Û¹¨|¨ü ,ŽK ß@QÚóN‡óôYﺊ~æ€5â/}"ûÏeóX®Dò¼è)Ž ë…¬âV ÒC- ‡³Þ㲬õú–^¶CyçíéQ¨JÖãìà «CŒãHÆ×¥¥Ž4«ÚwH¤9ûB‰‹Qb,.t2Tà·¼L ~O>g¨=J}JgyàqÒTšÑßW& ¨s÷‰¢yöj¢3ωÔI—ôóÓ¾*—’éùΛ­“— ÿ³™Ë5cÚ\–‰\ðÉy7rAÜf**ì¢AŽJUÅQi¸µ¥éêânþ§}ŠÖõ‹ôɵT¥Ž†·:Ý…¿>Ùér ½ \t¡‹—`j¤5¥IÅ£Wa«eµÛMGþîYÓŠø.ª 3Z_?I{=gæ!aJ¹È~86^³™PÂÒì1Ýe÷iðt'Á­L’ïoi!ÅÃýåûå 9·vÏ–Ov,µŽn Z¶„ËÅ Ôšêík¸‡b3¿ý¤½S‹ƒØK“Æ$g=Š_Šw’óèfKZí "#µGMÈ`ére‹g'‡k2ð Ào Õ¶†D¿ãéa¾5›(As‹Ðxz]Ué<­kº¸Á½²B‚§?Ô*~M ¨ØÃ4;Ükqâ=wT_!>©HÊ|ɾ­»¼†ïz…qW„Ð)R4¸ù€‘C{ÅæÓõ˜ÁÃþ±ó/Z-¢­¶‚;I²ÜfT[çn…y‡´UÀj}\hª2ƒ+8“}uõsž0'A8®k@<>DR¨ö‚Î:ž]D-£8ÿ›ÏP `xϲþ4…õ¥vôzoʳñ®NçÕ*ÏÔÝ|2Ý]†½üš4é[ŒèšK6›†âuˆZÍ:ùþ:E \mé%ÝnH%ù!BwãÌÏZ×gË.£€ ²`¹×±¯úµ±?å~‡wPNÄT°Î˜$¢«…nªä`§¡^9]‡s?¸“l•}WÔõW•ÐÿÀzGÝ ë¹æÃ¨o°µÃCH¶ÍW#¯31bç¯6à ‚O}·à z(2\ÅÆî‘%øÝøKÞ ü±E§’?sv¹ÛàáDŽJ{HedH}¾©oHxDÿ¡itr–»R ý-O¡ÀI Ì“T'Ÿ.ZŒí‘Â=Åš ”Û´^ên&e~§s¬ÁuÊCxóÑ},× "ë%ÕÀZ°Ù£OD@Õÿ–*ÊÆQnŠó™Ä“ ž¡â{ú@±íÁç')•"åÆÿB_ ÑZ/ºÜ’£^×`çщyÖh¤/ æg;F_ïÎ0X½Jª8z ¬±˜R>O£] ÿûD\ŠE pgqr &3{éT}rY/;,üõ~$ÇBUÁ×r®ÎØL! ÏýuõSáJ¤BââÈ)Õð¾ze^êãžÀMÞaÞÈÒþpë`¥YùN fŽÚ*üdË-Ý“F“K¡c°Ù“öY4·Aþ ûÿ–tÇg‡B3XÁq¯Ìbß¡$K¬+øëøOTÿ­Sk¥ºŠ±ºØŸ“êoºF“3ý"ú e+æÿ@'5‹Õ´ƒ~ý5À‘mwIf}÷GÈãAÚ5ãû«ÝÍBõš·î7ž@½‡®mëžàÆsÿ·¥V\Ô"7C%[8|3̪¬ƒì¸ñžoQ0¯‘¢mÕú„tOACÓbÀ†¯A,aƒU¹étOîÚ§Y„gVÂ4îkïËr»1· ÔeþãlC2g55ÞFBTeû1‡¼¸«Т®&Y!ªàñý¬ðyúÅÍÏáÜäã4Ñ ¬ZtÜ›4­L–xę ¥›­4ؤދU¹x-0ëÙú2¸ªÎ=½è¶Oà#ƒòäÁeZSÝ­Ëé{7ÛŒQ¿°÷šË.®Hr¯¡)EW&éŠhçÃqagû¹>ÑÓ^ÔÅ„=7¦çi›?¢û‚œf©Ypµ#lGh—À•í§¹bŽÒC­ì!Ö¤z¹PªÃanŸaõYl¼Ô½Z¢B¡ƒñY3”$6q1ÑõxNúëVЪT5!éô˜ ˜Ç7³ûb®žþµDåeÒö[T-Ò.&Ñ¢> †²‚Ç›N{ ¾’Ú¨ç]ø:ElÛOG¤õÃL‘¡NÖÁˆ~‰@‘ÎsÀÏçÃ&ÚÔ“^˜K&­‹Œ¥È½3‘„Ç9¥ké=§y=Q O[¥‹­»bX‡ÑÑÖ]¶V!x6gÏŒ"R%LF$Ul¾Î™NÆÓOá:³±z¯ëŸÿF,øö5[ÊÒºŠÕÞçs¹ÔK¶¿Ñ%ˆd1ƒH>ù~6èøÊ‹'ö°T3rsá±Ó 5Ì0Hb`¢¤Aæo%;¬‚æ=XÂ|¼W¦ŸGx˜×`é½-ˆDr6©Ôლñ hvw\ØíÌÈ­aôc@%NˆûÅX¾93¿[tý†nàÜ.^™f¢Ó u§„`?ü‹`%lpPÄKÈ΀PòÉD•¹)Á1œôî`Ó°O®Â!Rý„ÇcTZó0q‡Ç•'2ÿ¶¸ûæÕÂrt»w8Ó¯j>/Á2J?Êí‰nš?Ék{8svÇâçZÎǾèÇéÿ'ø,7æ U‡^ÔpÝ…O·á%•B3|O¹íÎ­ÅØj~U¨åq+ ¿ j¬\¨«ÔâÄÞù¾ÝgœµœØcÅ“öø˜Øz%OKë[\åAN÷U›Oí Ñ¡þ;M± á-‚Ò YOpÞäZ¯i‘Ù2§&˜Ç$¹IˆA°Ÿ·Â£ìº%›2ÒªÇ|^_ØD ÜŒ¡È×|ŸŒÀ¿m9ýp?úÿÿ¢Jî8î® ‹„Ð*buà¨õQkhe\|à#´·%¼üµ}å'5æüR½;€«Ãµ´šŽþ¼ñáS§‰wçä8ez7Óäšõ¿ñ‘_I›nP¹ÂäÜ4â+fº™"O#?Õ­´®‹(ã1ð|WʼnÊ8#á<½.rgâåË6ª«u\x)Zµ;³C˜P÷i÷‘à'Ü}ûУ/spŠ‚Æ2NxÐ¥ÜAéÀ~˜‰R ‚"ü\5' ¬Ôã³±«úé‰/òàÆ«¼Æv7'±©À”’O–š{0TŸÕßf°ZÑTfQì^° t"Ï·“tŽ1,¼:§Ÿ€êN¾\Cà29!À,¼ƒ/³MÉÄÃÍ7AcÎõ.&~8…Ú—ž? 0„ôÙ™ „Ü•!¹CËä 7o„Ð@r®Dom¼—†ê«IŠùJ3[®ÛX”C9$• ˆ¸ÚÊû‹?èðô-`%[Á0³7%°Ö¾I7‹A''>¢²ŽÑ&á‚sÈã$b®ÎVþ·ßU×bfkAâv±ÛÁ©ÛSWhHK‹|Ñ’›ÃGï´1þ8Æ>žT—Çm³pùsyh³º`_†<‡mY:H<çáòD›u箤æ`öyE¡l#òûœg\+&&Ö¨L°ñ„•åû†ª¾¢EM HÛ®ŸQƈÑ1Ñ¡ˆŽ~*š%ÛãÆÅ‡›+iÿ\pùëò![HJ˜*Ù”\Kžp´%È| AŠ€ŒÈÆ£š›S¬·…¶1k¹Íq‹gå@ϱ#Ÿ¥‰Ï‡Ò?©àícÇTŽPÄnÄyñ T;µSÐôDGËÆeØaÓÈFvæÆ;iI¿^ò°ã¼ñ 7°á»Tc™.ÝÈ*ç®!ÉE¤xòz O$äx¥P¨6`ìÑ·]ðÞä M¶ l´Ìvšƒ«½‘D„ÓÕÕÇ0+,†3"þ`$ž0à  —2CƒTÍL_FùȜ̖Å~̀̃Wv²å'6•oõ?19>hVŸ#¿"þ~‡Sj°˜£…IŽRFßKP3^«úàÄß–i“a*%UÙ Â^ fSÀú‹ù°¶Zºn`Ë屓‹Ë2³í‚½øj]ÈpÄÑMŠêu5Н೒¤éÉšnØk¯.Û¡¡„Á |@^ÅQÙ3Aø xúhYÉ(åA&ƒ”™A_9«ˆþf6+¡ªHê_F‘^÷¾þš¨¸ÔCU.’V‰À7Q†P×ã^¶Î†qsUTÀIbwLÑíß×ÿþü£é ú+Y3b–BÔLDGÐ!ìì0ð7ÎjKÙEÿñäeDzЗT-@/póÓœLDŸÞÐÒ¾)*¹¦L¡V~ÔÜZá&øaÅѸuT§šWɇƒX…´!9ÀXzƒ# 6Ü{±€öÛ–$…?ÍVÓû^t$ ®÷„Z^Z*‹X7u›GùÁ¶ÔOP”—§–Ñf¤3Y*R¨ j=@õv)’þ¬Á®ÒPœ—«sø[)Lvä™Ûbfk*>…³ÒDlxµ“”&ºÇ:Ób®ì¢ó(O‚ä2ÏÔ XOrml™‡E ÀÌær.êþܯL€‘f$æÄtÙxïÕìöìΤðmã%·ÍƒêæfkÜ>#Ѷ—•™,(µh nðz¶å×õKn^fh!”ƒj\í ùc­ì:ì:dÑ™uÉ=”=«øè®ÆÉ ÞÕ¡ò»óª‚l§15&M ÞbóÊ»¦#%ô.Š|}þ-—î 0»8½_«âÏ¢"”n°vˆ¯ÐÆñ¨Óæ;Äù2Í„1õÕ€Ÿð£9 U>EæruJÚàs$ìÜN¬zƒ‰UooãŽÄiPñ@ ÓkYn“©Nƒ«T"ûàÅGQÇšAl¹ÕÔõ9LÉŽŽ0…®ÒÀ579¹Å01Þwì(°Š #v—=*¶<ô‰ ª×¤6¥W±¿^kk4àÔJ üüo·* ú9èë‚2 hŽZÝÁö|Ž‹Ÿ ·Ó½LD ¡Øl›Ñ\OiÚRfö“de\U{ÿÌÚSø:âÜG…_m1„„Ä?ù‹t·þÉ ÌÆDK¤’(ý‡øé„ÂÏìI¶w雼¢`¥FcÞ±f4:tD3©š•bze_l°v0•Å @Èö*Íþ|©‡ò1m55¬,¤¨8Š5Š7f!.§-)ìO•D ‘Y¤ºÜN%O‡{ËÊÕÑy%¤<) œãÖ3ë …0AÆb¤Â“ì80ûeHæÆ™œ§±ÎãÞ%s^è{á&Ó¶1þ»×‡]ÑLRÅsìXÔ’òvPÀÚU¢èK†fcó]$k$ýðÿM¡÷üx"5-ÝfŠA½ìpe*âá@ #*¦Ë’ÖËõib,ý #w® …#= a_Ñ÷šÄï<¹ÂŽDvó''QSiE˜šïhNÖØô‡K)—K— ìÎ)­•´mzËÖgmÌìTìY„ç½ÔsÅìM8 *‚µ߯ä/m+œÛœ_`›$¨{/¸4¨iܸŒý¤xzÊÍÜý"‹´†Y’<­†þzsæv+ºiZߚѲd§™&WÄ—,KÌàwÓÎäê¥/Eó<}ª­¾Ùœ)^´èÓh×CÜÙÿÙEÚ¸C'iÅËR>‚ˆOêүɂPÀìéü´4ßÜtˆ O0ƒTü°¡¯±ªžð¦D¼ÿ"õºpäJÚN)ÎDy3^J¯Ê™¬þöÿLáQ°Âä ¶ ã_ieæ‰Ñm$²@ï,*íÍҭ ¤»±> €6äžø_ˆpÇ––DZþl à?S«<’cÞM9.T‹öÀUÙNTrÁÌÐÒ@¤©O-ËyJÆX›ð°,t–Ü:QRxW ‚ÂÜ$ïR”QÙè Àù‡kº(;4˜æ^J}CLMÎßj±OïvÀóW­,×%®?1À¶Èý©AVÝáùv³Ãê¤Üh%w Óº whj Ad—KH]•*²'Ý\ùa)‘)‰de‹¿ã8þ‹¬D¸©-ϲÄðÊE"q2U‹˜`ý ¼«}aV>¬ª ¹ä!í—Nˆ çiŒ²¼t™.*Xu¹ðòѾ¯†]BuÒ®ósæ¼Ó¹"C] iÙUPÐXãl–¼E95§Ьlµ‰ñywØY«Hd›6Ó>-Ý«ųÙÄ^ÜNžØswª‡z»ï½ cÈ>{¯!¥FlpŸ&N$Ý ßW±ÔÇå5Fî·” / ®)3M|vxõ¼\ÕŠ»°à=ÊƶDÈR`v$ w¿"uÆÏ¢oŽonkõx§}ìàîz©Q#d¦¹J0iÅo‚– Î@"iäÓîgW¤ë ¤î¶$HÑL¡Âv(VM,Ftg»Ð£uŸ~í U †NÓh7éùÒæó«±„ÆCO’õxXâ²®J«T»?Ýgx“\Š.GÁ!…4HåýJÝ=˜ˆ^fˆzK|¯2ÀÐïžð,‘mw´«ï¹šÐ\hW"Ö#gÝ)…Z:fÝæ¶B@ƒZÿ@ãÕ»ÕêeŽòdÇ9 BOxuñ¸T}^— ¸/xñrZô{ÉlbµÛéãÖj:üsÒñ̳QFëëÆ%w]}Þ:9Éd‚D›_Õ‡Õ““×ncHwüB°§øïR› o²Þ±8ã òçN÷+íâ³¼D@i—Ði“2é©ü¥½Tu~©^Á©Žƒ›‰KõÕ kö…޲´øªM˜Ö­*È™îÇǹùðn•*ý ô”5èº`Sá°µd ÑeWú½S =äUxq A²ÔÖ‚ ë a¬íŸëÈkÅëÄwØÍ\ª; E7ð·sî‚+•曞·,ÎŒ8Œ[<5c’øB'(â(—ÌŽÄ%bä.Âúw»ª$?.ƒ3f¾ÏÖ_4•ä&ɪâòQgÏïå°zŽDÛ”¶òGë/öŸ­Qòcé^ib‡ö}ÿY©¼¢ØZ@.›ö$ÆPV|—ÀŒé£cMôs3þÙ@ä k;Ž3y0ãĨÀâ8°õ—™–û&µÞNc]#£P,¼¡Š¶ïé'eµt⮹´’©a¶\ f¡I{ª˜È8 Ev”–0Ò.ÑsýUKUæL=±WÖŽC*-ƒ|Ù^ŠômìzÁ~g×Ä› ¢ÀÈeÔEK‹ÒWu^Q×ùö®,!Þ(#'‚CLß;óe®áA`XÿÀºrXp¢¹ðÌ‚üIÙ„ZÊ¥Bì]¥/jƆ4vVËÞHUºEzñðŒAy`Œ}ªâ“¢K‚œÚ e"_ÿu|–â žL‘=†wùÑ/Û¯LÉ>À¢Ò´¬pü"d/L^m SŽ$Îp&j¾™UÐmË¡S9 Ù.ˆ¶`îØ[)}×§”eT óF:(˱¦œgò¯—ØÜ±ÀÚR-š#Ê:ÉØ%‘z@±l~}Ò¨Òä…âqǺŽnì$Åa26õúšoL4“PŠB ¹O/«_M®m@G.ã`Ÿ‰Öœ vÀÂýºßíæž_þ\\›³³›ä=.É>,_ÿÖ¶BÐeÈ•Û="P÷ûd b”ýp·2ïR GùóŽ6Éwç]µ¾„@å@óRoáâ³®þèÍ©üìMý­à;ñr3ïRJP ÕN»ƒ 'nÞLMU7S¿“ÐE Üê?*Ïò¼¸ ¡‹+º…ÎN<:(8&úßïÿÚûU/ÐøIæF|¼qï9.„ÐݾÂéÚr ¿#uË2$àø jT‹à’Rð—JNjz72Ÿ‹œ¢ 5žOìBÒŽªZãåc+)Ø0M=Mí>ÇVÚÃèÐDœBÕþm1‡~ÉÆá[0 ÔTET?ˆ”Ö‚‹úÖw¦ïljîk8g WP"šL»±R žÇÀ€ÀRÖ5–±„ö±§Ýr;çŠ ÿ÷÷ªSO„{6@úU&µÑ^5DšÅ:ç&ªÜ"•z8¯9ÏþØàÿ„1Œ—½Ò¿(® ü„}‹O’ã…RÖn7”¥Sfç —ÖQ‰‚QëÙïUñLåAÍ WòrÀóëDûÍ»bÞENUPªDb˜ÿ§™Š|_›è“‡å³îtëÝ]8¯]é1ªîÙr¼Æÿc ë:ª(lOUpvfto¡lá…hf]Þ¬“w5xl;?ýjØÖ 9IÿbAÜØÄT`0åÕìƒKú•Q!?,²ê¥ºéÚkL°¤CjƒJ'eµì›ekçzP fÒýØTFëx<΀¯Úç _ó(0k¶œÿi ©†ÒÕøl8h:'©ö ÷Âc(pÞ¾`Û‡®ÃE‘uÅSy+ƒ}}¤òÙ×ÝT|Ìe¤² @š*Òc{‘4šP5¿ÇA_´05ŸÊEÝoObw%¶â“"&Ε}ÔÀ Ëì+†Î­|ɯÞz!™&*X>K‚+noÍ|>¯¥zJ!j|>H«3Üx è7öF åqiÄ@£q\±›zh©¦9óžâQ¨Ž°¸ ¥E˜ÓÖõf‹íAUC¥ùñŽv§tÔqkm„!3"W÷Ÿ…§ü´w@4¼¨ªµ¹wìsac:ƒÄ‹ë }¡äW®µNa×’µÖUðl»S>u›bÕ§"|ÇÎWîÒrè7&Sõ»¨IY‡aµWç½8E‚þPišÁ·†)ˆßê¬sÙ£ÖPg,³b®6)¢÷}v/2±8áÿÖ«ä¹Ë6O=L­Ý¤`hlWòVV麧@øfü|âi|˜§ f§Òd:bè{ bd%Öcuõs¸:óõyeÊçpçTPv Ææ"¢æ[õ³ÏïDU¿0{< ¯ú˜kÙ·Od²ˆ‹ºåˆ(Ì…½¿(2MfàZàn–·O¹Ï=[¼ ZÖ]ÔÁ‡Ü%‘_[\ª8aQÞZy3œÑ$ËJŒöšDˆ­é™·@0VÜ8zS”aHÒô8ž$ ÿŠÑ"ÿ«J¡œb=¸8¡ƒ] ª©Nå%Þ§÷³0½"ºØª¦˜Y€“”øþ»b8U 9tKc3sûD(\ÑHuç©r{[Á4’£!ìaé)žŠ}}O_^N´[vX…¬rìN¾QD•¯lx¢Ì7î ×7 Ô'2~§~ØÆ]1ª*1ûUݳ€pi¹´1uâ«5ªOáŸVþì|Õ&”ió7pós¼13¡ÅÙêm°'ƒ”Â÷ cÀç·$.*A§ižªK§|Ç$J8AQÚšp X![Ž£1-B *ZÉ¥ˆ ©0åùŒÂßd²`ú{å‹¢´ã=é nîmü—lR´ð.JËn xØùüki¼îPyTóbÏSè¤Ç¸QöyAâ½t€èÖ*ÂwJ< ¿5zS¦«”–6YæÃJÀ#€äVlr‰ó¢Ú¶€Y½>l}œgñSlÇ eF˜Ø¥¼þŠi™#á%R*7Èü46œÓ,¡Ýÿ }áú ;QÝ Ý?èfå×ìám»,ª—"iyæ 7÷¢‘¨6^çú˜4ÄÅ– h§µ0uC£Ù‡ÿFS7 ¹Ò%'«É®ýìñué„ál)¸Næ¤!­¾çgŸ©Ni†e O•í?gšôRÝŽàæßXT ;²A&£}‘.øÜ„BTHaæSªef8ÆÆ¤ÊÄBö"˾6`GÅà(ðÉ5=†!zEE«+¸S£«nºo #…Ù´ÙÈæp!œÅ&@mÑa.P& Z/Ë8Ò¥6#|®JЕc[8h p˜"è„)VßÆÄžTc„s¨÷qľ_¹4ûòÈïݨ±ti0ôZ“:ú e(ʪ¿ õ*­‹²*í]«µ`Æó@¶µ8L|N{¶Îb ËÞ•1ÅBèæõ2Ö™£˜žÆQ/Àòk§{´æöõUÑn‚ØÂ)‚’°Ú˯î(ü9æžë+̹ÓX4òÙ鱨™z c«wÛu1®Üw¬Óµd\“ÃæÆ£øEwxì&Í,_si-zâîls 7¨Ä˜DǦ¦â÷ag¥ Wm°Mä3²ñã»f®xæzà†(}“I˜ý¾r!Ð.“ £e³âUÈ>xYY¸'Æ/`âÂE¤NeŸÖÖ¥bŽGA®ovÂCÕ@ ®7TPï„{7ÀMk=Å_j»´Ãå¹ò<„0(õˆfe…OíóY7 1qE]¦Šº!µ?|÷¦H{Vè^ܱçí›ÂÐŒ´¢î7URŠL˜/zÓ5Þå¶!·¨–’5‘áF”Æ·7¿ª–¼Id=ñ–ký'—Xa.‘9)Œ•,î¥TÅÑãªUÂÌÐ̺yŒÿ‡Ÿ&ÈÏ-¬ÁcG{[¸–qC™ew>lÜùG¾^P|ÿ" øñý§0=ñ¨ÝÓµOI[ˆ§º[ÜÍôÈšÈÂòÛ†øÿ֪Ŷ3͸ßQ·‹ôG~R:o”¦Z]*’ÉÂðËŒä#:C"˜¢ŠÈl`½Ñº“$Úß[AÁš%OÆÖõµÃ•Ž]‹K—’Îë»´N¥•É¿„l 'qœTSùâÖâ¡éÚ«ÆsC¸²à•qyøxkšlò,Û³\̓MöÐLô2kö*R.1çù9‘¥(*T›úª´ŠxDÿ"N|M<^hZ[o Ýi/Y îßÞrÍ15ˆJ7ÆÅ•1ÒÛ‘¦%1-Àk¶ +u‹¾+¯.R¾âÀwtÙ¨ZŸmæÖ¦ê>­àÞ[yü:ý"këvæ4Ô­ ^Ö„‚J¶Íó?†t¹ÀÜ×Y €7Á¨ãênL†d˜ ¾Û>ζIéc­2òo° |äiÖØ'p±±A`n¹kiÕh¡µ4-­!¾ úæŸQr&IÍZn%žÖzäêÍ–ËÓÜÖ¯¦ˆ…­Œî¶ž´¯,”~€É{hå~\˜Ü\|¼qŽiY^c, qÌ"í âafÑ ‡Ë<÷AÛfjÑ¿^¯ö6r)ÀšØ"É)B¹·ÂyŠN*ƲŒ¢¼ûÉã;=‹¥J¾©ïäðÖíÒŽG‘ŽQ7>£ªýèª3}>I!³uðÎθo´C= çÿö`ÇCËù‡ª·†ÿßðºœOÓÏsv°%¾ä•ã”Z*Gç^A Ü´µ~3Ÿ€ÜU¾*)ªÍùDçqÆß v«[|E YÆi•YˆGðxËÀ}‘8$%±'$µ+m IwN<…óM»±8Š_iôžß}H-Ë¿üöTi@OAöàçæŒÁLcΤUêKzX½¢!ê)pÄD1¯(¬û&nΰ¤öèê?AÁzŒ-óÚá!Ê¡Ã"[FÇÞ®½G÷=UÍž}1z®yälçG4aS<é“ žbMZ¶OšæXÒ†­…¬C(˜'¨Ñ€¿x @ÑÒ7[ tz}ürðñRÛ¾Hc”¤8ºÇ0‹ì¢Ò-Ôæ«ñ8V»ÓŸ@ÆÔeÍäjD‡å²Þm€Ðõ–¥¥‹³yh½,`nW<º‹x<»â¿.™°±:ÒtÒŠC£Ú Iþ¡$èÉ–;«–GRûäµÅqË~Œ’ÓœlìéF„?ÁK"8¦"*Ã{l„Í`ÿ›gjòÛ´xèný··þ•Œgäk=vm1yâ(òúÀ(ǃÍO2m溘=ÈÀAPÜ;©<õqâ'R8ë_î<+†²Ö‘ϯ:Ô"°K¤ó¬$nø¤¢ßRe´4ÍfÕU§¨…á>3ø½È >÷ú†FòeÕ”a35+™{‚¦±á×Ë!e'ûQå7Î|«kž;~÷¤9~ÄüñüUéýùÖìjŸÖ;:pKMT­1ÃŒ©Í-¬’¾¼Õâ HâºÕ'hÊæY E(Ìèk0Á>ÌdèE»ò+0Æå¡¹„j]ªbÖt þ gIüüÉæ­ðŸ™ÏövÝš!@Lçë쇚ªa.IÂDD/½P¡ÔÄaL$çhQÿ¾~3»ôBxû…¿²~v¹d¼8>¦&ï#Äœˆ£…¢Éz±¥Ÿx€= ³Ê‹ó Ë!*h¦•,­m¹u-Œ&éµL,!ØgÊ#ûGCÚ׿©Äò>¥F`’ºÃ]í×5îµZ\Ìïòj±^Np–@÷èÜÛ$^­%¶K'ó—Éj×¥Ehº pKgo̵ÿZJø=O…E®žf+Mÿ祥YŒSYk@Ôz;*àGï¬æç¯ Ì…÷?30c×÷m«{xÅ߆³×ÒÈ ‚ÏÈÍüyI c ÖoÇ}lùe*ŒN*¡Qä:ŽÙ'§Ï/&’Å ÍÆ£É$T}ʤ.ü&.µटO·»ñSíÂm¢ëhA^樛2âäƒçö ×éV UnZ³‚œ¸õ ù¢ ÏnTAÅL¹Éd|Ÿ]"‡­`—ÿREäãl8ßÐh—e9Á• 9îquR“Y²F‘¢.j‰Ïü!Þ”•Åß BShÊŸŸ¤¬”« 'w"‡Gt\”™k£bTüù iˆîšÞ ú39›µŒ‡„’ãn´>hØÊ€šué$ÿÇ=é®yþ'ñÊJ,`©¿#Kj\§'C!ŽËýg¶+éŠx@©šú]g>UŠoÖú^§e&ÅÏs÷ºn«èüß–÷#œ?懗G’õM¹I?Â~ ßþ{¬[œ®Ž=}ìþˆUݵ‹¯ö™€,úÙäì|fQø¬äÕCÓ„æ/üFÄ[;&;/F…Q¯ Pl(3M> ò÷®›†fA[7èùØÈìK¡vZÆdá~ÍÃMK$:„ký© Aiú-üèÕ\ÝP´bo§Lôö⹚l¦?š–¾3¾ÄŸ—†[ËxÂ0@,Q¤nוÀ@À3“ÁÛ¥*4·ö&`F'C¥šXÐa÷ó"I¢\W’:FKýŽo¨ä½°è­ål`kÞ:n•~F¾7äX£@Å]v A0JãY{¬ð@Ýý’r]d,U"g\¹GX¢ÄT:/IX»ö;r• HS¶±¢:³Xoòuj銒±ÇPã‰{˜FM-Í…«æ8#Ó¹_ÚŠ&”.§Ð"´=_þRÕ‡¸ÉÔAš'˜¦\WqÐwÍz½WÉdÎèTÊyØ6­ä‚Y~ʉ¤Ã#ò‰“]EèÚyÔñë·ÌoãütÓ & ²½bâûŸGè2N™L lj¿ ÙãJ»Ð|™/g|%€ÖK¹ä’fÔE¨ÎÞ V0FIÛâÙ¯¯·çYy„MчbŠÁ 1k±á)?„q­€|¢øëüâg).r¦_ŽFaY S£Í- Ušj½ëEWZ}± ‰j~*¢µ‡bsúÆå&KFÌk¿Þ.M7dSY¦TÖk,Òe«™ öÔdU2·d³g¤-–(‰ÙŠù,l»ðK"…ÞT´5ËÍ-%z h—&´ënÙ!úý¾Ï–òw5ÎÝ㢥ž¸6@:DÓawn먌¥ÐÍÒ#Cëñ'3àKG÷ O¿‡¨£Í‘‡c•Øö]#°¨‚ ÂåJè€ Ç7àëZçÄž Y@¼ì íí¿¸P©\{£“‘aƒ´àŒ,ØWyóŽUÜ7á΀u^ß>)È„ZÒb†l4#á×j?ïŸF.•(£UyA¬&YKÚ¾­ùê;Ù¯L=L”DU)-áÐN þIŠÃ'xoÔ(¸ܘÈ;õA@ ЛJ;I8¿Rü:/H1L_põ/˜^´ÀP=7º'ç€RJ"5|€ºÒº¨ø¹;?«Þ¼\_nÑ~S–á߀›<«¤°©” ÝΞ»+ yoóÍÓ­Cž˜r¼¬•Q—´lKó'‰ç'¹žŸûIp¢\·÷Üí$T¢£QFœ×bv¦2…«=@•à-g¥ðÙÍû½pmž8é ¢ÄiX9%fâž¹ÉK25hrh \µ—\OÌ®üîÒOŠH+5 ¬Gg¶Rø²Ò½þêR•lì^$lGÎ[v.xf)u¹<ý“° ”°F™B¡ò¯³dMϪZȪªWÉ…s´k.+¶Œ¾–9…G”÷bÖ À×vÈx‹tÑGùìÌýô"èŽÑ—9ùõrŒ•4Éȇ&KD>k¸ÇakÿTÀÑo÷è£ýlÇÊ_ïФSWS5r\½V±écË¢Ms*Kg¼=œJ‘ÆõìŸïÏå,ë""Az†Â1Ò#}vouÎö;Ù#â®Gnˉ“0râLÅÒÑÐ^#Áçw¤Ûoª¾rBUí$Ü@,x—Q‚Dí™·”[†dä%eÕö¹\H×ùÎwÏ'¼²½¾eÎ%ûµAöBD·˜òùýÏê9ÿÜæ˜Y ³%:øà±ç¯¨GoÔ=隌wœ_÷2{|1áxLóO,&nì§#9©Ûû›Ï+I¡àXwîç›XcF0)Ô¬³.9áÌ™ü -›¼yvvM¶¸>p|@O`Û7˜E.g„õ{ uo9·½€À…¡fûÔmEªe;ŠÑЀ鍩Öú/þA5ÿåZìõã‘-.Éq$K¯›AÎW„Ð4¬sû÷õ±ÿ¤n œà’·¨aò‹1O±~v…éba+» „M§Ÿwu¿TŽÿÈV–¼ø¹(­LeqÒ&Çiû GO‡Á¹Òýø°-¤ý; ô²Ú©ûRUÃâ Kë]·¥á2Øw€” Ën^íµhþ·Ö¤âú‰±ÈLâè¾>’Y8f6sî®ÎH˜¢V‹&,²‚Yh¥˜ÍÚþ•7tÃl¿¿“Å÷Tù)ÖfoaPq.Ë9jebåý¦qb ezõ>ôô¼å,kTØíª="{ÎdD§üÆÇ<,ÄxuÆQˆÃ~‹ä¥çô`?eRf6¿³QÚœÎüL¸_¯ø®u1<Lò¢ ¬m—±ÊÝêWO,( ܸÀ¹Ç÷³›Eâý¾#Ý=à Ž…B†ïój}ÐÆš œµÅp¾Pˆ›ç±^Ì\4ºäÿ€^Õÿv>´€vQ»»"Æa¬v*дR -™ß\aÀe”ÔHÎÂÒ¥3ëÏS¸x˨"Q¬¬v©‡ÿ#ꇋŒÇƒ¸ÀaîõÉIÂX áõ½DõI –ªóíé¼RD•VȄؚŸxTýL*µÃïÇ\Ð'°pÝ % ærêÔ…;È=­E$‰"ZRbDCF;ý RÙ—?Ó>÷öI¤=X«twËÄèÑ+4Ö'‰Éë©Ä¹Wqý¥âë-sÃt¬qÀ—ä¾B2Í-•]>Ђx¼°€6RÍ‹›ö·>)àî‰[ #Ŷ ۂȵ<5\å>š¶­®¡HA.|þ®â ¼h¢†>V ^âz†ĵ«8”šMS!€-B)¥7a¯¨ïè‚‚Œ2»FØl‘#šØpm‚]ŸN혛@j‹Cô¹m$é'e"I£ø«¹ç[:ïî3çr¤Ø«K˜.c{cJßì…¯§à1­N‹Å<—ì-á\ß:tX8*ˆ~ƒÖ&cÔ•éÀø 3Þóç3ÁÊÔEòHo©£. «§pVèºΪ ÷šô©4ìÍHe94ûFK±Z‚#ÛdKÅL\½%%7ûÂ{‹ÓÆ1ëÄ+m=Çž¬?óê&Úoµ]}Zøí0ñrP‚|(ÃSëÐ.Ǫ̀Ftò73±‹†AQµ¤D¼5y BF<èuÞ´ˆä/¸`mˆˆ«'{DkÚ,x5ò§aàü>|%¦o CÇð ‘ÓÊJüN/ý¦óù%zì|Q[¢Šµ•§ÓÜÆç8sXk|Øv)‡qîYSÝéH†Ë|ïf.Í‹RAž?“‚I1 ÂÀ0×l a)ñ}ü æ¸×TÖ»™°$²òL­Ó‚Íô0µu"fÍð˜³QV+¼rM q¹¥=ÇÓ‹¹°Ö^–µ·}†h=Ó~qOt(sØOŠcV³d’ J4å n¼ÓµÎ’-^i;ŽüÓ$ÚPö %ÐtṲ̀&ø˜Æ4‹p7$çHí¯é_Îã:ËQƒ2Ö§ .teP¦æˆ$Ç¿Žr(íY&×4ü¨B¥G}”Óà ¼›ÐÛåJäôˆYà8Çìüù´Q¤5äÕƒ©ÐÝ@3eµ›Û#tUè“©ÀÝÞ᡺=Ú›òHã92=ºDM§ŒP‰SPíÄ«‰ÇÓ­³fò5“(h¶BÈv­4ÌSDP÷Ü%¡±Y„Å<”Â3OE$¢L¨8D mßvçIKå)F ’´Œ‡l>5Kz6€Ì¦€WIµPº±'_QðZê¢mk ìV7@4ž`F „µWjÌ£†›cY%½†ûõ%Cµ‰H¹`-\i¨A÷»¬ß?Óó:+ƒÑõz îo°p‡Fu¸¾R™êë(¾ò›nø²üåìýéJ%8.·HÃp)&o‡³‚›pá±Tr¨{¿te®(Ó̦ï°Y¥ŒGH*º¢v#QÔo­¶gŽÖÏ—Dá+U¿V§vJN¨\?èÎþÃq4s4ôéhœ7Z°‚kAû>iÑrÝ@9ˆ*ï«}^Éx>¸'1°î» »Iúõ"ä]ÓÇ ¿7),³9ñKOì[ôÂËXGšl”oI©Eß¼0¯ùåM¿&¹;¿`z© ¦N‰2÷´’·@ñWîåûЉG¼½I«†Uè-ÍW‹žßóÅ1:}"ÝÇÛ¸… „µÈß÷û²NgFÕÔ¸%ÞµèE†V§j–´ºq˰Pèwþ#™Èe‡{ áJ?ü“”Õ¯an°ã5'ôÖHÔ ?ž¾ÂÞï„_?-|þÝg7¸Èò‹Ð j~OæžçÜ5貜)˜2Ûˆ½È²ÞM´î|¢àÑ„ˆ&r\å› Œo 0îäR N¼ïÄnpd z–µ—b¹t—ïü!"È<ÃQO—d¬CÒÙ¸cÉVéšüÜ ¾IôªÝ/¿’WœV5A '§qÏßnvÀªÏšÓíüe¼¸Ghf̾cT=¢ë=Ì,‚PæúM¸J;'öü:E«Û²d;RØþd5)¹‰Ó|”“Mç[|1 S/UÌ\€#jîø7¥úª–=éŇTÎí£n§ è »×­Ç\Ì¥…ýÐ*?åÜ0^{e ¼¹ÄûÎ>¶G¿üœsßÅ„[ùD™…ò?—e­9'iÂ*:t?¦DĤ` JL¼CªîœI`jXM`­³(ß_‡ä @~´ŒFæ¸mƒgf‹±a°Ñdc<tìC/iL äG‰n|Aú5è_ÁÉ`Z~ð Ø8VTØžâV¶¡2J?Ëí}Ú@w¾¸uÎ" Œ² a£ÅR¯Á à5($ùaÈ¡A¿œ$ƒùŠG§!2~­t–Z'Š‹©çˆqÞ§ æ¤!fÔ¦èûžýü ë¬;¸Ï‹&nÙKƒçr úM™Á<éuÐ}±I/7ê›Økу®ÇÛƒ®Ûrt‚øüaaë‰øzÁËÞãövdœÕº’<.)ä¹MßÍÝ|ŽK® Ød_åe#ä`¼´ÎSÑÒD?Ò@Mļ‚2”üMÖ‚FFEªTŒ#”ßîF®ÃXlÈ¡H!/¦+Æ ‚ÅØrÄC:Ò+"N[ÃÞÈ>ph¤ä”ÃX…ºwZ:”Ý›c!ÔèJ0œÎZn{ž¾92A'nV[jüdc€ñAàk¶³iËäG²çÿc¦c:Ø šƒŠÑËŽkén@D/ˆòÊ”xp/§šhá¥vä1HCÑ‚öq&exOŒVØ,ðjëå™!F"ÓõrÌ«)Tbö%aú¯ÂŽ™‚1šÕÂNÞÀ¹ËùF¢ù‹ˆúUÝ‘¾G­ ê`¸%žœR´Ss‰èâÂl¬ùµUÍä+t¬Kì¿øÇ¤”Ê»>™–„ëME,5÷ž±#öÉtnc’–4á•[tE›~Ù‚û¸üÙ‡#³|ÝÚ. ui´”©³žUþ#Õ=âɦŽÖÆ[L¼Èif‰0}ö²ñ›µÛ³€—j+PÞ¯ù™KùsÁe@Á"LÔ¼º½°kFJr^"¤B«+?ŸkòÚÀÙô¦ƒHÉCœÄI”0Ô”Gìð¢iGï\¥sGXNˆ9À”³^»Õgi_¦ïé[c)ñkEÐ/e[ajDì7Mq^j”6-º[&Fóªn$’UDx÷QqÿÓ«èK7v±Ögyu ¼U™È˜öi‘ï‘u°âiª¨5ß¹`‚û*¨'¢K’Sf+¨áBhâãøjÓ»)ŠÖrôÝÐL¼˜š–.¦U{¶‘Ö_Ÿ[n¾ m/,ü<Êö²‘5&–HªEýáë°Æu£~¡-2ƒI™C®$ 6ÛôèNe·­Í¨ýûB/õ¶_®Qð'2Ì 7Çcu<0˜Û&Zeã¹S-”‹ è¼}åA`Ï–7Ýß´éT5ºÉ¡>ØÖJållîf=¿~´ëˆª©=4áÃ6AAés4ØÕöWÚ‡F€Ú,À;ÆREºo‰ €þ¿ŠG*xDCîW½/(]ŸaÕbVhu AÈú½å ØJFÿ}¿\:þ¾Ïvüá›ÓÚ¯º²Óáy²©º0QÖ¹¥í¦t7D¾„•¯å ,‹ žgr­N ­Î5òÅÎÌß§Š7Ò,9Ô)ÙÒGîü~J¬×œög–‹ Kð5så“1×’?Èí4Êr%мª­ZFÏÈht§’(=¢‰øÎ|ת‚g­êû¤Ú;Ú½ÄG!Ï«Ã<9xLX\Ôƒ%!y® ÈÜý‘ýÙ^ñï=Ì©2(Ò‘¶å×&[Vå‰%îXÄvj~J~ªäçÜjY6ÔÇ5ÜR¯¼ûÐqIW;üš÷B6hE]ð\Rá¤0H'ÆòÿÄ 3ñʉO’RN·B³8»lŽm] ç—c ±¨DžµÉ‚P^o°ß—9›·ß†‡<=zOŽk‰VÄà½ã^‰Ó""r;(Îc Ф[èl›. kúQ…Ön<¢VÝ´å¯=‚@Sr!Â*ÑF!B±eÑJ->Ê);ÓÐÓÿ"~…Âê/€ãCéßÿ€t¶»6FU$#ª’5?2±¼õÃà|*£&_wúºÂ†êùŠ‘Dx¤–IY ºåŸÝ»qò'I"R´.°,¨wÔ ŠkŸ6_×]ïÌIç2óʳÄ[‰µþá¤ÐI5×mªÜi(¯æ „¹Ì™ØýÄëÌ’mŒŽ„ÃN\µÚîN'ÌÌ |n§£ãaýfÌ-=S,-ÿÔîô‘ªÏæògLö\þ·R4,M8 W£r%Ij ºô›}‚I/ Cëæò£‚ei ûÑ1cvu!ó³®ëé¦Ã¸<Ï®=3DÆÏ¦„¤‰¾Ð§ä°²··jçq)0×”Äì©'HS† wRs}f¤EóH:Æ´ÔlB– NI¿ñÓŪëüÆXäVZûãzˆ~ŽŠ×Bû›q¥ž)Ͱï _ìõ[W‘¿­ø :Kneô”Ž=Dv2PÄ’JP rÁ !Š©Ë¦¢4:Àî>¢ÿîúywrúŽd´6`¬.êÊô5C® Ùø|éÏÜ^€  '–ã[Î C<[Ó"5ë¢ñ,¬Ï¶ŒÌ3=ºÖ±\q EŒÌÍ`‚rŠ=¨tô×–Ré ˆ×¦¿Þ=íÖ}ë´Ì¢þÊPå¢ð»MµLã%VÆonË¢x\‹Á…±…5Õ¹s49¯snD“”üôߨO}Ùò¨7æŽ#²6ÎÓÝófH}·jÎ[ZÃ0|õQÛ/™–ןöÞ7Œ+ß­`|ë°rý»ºÐ ¿#äØtª÷bªM<ýÄ–vD[U¿ „9,7±ÔY$¨oÍÑ—Ü7’(mÿµÔËÂB‘ÅÃÐÓyꬦpÍÑΟº]C­üH˜Áfß+U9rt/½yÜÂ5n)ÞK2œt³ÎU g/7E \*èjŠ+½î- C™ü·:÷b‚Ž/‰u‹t³áîEEŒf#—išÞ¹þñ‚ eö®+€ ÛÀOâî'>›“Žš†½Jð©…LC' Ÿ¸¸KSq`xSp&8÷j¿Xo7YMö/OÆùf9ë•?}nÆË ‰’P—$jOZ·«Dùhï ÄÒJä0¶ð•fGþŸ™ ¾Ln=Ô®£CUÙNO†dR®æÂH4ïùÛÂêišÄëÌ*QªÕÐMï­QYÕã©vêš0æ#daùËrÕ.ò3»Ç$oŽi3ÜŽV¬zñMÂV\ʇç¨fíz Õ뫬H}gñ.Î{ (&²ŸÐ±z‡Ü‡2XT4¯A÷YÑø¢õà™zñŒ$¹O‰¨‡O§¶…|¯¶ñßWKÀ8·–¢œÖ¶­öˆwŒ¼‰NLš6{aj#ݳ[5C¼¬0ó”u˜Û¤ˆAœ¦ ÿO³Ñ|è{ss'pPÝZ˜±Ûœ„žf˜Í›‰~˜.Æ,¹uþ<ëMb0GMTñn:|Mî ßÃK!ÜAIÕÚIßõÏZ· @xâyx-íX·¼²Ö@È\߃íUà¤Ëï8´…áùTâ¶ç¿%ÛŽ¡˜ÙÁ”鸢â|6øŽI¯E~¹Þer¿»Í-(g\I}}¥Ã±4Jª,h¿FÄ ™áPåÌ £?îDî:êgt¼Î4: ¤&½W2ZqJöAPùÞ#PfHq8êb‡ãÎPlï>Z¦—75&(~ºg=]Ñ“G _ãµ®G>rk'kGÕÏ%G/ð)(Â\ég6½qÃÕÔ–Ò€½ªÈui_pwëpcÛ†šE§Ð•¸ÞëΪd9É,£·WÙŠlÝ„•?¾Ö9%ík#õ•Ú58hW¦+^•œ¬èo!q—Í .´&ƒ¶æ§À«KMf¼üŒ»žÇÓI±€ƒVˆZ0ûöY»Qjئ– ùŽ ™.òº€‡ì¬XzÓ;Ýï¼d?`¤t¾ç÷nœ-> ^•hXcêÇ9|­+Q2|\u°Š©k%KÕâ\ùVàFs}-²­qTsÇ]©‹ÔUØiriÚÔR‰þUé…ûQã' rã&²S$'x송ººØÚЊeši•÷þ­éä¤Èxä캄=öð&5÷PŽ}¾µpÑ_Ò‹à|5ç+â„Рh¬…¶võj‡ØÐ )¶0Ý:¢²|±hìb2ZÅh<‡£=uuFã8º Î]\71ør äøo.€ºnèk.Å¿ÄVuB˜Ì ˜ Þê±?IÛâ%™vvS?7iVq‘sX²Y¾ò–2¥Îx¸CWyB›M{ÑN|P¯?r¤%I,3øãš Rî¡NSw wŒD¾NY‚¾SO½1w2t˳æôs\K…”̓¸È>'⩆£/ŸŽ 9Ö´W̰àFC©ò%.j–â“C›@ú|Qãò6üÓûÞî±{fu{õ@r<ºW‰å†ù‚ùl®MÀ`¼n¨9IãžäŹ̘vªÓº›‹}ê…V¾Ê6™IœT¥‚pö"ŸÕ sKõ}@ßœ „nFû&,u@M’Å7ƒ©—†« žQk†ÚðýIßw+® ˜¹©àRªb<úµíidgJFˆ`ýðÝÁÎÜ爨ÿµõÑ } ÝûÇÙÝE¸ Ý„4Ⱥ¦ìêŸuø€€zÊgÿcALÞ ¶”"¸0¬ò˜Îž‹cØ:ëLör¢Ã:°9þ ÀíJBñRÕo`BˆukM6ŒæïZgC’ý ²((ÉONs-É–e;¢'­ŽE) ”RKèmõûUüÊ?mÖÊošà}T£•ÆÑcȵ á'ù²ëD±$r…ZÍ-O‚š€øÊ÷ëMbÚ³À’PíâG¯ûŠ(Ìee×*í€G·Ý)iÅ“&Ðëz­?jÌ€â}ððŽ¿Ô4$žH{!B•}§$üùÈÞK?}þü=Õ¦+¢°g}©3¨sÒ¶±ªJ§ó©5Ù¨Úð,Ø‚ƒÇe<ÖÖ7Zù‡½ý­ïO·—1à?T ,µP¥“æÊü!wf³*Ï}Ís„Ý&<.X‹ªÂ¨¿"eÎ\Æ"Þ—GÂØär[_£È{÷a×Â>¬äØ i†·y[xe×Y'Q8¹çˆô“‘ñXôÖáFÐÀ÷ëA»Ç/FW!ÉüËÖ2³ç“¤òcCôî„EzÂ&^ „Ú삼‡)9,C û|ä4ùÀ±ò¹\¼‹]j:ñx›Ê{òÙõ¸‚[È4·§ýmf³»B'öôèƒ—ÈæïŠ¬âŒ–PeÒ‹ÕcsîæŒ~®jb½ð,`n#ê‰ÍVR@-ÿ6ô÷#¾˜¦'  GwÔ|ó¬>°ä´·±¥¿@ì°™3Gð•íZËH÷Škl~{Õ_W—®8WSfWþDF<€~Ìù{ª‡•;õès\ —¬<{Úähë œ¤+•Zð²ÞpoñB´$ÚÿccÎ+× ®–s¾·vÏóϲƒp1,NßÓ†œ‹9DC”•ŒÒÖ,WI=!g** KÌB®EûëÔý€[5_ðÁÕX§‚µ¥ˆŠekb‰;72ºiLôê©!¤bp¥lë÷S¼§€ëóÚw@ylp‚bym&jB œá0/õ/­l6¡É»Ihi1g9©›H;ávªá«”ü?V%oA˜»Uð¶íÔÉj58[•žEòŠ0«ÆmáÜIü$’ó}Ò\¢ø=O3+1â…<ß;µ›Nþ þÝW?Ë( í4Þ…"Šºøñ7€½˜9e„„¥õšŒÝ&Ïaf™`3µ¢½QMÎ{êå3yûÐ7‘žÞN\RA}V!üJæ>9?§çë¡ÈàÑnăâ:I;j¸Z´T¦å†#½fmÇ…ÊuY ô_Hš8ödƯ–s.ß/À³@ƒ¸¨*K®aQª!q7]‚¬üíù4n¢ôÍ»KF®vìöà ŒD¾èæÍ°ñuOÞýa cÑ+â-H,l‹0*/¶“î•àÒö{Tó`"Svsé|Æ2ÒD=q+zÖå>æmUÑÀo Ðsh@À¤„K¤k–».…4=W:Ä`ŒE‹¹X|òEÅÆ(ð˜Iº•üørË Ž_5¥(¶]7ÐDƒÙÀfa†Y¨P³!1_‘—þl³ ýGÄ¡¥[f›BPЯ¬Ú)‡›¯òä8ѪÅíÒúœúµæ†æ™Às¶±”lí"ÑÁcÁ fj¿Ï:5Æ”J§[hèòÉÇgö(EþþîQ =²ÔÛ„Þå ⎮õÂoásæ°}ëR­òöÌÖ[»2”¨&†’êôéí#Í)BÏd8„ß»!ÛHËàЛZÞ™¥¤Ü>HéÃâ³*7øùa4 Ì;šÃÔ$#Ò†3X“i¹¬4.S›ª Y.šüýa~믻Î…Ï#]®ÊÁ½+ó2ô/Øì™º©oÿ3fÃ69 ˆ»@ ±ª1wÕ‡¤™C°F+,ªˆ£ÒþBÊÀÚZCtç`œãç ÃΓ3L¾³1Œæà¾á«,ű§„¡Žî’/<ë‡øe+˜æÈèðX„‡¸÷SG#ýu…õO¥¤>sƒÇQDnt2óÍUÅh«¾Åÿ;«M‡Ÿ*àõ¹ÔÁY¦%;ð4R϶ùta9Bo¼ïe·ôÎGK$@y…´Ómðñ­u¿vƪÕ4+¾»ÑÎ÷ÞÌêwÁͲÁ¡?“¬»šš3%%ìtˆ·:Nifër ¨KöV‰}F•„ž½ý@Žíaç¸y?·¸bœÛ®‹Ws¡™*{VæºVMä`­Z‘Ñ¸Šµœx>7x¤¼}?jš™`­sà zå‰þqߪºvðOYkÇhXÙSlåÜx@c_s¹Q·£œ.°U²Ì&Yìð5Åó ®¯¡¡=ǪïðÃÚ¡np©YŒ¶µâqÓnZ½»@è4ZØïÿ?Z’(‚Å0’£²ÕÚàåSýó ŒFΛŒ‚‡6Û?ΚK} h=]`&ø²: E%Jµ¥Š¤o€s9u=щT𯈴"P`o¾‘]/“-‰{†bN†±L1µèòÜæ£øÌ‘@\a=×1~…¸Bû?¸5ÓðcdÐ c‡)¯«Õs0vX~úÛ"´\¼vÝq÷pÔ•l@ºü#peAé3²º”ãyN{»j ÁcÄ_5úýíe¨Íƒ ókŠBŠVMÖóíÕ¹V7ý­LåSÌÞb–÷œ«Œ ÿjÈ­éFÆÃôNéìÆîÿÅèÙJA¡§s›Ã0`³á/1˜G_41S…mÑn"‹!ƒ0"1Øh›&Èêƒàë)uÍžg[ѱhV)Ðä“FMÂåý¦½Œ¬ÂùU€ÞaÄV#wÁ¦Ä]ðÞÛüip¢wÿÁ’?.«ÔœÈ¢6Cõ÷%ìÖ#$ }: ´òÔÕJ P¥A; xÙÄžD)§Mè!Ñ=¦ëª»i´©(°c é–Ìêœð]èFÄ©WB¦&DzÁ{Ó0Äfí®1çÿ£I¤/þ˜xRðÂ+äþ“ñ‚xCÎççáIÿ×`?¶)”º ˆˆÌB°¡‰²lÒ*¢Ú`ú\Ì‚6š÷ùw(ý„ Ý)h–gOù¶‹½á êl*JÃ[Q’š9JœÀ'/LJÅ÷ë8<Á'Vn–R‡E/ àë§Pv:¢Ý6ÒU¦<šW¡O5?¿¢T/êÏÖ3awÞÃjq¾jçtŒ«È¶Ïõ°­—·’7«aCè»Û~³\úئ†‘Ê^3\d8¢/ïL`p0šÑ¹áׄ™xÒÉAÛ[ƒçy+¯½“6D´\·BÐld|”c^pgþ£ï îI!€ ÃG+ŒƒÔ-z &iIÚq5àŸG{3r3#¿Á¸¼™§ßøØ=Ždëºíýa$Ëï‹[èñÙc™â–XÅ.¹Á/Æ`ÂÚkø;S®"7øŽ’”r„7]›i”0ª­¼Õ.òf"ÙÔcLÒÚáÚG[BÈËÌ \ !ïÞ\Ú&$»ïÎ5€>›†zC£ñ0—é•͵û%K„G )f .ã!C‰Ü¢Þ}+ ·|‡6Y×8DapýgP]¼gæ™I"«¤ym²²3J›I{ ŃƒJ5•þOÍ1Àµ]atÉ;=µ¤*Š àdnÈ@•´€q•“ß–VýZ$M§oC}yè˜1: ô†ð8ïù®ëìñ?ÑÅJšŠ)ºØÈzN3¦ï=Ér;s`GĄˌÛ9Úû ›¿ vrÌ¡×}Eû¼¤ñH—æGÈú+ëM³Ó¼¾Ÿ MœäÉE€|¥¥µ©š:£€z„32³ŠÅ¾ÍjTN›;1ÛÜYŽ97òòÅT “ªßf¹ÅÐâmÈŸC’Ûz¹«ÆD…‰a+Fþš#%Ƀ)YUþÐëBÉÖŽ;mõ‡± Z)‘¹E-Ø_r÷á%ñº´yþÔñVEXV÷oÖwaé“Xû0 [÷¦Ž6ñ¯ÚÎȱ±¼ý²±ÙØçO5cz& §È•¿æ™@E~öYcÝ*ÿÄÎd…eoºÕ#~Š##kf2{­Ã8µÒFTVÕ˜FÈõüµD ´Ù;‹4mM®Q#jö=I³S²Zm~™ä' 4"m½­ !7ü;Ã\ã0Jï ¿3jÈÉËu.DT綆åYx›Fë©i÷=Í›PÁîÜ|Vó½û—k ÚG~D©!ª¯â­h²%›F“K¤ ï5—C½ÅÐRéN0¥¹p¦¶)^:I†‚ ƒ5€¦M|©  §¤˜[T[Ž‚°Š'¨Í›ŠWÎ$él$0Q ç’r ø3ͳ+©ñ€yq¼ˆçGŲïÕW:M,P7þ)¦¸'ò¢žû¹@ÃGKî[´Rÿà¹êTÐD–wÛ=&Éú_%K}M­¢ é%9´M™qñB·µI¯™Ê!{ìð?8Åú­€¤^¯Œ'(n_bÓœE; ÃȬ!œ›«ð܃œ¹Äu•ËZü’oöù:ì_ŸÅ]ðø^æi”…?nòqý´dnÞ½à` I«­«mÅÀ­‚’}䚎“Ð*>‚ø{²ZÜ£Í@‡9/ÿ@ûÁCˆñéÞ/ܼþŽ U®è%µW‚Äq²xóS»ÔÆ‘œÒ{} ò8!êKzkÕyìB'í\R>ÏäÆCy‚ÉñÃåÄŽÎà6ˆ4%>ËàmЖþz<ä aÖÞ?Ø/ÓWÍ㺎d±R[xÚ’9õl@ôê÷§Ž-•œ`Æ?®Ýbd3m«¿†âRl:43Û鈀Ómý FÂsa¨$a‚ÛZrT»ß^ÈÍõXè6tà!;ŸÒ¸í pZ² ™5_P9Rã&IÒ²¢ Kh«,,G`7õ‘îù½/¢Ù9Ây”tî9Å~pÚƒª*أƕLfZ«î¸ó[<‹êƒåpÿñt¤!Æ÷®¼)Î`S®.7ˆÝ¯^9•o b&kAW¤è[iöFÊNÈ UÍý´§{êÄÆÔ¿10%]»¸8²iö[<8ÖåÜúXbì&ÝÐ|ói] ÛtNŠ­E¢î-&MOpÎeÊñE L­™‹Ñ}Z¨ 9ÌðSÌ¿¿å‰xr-¨PPíÌÃaxKÏslð“3•§º¥çÚr—Øo×ÈΚڊëºßÛžfQî=ô9-æô‘ b¸vo¦Ž$ÑV.ö…¤'Ö̤¡ÜWvì Ç¬½óÊÚÉÌ¡ü´“b2D¸RŠÖÑÖüòí~êž(eX6HÂwóДç._¾ÀýOŸ4ßUÉ…Ñêõ\,ÀdzÏ./OU¹£_¸„Œr¢púÑlª×(°†™‰‰…#ÙÂ(À+?k±l.—b¿î>³F÷{CQó®úSX/™¤wriZê߃æítwm6„ýxûz*Îîo~(@Ü~ƒ7K§€`¶·È(u€üö—î#Ö§è(×ãX¢è¿N §1Ñ^ržàe]`.uÅráT†Ð$üÎ|G–’š4ÞÞlx)ÛÀãè$þÙKÑýÌqp?JK<î0'¤»moÉýÐqƒñ×ähÐÎ–ÂµŠøå#ÏÏó½iûmiáÞä_»1X~{È[µ·˘ɺ(+àIo5>ßZßþ¢B»ñzÅݱŒ}}Ÿ×¿ %3÷·\ÕÊÒIíÎ…êßëŸûþг92+ff SóZî8‘UH€Lþ]Àœá–6®(Öi½ŠÕî2¬3ó‘{Ê÷Ù¸_¡)ZÝò#ºâŦM;†É.æ˜ Ä–fëàkÝ:#…Ý9 PÞõtrg#r!êì¼Â°T­bŽ61*­°ÞÔ±2ÇWV)<&|jµE¢¶êÊCø·ó³j÷n¥ YïLQàvÁ®äC;N½{ýÏoɈ¦qe’|〚µÔ˜ú'Àƒã øÌ.»%µÛÝkVྠîÆõ„0Â{ð™ƒÝ‚µí¶˜Š0¯J+óA1ªêNQj”)®ŸöhåzþÒ‘„‹M’ÀE‹“LÞë¸$‘“u[ë¾±´‰lùT5˜×ÞGŒ iž™[K›Ó%ûäñ¡RË4!-Ïo’Ç/¡Kš11 .v°a¸lςʻã÷kv¯}½&Ô^5œÊ×®ž¾´…Xñ—–.è×ÇeiôÛLj›Y0†yåÞ”‰ð´Êyü´sEuÔñI5ÊÜÌíuÔµ78r-xžGø€£iP´Ï8P¿a¹Ãè”nýf²ÍÐú<–{x%&ê7Rü™§Aó®EžÓbÿyVlÓj*·c˜3à(ö¶ž2‘‡×Y‚œO·¿I–mìJõ¹=G ëÎ7†ÜÁ R´øýò1M%x þ¦YW.²¨`¥.ðîÁc 7­¹AöÚŸ‚/Z3VfõrЋrn6Œ@rI3W”¬G\ðÄãÀ-3»ýh;ŠâóM¶l)gƧžTô‡[¥þ*­2ˆJ狺$¬žL@µÑ>Ö34Úáô<¿/©ô1—ÔiÑÒë³bKÙymÕ»S¢Ü053ÔêûõüÔ[{ÁH›ÒZ¶iUÞÍÿƒMº¶yCÌa3¦-À§XdùƒJú5TŠUb_ B:~hrù ‰{`y¤AØSJâ‚PWM¸r9A 1pPðmͰÈÕŠo–ÍÊp¶m'­IF¤*Yî±ÒÏ(¾ÍHÞS¼^MBÖ­ ŒëUNÔm±!ƈˑúA·m5´DMæáœ7à ÔRö0¦FüCE—‘CZïÜ; :Ó'kÉü'ô²sçÊ%~~-×Vg, g#3ÃÄ _›'Vòçn{ì@ïoïN>ä|k2†$`òü-¢Fôú$ÓÕÄ2:ÌŸÈðçTâ‘ Ž¿›úýæÇ©Î²už54 –m‹ÖJÞÛ0Øæ7£{¢©tñ÷Iâ<Œê€TŸMyæ†â.9@â‰D<íÄaQ·÷Ó¡žøñ'AÌ$äÜ[Y¥-Ü^S½Ù‚ (E÷0Ù3¢PŠJXö»ã²Ö–Qºéƒ‰p¥îïç¶ŒD•ؤ~&Ö#xñ•¯:÷ã¬1‰¿wJ§üùÅÔ¤m$R"é.?ÀÚMbÄÎînu2áå?ä¡ÀÐk^à XXa“&ÀíK&r.¸ßúî !ª(Ÿã˜Ðq²’áZ ¨ÌK–k_³w‚?äï$«ðÆDa•ð,UBãX¸ãæŒô}&Åý á[¬œ…$7ÃKê…$¦ô‘·Eq^»ùÚHHЦ–:péÛcîïª=ˆóÈ<å ÞFmyž¡m;$ÍÀãÄ>ÕÜ•Ö:iJ )Š)"ÜC*QKnÚs`¡6€¢ ܇ÏŧÖ)U ë#$^|½sC‹Èÿía³{Ùj¹¨ë,^N?ç§óî.’'dQr“$æÔtm‘š{‡QCV8ý¼KÍŠGs+”-WǪjidFƘ"€eÅœya.Ï$}dø×¬Œc! `™Õ+ƒÇZ‘°ü ‹–|(>tÇ“B›j»|“è»Ñº°7¼¥ é&ÿà{ä_8[HªÛÖµªPàÖ¼³àEL2ú1<ÍÜr)ä Ÿ4ÃÔIø{D§r/@2;âN¤f¥#5Ú÷é“Ûð•Ë0GºýÆÎXCÒÆÉ`ŽN-½ nUÈñ‚/'V‘B7çXü ø:‘• .[³Ñ¢ñ›¤_™$Ð)­Šk•´bNå[ÚA¤~¹¿]ž¯«…¾§ß‰ŠT&vúlœ‹f /_&Úa<ŸæªÖh¡x UíD#ݾE IHç(q5KÓ¬Wkcljá’¿šŒc2+<êÐ.‡±<µýâ*-Q0a0Y?™–*gÞ‹­ÑÊ­°¡ùöÎéÜØØ~º³ƒÙ:Ü‘ÙÒ`,œCcÙfn$LÛ/´^DfH¿\Þ“º"6é†bÐÒPŽáC‹¹»'ïí^0sÀ´á<Ïé¬X©ñ–l6éŽðìLrþ~«àæâ;Œ—òÖ{S:ÀÄQx¶Aµô׎´…ʯgÿq—°œcð›å²/z”Ÿ çç…Í¥€ÁÃÎÒ©JÒgnØëç¦MiDâ¾tJ¹A{Q_C7æù8ì×jSX·È7Ó=YÚæ™QÉ%sWÑ×â¤ÏüŠ)qAhØ„€FLnâb—0ÛAßçbÄ2Š‘vý‰CÄŸ«Ù—Ñ”e_çÑNþýrRÛ…’ÆHúI‰€Rú˜y9MDŒÜÆlÑ~p§üˆ /´Vè^kÛVóc4¡¤€Dò<™> Jõ0ãÒwÊxaGªG ^}ÿÕy{oG5€(–PS_‹îÍ=+ɵ?  ¡ÿ’£m…mÞâAõäö‰AøÏì‚Úþ%jM6÷\Ézˆ¼º^ö!”Å7à?îø)OiïР?6LOÚ—£p3üЧ}ÝhùÝ[¸êw-€äDoƉò‚qZ0âœá­ ¯ß'³Ô*QëM£m+}O³Í=„g;[µyYâÝKºÞÑBRt¦Š¼«-”äò”Äýj=æÖ¯Yô9B Ÿ‘ªÃ<z«í {V66}Üë)RTq¢,ÛgEµ"´:fêd„×Û¿'úQsKü:Š=ÌÇ ‡²çy‚au¦ó›;üå Ññkáí•7íAʶ¨BJÞp®=žK*“¡pyr5¤Ñ{âˆrc@9º±tL8áL/Ëá‰G>-“z©J¢™Ûa¡kg68æÎ§c¯'ò±/½Z÷§æâ4å‰ú6 :~´7ò#¾8¥G³±«‹wš\€Õ¿ŒÌʶ!èäe…P¬ëâ¥pm º¨í¿VUü‘£Ûe5²†Ÿ6 ¼ä‚ c³±TN¦e±YFÒ‚k,«(AÍ*„é¤Ëåù¾øRXÒv % /58œ^œõì!Ö•²I‹‡¦Æez „ÝÏYÀm•ØÛHÌM;?BìÈyå#†`Þ`¸ä'~`'’<:yÃü°uÓLÚK>mÑ@sßÂúÕÀVü4²ä¶‹iÿȦ¤‚j*ÉfØEš ²ôI­Òäj‘üúg“v&é‹1ŸèŸYü M8Õ^µ%‘kbr Ÿî—{dàEÒ´¯óÞ[Y?Âê[†Jƒ¡Ù’ÇçWØ6ÚXø©åà©s®]ä,ªkƒ »#Vûù?.*7€ 9{ºØBQº'‡z|Ð[üÀDç_rÑÓt4¥êJ;omDÀwEd0Þâ¶# »ÀO¾,–éפz:%/ðΧØFÊÊû䢣®FõWGFQâ”-5φw££0ÍŸ7;¨4iûJÊi¯bZzF¿Ê²Õ‹ÈÓéfïÍûœ2?_WL¿8†ÕNŸš¾ñöݧ‹‘†…a"jîθeú´LÛМù´?PÓüM¤Ñ«‰"c³ .³éظ fñÑúVïì»÷¯ê^k@l娵Nr~Þ• 4Wû!'Ô ë0í6%÷ 7r¡g!ÊVY,2îÐ$4éCÎ9ÐÓaÔf¶z„ëâšjÍn+µaà®”X‰Ø‘]+¹Å®w)¼'_z®XÒ· ž:ÜC›ò»i÷œ K¢\ó[x>wÐ"ž'‘ñi»c;Ñ;†å³ü”ðö`»´Ô¬ÚWhøTã75Ú²ÆÄÎañÊQÒØŒ;ºCœu‹þ—Nì<Ьx•'A]¡¤]`5D¤ YØP­t@¸__ðþ¤¶GÈÕn” æQL<él´Jfî4븙ñè—=ýo:\Q{(ÚžïE¹Û‚ü‰[͵Ó@¥ lÖÍ+h£.êQVT´»/ŽãŽCVî¤%h#"[î¡ÅuÍlªì}´Qð[¹’ÿy)¡ 2䈊zʶ¼õYr\"SÇžáËúùÉÌÄÿþPw¸ÝtpX?B–ZNVçÒ¤X9BÔc•Ì~¦)ÎpïE­î5Û¥YÔÁE^Ä9B°‹Å=;1=I4¸ð–9‹˜ãæ{Ε¥ ;)(=¿ÌpJ„aÐû R„µ›)?•Br´v¥E4 òÛAÀ¦zD&ŒçåÔ"öXÍ/¼û2‘4zÖIÍ„œcï`NêžÞL¹E›c<Ûûl'Ë÷9ÒE¿WÓ£ÇÂh…ñ þš(K‘{Ã4ÄaúoˆÆGDÈoÁ [Þ]jΪy˜M¹¢Œûë.޾Î~~¬iC.V‚Ÿt¶‘Ã×iZr;Ùîpí\NöP6Á¸XÍÉf˜:•JÕ#N6Ã~ŸÓb/ Ý+;í7@I¹S$Â3eÀÑÞ¨tiÌ`{´UhþìhõÙ|b¶wxóéØx°'»‡kGTØ;ÎSÀh <ÝâÚl¬M|E1÷pª‡j”ê…$ý rŠÂ¬'+6êӔůšF”&„õËO‹©~”­uÁð@.a.IhS3Ìdþ!bêy‡]ø*yÇ„AžþtÍÖPc^¿‚ƒ^Î롌ö”ÜÂT½…r~- —ºÿ=ÕdⵡĂ6WŸ´¥tûæÊL‘Ÿ E{äÇkRiÉï Ñ×EjâŽÆ0é­M©eÓ.¼·>ù7^` ;vúèô tK 6×*¹8ÂÓ½I÷He]ÓbPaq<á‘¡G쯟 ¶(–}Î= « ø›’¼vçhSîºß"ÆŒ×Àê„ðÓ¨Ôú7š&w!œP4 7ÍÄJh$'~8’%/WªEv=~²[(ï3àáQ /hõv1NáÀó”†'Ý„gö×@Ÿ—¤—ÙQj=„a§”èÕ?è5Xô/å×6¯ã5wŸ¸ý´ál®ÃôoCÊì…ÏðÿÙËvx@ù þUl‘‡Ê¦€v/ ¿[c?9׆Ep_õÄê*©}T.š0O·Õ–B?ÛŸwð+‹õ;Œ3ÀáqÅ^´ë¡O]§(—¶ÑꟀ†[¿°¡ ®ô8ã`é2«§ÈöÛÔȃ"_¿\×±£¶ `¤$ÕX‰éê8,j?{)½0¥ÓŸ¯©{­²þú/p‰ÏîŒth¡ÌHu®I›³‡b¤J(ìH¼ñ+|%åQý¤„%y×R$)¿Æ×ªžtï·šÅè|ä,g ¼¦Ó(_±ßq:{r‚&Ý4°Mî.&ÉøÀ9ý“·¹Þ„í>žú{‚oFí¢¬Gö8¯>¦8|UYÖêž³Òp‘çŒYÐø»ÕLdfWß›jâ¡ äD°ÈXŽF=€.!}´±õcJéÓ‹£Akå;-î/ÞæØÃŠÄ`·aÄŸAÿhÛ˜Ü,™·òUÔ|ÐUzáqv‹5»äøû¬® ížË?ƒRsedȽŸâôÌm¡ð(ÁAŠnS¯²x¦‹óð=xëÀZx˜,R¿ —¬ÙZÞ ÒP=,JBÍ×@d»ÃUëœk}ÝÍ-›U¼ô¬ë<"Ì“·M8¬MÌA¡õD?Åâ¯î/wQ˜§Åy*Õ[EF²‘‚ff¶v¥å„1¥ICùÝë+1fîÙŽ¿ÈÈÁª›žš)½PÜŒ5& ¡6÷KÚ¹vÊ 4x¹ë–-e•á~¢‘xHáÉ>ËÍÀ/d{õ¥qËù©Ï²coî=ùÏöT+xÇò l „Az’±€Žeäè íÓ¡Ã6•D wóéµ1 ¿'kïxpÎ:0l–ø‰¦1ô'Ä#[ô¼{ˆoFÈÃd†ÃXÛ¸ÙêšEâèÄ`ó0Ì:éj/²“,=ôF”¾Ä©mÈèPîÏÎQQ¼Škàárª3)HW,ïrÓÁ. ZeÐLø|ÚgóÐøGÜÙW¡P¼ÕòàÆ©¸b-å›±Œ㣶|Ý÷`X†ˆ„™I6j…^¤w9üóêëRõ°®~¶ ø1Ú¶3ô³ŸV]W굸ï…Ah#ÝÄ1gÈ2ü~ðñvËdcI³Èõ<²)õ\Ü7Žp܃®Û}ÕËÊDkœG"’?¦@¡^þ ÉÆ[0¨íœØ¾íêÎo¢¸êúWoµ"<³ßoiOŽ«-ëk Ò=ðÊüòÄŽ//Rÿ“YD4Œ Mʤ ‹~XV×\¥ûö«r 3zÀ>Bó¦z«ã|Ñ-÷L©tt®þ£ ÎÈØ9•N8#NŽ•r÷Ç^ Wfc{A bkRÑðx\<ÿ¨ ÕÆœ4£*ÿ 1|âøÓôÎ~¿dß‘!Ë& ðӔͥ$®!ìÎo•ç,ßʺƒæbGz™ýE¶ýO,ex;)HÔ²ÇêݨAÝ‹¡ ÍØ¥OãMX¥HM5<@Òî…ÂãICвÅܤ0'øpãÛ”+0“—ñÅF.l³´¡)%b ÍÍY§PÙó'$Ð,ŠŒ½Ãj>Œäqýnú™º;<ç1;Ãümœþ"V¶s˜åi=«Xܾ—ImýôuîWÞêf‹³"¿ÑÀá:X›˕õ> H¤€¢ÑQ= zŽ‚,êúü1¼]xwÙÝð×ïo~…ŽÇy/ËèêA¹j{¹˜lEEK#³à‹_¸‘¯ždþB5…¯b¤”HrÐÕhñ®æ‹Øõ–~¾²6Fm,A"ÒNWüP£î&éæÃíµ÷ &DåÈW2¤ÞκõU¢;[Ø2Fk+›¶Í‡óm¼¨ß4E=½õÔ–È’—…¿ÇØÄµÈñú0¿ E"¸åTx÷oNò<áÁ-LÃÿ#)™þ¾{†“‘B0j¼¢GÞ³Bð•¿ TJ¸Sê̺è2¶ÃY8+ØØõëñpËáõ½MË´‚ñã«\@Ù˜¡Mbß¹Fú• ‘§*p»;aÐGWµ{ì’¡BiPpb_@½uÙeòdzð¡&T æÈªÿ‘¿¬«*zåäÛvW5.,ꙤÉ~¤TU·çCæú\ëÕä§F’í»ÀúæFTŠK©¨‹½§b ãÃÃÕIh¸Âd¶i>ø¢²Æ Rñu7ãWXƳ˜åš¥þcAI=:Ÿ[(: ’À={›aÕ TïÈØÚUÁ÷¹%èSÙùÆ9]Ï·Å¢kÇËf¿h_A²¼6 £ÞbH€('(„gc¹Í£¡y#G†¸r˜qk­¨YǾn!»\Æ„›©7\ÖOtzo‘‰dÓìA ÏU¬DŸLîû£m—IÐË:•¡|{UçRKX‘?­lECJ#Q˜iª ”ñFGòG•Ö“]f4•%žþIr AüÕŽÛÝomzoµ‰Æd%#.q–¢høÆf .92AŠÐÏtBJÝr9EÞË;ëZ¢ôìýF©ȵÕ¢¨¬%êéLðLŸ•ž½e!ÛïÅ?¬vßÞrÕùnhW‘ <ó§´nVz‰3VwHqQ1-!¸ðÓMÆ:§®,¨È0¾¥»o…ááÐ íÕi>‰Â4GµÐÀ1šLšB’ó©cyt”ð¨9é Áé'½~cE¼èÂp‹±*Ý‘-—»°mÿònÖ¦ÖŠA¸|a/C ‹Diþk°›ëpÔ*Ø4s‡L'#-Z‘†³z¸ìÎŒì¹<ÙÓ7“ÓUž™¯~?½Ÿ=ŠÝqtac¸á‰ƒïE¦¤Á«‘¬GÓOÔ{ òaL¤„Ü8P¸Dï3þmi›TÕÓCoÀƒy_˜û Зï_:ðþäc µ  ŒaÛýŒªs$ò vîSLG%ç§ÔœÖ+¬'U—Î+î™ÜB“Ì/ò—<+à6Ä£½\»ùzÐȹ ¼> ·[&·yêé°»¬¿“ ú°Ø0niùðô1Í¥þ>­;Ú‘Åû×ùÔø%æ=ž}~™Z›ÅC¸÷-»Ö‰L²™s¡*Ê™ªØß”q` — ˆ³b§¶•µDàÒûÚ.Ãÿ¿eªhšÜ÷ËÔ&,|ðpiC{ªàÍÛ@2- ¯ÈTp‡uʬúႚRèŽ1€y-‘ª¾6%e€èTŠèÝi(óc*oQã‚io¤·~ºã’ó~G÷‚âŒhÞS 8rVXPh(ïÖ'’}+‚Ç«5¦¹ŠZAŠÜ°Æ¯T`¡Ðà…< Óm’ Ñ“Š¤hìÆN“ŠY†°¨ï¹òû|ßT ¨é0Qد"¹5éxøïù—êÿ·â󦋉æcQ£ÐUìø¥ÝÒþ¦6é£s¸*PŸœä’½VHææøJð5=l  9¦ôʽ‰¿D/cU…: „^€f8Âóc„ÀÝÏÆ±²Õµfn®PB‹R2Åùÿ¶Uß¶'"/Ía"(ô¢׋Q@ìX|„s°ü ð!׊…Nnß,€@]HUˆ3ñ­èIú%²>)aeypþ¿¿ËˋŠ-öì7666‚úœ\t=¶·ý·¶Jâ[bsf2Jãà5ÕÜáѸر/³ ®<ª2üJX,r—âÆaj´#Ï}j&c†¡ómÛÃ_3Ìdˆ–@J©kOJŠ2ŒSì~¾×Žè«ÊÀ·WÀ£dOxµ@ÕÝÂû³=%&ïRæÐhÜI!k€¶Õ|ù?j[ì+G¬þuGX§^Þÿê ð§•QÕS±(°v=Âw˜}òdõñÄ>SDq~*³®Š”¼grÂ_™5Z=åãҺݡ±€ö>Žþ·;B seYî©`tV›ËÓ!š+C0oêFäM ^c.ìcRG´D/¶s›÷6öšå&=9m1æµ§Öf6˜7£" h[ŒD$¨¼5Ó 0’··qŒ¡E¿!}Dÿn¤qè£N3[çu°çèé{N™e›éŽ+fƒ{¤›Ê={Úóˆ—vB#€A=âSnCñÕWÁÂNÿÒ‹ê4ê»mbŒlÖvc{pf‘Fì˜0LŸG‹ÜZ có·äìÖ³(­¸LߟjÉáÒj#(-œ,Šð4楴Üý>Ø:™ýî,9"W"w~¡{³ûb`÷ —@ ý?xs —&ž“›ßºâefó Ùcw6œöŠ o¯aiÓ7XzU„Ú<²9‚üŽ .ù;ÒÄ7Í¢lTc,¬ErÏ^ë–;ÿQ»¿×®ÂX–Z[õl Àw‚Ÿ^sÞ‹Tã,"ôÙÊ(ÌVŠ‘¼±YÈÂÈÒ-yBL¶5¨_r C7=ÚY¤ïí}Oúµc?´H(ú üÊq ;vðH®<Æ”Ò(;êÈê’ô¬Tèø>}æGÖ”´N9n&V%K°#f’’”áˆXx"ªV°Q'»Û”|ÃM ˆöý ˜ÆÄ-í•¡ ᥫϑAªÐøàL©ñˆ*(ï Æ¦èC"„¾##ÆòÔU¡u[/ºJ žÄçœ[^4a,îH[¡j³Ãµ>ä_ïøg¯œµmLœ1u|Ä£ö,,UTPÖk­¦Ô³—\‹ ?\jl«ºŽœodQ“:u[Ͼ˜L ^ëž&þåëõè*N@3wˆ\⿃”‰§¢c‹"¶ù(=2ž#á99»ÄåM‹¥lŒí¦›: ©e:Z ,ÊÒÈ­B5ôÃj&g$k¿bg%(\=žáÖž© ‚œ' +:éBi¡)F"ø_Ýâ(xa0oè³é5¼’ “in|ò©[Â*‘ìdHË 0Êœ®LÄT“é%þg3Û‹€tN„ËÄç@Z8SlÓ÷&Ân{Ä ¼“õPü”]¢>2@³žO8À€ÒûH{yH¼Ó dUc×·ô‘«ݰK L@†ní&^Š(Ù]™[VÆnc,=Úù6²%kF/âq‘Ëj õœ£mWÀaHª¤Ì§%©vö þ"ĺ\xSÑa)˜`n¹B;Ëóú]Í®D,e¤ C¼h šƒË· cÜ“Aqæ8Ò~ˆé1FîÙ\@üëê½³ÒP„À‘DíG þvûåÞûè K7Çæ n¢Ý˜ã‚ zdŽ‚Ëª/s½)¥ª“Ú¬zý{ô··5É@9í=eÞà§~ÔÝÁ—Ö ¤ÒyÕúÅ(IaO»O_:–#º˜tc„[`öXàÃZbºlË­4µò`4ç†ÿ;Y0ì~òtr$‹›¾ß¯ ÔÔ«iåLë¬ë7ÝXÙóÍ^oTZ™ey´Ä>b­ë,äyŒÊ9ÑIëPîÃyz<¹,ga(‰G£ƒðÒž-N ›¿ßá¾·d½à•‚‚Û/¤$™{ÚF·$äž©sþŽO$o½ñ{RfÀü¥j˜ZÜø°¬,1—'7s¾Šö¤!ʳ”sÑd·DUÄ)—‹=ðBàø??œ=ý江¦3°~õtðM¡-Ò0!<3½›Jö®y¸tTœþ73_žB¦ÛæÅ(Âw6DQ>Ý¿@X.µD=„±Iƒc+27ù`ÝŽ€ì0òd´–ûÐò¥1ö©r¢Ûœ£éÜ_A–örô0ÑÌ—þKžB ØnŒú8-Šã©Šm½Qo=1ªÄ™ „p –86šr< q¦…س2~+ŽIhlªúj£¤¹èóÔ$ªÛ,à¹à(õª5ôxh{&aÙI68©²·¹×"ø.~©ñ‘ÆüÅcPAu`~ËZùIªGú ÂÖªw/É1Ì€býÁÇs¶'?"truDxàÖr›Ú\OÒëòdîÕ·Q¿€ÜreT[u{[ñˆîŸlç§$3†™‰ AÁ»õªôÝ÷}¤<…úïgq°%,_.Û¿¹É ´L™õXh“ šÀýþ;(_\§ºÎÉ·XoRn¸W/[õΈhë Ä_n*Û$r奢G3-CÍH èd­ù)ñ|É\*´®KÌæU1~ØÎ-_ø´à:Üe}C.Ô~Öþ Ö™Àžùø&±›W(|*ûµjÕ’Øâ­®‚MÌÚÝg³H/´9OWkÝ“1z„ŽDT¢£w¸_è†G+#¨tÁ<|y3ƒ-ž“†€U¹lÒØ×G µpî&S¨¼¦Ú„q Qzõ$Žw`úâY½-ÁîÅÒß½ÍKæYöâˆó –Ž3è=âÈ•Gõ)¾´d¡4ã½BÇ—ØBEÿ×3á¡£pˆþˆ+¾ždS ¼ñù>ŒMNxt¿TO¾_fW&]eç!úU %ƘçMý$¸S+Ò)!ˆk2±ÐÓBסڶ3ývÄ»h8Þ¥¯´ ¬®ä' ΂ª(zUиPá~ÇNS¬Ô±åLÆŸŠÝ®@§^iÓŠï=wÜÂ*æBD…‰‚SGn–-Èn;Ö%ÃÎÿuBžÚaɃìS¡ì>»ÒÛê›WHNeÈô§AÅÍ(Þåq«ŠDXÎVKkL*˜è†û%Øü˜£Œ>Ø#9I,Í×Î%ËLBÓ™ÿmb ú›É ËYP‡’µ8Pç¿zgk2)ãM3×ËUŽõ‚¥ÈºäcUö" ðq$n·éÀÇ—1ÙWk\&©nð” Iâ2êïªäHùï1« RîcdÂdBÝ;Žá¾:YRU°ÐÇS‘­sv´¤ûiA„!\tùõJ:㸲ìX€0±q•Á«ƒ‡0cXà¾LT¿¬ûÁÌš-{qVû­å­¥ÿ{ûáU|æ(ºMW¶þ,^‚ê•EÇ¢=ýbNPooŒñ”ãlXüÿ>zMÀ³šA_óŸ–8pЦä?1Ð y¼Œ7‘å@gM,(»síØ€º´îòhÄ¥ßÿùÏ”«v×r”Ëì¾y‡áúRÇô §Ó)ø½²À–qjZòDDOuEEå›ï%Ä|J˜Ä¬ñÝ=Ö,œÊ>Ä’V|«ˆ*,j$BÇäVð®ô…`hüÈÏ#°—µUaø‘‰9¥,ѺÛpGºøÈ2õna…,Bj­ÚÍ÷dé(ņLÝžº¾ áu©¹~SÆeªÔ!šœcç8xô¥ÀQæS©•Ÿ±Ði*8Î]JÞ’€íŠ~ä)fNÝsäL¸:-“4æh.»#ð³ȰëP6Sª¸w»3ÒÕ.'Š¡Ö*½}7[ŠZæx}‡2¾ô§‹Šg~ Lø*E½év‰;fc°Ô5àa7ÄB9¹V—ÅXœ[{s¶A²÷Ëõ„QßÛÎdMCãK7~ˆÎƒõiOÕÏN¡ßž®F†Cv ÷RÙ_MûüpfÝô=&lédó”Þ LGó»?(‹Ç{Ô"èLœ_WRèð.(±©\ côc?K¯É`0ìù¿ ×Xü¸l²¦7|-Ò‹"s‘ûÔH¬Ï·VQ‹àá>Lé¦Ôb³3mó#þ{ òö%†üÀÀà‹}nùu¬.¾'‘c29ý %¤ãep¶ú‡uªãðÀ~.œ¸µË8­?×ÄêúL–±ÄÎÖ'®Q‘ÁC³£õ/ÊJ^árfȆž3³V Š’Ö0ëþ§É•=@XÇ‘PHv0*Î2ÚýR|ÖwÏÚ*ÇBy¿–Yg¶´ÆGÍD{-7û>ªò cÆHæ°¿‹7­ sz ©Y€u´š¢$“#UMY‹ Õ—“Ë Fa<U2gR~1;MÚBÌ7*‘nï8´r™†ºO“´ïVÇB•!QRø™ð|׬;Ã}.îYÔlן#;06F.AÄ%ãGM,pî û¼ÄV5ƒ­.ôRN¼yQS(¬í›¬†ÙlŸ‹CDå]#í’fŠÆu"Ï-H0Èv²„3íVΓ9½¢Æ­Æ/%Z³ î±ü]ÝøÕ·R7§ù‡ríj;c×6XÈ–¥$Öô¦ùzä?Ä?F…uLª²¼–÷^ÒPCßþ½¬‚ÛYÛ*Ýt?22jÇ_XÌJÇ6NªÍPIÂ×fæ ‰^|ï)W<ËQÚÌ-°^f᩸b2gסPžÀ{:í4â³,ì«ò¨ú"(ìÔo1i–X-z"/³ï|‰ÞHfx^y 9\†R^ÇV9Чx¹¡«Ng'€5K<`Öœ#ôSlÝÑw°‡ôüÈçÍχˬtXŽÝ¨– pK¼‰?‹À$2F?Äû°AçäPta~ö‡#çàƒ+W1Ñœq§[ó§_€>^Î bïc3F8­änñîN‘0#ýMö^ŸÚ-ÂàÚ›Ÿ ø•ˆcá®Y+‹S=˜ñš (ŠX;ã_o›˜ôi®~r»Ù[í4w©t(^yï'zøƒß–»Ž=EÚ²¯‹Úv9ùÒò/Ñ–+¹÷½ö/LÇ¢:¤CÔž1/€ïI,ï.Ç) ãü¸t«$}à (MRPX‹ñ72¤;I*è)9ÿ¬Í:}ÎÉ÷מ= y'·µÅ|ð9R*äø´ÌpÀ£ô#v)’¥h-T@C¹3oE/ãã]PÓè(!]]ZP‚õÙ΃yÄ£žò¦o³„¢²¾q¦"7zÏQÎzpu™)'ñ@ƯšÆ *ÌF†ÊgdÑöüÿ¿è¨:hjn†¡#­ý:çÅÞÛJÁØâ>>Sr^'Øö!ð>1+ õ¨¡YIFx jŽñÖŒ€¨5ºóŸ×GÇËBw°H`µ|õ¶ÅA¹4C €¬U$}áÕŸk%þ¾+b¢ìÙ¬~Dæ¿ æ´æ}`!Ub¥_øœa³ýÖQê €b¦w vXÍ*öUàcb³±cùJ Jy¬Ð†T˜6.}ßíÈ+-g}=ÓéØ/Jû¡6,Pø ×NiÙˆ¿5"ogUžw¡2Ñ[Wqha)¹¸¥ü‹®àÍÌ:@í@qºiËHýöȥë†R#ì7X¯‹¶*F7ÁtSÖ±ë<Ïs¿¶i×JöA1äIjjñC»Ë^\e(m(@<Ys×$BŸÓý2Ö£ï;‹µpj¯-Žpçr7càÐífµ¤&ì]J-©f Gȸ¢ü×—«¡óœTÞ;3’@ÀÛºYð縼Ñ|YXèÇw§Ozï-¹Üˆ{¥—P6';ûB„%o›—Þô©¬±}TQ‘!Âï5ÚFÓÂ-Š·§0î” OæÃwò$â®›Q‡ôÕR>€aƈüþW‹æ³GŸZ"+9/3•ÄïomDDè,ÄßX@R¤ÜÊÎÛñ‰½Ã›Xn38 ¸\ûI§bÌ¿þD~ _jõÔçC¸M˜"*îÆ*‡Ê8Á^(’WÕÐdÛ‘PJÙ@­5G‡»Ý)×_ <Ÿ5ƒlç½PK }%'²Jïe#ÒòbûV Lh›«ñy§ª¤}ˆ†¨IÞÍIÆ[JÊð6¹á%ôó³°¤~¡—U)/š »Xâ¥D»_¥løƒ6 ¶dÑXóµã~“ƒ«š1­7e…í‘dË«5âg4hçÖé;1øM½éóí!Ô•Çöb ) iÁÇí;¹p t7ëê/¢z&À›Ðzåìe°b^ ù‚6‡—’"d¦Ô¯†™'MtÓì“ãèÝÅ ôPwckd·7{«Û¶.ñ–ÿµÙ+ºç ïÖU ]š7±éØ¢ïa³|yÇ¿Œ·ç¶"ÃÀžYŒéÁ¥€±z̈FdAüI‚Šíybø*æ»TU"…ušèO ©œá$„p »v’ÓÎ[šÂ. S«–l aî¹e  †RÖ»“E2«j2˜€åIÃÈqÿ™©Ë«oRtï‰w–w;5ç æxê3ƒ²¥a°Â¨9N-â¨m½–š‰o¾ä)ò}y¼8òt˜ w™xJò*ÿB#ÔY±So$Á@Ëô1ïúa:×JÌê>,»öÏõëcvÔ\Ðæs³Ê^x2ÙãX%5@f%›cÑÔà hÞªŸ¨”b€÷KõM\á8á>¦‘òÇ;s÷6´‹~r Üb´§=³oÞ3r ô‡¬¼lD:5üR„¿œ•8IùM‘·‘S;~‰+Ó1>s.Z l_ úð{‰T(6…Í6Ôüa ¼-]„Ê£š¢>PŽˆ× Vº¯M#²[;àeßó¡ÒÃ÷-Gbf™¿Œ< ýÍ% … ‘Y^XƒU€gèò"¼ …šœz²Ç¹,#í=àÜß`½Èl ©g¿ÔŠ ˜¥>’.‹Ç3¥Øèݱ;É-Uð$^Ž“xè±ö:-ÄH2õ[ò @äè d¥ìK z t1‰MzMÆŽ¿mzäQn”¡I4w£,ø¸¦ ïêžßÌ ´Ž­ä¢¬^{y53Vùó1#ñ𾎎%¡Ñ.Õ>¿aD~úUïX?领éDb›‘ Ä2z»Y|#ÞÁ!ÍQ* ´i?š„Ç]Û§Ñ»ªÀÁ€Ø*Æ%ñð2'Ú6ø÷%åûì¼=\Ãx‚ö5'šïã&–Hù?D—q5 ¾ë/ÿ-7Zçøš©õ·å÷¢œ*ðâ~вDƒ<žÿÞ鿚Ո]."j¯gz8 Æx}(ÑçER“¤R€›;e&?¯ kèÊ$ƽ¯¯¹ O5: Šu õê®X?(ëT¬V¸»§ªãÌUqGÁ>;’ߪ(ûùðV«’,Û‹Aâç®â®]FM]‚â£X[š#ŠQðúŸÑfó//ÇOhHr,e6r{?J¶bÇSœ‘¹2ÃÎŒŒKsÏ9 3>ñC±\UáÈ¿²>×&óÐ%aš™aúecž$NïüÔ’#›w²UŒº´%k^FÂ@½èzY?O¬¼ö›¨ß‹O½9õÿk”wTÀ<Ú“„4ɽMé²øý5>è†éÀ¼†èN ‰ÝÔ‰†ôGî‡'X´ÃYgß·h\!ãÉcñª¼[‚`L¿L<)WuR `H³ªxBt6ÔêVAT”*ô §^ëѳ”E&Ö.޵í(á„ÑØ¤^hy¼y4óV(°·IÉi é;®I}—}o$nö“5 êEz$ÝE¤“í®‡P åd´Cw$üì»[‰ýèf§©:µK$€'‹òÑœÔPªän £F⌠ÝÖÜ"}³aþä˜@føYEÀ‘¦ù×¶Üó,Ñ‘Ï%wL…yHÞôÐeÙ—ø&a(® Ñxè m£;ú?|/nMód€q4ß&m‚õ5p¶éNý7°iH6®µ.•—òÄÁa€Z—Ávu´w‰!ßîÜB/¥@H aýì<­l©³× Ø 5¥¨?Ñ€µèuñ–R“ÍE¾*|7ÃNÎéð¹}2jÜH|þˆ$Œ[›v$òÃÿ,ïþaDŒî˳!ðÚl±{Ä­nK ´î„Zþ?<íiBKô¿)ÝXêž%´4(âÛíI¤ÈLé[ðÉî°Ï@T¹‰aô âV.³ËÖš‡|2Êç°¦o ]?SëîGÀ@ôÿ·v(ŽøøM:§£IqA‡FM6Ül­Â+…/毥uؘl÷.Ô<ûàŒÁ¼80uh[º]6ÑZ6Œ®Ã$ûS4¸_lÛ³~ÔëVÒµ’X÷4=‘"µL!@Îh /cDlËó¬k”ª2Ðíë7·ªþÊ]æi%)_„2E2ðh½CYæ˜ÛZyÈq‰[†UýCkH1XrO1|Ǻðóq0}‹ðD¸šÃK*>5ã°Q.4#ñ9ó¸Ê|¾–`2rÒ]û:w0'(!÷ 2ðm‹Dˆp޼‘Ú³z¡Ä.ÃGä#ƒïêI KìWŸC>;#ü,jfý üIZ$ë&ë§Žuû §¡Ê}®ßõçÁq®]0x)U,BŒÉ.k—5l«»×²¨d)~ä(tøÅü%ع~ë’ì}ñõ°\FÅE¶œà÷ÓÒ€M,fA ébêñ-áfYÍâÓx¹Æå*ð¾Ë)•C|é‹>ªÓx¤ëŠt¯$AAÔ¶ˆÂ×PR‘ú^¹h–ÅHAFõw§ÔáóÊÆCm÷ÓÏå«Ñ„ ªÌȈ®sîü!ž‹s{£Ïò”L•fŸœÂœ¡·€}\OƒÅ«M qß ‰7vYrh¸a6ì¦|Žßzéèl01_ 2ºoÏw³…!ÆgÔ6kk‡±¿E”k“ìBÀT=SO‚´{¢žLÁ^M”ËŸÓÑ™âT/ë †Æ(ÖÇ‘›8Rƒ ϲKóaÿÑͬʪ€KqÜ„˜&Õ¦ú‘jøÈÅHSøu­9¬ð?䔲íθô ó‘(~*wUvòŒXãg…žNK†o¯ìN5ßRÇRßÊÛ—6ˆŠf“Uà0ÑZ4Û6ä¿õOüˆ¤…«¤ëÈOïóF*Á KŸõ]ôJÞ#ÞÂÐ\°¡ÝúU8‹›§†ªU&õ³Ÿñ˜þx~Jrõ“KÊš˜s±ç­!Ëþ3¾ÁT\—M• ˆ¸Rá$ì@£èÖ,_÷Oa#?‰E^a\ì8Ñ&„è)pGÀµF &k÷¿6iK9o+×® ¼¸ôÑPãªP³šºr?Ô¨b…–÷R  Ý©dΈ¼“úøë(9[è  ‚—yXÈX|y‡Xí4脹ƒŠØÓw²9ži$ìo›æía¶IÀÉQó¤mnÇbèð“±÷ÆÙÕëøêCwÇnxµ’;£%G@–. ®}xsõ‡FT‘Ùˆd*ÄšÜMÚ‡ÜS¿ãpDÎe~ù uÍèö…ÜKý‡3&æú(iIì…_Š oÓ+u$7’îÙQˆÀ1h@‘µhÅ'6U?t>¥”@‚orÒE_ºx¡Ë•7","Í¡ÍBKç”iQþäêN´yàç…¹¢ñÏÀŠÂøÄÙi…” >¨kØ®YË0©æ:;F¬8BCù=·:²ƒ"$WƒUç5 =zî”^ Àô"cKHºöb@ÈT™^Z»C0;h€N|B'dÖU½<¹Þ>l8ݬ2â5ºíÔîœþ˜›×Ds% Nv¶0Üã¤ZpmT¦T+¼&Å(£sÒçæËÂæ&ÛXcÈO›t5°.çŽtïlùo’åÈp?‰‹Æ×xñòÜûŒX A]Ê .ÅvÕYŸÍ­ oö»üeÕü˜ÛÚáª~„c/׺ 1À¸ì䀻c¸ÂÕS*BÕ$Õ=¢ØA7-I[» |)3T,X4io؈‡ Ý êøly_€‘·A@piESÝÉ%ö•E$ç{÷/ö ¢á \Ñ)껃‡3, âY£]W͇ÆÂhìÀç‘¿8§¬£Üýºþ¯ó°avƒ—–P,ˆà=[Šò^ƒ}m÷†ÖËB4w«Å.B;âAçÊ]æpe94fØ¿“Êô§¼èµ•éÜFbËïLÏVHNž¬µ]nP‹NSUž(Ä&—Š¥â,ïn¼ó–sZB—µ/ê) ¹2 Ìæ3ñ5·v¨øxyýÖîCí{ŸP¾ æ2ñvp ‘raŽº‹ì±CG²’]ɨ@'ÏCжéÂÚ› G*ûAó(š¥\¿~lªÝß!§Ð5ï{ré˜@¬€UÚÒ³úqëÑZ¾L/,´œÄnêŽÒj)6žÌªl‰&¶y…Û¬ÇÜv»Æ` Cnâ##šÔ™ŠDI¡}ž^]Ùˆ¾é¢9ÈÎ tl|2 JÆ;£ ‡Wç.²Þ …š,ž§¢•Š!Å÷æ”D?ÜkvB‚v6û¸ÕáÂÙÚÆeÜ>k¬xÓÍnYtç狇ºp_Xš ÞrÂ6sÞÅ©ñ+¶vùï襃‘sWØÔœi›Š9®*³d8¸®[j?ĈêUŠ\ÉsØØ¸-MÜœÅJœÏlSzÌ*1£Y:© ùc ˆÓUßø#ÛZÍ׿»ƒŸ´ãߦcʤâTBa]Hþqb¢{£4Iu蜲▶é7‰F k~0ÕÊ:!|Ös—õÄz @k¼ ·çÆè~“îfd«”Ì Äz­x•l…Ù™‚ttz†Ø#G5˜ÌtgCÍj«ÝÉ1²0Q…jBŠ­]Ãf„ì-=ËXf±ñróäkË)AMáN¤cÍÛ èãQ¬”x/<ïcd)Sd‰ýŸáÍ?íWo¤¼‡®…K.0+ɰï´eïùúi/ƒ ×í=rî ÎÍ2È8S£x7$)0‘ÙâµîÌr·ð÷1†3–ßœ›4MI‚?¼Ô1a_ìoÇýªGÓ‡é¢P¸7ý‘ĸÛ~Óï2ljï­'ºO@£ƒOZ ±É:¢•˜põçh·:"—U›7êÞoñއ7p‚A¹PÒKbYz®þPœôÊçn‡i)YÐu¤ÑôIw0B ±'YèÌÒ AoR/êIV. ¨Á  "AØ,WU ½í üž­œÜö§Ãú¸g(“AÞ`iÁÍoVôhØt¾ä÷ö{X+=÷Qû›GäóÉõ@ó“«k'½yÅQÌ× 2 gÀÍÊtî á^YÊÍC3ÎCNOyàá6¥]Ïä1Ð+Y™¨Ó²”º,ܧ>b_I èúöŒÔlt=ž/Ì®2ŠrÙ¯t<‹~Î<ÅKT&8«¸@ÿ?§Ë°»ÇŒé6ßGÇ9²E¬Ùò:E§ê»:~¸^ u&RO3ÿà“Í_Ÿí1(Å'#KsŘ:hÇV(Ûª±OlŠQñÏ4˜BºQ’Sþ _ÓUk±·¸ÐÄÈÉcÓÄ!+AÀŸ6¦ë³¥DGÙ5LƒÝ2·Ãíªé¾w¤SÑûX>àˆyIŒ³‡:¼SÒÞ¥X/j±µÑ‰\à aN^âp#<·œ|È ›HÁ.ÆYÔy?ñK!, vì(m€íÝfé p­¥ l•.A\û]ôTUí#È…ÜÇéQÂ>J#VžV+á±/Í \æ tãO {<ø©;}" Nru+z@o%n IAÕô(D~¾ºÊ ôö“æÑºÃVw†Ïµ÷“á2°2Ç›ûõÚ]DÀi“LÒõ… ·F?µyÑ øNdñ–ÓD5q¨{¤Kš‰ Qþ&”=½\‰ðÕPL«RÂâ˜XH®o¦õZ í©1¶Š!Š_ÜÙeT§ 4ÿÌk×V‰žX*_ZïâsH‘‘ôºæ”T¡– >i#ÛL3Ë ÃÝô`öÖgÏ a$"¥\ƱuY€Y¦SƹáMÉ0ÊRqú©JÔØs@9’‰t…§07x½bd³xé±Ûv–ÎÖ?ôYì%y/NWî'1ty x³lšË‡hu¶n6`ìÚm}]“"Ÿµ*ÿƒÃöìɘY=}¸ ¸Š)@#rsÄÊ—ŽŸ/ÓP2Zê;M){Ì3¢àΓ„˜¤ë¤ÚKÎÀ.ßË^½_Õï§ú²GíÊŸáŸw‰N·«õnщD7úÎL•ŽV¾ã<Ðó*åÑõ–_ÚÚUTXô­•'ìÎs±ùI.WÏ(?Gj¤Já$—N’ZN¤7ZKîJõµt„ÕCࣉÿŒ‹ÎçBÝò-v˜ÀlÇ'X$ø¸ ªv‘Õã‘;ㆹ³>6™µË BÒ}nYW  ÜU6ÎÜ(î®TC$ÍÚ_\GwPþΉ¿4 "ýO'¹›‰nÅ¥ÿ±5àôcÎú‰.ž) Þ¨Sd"¥½ƒ‰Ø™nkáÁ¸†àš|ž¹tÞ‚•«Â~'iÁñ±ÜRà”ÎÛfy0Ð'f¼3 áoøû.è¨ÑïH¯1Þ¸„ÂçÚt)ø6@Y´eEBB‚ÛÆó—x "°íñA÷Â<=Õ±ÜÛz"›ø"Û]îÿd*«OÇ){ø‹'Hœ¿—Q=ˆæ÷"Tzg r¨’ !Î ó±Õ‹jÓtçp'‡Ÿ ¯á6É14²L©NVTì”:¶˜"kúÑ?´Ê ¿)L(q¤Qâaè1ê~Áõ%µNÍB§KÖ}ŠoåP›¾)¬;Ñ$“t´šiô!lmfŸV~ÙV§ìN™½©¼á¹šÕÙ6dº/Ÿ .N00‹ShÎaPëž ÚŒo/ß7‚þ]—ÒÈ-©á7O·±íBJ z£J%A4®ú ªB’}€Ï5°îU`hm©mÐR‚E¬‰S€ì·ó;?³e/~¢Æ´[k)²hn:ý•,^²“yéÄeî;é@+ †þÎÃ}ðýÒ³¡ê&1}Äÿ{i Øu8ŽÞqÙáÓÐ… 7…Ú> †™y4ñ}œÌ¨ÊÝ'¶›EtMö"fÆ; ™úŠÇƒúû…•Hñ̯ÄâÜß´Žö›º '%ÒS 1ûG>EÓ®íÈàUì!ʪˆ¬îƒâj=- ä|%¬ªÉ‡9O=oLïñ1¯êȃ,´ôIR²ðr}7<×1ÑÈlïΑ.ey}À~Uk¶'S4ƒ› od‹«„÷°¾7åñ ûcxx† ¹ ±ê…Õÿ@ ¤ÄÞý èŸHì»"FÓ´9¬R"¾rë´GY¯îT“Àdù’eèBÛ!}æ 8ÒµåÄë‘Ü>O‘ûÅg#=Çñ=1Lq5¥qÔò£àq? @Ö<ŒD¶g¡·KzápBñI«€J¥UqKñøŸñ«k×;õ ’fûÑÀÆÍI,Sê„ÈwT!0€¿ƒM©~U€›èvX0ïÔ^ä^‚2žÒ·6fq%¹ ¹BT½1*8ЄgÍã+–JU0¤øÙ¯ñº w×ooËÕ‚™8GÏô%ŠKÓ1 ù—ýãÅçí³³Lý‹{IV¨?ô¢iŸ¯“…¿`ºƒÎE©ýSÂAL|ýâ†ê`Ï'Å*¬oõ•qøÉInŠ‚ãJgâ9o0Ù{4]@«ý‘PD5À2TdŸÑó¯h ÿy¾#ã4ÿ¤Yó §ŽR 7bçÞþû &½…ÒKoœŸå˜µÓF%OŸÌ;­Y}ÀàãÇ–È:pšo8<»@}l ²l~G-ÍÀœÖ"§•îôOîÒd ¨4ìì©°‘*ÛU‘ÀG„]O"Y&¢žžs0Œ/°²§ˆÖäíš bŽ \¹²ÄÕV%Fœ•rÇà2ßÈÿGá”gÉ9Ñc©Ô1•ÏÜŽí+‡ãÖ]ÆcÙEup )€ëÝ­Pª’ÇÉ]x$6ëp%ÎF+]‰<}‰ýˆé@üoÞGظÝ,1“$‹åô‘9ÛÜd™±rgÓÃ)1s¬8GaUÁIe$ÔSôNzÕåâŸ@»*Û‹¢‚‰ã[ËèµP4¶fØ^俞M¹c?q‚*=’„Gih5}U5=ÓÝ!Fä®*H«z1Ɔu:¡¥àîª>Ì×|¹Èñ€*˜ÕÁ±EÇ7:¤¡Hµ¸Vvvu ‘}iåM\ñÜAÏݵF\L¥¯ƒÆa[Ã+š½È(]7л/K—“RœÞYËQFq @b»/‚4?2­ßÃeâMPVuMëK­g5*Üg/Ú0>ù ÃßQµ>ÕÚP¸J宨x²‘÷µNwÔ*Só×ÎÂ-²‚»ƒH#€Ô;òz./N:³€P¢.ùNNážvKŠˆ‘ºf2–e•ýÒ‡Ây€ðÉïŒGLßL{U¨\Æ(_ÞIÍø”4sìz-Ú3Gó]7½¤RÊÆ½ñ²n×VøOçö.•À^ŽL&Ýò¯þÝ _Ø:Ó¸F/³•«Ã÷Ö\|»ø O¬ žôvP¾˜ʘ£À¯ÙÀÖüo"x}Òq7þâBÖrvÐ)D# SñH…`÷lö@›Nï³û×ýôÛ+Jr¢ã»c'Èw‚AÜë· p±äÅæS”Ó<•Ù1†œ‘˜ðŒÍý\Y¯›§%ZDðÌ¿ªÃÉ–îCñ|×CC³Z…?PЉÑçè[Qþ4Їe]û*'ƒ6Q‹Ðy/ê…á‰;t¡ä1ûYÐÝTß%T›VýihJ€YhƒÂ>Xàj/R8 4J¶lƒâ[â‡ûá·­Æ©|Êß' <"ÿ™Ã\U¹€Y 9ótÊɵñ¦çu¦]ï¦èn•˜F#Äuo‘p]ë”±¹}Ùã†5Ѝœ@^¾yˆãì€íîï^››¾±ô»–eǾ¼¥¥øæH‘P±ÕYGõ+sZSM+m® G.Ùþ¤ŽÖ[BÙ)¢ÇùÝ»6fŠ€ UKa”Û—ÙVP\f|nô߬ðŸP°Â7zŒÛ)A`E[’ ®–ñïÆ€q‘wÒÚ_ŒQmq€íñ9Ñ&³ú²ÿ4FzftÏ~]l^©#<@‘É£\4>ì㟠ºáþ°³×« üÿ\Ô Ÿ*,ÀÍeÑIaU5&áǰûMË婸—º6‘?¹¢VZë!~ ›ˆ/~àXzŸ àPXÝ3{·Wž$f­ÊóÕÓúêéfÖ¯`ñFH¹9š’·ãÓ¥‚>K4Tyo黆¶À"Ûy¦”v¡«õPݪœÆä™µÑQû¡ÚŒÁØ7¥uüù9…dœ îëÂ~ìÛ#(Ç® iCkºÒ‘† š\€ýÉ9 ÷+ µÖH­êŽ mÒ¢hªnœÊ0yöyÛp¬<îa+"0N¶wÌSW_ à*Ý«zò‚¾Xã裆4~…AÓ&¤Cñrâe£Ä¤vê¶Ó¶ð÷Haç~ókÊ D!œ­·C¹÷Ï¿ZS¢aÝiÜÊïaÂyo»MJ÷:xw™G3®µ.Zx¸Ð0‰¥8‹ÈêE›Ur¾ÊùÁTîÉG‡v|RpPеީ=úØe´hø®½+TfÝI–4œ,:òŠ­•7NðõóÞ"ëù ½ï‘mã…’ÜmÅôôÑ¢ª,“š³¢9Ë©&“ F—*›Iàô–õ¡+iVWÈ~&,ÙMîÑ44ab¶ºü¶Ó›<m‹ðkºÅ¬?ä<­ã›‡uÈЇ¼zÄÕIìžQtEhé@:êk¡bþßGú¡L¹÷^M ÿÑ»}Äçqf&b/ºÞÔ*j¬Q¨ã¢Ô½µƒ¨xÖ@ap±ªf7»eâBa£àVB_‚3-¢+þ($¸û“ìùÜd^T®ƒsùÔ%1‹ŸÐ$%g‹ò°‘èÒM˜ühfŒÓÄ9‘¹KgÏœUÃÈm|úw·T²žMÚc6cÔKDBe~yAHÛg”Ë) ݾZ›C¤¥;Ù¸b¬p] èÇ~I9ì¸k·®W¿ù'm:……)[›ÌPü—8Ù° /Ô¤u¸FæWÜ«î^½°Lãî91>Áßþ¯håÒI&9ŽÆqéXQLŸ^jvfz¨kù\ÁÍk,ÉE>‘iç~Ò3ÈÀl»Ssç¼øuý{šN™åÜŠÙÇÞ •üA¤ØÆкºLX敨€§ì¹ ÛL7&·ý !Í@ÌA1)„\UU‘ HXÛ}_ ´«7&ìÛp@‚=“÷•=ÇúçËMŠnB¿û‘DAX¹Fæfsô¶q¬Di‹Aâ%áÙóÂç 3|›~.­Äa¬w]·òDÊ 4ÃDwÒ§òú_‡'ñÌ òy|ª/¡{éï;SôX‡l¾ÀSnŽöÊJq´Ï’ÓÕú³¥mëôth»_ú~¤Á¡ Ð1 î§x£ýy0*ô3¢õ‹`’î2›jÇ1¶Zÿ0RíO áÓ]ƒ9…Áz3´ehà ¦|G¾åí¹3’dØñÏðû”ÄŠ\«JÑhbTc²G²-qx–b`'ó¼*¿˜jIˆùF}÷ø#Ⱥ¾› BuÃ÷¡ h_ZÔ ?õرâ¶ÅÀB˜T\ý™ÝwDzÛxá­d¡KSßzTÉòÚ=€@e0Ý‹ÉKx:gͤlô¾{¶„uDÎt •჊“½³-ÆqxÀ¡ï.ƒ”i¡Ó°`%ì6«4ÿd£f`S…Ž£¼’:®Hë,/S¶®toY:ÿ»´7Ê$§[œ…ZˆgºÑÃò) \2 ©­¿)!û¡ã*‚ü¥=^ú¦FÆŒÐ@Co˜ ¥„|‹d;Õ_ÙëԕЊÖï1 ÀÁ…—œCåyÍ>F'<} ™'Œsˤ5YÐÉwz;V¤3ÆÅcÖ]Òì”ÙÇ:M¶"h{ƒlЙ¿K¹Íd㮘ÃÎþÐ+ámKƒFöŒ7ö5Ïg¼­Q§âúê%ã[Ä#§½@0x¡5Ô`ú/þ‡¼ŠAz(øîûa0[ÀÃ_M_!ôøƒj.ª?›Ìå‚7ÂkTÒ ›#OrßÅA‹Ñ®Ia›-÷ˆh÷¸~ XJk¹‰–Ûä_âùÁv£‹æ×ö~º×sÀW"YÉOHÊ̪Ÿ<| ß9’jØìqøù©»Å™]¿³Á`æ*ãoŸ–-¶³ïÂ÷¦+8íɵ@CÔ!G°šA×äC@ÖËü–ÿ Rú‚úvµ>‰ `=—õ9ÇÙ±$项ƒÚÔä@EþßöšÛˆa ~òµ›6+|XîWL5¾ ‘]€¶#Ao)èÀs›ÆCðHoùÒáÉi Ö¸:Ö8h0£ê{ÓŠŒf3±¥ÜέVº™§W;…OâZOg0ób×I;R0ò­«?R½?ö¬‹œÎ± ÉIZõôVÿÆš‰þ¾»·èˆ!º_cRG°Þ r¸YþH–ŠnŒ¡~µ*óßÅÍQ†…¯:§×CåWYâ2J¾êçëijOJ <ÞVMŠ…€‰Ñ(çrMS/Òÿ õ4\W‰¦-¬M¬‚Å$v;j~òd»Õ¬ˆY9Ï,ÕŠ>Ýçû¬™Žt«PMâ•iئƒú¥¯ã!±$܈â#2Hgˆñþ/|°§²ÑÊ^Ï4÷]Ý;€åóx>.dG¬´L¼Ôb̯\¢€xfÏæ{:˜Élqc;+Å[í4¥‡÷ZƒÂ»¦£[ûV‰³-jìÿ>rJ|W&õ:T>LÄlÎÁÒ‚$ü´ZÚxE&ëÊ{J{ÉM|)ìqn’oÓ (Fö+*“ìð #¿ÀÉòŸ÷è|1\ÕΘÓ$P)¯Q)ϲ†C ˆ—ÛÍ”O…7ÝÝ_кZüIóqY! àÌD…CSÕþ»whõòýÖ` £ú_Œh>š‚à¼Óï±Óƒ E¨ÿ1HKj%¾k- k{\f$¨Q}þ5 Ô³vOˆ=[^ »‘ÐÛ¥ß&£²ÇŸ _…n̓ÛLw Œê@ÚÂ[·K‰•SzüÙºŸÃš JeO“á3\Å’Í>?ªÁ€d l µ^Åß‚,dÒ`šÇ¦fý¾†ÜyF¿ù ´ÕžŠÒ. „D1H 55R‚w²4LöGwö|WÑÓÀÙl<ß9hó$F§Àán‡ëX_KK? 6±Ð-UDÚ2;;þhƒáâŠRâP©TRzB2&Ko—‹haƒª_O/Bœí—Ðè(€Hì$f-<ÈB3Êð–aî·¯q—’¤‰†n¸;qN-šŸšþúï p¶ÇgÈLp‚ʇøOÏ'^ôž<ÀWyß×ß‘¶åó\OÂÃ쬸˜åã±—½ƒ,+ÀÆ4<)à ÁòB›µBä%ucHFvð%Á9¥D|jã`þÄ¥ŠÎZÆ€üOÌ«f¦º’h…kÖÁ^‹Xùˆz'o«Ñᇧ̮ƒTnx Wu) Õ·)§Ã.Û7Úíê,Ù¸“¤iµª¯>ñk…2ùú¦UÒ‚ æ×7bjßPÚÍçÈrñ‚¿þ¾4*à ÏÅdu2Ô5‰Ãªh¤ÕCdâ Ñä¿ \}Õ©˜1c±×-$ù ;&p°Ïä€#ü¢ oBA2éÕP å‘^¨/ —¾¡§|È>åçGþ±{­j`R⤤T7oømšÊÑ+)nq.]ø5¤­VWÇ%ù’N(ò<Îп¦¼­¤aÛ¡0ÞúæbŸ¹Wds1.Èf HáJ§{¦?Ó»­>ällåÈÝTÃ-:% 2b÷úh÷> Xm‹bAöËÖÀ‰úWY;›=f´&’®| iUö”p+ƒP.>: MÿxZ€J€€×Å}"ôÛäL !Ž%,e ûD¬8Àä‰-ôª¢ŒS๼ D€¸ UAN ÒZ…Z`­ÈÔ¤cyøcÛ-ºÃê»—ˆeÃw¥Yg°²„[Ý÷pÞìxÛ_Á®{†¸b`AsáŽ;ýôÒém€ÿºbÙ”y»×,ƒ­€ä/Ñ®˜¥'§SêÒ¯ÕØ´›‹U ñ>™M EsüÐ¥ˆjÛ<²é±¥Cú]uÐÛܶ™¯+ƒ$¾Ï>küðÌ ·u_¼Ýlæ‹î9 bÜõrÀïbùUþÓÀ#ï}>‘’’ö|ã 4Ús¤ê¯"€:P÷û¸0í³ýÿY°­¡wpÃM@Ìü¦™Ä(SéÞž•!z” ©äŸ„ë­N³îá$åÏ­‡Æ…ÓÓÌh½ÎP¼ïäbúÔ–ö€ë€&ÊG#ksIC÷iñ(ÊÒç]f-;¸Gm·ø†år È@À$# ’"Unà p5³þM¡"»yä)’Äi[MÍsƒÝw6Õ«°›3! µ¾D?ÈîiÜŠÀÛ÷ÇKLB#•õÅR†âöâ™±x†\ Lƒõe6g[ˆ¶¾`]]ØÌ¦'œg¾¬É‘ºÑx5[¿«OQ§m«ñkÿ¦¯}œý/e‚eú½u¯‘®ÀOn̪›4ƒ–v©Â@k"Åo s/ õQsXsf[¿AÏÜE ˜-€xlz!ñ ©>÷_ü‚”#9:—"žö%_.¹ïúÉÿÀ§šÁBÁ‹ù ÒýpÓ‹FÑmšDr9èï>ål@ÇÅb•ß¾r1¨õÈ$k\sú¢² pgjÝ­×xY=ˆçû“á4zà)54NÐê߬U_ëÒØtÝsÈ3¿zÁÖ/âµ_’—ùä©h”îö– ÕÔÿ»]bÒK·ÆwI¯Fë·”Wh]—J¼3ˆ|È®ÿøŽÞÌ ª ÔIrÇLz¸Uü¿P¿ÀÚ4¾í§GÝLÎȨéŒéd½@ƒ9¹Ot¢ ¼=v±%ÝDv¯™Ì¦€·Pxr]SÎôÓ‚ywz²|x·(ö—8¤ý©/>ÿÓkÊÓðçp|ŸõØò# xÒÍ`‘ñ‡ )S¦ tòÙ«¯;ß_>v‚Vd›®Á1—+J3«ÕÆ‘| Á]9Ü‹CºD3&þ_²9m\=™Ú­.ìdX̳…^*U7×r ðÈm Å»Çu9$”«ê`ÔøIpÒcüHb‰?0{+å‡ÝÉ„næ -ë#Ö¸jþÙð+Ýmùl¬¬HË7ÉíõRuRJƒ Ì!´ê.Î,EÅmºýƒa±Âé7³Tï1Ä«¶‡+¤‚ÒÚ™qÖêUQ5K­<à‹WŸNн’G0ø1*uaen¡ÔˆÇå9Ù>8ÛiEp›%$£¨òɾøÄ_­ 0I#J§8u÷@ßhR=Ö²äö8´."ï·¹ê×Ãâ~_àŠü¢O+E‚ }YÇ‹0z¦±SV0gkVãèB$ª…á‚fúo᜵ìAŸÏ¾¤$è9¢àò¡2Ü‘A$-˥ǿi!m%µ‹ùÉ ooOK=70lÂÅ|Ý›$9DÕ¤0»c¾Á CσÖm(¸ÊÕ‚áü½_€†kÂV³¹¾Ýè‡1¤9­S“èÞË+2?ZKºî –*ÿ›b§ºêo˜ˆ­—0™gÔ,l]—>=:¡ŽŽÿïˆ~c¯cV ®#¹!§måÿçv a¢]SA8I=ÆóG¼%È"„âp}]R¸šŽ¡DDr‡+Îuuy3ý;·¹¼Y@e|7½§s‘æ­T¼§{“>޶¬(ñܲHò–ÿ¦è-¾-VTwi‘ž2ŶÅ‹ì]-âzBq *AÁÅe™M$ºÀ¿‡9 ¢~iµÍT T²’—Âd‚ ´S/P€¥ÆŸ»h t£NWï…”^‚;¹jÁšÊÅgøÈ—PÒF)ŽMW±ÑÙìN góJ¢½¶9Cª<§ˆ•ES–= ¨ötÙ6"ÌN„ξìÓeDè’§0&5­c}gW{5;×@–Í´šË±ãÂ!é §B®ÝVÓ4Œx_.¯ÉÁÐg=`œæÄÍ2W"9W®E'5…‘iNÖØà0—8®" `çdd%“«Ä)FH­ð¶´XÊŸ­«Iâ7l\ÜwÜFÙ¯Ñ- ðSy

/wô¸è¿»@Þ×ÃQ-6Ir™J@Á} Ü]îûa±¿‡r΄mwL‚A[Ï»dJ\ ÓßY<#óÍ~²À~[±2-}㄃¡D'¦½ÅJ±+ôõ¡•Ì&ÙUˆúE[GüL­$D<µä¬üÔ“ô…¸BüJK?ìë1®§êŒÃxæ7è\›¬FqÍÌO_”ïj™ ó­ê^÷``t?7 =Íu“Ê+ ‹ƒÄw¦ÝÖ±Åì¦ÝˆË¤öšÈ£Éø£8˜ÎEéB𨵽Ú]$DDL†íB––ÑsΖ/w‰šº³¥mq±8÷y13õž‘‰ƒ;¡ÍÌ<øJË3 ê§k<Æ üZ†0Ø(tÙ±sh9>ÙOÒÛ âˆ<®RRðe6SË•.!¼îôòÁÖ³'Ó„%>ÿϬȶßÉË9|;ÔÜ}q}U¨Éõ*”h›æÞ`¨%âIAo8JÛVEšî»û⬮˜GG|K®Úúsóß\·‹Ü×mÃHøïœ`›Fëq&£pà!=üZ^2¼Ì–=PEy%eˆ ”1|Ïž\üWø”èÙˆe(·›Ê®PȰKå†ÿãk }· ÎI~ÎÑnôØO6ÄwÅÍ¡­r”çÿå¡ñᤑÉïutÓx!æ=¬!Zp†Íë^ÿ"‡§Y¼¼êwóUVoô)m6;j´?ƒæn\p‰WÞYTƒ^ty^¡¿;/'¹ ¯Ê;Òqò×㤕¯D””áb“ñÂü•W}s z¼v©†Ü‹ÇÒø¤QžDÿIÏÖâùØlÔð’Þû¢ÙQ¬ã˜¼KYì;̤^»;B ΟPŠì<š÷ñ|KÂö¶Hð:¡(U‹±šdÃÏ kµÉ˜ŒNÀi„ö‚è´W‘ü¢· \T•(YÉAz¸¿""‰†z¾Çb5^ÃÅÆ¤Öu˜¥îÒ+´´‚8Â8oÔegÉ¥ûÜ?T°ùØå\‘ eHð;î8Ë£ä2“A¬þ‰Â 8ÛºÎ#¢º‰]5tÕ4´-X’à*un¤­^v  KŒ.e¥hP³¤>¤#£q {ü¸šëlâò› SÒ5¶¸+l꣑Ö(@«®}3Ã0ÞF.|b§ûo%¦l70iÊ<ØäféáïÐE/ÖR©ÀM-¢‹>†˜ÑYôß‘²Ì_VŒãV_;J‡Ä–è ÔË×ʶ R‡Ó‡ãSa.\éíƒÊV1Ys‘1ƒ¨”‰mßûL*J|r£l–¬uG‡õ,sÈm„c~‚ZRŒ½ì–M¿Óõv9È ÷1†å?&Š(~"l¨¡,l–™«Ñ%…Ì85nÑB&ÙYðЇG–FÞ󖹈æËòKʃ–Sê»Úê ‚Ü#ýŠSXòt6Ò„´z‡icSȹ—„ë!!pë}¥&OQ †+"ílåóã”.$JS‡þ»-®¢wvÖ=ª5äŒÜ>6þ‘ÔŸI:Å\Co‰1óÇóÇój[è9uTÍZ¤Pp0:‘PéžÚ¡= 8nëÚI(˜¬¾Ê¬ëWYàUë[%µ¢ŠÅMýçVAv;„LýxìcŸ}W/YÉ9 ”£ ïÛ Øá5ȵÆED†ãå5LTï… ³0×|5J^ÿ¶^'ôØ'CXã \ðB K!VËm©ß1™æÜf%ª’•²™>ñÀ;üŒ‡­ê!†“©/†íÉÆ?YÍ­Žð”’ ÍÇ×\Ifê´³sÀñ|ÑòÓ„ $žæÀcÇ„¤—ájvq¯VñH BÝîÈï,Š7Žx_¤RNʯë™å)|éêñÒÁÀ­õB£uë á?=¿DX¢×ô~aþŸsH*|Íj§ÓµDc¨&hW-ŸUk.ÌÑîk€Þ– ¦;&þÇ¢¤ÏI5h°Öèif±û16iûX-|Œø¶^y…Â/¸„¦ØWtÌÒö(–Ž(ökæäåð2O±X "Oæd¤œ´Ô„3”§oš0˜Â<1ÞX媓¡ëJy~¬ú3UÒ¯ìehîCT™Ú¹8è?ñsÏÊð6( pü{¦¼òvýÔœ¦N^—Õ,è¿×kC/l•êÚ¶*Ük$i H‘ô*ÿrz‡‡1e/°<°L@¥y-”gžÓ"E¤¤%T˜ÚõC‡ˆT—Šì³åº[Ã.ïÁdHkꋸX±1`—ÚŒ ¾ÑÑ‹:ÁÖö¤E•ñu(+ uÏ(…éܵj*Ä58ƒot]ŽðÛ«M˜¿N(U}ÕwýÌ=ƒvqhá%hÈo½2Áô9$lЏ´Þú6÷¡pDμW[/3»|Ä8¶_ÈŒyÐX/Ž–š1WÀ–¸²^‰dz…±ŸdMpjÒÿoÞ Ouf/xÓä„w„åN[ =`hÍÁ>c ­øp2rhv@æº9§‘½ÚÓ%BMéISlá1#T-ûÝu=œá7=¶À|µ—Û§Ô£9Dqó”:kQn·)3Ëé×|sŠÛ¿Tåà%ŠøbC·øDü鉭*•½I˜öÒùZ9Ï—ßN{”³Nuäðà>ÙŸŠ–‘Ñ`ã4Bm5d cMµK›“)¾‚‚cv_ï…î*zõ eºöRÎyrc·Ÿ,ÿ¤#F3 éïåmN>‰”*·c5Ýæ–N:êµ’nÆ <é‹¡ Óòà® tLœzÊ—ŽæS(O _A¢é,7Ù¦àQ¨=Dûa ecîÙ¿Fô8õothàv3Âa8mܽ–ô•Mm2ãÐb9Ñ©så›S·šÖÈš…îÃð&ÿËÕÅ,–×kbžH~Cª¾U¹´÷wÇV “ûv¯b°Lèg0]•¤2›©f%aG#Gdk3¯?šiIq?*¤ Ó•ˆ÷ÂqÄ?s÷¡wIÊdeaFâÞ$†™tÓ¼PŸa™+¹‹ 'U(ŒÎu‹ú6vŸØÀlƒ1p?1— ÏV=˜“”½½g ±¤¥üA”€û=M—Çœø©¬Û –\Ä>*|ùÅO4G‡q¤L´ýmÐÏÿ%´”_)à9÷¾q9ãÛìÉ©L“:·¦Iñî|ØœÊ÷ËÞüÄÆúð )=ýd¹M‡‰‰ïh;gzÕ–7B²{y/à@E* P+¢`ªÜŠââq[‹­­‹Ÿ(HÕO´É‹wdA¨¾ò^ÿ3£ '5CVD€´é÷4<ëŸéNvðùÝØ®hæ&ɬúr(±—rn£Ü[Ù Hw\Þ~rëlê$'[¼;nª[ Ê”êÑKè´“²ÌÐ@§|âð¶QùGâ`b+Äpÿ†,YEÉá}J,]†ïðáç ?lÑ/Þ[Lr‹îe6x¢Auö!í”l(c ˜ý{Íg-zSö ñÅDë]á" ȸúµ‹‚v÷ñ.X=1/¼”§S(!w=ø¤91ë¢Ðu{9¨QÚ‘ï….øžçý)êi+ wÚoäžW¼+æ·Äj–£À€&Þf z¥X³¸™0½âäÈ>þ6W¡ÿ\?ÇêŸÊŒ¼Áò»‡õÍVwÆí°½¿@EzzÉEcêûr81λ !Ö>ÛŠŸéàBÚJ^‹’Ï j¹šµdÌ‘ùpgoî:,{–ÚÂÖ$‹Qo®²%à”v–}×Ìq›R í|ßß²#”ˆån*¼g‘ʃ¾W¿tbÿŒ•`ã× "·øux=ÿ~ÿ#¾`àùº{Þµüa}#¡\WÐÛ!ޭ„۸ùGöËÍßî~ÓÃÜ.L~ñTfõ@¡ê™ ÝöcrÂã¦E D:(´"ª4t±1ýû½˜J[:Œ•ÄS‚/…Z¥ã’)°g˜œ½60¢µ/¸Å@ÙŸ]~ñ!Kòû¾ä7¼Mm*¬Áò!¡†sdóæÊ?Ä ¥3¼ðõÒò'3i|ü:w^–§¾9ÌÊ[¼80’ 0L‘È·\l'Úüß ¶…¦àŒ‹žJI ¼i<€RšÇ‹ÑYýW?b¾³»FD÷¤sgÞÏÅ$C,õñ“³ö±FDv{;ÂhE@ÜZÖÇÅ>è4j÷nXãë›áŸâÐI/E›‹ë-#‹ˆ?m¥ CäWv|Œ»±¼fv‹í¼ÍÞXÇRˆ$¯eÃú\¢ Ôf½Züôç>Š-£|£+¢|ݰnôA ¿%>´cíFÈÛõ O…> o„¨g­âÝ›{$•c‚-GvŸcàñWp]Ÿ:·È±C¡ÑƾvJCIˆ@Ãé-ØÓ]ýÙ ø(‹lz‹™‹iJGpˆÛ}þóæYÃÿ¶ÀïÓ–]Ðñ#Å5â?ÖU¹Ë1vÝýØÖáž@ù¢ÌIßí8¸Hÿð¿Ó%¢Cv’€Ó ¯¿ Ehî2‹{ȳîÍ~YR,¾“–¥Ö 9Ȱåš6&9ͱ²¦Õ6rõ*!`»Y¾î¹:Gµfæi`yR˜h_WÇ#>‰Øö]»ÚÇÏru V<)ÏÅKé…uI£ý­(à2™ž‘æPêpF3n"Ç׿*%òCÒÛíÀK…Ì]Â9R'wŸaR[x€H¸žŠ]¯ÏeEžƒ}›†„ïÏ(|¿÷«Æ„" »¼èÃ/aÔwþ¦ù3Ôã tŠŽÁØÇ`¦37O“í–¥¹(¦3L7ñ¼ÌÝذ')ÁÒ—»¸€A‡ïzDª ­¢a–hݨH5¯Ž‡n±\C(!lØ p¬8ŒdÙùžXÃTG˜Ux»*ëÿ¿‚91öOhémëé’¼Jð ÿ@äÑ}ëc•™ ï•x¤¬ý[†í@tÉE qçC݇µ7> ¯í5ûœ… ªÕ÷]Éï¿Ö!N‘ãÈÈ­ú;i8i!LR{kÖŽÙ,¿köNÕv°´.P;Îhÿú&ˆ–¬~ð;&éNM°~–/y¿J)~EÙªÎð¹]§wq_öËnCû ¼ÖKY¸ì %,I’ ¹ÑQàç9å>S,(ÁH^ @¸­lddƒ'Ùýùéâ«KZ…X…ö)—ÿá0ð"¢GvwäDÅ}ªÉǩʬú± øûò-_çIêk”B“¶œÂáóã|MùIxL9ªÜ“Òô2{L Žÿ6œ‹òê9¬b§ºÒƒÙ´C&¯}Ÿ•ñšh1> Ì6¿¶Ìqy䑾]v[@˜u8~§™vq3qsVê£Ã™=#úÌ‚­›ÞÁ5ÜTëGŸã^UÒäi6~¿fžw¾:ršÿygI¬ùàÖYÓ¦sQ¨ˆlQº|ePÂãÄïh™ŽS꺹å=™c6ò/DÚgŒè’òÈcਅ„\uÞ9ÍXñBá… îû`‚&?²|“l¨©Û-  A)Ò)+u*tc“˜Õ×Dº”8œc¤càâ9BàÜ3¬'^Û>2Ư¾LŸš¢^'Ú_<Â((Öqî©äÝ(GmCÁ ¢+¨,ãEZ1‹·¯£äå©DÖsÌ!Äõ²¬µ”àì­±p ÿ™²où“OÇ\@Î(€;§H6JðrC‡Ñ7*qÂÜÑÜ[¼ª¦VÁµÿ»•úÓ&GÀ¯§P.!G›'oµBl5 dì‹®’R8pmÜ Ôÿži÷W{²ÑzÜ…‚a`Ú=ÏÔUú;C«l2'…¦ûœ Ûu5?èªLƒÚÇÌ' Û¿—{q¹c.ûÀ}o"ñô¹bsƒÒÍlí{€œp(fTg–¬f}ÂßÜZ5Þ¸!‘¹ãæ|jÒ w‡·Ý@ãšxÃÞšãoÆnÃí†ÃHLúMþ`úã×k·øÿ¤cxàF•V=ñ®ÅÒš qâ:@M£0)ïºxj_úGÓ75!ý¸÷+«šDægïãkÒÜÇåH],ððf0*Õ‘ÃB ¢å-(²´ÓIgºöxÐSü7 Í£-}äOèšnÐÚIq‰«¢z+ƒ÷8-çC(>uƒ ~œ«ËŠ5k¥÷‘9ë«7>Ëñ[ˆƒ}=þ4ü²Õ¸€Ý¶_-:dSü “ùåxœ÷Âþ<šiçÚ€¿JZŒþ,³Q¼wÚâµ~ï%Yû©”ÆrتÿÉxH´ÏʯWV¶p E(½åŠB:žâ*ø<þo;^êȈÖωÎuáçw­vwìÛÑ£½ž¶¬Øu™4>Ðúïå+ÕÌ¡øï ¹öØ|^Fe®xB›Œ!ô#EÜ‚ëÁØÙ‰dИ4ø \øªÁø šÅ`*H¦@F’šS•/ Pš6—Ê{}¸rñß‹S¿(²Ð‹˜Ü+ÿQçú.¥îGSeÆ òKæÚ]†;véªùï´´ˆÈ¢Â#X5Wº±@Âà oÎZ â4+Yw삞fäÖõ¨©í¸éÍÄÜ‹Qb(Äq'Ggù·äØ”!‹sg!ìÎÚhñÇÁ—íÞܪ–m¨"}Øâàñ÷M Zt™ß;–™ ‡º!çwKPv¦—Oº“ ê}¥>/EÔ ¥úë:‰¦ˆ³n?ßGÁÓ%)ÔHåÆZo<Ôúå ëgüùÁ÷½„º®&Ÿ¨Pâ¶¿yš–^aìá­W®ˆÃ€¹ØÓî%—~¦®@‹ßBR9ÐZ}ã¯k5õñŽ™ë-±ë]íÖ‚?›¼"Ë"Rý&m |Y“ ½¦Û[K¢å D¹2L±ÄFÂîm/˜xx˜Ç:ó•êß×v†à¯›Î¯À@Ö  -»Jw™GÅþ‰ÛWØB™·~×ìÙ¢mŠ)¨Åw×A´Ó²>õÓC_Ô­é€|# èî”Ý0|ze Íàb¬€è'ñ*ýh„”tš¾LÞ²_22=6²k:à[Ÿ·ÁJ|˜Üz‰ˆ1û¼vrˆ'xûÜÈì˜5Ð5‡ÃÕ½$)€„°Øþ½|nm²\ï<VÒöÍÂê[¤°ÓÃêä©}é;ä ƒ‚žàÏØp™Vy5v‡+®úÕ‰ÝêR¸œ²ÁlX]4ÔL ý{˜U'{ xl\w‡¨”Ï€†A+íXØy=Ñ®Iy|ˆ÷õü͇RF¤M:-*K%ãbû½ÜC3İWª„´VXËí÷ŠãÉJm](rIKÿ¢›´É‘ûÄ“ÄC§IóVK6ôëœÙm-I†ö§DD>xhI!ÔvYé ‰ŠÚ> ÛúkÈîJFáM˜ÝÐÜ´Ë• å¦où]¤¬ ¹Ðð?ìø76`‹ûÂggÂL5Ð^"U 2sUØD ?zp6Í¿çgÉkŒêŠ«à¯!.±é‘˜±«ÉÞÜè}›2üœÝÎ’ù1¸ã¢J½²Úb²-ÅU@Wô.Ä]T]ÃIXä’€<`: Y}E&KwùË1“ñ»²3ªNrd4"Š"È*ÕB$IeK˜ }ú–fô¾­ìzž5á—ùq$m ìhŠÆ½}ŒMqåmB?§M¡¿Ë?jl˜êäl¶TïÒ–Ž}LÏV¶—÷‡´±µ¹yÆÅç3SF…š½ÊBýɳø¹Û64R¬9÷¨´ÐF L D1€)<>¦%NÚiœ·x/yDç÷¨»BgÓÉ™ ŒqÆQ](M!º±‰ˆq¦ù ~Wì$s?LZuì¥üƒAÛÍO¯¯5¡ei[¥f3<’HŠÅX›¶+õ•â- æâ/é½ókŬÿÃÇÈÕe‹¢+ýaÈÕ°—C$å±o,YãȵF™ý×›UÜÉ1ƒ‹}ˆ:Ø?äÆ~|߉M5—ê_ˬG‡7ç´½¥'3ˆrŠ7*Œ)sŒî1€Âü"rød4¡Žs—5„™Q2€œŒÜ™¶ó¡u ÆjÊúéÛ:¸ø½þÒÅ$ðÂæà†2¶oÕ?p‹™¡Ö5”ÖŽ¹½BOŒè„fÏVlæ9´\ ± (÷¡­ê=nàç?ýðï㛃OgøÃã ¶aþgU¨@ƒX5 ¿1ÈSv?ÝtÓ‘ô¬Sw·ÂþÌoW¢N/áM·ÅPÆ÷Èœ†=D#qÉâ¤Ú·Îšðô™ÉÊB™fGŒvñTj“R¶>ˆâÒïgWçµÓðtsR6Žè3qg§ª•;Š¡’‚êÁ’xÉqbäÈeç¶¿ê›QÏLX¯ôIfÝ>ôÓÇ"¹”Ô¦9QäVé`.53;¹]É*Ó3žéϾñœ¥…µÕ‹¡Pó߃e"9Ç|·Åƒc”â·‡o„–SÑÏÕv6ÛÂèE¡:~ú¡_ï8íàWѲԴ©iÌn³K@\‡¹%» £wEÖ­û‹ €•Ç5ë·Ç-ë¹1Ó rîkr@>ÏJþÄû£mxKõ¦ôáŸÙ×½&É”iåìÛÙ'úNç—x}¯ËKdŽùo¿AF€¯‘ŽÞ²ýf¹öbÐUT/¸¢Ÿ,ÐyxDˆÍ"Ë[¹ï€vÃe‹ wÄ©fåEä(½r:ÿ14û•×±©â7œ˜U˯Ú¯¤ùO侉ÑN·w…œžCÄjmMTqŒþ‚öÈ)õYÐ~ Ã; ƒP„óïM\zÕ… ìå"dh§­-­YÜ\j$éŠÎ@Ì}¨ ´^¶ñ+µÞ”×Ë>Ú&ªŸr ’í˜ÐSR7¸šPTOì«e 4`;—( pχÝãá9lo§#ir‡3’¤Ÿ?ÔåNv,¹‹²†¯mÓ'WÞÀѤSCmª^Ïrf¹kRt¥Q65¾Áp]€flŠ€)ïØbA2ÜCï9H¸lmIœ0„yÀXúbŸ!dbÕ£Ôö‚ŠÄ»tš‡h â†Obó<&5,o~ÛÊCÑÔêFí9±Þ²âáã=U-—±¸…¶%Ï¢‡ L*öƒßXTÃǦ˜[àÏû—ÇNet:E í"ô—²X Jʪ ¾ðìaÎaBzBi˜õ#ïáÉIÂC$W¥Ï&æ¸uê¥Áa…醽 z‘ã,ÿöæALòû¡ÃZÉ ¨áò‹FÎ¥½s-`ôø}a3ï«ÍÇxò>ÂÀ„ÂîŽ|Gýþ®z$yDÞIÞ•+ͪžÕ¤y^Õö°œ.LŒw¨ƒ‰ÿ1`5É*×ÈýéÉÙüñl}EzaØ4‘öi¯$.ݱ¯k¦#¥8%gµ3e€§¦ÔM§âdë%j#Ï0Îü;®½Þ®…_”ëØÞhz_„=‘iíÌןCǪ°JOþoíjibœCue‡ÜêºÜ„5/óS«¹ ‰ýðRÅÆéHÑÇZ”è§Škèíÿ7Áô.…{ÓÜÇ!¡+UoŠ˜®,Œ[Êuí}¶ÅÎ_óùÃiK;<Œì]1 ~¿%¨4A°þ¬øÛ±‡”1'#C¬’RÊrVG;Ÿx2éÝ]ÁjŒN€ƒâiíò³°ãNEQ ‹>]‚èØÎV’o…r}%jÕÞàF{Û%)q‡XYí/oñq ƺ/Ÿb‰¬©â’ÏÌÃEdÀ’Œ§Ç–ÞJr¯Ý¡5®Sï¤'¶¨ã¹LÄú“²d½–ng ñ³®’~šêbÍj«~­ò›IV³„9:*¾º·©ûLÿ›œ]<—º·“‡Bû'3“‚G—>‹ù¼t$,º™j#ÿÝOQÒòú`Æ‚ª"Æá°[QÓ]Õ·u+q,ÓãÜ,Ú;(‚P?˜.’‡è ØNÐ}üf’‡Wq’>ŽQ¹ýžì×9ªï^‹â^Ä»®æNlÐ÷Ó%OÉD¶=”]D³¡¼ûݹCcÙÕï鑹øâ÷´/ƒ=”{ÖuC’º¿¤QNOÚ†(ž–T2.ÿßþR‰06•#¥ãÙ‘ÖãXFÛî®,¶ß ãCÂí%P;;8«Ì‡°2_°9,>¶4ØlÈí¡OÊßᘖÏ-?›-7¥»hö=!êÌñ’x;#9¶Zy_¶÷xÁŠ8ü›ýq‘n94wµÿ¤Ô¤WEÖÃáx>Äøml½¬aÉz7®3xz‚ûÿÆ juY°Õ -b’HÛê•ß¹øÚa†. âÍYT×Ý`ÄõŠ‚Ý£ïò†x5ºÕˆ4 ¹–Ûè—_/¥[s„hß•‰elA°l@•âG8#“þhÊ1WŒÍŠrUà `SúNêPÌ+“•ÆEˆK‚Í‹ñ¾Ž»HDµ?# f+-¤dŸô‘c2è£ò·^áþš9DzX´4u´„bŒæª5!Ò’÷Á.³c‚9w¯“j’›ßï_kŒÆ à¯Ä{•gSü½c¥Íù¡s̆ÕÒc`Fâñˆ”ö3üu‹Ðõ¼xy|‡régXn‘?Žžà•‚dÙ,×Ô{kÁG¤÷š%‘eﶦqÂBÀ¥à”Ûe¥=r?Ä÷޵ÿô|Žã-† ·óüwWé«p×ÌàãhR:5gË@3,M3äõÎ5Sm Ø_°›K̈ӛ¿ø‰bÄRÐ8§ƒŸÂà R·.½æUa•MYÜ ¹JÀÂMªÞä¼®Ñà7ÂHøîÞƒˆIuüù ºH¸2“£("æií£Ì<´J²iç†ÄÕ"­…ºê1Õ(ΆÝÒîô·qF•Œ•1o ë%@ËZ†– t,‘ÌQÕׂOtyÐk&‹cýÎÉÖ¢pŒ«&:ß_Q);Èt’ij‘²û¾ŠbE¦ûèï … ‡VYÞÛyA{åÞ¿³¤;îq{¨TçÈ}!±„5ãù† céiJ˜íöAEa>\”ÁODŒWÈÌwîÕAà`f”gr;üAˆ‹n«YÖ´ü´bjSz”£¦·ñ‚­,ÞRáC¥vølññ»åagæ(†+HåÎ ³ËA%5Â@´Õuáå‘ð}iMBÙží9'Ž´mÕu‡¦%9šÞWz±œ/ŸLy4úGHoâ w±RÌ­wùõ¬M%£f»ÔKÀ’µâÔœK˜µÐ±ض ?މ¾BïÓvj;%’«*Ò{<Ä +«ø| ‡oH…]FBà%”†ä?ãÁ&ÿ¤ò<ŽŒGŠûºàm åÝóe?¸·0 ÒpŸeJÀøAÍ}XÄâ|'ý­é´æ5e“ëi™B õ‡ë’´òso)«•:˜/¶u^ÿ´G/…ŒYƒCŒ¢ˆ‚Þ â´dßN*D˜çá,@ìÁ&8ìØÐ¬üþ“sSj6Zîk!2ƒÛY#hJiê£[‹æt™ÓäƒHŒ@J?;rýRéwߨ½ }5çíF{)3¨ó¬ßÁ¸ªpNw[ÍýT!£ß‰òn}W‡© º¡£/â­¡Á¬ßzvrÅÄÅý %©9&¾_ŽêHøOa'IŽß¹î[+*Gü§ÎÒ+ÏÙI‡VâH’µMƒ¢¹&\d)PƒäãYЂ­T {#/Ý}*'Í,ú`nïd¹[«§oªf“ÉeçÅøwùƒú4›@@_{v§ù04ádtú’¶îžÍO+’°ìœÑq÷¨èX– ÷Û÷ú|÷¾D/>êŽêÓC‚*럦ýä†í<ÜywdAQ¼ÈÕôR¸0†>qmˆ1 ‘ÅýÈ‘ÇÚƒÒy¾½ò„ãÒ²4ŽNì¥>/È&tº¨TÉÃòV¢Æx*sQô£„ÊÓYÍí[yÈ^á4H»ÜRCÄ÷Û:Ëê°äçë:›¥U,“’4z;¸ñõí-}Ïb ß-)5n¹oXëcÍ ›•Ê‹d EÇrP  jŽ‚nWÔ\'{¾Î÷üÕwªp<çŸ #E´ÿûjÞÞýÌxU²e ò±BŽÿ†Ú‘¶Ûj¦ðœržž›§£gÈ`ºa¾‡ÕçVüÊAñö¶Û›+žRWioíQ`D'‘®ã¸æ±ÇçÿJ_2éptTH4¶ž`€Ÿ|fùÿôåâ"Щ·z"–RÔ,’‘ñ"­ö¡J*„ zJ¹#Ú&«)_–±ÁFûÖ¢Þ‡WebW´›&c©”àÝh‰7Ù«"í­4ž\Jh"&p¨~Ô@)Ó£Œ' á°ÁÔ'ãZ6¶”u&¸@nz3JæhCË•z;¼8·}qš‹–b­âp K÷AUêâ÷„—J½º»ÈBK‰gj#3é¦Ôž_‘§s¸Dÿ˜ºáHÂúÏHã²ØM¯áŒçnmàp¸—i¹ó(Û:ÀQÅôÐâƒÁBòËWÔÞ 13YZV¹”bÅ æ /<ƒÙ:[oÑ;7Ä„Yù ýáÿË& ùïd…Fqaý˜ß õ$¢l®>¡» S[ÆáùZ¹Î]}îÀ×iE“«]PaİhyO<‰Ý„ª&ñ)•»N ^gÚYNWÁÇA.%ì~¨ m6ÜáÄëÅ0ãX@¸}rg m9T¾’VU÷ì!§Sq¨áÅ*Y!Â@€ "‡bZY"JÉ!I‹÷NÇ2c¨+^R/÷ÙèÛë‹ñûUØïDñ2Ýe/ p88¢x—T»u*ßÚ†X 5B›¢‘!µ6”¥ùÊ!¡í†Úl† ^J„²ÒÍì¶u2þÊÀ}ã˜9“ï–Yá$Ë«ä7Ó^p´Ø®àsÆJ„Ð_ µó¾<•%Æýû4Ôh=éeëv1çó’6£ô TôÙ°»¶^ £ `Ü›Ü-©ôyÀõ0¨:ÅwVe’ Qùjñâ¿þCé_ÊM¤·×ÊaDÿ%1ÎÙ)|˜Ú–”K{°ÝníJh‰L8íë ¦æM\™‰ïÚ’aP¬•Z…—¾`ì¤V7ù×GFÏ-JC¶û½¿ïG·¹—§CF×éÅŠT’4ûš'79™cQî‹9YkÖß{VQ—2ÂRZtJŸÏJϧ6ß;Îi?ú² Á“qšÈLýÃ,Y{‰é™…ioJTlŽF }’N¸¶¼šFв3~ÐbrqUþðOWójDLb{Ý‚{ßõ_îÝŒWÛsäs}}/JÏ㸧˜+µ~xbNÇË$5)x¼ë6`Ûw+\¿Õ[ ޏ®îŸø;ãDLC‘I8ðpבšÓR>ú•¾²À°Æ–èñqÈ­8eßCsÞ©A8§¯­Œå½#8çC7UÈ“½ùªTÇÝ|ÎÜà’Ì!?T­ÂxœÌz@ÈýÊlcXW¿è³"u¶î1a7“QCès¥ˆƒÁ˜žõø£÷J1+$Tò-ë¨à‚éÃÊ„½ôû9ƒc&j-Cš¯j:»ê±ñ™.€ígµ`Ø£¿\°·ÊÓÒa€ ÷=X£Ìáû3üƒÆ"WzŸ¡þ»Kfóé$K_t1ðGé‚]È®÷Öš^¶H"—{χÉ~÷ˆ\Ûó’S/ ÌyMª$L3- g”ckOÐëWM¡:Jþ½'°ï=ž $ H.:yzc¤eŽ— F° HYί|]µfФ90r´.p@û Pž8G{‡ÙcLý°ÙHA«4lƒXíœ@’ÆpÇ\Cò1#aþó6‘h–ÞÙ=Œ;ïnDõ½ÅÝ™•y¦aeTPûoZW¬'C0‹,íï¤déƒì8¨Åúm~ŽlsÌôÌbT~}ÄÉQ¥C@¡#¯ç½7+`NÙÔÚtùÕw¬þp_ÅZüK51hμóªØkdÙBi@F˜ÖÀs%ä/Ô{ɇéìjN­·ò}ÃÉ9—¨0¯Gµ,Ë„ ·•ú÷Q“#ƒœz§aÊÀJ ÷PȰ†Cu;;_`q ¶Ë;?ÈÖ%jñ'ÌômÇQýÈ:Ö饹£A‘}Ú$QÎJA^è;õ‘Ål^Ge7|×÷hnŠÈêW‘›¨]æømQC•AþFÝÄ!?‰Lè‘âÅЂn‡s=‡ È#X§ï>ÕuêÆïôæÿ+á®rT~eTBå}‡êq^ê®Ææ9ä<©ŽoK€ƒ–YöΤŠÄîÉUtR~åf~ÖRâuÉäKŒ3n<¸¯S«<…’¤1Æa¤òÆ×¡VÁ2•i®þ“õK3êEgé®#û+puI—ü\eí”Ò ”Ï«ƒ÷íȳ–!¼øl¡ój߉ Áx€ ÏÒˆ®/…Ü›™ØÍØ)0˜½'ALhÏÐ÷°²'90صš?⣢}ri\»)Þ&œÃk¬QÿT†<Ñ!)*2¾Ì·+€Êg³F›Ü2«˜mƒéª˜÷œƒE…‰#›¢™†èr îÒù={ÿ˜"/;«ïK’rå£nhˆ£½<ïãrî,C¢‡ɵAklQØL&ÓùµœÃرò‚åÓm=Y^Ї±¨ß§¨£»©B. l»öY$¤÷ÙñQ'wÖ_ô^™Éÿ,È g½ ¥QŠÞ“˜}ßéQä°Ù'cë—³—w9)ªêÐ-£VØê"¢Z^ÿið‹ë5Ê–0#é3pÝDEg¡òßg<ÁÖ|ÏèâÒ#%‰oWÃJU°Ã Þç6ÌNÕ–·Ö Vˆl­ƒ¹{<6a }`,¢8á€G“òŸ‰úMÅ„æ oƒM]E-…ÊaT¡kè®d"€âòG,s.›ßh¹”G”/@?'”¼çZ+åøÏ•ËfK×U¯œ²ÌCùP£jË:«Ë¯‚«Ó?¹u:sRâîºÐŤŬL{Öµ7S–”ý…™i•~a£¨ Í{€Õ-†JéÕ?6mŸÒˆê@ÿÙãë ¼ã2úþ`ƒ®»}ÎÄà–©ìY5v´4ÔÚÅq8Ü©BณB3t‰›ætmÓ¤…¨Ô÷÷‘|©Ç9h!âpUvª›¬¤ai‰þÛ?DÌ ·–á‡IéYÃG{ÍìÔy´O´ô®ä³m ±‘;è@jwG)ê¢ØÊ/1N³ÏôTøìÿ§­ô'³o|uyưr ã}PF@Ö‡äwú30Eœfµ>#4žñr`i½97 Ty¡¢Çi\z¢ƒµ$½¶XÓÝiGCC”yT+Q|h)WÔœ‰*žÒv½†ÔRÄ27 ÐàL_]?ئéÜ¡´BTç1ȱ-H %D}ed!ñ4ÿZ2ðÂü·*—ašdÓª­(?.ã(9A¬¨¹ØÊHíâå‚/!OŒJÀK6HXuƒG'@ñ”@è¿9S¬ŠH¶k¾çƒS•ˆÂtd¡‚siPœv€nç7Jx Ík7Ñü{Û/¦(½˜Û¨UýÑ…å[SKC^Ž‹2%9,$‘á§Œ °DzMþÚ.ïe7‘k!7?ì··DÙA ’œG~ýѧwÌæC¸]‹¼7B£D´…ÓÀ…•[#Ÿ__fãboÓ ¼òO‰ÃòêÇryÇvÌY.õ-ò3Œm!¡cQ;rKHÇqNøÖpN"þŸiÌn®Þ‡LéŒZ}ïwÒFY¾Ê ÷³–¸Lˆ ç ­€¼†ªIú&ŸÎð³ó»ÿ‡@wø`‹(>;!I²¹²Ís›g'zX ºÆ2޽ýÊ4}ç>—˪Žû4ÆÔ ß(ñ›Ã¬Ð^3NóŽ|DÑeŧ\¡Ö˜Åæ§.u‰u„)º$Çö„FѤîÈÆ¾ñc§ð¾î¶ð ûJö,0¾“Șß@Ç¥á´Þ© Þ~]þþ¢0Ó‹N÷4‡Vs;4tP}ç©qÅSö§ß2À^ûJdŸ6Jeï­]BùjˆN¬À b Y„eUíÈw§¶•|¤3wF]œÞ$ËDвJœDðXþ—ºù/ØHcŽ|dÈÍL¶-ôe³žÙt+2G©Æþë—× ­«9qZ¸ð}lÆýúØy–&@sa.ËjË#´§ÆÓ€  ˆ¼¬¥áÚfÈCS‚¶ÈDå"pçvòמS^P6ò‡)dÖxbºbÁŒÛæþ«œñÆ ™$Üw¢s ÉnM€²ÑÄâfÑlA—8!_lk_ÁNQš{;GÓâýÇ‚/GkÔ²°Z‡óE¯ŠÊ7N·ßægïÌÇ´NžAoZ5+UT “ÕãÏ=®n‹2ñx‘,è¼ÝµqlÈ¢ì_MØyÃÎ$¸´é ^?(&½†ë‹á ˆRSi_¯)îæÂcž‚æùsî®ÄÜPº6£ñ6&4&ªt¹'.Í•½Ü-𠙇ã `:Ogèp†9_îá£<¶î;•YíÖÓ¶´Ð‡¤ìGa©u(Aüéa©­[r"»ë”ÆL®ÔªÕM9Ÿh[Âò)Ú¡=´-q’›È™­qÖ—PÕÌ{ùQ:%hÉ[Ãyú xÑ3M€¾[”BDäÃ<Ì\Žæ5 Î$9µÍé'³<:Úð5×`ž×T÷ø:^hüq@ûRæd¼°o*‰¸Aå§¿«ÈTjþ± åº(`BíyÖ£¹DÔÙp⚬Wð÷dQc6¼•5ÌŠ vóÕ§Gz8ÕDþ:.ÖŸæ•@Kº(’ƒL!W ¿>w6¼EÌX!§¬$HrýK¬RÍ{]²Oç¥#Ô¤¶ ‡ Ë“í¤´A7¾£\è¸;:-m)›Ï ©ò†Ê º°•ðZ{â¼ ÞÚiÕ8fŸûŠáS2æ6"P©áE`|\ùNL>ó$¦yo1ùý˜˜Uôä³mz( ƒùç_õ  `<²ÎÐî(lãžœ`Ç´µÑÖÅðëB0ÄÛúpöìÚ¿sñ.”þ$»rÆ0Ù…K‚nîÎò¸ï/©ß+7 ¹X\ã™/õ®‹'…joƒœPwÍñTžáétÃ˱Ÿã¶ œ ÷…»ˆ O‡ B1™ #ØßÔój¸ó8åìÒ²H¬R4#ÉÇ I·ÂE¢³¼Ò9ci÷ŒÝj´Ò¿8‘Ä¥zÏm(=<çHŠF‹(]kxAñ?K‹Ñ­‡ƒÑ&i¹›°q7C§£™dÔ·‚äâ¼»í>XgxlßÊm‚…E_{qÛ-¶¶†nü›Q¹¾ÃYJ b L„ÀŠ—„ªškͤ½f˜ÉÊÝ âU†äÁÖewaÈH""yGÜ¡žÝ9=m8m/³OûZÀÁµûÏ:,¬4Àš@èêPHúB¡}4N¬‘¼ø¶±/ªÚGÏ+Íðd^—»çø•ï‰Pˆˆª„]öJF-ü…!?L'6ÕöLØ‹÷ÛC÷=JììQ ÑXŸ¾0*ÉCË0‘jnâ'ªYüø­NyÜ®@k-42ت2^‡’nRéf UØÛÀV]ת~ F”?¤úF”×t•L%G½su²7·Æ"42©Ÿ_À0Ú«ƒ™5Š0,we*ªê+8[Â!íQÈÁøþfæö#R.ÓUaJŠ•ÙÖ7V3öqÍ U,àÌÞL؃ö½iJø¬4'?yqÁžVÞOJÿRëŒ ‹B3m Œß¨]ýŸ‡ß?Æû)£r5Œ õƒ² z}àa•óÃ8´¬]RŸm:¥Ö@}ÚXtM<æ³²÷dV“ú9 IÏ© Ûr¶­Vµíç²éOújŸZr_±I_uÄ(K€E-Uža¸Ñ}Æn7ªE«‹&€h­JOLrÛR}sÛœ‚<·ÌðÎ ÷ƒ¿2Cn/:†nÈR™ë)ù ì{ñC<Ž–j*#àÄñl!‡lËlšºkÿ‹”®¡¶mš82îò hÅs@ìDT&Å[åGi6 ÷¬êz@±·ÆŒU0Þ?mÅêá«7mS‹Ê‹‰ÅÚ3åþ-¤W› ¼êù§5T´JˈåíõBìå9é·[±rp_°³ä±ñ|‚N è4 ù‚ój–„‡ñ õ–RDL•°ᛥ%³›fIg68T@"5ÿ—ÕNônàþ]@viéZÁ¬JYiö"åÄ#ýíkxܲÛÚNðc7›Æ"Û©åÂ?ò$kƒQz${ÇžQ´—Z—£®Æ{eÍ;:6¸`„—7èäE”Z@D eb¸}gÀB²Å6¨šXMmˆ&;cö¬;(&ŒÎü”eUê:׿˜e=ù½@àö²‹cÅfýúGL'¶ÉÝë¬P£ÑiO¸Q]Wú¯Â4ýd|LC6m îW€›ß—*6vr$Ö?AªƒÚqŠn€û–p,¶÷ÁÚø4Ĩ4˜ú¡_­àx\â! :åÎ`¨·ƒ4BP5'ƒ÷Ö!9wp·<{1ÁS È5|ßU8Zy4©* ’-ÖcÏá¿(Öí„òíd »Eò¨ˆ½óÐÃRrìãjœÙßRñt¦#ûŽ@ƒK/¸Ì“²¤—ß7!µrå/¾w 6_vѰcR<ÓbÆ$1@‰Ï-[Á  Æ®euÂâzW˜™Ãü¾ñ-U£ÝIÀ°rB]î™›ñÞÒ VèH¶ñWnbŒ>bŠù ”´téÑ1¹ØiZÖ!ùŸ[Ø1'q ¿Ïû÷†â¹?ˆ¢ÍÉ)i6x€§»+q­"\IVo¸˜§”zz9~N7|6h?‚õ‰ ƒ9%N…ƒ±©,|³QøìèíãðÆû_ #õžÇäîÁ²I4X¼X}áyg1hÈw$AÎÔ¢…n LÚIiz¦dH)ß ‰žs?ÝÂî—âK)ùÀŒlmF+NÎ’º4‡é;oQN=dtB ”¿ÆÅLC#ÎÇçv;Ô¦¤ZÿÄÚw‘|Ù4N¥¾_ûÿdWݽJ³^Ê=Í×@×Ô™¸£ö]ëö¤çH¨—Áf'ÛÖñß´¥¡ßŽÊÊÕ¦¸Õ1Æ÷;®»M¹•VgŸb©rL°J L´fðèíñh:V©ò&¶ÔTlÿJ}¥ßmþ$o_ÃÌXUX¿~øøøï'G#—ƾ9· iÅÐR"´»_ žŽmÐI$1ÓÔ¸¥ônU ÎZ<ɦƒç¢ÿŒ$qL°‡Áå"3† +¾²`‡ó“Á}„›e 5™Œha5ÒìƒóélÏÉOÌ7ƒ!åB ‘ˆššÞu ]ÚïÎÎ8”°õèÖÇR¢°‚wK Mˆ-|˜­ôÌ!¸£ñ1ò¡j0Ú,V!Þ&†8IågÞ;õ‹6®#ôþñ¨â¿îÛ)ø†K÷køÂT·ÛÁoÚ2¢÷ÚtrWú@C;fumü,ôi?a¹DO~™Döàrb <‚ €¶É¿a6Q<Úd©ù¶VË’‹ ¢ŽGyn©>¨ê›!ªwJd=îÓì.$ºþ™8€ õe…¢*$x7†¼¾åñº# ›ƒÛAŽè~’@¹~xKX0ÇÕpú„¤p¿©W¿xÙ=°šAuºÎÆÇ? R$KkPû‚ЕÜöœDÀ5þ²•7´s"~É­õIܯI ‚!º^ú5i\ì4GX7=ÀY"rôÙŸ…fXøËûô8i‚™Öº:<#Ów/EÞ·€£9?Q…`âík˱R(^J<ë1O3<*ÀqºUÆP•º!¢RóÍá0ظQŠ2fã;ÚŠqåi0&µ{¦Ûqí…ņ‘5”楑:³×¿E²=/žê}²»ä‡…ÉúÐZ#¬ÿx>ƒÚ„â< hçê3‹ÉøD-„˜R¯ô•žw¹2*´»ç/ÍÌßq õäýÃ8«JÜߘôØúùðpãýëàbL&¼Do*Az•6ƒ2›S„@É^båG¶z¦EÇôÏè36®9ìÛåG#ƒ×Q¬7ÚÇW㬠ï’Öa^ËÄš»ç/öë`0™êß•tø™Q¿À …öËx¨©‘xežMd&ð­ùqƒ‚yîPE›Ô›:’Ðdüšo¤3†¹çcR×8„ÿ¿Ay@pÖç¨Qê~Ÿ”ýŽ ;[BUuÚpàÕwÄNXaòLíL»˜jnõ‘™S ö*N1sò,ÇÓ±Þÿ#dκºŠÑš%íü’P(Åþü±ƒ™ûª(æ¦Ï°§®9¬­I»”å©]OöI&GÜ”#¹ö@\8¬]ùrq¯µ?)qÂ’_ŽF9µ#qøÕ ’*DZeÔ2·oM÷pª¥ïé‘?0`ï…ò"™F`ëˆÅDn*81C:ò*–xiDyÕ1ŠÚpý®Z· €LIñXî.Ü]v«+ŸÑ$æÁq(Zêˆ.S†®8*s¸µM¾Ák^ÝHžÙ«IÛ¯‹rVR¤øy8KÐæB‚õ0¬ü߉§6K¶3¬U©Ó’)’þ»è‚¼/ºÖ¸|VKcÂá<Á~Çp,µ]›™T™<„“`ŒvVÚ>Ÿ}`rØè×ó}»ï¶=¡HìJ3kCm{r½†ð Õ:BPTŸe'O™µËù¯ «é`ôÕ%Njaj|žu§ ƒ‚2[¿ê›ê2ãÀcÆø÷Ez´H£ ¨!D̪ÝÀÖxãC¿›ÁpŽ5re¡gU®úCÝö @ì4§Ž5hjŒEÖ§o›Ãâ’|Y›0é8l_[t%æäØÊ«ïCêW©²\â÷}aqÓ…edÂD£=Weia¤PXs[†ýò ¢ä3JÔ!¤D°ÅÅòÖ^§á"ô2àצºWXš¡-m?[1!~™Ò R¾`éõd‘Q9u¸Ÿ^|NŒ}@Ž{4“ÍàtK¾=”ŒêÑÇæü²k 0Ôî§¡¶dY*Œ";ɾ¡ÓËTø¸êÙäãs O²±¯ÞWö_/´þ›ØõíJ!Õ`Eœ2CKJVsØo©‘ó;A¨ž{¯á—ÈV‚û(ΘDVXŽÅ¨žÅöÄu=ÍÛ(³í¨™;¢PÃn:þw^,½Nº¢æ¡ª—ºT¯T ]ýÚë¾²F|:ØG\wcíü·Äd÷ uÞ ç½^·oËv"6HóÕ–òÉ%%þÈÙÌÞ„Qa%•ªkà^CTÒ62GêUcá"¾±0«ÜÙ“ 4½mcáø£Ê\ŒrM€½°j®ÂŸLñ:yýÔÊPË»WÏPLaɘ±ž©,‘ØpÙÌ=wsW²ïk-QÁu,æ”çÿ¦}=Œy3é1?Ix4io*Ú‰iU£'#å«‘‘I\ßר߇ d—BOÐR<öc„ℌN÷C¡,ý¿ÅC*^|ì“ï@^)Í' }jWü)hõ´±3Æ'’1lhò€ôˆo9Ãêï!t®|OÂm$k”N+‰ÅÇÙ*.×LJŽekç¦õÀê¬ú‰"“íIXÔ)5#T'D^ª¡æ-ð.åzÎw8^\+ +0®zya™þâ#-ƒã.üŀص€ðn͇¥ë;áZø¬OóݘA7Ü¿î`ê8³ ´=©_òxáSå“„_Um’pÕ~±†q̢擕å!ã™Ü--‘„¥]Ä~<9ª^A²Ö¤Gè½µZ\n€?ÝÔ*îZ÷ä‹òZôÅÊu¸ˆÁK¸p®|fŽòbýž ‹¡¼“RöÇÍÏH ÀyawðH)| ²œÆÞ{æ>xüüÏ™[ç¿[™ëµL |¾tô‹ì¹X ¸÷Y`à­ám Qô„ …ûY¬]"±o©`´zÔo—ûˆB›ÙQ8.„ïØ¤š¨<ƒëþ±µ‰®åäBν«o—3I@“tDkQötQ+¥%t¦j‚¹x ÙµM9ð–?ÑóŽÔ¸_&ƒðiÔë§;èeÁ–÷‹Ð«Þ‘Q'@’ ðŠ€{›Å£Œ†¾o­£îAd[¥ïÓö›¡ úéí¦ÁB$بÖÿ;)æ[ëñÎ0'—YaþÈ´×Z? g+éàÏëƒAýÛøÒzÔƒ©ã¡øÚ$oÀ>)íAJ#¨‡——=4C>~WYL”M±¤­FD“ÙW`ŒÖ˜~p´AúQ±)V ƒ².úÆ% Z¶ôÌÛG!›<>s!b_ª0„2"ÃP÷ßÔ·î‹§¬F…)mòmÃíF«QI@4zo†"®¨ O°UGÇÕŠb"Ãëð! Ù†C‘1×xCf¡ƒLZf×Ú̲K×™Ð!\ ×¶}käÏ×™R?ø[`±´±HN|Pw„àŒìáQ–‡®C8?!Âé$ì"Ïö<”,fú¶i;¦§EQ¦ïJÚ¨¢å‰þz¹cu®$ÂÞ¸z¢ç•É¿µ‡?ÌdÁJ÷n­Òö|9^“ÄßFú@2ÜÐSŠX2Q9ƒÍÀÖ¥ÏßTáa3dv}˜÷4îÉ'_°Ñk@Ô4>¯õù"'”ÃuÞ–„¡ˆÀèDì›ÍYy1ý‡‘@gšáã7Ù«Û/8…Ì?»7pžîW!ÿ>úläý0F Œ¾õÑÅF7ÑóèݹY¢¸¿p§‚GN†Fs–]ÞÄËÞEÈ‹‹þ`,ëæ\Œ&ìk78)ŽaN+bì–](LìøIRtõ¼ïèšSÇ–«ÆÐÃãݧ2xéÛ·—¬ÂÖöärÕ:bI—°Ìjš[ÍÚBœd¦Õr¥ã„vÞCPæƒÓHÀÒ£ ¢…èdYë$à¨ë—Ä"Øj™!$¹ð l¦ÞüªãˆËÊ)|xÃý§C¹?.ŠýŽA)õ~_+÷µ³ÿËs EÈÿû]FLsçÑTfFQ ³Ö‚ªû[ÔaýÎv¦]$p›ó ÝF«¦_øÝ!ÔV5‰e íæ½‰ÆT#ŸÕ†zt Ê^“B-7áú¹ÛñJÇs)@t:[Åf5R´L1æ²o5È-£”=gg÷8÷çöÝ›5¥„î2ö¬_‡$/62¥¼Qý•×Åš 'CßMô1¿´³9åW]–ôKáûmcwçm ’ªZGÁÃê¡×µrÚîÈ »oF«,HÜ"Úû+²¡Ž]i%ˆæš¦ð¸¤¹†3˜ó9|Ôè@é—pÝÛÉ­ü%އÀŸÝ¼ŠïÀðŒò¹ùul\{zU)ÃzëC§®a‹HËì6ܱÖÊJ9ÖV uJrJf^`UVœ¸—i-]é’@B¾4hmñEÙ±ë'¥ô¶4ßï°´³Š8@I䂱X’4€&­¤Å¢.ó¬Nï+TN³O²qR–èÿLá–ëC\‡gòijq ‡Ä`TÆ;§¢v?3ÅêD沈c9€oƒ¬n5Ouwfs­C¢]ãN²y¶Ö#û•Ý Õl[nuÎÝa^uŒ3Å®•>ˆJ¶Â=Y¬ÝõgŒÆêںüŠÄ³W¹¹HÞJ ¥û*—;±¬õÙ¿<ùáuF+tóüMì´ZbßóŽ`¨Sñëñ4;Åç‰}¤»ó{ù±~Ji!5˜7`®ùQëÙv»½ §HÂѪ“ÑÚ’ÉO!=ÕT¢}ˆ{qÒX:êèÖàãâÃÍõÀÛ ×Ô[Ë[Ú68Ïù–ØÃz:€À?ëT2þ¶@à—Ô®T·Œó~y0àmm뎒—ÀP&Ó®zè>XÝ:ƒê²>âk†ˆŒ Y}ûÇë1¥l°–ÓHñ»mþ%Õ²d¼*%«8Õì1ü’†p§¥¹ J*y7¨qi¬;¿E’Lp¬7/&Ž3Ï€öðö6ä²øOáW"‚Ä‚³…Ôv¦—_’•Lêæv6 sáæ§Y8G‡á”d¸*7¶üš€D¼i‘£ŽG.S¯æ+tHLöx¬| B‹ÑŸ ~kõÆîX›JnDÛ©Cž<·µþ[IÏB8FÎøÌm›¿œ^XdEæëìy²©·P¨cÁ•3=·¬Õ7¸Ÿ ~DQ½2²èìh_~ŸÆe¡cÃ.n˜`õ»¹ ì ,Ôéû˘ºžØpÜé0¿ ’‡!ºÙP\B_t»%kš&cû^£lIãã50™Â¬K Õbù±<Þ$|Ÿ&ð‡³¢SþKØüÉ%¿˜48ìwæ'ÏÏ(±Ùwü¿ü.—t:é/ôàH%^¶o19©ÛM¥'ãöµ†{ì­£N5és­^<<.¤|—8Ú j¤FÊ^½èg¬ÿÜIkƒR ’GÖ…<ÿd™-23ô;ŸsÑý‘ÄÎetÚÎe`¼r´4‰×¾©V49£áøô¯\Î,‹jÑdiÇp =/ǽkÅŽP hÑÓ;½Í»á/z3Ç«ücd€ª©V‘æ ŧY‘T‘~kÙi»öà³»Ù´*H &E˜ÌgjƪMð}Îþ\ÈÞU²‡„J¥¢—öè‡i‚”Lfƒû`.—Ëõ)F÷.Æ’SòHT“UE‘º7ÆVkŒ%€×ƒB¡ÔˆÂ`q¯€5^¶ï*j‰kÍC_¯Ê_Å,&ÑŽ(µ²ãØmÓƒ@”Ç2{~¯‹†ö+ŒŸ6¯mbQ^÷iÙ Ï…²­žSô¡:Ð%б`QªËêØ{0öÅqÀU~¸PC3?ÄÊj ¥ú•ª"ÍjK7Îe°Dc²Æq~ø²Ó5$ +·¤÷ €z'¤`hZ‹IiÄ㪊¦!S™3AQ°ÉÝT¤Ó+IÌäÊõÏEô9Ô£@À%gOs…$­®0sïÇ?±iŽJÎ'‰C¶OCÿa@é¥wá-ñÚ%ŸL1H$½ÎÒJ„SǪpNúTØ6ý­³ÛDô– |-«åS˜Ø]ÈxôÁ!ÃË„—Âb!t§à¤ÏYûøÁ³Q|æMpŸÈ •й}lõ‰5CË0X/Hy¼>êÇG‚+wU" öHäZKÊ9áÍ–pé»Eíøõx¦ØùéöÖ où”«ê«ó‹VzYÝáVÓÁglðÖ0¬>†F4™Ø[±eWeÇ£…â,SPêî\寗ü˾ÖÂ.åDü îE!òÿ•B;*­Bü;Mîð5¡{Nßa>¥è8"i£6ÿžQgA}²ïàck¿r9YúL>8ç=¬„õÆÚÕõ“q—ðˆ«Ý”œzŒª9U\™w7î•B05I ‹XÓ‘f‘bžÈ9¾ïàú{¿ñ ´¸7îò áýêóÖ€Iãzò;;!YÇÅÆIÛü›³,c…æë1{2¹Œ¥íàp8½ÓþòŠCH~©3Õ¯ )@ËéÅœ{MS%9£‚qœyCÔå¦ ^éSdZäJ(Š4ÓGBy}åíyÈOwéxÚPþ|v®ÊÛ–ÖÌ~óÉýL ð¾Â¿ ³$91Ð6"“V|ç"ÝQßËñìÔµO!"%¨5‰ 7‘x³ûm²Ó®¢a¹Ë).ÐK,ÓÕöš4#ˆ,ãñ“LÇŸkË׃órL(nâ>0š®åïTµ7ðsÊ¿“]•·¶fœÀ¯T\‹Û פÚ4ûâ-ñã;å-V £È‚GtÀO­vÆÇzêëÆ¦åìÓÁÒ|{Ç$ýÑðUè ’»Á.ðÂ΢£¶Ž)~}ƪ›k[‡;ÉŠj´-F„ˆÆj\™q_Äy_H6­ÛyY«kRªuFœ)¦œ¤s{A9t+ÐìÍžÊ!#^l÷ëÝ«Ë*J\:¿¤ì/ŽÒcXgáp¶çÉ®UÅO{føPæ)øK2¢§öÈÓù£ô¬¹\h¸%ñ2·¨q¯>•FäµîãÄ!]0ôHå*‘§ÞÈÒjðù¨ýÁšïÞÖ›ìn¼ÆðLÍ]ÐûÀ©˜SöÑ®îð=85×Òÿ¸<¬¿L;ÜB*:âF«E¾D˜ "Ç’ (C.¡ü•XÎÊŽíËf‹eñ)IãdžyöÐiÄ™\øß¯*ÕPP _ƒwŒ£'D-9LYÂG!'aÄåý&&80IÛ”Fm"ipŦ1£©#¼‚«ŠÆeóÏßÑ{ÀÁÃcýsF|{ñóUýjM‰Újõë¦æ_½Žú“}c Ô1Q)ü7àE™ò2o ›ÿ9‘d%i™‚nœ’›òýve#‚탋Ô@£)³Ùȶ$9æ=a$4ˆ}™dªl÷ÆÎOó´ZqAà¨EÅ'-‹ö×;ëu DV/ izééd²‚è<Œ¬ƒ~æ”›Iï ¸˜Ýì.– ÆaöyÞh PÂ&$ðj2+†D|NS¢6Ó1ÜÄíiRö\JábãƒÈf ^Wc¿±Ýk;íC!Ý]×i®z'ï‡UÍ pNól5)qÞ,õŸî™­\“\4ÅÜW0Ó‡hÄî)ˆŒ–-yáÝê3ö7]R“Îã 3}ˆeïrÐýs6ÇO7¾“[¢ ]e&{HXÙ?~Z|Èú¹wFäŠ-“-±2×^]ÕJ¬ºæøõŸƒ‹¨ñ ·2E;)ƒ¯ëÈDcˆ,t ¡çVaj0Òo!£ -ÅœšB)µ)Íɬ°ö/yÓ’T¡õÝPçà€÷ • Ãs+Õ/«þîf§Öm iºßlGRtèÞGn|4#ÒIž)è…qCê14É#ÄWñV!r ;ö$¼”Mƒæ/bçÏV­­VgSÅYt´ÒŒÅÞk=^&I/ Òpû+‘ÇÙ®ï*ï²M ¥ÿ!á}sÊX´m¬—l;Þnâ\îˆæ6(õœã]2·!|,f¤ù Êü”Ö.BÌÜè nžÔ/¼çgåçá73°ÜI'¢Ù%"#ï#^/¡.ºÊBº-ÊYÓqî69.`EÓ±uÆÉŽ§ÄŽÀÿ çæ.=Ò Bgi¡#ûå0‡we—*(åû$?Þ•Ôµúd¦òZî|ÖIÿú«×µ‹--³ºÈþÓÍŠëàjSµ›˜¿5鯇 ‹õ­›©Öqà›<õ ¿‰5ê½2 +Úê•ýȰ¦jÁMÓcÙÞÎ6½ áM\âmwÎÞ s]ÚôVP´1=ýk@.„Z&o­‰yô¬™’¹…ò£Nj› )AòƒµÖ;e ïÏ|Gè½àÄíÜN ƒ>w…¬°-®”w-tó?J;LÑÛ!O¨/Ê©GÝ,¦Ïin´¦Óøkh¢7v¸$û öÀÿ¶—¸è\w‰°v×–’¼SýfLäÙ{åêÛ3ÁeØø ~XIãÔu/X¬æß¬¢«Ú‚[£ ŽiᮦÆYÜA‹?~©˜“P°Y„É׋9*N~ç ˜>*Æ €‹l ~©ÐnÍùTàgJqÃËfïØÌê ¡£e/Ä…Cp©#w,Ï‚ˆYàL2œ P*ÓTNµ ëêo€hւ掠QË  “Íò‘ó½2˜…ƒ¨TËpODóo²&à\”Åäp˜í0«µŸÒ-ΧI 8>f Ëêš}ŠO”}¾¤5•—óÅQUM§öw4ål{s—EÏÒt´/®èÈP|Ä«b ™*Uý)šÝûÿ}ÌÆašþëüÐz1b\2|þûsÇTwS˜BIß.0±—Þµ9•Ⱦc—`IÃ7öàO5X«»\Ïb¢ànOĵw[½`x[gìçä>œNd߀p1‹‰£×;¼ttoƒ«±<ÿBµ  ‰“$ʬåa_ÁÍ(5ˆ`Qo_Ï×õM=0ÄA?5¯¥ À]tòö¾p¿âÑí«]v¦ÿÑщŠg“DåZ ¬Ÿ$:ÐÐ/PqÝ<Õ+)?s'ˆQcñá“8±Œ1xÒçku`§<Ã¥_¸³‰Â„. ¢ö=Ó“GÞù°D¯>RVÀGT¦EÍÊP†úZ÷É…?"¤C)%>€õ‡¬õ2ŸUÖ]É9õãaUC°ñNÖIÒ¥û‹4¾…þ/Ûví19Æ–ßí«­Ìj·æ×?ǯ‡˜`C¾;aAjÿýœÉ{5ÒÕ‹ÝÿZ¡¦EÜ}~mtsx–²‹Õ>ä@+Mî «“'È;¤´MÇ ØÝVÛÚßh[ýÏ'¿ î,ÅÄ;\o¢ËfGëlÞ¿õÚÿ¤g¡åÐl0qãê½K‹j~êÔÌÐþðK ¤½Š–ŽnX»-Ÿ’†9]ì–ó„?é4$äÔsÊRh0 ùLrœº™>¦ÛÐmÙ·£lowpÀü’pj8TOXNÓ£µÙµeîÿáÚ~îEš*Ÿyæì°Ü`gõÓÒT+A TBŸ„Ùù—õÿŸå™~ù%b½_êt.’fìËÄsߊ(¼%èÆúŽgM9°fÿgzß§jlžn’2âÒÛ´sÅcꟉàDØÏ0ºûÐG¿€rj¤ó§ZùO… L¼a¦¤1C| MÚ 2õXZ‚ÐqjèêŽeUr)FÇ4–fÈá{gò°TT¿Õ'.´ PSkFgKݪ5 Ôž ôòhŽ´xäÚ÷«Šªx8t60eB‰›r HAâxÞ…â¤P´]žÉ™…Sý,úùnJ¶… Ý¬ßmh¦ëgÖÕaøn^8o(¢-Š$¹P¨çEæ¸yü®ø™íRgÉ;ÿ1MâÕ­öñmšË Q“rþ#üM«%Åu®ïŽrLÿ=´ Lj $+± ôoGNG'S`Þ,Ì»¼~ªpÓ¡œ  •ÿ;Ü~I9*=Èô]ÎE 03¦MÍZÿÊfO™»·ìèN–Ÿ!gîÔC’2ƒ|W¼r+JYÝo+mkR¸fš "Y|cb*“7ÆgÁBGÖw÷¾2=ÐÉÓ+h}¢Vè?>f.w¸}¿Š‰Á¦ qWÈØÝ«HNxµK鉯Ï!^áX¥ä;:‚'Y‹Šº™SD¶êÅÓ\ßþvN CéWPÛÍ k‹Ÿ(mófWïe6%çóœæéÐ%»N±ŒõXÏÈé†-ãÉG‘"]Ùá~àÊMǨœ+Æ‚w"ÇÇ€«!IçÔïx™@§€å=¨ž?M¿z>ˆ3|}¥ÈHÖœ…–5#šLÂöFväa –*T†ˆ– ¢eЭ:„Æk¨Ëmnâ]Z´´¬ÁÎg"ý7pnÀ÷ ·ô¨jÊšEqIm^] (»ZVhD¸j[‹CÞþuæÕ'…„šÎ&âºk%‡e™‚W@b‘‡T…Fl”3¦ìÓ…ûüOö@‘dßO Öó!ÅÕ\,„ ”ÈÖ|;«·îÓš[Áü­!µ>‘ôfz-ÿºSÌìËbÈ=c+^Ãx5üÇ¡ g¯Éñíæ5¹Ì¡Ï¼·€˜¦l\[îß[´ãœAw$Ûh!Ùk– )¹äÑ© ÝœË3;ÊÌËL…iï|Üšß›OÊÆÚ²0oÅEɄ͉·ÿ 8#W±£i4ÿÒÓ`3 æE’ç5¢CÆTðÝ3ÁðöÙ.Œn§ûœHú°»‰vSΓ%… Úœiú¯[#ûk­¼ü“0Žka=† l5_ÒŽö‚Ëh‰ý-L!4P‹rÅç×9±äIbçõìEÎû­Š•õzŠMúlË*‡ »-Ñ¢­JÚF¯–2ij4¾’ÂÉÖ´\–SgÙ˜Z$8v#\K­xnùPs@ñ aì(Ý’2µžAÛÑø©ê\õ=Ø£ºÖ&e\ŸN‹Ýâ{*“ÐôÜd§ïÑ…gL•}ƸŒ°ó>#”£ ³*#á3¤’þG² *¯nEÓT87pôà™JMŸÃÌ0õBÉúj§‘Š] •Û£Ù?‘”SÌìÜè_µÛ8 [‰‚õ7ý¦^ÖòG‚UuÖÂÑǦ;„$”ÿŸ3þð\4ëÎ}v§ÆŒàq¦·Á*3ºû’öÞÊi%?¤‰ÊñÁE\7ö»Çƒ–O+Íʇßî°;X§96d ”f…¼ÝN’u*-)–@QUYV©szÜñ¦ˆ4¥5†2£™º ÏdXï†!OQ ”- ÔE1í )>Tíµ't%ûÕÏ œÒm;V*tmû‚s1 ñ”Lƒ—ä$:™æøÝcûÂpÅÊ@bX´+}ÃÒß%ÃYY\ŒzxYZgÀìõ}ŸÌžmÿ‘J £HGYø¥«–Ü#[f%áoðxy¬]$NÓ+«WWIµï¿Æþò²oÎþD¡3 ¢y¼qú¤Æ`£c/µ[M/7+ö êF©‡i¿“´Úá}bçhœBð¼ü^Qß5© {,Áƒ3Bq‘©Ëµ0¬]ò°ÜÓà>-s(¬.E™CãÆÎ|d]‹0šÖ“>xo ®J­S:r'¤x!÷Ãç€ÞõÂ.ËöÓˆ™åHÛ諲 ±»®NôÞµ¹²»aÉí¢q ½­·.ÂKøù§€—fêfžÅ“v2påÍðŽ®°—Ϩvi2²R¢Ž;J£kbh·Å6nzeW]¦à@d¿tð‘!‰ð¦¡¥Á’mhÏZðÃ#Z*,0®óhv¾` §Åõù«@!JmW&žCS ¶ë3Ú°ˆ ~@¹Üæ¶W‘ý£+báûNUG=&ï¶=#‘. d— Ú‰¤š­-m(“„³b*„@‡ølÞœ¸ãaýqÿž[ÔH¯ëÇŒà²àÐYõ/‘²>òØŒPC:{€ú iäíâÙºÌ*¨Ã³¿Ìï&L'Ôà¿6uŽÙªßyŽÞѰ# ›.4§ØØê{“‘ê‘6Üo1|E­Á)Fl ~åðÀ.÷|Ø*÷"*9ÑöÆŸ¡sbb%Äaž£¸ÈC Ì4ö2 —u¿,q½÷®tQJdý`zD í>^g Ú™GL§ödy‹(µ§p`Y61)‹šC‹Äí Ac)ÂTÚAªçeW‚QEÃíN¬6´«QÂ!£tzˆÑ_(„)„Ñ‹ÈékË7ƒûúK´hñr<¯ÇÕÏASVÏ•þKE­S0ìŸXÛ[úv‹ëU"Óæ4 ŽìéÍCŸÔU³Øê[¯É á´9Î@·ó¥xß´m{L0ooÔ®@iþ± I—½kœ\í¼KxÈ‹€k?vm«æï3n¶ÿ—-ög„¤ºÈ‚5¹ ÙîŸt.tŸ¤£—šôÓ-Ò.)º¢f®j'µëè(V?Zßìè5̧I¬û–»<ø‚z°ßÒ)Ÿ—ûAS@ÆñʃµZ·ô£ûkŒHÁ¿ccƒCìâ+P¾¶ \~üRD7oȰúðW9¥Z·ãà¦q‡«ïxJº&bA»äÚm½šÛŒÇŸ`/lnVxg«KsK£&ÞÎ!w›eÅZ蜮ßù'* ê@Ò«kd»¶>N4œÀqÀðëêÒAOA·y§^ÜS© ¼—º °WÀûÄß4Áþ`ë­qQ½>ð‰›˜d6‘æpRªÖòºzw (å5J=Ëwª¡?@‚€Ïû×`›Â#Ë<½ZÇwXMjEêU·d W™«} "²ºïÇОá>µòsXë—féS„-5aN_°ÌóÉ¥ú‡IŽ òœ¢×eI@½Å(­oÂP¾jK–9Þ³0Þ ZüÏaYCâÔURΗÙ>ðß5Òe”4g u|À§½Ø®~冑úÞ_?œDòÿž-r¤¼W£E¹Z““gf+9IÃxÁþ,½˜ÑGÁ‹«ô|„ûYâ:K²øÇÑÉätLd\R,W7Ì—hø5ÃçŸH{wÓ:Csb€<OÆÇEœàÓ—«“R_ŸUñ΋Ùdû9ÃÄ­Êm%:LÒ••Wæo•#Žutµ!û#WòÑkܰ¨ïIx}ø¸Ý˜8œ8ù’f^4¡­ÉÓ7ºØ9)Åh|æ*°sçV,¶åö±Ìq5¨ë¨.åÝT©Àö3ù}¡=ÓO$d7Ä©›Ê~ M9õšC‹qÒÁ!Où5—c—û=g›^´§û§;£—ÐÅ7NPfÌV¼4}F¸¦»s ”M·!RöµªOзñ+Å%ØØ®¹Â@¹P] qX}Õ½5âpú„ûuX• §ãhÃ8QÉêq¨'z’^þþêS3YsI·—ÉĬ”Cõ+½³¹p>žº³ÇÈ7˜_u ÷Q£•†:¶½õË=x­³ÍÍ\oåïDeï³®ÛEÕ©ƒ?€Óv‹”ÎÙæû~·š²×Žpý LFn.ÆÝèúäßàˆ¹b;ðØ³•¡FM™VÔ°õþ´E-ÏS¸  NSïIÔ,¥¼jnÆov‹€þ±–íôݹ[Ï(‘ð¾‡þÁæp„^Ù)Õ¦žd…ßÊO éØgjPW‡W:Ìæ.rnx TX%FH! êmf—QvëžKµ1çnéo˜{⬠_³ì%ôH49ÄAÍ´tñe «%œú ÉJ£…•ü¼xJ/³ìP‹0(·•00ÙŠö„UYý\}´øÖ‘“ÛnÚÄÒ›åJd9œv‘¥6›³‡öX¿ŸM|ÇRo”F0v)îýfg·Q\5Q–[ÿenØ2EÅľ,>Âß-'2:xö ç4 m!œê¢èb ‹î nî·µhŸ%êuÛ U°©_JPx&kÆ6TÇjá^ÊùÇÛ¼®VDy–ìÉÜJ½îÁÔí|é&ӱ嚿1òPˆ.cœ4¿vÆêóVâà[âaw0°™\âæƒB ™1¹›2Ãé Ú:i<™+;Xºn›¤W<ô¹ ‡ lÊ#ù,”æÈ‹klÏÄP“W dlê&ѯÙ`8Û‹Áœ"¡ ØÑ—”²ŸÉ±ýÐýêÒkȆef€H>5þªH »N·¢¤æý<ŸƒyLºpöwGþ“•°Ý(ÙR ÉÖ¢A¾j2Z›ò† pÆ‹@M"á%ï7Ìšö›ÅËàØµÜÚFÖ†êt2ž#±Ã¼ˆ±“‘áBnq ,Œ¿ò+¤ó/ûÔfsªÁ`û"="›¤ÓGªÏ½ï¬‚§í `‚…ŠÀ\3z§»ˆüJ|ÑÅóWN?¥è¹æ$:m#¾¹¥üÈ6SGáýFZô‡]U¬27AWõ³DåËR~ Ÿ¢:^pRó—Â5;áâ°Cã9k¬ÑÈY¹ßðØJX=§ñÚ}+n ¹»^í‹û©ºšb0¹ððOIª3»ª•aG)O…®d8žÆëõe7Dµ»ŒZ‘Æ¡wtôë$2ËÊ`XPqe'¦V[¼3„õ޾ãÄc]3zÚö$ÿ—“Å“#xÏQ64¶€ú«DRÂCÂc!¸kÅ…ü¾¹+›e/ZmжFÉÞVfw´É+¡5sWsßXMî2 D22;l†rèÆÑm5ÖƒUX†žk¾\y¼Ð›šÍC^ò7ï½e6‹ºó:(y$Ü}ÍH rn±1Ã`^#j+¸Ñ«*Šñ´@Rnwþ÷y3 ‹øÜûh*âÍŸpʸ·ô†S£Å_@[àõ™üõ% °ôÉ7òó]éLÝ„@IþÓ²d·qî´.‰Ì“Fìà~m“-F¦¤Ë]ŒU.ôža.9“¬ISÓVyûeÈGÖ}UN¨óÅ̱HÁD—©WVœ-8Û!4¦—sZï‚?AáÄ‚¯‹lÉfgF1ª—¶2¡ïò=ìe=naý€ÞÔO“Ãwzõf |ýþ‰APÔv&`¿Y‹ayþ¬µÄW@ú‡ikàîàä-]Ä…­D(yÒö?ãy³\ãÂ×WÔ ZQ´hô­Þ⪈_0r£ÒðÁBy%…ðøêÖ»¯Ìxy RÙónªøÔYÞFòUnðE˜­^óÿŽgΩ.kQ¢&<¡V¤¶ø¶jïNö¸½`¤?¤â{ÿÄóW!ïrÁÀPà»"ã¨,ËÜðX]Ž"÷,œ‚ú™•ÞUo£ÎM(ÔT¯nÍûŽþ‚ûN©.®H•ñ?¥Ù$jê(è¢éöÞ‘›øÑ<ˆ3ÇÄ Q„d£¬j.t¦ŽÅŽ­¦nyAlQ*ù^ÒŠ!5“{o0®¢€ÙW­ Œ¶n¤k´j5Úfëѿ֮ÚÀ‘Š´Ó*`¸8´RϽ…\Òw=}jŠÌc›žéNoeú~£•Øõ¹ã­ü»tÝwàU,+ñ:,÷DkB ªÊèëL’ÇÀ–,åkãSù?Ô˜Æ|H–éüÝ>N rìï¾á'Jé‰üöi¤cß•q ´å˜N»_È1x¤À^¹Ÿ›5êõŠo%õ„­êúP<£äÊÄŽnÄk4æžUå<ýT ŸÞÍjA{MCZ&ex}©ë Ùé…<_d {FìÁ®#ŠÐÈ 7{)j­8b-ðÒdTB1ÏÕ‰’ !Oµqq"Y¸_oìV^m-ÑîŽ@ðÇ*Ø-*Ö Áé/<ýh¡ib}OÅ‚ý×yk¢À9›2${Ž[J Îm—Ar%¯®rü~?øVÏîqQ`š¬1°\*kÔ¹1j8G;5Ðsý1­ öØdDˆÀ=CÆþ=Ú.»À|·aÕz.¹bÐÿ:”Îêj‡ HÅ=–p‘×~£› P Mð‡*è*,Qú‡øÑÀ´¸þ>dévþR­3³ †ô­7Rv¨9ädP"(ßeK GrH"ß§3Žg2¶Œï›áüÚÝ6$à ©=:…›`F³,ÍÝ¥¦e½ˆ5sDhÙ®Êý—ìØmzP¶_¿¬^\ %Ù® Jd4É≠=‡5¢@çÊ‘ÿ'¹Ôç®[ H‘@ßžˆ@§¤Þû ÈH­4BÉZÉBIËr=¤ýQ޾7-CõAqir\n[î錼›åDm\‚ áïyrјªbŒÏW’‹ÅÜpÕåJu{¸›xà«hYÀƒb»î×zE…õ®O ðÌ$éP2-ë™YÍ´›xò"4 t€Î-=Nd<44†¦VLÄû¤Þ)´íí»ïš}knŠNä­wyøpÔÓé]oç/9`Ò‰Ö>á'ýhUw4Ò¨ønÎç›lîåÂŧx®îš±:(ò—­ÂÝ·!cO7ÉU]ô KÙz˜'åÈœv–u ‰`W€ÍÐáæa ïê#´tJç-ë—l>°®üüŒbÿÂXF Lc^‹$½¨œ¼ëîZŒÐ±Y2$W‚fÈa¯ZHßAé­ž°>1–ÛT£wA•«NÝ"ñ<¯(îa€sOK?ÃF,õÐAòIŒc„ß…GJÌ«Ðj;©8ZåweOoÛ8 7X·]—¯©€}&ÆpòÏùvñª"•Q¬ÐÞ{И,Ô¹o#»°RñTàëµ-*¦Ú˜½øy¤ð9~eâù±ÙÈ;™X÷»ž¢<%z>ÿÝw„‡2«í…o c¨…xVÌúYñþ}çTSDáDJÝÙ/?1 -Îàþç¯g öˆþBî¼œÌ ¹@ÈÈ,±×69¢²IèÆïÙcô”·˜y¡ÌÅ=¨Osð¢4s]ãZ«¢Ú…fm«á.ºÙ#Â’r(œ4Z’n¾õæ±…cÐÉ®êwÈç³G,i(íwmYÌ'°´æ¢/9ñW¿bâ öZ;}÷A¸›AyP€þ|šInOßËÅ· `Ôjã@£ñ¹íå{¹Ç:öô³!±6¥Ä,=|؛ԗv[…®2PeZ“P[OÛ.=|xTâè4¤ó#B1Z›n´j"蜣ûö!:KsÏ}jpç¡ÆÍÌ‹µJm,^÷ J>qé:lg*û;Ž8»”^á„«± ½DuÏt4éªNA;À°iÀñ’‘0 £tŠÁÏò^·Öe¹rÇ“x¡žæ:2¯Vá]{åMxu[9ɼ¯.¸·=›jqa¤ê#)Í’5<ùã‹ WœX£¤y*RÙO&{~<‚xB‚-7ÉŨ.ò<"¯T€3 ˳HÑÊJÏL¸¹Gu–û¿;‰WÖ¢ô8 éXž‘€›‹·dðß¾KàZÁ+™ÍÍ×k¶ZDƒÀš¼}"9ÍŽ'qÜj‚PeË!%£ õ K1tˆìpBl‹À17Ú˜ÑçSÓŽT„è•™<~Š’&[ *>Šº“v&Ùa7ù|ÙØÞ¶/X¬‚ƒùiB#ír쥺†Ÿ¤Ù*å&’È”Á¶ aÂ{G³ðˆThý`¿Wç”0Q¤ÄkÂJƒ.ÕG¢zÜôœØx^dÀϸïÂyucÞà—VÈã[8n:ó^ËP€®²Ü8ðÂ|W‡$͆g«úþ ´%à4–TÌF¥$祚gÞ¥ïQ›š’Gm¢ÇÇ#^.T9ì4ŒÞôŽO¸§¦½ž¥+¡»a–¢H±Ã;—Hª÷}uquœ€l~P©¢ö†°êsȵŸ>Áz#¢“æ„d/Wd7‹%}’’ÐKD)ñÜXpõ8”§´äspû¶cMäAª'óÍžo‹‘5QçíäjŠÖc}­'\Dϧ5“²”ç‚K ƒˆÂ‹pv5ìeY%Ðñ†¥j¹r¨¼ý{Ï2 ÚÇJ?ñWßÏŒ1}9³ 4@ÙXh¢½-}5 ¬ÅåâIöv“1Ž®‹8V^¥³x>g£AO[Bã…b}_&ÿ¥Ý JQæ&­“4nZë¸ýUk¡LÕ0Áb9ÿž†´F[Ç96ãGJóÁ;ׯC¨o;Zɺ;Á‰5Îö·Un f ³¿Îò&T^:Kw½PBÑŽ]2(ÚweZ˜ˆrñŽ™'â"ØÊDÒžuÿ¶^Ø $ÎyÓˆcÔ°R¬!Í·üò…W0§5PÍ÷U­(é „6«ƒ,W·sHVv[þæ®Ñh!sw§Ñ^ý/å—ÚûˆGSÊLì^á‚Ïæ¤ê{Ò6«ÿuµ¿Õ¥‘>2Ù_NÂ0ÃÜ4ƦûQ!5„i¿E÷{Œ”©ì—¤Õ`ÝbGØ““×·¿«øàtfÑ\œxî(2dBáÝ¡ÛoÖAâ1ÑL½ymªã"Õ'!Ê YÃJI”L'6Ý—ëȲÃ}•d¬ ÈñÍì7!’>åèþØÁʱÇÜ‹L¿Œ5 ã#îÙñ@ÑÑÎ3ïi-Èý]ù6¶ºü×gu5Ü-×$K‡×Â×&{…ìâÔKZ /ƒ5ÁSü]a¼æ:‡• sãr  ÿÁlOõ’‘p Á–>Ï¡ßFUj:d2…â0¸¾0‹§;nÒWÄÆãg|I»Å¬QâVˆéëâ.ŽËÛÇCÁ>x8ž‘+pþåU]÷ééõ°ëtù×uÖ„©Äwî {÷zw4f–ÂÁâ;jÐõQ× kVcðœWN=yWùt^´c¨þŸ7¶"¬ü{ÓW^~úrs£¥5ƒv©íGÉZ¶§:Z3¨2hÈô)™,ü§l¹ÀÇa€×߸¢°>e†ølóÇðM<ïfª8ºú+HYõ¿>§íèœ=bíÇ— !tEaîòÀÀ€í1èä<ñ¦’à ÏXš1ÕÁ¡ÑùL Öfê'NþÎÑì› “!#é§‚ýÎÀ8gÑ"ϨÒ@õÉ$ÎÙðèÅçì%ø/ÇfGí27ã‚ìô,£Ñ(1Ös#zCº‡Ëèóa-ZôÐÁ’•«–Ø£ý?Z‚š±nëÂ`¹ÊLëµ)>I†Pª»å@Äá”%xú¿¹þ®?¿õ 3\cÅÑñŽí¸vò-“JÌs…ÏI»D‘‚ÊÛ qrÛ 7(ú«’‡`¾^؃2q–?L@Á³þÔh|ð»K|ŒþÁñkZ/dàÒv#â´W…?iSr³K˜ü“öI#¾7¯½‹ÉRTqŒ…„EÖßÓ$/UJeºV‹$Á_/yO6rÃøºj'õ¢ú4už2/ 1å—Iäs…)ÿl¡m¿˜¯Í•÷‡ggv1m@ÿ„"½â®ÜN JÞƒ" ÄNp…Ìc1ø%,Ž@}x’ýàÌ—É]åùQ Ýok=·üË*ôºë(+˜a鵬\Éõ’t Ò˜%·-€ãׯY=³¹ƒÌ®<˜óãçO³ Ð…"zøÞu(ã ~_åzOê«Ù<¿`hlâ`N¡xÞTh@f ñ­¸9G|„£kÑ: ÅnC…oÊõ–ÑlgìŠSœ I€ ŒÊKƒÞ$VmÁ_UXÕmÉr,j[—˜sÕôÆaá,!´‰®-®ÂãÊ2ÎU|.žq*ŵ"‘胱Nm> ZdÐÖ!Ñpy¨)®¨ßp8•úÝRà›e=Zã–…'£ä† Çô7÷ ;ê1E:I§ÀÆæ™oÇ£­¦WûêoÈòö˜l 4q_¹›€(dˆ…>÷ný{I PZ­XÝ&+Ø\&,_w^Úè#¹‹&ãMvhc 5ÇdEì°Nï(ãìßâ:^L@lñGgª[ˆÉ:_WÖ$)ùŒ ;×Õ·+òØ"‰5Rs%Š´×#;ö Ä þ ’Ô6 H!Éì¦þwØÀ…è\Vãµu•­;]ýi¬\ÙrÆ`Àd¦AéGß)zÎ ™uNj*a“r±ÃLÏÔÏ5t°tŠ‹T^ ìà&ËR™%dýAoFóHGx_EåCµúÞ®b1Gñ8i7LÔ/óõãEÌŠmS“ÊãÚ^¢Cˆ¬JGõÄ\ÊóöÈ%tR‡Î·^%ÂÊnë•c¬~Hóþ@2± ¸,Ákd ô”žLŠiò:«V’æm?§—(Ï1ËÜçåÖré ˜SÛ~³Ñ@ñtïT¤™X¿Œ©\¯æmU+<¾ª›‰wFQfÚ+­Òoø#R¬ ¬ö:בVR:§Ë&N¹9qïµ š#IËçƒ&]é©1‡ät2„*Ê‘qF¤9ÆvÀˆ w(Ç ?© u¹KÝ/€ ´AZ{¡E#³x(¢-´å*Émþ¾|7ù‚´é”Ìÿ(F3Ýׇx¹çîM¹nCŒÝ£Vs!ygk0δŸ{è[V¦Uòì­i|„Vo‡Ùì­Ðä¶ ‡"‹Eæ† öÑrŽü±ÖGD•[~Ît3ϲck€æ  ‹‹½Ü‰©ZÀ¿¼®ùÐKÇQ™ß4@<{=÷p×òÙ ü¸Úú’çþŽ Ÿ€$ðWâþ’ÏñÝý£3'UÖÝõÈO'ÁtœDz‰ïìjýØ<À“Ð`ÆÚº¼7ˆE|äаUH¤3/;(}²ÀÂh¨páÖIÌš˜[¦B¬ÏÁ|Jï1ÅÀz?—jÄ€¬±Š=Óíµ¸Ûqwœþ²Ýüñ•C™lÞoß>'Kkã´†SŠ>ý/g…Èwº?ÿ”M9%`{·š»+`(i&È“âYd*Øëå5â€êü®÷ˆRàø¢tHîFUL형¾b£è`Ùoì>»‡Æ7ˆ¥¼t}gñ_Á!Å-Ø!å(#sðtý@>Qä˜~öI¸~\ò”®q:_ˇÃý„Wh-'=£Ãú´ze2åÒ6™Û$îþ^%6Ë\“³i=X¦åi{,kWU؇àÃF×`‰2¥Qtø4ÔÆÙBÈç/~{ 6 }ÆVú/ESÅt3_åu@Á!3êù‡o ¥lUIœ•Z¦TáX]DÓnp'ò 17ÞQIFº}^ýýúa“3ƒ=±KA'4xTZè4Ù=¸-úÂïyʧì”@0+(ŠyË͹î„\^‘^DÝíjZþçûË>’ôTF!ăò¥£UîÁ)0£ Ð|Ñ I‰~z†%ò²¹e«äµ\s™£ôÏ;kU—í×#rjª,2O®eu¸¾Ä¬ÞÌ!”•XÆö"ñ÷}en™‰¶²q{‘ÝÃWT¾ÄÞ$ÙÙH*.ÙÔ‹¯å虜Ÿ á¤ê¬Ëb€Ô’?£²wV¤Z‚|}dæÂ÷óeÁ5& ½g;—n€‡€_0ïÓÝjÒ,@H“~¹•ÜC0!íq7I'<.ýÈÆÀ0:mšåGo9fò"ì—ŽÙcî@ØçÕדƒøƒ€ 9’iÓÃakÂ׊G KtAŸêþ„hÎ5'tØ6âÿr´¶û¡…ObBÞXa© UŽØðTŠ•ºmÒT)d3¨TüŠªßàÍ?!Ó€£³ihðf+ÿ']Õ!Í5i6!?õ1ƇÓÿ8h6Œ~o ]ç³÷§£â!  ^G„ÑSiü&øgÉ7"ïµêŠ }˜Óìð"²“ß;{ð¯æZ:îŸÕÏC½ÍÚ&¢MÖ þÊA±â€Õ:ð´§)Ÿþã-|UÚ´|SÒuýšå‹Xsƒp¸)äAŒ»^±w!ñiä]Kb²Þ^iSÑ ð^Z€lÞä®Y†,Ö>À#¶ÔS= v=–^öÚU¬ÚNúžƒ;n9žÕ¸}8wÈ— €p1m*¬)É ûá¸Y!wfÆ?6­øCÝz¼|&ÎI›èT&wÁ¡ä2Síß~UEv(X/l)ÉöhƒûQUÓÄéDãŒoYPÊy/hœœ¿vÂJàà{JÂ#î`°«šÿâú!\Ó”ÜïˆÞ„) )xÔù’ E< ,¶9LÙá|ÎùÕæÌJ)Ôw #©‚ʺ *À¶—i2QÞœh麮{T·΀ªµ,I7ZŽ$tD‡Ù:¯!¤ªÄ¤·lD½(ýë ÞùA_Þá>çaßS# ŽQ÷}¿®l~?1m ÕHwZÄåÆ.ÄQ~ ÜãäµÕÀg‰x™>¬xVÅéö£ YF}–Œ`'âáh3"‡Èæ0H·é S¤` Î;Õ~p®¶¼OGÓò±÷Æ&ò¦TÕ=¨—ç“XúxÍzã„°ìø=J½;UzÿC³½üˆÕ5(cP^%]¢r%¾?`£0éÇ#´y<]û‚/6´©°£kí6;U œpZlò :F|qŠ~§“’94åð.vô‚ß%ô„ïfÌ`²¼ë€KœVX<h)ƒr·U>=›uÊ8ÈÅ>R­Ôçb•&ëš^\FMà×ywŸ\i°0ÞÒoˆø„G®+=©£…DF¬†ÌÚÈ{¦Ë>ݵrú)•.µG÷l ‚Èû³ FyÙ¬¬>„¯—EÁ˜My¼?îÿ™_æQVÑñŸÖ›t"Å·»*ÙtÍîå×X(FªÜä‚›Bxå”Q.±Z¬†§„­:c# {n\>ÖwŽÀ)?shŸèTkbóK BÑË£%…ÅÄ£znKÔ,ÆàÿËˬþþ*™¢ám½ÜõÎ61+cwcF=È>]ï…Còž¢äÁQø-úTtíE„Ë0jéNõrÝ©ù7ÏxünŸn{¸á-Å{Ë@]J…nIŠ6ÛÞ’•CŒ=×é¡-C«L×€ÉÏ4…Y—¾t \õ¯ —wo/t¤[|¦§ì† ÉX©=5‡':€Â¿CRR>‰ÖÚßÌŽ—ÉwÃpO‡‰³ÉÀÐx¿úµ«t4΂wMÌ}ʃó—^Îbåµp±lÜÖ##žçt‰(¦›¢â™-¼FxVׯoÃYuçÞLx2̵);Ü„cè!å*κ±Ÿ½9Ògbæ]Ö^á@jçE3井ÜÂ6>ñîæ*´*ëÈT…ë)¯Ù×!Dã´‚ik¡¢4÷&SÜ#~%ºåŒ.í¡i´–{)k·KÂÓ¼@‘0°Ùg±¢Ð„ììG¾¿…MŸzSîušE³½ ¯pÐ|‘.˜^/@’g7š›bÙ~î 2ÎÊâb«3vTÎÆäƒÏŠž¾ÝMøC-4û$5”Ub‡õšÁ•œ¼;=EÏ‘mv9¯Ø{ÔÔ“lhLûï®:Ý>øÀjßièŒWÓ\’j " ¶ ¸…4Ï B|£Lübz*nËÖÌ.pC PŸÏ'±È{-sý¿ê ßO$>á¥ÿ‰”ýT¾á5-FVÝÞ[QøêÝ^ÒøoO³ùKPŒ7ñë¢;‘-̽ÇKè—n4 ZÐéû†9t+‡æ§Ë£·öü[s€o¾‰\§™`üq¢ôEžÅJP„=3U£±y¯‰··#òï,Éú¦3~Ϊٵœ8ùâìa¾Ÿ¯m<ðÑ´ž¨ÿí{?U#—¾Cƒœ —^|HÞj1™…šÛbÐÌ@+{â¡»ø\“Ò›¦8SŸDãØ?fFc©Dë´~1¬öõ·[âöAlöD«‹øí¾‹è›™¤j/‰(ý±¦ Úù«b –SÒÊÁBØcUðóRC›È‚’—hsÔê°kèþÚþ!œÅ^‘èßÌæ¥zÐݬ’»gx—ä ïÖØ2/ ÿ‰Tõ¼é«b±>˜•Ì+)h`úïéX<òºYª„CD}@(€aõñ²Ô›gG¦­v—ÜÏG8Ñlkâ€sI|5™˜Fe“ÛÚ2Î)IØ¥p]gÿ¤Ìó ¡}T Wó4ÀM~~À¹ÄXõůDë¨݆'8ãþ4d*˜ÄÁâ…ÝkÚX‡‚û'hûcº;H…M­[ Ê ã>·õF@µïšÀ49aFí #V™ÙgÐV$x®œdn:Xîz½‘É;…àÐâ]M@£ ÝÓÁ*i3c(Ö«þ¨éˆ•±†>ÉWKiÉã_¨Þb(G·ƒ—*ÏùD6ÂÕ¦Jàá0îàxâv²»K7w}£KR^p›O£z$I_géú¡ %#Œ `Ì é–ÿÍZÓ*Ëwí,ñ£ ?~o@MÍCÏÌdæR«¡ÈHuÂNA+¨‹´PRüõ]}d§§”}¬´q1øÊp~ñ‚ó‰%ëîµc8sÁÕBñz]íÛ HRH¤¼QËAaGý©EãjÒ¼'äEÆlĪs1OÌ•…ªg$~å«†à‰–Ð#ÙH½•(BÊäâ¶ïú*¸SÛÛ^+8xdœ³ñp}IDøtØüKh-–º¡&c«yk¡ŸŸÁNï5±wæ&$m¯‡aËŸvÿg0¨r:óê}x«A5â{w zÔŠ8Ä‘q8q:K|e^¥ºü9;À,¦‚PTtê7ðËÜÜð&»*®¨± à EÒ0Ïgü• Цm^ £‹ ¾ö[RC#ƒ™“j0®&ý)ô) 8Çú-7✥Æi¯ÚÅݹ3”<º×q?]Æ£ïVáöÝ šß.å:?†ù™Óc.èCÌ8ÔYû@iʯZ­Â\í`JÞžÛ£ÀÇ-X>RŸÅÎì”Aeä3ü¹ð£E[dõÈÅ@Ç0*,vÕÜ÷èœÌqI%?À’WÛÅËÓu!ŠoiÓða¾¤9üÂ.Q%`±Om° v)‡€Mø³Ôx©ÍÄΉÙé³PÜìÎýn³¿³&Û9á0ðÁŒ)vN¹¶%?x‚)H¨ÕÙÁÒ똼çsŽHZ”Ûk¬9ùÄ,íl& ×a1 Iÿ5N–Øô«7”ûÚSßw¿è5Gb{$ª0Ö6ŽúGóCâðŸc‚G–QØRk¹ƒv¿8®VMY ú¯ûP¼²yWŠÚ7•oOú 2›M­¥ÜÐQA«¾ˆÍ~žÜÚ}m;ipÓV¡(MDÙØœíqÿìFýEØlg?Ïs8 ͘QƒìLÁôsº4ì/Òw‰¸r`âY8$‚l;OÉ+ÑØ×°õÐØ~mÅä•F*Ú7#çI›,QýïÎ$ »ù\ì{dÔ×Ê>ÂcܰÛh‚µÂ¿ÀräÃT©Ò5š²IÛ`õ±á¸Cý{„¨­/åf?¼d2h¢:壴™ÎjÍŸ¡n߈K‹†]ñÍš¸/ó'ï,¿/L‡ø6ì¡7 JÜN©u‡[$¹K–XÔãöØrj£,—µxÛl* 'ð/J¸ÂŠ}œA8š¬3ªøÁ¡”9°ôL1ê…|”¬eÐ-¾«æAß±üÔ¥`ìByc^‘<éY••ø ÏIID)…Lѹª§5TƒLÍAFô7(4Î}{¢žž½’kˆ=É™§ÂzCÈ1‘@gjKQÔø3}]µ­sM„BÑä(7ªA ‹Úˆ6‚òõ¥|#kÑf ½We€‡ü-á¶ŠwË¢ÝÈÓD¿YíßÿDõ¸r]ý<èÆcw‰õ0L%T÷ çÓ²ŒÂ¬Eeéú;¾Ã° ³Ç|ϰT5[ÔV@Q›sìÀÝl8$l„õ`\„´nºÄÈʶUÖŸCˆÕùãö´ýÒ¦Ìaó –5u£e¶|¬«Æl]}ûÉÞšI˾!‘=6Sf¢™ëµ¸lnbM½`B¿¿}¨ pC&¨8t)R|ÎóÛ?%~T^¥ÆòÆc-¤ {¶ÿ[.Ôfîè½ì› yLÆ.¶‘u²Ý¨ Îó•oò•þØ'`ÐÒ’l5Í 0Pü´JZãàïEr40ׄèúxÀMxDí@ÓX>%ùA‚¹¾6Ét?í.Ì`<° ŒË45ب;ž6(´¯llNÖ×l!†3ŠB:VCYN ?·ûâq£Hû½ßĹtŽQyû½"#lýW&n?›$’2´÷³›1줲ЪfõkÏqËÓvŒ6¾!ú-¢nX$OäÍžpB€’ éŠ? _QÏ6“¢‡¬ôn4˜†–¼ŸBe ©ÁÆé$¨•Äœª9²Á±¿†:ôڌèªdŸÄÔ¸ØG*ç°¯×@:è¬Êu©S 2Ãe!)¶2 È ÿù¾–h¡0Œð¼­锕õ°¦cÎ ‘Îb¡€Þ¥ t”µ$êÑJ{~.vÖmdp°¿í(íøØksÍôñžqQ±˜bŸÑÖOá ÚšÇWp‰ù®FÁ®¤?»fN*êl™#íì¢U^ñGÝ—¦T1Éf@èŽúfÈ!1u|D:D«fæþçÏøš¹—¬8o‡•ÝTœG%·rÉþJ‰ö‹cF݅IJ¸=Çmd¿ñô48JMÚGàõNO|ÞHD£ Æa\ß;¾6K!y#®Z&Ä ¹a‰Û^ç™lÌ0]j·N?±E¦W^ÖYŸÂÀUÖåÖÞè(¶Q{¦}lfvæhÛ×Ür·5¢H¦säVKj<°* iÌì凑Ñþ-KÝeaÿ07aV˜ÄáÏúé*\ò.«ï°MÐÉWð-Šþ4Þ ¾ÇÁ•€¨Ê9³;NÙÂ$Ùî$ò!;…Æ#Hz´ß6Èœgym^ÉæŽ3˜V´2Øâ2’ÅÏõ:8x>¤ܵbY°ŠNe£Q­Ð•/Üfçp'´¾ªh7»qV9ц¾{Ø“è{kp1zÆ.¦u>¹§zTzà pD–‘¤ÙlŠ\göZñ®³£¾ÊXC:2é÷ †‰&t†º²e!`6Y³¡›Ë(ðá©M& ³Ê•6£3z·EmÄMÝÚR< )œýES·ŠÖ›bùÚ_Sn>8ƒ5Ô¦>ƒ mæÇtàuNMiénÙ0ßûR„6'Zéë¾úØÚú*ÙJÕLòðÅ(°>ZA¾8†[ˆ¹ä"¡¹Ç»VÈì'Õ­.Å'3%‡ï ·•ß]¼¸zÆ*¦—î ݤÚ,fb¦8œ³!mµèw¦*õlÏ5‚å“B™Žô(7PUô^šò¦“ÎGÕáMßͦËõBĵT¦Y›Õ3$èÐo=EíS §ýji/,Žk eú"yØV¹FaóÞÆ76ŠEÈ Ê¶ÇTèÓ:3&Iv ,ÚðF{¢ù94]n0»S—p¼ PaÖr8î$‰V8?Ö=c®*µ¤û8Å2n–<ú·/õU:1˶$ÎÎÀ1œÖŽMõ}'M~óãdÜâ+5 ÅÒíÈž«Ø!-1Y¾Vþ»m†ö•_eˆq¹½€œµÃZ¥?‡ñ¾^eH–zõ¦ k· a60V¨™Î`rô7ºæj®iJá$bN fáÌ‹ßyˆmöZM¾›sM}s©ýêÍ »” Äš%Ê1×0¦NQ­õç*Š÷CôH7…&@Ú¦o](‡Ž¿!)†'|+ûŸYyÄÇú±ôðˆ™æ sX„2—}vÂA]Ú1Ô‹ž:½âž’Ê…•Þ\Û±åí¼n EeÑë9O¤´àÆ—IÌ4ÜÁ„74z ‚Jë\q¾_®Ÿþ:8ŧ’ð ðwƒÈð¬÷޽òu°}Äi“€Šx>æš”É`ÿú#qÓ x¦'×”fså’¡•¦P[wæiD¨]Hæ…â!âÓÊí05vU€ÍPõ|o!2ž “˜5£eݯk¥¶pmæMÍa!­`4öõúksãn8†‘ IëaýqZиgäûK.t'ŽÐÇr¸h¡žÞ5À3ªo–Ž&ƒØBã†#¬…ÅnI}º GÈ¡, ÐVðïˆ`0§Ñªöà›²V”ê¾ôbü»Î¾#˜yDÊìvâò„«…`õÜ…N™©%|åºÑ:,¸‚=£ê»&in¢¯%q Çl½c"n3 jЙA<3Ô)^>`tƒãÝèÔBIôÕ§î®=¯`·ÛšLKøáU”+(Tã”Ùl]a!„!D1,cVá¯Æ[¸Ç*°‚Šîú‚1Ò:à,æÊÛ®dèZW)Rn¶ýT€ÂtÙ9­§s§”ù¶ÇxþKÿ‰§ùÅK ÿ1~ %ã8ã:p±aÅ×wG²y(ì£Ó@Ë> ½^~Š ƒùépËoã 48 È1–ÓÔ.\žª R°¤‡cEîmõ¿„WìŽÂã•}€Óp‰;P\0ÕkéKrvv¹yalÊ@!"÷À.oaºj– v¾U™ÂÉMùÑP§\ù”Õ“ûYò»áAnV1,¿I}“yg.߯íÑ›xÆhßU®ý¸êá£÷f<]z»ömʺ¿jõ`*³áDý&—É@¹•r1z—úI)Î¥ŒðmÁóS}N×} ¨Õá€$jö¸Ø`¨˜ˆËà‰7áIZ6hØ#` [é¤()ßÊv°)åu–aXfmît„„NX´ö“¿·[ ű²šÓõý«10q¦êUz>¦ðÅžs=iɺLÛ}ñÄ€|uܧDüƒ‘¼‘ùXh—–\½K$„ÍšGTë‹ó‰2”q¯.Þqò$Λ?vÕ}Æ %ÊWt>œA^W´; ÀëëçXýˆ ¯ì?ëo3Xl4ð±÷œjºÉÀ¹íøQðz”êõ€®ûJb‹x«Q tß ÁÍõ2–‘ô•šë-ßæ,Fû‡ý°®ÓbäM€g&.ØU'>60ûŽ&N64Dû3¸óÍ8?ÃÓK^Á¼b"¢þ&Hr™÷æÛÞ;Ø$$2<„鿌æ®$4íê2)ĵàUÒÝZ/Ùa›÷RÖ0“ B•¤ ‚qøsx3æWŠ nnÐ?mFc½vŽÜ‹Ô|…‡·sQÎ+’¥F=w¨T[±rwÎꕊfíÆ´Ž”ëÙcÚJú$úëÑð6/¶ý5ÓÅ׫59M,÷¼TÑg7H€ý.Q,%“~ÝæïV„Ù¿5µÑ¿,æ|g%Üu _¾LŠÙT“ëK' 8¦ÚÙ¬`EÕ(­cj߇S>B(D¯_úDòîò«âQ¦Ü¨Ž÷ò=ø'zá[ †4ùø/ê°½ÿa;:þ?ßÂ#/œ¦ž,6m T‚Û¦O(P!öw žu–„0Œ-ÃÚ²Ð9X¸à=áS" ÐÆÔ½;MëÀæK<&XÓ‹þUãÖ}]4gt5ª©kˆé‰Ìˆu5M]Ò•Oš>Ò`þ¦ÁUf³EÒûuš)ºjlkñ©•ûèúhG²êÍò®ÔÙ¡R‰P oÜ8 DAKx,:cÐ\ l)‚ŽüâúL’WÒàË’"›™~âbô«´Î¡ÜÛ§ø‘yĸlÊÛk•¤,@ýÞjp&Òh:ØPwŒ4LY;ˆe-é{=¸”¡=Á.®™9 ŸÍÉŒrŸwˆ&°‰,Ún&s4ÑØ ºQš:.Ýl“vÜK©3Z¿ÎÝFª ˜”‡6t ‚ºfqr?¦ÏË×É-›iÿŠ·9³h\U9ø1ˆc¾ùt%èìþI Çù–çÑ„á÷,~gV–*eÖ ®q]æ'{öÛrú£ð"@ÝyâžD°¬×¯]‰‰\ÇþVnX»E©ú”§ò*‚üÌŽ€¸ltffN<f¨?¢fâko‘Œä A‘÷¼§¡8fšHnÚtÈr¶C#*h´¢¶×2ŒƒÑ Ltp_3{Z~Jsßu¥±I›¥pé«Ûä9£zÎÉ_˜ ³Y½ô¥nÙæ4ÈÅ-¾Ò“Yå˵þòþd­ O  B=À‹ÄËïT€¹Tº?æâvwÆCч£Cž«û[YÛÁ@ì;>Ô =˜­Ù\¦ <=kù7@.âJöJàÍ@ËøÅäÊ­'ÆJa…¹XcIba}è«Ç "WòvkòD´¾PÐîš@WÁíUÙ-!ÂÔǾ& çê.Ñ+Í4ÅgQÇÿ`ý/ _›?Ù9¨Ü6„ÁáSèPd¶¹tÌÅ¡¯ÚðCÖu2CÒsh³Ïï'[»iy ¢û…qº»²;g+<…CΦªÿÞ\3r™2)s<1Ü4Z ’€¶+Ž»×ÜÑ+©ŠŠb›FË…y¦¿Y4¹3ÊŸ&ÓxÌuÛQ»ÖN{«IyE~YÖµsï6Êa«Ùh š¡ÃÃvhµ÷ký€FBÆŒ²RÁkP˜æ=@•>ßßrm%8"D–«õ”„»~¨ÿ4<ñ;¼E̱寡{9á^qCaσo˜µ/ŒlÑ*ÍW/|¨ËúÔ׳o¥¨Åºªê Kªºš±ªÿ"LÛfz(&©÷)NŒ,\:–*êH5p¨s-=€‰0ˆÛQe×{‡Pd\Î â@ŒE'ŒÑwa×Ë`Fô‘w¹À¢åµ”³¼´4µ°aÑ@ †û†ï#}I9stÓT lh^¹Õ¢¡‰^Îájêƒ4ë½öÆÖ T§—‡øŠ%5ÚæáÎ]DÙö†A¨ /,á¾Òþ=XT çk@ûÉK…‹Œ6IAR‘ö"ÖSHgRİ®0B„j;³(YÓ¤Ô‚K3œD´$½C rå?ôÔ+™ Ùü5ü4¨›àž~öã¢â±]Ï´€…Kù>öd‹AWb©Hâkb¡ØPÝöÁ¿×H•'vp±²h&oó#žÃ2ÍÆŽùŽ0™Ÿc¤“Vˆo\oR¦E¢~ø„:þ\ªÚÛ,På2.çãÿý,¶ Ÿ»gCÛynZlƒá»[öä£þò¬È…³V5î/ÒÁPÜY@5G…¼ÔÁ‘ƒN<;¢&Ñ?Á+n»ÅººÅT?Q¯ðX¡IýÁ*+“äËø@˜‚X‘8Æ ÒßÎIE3qxÔ&ñ ©NÇ¿¤1»¬ðmÖÙ(in­ÌZc\lã}jôf’ÿ¦Õ¢¢–¢Ox¹™ãê3”¯¸AþR¦¬öŒØ µÿ40ÊÄÕRuç@¨¢Í8¶¡á“IHêÍyòT~^w°|wáÿ‡OF‘U#ó\mík<_å×áÌ<³5»iýæ(Ãq¦®Ô…[©¯"f—,Ã*ââe˜{KŽ‘,‰8­•¯i>®°ˆÉ—Tj]_I¿ðÇ$æßYgnLÛ_j…xˆzfð=Ž•f3œ®Šý«Äˆ\ÍÙÌåL .Ë휹 ‡,[i©NB õ)ë‹æü鸶Àq-ð€`‚´îÏ迆´ãt»Ç†xùµuÇEÝ Î…ÿ&`÷üÀ²3©â…¼Ÿ,)Œ¯L}’«Iù^ȘZùÜa5S¾%rAŠl<XQ¡Ð;h·³ûÛ,]¨cL@õ«ªù†xû;nßìkÐäéw©]f­Ó·àÿ¹ÜAÊRW ïäü,¾öGˆbw÷:̘èX †T9n;loW~ù0¾Gb«Üd¹&ž±Õï­]ñAÚÁ}åØ$œñáÁ%²lÿNbícÖB°Ì^Ö`#<À¥¨´é!Þ%ÔÐûm_~ ½Äá mØ U¶±g¸?®ÖµIýÈ;(z.ªUUEšAh#˜Ýà~ÃÂH¸3ÀdÃå;¤åý“õŠ~Ì9q^g­ý^âäê\ðo0øŽž™šP[¶| /ÏȶgTJ‹”ÑÂ螈ÂW,ŸÌÀ…0 Ôwè xí©¬MÍ+~I:†]çß]“ c_0‚¢{Òˆ*Õ¹oöÀ ¨Ô±£Œ¡œ@ ð€äù³eÙÖ-«ãÀcÍ »S·8ÚèË‘çL }õ´I—ºZ±xÝÞ(G9›$v+”;:UùF³ÌCÝàþB˜È(Âj–d# †lÒ¨!Qèº5À‘OžNÖÆ1Â;±>Áåɕ܅Z¤•“öâßG†˜6¡%"d]?~ Ū³skº0Û"Ù5è7‹òܱm8-]Cê¼8`lÙð|PûýGü1–—„p¼Ô¯Q†ã†…H¸ôµÏÿû§¾Lñ¬S4.…O“ß4öçánú®M`Ø ³S·Ù¸ÈÐ ‹Âu’RhQÍß)нfªaÃñºÖâ^Îr8®ò‘Qcˆ”6v8ÀrЖbŒ» ÷Z­VO©¶ûÛ|(;Åä’A#.VÓU§Ý t¼ÏªIf’"(ê¶TKÞÁé(¹h×Äcy!ŒjåJLZŸ¾5-ÑWzã_‰L„’mU¸¾C.IrÞH¦Ò³m„ôÓv=žÎ¶Ì¸Òê%詊rcKLŠô€Þ¦ÆU ¿0Y¾ç·–—OÇ¥¢–ÐêÝÃée]ÓaᦖÛT¸]¦ÊŸB‘g]‰+;Õc&Ù¼]"ýa6¾´ÊäÕ½Ûä ™äïD²7£2cd¿iÏRGàOƒÆo@Pn¶£0›ÐîS6ЋNÖŒ="$ë`_(‰1°êИæ@÷‡aÛ?é«ìãlAÉç†p‚¶#œ`©<|RùäXcf;ÚÒrìc1¹Jcå6ÎöèH A{ù†9»iŠ–sédÙ—/äÇP¥Ž£í¦®%%ªŸ|KÇÚÔ Ðô¿9—ùíTsËt~Ò7g>ËIWŠK±ÍO*¼ú¦n*.W’ï_H¬a1±òð¤Ãë`Yý7FlÅʱJv¦d­#¼]|Pú´¶49”ónrêD?;GÆ<çp7¤Yš—0ynÎ#»LŒç.Eû¦¡Fá g¼Žº²§+* ‰.D´aUÊr/±ìß,ÀŠ]Rd½VU´†êQ¿E !r[©AV¶1b¼a¤Q7 òì%¤-ãa¹pö5ÍúÉà¯sTn $Ñçj&ädž6}a"FtwÄïˆèÕJðµ&Åù YŸY—cûãî“pÕ¦Ø×á"ú¯v”„7ñ2 ¨^7(†÷ž•‚Èá?YdD<û}ƒM4àØŒ¥vÀԻ˲{j'ñéwjeÞšÎò@õÞ:O™ß0]*Ç ·ýã‡ôýì1µ Tá¶ÈŠ^ ´x^ùv%Þ0”Q~¬¤D.\ àõö*" -o‡yýw~Ñf9b;œ"詇gÊè(•nþ™6ø_!å„ÒÛj ;’„D0¸pÜ%îzÚ6TõB>­öF#4HÝ•õÈGà¨1F $°„.Æ0¹ºƒ!~œ{¤Èh9÷ãÐF<—^З²MÎa‡?Q„õIͼ#2ç Ì^^ŠLñÛ8Xá2‘Å„á;Qª3U]@(£š_î_š·ê¯g^kâÏ^>jçÕÒõÞ«-‹`f# ãOdV·nQ¶Ý[n —ëRç˜fU9ÁGÏBŸSCcgÏ—Yå?j} Ðn6c+›·I%7Û‰;ĬôÉc“•™Se ·C¬@õLÜ—MŠ\ šÅû’‘N«ºŠn-ÇõéÂ<_'Q1q.=ØVùÚs«ãŽö2ëxϵ¼û¬·F•W„GÄ¡Oy •³“²¹—…pm^Ã4'mÔ±4Û95Im™Í¿Þ 'Ê/tÚõm ¨K·ÿºísiTä¯çs™KíóðÊŠ+¨0\`9UP_oZÙKÚzÕexòMï€n÷ †Î5hpC-¢ÿª|x{ÉÔ$ˆòfö/¶4Sî1Ô…´ðdëˆã+;2¢í.±¯¦Ðæž½;oY T÷|åMu€H/gì¼ï>ÅR‘Ör Õ¥úuTíµîZÕ÷6\'¡SózcºÕ¬˜+&£Ü-&åÍzw¯_n6ÂÍIÞú}ý®q‘iy!4Õ Ës!%¦ž7½±œjˆ.#lCŠ( Q|ÇþÙÌwcº<¾˜)xHF÷96õü‹Îz÷~™@Ñ¿¦¹ëØÓ¯e0Çÿ.÷‡r‡û×ìjç]÷á\¡ rOò³Ÿá€ÖL” }šó?‡P4∞EdÕÙÊ-lòÉÐTä åþ%öæÁúàëPT‰É&“ª>b0u› QñEíÍ3ùÐTյЧ^ÂJŒÚVÕÌ$ÔB…K0Sk£Ñ±ØðÇ5 VœþtH1 ¿1N<Ø[¥Ë*¬R'ºxø…&òëãˆVþj£ˆ˜ˆ³¯1†É"Æ ‹ábyœˆõ¼gvýx0¢*-W÷<˜È‘º,Â&NŽÀŒë]%Œã¯†‰âú³bdW›{ ¶óÙtM1^©UÞ<³ã¸Å ’£SʹàºcWfXpñ>ó黎é]Âbn°÷…F–Z|}I4] ø3}d§Þ0}IXKå3q1ºÛ’„« fõ¹}A6µK*ÙêOGØïB¶zKÏX\2ê%;L¤Ý+Ò™ƒA6×LÚ:£( C@ €÷qf²§b¦ ƒ–¦Î ¹gÕ3m’Â9çú·ä:蓸Jó"/µÆ€)â žGø ŠŒsî¾mÇRYá.Iþ7^iÞš Éù›¥GÅÛNß$~Ž {ÓyOÔW9¼§“O'ÎeýÈÕ Ü»ä«µ¶<†abeÂ&ñin‰A~ÙìeC(y¼~ã@“ºð0ÞÓò§@ú®Õx 'u[E¥¸.¸¿¢ Ÿs)¢Ÿ­O˜ U¾”{ ÿ¢ }Ö5 â#îv÷RqÛÍ%³úZ…„`:æŽ 4×4â¢yQ?;Åô¿ ÀEzèpøë”kzbˆ)mÑî…)QÏ‹ÿ>/æ^æðAªÿýÉýwÉ‚C'AÌÑëf¯Ÿú:Õ#u´K ŠóücÕóLòN~áÞÞ-u7âZc£ì§©.ž‚¿û¬Y,í uT«q´ƒv 9oÀ !­^àÐnE¯£3’]Q[þQ/è©0v+åÍ7ƒ~W¾ eˆF~?öåÍȪ#@OüÐP;,øÐ®“(¾R„›æ´l.m$ÈGÆÝaìÀ„»Ñ›ž4¢ĺH¯‚_ÔmX3p¢ísG™§Ø‹ZûÙ@‹Õÿ½99B‡f‡dä=¯£’QѰ¨¥³¸^äé«\²øMö¡rÈÌÒ;OŒ_4¾/:|]éÕÃËÓ ŒvtßŶ õG®j³`=ñÂT`7«×›F/ÖÈbÍèé9PÞHT¨9Y êÈ@} 5Ε…؆Å×'»Í_´µ×¥AüËP¬×«Dǽ.v’?[ûzõµ°ö§ì ¤ Ë; ¤[!…uNW¯™Ë¹ûÙsQ†ÀÒÜøÃ˜Ù ¢ƒ_£·ºDjX±Xç<ÓNü¸%sz;#ÆÙ[ŠÚXsýÜb7m¥ëe°¸‘ÝŸX®Ofg¼ !µh£~ÑT2¸µºì-åÔË”?€P1^\uÎm§|Çà“°Af»q׎G…)Òö/­ŒXøÁå´—¹Äú€? ®ÄSË‹7ž^I>ªÌ­óxî|¥‚óZ¸+écÑÄK©&Òd=y Ž2š Ë‘ðÜP{`92 ç¬ÿ ž­K¾f]{i«š*Q ÏÄÙ\b4*C{™(4?ßë²f‚=è¨èr†B4¿÷%~³,7ûÔ &ï„*ƒ!.o“F—é­ÒdóÜÈg-æ´)ç£pÀt½fsê ‚Ïü¾É£¶¼_8Flº×…l¿ó£/>¹Rè—•³]îšÌ>ádÄ{b泞°dW‚:|Û2«ßâ·ÐsŠCµŠ_oXGú RJUž!/s$Ì^xÞwü®­‘ó9.‘zD=u÷º_É5NÛÄ”|d¼›8èfîpÀ 1û60^È"œHÓLîYÀ°*lwø1˜?Üu~1^Mw•4}SS×­èd¥–¨jüÇk•žs%Q’i”6m*uÞT MÈ*n[¯rÂ~ªgœò¾’ÈeE€£®%±9 Mã¤,ÃB0©F&ÌX‚®‹v@TüŠel¤lDC­Ÿ«ƒârëÍ ~úwS%ÁG¿^ò(|*ª¢I—ÿ¢ü-e5];y_s>w^Wðc­!n_»2¾ m¡døhãU3Òü®šÇ¢ ½~‹ *Å$4ntG¼<C¡KУÖ7–öí© j¿7f¿~û½:ÉÍ›ÌÆâJF–$¼œ¨î÷~Í ’aÕ,ÜÍ ´ìª¿ëù‘¯úƲç_Ê-õ¢  (î {¨xÐVÓ[øäÀ[uÞ4!ø×keiBýZLFsÁóow‹K!`ê{¢p1ÈÄ]]µ’átÕ]B¾'¡m§P(§|°Ùh/¨1Ùm†z—jfß—\„#aoPZ°€‰K»3q…Jq3AVÅ"ú¤‡e탎0³³“œÜKÅiyd‡¶ºòÐí¡iiG;ÕíxeD8ý.bÆèßx Æ7y[¨â:æn+†Úø}*€ Ò$Õ;ä«y‚õô…ó®@K»«‘,N/ÉZ…H»LÇ9ñ¨O.÷áhþ{‹,|Õ¿Æ%ïpõðí [»M[Êfg'„@°—eBEš)Á—_gðã+ÍoË4Óˆ=ò€%YXŽ®Z°··Õ{k,jœÎÎYy)j»§zûšm ΙS„„u ĦÑK#ïÒóýô–ÞrÈ1… ¦\æ<‘åhÙ'cƒ21¦Ó˜>,ŠÈ¿PEz*Šîþ&®›ÝÌ!,¸5\Zˆµ>šH‰{õ¯OO Ã¾èw*5²CñÀWÆþ`U˜Ì¿¡J¨5!pÅU™sº§ëL¸Bçêsµh-v!†yoéåÔUJŒçÐØb›Ù:¸G"ûz6wGPÜÃå ˜¢ø Qv4½™Y)21A 8Oj@oC0Î%yNðì¸ÄR©´/О¸âëZ'Vˤ•ù~ê£ÏÛ¥V=}{Fj²cŠMt~qýÍç×LÏ6dèO¹)®]ù8õ誹¸U«ó%\ÅÆ-NÉFÖj•Ò¾ Ÿ WkÏÞQIwE·´ÏäîZ¢—!œl;ÁVÙèç3»gã¿hJ¶)4–¼{àO¢üÉ!@Œµž( Mäû·þ[Å6•(Aæýá$¹úý?ùZ-üRåH$¶ñô[sG¾3xÀ:¶k,íC8£%È# { ”•{“šˆ œ£¬ç+y†¾äwò÷åñ’%XìÉD#§ Êec°ç6üwçÁ6’•˜ub=ü€¦W§K¦ûjd†xEliíuqŠÙoaeŠ6 Ý?^ÜPŲë‹2«Ç¨rp½+R Îk)H°(ð[t¹ç¡àÒú|iûw̤~cŸ¸|Âý׃¥ÔSã.7N™£ü¾µ$Ì‚mÞ‡&z¹{»-ýNQõcÿª$1MCsøB¢ûÙnyáíWG*ÁOs/7 ‚%TÈn‚„&­m…­¨¼†J—9JÓ쑃 *]‡bsªQçQ¯ï'TR mu ÏZH#™Ëæ:©s£+I]:;,šÐõlC¸¡kF:ÉÃ¥bµ¦Â0cb‹¯fT•ø°~ Hò‹æÑÓ¼æöfì[K¦”w*•Ô ÂÍ “Z‰¿u<9¯Ž4=¥ø¦ùÅMDeMyy³$Àíh•ÝŽ…ïe÷Ø1÷…֨Ɵ:³Â7¶d1 Ä%EÊsÈwRµÌÐkÓ˜žcüNQ=Äý{l<îÝj±¾mÒÔ•4Üjîo?2z6»H%ÜGâ<àÐ7ŽÖÝ’ÚÉ9×…Ëòé/9iÑØPOË>a˜ÞZ3ªöÑòA@ž<‘2¹è‹¯WmôO½þG©>Ú?îß' Œèc<óv^€êéÐÓÇËdÃ&Ë™†ä+ä8»"uû(ô®ÂW¸p•-Ê:5¿æu¿‰”EZâ„-ÆQ¸âDâÓ}Ø y]Íü§Å…*íÊXd ‘G±yx‹>&MõOCœV.#¦Äã¡`ŹŽxÀ4tžì ‰Ÿ§+›[nŠ£s\,Þªòýü’INLròÿê~4§!<`ÍŽ¾²ƒhWcZeþ2Ù0:ÙÉ®²®–˜³ôƒi|ŽŒDáB¼dMî,lÛß :² âŠËeïS¢P -Ðöõ*À>fzgÔñ‰ÌøCWcQH{AReyçûÀëáv‘ž,q^}j™†"xwZ";‹<Ö¯YÜŽãúó^)iYÃhIŠkds‹¤¤Ôã{u¹„™JiÏ”Gx›¥`0Êl;g½Lù¯¼HZ®pâï†>²@3…ì/nû§ÅTstµ÷Böé@üÄr.Ø\";dôY¾]VG˜^»ïÄ Þ@#Á^¦æmžÜ“S{|0حìGF¿žÊOúź3÷}JÁnÿ€Ýªo« u¯…ˆ Êsê¥üa¼üá+ÖKg|(€Ídx.‡J%>ÜÚÕœÔð=f:Üd©=*e¦i¢]iÚ¥·;õ—Þž.lÀÇjäž–0ôcƒÙû˜¹M‘8Á˜ôjáf½È~—xM×~!ú!®ï‚äÍû…Ù¤)¨ö›RAøîÑzP‚œwý8¡£ÅÆBgŸFªYœ5{a-~h¬¾58Ÿì Ô!4¥Ðsƒrkï¾ü™ð:Ov_¾Š¦Ò6˜µúW''ÉÓ)gNIÍaå5jô"è-ynñ*C´¬(Gì6ÿVƨsA‘ô“˜].ú‹\¼æ7ïyß…z ðGk–:ÓÒ¶èzOèóxjCz\DEçQþìÚ¹¯“O_Je–ûñŽêÉO¾>V(Šn ýÞñËUÚ¯MÑŠqPtÓc ìwAØUñ"±2ù}Ìä4» C‡1΂ºLaöÛØN×X¯¦PÖ~¾©ûþ¢RXо,¥3ÂÄJ‰Ã/ÝDzâ9TÔGü{|.›˜e~Í=‚þr@NN!éýEšHÛT%Q„E\fåÒ-—Ò(²Q^ï/#x‘mJœsP|?`”vž”}^,R(dór.lOC ¿Ì§kþ¬5&Cbñ@ºÇØn÷?‚|mC_cëŒSˆ­D'Tહƹç”"+è¬þÈ©[ᆛJýË”¼Î]-:ç®O«Ú:sÑ×3½Õ òÚ3ø÷ùÆQô_´JÙTWÎÏù—«K~Jý|áS(¿Ö¾Í%`/tƒxDɪoÙŽ«ú¦’0ˆZ1i-6×­ÏÄG D! ~•žøýRLH'ò¨Hà0×ÙhA*0FØ`\ô>ƒÀè1P%RrϬnÀD‘稻`J<°àr Ê K¯•>ÚØøÔp–`9'‹Ód½ +gÉÃþ(õñ¥Kä—*ÔÉoÑ0yWݧª äí퉡½IAttÀÙªë~`rn¡+׬71·Ç!Ÿq}7}¼ú=>mv*Ï$²¥l ™KPŒ?D PÕU½qÒüäQ_*Ó9×ÿ"Ÿ—8ºA"eÌqß7R1<Îøƒ¬œ“ÅŸÏHºÇ {4©9³ó:Ñ5£>˜·¨ßƨžIU%¢‘Ê\bæ×IJ+X¾­$O’_>@‚Ûù|bW®H¾Qå$wj—‡ÿî=N EâÐ>^=â¡L?'0‘ö¡1LìîÇtö,¢Äƈ€šSÀx ¤1#`N¼¶^ÅÕ¨Ç`Üá2“¿5óH­…Õà¿ÇÙ@S› >¥aäïAáé ì\)áÁjX̱ò¨¶V [ãö ñô±£ÑÓ wî9°É¦MÑÈ+6J·f÷> O%MWØüß»±[÷ƒÅàʳÇb¥=j—V½–ÏaBÄÀ¢Ù„l;lˆ` -ºŒÁ-ouJdvaß“ˆ²hvFDåžd#þ^{ô–at¥û|Ú‘d6~ÂöãòQÑв–IW°¨Í“‰ÂË$¼z²í¸NºÈ aƒ¦ÄêãcB`|ôf–t›\ô8Ñ~·¥~b´jµøD¡×e\½ögåïñ’=ÂÅw¯þê7M¥fmÅ>/à2vÓ襶vÔp¡'5]·£Ž©ÀF`/M'~—»ó•Y”-¥q1͚Ȫ%쟕eLhLÉÒŒ›‰B„Ý®RÕó¤C/…VwËü"‘ð‰ýê’ÏäPÓ¯ËIDîSbæX£ªãAd8F…¹:}À¢*ù4ßÝT™¹S>¤,UBÓ:4ŽMö@vðÕg!~yˆ´GøM¢~8VÜ<ÓýÚùå Üe‡2(Q ‘¢fñY‡µÉk›Ë†ìÊ0g—¯x5㫹røhœ9mø~¥àÕoƒÀTóѕαÄ+ôý ªÐ¿{™ÈðõvæRæjØêÆ!€kÓΜžÜÍ<#ËjbêDú),¹8ÄTÝ¢#çR%½?IÜ ªí w…í¾w1~­‚ÜöÔnâ$!†Th\üBà)8Ê@!5s§0Š5•ʽ†§ùÎF®_z}uDa%l•C_1|¡D…@JßšO¼ª\…XiÅQ¬1¡„(øÉ5ýÄq´:ÌÀÒTifõdœ¢Ì{úH™VqêîW%QÖnØü:B‡4ÐO tcô³úT!p¶Cj€”+‰éÓîÒ)5y×™½Þµ8ç§ñBœªà Í5 +ÔuhÖÿý&ø½}QJíß ‚azŠ£ø=ÁE€Ï¸@ýÌJlßû8zS“DÎH›GhebÃ*>ÔLÓ4fìZEõÀ/,A•7—@×?MÔD©[¼Ì 8 $nb¬­w£©¶Ë•Á=ȉ#”'A"‡Uô¦"ÚlhbÔv ÈÃÂH†7Ýæžý_ÅTÉÉ$ïôv)EVoÅCºíÀù!ÑÄ~®+´à…ÆTópÂ’üé3³péƒOe|€‘sõ»s6Q¬@=ƒ@ca,Ùw›ËbèKÕËùo}Éâ¢kès#¬øšËÆ'wuAÛH¹póóŽñ)˜D¦ðpê†)¯N  ßSK_ì(†¥¹ÛdùT}gÜPèí [3¯Ö믨˜Kº¸‰+~n*¶Ÿ€÷ë9ó#çv‘ÉÎî>:±N™`¬ê!^ï» Pcªµ"ÀcfŽ{lÎÖŠ Êêh4 ¥ñ;`?I߇¢°£¥ÓnÂ~yÇûŒ‡Udµ­q7h›Ûƒ÷¿˜ © ƒ™G,uâM1OLÖ ¬eÞ¿ŽEðÏ©G(UVõ˜÷ƒ.2‘Ñà|¶ Fg”— C5ë~CüRg‹8 ëÍÌ_§ú¨ ‰•Ÿ ÿ©‰çùðN[ ³Ð>°ºÎôÉN¾û|æ8véNVThßÇ.ïtƒ’N]”ÃäÕŠ9¢8gi:x#’Ã3°€˜È"œß©f‚Öbý€±ÇûU_Çì÷xK-bJ£0ˆ-;ÌtÊ¥;qFÀ4L‹ñŒ°—|ä¾ù·iWo;x4‘J¡N ‰ú”òá›þeÉ0k¨¶©ŽË‹úJæóÆòn8¤·ÄÕ£=zÚFphtÓ5á¯Ì7ôe­–¥íÑå/&̯–a&Ǧ?Ì­zÎ>*¥V4èEÝÝ$§R.W¦‡{•u4zÕè@’©óë¡ë2šy  ‘Y\ßõWUÁŒ©¿}'žzO¿ÊŸ°½Lø¶ÚM]œóy÷þ^ÔÄ8DÃAkƒMdû€è·_è ìò@GY-Üû=û¶LmûBÂ4ÃÿÖõcv—²à哆ӑ:‹f^œºüLåÇž:ˤsRmðcbÙœœßÒNÞž_>J²óÐéÃì‘zJSm©H÷> ñüO€X©eíù2‚¥·%ê H÷€-¬ÙAÛŒ•™Gû´µ)¶æg$C€ñ]¦è&ºÊÂwf_Ѐ8—°–f«+ªíÊœ»ÅsÞ•<“EÊ#ê$R¸»™ÄŒ_á%Ý‹JÂêY%~ì íaˆ×‘Rï—¹‚7ÔþükI²’…Hšô!?÷:žÌÿØE/ó µ+¼­‘ÄLâxNbn=Ý쮟¹ÉZ²¾mªrÎK'þúðE貎ˆ’§Ð´4üªÓ±dC,`ô™ïµ å$Ê¢¨†1;–„iúÍλö×kOb!¶FYô–2þÃD \N V€ò”sTSBtò©÷ñˆÓMÌÒæ ³ä‹§åÉ0ÍKû¸šGÚ06 ͈mºÓêš< Ü44Õù™ASßÝî«"¬ÝraÎ 1®}!nµ•°ôÙÒçxÁ†?ïðy ÷Á>¥–oIg¶Tÿ?ðÉö’Rò²9˜+ wüã Û6P],ÅI|P™U »ÃœuŸÏtLõGI*•jJ{dr ¦×ûƒà$•CÞ ¦ò¿µU(ߣJoÿ2_R¸¼Ú诽ÇàÂõ «.dÜS¤‰J^6º—¹$w5AS ëÏž_Ò¯3¹[ÀpÌ :…döš‹Á“LTk=(#YØ£×ýâΤšô,u2¯;'ük]þF!ãŠÿÞ:ÖË“í4Èu»A ÕÍÓ„}þXù®®0“¬V¿9.z?øT¤¯–4ó;¼ Ð_ðŸcÌi¤Õg=—˜®O£nkkaq1m’V¨›àÛT\Ll/ÇCLGoFèŸZû ±óìS¬"ÚP תÀ†*\`pCeÓ˜U×FœÎ –pý¶=²MQzÐzÕ[ 4îŸN¥©»]^Ã|tî®YÒRé½ìKü-"ç=m©ø‚´bLlÙ¤”V@‹è@yÕB})À‘åX'…sóY»>äöÞ߆DÓ· ”¼aU €·kˆ§÷ýGh±]Rg¿1É¢Ó7ÂE]ΉâøXÂήõßNú æ¾cú”éaxÇý7£!À©Œ_ Ý!j;®ÆAB‚jeC¶ï¬'Ã% 29f(ÈûíirãŸTë`Є¸tLGýW†.Q¤³qÓ ”¥»TñaÂVdŸ Ò6™.x–‰ûaÿÄ3‡fÈ;|ê¬Á§Gƒá¿y–à½ò–lÄèîuåôƒujœ¢Bsb…=Í£ºÞ“|ÍãÔ ÓÌkyLÇ4HªØV)§`ÕÕ+±3¢»)ƒUÆ_MS™ŽÖáÝH5¢¿ I?ièeÿG©Š§Á¶£ü~ìU-åÀºp+ì\›ž0\ÚûÇSpOÆœYJ,2KþšJ¹³28(…dŽ•Ö2…®Ou¯ d&c3×V€1A™qhX¾ùY?*2ǨšS`¾JÆáGº· ûL Ê“p´Û»¶ 'oúFÈÕ}ü™¿~ZNRž»Ø_‹‘´W ¦—펙ŸGÈyFª‰¼ÎOÕr%´âËʈX÷)l»3FU<8àÕ¿¹A¨B?‰2—†ôl{ÌjIa¶ìpRÝxé½–Õ`Mºtâ¸Nƒ[ø!¢y’{m«iÓmXjépðCø*z"M†«J#ç y^vnAÔ‘ÛÛIÞsfNrÖÿb±*†³Pn…@ÊOË'jgA ˜ gL‰–ÓÖ†uí«óÏæ’ñˆæˆ`i‰Øk ;íu-Ósd< á3¬…ð/ƒM.Ç D”7ä?Õ2£¤pKÞK‰”cñ *µûÅ¡”;7-™vq]tl”ógkéã¡£ûîºgázÿkvêQ‡A…¯I*Lr£²éÈt]%ñeƒûöQ=èí¥F®“Ssì|•W vÖµO”œYûÝÝ·—¹¤>‹(Ô~¦í^œzÓý8êÕ¿à{X=5o˜à³Õ¼ C˜6˜daA Ld•¨~Ò´´å»”Kë÷uL= ¼_û°M܉Åcçc0¬Dín õÿÚ”wùLýÖܛι{ÎéôâCפù@°xtˆÏõ›@¨‘šË0QÊpÝ0í˜îk‘Ivä¸74}‘‰²;ïvèO‹>–­H™ù1› Lø÷öž§ •x[V![»„ª§¡²¡îÝ9Ä4â<ÇpŒ£÷à´ÓÄ/ &ÃÇ<ù£Ç2.zÁ(;ú×@ ^Où’»X›;mB y½Ë/îQ”ÿù¦I°ãd|ä´èGã¤õïQö?  DÛ ‡co.§EøX‹¤?êƒdŠ®‰ìàaÅ?ý@ƒ›zÖ¾ŸZÅõêäiðVh€qüËzFK™²Ã ý¯ÍåDI’UèoœFB©Ö^ÖM»æš¡Ô ¿¡~ð$F!ýi¦ÕéoõËÄ<%Ð8w+RetŒ ð–]!Ýr¶3yÛÈœüú “³+«¼C³C˜§‹¼c95"Üwdƒ¿…^•ïbKïì—^Šÿ¸ðT«Ü­pAÕ|.£ï᥿LDG^n‹j˜±xYðý¹ÏŽ~”¡\WÄM¿+ä%Íj>XuðçǣЖ «¤Zx3&Pnž­Èæ Û1§9õžŽÚV$XOV“ÈbØ:¹ñ‰[åúÁ𠝵Øez$¦¤ê>e'ªµŠV ¤üØ[¯êÎ<Ü¡¹³£Ù¥¥Çã¹:`x†YV/ÆÅ+/ï¯!7Ðíh9üW+ ÄÊ6·bA€&JÈ—G‡G+·OŽ„ú7¢qŽ¢JÅÅØhÓ5ߦŒd ÀŸÃl \§ ǺWÆ(>‘ ~(ªÇÐêó—ÀŒFXÆ´– Ï­È˨MõžÅ«ínã¸>fN_{*ñ_YR~oGGA}gj@%æüLp,¯-'•)¢°ùâÀð^šV±vuÄ•„šö›VhÉNc(ÖįîI¬Žq@KÂ5,òÑ”‚G y芄\e‰ÜQ¸´í›9_Á ŸÉoÈDó>T¶¬5lŽnDŒ,…B-ZòÌÖÅÁF;ØúØðà6Raw‰Š(!w塹Ä?±Ÿûg·oG˜b:ÝÀŸU•íÛI³êv¦áXÆQV-+·C¶å¥n \¾e LðïÊ-M pë3ï…â )A1qîB .ž4†ê„aönU–Õú*D›,fͱpZ˜gÜó¥…Ã[8L­øò̼[ñ©"ºë-£®jŽàRŒrß1Ü×îÉSˤø” l#”ÊÚÌV—mX84[Y'”ò_™è“ïW¶€¨úóºU=f(µz퉰?µ*|‘½w9}|ÆÂF>êшþk¨þ¹÷]]eÄM%wýÓèŸå+൭é,O™TïA¹lKybj´pEWK¾&\[F™IK[™¦¦U’Žà®îôŒêìÓCFü&ÀèÁ†O„4M›käßÖRŸ½˜eI )GH©\äaŠÅ6yD€Ä{eáÐÂÈúØØ€BMô̘PY—ʸ’’ÓS(×ï¡9­î`5ö×d8^©Ö³S®\™½>Á3\]Ýs‹ñ•|—þ´Ìà7êYfÌ VÃS‹“LÏÏÚC½Djm}âŠê ùt:j+þø8u.„qÞ‰ÓhËù2·6·šâbùHá"°L—¨FÙ#Çu³Szè Á`:ÕV-½ ŒaQ ÐÓv¥F‚zò»üœ$%›Årýk±–h<¸Ïßæñ×òµòl5½š³ãò³ÅLÈ;Uç¬ìç¬î€T¯@ÒшŒ…‰ïýP=tN+2øZ±ÒyUlˆÏ/@¿`z½dR¸«GßXÛQØ*jª¼J¨ÑP4bçÜ‘ûÌšûô,b‹Ÿ‹ŸP2`ð 04‚{Ï-3¹²ÉMl±ýe¯¹‚^£h&‚ûž£q8³y‡0b;–{YÓÊœ^{eíq¶Ñ#x Ãv)€«?wèvfOM6ÿ×Ç ";³)Æy÷a0 2 DÝÄ-²yÅå§èGäx‹Ÿ±2¾Ô’U(NÀW냮ΤŽêÌÔ¶1";¡öFEì)™mÿýÑà^&ªÄ»†dFèµF7`®æ½Z´Uà/Þàó¬ÉAwdûn8Þ+œ×Ë-–^~åGÔÎGUMÝ„xI™z§ÏLÌójϽHçE+ vˆJëƒX´Cúiªœ‰TÌŠ[„Lè ßa-À7ø’ÇöAs÷ÿR¬s?”^hŸ}ý³žrÞ½ùó6hZ§ û(éˆôFPœ*ú6ýÔ„}Óo˜©AG Ê‘q¥È¼î#û;[ÄFY±|ßçi( tñì£3W½8œ”‡k·‹éŽžªè·à1<®@âß]׬™Ô}Š'ÆÉãbâM-9WÄðÒàô ²ª^ˆÝçBgìå½&\ü…¹4†ÊEG‰áäO¨»3=©Jò¼œ¶(by8Õþ½Êß&…Ššfö°â2¢!<îÚ!¾]_ÁóWÊ ";Š4‹Uç‚IëÕŽæ=/ÉêI4v'WòÖ(Ä«ÆÖœ3ìÜN`Kèµ­-h˜Î³´èç¡öZ˜ÀŒ.mCÅSmPÏ~…FÕår\R5o›ªÚ;5@s±ÊžSPÍØ™?¨Ží™õ s1!ö„»Ù*Ÿøcƒï·¬k‰[Àjª<Ë‘+‚þÐs¨Àë K®j©¨T¹ïHï^Ù­WÝ4ùÓĬ¤Zï’èë½bÍ5ò©WÝ'i«‡\&ÍWl°ß®9ì±^ÃjÖ®óMÙ<6äÿ´Ü+…¿ïP£bêZú•œÇ’ò] 2ÂÁ‡ß6 ì$°p'éê¨Ôª3-G½k•‚ŸN­M¢b{»ï>é|ç0µ%|#íëkÛûþGãy×[ÛSM³ˆ¼‡SùR«Q—ƒ„æž>Éùcžâ¦E„se ¤û@(Å72_²Î̳E,¿#î¦èæ@jT_¿2$BODTâñY'üÙ B‹ÝBd[ÝØÿQ=£Qé'‚Í:´eš/tºg¾æˆÕµÈ¦ÓHÕÚRÇMJþF2[„ì…I¸Ð TµÍ#|;{áoÅ_¢D¬­näwqvÂ7J¨ßD[áoÖãÇüb¦ŒaÅòF£º™ýãv ½ó]¦…€Ÿ°W—BsSxöcʤCxÎf_³ðÍmù­œ9P,”£6E¢‡‘ÀUV%ƒ‘SƒíQ«í à?oa¦’ÔúœL±66a¿;-é-ƒg;»C¹lIg´55rùqgâæ+lžâ“l»=ü /îoêK@ñ?k* r\ôÎþ–r̃Ézm² ”;•è||e¯ (¥s-q2±YòŸ¶É)ä{išM?zýD]þ3%›é¾ï@`îœÁ9*,b¥ïFìþƒþ1„?öÒ«±õzâHð»ƒÇœH7 ú])¯·³(G»^šj‘NÞíŸ.»KÕÚEuî*×2SÉ÷iç¿6:©CIÄY5‚;![ΊxZÓ=ó‡ËÿBjt‘=ö2Nä5* aÀP|¬0â‚cØo îÙ°:=Îbt  ™°É9¿óÖlz—,F2já=Üâ…£à'ØW˜F²­~I£ÞÌ6m²Ênk‰Ù©êÇ_†»ÑhM:±hûWHi¥ŒŸv¬[çž…%'Ð_Ó®§rî›Mħõv×óŸ©&1T¸˜)TÛZw¤ñáÎ8=Á¶´ç8 0EŸÛ>¥× 4Š€ºµIY(űæ|Hž“ÜúJ›uªzL†»1iAò¸àš™Éß,)lÈnÂDkl=T/ÇrùØÏ¥ŽÖ!õ, ”¢YÔ¼#¿¢†,¦ØwËW£é"‹^(nXz®ìaº›á¸ÁX„ îq¦.1~VJŠ’;Òµçw0¡{nm]%¬ š9/zMè°ì™ån}˜Ô•Ÿkÿw£ºpˆU ™øüåêRòêiÑsÒeðÞ[“]ù¯ZóŸ>+üñ4¬›`PÊ›zp)_#Šä`>>ÆUïKZÞ÷öVþ2lsí¡”=z¥òLÝ`œÀ8õdmw åÐ<‹“Ȧë^±Pˆ¡.Ë»ùí±.#ÇÖ2ª§vèê'æÚ¶Aå5=‚]eÆjê¶;žÓŒ†cæùYVÂø¼ckÓæ=¹ç“!â—EL2®ÇBœ³€9<×Ï~š]Õš†wh™¨\ãj’¸5µNQ\pV ÅÐz‰ ÄlÜ$±×ËÝmŠuÑsà hÍŠÍjîw «ŠÐ&wŸ4ϯjJÆ5¶¦žDµø—Ùª»¹mÌ„ŽòÐÎîûn:P‚óóÄ5ä>ÕØ žnš>îok¢ À€Nµä4¶ûdƒ… ˆªYŬ¥A*lÍ’‘ÿ£Cgëzè>»÷m(üÚÍwኸ±Oîš_yÄ ÜáÚݱßé½G'6JM—û[<É¥è³ÖBPýZ®àÕaÙÜ> ŸÎ{Ýòvª ʨ[/ ÿSŽ)eFÖ¿O²&6Dy‹`OýƄѶxqñÖ"¾¦klУ,“÷Wm ûwž]§ÜT(Wœ%%\NJ!Ï9ºP`¾·_¶½×™æ½ÈWºù–—|JuðÃÇQ•T«ûùv)—dÇS?àÌÈî¡fïo93ârÙ>Ö±”C6Ó ù惮Q´`öP’#àú%1NVÅŽÿÅ4·öš ¸[A Êµ¨n_aô G¸‡±wEÔx!jœ,7ÈOÙ,>Ð9ä Úµg…òj€fÌNGwÙ~º^¸ 9ÆøaŠ8&¥!K`íI^é¤Ð€Š]ö+¥üü;kmHTkèÕžu’Ù$poÙ"¾'æØ®²ÁIù³m4ô_< P¢å¿ÁœTòkÿó¶Ùd¹ø ú ÙJdžž›ò£ëÛ”)þœ!àÉÞ­r§BÃ^É3vØ,×ð×mËàþåÁ­[ Ývx"÷@± "^¯^t6¬3²)ñû=:î+8@OvQ]™"½À,ÏŠÇû,ž¨ycoíî_w–†rÙ¸¯Lšì@¸Ï5œ·¶dagÅà /RKÈ„¸ŸEs†ÀÀVú iÙàãøÏ’ôkÕfy§kdñžñ:¼Z7žô»þËŠ tì"-‚Ž´ù»†?å·gØqB†B" ÊH¹íj}Ê®bŽïöõe‘Bz¶3w•ÞvÖÆÀ¥•VÍt$o™Mi«6ÕlØžùñØç ›Ëªg$âš!7Z1ÖGyëcMë«`–Ìg¿• z’2Ȯʣ¥X]ÜB4ÏÔº™@I1ƒ±s28^}*H#ð¡ÍÆIVç4#àSÙ)Ÿ6Ùñ°T–;“½¾¢úWî¶°õqlŸ2leiüf¶@1ËÖXµ¨è’:òïZÐq-˜O{¸âÃP¿Žk°Œ¡A<–>œÙÛñáÙn› a$@Éwqa–ƒjH, A¯úCš'êR|aµËÁ¬= éE?®*ú)=^ÎÏ~zrÿÀÓF à öïh¸÷©%Ï·³ÑúÆÊ£»&?Œ´4õfÇpŠñ¸kdÑRðX@ U‡F?ðíŸÂåFâûƒd¶6^ñjÞ’eþ …•ö(¨¨‚Tº Õ0JÍìï‘G2Uä]W¸iQ-ƒ3\ØÀv¼P‚ˆìùÕ‰j ¾ûpã £]†S™ ýÿ³¦‚Ìl™¯úåy2®1=21ó_HŽJîÀßL´óì'$à²÷ðŠlŽt♎Fo…'Õ;%¸‡ôAËD¨£æïЗX5íLoˆL½€­YzÅ1´—€Ì/çŽ$îþ1P¹Ág§?ŠÿÒQô]|àGVâ+ÓiRI=Š_¡8¡‘›u™Ùò¡úçóÀ¢ÒDßE?úáYù¤ŽR02öèákÒvL&Z†ŠöàÂý"(¯_Ô¦¡)­«4„!ŒÁ¢Ik{vC³‹8ªšŠÞtÅo€ícobeAZÓ•|\cg²¼¡Â‡ Ш•Ôr€‹³åßdËÎrbhFríü20¦Ð§ ¾Õ£€Ë[¿ÿÖ:|‡—‰Êž^— ´å›# f¿TQ¢5& uPfRÉù8F^"@ßK”¤–×ö€Š&Q—Îé¢H–M»¤×–åo³uÖÏ]ñ0aÆ&Ö"b~¥.ÁM½\¯ž1?°^ïÝÌMíw&Y7oKÑâ;j+ŽÃ »l‘y‘<¼X PÁ‹nÓP"%ȨÌ*EL×ì*Vêâü­ÉׄEɜώnƒïÑb…Ì ß/Í?â?GÉ·éIíA7ßN#É쇻A)%õÓ ¦\Ý£M½l¡0]¼èÿÁÈç¨Ñ£[‚¬‰y¸T= nœxß”éȈ–Œð®5`’ð®u›äÐ7GÁ2ÉMÈcžùHäY< —È­Æò‹.yQèeñ†]ø—/°~¦#ô±]Ð/W ç]åÊ;@îÿxhâ’÷æsjß2Ðzˆ›[ir:›@Ävh«_é@¾Ñß ¦äfçÈ3º{ïŠØ¿{¯¢ Ø»´€póBÔ÷°{qG<ôôiç  1¤*ŒdŠˆå¹ñ–Ÿt*)ö‡ $˜¹Av?.ןéJÖІú(a)!Ù,]7ýÇ·¿ÿ–O@€©*ß–œ\…ø¶m% òø°"Ÿsp¯ËNÇv÷ZƒÀ5Êô¿îÒz­Ôüçi“(ÓåÑÐãÜ¥Ë~Ôœ&ÏSc׳ôʰÂ-œ¬?¤OG­Õ´×À¼‡eöäs£ðÉ>œä]®`·µƒ=}|ºDÏ%TsƒR>{û,»ˆìˆ½¡/m‘â¨\g;¸'Ï£\ààÚ¶É=ã”×[§‚Гһώ;ö0>Æþ#Ù;úéÃYK¸Š3þ.É ’Ù“ ò]”"RÇßòsw‚ʤ÷w±–IYƹHtQÈ ÏÅrHö¤7âaë¿ER§»¿fi²v@œ›âÎÅnåÑÛ^a&÷þìF©iwrP›×6Ø´²k\ –z¦oŸza:‘Rô㺹AÔ‰…òÙŽxyhꋼ¡]̵{h §­}!ô¡ò Êv^úQnÝà΂9qçiIWKθäRÄÜ›¨ç\ˆÿ7 bL{b%ÖI~¡€FStxù¶Ý³D«Nç ¶ˆÕŽó~NÝ¡ jD·êO Ei,àpUzDd¿ÊJþ;ùíSÃvs$ù®‡F/1²_² âR_ßHTÑËRüÍ·œZŸœºçúwì§ÕZª‚… –=«,óC¿°œ¾Òa4Âê!BS—©Ö˜>Û3 ÛÆ¤MU«™¹ %€ª.Ár¡·ì:öWÊ·›ðùŒ…MKjDÝÀ½)³öOtt $Ò_ÃÚèéø`â—ˆó°üc˜b§»¶ùV_kéüèÃ2®á<Õb»ßW‚’V@ÁÞz½"Ù:#“MFôñéJDsa£ŠÉ—u²8yEj@EéRåÓx+\áêD’Ï> O)¬ŽÈpÜI òÙ’¤“ …^4;P$Åœa€ žVdÒ3êAg}êåíÔÜpê´>(‚{B÷Û±ÿ ªìêpÄ[ Ã%ù¥€!ðÄ* ny~ÕgÆë2H* œ—ˆª7uºŸŠÏ¨ó'÷7Ð&ÚæpÔ5›'@S[BQD¿ñ—¢aú¬QüMÙJ¶ñ—bÏP+›«ïÃÌK|*„Vã‡ÞN8mí¾`ïýkGqÌÙYǶqŽt~N’s`#˜p§DÅc߬`ý­ü±MUSžÃ%Š5Å™ ˜¦ãg¶Èå›<ŽtR–‹Ä%W‡tŠáXð¿™¾Y¤pŒÎ¾„ š²jAži_¹ŠÌçD( ×Ó¯k„y¯×F VX:û¨°Õë$àØ’ª6˜ÎùÑåÅQÈ”Ž£é%ØjeI Ñ—S‹± /š݈Ùú…›œ'ˆ/%ãB|”kGŒ\ÛrU÷ ÇÁì»H3+G<|ûK—èçš›)4í0³²œ ŠM¤p†TÞ]—ÞEš°Ñ¿AqDv)äÀ˜é– Q~a@X h« ®'£šAæÏ;޲ŸÁ¸‡HDáV‰PµÃÒW¶[¸öø éÕÚ;¯âÿ,ç«{÷Ý)³ ÍV¿?"d©*¤q¦³°•ôQÈ|,H (ƒ³â‚wó|…ù(ûV¯lØgˆu ˆEJñž1îž´–/’éã®l±ñ“ù…ÕƒÐ# €p°ï•«ôÃRÚ[ýºa¢óÿ,•©%*†m|Ö EäD±™Ói' ;¾ UвÖj­+²¡ˆº-*­Ëfò;rZ•ùprïÄÕÈoW¿`ùt-ÒHTÉY[øÁK>þã[«Â‘S[á’$"Ý0\9ù ˜:ôf'èN:<žì|4ówا„kR­kðˆ0xü®вh‘ñÖj#MM8»ÿ‚ÈHd›XSE¯v¥6_Ñj#íECScý³p¢ß½‚ñåQèÁá•b÷LKi?ÀÒª%Ç=ž8–ús0ôfÜá*uÁÖ$O$})Yë?˜$C~>w³h½Óf|,—覱w®—Àô—\ø"XâËû:ÍØæ[eï[îEõDœiºT‰ÃŠË¢(ðfDÀ2Ënmöä›J<ÂÞŒjÕà4ïx9ýþd…vc¨HRÔCÄ×ÂÕï\%Àjc/7ø`Qž:ТØséûÍÌ‘L,ãC~Ø](Ú*œL„Qì‹^ä²nÜ„,¼C2ºq×6˜Z¦ÐKTŒOPûjR {$…‚<ûBZo¾í¤OØfo43u±œ2—Åhè’x=l=ö[æµUÛGaP 'ž[‰?A§îõRYå™(pš{i, @)Ž6þÔf_Wd¡-i°ø•a™ØdÏØHþ˜à%VÞÇÆ*Á£…õ¿'¤noŒ3!ˆMc¥· X8Û áatB4°Å¬ƒ£gÙ™Å-«µÂ8¥BŠ– 2Œ #Çl|a¨¼ kdÒ!¹#–‰ÏÌ Í¬Už³}*ïâÂÜto5¿â‹uó;Vš ž$õ@‘ëÙ1·eä` JÅk“Rçu^5»PzO"ãûÖ-âppÔrucŽünthÌ/OÿÅÞ!tKCëÒÙcsõŸ5aÀ»z¾¡ öozU|yžÈ¦á czPë¦;“ì^Fi"„ùÿóÉ 8ìZM±ÊGײgÜFÜÀúÉúù÷åîb<ƒÁ.¥S#s|²,üƒö™®PDëd”XTḩ°3 ïB„Hù Û7lòœ†ª] ×Fã áøTßð½`ËbZ¿iæÍe³OKÖ¸åö ¥s‹FN9êhÖ"hÕZff©u2j ÏÄóÜ­Ö`™È ÷ØÊª…3E…—œÇ²„˜CÀp¬šè<·Îhy{ å W‘yYÛw[L9jžL"ÐÒ2Z| Žnói°—)j…“³ùŸË!¹TZ1›>[7ì‹…I1.6¸oML© ê†3ßF래|PH,oF:X†lÏO_*öM[iˆÄñœø.Z<Ùÿ±ã¡ô*lBd"]x á»*χ¤]˜Wìˆ1u¿ ˜ºw1d Àá¡]¶ÈØç¾ø6›Fµ ó£¿Ãªmu~(™Sʰ—”x²‰„ßõ<ëç 5Õ½ò‡&¨·ž§I$¬‹ÝbQ§õB#ĺ8\±Vý-ܤr|û­ßkØó(‹žºÚÀúûcñ7„ Ö.H²Ø†/Ï®”6įÊ|ŽBÓ¾õ|5L3—r™ Í'EúõYžíùY  os^½ÒÇ“k|íåR©»ˆ /øæŠÈkZétBùSÛ/»ò²?’ÙÚÆ^:ÎË.¡ë³´ÁM4’ÍÛ0Å“0„ÑvŒ¸‚ºpR Ìj²3¬lBÄK„}% $Ò ðZi¿Ò+©ð‡Ýs:5ǧ>àJ ñjßÁæHÂU×…xc°5ïºËŠGãß_À2å`§hòí=\ËdÚ’„/ÿ"ǧ¯²§°˜o-hZÔL¸éƒ{µæO ºó”­-·ïœ÷{øc”aqMÏ&¡²!ΆI”ƒ…5¬1„üvÉõí ƒ#œQôÀÆŽ¾0ˆ/çáCE?lÍ´éù½$“47Þe±ÛZØÚé4 òëkx–Ù&„âuë `Bî?ú¨‡h¢†eôæøhøMŒœ_ûœ¬…¼½¾²Úåqñˆc„œ :>ô“T׌£ EF¢)!ãYÂP•øÊçÈÇ»žwC0ÄÓ|“²ÀÆ°Ž¬;E”€n¼±ú:a (»W)O.Ø*‘\-, ×ká² /˜`l5w´Qéã\Luô˜K *D4ëÀ›Ãã…uXÎíS¸ÿ©ÓVzŒÁÜ•  é5ÂíS$Úñr6žÿ½Zή¥‰ßÇçêå}ÂWî °ÎÐEôáï¯óÐÔõ446ž?!å¯dž"söÒ|ÀBVŽi‰õÕø»¼Ž$Öìs)ýÒØLšžz4t½ê9º Ãý—ì[¥Ã^TÎâ²Á:äN–d²F…Xa†!±ˆ‹ûñýÏí‰[}IÃ%¡Ðü¤x‡ÞPë$þØžãVä!ïoÖ½ÜÜúÒëì÷ ÁÅË'.ε_%ZBôðrRærJoD9†Ý2«WŠð3Ä|š´§ž8².hE2Þ£ WÑ£Kú"TWAÞ{d#°û[„X7¾P½Eä? œÞ•X‘D_N}ˆ –Ô|ù¤Õ”;y'N%Ùƒï±ù½_âY”¡‚‰-Uœ3¡œ#KÈZ5LW†ƒÐóÌB|îOvåíë?½§Ã³l¾BÒ€ôÑ0ÀÛÚ6|­åQHјÍU.Ö}E„?¥D£÷Í}ŠJ–¶Ó$‹‘Å6P>?[qoûpE¸'éa‹RJ­$’Rq+¶Íš˜ü_ñxs]¼áDg­Ù,ä¢ò'“ªÂÊ< />Ø{䀡¼¦ÊWJ «‘ú `â?·Êtñ4>eÈ ±¶ªôÉgA?‘x”07ÿ]?¦®×:JX*tÝSª78sSô¯£¡¢-ÝøÛÙb&ªhർ%Æ/ 5OW/6BÑ¢ÇeXzè·Ë%G^n… ¸êëòRÍÕcïÈ'—ºC$4^°|@Zî+^›)€Á¢¯ìM÷VKpK—8ÎuL÷C1rJ26“çlçAì°wO1¨_kº!¾@`[wé.÷I/KÎï© pÌû»=à-xgÊlïÑ^”lÝRGâbw!n=Gã\Å Éè¨eUØO ä¤Hת‚íÛB±•>ݱ4dRôÝïåm 5}̬S”°¯HÌq#tôbt=ð;;.â§…ì=äa$,1æQì]ŒR;ËO_è>nè®àÇøQÀñ´aNÙ‰™UõEòt¼iÁ7åËô˜+E¥±­ +‰}Ô‹àÌÎë«öBÔ‰L59AÿÙ¼Ñ#AzÈ—UNBÚB§x‹×ÎW7äz¯Én=¨c·ŽO6ý¾d¸Þ† '‡ŒœÂ r¬¿Rvä+,AÀ©ýØÈ âêû>ÇÖ‘[ÄÎÎ*ÒmôGøÏ;zÓLÏŸ"õJ^†G§iãòÆÀЏ_­ûdûIy0g“_yI,æZbâpå@–œh`‘p Nú‡â¬xsOõøÊ#åF$Œë% Sl'ì¶tû _g \Ñ™ö³Ioó]î dê/¸1ºPNÎÿ.)§D(ï#Ê0ÑU뱫tãxŸ]wsõ/ÞZ뢼¶x™üªí‚|F/ÂOÏÝò|ysÍ ’pk@ÂZ}u˜pS6C‚fåS£n\Ó—ÞÍ]-õÜB O/á×û 8{K„ð‘oÑ»üU¾5—h,Âá ïRÿÔžz ïwä=7äog!ÔÙg§ÜBÈð®>Ý¢õÂ0F‚FNb( S®†Ú+Ø:ÕâêÖ)¤J²ÀŠd7}ò1ä‘ößð¤…ý9-yæ¢j>4èë½³|Hpí*é þ¿™V<x±‹‡Ê/\ý¿I¦å̲ž}xhU‹¯½øc„Å! àÜlÃhÕ¿G^ü®Ä?~PO£peœ—Ä£Š|l9îå~!„ð íóKU¿öSµ±#C¼*MƒbóÄ<Ÿîæd#šPæüÀUXšêÌÇÝÍQ˜aÚ6%ç‘=°–ôÑâ®dL§ oƒÚ‡%X gC‚!*Køås<^KG·} âÝp~.^[WþLZãzAÉÈ%Ââk©*¼e œ¤p+jõé9«A-g8Å?¯ñÕ´¢‚UÊ'qRuŸä—>—¯"…/ö½6æbñëdÎk¢Q8&Ô#ŠçŒ$7™ Ü ùC(H÷ß)¡ ŒIýr@«¼ Aý ç’=ß}õ#³³FÏ< ŠW§ƒ(&rjåPMôœI'KuZî¾Ë˪Yy½·îˆ$ÃÕ8?ò¶Tq¿ñj"˜'+Û$Tû±m? ‚õƒwøD$í³bã°› ,‘œ5©[8A®Ë´¾nŠ’mAŒæan·„Ìß7& ˆ-¬=‰íÝðTg÷¡¬ùJŠÎßWélIfls*ÕH‚¿½Ÿ×ÇÞÍÙn_Žó"|шÆ7ÕÁž§ÝØlÝPVG:ÄÍÍžº–»×y žH²Ùoà–†=¨.-ƒ£±œ4Ÿí;Þ \¥-öž­ozq…rh2ô&öV˜>Á1Õ"¸…{BØAÞyÔs¥†4μ꿃J9¿ìâ^M·ÑÊŒòý±lÂÖßFŽtò_-@´œÀ­Lhr%0ñ†£®Ž3ñ;UëÖU}×$å·¸Ý%)åi-ÝS… ûc(ðûäÿ_öåìÎýF»•’§k ÄcCP˜ØÌ†ôµjÞpón‡™ÍE®µõ9Ú×EL0N¾€y´žJx÷ÉŠ¹Xb{0¬EŸ?äÁùhº„¦Š@°‰5!ÆM­¢fùÌZÜü× 8µ|Ür5/ËDdÇëîfw87ï²ÕRMT¼lœ_sõš«‰ðHnÜg²À¹–ëÏõ¶É6œ/¶¦ó‘y=ƒSV¢’ˆÓmmúR†zRË÷QÑúcÀ“Àï°¦D¼ÍWŠÅÌKÿ·'òº;Á@pú·Eû`†5èðÏU‘t[@wÁpÎw¦>§ÃB„ö)»)ãà±é]äuönÖâžj¨¬×ßJcµtU Ðñ Álv&I—Ö[d+«ìoo ¾ˆ}álOß›+̯q9q9ƒ>Q`”ýÍàîôd.t‘:ÍÍyR,껚‚y´•€ÜÊJ:ò§ K±àÇOœj@1X²÷*¡ìX_`É;ÙÓ&ÆUšJsÜ5ÌY œeE×3U ŽÌñ/ØqßcdG]Ö¤§Ö^Æ{ kÇ#pïþË`Ön½Jª´Ç´­ Ý… scË àŽ.ßÒª Í£f‡V€ãÂÃ}…Ž+ÝŸœq~Å|˜Ü¹i¯½} ÊMû ©]¹5ý©˜Ѐ¸h¢zð¥¬QÍ@øù§BÄóý Uisþ¯É­¼-ñ³”¡õ“SÁóRµ“´%mµX^Ê\äI‚o¢\ÅvY~©EŸ‹ŸÎÖ€ú™Å¶EÑôÒéõosj ¸]Õ^ØhxaÒÏE‡,‰^ý®x˜Bo¾h.Ló&ØáYPY—!°£ #ST,^ˆ®9ée¯ÛB<€võáMÝ ~–ƒä/Èœ^.”s+ÚÁÝÓÔñk|FcàõÚtï/¬åìÃü¢Ý§Y:.Tc\ËÆÇ®#t:ls:",ÁEÐ(Z"‡Mž0ÐL\Ÿͨú:=x³`aA“"­ƒÏŒhñ9å©c G¦"Ý,âGýÑïTØBZ#ÿp$¯lìA¯£»çÑ¡e · ݳÍÕª"oàe'?SÊ2ÛgQ5Ýš,hèù®þ’‹)SKìf>ã¡[òÌ+¡ß´¨ÅéÒ3õ[àUÅœ–¯òZÔ:ŒKpÃþbÎÆ›GxÊC§ck ßïÏñt€AkåOI–ŽKp:É[té>µ8:vîÆ dª)¾y*1`×W‡àáݺæ\H%2¡v&K¿¢ Üíbn+ÆÎôñŸÇÓW'ó£\÷zÎ7kB¦Ì2d»–(¨ˆ­‚ñÒm»ï¸ª}TùåæëÝ ½ßOÖ±b ãytn¹ÞYçÎðPg›Ñ!ÓH®Æ[UHÎZÊu£¿óš­ÒÖ#;ôÒ4 ÜÿYíñ›ú,+x\<~ïžö#"U©³9šŒ5fkµN~‚ÞÒâ )ãó1×þ‹ëÎtë=ˆøåõb«½)ø¦Gcîe¦ÿ™zù!½ÃRÖÄZdGþ¥Ðd™Djçߌ¯A`†¨Ìçüšð:;ºqÒ³ØY`MÆ>|êc÷}¨?uÜzFá›ówXÒ!¿¸Ìó‰ê1ÍH¾)x&\¸8´ù<’ÖC1 iB/ ÕøÇÅÐÖ¹JôBJ`é¯q¬ÛAö…M™yѸǞa¼ñn\ºh?¶^åÄ„)ø~cžÄ\­‡·Ln/yô¢†²ò‘â›ÑZ;ÌSFR6%A3!ÉfòÎ((llDº ƶàHð`i1qiÇÚ±lTk÷0S¸3æçAæº'&%_ ç®þxòÿu,Ã=g´ðœY.®Tö|+Ïó6Êf\Á<"Öæ6Tߨº¤¡ 6€Ä|o¥:¶ ŸÊŸd’²ÝjI§‹š§kÂÈ«žî¹VaÔf©0⌾¨ÄG&";&/Ÿ ‚›¿¥Køo4Þ ¿hdi¶ˆ#Z`IUM4XªÛ·½Èýñ¬a1òrJõ¸ñ„rc¾tvãšS߆~ZÃqˆúÚöƒíújÛf à |É™r)k0W/b >1W<€EXÔáU–sueÑ ÕÇžY~ü£`œDõ+-ÏZ™Ä„˜ÏI†J¦Lÿr "å²Å6Š×¢| ‡åœ±‹gÔýÚ¸¨o&+.DÂŒb©†‚Ý­S¶àS´¹©LÌφYqƒ:†s=i Üåcêäk;IyENæF—Tii´Ð9 *jKö¯À·ì¤.©Û»ïŠû†`·`êø¼aÔžüˆ¿Ñë7%ÜîpïD8ñeôsاA§&jäNŸ‡Ù7°‡jêØè¿*¶Ž÷æØD¶¦çu{7”nîTWdá›` È"E)” ­â£VºZ»Þ7›m>T¹YcJè4õU3ßí¨`¤eµhdüõI‡¾_„˜Mlõ& {CPÀ5±‚çêëZˆ««Z÷Ђ»Ob¼ 'Vv±|pƒÑð©–]ÔÙ«“ò‹™5‚Á-‡ºå(÷ê{/,a¦OsgéÕr8ØÒémN[‚±u¯&{Œxè²,UôIµ¢Ž"NÍÐ f‚ù›F3ÍV{ƒhnƒŠ[IMáÿqy\ÕkÄo½›#Ydž¢L ²FY'j¡ù­nÛ‹/ %O±ÍC!‹E¾uVÃÔƒí×ÌaÃH®Ø`Ê-ÌѶKã60ñ§¡eøF®UÞPؤ:k;Í95ƒpðú°>­rˆp`î09t×Ö½³h¹K^_ÙþÃhzÞãÚšT€ªÚH$ÿƒù̲ó¯Ä(èG-‘¿„}n”œe² (Q"mi_7óTsŠÉ€RÖFHŒ‹–ÂA­´>Pypîæã/|YõªÜI_yh€JÇe:ßt× Ëç$a«ØY\ÍÝN¶iryÿD—ˆ©ìãêõ·±Ý{é'üìTÅèÍ›¼u»»IwXÁç.OÚOº@óK2je`üè* w]ù¥ž· ÕÌØð.{ðiÒÐÜkm§;€¶ß^!ê-·ÛµwÝñ©®Ì‹›Æ$«ÚJ¥Cƒ«¨ 1a-T± jÈH_#n•½EŸ:'èòkø¹ PY Ùnd1B¦êÓryã¬ýÁ+sácÒã‹v„]N‹).Ƶ&Ù)gs'¹ îúCU¨ÕC‚QâgíDÎˬñ³h0³I2‰èl±ß9W(˼6ÌÕ±P_¿(hP7Q—ËÁÙˆ±NO7gèN$"WOhÎpóź 掽™'~\ÛoܧšÖMvpäR¹åÍþŒó^⻪ï@7¹r?ÃÁþsPÇ.ƒÕrxÊøA?ƒ!µÙ ÞáO³—øÔ>šG… Ц4<ïÜ#ºLòËÑD(¼ÔT.ëyN^$äòÙ2$\𴛜Œž¿<‘Z®`Ðè­+ÇÓÉáç‰ê–rW_ü¦h´YÐ@ÞTífœ‹ñtv¾h¥j’D—¼ô)ñ±£‰M"mõOeOOß3*ÐRuÄ­UZ ::úQ¨íúž¸¯Îg—H£a8ð Wõè$¸Þ–ážù°¬„&Dl¾â ÷¨èöZ›BÍ3sÒÖJ›Õ!h2ì×|;Aˆ¶©`/Ä‚LiѼ½Rxö@Ôc`K—x?ÙCùó¾=¹x×M*Ÿäb³p9=##EëªeFë³É T¹Ú¬‘ǰº!“Hý‘Éøf€‰äÁ£D(i¾œ&Z4ºò¹çw=ZÎIDª–›¥·\áâ7ªÎgZSMŸËcÆu0毚¹‡Å 5^ðÿÈàDEÊYV¬BA˜š°5䥣:» Õ|n:ЉÙÅRŒbz~@êÍ@ydEqPJ¹JXN´íˆ#âxEºÉ¶Š‡{ye*Îs⟕ZÌÚ…1è­ÀíßÌä# {Çæ[óZ_ç—§y_¬­Âøò ?Fœ]ƒÅA—:íØ•Æ²vÁq°øù¶ù9"Ç %$éN‡#oQÀ•Ãéó§¸0e¾±k á¿qó8A˜ËìBdåGÌ¢{…¬pµù©jÝÄ.…Ež–SA1jÐ"ä1™W8TÛ ΑÌùB´ "P©5€Çù£Æ|è°EȦªhûŸÎ‚´õ±·QåQïÉšz*l6p‡\Öº"Ž“1ñJ ÍÿÂY“F)%áýÄõAðeYV„=þ*|#c”¿…`š\…çD‰ÌWo€,©P!sÐü×HÑc¼rÏ9îǪ¾`õÔìUüI²ö ‘)U²ÚbîÝX!9O6¿Ø—P° *˜$L(‹µÆ¨ÖJ ïÁØù `Bl«#í;Ú•RQ DXÏ2n*gIVvÆØïqÏt;!Ñ!|i%§slŠéÑC•ºøµr¤¥GmªðÊQSrü7ŸwP‚œ¿÷LJqh®<ò¢ß)¶ëXć4¾Mâ"„4›¡›§ˆèR£ì3Õ9±Hb­/V*EO4i!A¤Ö¾ðUiÅ ¾d5ûÞ¢LxZ ÕVPD[˜‘Uš 2ºâ¹›¢¿ëj{qÑ » ¡Ae¥w,Ð>ÃQÆp€öfÖP²ÍÜÆRi­ã`Ÿ“9ú?é%õHS_U}ͪD{ÍV ¢%í l…wK¢’ÌrC°¶0,¾}Ž3‹ÚÈé莵ZÒ$¥-gÈંÙ2G qüù:‰ Âàˆ«’B¶è„¦ú‹éˆ ½H‚®Còå|tÈç¤Ã™ÆXÑ V,C„§àTSîÊú…+„5Å4¾{"BI_ 7Û-v&Æ!fR„Y’»lŒÍÌ1Ø„n×—“Ë(@¹¯D:u‰âØÔ»!/É~vïÛŽƒ%ïãºÎÉ•š¤–@MX—v©Ö<@1òÒ™VkHÏœ >ÂTL¶Ûø•TB̰=Itr¤(EŪ™šÄuÛ-üØ…ø×§Ï¸_&KÓ”c».?ã^åköŽ#Ùè™çE—c\`F˜˜ÛYÖ=‡`1óR%FKl"]ŽA;y#À}µ…p^e¼“Ï“ëi4¥tT‚Ø;¾‡¶ñÉÙ—Ñr…™„À³5ñÔÁ;ƒˆ^[òzÙBïU¹ï¢È5P3“TO˜úÂ{‘c_Zá,üm—LB_û`F_ïþêrÝã6´iáø«}²À¯h¶A’è”!Žc¸ôæ*Üd©Bžé©š€ùì*«W£uä!Az£I‹8fÉÿ!ÌX¯Üb²h©¶­F>n»{„¦?•…½ë;| ‰+š„eçAK öã f-Ná+¯£úÔ£ð¼£dý(rõAÅÊDê Ë/Vhv”æF· 7a£ÖÊ+ ¶€¢ƒŒü@ælfùÔ€õ†é‚øø›^[ö68Û”`§QùŒq¡ÊF숨ۦðÿr甲EˆéÄèààvÁûBÊŸMÐÒa§ú¦'Rì+@¯f@ÖøA¯…A„ûš…-$­g1þy…+Ñ` ¥~£ë\Z %zË-Hr ±´RòÀ+Art…Š‚»Hodk]>QÕ7U.BÏê1æê"^#‹fÓÒyRÞ¤„.*Ï({Žò¨0ñÒµ†Ñb¶&M‹L¬hlËÇ©@Öêo@ dC¾hüµ"D#Eп8ÛüŸ4+§ŽY‰ïì}¤;UÁ6g³Ÿn¹h ;UÁŒ]4QŸ² lpîhz~Óž7â`âšXq5ê¥Fú—H:Á2Ù£úödä˜ jšÇuø(é ,H‡ìJkɾƖsbdüfëyoéèMç!dû•éxóˆR‘goj÷F E8ÇÈó€TÐk|¤WÚɿ䖯H.wFík˜¢Hžß=ƒáÎÿ+¢8¯«½¯Àúk×yÝÖékyË´)>üEoOiÎ+eu®6 ú!‚m®CHK,>ë›·ºäd€E5oZl„±·¶¹ýŽ„ðç9-dœ¶~â´V¨ X¤[ûŠ7‰V)”o!“^êFÐÁmSØÂà¹@Lc/ÆØŒWx.#Kÿ£Ë`U‚=»£Õ•¶KcÅ*þ·v†[ L¾J2¤[޼2bñó÷kÁåÏ :n`A PEF‚±úom0¾©F6 MðöSðÙ ¨® µƒ´Æ»0mæÀÌ'TŒ…@k%ÞžÎÊõÜûÚ·2®à\ %y(±“ÌùQ!Åãƒ}‘ñBÒiéã\Žl —êGD[¿¡j ˾ÕÝϧÊt2èð·ô¤¹á¿Ÿ{—¡”o2é¾RˆFÚï¹ê|Ùm_†fy冣ªf,Ý2 bŠJGÌP¸ÉЬÝD5©±ŒÝo¼un?a™Ä3üØP•üóäã‚\Í“3²ï£RØv>ÆiŸÆ÷5Z#ÇD ’-ú ôU êø”ò]½» C…€°ºoŒ±¶1`XǶ(”«Mö“ËøsþWò1õ‡°—¾#ê[ïª=BBDÉ&iÜ|2iÛKƒx<Ý¸ÍØŠñl\£“8ä{-Õ™‰õˆÚ0 × Ú(,i«ó΢êyLuô¿Xk:ŒL¯‰ZTJyB3o úüäxúçɼvyJý箞`|~Ý«E}QèÒ¹nhýÏ™g(=%¥ï«[¼Šƒk»<ÜZ{ßN«Oþª0»9>¼IAk)'ˆÝ5ãäŽ/.š ï'3šw­ZÞÅ»€mE8N)¡‡€6­JÀtF]X²—M¯ÕImvý¹3ñ>Ý ßÆšþhH2ûÂøûS=ÖÇ'­íx†b[þÞÛ•ÄCéf×Çï”# JxQê ï”á[¥Ðý¯i±¦7ï« ÐÛØE=Z¢ýŽ[„5†úLͧéÉQ †'šôfè/1"Ò›Ð7B ©—7yÜë,3ý4qëÖF¤AèÖiÐÞ2gƒ3´ŸQÎSˆÓ°BÔU'O<8Z8¤¨ÓX“nIùØ[oÜ«¬ùÅi¢%A å8BS5ÎÏÍ̽j!¤6}-è8þp{HëP~èrú*ýÕð±MgûeÑY‚, íKê¥I"?çâE.Ê"¯ ï" Ñý­®ÝE·$Â’í£ÜÊÚ—+73êÔp{Yéû/ü%¯dY+5ß{ÁÃÙØÖ_ä ¿ösáÀk¿]¸®ÕKkyZú ­:£»´Ä¥ÇÇÛz¢‡ d,1úó¤~uÔÚ?”f§û°xë”¶OE{ /Mtéd‰ÖªäfQ<sŠB)Äpœ°ßBÆœ-`g ¹òÂ!¤d#¥<\Nà/q’ħ~AGuž8yž]üR@^j®§} .ê¢ HÂ$ˆ²޽ÔÎ3Jû41…*Å´~š¥„2Ë ÉcÓþ Uhá6 wp}ñûŒMpñw¯Ñ”Ñì…nk}—,Ÿ7[˜^ˆƒˆ_oL£éÒÐl¥×—ò»€÷ÃøODN!ùƵqJÊw’zRBÈÁha}0}‚Ž%'¨³mçç …øÁü?ü¨#]4cÈ>‡ 2Âîªé9÷1ƒ°ÖÜq–nLÑxÔeó½"!TѱóÓpEa)Îi¨²Ó7^ £ˆXBÂßîÀçÁÃÆ'Q‹a~Ùiy'©Ù¯åö๖W ¾%t˜]ަGK«GWºœ`.cž‰l$]Ý ­`­Éø2_E⟪0ZÃ.³¦g®ŽÍë?¨¼îÁiÇPÅð1‰m>e-y é•‚ùv°¶ñA@å)ç±É<0Ð,!ªlr™¶'ÙÒ1yFZ9ð ^èsÿZ=§C´èþððããD@øø)À†"ÎX·ÍsønÀ•ȓɡ8*Úܬ¨6‡ÈÓBðÄPXfzß^tÅe:ô âÖ¦½;YT™Ô¶™“ü˜u­V5ÿ½)ÊšK>@­”‹$fVeÂÜŒQJs„ÊÜÄé"ã¦v™­M°kÁ*ÚY\ÒìÀl °;vq…’ÄY¤)„è¢öÔw«Ù†L’Ι, ï…!Ú±Øèµ¿DÝoª÷Ab,> *æÑè×܃Ž(ñ<¶)ö“JX+¾¢ØóY®ô£"WTÀ=Žk´¬¥²·pÖ¶ç¯#ø:p¦abh hÛN¥TcYkØô {¯ac~ÿw– #š„yØxº ¬+æÑ ~&Ъ5Šï[@BèÇßÅ ÏØ2Fz¨¸­Í5]1¦ä.4Ìþ¸0ÙOx~e].ÌLÁ ŒŠÁ)ÿ=¼J¼ÖDÒùŠZßëôƒYu(òغ0ko^H…±[•¿ή'7]ÇØè’v½g±ÎmsÑÕ• »¦Ä:QM%ÿ\b ÊZºòž€|ŸWk „òÎ1&óûï¡Q#×än푪™qXÈF¾¤@³g (8óÌ;Ýnnÿ‡]¿iX½Â+µQJP˜÷ËZT¡ëÈNŠÞ|I{ÿ+&=¹j³V¸š÷•v? ,å‘>pMîȼô¦±e ŽÅº™?ᕟ7Å@ŒÍÛ˜}q*0[Ç[ 5¯ˆ-EO·3¦kŠ*²”þû»ÜÔÿ—V2Ú_eSžMÏ.xùÕ©0NÕ[Oè¾Hx³›÷éXwì`eè¶ùÑŸ‡Ô·bº»³0LÒ̸UtìïyÁ£±(í/N!Wy¦×ÀÕ­!5EúîcÙÜ6¤ÍuðÉTN4é¦ÉMôO eجký—œmSäÀvX- ãS_ì´rû4öHç×VÛQüÈUª@VF’+$ž°D=0´»t{–s0¨æ“è‚Y[x#áxô_9sY ó@{Ö¸dn»‹9u€Šb=ÜΣ Ï ›æuœ}Ú´€²Ê÷!“s†éù=ã*ìèµò‰çÇ4ô!¬xí©ö)^‘ ™í¡ +{Ç¥³ê¶c¸`ß:úx•ͽDôÙ,ý„9´kãÓª¤Ñr÷Ì_ÑÔ-rýëRÂ1vN׌2‘¢½¹”ÿ$ÛC-âåÄi¬ãœ%¬óÅ»ýÅÌÉ÷i#¨‹tèŽbOé?rÞ–m£V®K7;°Ò$J®¢(Cüm(hì gŸ>ް©Ó{œö{É›GŒ>R,Üp'}ù—µ]´Õñã¤H^F#9@nO â£ŠŒG ·UÕKhªÕÆ5ÊÄ‹CF {ÀH Do—Ø8–öz‰§0BtÕp¤£Ø÷1ÆK¢Ž,™¤?9+T±K ŠËo[¥>W•/ys¾æôÿîÄ:¡y{n ²?È2x*ÿ¦’3ôBÒÔB)¼Æj½ÑðÚÎ×+šG‡ÿi"¥RÆÊnj:N!¼Œì«ææl”š¯Š›o–ˆ.j³7WÙi*ñ),ý~ê_5Ç€áQ{D¢µ^$”èMøûIƒî¡Tt|ïÍŽ £¹õ¿rþãíÒuäM OyºÅ¨Šjß)gÈ•’x›juˆˆ¾Kýà!7py6lÀ'¿‹.0…aq ?ÖVKgל$e-K¯úóæ?}§¡Ør¹-¢ŒË$3L:ÿ½œM¿#Mˆp_ÿ¯ÓŒPH  wý™Ý2½ïe°Øuv³Šl >lÔ¢ÃÊäpäÂDú¾†‚Ó·WÞì3ÝÙÌoà P|F¹‹3>§·³Â¤e¨ù)´,96ÛcÁ4N^61Ã’ð/m%{ƒgñ¢çÄE<¤>Ê· DŸTq„¤.BG•MU[Ð êʳÅ`ÞZLè»Ð4ã[‰›¯U/£eGæÚ<üÞÔC‰a1kóÏH ¼5'óÙ÷ôe°†~q¬£NÎk@èÝ®»î¿ñxef¢@°ô&ä32{Ò–ËzžØ±LÈí.ðùÇ`Üi Å£cŸcŸ¸\n§C´ÖÞüÆû”AšpUJ4ÉYàãyèÎp ÑíÏ‘R6-eœh®ƒæ—Á;²+Íø hñ²BxvÑÑðt¤… uºYã¡‘¶žÖløG-ÊrX§8¤s=œö4—‰1Jj`C/F¦˜‚iäMŸ—X ò²ÆÒoÓ§ÆòfÌjeúã¼aÙáÇ8¬¾»¾¼.W¥c\/¬_T§4/rBÌR|o„,t oÀXU Íýdâ’ÃÊ­ž#ŸÛÑeÖÀ ' $]Ç›ÌÉâ‹€‚zˆº³‡O2¶1y‘Ê7ªX¦ û]eӃוõšÔ%ÈD#±›š„¨ÛRùót>QÿmÞ¢ñš’ˆ\w_knågª\)I¨O Ǿ/­7wÇjä¨GAny1ë™™c5‡Åi}‡ ´Ç4ukñ'pá†1ú«š´"òPŸ!+KÖÝ5Íi§Ê} OµØŸ¬ È‘QFÍÑð¿êª^F`žÄÐÎC¬Ä Õ7}#ê09ùóg>5oW<ªÔþþÖRubå…/ôªöιûÞÑVƒq›‘½ï8å—ß«Yê»óĦ¿`h¾Bw¿ÆV4bEŽ…DX௠ΗHVìÌÂn«³Èc´_W’-Z~mºVvNxþ÷èe…>ÏÐýV‡ë¦4~¤·r’÷fùj×ê¹m®Ö¼ Õ?{ Zͪ®D‘{{‰¾Ó& ­T¯¨[RÖÜ=_!caPvíÉwX]~Üær £š:Žàp+˜È·wâÃÖcàGSLQ-àüpL¿°4'G¾’.®„ùIHeݵÐG £Ê¯á†fÁû¯ócµ6IˆÏ&óÜÂæ—šI!]*¦@²•öfn‹,“§§IžêÎöaØ ·ÛµÓÉL¬j ó†²VdTžæöçÞ¢I…åæ3kbôÕLZw.¤ùCÓ¯`n‘'I:xðáÅjчŠavh’ ™öàS¬À^¤ Ýï¸ÙíªRE\o¥°6]Q…k 鯇]+57ˆ P›ÇÙNKðì!§Âü QE÷ME@JÑå´Z¦«‚&×*tÞà3ðƒ†×µÃhvÕE¸Bgd¥vvP—õ;_ˆs½åÓ‡4X>,dCŠÔø$¤tåÍô;¶|gX¸ ƒeŠmG\WùPºôùËâ(Q`]_^C …»Câ˜íw¯æ_{„á/+ƒÑ-„Õ;?3á—š›±x§Ö.ƒç°†±WuÓI)y'ªÝ† § ¡~ÆÁî¨h†aSR¼ÐWæ‚*Oò;â1Í —b‰¶Òs×L»¾£f~ `Ò€BÅÇì¦)o[9¨kÁÙ£pC½aF•BúY›Ûe˜4ÿß©À]8M™<‚γÏ“ÈæŸ.[÷>üuJ¾‰Éë(Á7–\ãH ·rUºñü9« ó½@LÕ{.¤«ÿ_7ŽŒþ–_`PC®œ+Sxeñ†a`EäȺKò¤Ç= >"%³“È ÊŽ:Ô6ß›Úæ˜›6\#kà?€š“­ÇçVd*–ªôûÅϧÕÂéÔNá‘ÔÆ$ÆŸÞ˜J´ñ@š;öÆï'Ž>ýÎHâƒëÓ ¨©Ò¶ü2¢3ù€j•ÁÐYÍ&_ó8¤Œó×z{óî("µàÅÏ£±cLìÜj´R2zM7?Vœo*p­fS¡â{.‘ãjäñõT3ìÌ{ïËc>ÇݨVÔ®á)^ÿ‡î²D«.Ü¥²Íˆå(©¤ûâ›b#ˆ9Èl@Úº‚Öe&ÜÝ¢‰G÷©85[ôŠšÄÉnñµE’HR…4¢ ­bq³oz×+’0ÄèBN‹ILÎ’½t ¦4>Š€¥é¡*§(0ó”µq ŸÍºV–²)¨¬I—©È‚qNS[“(Ú ®´>>÷{Ý(Ë3ö6›ù8›z†FüŽk««lHó$ªÉ¡ ÒÒß …¨JnlHÆ~‰Ð ý5Vèè¾®ŽQG¬­˜zxÖ}ª…Ö¡I:Ee¤xŠmÙö³¢ñ 0G?SÏ~™ »(–/Šn„Ì)2Í *~)“÷¹qI¸Çà €Ãùê`%#agì)¬YöÑ'`¥.ã“ìÖWøŠ¥ðŠÿ%¯‡ä_r9*òÔ×}‰+V×âÝW gÉ 9ÍzÇ9VÅwoJwŠ•³§²gÔvè‡ìÝ_7Ç—òj•j[‰†þbiò0ϲÚU¤hì÷z b×´$Éè‰âÒ©kÁðÐß&Òâ(j|Ù-ȶR [ZôÝÎJdåÃÚìÑ»fŒ?E‰;xƒ½ ºhb¯B¾Ù')kg”vjßPo–> ¦¡²1Ùè´VÙ•9×+œgB‚ëåµç|À¼j^V…‰…M¹¥ŠX0qPóIžs–ø>¤ÞR.†0/gT­%Ï—Âí±ä9¢ƒåÙMÆ…™@ã6"—{R ŽÆL«)ï· ¥·ïŒ˜B5 ©¾P²÷&í±Œd³ë¤º¿pï‚Ìð¼ì£¬Žèa…¨žžVÉH³fžtòø¯¸ R$åF"Ó|µ ·€6¾Ûo=Á¤¡ç7Å9óæà¹ýàæ9žíÞÎþ@±Ù%¼Éx$—MÄ@îÿ§"Ç5Ð~W)<ñó ×ø²bÆkkm›Ôøp 4CKGŠ[ºq÷â'uæ›ÒÒ_q”Kýr„„ªBXºˆý¹øC©d6j•s<–p.œÝ‹D³Ò‹b<ΘgºÚGÍ^®=ès™‘HN[n áÀÃFhau}ò9äL‚ƒhV!+þ™Ëìž©ÝsÙzýÌGS°ÿõÚz(á¤1—ÛŽí• w/-ÊêÍò8å=ñã±èØ’ˆ›!É‚²‰‰= )T<†&Ž‹lrË¥~Zë²-Œ;W˜14ÐÂn– êÁ'\0'6Ö‡[òŽúß·8£Ï± d`FëůD™ê5`=O±ô_û?ú¥"ÎÏàÛ@¶wî‚dâ$N!^yÄî:R[ô"öÈRÍ); {ù|ˆØÂÕz°4šëT?EJr·/ŸS÷Qi¡Ì,¥u½hÑÆÉîžœ.¢¢Á¾\2ƒ²²>[ £~e«pð mæ©­ÝšòSÆÖc_¿ý_ï.ŸÖ„Xš;ÎB¬Tw¦ê}¿~÷¹ª´°ü\xCè‘–²™8þœÞ¦œqeCRª*»RöŽ·ž<ëLL¥ÅJe5v˺A¸7_@·[n#s·ÒbÚmi€zÙv£üOͬSré†é›©®¶£uå! žqvª„”¾4¿C)¹rËÄ?àîõýMQ£Ï¢šA%¾Ê+ Üœ%®­ù¬œpøB÷¥³ 0À‡`Ó ÐpÊŠ{èô×ywYÃγßo¯ZÄHl6Lp(¶S§¦T]a‰±N$°¿DÔèO‡,°³QÊÄJbƒGز$àæŽÞÈ;v‡Z°Y<‹“†@.*ÓÒWµ^Qò½5¾zVìT&´ˆ_ÓŸ*iwEÞk4dx5íÌžæÆ”æÿ"ég`ƒñÝ>ß…8/[aã}ñ­‚–ÎÎZZû'È -¦‡ 1·.rKêqû\ŸÃÇÝÚsq–ƒ[‘1Øödüÿ=‚AûŽTt•–'hydŸý~,|U¤£Îw ý(JTŽ˜oí…zpJÌ·Š0<&c¸¯»œ¶mK–­¶Œi¤‘/t?%Ñâ ›½×¯&±N6BÿÚ¢£ÞP’cwчñÕjsirVå07«Í ÅaGß}´ÛŸ°‚iâ“ G…†Å|ðHçЋJÞ]Hôûpä¯é¨H³@Cú]üq"ݽ‚ïï`3¸1nH¨¼mš/ ¥Œ¥Ã˜…« „£÷rgJ…BPuéìúÚ{‘Ðì‹FøEŠAÁC_«4à d>u+Å ÒÍqø„oÈ*k!ƒØõ©A=¼Bj9 ­¹‘ö§&ò±VÈ™'‚Ñ'æû PA×Ä'»êØ¢kZ•Ð3±×`Z(2¨6&>ý–ŒK^šåZOž¥ŸžÄ$ Öô€KM‘¹Lêš³õ¨Ç%ù”C¯Œ±,&Zb¡}ëE옵…,¾·Æv´ð€¢ A]»x@‰ 9àl8!«@!T¥‹·$Án¶8ãƒZ˜"3^=ë†fZ™ñº˜äOïÖwÍø§ûÄ;)XÿC[{|ãBB›Ó4R)BL@ ·)6Ê]‡‰À÷žÅÔ1¬Ó8—g8aÜ«I#0!¼$šÐ“å›èäååÓÔ`÷²v”²•F†õÊâHvðÁµì'‰N©T‡ÐUÅÀ=ŠÇV'·úàq7ðˆãjþ¢¬Mõ(ª¸Pæö‚ۣwÄé4†ê!ßc·Û»2ľn;>›GÒÑqnµŸC'E ”JŽË­Õ` Ï—:‰]¹¨wŠ^êOàdÈI?‚àÄ™ ®¶Ù èvϰÒ>`¢ù71#x[§FPM“·ƒàÜrÖñDà­«ãg°?Ô˜®‚#Ë2Dͤ“E"'.j(v’ۥϋ­ñ]v?5]‡›ƒ\òk!¾^Ðે½B”«¿?¯8"I“û !!³r±çÐâű…5Ë|¿”—fuü¼„–´[ÈiDÏü©¸_Õ´"‘íµI¨} ö6‰==L*5Õ*¢zmÙxj¾B_È©évuŸzž#(b}™ÿLèÁã¼™Ç(6ù·.1ÖNP`×U#5ô<öÁüÓüy:qêä Žþž¹Nj©hf¹ ¨…C`Ê»ÅM.Æ4^-:žPA9§ ¯Óy¨gž‚ ªÑc¡Nt>à$ù]¡lç=@—ß“èeFÔÊ<´H'›¬ÛÙ¶+/´“þÁï1)@ÜÎ=²°ê# ÿ±ÂÆpê¯ÁlL¡á“*±D#¸;§+ÈÊ–H}jW ÿÇæáìÉ5xähôùG$'Àôé™U!(ç[Xv‡k=yÝ¢lÛÎ{ÖN¡ Y䛄!e༻GÃúNÔü¬ì$ UvÔCbå²Öà2áþnÔhÕO$5 —£ß2úAEžaPçzÔ„D‚4€¸ÖäzØ}ì:@S›{Öžöß®ŒN¦‡¯Ñž9¼â*òÀ]?:6h¬¬°¢¬‘ÂÌŒ4,K布%ä#´"ŽoÍX99…uáy$zˆ‹ºÐVê)ô•†œüÖ ïÜ%OY‘™m ·WB}ôE-xEKƒIæ¡MâIO]¬‰cÊ0ˆxÜ ÛÔýsõì™g†ñ™ Tcî»ùwÆ£+5%­Sf\ã]d‘+ÝnYÂZdãõ§7$É£ëÖ Àsý@5¹aÈ’ûà׬Ð4ú¤>’]xïþ»MˆÀò«èv6,õÕd—qjÛöÙur®iè¤uOó\$¯‰±éðx68õ¸‹Zº{Óå£;;ö†ÍUAÐí2³#óü%Þz?Š~™Ó¶lÿ¡îâ’Àó`/z´AÈ$ÁbÊu ž¿”‘85„»ÿ"‹l`GÀýeRºåT`tÁZ+£¨¼£1Üו ‰ª5N#Ðèëß ^Þù¨•Üj#O'ú•¬%cNŠvku ·#CôÈ ªa»Ód‘»+èh2[›º·Ÿò'rº³ß“°Ï·be]Ò¡âb5‚Þóœã',×ÒO4l6—˾*½±ò5ÒâûÅ B´É´èÇÕ¿’öÖ&K¡gw²@÷ðyä<›Vñj-¶ÊN˜àUúíúl‚ø`ÈNu½o~\Æ›?18¢MèéúÖ‹øÜ!¬ò]œÃ6Õþ÷Λr}Ø”²çèx^ÿøzYÕp›XYeŨåc–t5~DîÙ˜£Bó¦h”'‰ŸìX½ßtéÃÉ#„Ö¹;×}ÅÅÏt i¤é¼Ê´‹\c®UB49ÀB."ˆd_б _ý‚uøì“ÃÀFe!å1—‹{Z,(¸d—mý)AÅÜ}¦‘xƒ¸e ›ß›l€gÜ…8X—Æb yˆv—¥JÚþF†PçÉ?oDÑr8‹åîëm¡Ö»¢æîòªœë6 ÏTÑ’£4±<`8çÉ,OíïAa¬’°–E+·÷ÛŠU1B¿– ݪèà†®­Û¥AMšÔEˆ?9ø’¨x ±ÕåL=).yq] A<bxEõXlf¹ >ª)bÂ8ª»%¥"ƒ¥ÓjÙ Œ |1äìE^úZØþƒÅZTON½ù§*5i4|iŸÏ¸èJ=’‚äV‡y žƒP;ûçÊ?-ú#N°UK»VœH¦ þ+põáÂTÞ#Û¯£*Ÿ„^·xMÛ¯0°HUÁ’ÿMASI)%˜/¿Õ믖TÇÐ6•hëü‡ ´1)I„ÖA`‰U à4m´þ†žÿJJ˜¦9ÇÅr»Kzoq¼K>£†ÚWaQ‘nä4]x®\U’›-»\Ó̾±å×uèÞ-fRø3x˜EMÅžzÂ~‚cD1sh EYŠ_;ŽË†¢WwŠœ«–ÖÜÅ™¿^Ñú»RÈYó= ULÞ:÷U .x8’JgýBàÑŸz”× ­«KA˜ Ã{ùn§¡‚9cRÃë§Ü‹(7^¬jIžî;÷n‡vÇÁåE4ZçW 7³_ÿ€)âÊohêϳӰ6D>IÝØ&<8G§i?©ÛN‰ùSºbÝÌâúÜiAˆÎ!ýàç0Mv@Gcñ\K<˜‡%=§¤k$;k˜¦æ0° yA^#êx£Ëp*:H{'fI…gE·)ÙôíA·zl2§ígG-uh[xÊnm‡Ù½‹Iaú5¶­þÍØ/&0Õ¶¶hDÛhòµ‡ÖÂ!€ïP.å̺Xß­‘ØJÿCXOt¶ÆÐ?a •H±zÒH|õÆH¦ËºyÐfÙÝ!çÑñB$u§TÎ:Sør¾  I+…=ÓƒRMOlD©A˜æl€ä¢¶xôï=²LhKmºÓƒßbûwr«ÜõoKñÀrÀüÞUpÕûÒP„|zԑ܉†ìǹ÷žlB³fkÇF2a!²\í Ø'Ô(ô ¤ªûF"ø­Iãfƒä®7=’Øæ{‰ùk®ÃÝ·#C·èùÃ_VŒÿ £€X.¾ÔÖqѰÆm„›z6{µ é^wIœ5ñÍòô8¢RK4@°¿3ENQì'*‹‡n¼Cvö‡ìGQØ}µ¼ª˜ø¾›{VuÑΫO[?£L‡ŸcËü©X6ðk¤¬Æ·Øò=èú£±‹¹‹OáÚ•®Ð> +á‰7ÆÕ_"fGˆ½5…\öÔ„Û_"Ió° ߥ»šRn7S[ÞÃÍ'¶‡!ñ±$¶C̓–ÛÂÂááeb~§2Þl 64RèÂS/ÓÔc˜’ÆÈc}vª÷]‘ÑR¥AÇúr'ÅFûÞ¬é¬È³ò¶Ÿ²„»ì¯š³Ë(tSW0ö+:“8IÛÒÃÿ”óaà2£`Aìÿ$J¥k˜RY2w¯ó“)@õn ñ¬"ÀýEDjph9Q¿þ]îOß%Ai°ŽiHu- „¡öxúm)Øq¿Ê-] ÒxYßë,{Õ4ŽãhQjOÙÆ 1´½ú%*äÙ‡CçÀ%ð¯«uËß4ãÂƸ©ó-û¼½(åøöø’S qfS=ŽpÒä×´èÞ¡„ªL–¯žDÛŽ´hÃ1&6ð]”á‹E®Œ¯ *&â™ ƒ`rég†OyRZží×¹ i!Tct/<)¹eXQF [Î{xÃÅÁÃüKÝ/+«°@Ð-T>iFäõ‡\ö|€lfçW^ÖËqGHv Ê>Læ9ëÆœ§ðӿ륮/f]OÁ±BéŒõ[;Û“d‹ÍóÀ±üá áðÔ`îšýÞ¥þìô‡AܱŒS>[óüðq‚{9Œ,n“›™ÞÔNGáÍÖÅs§UwH¾]l¨ ˜Ì÷±¦TÀNss.[ÅZÈÄ]-F|ø¦Û÷u¡KF;÷‡ mî r+䣶_$xµÖW¤gOÂsÅ!–ðŽ?à¯ÓܶY‚íò¯&CBbB?§Ýå€FKÓú…Ð*ðù¢>Ewñ3¦®É&’I£¹Ê&{Q®þKU%A'çÖÌNT ¿6·@`Ãh¿x¡8ŸSEÔ.‡òÁP#gm ì×lådF´Çœ^B«§ÌŠ6ºV='­D—|ŒàlîÕvÕ¯^›^\arfq)épè¯úb;¿ŽÊŒú“® cl]®s¿Þ´,¼8V×#ø¯ý*yÇF 324¾,×fŸÕ3[ÜΑ~¡îÄÏ}Œ2ði„¸r@¢C Z¿GÆH·¶Ry*”ûGI™&®LAdŸÊ—øZì2dýËS¹Fý ÛJèo›5ú|)°÷ƒ*u× ê7’`λý܃%u³%õÖª ôÞLÙ1°Éþ£³M t0“BËÏ9K]Òƒ–TJ_••C7΄Á$í²‚ %@Žt®ëC8Œa†Š, Ñ$¡& üUnÞ:œ0ñžo­~ |p¿Ò‹ßЉsEªHIÊ8í˜Þ€£%u æ†þ§óæ[wÚ4z¹BH+»ÕØÚóƒÛ½ÜótqQEÅÕªñ¨ /ådÚ‡´¨ToXÏuv2Ü—Né”ä³é9Toß–·ÄÓ~h‘Q[Û×i¨A™röHÐM«]¦iðyUØjBU (]ø²ªú1 ¶»$–†è›ê®òl¢ZûÊ@u³£›²áý0úxÉ Þ*O5ò˜ìTx˜Jš’Š8k×H‘éØ{ÖWÇÁÎ@¡l‹Æ ŽÍö‡*ÀvðQ˜~¨’Ãm¨®(“l¼‰ÓöÒ”hŽû…"Õ =…¢<ƒ½›4ý åz¬éÆà±ø3ÃItÌnœ«±ñFÔŽL=в‡ëŽÝ§ìúg…H³7¨…RFÈr…¤VwÇÄå9yÔ…@rݳ.5ã€ö÷Ü–Ñ`žÐpM±Öäç8£þ+#ùFr)å7ôÑ_ЙZÁïskÍN]bµظ 'y4’é¹_!ãÑ_}‹&²DBN.g:–€nžœùÿ{Ÿã£÷ ÃiÝ’–29šŸ y²¥­Çþ®®Æƒ WgdÄòÓif@QG×05˜‡"IêBÖåîŒ|%Þm܃¶(/%++õ“¢{ËßSó„ìéÁu™ßëÀŸj™2{3½9.[×~üÂJÈ"KçdîµK)…‰ÿC™MvZ›·ÔíN‘, q»Ä­HêÆØï†©ÙÝoQzãzí‹9.6:ø¯ˆERɺ÷=p|@ó”ÈêÕ@”´Ír*ÿi°#á¶—üî¥ßT=q®Xæûm(,ÁÇ8RwÛWá­¨"§ûôºèÙ¥`¢:'nÓšKÁ²êdl~D-Ytjt§%F·pBd)f…kœY•¤³ÝWŠòj*ÿ÷¤pÕ9ÖÈëÒrq[ž52n'·×ï³p=¾pçˆýK©•ða,úÆBÅ$¿˜ÒpOé#GwzÔ¤»²ãAå–jñà–Ê´yY‹9wö|íƒV”¬‘8OÕÔ¢Þ t–ï\……²þ$éöE‹5á|t*3xî+ý΃휹óˆVψû0Q”…²“.¡\f¤åæÖc³=üûDÒTcÍ) .7hÚ,¨Öy 48¬“©vÁ`Ÿp_g 'FKz.ñöS mfím¨{DEWâ·œuzŠº=¸Añ¾*×fuÝKÉ­œ&^‹àWä0öœøqE¢eVr¢ŒÖÊû$œ7t‰V+^¯/Ó{»èÑÆë4}m¨S¼0½…?pø5”¾ÀÞ‡ B¾ŸXØ2QSå’"ïÑh‚…†´ãG ÝÑtu|ó·7äŠnsh`·EУG” ¶Ú¤ãµ,ëw-Òÿû*l7ÙßÌÝGÁvõI‰òâ?ùŸýסßdN:9!³NÔ¨ð '#I0ª"­ó€¯TÓÀt–pç|È’ÆêÂD¥ ßm÷þߦáªNÌEþ͘ \mÏ(Vî$Gyœ¯P¢9ÉõÁhK£¶f› ­:MáCm¬-‚·Di{¡Ps‘TEæ §[àÎ:`o¸&ˆ?´«ýx`jÌ \,n‰sxëü°$‘ªÿNŽ ¿t¤pºêZ%QKÞ!jµ­ä¨¾ûè%ªÊ­Ã3Ñ#¾E®w±vN ›|°˜¹ÇTÖ…5Ò]øócD7Ø'Õïàî“ã_æŒR»¨cÒ‰º?{öð34SDæH4ôÃäñ§•+ØjÁ%ú¨sÂ59;ýº;ã=EŽ/0Q±êˆÈìø¾xL/h"ü¹U3')&›‘ßBeµ­rS”\õM¦<¥“íU¯j½iT£,óuum ½ÄeùJÏKñ‹Î¢:),Tad(²«ƒZMÜ@÷«‚…–eíKg&]eŠÂ-)Î7ç»jpÑ¿?­Ð+]Ñ_WrP¹ÀÊ…£U+NǾ{ø†®æ-G*ÿCMmMPgD_tØX<øèwìS·£ÍyJLG¼*í …ä1ˆUbHˆ•Œì Â(øþÄvͰ²è_Ï#k—^9·l¢™Hc‹nÈ’:¥#›£®•!:býåîU¤ÔEý¾ç˜ó½Ä ©¨L‡äïÊ>Ÿ`œ3}Ä,_úrø^¤é°žBüS¸÷<Öþ@2}ôÃO¦Šƒ3¬ ½’ú¸pÁV—1ÇÊm< ÝY~ø°7ŵ% ó’ù±ô.»·@€ ûk¦L{qê”M\PJ¡E@3§.ÿØyVÅ­ÝA;ã°¬’k›ïsçJ2! ;&6ÌÃØôFRç±ÕØ8lýÚ–éÜB{·ýYLÚX†ARÎNÙ|ÃÊx»Éüfót’ÕØ£’X*úÕ‘g'!Æ<ó/2Wº§%µ~“ô+>vÈס - ÞDÐ7¾ XzŽb)£¾i4Û—þjÚMö›ÙjAÊ'…æùUü¦ãÕ¾p@ÀêZåÀLuÄñšL‚ȡƸÜ+¾a‡é"Ÿ†ëã¶XP²&Ë¥i)\þgÆï“gŽf›8 €:ßð ‡%{ªÎ€ÿÍ)èr¤"ÿ1N˜ìØ)Í„©Q¥x`€ÆK|ßùÚgÉ4 ÷¿Fò•ä`¥o“qæ§Gej׺qžÈ†bØ ¶Lh{.BÚÔЕ¢oÞî+éGé1Õne9™oYè-îÜÝ{_•9<ÛÔ>-K®›u« º_:$ƒýúÅÖ‹ËÀнûåFôz[[h¬cw€èÀ ñf§\C™ùÈÛ–mh|oùŽÈô¨2š®,IoŸ5Év‡1¿•Aw€_ÙBsäŒi‚EŠmù-–áuª‹ðáu¶,o1´ JKe@E|µw¬"À¬U8U3 qŒQ*ú„ÝP¤?œ¯P óx±ªFôÝ 'ª(aýLCµ<¹LÁ€ÅWÞì^cú÷믩Œ°)? 52-Ahx—¥í3þÃÓ•fË‘ïõ†oÓZBa@ìè—xa­ãkÿóψ«óÍÈ þ¦•Hi|ãD¯º7´etšs*[þùu—ŠVCÀ¶Gmû­¢\†ã€£3N¥Ãàžö5¸òa#Ø£“ÂE&'5ÔÚXc³éŒñ¹"ànæ¼=¨äxè¨VâþÃD/m<fßÅRR!aªsm-Iïâý3 NDó2FçW™f–}»û߯18‹ŠW ´‰ˆ‡D:Ï!²B×mßý vûWÊcá7w–äê¾[ùð;_ï™Îî[­,ÌzÉ í^9&A˽‹ËnÁ‘¾¥Œü³‚>ñpq§¡Dûþáà‰wAßž¼·Üv3š1p†Éëao€²Z²æÄ4Ý·ÜÛB W¿…ÁKÖžsþ?™ÈÅýÝ|´¹‘L.—9G`BÔÕ8JC:Ȩ– M4¶Cœ·"¸»§ßTú3ÑéÅØû(YQðbôŠï%g~3 rƒ¯èD×Ä]œ²T(­3ƒJýüÕ[¼ Þ<½ÈFNÖ‹²] zñ¨…?àRnжüȤ†ŠeZsLÚ1À9pó\/3>"w"Ÿ`ˆé¨èÃSŒ ßZy ÅZ‘¥¦}e(—w%à &•ºìg±ro¼¹Z‡6WõôÐËnàÂúµ}ËΣXI?&Áåè„Þêd„fûm:-‹‹‡eçÇ*ò†×˜#7ë¥?}“nv±»â*‘ò)Po åS_M$”ž€s‘ÛtÈÐÊn˜2sfl¸è¢)u9)DŽû̳ÿZ³Š>¿·çjÂpÒý¹œÛÚåjY ?4lŽ5'ú%p¹¹ÁzK€KV™A’þk%öÍ5–¯%äÁ7¤æ¸þg —êf»´ëúéìˆwÂ9†é;¾À×)‡ ]EOh4¨ëèéçDÞöã‘ørÀ²ú”„fÑǦ‚V¤"5’’Ò`P™m}šS'{.Ž0ñÜ¡4ǺBlXjŠ›,Oñ%K†øèQœ8`LšÒIÂ|.y_rs¶3¤.JÆæ^mx~eÄ¡é´DgÇ“©ª›/GÖ|ôO ºbs:À$9])*µÒʉœPEV°¿wRЯgÌH‘²œ ‘HÀÜ—-?vWxlOáÿËô¢WƼã¶=J}Ÿ1?=¬ïREb|Ü Jó> ÿ3-§=H¶"žórQ_N“`>§¿ï(ù–µ(YG[îæ_ÆbùäÎîãs?ÖmD=—Àº G=m q<‹F‰úâÉŽÝ•QÍQšîE;m÷IÖV˜tv\ð$VÄ[¦%Õ[“ã øÄ5*(l²+ÈêûOõÒ’Wá¾vå& ¥rYô¿ËYÛàE0+PsÉÜÀ“MEª¬4Û¹¾Û¢Õ2 @Üü‰ªc“^QáænDé?‡®úÒU‡ì¢ìáJeª5¥gŒÞ¦è4¯†ùͨô7Ä5Ï*›®rË'ôoÖÝ&UÞV0þ¨ŒgÎße3;kaMƒ±ƒèÕg p9ôƹÅ„Gx>à°SjSõBÛ͹>ÜÖvþ¤yx¡º…%ƒ#_4{,¡’O5 üú—X¨-›?sÞÜšC é*Úv3F…‰Ïga—D0Ød7¬‡kTþKÐŒŸï…v·˜ÖYÊþ<1ÚuÀ‹Õ©›ëŠýí ö¨á@ÿžC;µYŒëŠÝw;÷×(Á= cäO´»&½-”þïoŒ-P¶pÍc«“wˆhÀ³ð 2¸w•—ûP„àåñ…È]10Ú%h Ìß’ŠÅŠg²/ŠÜ ÝX–<²¾]§¤˜\-ZPBuý¤#o ÿФªf™ÒÓþaÍÞ-MÔþñxw¢Ën$nó^Q}ôì§^ïuÍ\VL´<ýÞd˜TøÝnº¸ñHOê=ö o}2Œ"¬Ë¦ê3;'Ⱦ>%/£$Ý¥ÛFvM‡‹ª?IìÞ›ÊÉQLz;×à öCe´9¬8ÀqcÔCiβ«OqE^œ†öˆãâ–l"àïò!ØüÖêeÏ\;Ê· /CññßÁ côJüH*çÿjžÙ{#$þÉ/Z+4¿z…Üï×¹Rºj(æðvçNÛ¶p—šË Ø]ÐúÛ‘^‰…“Þ©#ðЊ´˜.² Ú¨É~޶±fâåÓ2 ¾VɾÉ~â6í·J½P+ Øýñ\R˜8þÉõY‹ÁÀ]­¯wèb@døD«À=Ž)d4q3Á_7jìç±€ÃÛ¨uFÔ}”WÄ ŒÌø¤ÑÆùXŠîÞ'2D%&ÌmšÕtÔ£€°RºÓn3›òeÐç9-€4¯¶®Î[.€[µ•1OKxĪè“#±dÎÀü4õe¯©(T¤ë!yE âÊv‰íŽAŒúb›g¬Ro6NýXÓZïÔŒ1Û 88]§ {=I’(èê£ui¶/@+€q}1q*e±£üXmIOª=– ÃD,,AÎÞÝëÿì•E%¯ýà¶ÁÑ%À5X~–NHÑ ‹xf‡&ý×%¦*ŸÿQ³›“Òiáµ7[|i‚óìVõ*&'¿Qk¸éd!Ø)ˆ® þгƒöW€Lt[æ wOå¤k8÷A$Ô†Ç\‘Õ”ãw&TLÌ ®Ôí d4N¯r¹ü*E̪ò_+€MѱØ-÷Ñ—¶œ(â¨Ç«ÔÞj úõZÎt×ÝéõôÐôã¾é¢‘èµ ¤/õ‰9g4ÓçD„Û ©n¸ÏؤmvG#‡ ·iNyÁKG ªÜŽ˜ZÖ<‹Xÿií,YÈÐ…ÛfÙ Ú͈™vôܳæz5:Ã:3Åû5%î@È'@³û[¶rϳðMDO¢‰WãYÆ— ‚“B:Vž…ÉËÛõé¸ÂK¿ÒJ˜z¤c6Ja¼|Þ(Œ ŒF–ŸdÖu¨”-KxÀ(«_‰¤Ò|˳’o°…pÐ{©¦Œˆ%ªR4{=4Fíbêky7ð£_«úÞZS+êjž nq¥êi)jSw ytØaïQçm¼Ù¡ô¿´¸ûMˆˆØŒRP7Ô¼EÚ³>ÄÝB =•àÖÿV-î{ˆE`~zäÀHæ 3j¯@û-÷K¼ù¯`m¯·ÞÑÖì á•"BÝ-ų®»Ó‚…arŠÝ L{àÃÝ…H¼ÇƒìZ“«þ¸;&Ñ™µš˜!œÍN¼p·—‰ÎI÷ ㊩ÏÜM7‚™_*™O×XýxøÄï¨óê6 l¨ Z£ÇÄ9újÇ7ޏ-9!c“hE— 8sóÊÑI}¾£c>Ô1yûÌè”Øt±ä„jål¹ƒ‡lYž[Ç!ÅIþ³/P¥f*3q)Ü‚!×v£¸œ 'oBËî.Æ‚9ìÇz,ü»ù‹ó„oi^ÍAniÛ A>-+·K5ÛÒ§I¡¼sv“ÕU<©Ýc ™®jÓ>©&fíÜ\¬VQúÎA5éÏ&M´Z?„ã'10Ñ8yuŸ›áhõÙ#Ù£(ßR¬žOjúe]H,¨³s- È¡ÆûPòІˆ,^W’{ý¼Nþ´u0 r:çîHqŽ5Íáã;‰@·•ç{¬]˜¦· ß”ﺕ©â3$¶B4ÊœClí èhSuhûÁ¾]IXlŸŒŸÛL`Ì¢Öóàg ®Ym¯gîÇ4éù“³GØ)“ÊT–DÛnÁ„H\é²—åÛ/gyŸ¤:YŸÁŽ'Ì{9®Gñ09)‡hÞÅ·”nŒÕ£œ¨¹Hþÿ¨LïâÌ‘‹.JAŒ+쫎R‘‘rd $sÁ?ea¥¼ÍïÔ½@‚‚RAÛZÈ_ðÛ”™"_“Ré—ÞÏ&,dz_ q/§¨žÏ˜¬Ã±vJI§nxëTð»æ›ÿ²‡ÙF&¬­ó'ïY}Àjr°Jînò¸ú¼SëcƒkL=Q©äÇÑ»gÞQ ôê9-ÑFGìÎ q…Ç¿lø¹¯ÅôßÈNmœÕ4Q«MÛ÷ç÷¹¤7ÿ«öÇž>C»Å2‹éþÒ¤XäŽr)óÒ9{݈·ó2ʱ<1U*WYÓ„˜â›_ï(˜þCØÇd¡ Z`ñ«ùØ¢Õ¹òÀÚ[ÛZ7éLå‹#þ½ŒÊ44@¤ œ #U0£/+Ìl/Üà£Æ•9fEzãÛÿ!9 ë½Ø¢£UåBEŒB>G×$IåûœÎÄÁ7a[=õ“iëY2Ü:6%˜“äÚ L2 B-ñW8Ó ›>Œp`6ô/0¸}ˆÿÛEZžþÒñ/4rÍBK€ùêä}»êr¤ÜÖú.†12‰ÕŒ@) G+JlýlôÍ•qb½O™‹×0Åd؈Vð>‰JOW]¾ÛNT^È4`ëð.ÕªÛ]°åàVUó’b™*1ñüBBwëŸÜ!URbè1!Ùç\«¹ëiâ€'‚€ÅßA­å K©Wyk%Iõ(8ž»Q°‡öˆUÜz¡ú€?a5í+£Jê7™+2Wj.[} ‰òiÚþcæHøcy6?“‘x,žÆ͵xÔǬhÅ­ý Ú‰zlú3‹ø×'ŠCÕ—x$Š7!Ðvø+éÏ)Ì=],‚?ïËÈëõòk§èÍ:M$/GëxmYh'zļýz·_µ§{ÎljcñÌ„ƒ´°é%Oñp÷Ëy‘_¯|ŸBä"‡GOE` øé«­£l÷Lÿå79Ë…Q3db žÂßh+Ò~N–ŒúxÆ…lHŰ´•^®_ºâ“#-ëq—˜¬¸-i/^ì8íªR®nºÔÛN§£[LÞù¤ði4¥• *{‹Ê0ÐPÕšïnùê„`7³îH0tóñÿWŠºt&],Xa{Çe ]X Ú’*|žÔYÞš(˜‚}t{ mÌhpJ¦àùܼ(ï LuKÇék¢À¿wv®MàCq¿‡Æù-±ö!A±ÁQ\û³#¦™²—ÊkžiÓ:\~2dA³z´p)H.>‘È–¨}©C-ÝO¾xÝÊìl[„jgˆïJSž ¾ú çòqN¡»v‡þ,ZâȹËA îáBýYÏüyâžß~8먑üÇ„SÜÓPX jp,ßøˆpÂWíÀzögš4u-‰M–¡,g™âªµeõC2áž®mÒsN4/ú˜BÄ:q…X£/ÿV£$¦f|}¡Å½<´Åœ6IÁ’E¶r @œWÖæû¹ 56óÆE4»~oÉå”è¿îþ’õR °ë âþX¢NAþÅ„8· ?¨Ñ£×’ZÉÞDo FŒ¢:]ä#R¸u+ÛŒÇašYÚój‡+|Šú3#”7L ¾£2xžÌÙ`Þ\ó’Sº©‚Ü^Ì~ž •ªÿœ—:4ÕÆ89ªòüЫT½¨J:–û{’ÓôÄ-ÆõÜýS¸„LŒÃúÐMÁ ÚÑö°o·îbbòik­#`‘ÙÀp6Ï h.ؽ”u”«FÍEŒwà~›#›kD»ãzB/ÑWupšFŸ0•L/˜lVB H y-'E裗)J}_XÃa’[¹wÀ@ã5;p›J9úEîñBEùtÏ tl(Ýýge˜\d¼|‰ØµÊÀÈ="!š†p=ãGjÐÏĆˆ«û™Õk¢ÔÝ ÊöÿèÍ—Éy¨àÝ€×Ö×õ̽ëBÜVzÚÛ:é{§\ëV 2šŠc ™%t H«¨î'cŠ™‚˜¸–Ëž Gµ1g5þq1€ØÍ'TL…g<ü4aÊ·ðçl/´2:Ozª½õö ‚ø¾xÖ.ÿ¸£f¾AªjÄ«’ÃeÓ•eìKªFyAÄðŸÔU˜/퀧ê-ßÙª ¸È#kÍ;žáh*.öÏÁh=}Èÿ^íƒ HÉBdÍD'IÑ-+)ÜJØœ¢äiV‚¶6ñÿ>«Ú ÇšÑÀÞ¸t+…2ô,%¶Vv›Væ­ ßaäÑ&ÄÒî h†ù΋½$ú²ß,·s?¿Užå¤Z;æ?iOÔÀe¾@“ù1Ƕ¬Ùŧœ¢ijäaz^eCßÙ=x›:Ñéƒzå–Íñr\ªö3ý®š1¸zN¥€õC"Ü@•s–ZSÔÌzž§‰_ž—ì¼WCc]ÆÒê ³¥ÍŒšËoåcÊf¥òèhe’Âdy(Ç-•4¢o3ˆAŸF›{ eÀµàgOàTIÃ0бéKp‹¯¹WŸåÁ ä“îÊ-¿´Rt©K¦€6Õ JN‹òÓíaézTd‰zw^<¼ß wÑÌKË#g{Mº¾E‚½ZŽ»‘°IÞý¬è lrd…ïµ\Ù7YjE£Ô8|Ïç{Æ”ŠÍ§©Aך}U‚±¹ÿ'Ž÷0.0"ï §ýï¹..†êüË^,0i(Û'Vaìa¯…™HŠŽƒ‡ÖG•”&ÝG:¦V™á³ØGÎc<~@D™úòóÉx“§Á¦gš¬\>öo%FðKG&¾ëº§hå÷Ì“œoIhŸZpÉë „ÏRª Ì7Àœ_†I!†ØYÔ",>{þ#–ðôŠKh„¼ŽËóvaÙ׳v)“à¡V^ƒu²y× óD¿Êë‚ 8H:._ú@D~N–Üæy†RDþäÇãšÈ‘Äç,‚g:È ã&žC/Äò¸þ–¥—·ÛZ"èkV”¬€›¢ýÑ)0‰e’ï²ç$5¾ôoõqt£ 1¦A?Þr(ŸRFd„xÖº8¢›ìB;]ÈðŽýVÛ;VÁ83!’b·+)tC)Ó¥!õ_«Î 9:0aúþ*;I˜8É-ƒë².5ñáªZZuMF—ÜùˆÃò®ò4Í5ܳð®ùÞcò“ö’¼»ìbv7Àa¦h7› « »Õ6‰´ËÔ#­Í, •ß *½ýš™u©ŒÂ¡öB é$€UÛ~r/æ‰Ý&‡²õ˜BB~ù‰:‰ê¿Z ècÖ~]*6«p«C Ô?õê·<¨Åÿ'W ô¸»öŽÚ?í¿î»ú&n:µ#€bSu½Dâô­ùXêYékvs7N„UQÎÕ…x^«1¤þ¼S ?‚xL¶ö·ZcŽ8Á­ëG“IòLY‹¯cïí¶Î[ºÛØ^#U’âôwN*˜% è@}4´òt&î˜[¿ÇQG±EºÃ)ôèóÁä/)fÀ¦n_±ßÏiúu‹Ì™É«ShšYƒb$ùº‡ë3Ý…î¢;ØM%é‰ ÖðY:ƒaSä±7þkïìÄÄ’9”ÜUèó |0É0Ô”ª²a-åéÙ1>Z€àºLÊÙ×Z!†X‹:=B8LY{½ ؾv Kƒº•¬2ËMp=¶ÀŦ¢xdz¤w{§t²±à&AžÄ\’~ZbsìnáDÔªi 󽌈›æ4À²Æø¸;syÖ]²tÖ ÷P|´Œ”·žvµ?ÌÚz™ÝüM'liÞkê'J&a0,/:óUŒÀ2Áj3ÙîŠkHÝ¥¼Rëòñ·³$îšF¼yÆ=¿½k=x5ö® ÝHþèaKûÛVëø:Ÿ äì¤õte),Šä<"últÚb¸Þ;…œÝi€#[ý³4YÍÑÄßjà8_1ßBÿО`Ú…—–“³*¾R[Î,ÁÇÀ¯+‚r©“ZÿÆ+€ë.lQÉyåé!­ort{7¡Ÿ¾sƒÑrÕã‰3† xo¡CÁÞG… ö†’¶ã/.Ý[FÞw”yx¤è0ìoߨf«‚f_´o$«0Æ-dMVµÈÖ4œeÒÍ_yˆ|¯¨S¾ < $ä)©â‘M˜dÐ"ÆM+I÷9†öíÕ¯ FƒÖ±¾‡m‚1…P’˜fªæáWN6ÚR¢8Bôºm·lðÑ~ÿazŠm7ó‡=þ¨î‰d¤WH®Ä(Ê´Ô¸!}àòŒO<À=œ7ð©íj£¤wÅmöëA£[çª:C:ö•eï¦éÜ,,Bú®y½›v„H«gg?0 )_?¿Í*Àö‹¨ËÕÍÿ‚Ê+*Du˜2ô~÷ïøvnR¸)äÊØoçÛƒ )ÏyVo’ .ºšNVdQZzæ…ˆzåÜbºftýëƒ(õÛ­g…MWÀ˜4Ds7è\RÜ*$*Ç’Ì.Îqä8¤Çr¶ <8-Ÿ5¾¨Ï³`“➈½»@3Hñ²Èüܯ škw;‡<¿¨lgEéb€ +¢Â#€P‘ÊÃXÏ1OÉ[×ÿwIr‚Î5ԛ˹ÿäAFõÎ6¹ûìeJ'@ßcËKèÿ4‘zûŽ;]íŸÃøãÃêl·|¹!›2å…Ì×KÍŠÚ@¥ä˜Ù­³Å,ÃV_èðî ¯–KFó¢·©¯›ÑŽÜÙÉr?7Í´1ÛýFŸ0&Ÿ—¸­Çƒ5JXÇ0«mvo“è§]—â}e슇›•¤ÛˆŸÑ‰ìŠçá¤ÍCDq86†à@áoæ¼ÍE/Ó Ÿ¦£‘6ÜNößüÅd‘^ ' <ãN‘ü$÷ÂØ%3ïÕ… §ghÒÌF;åÊ'Ó|.ášü¡0ë*fÄm·\õ]ßV¿ÚdÁÝOø«Î5êhÜ—‹+>(Óè§Ú‹ë" #Ö²‚çÐAü½H°4‰lÝ1KÂÚ^LË—(ûx$Z´(¬ºÅy·!~Æ%z¦ƒR‰Gº­¬†!S8®ù™á,ôbž.Íß‚íþîʵvÛY”uôn?.DcwÑwÃöX*˜1Žç™™©KGŸLátÈp®çå*UëO¡ZG&¼ëb k)É‹nÿI­“fFÁ¶‹úÒ/ÿC`•koó5ü ‡Ñº9ä⻦‡-N$á#au²dóãõEo›ùêŒÛuŸ·_…!¦Ò{ wy’ÄXïu7¼K8Ì$ãë'pVœ–Žâj“_Èì+ —øÿ%)Y æ"×åÿŒÝ•Zƒ„m¹G'¢æº¬ŠÃ”ü=Jçg…Ð3*Ãb*­Èu¸4O–ÿ¬jo¢m˜n}ŸGË —‰S¶µúÿH×´0”TÒvxÇcƒœã¡:Ú4Ô˜Q‡ÃP_¨Ö(`r½çÆíóØ?=«æ2ɯ.%9ߟ’¿µ„0}ßmîÙáP±WrR·äöˆŠû›IµÞäWtL(—0åOâ‚ÌÍèdaöË]‰É“~½vö@fTfúp¼-Zt•¸§@žàH¨lõ&Ô [À®VaŽDÖGGce¹>^Róÿߠdœ"E½‘²ÐΩÖså==êkw•L×­~®B©º£b#<×3Iuöm‰‰ƒÊåMÕñD«qãÜž)¿rcИ?Hp(Éh3²7P#œ žÈâ]ÒÕL ¤·»ÇæS°ryÚº· Ó¸3N¹CÁj#˪‘×ݹ’-8¶„7ÇÞ~$§qN~˜¬çAÔc•ÿ•òÑ^j ðš\lMLÏ52®ê·1¶³JÚOÆU½Nû”¼ƒŸ$YÁòý¾9ª¨´—D }Õ-QE§¥ß÷q¹,Ô÷eŽj»é$ì©1xàþîf“› …â‰$™j¬+ZòEAy2Ä,‹—›N¥îJWmÄ|K…=Œ ŒçŠ[T~Mw€Ž´F7ˆ†ñŸî‹Üó'ÌP yùÁ|Ä> CSI†f—k0V^ø„âÅUNb¿D¾:}‹sýytp )*¦Îd+„êlÀÒXl´á Å»™ÉCà«cdÅ’ÙVƒ¬éþ\+«¢7ô`ð}(2Ý÷ÙJ ƒÉeÜï”1EY޹è4±ý)ú·mÖ7¤mÉŸa9Ð1e§, 4+êÎW÷ „žf4©§­Ù%nù_µp_½ÙàÌ£¦ñ?²ÁÄ•’€ÖÒàPÌQDZmr‚ ©´¦—ÈAy©åÿ„‡u¾!¨³>>Ë|[0% ŽEsô\[œžYE°ð$ÇÀ¹4ÃâH3k]¥3FèÆL¼õiŒcL¡h â6ÊUÍÁEŠhÕ›{á9ãXŒ«ËЈì¦8=cù2S”e7\HôXŸ¿ª3Ê >ü%·‡¢î5øÁkˆÍ±eÍ걜Z˜Iˆ.åZhÉ‚Çî/g„'„—­×ùÇ1œòµ[ nhä4Ë£Lb÷Vj»ùîjSMî¿å›&ÕÖßõ_?Ûf,¯íZì@æU¿ÙW¦Å•‰|sÄyϸӉÖB#2ð¥ÐÓÙ1©I ˜ ßdÀÃá;–æçÂÊJ743t­$:‚÷êqw[¼[õ¤®ÉAë{¥D{ÒfÕ:h&˜8-$ÄÑ´ãá¾'ÔE€˜>I]ö¾iþ–ºð4AŸÈ&fë^+àÄ÷%p”ò”’â·;Øö_Äþœˆªç÷ó<ÏË.n+’Ùê7<,03j&V²q¹Ä ´¥£‚+‰¯ŠlÞ¦úØÜ”mîÄ|}ö«Ò» ~ÔÑ-ÅÊj–ÖU*+•žÅ–é;B`)Ýo"Ÿ>Ù+ÑUÊ…|Ä—ËÛØõbíKî4±±k”}N­ãcóÂãgx¶ÅušW…,qU’–Xè Ç"ÎñQ?·Àœ@£hÒK¬™‘˜SÖÏ¡û²épBNÿ ú%æâþdñ¨~ß[©¥+Î@æ©ù,Ì]§6ƒïÍ“¦åš‹3TºÉúÕ[t(>pصˆF¥ÜÖr²Øaºã]Ök•~RÕ1À¢-KM’R:ʶÏnËâŽ<.y|©¤%ˆ–¢"5z”=ëC˜ôc"!ä×EâcR&wõ§ 7Äüvÿô0OË»!3’'ô@@ÖFYpз8oÿÞ%ljQ×1Dóø(å¿2”ûा ‹x•»2·`rV%z[æh§ŽÌh˜¼ÇÈl0TÓQ Ø¬^#ÿ1<¸À0u¥ø…<µ[8HjOÍ™óãÌ´ZUJ…A´Qƒ¬ö—. P?]Ž%<ÎG½®? b¼8Î]gä9ÝRk~~ÞÐl\ú®ÏÛYSÛH­Õ©íWH Œ¹½ÜÆÑ¹ÙLA5ÿÙ•m¸9rE}9ì8óÄÂÀ%xW¿<7n.‘>¾”§hŸã‘lc &vùÚø  dC:ÕEíõ:0[6*ðvs´Ìßüx`Úl I<¹_Öñ‡¼ª¤v{Êúx£ä3e1.tAðm‚醿þ¢ü¼¢¯…n¿ÿÜEÜ= `|£U6Ö®¶1-’Êý[4/JÆ–¬ƒ}…T‚îäšt&°Zï¨*¨·d=“(‰é ¾V"Q¦–cžéÈú¯g-ððë#¶V§ÎøÝõÒÚ€„ì.(_„…ž&‚Auö(s\WÿÎÄ*æ¨4Ûì¥?µ›Ô‹+ŸZNÝ—©Ñòý"ßHV ”ŸÇ™ôý;íŸÚŤÊõñG§yÛøò8C[VŸîëÇ*™°\i¬·HP—0®üÉàzLˬ8õÌÏ È[eÉz+T» ¦œnôW!”`W`ݼ1™ j-ÐÝ ‘Z£H+Q¡Ê?àFÚ$AeL ’ÿ°§[Óm‡–±Í’¾¹:ÆŒ:{³?¦QH2 ïm Šªœ˜›­† îól±ž“vS¶cìðî´~ÇVŸTs_M5ØM6S¤`ô£ \ôÑÌC4 0õô|ÍõC|>²áÃhýÛ¿Õþ ìÈ玼0¾/£5+Þþ#X¶x×ñlÊ7$ô“8ÂyºR¦ô3üu$üÑ<FWhîÜšmíÌ¥à=y'‚hÀ·Ê5ŒÄÔõ”âæùu`^"ò˜×ÌH>SÍä'R×¶»YôÁ|%CV€¥‘¥¤‘Ð5†Gm'>» æ/¶|!%ðpQ9ù@Ù5÷[r¦9ì;lwèÉ»º ;žÍŒ4´×o¶FÙ¨&êö3#² EZïùé;ž­•æ:Õ$:­†§CO~ãLZ6õì«ÔFíw=0Øè¬"9³¡>_³ÍòwvÑ´K­Iñ,ñ“µ³tܾ‚Ö”]XóG /¢)ÝDš¶»G‰£ ¤‡Óoéåš¹þ(Nì\ß¾" ‹ ó{…—¨£µ³ÚÍa±®+¿$¼á“]=J¶7åRö„•­~A¶6 ¹:B… Cä9Ù“,x…>” vz’rˆ ˆŽ¾‚Þb‹{"LËL3G›1îü__3¼‘Ö­kµZ›yêÞq= -¾tÐ÷Šp(3M²ô;]ºE‚jxÅ2¢9ŸeMºQõÉmçGFüpŽ,Q£ÌÇì [pZ2˜T@yV ÖöºrÕÄl8ƒ ŠzŒŒÜ;hÍGW ŸaèÉö_§æÄg?ßÉŸmCc>û¹¦ŒŸã kÙ×’ßñŠ–`ªÞ&7g`BÝÎÑIg\=u~5ŽÕ×%¤¹bC&›êœÊ³+·"ãƒ]>ñœM•gBÚ__ÞÜ;1éÙê·øÿ¬Àò§’LõCM¹7ËŸ=AÌ6’EÜÈù?j‹võI0%»Ï5Áœõâh©†÷AŽt+oö-6£¨~Óô®6h·Ù4Z`÷ÜXCçªÛ)‘`€ÜAe{G~’„ÃPáü›òò 9,¤÷àîý”§¥<ƒIJªvŠ¿¢DqÝßjðŽÆ)´³7z*(Ä@D€»ÅnÒ Ja’µºGšc7yó„3¢çí„L·‘ÀªBEWŠWo•ÉíL¸?z³ÔµuZ!ÍÏ7Å®z“{Ù¶¹ÙPHf©³KUNE—(ÚäÖXAÄ6á\¶óBàWäSÙÑ*ˆU á'Õœ;œòÍË Î«9·@ăd~ì¤â:¼(±½nÓ}ÏRöCüu]¡Y9þ Ó¼$ä.¯‘èŸüÞº¬Úˆ¢Å¡)-œÎà›N¿$\5öA`,ü;ÂÇy‹xÂP•ï%o£GÐ}°6.ºsŒ.p‚1šõ …3£\½!Ú@ „z®êRŠ/áç. T%ÖßQÝÞé:ÚaP>oA8Т¬3ø’+;#øª &¡ª}’KJÓfXã–¢ÝpMIfŶ¬ý”²ïJ·C¸²0ÊNà;]¹2t|£éI{ò"5ü.~Cø6;JAgéÑc7©ž²™ôßÌ#)X×¢Ç\ c©ï”t«M«>\ñ!èŒ]$H]ñþŽ?­†1"DRõäŸ}‰ç½Û>rŠuí%‚u(Õ›¼yÄPG}Âhh­šÜºÆ|ÍIº/ÓlŽÃßYL³ÏT4/fòñâ¨!FJá{ÐH ³àEÅ‚Uâêzzå”;¿¿|ô–Ktêìö#Tå׿vÖ¶D ð†Œ´Ý›:ƒ8¤–‘ÌX+K .ÝK˜Ùˆ¶ÄúS›ÝzÎôÖ½×è¶@¢ß‰ÚöŸ©y2Îu?oX2¿ƒØ?¿ZðùüüóPþFñÿE Þ(í˜|×¹tfœŸÍHðÂh/ëIæƒ+`î¯HëYv4®–}H Ôp 93¿æD_ ô÷—'rÖÞgÙ›’yñ0gƒzÛƒÕSdûÎw$F¹È¯:^™OþTÔ)v u’¢›§Ñ"¼]_8™¯rò±cÉhÆKÒ´ÿ €~ÙRj5!.»’Âm‚ÞÌ uÁL•._¿‘=q¢Äè–$ƒ¯ª‘rÖºýzûÁ"‘mÑ»†OÖbêÒt$¡øÿ5T@·—ñM2…»àú®¸ ƒEŒ-”z‡«Ê‹ƒ÷¥Áæâç~46òÈpꦓJéCq›~ãÜÏpü&­4RDmÒ)õ”ÌŸÖYeÇg%‰œ÷*È 4zæ¦ue–)U®PÓ&DÑŸ–Ê»¼)àPzä(GΗÎLɹ­Rj-ñÇÎd¸z(8(©oBï)·§SCÞ ¡ 9iƒ%çJïã+xv‡²RV6­J,‘FùD™Äž2ol0ÒPˆ;»Àé¿âm¼ÉÁ/Þ`NR#?ÞôŒ-ÑžW÷H22Ъ}‹à×4ÌwÕÈ•ZD¼ ß»uIGŸÑ–”ØÁø \sÿÞ@¥(•÷=¿Eõ\_†_Xh7ÈPèfƒÊ ©xÆà}†fíO¬}olQp Óc™ö?užÂ-€Þ»,lÛàs/Õ`A¨I™Ûƒ©0¼Î±ârŒæ—©ìj^ž{ ³sZP’TÙ냚ÂïG$µoðY1ø#¡töÞuF‘š»G±}¥KñN?~þ<-ãÚÖë»ðl7G·âèΛÂùÍòÌï!©9Ì\wßÑl¦S‹ðîi6Ý3 °žà¸ ÿnm·å:øXZ«íÀè:’GgOÿ÷;Èó×bçZóß…À^ƒrNgPüÛVç9AFcRRž.,sî~Ë}¬·p|uNQv4¶ ’Ó#mOS' Χ6'‹æÉ1'ì<ÂhË-‰é[nÕœN-ÙâÛzŠÈ[ÏuØÈ;‡4nÚ¯áº"¶Šw0!®AЩ–/Ë$r¨T•s Á|Sè[šŽ=mjN”Æ ¡¥CŸµ¹˜ ¶ÍO%åÆZyEZÛdá'ˆ»”4[!´·SÙî÷Yצï$çÅœ0î…‡Æ%…XN¬Å?<ùß@¯ ·µ]ž§0Ù5ó]ûߢ¬GËÅ>‘¾¨ÝOÝ+€øšvÒ_˜¸“ š˜Ö©~ùõËúúˈ=±6SbÆ\ùåÛ~|&sH¾ãÜ8­åˆBƒÈ £›²·YL´|Ò®ªeIoü(ðD@1¤o™]µ3çô‰q" °·{¬ñvÏL´¥—òœXHÚA^èpƒeé•¿@œ‚wÐ7iÔï»ÑÕ’øV«×q¯ÊŸƒI¬Pk{k•3 ÉÑ ±…Ñ’³§5+ïЉšMB˜â#ˆ:R×aËG ö†ÆåvcÛòw›»¿¶ÙWiNª[ŽË‹·åžso,Ò:ºtKN÷6‡«Fïçg%Uã?^¨b)5§72õên$ÊýÛ –jp%Y© è›ÛžÑ½ÆNœ 𠧪‹DºÀ OˆK¶­Ž °¢.‹VaÚÁ|į·‡„r#m»TW ²Î äü4/öÎÌ¥Qàï»Ù.ÆQÎh4¬ìÈu¯Æ¥$6§b¢1«¶.?=þë*RÉ›Àfõ1J رÕ~Æ­œ]ÄâôúÜО]£€‘úûdhº£ù¬‘ùËG'íÕ(R ÷$3w¯ôÛôÕÜýºv½šÒºåüÛšÉ_orÍ‹~>ËZL_Ç+€!ˆT{VµÎ$VŠÆ¹¤ËÚ.|îŒz¥z©¨â–¿jRÆØƒLôï _f4âë+å.éIï¯ëèMhw¶U >þ×”¯á eC¶ grCìö’ú/ö‚NÐíÇ«’g9mËU‰ó{WŒD«Hé~Ê §¦°€rÑ„[¬®=¹•¹k4ç,wS“ø‹13Õ°Ðå¢&2P¤?æ %Û¬õjÛ °ç&ða+ü0¸}D¤æm>ü¸6$<ŒL}á×Í,¾D”­Š÷Í«º’ÚÍ¢D Ž?Ù àÂkJ*?Í­ÿBIã6iÆæ®I檺¾‡W¸ï¾X Úûþ”ºŒU竸0äXm…wθËùÐ[S»tÛxªË[»ÆÌ—e]„ òBL Ö*æZØ}굺%ª¯CÖ<4úd“~¿ßôÌ~S“"(ž ¢EíP Y»ùhY ϑ󔚵VݱZÄ ñètE‘E” g¡™Cá]Ž/ F AøŸç:¾1 ê÷¥Ë"ìfå~"°è]&¹|ü^Ê»õP=#"´™õ%8N%qÜsÛî^{úcüÕÙZĉVÞj…aˆ7Cd2ËßÝé{Ô e€¹F‹‚)Ìépe†’Úâ°}4aˆ}}&…îa‡ä¹ E¡VY<f=o+®¹}¶ÉˆT/•–h¥ì8kšgí{”ÆÎ7ó®IoSÀZY„¶¿‰°8Áùg{s”ÎÞÇYÍOÌNk’æ6òŽç° {ÛmP5@Œ²7ô«ó¤óq @ ïb.n”ƒiÐF ÛÕž@J b<ÿn¢*H§ÑIÂU˜ãÛý ü£´øË¤”ûGú‚竼DáÏSgÂTnÑõÒ«Fyzk½ðfjá]1°F‚¿X‚/:ííÏ º”qvÌ…blÕç˜U·’«àÙ#otAÖ¯HñGÒxUÜÏœd‰#ë4ÿN¥e;˜¶‹a—£þ›ôz¶S³°´MT‡Øec¿¡ÐámvE¦kezwYÖJœíĀݷÃ^¦ùwÉÈ®‘˜J1f_ç¹o*ŸjKR¼Ö6!ljÞñs¨É¿hê"»€>÷:ãQµT¢Í &.[´À‹)ý¶¡EIÏmÊU'„áâ]°rNß(·9S0Ó åk¥Ã½¨û´9` »Íâ«« ¸ë•”µ¢#²Ùƒ›»Ð‘¼ºX#‘ÎlÚR‹(.'(uÝ—6°Ü¼m?’°öx×rîÅáD³­ø¥N,ÓîpJ*b®Ú¡°ÖÑÛ*C3JsüˆQÅ?||aÏ7n{̺šë/°½öÞ=‡Ãøwö4…šjîeBga¹üïÑ% -0Ž€£NEû߀¶&–,9»;-Ë´â Ѱs¿^“Dð:Z€iÏ`«hg¹·Øû¨ã”Î'‹(‹sÀ¹.аIò…þvË¢«m†N.kjcÂhD^êßE…PC®sà2ÿʽ]ÁòªØPh™±,a}q=ò¶·†•÷©%~ËÑ(>V)i­&¨Ù˜±WPH!´Dó}ã ˆ´»X–P,ñjë,t©S?¤‰"xBso`ô~Æ\aN”°lé[UT‡¸fÈ[ ;óÌçU…éN̲†l0­AšµC¢ífü‹X\1â•w¯âÔÒ«8(òkvóú;‹Ü Г”<Á‚¼0ñ,?™0CÁ4žM±°ñòÇ2É¿“0ç®è¦U—äiƒÎyOÉL†˜’P¾ït»Lê‰0…F¤R&Í -m¯TM\6N×^ynóâ‰ð/7¾”Îì9®¾'%Š›÷ÜzÙCf.—¨Ò£)çñ¨žà áÞõ%ÙA„bLHíh¥öq¾†Ô€j9* ËX±ô±Ó| :Žƒoîp%r¬¼ÏW±A.FP ¿=Ä^¡ä›ÑÏt=NóñÄÛrGÏpG*iål+˜ž6úR^ÓOI­¦Ÿ™°"´Õæ±FS‹Ñ¥_]âœD™$‡{õøt !S¤TÕe¬‹’KóüªTX‘’âŒ?+};Ã20t ¡èQeŸßßVSw«Üo˜ŸMÍè'©p=ˆ©öð¯Kw™”O™Ņ2ç`¤’Xæ¹÷R©a•ÇPPóÖd– §´+²(ldº“TÔ{¦í1’éD³xUñ{©Ds4b,N5˜ÒŸëíVÑÎkƒbŸæ;¸\wÈ69â®"C JnDH“ÒÝÁ¹^®šÝeW¯VT0Ó¥«I|K!i/âÞÀu•2¾äû·÷D%µ›JIõâ@©tu`ömŽäu¶N{®¨Vñ˜ezïßz®¦Ÿ«:·Øãk¤zGÍ8élE[ôj2ùù­e‚‡4)ÖÁO!hÁ˜¶Æ÷-µÉô#äŒLm@/QhÚƒˆˆ–/ë>r&±¯TÀIU^ AÁØC ™4,îH ïÄU.ýQцÁ5*VAÍŠ¢å™@ €@YÝÓüÁwAѯÛ÷ŸRÇq÷¶é›Ø4¼ÏUXÓüë¿f´9$DõFGã*x+ÅJ&ÝÓ;P{}¼ ŒÃÝx'øðJ|0ö¾4ºXž—|ò‡‰Ù‰5CÓ€ÎÁ¥oɲ÷V¸.„,ÇÙöxÌ—^ìtM5túï|ÿaåO«x6Ø% ÈÑ4ÓÛ¦6£ëŸ˜_„CT¡æ¥“ˆ`¼•éÜäxº¾ûãÅák>²6ÏT>Guvú€½Ž›\ÑÒÊ 6'†ÿ¼½£¼†;F’A`f…;‚«" Ø¥\ËJþVõÊŠ=t œwP÷Û¡-”xÕ¬µËZqÓë0Ì…¦H Ÿá‰A~ͺ+]–|9¨&§ÂdrpÐc1BÜϸûj#æ¶„CºçüI}­¤dßôªÐ­S­Xù¶ö ºÐ¼+Ÿ(½Õ˜Æ9OjK–ûš µ5”(lñA2?vž‹D\]©1òÊSOè;À³Ñéxÿy„5õ(`£„cDp’YžË“}Ÿ¤…ð«7‘G[¼{GP%„Ã¥nù¹néàa€äÊ‚Œ­äû-hΨMÞ9z9¸µ!4TX[W~y'jù3Îež|ƃl_aЋÉwï C@ø~a§hŽ^´^’ÒÞ5ä 'ŒÉ°[So>¬P\‹Ü‚'«cV7¡R5Ø7ȯ­z×cƒ ‚o!1«m/IÞ‚²æZB?1€þU•62þuñ²ûÞ";¦”––ê}oÉûY¦¤ÏÜFd¤ç Æ-éYaoÕÁT3)"¢Ÿ¥k!™½Êˆ†‡ÛXè™Þ&×>Po|™ÿõ7Ló²ÞK‡…ÂãÉžˆaÂzUI^q¹YY ˜rsb/lî¹Vmß]œ'¼‚3tŒz—!—mzÜoE€$ɬ¿´¯…Úélz™ä}=jç'À7ì ]ÆÃ½nr²×B>H´6ê*,4¦æ#9ææCÚFCÏÊ V“!à£UÐóšúæzp Aà#ùâ&9/2SDØB mý¿Ò0aÓZ=רvYÆÒLÆgôOØQøk¨ËMÔ,— ¦^hÖ=Qtwö’z.=•¢1 *³·ˆFF³—{ë=,Ë¿&sòJ?œ|j3BQ‰óöæƒUìÌk³‘ð°¨M]Z:&}®*[ÂÊ6ä:ÖÓp¥ë´KwË ën¤H}Æ5‡Í7AV•l¥€EYÀÑÐf¢)îÛÎnõáüŽã‹Ûƒ¶¤éÕf¹ð1pP¶®Wº9P_öOîÖ6Ä|[Ú”ÖÙóŠðu)@"5dãźA8ÞR“&—LÅFÒ® •>£†¢k}ˆÍpsH_3n%”ŠïLV†+âbšã Ûq?.£¸?IŸmŸ›W¾ naùú‡œ„RI YYL6³}TÔN/gí±‘œéå ·Rëá% ðNì;*gðZô”#–'IÝûØèö‘•a-–"F®Eþ/!Þ/Ê+¥|‡Hl :3{ù·Tiåýiº¾gý¾½„¡gD ÀÁ7n¯Nù·=E@´$š6Ý ±œ¤\æ-ÎÇE¹ž—=܃=îFQ2gæ ]®¸éêˆ Ñ)–­÷bbm-.®ëIÊ…¶ÜÝŒm[8wÞðÏMJHi^À­B?Í“ÍåïCý¬ÚWÆH-‘¾£§÷#x~Ör›å“è8UÁÝä &5ÅŸ°;•Ïvé;Ú¦¿ñ\xÝSÃq#m!éñ½ø”¡Í¾È2Ï¢Q”?;n޹°àåÐfŒ"¿CÏö´Ù[U v×üž†LDZ­QÔ$#Ï^\«Ÿ_¡„“„ê3•rÔÒžQ<œX_ XE¯ ­¤ÁüC$¨Ívt€ôĤs¦N%˜Áù:Àÿú8ÄØÍ‘‹bB^1“ðZ”]V{B±‡ÄwâðÉx£¼?Z X[Ü6\Vß !-­G-gÞ‘ ¢'WIco`{üš*1"òhaCy ë3¦'|}ÄçÕ±¶„em-ÊBó=-†u÷JrxÍßýip>?Ãôgm"! x‘JuõºG.é‚_`4yd]_D cÅÕÐügŸâ´ r.(oðVÍàç,Þ¼5§+Ú– à€Œþí ¹ûÔõ’~(“Xœp’}N’¢ÅÒÖ¦¡c<ƒÝO=f1Bž5céet6ŸÉß'–jEåf ¨Íª8ÿÞ·­£!5ÆÜ¤ª›ˆ’É}— ׎ ï°?>%ÈÒ‘w´²«» bŸ2j­éðøåRkJЯ ï%ª•!攺ŽëÁ:jO ?wrJ({$¤­"0Ò®£íÊŒW§ªÌSÝa ð,3‡véQX…—hÙ¨R„îÐ'ѡ̈́£jÅ­°‰F¹ôCt¾¼X@ëÂ\%Þj ÅŒOà×ISK9–ÓЩŠ\ž;UýÂjA»5FocÕjƒ@ò;ä1µl%%HfMr¹'§ÕNì+­8€eP˜ÿjˆGHàäûýÄPÞ#öËæ‚¦r˜tQn4D'`§GaЬ>UÂg¶z86n=9ë]šÚÄÙ¨¡ŠÏP¥ò ã@ælçÞVúÚV—‰¤¹Œsà÷iˆ|Žã ùaÕq6æ(Z½m®FœÿѰˆ ,u½þHó˜§~}SL§Ï° ØQßR |°£ªSÐöÒÅI5ÌÕífêê§yuDwhç„øÍ-´„Ffó¸YÐsÒnÀäÜPû­åhpçx÷Ш¦t‡6YLøNVVL–³Üðæ~€ Ö<:ÆÞ8³!Þ÷GVe¯9¿qt"gŸzë Ð÷†¹uA.¤ßt2Š O³§â AŠÙ"ûáÑ^¡5Á\'{h‚¸Ó¶‹“ýôg_¯òHÑ(÷.Ç“ ï!Ú´ÉuUæ Ô˜Ž…B¸³Í×^)x«¸{u“ë]kœþÔØXÕù!À‚Þ»^@¼o‡!,#Œ¢žÛ…É[ÞDç'?Ý#î*ÍJ&ó[wÑùÏ«ˆPo˜{u{YFÎÒbß ±ô cÙŸ–ÇNC ü:€zƒú€F†¤çª•m´ûÔÖt®vê!Âùœâ‰Ðµ¶K?„ôPЦÂÅY¨Âï9xÚ|ÍÄNË%}c-Û±™ËZmío¹q¬“WDEù{ô}­£7Û×<+ŒéîP¼5Ym•žÁîòêƒrëYº@ïwGå¨â½e d€ö­.G¾q„Nûc*NxæÝüÆw¾¥ˆ·ÑDqe(–êvšL ÚêÊeÚ[8sÙ[ãÄ,©¬ ÓÈùt8øžœèfò¦4ŸgБr;;¦êh¸ÈŒœ;Òg,ºÄ·0÷¢œ±œ`]› ­óÊîü‹ž L&¢0‰Ù,Á7”JynPyY%9r¹¡ÊUEÑQ~|eon¸„WxP0²'sXÙ¶1^}y‹`:6@õã‹&h”\D3K*Ȇ¥Ë 4Yo^Ìt˜$ŠÊòUÍc ŒŒÃœô£!…WwI\C©Ëë¿çWÝtx»É8tY©nÔa”ç3×5XŸí4l‰®AUdÕIq¤'ÐÁ"*ÀÖì((À ze’çÂ])í°G“&µÎ'¯PuǶ¦!ð볟Á óÿ ¥Z-±À2üëÊå}ìíþË/úϼ}*õ©úêp®öl d”š™Š Š 4Ÿ¯eì0¦É=É1oFF× û¢Èžï˧í¾–:{RV†§…)1J³æÂ’¦§’©Ü:Á[úì|UÌ5Ms_d ªD±C·@V½”M}Ã÷î_N¢úå`Ío¡—hêéL>+²‹dý‘]È9¯:´ùîŠ8\Ù«·H¸0¾PK¼¾üŽ×3Â|B¥ózý¬ú¢=ÄA¦¨+òAã>â@Ì€“Øï)ZxsGÛÕéÆzh?•]ܾµn2.ì.ü4‹V)h ê‡!ÒÉöTg‹ZEÝ‚”D§èöåöä±JŽiòXb £è’|…è¶X-ã,ahñëi7b…$ ô|Ö‚ÇuÞůGßMtV|‘&Øm)©¦»À2+“*]Mߟûû–Ý‹ß=5²à|ÂBSÇ>†$Ù<>Ù(6J)º/2Ôìx1ÍJ³NÑE{“•â ÓI›l¦–jîa’­) çI}ØË,8KèÍñùwÇ`VÒQƒó$Öñ‚a/Œfô[Ù̲çvÔ¶&“@ßúàéÑb"Êìêí¿f›Y¶aqûj ìâõ38ãgõ7^î&IÊ}‚}Ücû[4ôAöef Ç"û‡Ä­{ ˜\{-þÝ„b‹ÿä#ÕÑ ÛÀüUX)´”§¼Ví-TU­'$ûåCöµ\W_ïNÔ$~œ%qw(—6¾#ã+s‚7*³CÝ÷=e(ýeqhi†¿!B\w.JÕ,îQ5W‚Íâw2„|/cþá«|œ„Ýa,¿4¿gHYo{ÐòzM´SPÎ^]´*9ŸŸLœ/·eU|}éY4¬ êYCTž7ªfy²žYÔljºU£›Ô®ó'ãš>3¬Òd_}SxƒÛ?ës…ïÍl›®ðžæÛaSidPºE ’ GmÚoâòZ©,:kÀ„ÑŠ¾PöÚUÿð"ãIÄ¿à góå«­ðoÉT)iLWa¦^’VÏóžúr=Ç‚†Œâ_°zýHŠ7ö ôo‰*…Æö6}w×$ÁœîÚ¿eÌœß\l ˜ÿY±F€SP/äÖDêë˜oÐNè³æy­_˜’Ñmxþ%4ƒåJÙ0À®Û¼ÿü¬+÷aòwùËW“•Ÿ6jΛ‹ S h¦™]ÿ¿2ƒñUL=ßK½ñ ¢îãm§iÃe=+Fª ô@~™ø×;Ë´rÝævgÃæˆP䲬'ï âX½¾÷Ù§  ô"®ñ\p~kýË+¤š×IÕ0{ŒPÆ)îä„„C¤{¼PÃyÅYÒ[ u~”ÉØp¦ÊŒ¼4op±pXÐ:>Ñú$=J@ys¥Ü¯(Á±Va@s "rëîmÙ(;Ù(±Ãë(Qž?>Šää‘ H/£ø?¬`‘Wèöç6¼)妈XŒ¦¾ Öàxúë ÔD̪XIÁl<ÖtžÇŠç·9´Ü¸†½ª xØó!(°}(?¸žeçs¤Q:2ï¶ ê|,âÖÀ“ý-×t4iJ%”¡L\ÜÿϦvº|_Ä”¬Ævéÿáˆè½8Ú8…ïœ(Ó½)½·ˆ,Zoãšmk!"ž“eH:Ž “²1Ð&Sañ“ÜNt4^š³xD––9¾Ýûò ÐéîÆ|ÍîR›ðÂK0-hI)Ço¢§›ˆÝÛöYÄ´&[{ê¤Yn‚ ±t§îùƒ!ƒ“JÔ.`H/ ç—t7L¡^ºþY¬w-Jh×]§üñw¬•íœ*¥ NÉdÓçR³K[ÆÜð(_¯q)‹Ð^ß*÷ž©Á= )<Û¸qû>}g‰ÃÙò¼bÉî[ª‡­CJ“– K`±ˆ9å‹1¢õæóÎeî=-a÷ vMÆ›ëñ29I.â,)gª7»qt]ï#«ý}#¸eçïŠðã”±Ô²æµ`¸mÆ“"d6–n|ÄÎìÙAHƒm4ETaö¦§aƒ°¶°‘¶(öùÇì®UÕ¬ßUæ ûű§€ŒkˆÒálj,EX.‚ [úÊð¿·£›xªøô£¸’<qš±Å¡x°Šìavrò*C៾Ôo¼§Œú²·™Œ£ðcÌ»|ù£ñsO¬+Ÿ='•¬3ÓËaÚ䂨XÀ yïæÙÇé!9sê™L(Ø’nó”ÇÆ:nP§É=d˜ßñT‚ †ÑLذáNÃõWs.9µàÍôbKb;ïî'C€ý‘ÿ3¹;wìEh³qY¢s2W»I¼xŸ= X9Ø…%r¨¥n'‡9ýíϼ+‹mQ¨¦!g¼.·>¿Ìp¢æ.£õ¸¨…çÞ£ŽdÖòÇò”cBlD–/y€ï³obâé4ÁK¨áTñJ:|0Räû»½EÖ?_¸¬WœåèY3dì.!XZs”‰œQî2¤P¦#¾ÈÅ1Í úçF†-Ý pœç\ÈT—ѰÊ?h öµaMO@¬~WX@ÉNêŸ$ ši†?¹r ORˆièÁ^!—šÏuäåÄ9âÒ./SÉŠÅ‘&Í\šS¯âq¢e4É¢Ö4^(­ÖøõùÇÕ”Mç8$CE¬ráû!†ú{!Y™ rÖ“7Ü£ @-"¨~i…2XPøÈ6h˜»CÖЉûSú eµ›%ä˜`ƒ ÅÙ·Éê´éµ%$zÇ,@mX…ÚÚGÐ-/S_-Ži#'W”ù÷Ç_†n±·u>Ë”ƒãeÛ8Kz8/¨iPQ1N‘سn½NR˜O3$e Þg›‰À?”?&ÿ«&mÞ ›®þ ûŽŠÝ¶Ÿ©9§pEZspѯhÇ›ò¡'„ Ô¦Ê:nެùÏU(­?í|1™Ýb÷XRp[SnžIƒG»G¡~vÛ£ÐØ¥xø‚§1Ù 2wD1d·ª=fxkºÆSÃÆEåÄA\Θa îfß ¹ðb–•\¥rš'DŠšÉö)A:J"ú‚ls+Bo\ ^p!üdjUz‡¦ÅôæB¾ÍúGkšoÂãÜ·ç7ŒÍ»¾›0¾HŠ;€Å:e€™Yµ¬–SÞ]Ú i…¸öUÓÔï £ÎæRì<9™‹®˜HæèG¢ â…´·ˆ<}¿`ï»B^ñ|p‘uwXiV[v !£qècw2’OzRl¿c)’!£#" .°x_Å86WN§âØH.è„§˜\\þ¶áDË Î"¥¾M}"ï~$²zë1ÔØÇŸV‹#Ë{ÜöÛˆÎ~ðèja”£y¹=Î&S¤ÇnÞy…Û†iÕˆæÚ©!«"W’ëÁ³2§øîÏÚT¦®Ô^ÄïTW³’öàfÃ-³Ö»‹äU,Œ/ò°ÐIƒ¼b,Šu“A;Chïá>wÓù»Ðõ¦x\ÀÖLé÷¤ä‡xK°åCodwµVxÏêݱ·jfTB Ƹ$üI$îõæçÿU—±ˆ°!7ÖD'EI#ÿéÔb½çùA¡{ÿž‘‡nƒ—G gQ¸ïB”A¼S6ž£&ËW©"=Œ“/B¯MœŽ=^=WÝý›j±Ç_`61ÆýËBÛ¯Ñ÷}¥Ì‘Â.è!ÔŽ/A»eå[©5ƒ•>š"”YVå<(~ð&6’Ä 4ŸÔuðþEíÐǺ¿÷ö7ѵ\M§ÝÁ¸qùê1žSÏgà{µŒ'«N&Jþ)²ÈAE¬äÓŽ†ÜÖežñ±ƒ9yÞM«¢‘¸Ë"C±jwOó#„PµÃ;¶¼úFø×¬` õ(äµ—7»ƒÎn+WŸB_![¿ú<èÛÞû¨À-ä1ë8±ÔÝÈÙ(e‘YîÚc캦Ҋdß} ²iæÌ€ßðV?´Fó4çFuŽ€ç8t~·ñ’ÊÑ«% ¶ò ÅRÁ"¼6^ ôí9)ë#eM“•jý_]“û1뤖‰{‰— ¯´qÖ|q0›L$Ý’¥Œ °²[¯¡EûÙqäÔáëól¸°ö{kê)ðC¢sx+íÇð;OJÚê8øšõðÐk{òáîyeU‹Æ‡JEU Îh+Þù›Ï™@Ñ-ÿP ¢ykëË<ÁPØÒ¿k‡äKÊ%ÈË%–'{VÍb9È#b’Ïõ€«±š>Ób- ß ™z—,ħöæNC¨Š¸Š¯‹Mò&òö3ÕxGªwKȸLÖZð÷v#µmÚd$¨ÎƒêàþCcªF›ûYÖ…¹HðBïÔ”2÷Ö~MÜAÊ[€h¯oZGÇ+Б%eá¥L8s *»0íÉux¯(Á¢®‚ñI°w‚¡b­ÆaRžz.àG }ábÐè7+T=ACª(+W›NÔš¿ƒ×é DÚœ¾ wþ¶ŸÎ& ך³X%\¿&–ÿÍY$‰kñY;¾øó­˜ÿ]ŠÌäÎ@ni‹NJ8çiµÒ×?7)å2Çñ±ŠÓKÔG€ç×"oûÄg—)ÈÃ`e@ïfcð e>Øn;E#•¸aŽj†üîÇ–1§$$þ•,5Õů»Š’;6N)£ú.€\²—üìå!L[™ùáÈ7–Ÿ Õ.Ÿ8‹ìm R3¶´Qð«&ÚZ¹Rýc¾Æ ßUþÕ—) ªk•Ô•erCÒ|kó^„ÓJÒ*Æw¢œc+VžÃ¨P|ÈiW¼X†¿ÑJ‘Gòþe’†Ä!c(:l2vÙ·ÀŠF¥^žÞ¡AËI´åŒ#8o%{—Ëú®¡;Ç)1Q4‚Î |ÌCM¿ÄѺAWN­œ®Îwûí~^}&$]+¤º¼õ…eñêÂIÍãd„GVaXÎÚÈÃ\05éÀ¨ßæâ$˜=ð–š3-;Á< ÑÒvqÑŒ![£ìˆÄ”ôÎ<‡ L£$µ ß6ëĬ;Hh‡qêœóÆŸ¡HòÅÏt"Ÿ¾Iá_Ðó¿;ŠózgmBÛ~*{“ÜÁ‹²*Â…u;z„ëFŒ»Ò×f­‡óg³S½?Î7îëw}"ßu°øI–è.8>&a¬‹!Hj×(éÈŽ•Ä除²Wa» É'—¨”møBø88ê*v&M§‚þ‡ŒdÀE²‘иre³–~ÙèG9Ü¡+,yò#ä%ô»gœU¹Ðpkå>!‹/ Œÿ²Òf$³o«4ú’áYL6(š²7¹Z|u¶ûKÅì7Z5Ù8/ïF=Q/³9V‚]‘ƈsV7¼M€ü \\KÅ-¨.[›:³óǰ/ÝâïˆftJŠïexõ=è_jx/â Ú)cC—ÏTªü‡wçS4‹«O]¯û-#Ä*G~T¸%¸µÄê¥á<ƒáÖ¨CÝMÐ=kG$2²ßß+Sh‰Tì× 5Š £/nÔÉÚãàÈÕ*Gç?ääÛ0ý¼P3ß.k0+ÇîÜH{¢CÿfYŽf§ê••9*OèïŲ 2œ¯L†ô`¶~ô ”ëö›/¿ ¨™CvF€Ì ,»cT%™ÜFÙéD_1×%™I0 1K,â~Æè½»ýƒz‡Ê× åµ*ð«.$ŠüÎ|†ß-s#¨‚ yž²ùãÛaãQiÔ pš;Þ^€÷ý @5'ðÍ&è({"ÛoÍ©ä)>ÕGUlÏÉã¶æ¯¼,Œôä yõÅ­I÷UÛì°¼U±ch4(t ïÇ–‚…¤Ø*SÖŸ¤Õàwx Q<ƨ_r@Xiš:^sm2»ó³¡"&謺a?£Ÿ+¡Ò4„%qý’ Ða°AG.a¸mÌËÓ€ `—_ï&E°Ò™7:ôþGh\>÷àþÕ ŸHQniÙVcÉ¿õ•eÀ¢Ò¦k™¶;ZÇypÙ‡‚ jë•~„ |lë¸ ®“UQ¾}’}Ö=–þÃ¥Êðæ¬pò ­|Yhqb(ÉxNá" µsÐ:cßRÆFÜå‹ë䥔«yTÿßÐ(½}­C1UE$r¡ž‹¡·*ÝTêwª‡·Ý÷ª@@Á†DÍî‘òCl~²ÄZî?3øv¨ûÙe¥Èæ£<¾j¹¡â“®æõyˆî>Ï£Û½>H% •1¤É†új<Ûðà ð®£\+v(i[Ðû_9eÀ0b”‘K&D¤ñåÇ®A~ˆDX™X]ü’LU6ž–'æÿrëý íë e[¾ 6d¾wùÉÞ™G Øb¬=‰`•fî¬@lqd’-†WìXf›a7eÉâ¥Åjng@ˆ§—W§`°²ýq[-'² (=©ZT~ †kº¯ ?EJ»R9U4ÛYc ü’Pgl:Võ‚¤"ˆT°LÔ®Êx¦CÊ´¿1Ê/ö™§ý"eHÈ`ÐÎŽ¥m–ãÈ_Þ/H‰¾8ÅÄWöK|ò°ÒÓdÌ9£9 ϳOÎVêÝ@xX”î.-çC±C-¸b-ø°ÿy(KS 7i 7dßÆÚ½úSäÑ\óDìT¼òm`ì^"´ñmÛ͓׈ Ñh”q‹gêˆõS£àE8»rSY©nÞFPØw1Àí‹Yç„ к¦Ž5Pm2½ ¿$dN:MtHò8v¸QNµÕðXRÎÉKç“aù\6™·l¸BN’ÁÊÈk¯Ü‘2Äaãâ‹Nßò‹•"O˜¾"PÏ1ìÛÕ¶YŽ6«K9ôh²Ô:碫#¾üD«w²<,Jç„ëmyö€¤v×°Ôt)rܽR‘e]@ÌžNÂ#*³†ác$äW[û¢åz;ySBZª 3‡@€Ïg|ˆÒó ãò-U¦Íîû„»,•îöD_èùßµÄ+!™C²g© F'»ykÛWáÕ¨ÐcµnÿKA“dÊ?)Íb<óùQn;vÙ¶ð!ŸíÞ¡††É×bhRzÄ\üêyø„:œ³Æ’þ¿’=ȸ†8|E”îpTúÞÔ` ¾Û=ÞT]*JµjÈ]ì‡!Öù¡%wT†µÝ”·V‡(3U³‚–›®­rš$²¡±‘àBŸ µï|1< âT„„ÖOA˜SŒƒ0M(NåÀ<`l9¥ý.IøDµI»îm:éµq™_žÂ³¢zA§1P5ÂFxá9âöß²ãVÒ„"ÕÉD¶!»=FÙðWsáÃK5#±Ò6øRKÈ›¯ÇØbU8]Òúã$O›Ä åìÙê¶«·Ót­%0„gX„Œ…®%õxöölë…Ð å?ÝÉíš„ "D¦mŽ Í‰ÕU#¾oAjæú׉"f!dAÒä•=Ë?8kÎË"—fm8Þ?û:áxýÃQ±øYò€e÷ëhçt4íyFy] s>.Òá·qÏ4Ä ©©²;ä¹Ëgðö›òÞw•§y¸L™ÍbG¼žbx ÅÒ°‘M3ŠÊ@çœ/µ™ÙfÞ¶p2^QbP*yÀbQ ÄØ·-u8"-èÑü‡'Fä>r¾½t‹‡±æ 8²õá’Çü¹À±^´:ËÇ0ð ¹yb8Éž\‰ŽöðÍ <[{[¿ºí  ÷Ç`.øl×<ˆïêçPd Гͧ^8G^/fXñDåÕ91ò„Æìà¼N|º‰B0œ©̓ƒWß8ï /‚7£á £ÛñÆ#Ÿ´=!T8.7³£ÞhŠ_¦y=wªI¤öaÞ‰Ý;á“ 3EGžêkä4äš ÛËó}Ÿ´Ö†Z`2Îð4N ñO‹µg ’Ÿ –Øã¢ÜÅ´2Š ‡û÷­¼[CùQC¶ `Õßqg™Osõ{1ôR sx?ÿ†fSžÕ„ŸØ‘Ç”Ú RÃM~Ï®3CãÊX•O£@œAz&X¿[ãPèí53~¥[´ÑЉÆbhÑ;Ú¡§r•·Õ˜|]?&¼[D†û 6!àÐ`‘Óâƒs^ʰCȸá¼Åj3Œú||s·†VòuÍ,öý ÙŒsóÇycUÒ0úms´¼Mk5Ÿ.¼7ç¸V¸K4OØ‚kS*,ŒüÀAÍ}›­œNý«‹ÛÆ'à‘®,SsDKÈήJ@e*º™,¯ëâ/o•þ^h!:sÕÃ6ÕÞ:÷QEŒ•^çÀÂ\º5µ\P%2W¾eT¹ÇD}ð3yˆË"~k8C`Ú}¯%$ÛÖ}ƃæQî?h|eG(©½sçÉùQvèdÆl eNy‹” ðãÈj±„¤ÈËø~ÍÞyî\Î!sÖœìgl|¨Î0èÊ¿´ªb ñìB_J%p ¦ŒTؤµ(&B³l:rÏ]â‚«@EWj€²vxýÓ?$k ¥ï•¡¡÷Bv:)=fûh+vß‹¾ˆRý‘áÆ@­qZž xe—"Ëþ Í\#DŽkêq¼§ë+Ûž{Í©L²Iú"`ú W¼ubvë•Æö»§eTæ&B‚Oò1¿/Ô¿UŸ¼lJg!'ÀÕ£¿P._Ž‘³þH£o%ÐQFg€ˆÑU9«7?Dä¸K\bµI8Þ_MÃ{`o§ ’ŒH›ÑÜM”óÿ4{¾½zã!Þ'îÛßè„ÒÀ«†/?ïËXÈZQ¹ÉV>£3u›² q¡d÷èktœìâUüì¥/I)ÿñRÚå)6òU`뱇ýY±5Î4y¡Â1|SQÜAµp2©Ê÷u)ÚàKK-zÑ÷•ùGPm x ?¯ûNƒ|› ”½ßo}týt˜µ9>²ovg Tjz;3<²Ñ1Ýœ-áoõÍnÃK"”'añseÃ}MbaUÂÐëÛªi€Xiº—šf]1·åÕF3¡øMň3eáOÔ÷ôn;ƒÃ¿µ>]’š1æ§ýÇh¨)Óo‡ .Þ¦<ʈg®Ôþx²k‰'a˜1¬ÄQdüÚ.tØÏ̸½™~EJ¥ØsguÒÚHÔª u‡¬Û¹ß>¹”ÄþTH®‰¤ÏFît°ïT^ÒûW÷Ñùœ] ." +Ö2q>¨¡L†­¦=‹l\“`î7¿©ª‹mµ­ ïTpÚ)›ðÓ ÚcŽ>%Uh] lÉâ~H„ÜÊ Çô5Ù3Ðê¼!ï¢ýp„ÑŠY´µœËmÂûs¹ Ʊs±N§¬Ÿ„·PúÞý±ÒK+ÑäÎsVNÿ¦ãÍØhÔ"aMd#…j!Ì L%XžÉ¿©G´9ëM;ìæw$ê ›B†‚HW«# ¢7^—A¿J¤@WzêW:KÝ»º—[´Lòýû’LõDâœõ+¶#žÙñ¨Ø°ßFz/[¶hïÛ°ž¸%³ÊôØ8£Ø®ü7«à…àðÙÃpìZfj—â/¼×Äþf qŠ{^Èô!ÌDôu¬f#pÆvÜk~& ‰ˆîª´ÂªúÏðÊÖnTZ}cgcæÁ˜ã¯tÀØÜU6š‡ï…ŠÒýaöüm@"2>-j«\Ðÿùu#š˜BdWûW“§Cà­fŽ—:Ò`¢È]ÕÀ¤Í@úZO™áçzç©¥töQº¸}ÀÙª«JTEÈÿÚ[Ùe¸ÑÊ,´—4±âðîר¿•U’cŒâš¤Ç;GY9™ZëÉ‘h“zø$*çWÌ=rѳ‚z,vpŠðÿ˶™hÆ1.“G‹”´!Âßö㻟ˆ€ëçU´hê ™CZ-¿_óV=^µ‰Ÿ½EX؉Ëêöõ, ïßßr¼g®·L9½¤Ñ/ðË: ¯ójè×WÊX„C&žÔôDߊØN‘Îýê'Ñí´B…SwÆ¡s`w“Ï}þ°RÓ>žu,ª" U®?18“KT,È i!  ð8;½9*”$´‚ýÍÀÅBzè¦È7B[=g¬‚{‘dͧñø£CÀ’ …Jå—àÃÝêfÍçŵYô¨µBÛ†‘¢¡QÂã}.*r¸ÇÃÓ¤ øÁëN ³°="CªV[m»D¤õÂæwÉsvìLj®$å·Ô+¡”o>ÁŸÅÜ~/’“ì¿ðù€$ý{Võ]¥Æ+RÒfèp•_Vå£ÄRôÍ/=×2#fÈßDoˆƒb`õãÐ݉\œ‹Ý<]ãGs„%Æ÷¦$W³²Wç°ÁöÇàÜ~΃õC ÚÓ´[Ò™|—è]ϼ{H~ Ð¥2Ùðp3 ,…­‹À¨Þøu™Þ§ú‰œƒc‚ˆàz®[ëâýf»i"jl}‘ñT)ØŸ+Üï[;/3¢vÁÍ”—æžOæi¸)e¤›Gºž·*ÈnCêê¿KÀeµÐ\î*ä ï ”êåÜv[aÀþý¹‰Á Ѳï^£ÌÖ! 2Æe/¥¤ 43DĸÎʸ&á)DØgݽq±ûˆÈ(âÛ<øB S ߥóTŠqe¤SÙÿ…G¢¼KYM<ž‘s4¥?7wIí>!ëÂOÚ=-¤ÿ g„•˜£q:ä®J}&׿|ªÇ%$iÛVi™.g%û ÙºŽ€®pÝs”ü—ºŠá]VË;Â,P+æ¬Ùã«ò¢·ƒ—Íì¸Ub¬Ç½D—@yqã¤dX44³|m+ød>VóüœœÎ©ËqʦÀk”¥æÔ”Ìn¢.d5yÚÕõ¶ÎÉ¿XÔxj 59±é™9‹©×¢Ñb¤Ÿcoy&mFt2ÀŒÓƒYã…ЃNžÃ‘„ÞwMr\t'8W«æ[ZAñ'€(ÿnfŸo–dñ&Ø?T{*pW=kbʦgè.Dvx!£§x{[ql±…ŽÁL-˜`tv ~¦ŸjqAå±±<¼_ –ôË`×xÞ~± ±[ìÁ׬*v¯ò±a…¸©¨O<Ãæ¿† ÁCD¢ê:ˆó¡€ë×lvس`ÕKY¥Â|¾àžKƒâq*#·V’îâàÿì)>kD¬¬^çæ{R¿g䔎¥ÙÚùÒ½Îþ ïȾßO4Èዎ?…ŠÍœÐm26l€KOé !iÓ%ŒƒˆÝ „"Õþ½i]Ö¹ ˆ8óŒ«/àAÂF_{µÐúõg–Ç_­@Q†!M®]«‘+hg{Ë©ÜΨO ;—$êJÚÑz¼8˜ •iíu±Eß#ac 9¤e£Ü¥7 ÂéðF÷bœ1ï`°wGŽ’¥e¢,>û¾'CÙ‹Vû‘K Ên§ ƒø…µh,Z¦gðn%T^Å…"þ.²wLãœÚ{¹töŽv¥uŒ9¾êC(4… „©m¢Ö±}×t¨Ÿbè7xQnÒÅÊ)¡`Â’{·S4¼ñ¾àê‹ 2ù&R×Î…<$ ‰ï~ñ™”èKÅ ÓðŽ®ŒÊt3Ô*II×ÌjýY¾³E³j[ãX¦:­PÄdÜRd /H‘èÆeWïë]€ÎOnñ)ÅH™àãa¸ø×n^ÖTV ¹<-QUÉ3Âô·»‰ø_\㳩ÏBÉlFï}O"Ç̹`›Zâíü½×¶-j=.UⱈëIŒäœÉ§Þ+´#-üWÍõpºùèÕtú<«œb Ьe¥$}Õú8F“QÙ«èQÔ Ì&릨±±½U¹7äKSØŒ¾öªwaæh.Ÿbl·òŠFk¾OЙvÈ‹CÃao8ž B´:`ážÎ+R-˜ëAyùñ{/?ÙîœXj¡qó"—¾¡·‡×~EЛp®,aÌýèzkÛ/I­ºiñúÚ¿±õ¸°(M±´ 4Qøw«›OÒ [wÛ¨5Äò6¶ˆ7:~ï4¬cè1Za•üÐws-»D˜ñ¶E‹PðÌ’ë7ƒ!·éÔ7æ“LÐ;ð’ï.±§ìÁÊ%ágOQ縿ÝÕηªf{Ùsè~Ù›»¡‹¸FuE£-,^2·ü®ÜYcŒ7ƒ.•z±íœüæMƒJÏ­ gr+%s=ð“¤X™®ûE„¾JÎy"Çp…œTw%ÿ„iSøüÅÉâ%ÿ¯em°L4¯û”Ð ééÑ0äé}‰Ù¸ˆ’‹.–´n .ó‡ó¶èHýx>–³Ú "O˜Ó¸:¶Èã±+Ô©8ð.e~a£óÁ­'{!…ðÅ•ÎJ¥"æC÷˜Ë±EšðAÌñ[–i>Ýñ\G+÷dËCðÙ /ÍíÎ÷ (Ê5õÏÐè:¶¨1çà EFÙaž¼bW‚š=00?FWЉ™B:Ês‚Ǚᔙ³Ì/eÕPáiè='hœù›$±M,©zôl:þÞÊH#>oÇ’õÏӜӰ§ÕÊo0¹–AªtÙ‰„ÑN6 ‹+SÊoƈ8È\Çej±·kÊšEVnê^qþpCîbˆN¬%ééËŠžü¦eÞÄéˆ& 2² í^Ï¥Oxßä Ëûâd!f']NÅÙ«ßæÍ\(ãµÈX±‹DèZòKâL /Åž,2öE ŒWA-Â:1©=l¾( _€sùãÖ…šÙ™bÛ*§sÃÖ¾ú3úƒ¦¥–Ÿè}EœÙbªµ³ƒ6†7nB|ަ&‹Ÿjh7ù4-DK…Ÿ½™…ÊI‚À@SéP22/syœ±TEFþ-tá…?²¥ Ø…÷;b¢°àØ·™µ›Á¥_üÓÝAsD“!4aŒDÓöÑ*ÎhPB@q`äÀ9maÔ‰#»µ&- /¼ÂŽ˜¦®qü„ Ч•+¡ÅÞÍë¶ÃLܘ†%²a É„íÆ·fLåÑM&A²Ä(àSXøÏ†› >ÔÞÆE—‹”kE|ßÁÙ-9ކQœ©ìû¬6@ÓC(ýVˆÃ^&å“¿Døñy,` t(Ê&Ò!w$%Ãæe3[DSZǺè}æÕŠu¨\j€»¡ÓŸÝûŒ^Æ>7JŒéð½dÞç8mòW³jC¬‰‘Ê‚gñ6Ê5˜ÈW´—Ñ‚åÆ³c'ŠòKãjéÝ© Ì7§úõÛ;Os‹i°ão-Ýa„2³‡_UM”¸ùÖNn^uÃ]všŠKù8í¨Ú‡åÀoÐ…ÁnSÇ HížO ƒ УhXuñµÞ÷YѳuI•*žrÙlOÓi™oþàÕIàºût2ð*v âXi&‡Ç»Ê®¸ÿÏâë|Ò\òHWïPëëVíöÙ½>B|”v`òtvÀΫûîž.È8­}¡ßDE¾ü§œ8»ê˜ˆ³ªÈ@f(Ìæ†>³Ž…´jº^¨á“o6}ÆûòÎnGjV’ä#Þ@ïn UF‡C<záeŸkKp4÷8*= ±ò·éÒÁ|@›ŒF}½sS’.{Á®Ì‰ûÅêÐ"¶á–4êòšÚ#û€±„©/ã´Bël­¨ö†µ>[²ÒYEE›4Hæ-S$¬2Ö•Ý­uRD®ÊV¿ÏŒD—Èoß|V’®]Kkb#U6œç0x”rqôد×É÷Wˆš^XëOœ(ið0Ôz×#úGï'Å2´JŽ4¼˜Ý#ú$™. Wçª_‹Ûï-¥iɽ¼ÇÕ£°6Á›RØž#¯S„fÆÒ…Qµ´6 ˜ûÖëxFï¨SõÊ-a·®.€™+–é’Úß­ i}ƒ·‰\ dªÉz2•´_­C¤’©µo­1>Ù ¨Ëœç˜\âçÏ€¹¶Î» ÓHÎæ“§ÃÙŠ#î'7òîÔøJ…´I®º]ˆ)~£°–éPV„xïg·@"Ü(T )5«äÊÚœO:JÕù&ÿw@̴μµ ãžÅ5&8‰@#AžÕè%)-¼7ÒŸ•#¿ün‚’B×ÃM$aŠ@=éWu|vØø¹´Œ€…Ó‘z&‘øƒòðܲ~²¼I?ßÊÅ"ùiãhWSH!FvîA­Õ‰ã?C…$妓ƲÇKx·þ.‹òë'(ßk$óÆn+£!pþƒ0„ɯûÖÐB[oA6ç»WCYU“ðB<³ƒÿÛà\9ÞCNµ›Ý§Òx#²¦À±d@Ï ÈœrRãmç½â!8[’# “Ð7‡ˆ(ôÙ»ÛÌÈb_ ÎJr'ûVwˆ 0óBøD—|…r[(€\9ëÄ Ò—aãBqY“SÁø‚ ðòÕx®÷Ç¢´ºÀЗ êbé’g)ç ÀTÿÍŠè;ÊDˆ9Djž®î§Ñ3`¢\q3ÇÞÀ$šíWp5AU—ã°™:ní"wi~¬•ŠáoMÐ3=³º‡¤]LäÝø#hUøÎÁ :G­¯£øRÚO×›°ãÃÐCA+œ|õð ðÌyÒ*Ыsc{lÒÆAí|ˆT›^0W¬`͵ƒlN¢b‹;-r>ÐV¢BÀCT–¤ “`KÈHÍþ?8Cë [|™3c:UàIN[.¬•:p`krTÄ&ÿ®§Óô¥ývõÑ…‚Û ‹$¡|<•¾±!²ðù¦¬zaÁÆ´èp ‡)bê î©Ñ.ÔeKL³ÔŸK”Ӵݱ'ìTùEj‚”¬™š€t÷D»*iÌTY?ó{q¥¶Ú/2ß,€h¤ÊUsÃùlo¼…Kãúyùé1 ø¾‡«ôæ1´ znG‡qeèõ„ÜÙ‹ýMì4üBªÞÍÎÚîFH¡‘ÖC0²ïòÓ_âøvÆ{ÀCªŒ‹¹m´á•ÌÕg¨|™o判§fYŸM¼•™’©K_Éônº9Çœˆ‘üR ºµšH§W™‚Ö D’B3æ^ã˜Q%œ’Þ¾…!ë©H° ÚÇò‡ñ¥$Tüg ^Õ>eLUvk½eùìoÄ×{ÏRÃjz¢k*ú—9¡Àá”׈”œ‘¬7‰11qþ¡®,‘—ê<ü1Y8»9ó~Ñàòf?Rü²µ–lü]ÂêÀø<Ї °ïL¬{©«•÷_{À3TÊ·[t¤—jv­Á­À,Þ“Mhå»Û›IÕ„®¤I‘Oua[L£Šß:ÙwDÎÿ Žjçƒã³œT ˜‚>»Ì™ÐyÌ.p žëB;Ö›[éx\Zמ Ødiª#t Úz ‚(0»=°μȼP€|üP”·¡$üÏLßV<”ΧTíùT1~‹¸Kº%H-:¬ýþciýòíÆVhÛ`žÚciŠXDÉgT8ýÓB  r ÙÇÀ­Ù6 C^n°ŸdtõéyÛ%AI8ѧó¡‡g¤GX 2ÓTF•êéáÝJq5ŒõWÒÖÀúJÆRvv.Ÿ£m¾…@ëÔU“!QŠËÜj\Sô2NkÖ?,EÁŠùˆ(`€ëWE>ï" V´Tçfõ"ÇáNºkÞ‚õuã/‹âÒ¡€ %êÐÔ{°<¾YÂWÚœ:7¾œdQÇ5"<(ËT¾1ETCꦸÕ®þÈøàêéR•úûNÐ98ƒS¼ÂæEiÏ ©Þ&„¯¤åCácäÚQÂÂægÝ…Ëæ(çsM}{¤œ?…ðZ\"-Viå¸Dºþ|ú>¬¶Â­/Ëa›ëÆù_Ò«Þß4Àí6bň.Ó Õ›ý¸ÜS†Ó ¦Æ«S 7’68ú/é)Ðۿßu7Íîsµ°/-ÇúiÉ–`‘Ç‘ö)æàJ¸ÂYr¨Ù€dX1vMKÀÝâf¢‰0"Ѧ7£[óÿÜú”jºUCÍã( :¶‰kn4&Ëúó‡¡>ÓKÝïïzïâ„Ь ù©År¬þ¼.@‘xzéäê¹”Ïo‰Ö§ÂØQÇX•_W‰FâÌ8A[¤T° L oŠK’~ÿ±Ï1²§š±«[k »îŽu¬d^)XŽ(³s-zU•ćÆÀg¢“ †òi©B]½ÊwmÈ$Dâ+ZGºÒZ›ZLYH(ö¾" uÿfoMÎ5A\´f$u²ŒÿgX;¼ã‘¾Jg“#6gd…cáÈÈ„{ùɸ-£ ½l剘ìåëÆYÎÊØ>J VTƒ_Pj!4ö,¥zC ï.£Í¥hL&Õ¼ÉlQD]è¤6hXæ‘¡‘)¯È@2Geify>§Ì+˜&ºsðF¦WˆÿùµY¯}s]2¸-Ö]úyf¢ Ha—ˆG‘;¬¶†¶fñ«„åÛ2â{Š¡R"€eŠaœg.ÐöK.‹-ÛY‹ÕðnÇ$ÐÉãyEtàÌôñ2×4;¼b´ò[NÔ¤|'8ÊáÄùÉZ~!åMÐð~¨‘¹¡Ï7jÝ9¡9Û…=”mÁÆë_¢ pst«Þeì¡HæÖñTÓŽ^çB(–„|Ú{|'™AñßåîCÝÍmÙ½*h' ñEê×ÔMþÆÍš^¹øAÃõ dàç0Ä,iÄòÎ1™—ƒd EsÀ?‘#îsÌ–BOUoªÕ¥Å_’%Û-¶]PJ¹Ê¹ÒH¾V_é…L/Öƒ§‰B/‚®œæÓèMùeêB{D¼_ÂØ?sʆñ ë¹­õðØÍ8b8ÚØb±~ /©ÛÕ= KÿÄ6YåU¢’wÉü™|´¤RÅ3H(VPæ%±Í€ ™o]ÉÈÈV0rŒüìÃPpäH“ÝàjÜSÝ9¨ôPþ¹yNãÕ\šynZwƒ¸Pð )뢯þj: a¼ÇþGÖzÇèKÛËt¥âŽÚ ÷|÷ÓŒñÑÇÝ“ý$msmÝù=X®äáÅþ'É›eïÜ㈣.…QÖ¨ er\³?¶ =˳¹úöœ|¨hlÂåUbfq¤3·6Ec•ÈPL–™wÚ0æ,¢KþØBJÔe“Åú¥0å¼â¶XLe¸˜MûÇA¸C¥ ¿ôˆvÁ\ea¶I+I>Ç„âýµ«Z0-3Ò&ªðl©ÕxZ}Ïpjáíû&ý‡Á›HL³a¾)õ—K¢Z1/CÛ°FJÈ¥-Ú—)°J¤QS<0XàðK¾nE§Cíã­¸n\À¦wÍú¹c¸#ÙY@QµLðœPŽõ(Z––zâŽ|€°ì*Q:cA€BÙAÏÎig‡ZÓ5K,öq~jó¼IÞ˜\_å~ññÔ ®Övµ¼!ÙÌ•¸òAçÿg?#·S¾48§²Sˆ-äýmOŸö¥ù‰Eù"˸Ɔq•"Û$÷iÉ:œŽJ(î¬Óag•Ž~"‘¤£ÜŸ’%£ïµ»•cÏä}2†¦—7xQCÌ 4ÂËÝ©ÇêÉÉxïØ†¼Æ*omœ³nÿ›,Òˆ\jÚì”+]ünWÚŠ„Cª€ë©Àµ÷›Ts*àu+?OßCŒqÜ{iH\º ffKÌOeKÞQÈÅå«€k(JP«'ÖÆ+qÏ¥–BÓ¢d™™5È_ðaCÿ½K˜ pú¢ãí"w%! °äéªZ…e4¿ug5‰j¿þŽø{8èbŒ|ÚU¦U ®(’¬Ðeð>Öl={Ñ5¨Fµ¿ÌjpÚ+§ó¥µÜýõIW"м‹…ó&½æ¡ñͤJmÙP§ü$Œ ªkè+}¹^#\¾†›Jˆ ö…"b@@| 0xä¥!·@E*"Á=O¸+‹vð.^ÝuÛ´]T¸OûxmAáNñù~r b̽Ì7ÚzÁ¸RÂO?4)@wŒjÚ¹9ÓÆª.1_ú¦Å1Äû¼+ì‡áyÞ/‡«ÃJ½7lÃo¯ |hX)â¼Ð€‹J@]Ö%Ö&ߦªn†Qs³&4¤û/[<|¢†³˜=W%¬[Cå Ôšÿ'}œçDýõwÿƒ^pÇï°âÕ54#‰ž×÷0dsW}çd]ã'ä0;+á­ÛyGü(C—r Š_ž‹ ¦1v‰“~°ÊïèôŒ¤d)}˜BŒv­¸¥"oº0AŠƺ벒ë {bI~±P×2KQi7¢vdÿ7ƒæZfQ©‰˜†hê'˜4á%ê‹5˜¡Î#M1+¹‚"7±0ò¶-F•)iûzk¨‰ëfÌ4(4 º TiGg’Õê³ *fžÝ'»çLÖ{pM¨Î£¿Ýr/ɲâ­ñÏëß‘b8߯ξkF(£Èм‰o;*“$f9»hg¯»“†­ UãÜÌî$¹ˆØ«õõôQ†.‡AdÒ‰~å[ŸBrGºˆ¢®ûŒŠHú•8[NÜèÝ|ùb¹ðOâ¬ÚxÜßÈó‹P^žˆ| á4ü¸b_f":xÅÛ¼úE¨ÒÍ—zx@ª¼Ô’²nd}¼Ï*9="ÑÝ/Y þjµTвL²¶þ|øƒ®æs¤ÌNhÉ Ýq) Â+ဟcŸ‰èVó½Ãã„; É’Eè`}¥‚#K&½´Ïchõ‹‚F<Æ!=kÑ0ã"f†wŒœBç'Úó[£Dz8éñ`˜ÂID£‰æŸnz;Š:É7•Å+-›¨55²Ìˆw~‹ÂmÐÑåÕÊìÀñ¹üÆo€uTËú»‡:Á‹µ°ü¶ð×V‹^$Dž`~º‡vP±ûâ&ów‡’è¿õLÉÍÉŒÌ*xwïxðÑ*…mÊôVtƒ8Ô“AbkUü2€ÐEá³7£Øä ÈY§u± ~δ’š1ãì˜~‰ê…>+$/^ªÐ«‚0ÅJõNS‘Ñ¿ /”kjR4c\r!7AUkí&ͳ›&%Æ´N޾nÄ.$R^†šðîÄœ5YÀ…WÊú pY‚<Õ¹RºÂ9•ÃçÊRÒ¶£–&¹¬Ñ¯wc‡žqYo~‰kZ¤ê½)6χùéûP'çØjuFª/lþê 0ãšÚÑ÷ü¸…@á«üš³¦:›/ Ïgl™ÓÛ¿oR™±¹eúÊ>)ÚÄzüzüLª=ùëë¬ÍŠæ[½È@bˆ×‰•¸â,ÌîºFO¾;>Rk&²]4&®8 nn¨N¿¯ýŸŸ¿ué`ªd—п*øÏ”ÿ'êFàiÖ=íéá@¼»+ÎÍœ3â®y^–ºÚœÓg̉vêÿn^IÊ¡v¬EÔ„¯]ÔÛt Ü,®½9E!xðBw›^0š =¤Xá: Ý-Vöåg°rá¼êqmŒ‡_èo‡¯/ö!%ɹÓdÇ—>‹)ÔgK<‘Ɖ æÎ­à4ÅáüN;r¦²ïgÄ4åHYæÆÁÆí®=H“]½¿y!ûßCÕo ú%èø-›€üqî4þ‹Ëñ…ÔO5îòzÛ­ÙÐÜ"s’àPÌ5)‡p¿ò ½þ-/ÂΜ¸¥UÏQcw™“‘R~K+gªIB ß³Êß’#Ò1ZTb„\3£L§¿.¿E û0}BœãMŒÇ.„µgz¬Õi:(Í%åFPo~*~£^ÉMF—Õž.ŒS¤q®¹bHGOœCñÂ×Ìn38`,@)ýRäVÿ ÿ‰¸²¤ðnt¼TÙîRüÏÐýP¯>ÚÈáCÈ„ªÑ×´oNU‹BKuý•ƒV“;S·#ìË{Í~V¬>ãE¨«eÉBD1RªÔñÕÐP!•ò7;ßUCjñÄeÖvãàBvmÒ“YÈG¿-«ñ,Ðâr"¯{ ”$”ôºªªZ¾a› k_o£Ò%Ÿ`ö*¨®1åϼ¬Uµ!2$ÍÚ— KÖü¿} æ•Í|!DИ×ö†5J•¾µÅZýæ92ý=¥en zÔnÝS8©ðì>˜¨žšÕ¿ÐqÖÂéè*D€Å蕘aÿFØY{.j+[o\ DÅ ¿zæ„2Z6«sªë†óaþwB˨Ÿl'õß`€ ˜ÔµBqÿÙÕ¦~5úáÐ&Š{[G§+³¼ˆº9ÁYûXà½õpÜÓØgíDóEPôTS†Âñ&†š Àºeü›ß Ü‘Œè2Ì] 9·&.‘Ü7) Ÿ¬¹L}eÑ`$ºTbyú*S¢|ɹ¦¢XÞßÍ«ú`Žp› ‰!¦ÿÞoÂN½ˆªž6í}€=©WîÃyêfz¸}EW ”Ì¡ã4'Oe©¾£çðH-@M\‚w–§N™«ÄF%nJÖ¬cÙo×Wsý ¨>! ó^FÄ[ÙXwrØ¡«TŽkwcº)ÕøtŒ'O‘#°2-àÆ’/¾2{ÙY ,,9ºW»²›Ò%zD-esSF‚b{â¶õs`ãQÀÊ8Ütê¾6#ïöSÉì…Êà¼óahßOÍ0€™ÊzýÖ*¿ J9/!†ï¤ Ý.3ÈfÔ8ÿ]‹¹ÁIjÇå§CqÜ?E¥ßP3I’ µÍPÀÝï%-œëÚðÊ8—ßQXþØ{P¼¶(Õ •„ÜT ¾ 6Ôs[Üü`» ûY>7Nõâ±ÕñL)űº}9Y–‰m¨jˆÑòÉZÌÅPÙE+2÷}mÏBŸ©°tqŽÔ¡(ùà0:›VYCˆÙ!ÀÜutì^"8Zqþ—Ù×ÜòwÏ~¿ïa¯*¥àÐ~²çC]Z¢…cÅb‚ù»jÌ£ –×Ôžúœ3ßé8èÔ‚e?–ž»Ï!gËЂÚj‰d£Ñê7m"–`¶MÏ DwU¿ÂØSo}Œ¹GÛÎ$GÄ}Šõ4ƒ«ð>=ao<·Úyh 3ÓôRËUœ>sAÊêõÏCgÚI*$æïV¦[Z<Ó«Îìj` ǾKM šoåìéãTÁN^}4vólzÚãW¦`¥Ë*]&ÃÒ÷,¤OR0äH=ØTÓ_YÏ•yQgÿXýÕüº±È^y«‡mg1B¬™PÆãùó8Mž:fø,íŠR áfõ×\èªð›þ!Ì”ým$-ÎÜÊ:Þ |^MqzRS¥ßF­ü‰ûJ®²¢¼cêþsFœ5bÅ/xpe&Ñxz¦`Ù®ÇÞW¦¬Wk‚3^¬Pœ›b;G< <àSoTÿ…2(æeØŠG­ŸB“;¡úNÔ.!xFUŒL÷u ‰òa@ÇÁ Y΋Þå¼ñƒŽYL7¢…¯€ÞBE0ö÷êþ~ºDtv±U¨°¤SÇvƒá­_­ª°‘ìë¸l|†äNM^ €{½º+= ƒûḭ̀΢XËÙcì1ð¨Ùó‘ຠ²V8¤ff*&&G8ÿ=¢? ˆÞSòéʱwW’O„ o‹`ó`qð ÝXAŠ€0¹³#pez€‚3üˆæ×%§¿6ÁB_úD "aë7oýKžç¬y=Ý´×õÞjÍÄì£NÇ;â~»Àwp€•HeÐåqÛ­½_ކÏ=äµ/ÒÔóÓЈÝW MŸá^DØ)i}¶ÍîyâåšC³ÜÏÇ;v»gÞ[ºHxV†‘­<^³ä¿Ô¢l4™dï(ÿQº|ìÐó:[TÇwÓ:&z°{æÓ, q¦$ "L)ºVV9Ê`ƒHbâSœ@×El§ãQŒÐLµ`=ÝéÊð‹À÷q í¢O\d&è ÞHâ¸êK‘¯ {<´æ^Due{Ln`â¤ë Ô%^\å`@Âp·ìrß{ÃÿÆgoHBARîF -›o УRáoHîàÕö"Ê´ÑÄù³Õä.ù)ãLèL|·ŸÑÖ+jäpø@lú€ò§ «$üoÊ„ÞÛ/Úø:#H`}êD|Q×0<˜žåŸ# tú‹)W‡ìêmÎv?€³Ž$"qXM¥8¬„h~ÈWÎÞÙRïŽÃ7×Füº%Æ[Τ2M•ø¶GÉÊ(­úX´ì×vîyN)(­ŽT:»*ƒúçV‹cÃ(Ôpéï ŸôK*'²~û”s”†¼L~(./s°|}µD©<¤õ&—åˆ~ãuEã€ÅØ8„†®•mû¡ðao×õyÅH8ƈ³}XWU?j ‹<}²DnÏGñlrf¨l…cò­Žæ8rí¦«Cœz”Â/”ö1U¸ÜÔ·¼Uraº†]h >”C²Æœ"­Ž@ÉþzÐj¨0èQÞ6ÄE’Í?´Ç¶©ôEȧÎÛQ}öÒ8¾ÊkÞÉ€o>NB›…ލՄu8P%yï]í±„O;'vȘ®ó¦ÄÎK87¬±ÿå×k¤y&Â~éÆŒŸê{#6A:R'ÀÁ˜šd@v(M¶Ý/ Yb"Xoà+(µSæš)i÷2KQÿé1 |‰D_Ê€ î‘§é’ìEö¸w²úú=@™£Þojµº/ó¦ƒFǵ¢s?;¾¿‰gÏÞ“ÇEŸ•±jäôÚÜMÆ Ð*¼[5 ï9âá× ,vÇô Ò„"—!Ÿv›.XbLß©º ¯£Õž0 ÷³»F\Wœ)X¤Z˜ä˜–þ+°>†eÁ¶:E~\ÖÌð®È·æe€Þ­˜Ì/v†Ëù*¿½âQC~¿ !5+±km =챸H¶ŽïwYÔo½z-F¿¹Nú§Øy5¨ìÝG ›X`”•ŽÒë ¬¶¢ébc¡Íð›æ "5Jx´ß‹r)WKʤ߼ÜèåóÎB–U¸L –dž%h_/cz}áU-ÄLÔ‘ü'¥4¿¶‹ó†PyCŸª7¢tjÿOuÅD ÊíY‹öOˆ@iãÛá¬dz3‘Ÿœã'r©°¸_ö60r¸´ þSÕéúH`szj*¯ ‘`ÂáÑßîo3”®ícF'BŽÇÒÏ{(—îš‚té{E£í.¥ ¾Ð{ûrͳµÓÖ<¡/ÛU®¾vå5¯È\ǦËÛÀžöÌÃõ-_«_…a•DíoRà“$O&=¼"È!.07vÊTç€pq  -]€Ð³2»Ø¢=xEJ$ë¶ÞµdöØ0’ÈEý©zŽGp]ü@J’ÂÑÁžA[Õ«_[:4B ¶ÀþÌ<…B(ÄiRÛi¹„ઠÀ™P€ÈDFzÁß4™Tó‡­ƒ„­K…ë÷‹V/4{æö/.æðW²Œ¦Böº“å‡5…FU. ‚§q-·iÞQÃX@@Ùy¼·m»íÁâá±/ž_~ϺAllºÐ²ýmÿNUo<+'ÐC¹/‹+Þ?‡â\³‡Ü•B³:öÊbI8=˜>,Ó®™–qÒŽ~â½g“œáðU@ClmšœÝ –Ô·ð”¨Mi8@äÒÆÓªæ}¹Q¨ƒjÞD¯sÁ‹I­Vß›ÿõQJÍgÜäst¤f ÷Ph gýÂjÍ÷:aªžÚrÒY).¸FèZ-äÌ€ÿ›êÖU£©ø9B÷Œ­¨õm%œÕNÆ&Û¿¤{ б|º—øø QíóDáÙÏð€oêÚDÎÏ£æþrôc‹ø}­Ë†Q «lÃÒÅQÚ’ûl:¦[¥bìAÀdøøuä.„WZM˦޼Gì€œÑ oøZ÷¶“~rIÔ»-Êá^ò~@krÌåï‘.VÅ‚R&M¶âO›¹Sf&FÀÞ®®E“‘³'^ô— öcij6bž qw왣Nð×ꔚ矂jíuY.!ɳÓV{ýW;…”ñ|!8Òú+ìŽÓ¾ó{˜/*ýþ“”-W±•›ŸÿÚSísÌ 7Å›‚•ov#3ƒ•;@¨ÐzåGb?µáè4ÜH‰¼Á¡NÜ*&pŠK€jBKÍŸúe9nÊ-ð5™wI¦m¯ª¥ 3çÚa¤¢kLYƒŽrRµmÂî¿׺ê{ïʰ&;?‘Ž °]­Ü….þ)’“uQË>Ó‘ÉÀê38YMkár@­c­n¬>ÔüU»ã“k@§Ë\˜¢PõŠù~qsòéšLc¦çñ¬‡ÏôŒÞù…WØ!ÿ¹.ªj“ƒØT¼ÞAµ§,ÄiaËj¯ê¼œÁië÷táÚPý½¤qn«S>a™5¿x¡Î.FCao(:Bí›5­”en%"ï$ ´ŒDòƒp¼!4¤7» C ;Uu7³+K\Ù?§™A ƒôÃôýÄ ²H<å9C§‰–á£}Ú¶$å¨ÀÂNÊÒµ]%ðûÀX÷ ê!õÆ€ÆýŸÔ_…(ô^Åûô·Ýƒ6…„¨ó áÞÉ¢q./Å–<ã:o‹™Åk=šnn둇Rš›wv­h¿ÙÒÄA[]Ž÷3cžëÊcÀ=3è9^Ìþc»z@[øC +^7T¶˜J˜ñB¯^½My1Únx¢d5ì}~L¢ˆN›÷”ŸÑ "ˆ¢…çù<Úý`ô)R#ç¦6Êú˜ù‚ƒ?I ß 6©Gɽø&jÉV+ã6¦Uƒï÷ÌÈ[¾ô K Ì€é0 …éßF žZ4aõ€ùN~>ûk£‰U«6óeRÎnD£ÑÓ<>Xêž&õå’£UYê>$¤ºooozdâO`Ñ6^­éÙ fâýÁ?/§ÓaØ\ë©ødl¯4»Kx–·¿Qƒ(*¦oàÐq¦ç1$–t”wéƒ[È’˜¾ø–šGO#‡*Z¸9LÓоz€{“呹8Ô¡Åß‚º-‹˾…Bð/’˜ðÇb¯PnSªHmˆ¼|‚O’*e”á´uu pXVt¸ìld˜Â7£Dqƒ9±•ɹÎ?ý=ÎÄn6©@üN¥ÙÅ*3ÿräìÑžuÙmŸÃNã?IäDiC•>§íA´2/®‰ŸnöÀ>yø*ùvÞªsÏÿV˜éȪ(èY÷ ¡qÜÃ1Ý‚ìO—j”õ/5ëÖÝàõ7LV|¢I[½ ¤;vë2¶iÖ€FT¢´(MKŒD‚p,ìL»t{Áâ§"j½‹Ô“ÿ D<²ØëºËȆ@Ãýá2"vž`^d»@“!€‘)w.á‚_Ë&ßÂÈ’—åýB—·Ì\¡lá6N‹¦H•µã•­SúÅäEã¸w9T¢­‚¡ŸWÜ“‘|wC]ÇÒo# Р"Ýg¢¤B&©“‰b‹ÚºÕ_c´S³r¹ÄéÁÆãœ:p”÷P$ÛR{Å~TÀóœ`ÄÊ/äÙtŸ²^ov¸#0vï Ð:thU©’øb§„]°c‹C±%ßc¦'ÎÇNûNštuóØBÞÔúZç§ý{gµn£Ÿ°"CŒ¢ùè°æ,8 ‹à‡7ahÆÌ¢j\ ûûW-úRâd‰ºƒW"–»Â;àß%‘±Dûyxpô\ü™zSF¯ÒGAb_aÕÀ×{ÙÛS¡žØê”ÖŸK)|¾34;ì7Š\K­ö*¦nàAato®ÇˆÍ[ø·¿»–zg@¶hLÙ§bªè7&²Œ‡ ²ýª‡4HI–sÈÔ¾‰qM+ˆ°#Ð <è°5-,AoTc­FŸêð8çó†%Rˆ ›æ–ÝÁ,÷±ŸvùÁéïßî[ úÛ0±¦fåWcª¤»4Lõèx“éÕt§Û;ˆÇCûÑm`mò™ î¢#[.íVk|Æúhèæo½r2W½ÏÏý2Ó8Ùt˜‡ÙöVÞÍ-ü+þKM|è¿ mÒïXºÏeÈ fÈ,5Ø(Ó7_!ʶ…äŽâØo9âÚA›'dÔdüÛ-ŠÈ=X7ãù÷£63l'Àfó䜭5ŒÌÁ‹õ1“iÙDשH é—pP;Èu:ïàÛ ÈÀ—E\€°=Cöø¿¥µ]Ö·O¯éEÆÕ̸qù08¯/Vm­ ÐËXÛu‘â¬Wl»† ûhtØ¥/k©jÝÿcj8ùœYIñ&V¢ËY†¯9Dâ+Еø3an¾¤šóÃUà‚òˆ“’}Mûìnd…ÒI.Ù–”tXÜ´l%JÌæUFX»PóÒŽksvæ¬WÀ,[!Ø`˜°•¶k{]Úî‚콪w:rÇüú•ÞÙyúíüŒÆ†àóæû‘ÍB«ÐlT®–÷Þ?d‘´K!á#^&ã™qìäIý°ß‡Ðr‡×4PH_Äß`®õvL1ûÿrω¦ဤ?·löÙ}´ð0úí“2 JÇžs•Kž«Ä³AyùPÚ-4é' ãW¿—4dPÝ™¦Ïa˜ YÀß o\`B$e´_ÕX#ßoÁežVlãM€0LõoüüòT°Ѐƒäƒú3³+sMÂÏ þ½à1Æ~ÖãÑ¢œÕ ¶ŠëXbË +ÀcE °ñ—oðÙR^7?wå`Äì0ÉbB< ÔßÈÓ¨Üj1LòؘaÄNn)ºç 7 ©Q¯ UÁ¦»ˆßxS£6*úyYO^ íô<èX˾WïNèòf™¡7¢™eƒç)²¶Â#)x¢—>'äšÏôæ9ãŒ;ö‚N·ØHÜow ¥¬ýØ-±¦ bDˆCñà½%ZÑüÿ #’ ×%×ì4{ós‘îÅÎü÷x"!áò[L¨¨Ä‡—kE±.z^ÿ `;Öé¼2Ë5ŸvQIl8‘Ùtmr(®Û†|•ã“û1§K¤ƒžƒ³ð6ù²æagF(+Š\ÌB¸š.ö î($ß ZÔŽ]"QöKkþÍæ¦àË”BPäMÿœâc7IŸÁµ± 96ð&Ý÷9æüm4ß- ´§ó.ûFyz¦¡°½¨{UÖŸkî°Ð×ø|’‹?ÕA‚êYTdŸAgÒ-Žì0Ïð °4×â}ð_ÄÚ‚ •?Š‚¬”ŒS0…œÉykd€æÀfy]™(öŒ†œ"ä* Ési“r?¶Ô¸‡)œ  ™™Ú÷‡Øü¤eNõ¢ÃðT“N‰U•OL¦.ré1&”Èes¹ÚÒ #ˆn§òDž D©[GKÝëm¢†Ê4 ³˜šNò#—¾Š\inÝCl*?fÏ­ÕÔC±[xwbxÑ21mE4¤ç³Á¦Ú‘ãó™sï`³x›ÑÒyaÉQåG1@a­9’‰!Jý#eÞ¿Å‘à@.1&Š4;zG»ÐA˜U@ë®X@Ëá 4‰‰ë 2 Ï` Añ÷0$9o|Ö 8óÓðÜ âÀ[iHú‚‰9—15ܨÙ“Ôš¬¬'XŽÏñn)’V³^Ð=z‘¨žÄ}M_)Þˆz/‘ö¸Ыi[s÷ÓäözÅR“¡¸êfWýšá÷’ÇçßÃ@ÞLTã)¶I€™¢áª‡ôÆPw#Þ<‹ÝæR0®¸ò/ò~0¦‰d0qüâ.ðüéyg\¾¿b‰Dræ}ôä e©#ô¡^ÙìÒæuâ³Zf'Y¡î®ÃÎzC¥´¦ŠˆiÔmãÌ{©{ñÿ1·.\×cxÓ!çï3K”ÎOûÈþ]­J★}Ép6º¿„¼tF[BÌ—a8o[RÀm)É”8 œlõ›xt-}×ÿ)KÐB´ð\‹é!j&=_þ‹W4GkeÈN€GÒYÔ2YÜÜ+¿÷ë™2»$óûÿöãFiÅBn"i˜VÀs*wÖ–”ÝqÊÔÕ.y+AÖñwÑ¥ÌòõÊX°V±%6ó?Æ«HG.+£.žžY†D–kßE¸9bö–è2åW÷ÅXJ4VR fyNî)¤ÜxínœÙÛ€X‰*çkÓ¢´:ÂJÁ0Øc˜ØÕìëb%±éŒÓ¾/û®ri„·H>dW3^?=zeÍJ _ ÀEjS^øáú‚æ0´ïÉ‹ š†˜7 ÇôJÞ„ïŒ2¿»âCЖý_ײ£oÆývðW;ƒ˜Vò6iï ÎüâHô£÷¬Wh³ŽÐD“dIeˆˆŽéá µ¿¼<ßÅR>êäˆ*^ýS cÐ7 ‚_\ áüdj<µU˪`û £$¯ÇÙ¡…‘‰½Mœ9䮵J!u–GÕX\'HA§t^á(‰\²õ¤ŽãZÓë4ÞE5a(^õö ¤úwð$æüxKƒd"¸ñ¯Ò˜ü9iþ|£'Z—æ“ÈFïX§8ýÖ0ÌZ¤†°°ô#´fôà<`b–‚õ¹·àû£^43Ê6¿¹wë8HxñxÙ{Ý=oßiÚ¢ñQg8i (Ó¾¥¬3 uîý¤5Õˆw•ÁF`„Ê@r_Þ)ÉŸJ1‡òisRÓ?/¸Ì&F|ñÁ¶TßZ;öKjjL÷ô#¾¸ ]ƒ¬· ¥crYÔï<9#B;+²ë7¿:æØ£ùÑ|þŠæë©5=ãHû¢½Ùx±!bA³iѸNÆÞ^®rÀ;8áñMÇð¬ó¢7"n٠馒«ÚbÄ£}„yðn•Œß›€pø ؼ^„RÆÊ«Ïxyï¼mºK¾ƒúÒr&ò8>q©k§#y2±¥¶§µDßëÓå"š5 B€Ü{ÔRæ|/6Mvá e OälfÔ« "fáæü ,2ßãþòq‹""gRÒlåì8Ô‹OUt8Ìí–"Ë„[NTÇQ \=ëA> šLÄIÅøX ˜C *c L}22Rép›)ÂiN2¥¡F4¶@9\Ä’)ß«ù;ÝúÜ¿>Ó|ñK¨wË(”)†Yž¾>M&¡ÜSÁÒ/ãuõ«NÁ‡ÖffVû@e-Ýë±!‹Àjð3˜ÓõhvCZGüwzqAÊJäØªHOI~¬yaöL^JŒRΩ¨5¸M@e¼àg ù MB[j 3¹yÇSÉׇ’Þî} ô!.*€ª‡B%?p; <”ŽÉ-˜„ÊçÒ¬Ë:^-8ô[‚Ù‹åN)Mˆ°yZ8è:wWW´½7nI|Ã@Œ!8Q¬{ª®ÃøY𛣩Àæ*¶*ƒì¯cп¿¤B”‘@®™× †^°†‰ƒ€ñ;À2yÒÆ_cíÂàK)]f­ôÓÑIÊqvÁÙÇù"˜½f. ¨MëXWàá¡>¥©ïÔé¢SQ¾Ø×o z؉LlƒŠQÑL uíèw5’™y=ÐNou_‡ˆ®V"­#ä©KC 9‡Ê0øû¥ œµàLÈSH•<É—:µéí%þ~.¯ºa‚½±‚8%¹'ï€;‰¢Ð€H¦•$¡º£UÓ8-À Q[°Ф…OÏÎow؀ѮËhöõ¹²‹WAâx}èæoÃzòƒ‘7ñŽO]S0 š Óᇠcz~9wÆx ¯}/”|ZVÛ4ï uðì‹ I"6Au"t×7ü©xY‚´ƒ¤3r`¾ÃFq_ˆáõzkùã°…»i¶ÅÍRª:íCòz|4;Îë} åë'æêuäiJ³mßTÔòOh¼=|@‡"á;Ù\ÃÖ"þtàÉ¡|l ýˆÏW\¢êoMSHÎFæÉ B}~)†e™›òóã='1LÄ…µ $—LÅ;iBëƒC| ‰šž%’|s›ÐšT»ç1M7?1£N\áTáo¦ž†fÉ#_ÍÊCŽUQΖÒRxXy@°ÙÇ .F¥IªÞ˜Óe†ÿ»ìšm·‘µßÇqˆUº™D¨,2ò÷厗0Yðx§ûgaõÈô]•!#n´Ä6h¸mùòA/·\29šeÎb‰7}Ä.[y=9 í’2Õ^m\[Ò€†X†Ò¡},ÙÎyr¬ûi´ÖvLfk&ü‰±³?¥¬/#5ÑG ,àžK6ä`>ÁŒ9»Å÷<ŠèÈ(õݯQÿH>Ò pd™æÆ €äW7ƒGŒi¿$ÑSó·ôY޽P‡Á²Ì'ò“žån§]ÁÂÐ:ÙXˆÒØáé“X?å–‰™š­’ÜJ-+LƒtVÿ¥w‚ËPßh—¦ÒêéÆ(°µ±'Ób¬u²¦“%hï©r¨ŽgÅ#hßü†ÏL›=þû=&('/û m-`åÛ1òeÄͮڧgR½*ÔH@Ffغ‡»EÙµ wé°/ê/R˃ –ԥ؇¸¼¬‹€õ”S…ú_uù1ØEïþP±k?É»ƒý„ŽvÃÒö1Zí¦}n[QÑÓ6Öƒ½ãCë§édf5ürQU³ý«Å/JUKiJJzɨuºÏ,Û3½áí!>½Îˆ%Ÿ˜?R²‰9ZdÙ-}ŠôÌiPW}†O äÅàÔ:¯Õ8pjµœñ(‹›ÂLh8«\æf . wv¦åÆj5ŽT 1+Þtsßö9beÊ€çµâ w¾jlüÜ‹§w[—Ò*Ziõá18 ÷@®ÃgTJwËE/•ÿõU–‹pëa5œ‹¯.É/öÒ-ˆ7¦æ—Ëv@ï¾êò•FÚ§½F/á¬G˜ÖKØFKÖ ö{Üî3M‡bRòÿÎjBÏPÆ«<4ãfÏTŒè8@mkYòF¤Ð᳈Oƒ&S5Êó|– û“hú ÑÒ0=•Â~ª"9\Ôtº:ý$œ=õ¹­ÿ¶3“³¡C¡‘0ËE0atûBˆ³œ>(&H¦M 7-Üj×IÝ­4 ˆ$i㸪B#iæBéÄbÇöŽ×#(ìR5—áÓ‡ú©â%½M€S Tôí¾ˆŒÜÇ÷ô¼qš>~XèÄhBÓÁ®]=ˆj]¬ÎÍ‚(Üéƒ ÄM¡ˆ¸ ÁaîbV«sù.óØg:´gž·×ÌÆs3í2a²tgh¢„ /öП=Áö*ùFÿ4»Ã7EÛ*‹)%Ò-â3† ùèí1Šï¤oÒÛ™-å<Ø- éuÚ§ëz=t ¶}ª¼úJêàøÞ-橉¶×J¥ä°ìVÆBIó :‘«4¿¾ýÖØ>÷ïÁÊÞPÏ´ãl`ô§™”ôP73¡æÓô qb` Z·mg(ê|‡“˜Ì/P>RÞ:pñ>TˆžŒ<^q”Sй¼¶5±SW!d}û\AÚ\T !¨È1}ÏúÃèKœ5«õMÍ€e•ëIçæ ó¬û«EXÉâ¯Ç¦7œÆ÷™ü§'}Z'†)(dEÅmÂ7îó¸ÄÞŸ˜nI†a³ ÅêŠgK2[/Š=ø†-°Ø9”é„2QEkýèâøOû^¼a—ô&H‘r‹–xO<)$&þ ï?*¤$Ï-²¦ÉÁ˜‰ÅÀ†›’Q þ¤4¢} ‰Ð84Éð•lµMë‹Xðˆx¼ÚYoóÑF›ê!«ÁÒ‚ùz ç´çÊ)÷˜‘+Âð¾´Eüéái‰OT£‰nh5Òy!‘P»üÿMú î6[³(ñ—à]íÀæ¬÷‡æ…DƈÑ*~™WMpÞS$UI+g rÆÇfïc0òÒÛ)0¦àF!4ð§$>RZª’9?€óËâÚnKLœÓž#ƒÀ½Žýl‚âÙc² Œ×áËÅ êæ·1k­Q¢_ÛÂhî8Ì øG¼92´åÉp±èð`â}:³ ª™ Ö>Ö쪻j€y+gÅ‘tÓà”ªÆŒ§º&~×Ð0ͻѨ]Œ‹qä G±Aˆ<¾°•†¶2‰¸º(“:œó üîиMÜdM‡@Œ×ÆÀwü¹,ùbaDÊOïÜK^úp³9ûóGÃ'Ö½ïÄ[¼ øH D8àf@§í¡˜(LÚmëÿøŠé?å^=Õ‚«›ûÆ%çzÇp6×î|Ç}™%…º\(T1 Îÿ€’£†›¾a©fÂÄše±¦IzŽÙAu›¯R+Ô×ç4Òµ\X[Jæf©£Æqˆç;o]׬^ ¡7n²›?¶bŠ ß/ !ç~ hѰ;ˆhrn¡Áˆù¡3Z?m:Zò~6Å=îitÙ„XCÄÆIô€sGWƒQ8³^¸^y)‡Ç3-e½YeSÇoeõ™¬œnª£ªÁ$pŠí‹DÅ€?P¿”ÖÏïy+WÚiÆ…wÞž†:ØÅMÈຠ¢ã7®¶MSMg#³~3ˆ©Î àñ˜%©6#Â'DÙH3ŽÚÞ@‘l‹ä¯ÏbxÿRñd7xÚÅÎÈYØr¡üSÚîÒ/biW³n¶|Rv+K_ #y©»Ãg°›eüaÈ…à5‹ Èi}ûÃt}rGToùÒ=™É\Óöl}N:ì °›©]Smç”õImá‘ÑÚ#ÊÃAÜ“~ˆõÑR·jHÇeã¹zHœÜBÑöèa›á/Iê×>Ú—á+¤å“4&Ø%am† ­å‰OnPðQúŽm-DZº?ŸzEÀ¾žÝ­‡Vü(KD޵†î>SùožÁ  5ëx3ux¾Ø…@†æýñùa­Wzç[ÁC;)“&ÊLöÎs!ÇÙÃìGZÆoÑw8Âðd>€¾Ø9ê³=nu½Gd’Aœr~ì±oŽ5Ýgœ7Žjx³Dl(%Âj½ëoFÔ{ôßOPlæ( «Tlyï^Óqi’FæÜâ÷J•«JH-Ö7s=LÄ"Á7mUü#´+çÏÁNYîOÁ›oÑ—¯Ì‘g -rÉ‹ïrº¤F:§ø´TJ!÷•a t"B`Žn•™%°Y®"+"Æe>tìH.lHÌÎeÛ&£—&¾§“×B4 HãhMÏ(ÔŒžL]L°U/© • ÕÑJ Z‰m_ò’le¹â`rw‘¢nå&´áN>$3>ꎰŽIŸ×Ôt¢§Ÿd°DéШe |Ö|„ÆBšÄÚCÛý”¥ <@xVv+ Q &êšvNþRdµ¯º¸`1_k^ÿè^ÍD^`¼¸¢È5ØÊèŒõT]çl/5¾5 ±% HõÞ—`Ê"ÌPqæmL£]ª^¥xíñÆÄ¬PF:Ò³kº;,­”:ÊfµÓ(ƒ#Ã&žæfÝa$uOã Ô*9+¿¼KÝé'å.‘e ÿÕü‰ppÂX¡)?ü˜Uˆ‡q ©A™i³¢BÞñt¢ù–á¤KMöÕ\ƒ/ÈÇätÙ¸ä ý‹( BâsÖÎýÌë¥Mñx©-r½Ä‘U-½`»ÉH˜.ÝåFÉ;gÕSÙdU6j܈Ë?‹=*7ã9Sð¹•E<™72K›2MT‰Ôr¦v>×ù‰ˆÍ38ÏëÛ"¹=ŒaÁ0¨’ž È'ò€QO~jÔeÓ¤(Þ¼,a½:ÛÒž¦µ (…9¨ç¥ØÕ“gÚ—!o´PFᦠ?¾âߥ&BÈ%]Ü>dãcÉʧè,ýÀjë–DêI2Éà‚Aý¿î¥ÝÕï‹[ÊDjŽd ÿT˜ßäÛBhmoz‡ %Fv’9>ôc…x{Y г•K0°ð‘Ã<²a/OKíð~"6JÿÛ¶)\³^o'¤6¤p’Ì¿C§n°O¯ó,¿në L󂽃 ÚÚ*•ÂQöwoIßÃpÓØ“­¬ògeŽ@Çy—šDª ÍRP˜9¾›Íjßcó6)ðDqnÅ=Œƒãº•D¨8~DÚ€–8ºùY€&Ÿaômù@½ 6›ª“9j8L@§B´n™‹r{ùþØÁ¡‘Œ "qB,ÑpG™nï¨mN~)rÅ I—ÓÁlê6Iç…³cäb½zu{7r õ·vLSó›Ôo°Qã${¤À<™»–rŽ6p”º2H™6ԉߔ’{UƒÆ™£ØeÌÎÝ»Iƒ”7ÀŠA±ú¹"iïØ,hHV:¿W ñIÖc¡ÂN(«r?Måz÷ ‹íº!P†^‡Ç7*Ê@À)ãs´ÆJ"¥àgñ¿Õ³»xL¾—ÅÓ†O›ña"A‘¾Ê3&’®yŒXROð^ÈŒçýhgc*Ä7ízëüWˆî–ÈówÄ™Õt¼ñ ñx ¯Et]ÏÀÃ)1{EbùÔî§ŸÊìñhÞSx!·O¾œOð6| 鎰“Y”õ-ô¸¸ gÐ#)k9ŠNûV³U M®FIC`d«Ø‡]Šƒ3´\¥¯"?¨“´Jk‘ÑXÖ[âhØ3•þ&.·Ê¬d΋‰ýåi%Á ÆtTŽÄäw' „øg»³ö-^Ä3è“`°PlàkÌNEÛïÿ™ÝÓ£Q;I/ÝŸ‘W _À)Åô~òVáè¡ïˆ ” íûÖBé€Ðebg™õހʕî~ëS8>eÖÎÈ>8 _²öUØâ±ðñsÝÚå§Êp÷n'ô/o¬|:9vÿ‹'2ÀMÙ\kRÛº¼æj,á³ô=ýÄ‚xOöµØf%IR޵èö)™Îhõˆ§pNU,D¸÷@mxcªøÓ0êÁ6R œå£n|­¦ìÓì{$ªQœ{©¿Ô4H7u6¦¬ëÊ ­ë†Þ‡ÑBH@d¿;PÆÒI”´ƒµgÄÈ&L ^É(‡Öpµõ»2Ú±çƒÙßtÍ‹ª+ð)‘Ǧ(xãð–«dre’Óã“–¼ô¨m#us”YlKAíΣqôígæWIŠšöÎŒBÑ´ð[Çöì ¤·ºôëT¡ w^ØÆqƒXj"ÑGLb´ÕÐt ÎÓ8¸!ÿ.hY 9ü2¯ÉY Åþb^ð)à{n³gºÍ5°J!Ã'w“ô ¡¦cÌ,J¶q+y1ãbÒŠh3DMÎç5v€Í¨î¶½ªÏ‘0ìöæ‡;mØ:ž‡Ù°féWìµ'šÃ`ºØ7^º'$BâÄUÁº©‚¦£¨÷l=C©øš{FyÌ âÀwMùÀoÇ1LSüýÑ[ú«óUè2]Ȭ$*GLoáÙÓ·—2CPøœ˜å ™”N³Ù: ß®[Jöx(L9Y¾Ó1 Ùîã4?t](XÛ™ŒâÑMeš%5jËŽƒýò8Ÿ! Fó?ä7Teà²BYÛñ™/UthBì°R/ɶ h(7A«³‹Pn:¶çÔ^¿Qò»;+°Î«d›SLPÆ.×Ì‹[ÏÄËÓÓž5ðH\t‹5¿Ø)h{„ø3Ý»³Qß–a(’ˆq–pi$~úÝŽÐ6†ßTðk‡7а_§cQ9côWv65ö ÛeËüþp+Ô̦ÿSwôˆt!°,‹Ìi§d¹õÕ¹~³ƒy)Ô®N ÿ˫Ю€FU»üHàÏA™Ø“ƒî—œ£I.Æì©Qi"hpýë JG6:óÐ*X#ìÕ›ƒ¯.p×¼£ “èygÓ°T¥†´œ(³ñ‚ÿ“< €ZÕ$#‰ð÷š»e¡²:y…wÁŒ0PíÆÐ¨ÊXyÑ'Ä1óí^éáõOý…@ºQ"XV#¬§*+(‚Ð/n¬Hn/Å׫Êk繃¯Óô?DX®›ì(øËhÞ áIµV pѼ”‡³ ØSIÌGhÈhŒ¹¢7|dö¿“/°/l;¿î_.C'å½iµ­˜ ud’T@Y䌅â›Ë$ÇŒÕdp¼ï qùI&ÎPþ…³„öÚz#A+4Øê;.:ô¡I-ú3«JrÖž³ÇS­2Ü}´’,ÉX«XFkôƒÏ¦s„˜òìlSN{@&òíÈ3Ü:íUúg£¹'íùŠÊ·6"Rº‘bâš3¯Mi¬‰‰£ñ1ß»—ÌÒ6-X%¿'©,Á< é-™þ¦*«£NS%³‹.Öƒï-cå%èúž¶ £ò<,ív– ¾ß§^+s³j]ÃbîÒ Œèª”‘ Òñ ö§#ᬒŸ«H ¤aöˆ¬5С5‚}äöÐ\¤ÜÌßfÁ¯‹ykÎ$ö¦¯ ²þ;âmÕŠ°ÙyX$À/VÌœÕqÑÆ*5°¹MÝžnHšÜn"¹ÇºKSBI X•X/ó-MFª¤nÑwõ°ávyÍA´Â  øáÊN¢dKI q„íϯ©,¹~•rëF…8¯Çá²¼;e Ý%y³ò%L§¬²(c™Gdñs¢ØG ý&ù›g\w.2Clk}O¤ ÕGÄgdÙr–È¢Ù«©gD‘âýêòáµÏ@·`VPzVéŽ5 µ5.§•+‹iÙ;¼ç¹êའ"gÿ̃"g¤ä™MˆÄÖO|UMÍZy´*3=¾ÌŸÓÏD<‡fbÞ²+.ïë¿9…V“ßÝ€3逃M–ÑóÑãˆ6Nø}$6¼ŽËbä›VF—ÀùùÙHÛµ¤E]ß|\ÈC<«d&~eõa{Øì«N»š Ü KÁŸ‘ˆÞPW\¶‚ì“úÊðf)Ñ%@;Î!{ø?€­ª Nû)²/°Ä©ì*’§‹cðÙ߸èA“BOšHû`k¦öPÕi$¥À¬z’Oõ'"ßfÀðOë†2è [¿hÎÿPnæ\¹÷h*×ßiÒ”á[Õ&eÓÅÉYoŠDpƒë¦™Ó©]>¡4l3“n¢¯©Ä÷̪ΩºV›…€³ÞÅz§}RUæúT®¥®€ LBÃĉhÑI¦/Ñ ñaÀ_FÄÿ#»\b§IšÏ™Ò7ûàŸó©/«Robɘޙ´Xß’U‡‘ÝA”=†o_šˆ(º‘ÌÓ¢MR4c©ÑŠkf‡»F° N:/‹˜µ‰!Qp¼òÐ2°g{zaYÅÑ0« 0œwœâ OÚ*+Cæ¯Â|\qµà{hAR¹/RXK"d­’¬‡[¡¦VO¯J*­ƒ»nÈ•ÝQší®‚l¢ì³AÝòø¬‘qÆmð•5ŽPÂÝ»h©å1u—^T¿Œ«ð@;cÄ ººþ€FIœÀ ÝILadð +±y6|Ú&¼¼˜7íbÎkÀ]÷n5D„[5‰ c(`9Ð-3BžImnœCª8›V§¼‘Ï×Ez¯f¢«¢ŠJj^MÓ¶ßÌÕL.Ñä6è—šh¡h†ëDÒ~‰¤·ìbØW#Ûuô/QSá–Á!°ù¤àlð¢)§ažá\ØÙéž—$v§â¥ƒ I[ufS/ÛRI;=ŒØâPZ ®_°nÐB7ÊM˜B¼—•ó)Ù6Úµ^ znåüáŸ_qíü¥ßúP»Þ>à«ÊVÔ¿Ýg—Ä£0»JBËù¡-uŸ'\ZÂ÷èUodg‰Xƒ¯áêáé“ÉÒZ†ã}Z¡Ó “§tvÐëÚ…Ä~dË%ï?ð ½N¥ŸÈxAÂŒëÊÔ’x¨Jš$•° Y§÷Vzhi±÷ߘW$óÖx$¹Žê´›÷69è^ üö­ìÁÉ/J¢Ú¼„ËöpýÔ9>,æj-æèô mñæûDiî+/Öá š–uªP¦™%ªYÍR/NÀ¾çxŠ|•2"²ßK§3XdrM=àûàË)ZÔùQ%â òº"ØN„[½‡K ú™r›ƒP•ø<)¦3n‹=:eS¹†™£q0"X ÜsTÀãÒê³í&&¬-r:Ú®HK$ŠW{A/6£)¾ ¤€Ž¢?ê»õÄцèÁê?¦ç™ øê§ø«©ø l«[Câ<œ¾­ãUØ£…ÂÔ“mo<×|;dYtšó îÈ\å¿èAIt¬Á!ìœÆ]Öe‰¥»(ˆ€QŒÌûÛô  9KùÓú;ˆ%2á肆éNxTJx½ yöÚ qñ'…4§ì›Sø­U€%¸¼ö5¦"gž€8sl÷îç_ 6Õ²¡í¼Gî¬ÎǧJÛaAÝÖ ".y¢ú0b7M{ÔaP¢ã<$òð•@Kƒ«dÏâ긨uzYüŽöbŸa ¨µwÞ5¿råp¢IÒÕT†o†VÚŒ¸„EW3©g¸aÓw5R°è¦vŽEa³r˜:ï¿ .Œ7õöá>¶ž*l¬$RD’¨é„>g¢½5Éë$õÖˆ‹v.èì*EtÌ̲ À)Ÿ5l–ówÛ*Ð˽±^è*ŽÐìN¼*åb¼v±£ðQûߥ÷°‚^vÉCyÿNþàöùpœN¯¦yDÈWþнêmm‡8ðÞ¥öP¤X¡¨ó][]:ÍwÌASÍiP-ÿÿ¼A·æW™Dm¬¯M8:MA©qWIwÁØ9¯ÆçY1—v'éáüÀ-^m¼Ün¨%"Ã6Ç2ÿ}U¯Â¶›œñHªõK4-b\£ájè:Tt1j “לq]žù ©FÒã.6÷_(ófö©Û$=ü"…·¢¦œö°|’mg¬÷•&»+/ò‘ÓVel™ ˆ”êžÂ4[¯ÞÙ<Š'»ÒivŠhzt›Búb9.¯PW™bzŠ]VÔ1<ƒƒ5Ÿ» ?ÁUÎñ¸ ©¤÷ŽÃ3¯_©†å>#3° Ç&;/8žŒÔ7ÈÆØšäu‘uÀR¦9þœ» ~X$㯣Gæ'ø¡„^~D,o<lúàCcŒŸßbÚ-Ô¯rg­£|6Ñ[7!T îˆ`ÚGýË‹j[Úx Œ@î²æ-éŒÙ¨TSŽ©y´ç|¡€*va":5Š!ÆZ'Ú´ôÁ6I¯äÓ ˜XëáR¡‡úùƒWtNVâ뉮cÆ){;–‘’˜Wë¶Çs H6®SŒ„ÇoI·Ù“é ‹U¡Ô«¼KîÍÚÀ Q­Û®æm«qàZÖR ?$FÂ]Ã(áòÚ¬ÑÞµ0VšÜ‡xÕ”˜ˆ$†n»GLG³ºÚÚ,ÿ¦ý«’O(ÈÍõhelBˆÅ¶>ûêz¼0QÏô¤N%m¾@c«°â`O²5,ìYW‚ôŒº°§„P16ÖJ¿O{„”Inc)¬W5æ´Ë!Óà†ÇÑZQÕÆÔWw­FÂÒÅžæ¹p¬F««í Æ Øß|ºÚºg¥V¸nÕ°ý &_ÿ6©±Ç,( *âNÈÈôÞ< 9añëæž­Ð½á$UI$D«ˆEøñìWÜ-7ôpͺ]¶évÏ)ãöW ‚:„,{Ô;U¶)K!ÌK­s¥ªË=)´BÒ08®MdŸ¥W“äÒ\qÝê’ÛÇ}ÎÔâ_ÌÙô¨&»³Bª¿åtœ_~P·[oÑÜɹxì{½¡„.Ÿ§;¥¬ÎHTΧ÷õHýóºÓ"‡ÙnR'€]–y|d6ÿö^í7,Õ\õeR)¡J@ùeæI9…—E·IÌÕŽèÚ¾,6¶†ÔS¦l¯.;þ¡„¨h?ãFõ·ÈÁh™Eodr÷B¢ÿn›¬N°@PöÆÐ]ðJcÍÛt…B+iêo3§Iº½™d”ÉF³xä5R€–4˜íÓsùg;“¾kªÀWXòLÕõáÀ€´¶Þ¤ˆÔÄ/æHC¾Q4ÊQ>I‰ã"vÁí[Ù(^ßÍÊœ?/¡_±qÍ(šI–1·:’96ª8Æ©uŠRr5 Äùp®÷Õ“MnPÖ LŒ~™=?ºZà ä\‡°Ù]!úŒê:t¯s^Z ËÓ½©2rMÑ»/ÙoáÈ PMÌ£—´7a¸IªŽÁ†yÐ xÛ Z§GÒUi¯M°„FKEŠ‹‡þ/¶Œá¿HR$¦MMà<³õ.¸ðרŠÎî|æ-S‘ q"@‘?•„–ö´u[S†*{ÄñV@ê ÅÓÈßÝ…ð7—u˜†'~Öý?R9é@+&ËU'E2"òWëKâp Pw%êÂÂãÇ2w83w©MÙ.¬´j$Ž,-ºìrïxdÆ´wsmàõ¼Å 6PÕ d œ(‘xT‘H¥Äö°(+þºhÜ´–} ¬©5—‡+sb\'DDÿ¿³€ú¿û‡üæ°Z&†Ã>Ã5ÀÁx·H;\3oº¯–t-ê:}ZppמÙdˆéšHùüÖXyqÞªýÖýUŸÉmá˜=h [¹ îqáœ8»aϒļïþö-âcS ‚®+®òNÊsJz²yG·ŸØ+ö97âéE! XšôsÕü¿Ùk•ÚdŒ=órLà–4nÓµîUŠvMWÑ1R?t™Î㳬 ¥§«SµYµFHi&¦8ü“Þ»âò{NlÄÛ¶›Ó;,xG=E5Ú PÇ`OSq!ÙPí àtɳI5fR;ÜiÃÎôÄ.ù³ÎÇô“ÿ•˜¿]³Ê2òš¨ÍšÂ=Ø…5 Ÿ)EÊL… ©º ¾Ûš‹ÄëD”lÊ ×°ÿ®"³¨nç!´¥˜ ê+~wÍÆ£gÌéMø„Òæ{ÚZ×o )²’Ó è§Vq–£GMpt¦¶Âps¿³ù["Óf]ýîÍFYÑ×°ÂZÿXS¦îU^¯+žs» Zxy[5årïÂÜlŠPÅö/C0>ʲ4î߀HYýƒßᬕi%Оq¥–ìlg›{ޘ»|$B*›Þiêø© µëYÅ‹ÃRœ§,çqÓá“Ff“r¤ð}Çyc•5v…M‹#ýtÔÃÓ êK99ð3®8÷јp›qdW–¼HH?%χݦ.Ž6'‹ÐìM›W“ü=p2‘ú;šó‚wÍLú68ª¢›oU"–Ë"éA@+§²^¿\Õ(§O¨ˆ$æ•Äzä.Í]ò“áãèµî ¶õÞã/@ơַ RN’/J ”æPö¥: üŸ‹BÇï¦$À|ïcAmÁ{¡BiAÄlf-L¢?=L¤Ð‰¦ß¯1Ðp›%ÿå¼ÌÚ1Ób!Ä5±ÚÌéMCX`¿E’åÒDvgzs~sœ‘Ùž³+iCíÒã)OkÄ®—ÛA’ŽêO3"8—ð*5?ŽZçP6r«#XÉøf`\ZÁïö«×ÙöóC.yq.Ûš[÷䃫rîʢÿÐjr6ÏžBÀ„EçÄ /”Êò¬ï»8äÛ†ÍdGI¦:©fŽkcê‚sBÄÆ<´¤OC‹i1,ý(;B6pïïO„É\/<˜+Ùé·UpB×̱îõ/ Ö03Ë+¿:~ŒSŽ‹:\`rd°‰qÎ{»z1CSîfE—M]95ïOÊm<Ýg ì‹vS€R4ôÑL¼…íÎåžIó[D|Ž|¨âÈñÝ!$s ëü²õ}¤Ê&»V›NUïP ˜]1ÉKRì^îð`i²Dµ¾ Sªì ” NÕ_¯¼àöy®ý€Ž]ZšLö4é4±M!kª=²;=%·…*6Xü€a¾Nä„yòK¦Ó¤XÐD«+’ô˜¯ª™9î…)Ë.îEËÇØ¿[ÏÀQpÂr"OlCVE!N¬.¶Üòÿ§ú×ç:+Yr:£ß! õžáyÃç*´0hÖÍ ê±ëØ„¾Am·â¢PUdãC|Qîá:Ͻðú6CL%eɯçR`ˆ„¡o®uÆ' ö¼ì ô:Rqè%‰Êö1 HŠÜÀøÝ¸ŽÅ#NèbŠ4)ª×ÁVIU!úsaÅuD§¾¦€Oiiì0ÿíþ!ÐÜìH’ŽÎu]“Z53 !³o¶÷{ÿÒò¬(JÔ÷"Á²gs±OBxu¤œš²=Gó±jÝ áüˆN/žˆ™ÀʵŸÆÃY’>D<Í`XŒs—ÃU9mU6…B¯ÇŸè¢dç¸úcÓ0AþìÑt¿ÔlY”÷¥*ê¼^ÈVÏÔ%Ã8%-­vS‘$w˜+}½Ø/ã—GʵÍÔYžOˆ§¥7àúgÞ|·1çxî’mM%”õfî H£ˆ Uн ò,:'¢4û‘‰àë.¹VÄj†X<ÃYLà-ÎF­s­`!E͆6x»: ¯eó…­þ KàuVLÇÉ„tû—âk7ãÞy îÀ«Áñà37{4¥òØÙß )Ú#¾Œ‰»‹î…çø©´¹Hø;es_nó®ýÍibŽ+þ/c‹e«Ý€dÚùYÁ¸œ­[U‹v&‰$_þ®½mLj˜‰ÓÙ°ž]’ó}1¨Ù0ÍrI«Cø°¢y»ÂÌhžÄ;Õ"Êt"–ó«,‡m²ãá-±˜»èï9¦Š0õØÝ —ÏôÉl-;ß’V€úĦ‰óLMúTt¿rÿ׎–¶s¡9³IÅ0vcŒNrQðlHh©SÞ™×ÌÒÄŸ¨Ã“üp÷]WàØÇTåñµ à ÈWUä?ÅÅòÿN%7Ç‹4­Ê0²Ë‚0a („!V£ò󯬰zhäD‡¸È š[Ô% ¤Ô¾·üʨ½dëúpLmIŒÔj±Ÿí„ec&†¸•ÿË©dÖÝÚÀ[m¸ÍG'Ø—,‡Yà,l „ÔF„w%)}‡ƒ”+v¸›GU$€UÜf ÖÓê8ÛËZ蕱Ôqk—œù@»‚½,œnϨ¾#=ããîòÃRò‰® »Q¥öÚ³õ†žŽZƒAvwºÅ drZǾ2 €^OviÃL:R¾ÔS˜ÊnbÏò•Trs:K©*=EøÞKªöf‡^è‰>Ø?Ÿ¬g+Aø¢ˆ—R}~£)j5MU$"‹æ]PÂ<,䳫§õ€`ú#9µ[:eÊ„†×Yþ$^ ž¦÷°w=&*fOV°žu1 Ç¿ýH'Ö•4ô9K–zõ”WÝY~2о“)¿v¯^)âW.®`ã2bZ¦É õFSçˆ`P”‘üÖ+®Iº}a/’—uôvÀç®ÉãJÿvð‚2î4"“X¨çB µ"çá¦XKbÒÔÊn£®ïÔO¨­8âõnB˜Á CoØÁSÆÎé òo`ãzÝÇd¶ ¥Ò-Z(¨ÿùŽ GàAøp.9ù&º“í<Æõ•°-q(öZ"x§í°v‰·æ5ÝѵøûsßÇÌÅ’™CŦõ PÈ¡4¸ƒàC´Ÿ O¦AÌ×êB˜=þÐÒ¹] ¼‰é·éÇ<Âæwz.j<†º·CݱnzªcðfCujˆ?/n`/¾1Ê}aD9× ŒõTI1ߤ‹Pb¬’PÒãx¦F5ùò„_eL^/À–½ÔårA tÂ}Ú@X”RŸ´lX ?Mÿ½íOã#;bG]ÌcË…Dë”!sA“i¦Jzc(ÀáºÉ9¡Žé˜þöwaÿQ ŒY]Ä®w¾×4І·¯Þ0U ø‚.†Î½dz•ÃyVX3·B¦]0Õ¶F ]î!'!rÕˆ˜âháÞc5ª²mP}ôPøìDtaJÉ%!,IøäXÍñ÷õm#ën××è“È@+æsÜÎ7w üS1köåq7h-~QÛñ4Ÿ}8(^çü`GÅ1?ÂÖüÃzU|˜[9¸Ï`¾F3¬›Š#ß®ä›Wܽ;ÌÑ ÆšƒQ¨(n³ƒ˜iu~Uý{ß-Ì~RPœ IÃèô;Ÿ*]ü-‰Žo&[N¥nY^.bæÚ‚´l”k”;ƪxŸÓ'Hÿ²™ŽçÉ#íAÛ’¼{LŸS(¶¼¬%{éGbkjß»ßÙ'á»­¢!‚Hîÿ=ÿ›žNÐn¤½¥ˆ«1ÈE«ø³tÆ8ǤÂ!¼˜Où Z <5¿›IÛ@ «ÑÍVëSdÌ=Ä[ã¸{d£,™îTîË/ë%Æ£9g,îã“ÖHbîw‡QB¶!(ųÐTâÕþ‰Ô^/N«à ™Ì¡˜ À_Š‹2¿³³ôzˆ±Æü˜BÁÓêf‡‘¯-­v2þ !¯ædH7ÿÙ½j˜Oa( î¦ùh·Ù¨n:K=hkÚ:ùÀ¦÷ÝiLËü$Œ ß§Ï5r~;ÃànâQÂRÜŽª#[..÷ºóôäþÉV¢>÷ŒéFÿº½B'vMLq‘ÐéÖ+ ÇúµÍJáåàêˆVˆO!Ôm·kTÙEQOÅ´B´âyÀ$xÄQÂ0õ‡‡f·&sWŠ0gÖG„sq¡±ãø ±s]'—[ÃÄÑnÖyB«­½Äú9U½Áe þÑ»'ÝP·i4²JgÉŽ 0{>\1Âêëj¦:ÑH²‡R¿§€„V9ópô–¥ ‚à@9“!ô´òzƒ«¿eɰƒâSP²È¨SÂ,¢'ÑÞšv¸Jž©’E >i)2ÒÇ#hÛhfBñÛ $Óô²ŽL=zݾL¢ëˆ%,]i‘í‰PЗ `L޲ªÞ”BXPÅ7rFR?Zí™7÷IÇ]±â‡½ÚŠÙ7JÌ1*6ŽD®¦Nçœ-=Ù:ˆÈ‡æÁój·âÛ9â‘Ãì'ÏšÐO«ÜÅî˵¦»óàëyÝé£ûçÍ¢H5èÒY®’‹r¬C~&< ½KÝ…®®<å7²Ö'²`;23{çâq¾¶EÜöˆI6!¬k̶Ez|Ss7Šë¯öŠO[®FÏltöK^ƒÌz³„ör,Á¨MBl«P±"&L€­’Ÿ8Ö¶E°–¹ËçS¶Ãrè[x$f„¶ ¸:3ØšÉ7çÜ-Tÿ#ñšä]é1Ô,ý¦ÈÈ鏸lf3¼¾¯²´?¤ç`³¾ýQ*ê™à¾ìMÃ0•¥£_H †ŽÓ‡YìØÕ¹–„ÊÞ›9 Ý …žîl¾š¹fœj|§£Ð™\¡xà°šœKÆÉ Öõc°§ê“Œ²ZŠ%­_‡ÛJDïèªR€º«ÁJÉd¸G19€*zÍ!­/‰9²X‡¨Õ±æ¦æbãð˜®Gç2~8Kô÷¢Á@Ð0!V×zŽ»¿ÜdIôfí×äÑÕ8×Ã?Ê2q×ÖqÓQIõåá$\9øÀ ŒˆÐHFRPo²:JuikííÙ¹ *Ç”Ê.µ*¹VbyXW¤Å°)™‰WøÊ4…™&Â…Âÿ?Lrže §.ªA*›é…à'[L¹ˆBN?Õ}+§Ô¡>†ÄЇu/7DTŠTo)jü 2y.ážÿ\÷!˪fºãÓ‰è×ôÎÜ–ÿ0,ûĸà(ñsŠ«Ã­sÏöŸ¸®­tzšÂbt œøß˘e,³ðó{Tj¥æLÒô†¬÷ ÙÔ×Yˆšuðtˆ‡h™øÇ%‹CUå- G”Û¼ ´o¾RN„—ù«÷²%Ðÿ7 “/ãm¢(¾œg.̰>ÄG{ôç…®©N^-¸¸Ýf^ „a·v7\¡šíÖ­Ÿ±ùeòvŒ#€ÕÔ”i,›ÆX @Ã,Åâ*dÎY”ÿ{ “um”ŸJ'Ÿ3J\wC:ÚKpß8î—y% ã¹¢ÀæíRw9VÀ˜ákgqú´'?ŠÐUìÎiº4š„…«FYƱ)[ߺâO4O©)xê8Ñ%~”û 0¶r³vïsÿ¼ÌÖeë€Æ/oÆ/¦Ûâ—É)F¢@HÛ¨œ½™L”–æ¿€h•eÚísûY”3°Ì}J×Û{ÆÃÏW¬PeÑv§só#Æ(€úŸmÆwMxI#É‚;Pc=Éã$óÁ‘]e5♪ÝG…úf%\;Æò?A9†vo=Ÿ£RÿxÍ´ãØ&™˜/ÆÃT€dÖ†1R˜¨”Hà’H‰žäÏÖíÕÜBM}ÝIf¸ ~uHrGCB9É&µ‚•ÏõI%’Û——}{O2cl à e#œËEéÍGÑzÀ[Ø1\ïà°fpøŒÞ!´²·ù’. ìQ¿ ×ßò°¤Õ@sY‹`~?å“8Å—>nßr઒·æ2_û–-áKÓÍ^‰Ð†ý†ÕÕ¬„}4{–h´9J^LàíŸ0䛑+Ê™¤¿ ¿NY·»˜Ï"ÿfcäÛxþ@ ™–õÝtP[v*‹µê]U\Πô{×Ê "Ý2>L ¦qÒ"LìaO{à ÒMé¦bR×âè½í)ÀR'm÷Õš&(÷V6 WÎÅÚéϰMaö[^ÁÖ9zÌW<11ïhÅv}æ9ú¸;Ÿ»Ð_“ÐWfaÑvßmÚ… iˆ|À°>"ï;NÅw ô×n:ðê¢c¦Âmèèr êÖ>×ЕŸ©n®3¼Ìñ\ÆüÓçK.Ó΢$wžÚÁ:¬íÑD,”ÑJ¯{e Ü«Û-‡p@4K5‹!‘©³x¤;$§7°º½ã¶²µ«ð•®KŦò¹9Æx_ÂŒ8eÏsÚ1LÿéÎËwñ#šž`PC –cADŸGEÚAIp,S|&ì% CýlÑýñù8Mu еċŽw¹e÷&PkWúoVÓUÜÞøš³Û礤Äê;mÏ¥»Ž©…É» ÜvBÁßl1+‘¤»9°p|mü?xd»NwëÉ©HBTzÚ'¥‡ è%“ ~VÔ]–P¸œ‡ÞUG)Ñl“á®_è«×g»\\Lð×Vç& ROÿ¡DA0ß%c¯:¤ò{é¶CÕKÂYæ|m OJ=ƒÂ˜8ì©-lÛ'à5)2ÉàpqLàb™[‚¯x–ÞVõÁ¤äÊË%Îù]]´½ru ó/n ‡ î7T$O]ˆmíæœõÅÉ(õóôý¸g»oÍ÷’+lŒ®ÁN Õýá*{S^áÑÔ3Kýó­Ä“þ[pXstËÖàžrw®I3´¯ï_˜É#l£7ËÀ¶QÙ´o_\·BÏHB8¢’pZZ’#ƒzÛ5°wVSQábW¶=F ¥‹0jüÒ{ÝÂt5“/ìCg‡¯°qÀ£6N_¶UÿáÒõ#ÐJ9Ñó/TÕÖ™&»y=Ú€§´¾Þ‡Zó²çb¬ýÓýx(l^R¸`•înloÉ8ñ—å‡ÑgÆÛ% 4çjõ¥TjH ѱ¡ðð£ÒÃÜj¸OáÜIõEK@&ÍR9Š2—&†ù¦í“PŽÒþÓbÌ»• 4¿˜ùR^Kéäž{¼ì¾ï£€™Ð)Xøqö¢Ša?ÅÀ;Jæ×%¾¢˜´ï·n8¥yìò»L’š€Óå›w%™³e^Q«ë&7À\øåœì8@‹³gD‚òž|EÈï×â׊Z©éÊÎþ P÷9íÞÍ =&\}êg6Û‘ÞIw² *‚C®[­¢“{.n¯§r„Eâ~ƒtÛuþ$ˆ ’ ‹Dh1¾Œ*ÂPfùZ]pØ“[÷`‡/ºŠYå1ð÷‡*38ID#ò”ðñ¤ŒY=ÂuCPPú&#Чr¢•´Xm¿_gn‰mùR'[5-'eY™»A“·RÎÞ¢*a†þ/žÄüÂç¸<ßk.Vâ I|xùûè£=8‹ øg?h¿&)[!tJ+ãƒÄ+E.“¬2€àP~F;VAÂNº3YãZvÑ,H¸âò%KÕ‚]XP/{Ÿ»tQR_Üvù.ŒßPŸ¯‰gH–$jn‡#K*Ò½VñÞ :8»²Ù\ä*·ý¸ºm}1Ÿ»;¿…rÎ;3U´†·ä£ ýÒ‹ GºZàŒñ󌵾uæãöæ@^D %(SgUÜc1\T2mgî:Ö`lé@ vF\ q¨ymJH_8ðBŒ™Ž@»v·Ež0O›hA‘&$ÝuûÈ WÉ¢4E Ý)†Ø‘2QkcÖßÁ˜¥Ã…íÐÎŽEkÆ.v9{ÿQFÃp^ÎÛ«-hsáÐnB6ñ°"kYÿ+ëºRo›Õ/鼃 /xPo^¨HÓiŠ ß46WèÕ~8‰J/yµúÃãp¢l&Ë3C,bkÌ„ÿTX·ŠÏ©¶/Š9î•:ÅÕ.{ŸŒƒÚ éÈDÜPÖÅù5@Ú‚€–ye„ºxœ`ÍjÛà¡UIQþãÑ! (å¨ýè¹/ À5”xšÂøíí’ ¥{ ¸ï¼¶»’p0ªyõÒ¨¸î!Ù|ZÎoç@»¬]ĘšúW“ñ‹lóõ © ™Y+1÷иDeð¯ºbS¢³Ú*ÐmCºi)ì𒃋 é¾´?„©Þ9)T·hKŽ·žvçÊâî¦a—ÃÀN׻Ƃô_ˆ½½AÌX*J>î™J¤Ú?®«(?BìçOò{¤è—œÃÿÞàëÌÈ÷˜øìµšàA‘Óõ' †ë¼šÈÎÅ(y{ÑjWú¿Í+›áËìnæp±ÕÎÚg_ÚÛo‹ÆN€ÉîAê¢w¼X8ñÅVÍùèõüdú·?“~€£„šir5’ÜÊs±ôu$°xXÁ}¶½üKÑCëùcÌåë[úã+5¯/ÇæUÏ÷’5n!Ö—Œb›Ç€ä!›*%ùT@~Ò9}(Hº wÜøéj,Í=‹§¼×Äïù,ƒ¾²õ¨½ˆ>¦~iøL„æ·RT¶'uI^ཆ|Bû¨ºÝ¿×r~ Mérž”:ŸÍÏ\m®å6•’KÓþ'ôãU7ñyœLß®kûvé±4pˆˆ£VU6ü8A‹«NÛQçǦ^;ËÅ–î1ÛNKˆ~LÐD #¸Ž ¡VÔÐü•Û½üOFÚˆQ+û‡œœ_p9R'Ty ­,ƒ”£ÖJuwð¨œ*â²Å*máµ቗õïf¤Úœ«gK¦Ä<5â]vVáŒxýíÝ= eéϺQ4þoÝ%ç¬,´¡¶Dlpµ­ŽcÖeÿ쨾>q<ÉýVžKue…‰¬2oÀ€„½‹þ··ÎGöGö‡Æbˆ ·¾>çgyâb0RBUh<²¼pV^¥Á(KhwÌ×2o?Ï.Ó*/n¹/Î%TqxR‰Bó ÃúGk_›ÔúÞ—€²ÕÆ ^u? "—†âì:çðÊIhU-i´r5ÚÀו%›@ð$=… ñã¥RñÒÞ?êeî`p÷,Õ¥~² å.£±)r«Ìž=ÂÏLK”}¸3+„ã~ C^IH7uMÖ-ØàX¨JFTjàÒè÷ãh“^a´ë4›Q_ÌÊ©B±›eëÏhõpî¸Aq¦³ˆ y3 GÝŠVqlÖÃmqqD—3ÃUûuàh¤µÞ©*kG¾I,Ô®-6¼Ÿu²qbÜ_m3Ût2qÇœå6ˆÇ×Û“ðÛNÅ×Q‚%l"cîý‰KjF‰Ç¶šÆ±zâ5â"s;&œ ÿ¹_¤E…T3"WZU§IXâ·°hù,³¼µ¢%SÛžÀs:W¶3TCÑJªyÁ(ZçÎtRÈ%9rÚÐûSUIK2Eq>ð8\H6l;µÍ䜢Òk]'R'}‰½z@ê‰@‹ÖCY×®=sã ,tY!£O*q]dœ%k|ã~ÞÑVYþ'ûª§ÐAs.Ö'¬‰ÈÔ¯ãŸ0œ•öFÍámö%3†åuf¼?t«rãÚu}–ú­mÒèKS§{!yR¦S€ùµ IטwÙo­Á!fa9ÝìVåv¦œ†Â„-b+sî|W7\cbJÊl[Æë¶„N­Ë°Ý»ÊNY¹ØC€WŒ¼i¾§#²ƒšX"‡ .ïV^"‘Òh.€ðFÆšä~Vü¨-´ §–[o™GÑj›eTX&m©«'oBHJ²hEeªn©Q%Qªv׺:)l‘iÜløFõŒfý¬“ö¿¬$º/HÛT·™ô·¾Ü+Þ¡YÄ@€Ô°âÖÀÇ5¯ô¶„mMÒp{†¹yž÷òy(m®–ÁÇD§9MþH˜Ô%;¸‚9s²€0rã—‹»°2?Ì2aT"#nXPê6­›áÑÉb–Tœã'aëÎBˆqM`\”à‹š‚aCÌE8/Z' ³÷h÷ÿ@#É[§ïÈmz:ãÁuåø–&p4 ý·ðÐúJüwZ¶äb¦ß¥¾¨Ów{ÖX]ž—:Ä»§”ÝsFP÷vºÕg78¡Ki‰‡ÈjÊq퇪ÎRgW»§BŸ4~¾ÇC{ZÇ÷¹"àEŽàÕ¦IS’šóÙß¿ÖÂɇ^Å3J‡ìñJR®ÚŽƒ¦Í^z÷V×\Þ¨l€Ý¾ir`Í3Ð*Ä–‘Þo~/\Ù:œÿøØÀ{Æý-]±$ØGÈgŠU¬ …¡ ¨c—~mBHºÔ¬RÑ´«âʱ7O%9ÀÕö.Bƒ¯c¢ä¸”3ïÑAq«N§QOf ¬q§þ8s™?ûûöofSf|¢Áz:ÏÃF!Ö‡„o¼õ7ü&ólù€.먷ô(ÿpGðæ‰ÈòΊ¡_)6ôêX!Å#˜,j³ÜKÆê7¢1mB5# §¢0´ÎEB±Œ³à€ÇVο#wD0û‘èþTrRÌŽ9ÏN¦þÉCö¦½º-¿À®.¥Ÿq‹j£ãUaÊgPé5Q€ƒzc?K3qi™Ì½~÷Œìg•伡œ–.׆žIBëI Hq7Ù ¡7®ù‹ÃqŠpýܸ·zH½{þÅ˺D\ û{u‚ \ðn÷l< ¾¦ZVÑÞ™*ÆÛÂíâ«M«ØÁ¨ QU Ž1Zƒzº}ì…—¨Dc=Ìq³AþFôÑ‘—u*‚XzNzsXJPx ¯oáÝ¥¿?£GœPÈÕ"Íî0°ê»ýG÷ÅÛ!p7¾©G&ƒÉîï’«KÊ¿*;ðJ¥oŠm»ÝGdvܨӗ˜!¼¿RÓÏB:9¨^c{¡Œ±>ëh£ÃFkíU¦=¹‘© «}¢ªšÊ€’æÃÖ£B—>àFÒR¯#übf(éÜ¢1“Lè’Ø ¹_£Þb×q²/½2¤M_þŽæ9Ë4ëè•ò!ŸÕ³)9í5kv6º÷0ªOÔ˜Ó¬K8QÁÝ£vP1WCL!Æ=òvÎ"K\†‹ÿèéÐØˬ¤†K5ÕfŠ{ã¸@O™G äé„=p:÷3g›â¸úQ!ŠlðäVXg1Æé៰œZ2nÜü<<ó{œßy‚FŒ´æ¶C4Û²}KŒô,çŠ0Ém> Ô¶gíke\’'Ê÷\ß~þ L"‡ñZçÈ0Ÿ+;‘{:ÎGCº]vdo¼Ìrx±5[Ž$#Óê%‘fkލ7”â'eZ¹GKäXÑs¤'V'0ZÀ•ø¹^>‰²œÚ°o©…iöÄüÜÝŒ Pv‚  à4˜êßXâKÌnÔ%@fI¾‡IÉÇ#iûE·OÜ»í'¼t¾±Ivn?}¥ƒ[Œ’•V¥?´íxXOÐ9I±ÐŽn¤´f¨¢{ ÆqÊꯎ:Ý÷žÊw/§32âZݼ“<µe0Ǽ Údõõ[–B¨‡-êÊ1dú$PÂÄ4%{ó~% L‘“•XøÞÿì fŒ–£sí¥…\“bm²©ôÜ¢üïY³)½»¥ *d`\¬Ìñ5߃Xõ-döRóRÀÙüyw•½ÄF¡k¥AQOÚÈ„I·9ÃáÒÁ9´yYâ©Fæœò¶3ÐPæZ|wövUR¦ÐÌðövðdÙTL·ã´ÿ “ùe‘õî%ÃTñ'VÙ®\›ËLÇ"ÏwaË]¨±Æ#Bö …¿ZÜÖdd¢–ƒ‘<%8ã¹PqªM25Öüò~‹¤$¢"õYÜ…w0eÆ‘+Pô“àÝ#TT8ôæ$ûÐò” ÑcRWBš• ¸–4ì‡÷DM %¤CÛ•Í­‘ý…Ñé{h% LY‰ ¬²bT -Õ=~|F*pôv”.å½SAÑõüæÛ×—¸†þÎóüÕ ÐF)_U/%ñpcš;;8ÙU[ÏÕ"^ yiÞ ˜‚SRc9d£èL §<;¼ýÈ•©þ¨  W:+}§4Q²4s.c,m?K8ÿ‹hBŽöLÏ›!ëÌÅ(@ÎNƒ­ñœóǹœ>·Â£ž¯²‘cª›ÊX#¾Ø.3SQÌ °•\pú5^:.ÅüCNº1‹Mª†úÄ'íAP%ð»ÏuxµçY ªØŽíd¡:»,õzoqü çP¶œHÚ`îãÔ èeÖrn>ï oXæ=Š…#k»Ö¡Jz¿¹)/µL›¸ó5Ç®¯¶FI¢Hw€qñõD x‘x¤Í/nyP7›Ž¸÷<&Fo2qC½6Xᶺ-˜Vé^åù1UŸ`ÿÕÈCZ;"Öù¼?ô’鹪F!¤ëÌÃü7+«ñá»÷þ¥xì»$¾·ßZJbÚXñ»¿Ý c¤ø±ÙoÏgú§,vçêãÞ:Rl|ËŽÖçôedà WŒ•EœØTÓZë¤c«âªúü™§0ƒû:Bxhâ®yòóï„>€#ÞÌÈ’/×€«®÷¹Z>ˆ¾Oû1ïWVg¬Øùí’»ÕB’Ƹß5Œ ìQÈÖªZ‚aˆ{ÎF‹KZþGƒÙLâÑ îIã·Ì²®ŒœáäðJ(oF±)B9âÍ]ÃÇÆGÜ#+ T·|à« ¿ß Ö Ç\ÙߪFá™/g-ÁÕK">8¥ÿ.ÕÕŪc Šÿ%û:ˆ!*E™©ÃoÀ(¥6/ß»GÝžÝ5]ð Ù)<Ýhz-µŽ"É)3ó£ªk¨ª§ôÛ•·§:fw›UqÏÝÜs>)œr…@{jpfm²Âà6¦wö0Aͳ»·¡î˜-¬IÓ»ƒ€ iT->Ø‘…B\\µHuç|yÏǮɗ†xU}ø—9ä"wåˆmYvýD¦¨ÖFÒ6~À£ø€jØ7ÁMðÒ’ˆ(³†úÄ‘/Ç ss®Œ¾Û±¸åí»¶Dõy %ðJ,bÓ­e~ýèFSéŠV·6鑯ï<°k9ŠÀ%!Þãh"ù³+dÉC‡‚ÿw¬#sEfÌñzÄË»$϶W€ ¶Ÿ3O¢,Õf¤.Áâ£ÕîôentÜ›]p{æi×®ágé^ /l¡b†âÞû)Ñúˆ*­-ÅúQnRW˜åèÅŸê]4U{x=`žtG¯2a½`þ«áÒž 9'2æ2/JoZ”tÚW‚ürGuf1ÓïÊÕ¤6Î^'+–mп<Ömî}[C\ý9d„IY4>Bjª¶tÒb<$G«·ó:žá©Ó0NkõJQ]}JþµŠÚ`Dë'æR–|“¿DµiÞ ejë±ÜýuxüW8MÚ…ð;m|ðš#¿éMg&å%uÂVEYÓÙÓ4!îž—ÕÒ†{ì9{ÿ ²›Á¡H q)î•'Ê"IU8/¤Ò¸þ¬]a¶ wvS—ÑJ6Dœ²$À®rÖ _YOíâq¿þ³H«V®•¿aŽNO©‹‡µÃíå¨âÔ “KЙF´%&Ró¸–… _ 7·2ÀŽ•d‘l0£!Ÿ±E¼þ o C;;Fã"jâ7Æâ6À‘ë~ëŽ{ú¦jOt<:iÜ”è DÈŽ‘¬xò¥PZ-.ó½ÏTP†…¾ÙY=Yͳz©ýÇ#äÔ,½=Ë­8j÷¡Q‹vLžN¨e—$‚uÙð÷Ý@Ö»†ÿóF™·±yUè’„°sa0 Z>·H{ið}7 cêdï½ɶ!5žè൳'+lªñnÏ”}õ“вmtc?Š8ü"ÑGFÈãî^g܇6P».¸ƒË+c?®)¸œÕN,dÚÛÑ©E0´?ž/ÂÈ“™òºí EÊÕÇ ôŸòM›õ‚ëcOže¬ò=Ò̧ïÜâWš¶Fççö½åÿè«æûs<•› ©?¡åÈÃ÷ô÷»ôÝ®°«Á¢N]%ŸŒ—¶Íå’˜§W^íêÝ5^ÆÂÃà˜1ùÆrý`=Ÿ47·¿ôr3ÒÉ^j\ç’=ÞTmNü÷¯ ’ôNƒ}­Šð–îÝVA†¿ëm·¯Úoûo6øìäÀ²ðQ¢¯ÏF"I°ÓÛ©ƒÁó W‹!Æs¿²BÏeä÷å³—0²ÙÔ6#©]¸Íä÷{úÌ’pU•ú4™HÒ™íP½àM˜ŒdÝÜÜ­í¡5:(‹™`Ÿ²Gco¼;9Šð¬ü¯ÇÊud-¦ þ:ºÿtbâ¶0 ^%ãN»VØNŠ».$¨‚'w½D˜¥x’©LîPœHA =1»i%sß(°ö AaÌz±=`™KÄ”X›õOŽÙÌ ²ã¨O})õ­Ñ¶§g¸ö3ÞôÂwù…IîOK©{D³³û®" †³<Øçé”^'‹¾´]kWCÂ@GžÊ}C âe¯)í2ÇëÈöØØËMæ´:êÍ)°eCñ©â;Ú:! !!°(ˆÅE˜ªŽËë¥?&z·kýuA[ürÞâoO©SŸkç°ò°Y-š]"qþº«MʽÆ:‹OOÿ朌ر·{‚¬¸Tï¿ .G‡d”ÚÉ‹/&þµ$d÷ñmeê®U¾{)èùìb¶Úžþ£åG/qmq•O;Æ|­wéd £ÄdËýÿÖràLOý¿ã]Ì#FÂb@³Reݶ+åEÖ͈ ØêLÑ{Œš+f>¤A»n¡T#w®‰E,¢V5ØSâ lÞ”t¿÷ª~Ä\}žÑU5e¬N*•G%ßœÅÑÂCwÇ«‰k5->ç)IЉœ Ô»Û×Ö$¾ÒÞ2›Ï™ñboÆ7’.b”VlÒ%»vzø%¶Å›6ymOÈò'ªGêbiÝ43„íojøù[y§p£¶{é¢ÙL ¢ÙB¯?95=¨qõ†ÿ¸°Ú^•ÙReö SUI̬ýËdùE‚åR'è Ç ÄäY±n²°–dáÌ.Fã”¶ð•ßõPÇFê£t¨·Ù©ý%ó„Û2ÞkÑ”£Â«ñŒ/â{ ÇýŽ!Þïî[˜w-½{ä²kOØ¢ö }W$c™«‹x7ª~çš‚0âYí ¥ï ÖšÁY-ô!Od{Í\R¼ ijîµ/ @‚ÂÍp³T·GTŠuÜÜØIÿß<Íë]–È)0ºä%Å!IôÙÜoÞŽôѬ¾)i~}Œ¢rú­²£1|hù†`Sògþ/ã¿ÕÚÎMíú ³ö×Wçè쫱$KÁ¸Å°’²ƒNêlJüécà¢+¶”‰»÷ÙçÙIFHäy«*Jªvð^Ý3¬8iƒ­9‹±ëð|%â™Q¾'©Î ¸]‰‰€Ñf&Â-ExÓB—•Æ$+fw­Èª´ÐKŒS|ñ p‚¬Ìþ­Å•á¬ì¬gÒµ#oÊù`HRÈØÄÈCƒØ[.iZ@/Ë%çãA$‘ñÜLoÁž•(ÎØêGÝdù«²X1ì,.v?¬ n-݃½QǼÕÂ]S&¯×¨E&×*_Åø¯ AU{íÆ\ÊûòÙR5­‰INiO·HT[³âùûŽuÄ Ç 9Þ ‰šfåáïrac2˜þœ$ŒöšbŽ=üF€8„ò.…³ükž÷ VÈl¶cß9}‹eo”‚Õ‡ H _jV em d8‚•?8QÝ);IÔ_"(0Á8Ë Q§±ªùà!qÖQ# ø9Uì™"Ý‘¸gm«Ó zSùÑœOôÜöFnæË£Š:ÚM<ÖúB7ì¢ ãEY GiFç$5òXtì¾ÿ%FToP–@;¯ÀPôf7a'œ‰ägnúÓÿ…‰Ö²K{ÎòmEˆÅ6²ÀÐ)dµÒŽãV7ÚŒ+VÞš«!4oõr:{Z_æ.òŽoü#cTb原-ÊÙÖéÃSªD‘Urî0ä€ìðJ)n¸QøvK¿=G;J=ÃRŠÿH¶%RC•”Õ=Äè”|Ó³ ©ÄLMë<±öR[ë?òs…ÂvQç‹Ò”Zž5E#üÆ€ÃGfUöeqþ©Æ+½Í4ˆP+ò7­£N€'ÜxAÈtº.`vÏ?‹l¶Õä‘1ç¶‹¤B[“ðoð[ã,[Ê ^À{Lö’ðûŠ­9Ø_U ýL£‰*ù¬Ózži Ô'—b¥²Ÿ¦o}Å´ö_üÉN-ç º7wdí4«ä´Æý`(–Ö™Þ<FEáæ „£ª[ЋxþŠõ%*ŽÌã)›O6xö‡µÑÑãÐ_Jûò¶g|rVŒ{Ñùë*B‚!U3a¹¶€Âr9¨zÏVShB}Ku©åáŠF‘h¸¼kßã¥ðñ[¥}Û/ju00C2G}ëwªéõ 9C¿ôÇâ—Ãút‡9ÿ¢ÎD!ž,4Ç-øŽ­5b‡±=4¢Ul IZåáJÀïj¹0kÛ²Ê-,©|ÎÛ•ð6úƒh2}—^œ(É~ãÚ'ž KÞX†Äª¾W}@²m¹B7çÖF‚IVmh„Æö”œI"À• ¦?ÓàpQ÷u!í 9Ò"ýÎôlI\ Äñ­òÿz©]€LN•ª)]Á¯»8$‹GQÜ⯬Ë\€,›Óù;½nEmïøoÈvdp`!Ã7‡,dï[U·gf9A>=ã·, mÞC<̶Èb#»ªˆ×)Wòõ*gNh„ƒD ýD¯mÅ5ž@–aC“Sø  1ÂàO:&* \ €¾…•Ân OsÝ [‚æ{ ãBn œ $ì3¿$²ùS¶õ-Ç^YŠD®-o®LÌjw¤}>ÉÓ˺ÇNY³q§±#É·{mâÖa»Mõ¹2@&5]`ý•ö6T¹€¢ðäT"ÍßíSž*gj¶G›¸É08tFP.´§ÊŒ‹¸Ywtc~¹š"”åí—Wåe~Zí¬¡ãv t‹ÙüéBL`è,XV½zÂ'†‚ÂS+Ä’0^mÓ~ü9|H!wCÛ#,9Öx$c„péò Ä¿MKÎëH´¡‹üB¶Ë¤ë§‘)NL)p·c¦9N¤ÒjÐÐí‡=d)˜È*ò6Fm¸b¹Õ·ËL^Ÿ<ùòšàñxʉ™†•ìïÜæe‚ÆÿGG*9KAdÛYû—¤~=Ñ— ~˜' å÷œxÁ¡$‡æ 31ç[+Á­“w­gõY2‰…ÚÌqè¡^øQ§ä€BÝÞY7N&jg"š-1”ðnП˜  â;6ì~<‹™ÞÈöXXyUg„­Ï)†?÷ Cú¨!!ßS ¦o*¦YµÓõ;/ YÔZ3[©Ü`ݽ|µÿš:!Z3†á¥èeÚî`õŒõt$ˆÆ±ûVxaRçp§bz Ê-'üÏΕÅfúH”'¾S7Åδ r~)»SUþ€L–¢¾àù’Š릃ž¦ãm¤pm0²‚žº‡æ<2`¤Rodþ ârøë±j"9ËÄq9ÂÇ$K”f“ÎÖ™ÃnM®pïæ={XúäÒ#Yé3/©$z•º#¢0í¦{þpVKNžQÁðRèµ5lLK/`e}%Þ¢žYµSn%}4Æ +Ãí<20=i_=n‹¡k˜í¿ÖáÇð9Ô(ã„ÔJO¦šöÏ|'šl½e×K¦_(£„=`Ò1“[I¦yh—ÌÒT˜Ôh@˜oÆq ª%Iá‘S»ZIhxú®*J„±‘±°ÇžMsê( Æó0Šá4ŸÑµ]Z¹Êw3­™‘…$n¨|ÖÍJ:½ÎÉhàZ¼îimùn 1«ÒWª²^ˆÔE¤¬¥b6bf6é –}‚gÊÉÒ‚»®Hœacæ®óaËÄHÙ=jÒ7Ï uQJâ»Lt¢¬yAš!ÆšèéLÃÐÌË_ ¨‚i®å—ŒFyÃpn1 ç\Þ—fBFå̼w§èµ0\7tvM壷ä=Z$¿¾¾& g~jkh^ìgÚãÞo(Mô²„Ò…Ÿ•J, >.¾ÈM¼žý ý G~`CîêEת#4Ûâ¿H’ÃÅ”r‚3'¾m*6Üú9¶)),Ú—áöüýiÕ`5m+Í.|U)½Õ'ø¡Ô&¶V§âMžWy™`”~ÁÞAÈæÞJ ü뇽 ‹;–²÷ïio¤ÓEZë|(¨À´éÏ/{ÃЦ…W;>ÙþàÁ} ¯r$Ñ7xb¡2UÏVñÓï9²S'”SÖ‚è. É"(ÄÞé’‘ÃÄš×W·’V@¿óžVmÊ^å0NCˆŸM[ζ'½ÑÂΜ3ËHx·¼'Ä­gðµóè!åIV†kåÅÀ²MŽÒ$‰L]Þϵ/â»$häq©•é0ׇc÷*‰°ñ§œ­«õq[J†VÒm^-]„Æ~´\%é¯-°ˆ”·|>Q©”zL?* ܽ °ÕRI¯M³ñ¨@'ýD¤ÍÍÔ’9Ûô„0G—kRæž|PEQg6Îo.ÆÇeC;=íÉõž%‰…FWué«‹»ÎWŽY]Õ<ÄÖB-ËÉò8'l£ôtfºš¥˜<تÇì’«´£þr¼ML ¦‹/žÇöÇ¡ Ò*OaÌG;>/±‡Œù]°å,;L~g}‚¦`˜gRŒо–ç"¢àì2¦"·¥Qäd›Œ…Ûó„µúzaó:‚—"ú}cÄí7 YFzµ“²œ\3ÿ„Í£Æðq‚¦â!Ÿ©ÿæ. ÍÖÁî*|òꯢ¬R„?¾Ë >¥Äëi˜)ŠÓÃO"gøå£éŠ7Mx/6Ìḻ°"bËhU]ùF5šW¡4áË4þkåÚv‰8QÎçÉZ·Óp!jЦç‰'%)Ë`绢Õñ;Cu²œl ,I6f½Z=)~½ü·ÞÄ÷N¯“f× ³*WNCL1± ìŽÏÏÙöÙ:ZÙǼc~‚KŵlŠìÝ{vò@RDÑ#$vÕb£°¿bŸ¦ÂèJæÓƒÌвú2ØÍ4蟤^øW›É#ÒùâÈÇ£5]m)X`X¨rÖ {þÌ%&–)…º íçT êtpuzGÉåRY‘Í&t¹³p5Œ²Q :¤lƒp“V“aËh ¹Ò‡<©aÕIv²?—bµü6Põ£ó‡óÌZŸ°| G±Ö.pž´l۰מ x¼§ðÎ7p b34½|Ãä+Ì·³)ÓÁ”[lÉoBêäQ•J¢9ªp…·wï õ…}ù9Œ¾"þQ3!rqSRÛš µÛàd¯¨cŸ…Ýccó#`ݨï–•³]­oU1ÿ8鎄Ðû¸ùMzRÕŠøê)>sö† e‘ùäÅÆ ²ÞÛ¤´ /²û͡Γ1,¿ôÝ)o ÈÚùûx BžDmsÏê‘ò Åè#R£ß=¢Æ†”€o‰¹l—}0‹t㬎Ï|PY>C™—ÕUo*c ß¶+¢ÈiN¨`”骯Ç  ôÕn×+ø0›D/ýûðÅÝ[š¬Ú°-€ÂΊ‹Ž¤Ô’1¿ò˜2âZhÜÆ9Sõ'l÷‚¢\>p£Œa~là«l?Sb£Ö~FŒ;h²1Tïf{n4ð„$»Ð €8è_EÕC§c[Öÿ}…9‹ÃòŸ¾ØÐ#rN=¢o°çtÒ¨œ·.ärüèN<ìÜ!f€¦Î hxub(_~ ö€:ÈÅyÖ‰]ÛIƒ¼xPfòjÿÊBpKù]^·ÓÃg®^É€!I8ûgåg´4‘…aÑs¹À´Àö°y›ú•+ËÅ@“:ñ˜¼ ê®êØöc~:$a,k6Þ`|¿¡ù5ˆÖ<|ÄCkR¢$¤@¤J[wÃu€¯}>¤ë´ÈB¹ÚLʰ‹Ã—T¹WÊ5Õñ]½L´5ÝĦW­!µI ê™o„ŠUô‰Û²hsQCÉÝÞ3¥8Íþ`”¿—RÝDwƒе»C,2zg$>…penow3Uþ*ú:Ä_îï"•Ê æ`¼cËJ°È‚ÏjÔ§Vv½¡¢}úŽÆ e­“ýÎFÕá…Š½ð³%Ï+õ®Ê†á §vÖû,>ãCÐ/fA`« ÷ßÎy©P¼´ö=ŽFI2YöGy"‰âgã»»?ì盺,Пæi !¦ È¡æVëà¼ÿä|ç²OÊêbÛŸ ºž èQáÉf¿T‘i˜fóyàµ?u’&ÔTœ>l–~ƒ@w`€ƒ´ó$÷ÞÅ—Ø„c¥ḋ&ÜÆ2üe?‹K&y×>4-z+Æ Ãl>Û•QËpëCvÙ©"êëyD=š•CóÉ#*ǬlVç Ò–»žÄì¿Ùüa®ŽÙŒØ¥Ç%:ɳ­‹È$f&«|Òùºk™S£ðúrì$"7má¹"JÞåÍàdÏB=íòÑáÙ½<æ ´×±Ãd¦_ÂÆ˜+Áÿ °¹ºr[b¯Çÿ”Ó+Np;±>RF'N~FžÝ­½r볕£™n‰''meb?¸‰¬¥´òC‘F…]ŠÁîƒÑÓ²V‰¹zoMd€%Zi…FŸ[XX\NA{¿ji͈%ü}¥À?~³³ˆ%qȱԼNàq2œ2c²CÖžkÕUž¶Ëÿ]s‹ÌE"f‚x ý“÷>ȇžDF ¨R£ú¶¿Ĭ*¬FäÚO…PÔQ~WÏ ÃèMˆeà F®M­Q3ésm®¾=U]ÑMö^Àƒ^.™EÚ«Þn”SúÁ¹¼ŸþïAÌ)<ÒªF­Øª.õ•&ð9#q­&˜ÙüŽ…Ú­—O5g÷:2󶘽óá×÷°ÿ­ÃUÚz¦³M¤0KQ´™Y¨%¨uÔ;àµ#K"ÌFÊx/³çèÍ"âkõ2Ew=…r ¼!"WD³h»e0ª$ÙÃöL#(3{LФße¦­/{¦üc¢‰Bz,Äét|Væ da®Ôæ;Ñeïúøý¿ït¯’)–Çú© £òó¨"»æ~»Û€p»_12Óõ]þGË”Ê?ûÝsgþ_yÈj#㟂·“|õ¯(nÍLUæÉ’‚_ê]£ºa¢²— €&“¼'’ oPÈÚïç9¡F±bLWÜDSxÄÉÑŒ>‹/S ¿;A£("讹è™WC}瞺ÂÃòj2d·Q¡W]‰w^e+Õ€¾H–õi^†¸y78G‚ bEž†ÄŠGëîLwŒ5›åpª_ÆÖÔ‰MPõ{œ4Á»žlj˘´ÁÓê›’Æ5O¨SEü¶ íH£e­g¦¬ ˆŠ›’ |²30­q7ñYàIwæ_Ô5 «³÷Ÿb÷kÂ䨬c¬Ü*Öö¦®U¢)ÁÎÊЭLg—ºÜÍ›ø“塲Ι¿å:+ˆ¶ÅZ’ð’—¤¶’X {”–6XÈ5ü-úA˜Žê–\ĺ¡êÝ)Ñò÷[d™šMʉfZS³µÄéQÈúîÈA•,ÙÀ.lˆNS¨[šß¼Áy”_­ÉÜk,ù+⻎/òªKRCV»ÂUàËDfèë XU8¬qD«SÜѼû×ÝFøÀ3Xj.¢n¬™ M³<&Ü[<(šˆ Áô'S‰?O….‘V–¨Ä¶^RUV›$°ƒ¥»ÿV=Ø}ô?Õc¹i8HTC™†ùˆFgŒ" F©³çÈÚ¦6Ýâˆç§Ó'î €ù6l£¨ò@l™ŒÊq³ýžÝÙ%‘-㺞N>¡: õÞ9/lâœ^t“òKp hx6 p+o…:…°áJH=‹ö¹ƒq†ÇÆ-2âLÞô"”ãà”r…CŸ`_¿R°%À•4›st±·p` ‰}íu»Ï£˜ÑŠû¥äÂT3fˆà®ã ª pÎR ¼¦X çÏÅׄBÿ†sN¨Ì0î¯jbr±ËØ4ŒŒVÕƒFd‘y×-ña73‹Ö96úU¶ùé£ÓDdìtª¸]«<'®³s^oXbU²ÀoS÷ÿî'q¾dY=ÓfìŠbS:8à[ÃznÈ¢]üÈß”F€8L]'_L6™K¡Ë‘ò;%KëÀvvëG5©Vc+°²Ä9”ÿ‘$ÁËåÔ/òŠ•ÝKzVaƒHy‘ÆQë¢kf;n°å æНg$‚^ª±¼Lp#(ƒÂ$rû90¤÷Ûý[m¢öU³!¯&È‘c7×GêŸ4¨“°Q¾Ë^‹¹7J…ƒ–d]L›€)f‘«ø6ïÂJ£Û^ß…&Q —°õ4¨]ûçuO^v!pYuçô6gOÀjŒÄˆ+”®{[DêZûÉpÀºÌ×{Ôk‰,är—Èf¼¸ö 0mÄÃghË?·#PÙÈ®W/‘YŠÐNÖsÀx2ZÁ'8.ÌÔP»¶¢$4C'ÜÔ«àQϵ]:mùí°xÖfʸ¼'!·¨D9Øf†ÿÒö“@U=‚"d1ÞüþŠ~¼Ç}‚ñàTt9§LBFÊÒ )ž˜1SàrYå¯a$£´Qâž]ʤæÓ‚»T]uúQËâ«.Ò+zù\VóD?OçvôÚIݸ«±É)0áäĈ¤a¢8E·îUüÍE…û¬£Ùút‘þæx@HJŠºÑ¥µ Ë4øçÉ[AÉ–kmEŸ¿œ²f$"éÓˆa OF5fAw…£OTQžØìë!‰#dñ%;Dÿ_§\Åý_8õ°“(„”ÙsI—Óo„eÎß|[’^BEibU…|ÂTƃµ³¼é5ò‚±F•Â"Å¡ qÇÏ S½HByü>1ý¹þd xøØˆIžì2æãè}å³î=D]ïûM]è!öjÁdÆpâk°~Ä0féÈaŒgÇfiè÷Ô{Lìl°fdJ\\L¢Ð×31g)!ÚÇ@4íi'á¬;6×Mí¶Ë]ºØ_0ô]Á°—b½.—,Ìgo÷窲mÄÆ4ÇÜ9–÷ù”8¤Á2–¥]œüÒ¦¥±Ó'ç»—Cã¥CK q'´³M ÝŠíeg™)˜­±5‘Ë*¿¤!§ÐÅqªÕç-a[?⇇Q04^Î;¯ðA+ÇýÚÙ ãò‚åÛ¿— (lŸù¿ÇL¬† …#mV,ÐóAZ£,‰Mï»%¡X 3ƒe{äÿe8_TÕ•7`i , G}ò]ÌU5‘Ë©*ðàZGa2cäQ¼l„íÁÌÒnhÀØèY…e[À{FZiP-éîÌRNë$ꆩ©ªõ”§s¬èm¢Éþ°U>U$(,jG8&3Š5Lb¤¦²EÚ%*!.ëÓûÅ ¡[¡]rnCáÀsš83²?ÿÿ¡mHn^/Âã%Ê"”Q¸÷)ßU‰4„/Í9I $,IÁýUm˜îEÛH!Ò½ýl¨ŠH³÷6…šÖ¼F~7‘}M–ˆwe#Ï÷_l¼tö;*æÖ%âú}Û^±“űWI‡ J¤@¼¯nI4jEÀåqÊÉ×Q„‹øL(ö¨$pÌ‘1Þ––È:ß±À¥ˆ£wÇþ#Bê¶P@=Iº„'/Øôv‘;÷{ t'R•Dþ7fAÁNy HB$>ÃvÌöÅ?¬ö²+óábF8;¶ñø f. ûѧ BÍÞ›`Û!—±Ý~}h#þVMÂÁÑ€ô¹å$UÑ—P éïBV5—­z•èÒù IÓ–ÍHçäÍ µpObøÔ[²ß#ó…‚'!5¯+ÌÐÔ‰_aq °- »° Ü@:"Î^C‚Õ6È›©f :|1Ns`7‘2üÄÒÉcA[Û;èo®¦Ò/ú‘«¦Â×SˆŽ¿ÌÕ£wZ©jJ­aɈb2O¤˜Ð^s‘ e"äÑŸS( ŠüÁjoÔ†¡‰ÅøÚ­ÚSòϸyœ×g­åÈ„'%MHùOr®ÎÑHÚúáߌП.æùPi* EHs]³Õâš¶å£+|{ÐúV IhJˆÓ¦èjõ®ä7ôW U`Û7oä ÃñÙ•Ä.¨Dœw˜ÍP/3ü{p³—£äû2è´U 1i·‰Ñ´iv°z$^ût8p‰@èo‚åÜm(Κ–Ä4°¼Ï5#zŸÇsx\Ü…D„¼b¤ƒg¡ókÎÇ×(qò­î207Þ^cÜ#¥TçÒb‹OiCCy®p¥ôôÁ‰‡­(dÆ&"5v÷\(î°I(8]B’DïÀÎøD#!MpÊô/;{QÝ"l#½ æ!í KvM‘ëcP%FBÑ7{ ŸJÎ¥"é e±šíëÏ©šŸÄM¹¬|ítdZÝsú¯pAwâǾu ÁÿÅó{GhÀÿ!ÒˆÍ(™‚eÁž퟇hY¿ ½[.ZûÌPŽ9Ç P®ÓOânùÿëÄ4šWe< ¨aT9Ì^—ÑïA(D  ÎCNˆÍh‹rs¼On€2½Zž¶?ó « P}¾žû ê·ÆÅ“$Ñ2W^>NåKÉž“YQ ‘©˜õ 24â6þÇýŒ¾ÏFƆхú»œoH«Óžú«iS–ì†K^Eõå XYîýÁ¦‘ãö(Ú*W—ÖŽÅ’å*Î[á©¢m¸šù¹Nã;l¶m¯µmßî©M¼þ‹÷¶cØ#ׯH ¡s €)>Aǃ£‚¦&î§^cè…Ëù­€DS»3|Ó©§kï@÷Si}„Óþ{±Ê07 !züÐUë]Á.”ê‘áÔKßž‚MbÓE¢‘jàÒ#¹Ù—üø®HM\ÞvóŠ_-O‹èN­šŠ †¤Aƒ*p׉F¸üMpãÃàïIÖt2°Ë£x’‹ô©J…Yš%øÿãK½æŒCšãª=ÌâØ-Zã~ïû,QXta8úa´ £Ñº“‹žÒœ§ŒjàIw³bè¼ÏNâC¯ŽSÏ¡¶­â–DÌj䮳d°°¨tV.«Î‹­ZüÐaKN YÉ^(€%š(× µ˜FºQ<äý¾çgS”O«þTJJÓg'¼Æê5‰ÆçøT$¯Øú¨Ÿ¬ß¨¡ô;÷ž½ËêQ>~½%õ ðfeáJvÃ¶èª Â«! >‹°‡¯€ÊCš“<"§¯û*(b˜öYoiž “8¹è¸-pþV‘V=tÔJà¶è¥±·×|ýѪlþ°W‹R&೨?|${ÙìÏ1ÛZÊ—tX‰×€ÙåöòŽã‡Ž‹Ç$S¤Þ„ÇãöŒ•0á\Êײjþp0Þ:”>Ú]ø‡g¦ž¦H6V~Ï[1,ˆ;«†BVwŽžîo GŒN²ÏCV7g¢z@#S”×mÀô¨ä (úŽHʇR#Zùµkó0¢}ßÑS@Úe—ûa}|ö0ÚƒHs%f¾Î ÆïkA˜¹1‚j@æŸ.ä¯â. %òWÖïUöÁXJSe F íÇ!/U½5 j¬º3r Ö$Ü*(4ž˜úmgù[qzG$T‚!ÐÊtâ鿾ÒìðÜvdÊ·l.ˆd±íS¡fIc;ठï¹ÅBÍ‘v{j7*hÿF(ÊÐÊŒŸîAN3ë‹æŽÄL0ð[ɽ¯¿ßòÝU}/ã“!';žÀfÌ”´‡ýlÜn lvüôÒÛ#3kQ-$`-Gêü¸­…]”ëúü‹Ë3!>™.»sHï o½oÐF]åÀÃa©0 I R®—‚ZôÈm/g"㦴SXB:7"¼0°ófÚó!Ì‹¼»áÔ_Íý ½†œŸ&ãðÔK2ÕA{ÿ‰A{*©TºƒZr¥}•ry^èQŽ?Þš'K+_GR:Ìh©øi™¥ÿaÈžCûÈtRêñ誓kdɲÛÛ÷â÷ܼ¡ªË³Þ |ŠžÁæbÓM EÅãNŒ(c$áBõ·2 wËé\$®¯g¿Ya*JúùÊÊ9}-Í‹ãùû¦£Ž»€ƒ¸ß*æÑ‹ö_avé˜Ð’S@É0¡SƸëêÚ Pöª–½åJ£•Bäym÷Aä viuÕ8@›Yg>ÃP³ÿ.h×”LêW·œ“3Õƒ~_ï%ތѫù®wy°_Ÿl$q\ÒÛ0áÅû+ñš“c3€AÇ]â#dÊõ¾‚‘ñLÈEÑìú"¢–ŸðOÐ ú³uÝ^ “kQÖ:sÖ ‡m‚‰—t½ÿÊà?öèûLo Eº!…¸Oá›ÕwÉÙyApbzüD‹ =iДÐé‰a4;®±‘»^©ÇnU¯3ìÐjí~é<Àè…ÜQJ„ Ó4`uøüä&Ò›‹½=Áá2>ã’†¦/뽟iÿáoÎÛ6à•ß®¢.÷£~}ù— ;$á¤næ(•|Umª?$CòVÿü߀¤÷¶4Æ™*hhêÑÀþ‹p?O_Š‚jéŸÃN­)ߥ÷Q’ ¬x²ßàîm:GÜkšÕ$>w†‰×íú<Ã^?ýåü„§Æ;\WØsä Ò>¼|!ÁÇ?䅤Ѐ  ‡?UtõTo2ÚeGùÁ?S±Cg¿ûT1%´¾Œê0…]\µÎ;0reÖð Ü*„“rtwjU$.­#iu’(!7o³_Q€á¸œ ú!º'¢Œ…¹BætŠØÅ-5þÃô=«¥StÜiÊîÊwg'³m{ÍÜ$[#FeâXŸ¾ö–ˆ]VKhÛ,·n00ÚÎD&†ç»$Ƹ_]vìÛTt~¨ŠK â ]õÔ÷µm¸m“{ú6‘¼uæœO²  |UÇ® –#×x^çíJXVöÚ¯ž ÏÊÍ’[¯rPˆr@Ú6q\¤¬¼A/õÉÆÿÛ÷¿×V.~"£Ïܳ%.úÉa,Vk¢­ÂÝhOOCõO=Þx ²Xoãu)dÖ’_,ØÝà>1¯áv¸õöÖ©'ÓwðU£†*~˜ýí: UÑ/,<$,+=f3î8êi.îƒãè6‘ýžS+ÇæÌGy§öÄ8³%‰%›{N%]vÊÄ·ÑÙn9¶}m¡Sÿÿ²og¥Ul¤%èªò¶Îgÿ,8?í˜ÄŸ¤°<š{~ˆ‡sÚæúi›Š˼ÕÓæ|ÃYIöÊ8’Œî ™+²yw,P¢ìh(`F…þýx_ç_½PTrÀÿ3MÕH‘>Ã娑‚݉­›ŒÓsG¶we¦Œ9.»kw¶Ð¶e$îMq›šMùJï:Ϩ ÇéàGi£|2_lÑ£CgJ:¿™·è ¿#‹±7†´‰ÕžDXÐß’!,¦Fä Ÿœ zŠŠÎjYûÈÈÀœÊ"ÈáË(l\èÔÌ“5Éu{PU¦k‹'u$üˆ)W[µÃ{æ–+ȼÿžÝœ_•´;:?ã|qïá3Þ;Ù&DtÏXÏ½Éø6…#'ö´ê´°tMU ê\*WÓϼ›åö-qjrcx½ÃƒÚ}¦Ã7i¿×ú»Îß‹z+שn¤> /…×ZÈû«Cøý¨‡ÓZ¨-ö@H/Ôу'BåCn2êdµ˜;x'¡ÕŽæ‚µ5ú³CÈÇ MOažµ {óJ®fmßhmºª1ã<ò“µ½ß(˜š]l’L\Ä5ÀÍ{… %–Šæ¢,¿Ú^ w¦#Ѐk þ?8†oó^RZþ·o~A°RÙƒêwV´VYMeöÃO—fW!Ò5Ó±öº8ÅRšÞç³QmÐÊ}{$P·£9ÀYUc•àTex´ßd£×Š«@ΈCÙ…1›ÆwŽÄЇ”W ÙIYÂ\ µ¯o˜€F„§œé 6í(¶ ÈŒµT•\bÉL¡ÎwA Gý7ååD*+½ÿ½PÑ¡¿8ßÒÊUl¸˜ÞñBó#ð~wy«_°]/gæ‚u4é·3êðf;¤t ¹ªß®éx‘å/fðãi‰º*±,té'06šQiÇÕå®é"uØÒïØÇ¿õÓ܃J©Ï3GV>U> Nã¸ò?´(Øå%«Ïà'øßE³î8âõò·œrÁ$ XðB¢xJ ã÷g‹fÏÀ$¥ëÑÎBÐÝäòˆë¨\«[T(¦ð¯þ”xKåH£@¼À^Ø‘Úï%¢‘ˆ±½Íw>øÜŠêÎôIY¿¥º–Åuæw¶ [H>z')’q Œâ…Aû:²§Û» "Ò Ý ˆ”ktH <úÎHî†:õ°Úp”ütéø‰"“¶~M÷£l-:WCϘá{_w5¥?Á8÷‘ÍÛÃsCH)¿r›þî®»Ò}öL8#€_9'.yYÚ˜BŸgÏK_Ür^·Ö2pËXçSiQoP;OBØ*ÿÜ_Þ¹V?1)dÕ.øáY,rÂÈÏ`»Œõû†èlk“ýÒ&÷VÞ= ÍMá>PÕe}Šç!:¤Ê¶(ñøùqŸ0×âÊeþǧ±g–ùá<ÓüÄh5Ö÷2ýÉÀ‘3ÉŤìÞïdEí*ÒrY?ó¹ÂÞá-BHn§‚,f!6dGìß>ÞMcI”Ê¥a›@‡¶¢î¿`ɱ|ÓÌht8fpšßbñ~”:|ÕÍÎD”ÊlåN¢ ÒB]϶Õ6Šúi•[¢ ®ŸãG1f—†GJàÐFùÎ='!ÛŽ€¶«Œ`³‹~צ…ñìK³ÒwYhz0 Àäº ‡^(qïXý·÷’„—+}ñö¥ô°ßC×xDγúÁ %æ©•«H7·š è»´r?^ºÓ°ª([ðÝð]åq•˜t«ø~NÆòÇûJ¤Ú³efv¢W\¹t&ER 3²ó?ܱÕ̶”;Ò•ºIj­Â,KƒΦ¯ ¤€;Û‹±ŠAvæ˜]øvEU­hÁ\UÿOª^°jØX7œ˜¸³p`=ý§”ߺ®ÔhŠü?j™9¦¨*ôlØð§ þ%-bІ2D¨¿z/ú±Š@Ö°_+?¾QW.€ƒsôŒ«^IRöžN»y{™Š€ÐÉvAŒËNzÇyoü²iUøSGä£)_rªéâDýƒŽça¼ö:#£/ºd?ô2 ¶k‡9P¦ü,7Æoö»öb+üt™-‹ž˜rs$b‘ *“#g÷(OiæÖûD<åHŽãFk1"8]¸Ë‡aâljyºØ–€‚O˜×{Fßf€=€¨‘¢ƒ<™Õýð 0¥Õ§1¹-ãèÏ⣮+]`¿5¥–ÚæH86ÁÒщ¨A­Øú´3ÚQÈÜvûØe²Ñ„lEˆ­j/šr‚f·ïACŸïL‰+HE.Td,b!€ƒ™¶i‹¿9EÌÐ%)½ »viãÎÇú°’„<zwrtëö~&¨Ë«KK6oºªêzpü"ï¥Û³nCåþnâß·i÷¿™…y 1éÎÿûÿ´Nô¿/›ö ïNù±1µS?ñG§8H+²nt¥|»Æ}QÉ5„Æ‹ñò"/¿V"Káœ.õ½Œ‘ý<úcGÇ‹OÍ9֑퓉ŸvÏY‹ÜßLÔ6ø tºPÂ{ƒ3ÆH!Hš ÒcãÍ@èøhˆÂÏÃeV”Ø_Hó§4¿δ*l÷ä4ì‚2µÒ¿s`¦:‹àÃy|£öýýÌŸ’‘†Žbk­yÓm‹†…ÙÚ§º˜ÇâÜoè€3ë…4¾+¼³j.O{„énÞr¢•ß7b N7¸Ì¢ý—|EÙfÉ@´—ˆû#`rìÉ{Ü¢¹gío¯32;XŒ fúˆ²_;Ýx]£‡y /«­«‚UŸq`&{ü|·ejü&Š þƒ(]º‘—ÉñJÝÌý˜×½é(ŒÅœ;ÍöÏ/ö”Í1j…I[± }í›Þï¸H¼D¢’н"ƒæœÍ;‹¯º\RûI%Ñ$À?$lr ŸÄÔæ¸Ã÷'Y–Ö $øÉï&N‚â©Iã^ÓG¢,]dâ^•S#LøKK®Ñ³š¶&+V1Þ0‡jŸ$†`E {p3mƱÇܾœ×4õ(Éh®ŸZƒ"Ù$'j~†ëÖwø{ÆõrxS%üX»cÆ¡ g¨,ÙP¢>#¬¸uOÍênUÀ)t|Jǹ"Tû8,›Ç’·u1^KOz^hª¦§´µ' Kö1Ÿ¤Ç?™µZI¹“N=çÄ¡"`w©Š;&›ÚF¥e§`6u¶Íø;fqÝI´wá¿[‡Š…ÈE©qYÅ+€|ƒž˜ψVµ™Í©’¹¿VB'Þ¹×ÎC¬GrKÞ6K-¬@ìT2âÿÐâ+ܲi81W‰…%ŠþäÜ8±74{ÝC#LMþïÂCõoÝF¬ oFøŽcvÔˆàÔZD?("w÷¹~àŠ”ƒ'=Šˆ¯a£(Dž/b#ã!Áí¬7v<ü 4ï߯°°-¤kUoIÈ ÌKO}á‚LSbèÙ®Øç(¦Ø¨=ϧ^3Eº—Q¼ÒH4¿šl‘¡Ü?*4Þª '™slŽ4YЩ[ ¬ Åšž Ý™\ª¤äކc´‹58‚¯Ø\Òo¬tRt\Æ l4&Ì‘eRêõå_#ÚÛgst;’áÎ(à :ý'A„î¹½4ñöìÞ(0CÚ%[šiõÞó6¿ƒ[…,ë¸ g0¬a¾·¥*pYº‰^{³š¨ ð€mÁÝŒ{ø(y$(=ª"aÚË6×Úà2»þÂ)CJ.Öûˆè;Û5ÞO”ÊëíE6К¥ ôÁyÒRT ?eƒ3ûœÅz¡A “Ù"œ¤.ßRç ùòâ+¯^KºAŒÀ¥ +0*‡ÔŠÕÿ•d¬céîVÞwÐØ†ƒ¿‰fAà·ŠÁ¤îÆE‘] Žøcy¤‚Å6׉9éëÂÖãX#aºõ)…Áyü¦Ÿ£Çã#œcª(ªré{|ôO69ºv¸«—Fgùv#ÎóV†ú»©àÛúÕcùi•°ðq%’¡Îiµq3{q©ûtûWÔ¥¹üThhÈ'ÀˆS#.¤yDË›¦€õ¼€‹º>[Çs‰§ •%zaaÒHè½J˜ákµI_K-·)¥él¦ Ð$¥'ÔÒ‰'Ì>¸D.Ý,{F(úŒb®þ©m‘`hRq­9cýˆPœ§)¡è§ ±Cówrij|giÉ«MÒÁ¼ö#3qiªeTþëÞŸd—íq”PTÿüi×C¢¼âÐdzY™m~ÛrøÛ³ú_5}€gxN\«(ìM~b—³SQþÔ¢Àü•ÂP[0hXå7Õwã6O0/@‚àë¿;>ÊlÀsŽ>fl„ß)¸¨ëdŠ48²²£+¯F}»£ƒoî¤O5bý=õW¹[+&¨ú—;ðÊÃ<ñÝG‚Ü…ÏûWÀý¡ýÏAÙ’!Ñ+³kŽ;¯)ç„ä¹û)¢ÇÄ£Xé³lBPc’zÍÒ÷`*‹£Uó0“\Í ƒ±¨äk>r Kø‹ø.ß<åÞ´‚5&ŒŒTv5ät ¸à›ˆ G ¢ËÛÞÿ%f8ù>Ì®¾¤¶¢{r~J}ı>xÒ¹Kµ€gƒêRªa¸“Рa“Ëo+ `ìÉ?D¯©áõ,ë Ž(ö̲/—†‡SÓVV¹k¢,ɺ6Ùô9Ç«º ׫¦ª{Ãܨ7ìà3“k¤0â¶e:….°­o€ö¸FS¨Àxñ`Ú˜˜ /”@ω÷d⦋µ4”Ï.õßÇâ3¦¦4O×8¢6 VíåÂÕœ£ûl3±.ÿá¨é ½Õ öŒæ²áÝæ’¡#߆U™‰`€K/s³_‡û7܇ ÒÉtY^N(ÇDˆµoÖD؇rû¹ÒBâ}ÈÍÏê-iÕ®á°iC¨íH±Çg'Kç½¥ëDœás!ƒZéy¿hŸÇ!¹*ôÄJ½1…¬=ßmÌ\c8msxº¶÷»›‡b’Æ¥º¬Bl.‚ù·‹ž¿ŽiË¢RÐ;·X¬µûƨ#Ú£n+ê™gÈü5æïV1«c“|·]'V¨ÆûºÄ1}B±Æ ìKÜù~F“¢F1˜mÉBÑÓ¯´Ñ7h|ÁÔ7DÂÅ´f×zímQ’ ­VÌPÌhÄÜš¥¥‘D6œõd6ÁÇŸ:œ¿' ÷ïö>_FM¤²Ið^°^‘ñø°õE×å¾±ËkúD ÇS«'úUG¶ŽzòVKþõ×(5Ù…“OÿhQQô{E£ªñ”N¤|¿›â1¯Ä¹—Ò­Ÿ• +ÔBýå·¨ÿ9­éÞíîA´ïÑžƒEq–ý¯yo»€R£`q‹þ¡"øOWY±ÿ2Ï3/cFë稕ÿ«”ðâ%7‚cOÞï(¦©±í|ýû¸¥ðêæT&gãÛJm^=v†èŒP¿—cMkÞd(hKî-Ágàߥ±T®ÓÎÏk6ñ€t } æÖöï÷Àæ¯ö\=Ì” \UìAgI"ž P`£g‡ˆª!ÃlÐ <±’…$_!èó¸Á¹ô&6HŽw´©›Ü‰ˆ³©éî-ëÃ|n¿³±†Ïðš„Ëö¾ÌV]”,0¶Lâ¯%çú°ï©y`¸‹TsMùHt:õ‹¦ŠÇ§Ÿ—óç4q¿áÊ?}gr£…Í(Uw¢,Ž`ì–¤v ú Ötc›µÉ·ï†’¿ˆEt³Þl_PsL˜Ï*ªÅ hæý|‹°.%’k3æ¨v,! · ‹«øSPLº/$ÅKÓ³Z:ÑÁ·Šª+ŸÓ„-õÓ–›B$«^¡‰5§Þ&E·F’ã# ZÞ³«Ï¼:t¾Ô¹" 1@5 È)ÒHqÑcÊPýÊU™Ð¯/³Ý >‰4¥Z°5°Ñ¢œyO§&¥œ&ÿW=XÁÁ¥èÀï/Éa£áëÊþ/D‡>Œ]æÛª/œ¬FP½–„¿i¼RéõkÉpI÷©›-N£õ;)䛨èÜù5ëÑ· óÅ‚ ÷ü>ÅŽx¬ºKÒ'¸"ï21Oýûï¾lLÈ2ÆIß›ßÿr8AÓN“Slœ®«4Ý\ˆ¹E«e’[êëïºW3›+BlÌ;L&/ÄbR¢ç§G˜é\A—È_×~]mÿÃØTU½«‰²Í' ñ&|ß²ùev²A`lb§ü›ÿû¶;:n^ÿŒ¼ ØìhÃD±ÏD¸z\ÞÕ¸ âæR#éCèhÁ&d0D5^+—¿ñb˜'&n:âþK«¹Ú32³jÒµyî­àO’/9 QX¹£²s __Ò¾woZN„!–«ÏäâB¢úŒ$^å†oêÆÑr‰(dhÔ3Wtº²}Ïå[÷ë“ òhK_ËB;B¨D•…5Â߬Z MõL—L„Q® J²‘=ÓêQ-xÊc,*SŸz!§©º¦à¯ûóЀÊ\Çn_g;3KiÇ›_ßSµÔ(W~Éó“8G:»2RI½]y{ê |uÉÃΗôPêÐÞeéëRJÕíªZè‹Ó"ûHó±*™_³øtt6à n»m"„jÝŠ9îP  ´ÿñ¹"_MYÒ©9Ì‹­*øæ¼Ù{„U××Íh÷/ü&$ì¢j>ë7iG>‘I·œâ<¶+¯YÿüŽ8 ŸKÚ5³/ Ô që?kÃf÷ä«[,$þ6g’½ÖsŠÐ!Ñ«ßti9úµgÖ]f+Ò3PáÄøa{ü8‘+à“Õ‰âb©-Ô¢¹>–™é則ƒ§²8aí úqeMfc]ަaIg$·ø‰[^Ù‡¤;im´!!˜X¬ErÕŸjŽZn™¨ß*°ýE4ãÒÜmÄ›û¯KÍÃÒrp1ª¦¯Kùù:¤ó¶€Î]ìõ~6rÖ™%!Ÿ¡ùˆNáÇæ)¸†7™Küš%ëÌÄ£9ùŸõµ'Áát†Ó…³‡G”Ëàªç/8Ž:Eù˜iJlZ*\õy€TæÀ_—bÍ-š àƒÚhOæðMz=wú*4ãrV]^ÆXœ{>ÈÈܹJxä9’ò^-Dôµïê ÀÆÓrg*6Qæ¸>ù,‘@P|µÞ{ ¶ÕƒfÉý´Ÿ¦crí§0Åt²fØ4I™¾†äªYB8ëÐvmW®YMChÓ{ÕùQÐc½™2÷|¡)Àƃ a<ž€&÷Çååôß ¢¯Äרàð®ô0ýB”=Ø:¯€ ³ ª‡”¬5œf_lÜ4ÂÁŒš ÌÊïw–EMºzF/yeI—ž«ÙÊ9kݵ³Žä%ç çk5¸V‡•™yS@ò/¢÷u_ΡJ¢.%ò0æGÚC*Áéƒæ@Å‘7]!ÕpN—¿ŒÅAoï<»Z˜MIðâ>ð2õ7Ôc*S–ÜÝÇ€rɨê¢Ô#$µi+(´º#J]pæ¥nO®g— F fÍû7oþaíF=ú“‚D.Ùo "F”¼Ì š®íè Kâ$3 ÅhbéÖÝîüæ¾ß43%‚¶„HSW›®úÕ8‹…—‰3ï( &ÂUá.ç…ÁÐ3Ç }÷OÑQÐ!_BUf[Íc‰Em”'è· R<Î6ÞøÂr~*‹Ýõ+•Qâ`Ī|úvLo‡/€£ˆçw¯ÑûÂ虳ËìMTý·œNNlÃÍQ¦pŠJ,k?Ðߨš‰ˆCnK•Vÿm©sPÔN-:©ëÏ+¤GØnd.Õ0â¦+ÁO{r¾B KИ©ðƒõ4îtz ›?.É3úíô¨ÜdÎpüm¹ü ˜eâW¯Ä*)&wã(–-÷U4›!ˆj~H‘ñ<ŽÍ‰–•Ä©»epY¹CÉ䕯qøŸêméX)F’][—|r2O¬BÃpÖ\Ìó­eRUUHN’_šbàjä"4°uÝ<îÌ«Ê6 ¤ˆ»Ëëi|ôN%9!bÖÆE×Q^sVJqžÆØ”£”–e›ˆ I=<ß\ñþàñyí× …(GÓ›ÒÕ\ì]xTà‚¢~ǹÍA¦—Êz¿ð²àº¶«h[f줃5Jj% 0Þ.¢1 Öõ‚ò˜Zr™.ÀòU¨¸]þyÁs‚?¥«3å?ûwo‚Œ*Ì‘ƒðF®`±§ÿoýLåM3DCÊì »?í÷ ±#ž<œ n|?äÈü·O¼=¸¦ÈÀÎýê•j:ó¯q¢“hß©†@TŸ«Øåéð¹™j–ÊÒEa1cѲtá\Mgº9­¢^º#&¦ÇÛAê¹-—袨•Üù£¼Kbž\!Ü¿ïk¿‘rzâék„˪§Ãíµ^‰™*œC쩺BÇÅÒ%a~ŸPÌBôyI­˜L‡ä]¯¦¡YT$œPãSQ YÑkñs7%ÌN¢¨Þ Ãî/>gÖ¾ZÌÓRÇ+qÍH¦g äÞþÞ ëhÃEõý’ç4Ï›èŸgˆ„a4Ö.'ŸÛÂ2·ò¼IÜ35¾Û³wÿ? £²rÒµæÁO9ÆÉEíƒT¶¤Jpb´}sQ *âà³@Ø­‘E_ÃØÎ"ç8#™>‚ééË]º:“Ó?èÓÿ—û‰Å ±ìÞA…÷rm{Fp2]I¡©·‹.(Ó£xÑP°§Åu°®8þŽGmKª`'9}ÄA˜‚Ýü# Æ 8ºÜ¸“gˆ&ã’ô~Àw´QaübjNû⢠J ¸ àËH"ýò­_ÍsÁBÝšq^»ÉGŸDaN뵂ÿ_ú>¶E¦ÿ½25å?ÚÍ3íÖÓÏ?Å}(U‹°ÎEâa‡m*ǧ.ó¯2, ‚œ…[BŒôž| ½¾Âzw´¬6} M=¶D’XUÌÁBÊÅà\ŒÅZïðŽÍ±àsÔBó ¤TŠ °=-´> f:>§S{0‘ŠËW|>¢°,²áÕnp‚vSú„Ý?ó3Ê7ÀQkÄ—ZPMÔ䢸Ã×fR>Ši¸Èüñ@X³;‚Êz«v¶k¡êö'kÁÝ”HÑùg÷÷ |Ýõ‰gm¥;ø‡4à£$;ÜûØ\ÆémƒÂ:Àf@;À<ðþ°l†Ú-ˆƒv\=ý°7ñ„æÀ‡Œ Ø»«ÏGÆ=ÿo z½«Kj­o2#3°×,ƒÝ:ü—vŒª„rïñ5tÙ£¶/ ¡frî#&»ŒAÏýwãH/b£Ç!o©4æDZ Û«èF6*{·‘3öK=Åï[Ù[ÁŒ‰µ¡éS“d¢ý\6Ú~î;íàåZŸC^Éñtµ—“ N´¸ê‚ú`Ø7þ­Å ò•Àib÷+}åØ ó g†¸¤0źÌ}2S)Z“]àVîZ°{ß`5W(ÝÛùë WãY¦×ƒc…À ”ºâ@¹ßî¨9~Àú&޽¨Ðê¯ÿÚпT¸¦0mJøò(l «lG1] ]Cšd3—x©Y9lÿGɳÁšo= ýk¦Z.G3Iy?è¦J»‹ ´…dßÝY€“(û†“rÀ#ª÷'ÑJ¶˜lIì­Ú-ýàÓVª€÷’—R ø°M`×rš®ê<DZÒ.Üq`⿲|3ÄeLÇõTM­3S!¹÷gÜ_Mn1Ø©†šÚÖ7}¡CåG­ºB7·@ð6×%–s ›³ƒ–@ÛL%ÿSr>s°¼)Jàt‚õ>Ólèçk±’#3-uw’¿'xø9‘ÐlÖÎZã\ï-û|†‡esõBäÇN·OÂ\ŠÁPA¡ókñýpÔ×8\CòH>©¡‹•_AQaj…ymEëàڕƬÎÀcÊvÞžºó¹2ÈÑ!’’;Æ™ÍC|¦âlvZ·•ºÃï}'~’6PIôþ]¯ÁŠˆ[ã…L|GÔW¡Å–†%TyçÒ×D3mê[žNòS¶e•&ÀE‹'(ªaÙÆ÷¾¦Œ!¯h¡«º™Éä×sÍb/%ÑÁ±›Þj¯ Ñ‰¦3ã±SDEФ°y½)üÖþ±>âv*pÕ w}Âêí‘®ôÖ%ï¿)œ1äѵOºÐªÕŒ@FKÈi#õ\„­çJa¯&òAì‚·ðûáhå.Að:%ëdz£Ãõvà 0fèJ–‡í»WŠ– œ‰ ud{ÞZkS]€ÁÓë`)X·¸ÅÞ KWöˉþÊÁ Cpб‡K<Á˜nÌ;:w1–Ʋª¢é+è[Ö«ëd²Kµ 8»¼ƒs‡±Òôö‡ÿÁOšžHVñj y¨qÒÜ%µá)Ò†3¬ˆl æK(‹§ §vbÚqZ½V³v‰„ ±sv 7,2©Ø_CçÓX—öÏ6låJÕ}m)MxEFf@±*9ì¡—‰8ùRâXí¹ÞXÀh˜H*JqOY ÖÊvÁJeaž¡€¼9ûŠìÇP}¿]6 ézß6‹ø³2O Þ¼1ýôÝûYÅ}Iä%…?›EÌ|󆕒ågp‡¹wp/CÔ´–¢øú£°Nsa³d´ÕÈ[ä Åö»Ä„7AoÇnJÃ÷¹ô4U±lN¿èHçÀ_hÎVÎ~˜´‘hŠŸÞ"BKP7-…Ÿ 1z¦¨G†_Æþ-qU:¬&G6]„‘ÎÿêQœIž¿ß«õ§LiÒd5µOáxé Ñ ù¹¬­`Zú¹|õc ,æ¿JÞ›æðúÐ0>®tÚóÜ`Ùs<ŒÛœùA ` CªñAŸ¨~&^ "ùZ‡yÞáϺÓ8+MêÖnz(®íÂãèè¤ôE׉FïSëx' …×, ²nfàÒ)£"Lß׺» YXj UêžÔb Ú1è«|¿Ï Á7¶Ã2qØdê5‡©šxOmÖ¯<â›&·Ö†±T†7'˜]´ó•ÕtèàÁ6ÀÖ þ#ü%Œ£±m(0ÝüÆ=ÚçzÞ¸½©¢[ù4 U¢ØÕr-Ö¿s‡¨îýÇ/1n!ì„̵7žl³vXЕÅü˜êÚ½¤‚¡‚Ë^;„î|E}ç\Öï°3ð†¨uÈ{ ™{gAmír¾dv jMoBhê-Ƈˆ8¯Šï)Ã÷Øiû‡£eJe°ÍTHÎPÅ=8NVäINó“Ì6+øGʵS;]­\vçÄ{®r£ún‰²ôfšÉЬç½kMßì¡Ü´ƒo‚_ ˆ³â#¾>y¡¢ë!Ÿrx8nqå¦ùFµªeB>zUqŠð¡  ´¥]ÂT­0€¤4bJ :2v[ùãùQV jea&«ìET=‘Éù¦ü’øÍ¬Ñî­[èc&cbDÓ°X;ë®¿ãÆ«Ø¸g¼Í Ä40ŸkêÜÿK½ÍIà^ŒÅ'5$íÔæ|»Tü2ÿl^ëù|mé´ utja\"&¦@°6gT 3lÌBCÇz¾x/󺟲o‹ýtêð¦Á·‹|um^¦ô_O°×fKI8eDð-à.Öí‹×0< 'À— ìâÈ©#º &8ÛdML}:xø¾:ê[ÒX8â?ýæfAÿ¥Þ†k/ ìf³JINài½7°^}¯}ìhbh¦`±M¡É–ÜÖ_\~“c%F°Ö,§íêÞ‹Ìh,©¡LG£üB…pWTÉžï6 É KNÄakUðnËq‹KŽ­^\ËÔa{ 2êê€4ð~7‚ŒP•Rv’ý„¥íÜÙ?¾¹ðßO©å‰ çêè.seB…^q¹LO’ x¿-vÊ?ü,9Á8‹®—ˆV._c"úÑà«(“¯obÐUÕBÉ1ÉÝSW –Ý8Ê.Ób òÚšyv}gÒ_GƒyºyR£4ˆ7=´„õ'½ÆÛ àh·äá÷†¡.å§¥ZÞíB(§­pN‹asܶǦ ÷kSà­}Ÿ1Ó¤lÞ¿1ÔˆÝ$Ûÿš°÷ñÀqá”vlÄY%Õà×Þzž'X¤ÖúcÖBȃ€HM¶’·É"÷äàü§NY£ ê4ý,Àk¾J=ó}å•›Ùœwq²L-êßMn8J—Ï‚¬*½ñ]eµ…€äÊĽÞJÀ“Mm¸FÝ_L0v%ÉËü1ôš˜TäÌ›åa½ÞÇfk!Å¥´.гmµéÈ㌙oC5Ö³<€v†ïXM?lwÛÊQtÌ´F%ˆ³ý*ˆ ûìÑÍÖÑ $éåÜX/…:˜f (GꤱáE­ˆèzˆÝa»_‹–oJmÅIñ•d‰dkÜ¡Ühóü_ЈèFžƒ±žV'u™ÖûX—¥‡‚Üg‘ «—.QѲMé$NWUñj³Cán«Mt"áöKª cmÖáä,|¬¿»/,2'ƒµÎƒþf<,!›+Še·ž]ÍEÄ¢0M™S æëžuÔ’‡QWFýжf›ìšPµ¶×7ÅÖaH\0¸6ëCc8ñ_-M4†ëþŒt‹‹4î†9”oæ}ûMÕ !ÞUµFæ¾Å§îÇr“1ŠXQö'òw¸“ «ÁErC&¿Í‡y577§HRéÞ#Æ@r_3“3û dØ'>ꨵ`7-áfß)B¦6kD"ˆ‘øsêýó:ùÙ•ð[ÆpŒ~c:÷´¦½jl@¼ˆ¸2h–áèà<\'(½Rv²Eø¯†£pyÿ5YnxÔ£ÿ€äkò~cd„÷ŒB”E3UüÉ ÍÄÿUèãã0µ€©‰=×wâÛÄ+\Ž Ï=/§Â<ôÒÍoMås3~©y0 ˜2´Ì¼:kú~˨{ 4Œ_KÅ,\ËÌÜùíñî#÷¸ÒÑ`o!KaW¥®Ý2ãžÏG•¥µ mœÜ<šÉN«V^Ðu©èO©ƒéú-üf’j†ô[àÒ?™²Roù1&py2ôÂ䮳²BcRUæé¡(Ù+ÑŽjª“sQƒ¦û4®ß&DSÈØãüŽÆË›Ï”¬óÚü»Ø[) ªˆÄqT7é°šÆÒ]Gpýá†Ã+<,CjæÐéô¢TGcËö™nóH1sße•®¦X vìÑéØŒœi='9¶ìº\µ:ÉÙF€ÕaÈ5t~þJËš’ R «¤ëc¯Ôþ“‚ÐX9ÊÕÝ¥ÖÃlçó e¬é½H$ ÛÈ.~ºfëÎâ-ûL>&Ðñ±²F¿ž¯MÔ‡*#LAN{&×x£o40áÁù-½‡ª­?½3~‚øâœð½Úš–Œ<ÝÍHët³XW¥G°±ob H᜕wOt5Ù°K>«t+òÝV,µóعp%sÄQ±Û÷ñÛCÀD¡Bà” QšUnLýžbðšèÚ´i™È ž¶¾3ŠG[ÜPWHÈÕóa¥µÖËC>™¦©íCٺá³ÝZ×Ès=Ö¾% ïƒ $È^Šï¹)þoïü0]wŠÙi[åß³Ûò%AQ±ÛrSwaÑ $!"`˜=3»M! øÅZV¦q< ÐFŸ©'$ßc_º¸ëJØÃ=0*Qœ¯â ~t°5âYŽ€-¸þ,$ÒÏ20BÆûOl¼…9Î306 !|'é(43$Ú-Hé¸åw¸h7…RrU¼Ñ& ÖrÊ<ÜݸL05Ø–KúÁµñ¼Q*GG$®Uň©ÇÕZat™´Uä¦cî]APÑ»ÙžŠæ*ùT¿^Þá7")~‡½½jY7s"„ë£ˆÇæiqóp7›+’ᔸ§à‰U’³²ò;…OðýˆEÅ=°qTÇ% ¾ëa×Û¤Ýû³œÌ½¢á@'Zÿ+ßØÒ¿¼‹Ü v¾ôÙä׸^æ½Zžàéc#ÀkG‰¢¸ Çðt&÷Jq9 jDÀ×Úù¸[Xž?>j ‘¼fœì>”Û/eª0À3—/¸¢T:dÜFFWÃLV}/¼#L‘¤vø?Ç@_%f,bž´(ýN™Œ‰ØîK{Ü–Gn#‡ñwŽ]ݵYÇ&ñï#•Hµ‡¬àM˼Î^ªw,ž.Ùa‡èŒcÌX¹x0ñK×ý‡ÉÀ)¶ÀµÍ:ÀþOƒ-:ܯŸBü‡Ô£àóõ°wöϲòo¼XDŽlÞ7nçPY®÷Vø™Üh Ïm:¦d"VRì/lkE¡PÔ> óDzºP¯±XƒíøòdüèJI9¾,ÿb£ŽŽ'Ï9"òÚþ_ˆ‰>ï3 :ù¢\.»þ½Å¢ÆpwVØPÕ«uô;|½­ûV žÂ,”Z„#2É6ü½×õò¾ó*B+ôfž Xé¥Y4AU$¦ÍŒÄpÍÂáðÿÍy'\ñƒN´ÎßÀŠÉâMR·Ì"…Ž‘Àô*=†¥àåj)‘k.(É Åôï{¦»Ryé–ÚótüÜ›\õeÛû®.:Vrô ЯʀRÐÔÔ Ùßw%£‚k&×fÊzŽ"`å´,2±H2ŠÎ‰ÀPÇÃmBZK…Å‘b½cjA§¿©&¨m`Z „I¦©Ýòº%QdE[/A4¹šçÀ±ËÁw^ôRŒ_ƒïz^7ÝèÒÎ6Hƒå¾ÖŸˆ•A+ÊVñHõ'ÛÔ&(ððG:˜Ké,‹Q[cQJ«"EÓY|Çœ¦Nõš•:ªVRlÈ‘\+r  %ª–Ø÷p²¶µL ân"´ Ú[ýT´ù†€„×µö³ÑÏþ³Ysóg¼T~_ß;ÝéVžù–0;ÜdEïLÑÐ<ó6¥4˹¿½[‚£|èL0²–ªfŠ*¾Ö¿µýŸ‰°uâTÅB0óÊ×?Âϱ ê3ëÓ…º9Q^‹ƒ//ì®×^„ͰvvpùwCY\¨;¡TjÖFHe&Ô|ëÂû‡•=ÛÄ#ðº#:°Ìü¥îÄ m÷U)©E"{m”:˜Ü®iMÙmƒ@"¤¸›Z\ý#V‡};Ÿ- ‰À§=<O†¬¬†¤U»ÑZØLWCB·«D3?móøûOêéÎAл†vNª KÄ6ˆ«mµÜ‹ß«ñáBgŠ‹ÝÌa½v©²ÖoÑ(H:OÔ´Q}-ÉØA&T »N#}Á(H¢¾µˆ½µ”À±7£´Æ8A¹dÙ¤`@|—º ȹGZDäØDb8O1…dpR®»ù5H1ýùÎK ¹ìe”’öÓQO5+“#•LˆµJÅeI”â+9ÚçîÔ“a A7(ŠÖšþuKôý ƒFè]ÒÖ« ­"¥òÔje%ÖÙy {!ž`÷‘fÚ“¼l·™‹‹,@ŽA*ò:áž‹¶æ0%Èä)…‹8:Þ†(t¡#+Þ#Ëû¡ÁÈXqX¯æ¾½K̃ãÔæ÷7PjžêîýWòê(òFq'UÏN$‚T8°)À@¤hÙXà¨.I‚« y ©×­”ß@ws K÷Ì‘vŒ ùâûÄ14OcšQT'•µðŸAÜÅŽE Íoºñó×c^#ûá7ØÐMÅó$µ"IOÃÓG»Ï2õ CŸv«1®“/„ë i*UíG‰ºÖ,?;Ÿ´x™µwã)Øâ óZ3>ȈÐ_åzEœqæëµ÷þ÷ÚŒ>÷ËaX$@ë N6¢{<:¸-«piŸ0ˆA ß*I ¿áE¸òµæþѺ"Ÿ½$vY´TÉ}ú90:²x—°wPÆvSÓ¿fÔ§Œü8ä™ßäÒS¶G[ˆê?3Ä_¶}P‚œ” »©éºû}©ôAô‘.RN»Xã_Z£m ˆ |’ŽÚ‘‚qBsrÛ’™ô.ÌšÉJ ÒÑaŽ-fÒ ªQTø÷SÔtK íÇŸé ÛïSÒo uàÃf_\È^»uD»ƒýM²gÆEåËÚ©\”™­2.—C£#w‚c¬Š#}Á{¶Y?–“ºV×]¤,b}ì†ù ôŒ =FȲ s×å®›B hEšU üHºö]©;Ü_Lqýˆ Ì!×Ìã2É5S]~;-Mk*“MI>³½)æëeü•‚(6é¶°ëQQøhc­s@‹=¥WÞ@ïQìºú ßR)pé ÛWÙ9xvÇ÷õÝo¥LU fòÍÞ+œ³„†ŽŽÊ«¢„P£³‰°ºÎÕúD‘$¶K‘-!!#œbo'h‘Ó"Ií]/©+iVâø¶Äøê„ÞpÑ~¦DIôæˆVugKŸ^ÎÑõ¹Õs ó¿ý3ôYhŠûµd=£?¦.Ù_æ™ÙlØíà°ÉA“%@á$'•R÷ )±5u%§8h(¡ Ë4ÞàZZòt“X°'ÿ3‰¥,Îch¨j9Ÿ#¿[±\r¤ý&©L¤m:Tn4nÒu*1Ã;Fójj•WáuŒ®jÈh‹— Õ=Ýæ_šÚ2‰ ÞeÏÓi×sÆîå¤~ Tó…©Z(álÊM±ŽÞéÊDNñ/,¦T4ó¡76 ­Ö®¦Vmd¤=ï!ýnÊ47[€ŒÓ†~íöª€Y'ð\ž|ýÕ;ýŸ?n€=Æ”¼öÈÅfò»Ë fq”na¿¨›á’?3BU»ìŒùÐ’QcmÁ¬ª2½¯Z3âק*¦½ Ehº#‚¿YJ™ßþ(ÛQî¸ò¥i“ÿ!$Úø‘s#5z:SÝv (ƒÀuµÔÜ©¶Ä@£j¥Žrúñ‘œDü¦Pa¼‹/C]šuyy¤Õ°ð›É¹M®@£_t>RÏå„`}ëꆗÙ…øÂ//ÑcAÈ}&¹>ܶòãó“:)è·z“Ô;Ë>Ç09rÐk¶½§Ì"Æ©SR*„‚ýf'Dö:|Ý@>Êàgçaö=‘Ⱥ#Uó˜Õ{ç²ä¯E5ôúqW6’ÅÌþÚ"¾_¨$mˆfíj]«fÍ¿§ÉvòxÎ1š%cIŽÙ©5ü힪B‘Χ‰)aß=Ô̬ªãáLÚÆ–'JÁ´6PÞKY"6i)_µ–‘ó8ŽC¢8¦§ çò²Ô%¢ ©Q†^! ê{\gŒËúzÑtœª—¤šá—jûâ ¥­Ÿhâż9΀”ÙŰëÛãMb$þZ‚ׯӞnËóá,]‹m»ñ{/¤ã%‰¼ï#ú- š“§ÐF•»X¶¾xöÈäL‰g¤bAy,û˜•$ØïÕf]]™lÑ¥H¡‘×Q£ÔÇVbjŠFÚ üÒÁÏ…e= sT z?5ˆ ×<‰Ï~ø¨zÙ÷-¯ÊóðÒHÉÃÙ çù!gÕ5ªkê”0À¾ X|ôè•úi[< «©2dZ%_PÄûp·*7kgløäE¢\nb)7³vàøU˜œ‡ãožêªzD_ízÌBk£f8Ø5J¾Ï1Eɳ»ºAþ>|Ŭ8C¤×ù&ðºC†¿dÅ3¼ž Üà?Ga=+ê!Œö>s—xاÏaqœÇI2‡r>Þ)È åŠ%•]á(LæõÌ2ûÞ[ðm<ßtaB±axûÜ eøÝÕö@êY/lÔ6®5EA¨±¡ ‹—¾‹ã¶m?¬!Ä•”)îú•V7rï¬b„ ²®:r›Å/УŒJpžOf6ï]1…æ¶Äwyõ)ÙÍ=Ιt¶f æYBmàˆñ¢Ï1µ¶È?ŸÄlÕ[ávN\</Qo«KŒgtÍQXñ¢[ë®yFQIràU5f©Ø—×Âúí‘ žÓî×I›E‚ÁHxl*©$ÿHÑÂAb“ýd¼—žöð34À±ÌÁ%@´¼2´àzâ2Åõè2"í BºÔ˜§Î*‚ˆ™g®f¼fÑHùk2×h‚ŸR=v s¨â j%î,ÐwÐà|Ã@Ê;>$‘ƒsŸïÁpdŸ(º4F§Èa¿[AТ•à‘Nþ[!<〺üúÂq£~×”/_›è,“3Øðžn ƒ¼ÒÙ=ÛOŒóüæLõ* ³8=Ú0f9ˆ6Ûääûá"ágYü“õùL Ï°51>–ŠE´;2?þ§ìr ™7§Û½ Â*±€x©étq§º¾Nuí‰:Üøù…#Ë(ýÐñR¥2 c:̳X´Âf>ËêÝTæž8¡Ë5'Ï{³)ö~€Záäר0{ÿ_õîõc÷hø€ºì‚ŸþÃÙ>qmíq=’Ñ¡µé’Žù×nzp§rŠ2|´û¼¿o´o¼@_N!Î2Šo±‘3]4MÉÓ­™¤Q*ÍCDêa§>Îéb«›iã?Z'Ãä-zíÑäE ®¸²r= Cñèš(dõ¾[l¸(¯xŒÆÐèd“—Æ^\I .\†ý %Îû4È#q?+‰˜]/ûX-cµÚu‹“âññ@©ü6ܶ êÂ\Ùì‹ò’aعùaß‚MYF›½›ÈáÿJhÊÞ2:¿J+Uè•ÜYldòoc@3ºÓ±Õ.kö`?狳Hžiˆ¸Ì¾r.çÓ¤gjúºX,É…|N•Ô¯Ÿ¨M÷éáà€r™êE2}¸óÅ&pf%[ ÛKÕ}Š+#‰ªšý.Xõ-¡ë&#dH”¡€° ¨¿}íÿZxQ@äþÿ *Bゎ gÊ2O)æs|F†šÏb’«MAVO_ó]l‚¢r¸ôÞ8Ë2%îÐÆ“åòÄ׋Ü Ù@™‡­žaå¥ÞjŒwÕGjx½+^h‹„ühćåqÉYñgC²6a7•?ûä¹w×PÓ÷®K‘îvYJò3¢º‘‚}yü6€ A V–Kþe†×•CosŽÈß6{˜]žjAÃÒh›åBѧb×AØöf‡y‰óE²%è¤›ß  b¾ÈœBÏ) =—>üsES$ƒ’dTô0žç˜ú©t¡WhFÉs,Š8]sÌHÛNôO4:¬|èÞKH€¶¢¦$Û¦Ä÷sàÔöŸSóöiDùÆ©€nÿ(Sy_±Š9$–ÒÁ蟋×I)9ëaÞ\@r~" ®!Øÿ0HÒkÙuµêâÃüç4zìùÖ#l½« , =¤=sì—‘åsÀ=MV§ô‚ÒL¡²0§¾‚¾© a“»&ZW#?…*÷íx þàb‹|Û?¯¢]¯%2QÁ¡@Ràaž|;ÇÃY³tQA‚'~7QÜâÁÕêÒ`¥%Y¢òœ§rF´\wÔ ¿¥˜˜þY¸·°“hÉ¥`0"˜ÈŠ0?Õô<-Ø–2d‹Ú©“æqL]ìŒÊð ŒÀDGê 'à^DPm¢öökîKÌ`A”Ѐœ˜Ó±{ç•€/`ð»°Ã¿f '|Sê ö)÷oõiXäi‰œæ±~pIJ‚ „±ÜšÁ ã|ËÕÅ5îÌéÑ/KS—ýYå“nlœ(ƒÜ‡„]Oá%¼Í‘›$ÝËÀ±l¤h±Éױ鹫¸é¢eyr)è €ƒeƒ{°¸¦c60‰š…-“9}SÄ2ך‰žÍlÔt Á6¨ý,nA[*¸Ï”|U’÷>#5²¨Î›ƒR5Cü¿ÈnÔýõ^Ó6à>b„Nñ)ÁE_ 'VÌËê8ñÇ,'éõ/8a4‰Îaª9é ºïé‚NøË{ ܺ4 ŸëÉÿZÊ=)?•ÍÖ2o`gîêÊÍͨ¥j^ ]£fÂDEþ§œãíÊ›^iz_êqšƒ ѬwÆfíj €ˆàa!Øå|ì òxK‡Bl•5ʶ9Ðuš™DæºëcXä3†èw‹ ›GÁè%‰Ë½r'6›¶MºÀÈÌ'jZC“.Í Ä¢mHñH=€Ub†Ó098ônÉë™Q'ø#/y#m‚A(@gM,’ØÍºº~øéxP§.ýÃO`w ŠÆ|jžIwæ.ܵDԯ㸞è’Òbwef8dà!"Leß½€ñã›b“¼°í5‚œÅ/6ìƒw1·…€®uØ•†K,ˆMEX÷=D ¨ P€õŒB¯¯3—ôÄhÅ+D3»±jÚÒ­N- ëá Ùt8`\b6Ü\ÜÚáP¡È|¨åÖ¾¾[$ÅPPñÑ[ôŒH2„¥³a²î&º¿Nsߛƾ´²/êà½Ú‡¬E)PÅ*oD~7rcDËäÊ=°7֘ѧ^ÿŸ~¢¶Ö,Êc$J‘’©}×ÚËöE‘{Øç$侑:"CKFß® ÏzîÞY‘“YX·Ž_Ö>åª]túHEë=E '™5íò½òg žF‡ßw‡î7 FKÀLì ¨‘=qPž[×\àÍ´^CšQžc0€Æ‰P€5æ¿(LÈÙ¥ÂÄ Ð½W¿ÁŒà½ušÉ8Y•]„O,ùn‰Ív|gÝ•™cè”ß±weœÎS/ ù‡Â˜É¹Ùk5–ÑzÎn'“.á’ ç2Ý”äÚ¸øsPgóøSråœ^6RFÄD«Žœòå#?9i…QÀÜ^ö‹Ç^ýYh %4Ùùêý1 >ÌŽ°–ÇÁò/²±_¢¼áõä‹=YNÇÔ•ã§»œ¦/7kA µZ&’IJ¯A˜*p›ˆÓÛ ™cŠ ˆÛîi½^uö+mµ`ŠïNš(L³crB#/&+§ Ác¬ ÏÞêV,Ðy#û€ûOX5ÍÏ”Z€†ÿå“é|\+©ïb¨V¼ÓˆŸlÑ—¸ú!ú)¥c¢ý–UÞùœ/ —Ýõm5; _pàK¯Ücè5×Rõ-ß eÞoOCÖ>'l“Mà¡eöÖ£À›ãß.l‚7 Ôw—;Âugrø73œÛø ËÈrxŠ½Ù…Ñ˜äü‹/„C? ŽUíÙpú=— b›7¸nÍY~¯×ä!Èr;9ºd×н8¢°:%äü[Öù™ReˆKÚKäpA| ·ä¡áaý€ûXRJ®TK™ãÇT¤¤A9îÈ#ÆxX*å±Rœ÷£±ÙÌ«O/*ÆIõÔXàÿˆíž_D)Ò™A$ ðf@†è€8Mü _éHzcòº¤”²Wñs^Þ‹Åé©e²™ªâ«à–]Y¯‹‚­E[ºX“‘[|†RÕTÒIu`¤÷ļwT ’#¢ :ÁòЉwoØ¯ÕØñ¾N£…tr(ÀY¼•_þÑ"ߤ Â!bzÔSÈäæ@Â%žÙÜR”YλífFGß-w¬Iy‰{±:ïÖÅlˆÃ^t^±vQ>G=ÿ~ÿR”`ÜŸC7ýq÷Æ ( ÍÐA4ï=mZqzÅ÷óZ™3V!Z…³ËE»ŠHüÿ‹­ŠØµõª¹Ú_>-Yõ j E5uˆÀ‚¶ ç¾nf»§FšåI²ädfû‚ÖñÑÛ‘ÍåÂfÁ׳Ý_‰=•Ã\þuÍ׌|1¹Í±0ÂmÅYOí]â8™v‹À€É@G_–q÷\øõPeÉçÑöÂðî-nwï2Ó[v¸PÃá ­8ƒMÙsª’ÉE\û˜,œÝ°ÄQ Uz«Jg—…Ö^ •SXTJk=û_÷B#HZ}k¹cŽ®¸$ùÒûë‚øS òÕ3µ¡dˆ#“W†éн9ƒ˜Ù3G¾ìA»ÜØÛàn ÞD´õ°ý‡§§à lÞ[$lú¢þ¹†^ †1qãìºRýwË2ïGZo‹Ò |ä³m|ÇÑÀ¤TN Åut‘"I Oˆ¾¹@³^ Ê® IÎÝlD÷FIKí¾šYnÿvF6<3†NŽîakaÆùü\Ø¥LpD˜¦,(@vðnòîžùNwµSšŽE”ÛøT½õûf+ ?è_n"û¬WÞNXñë”Ñ¥äÕ&D6"–[| ˜Â””!F£î^&7³ Üë/Fé9̓ƒ“ŸgãmNê*,àx‡bþÛÇKœPݨ…lÜÈLÂ{G­Úh!à ^RÛžþ 5€{m‘8tàÃ~²$0ú7:ûát@K°6b"⣵%#ÆU.^õˆy½4 =¥ FÍo)µz1þ9ùTH†Kô7Qzv8)Åÿ¹°Ú@ôUÉE¼ð³nžá‰¥íc"ˆcçU"}&tB¢ìAÃå)jØépšÒ-‰BLZ¬h Ñq # í¡ŠTºÂÙŒÁøéj¡´m|Öe Æù ×Å$6¶™ý˜•ÌRGÍÙ,`…P‘3’vc¯¡“ÕŸ,/mzΘ ŠÿdÞíevëÏK Ê«ŽÄF;‘_ d‡·¥ÛàXž¶ÅïJ/~‹aKE=[̿⥧â—×!eÒÀÑ7Ò=Õâ]Â8›ò”Û<€™G­PùËÁJÇ£ávYxß% :,=˜!Çtè)u¸Ã}æ8è«ÏÇ{H5V‹ÄôZÈ+ÈVVKJ`6{:ùÒ†±úíK¾=E6ò]ã›=|ñíõ×;y¥ýÛÔ R€RÐfhrß—éça­.r CvUÿÇiî€ú”[#ć´š?X’?ÝþñÓºü„‰M{+X¤‡›:›&;²Ì?‰CÃdÈ•€ï²˜Ë’ØvÛêq·TÑî’Ïß\"ºÒÝG[Š Ã\–ûŽû9<`MÈ]«]Ç""CM‰;ªJ$?à†…‚^ÓûÆð.îDW4ï«ÓÕÞÜ›dhx!|žŠR]å·ìù×,K*Ü‹§r µŸV¨c_óƒÐ¸{”H4ðY-YO`ª&â3¿hº@¸Êœ•ÑYo Q¿~r Ñäû"áV8Ö¦EÔ#å#IߦÜFQé»qÌÝè™$ùÍ+eQp=I²–; œš/}ÁŒdÎ i23q0Þ5ÿi„W(έ°8¡à#Ôn%{!/§æ\†ÇïhtÝ»A!”8“Ϫm”½Ëy€ï™/ØB4øôh¢!µvæãÿ†Ë¤=_/4ócDf Ô;±ÄÉÐ/¾°é8m“VŸ1ÊXÁßU”}q¤¦Dì fƒp¼ʈ×Û¤)¦ÀÕéÙå/sj GËŽÁwý€ÈŽøýofUª• ©"’Ó­ïöb2§iâÃS<‹ÜƒjuóÔ!¦’RëSÔÌPbÀm¼ë­?³;W5÷¸°öCÚÊŽóª ò¬mé•_€Ûê;ù¡¬À¾CoŒ¯V†º×Ehíã>Œm†Ž‹YC„ñÌänAX…ÿ ¡jï’N6FýÚ `3ÞŒá»ú]¿$°û§j·HøUò=>q¤%?¤qÊaŽH«š–ƒèW!Ãa=áGDaEÛ™V61,l9áRiá$%R•¨ë(òšÂÞ`+Ó±ëÙo½à(›k—9»è<À޲Kë—Èßc”^EwÔ†?÷LÀ[ý4× ‰^b®;S>ÜS(A`jŸ‘ϲzŸµ@ˆò•8d Éõ€¥ËpñÑc6¢‚°[Ÿ £Ç»+B}_4Çò^´´ÀfK GvÁ÷1'ð.g*–ޠҩ܃ĎÝ\†“ÿîS§écwªÐø 9„i¬ÅÑöbgrƒlyWÚ»êÎ;TÃtY°Ô}B7Íèoð- ÉÄ®²óÅ ‡%Í¢ˆüÍÒ¥-ò/˜.ë^× æÁP·qâ—(ÃÍì”~Tî© ×?ÂrmYßx_{­yjÜÛ@Ò–fü·T©hO:aõÄoþQš¬×ÃCÚ3ú¤õìLi¤™Ó·$‹kϪ´lºrå:Èpb&º2n×ä*ƒBð+ÚVÊÛà…îÀ+mSé--7 ;WBi©µçÇà¥þílÌPŠ¡$=á±·Ï<¦Òçs¸yûÿ¶T­îkº%+Iú\/Ûwš]óÞ¥ËÖWœm€r5Q%n'[®6ùóðýõðÂöÔp½Ÿ—ð»Ï–Vÿœ||ÅtÉ2hKfætÐm.¢I»ƒ´×AH7g{í´ÏCby¹9©i4ë´3Ãðx[=üZ³@f®(ã‡|¤Ë·rMŽIp Ž–1G¨ëU}Œ0aD¨’6ÅÂ,=L¢Þ®X¥ºÎPÑòŠA ¼9‰½ndÏg³Õ+µ°Ð#[Õ8ðOîm˜ÿZ3ºÃ„ºMé8¬¨v–§=÷2"hq Eþ>ò¯”ËaGj¯|Yƒà(“,yteÝ÷·yWÿýÕxÏï÷ñÙÎx¨¹±àâÙèD«!õcÑÊ-ÌŒFAp¢D×¼9°Ç…AK¸»ððÉJ\Ó =5_Xba9PÓq1†½·lˆµfWFîn”Ï‚.ÃÙÒ« 3Rwæ¼¶×^g‰„E«‚)è|¯yju§ÏÜÓ:øˆäŠŽo°oá*«q^px°H$>™3‡uµþhœ º,8¾|6ÝÊ˦(Oó§vkOY Âå÷(@R:yÚ¨oŽì-Žo"6ì´n;B¨·ƒ°¤EÝ=‘qØpcá‰tî¸ÇŽû28×IF‹<Ýpd£†Bó§÷¿èÿR+-ˆ³•I1k XÔƒ†Ä^ÅVU»Yµ1ë3†y‹^p˜ÚSÿˆÿ`ô³ñNŽ,õó;ð6Ç «}×.¯³h¯ï=°&{=B«¨£Ý¤fí?èÛŸ#í~ýc/x³Î_çW…3Ý;MM̺¸žÀ¹O<¾ÄÖ΄\“N®›ÚÀ°~ÛOMR¡¯"ÂúLÿÇé,¨‹Èœï›Í". G,'˜—1ÙÚuQ 7è)¹—û¸W7)§¬}Tæý0~pâFxÏ%éöù*$—ä;"O fbê‰3£~ÙTw¢ÍÞ( cÀLÒy^HÕ¤°§ ð&-¥ÎoðÐyÏ6†2¼?„R:dT½·›j•ð>·žÇ~³Û‚àç˜3àZŠàE·q³ûý” j;ÉŸ&%1«à@µåŽ%ô¢œÀ~™‚ðPÞà~\!¨Þl»ÈY”ùuì¬_€õys=šðÞ1YfML„ š÷Œþl3vJêÁñ]h2= ÜÞÙÚãî«þç«ÐØ|PsÉlÞú±¶ªòª‹'¨ u ;§âfŽÄDˆ‹ó]MJô1\YŠm&àšNu-;—RÛ^õ7AýAl^Çbd}þ“°.Ãg^ŒC9%Ñ$]¼Äv_Ö.Q¼™ß6ªŸ¨¨2ª:'ôÒÛjãÎ!r·ÇftròÊçòC9Þ¦²ZTl-‰¼øªÚ‚ ã*ÿl‰ã.îo“a¤Ë6j$ÅÀ>L¹ÀÜìc÷’e+ò>°’V„XaNB®a.t}`GÕ>4͹PÀJ1eXß%aÜ3-Up¾ÓÉ_{àp2Tüì"_³v1̈ì‹ô!èÈtë|ªl#Âi˲Œ‚1Y‚Ó¯ # $.Óï^¤æý›(c8ØÆBu/N(uï?³ÄÓËDye«íÉ ‰ôµ£D‰1Eê|Ø1pJ7Õœáœñ<ÒŸsXìÝ›ŒÐœ9¤«w, NP”ßÑÛÅ_qš>êììÙl÷*­•$Æè©"Ió8ó|&‰Ÿ¹#dϹUfÏ®2:ÈnóÒDJ‹A®BTÂÖ6]U¾f7Èá!·Ö5A;ÔÑú ©;}…1[dð?Q»õøW„… 4MäÀ®8¢nÜ¥ÕJOhÞ­ÌËœ…Ó$ ´È¶…•ež½6‘/t)1úÓo+ë‚Ï…'w%ËueäøíÈBÖ4_xjó½®xWôOMÁulê9ú>ó…¥! ä:/J>xz1¨V:†\+ëÁkŠWZ`ãBÔ ²ª7©÷¢8œÝO £žPgPEùåfþû­\ÑœKî ЉתY导ñº«sù’%ÎþÞˆc:§Þ(0®›>í¢ýwµY׈‘ЇI«)ïÉ æ3µ½69„±Œô}fÛ¦§sþ¥áÙ ‹Óˆ]^)IÍs¯y^£ÛµAânTÉäóÝ€uÒ!lÿèkÒ÷Óx.øa5¥S¦é½‘¤f`ÇbŒ©Ê8,rÝ‹]ç:ö­Öö_Ý?`ÛiÁðRµ[;ÕYÙŒSS9uÃYUåFäÙJÚæªÙê]Œ‹rÜþpq x.¿ß¸ÇÍ•C6{Ê`. Q9ÀM`±q%Tp7" è%"[Å$y®ïùÞ æ42Þñ ›3oG\ª7[;'¬ü˜Ò*«Ëù0ÇUÜXeLF¢ ì÷ª#³„¹Óêsm\p½€Wn™zø³%! ç”ß÷<Ô4‹M.lâsPØÐÇçŽp6¢äö†Vå”-¸­º» î UV”8Šžø|+ƒ¸ß0³çQL¶ÄĦœškP" þ-³étËÏ ³cPõ!º¾Î-ª¸¤ï®|(æù>¥I9Æ{BràÍF<Š2»Å¿jz°~²e°i÷ä°Tx•ËÈÍ· æ%I {ðó gÔ$Öô¶2LqäŽÈÌjŒ¬‡ž×Œá°·6÷éJðhõtIDÏžâ<.®5êB²‰zr¥5CXÈÉzÅõjpý¬œ5µÜéQ£,ÅmWôÒõ;ƸšÛ€·]7ý/NQƒI+S§ÛmŸÅ(ƒtôÀNóÂtÍßæ2“£QYøÊWjñk‹êAF2öMâ%­òÛT7EýÔD³Y‰‘œ¡ži*gážý¦L•¶ÛqLÐVáýôâbÅ­f…ñyÇ C¡¹¨˜qÜ•#®oš¡9ë ²‡‘O>ïsåc„á¢ñªÖªö"÷Øt¡é€ôÖ É§ïÍé‹Ê“¢¬ ^‹‘·$ÍÕšÁ›D|À¤¡´Ã_5Ûws¥\~Н„aB7Ð׉+v¡2ÄêÊf›t—G&«ŒèÎmz7EI¢•³·Ã%ù–âÎiÂxîÔÌÊ—÷–¶@r‘â8'·ú v;ïzk÷e'k‰ý_¡X±U©1_¼6‘¦Lêî°‡Öi7ŒsäW/íù™Ž¤H “Ðì2íòl—}xTidBPÜa0ÝP?&n Î^Ô)%«õÝ2¤»K²D*(³– `%¿XªÊcd)å{™‚ŒªgNÜC<‡¨ŽØÏ¬–ÞŽga£¸ ˆ-ÜMÊ¥Ç;’ó’²Ï5 =¨ù­”vÂê|ª»Ú…eE³˜h¤ï‡Åó]tjzJð§û‚‘´Ê•[r-.ÑÂdˆ™'(¸ä$!£ríbó(^”+ ¬Ð7ú4Ð<ýFX§n2g¹º,`SZh˜Ü«0‹% 'µšB‚¸A°6ê¤A…‡Ž§¥¿ùÉÖK.¸m~”ÿWp©ÅØ,Ýòw®úÉ¿P%/Ãè õ®ëå#÷ãêÀL¬ òG|ú‰mv'I"Ñ>~a€ +@[êØXéPW·ñop%L¸€ºÕŒéÄîâbØ‘ãæ\©Ü´PÜá5ÂtÕÓž‡‡Ïç˜×š».†#Œ¾oª,È_?¤µÄ(E’B œmúÁ*éDçu00}Ê)݉CŠÎžt.w.YíŒn•¶üpÌÒ“O_ûo³?Ù'p‚õ^ëü’f•×sïV|ûum²úÌ'ºB+iõ#XñòËi‘‹—‚£MÒíð[‰Þ«d”„G’õ½óÁÊ0Z†Ã㲋‚ó –¹(ßðëÝ2Àì® ¥“ ¾CTȤ¦Ue»(þ7®#|‡û•2=»h¥/sô¡¨Â2(Íôj é6 Õv:D½ÿ?×ÀÙàõLXÓ<_Œõ´±æ™n…xé?wbU|#½#›n@õ¢ã˜â¨uæÆ¸Кg×o僇6u³€¿Ù]$©Ç´í“º¦`J®NõB=ó¨n¸Cõ’G¿$¹ Þ²Œ!j[P¼o¬(0ropìàô¤÷/ãTÔL¼w¾;y¾ Ô)lj.¥zËœ…þÎûD;ÉèŠ1×D£T¾o†Ã±†ƒUÃs Ó[“+æ‹ÚÌî?ï+™M‡R€Í•çÚDo÷—…xÒi#Ñe`Q•ƒpgÅs“\ïäoó+/~5Úhj=aŸê®ÇppƒB£8{ì'¨ŒóÑäÊ©„o<˜œ×îS:ž’„ žïðž§wFën¨‡¤-ÒAÑñ+˜’«JÈïwûÙ—bõúì ÇH³)”Bo61>¯¡ŽDgi´M‹­yü`'~½4é6¤¾ƒ8ÉM»ø¢³¨÷#ráp Í­aWÊåd|Žûù­€lèWǧïÑÿàý©ó¨ƒ†Á[ s1’÷YFt> o‚Ÿ¯˜&Ÿ=¦ï. XŠ­’ÂøþeOàueËáa¦‡e®Ð~¯ÉNÞ÷N¡ïÑ9ÕÆUGir¥à°ÓP(âZ †€Ÿw1²=“rnéTh‘ϤpIÛPî¦7±’õ9€¹].’,7¥l!¯ xbÈl¢ðoV®9×Xj{AÁAÁÑñˆSYºž9¢CÏ8¡o¼·êàŽä =چܬwáÉêbÿýꑸˆ+¦X•ž²—@4ßÞ±.(%·Ð3ò™´³.¢íÿ®uEç´Å:‰W^6:aºx-‹ÙÒ›p ”L_ =k-b!|0 %2«XÚâÚÈòÇ#J'I–1£œ`Q1r¶_}9`²½I§ ºsæ%ÔìIä17¼¼Ñ§}@ëÐ(#D¨yz‹0cÆaa¤ï¬8w¡^pè̳éW÷Z¿»CÊëõ?žƒÀ1Ñ "æPE}®iÅ^E–õ ÿ»Í8îñnD°…®0šÔkaQɦ®oô$í€Ã£gË0ðñ+î…Ù‹~žôû¶{EN~0Vj—úä á»5éÑxéâÈû· |%çÇð§ƒÑ¶ÚV”{‘&}:ú#l<Ò,6jÊ„Œ³‡z—ù®O{¯aÄÑÆÝñjÞžg†îÅÏ}ƒ 1q¤ä%aZâc ±Ï…¿­ùÿµ:ùÆšöتUb’Âíšñ“dŽmRm­Mƒt!C`…¥Æz·Gr2¡¾dš;à Æ P4$gE–‡\tòü%ΰ±ÆoȲ‹>$v12^v10`Å‹¿.ˆ¸«€iã…c£±H‰tYJG…àÊ Uk)Ã}))œí]^[®t Ç@õ*Ñ_ J.þ T¶Á[Äuià£×xìY[ËOÚØù2÷ p²ªøÅ>ï6l5dCèZhNw É9’U+]–T%åþîçg“…¨4• WöM’Ïgµ{è¾x¤bS¥æUùBZ=§uQ ¬˜‰F[Õ…·*óª Õ½ÒøY —:áÙª³ÎéˆTG_XZ SoN­Û¥>øŸx¨ +Y0V(¼+ž[øµHþ»Ç×€2P.McQhQJ8Sõ\V3Röc­AaQ‘µîüàF»Ì§Þ§ÂÉÚÒoT%:ÆÔêÄCå¿Î“Ć€2Ô;Ž8ådyÛì›-OEŽ€Gø­yyÓšw±÷XdÚ,‘ý¬ÛÎã!¨qbzƒeÕO•»y¾Â‘ÈgB…'cçF0[Ö·€–”LÐÖ9ßr×Ô± ó¨ÁÚGÄ‹ÅÀáâæp¯‡ ¶9èÿÁ°„Œ­Ý±¶2öêï¢þäé!Üq[ŽÁ¯Õpu‹Ê¶rWÿò‡Ëg†;ØV»ÆzéPÓß #Œjªy­D©!Ç[“{= S½‡ Ù޵© ÷ Ìÿ§›¢@–ì¤ÒÔ+t‚É@h0è8–‚_ÒÕCn°1-™¾¬$»dÞ`B¶ #ó5ÒŽœÞ™LÔøtc™â¹ ™­ê­v½O–i¯½­«{bÔ¯ Bë7Æ¡R®„¢Š/.Ȫ€¯|BµÓVe::L–*sÎ0uîœ5)Øð11Ý@ȯÞe·¨ûÈÃ4ŽÀÈ,G»Ûv7­ç¿š¾N À:Æ9wpÄß&ʨ{ü,Ñeóó 1‡o´}~?Ãq¹pƒ™ èέ4}X†K•,àJvmN¹ÎFµ0ÈoZ:®«@BoÁBG8r!7D=hó§ ì­š%ë±Éíí룵'’'kSã¦* ÐÑÕeÙÂéõ@&M”8M½ùi ±uùáÀX¾Õ”’ñõýšŒà’ìž”*jðCK†à¶TªÍmYC;7P#7Ý >—åìDðôÓòo÷§RoüŸ—HZœ•YWe¬´X¤ÔSÖ ¤ûvVgÈ~‘=”ã]5¯l$KXÙj{dÖ8¼ümrfd+ˆÌ(¼Kg2Ñ›ûÚIÈÕ¦¼¥ÉËåösÝ` É¡}ãñG8BC!Ú|‘–÷ÐMâ%µçž˜ÑB’å9(a€2¤X³ [íßÅH¨Z“Je ¦žßáôhi/ŠB<°øÝËо½Sé£^øðÅ¿ ô÷h– Zª”@àŸ®eV|dÁUÄ;KY°‘ofËX¨ÔaŽP8¥ÈaužÐÝ%¢H²Æå±¡Ái’ÿÈ×à—ƒŸ²Ý jÍov/í%忯>F+†Ád|ŠÇÀÈØ¥Jƨ­6VÄ <æ_¤ª·ûRžx9•Ôõ’ ÆÄYA~ 'ßS ³5¢15T“HÕÞiUœ>1Ý/ZwR$ˆGløtZÞ/Ö‰EÛ`ÛVã?ßÂ+Âô›”ÀL ï6š ² \ŒGYîÉÆáhúgÓ1t··KÔ/ÞvÉ@ L21U¹ˆ:ª+ÀZdÕùŽ|-/u÷hÚæ+Ó7 `ÑA)è 5£yÃ…™ßȹê,ë…¦º ¼ùݸÕa&í6ä[]fb¥å$Ùø%·í¤æ1U/“ŸL¤9c1^|¾q1ìñ3Kƒ^#jg´¸ƒðú8åà ¦à­?z‹Š˜„¸ÔÍ+#ùæº;ÏéÇeùòæRÿvñ’Ò ºvfŽ6KGd:N-z4#ã:SÙ° ¿ՒRð %ömòMe@cªéÈI;»>cEÒD5nrŸ_hT¾ýÇáVÓlÚ~6-ôž{õéišûè²Âäý)×{Å• ÝS7¨5›A¸‰!àf¤ÔIÀs¿O½Bt`mþJå† ˆmj9:èÿ$b=‚²ÌÆçéó¿äm|² V)Åsäí2Þ’ýg HÂe˜z³=ƒ êdSÍÏ·Ä)Zư35dä‡äPm rÐÅÆëP¬O€2ÍUN{Žt Yzü=Û´žß±¾H8öµÒM„«¦ñ_ïÿ6êþ/€ùÝO«¢Lüç5` 4˜’Ö Å¥¨ãñA‡@GM¯ž’= Bt£¥ÌµXnvª¹}8Îóh¸=|¦aIÀïˆòaK&Õû’i¯ÅóH%¢Âé`ö86‹Ó­™´ç8JަŽ-9Øœ8t½Üò´³ §¿ †…ù0ñÞ§šBî¨xÉÏ7P©l€L W¸o•'FßÒã-´é))˜Þë¸$×ñfu÷5_m'’Áž÷~ÚÉÖÙybTàj‰ÓTy3k½×ßûˆ¹àk®Ýãú¼AÛ.dÉíù“It¨'ðãa%;ç¸Jâ®4k à«rãB^8 “+\B>\Aï¡3Ë@”ø_—«íž>ǽ©2¦XCžhÁgmqâö32à§#‘ܧ> å8!× vQY¡³†™î`ÝBøkõé°yfH«ßˆ¹ŽÜž]ØnÆ(ói˘UÛA‚)à ÁSW—M²•àg”+8ųjs(A£[ B¢hÄ^@¤ ^ó㬙ü—›3­wžìšÊ1æÎ¯Kr¼L ˜4Pºóñý¯§bîÈfâE²½Í ‹ M}gÓç%6y899ÿ»Df1à€• Á‘p‹Ù"GfJL¢*§ÆkÖb4JØ÷ºÃ`¯ñYjõÕcìUP(‹ÝÇ¢;ß2@Md›ÚÛ]3—ÚINûaLJAšÓ¶w¥ì€1çrBøàß®úÁ,±6ÇjhEËH‹åଞ)_t¹r·úU²Ç›xÍ2PÅï‰äñäÛî¼®ëL6(ñ^¬FÌ¥LW‹ŒræÈî h†„cÃÁwõ^ë´C ®¦ÊõG5S²‘¸ùܾÔ6û¹ñõb`7c+ÎìkúO£&¿{ðüÁã %øD—”¨Omú`™Ë–ª*gö²fy¿‡j« *KÝøš ½×<Ô1ÿ•5—õÔàj$޵G‰v”¤]u±:ge6— cà9'ú_SÍI–Jµ7¯DX]d<Ñgº¦^²þÒ>ˆÆµO <ƒº²¤À!¾kŒé+x/>æ‹$>z›œÂÐÕZÕ¢~ ÉiIÞǦÛwÞ¸Ûh#á-;QÁ‡¨¼ê{WÌÓ–\ÛMÕ‘Þ#~ðG¤³ ßREmsÆmhް”êîL¯¹š °‡LÄœŽ¯2¡'1-5‹Q8íZçúdü÷£l.k 2iVŽ©ó/%ûÁ¹òt2jj’Ç0º*vÚ'í+tù^ÏÒg»‘ÎÄô–thêòù‡Ùí;­Äâ]|¨tÂ͸ýSP3_¯t?ÉLHÕ‡àpŠÈͯŸBËi-©76hó¿6ᡨê’Àœ°‚±eTÑ åXœô¯}x¯ô¤…FËy]ótP¦ÁËM¡E‘#Cʲç²#´Ús‹Ð…µI¾¬:ŸÒÔ|_;ç¢H¢Ä¡vW C!Õ[À^››7å kè2ÔÍšÄælÚ²3?CÑlAÖ½î£Àoº›šq8»"v—~°˜`¹ÙŒÉíÔj«&nÖYÛµÁ°N §£pM?d5¡¡ÅÔ.‘†÷¿¡M¹nj}øS[gwl4ÔØÑéÛ}s¾oîÑ!aÈX~Ä}}2ß—”輆—Ö-*?(übã#ÄŽ1*Pù¿iÄÞ¥ Æ€ØÜŒ÷TŒVÍ!B|܉—‘Ò}ÃÈ€óùålZG1%¶Î…âÐ’N=3BFÂé ¼•ÞÈξͦÙðº¿íßDf^Ú…°y¬¤™eâÃ\±ü‡è"SÞåú%§·xâåíT½xÿ¦¼ÀúÑ£5Ãex‚Ò¹L×NSwúw5õø UJžq+ýݨІ¹˜†GŒi e3µQÚ¦Ó~¯vËõçÆ|fìÏv‘‰(md…ÍúÍÚohÎu¿~¦¾9¼¦€jE ¨mÏ_ì §˜H”Sͽîw"fÃ)5õr•Iây¢Gû q<,5šðBc§à+Øævœ…a¦º‹Ej@´¨RÝÉ4æ'ssn¢à­EÇ&ˆTÇm#y #„¦øV¹—b =kÙ,óq ’špíê g‚T$*¥“ÓûÙ¾Ž¸6‹XEꀥBcË_u ÑŽaF­!h=ý ž¶ªþQ/é\ïƒ%Äщ}]éIÉTêIÕt‰£Xv‡Ü‘q|@8&”¹ ÷<’OëÛaÓ½¨‰Aø–{Kü}41: 8îüµ&UþP5Çtží™Ñئœ¦Ç¼/6l”ÈôÃëIv°€÷SïH;þj!+c‘íH²Ç·Yqt¿Ðœ;ƒ£o:‰Ÿjl}ýùtðXQ÷mBb£[ßáleDYNˆä³›ýûž) ÈÍêÄS•F¾‹~åòõ„a-¦"ìÌ/«ïÝÀi­5kÿÓÁ_Zág³¤Þ¢A Q†÷9ëú†hUbÍ=Ç›.­Mo’@ *Jª¡CW‹¹7æ­‰c†¥ceo§Úô ùÓ˜ÏKI}§äVÊv ³ å|=úì€ì” 3uÉÁU¨Úç2™%X ‘‰Üw\ÈÏöœ”ÛŒºÎ d Ù+†› _*ûçÎ „§ùÖNÄÈÊ©éV& ÌÖ&‘l?ä,¢ÙÖ;Õ,IPsW›áØUùV’©‘8ÃBu§Ð+çgÜZn°|ÙÆJáÿ§ùªšÉßVWVàU3R#º™6{{ªéï-îa‚  pB\©óî!eó‘ÝÝÙ>Ã*Oyâ¼>—Ô²]SaÌ($úÜëïº`x'.Â4Åæ¾•ûÜá+ÏhùLŒòÂgW-9Fy£´Žººðê¡|ö¾QÛyùPc« ,j¨ubÚ@ó±¥öç&Œ~†I$ ½DŽ´!ªº«Û5ë¯òÝWùÐ52'TG.Ö¢™õôÖ;”W±7¡.‘D¹dAáMNˆë.CÅ_S¡ÅV×Þ©Ôþ²û~U>á“ùøœ‘52GG´2ñŽ˜‹'s†\h‰ ÓÈ |ØÈQNSà|ÿéDÙ ž ƒ–x<œôš^Çé,eïv8â« î÷Ž¡FÄA¤`yžò"&¼Û6µÈŠý ‰Üë[•£›K׌YâiÃ0Ìa‰ÅÚë9° Ø °¥R„]Ó~P/›$¶áÆoöYO<ŸLMVSìb¡¼#ÝPÕ—Bl])õºgsq¸?&EÏL…‰Ðo‰aóŠ^Ù&ÆqP.9iêN‘¡ä0˜< £)ß¾ÚÂN?{GQ( , È‘hrïŽAþº4öA¢a0ønGÓ.b9•ßñ~5M7ÖʺÕÕz¡ QuØ’Qo¶Ûv}QëñFJ™_hí½³%ùx G<üöì.D%™÷–|1•Œµq5wi±Åòd»¢Mjkÿ ¦[Ë#j]„ëa½’T@ÏAˆŒ¯3d´Û­­KÓ_ó;“s)ñ;ḡn|SžŠt=êz„WÊc«”™Û>Þ¾“CÁeY9} ˜ZâÈ)¾~yþ[7¤¯Œ8m¬Lg‚¥J¶»3±IÝÉ篭Rïä=£,€FûkÛKíô²O§³îÆãö?hÌë¶òŒ†Ý6æ—Ê>3„šg:$:ÃLžì í^éQ˜"Ϻè0Žý£„h*KRZ¼ÏÏߢ电)/í[&ØïêËí²)¨ƒ½`f÷ì,‹[Ü h“&|²eí€e]mNÅ×vS­ä$c¸9éÛbÔ0u2Ñ 9*ûK³Í}M As ·bR¹`Å—©óSbòñ%r}=Ác‰!Î%’…m޶"1}ù]þK[%"bŒöÃ=r (Xwqî `WÞÆ[F°~ÀøÝ§:ßìW…å=LbÎß™—ˆf<„š7ŒÁ}áB^ÐRüdFÎh¨xÀlCù¨_ÂDšúšûDI~ÖyY—0–ÄV ù¤>÷tO½k¡Û»÷JøÂb³ãv–ôAõ¦¢Þ]¸¶ÖeXÔ€”ë>L6`pÁŸ¢ÛjFñM‹R>"}@¦¿éÓÚ÷øÓ0̵™úÓ;hM7YHM_Äg€äRn±âÒ'FÆ/ͶrmxH½ýÓ}ÿðB>ç+£´(ý'º<–amÖ-(f”äݼy¢P[IÄuj´k-2ŠÔ#-JŸ~•?)Nò'Fdµø'\¾6,~kAØL<竌.õ3Á“SY”õÅ °¡®°éâ+dpcþã|c±—4NG¢»¿z8äÛßè+²Ù¹m ‘à…óá%³Œ•6[Nïh°ƒS¶Õ%m´†bÔç{l åk‰.k—òG*ìybfd¶ [Š<}CÁÅE.§U2*ô^ù}˜n¿Bó à•é~ƒõžÞè|x©åI”z¸Ÿi!Vìá•ÓÄÚΣìŠöµ§4^3ÊÎãß^O_‡°2´¨ƒ‡Àݼ¾W¥׺îv¨„E®¸¬$j΂üÜ«V5!;èê«Èù+ÃxŸS’[ùíœYëFvôŒ·‘›&JYy¢rÿÒt.äNíº“Û_.8“™Íåºç”/iÅzt5§ÿ•‚jéÈ®qäGð@ÞÖJnôl1’ÕTiB:ŸJ'PæÝÍërt¯"_y#4 ·¸õ±]ƒÛ–ÓI\KèÕ2' BTx=ìî1Kä×4ÄuÙOÂCyZóÖÁ/0ÅEI&›õYí`ºrŸVñ„e\ÁÄY®× ‘?Ú{`[Vê49(² {$¤µz𢿻L>¡Õ±„Õ=äYØÔ˜ÛÒäåÆ3`Œ52¾0«"pÔ‘ÓûÈ<·zínN¿ `áæ^ï>ps¼û…" …6(vªì·â9]¾½~r èS“âr$\Spˆ‡è”qE€pKK¢ *ù9´e¶óLÙŽjqÿ¶þÜAžqèê)§Ì3Dk&âA:7Ø7«Ãy2Y‘+ƒÞà;5_IÝ4†ÊÒoª-cèEâ=-:=÷üÑãùäd /Ô@4|ókM¢Þ ´±´F‹=ÃÎJ4X¿u†ÙÄ-Á}ï¬åè1ÉNx]ctNPeݺ Š&~éäx8 éF¶_ùœØj†ÅŸ/IäÄüÒ¶)R:ÉZ;Áª5ºE½n¢ómÂRÜC?4Ð šˆ g´§Ÿ'\ð‰+VÑIÓ—¦å`þ€U˯¼\ËÿË领 ¡Z¥að†[þ”}(™ÄI0Pé~òõÀòã#…{ÎŽgN2‹ QGòj­Ð©È6½)¼Dð%ûi€Ð.[ÌÎ8i·3W˜™¥g½a¾Vxœªß®ÖКiŠ@í„ïh‚åýEUعK*søé¾<Ô=¼í_ršžŽêQúÒ)Æ´IÊö£ˆÝò)RË™l 3ô MƼ°¹Ò§®T™Ù_~kwE¥«Ä·÷ë£ÀÓÖ±‚é,ác$‹ÕZ"_Û„GÖ„ÁÏæ}Þÿ¢iK0;å8¬\Ð[©Si¯bá*r«ôÓ4¬п=/Ý"àC©TŠÏØž­º @,ݰA(Ë’ÿå™VøüZèi¦3Šò Ì<˜ÿó _Ø W×s0©R¾õ´Ó‰Èýäð%_w-r-Í]Nö–’^Iœ\ÐnçÚ_î •_q`IûÇ0ñSœ÷N¿åÚŽ(6Zb ¿s¼Ì6å-ñ®4ÈÒÙÂÙáYÕaÍ`!d‹?VÚÑ®6uë-&8å½Ór´Àì?—<ïìüm¢Sèôre40®¬ÜImtðèJ쀤Ãè„C1N6ƒZZ7®+Ë< ¬žK–‰ +ì(Ü~ðHýëú pžÆºß ØPEJ¶_ £ëžù :…©ÃiŸjm•êï ¥Äjï>ÊÞÂ&WklZWœ¸@¯]p˜Ã¾é̱‚#9ånÖú¼‰R|tY3æGèLzÀ„˜âÊw2w®ãXV°º ۪˩½@ YœfkgFÙe‘ÈQ– _—ŒÁxM€_'>õ&Çâˆj1Ç< @ò°Þ§_}üó¼È¦Ïoå¸ #4Ü #’å? [$éÊ~¦âŒæY‘ïoÕŠÍâìå®aÇ0‘'];3òN±• ÆFý ‡ ­W®ô5½ž¸°‚˜ÚVÖÚâ'J~¨#ï°ŒK¦ÐHø©­ÈîpÁµ8X6¹W£_˜zÛgœ¸Vy$èÁwwk>™Öj3ôß…üÁxˆÞC@aÑ“hëPÈÇpù |Z–!§tTŽ¡+eÎþ™½áŽûþoø!’(¾tŽçÇÈeQçOæœ7#Õ½Æ_cÂÆÒa›J[ÔÖÁ€´¹àlWWÝ#ëð .Ú –ü4ØOÀ— ¿Óî&ܳSæý.ÉÌ›ØýW¸”è¾Ô-:î~}˜Î·ƒ¹ãð KžÒv4uz,j“kj*FSüõî`—?ùú>uVu'úøêþ¥¾O’#'Kèì¡=<ŽË-¿˜›%>[Û6 ÷ÑzEa°g|BŒ#Ïð“©}S(42~BgÇœjO:rD‘à„öª(nwÕ}[E ÃÉ»§:Æ‘„î˜ï™’ÒÝ©@ðy*!~o¦LGŨ닓B×Ê&R¾A ÅÎ cŽ·žbJš)NhN0Í,t¦MÚ6¥é.u)¡Â„¼QS/Ã|•I$m+[Þ.IeÔ… ý{ v¼Ë€YÁL®jÝÛîª-8ðà%&¼Ã“²|™Q8ÏÄÎëiÿ«[hf$ëݫߙŽ\…}©¬åhyêTUñzb½W6Ë$æTëKU)«žI²zW“ij ë5ô¡”(kKó~íZ°Æ¥M6±?Àޏ²&Î-ôií©|@Ðó‚ÃHÅ$%Wª¿S1˜ÏÈòfG(¸ÙÚõ÷…Ë#Q6!Xò~q¬\—v«b/óh$mft¤:‚¬<ô‡Õõš¹ „Ⱥ ž³‘aÄ­aŠ9 ñR¡8ܳ÷¹Ö(þÎw¹ìÚ'û™z6¹&8Wá³A¢æ1wêy#ã!€Y@¤"~a!–°¼ÜøÒ™“Ò˜Qïq³ÅUÉ0Y\û"ïþ¡÷ê#V",·YñÉ&¸VÚç‰îЗÇF AÚèÆ:Ùºø,dW©µV^HäƒcÏ=Þc,Brê ¶”EùÌ+*íØÛ@¸SAìÍú˜¥q&©éû(D™óote:‚Î+ŒzÆ@9ÀGqï=Nr “—¹e# ãßògÍKÄ£ûw˜]A:iµâå*›ÝÒ­¨Å ¨FÜP§›¹@'ˆx àñ‰ó…VA£ãˆÑ–Aé6겫¢ß½ ÄñïÎ$xŒÌ…'€‹JAñ¤E\‘±7øÚòùP¯ 'ýB>¨H;Ái4émoÜÖä?[îÜ1>eýë²ð” ëúÙ­özÎÑÓDÙ^NbÕÑ.Þ}ü”©–þ~EDZ:‡KÅu'j¼/BƒÎž¾CKÐè9#;.Ån —f  i/ytA!XÉ÷N°´rZ~ 4‘)®q\õ7Ww‚?—åmô›€Ö2]?˲øæ„>ØgÓ×` ÆÖ<¸Ñˆˆ˜ç‚â^»}yÏ ôÛ±E͘Pê V.ãvÂ'ì`:¶W“bHØ»‡oãJ5¯»Sͱ­3¬#‚žTJÈ(LäÛOÚʺD·ða:[Ó£Ëà¼ÚGtÉ]®ÈW#Oh7JÿZâ*5ÿd˜wä^¦c-lqQ™¥]kr½Jø‰×Ÿü…DÁ¡†²Ç½hø„m ö×eˆä+ø£õ³pÑäXÇŠë'Dje»Iùäãvã h ²ÕFŽïîj0ñ¿âxAÔ€.1Qv¼DL½üô´ Å—s«x²è¤â–ᆔ¦m¥ò\ß¹×­Äþ}ÛsË¡ £Ç%ÒrÝYþÇ"(?ËUúñÊõøóؾFh#ø«§ßþxYÉ:MÝ‹y]Ù³kÓW3$¹³Í?úhíŒ_Uú% šFÏ=Ëœ©¨!/oÆF8ÔÁ¶KkÓ÷°t.NŽxG¹)º0ää‚öŽ`>“ |À"ÎzµÔ9ɘº7€>0'…O^ÙÍt,!Á‘-Òd#–Iîx–JÁË‚kâ:±@“Ô'cîRG‹—¢H'øýS|(ÊÐáêÏÑAH0­¦‹óþ+¶_í1‚£(OAçê¾kÛ#Ðè¿©ùcã™”k?D¥ˆ|Z%"G-‡¿¥kVñ_VAr,î {Óß„¬˜AÛ}ÙJ@ü¼å˜”[Lz‚LâÄá®íÄ“äÖ¨ uÚ/;.QfûLkd´ÿ™ oåú+­¨…b¾E,; •>‡îÿTåà™Æ½lë†ê›„?€Ó·ŒÐÑËÆ¨DIÖ ÓÀz3ci–¤V Ú=®"®ù€(ls{¦”V¡bÇ”‡̺]+Ô6´öÁß,ÅÜ>‘W "Ú¼j/*ñ¯É«'ö®¨ŠV¥VOR2ã§/LTò@žÝy /¯]©^"ÛÙR|LÙ™/™~§b‘.œÖ Õh/^ÀÚ†IËåÃÜFÁ«øëUböa'fil)/\ŠÃ¬dÿºO.¨9;GÈNé!ZÜà³ãTÉ~íã?GŸTúÐ ¬_¢ &7Ò¿pÂxUóÃØ(¦D‹A£×™®U´Ј´(,ï°ðÿz×ZÊ,w8…MÝÞý+§,Hýkÿ‰iÉÓw¾a6c2AA"\*!#x!UEœác̾w“"Á™¬ï¡ë˜â`Ê ;Ap,ù2~uí|AƒÒ<¿sš\±ÎäO‡ænËŽüf1?çgþKséy·@æ³Y½€ ©€íýîÕ­àŽç¸Ó¡n_ÌUÒ¥#ÊÀf×U9¼ó¨œ¹Ÿ£Ž`vÞæ§ +žá—O Â}Ñë‚`ŒO×%¤ˆH‰ÆsVöìW ®Ó¢~TœOPÂØí"û½ŽWnlEâì+%NÓÙ²HGMù¹P›Ñõ‰§¤ŠáGcNàùdAõÇ'©b-O ݆¿—ör®‹ "X¦R¤B^[Ro¼õëèü¹Oûz6–Ç6/L)Fì Öh~ÂÛ„Ñ3#xË­ôEvGÔ벜u¯÷KŒ[\lrU^ô—Ç#–+3jó…@¥ñ/-Ò%KÑßdIZñÐŒ…Xcª 7oÐ7}tmÝMuRKîÏã2h½†œ¦£GHaJð„,®+‹šë.k¿mÍZ…hé!1-^þŠ_ÃϨXì<ß—ns”Ý£¢€9íŸpST8HFäÈVˆ­‰5!Ýn–f|Z&†ãm,{!$Áå°ßP7a ÐÅÐéÛw¨òø¸Œ¾½Wã}Lä–ß=kÄsvœ®£yùÈ/ÙÂ@ºISñVºiõÿ˜=ùúô³×[LŒ] ¦YNÏ7„ÅëïTøµUê±Æªn¿®(µ@¼‹Û½Ü˜ Pöj`ÄN¿'Ùè\C…×7¸4Ü4L¹K0Æ€__(”Š¿do~' ^[¡öú ÓLžpÐÙó?T"ùD£|†ž9þ’ã–÷sè(]Dër˜n¢«Ù­s‘öýËSo7÷Àà y_EtÅËͨç“ÊJg[[l׺7ò{„ÂwsÍÕ5!¦-Ç¥Že:LŸžµôþLhîÖÕÌ‹På÷û³'_•w;Dzs:Ï:vì𱟱YîXr*ë. U7¸*ö_,‰®o ‚5p…Jö{ÐþÆ’ Ó‘·ûv‘²w…‰dÁçGyÿîÖ;ã{>±'©õ”'¶÷e-.á,D²rœ] zr¨#†7r‹š›÷_ŽÐ$µ÷ˆÂ˜Aå}÷¥,¢Ïc:Áˆ¥&8¡˜XŸXbƶ$k þf5,ì?.­q‚\•휲ü&=VR"ʰrÑüÛý1o×H솇à­éyò —³æXÚ/wýëcÙ¯6?»†–%’‹)áßœêúi$°â ”©‰ˆˆ{šf¡¿–ÂB¦‘c]åpw2×Óâ¨tÒuKhõ¥ëVÏöMú‰Ð%ëv°øêÇ ^8H­– ’ùoG’ª¶{”)ÅÆ=Ëô³±»"z©†+O4ž²ÁøOBë¹êñÇßKi×d?à¾z…û%“¾<‡)àÜ6e”þêÂ̾)ÒÏ‚.´[:qws"\½Ó7®‘¡ë$uü‘#€Ve0–Í Ò“C¨&«±ŽG™3¿0Hb’̶ĕ%ƒÏ;ÊR½µâá.4ƒΦªÆ§¹ž¯ìz§è…ö`Ûºzò†mÂȽñ[1/Fˆ)rM ñþˈ÷­¥Œ&JØ¥óJ¡1­ dƒÃÀB'‰'vžAÀõ3.\ô-Ðpjø'¯.U}RR\M\Œ  Sùê®´L5±Oá0¬ËeóîÕ çán¤€Ai¶ 1ÞkBé+¯¢¯Âö´í‡“ ¹Aaí ¹7­’ŽÕk¦“ø’l3ˆõ%¸s‘OÖÞI"¿hþw,C‹ÄÓŒta´g3µxÉ’Io;ÏpËé‚”LÕVYyÿÁ„»Ðl)¹ØöänrôzV»(†d',*°¯jéuÆú”¯çÖÛb B-à(争òí#GÝ -þ–ìÓàÔ¨Ù”…ɳŸmÂW…Ó’R#‰å@.ƒe­ ýÝç3-@¥Î FÓ›PÌsÆÅO[Cw%7§UËDƒ‡I ì=RåñÔœ iv’Ò7É >XÙ÷žïz½] ì:…f²RÓ'¨Ý Qgjð»q €i zºb™·¶t÷9RGl1‚ÉFȱЮe±µ ¨ö†dr3 ]z OSÌõ3—GhÑî´e£¿Ë²Š­Í~¤õÅy)/È‘ïÿ¤«@5è×*cjmÙZcY :tysžæòuz®y˜ÍîŒÎ1‡_™T9¦¹ÎšaGþ|¿ßxå»mà:œX.Ó˜ŸRä­ÆÛ° óžÈJ)Ôö¡ýú ³·”ƒ'5Ýè˜1©}»-B:]9Ç™BœÿQÓq§J"Ž€àR8@“­G1Áéabò#R¹Ûw Ê0Ý­LzvQgï!˜n L» TSf(P-#3—AWzˆ|‡MP$Äè•€y“£ ¬t1œÀᜦÓoö’†£î³Ba‡$™4Sk¢‚ÿ‘~˜ÝÍZñ/ƒ®!ûWþ;»núâ-^„Õàcáô£hÅ\1Ík‚°›_c´wÐÏ_h +*툎™½Å]Õ††{wukŸoÑ.“ çqb9ɾ•ÁåÁW _¥¹/³Áµ®@nWkV¶N¸ ¼K¹`É®ÜyB‰1H€¡CB|)…<\3`WZbÇòkŠj%{XëÓâ=ÈÓjUÁãV=[„=Y;üæ_wÍ> Ã`RÊ‘§+ÐøHJ[­q·vôš<Þ$άŠ+IÌ~ù„3à»ÙÛ÷Jj÷«¨žgoûZ@[ÙÞI½òWd@•“š™Õ9á‹<‰õ‚à[}ÎÞPLêF¸žØÅ‹HjJF0-ÝŽ8ËèaÄ3MkžNŽ6.Ð ¤C `K.{Ãe5)ûöÛ8k»è”˜Gi{—ìQ¾Iù'‡¯>,$i Õ—æ»Dз¥¶N|*sY™'èðs„Mq+hµËv–Jùü…–ï² Ýn¯”O†ùZZ®rkŒ¯ç†é‚n»¨ÚÅÖu3þÓ IBâñÞ¢UaÁ²Ùf“÷ˆÃ¸Yy*Å=gê K„¬ƒdë±hsûßGŸG‡¼x>A_-¤-HTÉ .Sj²Šþ€ìg§øš¬u=Ç0í Š†ŽyÞ¥0¯ÀO«]UÊáÏF ³@*ñkt¬hÐ1ÞJx—UÔP8è´y‚¥7^gÑ•(ÀäyiÜ2À»XXòl†‰¤ÿ‚ÙßUÕ·yM=ÓË{!­G{8¼| Æ[À(d½µAmªº̤·Ë{Õ•Z2ƒsOê²}±ñœNzæ­Î˜d÷Ò¢*Éhu™2¼Ìþa…?RèmŽ!„n`U]‚šiÊ»æ×ÍöïB$7êgW%Í}Œ-à¯{•ý´¶1D<Ý ›6ŒÇt½»*dNÅ!ÖÏωG…´yò›&,ø+þMÿÝ;ª4€ˆ „ÙЦõtÞÞ¼V™-šcuãR>5ÜÜ~Ð’„. h`{eÛB̰Š3€Ü©¨8røÏü¤eØHU;83SIݨ&ŒôÍŒT¸»u50Ÿ ýõ-ü/¤eËÄJI†½y—º‹¿!œšAÝF™4­öiE;ô1Ìíoc¶#±tžUϸ.²W%­iMüú0î³1¦¹aBÚ-sŽÛj’phí¥ªá²¢ßÔjì˜% ‹tUp$J¨ˆsi6iØmi¨è¥ÜmÃe@~²ô‡ôWé>Áw«!E[Üið(Â*3­tLèèãì.€T¹YQY8Ì=‹‚€{—³·±f¹éMp˱ÂÊLîHX½Áq¼úBÁãþj6)¡"ù:h˜¡%ïØ«ÁY)+ÊË…¹€¶¶3):ƒ~ÿĺÚ$òç7ÆYìÑêCº§/åŽÂà,«úK¯|-GfA—k%óš “Á¿ÐQJ>A¿ƒæ¨©Jº¤1eWÕª $È->ÔýÃ×$(î2;ÂVÑÀð<‚Ñø)_â[VÄå¨|bÜÚW@JK{ØÂ¹Z­H/Y[Ÿý^óh¼.;•¥Ó#,ˆ¨“©Ũ¥qÜR”í׳œN' ò³'Šö¼>;wîõ«¼Í¯÷-½•Ê l†_ÌìåîlІ²¨Nw0ÃÅ %j^¢û«ÙÈÛ:¤;±zô!Ó¼¾ÉØ,ªÏŸÙ#ÌöñÕ»©NÙ^§œ-пHò¢½ã&–IQœ?ª/~à¿„¸Q&ñÃÀÕcøTï;Ä7bN‰‹vœµ?ýµuÉØõŸú'¹OÀS ewK6Ή…¶m"wMd¿> ŒPÇZÃé#à;Ô§´OAºD¥^êÚ "zÑżãis>Sû6ìci)¿d2UÑWÁ{Y°h3¡[*×|e‹Wq™mÕào‚îTzÀìe2·ùA]”]5¶Iœª¹?áâ%£´7w;o0™Ô¦8–.},s3µ±¶~ûiŒÛ›êöw´ñhFfû¸î3Ý1y﬉9Þ}vmö<^òQ#8M#´KÛBœí Š„95 Nñ‹¡¹¨$~^aÝ¿g˜xs¤Ͻ[þûa×.öFÊtrãT£˜ƒ3Âýeky$Å|«'þ¸tΉP¦"šïíNl¹Í\[±1ÌÚ”I1-NQ£§×|Ò:EŘ¹Q{þb^-€Ý^Á2X|þI“W©ŠÏ+qJSy…¡æ§â‡»]fße”'pg'íÅ×.Ús0 jG›MïwÀ­·çê!r•eºspÓQ~Öî•èö_cc¤æŠÞ!÷a©«# ûrHë”ú^`cª7´ø&l kú:-‘ãÄÉï¬^bÜ1X=ÀðBš‚;à÷CjwW¹_i›pLj•„þZ˜m R‘d§š„R©Ö:í·èO¶‘Ø‰×ø‘£»R‹UUçÔ§Å7±•P78o–_Ó;|ÐiË4ºš6Ê»+É"Œñ6¯ÇŽß°.ðž×83åM­ãØ“?i곓¬JoKMûôq H;ä·–f»ö%-º¥©ÖRõbꦣªú‚ßD•js êgƒ¢ÞÜ߬PÝ´r<åAG¹‡ÏÔ:z$ÑÖÏv²ˆª¯;áíkQ¤gpÊòO(ü2YXªû”ž°©‹ò×r«ûkYÐTTd.áÜÎ/Rz#§-ˆtk -07b¿¡XyR} -óŠqÅ@9ÞÓ@Ú`àN—‰c8=[æ)³í,Bãˆ5Ø21s†Y6ñÕ~JJ]Øe^ £v-Seb¬*™›º·F§«?mH´¬Ý"X £êdÅ&‚â¶L±A†¯à†xtg+L.b’°“¶2g'¤û{ÙÔjó™åD°(&eh²·‰ÀeŽº*#}WCúñzli4ùNñÔÍ$¨5´ÑUF³Õ˜lÍÓø‘9!îx°+m­cˆuð;Óîo55Zù0Z“ñ6ÿF¬ôü¿Ü¿Òܬ”ÖO'èùõ.vlöJ~:ísJnÒœRùïÑB@Ä¿À ‘›®ápQBA÷:üþRÄèHpÐw¶¼o,D¦?á=OŒÑXDFjRc1ÂxJѰuYL¬Àg5 þ—o½÷øx¡KU-¦g›máñAøMÅœ,Ïyƒ¼ö¤ñQ9³ âД@mkÜ`:›"ÝO”M˜×Ùù'mâïYÆ Ó||6ªnyN9›,Ù†h(}B&бÎÚ $JÂì‹ïéæ²Áú´çŸÊNü9n\hÎû< ÏËzÒ±_R{Iš@ÆÂrWpºqOïCûhYªh,s§€lݱA Š!ÐeD§fW ¿)Æœ$®Ši©ÈÃҀ㴊Øä‚ úcsÜKbÈl|æDAÜÌ££áùÚÈ^Æ­8zЖ6ê·Çk”ÃŽÆ¥|©ÑtaåPüÂÅj­¹üLÔv$}²µ+ïìñ‡j‹A­†qk%e@¢©<4K?Zñú e»Îp_8íÒÞ¡%cÕç–ö„­Õ³ÖºÜðu~Êu&w>&•&ãסD›ÍGy¶z‰·þcjÅTXeöÂÕvìì[Ù3Åâ…YuËy¥³ƒåŒ"nr7úgÛÒ17àg•^}ßÐèEÖ‘h÷u¬R>]Ô¤™«2üß*«YÔÝr|yÇß÷uk«ŒÇq2y#¡™ê çW‘å¿£ ›¼Á›õ‹ùÔM幌4´ò;6î ·Êè1ºœy¼ØN^nOZuÈ2ûŠ%Ljž)5{Q^ä&>ZÎÇTóm7euò÷Aˆ»«Ôu€#2†þ‡ž…ÿ±¹5I¬¼^ë ˆ§[NÃ…"µÞÔˆ«{‚O¨Lßñ7N8f«¸Ö¼Cävsz%;ço:kÌ/ ³Â·K¯âÞwÌëûüµj›ÙLzþ[ÈÍÑÀeW®;•äp™I3 6x¦ë€Çâ×vy2cš—´"î„(}]¤o¶¦ødÙ—E6äœ4AaÑ7GðÉaµICLÌLQ±ä]“»!®ìulR~µáõH"Ë)0`GÿŒ¡À&bmõš3I÷·5ævgD^»ÌØ<—‚•â-÷¬Þïñëƒ A<‹·¶»èKЋÑ ž™•7‘·\,ô ¥FË»]› e«á+Ï Înª­OÒfÝð(Üd¥Ón@8¤KÎojØÜ2?âܘ¸u߉÷#JPÔÌCs|¨¸µõk}¸Ü ÌÄ ÿ?0§H±»ó)ß6™k(æ˜Ñ¯Ï(÷P››¦p­¶GÒ´-ÁÚ곯åÐz¬ÀÇ|NXáyÈ”´ÁADñ:>­ ë“Ânî¡Tˆ0}äºèh芠2†™†ìÄxQeƒLÐB`L·Vˆ\TÔR]˜]jâÙA j¨œ‹ÚJ—žu˜à³‚¥‘d(‡{X‘µ„úéâ/ýT;ò’æzœ¯ÈjàþúT Ë[2x^ľ`NÚ†a£_sðç±¹ÊÄÀgvHò¿£‰¹;äÒ¥¥ãËñIÿÊÀ/L•<š¬Ã×(ÆïwQdýÒ/µ-DpˆÚ#{0k¢Á¥"x/5¤ÈÜϸ:š×­ÎîÕ ÆöYã1/d힢Í.¦›[`‹àãÄÿ£3è‘ùêrpF JÏÊZCæ•¢ëȇ‹¿œ•F;8I[ )užÝ$2Œrì­æNþ‹}7|-!‹Ù«´t°“bž.íËWT÷Çî(ÈÏ>W?±&¾ëgh7ü­qí çó ¶<Ò£YÞLª³¶é£+½yôȆ.f#Mw#~76+BT** `rÄe‰Fæ*§+PŒཞlª†ˆüZdH3qg1˜,õèÖJ‡ÃÀ()†w¨Dy¥”× ®¦¿ ×•¥(UòåíñÖ%^ °_ëªFdþÄY©°NqÍ^·*Ð?aÏÖLäbè„ÉØˆœ¬ÂÜ+¿Å‘ðÜ–&¹_–NϦÀÃÿZ‹€Õ3Uˆ¥ÇFFŠ%uÊ3ä©S<³ >Ñ{×Òloƒ6¡Õy$ßà÷ñSýè¨ÅY®cÊ–Ýè%çêo7†Õ._%Û+Ó­käIu¸||UŠ´*`ù®¹v¢™Â™’ Æ|lÅá, j wþqN†Ÿ“Ÿãöº'Òª1U×rã§}Š›¢Ø‹¥¬Ë5ðDÊÀŠ«f{ïÕ¸OŸ”9¯KŠºøN¹¤È‘B¥Û|¿ã­¹µ` t7VoâÌîŠå;¥¦3fgúÛ÷ôöOo¨À_˜. Û¶ º[àW…Æã§dÈhèdî"ºªym˜é¡–¼”ºgKVõe`ñÚ™µYÜ-*¯ nÍû\O¨Š]ܶtEÄ ?{ù<‹„ZBƒžÖޝ8»¡nm­%¤Ó‡ó²˜ÍFÃ蔋8Kuhˆœ/“5¤»ÁN¬³æÛ'aïV*? <䳎ÃiÖfNðλҼ«NÀÿÿT.ß÷hèûkÉ„Eÿ¥“¼37ÃqòÌqOÏÆêçÉäÆÊB~KÑb¼ëJV yÆÐOÜbî±µ90R¤f´ì‘ |—ØòüxæËîi×b¶ºTàbÖ«_[YÉ–©ú€EGéñÀ¨¾@¸Ž§sÓ‰’þ•bal‰¼Gm‡ [¯Œükâ ý¢P„ KÕ^¦ÛÔB™}–Á-Ê&XRÖEY@Å£ì<[Ùì÷¨˜ÔÃb‰š#oÔ«à^¬ k"îö„8…Z±Wô/ðîþôˆ¯`ë2ÐÛqÊE–3Á¯¨ä[reÉϽø£¼W¤¡X.’Èš9؆Ï@XsÞGè;“÷(¶ä’z¿3sä Ô}aˆs‰ªžÁÕî-*`tIiÀ߯_вîÆ ¥JMÆ&¨´FØÐjÓ¸H ¼žÏðgM%¯…¿¶þ†ôE–ߺ+ìÝŸÈî>Ô%åvâIù3´ïï¡}#Š$/-W4õ̲ç6¯ª]›Æq´0~0Š™ v4}6Ò©vìä}óíy£Š6WÔ€á&\1HDÞ¤¯¤fºÙÁÜÀ6ÍH£Šš`Ëp‘‚çlŠû¶ÁTîeL0û¬ Ö}TÛH"?ð{»Q)K´8dÆ>g“W/; BŽ%ýn˜JÅÛXĘԳ8qOjÍå=ÊiU¨IÝÅ!ªÿ˜O£œ¼ ö²o:ßÌͪ\wåÛ6¨Ðýè§§6 ó•ER’Ko¯ÿ»ßœÆYÈTÉFÝÝêÓ=￾ºú Í-Þ‘´ ¼Ï¥Zì¼²IŠÉ&~08ÉjN‰·ë@u34˜›ÎP¯I}K zkIäˆÒ|­â·¯}`u°âÀä! 05|¢PwŠ¾Û¶q¿ÚGº”RÕlS"ÀT I-|ÜoÏhð}·*,è6Å=rõ³†~ÄŠ.z‹ð·ä†o6RÃEû AkIm`+ÁuŒ!ݰ›i…÷Èí€z>Ó J²TÎf’ë„ÃÖZB~cW£OÍ…‰Í–Ññ½©z“²¸‹ú_gꃈù2¯épŸlbÄ-c<¡•¸]Á…^ prš4ØóÙ.“š³n–”÷|ŸNœ qÓYãCN?ÛwÎ\ªüF4¹QXg¿o½´VßÔª¯a–gUØJSý‰Šq:ŒšÅwo+ìmª×9JÜ€P^­“?ÍHNü›6çI àxŠüm§mè (󖨜ä @Ç.º1ã‰íŠ›…·A$Íf¿š]E»òfe5Íaû”±OøTo/G½ ÷C³yŒ';`èçŠ×¼»5¸ºãtÎÛ;úK¦&|Ûº^w`bE?XïWÉ¡nßdTß–Ÿâ1òW^p†ÕD¹¡VH7hŒ™7h5R·œ;°Í ¾ß< ƒr!@,«ƒúÙ¤©¶ƒàˆlè®ãê*±Aå„Û† ÄÕ\ÓW¹¬†RÆØéöY¹´´(’ÅœjK­™mŽD¶|Úè2è·Y |×Òÿµ¹*Ò•€Ëóá⑜=íÀ\.tô5$ÉËk.–øˆ* u3ÇÉ´©¥µå ‹eRI×75Mä:¾.4†¤X­pñ[äy”ªsÞ”qáÖÃh­PÿZzµµ´*ya08ŸÛ¤ø í~ñäÈNîÕ pÈ8æBê$8!± ú ÀÁ„Ê¿ÜE¹¨JÕ¦­_8NU»‹¯ì7ÀêÞ—ãMG‚bë]†±9Å’,iáPøÈÎ Ÿqp¶ýö$ZŒ²”å"wôSå‚0—ž_¼y™;2¸9EÀAq³~ž’â%¸•¢ižžß( “XJ½û.#ïÆ–Mmº™UÏ›ZÊ_ü‡i{@¥ëTbBVPÏWïÒŸ·açñ•­e¹5ÁÇ{CÁÅëpâûÖAlìK|æÜµKÀP6m1Áˆ^CjˆÚ€‚(vªHŒýó#ÒÔK!Z1À—òDWÑ{¹`•1Ѓ0ÞS$ ÐT´ó¼ßc²„Ï ŒÞ=úô@d%ÿWŽÅKlå䓞P|LPL}2C&ÇjÚµßÄpsr®ûì!¦Dœ#èâ. yž¢“¢“·Ú¶àüèÿR *Ñw›wº 6HA±¬ ¸ä0ÏRGëØ„Ô8fänú?Wå&çèvà`ý’M«åŸý0ãm_¸IødÅçË¿•Ú¼ò㌹Öâ$ÚËr7æ$(ùÝè=¾5V¤ÆŸ„^;9Twïc¬³Büò= Zã­ð"!È0 »bé£bà¾C¨8†d2òq †ú- '<ŒcivÔÇÞ°p­a{´bIz‚FtN#ï½®ŒGtî4Ê^dX’~coâ­z”ADŽ®_L=ê¢YÐÉÌ6#$NÎUÏý`_s°æÚÕRÛì<îÈ ¼;™š:•áÞÉ>/ö©Á¬JRWœ¯ÃÐnä%|ð oPÈNhDX•=`¤¸íkUÿ4³\ä"Þç7ÝyrH\áá䜨jà cG&9 . á&{**¤•¾# ï\í&ŽÑ0_{ÓbG³­[q•`tïÓd¾:’ŒIÙðÁ`²€xˆÚ¨Ùl„³0«·¾ü›V+ì·£‹](±ÍêŠ|Ïjöu½ÑЃ {àd§E*’‹«†è×¾VM‚wÄ’ØœF"Ûo9Z±Å»R_eª+ÿÆFw–*«ë8¤âÖPò8€XåbQ(‰×!ñRk\Ö"D&¢Œû>G`ÖÕ­¯È¢™ üC-å 1®Ý±¸ £Æ×Kñf¯ÌmŒ,Íï(q|çœQ±m¡÷@¤v@ºž9G‡ÀCË7¤îÒœÕ)§#§ÞbD2’Ÿèd_s“šˆ+˜c$#°Îç?¬…Êé;f$‡F£a™ƒ)ï=*€~›ðýß|#ÛD-ûf¶ë¬½ñ,òZ„Rl7P‚>ðòD€¿´×3ÙÑŸèÝ>æ\ž±*‡qÎ ½^Éþ-FwU²Hvø ú£ôÄ×™ð0—ÜÇeân¥ÑÅ—Èz©>Œ¯³×DŒbÅîtÂMEw¶&~èOu€ r?¶oØºÄØÆ—V“G R’4@Кå²ø¢©Ü®’¤\Ó±žP°"\ŸÂR’sè¸<è[(Ã[{½Öü°E„á°?)ãe°Q%“A‹¢OO½}Î0ô¬Øl=f™× ˆôÇjûBwûýÍ8U È·ãÚßR×æî Ž%\aÓ4'æàIøÀ|¹Tià·çsY i¶ì†-Ca¨ŸÚ;ýt ›¼Ï÷˜R`t@8Y¤}kŒ¤†Ç%±Z³ë_,I«ƒ°A‘«ýõ4Xtø?Aøá#í¶ìeÜ™Åa•ÕC=ms5bíc¯\VÙàR-šìH€hNè;Iå- ZL—yÝšªÇA)FÏ+=<ñ>ýcdå”Í‹[2в»ð³±æ’ÅüÒ·Þ P~¿ ¦Fâãe³KÜÌ V7E½‰á/ËMBô‘@¢öÓKPN1…°‰ø&AÓÓUš€¶å$‹RáÓRÄŒ´;[Ù=x2ƒ˜oÈt…Ot;—â+W òU<Ër fU"¸•=KÔe¤Ž6“CO Bù)Dk³ž”4°àŽS%šÔ˜ksƒ‚ø0µî¨‡RPÙÞWöMÒÄi‹5?Åj•/²'(ƒ&"«Åéba½Eê×üÏ3? ZEem¨˜=…üúÑë9l̓‹Ì¯øm )`¼Tî ¾ý'ÃDí"ÁýORæu…mkqÜ:P~ý4PnxzâÙ™=‘CÁ¶H­$ñk`Í~iž‡SÅkiö]Õú Ø·GºP1×î¼÷˜2 ¯ng®€¯EtFa„?¢Ìiõíù”h†ù…`ÕYâÙ—í7>"´ —¤``rS{U‡j>Ðòx¨‡°hßÕE"*É9øý·Ô·óŸ-Û¨ÖÐ"‹ê$‚’6 ‚vÚïèH(±¥ïs]+oku›±Ç¤r¶þ„î’rÞŸÅ4'r¢ù>¦7»XFßüÐ|_ÕÿÏ»÷Okq×%˜±™ËÐ^öv“—zBBÝ̵»¢ 4$&9höÂÀ3£ë‚÷eÕ>ʵ%,lç\›d9÷DŸF]—£ÃõÊèðQœ9yèrú¯>\Ùúš€†zìå{”ã–õû`«°É$ýô°o•;rt *4Ê›6Q:sîë¼Ü`¶ÂõȱNùZK`íï$®þe0?CH,0 ÃXÝ‹Ÿ2}V%ÂÍ^íäÔ/_’žì‡Gû VýýOB}µ8Fƒx@ºêœE03|ÎI€FªÎ“Ñz"S‹˜½p+~F<&¼5ŠžIB’Ç_²•hÜÃÍ_úÌào _œ»Ž¾ùF²á²£sólüÞð‡²„”ÛúãXNíŠéÒoˆ@ðNšÄ«æà^d!=ñi*¦=Ô¨C( ,ǽLÀ’ Tøàl™Òáí¸ÑŸ-æÀzÑBENµ…áô)óxabn"åçÉãVÑô2ëàQÛÌXô˜n‡è8íÙÐÑJö|…`&zŒEÊ7PL]]ÎÏM$ª?ÌÍÁýÉVQjl±æ†I'‰éÉÑŽ\œ Õœ¤õb¾|D´Òîeèµ4¨ßaB$Ã]޽š±m ÙéºÅä>²¬GÒÅ91Yé ¥`ã¼ãžbÆú‰t^¿ŒR­Aí$ DÁǵ"¢!f«ÍÓÖ½Þ¥Á% )Ûê†0“™¹¯×{5ÖOÿùuãÔ)¹¬^ lkNù “P/^ªz9lWÃæÔ‚nTL cGßyƒõá•ë‡<Ñ 5\®_tý^ÖÙ‰¼ÿ| Kl?„ ¼—Üäf‘¼ö]p™§ûÔÁ¸†|éiøÀ˜)Ζ%‡œ—âZù=Á4>7ì'⟵Xä:wS¿ÆâZPF/‡÷h‹ÿnÉ‚Çåôö¥OlâæèP4o)CJmâÄãøªÑ/gq{°n?+¾ÇÍjìä¶ü•­_NvœŠ¦ª`xs_CØ0%tjz ‡ò‚ Èêš îÿST ÙÍÐðô§Rèd×Ù›n`yÞ†™2–¾~ôŸ+k»?bÐFE1E ®‚Ðf°I¬oºt ~NŽA*IÐ7/`ˆÏì«'Ͻéö´¡bM>óß3áÊ£r ¦9 ݃<ÈŠyÉÔ—»Ð£dó¤WYF¢‘å ®Ê´½”“2ñ•ŸˆF<5EoN<Ã)C¡ržÑ j¡ŽH'-ÜsAm¶¸sø.w<|è1{ñ¦:ã7Ý ϵ(- îj/Rà_¤Íð$£ßÚ4íÅè÷_LË)·¼°Ð íi'?*×\ˆ3gº¸–ªHm·Xiz8×·ÖI+ …“ºq1Jû²ü gh¥këB×2õ¦Å2Ì™ ̵$>ì:€SÁe\š³ž‘š/Á­ÀPœ”¶ÞÁÝ|cC¾–Œ›W·Z£NRÍÎ…3¡]Ê8@C3ŽEÍšwöZô¡×:¼bóˆjJMTÔ÷û µ̸EnŠUp_Ž:I3õ+Úû•b965ÈkÎÑ÷ZÑœÃï§–¯`î­œ‘mõD “šME¾Ïõ/‹>(˜UþÙõniƒmÜlïN\!»’«ÃÚ„ù÷6®i½iÉ­j;»$p‹FД81¤w_NyC݇ÂF8èP$3mâÁÎG*îø‘e¾’m¿ý-œX§nw®LH7¯ù·4cÇ|Ì´øÿ!ìŽsÙ“»÷ëô'~¥³)ä9+ªx0ØlnÎE@Øh/f]·JÁË­ç´Åۦ‰ W8ÛdìÌŸÎ ôŽXác*¥Ó'mºÀc»Û?¥¢ËÜÍ1elx¹×t}ê_³+a¡‘˜º…ÆŒÜhrßˈEEúÙ6è=2 ¼b„*+ÂÏO¦ úÅóìªË{¡DÎá>¹xEåÓL ä³–e ¬ÔèúÎ$Ï ¸Ú‡ëø’Y‹,b‹˜·UBcQ2\Rìµ/$¹Ì5Ôé¦Z"/YÄŽèÉz”ýHœ,ýY&޵úß%²jM4ÁË‹´Û¡$††j9ÙdêQ¥Ñå2úêamÌdZ²è3>ÂiFX‰›è×Ç—GJ;%ýg'\LÇJú"P¤Çh™žÝ,±¡´dEìSMŠK^[ ÿÁ¹ú'²þ}°ßYí|dpÍ,ÿÂjïדh8T‹Ïóù!¢úp+Ü"”¶4¿®VK|í%#ÍKd_«9;š£Wûß¶Ðô¸î—ÚŸ·²ò?eî¡›¯GÏpØøùw×— ¯)Îôó“íª;ó¹ö­'[å–pÕKßXfT„„s»_ްžfÛ@»s€áˆðþ'´ŠDùÏ£ÑêËŠ€¯×Ó)O*CðÑî.Ñâ% d‹ÂÒ?µàKVJ˂֑¡ù¸½±I32 7³®©žà šøÇ*\ U¡×!"^3oªÍ•&GCTò‰uçvó7E³oB9µÍɜܡ–T‡¡õüß­®cF”càJƒðÀ.åaÆ6õ6=$!Á.hþDTNHïYÓ®çb)Ìt6Ã55#4¡¡UÙ•ªäC‚½Fù[Ÿ“äŒä/V¬rüœ=¶ø {¥¬¶xÿd)~%ÄÓnœA[BÄþ®w}4`Nôú•eê e•?VæÆÞñÛœ–“ÁÛ°(óÚR(4'ˆFñ£Íu~€l7SÃ[ñ÷dK)refüŒYD<ÔbnÇjïÇ ^XwÀ]@PŸ%óôëÏð›5ê´õ7¢~dRãOœ!ÝÌê„\û'BMm&7:ýßÍýx¾~pXSã3â]R"âš“[°Û áøU%C¢Žd%:å4ºR¨áTái•Ûh6g‘">ÔDåwëQp~õþþQ\MÄÓŸkѺgà1C|½*;üŒÍÿ À=šzß׿S¾²¶!£n‘{ðMÅóæ²žÐ¼{ïØlÅÆÓÄÕ° ¸®Ó§a½,Úèµí4ÌŸpî7!$¸ýªìÄÃÅbN¿U8öæyo” Uö8¾Ìhƒ“-l‹]ž.*XêN´0~ynÊIûïA_;"y<[\sº Ï“rtš —‹AJ³O²'D5•Í¥G»¹<¢yï7½©ÿ—b]˜Äfdá')e0ƒÄšÄ "Wh4L«`ÒÃëRqÿX ÜÌúð$É›vW†8¨ð0oWµ×Jë"èÍÂDƒ®(ôo˜VÍ¡k½ý^ZQ§0À×M <œa ¬ðKÅX§¥N¥íÂñ{(‘šiÇf†íæ{ÝÉ̳Ö§É+:,… Nœc¡ìfuß䟲¥U•à–Hf³YX’™ºãÜÏIR¶‚7騾õ¸}åÚ.|l‡€òˆ )eNÿ%þ¯p–Ó¯ò;…ŠÇ“K@¦â¨sôÆÉ¶e†dpëøì<³ÇulŒgCóðK¢â%ú‚Žä®öÎökW¬oóÏ—ic/~V]·"Ìö÷¶å r^zÍÔl!0!Pø¹:yÀrž¨öÖ.+!‘I;rå/#2ù%P/bœ\‡$n§ARƒc4ŽÈ*.Í OªìŸNæÊ- 9ÓrqíQt9c©©Ž»eì#‚ÔÚ”EªJHCºѦú¶ý—ü”]jÇ"1œÅÖ @©¼œ6QׯçvøV1°R’á~¨ð²æ,é$ê€_8Ãw†1'~µû¡g.zƒâTP+!…†6xnmÈ ¨+AëÆ#åjf&¯ µväâÁ~P‹ååB±ÿ²â;F‹cœe„×'í$n8)^ðSS¶O±s§šHôŠ£{/ñÐz•]~ébJ .×–rÙ-@¸°’!¡“C¯¶6öpuVcB·¥±˜p*ÜaÝRÃ~|–LÚÏóýÅټŜ:^c<Ü»q}“Ü,,S\yU]R¸ºéÎÉà!Eþ½}ÿˆz[¤}i5Ì'Rz7®œ÷3ȉVŠ•§D­|&J4¸7ÕèHkŸ§¤Ÿjú §ní!CŸšñiŸÄÍièYÔS‡&µC¾8¥ÍÉ5w|¦jrúŠ Ìä“+t‰^2 ÑÞ¤yïÄÊ{51CŽ=^5Æ…“Mý‡¤ˆµòNFóD·¥Ô"D´f‹LXɃ¢;²A€%9b9yv°¸õ@)v‚±ú$Þ÷6ñr(ç2ù}‰£Ì”·ŸÃ£ä¤yŸP¶jˆ™6µõN>¯!lŸ=gÒñ”Û xŸš–UC~z©©uÄet(¡G¤¨„¾@©£!N„fn9'ë켈Ž$9ÅŽ˜?ò‘N´¬È n¯1I…»òóæÊwÌ´}™A¬¤Äá‰ÿö ‰Á¦¦30oHÙûÏxn{ªs$ì%9Lv¨Ÿ’¼0w ÄO1îêý“¦Ÿ$¥úN¤AÚ»N®%ò†ÆIdê·\²âA!JßkÃÑ[2`†Ù¥&ûYÖ²ÈêPêøÙZEásÃËyUp‰†= ®ý%áà;³H•.±×±é»K#U°" Ylê.©ÓÓ\tR¢Œû:ÄpB¸AŽ¢ºìVI»Náa71ÜïöÙßÁT¨‡C@(ÂQÊ¿R-dA=—RãažŽÙj’o^D>3~‚7{˜ß?+¥¡ur,Ô¶–]»[‘2忬J\01Ẕ‰‹ÌÂ@þÌ(IÖ댬¸ÝÇ0{c±GÎkÂPÜ…Mr#mæ Nxá/h¨Q# )÷mÜãõí_lR–³–æál ÂhxyÐY›¿Kª[ïJ”fµ^wSÒ¦¢ÇwÔcsY»¾†Æ„Å‚Ó╆vÚkz sM‹yƒ õ^ô¾6ÚÎ6xy¨‡„‘a¼¤õ‡mç@Ìž@ãL54ù]Z’=ê˵mZ®ììœ/sÉÉþ<•„Ñ[ßïÖÛ´\ÇŒ÷ѪÚx‘ÐÂs‡¹Ë#Ý·,÷à"¦™'rú2NmÈ6ýÉoc˜)Œâ#X[xÜ„ÕßB6Jã'Ž¥<>ÒÓá5 ²ÃŽ tÌúTÏmVxÜChp!A3©¥$>¬þäl&B˜^à7ÒÀN‡ž{f$‰Åæ*zÛ¦cøœ1ÑÆ~±›å:Ànô]}‰" ¤~ ÍXÞŠ\BN Xo¼‚gú lU<õò4# ZÝ• }„#©×¥§•R€¤³þHÙlRuíøQSÄ‹ ío¢R+×o–Y¾³l'-Ø©Äò›µPŒilqZ!–ÒrŽ3]­ùç‘îgV/õÍÕh tæÔ’Á:¿Cý2;*e]MštF>Ó»4·/KV¶ÔßaåR™”TGèX3tž¹¡c˜ãI ÆZf 9ŠÔá†Jˆ½=`f®Gúeµ›ÔR%vùYø¼¸‘Y„i§r#™!mA¦·be±Æñ q–Ò ‰•m% °’Àxa'ʼn;Vô¸“0àóÙ‹¯ød­´Ít+Ym¾  ~ØA1wØdCäÏéM,P ŽÖ6 Õ|ÆK‰láqúݰAÀ(j…´åZˆ»[ v×¹¦Œÿ}h‚<ÇŒD+´ë°íþ¶Éc£)AÏ.ÒòbŠZÃìÇ7ˆÎÓl3‰+–êÁ²¦çÞkŒñûéǬ͢رÙÎ]Â3Ö/Äoäú:=ë×xF0UFSûÚøU.B¡YaV332…fÈÝkðhRŸ½Qhñ«á…*R1RT=–00¯¥#Æ6(6þšՉ´›Íq(e`Úó™)1-óзHd7 y‡c™eÿ§`¢ã{ÿjdy: YUR$+¿ ÚmÑ|źImÁz`Œ)ƒ˜"ô4‚Þ!r@Q‘ïiÃÈ{O¹1VÇêÕvÙNgžòÍ¡kº ~—҃ݮϚ&¬9Rxꤗµ¡êGmÙ$92ET ›Éäóº…¤Ò^y«b%+öv±BL•LxèÏ3/Î×Nƒ”ÕSÓ“âW°y/!:½ûàß÷Pû…y½²ùØ­ïC#w·È똀âþ§#èU$F ÔA€mýõîæön9=fJ[0xžýYjaR¦|ê©©ïö‰§Ùµí–…$@ùsÄoúÖN¾'ýª²Ç[Â=!<Ç*ó`[¼5š°?K¢)TåÌ)è˜ïÌdñ»G6¹ ttK±ÉT&Ä•j´f¶ÖÄudžB:â…)P]RؽÍn¶ü›{Èö‚"lL¦ÇÂCç!E†Øf;WRCææ,Z`_Ì%®…çØÏ…¶{q¬­©$@ƒ‘ÌÖåfå-kŽIЩÜN ž×i“™•m&g×=†;Ä€ëÛÂÌb²ÉÞŽÞÛJz4äѬ+W8i6 ˆßÌB_,lÆlË—Pâ67O¶í®)}²ô¢Ý83P?,Ÿõ»%x1Ÿ2m9ÔÓy†œžg+yf¨M¸ʇ6^º^”ËU°N‡ù©YDÈöݤ-INä5wÜàÑB7ቴÒÃQk¶¬S£lS´ùÝad¯ÿRˉÑkcN¤¦‘st"Vä÷þ;tZ5ˆ”©‰°$§‰Rn3Áé–?<Õ¿»§ X/–éaêÚbRððVo|¬+x²nú:àˆêÙá~óm á²Æ<õ_óäåÝMòÜÈ^VÕÍÍž•(P ‹GžH9^ç×Ñ)C,eœ¢{Šh‹‡ÍBÝDÄÉ·}"ñföÕvtO9Î~$Í¥3úZ¡,p Ø;;=ù™5ä“a[3M51 W}=d"Ó»t£éá“Ôµ"q¯ÖùаŸ­˜Ì®ÿóÁˆ21ò:ì{Þá=& ꃿˆƒ:šñw†Úaé·+DCÇɉ¶<(Õúd-?JÈ,PCï¯iè_|Œ\Læød5!ÎQšNç¦ÊHið{™‰ U™º†^•b)aëiµ~‹~p 2pë¡d²¹å2ZË„Wø«¿*ØØŒû¤­ÇûvÑuŽÙãmÍÈ 3’$šÂ!x ôv—ð‰*¯N¬XÓdD!´§C8š¶_}\pHù±6IÔɰS†¯ÄZM¶Kó·‡xË‘%Q=X4ßÑÔRâe•"s†\¤4SÇíå﹎A§oñ*yX‘Ö^›“}V×食Îp[ŸÔýƒÒ&_Q ›ôQÚ]\ü<]½IhIV¬Ëv² –clyhù³[®8£™N³šx“­x‹ ˆšº' pb·"ff¹Ü×v`Z{ß!×Í>¤G³ŸoBÏ|uXÀ“äýÈœ)«¿hÚ=â{—kiÞnë(­Ó±ó]$ýqûí~×ö/Ž–åêªn+Lè|‡Ñ¯ÄŠ;‰Ö_®ÂêòØwsÚÞ3¤±ÿ¢™QñgŒJ-‡¡ñJWUÍVÖJa¿8˜‘¯†HsËLU©§§¬Ä4\~ì¦_ùÚzô[ÿŸ÷)¶t4øèF< º“ƒT3Ù,(@héýbÚRC{”YwPÄX)ÿ”æøÀ቉èS+íûQ—E¼Üj…M¥h»:ѵöB6a.ÄvþØ‚Èb…h®¿¶*øúÎ4¿ûÝø-c ¨A’â……8 ®>&,ò¿6ûc¿TƒõÃùÿèN¨.«{!À»‚j¥’r>‚êñ©uävºlsË|¶ªCcÌ“Ïå]r`¶e/ h-òÁÏ®¤sÆvÀM¨ád›±†26FÎjÕ¯;ë8¸Ár~°KÄzR6µÞJn]  *îà çühÑNK” ±®kT$ªô~0)7*¦óM»õÑ¥ €÷c¶Öx NáÛ”š1¤ ½…I“Ò¾£Óöwi'*ß"qÏT!n¦žÕSMÍÿ.xÎ23ô¸/çrúò‚ØËΦ”¡HV}anu·ê¯H¶Èš4úÔ·êƒÊÂc„(à8böþŽgK>2@Ø/«¾;YÚi=èÂ.†3ä)Љ6+ˆ”<Òß²ç/p±í3½ëš+6R"Ûc€0â|×/~Î#Åm×C‘`YåÞÏêæ×™‡ !V…ïå>‹"týVlRôÍH!¾ U†©Â<À ¶œ\!/úrÔ~Á{ÊV£U˜ë¦MÉ£xœN0¾ßîÊ_ ¤À?°eX¨sv Fb¦?FŒZD:Ñ…í@¾¬?xç¤LùŽd?¾ ‰[ÿÿw"Ú·ýüB­Ø¶Øòv6¤n€˜¬ÍIº®’܃f)"þu#õøµu!|à ³‚i×Ræß›PTkWºÆŽ%€!(ú‡àyg‡œßކÃ?6OƒI«8—¢l™Ù¥|{!è ¤ñ°)1VWÔÓŠ…Þ„”ºUƒ,ܶtåºnÿ#óœgK²‡›¯êüÄÔ·káGv’¹Ÿ,_ÑT|/±0Ì0ë/Òá*Éc©Æ¦¾ÜNmûGõO?Fðà~TM?Ä·ð¸ \È¥ ŒºÚ0}àËœöT‡¦…iq«âÄš¿—„Õ–kÀà‰3‚žÄ¨*ó.žVÔœ‡W˜‚¬~!Ò,:pøžwËë4¿rx ú©T×/Ž[dqqM”ÚŽ´Q‡ŽŒG¶Ò­/‚Z´%6«  _X²î)*›t¦›Œþmâé߈ÆÌ“%,2&^ÛG®ül±^»¦'Ń´G6-3™´8àÿ¨ÑÀ4îTZÔ߉ì&*v àÅ}b„~²¨C¤8Ê¬Ü ²0e…Äù¿–{_,L!0z¦Þéá9$*ÑXWȶwÜAõÄûøKÙŸ¼»])Š­Îa÷¹È6dyú.YßMh­^ƒÉÊœÚË‹üœ¥3tKÅeùJâéC’‚w*F»ïpkO£QÏ$žùËâ@ocº%Ú?@Ðâq¿]YÖOL].Ñ3Ot˜>i2+‰gøgÚ£ÊÕî’¯¤éÿéEVôº2ýò]—ê–y8í–(š3Á±eGª«ª/6Ö¸ùɹi‹@+Àmü¶‹­a5«®ÅÅ€™u¶>ÚAo‘e‚ßÕM‹+Þ(ýé'2óºï[V'-8ÀnúË›ÿOɦ rHúéæÇÝT3To–ñ>¤Ë ašpÖɱž‰°Ík×J,zò¼äÖÄ‚gŠR/6f"j²0có»F²€Í oßîFã}È)²Jú¹8ÐuÚÇà ‹(ðÿ†Xú’ã³›îÑ˦+“L(TQ¡Q¦"Á ¿©Š]×Ü}~ѹ}“Å<©$ñnR•ÂçRÅûƒ[%G‰•œç[£/mQŠíD{H‰ÉÁêçZe¢©8¬±Æ9•v{í¿9+ ïåó[&(k -…«UòûÙ´š®<Ѳœžèy¼²G×'Q¾ 5š”6Š[ášDü3 ø²92dµ`Ì: §5[6ž“ëp³Öw nceg~ðe½1= RÎá}Xˆ²\]®v¶ˆð]x€¹Sw{3{³ }APn@¿ìæãíÈ"'eÈt Zs,ïó3ݪâ»'¢g-3nb,æW³0\ÁÌÀvHFx«‰ÅøÒ–2 YCT…‡v/º]}àãwƒ>µü°¸e¯=œíksÿtÁæ‹Ê‰2”â'Þ¶ÓtpLt ÓáHlNBÈ–áŒñ”_vŠN!…¤ÛOÀÄê‡è}ñÜ[Ó:âįßïZd¬Ê§_=«ˆÖ×&{ª®ò½µÜ^A§Þ«Õª¥^»£å²t<-êí9}¥+â^ìÔe¼(ó+Òé:=ab)ÜÈWÙ0X=n㦮€b;gƒc2©ÄÖà®;É’õíÁ\Ðý–ý.a1ɳ…TÀÚnœlw;h’ASuz´Ž¸TÇ C1«Užs?‰–Ù“KÊžÀ5…èS7QÞ¸JÎgWtØHf±®Ëõlw~»Š¡õé2aÅA}ò\Â*ÅÌùG‡míçn®!:×'(]䇃“¨ôn’HB€×¼3’(Æ=GVïí:§Hh[/CÂi¥‰Ž†É\=¶±óp©Öy–b=ºS•DX âì W A ^¢›˜°UõòñðMúQQí\a¬ºg(V±f˜tväúB"P/L†Ôà,ؽ¸õß°ºß­U»¶põ}ܳ=Ï»°K'd÷z£Öa¿l‹ZŽ2¿Ù6X˜ó° ň×ÐSYæÕy¥ëBæ]Uѱ.A'>- I p¹À O`z„ˆHb.@™¿îäþÆ+iï\XaÈO~Ϙ– ‡MudaøþÍ56á€^ß¹{#{ýiVDç®Çéª%$ƒ0qD?l€²òCü|¸BÓóò,’Á~«yL›{ÿšMÝ5Ï+ãÀŽ壂\¾ƒÉSÉÑj5(yU2G<äT]²#Šú³¥þàĸw´ˆÍ‰Øç«Hb‰i$ã ᾨh›>¿7ë\>?wyȜڶòí äÁwÄq«ŸšXü€#P.µ%¦^$Gë6;¡®}ÖÌðA~‘Œ©±Ñ®C<àpõÕäÜ‹¤¡÷¶ ¸ž\-NbïÿÉè©Ôm¸ÖEŠ€ˆ_sÙ2s@LFjX4röuh•§C¹‹¥Y®ÜÌzé»»äÓbÕóf6ƒ “ö¦5Oñ¯%.G`}7­ê:uô‚Ó8½îÐñÕD1+º"!ðHâ2ô2Ò* ¹²rÀÃù€IEàôþ} â"YU*ŽN6ܾ¦Ïñ¸yòqÃå¨üMÆÆ:×מ)BÕ³ãÍ{J>ñ½pT5}·ØÝ¦¾ÌÚÔ?A‚Â|"—Χ.÷G»‰·+¿ân{);è¡Æ“Î…n߈«à uØg¼ö4¸[Ó,‚˜;3 ëêœóNäÜül Š‹e)Êp®gå˜Ï@cl ”ÓKn§é¨ÙSÎÄñ6­õw\˜ß_k‡ _ZLÜ6…õ0zV6UÇœ+¦.éåÙ[±q3fþÌá]úô2#"e,_ªb \ãÄrw˧³Ð´Ã½ïÇjZ+3 zhšÍÞs@ª–}NãÐx.ç`È Ë|Ôºžò¨C×Èõ-q)þ ‹ë“^rpA›nþÿ¬U½‘^YW aùªƒ9^{seBÉâ䢾"n|¨"ŒÊN§ä³VPu—EÃ’3ÿñx©“ˆ ‹£Ù”©"àgË5/^ïÀÆ8ÝxAe…ñƒô™—»*¬YEøÃ¬üÍ$ü®å(Âa3Á²¦QéÈïêW?? £)E 6°Ùq¬Û­Ò ™¹UmÜKQRw¶èˆò®€¡Ü‘¢W‡myý–õ±ZÏ=êmGóT8äç†_m…˜g²2`2|G§£±¡\¬çˆ>”õd~ÒÚ[ÞQ«*lÓ3®DÇuáª4ôRó’eä1€š¼iíÏ;ðw½$Ô ¤ÜƤ#ÀÍS˜ä ’Yˆ2ªŠ èCÅ$%…$ÓæX%Ï¡sÊö>z™Å \d¢¸^R£¬\Håp^)_#ÝO X¾ÓB¤ULU¶³røe¡Ã xã(È“™ót¤ìµÞ’/ê­%Fýè¿q½ Ã,\évØ€·‡ƒSðô(Ì¢²ÎKc‚2?’›TÊí ðE¡¬ÛW*©6tKÝ* ì1ÆCÝó1 yN6–¤ £yqó0DélqYÓç^I!é\†^™Ë"OP³u$ÒÁŽt*ÂìžÚC—> †§\̲ nú¤œ4Eþ݉êN)}×~.4ÄÇ$®l3(0Ã%à;BfEºÌÎ.ý€!·R(ç÷ÀƒW<XFJ® 3ÙÛÔC ÖG²B0õ½kûž•LYùJ +q„ƒùi÷¿‰XÒmôJ³¾ñÑ«GÀnwbüÙ#á®]tÍæ´翺›M(û€ËøMŸæ°hx¼^gÚ‚»/`;&[ÎEžïâ­Í€}®Ö°‰% ´øvÊÅ~ üˆ[DëDŠB„ iËöšZA%§-H;ªWl/–ýî…a°>_˜f£Þ>ô4BÓglÔd/pÑôäuõ×o^™$y±z,7!ú›êºíÜ;2â ÕuGÚÛy6ÊÊeˆ‰ ~Ãl‚¡õ6CèNæA/ <à]’—ãÝ´—DIÈI?üìq8üJ!\0;ͺó2)Ê‹—øú(ÆQ¦¨vo”YwdÊ bï¢uö„Ʋ_ÿ³ëè1ãg€dn{IRß÷"ÜSýD2îà9QﻆfÞÖÍp% …›öÿ•óÄ¿ãjR§û=B°­<µß˜xª#((tK±ï}z4MØñ~Á˜¯žQ_‹ÂèÜ>1û;möã¥äHÏ÷hÎhýt=hΫªrƒ­3¾­é½EMg‡4|­ÉÃFuçà.HR¾ Ü÷ú'À¢ ž#¹ ¸l¶›~W\)SÕû!_²E¹@ #À£ì‘p( œY$ª~ü‘¸Ç=Z¦vÝÍÓW$“ ­U€ ÀªšÓ]˨ãã_Ú…„²+E¨ÓxÖ‰vˆ'þÅŒ³s·r_È¢·eC–èÒþ"£o‹DžÎæ1ÚL` {y~øÌÌ£ú |Gd±”[¦»xEfmx]ÈñôD— gžÑÛ2ˆªS–òDXjËîAeé¤v”'Ni‰{8mHòŠ“fGœ’@û8häM³N‡Ï%¯›…¡³J–3v2S w Xމ©Ì±ŠýimQË£¿´O‘¹€ÌÁý rÅŽƒ5Œ·QV&t‰3ØÙÁª²c?úÓÇŒÓKÑ—Û ÷;í*Ç:>½ˆÃØžñoŠÛ¬L"B1r–Õcm£Œí¨¾ ¢šÖ¢®F[yA3°£®tqP¬Ê×¾|3š7}Ý«£*× f_`ùûeñ– @m®¿˜â‹4DI}ZÎÓå¹'д6ò§ÒVsOì>¯ó§15¾ÍœñÙɰDÔHQhËXb{Ø™Ø ™+(ÈnæàΧ%úzêP:Zœç÷ñ4ÖßÕÝ€¤Ð!A)ÏÕÿ–¦ÑPêEŽVvz(@Â.Ì#R“›…êö¨´64k¢,Ú‘=뢡@ì;„ƒR˜Ož'm%ÊäžUÞ5 –éx!âÇŒM¬a-Ú²Ô¢lË)L’&Ò™[¬ïÆÞû^u{BÁsl8±Svã°!1º.äíÞÅFõ”7!a\£2Îìq'Æ<À0d=v!b/² ¹•»H:}uÈÍÛqKÑ E9ö+œÀŠ¢£Âí1jpÂÐDwµ@&rˆ`ÄAl¥¡C„i~ÒK”œLh›&xd¼’B‘àRµ«Y¸˜¥þêÈ;š¤‡hý˜fä^u NQ’¯§¹„©í¨('è7x»ìツ–æØDPTU3ôUv ‹Û¢¾íjíœÀÐ?­/¤€3”ÌÓU|¸}[Яä 60®RfT÷~ù¯¨s-¦F\áŒøÚnöp¡Wa9"«ÃfxÜ­7<˜÷Z’\ÁRúÑRqüË¥ò pI^Ü ðN¯FEEXN•: â·pyÚ0¨¢·F8·l$NɈƒ)uj€wðRCèpšbâ¯dr*‰Î'¦ÕI(þ˜}½+¨?[LÒl{PþìbÔŽ~Ô0gö`ù,E3˜ÁØ;¨H s|À§£I X8nÉWëÎf’Í#J:Z s²ý_dÿÌ€Oç‘$ÂçèÅËÅ„äx.G4Þí–¢UfÆܳÚ[H”'…ZúÈ ¦û4ËB@¢~R &À/•_€tCOÛ´:kñÖ=ªJЮáÉåod¤& ³‹³ì‰¼I…ZX¢µ¹ä\vuØ&2ÝôDa4ɇ¶Èó#Ö8Ÿà€BÔ¯ìEQºèVßµ4I ßoãp2Áà;éS½Z¡fâ­¹Ñãbþ”q:í=_^Yá^~Þ;œÈS¹µOü–ÉíÔ:u[ðk[Ì\g¿R™´ù€ )úÅ–ñt €(;Φ¢‹¾Èi‘…n|k,ú¼ÏžY‰[/ý?‚¬¸.VØ­±‹û ðÎÆBýÉàG’*—™¼Y;lÊîpK´ß#³éÜ='aQဗ¢Cɶ¨€^ŽWÿŒ¾j÷$¾™Jöîb-Ræ8n¬J×Þo(„û /h9HñìË·nC–Îxµh‚‘ ÷ uÚôf.6é—.ß…4%'J§¡’£¬•õ²C¹=ÀÁð†PIp@[W'œØNý^»c@¹©MÐ#å=º¾|WÐ4 wó-¸œI XËçÑöœ4lòš{›•‚Hh N wy–;þþ•ò|ç6!°Ê ÁWÜ»Õ>.2Åý—nãÐÇ•Ø ƒþÇ¢Ÿ)LAì­Íi «Ø÷T2qP€ÙÁ\?.ÎÍWÿS56IpPÛª ý ûÛQî™ÌÂÎUéFÐå5M!ë6Ñ$ßü€³/·ÚZI{ºY}”Îãêxœ·mÇ­[Âáº9Êžˆ÷Ë –K„ÐÚÚz‹¨ˆ˜ÏvÅbñŸøýPŸ[×°VÌl‚™wˆ—ÍQ/Œ#û¨àÓXb‚JdsצÙÏÚò_¿—Î+7tNeÈbÅeÛÅ`€Oí¯Ü—÷n³ [¶S,{X8ÂéÜ¡ò[Äfç1p8SÑQÖ©G8Ïü;,PóÓ8y) Ø`Îì»HËl~S¥xAOe¤¿Ã*(Êzrï¥hÈòôKWF6zEGÅ’½%[†nØŽg±¼?–íôÂïþ°¥ÎÇÁ[}Sg­Ã±èv[ÚK?2%o {¬‡¥&q"ƒÕJÛÔ±yM„qê7dÜD&êÐW£iç}Ýd¬›éQzs´=ÎÞÅ4k#Ã}ÇÞ$•ñvÙgÆ:Ï~¶z¯Ëéoæ:DPÁ%8[÷ë'¶÷ž|ƒY—/O¾ðíšÞTüÏd¤1'iÜþ.áìŒGPÂE„²(îžÄò$ÏqJ^qµ´J]V^KjãS*Ì#ìÎò5Öys¾öŒê}‰šDˆS)ŒP–Ãö`sÉòù4tò›2­ø”¿|[Êú¤¤Öî$®ræ¦}çâDl¤„ÅŒ9ÞøãåívÚ¦œÛ £¿ui{÷ˆFC ‚%('>©´Ùfl)[|ÛƒZÆ)«,Ü iÂó|¹P,+ú’½iÇ…X#E«oÿÕOê‚îù˜Å·¹õÅM‹ø¤Û_wšZpo—8ZIc8ÜAª–¶Ü’hƒåŠç_åÇvK2ÞlLEHù³¤_Ëúª+cMö{@cýF9#\‹L5k&2ßì[ ‹ÖÎø{ˆ5iûÅ„'|è.]›¥íhGÿ$$ˆaÀ AôÃ[DRB¯vÎ>3?ŒŸò®ük {‚Nú"ůH¢0]Œ'vøÈÞça.².U‘ª6ðÖ,ŽPG⊵5«£»ìf[¤írHðÛÎq:û\>˜v”c)û¶¡¦±,ªs†Š‹ÇÕ~L€˜žY€9]ÑY“©œ¯(Á‘ižä¨À¢;ÒÌ·xÿc옩Iì=¤¤½MÂæxµ®$iÌ´–WóµPþÀCJ·‹ câÞú ÏzF eူ‰óŸ}®¦zC ÙŒ˜¨þ,¬ºÙénÀÔTY›RŒU¦@˜„/×19XÄ[˜7{Ÿóº©¬-æÇ•8'{·ð™ ¿ŽicÃÕg†ÄP“ʬ»˜Ö™›½Žf~¦ÅaMeIdÞ8¦wÄsIQõPç N(å-–Ãñ^F#)jfîôlîjÊ4tÔEÄ­Wûî25Yû$žÊïz©¨g9e vm餿(¶Öq¼™MDû…W9u£ùŒãKˆáõÂ¥E,üjÁ‡ ln ¡ß´çÅ««|4#Õ¥#…[ú(ü7ÏVc”caßrZ+©ÓWá{+/œ¬«Lþá^PÛ UáH$ëf†}ì-ጜ:øR~L£¸ÇÌð€àOâ Á<ÐÈZæòÒ><*Ú£ŒÎýí®oX6k%qƒÂn@îöžJ&!‚báwæópuáh(ùÊÏEº¡zE šfwñ+§¶äb¬l Š?TóÓk­ VÂã0¬­O‘Ɖ]?dZI ÇÝBÈOYItÙù}õV;äŠ4¸7Ì÷ù”t0ÓËܕĬ3ŸãqÁØÛÓ1‚dü¿<˜º„¡Ž×dÊô Ä^ÿ®‚تᚢw¼a<> Ÿ&vÚ˜uæ XQ<‰Ã(‰d"Õ³+[D_ø ‡rʯã£6,ø›j==£µ`8xäžþÅWxò— ¦àì³û~ñUçˆÄ6»óŠÿH_— †ahb81]À„ -IÁ+Žíå:È GÒ[ˆâž8Üs¶†p^!ÂÁhB“^[¥Éý©‰3ìæ÷T r1Z>ò(}ƯS5‰øapä6L‚d²šì›Õ÷í¨l“|? g¿t8À7I ªSf —?~šü£¢"ýöA°¥I t†WÕ{€Žÿ1°ÛM(Ù6ÕðñºÌb¨œ]9:]ÅyÉñ#g±-ý• Pó2ÝóÂÀÞöouqiÆÇï¼Îo´_ÍÀÊ9«¿ p‰t ÷yˆ+éCyøº\íd¾!§ÒLœ‘òLÇG«sïׄÙ6–Vsàv²mîq[ .çXÉk•„a­™,-úéžY7„i·øó—šð–›¼Ž¸ lÑfM0ÕP©õ» …ÛÝïóŒÌ*u;ÏyÓ>¶Y£pšóg×iõi×{¤àÄ)tù‹éHô™'áÉ6WVÁ~ëhô7ˆþêß„{u›p‹[¼b)NØh䛿 ð¼è ŸdÖ¹Á“Zû\¨ù>zƒX ÚIŽ^Äp“Ã1_ðû¥¼è“DJ·örêÛ?|ÂBÅÌž§ÇöÐØ?ÇD\>écAgü$üÄ9{‘øTSÍž2; jMBÐþ<Ó÷RÏå}V˜m÷ñò«•òn?ÎëHï¤÷_u( ûÞpê”êð4*•<ª(Å…¿¦k² "cÉS| Ô$S—i«Ù96aMòÏÊ„ÏHf6v#ú®~Xx¤è#²rk±yÕ3<˜ˆAÈï#t"ÜöJø*cÜǃdo©“LJ±­»â<޽úÿ¯Û¤¹£O£ƒw¬Dw1¶[äø«áU¤ˆúô‹µjÛlE± M~\%441ÔOÈko(CKTÉè"üµÕðHæ'ŸØ .þÁ" 섌 µp!÷´ >GÒé5æDåõÄÜ&êÖáÞ)0—pB~,‡ög –ئѹkû»Õô4VNžn2¤Â¼hçµX=’F÷ºHŸ¦× á±x §Yª!ÞÁ¢ýà ´>Dyt¶‘gœÀ6»:X‘ iå.…ÍÍMkž0ZìàݧÁc.T¿ã¢%Å;…|Pj3/¯Fžæs°ÑtΡ•Òy­þ´%½l<ï&À u,>s컚Ë&Û9.K …$ÛƒMx |ßgÅQö›æk - zȆ~Êÿ9¶Â¿wÿ*!ÿéëo -°5jª¸o3IFÌaùéÃJ¢ åzpKB)XÝÜjròé³?m@¡³=ýc€ ŸvƘaþu5®;V§‘o_ô°CÉéžlÊ•„sh ²üÜ;–z,ÌüÜ…}M°‡¤¬Nµ¨¢hàñÐú,>`:"7.Ñœ¨´VŠòÐ Ñjªò2Öµ×É¿•jµ{í—6ßì.‡hÑ‘†ÎÄE|*/N“|-Þ¥åEŸìU sƒ×¡ÁZ_IÐ]O®ŠÇ÷€.è/4£çå¤(q-XÀW¹—¬Vføè¡¢ ޲Ø×—𝾠þoMŸà*0À–TËaFܹ3Þ¸AEˆè¨¬±mw»CZAL}?ÿ¸àÀå6ôŒ¨dµ@•à iÖ‘Øï0h3>c ’HiuiÀ{—æÉeut+v<Úò§¤NZ¡÷ÿ¢‹cFæEólùeOT*¡wFK„hœ½×CA8DÜÐ?‡³–ÏE­­¾e¿ÛQÑ&KËÉ~å=‰ô<6`tŒd^±1D7B~¼Nzu¥}•½•;ÙãõÔpKy“† fw|w¯@9h„Õ:RPÆCèp0Yâç}×Ö4u¡Ž×²¡€7U™¢ÀꙨ{H¨˜ñQIe…0$$·‚ˆUs{yŸµú`ižNg[w¿†j–hž;LìMÀ”@„Ï'F¥èµPšÁûó‘t.np%ûZ«#ªÉ,ÍÜÎÉ-ã›ö†5Z*jÆgŸÎ˜Zz$\˜¼í·ruݦ/ªEt‡ÅK{bȧÀ¥œw¸>¸z+,FÛí¯;*U˜E,7ÐÉqMì ñçØ±×>Bà‹Ls&áçËpxà4a_úšý|éYLbØ ç.ùä,äŒ: ¾—STÈ‘ŒÛ»ÎMVìU÷@î0 íy—Ü6…œf¶Ô!Ð?Ÿñj[†GT ¬`ÐÍßÒQˆT6KQ±Áæc„Oòä4°DÔ‹'aNÚ«”*ÍF÷y/€’ –;=*àæwp7gÿ÷JÖ*to¬ÙáÊùƒ'ÀøÄDæÀh_ö/%Q§A~_3Æ}+Œ¹àd¾½›R¥Ô|ÙE€qhÌF¦0-k‚ûìQSÃùº~ÅÁ»¿a–‚Ùºì‡]Ûó‰‡$®'j4ÃæöŒ:`ˆàÅ™#RÇÏsRé6S³ôûE&ÁLå¦ÑµF~HÆýa´à”dTïµ!Ô¸Cñw7ÇåØó󄬭CŸóNñ¼SŸ\ªšŽå„óID. 2aÌ0ºÅ,´$­!}pNBÉo’k³›‰q´Ñ ÏZœ­¾?5§k?`ãy¶‚†IÊŽF¡ŸÖP 4&-&ƒ&/“JáUw± LoÍré—È›ƒ6,l(òý]GE?䨻(WÎÛâŽ`wªlŠIKâ®àöz.•-¿iI¾+‘èå;Ðl‘ß´›]…9ZÇ*MÏì»*i“ü'3¯·½ ˜uÿíS‰¡´WAÑÕ¯^V(MÚ£ýõÅÇÕè‡mÚ;¢ÏÓÛâý=ù}²L‰Ö\}¾Vy57Žš ‡D'Bçq™þ)w±` ç"õF> ’…ØxÄÌ/Â[S‘9”ôR~ªOMã ™°­el±†€f2Žo!Ý(÷ŸÔ{Z™Ù:,è:ÛU€ö\Ö×ÿ‚ú V¢õ{K†ƒ/ùgM» =Êjt Aµ˜œpçœä£i»ç®ª˜m¦n°ÆýýS¾AuÖÇpýoá¡nÓofW¥‘Uñcú¥ b¦Ã^£F¾åºò}¦f„0²'!hºNTØ;@ÄCG÷žÇì³5ÙÁ&„­Ž+ûoì›)±´˜¦„ö=Ö3§½×‰äP‹Zö²3àßÈKÐ8cª AÜ  "ùì]–Ùÿ†q1 ÒõS“Õfc§V$‰â/înÉi¨ÊGyþ-¡ï¬(ÜÜK³ J¬²Ü–×Íwiì"ê$Tû;ê({p釚ò¬eu´ÜHÅŠ&!rŠ\Ì…Ä—WLO//U%Ü~¾‹—OC.ÛKùKÒGGî[Àá|ª;&VŒ§ÂNó´Í®®5²Ë§Ž<“¿ñÏÕN™ÔNc¿¯Tð"‘ÐÏF‘ØÜÐj3±¡Ä4Hæ™ÉËÞ8óÓ£u_96l)ñKÆm}Û6£]Žƒ—AX‰/Cò_›¬ðAäÔÑH :0pvˆâQç¡ÁDiF3À‚àƒì5<ݽÂþ?cñÎ"<+Öã ‡ò™éfVŽ¢0· £dwßœòùL¦ë'Ò³‰ç¢`cØáãûˆZ¨.òŸbb)íð3úúS ´l&» zŸ()éIGŒa—zï„KÆ°Š¤S“©áZ2MóDÅDê„æ.=êP™*mR31;íPÓÁÙiÆPUO®æ7,SžÐÁ÷Öç—*å‘¡¡˜<º`€¼me"–M&‹tYÏÌÇI/¦±Ô¦š8sfV˜ÖbiûÞÕéæòçê¦A l¨Vg.žæÄ.W™» ßyÚÌäž2UBjeTË5Ø0)U¼›Ï•×ê¶ÙÍ *<°3RUÈÚ‹~­‡Yú»öAA+-/V†ÕÁ¢9[ugåcÐ…·¤‡<Ÿ7[üÐL¡—€š"iƒZ+Wœ{,$…¬L´âíãê%ÎÒÅb”ݦ÷ 0Â[SHÀºú­‘$¦üêáâæ’•(=|uU›yyìWJ>)IœÑä™·‡¨}lzÊ—CDc @”Xb–'ßf¬ë±ŠÅôW8ᇡ§?j:KHò-Ø/¬C²¥ ´sÒ6MjZ0nž˜¾ëç„@èÇè™8—R½q• óS…ÁkÈÍP`¨3d”ªúú0j´'Ä~ Ü$m‚ýƒ{j(j» d6¸1X9öõ‘Çÿ‹Ü“ü¨óŸWá8&š¸4éèáG”ôi¨ì0zÚb¤/Uh–ÄÁ¡ÆwÇOïî‡õû‚Ah6/¬Ÿ~yÀnù3ñØ>;°Ò?ú C·<«ø-%æÂaR¶ƒ‹sB¼Ééoà€rðí§· dgG_Bl)`ЯiæÉžG5ß‹{òkZõS_èVž_sSElbôó6¡]É`‚äû/=,û`¿?uÞâÞÖ–1Çæ^y]Ró¶ÖŒÎb|êòü™Êç1 ÊÎHŒ>g±ƒ² ˜hY¿±äz ôZ`(nÝzÊëÆm§ÀR2~ä¥UÝÓ§Òö®>Ê4+Wú6 Î6{HVc\ô_#)1[ nÅM&P×56þ©äjÿR;¤lX9åñ ´«£}k"êÍþ¨§Äxvp\tÙ±»1RØQDqDãn²JvS^†Tѽ³²Ïˆ—i”êÆW6–{õ´xTë\JWûN×£<ÜS« \»‚ÌjPdÖ¤žY/ø“OH2üÝp “cÇ—fºÍÏi57ßýN˰gׄ¶´©ógm~màPx%½âË8G+]j—áÂÊx{Ph[ìÁ÷¢­÷Â$Àÿ_K( „*—Ðìúñ]‚¡ôc(ÐøÑ€¢R+Qs Zö1¯ †ÔÜÖÿ¹ã¶¦‹JדìnÓ~$–!¬~û¨ß‡öŒ’øÞÚ ·¶k<ù|ñ‰þh²n1â‘¿€kRÐ7½ÏÙo„¼|˜…t¿¸ºÊbŸªbŸaõ¡ýl°Ê»Ø37¥ŸÖ—I­Ô±÷uzD/'¼Lš6ô¶ñJL¸!¶dê%C¡Òj{MCêÍÖû±l°’oþÏ º‰ûp±é·×—H‚P¤ò ×+®NSìå³ðr6flåhþÌ-j#Ñh–f:Z.ÒOqÌ_1¡˜›ãÄTäØy´•‰àÄ¥‹ziD1ÖaÛZÞ°¢ãI@Aûw8ô#^Á¶*çHŸ<ÄÞVBИ—yµ/W¹Ãî»ÊÅ¢êÈ .ÒÌbÖ ¼¸Y6Ä^¡§x«ã*­QÉC Ãß¿¬sö}Ï^&ù€opzí%ànïé}ï~e¿³5Íd$!ëÛŠ<1¹ %fžy!€lqœW‘J \² éq|¨ L0«qèMÆ^…ޘز@á×!a¾pëøk³ŸöXÖ¤å Sdoû=‰S•ªV» pƼ¡pG¨tém v!À¡1dœ„ª|N y€6!¢ï¿J‘µú,rè™@i+…™;ÑžRQG?5?Æé¨Ñc“LSÛìì€9ú¦R(i'Ué&j]?žC.Öó²Ûè?¥.üA'µH±Ïú Cb6¥]~hŒãè·:Ý-†œÂÈŒiÿ]EC9ë¦wœmaÑ£EíÍàíäðË”Ãÿ2Ò¦²®,RzÞ0šg*Ô‘`=Tc^$±ÍÕY͆³#³x³œë§oÉÿØÜL5f°’¿„2ñd!çY3¦Ô\¨¯a~Ç@¹@”Ñ DD틤6Úð(gæÛÎ4R|ÒÿŸ îó³Wd*XLj"×fVzEØ&s{Ž}:Ó/uÓ¯tò4êɒǰÒ^ÕK8|¬¤™¥– ‡¥ŒØ•õr”b4—‚ÛQ¶ÂQCxþƒ£ø éQyÐÌâùÐt7D)U“bNí Ãmuú;%~ Y«3ñ}µQß{Zˆæõ—bƒF‚=Ö?.m2W”4w?Ó"ÒdžóöoJ¦"õbßE½¦Æ‚ûzÆ^4,Ûn ?dôÆ¢Tº¤IÂú¼—õº«Ó “8ì€~îTÜ/iß}Z´õ¡,¤¨¤·¬àÌm±+xt¬ª› G:{ÖÄD0ùÿ£&ê;2¼Í›k¢j ’ âë©Z ]î2‡‹š¤ý”ÄíDŒÍR ÍŒ»â9œ”©¯i>îUrز„>À+e˜¯×RkÅvKòÂmg8 Y»ÞŽˆ¢ôÃÙâ>XÆŒøÇKö×0D3ž¼žäZÄýÂmÄàRÜ„ÀïeshAK€Ñ:8‹ùUa­Ñ¢K¤ÜµŽB‹’Ùƒî}BNÔ*‚c…ÕWáQ«Êé3:?f7«tØ&ÜP÷¯(àíÌÙͪ«rƒf…eúË4æê¤0ˆy:XÅv­0õFüÅ«tèa€X ÚsÒÆÌð\…\ëÀþö S§ƒ®‹^®Ú¼’Z”€èñ¹”ÿãÚÏÜã&ùH7í¬—*Ü4÷V±•a|N‹†$PL5`Ù „œ8.—Üxy0 ­Óœ¬3$QL‹ÞRlóÒÉÓçdšn® º¢vû+è^kIu"`_¿5Ð ©SÐÎÍ ªÁ‰ËU©l>ò+W½µ=“ÆÝ¢²«Šád 6ttxç`íåU—1\7p/C¡£¿±…!íïg,–Öû+KŸønóAsdëT÷ýeZTÚ+æ%s¤’ƒ]Vk¿à`þõIZ$kLcÜ®XZ ž¡¾}%o§Žù…÷ØÐûK^”iî~Ì™¼—$c«¤=íý"P5m:ÂEt#‚ÃÎÆX5ú QjÔG®'u–×ÁQL:†ŽÙfWZšµìÂ.0ý›s}k,­è®—Û(,ÝÉe òç®b1¸ä«<^|„†ÃKe¶ŸßÕ€¯°AÄ!"•ÆA·µëÆ;óYº~Z2M“-­Ç© s"ɼüGƒïþ´²µÝKúd|WPÚÇ-í®Œ^E÷ÊËvž²ˆÏ#Y³Û|S++´«wN[PÝçéLh²€}¹gp‹:fsÛ5¥@”Ñ–g>§0[¡wâruHn¥¹æý³¾yÿøp ÿ"Ôv`vxœgÑõ?ü2¨Dž-Ý˲¬µÒÆ©uOèϧü !!JÊZšøê×»tž-Î`%v£†#ŠÃúá óNôŽÁ@äª_±3±F°³@±øS´¤e'çäáÙ¥ÏTIó&Í÷оÐGƒŠê¸±ûFÈÙðòè¸\ÜÆÚ¨€›þÐQŒPqóF?WK¨å÷(iã3°%Xw$¸–²(Y»­Ñ­3ü0R ­œ‰æ¾²œ ª;TÎ(®vÏ©ø¦AT_Ž)ln¿pß½ÒôŸ¥ëž-7ã ^T0°iªBCЮ„Q€LÅQ×…L`X{Ú ¡G¯  I]VЩJ’èǃGo0P ¦¯ǃWxò›½{¼p¹@ŽÔ­n“ÂZÌq§P'ÇæŒ^±¦êv=AÉlü“Ri>þºã°eôïä§ó¼<GâéäZ”íÛQdž˜ŠÿL§¿d„Ú ”fùàLLƒ•‘8×c+±ÖÄe{Áz7KÌ Ü˰wËÞ ˜afWàÕŒFÊoEa# û‡^°bý-w%[ð*S븑ÒWÎ]¯›ß³•ÈùPçB†Ö“Ê@䔼=a_£ 0R#2? Ó&·¦MÁ­ZúÉÂE¾Ž´Á  ¢ÐÉd¤jûÿë%2ð7:jÉe9V楀ì;\{ *Á=†œ¿„OVxa.ÈP‚goóJq€²fÑ4$Á–ýóTÔ mèÊ ðÅNØ>O=¯Ì°·VvÖO`qó_ƦDãèëvEB5dù%ûÖ¼Ê8û^!Çü/.Ú×¹œ5d½ºÖ§åzìµÀÔŸNÉI[ À)ŠÒ-K‡¡•xb‰Š…1úe²ÒÀ ¼ÒXô]žÐÞ„…l•8nqínûí–zÛ¯×TÐêvK¯jc¦°v èvˆÂþš#ã(òØï ;±•MÝ}¿¼BJM¿ ?aeÀt—§6fb\ƒ`ßRô@q Ö×7=׈@Þ|ý9ð¾áQ4{gŽù&½C§š -»DTK¨9àêd Ü?o}œœînPéRÚ€ 5Ä5Zƒª˜UêNŠ÷b„–éÒ)] N*¤XßG Í#» \¦’—½±‡v’oxNtqˆ®ûãL¼`4ÙG¹x)Ó++ÚÈŸ.jƒ3ÂIö² Û4kõ拾~°æ€vx"˜‘aݸx‹­ü³PNÿÿSüõUcÃÇW|Æü“!ˆ5KàÑ8'¶ 8± ÷ú1}¥X¤yVF‡â²'VpІ»©.ã”cDãÀý³P^nß‹}L­0S§ÁC­  ´ÀŠx¶ÓëÓ•‘™Ù8Œy𒻥1ãJ\˜ñJçÊqæÖŒ_ùÄwXt™ê§a“¦ 2E,'©¦çx\ÇNÝ-é¶YB±°ü/‰g¶¢Çâ;3Ò[䯇§Å3²Z“E*üœàJwšb ˜›€Qu¶ÍdHkX¶[B!zÈ Ì´‹X sÀiÿEUU™Éœôi»’GîdŽl*Åøä{LlÝ›W¸)ÔVAz¦OêkF$Ä~è.çÑ^ÍrðU»šQÑ_ÍÏ੨üŠIqÓ-[Š •Ùiv -Ú×kÀ2»ÇsÏâûÖŒâìïEÀJ·½³JN \!S Pѵ½5,V\èÓsKáæNpý?!ŸÄ,b;Ǹ„f_ºW®GÒæ;ˆóZoœ¼`…†o VÌdü•ž”P&4Ãij7RÔ2Ȉˆf5¿éþÈY¯»>ÑeŒåìÁÊö*#%Ê·pªe€ê>Íþ ÙÃÖú‰dt‚5¯Ç~•ød^É9ÆÔÛÃnꙓ£Ç¾™>Q…B‹Ôò€¬SðòÛ£þ¬Û)ÎÚ×bõFYEÆ$Õ§™¹›¼ÂKÿr0¸é™^ÝÙe¿ •»Õ| ¹eñf¶jWÌù“œÙØdø¡¸¹tQUÕ‡nù_¤F}5sŒh¯öw…šLgíœ^>ûñýxM/ònÂl &ñˆÍ…%$c"®qÛ8óV³œ?ó…Æh°3[ëR9óÉÊž¥°Íz¢òO¡' /r\&¤¾zæÊs{ÕéirŸc{Œ¾†:ðˆ2².ˆyNwé&hbL ÊÏõâî4,^GR?Œ{wâïØÂ½SŽW¼d P £Î,¯Œ@j|¹…¡ Â#bss“ѿɮÊS²¡KšD%SO¯nªö{Èi©I€‹bõl¡ãlÄÅ%+U“Eé‚„ü6$^u½|-ó”Q?æð3 $ ‘¿£3…YF “O°68ÜÒBÖ·¬Iái±Wl—i´®Å1q“xrt¬iO>²‘Ú˜c»u7=ÂcÛ©ÅkG!2„l´w(/ДØt·è’XVÇé~ss†ÂÏœ!ï²gFh}cóÖUƒP¤&ïð?Ë ŸÒeleù"‹êf–djtu•¦ÞÏPŒDq3ˆpXÍkÜ®{ØÅ%fêK/Ýãõ£` J¤Ä¦=”Eæ†Êf nhn tSãNê›ÛMWfé]è!ù6Cpöãt±ýAx˜w,U 8K.O¿_ïÑYüQ’TsÓˆ#{ÇW?"2ÄgUÊ[è]}Ö–°tÑ€9÷^{)8Ö$D޾”y¼½2ìôزdãŒ1 —NüòPÕò-SìA@‘„‚®‡ IQÒÊ\ÕxúwÉ ¿q•h„çB™Þà2IJDþÕõ5ãÇ šAn³ Ë9SØî¿²ˆÜŠzªâôÌœ¹äÞoò±.ýü ?"«`'†·ÝÑöø‚bRYŸ`ß<ýì—\ê! ,´` M°” KçYñGÅ 2Žo=]w ë=LÈHãI);A/`ø0_Dƒ@ d•êºaZgNø|^ç¬:ñóf’x¢Ø3{[„;]Gá–_ÖyÕmÄñF îžÊá{nQºw#’%ç˜àª8œw9Ü·|gBÈùpàœË•ÐPs¼{aYí5EÍåy@lÍè{Øüë®›ªqNžKÐ4ÙÒ¬È ElåB1uVÏŒ µ<Î1Q`÷XAx¹:áù°˜€g¨°VJ³àl£Ók¹$ wêæê´Ë_SJÙÝ«ÀèW¬†ºèF°B¼c|ï„~Ì Mä-…B”u½8ÚmÁ¥À±ü¶mûÆxt—Ü‘ˆU°E<ñc03Ž _óL}ù4éPøÞ/èxãò‘ÇXZ «\îŒ<£¶ÅýÖõ¼À|QÛ É¾²±> óŸ®Ñ¤+ø¸…hF0.øpŠgЫJùZ—Ó%­Lz«dð N¬à„½×iêÜÂî—“_CŽ`C$§Û*Ô„…±æ‚c„çâK¥›ß£&œë©>÷JF™H”jô7Ç>¶š)#ý_Zéã¦ÎÃ9V³µ^ÑõÆ>å°8—6ñNY¨ƒ[¨ìϰXl]–¬”í@qša£åP«Æ8t@úî¯5ƒ¦á:•tE á)á9c0•ˆ2É̽)MÌë8žq£ý v4ÒÎÍ|jYPd?câÕá‘Ç ÊÔ£$á»u_›‡A$¥ÂË¥áëKvÓ×[5ie]{Ñ×E¡£SeÎüÎÏ©6¦'…¸6b~›E º[ñ:¨ÚÊå ðɤ°sšxèh\ÎZô_¯!˜»3X¸,€C  "ŠÙúq9ZŸáü3Ž"†ê㑽”GÖ­ ÊÙö°­è@ŽÅXÁ™¾©¦Qw[-¶¢ŽëÁwǘ¹Ò®H•FÐ2'NUAc傲Þ5øî§~§Î',š£Œø^³¸èxn§à˜ýÆÂy¦¸þíÒĈxÇøM&¾´%ÒM6ArÔÅýSé á%úaánmSîܧ—X{(ž«5ˆ¹Baž¬!ò¸ñÏ“IðÑfß,éTÿ›Uá‰#\!³&Ì‹'9 «‹Â¿Âô&9 (+TbÖÂEËÃI6üÐÒúBø­u@¼pÞµC‰6vÓÃ2¶^Pg:‰¼IÝO¶ØBI)°ÇûßP×Q]‹”n?hr³èMj,…ínÀÒd~ gx:þŠMêD†þꀩœ?ídÁ†K‰pÁÜ5¿1¶ö¾'{GJ+º¡(Äé¤=ÂÔ ûÙýÔ¤¬¡¡eŒú^õYU¡)è8΢^¦Í€þÍçy Øüt ÓôlZ•gÑæ¦¦Ý–l¶,‰/‘2ÃÓ–ƒX¿=ÂSK=RWŽ©!Še0éÛcÄt•Ë+#fØ…ºÃ¥OÝLŽn¨¿¨îu•š‘)† Y£mµÅSѱVÁý¬±"÷rNZÖ=X—tNÉt,Û¯Ц™=#˜Œ*:õÔÏžÓ„³(€^Wsk%8 ŒÆB|¶`™P†õ†#&®ÅÇxBWyßÿ*C±b`|GƒÀCøƒÎÓ*@C¾öRƒr!•œºS`Jr&¥ŒPw½áF²nt#»Ò®  {Y“îéÊŽ 8òc©»„l‘†¯’Ï«çÆ½à†ø°ÙµÊX¥ælB æ•¢?„ÿI;4…Ÿ·Ç«ÒçgõWºoÒºR+Js"¡ÝïðOö†9‡èübÏŽñ€7µÚÂæíP@00•Áûý7À¢< $P¤‚Vtœ³é Êþ#^)ê(QäýgŒç$™çï'¥2 >}O¸HMOlœðØ~}©S8ÊÙäz¦PY]‘wðvÇúR ÓÏVO£<ÙZÇ@‡ä¡ µÇŸ±›{šæ÷ijªO‰¯åVáYëˆ9˜²©Æ¢á·ÝXšÚ×úm-ÀPvø“™¸ÐɱЪMÈÓyÖß^ ÕG5ߨ?5&gí¸R¬g6/܉c¬ò3uœFWŽÐU_w«ÒÕ [g6Ä'©™õöÉpQƒ§éA¾bÅþ0îZ¬²2 G›?Ê-µ¡P¥ —""Käù®0ÏB~µ*,o 2ùó/Sýõ–iÑ"aª¬`æW”ø¨/j.Nž^ ó3ô“WV„TöDn±Í!ϰ”ÌD@<Ç£ä㕌=OrA¢"+^ !ØÔɦδ|U¢–(ìXuëÌÅ.ÔòÁFtCfÃÍtœñš@tBçYÃLs$avW*ÒyOÍã6n²× ”¹¾9‚šèõü øažéää16n(î,™sæ†íÃ5\ Å&x‘?XI²Ì-q´¹]ô~›"0%íÖ’r¨_Ï“ë­ð/æ‹þg3|Põ8.’ÈUÿóg±ç t6‰´ÇüGÆ!æ3ß²ó´ Ÿ¿Z'kVgu¢+ali}dYx0Yð-óÙ€¸m×ÌKÌ&3={~ûÕ ¸µ1ƒ{»8l8°7—Ù$ºõ­µÍ‡]=. àðKŒÆŒ‰Êñ@3JËþH^äh†¶©ŽBë¼?Ї¬G£…¤/69t®ýkl&ª)3d(%„k[} Z!õÓö±èÿL‹Äì%0õéeKÅnib ²™Ð—¿ùÂÊ«¶ß×h¾Z‘à¯q)€nJ…_ü8ËÖã3yr‘ldbOh$è9[‚håÄoR’5šAýƒhÁT°‡ÀÉ·Kë'¡Þ¯$§K ÏÑ2~+dƒÓU ÀûU°éŸö¹ªŽ©'8¸fôVô`8ä»žè„ ˜Döø¿ U46qU{p=b–S©ÏŒYWa/µ \¥Ÿywu†7¤ðxÁ^~ß`¦]çÂZ“ƒ À7 ÆÎ¼shâH Z€Í®*µFçýî‡Ñ¹­|5¦<¡ÇŽ©ôK’Ÿ*Ñþ`…é½Wsb »P1ûs<ÊÉâÖ&?0 Zz¹Ù8±ˆS@j,Ô=Ô¿,ÖP['„s®¼BÅL¢—Ðלu™nú¥EIÅó¦JOa&÷ $ÍŒ\íˆ_"t†o,okR¸Ånß”À²÷lÚ38ºÐÓ'¬‰”œ)‡GkçÒ±ê ,3Þ/ü «n´ßCãø!¤Cë1Ù«Zî­yõMö"%ÿʼn£‰ôp&Ú&€²¼ÕtÝj $ÈÊn[D³ dW×Tü.ê"ŸÖ”äÕ`* 0•†P6wo~=°äè,ô “Ü/jx ·ÊO:cÓžÇÊ©X¶2à…52” FñgjfÇyô2¼Ÿxñ°„^÷RŠ8_*YZb@׎¨7iý=*}Ë ?FLÈÃñ |4tŶöc—#™7?¿×_ CqÌmvR!«° ðïÆæYï¨$URô¤Òc›; B´æµŠïµ«dçhóònœ»%æ «õ/A Ô§÷˜à¯|Óøƒ¨¦·‰©ße½l¬ ¸Ì‹áF~9v“ú;ÓlÔq«Ð<³ä&kÔÈÁ>ªÔ(8Ó©%EœÓ®&ê0¾ìÀðó6:@¹ç$å…fõ€Ã"xfÖƒªFŸzÝQ…ê‹ —VŸŽêƳ;›ÉKÖ}W#2›¼£¶äúpÚÛ†Ÿ€a©Þ²‚Nf×ÖÍ íîì~VMéÝ™æ‰Ñ§Ý>v¤ë©œ]rí  Ïð€:T’j”rF7‹-—~„ËÐpöWÖ±ïW*®xŸIH]kkû®7JEFX,%åÅð…Ù¾ðuÜØÒÉ"uF%æ:Z÷a÷_ÞyËúÙ<—q­"Œ 0K4:ˆ«ëëÜŒ_­ZX&\iåÈ» ŠÐÏWŸ…5}>éQVñ/ˆn¾ Ë#ruíAw†phØ¢<¡ÙF§þŸ¡$£ ¯-]è†;åÂ3â%GAçèÓRÎ8'L °#àû’þ—V‘³.šNÖ¿’¨Ü*¤³€ÕªƒUø¤—"›`µH­™UZnv|Í?¿RÛðGš·åÈêÿŒð_X©Ò'C_aP;±¯˜Á¶ ¨5íÇ=&z“ÅJoމa3Zz§7A¤¨«·Ÿy9Þxbvåu~ʯ/Ü;m¼º òöQW‹À0Y ãj„€IˆlOþwyNUä.ŽÊ³b¦6vIñ»Ž¨ºŠ|/Øò:.vKE£Œ¿z‚AP¦uóK»«´Êœû3åë#JlìK‡f(³bÀ <uÌrŽë29æ…]q GHe’,Bå>²PöÿDå+Å"ŠO4õî\âÜ­ãuzR_ÔiALéÿvœOÊ1KÑ„:cR`µÔ]qA°ñ£Lkóbõô6åeÄœÝà ôr6kCðiÎâø1|n©ºôÌV`&UÁW¥ªùJ´Õê]WT¿Nò|ˆY,m;otõyrnÖÌ“(Ô5‚7³ô^q~O#íF¾¬Cs ¢(JÕoMꀭ*¢+ËòÌ7 ×ÅÕ 6O_õ«j(ò+‡hx°)´¿798GÇË1(RG@üLjåíÃŒÀ²†ýFÑø+êÃûSkû»DÄÿ.‘Ãã7}¦ <¤c@U…ìp­µc¥QÛŠd˜ð0#UÛô_´**î$uù@b»Ñm„¤|ÖůՂí¾îZ]Pvâ äˆ}Û‘ÓuScxÄ?¾Ï^ž¢NÎ÷6±Ä0~õ¡VïÆˆ~æ¢cËù-/½@(-³š´xó‹ \¢@ a—‰{©EBH›–g®w·Á¸)²–r‘ÔIê›xzVªº[´tVý|sòÌ£]›ˆj3kfn>`Íocà ÁJ0åçÜ®ðt‰ôš‹êî8Ý—çÏ€Ôy{%ô½Ðt뉩—ø·Ê½Ý=|úóËjú¨ûï$0À,i~â†ÓÐ~s'ôǵƒÏ =åª"®ÞMÝù‡7=ß2%§†E$tˆ9R?z! ÷Z:V,ÊçóH*|t«Ì†B |³´˜Â¯e-²‘ËeíÞϋ|ïz»Cw 8Vw¥wyøgÝd ðÉúLñ-SC–Å/ƒþÏ v‹ Ý³·Äj–¶Ä%3B{7¾BµŽSuýFš½cgúoGí³qˆ#Q=Ò\Φ¯‡ÒwŸ¡æÛ7 Âo¼‹…òËA©slçñ× –”©®åWíô«£^)Ïà€\ÅKÛ–»¿aÈG#½™ª.ŸÓûþ¤¼—¯·½Ï:hVe¼Ý·SŸ\ÊTÞêtNE·;âÉFè &–}rYï £Ê4¨ QŒB@“)PÛááUÛ¯Â*r·ß®°ì’_\éz³´rÇêl+»ð–µûÒ¥,w|i:bö¾?<£½¢q.à„e Ë8 ì鑜L‰©™ƒJ¿5¼2+¥-Â|–@l yf7™Ç0M š¼òóSúŽþ¦tÉ<²ê}Õª?J˜»‚âô¹ž2r|p¡"]ÔÖн[Wµõ„×:w@‰‚A¹¿Ú¿9P܈g÷+˜ÞôK­(þ©B¯0ûAKã­$›SJx+\¡¾G3ûÍ­ ö ¹©ɺ*ܺfÞõ#…Tòn:€Â0êp geMµ5<μÎ]¼`j9˜.JôãÆ“JzXKêbNú1;.ck?jxøš™.utý¯Þ®©Ãr¤ê?Ãû~EŠð-_ì$íÍ>qèzÉ…:ª yPŒGÆÓ6à«4x_ξËWöɀúZ8`'=ØG€]†ÌÑZ]Ƚ<òì5“#E\ñóÀå»xÁ}SH„î”´ òÕ,u®Æ!äT¬ ^ÄXê¼ém”r--ýRs³ÖûS¶”·K`;> ïuÀnÿTG=U4FZÔÐcaUœÅ=Ùd#pàÛë€*­º ·ÍqÞ@ønxžÔE†1©¨¿Šwg5‚ÄÛ;¢‚Ù µ…$Ì$Õï}·¸ ˜ñ+:V+ Flz÷%C}Ç5óÉOÍ_B4°öl¸áepìˆÿŽÄ9*1/ö„æÎ6Ó%üÉ<yÎѰ¸Ú Gàp}„/áqÇÆ5ºKí½½ôÝJ„'¸6z]ѹ—G+Š0^¿U"ô¹ ’JØ<2XéÑ-\¯¸¬RÊÐôò«ð=ƒæ=Z¹Ï ºœ¯*LÕÒõ¥„R×|d2â…¶™K'á¿P3o¥ëþä.úÚX J¤¬»Ü<§M¼T_éZ±±ÊêjÉ7&ƒQñWÊú"áüTE!j} …¹t¥¦Úƒ¸Å_T`Èt^wggМºËàÉe+«õnâÂà7À¥ž£!á.rva0ºÍœÑæÝ®¢ø¶Ï€Cö×>Äðág`rü6_dá_è„ǦXý°Þ6;{J¨œ¼’­Â«s?Ÿâ $Ø_Ú©Ó{ï‰;:&ÓÌ‘ëàµýKðÜÆsvyµÄ¼.|”†3Yù6/à_>`ì_ñÔc 냪c*ãAÞΗôd÷oж0àŸÊe)W= Âem˜à=»ì†g—žC•'è±(¤ºüR\»ž„5“â*° ?„£ê!oMÖu-ÏMfÄ‚ô¯äóð  a:Åá „íÛ¥úIÿ^? ˜³m*Z¿C¼_†®vüHŒüç=’B~Ùu3Kë%LA:+?!Î*| }=÷Ž@ döbšŸˆ XÔ§°âµÖØÁuu;2ut3ƒ±Jˆu ,ƒˆ³š[=írˆÝ|Ñêæ¹¸˜ÌSJGƒ“‰Ý”C5¹ ðˆ6—í‰cßþO¾J Ùo–ó‚Á…ÂÝ‘q·,=õ’Mx²‡×ÝôœÙè•o[ÖOÓ`\×I^P´ö7r„4ËŒ±4³â»Á‡Ð‹ S'?ërÃiØÇú¼¿…¾æß%NÉbñ à’ÿääq}ꡲ|"=n_辿Ÿ‚Xoý¤‰×¤êŸó«V×y@?0{uB¯N>ÒÔfþ:± sîÃE“¿?¦OF_¬to<•çÛ’Î/!/YíÞN(V¾pmúì;ûÇŽl%èò±”lqsTÕ²ylgS<~Ÿ/«Äãx“×'/Úày­^?± ½.­ä42etµÆ±JûÍÂS„eÊÅá?H¿ü¸ß<û çŽ<Ñèý”Ç’iq4 ½?AR⨌ü3Sf%¢r4±"¾C_<ÜP@VUñ릙¿WÖy¾º¢’ÒJÉ…‹Ë×ßÇ#¿¹ÙÄL†ÇÙœžÙ†7/k}ûtŒ’ÅÓ|_ žf ÙÆ¾H^ ‘;UÂ]©5ËÑó}×äðèpEx&{›×øc·‹½ó([HóÃN×·ëúbõ½¨0qÍñÁ½Õr~0žÓº?û0TC龉ù€|~(QÙëÄÓŦáíf üqÅKá"Eqý»z‚h¢R0 }Ó¡ð6Á$#rk„T^Žv7˜†úné XÚ çf PWA.‘/ÖpH*~Q˲?ýîTŵÂýÜûåe'·÷¤J£^°lô÷:ÞÇú‹§Pºì.0c¶, X¶»óö“… ±Žø“ â@p¬B]ƒFž¸˜wÍjÊÄ'–¬4˜]Øž–õ2"²Õ뙊TR_<Ô?]_wŒ³óNX­¬£2ÌAUû)CfïJð,ÿ¥¢Ýz‹ZÞv ß5#ÅTÙ®‘Ésöª¨|ÉøÕ ©ZÕÍ¡ÕiÆÁ5Lâ)  •­oÖáØ.žVFè™K‡ìºl»-6ԡ™»1·x’ÃC©:êÚÞ‚›òtFàNâu=Âç/9Ò»&nAý¥N íƒÞ®[7µæK‹‰ð;‚ýöðŽÂú*=a+ö‹?ž'8á•Y[ðÌn,LÎ^Ì;×OyF³òbýòA}¨d”„xŸ*i©H¶€0jš,ªH„¥T%K ­F73Y š`ŸSjaL 15Öñ5<¸˜Èûê†þR‡¶’»ç*º˜|g#}êÛqo4ÂÖØ°•’55²:>)ÄYÔãÖHGI>u,óŽ,ewñèÔ¹Òú¾Ç©.g¹ßDøý@×o<£´!È?ˆ’"¦iÂ=Ê„â0åc^Ø( >°*º·<îÞ`Hоð|T©¶7Õ%è?Œ÷äÞR<3„dü>g›: ·äô ÕCuyʇŸ«¢DåõpG‹ÿŸ·³!:)gë]á(°ƒnj­R§·ƒPàGq@¾L<æ}òŠ7â%uñáñë`.ò!Mª„û¿ë¥Kt*T\£ñ^Â|ëòÇhN!œÿë—"Ú¾w­ òU¤øS^ î/Q8íiËíêý‰‰ð4ÿ~s&®ŒCO›!u²Ð%EY61Dñ»( ÔÍC ‰+„ðÆäyô i3Ó(üÆ šy5~yŸ"µdÝ»ŒnDœ, {O Ì}5µÉ=ÚO{}Ä?•6©J“m¡jKAdµ{¥ÿ±§žñ·îgÚßy¼ÐˆÄޱ«ÓdDXqt‘FïPmV·x¿!eax\SÅjJ3ˆî%¶ºÕ!0 g§ãvp—üà¿å‹ŽBÛXÏ]ŠÅøœe¤dRF7ê™¶;q‰gŪ}£iH¾¨º’Ÿî`]–¿i“E|›t¤xaKWºz§VHÔNE²»?Dïc*Ó­!ëÙrІåÖÐWÉL¿÷ÅP[ÂÃ2HNq ÂDC÷É»|¡8AÕ¹áÖk¥ó„<—Y© 1¿X:ܤ7 ņ$9¢\{Væè¯Ü™‘=­*ÊŽÝÔwœÒ4aBÎÔ+QšéQíź;Ñ+uêža¾íÒMÚ¨ç¸ÕVÑa5° .jÑ”b›Õ%­¢î½Û§²û¸F›7&RxÛI¥ žu$J 5ïe-ÓdÃð2‚"`#1ÙûjâþìŸÅ7n×Òùje4Èé „˜‰#š’}n­I-¥õ=&aeÝD@"ó>rá]¿Ži„h±Àg¦*ê˜þ•Œ“QïʯÐÀ#+øw¿‚¬s©: ”Ô,0”wò2‹V<K›Ý2®–íéÈmâmÔGŠ+R «Õ–2¿y«6 ±4¸Þ¯y!–sÐZk°Ô¤4Éeïõà€ý¾C`{—÷è?‡9° vÛÖÜóξÌ)œEU c‹† #`„@c1jî/°ÅGbbÔJÏòûw.ÏÛõ%#˜9º#Vy\Èö€–ð-:'Øni} •×”Pt‘¬¼:öXòÅß‚féŽ$zÒÂ/ö¼/gŒd†åÂr{dª†ˆ…X„,J}Oò…—nŠÈŒïUFñýc3n€ _–îBôÓc:²‹l{n%bŽÏ…'¸Hñ“ ¿5i-ú}‹< #ÄH´%ðÈDÇN€V–ÚOå©Â9jLfsÚ\ÁV hRËò«¹|õJäEŸAgž˜RX³ÙR”¦Lö.‡>Ôa!oG|fGœA1×H׊ë€4Cb2Ø 8Ndú3±Ë{/„ìvÒM4 Jz7MLfÿÕ£^Œ–ÁPºîÆÎb¼W¼øÁ;ñô!‚³ÆuèN%h×YÞÈgÌ˨C”P;LÿNç9Å®Æa¼OÛØ§›Ü±ök?#Ð}l@\ÄŒ:@ÄŠ1å´Äm'ú™þæ¹x ÈVC¹¿Ž#è;®´4ëˆ)ÖÃt‚©ZðNøÚºyƒ.8ŠµÃØcK!„±Nc¼ïÑ`«0Îè^Å„õ>.7­)ÂâDÕ,–FL^’Ë•²CË,*£üw}¢²yËN~6…÷¡ÿ’IˆE/W.P•0ÐïÂ'§1,>߉~”(–ðçJé¾£5öø)é¡J–i¡4Ê/EŒTÎ|ìžTÄŽ%,¦s\¬zß)-¯tv[†VÌ' Ê W{j³ò[|ƒÃptA=ɦ^~xQUJ]w5_ósºÊ @¨ú/q”B&àK$ž¯ý÷Óš#ltWîW·MÕ‘„ÜÑ~‡ÀñCU6g´Kþ¯Ó¾³y:㘜UWœ$·òâ(JÄszâ¡ü‘ë<Ž X”p×ñxï<|ªîU¯…¿úDºª?zwÎOêigæC- SÒ-âÓ_<’y‘¶qŸ²j¸•®½{:5bR<À$#²å­Ò/ «bʵÑóÆbÖÔÖ`&~³%ÏiM4aaáœ;ìzÖÚ«ñ?±¤qÓ"–ʪ¹òÂÖ~!–¦˜ùý+7L¥6¶È'þáÑûƒ¯Fœ*JÄœ¡§r/aAGÆdÉG€©ÙnºX4‚rN;óyþ ¼ü¨aËHzˆÅÛ™z y±…è}ŸÀvÙµôs¼ÐÀ…¡ðÉ$JÈÛ¼LÖÐ={mÀ(Ÿ{ú«&ù‘BÉ{•8¯3)ÚÙÉåï=»=-åHæ 騃õŸèR,Q! êЉçVȸ"­}¼ å<Ïsêé¨ è|µ¥‰v–e\¹e, Žº‘nK 5¡xJË ‚|&óJ å,ðêù¡Ç¦‚å4uÜ,üA… Õ‚çÇ4ª¥ÏFžç©B¹,ùŽ‹óa4b€†O#¤Uúí¬!–z-°6ÿ‰šn…³Éi/®üúÅ(FwÅ~ M ¢«pé÷T'RË8n•w|Ø¡¸yîÉyû¶¡bˆÞW NëÊ6wù ŽãÒzT*_]Ñ÷l !ë g€ñùµFµ•ðªØ@£Ýî@B#h|ˆ$ÊY®ß=ôM@g3ý’J”ÚË+W!4ÐqÀ{‹ôýC® øýÝBáâ¥guèˆýæïýv‡¨¡Ž<TA‹c,*iKz¬Z"ºÕxÜ8.F¹¶a±r×ê[ "IõÌ7Æx’,Šz(6f–!¿†Ù8£Þö²AŠfáÍÝô÷ï%?YÂÿÒõÍ³ÃæÔGc#Ó¾î4,*Âõgñµq‰>§DZMPÛŸAÐ܆ÞaÏÉ‹?†²®ÃóKº.ÑV{`nÈr´I¯d4Ùƒ4û&ª.Òr°aD›^âqíýÀ© dÿ¦­l¾…GïÓK§øcw_Ã[ÜŸ­‡n›D«‰µp©X›Y?Df\Óšba°¥BØ+žËßfÇ7>1 ±ÒPn‚„gh.ñÁÂÖòš"µáîÖèÖµžšËA…¹ÌŒx¡&U²…GñÚÀ2Å-ˆG'h»X¶¬þQÉáçðj4æÍõtäù9NÉ_û‰ ïæûWßÃQþ–m{SEÕXº(‘)8˜yzLf¼©¼SО@š’Œ9W—c. Á'Ï}Ûnmä‰A ·lp"‘Z`KÕ]‰IÂorø° 9§D<ÔŽ&ÖÆH åò á¨2é’€Ì^·;¤ÆtŒè4'‚ŒÓ¨ ù&4Ú AÏÊ#`øÚ6 Óo˜ ИqÌ»ð?hÃ…æÉÇñ¥ì,ú'ÒŽÑ,nÂÉð¤d~´ÃW1wó TRHN5³ÝK¥ö¾D’|71Fêó¤w¡+/šeˆã¯Bë ÍTâ/Ûú–ÆmV‡ö%‹À‘OŸÚߌÁb A†}#‘`´·Š±LÙš>[Ù#åw1;X¸ÐZ2ð Xy›À›`í±×rÓ¼G®›‹*šj‰¼’Žåóýx-ƒWy‹àDÁ²™?2«M ’ÇÅéôM–+]vT8o±z9 ÿ üD3Hטša›ËåÓÅ r§xä×)w£s™û+±ìøƒIoóDÄw#/ŽPÃ}³ešõÝwg+°Ž‚ô1ª` [ei¿±¥¬cUCX0òls$=1mÁåãû˜ðà9‰/ašº0·… "νlª‹QŠ .¯=»ìжãKÄ^d/úÈF­Ä\‹Ö¢HÔ_šœ£Z~/p3b:J ä»÷¦Á›‚íäOƒ$J±ÚA=m e¥ÐK$d%ö4usrB\uâùò#üÖ~ÖWAŽ_–ZÙá~šÒ§ §¥(—ºÈ`aíÉp8µªT4Ξ#åå²-Ë[#}’õò 2¤Ó#L¹rB¾.ÈWHk®ó(.¿Ë(´È>Ý%ý¦t㟘¥HêcR{2z~œ¨có¼à*ŸÛo™?Z"/ûõÇ©d™©j°MÇ¡‡weo­`Æ<ðà“ŽèÌ2¯À´ÛxÿÃÛ5*S¹_…/:¤&?$ñGEjó©Xn`\ëįÅ&M¶‘MÊ ýkhµeºÃÛxE7-ѱœ@̧òÿdj~± ëXLįÕ$ÂD¬Z‘Òš”H:È^ú|Q÷=t>øè²öY ·ËsúøàjÀy3®6vßõžÊŠóü7;;Î׿å‡ÙVÅÖ|sžc·i©ÁÀs«éÖN˜Šýö)†cÂ'e0«ÖB´ù [ÇHÔUcQh)~¾XòOBêÊ"%1“tˤŒ˜zÑý–È;ìSµØo·–ÊķȰC"ù-¸ó«°6ébK©˜ñ?«Ë àPˆ:‡a-ú^:<' &×uIQÁ0™e¾“µ)ek΃Z²Ö[xÿîKª«úJrËnÍF†Ÿð¨.™Æß˜XÓüö¢ôõß\ñC.æ.¹Âó_£ÝKÀVò/9PuÆŠ[¥¯'XˆGiQ:®œié<Ì7m>FIY®'4¥Õ” ¡åQd²ïøOÒ¼´³\h‚ôÿmAc+ì–Çå`xáÚÏV½IA»?´‡MàY€7OnŸ‰ø¢Q¢W ÑzL%¾ß\]¥f‹ren¨4gg?hJä­HÇ"ÍNý½—YtØ[뎮oQÄ~>BÌ"{OôÀ«Ø.ˆúß{ÈzÚ…þ™>š°R3®¶ÃÂE÷ä0TCõ  W8(¯]ñÐKó¨ŸDú±£·Íí>¶©Ìôã#'²³ýq ¯þbìч9ú>dHü'­Ár脨&Ö[N½ÀÛËWÜÓ{ hLìIn¹òóÀŒ»¬“l÷lÿ¬ŠÁ¥;RçP–‘ÞŸ„`LÛ¤ƒvp+Ñìµ—R %c#¼ ­Çòøm8ôÇÊü?æ'àÎiÕôªì÷œ•‡X<ÿ–!‚!/™£ên€„$¯t½¹®«ÅLÜÎó»Ö`+ö7Ü£@qöl.ja¬µA[”Ò÷‡´ ¥§ž"ÃHoÂEyŸw[}.Nkl‘*gΣCp&´•´nV²rw®áeb5 ‡ï'©Ñ¤Ùzöìb%°OçÈòÿ¿×ͽz‹1(ôVEð“mˆ-$óú)Îd¸#Õœix8Ô. ×ÐV–¤ Š[~ePÕæz¬U1סC4}®Ø„=ÔqGa¸²¾#`bµZyšÎ÷p¿ MÊÒEGçf½îwÀbĤN€ ‚JÖs—XxævQêåPŒË{ÁҴň—P|"ŸÀREÌ~MöÓxùE4 $ƒX˲™Â=Ý–ñâø€E£Ë5·Ð’`ÿš˜Ü™n˜¹Ÿ+ÿÖÊÈæ•£Uór; “mª2~F;|Ç…¡”ˆ³Z÷ƒ§Þ.;*[ò-zp!6Œ y=©x¬˜~é‡UP‚$~ãÆåâ&‚¯ö§pùQPÁï5@¶'aTõS‘%M¢qñ²¼î Ïó|¥p†ˆŸu9´Êºéu´‚¬cry<–šž´A¦òºÊ'ìGuž%äÏÎ_~W}zocçðÌ ª› ø`W6†Wd$è ç›%cÔtÇ¡žgç÷§õJð$Ñ¬Ç w‚YtgT®…]‹[ ÃòæÃÜÊ0wúÊäŽV&5~¤Ë™>[8“ЫU¬ ôKÌïç™ç-ÓùØeúö¥ÇwÚ/c¸«ä¥Üm(p6Ê—7xß!•Ýš˜*Úðk×9sŒ$Éâj"dýi„*ÍR|™a²*d€Ù uNÔ^«€/i¬¦_# PnË&7† ìÔ“¿äÓ3WXX6Ù V÷›á&~ãÆÒðÜ=Ó4Q—Ñ>¤Ô®_k%ØØ«JŸò[Ÿ4™¢E¡8!Î 9R5Ô;ªÁi B‹AIÁ °j˜çd]ES€0ìfŠ@SÍÆ˜Ú)_‰4]õuÈÙ¡ëÞ—;ß^5Ñé#º^nÃO¬Œ‘³fY!^%‚xVšþ8#Ý·5#î¿õn§»ZOCn¤fq;Ö#xg™½ÑŸâٶħÑÀ«a©"öÁ:Q.!íáè²\q°_.ÈY–Vp\‰fWë =‡ò/2¨ 0„UÀ™·ÊøÕúßVºz]“*ÙúH]XƒÓ{ùœøY«¤ª M&f,Ó>(=M^]š]éV6Áæ¿ðäqšU¬C$)DÏALHX_%*ëò’}>ÿ€»ƒ“?  ªíS¡ZY¤.ÄÙnŸêü«@Ö“½ ÍúmE¶Þ&M&Huè]´ŸB蜗:û§ž¿‘A1ÚìŸ;7eï?íéóÐ-DJ0í1¨42þ¾‰ŸQc¶©&¹wÑÙ”{²g- D׆¥FåÞÕCW_•èí¤©²ŠB¨ÅQÉââ°Ö²§Ì¸ù‚ÄZ µV|ó¯Aו"þ­vK¿€¦-ÿ9Ý^„L8IÆÒÜÙŠ®±¬ßÐã4¥ÿ0þu¢0E;J«ÀñRÕ0n˜XDE@þfzïŽ&8üÝúÊÙÀXñ5aiLÑï€ve¹æ;ìüwPÈ£ÊSûšý;Mƒ#±§²Ó´.•gRÏè¥u ­±Õ‘l%ÎÕ4áòo(ÁBÿ!F:˜ór¶Ú§–œÁ¢¸Ý³L·e®í™èôÑFž¶õSGä#1ÁÀïˆ`fEi† Ýh¼¼Šû‹¬Õž¸§¡¥‹8\°› õ¤ð‰¯øYý¿ü4é+B=÷ptÞƒš¤ób®·ê?@]‹QkG”¹„ž›Üa™UqÈ;<·;õ’§Æ;‰ó‘gÖŸ¹$ïƒ"a'Æ‘° ¯/=ôx«}ën¦Ÿ|K‚D&´cÞµ)"\ߤç¥{o¬Cñ˜€U¤@ÁŒŠŸ‡Mì·­1åa•PD;ÂR€ÿ.öÇÞnʯ¼¢€ÅŒ†îÙ±Ó…Îøýú¹®±ê,fBË9Ö%fË) N8ߋٓ‘tP…¤Å%-lÛÜÈ›F]:ôøç¤Qš ÄÊs2ÂÿÊ:ˆë_™‡lˆØcͶy‡ù"tGÉ2áF–è‚,X{¡ºNkI¿&² P‹óöS.N‚N½é ?Š)ð¤ßßöf­gCû<‚¦;ÌËÙ0÷$+u–Á®cðø¦Ežé Àl]½qýÈô~môç$•¢HÖ’¬\Ww[3‹µú«?‘"H•Òbƒ!´”e eó@ûþoV‡Ô eR™†u¡¢o–•^K"¨FãÚ 7Q1Eh›]¾€Í‰£j÷â•HO¢òñ±í+Uäó ‚7!Öƒ¾¨¨×ÂMK»Žl#—L¿l¯N‡jù¢\ÂNUÝJˆ—=ªÅ”(%á‹a ßìM×SæE†Zì>Äÿ ßkÔõLåöKxÑ¡„º3àfqâçz«¢;q$Íd?«ÆOÜe!|wºP¸ þy¥áì„Á!¶ º.þHæ¿•rò`i ÷+‡]gw  ̱õž<óƒV;½†ŠàóÊ¢<³“Z»<¿ÌÞ ~¯dÂÜò&—Æ…¬‹×Þ‹Ì<”!©% Ÿ j<í;ú€H†ŸìŠH›1.÷ò ÖW]sµ¬a@ä²:¨ïœºµ±¤Ì±3Eéßg9Æ~ ü•1Ý'ÙiÉž9½uY'µ©ÌLø½ƒdª«õ® ÝÊ,¢Ä'&TÓ¬ªÐ‹]}Êý´G†+6ji7öó°„QïÓWZÕ·Žs—ëùá ó<É /ЙwS[¼û“ÉÓÉø¤ÿüyAˆ£EÝ¢=§…Óï§tS²r€„wœ´ßud.ÕZ™¯7TJ:h¨9t§\ón[ÍEwí½"ˋ֚ËÜMJ,gR'|x3—î¡ó8¦à×±F4p׌ãäA ‘™ç°èaþs@]–¹TÉõzþ£‹;ú6ð_g^A Sƒy¡´'ªðU˜ õ-¢g$uÙô¹ÖÞMw¿ûUÄ´$ŠòØ_Å,ßñV—•J“[q»vBP{uÒ,_§ú£®{|î5 ö² í½p´l‘r{“ólrA{¶™í;¦ßO[¯… ‹¦ïœOÀ`UÖ­Èc«!qp÷dÀP¼I‘÷ÿCji”ì$F,h…;Ç¡?,>E©xBJ»€¤k(ðÚO›yŠÊZHÊÛÙ`W¿uÓr»Ëœ³ÒTØä/Lv'ÁXá•0†t4XS’dëk¥%:o–›ú;sÂwÜS̆ÚBº§׃£‰éa $‡„ÚiV¢ ªËǨ2¹)0©–kLb ƒt)ÇÕÑ&Ž;å ¯Š>ì@:“†q)oœK÷À‹X3¡ãÒܘ¶'7_÷”n-N£î´£Š\8Á¤ÕF¯3­¯>“…Õqíf³<è’sêNýЀb¹”óµÊO¢Ý¿®ÃŠ!¹ÊÓÑ4¹—cõC¿)œ‹¦d/Ù[%w…ªøÖ¬ILv ~Fk²óí-Úá/º‡ÈÇ„¿÷™2aGyãV­x°ß-Í=-§/Ç<Š6ÆE†¶¤>%-`ýÙ*ùLá›XiÉ 1)­òIÄ'ªpƒ¨DÂC3fi³Cw^\bà‘ûÉ £ßÂ%¥»°X©&ÿæÍlñ¥—"¶×Mžüd}¶2¦*‘àÈg®÷B’®=c‰ÍP‡DÉo„;‹êWÃKœÄ;ž-}w›âgæRNÖúæƒTÙ³ øz*›óšîµFw&béInœ‘C˜Ãœw2~ïss•¡f‰Ê±vWX¿´@ŒŸ»‰8ÀP‰MÍsm©DÚ9Ìlô|ŒØ¿ ~\gûNmNQÔ€º3Qñйe¨dUÌï Kë’œj†¢õ- BÃ_ŒÀà‡ƒÐy‘Aí*_£î©,jHˆD°‚¸œôレʤ=¶õ¶?q· Çå˜3P¨ÒÄìW~Ìñ¬rhçvýKmž—2¥¸[ý‚i/# ƒž9Wée‰{4Z¡Án»Rr™hÏWªQnôü¿Éâ8ˆ–·–Z@צ­Þƒ®é"^©XœJýàòÁåî¢R‡$:\ÝDþC4lÐÛÛø<¢ŒTÍ»"*—Úkˆ\U¶’óô\VçyW` u膜×Sˆ_R3“ U2ó#±’Âÿ(³¬ M:àá „áŒ9 41iNø„s«Hå@%Çu«NKg6`¯YÙå¡Íº)0±ß1ïáÁøûÇ)ßåÚ³< =uOt¨ülÉ!ômìðͬ?â…u?²e¶ŠK¹Dt¤`!ü*axd¹À?Õ3— MI4\m ´êÕ"Ð+T“ƒ®²º§FŽ•xŸ¤X&V{ç‹ß|ˆ€… ˜X^ íÄS˜.m¼„ÏkÅjxûÞyV¥³®jɇ‹ésão—Séæ~°¢ýT ªµsмÀÒ“¦;ÃcrŽÞU˜Ã ¥ëUr Ø>!úÝǨ©­˜ÊQÒ89"ËYÐü‘Û{jNU8ˆ¸|ö„½ÝPÏtX«³IX˜ð Y€QÂö’e‚ôÛüú¤½Û&5n€'ãU¹ Qê€;NFYFzqˆp­ìQC(YEƒ+Iܲ;ƒªJ/Œ2,ÏaÄW)Ñò €úRt>ÑÌROOÚ!¤G²>£Ì›º£Yô) «Ð=9UÁšGžxŽâ^|š‡…Ö/ÇŽ5åÚ4fì5LvÅG "yC\)…x´Ø^Â…’QyäÃÈûRõ"?fTP=™‡ˆ8²RÅ ‡(1"¿¡?þökèµæØÇ÷@ÑRŽôP¥BI2š<6Kt—x Ê¿˜­—5mRh$|ß“—=²‘ Cé!Û³qέó‹Ñž`÷ÙH3*û‹¿Æ€óÁI€_—ßî¶mߊHYª‚ºiYB³Æñx``l¶EY»Dí°csiÙuOÖ³!íØ;]/í1ÐÄJO–RkögêQýüÃçú÷mÔVU¨ŠîÿzÎ*‘Mvz¥»I=`ŠÐøÀ.±©ÇpÈõÑ`kПÕïÓ¡rÊüÔ‡˜g:ƒ¹3ƒLºŒ8‚´:£F…”‰y‰‚ìFM-f˸Òå†v%eíW~tkömÏ庉&¾­Sè!²˜Ë_I§ Æ»öOõ¬w åÐ ™°öœ„&´Á(LJ ö=hp šzÞw¼üÁH´¤ìM?Ѫê4R'æ`£ï¡ã@RŒ)¾£ž šº(q;hÆ©¶+E@=!œF´µ"ÏtËÄÞõÊ‘“÷´r²žx´}`jМ=÷öæê t6Çæ›?hš f[φ“¿(g«Éu_?K™tÞbqÑãe°oo¢‚½Ì/à iò×lÄi ¦‰|–rc”h 3$š¡$¥ÓöP¯õF\Y üƒwµVÁ²D,û F¡/ð6PŒ;gç-p²0t— 7>Fl2^££¼ÞnÊØDmõߪöúÔ> x!•ÉÍûç$:@~Ér^kO5´/0³­Ì'ša!IBYí÷Ín¿ýÀ¼Šh°\ITÕ»kr8tõgZ<ãGë¹1l»$ϵ2R/¸Ö[ï)/ª(ªÌ/OVy"ÙcþÑ0Q¬\Õ‰c Ä¡`½^Ú7,¦Ú= oÔÖXI E *ù¿vjéù„ÂÚ$¤ƒŽs®.<•À¶ô±L5¢ï˜Ï³;”öçøs³2xM /Ë8ö‹ŒRÿ†Ôa¥õÐÕ’™ûôQcá%pżop–Cx5$€é°DÕ8ö£š•\¡¤lAž¸:HÛ’; ÖІm ©Sê—V†i`%z2X†Ðñû‚‘É ˜ž]‚¯ôi<7ÝNQPæHºÆRZîU ðvAANÇ‚l(‘R#x,Â+Ɔ .¨ŽzLUT÷îàÈ… èKE{áw5 í+B£w Ú Ž®,S#Ù7¯OHš_Á^' ’óÀG²‰¹ÎO°Ö..“ó€´A"ZQƳ½$¥0t®Îˆ>Y£²vìGÌxá‡wƒsy*!ª +Êàˆû:CøÊ4 ÄAÛæ| o±> w.öu—âÀN™±SC}íw—H+Ÿ¦‰–„bò'~T$…z? ƒz£EMÀG·(âqÛû×&‹Rì¼Nsðõî\žy̱À+ÆÖ®ÊŠ‘ÆØÂµœl~x—â´®nxΔ<Á‹—Æ3qô_a’KœF~‹nþJfï?§2ä/Mв"®wF…d__fEòäžL^FZ£œèe"šÎîÅôÑ‹¯1Œ­×œèe>eQEQ›H—æÅ‘î`Œ*¹‡™t5.2ÅÑ]â²è{ÂèKÛ|ôŽ Ì!õú@‡v`£²ï¿¢ølžx%<ÖÜx]ÒsFíô_ 0‹ |а5Ã3€³~ù˜¼WŸ8¢bÜ“È(¦ÐK%Ž…À‹Ksóv”i $'öÐRõ]`üb3³(à±ÂO §^×ú7œ©úÝLÄ |Š3Óivgf*e¢ú<´Á;š¹1îšïÇ—Úáßqòt‚°¶ Â›6Ù˜þïy=s2T/GsðöŸqÏfá¤+,Hu"¤‰­ôùZà(`ÝþŽ;ÏÆf寴ÆL*K‘«ñT¿*›~ /—Ù<ëšÆ4Þæm:K~6²Í”¦8DCua’Oy®áE7î—w2è‘Y¦g,;ìÉlÒxˆ®Yg¼¢µ €¡b ~ýúfä{_‹¥çß6Êl*w‰YêýŒ¼°$ÊžmWFÓùgÿšïaTò´À5¡z*‘šùM©öòërÌ¿\ÃŽýÌO¨ß¤£ÖLÈ,{#Qþ‹øÿf"Oå¶”“üJp½`èX¿¯_F°ëï‰EƒÈFß2 ³zxy0O™q¬„gor¼Ï‘9£{é(%+~ðë‹BýÛ­¥«® ï&ÖÐPv½TÖƒg{+…íAÞ8â-ן˜4V' <Ö ?¾,A~v •¬ûiN¡¾¶Ly‰ßYUFŽkÛ;XÈ¥ÊÑw¤½³u‡•`G,Òo?®ýž¹„îAu,²t¢aÊ÷=>$â~¬Ø)ÖãEÉ(F —õÙ €ñ|¦¸^«Ò{ Psy¾¥h~Y!2oå‹%IGHÏ ß Î¼žõs œ¾-_ÐXÛ}Ríó¯Ë €«uZ@Ü&̵¶«@â“U6Äžª¬I>³½A¾-Ì<å¸Ñ‘ÌÊy²P±æB»YËLQ?ïÞ‡›˜ŽÑVB­ògFñ•­Q%hwš÷&}É)±šŸÉ2•4çý–ým!Iš#X­#aqAÁ‡ÒYRìzˆ[IVàÉʦ ¨Gæ{!?ÈÐ*ûèE\]ÖÜäĺoñ×c°Rˆ’Ð x²0ø&´ —yJ8;ÀO`bøËLç*¢Vé÷0ÚŸÿJ7f›?:èL×Y¿=hô»ç1Åà—¹—éü37%9J`:¾Ñõ%g±3÷îuª+3QšØÞ#‚×ò³§|ƒ¶ó»V ×…û- y[½,ã£G?ø œ!ÿÛ}³0sF}ßD_|ßëÞbúf0W‚º­5@be¿B“9­Aš÷ïHª¬¥ârJ£ )\û X”RÈ´6Ëælgì-ÞŒ§íìf¿‚° l% ™ŠpW’Ò|Å‚s:þ×$x|A^ž±5]Ïñ4¤Ë«,–‰ã+¢ÄzHJÝ…§{¶0„PCeyŸn½ñ|»BeàÕtªGÐó¢6݋ֈ?ó>‚€ýŽ!Ȉ¼*C‡ 'SŒ=tm£REÆt£šÜ—ó`x"e!þÒuf7ÒXvê1­©ùŽñLYTXÓ}5æ¸.ă+>ÓD9q€$2p Ú±šçPÛœµ÷üDÈ|þŸƒº©³ê–û`ÂCÏOÞJmTY5Œ˜^P±d|Ta.Ðü 1¡!m¦»î%žQÞC¶ôpáa}…¼RØŠüÍ¥Ì_ZKaµ=H’}ºÐ®q²ô°dVcÉæ‹¬ø7µ*”m±ÎˇÌ;×g¡æ6£[2ÄäÑ"œ¤ØùÜ›ö5}Ê4“>‹Ù;àÿ@>…“þyoÝz…<ÏsôAîR©}§òíý_`*Ç-kò†Þå ^öÅìÈO—àÊâ8®ë}w ŒMˆ©Äj®-©VÔDp»Ð¿é*c§ô—–µ¼M±]k­åÓNJo“‰],âxo0CÌ=v¦ \-ìºôwÿ^ÁcÝ÷ÍØè~UF¬¢#ƧÐ4?IfpÌÆÖ"ƒ‡ú«Ë³3¢‘Í[¾‡a ׿|$ETUjZ«tÉ/ 9(Ÿ[Q¼8œ|üçE¢;Îu1¸ŽµXnòêã¨kûe’õõ[+Pù€õ¹D‰&¸]5MeÓz$»<0xYM GÏŒ“±(’ ¼æ*¾0:‹þrˆä'»6â³mwÕm-¤€õbý‹N þþWsñ®7PÄíŽûÒÆ !š«óüý¤‹‰a$¼Èøýö¢ìn‘¤®µ{ðÙ>¶6Šwp‡#T]1'qõ<ÇÔ÷ÚQ½=‡è½5ÍS•Gù™~`#F» – °E%°„h¶½Ç\Ï!yM±ÐäL}Û@uš :b_mŒjŽÏÉy“=Áâ—e€µŠa”íÆ>ûìB§×K!“¸ˆŽxœ¿Šøn-}þX­Hýùíá…¼8zic5AçJ¼M‹}XÜ(,õ)ÊúI6ÖF³œs…#´û¡%0rÞŒ€{FšþIÍ5õ*5ùû…V §(ã _V¸ÏÌßá“fg´zÊ=aÿõ¹ŒþýÁQ£¾ñFVŸ5‚ûV:)À®â2lkÃAžÏÀ18 ¶k8ôîš“5wØÃWIëV\à [UÐ.å1›Ì,ƒ–<ÂcEÎA¢‚‡IÝÿÚð½Ç¢f{ü(2d?K€Mq¼9ó÷sIªÌO¿t>2™8›\á}æ—­žŽ’ŒñX–¢kHW‰¶ݲŸà8…S¢›hÜÀ‹³þÎH°'T‹-}q{{(†£/‡¡'}<˜Ñ˜c™«B`=¥o”ÿ&ÜþëÃŒ8óù*‡)£‰þAµ%c뫜•0…¥6“zÕÈÀAnt›M6Œ’wì]®Õh $H£?bžé Ž’7Liõ Ðoòehë¿äQ…E´ZdßVçb}ùØÒnбüÕÊ[”¾6E8’}©¸g:šøh’ CbŸ ¾¤5í¥y>šÙð­F…à>_Ø{ãæÐö…Ü7Ǥ—¤å¯Ï¾©-Mû~|äX3êHIà=ÑÎòÜJÚb ­ãû8˰⫟“.WyăLÅŒ[‹÷!wÛŠÿñû¤Ùu¦ã\g|#n;Ó ÙnžŽ{‹-¼©Ç€÷WÆ¥>QDQ¾Ø_$ê@ÄÎÿ†yð”Í.Öû"\‘#оâ²ÊÅš L!Çls¨™½ Z(Àõ 'DG¨£èí%B×iìñm1ÓîaÙ!½**®WØEø\ÛÁ-Cl®†©V"ÛQL:£Ê;çöõ7_oÅmáv¾þËÆv‚SŒÙÛ•ç8ª•¾ÂLãðaŒ¡ÕÙÙT¿šè.~¥Ý¹.ïp;¶}úÝ{NŒäYßÓ½—Œã´”ubµ¢äÈÊ¡Bñåšÿ¹™sãX/ŽÃ¸NÞ ‚_´q÷ÒoIaráÐÀNzÂD €hºÀŠ“v‹&xÏ¥<Çj¢Ø,1ÝXnù ¤òAëµ&ju5B’±vÛÖ¥¥žc—wiè»A–øØ%’¬&ï„é"ûžéÍ9ÇÍ?µø,ÔXÑ®•Ík¤ÃÁ×µ;Ń‚eEÚ¹­{¢—ÙÒ0Úˆ"ÖÊyHP°K )HŠ´©ögmnH26%¨oÆ-~Ùé bè,O h%¬£ÿ°½l|yïXñœ¬d§m¢ìTRi3K-cxþU®f¬iñ$¿¶¼ã®MˆcÍýÝW…czëóÔ›ƒ¬¬o°†¾JªÜF¨²—²w&ä:á<‚k6;»Á(¶Ü$yôúni©*»_ðb‰$‡¨¾G5°?¶ÔÄ¡” ¼r÷]ÆÆ‡~< »ž¦âƒÀ¥&ñµ0ái"‹Å‡K»Û…rƒ’QµŸ+m´Àh §×SYZÓŸ£/hßgÉѧYv<Ór(¢ æÿ:0tÁIpo­C™öá|ÍÖ‘gÿ’ÎhƺaN¦ÜïüxV @0´}ÉÎóxQÔÑô¨jêh“~jDŒÄ<’äSŠ‚äÏNÏ’7^qKsi‘ …›)BdN¶"â¸+’Pä`ßV·Ý_K$–±Ó”^ Ž Dà _ýP¾¯×-Y**4ÒN/¸÷ö2Q€QÃØóìîUâÖ¶0iðjùTúƒo™äÅÍx“ ]I$¬K¢í÷Ç3­¤~ O[`é2ý¤)fŒP+a†Mý³Ý „†p‘,mhœª¬dÖurÍȽ6:JZFNéâ±)(™*ГýO磓êfÖ¡Ñ¢·[¼ÈHÚ3QЫ”úÓ°\NbSú'97×áQt¯JG`GF÷{ææóœjÕ*0“¢'´‹æK@{‹*²Èµ y/|éCýuÜœs`|`*z³]¬6ÌÏßÏjÒ_GÍ¥zc§ZÛlÀªz,ˆÕ!%ØC|—ÖÄÙ=§ŒåZ…*,T×}Ü÷ý<9ƒèr, òÔ*ÐL3Ônö22nI†‡}o&ý>ÿZ,Hb°bý‡ÐÎø#|›FY „\ecNA®Ÿf7M4ÂójÊCöZ±XP §AŒ ajè÷3|Wƒv‰÷í¶ÅeÞÑ¿tóÓiÕ|Óƒþ¬&ø>ßsO`ëe¹O“Tæ=§ö ô0…#“‡PnûsUÎÈ‚KFAªí$Gp;`¯ô®+úñÏì<ˆuöŽA±ï‘WìèL’A’aJ޵}Þöýw+ÓiÓ¯ýæ§:æú~‰TXà½ᎪÚ!æ«'O`Èfgnáó¢‹ú6ðÈBphWO/ëspÒ ¼äuû*º,hnA½}DÃ>æHd -Ë0Ñ;‰­1 ¥×õ8#0¿¨ËæR ±ý¸³9:P3)ÉÝ…n±eÀkf¸žî*½eÏËú~Í®ŠðïæUɈÂMø³«v݆³Aÿ"ó‡«MVÁ‰óßqN³–(Äœæ·gûhgÍߨÆ.˜”2ä£Ç}Ž?$ëéiöïŽ=VN€³sQg^=L:C¶öš,´fÅî±”îˆuåR9ÂúÒ!s#9uUùñ%KÀ*Ò$.Ð!‰5Ÿ`C3ÅǦù^úe)°ëÍÀ»£jLt Ø#§ˆ¤ï ÛѲ¤TA•AU``kNáüD<žýŽM¦Ú­ƒ¢µAývj‚ Øz6÷(pDô»çõÔŠì4¡êôìP÷U÷ Ú<$A™|“zõ Z¬÷ZW•ÅÜõJj N¯`&HÕåŸ {^ߦ&±R[•vλê?4]§)´€”†úµˆ´bL!„bì•E!ÝÀ"BO«šò\írÊןÍîœ+ÀÛ+†s/Dtb8ò´öi¨­íÈI¶¹bmgÔ5òÊõôFR¶ïN²)÷z°2’W¢´ÖO c®:Av¼N%w%òÇœ­áÝ@ÿ\¯ÖâªH´˜¸u˜kô¬ðÌÀGq,½/Ñ•öý—Ñi&UÏéa»67+1<õÌüÕÉèÏÖ|©Oó)®l¨e$C pI¢’“W6âMÀÔ <ú´3~«©¹!Ä<Ü……³(Èg‘yþ¹6ÇÓû!k^îÁlI•c:-/ú¨^cÓŠ_Á›œµDÝ©.ëÆÌÌ,T~T·pY¶l(ûÄ@ ”¿µu§²°þH|ê/|pxjñ§Ö؈íb¸]é‚îšPö€}ªVõÁš%R‰Y+ƒDxÈCI§c~ݵ,€T^ ˆT“ƒ–ÎîFŒ“—Ì-÷™tD%¦Þƒµƒÿ™Êyª='ȲxGò Bš¨Ó 3<빞ž½ßù§î}Õ©*r¶‡ˆ´[/ž(P,ø ó~z±±Œ»÷P”[Ó}8¨ò$?ßÚÊÓ CUH¤ ò ÁH¸óØÛ¯Îh¦þÜó}¯á b:Jæ/*5xTJJâã´3« }š‡Ö„äRòãÉ= 9i¬¸*×ASî^Ë?‹úãXLw ,â„bê;M<@ý,ÉšST ‚,R»7±Ë, d ¶Š †Ïæ¦BìUÊ9cn<®€ËHÀÓŸcCjÂP‡×9ºh¬ ¥ªo‰J“’• •zÄÊfÄ?Trpú òÐ…2Ýþù$Ÿ‘Öÿõ}žÉz™o©Ù½^t$‡ßvVxçoÈÛ¶’­½f± TÇõá1I]_+zªi\iÛ‘ÝÅšfP´ÈéÙ …Þ‰ë\vSÓÉ$hç+i§,!,S&ï"žMá%Ž•JÐì¤ ïÉÁ¤pòÈV2†Íò˜br #—r• 5 Wç ²46•ˆ¾ZOÎ5vÚtªWLÌ­œãíÕxÇg€X’LûxÕßȼ }ò%7]3Eeño>„ík*ºðj…$à g´ûêÃîû!ÅwÅzüu&¼yÚQ6Ërа#ljƒEQº/Ž˜‡ô¸–Åg–ìŸQ÷«90H;–Ïà]-™`Ë~5EŽ |ÈyࡆO_X}‰lg6 ŸÉ‰‘>Ü+Ë%J¿ÛÄ 3šÓFŠ'…¢O4ß›9+9ŒÏC½ŸR¿¨rɃr¸s°/&!;ß>¾E*ºï-t¾¥k»¯^Y ”›“7ÌÉR±Ü˜›@ ¸éÜ·ª¹0>øJKŸ*g€aö~…²’O¦rîÝ6“Eú»ÖôÀc·Þ!… ˜Ÿcå!Qˆ¨¢‘€â[vb€%:Ô«Ãàüó6ûm•ðžÜàZruŽz]ÊÁ¼k¡¯Üu¨E„¥I$kñ®Ë åH·±ÓUvRšgÇí•æ‹qo‘É#Óc» u6ÅJÿ:N'À £œcv/¤Þsž^·ß{ |P&ø`Qçã3ìpoIÜ®Ó neæÃ@)u¦‹Ô…„ÞiË»?'¹M¦Ùðq<÷÷QÈD\)?[Ô}mýû)gÍè`:U~—ø¨—ÅîO{úµÀ³ü€¬Æ]ýArrž²E›áÿó’`6!Ñ å3XêàõŽ×d$[ùr¨QÔËà˜Šù›Ž„(·æ×C¢ÝßÜäå·öLJïúeÕ±Ig—W uRŒqä2ë³'û;£ƒ/6€L»¢“ªs¬¡ÓBÆJ&àî6Ìfʃc  ÆôýïáÁ´œÒ]ã¨ÍXÒ°¨–“&Ö½ñ¶E¥•a£ìQÙVâïê9Çè6d³PFpV©’xêOƒ,S÷gní~½Õ)öW”8ç’{ ØÔéS/¢o¥”Òñ Ÿ'Ó±,—ÄÁÆÆz{ñ·^Ç*9WšTímó;’Ü¯ÏæÉ#Çæmç1»LrvcV=81E¼v°¬«?z³ Æ«¬*ì eeð`°³æãþUÁÏÛôéѾaî†6I’SNVk'ƒ÷H>‚?§Ï‚ >>h+}ž¯2ÃdIe‘¦?☲ÆwÓëN>á*ìEï_mö’pv/5{ùŒnê˜ï†m™üvš}M­ÁÉçÞÄ™¸ Ÿn9üˆ8Kð&µ §¡ç)·.2qébRÚ~ç#MâJŠPÓMÛª}Ž–C,åÑZ*Y® Pe¶mÛùáö <õžp¥ÒB§rlõ+W¼ÓO`ušóxäJCħܛ;ˆ`„˜­UôósŒñZöIÄVîm‹&G ‡¿š; ©ùt¼{k}ˆ‚ib.T@‡ÊXB9ÿɇÿÐ{lß?aÔé°­,îÂw=¯¼/$`TL¢!‰¤a¶¤î»m×—JDÉÉ\âZû|]§‡î%ð†Ku%xG€¯¯M©y5:š§s´^­ú8H8£¹ï¾8~ù±˜0ŒÏ¾[Ó­1£†¡{Óó»×ký”PŒËÖ‘¤%VíÉheØ«`:Ðdi6 ‹ºÄ…kMd8S§^N¹˜Ý"€¿ykKÐ=5ÊLjZ >Y >ñÕô­·3„ï$ðÐ wkUË ÉBìÖȵêÌ„+ñW®Û¹„ãé#kꚣaç  «á”«aïh´²1eA¸Ô¸ÒAÀÝn3œx­ í„ ~ct7R ‰åG–àÊÖâ(º0d€Ì‚%¾Ì†!Ç“:³j -¯oÇ·“О‘ ½rU|Y~’‰’rüI´jZ²ÏîÒxš4ٖχ§lAèrc¥šÏ8ö½³‹MRÙEP¨¤ÑEÎW´M£Ën‰_JšÓÄÿ“„>M"ù‘ F˜ô\J©Í¶ï*A=´<Ë+yõŽ&ÍM5û»¼Uì+Ô9 ¿•Š #¬}œ\ØÜžÑ¢â4lÇGôèo=gè}‘ñt.SnJ9…«B>¼‰ƒfjN!Ó´’›*o«×¹8?ÇM$ÆC…t|• *ürâ gT¤r}pfk‡ù•©ÏÚÏø¯ŒÅðwŒGö¯x”ÜP"Ðßßœ.>`æÜƒ ¾ ž…Þ›Zþ—«·ZIÜìr’¢’at^ªL±Ç‹Íh_‹ó1Ëe&ˆ‹†ÅQ0+)Éì¤üÝij¨{P1‹¤Ð@ü’¿²!Š#Ùä°D µRW©Ì—£¦"€Ð3FO±SóîÞö´/™§f¼©ÅWl¹ëdd"¥'ŸóÐ2þȇ»ÿÿ¢`Ïr¾X^åÄý:ñp4˜˜ýð œ1Ȭ¶ñˆ•-X¯>xR¹Z¢qÁZ¯Ä¶rÍqÛOËôÒ±/Öyzìçúl䡪:xÏɷ⹎͞Ç_ùÄ1 ݯ/7^¾¢³ `ÅÍý§ë6ã Q>Z¨îÚ!‘=BœWÛš„n7)¼}貕„X¬1.¨U/†lg:o‡šíëܪiã§zŽkG»–Z_<ôBô¤*E–B y09œÓΤl?»üIÀ_¸Õùçxôáµ& etD]º'À'¹uÜI§ÁèpÈßÍó>šüeäÇË£¿B´·?–Ìf×Ë©+.§*ï«zä¹ Ÿc‘É)ôiÄŸTWŠ UIó½úc&‹áâÒö…ؘW¦åp¢o´k4è¬_­ÔÍቿVt¹Ù&¨zÁ£¸}­maÅõô*±Û+þïŒeÿoL1‡<>æÛ‰Ì§W_ΖJ™ôÁ1åM2ÍÂÔn:wézÈ_Ò´LÒP¨ñé«Ò¶ 1:53#û;öRP¼xgÿè¥ãZØH{õi¤y«@.S¹Ã_ÄÌp‘…Üã-èüc Þ­ýF_Žr.üd¥›n¥ÅÐâ|ÿ—Í{V åÏr°Tõ_¯/ŠÁ“Õ— 9nË©’”ç´X$”iNí¿ô¿šóxó¿<L C©ÚKÌê© ´kT¶MªI¿ås4?]'­›=QŸÔœ\?kª=Õ®8[I5Í•3L•Ú ›{y½˜}ã½û ¦ÐV[uúë’:äï†òŒÇÜÀ9üôuÃp4»NÀx‹‘ÄÕ=ûÚæqTˆ¼)!(åKs€eæýß•&¥;kíÙhã$ýçû’ûU|jG,jX<° Ôe©ê+­å kSÉÂÉNÇãø`Av KTý‘¶M}j‡²IÎ÷èúAÙVPz/ˆŒ`ÓÉp;k™B Ùñ &´Ñ‹Rüòð*°?ÅÞ‘v ÇLDúéU™o<|MŽ»ÙšþóГ dæÑ¡\~`>ýZM1¦z„°÷>Uÿ[cG8F·_*¼ÖÞ$AÀ€ÛeÆ|G³*bi«¢Õ7¢¦9ƒ(Õ*ÍBDV§Ú‡î±÷'ÓxÊ穀ЧË"yŠ#`CÑ΀ç&a H¦c}}€äA zÄ>Ì(:«`v[:Yj0³«·&TV÷°kõG/áÆ¹¥še¡,o+:rjtZ2;4ÛxGzêßû¡/br¤(¾<òVCBþ»Ç#Ÿ‹Pyƒ·*ÁÂV¿GÈ«Iˆc•/-lj®=)ðÒ³À+kÖ˜Ççi¯ßq3Mn $ƒº`M9»::·tmhçv2(½CÖ'<‘0q¯Ñ^ýGÎØ.Júµ@¥TŸ¶}ã §«/†½¦7¥l—)Æö©7á¹{’û±O4K$·ìr œÆ‡Ð³-D„ßV§Ù‘ùÝuÒè‚¡{;Ëo79Ó;ÎÕWÉÊý'X_-‹ènUsòÏà ÈŒe‚2—®ƒ·Žé?ðxL‘«4ç°¯þËú‹7bUQ:_2Õ™ ªaíR ¤öðÒfáa»rAX*›=”…˼D-ªÕŠmCÓÐϨŽ@v|üG$¾P<ü»ÊÀpšnËÎ}˜ÖèiqF²Ô=Âq»ö"û΃’5*·¿S‹<²£wæJ$ÑÐL£I™+Ös—xûDSf÷síø,ÒÍ÷¬JÖ#”adYq‰ê+ŽÓ4è‹ýw³¾œr{ÓÒ7Éî+÷öQÍ“ÒH ‚šŒ“5»ÍùˆÏKÜê.6JÓ`ηþ„„7-ÕÍ—±¡í8R¾"Ó1ÆŸEÙ”£ Fr¢{¢L‡ ÍGH}¶%°³ÿæ±ÑFêƒY)^ˆü,û[eØ ä«H$ ½ÿY—¯˜’\*0·j-«lLO’¾> kó]ï,Ô8Øvh2ëÆ yÞ ·#;æ0µ8„ûcâmgjPÝT[­lXZ¼Ö[ÏéÇ}ùHôå› †€yô·î©Ñ:ã¦]æìD迾Dʪþ4j²¦Èy ÚÂuÉV‘Uî̱žDfDãLvˆ'øy!’²áSÚ¼´“¥ZJ½3¯¡‘,äÐ!‡ÀÖ,oÞc ÈÿJÔe*µ–®È!‘ì͇=KþbÍ+9—Œ*»gPAÜâ"n£Ð¶­gÎúI·§RÒÏ;Ïyë”_[üe"·Ò‡Z3<ªú³úãòÁ Å¾é ÌÁlœ«D·HûášîA„Ïë Ó[ÃÅá€Ìðñãc7ƒÔwïV«JÙ ¦£òçd}Så:Äúufaeå(—>PÕ•q—ÖòeF@oz÷Jg¬ÍûÁ$W-keB£s°®ZÈ6¢ ›*é|íy2—ûI™¢¡={ÿ¶Yí¦!§çsèœÀžý-jUí›Ùž×¸NJ¶Ê“†åTSãÚEäÿ}£3§hyž(ߥ¹%tçÄgQ›œCŽ/.Ží±ë†…`ˆßu‘b3m¿Éø²j2­1®b ›Ô?å^ÿëÕUj¡Ì6…ixZ|GI)w6Æ©ÇIv­¬~\Ü)š·„™¿¬­£°½R#±'SÆ-‡º±ãbOÊ£0^lNèkoóm^ªyK¹Ÿ7—Ä!,øz¿S÷³…¨*c—ƒ¦‘Œ.ž¥‘Ôñ~$¯ü K‰L»ÆŽÒEo†é«d†%åñÍ– Ž*ƒ;`)¦ÕCVþÒ'%Þ)¬8€¬Á§Ùddö4IwÀµÜ à ×UTf)@òɱ’T45¹Øz*tIO!?ÐËÿ˜¯7”`[nl“e¸DAÅ¿ª1n0X'y€Bù:à±ï†8‹`o2Ÿ×^Àù+ö‚ʹd’­Q7bìfØ,Kâ^+8—\ÅÎ>3É!‘5Ttåúã±Ê€Ûª4lÐzÔþãÍ¿'ì=ÂmW~ÙZŸop`Ú1¶#ŽOÇìm2Øgâ_ïí]1„mO@[©ÝO†âmeÜwž×ÔC]e 8S¹š/) éIÿñÏií´BUrçpÝÛmrZB9³½Z\…+pgù?ƒ«!…Fþãù„ÂãÁxPÖ:2_Xcî.èœÖø?J©ë§çÕà¼~ê[wI\òêõ¬î8àù–Ò\Æ&q³à õÊuWÅ·¼ÂB<;„+T³BÆ¡Ëd“}ö‚I€ž°_Ú¿œüBëÚ aÁk\ X¾ÕÿÍ^(‹/ý>ëE nÿŒŒ/ržaû®=dÛcÆ çK´õ¾hôü¸ˆf Õw2ùK°h¶sŒ•ž26åU{6—ykÕ nŠö,A‚d¿Ø[wµÏ7N赃úˆ¤¶þÖ¿¿•Ô\þÒ sYVІۈ¶7þ’'‡Š/°S±†Õ‹@©ZPï²VRIM"Jè9¸ƒÅB`ÆÊЙ²Ò‹ïþ ÙõÒ•Oph¿¡B¨9ª®¶’ÐRš¢Ü¥ØÒ?½o©yEuÑU5 ǯn£ÆjiîÅ*·ÅéÃ2pZkÀkÙ^?5,£þµº„Ú»1©ì\9ïEmNýå'?7®€sËíLØÞ!ì¹Nÿ»40P†ã ¥©pãVýy¨§ƒarŒŠßL¿%'Þn’¸`³ j£ÁÑî…iUü/²çïšÃ)™`ÞFñbf¢XøKbJJƒÃöfVXXö9û><`®asCš|æRYÛ;î~>\KIP¾=ŸŸ—Eâ1;*3F;FúÎ6Ýë1),M—ƒaä`YÊ œ`Bw¹ð ¼¾‡ªÛÿ?þâFdì$@•|îEßp0“ɓOì¹5Y2 °­ú½³)õ˜ÑìH-õ4‰YçÈ}-Ž|é·^Ø1øÌæœÎqñ¨wK©@)*ŽFÊäs¼ùû™kmwTKë„æCºP߸~º&ǰPÝc…aŸÉñŸH>GÑt½:ïWš-`"O%¬p’´6En†æA 0Ùº^áIŽìè»Ôš¨èäpöâµ2C®m¢‘ˆšñù/]5ùņ‰GÇáCôG-gÅæž§ª°šxƒãñïQùÓ¸ýápøEÍeßy k–ù²Z•¶`C{ýOªç߉º¼ºÞ!‘Ì©Hð)dƒ Õ–¨/Æf¶V iªŒ|ܘܔËVnd¸!ð"5çÜ#,v÷NÖ´’¢3Û“-=[-ñFw)øÊîÕý$?ŒL;.ûi©¶r=êå‹ðgÄÊ+†¢Fw? ¨\[_0í½, ¤'h¨Y¨";.”ÒÒ§Jä•JÜÜi/ƒ×µoV"‘CWŸJ…%¬æL€a`Ru¶š«ŸOÏ’RãÏ›j}¹¹Í/j£À1C{Û²ÅÆv`ëÔZòBeˆ'm7>“‰3"¿ªÜŽeh º_Q;ªéº67¸¨1.Ò•ÙÝ5É1»ÎÅN'|+-’R(·ý-1ø D%Ý0U0SÙ.ç®6u=eî{¥mÛ=1C|öBåÍ‘}Çâ–€‡\E`2~|,ëª/Ñ:_yIÕ+þa†º œø¾0G¡Aƒý[”o‹· ÿ„œâñÆê“ìµH¡ÂþV/$Y¥lPéÙb,ÎAþ nÈØÐ{JjŸ¸çå²½´zç #¿4SI±\ÞÍ‘;\’€¯P·[¨4–å:ܲ-Û×x°{{ÀcA"ÈÊåº=Šø`ÇÉQÒþ˜6¹~šÂÖ8>MG¬CiÖDç•Ù8NÕS‚’ã"J€Yá‰2PŠAá¢q¼²#/yÖÊYì9«*;¶“Ú̦EÆ2lzï7Ë(·£¶Ä£üàA©)A¾Éí{UÁ‚S :—œ7ÄfÇe¡—ó˜·O-•ßGËV*¢k͇l ©Zצ¿î}•&Ô41e(@¸yÑHE°\JÞCU8É.b¥áPÛq}rèX3Ÿô§-}xY«*ô‹¾·¾ç*¢uAUhšçñB™×ƒ¬Z!¼ëÔ„$ê¹ý48&CÖÌÞdØÖþ´GsØMOr&ØmáCõeÇZ²Ù1#·w×_Àö‡Ùìºá#ã>ÇS»â—§Î^ŠQlFˆ+ÿ+K±dÉ祾ùeÌ# KžÓÒê ô\2\`ŒŽ­Þw8/g+ݸì^õ-µ»×Ô­0ÞDM\9ÑÈáÿøàF÷ׯ•nÿÐ=[¤(ñìÜÖpÊÕÚ¦ë/Ô§eôß-0Y†çé‹PêZþ^:Ÿÿ#ë]¸bÝøÚƒôƒ¸0“܇¿¯ñ!T)H©°’þÓ¼lpYËîŠyŸ¨&ÌnÄ…6M,þ*ý[ªlùÍ|›ök@C¡t3ÛÅé>Ï“Ûê|M™w±räë§Y)×#ÔÃQ{U÷‹'Ü}o:ñ(g\Ý’éšá i+eÿ ‘¹Ï*Sa°n«’÷¦cŒ—_Ô&¶jTië/‚Œ²|kQ ÏQŒe¦J=·\õ¡á;hÉP H|]]JãH3la]Z7 ká†íµ{LŸGsw §4tÜÀ? –ZCA«l‘êI×¾‡ÃÍŒ@ïRf3½y_ù=­"ZE•…á‚™ÜæÄlò(~Œvœß•É2öÞçE(Âúo„—)]à­2+@ͽ77̘÷•­#àkÏ?ÈqùÔ~uÍnm£ƒÎz•Ãlº9M‘¾ã=nB=<¡Uës„9eôkå;tþ“'|¼ò&=©s\e£ÈgeDß³IÈ].\'Ðüwaû̃ƕ»¦5Yü;/Ó¾›i^0¯!V§Ò¿uñH¨‡Á6-’¹·Y†GèÄ¢’d儃ä'<ìõþRÕ[þ‚Ö0X ”p‡Þ˜;ßTz!(h ¬hÌú‘ò~ªŒŠzàwšÊò\Út¶³²B8+.ƒú;¹sj ó!¦Œ&¥§‡ë4D+3VxýgT\(C”¾?ÌÚ²¡»©Å\^H’wèd/hêy96Í:·+ÍhtÍÿYïââ[Ci™n.RcµÓ® p]=;;žPwu/ñß2HxÊ[ÃHú£Æ¬&Š#UU|\Ú‘s‚Ó`ŸÙ ÍÝÝpT‘ƒ7Óêd}/%?›Ò9!’'@‚W¶”…öäïSi´Q,æoðz£òö·îhšEï ~ÈÛ/{jª½µNaÊEh6î¼ß9¼çJ>’9öxíÑÚúòdNªRÍh…Xïö À]E jVª°y‡Ëu´ƒÿ|k% •G%$X¼÷-n+—žôTü»¢í'ÍãÀJe7ÍTÿmo3sß`Š´±®Z åêõVÊq¿Kj$G;“Þ|ÞÁÄœt–˜‚é7ð„nHF”µ–R÷胣®×ÂÆe¿ÈfÓå/Ü,.Ü–7–É¥‘Ý$¾^ĉèU~êËßáXŽœêªÛ¸‘{ ÇRjºZQ)ø›eägúŸ\hAJ&;‘Íéã`¼òAũܥÅ'¥ÓúݥϘ×ÞÒ“³ÐȤöµ[Ïà¡ÐO¼Á[Ê/_Åë^¨ !zª0tN–ú\]ÁTÞȾ<ýX­uîåN¼ f«‘„ú (gºM9í0ÝÒÿÂâ:<.úUgP¶¶$¯:)M]ïí…:vÄFšhº&:¢<ò€YÁÉðtáïá[»ðe¡ÇO.·gÛä>ÐjÙI;äF¡Ru¢ƒ˜ø™ÃÄQ‚Ëé°óùv=è­¶»Òídø\0 ¬%õ# 6O‡æVcQ sTž3“u™,´û/t¨Ñžê|ä©ÈYEõ(l‰¸QA>ySòƒÂÙßóÒ?^1Áªðú}uªÄæ›""-˜]Upú(7E¯…ì€ _ÚhåK¯´Ç}N±Ú}tiÀó*\¾M6sæõ¯¨ÄçÄyñ²v,=ˆ/nŽ·Cþè„1†^VäB{ °R\vsbÐ¬ÈÆÒà(w§]NŒ[‘õ%¡> ¹Â.†ÀQ$&¯®QÔ„ŸS­çtº";´T<Â<·Xk áüAߞǭmT5§9Á¼¯G ñ] fDŸ¯c#­¦Jº L8ü±ùªÛd]”«Cõ¼ŠòÅi„÷5áåô\yìqSÚÑš•kK’wŒ¼Ð³%Ss馒gó­+¨G¤vÅëÔ7; Ìø„€dfÏÑÔRºÈ¥_[‡aKÌu&º\hAÙ÷¹ß> 6Ë¥é|t…¨9õÏÿíLëͤQ ¬1pÎæö©ZX¢Á·^Á<É‹tÍXú­P¥XÚÒ—S¶7ÄÇ÷^Ô„¡œn²*¨ø/Š¡SÂ×¥l&^CØta”´ŠzfÂ,õ8ýÎÁÊ |”åm󇊋T°qa+ïKåÌcoæÐ–Ÿ†˜Œ}øÇ³éß9/© _¼èY¨¯º5;좰çiiñ><Òþ} a ­·¶r@èDd¤”Õg„èæð=wæó´wC[€É€ŸÚ¾©›JqÔs16‰­ŽI*fony™h†l‡t²"²´%Ë~NŽ“lý£$„x‘ž*úÖÃ)žÇF1D/¸Ÿ-ü‚6lë„ Ìf±ë'©h>¦÷èšMÍR+„0—†ö¢>ÉÈÈ.xF–Ù}Fl¾èØÔ‘)»ºªœ ÉHóZ†¨àŸ3Lë˜ ìa÷VK}ü±é`È*`"† í³šn‚1e„‚¬­ñ {|>’|¥zë ³Óâ-ÎaðçR蔣‚Øäè/]ºyÅ_äÏ•°Ï@Or3~Ûïb2òõáðï‰P&E¯ô„΋°r×I@±®ø1-uø…j^a€ö%#OXÜÓ€’êMÉ =C²Û^šÈ¼KÁ±z»ÆÖf\ùýÝÍn‡åqrLµ3{YǤF³žÁ‰”`˜®ð&»ÓÜÃÜ®þ•<zÏ+èA¼>îù^¯íœñdâg†~{LÑHç´9ˆ(8gØT[¨ Ì.É~ÐŽô̾®Á>ì’Õ6®ºŽtøq‚Èq3×~¿oeyôtç….“ø|^o Þ×ð­”_Âþ„ŽR¢QïpVËr›È§Êä´xb{™5úY^ì&ŽXÏ©Ð× Çin'•¼üfØ÷våM}ˆAVL ?6pªz!=w,:Ž`}×H!½/'¦}EÏüØ8k2ˆ®Õ\ûåO!š\ÿSÇÂÕbjMîÍì^ж˜”Z1OvWYçCMn EËñJyR%)J PÑçÿLR€M¥ù~ëÎ1´Rr ƺ¦s15b« ^&À± BG5Óð€•vÈ!<ïÙ6ý%éBR|Ñ©ŠKР𠨩xGÕ%LÖ2Ã&û'5û¨ðªÁ—M ÆiWGÞý•bý œœBĹ[Ç-2ášú]WÆypáÉêÊ`-ˆ¬‹—åÁˆªx9Wñ‰ä‚E{Úáz¹1üÍ3àæŽè"ç¯áÙðw‚$›×“iŒã…$…G0g8 â”½?›?%eþ^ƹ‚ÉC&£¼ w> –"šÈ,x™©¡?H…øo]Ú†² þå’™¶øeU¾à¸òfgJ¼Q-Áç2Ðq™Š ÚÊ! ø˜ «Cü‰kŠ‘ëŸ ›fÖÎûóÚ¬Xíxa½(‘¯öĵù÷B ÓäEgøVl¢…àÕ¦“ª6OÒaëÏA –*M`mEgC—ݼóƒ¥Rˆ›Æb8«b/ìK}˜ -µãªÐ7#"¨‰Ùr”_Ή.κgwò’ÇÚÃôÉtž±‡C#f Ç¨WcÑCq©ÚÂ×9ŸªØ~ÇJßvS0Ç'? »´¯¢ø†^ÓÛ=rÿ §}!¯h½ô ’¿LH¹°€è&âʼx.pº|ÝíI%ÍÀú’?üçB2^Æ(ìÚ«ü‘Ò¥ú– ÆŸtÛõf× øy¨Ú»÷e/lãŸC£)±½É*'£M¸®ˆ%ÜDü]”ß.[n8£*3c½iМ-Žã*™”ƒ] ÷ëÁ°yOæÜ.ºžM&•îJ«÷Þ6, µKñà[³º¥›y¢¬]hHÞ“ùì·L»@ åCÊ<ÛÈvFLD¼<Vœò}øu¹}í¤ÿ$i]ŠlÒCÖPZšmnRßΉ¨¸rŒÇ¹ûûùúÚñð<¶û'WÖ\§¢•Ú®° Ý`ÁÔ")ɖΉl¦O±Š[̯E‹-ææfÞýn0…–ý—±s˜¯©­>§®Ÿ6sYîÃg¤ˆDÚwŽ,ÚÊG’*©6}~o"Ž KT‚¿¹×û§;å7k®¼5•°7ª&’Ù³å>Á/ËÞX6›QÑy9ÂOi-ƒŠ&º¨w!E½Â|¸¬pÉ.55uò‚=–žŠ¬@°d5™y;kuÅ_¬!_ ¤«E!xÍC¼=,åå:3N8§3e]ÅèwºPSŒîÐÛ¸n;ÿc¬žswx²<¹u—ï#‚h÷¼ÑÆ8 hF¿lÃIÞÁî=mLt’þÕp+¤'Áü©•—ÖØ’“i'õü@#4EuÌ6[å›§íÜdG¬Ïk¼Hó`ds{„›·’Y£—Fš®Ï"GØŽìˆ}“­üH#ëI`0ýÖ›b5@”¹¦f­î³Hf#¤V‰,ôÍUdì÷–.©¶¬]W*îÛéÌ|sÞnN(`–ÖòhµÄwP—RQÜFÊ0’:vá–ð«…tg ‘ñ¹‰l÷\ XûAòúÃÕ’îô¶5«+Ž}ÁòÇ—Å9JG-pØ×.íù¾5üF¬o¸fƯ#¾ï˶X(4„WAï6›u]gÔ1|J8Õ’³³fØ À=Œ¬*v! ñX±(…@÷¬bdüûÏ–"þ?óÚùôA¨ïÈ !€Âò§ ÅhþØç½MbV¸ÇtkàX½©Ø¿ žj›cŒ+]øìÌz+Œ5R“îwKHd}`û^†¨ß·]˜lËíôJ‰\Ô:ùdËÃFc“ö±E±÷Èà,ˆ@I‰­’¯:ÁB뚨}jÊõXmµøHÆNòÑJ•¢NTfCewÕøƒ«)ÍOôC×ÃÖl)ýË(¸›Aa’~³ZT:N«6ð,¥¢‡UaûÊûèó^mü±î¨cVå•\éxË0ÑIZ¨®ƒú0¥ˆQ»˜þƒ?¶#i§¾qkžÎŠÛ@Ú–*à¡/v“:|ðV[‘µfÌѰÙÊB„Ja‡ '.d¦»üÆaÕ£óbÕ…QV>™¥üúÖúSîF±É€´´³Ò0µYXú5„­JrÒz ³ÕªÛêÕj&£¥FdÝ2\óõDS.D{ÞÕÏPÃùÿüL  ó W¢& Ð±Ž– \Oñ–I‹Lñº…]öì¿ã?DȳæáÔw´—6×Ëúª:¾Ó±m6ã²ÙêY€x3÷›ù›˜ôe’3áx— %[S“WõKOm P$9^Ä79?ØÈa‹j*"†±½éyJ‘F²È!¦3¢†™÷öj ¢H¸éð£XOÀ‰ß—8Cl‹tk?+’®½‰ßÂ…Ñ[\SŒb§49€ñ,9z,‹Q³vÅö£1º¬&uFÆ•‘»žÐ5ÌP¶”OœÈ¤»§Táñlí"Ì^Ë7Ÿ¤‡‡+°“Z“¤EÁÖ DbNNU|07]>ô©|´2ÆŠ)šcý>oªÿå’ÔdŨqªß€^Ê´'âYÿþ›J­ÆBÇXžœ@¥•˜Fz­=g´h¢¥Õl`V ÿÈb¦ž„Qê’Cf;À૪ùlÔ¾ýœ’nþ}Û”Rþ—¦ «@.‘N…+ÖÒá°$¬ ÉÓÚAèÝ„¤¶ÑŠ§æ§½ò†$HBö3–·¬Q35YçT c–Òz|iµ# ¬B@Êš û̇&èßýmBKÛef vf©~}÷ÒëB6&«»š°/ë‡ÞÖÛ5ž¹å齂$OTþªñfßg,~ ´ƒÀ¢æ’ŒíM©>ôn—æ·¹°š§ê zG%+8û0uÒ&¹´¡€sL#IÁó.óf»g1‘;͉øc)4“êÅÐU½pÀáF¼!œ¦ –˜VÃÕL€M¶µÝ¦¤©äÚQ ãwäˆúWJØrN¤æJh$½C?lˆµ”Ç:±e`Þg†tý—À0ŽïŽøSî°Êì™1­¡$mTŽ¥^’ú!»R?o.²wÌ;v Ñ3Ó$–bøë±«¸RºaV+µZ§a‹R#ä²\A)Ëï%FzƒD¾°Ì7軌 ½éMuB©jص\¥Ži&·Ê·éM›Ù-¨Ðs´B£½œB ¬R£Iú \°üA¢ü„GáJìzè€H³ðxKF–û˜ÍPÌ×ÈÜA7° v(µÌ[ ©A Ÿ¢€5¡¤åX±+%9¯“Ô¼aþµûu‹fá¹Tj`yI£[¥Ÿ,Üó3Ûú(Ýz dÈuÝ€ÞÁEX7Ÿ{ŠO‹5ÃÒ>òÁ¥=Ï+³ ­«Òug¿¤ë2¨öxW*kÔ©ÿw›ˆÒ”!Þl>¶0ŽÍ»cø.9¨¬éº¤„°Ö^p“-’·Q È懩Nv4i›–Äâ^O÷ÍæÓ÷Òc—"š†‰‘™ö…G*’¹T¢zGÄ4©Ù´ ®quÓØDtûwßÌ.Š+=³OdwÙÜTDÅDìž$ÅÅïbf‰«080çaòð¬§Ëô;¼¤g¶í¢;Ýf”‘Owå<•QHMc…Oˆ@ŒØF:ÒâÄ‚µa?­ÃþÊZQ5àÌè \–†Š´ÚÄzóŠÄw·˜Úü ÓYÈèÔR B{ z %º@*d¥‚B·¿2À¯\ÕÒ-V=ú—:–S‚®Ù »ø«f¨É{ºIç®a Vý-£ØÄÓn]¬ì­üÙ à"»€Ÿ•Y¶ú†ÙˆK¬®@'{h–€pæ¢`£~*+©ÔÃ'©„T ?¾zÇAúÏ]«žâÚ9ðž‘¢“Ø2€b•§™yþë³açµg&£ 0Tc·^Nd­ˆjGa&×á²ÿÜ)úX!Ð*@„U¢¹ÿ>/öåps“ŒPΫ8-¤ÇV|ÿ ÑŒâðïè¨7ß)÷;~Ñx‰8ÿ¡xÛ)ž … ¡Œ¯c"ïe/O—G Ó­¯ÜjÏE¹ <½‡e’!Ò (±$ò1| ]œ¬7e´Í†Yg˜”íÑ-XìA“ãÔKxÓ„Ô3t/àðqƒ©cäÀõå?ÌÍ^À]d¾²0áM†ÝÚ+ûâ|ñÊ[Þk ˆ²YWÌxÛU°òs#$[”ªM¿ÁƒjCIÞõ4] f\æ×=^*n‚ d7¼òšñy%¿ƒ#â=£2;é ‹ëã•“x¥.O–nðpcüÍ?ÞÒ6®uÁ8…#é©£Á¨Óî<»SÁº‰J®Èú"J¤û´eÊ•,õ[×!EŽ~]2n†A}m‡êLØD»9$ã ‘ÆêLpTw¤æhñÈí‚ímÌ—R̽`*Р±vE´Š{˜¯Ò—Zºˆ¹p0¹Ø-Q×°;4…2ÝárÐY—¦wQ¬Šj-ðš[v¿¥ÓQȈ) Ä\ŒA'pâüÆ”O¿¥R©»è$ˆ\moÒu¤¤$ñ™úŸ"ÌŠj‘ 66ÑR0lˆéÊ„ò~rð„Ÿ9çé«×<]ŽÿàÄc†61÷ÇÝ~ð!hAËôÁNîI¯Ea «EG•¡WåWâÍ)¦ß°ÌÇ*!%ÕŠ+~¬vÄìt‡«â=±ô² oÀ4Dh“¤Ì¼í= È𜌼Ò·fUð:Šÿḛ{(ãd¨xÿ9&ç™!ð#'å,ÊoÞ›íD9%3Û"ÿŒO Êaƒ^¶àvý5ê›#ZI‰<ÍÆ¢Y‹µN¿T'\¦KJ«#ˆŽZå5ÿiƒ³:ó½.¾Y}ŒJ]Ô÷$±¯o+«‰“ î¹ã¿ñœú¼"µpX›9"ô£ÓHÂ78GŽàÑh n^˜ßlÙ(Q†ç"ÏèS¿Ä«5¨Dª'ûr½ê¥²£‰2ýW³µÁ©ž³‡bO+^ß¾”ñ\öýøbvD_œàݪÔ`Sl©j¯ã¨ùïG阙…>·FžN•kê§—‡SØ›f—‘ì¾ZIˆ>6 ÃS^÷²¯•Û8š¢s³©8 ÞZà ¹7 [–eÎ)¸Pøêw­ýí21ʳ̷cy %=uA€ ’þ¼yÏóÄ Ë døå]´£Ï®ÛÀ¦V¤äû$!PC¾í»{¹Ìgb?H?eWÕylÙ~°G}Xcö¿0šÂQ;‡klë€`é¹Ûw#)uSÇP@ÝSš<ÛnôÜ‚ÑælËýÅ÷Jÿ­MÝàò–À—!]ÛôJµxËÈY¹?É>(ƒ«Îç sco”7©ûqâh´^~—d+œ1«dVm!Œ¨é«u*™î†n6 ã…ú;î¨KÅ©°+k¦ÂQëaÆIØ©Þ1U±Ÿ¿Êbð­rdöàON»“#ý`¶¨ûz)HŸxwþ§6«¿þm> D ZÕÖQ›Óp4ðd˜E”“›œ™žK3¦2j¿/oòÞuѦ;ñpÛîèGàÖ–>bl)³©‚ ™Â}·¼{HÏŠŽ—^Ó’Ì*€Þ[Ç… ͨoÛ:)ë¯Á—˰qZ• {”òô®uÎ3¹}¸¸K.yXA¨œÍ–ou³¢3Á¬ŠîåÄÅ·„¯ÀÜ8¸A&ËY‹»,ºqùöm4fK9ÖE˜œÇ™Û¢'»'ÿ_çF—ä–Qô¾8óQíÛ‚ˆg ŒE.Ÿ¦Œsû8¸-¸ ËvÑ‹teã‘WÅЩõŸ.#cæÅlêI#ÍZN*»OÒoÅë0æßa<özžç¤7I“«¯ÇR\íá¢zLz Ãeˆa}Š]ÔˆV¡dœ^Ma…œ¤V Ö¨2R‹šèçfÒЂڔH‰¾ø¯ùðê„ê÷Ë¢g¡àc¼2ŠË|(×ÙñÛR)@±Gݧ¿š­ìY6mÅñóˆUÛ¾°#Ö½è;ÄÎÂ÷€=÷IOSç„9cßµ†Ó˜åžwݯÿ¾y¨FÁ*J/£Hsé¨Ã 6w¬„Z÷ºÀp8‚3ÑÊäÍI,`H†â<üõmëfÐr£š‡ü`\ÿÙwö4"2w°P4w[MJ¶¸FŸšbÖâY†ô¯°œÎÏ%ÏD!^¥ŽGÅ4ÌÁG V E,QÌDÐbMwÛ|+KBf6O¢pm_ã좆<ólº”åßÞ;òhºÜiîá¤>Á¬ûFó^´I3ùí©nuB•Ï‹&G]žVõ„3” 6x«Ï S¯¸ŽÖ‘ѧšMmøÚŠGs£Oħ¡–SãŽâ`à#½úÃ Žš\£ Íʹ¢]~x4(dØ ‚Â.µs‡r~=^ÁEêRb8EˆeÌÃñûžû:&ðò<˜8Œpµ)¾me2’¯éÏÓ8#ÐÃÓ .$J⟲i’Ì—)Ýuæï‘F—Ï,ï/ò\ÅåÍuÚ#vµ¦_ñ=)ó šb\yÈ›û²“ð³ÙÐyC«è¸Ô ¥ªOö»qí1R¹ÉËE¨’‹’‰zô3~vô¼sû ­íuÕÜ·F&û‹`0Ï9mÇõ "PÕ3Pø¡+tO]øßµ<ÊÖ«X :é¼§àPøÊù¹‘TÿEnã©’ÜdR¾Á’WÑXÀ¼½(çÖQäùМ¯»à„~•€ð¡Îé9‘›ÝÖ²c´÷—Y§ð ™Ð÷z<Ý_‘öÔJ£d_´§˜v› S}§&""'D5”ˆ•êr¶ MÅ4Ÿ,¥BªbùêA,úÆxo{_+M;Öò lª’VÇíºòÄ]<)\<1cµKܘÁ_;°ØëU©ikmŸ Zžc R#,»G2ê°ú ÓPŸ ¯è6²à*ì]‡pûmµ¹ø\ Øó~ÕËWoD~,€@RiÕr˜£¸Û²:~fwußÚ´ÜK“|fÇ¿)±¦‚¯ÏeöLc•’Õ¤( °.ä0 ýš?a¸PáÉP°p '{=¥»ÆÇ¦q‚ŒýCœÎîÈÚ1#Kg™ªï[VZXèÝD¶Ö¿:ü[Cð]¤ï+¡z?_ÙdèÛËù-qêùž¼YByÐ?a±;>®m6l‡A¾^å­PmEÝÔWN/µ>Fñ[j ›¬×¤=¡?3ÂÁœ¾ãÏ å݆ţ E÷ÖñåTËOï9‘v&^l,t'8wë;’xσ6·Æ ËÒ–½N™?Aü¤Õð²©4Ç($-qª£‡Ê‡ã™0´&%x|ß¶ º"P1œÄ讪.A«p '}Í(?U°–•Z³Æ£€ñK|8‘ùJOÓÆGO¿x‰÷jÂ+$%A…O0.jýÁr w}ÒÚëÕ¸»ÚoµÂÁúy«´l׸ö”N^ì;†^5Þ¥¹w¢§êd4fµ™¿Ií1œn×0‡x(Øpœö„1ŠOØBœ÷ô⣭9Ù„›™BAÉjýôòÿ&ž e_=È÷’h6H Î|³øÁ‹9XÎþãßesk¡0?b M<«žÁ0 8é|›ieõ®ª¡lÙ¶þÛ±+›†ôÑ\Û€³|?Ný¿Î£ÐÂû‘´f ±5:¬Úµ¦R vó óÂö;ŒâSL#׀߷Dà ,‹g[Ü àfƒ@µ<‚3Õ)•“$®¢Ȥ•Zûeh‘uU‰Ý;³~`Åýª†®…§nŸ+—2wx"öÐS}È St<:½5épJ.^¶N^ü†"*Zë9Á®ùf«åÍ }I”ýžëã¼Mœ²×eÍÝ”òcîç/š€Qú¯5tòŒÄHÿšŽÊÖ_×ð‡F•›¾ÄÀ«Ëd3NÎ9àöZƒxû¿2zŸáaì]ó‘Ï~Y~[IÁYr†:´KŸi|” =›Š/Ž?¦vŸÛ²j [éÊ{Á›‰–Úÿ£\Bjÿîc w|m:°Æ\ÀÐuÕ2î# ^ÍOÅz·бcÚl˜ADÚ*ØeŒC¹m¸I;‰Zû¯xÃÏ‚`ù¼-íµ#máàzÊÆ.\™¼S£¿X›ç‚W‡/éUVŸícòk~êЙ¾¾JQž‘xÄØÞ*~/0‡„Y½ÍJyÂj¯`ͤ ¥ǯð1¾-ÈÀB°+#òÇ$Ô~”É¢•ÊÆö-þã;z†¬øÌLБfÌ+àMÖjÖ0à¼çK"²*LþQ3wóð ÝêMÆßI¥8¯4û¶! ŽkýÅåèF*Ê)ý‚ë9NÁ‚ rɵL sJá³LŒ×æûÓ …Ö}çSì£"ž@{ÄÞH˜@  uêTlÔ„"V>¥ö6†|‘«T xgH{ Ÿ!†Áá ¾©¡ŸÈÛtH{5ù(ùÏ+tÛ²ZqÚ÷ªÜ—Iá%šuÆñ në«6‹Ð[nÀT­°XXˆ!À’˜i©jyë[i iœhèCbo×Íe è0öepçúɯ×û+ñaK£ù£\O°n¬ðļéâß Ó;PIöî6²“¯—²÷µC'mØT=Œ2c<1OldÚŸ7;,èk‘,Õ1O+¹§"ŸÄ©xÁÞ>wûZꄤèK(ñ÷vØE_QiOQ³Üñ( -„ß@‰ ¨â~S¦Ù;9W¼•´\XÀdJ#xÃñ,Ƕeè,?¶‰Âí#”XZþGWޤcKÆ£^îåQ'u%èû·wi'šzØß••UÞ›´¬.Q±“XÚ»¼ #øÃ¼ÜSŸ5YœÁ®*ð’þÄåìÖê„as̲Ã3£AغhÎö¯½ IJsàæ wdMÄ&Œ%"”g`æ_ÚÚÿ!à3÷ô[o î— ÈʹRÍ’粆FµtæáyA]³(‰Ózû!d%G £K«>¯pk4êñe¤> ·Ò sþIv›æñ¡r‘ñYõ÷w5“_röëŠÚÆ ´`>SCÞGó—cŽ]B6’×gÔcèæû ††|QÛ™ÏIoV̵1&MJÚäG W¼š›Þ¯K4€…­áÏÓ}í@5Â!!¦§‰Ô¨g÷:ëU?³WƒëÊ®\[i‡u)Ãe ,ÎF/-7D?SŠMÌÀŠrwèvB8¹RædïC:@ØZïts1zà“ö¶Q"_ÿýÉ à$tî×Ëýãj¤=L޶È Q—|y6Ô¹ºp<7’F2ñ\xº3f=ò€¥¸?h ×Lå‰l<ܹ 5ò}`‹•¼ªVMÁHè#(¨P^û€³Ë2À6§¤{ó\HœÊÞMžÖå‹„Ó÷?.-…ɇlÏ׬lñ”#V£ôkOÕ¬°úó6v2Gˆ"Os=ðý_¼ìIžð¬6ð‡ˆèN«ÏùÒ*rÝ¿±øNC.G$#Go5vv9Q›A á¹ã$·!Òy|–¥ÍG§¸vDì|}S µ_˜xرÕð¬}±ðEFà;uK߇ò*¥³ÂÐïÄÖ±MþÁt•eº«ñ»' éî©I€}:StQ±ÊL÷“Y€z3Ó‹wéùF‘`–Æ(+änÏ3|]îT+`l1?¤hY0?DÏ?¶×1j<×ÐrÇÍž©•† î„ÛNúôÉÎ× çC$Ó¼.& Zê®·«U^¢C±(A¡þÆÄ Ü6Ç/(Ù¡ÐýlùÓ t¬ˆûZç’T1§‹óKíš7*6ÈYñP†¤3R˜¨_›<šzk¤ÈØF$]/µD¦È( ÏU’¦at†«Ô¢±†ÿ2eºñØz6‚ ÍwßR`•±‡×-q E¥+ÑÝ•QúÄ¢¾ö|?ºWˆêØ/°2JL™ãi2œ‡ãXžsXdÐáy˜®“Þácpú¹&Xm·Bdè“õ/¥î4­M[{™S‘¼­t¥F!aøÈý²ß7ƒ#—ÎU^ñc¥"?Ÿð)¿‹uµ›_n«"pû5àڒЗó[8” _¢uª$÷†AJKž6ÅØ…ÄüvÙ6¤â{%S'U ³‰BŽL¤™óz<<Î@sؾ6ávaõ“<\˜ Öò‘üÌ;gH¤èJœn/«»À/É©‡J¢6sJ»^ |–ÿvYT€k‘‰RÃŽä» Ó[Cå7·YÐòxPôgÓ¿­8P‚–ïšz+¦*‰ª¼ 8ªt8#¤ŽÔó¥¥;„ccoU?H@paÅê¬%˜‹è^ÞÑ™ÌooY ÊŸsãÓŽëJ*èô¶n—&ÔŽU‚r€ˆ{f÷M ÷Ô[Ói<¦¹3ž~šsIÔ˜þð×W+ÿZHͰ‡ÓÓîOü•ø¥ÍÎŽ„m­I1Fãže/úL~®hBëƒcê›÷£=™ª–cÒöSKZ¾+ùx\Ž]G×AFGÔË9^¢K#Ô9©a³¶ÅÑ”žG µÀ²>ê ¾±3»IÈ#nn·ìïl¥Ù:…Y*× u8°Å· EÝ-—<Ðx×Eæ+{Ö·ñ†àißÊœÎò£:ÌãÙòL ä[wÏsÔYWT[ŸCZ-á!¨)lÚÄb.$*mtªnãDæÎzës90Hÿ§Ìº:N¦i£\ËÑOœÉÿ‰AŠ­mC×ø‘¢·ž@ä7úÔC…®ö2)„R.)FG»·iEP€ï\G‹žvZlp©fïÜù´ä†¢rí6üûõ¶x3;R÷ݾºÚ@Wß ¡Ôã×u8{Ixñ¹!v¦ËCKð¼®×ý.‹›Ó>8ƒ„ÐÙÒ3ñ}ܰØÞÒXx¥ÐÅ–¾ŸvÀóã=âCYÙqõÔÅ:JÖ ÎÍ7TŠì”‹lëJ~|Ï\13^¸H-s:âs\YǧÇ\!;ó'ŽåÕÀø°2ìæ.UT·uN¾ºÏí.¾ôt¼ˆÙî„5˜¼×ící§¸ s<|0}ƒÏ9¦ˆ±5îE-zÈhŒ¾[„ªòn=5u ¼ðÀD©<ŸÑÕ@ÌÓ•c@‘ƒs©W´ËŽÍvÏW,b‹¬ Yç÷^±&&g"NdÒh¯¶¨)p\‚hʃJrGéƒ]…KSÔJ´n‰´Á©¬€§âçßÂÁ4é]Ý„nµ ‰º0HlÑX-¦ÕM GQbʧÓyõí;üç7k 414;®?ÿ0“3Y£þÓD”ôbö8KÈÁ¬`3-‰$‡:”¿wušq>ï84B­åÈÔ¥ö×aƘ½Nç ʯŠc±fTRšñW®YÎˈ/cªü=r„Ôvž'N>·Y«j÷ÿÁ¡ÑLµ/N‚鵩Ÿ´l2šÔjÃýX¦b®åð¢noÝá_áO»=0G¹ˆk&¾XxµŒÇ¿®<ö{tr†¾[ÔìR{ˆ³·Öä9ycºÖçî×Ô¦]ÓåÑɤôßIV¯yA)DOS9~%k6üûzØõôûƒæKp™Ô«¢ x ÎßÎÄwHh ‡yU£,Z9ICSH\DÙiªôqyƒß`÷€¨!­Ï‘³š!ÒI&‡–h½™]éÿ~( —€)ÐÓ@T5]T<•£ù’ Ш"PUÓ6ª]Ó¨Ô¥lÓçwÙ>bbꢴ uLB¢;ŸÞ×dÐw4Ìo1CQ=#]SûBý‹DnA1d4œN²ëׄ¸O="w)§ÆÈÑ1Prr¿éèeãîûYñ‰„ <)Œå¯`¤_ï‘pâH®}ÇÜ /Óµ«ú§Y…x`~©DònQ ø…Ñ^Bü£Jå½ÅÅæ‚Y'oJveÌgÌ×6ÚhÝxºçüè9už¼Qé_ ï鋪¿3ßäZ%ØZóÊ”^Ð*wÄŒÕb"GÝ£ó0NKn)1èèR·:e§<Ç5¢íŠDè4*ù†IZ;Ü«­ D¥Q½†rÖ¯“¨àYñë0ú{›Gã÷Ó—‹V­e ô-@盜£YÍá‹lî׆—ч6[s©\ÃÉ¢zid³ï~6>lžøØäF‘”ºã'.Š|¶2ëòûÇl9rÓâ˜uè ª=?Åd4nޞћ*[¾Ðœ;⑾rùMl8VÙÙ³âk€B~X𔯣û§½uQ–÷ºC³$(íoÚó4„NT¢j_ÒEÕ°n¦¹c¿ÀÞK¶à7`oÛXÍm¼£wA©Æ¢ªÁÛv J b<³Æ}¶A/ $6͹r çô#‡x‘¥Á¥,“>rô©|Œ”^L'zùJÔqppXìâ–#6EÃÅ9—›$îÄ,(à"‘ŒéÌÑcÎHb×AkçúlÒ±²ŠÛEç¸omœõè=ý6ï{Ü ¦¿uˆ´ã–€ÈÚ'š2‘ú¶ºÅ¶’¬³º5´³ &8µi€ [= WD¾Y9 Æ µ1’€Ùy;Z uÙù8Ÿ³XS­/4Y¿ùüµæ,ÝHœÂíÓÅœ¯²,¹]CßXÇ”×ð˜Ñ_  +!Wí³3+Òþ.wÿð*Ò«ï \ÉâYõ_9·ŠFDûÑüØÅß;ÃXÀøºÃ:XN;ÙJcqތ墽ƒÄvh7¥ßÑAõªÐ·5u©ávUnç™%—‘â\ó; >=lHu¦‹Lqì „^CÅìõ‚VCRïŸVÁ6ÙT8•ExC#2ÿ€ûªÇàz4)+tLÚdw„Âô·=›5y>/þ7ÂjbIO­ ýƒaó±'¨6g鉆½6_× C÷lú¬ýĻޟRŸFÞ‡jlp»š–\%Å‚0ÅŽ”b,˪å…Ço­¼…Lœ­ØÏ)ò–,+}¡·2^9“HâîoOŸ‹%8™TÕ*2YT›t|%¤Ãõ4<1 ÆŸÜ° r…¶oë¶^[ôb\.3ëMs N–g—ûeNJÈDN¼:.HĘ:êÁ—Z[³hÝA4fÐ"!÷Ÿâì™~†Zø6ìšòêàYâ¿1B³¢›Û;þµÝ×÷cNßkþØx¹´·çÿÔ[%r® ]îÒÚ±3”½.î5”[“¸¶dÄÙâY_TH=%¢Â¯–鵋,ìã>÷M.#™ é˲'_Îb8辉>šß¹eÑþpào]"Xƒ{ŸñÑ”1tÜ—íĜѠý‰?ÇÜÎÚ.CKË<™}§áD\Ö ÄËôQÛ= u|c0ì3?IîØs§Ê´6@¸ÇÏC¿ÆK³pÓžúCF–í ©§‚C;ä̳¯0o.­·)Ä\€À—/°f&kBÅ£ #ÁòK;Jÿg–“^¤~“óFý/¬ëÉ6o£ª b®Jä}Ý“¹€iì6Öð„TŠXœUÏÏûΊrš³ñO˜N‰îûñ¿§d ®Q1¿`nS títî8‰× pä*>Ë!.ðþù ^r÷°§HŸ… Ñcƒ ZÞ§ }‡w˜Éª((ÿ,¦¯SfñØDLl² =3<7l=½2ý¶ÖŽòïÃ6QËÿµÍ¨–å&Ð[ Utõ´<ŸÖ'&À,Ô„E‰Û€߯LÏZË3Ùíòh×­€¤!F{ÏØ®‡:Ò=,cš¼)†RQÐÙ‚á¯#¨7‰ 6Ï¿V@ÈG̸î¦rV˜QLºgìçmJçÝ`š_8]æ¦ó¹á¤'øèŽÿÕö  ‡»£ã¢ùúË…Gi¯wö„˜)H{¾ï@‰÷¥ggÇÐH*QÞZOLž>ñÐÍÎ=0nâÐÍ«MÀù-ã°Þ-ëi߀YÏEŒó%ú;5Þ¨ÏVÇÜCñÆòïÊ'igIÈtáJÌ0æ¯c˜9?6Z«RÍŸŒäF_2Š—æÑðqÔÑx°I hW,Ãõi¸UÞZå´ÂLQ0;¸ÑbºiôU<0„gãgí»$zØâa\Ôœw¾ôd98EélT¿²¾fü—‹_¡óaU®òp÷ðœ%NJ±ÑtfØ"ˆQäƒ]E&5£!'ïY!,-»Ðlž³ðÕ*´¯‘¨zæÿðýFÆX•ÎÄzc¥Ÿ&œnhw´êíÔ) vb&^³sp+ü÷Ñ6M|URÁÙº~·ðsÆx®-Õà ݳu<ïQ¬×Nü8KVE»ªå×Ày=ýÌH´y`zgµl’ˆI¹…=ޱaÙ{*!9†U+ôº~–"`ë³SöÒPÂjÅE°»0^F»=ÿ¸‘7ðXŒfñ­´±:W)ï˜ã:â×È['‚W«q[aߪ²&ª–SDÀ »²¹5­O¾p^»æÐ_™X/Êv|²›ñ(xS_]¦@Õ”Èå"¯õñt9¯-hæ/ø85 ˜—t¢Q­Ät„w ¡|)߯9fÇn†>QÌq— IÕ(¦ðØ\8Žñ°Y•4%Ý&ÛÍ5ÝÅêGP4ùyãµz,¦²n¤êôÈî?t ,ìC~+퟇ìm>H#_ݪŒPšÀ|ä¬ELÜSà–ÄÐ8_i?œý*¯çHÔ\ÞãUÈÒä·Jë’>”­ˆe)úÏ€¤M+ ™nb hœr.Ò6Á:‡(¡Óä'Â<÷rÒ¬h¥2øº}ù$S] æ‘†üœ–~Ì™Ä C-ùo‚ÆDAl<:ム"¦;²§‹Bí™ÜGr¬ÄÎÙ"é³"e ü&Hµƒâ¯̀츉oržÔ°º¡êeÚfeŠ#w«ó€Ti>à0ß‘&µ -ñÒucR•È>V˜ä ÕµXp`0H}oOAgä"w]{¡ˆ 2õÑFœƒ3nÜ¢F–|È"ùÁ b±µäm+ ™×íE ]÷NlozTY2ê$~©N¶46‘›bç3å-r’K]>¼\mLÑWÝѺef·ê(ç7‡ÚÉDá¯cƒÜǤ·»ƒ’Ê©›ûU2ñ­™ÄsÓ*0TĨAV ‘@êlz€÷Ëéä•#»Uê|\JiîC"a¼š žÄËclð0½~ÁÆŠÔIaíÑáPzð³&Ì~Ôš/.€‚ÞäC¤nè»0óìiåT‹_~˜S¾úà½ò… ô¸NÀ4þFu„€^!;T’Q¡§ËðM7•»ië5ôõ)k¼ ÑM~éÄfG„uûüë™®·@ÊÒ“pµ Oá•g¬æ(xÀËÒ8 vükXŒ¤¯4,.PÏÌ£šÌÌpÌÅbìùU¯…Bsºð­xäq‘Ä6}ð[Õ!À3u¢þ4‹íþ.Dû JB×3›ÃOeu¿+ÀÔ¯½Envðq°¨s­|PMûMœ%Û¯/pW0Çœ¢àQp¿«ä[*|ý+ÏÀuÚÌž¥P%}QÞÜŒPhÚþ»±7¥)CŠ=Ìw/O‹Üÿ«õ[ÃRß.i¬b^“X‹í¹_žYËN×ά"€áwm¹^ %’ Æ÷‰¦Håw7––Œ–¼[—Åù¬˜4Yn¶}¸V.V”&4œÞ©b«_¦Ð‰êhK+\ûû#Å™ÿG‘žüY1õm´ ¸bòåGº¢ÔüÐÀS@Q~ºÿ ãZÎÕ„I³_ hƹ39ØÏ@n—ÑH¸ñ§‘_S¢Þ þ6wáä5Í­³‚hüXð3·¬yéøéÍf0XwLÒ×W±xuB‘ØPBJ‘_0É,×r÷¼xÕ Õ)®ú¾ ”‚ÏÑrøo~ßÏ|E Eý³aÛ:ŸÔrkç•«ÈpûµD0•t¬|ʪÿ$s¹ÇïÝÜŽ^õÎZgW—$õEí…‚¬‹û»õEÑ÷…ä_è®SØž»—Ü—-Ýì[lWkK‹Áña¦T«¤—»Ø*#ð¨ºHߺô‘³Ç Ȃ˞7<_”­µ%óò7eðwó꽿0môÁî>FhQÛf¬ñóe½«ï2؆EÐ$\¼ŸxÎ0ÂiÃí´+ƒŠp¯íK=¼I×£à|@h€Š›l8×£eî²á7Uy l®H¸o®H·Ygµý:(²y:ËÀ¦–-é©d‹\o¥Ð=z¾ì°C"%ŽqÔqý*`qPƒ¡:ÃçÞñqnb¤Žþk5KVzwÉãgŸX€¬§¢¹JíSaàôp8qŒìîô‰ârª“ø×_îÇ$+2£*æîŸjdfMÇíŸqC`FéK¡ &žÏZŠ3"~V Óë"yRåù*œÀJ4q™±…Ôå‡Ühú¢×òj£ÆW€hÆ<3ä£cº´T›á'„æÒ›Ô¦“ñà×1†Ÿ ‚‰þ6 w,˜—\Èë·Bw7iH ¡ƒ¬†MŽäšžò9NM6U)TÜòŒ Ì[<“¬Þ©UZ¨HE†T?•â`@5”pIî, Úƒ^cöj¿ò`` v<-êF7ãày‚–3 ø÷«ý SsÙ*¢Ø—ÓÛ¼Éù†â2ÔªÏgD%}V[ŽÊ¨”¾´p"y¸Xœ@õ¼qgôö Í¥"¨ÔžÄýÕÃäî}%ñr,7Ø–3™Ý'5ЄO¤£* ¦4y˜\ªÒ,? Y1cº·äò_Ôž~Ão¨0…é«ÅÙ‚çæjÖàÄl"·O“#Ü™B:d—o]Ý87µA–šŠHBó^yõÀàÖHàrÙ[ù•mÏÕ*¼Ž8U9<¸FYyúЛ÷ÄÓ|‰a ⼺ž|×>A×ùŸek*Ú%!vmGÓígy)è){½OÙy9ZÕ¤’¯å=J–¿Ž] ‹Z2ªbjº€tÍ—kZÂc@6bü|iÑ9DXˆËRýQþþš)š`œÓ=„}Ñ¥.ñCn×4eðŒõ=Î@.½Õ1À:Ïó8½\ Uúf²œu¾Úôá/,ý.ñµ«ÛðI .fÛ÷C+ÇÑ_ntvxî«¥dö¶mÂ÷ºGÓ^‡X¦ÃLP—ói¥.úÏNL…üÓ àOÒC’>…è‡Í®–{ØEgçvdƒ ¨”z¾òR˜²á_̬°@7ã`–ˆ'Ù­Eü”$•0ÜÏ êÆ=£ãø&ª¬ÍÃ#ß-˜öå Î5léSã|Tf¸õÝÇô6Wn¾Uc ûo\EúMB>”Þ4täf梙®Èô+ý<(˱Ԣ}º:3P’tòa«pr¹í%½½=ÿi xb Ê’|ÚAm>sÍ*RÔ×Ë¢”`û»c¶ÀG.ClJ öG¼ûj<¤©uö^ÅMžõ³XÉr%6¸þFà‰%MîMÄ©$Êâ. i‰±©•PØ®k¹»‰öYe\½ wNC‚šeØå[âöÇÏÜ3>9#·[œI¦ÉÏs`³åËD¥<ÄàhvÕÖGŠ í{äÑzn«×®^»hvõËFûhÕÊ[Dã‡7_!ñ¦6RRH ¤'sbÖHÂÙÛ·t¢©­5{"Ô+ÇЗ}}1B‚ÌAÚåXÜ_RX I®#NW¾Ìòœô£Yµ*@ÚcºmðŒ7–)Vd!VcÌc¡ ÁA}d[ÑCY[Æ"õM 'Ûiõ=QT$_œ¸rÞJKñB(>ÓÐß*0Ä7 ¤CÙTÓ×Åíð©5¶±ÉGÌ'¡Ë%üæþã­(wZ3µcÓ%ë³ë>7vas(mf‚%‰,jÆósg™ÜPœ[Fh.çtn! iET#ذ)ÕT·Eó„EÆ÷ÛDž§hÏeϵë±{ «ÄÔÈÜÐ7r¬2O±c({Å”\ñéRýÈ%q×uN"Ú‘þtç‡ÍÖÐyVk¿Ì½=Ûºº´aÆLA±)·jj‘Wt“‘`Ù”~'ÞRÚø˜lŽzl}¹V÷ÖêŸÈÏ5³ªgB!›Þrï¢ÏÒ£;Ým8sŒÆÂÒ†`Ä ¶u<ßôw±MHôm_—g³ ’MozR 0¤Vˆ-² B×­4–ž¨ïQ®Öw‡öÏ’â-¦Ó½ÿb»R‡VùŠDþ·ŸÎ™{¸ÿ¬&úgéx¢ #4ÓäR?X²þ+‡TÝkù¸AAMªkEy7P¤¿=êÏEPág2ËmX¿©õoN,Têù•ârª·T .^uЪ#‡èüàꈌ2åû„1jD¤ÿÝ\]@.5»Í)½=ÒÉщçØ*üa3zz$_¿Ìæ©O¾"\~vÍþEfp,—7£~&Ô¬€Y?Íâ.d–Fz°¼lA¾GP,Ó(ÿ&?[„øéÍ–QZBms¿‘îÊí©‚Eçz­òÑ)µƒZå‘¶ ´á¶~Lai?)D=\ur{‘ªeERÒ)ï"ðTà ßá.ðLþ¥÷P«®0k×"íy«Šß:Ä6d 2Å_C—ôʼnÂ7É,Ùm"ûï¯÷hË A†¿ºªÓÕCt•›"{»Ú=-äk×Êc_éu¨¥=Äæœ*¦ Jâ ÈQCG´"Ù³QŠ‚¬Š­c.v´$Œ¥oš†ÝßxM„¥jSeö¦)虸ÕKñw{\1}V"Ù–psQî”ãÂn€lc¢!ƒ°[_ ‚s!©Ç(2™ Ýx±ï¨*ìÓ[6ÎFó)†äÔ1i(VãÍcŒO¤F¿4²ŽCŒ¿ñž4ˉÝÜ-ú­Fu27}ïÈ>ù†»eMPxŸ.OdX4]4¼ÁgC Db-… —ùq!b²/q©¸s§8ßÍ ùC±‚à“#škEIµ7ÈoíEqFÐtC‡*åéÝy¹ ˆäAˆŸUÔ©F~à•ã ô7¿›!ÈhÏ`œ@]Ú€zZýüÕ±@BXgJLÊ]7ÉŸ5PŒ<5-†ªf·L§ÃI˜]â/‡D#ø6Ž<ÇÆ˜¿…¼ÁþôÙxŸÝ>¿ a XMã{'J°Q=qd!1 ý<ÛšÔlñb÷@ÏÌ'øj¿í“ >ÏÞ;q k½Ôvy2[c‡CÒA¹¦ªÌrPüµsý­€DïÝŒî3NƒoV²ÍֵÌôOôÞÏ9–ß±ä®Ê4”~w3ž©òå·ÔŽóíÓùØËC,uÆØ7Öx*«µŠ†!µ#s‹"]Œ‰ D¤Qåñð¾'—½‹ ©Ún’êßM•g"«•=¢8-Ø‚óâã@σ"\¢#¡—Ÿ:^…Ñ¿×ó7Žª­_Öþ¯£÷ï5ZeßXX¼ Þ =‰¤È‰Î”P•Óž)» 8ŸŠ?1Œ¶`¾Àˆ[œÄHk A쵯S­@*tŸ3´p÷öûMm¼’/¦e± 6æ©™7x‡Õe&'û õtZàïzΰzç|…ð¬–BEã0ÿ³üpŸ*~lv€ ØÉ¤"Bùþ>éÜñžê¯Éýé?ÿ;ãÄ ÑK'­&ñ:‚AÂ%j¥ i°û{'í\(Ò§¦ùÝ3J¤ÎôveÕñÞÞ ƒ3Š•b¬½9DâGÄè-î°°¢¡8=* shêv±²ã85Ÿ}%-³¢ý§e;T”±BJZº9|¨pE$P<˜Z_“ËE"Îí¬ÇDƒi¾Í‚û fFìÈP¹~|Ã.–4¬^šdK±ëy¬^Œud ß}tU3üÓÔrDuŽÑ‰kŤ_ÄúÃÛ5úñë·*Û˜y€:ø‰­ÀþÙÜ•x-^}?¯ó›œ/š7r*&EöurσÒÑ΂´4w<1?¦…YÐÁ:wÔšú´ÃĪf]„“x”šS¶üm:&99.—Ó¿ð½¾o×vk&d~)0¶îBl¹ø]Ñ^XA[‰5(÷åtyi‡j#ò«20JãÞ ú·@N¹\ðÕ}L•Ît­£t¸da0b\Üa­vSc jn=Ê÷D8 ÷YáR+ÁúüÛ'Q]J”€åˆÏ!;á'TÐ)ß³p¼¼DësÐáy\ß.u\‰ÔÇ4±â~Ç’›Ý6~˜“:!ùA&AÀeêEçuD 5K±8²`@ l‚¤¹–˜'—ÄV“`·V>$¡÷Ã!Ž4O P~É\m8sàQ>¥½øÇÆkftgw7]R›†`±À5Þ­¯ù"ƒ˶ ^¾%›•ë&ÐÑêþco6Owõ\Oœ“?)B®>z£*ª<ñ9E$AÈKÔ­ƒÁLõ>ñƒñt¡›lVTiô7d&xrÒÂŽ,uŸŠ«2d°”lƒã@k@®µÅ™Å§’JÆÈSËÜ=OÕ¯÷Aœýq>dêVZÓE]µ±îð°C 7ˆ_fó’‡7ºm¯iö³aj…Þ®#ë]<™ð%Ì›ã¤jâÑ¡ÚÕXyŒ/aÇÇ –&ó³ôò =95‹Ì¡7àÜgÒ¤FÎîfÞìDÏ¿ªøù‡q¡?D¿”¶4æ1±»Xeðn :rz©õœ|ï³ÏÉ>¥Æ_ãÒíóþA}ÕÔ‚B` !˜p‘Å5t³!q®¤ÕssKtùk~l·±©YÑIK5"iÌê‹}¤3zfbÚ‡m<÷)øRué¼i%³šë™ÀùÎ'ªYN•E<ލGXÈ´Ò4W×p2¯;‡Øºð2šosע±ßdÄc$*QvgJ¦¥êö ‰™gÄ/ôzÍÆ “ïŠæ7=syˆ´ÜèÀŽÙúz!æÚ?2´ô× ƒò†èqÆîô*mÐIİه×bT3„ôÝdÆ•—X¢ ãÜîîš]#£?òxêåÞ}â0Uoþ¡EµU©Z`óIóIgVÅK^°/=µÃƒÚïb——éà»iÒºC%¯š&ÕÝù‰X+š }öƒ‰h@;Á¥17×->‹BV•l믲ř(we¢=¼õò hWs å‰aMôÖõ”–˜Øܽ¨"ïõfeo=ȉã.¯„ÿJÃB'R|sXû™Õ Âô$Àîø—2C—C=í÷k@Ë%YàÚ…ó€Á-%km'§:,™Vv½‰õ¼ê!n§é3µ Ö±Â®“AHƒy¯Wpx¯1³qˆ÷¾ÀŸîåÑé#žªwU2…úéª~5ºþÕ—>b´JÄÃŒ¤þš[A÷üÆ M®F™D=ÆlN1/XŸd¥ÌÝÒæ€yá °”ȯ(+ɦtp+D !41†ßɽ„6}_W%»—Îïˆÿêé\‚CM:BC:¸0/'€ê¬Bg^§;/ ÅÓº¦O_¾rÚÓe(t5<ŒU^_Ÿ>¡÷²€ô-[yx‚· Ôl™!¡9Õr4ÞBé»*?i¯m ÿœ!…ºRstQvÚac¢Ñ:Ò£Xä~ ':mÂ,›?Ø®Äl‡ Æm·!'8Lè#ðkHr^mà^¸5>º,`%ï3•‚ü_¸CÐðüG<4ÖŽ+q)ÁZ-ùóãEàÍ{Þ‹6ª@ã {ÉÕ¹\1óƒO Û’’æÂLÑù΢қœ5þ"þÑ[E6åj…wáÃí¨¼µV‚‚ Ó3¬™ÄôW6!óÃÿ‡ef07`×—ü­ÁÌý|ѽ /lýFÃÂRKªùY£pW 3U5˜óíþE¡Q 7mwä¼¼ëg„ã- )ø…ìUÕ2sõê½\?K+Iç6³æÍòávÒ¯î Ù%ضÌw|KZ´Ý”†¸, ÑGȼ›«°áŒ§âfŠc\¹YÙtß½Î, µÓúÎ=„gíAºó<–°eE6Uåiê>iZ¢ŸÌÜ!iyØ_ãÇ—s@ùÝ5GôoñcW|[S¼ÅIôXÿÈœ#[ñ|&‰É¢Úi„£I1ÛB’FéO:jF²¯”º¼ "êloŠP¾Ë”0gZ ÜŒUÑ‘®h>éžá`²iž^­Kpþ¯åÃ"raEƨ‹6+‚‰w{ËgA…rhø›ÛˆŸ¿¶¯@½!MU ½úè§'Lqe&j¨Ñ~€¨K™]5¦JX‚JB˜‡©yð@Ñú?l½VV¥e´_ 1:®cáæyb#TMÿ §F£¡ 81â¬Xö®'½bHW™_ æ3G4Õ‹¡é=á•ÿ.©ežs%$÷`Ù”.R™~™žØv¯¬“Ô1¢%†ß וapoÈqR"|ެ²t…U©•Ó_\i-áäY|Y&Dé.Ÿü„›òJbÞU#Aý¶Ó³º¹¥â:ÙH9z²†Ÿ¾äcÔƒ²²ßpÜtl1Fo›Ò’ñ¸d`§Ì©š\áUŠ1›Þ™& ¥dv|ó£¢k;î>Ùå!ùò¤ 8W“5Î#°hê²2ˆ.(Zàº4ÛóSíãh}“4Ùf&R=N&£P «ôe§žd°!íꈵä&™¼qh‰A»9‰6èn`ˆiìŒ;4´ÑKà—V_Œ‡qWXK ƒ˜?¢µhûBìŸW§{ñ—±‡ríG· ›JÛÚ1}ZUxVžš»4ÆÈQÉ“#9–Ä8À“ç2컊ž­ˆðcZlò¿ywŠF"ž¢v’À.ß0ºã éò¤Ç™áá\ô8%§?Ø%|΋;E,ÀÏùfhÖl*+Eá Ã9\*˜Ì-Vš¦ŠÝ†vò÷¬Ñlâ#lóOb©d‚Qae5öRÖ@nf@`Ò l2Ÿ™J!‘˜Ïj²ÀQÎ}×üÌ¥Ô h2†±fšìlQkP²ñ½ü:1¬XVÌMã„ÿ½&xÿûµ5¤ÿëø<ʶ;„+ês¬ýxóÖÓ;Io gÿÎÇ»ØåœK§0¢ÇuD]ÜuªÛ¨e•EÜÄÊÀ Õ†ë³ ÿ·‹kHálO“sê™x?瀤Ȫù<­v<~ô;×W¡!êÒÈéâš6ê*ÎêV¡šÇ@nDULǯMš¿EÄPlþ/)`(|뜱gØ`rÓ©ò…ͤÝ?ìÇ:g‘ù˜ Òv¡Ù8Oa˜áÈb¹'*&C ¢m¡Ë£2Ð÷‰ÑDâ}Û)òɵ®ð[€%2òŠ|ÔXx±<™mN¨ tOèü3¸=¢û©?“–ñ¢´Œäa8Óšd’úê3:ÍUòŽüg{Š"¨)Ӫƅ>a&Ip^¡ƒYéÕÓ°Ö_ÚÇ­²‘Äj —₤Wvu{è§™ƒÌ j-KK&ÞÊFJaT\{u¯)iUˆÅKå«Õ̸®M½fþšdEÆì?zÏ|á'  pTןHTöIç˜YßÅÍì¸Ã·>ÐüN£ :Dðßü_ÓCœñ¶¤þ9DÍR7büòÆ“ “6ö çôºÜ{¨ìqtŸ””Tû×t¯¦Ÿ\0øÅŠ­¹O dD°ùlšŽ7]`Ĉˆ œ‹¸D†ÊT‡Û1äoÄúHÜ M—Ïù<5¿¿›1U˜ä³7Ka¾/ušçÑ•émã*Ç‚çç)_ÄÅñܦ:pns  b}3¨ºû±• Q8Ò‹ÁåM½€EHå¥ $)såÃ[E ÂGâÍ,¾Š¤c†¢ã4_Çg8‡-2NuZ¨Äë[$ÚøpéjàÉESÁióˆîÓ{ŒØgèüX_¯Ÿâüjžj͸¹»‚:èƒxÚ†ſt˹Á‚y|‰eƒžúÃÌ?áE\Â? ÕªžÜæ¯iJó«àc\ga¿@zP-HÔ[qþaŸdvV´ýyþsì¨N_ñ­uû›èýf—ʤ ü3ÔL|ÇFA#1ÅT™à½Ô©VàÆPQû~ŠÂïU–?X‡™T5#‰³4³ÿ„³›3£_§!ÇæSÉbh½^Õ ròÍ¡©8@»’•J{âÉkÇýµt˜m3Iw™'fó }~´g—O‚…ÀâøEb5™?„èCÿ®´¢¹5”›—¨ëUP§ì$czIøš 7½'JzjÂ($PÔ†T§Eçú »ïD¢-†+U/oø……Z¼Úm„2Ø$rþ¸‹Ï´NyƆµF+ÆÿÍÖÙìÖž|·;êïD¦ÂáÿnÌÍD]õ3b›O©ÝPbëœv—×÷µ‚É®Ù/A‹ÿÍœf%ïØ¿EÞ¡ßqÊÖÁuá%(¶_mƒõ ™KÑÕƒ»Z!öÚ´Øv.¯ð*Ôî0n­¹2Тm¢…#Qê€ÏIR© t3ŸxH¹ð”Jñ¦p¸'•¨ÅGõÑŒ®\&md)•u('ƒÜËù ªÛžÈL÷Øåg»©¹ƒ]t¡ø[IaÐ.ÌÏt%Zoú¢ ¥ï5´÷oG]MŒ"’n`± Âë•:O¥ÅQ$#d»æÖç1u¨Šfjáúí³?=ò5#ÎgÕâôrŒëTÌ1#-±îâ%õ„jòê—dt½‡ñ¬s¢éà:åz®r™ïi­ö¹fü0‰:w—ú é~ǵåãH¯Y8?‹¹´=g2l±.Ç7döÆî“ñÈ98ÚôO"líz8Ï{ ÇQ\QÒ4¿lÆ“Ã/É“3c'³ÏŽfÄi{Xø1¢€µ$3:]ʨ#, üM Ù¬›IäUûçe%H9òöÝHJû¶g!ÆŸéø›Š*gôs«}ÈCº.n$Ò Ns¡gHžÂ3?."}±Ë–;¥£#× â×è,;k¦k1÷F²Õ!å÷lªûZbÉpghÅä~ð„ã+žlà¡Å˜¹S5>§£&ø^# xÏ«SWÉbÿõ ®OŸévdDŽpvñ·éÀ§Úšÿ©mbd.FU,°¼a«|9)©:àR‘¦Ñ§æL±Õ퀠äW l_’Œ-Ņ̃€GÜTt)âßorì¤ ´ë“çèFìß‚QJR ¹üT–ì…°Ú3äA°PǬhÞÈÚ6nij€kÔŠMßF(sqïæïxd-ö³.)u=Ê;ÜÁ³ÔöHØë¾ûÜA#Âa~äëöõH3ºÒ3 ޹µM=wSMåúÆèo}˜±/ïi>íÅ™vWDVœˆÃŸ#”8 ,xt+—ËÕÝëÐqP¿Ù°*‘Ožb3Éó¡¾´W’ º•Š›5Õ“ð¯"–2›ã ê0zþùÄkÏLâ8owË0O šÀ‡Öµ,;3š+K‹@2Gyû„Äu«¨Õ¸@pèàRÃG•t›ð“ít l«%H‡éyÛ °- 6W{Îøˆ•ó4×+‚wªúHˆ=Áµh~–X õàŒ'ðÒŽR,Cª~Ë{äÎì‹Eâ´´$*€UÏ‘ec ÷\Ç<®T2SãN‘& 7át­†c²ñ¯vìöx¦U¢å’©®‚$öÚ`6ÉGX܃î×î^†j£üäøõîœÔŠb¹»k–ÕÀ.À»p2)lÚ->V²%®KÉ ±ä¯=P xØÞϙʠê+ßB¹dË—gá †«^t°7E\¸Š\Xy¬.LˆejïÚ•É3àsq †0i÷6$íÛ¢çvc„«xYrÿܘ†«;’'^üÒKco5[]NˆÛp‚Y¶\V2 :ˆB'ø#2õß<Ôý¦CÎÞm^¿¤`¼¹q-’å—jð”ÿœ† ȵ¸ðYl\A ÉF*òL홳 Ò˜'.GêiqY×Àß-Í•U­—Ûïèsésþ_ÈU¶I‡Ý”`áhLo?«@˜YäàMÓ ‚«×­é𶳿¢-iÿ7L¬[²|æU³é~—ÎJ|r ¢_ûyÊìRmËÕ9^ÌLoåùÈȦ',¦Ge¾ ç·î¹´2}ïBÝÁ>ŸJ‚Ç÷4K] \üHîî…8Ù yZð±.ŠPÿäÃYóy# '2Ã\†!aÁ«;-Sv×Ùª¯¸(¨ÕÔ:a×_¸·+#«4Ú6ޝÞÓŒ™.¾Œ4{öf4Z kƒeº sæø¤ã©­˜n¿ÛÎ5”†Ðw7D¤ßZLmVÊ-”$Þ÷~DÈÀ~ªŠŸ˜¼>~μÅh÷ `u"ìÅ1Ea~ ÚHîÁ9æï¹³Fýu u»Ðçi¶Û±;> [m_¤-´[ÉÚvt8’ˆ…«€ŒØw¹šêRËéÃáæÇ¶êŸ”¡¨)݆+`ÚÚù°µ%$ÊlËzfG†eïÉÄ*u~š í”sNEzú1¬Öþ‹Ôl¤¹CÌŠHS¾’°Q-É£¯ô.?ê†à«(ìZå¡ÓÔšw˜˜ãHöØàï>K.ylÐëñb9ÝÕˆ¬fØÜˆ_~ózÅÉ&ÍV¹ÕÉ/6¦ tà:0‡ˆi y¦•v`Tÿ¿U¹ü¶AÒ9öx„m‚EÒ ²Ñ3ÿÍ¡9êN¿c^ç1,¦þ×|¹Ô­|KÈ#Œ)npXK§@øU~…}”ÝHœ»Q˜£D‚¹‰çµ–Ï&‘â­ÁTtD¯ùO!·Ç<  šÚýÒ9÷ïù…J >%±ïm.2ø‹…ÆÅ¡«¹DðWÛÍb;–: Ù;(©0Ÿ¶RÞˆ”T 2„ XaS/¡Ü4ædää{hidᢴԺÏf“è>éa1OTË‘þ¾œvò+r×Vv6YUg '‚ §M© ¨DÊOjýxŸÀA§<ÜXä¡À€ž…Ú 2rîŽUSð•tý|D0‹ó¸01µÏ›z4æùïh?`Ä5I`tت#n µGsi3å6øø’Õšúms±ŽÆ6¢ûó]&¾Æ5gÁŒ. ~ýúcdzàÈàºtNºÜÜûØÂ]˜b°¥ëN+á,nå°„¸©ØúK¼Œùc´¢ i›à»ˆÎ§ºʨqÅøóÊï­~‹ŽÏ4 À³hÔD:ZÂ&ÂÙS™ýØÞ½©b)¸D'åÂîØÚ´ Yb{白9×-Ñf‹…÷„G½”âÁ 1ò˜hØ·rqò‘Ä+êä ,Ís&޹) d(®¡ ?—}³¿M¯ÎõÝÍxÄÍÔ¦—³kðࣴ8S_Ãl™°HçlÑäR5l‰ÁÄM²-‰¥¢PŠÉ^ŽKÙ3[m}´y;ûà)B°® ÑKX÷T2½ÖåK!"/¸ñzeÄ*¿ÀSBÐôãývn°œ•ü‘•aÊ#CÒÛý ލèl;vÜwúpœ hœ@çoMƒdH°îþµ-…cQ¢¸À¢ÅÖx}`g»škù*^©Ô1Ö>XŠm•=I¨&Zϵ?fÃQIaªþ—²nKÁÐáµkð6µiã"D·ÏƒÐcÿKž& yúë *^±{š£jSo…ª¢ùðo«aïÚvé»V‰Z\ð±Ê¦ $ÏJÏÐÛb·ÜÍê}ç?Å8_6}¸F¦<3”IaÞ2càvÄf§pë– %ox0ZMK™÷ÊÛÅó¬¼7IF8µ³ ‡>ÔÅÊɆp~^ÕšsrŒ©Ø*R¡t‡`;vÅ\ç€Ý{$ê²kmð.¸}?dýt,söüBˆqwjýä,Î¥´†rý@w‹3aÎÔ[ì¾Oìs§†/êSέfÙ¸hF áô%¶|nêßtJÌŽ_1§º} Õ úøœ(}’&»!{êRC€^>â¯ðàù¥´½®ýhâÙ™¦ðLso$×Ãî^°­Ý×.«8ÁšÈÙŒ…²:¾^!ì¡Zm8ȶz½JXãíÔ+zQ*›ßƾdú9#JS@Š8SÐ{,e*h7¡ÅáÁž&¤÷=¤e Ú:§ÚÕNŠ=Õ’Ò…€_±±¬J¨0©dÿž&Þ^âoÎ’sx(b¬Æ(ÁŠtj+f5Òêïsn̶ñX¹<Îfx®Ó °j‚çRt¹¹À¡ÛB“úÞØúž¦ÄKO¥¶Ä ÙØ3~f]î; ¶ É’œêBrÉ]&À¹‰«}q}™tžðzÏY®æ-|åÇ•r^Á¨B ¦»žwv¾f=ÿÌ5=XÛÜz €è ÇW†)S ‰>®Tå\ èD3n[¬©ó°½®"Cа†4å¹Áï t¬‘˜Õ€§ôïÈå·ÙWλDZ"KÀ-q³Îçz‚jÄZIèÇ2‘ÓvÚÜKڗѰÈ0‹~!ÂønÙ)¾CÎÔAàãcÄû7cfƒÓZâ0­žçXæC”œ…­0-à¡T§˜÷­_”$P«V¯0êLÂÒ 2¸[úbK\Û_íÚžEs°è?%$õ[û)!yKN›$6/3™†àQåIF©Y$ìâY Yg¶‰åäf¨RhlÞXÒnö•ö³êèð5´gä@ˆ‚Ñ|D˜…WÝ‹x–O TM]Ãuæ—ôKYî×Y®x‰Ág¾V†ÎçNT&Yç°kµ#I#îaµÚ¼ÉñìHðð—þ’ùŠ^G´úAÈ"›€kÊm)ó[‚±DÃJÛ¡¦]œý¬,³ü‹µÁxƒä¶4ÃôÕÆ€Ù[™*ºè|bœ¯N¦Ÿê¢@º|wàõJÁˆŽÂƒÐX¶9©,¯ê$Îývĉ‹¦“¿°uš¬õ,>“)F"ë{{ûpÊä.jË<ñÌŸ«¯}óM¼n¹õGº_E®xfÎbh¿ü~Œlñ«)íRú°a¥ßó8ØŽÂåó¶ü“Ú_NÇ[Y02dõØØX±„(5Y¨/7 =i|±C~Bù–¯$ ýëPy÷<:òx2!MèMMSÍN;ûÛɪ;@"b…? u5ã´è^ „ªwÖŽXqŽ8[óÖ,W³â6·H9\bcú« öÏyEG¸¯ÝÙ8³V¶œèø³®ÞZ:™5RÒÔ¼/ÎöŒ 9ìSfO¼6½Õ¯ .Á6"æ×(½F06=püTÎñ‰r(Çf å{b]ÂΫçX´á{‡òÄ 0­%Xާ±|»ãõ¡ªKƒ‚·Ð’—– XÜpt\â¿’CÎ"»°¸ñßlÝ€¾Õ–€¨R›Ðª È”çS†Šákg­›ÂØ”€êD0¨®A,äk2 Ñ©hã秘 >ÎМ(îåИRâY|¢£¢S,ROݬ@CŒ|ÞÐç£Pé=³oëL¢vS“`ÓÊ1ÖJâsÈfÃô˺àÛ ÝçÅÂYÎÚ¢„lxÜCc>(\ö‹Þ‰’þÚ‚d –7šNtù9Cf”ü-Õ-¸GdËÑ {ñËØ=~0V/øB¹ú†¯Œ¥RYC¿zYv~ÈÁ°¾Ù6ãN듊ØN“I•Ï ;yð}—1kâKNÞ[DÁ)üŽ]˜‚­.ó›¶nÀÿj^\¶IÛÈqüìôå!‹%ƒ¼ô’Íeƹœ¤Á-CzJÚX…D!É®ò$Ä Œùâ„‘j·2æôH¿…´NÇÆ¡sX1uNSãßÀæz‰Y—‰‡¼¼°t!òºŠëllGeá<3Æë/jór¼ÆKyÏ1C}oöÞøwãt JóCäZL‹nŒU’ƒtu—E`Úg“Θxò»še7tm…„ßmUÇ+soc½mEìè:¹™ŸÌ•çA­ëQy¼¤ny5 µAÕØ“oø’ß Ý[õ*)¤ªªEÌ®½žó·³«ËŠÏ‹ÊÉTv¢÷°¹à ¢²ÞÉ•‹•S8Ê:NäÚ~´™¥MÙ\Æ“'ZÈÓÞ,„CŒ®G5˯’^7xÒR5º[”£¸Êf,0'ž.n#Ë´*ÄàXŽ–úM }åµqÒlƒ»±óyÔôlïC7ìÀVªùß][DxXˆÑd€ÍX¬Û2 qý*-ô#Kýìµ6#Å’h`ö¾á7 eâ.@–³b0òÎ.:ø;pÏ9À6É”‹³?.öÀ² s±H¶Ý%–+ŸÉRƒxÑ€¦¥$ÿþ i[?ß®+¥/¸Þ§ ³iI¨³ ʼnæì˜ÀÓ›×ÅHt+ZUG5¹éo†”°Vi‡wOø-\EcËöˆwïÆ»ï"—CK'ÆÅž©1È‚µ¥À°KèU¨Ìíod.ÃçOßfA§¦…1ä!…TÈðÈ÷^3V²}Å_µ±J戣›ÍçØ ÅµøVµ¬ímDV0@¶k¶ $>Z0ÙE¶i-ÞUp4OÕP éÅ«}CóÍoØl÷ú%.(~Àî2=>,<–Œî5ì ÷žo†<ºº.Aaíï¿>Íû«zàpÇðÜT®1ŽÃÁrB‹kŠ4†ËƒNïUY &‰¿E±°kúSWàf:óÖéRÅ‘ÅÇsœÐâ§jœà#\ÑC³êÍÖóä{j½¾YÕè¬âëZª²ç}hz– !ËâÑÈ•]Z8‚øCã ö;5 ä·¡;©9¾iÑ&Z ÑKØ~Pwqª­—K€|—=&†=þYõ$ŒðpéFÔ2l(Š>%€º–há g~Ìì †Q}ž–É®¨*ýÛ&„$îbòóÚ`ÆÉ?’- ²ÄL2JÌñÎk£<*ö¥f+ÆÓ{ù_0v×i› †‘ÄJ1|ê›P‚ºñögˆT£æ·¸0=Ùˆ™Üð©'E½¿ðñ÷Bˆ*27Rêö.*Âõª¶ö¥CV0ùŒ†œY ?V¯9N¤7ˆÌŒœ3¨V ¸o½®…Ö ñ ²4ÔÌðGmÛÏ'ð»¬ÀéÛ&ü’ò´Ašˆ^9…#ó×"ýDå㣴™Óàc}¸× ½zàÓ<*"­G†¬¤›zjðl[:˜xeB”‚,K3©ŸZTé¤ph¢¹Á$€5*¯•Nøß”NÍ!ò ”ŽvõŒWµ·T­bh¾˜ÝÔž9Ÿ2Ž øFA›ŽÔq£Ó xRz·ƒâVÒ1&JB¼Ú¢Z„Ù@/BnxçóžtûAOícÃNÔG›À±¾»Ì7ź½´“§ Æ¬Ýåò^P•ÈÐl¾y^uõ[§ž}x¹V‹2C¸wâbËÚ  o2nué j-½‡›MSkEŸ X¬Çù¶–Á×oó‘xë²÷Ós¦ó Þ¸fDÞ éq3&£B¶fƒ‘&êYòd‹‘zŸheÞ«Eté¢ò᳆«ºr˜µJ•{äª]×.ÏC3Êi2‚û-÷‰ÛFzR;¡XRžL™.èÐ^±ë§ƒÏͼ¡|“yçΰ6d‹ä?‰ÓÍ}z ”ÞLXí°Ö™ê ±ÆO63®8TóHü'á_jºÄFù8¦E2©E8D,ã {OÆ?˜á†Äg>ô°>ÏÉœ@¹®4 øù}›0r‹à¨w¶'Zò‘Ìbn„¦è½îNè®àkŽ807PŸ7š é‘Ά÷)Iä!ð¸o°ï…f L›±ˆ[zS*2sé|'á$*‹T*Q/ÉìÂé9êÜ©Øñ{uÐ:Ö'_”ŒÁ+rißQ[Ë'–5 ÜãXð“õÝÙ9­uªn¸˜åîêmõ.¦y£ÛcùÇ™îïZ8_…H3èú¯ì×Ú$Ôa WúËSWåü?±Wà,S ®9Ô—Ôšm(ì¾uåŽO Šï?ôJ¥øÙ¡P¸JޱÐñµ@HýÜË[`õìçY5e˜hU[óKñe+܈v:É„øîDÝ£ê>ˆ˜ »Ö¸Ý‹àkìMдd¥cbq(ŸcwWwȪNµ¬UÜd‚ŸäÐ@jH¶ÊçÌzª©ÖzfIŠ©DsQd¯kë‹ûyÏåîsc½n*)ÀDuÛ&³*È…ø¹¿'cûxö»yª8(úSÄQÅæ-‡»éŒÏ¹çmH8Õ.U„,]›•~Àö|[$ J£E"^%_H¿›¼°™U”\¶öÖ(«¦²)x5&Á´þþù4_V؃»°=_C_¢» B–‘s>, Ñ„ÍXúo‘Ø¿Ÿ‡3pNúžØ3“)kM´`Ö”?·®ˆë›ÞØ *T²´?L@Óoÿ[Í¢‰Û\Ó(•`öçîž¶ žm0±Šrïd/²Yñew‰%)ŸÒ¬®%]èQ•ðLB“¬j0±ò©í,nPâŽn.}Ú×·âõSÕ÷a½ãýVʇU4mó‰çÚ'`¥ Æ×,XÄM‚«¡3ÞjsHæ²ìsPÃ/÷Èk¦Àª 3wç/Ê>¶ ¨1©(ÑÌêNŠo¹=eåF )÷ÑàLú/o}Z6Ñ -zŠ(¤ySü­ãHRS;¾C8n&À5¾žpðkslÿd=·$ƒDÅèE*IèÆÈB艖ҕ!£u(Šâ”è[µ G8…é*ª->8VŒ)©Òº…û8ô¡¶Æå9܃¿Ï±7:þQ`ÓÇœ‡}ç/øÎ;³0?7õ‰‹µ¯È=:Ç f³€§|%.9%ñ±ÁH¡xh …6 ¹û¯]âã9*­¾J¬¼× ¡J’ÁN¸8mˆ ÷é`ÇóÑ «Œˆ4'ÄE£øVëÔ~‹ü7f±²Äzw’d|‹lhM‡Òw8b…ß8g(¥?wJ§ž_UX9[~öa?4ÞB‹¼¼ËÔé:iàÀ£ì>Š…JnÓ™ðE1ÖñyÀ)AS °FP­È0Þ¸È&è?Ôú8ÎY¨fÍ ²:áÝUŽKJ0N¾ÕõÔ´]]\£¿à: |WÏå@Ý–UùA{»Ý®Çþ"E=pŽ%…¯·,G½"oQoˆ£šdÍÊEž^[8vØA7úÆz/^QW»Hàp3î“‹·;íšìÆIö¶ì’ÃÌ-«P²ä53-ìÖøÎH\Wäì*ú}Yûiœ/iS¹-·R š¼*«~¬»te}`4œý>ÿ¨Ž©ÍMñ+f*Uþ0E-Mçý´{åk}’ú°…èóÏD¡©{Ì¿±\Ë„¬^ãêá2ñùÔV1{“¨»}êÉ…r$×îè¹ù+òð¿]%ªmßPÛODh¢õûÙT2åǤ«Æa@Ì«Uª°rÄ'劜»À7¿*X “ÄÜXæÅE²[òÊ(P0qÄäß˪>ÍZ AÊ¥—ùö>*"`†?ÜžçrôL?3‚ðÌüõnÉxÆ”æíDùÎöwÝr@_z´+¼¦EÙåCš,bbOвØÿvB‹¶^Ù?\–I”Õö×Äé“yŒ*µ6¨˜æ|M÷%J«Ìu±B4$_83R™ÞÖÖÁª'q™mÈø…›V/Ïf÷æ¢û#/NŒ|“-&sbjx¡²]J†I»·ýRV¦ˆšì„$é|œà÷ߨ!Ãfã BÿȘªÈ”üb«’—g1çõ‡â¦4Ú ù×çØi–-B¡$ài+¬üƒE· MlËd{º’¼JŠ©#‹OË뜬…æSI(ÞaªÂ}K_VªÛœ®OCž‡ "y+0rwSìpÓJLªŸ‰Ôè‚î}m”1ShÛE£*O2`Tý'ÓV¶,DWÄb¾!§Ç'…"ЇŠBÈ‹Õáׄž…E«k;ÓæáØm®hˈúùEž'!Êgö,àLÝqT†¬ÍßÏ•ÿ1:íµå¤ÙÔüÆ_%3oYZm©#¦wȘõâ~‰ËÎZ4Øf“iÿ¾ÎE#kïí%{ðƒÂ÷÷»‡’’1ùSJï\-èžúŽüË‹[5u=ÊöCAÅ:ê-À…w¬¿DOöÜenÒ× ¥ËÞÞ0½¸ V?D×rºmnéÈé/Iô\ü7çˆsÊ{ðlÚ+VP; ++°hÇD%•Ñ,¡ogO quĽú8»ØIAìØg˜·Þœüˆ4…••ëKxYúK\HB‘ä1ÛªšØ=Gï3rGB 70‚+¼ñÕiéêk˱µº#¢„›sP¿ü¾ž(»VW‹‚A¢i´º5Í4DF9ÕA$:$%£L{uµn®áÖ 5טÏ`´Öaa!y`v³U<…@Ú•Ëù½Ú’Räjäâ1žQ;ÒHÉü^èr>ÜêwÒct„¡|Ï>Ò‡°|ê0ÊbÚZ¬²3¶+½ÿ[`(äª!>r°Ó%FÎø`¶×^ˆQy.9Œ;9…€H"i¦“W•sè€Ù'¬ÝC2¹u@'š ·±‘Pnh0y€€jÙ÷ ù[Ä^”^-–ú߂˄‘­Z†èci¡܌ôñÒbÙ}zágÅâ² ƒP0 $V€5Ÿo<ó‡Ïîâßp ý"M,t~8š g:R¹Q¯9(”;ýFÍÌ~íD…iéýì•\L0IMÜñMøÃ©ÀµvȉœDY:*žÍŸ•%}æöd¶½ì¥±±ëM k¼.„QsK\Œû¥]ÀÌÖ¡®«q‹Ð_¢Ú˜48¢°)ÿz:ëï°EXcK‡ª«"/b«ì“ÐK Dì ?ñÞEL·ÉNª¡­–Q“­ˆØ<™ÔûŒBÙ6škŠþ°c°ÙHjäý‚04Áép=æM_5HûHP<—öÂ…6K`--ý-›a?ùqÀzAŸ`˶/—+Cª×ŧÛÖ‘¬´NLéA¶)ÁÂNá§Åòô Øi‡X2 ¹DéP­†Ï™ü|z´þ9”$—Ç™=ÑüZáèÝÔ Ÿi½¡­\ÄZÊÂI•¥ÏE±=`02þïppi°x¿ƒE¯³û|ÿà 覅V?B5/òw¹)¡1 yÝk¿#ÕÌ›Åþ¾å«XÔ,'¬J††Ç˜t9S÷ÂϬ‹¢îFL@õÞ]§zD‚dºÓêH¯Ù¸çu ¨Õ¼h†|þÓHZR'VŽÄ'Ô…¬`û(«hõù’a3Ý3ŠÅ?fÞB뮃?º§G>žVkåqN—0ÇjdÒ0¤Àä…‡©ýÛÀÇñBį¤N¹ñP­B&,gò~˜ÛŒ¥é¼é%ˆþPÙ³¸åZ›±ŠEï­ Ó AïÏ—í$£·ƒHd'Œ’:}ÆÔñ\Ãõ¢ªÃâÓ>zIß32B)á×CCèºø\lkí·^é$•¼çúGÎàÕ6?_LZÞ•Ñ$Ö#cHÖjã2„J]\YÊÀì|ZX›Al–ˆ¸d‰›\¿9Í8¶|}9ÔÞˆ\u~Ý'PC]rúµPÊ{Ö—É+šhüÂq‚ùBˤ]cóX–+\>n¦ C±­|À.°#xf®¿ v¶²­äÀüá±TÕ¤Ù‚Î;½m”ÃÒ5ñÅ6ÇI½*Ä8gª‡±0PpdØwwi ^Ì)Ö-öð¬êôD êâbéóÔ!­÷*o31>Ùù,²ÿiÝ=1LKURWlÖIy‡/úK^a;4QÕÜk!‰ ~ª"½-Wíå‰6Ò‡`Vûô̧\ã0708‚î$g®1Vç½-sø4¦€£í“YŸ¶ŒõÕýRGòNèÚ%&ƒò¯uS+Tø~÷lcЇü½²¯iý¾Aš0•‚Ѝ[ Çc-‚—ŒMRÒHMM÷Ýwâô4‡¢¾ËÁõ Yp™ie7#û$$‰Œ(H×2·0æáš`EXfóoò"Û?ŸfZ?ÿ=QØ/XÞWà4½å!>¯¶¹­E4e>Š,Ûƒ¼'ù碖fe»‰©»ŽÈMý‰.¤îÍ-sø³G* ¥ýÁRs-Ij6‚²ôŠgÜ«ËÞÔkùæØqòniÖ¡2«JyèË™e€1ŠúuC ‹âV¯¾'g¥kKbºX¯GÙú0g ¼t'ÒVw‹(ðft*Ív>o4dn±ØZ½b°|š‹ÊÂ#ÂùJÀÑu– CO›ö@ú_™Â7Î/ljr÷1íÑR´ƒVè¡'>>1Z§!ulĵÓ!è’‰”F^èØX§iäê1SnòPÍpÎ6ÿtPÃ葼­ç4¨(ÈÞ™H˜G®ŠáÏ!¼¸“*y0EÄ×Õ¢£æ¯]œêbèMnoW±Ð ¯ÉhzÓï2ŸÝb)¡‰¯3† ;9‚¾ÝÒÎý‚Ê ,ík´¥ã†9Ëm·ûpSR·{c¼¶íñ Q;;ÕÕ¨¸É–¿^QÓ‰åÝâÇö¡müĸ4=Ôdµ¦cãu~Ô~¸Ž ‹Ûÿ´qX€¶Êâ‡ÐÈoÑg;˜<µ›§=ôÌÞo› kÝÚî@r¦Œ~¹ÿÐd‘õzG÷{[¥°ìŒCª&aÚ!Ï5&CÑù<™Y©öæÖ Б‹ÝJN_pû³ÜX©‡èy.f˜SûõâcײC…i«(nßYéÇé B™äÅ ºh.=;D<ö3ÆÊò}h¤ÆÐ3„WÿPÕ:Î5Cne3 ›øº³L•µü„t Û‰¶Þ‰”Žu©n|ª3U-[ün1„Kµò®ç~«lä) §±A?"éš¼†j]XgWèò” T•˜šÙ[§Õf¬ßT~ÀäO8ú³ø³ç‰4­aé(s7ƒádfps&6دw›VcÚÉ9ˆg¥^ŒÀÜÉ?Û>ó¶µõÔQ‘b6ýYGÐsÌŒá"_Cð5öÛØÍ÷a«Æ…EHÖø}¸‰)ˆ¹K¼À,b’åýÛoÕ„½‰QtÔ‹­U§³ù”´ðf0 •TÞ㉩Ä<SÎ^=PW`³ˆþß&)€{RGÔ3ñï“»ÃÙ[íÕQA­²›Û ¥mkà›‰dÈA߯q‹’·ÉU/Æøô/­ŽdZ%‚7¬•¸mXã˜*¢wæŠ1/a¡Cu*”#ÆPs<ð?qÖ›æc &8›c¡düÆ ƒõW¬˜ì±QVçê.òÆú€Ø?ŒeMê;îí±z#G@§åÔõ Ÿ*ãëiDsÇï'jäÓyª) JùÕIv@œÈ;I6;%;þ=@ûîñÉyKHøÞë¶A Må•lЙïò>ý®Av7KÃöC4VfÌWUÆŸn¬þÛ3¦>Š0g=rOÜ~¾´ ·Ù³ç_æöŸ¸a´}5ÂeÍÅææå˜7ŒV‚y‘bqIÏ×+ãër§ë¢NÔ<ÊÏ?m# šIDßm“†ÂQËïñ‚3|¼.µ¥šÈãâ%z)XGYý'@ª¢Î jahƒzÍ!vÁ¶Åo7”%På8RÏkoÃ)‡âÄœj_¦M4J@7CRóŸì)ñ›_ˆS¡d˜}LëÛÅטeØüúwÚ“²ÒÕ ‹rÊeć$¬ù7gKæN &˜÷Q+wôÔckæœúÎ#8&œ@Uü ™$íêK[ìü°²ù”Ÿ5DÒ©`ñSƒ>ûô’2æÖâLnG"$âBA9|f†e32]¸ˆ»D{þÜÍqoCnÀ†Ó$0Âß^.ÂP@§.ä»!òœJ족=>™—ÿpy{(cÄCb~ÐCjyÞfhÌn×óu¥Ž tE=0µÂöwÝAäFa,mß@õÊŽÖô”YÍ­j½AæÍòÁ4\^YøV4§0Ï%© €¦õ‹¡ b`)®Í1ìI¡h†A~FäUMDò;á‘{(¤A£ÙùiÁèzJÞ‘|™¡ó‹Ë¼¡’ZpÆ=λ¼c'‹†ø>Ó@¿>ˆ‹eaÞ73©ï™ù‚9¦úµÚA„¶ç÷RìÉ€T?½¯ûtk²aÂéxÄò} Ë!5ßu÷áå¯g=æ9¾ó~7ì;åäèš é]eÞ‹~QÍí… ûÊAyMÁ–Ço§g«=þ£·"%IMgS!"í¸ñtc~¬¿ 7Ð*ãB ÕmrÂ^ÂË­ÍeÔš&ªKØ<”yImLæš5oiÚæ›%Êwõº7Oz³IeQô@ž,ÏÆáÏÄkÇWh gx ÊÅvÑéÔŽƒañù,ƒ8ÇÂl9Ú•üw‡±Á8~ÓÙ¶¼Õû®¾n_µKg|ö˜J»Ðò§ ò¨FÜî6‡tÞäkÄ-sUS¼SqiqnÁ‡þÅ Žtl¬ùÎê]‰Fh!e:Z¿!‡së\Ÿ-õ(®Õ· _y?†¡¤¿YO$ÿnÙxA¹ANÆuàá}Õ@mDû¯®êXë#r?'Ю~‰<ÝqÊ/Éqbj K$iÒ5ªü~’,¬ówNè,:"cÞSêAæ¥gnø€âïä G¨Ý+í·T\VUÈLõH‘Ø4nmR\Pšå¡/jU6BÜ,•»xkÛo>êÉß ‹m€ÆˆC錇B(À£ÕÕ”Q~Љ?Ùô­Dÿô)»× ,hko Ø"t°•ó #¬k´Ýô÷©að(À>E{ Žç9TzÍè}\bfQŒRfô\X‰dŒCZt€K›LÝ î‰iöÐy G6j“¥| [Þº ~…wž£ï©s mç@‡óÚ뾺"®¸TyzlëõŸÔO*oÓѹŸˆÑ€%k¬/σ$¹:ó-u ?_²¥è²’¥òF¥! 9¨|êXõEà 9»†U’E=!-èÖWÕ&äÃ}Uˆ`Œ~‹t¬w¬UE­2OðHxºö4~Œ7Wcê-`¨VÜ›ò™§¨mÏ꫾›ÇÄ7§\f’yøŘﭔÇËÖ „†È¢6›³(`(±{JÙœýŸ=гÕ©Ýs,R/¸43{³ KLÖãKûC¯P‘y]Û½”Ä=`g@õãô½©;”9ï¨MÄ^ü-î\`I®Ã)j‰iÛ,ñ}¶ øìþì¨9a•]tðÀr4siezþ„ƒôk“ ŒbUšNüÛ’Û‘ÿåy îú3(ÝpÜ„ €/¶É¬Ê. †s·äâ,oP v¢ç£^ö˜¬þ@èu!y'¢—¯=;g}ŽäNr7Ðõ¼½ˆg‰‡ÄÒ.܆þ$œ‚\z”Û¨ÕV©5m ´“„6âä×?†?Šc1œ«¬^ÿEöÈ‹“ªç!^˜þ¤L`º£mÚzù rðQƒØtÔd‡øÔK±~x=ݺƖøœ°íÍ‘ó«)œ·#©cøäa(’û‚’„ *™ï㢡‰Òü-ZŸ®_Sl@‚O&|KŸâ§V#½oXL5S‡Dá®úIVz ï?­a¢Ó&‹AyïŸhîM‹r_3š57-X+qŽÇQ+§H1Çtëô½µ´.Å7»ÉH†¬gšž,6O ëyDŒV4æB–)­l⨫±*%ÝÜ'j-¾¤ZÛ+ž$Þ…Ú_DL¾Æ^W¬á19…Ìò%ïêÔÓËaœ].̳é+1᯼þc;ûÉ–&- >ÂÈ! Í^L“Ç¢¦#Έߛ׈ûl#°HÖ]E”}“KŒ@Ñ`Œä2©Mì(zîó7"¿œ0§ÌFr0c4Ã$úÖ•6Eêû“¿A3*=š²|_ÕTŸÓSŽª¼ Üß3ˆ[Óœ–ˆ‰ ÚÒ”mI±;¼v™xïEÊàe\î@¼/«ù[èžËEo¬ëÛ`J iTŸ³‹nÚ(¨xoy¶Pt16uæ‘æ«vÛáXÇ´ l;0#8ݯ,pHÞf¥4YÁô?ÁwrÕÝDþëX ¨€ fdV¥Ã+Îc*ŒJpNýÿc:ïEöÞVòb›ÆN6‰°¯ DÓTލ}åÂe*ŒõƒÞ8ßø¤yŶЦæ÷™«ò°íA€Í5’§.'ß¡¨²ÜS•f¸¢Þ×P'Eò{çá,©¼’ÑÔBÎéEv"7ç€_y  ¸å_(Ø®ð…?H-C¬‚ÙKŒ»g¹#É4üüéû1Â:#G;e6é uô7ùo–n‚C;BQ =ùo Љ6~N «àåjöƒ/;ªòQªýÔ5­†;ƒòr %è :›íI´Q‹TÊ·RZ&`·qñS§)<›Ï¦+~ tÞymbk5ÆF%W÷žN*;+_Ç`uèãfD—Aø*Ÿq Sɱ:ÿa”Z*SéãžÓ® \Déð$Óü¶ÿ¥‘]«n~¢*÷o³³nŒ"m4ïà>½2á ú¾®âŽ kåñ¹·ñÒ¦rMCž¯6ˆç9ëva5Ÿ)qÉj…2“â¨^ª˜lîI­)Øó0Ö€1™«1µë)ÝÌâd)vÇ„½( w£g3aßm°° µ<}:Ï)þMõgT%ŸMRNK|òùÅÀ—ÛR¯Nÿ$«ØÝÿûùÄÜePÄhúøø[$«Ùe Y£·Wˆ,\þð°øg…ª]óÌ9 ™ñÈÖãG"ûš¯ªÄƒ¸0À5ºô4Ñ_ZîSpÂM¦,\EÝH¹ ôõh=m¹­ÿ©æfÛT˜L¨Q ¬B—LrÝU‘ #{ò™´Ââ«8xµ• ìÝ D²ê¡¼—Ä’}ÉÀIRÂržM ;¡çÿÊp D [Á$Æ£-/ÔPίþoýËIGåQhjåkWÁ­vrwÇJ0®X¬ Š1ˆ¸Üˆýåa ’IßR'"q.÷•„‚¡«`zlÆË½€Û¼ÿ2,Y*™Ö+ºIPfs™¥5 1B´D+õikI[ƒZ9’:Z5Áþõ°\Ð2‘¤àŽÖ§– zÔU%o»/µèÆÊE ÿàX)qÿ:îy ¥ì 'i¿ÛÇÍ~*áeÁ1ÒFüw‡Œï½0ôfôê¹5‡š:½„XÀϸÒE¢I @á XiñèWkšÝ®,ë#*ožR¡8Ú?™ŸZœ$hQϺÐj/)²Ñ$!˜´’'È%E«~ Û@À‡kÁSÉü6ÛÅ¢’[.v~̳¶‰1;pÚFs©ï¦ ÷[tR-Yn°¦¶8[.ÐÔ®G!p™r\Ô Úi7~‰óïhp¢·‚“}˜\!›°ðÆ<\5Ç#ª“¨‡¯‹ýö‚È&š.Ñ“×:T ÒM¼Zg‰s[U‘@¶vø’qpµåfS ,iO¢ë!Ýò»u¶8Oj¬0{žõ¤=Ã}=àØ ïÓG­ŽR^£ë8•=K!¹%‚‰«ZÑž1E÷ÓW…Wc“1`ÓúO© öeý¸“†IÊëŸåe®¤C²ó×Uì§]“fuAÏmA¼dÍ,ŒAצÄfÄñÞ]øØïç‚à<)ãþê—©{ÍôK¬ýˆ÷qK½¤ÏóÌzs§ŠÃ'ÁB£¤\>zþ¹îWݪ z$Õi’Kß>q¤—ÁSÔ‚Hs}`¹NWÒ¡«QÏùB6©Ž€/,¹ö@—y|'±éž{’$pâ”ÀŸv†ü-œ¹"ø§ß›a»…^o‹ã ŠûB=ÊV°ë´µs…I¡ðj%yViáUÈ"÷øfå—!‘ÐÎÙ¿©Ûø¼Ú£޶áj Ńçã*Eú_öGú€uR—XLs…S°ì—þ5{9@×ñÖS'3>G0×Jv-Â$÷ÒñV˜<+0îV4£ÐÙûy;¹ìOq <ùT[X ã –¸3&|õd¥ó¸ÊZ¨á{ÊâìÌF2b¡•5ŒÜYN[R'Ï„ÕâG=»S"¾¢væ…#R×F&œF$Ú ¡:@lVgCE”.yŠ; ‹aÏ%/oÃУA§;á-5¸%¨ó…Üáø ÌÛ\œxtÄ)#jðÏVtÞb„žš¦öE' ÞKj|€pÁ,=wË)Nn-KUéCµ¨¢L_tKu§27¨‡Ó»Œ4Å úÌgéí2äÓ¸Ûâg?ÏÒ¯&™a2—K«äœC(h×p}ˆ¶è;\d;Þ[ÒÔ&®Hà-ÿ}0P0ø8\­¤È î*z¨@m ¦àA\bŒøÒa4-òÛB¥Ö…½A¸KËUD#¦æOýµhÏ›ÞÖKA@çç‹ÛÛvd™Çãw©A^´ìDó¤UažúçM0Çmò}ž˜×Ä!ÿ9p¬”5Q(½/–x”ãø\“rŒX$Øtì¢Î÷Ë$¶_ÖêUÝ]ÅÃ\¡—ˆD?,²üŠžÑl»DÓuBx¤‹†Ì8d¯ï…ŽCœ€6SÒ¡šöA’Ÿþ.e§„¢aqÑ,tîªÔë‰t“Y>κ'±${°½îØö""ò¹Þ$[<*æ8ä ˜¶¥nÕk+/¡§ôÆÄä%³¶"¥†=Á¬&j*ï5åbòÔrÕb1²P˜ù&Äh¤µY0Ö¹Wsê„Lû·Új¶ÎÛìºÑ’•™Ã·%Ôž)C|¹/[Aɘ9lyÉKžsm"8û€ 詸-)°ŽGÊ{7÷PJ°>$ ÷†4‰ûa‹ò ïÕ|Д·w‘Ÿ_Ã{ÎU¹B欀’=ÀÂ,£EÕÔ½šºß¬Ç;»Û 4y^ÁòÀ pïá0_[÷Ó5ï/?¥!“ì.—‡É)ãƒæ]ßX=|ôúè9:^¯‡yœv——®'Ÿ%™¤\ðm%R£ÄU!uHé½ÐL®‰è.€YjKGziyiåëpçè¹KM¸;gs+ìãÙ6uÝ»t.4Ä ±ìTfªw± ã±AŠyømëLvtmºíã{‚á£ÉÃ<{›¢}üZ朘×úÔðZ´“Ï©< úý'Š I9 µžÍ_­W¿´„š1´ß¡8ÁWlÝëËþf”= ûˆ¿˜À˜¹TNc¯,f¾ô\ˆvÛYm\ºî=îTÖ“ônö59uì_ )Ûj×Ôë{Ù[Ä^Ò?p«Åfe{ÑÁx¢œ:áR¢èïRh¨_ˆ_“jföÚvÎD/û3-.©}nж™ËŒ†a\^¢´œâŠ;•ãÞ#)õÓ‹ÌÌAC-N·ä6qªÄiUvAL$Á—´k2H•÷:í|‹Ê;:.=w B¿¢1¦ŸÉb¤T·Óc „U†îHÞÄkrB§cháA ÉS+¼yãm¯@ÖvzQpŽ ýØ£øŠèÄC¬œ¼PŸ^BÓ¨&M­p@ÖûƒVímî7¤ê^ÊÕÚ‰\‘ôú¯˜F˜T8QÿtZ=â­³{;Í–}`¶ú©•,Âçp‡ñË_*† B°P¾ÿ=æEâ ?)5ÔäŸÊhfƒ¹Ò-†NÏ뺞F­˜^éÿéêqàýŸ _ÄÛ®Þщ?ºéæùœ ã¥ÓÛGû¸xØÝU§î^ ÚyÉeÂGÅ![-ß Ë•(»&é! £ß°Äu6æ) q®fÇR¹U+¨ô1޾tŸdÉ S33'ý´º³N¼äÒô]_¼>Ö¥}‚y.=&¾²ËÊþQpžSqWG¹åøŸfPJwí×]Š‘Ï³ÚöP×bÅúïÖXyrÓº[ÈÙ+0ˆaHnâ.G&Q£)ÒxŠÑd‰äOó¹ÐÚyØŽ%¦áM«*³ûY­ôó©[JáÍÌ&°WNzuϕͯÏ6ñ™n jÍw†aÚZÿX“ê&™øâNlÈUgø¸ìû#š(!æüŒúíÝeÄÂë9KžW˜@‹‘ NBçø MLç)DVƒÓª\‚Íé¦éà  °hÄ=iÅì˜cm§ ‹5pÛßéή±i™\ZV#‚½Ð[*FúVÜ g’â"u«7«¢qç;»ÍrQ•¿ÐhDâàð}TLÈÙ# µm€ó7èèN€l{)x@:¹ÈK©UÖóz…'GÙr<¦Êkúû¬æîak dMjofÜc“` æº×l¢|ç¤Kt…óô¦}¨U[ÖïK$£ë| hbùÌ<î**O×±b yÍ)´6£mìÞ´ÛÈ¢Äè»ÓÝáwî§·‡”€›Þ>¹"&vÝz‹Ûl¤;3YÚ®(Io>ùƒkµÓ’âá×…Bk&^ró_²Èré㇛ @ö»Ýw±7ìzJ½7q²h,n )[Kã8nÂ/"}¢LÑvÇ1‘>ÅRÐztoölퟵh!EZõêøÙ6%GÛš[†{Úšæ–Q ¾|™˜X9˜s²yXø†ÿ’¶á~fRÔÞ©RÖˆ kåË[<$33-Ò~íÕ®œJ—k²Ud@äŒ÷FŠ`•¨úÞ~%Œ¼À3H§øF‰±*:(Þ’VÓ}“˜—MˆhÅs%EÞ ¦^62òãªjìxUp·$´¾'Þ;ˆ ÆJr0ó$zlvnðFù©Ô (EÒƒøÔ“%¤ÝPþs2Ø`é";G¹åÜ®.žp(² Ž`z‡}Œ¹9ô¸-®ÿÙ\c©«mÇm8 <Š$ »iÞèxŸ^4loФwhEî$Z€Ô7³IFߦ^∮ùg}kVÞb¤PÙ)æ"©© ±ÒV²JùbX·¸Üþ¹\Í"uûá—Vã¿€Ýä('ÙX¼Ÿ·̳ϳÎv¸Ä9K¸èAs¦8’qR/&Žž7>¿^£Š¯ü€Óù,·nû98 i«‚æYL=¸¡õ†‚ä¼2FóÝ… Ý‚áÁÚÅí ˆÖaÍi<í¨áÎ|µ‘ßL‡‡ª æöCMsƒ¯Xë-xšœËâêŸ'í”^7¹ÍÊ…ì_ˆ·ሦorÞÆ–:>TË«\6íNL™³—ñ=ïw&fvö¤nùozܽü`Óë03:Ù¤YíšîKi†ã'¼ë$Yʇ3µV/lNýŒƒ¤öÿê®s|)&åtƒ»¿¥¯½@‰!1¶ bO—Iõ_üá[ɤcB2*hÔŒ¹M)ߌQj'ŽÜþ³¤’eÕv†²9¼«¼—ûÏv-òˆ6›FµÓPÛnÉru|§M¬½‰C B°AhוÏ`³Õ'­%äªÈŸZ‹Æ3cþ¤£È•Q#?¿åˆöÌa¹oñÉyð jUQ&±=R ͵"d¯oÈõTj+q“kp^•EN¡!Ôµï,P¾üéQÁaH¨v™Ùú_W|ñ¯î þ—Îoiïc0{`.-ªWX¹Ã+wö’ÿ\lû©·$g.º¸D]ºÉÁÄÀƒiÿ+ÏîƒË¶8ÁoêD6(°»4Î1yRV´/CiÇûyWÍ—ñ‡n©ˆÉü£Í3AQuEw¥vuNÑþj Xo}SéËAˆSõñõ´ ¸ÚžžŸ´TñaãWœ‚Aós9è¼4?×"W¿;$ÕUî%F¸58£†ÿÏXá>Ÿ…>ØÈÿ”TÔ–Èþöö_HýU°þ Îñ²Y–ð}NeI$î-¹„tM;!ìwSý3yÀ8¢¶ïÂÏ–q*¯Üë$l÷(¸°Œý ²]þ>>:´U–º˜1¡BiÝÞUÃcJØüÞÙöºÇ 苽Ô]Øß_Ô…ó»%mYNEÀ'##(o§^š³‹×TF®'.ç{c±)ÚÍ`cy´‰Ò[ -dÔ8 2[ rPüv†© ¤ÉuVî8¼ÿ‘×χ]1°¤B“m$Åið¨ØÎ”“ñ¨Z RÈ/Ît{z=L„U1é;åòˆ7ß×5 6=ÓN¼e‘¿e—k{ú˜k£cˆ@åKm_ˆš÷Çñ ˜AÒáÍés<ûG{©³cà•·£ÕÍG–Wr¬"@­ä­q(lA`Ž\€1ô~Ê]‹ÛÆ!¿—_ˆQ}èd".°ÛùMlÖ2LygÒ{bÎOÒ§]EªÚ<¸Èÿ¼KrC ¸uýt»úq¨W¬24u†Nù¯ å"%nM1ÖÒ¹”Ï´1^KHqjÁQA—„ãˆ{¶PO©k«Â¯u…f½Q1³ô.“¦ÇA>¬a[áËNôðßRžÏ2jVÙÞ°î]T|Я¤‹[tôÓè/á=.êù Ïg ;+ï PNqÝ=(уÚ~tÀ¡ƒ-B‚Ä)|.g~üi–@?Û[Ûrþ¯aÉçH¹ozL‚‚ ȱë±³íÝòd {Þö]2¾¢ÉÚ=þcèÝuHè3Ý×ÖúöÊh8ý¿TÜú°ã«Ämmï*ù›²MíZ¼€w¹ù¼ÉYjS $=}Yë¬t:O"˜Ó(êð¢vå:ÁÑ*רbh(£@ˆ*#hÓŠŒ\¦BÍìÜ"žêÈ.ȟä¾—L\x‡~wƒy{y¨}Í“DpElôG†(0 ü659q1²öZ(µ·UµV¾á³É_6ñ`È¡D–Ðtº· ¹2­7'>ÏÌÕ{¥ÀÖ0ZZ¢½n®/DZa{ØÝê;ã͈¬Ü¼¹q®†­C|/ýã{#º?ÝåÁóYÜÔìà ŽÌ¢PkÙÞ›5ÊTö¡§¤Ñm»]<èX§iûš¥Îønï×24 šàÈ»¬Æ³4^Hdï oœŸ… ‡D/WhÔ_eÄI-™I\µFÎûW“x)ß¿úÖìÙv”‚Œy†ÞVo­âñ>w—Òj­»o·ÿ‘Ñ÷­*(Ñvûo‘îQ€H:6ߨ%¸qŸ>Ë˃×Üaùeçð! y×OUu­~Ö Æœ|S¬ˆH¾#*¼ÑØ€ì:ð¬ô)zúŠOÙי܃F[A…ÏßvSDeyßåè¸ë5Gï/TåY'³H°G]Æ »–ü1MF†ÜÅC*+nº†öÂh‡5%ê(ø{濳hat:y2þžÌZÚ,i7i¥Yý7($/Nþ±‹ƒÅš$}¾œ^ävAË›ãòó‚‹`%)&­Öç¡àu_Þàxd(/òp<€h«Þ ÐagRÉ|îþ½U;ÐÑ\wA1ÌKuÉÔ)Ùã­ m0ñЃÇP²ÇuŒ«5CIž¾l?±íÙ ðáÉͯ_…&`œhÐÉUÂ|6˽7ýhŽSY1 F¹ceÜ‚;Ew–¶÷†‹€<S¡³ ­»Ñ˜ÿ[ª*“Âáæ¼U"߸[ÍÂh^D|‘À0иåÍ"W ú:ÈOÈ;èP6 çȳ੮ÖI±v³¬L/ŸËŸT¸ß¶àßklGH¸)ßÚÛ¤´IHñáu§\=r˜ÿ¬=‡aòÄ,I»(† (÷áåU¶©[Å“ÇUÕë¸DnÍ_Ýë°3ë:†X¶„·™U?áÿ©/ Á™}^¿Í×⢉!ß#/ë˜íW9ÆxìõDs„q4% žJä©E-\à þs»–©¢±ôúD’²pà«ÜŽß¤Jhµwt]U¿Aþð©Êí’„'\l¢"³š”Í0}‘†ç®/Ç|<{Þ ÉoFEð/íYHs‡»:–Ë$ß[d™o5à ¤†rA…†æ(ëÓj ô¼—K‡Xõ¿ä~ó üSñi•i…(½ÉÇí“XTC±bµ\d•LTÊÈÒR óu᳇^~*ʦóÒ‡&þžÃàÉ;_©]!ÍÄÏnwWÈ—8M”Qõߦ fRãç Æ€:t®ÓÕ”¨8x8eÞ—±È¨jmUr~ô)È/âúkú™¿2-ºˆ5>X7éÌB‘sZÄ|¹@x”–>_áÄUˆ]U ÞÇ>ßÎ:Lw¹1F€úŒnó^qéµÚÿ¿Í˜Lçó³ßô´ô=ÂpìT¬B g[|Ïææ‚¥ç_œM©[±Ž:‹_ OUVjˆ Ž 0õzÆ}€>0#%ª¶¼˜­ˆ)™LxÑ1!±+⦧‡Lö8öt—@Óá"¦ḛ́ķMêþLZbâZ¯Äóˆ!ÂÂ9„ôgA2ìÖt/{|õ9_ÕK:€l'P¤è/kâÎÓÈ4çdKÿÆXPßQÇB%nšñGDç{?|A—ñ¤UŠd(‚Z™î»}ʬnÓƒIè§­!¥è>¶X·ÂÅâÉ“W, Ö¾Bż©^yPô˜VÐ"%ŸóI[2eS„§<Ð8<½ýC»V ]б´Ée7®?&-£ü¹ž›…f•ø¿eyWõcpvô…뎂Ÿ¿€§üøaÉX.µÈ]Wqnjc­¼N’+Œ\§]9Z¨ð³ÓGô®ÁpO.åØ×L9¼tϰ°ˆùòwk°¸‡éŒ/(ÈØ‘yp*ØŒ¬Ie¿Yw眉çœùA>6ý÷á]:e0²ãªv&ßæ ³î<ÿùÖ ÝmZº†Ôgõš¥Q˜eC$:ÔK\ÐRêÁßí­„ù¥÷;Ĭ¾:ø“Úcd};¶)}«²3>nžf?Ó^ÇÿfŸ5ý¿¤T¢b‰q-ÞI®aµÿŸ¨>¹~ŒH<Ô<Ãmà¥ÞšÒ˜”“á›Pµ§øúÕô[m_#…_2{$«–Œœb²‘åÜB—Œ¨O–íün¨NËüè–•<\¢DͲÙ8%+Ñ%ɽƒ„xë_ÁË T€þÄiàõõVVE?uó¹ÊªÓõy@ç‹yÉ[v®¨8,ùØÙ;‰NkË¡”YÉâɹ0dWØ>53kpF¿CH7/É®Õ×ï©·Ô(ææ ¦Y åÛ"Ä$Ô/|CDe2Ôjq·‚hRÙ6D?£™~Ê{w ¾þT¬#(u,MÇ`Äc4â_D}‰a=år‡¦ßÑËT\ é˾­d ãxlÌL±£jjÙ¿'#‘¨Š`À¥\ý½D{Š™K©ü€õ!§ÂØ…ÎÃtþö([¢öå›wUûòE/ÚÖä|mîó&o]·Ûª<‡”Ø1FõYž(Á* TÁö‚Kås¼aê³°-&#}Ü“«>÷”®ât´Í3¾W ¤F3iYÃÛ1Ç®°LQe|ûÍD@.«¢ÞÝŽ¼PEî]ØbG%3À’àVQ/½AÞÏþ ä–B-2^ɉŸ/“Ñþ€(ºà_ÀÍÂ"jUì}jýç^ðLM U^kT;j‹Å©‚»®öW›:µxxÔ×në#À4u@9 þóz!èAûJÝ·pû‘¿èN=õÚgKîþ·Áè¥Cèt¬¹º0í·õÒæh4¶K×6ÚNŸj3ÒÍ€øv#¸­“+HÑÈö»#<.¨Ý‰(]£Õ ïÞ}ñ–Båi>»9L•µÙІ\ØRG°-=0ÎÌ÷`¨Ë£f½þ!?¤ÍW"§$Õæ´¸ý12ÞÀIÿ ¿ºuˆ›Ls%ë\\qv†¿·¸Ã1ê;Ã+!Mìdòܺ'`?—maÇÏpPU]ò¶À·ÏvJË€‘=Fµ.zQ½U\寵2V¡ÒÓd‹‡Q½KPp¾ÁDWSéBw²(Ò‰@õH]¼¨mßAÙâ)‰§M8¦ÄÉ`Å©Ãì¤ ’Ê#‹‡³5ãšP­y$²_»m‹ÕÛ_«¹ã¹QeÅU)öÌ=Àw!8ŒI·ÄµG˜;öÞÁþY™AÅ=±u˜ !™º9û¶á…gª”ˆ™ µüDDñìtˆ–ôÝÆ ü¸.íú´&ÿN_iNæ€)ñ[;> @”àúœßר$,Õ Æ¡ž zM%qå™WÿnÆš¾v®çSíêyÎ!TË6‘mXv@ò˜9àŒÔNûeŽé[iÄŸO±s—±g½EYÐ;òP0šåÒc§ñ–”cVÅ\=e$pTºÔªÓœœ< àßv—TOþS±{I´Ùâë»îŽ=ÙTÔá†Û?õÁȽk¶´3“±…åB{/¢±8TŒœªûœ>¹/–wšrS~[w1d¢Þb²” £…§»ÄÿÝ®ÄOú|O4dm Áô }.š•®pÍ€£Yjü4U1ŒïØöc?X9§µ€Wò=ёĬ¨9±\ÐåŠp¬Zj{ƒÇjЋ•þ/.ôÀAÎ`Ž6}~ÂçUço¿~<Ýž‹Z7ù*~¤ÞÞx[TV)2Mõ2ÉèÌ;©Uå!?øÉ”šg© ¯â¾ào½÷ÎLµû#-ÁÞÙa‡ ª5Àèÿ * ×úiÙµµ"ËTk2Ñã™E*^&¥¬}£„pŠÿˆsEüÅR®[áê³ ¨ÄyW’\eaj˜S½¶ZKØw”h[®7ed„U?Ûk5‡›ôP­G3ð…f1‡¸à®Ø$XÂÕ#Bf‹˜BŸ§Ž“î?Ø–t`Á6V8Çll#—K?úª+LÇUª NÒ¡„DH¦Ò´oÒ„®'§pæ1ZJ2ÏŶbˆÂ¤ãRÒÊãzkÝJõdñ}¼¹AXJ\…#ƒâC®Ù ಊ«"H†ª6˜ b2ûž,9-¨Þ•#!Ñ2p¼oÛ2äIVÎ"ö?lþ«$}ê‘;Ôy^|/”±ÌÑ:ù¶iOnšë(¬1y£ó Ÿ‰ë«Ì–dCP)ZM_}Iâ=ß5Uº5=$kUæ¡Lv;Ì‘#‚T±í¨å6¡9Yðš=cµƒ%»,ûœç^j¯H›_Œ Ð×nópRÃeÅóN‰!ŸÑàÅï ®N¥Oµ[·¨~0-0—d-~|= Ácw×¾¸ó¯Hæ×:…5˜ŸëÒ…‰$/oJƒSÈ·‚™1!6…¿(¥ÂÇ•ç;zi×m¡6ù‡Šùl?UœÄŽ)?Î*Åпò+M>:tÁÓ,™—Ì‚ÿ6FZÀÃmÈÕšâIjVX0^Ñ:-­wdI…¶'Ä#cõÀ`¾¤¶ …ésÏîˆEœ÷A[âz®ÊØ¡Š™OÌõ¦ ÛKd]“l»ç´]ç©l Ø”G‹ÜµKó+Ì68—ˆÞ”ÈÊ]³HºÔGó 7Ò­·å@›ƒÆJb˜sT2Jôj ¸²±¾‚V'‘9û¤Ž¡æ¶¶×MKSRÿöFÖwy(ô‘û+w‘A¤¦¸}!áÍEÇèO¯¥4ÕŠeûí¶k½úÙò¾MXváÃD¹RÜô3x­*Cî ÿ–¾öecÄÀV>B³{Là®Ã¢`€> »;ƒÇȘc-Âñ@yÄȯ¹uäɦΣÃÞy©ô,6A^޼œÇÆb5R—ËgK §|›ŽîP€Š©ò¦S‘’© »Ûl"~1]×H9s}”§‘ vCïÑÙµn8¡®Fk+®=¤òçÙ9Éã ¹+:Tíz¯ ñšš¼”uÙné!%vž =šYVA¹Ï¿þÁWaÄç¶D1öÆ’졇f·™S䛯І@±Ž‘ Bl¬Þzòþ>+ä™pQgëËî#ˆÜ[¯p+ãÓìü—U‚³”^ÒĉöIûYµ ØÒQhO4[µr',Iƒýßð>x<Å•+k7Öx¨æ¬ûœ%Áç6[)YL¢dÜ(ŒŸí¹iŽ<9OîìÝN1 ÞTm‰Vú,¹¡fš!åL–ÎZþyV£R*#VïëÇ¥Ì?t,¾abÃÄV5n¨~‡˜œ¥E™``Ïrܵ›b(Y¬1>¤V‘ô‹òÑûñéÉd³–3Uó­oº× Çyáx¥ _·ëºBî†ð¥ŽÎ-™°PÕË õçý‰¼çe&Ò+μ[C:æÊpÕ8ˆµÜ9òe¯Í/†çáªÁI ñòœ×7äü¹l„ØÐ²¶I¶qÈe> U¼×Ò±}húzsºQÆÅÊ£@ ºW¦ÉËòÄQAZƒÃVc7\X·þ BÇïVì+ì'Âév™û¿nãwæ$4v“ì7‰(Œe޼šQ…—Á1lª|Söî¨R£¯÷‚ÛÈý›“#” "yQ^â`°Ï {½š¼nf¾¡šÐ(`žÝ×tÍÕPŽõ Sd—TŒÀÓfËÝ´c?Oê‹á޲fÆÊ ÉlfØuF _ •ÊòÙ½ÄK _N;Ûn Â×€—poû,wú#'[mìñr@1yèD7Xýè a`€¯Ú–p¸_N¦4ûv)|ÿáþššßõdŒm¶zÄ#•%ÍÇy¾²íãlô3ò§˜ß¾ÆpS€ØÞ‘8mJ­Å86ù;h±±'þŠÎ¸©xÕ‚‰Uj- i’'ô>”=³S@>„HW¸ AˆzÃ!¹þL/ú~IÒBâi›è±˜èô•qº€{#nê-%aiÒypøÝαˆVR´Pa¹ž¬9÷, } ´\~ÁÒ߀½AÈ…šU´Í‡SNk½à_“û) àTæàEmi¦yÅþÐç–|OÞÏLGZ 5…-Grb¦àå8®Io·–"U>·7z &lp¦B´ZXCu#%µ³S ÕDô%\æuK:»àh®Z_œjP0õ2äÛŽ+#ÿ{šÓZ¼ øúíeSû–u6“Ù#h|4.0‘©µ¼û +[䬒à @þQÂ=&>DPÊ3ªèì ›?j4H’عôþü°Ò˜ê GËÓ·½EPݾR-Eìü¸j@EÐÊÎÅ;3Q±¥v mžÉ^X~1ûÿ-©&oG$xß%r’+n²PÏ’³¬•¡JoXéDÑ”ëÝßœÿlçŒ ã\Ôñ~SV¶ŒmßiKRúûþ—%cOÉ—Âx±Ä°Ã.°g &¨hÅ‚1¥ÆC 0(;›ãÃÔá×yT{¥Ò]}!:ò1’=ÄFñú÷éçXÀÀ›ü!¬TF½ÌŸ¬IQÙÊò}‹34'9—WƒEÒ¨‡Ü–š×‡)Ÿ'þ©ÁW§ehvÌðÿ¤‚;pPO çÌ¢öÃ[‘Á¾l å¾Áó40ÀºªÙ]%ZܤgKðG~"ÿ\¥µâ|:¬¡aŠO™m@(Dc{+ º—MÿH€èøbø\î†ëÓ°ÏèpôœÔÔ˜1^L¦13âA’E-Ö[ÑÕeCPýü‹…•Ìܤkå#§?8Œ‹½ÉSÏQ^¤*€Ä¼ù¾}Éæy>Äõ˜†lñ”Ö0v· Xî6Ww$ÃçL2É]ôöæ6û3‚p¢4ý k}%úÖ0R]êÚðÁÐÎî ×dã’‚¹[:§HkV€„¥$x_yÆ×I×ÿ0„:GB[òˆëÙ§L%ç›è‡e9‚ðråÞ!@«úò’<&<¬A“Ë€µä¼ c$ô¥?†*1{­Nç ±âþĘ>ä4Žd¶à«of ÖÑ-/÷²¶°s=õûHDÙ‹†nbÎJ.„^„U­@!Õx}p§2Sƒ8)­0¿yÒ)©AúWf«‹tºmA_ßömr¼¾lŸÿ/…„ÓÞû“F»ØÚûá]בSEàeùF°/ݨ’EH«wk2¿BhÐ%B©Í.5/Ò×TY„lÔožó'€¥ •¯ÝÖ>(EœªÑKåoÁhG$SÇ®²§®â-i`§ Æô’T#ýY̹>x¬L$v9wf8RÔϧN‹{T† âù’©±ùœÙë@Q-à¯VĦʂ‰tJ¤þµn-¾Ùýµ)Ž-âEž­~(l÷2„Ù:.Íõ\ì°×BÂÝ\¦…ë°çº"é[(ܶsëõzÅ*ÚÂßãK_ꃧ‘gÖLtwq)—y$ %_J™N¬ÒVDüPäf…”9¯UA­TE÷×bÃwâžÚßVcÆÝ *WkaMPFáéÂ-×Ôý©‡!øÐÔ%hlV%Qx˜Å±Ñ% »r_Q"FÉäô\ sl`й^ sÊ[mżo]‰ÔôéIÊû®ª)´ö“Ú16ðÚ;³F^ƒ«Ókª€_nK6Ÿ6ÃfÜ’s¹ºœÿà[F)cò…M¬Ck*§ÓŽ©pÂ5 dæì{™ö¦ˆ³½žÚQI' ÔL£±)Êj’ ô 0Ýê° ¡äˆ˜¨ã` ´Š†r϶BosR¨Yîe(Mþ·Ûü ”Âj‹˜ Q—›”\¥®œ×®ú§tqÛÐ2émÂã¿t“:ÅN%ï)1þ~ø‚7ßÌZü:hÛ'$ðåïð¹NĨM½ýßGèÇEÕ0Ú½B}AA|[ÏÆ*;Ò¿-T˜¹Ô'øH±^írº;B1DU—Q’÷ lÀ&Ñ™÷5˜ÉìK/ó±Ì~ãÃè¨VUæÄa•?Ò.NT„Éž4âü÷U¹K¶x0„øÁ{†H( «èƒÙRZó`µ¦V¯9³YÉ-Ï!"Ýj3ñeÙà .ŸÄ[ ;_e)t˜¡!„q] ð"RzfC×Qx÷A… pÑN{`™uçX_âLSèáùÚ›.Èr¸Ð%L|Ö Í.u—ÅêÀƒioÈ'‘óNË&kþ‘€Òð³„Ó¢1òCJø¦L‹Âì\ì÷r…æR•Ùœ^¾GËžÖM~}«ÞœÜv¡·€r)~âTM¬øµhˆ!EeÐ"…ÉQãºõX€Cµ·v‘HXø‹’öàWãTÇËk] Î¦+Õ ÇÙ™T}U¶ÖžåK“‘#Š•ðÈ[åÕi¯øA©‡UÚÕì«Nax;ÌÔ&®ÕõíuÜûTR¹I«º­jLŽTq 9((,GË•Dtòxíú†¬šÑÄôÔ:ô˜§tÞ)£ˆËb¯†õ`nŽ©“莬¯ÝK*¨¯vHRLD}|2oܶƒ0¹™ƒ©4I²ÑJžêF¢ Üàþ€´&×Ë䊑„E1 YU#§¨ïNNÏ]—}–|cÛëwpšã^Bsåü<$ bW¨íY ;Òò¥Ã YlãojAp$ºÊ--kû¹°â´Nõ ‘bX• ÍøÉDmøÚ p+©&kÇ¡±-*™Û~3[/‡Å—XWgDTËëÒ]vÇ"¹mÉT8$UóOÀjìZ& ÐÍÂXз[„:ñ²hûÅTÑ “ ÉsÃJM–ýVkíÍ?W*ÝÑ% €ñ¢_E^@ZšVd~˜,w…Û‰ãiɸË臭 Ú66Z"]Ã"é™À-ÍÐi‚8û[Ü¿0­í8ªÌ-¹1pT‹‹›‹6äiü˜xÈ.[—ø”&På¤U)^D\³!ý4„¡¢-Ô÷vF¼ÄÁ´*uÜêæäðz1UȪ;’Øü×Óc9Î4\MçS´Iµá,\$–ѦM®£ {4œ8’Â/Ó·‚•¹m'½Y8)%+—Uµ’÷ §²Ô“ü¢ååd?Uй2nGÕ0}´M÷]àM!KcºÜ÷š¼-hV#j?·Ù –Gä\ô¹¸3<Žƒ·DgREÏ€P™wc)wZÍ2 ¤^ÑuPc1ÔRewX•3ò~*ûÂô{ÈkeÔŒYêäÄ[-\‰)qD!Tõ’u‡¦œùÓ çQŽ[¥úYºî«š¡>pÄž1Ñßo³ÆVáj„º>´ôk=z§ÁÖ+aø¹N7æÅAØrm€ÛÈÃ_«GkC”ö06ÚPëÄË<µ½f>é„ ÀPë¹³=)I Ùûq}+SÃÏÞ<ä‹?,C¢…NI:=°Ë²òýOš"í*¬R»ÎÒ‘! È3¸‡^›ñª{èׇ™ãÛdn¥&å@4å²îœî»5ûþáòAJ ÔUÖXg! °²‹!06z -Wv"0žÚ âONÜZ®`Þ$ÇV¥P„oÉ V?·Û5Ã[¥Õ{ÆÞïA‚Ö¾j1$<Öî@\¬q‹Â ?^X¦ï¼Úÿ§/ÊŠKôÙ#´”={¾^.ä@þ“ªWÉNtWôcææŸ¤PØ÷÷*Crߦ Ïjk º‰õÝ~µÍ Ñ8_…}«7È6œL¤O=92«]~ ™‰Rèô¬ ,˜¤ š\%hÛœ¦@1¸ÖYÕçî…›çJ}ΨQ!+.<§ï î2ËPw`î§×ÔN0Cz«ÿ¾¬ƒÓHégªÍåã£ûÚÈëG;³Õbƾ^Ü‹“ûýK.Ñ>Ú{wÚz*¼´¶›€g´Œ Ô°sà@ úHf³iÖu¥•4¢½Ï}O²#ײpÝ.Ó¾³Š#g7ÿU•Êž·´Òæ(ä׸øH 7w^n5±'ÒÓ!éîЋÒ;½†>Ež6$Sï¿òµnEöSÏ!šÁ$ÅÙfF™â¡cK9?=]Û>ØÙ3œóS× †ËðOûˆŒ~Ýa´¯V Õ^æ¨lTÚ~2$+¢SóÄóDþ\¾G³þäî±_uÂ÷!¤×ªçâ'ZŠÂ ÓÀáUžh€‡©¯±öB(Mìœ`Uà‘ÅM‰ç_¹Ëö›tÉV·j'`~®Žõ‘lJˆ4°zÏ5˜ Q³Åü &þ!ú][u bIl T.+ —âúS³ ƒ.lÛl b°Ü$³A÷]Pô¸ŽLã« Ã\¶ÿó^¢åolÆ‹çˆaEüª6îçòl]A| Z;q>ä²m ®rH ô–Lu{Ú°£[Ð_ l×|T"«›Á3D8JFÅì[ ”pq'6µd×)k¬ ¶”þB¹àÉCz‘aöªæºôiªè©èmý§Í=’Îz—ÜtçÕ2jÃ`prÑȽ¬®ˆÁ?Ø³Í ì#Ÿ#U¡"%l‡½ö’ÎËK!Úaa‚öœnÒýÖzSO@^#®ìݰq_Öîz @_·›Å¯Ù,ËÏ–`×Ý*mŽjï°ó½€ºÞ•6á‹Áɸƒh¬-ó{1yæú(¶¦ÿ4»`na\G³ÆÞ4 üå&_ã^‚r0™D‘>Üßh³-\•r\Bª+õf—Ñ£–"*óIȪUíì©v@»¬ºÝrŽšóàŵw"%ꛡ-˜@k#?bà QåU•cChxP{Üp’sÁܲÏa&úï.ÞjX…¶Õ;íðXC2¤ãÖW²µæÝ$à(ýöÖVRñsIÉHÙª®¦1‰imNO@)ìì V¥Öœ«@°*UiKüÀa L"†މæ¶Ò§íZX\õ;!忌ÉvQÒ1½’’ûD^Æ#b½@§dCJ½ø?¨péPf‡…•p±›Ð¼‚5Ï=Vï|ÿü-û!~:ƒQ`hl¯Þps¹>#)\O”1ÃdBäÿâ—n[æcrüµ_å˜Êq±í"­½€e…™V˜‰µ`éd3E9ž°‘F…ÿR¢'*EÄ¿;|ÙÑ× Z[F¡D_¥RíAV?\i'_æám4ÞK‡—ûzŸ³é¶/M€þõÓ ð_ª>n±îfgä+[ei7~RÀd8àî*ó]VÕ/ËÉZn߯ˆçuVl²ÒcVt‰ðöäí€hnE×T¯6‡2¡s¨–ªõï5ˆ` C’n/<{PñFPGØÀ9gJœå“•ŸÌàb]ïî ÔüÒ@ïѯlöæDJËJ\ÌÚEaS®o©YZÎúG(ú¢ê³VFh¦´ßÀÿ£mA:0ÕT“+ïG"ÔËø±P£3;eëaÑ7;­é7ø€(4N^÷ô ÌGV2³íÕꜧñVïÓìtV]:ùØÿѬÈ@vŠhÉ$¡„.­[]5Ãëd˜†>£ˆ¿ "†Üú5´d‰ºÎgötùdÞ?°{˜µ»áÄYßÖ¸ò¯Zs ]Ýâ‹;Ö¾C"𺰀HüíÜqˆ±rûÀç~—®Ïª§fÔÍF±E•m{ ¯Ïäð+hIgâõº fÀ6¹j;× ±X#á÷žçÒQpÒY”†¿'æQœÖU=Ð@þƒÅE›’·È™¡ì}†œßœŸõlƘ¾Kž+ñÄð^Н=ë´btðé6QÿÀåøñ¸Ûb—·«Îû#ÑT r>Ž&; .RÂ5Ñ,ô;´)ŽÜJ‡ùÈÝp4Ú])½=<^]9‚4j,5‹*Éärܾw?4Cšbo²ža¢’*zýjÏ%ÑÝE•=%E¬Âµ²I\¢Zk ÉÍRº¹™ÃŽ”ßa´2‰Çj–r/ð$.ã îQÕ,kzÑ3ѸEÓ4ø,`[²QÝ-©Ëº—xFuŒñ3XáìÃøŽÌ#Ìá|¬!X¦êÏŬŸžÜRÅÖ…å³¥÷–ã}¹§Z•Ø›µI{ÜPYœQ÷ˆmÈÙ•ú,O–¸°X)!sYXÈóÒ°µÙcœsìõõ–ì¶Ì‘šÆÒ¿ïYB¦šÉr5dª­‚ÝZ®9ãŽ'æÇ‚•Ã^÷8D¹zí3D$J NøæÆªÀywÌI!Ž”%D'ãá¼eÆL*˜9[•ʼɌ0ͳ½òä–È5°ÑrëéÂïFVð äô(ótôîø»³5± ß;)ÞÖÑ/²hµE&LZ¡L(Z]ßbס?°‰iѬÁ÷šàé <&7í”o B,OãèR%ìæ$vv®F¡¤Ê•óìÁ$yÿÀ&ób÷ö>P$ëHâ.lCÚ5bãQ ›±Ø*dÅå2xì—Ó&Œ¤NÃ_ðÆåÒ6öVM€LE]¨<úBêýÂÚàÇwØ‚Žóåóp–ưØ4´Vg›y-ê¯Çñ“4ʽAÂö_åÅz\Éð _¥Á8WàÀÕn+f‰36s,=.ÕDý.ŽÉ2ü8§î¯/¾YPý Yñ‡å³¦Í#þˆâ½‘óPVõbR«Œ iÍì­„ÂxáÁóA….%æ@=e€ôÁD„sÀ®ˆÑ~/šŸ—e„¥7TRÞ)µÞ>"O±,Çw¸Øåð‰]r߃0‚erDÆ$H†Ó Ët“nèDìR·>[ƒ¢ª—BLñûÆjDªúV?¼hÌZ )ßYÿl@ Ô¡ôsL±C< ~ÑÛ çš¡ÍQ$RpÙuÐ9þg#¼Ë–ÃF Û•ï§J=Ìá 8žÕ@N÷¡/ÍŒ ³6TaS,>ÔwKÛ2h­$ž #‡ï86$÷ý[ÝXW–í‹6—=ò ˆÆã)aTû`U­¨³oA‘c쨽½ —é5TÜæ´QÖ?¯§äÊ: UrYm”˜Tp<1èf)U0û%î܈F£dW95:G +U:È^ZMš¤MýR–sâ×0q~­tL=‡Ê­áIê ¤ìt¶:€gìïˆ.åÃ÷ì¥?Ó[Œ^¨¿6»Èó| JSõŽ'½Vü¦\ 9 ‹1Ê-0û²ù£Û¶2¥|n˜tr¨’±-jX[dI³ÿj˜@—$°×9Å7¨ÛÐ6êÔèÈ^¬£×ðM ¸VF–å×7‚Ëö`&ñ¦ð¬(F:0Æ^ÂÊaÝúk(hòl• ÞÊ’J¹9Ä=]÷©cìê­j©*förYµòšöåoù+ézèKŸëÅw÷:+ˆ.S늾ÉÎ8k’âŽbŸÙ{‰ˆ›Æ±c®>“4ÑáèÅOÓ‚'f¡ùçJ„\m`¢œ­IÙÊýÛv­Š£öˬºÿ¶÷crÕ÷ÛÛà§O¬ª!ƒ# „’K^&öÏwÁ’ŸJe×›¢'ÇpÊ=K»f¢gc ÐNˆ%o®×%/k3Ý¡ø.÷Qx†{Ë÷P¢ÏÀŸûœÃÞTÑô…’ú–'ÖY‘fn&'Ô®­'hšn™€’ˆ Uy \±—¼'kƒÉ¨ŠöâÑ„±ž ¿lL{kX%Í{Ê|IíõOL^ †œ@òÌS]Š…GÜŸ¤Wüõ^læË@¦Ò)H†ÃS.D‰8>.˜êöCdª_]ÓÀ*X§ ÙT¢9_bw¦2wg樊ÂîÖ¿z2‰uIœ3«a Q~Á1Î #Q¡“™à*x-©|(¦Z+™{gàÀ1¿ë~¨´p‰![J|cJnWÒ¡9­W|f¿vî}>?W‡±5 T)zèÐdR;1¢.øŒŽþµ6ìÕV›¹†EÁËYz,qe« ,Æ! Ätnx#Ä@ååô¦,É]©®ÎtM2ØÂ²ÃtŽøXh~%­t·Å3Ï‹”«Ïoà¹ã&‡Ñ `ã"Jt1MÜzh3Îú.ÍøÞÛgf_‡;´Ó‹=54µ\}åNYÎ¥ÕG\t„QKÚs¢6«Ë-t jÍ¢Pø˜Ê"¢÷.äݦhÄY¾UÄ}¹1!ÃBMzgg B¤0ãó>˜Rb_-ÐãWÎ2zí Íš(NŸð¾|¨g³Ð曈ìo"´X£ëFgÌ  ‹_Þ<ÿ¶ƒ'Ú¢RKóín×ùv«kÛV„çÁ¢=3èÇëe£ê¡ä›½­zJ‰|3Ó^¿.–®ÑÏ—jp{ü¡õ¾’X%©‰(Ék\e…­n$PERˆ¿ÑBx1/2ßê”>LAfË y­Y; áGIâfÝçáK"1©ùÇ›Î÷$ÃÍë6H©ïÏwD÷ߦ‡õ¢o{ÿJ½@~ ^WÁI¿}_w=¼õ pÎTCLºÏßYSàˆP‡™P¶ò^È»^åàÛ.šóÜ7ÿ þBáݯY3j{°Ù=Ëiô ‘ˆ@üê=ˆ J3?%-QF^ šãü?lg(k ^u£ÉßçZ·Êm¾Øó[Ô*a §½%Ô·G|û±QP×ÛŠoâîà­KÓÇûá…ïˆTô—‚"G±È‹v u®!]XžOг[qPȹà ‚àÂ)©@ø+‹34œYUù"B\ʼ) ˆ€ÕrU¦v%h[üÄ=æl•N70+š•è¤Á 7Â@P6‘_©¯eLÞï6øú#Rùgq 3­0‰7•ØETÅiò4Ì«“h€ 1?b%ÅîÁWí\Ï|Ó3d×ã×t[ïÑ–|®ƒ°‹NÓSQ:þ±·Õ¢Ô»GÆÇø ¢»íäƒÔwÖÏ¥½“$„/Iú”yZÕ‡Û¤weÖ_ä\ptq*?ÔÅ‘xSÅ.†£ÚÊy–¡ã°J´ Œ>o¼Rtѧ‡2Ç43Ìçüé?%!Y }ÓëÔòŒþ¶=e«‰¨ ·—ç;RI'0Yr»‚ôTëÔ0ó!}¨‰õ²½h&;¹Ar¬#1šQËLm ×û^++ŸÝª½þŸE÷Í027ë‡V;eîó+ÖŸºéC š‚•/‚~º~¨ù£¤ÜæGO žûÀ_–ë€î&Ê"³û}¼}¦¶ó[è­5ûxÁöüz—>oßD4Ây&™‡·l' w¢ qº¼ Ý” E×âWòXÙÚ&ßZ2Ë6Æ?ƒ˜G²-iñ´xWë˜b"H½ú%U?eÜ»Ï=tx4¼ÂÁBáWc:coÌ"c|'”Ÿ"¼ûÊ–;©;}ÆÝ‚ÂÐÓÁ'£vØ@“Ôm{©œi÷Ùf\û¼xßHιš«v@U¼Æí²âûc /Ò³ ·ta{bÙ²%fé—}»$Ø™eàV‹m0!>oÌ2á?£D×n$q¨Õ…ö3 )rc$ûŒÓ˜Zø–.‰Ì¥µÇÈnêé~˜W€—]Îú§_¥ºFÑêúÒbtfb&~Ý t¤Ê¤ KÙrN·…ê¯[1¥ú«è¡G›9Lïä¡ñ—Bÿ`…T½o”_Gq¤X\¬$í=ÿ•=¡ªG×/¤Î&h‹ÉÐv6áû0ª28ð<… JÄq?òôxEš>Šî_kV™ºîI|ühG[z74yŽìüë² ÊaO^×­$;¼)àž‘tÔ¦ëò(º,OÜÀ uüÙÕñ˜¡þ˺õ׿„UȼÐônŒa^9=Tµ”j{Ëôê?(ŠY¶QFMF¹`-—ÒlOè[¡vFí^ 8”N¦tø‹d~‹Ÿrñ‡i~Ìî!3(D¨… ì u4¤k—4¼J6gT\ }–ÿçF^ÀöËÍ2Dó+‘è1?ÒÁu/A³(g+gŠ äìO/‰&]¼hT^ÅyšÐ@!àPiBú 6@æ…¨ÓÐW— ˆX*cTo8 ÏUª‚~‚­T¸ ÛŒ3V+þ#Þ&L/º’y^‘ë¶h€i ˜Yþ™íY3€jpÛå}„<Ñ aÐ"þäJ¾¦šOÎnÁÀ•ܵÅ8 z–×\¸3¢²åvŒ^¢ÿˆ†Œã!"tiÃgò.ŠäºÑ ´<~gÛH‰š3ÛŽZ©‘ü ˜útQÏIŽïLÿÙ&w˜o8.Dˆ{Î%ùZ2ç›<ˆ6»H‘œïVï( CûzR¨ÓBxf—}ÂnºéCL òî~ŸÎ´ù&¤ÙZ&GsþØŽº~4ÍPim·ëÈcãJÔ¤[7Œ´Î§8*€Ùcµ~t™i¶Y».±×õ{šÅEcÍòl]÷Ve[ˆ…CðP (32n’Ü·QúkÏb@Ð%¥ÀÿÑt?«¦Z<žõ׊-©hM ª±—ì ÂÄo1ÒPzÌ7¿rá:nWÈÏÐWQÄ¡|Ѹ ‰´AÄÆÒ>5€•zxÁG•e Ng†ß‹³“Zj‘¬µi‰ÅƒrÃ÷ÌÖÄã|ðžó£Ö GƒÂ§Š,½B?±G{ÇŸ¹:u ‰œ0‹‚5¥¶­Û}8áø„KR¢Ä \`eJ†S5¬¬NôÉãGMšO¬1TìÝlIÒ3AW·}Ò³#æ‹õQ¼‰ùÙšïeË?l¤@¬¤çƒW n5^ ˆûy¸¶?Ž¢ o”#nA¬J¤”ê&ü|Œ›O…¶—Èþ×ÐÔLöøcïÀÜå:£Ü&+<G&ùî2jç¶š"j6C8Ü–¸kûRò>…wt–Û¤¿™Ð– ÝM,ÐÒ!DR­=S:æ§]tbVHa‡+mÀ/ŽÊæ½–C/¡ ÚôÖÀîä¢{Ð ‚ÂŽèü‹ƬSxwß/­.©­c˜¤ÅÈ‹½Kq…@¼__£”~Î2ä¶§C<¢ñ¡Í<úÔ²P/¨‘'rÙî»hTkVöëu#¹Až“6æ‚BÞ{¹:´Ý'0CÉ8“¼0mç&yÇ•õ|be.5V«Nû6þ¿~`€gÏ?"ã˜Ë"ϑųU:ðëÈ, ¼r$–Î’úå^F"ˆ\ÚûËe4iâÕÃþîÉ)Ò3ŒýÌ)"cF—i…ã§ÇH¶ÍEï0j/‹~lΧR”mýy^Íx¼C÷Ÿ¹¡ÿ+%6¼ñ1˜|‡Óü‡^צOÕÄ~5·%aqs ýO¯‚Ø,¢@/*‘VoYkMn„E:S`¡s=Ï^r•t‡QÈï(ÀÖÔÁ¿+9¤p£}'3.~}S€x´]™Y%–Á^¼ñZO`180t Bá¯äÑ4õŽÐ²°w—P¿Œ‰|µí UJ¤J*EÙû }pÓCWƒA™,ŸŠxELÏ(…¡óø>¤_Mgµ)a€‡‘ä*’¹‘M}îAthÄ‹`ˆ|Õ‚øŠ‹¯òîòìHsßà¬öƒRÌëHÌÃ48FçÍ—q'T$5r`*­û±¯››w{3Õ¬”Œ¬¸æ"|µ>iöà ôžzY¥\Ìp†;%GÿÛÎŒÂTk§ýtætÑf?À€¹Ïc½[Áxùˆ’EQ~¬ÐÙê5ˆÉuT:m“Œ¨Þú¤N2ÖÙ¡Œ•ÐÆÙÑqOä7KÿÈ&Ã{ ‡°†¥}!“àw¯åøÙ·]v ²W¦JL‡L‘·´nâÃUýd ÌoC ‹¨Á)C³&³‹½ß‚Q]… Õ‰JØ {ÖuŠ·ÖÓ¢¾ÐÑ-ZÚŠý‡€¯þõƒž¿ dw3ƒ’ëÄø¸Äø_b–`2ñ% —8d ŸµNwø½&=šÝDI|ÓÕ@ŠJA[»F´,¬þ}a‚6t,ðëçC5ú)Vk _¢m"=«þÒ 8c±ïƒ‘·8„ù-I Ù°zp£$ç÷¶Ér>£!hÌ¢Á ‘´âÑ£Q›&8cZ»$ôK‡àÅ”>oõû4!Ü9ó’Š­F˜rÂßÏõœj Iý‹ûtp\Ÿ6,±Q·­ìˆõ§Ö! :ØÂØh2@KkABB£’2d'åljATv •ðÍoB?v·m:á®È:ÜUdL: &\yE’SG„W\<–¸6¡ »æÖ~M€ï%–ôßí†tÈèŠÈ„q`JØ •³8XRigîâ÷â`™³fÃ(ÝÔnpŒe"2îz>³kÞÄý £3æ¯P•dì–‡œK”5«! »Ácúß%e4ŠÊœúE3™[°÷ðÖAâU³‰XMWSš+ ôžk»ÊMXSáċֆ¹ëÔ4ÿ¥ö™4–|;{X„ã¹£AçkǽÚݤ¿-ExXðÒ<ýmÝÒ‹?ÿmLcVÿ®ùJ¾Á¯òôeÔ0ᎠÖAù>?â÷pHsÏÌ߮ƺÎ>€ñk[üåI¢VϨ{ŸÙMßÀ#Ý‹4*:ò‹Ôµg;©Pú-‚ó®èÛXßÍN¶à¬]!þÐW„K›³è3O÷Þkã¥ür–¸“]õü×Yuøÿ™ÒquG±¶uˆŽÛæÙ¦"üm¢ƒkÎâa'ÃÆÞ¹ï‰ZŽ´\7ǮՋJ ùfÕ˜5N!Vw8jÛ2®ÀTRìäó=Øæ-äEþI,X6s¾Â`tA>:°N‰¹\C†pÉÓÓ¢ª/÷°¹Â/§„y?ŠYƒº½Õ.‘ÚåPA®”ÔÜ쬶Î3g ´@”Xö¤ä;.b•R:Ø vÒÏ»iÝB‡Dx#¯wzõžy¥(ÓfýÅ‘dæDX £Õ\(bVµšŠV/Vw3™ÓÁ`ôÓ<êúh? óôÈ!&ûôˆY¯£G©®Dï#ºê¼×;h –x§Šð[Ì´0ËÔ_ræêÉ. uûöú¤yÿrQw`\KsÎmølBõ9No¦ƒe¯‡_¿BGe»ƒ|òÒ¾ â8³z[u†±%2‹èWÚêÑÓ©š†üls™6¯G¯‘ð£§uxÛðmé,ØI”¶Hâz²ÑQ=ëÜþeÊqØ ëU‚Ý"®2-±ö`Ný>ӓШn#„®\;b{Œ½ÁÑ:ê6’š_­¦_IH¢,[Íô½…‚œ§šQpÕ2qz\Eµ9ûFpìBڦô2êš±@ç*b–$¡®!Kó(ýLƒš¤¶nŸ¦W-Z­G3hpN«ñ%ÆÝ†º[?Àæs£‰Ú-‡Â"ód´6‘ÖpWçÒF4<®š©–·Í»\ßÎÆUvøÓ>6Õyó6SäÇ&s³h$ɲ: }+M@1gº0{×zwX3È£ÈS 3?ÒKw ˆÜ2¶™2’³ò»y6†/¸‡ÒùÒÌ ÜÍÇHX ÝAÎ¥ž^zña˜›–ª’OßÞ±}9]nµñ›XPÎÕQ*À£'“Ð/Ѻ߂ƒÞõÃGG½>j Çä¶`s²Q¡¬[nFÉ)£8{ßaþοHm!ª€g€Ïê¹™%”¬¦Bºô”VpŽ–ÆQ9é犜…‘“E7´7e&ÝÕîìŠÑ¬‹lÖÒ yÖT,Þ*~§* ŒdÙÆmMÖ³°öp«ý§ç$÷ë£{ä[šõæSà4_ËøËJ@U‹Á9«B·@‡ÞÇB7ù籨+ ÿP±õ‹µgu/ˆ–b¿M‹ö ·ÔܦÈù¢.ÍW]P¶²‚!Âù h'¿ð…ñ_UjáQÌÏg¦–™Yà)†Ïÿíí_Ø\‹z¯S[)Ê™a75Æk§!]“8©0c²()„¶ÉèŽ#ý®.üíˆ ÂË‘YB‡\w‡á`ÏEôI`·r >ëˆ4¥‘·öɽÒ@ -áꯚW r´âõVª°0*,‚e¯6ioÌPcÊ8FXœ§®›¾iɘ4¢O(¾e`Ñfã†Dd 9«²`å§W Q3½Ái£ªN¼Ðë¥è Ps¤¨ZžÄ.B8Qá@× yìŽØ.ÃÛÔRêØ éqï†ü‡Ôž¤]qŒLÿ¥:ð…Pz@Ô›a–,»ãl¬´1ËØŸÞT¯€€]"é…ª §îKCnû[ç‘RwCí]P)Òjá.ß 7pr´û»J\x³»îqA¿I`Åö0´ÏÝ ¬¼óä¼c.×;Êá$1x¢xzSQ§ëš:o…ŽØ¡D¦~Æ`€jkWö`Üb:îY l qWzqÍÑvwVç•݃y€ÉR#Ÿ¸ÈŸfÙ¶ÁÏÒ^ðv¾©Š½¬0½I°Ïj˜&/ãöT ÷ýqࣗ¥í1¸5Úú] úfÀJAeOóQ&bH]?<nµr‹öA;èôÊFØÊhPÍíU;"RGîdz™á ‚–Û€+óTä …Î}{«/íQäç¡0B'‚Çf½mTD,j{ –oÏþ ë‰F¯|´‘oTë*»hx‹ƒ‘qOsY"çËulIiãZ;ZÙÒ›×ÐiVÎP–ðOêØ˜måì’y¡©B­¯I »Ý<ÿÉ1QÜI©Sɘ§ŠŠhp/ÆV]cm(­ zZ]‚ؘ‚#÷õIÌÁÙ`¡=¶UJ¸•[ÂÔ°SeOLÓ›ž˜›HfÀfýñL`¬XW^Ú²y'ŒäªSª¸‰â#JBrÑ—ûh˜²D“0…w—í/lD5U“ÂÇD—eÙ:Ç„0èÁ€nSž|Ô¯ôŒ€¿+’#¿>²¨Ágû ÿY<ü#ºÿ#[¥$Ø' ¥¸÷ê” É…Íµµ(b¬Jªr …× /n MWX䣢áÒA¿´IÐv\ÞÓw¶¡ÏÜªÐÆ-LÊGY S¥jNoR ó’;·ŸÈ‚çV•6³Z/®»:Pö²pš—3ϵÄ#}Øx- jü±´›Z^³¡Õ—’6»y©£ §‡õðL ;mæ±ãôüã9óz?Ñ©[Ì\-›QŒižóÔAT`)@ßòUj/PØ<ŒM!Ðó¦\™uÖ~U¯Ï„SF]³ëåâ¡Ây´öië0é=29š¥z$BzPd­—=¥,3瑚‡°È‹Eê´…ú^½Íltu=Io ¡H¡ŒsGhb¥¥Òih¯ð8Úo‚4š­AÐ4–Ûƒ«éŒA¢…4&›XË´§üàãVtçÁ% E—Šœ&‰d[¿éL“óÔ.\ðº•]ÃUК ³G¼ú &Äàáö¯@ˆ*ž¾Rî?Š"‚æVß Î)8F‡(½º*œvû€œpIïüÂãO#= ‰šÌ¡pëËG«ñ:„ºÅôónÞÎÝs6ðDlüÚɘ‹c—z´!h!v,5¾H ߺoõÍkŠœÜ·öÈÆöv×;HWÀZÿtMD£ÊˆÃU-W\¨í’ m!¸¾&߆ܠ§WŒäÈJ?©ÚV7×4ayÎ’5´h+jM<Ïl¾ÌÎ6i,À”€UÞ{ù×ÇóÕžÄÕG/D±e ƒ¢ .ñÆ |R_ #­ž=—XŒw]d£Ä‡—Q=Amì-ƒ:žb‡ºˆ~®€ìDëÞ<}‡§ræP¨fFºˆ1ç…}©Ãǵuzg <ôµÔBô3’î»êï¶òîTņy©É‹îj‹H¼)Cë¦íÈÒ/®4¿zâæý(×Îú:–Vr)¸aц;¤Ÿ»òì_¨*Km½Uù"” áèÑ,èÔ~‡úÙ|7~H>á ¥˜ÌL¦!]þ•vyÊï¬ ²ê¼õæ+y³ÿˆd!^ÛMJÞC$”G‰+{‡ŠTÎC£9Ú»¹  ˜L*;PTÉUäíá"‹PHÀ’?ßGÔ8@°úI+ÇD_=Œ©\ÁF1€ñ6ýh±_^|Ï©¦Ç8.?…ï°eª+¼uɦýƒj.yèþà ­‡íÁ5ë^ô\JIÌ{Ñzô)ªH’4üCò£ ÝïY©àÓÉUÑ5Í”Ð#ÖUîcYêû¹¡:im^=  Ádë8=zKÀëúvºÓiWÀ°Û9X*"Eu*\–/+Iúz`¹>¥AV·ä;')_üÍ‘½÷®Q9€Ù4?”j SC¦ÞëùMð<ª¦‘mb‡kF+®13r) líïƒ~l»:x¸´p _¹Q2mKê¯ý·ÀÃ[½RNEèuŠ;,»>^¼‰ýNt¶­¼!Ëÿ&KÚšöÉ@<8è¿fÈK‡äÔùÒ‰k5Ó`Msêôµäeý;© 0²ˆø •Á()‘¢vïY•§Ð¼†>¦¦Q• 7@‹»9æ´:(5]]šÅŒà:ƒ¼DB‹ç=]k· Ck^„×ñ6d¿ÀATN ²yØeNû ëÓî{gô¼À“·ÑºyÇ ®d â ±lox‹¢¢Z¬Œ‹t•Ômÿi2µ¥ÿ4dCÙúûA×¥Úžú{BÞ™R;—ÜÀW©÷콤ºûí㤴hâdö8³® ¡¦z´®yÃÑ×éŒñžï-a?ÝD“ÚöSûéæþje]›¨ ×Ïeˆòùu·8åÔO/PW‰ûœ)Š%Vá2 ’JÛhÀùRËj&9Œ!æþx4© ¥Xù§“m¡[bÌ‚ðdÒƒ U©ù‰@^sQ¼‰ØüqLlzitîÐ12^Ž~Ô5 B-ð¤üÉÙåì¡|@ÿÔCì4‚5Ø5ßî)”í0æÛÑ$*WP$+çšë}à„»£ä‚”¹ó¾ªerÛ³»4X¸Z³ª©›ÕöÛ“‚ïÌÎ oU ü1—= 2ÿøIž.À‘T![™à,E²Ðf¶Qþ²ÈägÛ[b»‘“WÝána=¨è²-R Œýy`=¹Cw¬ äSg¶Mx'b…¨tïœ_ài@ÆßŠwÉ`øç_îe<É ÃÕ±FdÈzû)/nšÕ¬é“¦¢60LºP}I•Õü3°Îù°8^#<ÆÅ–%P”zp’ôY¦Í?"Š7F_©æðK¶ôáÑWoˆ¥áº¥ºÄz»Œ£ÙæÅK&Ë/lµ¬r—RZ9ãþy¯Xx!|O¶üðRFÂ[iÛXî;*p6¨¥Séªk…EÚ±wfíw4¾ˆ·›ðlÕNkû¬lxKÔÆ­fЖäû¦G\&%ÊßpÈ…F=/¼ó NÞs'£§ð5‚DP<’BæE*­äG¨T™íœqAgË+=$D®ì\Ÿx¢žMçÕ ßŠ7‚Öõ‹Rþ· >s˜}Qß ó‰ ƒ{žù†=uw7wÇ±Š‘[ !º™!éF8·ÕiÐäØÏ¸߸`(ݫВä°Ü­€‡ÛoÏx´;ï¾›‰Ý‹‡U²~·;ޝed)ìo<ÜšÒb].1ãõ¥þDJósRJš¥œ°,¹:Ëxû04,z¦zû¼ö‹)Æçù¬  ·5Ò_À²>Ùfæ`‘7Ÿ"¡V24½ÙÕw'-ýO@|«¸§r‚Mý„ÍÏø§{Ȉ‡•–pW¨dÖE;Ú]¬ïûž§„7’1ý@ÌíüX ôÂð ¯C©T·/3$r’³j÷w …f UG·¹$tÐqèí •̹8ÉãÎ˵†•!®$Æu«îo3˜¤Ÿ88luBNä9ÀòþS#yXR,ÝýήÓâÕNs…Ï:ׯ7O¶Bæ>í'<ë^Ï®wΪG^^×Ù/ê=¹Ã´]Þ’Õ‰“¤±ÝðXH2D€üLÔRv¶ƒ¼Â/»c@é°¥!1瘹]\ƒ­rM¨Êb‘_Á „ÜXËn· 5Àò,Þ=ÚŒªèôòP¥m×Å @ö^P©OM½‰íAÁ bz莣éRsÜ:Gt;>_fe¥º/øUy`_0JòŸdQ^P[zÌO¦H×Ãâ#m.ãhmsÿtyb2bXî0€ºë®Î¬›ó!þ³š(éÉâªõg  {éšúQ óÙÙ`VKa½2+6."EgMŸƒE‡Õä(e^Ìl‹©,õ[‰C6%mœfJ†‰ð ÞÛ1g¥öî¢w%úx2a}ŸÖròµ0HØÄv–-SKS›K¶³¤¯Ý×Á¨°Úñè¡·+ˆd&¨ üÆ/µŒh¬ÇÙÌÜçj¾š§U‘ÃÈõK`ÁuŠD’E,^d^ÿ’.¹G>!³œõÎ0΂@ù}îeÕ©`fB‚e‚¢G®K„ŒG ®û…/¼c—2ßoˆÍ“¶‹fŒ»ß^™EScºö¿Kàö.ƒ²ÍËȆǧÆòÓ›nId½ó õòç·uLC8[Ž4º÷DÚ*j/ ‰g-Gð æ¬‘ÇJÖç®SYÆ0 ·Bcú±DG–Ò/÷À~¡(Ò9µq€:JG#ƒ‘³s²o½g€& ™Îb±½Íãʩγ˜~%üçäs²3¤]h3Jeu8c+QÿÅùÛ£Û (нÅ? Äøà^·Ýéô&7dŠ® dÅ[¶í‘ƒž·‹>¹µà±ËøI¾aª—èhù¸¡ËÊÞ7Óhù>¿îÔ´ºªäAçÄs$•Ì)âqû,13IëÔ†&áëó#‚¸Åc;còæZm=h4•2!ýã+,^ܬjˆ¾(|Æ¡Lé@v-àtÜŠ¯wžlãÄÏv˜|Ûa$m8ZlÑGü8¥”( Áì)acFCãO+»)+ŒiaxÒìâøO¾k€Ÿ&PÙŠ* ÝCY—tIд©›Xïáûðan~Ôe`kÞ¥ªÕØ[o*~¥¬+?1+ê«’>ËÙØd!%½X5A03wí¿¿¡F°Qð‘•‚ 'pë× $Ì?ïÉ^žViשL—×½N^• 1³_¶RÔŸ‘qæª*†÷ ß*8ÙŸAÕAúÈ,b&ÌŠtôÂ%ÌASjD-xhÿÝXV«©ôî¿Ô+¡gÙRkF«ÄRè´/:TÃTVÕ9­Xœß£ ½‚ÃZo~¹åVLO žlŸ©$=ÔŽ‹O­´"Ê¥1ß±èì+cSf¿ã ¸3ÈBDæ?1ly/{Ø=‹:VÛéŠâÔbÈe ùÓµži3¢r9¼ÞÝœ_® ™7sUôÉMðÊ”[Nœ$ȺÀÉ‚ ¡yæ˜Sê`:,ë?ue+"ôÉ4µ#gÓ­ÍËSî;€Ú3ÏÅïgÕRjdéš'Œ>̳]¾`äY5S†å:øb™Õ¯ì%ëdŒ|Œ‚ÆêHÅ|WÝJqë‚À%Ræ}7Ž>6›ÝƒrÜË›M&._;‘ÎbÖ*Iðµ•@ø(ht„uçzÏ4К7Ô'!‰ôs'Ó3‘=Úú¤+U9 ú÷~;yKÎ÷ÿip 7¢fŤ"9}wƸ8É‹¥ oZð>¯pm—ž•'6us2U&ög¶úB“P݇t¶CIµB’ön|}úàù)ݸ9QMSgVwÚöñîfÛ1-cSÊµŠšo[qv‡<(Sݰz<»SØ@ôh›ú£^Ï?Z¬ø ^È·š¬×±Vc ¢L+ëµGˆ€‰iÏ«ö¸©sºs.qȽ @É¡ŒQCØ­cÚ›„«Ìðš-²7ìY|š‘êbËÓ±¿™îÝg……»lªÒìÔ*ü''a]N´+r)P¯,¾kÂØñhƒ“¿I‰“™Ûùu2>¶[G˜ÂãeÒcˆÛ6¤'žçj WôžX"Bµƒ™²´Ù8`D€&þ<ïX-§šgæÙ ¯zÖóW&­û\¬T$z tÓ¢y‹ærw_W6p‚Oø¦ˆ× Ï'¦7û†‰¯æÜ´ðfŽÛkRTÇo;M}pf´3ý*ý vxJºcÀLƒ,¹;)+ ܦ(PórËÕÖ¤ëÞëù¨d½ä ç1PÂóÝÂ5½Ü«0n#N²­)–y±©w)²n>YÏŠ:Ú¿ ŠŸ›nnÚÏâ (Õù9#ÿF’ª¼ ØÞFtøa÷ÍÀ|ëòØ*«xÖµ¾ÑÛcsÕj‹Ë? ÖàZÁàŒ[~#î»E†Kê+K,“„ÕnÙÎEvuA‡Ÿ¬…) ÖÛ\Õ BÚ‡|‰ò;ÿ£TÈ]ÿÔ¬¦ê7ÖŠóÝÛ÷XoÆy³UºX›\²šu64+Ÿ[O91íD•ŸýïV´ïVð2ïØÀýq{%ú…ί<¡=ÿ›™?¸|(‘jëý®ßÙÒk°²Ó¾ì½KԚĢ_$ÏÕ(Ä{>¡õ‹æ8…Û½2‡‚BØ5Ô66¢f¼P_" ¦4›? Þ¸¢¬Ç7æô÷Š·TûYeѨˆïV'j:PÇ[½æ°sŠ§å¨ŠŽáN–{›ÉT´Øãº“c¡’é¯j7Þ»Ì,ݠᓯvQ˜VjÞí9½÷£À–? šØ3¿Ž„ic}IK<;.V¸týË£¿fÿÛ¿^›´(èé» \÷ ùÒÙÍü¸<çŸÊu*üþ§Œ®P5)“ ÷'ÂlœŒrl¹YS*hK¥§  G2Ùô¾ž#öîíFª3 襹Fˆ¯›+Ñ‚*öÚ×sZ»¢¤‡¿Ô1ôz&íÍg¬lÛV§L Wø°àÚTu±½VÛHö7®È‡u~(‹Ò&Ä#[šGܺl” ðÝ_˜;K“{Éx|_jÚ'Û WnmßèÊ骓;·Ö ÷×M‚õˆXø§ÆcB²yÕ‹OÛÄ 0TXíI6ÿòR“ðÑJEà~’u¬¢¥"y‡|@©¹@í³‰¼Ýÿû¹ht–.FÕšŸOP&ØáÄ@ï ”Ëq³\e„S³á`i8Éɬ¶cﲩb#Y¶¤Z{iÉl›õÑ­ŽF¿ÇÄwN6ɺ7*+)0„Q!ëãø Ø›ór’FSÀ.íyN>´ºb½—ZĢͅ¨˜T¾Õ~·pޱ.€\lÀqTÛ MQ yTsTn·¿*Šžuy<߆ÀÒIi*‘yQÁ–ÌóÉè«ç8ö'רuf¼ý’ ªÔ…£÷®¶Ÿ¸Jèì!òg>])ã´è¢·²*H Kãú ®1ñÁ yg‚<`÷W3â«"´Ÿ—þ”‘F¤7NƒPеV ’ýj[‘bƒ} –@ eÜïñ8+é9ɂܪÿ¼lœÄÖRøøiå “dÝS«[$ˆLÉ$¦b‰QÅþKØ  ’–f¦|ˆ”P¦++ÒGÈ´FX¼êÞlÁQ-›“‡ÓÂÊÉ\m^^ä݈Žg@* 6‚\…ÑÛ&š:Âá'îBäu1ú:8lŸÅ|pXHðE|¡}8¯‚¥iC³½›ä ;GºPo-µXK÷†I𽤘w'~ß6Š¢O•rëhy£U ),¨uÍå¼ã¹ÕÖŸç͇͌®É±ž‰]ÈHNœBÜŠm! P€ž'¿VÚŽLaIJr´ƒK69;{ÂܺP¦ÁPl´ÛTEÏÃ6Ñëg½eE tè¢XË ’å}nÜÖªD.É<#5³ 'Àw­,3˜úáÐQóséú¨&ƒÂ©¡“+™‰ÃH Æ.„åÕÀt}—t‘ù¡ W-ÂÁ¢‹³?üèÙ3Sž5œ ýž•ÐFUëí— ê£"ì=ˆµ Gć‹LH&gâMáâ’"ñVÒ¦ÓpdÓò}£¸z‘Ÿn4 ÷ý[mæÇµŸä)LwÊ^S¼³ÚT¨Ì ð^àgn@uÁ:;—lQcYoì?‰kl(–âÊÄq¶B½¨­ÍËé—ꔕ ¤,âÀ_ΖÛE#ûLM†~cc4Òž§€ r{kúº½´ò±“ñ÷t rwÒÙxüŸ%Nwe YU„XÉ(*˜Â#XÌBeágàcóSzwKFÎPæÍ‡ºjÉùôi÷GwÕ·ÂE”î¯/µ$I‘¬é/³‹<û »ÞR¬4ý|^¼J9s}-*ÆK¾ä7gòa24ièø}³rï‰3ß±DIpéêÊ‹yzÿ†ö‰ç?6&Îâýu ©å¤<îaŽ\]“³•bo³à¦ªw ZA}Kk?ø)WM‘ðϜٮÑÞÇáT} U›w»Õ¹SÄxŠïÕ…¥ñA«Ò–QÕ\55ý£sz½¹WFù.Fpj¡>z6Z“Ä*ý”Àdw®ÍX ˆ™Ø5€f…K†Wä¬Ý ìÕу£2\/–ðÜ›QÑIÈ5Ž?•ºÒÙ:ÖmŠGÒ DW“_×Bo4ž"º¡Ë”0]qŒß]ŠÑäý' ™«rzÛRüraüÀ÷Øíb+LJôÆbg}RجÐ^·}÷kƒ1ÓŽöߢÎ/:æèvÉC@Œ%gI¾bŸ¢'kèãŸÁe Uc:º ÃíKf6ÔäX¨S~‡§Ç'}BÐs˜¯ÚÔλzæøŸMTî#2È+Àª6¿}¥}mìιB3Ì/L(ý“ÂBµÂ.@·•¸È|¤aæï ùU™uá_-uDÆ 21,ECbpQ˜øÇ!ˆ•>Я¯ƒ {‘ÿ=ùÏDÔ.Þ~Ty\ÀžuÚµÁ‚3ŒÇ«XŠñ0¯ ”DY÷¬Z&£µÊçÈ Öfx)€#OJæ»o;Yh€Pzm[ð‘ID9 Vòî:xeÇÅ3‘1ã`u”N‚Ô;-°8z¥MM³Œ$–¨¦ÝØœ…ÊÄ/gdä¶ß¥‚ÌÌ54ÓòFsï{ÿ„èù·Jå¡D›Ú^†ï²wV80JŠ]œ„žÎ$|åËêŒMá÷ÃqAãšJ‹Êäwî¤ûœzÎDn×ãAòл@RäÒ¸[Ö*ÜŸR¥ X¼ôsÇງ "“ˆñ°)v|âì ±¥-ˆ…ÎUî=GßÔH˜_5ÇÂþ €G°B›ã…ÑÛMhR8[ÃÓë%A3ÞVà4ª½á*ßìp×?ÇšñÉÀÈkèf+Íøæ.n¶}||ƒ!øl¨ÕS×# yX–¦„¼3Ùd´ï`UF¬§%pQD'V윹r‘òråÍNÐŒ]…õü`wÈÖŒbh8ð¯¦q;±A1Çå¿8«”–fW ¼)/uh{0é7°ÌóüоÆ=Ý$g}6¦iA|$N»o-U•XŸ*E,iO‚Â;½…W=%5¼ î’NpöXÿÉ*[ØÔÃÒê»Ô;j[c&ºèŽ¥›­N:ö¦%ŒN¸ªšÍªØêä;¸å WQÂfÂ% jß4oïYÀü,o)u€úœáF|íK–¦'±v·2ÂJ‘ °|‘ƒÓ9> <4tŠß#>4xV«%ªy?ù ¥$Õ}ÆfÖ~rèƒëJMbÐ<0<8 Ç †/a~¿ìø´Hu¢÷zÁ{±â,‚yj¡ C1¼ôB7,¤Ú‡Ö¤’¸±*–øcãÐ"N*~(Kð8­hö.ÖÐ}þðµ2¡‰•VA¡÷Ÿ7ODKš!¹^…Á äé ]–\smÛ>5r{£€¯p@CzÈ\¦†jtÈ8J÷µ«~ï­ë"öM×zÒø¡Ö–4×%Þ‚Kpìä~è4Fn*l'ÿ ÒjÛ DU¬!€:bé.˜`t\û0™Õí§šáÆŠëՊŨç. ¨âŒŒ”ñ‚k½šùeß4Ghæ ùá"v¨}z"žˆtûdÎåÈvnŸ`tL…œ‹Í RÒŽ)œÛWðÔœÌh²º¬^Ÿk`ƒ¬õÓ;(ò¢WúüIF}XäÆÎWcCM5hÆS𦒥Š(>2eŽÃç×Ý|ÍfˆZZ¾ŒÙ" BUn¶ÞÙ‹OÅÐý3ûI<"/cÆN©4dëxä]ÉÃáÉ;Û5kxtù62aÑ…gµÉ>÷‰Ît€5Q§û‡Ó–3m“ù¢µ?n=Býß< ³X1§Ð™¥w¡°´­(‚¸ÐPú’UEÖ´Cè{·<ã‚”9õóÇîÏЏø\ÜÏãˆؼ‰yw eý˜>[5££›'M ).£ËphsØQAÛ†.c½h±lѰ8|åLÆ8—iôÛãé• !'íüãªEî_ŒOSnóÏg±Ë3½"àÝB%\¡p]a OÚꃷ™ëÕ혣‰ão}(€ðÉQÇÞ^ žÔ>Á®SŒM ªMøQ¾†+soÉ?!ÍãÂÀL{¦ µjàÌ=õ4N¥ææ]Bذµ?ÔÖ˜Ñôšww§ÌÃ…Á€²»Ög­enÁã޳7Ú‰:=)ð>³¸–Rä Hý‰gS,A'|‰öPiΛٕÔ-›xÛ*Æ5óB¬ú‘ûù‹(ô$tªÔýï“Yä/ºÇÿ&õ“Ž „\!÷@TÜ¢áª*Nz§ã¶!¾·™ž×$b­Ðk[ÕúceR¿Ñ-Fi`’ÖðcÎ<ٰ㘓ÝrÀîê5Ä–÷,è`ïEƒ‰D”/Élo¢µÿÔß®þÒIø/­ÆÇD«äª9=îfjGëTAÖﲂk/@RxzA#ÄçÖêêÛ$îFÇ[ÞmF„ Žwl¿I|c3Q•ªOaq1y—K3õ>ð¹o’¬&•)×÷qn!^ïè¡WîÝ‘¹sšs0æÄüç¼-èD…Jƒ‹vedJ±3-]µ?üí¼äÕáa®ìT{Pª Y϶z™ü6Æ“óîVƒ©÷Í)¼ (YÞGŽÇ7¶6à‘ ù”vÂîÞ‘E\ Gàöç„á(COtå¬ûòຠº Š+a~ãžúg%"÷ˆÇø."©9+U(ãeSYë‘rûs|J·q³œ4ü(ð¼ÔŽõ3£‰`ƒ§ðP=KA•n¦uwpMè.Ü_m0¿âjïjÑ08{jDzÑ-1·Æÿ:õâñöíÑÉüV’?m°< §–PK<¯¢ÓBV–<~Tº&»¤©^.­zgÔE¿o6&3Çbž°`BGv!u_ˆÆ§´ktÙ´å Aîô¸~¯)#ªFx½pØTöz‡6-X{sª{àD5Ý_x’vEÀçiݵ)·”…‘àÁÿÄÉÁÁ5DèZ`åG’hsh™Çz8LEÍ7+:!‘x‰ß ªÛë'ýñUÒ‡ÿZ)n¹óF­æ½§C6Vê%P¸/¤Û: /D|)ôS31ÉX(¢×7^?Áç‘ZΤžoÒD¨m:½BÉæÊ=Ý›ñKR¢3Y¥¶rËÄ‘Xc'»I5¹­ƒ=Û9ƒB¡å¨¡ÀÇH|öÓÁÞÁâïÊg–vRøZtç8‚t?¼`çШ[¤ÒŒñïÝ˽˜\XÛ&‹o"ižŸèÔçjW>ÚÖÑg Z·TgíÐÔí«Mé>~ô¼þUìÓ¨SØèÜYvGˆA”ïòÊ~‹ƒå¿¬Q’Œ~[ª¤¯Xý Å•â·S˜¹çµ/^1 é7}'`Bã‚ïÓa”QþI2ÒŸêp}ž8^H³ƒ˜Ýp$•jŠÝÑ0˜µªt‡ç²³rH ² „cb^ùÖXø˜’ß “ª“KewÃýœÞ¨6è³!©™Ö#9œÀø»µÄ5iæ,W…Š" rцÍcŽÊên|3ÿM@…ŠGE‘4ÙÄ‹Àwë€c6¯;³RŠ—žÑ¼ÆÛ¹8_Ès‡º¾€Á¨¿¤F]j+±D_ÿ­ÍcÞ_‡|uX¬$ ãdU~ ¿ êØ'34æõ¥õ>¯ ¦Ü¢ <ØÜÇ4üð‰Å·"6©ú&0ªaƒü.O×ÙS¨Ùé܉ɿ ⬵ö¤B&ÍHXKð2 ¸Ç|t‘}±Ìb4Áé"ºÈYA…Î2«  |pþ”!Òkq ƒ¶åØ(¢è¼Lv˜Ñö\÷Töp¸háĆ– bMG=V>Nö ùg˜¿ö¢ˆ[" ¾îyý8ä•^Q0©G|ÿ‘|Ô»ð£‚?:‘“ñˢï[¢œ lXDѽ÷5,do7þñÜÀEA=|ÆÿÇq˜ŸÈótÃzŽ9&Ç2”åXs[Rñ²ø›Ï¥Bÿ**9õ5>Œâ]'„—þ}©Íø}‰@PÀ”L˰h¿ìïÿlY}‹ p}¡Ÿ“bТ?m¡+½ê¡Ù_®²²(è01n?ã%<ÐqöªTx¾ü»ö0p½¬þ¨’xÇbÌîHÞC~{ ;R¬bñA`yÃ…4àW“ë‘×z§bêÕîÍ‚¢ †#èñô‚`·XdܵìtrÆ<öƒyM×Î{ìŠ~ãîn¡ò-‹úZö(õ/½k+é~ áFÁÞ%˜ PŸšDÛ”ÔÑ„ÿ5µ{½¯*k`g&È& 9VS¢é®»ÇÁwø¼A3±4pðƒNc_¸ôþÙéV€š,JŒÑª4;ôÑ`vš•l€,YÛÿ,7KÅѰ¿œÉ@¥çÃ1ÌÎàÝuȧE'dvÈ&@SD,zàÞGÞº|£VŠÛ 2Kí—‹/ë‘&A‰…g"ÍRïzɇK3eƒ0¤Œ€eä÷ÆüÞ-fGþP€m`2U­ÕßÜ©x"Íëë´¯×#Ø«(·Š)VÉÎjOÖ$Iµ÷:óµïZ-Øê:‹.˜DñNëxm:;"‘p¯§ý’ùý ÒçÛÂSÎlðŠe/Å[.ЕC`ô'ylÅGbw‹&޹KÎ-jI’¦, +ÞšîaäSÜå¿Ïs§¯Øi'ûÐM*H-H`„7²‘£<áîTbîFQá€\dFœ†"±RT"«Þ¦‹I1X*’Bçû‹¦KZ¼€š½{ƒìÈ“£ p=OnÿpÔ¼æn››§ÏK细ºDƒ®š˜HiæZš‘êÉôÅx¦º‹ø ¹$kOwÅŸn*Ú¬qgç·bKßçåe7šGA3 ò LZÃâ×±!ÁÞˆßÂsR¸pá†dh‰G¼aK\k+“¼Kȶ}Íšp7+Œº{YÊ#»Þ„Í»dÈuȦy²}´cëõ-Xƒ€ßÂ2 ¿†ôFK,<Ü>ÄLÆÏ(” ¢]öôI¸nεyãÞ¡T—ªüÁ^úQ‰áž „”òßêÐMüG©Ï#nóFWÕÆ’ª*ɵ 7C”Ò?ãh§†d!·…Ü&í\:ìé|{þ£Övp¶Ù¾÷ Ñhm“VóW ÉÛëáV£1»oùgàmÚ›Ø'@ þ[ÂPÁ¹µÕ‹tAÙ…ÙÖIYÇà7z*­Ò]e„ðòÜÇ„£xqûEb Ã:úW5¸žÔÑÃ4™§mØVwø×E5°ò†=”Ë«8ñÓ¼[(Y›Çƒí­5#L±šgŽ;ÌQƧŸncÍvÒrèÈn£cà+ÆZÂý"·eöŸœRøw~>ÜЀéP[*èì$ mÛÊêå’ûÜúÑ«pFøe¹Óÿ-¬HB¡YpK;/>ý›âãRhC]möëW\ xx|zæï¢lðÛ‘ ¨xýœéÕAZ 2ç¿©©¿§Ž–zŠFÝ]˼B9œ%ï;óàPI€×ŽCÚl˜¤#Á‰ê&ô[®T[Ãâñ°#’¢Æ(LM2Ï\=$—i°ÖÚzX zÝê5Á]N½Íµ¸œ ɘ› g2(«§ Ê0­íc… P^»Õš§fSbðߟ¯ä½ÌŽ:XVÇkù›LYNÉ®z~1‚œ£ŸP¼k0‘ô]‰PãPÚœ¹l 6VQyˉø'¸Kf€Nr V”µã®5SVs=‘%äeÏaAabÄ/ÊÚ¿'QÓtTúÿ B\übÊØ“î²­äÂã€tg÷>ÚÕÑןýÕÿ8ïJpÓ· –}ØQøQŸÆ§Ìl ©f3ÏCœË2ò*?82­ž“æ3±nô´„¯B¸¤Â~?úè•øýè É2aòîq:!²˜ú>ÖÌãK¼°@Òñ€·z¿)¿BÒž#ÇâC+.¸Šû¢Ï2àçPïçÊ}¹k0ÿZ£%(Çël…ôèàgm>ãJ·üdGÃ+çèeµ©bäY8(­Íeý¢4ʼn_/.ùèK&¶ÔÀÀ÷â^—=Z}üVëÓ+˜BÇ;¢ç_Ã’” ¢Àsàu“‚Å€<&ÿð&Uc‰Ù9 †Ï7ëœS_À­*®ûÞ’³0²g®/ÆÂÖX€ëPh?(/ì$ ô#`ÙEVÉe–½‡Îm¼î~×5p¡ÂKã^æNY!3|È#ø·‹§ :$ØÞË5g Åb=¤0° ÞöÕ߉Su2i„ä¼X1™´ »#mñø>”ÏW:iº++×™þƒ…Ò qÜè÷~ËØñõhxòý#‘ª4ðg{µâï)(î%SG3xï7hý2ãù@mâškæHNŸLH¦º,Ú· šÿùÄ™¡þ+*u {èNEËË¡FÜîÐY€6p:{Ëm­­dxË÷²l ËȪKZˆ<}*Wè I×;ÒR©ZJ©§ªa`g !‹¢Þøö2yÓšOȬé«pd;ÆGÌsoÜ Çü¿ž ˜Ñ!› ‘ac,ü†_>ÍX Žm[kú…œÄ³Hb%©$ÚÊ|ÑgÂBéó²k侊Ñ)ÏGžäiqN ?Zÿ¼õ :ê±k›4º¸õ5 S{§{¥ÒVÃ|Ÿn6¸àO ´ðw—׳x.q)mü<Áé£SeFêYˆQÄS¾l“‚r‹œ¥'q>G QÕý6 F¹yA@0É¡+‡ðþ(–ýà§¿’Z`&¡B@[’îc’4%Mvp±Þ7. UHÇ P©Òñ$1@Џœ×«gdM¬÷ù§üEæ« -’µß‘€îj‘}¡k)EŸ6“Ýð¤ë^¥‰÷¿xÓº•¾(ã D{±)lvœ­Ô]b Ë4ØÂÞ¨º·yZ镤P‘—7!X»Nï’·w¦J·Ü÷èÅÒ³'5™JíÂ&n/.º'ª=Þ( L ¤Ò$ÚM#ÿà?(ÄàÚ—æ”k#ü[¶íšÝ½£Ï»­­*s>}¹§iŸÀª—irÂåÆþm6D¬©¦q¿ð`MwÙà;ŒJ0¹<3Ò(y:½tæKÒÚV’Â1Žý× &Çý,/’䲬»Åä“´ÿß„ÄèƒøJ7ý½™o½xJòÒ+cè…€ùÓ++eÑc°7&51jmçÄM±¿ &þåA…·Ó*_sÀ©$ßjè YÂgö…eøzí¤›û ä>D• DÞN*¢¾ò‰G®MÓ1C¬³7Z³‹¨ªÄÉ%Yƒ¼µxx#hqG ÈâCiÝý™^ÎÜþXÈ™ß}Ñ%Vˆ3n3&zÂÊ’m…ˆù»õqÜn¤ÏþFcÔ¤C/ÿÀÌiI‚wÖ-øõ”ËEç]R—žö¿“Ä(“ë °òå²çdºg©b1:+!å1ãá×ü€2ý\ÆWÞLáç+ôD,WÚß,:ý?³ÐÉö©€!59Bö P-™Æ³¯âä5J¬ßÛ§á ©ÃZ˜M2Äðã¦ì܆ÛVpUºtà?Ótß„ë½6™a[¨“Ó*Ùgqìãx*ªe€gã4Jr±¡@À}æ›5”4õ`¾ÅÕ ±?ÍVg¼›…fœúiru¹”Áw{­Z¹t|ÞžUÌ·-/Nat¬”߆ÛVÜ7gIÒ¤;ëÅèFɹÔßeÄÌ!•¯ýª»XtJ#Ê€–ùÑ­(uQ`A¾ÈrPøÜ%OS’ªÜQ_/·¦‹ÔqøM”¡}þK0)xfƶ´èt&=¯}ìÛ¤?¹ÄB“¶Þ}œÍ7‚f[ÖR¤Ø^i’g€xDv‡ã‰‹>Â&oÓYS:[ã}žÒlXîH*û¬©½˜6º;6Š&~@„D†ÝÆ6FhB6!>ù“ÑÒV“ãp­›>‡]Ž'#ìŽF¹Yeq1âÄ9Úö̸ƒWQ¶x…ŸŒ  ÷¶_«í™âðòè99»¾UœÐ“„—¥…¿œ¢äÄ%ˆY»”0›;e ¶ÄÕÂÁÆ#!~Èr¹6_JþAÔ%H;P%²]g*qæß]Q/Aº®MêfÎn‰•šõ ™zž‰¡ uÐHíõ{NXÂ¥¸ŠF{gf  Y:HÂà¥^$°—za?éÛ¡È?œ·ùÝ’‚¹ßc‹Ÿ1RÇvÝà_=ó{l)#\Q™½ CqG»9Ï_oÒ%1‘à›Fz–/qÏß ‘¿Û.ÞeOìøi¯>ßÐøÈÚvA“íš±“¾ÚÁ/“úŠ_ƒƒHÿUÇö^t8grÇ@0vG»!…6¾¡õÝÑê¡T,ìJZ`(Oé 7 ]~’ TëãTˆ(ã2ÒkÕ:ëq_£˜ï*ü„½pv ‘P¼¡ ¡ J¯U|3\÷ÂWü4ž ì´¬¹p®l¹,†é‹©›®Í ¯a:k%i—¥6í ç':ðÎÇÝŸÍ1…ä…ËI¶ìij»Ö€ÙVŠ 'S¢ž1\ºÍ•q˜.tsའ“º÷[.ÄiáKš<Æ•4 å¥p’ :Û`‘¦Û›ÈïÛl5 œ†²~B ´jSÛý •qöñrÁv¹Ív0GyŠ {ÃG#i ZÃ#íŒÖÞ~Évª §C /=†£D3¿}óWfá4|š£‰Ë—ͱÁJ=š‡ÑÀÅ¿6TæÁk àİ÷tq§rJ²Óy{¸ }AÁ¨u¯ìË|°Wùé­ÐBnö=›È¸: {•ð”½òâÍŠ)4bÛO(§¨l^p.ÃÛ] î×F!mm€5\¦e¥'RVyuqéýØCb¹¯xÿ+«wRwK·»v¼ÞÛüöék7œ|ôºCP BØž?”¬òªr–ZǪÕÄ!íC¶<Å $?šÔ‘¥Ó7?­Èn’êZ1¼FcíT•«^./­Ý,­¾ÜyIÚ¹¯8 –vÛ]9¼ôÊ0ô¯œµÑ•üb¦Ë~eôxx{ =â`ˆLtŽK]Gñ²Ûö®¢ µ,«ðßñ•w …6ª+øcó§ƒyYXŸ½è‡Ý±ö'D¥šB5$ä¬:ÀÉøE\¿n”Û ;Û€ªH™…ƒˆ¶Ú¯oÁ€ê®µ9ÚÇßñÑ rÁÕš:A¤ºGQÍÖH¹A|Û®¬~¬iUGv€}Û·•w¬¥žÅ½ûNXTç*ùI¾ÉëòÆ+k“)Y9 35ñ/ò0î€KßF›V-8oc#ï,ßTˆx÷Ç»Šš¥ÓµÌXs.,¦^ëyî|f«6õÝ*­³"Þ2?ªÓ(VÌs€哨t£öËÊžþLkHµùlBß'×ë<ËÝTéü“WÓÁ‹qéÝÖŸ¤ØÖxH?´¶|Xá›ù©/ý¬& e}:0‡ë,ëZØëüNfFò÷¹KŠ.%Ÿª»aÉ;MòæPöBÕåiÝ–õ¥òC>Õå‹} ŠÇ€¬ aÉgó©)KjTì¿èl„èJŸÖ”UÙñ,Æôø¥Û°Jb›ý¹„ &xºØ|fð× FÜçoÒ]‘Ww^¯¾r!‘7ªm¨Ö!h±g•A­CÉ a#qY¢¼µ£EcøäJÓü#‡œXÑÍW÷íXÁñkÁîÉîÇ£È&S˜ hÒù¦³ä9m,!n«V#?»,L½3ßî' NnMŸTUàl²ž¯YNJ¥U…åÎ"ƒÛe"¡d’ÀYT°í!‡ƒK›˜Þ}l¸µÆ²äYhC?pÕú¨Ís>"ìTãÞTƒh»ðc gì¢lïËxÁ~;Iö"¬w”É|5í½¯ÛN²ŽñçiÀož%ò¥qOŸæã<ó¸ßø1w½ÕÖ•–^W>î–ÆÁ¬-é¬ÞÕDÝ8ù²pöj~ëÿjÙ+ [/F8£›†ãœ m­…*‡d½#µiNA¾YϺÂ4«ÛŠnòTFÕt]ùy¥÷¿ÄûaS|æ…H ƒmglùF•’õ+ašÑâô$I¢¨Dñv3SÙ»l®3øØc5;ðf}5OQc¼ŠoèÔz—ô8-»_—ž‰$S%zùº³B#Ä “XÅíÀý‘%€tÄíx!T­)=S¯jfö:5¶, ³>•„óAšâ~0ªß¢äý6“Õ QC”8ü(Á“«"ŽÁ‰©/bneµ¸Î<‹;OºÀ `m표a\$^k¥4æ\Ä0¿šL€˜¯ÍÄÀ¼d7”YJÅAwÖBçs6™]€Õq÷‹+sbÞlúlb~¼ßè8u!§3J›-~«1Äcóî‰xÇð‘ôÙYW­íA•«ÈµÅ“pI}•¼ŒØÃƻޞÝúæªRÈSðæ¤ÙtÇÏ¿ªKg:0²¨Çuý}Û›Cxðñ"ÚTÐt¸ Üvnƒ¦Á z=§[‰VD>³|~¥çŒ¡»dóÓ»Z2H!|“‰ GÑf Üôq<Ã?»ÓÄÒ(æá,Ê{ßQ¥±àD kå%;Ü«°dš & Q“§ÓÖõðÈš?p`"._&J˜ŒN.§ƒÒ=]^G£ÛäélgäøÙ~…Å9 Så\áê¹æ8à ù:×EÁˆš‰·äv© 3 ìË|YÛîÀY~ûfÚ¸N{W+ÇjCOR’3yÙà5²aÍÔ€hÀrîÖì†Vê½W,à›yÊh§°?†¶-A,¯È±¤ý¬Ä ¥¦|&2úV;͹¯~’¥½Ò¸Z¶ßrëd F¯ÓåËÇo*òÎ?îÿвg–—2)A#ȳVe‚ï>DH=ºDâŒNg#"¼2_©ð6ÜÉhªE‹\NíÙs„l­ø¬3cg'BŠ$Ý™@:ËÉÎ!Gl7<;åõ©¦¦1öãñûÈĂйO×fun¸ðÑ Õ”+‚aLþbüÎÎrþP_ùWHàÇñlËðJMÈ.À[`èftÃrj^š· tOõ¨™1ÀÓ…£C¸Ÿqß‘•“(J‚ôù@²Ú3P­ˆr"7hª#jÌ9@Q¯Qûp˱kÎÄœçt_®LÉÆæK°A¿`ˆêºt‡qPHz,÷óçäÅE‡²-¹È]S|ka“È{r»”uOhz CÇŠ°|†y|áz¥öÓ‰š7VÞuä¼Ê´{ жØÔs–øè5CX#ˆž“7-ÿ®ãŒÕè(‰ ƒ+øŽAP=>É”²¶÷[µL# @5㤄æ„jA{[4fÈ{És|4ô¤L9Â|aódl§-À¹YX…ìªøÿêö%ÚozüÅ|Í™«„fÏ.Í`ðÞj»A‘µ¡II2RÓ† 2pΦ©€ŠTo.©j&ÒncýZ–úkêª7|³qrG"^‚ÛðÇÅ÷R#€Ä®2òΉü‘7+DL¡º&#;£àESþún>œì”63W2I¯»`ëÔuY›„g†q¥OÔÒ^¸ M3“ gÐᬈ½ô[›˜Èæï"Ë6ËC”Ttto2&µ«Uz¬ôEÑ4¶ß:×ù™·×× “'Ás-%öelÓ{{Î.“í+J>IFoY êìµß`áÔtUH³Åõ2ÐHwcóVƒðÖlâ ƒÀË€ÑÜn¶®ç6ZÒ{ü¬:V1“Ê> ²cÆe-lÚ“–ä‘©¶eñG`äòý:ÐÝýZœ¦X2€ñ;ëÛÜWÔ¬ «8×_¡‘T{ûúe(â_4¿v¸Ãƒýû8iRpé½íT•øöò{’{Æ®Úô3ìKæ)ðbF¬×”³Êб8ù ‹?¥ŒI´ Fë©ÄÙ¯VD£«åuÏÛÒ Õ;%žé¼ÙŸ÷$.½£JÀ7 æ±.,”¤;×ùf÷Ñ6ΰ'«bÒºK𵲤lÇØÑ§bòHŧˆð¦>í£Êè¸e‘8Š8d ü¤œÌ/Å’ˆ®ž)Üß1òe7Í&‹^’ÜßÖµž.ù ‘ÞH;ùf"›§·'¤/Õ€ø¸UÆ;«C©F*¼Q[ÐÁ$ÿ~n¾•­Ï!޳Qp1g‘ SQ:™ø SX‡¾göHÆ»©‚ÔoR;äe+[¥ÓãZ„•æ¨Ðf•HÜä—kŸËô£ÆVD‘U¹Ð„@ø%[³øë%¨n–¼_¯¿QÚ*³r)WJhéy‰“aµUàuk}€¸¨…¨ƒ !©½t‚Ö·‰c~É´]Üܤ¬&/©rб®Ô—„GOÇ–¦ªb}¶XÑ/©#Y¹mÔ*òìUq‹ó8&ÒhË¡(eftWèÑikÖe@.$%>'“‘G”¾“ŒÙÀ¼-A<–ÛAÄ^ªÄ‘¢B=åⲦq›GsWì¾ä|æ½EÇ µ|`0 …tã? ›d…?¸®}hµŒ‹ËÉc×.Çù€ô(™Dòª9WlпYF‹­5¿®R;·e•ÿÂ.cÌØŠ;ˆvb ‘I€²cQu Á¨ô"U^¿Ä /,§Èœq'ö¡l$æ­¼ÁÙ@ÅçĨ9åRÕå×´ ¾èHÊ RÛÅUX·aGZÿä];È#V­ýÄ>ªT]Nœ˜liר¿BX‰h;=ÏXÅ:Œs­¶v/iÛ÷ gŒIÚE´qìvŒ.;e\ Ú’x‚Oúú˜Ð9QË yÿ²j}òÄVêSù$ª ›heÇp6„Õpí#÷ªÍŸ§®ŒÚ˜­p Øÿ2¡GFy·­[ÍËÚ‡ý}uQ Ç”yœwF²—s‚e­$le‡·÷“Þy„Õ¨>ª¼³åß‹ GHÕ3œJÁ­:£AÂÃÁ˜jÉìø¶ÉºüjœÒøWTÄé%>‹ÞÂòà \žv/ìA*"ˆ˜Ù"ܹ €´Á»[O_¦«n`/yÿd °&ž{þþ[‚y%nõŒÆ¿j–U;d­x]ö©gÚM(PJ¹‘…ÀqQΟYnî…aæ[#¾žóþ€O÷˜iBõ-yh^‡Ð«>­ÇUÚk³/‰^ae12_íj3ýF3äÅRg¥7«Žû­& š'û¢«öÚ§ Ù!ýol§ì×ÖÙrý ~Iõ2G“ŠŠŽýK,:»VüÈÍ?Û>óöK1…:1 ·Œ¿;Ú„¾RZœ™ôa-ß·¦/À:®êØ'Œ ×ò+OÜWàd¡^H"N9>Ìöì öZŽ pÚW#˜~½¾Ò7Ê0ØvXà{°e"ÖËÒ¥1û^­ëõù¬wb¿tU&&.*ʯbA¤!ˆ¯þf‡ùâÁsèH€ÊÂÝMIª™K¹ÉÄèiN<é-—~ÛØª1¥-%¶uQ 9À1ñv`•,ñà[úó˜Üöb¯e „ö;¾ IGe!uèÕ!=e>¨&³a»9iB¬C %îG󿙂 ©DÝî&ð„öõ~y‹k~]T JÔýAŽv=U©z‰37j×ùòUÅ!K(ð€£ê²æ¹LŽ8"íD= úXæßÒ×iسÒ-j{`=Ãó»×ÂãRy¤çpzIY”ß„é¡ZŒõý*§äB/güSœÀªá.†; Ì_$ ×÷Ô#§Å³ŸÏ˜ fç> ‰þÒ2¯ý×Z²>ô˜µ:áTÜó#åÓàpRNjBº4øGY¥õ ¸±þd "Xª«†÷ǽN³lòðU ¯öUçàÓYó¨µc‹GëÄŠû-YœŒ:q0«€c'i%wYÔô;Ï•Ì _¥¹EIˆ?J,o 1È‘,ÔâÈ7ñ0÷ÖbDx¸VÁUh’¹D¸Ä‘-ྫ°¢ðŽêýàý·Â>Ù‡^÷­ÝJ5Œ¤5áèdZ2—'+ï•DÔ†Äl+e2ÑðWZ¼ûÜÐàÅd±a1K«° S4f†º¡"Œ¢\€JÃŒB®›Y0¼Ðí±Ù9Õ}¤XÊdv'» ÷KYÁé¬ûàÑŠ¨Ö×Uô½Êô“µ24¶Ü¾7+–}/øÞ0ºQͪŸ_Æý!˜·ùP±5Xñ››ÃZ'EFò˜1cqûÔ6ÐIÏÕmTøJ©EžOE”Ð(­évãÿGûÓ.šô$£§Y·2êbÑÚÜôƒ“k€Ù/µÞõü)$Ì —©WôžfšGº‡c ¼ÛD Úìní"÷ÌmÒ zy>?.ÀNWÇp·ÚE«²À~›xšzí¡°±¾¾%fÜ÷–ƒ5¹#¬äš‹ÂƒÈ”"Þ¡*Ó2Ëüm\ Uv¬´óÄø\ýAOª±[R¨)úRê¸ñáU0àù®c´;…npÀó‹‹~ª@/v êÍàƒ«P“½‡Ö¤*×@ΗÕ?f ¥ý+úiìuY#µ 1,æXÄóÒšPØÑJ÷,­$ЃVTP;ON˜­2æ•6|pÍíš*”¤Ï ©• jïaã³&Ymw*¥Ô ÷B• ’À»Þ&Ö‡©EÖ¿”V‚‡)Ý5µe1{n§®8GëìÀÕz\²¢-AÂx)®™ñÉô°™km@\~ßêúÝÍd¸þYðŬˆº€ñ~°AË@Zji„9 [ÞÛbÏ"ùµŔ¤02 õ¬”P-몶H§9ͳ—ú( z"]­ÖI7<¥ÞÕœë”Ä÷ô$·Ì³Kð [ä·ö!˜ŠG/œ V˱œDÕo¦»#L;@kÉŒˆ ,°`àRÖ®‚ãð¸›!A‰Ýz¿xëéã‘Ï£exÄÀ}VÈ`Ò:þÅdš_ßü×57Ü©äýG›¸€§ûÇÛ>xîì`dß(Ü|ÀàK _õ1NCÎ$ “ %9€W­g4Os8†ï¾ ÎÈöÐÒÁ~©›ªl)ªSCkeLÚöcôþB&€Q××0UÔ 4oµ½”SÈz\–ƒSfÎ O»‘Là¦Ôk‹kà ¼}6Dlä¦.ˆCcŸ$åÈVçÅIdÝÖ¢HFmNWЉÍÁƒ‹®³P¦DY{§íPAkºç®Â‹b7çâÅôxtëŸs16¹ŒBˆµêX8ëw\Pwû…cãù¦!Ј ÄÞâ9Ã98Ãt;qª›+>·E9TGoþÔt£ðL Q\ГܥôÕŒß\¡~TV†C¿ˆuÍ„dnn`¨X¸òŽÃ3T2ºûI IÜwâKÚÐY²Êd94ibTë‚þ³$`ÕŠpßW _°Ñõ á´¨­^û0fˆ"@OSl±ºN’0|?Ï—-Úá ´—'¯‡MÐVh–f´vAôm¿×CܼH~´ßQrgèk‹¨L¦ÂItå©ýiTÁ×!B”ÓJCAª¦Xeß•®z·ð„§0‚û(«˜.ÔT˜! Ÿü(Uü’?Õ~ ÿè’èPy[Y_%[nToä†hIp‘¯ü<;g4Ð=„œ½%ËDnǾ-Ä—ÞÝXÅãê¯qÚ{í¦×|5ŽÂ¯·¦Èîk£Ó//,iðåÁõo­¤:Ë,.¥8y¶,8ÿ¬áÏbMÝÆ|ÚŠ£{oÔIÙab9MsYAµ¨¼-ꓞgw…®Â«×2|òÒÍÌ€˜×iR,’#ÉýÌ)g5r5Ê ã]%~tVoÖIjòp¦Êh¦àÏ(Nk0ÔRaÐáïÍâ\2å(@p+ø…›‡í«áë Qf8 Õº)Ó¨8ŒEYû+¶!õG—ÌU¿‹ÙŒ%.¿ãukÜ“»‰ß=†¨0¢kßBš•Ÿ^cÚí´÷‡ßʈ;dηöµÞKÅtrµÙˆym2³fÚcL¿ÖV¾t–ÿ5ºw$°¶:IÐj__Çâú‡³ìŠ·:˜iäK@/Š~-7Ñ8‰¸NŽúœ¨§n ”½‡ëÚŠË[•³²å£œ«ÌºßÿÞoçÿ4Ç6¤¡Ç$œ@òd´ºFŸ¾+測ëß×>×–»Ó¤Ó‹;º—ë¤-¶3)›žÄ„G…Ø“ÿóÑטRu`³,ãå¤wösïoŠÙ{}ãJQ…š›ëÎø·¯M½(ô†Œ”Z…oYM¡ëR——T;YŽêšÓéÑ„¢ùœ˜Š³¢ ¹BSA]—“ææ—û½rJðÀ²ÐÁÿ\·ð¦gO±§a&8ìÿЩJ M“-/HtÓï·òÔ:*·jŽué>À!«TµvíhköÁ’žH ”|Ù FNhVÔ_zÁĉL––¿ÞDda¨ð¥™3òwxyØUnà¶¹ma]e@‚𿣦%“èþl¼Ê}ÔÆžÅ,s¶cX&I\“­˜zw?ÓÔ l`êÈŒ0~m¹ªÊî-Ë)Lúì7äÉeÊ–ñ¦#ºÌ"ü_ñ–bë>ކtl›ëÖ/Ì5œó6WƯÒ0H“}ÃÔ/¤é-3Ž›íWª±òä²õÃ1é‡ýŬT)¡ÆÀØ.öA–ð¢•89³Âç*È@ÚèѲÀK–ugºåçÊâ8§r_þÄ¢¹ªGÓ!(ݰ¹g•¹üï^˜;kQ¸6m#‰Ê1, 3.=Úé{IŽ–Âmcóú‰ ¿HsQ€À^1´8ЗюÎý¯úBm*ãÇ4á—[ ‹cò–Üã”!F€ÊíbDz(O@ º† ç÷ªL·¦r {~¶…GDÏÀTë"vÙ;nGl Ψ$Zô-FîíÁô¿%Xésß/ßå1Q—#_ Û í“GLGÀŠþп‡Ô²]qÉðóO!àÃq¤ÿ#c§O¤F'‚ª_c,HÐÛ)"Ì¥ð/‚4ªí÷¨¯„1þ¬:h˜âˆ_÷Œ;S8/çØ9_Hùü,h@Ã4V¯ÇmBÖò ˜!ÏGyÕKMZ%=–>–‚<<ÑLœÈ‘&†¬Pù±5Ÿãï3ýq{ l¨ò‹²Ø‰Ä\õ´”’¾V©òÃâ¯û„hŽ=“«b¸…oå1±ÿØõKÍÛ¼$Ýf<©öNêÆÑ¸<%ò¥ØÝØU}Ä>®qV+R'9L3•;ÙaXžøN&D¢]4#§í˜õ w ;îrÑôû$5"ÉœšD\ÝÇ¢«ZHëx§Ï!H•iÜâoF GlRA¡kPhE‡Ä»ŒB'AAÍAq¬ŠÎì®3*q*þg®«P6ÏBp?8Ÿ¯k@•Ø­•Hqêc œN¸y ó iÝÔ‰à>:¯}q‡ÝÆ÷Bîo¢z6Fƒ„öŒ02ØÒÁŽš¼ÿãqÄ‘g¬šûIi ÆÔå¿}Rt¡E&!g¢¾Éٚɋŵ9GÏ%zMHQê,qÔ}SVŒ$/™4‚Ú vÅðj[õ’ql蔂º¨šì}3DUá¥( æ›nHÜ2jºË>¸SlÂÒ”r~øžð ÍT´ýXÎOÛÐÛw†)”ÀGÿ† lò]´ëaª('5°ûZEl3Ù`=œŒûeDVÌ/“¸œ.ü°ö%äÿëæŸVœ‹Øk»ý‡1ÛU¸•$RÃ5Çø“DT¡O[Amï…Ü«Qgiˆ±Æ9ª5™uͤ8‘@fÚæ¹!ë#FºëdŸQ¡V“ÀO -2b“Z—!:9ŠEò.¹Ã!…[ßÉvpQ°®HÐÁ“S,ÕÀRYVÙ.0ª©2Q•¡VèŽm3&øü „Elºßï^KЊYc29ô»¥L€€Wk—CêÅ´P­À·ŽSaÚ X­l²ÛyÂèZ)I0¶iC$-3ÎH‡„`ñd‡„ŠEÚûƒŠáÀÚ j-6Æ…v§l÷¶4b;§ÂžÈ|Ì’Ãʺý‘â„òôßFpµéà­–™Å:Ž3é)J–ö2ê„§ìI–jr˜ð;šjQ‚ô&sfsdGe^RŒú_ƒû4û®öBaý¸ÚEe Z[’XùqZýéÊa…ªŸ¥‰|ºêqD¡ÞÞÖE¤<È2—«) riô›GCÔÕjž*úgUäg^|»gµ2ó³ZÖÕ MN»Ü…lªÉßû©Røþ}5ê,#ßœø BöƒÃí~%¢RÃÊñ%šáî-™:rgãpr ©–gíêདbU–r.&Ç4äð Žÿ/ð-'æˆW¿'®\šÜb*æÆˆ¾•M‘GæCÒßɆ¶V÷î¨]|¥ðÃërmwn·¹¦ZŒæ¾cЉ2FË'Ýçb³ÖVÑIò=ÉÔ‡±ÎT¼Ó£JÓx¹ÔûQø—¡ÿˆßj[+Z‚Úb/x.+Zô0œ5ï‡Lu|aÖÔFx— lã¾õYå1ü&k )Yiebrû%ÉØÀäÊUVÁ“‚©8.ܦyž[OfåUÌÞ7±¹Ú{A§”D ” ZUt|pôà‘¥WœŠ6C4ª'ÝÌçÝÓª)m~$ˆY{øD3šti<‰+å0deŽMÎwšŸÆª½:ÊQÔyE4qµ}B+ЖåáÝž†ÌÎ÷«ûpËzºèb‹asrå6ìÝ:CÈ¡$¼MÔ‹R¥ ÃÇ%ïAæŒÙÞ>iºMòJvYÔFù»—B•…‹}l/Y•y^[Õ—ªÿñŠy ÖÏÌeÈ‡ï £Ù€ˆNòª¸éBNŸV"O0˜¬¬½÷…_¿P®4FÑ“Íj\+$kc¬¡Rx w#XvÁšøÃŒ½Æ¤«r±ƒ‰È+™|þV†7ú Œ1×¾Ž~îÿåK+ ð©X|eQ¦#IV¤-Íé•SRánU7Ý…@síYRšÁ‰’àÏé|slI90‚¦Á)='ê6©.ã¢y±’¤é<¡°ÌrÞ9ைåp·¤ëåÆùÚå±á+ C÷íºIüÖËh©Æf/RWǾí@[.Ñô¤ÙŸÁæÒÈa¸;ô£ I…ãLq0™ÿÌ~I1±üÖͬÕ ×¤G––'€~„†àÝ ãælŠK%6‘')’•ö Ö­È#±5²×¯M+£rs7x0uÉ KY8ü%XFIIÓܸüãxQÞâSðågÊ9wº]qÐEÍ~¬•/Äøgz\(g±¹è"?áèÏÕDÄÞzÛβ#yúµí…Eüå ïZît´)gl™¦VÅ4üc8h^†äŽõøô´¨ö—PØ.ÎÒ¤G~÷†«=çŽ)Y™È]TÒKú €Tvب‹§ß×Ñê¾×ª¤ˆ÷MmøÛð»ÝrñÞµ¸³Ø~?Ü8cÙë‚¶¤A˜ÈSÿ§°¢%ýî¤<_àÑDðªÄvì߸Ô×>ïA½ø¢Ý©Iîðw U]”Öbu­J›ÁöŸ¢CÕfïñ˜ˆkoÞY qE¸»1,»U/‚ƒ‡óìG”¯†÷Ôe7LJòÔ‚³…ôŠfšám¼6pÔ\Q|éøƒà «›Äšqµw3eñÚh‰W0‡FQ>éÂ¥gY’T`832<¯6Aþ¾b'3'U¹Üÿ¤Ù¼ÎÅ,'ؑٞ|E'/våoHU£jG|,´)¯Â+l”Û¯xD }宥ÅÌÕIåµKØcR±'xä£ Ê¶/¿š)ñZ}4Ft@˜kH E~}g•”ëí8û`Zúe‚ {9í ‘¨MˬÆö‡Ž\f% ›“†o…k‡œÔâ`ôÍ$ç0ßµµD,*YóÒog² óç&éN ïüX×/ðì"ZÓHÔÜÇaÑ>¿¤?G]LVí7õ¸â¥Í×±¡ÙóCVcz{Å9Â"`¾3åp ÁPf6_÷® lÆÞËA|QyM-;°¡(^oÙR Kyôt’j]¾øc¨Bvš_ù5&|¿æÃ°ø…×~ºì[ªï?{…ÛéœL®6ÖKðÜF ’³ç}g“óö‘ÝF܉«Å±Ï¥¨šÀø-±¢’ÒȺNpÕöxev0€;fuœ¶S]õÉßãëHå¸XSrÈwSÙé•w¼j¿}C`Án·ÒXm™†Ê[Ÿt"áB «yñ‹h„ð~_ЇÇŸ‰Ä AãÓ—íÄôeÿ‰æP Ri¬U·ÍXÛZ%lÔ«l÷¬5!™êé3·ž‘o>œ]u¶ô‘Rª‚É­.ßDÛp>.²Ä÷Ã9:þõÃÌ \o~oí"ð ÷’Ô©xçA>¢?¯‡f+õ.€"* Ô•Œ,Šõ%£ð_Ê»ù\曋¡-´ÞYÎQ?Z¬këˆ/™ÔþøqyþÜ7ŠŠáÛ*eÃã_°QßwÄN¾Nâ²æŽà‡Ìjëeœ£XàDjÄ{ø2§Õà㶪Ê04‰¾ÛÃ]ló¼*>ÿÒ:¦Ë¡¨¹Ó“—ºj)2ÖðºeRR”jºä†•nø7Š..Û:bU‹¶ Úü{ ™~¯›ÇbД—h¯üè²…]AŽa;¡Ñbeï òõ*…ÒPÆ,›k¯)¯>C®€JŸ„T^“™+Ï¥\îmÞÔ°{sLŒXÂЕ‰r+¼S×j—þ7CÃ>ªàô¡”JdÙfJýí¦’®¬›±æ«Ï¦4X¾7=ù<Äœ²l°Šy§ülJ©ñœYEøò¤øKòk3áŒ~®uÂÀxÖSÇHQoì”l=mðÆíÜm5œ®#YÑ뱯5µÆ¨2ÁÉqùq¨ªäB4„¶W¸Ç\2ÉùfýU=êa. ÿBs0AIÅ܇•j5꥔ÅL¢*5€‰ s†º¬à$e‡'Çn»ª…Q#n2K|P)Œ)è=öm o¨ocC›­}ala ôrlÃŒ«ú—ÚiM$*%Ô¢3Ç!™œÑWBË«e>Y²d ¿¤G‹µü»{›¸³ž·DÏš}$¼®íc×G1ØU¾h:è6¸3†5Û‹Žôòé"»†QcC2ß&ZÂ"V¹%è\7ùf™{Ë0ÛÖ‘g÷mÈÐÜÖãÒ/- D¶¶#gÔK0$ÄËLµZ0÷vÚÂzЉЙÃ`ÀƲ1üD,Íœ BƒÝ…Kñ8×!FÞí‡Çs2…rBKXØçŸÂJ”¸IpTõô=²o81÷¯ù‹†-•æ“£ZÎuŽŽwC|¥ na!+šƒÖ =’Ñ»puº$È«Œµñà œèÜå&‘Ö»CÝ칦P_ !Ž\iyÞrƒx^·†©˜i2ì ^lg†‚4´ÄlÊùóÙAªÄj~êÞ}$Æ%µâuCäª~_Z$ºù&N•gˆm§Üsç¤ìü¹Ï­‹lÞ35Z—U<ùx8Ó¢¢þÿÁ{%d Ú~­Ç‡ë5Áä†ë¿•ë*R¯úTXR žGÚ>d!¸ú”ô¤¤Žy YÃgíwjI|E•z-eʵÀÎ| { »ÿdŠÿ¸2Ôyx!,pI)º /(q*ó®.ÒwÙ\—Û¸Ì%pNÈ­b'`¥ö]ð®Ú}"tâEÍ ˆ=äIp sÇŒàä€/ÝHUx‰1›ŸtåÕ!ï[p²¶Ÿ¤sÕ/®âm.ðžÏ*[ÈÓ¡Ö§K³ºº’ò­Á1D,uÊYÂ?AW?µÕ4\Þ8=&ïD@ÅšñÞ¯æÔ)2{ˆþÄðãèÒ«ÓþOC`±ŒÆ­ËÚ:b¶ÍÖ ì=§8ÃL…T~¬Aä'g[õ•ÿ3U€Š’GI&gºÂŽ÷—lÒ5Æ';/¸I91FÕ€=ð€,­ˆŽi±ÙŒgðj\ñ¥ÚÃ× _“Ç;Wž‰‘dÈ1W€ ŸùïÔa“ü$íG "K =[û su»Ä"¶h¹óÒþöí˜âU‹›<¤Æ<ƒÍúž÷ƒÐÕD\A ñ„ÿVÞ ¾•ò}ÑMÒ8`(Iw:Œ¦ þ)Ί jï™_ñŠW¾Vün‚ –_ñ…Ç:è›ü ƒ¨ÓoŸ)>½÷…¼»Ø‘ÐD²úa( 1%¢Ø›& ”eäzht+(höÛ ø|ŸSre¯Ópùç)Fv'”HÙÔ\GyÛNjñkZ; kwÔ`LçO ·!ӿƯÀR³äßêXšUÈÀ¦²oÅð6RUÀo¶{×–lÝ‹ðÁƒMßqpò†zð‡liºï}ßOôÈN½VºØ]_v^ӱ怅¢­²\ˆP˜ØgÝ^;½Ÿ8ó Ñ ž3IKƒÙaˆ„ Hq¢hÞB†Ööf;Û—Ù )}ü³ì¸zìkæ±9¢¾º2uŸ`Ð,ZëEߟ,__ø&gÞî³™Úmô¸Èpñ¯ä…ßs•¯¤ýÞü,LÓ©tóí^29XIÞ¾ï¯ps­MžÄˆBX($j(w,ü÷AQØPhÓÏG‘UwjsÚÆ]ò©"UTÐ&Ö¦b¬²Šø@‘.'#¾N”­!B&¹¼-@‚Ù*ê.m†•q£ˆ˜Óìz!º¦ãlý—‚ï24Š0m•›yézö903”Ør7>¾!Qi/,oœ“îÈë{N涺àŽU«·Æè'lqL¢q¥]bæÛuí>¥C@qß‘ÊÂxoˆÇ˜á¬€B¸#×{† B;9çÑ~… ²4ˆUŸw@e±`g8ð­Ó(Ëdh§¾¡Š8|hëôNàyÈØ÷°:_D»cl,F¿K*KÔi¸ÇhB»Ÿ¡•ÝPÏ69IÜð™c`m`töÚ-ï„£óz^³F*NÞMý²D={–iÿ$ëÈÊ7;¸ly¤z.é¨)b¤‚œ˜ä{Ô=|:;sp¤ÊrÑÝU]ÝÇØ‘eiJÔDDéA’8T;(ûw‹¼-ÄÑùñj³F… ·©Ïª^”34g¤I!D:‘o=ЯÑH&çì5¥L˜uéõ_Õ†Àý-Pa«£©Ií Dÿ™õ,Œãtù¸9>ò]ÿå2¯§cí´'<ˆç2åßÈ!/Kb)нv ,}†”Ç=`謫éŠC– '*‡™ŠuàÓV K‹»ºc.7’Õè‹iÁ‘Ç…GÅOØÑ•NöØ~ƒ¿kâÃÍ ª" IãL×kóûŠÿ]´.£Šo]!0ë£2”Öy_l¸yû^yˆ¯-=;ï:Açrê­Çš¡ ³ü\] òÂQO¤°÷ºO’œÄóŸ(#m¨²é 3‰À”& ü*N lÖWò€š¶^aP4|È7®$p8äÁˆøþ¹0S`V¾¨µS–ˆIÜæ @u¿dKÞfƳö½íÿÚ0á(ÙU`ÍÀîÒÈ•¾u{TÕÊ¥þÜ D²o\f«Šð§ô†¢–©Né J`LÕ”[˜¯;†x­yA·D)ïlI¢F;ÿ†í«¶}0¸î<,)š‡Ë.ú~,Ô‘Ï%V0Œþ¼ mº ÜD[nЩö4 l$$ÔgþD)$l†?Û:LgG¿ ?A#µ`¬ÄÑuEEߎÉ~üR,ÃÝÄ'”×ôˆ>¢è¹¢°Ê§4šìx=šÌÉYj_í,§rÁ^–{81ÛÌL {¡6<:Bß%2cƒnQ&ͫРq2Se]k†D\qéC[(ž¬Ñ:%0xiôÇñ w±™çÔÇ™ªÜ)GGšÙç: ƒ’‡Ÿ«ÍÐÃÍ%…fÀO¶Q[Ü;óοë_xÙ »m— ÀÂÖ¶Î-f5`RdÕÅ^°?Ö´á¼m¡&Ïöa²ÅM %ppÆÖÀç¦k?˜Æsð# 5Y#ûÖ ±ÕVulšäõ‹ÞB«H§¬$BÏzU&UUÂL—Š8¨›_Gˆ“ÇÃÃMdµ–Î@‹†&ïÈòò:;4ŒžBz»iFÀ•½³0ÍÌgÀíÒ}Ù³‚ØËýæÙ\ ¡æ«òoã P#áSñÑs’­p°޳. õúÎ˦—'`զߟ‘{«@õª2ž%_c²ƒ;Ú•,ùÿv—V<êìÚ.¶—’ïËÌPîµ7™ÖžÃ¬plž¢~ÕÒ•ˆ¤¤ÅñÐØ˜Â‘±vÕTž×ëœ×Ì&”gEB|JcÌZ©å?Ó³Q¾Ã¶‡…´ZöûôTã}²½‘†ü_`Y ûøšQG¸k@ÆEáéå‘d4¾-HbvJùEo‚˜Úg§¬Ù$Œ.ˆó æ¬?+4³NÆ™.¶srãÇ`&bk|P•| Rœ>-@ÁáI;MO!þn[kÜÇa7rDiA®^híOw‚ ¤,½²;Þ6€.6³0éÜo¶ìP,•¬wÔ6 òŽïõbkÈêùO# þ[¨%´šCJáßfL"Fh3.˜³²zsÛd<‘£íä¾nM¤|ˆƒõK†5K^¯ÒHSŽ_fw|6êîFLä,k#á>º‡­˜ÆÃ‘Mã,ôºçÀ%®Í‘Õš?ý×pü30ß¾ÕjJÖ´&âVqfÀÖWý}褞—·BÖFD`>}±‹$»LÁÂÎ^ c4…­~©xÉ»j^yPþN!q•³¹)ìW½ôU"Ã_âI+ÌŒ%Ç›ñCo4÷œÑÝ2"EÑí¡„Ï®µÚ—Ï|8ª5Mí¾Áᛎ¥Ôu6W1曄VíG4:‘ðþ«¼ÐÁð÷àH¨Ö¾¸@ÓQ"r ‚ω$ÍiÛãî)‘J uJ¼ 5¼Âþ߆¥1ñx<*ˆ_\ؼ žŒñ¼ªõ”ûýXFÅ(.ÊpSëÆWßq¿LÄ)4 4G°Ë®S> ÛÄÔS EX0êj}$pKÅ~ý>Æ îéÄ{÷>,O¯ T|Vô‹ªûN­gÓ©ct¬Ý¬ætÑ«åô¢×¿Â¶ì¯m= ¢“J8U@*‡™'Z‰jýaÈ^à‰ÖHû𽃺¤ç•“Ii»Ú#ƒMåw/yN……!:!ýmP»'ÕÀïߡ߿­ís·rý­9‰Ãv;?þ†Þa*a/³˜Õc‡n¢j¬í»ôfñN+«`#…b¸1ª—ßfrð^Þ›m6 `·§zvÃQíP+•ìúº5 yª¼ˆ ¼yë >½ÝvÕ'N ~bt‚îZˆ¬^Ù‰|· ã3Ò¥DfCxBÐG]o•£ä6èC{"÷UiüÄÌ´e)6 èaòÝhäç@”f¸éÃFmfQý,o<œª1ÇwlH®/ÐÐory˜§WèÕ8y]["¿‹Bƒì.³ñ6²ý6F§{êt5S”æ¾YóšÍ/J½ÇÑ;Öê±ùþã¿{¦H1ú¯z%#=©")â°Ù¿ÉV¤¡Rþ’‚Ò¯;K,¬`ÿê,S$—yǺPbw {\ŠÈÌ >d@†%¹:ÐxñÃ(ó¤Ì)ÑÐPèù«:æBµ`ú ØÒn4ÃÈŽ¯­Ì݉,pK°?Åþ@Ò¹ŸDÀ{¢ Â.c½7×I]òr@úÆGozs Öm)Ý1öŒÓêØ‹“Js 3<(ˆM噫°B-½x´Lňµ±}Úóä,ÀšT!<»ªÂxsjí"§Î¯½ ï'˜µ#¯FÝ¤äœ ž‹P‘ãæ¯×ÝZ·ì&ç ËrÎÊì»( @͉˜œs–Î4ÛËׇ«=ð$(Ð~.›0tŸ¹š$Bʨn ?|Og/õ×L'â,Ÿf¶¥ §jÕ”1{ãEÝ£ða&lGoŒÝ äCë¾xü¿¤ö;ùå±›£°_I¥‚¨Ö€äézâøÒ4ÆáiˆÔë{á…ÕÀî&p°pÁâÁWà¥ørmˆÜ¶Úwj´×ÔÛ’F1£…a,0N=]ãZ¬Ú»Ÿ°|žbô:Äm «ªGí*‘ÍF(Bju/çb™«â ‡/¬A€µ7¼O ä„ïÛ…‰îº5˜!³Ð(~¹ˆrï’õÄÙe¢“wŠã±S?ˆ¼“Çé¡ì«¥Ì¹Ì¸ØW’”Ë?œ H1¹»C£1yMs˜ÌŒKJva+»‡m|ýlÖ0g¦" þReØzj"ž [@3¶k¯°±ª–É$ ´&úM3>õy!ã’/¯âíky´©0ÐËv¼InÕ¢ýFÕÌû ÖJ˜•&Èæöà§,ñ²Ib ƒÂо¢7©ðÁQA¿:Óßèû<ðà˜¬ù Ùïdy‘ñ¤Ý7ò ã‰à>?ñ1‰ yå ¤Bäþ¦ë•ÔD3.Œ£OÖ%˜"$°1㸢ÎÚžÀΣY«u‚¦<‡—€FwµO|ÖPFZ°.Ö &ßn„—žÛ¸½åƒ¹†qÝ*x;VÑÝ÷>)&™Ýî)ë0`O0îZyyõ ­ y>BC‘P,ñ)@ :Da·c{X)t?¢Wz‹0ú£bÓ†ã Ý‘ åhÄLª‡¢Å‚§ÒÜÿðùÙ=êéÓLÚ_‰6dK0,ÈéÁÍ¡SçTsÉ·¿ºÖ(+#->²—w‚'ßk{è³FWºÞ´^âi*)”3–&š&–ÁƒE‹¸>è"¿pUbÆÐÝ[‘A¡!Æ:5fØè»ã$Í‚eªçàz¿Ük|±²£I{æøÀwl«WŽø@­ÓMýÊ^þïA «$KÃ)a´øÜù{iBGis1ì¢2):#XVýöž½’A ãž/Ïã7â*ÈÞäPжy©|ïÕ vD‰¯ƒ§TúybÚqÎ.æXnŠB´¢> âϾÚ•êv†©P€×ÿÔ©¯*l<_·ç7",ûlIªY´1& Ì(͇TårEÀkö1Ÿžad/'¬<¸7/Š¢î¤Ž3ô-׉âZ“PÖ%ŸàðT®fÙüûùÜJ°¢cðÎ «žV!žb‹ÙnÆOÌûÈåBâè@»»O_ E¤É)oïý‡3Ì~ß+ÕÛ-!‚Ä ÐYÎÚœÈÆ ¡f|׸H+-y—Ì}˜pÜO@Övõýƒ¾µi¸õ+"Qhë[±Lχÿ¤Õ1Q~Ú)ˆ“øüœö\|¡Š6œ-1ðQÀ2D1,/ÂcÍÿÀkª­®ù_ìVñ<§á1±ÆKÓ­9ë®ÖýzȤùÐ/š/|‹ÔIåû›©¼„kA†Il¹=m6¿{ûx¦¤wªÛ\ÄÔú–&ô·´V^CÊõ5´,³=ù Ù=äVÚ³·ç†“ënp#Ä}¶(3Í ErÕ¼A×5Õ° êžVDÞ„ýSºo%ãÓ{ ÛeH£ µWvce'è§ë kš¡Ý[Ë»4 5ª¬ äñW›;íñ#ñizÏK —ª¥6t_4ÓùDÐç7…¸†´E¿ Ñû«XÕ*¸骞íÁj§ŽÄZ'&àyb’TfD?¤úŒ÷pa×cœ|Ѧ’)¢ŠêÕÄ3vœ‰£,d܃0$H@’D È°w0i>ï4îÿŒñèTƒ¹B·ÜÌy„õ0Ó¸ñ¨KDlð×9ªà.9­N§7õwBåLÃཪß&aù[eGØÃ!ükXo+®=QÉ ‹Åp}¨äD}@Œ†¿1=šv1šÓD{ÕUOp"rë{Ãå1È(¬Å‚[À+»è¿°¡iàút$-ÿÎ7̨[^ê``ìU‹MËþë?Ù‡½I7@ç,ß6³{ú¥g¯L—ÇcYz#A}‰ ±l¿ö¶7–ÁVˆí¸°tæ<õÍI?¬:ô¸(#vTB° )MixØuTÓÜ^¢Ý’9­n>ÆÕ½N/L‰rÂïÆýÆ<ž™/Z¬ Ýþdô­E\H¤q÷dMëÞ«d u37OÐSp¶$¾åú¥*Å&Kœ â{í#©Ì‰Ã.b%wÌ×RE¸,æ£ÿË´ïLdJB4PB‚×&BüXò^ C `Ró<,úœ Ä÷·Â˜QÕC¨Ù±àÉÃßâØÝ*YûØïÙ$pÈŒL…=©„ª}ÎF3‰am#0¼÷‡sqÌÿ•&œb] 2s8}/T\z,f,9C«Û«`6{™@Ó?AØ~øf Å˲íÒáb 5×§¿ºj^òú_ÌK™» ô[C¿þÿø%ÐØ]–u bªó‚T„i8jÎj5è:lÅ´•^A^¨¶†P¥ËZæi®ÀŒÛáÃ;—„øKÆÍ¼Vìé„sG¦¤¿ ¢¢ ¼w˜}º¸ïÎÉ}4ƒVH«%ò±º™³aQáµÉÈzM¥yœq°Z“ñ÷ñÁ )¨K¼:#:ic‹ð”˜œ‚ú:ö2[deV@…ê ¯dÂ)¸ÿƒ•Òf=B:$±Àj°žãŽž<ÿÞŸ'7É®ãø:düÆø!Ø.{™=½ ›¬빓ú^DütÒW&f ÊÌ|¨)Ð ²„EÕåÃ-b/´FýŸ±‹?E ‚NCÓsª?ø›¹$Êë^•<2WT[mÊK?·3]'?0Mvv˜Ž0'–TG•0¯*>)~ºšž^Âß*A\”‘쵌è¦ñ¬<üä_—póÍKrÅÚæòWX¥vmF×Ï]¿J“:ÝðaT¥2Cgvƒðè[¯ÂbêVØ}#´W×"xa”1™»jnüµL»ÒÌ¢³Å\1ÝQº…ßi”Yy¯3>Üð»)¸ID¢íÙŒÅå°»›Ÿó=Ù%Ôt.G¥ å¡27)eRN”mnB•7X¬máß RïOÃÙé·ÏÖÿG¼›£ÜJoj èNx¼~6¥D¨•¿¹£­ë=™mâ<~}[ÎÀÈêöÓÛ5à´HI[·¡Œsd¢uÙì¸&÷3" 7ÃI£?jöA¯,îµ›?,û² lp"Ý©[!ûÌ…è["7” :þ¡H¨ÍFS¶.qü×ÿë¤ÿ&ÒÑ›!£Y¡yq‰Fl¡+…·_–ŒøþðLý`„gŸŠ™¯ý¨F:°-È¢1߬nZbÛ–qÊ’ô‚÷ÜÛðÇ<à—ø*H55ûQ6|Â+Ì¢’ÈsÆPÏš2¶–$¨1–—‘n@ßS¥ˆ.ÖU.å Š0ÛuèÛAð5ò³õ*ŒÆó„S-Í•îÁþΠqù'an=Tù óu´{ZiÁ£x3H²y+=äâ,.—8q2žÈ²›ŸsÒv¤:G1\‡d[‚kÓ>·yÀå$µ8þ4x‡Þ_Åu_kÒöÚÊÀ\=mJÔ‘û­šêæI•dœeŠjF> ˜}ßn§õ¤wy¢  Cú‡X­)Ã*įE?ó4Ù1)„h2–£wL‘1cšm‡ר{ƒ²®‹ZÉËUsYq,SV;z@ËVŸ¨Ž+8&ûý,.fg°9WøéGÔ®i–€“TVyC«³(øƒà"°Ù(¥‹ËôD;Zbzîc”FMJ)Hëí;Ó´¯|È'¶kTΙ¾îkIEFøZkµ×-„aÇO-.ÒÇsŽ}Þ9à­Z8®Õçí÷úI‰!’CÓ7Hú›“µ–'·ˆáOuPlS;i¢ÔÏ—³®øç3 l)Ä);žx!˜OºñKç7–ùmƒ$Íó`æçÁè·Ã$F% ]ÅTzɃBƒ³^ÅrȽw )zÜäYSt䙞9Póx!§C•ñ8W]|î–÷ ÒîÛ‡5.«‘ ʉ0 .`äÂèiv=îâ2XT}„ ´I ê¬T“Há MæÍfü¹g,{øšœlëÂs]føeÇwe\6?US b'í ªþŠÂÅVJ+>U¸Óq¨®ô:bdï•þÊI[Ì#¢ñë4mH˜j<^Î|‡ã™½h± $ðf¼Éf2²Z€ëk™ <÷b½ÜI,/ÜÀq ÝÏŽ'ÛËÈí»;×?ü(űÜÜ–ô rš§1•M#öt8Ÿ ^—„„³åŸ VÐÀ3.ÉeðͲR*‰ÿDpæ‚ÝVÈY…hìÏÄsPîÉ$ÌÖQ Ç-WM¡êy°¨ÌARϹ§t]*lµœ4IAc¤÷Ø¥ã|noJ‰EL Ë‘^Pê³æÅòª\·Ó‚–³v|æ´0ꈦç:v Mô\JU˜Í®‡µCdÿ\kãfÅ.}¬–â6a3XĶ…ƒBÀ&±ôW–Wiø8ë-H<Ýkø>þ­ºýmá~´Àßóœ%£r:¹Óé;\ax'à¶« ¾‡¡;K}ƒÊt!wúDyéaö¤èIŠs`’ðÉÚü\ N8™ õ¨ý÷Ïã¦jј"³.gA$. 1®Qp‡£!~™_öÌÑÄ›>Ý{j|íid’>FìOU_ÛžšN˜Be vÝ€5¡È*(õøxÏÉ6Í›\î/WÜ*{%?L¹„aƼ8v7ÒGåbÄ:[Ø@™JPÆs—bŽ w%È–ß»Ù*ÈoœdÛ €Éƒw£^D´ÞÎK~¸Ä8Ïð,‘tb•!!öY³·2;H?>¨çcYñ‘Ŭ~AÎ6àeµ°Óù`Þt|[§Uó@9|YÛ‹ŽÒ„õ_)^£È*ˆZŽ3˪FÞêȾ‹ÒiÜC|:IcBÔ\J“¨z§(Ž\Uà5Ía*Q”Ûб }—ú-”&_¨G ÁQµ‰Ó¾KÕÌö« l—OŸÛØÏËùÜ{饅'=øŠ¾y[Š–Ü-ëB)F?äš¹såÅÁ…q¾½BÚu±l]r¡¶†ç3°N­Ûx/ßgõJª'»ó0*Æ`óÌ]¾¶æ³>D¶Q£Y·{B3N5©‘#Kÿ²Ãr¸ê"4êá´«•ÙÌW©#)„Whæ­®Ž´Åc27%id*öæUSþvzæŒK`rº"ìýlrT,Í©±Û¡Z|I[jûŠÙRyÑkM†lÏÛ«‰º<_«"1ÓÚèãniƒ,R%&ñ÷Ë+D$‰'ƒ Q°þjÅzK£ÚÁ Ô4Ë ÃºpÇ`2m$ývc"ôgþ”,‹çèQ#=pyF½,ÐÖãÿƒÆ“†&¼çaߎyÈÖ'3f{ðÝÞ‚sÒ»M«½X±'Wm kw,ž»\ˆ}ÛGw5þÀîÄc9"Óa‡»Ç7ž|:.{o=Cw>+õ+†×Z,”À=ÀÛ›´‚¼ ×UöboÜc•A,8zm¥-Íðøæ„¿½n#L€/ù’Š OÜ5¼^¤žg֌קôµe•YyP²É5¿_3>“‘i+~B;ZMïáÀû®$”/< QI c$$kS\)]<"®õ|ÙC(“ƒpõТÁ†ÁßkS|5ÜÎÉÇÔ¬9˜ rY¾>òW7ê2Màþã'ÙìýõDOðèòé†VÑzÙÚyBë‘Ô´òÖÊiÛ®ßfZ±ê_û5N‹kè¬R›©|ú8L•žBš_³Q[¹FSìeðx ±«EŸž„ BÌå‰k±N„í½5œè2ok™ ‘Qji §½"4¡4¥cÉ ¨1 t;„eÈÈñŽ1µýããK5¿Ö…\²ùØz§1>Ÿ Ï@cëgUùà`•˜fӶΉ´ífºù¾(Å/>¾»¡ØÄ‰9 ð–ëzIV]¥D˺hÛ- \ ~]2ú¸B×ÐÂù¿ùžßçOUÔMô Ý2…ì„«©VËÔÇÇK€É­n‘b—î×Kï§=Ën[›ÄBPlƒÆÓö3ã¨׉œ<“ k~·uzì:w±¯(²[AúÊó×ÃË1žq±þ%yŠH—ÛÑ«Šöþ-7Ër ¤Ûa•¤’Ýð,Õ`§dðËŠ³.sCú. žp:ú"¢*9¤DBÅ2Pªµ( Ûb7¾}ŠcÒÆ ³M ›Š ÜæÖxÇ$îÖó °úî¼4†m¦$³ £ÞKæ7ß,®v6ëp\6ôÃIËq¡·s‹{&žý«®ù©b: ˆô‚IÇS£%R# ¾v©?(?•¯Ææ;€t<훲Ž7b|ÅÇn߸=¸pWXµx.z[áíþ§òk3ЛY‡Œ™Ìù·SåÀ2 $^ )š «8°·^ò'M9bÙ!߯Øû– ç?˜R¤õc#¬ ?¥àLý”`ñ‰$ªª3uàËU9d^é°Ï|ÕI }Y9áV‰Ž•fÛžv¸¾Lh“èüe)Ô¨OrsÓà\Ñ(0Ž›âºÙáC»o šç|v…«Õs13Età¼r›PR¹30v„è$”€8ÇR´åZEC6i±—r \'c¤6Þ§pØ,¾;·©0ÌŠ¢+%¢q/Ážï¿¿-æàáµcçý!(u›-ÄÆ)h­ il¿‰7ŒéŠ5¿Ùâ×U˜¤p¨0ˆ–&„t#yªtO18÷T‚ ½Ë.³T[ðá`·#S–èœL„ ±uLÊxH%›V<Úц&ÿËœOù˜gT …‰[²(—À4Ò Ìî UŸ=JîØŠ¼Ô¥‹™/Ãuè9¶½Õ»â¸ -x¦ν 9Ò&ûfþ/'ɧö‹Û(·˜ mžÀY™egùõµ<@× 4^þµÚ zY…ºNõ”PèÑ}aU¿ÀuždTrel®Š=±0$r Ø<ª,í£˜?“ ~/J @ž ð ý>Gž•~Í(xñ¼ Á·)éx¼¤…î‘ö¿bðX4‰Pó./qz4»uƒctçü¿OîR¡B^„(61òš‘öèd\=žƒüîÅŽlP4õxCÉri¢ìÃér¥Iéìg‡©+\äÇa7ŒX”$z†h$]b`3qò¿ »©9î½/ . Ù6 ÷{@Ê¿~ˆ?h”Ê d#Ê©BµË͇&ÄÊž.Üäl ÐwÄç$ÄÆz£¶ÆÜ®}¦»fcóÔõôÃüY)…ñ¨°ï¼ì1ÍÞ TÚî»k%×ü^Ý–L²•ÛUi_ óØâß®ÝGYJB‰¾D¸ñÅ_~ê„SºÎPùEí=ÕIƒMYE¤m`^—&†ê¡†¼åkØ7¤™9Öxçß>—?Îóâ6UJ§ì'ŒÏs»¡y“ºÏ]µ¢JL;Ó¤ÚíÉßÔÓD QNÁàÆB"|ˆ3u²­ÌÒ̃•„kd¶ÕWÒ#‰Xv(ðÞ;œ‡@±,RñD$Ï-e ¯DõòioâM€£¶˜š@\µEÁc-ýOÖŒRºÎr 0¬ˆM»“å$¿üªöÔŸšÂnðü þ¼‹@»‰÷¿TßÖÑÔ/ü4©¸+Ž;ã¦$Cô0ü~Ÿö¾)£tÃŽºW™[——C6æ OƒQ3öNë“Fö8 †¾Úeʼ0žÐG…(þ+7"©ëÙÇaô?æ¶èùìæÅ•Nœ™}|(ðù¼.a{½»ù”1¾[ãO*VÌ ¤8Ãìoâ×_#1Jââb¦Ä@bT*FR^œ[aIæva•‡øxp $õJ4XåZÐᬇ\fž#O]G¾ÃPÝ }?R´=ñp@lbYãs*ñQélVп_ÝqìÏuZ´P\éØ=­rw3µ)å¿^ü*7 ˜¬ƒÈ×ë¯Í‚ œ^ÄüÉÛ.Š¡hÿÎÆgMnWíeTg¡ú¡ï[ ´FR°T»qÅÅðŠÛ _Œ=íÀ¡)²ÁÅä‰?z›~8¾ùj0Ž}~}O„¡õèCæú?F;€Gù¶òÎ üÉÓ‹TµÎ–‚D§¯â=doÅê&GÃDU]óÎî wI#`,}"ß—íT‘õgÅy7Ž©W”øTK˜‡f’)7r¥!ù½ÔÔ‚&ë‘n•7Iù È+>4ù™³¦úÝ-5ë2«ão;§f“oÆC/Ê&1fãØ ¡ŽœŒ£ÍÉýñGl±r+òé]l´”qÄp³»*úDTzÂGà$'€IöPço²îT™œ£ºØüÃ(KÎIN’$O·T»htp°Z†Ö †V¨`X|U™»³gPü5W9AFO'¾6­½îÞÖ4_·úòà„õ\Sî‰Ì9gCIé†ÿ(¡?V¢—Á¬€Ä±:"üÎE„+³×#޾ÖeຓÌô_-n )—êóø…«ðï·ue[¢œ-y³h«°ª¦~@ØÇrØËž”‹r]OYïC[2½osƒ²ÝóÓ—gs´Ž$ FÚv&Œc¨Ãß6œÇÙaw_ ,²ƒ1\ ƒðPªÚr?(Ò¯v â 3^9ò;ëñ´yýÈæ˜ëE¿\=¢· ÉÙÖŸ¾~Ÿ%ôÚùˆoÇCa‡™åÖ×îsë¹r2ÝØF•ÿôÀðóë‘9ý.ߘÿ)ÎîÜôöÛ,ë…ØRnÆ Ù,#1Ô¼ªš-Ùæ°Ù vI 0«+*‰l˜DØÂLèÌ“k†¼Sxx¦¼øi£Mæ>IïTßGBXPg>pëžÿ£ªù.{ƸĨdÈ~PÚ}fLÓH®”›ˆXpÄq9ï#h°LD®á{$(GSÚº‘?wx3é€/ÝçŽÇlMÃjßÖ¿Ü'jìä¨ã¾Èz˜>ëò|‡› ìÌ•a2ÛÈ¥÷È=´¼ ÓϺXÖ‘„ÿþHûŒ+šrQ¢åýSSB®†š)èBJÀ.P Œn\Z‘bðç¯G–X[Ähj!ûd¶³!BiŒ0gbp½,ZF°€­íK£ðEQ«!ÞBYF—;¦™&P@•³è 0سCîÚ½vè¤_›øPˆ½oeïçÐ3ÿÿšu´tTlrá|¦ØõZ9È·n¦ñ?¤4ÀÜíà½õ@™vâ¦ìºÌšö<¤ ƒòÌI!OéeëX°)ˆÞV¡ì ÁQm<³£Þxïqðt‹¹:>Ô„|¾ß!?Ís~ “G,Ú?Ü –Úó!/F‚¢~_–þ—ýj.El;- l!B4JU¢Û=gˆ¢Ë˜¹Ü:À–ýØ4!,;N¹HJ“(ò‡çÜC1ìk0í n4¸£BH‚±–çŸÇíùWª`¿ð½ÖÅ:HR*¥cç;õÅíàf\4sÒ²É F§±LF—Kd‡ïDù–EËr&š!jî<å\[ àX4áò—Ó œù¸ ŠŸôõBZñV8R6%šÊ1gಞÿ]VY̰¢­+*œm÷;ÕŠYDcGYä9ÿ3 š†ç°Bf¥9¡¨ Š‘\ëÊ8i6qXwbæÑà^A l¢¿Mà3O~ùY1n ˆ#ä'#ÍaL-é° 4¼))4ÆÒÿ£ Ó¤[¶:ìqóV¥w¨½BAÖÙÌÌ~|‹õLF2ÿÊ+{¬È¼Ãm† ì_bBøÎEó<ÜUÚe#½Ä7CšƒÞ'Teß[nã‡Az™«ßë«ýøJ’…½„.>]Èí¾ÿ+Á¿5•ÛÀs<%l Zø‰nåq dN}vD¸Y­î`œEØ—Pl³(öÀPPZöÀjeˆ6ë'Ñ &²q•Rµ¨uD'[2 ݹÿ±Ñ¹h“ 6y­ x¸g²ÑvCôÑÐb&Ãâ•IúKàŽ¦Z8˜h²Ý½Bk˜®»Íj Dž?Éâ‚¢‹¬â:cj1ï U_•è><{Á‰lJ³$JðjÈ –Yyª_ºÅ^Ûæ"Dظ{yì1º®|ƒ3s;Ûs-4-Ž+›=èAÅCRB³Êp¢yÌwŽB\=¯Š’fý‰‰þX ÚKøŒŽ~~Q)•Y™XÞ§ážµ.1ô‹Vøè9æ~yŸµ™ýô4|<8j6É"¢z~¶}¹Ñc$Nú<¿:WaÐc©òà3gßz[¥òˆ¸V=¸¬eû×Í‹|¤H?¹‡ A²›?È+¬*žŠb( ™Q ä—CÝCþ; g¹[i¤žBMøÞ·…¸æÒê‹b#†È‡¹ÇÐÏk. ü7© AÇÛ3ª~ JN ™8A þ5Ýv"ÝNšž´<ÝËPÂÐ[î¸;)F {±üwQ«úJ—TPªŸ¬ «º&9ð1jvAàÈ=¶±ô 3wÛÇý÷­sÕë‘=-;@ª<)9HãTéÚ}£ôËò¼ Op´X– ÄéižÕÐ}ÆOd«¿| â…%: ú²¿Úƒ)Zß‚±|xxø…3)<š›ºT6@D "fÐà'¶óoû¹`ãÈʤhðgŒaȘÄ/Ž"Þ™¯>¬¦B߉×þxéDë/Ú#ò7—_º—F›Ð è«q¶ÆëYéSöEŠ…vèRpò/ÍJ 2tÒðAÂ}O‚ÓmVƒ¾>ÏÕG’ªSsQÒXñáùo| ÒÂçVDNû7¼®Cç‡zíâ®d¥S8¦X¥ì¼Á ‚wû¬hÑi i«WP8<”óoÑ0üô$ÉKìXføAŠí†ÿ‚lf'%H¢D;»È޼éIö¾ Aê¢çÁ¶½MB$ Mu”´S9‹‡K¯ƒ>õ.¤«ºY†]zP½M"1P°B½¿ÅZ¬KP3Øãxr©‰ÿðñOøÀ¤¸«AÅïš .TÕ[p›ÆN5x¯j°»@óÏá6¹ß­»“,I”ϸ@jOÌ!¥†+ç}ƒ8k(ã ¨‹_îÓíA5.Å—ºô¦uPÃp<D¥¹ÒÊ™à™ü(`i£Æ2†:©ä`k˜vÑ€Tº© â\D&É|£ ç=¢‡K[¼±Ã²õ*‹Ní¯ß†ô˜ÆÓë æñ©aR”‡ÿ} »¥„#ä,ÒíuQÆ?Nÿ'EsÇ{§–0J­ç Š©›¿üˆGì«‚9g±ìMîÊAºÎÌ>0з[$N3ÒÃCZ…Kw²ëÇ×6®ñ-g\ד 4:n¢¨ý\ýñWØÛIÉNWaŽ6¶±Ã³ƒDov³áaWÌni¹cBd©ÃB9Éì§€H?SÓž!ˆx 3ÿ\{×ÙZ23ž=_š¨æ¨ªzrw€:ƒÊ É´]×'Ë]Ö-NÝr¬4÷Œ}h¥`L·deÍfqz-~¡Š‰Këk¾í«Ìòì}(|óæ–Ä÷™úòQ@WÅj?À>mÐ eÜ,qÜÝw@¨_4žÏ8~Z;i{âÓ5Íé£ÙÂ'Âkio–AU¼°†Ì—Ê¡lC¾½le‡²Ü\ô«Sï‹9ƒ(ç¦È–Š-C÷%¡Úåm9…¤ö©Ù“íƒ_>î"QF \²Vn„¼Rá,ÉÿšÜ1å7BöQÁ¥Îß_»/ngðLÉÈF̾MÈÎáÃ%#;ÊÚ«.£”©‡ÚŠGž58B%Ã8š‚bcÀù‚¹â`ŽµÞ +vKîϾ¤»Ë,öÿ+Mïƒ›ß ³}£ç5÷ÐȰ“`«AX%ó“_  nËØFóÖô´rôãGÎÙCŠvÈ׿˜&ø,îØÛ~héñ{×Ë9Ü3þeùBÕçãÞj&¨Î=Që`€j¸ptu‰éû¡åI†eÄ·Ë: ›XE;YÉï …Ј*h.—jÖF -A>Ü$‡Rµ˜(lb¸ê<½'/‡°8¬¼¥ ¡­Æ‹NäGªnú,Œò-µ+(³µIÈXw¹òÁÓ?Uqe×SÅ6Ùã¢P %gÉé-?nͨlŽY ëQ-/ýàa÷,yæû žÐ£ èg@2ï-'td*<ä|»ÌëÜЬwÓµAu'6ECÃÕ[tZ1G·ºä$dfj‹(ÕJspödzÓâbÇF±¾a] ²Bð,ì/^nZt’€ÒlÏ!z%R§ìˆ‹ ·…¬ªqv}Ï•ËB¨Z—Å ü9ºDÜR¨n¿–‡Cˆ™ó×ýR&—–Dsø¶HÞ1Fþ«‘´ üÒ=»ñO½…ѳ¦Þ¤ém>˜>—bñ›¿¯§dQµ #©}¡mdª3è=BÞÜV õ 7öx!Œ¢ÝáW€H³|Ÿò`Tøù†ÇVP2ïÇË«gÝ“)«ü+*œ«iíÍä~%Æ :>¥›/îrÖ²U-6B?£„O/¾eh›[aù+‡³CîPPÑbIªþ²ðN³d.ý# ;oµØ w°ìO?öñ¤Ã* Ûa" 3\RîÐÃ©ÙØ=Le'Ä!íãsØmÕÀX˜ £-]AÜ¢ž´ÑÊì’WÈTùYZç_/—ÖÓ{Îò©U;‚©ûúJ5I”Æ|†êŒÇyx›mÓ·Û°„†‘ãG™A–:šßbtoÏÔ¸KþH#Rû‘Ç×m¾Üü*7 ‘BÀí{ÜÔþYÿ‡†¯åq[½wÙ\2}¢À±®®itÔÔa|H26¡ý˜G ^7‰ytÄöîàˆe“²aÜ<pûgï ¥‹`±–ÝꌼDTüÍì÷Cyœá|ïUa\l¤ìWö«q2äsSàë@Ì›¾üÁp‡Y/…<¼èH8$ON˜Ùšñés§"ªÚ¨uÛý¬CªìE·ËŽjη[¬I«œa7)s0Ùø]â¯>Í1ÏdùZEdBaî9¬u÷ãSA,†gÅ"^m‚èÚÉ3ëwâ`5§*nñvQ±”Þë˜ñþ›opÛðäY®ÛÒ"8c7ÏÍëäfÎ8ÔÑPjlºóÓ::Cë.”³¡Z¼éŸòPYÿ½<äG†i sSrÚ€Ž%!™¥]ŠÏÊvÑÍ/|%¨C¥Ìm—=õ LCyýªm\„@Ï l¡[;ïÓa•PåúÍ•i<;¤¦{#ÎF¶–ÄXnÜrFb+åõö§„W†á7¥µ)-õ Ã_ü$³ŒxM4PZ Ü7­)œ^þÜ,ÿ“ò,úÜ Û|enÂ#Ì·4á+@¤7oðÐhšú¥X»ÇÓažˆ•“zF¤Á×eÁ9Ñ5ˆÛnšß#¼,rtÑ.ë§âw¾#åÀHc­Zyš"8×R/x­p¦0Çik‹äÊY5ho’‡=Ž= CŸïIR‰yØ`f`%†ŽÓbÚ=niÔÕÓÃÑ}+襡jvƒ§!gø¿ÂÖ´oO¦»çmO±Œ{X×ø‘L±±µÑ²¾@9™ƒÐVfü@zבÕáÒÕ §2 ¼=f냲3O›|¾YÀ4Ï€3K=Ûýžêñ>Jy!Ó¡Ëý?Å¢%ÆÊ[ɸ*‰Zæ[qÔØݧñM'fÑY[*GS½ÚÚ$ÌÞ@³Å­×NÏ?ÇÑÃá]»—¨ pjkqa˜Ý[q[Or¶S𼑷JA§Xƹû¿>à|8ˆi¹³Ì8h~ðý›ù“ý9 ÷ß# <ÓK&û™¨À´¨náLcÊ^RRƒPýbÜùç{6Tü ¶,ûœ%ôÐ@ûªr| (áÚ‚[C±Ûo0Ðr/0‡ÜQ¹EÏ@*£ßLÎ-mmMQyYHn"$p÷è~xzWv” ºôÈN´©sÒs R†_G ®øoï¬÷?,›ÖÓvÄ)…å­š,ìh¹D¥Ýá7#èê)TBÊp±bÀ mº©èoê'„­˜ËËN¥fˆuUÈŠX‘^š&fXî%^ô‚D4~hYÀHÔÿ&Ö µÃÿñav¯Ûä55mä!ÓIYM@gž†­B”Ì7DYÎèï~zW‘¯÷ÑéÛãÔZØ„!»|à `²žJ„|³|dBsͧ԰ 2â®ÅËŸ bIü·ÍæF KÝ—7Û-Ö÷\éœûSJ–ßTYmi·}˲‚ÅR挵oc×=ŠØ8{òMˆÃ>níroÄ‹…ÈÁÉ¡¡„å:;ñʲ6B%¿‰~7r‰…xÐÐeMõÿK¬i3<_â¿JHÂq©¤E¯ÓÕ~yÉj[PË $lGA¿göbî1ÿ3Ò µâŽØô”Ã*ëÂÛ´2}ê˜èˆN4D ‡ÿ­Ë8§ nZ\xØ­:…ľ†¦VWmù1û®{±,°äìÓzgÞÎNã3þþE>ÎBPÊ,I…€¦è~¦ ½€™}[²=åZØÂlòWb‹`ÇV»Míÿ¼m­ÌIµ¦ö(²Ä0ÈäõîÆ †æü ¹ïžfÇ¢…wræ^·M˾9l¦Ñ:Ïç'/+e,¦y·Á…ÂÁŸø}ÀBLcŒk8™­Ž‚ò‰ù´bw}#’@X¸káàs37M­í³¿„­Ex•`ƒT¹xãhyt ‘Pµo›ŒžÂ÷?=&C¬ÌRžæE%¤ ð‡$~ïç»Å[s–¸2ûH2×j®<‘ñÕ9ö€mè wÅ”†9^7]ã ó*0ájŸëP_:@ëF¼¹,ŠV3j¿ÞY./§L: øõ;š&ô…L:" tÒƒOÆ©’Ý`.ªó8r’ŸA!™Wþ‚—2¦OsLåí4 kÀSEzþž–ß9i‡ _Ð#Dô ¢ìTm8Ï Àeñ‰_2Ò¿ºX>dº˜±>'ˆÂ;»Æý ïi-b,Š6'Ã@6TMVIÆ‹šray¸m{‘«™ì ¡ÚÊŸÔ€N¶˜ç1ÜóôAzs|ÀÅér,‹øxk/J—ÒÝF+À!ݪ³ FxË2<° 1Ï}vÕTú¯pm[B¢?e Ù$0–Ê:•3 $­Ê/}^/ùΓ³J}nŸÿ€½·}n«ã³H‰Øˆóo,6ºÇÓ-r Ý#ÿÉÃ#;Øö“3ßöÑn’?Õ•ÆÛ°ÆžAysâ2ƒQ¾°'ã1dEd¨æÏ.¾ß[}‰±¼ìì;3}t©Ÿ"þÞù…`®'÷Œrïcª§ò«Ï© ÇÕÖ±e ,Ä0ÜíÙ¼èÌ¥ñ|ÁûJs'­xƒÿ£F çÜdÞ`p(¢ï80°u=ŸWé,<\¦5è NpE¤à;™ét ©mb%¬iß7ñ0óaøOˆ+\øÛ¡N,³ X¾ÿüí]¡pÓ¸þ4Ì5#ÁÃ;ÿ+.€-Às޵jAù½ª‰~&³'C¬MT¿˜\+´ksÓè*/4ÈÕ°+©Þðyìf YEueZ 䩨Ò8BØ”+1EîYâšÝŸ o. ÃI¦ïãKФ£KCàtÛG·É{å<ÓÙD8BT? HÀKàÿtLxÑø‰‡0¨¸&†¨{bÌmö RŸ”4%p+‰gi²æ‚JšÉÚ_¿7Î%Ж ›uNÖ¯ÀT¤ùk ¶”,*†=(AKD㈠*bµ(‰ô6±P˜Œ–*¾5%+ìãù^pX¢qÜæ|QO÷G—½Y€Yù öÆMšYE,§ùÌÇ„`$© Âü°·wÅb`v» ¹Â¤ ¬1fˆÆpÅkœ0ȬøªØÃ–ý ÷…ò6]H«ÕâåíiN$SI°¹Gw³E¾DlÀÇûÌGú`m«¡ÓÊÆAXXúwù°—VEŒí³0ún¦Þ ÛÖþSE°´ÇüÉ;/ug§+¬¾7â¹UȲv¹û™ò+§ ¼Êý c´QïÙméÞ˜#,§DãàáÈ^s þÆû²Ö2R€QZËEHŸ(„Õ~Œâ\©e¨ž’í¾j»à2¦xS…;›¢€˜sñÜüÐU h­Ä±²‚æÆ7"ù;âeÙ®~A"•Ì…ÇÍcÊŠ@ÿØ0‚;…Œ2W!!ûeöÏá„”~?›ê>¹¦c;+Щ¬ø Ê­ÃøJâ ‡ ”4aÿÖøæM-¤fñÎÊÑ~qq“³!ÿ¿¾-rÛW¬Í…Ÿ»Ÿh!à'Hïr–V¡þzÆùéî½ÁŒjÖ?蔑/Ò¢DT]a€z¬ÄÞÐq¶°YÁÀƒ*mãCNG\!øÞ_¥‹‚‡/' òr¾g@¼ú-1-Î?‘ƃ³,ér€Ó¸MrÏ»AñJ Ô('Ð~”º°¡ 8“»ÜÔ,-fšÉ,ÑÒ7› |Ó´­¶EÖ0Ü]"ðÀõ§‹¼hˆs}†‚¹¤ö2Œo?تò——hßH›PŒ(?`¾™}²wôŸÞ¸x¡”]õÕ?'6¦¹aaè›®”SE¡†¦ù„ÞøîU‡>Á÷»h𕘠§µ[‰xùˆ[[w;BÌüU µÒ6p5‹UŸ¹T{"ü¡«Ý¾ \ôëçÅ}ÔñE0 .+Ú8÷AÖ#I-‘³€‰‚á›Ï¶ª¬ רóáü½î)Jwî/ÆW˜z#@8»YO2a>ØÝù ÂýBÆ÷5èÖÿë“)–*Ó$¡ qà ä’x®#kµÂA+ΠMà#íh/3í¡ØŽMÓB·³ì^¥oÓ%0zLt/æ†i#¨ÿDc,¨.9ZÊöR˽?îJ-ìYÅq`rʯð§Ë9êša-¤@ÒŠLË¥°þPÈcÈvv!yÕÙ´ÛçÓúF ¥<ñ&3¾ÞU¸N¡@KÎ’´^ýühpK!¹‚ÛÏ$xlL¥°‚Uëà&[ó7)öüÓ v¹€µeÞVÙé|Ž×’ôÁjDë ‰¥I(òzfðc84#T÷¹FæA¤ËL^ñÊiåÝISX*šÐÓß§Û‚¹¸#žy¨­¤Év2íÃ?)®´œyÿÅ!Ïh&“ï¥gn¦ççt"ãáHúM#™eôsŸ¨ß)ĸ<ƒBFóÿÜ»¼˜æô UL+Õ©º¯Þg ¡§òñxÑ¿HBKHžÛûlf»Âž~Õ¢b§N_\EÒ¨8@¥[ÜüÖÅ©;êw~Wq^‘5H‚;Ø$Š QH¿-$Øœï6tûÀ^ÏYð­íRþ ZÆ_?)#Q ²ù4ìUÍ©íµ²«ÞÝâý>I”OÌG7/|}*Àw¼ ©ûË%…»ŸØÇ_ÿl¯Mž0ÚœyCøŠñœÍ«ÊEqh_FÕ/ä„zˆUÝËÑ—zÙ6¡l|ÞÒÞn*Ì»UçïÞ…òRùÉþ§“íï`¢UÏ<†ùc–{3èAæT/àEÑ&ÀÐdHÈÜh©_Rjù¡Eô¹ßMÐìháPÀ/%W6ú{P§ ef±ÚÆË.SûTu“ùQ¡G{цڔ.]¾¯Zã|ÞîíŠ6|ùäÕA˜vW¯à RíòJìÅ£5”¼½Ž¡Œ9æW«›é±N:|µ™ÚYÿ”`v‹UFè£_“F‚wùCª¿…yLFžÂœiNSϸ¨¯mŠC¢Í!b<Ú4ßa4èÊ­Nï´[7z+î»uUÖßo»÷µnQ#h!¤¸ô]vŒ]aÏ5º~…cò^Zhæl÷µ›Ó²–|G&ÁR8Û˜¸Wr›¨Ú |—cçÎ@ŒGµÂ¡Û}¿,hî+ÙÛ¼‹¨¹F<ýV§dΤV~ž†am4‘Zw¯ù~1ç 3wÝ3§²“cÕ„Ôå”÷`lE­Áï\a¦ø¶”EÉ„b»H˜<ö¥—.ÈsÞ¹%+ÏõL½[æŠØþ6; tÜ(Ï3qQ1ÿ ‚À• Ä‹›e&‹µÐx “Ú‹5˸Ç_´w9üÑúä6\ƒ²t‹› þ·µRˆgGÞTð$ˆŠex±N~†ô¾ÕW'r©‚¡.ŒÀö®_Є¼Ñ×¶u™[ó€ÿê?*ƒÿ. Gë°[½Æ±«QXûÜ–1Ùr8iar`²A9X½´±Øô;<€gðž~ÀÒܼm}î…eŽÑ&u~•WÎ iÔ€bH]tƒ91Ãqòä{ˈ¡&IN#„Šß*8!L+ßó~êryè•N½3¸x©Äîƒ+eÏlRê4¯Ãk˜e„I;¹¹êUMãîK}df”§3°¯&qçÂöÑ_‚«ÏhyµêH1þ­ÿÕFcI¯§Å˜6LÞ¹Å‡ÖØÊ´öwS3›IyDÙçrmxŽjÔ’ä~˜µÓ}¨å¼15òbj'?+q¦ã|ˆ™kÇí …Åeý"zbŽ[Ñ ™fÙk²bó'€GR€öz ÿd¯¯vAGö¸6Á<Ýþ«æ%aËš¬›þ¹š1°þÿ}ÊãñɰíðuèÁ‘ѰŠF,ƉR¾jŇ®îI™æó¡D¥À#vþWAYÅÌ'áªx¢í>ÿýôíÉ€Ù¥«UÄ„e\\* •g¸þ3Fzä¹§¸¾Ü-Ì7•öšíçÀàˆã¼îü¡“ñ SŒ†ÜD@!¢g²ïBû¯I’]˜h^üðùí±&ñSr£hzJ }³& 8§e—PjΗqZ–US?9ÈfJhåZþÎúZ#©èßËßÑò™¿‹W‚mb†f g2ÑzÄçÖTuŸ’ÔÀ=™~˜à=O¼ÆÎ —Ê俤ðôÔH’bÍôZ}ÙÅY”Kàq'ð¡ne£ ñ(¶ˆ{ã/¨‡¼˜AQåŒE£ —ï;­.‡¶Á j„ ËQ‰ÍUMÖ£ïZΪÌzHýø‰Ž¯s¤>àR4BhåÄbÚÊÿæŠ[ç=>'«9kb5ÿL§m7Ž{I—ùº¹Ž¿•Á¬µIýl¶5â@×j³³¢î ”}Þ=£û‚&æ°Sé§Å1šRLñA¸6Ožëö ááõTÌë9ÎÙ} ]'“ŒÃD¿Eqd´Ò‰Û­¡>«xݘœ€á] ƒ4J“]ðÇáÖãSY ¹kL"chhMŽL³i"¨Â}ŽTœ¥N±Û Þõ!f©EæÏ€4bæÄÌC-l}/ï™c¢¨´ëì[Gnò Žp…§J'å5A¿‹ÜL÷(YÔÇ95ëHC¾­ ?ºç“LÃïå]l2"š#²ÁÈ6+¾M¿¦£ÌðékxÄVÔS4K)î˽Ôäëe†épg‘e~ü.v¢‰(¬¹FHœò–ì÷¥(+Ú€4pÇžá˼ öŸXåýgÆoŸP[*·¹‘/ƒR[]·òjÙSOÅ=iÒT/Ž\‘[½-Ñ”µôDUt4Ó­jL‚ŽšsöšÇ¿AòRÞ\{VJ$Œ±|kŸµV„ýEÛ¥P§‚ª±&>}ë)–=tkžÑ=| £dž„Œ32£€Bq¼ý˜÷ôŠš¸z‹ô Gº×¾¸¬¢o[¥¯®¡ÁÄñè‘Fó/HÝúŸº²ŽÅ“˜/âM§ñ˜ ‹1R™ºû–„@ IK!«î7{»nˆÜ§6§?T}ö¨¡ÔMe O­ãK)QùeÎÓ6¬'h sà½_º¾ÊXýB‹÷ð3vV<Îx¹ôëpÐØÔ¦ü¢6àÆƒÚBã+8Z³=ðµ_\·kG'\tDRØ`aËÀHÒFli’uAÎßCDyÏ~2ðiV1bZѾl)ã,v“­ec‹‹ÌÊ]•ä“ä„ùÚ7®ßè?ütn®H$ÅÛ ÓæºÃöÄ:ß7ÃÜ˦•ƒþƒr~€= jU×ÔÙ¦¹ ï`KZ<A˜(±o¨—Tô4×Ààx=ïÀ§ò½I˜Ü|-Ì΂eÞúuA@ÿ‰|>T| Tš¸èÕ¿ñ‘|žCb?Í:ýºˆ•%™ë€PüÆt«þ¿0ç¸îÔ®ã6òãG˜ iÃÍ:ÒÈm`4ÕÜvVönÁ:öXÐYÜ¡ºŠ‡Î:¸=§áÇE ÷×UCô¬-FNa]¬Ø 0Ó/JVȽ~ž û€'~¤H&w†µ_×a/DòÐH.ÒXvñÚ\Øëêó¤ÓŸcÿ¥/¤x2oð_ø¥¼íÜØ¹¼µ…!ý-SoCjÖ1©Áj"ª–nn%å¥UþÊä*»¼Kë@< »ýfÙD„Œ* …$C¸‘Ü·§«™ü b¯XVƒR·îÙgw%*Å—ÓÓ0œ¨ï¡¨Íµ3óaûcR˜$§ÕÌ“X=ÆPÓgj¬ÞÌ“;M",aArÒ`á¦9SêiÓ:Þ¸é™mþ-ê›øQ\•Î+“ðeá˜9¸t¿é3D÷KInsÉûʯÏFZ*\ñÜ!xÂ3ÞçÖ´È¡ÆPŸ^ϱ&èjžCv0=U¸’}X‚ä¤éTÞù3Å&U–¨ž?w•ò´9ë€(,nFí¸þ™ŒD¡XÚÁ‘³qXR: „»shHÙ,†{›/BÂéd¾Zðfý-­ÌÝLd‘çnocº¸šp.E·“²de¬x_^rØq <Ö¶?êfšÃÄ»‚ê=.¶QJçŃ"‰‘žÑ´wÜÒ+õ“uýî‹ "·ÙÐ)Ç]~£â¨&˜O¤NÍñ \ 3_y`‘ËŸŒH¼ÌH{…¹/ƒq'Ÿv=êD„úy†Ó×jÉxD §i£7[æ¿vN«ñ€”r%v_bHx_ˆO:@n9ùqÛLù/'F¢ã§–o-jűLˆ§Va÷Th÷‡=Y‚/A«:‚J<¶H—œ¦™ß/Švt_"°Ê8L723‰ðŽÈL†…·)¤èì¥àÇ`nMÜÊT8fÁ”›ª +¶Mï€*LIýÿFÖùý‡‰…!¢øÄ@=Ìn3„nÝbÇ ¬>`nÞ6+I^kÁÜV °€_”çþ1HíæÊÉVwP}3¶…”ÚÍÛ5K?·r·wH9°0«;Ã>sçrk!|r{ChP¶¦—¨ìmyâ‡~ËYÊ¥Šk{å«èµ#Ô$׿§ô³W:=ÀJ (£°ab逶r`y¢•_›ù™æ|2\`IXJo½o3!+Nİt5>cÆg&4Í/ÃY³CŸ‚”F½ÔwU©ri…F‘Öõí©.¼;©ñIJ㓦 K)GÛ*Ï\ó€/=AÃ…}Æó3wþëÁ˜zõ° Òa`U®ÂÑ_ÿGø³”IÊ¡$šX-n½Yu‡/+4 Ö…qk êõHc“Ñ––;oÝ&¥¾#?{æµÃ¾F=wêHŠjg#ð?1ÔfQÏÖ8—íøî”‡¶&ûo^ [ùInÕBìÍ#Î)Ñæ=ÕËié†j‰þ£#Îs•@¸ª[µŸÎ¬tœV٭ÖGqöZ;÷F«•1!]®v~ç´þËsyh¹Í𙪦í.çv`‰¥ëÊ¿–2°·‘\'t¶3 ÈÄr) /âàWI¬KܤT|$ôï±"ÑMW‚œ|š@r²Õ†}¬gè¸ÕÊÊ n׳z…÷Õü±'h¸fÜÒÊR8šèS‚`‹²êÆó)¡ý€[3øç)„ )[˵íë b³Åà)C“ÿhN©z'ïMì¨0²ÂvÃ*’„Ã-(Oxa.AËÁÏRø®yŸõŒ7T aNkÚÜ;¥—çb,8Åv±h9™ºV]Â;m‰@yô Ío&·SMQ&eÊ/å¾Í¥«EsDý== *Éž;{î ËÊËÁ$)=б­Mà¨ñlØÀm@ŠUÇúu·DŠSå"fþ¹éVLîk–dO£¹œŸï­ @¹MDúÖ‘ð’TMa¿à¼y‡¦¡BcLA½ÓˆXÆ:°`ÏÀ©ûd]½¹5Oãn‹¬,U°xÛ{»µœ ä¶wuç%èP¬ðš½æ0ÁªÏNCÕŸ6:!Îúã¤|Wܤ޳çï&è(›¹OFK8*±8½k£äLùþÐîåÛqäÇÝLõ*`ˆ˜°µ’²—öUz€¹Ò¬'sçÔOQê †0'ÿé{@Ž 5Hóƒ¯B‡\³ƒîĹ¢Yz‘¼¹«â6Pî­áóF ²¶°X%0½‡)Ú÷tU•ø³4*÷q'"§3ý:;x#îìHQÑšÿ‰„ד%/uÇux‡S0·ž³ZáÃ#x?z!Á†õӣɡ‡e„M®D*>!ßx? èòzn5)‰ÎVqCÔ$?JD„™±Æ¼ ià>Q\Ü„eßMVã¶4Å}A͈'f‰Ù.Ö3´‡†ÌLÅ‘ºÅïÁ`E“TÀ©Ö»jj3“ž=_bi0q}F*“ž/Å'Ô¿¾åM—:ô^&”ëØ4‘œKG ºÃÐý½xý§)û;…—gõŠ^†m Ü í )&Šƒ|“ˆà ÐÂ"ØÒ<î&X‚=EøêµûÁ±¹üX.;™{/À:¤|7‘IFß!hægs[·vk¯ÓžÎ‹—`ÐJmõîq?úþ¸Rèa2ÌEi¯}C¶ÃWï(L]ü6FÕ¹Zæy. Ýjt ?i®ÿé]ؽ,ôÀ@’ó]ÙhÏÿMÚŒD¾7õ¶ú ÒÒòeš&k«I÷¤B؃uH7Þ›>á1*zD³g°'[%étä5kñ#§Ë8ÐIÑ\B2ÉEÃ^ÜaAò?t«mæNM™ÜÖÖµó´F!u‚ùÇ!kCRL{; <[\¦‰)ë\¤“ŠdªI¶Z ÕÆÑßEb@ÌZ.oÆí¬uZ‡ø“B åæSl@…øè¦w×]r%žS$þrÏ(Y÷3 ƒ*ÞŽ ^~·ŠdTì÷R–ß,öвéôMËC'¡1j`ØkLE7_sñqÒ¦t¢Åe¤¨îzçAüYÀȬ xG>aSÊ]_·_ν¿Çý;ðÇ÷Óô“ܬhÝoóyB›³Þ°ÇÀ%Ú»ö•þÎ#oϹÊÖêPŸVtqp:è׫Âý>Ú™2^':½d.’q=Ð]k•+6$˜Ä­WåÔÕP>”Í–Õ-ÖÈ*s:xƒx]o™ÍÄÖ¥o 1a´hk”Ü?–Q¼Jášs(šý„'ôº,²¥$—\¢íˆuÇc¢êÿÝR• äˆí$DøøÙ¿#­é9¬?kG9.ÂRVýÖBižB™jiHåß” Òs €G9Ï6£\m«•#:ùO?€©•ŽäWÉò+ØÉD@ö£n…q½]¬ÏQŸ½"M~WBô¦”ƒò‚¾õW•0-ù´¼s’;£k~éhvŠ Q¸Z€ÒÏ¢%b¶ûë¬4…L§Q½è ¿º”Òæ]|}̱ÖêL¼Ãæµ Þr¦ƒêƒyž³Pÿ5;m‡=ˆUÍÑíâT¼ÊiYpø}§GÊtèfúŽ,©5—ÕkxO?XB¶ÈVjtíLò22´‹(çþËæ†ô½v§Â,²“ólìT‰T~ä=-¦jþRßÌ­’ìÄ›t¼9ÿó5†­¥?‹ÿ«€¶œîÜY4±„æ¤\ÜÑÞ­qaý£tY’Ú\T!r•y ´g8üìsŒ»ðÍ õs^KÚFñô¿Âêã‡ôg¨ÒÍkì&UùŒ¹ Ôf®¨“zX£ØÂ¦qšfXÇPyl~y†A86ƒ‚Cê ›/1‘~f.¥X*Ø ‚C¹A÷ÜuÅÃÎ8 AˆW‚´õÃãÚ•´qŒ“qé¥H6ê$­N½µe¡——SÀË-î²üD‹’ðZEhŠÃ 9•ïÌÿJÇá;1 Á{¾ÍÀe­µª]в§”齨4ÚB³üoµ!ö£.~§ŒRYwLÄóéü—÷h²<ï{½ô‚¯óËõùÿ†±Éâ¥U%B!äÃHåûþ3âê‰Ùo½R¸>°qéñôÉg3ý­ÓIô¡¶šå‰óì{ðõ¬´Y³‚'q»ÀÜ@¼Ž]ÕšÛOœoc¥%bN¤9;Ìü úÕ¶9Öš°óÚåñpY EôÓyàç¡wĵ‘Õ¤º¤EXTüœ DÎrþ†Ë€ g?8g~µÞ7˜É³BAµ’4Ä09ï/MBWÿ c›ö³GcOÿ¸‹«ë /vÂY¶úeŨ‘÷8Ñ»"¥©ÝùøÄ]#º3×òg„0†ÙÀyÙÔ½7½%7c_zß%Âè:¼w¼cs‰´¥ÜQŽ ÷{·1Ô;%Œx ü¨öÖ­â‡S׎„^Uß°¶oN„Ö´T{x1ŒQþ_é#¡x›Då~iu{ŽƒOgŽ©s™5,2…«ëp)9y0Å~Kqêêo ?/‘NëP8!ÁhDŠ„6(Ê x.#J2¨œs”–Ö„É4Aò¸žßûHÜ…ßû„EÄÞRö›oÕiƒxÖ‰¤_ÿ2ù¶ØçËã¹N”5ʬ[ØR¼É\€ØœEŠÅu …}@¬ÙÕÍÝ<ú†’[ÖöŽÃye%#¹b’°/'ÀÆRÉòhó‹KsëÂÜ™nÖƒ*vùZS[þn"ÇïÊ Ó²´åë,ŸŸ… WËvñ›5Ækm$BÖirú'2†MaºÐJЃûE€£ß ŒŽ©‡È>Ž y€2¢Ý <\ÄxÔR1[×1ùi—Wáønù¡Ñ˜(ó¡(Ö /ZFmQ„!¦4Záõ¬‹i/ò~ÕmØxr±eµø"6E¡K^œ‰c·X¥’‡AËbê¹f-1LññÕ @Òâ¾yøò–¨ôàÏP¬ðtÆ÷³{¢ù%>~46ÑŠîS³ñe§Ùæ“Ý©àÍ”ov.—öÒLPåž¿æYò¥x®èÖ0óæ73¸øÚÞ†þŶ—¶çê,y‚ ÑÖóˆ3‡ê_Z¿|ÆÁŸZÝRHP-À·Ì/¦øQ0”è5‡F¡X‹|glÛ2'¾q¯¼æÃ,Ÿ{@ÔI™NÎãf}`Œô˜’A dx˜ÙÍÓ6Æ·wТØÎ1^Š*iZ»¯ev(ß#º¬?“W;Á•f:@¼/ý#›'|V zt'³…’A””Š•ÊæL¬±UÕÐØ›ºŽ'-ŸÙȨ•²7y¾01r‘Í2¨«½é¥XQÔšo) ¹o‹'`Ýóàó<ÊØ1m¼äÔÿ÷ò¹¼:q“ ÅѰ³} 윰ÂôÅq:µ¦6ì½Ï“ß|Aˆ'æ³{S'Û‰îôêUòÛ-¿POŸTªotŽxèùV½CUÅ/PÅvâ1fy÷­c,ýÅGÚÑòd òI( ,“Mºþ¥t¨>bE¨Éu+Ö› +|Ér®üÜ1h`%ùÁe •äã[ļgßÍ­ubŽÞ´¦¾oaÝPÎQ᯾þþp)5¤ìÂ.RuÙ…WT,KýU›¡(îH¶]ü½?ô¾j õ«1Ÿ‡«K@ é‰ð¾'¯´CeÔ2ƒÛ0ö{9­Ø~»@pfG|$’üÞ”šÏ~X×uaþÍŒaòÒÓþ&ÕËø’0Þ?k{Õ'®@a¨Ž6‹ý|]=ÄZ¾ç˳-qÒ~ù /)÷b%õØÇq·Ä¿`f¤ ™3wU7@mâ¨yæj6•èÝ­9¢P)ž Pd(%Ì^àå9Äèß*sX)Ô-Ÿ@í%Aþm™Ïž¾Wz*9[_ÌÔȦW¤žó’VI›†Ç|W¡Y,d…Äû. k¯3´Ô¢A5O\ùj(f´ã„ûþòiΧU£´Ì'Ø‹_§Du)î£eqW8ÆÝ¬g¹•º?»{zëEºªS:Ù“cÜ#©›ç$ÿþf ëC) kºH Ï¢Áð†‡;oÇÂBËôˆÑ²›¨O9"•eì0„ÞÉ"Å% c–£˜¢)¸~ÞúéxŒŠç–û¢6Yª”J!ev™Kž/¸v «Ú§FÍ5ت6Ì›$2’Á –¿Í*„³œý]ž*.—é|…™SÕXHŒ¯cƒ ýW­ «à¡:õ,—:¼gßáb%Ðõ_Zc]ü ز%OÞy~nÀÆEBu‰Ï,âÊÀ~æ3øÓ-»'g^]maåùS&\ Ç=Ôh%ø‘_ƒ‹dlrBpR±çò‡5«E&ñÿžqÝDè’,Š9AÕæ‡=H^ŠG‰³²“ÏŠE… ·!â"°\%¤ÍEc E¬ÐÀñ±Pöy%ËF ÿ-ã}pßóD;CG;Þ¸›Œàæ´bކ‰ºægsÀUJ£3c£Q“»ûæ`Y*­t((|âgù85þ“É}¬‰‘š˜Ü×xö_ÜÐÂ-«IËs¼‰Œj ‰ë–Dȯ¼äyž®Ð ’/>qZ’FJ·P%“Ùµ=@u«|Èñ´Gú· vÉ|¬y"»Í溹'<ãLÅ—/O9 © ‹æÏ/çP©ôɇkV»ÅæÈ%HÂ4ª. õ9šé,åeЩ%å[yôk-eȦ„WAà>ÐXWAÄp©zé^¥R·\o&¬}PÓÒqÕÍÇ:3Ød{zpŠE>¤N?ª·û5>䌅Dçg5Œj›:Q º&&Œ' H\º³:E]®JÈÙ}ƒ»£5rÙôqHpe10"X4‘¹ ¶f÷'÷7¯¥VEë;¬ÙÂiÑö‹áXNÐs䬞“þr—FZ78Òø…Þâf*'@â=^0Oƒ%/¤¤çðµ2ï“íõšïIßdî­O@¼25²ñsVF˜üRùÒâÇç} $Ù„D•ü) §À¤Ã,uRxmÅFy\qè'¦¼¯ÆUVÀÖ}}sÛÖ¹JïIY}_ßÀ¼ëí|ÈӔݎØ~¿NÈÖSºê½D;%¿³ólžuªPy’™^û6uèî{’SýÅ÷Ï‹„÷°ÙN­œÀéN3[“k´· è:ûŠÓŸÑ´ pÀ ªgÀ£zÑ7åP}¥ŸrÓ3Zðæiê2’î“UÖ™þ“°]s;T@ßE·íDç’b˜žmü9ÚֵኈWQJbçó ax+s&ÐK…C9êàytF–‡t²¨,æÝÖZp[„J€j–뚎:jä™ä¶§›îÞ¹¾`dSNÂ7tàT!DèS6IךúçB˜X¼“\}î°þ)‹c¼=Ùäøœ«>»zº£ÓyN¦Úr&eÙNÑ<Øoƒ ~1þ! &w" |êðÈÊå#ì7³o ù¦~×.³q 9-èâ±Qx¾µÝç×g¡?›àôâã;Ü.N£#ÍàsuѤÚÈòs ÀW›¥…òE;Ð[¡Û'\®„O|S¼[òÒ(¤ü³¬ÎR`¿Ü8Õð ‹wÖÎdîÙò;ý2]UÂσň%û£· @¢™äé DØçqê¹ð1èhÅõëÒC3 ã3ÂV×ÊÒ8ˆñ²ƒq|]ïÜ~—×]/jkô©¬ÄÒ›ÙQ"´•â"÷q0¹ä"öÀëGÛè|¢Í¨Rß|¥p|í:"ã×÷Ì^f$ÒFÒµ­¦¼––àq5á¡g¤ŒyÓ‰dkp+pe™(d.DÉÉè7ªkwDÕK ãsµìGþéɪ½D‹¤Ä¥YIãMõ }:ö¦ˆÝµ½™båý¤K ceà:*‡&ˆU£HÛ=‚ìðjxœîÀ½âÔfŽdd`©¨)Ioñówçï 7×ó‰ð(ŸÌ0j¯Oˆ5§ yÇÄàƇSvJv¶á}ªAÓ~bV9idø PÕ¥1ÕimèZ : àtÝ‹€–ÊÂÆ0Ò.»8Á3bXãxXe7!Bõ6¯§Šè9Id%Éúìc©ÙõË).”@p'€3–¹'„›{ÒØƒÀ«ß§Õñ¶Q'òÊw áTi ({YJøá’Bî샓 ©µ?ö¶[,_ëäæ?n­×9õQzÑéÖ\ºJBEvx¤*®IÃß,÷n›Ÿ•6])9&l]ç§ø*§ïÊbzbWË7~bFs)1+ßÏ?gÆŽj¾ðD•d~ob"ä@[Û_3x‰œùÉLReÅé¬.7JµN…–J°èÓì]’DvÑè‡Vÿ!Ä)>rÿÁ;‡ß¿GÏËÑÛI'ޝµ! Z…ô£2Þáö´swïá`ŸOµÀR-œfýB¸&øN©òö‹$s8ñ éÕ(ÚT—93lµ·“¢{5­9ÅŽ ¡A²íþ ˆÜFÖ“R.î6Ä2gKK–P/91ðó0ÖF“ÃêºA_+b1ü XI®uYÔ3ƒ$fcé½fg¥( š{à&€uýiÜ¢ŸÕ>ŽÀÚ$!-ç?<zëÛ2ÇZI³šþ‘ÙqvsÞ¤rª$lè2üXE¥LÏŒ —VMd5 Ë‹¼@ü( ´u9ïVÖBkè|àë¹Bo3ìgñÅ]Û¡B'<ø¯á¸£v¹‹ÌK™³ÈªÇ£L£¹÷Ë’“³¬N: ú Úä SS]´< ]Ï¿TTÉX”Wq#tï@ÈG!viÜŸòõÒvR)E)ÄÎÒÃ: ê1¾4¶¶¦ærŠ{Ùgæÿ•¨t¬'Û'¾Š§N½’ïñ{ÑãdFؘv’ó@(‚€W-±*Kº¡†}àg²ÿ‹c;ڞ׃&ÊúʸÊúŸ®-vŸH^K•6-.¹˜“K”’$=ÿKñb=NHä(B ÙçO5!%m€ ¥ñ dH¸r˜ÊƵánR@?hJ‹ ûí½üc´¦p¾ <>ÄÏL¦oÃp’aMÀ™y&ª²‘ìe7K!¯û„i¹“ã¨â†²‘»—6©§W¡Æ¯gS¬J¥o(¦¤ÆXhá'6¡[·u,ÝÓžÈ 4–wßåêkÔgÒt`™öŽ)oMÙU *˜ÞU€;¯º UAüÓ Ḓ%ÄMŒ‘å'¬Ì•‹œÆL¬„0 á×ðó³:1EËX6J\·¢âÙš­U[¬³ xl|ÜÐñ ÊeïãC8«dÄÑ;kí˜Ásí0™ 7ÝB8¦^Ò­Ž´J@'M§@`àtŽ QðœìüÿP[Ç<î~ì&˜$mšF+g ÔñŸiÜIÌ -±:1¸N Ý÷·þÏÏã¥óDôqǧïÿmð-3s°èå4 žôÂè×5ÜjHÈ7çÄ^Z¾í´°"Ò&ÒŸ*öú-_>M=¬J‚î›õqM:Êä3/Ñ•!Š'ÏÏ6$çç£#òžO4ç=&¢(K„ˆ#k$më³bº‘Ía«Lz±„fŒËj¬£žr%˶)|}—J÷?¦Øü‘›d‹×É—°wßÑVÞJ:d]éT(\søwÅ+è lLÕL_qUP#ÖWÕx#rärE”švJ4)àa‹Ò›•M †+kTp}X»Š-t ¦ùuËFg°íÈM¯/#êš zÁïÆ D2›'™jÓ¯•Û“Ê€U}ôfº+‡ulDšOAŒY÷ ï°2RLWå+q:GІÇ}g‚ „žGìóÌÚÔ7B}ŒÓéN"'‹6.üj¸$äÇêmî¢ ´,²¿O__ñ€³®¶ˆ^>êöÉ–±"( :ÀýÕÔ<*g{˜5âÊ«ÎJOx"(ãjB«ØkŒ‡zMg·è?§7‰á@!Dõ½».)Á@óïZPZ–Ž3 á«ä­fúóNŒ÷£R’6v»Á1ܵ¼ŒÐûgú׺óI»kFïéæRð§wõ|7¤¯ë1"šÓD>¶²ðDwUþZ–á4²”4pˆ½Í€«+ö\á©>pæ±%EŸ×à_ší¬èOˆ6Z5 ' ‚N|ºJF™ÿ:œ¼Æ¶§Ïù’· –Ïܱ¬}”Á¶(_‚™í{nyl/£Ø¬"©s£˜u5 ‘»\¥×ötéòüœNrÎ5æ ÌÒìÒ[vˆÑQÁX F^ùÌ8€µ±ú9]îöM‚=*¸±êÔ ïm¤+^yA„c]cà[î¤p{wäÍbˆãÏà´e£kÆ%W$^§¹žÇœ<¼‡r–ŒWQSYê¬EâF÷ƒž«/ZÅU³Ú£Ã~(ü  @q‘¥5ý™×ú˽«òòž‹yþQ©œÂõg7(<òú†øôä2I“w)Ñ`N!³Gäózéãª[©hÖ2»±ÓˆpJ›:; 0f¤oŽÄ˜ÖÄo å ¢åQ¹K …`‘Ø5 X/hÃéà¬o€¸±‹Za°(egUÀÞŸ75Êà™•ÇT:ù)d¹icM¯¶Z}µ.® ð4•ßé!¦ä֌˕?¡.¢OjcS––2Ì**ÀfÃè—š¾QÒ—””Ø[•R£ ßaA±*Qžïz/š¼’æºÁb}ö†|SÌ¥Vïü‹Ú³’.¼ÆŒË{æ 4T=äÀJ±d®ö4OaÙ©¿®rpXu»ïCÀkßQû›%/óKüíwê#F¯p:ß#x' eÚt¡ðÔÇÍï¿q1–Ó¦ø½”·ä$Lî-HäÍ$]%u@­Ý'J6õ$oÚæ‹Ôœ¶ý¥#ó‘ÝN1=!èЊYùBï1ãoabõ$;Žœž±_AUƒ¸^úäɱ¿Â>Š‚á„W.ââÛ½R½° óþšpR£ã«§1ÿ vŽgÖ: QE~ÅJOEŸ’ú(@ΖÁjsÖ²‡±~ÕåÂhoCÌ/p¶¥+$Ó—pTë±’(‰ŒÂ>Gd:¸]ƒ³ÇcãÜëÕÉNðØ\?=-< ÕxÝÚþ§c~oÈiS¶'ÈŽ¬ë.ElXÝ=!Ý@[s KyÇ­Ž½£A "½DÄ\º*_GvRêÞ‘Žœ\®ñ8³c€Í{ùr×[›ÝëÍÝÍççq»ÂŒ#úë&mwŠLœ†2ó±§í‚Ü𚘞ÛÈ`H“éc‡ª é!ÎðWŸÈÈ À ¤öñOBi—o A͛ϭÕjÂO„||lÉIIiNWž­R¤ƒ3I8] 0ŒöR«ëÁW‡ /hfa¶Þk'ÁÐršþÛ”­*ëè®§ƒñA&›XÍ÷?:È^n¯ÑñyŠÌÚº7—MÁõT½ûõ_3éä(¦‹ ËF-™Ôê/F†—¨¥%¸­ÝÔ¬§y±u£ Àú8âs´ÇòãÓÍÿT­oxé Ú½™Bõþ¦ôgÍçsÓ7|«™æN DÖDÛÐýU›{=kžÊ>A¾/]’éuî›—Ä=Pe_qp1ÒmK"ר½`â,ìqÁ”=ÖË1']öŽz‘LÜÉ`n¨ }«xÉ)RúKzÑÍ•`YrS—’8ŵP…Þn §À[óîçh­toĈ°Xu¯ípâþ;p-ÅJâ6^º„€£%êN¹½K|v{œ® èo% ìåg°ù6Å(Õíä<`_[…ÿ ¥…?= UŸ×Y €$¢!Ö^ÀV¢Ï·!ÅíÄ£ÆðèÉ,¸bŽo,W¤—Ê¿ˆ–;ÈHa‚ÝT×Fvv9!F‡t—í¤"†›SVÆ¢«Œ~úx”Bäü§õ’Qo[믟rÈ]û?À&0zÐÝ£JÄxå&Ž$’´ÂT1PV’ƒTÊmª?P–Ö'ÜÆà}›úmó-º;ÝyíC(jO+rªj‡9$ØÙ¾¾³¢ê.–î›3§pBvÉ¡ÐGÄ”}¼ób²ãhÄ<íÃ-|“F·~0YE¡W|ÞNþ7S¡TÜH0c]ÛJæ_!UbÚö¢è»6¦ µª"Ä+ ®ÒŒß’9W ¹x¤g1ÜMš¬Þ™2Ë*õ>ø–…cÖp˱Àa2­7qVl7fío¾Ý-4šÀÏþ±Òð¹AÔ"'ÒÑnUÖ­Ú (œaœæþ틽úÔïUMµiY+ r^òø?AåfùHD;ß„ ‰ã€8í(÷ËŸ"R|Åé͈0‡ Ì Ì/{?|bâýoÌŸâ®®º+â‡íyÎ,·§yrãby‘=Å0é/´kQ¯î|ÃBm¡Úc0YKgˆÉ!í/£ÉóQ·W•¯˜!¸„„$»ãigü`Ý/\}ë„»ØíF¦oN)&8cW JÂ<¡‹¼jó}Ã%ñ} 4‚‚íþDriqãj\Í>`m>ÿødXÜxy ¯KpÚÿ ÉçÍ»–¿XuÞÀûgþ“…y0+ìqÙf TVŒVC•ê$q%GÍ?ç¨s(í0YÚų9¼0NÙ˜k7uÉt%OÉÄÈÀ÷êQ ÃB jŽYÉÁ™5_•¨rðœ:>NxeÈ#ä8mu¯+FÌÖ£x8vŽÝðÊ™‘¡ ·¡g}u,«‹/S8-þ0àI›ù­£%s0ÏÛ ^Ü\Á;¨ªŸãåU&öUª*)¤=Í-¡ä&ì¶ö‚UÁ’)ÌãÔR âoUÌ! ùð›}¤®?zHoþëÒQ»iŠ1o|ÙÝë/ó´¦%£+bJ $÷ufÈuÝÚl÷— š),Tö*30Í#£.søïþÿÕµâ^–#öꄈK‰ (ËÉeméê4K?B˜ŽÑ]™'J¤–ÖÎn¹Ék «ë‚¡M@L¸Ví!vôð;·¶†¤ju ðï sk∘ XKu)§Oîƒ>kŠæKçÐuÓ ¶Ý€“ž¦UšOmQùõOMné ôÂOgÀ›-,U,ÏŠî¦L£•ö‚ë]Q†Töÿ…ía•·¼§ rר—jKAÔ¶`ìôñ6nLH0—ÀÒuj\ ÿŸ/ÔÎ:L«”Ô„ÜÀ‘±O¤¨ø-j3ì]«V¢ ŒPAÅË›\^7HÑ·5g=•øÏêz/ι}uÁ»³ 3Õk ¾½]i20¶ofûa_ò¡A~bÈuÜ‘j¹œÎ6])þ$ h ôå),ѵ J7Öìê]ÿó¥„äBCM^– eãcpwÇyO®D 2ä‹®‚úY@¨²×Uƈ½KóœÎgDšËO2r-MìÄ!“à:8€Ÿé“ŠÉ”çù+Ç8 #KVîz$¾Ÿ¸FÑ ÙüzdŸýrÜ#—õ6³Çtáº7 ênî4kPAê¶;üÙDÝ`gòšeŽ •Ì)X¯·½ çÄåvSlYq³<'gö@„°cö%†¶†9ígsuw¨)¢´'j³Ð­þèûPŽU§p‹€Síä^¾ê´Žäû±v‰±= «;‡µàW‹‹ÆWK$µ‚˜ÖcûBD2gyºÚ¬ÊÃZý3 ߯°tiϱ“D_î›"K¤½?H”éÅ UfÝCÁ9î̽Š*‡å‰ý­ÐWÚçgÙô"1 Zÿ-öi³FÅJÞ«ÊÚÊßµ<Ä!±)-ƒä<úRx“Rg=“ÂUgHrùQÈW\°ðöáS1 »Ï ¼ï–€UþÍ×-yïφÌÇ´½5f9 µ4ã_É{Y«ÙYÓ+ªð„/?³âBæ÷îv I"æ2«Y,èÎ4/©mµÃÓ%G½F@ñêÞÅC/M%9޾Q'øG—Ø0«´vzéÂÿ¬<_¹‚ãG<•GØÔOŒ©©5œ T<wqá2H¶ÝÞXÅúpPH¤Qô"ஞÃV¼­<Ó¸“¼4Pfù~ö§ùLK]¥‘ÈíÓÊšdB¢k[Ý8÷×a'e¸"U¿±‡º p >0-îþDÂé…¿fbC2E"íim±¥¶c“l \çSУ­FÒ Ç1Äû6ÛßllÈ…¡¡lž²­Ô8ž”ˆÜiåIàm°ÓiûÛGR±Söeÿâ(Ù—Žžgìl^tZªöÁ•ñ!ÉqŽ…ˆç†ÛLÆ'7y†»§.ãÁN» ‹ÞnÈÞq? ;2ìÌ+-%ÙÀ ùâ”DñXm $«×ËÈûâd‚ŠûµÌê©fqh”? ‡”üªÞ:@t?è&•ìƒËm¯F@k c7ú2ƒ§²Ø¾¦ AdU¤4¿Õã; "%Äô nýPÝç/Ž6q‰éTÇp¾Ýúº¯…¾ì\À'Þ2§b,ß5tç ‹3ÙЕÙё̜Aưœrùiqñ>_ttò 8˨ý¡žå×´[ÏGÛ[³¡Ÿi¶íª,$âÀâÇÛ[L ž,þù‚5Þ0;Çêtf蜕ÒU‡…MÞ¼{›N¿¨C,LÖŽ^p=³¥Ký!_dû¡7‰sÍ[¨ ˆKÒgŸýͲϲ„\*îI{œ{óQœ¨tù) Ä ;Ûß(zF’fo#xdb£ E\õdý¼W Û­:&çÎÐîg/¯È¬ÙŃSkTÿ§§p_‘$ÕS¬’”N χ äòî÷ZG5Nm:{‹Ãz·Ü0aÄœÖ`Z„Q,ض',¸eD0TZ˜†‡òø5Ÿ3˜ÆÄ§ðn _…¹r ,T3RaÚŬÕRbp‹ ¶9) pxw¹?3£ ô¨PÕ7(wçœ/°ÍÀ×þÒ<ô¢Ð;ðWÚÈQAYrµßåð n è|õù‚s[ ¹Ø½ž$ú³!D>çuð#þùÍe€/'„è*Q¾çjªªüu%Üõ¦Ê]BÈGA¢§·àg ø‡;Ç» |¥Ê /Þý“ÈA­‚¨7èÅs…ñ1²n}b’„ØeÝ(Âx§‹DFÊ Åd¦¾¶¿­á.×'H|¿©v˜>_VéÈ® wŠWò=œ‡ã¿ÎH¨(εõmaøX@ÖNXÌ“«YroØïï{eù,]½Çil¹ÓÇ@òþksUÎ ÕÄDE¿wÚAÙv µGÀ€dšÜ³UòÂ=!4m{»Í~’2Fb€¿––IZÈDäoÕ'›) ç­[ù‰}¦©}¾ ‹¬ß`€_V€úÁ§ÊÊD2„(\Ö±vÄéCеK ÿú¨ó´G>,ë"gZЫ¤ÞŸÔ}kø^¥oFÁ³'Ù}cc ¨~‘ ª¨Å¹ÓÌöÈÛéò£$Û`ò!.¾ž&‰prÓÉR“òפîžÉ»;Vd*iõ‡ßÞíf1øvd‡ÖRëJ^Ý…ËÅHƒ©| ÕjÌeK@ÁÀ'ÙF½5¡ ú'šÒ¹Rþ݈T·¤’é ¢vésÜò¨·Ž ”»'¬AO2_î¡“#¯CÇšëÉ Q¨Pó£&C9ÝZ! RP§t¤›sjJÅI°«5|*õ—%Ctc‰BÒÿMTã™J/+jÕkU˜Î+ÛnG ¤ê®ó†ÐIéNµÁÁ¤I‹rŽGðÒ7É;îŸ B;°_U³ß{.Hýk:ø~Ì×\–ùõïBT‹I&´þÃ’D11´_T ÍûŸ8y©¤Á:>ÂvX7V£ü 8ÆÍ þ;³‘bgíÑ£Ã,àÕ„nUÖóGÿij‡÷rtЂ«6ãoÄÉ~¸BÀŽçòKÌût54ŽŒW9e(‘‚Ï6ƒf_P‚uiÊÇò j>Ù04Z`ô«¢HÝ•W6’•Ùòt¶|›ýØ­½]ö"K™æ6jñºÔ糫Ïb™YÍšŸíå·î!eÂóÙÄ$ÉrÅús;šæÓÅnò¤|ÁÕBGÑ­ó˜ÜÖvãÓíÑe­ÌrøS¼ßKf^o[êÞTÂá@6ÔKÇͤéÀÄŸ1e°¶vÕ [ÃkþH4¹HÙ_æ·ÈQŠ*›µ'Ùx‘6Ç¡×My}GË~‹>h<ž!š½Ä¦ µr€Ä©Ïegj`#‡'üñåXyWo¬ÙÙW1×1*~ë-â‰u¬h—€ E_Ï ½e4ö-t Õßo@#McÏ•¾Ñ{!À…?zñS¼·—‰“r=Û WËöó)a,®b¸õz9 }†'BÅyæeØÕ<@¼NÜyTèõ  Ëfä€Üü~’Èw\U&Jí4]¤§ƒû†D Õkc— _nJú¼Í!ø=@3ÁOX“óà³Ä‰à-Bï>z£¹è¶%è1EÙDìùqGù†ü½}†;ÆZë÷E!JZ\÷&çõcmÜ ­Éâ°WÁ+*5œ•ƒÍÎɧl ®kÒíÇJ@¦k@b›—ÌL[á‰í±>ç­ÂŒVÁÿããCTºF@Œ“;r¢¥iòúž·*å©¢ñq‚ب“ÎT”@>·è›ˆå ’ÇnŠ.¨ngy}áŸõþdâʨvoÄÀiÑØÍWªì?LxüvKG ÐÚh>k5Õ‹ÄîŠÙkÈü•v>D«YÐW¾)Êa9c‰ˆS$*B_æ*š³ ',`¬«Ä…Òk¬Æ‚A`™$ó_Zè¯SNà K¨ÆB}ÍeáRfúJ¼Ñ’ó9.î'߬–í\-Þ¦5”.ì1BÝ–—Õ0U½ñÖ]þ(êP=ã:@†Ñïté‡ÍA_.Þ¼„)E+5qkuÙPGh`8µp!Þ¶E#˜a›µv±KòÔz€ÅjÖ’1/:ŽôŘñ¯ãAEŽÎ‹˜‡ vNó˜7YflÔ/*àÉÑ•ãëÂBü-5îZË.=?ô.³Gå\rrÑåw[Å9¶[SgQ…–°Ì¹¸ÿe¶sH yXŽeÍå*ƒÂÂÀ‰,Å9+U$ƒÍ£zi}}%²Y„jïžÕn°¼ÚÜÂñZúj¹µù9ÑÏ9j‚JU™¬£j±\ÄyKÆ«KþqN•‰¼ú¥ÕdÖ¾‚ Å1k™@M\Œô®ÅÀD‰ d[T9´B7‰y-Ï{ࣇÏÜ·¢æ7¬$v5—î4-Ù,å­ ·]Vश"^S’Ågõðç­ 0±ol TÇ×¥ñ•å AOóÄ'ÄÔÒFú±þrU]-<­RÈC——g¹N6ßâëƒZÞVÔÐg% ‰Å¦ÕÒÅþ½8}ŒåÏ{FÀ³Í‰ä=í£Ú¬f dÈÓÿ½ÏÛΣeþ€°é$a˜ ¶(‡M­ÇtÓé–,œHDsÎùvR&s½¹·5c»t—+ßL“Ž¿²ÆÊK‹Ñ8£ï,“ÆûGûà7R£Ôʺ›¾6"TžK\ûꢴwP¬‰¤òßÎã9„¡eÿ“qÉìˆY'¥¬Ø ¦¹¢E!ßæ–é¬ W¹;-üÔó¨§Yc‡+ì®àÁ&/«•r2‹1ÉÊ+q¸¶ê¬¹_yu>g2C0tý’Æ”B*8ŸØ›½á3ð]~!ûý½PK¨)œÛÎtè*XÕ± ÿ3 „Z`íÔË–ç%v¤Œ>¼^‚îÁÆ‹›ÈcùµÎ™º¶=M´@ޏç,'X¥ ì‚G, nù&Œ’ (R”…ÚÆ×zø{qC^sáÌð‚¬]¸Ç¡´ˆž“8úÃ`»‹±ÀÞËd˜GõUUÛ¥±ÑÊppÕ O „`(ÈD_~¿<†®Ü¨ÄiPÄjÜ\»Ë’™mÕj¢†&óð±ñ÷üŠ|²!±÷Âãß‹&ÜÇ#T„ª [J 'cõÉ´ñ¸ÒJ5ƒÙ[T8¯™Õ-€yë|ÑZCy´ík‚¥Êäpc’ª<”+ãÅÈ#Š KÙˆO£È!¶ë+)oÆ-Ëhæ:X²Fê‚îêÁjç[\–ê†OÝRNƒ©:TúTfÀ¶~¿˜D?$ê¸ÌÞBNÔÔIÕlj¹ãhë½±§µË51ùä¤ÛéYDc[ +:³ê$h¢úW2 £ª¿—*&^_ø´Èqëöy«1ôU}Ö¹îkç"ÄÙÖÕ<Úź)9£´ü»²b"¢µ$’^ 6Bë9‡ŠZ 3Ÿ>¹HÐÄu„ìâC.ÜS¯õöVcx%æ&ïò3Ù2 îœ«ùFw¤=­_£š`"Bð/ÿw{ ^¸­õûñQë®tŽ€vº^\mÍØg«{¤hHßZÛ¿<—…2EòˆÔæ(å E#±­.¦uñ—Õ[\,Ð3Ù >ˆì"Ô*XêIeˆœBWb+yéD?>çY`d&|S¾­.k1[œQj¢:EèXyù³¸0ÕñµÉuü ÙB9 ïÜó$ÿûÏ +cè 6 ag]QÏc=Ï3Æi÷Ñ LD¡äàêÏe퉕ôœäô_MTÄ.Ñûb7åEáŽFÕÏ]Î hª°Ë¬u;óuüOÅüž.ZÀ÷›ž@lwN~@ô¬5{xÙü×6×Ãs~Ðl]ë}HÈÅ —IÞ]I½»sØMÈ–júe$Sû²™QÀ¿£–Nwl£"l)akÓ#1ÆBÿ=ç5@€¥ä/M0)64CdÊßb{¢!öbבÅëbAºämÔÉšÒ¡ßvê©g•,Åâ0 Iµ[~«Óâ5„2ÓŠ³…?¯j8¢\aÕù‘ˆå’óÁ'ÿ¬ƒý±¿¦³ÐPƒŽœJÔÅ@´ç¹z/{@¯ûf U+Áëhðˆ¶^ã¡Ü',ɽH*ÝdW=a½_PXËáѾf$ØÅvµÅ:/\p“$"h®š+Ðk#ñvà w`h§¸±û§©Š(YwýŒ¾Øpt9œÏLÍ=5lv¹¾Ó6þǦÑíåbîS‡ø>¦H«ÑÎÈî_VÉø#V$̈\vq/ÎP*@êŠ ¦íü¹;4ôAF¤ÊaŽDá@Žªˆ2E˜&ØÔp^ÌÊžzŒ^{­Âeyôö\×]æ7¹¸ê×òÝS }eðó4)+`m¡Ýé‹tê'Œ‘#<á ¿Ò¯¢¯$d4T]jY ˜R3ætòlÞòEJVãš›ã /0B9±ká+ÈÜã°HNìÛKzê™4ÐõT€¼G ÜìijGa37EÅB`aN¾–9kÄÔ΋Å'ÜYÇÕSÒÜ¢W…sðáö4½ò˹b[ègDß¡$D;žŸÇϵ»KBÃåoȨSï|ÃI™@°M°çmUjqÄ‚>¹ýüKÆs¡¿³…ÅÕCÞ­x‚c¨s¹ÖP0$Ú£øã7UO•|~Ûöæ‡ÅÈçMɯ[ÃÒçÑ·C¹£?œb>jæ”â[xOâv7Z#Ú¸~ Þ©ó¢>Oæ/ÔŸâ1i$»)³÷6+äºÍ„B,Ç·jî…õ×Â×·{+g¸YÖåÉÌ/¢”œzþ‡F µû`0l9“4&ÒÊ Rxup6þôš)yPg t¹ìQºç‰9júN¤¼ä'¹å¹M¤}d¡!ñˆÇV¥'ÅÞ,ÈK[Ÿ¬/Þ²[ƒÜ“3º–è(»wu'£µ<_›¼Ù}éʼSàDšcwEø;N/~tØÄ©†¼Lñãic;m²ì"çVä;^H.xå¤|,§âüWÔ3’¤’¡³ëÍv£-»…›7¿#5Ô \  iŠŽÏ-ÝÔ‹€ÝŠÆXù&ÁH9ÒýÇØò*7ÈÉ[F&ya®Ç:Úwálè{½Rø­ÿ2ü×ñª\±n]y¸v´wÑÉÚ˜25å.v{%[& -ÐþÊŸcV2T2™Ý×ò®SÒlázùgzÄf‰-5³x“kàB,ºàÖßTt¼á°X>Xþ5Þ‡[~o\íÕkà²ö¶ÙÚÅr9Ëšf­å‚‚`ÜÇÁæp?_Ô@õɱ—Fºý M‡Uèìï­tv DR‰°ª|r³³´¹bJÃÍ?Gn}ϯ?T„œù°Õt;ýPçFCüî—ÔÎ4ˆ’øÉ y˜YP-ç¦}L†,0“bœw˜³KŸ“œS»ÄA‘–-(wÍ=XûeH󌦣4äyÂ-I‰õ~z2ï¹~À›´èËf¡ï êuÛ‰)<‰£¥ó©]C|ÆÂ†A©ŠIî<%’ºÌb€E¦³´ë¼,í÷f¤BoT‹mA›L²L)E¹£Èì¨9kkЙsiRUÍÑI«™[tšÜçõö3ÕTÝaëÊ.¿—Õ£pód¿y ÇKZÁÛ}•ü8yí"\ó¸Ar68Lx0¼ÆŠ¤ˆŒ&¹Ðö$KƒÑx»›esjåe6–{ŠD³˜fñ×fíÆNÿàäßöDÕt›G#æZü1X»öNþe—üÜYn|At”$ õ£/ ê t€òÙ-¨ªÅÀÀB7ü=PÀN»"{`°t¨FX~ ªŽð ªñAJ•ã£x±}x“± mÎ-gFÆ-4/æšL«ŸØ8Õt†‹ªÆ‹?u®Œã=;—­ÅƒDûE$mOãÇh$¢®óZY+ÉîË®}«˜ÎÅŒûl;ßkZ‹ ˆÁ(“ô(slñ{ïw}È\± €=K“›liIP&§ W´co qpõ ¡0÷œæQÊ×r6ŒÜAüØ Ç"Õ—'¦={úWR¥êd¬Vƒºt\)ÕÚî´ŒÎÞ[ò#D´Ù(ZÒÁ]J*^tßmEïIGúõ`ä?ôÎwˆ“ÖŸ‚ÖZZŽ=‘AJ?èžÌSä D°±ñ0½ß>p“Rš›åÍ¢ðHo;¥h 2,ðâЇ,`ÈÈ\4Uê+Lò²ê†‡§«7ÿÀ–fAÀÈ"»“Qlb—>×*ë’ó i%ú7I³Øc´È*VXKr2w\Ää4ë=:a¾7™®½8_Z7…Ø;6pD5*ä¿axÎ#Õ FEݸgâÝDE® B¨‰H×è™ú -)"?Èq¤•Ï+çîê:Šç•O5Òꮵ99ó«f/ †‹:³¡°‘BÝDWd›†…ý7êj&L›ß:WÌYCêJžEPûÑœW.4èËk¤Ä]þ^ÆR”Tý›ïÛÅ×¢âêWÚ¬@å³nõ•°1!kBà5¸)0ËŸOà}ºÕˆÙj ÓzÖ÷{mƒRýɧ¦ N¼ÈÁy©"-Ú:ňœg4ý£Yðó2Õm™rÜ¿bŽê™u/ cJ@âñ-gÛ_Ø‹ÿG4b Â)³mÞò°ßlUÉ{Ø@¿ª ž±Ý]ñSm¥­ÌůE¥{?Õ PÌïè_[rÑÀ.¤‚2’uÑ×,˜Ò{Vƒàó·:„¿2gUü ï­.8µ©¾ô>Örü1‹+ÞcÅPï¥+¹‰ṯ,ªÿÌ0‚) AŒ@xn¦V¼JMrX e×Z¦ÊgVhC(lûëóõé¹Û©»ÌòòB#ÞâÃ8ߘÚÞ4Cÿrî 0ÿ Î…%Úµ4潟TDššÍúoN—«z“Õ©6¹D½}°æ‰¢îÞ;ÑYd2½îï>ÿî®ö¶¤6ØŠ)ñ*òy#ËäÐÀž C$/Ú)æ³Ä -²Òø¹ÀŽr¦hu^’C²¿ØÛ{jäZPW9ŽvçhÍM,Õ#DäúÞ§ŒM›\bŽkµSªž¤­»=1¨¶YóDöʽ‡ÍÕpã/Sm!ÿo¦Pa!¥%NÇÃêQÙÞA*´Ñáb¨>t¸v^—x¡=pÀãâ•Ù*T ¹„.7PðàE<ßÖݲå<¼ *éymë⼪+w—é*¹Š[þu¯€Râ ¸ëŸašÙÑ/À™^·Yùö8…pÕÞ‹®8Ë@òˆÛÊ4šžûÕ R6³‰üónYlÝP€ö'˜(±Ÿ¢šáÏ+8!ýÂÁzŠˆ¼KLô¶ÂŽ‚dÁå·—ùú+ŒÐ ÁKöò–ÂÈAò­¥%ÂÇ£Ibu–Öˆ€(hcÎ',ÑÀ»¢ $nÊò ÜVY<<󊃙€¤ß0(3˜Þí#àQª†“¶äò‹¤þ,qÜxëèô4y>Á<É{cjEúÃ8}vG8ˆ²R¬íû›×z G¦Ý¢PH¥Óq3e=/Æ €çÃðæ´Ø9M²°û÷µýŒƒºåâ²åó8 JþɃ²œìmŠu`—ñqÅZ”Ãz½·RI°•¡qŒY$Þ;\Ò1úFo7ôD*aèž>~S§²"L®aÌ95#7EmÞÿÀÔW¢ø ƒDãÆ—ç¤‹Ê"]ïªòIBT3?‹áS×ÊϳL¤ÝÞÙ~20rþÁl=Ý×JBù÷Aæ˜ÎûÞ]0ÙŠç½bf î^bצNðN hñ±ë;r ®~;¯4J¦^7iQ{̪G[šgRš¤-óƒlŒõpÝK ]ã$³½“Uµ¼ñQ]BºX?!CÔîôIWwÍ?léw‰&ôWO“dWºè•Ò@º÷P©ÖÀ ¦Ô4QH3¡*2¶T{où ïS™2›F’Ùú ò @>dòýCù ý^¶ÜŽ‹žµ öéÌyÁM¶mñ€ª –›Rµ±Ø©PFó ŸÄ¤¾ c´0¼ K/WÈ»²ùáž+»>+`Äe¶Ú)¶r&f¢ÃÔ#u±Y â=§$:ûtEéKèÒwžÎØvâò¬—/§åê¯E£¨}†þxå¹Þnx›ÜÛ(®ŒŒ'CÖˆBLJ=l/k…3Uwà’)ƒçO=-–ê“P¦Þ] P©L·)æ]*Óǃùhqb"'Z~¤ˆ5bx'T‘—rë=¿EÖP²ô~¶þ°Q#—ÉË̆ })wúáàÆL!CÄO¡èyéþ¢ÁçFÇ•ÇÒv‡Ë¨5£w0ý¬xH B–,péõr~Uâ‰Êß}Bl”`úüäš¾mG¢îúR¶sØDpãzãc±ÖÂ|ú˜Ø>¥ÐTP»FIñü3h1fr‰Øl»Š—.Ÿe:E“K:ä2)}Ù¡û Œ±ƒ½ÆBo Í9-¯þùݶÕö”Ìòõ™E[×\®ù‹µ…0Ä¿'&YüÕbC‰wHÂÜ– C=BbüûfÎÖNzë½ޝ©cåΓiX€a‘ZzÀ‡ùLú«]C‰Ù÷Z™EœŽ±Ê qÈU ùå.Œ0Å7o¯ÄŒîåèj Òk%½ú™fâ•°Ó“ÊJå†\rÎaݲ‰kg°ylAUBH}¬ŸJ òíúH)'~û7à®ñ“t¹ [ÍQã0êÊMæ£)öÔ8U0Þ1óÚ¹üƒÜ¦ËQyÒßCÙê˜0‘èMMÐ{¿Ýe¾’Âî߇ç#YD cô-‚.}7Ö,èºOw—ñåõï¨q=ŽWŽY‡ð'ë:¢á’Á^ªžu¾¯{C\hÝn¯ E ^Å ó Ôo6©óÿqd2"™ž¹ÿÉZ¾8%†ó+µµvSé*ƒ8­g߇½e:¨¥ü 5ö™‰i¹Üòüp(½bExä=[]náä{â¨qÿG¹p ´ú½Á ¹¯dìF›ÑG™¥Åü¿†mqðKˆEçé:¬áï=èÐv£‚PþêR{­ ÷gB©‚-%]âe´nLüä”Á ×—O…;,ú¨0&Öy ð÷â9½¹m] !ÿa Ì: ßlìôSç'#¯h>$®^AËÍP»ÿâ©ëü; #8Ó†?)e?xt~'¯“.·ßÉÁß÷ÿšhGåštjAžÓßýê†Ì€ˆ/….ŒÏ 7ÑÏßã0©•?&gqÖ[£ßq ø¨HU!À”Çõ/Nôåè}亵ÂÞGP“ÇUåÜåuؼàUÓàu‰0ùŸ†¢TØÄ!ÕFù>~1&سƒ3ŠÅ³`‚r;:Zv¥&ÙwÀ(â:Y¥Q\qfÒÊôØK.úÁ§3c¤¥ ÄŒÐ7p%ìÊdc­6'ÚŠ†üE°5Ç’©‹«€ôs»…”Úž 9Û–¹¿`œäb﹞tÕ!&fÇÁû&s'$nÐl¨, s¢FÉm¬¥6 ŸkrÁá¦Jsß5³à×ò+õ;T¡_tuKAÐÛP&ŠáR=Ï<»’É5 * V¹¨Î6¸3ˆ>µ=8Héôä;ÚEg°¸a€£ZepJ3™èÿgŽ)µ<®Hõ²¿ïKf;,írØ,…à™5ó¤-r® 9¸]°â> ½`³À:…]= ý}Õ¶Ó]÷pL)Ë“’ê;¬%ÛMß(U®U _5œ;¨éÈôMdóÒ¢Ó (O‡›¥›X·{†6 n÷óFg0 H?lÚ¦­+Ùå¹j®·GpMã˃›iÔ»:¸¨ùŠóDÕÌ¡¯ˆé!|U¸ \¤kŒ‘°QâÁºìÑ >«õo‘#|c°} öÝ_û±­ vœolRi°ÇÕ+‹R*÷ÕhºXƒ¿ÛÝ}”P ~Ëÿ,çž!>ANdDUðÙ ©9(âÁht·˜ö9L¼ecq(R#ã0Â0‘ª‰b!w¯î®/îœqíÌÐ’‘^‚—'cg6˜üªÚ†¢¤N…§*ºf@Þ[9¼»\ Žà 'ç ¹GU.oƒiŸðÿáÕ¦¯eŸã Ñb¶YP‚Ô;>Lû%4Âþ {lÆjØ—¬Z‘‚®“_2«¯9†q….vÈE&i­ŽÖ{ýþ*t 襔Gþî6BƒT2¶-CÐ[èGÒš“^Àâüg2Å컑Ù+ É8Ë÷]Høw'vâ¾¼ok¶T£««‹ôªnÀ[º4³´+w¯çIÀ‘Ø|S"üÃûNÒU6j³x+†›²fÓšë*º4¿ ø¬ìÉÚñ…’^á•$3¸[Ч{€PPŽ@õ¤ð©ÛހބN?er‹iÛ yð-›c ¸ð!Ô¶ÈGµ†ktÝŒI°È¡(è<ªä4±½&òADq¤mÆÔp_—cq 4ZÛšñYâo™-ÖžÊ.«ü ŒÈ²Šqg èJÍ/†FÚ2é…ÉO› üŠë4™ÏÙHá’\ÖQ}!|Ð; ·‹°6å,YÐ2>ë_45‘.¨¹*ò®?bIÑN9§hsØ0 5áñ™9mhþâ(½Ÿ9Õw\e5óTH?e^É6Ë\:¬FÁfQ7'`w0}ª¯Ùî’¥ËÑHý"'Œ³#½ dÕ<ÒUw5UúMÒ…HÔ(˜Ä!ƒº@¼ ½»r*Šn"AR(ùg1a¨3³LC½ÿêr—?|ÛcÕýKÖ¶¾1¸ÿµV¶ÆaåÕ¾À:Õí­2O·IÓ#›ðšMóMŒ~Î\ €-êGö ëÊfC»çsí|“Érñ „é ®6Ç\¥*óSÄ3^ª.R·Î]]µlŠ §>ºI,ã¬(E> 3Û¼5ÓØvÁ'wÖÔæìËø v¹/=÷-‡ÄÙ…¤þ\ðèóÓ'$@„^{”ÃM5Œ1Sâ0‚ÍL”g ½O‡ðî¦G¥ýJ‰¿KÐÛ¿¬O^…0'Ƴu¦×V“rÑ™u€b OBSœÔÌ(÷ŒswUàòI¿SÝÛ‚„}8QC ¶¨Æ”J s6%œxw d¿p®9pª@8ÏGLçL¥!Qã§%uÓs3~Bmèò*¸û]Zeí½_뱞­D¡7gœê=p]æ“mÊÍV¸‘žë³¿þŸäÅŒ–2¼q¢o]d®˜q½b"MêG œŽ$šC‰Á%RYÜ5[‘%ªÓšM¡˜Õ”.ß ÝÈv{¢=¸)Å. áóƒüúòÛn8€R ŽN>¤³þB &B~\4ú *¸±“ [ ÐMš7Ú~qéyª‚Íÿ@ò­šoÍ6™÷Þ=Ù<·h¼8ß²ñ:–ôË‹ýo^š4"ÅBæ×!D»T4F§Ï©’ºÈ_ªÖc-^ì$m÷"ñíß]«š 5›1æì²³ÊÞ¥ç ãG"˜çlQÇ7ŽãÀãÿ‡5SgB@;™ö"ŒTÝ"Ú¸$cȬ¬G¡Pây¼(€Ųɗf.îìwïÁ’å~Æj©˜B¦=üiQy³‘¿§iU ¿»v¾†C…Ò'?…|6EMìHSÖÓ¸<< X°©?’OT¹ÂCÅr_âá!‹0¦ÖeM±ÝžábRvË¡J³ŽðÍ;§Þ…’%ËåW’&£Ác<Øéõ¿Ì¼ÛɼzSõ‰(Iô½ý£¾²çë:5ng‚3’%üdÄd:%òâà rSe­6± Y=@1L]]!¦ÖþÓeQé„Y”KQê„uÉÇA–õ_Z*æ[ˆY~‡ï̵×öQüK.ÚÒÌAØ1 õM”ƒ#hQaºôåzAy„ª® ³æö7/«)yH¹Ï¦{ufÜ òåã0¨ ÕÑr©Ï§e‰kšä…ž+àjèÙmJÿe€Í’³|vËÙIèboZùØ‘×wh9ìBûPQç2*“ñÓŒÅuà§/ª%õ¶³‚÷‡ø'bÆã#]…;Øø} Å“FÓV¶ËM„“üØ¿®~;rféú.½Y\;2_tÔú †ÿ!¾%¦†xbv«>ªOkÑÁÃ!ÅÔuñͽê)GõzT’ò”A)Cˆ¥¹ŽnN“§AIåIÞîmÏööÜ|Dþ¯¢Ò:Ÿ®À™x4')K|ýô3ë@bû[Á§‡Öý8œ&Ep@Z#C_@D^—tq‚i¸nR:ÁÄ ‹}O©\†£æ£$Äy1å¨-°};ñ±ÄGÐQs`#9i†@; uþ¥ø¦Â )×´–H› Ø_B"Ja®gØu\‡"&í1îs‚›ìª®  Î`RJQP´¢*¸½Q®$×ä™Tþ¬‰<)Þfjµ#•¶+Ã8÷-9C%8ˆR'^ñðU–¡is?å·[Y* óÁX¬kQµí’!\Ê•½J4ý•XÑ Â/&ÌV“ë>€Gi«¼„Iáµû p/³Åz…<‹ØIÄûÉ÷~A¢ÖEê<3M+6Q&-#>ùQ] /Ÿ#!¥‹Jœ\²³))-}xì²QÚ}´Ê¼hüT ¢s3ÿë®̉;– !󴉂kC5N)kíŠø-~ˆÁŠ‹„™ÿæô4H»’ P¶ž¾È —~Ü¢øAœ*~L»@ŠêêNkhƒ E¶-ìIp¬ûQµ.{›oð–e/S$ GèD3$ÑÝÐßÒ;£çÔŽ.*W*xÓ0­ÐV®™Ü£8]á1›P/d^þjØveôÿ­Ãç]!*Óщw?Þ‘©ÏCîŠÒJÂBൾ”&Ý£.M¤óìþv¦y-k–8“å×»¥˜}©–p=çOÞ@V|ä"Uˆ¦$¿§±î€b2M'|Öoh*ãS‘šo¦œ±FôĨgλ&俨ß ñn8+›`Šºu# ,|ënåê™ÆÀtýIr,åÖC1y¬€ Íœ‚Î'wÛâä&ùþh/Δc:wÿœJÅé|¢Òó'é’Á»”ðÛ÷ÛC‰–fgA:2y9ÚoÊåQ]ò–%½o›†<]D²´ÑQáêé\v,§dhÆNϠ訣þÜ–¨)W g#‚mB>B9Æl­ôуv倒c÷6zw:¾º€ô&«\Ñ î¼ƒÝðêNÛäΑüy lSïÜ•ekÎx¯SYØ‹½aŠ—ªùÊ<Çï¤&²Oã• Ô‹îÃG6¥çb9òËΣ¿-­Úü¡ PaE8`2ã`ómæ«…«šnâÏY‰ôôÝúfå„: ¬VhŠ·ÑÀ§l¹×~Êã¥ÄÚ‚Ù!{qo’ ë€Çë‚‹ÃÃ@\ZÕ„;ûø¸ùR»7é4öâõ¯~¢¢~õ»Q˜{Þƒ³,ЉšŒI‚5e[Î6ìÎjÓ@fîÞ†,tÚYzítøh|%ÌUžIs¨ ò›–þ¢MCÙvÏ«§ÂKæžÌ—ïqÒÌḢ(Ó¿¤›l²¥Ç»4vî#C\Rûã M6Ø6æ2#­ög®ò¦QìfÅ÷Q ·¤Ðeá"çDK,$J mÄÁö:,(’7¾¿XÅï£ ÌºúFKUÎBwÎ)cI¦¦“zÔ"óçÛ¯äQÓ¨M‚à9Ð+ÕmÆ#’ßË› r*Ð\CöM;¥kèä=eÖP <Ñš·ˆJt‰év ¯'9\_ ûß #ˆ>Ó¤Ú Ui~©/ÖçìŠ:cä’ò©¸è,dðªÀÁsEµTs»…Q‘å0g%20b„!è$[éÿ¾ª(\¢ÜÉàÆ5Äk¥,#Á”&zàÍjþÍ}•bãg-Ï(Kmð¸[»–ƒË±žcÑhWWø”Q~að?‘æÜBes;\!fìU Œ™¾Y‘:¦bóqÎÎLÖQrû^Ñ¢ŠŽ‡œ¿Í)ž’JµVîÃ,r¹‡ëc̓,¡NÒ¤ª@ ÙÛî¬!dѼs¸Ë7ùR_˜’; ?kÁí¾®xóvö\šž¹µFAñ«]7._~LjÎÿEmù)Ë (äYžøí‚K[„ˆ6«EÓë’ïðaF!C5Vñ¶Q‹ñ¹R$ƒ5üå~1ëë¹kú…å°ëÙtÎËÓýîtù™\Ýc ¦ãFlzw¸ϸ‡÷Q¼—Ã×Xm8Œ©X·³y"³‚ŠÅÇ“qF¡Ú@î§P§Ó¯IQ6²Í§°‹š¬SOu`Bæ²é2šéƒ†ÜQ*ÑÞw²ã›DÜõQ"MçuOT$ݱ^´®>°Pcs&¹\“˜“¢§š´¿BØñ›SþØß°+ŸÇh+h§Õn½|Íu­×/N…zLun'÷n¼b#±úbä/Ñ:%Úôû ¼ÁDà¨qMJÁÂ.a¯ß¥ÂrÉ+ [dIy¶÷è‘ÈL6“/ò=k+m‡„9MYP79Å$ì& ­ÈÍp?D¨¶Ãâ(¨¥àU*™¾õº <¿O©™ú‚RÆÔ"‡Ë'ãNËw&]ú èO¶z¯ƒyƒ†9›Ð/ÂØà‡;s‚©‘¾(]±g@ÿ#-êá*)ý1¢ÌK8ë¸~¢¦OºalB÷IÀZ_x'fBƒûMÚ࣓ã$ W³eb¡±ÅkâQ/ ˜ ç í?“¦,â¾À“ºˆEûɧo8B³™–6ó¯›8j7O7j%®êÓ&Üäç³µÚùdYaPeóõ~_Äç¾°µ¶Òý)µ-Èë£9ÊBå°[m褜´÷¯T\ §÷T~bݾņt†iɳ9¯Y¯2€Ð(Í4Fð˜¸üæ9yuHq:\©ÎÇ/ã.®ív>¸w3kOT‚™òÍDùŽ1œo¶ýlñ­ìú¨ÈóÕ^Ë`š|çJ*‘o„²G@Or'{Tÿ}„îq¼]F[É·›yñ);õ<£Ü.:²ŠøÇGP¿ý–S Ü~Ï,$·üÔŽó¼à½ÆÑ)ÈZCs~âbV¼Ð[ðKÞS²RßZ|\j“¥ó¹ JÎhË‘;È-¤Zd®e±.ª˜ßSÑ>^iª<¥Há?‘Ξk»*ðQ׫,jS_“3ϽÃö©OÇ2u´>+·žF¹PHðªæ>Nž²,io‘Ã¥FÖ*ÙóŒ+ Ѫ†æóàgûØaˆ`3^q"­à°º@ú Ú綖Ǻrm­Zašºð%0ˆ–´%Ã!ê[êkŽCÌÔ¨7*2-ú6”1 uá)BÈ+—Óú š8Ü¥$Ñ;(#·ð‹Dº¦²†K\þ1˜ÝÝ›i8”x"6€2œ(Õj'‹÷¾ïE’}£/=2÷[t'aÑ+<ž×àÄÜ1ä_°·IgS¤ðvÌYÜdâ71Ó¶!†> ]ô™|wùT³x}ßT)×BUYkz^«œ¦ DÎvˆIÝLY3! gú4-ŠHÕÊDýÁy†õhÝ9ßÀ^/’Zh—o‰HÂ/åˆátªr,ž“N"Yj"|á$Ì•j‰.Bá½el÷7Á¼@ È#Èž“J`Öéññe¡Dº¹Ü€]Pª¸¹Úq»!­nR"ÈDÌ0¾q†íÆrãY&çðe/ ä¡ÑçÏ éïÚ“î§½\æûˆ äm½g=2•ÖLg3¢žaبL'õ¸DšÇxýþ¶V™#Ý'¨K g)-Óèån±/°¤±º¹4š+«ÖÈ¢ƒlôü}BÍͤtêiãCF—üâИ;L§¦î¤mÛð‡­ô¢"eE`¯ð~ë„z=P†B”•›”E–atSÍáä×6f˜®rs8r©Ú‰›¿EͪJN/>\©-v¯Y)ô›r"¨ŒïÍ Ô9ï¤Y&v̿뺵]›–JjPžþæÈ ¶5ÔÑ2S\Œdy±º¹“äñsæñ‚`Oøb/Úâ7 íúéik°oNò2™xVúw sA¥‹;m7ÉrøÂBÈÛhOÜcãÓÕ,LŽ ßY¯ü7+ÿI:¹ö“Ó‡ó].Ú…Cg7žžO†û/»)ðJËUoªªEžHô@FE8ß(Kò_ška–!¡ qjÚ¥Âv˜\¥Â±ct½¼ƒ læÒJ®tH÷% f$í/á\~"45Û`S#‹Z[Š Œ¨ç”»åÒóÙbé§„g-À-d€ÿZöô»ü÷¸L/—ì"|˜¤3í[ ¼•M'xÂpÐBS`ƒ¹H/°¢D­NL(rFJÓè`XØSŽ0̓ǑaC)ô` !®5ﻓª+ıÃsô¡‹B>‘‚ò ©e˜­øV›å–Œ‚÷µ€™ $eÃe¿¬KJÊŒGtÖ ¸8„ /æçÜof—ó ‚¦а…ÉR.yªT¼½ãJ¤ªiîGÊ0UÚ7òB,§²ýI÷owDd½bI˜ëãµþn2/…ÌZ†u3B® W½E…`Êsß3;R2c‹Õe2Ü›ÑW‚hVW±ÎÍy¡³^™¬ÿµ†;ú\o‚œ™ÄpK´u¦ýÑ ª¹Êà\–ý%ÇÝ1o·t?)U›xj í…¹ýlRÍr[ã¨D›hÂ×)\@ïü'-²þŒ…‰Ê`幃0S­€ˆUp(ÕØn›± Ÿhýb÷ðíØ¶¤ºZ àmû“¯ˆÊä3Šl“+ ކø¼7IuHêÉ ù9”ÀcÞ¥¨Üt€µŠ«!rÛ€„Û"ƒ_u}â£i#ì¤å“,¹’´2 dMØëü§uN›¶UØËúá.áØ–žÐåº\ÐõÕoü¯&æ™ÃüW|4˜£øÀOŠE,®$˜Ñž_ëE¸p®ÅUãy§Ü Ñ^ø¼˜iÒZ:F0šë\ÃŒZ}0¾þ÷£˜ëgêmgc°QW¯OTwZD½¶c%ïQù8½¿â8C ?À­q:&Ú·Ôláµ~UÉþÈÐ=bz¼yÒô‹Á ¡qÃ’"þ N–¹Ã"ÓfqÑ0¬ïÀwQòyGó*öºMÌœÙ)M¾I‚\¯^„n]]^–t¯ŠéR“¸¸mC >ÕQNVÐ!¹zâÍFý|48€ÈcÞ /! Ò¥aѲ‚)­ ÛϨW5$˜Þ‡«D`î³Z f…ý”íŸx'Kð{óïÅdu´a+4@­þ±{–à‘`¸ãÌFIa}bµ¥Ï±°Ù…Í%þ,PWÑë.±É|;•aXº¤ ¤uåúaðÊSyÒ‘#ôDŒ¦¹7kÍ^~Œ]&â‘q ¹xA bÓZ˜‰9Ƀ«Œ¥1¡ûj‚zõå÷ô0YOû¥ÿ^<¬kD,ž‰6Þ¦¡íRL]€B7j—Æ÷­°™*‘ô–Ï® Ái[Xì˯ušè|Ÿ5mdvØ®\äp¯*’2·gIÚ€uÁ‰VéÁD-ízoGñZ¿aÏ3Ï|<ƒ N3¹2N×VòèZb†4¾66aÛrDu^ƒàd“ ¿…7î#4¸­ Ð_’\z7}Êðƒq<¦Â`£§pNó=7u xš}¶²-vE;/ª5s*N岯ÒtˆañÌ.V 5ƒÉ¨Uß*Ë/¥nCƒüU®>ØQó­ÿ±b*NSñÈÜîPòù!è´‹YâsÔÃ9ܯ?æ^p #¡~õpÛnYáÚ§í\Ðè舚@#ÅåÑ_×÷s»«h˲ùà¥=UêÔÑ»–&üoèÖi¶Ô)©™hRèxùnÁ]õV;ÒiQˆŒ:wu;€Éêtb‚Î{þ5WQKä"/Ü#ç[C:é͹Cü“׫L&³‚[Föðœ"Ø/S¿„4c]%1ª3åtÚø6ô„§V\zÁ†SýÎJyqkÆ$ôÛ·#“Ã-œ*d6úAtZÛ@5‰© sp‘Þ‰(†×‡–S¢Ç ñ muAe‹„°X?òF Ù7’ktÕ…D“(çSu‡•aˆ“U€ìgÔ ’{R»%ËÕoÁÃ#¾ ¨6TðÆQ  2(2T@‹‘Êk²xùK±ØÎTD¢wRz¡xdh§1ô#·•šƒ§ “ë®]_ýžÍÃ9‹6±´€Éë‡æ^žìq¬wðP°÷ûp¤oÖÏ“µÍø$š>¼rL۔Τdð_+[º¦`M‡%g¢ã3¥Æk§£ìÈÞÂõþ&g3¾ð±ô*BºDY³9ÓÃwi±,uHA*iyÐÎz ̳醣Þô—u¶šÉîeÁz´ãcz[@Ì þx‰šíq$ÉõáË%•’+zsdÚ`¹ú[OÞ¼2ô—._Ì¡n¥lìká”WcªÂk‡¯ÕQ¥»üdŠ |\€ÝÞîþ•(¹KÀîƒ,¢P?`¹HWÌ,pÃd‰‘Iǯ j>aýŸ 3‹Ãqù5ð£20©S!\=ÓºCTx†„P˜þ¬t!¥Ûl[Ú8ëå°‰ñ!8ø&ª”kÛ) ëˉ±ë»ç9Ç©ù÷ºŽY¥©çOÎxH5Ä‹ünV:¶ÞÓaŽHå)ëà]/ăKq­”ÆÊ“ä"³ÔÍBTuUÐÁTîhéý [Eˆí UïÏgEr÷²5¶$L8n–šbü¥ã㡯®J§ UfFQ(¯-qͲ¿A¿¶='´°!”ìƒ%oµ{u}Ÿþ6]Fõâþ àd¤iA†7 ¬žSô‰a§w‹µ/›mާ|€ÛÑ´ƒ[G! ûI6ï4Æý2’~l$6ÍÒÐ$²TÀ÷Eµäü›˜.fçÅ«k9ªÅ1‰'ÕÆAuã¡ÅˆX§Vã¡”f¶kRò®,^ i~3õ¡ÙÔ 9!· <ë_ Çüb[µðˆ(žÁ;Òæ6ÉÍ[œ –Dho_” †Ò ;£:¼ôÌuÁŒ¾#”0‚+£l9‘¤oÌ÷ g¬ú‰ý»ä+HWz¹W”<ƒëwMž27\&`PJƒ Í:ŸêÁì$Vóy:ºmö!ÑT a[Ayò!§¶íÊIÕT§+ƒ¢á 5È<µ>àî‹;±jâH=R+g¨«ðÄgº3®wJ}‚AyBi­Ï,Ò¸´‡=Ç}О‡ZÔ:n¿]az҃餳´FŽ×È@è’äH÷<»'c™ =7p„È lžh ØèiB-šÿÑ§GP¶€éàfŸÖÝ1Wè{’HSHØQæÁ0@:tÕ°±Jläbyh #íµ½_n…ºV/P/–½g‡{L¥é`„€[àÕü5ÇJX7 B-«¨&ÎûŸO;£Öìø‰¬UGn뽿Êe'Â8Ó[è<Ì~ÅXÞÀZ>w`Ǿ­8R“`:»ÊJÔ?‰²ÀÄ=½³þ†vÊ{p]¾E@wWLÏhœq¦3#Ñ \*ÞM‡\ÆžíeÀ£þj¯Ý˜ÇL¾‡`°ë[ lœ KY¬'ë[L_„•s‡Â¸pÍì&Ìñ=¢9ÊV-Lc¼Î•5&…ÇäN{KŒ‹~¢>g|cû·¼>ó´D!¿°´†Ý]|‘`Ë#É êÂ7±Ï‡´é·†·#Ÿà>‘hÅß¹kJ¤7l=×…Ô*‡–ÚÌ£ ü󩾦¦ ÆæF F ì²£elëÀwSàÂkoàËê ñ':¦u¬{Õ=s;¨¨—Õ|Á˜UI4÷Îh­o¦fÊŒé8½Ç.å@A…?z›«%&UÛƒÓ¡¥ÒCËðªr3¥+䥰ÒÈŒ@)9½Žf#5=gè¼ú=©?,Oª~VÃó¿bÚ¥rw@·pK±"åÿ°s 6»£3ú>çБí¸l=Ös$)”tèkfG¥™É’[²âbÜÅÆœ“Kæåî´æÃl™‚9ަ³á–¹@X@š ½_B:¼Õ×sþL–„Fþ2ö¡boq»wNOJw©¶#teIOXac¢(ûª×mq/Õ)m?…ãÂ×:Rl½0LóíÆI®Ä”Äg¢;L¨=Õò—ööA?4cZ9’l"B¢¦É¢q¦Ä‚èúfñ´2:KF´Ü q Í‘/²l Cb¼L¥|ÐL—øìnØNtPCAÒNÙ>3î!–‰?uõk¾+¡eCJI2$›„ë÷W‹œ°ø[d Ù¸àŶŠÄŠ I÷ÍðÞ8}‰1Í=@4À†L–qb+Ää, D’ù"É[8̹ž<¡M-}eH ÊÃä]ÊîLž({tîÁÕ½ô¢Dõ;y‘Ï-E%è1f;¼‰a„>qñn FÅ$H>ä©«G c˜tÛ_šájuÓ#±Ætu#±Ò„™´wçsÀÇwp@Côí%ÑP¨–›5“ $ížõ¿¤ˆ Þ+iÀf¿hpGS“ùµÅ/ÀéÀy3$i¯)¾ÇþŸs›•=Œ-›&-\ýc¯wºwÛ†e/èW=TŠ”CŧLƒ Ûg€ aý"Qú‹Ë2ge ´ñŸm_'¿¼•vÞyèQ¹±ö8 ¯gÇj›2ެUMÎÌ0þ˜ëM€É2Ȇ‰ž0ÆÈ3;Æ?fOü×—eùdIt¶3k4Æ„r-<²¡# g§vެZÙJ;Û?è-¬Œ¯ŽEM ù}üY“R¼joKkï#/µ,³ì+PÆŸ±†3?‘%l°(ØÍúÂÈ0ºÂQu¸…èöðXªˆ\Ž 6`M}[Û£ÒÄ–|L’P†Mà ÇŒ-ÉòïÜ–àMÌÀÉ¿fyOnòب=­“AU[šVÁ ñ›ˆÇK#¬a8^ЊTûQšµüæºú¸ûÝm¾Q·¼´ˆ¡Uæ#›^ ÏS°V¿]Š%Ðä)®GzùxÔ‡¡2ƒ¯ëó¶P].Xnö &¼[Û¦s ¢“;\oT½ÕuÑW˜`³ùü*Œ»¿tß…ÂàŒ21ªûLX»ˆ³yïÚuxjxí¤ÍÑFmÌã³òWói_l@žqæBU@ÑêqV˜Õá‚Õ“åym¼º»~øÑ7(æt>ƒP‹Ëâöâ6ŠžKs³P÷vU².Åñ€FÅôk´=bxm|K5¬ýúŸ˜ïNKï‡F s„A¤@!šú ¾GfWÒOë’Y6Œ0ΆæPåó¦ºmôG€9»ðÌ“fÉ#jš)v1ìÎ}1Å.AcƒÅ2âÿ¬§µíÆ~÷Ÿø«rí\â{³pÅ…2o² ®>E|¶MÔäžÿNªZÑ{Sò® ‡¡Ú¦=ÍŒùðû þ^7ÂÙãp‡Ì޳¿‡ì íÕ¸…!-¯¬pBjö®ÐŽ.z}/íL‹×;<7'DÞUü("1m:,Åã­ä4¥}ÍÇÍ®'¯ «Þq‘º·¹¶ c¹ÕÐú3sXöW}Ñ+åTH¤Œ¡ª$ ²°ä (ç¼è²áXŠz Rý"AÊ¢XA¬äYªÜ² õ˜ÓJ'‘užúy”Íæ„þïspÄ㸠„Õ€tmwg|ÉÖi W³ö`g«2øY)Æ`øJ…2ò ¹‚Všh“Ô^œ$ÂðTŽbŸwX‘H‘”íšsã’›.gÎgH'e6|~²×Òϼ…R¾–(F´VS›/ל«ðKÁÀ—‹C×XO±áXS-ªDA©®?æ—È&k)ê…ÊíÑ™ú Íq('%×r¢JnoF¹Dd*ò™óÂOxsÑ™Ðëµõe`kÞ~r9¨&/h„Øv²vºÅl•Ù‡²ÀÞtˆz_1A77êñˆº é8˜²ˆÿ@\Ø1|wåÍ»u!,Gv}‘uWØ6ñQ{:¡  ⚤r¿þ=é ¬Ú°:ýДùƒŒqn¤ÃV,«µÛ…ÄæAU_Ç gôNç.¾E©ø˜Ûß] =m«J¸­Oøéx}»T§Ñ.ÁuÐý]Ê‚Ñ ur¿/©³‘›#ƒ³ô›—|ºíÅé$w™÷û ¦¶âv±N¼ÉV—°ßr¾Í£3¬ûÞì|¥¯™È 8j±æîÈê™™í‰d,Šãvû5Žug¼y$r ÐÔÙp70᪒š=ݪ~Ï‚ª¡AOGÂåÆoèu è¨EYòâa4¾!+bC<­|íc{?rE4‹2› Œ”œç¢py gÉA›×G“Þj¯¬¶ÔKbÀòrŽ˜§ç&ç KïŒØ;3ðš+$RÖ"ÜU3>3ÿ ¾mH{ãq!òœL$øsÂÄÑ•Æ|¸yJã˜3fJškƒÐEÀ2Á¶(¹Œ¿y—ßG.¨Ú4*+Jk·È-ƒ-3zYìv%ë*÷y®ÅJ<¿-»‘g w­J3Hi©Ã¹•Ê›á›1Û1¶2Ï5R¹+£¨ú„ôù9H‰8‡‹¶žž† ÑqH“eªJKÚô²Sr3^­‚|¡ÐT²W9cÞ¿0Ïœ¬ñœ'µ=šö*u˜`±u„ «ÂÙÛw;ÀÔc¿¦_·w -h©’.»xuð+áN|;b¹¶6ÏôãÉëûÜ,©eCÄ,›MbZ_qmqƒQ‡‡ÊÜÅ“Iâ }±q Pî{Ö'ßìñ“ñÆÆÖdzjØØ8+‚“6Ï m±¹Áy”ÿÌéIj›$Vkņ¶#OcñÈEû14žgKh¶Ö8a8×ÕèÙÀ„Iá/ `¼È/³GîøIù>ç„‘ÞïmÝÏqëG#bfŽ.*M|Œl ú‘WFÃ럼Ý/áŠèmBùÜ_7õÛª,®ßÑ:ù*4]›ÿðÚL ¿–¢é‚N^ˆ©†LaF£­ô¸Ž!#…ÌÜü’¡Öõ’=²Mà|û" Ç…‡ -„¢IàìáXäÀ°ÌòLÔÛˆ´ï‡w¨¹I4óžB,gºSTl¿XÛÚ³¶‘ˆu)+OÕ¾ã8ãÙIÜêkdnsÝZ!Ó­>ˆÉÖ§‚ZŒ,FR?6óŠœ?!™µ!vy¥'æoØR0VLÎÎa1äÆÜn|GP­¥ññ¡RKXÏÞ"°ù +ì‰Ä¾'‡õüЩ5–eÜÁNúÈY›fô  $~èn6 ñ£3Hw˜þ62|pð”p¶ƒ»àƒlHÕ‰•É(³óé©C[“Þ‡n¯æpê9Æ’‡>C¬gä´‘c¨! ìiaâ2ni`wÊžýDÎ=³½ðq^Û ð.3ð¥Í"ﱎ¤Ö­³ÍD@%6¦z*ßbYnI˜œ“Zâ³w×2ª?JÓ.™Š˜;EV ¢?<6ÿ­—gÐõÌz }ÕU/z.çqót,Æi~З™l±BãTÓ9œ%²î˜ÈÏÅËϘué’¹·™Ì·yã4¦Ë§3ˆå’Âwö?I©¦xîvü{a–gÂRˆÓÎ­Š”]‹­¹èŠ69ô…ŠžJ;åV²XÓ3åJ:ùò› ¶†$›"m"*;™¦‡D¤å!ö·è§ïÀ‹R×êÛ ¸e®˜öD9^§o5¢ÑdópÈóÁØÞS‰ ¶ýÌ[#ÂÈUkTù8@£œ ·¬ÇLÖSf|¬ÀU<¿Óä´øþ²±[CV‚ºA(ìÙtukGk§tÓ;ú]ðà÷+”‰±y¬f´º9®J²VxWê, ¾ù¢Ã33VÄ?Û+b)’ÿwŪŠc†q’àG]–GL׊ƒI8;¹G„S0íè†tÂ2Ùˉ>öÐõ~®bÆñÇ{öÁÒ‰Sóm|y¸¿na/"‚»SˆØ³Ó¸p˜ mTç—îBû|&Š_pkÔVÏ<œDÌÉZÞl&I4š=°Ý;9Í;xáé©âº¨^ DV& pîm1¾L\÷¤ìåÒÒà spZF·äHEaL°áÃw‰_š9Þ Áoònй’ 1]E¯‘ÃŒnkúA%™ï ÇØ1]Ýí*GTAÍ9ï¨ýÉ44Í|S'L M÷ßïÅ•¢O\ 2dhDËæ57~•CxMyy)ÚN9c(sI’xj‹0ê5àÙ58ðõcÐúãË»\¶ö‹Îø÷þ?*ŽsK”€¤¸¿ªý9³Á‡ïé-ŸbÎmz¨ý=²¾ØrNçi»cúš˜dþmeeÉÙ‡ôº;‡ÄàOàjH¤ v&}HÕòa[:åÁvÚaÌ™b 1¹! ˜‹ÁP¶‰Bƒ]ÂÔõ“ÐÁ[çåw'Ü99."±ô^ÌÞv,~n/ÒŠ—¾Ëä; l¬Q4”lTcx>Ö†/tòˆ_;~Hñ¼¤TzÕÎj^êœeJ>Y$}”˜.×R헠уtæ_!_EBí LÁz½ï¶2¶Ç?p¹I7iƒ"ž~G^¡»÷–`Êmñ$‚ˆ<Á,§0Z^à!xcS1U‰TqŽ ¸¨eïœG¶”Ÿ\·¼\$} ¢ˆ?¡ó¿6‚óßdØpxŽtvR.ðÂÀ7 ¯Äœ‰ôe-^,ß%D¹'êyKž±xV–†¹AvoVQv½ôg5®D·Xž¢ŸÌTí‘´°œ×ŲЫ?ƒt>̼”ÈF½JPÍmöœMš)ê›8¥- žˆjH¤£­ ¸"Å {¬š9¨ Û¨#Ù7Ñá1ê[¶n%˜Ýbi$ç|•EøÝNß“™çùîb?É­…}‚âY£ÍJ±´<6NP$,u.§ÃxãíæP[Q2ÕiTýû˰–u¥7`°ƒâôÌš0ˆÊh̬e‚$>$3 ¦'ótÞÆ˜›ïX#ž~´´ú1ç,ÑÑÑᬞeËsÕ\q× Kœs†S•jPs2*ôá‡MˆU2R3"¼ó$GÀŠÇ¢x1ã¾í«PøÜw‹0(Ƚ*¨äô¨s1ær¾ÛË|×½ó.Èô…Äo¬rí'Q“¥xX†BP%ä°v ¿Y«Äü‰¨p^ôÜ¿~ãfI}µŽ¥Ó-þÅXË—Öw¼hZÇö3SE#x¶ÔiéäÃj¬y$ŽD§)ß"‚p:Æ_÷vô<á_ÐrFÓ«¦G#d"þÇ>Öù\¯è€·g4iÕ–‚Y «W?j:3õ'Ò!Ì~'©‚?Xvnéei3èð´H&ÒúN´BüóÔÔ¹6^ «î0*ä{MØÚד6©i <$—@KA5ÇèWGßÍpÁÍVÊ CZÍ=ÈÆ«‹^õ‘V4’ä,s}Öx5åiYà;ÄÒžöÝ…¬©å)›ZO7Z¦²(Æs†~~‰ ´.Y,,â­8-Kαß aŸ'¯I¯^{ùBî·;æ°x (Fa|RÇâN8Χ‚+&Èû¼“-£Àö6ÿø?øqEÙ¯k«¨bw›’©Ö% vӇ޷@lM^kŽ‘Ô‚á#3J¤•´ZI´4ô¯HšÀ‰kå­†¶¤¸u@‡”èÙ.¸-" YõGâ•cÎÿ„É•ËߨU¯•H?QRØét$²­1ÀptEÀ6#…ÏX¾¡ªÜ*a/'¥pÂûálí1 J„útÿ"k=k4 ïÙ…ØÉ]1 “>Z(rß‘êZúDIßÔ@åßc‰aà~5è#ÂB…ýÜ$è½2{õƒ'çzéÙÈ[HÌþÂ¥¬xë…´Å*Y¤xP¹®ì§ÈEídl4Ô ™çôÉÇ=—Á­uD ùMùäÕ§Ë™¯AÒ·lÚ(¯YœØyœ€ëÆŸ»ÝÐR«öÇaÜbÇ,ô|s‚Óz ×p t_i­¾xø€NDí²ÇyÕÍL‚(;ºÑÒíTÙÊ~Þ í)‘aëOâ¦î¸=óX6d•rñNd ðZƒ·‡yˆãRÚš…?‡¤AÏÁÂo»Îó"~ ¡yß37D#ázß·ñC%f6ž5ðý>Hä€B[ý„¼ê¾ÇÅOêø {2‹§ŽL§Ü0ëmE­ÖFoèɰZ³ß™½Å4F]QÇ—‹‰IY𭍙ˆTqÏB:0ªŸgm"¯*xâ£5Žè1âƒ]š“y)ˆˆ].ºN¿Ê¸l½ÉðR¥ÏJ™ão3±¸–1‹Øåíòr›32Úp™3ëol(EîÌã¸J¹äë@édÓU¼Ð%®ý2ï! ưäèæ Š¦Ýê¯EÀf]>qŸÏ|À¸¾sʈbØSY¬rgˆµÅ'Ó!ˆezMãØ?-÷¥w(i™Ùš‡ƒ5Z¢…Ò!{ÍÒðvÔÑ¢i‚¼ÏÚ$ÄØ±‘•ÐVà†µ_ç]V•F8,üÉ—4{´À/Ô!ñïgb :gûbg +mbÑ>ã%Zº Ž%ò>d&â.6Ö…#G¨~-ÿ ÐPŸzëCbu(Y¦ø©Ï,7ØŒz vß\ó †©<Áô5nÙ—–”}”¤¾C&ƒ/y"<3Õð¨³Óÿ$åTÃiœå …D“?¼[¯]¥Ç9ª5ßdIï[TÚšÍXøªê_NQ=5_'|@E'7Õ“ø•Xò ôäJbÿYìkµ«¥Qw5Ÿf~AWaˆŽUëï\Îñíµ}â¨~6 •}ôùDš>Ë(^5G} ’kp‹sKÅ^§¯?€ÿO*1Ÿ{QV‡…~‚ÀÒ û<N¤åçðAÒ}Ö£U…-SÎ1¥CZ½Ó½YVDÜ€·9aã½Dt E2³IˆÝ.ð*—6ƒU’¦òŸ×:½®6²ÜîˆZǹw­…yãþK{»K'U˜_MÏÝ)s›29'G)pn¬ÑÖÌ vúÞdþZVy ‰È×Ù–ladý|ÙEïAÑÞú‰„ùcRÇ}i£ N°´V+É('M·RŠ®ˆ©YÌ{^tqMåžèíŽ ÷:ÂO¥­R¢}ÜåNÒøÄ³vG Éî¢KD³Hÿ`Ìt<#ädpœ ïq€èšQ“ÃdvRïÎ\fÆÆg4VGöN ù!ä½q¸³ŠJ°Š«l1¡Ìo¥ý¾¨óy:ç¨Á§²Å&cuõåcÉTò¡¯å¾í®g:dŒ×²¶éàDаŸ‡½žƒi9-¡¹˜|`ç`oÚâPÿ6w[Ñ1íÆÀÀ‘ˆNÝzµðOkž·®¼ÈÊöêbÐ§Ð©Žµ_áŠù#På•ïýK{úÇÄþgW-˜X—ÛçLŒÃ‰Òâç‡Ef0=ËîŠ SåìU*ª…³X¼õˆuõŸÃMËCÔb6à{.dn¸~ „]áŠ6c¦fr­ƶ“Dá°[új¨£jO·P¥Cz)cn‘%¦êO*Õô‰ž’UŠ·Ðu5 ûòÊßþØà=Æ™z€zª„"Ñ9pgê¶ü„±{w'ޏ[¤Ëb[Nt.< Y¥µ †}÷4ò^y•¸Ã\7Ñ‘ù’·Õ«Š²>»clXàKЉNöÓ¨‹ŸXZŽÁY†Þ™1¡ÝvCuèg„Où!ø©­‡"- Oµ…=z‹2œƒ£™)ž_4 Y½p?`-zØ"$Ñ “ÓݨφÒÎ{´;¼øû¢ ¦þäIY¥½¨QŠ´"ÀÏÀ@4-°U’ÊVÄî_y³¹‘âdp M- µð£§LŒ*¨~#¸h¦ê¼ëO¥äȰá Zq:ûØîìu&Ï8rŸî%faꥅÔÁuçƒkÓfkTw gGÑqΫûFL–îH¼QïOjh"#CÆÔ¨ßuZŸb5‚ªÀ)–c ÿžŽÁz¡ÖÁL‹•whîD±,VV´¨_Ý©”Ê•Yœkw®ó­yŸ¾7‚¿÷ï¯aÚ9/ŃÿŽ3±%Sƒ©*%"cVÿ&‡€É…­Kƒ“k ÜÇí…å'XtâoR‡¿¥ÕÿPfbâ1œÚHÿÙ‚{woÕw q¿jRéçøÈ«ð2jíÑh.7ðYJ¬@’"’Ñ׊}VHòÝÆ<˜Q ÿ®ÎEƒÒþò¨Ë+«L–Õ¡Ë{Sœíú=O<˜ðX08®úÔ7Xn«ê ¤|=–„—#}4é«ÁTÿ|‰Ø“l&È×쟪Џ:ýQ˜0o’Ðà­Ñ]ápïT£•@'W48÷­de{ãàhi!“,!…ž àv§úËæW®0+žDòª\#çž O-v½A´»,ÎJj9î< ÜfGìZ› —'Ü Å[¬´åʳáÍ~*^„eTß}##4U*ìßDÊÃj‘Ö)ø¤]áÓ&È̉~óÍSìÅ ­”FuâÀbä“’³½,£mL?3þ,­  ŽaWR~åá ©¨yG·Pæè5½‹þNäÑjQ•ë×^ëKî/ÉÇÇh¶”| ï?òålZÇåëmEµÄݹ&!…rIñË4U¢®ô·nÀ„HmÆöïAT§FáDÇŸÕ/a ðÉ¡û`ÑéÇHDZÊ|áE¤«š¡¿§V±‚UÊß•#_“!“‹J¥Êä]g$œšd#K]ó˜e«‡ÏK½N Ѿ^nuÑEÎË{­¡d7¬£¼¶g[úµÎWNþ‘ªk•Ü=<„ë`û˜:ÓækÈ„[]ùº7Ûå¥~±YEÙZ4åBž=ÔR¬ÝH¿§"Äér"Ϋ=–{Òq9üÖrý7p­!JÁ㯴wQ†õ:€,ÒS®s—".Z"’N—¹(ÙCŒý3ù€±³ólY ½ÖRm;`^æè[‰Ò äw¢~|fôQ^çç>vÀ1¾Ï”rÄQA{ä¬ëWc,¸ÿ£Ã¾AË#Ü *Ëò•s3tK8×Ä_Tö<ôH]ïI¸:ûŒ@¡–O·Úó5 5ãÀ&¯t«%ÊJòa¢“vf‹|"ýVä(äc±ñ'i|P*-bèÑ2øVâÌ 3­nO9(¾—xæz 8¹`é7?(lü›ƒ<—[Xmö¦¯)Èá‘ihw¨o–Xeu‘G¶œsdoÝmá.R_ާ$‚u{…¢(µåe/A;?äfa/…ûV³sI{‹ªÀä`¥OþgUS(¶ö°ÄX» VåxèY ñEfMº¿P©óÆÚnÈrÞÛ³ÕÐG…qáJÈZ޼lî>7PÅW|€ÂË‘=)¬Ö'ÜÄDýd‰°‡Ð˜¦2~N„ã𘂺y¯„UßÙ§©ml›i:ðå$Óš:snª¬Úòp¸ö$•,ì' ^›¨uÃ3‘„ð¢U†•;ÄôXÈíå°!P›[þOéÕ³ôX˧6†ÛÑÕUý²?<8³ÞMÌgæ¡£ø·T3ßÁö·Dâ#ßRŒŽƒ(í]n6Ö·|PÿÐ~*têœ!ÐAÆp<]L2,}Õ{z²RÏ€H{»íMo©®z>9Ì–Üë‡!'p¦ Ì„â¾}ÜÁÑõ¥‹Öç¶ëð„ÔSO ŽÙW†僊vìÉ0ì2`|²%Håæ•>~M¾µ#ßCœÛDPÙZ·©‚bó»‡\'‘Å”,xäÛäGº˜àQü¬¾Ì¸x¤nìKú?¤·Žò΋(­b—}å]C­]žçUlÿ$¿ &z¢Í˜<5Ó-NªÓÕŠYw¨ŸÌ“ó"rU -ö`ðõ{vÈKü¯VY•E ¬(¸ë$˜΃*iD-øˆîñBê}5ÏýÞÿðŒ›ò˜ Q|ÉþÒH¬ÛŠ‚´®* }!!éCòòÒ(A_{Ù/6'Ï]e 1¼•5·JŒ #Zo/ñMú*—6T«þÏhçÎ(<‚+~*ðr÷C.xÑ™O²×çøu>º©©k/Še¬Ïér~×.‡;B˜qÊ(ÙO sÊß|íËA7y\ùÆè–'bë°æàžá³Ê¿C% ×;M/¨"í„sŠeîÍÌ¥MWå'ÍêQ|„`9¡\¿û<,Ð-¹‡—›i$7Ñ´Ü+¤…eÕk}™Œ„N‹t]‘¥­AŠ,G‘*þæÝùa˶Ns+Þ2¾²‹ÊO¡Z‘\Yôßxñ°ùìëø_ k(d(M¤Ê2Bp”Þ9° b%LŒ6Pµ£éXØwUiõš‰ØbkºãRËê5¬=`©Øð²Z¼Xé=¨-Ôkw²Fû‡Ø£H"Ž4ùŸÓ°‹w*, RSeêr\êÑ8‹¡»0H/‘ËûŸÐ…Ü,^·œ'&„|ãÁõT£™gž×Dl•ÎÞ?¿ò€`ÄÌ«v)#îÏ@™yP¿ÒÔ»ËÇÿÇgaïÝ\lœü¿W ¢ÎªØ,®a¨1¡çAüPÆnPHËÊéN|©‰ãl~̾놳¾Ïs×0ª<>‹¬Ë5«ãuF:´.¾Ž0+ÎŽ?ÎBöQº–(ø¦0šÛßÌY&ÎéoÆ–à‚ P«Ú6W•d©øà~ê)U7¯¢ðœ®µávÌÃ_[©¿…aÙj“ ƒÆ Ñ SÊëÕ…ÛÆÉëñ<µÙäè¿KÉNŽe|cãñ71ä7Òù†wš ¡ %JèÀ!¶M»ß›Øv—‰:ŒIvUËÄÑšÓøŸ–°E¾Ag—‡Õժʹ2+¯ZÚ¬ÆHvè½–í¶¬qñ¤T Õ\ÍW.hÞ0-¤ÿÌÅG{Þu 5§žK‹¤±ã—ïîç¡]ßI^¡4=24ñƒÝFÁŒ0b)N‡ÑÎNÞä×z6°ˆúÙe,IÙQDaÏõªÆp(Ù¨|²—þ–<½ñ°P&Scß4&$v*ÿ3èb ‰)kÀ~[Øœ¢8´b¹g›-š„± NO¦¤+‚öP6?¯æ«É‰´ö, ò[¥Ôì'¿ À‚NËHsü?)áEår¨ÑlÛ*ª#†ÆÇ¹×YaÊ›Rƒ7Ù™—~ß_\qÄ«‚ /~kƒ€ +ƒõƒ½õß~Ó"RqòŒ¯åµ¹Ûn4¦Fn­Îõ,¼xÿŒ.~ç’ÜIÒhÄ &WÅØ†Bë­„uª§ñÈ…ÊÍŠ!½Ô‡/×a—7¸}b1’áSÙ0—ÞTÛz"ªâíˆÅþ84jGYoÍÀº [/½vGžoûÜ€nÖ  šMÜ© R#(R‚³núƒxJ ßõÓ/%ˆ£ù±úH}œ´DB *6)ŽbX™žPÜnךÅ$Gv;{ s£=ðœÃ´ðõÍi8U¯íâ£Ô]Ä"-£ß¬½3;íÛìµ5³íÈëËÝ X«K, V9Q¨t‰^>òøŸÂßYƒ< ™æÓÜFæGH:ï01Âr—kœ®Qí‹gááQ&ÅMžŸâÖ;NÔ %DŽs²Ø¾b×Å$îÿÓr¤¼OnÔÇž³û •„vg]GÌ'¸‚U'è*—%|4Ù‹9Sì3*ÙR:).ÝÐ?0lÍ>»±~Ô›ø¨Ç͹¡ÄDL†Å“‚gxŸ¹ ±y…iDÃ>n;‰Á×[ÿUí•é±1Kèðjüª¾°ÌSÍìÚSa(-STbàÛk¶Ûó> —^ãØÑA‡P]œfƒ¾TüX0ñ£³É½nPâ’:R‡®lލhê)þe¯$gû‰Cz些à0/ø ðþ‹ø«P Í9žšlU9nì ÜÒöUô™†²˜4~BwGA•icnE¥@ÏI£¾x­Ò]à&šçªü |INÖ¡¤­\ÁšƒöêtXß·€fù]† Ð-éË?ñµä4ŸŒóúIÖ};n4ïè*˜æþ?´ÚÉS )ºpþ¦ŒŽ‘X';£¥žçõI¡WÍÓZ†Ïz7ŒÐ0ò’Þ6_sja2§çA`ø•Ï®ïž ®ó•ðwøË’Ë5´5½û*Þºß÷eÔåz{ó»>/Á¥ù–±/mÇ1ò5\:~Mò:œTWX¸¤¡ƒ¹uoÿâÙ|(ÿœڳB0,ÒF‡ˆPƒqœs=÷š±ÒñyBJN΂j—ïÌÏ•¯n¼>Q ¨þãm5tSÚ$@«µ&k´ºw )Eܾ¸³šOt¾-6i© vò* ,fß±˜¨#c¤çŒÆp¶ZJ_Y¿vøéLîå¬áËã‘%ƒ¦½ƒ™~Òîù¦ØoaI_"ª0ñÈiŸ*îØg NŸb?i;<ó} ”ÀÙÀQŸNc-oÄÇ3ÚÀ1¨©'”àzê)¾çZÅ ””0$Mй‰; Ö0‹ÈûÆ1ìÂsD´#(1tô’zخƾ¹VªÇ:~Îæž¾3éÁ;±5nã%ÛAC~J«mf5 bÈfS­*VVÐ4jî™à€ƒl²Þ„4MOÍntû÷º¤°Ëz˜‹þˆoS #ßܺhþýš6öýõ"ÇÍ}]ü/!Á dªlágõGKÜ :"#Y¦ ŒV 3§°òn‘ƃê6h#Ld¢„py`]‹0yЕT«.Dé3` Â~“_%‡ÏW³eêÃ\Tu“fY(ªäˆy,ÿ‚ Tžþû8•Ûþ-Áù%PÊæ]à:ñÒ¶ú <8Y_| ×—Vî‘^&Q ïCë@•›K öò•Jªã ò×"\&&d¿‰©¸€rš[Š©ž?}Ͱá}Dñ’Øü$8Â@."\±QQ·.U¸äoDšL³¹ÑNzR³j.KþZ䪼<Œ´¿ý䃖;\Zcìñðå†LXZŠnç 53š!î”2Èþ²GNÐZí{µæ£]ù(C×=¾ézxR ’ÈŽ¬@¢(ð†ë ¢^F6p^vÙ¡v"¡ë°ë}H–óñ²»°\ IÆùYœ@šK|5ú䛃†‚Ùwµ•+B—,î:c%a`™¥"K¤TÖr•às¬M¼\½)»íI&M•ËBú²ocPªÓ¤bnoÿOQk.’ŽÖýüŠ/ýìž' °[G:mF ™õÐ…*€!”¢.B1¾Ë®°`†~` ÿ¥òàR/Ë„Ù\k*õCè¶“QîŠä.‘µ@Ài'ßÇPà⛺lÙ]ÀI/:£‰\{,2½â•›[5×Ò™A,@O)z¼²u©_@êÃy&‚¯¸Q‹@Zàí£0˜|X é ɨ–Ÿ·ÕÝŒ›7 gš… ÌàÍ’oEÈó*üݶ¯ÌËvÃ>ÒÆ~³y²0Ëù¼.ý ñê›~ážvfÕà¾P·¸€Cq¬rÚ-ºñW¡ú‹Æ0¼‚Òp BhA+ÚL¬|2ŒNà? ~ìPóE“d°UGü»)ðo"*¦- OA‹n¡âæ&Å¥JGЧ˜øåõ>üØDòe1üÖ5†‡Éð¥Ž Æ xdÌü°Ü»>“n§k¬Ø©7pO>0‹›ÉêÞk§Ö™QÀÐ §–œ%‹”#4.—ô¬º2¡e_o‹*Q‰ ›:HÂÂ%ácÙçS‹gî ¥dú›ÏJ˲ßûÑdíðD퟾é†Lù‹û¿l]j pzªJa/FCr³Rà©€_ŸJÇÈö³mÍÏíËÜõRW ù‘bPõßÁT|¥¨ÅÔ̼€I šX't íÈ)2¾OvϜט=!‚OÅ›‚j |l?|&oÐB$ -[%_ÕÚò'>“O ‘ë¼Dš"™)h`#³Rî ‡ ê½ÆäDu+#n!íbb±ßçßZry=¾úìcFv‘ˆkýóƒ_Î'Wk]¡‘ú…’7°é*™ó-È Ž3¹gªËNA“Qâ²aèC)&Š}ôñjN«|šÿ®%sX'¤‹°pu0‡ »ÊÒ¶îÑ£¯%ÖŽµ¢à÷þ"“Ù•ˆ–EWHY”ê Ï3Ìç6±òöpjúßFqìÆSSÚ©öÒ¶ÅÇ‚P±7Qjÿ¥ÒeÙÙÚ¶!ºH`½ìøˆ«%BA¶Í¤/ìຕr‰Vœ¼Šñ~è«T3o5’Âi)·½Î6Ü].ÙÙ.í¤.¿÷o—ÛÖ§¥‘÷suºŒwÓ&“Lã»Ý:@s²'#ÍK¶ÙüI{ˆšÕšÞºØ3‰^O>#Kâ]#û_ßa‰?V4¹D2„[¡Å›JUp£`={gѾ„NóÏàØ¹«âYèlËÛÜÓ鿨²â7]ܰÚuØÔ«%e¢°íïþp·ÆUº<d¿T\eUh¤£Æ :‘“/8Ë ùp!q¯ó|i -E!ÚŽÝX†ƒIŠÄóÍ nj6ßDpæk‹Éå 2¹N#©Z×¶™Î'‡'q[GSÅ_û`LŸgRö#MÛÐIô¦¡³B?(Êì>ˆÛçUÇ΃=Œüô$ÖµFãÎÕóNlÔn Ûâ°P2nUíê·Ò,ÈMèOPKìa¿¾Š¶D‰*’R’›:­¡_@jáè²°Œœ×™uvO¼!¿Ïý<ì z¡ÐÍngˆÖíüäãù°‚Õm‚ò! /> à;ÖQŒ®äìÆ¾£Hà>¿óäBÚ#¨©Æå‰X„æ±´/ö¯õ™øG´ªÀÍ[ º+{êÚ¹3&º†6ÔIg~‰ô¦C=]Âöߦ±`N††öRÝ3wæuâÁΨ‚ðj`‹ˆ_.")¼>¶¨1qkÉ@ÈÔ ˜Ã(Z£/žÕ—œ*Z韵YT‡¯&.¿2~ȵï:Iئ< t ×A”`Ö­Ž f¤‰ ÷½·¤Øœö#hu]O'ð ŠbÖ”¡ÒC¿Í™GÑÓ¯ÌômëP]Š—>×´ˆ¶ÆÛÀþsßY\"ig3¬y]”™Ä]Í´ †¯ˉÝóLࢻ¼šTÝÊÇçš'?isè¯à—ÌͶƒÈÐSôÛ+Ø¢ðÌì7ïª1ü Åœ•FKƒÔð63ÕAàTøo‚ïvÛøéx&c]Uµ €.9![Áôá4Xû¹84óu8*첑¶ÊÑפví@i ¦/¬ÈA¼–KåEå¥B ÞX´ ’-é{ûã6ñ}Ç;4·-cˆtïbóíCžÌ•H¼°”ž@ñVÓÕã ŽÌ yìH‹%@OËx¥?¸U•YÎЯµðÅÌ×=€‚Py>m‹ S§uÌ\Íɦwwgï~j„Uv\p¸’sg^WlgjËm³ã@XʉY&ƒOYȚɠìvtÐëå IªX²=q£è±²Öþ¦û’±8• ÏoºSHÿMëŽ4Ú=åÏ4½iRæudcë/ƒÎ^ŒßÖ‹ç­Âå“Jx»5Hl·/00íð¢KP²°2/®W¼Ï3|& u —ç>4BŸ¬†NýÀa*cþ~d<ÃŒÄáÅ,€ç^°gDeI1Ôiü8ãiƒr3ö¾ˆqçcHŠˆïáåk´„*Ò LüÆi§ð,)¸E%82H×*ayV'ïzUš'êØÓ£ÔŸW‹3] Ý÷ÍR™Mhµ Ç©L²Ž¨`R³`HV# 3üµ3CsgÈSpþ¸kzfš,0ì6°£·Ž#Ű#ÂVe‚52`ºáL¶íð i3P­ô©¨h™[™¾9Þ‘äû Z´{úC•¶ÐØH.Q¹F’€íùÈÕ¸^%Á&äXd¤— F»ÿЇÐ>\ãcÐ%Y £="?žl@ò‘€Ôo½GGý Ö· ÜU á€ÄomŒØý‚•Ì㻃ðцa`Ðî^ö"Zýt§.ãÔº§AïÚî¼Èd6nò5ÞèºC1‹‹THÎÕ¡JYEB¨|”˜dž½Í·* “‚‚ÿ88#ëW¢¼5G;]ÓŒx‘Šs¹˜Â-g6õjù:ôRµcë~ÚÍuœQ Å>–Ö±ầάSÄú´¡ûH¼C¯Cõ*‹Õt7ºvßZvk°pgÓm7 ò¯¯ « z?ë94— rЭãŠú²°'Btr¸¿‹†"’S{¦Ä⋳ýO?EŽjå;ª¸i_£ºa QÉÄÛ§ˆ4(¥Fp) 5ÄÃTRSwçf„óÐ2Ìm½=Ö`4œÝw(˜ðÏ”í£Õ£fì‡8î@˜. ˆKðÙˆ@Ìù%™’_Šð ³œ!ºø¸&&ßÐ.íj9ùÏžÒô±m/ü)ùùŸmÝ>šå —+fuUDZÄô ÅÐÞ! ,Go¶ŸÿIÆæ-öáë4ۧƨ¶­;›þûíq½Ót¢P•šÉZäîÞhCÑ|F Ñ¡D_x׈ê7€ÍÀó~9JÃá>B£dì$€°¾Ðgc¬ÊÒõ¯€.~PG7YÿÞ`Ô¸7®!¹iƒºÊ“û;ÛÒ’szH®M„Ò &Â`¢Þ(Ã#rˆJÂ@bzr;¾3H 24¢ðÂü?îõ v}+u–:Œ”~›XÚ´†æÅRŸ)&„oLlW¢ô¥Œ†PòAðü+)yœ#:süÒ8’Ð\E~BnÛžåo†ÊIeYˆ n]¨Y'Ñ iÅŒ}AÜh§}å4fs`*ÊŽõ N’‰Än‹ŽG…;\Ê’aÞ}h )¿ÂòÎ2šË+l:ÍÒ¨Yiß?pÎÃ6ž}Ã#§‚¸˜ËBÿjHj;ìÀ+R ¥d½Çˆ8xê…-«£9S»ËPœŸh3§ÒW@â» åA±ÏÆygŒ¥¥Af?&D{ÇH,y!9 Ÿ8M¥Jï\¿»fK£RY±…f_MÖL°¡rò&Ïh&G3G@‹êšÌ¡#\)©†5R³=Íw-ª—d:{Ì751c ù¡fýYÉFñ‘jùýrâ€*+AG==½ ¹\O5íôÂoS8T²*_ÃÙÏv£"øI°±´ÁàÖ“Ów1C×ÕÐB®YÁ*vº÷¨St—OépÛ1€á&Mº©ŠErÛLíçRM¿hЙ™ÅçþWyñý°|FÒHJ ·Üáâ{ÍØüÈ„Ko”2%7vó…ßNø%Ðä:,ßÉã2kÃ7A‡Œ.ï}³Ú+ê:-Û#š†/~¢œM¯¿wŠbdÝ`gÀ/>²†[¯y_Ù©´¥ûÔ<¼;céÊíÂV®¼ü˜±¹ˆ#Z8@¶*½„ž òæT=aB`QÙïÑ™\ñLä³<ëäXbõs“ƒQ|mQ«µo5²ùˆm|¤~.Ìž¿ÚY“˜Â'ÚV\ìQ‚ŸKšCÒF˜åa®ë%XŸiõÄfa7Ýdó8{©ßb ”†4^¯?Ùú\ DP¿ñúŽ: Ðâ• J¹ž^Zñô]ëÈL4ʘ.Mt0²j‹G«H P¿ýF‘´ïT‘—·U8Ð&´_3Ç–¢øLº¨¯ ªy(JaÝC†FìM—Zn¨Í#õEH³îá§dP¹žèG¹§ÎáÇ€ 4a¸L˜³"]4ŸÈÝ'Á™05¶^Æ„ÐÛ.ǺMfɲҢpÞ³AU|‚™SÛÒZݾq µõW§õ ,\ùªî<׿™–ǘ>H"oŽŠl*>‹»Ã Ú˜Ô4ÓœlË |$vX°9Fñ¥#=xÅ€.TìrP…õ´o¯¨›a»a†9½ÄЦ2\çÖwÍÂ\ÌØ”Ø›3ÀjnxD>AAĬ¢½61¡]¸—:ÄÕæûµV ukǪ^æ¸ÄÂeâu %èE,iÖC?¡–$R —ˆ¶ÃLó¶÷µƒîAì¢ùs)qác‘Î@ý)˜wxü%ÿI7R§©#ñå ÷Çu© yË`­[¶µÿ>ù. Ó¾²Ø1_j ÔnK¼ÿ}¬unTºI‘ήt@5‰2P´M¡*úŽƒÇàÇe-÷Ñò'«KßÔŒûcüzñô‚ÇÞfœ±T¢°í>ILÆYHFÓo#ÏSí)¨®y¶P!õ’ 8¨š´}B*L ‹°×ÂFÝÏæåÏê똎Ìè‹ Œ§ºE”BQ7œÔÀNuµoBä¶h]²¸ÖW”à÷<)µ"cRþ3'¯DÈÞ Ó¾ªQŠöâ»q[çõª©Þ²0œ™.ª˜s%(ªD,@v®`Õ2 Éii,šŽ;®•y9>²I[³è–cê·ÔýÈ[Q›™S+ÜRµÒù×°i)è-Ô‡„Ów޼zøØü»É­f·Ü<Ï-”çÊK¾ux/†Up³GD0“ÔrF?ïrnJ,ФJöLM42¡=wô ˆÇ×ên#”Ô­p÷¢ËLö«¹LbïoÔ¿©iqÄ7 UXÚn2*Ú¦c4•Ï ö#F³fj-·ØÚÚ#æú«¶Âà’2ˆù÷è‹é̓f•d\«,ÄbAßÀ¿“z”Sð1z,Èа„>B܉q_w¼š-ç>­ 5R~1Ø9ðvÙÞßm(f,:“rX<®`GoÁÞŒ9¹~qžúï2ë6ÙVüJND’à¿‚cðí&ëaÊ {òºÇî–} ‹“l‚P‰þbîõ^ƒJo˜sÏIöÞênÿgz‚ n‹ð¼,â²+VѵÞ5qσ«'ª¾Ñãù»@õoò«RÂ%+¯$ôUŠëò]0 4?…¯°egåI†Þ' §vàïß^ë"Ó"Sé)¹"àe-D‡§4_]÷0½÷Õc/ÖDƒ–Ѓ ~”O̾±¶ôûŸê>@-kÞ–eñAÇ+×¼‡î…t¯~±¨§²e‚ÜÇA“BÐÔƒÝŠ× ’ÈGùK¤†ˆ cz¦ÌÐ)¹ÊÈS)> ‹òlòµá4(U¯ƒõI¼Eš(2NoN] V\3.ÒÕ¾.Ÿ×­†QéL;aÅýSa×ó*ÏG”G×¥ÿ_åAÍt&ãßs¢†„ÛþÜu¨¯räSs™ˆÌ†iu–±‚–  3œÚ½®^§ÞNz¼ªÝ©ÁÉ"žŒÔHaü‘VÓF<“ýIÓŽ€A§õfRÎ}?à¸Ú -pê§£<¨dv•/ ENÞ_ì$ × ÿË¢ÜMÖJœsÏ$zgb`AÔžgSÍ·ªÙ9¹OpÜÅ¢³o†X1D6åÁ4à]M!a¿Ïò­"¦|ÆOT\=¹ÙêÈ TJ±õ»ÈåPËv«s¶«8CÔ…ÇëõA'ÜW2b Z¤l”°ÊûpˆvNT§ )’³÷º…½HMzÿ0 òŠ}ÞènFÿý}t¾Ž´Ï=)~»Ç¿¤z°¦¬Šª%.1*Yèã”uiK/à€ªŽD¼Ã&\öo-HeÿsÒòaˆFE¨:U¢ì$° moõVö·K¬Õ"ÿ­Šašy~Ö60W×ÿó÷Šc‹‡“#Ë¡Pû R£òë C*ç¶ë^rÔ6ŸŸJñÂ×uý0K&ðR¿˜kòŒ]ï,š?i´–p-.T×ÌÕö‘÷D5MbzòŽçX(;ÓaAòiòx™àªÙ_l_ëÅ5­˜OÁù”é\0%9ü¼oC– ™,Ñ+RؚƇá.< (kT,îøýº²æ]èÞ%(fçdzö»|í_pFܳO»=\оsåÀ-+zßð‹ü;ñI “‘ª=ëêM›‘€Ïœ)¬ɨ5Uß펊1.¼²e³!°ýÀV=nm\{¯3m„"ê½Oë`¥/€ ¶‰ù;O$·àsÝú(€’ û"AUÑúTÛÅàuΘ¼ØVt¶Æk)áw{ÓÜ~õJF«’†g²VÞ ×Sä éÃY}›™#ÇÑN@ažÕ”W{Ç*KMfwD¶¡`˽™W\踰GûÄ\§çcq@³]ý‚ÃNoûRf °|òßå>®jæòGN8Öƒ•ͦú{:‹­‡àë¿}†•ÆÖÓ L1kR B¡å0!ÑÐ7mOçNèºxÉZõ$B\¸Æß.a”ªà±å.Ò üIw¥îŽóq¥‡ê½OujJ–"©pߺ\l¿s`ý4q¤ò¨MÌŒ£¶}óhIcU½jù jL?‰5ôæpÕËò- ¥èÔ•Åéw{m—×묺šê ä [[}ì“üÍ[X8™… …Í*uÇjF'š½þö]é<0@v,?vzÎ}Öã,ËÉ·úZf?Ìt=Izƒ-Rm•Ú(£ærùðÄÒîú‡»g—1µ„åÛñˆm¦LÈê< ¿ÑÅ%½ÑÝü+™‹°•0Ræ5Y’t’,ö|¯#uöµG ú§4L 5ÿ+ßÇÞ¶0ñPâ$‡ssùé–aQ2ŸÉ^ÌN—y;¨T¯:µß•lY=G“‚Ø~š½PÞhr‹ôU¸‡fü,ԀÇSÍS¤N(®ºÙnÛlºvì`É«øŠ–‡=»õ„Šxy{PZAÃ=mBÚV®—´™(Æš¬Lç«­b¸x*@83P1¢fˆÇ\Á@ZPà¢Gíz“›Þ‡’b½rŸ‡,y„Ô°šWÅ’ä‰Õy¢àF ³ß³ÇôGÚ­bÚ¹-{_õ«Ù`âNÙG@|^I¡Mžñä0ñ³Ç¶ôu\ÖÎu$YÊl„æùHPïv޼ŸÇ߇öø7«[ ˜àƒИÁÄôCå-7û:À¯µ&V¶v”„|kžiW¿xùÏ .j±±5V²ì·ÏÉ%ugý·µ6¼±ˆßÖIi¼ì°K5y4ë,Œ<Í ó¹‚*Böë|@ç8ÉsŒ« úàÞÜ—UÅyÌhK¨ þ]¤îuó)V|h4UäÏ~Tì äøyü²àìoúÁi y[ ˜6\8:s8ðKº<@9@¼Ö-ÞÛë¤vꄎ¨UžÈLͧ\EÛ~Ts+‰2§ó¿$B ™µõÿ¦9˜ÝS]m3"-5™  Ã½Æ@&n·"Üp †‰Ö¶ƒ·Š¬øæŽ!”+Öá•ÄDó®Tã. ð›z5ºO¬„"‘TôØèˆ"º‡pîGfHÚŒ Ñ[¦¯U~öD|Ò$—GFOë!oÊ™#ׄûÝBlhtúÍ[ЗŒ7¼q›Ûi2s#hŸ5½#—RàR@N¦éÕ–g¥áÁó\)X@U¿®èNßC%ôÀÎîdx.Ñ xæ7>§<íïÜš1Í7~ël=D.™ÄÝEßœh[„­wÏ¥ö?´v;zŸÓÀåûAFêó¢;8–ß8‡ŒR¹µÉ¯Ïy™ðù+ø-Ë÷ÑB:ý¹–Ô$‡u{Ã#YI¶YÌš‡¢†Íê™+‹é”òEÅ–MøL¡IñôÁF=£t !<¢¯LQë ‹—õOÏ1}i®+!çìÛY›¢PlÄé ž'ˆ7Ìí"Øœ§ð$;Bé¿b¬ÉMg*:Mbóÿ¿eƒd?Ó2ÍF£è|©¾ÈÝS¦tC*JŠ. \°Û²qaÁiÜúò5yœd” RðVpO{2¸5-Fps¨›ãkç§ B›ž8ÿɃ·-µeû­aëþa¡íhS•$Ñ£•»;,ˆŒ…»FÐIæAo”™í"ã6 ž‹ƒB¶&°íŸe캈…_ÙñÂÆviŠM"ã‚¡ÿM\¢k˜Ð÷y…½©«Àªz–¾¯ºf¢£OÅx®Ú¾·¦{X=Ý®c=Ë1½}•Qßë>†¶¬l£‚MG¸¤ ¯u&ý.)¶cÒ$%z#[s²aÁ#>¤„·+IE!-Øf±)×ÒX«žª8üCû? KÔWà´¨W«©¡ÓÒßCl&KâVòU]§UeźªôÚ.þÉ:AO&Œß\ZÂھã–  vœì”"§É[¶j×±§¡YØÑŽäþ\Å×>:ß {b‡Wkúƽä!l{5t{HcšX”rñŒLœ @š‚>`½,¨TÖWýŽ[¾\@v[­Ãk`¨ß§¡Œá ¤2ç¢uÄòA^bÏâRG²˜RrÔÙ-˜-L?XÜ¡õÌ´ØÿT+ï=Ëa‘I4‘)ÝÆ6¨óž'VIS^¹eßìÁœÙXáøXx]e%b ®†˜LJ,Wç5z#Øh^Ä|—t þ‡1Æ‚¦Rµ°ÑC^h§ÿ?n€·@¶Ýz>Û?60g uûcø€ý¾6Þßÿü Ë+€#ùòMq °‘Èt®*©îtîܦñT)¹½Ã݈)@)i»òšjØåh¹âq~V°hsÃϳDÐ=óþË­z–ΘÁÂâcúdÝ-Œ–×jT<¡­SÑ«rê?Õ#™SÝX8TÚ½œÇHò¼]-#_G_›äVÕF}ö×ç7º´‚¯Ö¼øíCüL'„²©…N2MJÊ ð’¨¯š4æC_Èò6SSýT(€#JR^Cˆ°4Üž“þÈâÿ³:ЄSù©¦dÈß!z0*_â¸50Õ¯&¤ÆMùÑû!¨Ò9ƒñáVåU’ÏŽK¹¿v*ZËhbµÀ¦$œ¾ÐM{¿ÚïRGŽ˜ÝþaNwE„C— —Ë£>@´½—ó7¾±ˆ‰ÀˆJ SĽ}‰†Ñ&2á'ËÉí¬p¾§K_ÿ()¸)m7Ò¬Ketm ßËÎû´´×‘®‰K|f\JbD&UÄX]AAw„ëNµŒÅúŒÔókÎbZ’n—NŽtcþ=}â7Ùñ=~êìd‡_hnŸúË;D‘"UV—tVr>DUeøÖç¼×'k· ­ õøL9Bƒõc/gf…d–c“ {_ØÔ¸;[Ð{xèðÃ\M›x}áík…®!¢‚üΰA£t˜ ÍPp¿ù¹@\î|}ª%¾o^m#œy¹!œa(õ{_:6°z‘öOã‹ëQŒ±žˆôbÀ]9whŒu /v3Tå7èŒyE>ê®ÝáæœBxö¡ƒÍ‡±ÒT¥î‹ÎFv=²#l:(‹•Ìv1„u?Y÷Œ!²Ì4wA ¸¸³þgçÂÎõš0´VÁ¿ÝØt`mYù)> a$’”Œ®(ý<„®DÜÊç¯ê/éÈkÃ…·Cšã¿ŽVxÔN~â ˜†}$&tü‡’¡²R{¥d¡@˜áyŸˆ}º‰¹5ñC¿uœ,þé’§¨$‡˜“^Iy÷ÎjÀx©2aõŠŒ ¯ÞûL†?ýõhoÐjëùIk_›Æôp{ïõ¿çrA[¸NŒ¡VÊ󭺪0EËñöŠžn­kÙ‘µ±~ëPàVö3»\›¼Në $ ¤(G‘\Œk*¦¬(.ÊQî\”ÿD¿zËÓ¼GÆ.6fÅFD›Ÿ:Gï’‚HÓíeQúi Ì¹Þ $@îUx¢œ½¦X #Û}è²·ç; ÐŒÐ=á¤$ñ^^;ê7OÔSÀ“Ì÷õ iÜMLÔÄ~~)%^˜…¬’†ÛÛ¯üKxZ5Eq *xÿ¶?›Ü´iƒ-§yù³F)ñy ã0Åú÷µˆ¢ »?riê^ÉxŠÉdUÖªòo4/ó$âV^Èu–³uÖ*…QÓŽ –m’±a.³Þ«7j4¢”mæ§Ph ö˜˜!á¹PK@Rëhw‘Ï·4_z˜õ  C”v|I½^¹±ÈÜv‡sËiZÀn,ä±U\î­6/ËÖͳº™ÊÇè´T—Ãðì^ Tû®ÂNs8ý$üàJNiçÎ…˜çÆOõ ì5I¬êS_{Và>F¾nð4ÝZvãøˆ¯.¯«" ægÒjÁ“Ʊ¿á•ä›JßEù5qÎéæ­RšU}’¦¯W&x§.•&|E’S ¸-Uàíuåõ^ô’M‡KÏÂp!ʦ4RhÓþ‰WT¤Ý^Ê)ô¶ã&Rx'ˆˆë*¥鼪' ô)S§¦ÚÞ y#hp$Ëp-rr …°={¹.Ä=–›Q“Gx Èäuÿ¦NÚŸ–Å LÛkš TÂx­ô[þCu¨æ0í|p‡fàâÿÓ¾fÞÎ!'’Í…r²¤´N7H"PíMN¯Ò/EXUë«aPM´Ÿ´ù²ÃF^cG6}k€¾ü@b_ÓvCýÜh!½É\¯å*ˆ~ÙÌÚöñ³<)Î@*z3:(.ÛB‚9ÍJX¤þ¯eá{ÈB/àdɵ¬ÃRda©ƒYiGˆÊ'\b‡êIÛv”ü;¥¥ÆÀfRkÖ‘Œ’\ÄŒcd+’ÏÓ¢·w¨Î, c¹Ó®«Óm¬Ùã5$Dîï!_5/ÌøK-îü¤€]$;Õy÷‡‘(üöªÛBC'’؇äJd¥¨+lƒNè>µ§<Áïô¯ÿYøP‡9œ³¸­ÎØñQ‹¿Æ>4¬BQù¤“nN'ž ¨…ûèÖ?½*lOå𫸻M™ ]bÛ’Ì€ÏfÏ<3Ä|ŒCCšûöÊT ÐhÙ_vóŽ7ÏI)Ä·k5w@¤‡Àw;»4™l Ù«¾—‘õUn¿/üWæCp¼y1~ƒ‡Ø™0hBæº ¬$Vå‡Ñ\½>þê æ^€júYÕkÌŠ3ÀFÜøÎWöñ=æ .aß-™¬1²¿ Àz-Sá oÍÝM=\0yѽGñýúxxN>2U³ö€¯åq¡^£p"4xå©ÒæØŒŠ†/CmÔ‹è)=ûrªeCû÷Š % J»Ló]˜è i.ˆ^¸ÄI‰ÑÅÆâåýÇ#¤çø;’ãf,D¬v… £Hàð‘ƒ[±¤è‘ …©í6S?èøõg=•NVûw’yÈõý‘ ÈI¶Ï'+§bßH€µšÈñây¥g@΄ë¾]óÓDöLB‰gËoå^{ ‰®¶Æv7\*ð¸^lú»mšÐë…;OQ¢Ÿ”|Ùâ ‘Ñ´W:¤ì°Œ †‡ q„À<ç¡©1ÀÇm­•Æ õ2¤ºä€å[­‰T bZ¹mÄ€}.ÄT‹òhâT+¯7šLdct­É Ñ® ¶O²‚Tí>œdg§˜–ìÊ,e@²gÝm·þ›úä¯L$C³‰½zfV.¡¸aœ× ó“—ÓŽ óºª̽™'[¿Ù‘[øø­¢Ô-ÊÙñI£„Ô„£•þùÊ1¯îäk ÄUöÌV4%©†°~Içò30†«vç6‹Ë8PÊî G¶\ƒQ8 î_óĸò|DX>¸JÂWP*&\lš-¿dsÜG‘`±µ%»Æ5ûw¿º“÷²ù2Ë]Žwö€+£Ϧü•yù¯G…¹r“zÛýêw &ÙUš‹õ1ýM…ªIÙ¼-~.„z[†ö7Ü*>ž*ÎyKšu¿aéÍfX¯•åŠôâù ‰})PávìõñèHiSJ§Òö [YÁ¸z'@ýÄúdÊ÷¼]êª¬ÐÆ¸®c8Øâó”ú<ÈËÜw¡}*[‹úä5 *ЯEÔÞŒ£Y­ßú‰v2 È<Ŧ¯šŠMü:ßœ'7¯[>­ˆ&)5gÅ@2{ûBšŸîrª0t÷êO>e•Þ¤FZqbbSä$U\<â…Èdb£Â°6þ½‹Ô õòañZÝ× O»0±×kOU1ú¶Us†\}† i%EE½ÚÑj\ðT—$ðçM,½HtP› K 9­2/ lÇ«Ч[aý錋âìtÿ¶¡ùsì«?×&Y™£w®ñ¹EšÐÐ2ΊöÀ±C&¶‡È Q“ÒØPƒ`—oéõW]‰_Ô‘àjRЦ¨Ñ‚G]hÖ¶6»žòQ·þî`D—»°zÏÈÊ·Qmµ $ÓÚ‚Uû™¸‰ÏÀ›|­õZóªû}ÿÍÏVÅç,•ªh,óOö„Iˆ³^ãÏè’—Óåeü=¡hZŽ.¬x@ÂQ|ë‰+EY* 'ø—Õ*rT±DÕ@«@òÎÀÞ|DËmSH¬ârwö"#˜^_ž¬0……¿ó8([¥…dábeÚ%qž)Jž2fáH~SwGP “/ÖГ>*šjûSI…Fè b•7..‡R&&/ä•("²/ÃâTÐLʸ Þ=Cy‹`xl=´D·­ižöœ¡ÇóLÜ"£c}¬íÜP¼ÉÕ7·ûñ­Éa}¸K£K 9VÅ#Ž%V}A%Ƙ& å#{¦Àµ©‡s:«kQexø®ãÕó¸ÐL AZ,6 âøÁÔ×á `•ÒûŸ$=ƒ@H„ÔžERq|ù~H)†(Ö—â$Ük îD´«ï¹.¿Ž ±UÍ](@ÙpW ñ)޵rµyÕÉó7»/‚çÏNÐÈ0^ähÜèîêŸ@*_̺¿ƒÙ3]¼ iøm¡W^xBþÖà3—Ìþ •¾€ož“$è³Î¸px£îz>íÍbÃg‚Þ —ÓVê•F†¿0Ù>è]h=“¸ä0èp@Ãk¤7²a$“x‚|~ r9N=óšÃÛnB(§:S݉Šÿ4]=¢ìÑ»ý1ò^«£Ò+ž$¼Gh¾þ§¼øÔCk¸svÂçöP*+.¯¦Æô?ÑÐÿ•r¹–NŽåRׂd’Xëæ˜m§÷kÞþ@‡Å†í‡\*V}©Í„×£>ú=ÞüÉ¥ÓòŒMÒÚc#?F[‰VvÒR¥c|ªžQ<ÿq £ã9ÌâÐÑCV½aùéÎ]xÃ˵?“ÀÖûøy7Á$©äÚ%ÌÎåó”p<å3¤Žç·–ÀÉ*@{kV7҃䋀žhc#W…~{üŒâÇ{ɉ¯ª£½—²{y,])W°å3dy1d¯úqˆè·!±Ò/k„¬ÿì÷€Tÿe+½´²ÍW“Tp†_I[⬾ü»Ü›ê¢x~ Ÿ·vÎo=i;4ðºÑÅC!Ηe,x¶Ï_`) çiŽDöñŒÇ‘ï&™ Úþ·vl¨Ÿ vdåÅâ‘Údì絕‹ãUÏ)^GY»ÔÄÚCZçîv 9žp½µAü5ÿÿYÑ¡Vj;ï0µw4(åÆñ¾¢ (4™èJ™Ž„x†ªUèt[VåHØ*ÃÙÑD¶V·Vð y*¤õj°WK?*Y"ñµ4â¤\”Iô4¥i64ðÆ  „ø­U˜£€\™ÿ¡êoÔÚ‰@Ò~þ¦y!MñúA”ºÕ`&îÿæ¬Å,¯ž96:vÐÔì4ow ô'$é!0 ˜£ æ+oo™%C•«®5QĆßb^‚©l%Ô9ݳ"SMôkHüÈýž‡û=RÛÙ+P£…è³ËY K3Ñ EO¸%É;Mk:d®º;óº—›zÑ/)wsckÐ’¾…2/}–Ë[×&epùÖþJ²ng=)Á1þøøÈ„ÄÉ&zdÏïËWL®6“E¿ °ŸÍvQ† Ãá#ûlLŒÄ–6 ñÑñ:û’y˜Lð{òº5T/PB}ñýЊլP¯Vša3”÷wôÖß^"³|Bóöy òpÛÒG×€:)M”jXájpMû™YY’ºe¯éUžÄy[Æùóá¡ï˜µæËy0k^ñ3±9Ωž®?¸bï˜Á×hæ à‚¶œwé[Í<§;ê0µž°}CÞôÒæôÎOè‡Ë(psþÃêŠç²b¹ŒÄ†m1˜ÎçT4J“íéb,ŸH5B†2*€Xþ>‡¦èÜŸ!ÒXbxM°Ð±¹Š mVÐDá×ýÞí²BŸ,L€Ž†®–|¤À>ÄÖCÍRx‡2‹ûÞín¸¨ÈCe©“‘-H;ÇäB¿¡]x¡DñØ}?ÒȶÁ"õtßPÓQ9ò꼊BŒùyì±dj¸¼–«ƒ3·î‘lÅ‚ïÙ(WÇÄù¨´‚PÏü,Ù´c)ÌΙدޖ†Š½5¿¼ÿ‚Óy²¯ä€åÐ’*øº±å‘Šø=9íCó_Ø/”ôSÌòx£ l¬CQêô=*Jm¤JE‚K¶Ö˜2^÷ˆf…qË0ˆ[t*¥Tøm¼ÝØ{½0…˜Õ¹í¹ >Z}vŽƒ—­J5‹¸µ/¡¤‹NÌÞ8)ÐבÚcEBÊ^&÷ ȈõM*–=ç`P-Þ€Þ…ýÙ´€vîâÕ’Â×Ïé…¶'oJ (ëõ* lSS*¾ˆÂw|€Ôͱµ°mq ¸¨ßIÑüòÊ$'Måô\D­p]-M>?¿¤ÝÛ÷€?h½ù}ˆ’™–”ÉÆ²S5Õ{5SnÞ2cÌÓ ì6Yv(4xmÄuc5w&Šýn$õrYg}Mü(úØæk¸ÿ «ž_¥N"z‰Mq±Ó7W¯†6³QÚ2€ÛN‹Ë[&]>ü‚™µƒDûÎüt$*‰jq½xwtOˆ ”@»ógÉ41XX·7|G*Ám¯äûÚ&)€,¤âjO„éyàŠ|¶þ ×f—FQWÈqç&û÷ˆg¦×ÌÛ×}b~qů›(h·@W5°²ÛÈLC^É©R3܆áL¨%D,Fôä,ÕÞïADøq†ŸIQô·RÜì§ÝZ^ÞÖ6Â+­5@„5`1í×uÁ2Šh\¹Ü›9$N\­?¶ÄÓ¿ôÄó¸ëFÃ8³(a§]–Lºæ+JªÍ*[/„I=œâ[„ æ€Â¡Y©z¸4¨]ÛXTÏ ÍŒWêÖ`)€ h¸J/Ú8†ž¦ùf OJ_¬|èÍ~“Ë¡±R†ÅtWº'ëL@²Vˆzq[vû,V™Ѝ±ò_D>º‹2p¢v¤B N’$YÒ’þt¶×«onm“KÊທ穮b*¡éš‰El—ŸSTš9×P&{¤îòõË†ÐÆ“õöñî1G@ ˆ³Égþ7\¸W·0«~ÒËô<:Õ0Èeà\W8º£N2k1³„wk¯r)ð5(éôrÔm¸÷ýö,ˆ1I~dÖP6Ÿü{‘šf+°!T|2>É5î’¤Ÿ6»íÝÏî·>L‰ Åï‰D9®° oû¶Ç7̼0Á5µ"ðj;Ýð…m¼›0 ¤ákì8²Ï›Œ”y æT?dJ£I•Ÿdî˜% {ai´/ÂT8pþ í*–{Hxrƒ& Ÿ&¡JSlA8 ÙîÍÛ-Ôÿ#gd_Ž¥"Üì“ K›‡ Õ)s¤ ^ðgƨ1Æ›ñ)â{+¢Œ}NïðÁéÿÔÔùÄ4ì1Ãt´š2Ð Ÿ¦Ö‚õÇrÖÃëO1w¬?‘A)̱_38ÑÖñè¢Ô…ãqOCèÿÈë´Ÿ }àÞiËÀÌŽ5Ë{Yá&i²‰‘¯íê«¯|Þ¨H_œ?WAeû3¢±µ‡Ö¾k),î…¼b^gfÍ»‡tnâ³,WÅ,ß›=ÞmÜEHFÌ`z_zQŽ,…䌗Ûù®$ÅrFË$œh²|†vnŽTÉ'_˪w™®Û€«oå=áSÒøPF1\ôf]ä© LºLÃyF\ʶ0ǾÅmïGêxèà‡ù~ŸÈÄ6í¼EæUBn ÓZn 5j¨b¹ÿñ¹ aðab¸—›à¢„&„ÇÁKÇâøËY¹Ð…‹ãxŒÈ ]«$öUuŸEÅØSpíø}îÒÛØ¼R|“¯L`FxIÔyj®cãó;DOò-%m|¶1ÅLgë82b½i6ì–³Oà*“}û‡×o„YTD*à:Åv¥»›Ó¨lÁ¾e߯_š1ÈßG£ÏMyB¸¡3çÚgYÁ‚ö§®›ÿ Hª@œ-,†Ø¶v¹pyÁ|[­ŽÊÏ“;ÅÀa2Ÿü •ĦY*Âó#{Àþ£$º¬RT¼Ã‘} ¸¡‘Ùʲ )ŒG'u\¯sÙÉzµ™™'‘ûñÂQÒ ¾´ckJ%bßZ åíuh¦OÏ·Ù›µ/ªE> °2ñæÞá`+w‘I2ĉ®ð!‰IÕCejÐéì^ ¿LF‰¿ö‰®TèCeñà§Å`²¦º:«ËˆÉÊ/T‚m¬aÉìw€; }õ¡JÚ4 ÔÛ¥^Ÿ™¬HÄk©ðÊ HɨÑdf[©N!ºkô7!Ðe‰†ÀdìõZd,P§%´"øŠÓ»FsfuX*²cJ« W<1QÒ&¬ÍŒ ‚)ÂÜ<´H‘>iï«,QE­Ÿµe5жÛ[ddV|ïo@Y¬T{Õ¶ ß.ì3žUÊ–g3oÄ]Gyyn¯ ÍçãÓ7PöøË› €€úÔ\‚k[ïüK¡Q_Ô\xÖ‡s†F»¯ÙDq”ew[ö¡ÜÁKÂ9Á9QÐYŒ.MÐàëœëRÐ} uè·Yµò½åÙš¼ ÕŸ­',ºçݪ[ÜW¢ Ùy€N5±EÎÉA‘u-·´%*EF>±|@yPi2ÓtK ¤Ë8‘Üoôúº˜„¥Þ)Gé‘\Õ«ö çÕPêŽdÚ$ƒx°×z/^¼BhE\†:n'=ÎIòÆo™ÿisw0ÿùPLÛÀ·?’Ó¶½q«×õæšç;)Bæúåð5Õú1þ–Œ(WqG+dëõÐYåsé·BIwCEïx8 Ú²h‚ëðy?½æó_Ê^áÊ_È%.ƒ5L°©•†]s°‘_ƒ_yÊïíšñ ïyÐ{f@|ˆáCV¢ÇKÞd¬UV ãñcvÊík,2ÞFï»|[Y§n1\½‚¢sÛ+*(‡nØ5Uö̧?›ö†Š#»»Lœîåo ðFþâ5ÄmÇ/Ÿz']VM,Øæ}™mÆ©i!à CÔ„WüÂ&üQƒÁÚPÌ»ÿÐ*qиè»ùš§8ÊŠ§Ô9µ|¥d«æ½À:¶È:[ªÂE5úLF‡üT 2¤2pö)د¦3Žìt‘9QOƺãíÀÚŸŒ®»@»ä¿˜¿Ø\DXN7@ð§1²üÆÂW•gû»î»¥µ\ éœ×½Lõ"Uȵ•² ûÆ<»ÞLOx‘ªˆÁ®¨­Pct?ºÄ!›ŸÝ*süX‚–ž' l‡½TÿÚl"ãíÝVs6#&œiæ’6 W«bñ8u'v4͈®+ì›SOAÆfdq„¶ó¼éÃÃ>”Û<~Û/ãÁ1'Â0ß9.¥ ‚e ,íÖdIéYq“ƒxLH°1K)])!pVÚyÚR‰B=hF]ê´vèŽgÃ[ÕPóJÑP+¶ºÊPÁ~4¸¾]úÔ…ù›ŒÃó0y·uÍ!õ›y[pß`Ækêï Ðt….¬X~¥ÐÍå7bçM,×7¨ñ";èx†D—–5^ŒîQxVå"ñU.·C)™Oì–›£±@ W—c©íSw5XäÀ÷kmð.+'ع› RÐ0 ¦š9sv˜2œS±Ñ/¥ID½ŸÔä/ÁC 'õ"P¯å$“60ƒCbH8£ýÀÿ­C¨/ìav Š¡µAÎ’¤»¢<î¸ñI¬bóO~3¸“ˆ%FÌ&„Î6§à‘Ãäˆ'›\Õ’>iµ=Dç 3-' î¿ 7„¥Š#‡ù•»ûÝHTn††kr·am&ÁŸÃ„ªùÄ@Ò1_ ¥Å³ÎC0*so`/uÕ÷K³0®8<î ƒ€sCB ëLZXgÑ7ܽ ˆ´çøajaŒÓÐ`B-vAf4o*ö'÷Y5™HSåú@ÅkˆgW:H§hŒ‡Õ•2ZE¹LÅÙ}”fo|?ó;ä-*8JXElS6|o±z†“6-±õ´j‰€Øh ü_8à ¯÷YQ?CgŒvÖ†Í_®o“ÇàÐX,E—]ƒ5ç GùT ÉÖ4Ù(v®&Ò> úUÖœ ô}ªZ Äµi° §F®g™ÀHoÙŽã± *Ûè G¬¶î’3ÀØæ·îÜÓeÖ{*ŒŸ‘ÃBõòÐù;MÄÅ3>lºÅú‹wÐ!ŠÑþàŠå7& ’,yæ¸ wP9/Ó"=Î^ÒeÙŽ3¡üЋyw?B¹ä°7»Ý¥òÞ îz Í1.eV‘sè®Cž5Ä_Ö+jpÀP ƆºèOK_™Tl˜zTü¡ÍñGÕ¦Nã@5«C—VæC2ÚX[qÃE´iÈŠfájÁ´Ù—cwys…ùFfVÁe¶!’TÍ€,ðÇF…âôYÏ;/háNô¦aoî#¿òÈ_.Äb®©!:Üñ~Š,ezžÊÝáâßþ7Ü0µñWMQ¶h¯WÊ}YBTq"ÞÿDÓ)è„éFÒŤ kýŒeÒ¬•Vã“wú y†·= H &3¸í|Óo•VÉð»Â¸R«ÃÐ…>Ëo òËî€Èî#¨ðÒdzìCDÆp#É_ÇN¹Ñ¸ÁŸ/! ] Á¡ £¯!EŒý ¿ThR–‘„0vƒí|pòƒa—ÿ©lú~;ÖÇ.":i¹¿ té= ΊÖD‰é“Š˜»tK R9V?73†ær7ж´Ñø).r¸Îi{ÖÁ‡UÁõ×Е®j\žߢñ.Í™b)ÀOf¥ÈU×xŸ1ë{J›Ö.*¹MÞ# .çý Ú•N°TžÓ¯ÁÏRÚs~ö·’ž/å‚mX‘dÿý Ø#¶TÛËÈR_Xp°WeÆH×Oš]ë¢Ô„ö$¢Éˆ•q™¡zQ3§c7M½•z‹HÐçÒæ±L;t+ƒ«}m˜GóE+³‰W~ðdì e)<%Ïlýõ£¥î³“«íÍ1Ùýr\‰Ä.I©Ü ýš’„ì*Þç·K«‡—¶e7ež¶Î T½¸âL禃ϓϗ(í!ö6=–£.(2¼Å²ËõH6ƒ§h…”d ‚‡@½ê5¯èSU¡U´¹àIÕavøîú;ñj|RîÇeÇò¢Ä5¬g„ ÊöÍÙªµµ?ú¥-5hal“*§IŨ O3£pºÀe= ¼ùAAdÐÅN®Þ´‘ñVÞáÄm€dRðÖ;@Œè{.ϼW¸*Ì¡²] {p€–•Ñ "1G5%¥EiôÕÑ1"LåM¨>ýÐUŠHÙhP3_v{ÛÉ<ßÕaÏÿƒyq††a¦ÊâE2¶Ã2(J}TCbR½@V]€Á‰«ãBJÙ(,³çø}<õ¿‡’Dòõ—„/ uͪ™òáœyÛ8=#H=+¡£‚»Øù§ˆ¸PüB[0Õ fMªTH ®ú/t °Ghβ …ÇÄoËOCòý¢ÕÂÉ@ºlÌÇ{špÊÛyšL]„)Òaú²"Më²Vô"';6&Nɬ¨¾´æ ª;Õ a2Ïäg¤b'øt ¥a6èg øÚÛÅv$û(T*Ù)ŽÕÕùTgEÅûx$¬ì>†ÿýÈ›x¬CB·8³àŨ‚Уü›¤Ÿ}1 +B:¯,6„°…ˈ¦$b™ãÚH0÷Úƒ°–ÁZ p#žåa¿¥ú®ÜiuBÖó@`Rî¼wAb8kŽU–Eƒz ›­ŒÝo‚¬½Rã×?àØ‰Fh…j¹”K×FêV ÈøEFd/ÍXãZPÅñ%ècN),âmu“ l”²d©±IéÑ »7[*™M#£êŠñþrŸÌo:I8Æ}DØ{§¢;l¤Ô]hWŒyp'€ÍîP40°CÞ*<à·³Ž+-C— ÙÐþˆ}íO"kO6Š]‰-à/|év³÷稿²Ä“ª'gqàó¶µâ2moz7þZF¿7å…xwÁÛzoIlŠ4a²}LŠtòÝž.=»J,<“òóKa—–æ¬ï7ïgîÿlý\}zðÿN£:£Ó?Ñ5ÆYˆ©•9ØÙ¡Ëmtº‘ʇUÝ™Ù@ªgs,îÏ)FsÑQÍr%P‡ì¼´ŒÜIăêÅOžìãÀžK…JQÒ¶ÎÙ;Œº“Î%y"»íû/þ©iÖQ§µ{!£' ÏŽ4ti/ï@IDD(mâ‚‘”]WÔXâÄՂÛ#ö¿ÇñÉÛžq=œ }çïã'δˆÅiÜã‰k—‰ãË[MiŒÛ>9áRblåU8f¾²ÎZÙe÷Òø \˜±Ï\ ¦ÛC«Á«á­Ý{J ¯y»ˆö5žY»C¹jâ@Űü±ãWyåŸá ÿë~8q„ËeÏ€þ«–ÚDA°3Ô§Ðpj·èNó÷E,*-ÆÖÔa¿´µ»Þ3)P²-öðÇ™(Tm‡©Á ¢Ç“t8„g?$,Îy l%v½›pqñäŒÎ‚Q;É}OÖjŒØ8®Þ”Ôä˜âƒ&:Ô!ýæ‡H0¤ãÍeõ)Ä®G›>#9ËÆfä@âgP]?O2ãfñyåZ¡íë›%¹>pý ¸ûrá¸ÅU¤•¤Xô•¸¥m3tpZë•ÎG·Á/¨äJss9ùÌlqúÇ]Õ*g¨iÙž¾Wo6uˆ¶Ñ„·²J…‰±¸òffM:hËàñ¬ê>ù&QnŽLÇ„˜U>dzÌÂZ²H-Ô«¯Áå¤õRJ%ÕBâÄ Æ©#áʵ̓Dê^Ð[˜«¢)˜Š@]¦"@×'øT4ý3 ~±EO²…ìÉWQCÙ`âÔ|®ÿSù½Rlém£«ëîbæmš–C£„YFAB(ˆ'Qò yiäËC«]F´Á .“5È9G Hs€–< ×ùDÄe Œ”Ë»U…^G‘ùÁ̲ƒàžÆ#‰9r‰~KMÞþaíx*-Á/ÂYÃvqÉ0 “°b­*]"V-í †y=²F«ŽÓ! 4æ,eu0’¢ýç‰%cæ[øÆ£´^Ë£%*Y7C­€:!äáb?›auÁ23Š˜,¢­FVݾó·÷„ßö67ƒÜá*«Çò\°ö=åBú³ñÚápo’ðÑT£éÅ2`Ä*MšÑÈP´Gþæ†spc4ÿB–0ù¶½ÌÈ]焊 ¿gU¢Ò®ÉF”K |vs$JÔñ?‹§¦Q-S8Žë¬'º@¥­WöÁ¶ý‚TáõgÂlQAœÚ‹2º+¾ UŒ™1Ž;^ ¿NM­p"ÇB!Ög·|?öw8bþSÀ'ÒÏ^Y˜jÓ>wfßÀ&@Bƒö¼ÚéiÀö ÀYÖc…½L‚ËàíÜlÇûk_,ªºøÄ¡é^Ó‡˜_6õyŒæÐî„Û1.¯6›„«Ã¡3×’š:,c0gâQÑ_RÙ-žäW?ÅZMvö…ù¿Jr¹à:v¢øƒk™†ŒÅKñÂO8TùNÚ½}àÛŠáMD¼û5©j&ýšñà)¡/¹H Ó lÓÏ®v¾f“#ÆYLœú7“Ò´‡z£u¥Ä -<¡"I¹§:CõkxtpÛ¬Ñx¨nwqÜ,ÏFE“edÂ!Í(ï?` fc¡Ãg°•®Ì‰ª‚;î§l龄ݭ.\ã^pI ’“[˜gÔúÄCP:h¡WÝ téí´õÞUÂ’+lï¸F¥¢vÇו,÷› 9<ǵ–)oŠ#y cU-àã3ÂpLåU²Ûr»q«9[‰„ѳ¬Ë +èÐZ„^ñ«J|ž»†Eç?`Ñ5 Þ>ÙO“j2LóI襽P,P‚2Ýü¤éJ°PýÊ!uÒzˆ$FTÇÇ!íÐ 1© é^Ί BŒ t/‹›•tÀcgWeØH=J˜¿ÖŽ`¿ièX6Q°"¶›ó಺eX„¨ÙÈ®„…oâ¦Î1-Õs¬£´ÏF›0±§ÿßÇûÊÆ£‘Ðñ ½E Å»˜òèem…¡TÄÀ9¿xx+8ÛXzöyJôÎWŠÖ‘vxìl‰’`?X–GÑ-NR²VÆ?½¢XØ÷] .|‹ÈÜïP«•—¤µ"÷‡ÑàÎXvìn\Iô.±˜2á° KJÐ×n@ B;î,2â7kôÀÉéµ3PYwUæJö)Ôt£“Õ1-Gº$³ô?×áè¯ë1…T¶Ô?ÀiôºA®!HDñ³|ä®Õ¥6JNÙÃ/ÕfEœÃ¼q~p~;J°<äÁýçdlã¯`ú´1¿ÑÅvÛÎõ)­¡'4Сeé Y±¯*m °C’¹x.*½`¼ëK‘"Ӊ¼ý ñ>î¸ú;³µpÔˆŒE2@´÷C°ÙùY-”žÒ}ÞïX0—Œ¢.1ÿg¹`yа#þç,•Ïú"Jd§R™U²îÝ!鯏{AfJ³›„¢&„Ç7'FÐPJš|Ž$ðÑm$0æ.n”oõAmƒÀˆ<ß93l ~˜~éuÕ!¬‹—åñ²ÉEÃ{z‚­”·ÄUĵsl„ŽÉÀÿ¢½ÜNˆ€3'^uñÑ­µWísùüš¬uç¢Î§Vˆ`~€ì¯iáãF’0ÀåIÿâ7/š­Rð~:‹sͺùe#aHŽ"ä 2®/­K8MHÓˆ©çß_?Àæª[7Μ½…¢ÓV$fne‰i}› «"áwA¿Ë?I¤fÌéLfò‰x£n{wtݤ«U,i©£ßÏí0»¤XfȼéZ¼.)ˆkñ €¢òTÍôË27º›­÷c§7~xÃ÷VsR> °xÐ PfMÛ’Íî .-èõH´oR>|ð( [öØš®SÕíO¨£Êò?ÆQÅ«M"G}’â–ñu5呆)YÇd¼¤Â‘:IÏÝœ àÕ®é# cV?Aº'«L“ØÖ5Ÿ_7˶¾8†ŒÆ†lôõ· Ztɸ¢Q\@ý x&$dç/d¤ò*ÐäeòàÈI~ç“ê%r^žäü{Õ`qäÀЂÓÇ„kh¬d[ÑZêë.ý ½ë¦>IÑ…ˆ}!ÚÒG£`?jКZÿ)QŒûÿ:³OvT·AÏÔÏÉ<@Ëç¬gû<=ÉÆ‰2¸ë÷%Uðß y’wKXÉ£ òø³Ú}Øò•By§h‹Ì žü}wùLCqçÙ¥ÓTÂkLµ‚3ø™áÀF |´îå<5”:>i‹™ÚÒFžÝ²#¬ 1|Ó<(†Yh"ôÜX7\þ7&ëôíQ-&—/þUÀZñô‰dç,¬½yº6ƒô­+DëƒûÖxŠzÅÅæÍ8d5‚Ép™+SHDzÖÓêe»Lïá=Ud™"q¶Cv‹ƒšs´/ÞÉ•RP—X%@Ê —žoûðN§•¯Øg£xéšGú.kм lÆ~‰Ù'Ûü-K´h£ôj0i ŽÍÉð#êÃ΃ž;ç_©ªXæó+Ål£ÂØgŽkWú‰&>°HóP6ð¶lÖ¢Ú.äk)G£ÈêÂå¶óPH¢¾Dtºé{)¬ ˜ß0á°ª½Vþ+†<{µŒÁQæÕ¶5”9ë4ÑQ`Ä`½†òñ&k)‘P)g…^ÜØ5£X!V‘—_m…LM>ÜkÉ6zFJ±'Ú"¼/TPüBä?2Qäxma¯†°—jÑÈW½<5;…N±Gƒ<b®Ènƒ‘ú7˜l˜S“Ô…Û¶óñ-€ü:ÛŽ2muR‚àè´uëû6Œ-®OÊ`Ø,¼¶$‡Õ/#x.(7~ˆJÙ—² ×t—•Ï´6?Ð?Yð‰RKz<\4cèú²q duö2ÁH¤íÈSµœF0$Á".Eò¶ËãÐ;ùõÙÇTY†£p<¼#”‹tm4 Uзü˜Zë‹­Å¿6S3›AtÀ£Ã®Eæ^Ï£"[ïíºŠ‘Êðð­4ûyZ€àäøÉO.L:ñýpΖɊÄêÔñT‹.æŽîe—îÞo• "ì {ý`PX÷¬9ønû—k6Æ)Hb¬ï ‡!ÎVÝrò<öæãóè*Í¥u¹'Û(·!gº|€¡–=»àj ³P”óXõë &[uH[ø°`¬5§ç~c÷ºÌzPuÈ ##[Ïv¥:`ßgF‘bú´œA;,>y¨<ŠùKkÜhà­+owmWƒ E‘ µOÍê—09K¶‹wøÞ›!ó¸£í!t¡ŸR2§=¹¿þ°Dã‹D#²bbË“a­< i2ÕKŧ¥Ý°ÜEÛdï`>9²n(Ÿùüo-s«ØÃ;×Ísr—§[›4ŸYM´‚[NLJ‘ü6Q…À¨9è‘T(æ`bän—CÄÍ`PgúƒXÁª|UnJÚ¤ôLà™?ïÕÜÌÞ%>1ò°U‰§¹\>Ô•4N°ž8ŽÁ® vd4r Ô>av…ßDb5‡>è´œ*ž‹ŒrfZÆvŠ~©–D¶†ˆ%ÉTb]B¹ŒI­4‰cÝ›úþ#!¢ Csíí|÷"Š¿{‘6&¢—Öæöïz~–¥–°Ý×Ò¾¿c~ï=zêhØ}ûjÛ‡ÎMû‡dCCæx7W™6ãÔª,þ”Àv» ü4Dþ›çÍh”ØB#Ó$ª½ö`˜ §¼\°»ºwäx’æ©#;»žm£°Œ+àp´Q7seH …Ù }Z5Ãx¨¯K$¹3L&{ïÞšÉ>pT=H]–ñ”:Ü<Ï´HÖšf_ÍõOßKDTSžŠvdåILÏ⯡DB¢E”õ¿ÿúf+ÃüÕö$=ë.‚¥´êü.zþ „ygÌâ0M` ¦Ãã‹kX…^°,*à4Ml“N ¡÷|f‰7ûkPt¸¼3Öëçó"vŸLC (p:N`³`Nô7éÛå[{`tÂÚrOŸ6|Cúj_Âõĸô,O(ƒPŸËEõÑé Ñ­¾•ù„SF!#CJ’â ±‹=“Û©¹ý.„~QµAqœóß¹û*ýü±Ñ!õûIÿAIhÌpe@ßÎ ›)à”¶‹é dÁþ†è±íx­¬ã(,Q¥Ÿ;ÙÓ†$Mö ¿fŠT~ÕŽ [ú‘dŸ4ogßðI=˜' ÉpS2¥rZ­,i|Û>Ø×亘Ûd]=ti_üé°eƒ¨jûö擳¿ÿš°¨tx…dשï¬,È/%Ã@¿ø%aé÷Çÿò‰-1‡â¿i]·Ç9ĤDé:J2‘Ú( iÐ)¼&» Æ”qås‹ cÎjg=H[‚7‚Ô«-=ú_¯,c(Šsµj.öœE×ËP,$Óã~ÈÆm‹Ã%Tíñ-$[³‘AÛ-ëu÷rðë›~ C‡3XѺ^Ê«ÔDŽñJúÊÚø±ØœÂVµˆ†`ø÷J€²¹Ru>þ©­“tCœ4·kíɇQQÓœtª·‹V$ªx´J(ÞNM1ŒÝõ¨ëв¿õ˜ÔóC²m^ª'& ÐÎ|¿£3ù«F—y\ÊÊ2#‘u†ÑYï«áßçd—^Nü&ßpò€=x¾vW-˜Ú–í?ªK4Eî¾¶ÉxañÆt9ß|AUÈâLÆÚÛÉMEBÙDö8e½¾-ÆŽ>Fµ@¤Ö¹·™0Ãé%/<Ÿ´ŸDà öÜ-þFÖ­«, äè)¶Q¹ç`H-dYäˆv'þbú$.–Äî¬î©J—Ãq°°y›4û#›sTîÕCÑ󇧤џù[ Z8E;¬ü ÊõÎ ŽßA]±ò0}¯ÀŽÎM ;´KŠc.žï¾„g¸¶Þ‘\Ü[[x&Þ  -îÚQ,sª—nY—Çž*Á´)Ô¯v%ð¸1MŒ\dñÒ4u(Òq ¨€)ÕœD?Å釳fÌ'èMËaÛŸÀ ˆÚó&_©›eÄ’©ÿ™þ‰»u5ÍG›=ümQ5…b›Wïo±|AÄæÇøU87®…rÈ\±›’o…Î'we+:˜\5D¨Ô[ÄT»¸D8,0ŒZŠt]G7‰¹Yÿrb~¸í’³ˆ¬:ÒwYï8Ó>ð>,·{~V=†U[Í>aBž1¡?]ø c„Nlx›àôÍ+jÏïM6*ØSgëPC¢›lêF1)È¡*4UÓ§ƒÅZPrÏÓ®­]ëÁÜw&äi$Y¬ÿhp¦Û±Îœ‚~ìX}߸@ˆj†WGd"Â5äVIB|¡Ii‘+ù¢è½ä×¼¾”ƒš[n,¿p¤v ^çÞ0ƒ®‘¦›—s½tZQ–äp /NT B¡Ëë÷¤, Ímâå—m6ËT~ïxZ =_àD8ÜpØf3L7Ò$Ÿl{Pø½Kž‘6μé—{ÍPãë€Ô¨; ƒ Š|˜7ÛËþræ$„<“ÞWÕóæ}|–OJZ ±Tützß¼ÂÑ{rîEt9:„ßeý¢`ü[ùáý'³9šêå5è=”q=ÿ›YЯÀÃ/§iOÕCøÑ™¾çvvþ¸¿Í…aÇD…Eô;$œS¡ a3¹¢O1 x–_âä3g®£ç.W±šÚÌúpu>휌ðU>ÅGuˆUÆZÁ+ÄIYì -’÷#X‰¹l|cʺWvDgà¥T_jšظä‡rðcÍW07ÒöJn:M‚Á7 %¦iEfFáщfM§™}FÏÃù8à°ߌBïGQ}ç‡5t½ùÖ ‹0ˆü0Ã]²uhÚQÏ¡þžQ¸4ÕYRîWÒ>o¯¸R“¶Ä7´!Ó•˜Ô9URn=낾ùÚk¿A—YÍ}Älëü4FO’%Î9 Aî­{áäñæ–ÁAu”I¡…3/ åÇ*b3µ]<¨µ°ß+âªcæ¸ôñÆQYdx┿ñÕ»mî!دI,gTþ„ê?GwtgÂYðËÜŠôަ»kÙ ém;ŠÀÂh0,åÁvn7¹B)ú‡Æ2±¦Z>ZðYà] •¿ȧD>vÕ­ýÚ`ê©ÕöƒuÊVAµ™”= Ål|¡:ÊÞñ«A~ù•6Ú[àŽN:BÎÔÊeÐ>u£ŽîOËE.„9ò¤èKåk(…ºY@xøx"äj@» % 'ƒ‹6û)"µ(VC+ø ÌìimÆHœ.ûýŠ[å*ÑvÉf³mg1”…g;ŠëQSbqïi]0q ‡&)RÝÍÁK]U–`1¹XÞTˆýlñ>$žºyçl‰| Ãf~%”–Ye ÐS*¬IÀH—Ý9ñ&s/13ó¯50¯Rç•K`€%Jì`¸Wx¼ m¥3,¬A¦7 °b3­Ä+Ù!“ˆ1Ú¬@º —±ÞÉ“«x ykMýÁ‰­}Õ 99GŠzmUNªfÔWÖêû¹a9(i󜽱:$ºÊ$î+žuyÃ]wÁ˜Ô—¾v܆ð[‰X^WÂáÙîäU‹g—z$¹=Ol›@ÛÏTërÔ7Áï^*´ff‡"u«9uÎ`=Ñh‰Ù㇇–á-³§bù©B{OS¶W&Ùeß8Û¿‡à‹søAK€]ß}ĪTÈ­"•Kv°ÌRÎ…Ž­á’ê‹,09œ)“‡Ë?ÿ£îýŢ·º5<¸B)¹ž}µW®xÜx*ñyôO‘{/WíB[2hq¤7ä*ìòÚ4ôžÆ%`ï^Þ‚RñÚÜ)4o•äˆJ’ì¡ ¦Bºgï[â—qäïŽç«^ëÌç˜pv¥>ŒUÈ˖ɧ.1ºNøÝiÖ¥ÀrªÝDi;7ôœª®Æq6ނņ@ÇǼáþ\E>à&oAý+k¥÷É 9\í8T«UÖÖ~,'ÑF‚/»%·Næº+ˆ½+õ Ä?Ræª-Z¤ßñ :Cã[;ãxR¥BXÂ@Ïè+“Æè)Æ.øË2ñ KÒ$ØNï› ª©™ï¦`B_Å–FÞf‡{·ûdIH å1ø+¬Pk˜þ¤\h• †ëxÙ€œ •Vêê–CYÓ=y8ì,ËnuæmÙþÞ57+ŒƒŠ KµX/”ïe‹@¯ _éHnÎ ñÈŽ‚m ST°>[9ÁÏÁ¦ÿ—N„ëˆÄŽR}âõ»‡ŒâJY¯¦ÕBÀÒ Ìb³Å¹]ìÊÝzÙ¡oé¾!8q-— t»I{w­…¤c§3ÑsÄx?C;”?ËCÚ&“¦F'v¡V/œ¡ ÍQ›¨Ïo~]%ÒÒ˜³=0¤Ñ›5ú÷Çk øVh¹A¶Ím€j<¨YƒÈ)‹õ’¤ÉTRè¸(O-o@m‚¥m>Í–Çw‘“@vW@ÑúlS§{ñiÚ4Ã^®¥4Þ)¿'Ó2‚¨øz÷ ÿ8¦w’¯Oil!19à•…Ó…–}†â¨wÀxƒC†>vœpðCÄ“ çál3MKÒ¡{**6FŠÐBYüÖW'ã‘iÒ‘E®ËiЦ‡cŽÕy\ǯ춸ÊÞ&©X£n_ͦ%±"ÉÜNiï_8{.2œ +S1ÝóÞßbÛG¸ mÜV{Îf9AMÖt>K7â¹qQËDħì£{¼íãÓy ƒt(G¿èmçKkÊlŸ ±Ù ÌòHC5ý­Ÿx›ÜÀÒ+f?¼ v=ôq4ï¥v{ÇÏFó¼¤Áa­Iò²Dî70S›É굯zá´ï}œ¦zó‡úܤ_¦.õ3ñJö×ô¾ô:ÏZ‹—z&8äf %{A-ÚKö†-¯i¯+ßùiË3þéj<Âô‰ŠVFoM;) 9ù`‚2­§¹ÎFøÛ¸ÞçÄvƒ ë3嬢À£gu-åÜ÷¯«›HGÕa27 WYËâaΑ—/n±Þ@¼•7/ËeÔ hKT~¦Ïû`Á“ý ÏNØK›Xèn'Þ`Ÿ‘U僔¦DX:N?ŸÆlìfm\ÒçRŸ³§äeÙ ?2óÝâ1„ŠÞRÑP#×è|'˜Ó8éÏ^FŠôOé’+÷²¥K–Ÿhýå8ø'\ã[üÁì,ÍÇ13nÁ7sUÁ9,ឆˆ !´À‡k NquÑKÍÁ$øžœ”™vâ–)v‡‰]p1DC}ü$èêð^ ÜO=(­Ç_Ç~†l˜{3ËŠÞšãZa÷Xµ ²‘<ísËr/|aâ`JÒæÛëce Ò>"0w±¬2&—¶¼.v ÒèúRö]ë}°aÖh6h@4zVDG  a7®l¢Z%ú@+jÀ¤FLÒÊæå'h £Þ\,OhÛÑ£é Åð“UZ‰ Í5ØÃ×mƒ^œ_Þ„©Út”¢I•×®Ù¼É6.ž þ¢úpïðxY‡÷æX95$Mg$‘¦Æð¥Ï¤#Ÿ2§ì·#RÄû¦ =âÈgKãSf׈žóø„5¿Å84†vŽÜ¹üœ·¾)uS‡ <ŸG©¹P@I*s‡DítJ"Ï0‘X:±D—yA(ãÿ4¶únz=•!»~D‰_o+ƒC",æ'ç´sé¼…êK1좙%¾Òc‘x›Ò>ÿ Qoˆ_(87Îçõ¤H­ê7­Uþî\‰`¶þ„–R‚õ¼Ä MÍð,üHçÙ&_z¯~VÛ$öa$¹²~zJÙÅ£òî ´?K ÀòpA­µÏùA®µj,šÂƒj¯F ©¦Gq_º\»Ô~î&²T*½ Æ @¡ã¾zÖ­íñ·!Ý-æ  & •ìvóMK¯-ò98¥Uê!*¢m(½%Ú$ÑÍq¡!ÏR¾‡F΀öEKSp„7ñ ½|ƒLf$×µÍØ§°ŸˆHßJ8š§µ°«Eh6!ûƒ/ÿð©ÿ'¤H9§“}^Âù`m»P“RÜ*— ‡µð¼æÁ44=\5÷•üÏ[9¶3<ñè«øöméË Á•Y ã XE´aðiããØè1jôõ‚n“þjYÔ‹Ú ˜ð¢\쟶½åA _ìrîªnüy™Ig–ÍPûþ@À·Ã<Р$†„"¢j÷Ñn¸Üàn)°ƒqù)×`€VI5TNN4w*+h¼%ï`ýC®âÊ’îÊBïjê1À»ŠF2J-„ÒÏïþw(ÆŒpÕÖéù…ÊÀ¹E¾¶ o÷ .ã(Bs©Ó¬ž ̪•„ÿò'‹“p ~×ÛDdßmÑ*(/è)ˉ^Á¡_z/EF"*]=”¯½x²]ã1š›´ÌQ]aâÉTȆˆ.UjÙ-kÛ/þíŽùºÎ‹"'u¶Jêóò æÝu…Òªu+Zš N{YYnaA¦ƒëee:ý˜ÿýl„}oE¸™ºðà²ÐÔ‘¢Ã,'qíõg’œ°h9È\Ýoø²k{7®»µØ{aÕ ¢Îáã¹öÙŽ>ÒCä¬Zˆm0;s¼¹€W±3AX_FX V·åù|ׇd‰Þ²«ù§ån@åòÅ™­:ñ*"a«Óc@#tåA¬ÄÜ:º£Ë|:-/9Wÿ sŽ5¨óXŽ @F² $êMò\¨í)9LjP6Ã÷/oC‰àaø2 g¨aIËDE&9ÏÁ^ÔkepîAÙ83Ú ÍÃ÷ïM<ž:Þ·;ù4M-©;Ž÷°Nå4@\d¯Yc¸_sœJZ«³g7†¦:ÌÛ6ñqó èüÒޏüâW¨¤%Yq::¢4ËÜA»;5«S1çÌ(PAƒõZh ¢¹ ¡hfn´i =ÿ_c=&¾Q­ ˜ûù*žôùÓœzñ•/^QwZOlîûSEYΕ|Û¼òÉ+ˆ¯Ûˆœ€•­…"7Fÿ Joúëž™/@ø·è¤á²=æûªwrý†»ïµå– ›+Âsg›€rYÒVZ9Mã NÍöäÉ ~múŽ¥š¹p+RP^Þ¨KiÈ\c˜èH`û*6¨c$Æ”pä"Eº]+âÕê#“èpÖií_°(~a¤‹ÂV³ÖT¬£6„Å’šc«WÏ ¹Ô¯üPìÇÕè•]e%ƒ\(33YL{ÿy{'9–|ã12F(¾äŸG³cÁô`$Û.ñL.I„pƒFÎ0®‘aìV3%~6‚Hmµ¬mÒc¸E3kYæœù“Ö"k­Kê¹¼Ѐwp $¨üŠ<ÿÈÍð-Íg®âù&¿ò16q¬ýW§áÌUq“”‚^n¤PÈH]’RÒœ¨pžŒÆ¶,îòêè’~nñ—Rù,Æf”n—93*z_ÃTMN»!}¸lå^o?.íZåÝ2¨Gm$º@¸¾¸öFca¿“  Mïj6àÚ8Ü’™”ex0¡@HÆÓ ¤¢½|P¥ðspü Â’Íë¯òìr)¸’ˆåbõKŽÐD\&DBtÛt—Ð*Â9ž4«¥a¦?GÒð0.ýÞqTv0Ç)œQ§^ˆ«G—þ§xˆÜfUM1š2»s-çÈû©ê´KøðleÜ×5#5ç…Cæ"þA€÷LZÙBkiúwÓ­föúPü%^vpìÁã߬ìw÷N‡¹b­M)’y° Gø¦0µj›yÌ|Å¥þ€ð!ØØl¯Ƽ4«Û¿y¬ÍXÇûA|+´åÔ8×OQºéÿèd.[«b>• ÌÐÀ´ÿæZèc¬r×#˜xÚˆeO®;àç‚Po&âCýÝj³P® vCÆd̓ýÁ‰UÒ: ÿ Hi ;Š3L…’8±[ž”9ö@7ˆm”©yµÿól†R8Ï7È\Ç Í ö¿aºÜïŠC¢`+¥¿„Wmoÿðb›ôd/`6„/j}}óÌŒ-œ2iòê¤ ™‹bý¼úýSÕÆ®èy?0VoÞ+šË"[¤ØxóS¹­ãŒ/ü£\ŽÂ?‹/8Œ¼hèi~¯`L§òú2«ëB®7xåÒ'†gúWmùh‡K'ì=^rvms_â¦5o½”Ÿ·Hãˆÿmv‰hŒ£k_9Zâ1Šc6»GKÁ9üë&FÕ ‘ˆEpžú«ÌWí ÝÈeoV,é ®*=£òc·>)åq.‚º·ÇË@x«;ܺ¾Ðw‚~W3Å`¬ZDà!®î"Fí }‚䢭H݉ýX¸‘bÃÓû¶{¿&í<â6p¶–ÏÓä•6üNS¹U¡ Cij§O[ƒ^øMa;!Šë[J¹H˜l ±î^a-zDŸˆÌO¿ V'ÓXf~Ëh .Úuðõ„wú14TE`J/ CõŒ¯§âŒh_,_ ºÑr>B(éóB×$on äð® òvÜÖبo)KbcUÐQ&¨½óí*úòMnù]ÈsžƒNðj£q–~b0½®–Ù_x°ÏH“dYj2Utáà‡$°`ˆÜe†¿jJk¯Gâ7g\fgNÄt`•$ÿ*ÏØüc˜!¹Êä%eUõׄ™î)Å4ÔÃÍ‚0F¿Û©è‰føj„•xŠWo×û<^ýW‘˜éaVæÇíË·“!âVbóŠæŠëëQ0m’L?äÔ’;{Ë7a ¨WNÞo©r#á[&‰o\É}9‡O˜ä†畉£¹7o"|-ÖE¥ÿD‚"µ |Ž£PÆH]Y—€+R J$Ñ‹^¦íGè…Gq6?æàlÓË¥eÆÙ,©*ø:Ú%¡¸£Ã5áj%Úp4ê{½`ÜEz(¹Õ‚@)}xîhŒk‚R¸ ÿÂ]ÆÏCþ}‰¯Ò×÷ìJµ!Ñ&Ã!³¦sÑã`óI|–„³×\.³,U–¦XpG'Úñq‰×ªTX3>J'@ ¸DÑÃë>|°ø Ô—ˆ›h¡ÙšDÜqbà5qYŸ1oæ²ÀGD8 ÈÍ—7çÝ‹¿ÇÄ™º›5NPzÙesmVÍÀÿ qy ,üZÑf(ûêÎPm$a‡ï[ãÚP+'žÛ¼ y>;pÀš›À’2Œ¾×½=³Æb¢õÒHXÇ™ÚÉT¿Ï’·¦%¯Á“)DZ[H̳e¸áá²é˜ÄÐúÑÉðDŠÊÿ,ã”÷ƒ^Î{´íŠqqº 6à(ªtYô O¾hS4 È>Åþåè*ÐàùÈÉ9t(jߣYO¬Ì‰¶tSJ©´ê Çð¤Çù9©ôÏ‹tþÜsnfKÝVEVó 84õFôðx¼àù#]6¾u,¦ƒéJîפ\"a¦Lcó>Dl ló‘I–ì­uѶº—¥€´Dl,mˆ/mjè*8ÉK÷8òŠòÞ)ʇZÔgFŸÑÚA$T’~¥¯?xsV¤,ÀoGœÃt)ÌôZÝ€¼žÃæ ’r¹7„äm—ð©¥ Ë)7¾¢Ž|«&ñj_yš&UAèí[Û€÷·@uó°Èh=woáú¬ÅvÝŒK¶UÆHDªu/Ô¾Ï:ñŠD~ÛÍ! §¤š)d%Í.KTÆR¤ ’ÂÄ ÿPºŒѼLŸ¡ÊUPpy¸>õQhšâ.ÈSº©nm^U“À}‰9QYQ%‚³n0´?:°Ê‚I×»H £íÝΨ‚$CÐk8ãþ†Ðy"hÃ&|ó¡'µÌÓLÝ|J:P(9eÖཆW!ípc'RY~1½‹Â$áb4;ÒßLéô¨hä½mvlrõÊëx{Ä~ãp¶º” óP/lùJÄŸñ<éRŠ„"/¿Ûw‰ü¬YÓ¹ZG4…`Ìü¨˜)cʤHɤL¾?a®zF£ê¶‚0gÂy}{â,©Ü'ŒÍ…ùþ¨ëýåüƒ#0ø¼ÑdLíâ0uÆ3-ONà mW£®ãC:<«Nƒº²ÊÐPî›×nú Ü7.sîOà„ä–®í¢ê‹ ‚Lùo=n ú>/ž¿LÁ"áfØ¿4|6LÝʲ‚æ¶=Pµ+Bv•ùr.SÔÎ )Zö€¥E©¬ RﱓM߯üUʹÙ0àôý#õ¡ ×+€œ4ªÄ-È­ ªP—å’Âi,-Q%AW„2æÜGåKË9íÌ*)i…á;ö3‹¿k_ûUªúKº'®<ÄoƒBímĺÅÎ5ò'½ÆÒ󚳫èQê&2­CÂR˹U¥ç#³]dxûy¥êëãZƒ^¢ç‚ÌêÌ& šƒ°$ú&dn0ÙÝ“³´®D)Yßù¼¯Î£BŸ““bq›vÒ*… Á2COì¾HŠ{eð—Á#ýg]È·¬U² ¿Î*•%h¬6ÜIÛ¯\æ“ù_bÝ­epz©6üGÚB°y©ù}:\8;`FMŸDä,›'}"óθC1ôûYŸU ³Ü.Ñ*žLÃ\ø 6K[z…VH)4q·©9^¹jÊNU½4Ú· «‹+:)™›¿4ˆü–{”UÎKî9d[áÌÌûîv~$8%¢ôíÌ¡jiŸDA‘Ôrôb=Ň)ö­%˜c?yê~ÌÏ8 ™ð¤¯-Tž3„õ¬ÆƒgÍ5­sMî°è6 õ¯à µ Űüû$l‡êáâÂuóµ’íåûyެ€¨ºËÛŒÌY¡/¥¾H3Ü¡Utó°\왑×e²åÍKB5w ½_T€ÔæÞ¤ä DâIû´%%_!RTÃ5$OR-£¬vL“f\-mâ2Žßú"¼Ç~zìkÜÉ[PK»Ñr¬-R‰Iï­†2·ô•®Éö™E5àÁ>÷$äV§Â‚ò=Ç"EŠgC‹ˆÆ>z“ j-aþçXìXu¨kØýü®Í9=ƒR$æˆ×@)—¨û,•1;É×ÁY"" PûµËÆB°|ˆbv“üI[èÚÛ&åWÝvˆ%ü;`„Yõ×­2ÛÓ¯ØÀÞš¤y: "£…ŸQ‚afiÈÓ5<Å‚T·£Y7œú›³Ù(Œ"¥é‚m ßëÔ~ÆQ¾î𺡻ݿCØ×Œ›1 jr&BÌ”P>ï`¿yPعÃ.?J  bnÿ ÒC‰RÌSùT êê…ßÏ´õŠfÔ"Œd„÷‘cŠéñ[)y]í¾&€µž"uïârðF€LÍÍdl°çXˆ¶kì,ʽÎô º†»ÖÚ®+HÕQt±¨¸¡Ãbbhìïsñœ‰Ü.>ÿ‘™ •‘’Cñ,âùœ(6þ@T86)d(õ’Ig·äœ×Æw•^3#‡Ý”OM<å”h£z³uùÚ>—uù¢>D.sÌE0hÄgOJ+Â4Œ.ç°ÉtþðURÁêNgõº€u,Þä,RîjÑ{ÖN°q ©u„°gM*NMÅiÍ•Q:òSÁ&žI† îÞ=ÍÒÚõqofшzüë_ YÌ›+?4É©¦å¯HÒ¯7 ¯D¼a’jþæXÚæ¬;'ÛnA.¾hiŸVc(›j¹/áÛ›ìÓåOµxòžÀ3¿äÝe¿‡<âÿ©a@>{ï}ç„ÇÔ§Z¥Iø im§ki]µt‹DÆM´¦ Ñ¼M7lû#[EŽÜN~Ž·»€zÄ_›|kÖ“³ßðòëN›«'Ç<Öi.ï‹ÊŒ,W¯ip"T¼‰hYÕB:îåø5Ô¡Š² |"Ùöá*â§_­,oŽèuƒÿÃæ¡€Ç° ÓÑK­únR€C†t‚Õ®üù 8Oú†g6¦Ó¢õXæ­Q¥2x›Ré,¾µÊf¯ÔÇjáõ_Jèns{|OBª å}iÚ»+@÷ÍZò¸‚›}¬žÕ9d“í TΧØ‰ër2)m:¥Ýø_£Wçè«E¤„­üPÚ7'Mìãm +tÙ¤ÛºëèŒ}YÉ„AÆhç’‹_i#V>yƒ ÔÎTÌe^ÉaÊ7[ ´>âÉvãF»O±×›xE ÈìÈ-›ûS¿I¡J³0 DŸ«{¼ÍÎò á0ùª{^"*†ZV!t:ÉUâr—L¦Wk¶è®À·èÌO3²™ºÕ—ñºI|}¦Ð5?âÝ ÃÑwðÌ47¦®ç­­Îóƒ·3‰ãd_õ—ú;\샄¬bP¦´ª·+s6 uù¬ò?‹XEÎLFø.¿Î!ý ±È)1‰²š÷Cú×RÔÜì­5r­mÞ\§Û a^”`‹Š¬p$½±*¥“Üù¿ÅsbaBYigºO sz`§Z÷šåVã¸ãpDEmpy`‰ðSC ‚C_S!B'gºŸA{å,³ ÂžMìÝ,žŽþ—¨UŸT¿BË/„ò ƒTièˆí0»$y· ë*F£9cîÅ—fòèyEwz éïJ¤­t9rùì–¡ à^‡2a7¤–¹«÷vþ•ÆÁÈÛÏìdyþ¢kx’µ5ýòÁeûQÒ‚# *¥ªw¿:ƒ‡6]—÷Š¢=`š*­(S/yH2|?Ö²$puÜ^!ZÏSX +ÂïÜ Oòb—^J”…*ˆtÈ“¿¿´Žð¨åuœ¡Ù "Ÿýß¹ófn<ëË–èp)EJf?^•ø-5kŠ»ß)‚˜aÐ;à嘘ðß0[)éìÀÜé1 õ•¶ì<8»?þд½A6Š2Ó¹ÙwæFZQ7¯=ÐtÇ“ræ¥1sc¾@o!dëÓô{*#3Ó3\˜*Dï¦Á´Y1Ó_Á|ÈžgÅ:…®°+ ¡?³Î‹Æé>k`+L?T±R(5D‘T¶-OγÔ;T¯¸ÊkL&M%¦ñk~×üÁßhLxÌ€p+í2ûšp2GªàÊ!›"ü‰8æ4ï@S´B·¥]ßxXLëÄ]óyJ}|6ùv ×¢¤k±ÒwG&Ê vÊ!uuYú³µ…ÏC—·ªkí,º'%dì]Jš#b=S<r¦cDœG<á‚ Ñž‰J¼Ô ‚UÒŽË!ß­™v½Äb5zé6·B|Á*ˆ•€š(ôd¶œ€ýº@âŒÝ1»€hç]`í|°ÕÑéÈ ªzcĬñ^©·…Ð õ¤Qùñî‚ ’V/— ÚÚ¤+Œ Mˆð ƒ+ã>[HúU$ ¸NŒðHö»xŽÞn‘‘ú(‘›…tå´ŠÕ}6Pô·‘¤ìïgÍ–\S†ýÝü ·ìÕ{®YÙg;ô9q€dmß*0ÿoªC¾Î!E`` èý/5Ù×]QÙ./’ùæ€2,Ô/û_eô'¿ÕÃvã‹ACßÕÒòNƒƒæÊE™ŠŽµ43«Ï4'ݸ–œ{îÐbn"À)"s¼Ìf5a-ç¾Dç‡ñeâ*8%\O#| sÝ+·Qš,Æ7r;‚š©éÃßçv:¼ì{^GÙ€#”ú×¹e=æ8±Y=мÿ~cÛe.¥óK\W’¿ÜÓ¨*xhµ¯C¿ +³ºGL™iPªˆCôL#H­ŠGM›wä+wf°ë£Í‹á §‚‰Eä’2àL{¶~Y.½!Ïçx2ÿxû:=âᔲØÉH—¸µ äÁ¤~çrK‰WÅÎߪÎúÑñ}ÓÕ·ªƒr7yð³Ö ¢ý½á0”Ú”`‹5ÂBŒÒí°(8¥LGÂ5š7²PìvÂcÈ4®=gŒ¯·ÿ9‚_ÿˆÝ‘@UÙäa°­LšÁZÆîºp ´ÅKa’…#y’â´‚ü/ë,û–ºHŒã¦;ÿíŠLñÁ’íåúÉä²ñ"„Ì%µÈtŸ»r,¡³æ¶¶n5ÚÛߪˆJ<çÏÓÖ†KÞc,@ÖÓÇÛµˆyW ‰‚RB‚×QÞˆgv1+}[»t‘¡-ò3`ºu/ðs|I ’$Æ5óv‰fÒMˆÃÏükúøˆ²Ö ‰lP™é#!3Øü¦œù #Šÿ)Æ®_óÆ–}—]¤4Ã&*H±_SØ ÞX¥¿ÎÕŸ€|¶6åZìÎð'`?ÊÛ7sx:‹b1~ذ¶Ku¦ Ç ÂÆDzLä?Å„; ’kÈŽ¸,‡§{§Þxk„†Z¢ÖRèü ËO¼×ú6¹·1ì·3Ëÿ•á½T ~-G)s樽*®(¹7¸™¢Q<…Ì>ñ±å£ëxŠŽà §îO)lF.¸‹ø¾ÿŸûéÛ[ìº7™/«Ò_ê=Ô›˜Ûp›¢MPý£Àç¡!¬ÚÈiƒÇUerUS¡PZ¦âz~U ðÞ«eÅûDŠÞœþ&ãÖK]âæöJšüÚ!OYq¹ÉFò,‚wi¼„âúíy· D<|e—)øDÅWž‚k…vfˆv¦‡‘Õ]¿Bw¿ô¿§AU"JÝÊa,w\BÝS—ˆm[Û³Ìvªô¡Ú ³Á8L"Ð(nÑÿûºŒ:104AJ-#Ï„g£1Mªù“´ªÔ¾;ë|éeã=óÓ,ÿ¤}>"@¬,YÍ'µïfÔÙ 3>Þ—¥}4*bR¹ZfoªI*s û)óR‚Õ-i²ïI¸µ¶ÁÔöMAk¾PíˆI…»úáeLÞÄÔ+-{çv·&I×yxë×O¼¢…îÁuºÀ΃É÷}#í&ðIþ+-+¸&/,¡¬ÕoHïvô%_÷øùy@*Y.–®w}ß¾=𼨴1a–!$È&ÈÂ-”½Êî´ÇÞK¦„ß9 *uÑãåpð18^ImÂ:yZÚ— M¸?c±KÚIÁ_ûK<‹^æÁî^¡ÏC÷m0`œP>9q<—î…ÚK©@Ûå!!\Ë b>ÛB6Uz­®s6!€4Ô–-1Îv¤‘ð8yÚÝø­l‘ZOn&XFÖ‚Ÿ¦í]sü@dö¢Ü|ÅìWEÎ üZÞJknz ïTT„p)Øz8ÝÚ€YÚ5¢›vñë2®"mäVá{ Æ×dôûËú|ÇØ,oLð .˜¯W4<ïöÀŸµ¬{'i¿ ÁK6rĹ­Ï+Âg'Î ƒËÁ: †‚÷T¿õò ýÊÇ iΨ½ah‰òo“Ýß$È™³šHMÀÝÐÍ ó4E ô’JŸsÜZøXìá…¨þ°cù=y 83ò^¢ä‡kÜP1”[á#4Émwm&ÆM’ü¸—4óL·úDǰ‹÷¢ÜÜâ­“Ì#H" sã± ùpvá5³œpzÀ—/áŽ##´:ÃâøtDV¢>ш‚y=ÊÈe¦<˯¦é[ªy9U½þ&ÖüÌ]ÊͶÍÉÚeÈæÎ„ÏjäzÏ;Ðç²?(Gu¦ñ¡ß´O©¾uÇ9wýúo­ø¡¹"§L+U¼ûªÙ×Õãg þxÈ“‘™'ŠLŸTŸ´Ù…¨ÍXFûÆ)´½±¶äÔã_H“¤ æ"KáûR1¥9ð >üul¬EPPŒBèo¢(=¨µßKeoû<ÈÓ=Åk¹Ò=¿e¶¥Îšƒm=°Tš ’KôGç«#«béÂÊ*sf„©…C$Á,·\ám’%“ðޱŒšŠæ Ó 60sPó¼dî¥Ãœ^ô¼¦›Û¥F»@Í|x.H ý¿ko`v lKH>²EÊ>èÌ|„ üÉ]Ÿ–HÁXÁ=!›-n™H¥”ÖjVL~a‹ts3ŠõäÂ-çDÎ]S™½}òÉ2ïQ¯µ˜~$Ïü€p!ëán+(Úî«T2hTO€´mº£БӀ&7äFpK{%Ï €¾½3Ñ(q_}Á35: M‚ÈfM€¿üøóùAH—ö^Ç|Hk« säZqGb>f°fkHtYúÕ̬³îÓ^`QA^?æË6:^ƒ?·}I¿DëÈÎ- +ô–jµÔ@gÌ—åÍOˆœ‹îƒßïÅo5Ý'‡sðµü8 KS\¶¬¥Þò8Û¢›<¿n=T‘ ›N õx `±†Ê#¡/×)‰gKcjåô÷|ŸmGÞÛâÙl%ŸÑ˶EY½ wsðâå@C^z"µw¸ú[ñôtwþÞ0_i$q$E pÄOPÑ»Íùg(ÔðàTQµÒE\•uÍ÷RÍçØ`*A~£Å+—Â~VµOѨ¡“¶ŸZA³»T£ã\ŠÐ{1Ç8¤`8>›`Αð³ ä'é\ˆ±[„O¸Ñª†qÌî.@¢Ûƒ>žštÄ€^”+%$‰ðñ= ?ÝÍëÐi÷¯M®Û¯ŠÝ_pÆXŒç‰k$†®)cÆ-–>²ªË¼ƒSÁy²êU|p-¬ASbEŒ”Óâ(h¹³7UyÝtñEwMÌ£Bô#[^•¢Z³²–±)KyaÎk¼­˜­™¹BòSƒùX©Sƒò3Õ Z¸È C;@F%cÇå:pHµ¥iÃê<)ùøtU»ŽqÖ%Oiº6•£›²ÌZaìKqBÓØ8ÿÏ(µýý½ÃKÎÈÎN½”oû9#10è ™jäÜL³UŽ\Övg2*HV¼^>Ý÷¢ðï=¤Qd‹¼n%A€.Þ¨Ž<ʶ½ŠhéÌZ\kR“„"‡w¸cÊz4ígGõFiSêúL§§Ð©ã?tø¸MWòI5¬où•X/9¯2Añ‹!á‡)ÏöYJ¿éQMªÔEÚÈä%ÕwÖÉõºÞ{™a÷~M¹ŸÏÊ…ãh@E:ô—j¶Ž  ÆÇü²Uˆ¾Å½»²J$–\‹3wU¢×’ž`2}û)6 ïaW+‚f¨ãA×qY%"+µ·Ã‡À7Pݼ6¥-ä§ÐK6 “QqŽâ¶Q~=I÷õ4B€ô+°ð.—™&x#&ÅîÞÌ8`Ó¹9QÛâ8³}’"á½»¾äo´Â_1#’Û¥ç°êVl½ía—sne‹‹£øRyu´èá8cMžírt•Þ¶E܆\]S‰}°ßéÖ¿ßFtfvc˜d_î ºhÉûdús8i¦Äý¢eS|Æs1}ܽw‹%ë5êêóñ€ýH-Ö+¤2>/úˆëÞf=Ä¢æ›*ZÀçö}õ™<Ó¿L(}h‚ÖÍÖ“MÞöçZé¡tþåco¯uUvÙ…2þÃÁ½}S;¼Cs´Æ.¹×Rê»ïH­÷YÆC½æ¥Oe¢-ù(3¦ùèã2dyÅ@'õ-¬tÓ¨qô@¡—©ËÄÉlA“áp\ÐÃH ¢Ðpy©mŒòEòfŒ½õ½§A’<ʦ“z¸ìÈŠW±ZÀÑ|WÇÏ@µ\9_ÔÎY"Ñê»›uùÀc·Ø\@ %õ/¯ †N7Jû‚~7xww·A-å\¤Ýö’ÊGΨ(ç6éž >u¡gF,dêUþBYr!kAÌ…(ùïŒ ˆ¾GÄ{DÂõ>ñ qèmä›uÉS0õcEzÃv¢?¨­R2‡M Ü`JHºitº±j(@f ”‰¯r¨mýæíà —íVeS<À(¦ÐKP%PÂTh{+œ‰ »)ˆ$™Á¹Ü—2ƒôî¶£ádßì©Ñ®W;Žâ’ç•뻢ïùÿÆH“¿yÚ:¹CãB^ß+uL]œ(¡*dš­`âá'ç¼@ÖKJgÉØ‹w‘Uw,Åf×öèRµ†æÖ™Ãâ×c´·ªµÄ½&"j“Ç´û½ˆJˆvxJQÛ‹ûnJý+m :N¹JŽ Ê“E%fw¿I̘t‘T‰¨V½ÍõÔ\ÅÉ8K²Uß*µ½@—dº¤]'”>?ÎÉëî›)=ƒ&³.!ˆ:D~[Un¸¸-nÐÍ{ã«Q²“ .ØuœÍp;æEúÃef¿æ ÇœÍYê»ÌŽ`Ã3nai˪Ý{»Ú¢OÑcMeC¾ø‘ ¤•Ûvhä§«¦œÚI~îƒ`©*³ÿf£°¹ô½ÜFweñáÍ‘þ÷½¸Dª™ªÌ!“yÀZ3à?߇Ê_†ã%écøtº‰¼·:ÏÑÒ=xY>ׯv¢‚áÍz³8³p—IÞ|Zà·ìƒÏ“qqe=uî’Ò£»«s=ª¹Ù:g‹ P¸SppnD\‡ŽÃTU‘X]T&Í\,«ÅšpUù|©Lýñ±s ïv؃ÒÞó²^âsh]¶>N[Û'pH "€jR*ËC\¨Üð2%tª¾j}ºb‘.{ÀU|ÍW…AÂŽOS†6Rb;_€+˜ûa+ýÝ¡$Aj‰ýîîpÆÆéƒY?ÿŒÍ&¨/ Xõ­qSÆÇ© ˆÉ®¤Þz^>”<¦…h5ÈX¯›z”öhÀ™ÅóÚ‹‡-m›G¸E¦uu oÑ·*2màf*6,«D²"… Û¤·ã=Ïo‰À¡m×a™î •$-k…ØóÒJ„+±^„ÆÛK›Ø¿])Q¡Ô`™¾…±–ŽX«)¿/D¤IÿÜ݃¹=¾uÊ`®‰¯Ë½KC‚hÄŒÞHøåÃ}ë02îƒìÚí ð€–y€»/²ÉIö­$F¼+ì¢%Ýr€Ýi×/Ê·Ÿ±QYš®eª/X ÓdDþˆ­±t–k"Œœ¢5ßš)˜À:‡;ó XÛMÊàù¥e¶Êj] Mܲv³°‡¥=íÈ¥œÝ>ó¸òò!FŸ{Ç ´ eQÖ2¥Æø†§0}¿#×iº02â+ÍμæƒÏPJu$dÍ ÁrÔ^ì0¼¡CP7ÍZH(7Ýñ¸ˆ‰/AcÂˬô­¢I çâÐ,aîµqâz d§ÀµVyÀQ̘ªW-Í”UIJթö r¦âMDì Cz,d­”²nÅ®í§Õû^‚T@É4ä©c&Ús[]}Bz¥ž±Ò@¿ =òHVi°Éë×q»„áÆ“ÌPMP –ü«áÿÐV>í‘‹/óZRJënÒ±PpÚ‚t)â_¯:ÜÈôðð}ü|#uÕ¿¡ëîóQß:†;)qfeÑ$°|ò¤R\ÜÙR‰ß'uá|üôCbÊpæÈ«xµ`Õx?^³Šæödž]éB'‹ðW]J†%™ õQ—é±Jª…6Ã/qVâ s‰|äד®‘JW Ö§” 9©ñ¸—«~¬J(Ì”ÔÅë½O©²o‹ ~õ~c3Ù]cù/Fˆûàxjüé³U׊`«±¡ F^ŸÁÀßmª¾¿e·´Ý”èùì× ‰œ÷‹goš%Ý1a¨ $;j¢°{a‹cCÞvk·"÷|ÕŸ… ò^’å1ÿh”ÅÙ®t}a=‡õ,Ñν$vijMÖîiÌ"¥nXR1×ò8 Q 3ZÚ]!£å”ëĪ+©Pÿ'–ÏÆ¢¸¢¼Ù c;©ïhà!ä6éz}ý$¾ W]Òú=“&©%†Rú+nßÎõ·¹¾vD(P¯çs®]<íè»®¯ ÅM² Ç#ðHÞ¥MOÐÇ*šž5\ÓäT‘ÂÀ»:½9ÐáŒ")ƒcßRºøƒFEå[HÄÔa¾:ásû0³íJ´Ó._Ñà0ü=¹L´q©ù3ë‰çß*JÂüלvë¹b|t‰%Ç­SâνÐPr· ?FNî@Â[?£+ëŸÏ’þï"؈8JjÖn¤‚ÃÑHMœD*i¼RË›yyûV<î•hÄ@ e]hcG4mX ã! cŸ7¼®âÌaHóµpyþ#b‚ŒäUA‰æƒºG¦2¦¾D–ÿÎzlxåÔ¬óß{Ræ€5`:N2&xÒÌ »ÁB¥ù­¥ˆ ±$8-xEÌèH‹lvƒvJ¦2)u—ÃÇÆQ1áÑ@g]rÁ–ˆ. d.wþü‹\óz²ÔIJ‘>1bºÌ$»_B„¡‘º¹Ïd¨¸fj9ÝC™þ5’ˆómÃcü!cr­ ÒM„A~7ÒeTÔ=Ñ|’Éòê‹(K•©‘R=äÄm3-ypðÌ‘¦Õ kŠiÍD¶ÄfÝ›BOãÎáƒLóº‰BÀ-]‚ϼhÿ1Û>tß<}Võ(Ê!NŠ8ÑŒøÏÕ¾v)åÀÁN²§LxZ´ÔgN,P/t(qGSÅ$À(ÓFâ;f¢mæé¥Õ—µúN´ ¶ã†®”6b&2«ü.¡ÀÎÿ+þÎ<{t–Ðdß5VÄâ>-ï–kê´MR¸`¥{%ùÒÍ‚zdŽãŠÁ þÿBs&Kœ?3 ³òBù~A×÷†qÀKM6¥ûƒŠ“˜L.xðœc¥Ô™^¶IЪbëßBû¸Èù$DCËÂçv ’äöE.ím²öM°qg&ˆ0$ûJÞ–Jçz0“p­¯rk¡ÑÞJ_¾ VMÌ…ù•­=ÛC!Ö·1=\œ÷Ûªý/ ¸(Þi ÚO~ ÐlÈþéß–üT6"¹^];´XÓŒÆpÓøZk#q'u×®N«CØs:D;ø¹V^gö&įÝyŽû r‰Þ…ñ¡AFMGz½Öç‡Ä§AÌÒì##F:ú„Ðè­»à3æ‚v‘Ñܨ½>þgˆûØ?þ*…œ^?Kw•yÜ sjmf$ ”Ëó3

ŽŒëà}¼ú°‰‘~ó6¸žý(—;PûâÛ~–7àá2ƒñ!‰ûàQf¨9#d$#߆X?“û÷˜’Þì®XødÚgTêzsœ‡ˆ#cS;âˆGù¾P~‡ƒÙÕl…´aÚò¶³]fý• Åxöïç)¦oU¥æÎš•*|¨ªŒ{ÿ†5n„k`vz‰Šýõµ‘RC¡¤»DñoÕŒ“8眣t–åòbZ\òÀäòÎ\áQÛjµÙdaÒ•8A{qçýEüu/ž´ˆ-z9Ÿñ½=ôò•ÒO†µ=…ù”åÊYLjÿec¬‘q4P;GÖÙMÞ•Øuò¶>ÿ7á+±ÚšžËi/Ý¿´hXÇÃ$žDI¹2»-@âÃJ*wo8 Š4áç(S “è}PcµL™n_é”rñÝçSÈsv/ØÃö]˜AÖÓË\ÎŽL~±01I?º#D5ôª#ت†’Ôj5-ÿn·ÙÝL3u¿Î?©Â­7¤`ÐŽ¬Î7{ïoưÒ+(ÖÙ±±†–ÖoÙàÌè–Zߣ=j¸j}kt¡³5UéOŠD2ŸÆðlЇ W0Ûð?Å>Œ)Zvo÷-RN3e‚½·K$5c5H»~´»­yýsÌ du'_xǘ¹…¦|½`3­Õk®Â¡D` È/dáQ aÁK¿Ã¾Giu¼0%ú8w‘± HIÿ‹L®æÁòœäAwã‚\’Ç«}œDéé_íÈ *fõÈ®JOí­ í¤ö-@üí„RD8Š9‡`éOyÛŽö._ ±ƒ’¼0u×*ÙÒrýy¨V“lSYïH§¼;‰Þ3t¸‰Û9gƒE_ü "q©‡Ž Vx"+’op§lðM/ GJã 5! ÒE‡‘¦Ý nGmõ|8Roó6¨êWO´Ÿ7ÔrˆbñäFTgµÏ«!ÑÕ&óÙ®€+ØŒú’±½·Ð¢2ËiÖõa¿Úž–c<¸"t<ÐbQUÊļ^‘ dMïD;åÅKÂÇÔ%Â8˜~|È ÚE×=ŸãóÒÈ µ^*ä ×§‰mÃÕŸ¯ë}`gõê4èº:Åg©Ä`Ddd^PBoãŽÐ7»~TÂb É‚ ÿÜù¡y¾|F;©F„™/WÙ?ñh%Ø”¡ôy[º6Á­··¶SI-®<ÕZ›+?èÝúÖ8MK»AÙØš5à0V_¨wdD?{g.÷¥¢¶½vމ@’ë¼ð“Fª„n—AêŽXÅzg sÂDä}ÆkŒ*³¸›qVÞÉ1s±uùÚfźÌ}Ÿ2•` ·³f‹`€zžlRÊÕUH僞}+Z=¨ÁèRzÎ.òÛR-¢Ú×JÛ, 4UOqøæðœžó·­iÙ7r ò¬š|¼€úf&ÞÍtǺûû¼~㸢ÆÏ iÖã!^C$.j|÷è kœ„©úüK½ý ¹ ôU«ï¤¥@éãú×뼨ï€Uc^=Í$2³&p<ǪµIÓ! žû‡5>¼ÚaŠñËX˜¤ý}ÑÛtë$ÉÔ~O$Ô5OŽmùnÏÇ哎ÆFÛáí[Õ¼òP *azб ÀL=JÓûmŒ:GæYs™éÓFaó'ÌŠô°Up ^x‘Á%¢5Áºk;Euê"µÍrÁ¬Þ*øåÖ1Ž„Œ 0<&F§Âr¦¶•²v­íˆ$ êÛIw³6àœ­x¥ûëNå.†à?T^ ‹Ÿ·±–¿ƒ£U8¨Ž\;u)æ±îZ ütaÖ$t‹B£9cRb.r—ò¨%‘ºbµ7”UÆ7΀,ä곈§,q3Î`ˆ¼§ÖZ#O‹L¦¥.…·ü+œ«&úÏÑ} ½·ÍÀnxà¡´ >õáaä5±šÃgN(mÄŒ ²ññå°çÊÅ(´"9––péÇœ`ÛXò,Þ…N2â;n~4Y½uV_¯*‰ÁØÚ˜¼©1C=ô‚Àµ:²×0;“…|kÛhônoxd¯. iú]²éª§Æ²<#mãZãÖóè=¢=gK(RÁËíà_UWòAÿV`Å‘yù@óÅ,TþqÆù]Î4ey¥lØ´,Ë6]Çy}EcÐxÛ‹›¼Ntw•²ý¬³9Aý‹Ëœ-‰»¸`Ù °}¨ãuµž:ø“AÛ éÜÖs¾˜iS\ÃÙ1G'†g°éPw¤­§¬È¶ =’ߥÁn†APéYÁ.}Pµ ;bM`”ÿ84zñiz­"oN}“Ÿ`/Öÿs*{‰ÐÖv ¹¥÷5lÿ‹‘I.gF¥X¸¹ËH¶¡¯V¨­á¿­.”ˆ=„¼ßêd@KT´Ò²eëHa—}BùŽ+ј ›üºAç„2ðâ„ëÕÚAS)î=¥üM-"¯ð¦uëÞeNë±Ä³(ë˜Pû-L¥ûFEÍú•”ɽ®þR!3§ÂØ\©`/ …6U±#7S­w.ÈyS¹@4y#ÀùÁ§Šénqê),^³:¶ý‚|ÕS–ðãˆGªÜþò¸õQ¸ÎOø6‰† å±=>ÂÒÀô_¼4¢ÀëÒ ä­p¼-S¸¿¹©Œ~2®bí=ÀÜ êËo¹àó7nH©ÝžèXS c¸*+¦ôÂ¥Ðc‚ô½1§v…ñ §ÂQìo>ìAÕlêüŒIâÂLü¤!êÚ ^œO€´¼p)ƒŠœù |aÎì{ –Äü~+Ä7<ÿaS~xû‡N'ÀYEÍL¼uÁ‚Kªkoñ°º§•©þ1;ˆårÊÛ‘»À$y°èrÝ40é>ï´,0RÉÛ¨¢õ)*O -E]´t_¶åÖ‚ñ ȸ/`«óG•q;…[4[ƒšò‰íˆï8ökYgŠHýXÀ Ù÷R‰6FzÁSô ˜°Ò¸LQn(BË’>«àTo!™÷Ù.ŽXì#¤[| l•LëõÐ…O *ôõÃ3W›B9—C_Öoþ̳=ŽÎÅÝ ðâ|•¨d¾³Ïþ›ñ¨p½Æ:ÊÊ #bê4"=O‹í;üÆ?x~NK@j<#aƒÓ¥Óì™þ©Š—Cß⪀՟À{ñ²ôoØ= '(Ç´AJ¢$+Üñg­˜pÖÑ“çã£Yº"ñ§}ÒãÃ8ä0´a}{7ÃroÇg¼hÄ'ªt…ð*¹Zp&ôª¨Y„`|8Õ:‰d®/oÛ³v²°6&jG¬KöØj9òž$µÎðÁ™ŠÄúL^È£dêCÖJ%ðUþŒë:h§õºˆ[ëOyÛÛ¦6ŽÃŽžùµßgßX儹ÕÓàæ"ìžøÜŒÚnò)ÊÑ ¶O><ÒlF&Äs°Xág9-½¤ù¨m·KÙÙ‡¬ãCëx®”m„ü¼Ö*ÓŽ <žêŒIˆ/U@šwƽUå´½ý­pGÚUë™yÎ<†ƒvX-—д³$)À8O—"é,³`L"-­Ï O¤T txE·`®øñ‡°Š}/}}U¿´(£÷á1mÎë}ò:dó;ÖÙÔô t T‹"ÂÌGLpÂyöEÌ—ƒWñçîœý‡JÖU¯a ét${»Sí®|ò!=b/%™¹Ü 3!äƒ žœïâä~Öu=`æó‘BZpáÚògÿb!°ß?Õl,üO&Àb¦MçuVÑjš!;v`NFK®Z„Ir)S/ _ù;Â:£kö'|…kÑáœg;¤‹]Ï¥ëšÚÈJÂÝn]]¡äÝ7e›¬´4½aò”Xé <¥;\Jžs”|Cݰר·Ø.wТv.,‰ Û&,š#å`óLjõ2"­¼ÆbvÉ*á4l>§ÁžëTÙÿÎ{-¡k×7¤´è]]lØG}4à»CpØ|ÝjÜâ>DmRK•J6ƒ-ïM¥Ž#n&“†ö¿CYÆþ𺑠)6cËßœ³#[FËÁ¹U‘2‹Æ–„¯'ìFÝd¬TÄ3ÅÖƒñ ã’Xeþ”êâú¾w9i†È)öDYþ†|7ŒP`^•¼1盿¤“¢24™®¿Ýf=)hjFzõ©°#y®«cLÂþõ)˜ŠÞEÛIhSåkÔ#£$öÊ,éí<¯w»Òܹ·ÜíØþ…*‡$܆e®ÐÈ¢ìZiyŠ«[”Mµ×·cUbl ¹1´RØÆíQ5¡±±WÊ$Ãò‰ß‡á˜S;¦›°IZz Çóû¤ìUÇ6pUêþø´¯üÀ1ZômߥNlè÷ǎȯ®TcÀþ™äMœ­nçËRÜî´Òö€î2mþ ÛšZRüÚº>Oú ú•S Ì×Èo¿CoŠB¥˜*2hÃ6}ù§¿)µÙLCZÞd‹%ìm‘¤¡©"¦Ð><'ËÅO<9«/åËÛ¯þ镯oÆe¹¹¹[„ ¾Ëh|ʪ[’ÔÓfú‹öÿÕ>¬o<) ÷—G›@úµ{­²=aŠ…âTq,@Ù³ôƒ5Šêço¯è¼0mt¨ÂOz«ƒ^Ì/âÚz+èþ‡§¦ú¶å„©ÿŽDá¾±>fiñv•ã"TDÊ2<¦Y‚»½iBikÑ¢ð r×”ØM+ËzôÞ~‡,6_@›Ms¼O.$æ3êar#^w¥›W.‘=ãÒK4ãW< [ìTV´Ÿy"@ 2Ü7ç5· ëžÚÔ 1Ú, ƒ‰Ð ‡·Š¦Ç Ž~Œn÷@oÍg¨¢<3ô2¸>ä»±!РÇIGòT©OuºÉ§zvü0ÎË“é[ÅåÉ80³9. =þÓ¨!€‚¯gïx“¹ŠòmÙ²fT˜ÌæWç—¬Y«v/½žÞÀùl‹y7jÀY%¸Z%V’ ðmè-‰&_él®éŒ;¢ RÇ)•.•<µá1 6ý,±c {`ÿTm¬É²˜Ðu€‚ÈéêÐÓ-˜–ëRÈ‚1[ël% Ê®{öo^½‰Hùøs>cÌŒ˜·ßÛyIdA´›øªüC¥£u +5]Òö .DÞã“we<^á´ Ucòâ‰76,KBó…:1‹ü8¶˜<ò[ù¨1@`Ô ¹rºgHd/Ìðñ2ƒJ8Ä™ƒ£áÉh:ÑJTg=6Ìä¬[öo¿¨Õü¦¿6܆¹°ZpY½Iw)|,QÉ—ÑÓ² .»KÔùóŸg*–2vf¡Šb1r´¼Ì¡5¹ìDþ§àÉ¡Ùb*eÚtí|—€ ¼ðùPžc@õí5'†P¾…ø„Œ™£+.æXüõRÆ¡ó‡=ù¼Ý×¾*Dð±ŒC?%§Æ»kgWÒv+ŠÊ Q"Ë ÜÞ*ê=>Îû,áeûé³g÷ÛñeŸüÌ÷Û^y‹û=/MÓÃr–”íµÞVçâ9VP[ŠVQ@½§\’Ñ’µZ¯/Ç#\*”ûUŸ¯ìÀÑþ'L‚šÐ«‘š‚º×Ææ”çÎÊXþWSF¸aã2½Y€([TWÒVjtbØ¿å½2åd\±ÒÔShžUAµ!Áö⻞<¾cßâøZ9,ÿþ#Jhñl}S'¬ØŸ‡n¸WH-ßõ$öÈ®º½ ‡¦à|èÆ°0ÉÀ]÷‹í¢Úós<ÁN< mT#ÉVùR,´š¤7£ô€q^X¿OÄ‚Øgè°HáÉeKÚ…+H…ÆÓy7Í‹¦Æ†= pª(\D·7òÈ ‘n¡,‰àÿwí~‰ ””ŠF{çÇ…ý×JC´ë-ƒ=aÁÒ/%_·ûFüùas±k êÀï™iÞ‰KÍ÷F¦…'“µrõqñôì4I·HtñÈ ƒèÒÕ Fg*x‡ß[—Æ íPŠÝ¶Í¥&bÂÿ—ÓÌnÐ4¨n8©ÎWa^|§üŒÁ`žV­\®]g?†S5‘«÷] ˆü‘ÆÎš5g»º®TÄÕ{l¨~©…`2뀧%Øk…ŸëàHÃýÖ? ….ŽÍ™­šVÜZˆÅcÅÓji0í_®¡á›Æqn;±ë<å26ì ŽîpE¤ë@¹Ú|»L3²·R€¯¾© f"[í[k-õ,`óp[ZÞ¤Fà)ࡎñ{$—ðs1Ë[ÚPõo8·HÉ5Ÿ®?A(t>ø·â±7‰gƒÎ/« ° Ù|®]­³ÿ˜‘vPuÿcä"Ä;öóÆ¥bÓçæ¦ì„…bDö"B†U*ïÏû]Œ´R\’²³d 6¾~Î%}Dª:cÜŽÉo)*í¥Eð¤rÚ·²êTg­Ù…÷ÏŠ_ àÈœVÓïöeh0õ–ïð>Æ#ßxØf¢Ýß-Ö”¿…»Gky|޼X‘,s>vÓÝ–ìùÓãÇ×Ý[ÍLIÿr–Ñêi.Ú[Ùñn­snjŪ\íù÷BE"јo7Öë]BEX ¼Ø¦÷T{ä|dLÀmÉQ{ìxN:<‡ˆò¡»…‰ÛÌ ÙSýѳ8s©‹Å½±àÄ<@,ÖµÖÄ–|á<·B²šÛb²3¶R@!{Äÿ!òžK£œÇ¸§Ê[É ãöEA#Oô ŽöÅÛº’ø9à}Qƒ­¿/~…ý{QçxìFj ù)Š~8?´è‰AU¾j¶5¶/îv¢&§xº¤ÐºÎ' }I,ä@KkìÐ×R[“‡—1å[ùjk5=±göyWÄ܆5g›0»p•pj×ôtÚ-ÜÉ`¶+¸öÖh;°k‰ˆqÀ…Pó*œÇ_G.ƒenbª&›]º”:*¼{‡‡YëÒ¿?íò¦o¶Eˆ¬Jgþ‚¨ò)?{?ʤÕ{è½AŽm@¸ÑÞàHÆ%b¯mŸ÷Ræ(ª¼WÍ€B̯ƒ”‘‰ŒàG <úÑÀ^VøÚú6•㢟é‘+O&¿ëábÆxu7_¬f½2w}:d)EÁÜ,*¥±v]”²R‚u¢S;/ñÑ‚qÏa36£Lïté€Ä—¶Bx˜, &ݪ¦ì^…B÷GYæ˜òuù)³t+=4§7ˆ„7³0^U¶à>ó¦W9ÎÜbÜV"(ÇÆï|x…c6èg EU­Lz¶D«Þ÷ ޱúü9ôOÃÊ»•.¸^‹@&Ø—Âê¨ÙÄPCcP’ûw«ŸOïëÔ|JY½šÜªoÓpRÜÄ¢2ÉÊfãøœQªÉ¾+÷l¢½š#D‘8£»o#‰û2¹@OÙ“gZWb]±‡dI ¿ÏC ‚, ö.†É„õ¨„ÅröPúu¾¸LZiF¾S0¤ƒrF¹ fG#^c¯r•ï”d<†›b»Â†¹bÚ‰¯3—êX­nèj'y ûÓ† +ç†*þ"jµðZ¿¶’2ú*dë–n/”9­¶þ£!©6· ’Ã(Ù3 yÁ@1çÀ.á³þ ©­Urø´6HÔ’󸾤°´ùö_C ¿«˜t¥ÕDQ-ÊÍš ŸMÌ™o„¤"*¤Z †B­F•=çóË:™ ÿ‹I÷£Éûš£Ö°‹|}ô™C§*ý¹81 2ñ+#A>>êDu&-skJá"³…Þ»å½åN_ƒpxÏO×ÚwóË6=^µ@P}S–6ÂÄP¤WUökÑD˨'’h‘¾‚|çèð6M}›S½É®¦¾ú;æ0« t†;š0•ú‡Ñw^A}c±ÊU3S‡ ‡åŒü¶¿©¸^È&Q7ÌeãÑXYÝýH Ó%\ò½\2×Iô‘.¹NØšû=X:ÚqÚfÅÈã*ëÍdÁÑ|x6ù7Ý»û’¸D-3K¸êrk]&€{¯—4+”“ì÷ÅE2‚ÁAö=m‡Ž+uQ.”ø»#9ƒH·£L:ö9Fú¤6$'ã¦(${þ¬° khêSoúÆÞs±¹²Zä 3€Ú)y³ïCÓ| ÀÍæ’þ_µÓ­:v„‘1 õ¼R–ȧTˆ¼”‡hA!­|ç¸qmÎЃÅ'=]·¬)ÌQ€Z(ïH å¡Úà¾Ê£í+?!-O¥6B¦ø%|ã¯0òøù¥”Nv_ß[Ð7¬õú/8†Ž—|tU–'éØ!»ƒ(J *gcsV6J<àq¾Ä@ŽÆÏàmìhüŦ?>i¡ÇùÓ:éô ²eê»ãíº›]ö%0ÈkkˆKžW(•Yô†jyºƒ§ÿ ÝYg6®˜oý›¨„\È Ëô–Š‹$RšdÅw÷‰Hh¬ëT€Ø²B7ä×Ù‡0s¾0qvn ‰sÛqn¥ É£Îeu«Þ“IVÇi!>hyƒr©\ˆ†"@9ºaË8²éßp)Í€¨Ü=–KV F8Nû©$‚Þ!ŸJwj©‰©½öø`xÇ‘>´ã>¦öŠ @ž¬ôÕFéOÛþ¨ 4°;J<1ûÑ7þpD´ñÀöêÂÛvR ͺ P[8Zs"˜ ìóFaŠèþîùœN*×Z ÅÉé è26™ÂMŽ»s}„è:Ù• Ÿ’ȸ.TÅ`/âUoÃdA]67 ‡2ï$ °ë±ÍOwCÞƒ0iˆ<AÇ™<üÛŽ&WTq`ä6m­ùÔ|bÍtå—”Ç^åA<¶ˆÍ‰j¿ÃÊÁéÂKÐ1¤$Âô¢èÊn‰®ò»\»÷hÀ$®BæˆÂ8ºt!›Õ[|PµãˆV¥~3^:üÚ‰ÎfÂü»ô£÷¬ŸŸð$úc[í ‰*¯`$º))U;ë¾'­‰%fõŠºþÜÙtlRÂ;pÀíw •º™ „(o‚ËxˆÕÜY8®VVNˆ/2â§Ðò/g-½œ•øÌp™+E@Ìëyuƒæ}p=ô Oy¦JÕH/ëÁŸ“p:_ .)ª˜ño¾X4e0‘h×e´œõÇ«²)Ž©2­³µíXö53Ï÷ûšpST}1ã_\§ßŽæÁ¨NÚµ¥áËD:8Vá®ÅRµßX­^ ïWÄLʺ×…•óÛ€hj¡}ô‰Zý4ˆæÌKØ¡CEIûê †åB»Ã¨0´ÅàLø”•?¦7“ÂЛŒã‡ÇÏš§šScïxê(…„P\?»œ³~”!—pÁd5ÂЂ ¢ICoÙ\XäÛ%çÿF ¬£‹åÍj¶ôƒ_ÉÉÚY/mS0ŽW´zÑÛ}b`Ä!ÞK|+m å, ™ ÷u^Íkî00ªRÃ9Ú3lyñ©ï7säJÚÌöt¡?ì 2úÏeá럀ߢn¶¼PêßKóŸÖÔÙ~<ÌÅ2É&ÏÿE¶6»¿ä£9Š…û¡Ò%ÝS[Á#¥ºx¨™ðˆû*ƒA¡mjÊûÉÒÆ¾.ÔåJ¼ {ÓÀMt’àî6àOBáÄJgºNB§ë/ÍÓ¿>[ú-o¡S a{}nß„a4½Ì)·Ýƒ^ˆ·Úz¿¨öÑ®(¹ËXáþÿ7«ÚjÉ=4QÏGD‘8ôÛt©ØLÓ–š¢ŸV?ÀQwÓ7k¼P*òÒ«%Ý,îO¢ ¦°ôÙζºÓ0—DXN PiÑ»þ¹œ[GEaVÄ.Ðm \—7´º¨ò8k‚•,Ñdz¢^C^—“]*óî<Úh[@ïûNXP]DÃqï# Ö¼´$ùT¹uë-„dÍí­7~_>·¦,x¸+ÌEâÝïèª|ssa©èN‘:(ÓQÁ£ þJ&ãáÓ;y‹2²3¶ÃaxÀ ÿw𶤠¯¦¤–µ¾üõg÷ l£ž5k6îB’Ñ”<Ól0Æt}h¸d5cñ†(Op˜~©‰{H“.Ñúñwò˜±FÛu€Z?tA'E¨a(]Þ‚Ù6Döú›­è[Óè Y+´‚Nü_WÂEϽV¸‡Õ¦Äˆi¤mâ¯ÝÙñtŸ0­äc *÷Xº-Y„±|êw^\ìʃ_ ¨a € S[öäêÕ9œQøYä .l{NÁ~ù \H™Œ|³8ܱ ¢´-Ú1êP])‰{KÀ|_æXtñýñËö-³Žë£-,&à “RkÁB¡íˆvu´?—úŸ`Þ’;LT-èêXµ¢•ªŠ%-)¡ÉænBüõñãAý÷8)L/0ДߋéåÊžxt«#ô'C\s´j‘Û™nšU!Åtõï„<{ÿg0ß°mï:Ö FøÒ`E3ñ]ô!JÏ«6Ùç^~-'Ë_•€Û[»ì ÄHq?“œé®ÈýB<ŸñÞŽ„¾»’d;WT|þ÷ZœéÝxIYå•OëŠMÉê1+’Nu~wÔ5£Q—7¤¤V’´FÊŽ’K鮊ª°QÒ•.ªeóÙÇ6åÿ¶;»Æ¡K™»­³íz“P^Cô§¶¦êý;º!’™¼¥2,41½W6í·×ÆãÌl1¾ ß6©1@LÎyÑø‚¹H9oK'n˜&lÍÔ¦ –Xˆ·…t"n; wRŸñ ÕÃ_Ÿ ›øh×tîà„@ïÓÑ~ ÁÇZM^Àÿ»!U£øIÈ=Ô®ØÝÈT³t¹tš½òè[¨líU/ïøKÕÓºÒ¥ªIÅÇWšû‰Ï6;pDl΀æz¹ £+j4¨yhÚþ÷ö—ÞÂ¥dÍSÅlÂ[F¢w’K(ªó¾}&'è33’rÖ}›r©ÿ5Qó´ÓÏ…ÿ„r5óÕ¯3ž¡AóJÔžÕ_Èé‰_ÓrvI 0^?Û’§™Hçô åËrlƒ.SÎbN™Ô—þ¹+ d‚/áFEn•µzÇ©èdÒmw›ëÂ…{CÖz‹ æéRºÖÃRm°ðB7¿bÍ7Ò/x¦ùp•ó×âÂ!Ç_s8OëçÇj+Ú8”)ÑIžE#0q¨z1o3 Khk†Óñ@Çðž¹µþÿÁ@gvœ=v¼[¨æê§ÚGE¹nx‡.@nü`ý«¸ðNÛÆÕ²,Ó‰?qÃ+Î]ò@ÕS…Xx¯uÂ¥D}6Oþº@§»Ï—¶í™ê/µf¥:ÅU¾·¿èäÃXˆn[ÿ3ä?‚J3±ÔYÔ$†™ª?1Ä-„ʃ~IðC7«¶Íp·Sü~··IÀÊp݇sžQ?ŒJÓ¤cL³W+ loõ+Y)7Û¥’ÙK!7¾¾Ò òÓ†„â…?ÓUÞ?ÕR¡PA a=­ü½ É*pÖ¶Þ‰?©ÂR*¼újA:\]Ÿ«0æµCŸ°‰»“yR¢¡»ÑVŠhÝ´¢?w¶x¦ØŒþ‹±Â]Qq#2¿FX¼;ˆ I½{FJ¾¨g…¤3ÝN¬…t–OI{*iòÃbcÎYÉ™ÜÛ®—²#)|%DÜÑ{Œ¬ZgÕÂÖS½‚ë´8ÛöOPc°‰ÝÞºQ”Ç¥y*ãW ¼ì}DØX`Ý] ¢l^™€µ”~Åj”@zpoí¸34Ty™àŽáG}†^sw&ôÉaÄÐ ?˜áE# ÁßÃ`©Åº¹v Dç)Ü—ÅqqÌœ_– ¾÷•].¶UûQ‚ÊÏùðÃHXô:’›žÖÕ›gä˜*òŵ¹ ëÃ4‚1´ã‹·{a¸ï_Ýo Û)xY¢:v6ÎÔ}eÁYe45ÿöG¹1Ž_¬¥|é”O šÐè3¢n¹ÒL.Ëñ ™—çþÌq﹥¿¥êMB›M´ÈñóB¬mn®Ä6µO-Ÿ›sß݇™„G.Í×ý†‹"3®œ@ÿ ˆí¥ûË"ñV¨nv³­ƒñ,Zi(ºð2vZ³{¹i‹®’qÐ)ð (u£Â'RN°³è›îòâCeé6_ ^œS}"rÍð Aó rvÙÆÆ†‰(9¹2Zrfè=¦+úƒaU b.`k"1)0>¼‹k8Óo Š0n#VW{×ÈŽÜG‘'¢³iúdëÈM|r½{–^ó³5u7Œ8p̱­H  ]©XY¯¬æ‡©°5xœÍ¡åLý°*å$Ú·t‚óíÇ”<òc«ñ*¤ðâû—îì4}=—& þà(^q[8x3É@B·8û™ûMñìNñæþcº³‡ÓêiZäó5âž“Š’’ð`Âhd¾è̃J­SX W`¸F4Sêà0(Ùëð`r t\~£ø÷(ŽæÞn<µ²A8 „êÖð!'tûwŸèÙ¶ÑÈ’m>n d²l½ðÍn•ýlyZšGsЦµã½(’[\twJ͔ )í†õ½fÌ?7Ü*,…+`ÆuÕs2‰{Y6ÿ uضa³w¢$„ç€(>Åjn¤^(¼¾šåéúÊ;z¾±舯1˜‰¢ŠH[Üz•C‘Tà«ë´1tL(Yt/ËÛ¬òJ¨6qÿ¨v8‹‡r)àÂåG“e`Þ¿UöÍfý7t ”ÀY‰ŒTÈ|'¸ÇëôG7ß+§ÿCûµ&kå½€ ž®Fœ“löžÛ»”Ÿ8¹9I|dÑ~svj€K-ä6¾æ/£^ÞÛØ•Lo9õÖkdÌŽP¹ôáˆy±‡›Ò3•A‹5ãdzë*ýÂèMîö˜÷d×Ãïc¾K[ÒKŒÈðî’D­£V-baÎæ/;H‡&2îÎ+¦wÆ/z3J.¼%˜&"gÉ»©¬ù²¬×ÉŽáó7Ÿmêó8kõ5ßO'¡Ü‡)K<ì>¸/ùœ[V:ˆ2“nsî«0ôÌRŽª$$Ò¿o®W Ä­6ÀKÌ!ÌV,ïA†¢{2€á¾ˆ{^á¤|B¡k¥µ×AÜÁw9rÇ{¤àéì ßN‰íÆ`ñxVðlˆzd!«`A8ØXy=ÐSÙd:ƒûHQÊE¶ÐI<ï*ØÀŒg:µ#S­Ê­5v¢M:¨i^õ°õÍ„¦ÛxJû©§é¢9ž§œÆöéu"`ŠÃH]!‚‚¾œŽþt˾ð›Þxï 1ó’Ñ7}5Ø'H­JÓÆ:Üog ‡|”öñm‹ZRv» ûž?ä5°ÏɆïÉëñsêSB—´LÑ6¡åTë¯\gѲ¤emSÍû¢ù+Ý4ýNa`˜°ÃÈþÉÀ¾©ßœªXq“î7_²AZ&8óËõÓTú;Ad)Bº=®Ff&–/ë{?c°‘§©nM€ýñFàÊ×(r‘$ÝÑhe?™¡•6¦ÿ?8ÜÍ´5uú…1’Õde»‡ßP`oÙ½¤:N™6½£QïÙ+#Š,¬ùAྂVÝ=¬ÌvZ« /~´±&“ßîÞûáŸÕÄ£jéHþÉpe©­²Œ!K¶^š¿q–ÄmˆöMx`“.¿€?{H( aX SIR–S½Î‹öóê„—í½3]£NYyœ“çl 7¡$– @÷GmdâÝ6•e¶†ÔQ³tï fÄ íøÚùŸxS|}ËòLú#‹™ý` cçŒðŒ¤‚9Ð͵¦õ)¶\H•`Î>bÄ£õþšFi$ˆ.mò1>€³–ÎzBÎÊa c.c³–Uñ豘ÿop<"—ô:Ä °á(i0íw<Ô5YÔ"œå²²*C®â;©ØH¿?yõyaœðóÜú1Ó;K 8®e®1…£a–¸>™Å oçåW0SÏŽ´C'Û"âd›@ù‹ïK£¶J_\/lýIA³®§^êöë&ZÑyš®ƒ|¾:ëb9s²çÀÈÇ%™(˜S×ÅÜŒ’¿[ñÏø±S´»Ý¢æþÈJDZ‚X+Ï)´kʼn«1‡äE » S0pЭ…üâÆ’´‹VdÈÖú¡i,¡ø8giqÜföÝEyÅü³¨ôˆ…ÔN6lý®Ç çÎ,Xˆ Ñ9Ü ¨s]ðª7Kéç É2ï1wëûNy‰[žh]-œët\±$dyíþÛ)×LlµH%;6Î}IÝikuƒŽ‘éùC&Iím¸Ñ¹"s¡+Jï£íïÞ:uë{É «éÖÐdC›m=íÜíd Fhn¬t®/GùË:¨Y²ªÿÝp×3ò¶wïî¯í@û‘P<%Ì{í÷ØA, V'“ˆa¯h C½ ¥Nÿê…¯{±’>ϼ'ªY¨ºôÄŽϨl:,KÅl²äDûþÆé´ÌúxÊæøiLø9’nÐÕô.Ú‹{âJꆩÉŸF¯/BVƒàÂi!äZ»ùWãæÑD¡§]Ú´®#¥¦}E-ÒWÇY›­K–c‚󢬖  d­ÕÌ= øb±Ëëˆï0åªïä ¶ôíF¨éãåY¨g×xÌvÌéT*˰D&{Ѐô›n°@Ib ° ù‘èYSíu‘ŸhÛª‡‹j>ÅËzª}œxž¥ŒºiN .NÿÂý^/&®!eT‚|›ÈvçHÀ£ÎtyA=õ…:¿“<‰mB¡ðûþ²±'CŠR,Ù"¤2ôXÄÑj>?kBˆÅ+£ ú";cødä½ÁôùvèvÃæØ„™ÆdgÈ·ÞEVœ¯¼a[Žm]üŒQ®Ãë­œ9 ”1Ò4ž|€2§îgÃQ¡¾Š×g C;äå†Î6AbßÀçåhÏÌ)ÊÈ?äºXî`6é7ÀZ°)}üO¦E–\g«SmdvÆ]Ë+üv{D:ož6§•ìÈâùÆ7Ÿ;™ÝÆìËzŸu^\ª¹ôW “dôZeY%Y_q“,™h¥äìV¸Ÿ€êÒVÄ'suéJ»°b3z'{zŸ#b?õ~-ðcÅ&o¬¶yŒ+†šü µ(%ïÖSj5-›ª&2—TŽåÓÆs§Z´+ñ¥%ñq\Ó Ü§½eÖ2ÿw×mi›*-1Ä8ò÷õG˜Z¡4>‹fC*òòg~®c¯i‹Jmíí͇ûMpç Ûr©ƒ &é¢à©0“ÕñQ‰y•bRê1 sÅìÖKÔEeb—WA¨öûékàè ­ü«,ÎÁ»!!)êX6–¬S+ݱds’“œ QRílT™cãw˜m˜€|„æ!›r/¡ìÔõáл˜—ç“°:wKŠÙŸ'u]ZÌ:”¬ò‡WÀ&ú4L}áMÀ¬-ÏØ) Ï–~Î^q€ýK¯ ?yågúHL3ý«‘9C³Çù‡‰?¤††èB‰Yš…‹ÇÑ_¾Å¼ïáû…à¾Vm5q»ž«aIuA ˆo˜4Dg&é"YÆÒþJû¿ þFoJ„Bƒ/A 3mffäk*¼Ÿ«²kÇqÂèŸaåžo.֦ݩZòí¨Zò¡f´n†H= ®o<%ý*Û',ßR/Æã)5÷uè¦û—Ù7©jp¸ÖOc¥i™@Á2‹i£øç豺»VK{®ÖHŒ, ]Å(&\ õcð…‰V†4€fÛD¬ º,Tr*F’C‰ Ð:OyŒDÈþ'o„+0Eúû‚¦:1¾?3Rì5ëàÙ˜æþµˆŒV]V‹@öœ¯p.P^1«žÃÚ¤BR&¬ðþ€„Ÿ¬vêê¯î /°ÊŸp&u¿½S h¦¡­ºÇØË¶þ¾† Ê½ý?¦µz»­À¯±á  ³Êm©€—6'òá†Í°/ÍC `‹ÐˆHd1Œ»¦$~4¥eýþ—úàY´d†—7 #)ÔÇÇ$áø¢Êበ"iQûY î‹nV³~»Ã´^[N©’5¾Ûf}kY>…žG®>LíkþŸ¾‹Ôêç­Ô-¶3‰ÇtY\Žû—lÛVd£9ûS=.‹ì;Lº›Ö³2Õú/Ýv³Æ¡8{gêÄ4Ãïß.%{2“Áe4Cfá}d̾ž«“Ip’Xݹ3¶ìµO«ãåR߆‚GÔP!lð€–<…£¥¡üßç÷·/kBAD\K‘¤šÂCÂp[§ª*×b„À2ôò>¦ßÔ¬chÀ(üÏÕE÷ æw"¦]4™In–H<•ƒ'w¦uÖ’g "ZO•¸SxÌ™Æ; *!“Z•—&»?ºÂæ¨NˆG-CàK©h4ôÐk㦑µ­7_± ùK5Qy˜sXÞ6¹¯êª.“èÄÄ-êÙÇ2§érôXÑA韕Gc‹2ãoUf&ñ6ÕîM‚ -É;:uotIœå/*ε¨{F`žtˆLÏa1Løô°T k·éÚÕ»B¾nm/‘”êÁ¹yKf1É‚`ßFGúc*>Q¹¦ðä™+ö"8ya6OÝb#ï (kàôîç+²ø3·öR6ãÀM®¾ìEÂþ¦¡odµ?Û÷ŸÚk!u¼ÌÃYþ²z©‡Ž3@ˆÒ@|‚­=/Ù,_ž¡&9¹èÈ9Œµ ä|oUD@ÛíD˜¯cì~ªÃ„ðÕ1é.ka§ pbÆ¡C+)ís±Ã†»ÛаÔ-Lƒ–™HT¨GšoÃp«= x]öÁ]å 4kµŽ÷R„|pO½¥~‡2£3³²§ŠFøbP¨(ª\_ùLJ3V‡í‘»–9Š´jß¡¥TÚzu;”PÊð#ÕžkŠZ­Ó•Ћj’7»Ä?U&“S¡Õ|Äø¸TŒ(G±ÿ—¬íïæüåMQðذ\30躸¹ÓÃü- éjé»UìáYÈ„÷›÷NU°òIÝ_Ì‘qÍPýÚÞ6_W7Ãü_Mlî­ Oä´MðÃ^„‚­=«ó¥dˆJ'Ù$ƒYâBøZx¾/Ù«&éêìuíæ®ç“Ÿ@·ëg”l3‹d˜†àƒæYŠïÌ'CöG 9,½EtMÙÔf¦Ä!ºÇ×® ÇÆðò¶™NÂG˜z WÕš÷$´îFëo¸lŸ’P­›²°'qE½ÅÇÕ¿¨í8ÊWˆbÏßö -POxÀiÿ$ÀÔ“-ž5ø^>n¬fN¤1„a¦º{Ù|LªÍú07O;6ßL\,ˆ·6‚y—ñ«ƒØ¸~6K×/•âý{=*Ç“ébjší± ]Xå BxÜü"ŸÌÝQ墲)u9Ó€dB2 Þmº¾UOwúE2}P3b"< öÜÀï—Óå&ã®æ»Oökš-Ê‚é¤d,ë<£6!d]8ɉ¯½‹1½*ÀØ ©Îs'yíœÈ>-¨µ^zÁ QÁöfóvËÒûô¿#‚øê4²AÓö6t·VFS/á ½Y@ùÖðVeEÇ„þéÁÀ°ËÛs¥Ö‘ˆÑoû¨þÚã²@¸·ªA\2dÜ}vž1t½2Îx<¯±?ùRóÊÝq$/j‚ž˜âà9Y–+ Ø?+¹¤Î(ˆ£êš4ºÚÃáôô™º%H7 céÁž I úê’ýÑŸ <àEç•k·¦«Xë.îS÷þ ¦ïVÓi^gø$Rþ2H &S©8Ù7 ®Øé£¼»êÂLâ<ï/^Í!÷2æ•·ÉKÁkq¯®åÜ;?AÛjÎ;Y5œ †ZÈ-"÷  ÔctV`š èúºKÖ¤½1¤AyáE2Ÿå*ŠçXÌËe]ƱzQP áÆIx() í‹c ÎX<Ë ?h/¸Ž.ãT‰mL8tð´¡« $¾NrEþ¢gr ðgÓIÉÚ¿b¨toÇ^Ô»aXèŠA¾´kü–êáu“†t~tüýæÜý2~E7б_høsã÷ o²Hïf€Ñ¾€Ð ÷ÄšÂùb]åØºÂ4i­X‰-ŠBšË`+)Ç¢A£‹lÝ$fnªˆÊ;jlÍ*‹)vË¢4É•%¿ 7…©ðàpÔ¯ä´Î¸@RòpBä[å‰ÁxÈî!±ÀX årÁšŠ1¢Ü3 ïÖ4¦‘¼êÚ„-Ö¢³©¨0±WD#XÓwPßIÜâÃ)»ð4&uo;ï9HuU‰ò|óDHûA÷ †.] ŸŽØ?PnJzá1¬~Æ.ÃŒ"Ž:ŽG‡Ðã9}}‘6jR£eS× …E28µÅ9Df¢ü^íìYÇ‚þm/å…7Z°§9,¶„Š]2¡¨üø‘”y_¾ŠºNs'“Ú@yÆîYp œ$áXefp®TM[puy2ƒG³ïÎfˆX6D»®V§ ß˜æcÔ0Ö3N=Jº@mH©åJC~/L¿*óIb0µ5ÖÚ^±´j«[ ÖÍ-åzÆ.®g+¿E•ÃË£4Ýë±BDŽÑkë^^ PM…b,ögK‚ÉðÑ¢¢ó¬Hc¶u~ D2ÁÎþ¨FCÓ!Ýw ª,`7LaKL§àÌ#üµÓå9×] äxê?·,³BEô°×r.7l@—{›bTÓ9ç¾&­"ï  ösKÏ;@Å‚Ÿ Dt£øãê«R®Ûƒ%õg‡íÝ/ñHW¢Üý³ÔäúÁ_ùO¯ÎÉpÌàH0û½†Þ“"Ž÷žoàê+dºTÜ^I>$z0½—Ã*îÛùTkfŽw#´ÈPuíA#¦0È_”ê“V›YDUB›táÆï¬@ÖPOeît}S±g[÷‹ësøýÕOãsÑã]O?÷C~'ž úî„÷¨ã¤v91Ãn<"Ô;Çp}å$Ëkv ÒCõ[ñ„ç̃‰ D×$PoÇ=°«‚Œ@PÕ0+ÁLšLwøë8,+µ#‚—£“8e²£µ vÆž_GüÑÕºvÇ£¯~ÈNöŽÀÒ ú _ÄÃs9Æðó›gîß/ô`íi ‚eh÷PÁûñ»M/›PIÇiñÅêpÖ~åCíÉÒ£•I‡\Þ»÷W ’\ZhÌFœiw68–o£Œ@ô çÚàpäbDUÉòÒ®Qf‘ôEÍ7ÀdIMo´¡µqZZœÈ Çï …„”¥Â¥hb)m׈K,@í6c¢+Ï$&Ý5§Û‘~roáyùÁª›Ð,æ$ú,Ó`™…¹‡=Uƒ1zA™ÈŒ1JF£VìÔo¿æTèe¶'J Ef:Ã.[Ì’LÄö9õñ¬A_W†~ “þͨ%y™Y&¶1w|$ùŠžJØCVÁ+óñ4€xp•þ@¼œ?ßg4$€£Ç†àú–3Ÿ5”컊Û4y~´P°8K$”ŒJ›PRQa_ci’ ›g€²_èJeµÉ1ØKúϹ!“qövÿõnc¼â8BÕ÷Lojê7’FCÑn¦åo\ÎÛJMØ ¶ü›É‹%ppÃEÑUÙ31TC¹¿™¤êß63¥d6êØ9Å>8ëÿ+æ+°-•^\¾0»ô†ÓœÞ†j—ó‡:7Ó+X¤ŒÿÿÌñŸ‹ àÊ=&ç—[þ°Ó¿N­¸dÂŒ®Š{ :£'†©ñ Ã9ÓmɰÚ0þ°>moŸjƒ×ºÃ/_PgWVÓ¿fãªRÖŒ’2Ðüf±ôkpH¡šÅI¥&£ätfŽ2)½gÒFæyßcÌ}ú‚Ü8Ú#e‘„üÛL½ѱòŸUŠÒ¦›C.ήںÐ;´¬ú_ï…O—ø1Pc¿s¯â=Þ)¬Ùî/ÖðoÇþ$ÆôÝÀ4N[äqeÄïr 8ý°LHã£~‹ùž_‹ý>50-TYժɯ;kK5]4.±+%ÚhVçå20ƒj|^æ[cC ].ͳ-9~sotA¼Úà‰ÿc`øE”žÂ6!+¸]{OM*ÿE·ýÌÙ5ƒp¼F“ÖW òëŽ.¶>€(¬9­‰!0±€˜§RÊOCFâh½í*"š\)qZ©´‚’æp"‚t‘œ‹.ÐÎÒÚ¬ie¦íÑu¦\˜]È0Ì–…šskõòæ{¤ñÛð ËkÕsÙõa"Y\ž¢9ä«¿‹تF¨f*éÙ*—ˆÒà”˜QŽ8·'ÀðÔž;è~*#bVyãÛÔ£bC„×6UÝùZ‡ îÏÈ}çúñ?Ó²½@rD--J¶ 2¶É8³`j„4¢ {½¢d„"· êOÜè–Õ9®òØQžûª‰.š"àûJGX¡àaì?gJNsrW›;’Ñ Ù—oŸ-LÜÞ£~¿ÕøöÇ2,™Îj(@`7°J“¤i¹õ€L},ìôe@Ÿ†âVÊÃ㈵€1„žã‚j²Na\‡¹ç±Ï•kû+všá›É¬vüôg€€kaÔNâbûÚמ«É¶{%7fHX–"à;)2©6Ⱥ‰\u8Hô>gÇþ¿wn§7U%öàèShz Tü¡¿‚ÁœTäv‚Sd«èjÍÅáA×êšÞõ+kŽÙ³]ÚÅ¥ÿê4z%Eªêo–ZZ×f{ÙpÏWm}£}ÊéYŸ/÷¨’Y§GýBDr‹¼Í>¸Ëûµ,78ºZ ¤†ø/ŸG[pÐŒªt¾ÎÓ— wŸ¯ò iƒ|¶öYàç@Þô—ô¼\5COÔ 8zÐvÄgM<*¤*Ð2t††Cæ9Ù(ö4‚WH­„½’b)-Ij‡1ÖÅ.56v6í¾õ]±Ë)A‡[Éñ 3cÍ:ú&ßGθ7P‹? ªÝçöR£Ev€Ù¬Œm¼'…ºœWæØH^A‹šYU½?‰¶ÑT†½pPn‹o­iç͇Odf¸üD¼bœƒè* "Ÿ+vPë½Ú{€z?9Î?ÆçŒ¦ìÁ÷ÁFØ’ÉÄ|Z³"¼ð øþ+½U$Že¯ÁºÈœ3ößç9¨õâ:ý‘Dð’ïa ¶™pgüòÎ „Z=ð1ôÓ\¬£MAåÑ“o0j„}.çZ%Uî8Cp,|ÊÙ:÷ux3Öåýb^׊ßÞÚãs< 8’ÜCKžàò“eÀ<ÛÍ©–·?ûú}l´¼Þ=!·Õ’`æÍš,3å#É5çÆr÷bq¤#ªfä*XŸpGÚ}þ ¶õ¦$3#f«óÍœ]­Çç쥾Ö\DX5Ž7bÐ2¢Dš«ár—0¢ËÏ¿‘°n‡Ú:ãna4Ít†2±ŸÓzéÚu5,´ÍÉ·Œ?q½w¦§"ê^ÜN{yð%¢Èôëäü ÁL3 Ò¾u‹ ÁäÝĵá4™Çð…wcÁ%pD>aÞòX†¸K&«Å>á“pÜÎ,…4-I¥=ièH§lÊ Œú³kïÃ(éôãš-ØýÙUiü—,ìà?sæ{O,¿~ÞÞÛ †–(PðMÞ@å•ÛÈõ.–ú]ù(N|Äïy ïX=M»k½`ýgË”/,IÅ<Ï=1Ë'³ô\ÅÀª3éª Vt5ÌþðÓ«îÅwäK’£?½Ç6aáãµO袂Ò„OªtDIÝÊjúI=¡Æ– çí÷"‘M‚åyÑ$²'ÚBÿ:Ô_‚Ÿ$‰ßExÏ}ÕÂéïÃ…óÚõÁ د‹ îV–€—:h–«Pê° +k’U"?˜àÖ^MŠủÈeÓ;nà­R£½‹µŽËXÒ¦}@%s <Þj¹]ÙIC=d ?ü$ÑD’œÕHŸSÛ˜€ïkÉjCcg–1³äBnñcÏäóS-Î×:ãßP¹„Ï—éê\æ~W•áÑGQùÆd%߃ŒèeÕèËâ÷ÀÅu¦VŸèËùŽÆcçqU¥¥bÓ©‡-Yšl³¬2 ‹}°1:)Ôñ-˜,¼’î>cîeHæ0Š÷›Ñkð=ë²[¥ÒÙ‡°È¯ÿgÊbÄ‹51¥ZX×j×SÛGN¸Å¦–[Í õmå!POc¢œ~øˆ¼Å-½øH1m‚ÿ!~šWnPU_2U‚³ð{y=(ù J ?¥YZˆ¸²/ó¡(&0_fÑFT×sxHM?&ý1tµP‘ªâͼ°ÑXy¦RÎ_@ÏWÓðQ%=àÏ,Q³AÞÿ$9NIñzË“>ƒVXóÊ,}Dø®.^¢’n ,(Œ‚Ï*Xïv U3¼Ã‚ôvæÌ;P/áöè%µÐDAX³Ž×T@4Pp7{˜Œt„Ì#'¿_ øY„“ô6…ô‹ù}_sâú %¡PµÚ&íá‡ZYÚ`×Ý ìf$x–u©zøØ;Ö\‘Ž-E‘Á·yxéŽíòp¨q˜#P^*Èôÿ“xuUÿX>ÆM#E;u≠WÊŠËeH*¥— `6Uúb¶{>ÐPŸÈ¥ÿS÷À¦áÍèd˜òð{õkS%×.´­¸!?¾~< 7-³×O•(öeCÕÁ4_y§ü\¶{˜"÷µnaϲ“½¬VjÛû„Ž¥:Åv„_ŠæÑ“ö¸ƒ5—`ÓŒgãÐ_±ùõ„.ŒÀ´«MãeJW¦ûëÆ®òš¤–D3ü°^,ä$ÄçÍ £Ç»Ç'ý1x§Ë=ÎBŸ?þ‡T»Ç+ˆU2;oÚmõvÍ×¢hçPFLâÃõ4o‹ùÙjo;ñ)¡þ‘ÚCˆ˜1r6ß«]Ý$Ô–ÄyΜXQ`xž¶ëºsC>Ç‘¦?U†”bðlvÝòvë›,…éª?¯ä1ýI·qó¶z1N¸&ÐL~(Szç®V®T“!ôBkT ³áô@¶D|“£K%e@ÞWôZm*ʆÃÑ“ÄÌÀ²aÞ…Þ¶k0î}!}XÙǪ6ÿXþؽIáÙWÌú5koËÚoò/åÛLÕ’,&“ éÂ-P6%”uÕ*4†Û9®§ P4yè^³¿IL’[‡8Òe©.Ôà «±ã% âû7wµ.ÀÖ Ñ¶¹ Ž–ÅE Ýl‘¡s ˆ AÞÿÏ_ÉÆ2ØÃ±œëȳ•‡åé$ lWOëý×m‰/¥Å)RpŽ3·ÔŠ’QØNÆgÓJW†KÉj<òÿ®UXei\ÌŽá§ÍÀp,µKaksé°ô±Žõ¥#»HÃo~h0sÍüˆÌ[ç¥Ø'ö9„?JŸaø÷šdtf”·FÎ f õÖg³šÐÖt–¦9¥/*âŽzÌ^ú¦¦L*lPGíxoVølQßÍe ïsYy‡Äû«´æu@ñ0NÛápp 6£nôÂv%л<,cæY¥>Œ¹ì….θìe/OBÚ’©´}>ñÅ( «á'/â-]°¨Ñ1å›ðúòFs½\ñÖ-xùæÄ@+êœî–Þ¨7ô!Øûªßf¢ImR¹ÎÈ#ƒãÛG”¦d%8GêF&J:':¤éJï Ê™UÉîE¹¢â™ÚÇzw'û¸¿ÔƒG@ËgMß<¦·iV5ß° Ûv#¥§Ëƒ^…6)üÅHìêŒN1†ui§Z|øîÓK¸›dHj ós’ÿ£›?†¯xGRó­£àü4ÔN¾^¡TšÙè (¾Ï!¯õ×D~ë>y¯ÊÈ{Cé¦å±åÇçarKy œ¯Ÿæ%ÎrõŽŠbðœÓYÄ2¬â‰ïW(”ãá7J,DäÔó nûz |z-~*ó5¹;’ý—c/öhSáÔ+eg%ŸXUBf7Ÿ ¶ŒüìÁmèœø³p@ªNìÛ:¯£qïspÆ7pEtÝ”T>Mj|žYóYëÁŒBŽˆ·nÆš¬¨è|Þ\K9õ:nðùNÐŒ÷åø%­lþ g×tÏ-áô67sL„¨ýǧ„p¦›$n}n¯Ny´£^X±Zþ¥Œ(1 ²ÌH;´µê¦(På,½ç#Ósõh2CžEEïø‹¨ºè4¿x¤æ0y6ŠcK Ô¾·x2O6mذ[ºu¶ Dú€·2¦À>³E°-ÁÍ¿xDM‡®çef/(û,Q &1«Í¤©;Ëóç™J¶ÜÛçX dvšøÒ­(•üÔ+Hàl#üM už/VÚê¦ ŒPÄ1–z€ä½4a`–}økˆwЂ7­o¬;ÅGn­êú÷wP”©[‡>S7§)PËÀô^n|—<öhÙã´\ yàÐcdcÑ@ ì(.€9.€~€^èÔ~¦Žw%MÏ¿ª­ÿƒ1ÕObjÙQ0MøÊ9á³ìù”1¾Hwpjî¤ú&`37nsñÏ¢B¦<|·IP¦Ž;P§"–Öíñ=í{ˆÞâÎ÷eP÷3º‡úÊë¢öâEu0¹`Ê6Lõçn)N–F«xª6¸Þ5¶ü.?l˜Íy‚ér(¥àãšo&l ÏÞ×,”ï`ÇßöÔvñ¥FP»IuºæßŽAýÍŽËI*gxò¿I~Œ¤ðF  ý·ôÆO\s7W ÈWÌ©sR>eÖÂe.N­1`¸·ÉQkz¡…Ÿ´ƒ.2@be¾®_òšOÅÿ{Ü8MIlëL@GÈáýÔn}ꄇˆË2i˜¸+ Úá¨ãÿ@B»ì‘2 ò*MõqxìL+Ì#Õ‰ g#9Gmÿ>ÍàºU7¹L¹®·v‡Â,uü°ü]å¢DÃA¥,šäK"òᬗn´¤K¸ÔÔ<”Ó¼EÁXpŠ©=sEžûØÈDÈý÷~[Ìñ×ÿjm~¯Ÿ•!¾Ãú³Â‰~ Çëø:ì†Îg/`Ær¶¼3PÃXË6€ÿ“È„£ðøå1Á°à»:lŽŠ¾ ²ÝM )ŠDãÃvbØð¸Ñåòüø†L3ÔD×1p)Xu;Vyš"Ë!ýøj.éM;(ÁÏ],}Öv·èŽ]0ÞÚ?ë°9ÆE7ÿs;×ÝInç>„çWõ)V»4D–KGùaÛïò'Ý©¢‡ŸSü½ßÅâddý'Èóxõ›R+ŽK~°ªH€®G&ßY7¦æèîÏZ :ŒŸlQ°– rm½¢ð¯Ã"¼él¼ÅÊÖóælr±#&ºGgQ4Ö$²ÒŸL=uÆüê PɉjW}Mi5#.ìlp³Ðù{ÉRKgš$hÃJîÜŠm[‚¦ ½lœÉk&A³/‚q[fÅ8; ݸ!z©RßÄ»¸Zp€íààzÔ~]F þ×¥ýv]( Ë™¼«*¼ç k·»g ¥0½âó•îÖq–ö"-µÇ@ýdÀmF)Ä.‘ÊK^…Ñý¶ÖN§m“S˜ÈgQ‹wâçáÇEïúa~í¦Nå^Lÿazq ºVÒ CVh%OÅ^uFV¡Ä"š Í’ùÌâ­¡'œ_ê #6SÌÖ€…xk1Hˆ˜íMéÃ11dDl¯÷;F^CüÚh?ø^ìc¹&˜8¿\7\܇¿¸³Vž„®dºÄ>¿_ìpÓñ¬â…+´ Úõñ ò ȸ%¬ó›•^»—”GrqRDR7¹<¿4 ¸k:ÒbVqø ¢aÌTù{僉Šsvlþ,ÖÛM*v Wd2ý³ ÿeHI³êùÏ;Ø™ûnÂc‚‘^#1ïIާ¨¼Âîuõ~þÀm–ÎÙ %¬õUÔª=V+sl¼Ó9=vguÄý²É"bFÅ$Þ?Ì×å¡ÎǨ9€ÈU ZÖÏÉNßïûo7é%›6g› š2Ž M4ZÝïP «±.TÆ1ôêZªy˜}™WàÐmMJ[ýmjt=ñNÇ{³¿Žöü%vâC…Eý ®þ¢¾ƒ½ÕÕ×7â‰ñÐŒMmus¯3_žg)uµÇh‘h(ˆí#¾(ÑQjsÑgb‚KÎ\"¥¯Þ{ñXýì·.ÃüÔ£áª×aƒt¾·µëxg¬›ö”ʆ7ÚÐÛ¾®0ÜxŠJ»¼à×­e–žþE }ßšNjâì@¢^l¶8_LQÁõCΫ¡Ûš'^.Žò1þyŒs=vá®ïëìÒev»¯Å%²13‘QƺwêHÏÝ,ðg *ʃ`Žî& úªÃ„ bó†ùŒ‰»!«jñ&Ç[×è èÕxoŽåa‚hí¾h¸ÅÜzîtÞr-'ZèææŠ˜7 ÿ”ß”øKá‹_¯a^rÃAU%µÕ N’ç´_†f0 „uUµ+˜ž¢9%‡@0i ¥KèG|uW¼ïk i£èaOÈ©”˜澜HñYQOgÎ]qéW¤íå¿,š“EÞÀ,NVù 7™ùT–2pÜD¿O­©‡?™jɸ6ª«‰6‡ã«¸œ´ÛQë+¯²îòŒª&#<)YßÄ€f‚ é…#¶BçOÁÏÇ5O¤dOo&*xaÓ i¼ÀÓ}ÄmN'F@"­C‡EÚÁêyQ±|9ÎQãe†7Ó–¶g×ÔAf¬ùhŠÉm‰ çBÅK§>ˆÌÑ‚ ê´é;ëp.@wQ:“w’@€WüÖ(wÆôö‹VhÞ¬[ÃÀPãäE?+-GKЏA3/þ¥û;Â?ÞòÏì‚§ÈòÛ†ãÿ4ÆÕ¹yø©¨RÚšk2JÄpl•t,‹ø~‹†måq§M]4»]Ÿ Òná®B2ÍXÒîV[ÉýŒáZ¾-–CÉý5Ý_B¾'³Í³RrûIí„TŽþóB)±Ëdˆ~&‹§ÁÁlв8>£ÿÄœÁÇW«ø§â³B\Ê?­†^Žæÿ¸ZSÑ;:wšç÷@žl”î3°Ïúoæk·–¾ƒá´LÚ¤÷5ìQ ÷yÅÍXÙÅë39znPkª´ßœ†w©;}='“wÇá­ôËay‰ )íͯ›Pè>2£eïËïYÆ Ѭµv=mÓ‹ËX-™W·L‘ÝlóÆmv©¸“¢Ôó+BŪ;23’% \ˆ——Ø%`7)ú\öYü©NÿȼgÀ\¼šÔAA*tã-ÁµP ¸jŠëñ‚§K KQb„ÇÿüxFiÍŸYvè’×´ˆ:Ï8ÍlNÈ1G¡w›x,Ç8NÉÖÐA֎Я<]‡ ÂQ@àD bPÛtÒ³ØÐáÝÆýG‹uŠÇ*SXÂÔ-†\£ó±b°H-[ø9wÛÌ»]g¢¤ Ô#Žón“©ÁÑ"®T£]éçÆ —kP%+¾c¯ znXHdQ‚°£cào/Ö'GáráË riºþÉ©BÆíÍ–¼pxWŽyq¾dÌs< g\hÏvL÷Û„x&Þ+µ<}ž…Fb8ÎÂdL×Ù¤†‘²ê~û|‚w¨”wAÈMlwÔÄL«™WÏÎgž\=«¨?®õ~±ÿ±=ëþï¹h Fáû8’ªWžå¡PI<—þRõ'Í< !Ó)SÅÒtlA±MgXÃëý¥µyˆn¦¤£Øl¬A™¹´«Ãa[»‚N²&ÌÒ&ãoþhFÝÉ!øC¯$Ìtíð‰¼íìXÚÅJâ¬^cç+…‡&µÍõ¤ßÝhšÏh„ø-£ÝxÈ“äCl*ö3†îxK ®§‘ñ]iѾ‰>k„¢ zŠK­\…¡plVe6ù“V ý›È‡*Ì.¦®u±8/UþßKoöV6ŒnIOR–ÿz̧Ì¢Šø¤®ªÎ!5É&pAtØä ‘^.V…¢DxߥuNZ³² ×Páp–Üá [Å’91Ѿc 8´ã­ lXã¹R@’`§¼Ž¬^-R y)¬kœN}ó¯ÆB­cìldWÒ‚ÃŽ¨>ÉþË*²±ñ£‹:btC$Ì̆n`˜Ü²›‡è{Áf‰ûNÌaúËÁ¶@&úsºD?{èÇ·u {—ô‰Ç(óù.Ô*gÖý?€ó𭜳óÖ7æÂ—‡-¿âó)ç 1у%¥œoÿ`ÿlìê“w"±v±m©¥Ù£[¨å;DEÓØ —‰†oÓࣅÕg|àà0`+¦ÉÎJ|ޝM„¸Ø?v"Ó¡”ì¾U?Õ~+J8‹¤žæCëæ:†O)®´ñ\8IÔˆÚ\Öð_´–!tü…`2ñR¦”áÖ[Êzº~ÄØ¸˜ *&˜6ZטžV£×/œÜi!:ÖBQ™À!>×$BEô¨Ûû,YÁ€» •–yádìñY鎲ƒ¼u8hÂÜ}Ùò HpÃwˆUVV›±ñÉWRfãKj(ÆæZwUÐ3Yµ']âoÛþždו©žÖÊ{ýѹ*‹†zõ¢9•##µ¤ #›Ê6›<æodò»‰tDmÿ hH$`º§[ð1r¬Áóé!f­¥=G›'ÑýNg«¶˜Í<ÐÓš)†æ×ƒI í0Š}k)ûOû¨á |ÜÿÉü\(,Ó!Q©%Ä&s2QÇ·.€(4 k…öO)úG€–h}ŒwtDx.Òûx#|Xõßm”¾ÌAZ9[žküxñ?ŷ╌v¬±)¿d?È¡º‹òBu‹lË_ŸÎ±ýóO·ŽÇõO-[µóÿ#Þ;¢öùÔôg–ÝpV €ë°1šSRó,˜-¿ðèBz€Ú`|ú.ÎM“óÑ‹’µìÆON"Ž…@3r7ú±\uóÇ:ÅåàIÛC¡¬á„ $G‚ó¥ã—“ÒË.‘õ¾AÙeß,µ‡ÖÀΧ&Á¢ÑTÒzÖÈ@ãbãŽJš+4^}ª¬ijÔß,WÒ†½] 5OÆ¿€™¾"¨%ÝŸ+ Só¬4Ôì²ü¢7ƒÐD„OÝ鯕ýáÈö}¨O°zø¢Çˆ–¯îÎHôdq\q `àÆklW„"¿Ò¦)%maêo!Üy¹Ed¤áñÄR”E¥Éó  5ãÙI®Ž¶‹4:5QÇU&Õ+ÕZ|y­ëNdÒsùß z¸´×{*ù~c\œé i\œ5úäÉX' r“¬ —¥Î­4Ä*À f0˜ë…·¿ð«*êF ⪾ÏUÜkÛuƒZl¸gÚî~L•@X’ÒͶuû‡Ù~KºØe”ÉA´«z¥y¾ “ò22ž2dÉñ3˜á˼X R ¦{v½µyß ÿ~G`$=î^yÇYàîaZý.XdK5:”NùóR¿ÏCmÝí$æínô¦Ì,i¬W]2œÔñ6Wiú/aðŸ{†õÞ`©žõòªà“^ü* *8ma§x©Eq“-å€á ‡§LS ù-‡L Õ’¸Èú­Ô\TÄ!£»ªµïÝNp±‘ÝŽÜ¿œ‡øÌ§tG ´îƤܰì{òx×xWÆÜܯ#Ó(ËTs€«0õ! ØQ3ÃvýýV/’Þ{À²ñ‡yÚ>ãÛèŠþ'/zwkŽ(Ÿà (J Ai5;œõ,’'€Žú!x5H-›¢8)“*¢ŸþmWÕ`8²BVrÛGÆU¤ÒìÑdÄ€n:D˜`S[l/Ê6ûeS.„fŠêM7EPŸVʆÄ’Í >o©ß™š%md¹r›múPô–ø_Õòñ ô¿#ÞÆÍËôfYòkb̲AŸ¶ûæ‹@b›Á¤FÀLš]ÐywÜü<Õ³Jäßš†Ð 1…ýõsÒ ADi:Þáo….‚ñ'¢×†Šò³ý %¼Y ÉL-Å.ªØ Á¿÷b?X‘zL¾h·1¯HɆڎ\çí#ä§ùl8’±Šýí!M±¿æÈGîò¾×Ì2ƶ/@Œ•¥ìâÃgEÂÿeþ~2™Bú4i ¹ eE{›RTu~ÒöuIÁÐAh ¾Zçú{Ì}íz[K¥E£k!n›}wÛ\‚·‡•¯e|>e[W„–, ,HÀãŽÔÖ‚<–o@èðÞµ£õ–ͦæÕ’Èx–ô[‡4¿û{í%¸y¶:C‘z»Õ‡¯‰ÂÈ|´²¦‡pí)SaÍi\-"'MڬѱmÒí&è>^0+ "®ÚGU¹ÏN‘ ^ãóFö,p>¤ø6«&6†ôF*='*9ãOü2|¼Ã7GIÎEJ{u³³:ÓœØE«Üp|Dž“ûÙøùš•8뱃ˆ‹M{7NOˆM·ˆªÀÜÓ pôPÉâ¿ ¹Ø{rÌq ñÌKß'S=þ‘-Ò*“P!T‘öxMZûÓ®±ê½Ž%æöÝ Œ*õL:Þ•ç¼ð¤Bm€ÚgzRYþt]Ì~žSû6?×dô)ÆÝ·Þ#TL/|puVhÞ¿½Î¼í›¸ ¯Mõ^æ’϶•mÈ¥@rЉ$ŽlðCøÌÁY–4vþ¢ ŠU™Ìž°ªfmá®*Ƨ×ZCK Ù’A(Ðri¹Óåüç{ÃNíë’Ë´- %"HÚºˆæÚHŒT"†mÜs![M¥¹Î- ùb5P-ÚÒßèùÍž€\P§ÖXÐJíë×7x3 "qr"+—ÒÓíXSñkFßܘ\¡ZùÛþü¤}$Mp{÷å+´ ­¶†—9žO{®ÑöVA‹jZf¥Ñþ‘¥… ' ëK ëŠÞL™¨‚bAû¬n<‚4õþæ¹€Ê$ç¥L-:S0}ç@nh£ÉêŽ"ÛRÐ Õx3”Ü.?nKŠÁiŸw0Ú:d—… ž^!î×UàÌç·™`iý¼Çt¨;’xïS G¿QÕí¢iqì²ÓC”‰uÃ%ÑÂò¼x±Àö} ý­Þ_W$M=4Êë‰/)J,Gñ[Ò><1ÏÚ¾Þî^hT ¶0‹ÀY.žgVAª~N Dµp%ÿ|dc~/g0< ²$Ãsˆ«’“Ĩ_Éì—‘3¢Q⦬­)e,ìö[8Õ6ò½•òü¹ß 0O¬¼ÅܬÖ¡ø4/«tÜÓþ2,ëéÝŠ¡H®l¯Ë‹$ äŽRSiäf3µyJÞ–OëÂÛ@ºœõeGöZl–çMS0’W¶'Ð=Ì‘h•æUãàÓAÌšXo¼oÁ¡L9Ï(n ’Ú˜_)Á)}iI˜ïj¬ý^/æ>6ñœÀ4c>Y9ry÷»‰õ@g´´QÉeæ¯ãY·(Ä­îiGÇÐ'± 6бÅm- ×ÿIJ×fâŠQ·Ííð.xLê‘à ’BÓ%Xy~¼sw=‡Z@¯…•*ZšÄaè4&Èe¿åp§¢ñѶhi¤.sú7Y\‘+ö•–@‚hªä%ƒýÍ¢_‡‘’Úâç¨Çü-ø?&F_€1Vh­ð¹ð%íò¿2eaOßß#^sÅi…Q#„RŸyîÇAO®È•ôQ£rJ¹Øäbì Ð~û\ôž¤Úª¾»M›%^¼è~:ÛM]P¼ç•¥˜i%ùóT¬ Íÿi»`4ØùëÙ¤<6k¼W M]2ë[€îðÆÓ|L­Ñ[ z¶Ÿá5sÞ9­­MqÍlXª^`•î¢x¡ ‹ }o5Û Ä6qáØõZÈ>T§\åaú €%ù‹­õa¿4˜…2)t'ÿ2"n´¬{ŽHÀ(q˜]j®HµÎ4¹k´º;dë¾G’È@›6]M1yš”pCn=¦Ü‰mÜ?5›`Ôÿîcä [’ÇÛ)°ÛÉãÁÆÞ‘¯{—®’íÒß'-ÈU{ÉØàiÜ_©K _”tém¡5‰õ <ÐýI±iº÷¹& íývG¥é ònh h‰¥¼µaW»WZ¾ªÆ¾æwwŠP@Ck¹ú ü‹0,Þ_9÷‚A¨U|/á(ÕÚÖn7A »`þŠQ~ah¯Ž3£m‹ZÔ@»¨dYF˜¡ƒ4SÇO#ƒòØÓQ8ßÛúpŸ˜ßq•5¹o רº\Ð Iho†®Y†j& ç4–åó¶D¹[âa)›ïD6UäÆå‘ºº®°Hußê^æL3©?Ám|d—D3qð I”Ž;ü¶”d‹/UÎC'@â ÃM'„¸R~¸vKyu¡#ÀT¤nµ#[ˆ¼bšÆ#1«“ÀÆ'\~ŒŽtŸô)Úê]…zº¶bò¤·÷ÕýÛü»L M«x\ °»Zwºµ…Í7Vó³þµ®ïÏ—r odªÁ‡; íµ5¯{à…Û{=-dœòÒä«g0{Þé¼{r¯.t±öô·¶Òn-¬üÿ—X1àkÍ6>ö³ÊÒÃ&éØõ\³=êÎáZr£ÿŸó¹Œ"Ò¯QÀYo ([¨2Ý9ðÄÞ ~ô8°¡r±ÓÍÿZ{Aq"D£Ç`ªâ ±ZN`ÌÍR5„¬Þtª°¨3-c§Ú ^wÝiŶ<ßÂD’‚uMÁÀׇ+~Û2-q#L¿Dë"$¤¢ý˜{aAgxO·‘ª2†I„—ŽÉ· ½àbJ×i¤ v¬Hv‰ñ×Õ6Ž«Ù_í,%˜«ÆÔ,Ð,P™6µåú/&îÈqÓs*\5\§Ñß2NKÈ‚ÞpÑûÄÌüe•Qò½LÝ­²W§þYÁ=”‹ƒ×¹º!?e±z—tz­ÄDSB„ÿ.n)¼óŸ·3{¸ûýȪ¼ÅwpôÒ‹Ÿ5tÊ P//jÿà¹Àˆ{m»jËë¸?­?^:x"k>„‚›²Ó· 8¹) Ì’ZT}ãx«ýMàà•‚>~Ãsª•!¶K5!ôÏ\%åÝæ}IWÍ+&M7zéˆ_™ëÇ'F³ÎÇC%±­íÀ†Ç­5'p²i[>Zwõ1 îd1ÅÄM®\&ópª³Û—ï#ã1€zÉ|˜¾àšÇñs”x…Ë&ÖóMаQ\`°ê´»-ŽQÎüô‹R#“_)HÍ´G®¤Õ'£D+„¤ðÓH’?%ïùžîCÚ _5iJ ëOaCÃwvþò¼ül¶E¤Rø¨òéë¡hÛóMjųø¬6; ùÈñs²©fê0t¾r€ç}W<£™ò—=D.k ùÑqü®ñ‚_âN5i ©o¸}kñÙ8í’µY%û ÜýƒNjàܺÖykìF<ؘ ÀÁ”´ 6@èv)ØËÚª«‰NFÿ -•jPèççÆ©]RëmÓšˆq fÐZ„I\ÀÕàSaU9©ŠËRÉ.kJk>ŒdÚ¢ø°Bö2ñó¢!Â:£Í›¶ÓaàÔX»Œ[ë ™*pa~(1ϳRÞMÍ"ÀÝ¡ix¿±“Üøµ¶L Í¤Â¡ûQ+ó¢'¸^šP¦nƒã^†­Øøagóøˆž².‚Y?Y,NŽ6ÊW±T•Qé%sïí"µWõÇaÈ,©Þ¸E‹À ê‹•ša~ôŒgÕˆ3lôŒ¨ãpzPæcT¦A”œ·œënû¿T\>%;:6L®Ît4±“%c…µ%c½ž«xA¸bD•‚B2ßËŸ˜îò¡…a}Á~‡çÿÊCúg £ÉkA†Îðç-e{H*Ýj¹÷ áYÞŠÍHËÊÅ`uþüî7þŸÔP›ùì…ãØüE!låÛeÕôö|!y³IßJ°QOÝchz²CÍÃ󸌳9èHl#i?ÓÒÉžÃ&ñ›O¤¾2 â\Wx[‚1ùä¾ÝÿqÆÀÙK'fºBÕ­vSà0½ÖJ7 ÃQè÷šÑ[€,ãO«C?,À*šE:Òž`³†FRôaa¯ ô{‹ºF<¯LKÊÆ÷#€«çÞ¾”øWÑ4À1)Ü:(í[yT†¦S/zMpG<ú†€ÅŽ7‹GVâ­Iv¦¨­~ˆPÖ\œ8I3àEž7YÚʨ­–Ê¿…BCd@Ê…pÖDÂh÷Šýu;¤/¿Š= Ô¬ÜÁHUÕ°Õ(úwa“ïЛPg樹Q;›6¦Al.–’XÁŸí]S¾ý‚ˆAùŠ#6¶Rƒè7¯r;_Ð&‡ñ—Y\Lh v˜{3ø"Ö3ˆNûÀÛ Bwµ_´Àz§ã£ ¶YïÍ»~¼Ä*éÔºpRŸe à<‡¬× K,ñÕãòFÙ!ÈjÌ¥ŽkÜÖÐW:’bG›–iÛŸ 5ÓoÔ“V¯Qó—ŠfÅV‰üÍÑãªOFdå…þàö+°&ž¨„äçiÓã«>× ë.µêB‚zÉ )¿ÎËmþšy`‰!7J–ĺ’ïáÄÙŠˆðtF"Þ À†TÜÛ¾9ÿä÷[«8ÙQX„\íæ¤6E½ŒaÉ3úÀå‡~ÿÑùJtòJõ||ÌÏé®’#çK RDFxC»EUGݶ‰MFEœàè ‹;¨óÞåD0­€ðGp´VV32ÝÉÕë;eŸj<(ïÆ(Kóˆq¨lOžÒ•ZNO@>¶`+H›ý»RjyœØZsû-¢äLO7Y‚Õ,ì·Mô8`t}ɹÌ~} öᵞm'G#ÎT³H(¬Œ”$–^ 2&=f›Ç☨ëzaœÎöºú lŠþG¾¹ôPðÝwG¸_ÉNÈç2*ö¶FQ—§ ‡ëv ã1ŠÙ]—1Ÿ5¡n@B$®±ÎÒNؘq$¢…J [¼¼pA›¦½A2ý •W\á1nX?;–af n ­VC##±µt |‘&RÔ!^©Êf«ç}k\·ÙUJ·‰g³˜7þÔ?Û•¢nÐÏ~1…ÊÔ÷ î ž¦§óÙYøvƒSÖ_~+¼üoY¾3é+þÎü£YÃ!ìÛ$%ÌŸå§=lgÐBxšaù7й>5ƒòGbWŒËSêòŠ6¥*¢…`pÌÆg¶›Œç±zæÙ hóá'ZñKמ;$ü^TG Pë~ëhÞê×V|5ð§-÷‘t—ÍhoïII+e/ÚOtÁ%c€·¿õÜÁGÞa5áÁ Ù=VCù $‹0` ¸8?#Ù`¹ÍkDnBø‹´®×Æ9?ăçÙDzbJÛV½{MjeÌï?Ó]Ë^>&I›Ì­3F¾f殸1¿²'šæc3^Î2&¿s~DŽMÄ?âŒÂFsnÚ?õ"C$U¾ÁLcPk38ŒæÛc•4M¼ c-ÄÇ*:WÕ2®‹økû“`zfÞ9ç«…Jâc'3úᡚžó6雞|\|ßKÁ´1+]Ú‚ ªT„>˜›ø2áF TòC%¾•¦–}ôâ“8. ÞZ»yFÅ—Y 7ÃH¾—™ÁiæŸì´„IÓG¥Å Í„ ÀV’‘°4¡¡HAì±2®JºŸ~\t;ðˆŽ&Æ©Óð±§èjàÚ½¼\ Hã¹ ™4Œ8Žkæ>ptN7¬øÍå ªºÁ´<©çòl*ÐûÏo²5DlA'œ³) ¬,¾!kâ‰%ŸZ©NhâD•ß'™<‘Ð7H+µ ñSôWЦašeh©8תëÂÇÄGq\ÕãÓÌRªjBp1ýr´C•nÏCïð^¾®&ý)ìèTH7¼`ñcŽâÚ†ãâBñmuÄ„©î=q=|CêÄ@Fù\2ÍÖÄìW‰/÷Ñ[mÀE‰|ܤîxàwzØ1dR¡ÓbõŒ¨êû]¼JZ3­“~fO\dDyyÝ.¯Èµeåüß<ž6WGwœY…T%¼hOÚ7gtÀƒ †ÿ» ˜øoÈx-ÐRT†NÏŒ‘û*}Þìú—ô™XQ/$~()××;ïÜú±ß– ŒV,s1¦€ #xîKñ®žá!\U`?ÃÀ®Î ‡f×%yÏu£IPwöMî@ÕõøžŸ7µÇ©'ªk»z[õýd㽨¾ª–µú­ õì]2Ù¦‰¦ó2ô0ÈgÔõ9~a²e•áô°Ž@²qzgc졾MÁWæuyuŸ$Ò‡ dh\; þxãÎqü½ÍQ Ô~ƒßC]:Í£»gí‰r8›*-×Ó1ÉÓŒu+Š©ˆÇ\½ ’ N~jl¼¯Ë´Šª1±û—÷[9{| }{Ë:U‹ÚˆŠ«®ˆÑ æ3æáßvå#àöŠ‹­µ¹Kö¿/àd|'¥Dɼ/~NéŒdõTy3 ÙµîUqç`\G( ´)Bhžàwc8Ç®øHÐàJS¯Èý}m—+K—D3"(ÝC ÄÁõ>ödfšNËKòmúz|>ÒÎqÑôëì9^ Ô˜ëÐ H6µÔsË“óÀÞEvóçEW„úâ ÇA€V4+Z7[\A•{q´O®Ô5s™ˆë^å—îà!("­?½ǫ̂VíG| ¨!¥:0Ê•­¡ûXPr0ú¾‡äÆøàÖ]ü`Q£eåÔÊ ˜aUý©Dʘy¶(ÑÉ\=ûNä ˜ÔsÖ=æ‘ ÊŠíª$mÌŽ"4¶mªb{]Ìp|B|3oÄDK¶‚¯i›W9Õ~˜_7¢ï©AX†«×ƒ5Ò]abV&¬m7GÇ¿‡ó_j'Jñ}l§ügMâÎðà|/`ýoÇ%¥áŸrL¢U¼1$¸l¦±HCVÌúw®ýzŸLÚŸ¾çx?äöP»bnYáënïïbÌ45~D:×4«¹í¿ÖiÂÄ{îáy,]çræpíJ xvå’9RŒ#p£5aýGšmß+de»O5m‹ò‡CHìÄôk´V qvå8Mtë ^§Å9;mžSn2™TR!Æ-¡•3‡&Ççd®¿ã‰„±ZÁ9²¥ï¿*Þ%,‰H÷D${9Q¾9 .йkÅÍI°N ¹Ð#óx)ó@¡"x(ÈÉ©á~™|ORSóœx¸g<°[Vg…Š¶Â™È8 Z­XQy“Eô€Sçzp“£½‘Âóª=†tf¾•b ò‰\[Ý2Ñþ{ïÛo}j/²q¦éRóÃr5ž/ÚÈcP›Z’m_{w„b£Îá`& CˆqçæÐ2:›ûø¼‡M²“À=D ºŽ€ì2FD8QÜŒ´Ñm æÇ~sŸÆ¿¥!Fn')”2S¬qKY¿Ö§}¿$¾Ù_2hLbj¸hçËr¥Pes´Í) ajßT`ïvÃoå…e߆‰k€RóÜ. ”Jž&=üƒF.¨!FçÉ¥GÝ@3¦›YmD•®e¦HÌq†…soÈ{Æ^·_ ?ºzæÐb~F'äõ¤,|¶AK|…±5zA¸ÊÃIÕ襃e—Øxp˜åõ]‹Yu? ‰¶mWò{•±J¼Ôí|ámú.ƒL¥ÀUŸ®î{€dHkM‰ˆ9KÍh™ýZ~¿ºÓæœ5;Ë·3KéÁ´§M§_–óŠþíë_‚U ØÊë[àGÎ2sÂÏ:ÿŒüa(âx¶ðÝœ‘ùØóýÙ.¤‡8~À󛓈&­¢Y¤ç⦗Y(D×ëÅntíßmºNÑ£G>”ÚëWŠÕfßkeT’,ÍQ&Æî8 ?iܨR±LTþ‰‹Û˜v¶fŠ7LJFyðßO¯,¸–”ö úuLÐÄþ9?““(ähÚ°UÍ7"NŒ°Ýí1zïz·žµ”’Ž>0+õ~‰C‚ãPS.°•ÕÓx­¤QCœ'fFê±ûìÅ&( б= n…Ú›?£rqª‘¦…Ø›öLÅuN ¼îõ“"ÝÞ[Y ;ãݸÜgî^^]„jŸ9C÷#÷׃*½kI©ï†zW"” —®òÌšf}æ³Á½äeA òv©¤[CD³-ý²AÇf¿(é¬ÈFŸÙÞæD%LàÈ»þ´l…brOO™ÌDKŒŠðv¿Uî`CÃ+Ë5)ÀÑÚÕ 1‹ŸÆ„‘yú©¥ærqå¶^ׯurüK'Øçx…ZDaW·«äF9²§ßM€;–…[ÓÛ2WıÛ ±ß®Õ ]¾ö{óGî ZE±G‹çŒöºWí·è¦ƒ‰œÚ»t3N‘Ȱàïñ\¹1FüÁU›ì?Ð=޽¥ïy~«Å1<’Þ˜ärµ/"¸lû¨C]_Õ¶Õs÷諃^} ÎîÚ²±’ô Ñ‹«1q=ö[Ò’ÿB§)f…;¾#zóv“‚¨w±ˆ¢pUßB>Mqë!½/–n78uätïC~ÕaNš?K–t ]ÌÆìêBbI>·¼ëL4æ.SàZ1:6pºÂ ŒC“š®YÁú€?kg½¶ ¬‘\`‹%5¢›Ö`Sª)‡ükÚ’D¥Eï\>õq¹ÝNrTóezûÑ1ŸzùŸý©Ù.›-F¹Ž€î$ÙýU"軀>Ÿˆ÷¹È”ÀýQ8Ò„«dnÕ(QšÍ;/Á ¬‘°gÄôãžÿë¤kkFŒ9p<ñQP­P¶\[“¸r>Ú(‹é Zaj¥<gá¡WÈx>¦p¿·j5¢ØÖi]UÀ=Øï)˜¿<Áà›²ßqM{žXù’ë~VsQìÆÙ ¡¨ÒÕiNâ3ãX(è¬q”ƒˆ°¥<ýÜË0ϼžÚjTHAñw99бÑ€ÁŒá*ŸhŽBCáÕ²¬S»‹©€¨o*E‹NB&1’ïì‘<#Ÿy± Ë—ÌÅÕã¡lkïí ÿ€¤hcØù;µ•û¢åF›ž9L(lÄJhè{ô3ÃÛù^p‹ÅÃÍ*ôëO›+•°øjðïA™Ø£ƒWžùŠuÛzKqd„«FdZ‹â2Bˆp´†8Ó…ø ,©g5pûN̨ߥ¡<ècªÍƒÀ vÈrK‰Ëa¢.6±«ã>âñŠ»¤%Œµì E€2ä>žð|½ ¬·<„ ö ÀUw}GLÀ95[éçsÑó5»‡6Y–¦%²FJã^¾çæ-8¯10|ag ¸~kÏŠðh² ž)Öð›ZÕ“?ÐÜleJºxã5ÄOî¶æQœQ{² CI$‘²"—ÚíôF´ÍÂ×êÙ¬à¦åt›‘dÓ× “Bƒ:LööKqŒüg€ÖF›4HŒ0;d~ewÀ@™Qìƒ6JaðY4{1„ξ/#¿·tcqrÍÂ'Lû¯`è·$¢9ùxÑ]ûí6rϼ/GH7‘¹ƒÛüDoÞI;,ÃÕ^+üŒâYà Å>ûò«™ð³Æ¦éñ+ÜÉæô¤:5Ï=ËÕCÇ’)RõHŒ¼$4óa³uáÚ¯ÈvG<õ–/IU&+V ;óDìAd' ¬Ÿ\ÒÄÉP‡Ü.„à=6ñòí¹“¤\$ñλ°ÏØîœ°–×çllVmíìéß;…<ºófÞ1ˆXãkøÏZýƒ¹[Åä—s«zA‘H¾$Yöîêi8èuëÝ실xìrRÜ>(ë+ò½2¿”ýS ÿ®;'e-Q¼J×ÐefùØp §È!x öóÀfÀøC’v‰w)ü% Ì_¾k·ž EOs—ú˜yûRŽJžm(ÂH°^ç<®–g­Ÿ–­WÃki§AMv Ëýö­û•<¾F2/ýÜ1ö†¡‚CaÈnJäªÐ8SU´¡]´kdÁèo^ þQlßY:ÝzkhdYpé™=•¼Z×Ý?Ê`2–ã ÍŠ×â~•K!B®®ýusMSsVkÄŸ3e‹Î$¶*/Ú ánÇK âºB†/3EÄ §¹·å$Óðø<:+å j‡²-D>˜$Îr¼›‰j(1?"¼‚bÃ´ÑÆ›ÈÀ–KUYñÜà U%«ºüŒY‰C°u½ëÖé6¢— Mù©å:U´JŸ!-³JÕ)M2;$-ºûue`³-ÆPú03’¤šÒH& b¶E$¥‹¡KÏÓÅOÌ¡™»¸è–‘puƒ yþ×øÊ,— o*ßY ±ÌÚ¤RÔ‡’ ür`­ÖßèI³”B ûaÕül?uwNïøix}[Ó ëÁŒ@HèÖI¸‡ƒ³  %ú„ªºÊ·'þõOò¤¥âwù$Û÷Ëg•Vƒ'zâïAmàŠ×Æ–¦±ÁҨ͒ÀÇÍõ¶/缉ŽèÕ}| ”…´JyÜÍJä?®Ñ²A) H†Õ˜àáWq¼e_GXX¨¥]~³§‘•Ú†]s2²J•§¤4{“ ÒŸSÂ)úÑj!Â9If‡óA¬;ÔßW•÷J~§ ¦ÔÉÉv°I^0‹Sg 4þ°­e,¨÷k«*f]Ïá­Ð‰Eˆ\ðLUM¼wëžjû½ÏË-é â(¯7³@Õ|F›Fa9K¨ËŠMéûa~-ÅJW!EÔåÔ5Ïs{äeW1aº>ð0-´ê¼ñÜQ\½ä̦³>%P$v· Ê&k¥­0Œ´º–ÚžãïDÔ‰»^èá4–M¯õ«á¨¤Y UHÁ˜1åHÚR­¿«oÞ~œb‘Ö‹‹gŸ”ï1oîšÈz ƒáµ”}¥Víüþí/8逮qBD$ñ6p@È&îïi+H¿Cœè¨:Q¤Ðy–#éÏžNN !Ó™ò«þI“zk‰a5ÎH›2‚Û¨‘ôœ’âêßöòÄÌÇãƒüß*æ4Þ%:þöŽ_[¥è\ÌjE"¬ý×NAÄ+bv‡B8?ð®Ë~õ-Ù3šÔH%¼ÿ˜À~2ˆÌñ_v@¬h¤-ÈQ8” ÏíHxÔÞ ­û$b´Ù(aoD¬2[0kzHbk¾CR'ë§C z¶eZRÞÁ_€K!m¯OÃ"zŠ×eÁ/Ø6ïIkiÚøððë‚ëÀ.| 3uvŒÖj+Òå…z:Ƙ7Ä ®É~ÌBµ¿]Ó¹Æì ªn×¹Û?¬`V–/%–¸"áóÿ|Yߘ®竊xïhèKÎ9aU§Úã%ƒòæc­SOª hÎ Y3ßAKå‰óбÆi;>›¥Ó…§ä§tïjfúóéa äAOí8Æì2žaWž¸C«…º!úzæC™òjÌßcƒ*ÄZ“„«`ôÅd k€|hÈ,ДþßéîVøê0]%/Çöþhs +Š¥UœÕµ=¸)ø¥¡×Qbßs?]^ñváÐU™M êÞª ˆûÇ€Ëd }mÞášæ"Y£© ˆï ЃT·‚„" IÍV– ©ªèEWýÿÇŸˆ¹8/S·©ZeòmS'矢Ï!2HŸM^uÈdDç°Ð}Ž®¤‚“9$°ûðŠ7MK8âÉP¯Ã)<µ:~’š ZÅNïûõžË†sÀF!zË8.›²höã¦EKÕ÷§„ãÉý >\%Ñ̈þ¿g>t&o¬8ÀGv€Á <£ÙŽóHŠýÕ Ú‡¸~yÅ•ý!CŸÓ¢Ï'É¥îZöÝÍ0žÈI±Íg±ž¤S¡6x×ajÅT–û ÕVÃÒÑ$•Wžã„s˜ÈÓž.ãyº_¢µWµ×ÜAôço…x>ôn¡æjJŸr¨ò}2§ÃØùªšæ‹ívõˆ¤Ršè5ëâAÝX+3~¥GEVŪÊ Hû!FþÆ=mÁ3m9¼ü)ét_È:ÌÌ+UóV÷Ï+–p®ßmÅ_s¾7t1»‘>@8ÿð]M;@Ž](?&Hg|ßKÎ&»+†£u̶Þ|þ· ­ü}‚ôÆÔwóŽ*é¯Áñ49yÍ‚¯m‘Á mqIt…c±ÑqÉ‚2†÷60>!¶8àä6}à§ëÕåÕ¢96N.KþrÏGS-ãGJ –Â_iC¥ïõ‰iÄü¸vÐ/Jÿ×õM$Àó|`W“ØåI½‹"‰f#o!ví¢‡0²½½ÀqjÛ©”Ì8ÀEÖsS‚JS«ÄtÚ<‘¢[ƉH”•Ci‘¶.òä3á[òŠ_ÙàáãGnêI[dg|¶—ÔÜ ¶Õ7•ç ôHpXD¶…ÑÌxË÷¸ã03¯Tܹ'[G_yê9fÚ*@ÞÒW#´æû1㼟LF†À„·3ØÑãN¬§¡î¾I8PðéTþû©õI…Ä´fJZÄGÕ Ê{{v*22»ñÏ+7Á[°jhV;Pçï/ïå<|òÜ.'D©,æY ý4ÕØüåƒqÉÿ'ÊDÌÖÿL¥Å r'ßÌβ—ª&ÖÐÌð=UvÆ/uÁNuG Š–]f»Gª¼h™*yûv­tQŒîÀýd§aŸºÿ÷v" ®Vò¹NfhRa~PÚË¿ºò¨S°áFöië_ê¨4+Ùþwp¢•X$ž¨¨ñƒÌ´Ò ëDcÿÁsib̽Õ÷qš=:¥òÎ 6‚NV‘`I­×sîí„KÆ=é@!À¥Ã{Ã6V±{by9á¤d³)÷Â|é 2Z¢0YU´\ð²Ö^ˆÖNßE‹±$ׯ?üAó%é þNR+wз×IìÈ "¨œŒA×hI&vÏ.„<„ ù©E?;•» ICȽk Â`²bSR~ØFít6‡Éᾇ¨qŒÿŸ-ñÒ!±ùÊ¿¯sÄr’±<ëïÙš‡mÜ r jA»|ÍXÚGNÊ=çµTégÖp=ƒ½ÿò<Üt‚mLãoKÚ2PÝæù¹ÙßNHFìGm+\R7fP(ß2ÏAóíï/ãÝ6scºÿ0WvæÀPJ‰’)|’.Gfû=LAbY¤jнT üœs'4BäôcâjO$ÇRmã,V^ÕÝ|z¦÷ÇjÇxîkS^2§¼¡T Ržüð»Zù¤¢œ‡‚.…qöx½@`:<\›ÂÐ$o‹kïY“-ž‘@¤5?{ʲ¶{Àá•Ù,0æG ã‚`Dµ‹²Òøe ûØÞG/ÄD§ÐåäÆÑ¦:&þBjDƒ—óá X ÆÂŽ^àä,ÌãõŒñš_t× :¢)šnr¬ÞÆÄè›bŠ]FÂZ‰°­žý€ß×$¹½¥Oeo’jß&·N¯‰»ì^4EŽÕ¾é±bÍ6ÜÅžÕ;½^RòâËö6ÓþÿATmñ:Há«€5Òø„ûigT6¾}Q³¥ßóKTÚN8­[ŠÌ=YßtPäŸò @צ@G°,k=‡~§–âÆËÇ”vy¢;{ u 0ƇˆÚ­ÛëuÐC…v`ý|¶jq‰Ê¡o4»Ý ˆ ãF«õ*Ù_NÁ?P>Šd‡Å–±—%âQO|ö(Ì>ÅgÎg¿S?ûg»]c¸óH¯—Cø Zhi“©}3@éÚ%‚‰ø›WÚMQ5ºÀFùæš6%#ÓË5ʶ"™ÿ-h0Þ”b”MáµÝ#óäZ(3ž~ý6Œô¥‚ýÓΆ6@H#;få\E¡M7xY˜Ñ‡¸ô=”¬GkXKZù‰w’g]çE¹É4 ¤A=í–àµv©%sð¶ÆH`gì'¥» ÌVa¾¡hÿäÀ+[hû4º\äȰL—Í 1ô΄ÊÃúŠûìÕJÒø©¬|9‰éýG$óΧ®­§ &ŽJJnñÜmuÂOïTÚÝ¡ôs9`vYEÌ—wÆhŒ|çÐhÄ—µŒg©ýJœ\MUÀ Œë±€…A*ÛsiYÃ*jîä“ÜråyMNžblSO]´1ÔvÐIˆÇ/<ËóÍ®SõMù¯J<îJÄç÷P-pô ©Ìïx´÷K#AfG:MÞB˜£1ÓC {Ùç-pÁ×ê™ñÁd@¾·/÷[²Æ†@¼Å¹ß}7^OLA› Pñ.ÎB†*üàu…[0 œ,vOš}+WÅ„ö~é`Ýþ.0·ï¨Rxð¤k—vÓš+(‚µ9­ ŽÀ‘_,¥ˆëFN 3,¹ÿþ2J(gü>wâ?ôppLšå*A™çA7º´½Eý¦’é¦2QÊY*|Í߃vï±+F’S×Ù[QäÛ¢4J¹d³?rÄ2‹ø(¼€‘X=‰Î¡¤Àˆ5ŒXUsÙ¡ d®ªJ³ãÙB0ÿÊ£æ“~ö36#R$JWߺ`Áü¥¿Qؘà¡ÎÝŒ†‰ÒŸ¨7…ˆw:zbú4žG\ÐæNš¼FÆ«6mˆð´ö®†%µ_ &ìSŒÕ2=¦e$²î/ÚJxÀóo–Ý€Jä›ú–Ò>È3XW 2I"×s–«4Ž”tí^3L»±L±/f’å5· r7¢.ÒGé9åxXš|ï"ö0]CÌš—D¶‡h/O'Ѱ›u-<® T•n«>…´ÄZj\ýÔ½væåÃ*yK…‰È·{Ê«[/¹ÓpR] ÛÉ@¡•¹g×¼®"ÜÕ®Ú¶M*É“´ã{¼rüd~pßh‰†÷ç)$:"Ãs¢ïpŸô ²øå´»©ÌЕú²x|h°ª­ûÕ8åÁ´‹¡ÙHÒlRjxœ…€3µÚn¦£ñâT^¼ÙOãáM” º¢#vˆHt÷å÷_YÊ8ìiÎqÿØ}‡wðQp3CZö¿PDK(UžÇ!vW2y$•×R^ج{ñ”>¦Øy¼Í·,Ä].4ïE?TzËÉ;3"cïf|ãÁ““–&:Tivç¤W'’“ÑBDç C1fó­³â€g£t<_”&¢ÖU©AkÉw¬Ì©Ó Á’\îNÑ™`Ó¶Û)ßýËKHJŸšÚVµ¼Fæû–4ÊSmf Áw1ôy.•ä ˆƒ¶/§Ã‹¡/Å«U5$QTÈ­.ÈÉXt±Ý×R©Blzxkì¨Û´ãÉ…x“ü»¥`:ȰÀk&¼q¥I`þ‚G+>"t"6P ¬DèAW^•ì‰çm&ØIŒƒá®9Cðºñ|6áJ(Äž¼ê•]³sŽ¿ƒÌ)šŸA©Êjþ„G»«BN媄†¥r"û€EV¹ÿšr¹ÌolÙú¶‘` $Â[wÍÝZ© Ðé+˜®ê¢ô¹©°¾±¤‚m¤Ø2¦Q´#óê#NC?ãÉw'D帯áµÀF?’…VÖ[̤6ª:±Üö)vSÌÑæ{‘CŸÔYŒà^€er‹ÚÏ`ÍgGù¼Uélƒà qtEˆd…Ó_´É¿“]0Ó.S¤°õ΀ÚûÁ¥žC*9‡ëmú ߊ'D‰'¸Ú\\¡¼Ÿ{ÄŒ!”|X#•zyôQõCÁ,)Sþ¾Ka«´‘S¿+iˆAý…ÕYlP5“´Õlº)ûÞÇ®¿÷²`éa|yW˵f…@ϪJ÷-ãx÷h‡Üœ¬¹]±‰ZU(³)­ Øû~B ãz^lŒ ì*Ãkx,Þ:ÅuµØ¯`Yciü™3Þ:3x:gÛh“`8xB¬BÐ& nóx¾¨’mp2ûˆh¼‚º†'LÇSTÌz¤ ¯È|^\èR\@÷Ö¢b+Xh†—'È™ @¬åzs|€Í FëÉ Ú«('ræ.Y ÷TîY)!1"ͬ—GÒƒ»ü<ÞÙU ¥â*_fY'[ºžå'´9É‘¦¼_æ?ù¾ü0Àõg“~õ•—í¢oËüs¥ýÓ9æòDƒáö8€"èòB9IAÏŠ}YÏI·Þ˜cÇ5Ĉ< ˆ ßÕþJÎ÷wß#,î Çó£îÇN')£¹5ÐÄÅeX6(zØ9Ý^]C{pï¢é¡×¿pÎJ2ßÁ€…\}ã³ôéЇZá®@Üü¹Ë‰³NsOèv‰Í³wùG•;‡Œ•y=hà@d¦çÁ~ãíèn{@Û<Í6ÃŒ”en ú[yÖW‹: ì‘+ÄœF~2CÞPÕgsi8mÑ^éYö÷A&wÿ»ƒ™zôµïãÕÀr>]Uy:áVfÌ,yF"Ï2î¼<'8S™VÁ-Ã,\I7ÌoU¬´çU•Jjon³"-*“ØÜ^«N½Òº>%eÍõ¾êX.¾¬†=´)šú÷_u¼yOTÎõüþÝwÈfÈÁE“¯üBL>_XäÑDœ„Ûúò`6 6!ë ÝC¬•¯à«ÚÔ]\çP¥ÔŒÏ_éþÆù´y²òsG7D±°e /6w‰-NO?·1a/ûom¤Cì»}M Wß1,wðSð^¾o ¯ýV² 6 Ö<†ïý¤>Æ}”t ‹#hŸ°Ô“áýKg­Vü69i{#ñº™N›\9ì±Y²›à7êK@å"¾¢kÊ×Äþg] »a†ºúÌ—tbÜRΑ'ërƒ(Oè33Ú’UmU=gçµ~× ®²™[¾bÃ^ÄoÜn‘r÷µRçx .ô¤ø:úÃwEÀ¼ÚÑHˆŽiàĵ¸Bµ°ÎPš·È># ‹¸¥Œ…´5£­Û”K´BË<‚^ö9ƒÌcˆ›ç¨EÞ"nuË,‚äɆ½ÎŠ€ý_JF7´ÂP‹ýœiÓRÑøÖ…ï©ü[«÷ÁìêØº<¢|¬mË¥“ßß‚n¾Á@ ñ ÿÞCªš­"Nƒ!…#¦ªÖf; át<‹äæJð‡e°†Ï*2»)Ýùù3]b·pÕ¯')äõ¬ªýxM¯ç PÜEáû‰/,þ§é(¢ 7—ÆJàÎx:ØKéÝg±±m˜¿è*Lw*ð/CEŸßç{!Žä^Ñÿ2oifC;ð3Æ÷t'æŒ6c(¸©ƒ­ƒ¹/›Ÿ ´)ïÝ@eØxø'}Ã.±¾ÕÀL×,ë ø¼r÷û÷ bH‡»s!9¨k.‘LœÜÏöâiª²ˆ¥•¼l‰çO ëÃå:q‚M9°VpÛZH^º”|¥rO„˶£õæƒÒ•;DÛäŽÙ¢Ö…º²1±‰‘£éP{ch„õÐOüV¨d…b7*MYrÔI¢8±+;½àÈpû3‚Q»»wûk‰ßckÀ‰^œàK[5m_Ë.p[œqEÃI,=Rävåq¦ÉËš¤wì/ƒU9òÛE™Ó±"ÙÊWb¶éK¨ß7 Ï„Î-e¥–pö¯ –.ÕqBpñÇ †-¼/]TMÕ·<ŽBòU×E›¼|îe 6GؘK}©ó_¥K¾üW µà)ûÚ7"£šºÇøÎpJyPÂËšhcõNoŸü`[zº‡âðU]M<;S'sÝ…«Qm¥±ßMX³e ´_í”ÒÉg½&ëó-EØç9ç[¢m‹ú$56‰™œ]4q_Rr2ž“¡åzÐNÅáûÓ™T»Œ&XÙlŸj¦“Ñ|\¤¦£ ß æëLï?gÓ?ç‘Á¤ôïµÿÚšB¬%Eœ´hUüe6}êïmG ‡F¼A$H«I©–5‚ Š¯À£‹')‚¶\-ÒJ¨iôo˜Ï?)I“ó¿t9ÿ‘U@?ZÒÔ¼I•Ó—ì ‘M}ƒMž£Nëïw<æq—S³Íð¹^æC1üÈFtëM'Ÿü ùšH½þó)Ý~à÷>h?i9ù¦@À·€\ÜkÞí?9ªKämO1†ýÕGB£÷Olઠ?Aݬ=΃_¹Ç>d ó™4†ñ©ÿŠ/óúìÈ©šˆYSçÙkû“[¿G¡LÇ6¶Ã*©³íãòK'qNYõ‚àŠÃ]dåÉç%_˾M¾ç+þVA<‰h‚GöWAe½=hÄPEKãíÇ€.¨¦j¬ÓœŒïdªT³–õÒ»—ݽ:I{t7m:i^µ¨°Jy4Q—96"Þ\`‡”ïíÀÄ+æŸù‹ îãùÞ•Flâ-ŽäÔmÕBÀø@ñîõº9ù1¯¾‰Á¡äGQ‚ã° #ož‹ršÌ¾Õ«AΔÒQSÇ0æ:k§[ó¸“ÏËðáÑ6uÒÔPöÒáçÔÚVŸÏqR  œöH÷ø'w®AæÜÞ‡¶ö ¦CJ•©ùæ˜'y¢p >áXm «ŠWèì| õÁý¨ÿâHÛÿF›…EÜD”XHÉ:–zÞ /`Nt{x°¡–¨ì‘É"—ÏÞzQA¶uÄ`e·ƒëïöÆÁN%ëCæ›qå²>V´ ¡xVŽzó<ä}ß?æç½èG4Å¥ÏÉäìÃZ 7ðO¤ÊµÏD‰z†y,}÷–G/ÒÔËñ ,\´–VQ³[*ðhQ‰œŠP:wÏz7~r4Ò¢êðˆ¸Ûj{ИLC’'4]õ·ø;“¤©.aA(Ë(H‘"PŸRd[Ãåºò¨nd¦±–”¦æÇ=¾^÷QZ,—ò- .2³Ûü¦íŒ9‡ç.{$­INÿ¤ž¿¾çZÓ8ý¦_¡9‚àid¶UàI&tzÑb¾ÏLÎdk0ÃýðÇ?|3œŸ€\¡ƒ¦mן‚Ç´F˜˜iÕthn;^w2.–ã7Ø2F„€•õÑÀ°³jðNäÙTßD³Ìddá:•ˆ€ïÁgÞ‘¶ Y^jb~«cåàÔÝ^`ØÙ{´›8½g×­¹‰ç¬_ôRt¿ÞÉ»M ÉÎpÞT£Yº´ã·éYÛœê /Ę®cgi3yáZÕí·•„ Í/RÂŒ¼ðv±Me° ™1¶¦~Srù+—¹ðõX?„’ŸR4ªe}_OGñ^¬¨>5ãG£Æ«Y´ \£s«+”QwÒ²?øŒWyœLZM›òýr9¾QÓ’DïÑøö¤“^G–C}¸ª£G´&VËCF­¹V' ÂD·˜5#„8œŠÕ+Ìñ®˜rÔ[OL'žO.§*9}Ø `¥ ©i¢Õ¼×f|ùß—ÀjRÂЀý;YªC†]âÄÝø´ÈÈ!«Øãe1ËÇ\’ºS©Œ;T6²/&ÐE„š˜ß2iŠÍÚæÎtê0 *ô"òÁ5ÔÚJ¹ˆXEù„UÞ3ßCiºBðÆw'%“~ðÂDªàpjŸñ£ù:ñi1Ä¥±¿t`£w2ðƒÍ©;`g6/O²;îÆ‚é›¼•g€ìoüò.Ö0"ysë 6NCr=ÙHêiã'´$kf†ûL1^‰lO½F [[Ö’6s5 a[Ä¢Ç2¼þ}œh­PèaWïç8”ï:dy mH>Vû‡±¡±®Ò¥'a÷#:ëëÓWq€=WÙœ%EÙ'à¨ÆŒàŠt{»6+X±îÆ4:ÿ ~ÒXM»ùsøÖè,M„[ª¢ª(_ý·ÁÉúêI{‰)/m±Í,ÖÕðSÜ"Ò~)zºRMBS4–U¶eŠ‹óµ;4Ú\O¼±]bfp` }/u ©Êe¨˜ŽHUoö& ?*y€ö¥ÀuÓ<ÊÉÔ!kYÄ%6·Ø¯oF:wæá=\¹$ýgÚîn½¢] À¤Ðü ùc©Ä¬7Xd—¥Ë862ƒ¶³8}3…X£é¥™þwÏVGZÁm,$w Îß–óTå”|Fx…*6HŽæ¾àiÄUœB4ËR?Ïgá¤lÙP;oCIûÎ{IÕ¥C¤s„U°Ä™ãz ‚qÇ­k˜&Sß”±=€U0µXúé›|¾ûÄâ'L4+XŠ€](ÀšÙ¤:äòyÝ ÝŔկ‡Þœ~`ÞY»ŸHj 4“&‹S)&i *SEW&KXQñ±óÌ߉ ·7þ §>½‹öêߪò{‹Æ´õœ9Â…Ífí?øÉ-ô×õ€§‹BJŒ-ýœ#«ˆëê@ï‡b:Äõ[)Ñ%p÷l€‹KÊ’+íê¡é¶Ü›-µ]ÿH§W— 8Ò×€¦›N!¡°r~Y1kQ l¢>AN‰Ù…Ñ^4.³¬QFänV¬m'ušIÈ¥T¡Î<;y6ë\'ö5Ô]”*×$m d/ÕxHu((šþ2fNM`®“<¸s#Öºb[˜BýºÕa  Á²Ý¬V9¦4šÏÙAWC~<áˆÍš³«Ç=Žfüqœzø™K»TR &„KÝ@jª§ÎܪQ–Ðþ,âñ*ÿç™mÅ#¸ê‰Ë]Àc†›En"aÀ–]\Þ^’…~S¼F¦ž·Z5[‚Ì0µpQã’¡ubÔ/îšW—úp: *ƒÁÂp“ãA)K!õP¼Mü7åÀæ2®í†Ý'1 G:páŽØì6•ÞœÃ,Ò)FÈpx†’ —nxÚQ%î]á.Ü%;„©ç•ÕŸÚà!'ê‚R9Gñª»SÏ,•&ëºà¡:}EGwjÖÃðûR("YPVõôkvHêÏÔ½œ‹A±¯$=Š›(Rx”Ó•°wI‹ô¶8¾W…ܬ쳎á²4äÉÊņý¨l=Þ-,ø¬rcœ˜å œÉ§D!UhÇBç—וÒÛ ³ô:áÒKWsÊ Q¾9ꨗñ˜™” º¯õöPö¹»ß« BÓ°ßÕ"/W4hSòúƒÑ$ºcÖ?²;ƒõ:z ¨"YŠó`ý )ý¿ŸVPîº*XÊ E0xWKåe‘¼’:={^–&‹´`“0Q°qw‰y”Â>•†õ"z€Š8óßîјåtÁ+!#D FŸ,>®WyZg zôë)1˜Ñ$½Œ#φ,ž‘ äé,sÝЋ¯'Åm͆• ¢ë©çT¹TtsRXŒn:´¤ >ïëîbñ(á•ÆgìcðÂ.Lf4×–ÓD´ÄSÎ’P‰±®Î$–¤-­ôÂïÉÔÏ ŠdÿÔà++ÅÑ(™ ´ø}âíÚÿIÚc»ÛÌW¡|µ5ãö‡ÍØKÛÚôP¹2ì•ãëª:· 3–FF\òZ+FkÜ6 ?I“x–wÊ\ØX-^ÃVøˆ‚6Á[‡dúxêµníÙŽÈEÅÀ6ñ<ºßà6Ê2§Wr3…n.Åûv:j4ÔåÑ ùîÀ‹–Ò\_iÅÙcº¦;M¢¹ï¢ïñàI O Fϧ†ñ§ÇIxéU4–Rû•¯E 5O}‘…\¦Fì)ÝÉ%‘¥˜;G»5„Œ3ݼ¨R†Úc(¤¥CÂM8=¡¾eÌÎwo;IèE~á]±¾®‚x’ïiLî—Ød^Î×ÝPûbNlóY8stXÏÐB¦+õŽý^ïÿn. T ÁjKïy~T(Ê™-I™6—³š [õŸ8Zb*)…nc„­ók;œ¢ùoëpw}†ÀœUBMÔ! ªZ†Êµ-Yȇ;:¨—€îíÿ=&P!PéÕÖ÷3Ä‚5€gfÅ»ðy …l^÷=‚i¾]‰È^ù^ÛXßáÙ/üq-•&P¡HÙÍq·¼Ò;€0öŽx'±—Ô¹iF«_ÜLA`D߸Áܹÿmïɲ‚Ýiq¨u ŠÛ¶m‹ô²µwÈ•ûèˆÂbœ?ã©Aê8˜9¶ø4$5 PÙU>©VHA”sq%CTHêi‚QoMñÎpˆ£¼ M°ì³Ð¾uI‡‡äYi=^œeZiÈ<(è 3ô¯rðÚ…tB ÀwHÊÎ *2ä%-S– ]¯Äá}iŒéVÒ¢¢É~Ö§'§­Z`á«:ô©®}6V€h¶qºHHåšõ{õ‰=_ëai©Fõn VõÀñïš"T%Gý¥Ñ1n†?KÀW!"q¹;ýÚ²}\{ò"Ƶq~}5B-÷ü)”Û£ÙjÊ?† Mø¿-sìi›Š` äC$Ò" 3öÏ_gô×j€0Ž8ÜF‘“³áÒ© Úù¤Ë¼ñd…Ã¥Nâ“ÜL˜ÝþöÂlj¢;©3TCç×Ò‘IÊy‹Ú¯¦ ý‚v½3Ȍז½E½* X?–€þç¿ý´Rù«p=QEHÈJÊm/•x¾syø¸O«”-öôóçó¾BFö£F>´£¿‰êH‘ޫ޻SíØ%ŽØŠÔ8ïüJýÎu‰xr©¥ †.É rIYþcšöÕvhõ0¢åPÊÒiŽh˜Ñyâr\†ñ£ k´ÙÎ Çò’¬ÿ"!TPåLãZÇI0#u¹Ó£æ'ó¬¬ïÎÞéÈ'ªÄ…pß×êÿO'q÷ /=ÚœUd„`gT“ÿ…× Fv´z*⊨ Gz±° kÔ¤½«%ô¾tEïŽPÅý^ÌMcÜ/à †£Õœö©qa`†bD!?©¡Ã¥žÏÅ.‡ÐHRŸ>UçÅâõEáíRf³§ê6^÷hã9«ô³PÑâ4“Äob9­ fôÕO¬·ÓV`g0ôR ¹7b_ÃÉúOúÎ_‡Väò’{feÊç« iõÊÑY™¾O<ê|…΄ÎktÆÿΈ…ã-"ëë.nG­pðªÉç^¥r÷~ñŸ”Áö’ý⋦C2ö1U$±6]¿w˜ú@”íÈØné ®‚×åJ×gÏW)VíQ{Âi-ûpJOQíY@]ÖÑC’1ßX©pQDèzˆ­}OÊ49›åÝ%®õ¯ÈüžyØüÚ>_ûCÀ†CªøDÒôZì,"F:ð Äc¤¹¹ÁµÅæ±]„÷Þ®%I¹¬q‡6gkkoù&‹¢ÂdÈ-e?qYcŽBöÙïyÑñöö4Ôó¾9ˆhå|c¸Æ¬ÖB•êÚ¡N3dò 3]н¶)¼þ)e'¾»SV³vž” ’zʃ ˆÂøý¼š"PXB{§Ëº¼5ÚWMÑÍ„µúT/û|’±êBïw^#^Á)SÝ};‘€ß³f«´­V1 þ' :£qÍ£ç¯V¥uÜÉ…SŸi7D žîÞÿF:«wÉŽKa/RÑ#‘ÏûìT°4>âñâ‘Ç‚uÊÚš3YÛdÒþ‹Ø«Ymõ ’Ï%Ï~@Ÿ–Ïñh1)vV(±T.@RDh¢¦X+úÜ·#5χ¢Ç0Â:S!gûá»ÔÑ4ä0ˆ·Æµ=jv‡ØÂOÁ¼rPÒ¢)V»u!ÄHƒ,”3pà±(ÇðómÍ®ò+Ìsú,Œ©|eÛÛ‚¤P“ÎÅ7sšè™!z|!µ7 ¸„@öŽ"R ýÄ\¦xYKwL%â ësb|ö„3ƒ•b°’¿•¿žr1–%'ÂÀ-†.Ûþ¾^/‡Cú,¶ä(›ùïK”ÙtDE+èèž;‹_Ü¢Ã0PßäЯ¦“2‘>vYÜÿÕg@)»Y9 >l̹––éhaäø‹hRbŒSæí÷ËCà ¬“Š·´âŸÂV¿hPÑ8:‹x)È›·¥Ré2ÁªrÄZUžFûã:9^lPFõëpµ@þï4׌'¼øÁ¬îÐá ImÞˆ:ÝW#‹t}F¬c@½Ò‘~ ìZÕ”­a”yÒPÃ]@]¥`7{~.a%1ü$ƒ"9K/Ysú³n˜ð¢‘r¼é‡5I@‘Æ2›ŽÁ†:Ô^Q#G©gÚ[ ¬‚Ù»Î]ÎùYš@§–ðÚÚ§©¶tÌlÐÕq!s(8Ts9p¬†¼ó¸ï¯Ù•¡Ÿ§äðq%Q×­p£eZòøo£F§N*fäXa°‡5.˜2|Õ¬ À Uhó™´|ÿTyýL…ÉÎB …C^»ÓÑz±{òŒMë%}e£ú7øÕ²}²)™`ûãG"1-2¹Ó/<œ°J íˆ~‹Üfåÿ*ª£û÷ÐÓob¾aŒ–$ÝL¸Ÿ©á“ÈÛ`SW5D¸U†¶‘¬Q†¦X¸¨ÈæÓ‡”rð×–)UHöà#… €Ðì²oSðYˆz±¿kU£³%`¢ÁÜ¡)ãIŠ@4Ìyáo>¾6;q/¹Æ•”\F]» D+uÉÅxÇ­,Õ¸Òþçß™4]´!¢“ü-ëÒâüÃ$ß¼/rM ¸”UÂÉ9ÊÔµaL¹±`Qetâ-]”ã<¼+.Ù7Ô_töуw¸t I_z!ºl' ÇDxƒè·Úe°FáJ‹ú°ÌèWý^ð²rk Š3nÄÙ~“‰åÛ‡óàÓE(…¡EþkvTãÜÔSà ;T¬ÌjX‡\2ˆBp$y&°áugX¹U¸úÖ¬ÛE) Ö=p0uJ½ 4ByM•ûqn,:¹Nþ~¶§u"§È ³ªû°BMÕì3ÁÔhZÔwWô›gÈòª0•W´þ쮄2¹5Š×›NIŽ…¯$óëq1È©ù9‚…sIˆÓÀƶC•Uˆ‘{$U—òM :†±P€ï8k¹?¯kÚ®òêp¢¨X³ã„þl;Ä¡ø—¸¿`q Ðè×ÐÔðÍ›XÊøó·òÁ¤ÜQ‡ÄKýÏÁªÁ6fìçÓùcÃrá„g¦'£­×Å †‚õ¨¡»µØ+èß_p±I!cJã²?â·OD´´Òã¦RßüêK@N›Ç‘ Ê4}B¥bƒU á’”ÊÐÛ÷ö,·Ôv²0€7mÑ­Ð&ê4D‚ $é*×>ÔÓÐÚrK÷XÆøy¨‚«‡Xaåè’ÅWÎÎ-¹†ESÑdqŠáf¶"Rº6»–'J®€N³¥Ï×%S€^ ¤ë½ÚΰÍc`ÄÝ¢qÀ‡#çžÃ'¥Ž„îW&îx@¼) H÷0“êH 'O¦ %cÜ'örÐ.²*"U¨¯Rô»¦ÅÜ ¼¹Ç‡®Û19ÈwD»«¼\×ÝÏøïwãŠÝQQ Úâ¸Æ„õ¯þpt·TÓíPƒ¥-y|W1Sí¢)§Õä(ܺ”¹•AŠ9² €QöV¦VÒOØšoOt!q&o(¯~ì³llõóýÀþ…ì­öùŒûÆ*¤»GÇJŠø­¢|rW¼ EÙ–ïýÖ±gÂä£oNÄÆ(eyA®ä¤âš;NQ¡‹*Ê ÁXá‚Kõ›ÞM‡çF»Šxàü ¦ÆZPNØøùYÖúŽôë¿—B4˜,e)öÂsyÀ¡‘‡TXK_·3Tõžh¢§ C•¹è:>át_­e¥ÌX ÙúH$;Zܽ ¾H— aâ'G%ŒKÁÍàºOP0ûš`~ÃWý@Ztò[ÿ=­¨ljtåv”÷µ¹+º8¸ïõ$ÒìéÛO†åˆ^·ñÅŠÛ°yRömU ãçôŽk¥ÈR¨ÑLâ}aPº‡nÇa ZÌ$(0JA6/Gæ˜HõŽ,þ4",r9r tå¡ÀËòæ¡Ó±Bª×ëAÿo´íηHZ”ªÁi¥·—Ï4ªZæèìw {“:Ê^wÕpnµ¿ž©¢<• _ÝÂà¢nôá¥>ቸoe$ž<¡×•i Î°uUÈh—¸¬0ù/\&!ÂAðJRûŠŽéê‹»&ÎBÎhÌìÊÔßöŒ ½k$ÙË,_¦}%t¬œ]km!€7²Ë¾Œ…w®D¬ë1DãÁ±AeHÐvï'ïA‹C:ÌÛáížs¯=å‹Þ,¤CÜŒ"ŠË$£"Êó›ÓvË2x5¥Ó_W½é‹ØoýŒuÚ‘â’T‘‚<å¶Sç%÷˜á—›¢†S?Tïìpò°>Y¾ V,/®y¨Yòîg*Ó[-ÀGìKZŒ7ãPÿ;áàû2®ÝR–ÎÌaö0²–a‘Ã*PX¾Ó˜¡„%–!BÏž&dzhŠá¹yŠH}ŽÎ6ÓúI¿o7¢b· ¿i*Å…^QeXè nKt–äë÷ã,•Àœ#¼×áÏDQZÙroq+7ÜËÙ·îéû!¾[PžóÛ‹Ä,„œì­Öæ{ ,çwAYŸŸ¤Áµî“\ƒ”-3bZn˜ÐªÚÞ[CP»}µ–*âïšÃåÛ`ïmï¾ìHsýóûdÕFl Uê…Ûd½ÑzC—ôÍ`Ãêß{@íÈI=½iä^ù…\8c¬»# n«£qÅ8¨’äµÑÓæÈ/žÆ•õÁL[lôRv‚Ù-¼V »î7iêkƒc>ŸÖFU"Ѹël¡»j—ë=©¤ñ6ÙŽ¹@Û¹U8ÏDÔ5NR ‹ÅÉ~¯Åœí<Ô,ž|8üZªíOpp†Éj%ý34=ÿ~>(«›óÓÈY«tº8U½BÁ°ïí¯ˆÅ›¬N9útôOS·mwžy¸¡ œú)äÙ½ÀŒô…c—¾>®‡}‹Þú3vˆVúM]@µŠ ™u߀Íèý¨a%‘¿‘x‚6©?€ù“€²E#0o‰h\?ý”¶§ä'€_Ð#<»÷‡¥(Ÿ ÂìëëR ú’ú¿ÊR ¯Z P—-‡Ç@»œeÓoóótôà xû>±À7mã¶Ö»¦†$9tqb¶Ý:gXá^Ñõ>ªš [§‚ß߆ ­­Ý¤«ä|׃ Ð2”óó[ ̪=¬0{FP¿w*÷ž•ü)>E µEòôÅE»ý&ìQ·Ï·²BãÅÁ( ò‘5†7?|£ì6ù›²vFØÇŸ7ïü€CÐxbáÖA¤ÍöGêÆÏÎåwÖO».á•§+€Xây³€þÔ–kÆ”ÑN±À¦¯iO½³’|bÔÿÊ«t×ß")<—é Ðß±DÒ]9…÷Y`Öõ~ÃIEbá3äNgMdéòõ-ÂýÍj~)“®»óWh)á¹”}}•}ŠIt% _TÀŠí‰§Ã×<̯_„U›8´&ô(0ÄX–|ié$k¢V£·öëÈÓÔÀ‚Ö2&ù¥žƒº'žgᆄ"´³çÁ”©úKŽ‘¡µ¬¢t­æ+çO&mu¡ûÇæ5 ÛçúÂÈA¾z©‰næ ¿'‘@N­esÄcæÐÌkÊùëIu©ñ€$öŽÔ%•–yì§în$Û0Û¶dÖÆM_[7¡¶2'Œ^Áû Ö\øÊçð¶xÆkHׯØ$¤FÍuZÆ[¦ cÉmÇÛhßkåŠ ÙÌr±?0èÝæêmÀ\ÿ;hˆuÏœö_]£Áùÿã~Iñ-È¿Z€Ð\M~ÓÔYGŠØ4 z¬rʘëÉ WÕ z/–"P^šS+°ïúE’fÔñky}Ý#t ƒzÕ)_Æ>Ý¿;¹‡‹?ïÉ¿ËÍŽ­ñY‘pHf(3,b¥ë*×u ­~§GClþFä¬ °Þ=ç¿&â!éÑ8œ”×¼äÚ1àøµ¦.¢Á9ùÆÜ ùf±AÞá­$N?\nÌ­ ŠvË<¶)>íŠVÏÎwÌ]Öhã»ìlÈÃkÿ DÔ–74¨b åQÏKÌt{JŽJ½7š@wΙšÎT9ììš6Þ˜ITöýIÿàM+=üp ¥:öM´L^6Ϊ˜ô/ ‚Oª¸à[€9DêÆ±½¡k­%±§àÉ‹æš,³óLêqQs´j2ÀÎ-ÚÉ'Çtàk®¹R9]&tçNÊþÓã¨T£ô„éDö¬çÂF¸düìÜCÖÕú+F|‘‚¼ËnU-þù‘!¯HTdn ¤¢ä[ȳªë˜þ$P ±‡eµÈõª5Ä1Wµ¿c©—2=hªn·Ö>¥ì½Cõrj76däp‹Ø$zþwB=H˜¿þv`Pw£êùLÃ6<°™øe*Øëö½¯øaà»Ø¤Š&ÿr¦-PuÐNØmOñ¸c™O¡îBlýå>%¯ðï†n8.بüЗ^Ö=;@€Ñ8˜(fêãÓÓYO„Bë²uÊóÒœÒeP>Kú’fBÓfå?CÓ{eZKsh‡"Õ“ý¤¤/7’)B]Sµˆ!9•ãìã*6Ý:“Œýñư°”rœµÐÖÙÍИƒïvôÃèü#ÎÂñ¦¹òèˆ;4+ul š “ÑiÕæTV!×›e9 nê¡ äW£R|*×r?x±C™ƒÙéGdð…H»°(á2K¢ø‰yŠ•A4‘{ az'Îqe!ãk§%,SÞ-pœy†UÂ¥•T ša·ÃmD9u_„ö·#tݽîÌWµe3 Ú£Ä4â Âf:㈔ä´õŽÍÏ9”ø½›üÏ(Dkö‡7éÝœçõŒ7Ë•+TÙ3ª¢§2?ÿ‡ùÑ/Úé–r)Æô¹GšøÐ#¹3}Ÿïñw•³I];;ê“Ôĉ)é Áy=ÉoeL ¿jÞ {Þ¢DŽ æ,üd檦óáöµç‹='Dç|){êÒ'z¡`CïÌOáo€v»ÏX ¬7 ¡ZDM®­F‚ÄIêc«FÏ+g¾„¶@ Ú‹ì©ÙÇ}Žá¦£´žŠ©vß2´¥·NŦf>èƒç ½øæaWã+•†\ò–iïŠq–6(#Ù˜mA)»¿¶eSy:èg‡Ÿ“Š—©Š“iS¿Ð˜ýO›&Ñô©ù䣻 ‹ŸÁ"0JBøÂ;éÅ“îÄõgDŽº‚Ö;È4NF­o64Ùwû¹Yûr)>Ž–&@íjg¾À:s¬pó¤åS/ÔŽàæE ¤F & ñ´Øó;êxhçä9ˆt¢œYƒšæïŽsT3|É­–g¥Pq@cQYlê JJÜHçu."ÀU$<ééJ¸ÙY{&löÌ®P›šñ¹äÎ\æPŽßklù7p%èÙz˜’åéÞN'tPñ†Ë¨7WŸãTŸ«'ЩNªX¡€’¥­i a$’ôà:‘œÕ‹ˆAÍ kTóãÝ E»(²^ŠèÑ?Ç@{¥ËëäÒ7—…[¢Ã·îÏúy·0 Ý1m• ¤"‘Õܯ¡ˆdI“6³$-Àf ü'§7$¦”:t²[ôùi(“­ÝÊËGw¨ßK€$ýýöe¨DŒ4Ÿ_™ÞNÍKv²¤Ú Y÷¦eŸÝAy.YµfÙÊà0\{så| çã "w&¸läÖýUµ„{Û ÖQ Ù&³1¶û˵„6yB™Ýéõê(‹å½¸9Uß)ï$MÛ?´@èlR 4KÏ<©Œðfîþ©°,|óüÝÉ̵šƒv3õæ€mG04¿þ¦èï|˧QI–AÊ çêÀêƒ DÂС>Ù†ÿYŸºþpÂ*Ä}j:¿´(ƒG9Nô„a’ûŠ£Î%¨Øfv‘„ÊB 4ýLt–êÅ-€*ÜêB¹†xú¾é—Œ·ÝͤÔu‡óZá%–¶Ï«çv¶³%,%òu}A Éj@ÎmÌZZú&Ö¾VÆ·k“½‹ºâLÛ¿šÍÇbN>l‡$¸žÌŠyceÀðc%ó¯<¡k5P#—õ¦EŽZÐu„ 9ñÈ÷ë{»/S‚1Á:éááÓ´-ì0eöʨ¥@1ñl¸ Òc95ÃRÖé,à›þÌ÷ë4ð3w4Ù;D‹²;P¿ß;ÅÿÀ7qC· ÅT­i·¹O@näwKwËâ[i€T£ùçèÐp0æÅH;JÛ›Œë|p'Ÿ‡¨­l'ù5’ŸKk‘÷dеl·ŠŽjé•ç¤bÌ^aÊš¤ |³DУ?ã–6PÀâ2ˆÿÚe‚ØÌÙ)WСÓé<¹ƒd;Vfµrs_ýY- bÞâYv’jvY]wWŒE‘îYƈŠ^ŠõЃ(ö/ëPÿùÀ\ª>Vµ ¿<æ´€?–jÇ×Ò{f†<½Y8ÖG1³ ‹÷YXK‹üP†Ïý¥'<Ò_¡|vyG.Vã°£¥M\!œ8íÙ†iLO°ŽŸdÙ¿y´æˆíŠR„·'ÎáËY»ËI .Êy1Êi[½[×îꌯù}ž’ÜzÚ¹ÇÍ÷•دcµ©W±Aœ ùýDR8"[§Ÿåãq¾‚ ©Ž­E¦úº¼R #†¬%NmÛ?ÞœŠœ0X ü\ÜÞS¯/BCîàËá¢,î4»3Õ\Úy Ü‚:ño@\Ï7´×<ÐȈ–tn·Œä›òí¤ë ÖbXèr¬ï"u–bS×g°òŠ.ÛiŒ.—3'w߃uB=ûΨx¢ÈêÇéJb½'êö]4ÌÑ¢9À!£Z½ ¤ŽÞÒë*"£†¼ªˆºí â{Aý¤“Í÷'½6ŸÔ›+«µäµ†ÏåÌ¥ôOnvÆur9=É–â´¨œ³Ó™ÍO¨á÷ ‚^Œí=À«Tl²xfµ—Ô³> ;e2¶pêÁß®h‹yæjZùGó/Wt‘žI«uÀ¢½Ôtz~Dªá/ÓäJL;Mp¨Þÿ ^»ÏþSPÑL)};qÒxxðâpD÷cÿ'áä-(̶ìð:}Ò_tå=DÉR©Òj]«·É,ötP»v¥Â öìæÕ/ÜXÜ(PlU‹WZQÿ¡xJiìD]Uà Ê‘Þ Ú<4ke¢XD—4@%Î9»q÷ )"¹xÍÖ¥è'¢ñÄ\Z‡O|r©,ËÜ̱¯V•7 ãòQµ«ì”nä!Eë ŒWÇ£s³%@J2GþGæøì“'™áÃF˜nQ/.†²NJ^¿Ôg¿´:ÔúfŠËëV ô]ífòâÓØØwke€ ßê+™<žÅ+>ïþÝȈ ªVÇRo¿ùä„C»Âõè]p¼õm1“±²£üÆy„ÊF‰X튖냬Ît‡ý$-»"¶×UÔ€Ùµ"Œ,ËMœ´ÏÀrHj[QN\ò@ÕT—BÛ¦Ž× ØaE*2òR>=p¹±ø ‰„Æ{½ci[«ƒ{ÀèÄmÃN˜ÇÚ~<5/‘Ñh@÷Çú6ŠÚÕ«dškùRî„Ûuxñ^‚ò«¿ô˜ùÙ“7‹è‰$)’dHR±HÝéÞšf›ö2ßÊ„}3ßHƒó§+֭Ć·œIÍrlKÁß ™ýì0N'>]2ÕÇ +|tÇ@Ûê„ Üÿ‰{³N›M‡9z’”<×ðP$éÑW4dÐCøC$*IH¥§eüph;s³v¶Éæ[NNÎÆÛ…”ײƒ¬ *|/™V¢CZRˆ13‚£yÑiô»å3;ÒOh4*å(ƳPçÆê¤: =1ÏhðYݤÂU#pµm§› K/™Š5í· °”OÊ( æ§É`’p[né«Ý\ …(h71Û™é“àÓÌ Ö}BBVo&v3¦SI å®WïIÿ¯à´;ö+ÁRÄk7M§þC{eZ†…$ <ÓU'H½mAYz“·T’Ùmß{ëî3l\g\Œº+]Ç¥±Æ‚gS]éÅ&W—§EWB:bóo”s7ZÝ Pùæí>²b ]ÎÌ“#Ju&ϰKSõÌ„ŽñÉ}"ªÖF12ú CWX7ÙŸ>]ûÒ«ßúä®Aúó‘Qó♜µ©ßT;©b&" ŽmžÙ&8úöñàæ*ÊôœQ+ Î7N@tû'Ì8_¬¬ ‹Ê¶·±~<˜¼Sx"†qdˆýÏÛÔ;r8ca}(ñçâÈk ¶Ég)YyUx¿g˜×0b¥zB1Õ»~B¯ÄÅÃD²}Ò[üùkÈS®`bY7‰ªb±7éãć^cQH%ÛN¶³:‡ð½Ò&‡íÁŽÉ ¼A­Ñÿó§¡¡õË3|Ú‡á8íâ%·à–ö‘ §ÐŽ}¬Ç€Ë4G¶¤úNß2Ü^Ñöµ]­0¡õæ/\[Ç–·tŠëx*§À§A3ý̢㠕]‚š²É/j‚ýàiî}A+7{¬G¢ÒÄOt¤qt¯:DX`ÐÂ6¶Û`Oú“Jkr?·‰M4²–þU*ˆ@’ò1ÁÄ÷.ÃÞ|ƒïÀ"û¼dÕ˜òãµ]ò´Çh*šõ9½æñçF•~˜e“«áö85YY#ÁSŒ{zåX×4 *5k:ÚçËS.àÒ˜©Š;Ðßê\°uõ =ôñ$5?äŽÖè8¯4š—·0ùâ«*•4„bZ*£²m7±­\ð.€éÜÔ5r(“N~°7ሪå¯`úR%… Û£xæºÝ2ºçk5È< äÀuJ‹Å', -WÏ„‰ˆeŠFH!˜ßcu8YîQr/£ î×~rÛ¶d†^I2ŒQ Ä'ÙüŸÖ‹tYlš¢mT=–¸ˆ}lDºž:!M,ÿ”‚šÁg½•íMX%54^‘λ'¿£M‚,€O V€”©öžŽ ©$3VaÆ‘ì‚CDvøÎZpß(5¸½IæµÒ}n (¦†‡o¡Å¯hwîD÷'%y눵 8°82sÙ2ñm ü‚7c ùO×—7Øôøœ{Àé¶ÅÿTQ²Ƥ[b¶ª!=4O–×(‡»èëeÄ’VÃÀ_v¢çp‰g̦†˜pæ@eCy0N›£/²r«Î7òæ¬,ÔQck‹¿*b‡½½ƒÆýô&zBˆFZÉ=±ŠB#4Š¿pý. ö­ç‚Zµ²òz16áh³Ç!â+€ÀuöCJ»Ã› ^Õ0öS ÈVwãÚ›¨ö’^àJjÈ‡Ž¤V˜¤n)tyØQMšc[ð‡2³y¼ÎÏQWj\ðÂŽ+„@žïãÏ„=HÐbn4ˆëvgƒ¼(Vq:¡™0¥ ä*úÔÞ,¢ðæÄ®Ì¢‰×[¯…WR+¯òö¢½®©Y+e­]FT𾉥¬Wm0JïÉî-ó«ŽC,×tê{þ^WÔAx—ñbP¥~¢Î›Hý ÂW°‘l…ØÉB€•‡¹•gŒ+&{+‰Ôñ&) òŠˆþC}öd„û‡òõ€˜ÂÃ(zˆícûÅv‹jÿ†ë<}á>—~º•=NZ‡¯2„x•t;ì²¹2 óѰˮgU¶O e©qÈ àÀñ?äö´ƒÈfç#•J¡w §Àøþ¨ú2%l‘ö‹Ú˺›÷{Nœoà3úƹwû4“CÀ/§›8'»T{;Óšo‘¯•È»ï5§_›‹µ%-x=B˜òZêy¬ÿ—‰=Ì-þ.ü{SŽ»nI*KI{ŠÒH¾­¼_*4U(—:î¢ÃéJÆ8~Å.ÊXu!ó >·”]ähúï£OTÔçý‰I³½…%Níxj;.ŒUÀóAðI1 ¾TëØ>§¬¼õ’¾uîÛJã4UPÙÎ;'òê–·œÜDøtœ+º»É¹*¸ª‰ÜÓªdé[Ž[G'¹_‡jÌ,ó ÉJL ‰Ðá¥Ìy጑h^n•D?ÙÇj#عb YнrT=Fªû'£tK\\‚ç:Á¥tc¹N5ÀëUôz>’/vR˜H‰P“|˜”e Z\¬ ¨¡Þv©vØ'ȧ.´áÙ‡\G²öû“÷ѯžbæ.E]\ù8 A¿Ø MõÕ¨ÛA¸…`­n>ð‚é‘-èXL׊-ŸîŸ~#[Äy 䢎 àïo¡Òæµi;ŽœË¨i–^.šZö™ûû¶yb] bT$#ûÈÎ~È”.¯ì¥ŠÝ§y$׋1áÉWj×äg`lŽ1 òDœ-:÷""é.+­Ç“‚!TéVÜiV܉S¾s‹²Q«eâúeèê¼F¯š‰ç?©-›çw÷[wЕ Äa˪±¡“hªpå”{£\xÑPS8(A•KQTß0í¨û7ÝFëvx³ƒ…h¡ÑeæU}0’&& HŒúBIö*ÿ¯ûZþgeÜDûÉÊ£ØÓCäûø~莑ï¸cQhÅgöÅú&ÖIxÑ2ºë‹HAž<€gÔ\†×‰¿øŸ dâÞoÿ4ü«£z‡@Ié#X‡ÇKyïPÚÅvÁö? ÓÝüµã÷;(q×¾{geÙÕÁã÷eÆí6ì ×ëpNxoÝo&ÉíŸsUT}¯‡8OÎàÉíð¥ZæÏ¤ÀÂSŠœ2)8½¬òë~Cå ×wª]àß–T? <øÃÿö̊¡ª‰J÷ú×µÞz‰f¢ùeƒ­7ÿI3èâŠ*4c8;[ÜÏž\ Ïݲ3ÔÀVd¿y[ªÐCõõlU7k…‘’â’|ü–(ÿ­kY…Ó\+ =~~‚±Ë“ &•Gu’¼rW³Žj0Ú-Šþ覨áR ÏaÄ#E¼f(·¾VÿªÙ±‹Ç½©“Ø›ÅQl©#°Kk¶Õj íGÅÀp@¬ÚÐ =™ÕÂu®µ‹{åû5iÏŸnbã^Òð´²÷è,Pc§3 ã2§–Y#¿Nyže­kñг²™EC“3gÉ™~ÚpmŸålŸ‡f×CF½ZàoßâÃ%{Y46-7!"`€]Ÿ ½“ qÇ_]`¹Ìã°¬ò”y~göV$›Ìø¹k!Gp¼ð_ÉÉl9ƒ‰U¢¦$*kDÙ[@^©–‘ #QÈ^»«CÓ%ÑDdãß`œ¸™À磲Q)*$?ô&Â×n[C,ÊÐÓôT—Uõþ7ÀQœ¾×ñ°E¬ëí_ì0¿L¸=æY,²èD1t„o¨†Ñ]1èãA™ˆkJÉþDë~xË×½r ÛṠ@–Òu‡HH›Ä¸j‘B¡ = Œ0'qVsÀ6¥h@¼ Om×pmŠÀØ–¨b1 ÚqÝ‘›»¯+Õ( \²Øit -V_¦ìÁIp˜ÇöpW,ôÅâÂ.™ûŽ[&‰“†¸®ã†\Cnõ‚uËÔ25¦³ÍZj‚*¡Ï$Zê¾d^Rnßì^>[gùéÏ@n¥s9*>ð=@¹ë7[Ýëím£‰¥âͺ‡RÎIÊÇÑ›†T1É—,o,ãöØj0b!*M‘ j“¨&Nx†»ù À J­©Ô”4ì:¼>‰µ[5@´Ú|÷Ñ|ÖCÝùH麫Ô%éÿJ8ÅQVôrU6ÃÆŒ}p浂ÁÆ ŒFÊ×;è)|ÎÒzž¢g@¼ƒÿŽ«< ”ºùºÞq–QuwóA¯^N<[ê±¹ 2Ål€àßÊ×·"žÍptã³¾êL‹ðM2þayIŸÏH\½ož²K0Îàå ïþ/ôTšt–Ë9ºÇ9-ü†[¬Ça†µG:¿K8c…ø64ùðb8wâ¶Õ±Ôî¶¶.§ëþ_թ͸R±p97ªo¤P¿¹W kAª°F¶,ÓTUF艡&ôšÖ¥-%N)ÕÝ-Z,Wôï'ŠÆÒÛÐ*GrƒPlػκ_Ia„ö)[¥ïl;ˆæ–U‘ÀÂØ‡FLöÜ "ƒ =û«óFªxošÃ¨ß%lк¶æ™•ÇOì`A ÒJ¼ƒIyrù£T'Côµ[¼ê䨂¡²ËGOÐV*äèuUÇ£¼sVin/¤ž¬¢±G‹£Æ5èZ«2IÓÖпdXÏËÄ-†n} ÍzÕ˜fº g»ó¶ÅBœ›ypë*Iû®9 aX'ÅŸ+_ãÅЋ[ŠåÖsTwÌÝ ¯yþH³6¹ÜkÛÁaªÃ'ë„“$˜ëÝ9Œ;®HÊUqtÌ ½Ü»¥EÕ§ˆ²äO‹w Èñ爨¢‹oËJ’=óüBÚú"$¨5Và]6»ƒ¨Y¢™‹úþò*ñyp½è!Ý9:ê´Ý»Ì$]>Œ—ž f×ú$+$Rކ—¼Ë®âVjó 6 ¶ÍŽðz˜12¥«¶kù˜Yt£7ò¬`{¡õ¢¼ÈL¶`l(Y¥çBΟóýæ˜KHÜŸÕ×Áa¦ãºèkžßy B`1R’þÒçNðÙ_ñoqѪíJVÒ‘ç4*3×F#UvÍ—ŸÀè0‹ý×m2.Ã'׀Ǯ_ç]ùFT\–ö¥IŸ¾ ð¾þåõ»ú¦<•ÜêÙÍxP×T˜¶iß7÷þÛ-0I8GÎi”ëw˜H}{÷uB+W.¤Ç [iÊ7d ô°†#ÏÒ8½GüoS}ßÊW<˜Ôr¸¦|°án•™U\Ö“ÔIg*iÑGì…µDmôQ :^Ôõ­| 8ª’BQ¤ ä€µååFt…̦ qwË,Õß&¾£¯ã{Ü`~jFÿ†ß¦À /z¬VYJ¸!b­˜$ŽÌ}ƒ01… âò§©(+o½eïÉÓ\@¦i85÷æNÕsIŸ ž3+5S‡£'ã³ :˜I¬åßX›åƶÙÌèoÇzXŸðxãáøIÜ#S×o½óöá‡Ï Þl%ñÛô¾ààÀK*~}lŸ>&ÂÄÚhËù/Ð9©Í³ŸYžߕé?cVóð›1ß ¶$T}†ˆ\ö"6È_“ó…Až"¬× âk“5=Š‘¾”@¶SOQý¸ïNCW7Á/†%'&Oü'‡_óä\ùHërŸÖeßäM‡œþ@´Ç OÐ µf—.½lOZ²?ÏqüÔטx=Ÿ9WÙX ؈qÚF‚ n+,¶Ú…VŠ€µ3\¡U\¿PÎX3œ»O.ã„2!ípåÈâªzªN!IÉJøº”íLI1Ümkg<@Ó ´ËxD¤dzY–• ñ­8Y1£F¾;¼2ka8r8ª˜ö âbØÚ óŒTíkŸ4ЃæÜ[Â0 ¶õ´c„$¼R†­{yk :î´2š(R¶*9\b”WnšÇß|üÙžµûµ=‰ÙE¡æþÔå©ñÕ§uZŠ•(£  —‚&3$‹¦UFým¿Dàþe÷€2Äÿ8ŠXi;oÎR¶+Xõز¶¥ªKsïÈšjýþZE…Þð Úf’W0&*ž[ôë„ÌkPÙØ_  {]âÞ¿Q4>ü„›dÏ`Ð@¢Hº 7E'5áíƒn#HwUj iqÿù|±ö-fx‘ùÍ3 ›K[<ºh½^ßÚÌ݃oo{yüÅ{£æøÏl 4¯ÚÊÓ£hÞ·­«ùà ¯v Kßúåñ­Ÿ`6ÍÃ5n»º²ÐŽ7K™[m$ÞaD¹œÑ¼öHhgAN`PÃáYÏìSô†^K,ü‘›•ü´We„èä Œº(ñx6:ö…nR$KKÊ'Ö¼Ä﫵ˆÌýnã õ]3õ°®¤C;¨@k6àÈ©N“ììì1¥ òÒØ³¸4½b2Ã{|Ñyn/â \нX*!*²ìä}è>qCe¥·«6r~QÌÃ¥[ÙúBG6ßÎɨßs†i•™¨v9Ç3.lóz×dðÝä>ôÎ4ÞÞ[ ÓROp8ô¥òˆ·Sûv"ïãí'$†¦-ÂSB»ò„Égø²ß?*¶‰dë;a›ÍºB~Q@&ïZï‹&œ™ÕýLM(¹Oãßn*@ú›9 AÐdÌ~ o¶R𲯿Æzmþj%cý"Gç:"öGø‰\_€hN°Ë“Î]£‡2C|Ý|µ‡sd¼&qˆ€Œsj)uÜ?]UX»ve´x´¼põyõ«Ê}”QH¬®·ô×l!•ÝJfÂy]•r$õ–‰ZÚµ0¢l;ê%ÇÈ‘bÆv {¶Mʈ #8%q€¤.i¹–ÞÅ–>yO›Æ¥?…-O¨­URlï•%q¤`ÁW“Lj»š¡lZ™Î5ZàcÆA­îyñ—HË3…7 ã\nÉ€ÇÀ‰&âʣ·ˆIlˉM<»¹uûGÙä=AG5:NÂÛjg± Ë¼çÎ0Їol,·š} céšh„ù½R´^Z!‹Å³F¿Ä+Ä9Ĥ_9ïæaˆŒÕ^!o&~ â¹u‹’Ìî; ±<.[62e£SaÉŽÿ—?MÅx›…tá‚f·Zª0pÁ²“ê³–˜sA¨¹²=ŽUw“õ³ØÍkÜý&â¶S(4ÈŠÙ‡=å=ãe §2dnP3\SåF–›Ê0¨#¸ddøi[0°¶¼Cë1¢ME&^ÊÙ#8¿" óØ e½h»:$ÒÖÉúPK0?½ éš2ÌQb%¶"]=)ë‘£}ͧxÕ¹~Pšß£¶a•™|½ÏáÐwÆJ]‡åq‡»˜ÙÜѵ©)1] ºð:”9_±E´Ž`»} Xvåsð…¼€rL‘½ÝÛ›E¦÷á1œ-Š&’›À$î)­aIˆBÕÒy†ÿ[!Lý8º¨>²t–å m™,~;µE¤Ø u‰ïûp’Ži9¾â˜X%e&*Mq»¬áÒáÃ, å»O¯ƒ<ãÂ%àõ­¤—|ßZÌÉ¡¡²%‹,Ø ¼&ÇI³“ðœáÍq^̼k«ô6P0Cæpl-b¨¿ læ3Û©Ç)…t¥É*~v»Æ4RPàF ïì¹­pïÓU¤U½É†×W”ÅŨ¡ò¬.¤ w¾=ÿ™ š²)$£ ½q¯ ”t[UÖE^p4ö¢ú¡n®šÍ΋(‹'…=AÚ©Ö–÷Éd)3b>ÚËy³¹ Ü7ÝDôy,ƒâ/ù 5ÙÏ·Ðϱá}gÞÔ$ÀdÔš|÷T:'é"꽂¾òbî29貜?òp+s€×ø–C0‚ƒbÅ·€±MˆJ>iÀg5—ó&¢}úQ [k<9=ó{Ô`á8ê%ÌóLBG9¢~‚Ž)CÐÚ·²Ã;žUîážCêñ«ž•ZšÅÚ Rý2D)€Wd!/Ô‚£Æ‰Îý­mXò†Û-¤«Uçí`šx¨=D‘Ì+b§ÓØkˆ¼ºßÂ.@0²n£ŽCÐ wˆ4>U' 6vÛ/ˆÈ‰y¥œò(JUvEpã®­Ì( Ë5Öÿ7·Ò»10›«6‡kH‡’ì>öð}#]¡›#M½Ú®Ô™y™Ëž¼<áCïk4< #8©!w:ؼߩ-z-ÃU@gÒvíklÝ?æfm;E€*Ob‰„â¹RéË ØÖßnd”8²pr"ÚD XLÓ7H]ŸG×0û\?œzîÌüÓ%{é»T–·†E‚¯9#V¬Ï‘l87r¨²H É`Í­e¢žœÃà^Î4ýK¹NÅk™hÇ'Äbñ÷ Þ‚’fé?v;|Ödï‚à÷uö>µ)°/ñ¼©N™4!nˆµLwiMÇIkñÛ†y`¨¬vìâàé˜? ÆÃYñV[៰ F‹„m%çÁ KÌ sWšØŽ'mS…ëIzbçSÑi‰SéIk7‘bD¼¥*(ÚTç DŠP¤ 4àF³sL>cu¦›LSp’Md 6^ÜJ¼ÀªPæÙURâÃõDwéNèU’œ°D†2+=L!µy'•ßßBí;ô³Ãì·…œ§© øÛC*ÿžâS÷»†*Ñ|‰ }*$îÁöýóàW ÐÞmù/ê”Jw”÷¥¤õR'RgúÕöL¸‹ Œ¶~An¡„|ŽðŒuA¯Tv+ñâYK ”ï‚tÇ#2Kõ!`¼"vq.;³H½=IMs<ðp B…5HÚpFDS•Jž)ü%0—Lí Ö³Èì¼(hr›ÍøÇÅâÜð2C_Ñ9 ‰8*ò$• ô³ðçu«¾¹¹@âúÙb¬¿®½…YÁ¢¿M•Š-0•s¦ozöö"›°GEäßÓ²%á=rR¢ê‘:ižøJÏ·‘ð~VãjEÇœgÀЂýÚÃG³ƒÓg¨ø´±:Ýù{€ŠÐÌ»€1Pr?Ñ”} ]d¶·,'Ç„ø,‹^¹Pÿ ç,!kŒcýÑ´'Æí ¸‹±[a€´þeˆ ÛõKê/î ”W&XԆ˺–NDég–ù@¥Í;i\/Á ¶Çž-¾Õ±9Û }Ebº×˜ófÁÄ‹|h€‰AÒ UíÏT}û.¸~Q¿Ø×’ù'g.fû\JUö›èÒˆ]QrûÞਫ਼÷ùw rZ ¯}¤6ZǘeXYòÈwzM[–¤E†­N†sÒF~É@ v‡;Z_åQS~ÊP1£å:¯<ÖĬ_´_2Y+Â<Ö5J#¸Ò´=({Á5 «s›¶?–w–0Pýo5ÙÙ.ÆlûO!4, L7Xu%ï%d¬Jù¿ö ?Z1• kµÊRÞ~¥EŒÒÐÌä{¨rJU¨2Q9Ý«hMQGý¸RoÇ‹zоڤM$ƒMƒÚöç‚I]´@^ô@fÝߟ?bÈ­ªPy€F&—¡-Ì;õxȯÃeFÔdÛÔ/–|}/D½½h*ìoåìÿ üíiðÁq3C¤óü³Úö/L’” ’Jàz‘eBoÞÀÎ#Ù:(Þ­V}[Ôã#âê@ªH?ÚVúsÁ7šÍÈKD£òÖî ¶u ëÚª j¦c¹i¯n¶®1@Ÿƒž«Ökà?I}o»÷u€ÔVˆµªS¤"6±ß–^© ¯¼é^Ú÷ÆŸ› 0#FÿR"ó÷š)u댆 †€î"ömô¯[¶û<{x+ñˆÆ „eKI4‰ÇÒGÃËf”" ·?Û¸¡Î‚øÇmPïµ³^\gjE¾­ð£E‹Êèd@ÒÔÚsÞ~!WÛ†³?ñÑZêAsN÷ÎÎâÀ¥ûò[îQR¸²¼ªDuSÛë}à”mk•K´™Kk©˜ =ÂW-ýÁ¬àQsLóÄ]ŠôVÚåÞlØÅ¼ýÄ¿aÓŽŽØ±ˆPà|Ý ¦rÛñI¢=Õ’0b󕪅‡Ñ 1Äõú3PþÙ^×åYäÔ!}÷V)ô‡qw‘ê: ]rþuÚ‹ÕϦ†ËÖhvù©÷UâÛn±ïçðõ†iñ%õ9me›K½«Ý‘4£A+C'ˆÈÀõ¶‹tñ(EÃa:bB^ÔÜg.Ž|jg¸q^&‘Ázs¦„_βܔš>énH™EB|Z/*N=¬'ëdZ1ƒ QR+èf_S 0n˜íê|^0(G‘гaök&(+iJæ²(ÃôGRÐKÕ>?,£M8P"'.¹„ýœ*ªJN™C3 …u=Á=­•Þj8› ˜Óÿ}0PJìo¨(ŒÈj¨2ìЀüM>£J¤á4¹\JÑB‰¡sËãŠê;cë• Æ ê¼6è«§ºZ™y¥¨ Öuþa#³ê\{°Ò×ÅÛQ‹àeÆd-SQœò¾îu¾ïýÜeÔgïjºmû“Wõ5‰µ!ÎëEF'iä?Ú>tpÚîqŽ*•&:ùw® °ÎkºâµÛøàÌð]R%½=2Ï-¼¦èL"ÜõÑSôˆÚìÀi&·žàÓ¢[ÂWçÕ’&Å`΄ÿ}ÚþàFcã‚}OT™<‘³EßHùüa>tZË*.K1ä°„Ar”œ"MÎÁ±r€S;@Aü¡FÌC²\7,™òŽëø‡3F°fr€RÀb„à Eæ„Á&(F¿%L·¶å=R|iköË6,®¥+Oî îóLlf+µ’ÑÚ ˆÒœ“篣p9%’3†â6±ìê O¶û«¬½†þïFQ±ÕblÓc!¿åuÈb߯ˆ»Ûön Ÿ`§ÇW»®ŽX²EÒß L¾º†WÄý{3墽DÆV²×9×Ï–çÞžìVàxäkÀP3!4f è“•ÆÐ¡üL“¸Ol™Ÿº¬§OB›åèôÞ„¬Ô¾=«h¶v¿©N<¤…l„åÚ}õp˜³²B Z½ª,Œ§q8)Ž[­H¤óŽú(÷ÍÍž_ÌÍF2@ö™Ñ~¾ìÜx^j͉°åèxIV7Ëq~Uë¶æ ¶¢`ÂÀ6ÇÚ¯Dx’œŸµŠ\é©}û$«§+•GÚ;ôÓ³+×k÷àñ–èd,÷óœ/ ™?”‡¬ìåÏ-ÜÐ×~^?¥Yôížã ì Ž~Ô—ÑuŽœ¨;(UdÒÝ ½ @}bé~>¡…‚@udD’S;JÛÿ¸’ß§Ð)}™·™7çj^œMÈØGw\ËY§5dÜIùötÌjÅXËÍÝ?kÜe;*Þ³N+Y¾üBãñâ[ú ìÀµnrQCLöª:ô‰ˆ´°¯÷¾3­ÙÎ~¨3ón¦€Ÿóâ¾XíÄôR ¢LöC[a´n5yhöG+“WöÀ©™ZùXùµrãñgr|\{¼:ãßÄÃËÂ*¸vç!=©{jÆš8ccWN'Î¥¸njÒ]Ä…?½¯ç^E§Çé k(û.p>*n” XoØðKš©ëÇ/'ÅÁ‹žìÎ9Y]„yÚõ„éÅ‘œ0ôp.È¡áßHd*WÌ"rÝ)X”ÈaR6O7®u£zªvV«¸˜~ÿŒO’.2Ê7oýPéutt~6CLå?È«Nµ õ‚£GÄÜv“dž³]ƒâêÔf©‹¹òÊÈ]ÃóÞa‚z™-çyR–sXœÒÓz“¯TŒsæ7ŽeÜY㟀tÔ9s ÿ Ι†íDí¾ÀƒÖè¹+©ìKKàMH‡=™D’ _QÄ ÉÜÞÞ_Cßò•†]ã“—ìâ>dɤî7[±©Šx9Œå˜ë Vu{t§)ºì+Ïç7 ûSð4À•<;¥˜§÷þã ŒÛ@x…H,¤?Èb~›Îh¦yïEÂ{U¤„÷ºýIêš¿ð¦¸å1þ#œ–!’ßãÓèÏpOk Fåà²(ê*mnÏ• + ü²SàÇKïR¨¦R3wºÇ¼(m]mòÒ #¢A_ztw_¶¾¤ÇÞ‘T”yHç–Ýòm‹Ö2B­DŸw Q´!J¼c]?ÕN ”+Öø^ïƒùø'†9~ MjO¶“~6Uº ýy4 ôU"ÙJÅBá2©q*÷+ËP¥BŽùdùîQ}¦ºNó÷´dÐöŠÚA²åž˜ðhÛÊ£äf̆{ÁÒñy¡´?±—ö 0Zí}Ä×ÁW(?Ø8ÖhΜ%¥©v^4;Ú8a`%\ùUj,QâtÝ Âá¶µCبòù!, QñÌD¤Oùü,c™ªC ƒ~Ùð–×Þíg»dztRZ½bÇŸ‘H†žšx¾q Ê^iÓ߃Tª©¢Õúö²²˜Š°/Š]xtÀœ›Ö–¯ÝRH/fÊ-œ •ðŽcVLè áÎ BȤBYau?U!Ò§˜j!ÈÃÉÄxùhÜT9=/;]¬e6<½,¯L“Ã)ëÁKÈç@³S‰äåÂh¦>,FŽÇr~8Ñ¿¸ûU6}ÔÌã Ã(˜§{i–,œû§ùبÑT>:þ®zV1§@²ŒÔdg5}Ñ&¯uøåÍB<@ê9ÅË€ä_›5v3¹ GÉK[ü„ÛÑ#O y|¿ ÎØTQ}·¿tV3¦"Îqcô¶âl0WMóíÑ_8® ù´ô Bñ’©‘¸\‰®3rSzo•¶3•i“aŠmU}™=ÒnXŸ|2&K½Þ}?ZŸTú¹m´¸ ã./òÝHtQGŽºÕ«Á %W k}{‚n)­‚œ@½æ·Ð_ë6µœÞ‰½ƒ,Z ª öØ ž¢üˆ^;vñcŸߡv\iÓÃ* ËsLÒß‘3('U@l´M ‹ÍQ)Ò9~R(…ÙÔ&Ü4ppqT¯"Vz‰ÀŒé»¡Òa„j29ëy—¡P½f÷‘¶â ‰?j7ð.Q;•%éÍf™cz¾D.åHIdl•€s]j| Œ­ÚYŠáüñ•Ç×ü÷³1=1g6øà›w-˜ƒ9|ï×ÙÐX¯KC« ¸½|ŸfEnBUŠLάGlÎx>cÄâx8rÞK/vuÎ^J^V¦’å*ÐNè\Šû§˜KãÓ?÷ ”@iRªþSEøÛûH²þûsûaÛ´Þ ï£9âªÛ¥ä÷™ Ç!•e‘\±~‹o/ö óŒñàtSœ°\8ÕðHduv¾å¯Ìœ#~£_è2œËxé·ýQ˜âj‡ûÐU#-¡ÇWÉ^“iYÉ«+*¢^¢¥Yé³𒒀о|õ†ßƒþBˆ'û>J&ÆüðPô'Ól·Ô þé ïž~È0ž„:7ÇÎ9‘MhÏA¬¢¿9ƒ"~sçP³‹|“÷F6ÔŽ;º°ØàÞ“Ý›‡÷·0´^YËV=2ò3ý0S SU^r[prìL‘‰¯îßoÝë)[ÌhîÚéh“ØVýUÖ/4U¥àEÀ®ÀðžÁɪÔèýî>ªÒ81e‚ùU§™c+uŸxÄm"4-ÍÁ, ’‡|Ì;²G»rRl>W°ÁœÈX»‡AY:Ñþ¢í¤8÷¤—ÁÞº³J­Óî¼cJ:úb.¢ ËcŒÆ:jüÍ}m†‚"Ä2Ü(†5ý9»ÛUÌ´(4eöõˆðj–‘FúÿøÔµE¥ç†÷èã>rþDcª*ø[júì4u7ªÝîúº€ÆÜ¸höM¼ØKæÑ¦ûÈ '?ó&…˜VO.bx¨d9_®86VÚÄ0[9»þ7@›úð¡s¥*šƒ[– Y…B7÷n[£B©Ú[ð°æï·Ðî¦Jó÷–W½3;$ÃÃ!¨`áSÅàÇ]Ï6ÿkOÉß0íŒcÏg¥ðHM=ßFy”‚¢ë«¤oS¾¦TŸÐÍxÿ:)W‘¡õ_͵ß^ŠL,‘R`zR„ž1¹£4 V¹þÄ%óþÁ ÑÜ/ÆTi6ê/{ŠÚÍnãé(¯‚^6££—»>å0 ÷©„›hE õ˜ôè¾Þ<kTãÕ(³µU¥â¦N'¬Ôîïû!ÆB©o ^ôÙF­$z[4BIàŽä¾Œ¾sõp˜aðe‰Vç¶¾dîÏÿüiuÊ­ø—å¨GY‹NšHFsÅÖTì'¼8×&2yžoB(‰Ôö·#O²ß‹œW*N0qP"ƒ3M¥?ÿq¦¸Ãòæ$Kæ)’Ö‡á73”ÿØtª[kàÙÆ:Ký_~ç¤ÖY?‘„©u¹'>{—¬ºå„k‰¤ô^ÄNIÎñ¿ìSub1Õ0r˜¿a.ëµãb¿ñOö?Ññtu¾—ó¼CˆFÝ’Öl“×ÿ¯‘|ŸD“¸D&õÀ¯xŽ½ÕˆžH³ƒC<,]›~›¬Y®¥À…¢@ÖÈøÀ#ÓX¶æŸ]ÂZ`2帬tÞà®nXØšßv2µ;°z‡3]ï× ©È·®Dlñ=3614¿|3úû=>43¢apãhE†&üo¨ŽÝ®ëE`¡sž“j”E 5þþ~ßÒ ÿH–?ÍÊù؉äÅoa©æ¥…ÃÃ#f@¨Më¤(PÑ=êpN ·À¬ÇY—‹âθ²ÜxI`;Ÿƒ7/PB^˜t•™1¾žaQKb|Ày|%^#¦Ìçðz›•ÂÔV‰á¤"gY¹å«¬‡fï@“Ý„µ¼÷&¬NWS§`ù8y>s~õæ¡OuµÍèQKçþM! 9&ÉM¼7@n¾z,Tk~²Ø$°[Ð{!œ£D‡W™JÞuÓ÷ÁQn¿äÖϱšâr‰¿ô ÝjÈmMq°ÈŠymÁO‹‡­ÃPÁ ;ëàpoÊùÊŠ§Ñˆ±¡„E¶óϽ >/…«Þ åpz4´Û‚y€¤ÚÙX‰¦h£þ™ÂÎKF#ÔÈõoPÇí€pmÖX-ã]WìOŸ®<6¤PP Ká«ÓÚ–j§ü%ðú´Ò»" BöÚ79Òê•:¥ð×ï•F­¤ ‚™t_m²‘¾½ð½Œlª0K}q,Dñß¶ÌVñÞ‹ Øc–L³Çq[ÆÄü¦%¬Ë$»IÃ4.Ñ4RÕ[’ðâè‡1D3‘À •®_ÜæÑãE°C‡n©½DsŸÆ©OP¬< fÙ-0Ž{G EþaÖªÃÁ¥€BMÔD¶E–½M]/æØÈš¨rP?šÑPw0ànY±+|DŸ…×Z.A|âR|qz€X/OP± û ³Æ›yÌgç¯Ð0áS`ê`î! øõd^‡•Oh4¤¬ü=n”û[8n¿r³¢ÝI§‘ý¹Å2‹Yq@ͱLÛ¾OúbhjÏ$S-FOP=/§š ¨S¢O‘ÍPÐv„ [3_)]„™`8·òœÑ,ˆ¶®Ø,w/ hero$;˜‡¡õÞûäs¬¯R"˜',)Øw]ws™EB=ê%ñµ*C4{ëU" <ÎpR.H€ñäqñ½Wt#öƒ hƒÑv¡(¼¥ë:m4&åÖÊï"të­JyüWDïqJÎÌæSžsLK]!³iDýw ÂR8~jÇSþÏfLaóÞs,©ÓC±ñÃIËè^zÔh¥; Ä:%‚;ŒÐ4Z:Xs6>J»»Ý^•ÚòDAŠG5Ó¢ž“©ðF÷¹Zg™™Õõ¢^hÓv£åíNƒº ØÃ:í\Ë»Nyóñ¾¤Ž–n°÷5y°R2–µS4[¼ÄøƒjQ*±lØŒR˜½WPode• 9FŒo<}k9d9lv±uð9o¥b·©o@à˜ü)ògÄ Ýô¾]ÒÈŠ5¶IRXû+?3÷ª¥sDXÁŸÂü¯yN–Ál­¯m¥â'äŸ3ÙLO¨š r†X¯®ò`ÝjR£.ÅÎdâ™øµp¤™êybz®[ÜØ t6EÌžÔùdb¾Ð1Ü Ü—z36IKü)FEïsÕãЇ'wJ² _é[n:fvy kQØÝ¿Ò bÕÍî^|˜w06«":¹>î ô´íÇ»IÃiþI«ðM°6iŽzŠÓ")-J}Êt0²ÃÛÖ3‰üB5ˆÛð©MÂl»ÆŸ Ú'ØL ˜ýÍš5Cß°ê}M/AE1‚ߨäf›h(ü¹–®~U+'„y­Óÿ£2ðÒ?ÿÇ}âí½ÒAÉ®Ñ%šþ?ô*Ã5^i ‹]£dÁ,ÔÉȾAEBJ¯ªÚ&«Æ¿eƒ½Ñ¡õ‡ôü“„U^í‚aÀ£¼úôcÁÁVˆQ¨ï²9uÌÐÅHne’làC>gÔ¨†œSñšLÙФfU”ÏäfñÄb^e«Y«í ¡ÃR®Š|r¿Œïaõ+ÕDe÷TD·Ýs!G}‚?+‹©^ƒÊ=cªÌušzÙ‰½ ”^Î탑 -(bkù~k}ž’í+„öD‚O¡@˜ëÛà‹C>íøî'ÿ®¼¯N’Í&q³h»@5£2=DÙó`ˆÁ[pb!šÇå}( ðæIãâ(ª=³®R6Pd¢£jÝ%T‹zCY €ÕöMCa¬W Ð1ñÖË»yHeøÃ-&ç¯\V‘ê®ÍO$w˾ÁÈ’ö®åÄø~qªjÆT³§ÇîÇB)SÐ 6ô­[ ¿“l}üàbÀ¥“Úw™ù$gMá„ÆÒV¶·Îw(Og09š•Ð 4c=–9R€–tõÀ¨DµæÆ™`qר«Åö¨ŒAýÔÙÈEM`—ÒÊšÌ(MbW³ÈâðÆmÈþ@%T9µÈD*ÿ+á<«¢W#dª*&IÚSŽJ,õyQ‚Þ4ÊŽ‚¹â:ÁÛ3BK¹æSO\h«®ù¿Dyý_KŸŠªÁ1"Þºa™°Âbañʤ„M¹#¼½RRyê-Zd|ÖÉE´´¤¹ú¤Z"K]-–¥VåÍ{Ò÷#[͇~N§Æ,â·Ùüp4ÁÂqÙ˜1ü@å”ësÛs x1ÓQ€ö ;ñÜ­¾„,ÚI•¯©¤Ä«Û½8B¥³ð¢ˆ¥Ç?TTkR'­=ã¹\ij£Ähè켡NÓ&iÜ9ã›RÝW8äœB»š½=¥È»BÄN.ãûE £…;6ŽKÏ“_ý©ÑPÍ8ÎßTªŠÏŒ•#V_ÈFZ’49ðÆ{'!s}¸½^{TE߈CäÍíƒn[Uu €x!fÝ“[f±õ¬sÆ9W²Nš íRŒ3J„B‡ú?ÛOÄh|>ä Ïyo[¨µR;é$D¶œ8ÿðMg’ÝÕ‘^g]—oââþ¨ °7L"ø0Ó˜8Ý;Äæeq½¬–ÈÐNyT6+•õCçwéH<§Í k#ß-“¡ãî®Þš|ëx}ÁP#˜ä!Ë-f—¬¸HOKŸˆÿ ¥Ü‰¡+2ÅÒ2˜3K~ß7ÁÍ¢tÁ~YÉš^*‰4a€Ü]Ý;‰¢;î.îL˜—§a6­!’• ®åCSîÝñ§b1ÁºMLùßPWS –­ÛŒŠŒÌ1'ðÁ««§ìkÜ Ì.¼³p–8ow‘°1X²…:ãUÖ ¬W٥Žqltvï_üfÿ#*¼)ºº×<¥Ÿ…2²îSÊ#{À7'/+¸¯¬é‚-·Qû‡€Zø@¹«úœÑ²¨¨Íè[¥Nƺ„_oøa”N@¯U=nQ@ ´qŦTQrZÈ‹fe ÙêèBÏ–?îâ…ôí¨YIÊ2»[|‚pw7ÿÉü?>v"”ãœáÔ䯡údz”^…»,2srÕh—‡PZÑÝÅ"l_#UŽ2瘌f„ ˆŽJ:8Çà¥f4Í„":U£s Ï0ÒbÍЃ>¨s@È{m på¯Ó`ŸLfŽe†S äXX¾?±nð®¬Ìç´«·IU“a……0^ö·ò§8A Ùq¹<>§˜ ýn d.˜ú]®¬–Xw}3ëÈ—@Ñr—}¼MÌ5õRÒ9fÈL­€Sc®†‰<ºÓ$'º|*-{aˆº%òVªîcüÏ#z[š¦ÆEU|ÙªX ˆEé{î/¢ˆ·W/|D;Fã¨Â×ya¢2pŒ±O †gÙëŸeë%÷o%µŠ]Ao{>JB%„F¤Òx/g;æRñV\ÈÞâ”wg‚`–E°€ïp‹)!ú½ÿlùSL$a×ûÐü)æé—Úwƒµze÷j?Xئšt‚Œxê3ƒbw˜¾ŒˆgêïÓaÁž%hö¯;õØ_@: †ƒòÄã(ÍJ¼š 3¯tåð4=H—…ƒ KmS¸ ;ó°ýƬ÷É}x¥ç¸­¿pœ§o3§_hÕw4à-UÎeÏ1KL¶ùí\"ÓÇ»§HR+h¸>¸Á×[}ñˆËèqøõjîFaŸ&áÞ› ­ô]V0M›ÞÅ^,ÌUEÜèÏž\WÞ´üþ##±D>RçBù²úºņ $…`ø3~^Ù)z’g¹±ŒL–TAu,Cw¸®(âÌa>køëM<(Ç…Â&¤C'/||æhÚcLi‚±ºÉz ZÖܵR$@Hîf‚+Âþ4¸{6¢5פZ¥L"o€ßù½µžOƒèO¢©w_¡‚¡ãxÏU KÙ׬Íp¾%ï£ÎHžÎ¿)½ÖÖíl»‘ô@ê\phö1 FD¨Þ¬:ùïæÜ@?Xq„— ßMì§×=üÊ&KÖ2ò.–Ö¾ SMcÝ^OÙŸW K+Ô°ôL‡2!—›é?þ\U¾B×213¡±¯l7Îuîx@¬fXÿI·ÝM´táóÈaR®9%í[BZÍ}í¦†­—I÷‡>9惺(?m͸茬Z#’l ‡³ÖBg^<茨Þv¬€‹ ½bà­‚äTƒ!—t<Dz~9ˆŸeœ”fõ˜‰è,j`öyùá¨a@;/‚ °>é ¦à­4D•ØßÀÚHS+öYàÇ¢Û™ç<ëËQAš` ÀùíæÅÞ{{s]p¤ öeQ°hý6‘nî°–u-?(Ë&âNl¬Œò$A&þI%òuy_Ü«{d¬1¹LGgÇ:Ubôÿˆ×*´ÉŒh€Lȉ…zg40€Œ÷G ¬Ñ°$NëvðŸ®f. ºósä?@^Üý·‹D v,cÖû:<åcsÅrWÝku­®M0Ûá‰ö0ß¿— ëó*·œ|I–ÃÚUëÜÑKâ¸W8•êm'zñC_´üU”€–ëM,cžpvXÆÏf>ÁØßõV—~ AÈë¢.Å®´,ïé_MŠÞ0¤%§"z³5sdî“»ª#˜µ•LÛ_ŠŒ§™u÷©ìPà [x¸&ÆOÈöÕ##0Ç2æ©^O½nј´ÖK!š•öFÝ–¹Âƒ„fýÁåú‹ÈtŒ£9iLbeZ…,œ–Fm¾š0tXgÊGǃÎR 8)‘IWùf4—0µfehJxq{œ!‘]¢h‹£T¸_ ˆ÷ÀÉ˺ržÓ w\‡p1Örïã0YNEß/Ú§¬£Âɲ_ºS…§›GîêàÉ]š +3²—ë…š8øC ŒŸÄ#€Lgû†ð RýËlÕ(å·ÌsfÝâÀn­©Ö”›±7gÖxÆêÚ–Wªž··¨]¾c½–ÛŽWJÙb–i‹'ÌU—îº ƒõ6nMcZúÈ­L 173¦'ùWâKù°šOÊ t›jj/ƒú¯öþýºJÒÔz~_LÙævqnt˜ÄÐÕ¶gÃþ}6dÒ° ^ûÝ”Eüšä¯žëðžü'â&–Ü¢žÇªÖJ¸nV÷ O‡;Šš$Òè陕3 íQœbûw>öλ1$@¶f&¹E}ý"Ô¥ßÿŽËª2k4¤¢<Šææ:!ù¶ÓlD’ºw¹D -fÛP]8ø®:¦Š,øf§‘6¨,UîÎÍQm*c‰]ü€ÛAÀ7Œ˜ 0«—á «¡ö£’û€˜ û²-kÖXñ;{ˆ+†JÿX•U‹Ò:H¯÷ç&’j!Läe¸H´«-#¼LVÑç‹vJýуæÝï1¥Ù÷éëÞíOÏÙ-àtÉŽàZ|Í’³¦mZö©¡žŸµÉöjS˜c„*R’ì[y»VçiÖ£°sQ¹jÊT ¡q™I°)ÂqÈÝÐTõ%­¢É|vŸ!†î‚ã0›ÓýNâ8ÏÎU„‰¹!eñSbEB{嬦AÃNÊ­+¼¯¥óøÝr¡ ô°ô® ­ÑŸf{¡E„â2µ2‡¥r‘î€%Ó ø$ö”¿ök»¸JT aÕVžê!g•‘‚8õ¶¸×·y Ö΄ÜK2oó[³ÌFˆLöh$KzØ:ïÃðNÏ.Jtòcžå§(×G¹!Œ³:ò¯ªã?ìu Ôã¡F§å²)нÆÉŽZ?¸<`‰ÁX‡àhŸ¼ƒ¢‡žƒ–GºFJ õ ßʽÏO}’à·q©ª/šª® oÃ;²§rµw?ÀIÁ—+ Ž ¶/ûÞKÈ—ÞÊåÀ–×ÌIz°ÝhëµlsÄ/Èg'†18gÏ héOý·£­}æH :ËÎW¢ØÃ¡YØÿºÔ9_1›Ù]‰ü/‚AÚ{ØlŠü¤ýëB{ŽPÁ^É:ªR‚hªüþ1jÆzt °“m³ò;ßs<8´0\ðGœ7¥dJ »¦¢Åay±k9^Å<ûê³€æç©nAÄd´x‰á£ÒQ¤k ÉÔ&~€•é¤ù—æU%¶¼ëÙ›¬¾_‹šö?ø±…ym8 »`]X±Mg‰žùXÞÞ`|¤j©t&À\„m}¤°¸iŽ Ä¶ƒ ¬]¨×)´"™*¥9Îb|}ì^Yß‘n.Büd¼Ö•<ͺr³Ÿ4s'5laÍÆ0½ÓoŽmžéMÞv˜"7[9ÕÓ&ÓEV »€©‡¡Ô(¼˜…û÷ïÕÿ³5ßè³£%˰]Ñ–‡òîôJ‘‡ïÏ5\æà»J^ç~dP €° ¼£~û—Їã8:3ß¿CåÜj›á)õ²—|îµØKÇ]¬õ5fLRî¶y|¹w,a¯ví„ýc£±¡ú5nRa2Œåe=Ÿ;4–9ä]®Ö] œrñ5)R<¶ŠÂš·õc5F¨\ÇH‡ Ç6Ñ -H¤©œ!ýµYs!5E®ÉÜls“bga$ýí´ÁhüH]ÊRö>o‹Ú:ÀlBuâ|çdoTqpà}¶ ®vK%ÕP3æúÉ­ôõ˜%¿× D¡”–Éí ª<¾¶ÆH.èaHäÿ°U‡<£é˜FäÞJ3x‚/®µt‚è“îüdRb½LBÒÁ%ÃN½‰je2;_pL¿f¢uˆmós4ÅŽ)‘h;Uôa.ëÌøês¼‹‰Õ¾®RZ»Ûùlæ®úÿqŽ•s›b! ˆáK3ŸÞ;}L–<Ÿ½’ÙâÔkŸËo>¦º¤b€àÝ“›ìov$ÇkË"tÐòú^S”ÑÜeVúƒÓøåÏ:AÏŒóãÉy è›HÀßCÏÞ>¥Œg¸—òY`˜RÜ»zæüK(Z2‘Ø–È×$n&Ê X<-äŠawà2ݬ+Þ²KÕv¤¿©²Fé¦=£Y©;¼%{ýj£+4ƒ,áÙŽC×Aórâ%°žê@UÀ· 9ü$cTigkób –5o+@:ˆ±²øZ¸Kd÷e5£ï?'"–ÞþÍE>Y$ç!ñev \¼]üÜs;5åÏáÄÑÚ‚Ï9`.8­ÍOá—Ÿg:î´&Ú­íëiÜñ5„CW^š×>¦WäÇ€m)wu»b@{ÿ”†ãw9KåÞÀ]¥LÍ_;ÅØÊ¶HR˜ëæ@ÕoWNÜËÌ9àxš®Úwy—òËé CÔ¥X~ êKrL…÷z2Þ°9êõ¯?a‡:G-7¦–Ãbx¢•Ú$¡’=òÈÊtÆ…uø9È2nÂ}sæ*‰+¶§ƒÍÝ/D+uõ½Ä,†*¡ÃN@˜J‚‚±‰¼£ë¢f¾+ :#G²=1—fþÔ¤ È7¥Z( Ñ»ÎJ»ìÈ®Kb9‡ÓóàA¹Ž`sT†+t¯Ö–ÒÎgs:q&wò F!’@@B ¤BíÞb ùw7TNܹhÝ 6§rž5³ï_enyò=°kyË%†ÒãQ‡¨½au‚ɳ½‘ÒÍõ’×…Œ÷¤èEí…ìqñ6œéÛ[ßtÉoœRH‘Û£Ë_J{\mÈ·3Xmê0G#¹`VŒŽ\y`dð¦ EWb¢9W¿/`av‡û·½Rææó.”Þgвâ•ËY­µà2ˆ°pæqJÂ;ÆÓȈ»Îå Ð,§ GÄjª(Ø×—°Ýv"÷2ÞIzÄùºÌ×CVߌxà7Øt%Õ’æÀrUí¦ó4ïfOjêe´‡jì"NÂÕ~ÔÌ -¡}•åÓƒ£©ô•œ=`guF3•„¢ôŸ0YÔs¥Òø##T/-ÅHì ¥T÷<uù o›&ŽzcX¬å‘ÚGXÒ[&p¦±|\pVP±û^ÜÑЩ5露ÒÕZ!œ ¼åd0ÒË ¼ðDË“èÕ^ïHA^³Ôð„QäÀ¥3ºƒ D QÈHÆÅÎU8ƒÑm®j”»ýèóBëó£Ž0Þhþ>1Ž\5ÉAãAîxÑïØzAçÐ:憪õYýþÆv‚—ò,™Jé‘Ìy¦ü’D{x(9›<7Å’2ÜLÔ6N'bÉH↉Xê?Ô¨Ñb=aSÿ ð½/>*0¸Q$ƒ_9Æ«ü¢õ¡Öu|zR¬¬¡6rÏýY¤·ÈÚ‹EVNÈb1de?“zpcNšŒß–··û/˜M£(㓜gáh^Á¬dAöÇQ£#!ÂÓåRfGÖÑébŠþK_¥,r^`ÿ nV+o²m‹å_ôÈ6ÈP¡ö3Z]Œç¤&ö0‡ÖÖÓ%Ø Û£í\¬*~vOñ¸‡¨jéF¸¼»¾rȆ·çgp¨&þrbØ×,*m¸Z))H½ÈﵪAo¹êµ%S]´ô¿¤"†ê„px‘ú_±}fö°« ÑaO>­î,Yàv}>>+]©L=ÍRì •Õ™:" ZÿÇ“(^m¼0Öˆ`f&-?*þÖªòû‘俪Bõ‡ rl\×µõ ÆÐgt®™ùˆJe§i×úŒ?K²ýT7«Ë¿?#²§V' ¼üøîì_N!ܳÁY}ÚÙ5i¿" ÍÐD³¢ð”S´h¥SZ \Ȉï‹óLR+‹“aSŸbvNa´-bz±Zd¤”G͉t+‡T£ŒlâÊàÿk&èÀ¢Óß•î²fp ñF§UlPø PŠþû›…ÿ »+N&ØéwÓ@´c²]Úõ¢¡ïPB-›Öù®o¥öwŸ‡µMzÛÉ`Ä®ª¼‚d—ηh5Èòí%#°ç‚;mÜàmÂðÓ:ÿÉÝz+ÔÔÝFÙ+šc ;Шð ¤Ù $°4 ÒÚ,kÒú5‡$È„ûœWדiª“œ÷]œÔ\¬ ØçÌCvd[i[rS¦ÇµŸkÉ7l×¼í60V ´±$›¥™ÝÔ?šªëÜÍ´Ê1]yf"@ó8ÂÛíQÉÏJ([Ì4-­=Ä#ýiRxjyê{ô”CŠæ %Aõ/;·âì6iõ‡«[4|Õ=E 3Ñ©]sQ£©V•žòµSo—Ä]¤StX™ì²ëmyÕ­R)JFEJ–¯ ™.üŠãµ;¯ß(Ðÿe>$ÝØOþ9áWjéŠfãbœ¨˜É>«Ï‡¬Å¤ÝZŒ¶3OòÝßQ²–Ù¹D…„‘ùº @í¤$îÕCƒŒ@Œß-ò#ói×r°ìᢻö&i X–r;mT!ßàÇ ’,-²qù|”A’_€Q­]ÜÝÞf‚Gq$|žÌòñ}˜à÷ýÊŠT ñ^àñÙ€’Ê…ü71sdé0ò«ŸÝ+=Z €‹"$)D¹¾ªïØ—:Jñz L)â—h£\vÉ%\!Ó:È^Ù…R®+”>ur7÷Æøz[ê÷Ôü SN?ço+§fcÒ2õ·g7Dwû„3-…é$½Z3Ú+ÈÊ pþ'"tɲÏr!'‘‡Œê©÷ªA¤cïIšßà¤9삌—¹À(?Rn$oÎØ¥€ú¢–Ç*Š„´â-eÐ}Ô×mC$$MÒ¬Ž 5–Q´_‚’ÿ+ò°²îq&ÈyÚ™¤T’:6÷ZV—SÙP¹J®ÿÜŠXÖÊ%Å¢IS‰Š]Eü¡í}z®Öã|Åò8¿ßTO!œÅù˜×Ú=ÿ[¥²·ÁâÛºøÌú¡€Wngm²A—Ù½cqk"§>§ôˆÓ†S%‹ØÊV†EnoMÄ’àë—Mýí‘^E]ã…¤L`7ˆAQ䊑ÿxa‘61ÿB(É „×^jÙÚ½žŠ*2ž4ªð»+·‚ø¼F!¹ö†ÊVU4<Øg°Rˆ¡jC‘4y:…U‚¡,@¸ql8ÔjæhêŽêô9Êd¸Mæð<×RÂ~ˆ…“Â*ÀR„âëMè×ã()ôÄ#RDFܤî¢MÕñùxkaù‰o•Ö¥ÌäÛrç!õ~W7Ib¬XF~§&jÌ9dë Py(¥û¿ Ó}sÚM Ék´W¦¨R Rè(ùØ|û>Ï‹¦Ý¤ÍU;g«¿Q;è:ÚV!¬š0­––èV(¯ ŽTž|þ²,°"ûnìë\Ê,ir° äZt>"ãSÛÿ©È¸¨®Lx ñb°$`4$j›¯™ùM‹.·úFðšFÚ†Áùîÿp°3É~p63 K•ýZ‹üFÄCÂýW”ðßÕX&(I…ãÇ`.XÔL½÷Áýæó«±ÄxùÐÈÎw¾ùÎ/dŒ­-â³,õ¾b³¢;‘3eТ'f±åJR :‡ïÝ*or=Rx¡ôk ž²û0Ÿ³ƒæuÛ®h¿üsʱ=³*MxINµ¼ò˜ú`ÚO¶@Ø•˜MÇÝll»ªÑ‘9ÈšŒ‡ë=ÙUIšÏÔK¡×7Ý:ïûž¥ß:½CÈ´y‡lû%üßœhʽ è–>«‘žÓu2³§g¦yø¯«šQá>&šYBˆú·-$è^AØÃ-É#ŒÚ#( ÿ°óBd]G¿Ûãr7˰¼r@ÆÇ¬™ÒÊX8“Ï”‚ÑZÓÌkÉÆÞûÝIõ¹šé¤"ÑaJñ·Â\ÃÆâ£ë;¥MÖ+dý¿èñŽ%ŸpÛ·þÿƒ[´žî÷vuv(˲!ˆ– ?à q/´XÁä©ÿÝ&1KéN¨¢³ó”$g:ÓÎëÊÍ(åxžÓŽŸ>¶x¬P AIî{x6ÑÞŒ£ÁÕS4#oEhKkŒ" rdƒr¡-©²>1¹ÎË"iÿhuÏFÊuŠÙ ÜÈ-™>e$+˜ùjŸ`“·ªßôÔâªZîheóû#!¡ Ùp¥›€{Jºz6 ÚÛâûRŽŒ†óì»’ñã½cÅÜ2D{è°öÊÞèà×a­»n±4ãJCགbï)41æ½ñÕ%%4ŒT1§Þ™ÎîþÈÉ£Õ9ÇÕœSÿIã ‡Ç|“ÏÃJRýQ´–²6Š· XçIéJ< øZ2¸‘mt„Õý’|œH fU#J?ïb¢|?‚ÏPi/¨Ä¿s~lÂÎ%h>Dy]õň–AtèÄOŸè˹æ5<{àq€„·|ÆÇl#Ýj®?eÖCV Í‘âÛ2²¯åMá¡ëàË}-uÜé¤q¿ï}ï€8„D>öïüßkÛÔW±¡|»Ùæ1•ôøÖÖQf®ÿ–Åœx`š8Þ},3ÂcÓ©­N¹Á¢o¥îÎífÑuŽ1 ±_>¾+szŠÍ´ü;µN˜x-儤Måõ@U×îÈÍ­ìö™¬?ǖѤ?âÀ=õÛ kޱeãòÞá ï0lF)Þ©[zo,*®™¤0’Jº¢a—Çß^õoÙíºô‚Gf'Ð1GbXË #iç+{ADL1ÆÍ¯ˆÅöÒåe>g+„¸íùÉÁ”Þ‰Öã?j¾va'âÌ]D»ô-,Ü6Ú2Âd‰*¬hé›é@JyV¦tÈn>µ/…:¸B䀳׌&Xsèsf!T¼¨êD1•«>F´)ÐÌ¢ZÕ`(rM'V òò+IŸLô,7•“¾ [îCdùɤhò€eý-øCo MŸþ;@1ë‚”8Ì ÅÄ”XJ¸Ðæý‚žÌÅíXª§(}Œ|‰h èÖ ¸[!bÃtƒmµ$—ŠH?ÿ• v©# L«£Ñ`«|0KÜÚã{’òæÙ÷ß`ÛÐmâœrB¥k»†½g⤥QFrŠôú‹X¶ì6çÿÁFs$\À´ k‹˜E,<¢ýÈ‚+¦„± ,D–ûÙ‹‹S·$¯ÅˆÃCwàETáht»¨\âc6U‡ã~zµ±ƒ˜'Ö‚'u J¦²½’ƒè©Î4xŸÝ+ðy ^\̳ÊÕ‘™ìL§(íw6XË!ð6N4`™êboždèÛ³ßRê_~I‚£Ä/ÎfÍ«‡†ÿ¾6nn ‰ˆ—o 2xî';?²%›Ôö® ùc&¬þQüòe†ÓoÌŸtuc8ÙÛ ô]"gCÊö5´Íg°ÎúÚ €6Þ8Ó?Cñ^žÒ6¦2Ý/÷o»ÇFöëÁ>^ótË»£—ý]? $M»}U¹Oº˜ n¤è ä¿c{R.é€.êK)g!cŸdYqÀÙà¦jŸ=”=ŠuúKxÂEPÅÿz½—L‡a¡#>™`¥Ü4nJµ,`z>zRm—i¹ÈW_y•«»ø=t/-!îFzùþ¬2ð¦Äì^nÑJäÒ¢‘àdâJBÝ…5»ÈYÊ‹§,ÿ=ÿÐY¨õ²"º³DNÎpO™}"¤&)K‡¸ëó¶-V…5È»šŽ?ún˜ †€Ub™aê³-w³PxeÍõÁgDçà­½õJÛù-¦L4É»j–رrÏí*æÌ\å$µ¹†‰/;hz3Ћ¢ <õKéH.ÉÓõÝÒ#ßÅÔèÛDR±,((ò­w!œ´¸1ð¢ó n ÓZm¦FaB6ŒÇIÌì‹ÐÙtoùþš—î5XP{=Ä%÷dYÎÖæO·Ïæ•€ñäbÈð¸ÈÚ7\¹M·>Äžô 3æùû=L¤`Û”§À°V6­éo¬Œ2jC×ï%¬ Kða³|œ.âÚíJû_`b… ùñ?çÚîí*œdÔ¢1oÄMáƒòK¹˜¯4âÚÙEš«ä rÐæxboÃe¤"rÄ]'ÅEs#MXl 2˜¼øo™s®çmµ€óÒ¸È9äR}â_Ì#®3‚¥·Ñzþ°txå¸öMÑ€’⺆y´ê¦A`數s¨¶Íç¬Èo{<_G§€†ç„Ä‘à–ˆ‹X§MÜù^êk*@“‘€>JB–ᯋ£TãZä))ÞPÞ³^åÄ–gí2B‚C´HwTèò£kÎ]¤ìÏ37‰R ÅÏFîLI¹6=æ}Ã`.£tþ¥eqõÄ]iSÁR§;œËo,uõJj|¿éôÒ•l×Ä¿X”=]0D)øLCNRRÞRŒí†©Þ]>iÍ2-ý`ÊÝ“S,¿ /W/+Ž´(Ä„ím[¢U=>ß+âÖEÈí­Z@82’ñ9‘.'À…½@´›PN—yÌ ñß;¬9Pxvx4}Â^Ñ¿G­\|ç"ì1 ¢#ØÅ IÿYÖ°Ôz{Lš(`‡X·™Ö¹42 ˆüÙ]¿»Ïا­Ì £º ç\ïv« §·ˆŸðšJP¦epÉTs‰²”þóÁê<…¹gÊ9‡ ì„í=õó·€¢£ckçPUÜ›rãCI߀r±¸À,x¢T5e;„P&P>×øã=Y`yˆ„Èv”47ï8F"ûòJ¶Û©4öR9ù°[BÝg¢á %­þ¸´0Âhò—— [¤Ñ÷s¿ öŒ³¢[@¹/To\^c«âÿ-‘²³ëGâJgÅk¼˜¨”¯˜s*qY)¥§rž(µ‚¡ »ˆ‰‡™³–±4Žënm}P®7 âî Èñ¦íe¼Dmå¥8Á=,Ka 7§U6y®X7ͤ<3x¬$%žm B°óÊiVþh üÁö_ A±H®SKÍs¦¶:G1>èÅlNÏÍ_¡9rx¿vMœ„-÷ÂF•íœä7y€â˜ß±^~VžvÀsž â7V¥ežë:9ÅFñt•µöz²¾¼·ÎØWTM÷ú;oåT·,È?£†ÆkFp˜˜Áú»ÎÛÝ5pécΧ×äz‰Lø5­Bhµtï„ÿŸPnE©û¾oY-üæ&jŸù…-…uèj>ºnr#3“vOT˜d­eE¿5î´8›\(°—Y9é¶`æ9l%ª »­¬ÅÛ'°¡•Ǥè}n6Ù]cm§,1 ýb`–$^âfò”“,Šâõh´:³qbϵ7™Ú,•lï,nH–ä¼]go¡u²*QÖË>ß›E'do™ìØÃÑé CþSà+F^ù¼MDÆì)ër¢† †Äl]Ž”q€®fÉ~:ê €â-,Ížs¹~’†HÓÈ‚a³ëùÇ*‡å ×û”x]´ms¼Gy†‡#rôHWI½4»;rQ¢ž¬{)ïÏÃèó¨Pæ ¾8áÍŸrŸ_¬°âÆöÅÀÏS#^þ_ÛჾRq•?X®å…ݦF×-ê?Á«ù,ìÉáߘäìÿ3²‡—Æ!Ðï#úâG2d[Â'¸­ææò²¶ ¿z¯%ÜšoJ­¬£laõ^cY\p³Sp]4³V’'&¾Ðrt¦™~ ÷' ÌÌq6Šër–½Ç®ÚbynQuÉc¯V–ùÃlx2¹Æ¸ÛËu,ƒ€Z3žZÞ Ž•MËR`ÑLjŸc­3lÉ2çs¼Qª¬NH-Àü=Žb¬(Žp@¼ÒR(˜t²øÁÞÞ ,Ó’ãGšÈSû¼¾AQ ¬- ”„7{8íl­ÆñLÈŒdIþg©_Ke|Áèäû•™ bÔó,.Q2 6–'ôªÀêPôjáx‹g\ˆ°sê./'Á®Î¸"wn)ËÅ›6ÃÊ¡ÔíömÐ8jºÕ,NúàYósµàZ¢"ú?Îèg7{›€üÕ_ÏgƒY«QòÌ¡§£ó츆տçhTý[\ Dä õŸÌPlÉéê×þâ>5·ü6þa¾7Ï({œÿxßÝDYf¶Ïxaò½Ú^› T²&â+³¨ûè5Qp—“ˆr5EŠ’2!é6m>÷Âׂ#Ž%ûÍf´Dˆùk?§ÿ¹á­¼{ÀíC!Å &>²+AŒ¶É줩ÀñSp@Ò® „‡YÊã¸÷†„رvÔX½Þ—HÀø(/ª¡„6ŠŠ8DÂÞ6ñãjçÂØvM< ôÀ¶Fð¤vKDŠê…˜j UÄÚijUMºªNÕó|b;Ÿè㨠ǧ­Vw.Òù…·2Çéü°1¼ž!×èîQ-±ÆRÞFžl™U_Å“LÇhöóƒMI†lÞ<.–1_µùybñ ÷ÉrâM¾Ã’,³qXª¹¤”Æ®ßJš¸9Áº›\>Ž£u È,áÿmÂÝ´§1“¾d#ŠïÜžÿt2&ÍNÃG¾ÜÁ¾»Á––éæ7éE,Éì t)?á…7.¢/8óH«ÒîòfÒ‡¾Í(õ];%‚%ÆåAÌ·ÎxžÜ;~ OÙ¸ñ6î_±:”/—˜Bz8œª‚-'gž•‹Í‰,Fp#T~fߟÔ2¦Ž4ÑcPHÉóðNì—|_.g(äXE5ijÇH/>8, éAÐàƒ ·©Í éjIx ˜Ÿ¸Æý(á'üy¿y™Q¥7U‹Kâo“«ÃÓq8÷ F2¥êE˜cÌ,ÌÚ%ãz ¤Ä$oé¾cˆ?åKrã©øˆJ`Oì}ÿÚïkO9nÜÓ 0 ²Ú7 ÿmêÚ°v dL¸éöa•°mþãAzó¢ÆiCz_Ñx’Ý|ëcxU ä„G{œG =èåÏ6iè_¬.…HlÀ’]˜@:»VK˜rýû18Wƒµªvš_AlÃÔZ=Q3=ŽX¿¿þÐwÜø:%£·d Ùæ­Šb‰ÖÑâwz<Þ{ «ý¬ðø:Ó2ʃC?I‹Dñ7š¥Q6ïCP,ó¨ ˜¡Åéïº_-&Pi#\dY†¸´àa*ˆ/…[ÒÝg5‹ÿ° e ú݉Z·,? ¶á®ÈÑ7 MÌ•¯h²t —#£„«ˆRqX L]½¾qÍ#g.¿"vºÞM.OÈúÙþs¯¬ûÙ2?ma°#^í߉›ÀPîfîFëÏÎû-Õ‹Ó¦_ J°TÛHƒCmô'´M ÚŽª–ù6u¼ïøûP4SÐP£tŽ=—YÞR8£T-¯À›IqPþhwڬɚ©®·ß¥j(Êd²wZ³>*è‹ï€°;‚â€*E4Uèj]éwxžœ ,Æa*ºö2m]¦MžÌá·kG-§qçp‹TüœÛ•›’Ži´ò¥íƒ#pYIð–öNð¾²eœ}n¢ˆýÚ:¬œ6–٢в\&©~í-¹ŸYã4óôIõ|¿7¬:ªÇ›²}ìzžØBå?ÚÆ1æ|r`Ó½³µ“£ýó±~nKTTRªúw¤Ñöᇳ‚ÜI'^kDÏk÷ðS|- Z›:ô<¦4Úߥp°g߸Ýâò;²6‰º*f”mÄœAù`iSn˧/Ðð_Ô‰ ëR!ÂYÚ”´p×'¥Ad-; yã;€ëDS±èg7O®¬;­·ýP¾ÃXqä1{„KÖâ g¾°ïO;i‚”ÅYõè¾þeäãÑ„¦¼ëëö=­Nø7ò¿’´ÚËD¼mÐ\ãПRKKÉžtáægfòOÉà gñ‰œìQoî¤wõŠƒ »Í’ NÓH¥PÛd¨ð ê§U&xÉ_f$æÜV/*n6ÄmT¢±¦q—n¡+­Gè)â*FWÏâüYqÔÜ4x¯®æ^{´mrDÀ"´ä÷•ÊèçÂ*ù Lnr !äG² {¥Ò€¸vÒfq%ÜrK»ýÊ09y÷7f?оæB•g/:VÍ=ï |ƒ «spŴǪ ¯ârÓ7û>Ž ós{Ìø¯ Ú¶ÀÛèê·ްv ÅôPè%â’Ôs ä>Ä~µÎ¶_a¼Ú쑌èiÕebù*kÝ&à/° e½*èŸ<7tJ,ïë4‰¹žfRù²Id&3Çÿ\+cM[´5ëñ„e/}üäÏ¡¿×ƒªÇ”Oq3uµÐ+q/&J9\VÓÏ÷QüÅAVb4‰âwŸ'ÊØ^Ò嗣똒¯Ã 3ö¿ç BTÐófWç:ŒýxãÊ’âaùtI,’UÓ2“yx?"ƒâ¯­$ô½]… 8Ž «b3Þf%Ÿ€Ðy†5X? ‘Ñ} çö½ 7` *ZÂyPƒbý“ àƒ ™9ðÁž?@q|ëJ´—åF<Åï¤Ìühb¹¦¨¬_޶è!ò ÕÎù&G=û*¬…ú]2eeT €·dç¾4=ª µ{_‡Ç ºÕÌìy>iZÇ h'N& ó. Ž|‹ê‚m¦05ë£ê¶«ÑÂ%IïÚZhfèqƒÌ•A1Áur3Tj2èIi÷oyË¿S²¼ZzÄ—ÖøßøpƉ £ZOkg”«4/Èa\–Ž=—à%´ @1W´Lpè #}(…ÛxùËP9uquªÙ*Ì…§ëU2SËFMªYT†GØí@·±V˜4;§Ãp«±aYå>èWº\þ’-u´ÇJTDÃAÕí°¦šù[Kðöveÿ{í†ÞZlͯ5ŠôVK2¥¯î³Ä^ÚN¯Óï< ~±90]`[ŸäÊ ,š]æg#1—£Þ-^‰ë*ôr £`í«3 žù¶n;Å糆¶Y®‹Í`³÷¸_pྚâ½ñÓöwvÕ5TØ`¥-Ê2J<'ü—AÇw÷X¯¹–Ø´VþŠk¼Dw´g±Éhô’)V|ÕÛo•I~y'÷zrdl¶Ç\îþ]ÎßÏ©ÜHå (½éñ€ñ¶'÷x …ó9?ûˆÝï0”‰‹xnÞɬ4k¨UV~ë·­l¨Õá\Tö§÷lõÔÝ/Á&GD÷Ð’>“¾‘mÊ•*’»ƒWé5‚WÎ)‘+I/‰,È5Лmd>©¿1ffáÌ1œrCK•—/û+jׂeÙH‹Qý“Ã÷ÞØ ãosƒ5æÒ>˜:¥‰?x¼kM×TÂBå6k$1?”ì"”G‘S|Ô‘¾€Ö@Òœ7x@ómSµ*6A¶õƒÎ':OEûŒ`Öx¼ÿ{#§kA°T¬þ¿u mÙ-˜kjӯ䣍ÁëÜM·¾a†(ÃO¸ÔHÒ¿Ám4 BŠÁ»Å_Ô,øXlI%…‚!08õ ÆÃ¶,õèêZláD«vݬ£OB}—1 ¹óœÌ“=b´'Ó g`wWƯs¹ÏD‰Ñ؉ÁÑðÍc†1@ꈖûµð_ï3úŠ Ø:¹Û7qöǸ4w!¥'†Ì€üš#êgw°ƒ­R³ŒDÈÖ7I¯Úi‹†ð°Vâ¨-ÖJ®”::P~Ëâ¬è•# LÚcSò}ÖJŠ”ìûÖtÈ›žOþÃ%ÊS+m[Q÷òßçÏòRßzgeO¡.Ù‰Ôx\Ã/ðÜÚ“øªõaÖ¶-&0!©X}ÁG[ã0xÓ?D®Ü;è§x &¶ÿM6$r¢¥>0"׎ñ‹¥ÈÐéÒ.š›‡õmvÍq`ýÑîíUÙ£ªH×/yîS¶ÓnÌø‚ÏïU£§¸ͼ¼Z‡º.‡_Ýÿå—¾ žû™p¤¯†Å|Ë^ŸÆ¯uQuéÙš 1í%Øjk1”ä2âwëRKJK ¹Èmþ(éBfÒæ6mâBÔi%ó–zDÓálv\/Ä$7AG²†^¦:ú#ͺ‚XЇþ¨™½T7Øm=5Á´~ÈOìëÐ G³p_iæó,Чïò)„½ËšÙ»Hŵs›e×lHe龺š°fÏ”ŸÃyXVÙü=ÑäCýÄ+e2ûP'pPoüðFÏKüië…Nd;4îGÀÁ9Çó[âø›Ù/SWYS‹i 6= ZM|óè,~î‡+!§‹œwr8l½Ê‘Ní°½.r–“ªMïIˆ —ý‰:,žÚ>#»ÕÇÎùö{1Ïbb³z—«Å“¯ÉsÊvH×-‘ÓjL‰* ½60ÉŽãÝ;£¢Ä¦°em¼öB1cr ÷OBŽi„–¦`~H~xɵ®–¦Z¶IP ¹Äé2†7/kbuúqâ0:/©B“I8 jÑâ<͈À8%ÆoLK”»2"asw%3ÄæÑ'ùXDRûr$|Éê,$çß8œ´šl|ÛÓm7’Äý^ Ô:§'¶wuÍ9V”½†«¹Ì(B¢w*C¹Dµý)µß¯R=¯S¸¢Ì·‚žó>&õ¤Þ½&Òw ¾.Ê4ôFÇMoà vˆqY’¸h á K0K„‡ä¾+°–X£ &WÁÐÊÚÉÓ¦r߈æÉȱһì'Ï÷otÁiÕÙµ/ •ìÁ a“œûwŒ±œcb¡Tß_¤ð½aè½Fpyã÷onz)ÈÞÈš"ÔïŠúéC½ÞO¾ÛËe$}ö0³?yMØ2|’=.ؘÅTCYzÄ`E½[JHLÇG{5&·°½YgqsûZÊ›{`ѯ$i |˜ÈdBùc¢t°ßŽ&U7--­u#—±Á*­T1Ôò(„ŽkÞå‡íè¾§ÒŸA?þƒ>ñÊC•µ©5e—Ê{–g‰×Þ já¯ù’q†—%! È‹Æô}[K™}ØömuZÔè#ìˬzêeýÔ ™Á‡ƒ5ÐK×Å;kɶ.Ú5÷ƒTæÑ9u{Á Të}Þ¿pØ*ö¢9¡CLö$. º¢ð&ø€åá®’’öœ¶WœW ™|¬—z.(*Ö[ 1Ã>¼Juìw´b[†¢+OÛ3â‹þ QâÚ?§ê§bµ ¨º×G—¹ÑÒ…‰Yçñ+F ©Y32ŽE‘yôt¢ù  ‡^ÛfÌwñãŸ9„Qr¾øò~8B¾x½°(KÜÝÓ1:/Ž}¢°ìßsÛ8­lí÷ùGà[…%†¼÷Þ±ÏÞ„§‘ØWE•´›nœ©lÒfÖ’ÝkZ'¿ÙCç}XÂC@MÔX$âCŸZ"¡nv87 A2Àù* †Q¶.V4–7G°÷ê wCS×¢ÅO5bGÇ*Z—6ß ®á¥–€ÜkS¤±P¦Èú‚úU›z/ñ×’NxØuÊ1µ‘µvíÆ¿ËøÎ¿Ço½—š^Eˆá ÄŒû£½Ä¹e“üpƽö£æ‰$î“3/çm•y’ìœÓª.Xû»kÎáÂÔïxµÍj+Y§¢ãù‹g†œn¾`áìKøE¬@*lA¿jÒ2àxÀÓýr±:MU¦ÌûNÆ;Ó켘Ý;l–ø,ŒL.dU"n²+œ«Wõ+Ü(ñ8Ò»×I|–Â\2)"PÖ—Ý;”ižW)kÆk¹x«|•ÁU½V€Öœ„ ÛØÇ^t °ùéÖRî ¤[Á¯ß,óN}lº=¾J½tNÏI™€ ÌI kSlÜC8§õèJZ±bV6«¶É:‘Åñ”–÷cX! ¬¨}ÃøuðÂÞc¹PQ¸E͵2‚“7Ôw.Ÿ_ çºÔ²"O™‘[¥´p>z(4 úûN&Æ·xFš ˽’ðEg8K»£˜Ã¸’ty‹"‹ݺÄ9„‚ÙE€b{ÕÚiSxøè4f‘«V„:]Aì®Óm‚i{A…Jï[ÅËÈ­}¾¹L?><Õ0n” E¶2Ú"•Þ!m}‚Û.Líeªè¶Öšë{ahïêÛ°¹œò§ø•§Eïi>‡rýYAróÛãK³1¯9ŸÏÙ –þsD!ÂT·ì8UuŒ—^gCXg×Úÿ‚™€ŸËjþ,|–iäúù•9ŽØ•ÁïËÌÕ“hÈ]jãæ~¼Je6L’/†¡CŸ?s«¿¶³ü´fð‰ ²Ý)ɪ†äIC\Ç8W4gÂÐlˆ`ˆ,œS!!Ú+2åv©ÕðDvìs;E¾±|;CŒ©ïÏÍÙyLxyÁ¾!m¶¢Xþ;ÖôµË¬ÈS¶Iœ àþZ‘@u|Á«ºxcËd™MØ/ ¤Æê5z̼¹æ€ãý-õÂ…ª³ÝïlÄ©¼ž"üKc›l ¬¾ÌùĞ˅ÃéÝ›«ã¼Ø!~d)P>æé$˜B¡ZIÇClO¢¼B;¢íÿ¾, Rß,}™&~›öŒ]“€ƒ³ê×uJÑ0õ¾Ýæ\|\…yR±´â’Øj©¼åƒÂNŸ(Àò™¥è®›ä4r²&àã((ªsûXÁžŽgäÏœ:šêq’UpV_þ‘(/Žå•Î7A³­ŸóŒQÆ^ÊQµ/_äi‰ÅÕÓþ&Þ_(ƒ{ð11ï1Z°-¨¢ìÎ\YÙ5FÆäR.-DÔˆ`ñø®“sÁ†[äz¦IlGv¯ðžüSÔ¨°fß°x*fI‡ˆVÎDõêæeí¾â˜ì·òΪ#ÓuÿDúCµBåŠ.žõQ ¬µ8î»x‹ ~Y-š„ß;‘°Æ´ éüXˆLÇ0§ú`Õ&­bu‰ð§埻ÜT+Fñ„!Õ éàÊ{aŽ8tÞ¸| G¹îá"Ò CmJnS‹`ÆÛàÝhß Ô"KnC‹¸W»>9WÄ÷ŠPP®˜jV»…?àäç“÷€ƒF²ëÍQÊ×®g Jû÷=®SR+ëOn;üòŽ„ö+»°Y„þÕ cQ«ÔÍ–£¶¸@ÝÆ»®µaö–›Z½Þõ§¼Á;Ö³œéšQÒ‹³ÚŸ⎅,óŠÙaØŠç«’¥õÝŸ¼ñ`DPL7¦M˜MÖ)’@]ú0Ot¿¿-¼iÊÆÿV¸Ô›LŸ¹Sa¤Š6¦zË“&ó7ã„y­TGÊ7ûŠ·¯»ïE`SvfЉäÕw$UUЪeH‡Ï °–¬>5Μ(~*UÍyõ>C•K;ÔBXÛò ~ø° þ:%­ÜÎóyŒc>š’ÎZ‚#£¦žYî'~æN *'¹Òÿ5ÈåPÚÚûªmG¾'Ç–:ʼq̳µ‰¡ø¶ÈaoËóýXÉŠYàŠÉD®;ÿQ^ÜžS}wîoÇd?Ë4ì[±¶µ{À )''"ÍÎ!½ÌD'þVbËDñ1‚ŒR Ò¼+6 _š*®šhY8;´¥çñ£5ã%m˜ä+óQtö$ïvc;ÛªS ®É#Øçý\dÚÒ]&ôEšâ>”I«®#Í“s˜K»yüßóÀfÃn/«Ä+ºööQ;Ÿªs¿ô‡D½Ã½ÂÆñ)aòû¡:œêYõ*-k<ÕV£ˆûÏf¥@ÜYH<§YJ ÆXúVã"c‰–Ä®H™?~ãÄ©ôß;òg¿§&´zƒoûˆf¾«¼ªþ|#ëVÑ<6MàuPûÕù™¸ÆïKæ#ŠÅWg¸4Èé†K‡çž:£e!þ%S‘ù%OËHÃáÔü×Êzâ®ÇN˜ŠÄAå.ë'í 4““Ì×eàÁ²B±7) vŒ-'3¥=FÄØ_BÛû¹ì¢–tÅŒ73Øe”>Õ¿\?)ª¢›%±e¿Ç¾—qaIÄ/_ÂJ{Ë*û«“­^-Ä+oˆÐ¾•q•ØQâ¾(xg÷·Ý)ãýôóS ÞüþÙæ  æØŽ0ü….TSâNdÛª¡?ÿŠè\ÕàâÙ(Ú€mnɨÿ#Ñ¿uˆh3føEIn}N/kžoÐþ ÷VC VüÍY|NÀç‚ØˆSf怂³zUL¢¶ßh=’Ñ‚Ìnä]™½©xpeÿ$>1¢ÔÈȲ¤y¯m1e–ÃQç—³þ…¬}Šÿ±²Kwˆbûº=ÙçcPs?í±rŠƒZº¥vbS ëEü˜Å[»â(¹ïEk¼‹I±,¿Æ{:-ˆ“&\ÐŒ“iº0Á±LžÔŸ•Á$ÌWÔèüf»‰l.‘š`m ¯¿ñb+•Z2õ¿iFÅÑ2 ó¡Â6cª"kb¹˜æØ8ðš®næÖ]¹€Íž›î°EYí§‡+®”aaá^ ԥY‡#"%¸ê Å%2:DÛ³Œêð„ªût-ë›ô6•†÷ñæ93…š ]cT~{·õ¦ÁIKaÓ %i•$NDè$í¯g©¸È©4ÉR6ùl¾ÊÞ*´¹¿›¥]l¾¶ÑgúT,Ï-`fµø‰~*ËQæ`¹/P{x¨J)5°ðýó…÷|‡Î/æÂ´ÔÕÞÈ`ç2H+¾ø`F-bÖðõÞ’Ãc[LQšê9ÁÎpFÑ£-h)_ÿ‡1!¾èä±½‘ÝNÙ q_;2¶žñªæ;´âYb³ŠñV΀y)¶YÓ"4L£G Až½ÜRÑ]pI‚±¿;M‘ÄÀHÅA‰9øÏƪÖprÕ¡e­c蟞-gaÊa“cE¿o¾rÛ@õ*L¦b‡‹ým½oê¢Þ•Và^‰ò!å÷PaK¢^ ÑoF©Ø­ü Ú­9a 〉ÿ=IJ) ÀmVTQBw٠Æ0ÖñA†ÒÖç÷Vüד¶$·€J`}´s}2g_öM† %›@Ò6Fr*ã͵¾l¹[Zô­Æ‹?KŸáT¯²®Ðˆz€e§êm­V¤eFÂUÈÚzC5yä\p·Õ[Ôw±ÀàÕt}°+‘NûÔ–ìíh]:_˜‚³vÉ%ˆâ"§à°I ¾©˜>hÕíTý–I]Ô¹LJèõ’Î~yßUü *˜¬)_ ˆ²þj§µ&|ò׬6*$LªÉÎ;Åd³êžAAÛVï¡-‰9†7¨ÀrU€f¯6AÅ’zɆÂî¸Jž*dé0\ÆÞ9ã]5¼¶Ù®ò8Ïàó¨Š3}ÒªÙðÓ{ù%UÍ·÷ÆîÊÉ>ÀÕ<Éø0Q¦§ðÔ¾Fä߅Ê´Ö mI5*ç¦EÑzGWø9ç_´Îñξ|ê‰ð„j=ªgU&Ø=o83ü>º?à›«µîR³lÜÔŸg¬}|ÉEmO!8…ÜÜh»Ó¥¾á^Èuå''Ž0\Lºæùôz¸>쥛Â(£Ò\àI¾o÷} ââpÚ>­ÖaO¨±Å;”ÿ•wÕZù]Í÷|»•»A®¦C÷¹y•éÖ‹Ñ“Hš¢é V~&‰N(Žï,•=“?À¥"Ob(F:f·ÏùˆžÁB²Ð9Á*„8‹&éòÂôØC¢(‡c#ú£Æ$ØéÕd:ZÑ׽ąÍá^¾ˆŒHË1KÔùæL„M„³é±ÉY¦N¯K„ñF…T,L(àAa²8ùZj¿:s"èÞÐ|n½1à Ét +˜N!DŒ­1‡(ýÖD P9Ï4v ”âáõü©z¦ß=sŒ(üèf|áEzÇ­wª¨T.ÞB¾RÀ6>G6dYnSÆÀ,f_sz;'’ž3Tˆ}Ú}†"ÈIêf ]ºkŒ‹lƒoR³p:ÚŸ˜?£zåQEçšp-[{lrö.  oÆŸeá¶2ÉFî·â¨¢˜ËËmµ2ØÓª dWW©ªÑ…ghdÀjTÀó1øåV׫uTÄÎî˜&÷ Uó Œ¾‹í6Þízß•’ ÑŒ^¾_öɈµïBñÓÞÜ9E w™ÛÊXÁŠFw·(rJ^2Œs8¼¥ªe¦ \•×skkf¦bê/dì)z‘à ã>{qK>IóÃö~]¢©êéxÅÁ/ Œ9K¹“¾•z¹cºnRq:ÿ‡‘¡Õá„;ͼoû‰ñCü¯yK±£ÞÁdËC«„´Õƒ'3еmÍÀ¬°)Jc%]ïîF}zÁdµ,Ä0{§3Tpß0f·Nl±­èy‚¸Ò±}߀ôÁð PÆ)í ¢Šx((z÷Õ·c±Ð%i›d ùŽÊ›…\”zO!Ó5·D~ª2#ò7‘³®PÞ *Ñâ$`ŽŒ ÒúŸøºË“S˶D~¯jDJÅ­?ðü¯úA° -?Ò>×'U1ïDH—å7é=á$-×ó9€“›}aøô¹©q^ÝBðû#e™öÌñõÛ.^ àÎgÕÜÑwÑgýŽ ´U®úæ?.°ÉßSÑŽcT/]Ïñ³@à¬kÌäÃ}¼s£ „_bžScÇ&ÞZ UÖz€þÉð”Ãkñ‰Oº0­1ñèLDáJÿ8®‹]ÀâöëhIø† lã±ûtDO^äŸÀ8ÖnAXé뻹ÝE—v; ¸õíá7 vs…xJ ’ÌAÌ~Ÿ‘&⻥7“ôq-ŽQ—­(QÔ$²úƒ¶@+C«Š<+<-.d@OÎà-ÿ l}•ÕH²Ðœ„ 1²Üݺ L½ÃÙïpŠŠ:-$`§gkï¦BHLÄêŽ>Ë“Î×mM œP’HG"Býª«¿WŸéfÇqs´9ÞT9^zA…Æ“äן/_UªcÿÝ€(wnмE(85ÉcñÂîîd¶VR'“!®5P»šˆÎ²$æv¾Åò£swìJcŽæ@‹‰"|ì`Ùý#°r$hßS8AEyÕõºç­éûÝ÷oURÁåàœ!ã¢ÝÇîéß­ÆŒÇG{.U îE'MDV¬?Íî­‰¶þ¤3¹S«V©Ði½m¨d+µ…²ÙÒ”:Îb}­t $'À½îÞ¼. Õh0ØF;b÷·%‹ð5nOèñã+Q¨Tè¿ÜÞAŠPF H¤èls`ê¯Cä4uìH{ ë¡;"Ïâ&ÃÖ6€w:œWHmq07Ÿhù§U!è¿»s³R-Þãêð ÃŽ÷ Y'•»x ÿ ²}¾}•Êô\)Âô(f ‚ á’x½ÈDòWô¢ç××ÇYÿ=*w?m'A4¾˜86R˜º÷t±|’¸êž¾"áÆVŸ“•N¢/¸üV‰lBKÿ?˜Êôôé+ŽÖ—§§¨&¬©ã6„”L— ;Fm,ö.³\šæ(ë³äµÞwõ¬¯•¿¡ ¯:h"A¢Í¥’¤^x®gQ@;Màð#»œ_ˆÎ«KFÙ³žÁ #.7™ç­VžP"í¨ZsôÃK×£–W…Å©Sážî\¶š®8èùP;3EVo @8O2?õ0„+¯¦õÛ1$P9ÄØ[ƒ'€i[¸:Á";ö+ šoØ5âJ/×õŽr³ëC'Æðí&GóØ'ŒÐ] ©þ=>´/à'ó݇HeNŸ†çÒ HWKŠ!'ç#⥠‹nÜgk\1tïÛ年Ùq‡±ÜÏñ×”¡9»³…o5êÉÍï6ñÍ›tc53d¿¶ªü†d¿Ðñ×S·™ºšvL‹ʼ–ê‚™ED›ÅÊOG¦i8?™åŒ¡Ùa3jú£ÿ/ist4Tù&å·Lð 1daÇj“•nKÓ޹  ý·nTë˦€ÎÖ¾sQ»Džm}Šo´êDWíÊ–J˜á^èðä’t£„~ ¤ ‰(0çL*õ,cOæ«UHž˜¿Ìe¡hSr¥{·ÆâtÏHÜõj À;1îÙlé–ù!väpÉ®q;«Ù/ç¿ê‚Çíõ@Ú/Yh•oáGp5œÓ›cGŸP>5pµd?Ç©1SÊF²[èÁû<€ù_C7/w–dÚ0Í7eüÉи·²Ì „žåÖž*lúý±6^X‡>Sk‚‚Æ^ŸµËßГ¢ãs±ÌáìÈØ —uSY2ÓŽTf–¯±—AjtÔ4ÉËIöé:®n°`d9 ³i¦¦S1Š%6š´l†²>;uš¸¡ £Ò‹‹ze1^ѳrì/ÎíÎa4”´Í&rA•ýkÑCfKÖ3@•ÞÔW²—ìyïñîeí¼+ Ž™&î_j-uõƒ„=Ÿ—uÅÙ.ÍC*øÃ)@º ’rª\NüŽüét&ÿrVQcΆÉôš(f+m2#ÈacNÞ¼úÙòx÷¼<¾$Ið^X¹}'”‹AScÊõxuS]®†$@ŠáÔfWD£ë^¨‚PoêÙN8ÃØüW¢«1ÙhÍ›ˆß†‘€~ÿ<´&Ÿ6¹' °ßÂX|½³â°ìXÁ2µ zz·7rn5ô!;††ˆÜ¡A º_CÐpÆ»COÊyL–èì—x{Z³uJNÝ–ßkXÂÝà’¨eOõ¸ÅwË¿ï5Ïd–Š!®BŒÂ¹hD •ë—wD†~£E;ÛtET*]f8é-F†Ä?…É^õþ©¿gjíla¤ã3e#<ø€8‡š·ÒÒÆy}ØO]$SEné—êê 1^±3PqÒ9ôß`"φŽñÊ—Bù{ÄÐ:#ˆñ<“ Õ#'«à]wÁÂEuCÇJóßÏ5ໟ<ˆL·­™ÞCõ~Id¼—õ)œá‚Žv]]@ÞÞhM$M2Î:6·Â®p“e ·Ä¶EÀc¸/à*l¥d.cç¿¥sÉ&Ž !jÄæ³‰.÷¥±³êM$Ø‘f©cc³ìøðå“™tÔŒ¦S«K¶çÆ2ör3…¹G»3?öéê£ã¬v ·ôÔÑ»~†è N«E.¢ðÜy²å²3ò¡ú—Ãé.n»¨ÏL•LÅÙDJé4ñÚÕuÀFUàEGdô0·ðÛbv’xi;™PÖøDŒ‹ÿ¢›¡S©v ½ƒÞ‡Ú—=¯·³ã¥Äñ¹ùBŸ2–ç(š…üém1¯•ä­÷âÄ «ZNÍ“øCëázýj¤7fF÷ð™çYñ懠ö†‡½È@2`\™Œ¾÷€ÚÌ™7m‡Z?¿áßÔ+Ž@ ï~ÆBªè ¨f";°¼"]ã‘vë§÷•þyÏZë•§jnŽó$˜ø‘Ãã=,£vy÷TbVʼn·š/¥að0š1‘È#Œr}ÖM‡Ç¯sýãºkEÛ“¯”\nôÆ„© YànV`Kóñ  oò¦†cBYʹÀ¢A…Æ®ÄfÓ.{yr¦àX ]Yq}3ükyò {Œ-Qúu²|Û£)g¢ætÀÚ£°W€¨’>_¡¤¹ü›4Sï"7žŸFy¼LÌiëC÷W#*hÕä«?¶2[oˆ$ãʰØßÝÌ?1bc-Ïa«0~)^Ò¨Š~·Í™5!q™Íz™}ÌdÏüéUç¯ô×w˜T+ʼnyøî [‰äçNÈKº ,*å%Ön3^vÔXÃö¶Šeno×¹ðÐÑ£P80Å=D´ßË*IöQ×Å® w‡ø¡âl)¤­ÒŒs¦Î¥72×4Ü›K ä—£ýV›ZÆösOšûcI/‡Žb¯ÚF=ù(s¯ 4œq:2ÀÏèuØ6&œºG#ŒEþ¤Í3^àEÚâT#ÏÖ˜mµ÷ÊÄ¢›_M·­ ==^ê­—Xx_·æ7ûEÌ][{DeˆŠv埣Vîíö4pеXw¦&žë¸"ÕÂjvªªÔ—‹½{ðÖE€¾9Ò'Gétkª<ð^ù¿Â¾¤=&¯ÒHq¡½¶,ËfJ¡æ Ú;èðf˜J.R\¦f’‡Jrã¼âŠÞ~ÞtÖÇÿZ#FX¢¥ð¦¨k@èÔuĈÔPep¿Ì©A…s˜ÿ Ú.P*j WNgízF9:·vÓ^°%qoa;)¥Ú€ „è—Äc(¿|ò‰¤²OÎUêChŽ$ë.ºw¯«HÆ£ásøÕ$võøÌœ€ÂÞ§NtlxRº¶ƒ_5ƒÄ…f‡\4ðuRUþ„aóÓî~Øk„ézœÐKÔFµ²ÒFy󺔿C@+sOàòõÈR|tôný½¾Oè‡#»³!gJØEŠýóVgLƒKµ©àÐG´fÚØ…LúÆI•ñu•ÖÒZ¯(P­h®u5¦ù¹Óô2b™<ˆ‡¡2¶ H4]=›‰UîØÆк}iP0\WÉ&†=_߸j»8É×ú }Ÿ’:³™Ò!W%4¾¦0“3(ýª¿©7/í:/ó•䦿<5‘ð6TŠ? ^1ÛïeÚª+Íñ×ôÎ4¼mS xµaXfÞlYxý2U'²ç»hㇰÈþ;+i y"x3•ßW¹bžxâB^ºõ q’ÐsL=¡øŸ#BÁ±›@>Œ±|»T<™ò½átÐËó{Õø”ø.û²a½_2ŽZðÞð‚áo®D›ŠT€(8­ùœÕ¸¸aJº£ê,ŸIm®aÿã#e‘Ç'*yb«Ù`ŠÑGô>å¢+)C |>bu÷Œa¢Ì~T†Ö‘n™¿·`—4 g¢rDûsï¹NZ. cþÅó/÷gù»Ñ]é]H£?t¹kM0z-‘"áŠÌß›Oû- ìÆ"j´R¹Œ/òž ~ÓsX,ºj›=l5éª4ämCaçi «F?ò]¦v²ñlX%7úÚS 1>"ƒ¤:²òßVÙݘ A ÒHoÉΗaÏ éäDâê@)ÞW'ÄPRc“[±ãIkNH±oÐ׸áG‡¼¸cPÑ ?p˜¢ÃÊ@í= ϯŽRÓ²úhLÉ[ 3×À=*Í̪7~•*¼í*g ý ^Ì“12‚ø’ˆF’^ø@Üó„Tià?ÖÆˆ1v¡‡že4š{ÖË“uq³n´0ø!¸x¬±B÷9Dò/Ûs@€{iⱦáTvñãOúÃôÔb‰¡‡j7-’ s;—ð“ÎÏsýá…EÎ mŠ ?OŽcú…Äfª^·fw+té¨E9Q7µá50LÄ´÷ª“\µâËœQHóó$k™ö3Ä+Æ Š›*üçy@1ìÇP%pw•í¦³1€H;AùYáð¶$o4;ØÍ‘:EùÈRXW¹ï/W öRC&Þ çAÞp•sù_Î,Ì)yÉÚÛe—f.‡`aŠŒ`GBÌå¼Rô§ý“­þƒ)Ñ¢$#'E!ßÔi=*›J9Ž9㕯·e1'&'RCçøZÈé”—ÿë~¹jh%óLyI)o®ÏGˆÌ×m©¸ù·_ø½¾¥-(˜HÜæA”‚çAõF4ce Àw÷¢[–§T®J›e?Å…3:#/^Úº…²(³x,&M_ò9­“ÓÏ!R6c<çÈ­îó±Ae [°á¤¨/qq I4ø{/caw¯¶K»W°£²ùçÀâ_cF…$'”mhˤSâzî®ws÷ÎϦ$®øJR© {!×Â`¥WK…÷øXmjÞ½3Ö5U®~ŸMI†:ŠúÏ ÉäU‰¾©C çÌVÅ7ZÀ‘_p¡(€ÿI<1ÜùÃ/ ] ù9-1$÷_qHÞÜzoïÝÆuc7µz¶øŽæ«ís5b•… ‰£GÈ’-Áå/2Ý»ˆ Ý¡E4`¶¥j•Bù?t?L¼t“â-ÍÚOƒO™k>›cÑ•’›yx‘ÙF~ºYÔÑ ÷;À©¡¿ZÁùTaGÆ…÷ ·Ü`f×~ŽßÚ—+°êíHTÄFÎÝDC‘.ŠGÖ#i<ŽË戤¦l»ŠÃFKý\÷åÂ\› /BºCÔ¿/Þ'}+æíàÜ„Ë&ð…Rv €.»—³‘ªÀóúÇÌsœé3#ÔÁäû‘­¿ÞG)&²åáxìŽ̃77UcÈ»ÁË)'U¡ ³»¬Bcµ4ëÿ|PI¶ÀJòˆ ÓóÁÔ…÷7š”|Îø,°£oâ8íUḑ¨bÝ˵.­y$b”áèÁ¾ÒOËêEÆž“Á:9  ›G†liGÛ™¡\c*)¹¥ðñÞ§Æ(§Mári?äîØpÉQÿ]>)q¹ OC‰%búRr,z“Šà¿"¥ÈÖîf]G%qÞ)½¾öŸ¹½;ø‡L:xÃFKÝž]4ˆOÑRÕ€N}Î!«6 ‚n5Š÷yDGRœ z&´Q®MSÙ¹nUBðùw˜£. Õ†îo~À½b™K¬ŠÛÿÒ|éœ5dÜ:u.´¤Á›ºIħL W[ÐD`ýŸù¥÷s&½ "ߥ:WŠ¥)(®XÀVm0âûm8NáWÞäz-}ç1\ÔU˜KX1­ Têþi€Ò"ì-À¹1¸ÉàÁkÝ1ñ’B¹[DVz^'Œ÷õmèÐ|,l§pÔõWúéu¥Dâ¯f8ëñÈñ±ƒÓɲ$ÙPxX öl^ŸHw¨Ã𢄿h^¾¾ ÷óùv×jž ¶jA·ª˜½«ôÈÚfd)ëWy7’:²üµ Ó|XíÞ©& ¡‰L6ë@wLX9Óf)Dc¸š1%·T‹ Þ¡Ç•óL5úèu£Êß¡PÞ*‹<ì^º×nûUÈ&4¢eú9Á*Þí¢-“ ĪቩFáìýÍðWè9T™š¿Õ)ŸŸwR/ÛdíåE~[„¶L ]ÄR†É Õ6´@íyÊIE;zV mûR¤ÒH¼ÚBþ—Ã8¾qxÖ}çK'áî}°STAc˜•M1W!¶QG «þ8haÆ•„9ŒÔ¸µD¼.ƒL¡é§“iÐê;Þ–b0DÚ”¬š÷íLW¾ÐoÉ9pcÉÒ4}›AV ðè”lP„JØH•ÑA¢_ˆ¦Ç©¢f ˆ¿‡ÆÂq^p óEÇ­’Y©*JEªÀÃÍ^dD§F•9KÑöÅç^ãž-쉲Þrâ‰^9·yt¤›| €·T˜fƒ£!éABDÙ"Oø{•‹cÄÑúê úûÎÓ ’‰³õ"'S˜ôkHÐÃ×uWU²YG?Ç—WÅJ·‘ç–– ù“ÌM"ù‡ ‡‚¹ÿ‚)ĸޥ÷ÌÈøgKQûüUš¼ëýpcPéœo)ˆº‘¿E­ÏY˜°ß¯žç­üDâ5‡•½¼õCÆظ?=RÝ¡äØÂ~Ûùýùáõeû–5þ_çS#P›¿˜™lÈóI»·[ê Šns¤«4:ì$…®ÐòbÇ+Þ¯@ áQîWzÆôùïhŽÓ¬/ÅèaDXa§Úé÷B«kÕç_£Þíd*[têÞ m£K¯…` óŒè¼Ò©Ø…½IòU½8 ”kkÔÖ"õæÄÏ-jåÖȘ¸Ž¤…xöšGÅéqh•>„Øx±\ÎÛ—²JPñ%8Ï[:½97V—aL±¼&‡´!ûÿñä/©O{xÞùC+cn{M厩‘ñËâ¹Vúý­ò;páÖxˆ±RrhxݰïVÊÙ`SCøW°!‰g¦„vø/¢äl"¼êJ©¨1æ3þþË-Q™RC¹ùk¯IqÀ.Ü,þ9Ž‘c•#HbyÏòyÎÀäÛʤåƒkp+2‡/½ÏöŽÖ·½ädò™%¤íšº<ÎTnÝ?ÐÚp4N„§+’ü[­*uøSÆiÌNúq^×™øñÕïp~_hYyp ñf»ªw]¨w}í;Š&hRÊ/L¶×î¡ÎбáicÒf¿Ê°•úêS„í8Ð5ø+èÌcãÀ2Ú¿‰$N™¾u?Ç¥yWóáJ–<:ÄêßD‚`‡—†^²p¯Ÿ· ô«Žäzˆ÷à‹C¸vl\xc{>ë4[ØÞÊñï„Ìwðt(Ý—ÎHÒ ãLÉËjÉ ÃJ‡cSƒ)÷aõïßÓc%÷NÇìwÆ¸Ñ ¢ÆóDDè0$Ø/vž->-๢¸¬Bõ|}PËéMÃwS8þÍZ¬^z6ÉüÏǨK:õBœeýÛiS,WS )º¼?IäI^‰5;|i®`‡ßY3¼¥‡Ö¾ ¹dɘKûe¿¢ßF9å.‹‰å¬JUi2Öÿ ¿v[~Ci‡ÐÛ'ê qüÀ.¶ršr'Tl3ÜiÏú1zoõ›–o¤Ž ™‚ÖrµY›x¦&¼91ÒߟC ·túaÖZ«¥„D&|y\“Õ‰òÇËÒáw%…"ð´í«Yz'8׷˶䮽í¤ó#´–˜„Ë– -šµë¢´€€iP‘,.þ¯› n[ñÞM@0 7A°ÈH Ž3à åÏ¡¥Ã`.ªÕt©èFc¹_«cz×óBrÌ ðdX"Î4¿/ ê¡ÊÏíô±ãíêãGöw8ä[„òV¢U^~Äø-«‚-½…Žøá) qîáû±ŸdiZaø™>ÄûY@‹PRK­(ÎŒyqsØTªÁ¢ôÛŠ2CÊWbrC^Ïäp™"êM6ŸNiK–¥Õ·$_UcÜ„$5êÌ \/Y@²e*zÎÇç Eft É´ÙZ®R¿îêD­k)ž„ëàNHäXž8êCJ~bÃ=”uLà IÉ’MïÌ·(##該~¯¥çí®)1³}Û±c˜Áæ?‚N«Åë‹u`Æp)¾³—§y¸  ÿ;nHå´nA'ðíDtû;ÖˆN‰ ’$gÉØ”W¡ o÷ëÃ3 õ—ÊRpqÚ»I÷犅)Ó‰2ËY–ÂOBx‰²}hÖ8ƒn4ß~’X ¶À¡3†Nl'Tz3·0jüÛ‰i™p7»m¬±v*ý0ñ¤vì\ûG¡CVØ3CÄ–^gh«òlD+ÞÖiñqŽ3L#B'˜!¸3ôÔHyM}¿,P¸Kƒà›’s{SJö •?„V°=*ÿb¾„ÈÑé\Rm{ƒR‡7ýö_Âb¿0éyY÷¢y’²º’{òP&²O“ƒ±>œ|ÛBçXÚÑùUf»š}}Šzù6ÇžÂ>¦%ÇZyk®ß"üÄûÉ0§yðâÙÄàT“à`©XA˶ڥÖá1Ùõ{Ô%ζ$ËË¥ilõopç°Œš=üBXÂpni”šG1z*Ù¡£M,M2F¢jzQ­ áˆÝZ¿j(ô¦6¸ŠN€“C¡¸5í“/Ä*÷qDZ ÚÚ{€C~ÊÁP¢1³:b‚øS¦<7.çºT‘ìïÁÖK®X¼,z.0žæ^ñü…£ÚÄÃOYL6Ü^áÅÀò*1}[õC‡‚¿|Ñty±Óp?+—‰QeAD·ÊZ~=’.•º¼0v<ßÝ”o¡>u"NÞi—»ýû ®äÀÉ„Üûddh±a;¥ æ‹dM;´¬¢è†$„ÑðÕÅ@Á$ -ª¤TLóìýŽ? Pø8›pŒ. ÜE\Ä FoüÎdïD7}Ww[„Ç8s–ì2“PÌ& çóXÏ`ïÌÃauêÇÊ\8è?“¤ë…îfçŸB¤5AP™A10ÜÍb#\÷¦ú²¦Õ à ñ4Îjª/yÎf’<1£áæJ&UmÊóÁämqdxñGеë¥Âz!Ü!ŽYWa%Ø«šÛ½tiq{2¶™ ì‰Ó›>}Š{öÒûU{Û,~H|#f  ê0ó÷æN“¶¬Íˆ¦ÁÑO—À*ç©|OÆé7tCUO¼g8åfc¬ –¦”™Šœ¤sÊèR›yÔ%A95t¾ ßÌç; .ßÔÊ«GÎÝ‹j70Î}’Éd»nÍ8ÿp±ùœó~×n+qï^4}Èp«€ÿÄ)\R„š©Ó qú¿u¡“Ê›¯¾tnã4[Åõe{&ÎKƧã0Ç*Í̯‰D7³c®¸n®}îÓÌ ª5+¡œ gV„•W@.ïIòÙÞõ“nêÃ,˜û ¡ç0Ø(b„^ÇJþÐJê(“DEÖƒøL7¬ÄkübK p¡eç2SÈkß·¾âzê0ÃG0ªÆB9ô]*ÎýO}¦GÄHyÚT1RºžÄ–#2[D~äüKo¢¡‹=Áñë»'Òóõ×ïÚ•^{¡w†›ÏâèDG¥_>ŽPQhh=4ÚðIø1Ô»J|^Y®ê‘Ël¡Jviº fÛ÷¹1 øšÍœ‰¢$âÅäIìØg¢_Â6¹.ö :o’{ù]í>s8›%ªKû  ?Ë q™Dû¼w6£ý2õÒojU£þnð)œ“ñè;»¼€ÙÓ;evX~'РÙ/€—$xd™ÃNPdhÓ¯)à ‰Ò0CÔ»äÜ%›Ýƒ<­î_&îûÇ«A]Vߦ Jxò£€6C…z_„@Ø­þX’ÆgK[W¬ù)³#lr/3±°‹‹WK¨Lâ„m-'¯cÝC8Zã·ý‰¼xp!A-Åm¨ÒY¼Ó›è 5¿„}\cÁ\v†Íò\ååuDmNäïÕí¨ÎQFÚo?*RÀ>¹} M¬q3A¥Ë¼ Dc]F™Y1€—(<’•Ý/6‚·¾žøÒòNö¡W ÅÔÑ)­í:˜EÌXîuYÛóý1zÜ…“W5>3A¬zNÿc0$Gäµ’¼—¶3˨‰o÷Ú“Y€öj ¥u?/L“rÜË¿Ëv{Gí–«Ç(ÎÊtâþL!ª.ƒ_bXûvÿñ4©cJÑvàýö¯¼a ‹$òÓË-Ðmr6=ó Oªበgi’@2’Ì8¨ûN¼h`Ãq˜G8ozïe sf2‘õWKê˜ub €Eþ³ƒ.©‡a)ÂJÞÁòÆ¢pt‚x鞉Žoµ°Î‡TRûˆ†rU… Ê:U[ÎäK¯µ¶ ©a›žë¼wÌ›Uo7 é¯%ÎA(¿á?Üo­õùéñ£>¡¶udñèMóâ¿ðf0íWFqK퉯ö óû0»´‘ö¯aÛÛW`deèä´ìÞSÃi¦¥,w<ëj }hÝ?lœY²'e½ñµï~i’Ic—ƒÇ¬ˆ·gGŽQÔ+Eñ³³ƒlùkd6ïӉǑ¼:Z®Xš^û£*ñÒXÚhjÍáà}àè첬ãyÊÙT~hV›9¹[Ô§.’ n%É…6ëPYYoÙt¶c¶yŸL'‡‚…‰þ@Ü+Ô´&ÇUCQRúéuÁàP›n °š£Æ H(è문âí †±TMÀ»Þ¥"‹z“áVb¿äýÙ¿“ab¨~E!EFŽË»¢X$›låá´‡êdé8—6ݳÝJfÙD'ý^¨®Sý€eÌA¾ãµ!FM•y ^ ÜJ"Ó\Éë/£ÿ‰'¾>,°!œ·i¡áÈßígð;&{¬uN·ÕªyÕ)uA©7]%<ß< (8&Ðdtý 3Fž`(ï¼- Š£<³]>FC¢©7êÂÛ!Ô|õì¼qag$ŽU¾/-‡uýà’U¥`q¤[FÑROÌN„Å›¨=ˆr€Ê÷ÁÆd¤7 'lÔµ1‘Ò/÷ó›–UÎ2ð0›Ã61¾¦`Ã×SzäÃc•u$™#Êù!hëŽ{W¹êv>Cb¸ä㱎㥽peis¦^| ¥?ºüþ¨´IsbÊ%­m ½tm5ö@šò~åòËW}Õ9lXäC#y+…!t‚™tJ_c~a+e6MR ’Ý.H´UñâdM/-­¦:ñ¹äíDö[ ã!Í*¦O–ŠS ¡Òš|'‡tf¶‚6*-Ûý’ßNšë„Vͳf±­Ehµ‰ÞI»<ÿ» y@….±õ“qÙ‘&²Qôôƒ±›ÑÖíkjŒ²ñR¡ès2"ò™ºB¢ÔñÓÖóIs¹Q5ú3Dyýø6#î[áæ%;ÛÿÚh¦¤RÕEõØ5n¶}°CÈh ñ,€i½­3öæªRÔdów—Eæˆ>òƒ^&ꉢd}±‚Âèëpj+(ï÷´«³5÷¯rÈPá´ñ»^íÛ­ ·Zúœ0¼í =¡O›¡-iÛ&èÌ´%ÊýcPYÐÝ{Á†4á¾÷3,[o&7¬šMÁ:¯œfœš4}SHâbÿ ½kñÂ#hƒ‘!_‹(訜ؖ{mP}Y|X,ðìÓ9§Ç > €@YN)Pî\ÖÑûà áqšÌ­ <”® ´Oß9‹Lœ1…­ÿ•æü€à<¬OaŒŒHŠë¦W%Ê„p³7³®½]5ðÓ€­+I.ãÒ¸8Âh>;ÿ)Éã©‚T‹Úʃåf]-¹« { 芒ù†êÄ›#¶­ÊŒ3~$ŽÙµË¦½>uõÍ´ šdÜ}Ë~Ú¬"X¸¡Ä¢| Žo` ~„⸙ñØ š–BLx£˜¬6ó¹g3Õ{*U’ÿ$Fø>Ri¨ UÐÛ‹.¢ë-~.†×H Øø/'ÁÏq^ÌÙÅìN>ta·:°5bkɼ¯Ô©vFÝž¸‡¦UxXšµ×WÛ#À•øÕ¯Üëë#ã¨òôÃ0 ú“wçbt9F£žc7zFî8©d¦Í¨‘gL¨;nóô–t7iÕ¸›?b Óâw$kèY3TA7cí.ZrîYþyV ùŠ„ë­ïÁÌþN‰JïCN`ªlhw}„,FÌÆ®vÖT{üWþó#î¢ZÕÊè÷&L;ÔÎïân¾s ÙØ§XQmTUYAo×N×L"C½éÂÕe‹œ+p¥D³%ÐØZù‹ýß 0¸K°¼ÛFÛáUuFó˜ÝÊ÷|ÀÚž6Þ<˜^2.ð=+ƒ/¸ç Y·`ÅÚtÊ“"-yvª÷5œ»x}HøÑâþ­ ¥¥áq°"|„6hhÖÿ Îöô*Ôç†Bƒ²ãíþæ¬pü)úR÷Àä ‰MÎe+'Y¹v¼Z¨/î¼*.Û’W°béT œÐ[{Ù 'n2ãü:'üzàëbìZÎæ¯ªùöž‹¢KqkHJVWÓùÿvNàÓcŽ—ÅLNÚ\c>ñ},Þn¾©˜Ög8CŒ¨Ç@ko§_'JŸ)ªìÀð,Eea†èz&¬u»(±îÓg¤N )ʆ]7Ú”Ý$~ü,aµ0—uó™Ü{ÖÓbãÉ;ÊÒ“g×[ ¡ó#Ø<¬jê&7{›­2q¯îÃ7çGR˜Z-èwd5éœbE¹ÐDÁ~³Ó{ôCõŽž¡FLŒ~äŠÿÁÏÜ$|6äÛ*¥3UoÙóLØ òíŽÓ¬G—­­€á:*ñD¤”h«TfÐ_T…‚| Дàó†ê•ÁŠâ™?#Ú¥ÿ¼©dT%1H¡X Ó‚„wÕ(T·©¸‰»æ5µ¦ƒ±”a¡Ø>8?/¼\«Õ¥ñi¼Èx;Ô°*‡‚’›"D¿ŠY"þñ#¼Ñ(JMý8¬i$ªheêkR — Ìü€Š† ZŠ×«âÖ/ö·z¥•kÓà«ìÖ;‹Ó xJ>ɒγG;ø ŽÛ¤W+?Ü¢’Ÿ¶¬ª‘ƒÃ^S•­¦\d¥Ñw“Ïq…>iMh Ð]Ò™{R9@Ý&s MøÕº!¨&üw¹t.2TüÉÝk D¿KÓbòC-Q¾œxjKôwoú 'Џ)˜XyUÚ"@röÂTêù‡$ŸÍ¨ÿúʵ n^b¶ÈöS¾^ `Ì,þ‰)säÇÒ [Õ͸Ê®.Y«5F£L00WÑ«SÊá˜ù:YJDl¢Î÷ `ªÉw»¿P÷÷^=þ)˜ƒ–³!7™ŠÉe½&ÕU–¤d°y Ñð©úWþÀ`a s—°],ªÑu«ëÄö×THýhƒœ½¶g´›ÓgÂZEÛìHm¿SSŽ5ZÒ‘Æ—Û~ÿ94âQ+SdP—ñ=;q×ïÕM«Qè+Œáz-†©inwˆuÈ•&ú·a{­k‘àúl>£f+­lL8|ãLª'Š{¬ˆµâJ]öO"ÝIºï³†Yˆó I\ùþ•‰þуøö¥†tF~(ܲF³(nF‰<±mfNÑ+u•’|û•£Gï? M)¾m nö  ðÞïï¯ÃøP;B7Š—œQí“AËî«qðF'Ú$¹¥v³Ñ4³7ži•ðD¯¨"þÎ÷pû l,/X.wû5Î;Ô€ô‘ “›¶‰î·N9éçÉ…¸¢¥ÿ:xÇø®óú ÍíÂå|D/Ê0aÔ–ÆÜ>v(þº’D:LÏÛZ ²±…þ4Þo á †}ZÜ[ìz”‚ož %™ÜÑ•’ÅO­€©j/™y”íÀ}N°&öàEX§ £­vŸ_BgÚ¹ü¥§BDÔ ÇÓôœÔ`’¬g άíÁÉâvhÌ ïú¬Î8ä.Iy_Áqâ0¯w)ÿ&. IÎåáàéáî™Ë›¤å~ÑʲAáLxƒÌp‹×ºƒÐÇÆ&pá4Ž}¢Ñiç›,‘t§h÷йŽ|V™E_ ŽÀcúÿr1¯Ã¾”æ$éÛ´’n&AÙè5´‘§Nò¦àÑ…(L©kÝŒ%¤ó„ÍΨV»3žJÍO=\ÖáSïêKm†ÄñiÅzYÌŒö;¶Èþ-r9Æ”bÒœŒmÜÍÃõZ-É „Ë»5SÔ·{íéN©´É9 Ÿ)MÑr´õ øo[½«G €{ìô-²Åï¿Â-ö0®b“¨õªÁÖ Éƒð+}|ƒ/y)møâZË¡œpµÈyŠâØ8FꞤQB¢šPÂàC›Bˆ‹ §s…HysÊ7D¦ \¿ZœbË€Á°;ܲcú…¨qùŸÂµHÛò²¨Ì½!|á]\²}þ°êÓ”m†ôœW0þäèyZ“ýÎùH¸ãôŠ$‰}ÉÑÇ‚¡ãïaa×_z“à“ôéíºÿojIÀ€ ‰F›¡µîÒ®›búY(K ‚¾lýÅßOeÚà¦çÙYøKaY~ë·L•¤œ¼ML™•qœ•#ÌÞN/JçÊ5=Õ˜qŸvsÒpæ8ÔAqòÆßÙ[hsvæ^‡©ð¸ÚW¦þ¶~ÀÈðDlžêIº¿ˆÐ~¢wÙ¥Nqˆ†Š®Ò–´#sëLú4·R sõJD;[3äÑÀžF‘ tËoú—fòÖÄeþv,µRž X sjÆCF§ÎõaöÒií„gÁl6ÐBºuPذmúrü‘)⨩€r•5ŒÊ{d”¸mþãe@Æ]WJiáW Ít³²w-äCј^Ó åœ3µ#+ùë€22°J©¶øòÓôñ<¹ßȶéògº¿É™ñ©+ÝÍ&R$™)Mfæ´^\ÕxÝÜæ7‚½ÀcÖžƒ˜éùYdøuãhÔ(TÎUÙXÄ7ɺ uàë.pó‰"j`£VàS3Uåû£Þ¯Ýg¾¾ì¡"VÚfž¿±<VÌõ@½¸‰£89ZûlÆ’MÅÔæƒ¼4þÑ€u¹ JÀoÝƒàŽžò¯ßm·oBC•¦‘ ÓZER|=µ! \‘’2x2™“6­+ßõ·¨¦æ„·v‹[!gÛï8|vU-·Œû O÷ᮺ¯®Ä(àÆ_Z­FòuDŠ1L°úòº70®Ø±èãšÄéx­Õ<)ÎÙXo8Äí°£P¯e´‘QÑïþš?iËÙìM4õ^ §ýÞ)wku/›pNX¨TÙ.(Ý×›©+—‹^KE¾ðº&ÜkØ"+“åþhbž°F•똸ü’ƒ¹<û£ø±'šÝB¥ÚF¡v´qcP–»¤"}Áƒ­Jˆuoø{ÄžÿsìU5“`ƒ'œUŸˆ~>U&ö›3Ô€`Ã"µ*«X3a¥,;-’nÛ/TzCñ/[¯ÒÎÖ¡ÉRŒÏïFwüjmÊeEx5³]ñ;Zm VgÄ‹¸”M][óÌÜìAÐ©ä ™Ÿí¸ç­ú¼ÏÃhuÃ`Á~r W „ëíL ™zµ±R ·“a'žvóIµ¦ùIþ9œÜ$j0Ïu²“[Yòîtù©xS?v0  ”]ƒ*¼ßg*1 ™@åšQ¨b¦æáfMŠÄÜ(¹¯'ófçR…·Ã}ðÎïô7Õ·kˆ0,¤)†;å½i´LÍøúõfw§Ûè•°Tqìd̈ºjlU´wl…ymåñD̓d׃ë8ícÓñ©r”¥q\#qÛHw• ½ìÚ•Õ©ŽG¼¯õwp !ß¼¨óÒ‹¬ÒY;×n@ou%MD`:˜ZÉH‹lÚ¡=²0©;ÇÏ–'ˆP  ‚¨ëç‹$-üÏ8¡GˆAFÌk fÅ{ITOf…1…âA‹£f L¡Zd˜#«Ìû7ñTÉRխγˆd‘yVsȰŒÊFz ´°úRûˆ© f럹¿íÇ/T¾Ž•²©DÝc”ᙾ~¿ë¬Œ X †€ÿà)™™ßG€¸]ÔÁÁÄ©C `…ç´Æ˜ß>!ÔðÞ$¡Óp¯”ò>™™_mZ“~8úfÚ+ž7—aÈês´ZàCv!AæHñ±KÛ±$¥uŠ`'_ ³J Î3`?©W¥^êÞ azÜÚYDeíBOi7É»ÞSÍþ ùÐ/|IIy›ö ß1Zš°$ÄÏüÔRf•¸o2 êŠí~÷Ôò,Šë#¸1­ù—Iæbæú‚qDY¢¹>_š—TI€×ëò³šà8è<™P¯{¬õü`¨z€}˜Û¥û%ói òRÖj…u +˜¡ú÷æoq8j“–s_jY¦ÉNTŽ‘Î ÷fl¬F(vUèB/f§k{ôfî3…qRƒpŽ&)æíþUï& ‹] ‡º¦É9S^ ò-™(ÅBÎçØæ¿w芌Ù`0#T€ß!ÀWþ²Ó•áQpTýQÕ7µG»·ÉÅôÄ(íã'h…¨Z@Jª)Šî8OX±ííC\-U:o>û ©”êy(rÂYñºûßNjÀœ{Ô¦”ĹmsÎ’N2qvBE2÷F¥|À²ùƒ¨¤ŒXr´®ÝÓ?d®ÖŠÐ¨¯MyvDÄe6¼%Sð­$>ÙÑ©¹–àA2‘®@½h U;LJ¤¼•÷°0è–?|§¾2.§NØl~ç }1Æå‰MPVn®êw**C@ëÑ—gKÈú[§Æ$Ù—pµ›ñò‹ sâÉ2Ù èMž¯|n< ëN¶®8$|¨aƒq¢‡.!Ë£ÎÚÓá±*—ß÷”tÔ¢"¥ŽÕÐfKhÛzöð@W ‘°†Að E̳Ò-÷ó½ï50•M®ÐU]“rà nÓN0R좒ãíéÔ:Óå—r·u_€QDýª%à*Ê#°íxRâÒ¨ˆÈl†E"³Ä@àæ9h-xĉaR4–#:ò¦åB^>Õ =¿”$ߢ—Ø0li'ŠÒ'<«sÉû†'àÛuÚ=ºÂ¾ñ ]68¢?+¥ôFÍu«‘ö¿Æ&ñµmËK\QÌë|[R¿>.b@¬é±Ž¡=~>áB»ø’µ& qŸœ)îâôÙ‘ÜŒ6I6S¦ƒÈYÀÚ~ాꄔÅ6„–?Ðåòæ¼wj]Â*+~dÅeŽú¦²'¡¢<É‘Nº žü“í=D·¡½ª˜”)¡ÏR­êÖ‹`t2ös¨ÀÆÅ"[rÁá+'aRç½°!ˆ6߸ï¦'2Gö}Áp*n6g½C˜°.$­ý•ñO{*®°ˆŒð¨H B7Ãè6"¯à͸éž2:v}a}c6”}à)+¾›ÓÙ~¾ºšŠÛCÂB/ÍçŽi'"_5ëº]M³Û”çPmÖ¯)…›1’ž ½]•3ÆEäêPt•Ë0ã©ö »N81möµÃÌË-LÆ=ì9“ºéiåêù;{³¸¨F ÒìbûÔ?ï–zøÒÒÉÀšG4¨Hzáü öjiÉÝÓô{×°7ð S³¼=«¥¿"™'wnÉ%<&!=n7ìïÃ)Åè:ÝÊŸ;pÊŽùùk]`´?îê)ZŒ¤#',éÇιžR+x–„, ´'eº8V13\°:¯¨V›ÖõŸ œ ^HtŒÀ¾“ýÙ´a$d=Ëh¨ço:#n‰6ÉÇa mnªÄ¬\Y¸wÔCâÄK”XÞ…škZ».“¾Üú’Ããf2éXòeC›Š6È‹”I #SI‡©eÑ2jÄŠ»³Œ©\h[ϲ­ˆ»Ò´W£ùª¯}Ƹӑێ8Ÿš’ ¿Òê‰YM‰t 0xx]fÚµ ¸C“D¾Φ‘¸+fn, ܬ•™‹€&Äh(›65dÒ#5ó œ7…ù>²²©„Kb£òÉûñÕÔâ´mXƒÝb£Yrç{àìÀ˜ tÿÞ»@ê ¤äb&›‹J=é20'¤¹4…;—È œ‚RQ൸ü0:9y/˜z‹¿G9çQM{ÍÐãè¸FÈÝé”9²n„óÊ kÙtâW÷©nT©h˜)_˜§¥ç/€r-ªdÙO'ë| ïJ¦"9¯‹•fÎDÃc»š‡ñ˱ÀtYê½v­d¡ …[·¢æ² ïl“…ñóEA›ßåJ@²U›Éá 4ï6JQÍ'F¸‚¿ŒìÍÔ5°Ý}sT¤WÓã^ÉqeÏç?½Ý‘AÑkõQÕ9c00w¢F0Ñ¿RõA‰ N$e²3O§³Šµûw}Ñ'’G¢ã˯ÇQr·¼VºÛ‰ª¶DõÁØE8ÒÊ.Pªêfö÷“å´Ó‚ˬ¨X¶C)ßXª.'¡!†_ðQ'ߌë%ú0¦«YcíÏS|Æ ”#=þåµ€bÝ¥(Ù¹Ç ¸Ó¥ôôèoƒŽ5þê8®³—û_² NžÏ.7åœù\D•«`ŒßÀÇÁöÆÔÊ$á¬rªcwóà 1ª'Ö*âÿ°êù‹Ç%a—i«ëZ«ÞR,µµsŒèJKè–`ÄBnj©Ý¦Ñ’6®Ù4â“X1©Hv}§Íìç…/^%ÛÍï—Þ.·}ÜF:æuù›î×€.:R–P i*ZçýgG!w¨«½ ·»¢ß7Lßx^Ž¯Ž¿NB—8Jð-¥M‰×Æïôf"ggr_`:zMÑPô9еë! ëdÞžÑiÑ/B£{îQ~~ 9dæ\¥ FÕh-Ó¼`!IÇü„Ìr¶ÞEVxfOk<dâÈD ·;½CïcÇ–ÁÏL+x-ñ*Æ5GúD#{›ˆæUV¬H@^*å‰`Fn4hzžK6þîæˆ#¦’‡'!u¦ëî³,£ù€òD%…w/(€ßg3ãƒç|‹?díq‰Èm~˜â½ ò—Äuï,©“Ñž)ÃaX/Ðu­Ä½o <É[ÎÌZ·:`¹I“Tõ¹åŽJksâCØ}tšFkN ', ®ò ò§ÎcþÜ»Éÿ^¡(™‡sk2¬þFJš»ŽšÑ„BN+|ÀYàh%çsb‘1œô*W0/A×DyT£ç)¢]’ŠÚ~yïÀ­²0XnwXF”„`‘S{¤G<º#›w€˜<-žJÉÖ{¹M¥ÝÇÑç§F,4û6ÆR¬R¿úï º×^K5gº[‚däGRX›Ý¯5 .é 8¤ÁPx~½6ì,?ûFç ÁÏn€¬š*Z~QœÎ5ïk7§Qš;ܬÂ)žÁ8á´ç nÏÄFÂ|‡ã<'oÈ…ZÍÇ–É÷/×M³9©;£dF qÌ´IÜÞ/¶ˆÄª 53?t ÞÇ.øùµ)•Àf™Ðlð/D]Ek Vû¹™|f¯êæë4ôFÖ!WéG/Õ€tÊš!ŠàîD Š+üCFQÇg–>upÝÉã[í“´Xy>„–°Ú„ý+Æý¹d£-‡’ }¥?.6¶»"ÝTµ=¿Z flZ\Ƕ¨Zj°MÖ ÿžw]ÕÏ¢/ÿpFNSó/«ƒ2çTbC‡<¦g‘LVobѤõÞ'å1B{‰Ov>ÂJ:ÏÆ™ïxÃ͉¬e¬Š¶osIï“+Ší‹À©#ødKC ªâò({¦Õò-Ý#óú"¾M 5 UÓ/«Uøð¦)ö˜JþbN%E¤_ûCÔz±³¾ó¿^ÊñéÈm棬¢H¬òo”âÝ|à6óhÒ½€„«ª“¾·:äjº¹rµûDÝnºÇsŸÝä;¼KûS¬Á|Ψ{vÛ )4 q62Fn ©­Û‰deØì¶ýN¼„³å÷KXÕ›—ù`»#]õ´5¸Y%@Yõ'Á\Ö]lKÚ™ÑÎ;}÷iOèf¦TbüóþÎÆ >'û<ÄÚ<‹0êùËfÙ"¿Eü!Z’o&÷}p¡Â©ØmÖ¯YCB½÷ÉÈ7Oâjò Ë ˜5oy«²ëýLdÁõ¦ÆââG¦!B™‚Ó ÛÌ€ÎÊíèó‡Œw5ÑüûßOrêø]ÚêÓð Q#ðä†5öT4I%7p3HMCæ”á‹êÞ'ÆúùýsÉ m8#.žA?ç _­ÀͰ‹(Šý)Ê¡Éæ:[tjŠ"Ê5Ï‚ÝQ? ôöŠÉŽz°ðÃ+_JdŸÚ¯‹VîOA%ìÚËæ¹9Á¿•-››‰ÒèFÁ4{Ü@«Õ›Vk—Ð7•×=¸3± :—r°ñ%›9Ó2¹ówÑiSf“z ÞA3~¡àŠ“†‘ðßÊÅ{¿<…Kq<ðUS¾›RÑë tH夙A¹“”û?¬ÃïùêZ‹ÙJºýéHOs¯3 XqƒZ&Û¿¯IuÝ q8É5uN»0/ùEF·Øå:É bñ¬¾´G7)s€òØØL0Ö¸`¯ioÊ×]v„ÎDSàþÖn¡ØÞÅb Ѧ«E–F«ÌN¬fç|Êî"­ÀãÌÈ]0ê_D]4Èä­¨ }§Æ#i¬/N·B°Na3eËŠ×FÐC ·žˆ0ˆÏæÏ€°•ìÓËí2Ýš ·§Z†S†fÃ…ÛÈj6d2 ¼ÚºQw,k¤^HŠ\eì‹ß™óƒ™NÎm´JØ! ’2wÕòò#xů®o²NïS-\æˆðyæM„ö‰3]_M¾=G}Ä ãoe¬±’Qd±•¸4†,³¹~C=¥âÖ1®gnÍR‹7gÝu¦âÐø°U&¡‰‘)‰Ò%ïñ¹‘xØZ+à«Ù«YB0waFà7Œ jå¯õ[YFØ¿Ûá%¦ïýüp ÜÒ–‘ÂV…IøäJ½¨q4Æh!¼zÅ|â3tB{uØ[i-3»XtŽpp ƒ´Þº'$Ži¯!Hl\rÖµuÂx‹ç Q§‘ûLÒv¤esÝÆm …p¬ÁºY‘y½•@˜éé$” *ý Ò«Ž3 ¿!hï ¥ÎdÐ Ðöæ;[o#DdP´ôk1(й{5¹š«P£ñ[ôJ0p’.yzãke-™†á*FfÕ;u®Óñ\àM{¡`S‡N‰žk_´K†q_ŠV[=Ÿ%å\fg³îµ˜™L2ŽôûbøÇ•É›Øåe¨†Þ%¼@d¡–ªã]ÎpÈ;a`•ÃÛ”ë÷MiᯠLlMô¦KArÒùz"ˆ C—™t±EË^xN`Q0‰:‡CRœ@Xïõk{„Ô6Æ~t^B˜. ¯c¬¡°4ß'Q%³0Kú'Ëä“‘a^—¡ž®9e¶Þª¡DÚH}Ne]Cä&–¥ í¢Ð,ËÁh€g4gý‡m´Âo§t¸V…:Î%7Ð>ý'gÅù/ •Ê ëŠC÷B(³êv\LçJT,×B—4YPrÌð€û¥ÂÐÇõÌ*Ý€½-7&f™dÄ0±IjF‡5Œ}'3Éaý¨ ˜%Å›Sºø;íX¸fÜ(+ ÷¾Ô“¤¬Ê eÀãxhŠa/ÕHeûf&Ñ·‘¹V|…“|mÚ|×^±ùFÛ!‘ð%2(»¬§ OVÞô¸¯= $ÓÎÍY¬¸3‰zï)9Ú$Å([Îô@¡Pu9WoœOS³vƒ‘ô hîcŸg<¹%)*·‹õƺ. éìÅþ¢m_D¡-¦Ò«ì8Ø‚ª¥'=öŒ.¼qí× %A6µýŽ#¼~vCq¨ž.IEÓi¯mOw^K¸‡v*“BÇ~#Ñé|6¾ÃÕÐ;¦=hIfâ•Üú¼M×½ÜÍýX_^xüí£JßçÑ´~o äJᢡT˶ÈÈ€ŽþÔAºOÖ­²ûΧ®Ý©ü®Òeú²Œ°i"6›w¡ Çòâ²™d«|k=™ ó;µWï`l¬}?ÖZe$µ)„†…’éZ™ x5 NQHнyUÙ›øVîî"~·ÜüO9ÿÛŸù‚×]dt×¹ýâ« 펻G_ŽäôÑ+ÊÑóÖ|0¢Ñ]˜žv®Mœü£³C‰y7œBIªUóƒszàAKÊ46toëäw¿Ù]nÇ ò²Dü1Ãh‰¢€D²«¢þnC,摈š‹ò1wÝÍöÉìw®Â%ÔÛÞ7$ÑÓ9(#oHîå­Ì10ȺéNŽ• «(ª9Vꫦ0Œð…¦#„_@›jQõ°;\\(> Vº|&…͵XÄTM‡FšÕX¿™“XK¶(O éÇáT©Ç ú½ŠÃG5øqB]*¤”1ªv V¼Ï‚9Õµ.´r¡¹ØX•žP6f‘ÁÈØfdQ=ò|½º]CŸ'ò2ÙÚ_8D¥"}Gø¾  Ë3þ¸ ±«Lô”SüE4ˆþ¯UW<0¾³¦÷ÃXþ8ä°gdIQTGÏ!¡p™¨ŠÙÅÓÔbƒ­±¥J† Ú¤@º‡š-à¯Í£QCtœâWF…ìË oÒ|*ÅkƒG{缊_œò3óIö`3Á$!éÎT§hh p¸s×ç‰äK²]ÉǬޟeÃcÜ·_ËKª]ÃÆN÷3(ŽÇðLg*­˜Yˆ´þS"2†¹5d¢å{WâÝÆãªÌjìˆd)*u·=ñ³J.ÊMk›·«0„ð+®Ràkƒb¢7Â${Áº™4rçŸÂ"0IkÚI dÂyy17§yYuÛ¯LŸÙïÆX—ú FÐ qšÑ¿L ^|ó®UP6«ÇMhE¡s€ ‹O±Ÿ~‘,¾ªÃ±¡ÿt€–ÌeáAíNÒªþ¨å¶~ǘeb×/#u8eÜÚ¦J ˜¼lr÷@0ð ”p§?"‰ÇÉwâIׂ¿~Ÿ*¹ŸŽ£uàûÎå>¼M°ë"ßà‚S0¨·U«a;Q(X0ª|fÉר F)’ ‡’^n˜u"öMËëÕˆ(/³º^¾_£ÚÛ=kÖêªVøûö‚€ÆoÜÓ+6VE¢3#ÛÂpŠyÙ«®ÅÊŒQúö ~{låóßÁôSDÕÇûøÛÊ‘Ôc»º=Šó}Çäõëßu ŠªÞä ÕË"‹(Y©ý&Xõ”QE妰ª•Éz Û‰(ý—ŽfÖ}a(´`®{F7r(í à‚Ú@Zôb<N}xFúuCT±isiyü–Ã#þ ,„-hœ)¹¼QÃð·•OÐ&ÿ.ÜZ6³ö‘VXê\ðõj²)Ey{8-7™x†Ÿnx¶°€uMWÄõ%tÚ]iˆÝ*ÎtéIñÛ¤â.cm¹v;_+…#¥”¬—0T+‚¬HƒU¦Á4Þp/ås8}+Q‡*°M›)ÛýwYÞzYøo°ŒR²n°\ÄÇFÚÚ_ÇÈd§Ú\RìØy¬oñv‹?ñöæ8h&B×­¬—`Â[kDô€&ŠÃ™áPxæ‚ÏÝá éóÜ[ð)±Óžä’~Ù{PêUG<ÃaZl¶Gì©ë§þu?Ùwl<‚ƒáF–|©%Ärx›°°rVÎôöç„CK…<=po«æÎ@Ç;ÄíNS8T–:Ç^eÊ)duÉÎ:Ѱ@tÍܤ@ E&–©ŸAD$ŸCbr ¹P§¾¢’Wìéµ •¦)âiIg²š"yé‚ÖŽI’ßö;a¡>?^£ÀjÀÎeú9E¢ìÖ˜w+ÄYöÚ/Òël˜ ݶ­óBß~<ÐZèõ^oRˆT-P|ù …|î2©e­ŸB‚zÞ2ÍŸÑÓ?³CZ̮۸akÎëÀ1$uŸªÎn¤zªáÕéƒò§z¿)|¼ÁAˆ†)¤NžYxñB!49¶¨(Å%$|o²eÓFdIÒ4#Êÿ›JŠÂRVS[,æ-r ‰ýçŠBÑL@ëG9þ3&Œ¤ú,鉘Ñ¥'ËüÉ• ËÙ¥U,*J3Ù×nåË\õAvM]Þ•K8—†ù?=>7¨ž5aû)l„ëq~‘&ýñ+m v4ÿî(2®J3•Lçj`L·¯¶y,ŽÔ\SdÆfIZîªR²z€™ÞâI™74í3F+xÑôHT{ž¹¾‰I2¹%3]˜ôîÚé:îŽL¨A¼1ú:*kèD=úÏßU°¨ÿ ÷2w²ïŸÒö(ËO¦?¦ºA¶3&k¥1Šny@#¶9žÐ8{«.XÁIJA´Kè£Ñ,°­ZGù×\Mp|‘(~cøˆê žMJDÂ:æ„+$ ªj¢ÐÌM"˜ûµGB¼ï eUvœh@Y}”Á™µÖA)%¹YçÇá;3áĔҕl·<Ìo7$V5 ÎÚ‚q€‡3V 7d`ÔQüM|اêh oÚ‡ZxN÷^“Q?@Ê,<©€ï>`« à¥zeæQ0žšb†‚tÌ´Îï€*$A,]•CâȾ«RJ~­#9K@ß\ ‘¾Ì$Ú†• =ÇŒæë2jJSÜÓ/šE"WX„/b@®çñøÕöhX´?ÏPYŸêÍ{Q_ç¡¢Q:ëûuì‰j-Ý£.¼8̼ÑÔ5e#Êö꘬êÞsNž÷hûWhÑ/È€{—ïÌ`††P³-Àˆl_ÜOÑÙö\!j¸ì»hŠÿâÒÄÏ¡Ÿ~ƒ¿Ó)É1t¦Õ§{·ý"¡V˰ގòW!¸HÀ›bβáüâS éœÏl¯yèÚŠðÄð 95ÖBžûL  QVà#R™jÉðÀ^ý‡.¢O«´ç>ê ÊÒ£²pHøßSRÐÿ,³PÜ2·À˜D•;1±ô°LÕJßo‚¼„«ve‰2›Ö\n14労ÔM²áœ³C ñ“p™þ`^­Ÿ([­kL·±(VÕ÷öü²èswše‹íß(ïß.dÎh'¬Ò-þ¼Õç[êÆ÷[g£Õ]ÛåÚz{¤lÕ~ôt|”Èê"9Ð×# €‚„ú ÝÆmò=ðžMÊ,÷l‚\i‹>å·z½J=ösÍϼ&®/êœl}¶ XÊu»Û›—ÍŸæzyñÌ ڨªÈVNDY*yÒx(½o=û½Â‰P56}ÊõW¢³âýÚÈAS03`×vûBß”Ö énß§‚:®³'î£ðiî)GŒÓ›]ìrgKyÈHÏßä\b!6¤&,Nøó§ÓŸÿ}à¼4˜\ì¡9œüô-¹d·hÒ?¡˜äæÊI¨œnS`0m¯af¦Q”¦º%L’¬¾wA=à<³ø ÃÈmîöðãÅlµ1Ê£Õò…eÛÇ ÜùÙ?ZYørC<`a]3œ†‰²”o<ŽÐJH®Ø¾òÒs¡çîÆíw‚L>qº™§fEójHÀ‚„±N·»ùúue.¬«ƒT»ë9ܪtw’4%5ég>iì(F†±Zƒ‡Ò¸ë."ÐvÈŠA§4ø˜E÷‰fÜ8AϪY^çÃä?fý;9€Þ|hàØp¢Â 8= ?!í1Î`û‹ý|„Yω±×Å&¦0}Tõµ‡º²ŸJƒôÈÊL¤ ½ˆº1¼˜K6„Û\«Ë†©Ç7V²—)~˜5É 6ÄgF3?ðÍ~ÔÀ© ÈÑØ±¢/f9ApÃ{“v3À;^ÚäÈ9:…ût¬ëBŸœÅ4Àا'Mns C|®öF]‘ë@)çÞ¢×3º,‰êk)vC…¾û¢BL_d€7ÃSÏMƒ¹aØ*'¢·†îFPì—-êK\n;ëa…˜t*dÀÞzò œAÂe¸ÆÇÇÏ^š¦6†˜8c#E‘¬9HžNuò^HøTTg5ãÛ9³ÙÈ?¿¢î@*üë³h²Ù ºFÄYZ•kºøRÝãÆ· ç­%PæþÄã«sÙüצ#-:xàG?GǼnUm z|›’¯ï ðô©wUý`û°z—*Ëü*›¥I(Yž£…®U—}pô@èaª¢6mÌÃUW§XbÓ‹óñÚ7È\zÕ¸= ”ÚD¬ý}D±ÍóúûSÀë{W™µ‹ÇV]-vX} j ¿~Þ*~Í2ü¾ddü”ÒºtÀU˜aæGálŠ®ÀvæPVꈔzö…E‘$li}˜&L`ám¯G*eĨ7îaø©i&æy'*yŠ‚¤HgO3Úßí(Mw.sx¶sú­ëó~‹pш#ÇB ¯á¦À­$U–u {˦hÞ8´ÿmˆìÌ´^! Šqþ@€jÔ7y÷½Ï–ô‡ªú¥ò±/ñQrp¾fÑuá_»,ÙÚúÏû…´M`añoRþÔÉ+`göêðPÙ)çæÝïÂRý^_ß’ôyë‚u’oNpÕ0BŽ®&;‰éu¸-‹ê9Þ´F¨RÄ ‚hÆ /)PÐ 甪}æ ·j#ž.@»q–èâÝô|N-±;éu_w0'§Ñ.Ê€‰H&îoŠ‚·Õ 9…:f°·Î ×È´cæé´òì+ÑïFŠ#&Ÿ}&˜5å ‚¶øð4ÒË ‘¸ûø¼RÎHráoÖ>yéó]ÿ¿¡p2ÓŽCsËê7 ûTdóíÓR:æÐ:z/ˆri·m O®V¾/ÈÓ:þ"CŸ© €ß#ª ZùĹð›a…8!SHe”Gãë ¥9š•¡­ã ÒõŠžÑ"ŸÎCI·‚£1ÞÄ2lú%þäÁëO•¥æ²{ÄcØþœvOÏß‹«#ZUOfíHÆ#­Ú3D»–ɉÅö™ º$ºøÿàÑ‚"Ùu’ÎM½¥ˆ/=ûWz1O-gªŠ™°IßÓÈ®iâ¥&öÐË9·ik¾ºÑDìïú«<0¹ÈíxZ=áω:È¶Ò Ú9±IŽuæ¡ý4ÎqUc4"œ~>þd¹rPÁ.-5ƒ}ÿyA•eídà8¥3öøËá+OíÖžÄÎÿ•™·Þ~†Út¹ ¶I`Z,~Ü•êb“i™ï@È`@I@Ýöèò*Aëš"ýi.é´Bj_#³DG5è!: ŧí›0%ý°«UX°³:±õ €Ã•ÉBúj }v5ý}<Þjôg|>‰£‡ ’ј6´’„!\¨—É‚$ÀOÿóž¨À˜te•ã&«Ü[#Êq^jÉ„€ä]f.§¹\}ÐÊŠöQÌ÷:{SO§=÷á Ý+€é·qó1Aí !øÅ¨š¢/õièÆ¥æq*ÚÅ%¹Ê!cbùÞ7 v¬¼Íkø­zqÓ4d²W‹q4¬Uzüá[ħ¦ù“4_uy*͵i m’ºmpÏ‚L«/e×Ï»wâAJLÑr„6žÁ~—¨«-³T”šbq®„ÈVH¸f}`“PxÛ_›œs[Udœ›ÎH¸œ!“ô,o†™2Ø]0½„ˆ²ª¿Õyœð&—v½È´@qwLI<œ®!xüÉd³æÙ1´<Škeœ«Pÿõ˜ïW[£õÔòe¥#Ò§ly<œ8gBƒÄ+ð1FTþþ‹×:ËPaãÕ¢²ïõó¡;(àJ­Wc“?ØÊôyˆ1†æ|Ââ‡¯ÆØ#× ÿûòw'LKRô¸H¿ã©ûø®Ô›ï7öÉC6*ä Ðö à&òî»~kqÕXS¼Ê¹Û^&€¢Eƒ#[jàw= 7Íkj~÷L› 6”¤6V'|lôþ©-Kž:ÁH?ƒl- 9$OH[¿Y-ÃÔзYóª<rÔ~óóµ°®Ue~¸›þ›„Ó’)>Sé~„°…(nN¤äÍ.ØêŸàå<­çô‰n©öñ}3ê‹#…5¤m@pHK£-ÔR u´Aó"r›ø›ï¿Ð83 f¢8Hë½Y¦_Éý¸¥ Æ7GÃ?jÈO[}ù¨|w&;›·5¤øÝ|tgêºR@VÆ uù¨ Ü7 Ùx¯”6¡{ïX§#Š‚K¾qŠØQæðú÷lÔDï€b))ë€F¼ŸÃS iêßÿ󾢩'PõçÌ”,ùMTÕÑ'bµÉýïTdá`]á¤Ùœ (׈E$Nåö~îJóñ ¤Áû) ìAà{]úÒ³j¼ ‚It@þ Z(Ä; M$¬3 D­!*eå ÓçrǬûßýÿ!y?Ò”U¹”¶¾çfª²xªï_È¿'ˆ·€Ùæ^g9ä€]-·LåúAƯR8òT2»º©Á¯ø¿¬2Ê•†Ò%7T†…Û×élÊ#à£&¿—s屢*)s_Q1µ>å'±p- 7å$z±Ñ‘}9ÄÞs¼ë‘ ï¢È¬¨W¯†Ë;cÌVÇp0jRì¶«Ð ä×%Þ™òòåœsåÄŸÍØ`,f¸ køÏÊ€skFUú(OäašŽ&”bÃqÆòECöxs“5Q@æ$°ŸÝåœ C“¼¬šQÃ\yc)=ËÞºâb_F?·3³¥6 3å¬1õ"kvÃÉ4²~½"ì§ÿÚÐ=b¸vÖ•PÁ³wî齸ª¡‰2ä‚ ùñDÎAjmq=¼ÞA¾¡¶‡Í\è‡OjìÖP‰‘ìY“øÏÙºtYA¯ÔBh¦ö¦ã…±MLe «@ìÜY¡?éÅC¿Xµ`A0‡WŠ/`Ÿv¯ãµß—ùA†^ÿ[eÿD9V=âͶÐ×^úÑ '5I~Fw³Ab{Ë’UÕ˜vÊï9ƒu³Æ@ú¶$l3¥ÿ§¤b b_-”ïL]PšYkP…ÑScÙÐò“ „ÐbßГ&"s½ Ç~À†¹@4Ì/¼¬”VZàþFÓ3vcDέ„d„'ê²6ÏØp1M¤÷e@"¾XÔípqŠ9ƀɧÿ¶Ê1 JŸKšÜæR–dàèªRf^Aö™“&yŒr'ŽËÈU65Ò³—VU Ú°$Ìd6eN^|¡KÕÔÓ(‚n¢CÁô€0×;ñ ßNµ¥°Ü¦–Õ¡V°¿þBœÀ¿¦É uÙx‹Ó…Ê«k.JFäìb5—Ÿ—©µü ¼æÞ$Ý䯕Ž:}=ó2 eºÛ¢áB“!ïä >ï†!ÇZj8ˆ5o“-©oÜhÆdEvQ縣T~a‹Û~5ìÎãkÁHx?Af´´`º´0*^4ŒéÜ>æ<êø1ä°V<³·akꃾo65‰¾g(µò„–©û?¤vHuˆ¢Î«k”þä`þ=œO‚1Z•¼Kl,|=©&„)¿?`4$ œO”pVÐóÎ0Gqi9ÞÕk m^*æ;¡,ù*ñ¨0R!I¹uºÔÚ<µÃÓ nõ,îoÑ.DÈ1_'º2!m¦È[&*ÁöMˆ\­£+…U-"†¡®=½Õ¬×ëFtƒg¯Ul.ÙŸ¼Br˜Ÿ4LO×…îè“ÍÎ(qÔÉPqªFPàÓ öwË :qÎV‚bAtxÒ;8y{°9ÆÜI¥ ðß`¦]¸e1ë‘£*á"ÜXè…=¶‡Qï²,7Oi»æOß¹÷ÚèšœƒÄn…ô†dko@׬àú§ÓÆÉ‰ø³´qPYR£¸¿išÓˆ-0F ]iµÔZ¥²ðc©l0~bT~›GôCŒÕm¬Smƒìh.#%OÛÍ“Á¦PЄt:cn©#c†Å[«©S°döT«.ÌŒ© ÒsP-[ÕÓ¥qp$Ëj¡J¢žÎFr‘‚„FFi€ÀUqõÞá?4|¶?ûÞb@€£Võ^â7Kºë:óÓ†¯’–žý5î:\9¦ÂÆM » ¤ÇdÎëGX{ºîowÕX̦üDõ„¨âipZì}ï`qÂôïèHýBÐ`{‰*yX?³‰‰ ¼‚§¼œ¸vay¿Bùâàž6õ‡ˆ‘„üŠ k@ˆupH0fhÏŽÅ-ñ`°Ñ-Õ2˜ çO&m²ŸÕ<Üj‡‡ì…»vQýšÈŸNZ··óÆlõKÿÜI3¨ pÆ9×{±Ÿoþ/Ruh)q]@óÀYÃÖå]æ.±ÝÑ‹Û~ Ó0ž©™ 4ÍpÈxJPÓ´:?+ÔÌ0“Û¡ ,vtB³(¢‘Ñï÷Ç t©ÂÁm¡¸õ·2&UWÿ¥%?`ÐJåÙªyægÄ?ºE¢=Ñ˾TX²ewZ PíÊ:¥Zþå<¬¾ðI;04Ñ®. ò¬- ^U8V7ÓÒ`gó„ŠpËNœGI¬pÓ1à&}NŸØ¢PGO|ÚK܆0-šÇ=’9L1Æ2‹¹g…äI³¨^šfñÒCב[¢>uÉÐß"ëÍóñe[Tq Þàñ«P+ƒÝÒwäs±Q2Ž)j<‚\ëÃL•;ÀivÆÓ3ÿQWðŸcŒ*„ìK«c(Ø—0†B­¸$ÞI£¨GÐ(²lR‘5ÄQëMUaÏ^=ÄöĈ¶`$*¦å@ LiXIhPž¥¿!È&ùgR›J¹DÕ–Ÿi¬å5ú×eLÏ$rEܼ3®äGã]ªl©,cáW!DëVñ0„ä]?Wuoœü,ºÃHØR†ñ…S~”ÝÞÏ51g‹øª.M¿­f@1³£:Ƚ‘½Ì—Ó;‰b¿oáÄ(`t_\( “y0Œ¿}bf>ˆ3`‡óêè +L¯t;à¾`À$ ïÅ8öyE·ömøŠ^‘uµf@Ñů’#ÓOUlXqÏ«¦ñh„3))ù÷£®ÿ»¶ËþŸ°$ôj3î*6Vã(¶lüq¦B\Â'lžDNÃp”­Ÿ]:Ê=?;žÙubMÖÿÓ?æ~7Zû`B{ß„„"AAõ ˜ÝOCbŠÁé£ ª{yZ//pˆ‰Í ƒ !á@ý0ËåtNù;f®C„¶ò';Êzé._í:R?ñ¥æªãÂñ€›ê±Ö"5µÓ×Þ2þöˆ©Í=ÐuW¿ƒ3‘ÓU¿ÅšLõÐ:å÷Œ¹2'zp|bp(†]ÕhŸ©›³Eã‰ÈÛV»ñøy´…Â2ÀÈr¯ãX”‡Ö ™XT §Ì×D|_‰_Õpôÿè„Ô~ÀDÁV \2"N ×ì4;ÂŒaÓºä›)%ü%Í‘ü,ˆL«ƒ=`¡ñ¯º¾t­LÔL vU½d8¹à¿+àa‚š.€T·ØlÕ Þ5¹ÈÓR·]ç/Óù·Á¤»:s¢¬I‚Ä+ öÙæÆÚÎå"%_A¤"F™öÝLGÈÀL¨ /'‰_hG"&àì³…µ+XW÷êFù}Bþ†]Uþä”`XAÙC3Ÿ°Šž››§g&qˆt¾$ìÆR”T%Bµx¯?¨pGXÁ’OÌaøý¦úN¦Ô?H˜ž¾­Ž„Fô±©Q’G¤#•eü“ÊXˆC‡¹j0–2y¾Ò{Ⱥ@qlƒ¥íl b» :þå:÷Cú§úÈî“=­©»76YËÜC܈’ì "¶p†2oþ¸–_ô‹þa£r™øê$4ž!oh[¡1¯[HÌ×§î'î–Þ›U¥dÆa¬¼NìÖ¤µ$x¡º}âzkLK?zrÒ§>=Ei³Yw›MÏžPeÎà#BËÎQ•J ÇÓ^+7‡Î¹³Ÿ†Mü£+8~DòÕúYõžu0!Ù Ÿ:p¸¨Ræ„>ƒuH¬`ز·® 4ò¸oؽIûxcO‘» ñ:ÞàU9Å+µÒ…ËÚ:¢óö=ÑWåðEÏ]sÄú‰ÂM’Ɔægü'ƒ!©æxÖµYƒ ³ÝZ!%ªÖ€Ã•»ƒ2ñNxZ"dd= ³ú§\hFÔñ”2cQ`ÇŒhQ ÔÃÉÿãëÄ—TbØá¡Í1!¿¾-:8^ÄOÄ2Ö¼é»qyøÐâÿ¼˜Rýu1À mP¾ï /ëÓnyi¾:b¤Ã”ûšk¡IQ£%c„bÎ× ˜äÖàWŒ9ð‰øòs=šó| 1ÑIáÒ··†Õ¿¸‡‡[l¡[§;óîš«À嬞V:m^mNp+!~2ŒÓaÊ:Nó†Súê#¼gJÈ«û#Ñ€ZLBq© :Ï‹–Áœ»p£ó”]…&ÆVàÒÞæe.ô«þ´qRXw¬íË5¢Ë|Zg.¨Úú¦Æú!ß½%ÀQwT†R7«0ºo.UÆÀöxÒ$ãŸò+émR¯¶ý²L+²C »ãt?%ü>TtP\•줥á$¼˜¡™Žœ7àÑNܲ0nÓÉÒJ.YêpH!'ƈT æN™HŸ.•Šjá»êøv‚»Á-{g æzO Ô'ÃÙÏ®ÛçlàeO;ƒÓʹᰠ'>5œÆwfÏOÿ¨Õ“²d ¬Š+U¢Wõ`|tD¢ðD¬­9°|åÀÔ÷ñƒ&(&ÑËÙõß·!Œäè‹>ø€kÛíKöàœ°“–6rq{ÇÙß2îbl»š6=ü~ÿ’þVV ’H°¦ Öèý¡jãÍ"iz7 ®xX„a<;ÕpLÊz©@yêSC®×ÑÂÄ; ß×ĸðÖS’3Ìþ‡¦">e,tÓp´}Á¾Ã¬쩵§÷P¶u8û žM¸ ¬õÓ­iT!ã2=ä—¿{‹äT| µˆìt˜Ae"ZR‹æfMÀ>D¾¥Lçþ±GÒÇt@f›Ý~^Yã/rŒµ19‰J E»è eоkä½¶zì¿lL™¥’Ý`‰ö/á™a@µ ó[’ ¥A†Z ˜Nyøâ>•ÜDÓýB–`±X§|ã##Îm˜ÄÈÇÐxÊnñ9âööÇq qM™Ñ´Zé¯ëjcœR=M¶dŽSo[Xµ˵oÖæÊÊìVª€€FBÚ€q‚¤|ÏœšHÏ]Ó~¡Ib "/Ž_ŽJ5¢Ï¿÷t€›à`%.nâ4'¢‰(Ó]ÎC•õ¢Í$û~ z±Â0bzA‹åÛÑ8aå!œ!¦>ñ™„no$°µü%B¾@Í׈¬÷f£Æa±²Zý¹ÌÇ}P ¾^aÞPm|ÎNߺÄapØQ‘¦¼Ë-¿Å¾v,†qêþ’ùoÝÒçÍÙiæøÙͪAí6­mêaÂ{ƒXµâ¡¶·¥ÞŒ?RÉ$Þ ™l+RL( ÒB XÕ¦uRsaý óLÕøÉcÙ¯Cx®\¿Ô4§T…“à=“Ÿ<úäö³ Ñúƒ‹xçœE‡ûy¨“—v¾í'Zl.1¡X©òo(ø^¢§e>—é üÒ¥)ÈÝA2 á‚OAÌ(\`o&zg[ž^c艀œ2÷nwâ7‹³ÉM_ýœûñ)£›ÔÚr´ž‘w>Ù¤Ÿ,£R bø}‚yûNÚ}¨`P®¯šä³áÃêˆÅ© Pk­ùH.Ú¶q¾ƒ bVf^™¼&x¾;ÿš=ëYÈ¥†ßö¥~„ðÛ}kLƒûV6·­12kwÄé»?Ù“žŸE‚ƒÔ%}æÌ+(,§^¼¤´–ê×–>¼|«¦¹i:ÈñyówÔôÈ!Áèd`KÁ[SF€f—9 \þ7ñ(ü.çãR‡¶ @ÊñÆÕÎìhLxæe^+b­*l¸‰qa‡#¥aüv"—öúõMÊÖ•¿ò'²Wø”¸:å;¼_ –#x£Lå¤÷X¨¯èaèÁ/Þi`G‚µÌò‹<Ÿ!oðÚrˆc¥ Y¬:Hc}!m$5°X’¤ºÕt©¿þWÚa‹0tèb& ¥»~/E ðÓF×»¬¡î[Ýh°x„øÜ¼…ÌÐb:P™y#Z„Æ€lM`´fB¥ýµ÷yàääç×<€7 ¢]<C˜_Uñ‚ôÉ]î»T›3y`VQ†ÊœîÀv±%Ÿ ¾¥g;§£‹á?é[Mø}ÓÓìÿ §0wùT­¿º\Uïþ:Ó¤ÄNý[¼Ý¹<ùÁí½JwÒjΆ´bâVÒ˸¾€ Ò…•ã8?›±8Ù0Ýñ<}2uwCvÞ»AÉ5o¬ì‚M5$^^¯ÙŠÞ Ÿ™-ö_™´ÈxOtÑ£?eÂSâoYc#p€·Ëðž6]8uÚöØ7b‰yä3Ø@(Fq^O„¨²­aÒÐ}{½B¦‹úÍÜ”;¨ÊC­ìÍF´‚;»¬‚®Ì‚îX\B¹y²ýßÄøŸnÚ:˜Œ…ºRÑŸml™;L{›˜5_;;º;iÖ}Uì´¾$º·4F@”§ø^}&´8ÿ( ÔÎ3¼Ýx集7‘OPÚ¹}›¶ëÂ'oÇœ†ôàE!/Bì<€»S» ÒÁ‘v!¯Òý$¶OšüTkPFQ²Àwa”©¬-ýw Y¥×ƒ.0&KXì'NQÍ|ÐAc B ½…¢a;… '-s¢œ€‡Ò€ó'kxÛ0B|cÙÍsG¥.´ŠÀ‹LÝp$+Xî‘W'ö°0ðø²Â—ç7mì%æä]AΩöl6i(œ²í)}õ(;ÞoŽÿ ÷G¤+O©Ä]%Âeß·Ó… F_Œ`JlXG ÁkqRC[ç*µPÎh©M§„ò˜’£¬ DŒñaÉ?}ÞQæïÍZ‚'ú(#Y$¾~…ø7{‚.ö T#–£ RN–̰z0|ZZu™ž]¿¶pâèÏÒʨx1Œ:9¨}éÀ-¡…n‹[ÙBXñVš®<À%ëÊñ§ûWÉýûêÁƒ—sÀè5ÅÔ+]è¤ùe†¾„ ¶í‚òÒQƒõŸOŰÝ1(âe;båDÊc†ßö.Y|œ/øJ£ˆ_”Ž “|x ÈÉöf<ÝžÚ *ð´ã3Ll‚_>ýxQ]/ÚUJêÖÀr(uV€hñ>c0¦œÎÜçgw«ö*>èÝÎ0ß='±“‡òþH^âUŒjhÆÀ_  k…t×BÆUuò/äFŒ»M†â×P‡.ó,” *´M9­ëHâØGõ 5´mkéjß?‰M¶¢¹j3“"zªÙ“eëH_¿Üvb¹BßÐ ð€o4úå›’’Ò†BÿI` ž&œG ù5@ksö Ìy2x-„ÕNXð×t㬟Xäu~$Ñ´ í\öì'oŽ(Cãáû`Q[qãÈAH¸ö°|£öRå_fœ':óƒiî=§¥0Þ˦°à1'Bi^ñ¡¹©’Ñz“æKs¬ÁãAÇ!¾J›\ÔŸ6ÇÊÿ`þÝ;¡Ñú5î”Úªš i¡–o¢H 'jžZY¯¬‹â,ð°¾hpùšÌàêÑ‚P¨\Ãy ½è[µš*!ðoïtM¾|ÆÐÞ¨Ù€} ùtY×S6\€F=DÊÀðrÜM‡i > ´<ñ7l{ü2Ö²ZŠÙè©gW‰¬{…y³_ƒ$ŽL2 ]ºš‡³ÌøÓ4Vý¡ËÚ׿̿,Å#Òv!š:ÙÄ{^ÕÒ_OµöÜô>š‡°Š/FT&°Òáßù“߆:+h*‰PÏd lœCG0$¯.F›[Á-íû¨¿ôfû㌪8¡gIê|Ç¿9–ætÞÎÏÛõÜu˜=uªF Fà`ÊöÒê#K¨… àæ†poTþ–z‘Ÿ—Iù=ÌOÆ>rªbÝ[e®¦Æ6Rw—Üïᄌ"4©ž’iÇ EW\4²$WÅ}±Kò÷òò5®í¹²%Uª‚Ý¢É'jµ„þuåð‰5"—dyãXóñ"´Ô 7õ!¬³!G ¬à¿=9+ïï.¤¯>i‚"?£ÄRRñõFoþâY](udåÛ Ä•Œ±üѹ´ßÓ I,®¿£jÌ‘ øÓ‹¨Gþ 1“Þ&Š÷ˆJvq -pQÄ|ÚÍ#òÜ£ÃBí1¦ÀÕ P8JLä]<Ê.øø;/ÅC<g>Ú0Ùä›Bl0Î FÕîøqW=Rù߇©Nr5„Eßž·ã̳j °>ïÓS«e/„_¯ÈÏRˆ¬$ªc®7õBÊ„L¾$y2Ùy–™Æ@ sšèD³Fk63öÏiìh{ݪîÏi_WÙ^8 \¶Ù+7þä¨Ï €Â2­b³g•fi¡\Òº˜:ަ‘/£í6õ¼ Ý&"ö=ÃÑJí¶À†`Ö©(ˆ”ÜæùîÛ—©ÙnÜ ìðöWi 8¤3Q1BJ]6؄崂–I-QWÂã#±¶|nŽß”¼tž2&%2N•oÊÅ8ÙÛZÚìÿŸèö±qÎ .Iµ¡É®‘e\øxbÒþé£^—²ýµŸ&8HN‘¦ EHØj{¹Œ€x“R‹\öv&µíº–%TW¹4öBå…ÔÚæ²è zWƒI5Üņî<ëX ðpö‘˜ô• ÌSÑ'û„´L͉oÌž,¼/¤üô æ“…Ê­s€k@â€dâTLÚ>A¼Üâgæ»+²€ÒJÈ*õØFòë5ŠÏM€0X0M”Užigx®9t‹³åfx¡ñô¾e„Ø_~Ò­”×­}J £Sh›/OŸáäNM‚èbWÑòظÖ0rÌtðVcò >µÓâÌŪi$o_ L’ °UQ ]#Õô:Ón”½‰ùÙ@+qj]©'î-Œ©!’%28Œ`Iô‰¨1ü?è‰[‰AãPxu3 hzû ºñô..è%²¸ÇÖ‹•¢´MÌ0[­'¹«‘>ÊÖü6Cã"ïî–”{!/a8­Çí¾€Ò`’7ãËÖ†SóŠf„ö¹Ý0ƒ2ø®†¡òƒL†ÞÆÞj1Ë}4[ J†!4!û’×bIßÂRеU,}ë”þã(ɲ_5™Á`I ês}RXªiù½â7E•'½íz’6{¯MdàOmf…L!ÇÆb8ØÜ¤ŸLeIŸ¾/ñßë”§ó–M97r¹1ÝÉßÅ @{E(¤mß¡§¡“¸-Ø|s.Œ€tš—ÀËY‘&(0uÞî3xVRß,B»îúÑ€õ‚*¨XG‚HÉ®ö.è,;ñÜ·è¤?„Ö'[õ€n`«ýÏ\ô±ÙV˜µE´’&¬\“îUšÊbQE6Èê®Î&Tøv»j/%ÑÈ!V¡^j ˜MÙê¸æ1ø'P|ûxåEÓ6*éÿ­¬ˆQÐ9g?ç™ÀŒðÒ……±u6©þiï(4ŒYæþ2×£¦EÁ` [bH³'Z‡¿úUÈžÔW­È=ñfŠäH¾#_¨ Œkubø!¹ÝñL$L‚ õ]ÛÑ¿°gH'DÞ–KÍî">2z£aikÔ®ÐkhÍ‘"Dÿ’&¡x¼XVç=“‚Ñ¡kÁSë}úÀËUŠld‰©™¬õ;{Z_ïp¶D'3¸|{OáÏ®2¨1ØÎ1©ÅýR<'8ùßs¼-Í0^̲݉ïpl¨Ð Ø×˜§%Öq_Þ90¼”¢ìüùѦ¢^{‹gœ!E—DÏ®jçÒÖ6¥ó$åôH}ü‘m4ù¬ã ¸¯AãM=ƒkôÁuCp"Ýî[ô&އDûW,À©N¸†Àטúq—l6LÔ·_⠄÷÷îj“pƒÑøVÅ\ÀB_þ„3HQÛq ¨+ã1¶Sc/rϤ2]„Û{âp¹¨c½[QÍ‹´eZ¯–ǸΠ¶Ùt IíûrSý/ÂÀzp&tò HŒåzi·…Ï oöóˆûëÀs¿÷‹þ÷¿­K¨›ÐÕ×,²¦ÿSdBª­!a:žgçó¬S§,P²ó’{MU*ÁŠ:wcXL 0÷R®[9S®Bò ÑÐE+'üRJ¬µõdsD8†ÿÃîxE¤#Oü´ 5þM²Â”·©U±3>‡ù šöšÚÖi“ŒzÊõ\²°]õôªsE—UêºurÖ÷ïª³Ê ˜?‹œ×¯Ã麎%0> 䨔_JS·[yÖËgÍtf<%«¤6Œk×ã^ Å[»uGN·ƒ¹Y#n¥˜ÊE š{Oo¥ @{˜¼HGmÛÈøØ§Eð¿äÀÐljXéº8®îˆN•³uÜB%ÿQ¦Q³po‚Iøþ“â-SÛ€†u›þ~Ð/ýäÉ3ÙÖÖ> ž ‘YökDC]uX¡©~Ïoº !ã<¥K'«#€Šhks¦~¢dµ0½~pªïœnòjþY Ú“7õ a4¬î]ŽìPß`檥ؿ’g½Q5Ô„ :¥t‚ûZo­ ;xë6ƒ [ úÏxq6™Ê‘ãvròÝ/nd)¯Ö|}Ù7wu9|X€u“Ö#Þ‡¡›zŸòñB3Á1µ·h8¹—‚º°*C×.p-Îå™WISÀÅqïâ5æÞ![®òôM09í Ùàš’ž»É< qÕÿPœdûÈ9Rª£–Pˆ@_X*`oiDìÉ¡ŸnLUõ\¥ÊÿCi “\(Ýî •¹©~$-ßÊ>&¿6qÀ¨t&" å÷áT2 £j…½P´ØÖô³Ÿa®^8à9·#á×xÏx3Ær迳Ô&9Lwsf×ácÕÀ©ds6þWŸ´µ6 .•?V+ÅNü6~•¾ýÂàÍÁø&c€&ï‚%¿C¹DŒq¾1çÇ\§ã.fÕE!’ÎMø8n¹íÿ%?öU‚ÙÇ¿Rj¨¤ÂÚÙ ÁÇ8<É]ž?QžÜQ¦¬( ýzöÏéÛ™¹ ¹/Ç,æÒkåKrÂé|ßbý™^9²qúœ #=ßïÿ±. °ÆBÀrü]ÆÆ^Æ©P©H·dVã¾V™­¾áFO²?Û?ʹ£äá8;¸:­×òVX¥Òìz'*ao¿U?¤—×b‚­c†v}Ÿý¸ì'¢<äeÂ&•ƒè½°,õ*)Viu¢ÝI^ɲhA&ßvÁ²9T0O¶á0€w‚Í–Ø®‡'^ÂK³B©‰-˃C…@! Ä2É,,ß!¤…`ýo'ù¾ÞòçÍsµr›5¼­]ÀÏÚ#0þÔ¸ži±dCù‡±ÒëêÜ~ª ë²0Ô²vbaÓû¬•Ïf¥Y¦„èðì`?h${z½í ¶‘É›UD1 ¢AU ™$¸y<ŒW®:@ͳñé`oƒ.C[jNñYÑ)[Ìüõ~akvùhÛa.¢ãpiuw­ÇehlÏÈE¥~K*YÔ¤G«H®úôqog¨O æÑ‡]%Cã‡$ˆ—WT«nXGf1ÁÆkÁkáëMÆ×ÃÍã@×®'™Û7k¤ Îp‡sh‡ª¶*QAÒ "KXOç-µ€§©×g[€ùÕ:d¢®ÄžÑü,]C å,%ˆF^ê¯Íâ»PºäXW®ibæ‚ ^ßadÝÊÉbª+pxލ ÷¯¢œµ(Õn#׬õŠË‹ý{WÕæb‡þ*Ȱ8yš›cÐúUëòYåÉ9œ9—@¸* gÏVžÐA… ÕÂæ°LØæ VšðiµÜ7„×3KÙáÌð*T³ñ¦ 㟌Ûu3Äa»u]07䥮DŸñ*Ô{îú¢l­’šõXZ¾=² F’ÉúÁ·™ï÷Ö~íáÀòÎ`ƒ½]<êG*—ÝÐî6]„#ðöÏqB# ¡©ùîÍ  Ù®M*ñ^²ñ XM$`ÌÕoÒø¶šØÚϬ’õÇÝ¡cÆ8 LõmêçFl4=Ú I8Ñ V·µJÓQvØ×蕚ã“BÓ†çH2Ä é¸÷xÍû×!Ñ0>J3š •sG›òÈ9T`·Ž=­ÝWãõýDš„#Ãðh‡ª¢Á@Ët1¶Ö$êsz{pnSŠ}F@æN HIÀ* €”<%dê/^¶CŠh¿Þ°ý+¦ÑìÁ¹U%—•‘ßÏ¥& ¿µ|<_vgå+ÄcŽ QPþ!$ýüTMÙØ|DæQ~)+àÖrFnz1Ñ6¦ÉÏÜ0”ŒÜð…Ÿ„=Òû^û"Û>MGœÌ§ÊéDÐ ¥ rj–grÞ ]‰Ï 46Îað^2Š©Û¢°FF¥:Rëð¢NÝìt…AN]Û)Q ˜à3jeà rV2çÈœãc¨±(êÏèýF±. AÃ.=­…œ|XXÑc+cE‰Ši ÉŒB#2Yµ(—´uíàà™Xe®µ®y m5ä•tý¿[šGþï»x;ÁçÞ‡LhËèØ’ƒêG(–¢¦øT·ÈÁm-…jŒHUpOu×3­ß¸,‡K‰oÌ=F@ÔÒzRh)%¨*SÇÉœâô¿8\Ù4À–…×÷CÚs_^ÙãhcÛ0'ØUØ)zrÜz˜›výìm,›zß?Õ÷Çwrêcç«>²Lu“\ã[/ßó1&²9;§!I\&²³†¼q=½6»‚×èÕµ‚q½Íõ‚åóH.³çÑÑ‚”×s³«Ð††NÂH¤*?¯Ã hÌ÷Î–ê¶øâçu ì¿âE¼/h¡ãá%‚«qذ›ÑFR –(\ÒdÖÕÊ?ÏänÅóY@œ—ÖÜÅ"µFÊO‘êö€»áÒ@wŠ•˜ã{xN|×0MA¡{Ø«7t£Þ¹B?\͹ȈG ¡ôö9œ\2*© ¼Qúô@|Ú4?R˜è±A³üuß©²Ç{ݬŽÒx»j$ËÆÞô±º¢r1Žjû*yùëì ªEÉ‚^d’;ÀuŠÚ¦€‹t”…ëô½g\¨úNPýäð¤1b: (Á˜—û Ìn° ‚k6Ŧà·4 áÆÈä5x¬WvtP!ÀS9ˆ/6Z.û+ä {"n'úahz¸$#ä—« êŽ9ã)3{ ¶lùµÊRì€éWW×q"r%Ý-·x?=øaàîwº²çŽöÑ¥{²gÙ\¡$ô‘Ë€sÛ¿E¬Ø|L:uÑäDÃoŸ ×ËW’ðx^M/§¬™ÚG¸æ­Ï Ÿwy¦0hÌ¢ŽAU£j.$Gšûš >ëÓЇ›rfë¦{Ãû[“n‹/A.½8SJˆ“%éé|ºjÃâáB¼ÖüzM1=âãD=FCûXšŠŒ5n¿­ß§'ºÎ5j44¯L ŽêáC…t\È6G¿à§Î(ûk£Ø8A =ª†~ÉȹMê‚Á–+²/ß[<•ÏæÞ¬j |àà‰Â&9/èíŠ2Ä"‘-ô…|IN.iw€ýZ>†t¸¥ñò¢‚VûŽq.»jœPå×|§ný2î…u0$vvÞàTw-½Àdå_(bûC¼œ¶ÉÝ«^KÈKORxñ R)w1Ô£v¤mžÝ.¯ÊAÔµ•4åç»!ÊÊ ê®ÿhC,ðqHrx«¾ÆÂlRÊ硞}þa͡ډDëóhº9ádâ=<³'5ïúA*ó •ß–D7¬u¶ŽT}HäÓ„µC”bu®;bÄ#o°Ž2k9Îò»a%£Z=ëb @‚oB£BÙaYY^—s[$¿þh|晣¹ar‚†«æä]p¡åÀ )I®X¡á0°¥ <ÌŽ©˜±ÕñSØtpR}„û‹§$õn÷ L.¨î’‚цŸ λ2Ûó.}õi£ÒÞÝZ˜QšÑ#o­“Ã=n´>0,`Ê»é:—fÛ>éoðW`¹.0U娆¼+sú´²ðà¸}i}âS„­wŒ]ø½j8ã‰9nAêÞŒÜÖŒ‘C@‡¦ÛUÄSB7JiïèøÜ Íoéõ¤Y¦˜ ò᳴⌇„YÛî§:¦'p>Þq¥' ª¨iʻ⯪ȔõL¨×ï¹.~F#ôhæZD:³§œšécO/€’‚ËsqUÞªO˜B!Ö€úãá¼VÜ–“aè§ðîî–Ó*QŠ0ÿ#‹r5·Ä¼°¸JËñ\Û8ŠÜ§ÈîV©áZà¡Áù,çÄ™ø,\S5 j¨5“ÎɺFùOÖ–|¢Ø)³¹ôÄ6Îü i»])[MIT<ˆü™Ñðiõ ",¼¾—'™¾‚ñ0¤}è9zÞÕê–Ëf÷vWc+TEÑ<¾å¬ ú÷AओòçÌÔˆ7‘Û2úù?$ªM©ƒ`§ˆ›¹·œYÚÜ $ÎLM/æb±~O°ÚÅ_,tz:þV Ä—0k%]óæÙåtQî5}ßêx9âVùéWî:ü"(²•Àƒí*o"à³ÇžÒÔ$“aó^ÌâjˆÊ6¿¶ šŠ¼]€ñŒ5º†¢²(xóx˜š4ƒK2ý¬]““ÖÿŸÜU²©’‡.¤ý¥PP?Þ$bDjjçc-šuÊû]Úí0÷È6òÎ4c°ü—'úsdö O ™1<¶Ü~ý3_b”‹·&ý¡=KÕª¯&“#LhLoÌr+u]öoÒ[©“L©¤"0•§ø"îâðLÙNÛ‘µd‡TL<^¦¿í* Ç77Ò›™7ž¤`ôM=C2i z€è£ôÝupÊ`–[õÑÐHìØfštdJ,·ü ®yâñÍRhÃô–5ä9:52f ª•Cíñ__c‡Â×¹;…çTÍЀßÉv]°Ï[åt˜çÚJ*“ù©v¬IÇfa2 +# ÷nü^Jà´Vÿ>:[æ0{ Éã÷3jŽêÖºñúÉØí†ÞpèÿCäïå¢ÕÁVêɘÓ]åf> bšv —¸K»²Ë4Jôû—€äšj¶Åð¨úÞÄŒ±×Ø!4ÁzmâfŠ ”=¦€2ðž4©,ã™øéHíƒ~²‚¥x¦í>]“nú(ƒìäÚÙÀbÇÏVOç›hgôRµv×2§5z žðH?°6˜;∞Ò?LbT@&µÝ>d /<Ž‚9{¨ÌóMÏ aQï•Ú~Ž‚·ó^]é³– %B^}Êw( _ÍÉ嬙÷LÔÛÓÅqáÄÜ®zf†š%U‡†LäJÄwWó°õ®x!"Úç‘@>Ï„Ë#~6£¸âœ×²¸îxOÆXFÑJò<^HPÁ‘%–Ž`•aUÝy6GØ;¦Ô£yˆ ¹&¦»½)™“I—Õ©‚™žÒɼó÷‹É¡îþwŠ(ƒØuùݶåFVèõ 3,<Ÿ‘çŸzç뻬Í`(óqøæNi\øšàÑë"ÛDPÛÒ-˜kC›#hóRwl[Í1òÄðSˆøÁ¶SžÛWm‚€8÷rùmDï[n>è*Àæ,Å»SJ–cåg‡…²Ïíˈ£Žì±_WZÀø®¥©ÌÕߪH•ÔÚ >ÃgbÜ?¤vSe–>Íí¹°íme¯Ýo˜ñ|˹û€]2Ýö.IH¿–ÝÉàwI¡WQwÞhÄ0%‹y+£E§I¼E]øÎP*T±dA9ðºI 5<¢!Ö™gÆØ™$†ºvä«ýJ ö ÿ˜vМ†|ó¯ CÙ¯ÊËÅêÈHõ+ø5ì2£ý`Ϥ}]}–;›£¡‘T±U"UñA»¾¯tLœddü6œ§Z8n“ñàgJDŒ–íäY×ÚØÅèa½%b`k~O¬gÌË-°Ôö‹‡;еÈZLÕú¶Aô;þ(Ö>·iÒÕT†TMˆŠ ÁH6×P«ÍR92nußB„>Û -«òuQŸk¿øWÉ+ ±¿†ÃIàÈK8‘¶ª6Ž–¼K-€Ö°q”zt;À"ývÿ±n ꯜN(ÈŸ—×WG{ôôíŽEdáÝo¯ç0r†.h÷$fš"êÑ/ÔM¢~x„ºorÇ7\¨) …MW±€º c‡I·FÏ”=a¼"[Kåa]ª†z*ºÌ$j¬°­á>wR´Ð>ú#ŽiãdEl)Íg$Ø s´QïãyöÈô¤;“uD^|—ôše™ï\l_Ÿ1£çÒÎbMÒ®ÞÂoS ˜jÂ×ìâ ‡„Fn°Æ¹¯gYôy¢»ïXâ(¥$2C’13]HÕ–—€­;¬;qÝ€†lf˜kÒqES áÜâOcæüEŸx¼k!ÞLì<éë\ÿ¡¿²¹ƒ ÉêvòË£Åui-ðmÉñ|ÂL˜±–;+¾¼Æ ÷•‡·8" κ{æÏð[è}è}"4NÚõ. é^×êáBÞWÇYˆ$ß+…ΈíðäÛñþ™Çç±[ñ4‡GŒÓ®NÎ9S‘þ¢ÉP6ï¨XÆN5”‹× æÔýÞ#;}’–dTòp'Vܸ¬Û-x `É(ËÏ#ÅèRÁ?/µ¯†[*Xhµý¢ÒfO4Oó9¤$¨ ÿ{vñ2Ki,ñ÷“ZàA¶,ÒÐ •WbæÃW_Dš9ËèuSÉà:~i›¿ ¬+æiWér^zÕd­ž$ ¤ Ò²Z¼¤'¤ü•Á‰–7’ŒÍn´‰\l1˜ý|ÔÕpïNÆ<,¡mQò‡!sÂÅĵÿ¤M ~*¢“Q“C¨Ü1]{Vº?`É7ÕÇHÁÈÔyR×oán^rŠö/Þ§žNènóèâå¾·&ã!Q<Âft„'2)È›:!¯À¿ž#¨V-!>‡rÉfç@QÕò8Ùàþœ"×·`Öp¨LER¹­•@íuGã!ªÐx‹èÔOöµÉɧ÷=¾Ó Ö!Ó4÷Õ/!+Ϥt)”ôyiÔ Ò-Úë_´siÉ’´¹,>ãíCw4G&:?J±e奴IT´›Ö‰5®„ —|«¯åD’1Ñè{uÔ–f½~Ƴé#vMwV:XsϵDL3¤â9}º²ößæ)!/U!âux©íÎF¢1îYŽkÉp%qý2dfñ+ÐàM¿…Öp;XUn½?·#‹Á›/L™rÝ@;<„‹O”3Fß-¼ÀÍÀܺ¥›…+ °Œ?„ϤÕÛòU¸¨®§ìÂv½,“¦¶Éã]ñZùDæàœü§Óy¥‹CIŠÌIÔ»«ÀFˆÅÁrö¿'Ìí“7|f«Dæã+I%ȯ$jùlQÉÕ ™xQÜ4äSd?€ï¹&Іi–¥ž#95›ÉGß–kÿ[Åðj®¡s?Ó̸ÓãwÚÎUâÿHoF.ƒw8ÐÌÅÉÇQíÜÕà$Œúãz§MˆCMôéå Î&Â;Q2tÍ|¬,qüYkyy¢^#~\êäÓGíh#¡4‡á¶ tk¸5Wk:’³õç )˜& …ƒsüÆåŒÃw’eT¥ö*~ŠG‘HÊ9OzþB¨ÆsAÝÕ<0G8€þÍ “~å¿lIsöòN $—‘‹h³;̵Vlб!Äòáè&{ƒ» #j¿Ï?~ ÖfšÉUlû ìnOÙùô‹¶“VÓ-¢à 7Ћã4Àvõ&ݱÑaëMé¼ÕÔ÷´GIGô%Py%J<Ìž’UÛQ,43ìø«Ýsú®¤Ãv‹¶âL TÕNTÜÔe3÷ ™µr´Ÿ/]Wÿ¹Ü—· ̘ß==¾BïqŸt Vîœ{B•ÕO"Ÿ»–ŒñçcÀÛ¨A­éš;l£÷7®`•æež›²ÐòÅù`Øãüø“È:h­—só ˜TŸž±˜*¯lÇqLœ<¼Œ[CјD„kü)cípÆ×h=îSŸüݨ•äÈ6Óðë>/af4"¼·^/p¾=Ú[leÇP¤]Âxzæ>σ&¢ì®õâ[ÚƒG¿ª\IIsITׯþ;7kÊ7n½Â8…¦ñ[áp•±ˆg¼zC6x9ÅÌÑfOô"š*#aÛr©ÌE™‡‚éZÅ{ž¡åàÇ «éFè°ˆD,.ÌŠØ–v@‡TÖ¬lådT4ùø†½e-ÍĨחz½ýl Ý^í‚ìgÖÑ ô•:‚Êm§Aó.ÎEa$éU…„¡•Æýç‚;Jtb‡&°€} ¡®µS* ͤsÀüã-×éTÑ<ë:a<Û;Ëê*~ÃÝ9ö¸3«\¸§®”!´ì ]Ø®âZkîÄ$‰hîDš|aD 3Ù,z¸MÚ6ó ¹4ˆ\íd„M<£-™(çK”Zž’,¤W#Jjoó†â‹ÊwÂ/]ŒîR»´ß²8¥63œ¼sèÈDÒµn9£œ7ú£P5kÅ8§oþ鯾 4 ¹ ûia [­iFŽ0ïÙA *8õh•V,Ò„-KŸ¹8w…²Õxl÷ÌСÊì(„b·ÔЕVÉ ¢z“Â$¶EÊAN®[÷”œ E㈠¤Xu’µL+Uªx; ÏÀžÓ[ôX/‹B˜¬kcظ¿¾„s8¤coµÂaÄ£cª«»“=t»Yž}E‡’’Öâ)ÐŒ,}YÙjÑñ¬=¢¸ó'ÓÀ`2Ž[Lh3J N®‚l*Дv.`B‘?ýJÁNù²óýaµÈ-Œü–/!q!y’ä7úGlÅXãfËÅÑ“Ìðg¯p% ¨¹&˜½¡HwñŠ VØ3>‘3W3+Þjv‘~a;£Ä!h ø’þÏn2¥?!…;Fï¿.÷ÍL×eìÊ_–Utam‚Õ÷4“7»ŸŒ¬éâwõ­©s\p¸ÃÅo ï¸ÔsÉ$®™v’øÎž ¼­éJSd²ÝÁÈ™/þ4’Äâ5vOIRœÌkKúfÏ®E7®Ú" 2­\Áç»ÐtÕ\Íúa±à¨tBnR†Â¶:3¼®vŸñmCª–®Q¨DƒaÀÓÓ]h=9 ó«S’`qY6†…ÑÄ…•Cïp´…ÄM•yà `òVŽÊ³<­ žýÔôcIÈœ¦V®“Û‡1…ﻜ‘ÇÒͮ߈ˆ6a\SAüCƒ†'ØNMÜÂi¼Yb´îÐÐâ@‰ïH·s1Ðõ<‡›|,ö.¿Å±­ÌÚйղ¢ò þ¡÷´…MÜ­ûhîóy<<7ÀÓðûP²½¬’ŸW/ØØæh5ᆄ¼w‚Sa®ÝàfÙ/i§9щC^ãfð7ݳ)vu¥;I–ÄšwC Sa™)í"™MaÄX¼¾Òðpw_jÿ™¥ðÇ<€´“ˆg-mß±Û¤:þjŒž¾.}Ãß3J%èꎅìܽL)‡u¨I=½@˜=U}VäÈ›²IU"Šã™~#aëuºw&!F‘P 8J?ÄàŸ ÷â·ÇD©2Ê+/Vž)upÀo¥W«Ï]ý:³”g˜šl˜æ^¾m·7!=¿óA3 àÇVsS<§¶0ÐJ”H­–¼V¥À=^}Y j]Ô‚k»Ù»•ëä?ae"¯Ê²2ïg(¥je¬ø³ÈHƒ¶G:ç½$£òøZàC$ ÄòA[8ôe2)xAÏæ*Õ£”¢pí›Ôã]œÇàg—1 ñ*ï¡¢©ä׳3²QÚÌßÚë¶Xœ#[ ®œ©*¸ägpQâjMë~ !òÆ:ÙÌYȪW9¹aòšûaz…èÉ¿–ŸTåØ =üò‡Q ž»2™\Š¥ö#g‘Fô¹Žä¤V,‡™ÉˆÊ ë2)tŸçµtºVXås6¬Ú1ipÝ{QˆËÅ—žf±íÜœ¡ 9#&ð‰8$[¸‡i×òGÊø^ÕóÞwq¬°m<ÃZ¤´û’ý÷_¶og§ã‡Nœâê[W79¢[.¤}@P”£::FÞÒšA솺âbüõûW5”›îŽU­ ¬j÷1ýžè›È»*‘cËN¿áR3k¶f„£Îƒ¥õœIõÚñƒyªüe|TO-wLÁ8ݱ’Á åô=ñ¢ š¨ˆÄ픤©Üèºyël2×6ž íLv¨eCõ°a ®ì:ÉÄ•ÄLøSÍPsvÂ_*ÉzÖš£íì X/°LýÉ!Ü]G5©‚س+úî¹ÿ¼A;«}¿ _g»X! ìi«¿û"ó{0OùëMˆj… š¦²}ÉaëK4!K˜‚q8p•鑼ñã‘Ó[)°¸Šá<Œ?C`°mŒÍŽSýlÛÄ~~!`bŸÛØ¿¥§KÉÄÁºîEŠvhÅåÉ+î_ùxøÔ+e@}KÞ¢&ƒ~G’eŽ+Toe³3-¤.R-´ÖÑêÒ5É/‘gÅb^–¿¡>#;º=#I‰d•ŽýÑCÏ ßÙúPK¼¢ ò‚d’)€Š ª ƒÛ”O*—-ôÝ.þˆLÄ…oþQG¢fÄ—à,†IÞOXB{y¤9"?UÊÿX?Àšúº‘É Í¯4|”n•‡´µ›>ázèDhaúÿ2ÖŽZ hªóÎ߀gµ‡vŠp`ö—ôüŒ£…]½cÐÑ1Cp€—Í*ñÿfÜy}šÚÓ…Ü&'vè´áë-`ŽØ*/¿qœÙ#ÝúÛu¿µÕ:¨¹ÇîàÊX¶]Û”lóPÜ'нüÙšCVÌL†8R˜Ê#wë°É¦ˆýà[µ{J@U°ølúUÏŽ¤úÐ À#‚#+ä¯Ã1-ÖŸœø)’õX¹f%­¨în—öSÊ•*ïëÇžÈЉÙ{`DIL?œíDF¾÷M„‹µN†‡><òî´É6 –/ËÇ!e6v¿U^»éEyñ´©÷oêœ]슃Ú=Ùcýû€í¶z‡ÅLW+Åfeð'µ…LžQd Õœ 9’陉Th;µÐ;þ-|Ù>ö?Mr©¥íÄ '‘•Ç.D«õ¿ôy&êR‚ô®÷‰-è’#f«Ôê:%V/™ó?ȵæ‰ÑN)t#F?S<7ƒ§_(± OóÒGXíÌùpˆsÚÐ>×@ç÷/m–[-n‡ýYI( Êpi“Ì%¨x+<9tœW—"ì–\'-z›hµŠR)DÛD:hœ‚íAøŽ- uöö$òÍõ ù¬ú ͵rŒÆ ª•½»6úMe Ý(Iw<ú«r›ˆ'?‡Qã¡Hî{ZõÍÑŒ횣ˇ?cïÉqë_ø‡C’H`*‘iæ,ž»`©ÙZ"§^<)÷´ºíœþÐ)Æ-Þùú1Ræ Þèñp® ªë¤YÚF²d9Ý ˆ¾1¬c2ý”Í/æD‚-¶r,lÛ¿¨Ð«²¢ý•©ð$(%.E—zÈ=Ÿ¢ÁŽ&¶”xåkAóà³R=À]¬®cßßRAŸ¶JÕ—DÆ3¸¯zcŸï:”=¶£ FSÞŸºx=:£y²ÒÁ'd)B[RöW£ëUKèò"-t B³íùú¾Xœq ÒÕ›ÁÌ t#1<Ü´n-«þ0Tœžso¯…gïŽ|3ŠÑSj³üÎ7¬M ~òeÚ¹Üõ$ÃØéV^ÔàÎ+Œv9|ŽûKñŒðôܵj®ïÊŠà‚ÈU8¿å¼°d¨Ao]•…r‹LdêpfÒA±iá?%˜#,=Üåg¹Ä3‚ÂðzýXÝH¯-DO'Všf—¯“²˜_ H­Òé.Òïõ_št<˵XjÀ¾=‰ûúkÂGÌÜ3—±Ú¿!0ðHï¢ 6¹ýŸ;÷pè, ¾WQmÎÈf½L^dð"Þ§Ûþf“¨Õ#ÊŒ[ œR(&óŸ1šúËÕAÆwJú¸¼ª…(ÚHÌy!ñÍ}TÌ#Â?é¤#IµaÍóPµ Š\ö&ñ‚a>©ïdjhi6CÑN^º9Îoj\T—f¡À£¿ Nwß+Ø?~ 8¸P˜i Ù³ÁùÔ Á2%­!‹30ÑÛß+î"ºÇjË0*À›ª´Ü$¶‰üI¥$þyðWÐMÄ#=Í û’©ÅÊ­SM+8ڔ؋ TXgHL:çoûgÐlÃêB¸mPHë9ú±+,‚v—‚+v?ÊJûàÐÅÌÙŠ¸m@û]œzâa­¸‚£úÉ:,.]UóÏÌØñ ªŒ{&v™ãûW]äƒÊ™l9 K×\÷>$ƒîþùÔ®€F`’kgã8ð”³æÉ\À¤£­Oì7ãk®ú®àñwŸS+°ó`;W¼pF°úzI–'ty 1%5{Ç5¦³Øöa,;/Ûh r=<¾ìqð¸?iƧ¢ƒzm;¢a‰ŒðÁ“ô.ÃûPN[×x “ÌyšSÞ)ð•И¤OWv´ ƒ?ØL÷ìE³ @ÛvÁgN]›s̯ V¹&¾äÈËI|¢ø|>¬½™Ÿ³ý™Tνô;G©¶yxnñ¡h"€,˜Ä×4x÷}&Qîãñ#ùöZnê´¨i¥XĽG¡{â®8ß~á+7bATãiiœïÖ=Æ áa¥&#|›[2>4:U!ÿ‰ È,¶d!@ã“lÖWðÅ~›Q& llðáÛ°Qu ®Þè†'”®ÐWw{êl§g¯´ø»ieLqøê‡{6ähiQüɵ9îȼ»WO4²áÙên´æ F‡ÖJ’#‹ÄÉýŸéžÞ'?»Ls‡·ûù¨ l#'ÕÂü™µ‘±M_ f"Má“êÇF½ÖæÀa6·Ù])AíG ÌD’“bΉœÖŒTŸ¥ÍA‹ôpP3$³)MEÇ>q•©”tµ=îÕv®Wr¦ ]DQ‡Giµ¨Å'ÇÆ16ÝËÏ}ÎTœQèôSV‘~BÒª‰ý0´x/ᑵ®´óyöì×ÿEÀ?Ô3)”d° ÓK—}°F÷”ɇå®ç©ÊÑ”†ºÅóÌVŒ“î¡Õ~Ã^ñ»p«¸ôv¶:çXe?ÏôÉ!tbœ/oãáàŠ9àjrÂq7[utûÕ¾“°Eo,!¦qŒã\‹ä0åÓ²Å]Dâx˜3þ|G$¼sØ:‘³;ÞZ=:z˜±¯Íºýqõ†*âq¦Vhú§ÖÈÖ±‰þîlKëeuµ|ãj¶.aþ”ìãN˜£.¢uñøp–‚…=þýúâü¿”EdÔ4Ë^ >ã/³AÃ%…ùï±ñaÈKU<_h¨®†öJèŸF9_˜hL¬œ-@€ý«+hÙú…k1ã„dÐE!+/Zˆ¡A  %4}8“™eÐe;ä¼H¦Hàã_!j:ØLÊü¯a† ë„ù™¦Ïì }«µ$ (ë“®=7MRo)ÁÏКwvøÝÔÿÙ¨Ó±E[¾8²SIz…Ž~b…¯ÆQ­[P£Í}_wßoŒöíc«k_5ŸÍR¬?È7œóøüÕzSËñzŒpl ‹’>p?iuÉùTÐî3ê–åLƒXT6q>Il’Tt cÀ<[{¾%/ê5ë­óØ×f9rðGcÞ\Wˆn±´ÀqÓÚÐßÂÓÚ¡‚·Ž &¡[L̆¿•®ÂÏ3K`½o\Àe€p¾Hâþñ‚o˜zÂIH9/øö‡Û¥ž²‹â"›ÚÌÿ¼Û•/1ñ`†}F=°SvÀ ˜ÊÝ¥¹¦•W¹»ïttÅA…ÛßàµRD…ÿ]p~¤(éÃõ‹.6ýi 4ÖVJü‚ðÿì€ JzÚíÜÞEjcºy|?râSÙ‚–—£ô)5%ÁæKU²w=NÉf¬ÃÆÄ6;ÛPu]Ž•¥jÙ¢Kú° h2ü'¤cé´W8Âð‡³'Ÿhû Óm§70Ã*5c„= ¶f˜5U‰#ø¡ïAÙŠ4)rsѹ‘Oóß\xæ¬æmô;x׬ÁÂÿ‡ZD“PBØÊ¾‘,,’¢8¯Ž<ÓÒMo™È…M lKÝMkñdð_$½ïôƒœ®Ý¨þãª>àÒïäE«ö…5}mŠôf>3€E€]¸M+ýÃÔ…$®Þ¶ÒÔ”§,¬aÃÔ,Êý-æÂמ#ôŒÒMɸìpŠÅ¡ýh<]µ¢¼+á¸B¡¹£Nó¸ JE®Rád)ñ^êæõ¾­è;¶—Æð %ªöof.aiéÌ{‡Hзþ›‘EŸd*KLé…= шýÂtá78D2‘\3ܰì*¶PJëV.£‡¥g*‰ð â\µæ`a므1% ¡ÅÉ„—†`Ø›‰¯(¿Ä€Åµ_ë,Œ’”™GXZ‹ú`p´UÓƒ1š­OÉúqC£GVEV4FÔí£]K±Ov–(„ÛÒœ!´Þ¡€w²¸¨›„ ÀÛ㎄·z`¥6ŒN7Žƒ¹MR™Ä!Œx„)ø–£†/XÚâñ˜ äÙñçSØG£lˆªƒ!¶'æÊbÈž=rý]a“ðïþRçKÔ?Û²]šÏk~ž¡Pö°;_ä œ)ƒc*«É À]ÿñ¦¨I™¸b&Ÿß-þ»A‡5uzá,Õ¿Ö»ç×Ê5ß×½…aÁœ¤«¡2S'7Q÷}oÎ9»f£¸9¡aAÊgVÈdUíÄ4Â]E׃9¯=°ò’àÅ„BlDÿ;TÛ(W–¢@¸Åb©øÉžø,žF’‚ñ Û°ß÷êïÁPÞRDmÎgfN0êÝ XŠj×5nÙó¿ìrxYUÂ1"‰<ã '^KR]¼4ç¦gˆîÊœ8¸³§Åj€î4®waÆü €Ù½`©jœ^>ìGŠÔÌÞš…[¤qÓïTImd‰†tœuRHIÑRbàW«|å@Ñ铎ˆ‚Ö[o+"­gªÈ̉R€±+¾“ N°yö.Ùê|ÛŒ¨Yæ>!ŠteVÿ+ꖘΠ͙?)WuåvE¤ªÈV.D)N¼¼.%kÃÑ ¬,»ÍËM[ ®ä}³(Y¹«œIgûô*ò+Ìe‰CŒ‰Ãp_”m¹&»Všü-]÷ t—õ)¥ã–J—á0Bð ;é‹uA 8|í>ÐrAW;ÍtJ¢~o?Q`8–óe†dìpæ=ÛmÞÅ¡4¹šÆþ¼{Íô>Y"+섚"R‰žù`¯´ääÝ%Šé΀ž¸øèÂv¯a«mmW9Ft÷‚···²øü5·¡Ãù_„[FDê±ø€®¬öŠSf2ΩYý¤SZW•p3ÎA_&hצElb'¶… ŒëKÒù ÛôãHœßÐi޽·°XLÿÀo)KÆ* à1ߟ’/ر!M°5P@GµvƒN+¸°V¨Æk'­ñUJ¼{óñô¸ò,æäÌ;¶ONß½¾©w\yÅQîÕmë1Á@—oaåC5¢;sÿÂFyç~ŸŒ›?–\¼nïÑN½ìÕ†ˆvÔ#S>&í56tä1£Û¡ ÕEÒÂï ßm”¨tÏl&˃|èF—s^“Å}ŸÇSi­òÐŒÇ"¶Ÿý'ÊõÔ˜èrK`ÛàÊûÕèõ&o«e§ Gª2 ÇõtÕ¡ÒÂBG’dü‰ú€ û-µná8R’Ú£«äÅiâÎÞVÈ¢ê~£æ|ÿ ô—-!7­ŸÔ¸¨½éW´Ì–3¹‰ž³_ˆx– üWÈÀ€©+«×°uÿjKø³Û8â¶ùï)~opw€ZŸ<±iÐÂl»öβ9~’»iÉjÍiºØ$•¹OѰëK“´SÐIÊÁøsŒI»U›@šÛOYÑÔq—(¨²¼6Òž—…÷ŽOá…íð0$Bé¿Ò¢-™°”ÛŒ¿ËŽð¿È\¨ìpKxÞe½ôªžîZýïÀ%b™,ƒ`ÃùCH†ü[NƒmœíûÕRÑtº½N'­ +iÂ놕Ÿ‘ä!ÿÚaéë!$ÊÕÀfÍt{Ÿm+ÕšH·îËR 1E!<¢‹Î–.E(Ñí´I.af¤æë2î‘bdDÏf±*c¹n(ió>Øüñø Ð7Åb[Žf\x—™.@±@¢ç|sæM[AÙbÞ×a xKùõ ‚@B¨kUráÑ$y“|]rlHÄgÓ±øÖb]¯Ý9~w5{åu¿ 9ÁâöK]í[».´ÀoÜ´¤ö÷…e’])r—dŸÄ&›ùÒŽ|¸5LˆK`ñï<ëèí ™ÇRÀ;hkØzZ®ò×´ pôåTFxƦûÂÜ+PÇ pŒlë}ÌëÑØ5ª‹?®9ÚyÕÀþ^yfëŽzù.¶}¤Lˆø<]MÝ%,ïñå0J});µÏa®Z…ÈFÐ8‡a÷÷,~ŸŸ/o|Ûª3ßúõg¹ó… ÇíîšqõRÿ PÀ«Ø ýiT§˜(þ˜¾±GhvWã …þ†6KYf\œÇ/¿L6ᨭ0TJÑKU©k™‚ Ò¡¼_®€?2†v=Ûa9;À&bü–ͳ }O˜â¨1w¥yï,•üYÝSFF€F9Á)S›‡]¤á‹§ÙAüBn‘—îo0ÉbÖˆSØÏtÂÎ hˆÇÿ} k4VkŽ<زªÏªikØšR§&{:F97Y¾ŽcË‘–éÚÄ5¾‡Èç-ó³.{í)ë9•‚ L¥)j`Óƒ­ÒóEMQf'ÛEñcN®7¹„\›¦=ðûjW¤Û¾™T€`%OêôÖ7¼x<…tÃxº¥3­™5Þ´!µÑÈ%\œµÈKè“§`]N‰ñÑW×¹° ^°€è+ Ì*XSž6#$‰Œ{JnÊe?‡ÿþÅ©¸ýÃ3F‡³ÃN®ºe\ç!ü_gwe~¬–bXBY Éqré:üøÂ”Âg’—g࿼ßfVPˆòƒaã £{ŽPv÷ ·¢jÎãjòp18é-&ø¬êÛ(-¢ÀèÉô´™šDÀ»“¼ þΗ_ïìªóeÔÙÉNä¸X•gk×ZÙSýb ¥Éå¬LzÔÏ®*c8*CG쯙¥~ù11äìõ¦“S„ÊXè+`H»’zm¹žŠ`´·øH ¥ó:¶íùÄ‚óò„:yRìNy·ý]±Žzz1ºZ¼cÈm-2ÜNà±Ì}zÕSKÐÛj[ž½ä|ØâÀ\êHM¦tîóˆŒÖ«T;e`Aû~eÍœ°]-¶|è?¯Z¢"È'¨²jÏ›9‘31Ù[^Ãlg_aÃjÒ9®XÇ~ L Â/$Ù‡æÿN8ŽÝJ+hNïÝ’ÌuðËaZ¦ÏîìÈàUèÆ]Ñ6à„ªÈù½YöâøÂÁ NÅ  ~8Èy´BYÔçà/Ј'o"ä®d¥=6¹Ý™/ÕR|+ §•ìÜÄœ©Ž [2D“—õë„8ŒçrU„Œ?pVÚG}ò8BjN¯HÈ ¥íÓ&”ØPnÝK)®ãS.m`Fg ê.édðG@Ò®Æo„¨HrÐR=X[½a?m¸N;Ü `{—­‘Õþ7nÝä*Þ‡è&f±(öe‹C¸ Db×\€ÓÿÖ²â¸ïx:l׊=¼¶%AJ½_ìvÜvßÌ=³Þg°ùæÐ}‡ÄÉè¯sçêoµÚˆÖ•·ÍEü…!EºQd¹WT )8kœ>錒»Ýp9)†¬6¼4“mЯYy3粊>HâIy;úÞ‘åÔh—,¨ H‡9i[g>uzwñ ±Ÿ9Tå¡ïm›å>aC/ÿ*Ȭ–|ø"ŠÆL§˜œVÝÀ°5·ú•c׿¢"´¶ÚÁËÃepÙV×LвDd\vyóÛ”nRdî°ZËÞÞ‡naKÜ‚åÖȱ©ƒL”Œæy#Õð'ï&Z^ØCÀÏm,ÜÐ诽FŸ§¸pí¬"’µ!ë°>Ÿü*j±ºÄOy;§OrÇ)Øe‹™¿Ø4¼)H$ÑV!Læ©`yŠS.{Ê7½‹·“Ñn;éiŒº¼{w*þâ"Acp›#Ïì(ûKÉ*a¨míÙSµGŠFþ‡®vfg•Öjõƒ€V®+×±9è5Õ™•¶}gcu 2ë[< S SëVû[°Ô€Æk½3C~X¨÷-à©“%gÈóW-ÌãÕ/á@®“è;Ùÿ†Pì¬lûç±°*¿úGÛ+íÚÞfBu¾J]†´Õç~6Öc>§KçS‘ »c©½ Èä£@Å«ö9¯Lõ·ò'ØæÚ«Tì=ƒ8;Ñ­É5úÞ¤œiâ² $lÍW8çÕ©Þ“C«¥ßÍÔ¦¯föÑ„c|R©é¼¹=žÜeñMÄ-«­p‹³½ %ý 0Ó°¿œs^Åî©Þo}§þ¨*  9åv´}Âò2Aq}[®«ÛsÇÖóñÐYš†-¯<™KY_´€ß…LgñîgñâGçù}h8©áÖiiçn­³Pú 1žrÕ3φÝo^ýÒƒ[zÖ!]tFˆù ‹à`9‘dƒdaóû"Äž^•¢\u.§ƒC>ÅÍ`#2–™¦à_mˆ5 ëUûQV_¦]DmôÐ ˜U>‚Ix­­a`:6õ#«r1Ø †%½©%é,Wß÷û0˜°ä…Ö7u iVM•Ž~·²ÕpÒÓ_äʲ`ãæƒ‹b 8²÷)½qv’½ñŠ%¨Á5ñ¿˜#dDõv©û¦ÓÏ.á¼0|}5¹±GóÒà‰PÀáÂþñ/š„uÇ2p0“ˆ¹; ÙDù-•…aÙ¬ºØF«—QG‘šI)v'Lý((¡Š‘cG­U‰–>¾¿WR‘B~˜!ÐM¯ÉÅe+­òízãÙZÿBðÌ$i”q¸ëËôa«X–4ŒµßYµØ\ëoMù¡8´âf—Œó+3§Œ.³ñrâRJIWצSqiiåíe¸Þ\ CØ”b a4 £5­R3¤íü«€Œ3òq¬žŠËÊY×øRas´ý:öUö;É¡åQöΚ¨6ÍÙ*<Á¨{£í¢ÏäÅ!H%Æj­‰* t|¹õ¡l®K{4xØ6vV{øš‘ÇsE°ËéEÔº¿•`ñ‹ºsT¨0¨ƒ¢”;Ìÿ¬¿Ô€DYѶ°šßØW0ˆåáeÆeçX½B“äyÌŽ0Õa•ÑÞ ÍXO6SÕ.Q  ñɦ0Ëÿæý§bh1TpÈ¿¯`­n+¡N¿ç)¬›¥QØþ&{^c]&÷Gd×Ås"ìþ\ÛÙñú_ù! JÝ„òâšJ—SÀçF¾Ê¬õjP Ü-9Ïî³Z=댯4¤Þ¡œ¶½.N©Œ,ÞJÍSômŠ„øO0®d^U@¶ëZJýÓÄÍLpªÌÎn)ܼtjB½~óëë\¨oó­]°e˧·sÒ’*¬ÜäÖõ×Å뵪A}hÝ] %óú'æLÝðHF È~¿¤Ý5®Ø÷ µG¡ìqtêS¯É#ôt!~]æl¡XíõMî{„âõÞϩƃ‡dúýô§ö{FÛgÂ¶ÝÆ‚NûÂ$+í) $ç¡,aFMèÁ¬cÅÊÒ×½Y¿w³± -£ÊGÄìÍg}_6ô’R-Í:½ü1)£o%X\%Ì›nëúÇŒ¯3¯ð?„®ˆàù¥ôÉiò.<‰›6ݼ§Î.°ixRF£´?^ ) oô ‰–ªÉ·…PÅʯ‚ï>[ÊWXGæÈ#£¿‰ô˜ä¼ H? Šm5eÝ ì€µ$3r"ÆdîÕ÷c§q=&wé¯aï(4Ù¾„Þ±Y ®v‘‡ät£â•û~iѤ9Ét9Z¤¢Ñ>óg/IàV*øÜö™ü(SidÕƒÖÁÛj,Ê8w lºa£,ÏHè©¶õ*V`´ÿ¾™µr"JS¡/|'–~ÞR25S{fÕ¤•lÉ·Waƒ’}öà<„®íò),*rX æuÁžrn)œŸ|t§ï"–WÎà÷ÀvêÚµ¿]„j‹òQtõ¨‹¦B‡ý[],(87¾ÄîëmP°0u[6@ž$U¹šzÀþ'Ã3=¾5²Ï˸7àºq¸°Quõ©ˆ0×X¼|S(à Gjj?»™7K~ô)-¹;¤>„A«ÂHoºMH½î¶‰ª˜ixKmäb8ÓÂç¢ÚÉÂkpÀfëۋͱJˆHÏ|!Š µ°D8ˆ_¹2¹A”Nd‚—Îʱ!—8%{ÅxœPêéí`w„HÑ 4ÜÅBåû½âÖ¤»l7x-+EÀØ–&¸ˆ-OŠ“9g7)Õ‘2Ü0^¼8˜¡ Nr9õ/Õ®¶*ÈSæ[ë#hé zø?Lœ”#†y½¼'âY£•E9ìVª§br]B€ 3m•¨¢8cb)G£š¨ƒõ’´]Îäq×=>jºTe%qf¡âãušÎøù7ÏAšÔ§àR”ˆ6‹Õr Eé±6Wij`´÷aUiY>Ä’s&-}SßçvûWÆütå|rå¶¾å©ãÍú赓Ÿâ_š£ÜˆçZqËC(®÷ž6ri¨…Gñ}yE~Írv)ß{RdNÿæpÃÊ‚÷×2ÙÝ{‡uñTI. ¼¯z«¶Î"ÌA$'mÊãâ·—«^I8×NY"´ÿ$}gë6;ýÉuˆ²¿ØõÇól³3ÊóÎ.ÕLþ¯æÂ:%1¸öl|ÂD—GmÑ ¢ÇÔ.ùÔN£ôF1²sÄÉwÐ@¬¸3.”$ô…Ä+Ü ú/ÿê¢é¾­Q›J uKÉ®yȰ¡jÄ€= ªãªúa¼`µRp];•Y”â o2¹"2fqa‰ûeœ£_²øÊÑê]h d}töÿzêý‹:—t[©¶6˜a3 .4óÛ%¶Ã†õÕήٚqÔ•ÁNT8XÎâ¡w(s!K®eªŽ¦Ïˆ(ñx{€ÎO$AÒ„·.—Ü¡…èÏuÎ…öåŠr#ߦ•÷ÅÓ´b¤‡Ê³ÛPìÈœÖÍaì!YY*ŸŒÏ ô¢Œ‚Äú»A’8aZW¶ŒÌÉ“b–’ g;Å u w.µ°(—…J,½Ë§ ë§át¿è³^y™R_Äõ.ª¦9AéNÕÑ«ImÒWfMºTj‹³\"!Gek²ŸLÈoKy}s&+ð ¦$ ì)è²Y$ëæ€=äM¥›ÙívZ3LâBú·5ÍÂŒþÔvg®_Õ½à¥I’_ò£ùÞ,r{”øÚºKå|<×qÔQX[ YØ~"VB;óKKP¨²]AIq¬— ýVF  Ê'›JmZø8ª–>gdz[`0`7ϵËë5V÷Uã|¥½¦@ây9û2*.ߨýã¶ó»° ÃØ¢ŒçßÚ[†ÑÅ;Û6£—W—îZ/KF80r“.X$¹˜‹1¿J" 7ê›oM•¢( ¤nB~ÈzŸó½>¤{ï!7[¡„±O¸îé ÝÚêt몯rgÿ0?mªÞ5Í9Fjä|Ùðª…@O¯ê•É®Ä`³CJ‚0uF™þ~ì34ä€åŠÝRYã9Їh›Ò­Ç¿‡E¦<×]¿¾×.doSªßÌNmÁüÂprŠ­Â„ÓþŸ©T[ªnh´Û‘ˆ)fÔµ‚÷Zó`ýªãD—V Ìî‘ÝZ‡ùŽÏËb¬^í3ØÞý®|AÈGË£pEæmjê¸Cæø¢ÔUû¾Æ°Ã!·D„ ×™2ælŠù„™¥àÔà6b–¦‡Ì> ¬À:4¤#Ön¼Y-íŒ=û—‡%¯:;"¡E˜lmFӾ̮í˜"¤úºocGÚŽcD–£Ë]ü­f©ƒÁ‘abñVäÔ~èÉÿV«ººh´ á91ìñ:Ý¿&~dr)àNm_=Q&h˜³|ÙÞ³ÙÂì;‹:®]-¬ C™÷v1LE«©ƒÂús¬'Yä9%cNf²¼mŽV’´ôákʱ·aS§D;’ ã(¤ÆN}‚·˜Ö:AÛå-«ÀÀ¤881µ? ” ¾™»Ö=šZÞ¦, ¥uH…Ü:"”Õ~®Û!XÐŒ{ÑíàfJÛquP/WÜK–,·¨ä&`šŽÕMj³Öeš øLOhÿ†±‚«a…ÓŠWhÛ”€ãòçáE¤20"l)£&Z,2ã3÷r‡6ªéX¬ˆ³Ö÷Í.CØPÒq‘eÎö K¯|ÿ+‚ú¼ýAùeFQ{œžˆx·\1¨¿I,1“‘#o&ªàÜ–t‡ðùÎ öÖ-êNƫԑý·ÃùÈd‹~’ aLWÄ}Ö÷’é?ÓJ£qó3íàis®õü’¤uײ‚54ç‡itÂɱÔ#Á_TÉäìW#Í<ë§ŸÁ ¶­‚i¹WŸñÐëmuøéЀ”òhCêõJ¿B·n² d˜`Äâªú÷Äÿ,¾Ø†zÙ€ß @-WPóË©C§Oúš-Þ-)Ò×®¾ÿ§^û©LÐu‡üz4‡Ã^#A7ø“­<ä°ºCÊÔ%Xe±¡qcÏ…x}¶¿N¸%F~æcX#]‘P™0]ƃûLDú>äѰ”Ãt²:‹'¢r9-ä!1màDH¾f$]¹Åþ *u­Â_›¢Uê9µªq 䘿ÿ–Y¶ÝìÏPØ«‚+cdœ 9gI©\®Já¬ÕGŸC¹èzÅ ¡ü?ÝÂÉ„ ¡±ø8¤V.ÊàÀ:‚ÁÝz-éæÔhŒFF¡Â€=ÄŒ‚æÎŒ—Ö`Õ†—CrÕˆJ.×L¿Á‘Í´Å„ÚT‡?«QrJÎY-š¸¶¡‚2w”ðNº‚iyŸ8†X!¥™ûÖ~ŠKº5Ô«íÀ2§àÓ2ü· Y9(/)®ò·ÐPB™8ƵÜG7‹›˨ùÄÁyÿ•/”p×rY½á0mò!™r;-°ŽÕîóù² 7¬lækœa˜p{óÐ! JÉœK2”«Øÿ7çöh0`WøÈfÕvØ)%“X™ž@~¶ÙôŠñü'…I™Î@6úœ­PàÐ;ž‡iÓ®Cçø=…“Ù§ŒÛyÅqå bíÝJ|ÚŸÏìFÆŒ +TAšb·v„C½Ùè¤ø^$åÖ ”|"Š=´„ú1;½vòh$˜a£Æ¤C Œöak¤dÖ¬}Á[2Q^˲ k£î E‡–÷ ‘,« qâr†æ³'a9R²S á™™/1òë»=ÞAß'ÿ*Û3XÓóÔ‚÷苽Û/ÛD$´íÅ;ÎS;¦‡?`Ä*â‹Mp ˜taÝÊöR‰pŽdàÀrY“¹¬*XuÓB2§¸[Ð {»ÜÝÛïn@K¶neS\o¿ø\Õ)yþ€ª6î=ú{øNôº†z1†ÙÕýÌD‘º0>PET„[ì3-ÆÕÜxvÍ/Hf ~"Wâ]¢˜´`Nê@ÅD*Jpô7"ÚT‹Ì”P;ˆäGÜœ¯Éךߪî}ÎÕ™=VéÎônĈû*ë%¼wÔßV•¶74˜cÈËi)ã@usréñ䨳bÄ[!´ÿþý¡5å›B¼¢—LJD2lÐråa4íz·L­=æ^ƒo2V^#œÄ‰œÌóÆfÞý}i2i­ˆêv³ƒ1ï€ý0²™@÷˜[TP‚Ñ{\ÞÝ{úf„ ïEèaCštÏõ±i 0æÈ¹‚q'‹z¸8™½~ÖbÛ"ÔB')å¢@ÇÌ»g›?j“ÖÓIi³Š¦îßÃ|`½<ßÎ=MïÛèݨìs¨œÔ¹ ãi—=¼¬ÌqdùûîÜê™Ñº˜ÞuÜÛûFé>Ÿ‘¡ý¼ÏàahßϳÎ]ñmŠ›,à5è (ûÜÖû|pQºûØØÆÆ3Ì}øn«ÎI²‹µ˜ä-X!ç)‰Ùl‡tTµ÷9—àÛ¹ ¿Þx‚(EÙ¾vÔco«ÎÙÛfÔ<=eaÀžã½ÂÙˆæve×O.X%¤ž|OƾӿËèIþìAbž,õ寳à”À¡)esí-{ÈÈ_š÷ ìÜQÐ(¸vUIvÔøܵß=þûcŒ¿õ_Uë»` ½®¯ç· Ýöj·‹Û¯ÐÐŒûÞŠoÈo N 'E·¦‰ä1|Ý‚‹„5‘iÁ“ò&œù­{2¿pû¢Ë¡"K¢0_¤’6ËûVßr&¨ S­"ÌzªºŠÅã„)F_VÜYÚ¶ôT°ßŽs*Íj]ÿ’IJ»Zxª b¸»ÕÃÀxr¥P¬d‡Ç[XvÛð¹Õ“ôõûìmýÅèÛÍœ|8ŒÅ¿§S#ÎÛ:§·?RóG¸>éê¼l¡‘¨„u µãÏrÐY€ ôÑN“L„ØŒ‚N+O\±ùÔ®-Œ§9šwœÝSÍ?Erèìj¥2cYDóº¥Î£Jù$[A€$¤lݦ…̧±0ýKØ£›·ãq‘{/†×$Æçü¼‚så‰üÉôÂepì"ƒí1öatÀÓéSÊ'øà¦æ+üã™oQÃÿõ37…Ù‘*õÙNõ“Q£[Ïn–×¼[WX¿ä¨¢òÒCÒ¾¾-?‰³ëûpÖ7Ô„¦1Á4YÛò}<^÷Í”gÖzojî¬[é%Ù[‚U` ÒÕG#Y¤Ú픸KJǯ:™&…Ý­½Ήp Ìzð:=X€UaöÉEOºÚV´:ÖL•¬Ý¹‰Og=Pù­Dw¯­išWÅ”¢É]k4ç¨äø¿²¸¸|ï2þ"ØH‘^ÞÂ*5>¼Ã‡âošrã†ReÙë¼ër–ÐK»A½ïüâ÷MäE}̳aˆËGA¯ì”ïø—,PJl¡D§æAÏ :H¬?·ÆÌÕ†9dE¨T£”ï=Âj°¶l°ª¼ [Óɘñ0s H?eMcû{›CuãÓ}/sûí90„…æ¶•RZ8»_E=H*nÁúZY„4`&Êç‚S)à?é&­‰È’¸Àþþ©ÌHªkfàã?Ò¨3ùð£8çÙ¼ÆfüS‰†ŒWPKÍ¢t-R8ï¨lÛY¹Xß0£¥!õB¹ •é5o½E¿TëüÚ¶‰LB9RÀt+}Ö½œz’âæ½ççƒ-æCk¼¶Ç‚Y=cŸ©¿È‘-JLê×¼bˆñ£¼€U‚{ç~ÂÑÒ3f–Rà8|ßAï—àQñ¹¹Í7ôxkjÀÊŒó»-Øvoçœ/ ð¬´›Ïg­ù‹¶‚hâv~N‘ç^DK¾žó&­8u+3tØÓNŸï1y/ªZƪËB‹´ôãkxíÏ­KYg¥V7„ÿ˜¬D~7bêtÅC›ëä§¹#2­2Æä (XaD,2ˆS°øny½c>PZ?xºz^TÏ’<•/‰ÄÄ…T(NB9c[Âöw˜ù~<® Ú«´§û,h¦n!Í’lÓÜ~úÕºb â\$³én)ФtçÙÔŸ?ÁMyên9ìõK]“#“™m—a¥'Áç÷FTpò+{»ºÉL‡;ƃ­6xA”lö‡ŠY¶W]}_Ýw¬«¯€»žÍKç?p×FP6îã8Wk\rñ^¦¼+ð¹ìáŸV l€‹š’¯a&ôR–Üvt‘p±¨¿8=0cæ†YT'„øÔÍÚ¯½¨ä2‘nƒu÷›@YŽ"H ÜÌŒô D~R±’ŒÎÑP£.µ×°}w$ÔÍ9Ü蜖21fÐÛOT†hÿS)Œ³›…û!£/·ôçnDæ{IÊјÔ+Æñˆ’›§Äì/nþ3Cªß'˜È~¤cÊ&þ‚ì ršêêŽRä\P”+ 7ψüç•.RC4Ràh}Š¿²$1Uj¬‘ …–Y¶=ý¨a¿„'JˆòDeõÞŸhà…ðšfÖÄSâKÛµé‹zç7«Ü`¥@n;miö!]ý š‰8¤GLŠáŸ•.«T6š¾ÈlnO‰òØ»dXãqh»<5”רC!•¡ß°«Së':gœôÔ§’z©K¿$ âà>Û=#›žEüKØ Q¡mžš.d!2ÉÞ³•H–$k@ç0 + B¢ÍLô·rQkªÎÃðCÄŠ¸XjÖTñ4éÍf>¿ååï¢KMÉzf$¥^ã!XÿÀÉŽc© …rg5“"JStl% ½ý_ÜŸjÄÓÑÏg×ö„•p¾T‹—&@øÇ^A"ß]‡Î^yìÛb®™fþ¼‰çdꑸ•…}f•k0ðm ÅSG̃(†Î¹#;qªD« J¬i Îò>‚$k`¢Ã²zÞ;£‹4­Ä·O¹#;É f}²V?öùµÛçh¸ß÷Ø«˜ÖEà0ÞÏ®ÂRòE[“L²3¨ºÇnNáW)µí–oàƒ¸¡Ë@ŽúǨ w“æ{¼í%AéŠÌ(«ýýÓ‹Üé”RuN2‘+Yv_H°¤Ï ²QC²Bª¾Ö²Åµ´”7—Ÿ-ò¬é§Å4abeÇ!GúÎeüµFò¤™0pÍdJfí ÷¶Ò”Å,ÊvüŸÓhÀÍPÃ"D5§#‰ˆê†\®Ðÿ‚9>Os®Ü>ç B-ÙEÍ|+*¯ xÒŽv 3¬ÁiHG#"Wæì÷M d—éó%¼s§ˆÛËOP.üËý˾–”€MüÄ£3AÄÒÄD’\ZÐZrÁšS%iÏÍá,×[Z죀)Š—}Ú“áЈ¡´ãÂÜã¥,üXH?gôȸ@Û`GQxtåR”y©üŒ2ì¿ö,Kب׿P¦Ûäþ8ËД[–”$(jWh³bV:´££:kKWὟáÚÂãËüO¼Ôx^öÿ‹[ð>TãÂVGÕy¸(òµ`æt™äG¦ŸÏŸ¡òãfçç[OH†÷ñA‡OÝ|#E…óÐn°;6Ïk×±UǤb ýeƒAiÅxúÐ$:Ÿ«_GПµÆåZɺ·ï²Íq!,¼†(Š®1•Þ‚ì‹©ô'¬Ù&êØ*Å'—“Ü˨7ýòÌ„,3=}mÜÖüf†ú>«ñ.8ihS*~û*ÜÂ=‚yøÐ;ÕgJUOAݱ̘ Š¿6 UËÉASL[k|“¶¼ÉLÉeiø]5««é ¾Ô ²ˆm‹¦V"(]Ló ˜†ÌÕ8²9óí£]àsð©¦æp]J[åŒe>Ì0Ÿô$¿‡¶ìŒØÓ­ŸBäǦV .þM’æ‹#Ýi‡ÂتÌ&y¯; œröháää?Éð§¸iä;×q¯›ð£ÆÓî¿=Ô‚Tš²¦âᩜYqß$%ÆVÁýǰ„‰Àjš^4·ÕÓ¤º½ÞÔi˜{«å¥`•:âµç±Ïo§6•9| »È{@³—Ö,Î’®çòïLˆóŠÍLmoþþ[拾BØAuð#iê4;9CYMŒè¤[½ÿ^ ÑGx»@À•F=H¡ï„»m I"V1#ýè,JÕǾXÖå(@ŽÜWð~Å$+û÷eUói VÌ5£âÏ„–4jh¤Õûl2k™¡!Ëq9ù,Ö‚´'¦B“ÄZ-Û1\KÏD$ÈÙöy€Óãr ´5uÿžÓJ’ñ'i_¨#!}ab²êá÷²3š‰ÞÒLÖ‚4ÏÚa0W\¸˜]e#0g>+TŽ„*¨\ܾã~ø>o#oÙˆmÔ¨ˆ±+cp¦QŸç;ª¤ ÌøÊ,Õ^`RòQy:KBßõ#¹¼ÈØ¡… ‹ (ÍÔ,S<»z[$jÜä>u'xß‹k1ªµàTCtH‚éÐçü¬” š-i§>·¯Ñ ±øN£—Ÿ:ª+Æ›“ØPÇ÷­™±Šbf)¢ô"CyK:÷jã–Ö5ƒ`$¢L; Œ~… ß-‚ιNý¢IÛÊÐäQ”ÂB“<Ld•á¥ã4¸„›’"œ)V¶g|0â‡vu¯Í°¢ÅÛHÑ–µ­áãóg¤TZVBn ¼…Ä–ÝO3'\™ßáŽóîR“þT܆xrê—>ÕR—K1Š ›zùMèOì©£€ø y<Üök%Ž3Ä­ÓÊÓ‚Ðn®Ó…ßð†¢“áLDYåùšôê–^ka‰§&\®•ãø¥L‡~.Hî7\MŸlÅØ¼tüË0ØZF%) Ù¨zAkœ!–AżŽVÄðÒ.¨QH³›aœã™BÓú 7|’AËÒ¥E®AýÛ³ =ˆ$MÛÄýT» !‹Ò>¾~ TrÌÙ(^k™ƒLoßÁø–GäÃ%{¬0:IE0ˆ©ÝÙÈîÏö¯!#_”èÐûm £»‘Qù²>¡ÂkùÉç|ݸ ÷;PdfX?^}’ê¾÷<þFü~â\Ú!Åv¾š’ÜrQ°Y‹—Íoæ]’Pý‚|r~ù¦ògÄÂ*«y„æ7ˆ5ó›Y1%tdpرxf—a®2A/„£. ÿã›JŒ¾‡|îF Ùx§Z³Þlq<¹,U¾{®sXþ}÷¿I%:ŠÛªOñ8@ýòGÑlØ£$!4iíì@ªû7c\¼FöõŒãêgꈬØo1q„g3ŽâõJ…ãkáaaý— ·ÈùŸ²ÑQãêö±ìß²óJvOKxjD&ëªÏÚ-,š‚›@°¡FøÛX'Sß;³¶NsÐVŸ²üçxÖRzX÷ãAÙ:­!~Gy– Çjv²#>N|çýÑD-땻ٲ¾7ð5%ãkݦ! ûƒq“]·\BÍŽD_ûœ¶Üo«¦sÄ@’„ Yìeãžå$2÷¨¡­B†¥¦©pÊÎ+ˆ¢¢ÌñP²”·< ?Õˆp-vN ®¢)ÚÚÝ,£â\GfQzøiôú!Te|„§%ÉÑb] ‡šÁŸú}=3Û!}’öäÊ7šTÞ ~Ñ—¦¥ò4QS‰Aáý}ì?:b ¼4s}(7f}Ãý§9}®á<-rA’â¤h½tÃ#—ÏZ‰ís(¸˜m<Ï­c$P*ΉäÇÀۖǺ<Æ0>务úÛ5ÌÀܳ{«”НÀœÑ%cCÁÀŠ‚ HxÙ§µ‹â ˜­×Ù8.à†(ط˜]—Ô~Ll1—Y­#ËiIˆ¨m*C»÷¹’-R GNÚ\;¦¬ú›u´“¡YÆÂýi#Èt ÅHBuö~Y0/²"ïÓÏ€Žö°·©©»UJ‚s0[DÆÖ¹ôˆÆ7S53”;°›Ù :Ž÷@ [§"(ªa–ˆÒ£éˆHlœTG6“OÒœYÿcHRnâÏÔüCâÈ«Kõð[¹<Ø=*e£…’€è>~Ð]™!þ¢Ó+Ý–Aˆæ)é@Ÿ“–Ìî.¸$ñünœ+þp§i ”.–8áK‰»ýÎΣÖ4ÁRz^üõ iJÿ¶òcþ7ÙYÂÛ ‰aš\Hãd3(3Ë(Oi#7‹Cìr¯7Âæø¶é÷üŽLøî 0nK]›úWœÛÞéÅaþ¢F/à B–‡ã†È§ oÓqÕ‹efä¼=à°t"ÅóM»‹ ý Z‚–QÏG#H4¥ w¾Ñ®m²º&¼;†D9 ĶQ“¬z¡… ØÆ½‹›ÿ kYuH–rùKT ÛÀ³‡ò¦í˦–nI5yŸ±TðÎVQÓÀyÙè.ôf'ÂÖ]œm¥÷-I3æ‹L¬ÃÒº„r"§¥àé,?À^×t•±šd0O´Í¨©R5¼ë±ÆR{ÿªºt “A‘–Ý—I˜FÙçÊVc”$˧¿w¬™Y³›‰Mæh§o/ºb Ï‘óWé?·I#<—oU ®Ô{àR2£TÀÏ[èÈAññ?ôBWÏ“õ)Tµž¯r8÷_¿3ش裠ÊE¾½ÊÙ ¯I°0³p’ÂÞl^ßë•\Éúûí«›oS#æ«y¨Ê®Y/•`)f°Šß* Š¥Œ7WyùN!ÌÆŠx®vëªÅ2° G¡o ±9ËÑQ#éò$6;-§h&ýN3”›½bYP†2­jÝ’ø“‡j-Xm5d‘¡gX¨«Ø¼F‘QžT«i•ìhSHìAÊËõ‡ç´ðõ¦IðfºG˜FÕ®rÓQúägèÄ$ÕºVñ 3g½ÍÞ"‘LžÕTHÇ\ˆ€ßT RòŽ -a߉;{íp‡ÊbP 9ìµO «ÎÈ— 6‹Ü^6ÓÎò½wÝ©€AŒ‘K?««µdr½öŠn L|:+œs €Ôøˆû\pG8#»j*Š!É¥ؘº°­@ ¯ÿiFÝÈ¥¼®K(…Ö2 Lq¶äIÄÙXn Ô‡ÖµˆÒH›løð‘ µá8á· sç »ÍW‹Ҽa“.ší» h‰“…V&¨jÐeùÚC§†&*2Ÿv¤ƒeþA]Iv)qFâBîüa¥áÒ5®L?4*ªðN¶4ðtèî5}uw%/d¡Á)â/¼> ln’õ-`g³œc_×Ãf›}à-¾ã_r=7MFoODÛŽtP³¶mgC™ò‹›çزB€ã_ã[ISY€‰É¦ÉD?XðÙñXðŒPÉ?2Š3þø×lyw(.…´ŒÝÛU‡v%ö0¿÷Oșӣ)üÂÁÍßÛpÀ ÷.L’:“ð&¶²töÈ» RWÇjEÄ4õˆÀQ*R¬n×— o›Ñ[Où ’Šz¯öMþ{,Ç÷d×dÞ–ùU cŸ„á®Þ”¶ÚPý£f:étɈÜoïV+DjØ•uzK 4z ¦LÔ½•¿Lñ"=’bœáÇ.ªŸÂÂÖñ'"~)óÖwt}usÛýÝBƒ#'¯w—ßžúìÝ´f ëH&žÄÁS’&Ž2Üôú@ÿXãËÈ*篪ֺ_”(®SŒ¢V%;ÐÙ8²6ÛEáø:Á.°›w†H©ºoOiQÓäÖ”7•¨ÔœÁt‚±»îÀ¸ pøúB§µ¹'Ø>—Òö 5‹±^õNIå¤lQ^¶fçïDa8BÒ„ŸÊÇ”Ÿæ‘áyƒ‘£sËaãÊ0JX<Ãù³ÁE‚ ÞÃâ\:âDóüç #ÂæðIª ƒ¥œNÛâß1'‚åzX+ø7ÕT>S°ö*­6¸¿© ï›vûrð2½ß)Ã!p óôA´¬½Þ‡$p“«ÕCÅ0md‘ 7ûõ˜]bì}_Ü’+íÌë6Ö3¢À@2ÏÕ©ˆeÆô ñv4àaiòƒŽ*ß*Ÿ‘DÅ£~q "jäÕ‘–ÄÃÆ\¶ŒrRÑç´Îž¹tùçÿx Pdü{EUap5½H^ÔÒ\1†¸Ãr;¨zMgÚÄårë¡Íôx¸™‚,ù°ŒÇ ,|¦ìb«¹oó ËÛøš:ÓZ-lcïH¯ž"Ë:!'îšè¢ÂØz÷(ã@+n« šÔë×÷^Û™Ô:©j˜ÅAÁεw4çV5$  Æòœ9u:£2àıWpÿèaªßLÇpîf€œ<ÍÆ>ˆÑÇܦÑxµòÿüe榓µ²éð‡‘U`Ü\áMáí§g6ùæ3hE]ÉzâÒU0f’òIz×ÞmâYC>ZÐ-^þ5>Ôg¥aÃÜ Ü›"zäàt2°½+:t 0)hôjª!íÈòÍHüÙ!Õ5pFúµ&šúUg/]áèR¸e,ªûµ>Ÿ¼’ŒèkVà3†= #ëÙ‚vÈwÈé’ðªnª\ ¢ì7‚/ä•è¦=$‘Ni{ºÏí·ÔÄ oÁ`V=x!cÎüx: 7Qç;à‘¯Îõ û¼@“pÓéOÒ½ˆ½=¸ U÷«n ’4ºSœò   ×¨F²,óï/û.L°\:}BÉ"éê¢?¾†ÊÍÛäÓrI ´ÉÁ¬}*`\%à ÿé8ç r±XBĦæà1Ü'|qâÇZ°±{gËþã¥Ì«4šhÂ$˜½3-Å84¾™‹ã ~½[s³[Êy³òë]=?%ŒÑm3äÕi‘)V:8Àß q™J n¬jx‹[tŠŽ°ÊÂÈá~¥vv¶Ë9^õVüZ!8ÞÞü2˜ ˆ©! þvh¡ä³î?Zš£VâÀuYûxÛ¯·r)¢Ú^õ²}ù]R]uüF•¦ƒ€¦Ã3!£Àƒ*C«k“Âthò?mDIèÈ.á†ìÛ>ºï ¢øàæ[7ÑÄ­ã’8QDZ+\Y QÑ•ùÛZ1D i(º&âQLôÚì'Ž]Åš`kw4²1öà„)èHíßáÀ}}èW±Ñ>0°ë$À¦#M«·öš«ió—BtdRý´Ù«ÑI‹v#jY’)drìÚûc„={û»uón·Hßþ¨«Ê`Þ…Áûë¿;?qË(<)Mé$C÷ÞiX蜘½4wê+:ƒ. ½t«Ž›†*rÝ©5 ÙŒ(#Ã`V/tîÕùÝñ‘vñ«²c9|aô³Q¤Ñí n³&ÓýK‹G· Š@ª¸ÞÙ£_*–¡D·, Ø!àç†û&Ò‰’¨¨)œÃGbeN‘ («&á1 ð˜k5ˆAûå-þ|²˜pÚÄÅ.‡ «[ÌdZ =Õç|¬xSdfé ¹±2aðA‚)Ãt8ÒúsŽœnyÜÞéü̺iáNäº¦Š€†ÈÁéùUe” ›¨¤<«”œNu°Îýe8Ä_ÎV¿l :ma‚”Æ`QA©0›oSùÕÄÿã"O#×§˜<ËW¿%ÿHðx½{Rñ±¿µfd0[Ì38ÚNJK®™Nd楆`¥ºÖP*wU¼3ì{™Ë£‹–+ÓÅl[ñ§Æ\>‰¨lŸ:6ü~’ñ<ý ;íZŒgš“uO=ªˆÄA2u§X»Û}ý—ÒE§ÚÌ«]ƿǃƒ`m+øé aZ¹ÊçªU\›ü´›ˆÙÅ•½„:˜jýGþÎcUµs@âÇ:«Ÿ*xÙËBéMOsž}’&ŸÕÚ·Plùx"öhâo^¯ÜJš¨EÉx˜ˆPúÕ`“Ì'<¹+k¼à„ šœ0#ͦ“`‘’£Äó†ôLÀ;Ÿ·¿~Câäv¶j^ƒs-æo °÷|@š‘¤˜–òsgG«I ²qŒ&¹‹Óiò2î7Б§lY[j„˜ƒ@þò9Vû)‚ÖZ8’“üG½×eu87¥ûF 7¨€ ^ @‹Î´caKøyVqs•ßDCŠÅÅEé¨A¶®«ZW"è€ø™·l!ÏÊŸÝBBÏÿ ‡=H]ƒ±ÒjŽ1$¸ÚWYfí‰Õ1ß$¿vUb½é€£™ÍRA VClQ[ãdbÉ ýå^H¬Ô•ЯÅã.w5—^ uE«&v56}_©ªU¦Ÿ<É6bmêzÇÇÀ|ÝŸÔ‡˜1™r±ºm݆óHä-.ƒÿ³?uÌd=ùK}Ô`muËH– 2G‡‰B©× Ð/ÓÊØïŸÕv¤†ié*j`é?â!+‡k’¨ŠSRÖÙ.q#^Ú@¸–5bö™hÌ1@7~’ÂÁãAÝ…ðÅæ@< /å¡ô¸gf6{ ·ŽzbêÊ'–²Pþ£?Ú /@–Ç“}RL¤È´|ó‡yPju7öNAšWg£™½Þ»TT³QñEEuçþe?XhMÛ(WȈ®þ–IF½0Y‚w)%ò¿7 »^ŸpY ¬GtØöüÀ¹ùù‘V c1’5ã]g˜p_@ئqE••Ÿóˆ›@« \aߌ•c–B3kíþ% Ü­¥·«Ûôh üÉ…d®ú~Ù,œï2|GÈ­^“ñVlCŒÊ³( †Ãä O£TaÕJrB¹ä@ã±JÑ{&hs WʳVöd(Ky¢…këîî0±h;Ðþ» :"Y ütC<ÐQƳÕ-ZÞ™ÅÕ_Vh«vÈw¸Ø•YÕ/Ò©6à˜ÍºÃAÐJâ#µð½w‹TƒÙ_tµƒäåû>µT…P±­Á”Ãö_€NPñ»ÐÎ?ƒ©%$å2µ,ûŽ·ä‡YLŸ{ïŽs›g’SØí'7?ÔJÌXx€1·Z4\üs[Zr”oó+Jü0¿:±øùò’ÂŒèõ§×ïáÆ¼uQÂþOZ,1eØÅ $Û;„Ñx{|:ËÅù¨Žk5Cq¢šZitþ¥koGõãå'€SIâ×ÿ—Ÿ]YªÒ«¦ö]0­¿¯ÜËÇÒ™s¦rîà©à&¼‡0Àô?&Ç1ßKHZÿ-”Zä¾+ƒˆ-^b9B0õµ×µî9KéVl‡Ø9æi\jé&ÄpÝÛé-æÑ(Î6À@qÛG¸×BýÌHŸËÏÄÁJåº9eÂòíâþXÝ{}ô1ÀÏA-ŸÐÓƒ.ñEfL\D|ÁxLTMܱFáªÃøI£Ž7 Å»n#êP5o{n½&aSï½aͧϑ?J]\mLýŒšˆÂ}xvÅ /±7à25Öž5À¬ð¨Œ™i¤‡áM…2CtϼqtHÊ6¥gúEð@`À4å™Zcê¬Ã‹h÷Ž@‡z´Ê³¯Óc®<ô²óªZn¾Û8"Hª}9üÍÜ}À†³…–-Ð:"ž]DÕûûAÑÅÒvSÂføžlúËÏì‚pÔîXšŸQÜk¼ÍËdîºt®»¡žwUÉiL¾8©`µ||I°p€éš¤é+Sßj¤püm‚Ó!œnXÃ"fÇLC²S™¶‹ñ û¢üU , ò„þ÷³%ý›_•€ ÃÎ} ”“6¬3£õsqÅt¼Áê(Íãô²˜•Ø(:I™÷Y(•g¼ô8ë Û$–¨¤6ÅÞÉ#†y?¹mëK”2²Ï½PA<žècl¹Óäî"Ëü¶Y-…~Î/–cu©ÂyA8{8h³7ß ;¹šîz´‡³Š.MÅMÄ%£ßÅ&èš^c³~£UAÁegT yÁÀ Œ–/äF?"ÆÂ›cÇk’«šzZwÊ3u€A…Ÿÿ%Ú„âL€“õÀ6Bn#ym:ÂbwÀ­yfmë¢G/g´ÐB|×Zª‹âäåùˆJe0!¿me O¸‘(2¤—ð㕳–MZ/öC¿¬RÍU+ÊÆIðœÆ$Ý 9Nn¥Æ+8'ˆÄìöd ›µ–3þ&#Óø&þ~f†KŽÜðá0(±‚M¡ÏTµjd÷8½ÑÍî?N#t!·íí¶žPúúrÍıÏׇÕó³’½‹pþzNU3á9ÿ,(ìæß’©O›8#‘ÒD&_¶u²ç¬ð1µ‡³K_’)¸Ô¹cÛ©*|¨ÀéÒ* 8L´óšÆKÐòkiÜiN´FR#aCÄ2€¨»öι·Ê2jS)*Qr2hcW,dÄ1¥ëaxÁZQ2•!ŸQ‰5>lÊ1ãdÛÕ: O¿N`“ÑìNJ>!,mÌd<îˆF㺩õô%ÇëTC&œë¤ èÊrD¡-ƒÐGP þv¡õ[„Tð8ž¿«„ ÝS%)“s×E,Öà(òvÖ’ÝÑVÓWt-u¯~•Å"*ÑœÞÏë$ÍqLùÁ=Æ–|¡ æ²âÁ°{2Ð˧”‡Ù‡³îˆ0qµ0†Õ$Ey8ò¹ ,ØAwùµ j‹£H‘€=~¾Õ|ì¶Æ?@6”´ªýÓ,}Xp¿¶,?"Ûà«èUÖ…_P_â´ýÝm‰_›Ô­ÄA.D@¤µÕ–®’pZûË ÍMªúœh_g³,J|Û#^þÈ)Ú\€q‘Šj dYEŒRùŸQέÅ^OêBð¯³ahÔNâ?òMñÛ;“Þßâ1¾tfb ägx6w(¬’­ˆNV¾,…E½"¼±tpupž¶ )ÎÍÃè[¼Lé—RZ.1Va±tÇö8>¾Õ9ÆÖÎËo+&Í"Ïô5ÜÜK¥¶`µ@Æ"Kmo z/j×sf*þý0O±“ïÜcàyd¥"Ê\]Ðû©ŠêŠ‘0"Õd»þ* 48»\YáåÇþþµs1Zé­ëàx¶zùuò5mÇê fâü¤æ – ø¹W ‹Ll…Âå‹ùT…¬ø“Ì%Ó2+IÔŽ«l½PÛÐ E3jŸU…‰p2N })¡ã2äüó‡©8p³vìœ8È£õžÉŸ"{Ó‚Å-¿õ겯—Ë Å6ÒÚþ‡9ÏHÞ*æt´ß×mw»†½«âvC9Âù‘œ+÷B:Ôl–žÇ$ïfÒKÌ¥6]þ¾è°¸‡® Ø)/B¸ÿ¯ ô-ÇÉ 448pÆ6“4azFÖ£ i\MŸö›pç-¶Ûø•ï0A ù¬1ƒàC£ BtدÆwO;.“kÑJ¦Ÿ5Èà  ìúÒÁUÆ=6 ­ÅŽxP8Köc€°ò9ѨüVPa;䘨ƒù€ ‡»mˆLÌð+ª¸>kUY…»= sóN sÑì§%òŽ4ötè³æ<¶@Æ"‰äe¯XÁ Ÿm»ÚÜØçXüµ¿`Ñ€(ìD×$ tH7ñÍáW±µ5æ Iúp¾ù%ˋ‘Z´™q/iWõé0±š¸CS?&èzÆÜZî8λ_9µBdG€n5ë¥\§+F¹lΉ_Ø|ódô %Šh®€{™·£ôÚ·Äl‘¢s½­Í”d¿ð0¿Þ&ø¹´k‹yb1Úyiv ½$KYGÆ*UÚ(R€q|cr³ëµPÿ¥;´lßXÌÎt‹Ž¢÷xU#Á*FéÕVá}i!9`yVöàÚµ²žêVÇí)”jµ."‹I:¥qž'8Ç v&ÿ•RŠêŽšÇš û<å<’XÙû¡VµámáÜëqÞÏ<†iÈ•Çx–òVìû“ÖçD¿îÌ |åÁ¸tÅuA¤`±ð%šc+^È®Ë÷cCûX2*Äd¾Pƒ…³ œîØTÉ0åD¸ŸVj9”ú›ÓuNñ‹Õqßíñ«PhÁV^)‰U†ý/lá"xÍ$¤^“a™Ôð„4ø¬n!fPNQÌPø :výǸüÎv£Ì˜V&z·Ê"–„ø†úrù±ï©©›8ë¸;¯Vu›ÓøÉŠð)z$ô¸"f»ï¨8shÏW³A]ÿ‹u-PŽùÛjôóÛ°xT6%†vë¼g‘•&M êØAI:·sœ¯Î'zºÁo(Ú8 Þ jÄ⪀Ï3‚»ÂAÔ¨915.xp­{‰a1øÎNÇ£4}Á4úµ0*j¯pI,0+Ç?¡ne mŠî[ŸÃ䋲Ø*j@¶Âú«ÚdFfäPÕ?Jí&´,š¸”ïËØYukê vï 0g”m¾¹²°•\'pqY6r4=œYÚ0¡X—ãÆϪ庖Õê ‹wÄîò6ý~;ÛKmž8fI[ÆÑ²Óy‰Nk@óÔ=&ÂÌ¿q\aŽ¡j¥;µo û†ÿ€r·­Vm@ŸðE-õ¨z宜/úÀc®å€‡H(€¾K<ʰ1`N\£¼ç7šÝ¾Ã˜"•Ó·I\Ò{É(•ÑÁù6€r Ûˆ£Í­TgU"Á®lµ¥;<¿£ Kù™À ¼¢®ÇRwÆä3üî$©•¦ ÔØ;¿›Î¹pdœÑ¨Ö ¹Eag„|ù¶3à³G<ÎR딪ãM¥lŸÅ£KA—ùº¨ŸÛÊ ;f:å} $ôÜ ¿¶–ÐŽóË¢Or?TZÌœ7Š>x’çöy q´í*•ˆàL›É 9Ú‰óa´ÑíŠ –•<aÆî±ØøÎÀôÖsˆ$'&‰xZ½ÎUë¶V‰.’%èã rsÀ»Ü•Uµ‡SA†qÄ7>×ÎU9®“([q¦‘­‹šò¢^• ©vú¦Ô4š¬çW£ƒ5J—²—KušoÇ6ƾ½}êú=jØl˜M¹ O Ýa\"VLŸ : ö3£øúrà‡ùÚçõìÍLµÓ‹ŸØ~` CåJT%€ÙL¼$»™ÝÓ4üIˆNœp©o´ã! XM§ñÛÂÅuîÜõf‰Bʧ,Ù¼—ÍÆ×õ”YÛ³3¾Vè°¼½gjfÎÇì\ºéÈ¡^«å*ŸùòNÕÙ;Eš×üF@QSG™xM:ϼÑF5èšûw6Gç5©Ç¸`¢sÓm…´{Üh*øqžÔÙP‘Û2¬#‰[©y1¢¤vñòîÔ †.‘{ÛO*Ê8ó@äËjX°ð ½E*ÝÌÔvîÿ*pQpÍ9Uý~:|ïî°º9êöˆCÞ‚×&$?VÓk“_f\€ù„¨ô¼  %Ÿfí^™Xj¾gËÓuгÖÿŸ³%¶w&xjâa¨•uOvl°¿Dâ2øÙ‚õñ¬s(DÕýº"Ÿ³XßBQ X%Àß¹Œ‰ð±#XøG€o[€3ÿ½ÌÆ;e~”4¡?xC ‡€dÜ0”à.µŸ$*ÚÈŠl5Èd¯¨çÊ;Ë Æ×GŸ~ÍñKbIJ¯>*ß0„ÚSºÞ'ô1rE;]rªÐû@‡zF¦ÈcÖ8I­«mÐà7®·(À”ÎUÌV*šÑ¦NâŸwg)œ´#{€@J¿/>š'‘S>¤ôzˆ²0j¦§icóNJq°ÎŠš]­°usö./æ0ʆ„¥øC×üËM^: ^±MÆç“\ì–>“t¾äßè «‚K˜Å™p rY†øÁ;»=‘4ãâý®ŽçXÃ**‹0ÃD }){¦†K]X_¥»L»Þ|™Æ”ô®lßÐä¦=Nj?-79DxÃz/¨xò½?$àcY†’Jíà AglB&ò®3qnª[㵤 „e“,>hÀæí{@ÝãåœsÊt¼ú~ÇB…$/T³’»îé*o¨ÇÁ·8ÊW×YOÖ­²Ð¨þ54<,ª7Öϲ2â=? âìù¨;üªŽ™í7\Öw5Ž\Ó ý/œ™´ÛÍÙq…®œ¬Š#x]÷RR•[ø¡ª$÷ãjo\T£NÈ„I•·jö×Ry ï·æÐíÁf»û¬d ŒcEû¯<ú÷Ýtë"UŸ(=óPV¿—nÉÜ–}qåäàWºfð\™Ö½Užûî/ÓÕGxªN)rÞŒOu,Óäï«õuf¸S¬xÖ0a(^óIÍ‹ÁÒì\|Î.?H¸@¤kÅ jâ 븄MMqsŒ¿3“ÚSï^iÀczƬúd˜$˜4érŠ·.ˆØhòŸ[:˜¬æc}§Eil"]s:q6”¥µtªñ—…%BaQ¼Üµì@ýl«381Æžtº8† K1ùBe»/ˆÍæ}þ€ø žg”05-‘…ÄT†Cæº>•‚üÒà×zBšÐgš spý~l0Lhü­–2Ü«Šy¬-#*ü5 å*‘ªûÿ (™)ê 'ÚLPË´¿ÕFι¼{ãU¹…D`뀻2wÎר4-c/õ³®LI”§CÉçÍ‹ª®gµ®xzóÇ*¸¸1h_.(û.I0eJ/ZO,Ñ÷H„ÞÅ  ʆY:Ÿ&uŠá§½õ”=äŒ ’~³Æ”²Pø8„¸{¿B3¢DQ&ö‹¶ñb#£±á¯õXf’YŒgW&PWg5= /ìßþ{\Ë"u´`›Ç’¼Œˆ ?ÃN8U‹ïM š ª#þQö¿´@oZ|üþl:X¤÷‡^0èSÂèÙ Øl¨@&QªíðÜ™]“yà#6Ê·qî‹*·÷,Q`D©þz¢ AmƒÝØ,bÈ •àn"õñâÔ ôºT2†·Ui¹£Tªy¥—ÓU°¹£$1ËyW~tüÑMD’ käùÃD.Œ¯t›gk ° KË«¶-É%N’ó«~ÿ¤a‘àô†ò Ÿeãÿ‰.b@sœbÓ†møTâäíœý àVãa   lAOñ"¦ž<å°P–ªz‚ó‡)•£?Žÿi½Œ‹ã>…}_¤¯!p*Èò«“‹VV@V\nƒCÑÞܨ=w¥XÑÉŠxgç›>Éh„Ë­âÙ¦Ð*¦ü™öRmò|’å i X+}E|Àš±‡(x·TÊ–ÆHÌ HÉ®Á¿œ •¦dÉR!~'}£Æ‰ñI"f~{݃éŠÁHý%K¤í£zéð¨øÆ’OÉ…–¨W¯ŒèÃÆ¹\ ¡ˆ™“øޱ«¢Ð×”(½ ¬¢'±„íMpŒ‘VÙÆ¸é·Ù 5R†xÎ}$ëuÏ´¹DýTh?©î- <÷úö¡b½xíÒkÐð²-¶„7ÑóªÇm[y.¿|þ³Üàˆ å:ذåùãÒCFO–M׈N¬Dâ)¶?l½.¬ t:#R\£ñ0;;ˆ©ö±Ï°´ŸpFÚûzUÌðßÙ{€`åU0÷ó€Òß¼…F@¼ia›mZÀ ŸÀÛßi½ƒ–”Äy˜Îd+â~Q#c·Ó܇1 ï@e2œŠl Ž˜JÅèvþí⺘Äú]þ¶œF:¸4dÔ¶‰ôéno—Bqe7€ãò—ñ·¹ìT›´šɦ•j3Ãô `ëHKªQøwçîšú"ØôM¨"¯†±Å¡Ñc‹‡{k– iJT¨¶œ5¶`8™Rä¥âƒ( cèwh®&TëV«ga/\4Ä0a7¯PðÎßûƒ¢§9»£#6ü^²Ã“à‡¨vI¬Ã½ŠÂ“QýæJ»jx6ü¡q5U—cq'{Ñ©¼)~ùy—©ªF‚è.òϾ\Zw‘àu% I¬;×tLÜO²«nª1‹U¶:J‹éH×*%#Ñ}«$2·bQ,¶Ýšld(€dökûÙYÂ3®í”ÊžÍj5°ä!„¾Â‘r‚œ…uç(’óûG&»„—“C\Wk'R LS=5Ç"¬1ÑÆ›ëÖXLôW‘Äø3t©h~íhWnú(>7f­Â£ü.Tk̴϶¸(o3Ç­|zzÁP¾q§|jzdS¥…[e_½fÑçéÉèÔÕBùîCdqÃVtÎ!­Û vØÎT'l»œœ8ÔÇð'Ž—¦5"¿ñ=‡(ÂJµöÀÀvx=.g½æÊÂήug¹»;7Èß&óüI"—æ ]ïß4¿˜mÒÉY¢y|˜s#2J9,ë¥çÒþºeeÕ.”i¨PÜ¥§÷ι%·M¡œ@N7§“\ú¼È›‚AÃ$ËwŒDiÿ_—ä·Ô0lÙ¯œ(¡ ή{õ7zó|í3ÇÅ.ê±jc"R¨‹ßš]÷«P3vºm?ÓB-èðЦç’ÇbG™ÿJW&•nÊ"œE ƒ(¥s¬¿xšüß7;Û­á:¶Ç6ÇÕÃ~ALÛî—K²~1hê†wr?@×¶°½²?í IÅ/áuÂòÝíµÈr˜±" —ĆqCX…¸1¸“3iÚ‚uÝŽs)Îm ÂLëfað‡ ÍÀÁ³Þj³S ¸¶XÐ ÁõÑþ˜Ô{FG ÐG'@”§·¼cZxÇåúÛq>/Ú‡=Á•oAá+³ivÈ¿¤{©2aŽÙƒ60XÑʦ–®,º´NÌéU¦ÌÔÏJvxfQÙst2c¤—(ZÈ÷Õ•CÞ¨©ànзf d˜ë“w–…ÕÑ2I,µ¼K§²)ªï®íë#$ÊÚÜú¾·Þ"8OFˆZÙâŽíà/錯Œ±EÏ!ÿÆy¸ÎÊÖi >\]ˆ‹Zï3S‰ôò|Ó+€b“U›‚_ÍòDAˆ°@H9@^èU.ƒ««4aËEì³Eæ ñ´0^Ø"Jír”Êæ|s'Àh­üüöa#JNñ/|Á]Ÿ7v^¢ºudtß8 ïÂ^ĺÔTÏß>˜®a³<<Ó/ó¸ß‘hü5b*µ¦'›ø*¨z¨ï~ìÝ1ŽéSìëØÅ¤ @†Ëñ|´iåV†Áט„Ð]ß·ðõ×t‰ÈÖ̆´Åý¦tžMñ¢¼ÚÿÆå)ã…¨òtÇ.å`Ĭˆ„HÙÒ»w&e¢*6;:Xøw-Dm'‰*6˜µ5ºÀF~š\ânÕü¹/˜öU˜Ñö?1 ™ä˜-Ís#é' ƒ^ƒøÿæîq&æp™ åðü´²(3-1×s¶4_¤kE/N¨>àìÀ'ÞVW2_2y ·i¨øÜ`ÿ²qCÆ0ÙàÜkîÇ8á%ÚÛpš=®ÕõØ}9F6D­$MR¢%­MÉÇÎt®LöƒFýľ—$'Õšì³#›¿'¦`p)±áÊDò¢Q•F{S÷Æa=K˜X÷vŠñd©ŽêÀÝ|1Œ„x~‘lݦ‘èªx XÐëOUP/PŒí¸ ÿ6dqÿ)Xà;9*”ÞÃ:Ì»˜®“·•Kû‘žjÐ3¸ôèƒ ÿc ›„" GW°t²…ízi¤  ÔÕ@¶"Ç„¿âæ‹£¯p-B¸‡ZØV±“Ñ ?8ËÁ<ÕBoÒ½Í&ËOà'œKçK‚ÿ“toçÞæ¹±>¾ ÉB³è2‡N1N½"Í2¯ÖïÖÌüöÙô…i䋚…{©äå*׬H«¯â ˜Fsö\¼dàùå¯1ä/™Ç\/þ§=»~ñƒ­bÓnž:¥Ð×m•Ü>ÐùúÙ„žHLÅ>Û1jV,‹:b_iûà¢w•kèÜoQ§ËÙã‹a08w Nfpé¿lî¤\vƒKJ—d=¼ô"büJd/ÓЅ±¥§·­‰Í†azâL„Ú?=…]žÊ–„ ¶ {# f‘&]¯ïè‡Üþ낯$èþÁ¥z«qÁÛ®-›»§O€¿8j°òÌT ºVŒy©ZFÍ-;ê¤D¼ñÙ6rbÚ¨f)†8ÔJ)‹o - œôQÎÄe¢5I¡ïš²qc¨lÖ ¿¨x·kÙ+Ï“(ù!²#mVZXæOÎwßè$¹ó½ðß3Ƨ[_¢½[$ÑÃxXəȈù›üo‰ ‘ Ɖ™§ SëbU£I·GRG¾›on*ÇÛ “ßNŽÛ‡®­!17°?½_¸U¾U;a³ä˯udñ™ N JýÖÍþ€C‘8¾VŸ>¸ôY—§„s¯gZ› N¹z; ¿hLÚ×K÷]yÏM3im©9 â7C–Á…6'D2\kä¡WæÎîâÆUZ¯$¹³ƒí—n‚éhÛRžÝžCÔTáé ÅÄ•4ÇwE§]¤±Ò€vlë³EUþà =}¶Ñ}f™ÂjVn­W7èèï(|hÀV».ÜpѺÀO”åÔínr¶É´M§ä`»ok¡_õØ•/MÎðÉ"ÃĶ z ÒMú¹Îò§L‘K üµÕLˆËq"$CÁç–Ç+(#Fv% w%Céd×¢—z)Nì?5‹[H†#†Iµ$ø6!ÍTµùqõÿò2ý=\¡bŸ„àP=‹ù´TÄ{‘K:j¥ëa–$vH¥§ÓÉäÊóÙ¥#pEïø³å€Öw¨9\÷ãj{®7Õ1Aºu|ç=fÊò4ßÌ<­¾Ô<Ωã›àhÏŠ<Kùùµr’¯ñ¬JeM®m½Ø8‹‚À¯9:5[¹xùQXiEiwßÌëhâöÏí·îN5Ž:À1‘…£°520ø«[Ë)|ÂÛ]&ƒ`xÉkŽŽ™¾ɾX܃Ù;ᩞßAjV×]Mvø*Ÿ’MÁpthöšsÜbŸ q&¡ „,$Ý»ÊzÃu>æ7œ;ÃüuV¡ý}–6ýO¿ÒãCå^^¨çI[p­”0ÒZÑT¾z,m¶—ñͺ§ìwÜ­¥ìrcRí–×¼k*rp„nJC'f‘†u§dßÒÀv(­u<Ë1Ìåêr nf ­àŽ-@¥!ÌYÈyzJNòUñ|³i÷²VÖA«QÇB`©"½™FÛ˜X¢ÅЇgŽó†¹/Þƒ'$,jêÆÖÓ(³ŠBªº:Þb^{µ8}*Z´¢”"Ûú¿‡úYœD´yàd:³’k8òb9@Ê«¯$Ï;t0vÍÕ€Ý7¶^2z/EW†™1Œ\à‚ bÀ¬ðihãýûàÆ•"Ç^Äüî=L¹6ýå’Ä0⫬•ÉUPLS%d,ú€žz/1Ç—¦/T£øÅCÄ–³"²0yO˜ÄýxŒWùVƒm|=B¸€°G†€’§ßʧ·©{6ZLÓñcI¥]’\UZOýÜnë"]2`„.–&œ†ÓmêŽð4<%=)FÆFÃìmâUI‡+H)dŸ•àÒëOäåTŒ%N ySî!¶ÂÓeD 4𳯩)âUõ]Bà°ÙÊì£N³t Œö1™gRl(”É ;yÔ$àh:a¯Ó<{-¿]õ“øé®.0->òBÊL Î;“ Ó[܈ÏëÖ“ {®L^Y[MæL_"'…àîQ ³ÓäêY'e(3 j掮ÑÓCw%_£Úð¹yÖˆ2#û]úQjšÃ\ØbšŸœœ7 yPfwýŸÞ[ôcöùÀCê„7pãçI ¬¨¸ŠB?ÍÕÆEºCmø!CÈŒò¬Þlï$Ál¡8U‹m³éF !Rþb‡óÁµ‹òW©íb¯´12Ý %|ý@‹ëåIÖãÉÉK8Ä8¶j!z[ž*8¢Ùî’"©×ZA-ÍÁJi¸ é!ÒrüÏÑîbÊUhÊôM‡6 Z[ˆZ¾n9*"HÂ4»AïU‰šuï²Ì³V¦[_«4Zw¬g{é%5V{²Š‡Y€Þ…d¸Šˆþ/6”y·\ C,Ý{š *ðïÜ7C lGªAÐ[íÏônHÍ`´Y7€_žæЬ±®l€e(ÓøÎM°î"§»0ßøýËÊÛ/[±QŒ~Váîð SŒ"pa5ª•Ëú®~z4„³W0hìHâ‰Âwö&ÝõGüE¬PŠÚa™Z´Î"Ä’–ûÍ!6Æ­£èßñʛů WG0ÑË&Ä弯À ûQSAíË,¨ðéTï?¡"ƬzbØlòçüKX_` \‡Âµü÷¤ýLBéÍgWÁØUî^eø”³Ö… }/Fqê0í‡ à³ÇédeõÎHm©n¶ôðbåí¤÷°÷W¶¤•‰4d¯ýKØ[\~¢@7^îÄ.K'ý.˜Ñ]Q™r[£§ÓXB¿>BvüË í©ƒˆÍÆ‹åŽ(޳t}$Iõb$ôÜ{¹ŸËŠ$”òzÌ«H‹’IQ[][mbrVÞ½·–‰ì˜ãf>Ï-¾ lú¹O m˜tè”i”E"šå1þ´jqÁz«V2nó»EoI¦™r@ê^–á?Ï6 åT™é¸‹9GËÈ$nŠÿÚJÄñÚEÄÌcfà«Õ…¶†,¤äPöG.2×»vÔXì¢âàzž÷=e.{>^øž°Û)Oxå6«çx˜©ÇðZÔÝkÐÀ³Tm‹þ8›xÖxüðCB„í@àZ"´ÊnZ°^]ѵš¸ŸKõ4Lj™ÇÖ J¸–Ž—qnêai·ºßè$ ¿k2¬öñ<ŸØJg·×ö×ß÷AFhûš:«ÝÔô\øìø¯ß™8ÝÇݺ4"¸6SE\˸˜ ‡Çêî&g=·Â–­«}ÐÌ.ª—lG­ïàÑÅ|Õ ²Eió)ß}zÀ ïXmÊO¿<—Bç< |ôÌ èN•]húÕô*=hâ@ï¢í?.-©^¾bµÂñ oÏÿØ « QþT¥”DbÔ­; ×…¬«£UdúbOn°„uG«,uf¥q&sEX[<ÂÇ®ÇSãø¨]Ì®y]@‡Š° óq ØBóé+3 Ö,W tÍaoŸ·ÐYÃP‰:2¦ÔªBæÛ¥Æ-¿òd¹oVò¦Æ.›Õ˜£¥C¬¤ O®øK¦n¥£ybáÊe„À*)De]^³Ç«àÓ ÷t¬ÿ1_„b"Ÿ4 …q^sÜ£ß:6#ŒR?÷Yýìç /‘ÌJ) &þ:ô žde×9>ã©á¨GÚ>-X„ÜȪÖhœòߨp³X‘ ùЇ§%Yê1úš‚&ñÓ)!°ÅA— ›#m”ø[ºxu2u<JüÎØ:èæ¦Ó3niIçì2áÜ<©Óz ˜ ²ìèÎ!ž"P2¤º¬»@ˆëLjÙb²Èq↋•IuƄư–¥Ã@ú‚¼Õœ€}:+2á¯ë츽á êUÓ`Á³ïú€¤h˜YIS÷º ™E§ÏÓ‚Žpê’5ê±q?C â¾´™8–•F¨ü Yå[² oaˆÅwr0{Š'»}Oùgóì“D|ÿ¬‘‡· ç W\¢¢ÂÕeœLx½5$äK¨ÒJÓn.ýËù*-À!sVC[œò*§ÕY—”C‚ÙÆ´. #¡6\íxzOý*Z NZý â¹3Þ=ê,Ô†å8RŸýÃñ³÷h·‡×Gnã™l\Õø|x™P.VŒ€J5¤ÞW¦¤Ô¶ ÝZE;é8@*F<ÛífŠ×&€ôŸÑ»Z*Hóæ-ký‰¤ú’ôrLâÑÔã¶C¦ ]å6^ÑÏ—O-=ê–àØOYË~{½ùÚ÷<­ ¿³£5úGNhak¸­88-Mµ‡.©WÀ9WÚù0Ü÷)Ãó´ÙíRñ­kŽ+­™ÿ‰´3 /k´À*uVbp§qÃj ªnžwè¤&o;m¬ÀßÛI<°:ï‰UÓIšöl넽^ÚÎF S7üU+Ý?KVï ŠÉÚ%X}§®F@ÑLeºíŽ:ûMLÆMº…€ $èWS Al”ŠO¹½¤Ø³v3õ%¾^…>B’5^áxƒúÌ$je15¤žÅH3íYs}AuèBƒ+0·öàÜG"ê™,ÎhÀ*ž0Þ$ŒòÓËÿáDk믘>®˜ßEûÖûæclHb"¨½ŠY–cÎúú$WQ=§ÑPÆÇd‰Ñšq°©µ{á¬ØùxV‡Ìè½!C®N®I͸ { }§ÍLRÓùsKŒy~ëÀä5“‰©§³ßBÅ/°êcFÎ’•;˜¬8ççhÛÎC奂tÎç”|°·{¬’÷Ž%jž¨d¢WH(ô!òbò¿ÁáËWWžF3ëÌÁÒ_9€€bm¹W,úiÛžµøV³ùƒY=ÄÕ¹wô¤Î@C÷j?C5»ž²@ó²Å?ö7$IöÒ¼¹40xBã¡]‰3WàØO =8ºðu‡´`a´N ^sgX`ÀÛg›,ztB¤Wƒmùeý9T oƒj2(c)ÞS´à\tC.6—ãT¢ïð{áU5/š¢ˆ,Q@,cb°â=ô6š:…Á'5‚Ú‡ë ÏÎÚú!¢9%BY¬[¨8ßmq}0Ú•×¥C‡Ã1L¥JÄÿ»mï®:,ÑÃSK®º÷z¤:g¹;z9èYd®U Éwñrk3{ò´Îh§Šø¢F›.ÜÏÛx NÒ­ü?97Ri)WµææCB笆A3œå|¿Ïò¸ÇŒÇ^4lhÙl·òÎIêw%ÑA²ª–.×7z`îã³óÙì{²õ™lƒ:Ëè:-¿ñS ¥;8ÿØtØ+U_ö4;IÉ'ÐßùX¶BðOØ›-µæÅ0Þ¬²/AC“uœæXLõÖüþš’*×Þ [SƒI] €ý~¨ŠÇY!/}>Õ«›œ-› bL е1¼òiûb¤eª:îAA†åTÚ$,÷È—ÀÓMa­vâí| Ð-T Ùn”€},DŽJg°œmf+sˆÅH:{WAéÈN؈O¶%˜¾î’¾M÷ûCñ hƒ²­0žµy¥\Là«ÏÛ˜P…„$rx4Rvµµ®ƒCV†RúŽbü<¹ÙŽ<\¢Ô#±g­‡ŠÞ+¯l7’ž¢eù»9 3a¯×•AþÔCÛûèK¤TŠæ“ØU‰¥ífFÈ«_j(Ö²@‡ôôóÆ(°fP­®8âG¶ŽPª=‹¼KgD®Ž¯ˆtX¨›ªnÞû\Õ æð½0vɢLJo’e¤ÊÕ·ìAu 4æz™ÞÄÇ苪 ó_–З\g×òÛF';.:¤š0%93Òµ8u1=œR$dÉ~€a{’¿¡xNÊ­Âëo¢7§ªqtQ„W. °@’ ,‹¿fðˆº}˜ñê]@»ñs©¾ü#æ2)â8î*ËfvèÙáRköœPp8Ç0·©ŸFQ¢ÜÖ’´DZ0þ1–>ß›£âÊ€è?%2Õ1 ÿûŒ~^eÖ; Xð1axý—½â#.6A4ç¼ß#éŸ[`µf¡9FÑèƒô9)¶0M5)SX×2a„ÀÃÕi‘…ÖkH³íô~¤;”ÐP\|*cFÝíÿŸ˜v‹š¥U\N½)Ï%u‹PeƒtïpBÈÐô0SÙuBëS`Ôh2†€ç*sçxÉ¿÷si;®\»pÚ9žÑ*)á„=Žùæ8"y%E!_C–Ëy;ÚÖ Û-þüM±cÇ¡u»MW«ô¦¶¡4·Â8ΊÁÕ5`äf®î„sTí®êVÛšèªgã~„{“Z_†ôl[ú^:”¨*Ç—Š>{ÚŠ·ô(Ú£lã¿ ÏÁEr—>›‡b-Þ˜¢Û*žZט엹fs¨¯ä.GèØoá™ØÑTøËÉ'ÅÇÌb*R@0ë­±Ô#¿ø¡–ü,äÙ¾‡AÌZþ$Ôô{+à€{Ýèú@ÏVb[ÕpÛˇõaÜw°ˆ‰Ú$óÕ£Ô–…g3ʤ¢(Ïç÷Õ¹ú‡J¯’qÀ¢¾yÌ«[i%9ì¾Vulmq¡tÅ=¹X|Ó‚ÜjöJzqÑå<^²â"š>2›huíß,0*³ôU?n?ñsonÁ·¢$ƒRqõxîPþ™5¡÷ª(ØI™ΠŲ$<„-}(ë·Þd¶õkÍrdI7ež•Ç›‘¹Ô¦»Ì#–VËCÂ*,¿ƒ˜gú oÈ™@6©¸ÝZPÀ[Ùù‚¯ðKdÞ)J”–>kô鯞”½fuÿôõèÄ8´ 6ÛùÈCÐÙ? æêUØØ“ƒ_juKLÏr[ò\±é §3ùTWޝL`z½Ú R„LTd©n씣– ÉÂ8áõá¯ZÓ ´÷ÿ“¦Dìʉ.°/X/û ßy]´)h `¼RH}ÓP¦M¬×ÈB óãÿ“ÐtŸñ?“vT7P¬D<ËçÖÒ]³c;·õJ¶Ü.ñÀQN‡M½´œ^h€Ÿx'‚ÇémWÞ¨·ÀqFHãs½¢´c¬Ï]-­ °¯qT¶µGKLbé°Ø'vûÃÕs>QÀËþ°šZ‘Æ¡SÂÛ‹"ÔeA3¹ò¡D’ ‘RÂiò‹/´ªÆÚ ާðo=íún<#YësÔ3µ/–iŸ¤/uÑÒ, Ù½ã9ñÊŠÀ®âqS"g<–§œaPáFøîôÚiJfU׉, *e®ðzðG‹Åü¶žIÜ,ƒÑÞVh¿ç8× ˜¶W…õ²YƒìrÈwciòÿsn¶Y·9H$Lšeûs¨ œ”¨¡¶—HÓPrÙbËŠÇ p†2G‚GÁe›KR"Äñ×! )ÆiÅrzÐÞ¿¿U›_×þ:µ™Ý xpé MOMƒÙì>±!FW³N[²>3]ÔbôFÔoÓCù#ZþáŽý1ö‘Ù,Ï\˜;¶tË̓/›âNÌ]›½º¬-ØÚŒîL§GžÈÔ£ñh™ áãµ€O¯ËÆ9[?˦îNN«uŽ“Úö†tGÕýoc] ³òaPû‰µŽ±ùl?Š›ÇëœïtˆÙ`^Ô¬gÀeÍVò™z°NW0cN"xöEC2Mµ2Ú7Z}™9ˆ4¾u§À¬=]Æû àa´‡¯òhiÈ N¯ÑÞ;ï",ƒUÅ v»Ý7@-˜dǨYù¾æžGùPou´½jœš³ª:fÛџ7„žEM¤4Ìÿ³È:ÿÌyŽ*ñ×+«nðFWš$”«_ho{ª#õ Þ¶|û!¾‚}È8½â—*E©}Ù3§ªÇ-gŽ+/q˜çü†&të^ü€:µÆÄ$Š_,‡”ØXêï‘ÂË0óµ=d‰ÿ\rz`ƒtw6™÷3¨ŽJAL„€~Ž_ß›““‡x/lÛõÔ3U™éè*©CÔŽ¤7ZϘ$åus„öb‡‘^ȲÝp7t˜#j¢1öâu7A†­è´FQmtä@œï¤h‘ Øöñ˜Çè'"ˆIþÏ ãÌeµï “#éE‰øÝy=e3À‡âƒvÎO±`°SZ §ê|\ñûoVÐ-ª¹^¹Æê›ZtLèDAð7«ùÈÕï&Eu¥©N"RPçy\ŽËüº%yð¸nUUÏÏJH¾CÏä·‰óÿ–êœæˆÔ¹’4š.éòÅÁMär|Vš³[}-G@[úå•wýGñ^r{ðõWk£ŃBÖ5—¬û•8¤$wÄ|+6!á¨d–Äâ®Ó/(÷-àn¸ªkÕãà”Å.¬³±_Ïõ¥¸œ·p`øåžˆ]^“›™ä‹]ðº¨>~—:³À5Â0=QIãòÒˆï%[Èõá—ˆù$%bØ;KIe(šÎ-vŒàªUQp'ØiÏ0bó.;èÃâï®–äDP 7,ðzµ Hø;Ø÷ß§^ßlòBvÌN~Ÿ¬h¾ü‡ -‘… e e.¶Þ OñnÆN82,Œ¼9´›±–ö÷.Èb„[ ÊÖÁ,~ôÛ˃á•WÑ]• Þ/±(ã#¢÷lhÕ'œÇž)î¹*Ú†ÿªŠ!„mY½< í jfi„A’ 6ºg=¯€•á€aÆš)ØüĹùW^Ñ Î ˆÑü’ðˆžê»[J ª¯êÈé1¢ƒy¤ÇµXB]‰d1[âÝËļ ®Å “·Ô_Œ$ÎZÂÙÖݶ³-Û‡(ÃK.’lùÑ-í>"J–>o·ÃcJv‰ýö:•SÏZŠaj Fd_+Y Ô‹æ8ÀòªÇ­ôƒ\! ò]e8›ÄlôTKÑ'p0-ÕM L[ì ܧÌ<6d¸Û 5¬†Ö]Ú¿p:\œ/yX0—¢ð®p"ô<ŸAezÏf{«€Gªh0äÔê51ÁŠœzpwü[<·.Ç"Ä—#>ÇÌI Þ¬ã?Æ`a›ˆhBƒS*Wnp× *pÝÔhåꨋµ/‹dS@T ò­¿3é¤üü»¿Ñv¸úÅð`¼–‘–ñj ³h œí><ó'°haužŠ§ê¿{ßýV…¯Ä•ðoµïôí1ÄÉÓfÙê"u‘€§6]½ÞÁ‚:ÁÐ#P9-Ž›s¢Rks3Z™Í׃$.m‘ÚÖª9…¶Ú1{r¤““„*q&óï’M8ךÄÅzn%68¹éõd¨0œ÷†üô,ˆ<×{:H–+f5¡ó'ömÌN…?©Éõuž/Ù-Nã_yk¹ íд¡N’wüö¤i~nó^åÙµsR'K/¢ðl9›&ñJ÷nF/Z+%ÁÈÉäªÙ«-ºÉ›Ñ£Î·ÌÕ4j¨L¯rj†)cL«¦»ûNSA¿‰”À ô‡÷åg— ôÎèIma‘Dû>­KðÇ)-ív¹ÔMï38-Ÿ††ÈÚ’ëú“}…7d­4±¥UI’L4FLÇ”OÂI¦ÙQòPÎÉ“ý\ònãÿZ©;EtÎ.òÎÁÙ¦ËòôP*‚lÇ©‚Atʣ劇Æh(þDéįÓqù‰Cr±¿‹v±à½ÿê’F‡ù'i¶|3|&I•ŽéŠsœá?xââìÖfØàm\ MÒŸÿ¾L Cµ‡Ë =2Ét<Ñ Þrâ”Y­/¼ô%‚®ôWF0J/÷W‹Ï¡Á"¯?R‡IÎfpln]½ž¢ËÝÔèP5SÚy¼,‹W 埽¤÷bÄøí]d‹–{­•„îwÝ%½sQ§%•ýgäŒÈÉØKu$=…Ÿõ[Òúý}‡ðޤ3³´¨ÒήŠÁL‘Áz;‹Sаg?L½O¤mˆ*ß&YÌFún±PuT åÿ†wÉÜuczŒªS܇ÙûÚ“2òÏRºqú ¬ZbŸ$ÇÓóXy´ùü?Ùªbl½˜ROŒ ×¹0N³8Ûsâ A*tŠ8?®g ëZؤ3¼¾ëNgÎ5äXœ¥¶dƒ"ÿV\âêì–s¡¿Ýeö+¦^qØg­äÄ®YP?¤ ÀBš4Ðï=FÇ x—àzÖ¥/Ô ”¢X-ï,˜)®Bá.ÞØ›Ed³•^Aö\rç߯¤ÞÆŒt­;Eö&~$ãß,p‰9º<Œöiã@S¬yx Ú(ôM )Õ9K"åVÂfflöÌ0P"¾“jËÛ,)^ð/á¹è1c"Ààð‘ïÈJ/¨'KX Þîq—¸¸‚¸»@–;h+>eMÊ£ñ¢„³üy4‹8`uŽˆ[Ò·NÞuUoïPe°8ý“âWdšƒ+áU‡­_g7×w÷0å§ fU@c‚qtÓQJ:Um¯¸¤³GÉ7f›èµ·q§P€ ïÔŠ|©^Ã¥"üÏ„A‘`Ø•(õÏ:¥‰Lïl\_˜Ü“ÐBˆ¥utÏñÞÈŠ„’ÄŠôLã7¹еMåß Å2*þ=ð*ÃôšžÐ2óuÇ/ޣ׏k2òÁužÝŒxñÞi¨GâÿÛoÑ1Ù&±5¼ÙÒð+¦»ãI»4W,ÖE½o¾–°-%ÎQà #ÌÆ`Sö ÑcÕKHgZ¼n§yëÙw Ê>ßmðS=~3aC`öâà–¼Ø³™Úˆ¹K¬f°ä`è<(=J‰¶Öá1ªhÌ›1Rœc)|œ»ŒmÖ r QÆ*¶—LÙòÈk/¸·§¨gü°àºÃbÏ;íRPŒ˜'§Ñ²»n´>+Æ-?\“”—¾°—/’vDÜA¢zvÚÿ5‹ø•àn7g÷‰Ý“¨ü³Xx%[WR†rd2NW† t­­Ÿ•‡”·Éœ¼•í¨kUp½j€v²¨3Ñ2&ãË2åhúsé„ó HL v53 ÀÚZ1ÞÑ7U¨™(âW>/ 6 ’mhÍ8BY>TtɼâCK)Y ¹)Ü1#Øcùر†KËKükJmb…†þWG·×£—èRÃ\n¤~ô4µàõ]öÍbÚçˆ1Ï6ÁÐW—ŽlSxbêsÞúÆK2‚ë`SKúö_|t½ƒúƒ¿^%©j4ð±çÇdúF«dþh°Ê˜ƒôëµñ×!Rî!“¶……r‰Dêä‰m7ã¬&ãºÉüSɬ4å3°á´qg¨~…䟕&Õ&%sØ;€ç‚Q'7š=xö–ž­Œ)ØÎ¶(Œ´ó`–;vê9žÊ¶8kQ²‘9דxž»‡Äíî¶ëhfni£Oް°’ä@ªk³[–ö x†ô‘VJ@4ƒ«u3Ä)IäôÌÍG%Viœ¼T)¡žt[t$¸.kÙ¥lZhö 7X-üéÀÊyeîH„°$…)­^,'ÒM¸DE¤qs«M8·ûùa(§ÆÏ"ö´(¶òëp½§€—¥ÌæöTŠ%rÁ+2ÆV/CàöÈ>ŸÄßCѬÆXÓp§……wćòäK÷÷´_\ÐŒv9W×êÙÆM^?Tl)œ°p`šUs_fÁF|³Òê$ðP¯ VÁ”b{BF²Î"Hyÿööj&=!ßêèi㫵‹…‹Ô»÷0!Á* (¦ÁIÁ˜ÞQævO¿Ù[³^ÃP¯1¶…á—r¶nrmó—G©MÇ'UÓUÖî!ÝÚèea\*«éMe$Ï×Ú>¾áöz²ÍÃwâ^²’¦&WNÇÊ·|¹yrI0òdòÙ’æÚ‚0@ÐdùÆ®¡ËGx²¨´ZËn•Ûš›¥Ãf[å¸ÓWpä©ü¿s‘ÁŸ é—†­–MKU?³dºÆh&“µåT uq]:Úµ»\—M„²åû(* tØ8‰É­BÑ%„ÄÇ_jÊ\-ªšã'ƒýÈäÉ‘ ¼K B r‡û‡K€K„]ä=Óšjm,‘;Ö˜>…è,‚‰_HR6Ø&V „<…×G#pÄ.¶í´À«8”·Ûãþ2Eÿð7#:ç~„ªµ'–¾›ÂÕ_‹ÄøÓ´7ô‘`Tsó¸ Rzý^¡4XsömBjZÍpÐ1‰E6>pnÍ¥švè.¬^;¬xDŒæÏóÀgvÆjÿ[ B7V°†uî‡Y‡¸¿qš(Û»’ÕëÃRW¹3æ~WÃìÇ»T¥.eZ¥+l9µó„[t{¦‹Û¾¦v-N (kUÄsЙ/¾/]Ú¿¹ ¿äh7±fYИ*öñ ó,µø¿7¦wkpæ·Òj­@ýv)IŠ1©­2C² ¼h—4×sÎNL¨¸,µã“”\öái ™Å8¯Õ㋞­þú.¼Ûþ™¨»H7ì/ƨÇ%¡Uøò.ýP“»ÌZèRB(„­ùÚ<íqÄҌٙSߢåI×BÊS"‰YpH‡u[XÄ;ˆ]},„—ñþÎF-ó(#û8Âöoz³¥Š|Ò!Ô…¿}zñ!RîаUF (¡“È/°Rn?7QÀHJïaCoTãÛ¥Kƒml°x0~½¥žÓÍ—N¶Ã­EÁO _ì‚Ñ{– ±^xÚµÉíkO'ú ^$J¿êì¶Ÿ¥Mo²Ò¦êÙûu®lÁó_ïg5غ¦ÌÄ6 ­’Û·ÅTæ2÷=KÑúsè§œ]aG—³<Äwí›í\N6r*. FqµÙÉzY¹(…Ê©ù¾*®ù§Ë3ùÔ Á;œB 7,¡ñ»åû~¬QRŽÈæŸCëÍ(qÙ#Î1|¼ Xý#6‘v~bç y?Ž—)C¡ìÆzÒU?ÿïBQ–¬æßá‰0Ï.SYrÚâ*j‡æøQ¶g<3IÁW–!ʪÖ+y?¼sƒîöѯƒœàü-ï½.ØEìy *æ…5[(Iˆ—áu—¤0a7<æI³Áߣ›žÊ¦铈ÛµaVº¼C$íïs]@$UÿY®ß™´¬[RjçùÛé¼j–’G)‰ÐåôGâ¸DÃgkÕ'É2"<@ È%—á .Ÿ6Ô~⸌paXGþª}Só!Ç IÈI¡¯Kèí1KøÉÏ4œKeîWĦå/x« ]æ«Tãø~ƵÊÍÝ8 yù­ÊBÖí³€êÏÖù8§wék%¸ÃÑùò¹E]%xoYjNÅ-̹éŒZíLÇL™ ÙØî>d[ݵ€«Æ<^„'ÓÑZª¡Âˆ®Óµ‹WËu‚Sò4—|b§øÙ@üõöÚ[,¦âš'æ HüyŽ–8ºqHPÁ¸ø>¼?oç×>y¬ý•+7¢@‚ïRÝwW”2w¬SdÚ„L*¸¿õgFÓïÆÒOºyâc¤‚âŽÈPïv¡,=œÏ,+1¹„è¹äW‰ÉJU&[ÛÆ‰ ©Xök!!ÄÆ¢á:Ô‡#˜½[U†BEà}N-)è!ù½Á#“æ?U¾*~Eë)ªcœXñŽ9>Âʽª2#…¹7.–2|£çØ,ň ©V¼ÏÆÿ]ªYn…dÆ<' Ê¤§0$Í.ºÖ0TϺ‹¸×3ˆ‡q°ÕÍøP‘iìºd=I«  Uxv/5饜õ¼±ZXþJÂЉ$a*æü„ög°)G•Ù¬áw «Én9o2s™ãRG£ÔêVñ’³‘‘¼M¶(ê¥ÂõÊ®ªŠtÓ©ª°Âê…$ZP·´\WRá`ñYÂ5ô¥Šãªx‹ž›6@Dˆô(»Ì"þË!ýس‹êP;³Ò½4Hº*ºÔÎxE&÷÷FйÕÏ\:¡af@>…ó×ÎØÂ.³í£t¶â(¡³nR›…CE€Jrǧðî8¦àEú.64Q.‹7è€= Ìå©EŠ ì;Ò¨ŽžÂ£ùe°ÌyÁëJŸǨ}lþ\èœ@¯Bd K{"\‚*·Û/PŒíä`j˜”7`:uÂIYò3tŽè@¨N‰ªPmÕ”þàe‡R®ˆû²;º¹¬+æ‹þˆu©nC567"¤|?â~„Çr>È'ÛdÐä½Ö×5KpFÂÀç« çPÜ®ú_YšÜý3“ˆãD5‰–ót›Ü-˜ìÍ0k D'¦rÙmws5t6•÷™|nÛ¿wl ìbçu¼[cv׳N þZ¼V!°-'@BkÚê¨/ýÿ±v–]2RlOã‚€;¡@@1É6z5§3¢Í‡Á8ë;㕤U«–/EåXQ Û'c8Qê+©b ;îš} bSÌñ%èÛo$ÊR¼†¶c}ù:ÅÌQ­#À‡$â°Û¡7ä|]hJà#¦õQc»„š)UkÕ×ÌêÍ@kYô”%WÒû‚'ºÉõ³æ þSŸ´w"( CPð~ÛGí²F´MYÙU¼ÛøOpÿ¨Xs úÂ-«ÅÄŠsb³ ï¸s—Àó“µN'4ÃãÞ*úÐ# …v|”.ɸíåwPÍ/6‡º®Öæáê}™0T|ÎyÊMÊf€ï |j ëÜ™ŽÓ[lùõ{ \T³Ñš@çÀÿ›_´²›«Ç|æ(³¡¶R~útu€¤5Ÿü¥ÄO3 ¹PGv—†F‰†9×O¬ö\‰ùÊ%ÆpnªŠ^±ynL‚Ô(óŸ’`e^jpFn`9µº­)ßroÅŸn° U¬.d*¾FæüØ–]j÷à Ú0\µšßÃpÎB¡êréU»9Ò¦Öë3¥^ G?°•ÛmPÃõh89O´e&ðÕ”Ò7_¸IŠbÁ‹ô°´ÊA‚?DR%ìå¼l´!…Ð4¾tžÊ¥ÛšŒ×ù´‹Ý6¤¯üCUšP=<òÓZ¬‘'ˆÜ4Ï1ÊÔmv!Ëw &‹…÷ž’wÛüÞÙª©·6M"J,Kú¿&‘,¼}ú¡õÉH™<‚nxÕÌ1{%ÉâÀìšW©n¯‚ÚÁ>m½3Ün,hC¬(`g9H¤g-¥;¬%-æÞ¶ZB{ÓìÂÆG’ýKÙH¿•Ë dšÏ­žê wnî+;Œéùkôh¼(ƆͨøÞ¹ªPmI‹úÓÜMË~J0eJ²Û èëR€Ö“â<ˆT¶´ç—3õIøå¾:švpX/4Z E´¶„¦ËZW“Ÿ³ .²Þº/y½µ­k¦Ø#„Ý9®‰@«+ÜŽ=æîÈÑ`4ol7ÛkLäøITES³~š´2m–„§…Wâ’ßîû‹v.—» wš_+@˜!ÝaÔ ùi§›pç¾ä¢°»(Õ±=LÚ­‘\0-•ù¹ƒ c¥ÏÝÁä6Œæ4±ÈP¹ÎÆÊþâǼͽã¦sô³ ñd9Í<4Üϵ‹±¦.¢\Ø…|ém)5ØñsZ€‘´pl¡u¼Æ.¡äŸ?'ûœæ·‹R>¦ÖK*|žû¶Q>™c:ÞÏ-T¿’a¬ËR[G°)Ò›EªŸÀ›¨‹©R½µ :¦(#ø60ë7V¹kåúlâoȹ…4V0-}wÐ÷ÅfC/lF[ٺǹRÌTËcÚ0¬‰wMOn.05Ê®´éÁÚD&Øå±‚ìÀHe‘Ä@b?FèúLäoí]CžY£ë³æ«pÝ•ŸQØÄw?k³0¾¹j‚ÚG»ÐÁ«“Ë?ßç`6t‰x˜;¹?ugûDírJ ]Î"Ããkíà~Ç1”b„Z%–žýÜËþ(û×’{*ÕâuÃááÚ )².ñ^“–™ÐM¦iÀxtë à 3ñÌüÒrÖ®IkûòD—6LšX¤Í¿¬‡¤Çº7–8ñà­Ðž$¯¶ÛuòýúúÅú%bœöêø³DæWÕKÿ‡1Å«(Z§´ƒWñL† ‚¸bp¢ ±êå{µÚJïª vìH†å]„»ÊÝU-&0!vAØ>'Îqt™w[eùŒ6È¥N‹”ñ(öæÅ¯ËvA¶<+#ýª ÉQ”"1Aµœôœ}T,àÖq3M²ð3庉‰ù,+¶öúÜF¤È(Ö㣘ôÞhõ Ëd9iÊÇ×½3¡;BÊej"dýô'¤î•¥p2KØüÉÑDª¶¹ëLÔŸ×[·ÄŸ˜ûxlŸ`ÃÛ3n8Óüظ†ßHÆpm±ŒqÚÄ@ûîL]" éÈfi¢ìIIx„ûçÚ}Q°Þ çÃñT î)b?ªá† L çNiJËÃî8ž´Dæ étýÒŠXö®g*šæF8{ jç5|˜âÁÿOpŒ$ÔYA¬§M”pU4ßµËBA9NcSûÕiµˆ<Ý‹ËÒl¸™WØœæì[Oà¸*ƒ«E6¡Å `¡+¿2ϼV€¨½L“ñ]~üñ7úâUbÛäWA–ok÷ ‘«@´ß|D­²Ò<Õ ÇŽØËƒù/ëùß:n¨q²Ö½Rs›/;j{»]yŸa¬Ó\Eañ"IHó`Ûþ!mb„’'Gzý bíŸ+q“BŸ¸”¶ºy9ßã“JB¦àÁPdùLÎ1¢Ü]ÿ:56ˆN¤w¢‘k}*ÀŠŽ5°ä¨Ù³Åå.lÀW‹Ÿ–m¹Ì뀖p„0}LwTbú2ÿ¡þ‘­ÐBÓÒ 6KȈÿkùò c·Æ/o(ªöË×±g‰ïbÒØ–š€òç“TeRìÒpi .8v½ °œó¢„ù,8ÂgçïÎQÒ<뇪#‰9ãHS#¸ ¤ÿs2°)*«5Äs:Â’/ê7£Á@ÙÈØ‹°Žyhá!ü¿kàÇ{s¹U"Fó)9Ñô;7 v»˜Œš¶îŠGz(°+«#¯š5À ¾æ{3®Yï‹”ñXZ-j€T3†LC^ •Õ›¾1ýì©*Z­L=½öÚÖëTt@ëµíà¿+WÃð\å.â$.^k{I/ê± vÙ*1½\ Ý·#f‰aÏf½Ç…)÷‹nR²ú0Ú"£PÀdGI]q†þáçÏ>}t*~Ô¨×\÷ýË/Ψ‘¾Z•dµ NæØ2ªÕ"K.8~užÈANÒ˜° dsÝ‚€Ð¯ôSmðÆr¶*ÑSÇ[Ë„|КÝÑ*ê¶ûÌX_<½°NòXéêµ÷Ìì¿ ÷1Íٻɉb@k§íÒ<,ÓÉ‚(L޼âã]l@FJí@OV½ß Ã*tÀ†bÖ¾´¤Rj7a—ÊÒG™ZCÌ¥élönýr–33Ú|.P˜ÄéišåW|©á!&JÆ)¶B•X½óˆV' ½¡7÷†a'eh`[T"$uÃFTvEkßõxDûŸ2«»B1W"Çp1T;+™¡MŠ&`Ç÷sFÕ‚afÙÂsÄ%›Fõ»RÎÌ {Ê>ã¸3‹­o<à ¬%[?åhQ¡GMp>É7ßáüe¸_ÆðªÛSøæª?]T»›Õ¬3ÔûЀ«ã,JÚb2Õî4Í`ØDó%ÞZd™¯ˆqUèßì<¬&m ÇWˆ•E,4¨z•è÷èTeö|\„"! Ï0¾5>40áß]´(Ð%ƒ]÷l÷ÜÔzb]˜ayrJon£Ù=e¥¡ùís#:O’ÿ=€G3qC•ÅÃ@¸…æ&ê*`‰xÿñ9«Íä+Ã÷»Ô‚ÉþT¤jç ºÜéfëR”ØUVÜÐ…?‹6<Èoñóᆟ³&õOPc7g2¢‹V‰>½ñ{t¬3æmÀ«]}¶“íî×mᑳºÈ,x ?®ó«é‘nu)8]ÈÅ-A³)ÉuGׯ6v:£ Ð…V?Rc‡‡Ó…—ˆ1\ÏØ­ÇÜŒ¥«èôOýS‹ Cƒä¦_ô8½jý´9Ȉ1 ¹,à÷÷…Šs2•œY”6ñ]þ¸ás3êÍqè%¨$מy…÷,A€]d—bñõ’¸+y ïî…µÇUÁFv£K[£TDú—S4ª ›MÏ¢M¨<1 ,EV&aÁø…ßzYCgÈP³K: )'[Té¨yŒ®ÜäL{~ Õ”÷ˆ³e–e™%Ü›r4‰̲vœvlBµÄG!§³©¤ÅQùK¥&;%žk9!Ëwºq$RFsì ÆIl%fžL¯Ëວû¬°æ ˜…†ik®¡Œô–Éq¿ÓÑš±D"Uy%߈¢×³l,_¥:ô×ùÒÊ+OÐ♤íL¿{n‰Ôi:K§‚Ü‘å*1zÝÊSZ¾‰üÇ“éÉ"t ø@¥µJÄ)ËÔSG`̯1gsèƒ È¸ÿí$eûjEïOž¥âTÃ-Ð,Æ›»'äÊö‰.î$Ùг BÛ4—y÷†žç‰i¦Ào\:GÐàa…¼¨¼m›Üä-6fX®|?Ùœ½³ö¹Fôcþε‘àÂPhGÒùêTXp;êú­iµ5¼MI6iï·zcj?Oæût©ÚÜýã'ËvYŠTò?«–×;VïB@QÙœ{NäÎ1úØ5êXâ<Z‘#{SA’LÚ :í©á™%¹;Š[[§³ÿŒd!66ÎãñÍ‘_±»S”—7o#j3}_çy©ò@ÛùôwºÓ0oôG.ó4ÏÞ2«Ž*Ž|¶êe‘þ‚Œâ[;ªLvñ(M¿'vk›&qxUµC@#Õ‡^ím&HóÓoc9Ãþ ¶¯Ñ¨ϰùTvMˆ…}“®HÏy öEVÃÿÀúQF’'úÓò t.#ùðÓ\;:7œô…Fdwʤۿ¯,ºæ|Çúè0NìÃSŒ®Ì\àìùOˆ€ˆ.pl;£·+Õ+ÚjâH÷¢žŸCÎÆ¤¾ç$;"ÃïyŠá~´ \qˆö‡M˜}lÿç@®¨q>„·xdyŸ¡÷ D©.á(!^"¦23ÛÔWïSxŠUŽ8¸Ú}Mñ3PKÌKн¹{„È”òŽWSW»D6lx|WˆœéÀÏαrW2AÈ^°Åâþzn¾Œ–ÏÉxlõôóÃHbÇç@Òuwn¬Ù©®&$:ÃRe·ÛÙ«¬p!ãÙõd8HUÝ4ßÎ#ÕÏ©—Ì`úâÉö5÷á‡ãLqö§3ZŒE$_<R¦·»¼æ•¤¢É¼rå‰~Š/»T«— òœ5%Í ÒŠñÍÕI¾Y‰?°äô… ó2õ¬ÓÝr¥¾úq÷îÏc+x}å?§¡…ÉKõ`îÐ9RŽ(ØÑ'âH¤1d;K‡ôç6ŸhV僦ÑɹF'ISѶ­{!}õN/LJk´Â¸ñ•ÝyÏÇ_–qøB°)ÐúX¶¯Õa…ðã·†·‡e¦…yj +´m¨vl zAÚ:)íKÍ*€ýZ:^^M “”d؆ÇáÒcT (ðMšW€Eê¢ÕÒ˜‘, qû–¸ß5m´—œcdr,¥OB›9|ü·¹|µR;®%kýQÁ„G>ðK-@~ˆXøÌró™FHT{pDŸÖø)|ä>>i—òU´p¸sæÜ-G$;ýì¸9«Ÿ9e¡Mõít/° ¶F®[Öý1~v4lŹޣ¤ýƒ[ç!]såI)~+ä ““\oÍ]—ydâëílÅR[VŽd¸Ä9¾@ï eP÷¡´DËaº‚%„ÙþzH–æÔж8_Fs#ƒ8ç»2ÅE¹£Ÿœ#ÛÎuÒatÜå=­­ˆÇH€¢.(AO «)y ú8gÆäRÅýÝ1`:Æ kÁ©Õ³¶#š™ôHÅè@'.h8-ÁU¸¤}…§Pöä5vÁø©É—ï!¾¸à½îC8 €Qÿ¢G=BÜò9´’¬™ ©ŠVþ%näí ’ØJ·%o; OôpÎF`œabé‘"bÍ£{’Û‹zcuÖœ[n}:<Æú¹pEZçŠ{Œíú<^yj³¿#<&7áOzžäG¢WÍf¯áñ«Á`‰…mjRít} (atM€ÚÚO¸Y‡¨8ô0i„a•F& ˆôé~5ç”jeîÄ!ÏðfŸÐ@?ƒs‹™t®mv siK&ã@)Õvüpõ'ÇY™µS¥‚Äœ¤m•%š³À ìÙ«†Ã;¹ Ô€ºLUq'k(‹¾ÌOÔ…‡ÁEÖ……ÒëP!ê{Åõ$Z|ŸOö÷:ÊäóœÆä@p{'œƒ9+ª¸c¹»ÌƒåžÂ‰³B€34W˜v€Ž0DNÏÁÄœŽkJ"µFªœèŠ]g2a¹û”¼NÇo³Æû¾R¿/º}UØn{VBÊX ròË7™’©K(J¶Æ¯Ieï¶ÀG&> À|— ø†îñb¾jЈ®ÞÐ…qkÑ+- z7ˆ–€&VÞž;¢%©ÀÓ¸|&ã‘Ée'Á,º½ou‘ Lt#*ÒG…+7àß^áN\Qˆë.ö8FÃÄÛªÊ [Bä¥ãFpœ+d¯\5–n‹«Qf¸§âlZÌÇÀ¨‡.Ñ7'ÙƒÜΚM_òÑtC)‹ 0ßÂ)bMú(C~U¥ŸcXWÄ|ÿVR0xcD”P¥õÏlUKƒø'tÏýî a „<µ^!µ½€ûQÀÞûøv\ÞûµªÐåxˆ\s~^nø×3û )ý]3ùë41üäîµ^¬¤K°‘úÔ·E« ³M'ã~Y=;ö¢oF”D€¡_ì\¬ïýDQÄT%Ñ´jzã¹ïäã®W›ç©C^e‡­X˜f.'§ËlöýÓ9-ã…<žkp¼‚dñ@¨ù.ñì=ƒ´êgŽÑiB¿uÏsÝOÅ¯Šš½|ß”¯UZåI[§]¿T瀤“NM܆¥‹’\²…’W"Šu;vŒ ]ˆšSJÛ”ÔtxîŒì~ù[ð²O8Šìvk±Úd»¾«¢’j#yË0>V ìx¡j\|ξ &‘²–!74ÝŸ¼ìú~±ÂŸa”éÜß}&Rüo2&iñ˜È@ÛžH)k½éÐ>‡„,¹ íãûê6îrÌC/Ân׆TnTµ»¼7É„¼“V8[B¦/é:“¯ìÁ‚14æÖù—ãá Í»;y…A1ÔŒ¥õóÛ’²ž‰®×ç2n/sá(BG1¢|Þ¾1å5ékùó€ý¬­Lû@q.tÿ°Uç¸âòZöô«y¿ŸêSˆëlL,‹Âî….žËxëÞ)6Å7ý†5—Ç;ã2Slãˆ&VƒÕ>Ò…¹¢hpÈÙ®ÅU$ð7?í!#d Ó'n3€R“EíÞTØæÁ¾å °jí Ö˜¶Ý±0°3â¬jR­H=1Iø DxCOL½¹‘Z 4 ƒâuµjÃ×:(ÁËü<Á‰¿þMù°gÄMx HÓÆ/­Ü Çeеo+¹dð ­ÿñJAhØ;hÙX÷·l/Bë<’¶í;gT—Å$€A™M[è›Þ”½ž-6‘j¨¼8È*C²bÈ™Íù_°Ý…OAö>fj£ø…?øjÈ|¶ SJOÚ_ÞƪÒepͯ9¾ ª8ÐŽª /¬6oÆêŒìE{Š ™ÃÚ=ú=?“Çw¡œ¿Ì­‘bË*Dt êµI_FØó°d)PØ!3¬ÆB±ë^±$á¦d™N}2·7†‰•ÙGX¨”>òkß•~SUJtäÜ“BÅ’'ìOƒ˜è[EÏ›zw”m‹ð¡î%±)»›µUOÞ([sl~ëe±G,†+àôÛ(ïƒc8îË>Dn¡)¿NÔÉû¿£‡ÅCðÒà,ü]BðMê¡Û ­È<댂R8SCk‚½dSÅÇM…ænHÁG¦6qÜKhíVˆ ùx³a¥ZÉ}éW&ù^•–Ñ}Ë?mª=7(a£ôuÃp§­Xè¡«çr@Üêí 6Õ>ŸÅÙ䆣AØ”'2¨zª@HÉóÙ„ŀBEiyŠ»bÍXÜyÊ(bkü OšÈœø‚ß¾¦c—¢­‡5›êñÿŠEæ£Á1+ê¾ÝKì±àd&ý‹®TL”²f}`ÿçìd"‘Ò§Tk’¼4^ŸGžYõ…-’ìÓêb:eÚžp÷؇BäцɊôŽÅ˜´s~…„àáÙ½‡Äß¶}*‘4ÍÂÝ˵ï0„´)\˜Ï‹;¨W¨ýÔÁŽ¢±5´Ø‡Oë`Œ¼ŸZöŠ¡KØ­¨oäQ«"¸ùúfœA(ã.™‚eÚ”ª}ÄSàÆÌÀ/Ó²»]µDB„ä€ÿ­¾’$c,NIò™W—|A«ag/Ì› ,qäglOš‹ùjòÆú^rù%ƒ.# Íp‡¤FOSÜ?ÞLKݨÙ>lÀ­ïþTyl/¦ÓòŒNÄ!xM“)Räb§*I _¡?]dÄ*«¬ah_¤c¸É+µ‘X²2BIp¼H#òÊëhâ¿.x [m"ù•å•ðÊÒ7\Ì2þºzÅ?ô ‘gGòwþ–ÀEíG8ܵeg½œÓaë(k’ñ4n:BÆÞ˜*0t2£hÿ­´hÑl­jÀ_LD=ªú@Ó #ãå‰BWA6Ta ª¤šŸ¾h 葎G±ûs åõÛXñÎtMɲq;\i£ .y„—ÜSœ9ÖÈ+ çžiSGmvr`uÚ”{ù¼B¿bµZ”_n•|!wŽ«ÒñÜL+øTêzA!nd;ÁrRÑØ6´@)ô Är‰è2|ùa3L‡ã·ßµOò{ÝËc¶šÕ[8mj®‡Æ—ôùK5ùá…í |ã6Uú/a žznj)?š³ {é˜õ£)¼É¨tCßus÷’–­bÒfûso(q N·›x¢6»üÂän4ö$ë‚ …X¨ ÜǺ¦˜` æaevVÈ{5[a·ãŒØ½™Œ 矧§ufŒí¢Ï¢ÜM\:ør’¯@|%ØXh¯§ô5qËÉߥÎtK¤Gt}9le®^–“ÿ,H‚ú n}0RøµÒ_H2î‚bëÎÊyf–¨ ç¶ÊgÊí*íèÀݽÌgïñïã«ÕÿN… ߯ Lƒs=Ö¥å_ÓB˜\8‡R Æ´—M¡²2.$²Ïm©šq»å WYNH¿ù3Á-¿c¥ëgPÍ‹Å4âë T¨yÖ?-¹þìyX:]”ªû"EÞ´Àdz_«` ÌرþW9SkkŽàµÄ PšcuUdÕ­Z÷Ðì×?°nxð”+ÚÔ×-ºlÓ´JBös#= )q[­Æ/B7ü§ß¦ ›N2ñv%š¶“³1 û£¿$†ó= {¡Æ ^>ùJ-:»²˜Ò9á$†4Ûü –\Ú•g/K†w®Šd+â3(FT÷#-:_kØVìUí»^²˜Zúk"F³¿Øì~iî vŸ3Œս݀Ç4¯…êuŸ´¡…²íhàCëlçêè°²;1ÁütÚuã+.ïæ©®&JLF*„°ïØ\tèhó¶Ýmkg{¥f£í*ñTXêÓëÝbÅF Z}ž*}žP»àGΫå´!nv_,P½4.i@§ö36O |·û¸êË®Ÿ óxÎgt]^û]ßÞÄþ%±‰{EILíÛF»<ôÙΙý}Emxèý\Nö xá~DZ—°éyÃP€g~LË£©)C,¼'xH…V‹ÝF§uÍpœÒ8³(|Á(H‰zþGyF'Ÿ* Æ Ÿó${(ðy-»o nŽQt/]pÛù)ÑNÌŒ¨€Òe%àh(ÅM¡J¸tKû=‘Ï(W+_ý%gÊÉ]Ø-W,£Zx<ˆŒxõ6êkjƒ^Ê*Ÿ;–lŒÝþ ‚-í´™m¶¿Ë^åŠòÅ 7Ÿ9µÞ²[»Œsø„ã)lù¨ ꇋ^% —<¯`½Ô‡çÞžÓÚrBÃÎYJáÈ‘}µÅ”7ŠàÖ'»±’ú:mE6zèóIî ÆÆè­_4/r瀽y Ê{ “Çk®„2ån×ìðW¹aD̺¹ˆ ýQ„b–kµ 6MúƒsØ#…*Àºí{z]ú=NÒ‘yÁ Ô?ÛœNUmñæÂ×…ÿá?vsïíüA+¢"k¸9¡ôLApI »a t÷*ÿµL`Y©?c^Ì@CÜ×8¢^kT†TY0„@(ÕÑzÉPtñ‹1uÚË¿õCªØp¬¿ ˆE%h=à¾tþÔˆ S0[žVBíôèù"vkrQœ5»ð‡K_x¬»ª¸^Hì3Sf^: ¸qéÆqdç»R˜m(HngJý»Çˆ†Åé‹-ôc­áI¿e«–¹ž)È>^†ÔAòbRȹàˆt/OÝüªºoˆÐä“E¾ ÏÒ•e`IVš‡UsÑšê¯p€±"© N L)þ+XõVÎæQ¯ùûjÓÇ­”[sªûÒ· ¶N]8¯³'¡ª½BûKz¨µÇ®&¦ªP.ÿr8âàäJˆ°)3S®ÐÿÕ_íâ[X¤àº´¤«"D¹¬:=O|&ŒøkŽ2é”9/_<œ™CRd¸ž4JÅbÕñWV,<8²Ý œdF±d ù»¨ÞDPú¢¹›0Ë3P›‡7àºú¬k“å@Ú¸.p?Ê{þ´€ ºï41^ÂAŒN9\‰¨D+ñ~9Qµœç\Uù§*Ú%åªj%R^ÓŽ¡3kDC‚¢&Cù0`â2;¿±ÛßnœÚ—$¾ø2ÂÓ¢6…‹ø_/¬ÝÄäÑùëñè໚QaelOy5Ò¬dƣĎh­æ«è¹Ç¤ÂÂæ©’J±Šl´©Ø+Aõ²£lK¹ÓÜÝmn®ÙýCHŸ§¶‰Âš4*¡qA­°‰x”pç²ÀCëÖi=ƒŠ°’þ–z‘mîú«!“’tr-®ÆÂJMªùGˆô¾ëÙ£¹º•óàXÕ¸o0 Ùð¿$ÃWe’KT13˜I8zÒK›E4dªËB9¾j欇Kës‡æÚ#@^Ê€® ÷ dÜ„rü}-ÿL½ªÈƒ§íÌœS²º¸~÷“ÝJrç~®Ì ³pqÈɈû>“‰%¢NšNd÷ŸÉ§“ëñÙ×Ç$MlEù²L@Ì%(¿¯¶ý®—10ÑÓ-EÁr€Š¶FEçîTóÞ¯9yµœÛ¢€­þä ÙÖÔÉѪðaÏkÐ'iãìÅ1võQ×$vb›à©®ò{é$y°˜dIƪj§Þú‡êØa¨`»Ä¢ñí3ôû6ží t‘ÒÖƒHD= ëö„|[éÿQ{¾÷~ÈR¤Ð¼ÀTÍSc‰Ì5œDÙ4–6ñ—l¡ë•„D×VÈŸ‰¾(ëÊ4’Ù  é¥l¥“σðjUH:³ôõˆ7F Q+íîeOHfûùV9M­+;e»ÑÝ6ÿ¬Jr$ÓI¶+wäMò$Ђžà„öv‰yÚ¿Ϙ)$sÄ€*”¬Â”»Ã—#•ˆÿ`2:ÕR+àÂÈ—æž#¤Ïw1ûµŠ4E8K+ mÈôø=îT4 ¯Þþ#ÈCâd8Ô¾aQ‰T\íÐyìW&·GPI¢q0Ž6¹ìÒD–õVö*H={ãt‘¬åëC¦|Úm·Û‚D“2Y@Ü-cly%Ԁ˂a’( Q’¼÷ælq!ž²6€/Œ´A½Ž€óD(ŸÙ*‰âh±Q ÞZÕ°¸¤'~$å(©‰ A›a¤üžmn«ÜYè¬úJ¹ ùü¨ü¿Q(eDÅm3 u>4¹PVÔ\XŽ­Ò¿ü a*Â$üº)׸|ƒ#Tâñ Ôjr4Åç©`?¸ß~+µh~Cé€VI%6mX-±Ïß3\Ù” Ñ%ÕœÓß÷)K«øñÿÑ ³÷;–CtCŽs$ãþË´õ ÏEeª«æÌ8b³ÞÅ eKÅG~™^C…6xœðˆÖsÁŽç(÷Þ ¿ˆ7€YÆümöBh’fnwd÷– ݉i%“ù{Exž´jCx¶`rq.lèzÏ—¬ß¥ØÃá•2+Ô¨<JJP™·b¶ûÁÔWNÙµO+©œs†HEŸ3Ô¾^‰ªéjq&–àj‚Ú•<æÃ^Åk5k.,îïHJ2Ê‚ã6ÅÞi”Ú› –åg¤Ûä¹H÷êrÁšNª6¤’°ÀwÚ1ú,ýÛ(ÿîI%çMdŽ"àjŒ«}†¼#kÍŠ´a]ù1>½ÇÁà&Ïr…)ÇT]¡jF3]¦d Ê )Ð{­Y¹(Ã{œéÝ•ï ½Ù%"K:ß#4 (þc‚¬€£Ð÷Ü]±¼–ìáÔÊÔóíp¹žg_æÕAùx¦üäI½¤'dãwƒÆ(M&C×8×må&ºåUçmëT6«F´£/ž°äa£jsAvÚ/~°¬ä’ ‚f·«ˆ jY—Û yòJ+Ÿ– ^ì¿éuúò{[|NCÀ%gÖN@«oP‰9ç_.nvù!ÛßÛ¥­ 1'”\°ÎŠñÌäÔ¨Û¡°7ƒ‚¹o¥?Ëíu.£dæLHoßó;u¦eø´ë*X•²‰ €Þ25)HóC Õ¢^¶àlFxêô16¼-†‹y:!Íc/¼ÂlŸB5Œ\¼'W¦l †Œof/ÔˆëWD¿™0›]à{¤k‚,kþÿÛm½ÖýÙé¬Eë“â;œ]Re84Z;È0,àz2ÒV9%ÿWÉÙõK”ûÜ$,AËq*Ly×€©ý<ïÐ@¿@†é7“Ì¿‘“ÙfÜ×òOjŒÐÊÁõš6{©ñö eÜM·>Îõ|Ú2âÍ[VËŠ2I0p¼Ằ‰fí’·QÿjÌá¨ÃÑŒŒ×§Lù 2RIðŹmŒb†­1yaÓNøéE\šˆ~6™~ì‹pµãŸ~ˆ)ž^¢¬˜ xV…Uˆ .Îä]œî] Ô›™ ­D“*òÍcåQ Œ`ê 2…,º×XÁ-F“þ] ¨TVKÝ=¼3Šé!B{Ò`©6*µkh¬ŠÅ{«hk‚òŒš7‚‘ÊìÂaŸ=ÈÌÔV*ÞÈ‹fÍíGÏ9ï6ëpÚ{ºx®~Ç ú†'$/‹5Å“uj‚ ä[ܰڱ€¶&Ž$1ðûÆ9…“„ 8Øÿ&òº=›”Þ&ˆŸìã‹f©-,öAVÃs‰\„ì£Ðk›‘)ûþžDžcl éˇѱÙoµ-Ú( ´ÎkCCi$ dËÅyèûÿÃë_b»8;°‚X¶¹¾eþ±§Óè¶WâUX`ˆÞ6°Up_v넃Mغ£‘¿GïëW32EMJóç7EgýA ºç8¦òì¼¹• !Ƕy<¿²ÇkÑ—ùÔNWvèÓ壂õt¨>ÉFbµ;bޏÌï¾}¸(ÊšŒ†@õ)þ‡îÌpãå&ç^%6ôî*ª–@Œ]ëËꃲ<ÆôåaKÆx‹bõ2hïÐÑ udÓÆoNŸú·ð䥇]oªÓGužj—™ýqÖÍÌ¿€WÛØÜŒ¬ Š©6„©Õd$ŒÑ—ªÙ/„˜qýøÌLÔ$Ò¾Mº+ é:Ýéã‰jØnÈòε¬,7fvà !‡€£¥u˜èB{˜džî¸ÅQ˜~aîàPéÊ {3Î÷›¥"~¸)—äÕûZ<¨ŒlÁ.±ºÇ5€k"\“ó¯Ý³z&ÉžtæW2xüj+—úÖÆFF#u›Êð7b{ŒßáXXh×$´Ms³P|Q¼ü6_¥?R„ÀÊËésúý{"µ/hĨ«Y›ÕLÀÏÈ£ Œ´UÑõ‰7‰Y3nñ.aû¹ð7"Þ(‚ÅW Œb•Õ9hS‰Ðö !í•3ÊTeZ˸±­ÎÐr*òäÚfÒ}X>ˆî[Åõ¥Š#ÄÃM_¡Ÿ’Õ££¨©ýÍ`”Ç à3 ü8eŽÇÜòpŒmÃöáÇç+ÞK"RÓ*Ø÷H4ªæ6“gYâà¯Ãã\ÕGSK™ÍØøkeT,µ\Ø®Ê}ÿIÂòÿ]F߈9ij=•“¹¡²ýîpJ°y$0 é=ÉEàÑ¢®ò`ÈEŒÓ#?Qþæb÷Æà³ëétXÏåª^A%ì%‘Q“q3v6Yá¬ÔÂöêNE›=º«8ËÂ0ÞȬ„\¨„™wÕî8.³xº¡üóÍñßêüyGü™ SD¶‹Ÿ žûZv¨äHÖø›Øa_×%ý"·ÁwIõyxäC :eõâ &¸`¹é(RÜþˆÃ(åiØ©¸ÖâK€:±ÞN³^"YŽŒpÚgY®ÊÈ`ǰ[©ÎÚÃ!#QJ­S—wé?5pùµ¡ <ÄúõƒÝ$aÿÁ¡în©f¡žÖ±rOß÷°Ór«•±;tŽZÌåYþ¡%傽C°­â‘¨螇ÎÃÎú\©²æ †¿Ž® }ÔŸ–íç­}döGèsSOæêá|CRäp¥T7+Duýè¹JKõ[ˆöš2áÉ2®Á$‡ø¯™ÇuJI¾?ñø n ›¸7¦œ@c: h##éóÖÁ¹[ν"ÇÔ8ä¼ùnPÓ0ª­CÂMÖs’ß|4éNyëÒ (GÀ‰©(®•ò(øPOŒšk°mÚ%d¦«=.1⤧s§äÔ×öÂj04# 6É/emÿò®-`~xžÖ-´óOLÄ[M÷apÉ€C¸H·cb^¡Ç,ÅΓIV‘ƒí\uA ¦‚ï¨Gõ]¡ üî—è þâú^âÚT<Òô=ŠŽ"BÞ@6>!?Ä™ ²*ẖh¿½4I4suÑ'‘2gåoM)4}Èñ {°–ÏðE…VØ}Ù*m‚¶•mÜ»ŠÛ)uH/ŒÑÕ?ÉàVïïý+k[ߪµ‹õ¬iÀiƒõ¦Aû’PËIm6+È¢ç:òà~†ê圮;1ÓòvÐŒ›j…gé•"@À<Öz˜²,˜¥5Žåý K»K:Ÿí΀Hç@NöÙ…ýUžÉ «KþïÌãž+н?d#è÷‘ÀŽ›Ëa'[RŸ0q{îcô€Ä(Àßј‡HËj@*hïz·ñÉ<ï‡ÍŽZ(Ðý-+;v¨‚’ticÿ¬ÿgg©5J»c dRÄe²¬ïöŽ`ÛÆ 1*÷£³v,*pQ`®cA€L 4á«¿6ËrkûR‚ùJÃÍ*›ý„ µ(¦QCKñ˜òH„Y‡š³$~=¨w lÒž1X&bS@‰>v+½ Š!òz641´ˆ¼”PQ–|¼•¯XêdÑ~±PyUI·‹á”ãwïš ’r\ÆìðŒ…„"9µ€Ðv6“[öoú4”t¹ùŸt ™P;ŒÉ®+LÃÇEª³„£G±:&&<üöoÌŽ†zæõ.3\î»Ô ó|AndhÉÆœ×ïíèJ;QkêÂïB™Qÿàút“ý[omî»jmÉl3§!ç {¿û½ËŒ«@–euV‡²™ïg·ª®•ÿò ‰¶Þ¥O`«=~rµ<@â™»¶Æ]tt}˜óæHF£mîã=A¬‡–Ùó8ý1¼£g«Vl@ˆüÄôïb2 Y1ÐÉ…çÏ]?v§§%áä‚Åã+î\®„H<{‡Þ°¾½ )`g6¸f˜²Ð·sŽö™ˆ”.ƒœŒ)—©éZjI‰}}ñÙ­êˆçðÈ<Ú¢†æ±ÐzÉ6Üõ•R@sUë¨A~zçÿšV©#Ï9˜N'£¿¢/û?ä›èªQOw14á46ˆd&é«#ù@ÞAÝi=ÎSçš7q2Àw¤’ŒÔŠ%¯Ë¡ r+ä³\ìòuÍa‰Ï }Ì1)áß3>­°ªo²þyÊÚh‚û[Û{hNžz×Z¯;Ÿ‹ا¶ nåÁ¬»=â<‡ Ûc“óÐ=jN“þo-”u Üj òkÜSÛô7'=$Mà’DÑ„!­-Ù¨f7F³/›Êá[g²½ A¦U1Ê©Ž¦ì‡}ÏX½ió9)d5¨œ»wó¦šáÈÌÏñõn¦ÛòÇÀÎït¼È\-iè8ÝjIáÏë,9üá[?[Mã‘ùìUw”Ë…cÀNß…·¹µ†DÜ¿¹‡ÆDÿf‹žMè—=Å×o­?RqÉzo&ã0‡lŒ žnnñ˦ô&`«~g£;ˆùâàÎbÀé©ÎŠ[M§Ÿ®:fMÖÞQ`&ïIétù9¯ (ótÿ<ÇKW½§©~·æ¾¸Ø$—ïîr +G¡¹{ãfŸ}Æ>BMˆ4tK‡²<`JÖg5ªpãäTÙbÐvÞ³…ñޱK;‘€îãâe'Eç*<ŒÖ|P•Áç}¬è!d(ºeñ[ xýÓL½h‘õÞÓu½ò(bfLÝéç^Y£QEvËm¨šêÏlåC°lJ'E,œÀAÝ ôˆü¬½²s«yÑ/zlkúöÏE;÷Ó¹ÀsÍ7SÞT.6Qß“¶žŸ‚„JÎA¿ ò0>œ°D0ØêksQð°[,¯ÊŒœÄ! S6ð³ó%è‘Û‘ ›ëóóòj6Û¨„!yGûŠ“ãø;ª£»¶~'n¯á[À°ïæuâXí"w9Ë&£¬• V†árÕH¨w@=à5¥úžÙú%hKF…Àv'_¸„·7SI bzÊC¾»pǤ‹ »|ŠcÓ&Ǩõv«`Å©O|K£Èlãi¨Prè_w“ÿìýkÞø Ý1)¿6¢Bì÷²Èç6™d¶KZ ñb¸ ¦)RûßÜÖãíZÉñfBÉ÷?ºQ½œÍE’ŸÇñfënŒd Oûw)š®ÉÔ-pu¦v7ëçx‰›GÔ¸’ Fp¨ôǸ¦†0±„äh¸cCaѬŒ!‹§GnýM6a£ÿµXÙW&˹¢*†à`ö5æØƒú«Oò3³ €»“Cþp”Ì@ía¢pªÊ·tvÛ¦Úbø;ï‡N! .²^ƒW¸Ö‹–%[n1s ‡¤I-ÜØwÂG"Àck«ˆB×qà¶ŒÒùìÃgÖ`ií‡jO²„FÁ÷OÌ쥅͗)C`‰Ð¢ÌÈïBäÕ¤˜Ü4×;D9Fb!Úò=h`§ùµ"UßÈ)—7€sÓfdó›yÓwÚº€Lê:±ÂA 'GêØ|"s¦ \XµÊ/a!nP+Ø3-3h)&7:ÄÁ” 2¯Ä>,•‡×*X$\éFNòµÞ¿£^,³ ù‹æÏþ “J¦M«ó\Ñ„ˆProÕ(o‹«›É]Á.‰wSNç\94›púXR€j=|æîpw~ý,`-:é9²ÞmÐÚ¾ok _¨ r{;aÎbFwrOnMpóAE€†#¦D£Ù³¢Òù½œó ÿÊC[w: Œ-êMIÀ:äMy܇³ìB‚D~41lšZF0ÓR¤ÊŸTãùs:ˆ°ŽjnåªtZ³°o+*–Ó«Ospü'?*®Ö,ÓjÃ-m#í‘Vé!ÔhžåÙ_"8ZøÃoØÅ=Œ“y¹ e_ˆˆ\.2 ¢Fóê«æ VÔ¯S­”åÕ»o¯Ši*Fð¡d-G…a 9Ää+Ä\ekÃ+&ŽÊ±·R1½¿h±‹ãÑ3;bMsNŽ7wª1&]‡PvÓ«ÌÆ Ë?ANöƒBåb_¯¸ísÁ®ä˜>0t”¤èa‚—OzãNéûÃr·1¶ýØeý¸Q¤ù]÷7]²+Ç0ü |´ÍªTG,äs%)Ð*æ+ð·›&ßÎ @ ûÅl3»%·‚J·Jñ­Qÿ‰½=x6ßýi§C&@„WêÇ)ã<+ÎŽ?PCXcöÍø-(Ý"“1p&–Pd`¶&MC/×hÒ@î…bH‘:>nÙ|$Q½¤I¡õQÌG?:¦ÚÂÞ<*wU¦QªâÉ¡ö õ¹,„óo¤jøÍøë;ç˜É$‰Õ¿tœÛ‹Àj—¦·1Y/`,QºÔ«uþ ä£&æ¸0Sa-íWªF6çÊCÿÖ»9?¸<„Ü€^Ûª}ß½+QÝß~Z´¶Ûh<ÝœÑMhû¾jÑ&ÿOËÿ%ÊÄ{ä{‡öÙ†¯º:eDÊ{ ÿpÚ‘5_®eqÿôÐÄÀ¡‹Ìéç ÿÜs ‘ZæÄ àKN^|"ÅS Ãð–XއÃ|˜\M¡Ó(<6&¦'¡önH±ÂÎ…»ƒv¶ÃЧ†(5ÀñWC’¼ŠÃ(ë6³y ´:]rïÏm®ˆ‹Ã«·Ò"r§¨‹ ®:ýg°¶¢Ä´y¾v2ë` VÜŒxTª†:bZ¦š²ëë±RÃFŵò[Át1䎙Ô÷·ržà(«[;ÆŽ0v왨aš÷möCA"óÌ)ÝC=7x°³ê>™i€¿¾õßÒ9Ò[òU¸Ýk¬,z9CaÖ/ˆžÛj~ ‚ÛÖš•Ú¼Žh¹§ÝÛÆÛß=Xlg1ÿFº3tÊH.Áô†éýÀøÂÓŽÍm’.ù—ÂRÆâŽa FMÏ%s(N!Ljx·Iîv‰»‡Ò"€¢O•ó$ïFå óIÀEû¶„×±ùiËNÍ€qƒ°4C¨lÌ 'ë³%rA¯i" I7Q g¸z™êÕ¥£<ö£g”P÷q©˜ .ºŒ…`c*8þRb jvð¡£6÷Ï­õ‘'v\Zå×çk=)}^\ܦLøãÿ°g=÷âüzǤ€b®$à7Úú 6cŸàÂê(Gð/{ àhƒ8fœn%i6÷óL±ê—¥'"æ„(—"-hÝ”OMàO2ÿêÇWiRYÍø8&W…¬kcäûho”Õ ™œèÒÂJ?)å-þ8ŠšÅ@ÄÔ(磊ŸÈxvïöJ5<Ÿ¦ÐF°’qáOËi÷—,ˆ¹ºá8“ÑÇȤžûKàü–Î¥ñwýÿœ3oÆVüµ‡…CCÒa]¶A± 6 -~Q§¨J ¥Ã¸ß¸6¡òê<ÿ_ Ú û®@m]™ãÅ‚„qiMÄ›+>„6ìK¯ Êí¨ø‰YÞ“£;³X6ôù¢×€GÚÙrzë„X“KÙ18Z»5[vJÄJgÍjÍ:´»7%ø{Ä [¥+`7ñÏat|þ9ƒ(ŽI?áƒ:¸xà&¬mGËFºŽ´ï—t ØUé©\Ý8’AYg7‘—ùàEX‰Àƒ€ñó õms“_’N‹cÿ¿Ù+%Ê—>»Ï£˜9—rœ×x”_¸>W?ïÞ{ô¦‚ô΋ŠÖ£¬"ÔW›âoÔ ~±¤…á³Nd‡›äÄŠ*B+p-{èüÀ8ÊþÐVç' ˆ‘ Sߨ½Å¨Ü·ÅwÖêu;:wÃ|ô% ÐÛ…M<Åt|Mo,× s±k£„¯D±—j|ôþ°•Œê¥îbjÔºÇ~:‹š¿~…>Xà©/ÃfáME“¶ŠIÏîʸ¤·‘·|ùñ æ7P¥"æ./ȸºµWßDÖVé¾ 1a7éàímËÆŒ±í¶‘ ¿¼“eZ`<>Ö+Ñ‘k¯1K¸M P}jªÖ­¬¶Êàé àkl0œM…6mö±b‹ºXè9 lTDÑ4Ê•»/š Ï‚DD•>Z®ÖÕ€ûà 1(ÀK†é£›|wÐëÉsS·Ë¾¯[ŽjÙØ½K5aª¶cN„eO<BÏžê‘”^î£])ˆlYM4–úðg?ºÒ2û,‰hdÞ8™é]O“ÇWÒÉÅ_X¢"¦œXV²(ù¬5×;L.ø‹˜¡™òt½U•mÁ½øq©Ë§Mðë:Yï¯Y©geydÊFžnÎ¥ƒ½L0àŸHDÒAÎ8¾‰g[i.†íw°XãK|g S €!ÍÉ\Õ£ÇY”ÈúЀ€ã®qcÿð]ZË 3£¯°Zöˆd¢<‰.À˜ù™Ó]w-|ZжûzÔ;X,'G\xà ‘ç 2FÒÆ–Å-©›€×¿Øv7r)ŸÄ™™D½Z¼½oçhn¥‡õ¢¦©5QîS£/ñ`Hx…¨’}ô35}(EM*³GÝTªÔ‰É™ùÝ`ƒŒÍ‹ÍÊöˆ:g‰^þ5'õ®X-æ„&‰åöfa‡®Úwé\0ú%Iÿ=H°^T6—•yÊ¿8¥„Uüar­\_N²Ça×dz=­œãljêè€ç>ZyF8Z•0€=á0~u"&<«¶Óy'Qúfö1kš³§:~U•KòrfY+…¹q£6`l4à £t–˜EuŠ•)—nwzå‘ÿ ©Vðî»ÂÉÍZ+Ÿ;PÆëw7çn­S¿¿àW c|}Œ{@Aô"8Qge˜«6&I“ ¡Õ¨6¥rʲ àÈ«ñß&Y½• @2“™æ¶o'Ôàõ%H`^ÿ·†ì=?h´sGs¢2ó¡¦tç6“ëòCDD9Û—³OêI°µp›a¿4vÍâ‚{ÏMëßiP!öOm×åOŠ%·vø·«® +DZÛ}ú±¡™´Ïæ3?}f< ) ÷¤œŠßÝÒ©§®Ì¬Š Ù#ˆÌüÌþTsÖ™š³ûpúñ-ñ„OkT…ªOQTzȽ?-,[~˜#„ 0¨Áºb¨Z¢lŸ˜8t{izƒ4¢.´ª`„÷ë´2Nj@`Òû)¾Q¡çÐKÔ§Ôiy½QÜýzˆ÷xN&ѼÁjÉ'*hø—7y<Óܳ 3ÝÙ"Þ¤ âi0Àv›R À¥>[Œhcð¨f7¿à;ê‘è^Õ·É­sGaÝ$À´úŸóU"¤’Žͧ˜<4ý. ›O+òL÷~ˆ0[o' ­¶y•ÁÊyä\çÆÚàî6ÇwÄ‹²œú7ºÔ­úelî1îFÈ¥ÇÈBÍœü_G:­âr™®<‚çrx4y!uÄ鮺εвôô±‡ËŠ4çÌÐM`æxˆ`N9°&x ~}F¤„9ŠGÛDÒ,wêf¤kßꬆ¡¡w<%Uòú¶ÍB–([Tá×8’Ä“•Íï½Äû.YnŒ4w5åëF¼4åâA¬"ÀÇÒ½z5TU#'Hœæy G±RÜ“·‘á¬âdôJ\<ÓÍìbæ1 µLG{*#ûdaw¬Uß%‚—FdºÍ5O^Tù™ï…Ìhf] ý~Y<¸¶àV-T}1Qe1¨|Œ5n–ôÁ†ˆœ(ìiô­s>ÀŠc~ÒÏ¢IñÏiÉqÿ,AøŠ™¿\Pv²ÄDð k ˆõö>Á€ß¹íFÞÀ솧k¹êiP£°Xº»ˆŒÓ˜=øÂêù‰ëü­Þ¬A+œƒ‡ÿ‰Ñ•Øu§ëÉú¡àŽM›Wæª $©>¯Å=v1®ù±mµ8§§‰üÍ€æÙ›LVôŸqX]/+#ø 툗ѷNöŽÈ9öèí%]܇Kܸ<ê¸ï›p|^ÐÑ­¯–•ïÖÉa+fJ/Ì9ÅCÝ&®ã8+~øÄäQÙ˜vÔÝT è³׉°1¡CmßaÔ~+]ʰúñž‚ös T‡DîAìéĺs°³å_Uº„!F÷ý‡“¡ÜÉR-’ïrΊå|–^.£æ¦ZqË0´Î¹n\—B±Û÷Ì-c¨ÅïZ$Ã5B›qâŸÖ&Â'ÌÍE•< bÚÃeuž‰K4WÉÙü:ß[¬šV¨àŸÙ$ª;“)±kQWÕCrúý¸¶@·Æ+Ióã<!•8æßª cí—!•Hõ]kïFr¢0®NÃÊËÛÈè̽À-%[ý‰rÄ|ÍäÇ—6;Ȭҫöå€qøÛ2»OF­0ãMš#LÉp™>cª3³U•?dj ¾¤ƒ…hkCÎmTæú²‘ `סáŒð¶°á'%1iÓqgAѦÇ`HÙØýzX?ë8—´‹CÔç&M•‹NTõϼ†néÞ]YÁ‚„‚\@ÚFÎ;*“Ní`»¬I5p¿)Ìëø,ß_á‚IµX%"ëó\¨cp™™H4Ï“ó¢2€Àø“ppºÙð€¢{óŽ–ˆ4g|$Þ×vD•fF¡?¬×µ 骕`á6¢^*þ—¥°­¬Ô‡”³{v^×¡Ê ÂQá¤Ñ\’4 e@öUtSF´ÍÄÎ=+{͵y‡ á4Ùk‚UÍKVWzð°G?|2ÞæF²:RôEÀ:`ƒƒ¡ï¾kš«qÿ ]$ù+MZøž9:d1¾@䞨˜Cºí0…;'öuŒ¶ýÏ&æÁb4¸g·¶T’´N€ÊÚdë ó|Ë6ÆB[û·e€ :ß÷Ê\jC vŠ™¬cáÈÙ½iã¢ï;߇Ⴙ^òbëÒ>9_i¾²]uÂ벚·u¤{ßìëX{[™³üKºPÀýfÐßÌ”Dn ™+ßHÿMêJ|½¼pÈ‘ÝÆ<òc` ‰xäÒe0ú Òdúgâþûø ä9±²|¬{‰íiÈäà°Äa\Ô¾ïžwEâ5šN¹ßžtËx<[ØWìâ.®U"­Óž–“¡¹]«´l¨Ï*Õ" ÏÏúÉEÛ\Ô ¤Åвjobâ>ÍÝ KƒÿDl¸:/Ç‘§!£/¹A±7ªY^§,œÒ3’N¢x$%¿Ï¡oÕ-^* ¿%ÐŒÉ*5õ=.]·m ù\Yã—´Ù.nE¨Î:)“ëb|hö ãó(vi}ö›’ %.QP%ÐÞ…vÅÞ£›µ݃°-á»ê°É:…Û˲Í~`®‰ 17ïLÇ¥DCD9ú&œÑÐÙíΠ2g2BfÄ¢¬³ëÜÈçÖkNOY¹/Å%°Nuʘð7¡ó-üé‹kIó626Ë”¯à~ËÀÂ!·«jÒUßÓ$ç‚Iì>ªoôÅ…ÏYƒøl,ºiQÌ •Ö¯ha¥LïÉ22ï’ÆZR)‘FðRÃ'Ô[Qn\ åÛZÂ¥âÇóuÄ•U¶ ³¿ÍÁ€“"aáüæÕq.qm£NŸïŠæ• >áôß)¯^_íªE;ÐE»õ@÷3ßlÿkb•qÁ²)f\×@ízqQãð™³Ö&áO[_|oÁDäôSy9ük묕Q¢ìøÓ‚]ðÞž_eˆŒ¹†méX  J=m‹c…TëwÄ"É–±î½ÞŽt£¼¯%RÄku¸dé3£ßhá¢'¼øTwåWâ³ÝfUPˆ\þ ^±ú„Ç<­5alžh0üv\õöJÀG~®Põm*rõûØ"м6Óõ ²ïÃÕP¤Hª\ÐåñD^_Œ8xÙ9#1ÿ%ùfÃU)µ8¯¢»Èˆ²æm…·>½¹™©¦x;ªéÕ€ºÖË]ÊÔw$x׃£s« .ˆäôy\dq‘É~¼(í/|‘ÚÃÃÌ}'1¯FíôXòäÀ®Ž·(ŠÛ+ÿJö…>¤97UüðK»; %PôœŠ`"C|ò<ã´ÿÕ!DÒpI–Sª<z{h°¸<ôÞbJp§b`> †9@xšúþ´óA©–uŽÀ{Ô°{dш!pC—ÒP^‰:àñ×Ç A±+ùç^¾Ëº]Wý·­D:¶unºø©~9L­pþ¬£‡Îáz1!¢ÞÂðodAä([¢8An¦a®|ã¦oÐb‘Ô*»V;ãóŠƒ\ŒíįûmëãV UKˆºŽî-O•M^:A©ä3X,6LúƒÊ;0×P}~ÿÑ`¶;½–,Åj¿Rl`å„ ‡N6&PæÔ-ñ`äZµ\¥LéÝŽWC»®OÄu‰Œ¯ýAù[Çôz2ıeb·8vyöAIÍ"{­.wÕ)Ù^Ü-Å^¤ÔÌ<*Tò€A—´;º„ ®+vJú~ @>’>ï.Ì8魬þúŠÅÀ½Í7ÏÒ¸mÔõ6ïØY( >tHˆñ9&ik@Nr·¹ô0õ ¼Oð2)®÷x½^pÎ(:¢ËÛÖl`Ùº“ž‹C3Ó£~[ñ2,ƒ*ÈÞÄ_ÀmÖŒ~µfwTéjÿ…›,ܵ­áÓ>iÏ8¯Š7RŠX¾+\¼/ù×Ëg‡®0÷E-Ûl¹ºr æÀ¤ðm|ÐS™Ä˜ }ñZ [hýD ÄYáA5¸ÿ¸¡Ò]±#T&/%[0œYÁòB±)ípî°'Cæj->².à¡R8< Û+ø¨ÕòÞî²ÎŒ">ìÞ˜½M&·† ‚M!"X?§;=€”›ë©×øÔ³A¿ý·Á‘o6àï¾ÍÄoaŒ7))t=ÚʱÍXNü‹*ˆ:/å¦ïƒ;¼©ÆEóÓÌ’aEý%÷_ÉÔrŒs}чaâæÙZ@äÁ=¿}6´G™[Ù—8%*ÅHzÊ ¨Àr»È1d þ3ÎÙ‚pøsÇúlM-ˆ—/›V{á F¯P‰oÍ'V¤ïÆÙ™þ£‚O+GôÓj1ë|VÎ8ÿÈË”™j{Âû×]cT×Fë“7ë^W³Qïç,„ÜU¢I (m8çý¯ÖÇŒüí ŠSút…úv6!Yy+RujFËïÇt%Ëè#ùüq×g“›£¿kï˜q7Ÿ8ìâ‡icE_åÓ@Vµ35Ù9ÁUîìÎv2 ¨XØ‘òF*Êt•°¸ ü¿Ò\W¨é÷kJãïÝ/:˜7 óJÊΓ¢)Ôš‰æcY‡B+>ý%R³Ûü6ž—ž-ì ÷rðG:>›ßj)¤Xl©s³s_›Ò,×txïŽYšSl Û%HÍÙ¹½êš:(#/¶ s°L‹ëè7hriÇ ,B`Ù}±^JîŽ÷±eQVÈ6ÌU•/Š-ˆJ)€„¨„ÄI'èý`úÑ” øcà #¸ñ±˜­y÷,9’,` ùd^Û3y@UÂÖHMMœý²£[lÔ3¯kŽ'Ž‹%Á†UúZêdî= e áAÓ¬lQ$û„ T÷ÓµR+?Û=öÒñ¹éúˆì{iIùÛUÐßÕû[˜¶Ø?Ô쎂°ð#"~V¸gàIú|þ‰AæèDœ*½&°²ØÛ}>Á 0û²ó ¢Ã4sëõ·eþßí w,t¶„8F¿gr¡>±ïi»X7l²ï£lmen)e;ImÊ›YÈKÞ[ €MÔ{ÿÑJ Wˆ8±¤òJ}.sÓ7‘FÑ^¼¶[…1¤äšõ©¡œÄ=‰¤&7N @÷ŒûŸ‚æÿ:$aÌ «aV^øßNõßßË€î ‡’dé©/4á-_ʼèN  ¦[#7W& ›l{ÓdŒ{ÖëÓ>eÄ"Ü6ó‰S(qUUäžûëÀæNY5GNT& Õ†yp@ì2÷ƒ¢_ŒÐ³rɡРÈ<·šYàd;å=:$§†Y¡H„Žs¬seíïc@m›àé T™—.Ÿqï ê4òÇíÿc´v‹¡üdÔ]Îñæ U¸ RÂT3Úý‘BžV~ï…ľØqƒ'3ª?sR5;Mºùåè¢q©lî/ÿßœU;!†¬½D³÷–gè™í®¢Ê*T‡N'hÄ_V#*öÑç¦0Ì KºÔ¨z¸>ÛÒ½L‡ÁYfw³^†ç”×µˆÿñ(]€7’Ï]9½FîdŽi.Åéy~&‚ôøŽûq“ËáÁ e^‡D2xŽÛF>'+±&® NÍx Çšà¤½ÉàL…J*OíQV5€=—ç¯äÔÙ)zI]Ê_ê³~¶#où¿™áHŒ°)â«Ìp·ìKa­gO*PÔ'p ?·5Ôôºäx»™áèIïjR Leþ“dN¦Q:ú>u Ò㘉,°%üCˆãÄ£jQ±¯·°´;ÒùyAV"<䲕¢º‰—fØu†kÈ„™ŸhÍê+´ãÿ¢±;„5RÑ¢C¶M&Ë÷ÃNÏyCU £w$ÒÎIšŽù¾h|ÔiIA“Xä$ºáeèE0m(?jœ"h•HiŒÀcV0ô¾ËHÙÕ7wUQŽ¡w6î¸ÁoEÞ€GÇ·cc®½Žð|G¿ÕôÿUxlKùi 5i>€­éº,†-n≡µÞËà7ý|À£Uü¯n—ÔÀžæ€÷ªÐ1dÒ<ÝÁ8†º'¼²Ã3{Æjè^-ÖðÓ yÉxWWw">P$\«`^Ÿˆ,‹ú;Y¹~žîØüwØUÅÂHߺÃdAXŽÄõú±"|àä¶®ÊÚ¯p‘â˜ñÿÀ¤•Ç E’ý ¿ªJ½üCp«8ÞùXnÜÒ—+Ø»1hÆJíæ2é§b'¼qåK¥åyrß"oñ|Fa»ÒhF÷\9„sÑ„£Àc¨QgPrbÉ.ºSÞýò"h×yI¾3°¥x ¬ÒרµŸ•„SÄNíÏ ,Ú¹×5Ãè]ÐKoš¹+lº¥ N总' Qá’ÚÝk_ò@m€FË“^bxІ<‡õЀN‡´+ò|¸ºJŠW(¿ñ(fH RÒ_Þï 8C€}³‰µŒ“ÛÂ21òÆ:x]N3›!ÿ3Gêy½˜“*×m 4>1´+¥‡¨æôz§‚ÑÒ©²²0ÈS×OìÀVú!÷• —ž¿Él(ÙðµG Gv| îÜH‚›ìµ¹«†J÷qµÍ鈸Ff¬=!¼š¶P|'ʵ50ËT­¶%—…&³Ž ¦ˆzí_3âÎä¯ü<Ÿi¸9£"<²ü·¬äwR¶ ÷$oU[Šh’Kw’|VÜŽu·UîPÝ€wÝ ü÷\Ô|wv[´ üÊü=D:Û!^¡³ä–AËÍ;½WC!^ *ëç ýQ,è›|ÞJÕfÌ.Àg8æ7ðé;¦7¤e6å4y(òj~ÙR€á;it9ªv$ b„¼‹å?àÀéØtGËìïÌu~å"r©"Îä`ŸÏEmg# ¯Äæ¯!+s6t÷Š[ëz85qüà—ìaCç›öKîYÀqÈÓ!%{$%fð]“³øbåþ Ùámæ ;Ÿ¤È&V®œ0‚B\‡Æ4ßG ­Ød+a"úG€ì·ðç'$ÿáOÓ‹Ð?"´F \÷axÈx¥ÑVÀª³­ (ÛR$-à¹x3"š(„ò8‹ò^„+݈¬§¶d9®]\š'‡{†›7õ‘é’A[M=Š\}Io¦íàÚå'²3  ŒdyW¥ÇµÿMÆãH›ˆþ6cܪ{21¼J?èŠx9}RÿO«ÄPˆ2®ú0dNy+ßêÜWÝø|>þ‰ƒ¨l$×4z%_«1ù¯©¤9í^4î]C§¿Çéíub1€ÓéxË~ÆÀ°I•B)¦Uò²…*ÂÈ” · þìŽ+Í`¼Â’%,áóúO>xÕ Tù;5vU­Ù&B["õ¢Ný3Q¨C­iÞÕÑì¨Y4ÿGZdä›÷!CŽŒñŽâ¤TU5ð}liHN%üÛ7ü)Í tèæçI¥½–UC-îm- ~áxþÿ.J¹'šÀ/âgR”ºADÙyIi.ÿÍIجc,ÄÞIÒÁ·[oX aÅŠŸAq'çhæ¾52‰ÎïRO5K¥£x'} j‘×5Š„v’£7nÆ™² /ôˆÕÀ ²þkÀFט¹XÌXyÖYµä`i®ñ>Ñwá‰o-YÅ¿¸Z$®~TágÔ˪³“ ÿ¹‰Ùµuà´PèŒ_´‰{隇¯'®Ù¯)@–±Òç5É«~ŒgœÏÜmš:ÿûWaë±Ì¼ƒøG‘ÙuIrdÛÑgEÌ ²(!‡¡k¬[ù÷6¤p‚ Ê°%§DKT§ðšBüJgß}ÐS«änS¬;^,¶êaè>Í%·:þhðÌæx µ„Ýâîž/îH±UI¯¶;E3ze¨¡ãGB>Ü’6j1×GXÐóºôÀV½Þ¡‡Ôø^?kÇ„È>ÄÒ´–@kïÆ±‡-^JýŸù>Jaø’\ƾö¢ìý¸„‰VHÕß·,cx×}P~Щñ¤<‹»ú$Zލpd DIL Ð㯧üI¶»J¾ƒúòƒ»"ÊK­°(ˆØ—J;®žN¬=­zôø¡pJ Ú¹Á.6Oí–Øå0??íÅK÷AYô˜7'5Û6À`Ÿ|vJÞÀˆDº7^ñuªË…´nÞ—øx:w‡/â䓉³Œ¶ÛùC£ÏLóKxˆ5>”·F÷¾Ä†w‚óph6`1ñžo+™ÛÞ´Îνã‡h+1yŽ".Õæiµä_Ä”Kl Ö.[¹UñÏI½váÎÒ7-uCH“çÏ¢/cY36Õhk'Oå~>šE/K¿3 ÔM©kTNoE'ЗŒùÔzç ÄÛŒ¡Ôލˆ/îäA0êeò¾„–0æÎ3M®¾´õ8@ˆ„œ:HÀ®ŠÖš¦- ‚«R0Õò‚€u:Dª?¥kZ¸Üðq¡“•Ý¥0Ynz¦F¹}"ÚÀ÷lgcK¾Ý"ù*Ë¢9@7Tó~y+tþ– aÎz9ÂÜGt´h¦âp6­‰‚½ 0og4WóöŠ[qùO¡wP¼Çá2Þ;~V¢`µîßþè'…%‹0“c—ÁÛaEÁëTÂmì5Ž—WŸÌñÀfaŸ^>íÎïû°7¨:±Ó™ƒ,|àÆc› Te(—õAF=øV|o„<îXÕ•b Ôç”ø{WžPKç ÔáˆéðP‡š3Øx½êL3;T»2±Ú{5Á¯#“ø?;1…%o£Ó,£gÏ…{›·î¾†¥Ì3(“cJ^[˜º òøêŒ§ÙâpÕ„BVÑ»e=çí¶»Ã®g¹8ÆÎ©í-XQù.ÔsQUvÀ³\åp«Ï37GnT¯{ Y ÃÕt…1aáÊNÿ+¢2æ=¹ß®þû.6uJW³¯»žÊöõtfݰh´¢*­àíA¡É½æhÝ6U†LÉC ³wKG«Î†>£ô©CM‘c!¦ÆÍˆÍKXn œŸ“S1€ XöD0 Í+}AÀ‡˜ƒ%¸§ªd—ã=o÷ÐsΣéßrM%¬g<† à'Ÿû4cõˆ»ly¤¤CŒÔYî×熀[>&0sÖF:Þš|rÇ7^Œt³8 ^Р1¤Fƒ·Yw0ä°È…¥íüDë/ma}l³¶ãêë­C¸B0Ì=í®Š~Ë›c¦6¿ÄÞ—>â§rDx …<@%¢• Õ ¡cÖé ·NíPwkx”ÖòÒ€O…Vêñu01H0àù-r‚{£¸ÊÿìäJ[ö»ÅßRí†ÚÚþÅQ®·Æ}þõ‘ŸX³s4•Û×"Œý]"VrÝt^”?¡až·7þw7!'ÔÃo &ÃB&ç>8ˆ{È•£cµ«<@‡kñ_k`ÃØÛðð›+¹„熯ÎT­ðWÍá¾€›¡´R(B'êÁ¦/²‡bt[9+q›g"„E…R®¼n_G±6Ȳ0z½#¯8k¢p’»‹HØ·Š¿ç[NÕ ]ÿÃì'AݹjÓ®7S¿ u´Gü™ÝX¬vìÊvÐß;ú…›N3È–V”6-j߆H€f !Ï#åI®D;ё̚€G8C5ÒãïŽhšm‚}‰ßÁøON«ÑÆEÆgÃBcgÀJY¦:øB}ÐéL§9ÂÛmi$Eer‘ã=d){åM E‚);°N¡ŸÑøš"K¿•xÕƒ”P¹ÖF‹;#qž¬¦´‰C dÝ¢?ìÞ±îïîw¢ ¸ÅìÃ…ýPçàfÓ–ÀN™•ŠŒýÓ= Iš¡ö}7WÝ¥­0„LÃ-ñ£zãEø‚^¶È7æ Çfбb²|зâ=E›ÈšzlÏkïÂ"pW~±e‹Ãš¶…gø†i 5KK¤j„Ly“þ-$bõ´9¹§Òïå;äR¶ Fm‰:QÇfû[‘R ]¸¨.ÖûE‘ Å\yXÇ=Õs½Æ?‚€¡|RE™_ ¼'þÑ7DmðZeŒ0žRÚ›²‹V¼Ø;¾HùSš¬Úåÿ[Vö`¾áåö‡aÌL€DÿàÒ€Šj·G•MF¯—Ì”u10œZ}›êIà“i~³é—zt rn ~ÇÈ ÈÚƒ<7þ˜Ãðöð`ò£Y'@5ØÙ!NqSÊë»x=ÎÓ@:2re"SЕ?§¶Î2 ”áà‹¾K ­ñŽÙC{ŒƒâÐÔ·¦œ„¤y»Ð]üh}šÀž@!|t5iŸ¹Ï1R©2èW("“.AëE Ué®ù‹÷ªÔZo¢(èì6jIÁ+ù’Sá'íµô”Õ×ë- ÜëžñŒÑÌòoÉæ=œïÇXjNŠ‚Íðã„“|<:Ò¹Z.Ôôáÿ}–t kæ–:€²áRÒ0 (p‹KBû´à!HÅU´‡·w£ì–£ûà Oé½É£Y(ªÚøù"Ö?BØ `ÕQ“K(~=ŤØÖ"“ïÆj+å°s¹ÅAZµ^ÿ©µ d½€ù üE³KíölèÐ1è»\Ówª¸²:îx‚ÊírkÞ£gß8«,?ç‹á͉[èÃ4ç2@QöшrÄ÷î0ü2pÞ>ºM u¢È®Ö©:Òˆ7á;„ àNBí4Wè„RT§ ¸³ÔÔ=;Féy±-}s‡uI2‘~}ìÇM™Ùz%…ïqæÙÙG;¡q–º†XJcÿwpèóÊÊ>¨·ÏsëPç°ü©9œ¿ŒÉx`]>Â;ˆ!ÿ¬ÇL¨¥ÛÄ0 L+Ï|}ңߛp1UÀÐr[Èæ;Kd±O<‚ª¸dCe |Óvd; jzÐT‡N+4!Égq 3Š¥"Œ™PbÈÜŠ[ëVŠ@+ºGªòÙ:bÜU>Èøšì–¹[óI>£30 ²üg§þ1ëÑи"ÉéwW&ÕÑØ±£ð”{ÖOíVÔÏjiâtÆ2 :¥¡™I™s­@»±´{ÉfÝå¨3QÔ7ùH÷œüy– ò+ÀÚýÜ8‡¯CcBlpûC!RÉàõMû=½—.ÞhfFJYs¯³J¾lÖ_gÚRz’Èÿ§y‰)Do£¢a¢ÌífJ¶55”jšZôÞ³°á %'¯V(®ë‘¹ÑrHQO+‹9dfïÜb“f4ÊÀ÷áæ©œK¨îé‚eëÝv¼=\Õ>Bõc«­LOéÊ…•P'i^žqW3põ|ªÅGÉŒ»* ÷+³¬žV«ö‘´^Ê(¸6)3¸¹ÞÑw(Jú0jåçs<JF‹ ò b) ” –Y;³t_ö­¸õÖS»Ÿ¨+.¼ùäÂC€Æ§sÆtÊ›œ`´ôaÇ® ‘êl"ØÿÚ“Œ¶–nd=—¢Ð ÚµJ"¾ÿƒó¬Â=©¢«&©„„¼ÝÝæ3Ñ@-øßÔ]Vh?v$lT†Xý¢ýî:üìf’h‘è®pxÜó®¯nÙF¡ug );ôXh÷¬BGÉ'’g ¿YZ*qÊD‚OÅ35›JîÐHØáW«š°¹Ò,b8u× xº1ž¤Xì¨#ˆ'‘èĕs°&pU§±ùþ¥M>¯ƒ7%àïÉúU†QØ 1Ø4飸ËâFa‰ý0oÓ¶å¡n?}£žâܽÞ?pœ·omÞt¹p0ò7Vº/^~,Y %R–p^fP:5\åüµÏ…¸ô‡Ž£ÁÒ\ì°ûºyËýÕ7B´2(žñØ(\PE…ŽÉ¬q~mðÎŒqn&õeð$%ò`F=|A\šMeléµÞB|Éíœ!½§ŽÖ|À±E¬'Žˆ=Ç| £Ân{þËâLTµ>¨XÁÏ"° dKʸ6ô$æ+N]è YzËZ:SEj?ྠöæ€dÖÆ-ô æ/ɒ߯Z”@¸tr¸ŽpÕŒ¶ÛñdXÝ »˜æO;’ØX^qï‹1³ ¼Eä ¦ Ö *¹1$ÖÎ>öžÛ¹3VM+e.§)ÉÛ*ð¬Ê[šq¼Ñ.²ÚßN£âº{1eb*N82‡Êƹ»0:yöªžâè]vLôõØ9¶ýZµÁŒ\˜ì]»u†‡¢ÔS-6~‡g6Ï8ÄÃ[`|^Ò/Ä–=2ïàòaÜ›Ÿùâ÷kKÈZÎêF´’žÕ–z†¦*,AÊ·š½Ð€çªV §”o0¥¹)»Lfì_Iøºûð•Ü%×ê¾â$•3 #¯%B•ê–ï¬òkôâÖÜùáIhy#Õ³»I|šÃó?=ÿ\Žùs™[E´ï.ÚUȃ޻©¡Ç°ÞÙ`‘ ÿ¹…²V&ûœHÔ+jŸQ0íSžû>WsþýÿÈâbů­›¡…Ý TÁãnáQ)A€Ñ)AÈÆÕ(*¥°w”‡ÛOc–ò×lѱ‘üÜÄ,…ÃãO~ª£7¹… ro.Š`4Zß'‹6Ñ–*AC_ÝçlÛì"É!Z,ÞÆD ¦wèt²=Ù²ò71ÆÐ;ñ?Ô÷6ß$=ÁUó=Ø+.ÎŒ4ŽŽwõôS“Ĥʅ)íÓzQ9ðNNßù‹…|Åéy*¢?­ºÒSì­ · .ù>ž0—+Œ. ewšâósÇ#Ûxß‚ÊÆ ›óÄÆ™H8³""ÿ êRåKÆi &Ï}‚½Ê(“ÇÊ?DuÃZÉè8Ä–Ï›ÞáEõß®d23ˆ\Ï‚ 1Ojt‰påšÕòYʵÏÍéÔM¤v%ðÒð”*7J4žÇ`GéÆº‰mUCÖÎÊÀ‘£×2ùâVñx­¢î«Sˆ¾ÐQÅmE$ë ¶ñ›¶ÕÚr-ØSè°k"M~ÇC)xá±fî¼ß ¶¸q@[¸æ@¤¾cNð!ä?x"Búþ÷ö¢«êvvÐ:‚£'ãõ&¹ ÿO3Õ®ú:Tÿ¬]hpS†çmˆŠÓ&Ó°P ªo¦ ?€Ð¯¨€µ^+àë´6è¢<ŠÁÓ’lâw9»tßj>»ÿJý€|]¯ûäªhøZÐÓÌDá$‘ûöëü 6üÍ6J…2P¿(V1]àu† ¥R ç§wr‹ç{Žšqʉm|±ŽêÜùç™âiÙ{ñ!•¦Ù6’˜ð*9Ñ2C:rÝ“ÃwK³«ÒDïogfé]•ÜwñÏ‘÷Bòu”bӳͩ/›Ó®~³C¿ÂhQ«C»‘%#á" W±‚b†ƒš.Çáù;ô©™V¢Ö˜-“$Ÿ`ľ›gÌSéy eÔ4Š5vJ?hÄ»ÿëJa$g*­^ÊH¥9¡ý´]N…•ÐYùjÙWø0»8®Yißü‘”×~;CAtÓ\„ hó,G"Z¬·O w¯rOÔæ•1"'1+¿ þ¤pŒ¦0ã_Œä¨µgŽƒe|ñ,阘ßãrÊáêù¢9s>úSˆÐózÍÒ3=±áá †·ÚÎ +yÕ}`"a]µ’®§zPFžhÆ$Ž| Á >šà?ÔP±ŒÓ(½Œ"ƒg'w.Á‹oæa¼·VÂq¨õry€Ûzž)$¬kbj–üÊQò$žQt‡6É|\½òXCüž&ö¡‰^¡/ê?g3‰Ý|ù(­£½ÌÑΉB?¼ÄB{òM7{àTrPûr/¾yUs£·üöæ9è÷ðéGY@‹ÿÃ=úJ³¶!üt’½JÙè]Cµ¦kweË3LK Ë2`”§ž[ýUVͨ° âïïâB(ó–-ªÁZ¸\ÑlÒžÛ\í†eÈž¼;€îå2°›Åå¼êþ5Ãäõ£ 톨BéËÇ{$>{:äþ<FŒ ÃÎÊúôá{ YGúѺ‚w‹-Òq1Öd{/)”Ãþkd2tjTêt¥…Ê™áÏÐð¾Þ™5øç&—ø\ÅÌq‘êÊšÜfÕî‡OziíÊ‘ƒPû8Y¶¤#;»x>ÉD3P7UÿèJxaøÕµ‡9Û°:¤‚’Ýh8ƒt`{MÖg‹ŽÊïi3È|_ù.ÄH¢øR*~Ô¹˜À‰^0P°7 à0nJ E¿ÿT»e²pÐIš‰—l„qŽ7Ý•%¯êuÎâ—6IO ÕΫ}Š/üi.¹;N'’áÔÚöm³‰Éb×õ>v|×Ö$IâZ†(”Zаì›G®±$E$+>ÅØÕs å ®ùÒqè.Ûoøx‡R OXå@6Ÿ-–·K6¬b0†§ öv/šÍ§8¾@°íú¾À2~ —¯Õ™äJ Û›Ùñ}!(‹ú·B@´‹Úú gðiÈu¼§×¼½Ÿ~MY‘³ì±£‚£?ù›ˆÉíR7¹±q¤|·þ?YÚÓÀ´Ì”Òb*øï! öõà¬ÒýT~?j‹ì,(À ™Â!£4²r¯ºˆo@~dAH‡|0°½£:¿Y@…Û“`!aÄÌ„ñOPƒ¼öÜÚÑžKÒP˜ þ{/„ÿÝÆ-—™¸º:HM;ý6Žö©Z?Íb=èÑD[ïèDÔµûª×†çÍ&r/ä¶ü¦*“Fy¥KîÞ]4ºy„{µB§ML¦·a÷D‘QÕóî¡ï‹S1ÐÞÁ¡BŒ ¬7R¾NÄð. –u"˜ùÍRÌÙosg³zÛuD¸8Õb ?mã4d:ùÎÅ“ÃÇíÍ6¶/ùOFW°݂‡a]ôà(•ì¥uA’k{°xƒtˆ± É÷ ƒø„æ0Þ}È•^Á^S3Ñ óž†g·N¶sé”b·ûˆ³ÃÕ«]¸¸IÈâ¡BÃFJ8h„Þqý¿ä£Zq¡>ßZû©má6:ƒ¸îå=®díÇéÚÂ5C…ÝG8§!¦ˆ•­vÅôÙ›bú'ET}¡iSÜÇ2¥G¥üÚïƒÛH÷Úxs!ÝÓ—~±ïS¦‘ãàÆvQ~ðùàè¾wûð| ;äLE}àÍÊ©ø%ۖ㩌Â|ð‹|¤ÀÞuàFê| ›×å‰GmSöÃ@*`² t„7\}u’ÑÑÌ\:ûQâh·j'wÖß)’æ ¶“] NÈõ¬j/×öêXDd×݃ 6›BË%½ú9ˆæ¥0^[ó×H€ÄÁ©-kÚsµ,#·Ì÷ø„Ž¡“i« ƒªç›¢EÞ7~X†ry}ÒDI+(ta@ó2S[~ÝŽ®þkD£¦ü§Ñ"ŧpƒGg³±ÿÞ¸­¡iŒƒÊèé×^æõ….ñúAq§Fžçy»Mñc´R} ¯àûÏ„RDJÈ=½*3œ«Ÿèá7 lj‚±}yöø—Ù1<¿ðƒDÒ9owè›#.¹^Ó¯£ù°Vo¯oQ¼'³|ÞÁéŠÞS‘Y#ìß ¬WCa?z¤W(—Dèhó›±Ã•Y—K8ÜãóÞ#ì,ä _4Žñ¹yž¢.ÒŒÿ¾Ì)æÍ}gbÝ”÷iÜ™ê âΉZ_“O΀¶\¦œ¼Ìy·fS::´‘^íøÃt‘ŽBÃ_Ì ÓH^×…ø`;ªÀGð­âÐó‹¡Á®j´¢Ú5 »ã˜ý“DnÆ£æ(4ˆ»¾¶3GLC“#gTk­ÎåÏG'+Cžèbéš@Xb,I©E !?ÈêjAy·‚1ØZÒácyó)k–å$8³ë¿¨§9àô"ÐV¿j.;(l£‰{ Á¦Þ6 ©qS/ÛïÚNÔâ%É‘b*ZNCªHL•)­ü¼šw€¹Ûx“Û»hȪwà”Q°ObÌ<[päe%þ•ºÌÎF4DÓÈwû·¥êÁøk¾ÂJÞTˆ½]7²_ŽIéæïϰÇ~j5%à /6±GÀ€¹ˆi²n…µ­Ïžrœ"¦¸#Åã`Û 3ÖLÐÁŸðJ^\÷R©6kÚÈRdÈÅGqäfïö]Ó‘ýKAgæídtüS ÎXË)»›¹[¿óG"êÓAJD4Sˆóꨂ“°z'µ"ži‡6:½nâd àn3'”ŽéþCr¯µ<9yù'ôš ƒ3²‚ѶJ'_{R‰‹¡5Ù.~Ê_ <:¡Eä 9/ên‘‡.m¨ž™eÅUœ fíÝ„¹IÛÑUŠ Ò^­4/JE?ÑÑÿÓA(È(âà^f·Øl ]ØïZ¦B¦ò±úwjJC9™ Saˆü® šŒÄȼ¡(×b|CJÐH檲I¸}X+MÞYEbJÀ)æ ýaQ“-±6ßBì­ì5¾FŒCž+®7F)‰’›•cQÞô],qqÆÉ šJáÕx†á¡NšN&•gfÔ\›ØÉjsk@ŠœŠ«ÈÀ¯Àä"~åŒZ¿{cB¼K9QA׹خÞ4û_Sv~ÃQž^ªbš˜ò¯ÚMäŸZßÂõ`¤yä]¡|Ãs)_“$á¢GqK£}¹7Óá¾ÍuÿЍ¬¬ÖlË¿ö¤}¡­}H%W¹ü£‡N u,"é­³K5ÜŒÉÖ”°Ù_rµOéJTâÚ9B:®˜7/5Ã=\‘ÀxÍ©™%TÆ\œ¤ïb„)÷ô‘n$+Ö˜4Ä©£îßœÝP¡q¶ü@V–øë$ëþÅõ™Oè‹%Íÿ?]®Gêà„L91쬞sL`¯æÇuN0ÏãÌáµ›ÙÚ“2Oë.:{ªâ¡Ë»¿E.3ºã‚λdʳ¬QðÏ#…¢*«6ój@%·½éƒšÓ€{Ð¥?j(Ó–x 5%ÄyˆH[××òË£¾rX>Õü@9väøV30 3¥1”Âi3}7„„3Ðs-ηLh¢^YÊî=0GçÔ½B[ñ(Ì]˜É˜ <뉽‘£~c •%Ô%‘2•¹OFƒÉ ËT|ß?úóÀ…¹_ñF¨¥M {]dVô°íbSŒvƒ »™F Ǿ —§7JVÁnË/¶•ŠÍ(^ ¾ XäØFôIje`Ÿ3%æ–C1MÅi±±—%£õýá_£>³DÉ‚½ÎD™\§f=êoo»œ‹„\Îxæ@Âçc¶æ€$—S.±,‰V=ÜÝAkª‹=o°–lTŠÎ¹Tø’Å7BaÅz1÷=t££(´ .qhãÿÍ*–Ë(o½M'ƒø‡õeÝMÇŒt*þ©Í‘à—<ÀJ– žrYz„Ay€€œa:±Æ ¸FJ·û°:¡Þ“@—Fý·GpÄÝÓr.M0^AKT“ŒßvîKª|õö/?Á¡3¢ðK»ô…ãzÛ.aäÐÅGŒ1ž\ÌÔ°~0ö.Á•¾íÈ-g­ÂR›ü ª  º^çÁ­rJ 0eÔ6=KùÎL¤&6mn½hˆâ[9"Ï4·‘u‹V•« UȳmœññSQ"!¢¼])‹ˆ¡£¡ï¼úpd…¦áÃÀéqÝOÖ51El{šÙcÿ€E±á§²gP£0lCO1lû¯W± ûÇ<§Õ$¶Ó~¡­‚^Úªc­Çßc.:z)ï”¶8Ú q{ey7dõÚÅ,tIN¡)ÍJâôxËá ÚvÚÖüGRÒòXÊSÿpôäà¬â Ð1Oç£fa§¦j‡À +XÅI "„²„çÜwþ&”`« å6ü‡ø7@CTØZ«£ µ0Tn”z 8³d {îl_“l©um<€Œ"­ZÝô%le„61„» ¯/äÑ(tA0i*ƒÐm\ÞjðäŽa?ï<˜ì¢oxêNm½÷òÓÂÞ!͸ÖwïÌméL6ª OÏ.º›»ްî/«ÓððÀ¨ë´N(2Çã͉.y[¶¸ÓêÒ dÁÁ<àd âî¶'ÉLN¿ÒÒ‹hޮĉ`oÛ+þz7U=âƒÓv+Ö –}gYíKSŠØRSp¨×™³©Vv·è¼OnCt¬›ö1Þ1†w‹¦¯„ þêj‡ ’—Œ d5Ôt;Ó³²e“€În̽ g%96Ø#Ç`Ò¤–E}Êzš1=ý‘V¤!')Â9ÏD)ÏA¤“’c;ÖÛa.Œd"°^¡Ù>ëO=(÷ÐgÔeZиÙiÆÊÙêÎÆ¥6ô°,X5$Œ¦R˜¡Œ€Òx5,`IåfvPqÚÊëÁ™€òO€ÖBf¬Ã/Ó3ž Ðè‘ï¨åpÖ á.æ*þ•Ò7tèµtß|‹|3xŒ×Úta¹[W¸žö…šÛ\½œ\îáë“[@ÔAš—æ `Àߓߣép)©Ú® K3ê3¦•Ñ<>WaeCAFœÙ5lÚÄÎÕÍP#­bûΈ—gCñ=„ÍýP9Æ$ˆû`ˆ6„ñìWž5œÊ5mU?z6®8¶µ•ÿVg­Lå3ÿçQãO$½2A×¾ªvœ7-›º>È.GI}Ń]Ò/ÏD(×[•߉eO¥oœ³lµÃ{{Ò;.±ùîÞ_QXòÁµCÀ¡°ÌNg¶‡sÚ¶ò“äÈÿ!#“ê3úkˆÌ9Ã\Zêd‡·îîŽLñ\d °Hù^ƒt¯ U;S%]e ëÆ÷¨£bÈ  $˜8?£LÖı¡Hm®v=òKk˜.B?"IûMQˆ:fÐ[ÁöJNÐÚãË3k^Œ"þ˜¾&µ|žVÊ9¼Èí3ߤþx‡ØõW¦X:Lz+7n “4 2Ú!~°¤_p%ïãQ_Qp^€b JêëÎk.°Aêc|g)àç+Û’ú& ½Um”쬾j}GA£VÚÃv!œ ³€úüné9íJÕ"5„Þõ‡ñ.ôµŠ@CãýìgUÅæ‚«ìnRÈ^váô‘‹•Ã"M?ÖÉ6æ8Ö›¤ç¸nZUN© øÞo<Ý‹KnéÄ9ÞxäG ÏV‹•CÙJ&IÜ0™ÉhiK«ð3ÜŒðWY®Ò­¤S™z“~wØ©þBwkú×#3r©c÷£ú¾R $ÙÐpqº6«Q 8Pÿ¥¤—©ì¨–ØÍGUl¡»¡:h]Û”2›$¯Ê?$ý¥^¯^&³8se»“%‘4òð˜Ð¢¾Ý19jB#@›æà7äoû EÞûÂçÆë.å†åŽxl0ä1©ø_]7HànÕØöÆ1Rý^Ðflž¶­ä,ií¹¦­©¢…õ“{¨.ÈïcYƒ­•ng?K{¶‰­]_ñÚùŽãÌ ä]yϺ…IHMIPÀ'O¾BIãÅe¼[E´Ìoõpãà’¾.¯L¾›ª&ë¬â¹µæ¹dõþµ³:¯÷J°€K ÷¥vü VªZA¼˜F0?f¶Œ½ª‡uµCÍì*·þ?:ÊJ8ü u‹`ŠÂ‰áÂêTÄ鎓™4aAïr§TÂضЖÞ|òÇÜðùGé<ËiÍŸu0]1`›!B·) ÉS¬+(§Øcûת—Ôa§ŸÖþIÙŒÈþRDj ðHÏë^çlî{zíiе1“Œ_å§Ï 6¿€‡+«ù³¶‚ògú‰‘æY«i¥«Ó´€òr>àVjë¸Ó ׊"E´*c‚áð²¨U_öMàþ öt÷Kûqð©·k¼64Y&Ëç£6S‹í¦ÖäE»ôÌü)x»ø›î'j÷ï5¼øèÏšç²ÆK»s)dÚ²‡ï €œ¾…´±¯ÔŒx¶£! ¥ôÒÝ­« :à!ß ¡ß4„ÚhþKâ4œüÂóñ¯Áz+9ãU–E\L#—âˆþäaz ·z‚;œ³ÏÎ$Ýô gÿígÛõ8Lˆö Óû<:Hédcü‰ÌzTŽ=År–œ¹-)t`%¬áÏò±œû}GyŒ©,/YôU$¨§P.aŠgŽ?$.k3[baWÛqv™ßµ´ì»ÞîŠVk½Åø€ÆDƒø¶(#$uyšÝ±0ÝÊ À<™gbW+(Â>ÐÄ"Läÿo„˜¡§\M“Zu„ví-¥(³ì#Á ÑyÄÂËcò«@LÙB>cˆ\ÖœKïTŽuÇ>:}}ÝѼU—7¶© a°vc(‹¦3`¸ü È(Z™ãµ'§¯¡ÃàÀYì^yV®×ºWíŽûƒ´<ã[a]Ê,R/õNæ‡X8Š¢ñWFúí·/CcôD¡üúy/ïk—¦Ü'ÔËã'1¢ ]"BªGÞñºs¼ Ã&NyÀœ¯4 C¹¸“=𙿂i¡{·ù8ÿùŽûGq´ye´õû„ÿÙÈ,B|1JYx€}²­tÿÞ Ã‰ly#î{©Ú[œaœì‡–Pv`¿žƒžtc"¶– î[JÚÔ§/‚ŠÐø'  u\‰ôˆ'“ÜQÍU÷þµÅŽr«ýM¤¢>´’æèþ#äU¿ÔÚ5$þRCĄݣµ"/U䇓ö\ÂÈçÉk€›¥¿òÐÛ4Çг¿ù%³s á#ƒ˜4ÿ=7ŠZªø_ú“ÅŽÕ#š#@MîÄMÄsyþ‹7U²Jí.ó0æ ev‹é€qÏÛ€-Âf7ÕƒtM¼‰cÕ* ­vmê…×›²¨È9rò)oËd4ðɽ—º"^'¸¹dâ3@jçù(ÑÆÐ0³ýñ>€–¨›5ó7Éŧ“ÿU0º›§„¿² z"À9¾]§„ý‹ÖЙá´TlÚwÏczÕ·iø´`sR–›ñÌW@po"j*óã@üA©eˆ°þ\¾æšüéX9¥¸Ìý4KòΚ_ÍH.;¡§~V ±”nçT.{Â`‰úi h\¸S55—äWàK6¨mäd•Á&f£”6%wŽ¢Î!1^5Î1]C0¶Tñ­û »h"õÀžÚÝ@™?ÞwZsPB Íñù$ýxæwöšì Ã)E̵OÜȘ:ÉâÄŠ³òl1â Çq‰H|’Qù†0Óζó>Œ—¼G¥­ñù]¾6¸Gë„Ö󞯾‰òIó<í2JWœ9ëI®ÑNƒju>Ä»7Þ|M©KA->•ËZÖæß—á²¦Î±(i‚›ý >‘VÃz¦ƒ“d•I£%ø4UTÈÒphŸˆéþš &ÿZâ&Ò”*ÊÙí»êL»÷¥9Xù2 ÷B–+ΦJ1Y††°9Îz‚ÇêMfðßXh>"ƒ+“”×§+i=âtÖ mc.²Ìêbjƈxñ¿7ã8¯ŒUöJ ­å]Û‶EC½>ß”UNÿ²ÿnQM–ä–>ÉŒajœYúBWñÅ/WN0¥#çüBúò¶HšlæøU”Ë®LÑš¦8¤¼ò£rz ¤Ãjɳ7`_.$ô,ÈëÎ9ÿ½$šÙEeÔv\¨—cïÉÀ%hQdAï£~ô…Ë0‹ÐhOj°“ÿƒïW£-­g!¼‡lpvêëv9>Âã¥J´ßƒ[µS‹$ÍàüRâm+Ôãê˜ÆÆÓ‘—4~ArQhË 7®•Ú¢FÑdï¯Ö“ºm$YÏûAì;Íæ©Gm³"’u‡òª¿”xB\§M¾ÒÁ†QŸåúûæh{”tÄ—KÖ]ÿEÕJ&î•×Ó<{!= p|¢4LL†àºâ' ï´–u7Ž­éƒpˆ¶Ž€ÜþO¹˜Ã%xÑÞH#B„äÁ1]„¬êSyZAãáã§RÖÄøäËAÇív^—'…¶Šã-˜š"¦×ì2Å7Pz„–p±—XrùPqºA¹|Œ8Э€@©/t+äÐBEïEö¸$wt¤ã×qÌMʸ?S>0`Ôuê“ê„$™pì×âˆ[a…o".ž»!”k ÎBÈù*›°Êq¢ß…¿7¡Æ}¿ËF61Òß$ð«õÑúžC…Šì7Åš£7.> ýÖB[Š¸Â£ÉÃŃ1;¢ü›z~*–§{=åÆÛñØí#:üu}ñ?ù “µ˜àkM¬GžbŠ4Q:JB\Æ„É_vètÓG{Co×Ü=0"šufY¬ ·´)ÍVaÄók³·¥åL8àöÖ˜ j_ù#U*ï[´qùdQtd¬…ê¾Þ‹)Ô ¼(‚¾ç„¤4UîÒ\luU¡µV'Ç•›úK•½6-1ÜÑаoM“Rí1®šå±’äíÚï—:á½rlQžZBþ~3JË…nìƒþ¤7õœçxf<.|4ëôªFIòG¨5ˆ´üa«z z+Ì·‰§UŸ€`‰L†êW•bè¼.â`ÉüÌXM³‹Ó¢‚Íù‹È›ڡ´x =nD,åsQ¥3¬q½°9øc±ÿ¤Ôõ÷_VŒŽ† ‚Aå.,™è?ÀU÷[-õ—VQÿ¾¶Œ† vG>”‰ êîOíí~PU¾€(jQ{Úÿ»^£!£@ZÇ@Ô‚4ñÎg`âäB>/ ‹¨õ£‚ØE @ytª³†P©œú2¿êmÌ1é- Ï(–%˜$ ˶ì£È½/[DO” ˜«#P±f––eŽó\Äñ‡-7àpœ/…q Ì(uõðY3Ó ñÀºë¸ÈŠ'>KÂüöœ:— USý}ö¿FJµ·CèÑòàÔZ¶G¾¢±2ƒyçß³x°~A¢û4ÃÿbH½ÌäâôÊgæÜ©¨|NÔŸ/”×MµÍ–cR;Ô÷²kqPå5¶K~ëUÐþÌ®¤NP¼o8Ü÷ÿó¨£^-:eÊJ¿H ]¹‘ÕCg5òÉhŠìæû¢îYA&×÷Ývþ5ÕCj¬ô°Ôn€C@sýþèãÛö& ±Ñ‚B•ßœ·M€‰ß¢kõÁÛ) •¤ã¯f_`…‰-m-ä¹dÀâ'€âá-\åNŠÈ(Ú8ô<–× Ÿ?êt^~ü·p]KcÈ}Y¡aùõZÚÐ_ hýxÑ÷3(`a±Ô¥bCæf—3vbh=>¼°Kë¯WÃ6,Ì÷¸ÝšyQgƒ ©²Ù)ò ±™ºÁ(X›B4°/ü..ê† ¾MïšöY1¨œòõepÈ!<”!tØ^Y¦ö†ÛÝ,œ ˜C°®÷ 3ÑÍ7ì3i3)‡vû‡ñ‡Þ8ûñ×n¬'çæ°öuâ…›¤HVI*A{P•9ö, 'Tzb_¸’.V2¾]öIÌ*ô«@V?E™F½E†Ú“ e“FàlÖƒ]¬6 ²=äZðWlß O7xÀäB5æ¤xsCSÑÄå:;8ŒëS´T/E=**;7‰­ kÆLN= &ó_œÍè×´KæG۷Ř@–Ô±Zó6rWX·[“TPLãæèlûÙvvNBHØñF5É]¸qbÉ‹&ïóES˜Ë:!ø" #$ÂaçöÝ“,{p#4?QÖ3’Q zÔ0Lï‡<³Bƒm „DRûÿšÎcÎm§´'!E1„€¸^iîsšÿ CÌQgî¥ôœj Ýq÷‘­ÆÒÖ@b'­$a±Pþ Lfû…/x}½!Íê‹¿ïwJ­½ÿ.a'µéš´¯kÎw°º·‘BÄ_ Ñ|„Ï¢qV*#   ýSʤ²ÀX^èU thmÛ:ÍtÀjö"dÉ÷ò/›†¬#Ï”6ÜÐ&…¾¿Ä]ºD]u/S‡¥vÊÿžˆrÞ·†L(g½Sk:Žè<,;ƒKS§µ™ûÞÆÚ¼ÒTû:×§Y—3°æKS® `w²é2µp[xëÅ¡2áTEsœzfãòïøÃ;ådUÔ.+¯=`­2û!qÿÑ{e” ŒáËð¼#LÔBÖ@Gn>3 J©Â>šéz.ƒZP´þ*–›ÀE3|…Rv¶ ˆæ4ЮW©Ç‰ êë|Zï8xÕÓÏ Š]þ7!ïž„¡5“v öþ{åè1rðaKP¶ ½¯–~Ô™”)?Æ:›·‚!uL=ÔƒZ JTóÎ/a·|êMök?ð„/Јñ¾è‘] ¤ ‰:0y2Žú”!\’´_õLËÉû§!‚œˆ$¯§b½¤ƒ•ßA.µºUkZºdHv¡+XÎ¥^bÚgßåRÕW#µ{ó°ï6>T-_9Ÿ¿z÷ro_ Á†ž·ž6õ%•7m˘x&8Oì-£ýgCh¡ö–¼užÜgÙMßC ×(ƒê®œ­r'„ ŨFžúʾI%›·.êì´©ÆeŒ,èàKÓ/$GÉúØcrüž-¤Ô #Þ÷G ‘pª îœó·)¹Ü ê9yoÊ >¼unu q 2AÂD8Jìhk¡ËÜtlÄuAOØ¿ý±$YàˆÎ |~+BÖ—Á¤+­<å"Ru8I[f©$ ³Í*w}‘`€ŽÞÄáªÑ ‹B/ÖFb‰eý¼DD•ÙŠÏ{¬5V=ÛUÃÅ"† æÐâ¯ú“<¥Ð{HM¼bžçy(š „²™êj$ãÃ"Mà/ÚVŸÙ8H4~òÉнVo…øÖZfºÑGŠa oV¤Ð»¼r 8–J±ØÖÝr»Žv_ƒ 9¯:ŵ˜ôð§ùˆ«B hà²åe ºEvÁ»_Ýt)±Æ}ݲy KdÓ·–=é}é¼ÙQ”×V!å$\>Ñ©úñÉB“èr7ž˜Üð²¦Gɰiãˆ/Ùbf!Q â}q{(2Í0Á±á·ÕëFö· …Ik_§]ÒH:©MdJ¬ uß_u˲}™Äå)T™êðkÐrù=E.‰3Î-IM¢ªå¤) ºU[ºrƒ…y½ë“Mg¨[eÚ½)yù §¼´é=Y¹d¯m J:}†Ë–C#r»Yy”9{óS…¯#ÀzÏd;–Ú+‚âëžEù}Y£ØíÑ'qTÖ…•¶Bóø½Óõ [Örp/hŽ6{z,œ*ÍÔöJVƒÿ@¢·ã“(«ƒ§^#8KˆŠeáâ1íRRüq7€”—­qô™Çw ;–hoK+;— Þ‘ÞtGÃüÁâ@ ÙõÚÁØÿŒ Ì %=°ã÷«ÒLY5ê-CO(0$ºw&HMìj­M+‡ê<*rþS¿æ¢—Ràö¯ûNèmm“®”€´MßL¾™ÄÖb¥oƒ#wˆ=úQ´_°íSÏD} pPˆE4üpvn’WwÅ-óY±À_%Ý#£t<ƒàåÛ(ºŠYâhƒjþ ¤8DîX«««5šsß"rV'ÒGÖ¹*óÃØ!”ˆŒÁ®·½€Õ gÌþ7ß¼±ä¬|®Â~á‘~±Z(M»å(N¦ÿ«½Ûü48±°‡¨òŸØMdx5£€Ùb6ÂÔš ãA¯Yì³KŒÁ.Kô?·99ؽe}ÎÄÃÉÓ×¾˜ª„Ö¶¤néG¶ öìû7¸h¯t)¥©³;GxUH²° Ò‚ðeI+cÇÄd/þm-VÄ)ýCR…ÀßçïlK½S4œÒ±ÊE Öºµ Àî„MÛkØ’ÿRÁx{¼Ì¼œ¼ÝÉ­"&<Æ•(\ò{CHå¦ùçmsgx„íú—LÔ‰“O(%çR=Xm<ÒdOš®k‹™Mmxùë´¶ß@3Õ+¤õæ¦$ûúì|ÝqÖ Ì$<&ݸ†Ã<•_\öŒ0CÔ†5¿iOÛОɒ]R•îOí%½Þ`(®û¹å HW9x˜P)žÍ(iF©q‰Ô Tk­£—?h¼†€žl‡0¦Ï¦Æß³Bgr¹ðÌ*;Uª…!‹Çÿ5?…2ÖÛZÛk¤17Îßö¾c“õ3¸†|ÂÞŒÝ g[`ƒO7u¥˜"†¥öÌþdy°€ê‰œàË(À%íRí8QœI…q›.¥­Ù Nsî7ææXœé8ÄÝ5/_Í›ú ÍÍÎê¥×ÿ£”#ÿȧ¿Ü$s‚Šq&!|Ò"·ƒìV׆%Fìs[-QìÙ“Ð×ÀÓ? À…ãdÌÆ®âa¦æv»óû&Ël¹!6ƒNš‰h ª5¹;S‘Â@à’uì~™0VË9•(\_sRn\å(ò<_†á?ß´ ›ÆÜ/•>øÊÞ“…<É´‰Ñä½GSm>”„Iââr|–æÚ²„„¦Ã_"vlô$ tdaìö{3}I©$84Ï_¡eÂ+A»;˜¾ªìztjaIèᦷ+!5QÍTf…­Ÿ0j»øS–êPဨB€â\‚jÌ #ͽ¡¹:*î FGo3c¼"sC•Ó‹{ãB¢Ø§Å\ì%9áIø…ÓiAέO-’´O:rQ:t“.ûøª%P×zž˜DcøP¿0Íü¹h6êÇâ‚çøËx¸¯'SÕŠþOÂgÖ¤T2x—L0⤙ ~[aWëóÉ@ *ÑǺÝ^ëG3¸~Ù¸Ó(Ù–~ÿ‹’Ô0 ;¥"ÅñÕ2+]ñEHd¨N`ûÀòƒ4 ­¯Œ¯›êGhÊ=epTŽP¯Œ;ŽYᨯ ¾]ÇË…Þh¡ˆ¯Á[!yÔ7ÙEÆEªÐUî£9ÙâѺwŒ™kd+ŒÒzÏ”¯*’þYƒl–ìý|òcˆÌª§d?Ù‚Ñ™ø"Üõ#=û$úR}-Æ[~»KGýÑ`üî댃‚ǯT¯‰q°Y—Ä=khõÕw‹º ”ò®|]ûòý~)ðp:yóE~P÷œÕ¡’™#|H/»ú‘5°Ü¦µ{‡i-³´*yiµÌ,è3ÁÀQk‡ËÁ”‡!µZ–öúƒ¹”“PèZO£Xÿ…ÑËozÑCrk$Ùb£”gÃvâ×›.ÿ´6L[äOþ.{*Ê›BæoJ‡-AÉ›ĆCïA¯žW΀f!ËX "ýÐ5Ýðôr7ÍF°‚Õ³.”šÁšT½OW-£D¸Áu¥Ë2cÎùœóM7ÐÕPNõ£ÄQ7ÖÁ‚]ìL1¨C‹]‚È¥®kösjøyržÄžŠ ÃâÃNq@Ö!¤–o±ŠvÞÂÔë¸%6ú5èÕ˜n)…Á.+nf!vGÚ Æ«R¼˜£€ƒmý×±ÈSE ·ãjs§™‡  cƾ´Óöa§z†Ä‚]U(<þãã4Êá~¤|ý®“ÑyÑý„>UÒ·k–T­B.a–‘—zbbÖö\g®£ÑKž=0”é,ã Óêe=[ A[-ðƒlƒ®~ãÌ~…)–8fBÚ™TGKL5„ÏëÅß*LOþû2žÙDÊ©‚´¡>¼Yê ·íƒe}×:Ñ«¢þ­yËQ£5ª¡¿³îÿ? ލN<®H×êŽç<z$©|L)cé»?JžQ¦9#¢å³'¾“T!*ö÷~·äƒŽ  ¸=¿%3ŠŠ>š~]X ÷6'Ž!Ä#ðó5aÜ¿§“×o*˳´ý €8¶—Cy_ªUÆÌÑ^`~gÎ$xÀhvwO—3¾¿]1œG®!ä®þ€tÒÛÐ ÞÒ£ªí'!Šp»Ì"ÍK꾓¬'éácÜgŸ¼nœPâ¢JýNCIø»Ò‰iÛl¶Ê»+CtÛcØù³™å¦.ƒ·ö´z3{Õâ§·èk[„yÙ>(ëU6Z¯Ï 7ÏóU˜ÛWy‹Yw J¤ ;5$µÐó##[”ØÒAé,_üŸa"™¬ °â¼V»Ñúÿ^lŸ€ÆmAMéq9püÁJ<ÿ·Sâ7CL'rqÅ,PìÄC¤ÕjbØìoØ`&èb²·õt^×7„ÞÍ^öšžÙ¶Äüä…ñx&N‚ûKz(>–&çá°ccKÛMs©vaŒ¸ËJà×´–©Ë]L²ÿ%„®`QŒÃÆ3¶d¹o/"•ïh&cÏÀ¦Í\?Yítª?Bsj’ýåàm °2¤„u!ýË'KG’¦[­t@;+¯È«½›¥{Ð]¦=«rºË)ºEÙc*NcÕÎÝÜ\}ýáV7õ &¤mšž‰tƒMh²U7@è¤(ÀŒú2Àcô—ÙéƒÊ ñA͈1‚vIn|=6‹W%ßvÊõŸžà þÉÓªcÍ5ô:xÓ¿÷¾ŠfÌâ¨=·OÄÞñÊæhÅ¢˜Ê_ æÉÆ2@ÚQÐ㤤9Y.œGþå°üÔ¸ /\&ÑÓ!cÑúÓ.šõ>‰VÃÒ=´”åÐ9-Y²…‚ ,ZQý f{w´"0N/ -ƒ±d‹¥Þ )I KWå&Ç‚ç 9¡÷)6Ŷ ㉠ËØ3’øl͇<ó×Õ Ô'IÁ6f;úúåFÌÆYýΜ;1ɞŌA”yyÑ€ hÑ1u _gZ)«yÇ–*#àûž«ÇpwãÒ„Õ0%>7p·&áZ¯98Ls,-4¨©áæE"Ç–IÈÎra ¾áœüŽÅÕ]Di :åÓi°IÍ*Ù@&.—ô€‰./쫟¿>Ó …1¡QÊZSÞE5g)>2{k¯ºÞu–Y”ޱ€©N9×-O‚”Q&–ž=[¢ê“ ²0V2ôìÐ'¤„äTG e5b6I†ð_ªRìÞx†Z”cÕY¼òóô\gØËžŽÞ íÛn¯ù{)œƒxy`S·²îžnê?o¦t?#DÞ1æ§ë‚5•ø23=f2PQ*Ä ö[‡cR©®M»Îm¡n5˵5ò Jì ÙÒ»€¹(6k¹ætuˆÆdÐìqO´¬Ú1ìåß_® ‚ù#R ˜Â©#X;› »$*’Xó­ÒgN\ B¦€¸ßKDT-MGìq{r%®|4ýŠ 7¯ú=·è‡÷÷»âÒa-ko K‘øf ™våÁv˜ ·œ–ÄÈšIÃýæÚœ–jG€Tƒ†Ç7?wrÊ>Aø‘·c1ÛoŽÛvOÝ ÐàåÙùºÑ†ÍÒ3~ô@gÌißAÛõMΤ÷zLÙ9#ÔˆÒ£2é‹À‡V㑼Lóet€Œü] òa-îø¹G Q•tR™a¡JL±È2î£c£š8Åšî’À»¬„D‚•©:gÝöçǯöä“6è7¹Ð¬ÓÕ›‡è—/µˆœQ„bæ"ªÁŸy»@%Ð0vÈÊ‘2Ú“ö“ì¡(ȦF`UΆù©rMñÈNeI°Š6æˆ †‹¿+ó¯7h¦7õÏÆYÍÚªÿœ{är„këä¶w‹Ùw>{¨n¸w]¼=½uœÔÌ7úc«À‚5Éyp!üê<´©Ý(m]žqØ T”b\åHáN±L,O¢Ú2Üšœ8íRé¯x‚u€_·Ö^Þuç°i»6[…õÍÇo5ÞUVb5d¦A,ÁXÄ! kv¯ÝE¶*ïIe¢!Ìëi_ÐeL];¥ÏeR~ž"•&pL~{Úe^XûéB”W•ÛŠìG[”p§W}P.2µåø¤y^;·'²ãûW–®êÈEM©™ÄQÕ‡G›oñ‡×>Ec t•ŽÏ¿Q¡älì œÁM£ƒÙh VÀa‹MI¸ýZÀ¸ñ3_à4¾×Tc5´ÿi°íúÌ-½‘…Á… lq½!g2V­.§Lø‡7Ï ²‘þCÍš¢¹"éŒ}å[Öà|Â`Œqfᆅw. =¡¯_+e6· dzi>®°}ok$øJë¸_%ÖïaŸ<[ÎP]Üh;5»ÕÂðŸU³—Ê”ƒy×Aøì6CìÚªKí…ŒßfºG0Ù´»É7¨Xgò>‹S-³Qp´’·ïi÷ÿ, R‘%ëãÁs"o§šè»GqêÎÇÊÿ@ÝÕšù=Sw¾?çoó|~Þ8ö4Zp›—¼â] îÝ»ut;}IPÅôýc]úyd´ ¬3¼;¦…æ¡^YñlÚ~çê5!J׌œ{‚b¯Ù£¸)ž1Žìž‡êNÃ?ŽÜc²É=î”MÄ1 3[sªFS3é*Où‡®—’ÃB°èj¶â•ËH§yØ©V² qù‰YƒŠ¼x€NÃê!œìvkx'\‘¥±pÍq¥cÏQo{p%OÿúƒœŸÌ¨z¯ž¤LäœÒé #ôcwèî±$¦êêÔÃ3§7Æíˆ+¶eP‚×/FpW:1 l ?Å‚¤lLW2'aÖ‘~ƒ*ÇIjKcܰv¡ðËñ­ÿlÞb;Ò4q$ñØ&˜ŽäÞ+riï}j¥"I¹Ž3¨®òðëó"x9:ÆCñAy~’ƒT´êÕ@¡Ð£bÝ<òõZ¶`4è'éöóòd? wÒ²È%©i—ÿë!6'«^yÁ8¦–ËÞôg²ø²ÿÙZch60"Z=HX⦈3ENðIªi±ê¢üEsN.€ ©Hqçë4¤ã‚œ¾º"©ÅcO¨~i$Ê—]T—iÙ ˆU1¥%ïg9Ͻh9 Ø“¿zBî²7¸U°u§É߯‡%¹£Ì¡pÿ…º0VU1NjP<Ì-\w§›¸›ÎÇBÓ‚SA-]wþ´7ÿ¥ä²,ß5· Kòã[aêÿcD­*ëðïÒö :|QCÐ[wC&J²Ï"2}Žy7hÿ£aé\>Àħ6‡+3 øæð ¾K½P­ð3ƒž¹ ôq^U¢'8îþ?MbŽ·ÿö»¦BI5.è"¸/eáþ"Ä=9:j¤q*·²tŸ™o½Hú­Ó.¡Ñ n•K™K?ûäÍ¿Þd×w¢,€‹ö‘…È'Ø!G%K]Rò‰‚¼YY8@Ï“H,X|7INl¡U;ïÅ’uR[[Q0P?1¶=(–{SDÊ^bAd¹²š“RxègÅdº#¶*[_ö¶ìéhOC¯Í;#¤¬¤tä)_ ®óíeü\é’M!~¼0F0i¥<9R¢÷pêœ;ŵcš‘r k˜ìè™åî P@eâW§{¸–ÇØžwÐaþüh`_˜-Ÿ]/=ܺÚ]“_PG5ÐVŸv­jØ›ó–úÚ…Ùûg gö=•ÕH¿¡Ésà±8Õ™_‹˜È?ígÀ¼´ŒªO\»ðåSpç¿Eô/¼CšDާ—˜³1*y‹ &ª,<ÕÅïŠÌ'D]æÉè½"d‹ƒV*3aýGáDn¼C¼ž8ôʦŒ“ô€½Pj`/€5¦}a V´J-L>E3”ÛmÚbj¢±ã_Yò©ºaG•]ÆXüäd±³ ®Yý?•Ô#À"‚¸aÙØ,š&Ÿ)r! l÷ƒÏ ÝG6D"m´pÕ>ˆþx½L°^ú±Ò&Î<}¼ÖÓË t¤†g¼r¦)–Í×Ð3œUÁ6Ьü1$¯”aKƒï¹`ƒÊ‡õ*†](ýR«E¶Ù;N òæ™("Þ‰C™!fm.õ°Å3ò¤¤ø£9´ ÇP™âMd¡Œ†ªëð,:­ß»`ÞêùªlÊ/2=¿ê”~¨öi|òþøä¥Âü%én¼½ ÙBpÛžžõ3›-ð_{Å XfÞßöX—i-iÊL²:ÇwÁø‘Êo¤ÁFž â®Ä°‘°wÃw‘]Š/×J´®¸w0õþqEÌ9¾gL£Ó(D·wœn\þð66æHÅΛï9Àà±ÑÈè–™h§MøXã%ðr.veé‰']ï$¶Rë±ò»Äe4':4&›päoG‘§Ÿ–Æ¡/H@AÑo´†â1z9‡-ª‚‡F>vßR0¸Nìý=Ýšµ`[‘÷ß ÓAfÊÄÃÑR:†¦ÁØp䎢ØÅ[ÈÈí,L¾Ú{vqƒ¸hmtÞgèpa|ÓTÒÓ¨r]´Í”… ªfК¢v"ó¨«Íž»–ÂÐü¹óPkðµø_^hG5oFÌ.<ö9k,>aÛ¼ósì¤ý‘Î_¹-+Ï, þÒ箚B«``ól‹xqžˆd+ïC½˜Så4óXs¼ÒŽ“-däž‹B˜®”'ô-Ð]øßI|°2ÄlV­nU½»ÿ›Þ’ê™cμRu„ï+H©Êòæa9™œüì ¯Dü‰jœ°B¸Vù ÄI.Õðj¾ê£ÃÆs·Lfq¦˜õ^3@r#£­-êHý°æõ‘5ŒÙOŸ™ž"‡+ÏbdÜÆÿs-eê£ *ºËa“…”±Â`²îÕLíÎÏFtˆ,K’1‰¸vÙV¤Ã¬*«‚¤Œèžþ‹n5Cýñ¬·3s…0Fìn­YÙ¿Í0&˜¸³PRÒï'u7ÑÿÑTb „F¾¦šCoÆ=ùc™ìX«‡,ˆx¼ã˜›—ÆÓf;4Ð 8Èž¤E•À›˜ Fã˜DµdêdÜC÷9!+˜o+t“pÂ|Êxíâ™À:|h©@‘Ü¥^ÉüÏÙ’ƒvÞ*A±üZSç÷±Ø#‘‚ 6Îë^ÆTIFì·áñIè@+5Ëp¿úä)x‚ÀmF®=àvA¿]‡*¯´y/‰fè™M\BùKõ‘D¨n"ÿj÷G–¾w«´å󫣺Ï.úüÆî4Ïô'}ÍÐNÒMÓX÷½„Ö‰\°{¼:Åàv‰Y~%#K“íˆá8âà@™„Q¢rKŒ8n<âÈÃBZÀ©qŠNU¤Öz1øÏû¾Ìz XãèCÅô§#É|æØ¡uòF™VŒ#O>a9Ê¿RŽ¢FE`ŨÐÌxLüÄ*GŸ’¶™¹ù†ÛÊèÞÄÁ$›.…ù.í³-óŽ…ˆ' ¾Àú;ÕéaY¥JÌ_\<8Tœ˜i?cöË¿jä¸6’¼oedhàÌú d­ðð“ñøH°—³„YN£&'!¢.duïÕ)ßÉîÛ“%gTg²ñÙ*‚ù=ÙŽãÒßÚ¾||#Èþf¢q X–™+Sy‚"ãBÜÛθQcXаMBÖtŠ3¸ýO.ôH?ø½ŽÅ‡ŸZèwOÝ„<ʃc\™ ¾:£€ ·Íñ§ªkÁÕTW4JÏbi~•w࢜y7lŒ!’Õá}E&E ªÚšÅw(=\<Ïé-"†J”Ø­?ø:åÝÁªJ~ì…-×jïF‡ªru>Ý­tÒ ó—=7»§TD›Ÿ"¯­A„AítyÌøZäÌ9˜äv0'an¤$lyÉû5ÐÛÐ FØÜ]Šq¸ŒJÔcLdjØ4¡¤*ÙøÅ@æfÐÁDD8 Œ1dƒJ¤èÆÇf¼l©üo6P(êÿåÔ#© #øN€9ÊVÛþË܃oHË §¼H1çàä1¾l¬x&P,9óäÈÐô~S¶–ËQQâ.õ^0£›´*~7þÞåðó"¿49Aý§Ã9œ@ÿù·.X¡Kùhݪ Íï–A؆~û“Um]èý‰ÏÛ¶y±kتÚü‘Aß,MÓb1²çIÉd{á×ÃZ¸`WVlñ8¸± g „žÞùJÓgŒ.V¢CžâWß^õµr‘7·õ4Riþ‡…5³ë·ä@Ûª’>ÜsÆ"¦xïþÏ»|ò(ÏWyCŠ“©žä¶ã”@‡Ó’Oì+Sk8®SÕ*êUÚ™6´oÕ`fÖÁ«¢Ëï]Ic¶çLà.Y1õ×Ú•÷½Ög> ÒaKÛpòiØO^z­lCÓX¥ˆŠ,G—h¼@ïþ¬ì\DNVù^ïg`ƒ:Á¬p¦Ar'n‘.0K>H˜¸üH.Dô"Ö³€ý„=[øKUÀ\efñr«ƒ4]ˆ‹ã+þ­FÔÜ_Žy›œÜuìÀCe‘·N!òVȪ4€–C[¥ÄˆéÝ~x•#¹6Àý( ðOƒÎÄP0nðÚ†›[®\Úu–·Ð°ÜÊrž½|7N _¼ø¾Z8¨n¨Eã,T\1¿ˆ‹;Ä‘¯9hZÚ8·ÝÜþ2÷ï{j\¢Ù¤ˆ‚RsAG›¾èï2ÚΓ ‹+sѨщN§ùdíÅ=ß‘ßn !ËZˆÙºá'Šo.Ò³Æøôv|ðØHý à): #BÖƒ{M É€ ߀ºŒm š}V©â7FÖo] ,äÂ@á®Fæ*$mB¥:â´taQ/Ìë¢Gw}Rm´^ :‚µy@”Ï[9((I#—šßb÷ F.YrõC7š<ÌþèÐö¯ÀlŒ²©’É.RiÀ!5‚mKÐÜJrLt/¢tJ¥(ç[›{Ã,´n Çåù“j»åþã(÷³ó–¯É`N7föNÇ@®_ôä˜cÎu&oÄêÏj © „)ùP9¶c¦AOÊ |°PõmÆ“F+"9M2¤‹+ã3È._°xn}ëÙ+ [J¨ê¸â·Ë p we>÷dn,`×x³GOÛÂc•ÀÖü_ØmV*ý ¬_ʯêÝsM©pó­I6ìcúsÐß=++Ÿ-±6> £Ÿÿÿ ê›*èÔáŠö<í–Ù€OjNˆæe Žq9c2FNÄçOŒ^ÙÉÓìq:ÐGVnGmL£0Ÿ~x–AŽeÅÎô—¨‚ùƒ¾‚ï> ¨ÃØÅÚɶâ6IÜI…°Û;‚1èŒäJÔ\33TW©R œŽ"ÚÚ)Ù`-€g*ŸÖláˆ.xnå–ÑÆ¼ß%!ÓdÖ“¶U“j¦žŽi¬Àð¢Á $;…'ºŒÍ5b@|D7gÁ/0ÿÆ'`lˆ“ h»Û_ èhÏ%1h„ÞPÇëM%…À„¤ ›LÆvé$Û3/ˆ ¹?³…F<Ô)XMÎDdŠK“»ý;ĺ§±%þ¦hôæ¾Êʨv(uÖ!gê‚7âdr Y¦¡çÃF*SÐhd‚ù·5?Ôzt„ôg»â¾«½‰ÁY~È 87:¿4o¦; Þ²J&BŽõšûpQoîÑ€€ÆÚº4í49'WúÂôÐ_ þÎ82êÀ’ª#ã ¡úŠ Z>jâÚh1? 5¿—Ú~êCëtüE!'²,äeE€JÕÂnþ2nDÕ3œŠa³ëõ}Ñ/‰†®*½Ñ?ê†; ¿ 7€’N' ü‹ÀêŸç:ó) ͯÀüŒå‰%] #uyó’¾Lôôuùךî„Ó zàAÝIVîÆ‹cgs8‹‰Göö´øà)äUëŒfûJ¼Í-(KÊÃsÕà=Pž75a€ê¶–è‡Vñ铎ñP‡ô"½¶q-CM=ÊmÐÏü„›aC¶‹Ý5§|ÛÑÛˆºSÜ!ëE=:º-òÃÄš‹;ǧU"ýÊL4¼ÖP;Ë^E-õäŽØ“•Û¾ç>€4ü–<+£V=ņÁ{ôŒ"姉ST©7ÏéÈÍ5ígOÂìÄY~î'ÔkZ€ÀËCÓt­QT}ùK×; "õò;Õ] 6èl8ˆ›•}„j:Õ+X,ß6¦¨aªB²ê»A‘y´ŒèC‰‘†Ì¥g´“G¼ÖÅå¥÷OZa¤¼D SR &'µi–yÅGpÐÝAľHpk®hºPüó;HÓ&ÔÞø¨­bˆÕUƈë÷ÍSzEN.pü/<+2ù£’èR«'£@‹p)z °l‰P4yè>&¹ŒÍù¿õ³ Au(JKé úío _bDþ½ 2*å y‹é$ƒ8ŒueÙ¬ŸŽ!‚Oš R0¿8˜ÈžJŸŽE&ÎUSR³Ê>¶‹Ù#Ê({þ×PV¼Yî*jZbIø¢ –R¨Ñtœ}›¹ø¾¢èêh_EùZ¥ÌwÆÌ чß•$¹@µhä§¥Á^4è Q)¶Ëø-!'ºï Ö¥‘ÒÊ Bì…Å= ÏI%…ø/F&Âñ¨ÊéQÆs2lÜZnyÞÁ1Ñ:w9щݽ MHÁ”¹@Ö:G'„ŽÕÐ-qH°ŠËjåö.‡Í²å¨•wzYüÁÇÅå‘ö °Ñè¦Li³ Jz ¥˜78iãÿ)ÉiH±›ÑRlk·È Í¬,n%p+èF­*…è–v°Iåua~ðͯåï“˜Šªuá3¬0Ñî"üÄ uÙíÀ‘2ü¢SŒÅþw’Þ/¾öÄMk¾>Ø’ŸêÌhìožùeð|bñ]¥a±I!0ÃשϢxa³RïÀê@í ¥xEjúyVk뉗 ¿Z‰¬+ˆôŽÙ‘I‘Àí=dI• ³ñ_—âí›{´¹ëY´ Pæ-KŒ¸ÁEC” Õ¤9ɱA2œB¯×-üky¬OªØ‚=!òM‘ -(ð,*j-6g_!R2Ké Š!9#ᙺ—ƒZ_*Ïg:“´½/ ŸJÓ‰4m ï#RMàïH@‡ÛÀ¹O34ì ìvæ]t7ü"­0¾×#Ix›`nV(¾Ä9’70Ö4³ø½©Ð7 Ù_pæG9· #åÅL ÓPŸ£Ú6¹ïþ{]¾—“È¥W 0kæsƒŸð—ÞO·úSâÄÇd¤îºIËjÏ·ûÜY«á?«(RƒzF‚+ží¿8/?pñld¯m¾¢Ëk¼¼Ûæ[»ç¢Ó®ch ¡-¢Ç½]R”ðÝUÄFÚ’ É *gM¦‰ý½8€xx£J>ñ h"¡·… #~àa”°¢ŸjF)‚¢þ{)kò)©ïõv ø°SÁíÚÃ6zV JÓÖ^?wÞåúç„Óº©ó¿pÊ¥wöÿ§=´û3)o¾oz3ø‡™g‹Óžö ›¸N¦ª_d]sÈLkß×mœÔ~òé»;ÝvüPZ4ßA~áÁAÄ¢ü9.Åê ©78êJ_˾D£çð„ýÑ¿´™Ù<’I8ªæÈƒùçÅd9W}Ûö—oÜ~MÎÀ‹NÇÜ"ˆ•\agÒA.LÉ©ƒ‡žÁy`ÜW5Î]à÷N« üWõç};žg2(ó¡Àš¡Gÿé/ºè¤eAnêïr„m|%€Ä™ è[þƒÑMæÑ6Ÿ$y¤­.\(^Fo>{ùìɨ¾pSGÔÎ}Uì å8Bô óѶ¿dO¾6 Bíã!]˜öª©cqBÚùƹO]7ƒ~ÝZ‘×½úÕÉKñ};¨¶D¸Eü:¬TÃh‹¾ºÜQž­ú½!ºP]ÔÕ·ê/&ŠàP1ãÊþ«A²ÔT“#¸Z‹3™š}¤ÎPé@E7 çT}÷A—¹V:v Z Ì\¥I©æxY`lóbãÄx’›CTÀðqÿ—}´ZéS4Š¥|yCmëÂQGø¥è¥ø—UB”å|(ò;ɼùîÓƒ;7¾bÙµuä´9 ‡Rðéùtc¬I ¡ *0—ñ‰ÏCö³šIÍøÝ®}… 4=$©Ó)*mŠË^£#™_ÿÑ!înZˆýaçzVÓŽÚ…^ý&Æ;«¸ëÿªp‰ÛÅgÌu]Ñ€¹&‰ŸŒ;=^$…}lø×¿"00¬„àdšÐ´ëj“&<ïÜró™ßTFn}W˜ÙíK£ýzØ:”ðÝá¾Q-¾Y?†ÀK£ä_ª¡9)&Ô2çdÉHnÎV:_Ãù¶WUËw¦Þ%=/ji5Ý]ºøhïÖV¸ö¬^jØjái±¿h]K¼j;ú£Ô0¿áYD"[1)ƒøá?“0¹ ÔÚÕXd¼¿ÐQ.ËÎm¶B+ɸ§MHì4¢ÿ¯r‰MñøLõ´\ŽÎXɹMÖ¬¥U™{ŠàÈ=u[\Úø€r¬“*zÕ¿‹=2,Š Ÿ¶íÜ2—XÇ}1ýüf:u)Ý÷uö…W AÝyFïÏBr¹/ÉU„HŽÁ0–æšü©[Fýß=! âv*° U×2BÞŠ*Í‚6,› @§IM€¼ä$B„ÍjÉËûýòñ—ƒéñç–Ô,EB·|=ÑŒ 2ȱL®¤1á}»ü–#v»œÏlÝÿ_àQÌoÈÐórIP„',[j*€®¦¡£õǰæ?äaᛄ ªLÁ51—¯d#ÖÁ¥pÇ«oR/UKó7·îŸÉ”7kÀY÷ç–­žôÔ­sE",]*¶´ªzM á -øœâZÙ"Ö§ îþVœ>ߨk@Ÿ'~‘ôȈ3`öÒ79¢(ïZ©ÃQ‘TÙæpo"Æù¤QÔ—u «£¤×A÷3P飷’Ë‚øÜÛ¶Ú‹ó¢ø„þ?ÇZ=ÏÚµ _kèTZZÕ@Ls´Yòbõ¯Zsd¡ä„-ë„™ÝSÏ*åqÝõ«¶-ò7/§Xœ|yòÉ/Žj„ÏD’³;YRw¼¾v™U€ùuëÑ…•Û‘ß\má‡LcXò@CLåF#r_–ƒ®MbùX-’æSެ” aìu½Ñ3ó1z›°ÏDŠiêþÎ.W3Cì éÜÒžxÔÕ’M œÂÌWCšËíØÂm—_&vfpÎÿχ(5˜a'æ£æ"ÊÈB4ø#'ܦô1¹0úß—H­˜$ Ù’h¹ÏÇ._¡š ^^e7P cU3ÖØ 9‘ÐËëýáÌÞu¨ïõ›Ÿm‘Ø…#i‘FÂYéœ øÈ·0/JZXxeb+ÅŽå[zB­xn=Ð 2yIpœzšT vnð\4ãU¼fo§ÃU¨5:ýQ/õ‰f"uÜ¢³2¦Zø­»íDr.Á@£L¡'t¾‚L¥¤lälôÊß‹z¹O_\d8ßò†œø´öµ÷I”[ðC! ¸ìÞô›|¥0/°åÉ6șϛ/ž¿Ü` [; ‘«sŽ—ÀXÝ„)!£‹v‘s„A@Ía,ˆýBVßYaê-°’Ô‘ hÕ‡¡ Á“dií3Ênm{åN+¨›ä€K©~ê=úà\Y'Z<éÞ„¬œ‘µ·éc*ƒÙ×; SÝ’[‘Z]^¸uó¿:#dz.q1Ÿ†X§j([L‡kf  v´©·%uÑÿŠÖDè#Àe§› º¸¹ì{ÜÑÏÝ¥Ò~ªwÔYqƒLFôµ‚2‡Ò¾vü’øÀH |¾cEÄW«V <Ü"7Çû²Šåš:š«¢HmÀSiCg8ÈØÍܳ8%«X°Á®“ù¿XüaÖ&UTÄ®o¥Ë꧆uU[×J¿(¢3Ì‹ÒSÞ:}v\òm´? q†sy—°a•ükyÉYtéBjJ\€Œ*LÖcQ_;•!!I^f£ŒûR8Ǫ7ŒN9¨r˜B z4òj!ÑìF~¤0??Ú¿ù¥Å±|¯]­ï èÆÖ†\uÂóßÎÑÐ_]E¯ùÎA• Žÿ6 í)¸È€ «±tåàtü †ƒOVñ»Gé|À`¹ÒÒÈYœ€_L‰Ê…äÉknU*AÒÛν*îþÜ‹E¨xî8þÜUDZʼF!a]æz˜£§`B Âcó©`Lwk}’.ëX©þšÛfׄ¼&o0Ô§ž(ªb«Cç-ÝR3Ý©0¸æïn¥ãÊñòpTgG ^uÀó •½ZD»‚"Ó@.¯F·þè —‘i ÜJÕ] Oårp|±™¿Ÿ*éL[¤+€3Š&¢®`¿Œ×…©4A¥3-¤k  ¨)s{ÍK¡—ÿÜšºw|M Èl3¹ÉÝ&SÎã£_ÒAVS°£y@I˜É¡=J°6ž¿fŒaR‹ÇmFphrÈyߥF_)óÌ9_c×ÏÔÅÈ΋FíIÕ‡$µá4eÝŤâU,w|lÃj¡…š:Pú_µgÕQa„D° Ê2üc£Û»’û1zrç±æð7 šI|ãÇcGOóòÑ›^%·;=£ }Xšúí^`€“â>4¦!Þ!{_Ëÿ"¸B”˜$ˆ¿õ¿ƒ["`«ò`BøiV.˜ñTá4i»©^­þºU`¢\Œ{ R‚(‹¦*, ¡DWx¯4®¬ã¸¿€bTSÅrùj`¤Iï 1ùº¯®¤ý_U>íÖ#“„8Û…!R™Xqc ån¾ÐµYŽ9¨h¡?1ê ·sÐF…Y{t:äFûézJäìXïk˜ð·T“·ô[ÕµM¹;=3ù…V%d)w({¡°ò™‘€a ŸF¸ðëoxÕEmÙ‘X¢j¡e Ô™öXÌßä:¿+Ê`6îäa&ýÄ)®];¿'ª~¯‰9Žée ÎTV+\U3 ]¼¬—u2õ Xºã*dˆÜE{™î0ë5û†I(û¼’jò)à+‡*€»HãI&‚‹ON[Šå”r¸ûÞ˜)Y2cü¾á~%M£ãìE39õu|á'9$r<^±«-4ü>æÚw¤Y‘¦™«eȧt-ãÉM]—a¶[VŸÅ¤î%^œ7¨”ñ—õg*I”Çó7¿âB?¤öWµ­ä¦¾ÝŠP]&O„ÛŽ?ðÖ91sö½dXh$ B ý¹Óüxý2¨¾þ„Ø·Ë¿um4U-[aùŸO,åþáýæëQ’’æ(‡à—¹Ê,9#5לOT|BWj7e¸9¾qõá¦<"Yî;0á‚Ù¬œZv“àzª5GÙ:…·YçLÚr«Òœ´Êå2ldež¼õ%Á»5€$ ÜnxDÜ9bcÐýº4ºHþ‰ó@VÙû’=”ëyø/ &„n Y~šþ¤Íï"|‡JY] …oÊ‘5ró)6Ø8"˜Ôca€0G½|}ˆ\îð…j&É!Y ôäÌü)¡0ØP)਴ ”?Њzþ>gÙM1C$Ü?‡´e;jl ?*?>3%-“õµ¸%Ö{ ~ ¹b-ìeÅÆ‘õ·ÛM\•°œ#oпružŸ\½iµÁ-_† ŠÇ’íx¬€{tfØ{eê?ÙñÂErÚîL Èîxy;‘·1ÓYfðÙÁ&},c¢r1éuªI·ÙEíx,Sÿ¶Ð`»ðÉ:‹Ýš’XjÞU ‘w ~*pÐcç×´0DX02ùéÊK':ãâ­ôØ_[«X2 ;aËXÀ[Xš{ÍÓKêOÜ.XÅp8§"L)S.3$O’‹· oíå—/‡ÌìØ³B×Ö*I|…¿GœEs®Ç”`…x÷>@´~ Áí´Šó„qRT—ù!(!“A¨l|yžPL÷9´5l8Mé¡÷Ü'úÐõIÊ6¯AÐ?º*jâ@)ˠ䚈ñáq†ßAŸpwï²Døv%½c¡×}ªcÏÇŸ×nB|m‡Ô}¡Ì–£ÿÄóû= 3VÿÛaTh>é»9UP=%¶I@¶‰BÏ‚ÆÊîmmõ,†|ƒ©†Ñ¢¼2lÇë–J–bîÞœ£¹¿Z1*nzÖ¹fQܦ½ˆçléËæœDÅa‡‡”Øa6³ch¿IrœXÌÝý¨½&Ü>6#ö”S:lV [‚±=d‘¼G^¸©C-"ÜŽü_ ´‘4Q*{lS^šÕêÙtTN þ|“àˆ/ª$Ö‡ó½ð¥ «"dœ}YCL(ŠíH*©@‡m¦š?Ý‹¼æ¦!q°¦ƒ)/abHgПA~·ôèQêõÄ*ÂÔ…Øo™[-Û·/7Bèø^¹ý_¡c —Y,1hßëv3 ˆ}¼I#ß& ó£‡RavÃzETù5DÀIóB5d£Ø.²É7ã›§üþ v5ZÞÜ0”¶ —˜W|_`Fqu¿F¹¨¦'Œ˜~ ¶Ë3PÄÁܨç+cÚ¦õaÁkF¢3ˆ˜ÃÏ¢Üѳ}®0QLt¦½}ÝÅà¨Ëß!{$|Á2ǼEœGF”[¦¢õøðìZ_â;ÿ,zì$·÷‡^ÎA¸ f©Kò.þqÛ"‹¯÷Ñ%î¯3ßæœRp¿¥’àå;ˆ³×”‰SMZŽD!jšØH~K´Zœ€’5'8ÙF˜¥*æ‹{èÎþˆÓú‹ÏB‡È,»šª¼­*v˜Ì{‰_¤s{þQU3´èÛ¾(†ΗLR†µ ¥ aO~@ >m°{Åò‰wY›X ôGÒw®ÔÕV‰½Î³7fqŠ#µ$ÚójÜŒí³Æâ’§Tï¯7§lŒùCñÅbèS»ãOéq~)[¸éføÞ»+-±ÅŠ\¥Ô’²²”´Ñù6N˰Öääåõ ‡¯srw ÜÈ` oÒj\ý+=¯p»ù9f’ô™ \ £²jìlìÎûù9Ì»¶üYmŒ€>Rù¦>!¬>ð2$6,šté¶ÿÈn1ûuë~óƒjI=Ùì€ýˆ¥}hTÿ·ã®"/oØ¿ðóa …Ô#q»¤½áõ#Ë•iqÒHŽÈÿˆs¢ÖcD®Ñ–W³0¶@=i.ùK•# !%½XÓ|ª,‰ÿ¬SõM)@ê!Ø€›ú9AóDy¢\‡È!@UÀ3Kæ¤ ²ðÇ¢$Æ+tÓ®–eÑG­ußÜq_?+%üKOU«A L±:ÐÞY ^ŽZ¨] ¢[·ó#…'ƒšCW© I–€Ä1u.¦äv:u‘`-/æ‡ )ðÙ“8“ÉÐÛ`UýÏSB~þ^LoWÂê¿èÉû¸Ž´\GhÔnqB¦`jN“ICsÃÓáàw60c«”ß«EÚXóçÒ´|D; ‘Ĥ×ÞDrûœgò±ùÓ£ŽR±ºFŒ¨ ”ÉÁ¨o´ÿ’ëIQVøu/ø47³ÄT› «Ëø+&ûtËEn¤*<’9.í{ƒŽ†Ë™|™>W®¥:Ô’åß®–×°ç¾­d+?Ë^{ònsdú¾Ì¤=©LªÒýg‡Iy÷!-øŽTçEš|ÅY¾ÆÎ‚)àMÝ%q‚BÔfª Ø—“ %.[eú6M+Ð|keqþKêr(•¿±ø/ËÉG³ÞIïtnöh¹U \Z8Ë÷ípI‚a?.šJWáui Éx¼˜èdO6Ÿ.ŠŒ®Ô«¢>dÿ‡ñhó Eƒ ¯™f¾1ºÂ0™²N’¥Ä6Æpœ¤½4»º¡Eò“Jd굞óשdg ·F3 J\ºþJ™ŽÎdŸsÈ—$u…ê_#†ƒàï ÙIÏÉ5ÛÔtsëôNÿo„!¯Ócx\Y' [V=f³³3.yÜŒµ>¾Ð73pN^">ã7¸ÄMŠz¹ ” ·Ó¥± á«äDàˆó•‘,%xé.Eè²n–bä†T ô£qéŠ\8ð‚*#IóxÆÙ褂›öÇ,ѬÂ"}Üè7Îû€…b×ûeÎÇ'Ÿ,ñ/}RÓ}‰&’Á¤@—ÆS‰€k6é—˜5Ö_äyà"(E†Éë1$ p—¨òF‰C¤¥à?^!”üò«´L@üõîok¦ž`X QÝ›W%ÛW»Ï&Í&Á&¬š¼Pæ1ó‡DŠø/6‹¹RWF7›T6B\pÛ._P¼š4tÚÉðGp«Ð¼·”–JÁÔî-Ê«›Øÿˆ° ¿ïÞ›Y$Œ’ŒŸŽºÕ`j…åîñ¶ ”™LšybŸ“^¦ç=KÓ?GÁÝ1»ÊŸXÝÎÅ Ïtí"I$˜”€F°fŒõõÐvõm´cšÐ‰P¿9eÙ–4ûçáÑÛ%1o±`¢à·eÛg®{kF›ÖtkHºY”Ÿ!ò»Ì8@Õeýžªç<ƒÜhGˆ“@u{W€uåÊ <¶È¼O=š.©mfÙ¡¨& µÉ’pv¹Cl•>÷÷²›sE‚ã}E*G.OhA/J+O¬a·%îø5ž·µxðêÊòк°£±M{"0ÿï~¨ð$ðNMŠÆj §AÄ; ³væ±úcšˆZ¯¯0LF“Ž–}šoó«í—A6sf'¤JÆœzÖß̓Ô(ʲÒQhÕëàã$ñõÚ ‚XŽ.z±åƒuÌe;Q¤‡7·Ùsƒ–†¶çÁŽòØ„(ö† D-UŽ0Zî0â„ æÐ€0ÓO¤Õ:$•Š^ƒ.ÂÈ-ìVݘ Ž$yÊ€Ñ{‘°­Š8¹úg\ûç<=Ç™üru½Æ®Ž¦KZSNÅ(=õ}t“Xœ¡äy/ª!‚1`i?ѵ“ÝðÁZaÓKo)áÕ‰bMo³ 镌·T¨«t”~o+¤í÷ÀýÆ}Âk©›•;h3ö›½5Þàšª$HÍR”Q™0¢þ=Ò{MÏQ¿Keö¹³.œ+íB‚"tøÞ*Í> ÑgZÈA¨ê»ã͵o»Uâë«¥äxg.œæ9$îÔÚ– ¸–8WïljënŽ[Ék²³ßJÓÙ¨‚ª êwªhÏÊÄ›>09–/;U€Üá ÑÞÈn2Þ­K·öÅék #ƒzâôDtÛÉéÎFΕ¦EÕM£¯ø;3ÛºUQ³‚ôp'¦GLqÂR5ÞœÒáIżÔJ&±„¥ÌõÞû¬=ü<ý%…æÀjÅTâ‚Ãä¦Q! í«zóÍQ“Jp¿{UŠ#š´~*"&û2™.¹‚N_E.Ķ´@‰“•©¡.Â>Ö$”^¶H\ò¼èØL× ë–š¯¨‰}…\ö®Ëj”Ø„¾£4i1$àû¨Øÿ†Z_¨/Ç£WÏö,üÁoÉ,,‹`©íý%šÇÏԘϽSÆPgéå[ÙGÀ;ÔÎ-;%Ž(:öÌze´¦’{oý“$éýì”&|ÿ¥áQ謸Êãï$¥Û^ri¹>³Ga\pűcS7ŒÁnža{z|pÌ ‚Ð$%öÀn¥>M¡ó”ËäjT`%Îv$RáÖ#™w-‚DçüËyÈqDFh|>YçZmï*"BQ ›°3:AÄȾè¿~1õ9AmåïæbS2Ç…’lÎ(¾ñ¯N² ý‚N„_òí …åïV×—¹üùØPvõË,´ð Rržp_7xd~ñªÇxQ.“‚§YB`î0'^‘º¢œE–8‡´&Ô.芿Aó¹_FËáPÚ’ä{þ»]äò°x©[¬á¾DeUZÙŒù8š)¾'±zåL»ߪÇêöðë\Ôá–ß|’x-—Ð9ZÌä|wö ¯¼I¡¿sãÇt@oMDÊåtß‘>”¹ç’bxÂFJ¿ýËg-ø˜1Þ#¹îÌSMKÿ݇å¾ìn ;Ÿ½L' LÔЄ”äŒhe±¸Vè:­“'-¢†ƒi¡r}v`@CÀÉÛÞ++ª‚±¿å}Ê•û.-WÌ¥CÔRO->Kp¶ ‡h/zØûwµ• Çýt¥@¿ºné¤H·ŸA&]Ѩ–Õ6‚Ûrt™µþGø y´<×Ï"ú¹ž™VÚW†õdK•d0QÀYq8ñY\è—“´M&ÿ®£çjËÄ­NxÀ–2ôMW¾«å ùôVTú&µ^Es´ˆI­5;`8¡,ˆ Op–Ú?¯éÌØ|üZâ ¤¡ñF®tAÓ§ëaY_~Þ-¯ü+´ §2.îäÞD]‰eÆð—Mfì*܇0­¾ñª FºS$RwHTªòÑÁ$ÑtI·kø‚ÆJjÁ£þ-†hçÎqÜ‚–T¦"á® >î£*ñØü´†Éc/Ö§"£r}øÓÍfy¼ªU’#t²0{Ö–Ÿ©9K…½"(Mœ}§… ·]igÛN½rêüM²¾§@æÁC;]ØR}lÛø¢ÝÆ+öyð‰ä„ü±ö¾Šr*oq^á}«Žƒ$ì«‘œ;kÏQYD5aá½AŠ«¾§€åiŸ®ÚTŸw<µ‘qšñ»ü³‹ß'—²ªtU÷º°ç7Ñ]«Õ;È•¹aŽ)<·ÀÖ‡`yü`œÍA÷v$'ó>2êýZÍ ž›±°ãæ U.¿ˆÉ~½b)¡¤>“<&&ŸŠ¿lÓf0a¬À ©å€”UÍÂÐk±ˆ6þ„‡ó ÚùU5‰hì(P¼U„Aļ0àQ½Š œ.¸A{–¤øº:â—ÖZ“¾¢]1âBÆÍ¶ñ#Öï¯8)òÊ_h_P<ªÂ ¡uÔÏìŽN‚–%¤£\O«›ZFâ@6f3ãAàyô%®,1 ŒÄ¤˜Ÿ,!\gú¿^çÀóÖØ¶Â†¢ àëÉ iL^”u»;©»ˆ²TùD–‘èØì6ËóûÈ“S‘&\âiYJÚ7nÅ=Oø²þ,òM›vÒi»tòUw|u¢ç>Æ™zËy*B9²Æ ?‹ö %Þ“/$Äd¾BÌZQßMª¦JB6>Ö¾¦C+ ‹:in/TTœŸY;®6Xø¨xž? í|^˜{å÷!YËÓWÞR¸=È‹ô½÷›ÕÚr·Iò³%­¥¦Eô¯e”þ!|'¤_Áœ-·ì "Tv6$‰¼•R¼Í.]Κs3Ï]ÀO¼UÃUqê õJV)ï¡.v\£÷—áØíÙrË¹í¬ Pz“5 ê PÛ÷7z·>™øÉßEÑ•¬&ä}óN±ýH_/Ø_·²&Ëë^L’¶ÏiÿD~X„@øœ­iZò…¥î¹(‹ô…N<¥äçïH³8· ²ƒíÐÆ§5Å€hÑEë5€ÙF¶J†6¿:cq‡„KxŒA]~Ña(ô$±[¥TDè Á }Žwà‚$y/o—$N_?;à”%ÄŸ8ó!­¯á¹ Ä õDò åѲò‚Gû0Ë?ŒÊ<1 –«Ÿܤ,Y‰6…åQÜFÇUƒÍ`¯{\4¥}Í#ƒ’wÐéFKÞô6;íç†B XÔ*f%jŒyäŒP5=šŽÓ°¥—è¼”úm X!`—ÜÑ/!gÓš<“@j˜$KRh]Î2¡LÑŒ~qêöë|?¬ã³Kƒ4ÞæYøíõÑ¿€ÞNJqËíªV·&ºˆ+BÞÕŸmH“+™8çiAÚ#F (Ž_³¡ ’Å|y}úÅãŒðÔߨ³Uw\ÍŠïû_©UáL–ø$Õ¨` ur<âBõíC‚Aä,¬KëìÝr×…ðU¿‹j¹àýñ¼$ÔlJ¡ݽ:íØÀ/¤ágQü¬û|À{†ë:ÿÏC&ÕÌÐùe `Œ¯zT¹ý#¾:šø×%Pïæ\á³Êâ4²Ñ´¬ÚZØ¢áÔuû¼¸ïì÷Ö²¸ë_˜—½-si ˆûÛT-ãI¯v.Øbôþ³’å©NèÞ“-°fyÆËã_}ø_è+²= ö•N¬Cù×l Û¶¼RÁË HOCê=^äCh®,Ž9wßÓîM¹ $uÌnºÔáo8QZRÃí«F”7¡-àzˆ¼ŠÎ#…Šø×NÂè¾Ç_˜XˆJÙ¤íÕ_s‡ï¾rNË÷r˹í×{ìyú!]íÓ¶º'¦aºí£°”²–ÆrÂU d7xÉuù8™x ºáM à?e«&.ªÛ°9;@ SÍ’Á(RU8:Ú]:À›Ì”|]´0˜õY·ÞâÖ²Žzßííªœ‡ñ¶ëÕ½@å Y6 –ø¨…÷#G g÷ilR ŒwMW@M úrhWוä°`>yÄùáÓix›ŽØŠ$®°‹À*Pr=ç=&O92ÎtR-ì¥÷Éû”ßõ'öR9ü“gyS(>ŽÈÔ¬?f#&Ë)Ñ"PFßëÅ頻–“ê$/_œ÷êN>Çdãî›g-쮤Že1 =½‹u¾Ä`ñ€õ Ú¿[È&Z‹GùK…ÁÑ´/LÁ‘øáSˆÃ©n?¸×HÊ7f·ÊÓt‘Ccè a$|bB¾ë”ð·T``­·z“ çW¨‹¤ÀÐT%¶PätuŒóù¶\À[ ûSr÷×£úzÚwÂɆ<ôè8–:þ„ öòódhK+$Ø|,¨¾:®y}A0  J#X…²ël›¦øü^IÎÂÙøK6£;´¡ª€f-'Llk!K€ã°DÅø§„³a¶Ú丄g³¹ªLp*õØ!(!2*ˆ£‘‹K”xqOV†©ÑÛ ÄUIî'mÒ›®D²o`óæ Æ#³û?Åú&ÔÓ÷Ü5pAˆdCÅËçuË— \:Œ_›6‹ mr¬i yš¦ñ,IŠWHÉo3û·a™EÚܲ€²fÑP¸¬d‚$^~J9"¸ÖY,r]F£$ƒÛ&ñGªÄGXñ*3vBZ„ýSû[Æb•Ò'+º¾gÆfS °ûáñ€£ Šæâý_<ÚŽÂ=¼‹d_´kÕb¬\²‰œèóô¸»J*ôg3ÚNîÆ°£,^f™žP«£œÓ\õºȎ›©\`O|·zþ(u ÎPF $CU†*£V¦±]ZÈîÏ6¸Rî깯MPºsY+v$¯ß:´1¢Ï zÃA$`]ÝE´4¥õ…g’3²£¾1®#0À¹¡ò _4¡M”³Äˆ“úìÜÛ8;ÆÃ—ˆÝhcÍGõ»§¯«[À1˜à#Ë];µ|îÊ<'Æ=….2I•áÁT+ ›y­Àç¹ç‡=êŽV˜þãPºžZ›-5>ù ë­×6T“Òå¼ñøi_¢¸¦ßs›& EùãwÒßÛ¼L”*ï/ð"ȹvÏBs“ÉM%<û¤ å’em$íæþ'‡{è0ºÑì%®÷‡in(ñ‰†Cvï{t­–.CïVÌF$@Çiq¥ÙGHÁ;0+¬à‘–å–žïžô6êÉ«±Ù¬ÓGa‘[žA-Þõe9̨ÐÞ$å<î¯ÖÑm€À{ BC§g²ä(î<•/[¨²~ç¢Wgé#0>cíz—×µ`7ÈPjrýö°ëo‡vÝ‘}ÜWE~p®“ýÀ:‘·«‘| I/I©´ wëçÖMG©¶æ€JžË)šD°Ñ%qW=K¬4ZsáˆûSW¦@ä$chH™jëÈñ …•x´+š=8ió"¦m¥šû^àÊñq´§hÿ_CX]J\’=r§ëÆÓœB§ÂÕ­jv#…‚AÒ¯¹§´Ð©@ðP„pêz'(¨|ˆ•CWÆ8óùÅ_Y†šôx1r¨&kYªvSÏà˜¿#ù‚pô¢\´³("=ú¡¥¼ÞÌ[–†ƒ_!ˆIÈéšS)|ž-ŠÍ›-|æžg‹<ß²ŒÝÝV=;Éû9{wÎ¥Ðü²÷Xk”UïÊ!¢Ïúòîemõ€­ËÔsû£‚ÌlòƒVF¥lŽ{Ϩ\Ýs Lb~•Ã-CõùNezAÆÄêøÝ ?˜¤{ó+Ôí \µ-§Ïˆhaˆ†òã`£ÚrÃpË)ÓX4Osæ+…-VœùƒÛÖzŽß¬`cú>µÒRC¦åõ3Æ+žl4ãíB.¡‚rÛÌ|²8xÕù“Å5d„2+ƒ’…­ÚËßå^{î K>  n¸<Á@\Yýòã[+;¹ g×N·x‘;6iG öÌBVu„b§K­Ø3xˆ]³5¥ˆÃ°hrê®ûQ·宣)›5ÁôN4ü·Õ)pôѺ‘ioÞðÞ$uèWÔA2A^qѦ\ €¥_ô°!H(€ÅÉNÍ~ 0ôM=†øçŽt=„o¥­lɉúi¿€™Óˆ(žUä…€©P•F·TâܪÑþäy?ÔQNÃz~†å3Ë ÑÛDŠ˜½Z[ZT˜ÄÍ©8àOÓü$§ƒ¥÷~ ºmH²·Í_Uä¤ÔlZ„C!W$"¨$ž>ólc>Ï5Õ}r¸ÃQŠÿêýÝÚóÇŽ?^ ½ÃšåÊô<ö(ß}™Êz¦?» ¼;§¡aË÷„ÒÞ’©2`²82ÆÖ©÷k=k» #Ó<÷ªÍ¤ë¦ÐÇ*¡~!Öø¢}ü \©™&SÊEx»`§Ë2À?l{€àoCVê— n]â¼ÐwÊ›®íÙÌ)b€s¹^ƒÎXi(ÈBhC‰èG³Ü{:–³kv㢠‰†*Ø‘Õ^~]°Uü«Á©.e¿0t ¢{»Â"ÓSõmÐãȪ|CƼ f‚Ð(²IÏ1l>áüÙ¡>†ÿÛã©åZø{®¯Eâu?-h»)lÎИUƒ‚Äc‘o"&T>ìV64ý½ˆS¬0ˆÿÏ ØÁ®ó —8q‡ø”O|Ôu gR`K»’ìI¯‰SÄ2‹%ñ &ù}aÉøu*^±¤<tå/xùÑê͇QïªLœÉoäWŸQÄ,[u·‡önå©s¢vrØ¡‡!xÇsìÙèNAù aÒ›â^Iz—ô`È@–€(öަVÇ»h<¤M7–Ø«¤€‡XÕµ¤äÏGÚÅððoÆÁêbŸä Sì”óx½(òtÌLêúNË^™nK=i5ÁìàF;iv5ˆvrê@°ÊŒ8›³Iù÷Ü:×õàÙ^ó›ºðXQ¬š8|qÁOöá“9b$áh&ÖC„Ž-•Ç¿|ï–ŠD Pð‰šx€JÇýúpgŒƒ»è™‰ûB÷hÇgÕó- ³7IG"wIÒ ="qvó|¢8Ä •ÍÙK–2‚40PªÓl­Už Ñ× Ð]Æ­Ê Ç—«ª)ûËIZ’t…¨LzšÝYl,­œ;ßsÔJŠ2â?4Å=B¤â6‹Ažƒe¾¼ïaQV¬Öp¤Ôðoºm—Ì´»1B"¯æ–ÀA/Îðh8¼GÃ21€5‚æ4yº) l/‡¤ñ '³'ڣߪÞh˜È2á†MÑ#oÃ^FA¢Ex¼'.¶o€mp/ÃÏ £ÝÕ)¾+õïªáÍ;9D¯`½Z£anmn3Î;‹«²ó¢lÒ¼öæðÆË²­E£h‡ $=SMñg!erNk¤K¬Ëú Ð…mm§Ä ï¥Ô埩“·4j¦éNÁcºà:+å‰=L#ÚM.Á7ŠO·µ©Ž4;{v61w‚3hÉpjÆn>=t®ÿ&,ªRCŠjQ?/~ä•PªªÁÿV†Ò,äszô:|Òs¿D¡Bö•\­øÜé[µê¿pdês½ mËZ·£ñ tµaé-õ¤â¥ïU­mܘ›+›ûU~ó‰ Gä¾ø“{~ ¡)B4ïõÔüÊQ+‡¥v¦âr㍣^ž_vL¨áRÀFœð`(‘æÆ;9,§Ñ)H[£Oñwar°'¥@bHƒìôzª'œ4V&^ã&ŠmªâЧ‰ºÔ”….Bw^‚`–»äšh7éÑ‚JùúÚÞɦ¯5‹Š×ig¹ëÄÕÙY‘Í-§f.‹ÿ’/“™oâ TßÑæMy0 /öÜJš¶).e<ìpk¢ï«B¥›S–ÓOdG›¿ “«ýª˜û'±†´pr€¾Ó•ľô1 _¦{C­lN³»¿… ¤ ¦ÝóK±êØVû¥ O2}@ªEˆVÀ$¿²Ž GŸl†ƒÕ@_1¥7éæNeL'YœG^‰„„g±öI“´Ä9iÈl J¤ €ØWf¬ZìÊ0ߘtU/bfÆ ë±L^Nuþ„­ÕnƒZÁ_}ƒ½ª ÐCy>x>5tU§•@ë>S…«bñ:£*qÒ_ÜÎ6ÇÖÒWÉ>Ç:"‡à™y”bݸÈ*‡/BÙ)™>0ïþÿä„ó¤)ì+»@hvïj²E›q&}- -N3fÄé¾`"3n…XŽš ÂÙâ7rù[ýR×m§õ«¢$ N¯ ƒ+$_nÕÜ@§uÙÓÐwIAAGù«\p už£É’=~˜×³vUZÂç&].4™ŒCÕι(iž%äë«]åŸ:ê©o×zŒ·ŠÏì°äÑuòA„ˆò«*„¸%’èkJå\bCÚ×eÍSi‚ùªqt$ì,Œ¢ä„S’‹˜øá!‚úÚ^‰ûOÑŽw¶«Ó9â¬ì…¶qÜt´Íž 3üb{Šš*p#1íÿ²!S®Í*Ô»Œ;ÜÔ·À¦ØX‹æâëÃÓ`‹'q¥;ÔàÉMÊEÏÄâDLÓÎÝ÷m/–qÀˆ/_=ÌøQˆÇò‘ y:€íŒÁÏŠdšI%B`o U\Q×—#†LÈá• le=5Û©øïŒ)…^y÷wE±ÊÈÌGrý6áVêµðï ÅZ6Öá~o9bÉäs3!ûÜ;«åíIyNLàÉñ§G¼ƒÊG  åO§L™PœÑwÏaR,¸ŒèÏK£Òìp±…‡Çï'öÊ’ÙËÑ Ó Óí«t¶* 7Ô¨öCæWw²©pQ¡­À»×R-©­Ð4²¤lù5SMÁ[õ‡"&ÊÌp(µJ¶3¥A7ˆ ![]wÒ‡¸Ä¾E±VO­b÷º®3²4αùå„ö"ÖC1`›ÒYE0œc·ìÓBK‹Cj¸ë´%=±;éØ|j-ì¼_¾’¹¹q9Ö{¢5"Åü GÞ-“Æ©¹ZáÈiaË^›kÞ ’õPo5 -O8œV&£Yœ cúpÔœ¸Mô@О:ÂÈšÿ©è, 2ñXK@½ÌÑR¦&PÅ» t½¥§@i"~„7$SËü# s¥ì¹ñ!eõ³\&á0‘*>|:÷V 57Ï14A7‚(2êèàˆ½ÍPݬ±tèºpƈ٠g*κïM²çWyðWüçwmü@LzÁ o¨D ¡y9ôõ¸%õ’…xbˆó™•@€Á˜"Qh¾•¢%q­ßDwýg¼Äšb9SÑ¢ò+=ÓE™È·6ÇDMX±ꮨ<’Ýý1åéš¡²•èÓ)+]êWͤ,·;,ÉMÏIR\dãáµÔñÖøGÒÉ*Õúî(’KÊ·ÝïØ<=´¹®¬cóð{úÁžã羨špÈŽÇji‰Ž«r É›9êòD®áÒˆ”Ðz%Æ[+Zã•WÂM§F½ŽF)-у|“Ubš²wIP ˆÆïÿUaL(J²©‹L›K«Tè©ó_J_ƒZê…G–¾A/vóA#0w\çÉlˆ•à 6]¸žâ>’X½ÚÎ)r¯\œµ¡ » Rê]Œ­ÜÙ×êÀyôÅ"v!›„ˆS; nÁóUwéúƒÊÍ :‚‹„Ò/‘KÏA1Éâ\"»`€XYð ¢z²ÿY•¯„Jù;âÞoà”̽´&0ñ#Þb‘+7–רðx–7ã$}º)æ~˜£\XH}dgêI^ÓõW$m+ ›t2éO(º›>ÚÙ!¸#Äê·†ƒb…–Â=Ç)DK˜š&7(Û ÿïzKÎü®&JšõJ¬m ûÚ\ÛE·hϱå}70VäÇ9óúÄä8RlTT”äõ`É(E ÜÁI÷H¢þò\;¼€øÊi/çŠ*‚ÑëÈQ4§7”uzÑu£ŽP[%UCl¶XŸµñV€ ¸[O÷ ÁfÝ@A'oNíÑíàËfar¡›ý‹•^V¾¥y°²yVMA¥/æËýl̿Ϝš´¥ÿ’ ¾ Lä£npôä?Ò™Ó”lÚªãr¦Óö@ÒÁì-Eêˆ) –ƒ_QôJ…'cª=‘ŸÒò-„Êk^M=Ö$~Šô5¸FþÒ§à1⯆›_ê7 Gì-“€ëO²teÈç èÓ­~‹Ê)ãðuœ¸þç5ƒ2êÇT¿,Â1'拲Çrvë1^ÛZMéòÆõ[,¡ŸÀû쓇G±Öôé_ÈfkoüÞV<Ü+7Á]—ÅÄò`#ÎM­Ðé,šô!jG+UN°ÑíDY†eBû¯‡-›µ9 жœÄƒ¬>¡=_,,à!S|2¥×ÖEµ_<3àpäÚ§RóWžWI&ÜQ(ãH™ãSa‡Ò£.ð™ˆßJPwì¹—ÏoѲÊÔ//JuÚhW¤ÛcóÈýõZ2P¡Ýá¨=ó±Ûë€ÒnÃ}3Äá$çÄ Û}z·gš4žÁ,\WÃ¥~÷=Zxy–]£ ïÊjmxFR«ÑoËÆ2¥éˆ‡>äžÍA_Øšs '¤ˆ¢mc±äâÃ/væÖ-`xU_7FR‘¡uE.)‹{á}K šx|ÂÝ)ì*SvRPžîA™xô[c\³õÖ9ÿªõm ÌÑ„k’ÐO|Gä®ü•CŠwÀŒ–×YOCs›Ò]š°2/2Bˆ¥É§È«rGâ×¾w }Îné§3æQÙqJRõðªÈ[Œ7Tk ¦°v¼Zk«mŒ„*loTä?—“âiëÙ”D9±_º*áC5ZSÀŸŠZ9 ‰‹d¡Ž—Ü^dùu\rv@ó¶ÜÖôa¡Qø·Ä°Ói£q¯<àÎ=Mé¦d€a»“•}ñä‡Ëýnë9ÊèÖΩ6ÞËüÉDº„­ó¸–³ë„ª0Ûš¨ðÞKXݺRÐû_÷ÅŠ÷;gïøOagawý‰À3Ëß}ÄÜNk„U» ÚÝéG× — s¨Ø'ï]µ®9†Ös^¿C ÍÛáB:?² Wì0ŠXþ˜ õ9R>>¸c™V—…[D¨û)®îáãl¼øéÚ8ªÖÛ-Ai¶«Æ=nú<\ý– £zTηf ËGƯiR§ ƒuҼ¾Wq\²J±¾xª|†÷¢0éH†Üv®ab‰/„ý6¹œ;¡3Ò‹Ø[»5‹§±†1PÉ΀/µ"rtƒÅÚhz†ç™2é¶Å­×ñ>`Ô·î7=㳂år&¬å\s–](ó#;nZŸ–‡’L‡Z.Æx q¿n¤D“WŽúºŽƒêìäíe°j˜ßª¸s±Êß !ë…a9³Ä¢®‹h™1Œ>$KÈ!ƽßO3ƒ2À“õÇ2v9K¬`W…[®ôZâÕ.¯QʸÀÞ«51bg5eì`Fª _ýÚ@Až´ñ†ý?Ÿ°¬²²T×`gÕ1°(ˆ¸éiiùa‰\lÈNA‰bë¬-üÖ3ÆÝ yÇ¢S FÆÍ²$WûZ¦MbWä``„TšRlA¿‰Ý›õ<¦ìÞZ’² ôºÞŠQ,¦ú™¿.¬B¥  ™pH9gü™DÁ°,'0ÜšEz‚Vp´T¼‡Âñ›ýÀ }`w¥¦&í o¤²;9 áÛ¸+G¼–ÎõþðWÏùÊD„˜%jAz3õ_U½-§sd«Œß¢kÚá1¯êC &@5Ý oÝoÒwĸëÕr>¥Dç,˜M—ï½Øwq²úÖêtãGœ&Ђášb©DWªƒÞÁX~©¾{ôã,Qÿ%ÍCÄN#fÚCm†ž=eTxê‘ìÑ èíA‘Àô„®ãÙŸfo4aK^”>váAáŸù·öø*âL_ÔŸè"Ÿ^›;§¶f¦ž"²½•"­;iÿã;¥vv£l|sT¤héGàvÃü·°ogÕ4vWŽ}Š2Oþ4¢]ŒQÄ(Dœ”…\Ó´÷&×:XÑØ¢€·\àJ‡ÌVþ±¶†‹[L¹üîÙæ–öÍÇõú螈úqƒ!ÙID$97•Ù|ÖkŒL£0Ž'‡Š¯â ÅžRåxû+šd=Ê"5þí AÕÝþEãÙ(Í&žMšæk3¬–Ä‹êv/ùÃ0´O¶`^?ßgöÊE·Õ‰?m£ü˘jRdbÏYÌ“ ·==Tð}j÷å·Òï¶_£.9–à^,¬~ç¶ûÒºKÛ£ñn‘±oClnؾ„€B42´µO,H$ñúã)ˆAèZµ‹“bªsV.Ït?ö§ÇK}(8*ÞÉŠvQÈ2Þô W½kk±‡†U}J/MËYù"Ç'½"b<{¤,T£¼SQ û«]ð®?¨ÐL¨V†uÖˆ‡³·¡»Æ¢\ ›æ^Õ¹ñ˜Cª­K´ :cS¯‡<ÙŽf ×Hïiýrut;­Ÿ´ïß·d¦ç:~õEÈñG „|%¥¢П6gŒïGèƒÌk‡,äßçF¬Û_Êø~f˜rê{€qÒD»ç‡šk»¹ ¡¾«8À¯ßeð2}ÊK;%NT‚ÈóMɲô¡N² >цj±‰š¥Rñß%\šó—žÐ’`,;ÕÿT@™<³“ Ï.û’»[ Bq]ãp»Áî ÿóéØ%ÍH°ÐI¯F›Th`.#vS¯¿e{ UÌY™×nX¬Äåd?5÷Hcç8%~•]Jb¹úoHÓžçÓ"Tx/?ÚÖ¾*ä37Qck’)™NÓ^Ìæ5ÛÛÎUQ~¤6†&m¾Mˆ—ÇûN‘(rÃé•w±™$nØC›ºW9?Ü2‰•‹;«D«™'øî‚4!ÌÜb€ç©f!ÇYx8CT§Ù9|Ü >ç×ò=°/ÙÝkWÔØŠ{D›-_%¸Ë±ìñð­I~iDš\V%²#NWX~6á ×V-üsÀ•˜M,·ÓÏß&vª‡ ú …"º¿e<¬ßžÿ&æìv¤mï¦ä BUæÙƒ­Ê²N á2&‰¦¨º?ügÃ|)w+ÂÇeÒ I"šû&!4æf½ÿó#^Sàgź 2 mÿ¡ëbîN•WãhóA`&ŽHï¬ò».§çº:Iϸ¾.á²XByÒ°¼!»¸0$SÆb.Í-M#ãpka{Úvw'&Á¬üƒÕé±áöS‹«©§ ï¥Y!”¬@Z5jÔ³ÚBÊû!¦.ó-‡zŒæÔÖbaÁKqϽ¹–‹Éûið[Φ¨½kõ4 €LcÒÈ̉‹‹^A€ úŸ}}”H?Â>—),ð‰D·<[Ùá.®324Ñ?`3Ýn®""K¨€¦ÚŠl·‚¹ÐRá‹eïœ œé#€ùë1í jÐòvD p£¹ãÖÊ^Êw\we"š!Òg¹‰R”‘×y¢˜ÑNãý®6]z†ò€)ÝØûÈÍ„CÍhj(N Ìöÿ¢•öLÝ’D†Ì\"Ðú‘²`ƒ«ÉJ¦LX1njU '¨@æÖº´kJGè’Ïr"ßósDÂ$EÃÊÝÀioP*‚UÌ}<.ª ±‡üžs2Y©ëí4ŒÁ:•~ØÛÉ1³p³¤"êVA,¯ƒ¥µ¼q¢?@ïb–ã¤Ëô‘Õ_ÞÒ† Íéíí'Ðj?Ð(­+/)  @:aé¿M®­£¿X§™!â ðåRµ¨bœªAàï\F¬ÜkŒÅCú%Ü/W(B•æ*I ©þxqɪc ÷WǤ".Ûܨ Å+Ôi3“ÉŽÖ•1m€¦ï÷S†/Ûˆ@e\Ò#®Š+–BË )X¬uCç³àkQlËÍ–5ñ%+ŠiÓ¾˜àgzlw&Å.¼.º{Õ,íIäuýݪˆ(Øöjm«ËŠøù,0™›‘®©Ùà¯%”ûx"^q|[Ï% s¯}ê.£¬˜ÜFú>ÙG1·("I÷¶Äßo±ƒ.mNb¡ðIv$Ê>9)¦3Áƒ#9U›Òa‚nz´Ÿ%áÃÁP6~ ú]`*ëy‚D‘ÕOi;\¯~½†Œ‹|p¾Ö7€ý€¥0ºm„U©iÌŸŠU™Þˆ­”ð[ðEÂDF^À×ãØ1xÑ+Ø‹AÂÌUC$°† ú°šÉŠðJül.²¡×yeE_] õ'Èíeëjš±)ªãV[ÏýUݽE$CËøòýæ@ÙÐZÐå}ûè²°#Ÿd$JaçaLp¥#A’)EE˜Uó”$ªµ$yJ*Ù–ùyŸ:rP³ÝªêNiäˆN¼¨ýŒ°¡ú7ïøg‡èñN`ǹOåÜÕk޵¹[ì`êú û Ýel#NLa¶¡ÿ؆ôqcb1¢Ò[!\Ð4Ö‰ZSæÜòmÎKðªoWÊÅërÇ“ÔÊ´ÊŒœ°}éÊ&±Ì¬ªÚª–uÓ)1;‰a“ñtS£»¤¢n…›2SðÎv_iiä—cBFDÆë– ‰gl"ßýˆ¼¢×#:°-^,“Ëù&Û;(YŽh=ª@Áæ|ŒrÌ,3n…ùë\ìë!yMLìm³Ü§÷R•k¯Žy˜2\o*y*'òPù²P½XÐ$=Nœ _1î¸ê4–‹DuâTÜtæ•&LêæÈ’ ¾¹Í`¤RJ{±3î(¥—~-nÈâMJ£¥ÞGl±/Mt-//¢è“¶{l)>Ýɱ5ÓÓÞÒ1ñ «‹+3hvngËwÝ׫€ž·hÂ0á}2Ôê÷HoA}‰Ýí±]Z¦h‹Dc.]]Dœ™†Þ”uä´eÀH9ËÝ7Œ (~÷Dlz(±­µ†hÝ€Òe]AÿMHnòä§ŸŽDÃ5#þ¯Ìr³[5l%_Ì]äº ™+¡³xîëAß*5[x 1•ñ+ïÚƒºµŽx0g§³{Õ÷ ¾WWõ«ÆQØZ|ù³¿ðÓÙŒ™ñb ž˜›`F‰Ù¾ñÂú2é ŠtÞNÝ0³rÙ+Ó®ÖË‘„Ü*$»èDdø×¦o#Çé*8Ÿ<`Bl{û*r‹ì5ÇÌ£ãïvÕ@麑bÆè‹ŠêÖ¹"Ni°ØÀÀ}.·»}pÉ.Ÿ7Úp"±ÅA‘jjï&=åÖ9³îknØnäl”ž£‚µ@ù°Ì ’¹•mÜ9°ìx ¢“§†§æøNîÛÏŸmÀ?ö 0F#:l¥;°G¤]- —74#ôŒÆFæs²›{±°ö·f“å”/ŠKq®[õ¸ð/¸=$àQ+!cœÏŸÁôÜ|Ð"£‰ÐÎE|žf}óuŸŠ\õîòD8óÏR‚‰GQÜ=Úw¢}MíÊw_º9Ý«¸Í)}}ß^ÔÒ "¦qC9ÿ CÏq6UfƒgÝI5*‹ª»•Y ‘b%wt”P7ÚDÞÏÜ-Éð£„+§RÚ¡¢`&õÚá°òïZp'¶ù€HïT;Ñî³h*ò-…‰s 6˜<±ÃWÞtjrÔ}>­\Aà¿¦Ç «~ZǼüû&…Ö.äxnÍë˜}t­ÛÀƒ¸n†}ùì0]âAdZó³c"ÛâþãCr(f{|ÓêF»ÙW@ ä€"¡Ðè*£\"€¸OþY¤8Fxx”`…/k·· :¾YG©uV–:ujõaLè(×vßÓ+8‚fó|ç!ß1G¤ÙØ^§¤×í–¤¢>+áJ“ŠdZûŸGšÿ[ªÊCgè³`¿ççIÕM³ö¹ø†6DÕÑÞ¼Jb!ÂtfÍóòu??¡•2¡¹¬Ó_!ßÒ«·|?µL“åd\â&ãá¬k ¼ßõœŽe 2|{QB®#ÕÒî/Á}ïê©q'c¢só‚af_ãAx åµ~a3¨O9¬böÑV «DKÚ“É3¾ñ•hc5Jÿ=AÙíäRKM<€@Ñ“ÛõþéYDêÅÐ9‚»ï9ê„n0õ$ÆJ4ëJj¤#K´ÛÓùòîòõ”KQO’7ò_üvнé0{Ùù”+Šîlâ« ›»ŒxúQj €χ÷‰ÕöüMhY'(©pu% PÞcl²ùê$HÃfîEƒh8cB¥Ñ:Ì>ŸíÄ2Ž# öN­ÍÚðíû)TiWå Ès%&ƒ*,~ HD·UÞ͇ye¿ÂÒ \СOI…÷ »XyOl$ðÄŠ…óð[";·ð䱩ôM:œ ï™Õ†¥ñWØL¯PxåƒòÙî¶~5îûWÓà¶}/œØ yqN ¾‘Ùá` ìIø#Qalsà,myÁ‘Ÿ¸l¡cÄ\ Öi ˜ ¡’Ó#xN2‡ÇH†q";ª¹}í³‡’ЄŸ6Žò \{÷]é©2ÑYª>‰ÿ¤òNËb6ééדÃôIýŒS+¶ ¸waÛÂmÿÚÆÅTvÚcMë}i>ì]w)E0§t¹fflj' Þð‰rÅœ³Ž†!RJOg2€ä*6Û/¨ðzÒ3Cú< 3Rô¹`Lï¿B1Uˆí¼— `ycûž`F툒"öøhôªÕ¬ŽYK«Á´¼øû—Þ ³‘¥2XHø½&ÆÍq½Éõì3P‘fžàšõˆÆGòªÞ^Í„¨Ò »ÎDHœáLJù qÝÿnÊòk;sÄwöþqJ3öÏ›·…BAÆ—Ü5$¯C(þ'X­và<ù/“&­6 ðu¢žÿöq½×»‚2úÀÌy¢‡+è>dô|ÑáÓ&Sè@08´yáþ¹òy×ãeQÓA‡¿InPðv©ìlé…1Gz]}äÛÝíÏ}'º\Y>¶É€ÁRÜžõdVÏ^ 8¹@·†••å6…Á"9『…lÞ«bœé¤ckWÂ:÷çýâs&®Óï¾#¼Âäì¯K7Ú·^×þªbOó€œx܈žFD#ÞX<õNaäC»ZMƺH˜¤\¼®+-Dü Ùðz·NÔ„«iátQÍÀVj7êë seÅD°ÿ¬ÔƒÌ5ßýœsàRÀó’´exŠ ÖE…7³èeöî|™Â*ömNõ{²èžLLÐ\4£ÚU0熮3á`­â å<)Ìü‰‡ùñF™Ajö¼³´‡ê EÕlú¢Íˆ<…•ðç‚%Ò‘ÕN"ºK‡Ô×uOdòIäêÕ—}(4.pܸ£MûLïåÙ¼UêûÜŽãÓ.Hì%ÚÂ=ÌRÄ4-h7o]$=fo1[7*çd@Cû2ª‹}Ô‹¥@ÔVÀ¶ƒâ$XDñ—ˆÜj< ÙÙê[ñáY Ä# ,°îqÙ‘gÎtÁ¬¬”Ï®aÓ'G6â.tÚ@w=Åc˜‘d7Ä9ä(5XÎÓ³±kÃz6ëÛñæ,uœæ±­ÔJX•ð^ÌX‹#b4[Dúã‡E÷û1p?ñï[•éV •.Óã$ôT@Åœ°6nEdAK@͵ô.`zؤœlñÀ[DKµÂØ çhp¤Þ]<‹^ì làLwgÒe€6ÿÐr„*~ÆXa”%Éó³Ù ‚Ót@ÜûTÒÍT,ü‹– Í:\NZ¯/5É«ß;v¬> 0œÿ…¬R€·öüBa¸É¾¬Ì̹­‡+{t`?p5v‰íñeœývd¤“èÁÛÝ¢-tnÌõ@ëCIU?in“h£XCú£iä7”F`6Òð‰XýqyÔ\¥!úÜ ÀV:±7"„z:F^vr£ ²JS§ºz€¯šÛµ—£;b^ÁÕ~J)Þ:2ÈÙvK~ÎÀ†YüüNAĤ»˜?‚‡/y6þÊ`ÜJ›¶)Z2І)|›/a¢¼eóÇôðÀAAYáS¬Ê™=bT{•,ŒÍÝ6ÑÚ»s{üÔ•EèscAà xR'„°Å/[~2ŒK¿ ò»&DoQ|J½`o“‡u*sYqÉcAñHóº©S8²¾WZR‹KÊQŒö8S>j‹Ð,Ȫñ!j&Ù8ÌÁf5ÓáÇ¡NR¼$zOAN º¶Ývït»ïeæo¾¥ôÀV`Ü(M‹aÆ& Rœ’G’ó‘)V]¥Ø8Ú:0ÕÍhXX³‚äºzíh ÆYæÙq•¸²g4Ú'òÑZbâäÀ×…db$µsÜ-VÆõ‡êf 4‡Ïã¨æujÌ•ƒn’ݘs‰5¤ÍC4ð²=m@…Ì)ݳš1$üV d¥(45X–“—3`â¶iGÃÎé5 _5M±U¿*ÝE&ÜØ"äïWË kZÌ’a…ÙÀ1nŸLˆ’j&Sà b´ƒTƒÀÎËÇãUTÿQ³Ø™ÉKÆr`-ïÉO›ŠwH~ó«Cìµ4Y`ËbTÑ‚Sç6rÉuZ¦í1¯J£83üø/Ò~JIÅö¡MùúÐ/P<½(PÏ“e1pÈm ¢®]¯š¢^]­ ÙË× ™VöRÒ2ØØ=½ÊͲ”6üqú”­ž^ÌÀØP ¨@%æ±U"xÎDäPï_|ê¸í 4 ¤à\Ì<ŒÉ×õùÝŠf˜©ù-vŒÍЊˆ§=Ž ü¹¤”î$Î> _@Á¸È*@ä>ŽBÁÁ^ŸP.¡f ËŒ%*ªî˜e«=Ф÷ùa’âH–3ó‚‡6žåГÕtYºÎ–?šõ —)ÉP'yQxÂþãàÂ=ÒG˜A«9?cÇ 9å¹vˆ² ¤Ò©Ó2Î[QFüÝ“W›¸þ÷ÙGáÆŠGõJv±WíñÎÀx>"Þ”4ƒ“««%›¥‘žƒÓŠèm6,%~zvÇÒ(ÄŸîÕ™¹}˜‰²²Ç˜æ,GY’ôbggø€™^@÷ú¤|e>¬¢*›/ÀFs«1›?§Ñ®ë› ýÀt®Ì%&SDŒ+©úûÙ¡¢FØ  áb˜A8Óæc™Ÿq5ªÃ¾çƒ¾K4³‚?ÞÎQ~ÃÒåœHø ùNI*'ԢІ‰úZÑíi¬0Fa"ØÝ¸^†§ðˆ|Óæùjâõ²_bB ÷Õí1p`-Xm—àØŸÙgÚǽO–B«äDˇ¼`%Q˜ô!4qìmÖæ’op?Ä5@’ç1Nn¤´ßׯø3í¬P£)sãíDÓY‡îLT?Sy*D(ñð·´#‰Ìh:2·ü–)òã/.sAØUàþ›Šâ–—Œ3>Ÿ¦XÎð­Ÿ×Èã,¼IBiñ« ëx«™ãªÊ¹8¼õ¹GþLòkþͲ;/‰¬ê<÷ª¡àÝå¦5kúÙ˜¬+Ê*è]º4„4`Â}í]jaÁÊE‘]w(}ðxr3%5pæ÷!F–Ò’oÐhÛmžâŽñú7z‹…:)ÂURï=Þÿp«Y~åvO¢tçjÁûÈ3¦˜}øCLQ„ %÷QcpXCÚð(­÷U¹£gže Y=/ZŒó5Ê´qð€Êÿ!¿5wÇYKZ⣀^$ã³cW"I QH:½(žŠ°¹Ò­aP^jN­Áåؾ“ÎüAYG i{¥­QzåëíoÁÙ#Mw•-ÙˆÄ̹ˆ”%õ‘_•O”xÜr”2á8*xª-zÂøKØÇÛ|“œ+ÅÌËmœzÓ„on†k‘áùhëÉà cYð=ûôJV‹¶ð¼çz2•Yqëºç]ÕŒ1¿‰"÷½Í3ei¹7I>`ÈK~8 °ª)Õr7º,;#½'\Ç÷œ¹@¢vñå â&CøW÷0¤Ï$e'eì›ð ÍŒà¢\b0³Ê7Ô£9‚ûGª–ÔÔ ¤—F±tÄÂtÅóRšù$“p Ò µây¸oR‰Ši(ûUH-ǧz”cLs…ìí#ºj¥€iï$'Ø [£na(ó²9¹›ömÕ”r—ütÜën†;Œ¼Im÷&ºBað]ö\* Æ’wøQcF3oQ_…FÉ‘†%Íó< &d‘G ˜ëoâ©ûœaBç«×HÏ{ˆ“sÙ—ày |SÞ¬r] Y ºÃw/ÐÄmxN1 ! ‹ÒOé½ðI˜ÑÅ÷ðw•‘yŽÀÖ»¥]GþÍTcaáZz´N‰Ñ÷#J¹ü³i@?â§ß©bÑ-3®sñÊárÈß×Wã‘ø~%èÓÑ7Ù‚‚¨¬öîjœóÝ&þÁÙ~VëRr¢ ¸-kËY ºx‚²\Ãn“ -¨Iî" IaJºÞ#Ìr1”d'ŠKTLþÖOßà™X¨i#Ÿhx» :Ë Kè¼úöõáÓÊÁÂëY{EŸÿÀtø…ÎߺëvÛ-yOi^ôjµ´!nw'J¢}@,f—KZO¿làB¿÷1¼ß<<>—ª_åa6y¸)› "òŒ¾ 7 =«Ä;`YÕá™i¨Âµ»Óa± '¯ýd«v_ôj¥ƒÜ.B ÝO·´l#lÒ ñêð¶m_e;À‰åK:Z v'PSm…¤•µÆMð¡yµ÷ˆP~âôýª¹íìÊ^Üp¢Ï—+ÎHzq@©Hæ:0aôÁOŒ;bî=¢Áuˆ®æ¨Ò¼¶xËYìXÞsÌŒ!S¢ý•[#T«žÉ¡Ø7H5t6lid¥W\÷bå³_wf´Žl°¬Ú²ýoƒGà/¿RJž'ðxˆ‹Ëq9‚á­v€þd8ý·¸kÁ`+]ä$¨gF_•XÿˆéÔ@q;ÅSӃθj &k¶œ7Ÿ sÑ1²ŠÅ——ÞR]{C›éŶÐó'áíë<Æû*A ’ØåaÝâ¦>P0 “¦L¨}P]hGr¹ò՜ݦ ÏбËÊ$ˆ::™V¶¦c‡0™™P±uŽíªNڗȤåc3çïU*ìùزzQ~EÜžMNy…äZÆÐf•hæÞÑ,W•báÞüQ˜b/sÜ3M %,@Jn§%‹}7Ã.ÖÔ… î; Ìò¨§L*$‰®šª“y± CוÄÔI_&gãTWb‹6—T_ÉŠÒZ¾xþ nëŸæjßÙÚ(1³QêòŽmîEfëFLO€‰c|'óS9¡f9Üa¨„x?¨œ‡’ç©yóB[¦]ÁˆtúEßôw³ ‚‡œ$?_„æŒOWZZŸªáͱ Õ0öà›„|/ñåÌïC ìɤTJŒ3¹ƒ6‚F‘Ä­ v—>ÆÂ¹Ñ‰·µÃœ_ ˜˜fJñå`~Ђ™Ue±‰Zh»c0bÈÆ&sÒöÑ2 ‹Å‚¤ UJå u8œŒšŒP=Ùc¦ í4ûÜ®¡}÷Ïм/nÌ×…ZVÉFapç‘åŸácÒo~¹š“bG¦dÇÀ  ‚Ø0"À÷Ì…\kw)3BÓ30^Lòð#~f(þÎÿôú†–-M’(7Y²ÁصÈ«ú7Òþ†»–NßN¤µD³û•ô‰cÜ‘^æÔB·—ÃBüXx5°íNàó¥ ä“¿º™Ù‚Ü)¡;B¯#{€qŽVdd¡3c€g ‰›x亳KÝg‰qnÀn¤h5ÿèõ­:qõ¡Ôø"н1Wë5Fþ&TTm¸Uþû_L={A겤¬Cª|¬²ê°ñœÑ’³ŒXàŽ¯LùFM.ªëZøRU¡,¿?TÊöÍ;œ¬G\B¦+§Ç#å‚Ñc…ÿtaó`*Û»øx5·s³õÝíªBr©›“ß‚µÌä²ò=ž¹áT9‹…Äc/3v;ÅŒ§õLG~œ‰Dpzš¤ùÖ­‹;–(!ÄRJÒVéG Šf£2QÒìXVþ+B}N¥àÆ×H— ò[Òó`¤S&l[ø…AÜ^#7Ða#tÁ²“I>p0Ö”+H,B­]'_„Ý„t£ÑúÔáZ¦™¬ =5•o ·ÝZîÊ9k,y¼Ži\OÖÛ¬L)¢«,™ÈKé–ƒ•XæÙ¾sSè'ëi5Ú¯òçÏoT«+w[4.ynGXKï¥;ö‚f5å¬òˆ|ôºöÿûE@kYͼ½í ”îÀmo ÆÆn/Ô^» Ã0¨Ÿ‰kagFIÛ­ȳfÙP¹-¿1‘ûz‹”Ó²;>­¼”‡³ÝºˆÓ}°\µ/\MJµ^½’å.‡ÉjdšpybZ¹qìA° z'ÔÁRÒ^P3Wr“ªqÆu©­`hcãý9"ÔÞG²óÃù)~Þ+ ÿ /Âö¸Ü×ø ÕD#¿$Îÿ£~}£ï¾h+5ºUm:hí&ðš®è×Ëßð0:»W÷®T ©{Ì()f¥ÄoXNr.°AX H¨ùÖ ß½6J♀R¦0Ž¢Q?ÍKÊ©åÍWvP‚[»…O’±*ŒPm'$‚r¥¿àìmñÃü«åÕ˜vB tÃ(¡ƒdÅX­)¢ë¿¡Á݇á'Zd¿eðyž™Ðëãî²0% ßÎ<-ªÄm˜ FårG÷—/ÏiÖ+v)Š—;hÜ9_øíx¥šq×W&ÜÀ,ËÔkò¥“Ó\ZäLOi|jÆa:~à´Æ$Iª%˜œˆÙ'²·š6BÐ-[„Yl;:œÂ C™âí{¬‡¢‘Åkš)OÅÈ€ÂÀù¿l< 5l@½…íBO§\¹è¼Z#ÿ±ž¦7§§X-ÖKÍoaëÄéóeLœ©¬rØ7AÏì½*NŽGœö]þˆÂhÿÇ ÄÜ^£J„*Š¿ÚÏ–À¤Ö}'©çªü•©4N"3)Ÿ ­ÞMcÛ^øí0kÝnh´)Ï_c[+q\b9ð«åò¥£nY‹n½Ç)¶ÏÐ!{±o޳t¦E›BL{]B—,Õ„‚[ÑvÛ¥Öò³œ#îê4Ò½H‚ýQ¦¡R]lX‘÷ŸrkÞ§ rFeñK3ºOêÆIàíƒç‹Þ_dz(‚ìŒ6 ü»È¾Å™>I·lØ!»ƒ†8Òë³µŽùXâþ¤üä½ |ò›®”ª$‘±ÙuöÆ´õ–«aƒ‘†`\D‹þuˆ ÷ðì{ç½wø‰}èHì£A—Ø k·UΧ§œîï×ëŠ\åj}¼£¾oœ‚-¬Üil%>pÄ3§«GÕ,3¢‡=&åô³ºwÎqí|í,`Ÿéƒ+&ï×k ߬tr£ 0áDÚ‡®ØÅAyò®6ÉŸiè€mEç;…‰52­Œj“ÕD>@àM'$~Ö%âT'ûè$ôE¦d\ðär>O¸OàµÇýi¼Ë$ò œ#î×ßJ¤Ó(ÀÙ ÁAª*WÝɵ‚*÷ûé}°iž" Ú\­Ói¯ùfRÀ6OŠfYÞá•æ^ 0´€Ž½Êî=c°ì`yOj¤³1®RŽÄÌTBps `‘g ….¯Ù¼9ëþ=< ¼±qšÓmÂDù va²u^F—ÝW(C©ëíØ­¦­ŠYˆ$ MÓ 0èÔÕÃ&C ÄÍŠ×fòWåÖC¾^Š „u€ u×\ø-'¯½Å1™-@´Fpí ëêŃ ÔÏ8ä«.­åÅI?0XLõ‰?´œŒÛâ!Wñýá¤wóèռȸ<@ŠßòE{ßœw óñÓáÛ»ï8@ëpŽ~løFrb÷¥'I<•aç kûp†hh–¡˜?$HáòhÌAˆù×ù¸—ȽXV«ØG¡Â¦iÄ·PÀþþ’ã´§Ô gj–ÌS'„Ãò&âÀ«_©‘2”ô#òíÊœ·ÿ:˜åÞ/dŒ<],vsáÛDE€^äA+áÅmêÁ ê/y!}S<"áŒ7·š§+=4˜¢†¶2³¨Æ^±X€H8k™¿•rñE%>qÕœ*0¡ÅÊÛ¡µÁ­'ïÜ.•˜Øq˦0 Ž;žÆÂøLù`nW.’<*®¬’~ƒü­\eh”£ðòÝAdp»¶p˜ïƒ#»Žœá'äË:‚¿ l~/ ûhtb8ã\O=Üå’`‰P«â™~…W nÈoœ„SvB¨wþ°¦ á") W|¶¡N•/ugˆiG/äHÈèhpa–çݽ’nîD×ý¨J‚/7Æ$Öû. hÍ_NŠT›ñòymŒÒi–9Åù@ç=r6¸!D°n¬íòÛp|¡{ ±B礶…V­·¿~C³cæÆ“·äTª¹‰‚£ÝzÀù™2`äÁn燸v(í'3nU`;mƒ£ŽÕàðƒ¸DuKv€ˆ;êK ClTSvw…Éè×â•o6ôÕeBзP‡uËÃâ}ž–€gÖ7œûN¨©n7kÓB°ò›º‡ý9”Oøç>“#ìíbã|’(1Ì:á|º7©WBøÖbiK ì¦®PŸ=¬ÜåHy¾\»]<ëw Q;…J_j z¦rÁ¿U €úÈ;ÕJ¥%,JáM•ÎUXöÒ±KñiGg6þå6& ÍN…ßK= <‚^ô¢[“ëkf1B:ÆbÜX8R9÷Ù‹N qjÙŸØØRÞû‰'oa䡳8è;+à­œ4u-™ô÷r龺€ J‰ªØ‰â»ÐÒËS‚«õÏ˼ì|„µéæÐù…7'Rò*%Î;-ÇR¬_3= 2ªÿCêBÞ=Ú=xõ/2Ö ¡‘ ¹:Þ„ tð½ìÞÃ@óÝšÚ´¬w×Ñ‘õo]Jç}ÿ“&¨¿¬¦‚=J­¾–¤ãœµÌ-ŒÆ*—JÙ÷‘æw}ßKÀÁœ)ªðç©‹(ïG‚GµÕ.¨§ÿàks˜S7Ç9¾8Á™«û)š—lÔg§«Î¯¢÷y¸C‚«\K”+ôc³_là2øÕ}µÎZ›bH-V!§=;fªT‰§2l8ôÛÿV cÔLOMë‰ÚëC¼u‹i›ñê>4l/" ,-\Ôh[QÓðHΊ_y‚nû `võÃAdÅ;œ¥_P”+Í£ãüî °úÁv½<‡½å'¯Ñˆñ­â ´ ̽Á27JÊz_©»Á­WtOe ÍJ!CIj4p²Ð¨žoê`¸çj˜C €Ï¿ÓDóÒ鲦¨ÈÀqC+a†ì{ÎW¦©Ý‡ìlHÄ1ýÛžØ*’[å€&Î&°üì%w=T%îÿ Û­ƒŒÜaûq2¯~N0G ¯b’qOÜžE^Ðñásìëò/T;‚%–H&c´XQ†?:‰ýH¼Î›Ñz¹¹Wó.Ë Èûxò~§cÖVrY ;êÞË$:éZ"ŸÐb[’Á…¿¶*õÌp:Ji¨²ÌÐþŒfC%þ»Û;µ Ôgå~ð»9_&B"[tï%d\¼¥çâx bbd ÷¨ ŠP¥ÜW¶è†ËQ{÷gwtE³†ëí<ªŸØ^­Aöƒ5X±"¹µŠ”}òóÝùÇPøu-âfH›Ð­tù·ãÐó붪Ý!u@ÝÀÍçõ»ÂÞ¼EýBóa™`]lsÚDKäøoYs?¤BD7˜ñG¸$PV ih*€í'0†|oó‘Œ(%U¹мµïFߥšÔkÃÒˆ‚¥m“ŸKjïí””› „@¦ðÛïÕ »¾,ÄAó»HkÞ˜ƒt5ë7­µÛªýÔT›ãeÆ .ø³ýNEåØçåðrêÈÍNãOºªóÿÿ¥—5_÷lãÅsN™›™3§Jú'µˆ¯þ, kx-Î -°€Ö¿0èoVãÌ/ʼn'ÿŠ=k@«Àg>³ &m“ͬÌíT×Kñ:@G¸ Qhw;Þ—îËX·ÇµÚ  2=gBèÿtg•¡v¦SØ“¢?»¯Ë¢3*Èûj™ëõÉ9·÷ŠݦòU¸ÞN¾QÙ˜|ÒÍT—n\âtXM$R„Kz•`_ô$ËÃ7ü–IÑVÞVm˜K½\‘+LŠAâšåjƒdšÐßä–CsG¹GJõ Cz+àè# ¹všïh¦.l_⇧D¢í!dñ»M„û³€Ô•‹Ì‘õÎ=‹B3a¨…®ÄÊ/ˆPI¨sVŸÛ%Ý)‹Í.OSÕ]›×ÇðíAv¾1sýÄ9q_ï­£°ìHÇ,ê=®aß$Z|–»Z5ÐS\;ƒ´ð»ˆ|} %ÿU>¾Uš¸òÀ¦Ú+[‚³Iy{¤Sw–t`D5î!­,¿V)5mÈüFcÑA)¹£z¬Ìt ]²*5î¸àl#n£6»’p@@Ùï'çqóE•Dõjü²ëÎ4çXG§™7‹æ”¹Ü‘“)±ÎHõvÊ3Åë¬óÊelhË `ŸÏììžÐ7mÑïCÐßý±U­¥è'–Ÿ’>²4¦ÛŒmjFÑññKjßñ ºÃŽÍ$kJ¿æ?ý¦Ãô“ÊK zç‰èù¤L\-g¾ uCëú)ŠsŒq#g!d*€DÐfYÃÊ—×F-¹·mñÚׯòOj&1!”Qå߇°;ƒzñ¡¦68‹ûîþ‚‡ñUçiYûº®Ù§ªj?699ž2i7• Æßsï,‡!ú÷("Ÿîï/_k9CÇ Ô‰b¦ÂÿÏP\;¥™²°§Rn„Ž„Á*e›Þ,ÈØGRF=®>&±ß/•èá<7 ¾†1ç‘àðPÛVcÜS\ÕµW#½[V‘¡MOC_xZX^T«Šu…ðI-¼;{sÌ«>Á=ÙÓœ»}©¯´SºBwÜ#¶+´s´÷ÿ}o$5#ˆ P$l ¸2°T ˜ISŠi-®®rg U[zåî©I¤1vÖ1, ;O†E|…Ï&ýP#v?f«aºóèß-Ôað| +ì`7~¡?ÇÝ!ÅBŒ6…çÖµòYÕ² 7ý¯©6ÈQx¦ÃÚÎòI¬岡çÒšL[žÅ°)åÞ`‘Ìû‹övz5Cu­†g]A=r(¯6C^m uGrS†‹ˆ„ð3t”’>š‰Z" >”£<Á'2Ä"§øÞƒM+Áä:W¬ž±äJé¿ZIC[Þ»èòýsÖêÊâýõL¦Hu\â°¿y²ÍƒP|ã„8IË}ÑðSK¡â1WÃŽCWpZjµƒׇ¤+€k77}TrºdN¿¦]Çh4´ +YšŸ#TMÜkž솃ét”%Ý‘¯™¸FfkRÎépèåÊÁçÈ ZÎ4?øO‚¯9މô¿¯Â&¦ÓGдûX« ‰¼”Ýè‡Ä»Õïö7í‹g÷öSèÿ³‹v FŽ7QÿB0Ö& „¥¨l[(|±r®+¶á1;ÈñëG'eŠÃ$¥ù`ä¹nÑóŒ^´’®=:[O°XðhêÞÌ&ÓÏm&!BÛL64I=[%@ä÷™p¸m½!ùüØQµöP#D<ÿi¢‹Ù” s³ð‘)i˜.hßúx®ô°ÑÕLiÎ4òûîŸJ€Î?ŽÝ[—ʽNz‚0H!¸áìb58u¬§<;³Ǻ`§Úªœ¸²Åå¨ÔŽ9yšâ¥Õ‚LO‡ý¨.©ËNÀk?€tÛ—gÚ¾ëÐçj™rÛŽ-ª2£í9ô9oc°³se ¸^ãK+ˆ¨>ºú¼'å¸Ú4̃ç…J¦ÎÆù™Fö¸G¦”Î<ý£7^,D:ëë”Ô(ê¹Ú1üí’\8Œ¤f„"–ÓÅ ÑCV|ÈÔª Ó²&»‘¨PF–»¼Ñ¢{¦ ov ­b/üe×xùü.]aÚØ•ì¢?­ÈhÁ‘=ѵ'qõ“|å±þé”÷We»¼+’®Ómäô⿈ʕÓqINÑg5_Øêy!Gô·Ëߨ#,诃k´¾“r!½+rƒU­²¹eÒRÇÉBáòÇñ…4¾¸áão7è)žã¶9æÊk4&±Q¼Ïå¤9ÐùqòÛÏH½—F†[Nê¥G¦Õúðà´Ó—À8Jü,°XAMP$‚˜©º¿½PóvuFp| -~•”/ƒœs l·0¶&™­Oÿ1×ã½ö€8f‡¯îaÜ Ÿ£ÃpM€ÂE¼°|Õ2ñjÛ0#µ ¾U6³M(ˆŒ×B™o™ 쓈§´i!ñÒüêÒ¯Þ„ÿ¸8I0Z9eæ"kÛ!£ÜÞ4š zÿU[À 7àHNQs*)±t—ÅæJ°µñý¸ÌW>(Ùµk‹¦ÚôNN5ƒØ™ªÿ­œi`ƧŒKb„B–!-pÅr’‡ÒÅ8³®K`9`‰OàÕ£¬¿-ÏS̓ÎÆ ?Ëæψ)߸ÚRß«ÞMÁ`â9ýËZµaýÑÑgo—]Ó[6ÄUX ãê­@¥íË<ÂBð8º~•Œ@ ûŽ®Ø†_Ñ Å0k`£:ûB-ÕWÌoG²´_ –>_Cȇ‰ù'ñ­`Šéô^(Ò¬ |[Ô¦‹áÌ Ú,1R°“5,@°ñÐûv@_ð†–…!• ­¬F²ûØq•ð-» ìc‹×‹Ç ”æ$]6¨P2(O5cV¢hÛ¼°ÄÛÁÏÜpO\¤ëŒp»‹tÀþ¬tè"BÌlC®7/˜â?\ï/þƒè@ðƒTbHPÄ ó 3þÔ0ÜiËi§Ü*ûaÄ 9Æ ŠžTQòî3ürCx‘Î#rt!÷g¿R%ð_¸ö'×fš>S/Â×ð-µ§8é-ø×§×–ÄëNr­·~$ A¶rU~ˆÞ&o»øª#Bf­¬Y]„û¥ ›BÛ°‡‚ÆC'åysJŒìJ1NÔ+/. ŽË‡wåOÓ.ô €å ö>;ÌØGX][N0=ìoBæ¥+VW-`˜­è¶ˆ\lT¡×´œ˜q¨ðÂUk$Úa2´º[=Ì*•.fst%7`êcüÑнü©}2üﮂòÈx0òºãBjË-™}$;”hƒ×„µ_ðc«¹£‚˜)õy,KÅÊ•k-Ò™óÙ1Ëô.8éSQÖE×õ®G RÊ!çQ‹ r.¶a–Ã±ê¢æmk8’×I­õ0ÜÏ?ˆ”ÊÄ].‡q· ç{[f¡G;ÚoS–g8LïÚú~cEQžÚûµñíÅ fŠú‘vç«%Áóùá®nWtó@c¨bÅŠ!8HOà~ÔæOÒ–•½ø }}:¦8¾i #œ%²›7Ó®k ABt—!Ï0ȯH» €Á£j´õæó“‰ÎDzÁ(¢+# Yᕵl€®%JŠ(ìcûGTá©ÿJâÈÖJh·¨žÞ±M» 7Fƒ‚æ~Ë™Uèõé–Otúà›\:¿)‡Ú+çÏêGnW|.8>Ë”‚j¿Ý%ÞLÒkyâ‹'ÆžÿfÀ¢mþŽN»”“O¤’=uíž. +Ë*£Ÿ/k/àZYûº†¸’*4ç“g/“îǶh6‚PðB&©MáXß󩆰àNWÜ_زkö•-¸ø[tG›IåäGâ,1Ò TTæ$¦)ZRÎCÁ-ÜJ}ô=N Cn[WXAãVcœ{ËG|ö Éׯ€ñ\=àäÀKtA¼SË1qjÖÑfïþàÄ ªšc»p×p[뢱B²e‹Û"SOˆÑ/©Wø¼¶Î‰¬’¡DjL¹5'dNø:¾ ¿5}†šGv÷±’ÀP¹¾úºÍ`dGç"šk•5 œSÜ$kŸëÄq©Œê%Âs}¡Nƒå-§o(À±N£R»E¥Äâ:ÚêWÅúÒ—ó*´Ê|@Û‘VP'TH{(‰W'ktäÐJ+ t©V—u«¼,Ç}ÖÍ⛾5n{óŒ$q E^u1²FTpÆ?S{«lÌóaš Ž·x«½ë~ïÂs›‡ÝºÞüàï[¢àÅ´2íCh¨³ñÿ¥ë ()@i‹h'j8†‡Þ{ü h Ðe·á'ÑzAÎhäTµÅß)x!‹ØIl|ÇÌf!¬v}øgk—õÂãæ;Ϭá;’)S6 ðy6þkÖ0’ÙÞ&á›øž†³»½‘6kµªÑ9óîmpxÊëxµÔú3Ê®ó ‡®æ’òÃ0èæ{G‚ˤæC‹6¯Ï-9‚˜9¡/%‡üAÊ;ëƒe½¸Êhèõ€á?RÇt¢Ø (Oë‰d+úíÐÌl>ý©aŽ–Â6»ò·†*ùì\:ã:¥B¦ÿÚªÁ'’0–à†ÞCݼSÈë†ÑUvûŸéh.è핦)àf?ÌóÛïZfƒpp‡Î¤ôå–¥³ÔÅCŽå9¸£Ÿ¹g‹ÉÿäèØ| õ'fÕþÅKIP¢î1'>Ø•›ch¾  FlÞ/þ!8á^)BÆ3ìOMO/b‘y„~‹GGHÚ'¿9ýz"µ¢•~iÄDÂ/Ñ^Í"³¬KIðDîÚßuºð©=¨êHˆ¡åås>ôZ¡eÝM=ÏßC¦lU° Êôì[˜=9¾ìžà‡(uá6›º!žUBÁ³ÝùXÊ—¤} Eȼ$˜2QcC@Üÿ»jhP%`æÞò>Áýïâ¡}¾BÈ^l¾c[tD¤ííÈ6DÒ.õg>×̳£Ÿ–ª”F©[8}©´éc~Iû½ŒŠ;.§#ìäN @ø,L|ÕÁ‘ÅHlUÚ¨¨9X{ºõ,ålÉ×´¶ñU¶tÄëaõ… ÐË­¤ýëäs ÓÑP¦_`Œ!¯÷âzÙ  +Üôô\—ÎÙg蘢ºdvu*…Œ¼QìPx( Û´$î< žÁ†cP4Y O'¶\¶úu¬Yxà÷E6¹ÞÌi»qöÉþ®"L<ÇW*›¦}«AüE‡—ž.W Å{éßëJ×YG47Ì‚íØûá³UÁËt–LàÙŽï-0ZbÑ–™Du±e®ïÓ´nõº´kŽ>:š%žx:ð‡ Â#Î=KÝÑŒ7ˆ ËjWo2“¾Gålô’ú[¯ &‰6x+éþ¨Í‚9›vnÍ>ºðâ‹xâÿ7e¢Ê=S!Ï‘ ùKlÞ|’£ù-°ï0» PTzŸÒÚÒ_ËìZÉ:x‘­ÜãF¾¬Åçk1uµGÄݰ¶dñúÀÑDîþü6,sdù.N#ÌêÚŠ-ÿ‰fFÈGüXÌþ¸%*ÿÍ⦅𠯆1Ý×¼Åâ­1ç©%&ÙsÀNUÕ– :/D-Ñl®ÿ$jA+ETBÄ„Y<¿þõæ<å³@ÿk Ë ž­Î°B÷dó£“t w²"SÝ@ªºõ±ªˆrÕgý6ö.šx°íî‚«wjˆ ÒÔÞzHÌ™¾Ek.€’­¯©±Ì>Mçûdzntð—ëê¸DJBH«ä³˜î"d·³*sg$ *µS?!©§yÕøá06v!òCIRȇ5΢ÁïwÏS)„ø`—œèÈçQ‚£dˆ„Þð±L1ùÏϹ׸ ÊÚ Œû Ib¿ÖŸ ]PGáQƒèÙ äÍ”uëÀpWOJH#w¾¡_¯-«5ª|\·RpÈÁÅå”lwW7²]:T£ó5êUÓ´óò…ƒ ãþ2à‘1W$ä./ÅTè¢ Š(×Ü>«þ—¾áV#V_np<qÁ xqö²ïjöµ¹xC1…ªQá â˜X¡GÓG½;Àz è²áÜ2¾JÔàIŸÃÑÁðØ„æ²…Ô«\zýŽ#¡œëfQ'TçLjð"™Vì;åP…ÅrXtBzÁ]sª•‰Êpé¶!up»1uvîÃ4ª^¤ÇX"G@ªZ.ag õ½Ö¢‚LÔ½j  âð“aÉìzìQÊ0¸ôe—Ì¥ÀÄœîxÂ9Æs ënâ¨m.z±»!¸—÷󑟽«.ùÞãì?rùCŸ6Æ®¾ÃÖ´$z·ËÝ3 Öb¦ÂNèÀgnè Š+§/9Þg·¤z¸ƒ£Aú`¡ÔO&Îð…¥„ï>Æ(CÊú³'å)ß=aD1°RÍmÇú@…[1§m†ìÕÙ ø‹Ì«xšùý"=Uõ|ó"‹a7•¿fHUˆœQÁ°Ÿ{ìxÚ:LYØgh±âýHø|j­3‹—Ã`( ÃŽ©JãZo€U°¸Ö\Y'Eí±¿ºu)ÙAWþÜÈ‚ò‰/WYž+GjæX~K4Ù÷ ªo6eðVA,ˆæ_©¸µ¦–â!˜ág(M¯ùnd*†8ûñ± zig´™ùÏ„\ºˆžñRGäûÓ”hÚÌ“: óú ˆ«Òý4dð•÷y¢:°˜î¸%—ãI”·üņC@/¸=À5,|]Ýpýç©]j°¡-ƒ`$±MwÇä|ަ‘6Z)Uücbr Diw]®Q‰Êä•wi³¹?x© ø[yýÖQø¦>À7‡tŸ´]JÙˆ£rãz߈P%}0‰ Ò˦2/×¶ªÔ2Ö/ÞBÂO5á×ÑImRê’ÖÖÓPƒ ;<++&‰0äõà˜¼ÒÖ¿Ë犰Y!±a·õ·«±i›†b©Ç®±?O“Z¼‹ïå=áýP>² Œ¯x1^F-îjS“/8Ç$v{Ûj4¸Ó±ÖØru ¨zIœ-ô¤'£ÎDt!Ù-Z%«×{ñÏ%\æXns4t9ðsVê)‹•¢š¤fÚzÁÙ¡3l®âÀåÜj¥Lò s¦Ý© ò¿ q¾žäŠ“S‡ÓàÇ(7@ÃÊC˨ÁÀš±ö{Ó~¶I¹g¸ˆiÒÀå« e¦ìÀŠg>hQY½ÚùzZšU‘1NL^Õ“øÌœeü1>>øZ®ñP´Q§î†–å[¥Ú3GsÂzГÈ/%â½iÝ®Ñ+ÄÔRkZ«ÿùý¶ö-l-da_ÜŸ§mVràÀ“8FR&ɾI˜_ÂH”,HÍmtÏÀý¿‰-;Q`H.ì+À†&RE÷ÄC™¼Seѳ,­ê,‹¢AL¾eU4¯ÏñuDµoh'¦ ¥;'±±Í…´ËWL@ªÙa6Bˆî­—an/Fœ‰Žò¡bsª==DñÞJt{eNM&-bàêê,†Tu'xÖµ/e‰1Ôn¶õ+üÀ¯§¸àŒ0WÈpÄuËŽR|˜}ë­Óñes àÚäsA¦ð ÁåæçÜCVB¼k:ƒG£Éê‡Ê HLóÒ«Òãìý#7)‚=ð¢4yùo¦Æ.8 `è D×7µ8¹–¤X‡é| ½Üç°* ¹$²bgHèì ࣔ XÓ† Wó ²×Ž}g~PY¹%>#r@,-O¥=}÷b!…< *”ÕÈ^=˜ °o"«jµc¡…þÔ {ºf5¡Zà/¥’+ M\õiÈ…Ùsü~ ʯà~AÉðàb¹€¢°Ô¢i®aV Š©ÿò/ÞHtqJôª+ÐÃí¼eÔà>àØyjšOâ¢Æ{§ûgx²î÷ yfÙÞøäc{œÅ²CAñ™0›Í­Ò!΄?¦MGuÛgŠXŒ˜»5uã›ìªÈ¾¦Íl³ ‹²ÏÞý ½Í$ o†TÑBØF"‹…Pp9º¿ÙkZºíÇåNóúÒClö~†ÞÏÏÆ¶.’x‡vñÂ)½ùYf0 ß‚ðÃ$‡°X»FisÊäo¼ ¯>Ôqx@ĉذÞïÒ³«»eèCýNë§Ží)ú¬E]ΓèÂxXg”¼Œ™Nˆ‡·adJŽ&&çûñyï¾?)ùŒtÕûJ´ßÄVA‘,Ù¢4ìòWyy¥O=4Óoocr«(ŒôÁpz¬´ î I¬Gd(‚1’I¸| ¥•á˜'¬'ÇÞ$ iÄu×w2ÿLVä÷ãöE(ùåôMˆGnu¢>¸¥ù® BÄÄå} %.ð`gêﱑÍ-*ýÞÓ†ô¬&ÊXÏ[Wòèúz5d÷·åŸ!ÃÜÎR ržgmÔSõiª{p-^Øûá^î¦û6K8”ažèù›îêC/¾êÄŒò­ÿD¢ä5©‹£²þ>Ÿ^Yf/PßÔCÅ!Š3æ+Û§Pê=èØË§æ %ÍxoÌu”èý}ïx‹õ˜Œ$ÿ¿`ê{ÔÀq&µ"5ï>ªžP­~Šò4S´–ÁuYˆ/¯Zá½#·Ty¼Å×1„z™<Ær„5HçæÑéÚ‡ß)”êðKh0ƒãŸ69„HVf ‚ßeZߋꚊÖ9Ÿ$ÕK UùþåA/‡ªŽ•˜Bhm€¹sR9ĨÌýîY¿P#g*ˆÒd*»Iq&]ç öÓ.ÝäJ|Ko­‚ ¡ˆÇдBa)ªt7I‰ ¢|h1)ú|Eâƒd Bd *@í6/¼ßº³Ñ ®tKªÄñ>žiRÄÓƒ9€¡¬†lú·v¨Ôh.÷Rü¥mb±ùO7ø×•ø¤ sQ:›(d·„e²Oô„Sq6܆ì {DÝa  fM¹õÇ7ÂÒ8U[~ïxŸÍÞ$¡ ¡‘Œ_kWöãëÁ5ÇEÈŽìhW}ø4vëÁéJJZ3èqú¡ê&4:†Ž”'¤¯¼(LŸ3h,Ý­ØV—~golæû‹ùL:ÛiË)=é»CÊ‚ MÄÜßLÎz¿‰³†+z©>6™²@ƒö}¤?È’Xµ~ïrLS FDyMÖ¹&è(4Teìkd¯çJÅYý×\$±ô9¶Â$ޤ¾Fm"ÆEROd\O¾x+¡í˜û–ÙÞçQ¢1¤Ü¸É¯dNÈÇz‘L..¥,“ZøÀ"â¢)6ü¤†\ŒØÚ£yít »åRɶwýäy›‹ê· "• Æ­¹ó áFéÛÌVÁˆ0Uêí\£‘äúÐ-ès|겺‚èïƆÄs1MyŸ˜v:íМåX½Ò†Èeöé °½x•œdòð6Š9dþ€&£†1ÂnÈwtüaH/%á·R]TÙÔ@V߀µj¾_e˜N÷+eon³­…{f´ã½Z@Í OªÅ‹mèÉ­`RŸòE5uÆàÜâ¥E%É4àswÜbsÑÙùlIGÁ|)á·ì…BÚ±ÅS;'°[IðŸ¸ìtmv«e§iº CVVº Þ™×á2Ôz¼‰´<{ÝŸrp6A…é?5Ī«eÀAÀŒƒÕûÁÛèºßÒ£C(ÎA3¤&Õ1lÕ=: *¥yIžíÞÖ0mÛ~<œMYÝi°iÔtY«Q˜ú5¸Æðí… ¡ñ€0Ö¢B(d°ã“@»åà]¸:Ó‹îÁö©*0sqPà5M€Ÿq;ÁxP´~àÄ`¥•‚$Krcà ÖiHô¡®%MQÃÑ _‘6¦ë'ýSf9ŽZ/` †|¥à'âÌãì‘ÕßÖ,”ŸŒD‡cÚ´éææÀíx™i}7ô)Ñìu™Ò7dÐå é¬W¬«Þa<´vbâk\ RSá’ÿwžî8æ0œ©&GÙs¥BXw/].Ù[( ­ø>T*¬–šb˜¾g6ªHTÈ(ŸÑ—@¨øò?ßÍHˆ(fWÐ&ç³5oåhö Ù6sOœ^¨Ì yÍ&¤^j~å-QµIgI{ƒCxØî7¸˜xdų˜øzÇ/fC5ViÇv+¤%01˯K™Rò›kߣë·(ܼàóÅe2«*’nòù†ÀÃÆ´Ò\aw1üú/’h‡tLwùõ „˜Ý·ÝYŒÂkE¢[…ÚXS#ÐkHrŒ%5 næØF¤à‘‚¯è–[³¦ûaÉWÝ:M*r:(ʪ Âw ðá—è¿+¿Ë®R’®<þk÷\˜`_]ã©ök©ÁFz’ϧgÎíVuúÔ¡âgšñ¶@J}€sG˜…uƒ˜óqA.pòÅ>óÝ›Î&Ñt}¾pÛùSõÉ%¢KŒ#˜/Å/æö)Æ"ê+*U/ ‡ë@çÜÉ”) MX¿ŒmKý9;fª™ã€8µŒ@Y>êë[eñPÜê‡Ab²St©\|…Š:?ŠÅUU´ÄèÎǦT>g¬ÇÁ˜¾ÔRÞˤ€W¾ÍYúÎD¯´š Ý ·4 ’ª­;–cƒÚˆ‘¦EB–ÂvÑuj\N_1­×ñ˜V›0·'r^›Ü.‹~PÆDÕÈ[Òþ†±¿\–h©(¾DWy”g£×𻥍v=+øI4A¿8é‰=ãðäm£ƒÆhI¼<öVUƒ ªÏ~%jªÎzw´ÿ"`Äš+l b²à£Q­'À±FDtÞ5ÅWè'z×2Ui>æ°ÒRñ;/‰¼ ´Spº_›@eVc;jŒaÜT’ à‹{Á7?òù¬8W”ƒ$Ñú¤ÿ‹¦®äÂÚâcÍ;L☧}÷äÜdéÀ5qÆïïLCkNe˜#H¥ªj|ý|ëÂé‰-Êé»( ã>~å}‡®|<ã‹ÛRK㽪⮧@€&Qá±·BD0¾ÕæG­ ý¦€´/þ†X_Ä Ý],sÏ‹Ù#6©/‹TéS?²y˜Pbe” ˜õš$²îo:,×ò”r`NšÊŽPöÑH~¸í}ÏrbçhÄ£êiÍj.Hh0“¥êmüoÛ>Fá+Û6s._ÕmàŠÎ;[@ï›|º÷•‡q±Zä< »é䋬úXÝêqrê…ž%ÂEk ¿d8óËßøÃš-…¯ µÆbäõ€Ó‡vU$ò®Þ“L¯#ƒìl©QÛ¤K·³¤Ãªo=?¼l>$‘z‰b˜hŠ¢Ø¶rþo0PNl˜Ûî":"A«$ëØ.T{uIñpRéšÔ§þ)|Ë/÷ã¸/;æëµ; É7x˜û˜4Aý|v×'YîÓ-Dzm!~ü)NŸjÞ“oÔß=åÜóír›²œ/¼c{[V`5åW/uùM™tw3_Ï:d IÕØ~üU[0©NædSpbÒ®=Øn®×á­.å“ãƒï½—/|f–"'ÓŽsyP­¢¨Wìðm9ÅKû j šäÞTüȺ¤=ÊdŒ ¿,ÈAzKsQìh À¥ƒ7Ǿû“†ˆÂt瀭ŪSh(³Íjl ²å‘ã6ûV%>!>×$a®F¬yB™“³õw'²N( v^Kß °¢Õcj¤!“¼R‡:¬¯ªãê©ø„íÄ8ùs[!¿º×7RŠ Òuaôl.â„ ]qF¢8}³û=@|ìW`0;CÕ„Šºä„>"Dî¹’·ÃhS·é<@žþÔÛX yágÔà‚@²Ÿø}v˜ž'žÚ¯¬ûv}Ù3,ÇÌ…NÌî—8¸ÊnÆ\Wôë,Üÿ¸³Äø¯×ÙrhD± AdÆë>««¡Bt柢·ÖüvdÚÞ#«™l 2(ö¼|g©œdzËžT…¤`¾Äý˽°¨·ÏËO³?ðB4JËöb´Ð" F—ºïA äúñ2å 9¨wr:­=ìùQÐæ/O³²j™¾^Si+I‡r›)M “&» ÅÆm‹™<ßáÿgª3ÏÜ– ±0L©&=§¨¡ Ÿ)zéÑä?p]¬c+Ÿ %Ôº#µv6´mÍHªWxqþ(R?5èWRDŒ§#Èûù@aeZøA–º7¼É,^*Š ò|.S_€ÿ}º¦°¹\ËšŸ‘÷xÊ‚Q)tƒ í™5·eS‰±»Šáu»-z;¶É3¥Ã¨Æ…ìU(Ã8†>H9EÚ¬ :V¦LBÑÕ‘Àò¦”z ¾¯ #0M A¯Ÿ¥ä¹s;nXúùr6öˇ±xß•r¿%RR"B¦0ÅÇ ]$¿ïV­¥ØHžÞ+EÎ1˜`÷ÅOJ 2pÅ„¯é ¼$pr3Št¤ÎÊüsÄ€?ÿôHýJÀZÜ:ÚdœF¢µÞ#~vz¢g&uO:òÜ&ǽͦ)XTïY\Ãùô`= B¬‰X=^TöÁ. ·­œ.ïÐý˜¬ëÁÝò‹þYw% $‡a<ëáÒ!ºçãnÉíàXÅÌÔÖ6ÖHÀñ—Aç©ì⤛ˆ«³½@ Ÿ\½Ï2“xoøg‰{°š%aM¤þ]ËOŸm¦ä€E”Òɳ?šO!# JTèì>ŽÅ¥9Vë½êëïgP-,¸¬ç(%ÔðaBp+S{º ÖTYÙ%ÆÝ÷9‹ò9ä–!îqíPù‘wn0̪uÕÀÜ¡ÛDÄÊàŽ˜‡Èåÿ™\ß›_ái}(•ñfWJOz©ƒàlyiÀ6thHì±Y¬¤Ӡ«j¨´IÇ?J ™+ÍŸ)¾yK,rŸAxƃ¾×daé ÜÆC¨|àì'å<ÑÏ›G„pIaÄ…ßÑí‹‹a0Ê,*ôE‚·ÞÎj=[½þ£LÞ4Ç¢u§ÐCî‹¥üÖò›±¬"«êÖ4OÚw´6þþ†ò>SŠ8ŠúžÅ°åm5ã…˜Uûú |ß§ÚKÛßwwž½"Á_ëã Äò‘ä²ïîZ¶f?L¹‡ž°àáç¼eih(~"SÑz÷ʤ<ÑAÖ$c™ÐCÞ¹ã§pÊGr9²¿sðÏtGŽÈ´UBýïµÉs ’Ý$djXŠJòù<”L¯Û.ôòH›?;G0ÇÙÀñø¨€žŒäɺ–G€Ñ,iSØ\Öû’Щ^y`–™ú7ÖPàë% ypŸ¤[½•šnÔÐk±V*TÀ*w½!àw¯XeDVûØÿ桸¿iºüÎþ"<ýÒC·ÚÀþÇoêšXØP ¡BõóõúI­ßGÝ|,ù{Åy\K²"–¢'»1»漫Bz‘cWµ|©yáå˜ÈPœXTz€H 3D9Å]h4娔T m§:ií÷k[X\1ŒèîrãBÖŒ¦EußôôÕ”nÙ K*‘Ua§›JÕƒ¿¨kÏztþ1”’ü¿ªj>Ìî»·ßåUQié/—WŠÝÚoï÷<–Ü0¬VàªÍßßm6€ňZLQ\âý`о5Ãòí cŸ92mo¹Žæ9ˆý€ç!„¾ºÙ ²&ã t2Epøvà’NÎK`©ãåŠYáæe”z^$,u@=¶hkò` aî\ªñrÀàÁÞFÌd5‹v³pËzâ IÙŽ]dɇ nÏ)+d„bÀœYDÐe·h7ñ¯`‘¤ÉœXŒhlÓãé…b Íˆù+d„„ó-Q ñf¾²Ýóì “ôãmÔYïvФT:åAÃk<²~'y¥Þ‚„ob.ìës X¦°¨o½(üè|žôG¹O»¯P¿p”Ü®ôX·³ù2…@HI¡˜ÏºŒÞæòmŒbR„"ö¯½¯5xºÕ+ËI~gŽ ÕÑ©žÿÈ=nbnZt·Ó‰*ŒkEÊùøù~{Ðfó*zIN`–C "9ƒHlàBb*ÀüD ñ׋türXcLîÁÃ2?Ñr*ƒŠ<£š¯[ž½Ãd~„¡,”ç…,nÓ¶ëD¤÷;z³'’áòTš¹TIãpÎLãÄ^OÕ¶¹®ßtþ¢×dk qÉöç>ö&‹ÿ:eÁnà°¸Èo5'íoÁË?pøqL¬B°ã9±SаEY-¿[ež%Œ¤òÜ«{³<¥)°7uDq̆×Uü¾A¥Õ¼zD‰ÇxVò&4ë“ÚÅQð]ioü¨8¡¼$“[TIÄË]Ñtâš?ý~¿Ùcëȹ»º5q°É@mšk\t°ü\²&YI¢fG(º êኔëéåešYX•$Qç"Ik©’¬Sï[;õS_ôG½L{ôÜPFçOVô`|”&þWE>*Â?iU:¶ »-»®3˜üu“ ø¼¿ãs½Lî Py%èr̆‘|XÛÂûëçW½ÌFŠoÓÔ–AÌOæ·gå@ —›ÿ}43·Ž…GÍ5Åõ¬0^Âo§8 Æ™æâP‰X®–…¡Rã>×@‘΄kB›\  “êÔd.ðSbŠËk}Ô—. \2À ¦°S¡Q=!#ÒÆˆÛN$ºÅ¦ÕŒºôŸ5‡ óê+ÏØA…ÏY ëi°•Æ!ˆÖ:@²¸Tpœ>ZžE÷]¯q…ÚuiCMc*Ü.JÊ4¦µË›š' nß 'ÏH  —ó”¸Ä‹7œFû©Ã ©¡éf„” ¸4töáíËï‚øæËëšµë/4ª›ÉMG@Ì ”.ì9¦“º[Ÿ(›{øm^O™¥Ëo°Î{¤tí_FüE"€‡¼Ùø–…²È¼Ä>&GWÛ á¨h1R/¡ëqŒv9QZu§}«ÂÑ„ýiÇ{b-F#•FÀëªóÝІʀ:@ºðv7ùŸÌd4<…ÅÈî™U,œJí•õf;'õP\m­™`±¢¾’åp“´þ¨jáÚEVÏ»ÿç´ F-Mò-‡ºýaJcÃ+±@áEžROšS¼¥ïn—GÕIôüSΆ°ÊÚúNm±ˆQÇ@û;l,-3+¸û›Ä‚ògRãÇoÐþ³¬€—JÃT¸à®p>ªÇSU1YÁ“zÁ9I¤$2Ôh©‹¿>i£ç:9HŠÖɯÀrâ‚&©ÉU‰šä‚óÖãå@Τ:! 6­åîÕå6~«¾ò]8SCFÊúsYèv¤U‰÷Îxðôu_?M) csþ½Osóç7¥÷ù£¹,ë@§8{ÀbÛK)v݈v©B#«Ä™æŸN—Ú«©Ë€Á ôÄÝù°Ø-Ý'.úàgŸð Ý#™'¡òhn9ûÍ uÙÀ’øÀ‡yì ÁŽ+„[Ú)½=€aöž!ßÌÃñ²î³üD7Žs2™ï,Ißõ˜&Èɦµé¡ËIkrœ‚z%OŒÚó©·c³‚9¼UñßU7õ03"(—ƒ¦¥Á w.ðÃ:n˜àŽ·JÓºüYè¯ \Sµ¾šØ¹Kô¤ëÄ …Å B¬"g üЀ’ÄùuX°MD ÖD‚<®œóxC£aÇA^„ݧYÉÚ_Y¥zãžçŠ\ë˜Fë›C—ãƒ/ 󳎒˜{qôœ®zÙbÿ<½Íyx<Ón§ËÃÜe’QwaMåÚöb·؈ØkžtÀuº LŸÑÍÉRBæw¯SgS&ñÑ£‰óºH*¬ç%T¨SÓN§ã2F¢««¯MªÈ—L ‚³WŽ,J~Ó½"—Ê~Üà¾&52¥ÂW¸:Žz÷ÕÏ‚‚ˆÄ¦ÑÔ¹ ý°T©ÌüV úuLÏ*“5¤!×§‰îøg’ŽÒˆTÕï¶F&Ý…™Î–"¿Cû^sŸ¶àh÷³¬R³wƒÙ³/:xçÑ%ãÏ(NÅõƒrED¯Õ¦0Ž2žoI3؆AëD^nt§vªº Zvö÷«¿§èëBˆõ/–{>™[neˆ/U*@ø›Ù‹‚câ§£Àkj`ø4{±oÒMŸ³:F:/úª{:­ªì5…¼„ün4-ø>ϵb]º’G „:ÄŽgÂ’¯»eÄÁDAM˜—­Ì†‘˜ó?Šqïà†+81ú_òÀoˆ¶š`ÍBpz±=.mˆÂÑYf”Ôh¡w´ƒU_:Þ¿\ó¨Ôà© û ´ýEG¸ÃvÌeÐ"×W~Ð7‡Óœæ#àõgæLûÈ7ԇάRІ'hï¹"¥–jÿµÙàGB,]%<™‚ˆÓve›9ó_”̬îB´ÂTXÏ)žÛc9;Ý-&&Ö`T¨á†ú–Yø™† ¾Ùñ6³éRÐßߨ±µŠ]A#Ÿú|ÊVBþªìOÃèp*‘¦R ga›ÿª,Ç ©Â¶'åK°€Œqo4ÿ+’\]ú=ÈMõfsDµz sµÙà–¢Kõ:ýä Ì1ÝPþײÝu˜óWÿ¯†>|˜»†¦²Ü ‡²fÇŸù׸«òé‹z?·áOEŒžšïçB↿}÷¿{æ³ãì¢V3ãêõ%bív‘Ã$v›lÁƒ‹ÅI#$”¬5ˆù•¹×d)ú÷zª>Ú~¿ Èpà+ïIãx§î²×õßSeœí!™¦ ¹ûFÄç|¥¿pÅuŠo™t»Wbqù„m¾we^Ç È9B(˜ m°Ú ppþ­Ë5wŽÒ›C‡äŽ}—_šEº&ÃäLfê·cU%ÐRÓwÒbkürõìwø[4çÏLÉ|!\¤5kBpõ9TCÍ^Z5£<Š•gSyJõUìŽ7i§h:R+×Î¥\eöÐdbÔ`‰³7Y¹aýÞµêMŒ“b½§‰COTܬTzu2¯î¢ð0¯“m¦h pÝGÑ*£¢-‘bgêq¢ÒS\0É¢‘^)ØüóE&òtˆÉ;#^5ŠÂ¡±•6;@ ¦Y·ßH0Ä1æ²]q:Y]+8zÔŽfÊ£µâ¢¢u%„ùU>¦Â#¤†›ÚlVžôZ¿-À’-ò¿“w{¢&—ôËã%ëʸÿhy¢ójp4Xªä‡hö!Ž^%—ê½Dð¦À¼º€´°®»vÒâ ¦€ª}ÍÕ»š[ÏJ°“ìü­Íù‰5“ðªlŽìu(†!àn£ÚySÙK–úS9›­׋)¼£ç+B.oRiwÈñC¥Ùø±rÎ Ã5)!­')Í ígëtHhl(•ôT«<‘(ëS i£ÓJîÆ²÷ùOx!zñ·¾TŽ™Þe3F.–׌>Gää×IWoþÈlàÍš‰Ê× Üg_8 kò_œ¼¯ÕÁ‹–—*,8}wÖrÿ¿zÖÁs©S|1zX=÷sn6— ÍÆ% ½!÷Á.E}# AË%WV„CÝ—ÔrøšU€µ8hÖ t^ ·l?lÁ)»)±§=u.Þ-—1PÀ8<öl8t3ÂÈþÿ0y6žiH᎒ù€ïK†Õ;Z£‘~ÓF§=d ^(©Uòe¾Žm¸“{¤PøÛR®é©ï‹Iõú‰!¨þv @Ì^Wxe)Ö±ÖØØÇ»OR¹EÎ%ƒÇiªÖ)¥)×ÂFW‘ÛƒSS?‹ëä9¥Nœƒ.`BÞ¬k¸YHStZÎ? 4À’NÐ=¸fÑ™”ËÍÂS4ÖÆ¶—E¹Ö[–2[ÖÞH‘;„„ûOIcT´Rݤù¼-9†Ë~˜¹c–hµ4ëSŒTmM|ËZjÝæÕ¯Ï!þ׸2´›«.k‰Ôm‹ˆ™±S>rOÊé3Ú¡InTJKI,‘ýÊÔaBf„ÊÝ"ö%»œßÊþˆWˆ)±Ü{>…@rpéìEºï%Qä) ãÝoJž3±°q96,À7‰dMŒu?›×iµp(—~PžV˜‰vvøó!FÓáh’”j(†Éò9#ó4Ê+êݾ ŒØ Öýr*+Þô3•Ë<=~o×ðÒ¶A–7­[ðªâqR¹‘sÛtßRÎõ±Î¬CÚYÕZi™Émµ{Ô¦· ¼öB ªJVh!?zÌÐÛ½'!6aìT-ûÁ}‘à@™u¸âÂÑ;ÔMKŒ›¡Â-Ëâ·cÿçé‘—¾×ºm“B5lé5H£]6 憻é“|b£Ë¨ âóuv#}â_oñ.§²Å–ˆö°¯üæÄàu§„Ü’v÷=«#üŽ~ñs¾/MLrE$ÅŸ®<¸ãéežˆ­¡a{›¦‰º``p^yÛŽÍû}P5–t=f;¯°Z‚’{SôxÜ NIºŠèd Œ-]©ÏÓS?¶&â°W¨yð‘òó„¤d–kÛVMð’M.RËfâåžbÇé]½C¥ÚÔWH[7’¡e_ñtPö’L]„¶ο(" )gZöÇ®ÑEæ!”ÙŒ©qº“sË>kÿŒy–ÇÕ•ÀòUoHÄÀ÷FìÇãŸ-Æ…Ç+09æLu§n©*ºgY¢ç±ù|k*7=Ÿ²œA[ƆÒÔõ@‘ÞÂtç¼&2~A›ˆeñ•–È×»Vn\cÈÊsn~–*H¯w€ 7¨¶·Ê]„ÐBñjêîàQy…Nu•ëk<¹g½s&ð,³Ë"HC#®¡j¸:YzÃÄTVý<šn1½ϋчN>òdÔrIy tƒïª²vâù¸ÎOè/µû©Î¾öÙ°ôÒI¡ìŒÿŠ 8TsäÅ ,ÕùÕ^ ñ¶¬œ~‚æ/}k!&IRHÒjRÄ¡úî¨f¤Ê`޳ ‡·A¬øqd¿C|@Ò^†‰óÀ­!i<Ç€º§ïB`|äË0¹MK|G}OC> „†;®¹-­­‘ÞÏwE?é½7Ö¯Æ8 Þ??™Î3õ¸›nž@‹zSRêO\ÙäºÀ8O¹™ŸÎæïÊÀŽÆÆ¨pAU ët2Ú¿à‹8p2ÔmÛðÚL£¦Hû¶±ÕèYĤø ¤Q{!@ ü¦÷.n¬¦s-ФŸM*_fJO¥ù²kY1o?Ñd²ÂD/ßi·™‹Ó’Î×ë>¢ò-#®Œòo¹l•´Q:üòùO033\·eÙ˜CZZø}º¯Fµ¿–(nf­«óÙË -‡Pcð>s7|m Ûä]3„€—Y­qš…>&ÓÝáA j/TüZçk’ ä.Ó {›¿Æ§T@½høo Ç$¬ÎÁ¦?#Å>ÑOšþÛòâ-ÿ] åZê´á„ˆ“=ÌŽÔë<ú#Dx|Z¹VyÚví<¶ž¼.ˆge±³8ý3îµ8þ'&³84¨“›KJS¬o %×!¾ý¼'S<¨Ã]rÒþ F:o‰¯ÓtöÍt¶*¤IXßÍñîß$ˆq?ðmñDÿÃF'á²D8»‡MF¦r @³NÂý"Ã÷ªºŒxÿµ°#?š÷SgZNñ¼Ï_d–R,÷GR ÞmÇ7"ªì¨¿ ÞÀ†KEz›¼ $›Þÿi'‰¥™m@èÌ.'Sƒ£ã˜X)Й‡$í¸aL{tSŸ¢ºŠ·¿RÂAxÔg‚‹Ê2ñ톭›rSÈó4aqöOeÝÝúÅ3¨ÎUÿwißÔ”a v§cÅÙ•r7×ί¼Ø”Š6OXmë†h~Õ™—{Ö´Qû]usXÛËÍäR÷ªí×Í T¤KiÉ.ë Z3s®Â¼4}±—ÈqÃÝ7—%^övl™§2]‹ž›|¦úôtñº–¥Ã,ÛØŽä‰54ÕüQíÐ=NIéý`I$“ ¾"U­ú1¦ø¶s·œxºjP‘Š¡ï"Œ[”QM–5ö$²¥” æ÷n’z3Ó"Ç„æS ¨Kºˆ¿OR,'NáŒÆ¼=ŽÒV¾òžƒhš6 ¼`ªæBïÃÊ'lÌ]'´ÞuY¬Ÿu´„¹nZ4@¤í¢ŒtXX¨ä0^df¼&}ÊJücSÁ?Õ2*§tØ4$ºYAîþD³tÌ·&Îwy¶ì¤&Û"q\Õÿkud.ÔìûÄ0Æ’P…Ú:VR¤ó Oÿ€LðüA,ô%{[Ëmþ× Õ"ºŒh7æyáá`5ºÔ®òÊÅÛ˜©¶4§^œ®Â$ ô?7æc+7o—  pÔu¥]áu&õè®2â§`;Õb¬T¾B)¸?íqðØ?‚¬ÓJÑÙ¨ì²YÍ3~Š ÄÇc¡|Šºtu©‰ÝÓ̇’6R(ÉJÊ~†ÄóUÕÅcÏ%§íÄü.oÂrì¨5âØíi/ê¼™é¸Ô»˜O¤„™Ý‚¡†Ì»d—›à ³…Lñh¦´+ÁÏØºlî÷”¼ þ. ÈÂ?ÉHv†ÞEœpf§È‹ÂËH–+>xî«z‡sã9Ehk#Îìoj§]:øgšË‹Ùݱ»,›G–Ü1ÀUÌpÝCw-@/“ÒÄÿkÓ+m™&Ÿ±ß2 ƒïŠ«½þ-±Ï?©»yΘðk5J^`꽸·\M¤üÄ Ùû¿øâBß8Hùzž³ÀÁƒ/V‚2YÆ.¢h°Kùæóºæi¶Ps9È`ï;M’ Û Eôs ӌݢ]Í•õÉ™Ïþ‡ÿë/™;p6uPãºËïuÞ¨œL­VS‚)O<Ë•©œˆŠ§ ½ÌFïF/¢®U®ÑAoØÝìL(a^³G¡÷%i“í)$Ø@Žoyçöå3xA›Ï“âc:ó8Ö:ËâJž0ºÉ·.õs:bÖ‹D}“RÍl?wc`ïÝ(¶s£¨ð7:³55€ãâ~V‡®_œÐv·Ã“!Üe´¬ßãòþyþ—úçøÐÈ…èËQ(…Ò^WãsGI„çýY\¡‡ÏÛdµ²E¼ÙyJ‚ou»?nœ†ùÈ[ÈJÝc%—qgwâÐVÀ;ôžfZ ç2I\ØŠg’7âtG©ñLh05™hy„U!ª6ó”úžXŽö­£Ÿ•~e¾ŠG.©ãq–Íjæ»÷E`0Ã÷ËîM,)èoä/ØL€?D×Ð Ôàë­Ô<·ÿ'篼~è¸üš½Ûowž¯B(éäf T!ON»ù‚O{0èþO=X A0äúm]°þûP‘®SŸ]”½V³b‚¦ìSŸ"x©ZžCœò侑+舋yR~E\¨=—]Ê[x4íbÎÚŠÂ/–«v dE´¶°*½—@ŠŽ†t)ª¨mJú&6xU»Œu@ÏÌÅÛ>«5§5m1d]y-e#9Ô=¢Ô¡1‹o^h8QAØc»€š=ë4f‰)㘧*ÿîÆ4Û,K6j¼olj§~@»2Ç:¤7ŒÅ>û”^“z¤Ü¬ŠŒó'úÍÕ…Ò¼,Z!ŒÕzýƲ¡ ”¥'3¡ Ù ÅwA%€Ùv=ïGRXÔ{¸R¶Ù``&[‡\Ïf½„#Š^øßz¡3…§ÖÏ–OÒy»ß“×âRý±ìb•aYЩØlHü|oC{ä"€RÚŒ§ ƒöä¦]6l¡ˆ#„;fÒc)-ž¼Ä~ˆ¢¾²Ä®‰j»éý÷C~{‘ƒ‰´¿£wq»…qÖ糨=Û^dÑ›“dîÓ[JFøAˆ£  bnóûî1qÓ°FcÀBq†Ký¤ª¯¼ø}§$ôr=4ˆ9Šˆïˆ| ÷ô§Uñ_ràé\±.ëMZŽÎÞãT"H'ÛæyÙ ÿmFÙîèï áÙÍ­MÒ~òwZ…%fcJ®~¸½UI KÀü$k®ÜB¿ÜÜdBº8YìÆÄ¹J½Vø”rºéVö!Û|çFFÕp@æK¯2@:ö·Îp¦„6¯`ò»àW*²QvÕcÚ‘4r`™bHêøSÏ=0O§Ñ4v#xõÓPé(TóýÝ›[ÌŸ~Ù&²¹Ä ÉŸe>þ‹Ô hŒþ¾Øþ\ðò6 ¬jmYÙë¬5ûoþñ!·àí¤¸ŠÅ<'C¢ýªÎù­Åô–C*W¶œ,Jºm²g8²9º‹A§Qé+%ãæ™™Eò‰Ô>R!npcÅÂ$¤Žç„¿*üÃm8L´†8²Ñ»ó¢êã£an3Ö :sâ. j/¨úÁê2Cºv™aöNê€@÷$g|óÞlño£ÂÚÐFcÑöÚ.qqnŠ’þ:ÀÃ3n8UjC8»>¦©ÿ[3f·ø ÈÃQŸevBûQìõ"R÷ô a`U2¥2Öî¦ëHšR—.£õø¼»´ƒ‚õvå;Ý,Ô„ÕÒ™ˆ.OòBKÏÒð€¤ãÆpHùøn œE—¬„Wõ¤Ðfø ¹Cé¼â=¸5& »ƒ!ÉâiÊPQgôÌö¡ 6¼yÁdžLPh%$­–f¼UV Q)% ÀFzáêŠÓ†à!n/ñ6ÂFûÄl³L®‹áÃúÒB-lꦹøõKI¬\ïL^£„ÛH)”­  f9˜N’EžE{ò…ÿJÅLÐ=” i3 ‡šs3¯°ÏÖ¢ ©+£…3PîMTˆ´•¸ØXÇgçÒÌ{e‡ÕhIØŒçœ[—áö!>#…^W{ ó“£Np#XÏ.Vé…O)¡z}ö/N7.® P&*ª¶~9ƒÏ.ç5éOÌð«;•jb{q‹¶{j®7¼¥€ô ¿F,VÝÇðFÎNI`µh/Ãp±vÈ7C¤3­W„_䬼ÇWé:矇gQ³¶)þ,ênöÜsp çÑ=¥jðÉ\—3|¤` å9œeëb"D›>>hòè#«ünÓ ä[ìoÊcj&¯(]ÿëœv ¢›â¦ ˆ_‰gÔ›O¯dÃá­èÌ ñ=IäÂëòï%$ýMH©˜ºú‘÷èÛ72ªáâl;Yxü¾úaëo†q÷èÑ/ ³q%V1ßÏ(óŠÕiùº¼7öf3p_ná‚U§s Ý")*ÖŸ2›W~–Y¡)5 Ç~–d”cX…Îm™8ç~0\öœ†@¡¨ûPícËï§z?å ´>©÷I¿í¶p_GÊ,W£ÓÁÓÄÜÝãRÌn=f±ËYëÎÙOT÷|åvÊr¯ø;uÇ%„t­YˆÂ7ƒ[ðÔÔvYL X"Q*²æyBÄî׺¶@âØfæaDXUïLKXG€ 1kFîn¼bDà ôœ¾ÛG3›6üº¸5u$o}÷A=éJ‹\…VúHkvô9ðÆ“ÉÛ:Uݬ/¸Tìñ´¾Î(æWa2ÊW‰³)%-½;Ž ¶/h m­“d]Y³1Š÷¡«‹±þÒR:šÄÚÌúúñÞÃ3u¨' ‚DiÁÇVp»n]7x™ž¥.AžÁ/ ­² ˜hÛí¥Ýk?Qoß³<ŒàâÏå.ÚH=þü¿çƒ6IZUsèÒ64Ý#;2C± 7ÿJÔ_—ïÔ¿¥gFÀÌàWCbɂ̮¸[<¡Qu £C†ng°„08]wBâ¹Êô1š©Fж²&†tß/mêèµ[1z`å•?b[K\È7’Ù’ï¸Ak |xo)L$ðó@DÓ}†Žú„ð¹&ðCÂ0û¡†žàÊOL'»GO‚¦Æz„OÚ¶øž°ÑhÖ4…œ fét!kå*ߊðõÓfÁy ȯZ °Í2¡\¸£a8g:‘»XbfgïÙy?{J§#“å½sØ·RÖ÷ËYÃ|j¡‹³ Ðw”8@h5efm3À–NR<.¥Ó™§.P’‡å@á£Qyâû[° &w úÖç MND£Ö™Ô±"oHd2ý/ÅeÀzb]ÚB´ÈtXÃ.®YÑ×=PW¿å¢—-:®¨²¦ÔSymýM¦kžBF¥}ÍM{·g¼ìPí²É#ášÔëta¬ª^¢$s¦Ã—þ,Ð9zRD;öiÙ'Z¡²ßB>ïô“n|¤°|Ïã¬-|8YVÉäy"MýÚΡê匩ß0 ¦%®ížöT§‹™Âì5'½ÚË ¼-ÿ‚ßú_±õ@[áx3®¤`=Dç3pÔ„$}.Ç\Y’gAÂÿ¯]ôéoR0âÔ®/¹¸â€^x'8_Ö9W½GÈΈwOùêX¼U§Èf?‹;§½}“ïÿÅäY#·Ù‰Óz–·!7ŠÉšI3jš$T8^Ø.£öCx$ÓphØ€Çâ†yFˆsxÞ-‡X^^;²–0ïqÄŒI¼dYç¢îðlÑïž)ÉžG±“\ P€^© QйÊÞY¦êâÜ?)ÔIç9k,,©©šª° :Çõ Ñ&Ø©ÄN­ÃrP™_úoiV.'¤Ýf áwüìÕ|H(9õú·«·/| Êl¿ˆ]'k/È{Ôy)Ìý §ëF°ã §m½Êv/[•“ÍÛ,…À+§B‡±þ‘,*àWò³XsÞ’f#'–3¨Œ rwÜë ÔÅ“[ðÔàÊýª"ŽªŒMñVá;3”¬±¢ ~,Î<Ù×zï?}ãOŒžÕAif€ý”L¥yUf}¾]ðè« «Ÿ–;Â,!™ú_‘ùhäu5î:¢‹r¢þÀ×—>#šÉ&@C‚í}Êpz² ‚ ‡´âÔ¡½¿Çü\ LšÃ:y"ÇN¬lU+^’"VØ×LVÅÊãTè>¿ö&í¤±e3]„!òq•%N"$KÃE]s\ÓÜÄ· gèàÄÓëÊüOšUŸÙôOLê¸ú~–yè–ÿ÷iÀ–èã/ŒDé:ëŃ"Í'f àÂøM!ÿÑFô{·Ì½´g  föXD´F:jÝÉ=Èc¬3AJ›=êÑ_爦h(Žfró'Ô¨–¢LAG•é4›w 9hCýröO®—›ÙßÅ{5Õy84µþLƒ2¬½9Vš³rÒß`0uáZ\JmvI/·ÊîC8 ‘F£,ü¢Û…Ú+í´*ýœøL'ð—|ȵËË>hß©Ïìë\+è'¬Óf*sÉ[)u†œÓ«ÆG•§¾ÃõïœKþÞî!¤æ÷= Ònx¼êáꈎöŸÑǯ¨¸©+—®6gRÞÆÆ”Eíë0‘Ê—æþ7›9ßozIýž2‡ ·æë^Õßnæc’…¾ÝVÐtf1;fÐ+£<šh%ˆ Ð ‚]ò3ðð2çÚ.š2Ðú KŒ‡ÚÐÀ=8(7û?~Bc΀,W)uàÒЦfÙ-Jõuj: 3YؓޭiÑ{ò4ÿvìšEAäD{ÿ¾;RSˆf JÑ"ÿe€Xw‰IFɺT@ ½äPö²õdÁ‹=jSißÑø†G ¢ËÖ‰~æHÍÑL=ë²«Ä Å|K^´…2NSäðyãŠÌ½z@r1†˜SW¦‰ôÐdâœß½º¯O\^mõé0?ì„ )Ë*×ç 2{ÓYÑ!̋Ԋ´³äù1.8k§oî«Iü:¾üS{5\˜aBYÖ}WGº+6”'Ù^þ‹ybL*]®Ðµ‹$Â’lÍ¡>_oÿpËÖ’og•ß\µvjdGEè½…± [ç˜ù«Ùy…î´Gˆ| ñ Ñe›öß$ÿcp\·ÔÅ 95–a”Øþ®—¶R§zÚU%# nœomG÷O,öÐþ¦’Ê42è°µ½–B;v©anÇ/ú@*[j„ÝñþÒóbp¨£Jyºª‹R_äm²O{–jÚqûçD![þ}9ijõgËŽQö ½Ë¯ÞgŽÕ5›½= M¾}¿°‚š$àçR¡*<ߟ¼íÝl7q5½œëE+šê8£üû%Ž'r]Òõ kÃV§C­fE5ôC; 9»¥x§j_|ôÜ—-a™—]rµpÀG7´ÛÒ¤âü€T¡’ÙÛ‚×-žTÉ,²”É0OèläDÓâãÍVGTÏ@Öq‰† k%šhðZÂø vn]#ú±Æ¶%ãMk­þÏ‚e=z°µqôW,ñ*Éö܃X'°ÏëÝŒìqË¡Â[wÑ]´¹H–êÀ¤ )¯œ8ähÁ‰å$|r§uÛã÷†Îœ£á÷êM‡,Ü*aÄé㯤3k–s„[™œ–TMÄ"Pg)§+RFç1³?‡¾aª²¦Þ yø ÞAi}‡Œ¦—<œõ®Bìëq±ÞR=/¿»k'Ulq0W—ü,"wDÚíÊÀn<éŠÍªÖ-zÎÈf´c¼#ƒQàPx9?ð„5wWCÿ2ÄhŽër £ÔKÖ»{OܪÆ8XT•ô×BØbtøhâÀfÊ ™É(¶`ÇÏkò ¶7å˜ãh|ÚY‰BÁòÚÒÒ‹,õ¶²eMâÁëÂØIGÍ¢F€ñQ è¬~Ã4Œ}WãÐ;ñÞ ÃÞ§ˆûVÔ_på‹A•¾ÙãÖjË Ó Åî˜ågòfX°赩6¡“0¢pÔ’€[$•si‹°/ç¯ÛOxÓÞ}wW¥Ç™M0àó$T màm§g=Iíâ§3Îèk€k*=#8…Ù o}~ÁXÐ ¨½Ž&£ü9.?º†N´a£ì … êëÈI[X ý”$Âzõò‰*F`ÖÂMtˆÎ™õééaÇ{w ¶Ûøcå«$ I$ÒE“¢¨e#÷¤æëõÔ…™ø7NLû*er{Ö_#dkÆzXJµõI"ÄbU<îI ‡{‚3Ãjêjú¼¹“`,ÀÏ–?OÄQ_9 âgQº"ü×m;Ë[!ωë„óVCAÐõ ˆ¦Þô4ηl{Òë(jFZMèsÓvcœÜn~»  œäuÆ ‘ç¯èç¬0Yê\õ.þ°Û_Þ‰]Ø7BñQùˆPeÚ< ¸’¹E+.¿áYöj7…7I#JëR,ðSÙCWtð©”màh;VÚI,)V½Ÿ"æ/ü!|µ ép ¶; ¤7„þh+Ì™€Ï÷æû©§køQB¡ªà\'j߃®Re:­)\ÃŒî‘M*6I’Š£óUAøÒƒ-b,‰”©ž7_?Úšù5‚¨ºŸy6ƒwEù^Ǧú¿Há¥Ó^ò¢#> UÂHÀåÍXMÇ òÁaö­cH\ŠœSo©Ô}<çsp‹›!ƒ†C~HS†ª›à·ò*DÝËÍóŠpFMH¬!íQåofI= ²]>p“g3gRðL57Ô˜ÍÖü$Á­0¶Pîör»e`ífi$ÀÈn¬5ú³B¬š‰<ª®·s§®ª¥©}p £ 󨏯ÅàÞÕŒµÍÿù‹é­Ae}¡Ÿ­ |™¬æ4Ï—#¶dH5øo̼QÔ–Ÿå¥ùD]ÿ3£-“E]ˆñBËà\#º]앾d;€ðí{1øæXPÏ¢aR F c¸bªt†×lèÓ°(Jß#ŠQ»vú% ‰IÅKZxóþí™år÷Rˆh J Qpcµ‡ÇÂemm÷Žåž£\ïrVÑ"½¹zÁäÆ÷ð?Ý:üÀ¡Dzï§"":Û\qZtqŒsƒMäQš«L*~Ë¥Õõ'ÄÃëà5÷¹D†§MßìD¶W©aËÍýÖ½±b:5lCß97wÜgŒùÎüò#`ä×þìpZ[këX<ÝgŸ C-~'€Â!ó4¬{”ç&¬•!ÿJÒ!cí§¾µ0^fÞgGÅ3 ”¾7`@¿«ò}(3eú·½ÊËlWÞ%2p,fOÿ dìj…¿þ.í§™6½‰ ¯9K¼y{™hÇÑË1Nå/¬b[ô®©¾Õ}ݶyBá¾ ï\ǰ®Ï0SòxÊ@­¡?F,«®ÎBYf<. 7ÍóDó°ŒHßœª?åÉõF8\OsK$€ŽsDŠu{l3äÈg{RÚ \2§®úʈRžjÎkÍ9A^þF÷Á+‡I·â°`9ßÞ"}·¹Ñšƒ…,CüUYbj…±k‡ î[ !™i»ñØs1¬øjÔNJT‘`M(Þç€d’ñm‹YÒ|´÷=ßG¥$Xò©´Îb¡tìÃú?§]{‘¥Â0âÊ?D6µòFÇKËcµÁ§Hÿ¡ÑôfÆ\þJX'ˆ½X Êä)Ðòíg´k¯mûoÒ hÆt‘¡oãk"@¶¤CC*ß™Ÿá!k0áÖÄ2À£Éj>7ÂËìš$nú=ázʸJr ÖÇÓ˜«èíx³ƒ´ç”ö ßRQ‘•Ð= É:gÒ÷ؘ2§ œöÎ-:F·–冭N!'Ÿu-ÙY²õ×+>-¹/û/À?•PæêyZÚU ØžZà£Gïüˆ—ï/Ô ñ‹àNÌXSX<;D 1˜ 0¢cå^}YØÍC—ÀG ì~+æ‚ö༡²±˜îO’§ó8šHN²•H@t~ÆèïF•ÖîzbKˆ,8ï|£lóZî7•f{íØfÂ9ùæÜáÒ‚Ïã˜yìºo6a·ÝšžM W"¦ú×7á•`: "raeiBjUCKŸéâßy*Ò­D™pTXÈIzµ—#³å1œHÎá<¼Ÿ\3öœk£;úªKy ŽètÛÔ\Ö¡$¸+:qØÄ æS€ø9¼™]$Bk… Ræ›Ý¼Ú<¥ÑNä_ɱ Éx& áô w†Õ.¬û0â+ùÛÎé÷óLË‚"ÙÑC@®*ŽF0ibcxàòBviaT‚i2ú,¦XŒßŒ…)Aл1{Mýª  ZÀVgP$ú\Ià"§ ¥jgKòðÿ3þHÑzõOQ„y¶35±I âÂj2ÿ;éÄV5N†+dftœ·5çåÚŽ†È–•¼1Jw•¥::uÑ!vç£ôÝ…hÅBfœ-”¸^o 'Vpû2 ¸ˆÝÕ5¨QíÅT¾1,–‚‹UyÍÉÏ%þŒ£b¼Ÿ9qêc¶$ÜýÖ\¬Yˆh×u:ÑÙ^Û*M^RÞÇ¡öåa©Õ'H>qî]q8û*»Á·Ñ}nKi4+bJvdÕŽ¸›’«®ù <Þf\†s"µ€·: Ê3(W5ZÒµ¨0=!ut(nD?™v`é L© ?.³¥à$ºR¨îïþ”“¨Öi¡hÕš"íUeR&vDR'SCþ¸²äg£ü‚?‘t*/%ŒkŽÃ¿ÿ‹$#±ïPÍÈðñ¶E×+…¿ k³®É$â3š÷–Iù²åf˜ t½‰ö¸ÅÑ_Ãó?¨ÿö­2¶NÉg!žaŒ7W‹LÁÑÁ”lOb;Dýt0«£$eÉËúËÎôצóá,>GxÎ|†¶”ƒ†Ò®¤C?gƵaÛæ{¶Ñ_"ááE¡r.Úûe–±uJþÍj¦Oz´_’¶Õ·5W¤µëýsg‹>ÛùÖöí)k8[ùB­Ùap—— ƒ­„Ø×=U:#¸ä¨®‘¢zyí"V·û¢?é}aóOF»d*¤tˆ£¿ÌW—­ÜhKðŽ{k –¦Cg#Á ³%@>xÁŒ³¿~-¦þÔjœê¤‹ÍãgƉÏÃÁšûÝÚ] rŠ¥žÄ‹€Âﺔ=‡¬ZÇÌä5Ôæ¥gV‰Bâ4°¬ ™Xµ4 ¸ãßêrÀäA»C»Œä„ô^î&?ìš‚@û›.Ĺ︛tóë¹íµ™i_6T6Ò1æ.Ä/Š”w"ó½ë:™Ã¶ y_O!çœÚY!\¥AF)n]˜0Ú£Éåcâ“"™§/½ªô!c¾Aœ¤e}kð|$ÌS™¸7„+”Úˆ['v)Þ§N5š¶¶7'ãª,Zd- ,ÖôÔq5àb9·O#È¿d’±óß5ae ü\ì³Z'ÁŒŠ “¦·ÓÁ›Ið%ÐR¦ãá›jÝÓ垨 ì¨+ðj&úu¿*}fo1ÒO¸7iß’t’Ë‹¼x ˆ D»Þ›Wþ¥àý@{œ]3ÆÿH¼kĸªèµ›Á;Åæ-‚î–ð<™¦Û|'¨D-O¾L•®nþøÿA˜¸“rÚüÝŸaŽâ(‚ëŠD% PÌeHQ 'ì&›üÇ¡=6ò›/O¨hÖ¡ýçIË!’¯ˆdø«±Î‡ÉM{ÑèÈcEw¯‰ÍD“cû‘íIV£¹×+‘=ð\4,ñ}Š@e9³æ ”Îm zåÏÒ9 ¿寷 òCf‰^³žË‹ˆc#Uë RÔÖ3Ýq“‡¨I€o¤l Ü[¹Ö”[¤ß;Y/ÿò¬à›¹ÝÍð'¹DÓÚ~3üNÎ&ŸÆ½Î`bŽ45€-kþ’]§³«îS\Q Bpÿ?¨VÕQvyULí'N§9}Úˆ•û‹?áÊNöÅÙ§˜97|Ô¿æ—û¦zsÉZ~ûü`àA3²@B4¡}iOñ×_òXrXÐ ŽM y<0lT7í“U@„Ï‘×ÿº3˜¥Ûåx9Ão¤äÌÎ’jV$Væ@S×–B–ɯy¾qZöåu}ì uª²J?A[DPs|%ÏU>Ö95‡×®Ý?:«&?Tø÷,>9U¬Hæ022OÑ þ(ë(œ»ø 1X½M‰Š!—ká‡[ëŽ2ü°S« Ôˆ‚p¸´MÏCðà‹o²Ùa“aÛOú8à0ðrÐàR=>ûÙ<ééUæË¾,)gˆ|NPSñ74Áö_íaB}Ð2’¾[Aå(<´@sÔ<Ü‚Ìwµ©‚˜ÙÖ.¼YÚÁ™:)ùýO>8eUÛ©‚xššì˜7UT^&çºBq&¿ °½Q“ãünÏü›Â¦ËòîÄà ìKê³ü9Ô žž‘‹Hk¦©P|sGz%8­ 7@ÿSÀ•ò¼çÆûü¿ÝÒ/ÿcËÖÃ=]‚™oËA&¡Â8‡3^üpArÕÅÆcog£ ‚öV{*ê°µ¬è‰J={_ ö\E:RÔâ%-ÚP¬C*”ö±Ù­±mUëi™¨®öÈ~g5<»Yë†<~³&$Òµ¶OCPµÕËÒd¿t—MÅDɽsåü3ý­пkÉñ 0ð–¹é±®zße‚0]#—“ß™¡€‘º?-Ìhš@RW3ùìF³ZŒCÀF¯qºµõչ뱈Yt çhŽÏ­ã•@>J¨Ø1{P%oŽhï{úpškYm‰œ4ë$í¦B@uZ÷fV+šÅ)ÏC,™Æmå„\è!½¸ß= ¸>ÁŠ‘Ðï‰7Ó¸»ÃœÖ6B¨]3&èkr—¨ð yó ·;ïà w?WPŽmS‘Á)€`ÏÚb ¤HÀÈCã×âHbÒÉ.2 ì˜jÇ“îŠÃ×çaXã+›¢§ŽôW=…n Яâv/­x£†1Fÿ÷†ß] ;‰À²ÚQ™¿‰õ°½†™ÒŽl7:Ñï®Y”j|ç@~ð`«+÷ŒLÕC-|‡DS–}ò2Äþd¿eH \߉ SÒ‰.v5Mµ P‚ƒâ&[ËGødnBŒzN»=Ç,ø›ó¯0Üã>ËÕ®a¹Ö'<‡u(Å—D–¾ç½a×™9´IðªéÇî…7Û?TîìR‘Æ ée÷sè9µ†k[/­;Ïž‘óÁÜGHK¢ßtOÖ"úæÊË "ç³ùW>¸y.böå­Œ{UaDâ¬À;X ºî¶½û…®¼‹(ÛfGie©+6–J&±À×mŒI—’ &ŒsŸò-ítÛŸGȾ³ª”@áT·&qÁT÷ígQEa–ôÖI=±µwB¨Iïÿ3ÖwÉ.¡!g¶qUà\‹[N„•Ò &¸™$z¤ãèìç)!òZpÙ·ñ­÷¦‡àI§qy£6ê´áD~s1Ÿ†ˆÔÄòçŽÎÂ_š¸—ðõþÏú¯~ˆË-‡ÃàÑ=@ÅIˆ˜n{Y­ÙV2ÈiW<è5œÄC&¥ëúAq ë¤{BC{_\gâMlTä0L»”XG›†Msò:xošÁÒÏË#<—K¶…21£Þ¡#$ÈL£Ò÷Ùp‘m„n^þÝFµ\¤ãƒñ\žœ^r¨$r–$c Æ&h£OÕnõ9«[—DÆ¢HüFN¯Ò _mû£ ÿÌtwÔÐf‚d ʲèºÖ»øð„z|f.z¡ÇÅì¹4:„ `ˆéü_üÏj¸~%ty]@N“'|âD²3¥¼HT´º;)iï8ºkÃA;‰aÒá­õ©~šFG+Óf è2´VZ;ô¹i_']7¦5}9$B³2Íž«½¶Ù…s;9(¡âüCK½šy4þî=ÃCì,ެ`nê#šÑÈ]«£R¶'DÇl*ÿŸ8æc;·Ca©%+ì•)¯@;QÆRW¾c§ÃçÃ4&£.ý9|¨.Rªw27'!—ÍN@b#ÿ²“'Øb`-ŸÌü°ÓDprilTqëãfqO¬ÁY†Š[B÷7 *Y¼n¨Àãæ«o½UñÐRͶ,‰äOJd%‘(·/\¢ìÙ–[X£•Õ׿èpqÞbu°ó™"Ȳnò‹ét\uº/ìX:KÖÂk~…·ÜÉ[Ëþàô+¾FÜ»`MÃ3/YBë)Ú*åæDjg~©Ò·•JG{6" áÿÖ—†™¸AGëLÜ]Þ¬ªêàM…ú‚JnY¼½·/àÚ(Æ'Ë™[1\b5vÒÎ0?"ýûtÏÜÖ èÖyY¤,‹',Çê„9·ª›)÷É:WÃÞ[ý2Rv½Æ·¦=i­jMpÏk÷ªYeZ@Ælï¡ò|©#Qx0µÝN“ýŽ|kYÇqíÒ€ô¢7º]*GWJ¾û7‡H“Tå§›ž Ûφ”~¡¯5‘¾\·÷k°ÈðØŠ/CÝÛk½7§«zn²£Iô©«ÍOèv%ó§Åê!rÝ8VnˆºqòFß¡¿àÖÊ€1‚ZóíVdª(E?^‡ðˆ<ÂæÇðg.æ¤#QîZU_/ ‡ä·b*XÎ@.ž’] çʦÔO¬±Mný ‡(:ðx]»Aw§Yç‰*îâ¢3ÑfÖ‚ö»…HP©7ê¥LÏ–þ9 qܰý®‰GÜu ÄÝk-.^)RÂ9_t,1}W[,:ħ½ò×V0tM·¦æÆ³þY£GÙù:ßݘü­Âv&´9MVåS3FEX†›.#èÞo¿Û,ßSÝ»uûÖ’Ù¿°¸_3#Ô<—@w­n@fø´Äôh3-YJ÷Ý"‰´¡ÄÇØYÝðv+´–cö}¢¨î5€NX¶ö¥Tœ ÑxAètO ÔÔu1ï¬ò,ÌF¼·ïi´ŽØ©x¸L¹+’]ZšË_»ï6O9‚Tѧ”§`9ÿùëǹ'zÿéS@3ÓMÿÆŒ3¶\_äiÈ}&·2ƒüǃª ë›#ðf>fTÍŠ6AE„Âñ ‘š]ÿ ±»mÝSÚ€WïšPÔ<6¥` ‰r,’^‰vÃîÚî^,…à»ÆZÙ7Ñ7’¦Lã¾Sx !Iò=8JRdT8¤óBî@¼¶4‰ö„UÄ`O–£…´è¦>¯Dfç1Š• c– n 0¦×ˆÉs« ‰ô:èL½ëÉ|ס»].KÃD^SÞí å‡Y{M(öã,D Þ»yÄéŒëŠ3Ó3þ Q­Zj‡@8ydú…Ð?Îwá‚ùé\cÍ@K;o°ÊÛ§0ð þD¢B ­]{PCä U_M¡‚Bu1›9Ù8ò­-Fû1«—áé_u&Û4^ý9„«%[½)±uÃ\‹l†©o37¿-'@~…ÁH1ÿHŸ—ån“!9Mu¯»îB–q„Zwնׯ_(mZi"&UtV’ŠíÁeÿàÖ]¸].âzbÍÎð±œS´Ë¾‰RÿH½–Z@ä2W8ÔÎNΖ±tuf–fVït'}!•õîÄKàpcqà(ޝobô*ÀÆì»¥ÿ¡ô"–ØÂþªÎqR•º£$<ƒÃ©æ²JÀÿüi G>4¦Ð›Ä¬\ÔjÞ†ÖG‘¾Ž¨ò©Œ ÆküdÑDÏza%¥@dV!°÷±ù^º,ú9›“ô0Ö.Ó&Õå´wgþnh¢Ü4ì.»™~îKœûS¦övMbÁp#ÕÖ«2|É[Í‹%Àa¾Å#©ÁfÆàk ÜBÓâd¹(¥aÖ¶1ùGëL` œ…_öóÃVƒÐÍÙ˜ìÞ¬+ú$÷Õqû¡¸ÌAÿjæô>…×$¬I|Çä#È¡ÿ-tí°Ü™Ã¦Ð¶ñ,¢NC¦ C¼Á[j&£ŸÌ•3˜zŒ*å©Eyx=Þ£ÅÓ°'°nNiLjéæâ…OLTÛ;‡-ä ‚0›˜m¾DÃuÎåsðH“ .B8{u‹)ðhs– _v!ÒQUr3ÝûÄæÃÉc‹òëT*@'¼Ž¹o©„߇ï£*Q‘|!öîØÑ+<è—¿3˜ÇöRjã@vê²{ùºÚS]‚ùAñÿ§8Á¶uäE^€pà~dxòÆÁ©KCÊ`h>Žn6ÎëgNè¥Õª¹„s‡m‹z©ôc)ãs²JêJ…sVåzÀøFø7Ò€n…7 HAé4µ¿¤²±'jî¼L °ÃVüO[Ò¼ÎÃ,÷ÒÃ1Àò—÷’bɆ? ¢Ç(î†.¢K6&§é3Q»èŽœ”]`˜h!œ&ÕOvíë{–bÌ“^.¿Fk’¬ÏÒG3kàòkÏå!¶eMéA¿”n 72AB³ûýˆ¢Ú o”¨…ãäÿ¿ ~~i·Ò‘æðÀM6  ºÂytŠ^AZ["X1ŽŒ¯L4³=Pl÷ø×¸Ÿù¦§€B²¾c+½žjÕ¡°N¶AÆ»ÑÕ4,°¨áwÑïJ1i oE4X#BFR·u8uGu²”= !Ãñ *ÀxÕ:‡!éLOÇ—e mþp.º [¤'¿bþ_Øê3µ¾rȃäv’júxø8o1Ÿ²&ƒÊZÅH±íj0þÐɲ¬p̽¿µd&L˜ùF{OpøÚæã”‹ éîàˆ1ÅÐ]{šxcÂ;·§4I5\‹½ãé¯téS&ôÜ2Rö«ogƒAt¦ ý ü¯ÁÙö–;XioË à•ÂϸҘ°~È0ÑàGš—Ý·ˆ-‡ ×åIx=–ëT´r—Ì{D›Š}-A²ùü´=tIÆ3 ’ƒÞô5Õ»Tú»5ù&‘©ötKªÐ6ÍÑ;XLÕFmNöÖ+ ÒúFS¨-! °Fx–Q¢\Wœ{tuŽ*ÜÓ†yÆZE#ÅßqòžbV%ªš€’1¬á‡‚‚ ”¡î,‹ª,ÝQD¢ÜÕ®}C×CdjØÏraC:ÝfCG-ñÔ<›|±?±y©nÚ‘@æ8úŽ /º%$ Â7TB’©UÍ€ÅygpÛ—·ÕH3ºpN¾Kvx˜Ãý…§8æÂd'ˆŽ¦mÝs6‹E{IŠÃ;=·ønôJ4óá®Wd'¼?q— Z€ž"«&©s¦À4–>i›‚égmdÙâÁÝJ×ÛÂÅ®Ó%évkÚÂÝ·œ„´rCBQ€2Ž$ìˆXבùªu£ïÆ·ƒå#­\›¬X‡ý`ðrLpE‹Ì°K“" z¸Ì@Ä]·E˹⠩Üjiû#6Ðyºxû^>Ÿ§| Špü¡°ž8.¥ÎHÕCö¤ O>`{Yæ,A|­«™DÂGAÅÒâŸ<‡]I7(âuÎ×¶jñœ_w ÔÞÂOq¯•qT1FVLB6I:þdñ² ­ñ£‹®ªõq5Ĥ¯¹×ÇY ~ÿÂÔ€¥Hp ¬o"Eu‹ÒÑ8ˆ †ÃŽ÷d?L…|j§6£d›vóV|ÝtQiZKiœéŒ?tޞœÙB?ê“2&ŒC+_ôjQLª–ïë ìZcxŸŠ ÐÁ·L ¾’üogjcwHM?ä¶…èäK_àœœ}¼2bÿø¡Xj‘›TDEÇ5´‘ÿ\±OÎ9Cn™!XàÝA•=ØM¡EРõ&õÞÄiŽ<]Iõ+,Pþõ4&ZdCáȬbŽãáqàÁ¬ž™ÊÆßi´‰òe{nbé"VÒÄßiÕ pM¼Dæ;}q^½n&0¨Jã9È»ö&_ùl[üöcpEµßBY‚”?c‘lÐlzMþ.Rš…I…´þñ‚_¤¤Þ²²ÖÄÀ‡µíÔQ2”ó°lý¢Æ˜„H0˜N¥Nk óôÛ±_«QÞ¿czºk9ì°¨„Ñ©Xœf¯è"¬K2‡°›k1`yeK˾™ÒŽ ”Sd9ø„è¡+ì_£E¨¡EX’ Îüm«fÿ5ŽÑj#B7˜©*±ÿ“¶ø†,ñ;J8_nrå…±e £K¡æ$úpf©1hú}Ž(ݯ[¿:nšö ßrNyޤ€—G‚W"‰ZϰmLˆ$2/p¬eÃQÝqVZ]W’;¤—·Êq&†¢ 3Çi¤çÙ¶”z¼€5µîÆ-;¶Ò;B‹€m˜Û–œ§ùp Ï-N¡ó#àÅN”Ðõ¼Ö—E@¥èÛÃÿàO{ÆòÃfËÉ”»+Èÿ”šÝèµM€ƒh+´knö®_̘ ã‹ \ °ý±SŽLDê€n'‘Njîn>‹‰.R]LJŠNP݈W¸³oÑXo];l«çh åÞÄ_«ð åWòV†„‚†)6ó§¢ÈüŒvÏZÓ‰&l̈‡üš’èQ{L2¤F~ïFÖ*釨1ÉBÕcü”!T䑱o!Hº¹ÁîêŠãgå`çªýB½hQJAåŸ|IúÖñ ™pCþ¡ ÍméŸû‘W„Ä€XÜ1yaÉK»ÙÛË‘°Á0{ÈC½yY¡®°Ü÷iHsøs]$Åñß[ T‚]„8Îó ¬¼ß'lkûCzšŸe>9“² >Ö;êžç”´>0ìšÅù§¥û”3ËPNòžŸ,BUŠ8»«ƒkÏp„ð 3çö¼"ä_}F9u*l›üX …7ÀˆÄ‚᪠3_ë;šýòÏÿFˆQ¦¸š›ÝÝFæ×ÃÍš÷Æh¿È7€rZÄû.û¹·ÐjËèƒ*ªØ‚0F4}¹•×èü*´‡˜gý÷óŽ åU68RøK÷ „Y ?›H^nìðŸ=±÷¾ÿ>kÃ2ÖNnÞh˜þynSüØ‘Z†´0‚x6(šÞØÖ;ŠÈ{‡Ï®Ÿt«€íaFwKì`¾å§ëæÑ¹¿ÐCÚÝÎÓ>Ã(„åôF‘Ÿà^PÚ]Ì1fé›öbhˆo¹@¶¿iP†ALùXÇcp‹;ëð”ÈëF ‘É ®µ¶¹ÌÓ?ü½´2Ëý›“™&žNÝü×â†ãd(páñáFÕØ¡rÍÔˆÎ>¼°Äp c«y6é™' bU勎tS[£Ôp¥DW«8|_d«2šÕ ÜåÅ‹*ò¾¯7V1IL¹èšÔB|f éW§ÂG"ÝánÅ„¬{ Åõ6”p¥ø}&®j;ÊDVׯpæ¶sß°'ÁƒÎ’*‡Gš qgŒ¨d ×€&Øõ…Í—U!yר0æ˜^”]±¶.…?Â&­A7ðø €@‘½Žb³± á”~G2›”?Òh) Ú¶¾¶ÏfFïŠcò\~7qì…ß01¬Œ ±B9yK=þ1Dô­A MÎŽÎÃ*¯ƒDúþzXWµÏy©ì*Ÿãwަ·uÔ.רdñšK½©å삸¦ba-wG ¯0ÏæS'(|¿˜`|/©÷¹ÅÏ´Š ÓÃeeÒÍJ·WKs“ØšÎmÒ ÌÐ]Z%é¼”5ÅðpaxO{hnø  R¿—÷^ Õ;sÚ±§hJ$ž!ž*ÌRXx ¯“±ìoå£ä‚—ïªJÖÑri¼ó É¸ªÌXô˜¹sþDŠùõ±4˜÷é¥Û`’_ÉFMI§p˜HÏŒzë”­Þ‹üw"vÜ’øìÄúDÊ+Á5t®F¦#ëTqÏ ªºÛ++wÀóþxwÌWå|î阴¶BQ M{–)I´… ìcNö%ô <ènô£RÜe†Ue+oo‡2Tñl2 ðHxEé"röqúü‘€‹ª¡sž¼ÀÞl—nIz _ŒêRŠ—GBä ^ÏÚìÔ¢® ^éá‹”>Ø‹Ùù_[Õ8-œ5L7Dc…5ò&ÙÅúpvC°IÑín“¢~Ò?SŒeYcúxÊtx¨,ÉÅr II°'Ùaü–+¡h Ç3Sꀥÿ0¹t¢¶ÇQË{pÁxºÂAç :õbäaɱ§¿n¥ ¹ÙCK`жª$ŠHq¢ç‡sÖâ§lg9¯äÆ«ió}z'š QÝìØZèªDn_E[©ŒEA’8ŠôM2’Èu6¾Ô뼨ĤRïßʦùè‹DÔ³¬@xœ 'e*z¢ºPÀ³ßÆôÃÀRÌxYÔ*ê@àVS"bG4˜s×éþmÎTŠâ7?R§ÉÖ¿‰æ¶÷l ?Hsr¸gaóá§§ÁÓ`„ú¯°e° ]¡ÑâÏ&Y©'ä©ÃÈ„ä«áÍ 3 7ôaÈQÑZ_Þܰ@ú}Œ*¶˜:›)˜sªË×3R‡Ï~èÄ„foªÞýmÙï^ëG.íß»õ£¬ %+ÿ9©çŒ,˜Còo_}%ÊBéS¹ßÆÚˆ£g²s‹ÇÉêOÆßD‡²Ù.l¤Z¼P|­6·[azì`$¢—:W-dD©b——TÐÎ/W¸ÐÞ˜± énT£ú_¾¶µÔ·£¿m¡Só@þe1v€~u/}æ’Täž¹÷ˆ &´š«Àáž¹ø¦\¤áÔ¡¸R•»õ—y´1Âc_¼%aJh­ãÙ [#üÙçVU³1ê µÄ¶«ìÙŒÈ H^²dÝâh¸³-Ö Ž®™ñÑï_äéÌož»&Eˆy]§QJÏ+xö\¹áá¡`Iaß#€wüÓ´YƒŒgEj~ýYfŒñ…Åi¼Ë粦l­”F¬±1ÈIÞ°–âûî*¸ mȪãÕõçl¶*a14¾†™Ý®4‡ ¤9pÄ«ìÍAÿäZÍ$:Ûõ•$ÿÍ¡¯ \ËhPœ˜lsQf‰}Yr¦WâYÜWÈýÐlж£(Bëf¸Õs^¨ÝŽ'ëR÷ÇãWÀé$T!ûΘbÆã•žœ—wÿ‡£¢æi§Å.º7s.7®yær›Ò‚65À›ÓÓØºÙsáÐõÜ™Vt%~غqˆ¶Ùâpe–nvm ÝáåŽèˆ¶Q ä?OÃÞ±“«ÚUˆ3NÝR‹;8ã#f;âd} MûªËR¤Íkœ†B 8 ‘Ü"@|hÆlj;Ù¬Ç9,Úσà¶Ñuè·ÏÁΣT3=shÅ-L~U~]ßÝÅ~ÑwÚ-ßln Ð×ó ~êè é~Í 9”&ù7Swy¢ÜMûRÄSSâ î·‰XhOJ*sк»ÒÒö­Hã1MC‰Ó‚¨Ÿ/ê Ðk¬©Ô7¡=ÄsȬ÷™7%‡™ëß 3,{Æž%®Ä¼ù«¶(ô3'qs~ [ÝÞ‰`@c«-vØIíR‹¹í&ÿ\Pµënt‚Û{Þ"Õ‹Ö”GᓇX^îÑ_Ug{ÇѼ¯9—ÉW -D&&XæOÔ¥FÓ’;h…gJ§U‰s=óónúRèv±!¾¥/kjÏÐNÝUtøÇ@¶<iÒÀtíZG}–Î „÷F€g£B›ˆç r÷lPOòªá¨9÷3‡a>vŸ‚ŽùŒ&ÝK­UéÐ':žO“øÙ.ºù³þ$’…w{Iþ†ä?ÏrDf ¨ƒ€zõWÔ^›¤?WL‘k )ÑrD‹æ̃N³Ëh6|sª®Œ@€Ë€ÜZ×µË0¢ZNè©JKÕ°÷/D8Ÿ¥'¥ÓÙËàCžb¿tÉ¿ÏÌ7»¬WŸW¯?èqU•nа½SÀmýJµÇ×Ô*B“c+fAB¹"—Çìðì·nÞ׆‡Ý“F[üÙçÖp’¨—œòõ™|’r,ó6ÕÀšø-£Üû|D›u23>°OŒQNÓ¡{lm•‘Ž×¯ÒP\Ÿ„dþº`¬Ã¯ "-!R€îfÑ^ø”O†(Ï´P£¸î§!XUì LŒnŽä,km²[ÅÝ?Z=¥œEfûÏÛö!ÔíNêëo#‰e‘çKNi(9jT놎†]Ÿ²†¨„•žêõÆ– e{X´Ýùa¡¤›<¤]EÍ߇~£2}T{ פç1•K¹Þ¢Oøº= _÷¯dÇÄûˆêS¨çäyo•ºrªÈ pEüÓúxÚ@~9 è×#?6\zÚ¨S àpææ÷Ž…¦ÊÀK%¹f±( ¿ðx4ŠÖÙ©ô¯"-‘ä¿{ÔkžD¿Ø*±ŒgIýÙœä¯g:åMôùûtÃó ‘+ׄ°=³SGàônBf1ì]¼hàÛ%èŸNF…<îËuI±®×úêÕç ó¹j–ßܽñŸ'dXis0rÂÑ‘j.¦|éS¾P©hç"IÙÔø¤RíVc›šškÓéÃÈ^Ô(ŒN[9e€£%”Ês˜]0VDÃ+/Õ­{t9¹isäÝk æ€I©KÜ/-ÁÐy ·æ¸ €’Úó•GÎ?©I•WKá¦`°óð Éßbœã™Íª”ÂLRQ©`žH¼Á×.=d <ïgÌ×–`5Á ã¾W·RWÝí >ÏérAÔ»a^Áúv0#¨»ºðJiÂ]ø–*™²+ ¥ËA%|Ôóa—¹µ’êæC´Ú‹aØ(Žƒ?æµÎVJ]›9¨¨¿îÒŠQmC¿‚1§ÎbÀëð9NË]eî7YÿîoQTÒAe}ôF™»@\Åß㌭Q´“òÙ)Ïz)e±o|üë–º¼q]AG-ð/Ñmïµ­-«_=ˆw*Íb;Ò7­Úl(¡)TôAŽÝŠq=ìs¹ç¦Ü5Ç¿«4ÔúèêƒÛSË6\½(ÀQ/GµB”0×^ܶtžˆdpáÜ%§×U©b'Otf |ô(#Ì+Ø @—¯tAšõÌrC³º2çñggU­gîçKU/Í›< ¾bÓ¡èɰ¾ÍIŒÛ€§¼¶›ÜJ§ öåZ•„¨6x¢qäÉ"9z*+óòå ¦‡ ïôŒ†s6ÒZ6ïX ¬°^$Öžw¯Ï]ÄðËL‡¡v¢ËÇV­ãÌ"›œ‘&ÔË™.¥àߎle¥h/Oñ= v #ËCñä>øØè M¯[ÁOYb? 4]~mù šð½;µ±>×U³ƒ»#ÿ­œè‡õ‰Â˜OršôMDYȆ¬ ÈúÖ£Z˜O'îGÖ}g3($Hî$ƒIŸ'˜)`½gn²q'â¡ÎWTIðvªš}¾‘ø#A4TK‘™g%0ÆCÑ.pŸÉð%匤ÚHy²`y‚gî ÕtÖY{ˆ¤¶ÕW?dr[aؽ8”¨ßˆo4p$ü~èâC"k®Ý1r/’#dÞ‰Ô&=æ¸äXÀé}±˜ˆ¯2iy˜¯†9~ʲz =ê-©üåÕRÍì‡"³qˆÊî\†@¥x7ÃhRÔžQTöQpe–U¡; _rå¶ðɹU§Ó:ìhšõ*ÏY =Óøú îBp² ê&¾„ž²‰Î¨¿ÛpÄ`:ë[ˆ&#¬¾Öxqë› ¡”FZßLÇók‡+ÎþÖ‰J ôE¥Q¿ÒÁ¹eC'Õðˬìö1ÈP&·§”®M[.{qïˆíœÎj”Ô³gø<“ 1ZÅë°Äï.±…é¯C¸`K¹µËÎ?ÌÐ#ü݈~ö擱\¿µOö1Éö¹ÍÀb6TÝ1ú˜Uáä}6¦°cfÏåA5reÆlÖ{ó±ÛJP¨˜SŒÑW›0Ô2øã|®a\_\_y]aýVN[EŽ˜—E³<‡3,É­6/;°‡Ó8ÓȲÍX­Vìpk•`ß?Fì‹¥„YPŠü¥Í°•œÞ‰h}6wa¬wyjÃÑ¥z×5:HB¯Ó”}í¤c]za†Ë5PŒÀÞûÔ›ã”üí̬"¿-—L¾ Š3‚ÃëÞv?À‰êù"³ä«Où€vLc-÷zz‹ÌÖÿ'q{ò´æÁÒÌl´©i"¬:}œA+³n\ü…L¤ï)e*åh@àšZÜ“­ž§ê´‹Õ°Þ鱤–¶ (Yæj+¬áJGEk0\m‡@•Ii¼î†W*é 6ÑUµÉɦ3šz¯3ñÄVÚÔÆÂÃŒd‰D©`èBºó¶‹þÅ\DVBÏ$ ›qƒÚJEu¬0Wh€u«H›˜µR"ž1^$ml¥Ï\ä ÐN:÷ñD~êì~/*Ì=Nj‘À³^^!ú,6B#„2{§=8Δ̩äêÁЋ¦>\Þ4³†7³À¿Ž4ÃÌÁ54‚gù’MäawØÂ3Õ‡õJÀ¨ã:‰§†?œ9áO0ð]r\å/,ö±]ÕT©38=Hò\££Qû¼ÿ#¯C÷Àfÿ (ŸWI˜Z§3å8€o|yÈ.¹¶¢'åmÚ(W‹2©¤–1,[póÈë? ”±„eû»nb~JHNß[X^2¹1Ò¤¸¦Ùó/Õ.àÝÅ™)J0@â°+‹^ñ-qn÷ý¾Èñ É«`‰ÖjcVñiÝÜaÑÌDo-´÷kÕ5åŠ=*ŽŠŽ˜$pZî„¶G  vvXº¯lX|!Z¥!¥íüÚŸ3Ý÷rý^(›·Nû^)6݃¥7Žðꬴ+— ›j#NÊ $bK‰¯q¯°2»Gµ´H‰šrú§Ôm ‰ Y%bÀ.ÓÑCv ÜuLÂ~FÇ ìïòjììný=¤?âŽËä¹ÿ 2CUöJÃ^"? í?Ï‘SuCÃ’þf0’ŒÏâî*‹°‘ÁehV瀈¸Õ7 j8ÿdˆCžø¨[c!nŽ9…ærS;Ô$ø°“85hN`ÌÈòe‚x ÿ±jX_ìôŒÖ†5À ’×¶ƒOMÿ=5¯*Ú«?ºKÜ›*.`‹U²»Ûë¿‹á´q01f³EŤT60$'|sîG`J ÕæÝ[Uüny‹-LEÎÐzQ‘G¦pÞß¼cÑ÷ð?r0ã$¥"B©Œk«Ui„¼×2pö0-_0Ÿ Òz·Dæ`¹A¦û?‚Ú‘üªäôÏj¡FÈ}y ÷hú ›ÿ¨`ݦí›JOU‘­‚9<É,á®jVw¾èEÚ×++_ezÓÔ…Ï¥ö×#!®ÅŠ—ÒÓ9—Œ_-‡$@±WÃïÄTq±`?¥ÔFœÈ¡t±wãÜ&ûCXå²zËàXq}JòÓîχúBí§øæÅv©üS¥è“,ËQúÅB:À¦‚Sd ÕWë8cu‚Vñ÷ ‰%‘-© ˆ’ø&Éw$.sæÒåφĠÁ@TƯãd>úÒ`¶ Û›—†pq.ö ÓÝoj¨”ª„s;8k7õU£WÿÓ‚U…· ƒ_Cº]GÍŒ—t¥'Êé#{œùè£aÔ‹~¸'Å”Ÿš .œQY«ÝÖˆn;øØš#ï äÈ™´kh–æ:½«åì—@1¤T<€Ô aM3–>¬0ÌwÛò6´’¿ˆ-š‘®³'ܺ™kxþpè°eâKÝÄhœ .¸!­#xÞý´ÒSÿS¥zy‚™ùñŒ¥ÌÊU¥bËe<ü©àb+Eû<ÑÄi_Q pëð{‰²ùÑe˜„ ¤&(ötGð¨¨ñ4íhÚ(c¶{m"ão˜ÐMþähN­f‚‡‘5'äÍņe‘GŠçm ¾~aýóÿ[¼BI´ÃöJõ.ùTê"tõ~Mçcbr{˜©Ë¼ yÛµ-'Të`b«ü/ÿm“‹ËÓVSP̤ü8W4Ex=$w©(µž/ÏÄK¶>ühíGUNïʼnñÄ»!ñkE„€Œ­j H„èÀ yvn?…¶öþ‘J¸4£#_ÿC>úð¡);)¡2\þùŒ„÷t* i«çäP»L‘(a² rP Üå»2AÜë„Õsõ«– _ˆÄ£â+^æÜiŒås7«ß-ºÌmœû5<Ÿlãɳ·wËXrÚ󂮿€f0 YˆÕÖj"tÏ&¢CLÁWÏzl‡Ëð«Y€Â¨©¤)˜M¿â‹å2ÕŠLJxÄ6©EïŲÅK}£,悤¨:>˜VÍyP4&F2eé+Jà «1k—«È^¦‡Î(v:ίQ¨Hy(eßòºêÀ×Mµo†iU¤ØãeÈç„e!s›œÏØ B{+ö"x°G¡Hù;a° Fª,ndòrËŸ'ÿÅÊ“2œä-­Sà½òb0_³Ýµ6õ’œïGúÅÃSžáJ…Ëh¢ÞÒìýÓP°XÊÖ1M}Íá§3®Ò2CÕŽSÊ/:„F>õ#úÂnDDßCÄ@hj«ÑÆlòñq$.Û°õñ‡~¨ç–Ì+Åej"Ù”èP{o.à)«Dç4…ÉÀþýÈ›`9j2±upD=ß &Aè¯6ÏB»jÈÄø[HÙCƒ¾y=ÉîKaJ)o¤ÒÃÕƒ­ÚîÎÓ](ÈWª}!xw\`zoªI:%Bka‡ƒJ4ãl;o÷ß‹³‡Üº?07‹šv°—O>²ßqÕ¡‘ÜX¦WDw]Áö~™DÅ‘„ªËäî;„ @¼;[8Þ’\ZLN!a¬9Ö¸4)ÙŽºYF7Hf™¦3CÑwZØÔùä¤rS*,|‘/ì·[`¬½wd“Ò± íjÔFee+8æ+rµš†dç|6y+§ y_±úºˆEh˜™mˆ=#e”nÕIÂ;J-Ñ\^8MçÎJ¨ÜQ}žT¹¥÷Þ·•FŠ˜ÀpèHøáÄվӤػÔ]ë«ÏË’b{Ðß žRX8A×ZÝ3ÝŽ:Ax¡uË|Õ­ºå:AݨEÔÏá9À…O‚Œ¬L‹Tù‡Ý­Ô °64µ“#—*¼WÝxì+fdŒ,BZºYÜÔUË•Zé·bl}#?ÂCpgB oá€á†M6­ÄEk\uÞÿ–sŽCbà.]©|ä{Px5,L,¼½ª¡?qßΪèˆÝx¬í=AOmXPše‹1O‚ù!ls‘~kr.{úÄTo)Zö¬ÆqúT¤Üïæ/8Ü™™üV¹aÆ€QÍ;t¥Â™}Íë¤ÐZƇEBÀ"Üìxã¶l+v"±oä÷Ìxó?éνNËc/°h•Á à’"¸9vLÙ9'•ØbsÚ4E³ûPØ’ )ÿ`ïÝõió~[ç*¨‰Ij|¼1ßFĪ)«lM{þ~ŸìxÉî$ª;…ÒÐNf<€¼4›ø'5ð+Tù—qì#H; ‘ŠÂ5r9LÉ~–‘~Ͻ}J~M=¥4lɘò°(önCàî#uƒÉ•Eÿµ‚8Ìÿ Õò.¼ŒÑ ÷S“,T{jt¦Î$¤ìšsŒºàZ“4…(¶%§žÒWW¦ÆÒÃðbJ î=à;˜Jþï{.“ C¼’_åRƒ±öÜØwt¥<ª¹‚¨†ªwâ…ä«¶d¹TçÛüCkÓð#û,q/åæÙ®QƒÍ$@YŒaÒt‚wE†ôx< HÔ™âÛàiPï@˺MWÜÇßÇÆ†=«ùÕŒ ¨S¥ò.z˜ 柪úv³Íý½Mb&sËÀ¬Æüoz€IëásW?û}Úz:‰TéŸ<ÑW=Wþ‹KJ¤ç^$õ.‚¦C ªR5HŽs%¿}5 îF›fˆ)ðÑâ*2ƒž´·Úƒíà ڴ즪Îò^Ä{&èû…ÉÙY ‚õ¶Ô×fü|™¥4õD3¯;úZ“qyC"ão’ÜITñ¢ÐŒ=;²a†ml11;Ð^ZC¹ÄNzÁKõëÔ^âUÝ»dŠp©`jÕ4.ÿÌqßÕ—Y´P¤U|Yý'—‘5ŸN"ÍŽ¯'·KR3Q¬ëñØùÿfCRîF»ð%¹xìÐëÒýˆæ`¨w°Âó€‹*CânzË£ƒé–AP{5=É3µö¡7á°tºUõ–QÕT°³ñƒ×Jå¬ 5u¯ ÒhüÕ€â/Ö .#Æé‡á_Ø©±guŒdÅ(òAQpíæÔöï°ï-¼b¯´qÂSQìĤӨ`ãc¸}D‡d*Wi³4z;íú‰Åf®{KÜó13S!ÊyN„ÿÅ.Õ3ù^“K·Â´&ÑDæÖz@ìaOœddõì¸$;nõ m>?¬äúßSwä… Mdín#:níGÎAv ¥ø7ÅÅK€è“žóÖÀŒÕ°“¤è[êç<¢K¬›Œ›áùR"kà°œ«eˆõÐÓ@gPÁÖðÁº%纤Ӣ*?AŽß-¸j÷(Ëd’¤}(šPú5Åi_³™ÝžÞéãU®Pó€€ŽíÆ s,ðŽÃ È”ÇS]¦LæU' MNA¦Ñq1&9E2pו¹Ð}ô 7nhâ05‰Hö"'Clzj@&Þ66Ÿé3nAq†¤Þ8á:c©úN×Tèþ÷t‚ª}¦Äøz:5ü)¤s+GÔé²}®ƒî=¨˜PÑÕwÉ®µYŸ]޾ZN“§}×Åf…È+VÝìSÁõ–}ôÙ›V]ØÈlw€Èbb¾ä†…èY<ºnEŠ*¶×Ï\™òNñ¡v+pyßÀF T Aôcc*@îþ¢ é™‡¡.½›Ã?«*¾¤ÌïÄâèrmNhéNõ]“yf{=Ì'nè”ÎÝîë³pC¦(T¾I“¡ƒ•‚"ÙËÈ`å™ ‹Q©™Ø2i±íBÙ`€8rá-O@Ì{¦ o@Ï'Ñ|5—â‰õp¢„[ù›xÞM kîfgiTslç¢.kÒ+'Ö«™t ¦ÄQ@ÿ9eÂ×*äþcõÕTxONÎÎßh8B|æWS¢ÒHW¥â]3GceT‹` âÑóÒ“P÷­\6·r¶„:зs2±;¢m`së+Œ¢ð'¬3ó’Ô0Ì÷$Šùª¼Žè|VT”úc¼’Í K]Qn*ÎlMðfvUa®h˜ãÿd²©øv¦û~›1}LSõ)Xèd Ä›{ÈÛ«€5©Ö%™›6ÿ ŒÅŽJÈp,çO¥šÁ®„>²êjBB•šªD!£KöÓ×J¸•%îßÿ‹L¸ßÆ•Tãh!ýzUSÂHÅÌÈ„“ÐçÆ4Å“HE\Ýß»>Ù«ß0kÓpÏ^Þò즛‰W ð½b쥆ϯÕ`U£7C31 4hÒYÈæ:lª.¾ðoÚñ•!íh|\{4‡\ô*Aç•‘‘Ù}IRR ÁlÜLïm:èW#+j9Q(¶«jkì·v#Ú"_öÓ§¾uoÆÁ-çÆƒ•>†)Ø·Nd•¯ nÃÒcB³€Åƒ£­“-7‡¥‹ÿ6²H-ƒ¥f8®Î¸…ý+º7 ξž:¶"ðL‹ï¾¯ê‡’w¥A3dWÖ–[³»¦Vïʯ–v*3…Ø+g—>i¢òÃÜõ9ÛPzøF2O¶  ²}í6ÙŠ¼ŒN÷g@ŠÞŠú$83¹e$W;Ä®ú*Mnf!#*lˆI0³rälÖ3ž%!“êÐq¨&ÿ+¨¶/C—6²PM£@4¤8çÍÔ¡´éÐ,§ýG‚L´XÜó)Û&Ã&ÊÙŠŸ¥t5ös³j†º¾…Ž.?a†$á½Ù ÒÜ“Dй:Îù-ܪ@õ»b@Ô6|ùõ¨ŸDcø[-æT[¼0²Ar¡nÁ<l]Õ}ªbDBâ¦ü¦ )8H»ˆÿÁÇF{ƼÙ>:-¯*Ëœ~U°™Mm³zÜ•õb!×4pK‡"ñ4…ú9¼â9Û0­ œ‰e5%Ñ1kÊ“ˆ‡Ž 1ë´7úæˆ2ˆVåÇ‹ÂÖt.XCZ{ËùG½ÃÏâ0‚=}¤›,x¹-ÿ„ƸÅà¤É… Á­õ–&®qO±ýAG±ð»œ‘±+äYU‰y¤¹ÔÜðÉ—qÑÁºÄ¬Roáîƒ%;µƒtL‰e#’&°@¶:#~zcD•¥TÆ Ò»@8;ñîñˈ‘ÎZî½$ÔÀ[£ÑÊ;D‚%`#i{žß5¦ÞÅU0¾b›Ùz?Q†r÷e'ˆ_ƒ¾??éq´’ L%Ëÿu’—ï¸cÂhÊ…‹’øzòáOåÓ1ŒkzJá%ÿ+²ÉÀr*‡ñ4y'8¢Êš¶ÕŽþ"ZØ…ÇŒõ§=³ÆN-`®BÉ«äîìn ¿r¢j#'•ò9TU¼•ÇšX9gWËÆÒœªÓç¸ð wñ§nŒ ²ŠóôÎÏZšº]k>äp`¬®$,Üâ ‡!r éB‘ÎùŽ–‹½ø¢-1é®0êzÜkG$T€É!DuÞ µ‡™¸üà×ÿ; ¤—d¨7ýÆPíÒÞLÃ,å˜z)ËÁÙ·þ‰õ<ïÝï5þWt´)šÐ뼓²¸BÞiq3Ís ¥bÀKVºMÕÎÆÆ¢É¬ÕΔ¦-`kuáÀM(Ëô Sìçû7®Úd¦RÑꀅê=üÜv{º¿) Läîõº3s•y“6tÙ¹ÿʯi‰9uܳY5PÞHãþ¶ .‘€5mÑÛÉÝtKý͉5× %Îã³’Íä°;2†¥Íw{Š Ž©«%à[‡êÓøfâ†#ß_í QµÉ$*«¤§/:k sC  iÁy¨®Bx,JŠšu5`!ïøÕ´£ªç+RuX¶À£=¾ÜÓ³NÈn)Ó¢òr+©ïFªÉ Þ©î(¤ÏÀÐ…ô'欨!7O%¤ûÓÌ x?µ‘šÓ\ç{§Ü§¸OÒ‘Ô¥°@PIP/ì¬7?ÝæxB•æ×/@…áLaG«ÊfÐSö¹‡–ìa]pl¨‘a>€-òb€%IR:6É‹ôÕ׆˜ÆvD¬ŸØ,=e> àÔ æÃAOµèxS’@3…fÛ[E¿Á6æx*ËFˆ—…³ýPïM؃N Á©úë'C¾âIíwòU#pÁÉGó›Õ˜_yˆ”¯Y¸©r.ÃRÛÊ­©lß'kÖX#ã /ÌVøZq¶(í¶žÈ-”²·"˜50P&“l¾‹t˜“ƒ€Q¿b÷;¤R1Ä3î7ZÃ[¼žšSäÜ“yÝgÕ–O©ùPîŒt’/2Åû_„Yªò£ÜjêY—UNرÔÛ–¥?t©ÌŽA¶…™É©6•ˆM¨fý,Yw3Îú$`U¶¾¾Á·D"ø2A|¹ =Ń[³}Õ¼ã®j“þÛ›,‹wÛàëTØfëµßz½aXÓÝ÷2"(µûŠc>4+夯Mm’ùÛíé3úÆ $0Äš©ë±HŽÿ8¡8É·¶­úJé|³ ÒM]4Éiw£È¥âî|n4g¿C——àoPψÑ}´jIáUd’–hóËàBt¡ù@.¬â¾êƒ¬ûÖá v £ð›ÿè$ר',Lâò_d“7…YvS¶:€¥ÙÏŸXͯq˜„ÀU‚Ï`²4¥WZ£³Â}§í±R8v Êq¸8Î6¯”´®vm ôVÌ2`ãJ—œa¤æ”ª±¹¢¢0„’³ÊGi…ž˜³ÎHå;…/Øj]ˆ‡¯ïYásêmµ0¨Ôœ+§ë*T`ùuv—©šŸ‡‚º ÃÃv¥ "#.´ðÇ8äqhZkw0CyؘG6¦úÔ×ý¼Mͺýœ›fÆ+ŽJÊ…ó-bR pvM¡`¶¡óÀoZÁÄ4!þÛ7(~ÿÕ!….€ûq§ Ú-™¯¹€= Ùy¤ X‘ã¤ÁæœêzUž2¥þѽ¾l¿IIZqò€ÅÏRMÅMØ¥3@3§‡‘ó±1O5iüa>§ìåE¶BËy÷©—j|~7>Ø~¬ßJiÅI%™þîÑEA/!P&¹äÎ/Jaßv±Ÿ9ÁÓÛFfücÓ#`Õ=}§ÓÔœø¹L°;-’pà¡LÏ‚H ¥Ôè8ÐâÐn¼ƒ‹"™›€è¡ømÕúm6¥°Íê´¢$É”¹µA6Üj§øGd˾¿a?Øv1Oú_ìƒrÏ ÕÖË^a1ãÝ\]SVSXÙRM‚Èwcž–ËP¾˜wÒÕãþçÃ@÷f.âÑ:Å¯ÝÆÝ’”Œ¯ì¦Çãÿ­ìÍl±„ð‹k>³CéÑ7ô@ Ó„­$»“É?f¤Xm»ÒvÏa‘’_íŒáh9ð³ |~œ‰¾BÃðñÒ¥ÂøóLʘ—ŸÄ›^Ó¼ëjsÉ,[θZ", íŠWÝbEO–uLRbŸðp¹†ÂÉÄé?Z=Ìø-¥o„J‘H5TëÃø¥ò! 7÷{òq{á!šZšnF/c›má@]ÓTlWXGkÛ%œHÖÚ b]k!7VœóŠ 7×+CŽ,$;ÔÞ"M¢x9v)¾ø%ÀlªÂ’Y•lQ¤Îß•j‚c5^}e; þc0ßÕyT’ëY ^0”@ö’öy¥šVœæ×åLØ!‘Î“Ç ©O=i/OÓój®T3Í´ÍÁÎWÍEØ*üë<¬›LÉõx4¸+Õ^\Æ^ûH’~è>¤ª¶>~ÒÐ?×u'*7WøžtkËêµMÃ_‡,Mš Ëö¢ÞGd5Œ[&`¬U–º‰ð4Áf3N´E"ì†f>!€®G=g•cb’ @jt%,h‚G^>f;åÎ×¾+c~ Žf¤ð×Ë(káíMúÇ®LñmÅ)2¡ëq¶h­†á¾1‰ƒJ¨Ð£å:K¸é ŠyU,&ÆûÑÔOw@‡ÝpÍ™àK 訣¹kZØhˆÜHލkíÅ9crÔ‘ë\;, v‰ôpÛIDW…Ñ:ºûÁdF–Ùµ„Tµ¦É ÏQ©„@”èiÑ#ðô}˜ÓwÂ3˜o…¹ˆõ¹ëS…Êa«Oä ·æý{a’xÉ’•¦±€øÞs· ªPÑÍ~«•gC­å?:¢ä>?"“$8l]*D1‘¾psì~R¡÷±[vS“¾±ˆ™""Œv‰jƒ³†ã¥¦"_ª˜ÏèÖë|©iRªµ]ö™Û Ôì÷"’y¼“¥éò-Ÿ3œ’šx›H¿~´éàZ*ÈÀç–V~eÑ œu2‚ù°"+Ù<óÅ ðÝve:‘.@¿v°ÃÈÝæ,*ÜornÜ;Ú2F&äN7*õŽBMFgµ”;à©ÿóê$Eq9¶¶¬¿}5ŽÓ.ø#ˤd­/A2Vn—¦Òã.‰sö Æ­ù ˆ˜8óîj¿ÿº£R‚0ÜÚ^TÏ…3й&8º‚Ú¿ÞÁ̶“û’Ò–¹:k®Í©î†$¢ùå!Ê‘µŒ«[S—FÚFÅáLLìýCËWJ!x£'ýÎà=V“þȧZù÷ßÁ>ÃD.¬§+¬[Ð=â<¸@xþVŠý @ϵ—]ë<åœ!µ^™uHIndËGRFb°ÿJâGÿ»ËÄôII®{Åîß]t”€‚c¢Yâ t‚$Èn g ô÷Ã$÷n…„í³÷ªª ež§I8*Aç«ÒÀX þ TâºN¤FÁ¤Ÿp}Í=ÇM¦)0ù9‹ Øfµ¦ñÒyüV Õ4 à× iIůŒÅ“2æ<]FL!Y *2çÖÿ\ öœl ePÿì~bšhˆ¹ ¬{ÅktÒ(…* ;à‡«Z€¡û²µ'» 6A ž™ª0^‰ì#3¦A:Ï FéÃÆ+ivJPö^‰Ëx “¼Õ¨Ï07狼ªþ(Ÿ]ÌbÏÕè›c?ÚÆî:ñ¶ò>Švý»¤gt‹¹òü!†¯#‹Ê&Ž&’r{;gÜÈmTš7¼å+;òù¨V¬h/¯ØÊæœàíîý“þ„±¹¸1r¯8DšÇ¡J—[¹‰yƒá"úèŠÚã <º~k¬þóTXZEî^âaCÓÞÌ[ËY0Ù‚ì¸Ãmy ‘ž/ØiÅýŽ‚;ká¡ÙÉ+ïžNVj#=˜IrÐðžã>*õ—ì7»âV$ tµ±Asèq kfáÝ™„njn`ö­¾ê_RUé={N,0c_oSû•¡ðt-ö!ö}B ¼Øñ<œ»>º­úN˜†®eIÐôëÓ#çƒ×<†!æ>!î 0ÙðÚ ¢ù…Bµ  vuL;:¿rd^S£Õ7*/Ìþïq2ãZ̈øêHb9ßÉã^^—¼ùŸµó'Œfz*rãamþSè[}\µ×gc‘9uˆLb³¿U^6¡dá;ÿ±N&s¬‰›[«WÒ"9Õö Mx¤ò`5XDeÜòz,ô ÒÌv"ÛI^Q nJ6°ÍÆ2\Ò1k~„ß$n¥¹cãÇšœ2´ãÿ¬îÊyX óIcTU¥Þi‹§Üׇ;îK%Õ’Xðd æ¿n±‚ÊXg“¶¶.)Ò•“ÃÄvcŸáà7WrÞ´Ñ&0wgðӒQ³s4(ö~%ý²fÞ•+ŽI6¤x”8. Ë4ùŸ[”:ó/œ$ÁOD7•³þçk1ã!¥º†üÓî¨:XÒ//oôIô/ÕCôÈÚ‹JÌ5ˆŸ–­ÈüEž[åÎÊáoãi޾j›Po.ÖÇæ¬ƒ·£ãA•3ÿ&¦‘á82&~ٺ—n†ÇäÄ&ÈG÷ì¼ÔXÞ?Æ ,2øÎbð$‹Ïze~ mi®'ÊžBþræ÷ÇåþØÃàÐjßÇzöp8æR æ3ËŽÄ ÉôßAŽwña4‘énõ©Íõäß|& @F®l>ß1[”È|ãt*p¢,ÊzÏc§dO‘{¸7 TA>ø’ü¬]}-á aEšihÊY cãgË!óƤUŒŽøˆªRŸ¨¦o­`ôއ*SØ@òÀÄ^mr‹™dæv%ŸÉ¡Žµ²À”yº¼o³™:â뺆õ”ƒú‰xìûôÊîƒåp.èðg¨Ê;oÃ#›² øVÔõW"„@â'hß:t‚4ž ™þbNÆ>½ÐNæ™”>Ï.åìF‘d…kì cj¥@䙸‘/â<½diGÿ>ŽnÊÞ}àTĸéuý»Û/ÏáÁH¿PUQÄ•òíZ©¹©ÙŠMCê!‹XF;O„V Ø× Ë?Ñkâ‰'j-Ƥi¸£®ÚãÜ|>,ý¶rB&ù×î:†mØTŠ¸Ï¸_iY· ;¦ŠËÿ³ç‹%–îm—·±mUaA®³nª7»@J–»¹wò¢=C5ITïÍ6åÕ{P¶ØKhe‰lÍ¿P8ÃCTýŸÕ–uÓ‡Yr_*ó!™hÏfâ°œ¥½¯pÚ;uØÓ|ïÞVÌ’pÁP¥ X¤`ôƒì3Æs¼'ãß¶=^cfä1J¨Š&Ç>~ÏŒXAFŽ‹igà€Ÿ7lÈ"Œh©„jòi1³ j»Á¡jT6Ó_ËA[ U‚0DÙÖóц]¼ (-Î4¸œ S†„¾Î¦Ros>ZkµšpNø*YüMoLĸÿM¦jE©rþQs?%Àr$"bÃ.âdMÔI$Ô¯/?H~‚·k§ÓÊŠïÐVà6ÊòÇúz¤?>EwóQ•Yåж]ó7!D“®m·ž±×g`U~ Ô_8@`áAÐTœ ©•ŠW]ÓîÌþ*«3˜s€iŽX™^Á+Íü&xsÏ<‡‹'t"M©—2zÓ;f»8\§ËyÚȸlö ~ÂüPzA†Å¶­ h_ft"×ôEI…hRHwëtL¶‘íPpÁ £WvW8ì·v F^k†©<®Z-Š/C±„Ë> qò…o…*„g¤Þ·¤¾ÕPÜJs!TçÏD×f·’‰{_T‘²(èJ¼Å¹Üå¶{>ûÏluá%«Ââ§Ü Î\úRæº):?¢…a­ÊW±VpRûŸ :i%g¿óIÔv$Þ»^¹Q©>:"éð±¾Ø”±ÃDg„ÒžglÑT—ÝιïÊ "4Å›ÿ¿ê‚K³Ï'ª¶wi窞>¯šÁˆ-ÐÙÙ݂޵|$ßG»–§ `¾×4f[M)êL"®UûÝÞì¦|ž?0+¹’Ó- moyÜ+ÆDg;š¤€vR¡—Кa î­_×Þ©Ì`Ç3–6ÇVbKáõïF\ó§a1Tâ ÇâΦWÓÅWÞè]ü<\½ðaÓ_ˆ\@àÏ!^öÈd ÊÉ“AVßܹšHܹÂ$*ƒàòzÌ÷ä|B}ÄÞ)›ï]™¼ù<,+:D1;N¼YÚò=·©Ù溮ébPJ²Ú4|u A§P-Zr€«äú’[¥â^Fš½ïJ?©•ª¾U¤?ÖãÜ>å°4Eév~Ü™!¶]¢?yâsñ@æy•7\Èì¹6‘å-h6ŽäqÆý‚Jz•yêQÓÍEš¦pˆ™ŠÆ¾£ü+®²=¤\T¡4—ýÑ3Ü?ºŒsŸ2枉k±= oþ¤4RšÒ|.c‚Ëkòàûjáô¨õ¯JõðʸÓ\,~3¬ˆRµw¼mÞä?ZwÎ%·ìŸÍ丗ƒ &#/þfÀÃ#%…Ù ÄÓG4aÒ±®öó}{™¢z‡Ÿ’êübú‚]Õè®-оGsÍÃHïÊ5ƒá£t¦6âƒc7ÅVFÔÇ”›P8T¿@Cº`†7{Ø;4Ö¾tþ¡ ¸n·†Vž¹](±Â‡} DÞ ¼“Ë.wºþ¬"¡î¬°*ó?jjZç>¿&lFÝœMs°lòS]u96ħ¯(ô–R €hª×üÎë¼<ÝÃW®k»è#Sc(Ê µqj“0ëì£÷j²‚1JÍò}R xŽlgý¥-B*äÉXspïy ü:…îßè¼ÄÂ_¸¶ÙÝJÿòÏç*òÏ|Z§ŽÊÂÂ…È𪤭ú…¯Í"kV5{ÖÀªê€ÀŽ·½ãï§Å7Ö†JÛ°ŒÏHNž=@Ž™¤j'àr>è€0œ÷;$Ø!cw;»k1ÚœÓàÓ–:JÓ…²i…Í6WæõÍ·(ë¿¥a>¨kûôË|çŽZxdâÉŠ¢'p”‚ê$×¹*Ð+[dØ•¸áã›8ûÏ+Êü8Z¡ºV—ÜÙá}wôŸgÊ-‘sÝF Êð@3Å|Â"fº¿žcM+ô‚ƒG§aLi38 ˜™_º£ÞÿO\n²ÿöd>¤–ýò?¬ìN¤e?u(k;”Ïš[ÜÂQ†Vá¦õ•°ÓzŒÐ¸¼M/òr©[:ˆîK,€—¤AÛ¶²ä©Ê-HÜZ‘ 8 •(°Á³¦åøþDÃ@—2ÂÑ_R£é¥¯k±[žÉùyé áýÔÞ˜'$â t±º0žËìÁëõ{.áF ßkžî¡Ñ¥’œ¹!Š–B™ÇC‰‹b‚¤· ÓyFwÁUó‰%ä=¥ô\ÉK ýõ—ᾜ=6:­«Œà^ø\>P*¶rÚ}JxôÞT¶L«…Ñg½PáÆGšSˆÚzÍÎ(ÅìPBª&øLí—¯Œî,G-bí¯U=¾;±…F¼5†];ÅïôË[Ò¬”fAò&cG7Ù5ó]‹ªAgiP:Ü[ö Å æ€!-8 î„!r• ‡¿†{º„(£A·G *êþ‡Ñ{àãFEB‚˜Ù ãa…„Š©ö†ÐIùxO²’Ú®™o¾´ •„DösW,n÷Äj¢å !f´:ËjDìôœ¶‘NöD¤áý9† ¹ Ì`\ËL^3Ÿc¯­èU5%¨RÑ·vÒüÈUºUR ò…©eܺ}ªÉKt¦Ý”îÙ/¥ c"OŠãµØ{²v„"X#—»S?^[?6±ùUu*úø†Ø ±€v$e“Ñ¡oÁêhEÊÔ2”¯d3CŒ ½Æ86p^âoæ™Ø7ªï9Ú² KÃ#ºEϱ>*§¤õç°Çj#rwdiŒ(˜Cþ{\q¾“eB>KÁ‰¯jŒ¡’*<¦ôeþÉ'gÔ~Ü« à›Êm:Z‚Lƒé :`ûôã÷ÞDÑ\ ædÛ@¶Ž¢]ŒÙ}s ûFL@®JväÊëùi!ãVö2FÅ.ãì4cð[ú|\Rûk|#{%¡[¿.ú»žÒë^È'µ§!ªÂ&rïîSªül1G Ù;èàȬÇ|Úx¥ôéÓ0Ø4¯"þôŸ>Äè›8— Ó 1R4§³ZÍ4¾¢^(JTW§ï{ç4÷+ DõŠ|ØÝŃӹI , “<[m}Üû¿À¹y½~Ò qÚ¦~:pEB) ‚iZB¤ n ¼ ˜ÃÖâw‰‡v÷%¾Gäó°ÎX‰íÉv"ƒ;ËL~÷¯„ÑuÈ’(5Å.IòN`‘4ô}Qí¹ ?¸xPm‘ü2/ š¥´ök—Dœ|ùIH†2k…Ò ®² xF­m•ƒAÕö\ègÚîžL§ÐdÈõp²ÛÇÇŠ>ïH¯©—òûn!äµÍ2ãö­ZŒ 9`+øž‚ƒÁ¹z’¶9lLüK˜e¯èÁz’Ðüäïp6ØQM £øjÚi“Éwû@Þʸ„Û3Æ¢¿k†Í3ŽÁ5LlmÏîØáÄÍU5 OÄÙawGG•faÒºûç„ØRá&b3nwŒ—Y|„Eçé¾ÒÉUºrÇ%èË¢¸M€ÕQ½\ñÇj5êî¨#ÇàF[– ÜRŸìøÖç:=bøãÇ,×íZóžìEC¯”ÓÝ›$!ăI*mÍf-·g„Rg$`õÙŠ2{·[îÚéö©”ŽŽƒ,ÍYÂy¾tSó¦2¶¥§K‡1‘ƒ}B--çÛ?þ1ábßXà ¿öXêˆ7i¨®ïüòJ˜ò¿:¸PFízì¹l> «Ü7O7ü@.PÊ gn 5FÏv˜‰Pãd@Q³ÎC=ÁŽ"¼P xL€¿…„`O„›ÑwãÖµåFáŒë;i¯‰v:’brUAf„H§/ì[2eþÊCMeci×y“¤˜ÎëdqfÙñ³Še*úpüR›Ió“)oÆ]½—X€|l½²˜J>Qnüí4Æw“Íߊ¡Æ¥Š—)yàŠ Û{#¸‰ª¥iò¯I(É QýIS DÇ0÷dŸùâiJEË@.|y £P‹ZÍÛÁÎØ<ø‡õMó… :|ÏʳR×ý֌᲼/ÍmVú-tþ¹æPÌ@÷¯8F®u–? ¶ûUR'ö‡ ûkÑ#F”½BòÛ_ÿA“güêö v Xž©Û'ù¢V2ú›–†vUÅö'âæ°©­ä’æíëEªçE2rF.À §.‚ù Tú?¬žò€¤öc¾æË/}æ[2Œó×…n¹`HšØŠþZ¡ºj°7h6AS:¥yñbRfWÐ ÛÆÃÌjEToG²ýÞ."YuUt¡JΈ‰‹nžP3‡ÔGyËÒ¿#VffŽ–{ßýN±¹¸ßèþü›;«­D ®6Q¾M°b–‹L?#ù„à béÇ3843&ýF,§Sÿn"ÕÞÄX‹¨Æ‰8ލx)¢V¥@³šÈ¯sõ¡û’aÒ™Õ_ÜŽ ) TErpÇ‹[RSÍ:2§Ý}- \—/‹Ù:º#cÀÂëÐ=Ñ–Ð_Ê(v¤«ÙoŽa†Þ+)ËBAu¤_y?‰Œ° û¸­! 5¶GÑØáMíE!ÈÃ;B{ä¼0é–C*Æ–æd±bÌ·á c"-$ K¯Wø”±ÍÀ4TeÒXÓ×Q€{ÂÍÿ­³ùX´´rŠ{’MÛÛfÔÆ‡f—Ú '³ PÑ ÿpy(ú&[lw-uÈz·È8…ŸkDûcd$bí$·0†%z ™S%Sׇzib©SNˆBqçDÄO]iûøÖ`ˆ¬Žׯ8a>S5¾B¹Ðç—QÒÀöt¯Çl;“‘.|…;6^eÿÈì5² ©©»‰I‰SAÓUW¯–]’À¦ë|Šì+A‘KÏÊ™®ÿÔeeW%h,)¹Ž"ôHqqð™­q<ž$nýðÊñôféß{å£z[dïÊ •|Õµ9Ù#£ª¡5 a¶V·éâ•õvK R¡XB wî~ï'Çð£Å{/â?(3ñaæÆ¥RN’0 .©é"awE5!5Š=-@¯²eï.Ÿ uí[kgÝx™cT’’*?yh|æÛ)×·Ò¬„ kñÔDœxçŸüªÒ«ztx²TnuªÆh6 eÁ±2ãgBˆ¡t‡4€½Uõw  VhFVÍ˲vÜ|…ï…d#I»’¹&UFˆGh4°Ò ÃF*N™.Ë3%Z–$yl|º†Ü¨ã‰­ÿf¯¤i4s’SKI”O^ÏXÚ ê:ëœ+¡Þn5®h›¤@Íø•ï(׫VÆvnÃDžBð܇ ï•÷1'wP®á¼77êP’¼ûâËš™Ür‡°“ݹo9”9C™uÇ›y¹¯8¤¾²ÙáKJÑ.ÙH¨É»Ÿ˜ø(ÞÒž8.NÐè,¼“ñ_ø‡þ'PAÚƒîâ6(ÞI¸›ÎyŒÃ;h?å̇¾˜ñF=‘Œ5(gT$z²ˆŒ’{öP¡*ç¤[¿¡¦’ò?gÁS¬1„  &±åß×Ü là—…ö$}Î9Þt ~ᚪk· ÓlÇÿŒÜlÂ}ÅNŠlÍõ¾Ÿ7ªäšW×OPÝÉ.iÃO]³3cÝQ(â0~—ŒÂyʲ# !³@ ±ë÷õPÃÝ¿>ügÉ)§t¬,ëáwRw×@ý–°0-~²ëÒé„©ÒŒŸ ž[ø _ÆO§¨rJiÒ`f'‹ò­,–ù¶J™Ýa¡èqR‘%ü3œºþîì%Óþ«…ÇYýƒÇPÆñCÈ!ë±½éG€ôV£"–'Ÿ8Üø:ÚÕ£sœRcDxiÝj3ø£þš4Óh¢¨º×éß.ñ$˜Åð(S‹v`88'ø` ‰íë:EÖâÈ»£¯™ûÝÝB#™*ñ7 'TR6¬1iAPʼ⮱¿¶Yõ—žÂw×G 7º¢œü™ÓAÆ*‰N:>ó™ÿ¯õ$nM]/n„‘žƒÜîÍYüTEÆ7gF%§ k_3‘­©ˆd·¾b¿¦ín<*rüÄe  “ÌqK¦ð*ϽEÇMk㵌ñê ËÎ|ã2½ÜÆ'’Ö˜ Ü’[ú ´s}|@õ"Ð|"©ª7PÚÇ­ÇÞ¹©³˜šÄÏ’n läÎÊ,#O?¨é2<Ëz’Y`^T•:Ç%¼üƒÆ°~¢ÈÛ;I$‚»ý±-¹é„Y[À@–F‘q˼¨ .ž”•…{~’Y 7“Qzþz‹Ü¡¡Äö„A¿<ŠTq#‹”Џӥ~fT¢7þíp#¾¥èqqó¨hd2òîÆeC/ú ›ý\õð¥Ò,ô5 |´n9ù^@‘dÅdõ`ó6(Mºž¾ðŸ©*Üa7¨\ô‘Ó¼Iš²:zé…æŸ´p×Ì^~Ô"x&ÕÂzϺµ;ðÐçÂc~Bovfz³÷ú9 騖'ZM6r•E'†$sò·Ñêù¤{ó²ËÒ–ì,'›ÿÉhƒÛ4E8C0(\̪›ãÞbeEÓ=ŒµŒ¡õÂø Ÿšz‡aj×D}Þ‰MJn C0ÜÆà’‰ ‰pn,` 7”~”Ì Ê»™ò ¦ ãäÙ , y Bˆ„Ôá«,ü~Ù¦+µ)‹ÊX} ºAÊõÅ7\׿¼Í'Ž0t{Öƒü¾jàD‡ë°KeM{6±­"µ«Ýünÿ™žÝv]RåÝŠ-ß– ~ñ¯eb„F¼àQÁ÷29‰d¾‚˜ß ‰ôGÆ1ù¨—*4ÿ´ä+&b5‡ÊÚIfË¢mÂg½©ê“ÁE%éApÇ÷õV”¨Ì "ìç…©“kˆ¼‚š`¶ûj<ä†X©÷®¼t ºà&‚×È[ oçæì ‚¾³Ùh¢WÙ ‰ë‚a‰3$Tnؾæ'ÁYýx”!iöˆ}`HqýÆ_`K´8Åáé›ÐE4. KŽâ0~¢Q¥º²­êâ¢ß5`iÌŠsÏR,zõ6²ƒ-iY}}Üžå–wg3.õÃeÆf=•ŽÌ5=4Î2–Œü<‡ªon箳“4|ùOßpá&MÒ¶]7Ä—%¶’þæ§éÃd¬DÆÉ&¡±_Öz»øžJP[]ty|võ6Ì@Øñ÷³D\ž1ß¡_YrŽÛŠh)È€¬üt˜K¢&+\ ŠOÓœÀv‰"‚o{Ó¦ÒÜtí®Æ2…½ÞR©³ÏXñDB]ŽçyKù…/`Ügº·GEø5–°´Iü€JíÌÊ©.>†ÛX¹F»ä·hÜ[<ÆêÓöh¤oåci£ò{½!Bɨ5ÚGÂßï´Ó^( 8Ï2¡ñ¶kt ¼œ&øÛ*8#á?9 J0岜¥²Ÿü2Lq¢LºøM,IêýŠ!./&a6ê~.¢œrZWźç‚xB†ßZ³Õ0÷U ^ñåÒ3 ì­SR¾•¢G7ß&AA&OÕËO„ÍuJ ¼êF Mµ;¥ºG]- ÁeÄ¢¶eÕ*•D7 4ƒðf¾qx0ê÷ð )ϸ-Œ!z¶¬¿«º©("Þª Æ‹Óûi‘0=5Ó}$ÔÛÞìýI^¦àܸ×*®åK“­7<ãÄ2ÖJiòËèÔ’2þÉûÑiPœž×Ï*¦˜´ûŽìs§6½Ñ«CùýKá*ØŒúÃz=0ár´69‚z¥ã}]è³Cajé?íè®ÿQÛ˜­º÷sºÈݪ¤ÖzXäDêÑ®s<ûåC$wÝC±òeÑBûÿvŽØÒ“¯ªïì˜,B4Îe! Ìq!Ƶ×í’=gòâÚƒyaôaC¨«Ð^q"À­ý¤)‘,CÙꔨÁáí:ú[ý>°äœ'¦šè{6­+×E~õÛ ø~êÏp03k·õ^…_z e–M/Š/8vç^±IïJÒ¹ŠÚp£ÂE_‚[žkOÉ|É®G¯ÐÄ™7MV\pŒ’@bŒÏ7íÉ©CY |ý…-C%N•Ié£lœçaãÕÖe,ƒ **¿Â;/Aªß”f?MïóX™}ô›*²çâ .Á|Ñ^tÎÕ¡aQ±eò#Ï®½Â3ÆT*8GIºW££DYæ˜$ÝiK+(˜›^6ðúœ¼°¢èðË™ïT­´¶äj…—f8eT}bHd÷2›q±Úy>šoÒ®BíKzb„M«Ø\80*éÆÉ÷Dœkè{1[…Jjßæ\&Ä¢ó Éo{ ¢#³…Ô<Б…|„êj&öÎ!àüòüSÕHãÉ6`NÆl×vÿú2?µc1K²0½ªâGZ£ôÿ¿J8a–éUñ•Y^|pç³S©ÄJ|(ïóz<$ dÏÀ°yÖV^ÇÝÛE½Ös¾_œüC…ˆ®<^ÄFGˆÆ%#[èc§¡;9Ÿ‹»E/€„ í+ êgXdÓ9é€'‚‚Á2œÆÜ•9ÜhÔøú"FÕI| Wæ³}œœcpý8x‘ýE@K:èeðžjA‘ùlÏèù™>GTþ¸ØZû,›÷Ä4`8çê(…¥¬¿ÿ¹jÄ*QŹ´0‰Wx¼YX ój²ƒ·´‡´ÿ™äk«¢ƒ^{5„0e“•ÆßJT2µ2£L\ÀðáÅœ dŒwû!¶¶®-aMýùó^mµ,ÏÝ!ÙôО“ãS«‹Uÿת†ÉÈ%±)@ߨ¤,× '>n±äõÐÜ„¥Øè3ƒgiÇI&œñõxNþäÛš²ern/!y·´KÍÛ!¨>¥—83ÛLéiò-iˆú…ñ$x?øÛwuùáò×ëßUÄõú:–˜Cæe#ï*vM íÑ¡*9ónßñyã6ŠœÎ„z*è`fûÝ‚CÇõCg€»›Ó€Èt΂Aþ]2ìCëü í¾ù~âÇ{¼¾~|ÅyÌîÀ«#ý Sœô κd¯Ë`ˆ’¦‘òìJ¤ô0]]§"³Mú¦BRgLwåVP4M¦k o. AÔõ­Úq‰ÑWÈ ½euqé,šèA#‰,1 üà M g*ÏzôÆõv-âg}§‚A¤œ#ñ_mݹyw½M±T±…½·VTR$óÿ·i'^*˜2\`·îÄ&¼ðõŠvœ©ªpJ–ðý†¥ ,‹¥ð¦Àyö¸•;̧ɹq h×qñ…}z˜’Ì9€yÀÜ#$€pv+ÒÚKîÈWÆ-ЯÐ2„—O•ËŽá¶ß6¨ã<!’ª¶b8ø;fœuçŮּÝj¹?ñ¾·ëXv¶mLjàlC|u]©í]_iev…í¾Mί›êP¥¼Ü7­¿5?M¡,bÇ „<Ý+óÍ¥Îaaˆ´&n” s¤qõ+)õ­èûü¬oßÕ"~G¥Ú¼ñ0%T‹ŸÇ³ûÑëí…¸"´‚ô`Ÿ±«¹‘‹îÖ´—–MtÁÚqáÞ(\þ™ì?!ìÞëÄHU¬? ¯±ÉÌÆuü\ü"ÝCuG&eüwG÷/^ò3¢Ðfݳ4ü÷(¨C£#Áå~V”ýàVÞ+WLÑÏYA7WH\.rœDÏe]ªÄ¹•šžHðÍýÖF ù¾ˆ†“¨xû]‹?DÅ1ôØâ[”]® ØâŒÒ¯öŒÄ»½`ͼ”°]í—87‚‹Öhc‹ç˜Çõ‚¼CuèÁ%vä£;„ÀÔCº-vin2söóÛJ¤Î¾þ–7¦Éûj/[ì]ô† ùf€…^j•˜Ñ¿øH•MCE"¿yíŠÒ Ï7‘Dcúè{.»o¯o¦Jס1„á %¡oU'¿ßר¼2íOä}¯-ÀÜëF1BÑó+ÖùÌØ›µ‚U>‹pj«Îk]8U(ܾØÓuVÝcµÑÿ^Ñ@›‘@ƒDc©ô™!SYñ—s—ã€v«‰$.¢z}íI{Ž/†P§›~3XåÜ>Ñe‘l hOé«K”ƒ;Ã3jÆ8©Yz6ÖýÝœÕ^F"™Òæå)4Ÿ„ áÚ­— Ÿú7py¼¡Ùâ ý»¼YîLêâÙví ›ôÒɪéÌ_%¼SKÖpw· Þ+@ß.Xše,§su‰ûºÛ|s®·ã Φ<$ U¶Á$íû%ÉmÃŽ ;bgƧDr£hv?˜íã±xgÿ5ˆ…@ ,çdoj¬%ηU¼'nÖ^Ñl :å#Fžc&qŒ«˜¿“ŠùKëÓ¥µ~tÔeZ(D³kZñ†¨@¯ ï°G³8o@ H3¡ö‡Õù„ºïËQF“G+­Ñ$Z_Àºu|ù þ R<­£(mU ç )Npß Hm;ÛÔ¢$íë*à×üLý]“ˆ}ìØ&°ËF0›¾þÎ(KAãÌ.~ùð/x˜Éx«¦Ë1²µ—5¸¬>r¬ƒ)Åtþ® ¨µì46s†„Á¯#óG°,sÏ—;@Pø—VsV0­Ñ3µäA‰NnÙÀf½ /¤]ÔQ ‡«bLO»d1 ŒŒžÈÀ•Ü Ï’m"ùãÚé­Þ.H¶ x§’›Q f°ˆÊ™Ê.Ü›? }b{ym.‰ ÿBú|ìÿGÞìÑ™êžù¢›`‡1Õd¹AòõQàMüלmYØþÆHÊÖ­ ¿Ÿ¤kí4Ž›m'Ù&Ÿåýk\êßA¬X]Û[и#še1?¡i™|[ŠSÚ¦Iך‹‚ä UÙž;4;åå8ø­âo½¸‰4ì}P\{¶*ùgaí¿¼0†Ÿ.?&4dSÀ‘öÖ2ƒµTs]*Šç{J£”Ää!I'eV¦†/‚Û™àp#`”Aÿ÷*;}-žgØÁ»i¹ÒWOLÚ$þ­ÃI÷à)dn!TÒâóci¶Ã;Ü1 ‹Ü;•Ñ,œl·µŒ†õacØ¿§H~ÛëµðKX‘s þcnUûkèBhbœ¨ŒõC:±[…Ö4.^k†®‘™‰­é‡TVÄ»ÕiõëÄåoeXD*DGN > é×Q¦Ë.}0üßjJa„Ý™¨ª¥²ý¨hÁO¤½ÚGѪ=2pÀQ+Y¿ŽóY}f 8¢¿&oÉ©ÏÙ ëâèv톬8Ò r×PAƒèš)ÿåN ó,¨á;m¼´^Kþl~‘Z¢wá°ÝÀRð{ ^jŠú§Å뛚eêÿETðy¾¬ÆvèTg[Ç/ekA‰PËcÄp?¦êdQUýiIÃÞM.Ú'¦¨þƒ(5÷Gë@úêh,÷E¡ÔÑmצ_Žk—¯éa‡Ù܃s„þP/í9G!]÷qÅã>#ÄS\˜TV>ª–ãß1jƒû?ª€¹ˆQÁL2Ó,kþdÞ›Ì =8ÙЇZ`â¡«Pd <çíÊ BÐoI?¯)öVBâö£ø¾nJ;!hýXÐv*vªÉÄ)>/ƒØÑt×zWSÈ7a`¹ø4†X)Ø<“ù¨™0ãª*9ìÂãö"fP!Ä“< ïJý­eЏ+ë•òªïijLM/ÜK•*•<¶~ß9::ò©v‚+\c—l"CdkÕyÒ¥›%P£4pDßSò‚§ln\²my]$ÏdÛ¬{ ?À¢FW†ê£8Ú†ždŒîd'Üœ^dX¼KÖxuEĶá°vû“Ñô›˜|¦ô#«;:s¶Ô~†¥ÿË—¤óÊd:í¯A_UlYeüKÑD¯šÝs'ç"òêxnÓç®w]Ó$3Su˜Zctbi@S/õ‚iZŽÿ×™íi`—?Üá'u$Ñ?vÓÙ,ÆChÔÃâxEÀ©¿BÅ,ÁBLÔíH>²ÈUÛY¸‚ž$Ã(a€îfÃÂuŠˆcÝQ·ê{НN@,TNÇÆc¦ãË„ÝûkZ¶ˆ0WJ÷•€2‚UŠ-ˆ¡‘K•‚ÔŒQ…†@³^¶“ì=éÛR½ò~:çÖ?‡ ‹Å•#mø‚»7I鈋Mna®3Suµ•æ,c,´º6.7€= yƬ_òm/¥´Ÿe2cT![½¦Ä¿H$šcÓFõé-0êãFäØyBÕÁ|æÓhfÈ76®,ž›jÖ…hTx>$QT¥F¹UÈêCg©àŽ®r5¿çšZn÷Mï­5Ö@2(x†¤RÌMô³”«g‡0WB’éîš9ôª«·AžÁ»•Öè¢Åà&ßßïF'íaÉ[­O.:€º°ž‰MêÇYŒ]-KC;âñˆŽ*¤ BïfŸÔ:„¥² }„­Sæ5ZÜX©µ*‡ë¾XÊ™àªáâ{ìÛ†jÙ9 ¹ÐŸ,üàîUÚþv!]Ïf(ýØ1(ny…ëì¸aü–s Z«ê)™ê¶–#kâkùÚ)^ä¬TæD&8¬ÎÞ¾“lZ%f×þg ÖMˆšÙf•Œ¤^S"»R]„»/ ~.œ½7l©éÿï¨QÏ ¯gÜ(jË%,îK°ŠXßžÚ F—™Á²ï¸~ØÉe×Í!ì%ÑöJG~•7Aöt™gBÂ[Êt9*|F—«¼.m‡qC O™%+ê©ÓDåé¶Vùã‡õGÃdǸ\“Þôå`×[ûx\BBwŠ¿ø¿”¹ã“Lÿ‹U¨2`Ãâ‰XG¸?$•¬¨ì[±€µ `«’*!+õªÃçOÞå,[Ek÷hK'ˆÐú¾Áu½\¦þöyùàýþx^rã56“Ü_æÃ}ÎÇ·õ”ÆÍ“]$p‰0°Ï¡H¢ø¶µ3í²wž=–'¶ŽÕdeõÄUë0t>°â–c.—C{SWµÔ¦­¸áCĹ/x §ƒùhšß9†LCT)ªfwk8®pbú—ÍÜ?;Ÿ6KþqÃ6 L×ÍÌ•Dyà§îüÖ¶^Ëtîvä –ÇkØB{ü ‰x¶(—”¶°­•¼í/¹£…IÔ8 óYmÞø—?ªªÅ`28+Taç6ª§ÒË M¬¡åIù‘i†¦•€ÔŒë‘ ä*'çµ+vO"Cm]ظ~,†eGŒP;×!ë8`ÉkNY¾AúnÝ«SžV<Ì3ÍTÑß0öÙ€q z\ëËèžýñ^QÁb¡á]ú–bt?M(©\¶›#»Þuë$ûz%ö€#?¾­øÃ‹°‰HÙ Õ:‘_×Íq÷(Ë2­ÿþÌ’‚>Ôé°æÍ\Òÿóê·y›´ƒ9(è4"üoþªÇÇc$`b]§±oáx[° »œvä“9¢zsŒõ›ÖŸˆ¦KW° ‡Î1~QÃøK…}®;å[{[E@pñZ˜‡¬ôç/ȘSâ¼À(ˆVé©)–T&™73g«¿“ê’7¡§³Q’LQÜ…™…{ðnÄ/v@gL­ ]4 ÊÐKõ/ø É™{½%ö”ñºe…£ÁMFåW]ú‹]SþÞq9ó$¶oÍÇá¼üäYÇ­ÚwávçÓM™ÆÖHïÔà6cò±DË9Iˆ®¢ŸáÃåP"·›|xîNÿ½äRWfOÙ¢#g€*gâ@ÒÌkàçæ³Û•^¼3Âfg€©u0ZÎm¹‡2ß6ÿ¸Ûä|Y¤“‹wå¨ áÏxGùŠÒ¿‡ŽP¦ ÃäipúY—8tpB'?öm¹~*è=àcº±ÈÛšó3a1“;»ÛNyL¬Åw)L7ŒDøëŽÈZ’ŠŸ¹[Iç(ÓÇ’Ve¯"žÌ¢íeh¯õh®½ô8LTa5‰[ cr"ÿ¥,õWÄÕ|ÍýK×.´²óË"Ï nç5eoQ9 M«Œ»Ys«Úl!oú¾H‹yO¶yèÖŽœpùDÕòϧ`¾—ºÍãYP³ìñ$ùfW›aóïPwÄÃQq‚ÔG¼=(MéOã%®ÒŠpÆ\Ož#¦4,¥³ÈUe<À¦]L‹=l ŠZ/ã’Í1·ã#ã§t\¬äÃðCÅØv™«¬¦6Õ/Ðñ1 ja\Iþkj EQî(X±Þס½¿¶ æ€vŽn¶á+³›€éúc÷Ú“þVSKA\«2)Á lnÒžs-ϦHÔ쇸¿©u}W,Êx®[òÓ•‹Åö¾ü£|a‹tˆùÇ®¨Aó X4Ëdúe$HD)K#ß¹¼uy2†ë›¦¶ñ¹Ó•ÎHe'ÈÄi?$î'søÿë'¢Aèõ‘V¾Ó*"}çoUÙNY²(+JøÑo^Ɉ)Œ‹×oÉKúhYÝÈ64Ú—þÔ/jû¦6@ðêU}ÄläâHÛ¬FÑ¡ŠBð³œÆ®˜p ÉÕ.=ºüpŠ$¢méÇ@…î=.ÃijŸ?f«><yw»¼Ì ÉfŽÝ N •Ô ž\Ó$Jkw_ðú;†a¾±ÖwVüCôù%l×Y8gc“Yf&-ŒAžd,¿ov“{Ù»…;^#©©{pB3]¢k†!r_™!ÍËÊj!g» Ö; íWýßRuRŠ à5êÕû¨ÅD%r-¼ex¥{olç¼2Oó¨%ægVA õ·MSy_# IJã|vÉN«D8£u²¸Þa€X”r'k=œ³ª»ô /œ&cÝ…’ƒÊXKÅUýÃ÷é¢2Ñ.ØW” ­EŒ`¿²0§×Ø£ï4á´[R^gœ<·–,:1ÏZèÌ^W%UMÅ ‰O¬8ÓŒõM»mò[ÍÑÞ­ ý2ÛÃc{3[ý/^Å›8¸§òYMŠÑÒ °ÓÒ7Á9ðQåzâ}Öÿ„ù¡Ó]ÑüK»‘ûªâ߻Ҭy‡ÈصR^£O'$èHp_Ü<û4E>ø£ÝHêœkZ’–FžY5Æ}ÕÜWáÒ}¹ÜæÿÈ!êä¿QÃ|EýÊé0K¬ÉPŸb5V‰æðã‘¢à• ˆ<Ö­T—ж*6-n$GhÞMÖulQ6YïÂ÷˜9‡E¾ Y5ÆL,Fz²¼žë-NÔ4§ÔOvÅ2kðf 88lŸ<ÏÝâì-³G'0á~ÆWT ¢G¬õ¬È*V§-ea:«†E(fòñüî/Ž»Û·ð1Q*¬Ž•aüÛ‘KGDâýƒôs\ ÝZpU¬Ò15šo;ŒÞ\Gh?&“²¸“˜jZ†êcBAÒ{§oh7rI……(¸% Ù‰ý»£ªÐÓ–_Émfj¦³*ãm-µ”%Ó K®˜²òZ~ÌÐÛÒÉÚêØó7üŸ^æ„æDÁŽˆo§A×Ù¸'xÕÃþxaÚ%(r®6îLÛ²]TœœòÙ‘ètðþTØ^vDøƒ D޾]Ï?žÅ=ìßFq83ÞÄ«<¶or“ˆƒh[ïÑnhæhó¥Áç‚ÌX´Ç½†X•¥=ù˜và;mŒ·ŽpÒOïì³ÂùÅyäÿ?øétp¬,ß?Rõ¨g…³0=ü6$³O©5!=ÿBªW»‡çUšõ6pB ÊürªdvÂ6o; ƒâ0å (ˆ¶·˜êä@ÿž©*µº[Ò.~ „ZW«¹•œ©R­¦·<.Š …Úµ…¾ŽaÄ3Ï¿r}}r ·ÑþAº;¬0c<¼À‡|6iÆš&†‰Ê±vLª·ø¹K×À·ðÐþ÷jJgCwi‘õNþºfœXOCÜbùNwJ~@òfTª- ùyl–#aÏ}7]E\B( çÙV2=޶&½ 8Å{RývÜÒËšÁ®'/²žá›è¬ïÉÑÓxÙH¬!ŸÚИýrsÀ÷ëW1ÛvãQÙ6!!pzÕ`äR<Œ¾à¯~{q—Šñ_8o¥Oz'®¦cš-–+~~£Bv„ß`ÄÂi›DÀVe-ŠÍò˜“W/޼Wݵ%<êìÑg{h‚¿+Ô¬¯~gà©ç&1»9=ÀUš{ëLÉ3êUöÈòˆÛ("I¢,´ ×p}áyêÐU}µdýÚ—Ô[ q['É$=ãC˜ˆ™ø è… ö’ñ|Ù¨ik¸ èõøâãeBëê- ŸcüP“Š•‰¯»éýÁÔÓx÷ßHy†GG¨yšt‹Ž° N3ßXeU¡ã¢vOÃ&’i—4š.îÕ¸k•ØÌºª™X``Á;â²gThøm†Ze¿\¥lãË4YZ\1`‹Ç1põi ò匹×sCŒ«GW™öç q/‘Ÿïro£Xv·‚&ÄøÄÂU~îyÖ°±sÍ’Uóu²Ý‘SÞøþiÝÎG*¥Š,«Ì.ŸšZÚ0é¸e‰TÃJþÖ'Ï"ŸÕï·À3åÉkÛß“gFÞõ’}8Zf#[vl‘K¿9-ª¥ ð¢5™ÃÕ)æ*æêŽîpš‚âµ#üØæŠ×b—…(„ê‡4qËEk3ââ4ã Q0àõ×Ê€!*NmêãƒbûôÆŠšÛéZ-9hY~¬'°ö\«Í}ôºAŠ4+HŒ:’‡%E0IþõÇ¥·f*¿ð¶TTñ"yhE0@ðÌY›}êÏÞêa4‚“&ó»ÒŸež¯57‹#Ç=ùg'{ Ï`0=:Œ½té0“WžSÙÂå÷N®x8±™£D«Å”,?’SÌYG§'I-ϺÉ.‰+õ³+­Tqã’8á®tà¯Pµ‰SÈ*žT‡­/ŧiŸ©:³K3ZKsˬæ+ÖH™ #tTÕÝ…;ù& pÀ„ÑÙîÚË`´ZoÄ×éž4IåZ†%ýò ‹c"Ô=ÓÑbÒå±õïŒ|WtŽÊqü!<›¼ZÎçEkÑö=Ó8f:Q÷61C‰ºð#Q*¢TK'þ®T9ɪ 3õk+„ÉèlO—DRÑ-›¾+„ÛõµY,_Hf:GíwŠ0¯›‰>âP*¤$wX=ë)¿éAøÀÆ¡ÿÆ­¾ÿ\ ôú9{âÁ1nx5ŽðÄåuóèÞ±çe6iúBé;iÖB1ïøoDM¬¥{ ºõK ‘Pg DÙb¸”pÞEb1gÄ6„ ÚÿdäÛ÷:Ù³:1rr´”v›û@*‘Ö&Ò !®à¡+ˆ« çè×0꣩Çý`±Fò$wÍ–ß·kß~YáÅã1±y½Õ#®›XPB)¡™fš˜[ät#ý¹_;¬†¿‹¾ëß¾w¾«­ËV#ØŸã`4þ© š¼×«w} Èz²ÏøaÃc'OÑ¢`•§ §áðdr°Ê„Ë]Ulµó )¶¼4mm[z/ø¼¡Ž =Ë›4_+eítø>£í$Aäs˜¿)vé)…í*Ó ÈX­ÒúôÐó5þ£ ã ³&ÙækšðgX5¥ÀØX“ÐGÅ=„ç–DW䙳?¨d¯)ÄEÈr¯®óI3´EYŸS“]i0€ÖùÉDVMʽfŠ#,†§Í­NºbLj/¦:%$‚Ç<èËyn°È7‡©¸vÎý¡Ä}´kjÑé´½„«å&v!ë?© öìèx7é!¡ˆ×hEM÷AË”öuÑôx9bª5dt1>V'–Ç®Gu—9' ÙCozÎ6-01d¯’…9…ôéÉ}í®^µoíB~hM§&åD.‚ºVËÓ¶08¯êÕ“· Z‹,ö¯¬X¼VrÎÿ·`wIH‚’‹ËZ§ªpNs~a,üZ{ˆè±æú×$1‘'èÆ‰ì÷˜ÝejúCûe¼±¬üqêfœ°j6J½zµ 6T–:Œß®bEŰT¨Éð•묺ÆJFw 7ô×8ðlpò—2{ ÌUé×DϽ„E-ªgäPFÐìÝ"l­8M÷$Í´¾ú8òJé¿äŽÝ‹i÷BÔŒ,Œù1J÷zrÎóÕá…Š.^Ytá-[r51¶öSßß&ÿP”P1ø1þ ëZï@E#Y ³×…òv$ÆS.þxQ¦vf'ÕäÁúT «I-ÞXO«q‘FÈM¦j.KÍ5˜'?zú»Ñ9ੇY¨ÒD” Ö‹ÊFÞ†RF—ÓâIÞf¦6íW7ªuÑjD¹{iA yŒŠWPÈš~bBò–¼pÖIªÓÎ'r…`MÀ]4!ŸÔŸ/wɳEW¬®kŠ xöÚ!°C/2õŠÑ·m:2iiNkn,.áÔši±¯[¯É†xy…Kž+#É!˜È•Â-cë xúÞVÒª'¥¼j±Âô+ÐRøòOÝ`vCÎþzt/²•÷D58®\PmQh¢Þ7ÓìKÚ¢Í5œ“ H»£þ;85ëÝzHzbåmŽ€¿Qò•1x;”Õ¯ï˜×ßË^âïKy4ÎKÿCËlš´ª ßÄl›É·-|C¡«õ9ŸÛåŒáŒZæß¥8F0e»¯4¤<=ޤàùîÄT­Š$ÖT(™IËM¸Y⪤[ÓN±qAA2ZÚùyEeà Ipk“òÞU‰x-¾õñ v´ubÙ+·6]Ïè`—P*å²B‹e®ò†5°ìv:àœëÏ«h‡é¡Ì¼ôeO´ÑÊWGßy-A¿}»ö­7&!Í™-ƒ$ಆ»é >BKæ6¨‹Ëåüiœ˜š1òá0 ؈7ÞŸQßÙËNFËz¨h±J=Ök0óôûü 4ܰR³©]Þeæ÷û¹W…ýì®)[?Û"b¹4êöýÑ”[e²¢âÁcx‚ÂøÏX@ õ5VzÒµõßQ’V T4£=Ñcé–&7>€í{΢ð8(:o-×ѵ`9qç=Ùcø{mÐþùthÊ ¯ìr ªh…²B`ö³nr‰¥ Ò×ûÀ]èš ‰žµ(Þ’+ýø_O¶ @I"¤Bz½ Ø®˜ ¿p Ú)P$SD äȃªÛ¢¢hTš‰·ñźÑG[º¹ÑçX1òû*ëºDK`ÿä8ίnHðãÜ?e_´?§dtê‹®ï¾QE]ö«K–ˆrw2¿÷†.½ƒ40o:ñm/*6WrpîŠÕ7g¦D^I©gue!°¡¢][ßBw–hàݽYК¡‡*“KÅ$l•1f¥ÓµŒ´Ö\IÛiXÁ༒ÖTbÖ%DV‰Ú34_ÚÛŽñÞLê^—RÆVæl=AV -W|Zåè3mìI?ø–^홎n‡všš—F¡ÉÒ Õe°Ò'ð2èéxvƒÔ )G¨®DÁT†´ße\ìC‘3.j?Ï1E >ŸiW}ù?Íå¬w±Þ¶ªýÍR}OG£ ×N”oË ¤ñ¬¬š¯™”•ÅâiÕ {Í|4  ©ØÐ.[? §8¶úFBñÅ:ØR\ÔD$æŸO+ÌßCÅÂn- £Ç-þxKèBÊÎ.‰Ë3yùLd¢áÎ Þ 6zbE¼(–ítI´éWÔØé¶ô7ÈíÆÃ&Àµ/í·„Ëâ0 ¢pël•/WC™ eR´ øÝ`ÛQCáó¥×é)à(Hí®ÙƒžoÐð¹—C HÏÆ‹Ç˜}HHã{±t_¿õQ—¯ð˜wO,¢‘"kZ yá/j~JTFD­‘ëÉâ&ÝâÞ_)Gzíù_PÛ;ÿâbbä…m€%¡ÆsÌ>>Ñ™¥è%þc„**yL/vpÕ˜Èg¨¼Ó¹~œãSŠ &Ýuµñ*Y÷qmñ;o£îÅ{üÔÊ1¡””Åy=÷¾ö½’›ú i£BšÐ)äk©Ôôª-õüh!}[ªlŸw[ÒÃÚ?:š9ÑÉz9ñ¢:‰,u:¾®£%™8œN}h¸½ƒõ³ùÌÖ„›§\ûÌ`lëó,H!ù÷lÑs·)jè(¢†Y¡]z‹„S§óåÁw¿Œ£]nºXÛ¢. Áp¬±z¶ ÜÐ+H#‰3€¶½Ævô†§ðo ýVF‘]r”S2ÔmaŸaƒ×ѧ„î$}áäÐ2žSà 0¼Œ»—ÒU=¦–T._KLØó¶œüUZÏÝR­¥‹|8÷°ÃÇHãy¬76ÈÕ|BÙ“ɨk@ýݸ¤þCS_«6x‹žŸbTq.¥™ ®yŠX5°Ò×ÕïÓò.žw„%¥µáW °nýíÛT´Wh+ðYíx’$2FûØ–oV&èsò`•oTūܩu@UéÙ’\…-¦ï/ù`) G•Jn¸|¿ü’Txû^:u½@ÒHFÕÉkVÝ´šªÉ{¢ÒÕ¯†ŽÍë}¨û²­YCÎíò³q¥‹²i—y‹½|¼¡ÃO‹KÄ[=Ï×„Šžîf¸m§j¼26“¬<`—èAdNŽ ø•§oÀžN1ó[Xk)'œbunXx)FQ¯~® Éòƒ‡Îй"Ò‹– at÷82íà×¶3-ýÉ&%åèN´>Œÿ.ˆäŠ! Œ…["×£·GŒ3Ò2^Ÿ\Pœo(j"ÌÕ™¦A÷ëȨ3|âõúºf•µ°¶MÖ®3‡0gq‡¹ÁE`‹#i(çóÎüs^Ù‘ÆðEïÖ9åêä~8O;ý@p¥µ EÓ&X܇ÓÕG¸½>Sï٬ݧÃvšgGt’–ÌqÛ‰Ql¯O|ÅÔ9ߢU~¶s t­ØÜœ.ÂŒ­Í~ñ”Õ ²ü<Ó±o»ªš¤Ü˜"Ó”L kÎ…Ò­ÛŒ'M6›ù¹éKSgs8ýŽÐýŸ»šâ¿Èd³gIE¯‘Ë‹Q–/çOYpœ€¼ÎíÀr;œSš0qõ1úYZ¾ DèœÞ›wË“°Fpêýx%øCÕ´¤ÜX2 ï¨9—2¡Ñ+‡Y*áðp¸qkµIÇ ·O=”_ aÏ€pðoÒ‹ÛïjÑc@ZãÄ?-Ù¦D_ÁB`XŽmS|:–Æ2aóøÂªƒ¿ Ÿ¼Š—d½_ ä^ó¥PØ âñYcéÝÍ®MÍ>Kþ”Ÿ °È”,wz¦S…rªSÕÆq‰±æï kð 1Þ¹ôÄGá.b“4µbᜦvŸ8î>Ñt Á‹Ç^-DR Æg¨:Þþc܈ç°c€¡Û”ÚEèÛwóEÓ¢˜*™rßV¹3¦Q@Bš•$¡®;»ìXD®cÌ©1v ëW! õ¿ÍÁóSÄ)ûJ†a® óŸr g`Sêêou ¯«{lOð@U›˜}%d/U@½u^LAꇷgÂÝ `:€Iº¾Z7pc1\Ÿj¡ÆðC¥3W;X*R ÞŸé't#jj¨4wø`ŠcÁ«}‡(àœ|4m%þèZ+ß袕kÈ­Ñ!Ï\1WKÛS̃÷r’M DÔfþHùB¬*Í]ÙµÊð蔎ÛÖÑû—Bóʘ.F_ÿJd\Bùý>ÿº&ÊšöSÙ²r4!½èm=HÅX½‰eÍ*ÝÃi?^LÃO:ÍïQ†¢J0R°×»»Po¸EÓb8m7 t׸ü¤Þ¼þ‹.ó5bÂÖÀík?=“”šAú¨S„ÓÆtÓ a0_æçïŒß˜ˆ—`™ò…/`†.ãBtïž~¾î× óÜ;³‰&e=Eeë&+¢„êü5¡[Þ«ï$hqõOfÞsùDA³íqs9¾ç·éÒw+®Ð>c¥¡8OaOQÈ`Ãð…zÑ$PÝJÅ(õùâR¹¾®\zAnmúNÐSV%RŒYd¥ð¿=–ÕÔð¿r%cƒTþ$è·B]Æâ¼`r$ÚÔÇX#’kÝÂeM´æ†E±r3…ÿ'%·4n C— }’9üב¶Dv7óŒJi®‰q HÑ똲®S\š48AóhÈÛXqaÞ…³J½DPtߢ\,Rymm±¬µ’Q•·øˆ`88Ë,ttƒC Y1lÿæ}7^ÛzWAáªÑqBåLG=xΑ‡€¹¬óÐÆÜÔ_1;&,yxÇw]üÆ4‚D‹#9½Ãä'“Úim= ãÇæø¬6÷*ÿ¾Í”}ÍÒc.ÌÅ"” ¢azAû_ýÒ?Àðä¶õ •¦©Óï¤,ÖŸÕóÙSã`°â§§Lß/gÞÝÑì°ó\²µ ~,–?)ƒöŽð²iÿξѸ©®z¿3=pÙN¸q–€ˆ7Ü9u©ÔºjReh‚½ùdu8<êrD€pO³‚¢Š€±F÷C/!`Uƒ âY°”5 z)=¶‡-^«»0љٞ29Þ\‡Õ™Š—SKÄ%rtX ‘Y_@€jœòŒ›?ºVÊlZKÈäã’=Ù‘‚u¥ëXM½£ª;y Ý„6æ3·.`0å‚£²Y‹±oFpÙñªi>–Øî+»dÂÿÆtTv¿TéšUõØ0NÚBª· ÕãÑ;m˸úi‰ó¥ï(:mÛϱí¥)ñ©,SÃÍS £ø œ¥O1ªÇãÛ0·€ä©ýO“¡†Ã?„êª5…rÇ-ÖþÈv¦'_-¬/Ʋ{þî –w´Ã\É&@èký‚P@€8ŠŒ=‰’¢=žñ–y%~‰]ý%3ä› ^ú‚çðÿ1QøjþÂ0dÓuÜÃL"÷*bC—‡<«ñ¥y£T¤0´‡£Ÿç—c›Ð½ƒçðíSdöKYxÏfÕ7Ä@”¹ÄC:f†æ†9.ï6Ë ¥TFF؇~T:xLØ*¼ÝÀŽ¢’R¾6ÆãPÎ Å%™ûÿ0´Ñ£t Z¡äRƒH1(£ín…, Ð ñ¬–=üZ´Gœ7U‚l’lžðÃѵoõÕÛpµ/W±ÎZ†(öôM§Ìøˆ7_·¬IZ1¤ðW1-oÃ̓÷q‹ÜФÿÃÙÆ³‘ÜæCŠÚ¢,ú‰‘±ŒÒûüg’Û,Ïv$#¿‡Fycêܦ!‹……÷ðjŸvQìŒÜ@›æèªHIã¶yðg ÜîýÚ~Ÿë¢4¥Vîo6´ÿ-^¸Í| àlÕEÄÑù3R—Ù€s­c@î²|h|æ%2•̲+oXÃaE!ÅÑGyŽ b¶ ÆÜ6?.§L#ÐöFKÑÚ =a|o¹Eu¿„6{Ë8ò]Ã\2ª6©²›PÁ½:™ð\Ú_#cÜdÓ;ÖQ\fÙVêZµ›ŒIúSø ²Ø±¥!)^¿uãçk þÃEðt«' #sHž y6 Å‘9(Üi)”¾ƒŠª143èáöœïäÄÍôÎÓ_Å«‘‡øÆêÞvx <}ÃØæóßäó9FQ›*‘Žý9”nXx²Çï²Ûà³ÐíWyÏÑDYU”"Žþ"Ë Î;ꨙïî™Gþùĸ>!¤²¥~aHÈÕ¶”vÒá S]vÞ±‹Ïµ P¬/Àþ»Þ²²Eý ‘_šäTU›ÈfÞ…8ŸxˆuTÇÔÖFpâÏI5ȵ„Ó+àt'J÷V·—èüý®ØþĨQ¬²ëçmîíÚqßûæ2¸$¢µgóY'^/)tZÚº¼‚ªx7K¾"au˽ã?lsCG‚"pš®Ýcàéójƒ{”zâñ|Ž›.F¯ýLzdB5C.ظ/°5€B‘ˆÆktuÛþƒÏÿ"ȲÖuËFcŠL9`ŠZÛ[žö–´à@›[RH|1˜Ug#CÆoë”±†Ü7p¤Yp½ÔTðeúQIƒu=p²”ÇŸKþþ)Q>[pÿ²âEcþƒ0˜Èé›â›¹ÈçFçQ–  û“( šÄ²¼Þ^iÝÖý.š¾…­òºÉê¿ÖKF`ð{óŠ""ÉŒÌ5àZåšé0/ãßRxwJŽ ½.}om²ê«„«ã@}~×Im`Îö饀·q¹*óuÔõ½p¦Ð3{ŽcšoÔS7éañ«ŠMññE…=r©‰ëg˜ãžb.tño$+¶B™áSÛøÉ »{î×…¬ :»t]w±Y'êÀ æÖ?«!%!;ÙèùíÚÖmæÕÇ~C»ÐSµe­é¾ ùð†C+s„ð*‡`™–VGÄŠu· –œ$NºÞN•_¹[dvÎ$ÍÕ«TC=À§çû‰,¶Çš‘P±"Ï~Ï»=[;ˆ7«ûʼ~Pz8˜°ôfFѤ^€’V¼%ÊMŒ†Ûþ¨Ì.7EUìåTx;'K&¨#C…ÖNì&~Þe‚–÷´ÂÏÕ~âE/v¢²Ž؇æXËux—Ñ‚[Ôd®HW¯W’3aCR‘=t•\X\Ècî\=ˆœ•ØÀS Ž¨Ó‰ß–<@oÏÇŽ$BHª’¹J_ÙâhDŃ‹–¾¿ùÙ-ÑP¡ÂUõʧ9#@l5þ¾ù‡Öõ•ï8ÞC.K\‡H˜îÛLl¹ûׇX%mU*±m)ŸÐHz°ãXq®l<ÁÕ/zööe ßQQ(^MªÀKÍò˜‰¿ `NÃ#„sKÚ- jDäÍk8å¥è*k>˜qᑟdzNc–Q( ÛÁÒž†£geåÔC)ÙT˜3 é^cþ’ÅMÅ£~B g^ÌQ×®›ï“\zà/Öavá¢eí¸˜ƒ)p̲O¸d—œàú2¼oÄb\û„à|S­Aåçñ9ñß#¼HùÊê~J°UºgÆ­å|iï ó!î™ÏònBçU}üÒs¶…{IýršZÁ&éoøîˆ*ðA)v=¬R´_ÿÊ„[ç¦:xŠ„ÿãø¸N„Ήê<²^= ä 7„ö3ǽÏ®²qY£pœ^`´º%`ꇮòÇéÿV5z1"h›­¿½¡d0ßzâ­fLðó ÂaCN„š2¼"z'heG1õó´§®p,]÷r3äN­Þ+±§¡Ã¿5àôÙŠù‡M©ƒ'¾â}xù{›Ð2`Kè”·P1æ‘ôå`,W¼øY #Ø&b5çY½øuÞLP0ùԩѸúòÕâr,6>9#Þ¸0DåÅÕ(ÃlÎÇÙFj‹fqÇp¦ÁR¾‘~žwt.²g×6CÐ3Â"fzlÌé$ª“K¡±Á¼5Ø’(ìÇ“8ÇÊï®jñÉHXÊ¥0¼ã-伨k"ý}¤£½˜+d÷@ê:ãlz aZÞ³9 ¬òñ©u¾;‡à‚ ¡ÜŸ¯ œÀıOvB­˜‚¥/«åá¶mÖ¶/«ipÉ\×OÛ˜`n ë%ld«7¹>z÷«{VîÈPË`ü¯~&@þÊ”dÒîŸQÖ¶7-‹z45•P‚•“ä¨tÐèT)&K–©è³<€ ¢G]%ÕûLK> ì@CNÞJÀ±/’«‰¨qã«»PŽÄB=9RS$’D*ÄóÇA_‚<"ÊέfÍž5w%WstœêFþhE‡¹;Õ㮾<ͽGx7ëÈå•BàôRR²:÷$·af†Ñ=‡cX~ÁBè#°sˆÜ)Û눳ŒŠlw‹Ùã€y3ãúUm3uJÐóêžr¶Q 8UGžxøFä¶á ˕庞a^DãíJ7Ûe-Ü’UfîšM‚ d¶è±6tx+~ Õ6!Ÿo½´õ¢Œ… Ø¢xÙ*wçÈÚ¼å?”Žl]ºÌúÕ†W'Ææ9h#àžZÔ9×Kr øë8D)ï¸?v_š“ÄžºÅ;æÆÃ¦*,prô ªbÙsÛöñâ甎 ešóT5uaŽ^ˉf|î‡ zÄÅ9³W³#Žñr­ïW5Wƒƒjÿ‰5Õ©ŸýFÌõ‰´8ñÞU-† Q{ºUÉ‚ŸãíÏÇù‘…‡/쌶Ï< Æ'ÇBaËoX/Ï,‘?é {ß²DA‘ÜçÇá’ǘnqçkûNý3MœF§x­¼tÑE ñªo&ÚÏQû<Lo:X¿ðÜa±¯/Cþ¤UOWµ^C5ƒ€wP „Ú@€÷¢ë÷´¶aÉ“c©ŠÀ•^…`‡¯‰²É¹…e éæ4žY]’‡LºN{r‚›|(\¿°D%ëõK}­è(!âRF뿜X‰£gÚ°?¨Ä¤¹``ö)«"/ ÖX½àSB=0ßÄSµÍ4¯ ¥·'§[}uQ:x§´QüÃzö–0š˜E¨œ_hF²ÚÇ•0‡›×XmËnhŠÎH˜wàU™ã»tE–žñYÏIq¯./w²öiÂʼúÓahÆ+ì¦ÛÜ­AŠ›­{]•E7#P3óž—ÿ(ÒÅØHøÒQ×DZ=Ž”û§þáWJF Þ**‡[µ}€¡ÜœT4±“ÞxÂû™Ì-m—GÔ¦Në:™ñ•¶=ÊF¤ öyżƒäÄÑ÷æxEk2©óñéæ$ûftm¼I} ÙM˜s YÉ!ŒBÞ)2ïõ¿ˆ4çâÈ8y ˜Wx<ño`¶´@¨{â÷£(õÜT.]„øiº?ó"M½5>{¬fGÛ}]êªMK4®- ®#àw“]nÀR€*¶ÄRŠ!ßò¦ÛÏî9(v7W¬¸}³ýñ›º2dXvRŒóŠS•ŽæûFÅ“ ›š`/ QòæöY] •ͽÙ±ZCH7aăX 56:Fã¾bó¸ÎåC´n]:Ö#üu‚B“Ôž<­É}²s—õšbÈ`¾RGdÇ…C’@ŠmO+ ~뜶5|¦œRØUf(‹±Øy¸b”ãPmU!‚™ûä -î•Åßøše‡÷aÞ ]1˸^Ž< î[Aÿ9é¶ÛRêø¢]C©L (¾Ò Zæî3íÅîådôÀUmÈ=åÀwyó(žn°Ú B7Ý ÖJò˜³ød–ý-ì õY .Qa|×tÂGî,na¥ÙÊRžB¶ëN(lë":¦_R§É ¤GW`2ze#…Ö ¼Œæo#Y}GmÇV6¯ÍþÐOµµ0hÜü÷>¯ ›ß£º{]Ð`ùhå†è¶@ bIßtVGs¯sä›Q˜¨¶lË_z¨îÊ2iò#¦$A–k+ÒT:-îQ+u±µÖãB Ã'½|H+n˜ý. ¤ŸÐqY×TÛ ‚êlv&è¦”Ô 7Æú§8æÉg/ÓÂKÅùU÷hbÐdœ5íˆ!ïÀBQM«z¯ÓÅ ÍË š«H-2 ñ"‹€´qãžgð¾hôà?mÛ¼çÖÏÂý…z`S â/IÅìš9Í_|³ø·C»R2„Ã3×$ƆPûtÓô<´¿$µë™M(b£7ý„V_l¸9’Ë3è6Uá„PÖ[øxÐÇ×᪦µ+èZŒ#]_|?)|€Î²Þ«¹¬ñDèr‰5×°!í}4FaW;z „B2 vîR%ßxŸncôôÛå/Õtè_Ž•l¢±à Á8&æ}¾ç¤‰Bã¼_ÂÓ¸µö֖Ũv[vºŸ,|nøx!u²ô|Pô/±œïëoÝ=·¿•/ma†©ÜHwò±lÈŸSÿŒ"':x`1ìg±K*IK»j) “·>»D'Z9 ð„x·Bèù`KÔ1c11zE'JQWn²WX þ¼—F/I¸RÆ‚ïBÇ›j­ Ñ0ÛF¨¬ÿßɰc[Ôˆ™ó”…´©¯õ¤jKÝw§"!Ãc;¯@na úÌtæH²øÅ´fÔK è]ý×fÙ¸Õ¯HÙ n»âb;²S7Ÿêœ vqÎáðä—Šµ#Œ?xrñ*<ÁÓöÓ XÍr‡·p8x_‡B’t k}ÝÉ}(ãQ=³ ×Cµù•“¶` â_‡´[Ç8ê ¨Ôf¨]÷VéAÎr¿ôXL³œù£y¥Órb[ï°›?¯5¢Îñóf}æ9+ /mò*wŽã™ãŠ ~£#Â*Y)BÕË>÷¯ù:Ó+#™š€òжe°Âáƒ(môÜÝ”ä΂@ûÿ÷õ[4œãìR f•ƒÜø„ïîuÆ–#èqWˆ¨ðuÌ´»Ù‹Lþ™ªiì;nÕý€yïþYzàû î³ÇIáî¥<À­R§®²ëŒÞž»Ò&Ñ ¯ˆY*<™Æ³ã‹é£Æ&ÞCN•_÷‚w…ÑŸ™ªJ–‚yèJá9º'æ{Pé|—=9âˆÔ´žu7Só…âœè¿§ây·EF2#@×%[0ß;™3Lw3´•.®\z¹x (m')?t>¾†×Ëñ±a2Ý(Z€Î/ªà}UŸP-«Y Ë€¤W–Éìè…Ö´ÒüU¸æXæ{›oÚ¾ñya¸ÈèXnKWÍèâv_ilv¯Ä&g½RVIÈ乬烦ñµŸU¯Ru5ÒSƒ¼h¾ÜÙ„*]KÚƒÕ©‘ &DÃR¬þ}Ï×ûiC.X?w!¨D|çN §sê)×Ý*Q8•‘7†Ík6¤gˆbϴǤŽU”å0 àÛãFRUëé”@ê2KÂÍðæ”A¾8Sô=þge95j¹/esI”A&UëS¨JþZöÔ¡£Ð}C?˨ÎÝ–÷u/Ùýjô舸§Çu[Yh†Y(Ë;hçy¸¦þBën›Þ ^¥ƒž?¾è%â죎$ñ& kWÿ°èN-¸·]^ù–ˆÁçü»æZÀ—šlìsÚ–Ñ#DOÖ{¯ˆ5ØžìL^|p~­ ¦þêb•¬7XÜ¢D-¸Ùó‡e/Y¾Vç- ‰Òœìù” 2#;¯UKðIÓ R‰ãŒ¹¡z¤Þ7ác÷¨RÄŠvªa1J…3“‡á#¬¼æ_ÅßÉwùQ°èé„p+¸!X4ecÕ— Y(ÆÚBãÄà&Íœ[•KG&艇Åmµ=Üørja¹œž1•@{ Rhß~w·¿üEÞ†­ ó74¦¼¬j”2¯U‚¦I%Fúå÷n-ŠVÚ~ãïÑÈ€W¬ìIþ A×n(+rõwüpa¤3xë’L‡/«— úN…qÒìØÊRJåÙÿŽL×+{{¦ÕyïÒ7³4›æÚ|¸Œ¸.2='ÉÂãÏ|DïT&Á.¡•s>{ò±GØÔÕƒÐ@wÚ4‡®ó ‡í~j€TS˜º]Øë#ÖÆ þeÓ0þ,BP\gtNÓÐ8 ÁÓÚÝE§<~÷i‘®Ïv‡§"e}„—Ø/z©÷“•‚’t°)‚(u–ÉÌËßG²2ƒAýj_Á«wÒ—ö¡Wà€»Ø+¥±ð4‹…š•>÷c¬wÒצå÷Æc¦]¦n$¥«$`±úe…Iîà] O••N؆§kMn×ĸŠìàñý ®žpJŃ2n_»èíásà ÐâÁÆœ x\åY9zƒ¨I´cç¸øM)¿ ùëzš¤6ëMAgæÆÛ½EÙ2_®F/BÔ¬¿â¤sL—Nqcm¼yÕøñÒF6ÛE#ù¥-e¸r×ݳ‘!‚vYɸˆd$µ¤Ïtkö\‡šàß04Rû0˹!FF¥{JØñÊÕH£-ÒmUØr ¡&wç,5z8ï縿ä¾{”ȇc±ÎŠ>¡yƒÀ5Ò§ßûðA}<ƒåÓOºæ?œPÌ&ØÅó" ‚ aÜQo±ø#ÀæfTñ,¸»°'®Ûï*0ó"IÿQYô‚Ìó^ n,â*þDû6œË¿—–NrnMÓWØX碅Ó¹ç“}SÙ²EZ·Ù‡2cœ½U¸Ô·-q”J,ßÖ¦Ha‚©#y¶ÖSY»ØýßÁH‹cÔ¬'p‘´ro/0ŽûŽÎ«¤t&ž">áÍÊdWj^߯Ճ„½\‘ó³ÅH01uu|(là—ÿŸO o±¸]]Ñ¡:ô¿%@H;Ÿä9lbžÉ?C0ˇì_ 9ôÏ3uתSæOÈ„ÓÚb€¢õÿVGÊÓ*–Ÿa#™Í×Aó²åÌÕ*#Ìù’2ʇgš3SFYØV™Ã(lò»éÄý¬!RoóË.…k-Òæ"Áѯ|˜ƒ ` „Mj…¥jiCɤ¬EÝ$,g,7ÑÑ:o¼…àÞ+•9 òÕð­ÒðÆ Èg[þ>:D+‡Úq8ˆ¢ÂÛ¬U¶oñáhtq®œ' ô]/¥¦¶àbÁmjpÝ 6eGoÔ“”+€²{ïTahŸ~»ì‡\¬úGö>†¥ØÒD¤í‡úí·Ç6'KÉb(ÁדTw#Äì)´@X…w¨#Íßáã•îãêz”Z€j–]üHÏÆþž^¤ÍÅ:c$¼ïQ9ß,÷ ,3¨ìÍøÞÇo/ ÌÁ®=û¾xPÏ¿ÍÏú¤–‡Î¸u ÁjèŠEHÅôUF§X/ŽPæ°Å¤­Ù£zLOÎà‰6ˬë܀ڽ虅ãë¦ 7úæ¯Á9š¦\B#n‡§ŒDÁe«µ‹É>Úˆ§<¬ØÁ'Æë‰(hk LEµ&ÏxmQÖªk·ëäX,Ø;b¶y¶(êOÂ$@žOË9U,d€ãÂ6/üä¸! ã?ÅO œ¾lê~gyj¶[9Ÿ¡ž}F ¹r~S4J„4â5M¬Fð¦lø2Ø!ÝÌ>^J*q ‡¯H½,ì6üá??¨'§ÜÙüüQžIºêß›t&vÐÀ’Ã×n QÁ]š–^À– ³›YîÈ/0âCÙxTGz+’õ>U»3a-Ålå+±LqÏd™ý¬g‹RaEAT1¥á¾×9ܟЩd[IÐÇÿ›.>àJÁ%b,ìü™ÅÃ7¨èÞIÝ>ôM&c7ë”h°#iT†°u“êÈõÿ.°Iõ¹Ã4ƒ÷äëÎE§ÿ*¿åx,ÀXwºÕ y˜jÓúžä꥛÷õ0ÛKSHum,žÂé_™ð/Å㥮®`#E‚À“K÷r©6³ñàwUÁvDŠ·½H€ÏwÁ;Ô^5/ ¨íÑ·|çÉÜ'­—~U®R¯3œ§Õ}ƒ@„H'E6cHÌYSsò‰Bô­ë„Aö–¹g냰{1Ÿ¶ ôÞÌ!ŸD™œ\ø³+ô Ô§ôu³™¸O,î"Lj£ù¢K6²C.ƒ“þ‡ðß}­MJD<›Y7Åü¹g«#ÁÚ¾ý”8qz°<Æœ%7ËFÊF+¥öãxЩۢnÛUÚF€êÛŽ4x÷\Yt“ Å­± ô;yþ¶î-U¾ÇœÇ¬}úæ—"ßѬ´À ƒ©zHò †Ï÷ÞB+èâÔñ¯ßß÷ø\”_~'I¶ÖfâõC—]À#Å"Ê×$«—c4Á³º®¸ï¡¢[6!aî¾T}Lk7½áX3aS_%%0¹j ýy:ãDøúíÀ-*S)Ôáó1ú ûëWô@bDeÜã8*Z:=B61îäèôeÜX†ÄÌj6»B!dN!ÅŽøZ9²”™ò’À@:­jõé9%Vÿµ Ñ:F’‘а`è8ˆRqrë9ÎÉíz‘R^|wo"QX9[ÐJ‚|ÿ7&ÜÖ#ž¼±±8Áò‰Fû8VX–n.p89,FC¦ÖkÂèØÛ>ÝšvœZž×iëkmpf‰ï¶¨‰ý±÷Ém¤zÞÜÆ]õœÿ o¦ h­ýFɆR®E\9%„¨>)s²T*¶—„Ì ¿VxM]’gWtLŽ©ùbÅ%SKx(® È„D\¿)›jðyÊr€öôƒ1Ö”ˆ;¯‰¢¡*ÄŸê0úܱ‚.UàÏaaÈ,1œôŸÂp(CnQA¿ÇQ±9 ÆðÍÔlÄ Ÿ+ ¡.DEt ‰÷!ã¢úºB(s^Cz,”Ö ð«ä‚+uqÇÏ„¯÷ìKAHàœßùv7Î'€tÉ4az«X–ú’p’+“eîˆÏdQ×¢IBBþìOx‘å"Y3° úz4mfª)éØî¼`˜…|©„+]Ä?ÙQ]tÕV”ÖL²ÕùpÄ¿Û]¼ÓÄ7HwJÚ—)#SûpÕ-‹²æ|œ+ót–0ud郫جé5ü½nÓ÷@ÄF ýÆ+ÚÕà·rSp0ìY8íXqîêí©£\\ñ¡¡€˜ •sEFp×hÖYÂÿek«Á’ gÐ8ý¶ô¨”™Ù%&B ׳)¯ö®óf1ˆ¦4ãoƒf ™ÆñL)Öšd”˜É)¦,ȶËFÒÄ»þ%öv—©7É$£zÑÆÆÅ˜üœˆ²kž£a[ZIœ<“Ð׸á顯­J] ï–o©éˆî¨Y_r’T‡xÍRB„«T†ÞÁ9¨¼>«¸+kDœÛÕQ™WñÂWìrÁ¬šÅpáêï“@¯Ñ;¸0ûqøˆJ®Ì‰e»W¬H/ùWÉTª˜;¹ †¾уns(‰8mÀÉÀ‹ 7Ì´,xÕ,L’ j„ï¡Pü[cò Uv~ìHrºÄàÑM6e\Ó¶óEœ·Sà.dgÄz:ʶ}—ÁuǤ´6žo¥š~œÅÔÕÑ?dTˆVhq¼ÑÛ©‘{Iì+gàO|HÍRúp½Œ$ºäk0g€VŸÉI,ɇ¥ð¡Àï(ÄÄáëÁŒßô©%–Ÿ‚õ0yÂþžW6'rlôXÕgÁ¡¯™ž1 ÓOj0sꈆßõ# Ü„´|Œ'½^âˆNÎ]–÷Û°JìT„ v€U[Ìú9éúy®p•j3:g€²V rjeH$Hg1™3´û[à˜¶(fóŸQ)cK9§ØØ¼¤ã$(cW¤´ïœ¾°h¸4J2½k…e”éA; ~;ã«h1¨ ò3p'×ÖÚsÊ:2@÷ Ð0¨lììÕ÷pü†aÏ~'>ۼ팷€Ü€¸,‰ãѱ˜¨Êd¡élÍ[P@èL¼ç¤?gH»ÁࢌÝñJåÖ`ÐþxÈBNÂDæm¸‡Sø)””çA&Ò_åHgÊ4ÀuXZ: ùaPêÆlµ·Æ¿‘žxRóäk:=ï#ò|´ Mʽ]+Æs›2\{f6’Í¥mPŒ²ä¡Ôøáá;Cý¡ò§;·S„ª_¥@ÞÕ{¥ysNS kkz¾ir³$ÑÉz§Èj\–†ËÒqÞÆ ´ï('j¶²ãiŒÝ9u×9K«!RrI-.œï˜®ëxœÓλ^³€„ :[ 5Û˜—z)u“ iP¢µ„0éêB¾}… MXŠn÷‰æCÊvéE¨â—›®â¥ráЕrêcöåòŸ79ýŠ{ãñ%NFÞ`pØ ¹vQÄUøˆZ ‡¸•åñb]·æ$·Y0lkxÒÎ\€lTwuôu_\zö9Î"¨%0t,`¶Òy?tÖARŸììGÀ-u&øeM±ÑhG6}è¾E ÂRK‚{äTá¥û?ézþUrâ?tv“uËŠÞ„?M‹ÆBÈ¿€gõH­P):áLãTª×­]ÚRIɋìbáF8"¥{&䇟 9 ’ƒè­œpé@õõâÍ“Ø]*­ ÿz±o$Ÿ~ÛžDgËן-³;ò ý5(Ž*äé|#ÃU;Î(’òvVSð°ß_=GÂNWzvý2ÍÊë¡SV£7`t¸Qø3þzg°¡£«B•®`•û¿q ˆ<Xÿ aMÒî;o§übu$KçÛê¢1ógJBÉ6¨/És¼"9WuôŸ:ñ4ŸQu‡þ•‘¿ vÈ{£XÒÓ|ç^Ùû5ée0 C9Y|ºŽ”DæKº[&¸ÞEz ˆïÿyxëÊ+«{Ë4Á°KiÏ&ˆŽ¹®ºº½t9PTé³§{ÄôæÑV­ 1˽òŒVU»ßØÉ5æ|ô³½)žT¹Ÿ†zgf"§Ë,®w›Ôl>›Ý=ãèGa†û%ïUôiî­'¦I<çn‡Ã­êÔì0~ õM\´ø“Êõ󎢬÷Y ­ ¦ÒÖ8[ˆN)é‚mÌ´+c²zxGD4SfZ°_‚oš§6©ÛÂ3wÚc}KÒèËÔÞ¢$¥ß_Õ,;hŒœÆ¾ûð\02j;–VH6>fL%`ÔüÕ¶ÏhPvB¨t­—ö29y¹[’#ÒZÇÝjꈿk0%rÉÂù=˜6¿ºõ°½Ýµ8|Ñed0²©À}Q”-õ—%~Ø“—Y+ɱ„èÅþp²D=B ¤·šÈ¼ôŽŸÊÊ«`»¼ÅL4ûD‘™á×Qš›Ì7ý#Í7vÓ˜K£›—iôÈ ós­\DF‹¶;Kd3›œÑ¨¦#"U¨«]–øÞ©Œcþ—Äã&øëéÞÿ§ž C¶ÉÅm=yÄKVTe¼ÁÁÎTÅjʉØ:•/Wù›sÆdŽùO1á kþ4@bÇÍQcË*3;õ‰Y‚ŸÁ)Dÿ¼ =uK‰1ZÀ,©žØ'~;˜Q¦•œ|×9Ú­JÁж4¹âÁ^ŽOœÐ.„òþÅ9{/èo‡ÿ®æôIsh+È*zÀàBåC‚¤JÄkú†9wpnÅ- (b±IÝdÁ ×öëêêÀƒ*d•$Wf7` ÇègõU™áÁÚ¤rn(ÈŒéï^ðžrbè®{wàOû鿸‹¡ ™¾(M>ùP,¸QíÅ9uªªìÿïqë×RnEœk´ìˆV“rA_Iž2ó*£(×v% ]Øò»_u¡-G.`eKmK™»ÔH:O_SX ¡f[HêÄ^I|ÖùöÆ1ؼ+ò§´—Ë&p(Ük ú°Ü#]µ Àð~Lã6 Ø-pà߇Íwì [Tº^æÐ%7¤û“i,è€:Vîే4õ]ƬÙÃàY|Ä mt‹VßùlÛ9«7t›±‚ã4—á@x¥ìC×%Á¸µwØ^Írà„‡7Îç_½òûŒÄØ0ðçþÉ‘tH±Z¤Gü‰õÊØ]Ñ?¶|áǤ‚Âuó$mK¤— .Ñø8…ìlÓõ0ôŒ˜œòzø‰5.øu ËÊÃÆôžYˇd,„ˆ_ýóîœwž¢MMù~oÄ-ÔVsö÷”k—ýºˆ„ty¾óÿ©õúrÑ›ul3êõÕ. pÚyå6ì4Ò‚Š™Œ³n‡RÞ¤‘hL_e5¸0G"Êà‘ü›/Ïo´x¢Âpiî˜y9"ç¥ÕšÉÁu/Íò‚ôoKŘ'r•NKb’j!åó¾02ƒÒÙ(÷3¡‚bí¤Õó¦ÂöÿVÇu(ç 1Ï÷¡â/øÀŸG€V½‹êàƒõ&’åRø«S,cXÜCÍ<ïWÅ»U-á­t6 ~pU9ðûþˆÖxzM]—ئ%ì1 '—~È›*Œ4b½y¦¾°öÀj eBc™¹fghöAº Ÿ‡GGu†‚Bá°íx&'žc‚íV׎ٜÊçÙzÃýØñ­6±ýÏÎÝ`=¯îwq(ô™%iˆ–­Œ²Àzê,zH%5üš`€Ô3«í9K–þ½hd`âÉ-ÿ“2"îP*½±YÃØ½1>[™aã…ø¥9y±ƒ 5Mjʤà½K­#çy^îÜ+Eœ’ŽzLi=Î0Dh*ŽázìâàĽ–{‚(Å'! î± ôÇd-ZøÑ©«PóÇ ![øÍ?âõ*- aógh¢Qé½0:Žšc!ªw2Ÿ¾M˜—t®æ–lšÃ1­ï@@OÂ9HØ/ÌãìQy QôUÐ0³ÑÚÐãɤ}üwå å>,©ú(î4x<œg’Öʵ¬£œÕÌMúUÒyµ†´à¾¾VÁj–]¨:èÆ4»´0·We?¼vÃ… #Wž~6$hÂÐ&¤X3úUä(q–'ê¶gÿþìM˜IÚ°›òj‰û´.Î+©ÖÂiGI0»[H쇸Jĉ €«]©ŸÐ(ž3ì”0ý¡ÁÙ^^Ã-‰|™”-ÿƒ±E­½öÌ,i«£3dhéÔ°ÿåmàê²ËøKRd÷ýƒH'æ‡ò˜*ªWˆFj›7[CcãJ€è?º øC^3Úr%¢„zÝ-–ÎRí·ïvÙ”Ê6 ¼•¡–Ò¾?n¹Ã¸}|ò÷çÆñF¤”›_—‹¸=&äØßæˆlå§nc¥ùvM®DüÞvXòú‡d‹Æ“(üÕç ZžfD«”®¢nÒ)C>³ˆ‰Ûq×G¿4|݆p«“[/sT,Êù—*1müvᄵ²wÙ¦Õt´l#i´}:œ$¨ADØF‰D» Äx<#+KË•œ <ófïÅ´ƒÑ»NããŽ+‚¼·ò‚ j6îñÂr]GøÛ:ß1[¶Sf+ô­)þ“ÉãJ_>Ãu1É*+Ì gr’ýLÿµt™_ %î~áø ý:Lj[Ÿ6‡×å‹0Óƒäüh b׈$hþ®&´ô»ß˜Û:}ÐùúƒŸeíjV¯C ³iJ£¹k†sx_ßïzDC ÀÞfV6‡ŽXމÒD2¦_ºÙjVj´’Òñj~ÎBq{W£N7š¡yÐMpîÍÇ`Çî¨jòp¹¢ŒÎ4%§“)ÊÃǧqì뺩"î@geÊíйƒØ¼AˆQG#†"Ñ&'¹Ì}4kõ‚¥ˆù'ûÙÒ@Åõ ± ãôp¯N‰.Šë#¶ZV;‚õü:ÿKÛ#ÇÈHZ¹Ä‡úÝŸ@+fGÞˆ>²Lq/Œ—õGÛ%£±Æad9kó¨D®JVÄ»Sƒ/yÃO¿(Z¬)j„òW’ ÎËqŸ)ï.è= –¹3Äl´L£GÓ˜4+ç´Ê‹bXÙ‡øÐIilu!‘ ˜6Š!¤•„õ>“Ñj¤E9N„æA…ƒzu´YìÁ§Ö‰–Íô8–ÚîÝŒ{âÈæw:Ì•ÑB_NàsÀ_cCTÑ©§Ìè蛾.ÝÜšo‹@i`ÄÏq8ÈåæQÏhç8+-{üfÑì rHC¿µëAÖö¹?ŸÌðÏ’ùUèò‡²gÁX ã&Ö$—”2^kCi”±os¯çÍÆ‰ì3‘É“ü„ï‘Õ|¬eëO¶×ª“ÈfŒ«ü®+X-Y»1­$lŽÏk~¯;*bã°¨:ÑúÕ“—œE5LŒ•g‰ ú.6ã©‘Dúƒð¿Ÿƒ^$¡Òg&³•ä« š•™õ-.`Üöò„Ý!Œ§ÈÕö]*dÂl?ášÅ©nA²RŒµæ`É =»dú(fR¶R’©^¢…ë5@ü•Ž%§]þîÇÀ„C“:Ý?|”=—C’³~¡_E&d”°,G&àPe ö”.`RØÅƒv\&Äën¶¡†1]ê?;ž ¸L¡ð-Gш»¡PúqZôRõô{5"ŽœÖóžßTA³…¤qþóBœ0 anÚiÜëz}9]P‡~1.šYVbT9ÿðœ¹Î©sÍ~И¢˜O » hç@UKâÊŠcÐ ûá w¡DJfEaXàªY˜&ꪀ™ öÓƒüi9Ïy¤¥Õúü‚aƒøèºó‘p &| ™÷¼Þ¥ËÏ ð/‡~ÝÔLj)y8rÌzSŒÏ“f@1ŒÁ¢Âð40 ,ÚÛl>w7!m©Ü_ÆÎ<,.§ðG%-ÓøIëª5'úå|Ät;Žº·D×rrGD` pdÏwÿ€c`F_F¼¨Ä Ó$ÿh:0®>Ñ6û#ö5oq<´šmx¯vU•ÿ½2Œ‡>5ëÀªO^d& `[Úû ‹xнÚfŠÓ^£ñÉ?ì)ýyt9ÕB¡¢h%%Ãóo¦î#êÑ {'(˜G µ²€4.3ù¡„HŠ8K4P›0Je\)Ó´ì4‹»è nÊé’ Í@ Á“œ³“óSµ p¹BS)&þkR u‚²ª¶ Æÿ…öRÅ NõÃ6¨a‡Qòx8_¾j¡¡=1º OK&Ø•¶ÖûõˆÃ¦,|…˜Û)•dóT ŸL~]ŪøŒ>õ²]Y2†æÎúŽëƒO‰¶øàå7 ÞÆÀ2“× "¬šÞa Å~pÈ’w1c¡Úí¨ŽR ®Úu¹G8¢9°HጠÞÿ”ìī#\(ðÒL63aÁ?;šÞ‰Ôl=G~+hˆ>…$®(9òóÜË vÝ(´ºú7»v}›,ÒÆ‰ºØøXI‰‘ oÕ°¸ãöí¨=ÔÀmâ'›p¬­®òBúçÆ5–ÕUj0‹yÇÝ9¡‹U}O—ÃIR3d,`ø‰èßÿ·²¸Žë»®;˜4ý85™(O%«–)Œv@éhúR‡…¥] Px5…ºþóNlçmfþ.äû–øšªM¹Pc­”‰=ßCg‘ªëjŽ_>-šèÛE „nAÉgñ·.‡Rø£c_anf™½œiFY¥SXì¹®œaAªÓáð¶Þò€€Ô󘛷Lˆ ­C—2²!þ$/Þ¡çᆸógä^`ç¤â„£ ð^`´gp7ž,Ièñ+V¨Ž/ û7å.¸±>–=_#€»bó2^þ)-æ¾V)€¶ÿYMIš¤ì [PÔÒ/µOšúnBùœ_¯øä¶¹!8Ü»F<ü’eB wáÿmï3 |5#‡kæ¶2ÔøÍa–¤¼`^µ\}{j GÙ«P»i ƒÇk6'¶s5ը䪎’6I(ÞéßYm5¨ZCÔos¥}ÑÊáçÑÓö(åýf'•?£úpnß3ýï“P1zÚ …YåOF5ü(‡mxMƒÍ×è¶ÝûŒIùƒo¿š ‰U¡MÙr$½0þâúÐS¬Eâ€AB[ 0¬˜NÈ"âµoôBÕJFGôiÿaðä:< ÙÇyKKeù<äsxœñpf"UàªïVZÒ\ðô÷xo+<äÓ‚•’lù;­•¶’ÉÀk>ä.õ7íf§/¡z»s›…_Øû0ìÑî8À|¬A¦àVp"J£‘ €-ûQÿ‚¢’N‰–ØêRýR7·uR »Š‘¸ÿ•íðvøox#[òyºc¼ý‰ói©ùš¦õÅ»}Ÿøç {bê:y;p +ô¬OZ%ÂÂr¨2Rù©Foᛡ§Ç£©Xt;â×bß®Ž4=ëAZ®ñÈ[› Üñ*JeosãïVHˆ4Ÿ¥™º7Šp;\#ŒîÐn)Vg’½y2ó’Añv}Lþ*A—Eqý–­)¢6Æb™‡cÂjá8°o/ŒïÑîß[H›GPèXÓ3¶CT/™žÿ¯JCMw]¹™˜-Aòò>†VóJ¸AªÂ=R§ mìׯ÷¶( ʳ—â’°°›ÊäKŸí4›ÐnF@†hTìm&ÃiZaôˆë@8,ßïò3õöEX,NN˜ÒU«…}¹¾÷æó*.ø&óçê´éú›®Šåû¡ÿs½éz½ê‰ðÕpÿÛêçÒ÷uÏ…Tö£ñßámâ]Mú™hïPû‹©7D¬ªDënÜFõrE¡ä”ïÛ"—5‡ ÅÒqvOÐ*&Ã:`®Ã5v› ~µù£t™âë¶™ Žd¥¹jð¿—’.~yùKyoÖè½&}ñLí„ãAÛ"½Š\ëÖ»Í.sgˆþbï5%·Ù~zb³ãËŽ¤oîà >®[†„ òáR=ïÌxT8ÆßìñFËm—è­¡äGU/i4=:ÖÞxj Ãw²XH8ËÖ±_þð>O‰3Ç–Vi+à ûžòᨿ,»?Ëmÿæ–<€·A¼\P,ù3ÕR㨾RŠ×ÔíJï ½aÞÜ Åò“F?øÓ#sÿüÒso…‘n-ŒÝ3]ate˜/XƒÂ" ·fh4Ç[ųåÄåOfL½¼0ÓЬEw)þx“ªn®Ìõ7'bêgÕËB}VN‡ûŽ•º9³ÞB¤ a‚z¢AAù–¦0ÐÅö­ut(Á䟚Í2O‚Óv,l²9gÚB6ùã}iI$Cžÿ’¼‡ÑØ~š2J~ÒB> |âç)–q4˜Ä20CkôO#}%$|ð°|mC̽dÉ© ÅA8eJ‡¨Åá+L1öI¡Î^š3C™5¨èÎÈ‚f_÷zhçæÕެ¨] Äõ£ÿ­(˜ñ\ÿdu–{Ô™M-’¨Iê{ï³rUøfY°”2 3Ñ+éUÎä§}›È”jà½îu[Y€OG…¨“ÖÔìÖ?ß"Y/0ª†R¿¤ìR#§5i¿Œ!6¿*ò>cf†± wãn5ìÉí…(r. R.»ãJÓa”Á±3º*"8l›‰ •_¨»þaØ=›p€Šj˜#QtÎ_ùÆ…âN‡XÖ`ÁCo’oj3÷P;¢ôðÚ-½9¯e’§ ÔèV?r—và¶Ž…àgÓƒ2QØÔ+¤­ª…H‘@ÛÈ"ˆ$€]ÛÀÃòQùß‹+:bW+Ì"p‹&À4Ráèëg\” ¦‡ÑqÔ2 ¡!'Í^“¨!˜èª”þBÒù«ì¯b.E±¯×ÃkI ÍÚõcù”?ïõ/f1÷fýv˜ÉSß›æÒ¿ ™ÿáñÄÉÂMvÜ­Z1•§lFò_¼/zßb#šgœB£gl#ÂëµæuX… Yh Ý«I»üG\û2Ú;é_)V³â#EÓpÿì±¼:S-/ W}h½ù0TÌoåU<¶×ʶݿés§²vœ¹ó‰Û„fèh Û[á¾€xæÈ·†º 8Ö¨çó}Óþ[HkŒ ­”±Âߘ…—îGYk”׳2;”E׆>‚I?E0ÒV«Où}Ü{5¶… î¹WÊtðèZÏÞ™ˆM”¬9¢š¤èØÏøyðö•äßÙC=Ðï9 ›6ÊÁª˜Ÿä %:¼a/^ø@*?®5é0Ϲ/•!Ømá[¹ ub•Ê­±qf‚hY,ü×Ú|½¬NžHŃYP"y´õ+ÊÊ9äYèaÍ㢳áå)óÆ™ÝúãÙã8)­`Â9z Ö:ö¢ ²™ðäPñPKÓi£Ñªì6»ÂtˌۢÛ<ß2óíÄ+Õ:¸®¤>íÛíåŽYÓ]l'Ít :ƒf²–Nòïç c‹Œ+¾÷¦Eâ´Ãv¿jm³ôåÿ“ÉJ >b$:€ãx àv›Õ^ã‚èù%1H›<1G‰d ÖDD84ïšq£â§¬3-áAOŠá™Œe%<ï[9Ýž1O|Ù±µCLNCšuwç€>v]t ˜#\í¦züŠËZíæ²Fÿi¥Ð=Ñû_•]¹«7c™º¿üBÌéßoAE¯”ìB§ë‘•ˆæÞ VŸøœhj–Ê-ŸOÚ¬C"•[ۤߊ)&5^Í»” “–3Ì!Þ*âT 9”Â0x1ä‘ÂÁ–U‚1òF}|çÍÓýÛÁÐÃLQ—ˆ±TÒ·}²C\~lI߸GÅðŒ›®Ýë¾X¨îq5âh‡`[g;?éý”E‹FuC—9j ¿TÿH±¿IƒLm‡y©‰_†fÀ;”ry¬‡Jw斚şÄ@W=‹cúŒÌÎîÓÆãvÐŽgö4¿}I±bÓJ&]˜X`žDö=j,E*tì&ø3®Žzx-¸¥ d;ö¢WÑs»vüwS\ësÃ÷›Ü©¹ ç“’º;H¿6‚ʼ´CkbÔÊAëÎíž-¥jÝ$³EÄq]“{bÑOõêÙÔ6}ãÏ´Ç×:y%‡Þã!÷«öã#<š— ¿"()Úº@_mbgVÌØmæõíåEÙçïnäÍÝdë¢=ÃÇjX©£ œóLG´D8 &N+L¿vóÀzp³= ô³£6—g̶¸ò·[õ-TmÓ¶ŠöÓ!»È&ælËŸ£–Þ%Ñ¢µW˜ÝJ¤*W$)ì•ç­íüV(ÀvüØ®Oš½}^ð[!v¡] u¿1B¼KBºî?`Þ Ò‚42å v’ËÐ*iÔš¤œ£r¢€{ˆ œMA¹'0²ŠžCƒQö•¢8àÀ*Fp{<^‚3q Ú(LÉé¿]°ñ{7e®ô ]Ÿ$ÄÃ7Oí'ÉüÚæ^¡É¬LGÀÈ&]ýn)¨-úçFúŸÄ î<; ¹Ý¡l¡ã&Öô 2×V…Á2ùº÷?–ùÝ^Öõ¢Ï-Ù‚›¿Y¡ýUy~Jï€XäóܨÓ0ÄÜè—›ï\Õ\ Ù—ùšÿ¡‡“„;i¿E{Éw4HÉûd¥اk˜JS¸ÁWmØÌ¿A~cþLÈfê¦1n~’Sû’¶«h—JòVXOmñLõ¦&&2XØ÷–8oàú-½€«Âëã•ï³è…¦Œ7c:JÏ„{ǽNb¯`'Ã>6·P>Ùd4#Ï|Ân@½ìÌ«»Se^“™‡2ä-‡ÕN‚©‡Z9|Æ)ý{²²}xJû0É-Æ!ìîF¶ŒS'‹;‘È]Û †êB¶Ê†ƒ’nÅåJ@iD_œÈÞ…TOCd“Šš“â…8š[»‡þ}Q¨3ô†#Ó„ù÷Yþ‡)˜I^â}}]%|‚ nzÓ*ÐsRú1.ô ® ʉ‹Îöx KQwbF³î©˜}ÌûEþ ñtVÿd’ñG·¨ µgp’c[ïþ¼Üÿqhæ¸Fû²xv¥ ­š¡MôŸ#wPûõ*íú;°ˆ„+õ_Ž‚üóó”uÓÛ®<_Ú„ÐV#.Ô|oh-ü“¡¨¾öõ‡3¥4ký+`})â{K¾‚[.ÚÜúÇÜ”´Ðb ôÓÑD^t×ýÕàºÖ§$V¬IÀïÒ;3={‡¶ŽWᦄçfBzÓ§õµ÷à#ʡϔçèSü¡çY‚ š+å'µ®=Ýpp¶»ùsà¨)à„¬–žzí²?}ö‚<)k’"ò—?íß“ô'%îHàZo ›@âõ-V;\?_¨“hÔl›f‘(M]ëÚ7YÒz*‡öÒ¢ÖcŠšFxÿ—¶ÿÌçÓ ’sM zWžYGŽœw™owupXUÝû;þ³Nyûvo\tu‰Pç2 )Ó†¦›« bb4+›Ä ­ïdÕ+Jš󾄄þ>Û‹=3Å6üfƒ\²$7f1 ·©•úÛåtÝúFV:\Š”cµ5‡…gæz« Q‡¡û_½¾J­½˜÷cG¬Æ>jÆkZÄÄ x¯– C‡ëûe2ùè€?JéÑŠ1f9y¾€$DâÜÙsó\îjøœ_N9¦ ¸1~9 côþ=»ÍiuG%æg œRÛÍYoéò±ñQ˜\}ÀËpÿÅÄ&ÙR±ÎçÝBë-À»<¦^þ;û N;†¦Ý!ô)ç¼ë–ä`C?,§rŽÅ¿gûaò%ï7ïC¶´"3`Ù­˜oeáM›ˆî^ÀTÍ£.nº5ÿûìÆgˆD »[Ñd{ñ+vBö×`@¼2âõ€i6©kõ´jo³’ư<6o«#ÐuCÖI^Iyt°‘Œ4v%ÙÜÕ´ IJ¼¡pÿé¹AVE™*±H''@]ÑTí”Þ3˜659PíÙÊ4&ÂBó>[›~]o(Mª™–-Kà̘ÁtéËOƒå±Êuì&Á9M%ØÓIéYª§ÍöAÛܬr#‹çEÙ´zUÓdÚKry¥6à·#¼ì,Ý-²ˆ5¦ñÕß.±ª>O ´Œ“°Ñh˜®'™eƒ×ùÓ`!ê–²^>mýåpùm‹ÂƒÁgM€BßÞdÞ<ÀCâOÁœ±…û 4Ë;‹Øÿ½ b–’ÐÐI¯æ.¨lâɯúT‚H!»U_*c¿“ìk¨ÇŸúÁ^ó%dÔxýƒò²8Ž·‰?®V¾Éj°ÚTKÞhÌ?üÅ{ ¤–Vûe™g gù¼O z‘rr*iûüõ¸òTY CQ»íI ÏÑgµùûÁ ÕLCg:K up£‹;À ænŽßâäÍ‹”{zk‘V•À>–MøË=¾jú·ÌA´"ñ1§€X‰®N¼ø:f÷ïR*ˆ r£C†’.Rþ·†× O2)”Á{õKñdÊS f³¶Tc«&Õ¾YßWÐ{~Ë¡ õ„8ñ‰óÕó‡ÖÎ܃VÂ@®n.~^Óü,¿õi}qü̸) ö„P4Þv°œª g€ÿ>wU©Sw63Šé³âöyµ8Á«Ží3övŸý¿Èï[:¦b˜3·@¡þ,ò Y;ñwß2zs>1n¿"YÅkŒÃŸ0û¡Ã½Òn3_§ÐëöÆCLÁ3u×ïJbÂhðâåU„ödÞQ¬Wø*ïf¼=ûØÄýP7Ç]Ô*Kò;Ñ â~næ¦#› ;á.§g¨‡ò†¦Ï€ú=1­<‹¸`ϳ罂¸Ù`íCpÊð¦ÓÄw !DZ¥Qí+س§viánsµJf/¢iŽ%e©¿ŸŽå(¯/HcH+s6^ÿ7ðuÍUtÉe"¦“zr寅$î‘…þër}TÌã4¡)²–¸á ¹Åc¾§l—bˆ„{ûÑU\œ ö 0õL\n›ÇW©¥¨ó´š AR*È”›ùa²“}u¥M,ŒlÎæs.ŠþãÜõk`îNRþk¥‡2mñ“Æ WÐF=¦Ââ6T¡™_YYƒ£ëU-Þ ±±Þ%æ¡O‡Är¶Rj¼}y“ô•ŒÁ;3sfõf{¤ï¼/P^~G”O˜Â`±¶5âØc¿oÚ¯b^?¦N!íº´‡t=ì%ßðJ¢Äò-ݳü¬r¤ååƒ=Ëå—üý øVG0óÈ1±k*t8v‘§ö7™iŒQ¼#Œ>Å™Â?®bñ÷/O² cmYDßCïÙ CÂn_g9RÏ^Üí䤃å×à’?±ëÿOd»à]fÃ)"ËI+çxAø÷uÆÑ‡Á*D*×W¦lp+é§WO‰m¬&¢ñcÂqÖf¾Îè]Ò`IŒÐÉL‹îÉÅÁzVuŒ*•j²,œrY äV‚rR…mx¡£2/‡ü%½ ’I4gáó‡óÙN}ÿè­V×L¾Üó©YcdoÓ1QÔl·;|HUÀ_UfLÛéŠò+œîÊ^­ŒäÃÙ¡àmZç3£„…`f¨sE6|ø-£àn³³î†kÚMåÛÄ×íL,AL­UªP¸Ï0øMK:€³ÜWEÝ#“è†e–Y«"A]k2ÞóSK/|q+)}†É_k%ÍÏp Øy52ñÁU²#„&^4ê¡æ‡ Úôé,¼² c.cIy-`}3„ò:⮌,Ú>ïÂBOùŠû¯½ªWìëǽˆqg±Œ yœ;^wTGð½Öqó?«Â|ó¥i×i‚ÅßÁr—¨3]bⲋ„¢ññ5µ‚ºUÇ€‡ƒ7çvë0}M›ÛP×BcUì1Cý)w”“5šÒº kTÎI%æÿP¥+¦W„ÔCÎ…‚›Õ ­×£—ÛÍqH+¬#á­¢|“G}TŠœeO‹ÖžTûDî÷»¨¤Zn)Œ;]Ã\£˜–G<[ëL™q#~áQÛé_" ˜já9ß>±¿÷?¦Ê‚šÜ`/ÈÅh ì’³·>µ?Yk“á qfÈaŸü‘ÓG—^ e`û¿%'t¸âI]Ys°KESí3ÁfwbÊ׈k T,nÔØÖ\ݸQqNuÅ, µÑ)Šže[ú:8Ä Ú½÷Ú׆Û#`AÞ‹oG2Óƒ²«®Uá¤c@fMbwþ´]øcÎj}«Pò¼ŽÊû:]ûxŽadë=±š*ð;‰=.¥–ŒÝ«Ââ ƒ8Úk!–¸¾NV±É{à Ï­§*ê^ðÝ4¥4‚ª—b0†Ü8&Î]¾$ …‰Ø4× ¹våÿ•F<1<žl~Å™Û?\ç=€¤zÉÙ—ª ¯K4‡®d^÷Ðlüi L)gæ6™EXÿ! ¤âÀÿÑ~ú,¾- ‹«a½ Àè]ÅâcQƒþè,ïéÆýüQ;t·É%µ…ᔹ,HuÆÁEjÕÌZ?ØÃAƒRs¾²ìí2J³×SÂm<Y?5•©ÿOžr(n$d%úá‡éáÃ&0|·ÈBDð”ø £˜ÆH_™ÌøÿÐ| 7Éaž¬+ÛrPFé‡þ#ÔË›öq¹T!W«´/}±[m HsÖ®/—Ѩ¸×&T[ûØ€è~PcòÇ †îŸØ@õÏ—ú–ÝUî¾@·º1 ôÿœõ ‰d œ„¿Jô{æ û–îž-÷œ§|Û k$ÿl]Ï|ÍKTVÝbª>œ÷ëÞ-Öø•ô8M«¿Æµ¾ï•E•á󲯵œHg“?¨Þ'OÆÿÝZ®Ä8rÉôÉѺZjé8!Ùäÿ­Í™ÀYÐhÕMib¿ýý\ùèM¨´„·®åºÁu‹ Yyg¹}'?lÎ/ ˆf?’þíçJÏðŒn€Ã÷3oÊ'ÞÚ¶Ž˜­ý$ÁŒ~x§dÆð ¬L‚³ÝåyøË.!/™ýÒdîÿ’ïdjÁ;£ÏÌÁpùÆ€Zø½–šcQ9èa¾6ƺº xô8`ÇkxÛ’ß·£Û‚&zx(•ä5?}€ÕAo¹$Ù‘=#5ƒ@ƒ«üÀÎs\¸ ŽƒGz’]™b-TVëëwq½ öÜ`P¨üZx[qÖÚÅ,‘Á«0‚4cæ…wx^ªÛú¶3†˜lrØ+³çÐÂëĤyÈ'ÀéÖ2†j‹õâOƒ§"+,³[Á´Æ|jžêaÿlà™Þª›^þ|æì*2îŒ#é-²Ú^.C—qíK—ÇBR˹4ë=ìµâ1t ªëãøÛc¤­'Fì7`;·7¡°~¤È¹Ùáà³eÐ0–SY…Âlß¿ø­‚àê\D…A.xLn÷ öÕfÉy@Áþ}ñ×Þžû¹ÝgƒÚ» .ƒêy$%ˆÔhà‹é¢Rs¢@í=è~ðκI7X¹•Tôy·þ%Ó„8hPÀ‡å[P󻺽ê‹xÜöSÁˉøƒ¤“²üH˜œqIeóãÔˆò¦¿K·dxKfüB} ,OÀ°3ÿjfzñè]4++È,ŹsìŸ Þ¹=WǨçÊÖm–¶%cGï°vÅ5ëø4NC¤ Ún8˜6;—˜ý÷BcÊJFTcÖ3ÕTñŸ2§°Éj£„lÓÞ{,ž»–J,éAÌ×!SèƒöèÏkÔ¦·-`áÉ£òD UšI=]|GH ÇÕX'wãT¦“qš"F”U'nŸ· Íᥜw´]ò¡¨Íö 6²g‹Úl‘Qr¢ò5Lç:Aks¡Ý44ðuþA‰ïázLò[I 8~udGý9ôîÛd?2O»z„ÿkÿB‹ß›çÓ¼`ÈûÂ_6ðpâ=x³ìuëµ½>/ŽûÉnö.ÔxÆç$ø÷&8º&P÷DUôœí9t1…T„Y»‡ø‹I`1†QöZ9G×u·ù¡CTÀœ‡l¶žéÄp^Z8^þWî)‚Ÿk‰Ôôž…Bìêpšœfïv7'oò« ÞíÁ*Ïgå^¸ESôùö,Ó©ßY˜i1à£pSÇwS¿ìÒP3 Ú4Ý«¦ÂF¤)”™Cz Ä㕵÷Þœj´sg?=z0—jý;zYD–)8¯! n¨Äã[J3¦3Èç>F:_¬[í}¯ÖTÒÞ é-vÖšý.`¾¡sºùfw(…ÐÜ Eå–JºpŒ,¦’'„`X¿_sÞÀƒ_}}Dû¯™4®´Y3œê´ÝzÐDØ”i™’µÎ g·8x Ô2ÈØÇNt©»¢ƒ6´ï#ÅÜÇh…Ý®jRî´S¾ÏžF,W’Ž9­+Ý0K«–&Ä(ÒòŠR2ìõ— ©)4=Lƒ A#jÇ Ã¹áèÏÓƒ:f*ÝD“–0V4Ç“éÖØ”’Šu×ñs„ÙyeôÅ?üï+ 8lDöMÈ2ZÇ5aÓ¦3Á†”ЩK˜®ã–ªJžßº1xÁæV> ÄÑ©j)(¥mqºFe–ÓžA›b.Š+{¢¹>:o|ý¡·ñVXFŸp¿E§ï¶åkÎíñU†ÛÝjgéîQ"«¦Ð#ôé¹ùÉPßÞ›FJõ7ü#^n¿¤;±eeV÷›\úmšUh%k/Ùíãèï€('Bœø‘Ô8aH±iò‘?ü¢ÌR'úl pöǼ´Â·Gí¦=m(®ä•^ ~ߊM´_¥g|úGåUýïCW»6||É›Sñ!ÏZh/&@…3¿r6@×| „ö[‘¦öïbäçs'±+«UÜíko[:'ÈrJÜ!‡OW²”òÐÞjp±¸\<Ë{%ÜÒü +Ý y&qì«E.±,hŽM”ŒókºSä¾QÚ$Ç*ËÌùX}¼’ÊÈ:…Ëû±G„~…%9>Îõ†4¶®·lš:/e žì·ƒŠÎmR+†2·¾žU믌þÐI†wV(9åÑþ0ã<ˆÜ…5//uÕˆ—àZ:>ؼ¶XŒÒ„ñoNº7ßXzóúÂZ*7aîHØ 0O¿„f›îé¶Ê§ (#‡þU›~1í=ÆpsÑó¯jÀ0Š?ì¤`“e›«ÎN‘UM j÷p¶úú8ùˆÔRcì4ˆJKå’U@ŒÏJ–ï/I^:d“=½‹tK…¶Ù?_j)›Á‹L²üB hC²Êèý:E†hAì ¸/½´ÀÈ0ª—D?G¥[*?ˆ½iˆÌ p]ò[0¯ÿÿh·lÑ¼Ü ß³à¹íä]µþ¯2³ qVˆ¶ä¹÷"+ZÊgœß¼ŽƒoXE~룜H½újWÅ Œáü>ÎõOT凸}ÙL»ØM”~͈=ŽÛ#+ŸK)t>3åEÖ³’ï)Ûó÷±¢*¶¿ý굪òÞGdPôì[5kzyË#ߊ6ÙßÄÉ£²Žý~ ®Ud¦9ㄬ»ì; ðc„HWÎu´»üøKǽtO‹ó2®£UÌh9Kò º6‰»Œ<–?({×ÒvS9‡|î$Y‹ÃüÁ¡$üLœ•Œ`®S´1?VìÛŸóu¡Ðë£w3ñ?¸¬Ÿ&ìªqsÀQ9ϽRwúCŽ~0‡÷ý†úú”ø.SÖäôçoÉ:[ ”ð?K„^)ížò( ôS né º8v{Š@ÓžZÜ?teâ{רî!jƒñLñܤùæY +dº˜Þ#Òídgp•Srvi³™Oàb¯ù>'Ïmš_«ß¶X§g˜[}×Èîs[0Ì~357;虀¥#©R.Ö¶ §ä4u2Ö ‘óÖ ®¦i4À›<;v=ãNÜßÞä¢C ¤R] ÃÜUíU3È„¯ö­D”²—\H*2Aó…!>yjDÀJÓ´ôˆ–»§©L$wW[9A!9WL½µ6º^FFoEO#õüC¡§Ðt…„ÄþY^#B‚…cñzf/*5¼³ë»@޳åü1s¯ñ¡J¦ë®z§KS,­ˆŒ­± Á§Ž9É ¥¼ ¸*áî•^žZàW$”qߢëùÀ$Äø8yxÒø)Ì«„\VùšDB—}¨¨áÍ8²Ê`KÛ’´D% û, (_;%É‹ëu2ê”÷˜µó6)Ó'hNPÁ˜Ç¨ž¯èw;.%‡;5¾òÎîm]èÌÑX«Õ5ÿO-ºÁÕTõ`ÓÌZð,Í€w3§¶ œÝ.–*‰šo«µ‘#îù[}_†™ù¥¼=ÿ»;é³mËçÚ$jŠ.Ǥê¿w‰ù$Wß–/õ4Ø–q!"ŠF S8§ºþ lòÎ;¼¡Òù , $í´«0¦Ÿ™øw÷k&€OÇ÷­{[yµ£;á7º}éþ2‘H Op ÛÍ6lïR‹?e¨¶yõu¾: Ãd7v­.ùøe©d`h÷%º½Ö¸¢î<4êg¸ï|T$€|áâ[ €â—-“Dêtps¶šcL-ŸØ¢14$!¶ âKo2Åöô2¢áže„öo:kj^¸üJC¢«ÖÂykNñú¸]÷M­-˜ê¡&uà$Hm:~"2{ÂTëz1<Î%••2T†Õ€šo».i}9„ð¡Ž(Bœæ¿´ÚÞZ¿n#=DxIú~¼¿œeÛ­ ȹĉLæÉzJž^géžã'¬ì‡g64'E{÷Ðf èàCÖþùØmÒgwJÏ*Ž<Øò±zMêÜ«Ñ,é` Z¨ÄÈÓ¡.«Ë¹û8¥ž§ „Vl±L Õ¤÷À’&,¤Çy—“ ‚Âôd£Yé}±ÐŸÕ«.çØúúȾ¡Ÿ­"WöbeÆtÁÒ«­Ö«ÈM¤^w•QwG²f,&wr©Üܼ£I?ÍHøpI6¥o¸D¼Jz^³8jʆñ`ǰ­ÑG|j"*…†­¸aà/Üóñ;jKûÙã•å-„§*c2W4Ì^ǧbÅ­ê¶í㈕ß®õhÙ5Þ´b®bÜüü⊓"ÇÏ‹àd’æÐõGÁJXä±ÿr‹+è,°Žƒ;‹â‹vH>,d†±Ïn+øÝëŸGᣳž"ÄÏì<ômzNªº}}]„8æ_Û˜–´HíH3bJ|Æûxº,¡\;ú„õ­Y)Žîý’¡Ãk"ð¸ f§ŠT|š"E­çåñ[ZE9›‹ïÝ‰Ú ,ñÒÞÄ ªp…¿GºêT­•¶ «ã6Xÿ¬]^-(yLGqЛk–`w£IÞ·™SïzÓ9†Ì“@%3ØØr¦œm.š¨È²’·ë1¦í$~0S¤^390ž§¿L+;ä .A‚Ɉ¶¿éd¿`Ù7Qʻɋ0,5+…î4Éÿیͮ_\â÷Ü7÷·±@؞͑­HéªóÛ«‹ìQÏÖ»M•!ç’Æ—ü¬Ï„z›×ŸêIëöÛƒòýÉEV±+ç-QíM¢»f£t;©°±×”Dá0œÖÁ˜õ¹eœIåó Nñv/ e€†¯Œ5¢È^8ª n©ŸÅ†öðÁ J L!ø4¿\4rÏ2ÿûGS<ÞÛÁ3Úo1 ¢]FÙßk¯-ïB&‚Oi göÑ+8¯]Ètg ¥$‡mR¾¼/s¸ž§˜-.sÌá ûÁ®U¶à.¥MJ4˜ç5{ {¿ú ²%¾/‰Dü Üî]‰»qer< ƒ­`N*‘Ú·‡VFÿ½c6¥$dzºê7Ù´ÏB÷êQë²›§G‰N9naKiKùAáûèQÏ9¾ÇVÁ% Të…pþâMϱ#ü¼^Ùd¡u¯¶‘ÏRú±ó5ÌTmm£„t:`fCÂz,v´Ó[ùÎâ‰SiNvQ7$\'†#B¹Möl*NU)©J_ˆóó£ o ¸µ{²q‚È)”íO"»8ÏßQ_–<ÇÇ]šQ¦L·«s©¦ñ”[#‰¢(ãYà*yS€Ø‡GÇ5ÈÂUßÜg'ˆ˜º0’/Õtŧ ¼5#hCgSZæÍ:úñsª‰¤8¸?U4 ø¬sù8æ2©¤„ Ш|’ÿߦž_ü2±«Òx ;-…û%©ØYó™ß Öûû«õ³bÝüì¢/Ü®25 ïÞ?[󻘌k[pº¶ NÞ¸Ý\6‘Ýù%6<¼7'¨×Ç( D6•%Û„œŒ¬„1mOS|E%NeÎÂÊ f¹áf‡+_ݰ~ä+ÑPÇQÄ÷ÊvܾÚ<ÅÄÉ$'‰ê¾Ü–­d^3©^¤žœHqåc§”Y«½ë%~Éæ™‚2xBuª‚(¡«Ä‡9e×W²çºð%ì÷»;銧Ê)«Ð5 F[¾Þ J¶7fl¤Z§÷ÞvòàN"Møì iîʱ4TÒÓ„g67+(®ÉrxaHæÏ¶ºD„*/Dœ}hÔ|ÃÓ²¨°EΣŽPW.îÂâÎ75G“&¶¾5"å9v–bBÒt³^’2¼0øÈÌi´‚.¯ì¦&:)Q5’ Uàú¦>[¶´ö3fü'‹I ø~bÒ?[_ÔÀGɪr¸_XÊ÷`+Pq-]“^}˜¸X|¶¦È“Õôap¯^Ô¥UZ>f-û4÷vާR“ïÙè¬SÛÂý«^wL¨$¤èŒçåˆ?eœSq¯ÏpÍZg<îv=ßc/X¹ÐVÃz¦€ÝÑDvöGc@H¥BoRÈdØÝ´ LŒ³Rz<þ.éóÇÒ9TôÞ¶û†˜~ ™•†šËYk•&_—\¥¬@®PlÈþ }€°…6` úÒý‡À·õtºTÙ('ÛmÁv[9¥Vnzô#(¦e·´½IJ™CÞ¶³`7J›?.ÌiÒ¢¤b·bãho‡Ç½ÄSO¹¢šgá3dzc蕞+˹¹ÃÇó@·»Àç€þÖªâˆA'#÷²v»|N >ã#yEEÇŽñ§í¯Ì˜±YHG‚ôrCÿWµÍCôkpc1ßgM'ÌXá7Øwÿ€Ža3ÔŠè*M¢a@¿ÌüCá*®B³áù“K”=ßèXÂ6Ùþgo^…§YW¾©vç¤O¼éfAZêç›÷²_Õ¨É0Z/±ñÞÁaþÞš²gLÁ•ð]Ñv¡áËçØF©¢³ý.¯™‘ ‘š^ÒªûnÎE‹a¡ ñZ]øÄKõ{•ˆ¾7Ó!%Ú±IàêÓ¯eDg±‰­ä x_TG¼Á<‘Úw°é ‹_ÆÚàr¯Œ$츿é/ê•S± '¬ÕBc,'ÓS¸¢/A­°þûW„ýqpÉïÃÒt1ƵRÑAû¨Œ V`4l…YÒo£‹snIw0.$~H¤”¡ÅyÉÁ殡õWU:d?ÿßê‚ÿî;OÏTáö˜d‘ìF^Ãû$Gxä–ЇÆ^ô8´ñr" ´ÎHªÇ~呿<7oYJˆÑšÿhŽBÃÊßuS­ÔBè¤_Æ| mnjšaHY$ö²:¢7ǰb{øë$Þãf……N—$ïçêë°ßéÞ­%,´‰dsZSAu¿4Žö3ã¤6ýÈĵzæ®›“ft%ß¶ÅÓ0¹y t6Ø×rF‡Ù—jDÓÊÁ6ŠÜX$¯”ZHÃaÄ]Äbk]í-9º·€ŸèB…CKá; Š4Å©ò5{­öHBÌ ~—yûÁQG(ƒ/ï.ÔEX›Ãpö£…*g×P“›«,”¼vƒÅçk‹šâ”Zõ+ÆSÅ ,o2dzZ^q{ÂÊÏŸÏ(ŽÕ~€ö¨£¼ŠóD8Ϋ0lz°Y9uojyÀ'r±âÆõÍ9ŒK«¢~˜Ž)8ú7ˆ!sÜÔïJâÑìÁtKЩœËjÎxr¼LòDKÈÑFc\po‡ÖÐã7ÛFÑšóäÂÂIØ/«ù{÷à°nútä‚ µI¢4§’1YÁA85/‰YE5aÌ3žÛÕLf†díáøŸñ/úÖWyà~…¿j§’ÔGï8,ÇY5× ›ªà'âSìC ؉oB ò6+0gä à1a¤˜”ݤ>._‚*=òWsˆ„ižPÓä$;ìB lhª ÈÕóÝ:»–<Êå aï…Æú~Ó ]M¼Ãq9Ji¡»?ÏË}w7Þ÷³OZIü»¬hNK•óPa?D,ã^H›ê2cfÄ·tª(AŒê»ñ¢{twÞˈþFæ“;÷f®Ë¥ÔÍÜ­ 3ˆy3BõÒ™}´Ë³ãñK|-$ÓÔbû‡ëÖ^¨4÷RA×Ü–½ ~YÚ$)ù8 [mšÙ ˆ` 18ÁÞ¹jðǬÜu=)gŒ˜˜Ð¨ú+Ð:@›ZW€c¢»F r¶>’¯]­K³ÙÈXšzùƒŸ­Ž>ÒÐÅñCWWfD)*6tmˆLÿüúÿÒûs´#_‡ÅØqíp–”ýPÍaVI<á‘ZK´CFV¦£$±ìµeL,ƒê’¢ Aõñ[,YçÓ Ã)ÕÔ¼ßä47nÐ@„ÃËôÜ®ñäçñEñ¬Ó¾µeËX%è%`|³Ë‚Z3$œ§ _ACÄ¡æ¥%°Ÿ± €o<‚¦Øä K„¶ãbÙgYÎ ÌðÎ=Ý¢Tù˜š[?­Á=Yt=çW®DŽšápC&¼Þü¸Jpì›y»P°x+eÅú£›†Iöƃ1ÏtÎ^»ø[‚¶†¦àAÍÏQ'•eURÝ!ûÍVÕN½7ƒR¿ §³ÆÑ¡J’º§ø•3'›Q¯°ô ZÔ¤¯°Z2ªîÓ¤ÏìÈv?–¤C˜$L#—¯œšîý×T!¢¶Vò‡cÎ_3"W@”ãˆUÙÚt¼$¦+3®C{ÌZrC…µ§‚œ¿”0UImš0È%ˆ¤=T*TÆ«rKà5óñAeÐmBêóQ åËL‹jp«uú¬Ÿ‹LáBÈ¿tsmúO_{fð'K›V¦uXØLüܪ¨# k³êx.U1 ÿgUÓ×õ^<ךn1x¦¾ÒØÕý€U(ŸŠÇW‘oÇ Fê^odñ´Û+"ë“p;­Œ,Yy?æˆ=¥•j„$ù‰ GÝ0[ù¯éËuh­â¤Ï¼ÀÇP ºk åXF*N0 ¬á¼ðÄ ¨JÍWÆ'åV'p ^“GžÔÓdv¿Á©&¡kåÇ»ÔNu˜»žçÛñß$L­_¥ÔAø§GÑd§ÃPLv‹wÖpka{ÌÖGÑâlµe~OôÍ{×8ÇœYñw­ ö´`Ë,óm—~Xõ5ûèkˆ(Ûl/qN‚:Œdóhœn&'^?k£þe€Œ¬–s©V–¨qÁ~± mà©5»©[Tiˆ<0y°#lþvŠÍ³Ÿº–E]e»ù~ Öj˜>Dì„X¸LÙ–#·q¡.Ù(ŽM#„F¦™‚m·Z†¦´®‘w­ù‹dµf8é+aD#?çKçOéÙ`öúOßgû–·M‹ÃABÌÃV#¦=}2*ð9drÆEø‹…M§¨ÒO{Ýc´ W@‚ëŒDaŒÉÍ/9æFÜr‘/•öÇââ‰þœÔ$¢]6Kcu«ôIÖ2Áˆîp‘7£ÁðÂÙ­Ìï+œù²œêï ýFÒ=€XWýl.[~ —EJŠ©=1ÕÂIÕ•÷¨w¯VI²hÖ}ƒsÔÞ l@+¼™bˆLøÓ¨£äý©>ûÄ´W îüÝ!òl4>ζÆgCsO¶„)ô[‡('µ5¥Ü¤bsYð•Í⿸‹!ˆ o,m¡.²ž²OQøŒ‹”î”9þ:Æ|^¿Ÿ€ðÔ`aשïÊL †ÝY"™ª*_Fçâ’ —3š¨– : [j+ÇæZ5\šH¬ c8Kïp¨ å[)Çv`ë(g:ŠeŠšV•ÖÙ4À´0P`÷¼ÐQ¥:Ý¢+¢p©R±ßZÿ÷e†ÍÊÏ®F]e³×ã-~BL:Ïä™óFäÊ<šÐ»a„ÙÔ¹y$x#÷!‚p×@\•õ¼–Lk7©æ¯«Q­Ÿ6†]Ò‹fF‚TÆ,k€¾¥zÜùchžMzšªjåÙdŽžNì1RâŽåÔÇy†ÅTµö 7ŠÌ2ôç!× Òηj$¯¶çÚëȽô«wš”5Íáceçô,\>‰FÆm´¶Uì º®›£n_í†ç0aà–Ýhy§@ö V+T…]¥~G#ü—/O_x­1^×êüËÕ ûËÓ5k8ÖÚ óËTÕbŽß•£7&û:O-úîäZY ÂÛ®¯¶e„C³ßVž•Õ³]N‚7(lRT ©Å^“”SæàšÒ™à>ÝJÐX¾_ao¢¯®äñ€d„ÇbA‚¾üϱJ ¿ü§„udŠïÈ6v|ò«®—Óù"U£ûDð?ÛgnWH±Ç ®*AÜ·ÆÒuëo³ÅÝþøYºšÆ×HÚƒkj;­¯/›yÏ–þ!Àw€1à«YE]ÄÓ¶ï¤ø&Ž+ !“ÑvŽjïãUÊ÷ÜEîp²ËhÕC̽Q··MunÐ~^wÑiµ€Ý&J{´¶bŸ™ªV_k›ÞçžÁA{j †Ñkª1Nƒßå €âªÆh‡9¤UM$ÌÓo<…ÖÙÉ•5¦K~.GCî:V Á1âlDl‰—Þ0žM[ɯR:Ù‚vÐMY’·wçc&(›aèÒ ¦óQÒ=ê° %;ü0¥Ã(Jî"·½ôuÚã¶ÄÜò}ßPA($Ók _[¥™k¡/BÕÂ2ê)ÕÄF¨UÆydyÊFßyƒ=ò¼fDÓã©iL2~¡TPœˆrló&²7•þdîõl ŠˆŸ±S¦³ú ¥ªSW™‰7¯Œûi±&Mzã‚î¾Ò!ÄIìöZ>ß;zé‰ìF™Á8§G]×D“¾e-Jy#Û½U»ˆ]Òõâ¶ÖÇrþç"†DÖ ï|Z u³B4áù“r«Ä†çˆPƒ2×Ôë>ê'-%+‚TEˆ¯`Äò3¢C. ¥7¯ ;?úا?¶Ë®_Èc^ëz¹¦0^b*uûJqŠ,Ú›Üܰóññp‹MŒS±)ôÿ€Ù¨`Tž¾ˆu$Ì>øúy eÙs˜°ÆàWà ¶ë¨4еyžÚ‡Å&b¶œJ´¢æk:Àzôžu_ éXœ¼ |­~±g#Óz–æì»Òô1•†U.Úësç‚»üÆ ¢ ºå‰ÖÑ—³ÎÜÄ$w/ÌŸa‘ íó—¡ÈºÏÒ‚r€…ØïÅxÔ{¶ÙwLÀä¬È2»›xî¥{¿~£a‚@kµ0¬J®+P×ÁÅ•®ÛëkßÛ}š3¥d¹Ì0ïÙ®SÆ´rjL¾–Z}r2ü\¶!%-¾­“®OùÂ%Ç2{.EÁ×cÀÇbêêOõ€—³Ëñù@À™”x¼då>?sï:‚ ‰‘¥Ql‡­Þª«eoÞÆVòIqyޘƊ ¡(¹*ä ´ììQäTðbLˆà%¬ö°ªßrfQASóc™Ã÷Oê ÷'¸K¨f‹9ý¸lšQ Ú?À4Ìhƒ\·óÚ¯r)¦Ï"2Gðñ^Bq¨6=NÇN~ʉÞ@ü°ùÇÆV"ákÉAVbÏÊ™§E걩-11qJÀ¤L#èϪjÆ·øÁßO4À—rZõõ…ƒ¿˜¥jI…“&³;C…lcé‚^ÉšÔÓJ·O-ë:ÈžG„hÃý ‘Œ .‹~D°©t¤IÖåíW³ ¤LçÔ@bЦ<À»,E@!³|*]ºÙ%ÿ>˜ ^Ã×  ]_-ǶsÁí¸ôœª5Ì"”ü¦»:Ð8k.ý7]mcÇ|Êm>jÿá1wª@[ŠŸzœñºS%™Q£‹ /^¹ JXù:zTÔøfzxj[^Øt+.öQ@±T™¼½Ez— qÛ  ‘Á¥§Æ·r¦è S˜µ 9½¯¹rèµe9ÌJ ïiBÙ½ˆÊ)¤k/G.=½çrÀzIèŸü(íV›%~ØâÒ b¥S^°²IÌewq¡á¦,+PXôé4×![h¢W…n¿:*8¿Äíu.¶a(ƒë9‡ ÊtÆÿu…À.ŠáZ¼/ìPK’»,úŪԇ ‘^à¯)ïß~’vÊ›24Ii‹Ÿl‚÷£N8&Íc Rmé1ë†ìjŒA\-ò ®c½dΟ‡’V‹ÜòíXÙj 'ßǯõdä2’/Æ–ì³Z|šÑål`ØùÈÔ ÏfqÕv÷ª0:ÑCJ<›:‹Ïüœl.ïk•%[{\Mðaw|rÜŽ¿ãr?ØUymž¿(l5¸R5~Dépk Äp%Œá¡õ÷ˆ—HZ0MþôeDµ&˜•0ÑW}Iž£K€[ªP¶Ús¸ñÛPÈO¬ûÉp ½ /,ó¯U*¶ëïïg¯>¬å¹èõ¹{(^W³ÛÉÓH_—µ{“t[àž9½ÑÉ…,Ρ²àfüã„!ú²ÂfźãÞÛ1˜ÇÐ6̇¦±¥Œp ™…•'³‚»¶çä$YKŒx󿮼—¤ú‚áÏŠS½n“ ¥ì‹¥Ïu›‘±{cV7X“žã`z×™Z§ITäPÒ{_%oªÁ5Arü–GAÁ±ë72ˆÏÈw€ÙçÚØ‡€MÖézG+Á6èîEÊõ^XŠötXñZ(Ñ%*#ÍÚ+ÊL$Õ åLõ­¦Ôº—hiÆj°à#ºe#çûÉgL`¸“ˆÕ°e2Ô*IéXuíáÖNÁÜ"iÃó5õ)G‹ðýŽB°«NÛ†ùÖLº»æÂÈv]/ù}µ%6ïPrççãÏŸ·`{¼î,°#K5ç߉©}wxüÜ_ÈÔ„ænÓÀDãD°›`ïà„ú(³Se¡¶þQf÷ô]gþŒr€ƒþß7š‘ßyœ•_vEÖX´@×öÁ@}}ÍWÚSFþÍ$Dx¹”ÄѸÆT äGcg…ºQ‘Å|#`FQÞ¤N7%{j¬Íb)F¥cRnc}g3å>–ïΓn—ߌ‡´“¿xÑw·4×M¢Fmèp'ÐS«ki~©N¤i}ÞU¢C739™rnÔz퇣¨e¯žù‰M%wÀ¶J7$)juG|pˆ«fÕ’dj4=È G~Í0´š-EWµYtyç"K›< NfßuÔ‹è Þ#JØ1jíX­câ=Í»5Í[·:FààLòfdžÇ'ö$—$šü«Î¾¡qâ3ÜOF@¼zs¾êQwH#QqáÈrtÛä³Ä̯öÙÛ*výIÝ“0:£èNe¢ïŒžþð“¿„ãé„é× "=S$ˆ‚sftoöàÓ›7³tW¡HÇf=¹U³µ†¤Ò˦WHç'j¸Ä‘(ÜùÙÍ.&ñÝBda;59ÃÜꌮBg1s“­È©e%‰–‰Ó~Có¦Ä™Û(v7Áã§ð`ñàÍîKÖ .ݪJÚæã™É%ûç–*³æc¼±DüʃÒe?` D17ªœ©Ó¼±éæ  Š…iK»ž^43øz‰Î(Ÿ” .·ë)òú¯Ì+åOF76{´h,ïñ@†T6'JAìZ^jó 1Ä`q3Ûîâ”H¶é¥Æ8§uc¡"b‹½kÚ2(µrôäeja:k½h‚\Åoç=¢ø@v!}"ôMÃÜ%¥¯sù…}Wå-ˆÄêÎOÃtþaŠ#öðÓaA'Tøê\jzké+^A"Ü—¤ê§Rѧ˜…cb/íI³ÐM”-½s¸·6§nÕìÄCÆ¿I3'1² *ÃSg¨¦¨³XC× [ô©üi¼u]1€sܨÐ4LB—:Ø6˜åZ^·G¾÷’pæÌí¨pF\7oÝ&oðZD²à<*öuAì™ò¡¸s÷ŒRyÐnµ@4Ķ×õ%û˜g$…Ý)D¢g€d0Šô*¹G”X©¯$Êlñ®LGAo«ë“G÷ëP”ØA%~߸œßëzÆËrÆ’µ×b9cí­‡m !ùWI…>‹["™(š<ôëž÷¨˜ÑYº±¼wx×Ñ·šV{‘cDÑ#Äay×¥ö ¤–‚þ‚êìU‘ ̓ÑOm3zÀwŠ;…ØŽž™ .ó5PÛHHÃ4ëW-¢†@õL0"·ý^A!FÿÄÜ–8õ~lX‰Îµ7b›û #©võƒË§—ñýfK4YÈå·â0]j£eÙ<(ẽ96–ë3]»ë{àö¥ùF¶÷ŸçNøN‘_ëÇÉPz£ÙùDX¶ªÞ,v Ö…; X°D^‰×sKo¼ð½‡NÍç[JmÌzŽ ðË„B˜3o7"]wÚ#Ö2ÍóâïZ|#«U«»É‘âL¤un©˜‚ ‰+ðÔ†êÔ„V‘šyFáïÓ õÇ.Œ^ÌÅLË>g?—˜x%Ò5)™ÝmTUSžº4“U_m´oaçin üËÂ/bàèÚ/âdz£ÔÁa$ŠÜMˆcL„ü¶ï‰1x„Žh¦ÓR"—­”ÏU.NCW±óïãÅßÔ$ñÛŒôf_“~Oæúâ¸nþ.úÁÇ?*Nÿ„X÷}‘S€Oÿ¨âŸÂºa…Š£gù-ÂrˆŒ4¨}´ÞHnFñ‰âï²`-¾™úRé7ð ;Å—pÁù/#Û×)Ð0ç'{Ø…Ïi¥³ñ!#â"š#ƒ&32&ŠåbÓ‡ÞC§ (m3ö³P›»ÊŸ-c/GÕÏÔ4uð\y0-u2Éq¦ü^d*úÿT3ÎÕ@s†/¿ Š  ¢[r„]Kp<)õÁÜrdúvOÁÁ­*]gxX”Žgéeܘ-à4˜¡ºØ-2HdYê¢h”£Žé¿R³8ÖÔ?xÞ¥A畇ÐîîYW9´ÉÍ6S˜¨Ë5þÔÕ#+wÖ8†«%1útR÷¹Ý?wˆóÚÕèÎ0…"d¸8ïg&õb6ƒ(Í!r­Šº2e‰$³ 2v®H¿½{D‡÷.2bwßϺv+´-€I.cŸ n·$§ñ¨¯µ®A¿¹"ËŸqÈŸœ¡.²ÓødHf‰°·(ìJ‰\~«]ëQ#*# >ø;Õ­[;I®D!QJãÿL·£uÇ»—:×¥ý{Y¡WÇÑ?fó•«²3Ü-c–k6&ä—b»?³ sT@A–ŒO/ˆ³¶Ýûé–ò×[¼âŠÎÓ@Ÿ˜/¤~ôÑy…^ˆÈ°â, Ÿ*£÷Í( K‰ •ˆÝ‚úÐ3œFÂvÔüGm¬ÃqÄÜÌq·î£…|‚ïJÄE›;GŽÆÁÁߘPül‘ìnt¸&(¿+íßÄrž‚+„“|s÷IŸ+.©½{8ú» ë:uÄñáx¹µ+8×Ó•¯ÇÊWFÄ[Ù¾Ÿ£ëF4V=íc×éăDéEõÙÿ-“…2u$ŸÜ‡¹%†º­h=(gp ùS?-¡£çNÚZð¸qí‚qL=nDãõ^ݸ£aÿÒ· Gç>¾[hß²—ÈÍ×2ÓTœm¯Qâ ª 6Ë“ÙgÑoÛ Ú Šn“«oý1¾ûÜ5˜K1Àè¼Ño4ÓdÌÕð&ÍYóUÇiÂù¤´yCSDtí-OÌâe]jh'ÿ!"Ûþçë'4rÔ—ô¼¡AZ2ž-‘¾üó!ýøVùV;=±GûƒÒ9z}ñw”´ÁËj~¸k_›ße”¾YTê>ô‡ý¾ ÐóÛ­óK®3ë€qvŸz³&õËü|™‰}Xß‚‡0˜þ¸¨”¯lápÏi;‹1ìKÃÍGíÀî'Àk’й›wVÌM‚מ÷¬Ú ê©0sæ ÷kë:*ßîÂ^‡Nâ€%m÷]PéÁœyS“¯XÅ(É $w‚ú »:¥ŒžÊ!ê^ñÔÔ#šž™q§i‹üµÿòZ~†Ÿ¼k¦å?Ö‰D<¸õ)¶]C=rŬxÀß¼«`‚¹x_‰Lžêô[@-§ë‡µ6#‚~"†.*©½šŸµ4É?l²èM0ШÈLºÚL!úwÒä n‘!!‹@øZð˜:´ãÄ`uŠyÂWO2~ø¯Àéõßí˜Xˆ <&Þõ ,icàqöœwÆ5¤¾íÑ«=jÈaDÖ÷Ìö–¬ñ~Å<ŽÞoX°wpÔ£‹YpØC Šô¸‘ž9%$ >c%6~É¡h¼a† ábm]‘ rC’ —&£Q#òÓUÃ7¨jÕ>¯„»ÞÈÎpéʼn«¿$ÜBèíçjuÄi܈v²ÿKõCK% ›˜Q?ß]D!ŠàYÆðÅ{Ò5ÔÏ 4š Þ">¶k’ë!8ü» ç=¼^BðeÐ ë¸sè¦G2æ1 .BúÁSWÃÕeRß?µš‘•÷dêtTùòlMˆ]À+ɆÍ%c⫨"d¯Å:ƒgùï>ÍRÃtc{bÁ Þ–ÑTî ìIjÓ[N-æm:Ç“åúTA¢ˆó8j¬äÔ#2Žñt/]˜ÅaO•t Å½f¦rs«­ P7áM.Õ©]vðZ¬U¹4BáЀ>Á¦BÌ}ȇÿ-°{–åÕéSV­ZÊCPJVèGh`³Ò^T®4­}¾þáþ!?߉?ð«Ñq)VftÁZ5ä¸?¢,Îò¤©›ÞC Ï2Ý-¼6-Æ¢! °ú `6bHã§àpàžçÀMž‰"¾B­­š0„‡4~I¼“Š@Ëæç+6œD!eSÄwKsé×8”lXº¢ð ÇÁáÃç®±+ÚÞ“Š?.$xjæ²!WXÝa[ã²çë<,pÒvYÊÜëVPî |ŠiNlЩiܪ*1ïh'=ü>Í)ìè\‰2î=¡ƒÛòlSÏje¸Š×@k!TÍ\þ[¡»1+¨;g¥Üv•Ù¯ê¥8³)é{òçtšÖãŠRîB¡"vp« @ÔRP0òvy€1ÇB¿™Ð«úíú盂»gb°p˜ÅoŽêô;Óéœë4eÞh•mØ©å\ÿ"ZÅflœ”VöôéaÁâÌïä©ÒgƒÙ[35õºæJ_´ ­[;+>¿g´JsˆõŸTs+Þ§IB½ú.ýxŸÉ[Ï&L Ÿ‰&ùJÇyH˜n×4;¢Qp|˜0ÕËZX#8ïÛ e–=]ZÇ·Yé³Dà8úêaˆ Ø#š/‡ÆPR»¿ÆÊàÿ<æy}–p(È€ªÀÌãJr›LæÍß Hü¶ ³½d¤î¾Þ½w깕׆NŒ u ¯ËݤÑôzJnÚRÙEó¤Ñöd`]sŠK Ly;+N±c“rÙÇ5w`'pý#ôhV ‚? ‡Ž¾VdkOG¯áÈÂ0ïóõïâö‰ÓkÝÿlt–Rë³ ©Q±lPcˆÍý…ü½3™f:ßö팩åwW1(€ô:çÎÓ»ý Îgþ XÈ\ʨ÷ –¡7> *¶ôÓ™¨0n2³]BÅ ¾;î . ´þš ‰ã …ìéËÒª*¾YDå>Mþc8OÆ…åfÙþ\jÜ é5²üVˆÀÙ„Ÿ!oj™´;bªï\ëò›¨ˆ™luìÝM¤¬—Û7ÿcd<ðFŸÄžfe R1@Ëüiwíæ“„oÕ÷êQ€´s‚.¤m¹GjDLƒš”¢$Uö£Ôò=#¼ö•`voµ5æNK¹Ö- ©ðyد7›*ýîÆÕ1ƒëÞIð•¼È¨²Ö §,¾!Z^ÁͶ  «è:4'•NÕëô•™¶WW4|â0ãè³³‚PÚtÐë'µêu]Û4ŒØð?ñ GˆvãÈ+Å]Â>W¥PX1HögÓ5ʦþþBæ/¯l˜íÄÛ¡¶I×Î7J„ ËøDVw‚Û“œµ”®ÎÄâ …;°ÃßÄk¿·+‰Ù^<±ß•5FîÚ²ÄOYY‘ù·iš×KWèvÂÐÊD=›òñõ¹Ã%mJõ¥Å²mtB ð]ã€U¹„xñ|ÌXC \É63óvûC%·†¼øÚhêfâõù61¾NaºÀù®<ÍHI1üP½Æ»KžÅ“@g>šî1ÿ¼'”è`±EÐÝg—öYîÆjŒV‘¥jœU%Þ‰R’[;ÖC+}ÙäáÆdTq…E«atŽò‘Ï{öh´ŒW£t®9bŸ‰ó[$Ì%ׄ™¿â‚¤¯¡ ÷~À³e“e¦ìΚ¶Ìj×¾Íî„ërÑ<÷õ'X䢢öKLæÕux‚¤•‚Þ:›·•€h`´iÊÜóñBØ$g+ŸØ Èà=¼Wx_UöÁù‹)•HŠ(…(h~ѳ1£ú·ì[ô_üœ=P/·ðß¿$dB±‚´\ÖegoÁdýXr™!Vê˜(ÿPÌFöÞc×[6{2ÕB†h¹TLO:Ö/ºˆŽ}NVò]4#ˆ_‰®VEŠiûÁ²Ÿ^+¼lK¾þj^«SY±sRœT¹GÑÂû펛rÈö¦Ô&'À£Ðˆóâï{Wõ½¹Ï!xSõæ®j=!·+Ü÷L¬"M”5ÍÙbìé®ÍÞZÿ%ÉB€ËùçxµfÙ†¤µ¡€Z°(r)'©Z¯®Ô’ŠåuPRä‚)¹A™cØ„zf"—&öœüˆžFÚoV8šëJuÓž{××[üL}ÿïä’B»‚ƒ.ž‡’ƒLÎTø8¯^öÕâ9év'¯¢ê¬qÛr >‡Ì»'}ƒ=V‡× )£¿òUPóö1vÁ×ÈÁË4‚%b9sGýï^cµŠS"RÃ&¡áÍi7ß­75÷ÖŠ"/ª¥xˆ•;CÿTwdÑ:59Ö]¬*ωplŠnÕì\A{ÈÏý¹|“Â8o“Î]~9ÂbÌGk9wT,¹µœOƒá)i >ìLkŒ'„ºïÉó÷Oãü„œM¦PÓZOC±cCŽœ“ UlÄ.Þæ¢HÇlõÊwùÁÌ1H„:›iÜ€€îd2Æ xCÕcv›>¥ Y:ÂïUTäw 8+Zï+ÎâÛtðªZ"gÞ ÛÙ Àáf»ôNaêZ¾ôÞsžCõ™AŠØÒŽ7òÕ˜ÉÅúŸùö«×‰$Žè}0FÏlÓ¤Dà<׋?)0r9†Í} &ª…‘._ò—ÿžLÔÌ NÕ'xÓ­Sê±$½ØM R4\¦(¤1?ò¡ÉUQ´vûhxmH1`ŽýEª|?   ¦C!Ü’‘W©îÀûiÂT)g/À‚™¶:)€#€ªïÞgCq—=OÏQ#ÑüV€ O°ªëÌì²lC7ùöAÌñ"Û0ÍÏ–o«~ÿûRÚ˜W)|n‡»³ ÇcJ¶p°Ž‹F˜xÉýšI 7Kµ «b‘~y5<ç§!ÀïÔ6ŠNéÄ$"ÖÌÑúî^€xŸ»ZNœnSM“ÅO‘ÄÝ óëvM]›1ADRBÈw]ÉÞD$z器¨>êìÏšz}ö¾|vö³¥»‘£þ›óˆyÑŽµ!ð#Pz)•a{ërû÷Å©¤ G˜â¦”zÍÃÐ÷žr_¸ìßCÒ.–0¼þ…X 5V~ÆÒh…uÄz5Óõ“Þ˜Öé3çãë¨d‹{©ûÕ†Ùñ· ¦ \÷Õm®»È4ÈÞKRÿŠ=-»0C<¸™ˆˆ…‹íÏ4È€U\ û²cÂîb¬³þ}6ÕGÖïªá™<ËÛœ¶§h=åLSï3ê°X8MÞÐ; æºÊ×ZØÀ’óüœdËm5= 'K»¤Êà[, Ódc1z[5Ú·ÏÈ•qM†~׎Æyå ‘ôaq™Z0t¸„i¶‡òßï(Tš˜ºlaÄÈÉK´lq>îNù{ƒ†»‹%s` ¥¬½t×’óŠ€-2ñ½²Âbn›Šý9Uš _šDˆy(üµ5H=l/AV Ð²*>F÷ˆNöÙß@Rf>/I•/¦g—‹Ï$¤äσ˜úk´žÍ8ò¼# 8nM[çÉ:ÂÖ^ðH%d§’x#È\C3µÚÁFBøs¡ºÁH‡j»k›ÕþÜ S8)™íp\hÚp D$h7Y°~Ê—ÛkEõMòê¢Q¹ØN Ïj|vø¿¢4!ˆ2"Fî×Îu‰ÿ4”àÐÛ,žÝ®X¢ QÊWÚk~ßœœ§¡ãì*©Ê²Þ 1ÖõQ—Š53ö³µ+¦˜¶Ùi–1òó½ñ¡ˆ0 GÖ1§ÚFo¦ v®kp¬ /\¨KõE´Â’>ÃMÒŒé1…ÝhîkþQ`ŸIîýXÈùû9<ÞúwfŽEÆJ`–òüùBÿ3èëJ¯i´™Þ)×ø7ó099Ž6³„»ÓÅíA.EÒÜk¹øZ㯌BQ9azñß(Þ-mÒvI+Š`ÀùBL³ £9(wcM«ïbêµf±ÕV‚õ_U²€Â™”æJšéS ý¼ÍM sû0°Î@|w.”4ò{àÄ<¢»%¾\ŠçˆüˆÕßà=y–Êš<§ÅŸm”Hv—ºÚ&H¦õä¦ô¾ù2 n_ê'kßþ`¥Ü‘Pñm@ÕÝ(˜âêßþàädÅÏzÆLätòš…¤DMË–U ŠJºåÓÑÆÔÃZv‰j§1íšz°cAè–£€´'X9¼ÖÔJ” ·”‹³oçü{áí²”ºbv( ŒÛ€VδU${¿Š£¯@¾àz9Ƀº9ÍîI$ Cáè× bОßxIîΛ”Úgvr5™²ÆZù”Å1zœS€ÍäÖ¢o¬býý;$$Õ†½›ä Å‘*( O²¹x.B1~½Óúì4|Ê<’ó€Oþ„`„}“Íú˜Ç®'œPÏÚjŒW"zbžÕ÷½AËðÈÿ2€ì¢ìбڿׇ™¹„‚tHÇŠCR3“fþGð?‚®¢ #ˆšIðmЃý(ëÉcé|†Lm×]•0õc:e?ÿ%gLH£ gæZ^üGZ#’ô„e‘vµP$½’5§ÑTïĉýÝÖ„bµ¹¦­¬ÞßüŽ)a]_¥‡D6õ;ùºxlÂys{‡žì@Å " Œk}xN–J…X¦Ž©¯ŠÄÞ›²"Ì‹2‘›9Aïm壯2óa:º_5ÉFÊÖ'°Dß Ì#Ú‘•Tªô''%(„-åï3ÌŽCgÑ•=6ŠÈB‘ï'‹!v¦,~Œ‘þ¶á‰_ºZì'_œ©2­Æâ]&ñú!©À’v+RØòÏ;i½1Í3gnE,)¶l®ô–ΰk"„Ù=ú‰^V¬…Ôԅ¢Õ2FâÞ—éVÅŽ¢'\qPƒ›þûãÄÖ†-ÙÕ‡ b½1}j{UØ›œ¤ ÿM¾cúÇvµrú©×wšY“ ã]úÀ½;n,Äì¯XÐí¢$‚ð?}§KjÙ„¨@!}ìýÅ}Y~›!ì§«bØyI’–ë)”…ð‚Ü:M½±¥VM÷Ÿ²ðKf×z±½P‹%2ü7¯§ÝuÌûä’Udû)tÜl›ð CÌÿ[i=‡[ ¡8n8ÚÌ_ú-#ñ·÷ÏCƒ\I]tž5µdCG–zóYtj‘‹Pݸ,]ñ6«/}áÅ^÷»)Åͺ|í.2$­×sÎ@{ ·™dsà ©iÂv[Ah$ÿeô-ôþìŸÉ(ª SÇCd7x<&q¢_}=Áìý2~7)Úû¶(Ù”áËbpàðL@‰®Ö™Ã§x¥Âj„ÛNìUI|HÒw°Q£+JÜ›MÅ»(¼E;XÞBF×x„$”­'¯ êïy=<õZê·A!p «+ò%Š—»rb·LÑ;l ·–õ·eŸò` Ê$±ß`7ŸÁIWcÅ)2¥Ø¬–Z¹Ã‰›Ó…eÆprvZ¼Rúzó{…ÓÀ´ð÷ƒçtåÓ^V¦ÑïÂØ\i~0wéoÉñÅÈfÍ£\¹ô õÒƒ}º›ôÄvsÌvI­±›át·:¿ö™Õ^ßqæðY>Ù¥;Lxº¥¤Tc»rê\Šö®ÂËbðv“L–û’5)”à—×ßlþ"nŠÉ!à-<ƒÂ®UõË÷Àýhµðo‰ÖÉyÓ_^O´@™Þ@á˜ÈÕü2½8uFÉñ tU @æ4»ø|ø‡µß¿~Å^S]Í©Êûà”m^ $¦Öe§É%½ôßLZ• C£ö7ò âaa–Ú¨Eüšb¶z>©°@î|!Ãt³ð–‚ã©<Ȩ6 4™í Ü{>™ ÷cCŒ…üSG{«Â¸5þsúó{çO·†#;£\ÖWÏ+r)²z&¹õŠéÀãµ³k†@Œõ¦v̲Ï~-^µÆÞmFNÊÅ@¢@­Õ8dÎß#¦Ÿ$Ǫåb‚ê[q£ѤFk¾±—Va(²kõt›ÙõLïrkCÑ.`Òy;Ý„éA´V¦¸”ÈF|uZ 'd»©#!‰Fæ¢tqõ1 Æ$¬QŠ$–-R{ÄVŽ÷g(iÑ:v’ÊQ¿Ffí3û û<ÌkL–Õ€Œô¤³@7Õ ô' ø-Û¨u‡Ûse¿>P .¡wþÕ\⌔cÅT/«æÊqV{VS2|1~ÞF^8¸ì‡ö‡t0êKÄÑ2OÙÖ ,èÔñ#о„èè¸á=6Vâ–A!©ú5në›áœû‹>úzp’Ñ‹¿ˆÓ9ö÷69 ÞSiïjp–‚ÆL>µŠYe›NF3gžvVÞÜJ ½ÿ¡ÏÅ0Jc™.‰z:îî–HfhhYPVSe­² ’|½¦…´Ý)BRo7ŒKŽ3“Àø=RŠøËx>œé«9!뺌&éÊb¼ÜýøcS‡Uwóæ*ÖKS)ŠZ?1@äù@v’e:Sí®ŽpX&ÉOý2[í ÏcFB±~鞪‡ú2Þ¦>P…Ê‘‰ u]\J÷œ]DÙ#§jPàkJUXúD€ª'…ÁNÎVhgac£Çê«^JL^«Ÿß#{„žú6àî´…£øXŽ`»®CÂ}°Çs?w˰]ÞÜ45úä»·ûkÌÿ÷æÏùxĦɿ)‚[ÓÆ<mC¿î¬.ÓV­)ý´Ár(c[#KP¡BgGé/r|Oüž¨>SË*ÀP?qô]F{˜ìâÜÖ_íœwW+¦ $uüSƒ xÌ¥š¡ä±.©àxo©—”VæŒuã]%ªî.ÖØÖ€Ý ì© é•+P»äx›“Ò¸ôÆ0†H²<ˬ@j‘á²2ËÛ<†«Ð<˜¯½Îâní²ÐTÀ2ÛNY¯¢‰ƒ5#N&~ü0 ¹ÃhÐåOê<¢ û6Ï{ÏI‰´·Â»ûv!û¡¡æˆaBµ¯å%ª ƒ$® “0¶ŽÆ R*éÆR]"«¡j–×iC:þµàfLõ-SM]Ú‰jkþËèU…»¨J9¾ Ï\Dµ9V™Ç(æ–ï˜y¤Ž-%ù-ŒR+.Ä|ö+oÕmDÊóû‚Û¹{í©¹¾õ½ç]…³Íû,™ìQ¹|ö!7E»º=?¢Â²TßÀ¯³Õ1Ϋu÷˜g͸ãÝ$´ ±¿ÛÌÍQß‹ŽÔ?)|sJÇÖÓuI5Ú®ˆ Û‘ƒt!_s§‘ãr`E©ôPûþ'“(]ÙŲA¤±°×…Måj×ïä3$U(’eL¬KØ6ò<>ú¸ªÔ<~í+…Åsj=M¢QA›ºbjX–7A0Îj\¥œ½÷¼MÅ“˜ãœGšª{€Xr—dXö6«¾œæA½î§,Eø%S¥8eìlxD‘"<¢{êÉ7BÝî†ð}v-áK<ÍüW=e!Z4I¾*E»Ð´Äû8_fM†„—×ä„7 ø8cô×ü‰Ü^òv€ ˜=sß‹ô׎ÑUÕz¬â-K·ž\DÆD»íûŽÛB(Ì÷ŸºÅBê=®B&* Å[—%oaj’Ì7ÑPǦqjWV\%\'Ž®äÚ^Ë+p£?@þ•|ó) ·Ù¿JÊÈ@wm±cæÙTøÖ&ýpt³Ýıñ{NàWÅ€À~‹Ø&ÎñðÎDlŠ dw¥«É¹"ŸÜ¿ÀÔ÷2ûMXÉÁ²Äªzp)ð‘©<ÆjƒEk1îL¨œ#‹÷S€‚ŒÄŽd§p0ŠÉ]9‡.&Í‚Cvø8Ž½ßŠ85šBã†/—÷Mް%×,;ÅM۸ɘM}™vÇrˆ° h}¡äV.Nì[‘®_ ©£@Ü«oÁ±ãð®1‚Õ-g ÷«¬^)iÀÃEY˜Í&õ,‰T¥. ƒíV–ØÎ³ì ÷Õ¾ÎvN‡uK˜œ¾S _8Ýd‰±ôœùzãlCÁãæœY @5îê§æ4Çí Ûàv?9•†¸˜ËÞä£@›9h”îö$¯Ñ©Š~ÇÊfeUêá9#œ—ó%ëCðX ûÉsÀütŽ7¤T¤ƒÞ‡¢j%qÕ5D—§fD¹G.…«ðLd¹áhD’ñ¡×‚gïm’×í4å¸îPR2†¼ëä®Àà¢Sì©Ô#'Êá€&V^ÍŒ ZîÁmú;Üt6Aó‰ó. *ÌŒùhÉO$bâ))l{¼ß¦<Ä è‹_‘ißMÆ]¹UÄö±ÅúF*=Úª5 €éhŒ%X¶£p¬IÝ>ïÈbo†!Óù! h´ôßcM¸L|6år†÷½‡jiꇷ¹™´jÓej–.›µ“ŠŒ-5fì&r¯t½ºý×n4U~3ÞáÁQò‹“ý™Tù‹­¦ö/¤7a!«ÌYÐûˆ“×Ea ÉýŸÐ¬ÉÍ€Aïñ ±VîK XJTîßLôMx—¬¥Ñí7ÃéмN”–S€6Ô-Œ® [³ îÈáý«y»T¤«#W `Xëü{áX<óߊt›}šuBšuŽI7ŒP¯²RÄr/ïîøž*Q\¤½]ÚÂïNô*| ÍoµMŠŒMÓêZÙ•h’ ³­‚¬‰ì«3í$ªmpΔ“‡)Æq‚kæŸÆ 3WsAλmúç1+ È=<¸±×J‰9a^#k§"Oh+“L’rªw¦v(¿lW·iBb¤¬éæP·»Íá€7î—çêJ¦"íq›¢æ 6Ô<~ +B¶^^1ýšÑ»FxU´Öݯ0kÛ£âþÙùלVþƒa"0¹¿‘½Ê)áŽüñ §±ªxXkã,Ø-DðÓ§-ݶ'QÇmíŽÕÀñôðØ*æCDb‚ Òlu)ÍÆ-¡ÀÇ áÀôòÑ×¥å®ã¸Æ=6•¿U΄ÿù~,07Ÿ÷&dÕ7zÏïB{»ÙϨ´¥wS±¥k%Ë 'ûo9I³!˜Ã¬GõÅ%˜…Úû9ʚǮšaÔhõŽ´X0á,ízF£Ú·ö@W"ŠOF+¡HÀ~%1ŸD·ЛXZØ8–•䉨õjf-…²ùÝ ŽãÉñ‚Íß›»áZ‚Ú~3ªö@EÀ}„ 6B5f¦z%ý0±ûWªàЇ²FöæäVsÍÃ~Ä#_Añ†×j¹!ü^·F“¿Ÿ¸e²ºÏsó2P²µ üm/…ƒÚ׉Lµ·!'½yýqîÞ‘¶l ‰yŸPe­œÇ¥Ÿ_t¹`ûõxZ½v×…6ci §L´Ù ‘äo»C)yUßo¯Š¼=ö‡¢p~¶§¯ªq\0T'87J:¨~Ó^è]\—Š?é5X¸BlŸ˜$Ä ¶6t®ˆ­¼¸.¥³¡ÞŒø"3Dëo¾Uo¿®N …~I•Ð þ¤D ¸cÉÐs¹d©@ÏØësAÕaý¥@b"²ÇªL$8¾-¦ËÒUdø¤È? õM~v\?ù—æ‹ÓSXó,Ò/o6óá½q®þÞ\™ÞÐÅA_ªn«g=[/güãÎ<ΞìW\ÀÊÙbáLùWzÐYÅMÿÝ©YbäÉõUÞ,=ì4€*²ƒ#©],'[Â-Ä=}ÎGiª²·o^ˮ©2×[©ÖCOâ@¹Õ¤B½`µŸÓ¶F¥=±ºËzŽ ‡ØLeßbF,@2÷%ä²o‘=XpÅ2Ë«EªŒ±£Î€ÁÉ©H5³-ó/>vÂùM.è:/\ ³Ìî!é]@S.1¿x+ˆ£WaSÝy5í¼Á`èÖ+…Þm˜‹v:57!½åŒ{ùx[Ð;M÷9 Ÿ!K?#%kEw^’pÝì Ê^è/+Þ¨kU™ù²”sÀ…çjž";e¨ÈŠòhb-ÿÄañWƒ ­î&ÖŸ¿Ÿ8*‹¡É 3› PoÔ÷qÄ9 ãdž¸³Xe—oß!fsÌâÂbø²Šdq2*æ_„-ýcoêJ· Èí(h¢=Vl(lä÷ê8Án/z`ëpé~RVmñbÁ·µÉ|¯ÛÅädÇ ý£P5Ý}‚Á„´=ã £pL¤AÓxYuz¾1™ëU0OFá«Á‚û·KJÃÀÁ²)7ÿªÑd¿t˜~ 2}éC+RžÙà†;;¹«Ð•:”•Ÿ‹`øpY3RøG9°A/iÞfX~¾UK%_Ý<½ÚvÕŒ¯ò•šÊÔ{é$Œ6 gP a¿ Ò—èÞ.xÌe¡ZrDv^äÞ k‰‘tÁªÛ§E' ãå–’qʲ>L¤ßè„"ÊÀ°µöIâá³Õ\ öi’T‹ûΦ¹S÷ ŒœÒÙYq¤—‹á1é;»ÜÀ¬¼cA¯‰ ˆíÅ;›%É÷0ÂìIJ«¤žÿWô2Ëîàð4é³Gïw¶èxíKӬ±t€> œ*Û–ígÖÉðÁ°58(‹†Em]”¶tÝ&g|Ã_ÑüYœR;"F‘´ù¿]¦"ÒþHàÖ¯ à5U k`*¥Š·4OÔOdÓD$×üF‹îñx¿eR– Rl:RüÀ”ŸÚ„½‹'ÀL–rU¬Þãµ¢ÉnÎ;‹í9rÀ™ü‚¶OÕnäqæe=éæp…×ðý`»ÛaY8l¼^ J¼çC=42)ÅŽÊ‘"aâîjót ñ¾p k+›hZ/eÁ+Ç—äP•äÐtA'àYwÄáÄÁÊ™G%²†Ý’´ìE@)3ãúè–8°¦Õ,?!²È<°XîafQK"Þ%w©‘€È§±ïgŒúIJP±¤g‘Œ×z8÷á5|.aPÊcbS/Ížv!¥‡ýýØ;¿©´µ˜k4GŸo¹Ž_æ 6Ó yþ׌U\%šŠ’È4)34wxÒ­A¹j1Ï¿ü?Ñ{†Þ Hb©Ãø„ë±u®F<îÎÒgÓƒz>sY©¤(S?ÉÇÂŽeÕñ{ôkÅP4 àž™[YËDþsËZÑÏÚÈñÞ« ·ä›ØÂZð¶b3yÙ LçPÈ& HLðª§ß· ê­1ÝgggÒåÍ cW½k¼“¸:wcŒ]ß«i’é(Sü¼ÈtŸ¥fhÆÒÁ]úEibÓ~>'˜øõ¼E­ ”5Oh2°üë'G’Õ¼é6‰‚ÜÊZÅ÷êùðƒ‘­–‚újÊLOYÎõ&i|Eà„Ÿìvÿ¢ãÃ$È&ÕÿÛU!AÓ~>+®OTBvãNëÄj6L«ê½Ùôΰ·˜3”°éš¹¾›@_îv`L!µÖœ©|ìhµÒM ­»ì—þ¬$Z Qé%´F5FŽ@Hæ™ã2o OÏ+ÒgŸºž]­ÈöÊöN>yŠc(-=rÞ{OF%× ÆãBÚ/ŽÜÔ¶j×Q̘à®,+ñ[I‹¡£óÑ>ŸÆœÃÅÂÓvg9Þr6jnÙ@’Aé˜*^Dˆ„N'y¡g~')Èa ÷’§ç¤ãΰ«wM«f¿ðo〓OA¢‹žÒ²¦‚ÓL¶‡/l¶.>Çn6Õ&×·ð.ÖÛ•v>6ÈÔ%vذž.áAYr¬ä€Šˆ¬œTÁ”kÀÒT‚[.”›oœ¯Æ÷Kr:Î'Ųî<‚¡ÚÖöœ-dcÃù'A mÀÄÇòô•e§ã$“+¦G%`IKƒÒx¬Ð¯þŠà§?¦º IóaÁÒ)00®#0gè¹e1 ‘WO—3!%cu’KÀÁhв(Ý!êx<¥ƒzT8±Ù´¥¶¤Ð3úõF7QŒbb1;£ó»Ÿ£Oí3ô, „ DþG/—kFf¬«;ó ¼Îò\БŒ¦À¿3d¡O(4¹¯^ Ô‡çpL£\ûm¬é>¹ÍƒÈÍþ§îJ*ÍËÂ>åtZ}iÓ=¡Úçùî{»r±Ÿ¨>‰j’çØÚc!h2"Ç…‹¹ôDK÷Ó¢»àÓOÂÿaó5"G¦¡ ÇÑö<ÿÅ«Å)ô6«ôdÝ~@ËrWù÷­&£?¦nOA¼kÒ½èu‡²Æú  å¸~bDúŸ«ªS¶5óÎe5Ç}ùÕ7¹úIº”gøñ¥ÿºhF±w_—:†BÐ_G%fÉ;”rX¨e÷¼°ÊS ©ô„Úy<œ±þ®S¦ùÀ`%œ«¤=½æ}Ñl?r Må‚Jûü*'ŒÍ~ÍÑÌÕ¬3mEŽŸ¸?.ï¤Hô†FkHFîµÿóîµÍy € @ˆ9u†K˜?ÿ;D°ï`Í᪀Ø2ÿ‹ÚÿÛÍh‚0”ø¾ýmFùxfz›d®¸ºÖoˆ¼Ù¿NŠàXÇdn× ïÎWâ/Êv¬èâDÜ{šMðt7Ì·Š³Ö"þç‡3,8ºMr ›A¾ÜØi7n+{h‚ЇìcÎÖ6# g‰%úËnÓã~ÇvQ\Ûæ=«Q} òIi!.Ç?d{ó]ªÅ¶1ù*s#ËE[ðÇQ]0•c:ÕÚ©àn:,i“#‘’‰ c€iÈ[¨{1ECÆ1ü§oŒ$Þ®¦­u¦ž×€5Ð(7Èr‡ k½ñ¥?@’MÓ‡»BIÁNΛ¯Ø·vH¥v1ǼˆKyö±I¼Ufí¤6ŒÝ£;„À­² ÍUyFr¾t‹§?±wZö¶gjé]Ó2k%Áüµ+iÖ9„ÕŽ%Ù9iÔ½Eßæö,õ Žqõïç{¢«£/U=ÔA 3sÅŸ«Ò;<‡f%iÐ ѲZí`Õ[Zu’Œæ‹&íxš#/;n¸/½ <aÖWÇDPúf,‘¥õÔÿR„›äúæç¸Õ­ãZó·tK@ÐVŠÛÞQ’ù^âà'UžŸ$Ö;°X3›.ÃûÁ¾¥¨éYM{ÇxÙèǰc‹¶3“Ø—š1ÍÑw½¨÷Ÿ‚à]«ý9;åùŽüóù°ÑèžO ÿãµ^þÓ,x’ ÍIÁ`Ó·xFóCl)ëeÒ_H3;`žÎœÌÛBÛ‚ÿõÒv4ž¢Ep hd ·aÿlìbù8ÿYmüQE ËÆ»^óèÌ™‰ pÏoåtöRwiœ1G[¤)º5«ìÚVGò!OØôqßj\¢¨6ùÐ*ãÀUm)ú"b÷/F£°¼ÉÛ¦~Î/ù“«µÞ€dxŸcèdÅzZ({•–‡`qÔúÖ`ך]n+‘üåÂ/· 2ø$“¤¿HåéÄãíê– //Ò°èÐTäÞ@È«V¸!«D)@p k-ŠrÓ{Cf%°bÝêxd)e„f¾àÆýË}S(DÃhi“º:¦ÉdQ&Æ>é‘9ûèDrV“ø§@â¶|êÛà$`pXÓ*U~2ov³›¼Že_NwLèÇ»þw†äRž+t_³î| ô`$‹kÙí“%XÓ€ÊbôÞÏ.¢óчxÚ‡Ú65¿É'Û÷h†#6‚ ØáÿºH“ÓÚML­@Sg¶E›dú9d0¾õCšP Ëš\pÔ¾¼’ÇAT†r,ø•‘»¦NÝ^Šà‚öŽÛŠÑ)ó•£yâÚ5Gs^“ZOÖ§v¬lû"/÷ͯoÃ¨Ç ,þšáª¬  ¼‹ÂÿÕÉãºîjx3S©€ÇšÜçê–¡dfñò–¤@WßÚº:r_ëZª¼ôjÆ—ýÆÍ*>ú“ûüð›xóâ{ $òå"¬ÃP;Ì£¬ÓŒÙI=kòbÆŸnz èØÜõe9Âb†Z›Ö[H\È+¾°ÅcšSÆ‘ïK§Is†mü6tѾÝÝZ5 _!„¾›Ùê‚`׌ˆ7)ý2Ë\Í{´ ØÀœdoÌÑI†TtãJ½¦=#å¢êw­^ˆÛáÂÄÛq»&odR1ySNQ”cÍ$(5Ëòõ—[Ÿ´#*áÛ}îKþ!ÏT€¥Á™HµÐ±Þ\Óám°KR*f¿R!Õ‚NË‹@Ì;k²roп";<6)B4ŸŸrñAèk83ض¶"a÷=Ù–‹%”,ó…o!´eÙY2›N Úb˜ÓR¶Í¢¡êÑŠ²=)3¶;öª‹¥™7UÚÊ0"ãæˆAÊÁ`æ¹[ƒg”¥ðí¹Ç-¬l2æ‘SÑ©ÏÒŒ 8@½ç%Íýþá¶Pµšd^í sÕü(æ lAꌫDnÇPVªhÙ¶2Ÿ€ÀÒóa³BâÈþ~ŸÂaD‚R^kdÔ ûÕ.‡´m\&¥×êêLc\^´Ïj§^L˜YgÑkê0¸Å»°’YqtÀb=|äæ¶÷%Ç¥rõåÞøKðG`‰ýí{¶`{á`Sôuu,ûVƒ¥ 4+ßN˜-Y)³F®s©¡p{ž¯ÅR£À£CEMåØ¿«ÌÉÈAbx—è>þ"¢6‘‰µÁ¸ÑÏMˆ¾ j›¹ü܃1kg~äB \4.ñv‚5‹Ì`¯ÄW,)ŸÛˆ­MóWÞjö^Éú „¡«jLýߥíç÷àØ<)ˆBbú@x‡Š4·ÛAêÛî”f¹—ø@†_Bᇴ…¢V×WŒL.ì|v™Q—iŠ?P|XÊ]¼0ùZøOœ êA¡Ð*&ž>ý\+ßLZZ†wbnR†¹17§³©æµC …Ÿ¿«ž.”:–#pG@È»Š¶²B>ëE"¤Wöuõ0?ii.¢ñg‘ ,©¡v‰®Äjë`B²\ó=6RÝ1ذ*º9™“øø£ygç¤÷‚rëÊÉÔo>RÁ«{™è‚ûä•)BMOÝAã$—XùÍÔ¥LI[Ðr¿wÝY£ ÷HÏûéR¶ ,!E€ Sk£WbêzG°B~0,£6ڑꙨS‹oéé#’b ˆñ2ãX¹ÊXIÌÊÄœ†·\y×ñ³ÐÌ)ÌHÁR@éý¾¸µˆ5þg«oI ÙŽ1sjçü„} SqÄ.kGê”'bã%…®ŠX†ã%Û‰†’î/“dÑîÂkœ|'Aã‡4ä>r~øX@Â1[ã¢MIGñ•?³ ñŒúÈ©Ïøýsû4—EçÏTÇŒé õ¾NSrÿïÆ ^+,Îñ³äPIî_NýËcŠÝá‹_’­ šEc5vOhÃöÛ}'!4pfóObhLl‘&ë½@Kºø'nw¿$£ ’·«“‡`©Áý´¦Ç N ‘‡I=ÂuwÔµŽYB3Ä&caz,û?f‰¥¶nÒòD ¶/Ñ*!3‚ËÈqâa?±„@Xk¥:ùê3ý£†WK·©mË(æ¼ü êÂz“¹3`jäÙ2)ŽR`‘X]`6L,| |¶!ßÇR\ û<ÛKëŽÿ¢aCRDªx@ä”ĺÉ;C}·þGJ4ŠÖÏBÚXÙ¼í1ÂW¯ä¬úO@£äUÌWíþ´!oD!=’@ »ƒ"ßÖY‰,ÜÇø“ b™Áïªðr{;àGͻަ:É/—c®ÕÇÚëÚ•×d61‰ä8åe‡ûb3^,kÒz¾Œ6Ùƒ°f¹œ`ø%vV9k( ¨Ç“Sæ6šÆfªïoW$±†Óz‰µÊ”ë;wJÚ½ô ¨7Ôü5J-ä—4˜ºÄ^ñIãC¿pöÎ’þ¸ÛjäR·ÑŒLAŸûüÏZŠÌÔ½³žbðöŽ"92¤õ´#ÄZµí;DZf‹{Ë–“âÕžzê¿…‡ƒ¯9Î`©7IÉV\w7ÛÄQTBóeæ}ê„•[°±)["tfH.ܰ§É ù«§³a­ëççBÉ¥lÜÌ%òÒŠo o˜téó'ÈÜ¢=ñk¾‡1kÇІ»×Wb│n[<¶Ôì_쳑t0 ˆcÈ”R^ðöNÇèñÛ­í¾ø3Ë¿s8†Јubxû¦)JËùbiT™1}¶±-ÄÖ­Z-L‹ðò{6Z7kç}9³nx€Í§O”Xž¢ÞU{:„—{¨¶á"aM6§òÀ]šºÑ°†ÏM³Z>ªª:AxÒU½Ð-»È0N¸#æóí}½@‘'Ç:ú “ÂKò•¿ð‹ÊÙÖõð¨w ¼ßâ}\Ç[c»B‰qsë×K{ïΕürïâ­ãfáOcÜO½X§ 3Þ2—9½`ÔËÌ,"²÷×[,S´vÛ7}9œÓ%f’Ïá+­ÆØ¦êmÔnÏ«'ÿ: IbækLFm½=â#×R4¸€92ˆœÊ…N÷öއ¿RÞm\?Ã8R"ú4)öxð«@|¶¬¬´êI€ô›±è•ù—BàB€¬% õ½NÞjhˆýãæ-ˆq>puÂ!_ìïò{©mtˆ´YÙ© $É3Åp¼*¿·ÞÐaD¿ãi!^L‚²~1æQ‚s6ó¨Ë’â°w”ÑË®þ¥µõö O“ny˜pŸ`}E¬è„ò0Ÿ %š-¤ÑÕl¾Š™¹_¢ÿ ÐA×[îÇ(ÝmB˜üzJ GºùOx1 mè’ÂUÉÞ¦ÊÉLÌae&¼ Ç¡Cw®áža-DFá·„OðÎQ]„:/À„á"Ži÷“iFjî¢f‰æqÀ$ª¾Æ‚аl­Í8&ÒSÎ< _°ªÉÙA6DŸ…ZXá‘`×H¯ê«Â)ÍmB\ì ¶œ‰õùZæèžXé;ãÐC~›¸½jŒ¬M­-ø6u?ÿ,ÍDWÈ)ªü_)Ä J0Û9úV1$BÁ:\êL‡€F·L‰äÕƒ†ò‚«ò*wòŠÚ"ñW1älŸ¡£Õ2 †±ßprüÓÉ6å»ÇŠ÷¶ Óû1È*‰dG0h&'’¢’ËJ÷t°½–±ê¸×˦Îkþn]цT0žÕžÃ¼ ¶´{2æ¶òÏÄ4EaößéÕ÷ne¶åÚ?è½4¾CmØÎ%B ¥b ÞÜ#«+ÒÚÅôy x‚xŒcøÖïâÕÛ§žú¯WÆjÃŲl3ÜÕÛ@•qŸ+aï?D(ÎéBŠ‘ï’sT%KŸkÄ@Öxr¼ûìô%¥]û "3+ÙáÑõôhU b’Ë÷‡¿]Іfd‰wkRÖô;}hÕæmÛ¼c]w…B×+=Þ¥péÿ|”4 qÚôô‡E2«CCŠÓÞöï r}ät›I2(l¹§ù­È#pãªsoÉž¡àŽæ?ÌEiBÔ‰«C¿NΊ/GVÓAÞ” Jº22ËË·êF•RæB8ÇkôòÇ"ë9,I—néÉ”Y!ÔôÚû%‚š¦5´øÓï ggÎ…%bŒ_SAš~ E<Ç7Š™baüøWÞ-æjÎ˸Ö"2úLÿð‹1{40^Š rJ?ÀÒº"ãíž¡x¹%}µêV(sjñ€˜A„¡ÇçÙÞ93ŸY˜ÈÑøÛ—³‡Û†ç.2ß”×~&¶xŽrEB<0“„RéÏ\šl£×}͆am¥“¾ãuàʺ쵉ù¥gÊ6°h(¼‰ðÊYšŸ.è‰>Ô=­yÞzïÖ¦ÒÕ–5‰Çnå– °¯,¯ þâØ`)Á|܈D&´¬j:ï»V²p\ ‹ ÓçS—¹ÔeÜ,Èߨ…^øæ¿"ü0ìoÏl•ŸîN ]Öå^ÕÿkJեϒßïÇÕ-dß,yó,ö_õÏüì"iAØ{‚…]Ì t7»|TRÍMåxPéð S4²4ÖZ#¿qGÚ¦{nô'þ%žˆõ3: Öø­¶uàfPÌ9ûi@ÃÙ <ƒÞƒÑ¨n©:çñËÛDÌÓUYæ_GvËôHçσ6UÖ÷zÓ꓈ ÆŒÌsÏšZ'Õ^{˜i ô[ÿ®æœ³.î·¢XÕÚ'›þoùYG„cÆYQ„hzPÚxÖ.ÅUMSRF› LYü;[5Ùæ.W·«½ÆŽ=d†EE©L¾4@³€­}Ì© †FÙ…;D|d¼Õ¢@X¨.à©#ZÓß×f+‘ÊözPÄ}Ü|“™ðÕ}«Nƒü¨_ÓÆÔg|¯ÖW3‡»kDĽ’ÑùäÜG¸ sö¿‰‚Õ§Zs¬æ?B0ë\+}-¶g鄯>zãËí;º)ÏmGåÖã®-rØÆ•øË„ÚÐÐ[*Jø*_2SÄëRKž‡°J¬9ò0ª’f°(!É"Ç Ô8½ ‡é £…2_7øg?ˆÒpü1ôpÏÕî=; 7vVí›v¢ë}üúMd®"d¤°XMÁ÷ªÍ"LO7/¾–æêP—Úëí©¥~’ÒSîµbúgºËBVsù¶ICßÞ‚A£ ¦VðöooÀhètã:¯À4Ö¤•щ ˜@èríúεëÉ\–h[‹#ð‰²‡Do˜i8E¼—sæ‰ð î¿ÙÚ›ŸWÂ#`çš[#gÌê̳•™k’ ‡¥©–¢$Ð~ŒŽ®½.Ûƒñ F5ô¸YÙºX.‡þÅX Q*ìN0ßÿZÙ1‚˜(ÞæÏ\¸±•µ¡&†…åaÞóåúXáÅ,¿¡ª?†esá½a¯ê,£\s4àƒ Úè¦ö»Ĭ=í?jBC‘KÈ3I—þc}¾'´ í0öî›ýOs‘•æãîÇÅ›•QM¼øÚkÁºãÔ4 ÂZÿÚ¢ºp<3Շ޾1«@]Ú1³£¼£@ÃgØo3zÄ=lÌNQçG“>–ÂŽxOVŠZS³Ÿwœ¼¤`Ôœ–4é!(@ÈÑrñ÷Uœ0…B„öÁg³L=UÍÛÙïêôÆBЧOM>”ÍÒýÜT«7Ø?–šOú)i–ç)Ö®ö¿KP$‘I9·0èûéåô+¥AݶA'p|’¸Œo‹å a¤L™+%³«äp+EäôIñ ÷EÂ* o.eÈi?i2û9i¶á[L$kÑË‹··}iô¯ Â£ý,MYÇš8uÁ˜Íƒw¸)ò`¯*÷­ƒfîˆ÷­J—Y!æÜ¢qП«y˜‰ (5d%EÚ…n”†Ð(ÚX´xƒ¦ÀY÷ŽŠŽOH‡{¤Æ2á“;:Ÿý 2EV6’³ò±ªÍ#†”öøÌAÄF±N¥Åç`æµIgi¿‘ñ3lÎìt™‹0‹^×þ`V)Uƒ¤ìPãiÒ O_bøô?U´^˜ŸðøS…Űg¢0*¦mŽÉ¸ÍæXCäF÷;%YÃûÿ1á~<éÇFÖ8aÅ_óÙGëLAŸZ§W8‘‰Mbý)ɨ7‰ÍÙd­ñÅhO¾À $RÜ@ùùºÞ[ÃHûgÂ+ A{÷’%ôLÞF +¥á?yfús}³8HªÕW· :ŽxD¿ÔB}ªÕIØw1&mss‹Ë™YÜÕu¦[¢'PßžY)uJ€Ö—ÝEн2)½Õ½ÖA1§DG6+õ 7ákÂó˜ði³{ÇÛÛ|7sKkíùãù‡ R¼sA__ˆñd˜\¾8K~æÜj±*{ÑØ¨1sI¬©4î#5’[¤Ê4Ï‘ Ð µSYRZ¿"E¶)Wo«éÀá¾ÛqwE3é#¿CIða·TÈp[Åç*WX.÷t ñs´=”¿‚u‚Àü0—ï3`kô#öEöÜ8à¼]~~ Ùöì÷-­;(xoe}!LÁQuvØN‘Q¯r˜Ù‹Q«ĩXV…º˜Ã´~£ª¹ú¶U{ðƒ1ê\Ô난”óºq5”„A=ÂÌãôÅQYmÀëyŽ˜PlºCÂPÈÅ%ÔÎ.‰é ²6Øn%¨±R¬“ßB#†1J„°TžƒÞZ1stI&:G‹??`k*½¼Ï‡PácãXw‘êOðš áå¶—:xê(»…G ­ˆŰ­²•ö%©ßóßµ+ÓÊ$ÅxíÎ3]—8L4ƾ8õ ÝWJ‡W„nŽ«—° Òkóû}ÛÚpÿÄ»t·ÊkRÉvÊÓõôgˆM”…é#NŒî3û„¶¦Ü…‡ä¬FüÉ; §wÅ™/*/lF`uiO»”¯Sg¤T ¥—{Oäp$-Ä ®^·!èÈÓ¯<Üos,ÂbCÉ-"o)»·_°’s[›?½ìÊÖþh¸lwÝÇ`ÇjØÆ'¶¼Ž7¾'0X¶´«äy]#(hqQ(;øŽAÎë€Ð*c@]—Üåp*3în`Nº[†\¼A 9óg Ö>b ,ç~"AÛ×åÜ)©šŸ©B¼è0ßqøÌBUAÀÆ=Å+íÕÌïê§l‚qþÕÝÈ`è«SÚfh‡e¤ ¡á›`º÷îR±Gµ;NþQ$¬Þ¬ú'×ßj£mW*,Û—ysëC;½aRó÷¼J%Ræ+$ØÞ ?H8YIT›qÑ’[pƒš2CC˜ÖX€&…yä÷¯ÊHwÓZýæÝ!d…‘™qùÆR44Ḛ́<0Ø>¢_(áüÐpÇ5 Ù¯N6s4t¿ŽúÈÔGT Füºz"ñN0N xh ¾nÞ.cÓlI Dã g-Xè6öRPòmfRv®yCîƒk$‚Eû`µ<ýõ©lÕÙ~íQ› SøÈ“Åø ke‰ƒLƒœ¨çh£²­þSs‰ü¹íŒo®Ê–)e{õ|¶IPýäKçÁÑ{÷VYÊ©¢ ¿ŠeP5…ù·ÛfDD¸=”`¹óØNžh 'ïÐã:GIå&ª¤õ¥eÚÔÞž­&‹¬¢oºÃ=Š~ Ï=`ñ{¼K €§˜_Õ3öô6Ìaž¹8ÏžEº6èºé&­^|¨÷fâËlÌ Ì$yU-GsÈû.æúµ H¦úô¶NYwë/Ic‘þÕÓ¤ŸxK«Yˆ¾;ÂÍI‹ˆèÏ¢bƒ”˜7e«Ïè0%øóOCûØ´ ¬fÐÇWª·z.”r,nð7XDW`«÷çÇ))N6$¶þr=¤@ëíJªÊgWn ™‰Ëãë‘fqÅu›‘ï%Z×íW:.^çŒ3µÒe\¸?®gÆKÝ¡t‡bZŸ/[€örþÜnÙÃÐŒhôgy>ÏQv4@|YÁ´ü{éÈh× WÆ©×^ íljFº X¡þé §«rÏ¥»2€÷w’ºÇ“Ïc°ú¦ó]+3Œ~kÏxiÕy•_f ï½xE/{V1†˜†‚ø¬9£½V[L óÉ$¯MÉÏ«m"W¢"hZ=Z5ÄB’óŒÆkì1öqà­}¾ñÛë®@6KÏd†à¢Öƒ)ý0=|ñrÍ¡FÇtÏjÑöYl®ž ±#÷*%,Dâ8ƒ]ÈixT;‘&zWC£`1à /ØG.…|v ÚCÍ2ú.–àë¶y*èî˜Ùç“_^Ú«$šN˜>ƒÐ1âg›- 4L·êYß|>êQT«I‘”±Ÿyxˆ¼­ß­Ô nºå½Ô6qpzà%$Ὲm ’‹ã\qíI‡y(à[dOõ sè$çÂ9õ’4ì?9úÙ)‘¦}µªó¦'ÛNMÈžxÏ%>M«H)ÂÁzdX{íme Dá<óñ E7L¬ú¥{"Ð$*h ‘Þ¦‡HÇúíg9|ꦵ\$×@äªiÇWtp„â—.šÍ+\wãÞƒz}µó²5Bg'nˆÒl‚ )Eóª6Ѿø]ºJ @ê¿&HBŒU¤€æuROØöŸT@¡¾/c(” †6C %žXa¹§4ä9±~“w³€Ð{Y’KúÕ©.öJ¢¥¯(u[8õ %£qh Rà^§ì1°/ ¨†€ºá<¶îÌ÷!Ý]Mè¿Ç‚&~EtOµõS9?ÌÒ˜«[D‡ìÒçúÌïw=º˜Ë©ÀuÕVÝç¼4QÜÛ˜œˆ1Oçõ$÷Gý»ÃwÄ;„(§š=‚#¶áçV?ÛIþQmHpJÞüÆÒàþ964” x—‹îä±û¦2±ᣫ}—·O(Ži>à©Ü•òpoRq‹-ò¦áúªdIøšuzþ–æÕ¸k¬ˆ^ˆû9 œoðÞ³ Á;;‹!Óï¥Ãîâ{‹ô,Í#ò¶uöj› Abù¹Å¸>ßѸŸÓqÉI”‡(ÆÎûkêðÒDëýW‘˜…Qqt GèÙýìýyKBí…³\Ä"Å“ûXúUFƵ¦Éú Ð4ÕìÍçDü¦’̄Ѐì$@jqÚ":5Ъ?0 òØûd«ªÄy¢<Œ!¹7ä[Jª!_4O—7] Ë/ÚÕµ+‘‘©µ¦×ÁÊ­mVÒ Ã;²måª|[›ï» × Ï6;c8Ÿ$†bœ¼~ZHd¸:¬ï)Ý0; F£õù:]ÿËäý912×?É`4vžê·aACg°|ÑW›­ñùnû ¨ë€MÛËuçè—4K‘Ñtu¬ëÃæþ,ĤÛþj¤ý­FkâVRžùÂÎåî³’ÈmðFŠ0Ò/Ò Peþ/+{’+ì$ åÉÇþÏlF¥®ú - @và 鋋uêçDÖØ­´$C2á:C³gQ.ìx«÷CÞ¯6ß[}')¶h8ÙRï[kÿ ˆoŠgnÝQÔ"çB-ÈNð ÍG6^  |\)Ø}-xÍ&PrÛçò׭6F`”ö¶ÿ7°Çµ­åŠ.Â)~ùÊ â‹•Lp˜S5ú#zÊša¿<ïˇ0įYZÔ²=¥yx ʸ#§*'¥æ‚qaЍ÷㊇záà&†Ðo+$´«:YÕüä26Z\kUt>Tñ-¿gŽ„È„bØ6¿±¨Â8byß~!¨a«9m)#ÜúXϧÖþ£ô Jîù&xŸIǸüâ hÑ ûtßtKÈ;O{Qä­óŸTÊ¿ÿS»wsžM© $—sÒÊ– >ú!*Ê d[ÇÝ­‘¹ÇÙ¤TŸålz!} `~Îa1ñ·Œ`omÐ4…t¼MA«×Öh½~­~Íû6ìá5Ñ\ŒÂþ¼{v#MÀød}“…NgŒÿû¨ED¥3Ç˲ùå&xìGÚúñMö :ÓÌAÞðZqÄ …áoNÜ5Ó‚L#.d±¨¦‘f€Œoša“Lhp}&ˆÄßëëY*˜8LãИ?_«–ä`—r‚P°·P…¶?øžõNE™<´öµÖ©pi)×L¤A¤¨=6oÂy3=Œ-4£®ØL0ñÓ‚:WeïĉÓP U'ÇMåÏmÎûçÕüTw7ð?í¦:).’ µYòhòüi50§¡†êÏn¥ÁB¼®óy¢€83ŒžÿߊLeËÔaExÁ=±¬ ,Wûø›û¼šàqË}žñ›²P"öül¥  y¦jÖÎô Õ-\™óŠ ì…åðs'º?$)ÆGÏ0ÃÐ'±×øøaÊ÷’a™s•¢xábýn~&;ɰ{nÈgýÏ=sÀø·ãê=£ ´çãm|ŽÊÙ~‹}_¢Nóï~Kq&­/…†'.˜¿$*Ž]ã³Ä§+ê ø”Ö¯÷™ÏÙ0b!á™!DÛÞÌ NóªÁž½V…7£ff?¦ ž&Vû}8ÚE½èÓÇÕ6Ì…æTÞ v±;ìSà±®©ï+Hxõ< ©‹aFyNJ0½ã;B›w§{À8i„á¡»kË-ŽëÆIA«‹"®2ž@½¼˜KCt‚þM¤Õ{dš›£rýXûA•bâI¢Ãg¶€ 1þ[B¯wGâé0å¯0 ­k¹ÎÁ“]yÚ…HÃw©_@ö¨Vë¸(ÌÛHé¬1Ü ¬5£F?¶^Ò'N¢_2të8»Ýçêž0¡š;åŒ&¤;ßh\B꥔¬ÇÌ y‘ö8…©òM0lMìäýRûˆ¡NÃW/ñ6çècüÆgíÝvþrþ ‰-¥ªl“öxŒežÂÖI޹^'î/Ÿzn• {3~½ù*CŒ›ßÜ¢B‘>ëŸ¥ä¦Æ¡Hb:k0˜7™Ö‘˸oÄ…@þŸ1κH/ëТò1–²~‡aÛ€ŒÖÇjÎK ¿dÆ-¯-$’%8ÙŠ‡¡¦[#ºç<Òït_ÒË£rjjüHâ9®Ï>Á—£íf¹}º›iC¦±L¥”z‰"bp­W™IAñ䔀Ñ2šŒùÓ.q7žê°nQô³•M´ŸÏÏðÑU¨Ò†JÏxX #Ùƒ2ÏUµHì)žº£Ð“µªdîñÐ áExéû<ø>Œ±õž ´dƒø4dêISùæñøC—sØLíǹçÄ‹”`B˜/ §ŸÁgèN ÓôæAG*ë‡k跱ᕇ¶°jÐ^Çè=†z#–{ìά¸Fr^ɧR”–ˆ_[°ºÞE©wìD&¹qæý{èâœ-ø"Å2m1h…“óºÄèPaÛs'Z›3[{ ¼°ÃÛPòzœ<5@›îŽþܛƿA³n/^[]ɲ¼‹ k?ÕÂay¥Ýä<&?0ÒízÛ‘ŸâÞÏ­Cs«f Ý‘Q-Þ uOÖÅ—áð4Uÿnh¼0º¡¡9ß:G’GÞÔkͽÙïöáõÙdB‹åî4Ý%‰‘ÔwkQ¿–Ätüª¬OïDÅMj—ÏnÉvɧ-]Œj# á7–’ÅxÂ?Ê F>öО˜GN’|’;¶)áÞ]vqC™yÁ»´sSLr¬ ‹HÛÿ±hhq@2¥¿Ó¢·¿ìGà½çyߨaGZC{ëĉB¤Ã$5Ÿ6"UB‚·è”ÿîqfTà8i=SP/áü;-dhç'(ØÐòá&óŠEA&ˆ4–nš¿£’ttÒ5“9¢Ý7;| ÛB "(ŸPÜýîû– 1ÿ²ÍÈzýÉÞQ7¹½K÷Æ-@¦déú¤A9ˆ|Rß.9„ðbàƒ©M’5á:éD‘CútÁ†0 EAïÓ™É]Ò¡]@vÞ3AλRµÁYñ f?+"nòЧåOç²ÉçÊÀÀë6Ë–CÌU·€¤eígE¥¯æŒœ³wiÌ\0ÊF¥Á¯FÔ"µQÿyn\Û»‚Ö;‡?™;¶:TÊ †À:Ðä.„M:¦w ÐW” WMð¼7Шûª°é±ëö“W ŒT¾K‚°xÔk¥Â-[˜1Wçšb.´‘sˆÓ@hff–_*÷…™´ÄëH.{‚é§œ!{ÌÓGy‰ÓËh0±0Û ¹Øè•Yt:ô`:hæ_Ïã@ó›¿ÑaB¿h{÷³•–‚Üy67]Ã’…õ‚í)¡äS`(§€)‡ÖdM÷G‰©ð_öë2œ4| Úã¬NиZýEYxt” ¸:á2ffb°—°é%ìR¨ƒšàX`^”’L;ÝgÛcªîÕÔŠ?aãix#ŸÊÛîìûfHúv˜jVoµù¨Pšî‘¤l¨'¡§û@4’ ‡‚…yç<‘•ñbàé6σkThŸË˜I%å_Ò‹ì5˜¾¢ÏQàm âøWê꽋< ±VÎ÷þøoÌB~}µØGê,Æ»³%J*¾íÈÿâ”qò%Èäf­t`Ãk  ÊÃéœu,@÷ » áÀU^X]\Y‹6S£æ˜@ÜœH¥êE»„îql"Á TúQZ²š4ažWÇ«Êlø¨Í î"6iR™wŒvÐeÀX‹`± kÓkÂ&_N0JÉn9ÄÌ4 ìÅÀMëw–!á*"rLBíZÁ{Å#<<*b]Ô.Ehrë^l#óP@'l–2ôEǰõã P÷^;cš¸påGàJ3Ÿ™Zä¡‘…4{Ð5‰&7L¦Å¬b˜§‡TGi!@¯!?œ/Ÿ9 ͰAø–up[î¦ËK›h9ŒƒOÊꊂ}ðaª`õ úm öÇ–½N¼Î²f»jGTÅl~¦©ûƒ­J4@s„Ùã™­1jl!7e2«»¾›ë‰N±q`þ{5œÞ#õtÅ3û Vmt³A–¥ê¹­k:‚¸¡Ækð—‡íôB|›Âc²!à™©ûÃ,ŸPЍ¤‹¿!j7scîû~]q0hÂø¥E½‰3»Ã.ìDR7¤ëµï¨<3­nåK[©϶¥Kþ; DveA`"y ¿òaœ!Ÿ<•¾Êü.À»­±Åþ°¡ñißTOh¬Þ00PWïÔ"íHÚóT›š[s)Ô>ݻӺ×ÒÖq—®ª) NQÂäÇ÷y8ËÁåg.R˜àS©Ž„Cªýâ$G-þPUƒ÷TiÀ/+V Êj\íÓ‚­.ÙàeÃ/sº;cF!ŽwÑ´ž‘Ø)XáAÜîŒ*Ê¿¥"ýqE¥Éþ!Óÿ•гçòT‚Ô{Û:ó·*v…ˆ%”\5$ÏsXž/Á:ƒÒ®šéFýçˆÚbÌm¦Rä&Ùåî×ÑqO¿ ¸adIzHAƒaÇDËÏ»çsIjS€âŠë¶¡€¯Ãb~ˆD¯&FÑ=:ü„•78ƒVYw Ì1z#RÍÔhÛc;H ¿¿ÉŠã1ÚðL¹Š •€uihý ²k,œ]=JðvÈØlWd”'=ë—¶z,Ö#SLqf¢ÇœB‰K±Â¢øî@”ø?q¦Âs•»àÖ?*¸™÷. 5­ðšO;ñ3¥<Æ\e…s­N ªNò¢Jì¯×©CNœFÞm "—P`.ÍLÃÁÎÎ"wçŽðvM”îü.ÎMXDʬ-‘ä´zC±¸É)ØeÀ?u nB,‘z–çŒÄ¼á ß<ñõýj*|;w”>_o?h³¢|QÈjç°-•wÊHr³;ÌÍšsêí§ezS üÐGÍð1'zQž#ÞŸ¬Ÿ8NÜyÀÓÐkï.MÅÝ,ªH×&®J¬žNà–%ï,ä.õ5‰®Ýr~A² OEOC{õ-,Še*&ˆ2è æ¦Óܨ½/H _übÉæf–Ø!Ïý¤4mÚÑØVàÊq¦6k$7>½-܉œ! 1Ú×ïÓyå7«ßÖBÉ1MïE¾ÔÓ‘Ô¹ÝEZM¢/«ƒü/ö\­tu3fÎ;лvÝÖæ~Úø(KŸ¾|ez²ŒLóõT ’üG¡«‡ÓréóõNˆ*ø;#AK—ˆ[;w}º7‚£GÐ~…Áp@³l¤¶6uëJt£ãpÙ£* ½\p Û Ú`—.SÐH¬¶~{ }Õà|ÂhèÞ¤•„í•OxjÉðç@bR0€µfÛn”¶Ðµ'ÎîMIÔÕ ï’n ”þ|ùë o,â¿%žl'¬]=a·+öôÒ¦à'm!ªBÚI€¬`ûížàçô¤)½T̺½‰™ËY5 •_àu—²¹íÿ31´ýZ™ÜG öÁ†³…;#a<>†f’ro[½|εmùê*ÜÝx”÷t‡™4Z ‚«áB¥àäµ>B¼÷T+D‚M˜âKyº×Vå™ÐËE ñÊù㮺Vñ‘ÛÙ¨ ßÒKí‹Òg!™%m ½¦ºæs×)e‹g±ìûNeØ&&ZÜxaL.µØ²ØjT¹QGFÝÜ]œß—îzÓ×fÖ-[±ÓHF"¶Ò~¯ûÀsëù*˜%O!bWáXÃÅè츨Ñ0v±GÑF¿k»àðÆYZ,ƒù5á6î¦+ŸÊ_Þ¤=ðë2*“ZlHi3oÖù\ s”“üá=ðl¾B„ªÿm<°Ë±â޾‘ =­@¯5ìá´ªz糆,ôe¯—ü-°u(xebr,CŒÀõ|zV‡²V2õwx*æ’ÖñøÄø4–¼÷ËÆ —Ù$«½´{ŽœVV¾ #ÿ\>£:ö“ƽÓ7ë#‹ÐÌ™HJksPAò8D˜hÉžýçûI¬e‘GOšvÕ«â¡ ‘Ü Õq‘øÑD]õÔs”±Éþ:¹(Öå‡5m|Þí.A`i~Àßû~H¦¾«¦ü³‚Ž9Ó‡á7¼XS;}’¤ë±iÂ’r€Ëh4É<… eðs»“§ÉÓq®šs“wÐzd¤BO¸‘>ÿX->Ý…ôyI…§ÂŽ*ù •‰9nå¹’"ÿõ<øù_É»¹GÄÄÃÒ,ò!púÑoþ’cÈÐ2qäcÁ Fø’ê|ÊOT>R>ÏÏ9LjÈ_1>ýí`gÞ>½ÿú¼È€2’(~ô2óðº0"A#ý6{9²”<~5ófn@€LX_ÖЂæ8ïó^ÿ†‰‚}ˆüõP}[Ï©ü‚fYêRŸ3d¨—›\Z\Ê蜬iRO×zL²ëÛÖ:eF&Á…“q}þ¹5>­pr™Ã°<,«Ó­Z_©ŽƒDÇ,9åüªR×`Z£ãVGßGSÛò£ •Ÿ-=Þ:‡6n*eŠÅUNTZÚ{~&ÊÄ ÀNA“à¦/>„jÑÒNhɹ·äüU½û5F3YÜ‹úrw÷qèÁ RÌœäpË‘èìq@+GîPQú°ûM)žËÈf> ràôi³üR_¾«¯ÐS#ÊÉi}¢4?] ê7^œ‡Ëäý‚nEÝôöâºÿ’ÉÝÐ竸«Œ W¨{obñ%¼"Û-k‰å‡[ñ·[UöNÌRÈR¶7Qi±ù6=¡ ÑiÛÅuªâ0i’æ9Ñ¿%hñ-?(Gj×7òô_#CÑÞæ•(ƒp•oôÊV…ÓôÝ7©­âMá÷?èžW¸#*¿”ÞY+÷—NiƒBòˆ9-m›jÚ1œô)p±K/tC3t³Öÿ{ÃÄ„ò˜c¬U7ñO.WMz£Z™q‹u¯¥_«(øÌå~bÓj¶ß±Ê"¨ìO±¿}dc°=sæóM†îzp(ßtN|‘´9NⲈz˜)€ð`ÈÕÕÀ–!žÿr&Æ—Ê뵟P…¸CÊul'¢öä=ôøé¡ñ_4;ƒK¥nY7îûZjå(¨‹'»Þt Ïï^õZ³xñ…ÛS½ 6KT]ss×!Ô·œ«;¤ÿÅsW6fÄå÷¯5–Úˆ:G­ µÛe+²ªˆš †ÕÓ5GóîÝ öÌEÈe¢…0µÄ·m^ ¸>óŒS.E¿ˆK<œôãƒÁ‡ð²Ní0[èptÊ#¶=l5¤(¦,&ű‡tÝ¢8D°ñ£º4öÂÔG1¹qµ0¸n…µj…ƒˆú;TÈJ¤¼Œaåz)¸”`^?”R¢êw4‹éC=÷ˆ‚æìV^¸ø„¾îÝð…Þ¥|£ŽpäI{et Xv(Ht¨W¶Äƒ…IúDä?£æºDÛí„ïëZß)ÔqÜC½ÉÚ>¿ü$|s²|ÅÄ ®™4ýØlx…×ôïæ =øÞ†ÓP‡´ÿõbJÌNlðJê×MÛsŠ»' …(ÿÍ\|U™L:U#ÏþpŠßZYu{|]Ub JCÑ™ç^yZK’-‰ìc¿Qº8“÷¬' íÜ/AÕÀ¨0³Ö-‹„º½5™ýÆB¸FÊ!«^}¤ÎŠ VCNÈüþ;R7bj ô_&cg³Ü„ú¯Y‰–{õ“õe¬¡)˜Ó‹âÄÁÑJK ¸ÝÅ­Üœc‘Þ¡\ ðA¨%g(ŽAÝ™™8'c<„ÕðBPýb2ÔÆØ7RµÃÐlBÒøoëQ0p„NÎèrQÖLÒÖ°U|Þôñx)𘔎§Å¦#Iä :uÚ¶’¹¡õ¤™³/XC#öq¹‘¥ËH>Ó.éú°:ËFHp0«þ4¤”"J70”"Èîu5Ù?Îâ º2rJÁh¤è៿Þ(1`¡BšK_¼C>x$[Hg'u'ÿN¥$6ˆ—œ¾ùaCýHqÌ‚ÉqÄ ®ûgU)€4Ó©ô$®Pëf_ [åFYrWë»f‡lyêßq'n©L~$I$¡¢îÃÃLpî4Ød¾#-¹ñÓd¼K´5,¥÷½¹»ïÊHjAÞ ØÑè-»sÇ(ZñŸ³{ÇT]·î¬Ý=¶g‚Z€w>E%Û™|T¬”åDö|I?Æí~r5Ø|MG ðÑ´==âðNŸËü›»oÿý Ú.Ðhb:› m6&ûkñ¬t¬»·úGg.eCYb‚Í& ?1^lI¥wC8æ Çz\?Þ/£˜LÀʸ¯©qXŽâù½\!ÑþWºà,Ì,¤0̺œöÐ.>JšgÀºéèÛÍfÃH­IëŠ{…Úå;—eµÄÿïײqb³© ’ŒU„*Þ-ª§4SVR)y>e–YˆèD@œ } ЀÁ™Ed®4È‘åN¶ßNÇìÈçç 9x 4ÂFŒOMÑɪ´vH"??`‚‚JüR­™[Ú«®k¡Ÿ%<_nÙ„ÿ†/ª¾ AH—_’*n|ÔÙX¨†KC[K(ò6­Áo) ©[ˆ1¼½»XŽ40.°¤$µˆŠpÊ1EkÈDô‹€xVí/ç ¦ø¼Hz”Ð,íø¤ `&‰úxÿ¢û–¾üC4Ó„Œ™3é%­ ü·óAç8Qßw&g„U¡2Ù¼;$ƒ¡Âqßš0U¿’à@x»ôúX¶ÎlηœòýÀ³fDÊoÃ0¿sü»žìÅÈë#Û¤Våò2¡¿w¿ ^6d©Cˆ`¤¢´Þ¾Löo<éL08žôò²-rª‹ã¼@ÛÔy¾gœ Î=9ñíÝàÏøõ(xØŠ#|LdØYô—¸ð•ÙY¾]Äj_+úM¸F¶Ÿóp£|²½¨^ècGU'ah…`m+ Ò ¢›Ëkfl½"ùª×j l£”À¢~€‹ê‡t8Ö[x ß[É¥‘´-$AnmÓ®5³/Ê$€;øe5Aó©lMmÞU´°¿9,ÏmŒ×Ü|‰"W')‘c~p›wÈŽH{?ÍâöBX³ÈèÔ 5€„¹qäfàŠ&{×]¸ZÄëõ怖ԟq ²¯/€¹ù,è¨6]3Ì̱dD'’BßÉÃS9åGûz|l±ŽÒñ²KIPTHûøŸà=N>Ä£ñ£:?ùB b¢ï¶êðN–Œ'å#œ›“ÅVé3ZĉÕ¦'MI =•èæš»Úå_«Õ6×|é»ÛgêžL5ÓŽOWUf•¾âz¹$°X ¶ª@Š«{´¶œÓÅDò*\?äJâÅÁl ï'Ôí‹UËD!þu‰Tbâtß!ÔˆX Ñ'ÃDujÎ×üÆ*L]©A‚YV³®ê7#ù–«¾ó[ÿ/cƒÐ_ûo’¨KIU‰ÊÌ>5‚#ë3Ó-Dv¿ä›ÈùSsïK(]…‰“ð~V$å†ÛØ€CF½Å²ù,Gê^,^KWÙÂÿh¯QcɘãZã娋À÷ß[UJ™Ä*S¯IÈèÍ, ¼7½´ªÛËRÍŽâ°ÓWZpR1’OäÓ×±"ƾ4oÍQþT[›‡=c'oÊÜ´2ê,Ͼx·Ulw³"*ºAÅ;CìÕ7Û·ëT>åÑ}½âÃ'Ñ‹N³DåQ–9†Ø2SBZû‘ù†¬àeÇLLíÞ§á¯N˜­A@àÛ3õeû<±¨‚UÄçB;V$.ÓÛ³wí0ïRŠ jYð?[b ”xhMÙëz6˜ã¼-SÅn©o*[°±¹¨GöO©ëÕ²Yá<×罯ÞC÷èÃ_ÿÙëÍôÑc;e—F¯Òª‚ónÉOSe2ƒÕgÍý„J¢Íšx²ô?6œÌŸ·ÿl"¼2N`d²6µ2Š;ôMUÛXc †c*¾¹ô§½YŠ” „‘°®A‘~~çëüö¹Õ[Z]À´J°SCXSCê`t:†5ùî±Lj!~oSƒQ`Д‡ü]Ñ‚PŠúG‚Y.Öh~ÓW%GnÑŸ ¤B{é¸üI¢Z®ÊL´¼Æ`8€cè¨=ÏáGðÈ™‚ÿ«kÔÅ Ž˜e+jÌq "˜7­JÕÁØBTH)E|ÆD*a›&ÇkÔSÎ2ÿÝ—ôï¤2eRj«NÈ/òÚ‚1”†‘üÐÇÇÙx“Grhµœ•v±G¿p l*¨ÄqˆïŒ”Àß·F•1CL_¥WwÅΕ›2³IP­æÏpñɼ¡‡SŠ §Ï˜Á7_Bî :¢—UÏ9#MASÔ=ÝÒâKkŒ´f†Ö‚Óï-Ô©1¨G¬n ¢h$möâ„æÅ|ç~žF0³M±ÎIDb¶;ȺÔë‘AäïÝ6I •£¥ÑЂ–,¿ ÿ ý^Ž‹=[ôhϬLuka·šše'“ÕŒÝüW{ ¼ÂÔíÜÊÓôWñßzV@BráæI$¡Úö”]q*PÌ_ ÆvgÜPCà.B²àóå¥>.Ž#ÃRE{’”ƒøyQ}ý|÷~Ü6 ÛÔuiÑ"lW}®ýÅ”RÁ- KOæÜï6d¿§ Ð¨Ñ÷ú•Á™|Ü‚|6ÍÑ ¨PøW¥«(̸%¶CÜ7Z÷ŒDk‡þv¬YaïÈ!W0?ö3Ùé~à|väðʺ ÍÐ9±÷#Ø_óXÄÌ-]§“Š#šçùzþ!¸¬âãÙSL´"9Ö¹bØŽÊáô6\!TT(]¬Ö}3áîK§de¦i²ã –J `@ªˆ>šœcÅ8¯#Š ïñ=䇓%õ,âmÎáyþgÿœÆ°êÁJOÎ&žxö‡&Ú$¬2wO(0Ò#bQ.© il¿Ué2¥dä‹a×áôýžÐŸeŸ_¨› Æ"Z}·ž¾c – ÚŠzp]­›ÞÃW*Š™oß–ŸÉL¾´ŠºäHÚ¯dÍrÝÈÕ3‚‰È׸†~;ØÈ‰xL×Ó#HÇ@½rÌjʱ=}°O¦Lëí¹#™¨úBÚṲ̂` ?ââ6Î¥p{Šƒ`—êÄQ|ÿ-Þ~Þ\GÜKR4`ºZÛ»LHûñúÞ䑦 ©Ëcs‰úB[ž—×äØŸ¦æžŒ]¿îæÎ˜è µ%ƒ?¹îøM ø,u܄ٵmeÄ·ØõÁµ°Õ;¢Á?F‹F)0§ókÉÅF¿!¨–n¦@¹œ‘7‰Æø¹0àm‹¢UÖ€/‰o@†Ñͬ™¾¶®Bh^†B˜yOZX=p—Ë͙宯¦Þ‹À Q†ô,²ÃÌžßh…ijÒ¢÷™6•Üåúêÿ  lß‚%õVU!Ý«·öøËä5÷­šŠ¸ÒÃPWáVh›s>[}D¿7Hˆª:©DÊÁ¾j)`ðƒ[@R´rdŒ¤Òo¬ZMÐ$ÅÉH= ü5ÁèkðÀó¶jÏ‚".| Â|R­T ·aÞ”ì,[mË–¢×þ!rj-ø‡ëÛÇ<8¿Îùè^ó xªæ·ÈG¬ç‰ÛÇ#Àb­ˆ}Ë ÃobÓ/û'Ø¡´´:ÜxãL›-÷úñ¾›‘WaÇì#æâcìxVªñŸ)YÖKRh¹œôfoÊ>ÇÁhß«´üŠ·"Zç#)ø@‘ÀÍPâѲrÕ»T—9N”$ü¶¬Þ>x,Q/lBaO EU ­N_bç .—•ªFšIô1ÉvuUè–Ä\éÔmç§|22Â(¶(’ÛI=L§)øA GÚ”¸,.Sò @{ <¼JìóqùVÑ]>«,¼åÞëìÌuª8:4EºÌ’RÜîyIiQqb°KÅš{ð–ÈvÅ}VS qL˜ÛˆþFø”C/‘ëasÐ@àŽü)ÃkÍtÄû¸vÔç¦Ú—V3Î œïÂîàч&û¯Á®ˆ†PH®ù¡D³=»uêéEÉs£Ú¥wí¾š. óm⩜\À|±QK¨8ÑÒ_lp:glëçŽSÛ5°” ÐlÏcêÓý÷„Dõ„Iö ãûäáÖ’;kÁb-9Ó…ˆ)úä)ù…Ú=ÏÝsÉø ˜Ú»ºpHÙUÜOÏ?|õ*øÄ€º¹ sžlÌÄÓ‹—˜â’:ãN°Fž\Z¸šAi\ „—«kXN¸uGŸ ¶§Ùz"fOˆ@' QØò¾ã$¾ÏZ­ò Ø!ËæŠáÈ~L@£ÍvÂJZ‰Áán.SP¯ˆ´08ÎfÛ8ÀÙÁp'”¥ÒªRƘN žV6ŽR*¼ýŸrõ*„“(=¢ß{ô¯²ngŽGû;B¦ÞlöÊ¥ZQMjäÎí$2ø“Ã*eå k¥.ÅÍpRpwÙ‡ç †.ZR¶‚ÑmüažªrëY숳¸ï+0–8ö¦§VàäæFÖ¾Ó£c$ÇdÿQâˆêÀujggS”@1J²À”`еq) cÇ{yŒ$SÛ|é¬áZu'Wd>`e߉Õ:ÕýÕôu0¦èŽkDÔE:l °¶ò¬?\óMQ$ÓÄ'ò7EÖþw²̬n‡ß´t”ü&Ù2‰±ŽèµÌd¥z—¦: <©yüÞtýH9¦ÄNlsØ`.tݰ±Ï5¼>Ù+q1ÙOÖpB²ì£Òö9ܦãf ¦Ñ,:ÃiË=ÃmÅ' 8J|e@\pVÉËu’IaCËËOžNHkE2AHÓ!L5—KÏOh $“ÏuŽ:Ãsv'ä•’ž¡™+‘{ó…Üí+! ›R$tå¶Cˆƒ’R.Îz¶%(“!Ëk¢¢š¢)NŠ_‚‹‡ñöàÚÌ*¿fxe@ÙË„æ5rKVìÖž‚qº–³]Ž,ĽOרÕö+ÄB̲ údp:ƒàlø‰ÞK˜’€7@+ø ÅÓöŒ¾Ÿ¤y‰¿ä—ìkš;#ùkÉM%`µð°ú³<:ªû+¥)¨?ø”‚F¬|§ºäÔ¾üs²LcË¿íåEô 'Âmy÷Ïîe{h²þ•W²†®¹Ä;–d§²ŦeG”UW¥Fo¤94N­ 9#bX$ê­=`µ OǾÆôo—ÆúZ)³^ΚÖK’œÝz£ù¾ÿ„¿+P‰%Ï[©F€ Ø5³Ðb³T(‡“Eg.>™·„·ïã É SQ"gŠ9F{ÍÞh¨ºô%Åk›Ç3Øà^s+°Ï±Q†B,Õ­­¤£øñ 2(oB«­i£ø]ìÙæ&TS©™øäY¨k^2F BknÿÂ=Æ¢^£âI õõ=†Ïµƒî–4æ8ÝëBûŠxIvÂÆç~BjîÃ܃ dÉ3… È©\óIÓÜ»}ì©Û«»‘û™{0ÿòãNÿ1Ë_6ÆB>Ñ4å šåééh¸Q ;- ÕjWÒ­r)x8YV¨R’äè7´p¦çmL®dZŸÒË.&¼Ý‡ [¶³p¢~azr)a9¹é³¢âÉò ¥Ö¼rk.lÝ€qé \å<óè7ÐÚ;Ê.Ê¿‘²ÙÜÃU}÷Ê0*¶ÁLŒû¡£º !5Т3|ž®úåÆT˜ò* Êw@E] 3´ ‚×ÄmÌ_5àÉÆ‡½ ßUR :U04d,ÅÙÞf!ˆËL’ýŽìûáË0OÌÝ_ϯcô]šüˆR{7TŠÓ.;ƒ-)[ƒˆªc¯…¶äšI~%¬¯c¹‡ò£)uàhq ÄGI.ÅP4õÀ>‡ÄÑ0¦? ¦yïCGÈÍpÏ Eª<Ý%Ž’Qr2įl¬ã0Ò·^…>” êvÌ)¸Øñ˜F6m‹ûÚ,Z¸cd•ŠbS\Òñ½àë][ºN¹ð“ÏÏä„y©)UßÞsðò‘*1cù}{ß <š-Ææ¶`á;Î’2œ¬÷”=TÉÁÜÖ¿¶œ¤›ÀX‹±éi’3ºðï Ö5+|梼}Øõ'6Sò ùþGRp8MÐ9šÕO¶Žw=:vÏÙD'4íÍãð…p[úq*^ÙS­Ø]š…šcü&òR…á AÔ"Á` ˆm2“§™à+ñtwEIÐ'õÒlrË»Œ{k¬gµÿüòTö%øæ‘?Mì °ÇFì„aK’:*®}¡‚"á3xýº‚½¡KR6Ê7Œ O:…U dzSõ·Yy„0IÙÖí/ƒ“ë@á/52é/V`ÀUÍjçà¡ÀÀT¢EFF±Å…½…éÈ\¨2pvõ©uÊmÝòžï¥O®_–º¹FŠ.E4¶NFa Ø•!”žì ”¸Ͼ‡:×îÀ¬þ’PiVÙöÜLý%/e :s5Ûö[º&QœÆOR|{Œ‡»“¨cc;)°é´h¿[n  a›Ó<•ƒ+½Ì§…šÕP¨¾=3 Žò¸ÊBÁJúšÖÁ-wÉì>ÏF÷àÀ04,U1¶÷>µ~÷B•‡B2»kã±Kö%‡bçi¼AjTÅ c0'^jÛ$Z*ykvÃ@&hg ®´^Ÿæ6¿KéDùG(¶< êEÿÒ0µ>Q"ÿ¦gl¿}•h9û Út :ƒÛ)IèÙá ¹®¤ †ƒg6q QK;¿Íã5v™û…ƒQî«=šòô¨Óð£{'°› ŠÕ¿ã‹ìæcëE=^¬É×›3–f[òÚûNªhŽÿ…¸gß~V¶V¥xDCåeÅà~·)_Yà]œÚ»hÅ¡«¿b[6¾6xúÕá ×h.w ;È)SEH·¶Qÿ~MMŒ/2¬Ììã˜`u7y§‹a; ¯)ùÅ„¿Š²ÛÔ¤¼@yÖ ó§7Œ*¶.ë]RïÙ¸²J‘ É5kWÁ‚ÅûÚÒ`@‚×ñ3yæ˜Ñ•Õò;à©WQ§µE~‡üÕ€Ie1m]_*•… ”ë0¬ÓkgôÃf[–côù­ç‹Ý‰Þ`“F­ôØâÎá W{~{¢Ä¾$Rèóp®Àþ:Z.³ý:Q£MA/Ö"òã¾â©–öw´³›FMPÆvÏŠ>q£„ºÜ ¢çàä‹å˜âÕÿ§Ðoˆ~Å·KèÁm“t%\Äuåù%<£·›–ât3¸ÖÅbþ†qE@Cþb¼¿CtSUÂ8pLn,EƒÕÐÕjwÜi÷óžzI+oax–`·yf1h˜ÛKŸÚk¾–y<é©5„c»çwV§îç“_ëRÿ6@'&"ƒdÍmj‘P¹È‹ú-Ž‹æÿ®ÞéBÐ:}@–ÔØu¢IS]g³c½Aø_U\¦š¬òÍ[Ä¥zZÃpÖ1Y=®%¶~4ê€}=$ùã½Æn¡·)h¿“Îò±^P¹Á“ÇÏÖøåš²3'2M¥ðŽkn!WfÃ05Cª/ @]ýŠÇ!ÆH{%Ç¥åSh:vé¬ånÏ£?hÖXûâÒ¼³4BHÛBõ¼­Ed?ïL6½pÕåXø¸-ÕàîÄ¡lð±Éì3.8éOâÐdÑŽ"Lñ…Ps„¬+å,×¹ÛVvݲ».DÍ™?Êxh¡è+óü–Îõhä÷W’Ì/~ =xÁ²ù Q3èq¥êð3µlÇîoEÊ×Av•^!´Û-§øÜž+íÕ0©Ÿ>`d´|àX,»NáX´F°ÆxÏgIŠ2 ¶† š¼r•páßmM–r‚HÎ3× ,û¨ 6ãK5’ËsÌÐêŽyéÉÕUÚvä&|ÕWæ‚ãx–õù¨?­-…› 32{íÛ¦îtÒ­mèÆT ƒNè£í õ–BxV—½ÂêÊ!ìpJÚŽI=¼õ/wˆöþxè× qðŒºøv,ÒÞçX6}Q©ð¥áðÁÃ¹ÏæÌõF*Ã<2¢fÍï*Áyu?·†–.Ö‚ÿ…â ,&ÑE“£ø9®ŠÏœ•º°ÞP€²«ƒo”†sdâû:…"(îÙûÓGãÍÁ˜Ù”x.4¨O°NýcÙÞ¡tÆâÓz «ù­UÉÎ÷ãø’3àà 6Ç»kdjHßѵûZ®l?ö:¡J^¼¬ûÿivð„©åjri[El>( vº:beñ.O/Íyì_wk *̃–O6Œ×Ñw {=uÝèL MôˆƤ¥O4-¶¾Tk»˜9¦ñ/¤6Ú‰lŸ“Øå¾XÀWètk~Ocg}­ÕR£ ·šç ÄÜ)Z3Zþ2Ö #Z~U‚9!—¬ ×ÇèSÿ@1©ó ¿–šJ:@ð­îBVŸ¥ù£…5:\þëïáÑ€NØöŽº}åeÚ€2VŸÑŠlm ŒJ”Ýir¶£€¯‚êÓ^~„É+‡ìòË5¶¶>ÀÈîŽðDÍqof{8½óU°³EÑXÁ /<Ý.;™;Ï–úÚÌÓk"§ þ9n^~ÁjÙX¥Émž;Ùùª,ù±`NFüK7²#‚ͳçIë0oh\€5 &YdT×êÍ`[~ÊÁ„‹XÕ?Íu@×ú€“%{â6ד(¤G 8!¬<÷„RÍ4gº„&ÒQ¾8“N» Bm„ež+C›ª¡XåwÈH{[û7åy¦~¥×+Ü^h3v#“{44x§÷#1§Â9òQ°p­ý'Bù¸ŠÇÿ/ý€óPQÔÚ"á^ˆdÅo“©­¾6ý›ã¦á>â¥:Ó²€Ê%U) ¤ÂÞ”ð¡ûìòÃf})ëGÓ˜\í*jïþ¹ŽFÐÂæõ?ì{>x¼ñ²ìŽ?že®*—æÖí†þ³î.×ìÞÀq¡¯aG ýj?°q`_6;°ƒ[ .¥q%$@‹z= ~;ß>°¤vèN'&mPhè"Ä’||´6œ‡YhvnT qÜí„|›…"rL7oSÔE*¶~Oë6=y+té¦>¿×2óJXf¹’$¦OÇx‡€“åVÀðŒMw-l?Ü›šFÏüNø ¹]¡Êxàäß3}¡ó£óï}piÊþ}ëøª ³ PßS¾r¸XØîŸ¯ Ü+(”ícú¥ë6D_ºö TÃBüWVŸ*j‚oG„E4“ʸ-Ú†)iÁ»znm¼qCè’(sÐåœù²rþ%ƒŸT;äÓ³=C‘]²TŽ£¬vìd•–üâ Ê6³ˆ0ñêù\¬¢"!trº½³kx%òäÊI.fqá+ÅbK¿‘–b±ËŽ¢Éüï£9Èî F_¾ïžÖÖS03Äÿ6ÀÊ©M†AÎÎã‹àvÎ÷™glõ¢ í*öb©ÐKðÆH§Ž_£ø‹Õa–*²«Û?=Ç5ž‚Œš·]ëUd.­†eˆèZ?—齬–Ãüoâ µWÛQs+E8Ê¢#»¥íy˜C—[ Ò°ä˜oÁ‚Tº¾ð¯ 0¢y€¤þü«ô“µëÁgŒ[o[*Uè—(ùLkk‰â™ñ½f–£‰ïBMs|3§VmFˆ ›‘D(8Š‚×ï½M÷_‚c:*”ý›RÝ+ì íÉ×T´±XãÛF\ ᇸZ œR,-êw‹Æ;fŠÁà,|ru-¡ ⇀õhOôŽ>ÍVèùÇ·y >Ät‡NJ䤬So‹Íç6£TÝY–†A¢£?ŠšþW ïšÈ|M{^`¼ú8òß?èÂùöJÔìÌåv9Ë} ·FÖ’$Ÿ½&ÝÍ–Âàœg¬ÌÕ{—X}ÃFº­)UÈ.Î'—Zmð=Ÿ1[2Óz¬’!2HœW#½·›Es(%5 „h%âÛ1¦Èn8ÿNÒQPûL¢Œ;èT¨É+ò‚rï¡Ùœ bÕǜуˆ=Ö5s`À×¥§lZ¹Éë,ÔZØvJ5«Õ‹PdºRLy "ÄUŒÅIÙ®ÆÀ, *Zî(bû(ãŸÕ>kÑÌ›³‰h•CÐT©DRSUc­{{Jq‚{‡4=;¹Ee‚R@ï¹ý&ZpMD ¶0 ³ý~ýY1þIQD%‚⠫0Ù Ö£ _ÎM›6–V޾´56~¸ç¿ jLQ1ˆdè±-))tfîqª% Že}A/+ß9®U“‘Ö%ÕÛ*Ì¢¸ãø‰ëb(ŠÞÑ=‡PˆÂeiư·Ý‹iw¤zŠY{ÓD¿5«Dòþ\veŸkþéÕÆÏ‰fYŽR¢®„e‚<V‹ÙI¬ÐãœÌ‹,%‰ar‚PÒ9Õ¯5ë®áâªitRÌhÚX_'oñŠDÞrýKJÈÿq¬6 ;ˆ‹{fíræ£ðÃËÞÞ9a޲(Hàˆ,ž•Ò=q„L¯Þ ¤FVùÒIÂ}¼½`Äø;PM^@ˆòJ=>y‰&å&íØGb»ÿ«±Q¯Ì ¹CPÍ`ÌCÍõõ÷A›y#®­·X' Âq£nd;d¼T^ÔŠrý 8„â ¤UpÕk«‹ü.Ü Ç“·˜$ùÙMn5#”y a•ªÁ¥…šx%Ái4ªv‚þ•Ç’ÍÿÇθòĵÃ!UXÌE}DhÅxe°ÓNM„©nB2ý|¹eWÅÖ(Ó¹YÏÃW®^c¸ûãÿbôUlj$è ë=_›ãof[ðý\÷8g“™U @ÙÓMíÆuþ Á¿ˆìú-*Zûèù^ï©*¸2Ùš3Ü_Íù–¿bf]ôäUÅ#ÛÀdÅÏÁ3ŽPèû+‰XèE¢läÐŒNACZTþxèJwEûfN?ËØÆÃ|‚Þ ª-lie ƒg¼ƒL€sƒÖÃ9Ù ·ˆSÁ†9¬¥¼VJ£zÉN¡bTkp0ñ¹|®°’¯›õäôac3×{u"â€ÍXí€&ü¹±Ú$Rß÷¡…Åfþ“T²«uO>18ýQs‚ih—°h!ç@Õ®^¦¬0ª´IÖWÖ±ý‹ô;ÀÜ<ᣣNÌ2Ho y”È÷-X„º!^Š—8ªñóçL“h»<â,Bzïd­PCýxkqyÛÓxT…õ ¥.b‚Z6+T¥¨Ø J¤¡€DÃEϳë²xð…Ômî$2ûåPeÚßI·¡ qOÓ?ãWÝ’%¬0;•»áßn7`¯€ŠÅsnvmKµ1¡þ ¼m .ö•¦ØÞwbÏÎÊf±h4l[‚ù¨ÖÄbURœkÖ{!Õ`ð@nªuè[wý™Èô˜@6‚&}2D3IÏ–ò°þÄ£“›Ö¥u*në»*'%è_ÊK™=éZß‹Æ÷:€ú„À çyÿçæù3QÔ“44–æ„N_1QÖè§Tª´º×6ÞfÍDжÁÐL‰¦ð—\RïªW-ÁÓ%W¶ôÝ’£‚…Ucã¹tfG+µG£Ÿwf c´"£Ý‡¼+¸«Óœ>¶;¿ùOÛ>öŒ/à̈&€í9¬Îh`RrÀ%ÇIíù‡Òât»Ãüz}G,±Ë›yøöãdh&ÃŽHîJ ú{´/±í›Ad~|h!±ûåa2ªòóÅ<:¯­¶×”ãä×È`j(6®”1Ö™ºÈ΄J+:K ¦¸™¨^Á5êx¸v…$óno’ÈÁd½@÷ã.>ñl…*/>kæËZ9ÑÏžû4ŒÔ ,®’$¿˜¿ú)6§Ncn\7®Ê5.<<ÙÆh ÙˆàÙ§9¸™ð/JæZk…Qórºü˜èiu,r‰ÿ †§4¬ýí/¤°=VXÎ’MmÇÙ /—]‰±fS*lºD ®¯È«²“øtF_T9Ø35‘‘:Î a·‘‰Å)L‡î5D7“d>%ÉÓw[Ë'^É.HÍ=j€T4íEoqCaœðáò¹üKd[Ÿ¿ûˆ×®»µ¡—ú]”R&Ìå§2àõÖ¼§Þ+W̃Å'ím£æ2¹ÁÊ÷ݸ±˜‰p ž'Ý£ÎM•nY/Éêÿ…C¹Â]–yéA±J¹dZÀÉ+ç»Hëd®?|n”l´+Ïè“ÉûV[fz9©LÆŽp¯qŸ)À-} Q‚”ëè¬jQØY׵РjS ÎBŒÁÁ²€òÌæª ÍìL„ (%kÇ38êܬ©«zFkV@@Õø½´¹Ú¾ bál¶ÓƒÀ¯fñ£_Þ|õô÷PŧmÐ4£³dêƒ_¿ÅB>ñ2ÿxª¥!¤!înŽ~­?|±ëÊ ä Ö´„fgö›ÜPÝÕÿL,¾(3øê¶æIÏëAå `íVp_è?‘“³í2³þn¨_B™TÀïT×üðŸÏ´Ñ8ö„ÔðÏ ±ê!Uóp©ö‰¶ñÉÏëã´±äÍ{¢ŸWXÔ׸«ÈW®¢¦Å!4L7> DUbË>§å4UȾxŠ-S%4z1Y™N§ôê±ÝÖ2Uo‹õ÷e\Øiˆq€1ÞñÂEÞ‰}e<øµ?øx[ÍÔçr5©?ñã\ö,B6eÖ$p¦Óž+ÆfRŽ¡¢½¡‚%j}(Ób!Ìö3 ˆèÀC› D4_> 0g¾ö’BüìYRÚõ–­ËòuqþáIJGÉâUÝþ9àÌÙiå‹~½œ(ÎptX,3M•‘_ïþcZ>L—¸d…¸È׈>Ý¿Aö·ÜGˇt¥AøS¸ç'ä½?©%N4 %k\nRÊ:4I‡ ÑØÝ‡dx&eïy`NÉŒž­ù§_ h«Ûµ¾ t`=\„Z·bwlYÎòïæ1WÒåç,³=5Ѐ>g½Úp€EqPh‘­½0iǯÎm(GÑB÷î¼Ä¾AÝ ÿO¹.ˆAªL2'æq±ãªEÒóž#Å2кŽlJ UƒÑT› ü7ìÌȽaÒ&B[ ó7GÀ§l¬³êm—–òï¶4²AN9õykAF÷¬‚Œ+%ôF Ò­®ÑÏkؽ/*s§E„Ò„ ïŒU²JïWû¯^^­"™š5håÆ÷€ï ¶ç¦ ŠÓÀRk&P;k²´@"Æ>°\°«irdFjf¿arø¿ºEjsê7—.vÝ“"œ.Sùt}>èþúw‰ò#„˜î¯Ÿn¶ xm4þäÄ+‹2ºH®=û!¼×Uö­¨:U%”ÊÎv %ÊÏÝÌiZýq9ˆÚšîsÕkrh1é_DC±ªùÏ8¡dŽ<ÅŸ…pÑ)9õÙï¯)|dôïí¸5Ñïöa=EYÀ¿fYd@U³=ŽÌH)ÚxŠŽÈZ‡2˜øõ»”¸—‘xøˆ“ð€!áæƒb³îñù¥¢Š¥®s‹¯(|j€Dé8Á¦bÙ3Ûªdò&T•ÌãM#çÉs^Ú"–_û¨kB5ùÀÓ G3,¯éŽÖ¤Ù#0¶/þÉñ¾Õx $,gpĶåÚ0ž`Ú 8í”v®çLzé¥j!¿4pFÌuI®ãê¬î©¿õïÄ6ù[£¤ÈìHåìõ(wÀÛ[1<›qfImĦºMä…!îÁ÷Õˆ…)pä7œ/¹s<©J–pϳQ¾Ã€MQ#s³¾Hyû+DY š2.ZLìH[´ÚÀRŒ?=Èœe!LwÎæÜû肯(OYÊ>'P:-wFñtx€›M&h$Cuárws w![HØ‚10mmÑ~Þ¯åê2בƙwÍBY3%ÍTÏÐÒ¤ôOÂëMân Ó}Õ/èÅM7€¹›\ýØ+\3÷æ[Psêè"Tþ€lE˜æú CZãúñZ;nÅ'˳ ² ®ÛåÖ·  ³À–Æ3¼Ž „ίžz|Ãhˆµ­CÎÞ7ú=]Ë a$(P>X8 °ÙÅ”o»«›ŸuÑYgìÜOëü•Ĺ˜9 õ×ø* õº\oÊ|F—A¯¥LKšÜ©)¬t¶O-íº'~ÐùÿþM.¸kúviäÊgu¢'Ì©ÊÙ–HSl†ñ"Í×Ë\ÆøêÅ_å¸B¸$.þN’GM‰»Ï’-C­=>£Ë1 ‚º¹;Gu4ãX0™D)!ÁÙ•ÛØMS)@õ_=ߪ­yNN ð =ðH®l0Cj]òÏry˜ßÙw“þO,ÌnƯpÉ9Ð,¦ôux0ûÙ!6ñR6Ô4ú!n¨ˆ]Z/7gòóÎûï sÔºª’«2ð ¿ŽÀÁ¬NÛW˜ÖAîƒX™p‰duu&ÊKïöƒrF²÷eªã›š0ŒAý÷hq]Ùþ¨ôË^<ì\%®lŠ.D¥Qr^µ^ÏR݃í5Q" úga¥óT7rD1i>&nè›y6hÁ8<Är¾1Y_py,,ÔÅOEwkÄWXÓÐ3Ç Æ,HŠí¦_aº©t«!Ü~¯*ìŒévýÙå¸]dLq¿ ã9q]#9ôÚ²½Á÷fôÌ¿–ËéУq…q“†Ër>¦Úù5”×^¼MM8±Œ>ˆ~I¤ÁÃ˧ص;§]ñ Å'Ãìß‘@¤£×CJ„t^PÙ€"Ž€Md¡­~Ør|g[‘ú0ÄšˆÁpµñI€äƒ¦Óà’<­;h+’ü=èa¾D/½n-ÍŸ©T“‘m¦ªèÄ+™<4ØOVL"\YzÔ·dsóôÌ>R¨Ë¹aBdbø<ë¹RÎ#={C¯vy³Di6ÚÅö`È-m—X‰Áº‰’±Aa8:fã:²dQÙ3³ïà7»Í.p5†î>zEê÷´ƒ1ƒ´ g°\ ·´¯ðê™sÕ´‡%¡‚ êG÷÷ñ­+šÏ² lº7dsž¡|n3_¡[½õø]0É“f–G:]E)·T,ÿ#ehL]ÚŠd^$Sv³ï–ÊAPAA÷)#sqÜ!0 bòŠhc|ËõÇûPÓw6fdVT€lTûy×Å>¥ w,»pšfe®&òn¿!d€fCgfU«´²Píá[V05q˜ïœ©¦¡_,S!]QŠq›)–Ü¢×¾%ÑLJQq¿"ù²±"+l1¢ðlªÿìñÈ@¶$ÀxHNðŒÎÑ¿ôwÞ£ªX°ƒ3'«¼ªÓ¬P÷XÓêRÇtÉŽÚ¢wçxïæ °µáÏØ)!œëÇ+ ¤û&Kƒ›¯)ì"ìΗóŪ-¡d½.KÕŠ…Š=V†oôt’îfa{é ke!EÆ[OŒ7e´Î¦mÒêHdàùÍRö%|'SšXž~WtÏ^l b¾O®¾7ânæÉDzՀèŽYcáÁ-þ½T:ÓIL'‚ôSè—Q̘ꎈz“ïXÉü‚“à\bœ¶]~;Sö=‰RE­Ø¡Œ}cMÓÄ©Æ#î9óò ©~ÅûŒðEÎG²º©FÉûdˆ»Ÿ¢\bÖl%×VÆ5ªÝ2s¯d¬¹¼ÉÖ¯FÏnÒÈbP/¿ŽÎçtYžv0Ρ›$d§ø,žës¨¤Ÿ!ìH Ó3äÁ3ó˜Ë …6èÙ®8dË J’ûíC~ˆvNôl•{CçPáóàƒàr#X€ïž@ ìÔ¦>)0|‰óTŒËÆÙ /¿Ê2d¥AUäN!j²Ïîœ&ƒ‹&@àæ+sìmŒtËÙ;®¥\aÈ·žÀNíNÈžt"¼hW€(Ö&’òìß“¤²LDó©d¥F ZaÓïÎæŽõ)ê1ßbÍüìˆ5 W™qaö1óÄ{¡–[wÐíc^à™P˜óøÈþªu:ÃÐEþúÖ¦Žë ™é”ø—, ƒ =>ä¥v2¯Šã=µÜ¨´{üÜR}lZ¨Ùú8Œ#ø»V}„Ã~ãU´w¥¨yx•ƒùŠ4Ãvð’îõ²m¼ÑuÑÞPlQ“vöŒ`Ó5DT—Ù×1™Ë`¡=Dm(¹ûB RèCu%.CÕ¡!¢°éŸ…ˆŒ¯C=hŸæ÷ïªKâi%?˜ é¸öì!‰V«?ô.ºˆ™úÐQiæïó8)(Æw^©ý³ÔnV ³›"Å©€Ã<þ&!R÷Å_7`þ%…Uô˜ •Ò¢0‡(˜wPùHGÀ‰Âãü8Ç?9qqåQÔ…fOg‡Wd‰Þó¹ Ë׆q€#†M“¯Üceî^ƒÈ5é:¯[QÅ~ é)-žQÀÇ”$CŸUïþæË‹GŠhù¡à*º¯Ç…ï+"zÛæ( èuªÕZÆÓ9× ‰ýŽ´à³ `U;‹t?yR4tXª±”—º£AÜnÏägM”Šdvº:Ù;»lZ[LKŽ+ó=ùÊü{—S½ºúÈ7^¨ê¤æ›Àui±0ü7Rw†êæeê’÷‚X^tüÆ@ô ãdºÎGèGA@!–­Ÿ7%çþú¦M‰ÞhÆÅß~È<#Ä#g—8AûÌ:Q>€Uè=€³ãÅC9è¢ÇhlnsRP#­ü`¹ïÚ ¤ÿ[c¦tÞy»¢Lƒ^#"/“šAMâ ®=«ýb? ¥ö¡um>›:ÒƒPVöÙ`â[ZØY‰3¢Ø_±Jí–ð7.OIû£ ¯j‘ÛËÏ¡Vúáj‚üq²™Qúx.ÎO‚ìLO?oÛ‰x£ï»uû€û®'®UŽUtgˆ/¸y{#EñþÝ´i÷"¯eC«Iæèw[¹*·mËÅEæ5o ô·Wft‰½ôoÊU×u>É¢ûá\Àä„{»£üK)f%O¶5'¶µžå¥ñmHÿœLˆ|\8€ í³ pë.‚}&Û*ɵçÔÛŽ}d¼Z½vuç?wÒïøíƒœpù*,N•Î+¦´Êý3®,:*6¡T²V™þS†¢‡q7¿sY =™}¸Ž]}«,·aByQÛG1mŽƒ½j•K¨S¿¼¥w©Ñ¬ÈéÛåÛ²–ÄgÆPáIMg~îe1er’ÔBfǧú+TëÇá<)ͧ¸Úü±Å’" †=„žð¥¶¨Õ¦µó ^]E޹T¸S1—"59ÃîbØéëP@™³ˆ@º%” Ú]ÁŒ ;–Ãí+í\ÿpž§"”Ý‚VãmŠáŽìÓ6ðטּž• Û¤GјC?‘1k>Œ@‰K(Ž ÊÚ¤oß{ ¤ý݃wÖ¡'ŽeIÍL& pòÎõ¤;.ù¶WJ8¬çÇ‚S¨$N!”í œQçC: Q¦òTlqä¶"Ãý¹·ÁŠàëuêiûqd‰.g¹Þ Nø¬"gH­þ¦´7•úñ™d!'|Q9ØòZFÑ™+!•uÙe§Þ‘Ó¸ØLI4¿)aŒÃ'óÜ£|RŸ<W.îÜiWGáÚê6ýYmÌÿ!nÔ{É™!ÏÊ Íz]¿Lséa’ë軌OÑKt|6­¥¨åßQ{²ÁŸI ÷åWo‚1¡BòùjÂa#µ/û“†a~ö2*<1bÁvª2‘ŒåRZpæì áØ{ä5·#RYßãå•6!µã2ô˜½Rh‚Ñës±ò[4oêiUЋÒÏàÃ"ï91ïÕJV,}fž-Ùú¤ÊÎQîuŸ”«ð]ô0ÛæÆD·õûS7n™î®#·)ú·xÃÂOPfP™½ü¶7 ¦+<îFèrô~ 51Å£²1±éS!7u2¥ rŠWƒcf, ÅH‚È Ó¾;Š‘«zÊbgá³nòìÝÕ+"h×-àùì›h\É[íc¤S€\Ò„BW­¿Gˆf?[‹ª€ôùŠ|_:8ÞÀ ’2šX²ˆEË3GÿEç4˜›Ó•×HÑöÆÙ wÉ>ôI<Ôžº´ìùMǦY÷Äm!Æ•èt›‹µNàkC¦|Z•ç·,†`éIVª[4¨¡Ñ}q™c@(¸h{€&cYt„23ä²w6À '(vÆ2Ĥî5Lα¹¤¡ÌlñªyõŽ¹ÚÆtO«ípc¸o_mZjfê·C>ô9ù„_¹/Ø,3|,j6ç·Ýyy÷$yj×aw×;0º|­¿V;\li<ˆ)Ê I±-Nî“ ÕáÁ½XV±OÒâs/¥e):íÖ œà¸¾r?2ktËg3qÒØ/ü´k@i;øWw΃f(¢CÔ¼7õß ÄËcéE×Ô¶ÑÒO ð®¹Bû7,¢½hC[Ís"ÓYDÇÚä—¬ QÌA»,î%:ú‡J®t\ ˆwú¨.-…‹ƒ§Ý-Õ—=B"›/K#àÛó§òwê1´Zwz¹«ÕsòiS(¤’ÜN´¯À˜týጎõßPͲuX~OÆœðé{?¯ú. „q0³¦kÃE$“šEÅ Ä z…Ïàí·…ö\kây™.g4n—ñM›ðûûëÂkU s³hó{yP†?„`ðÄKÊÏ 28ø/;þ±Þ°Š%Û1] |åb³èH×z’ äŽ]"^‡z«{'³ÈÈ“ñN›jDÝ~ìCƒ²ÂZ=2YæÅ¶Àcžôáø²/7™mUýÏ\šäÓ¿ŒÛ&Hm-ts h¬l~"³LE:xæ^1Ù„Ë'Q­ReäÛfÑ,Ù®¯a:^’e~…N”Ȫ´†k „<Á.ý¿ñ¸5 áÐÀûTá”(è!满ƒßéM¬u­%|Ñ‘Äôgm=­#ËÊwXèÆà"ûB{ˆu0Œ£l˜¾ÝAÌÀ+½«S‘nÝ5:=åT`*`œïêÈ ›Ý úÂöÎøJÎlï5m ù¢ÙÁµ·p…PÎ|†>a-·áª²ä‡ Í|K§mí{)“€æ¾ß†a*ÀTQaAß?(ù{c«0ù¿Ð6àpX=€ÊòF«Ì´öÀˆ´C‘Ï(Úƒ'rä‹_š³–Ñ|šfÏæØgŠJ ÑEÅQ è8s?™Ò`TÉ‘L0ââð˜S°'ô³ÿ­õL‘ ùw¡Ág 1§rg8ÍÝó›{j ÷œeæ7.šJÇ™-vªýΤ¼ÚBŠ'ióäEó„óSÔ=ÓsáüKÔ]cí-¹°3^Úq­‚eà%“¦Ü•Žö^€š ?Ú ?ªUïª*´›Æ:¥}$`!³0ÒjáýT¶÷¶™$ù¢óŽNùŒ  Ïy[¾§ªþøj=T…vrnûtÜÊć‚ m(ãÊYÍåÔЈ‚gýÃ[Me¢"<»‚Öá}Ræßí3­r˜Ôt²µ$ºÉ(ÿ<0ÅcÎñ,¼GÓN—ö\‰Ù²,‰Ñ<’›©\¤ ›¦“dãV©¤ÿ<û=½þ àÅq`lN¿0õ¨øÁP”­X¤«¼,cŸ1+âŠD»<« Ï ,ü<".Sà‚z0?¾ Bµ2¼•ƒ<š (±BÙÒk"}z§|õ…œvMóaæAYkN\S§·rÿÃ'<%nW`mgBÞ÷µÚ`p"vg#ÏaÅå& ëÁ%ÙÌ]NTö—á©õ[¢ŽiÇŸávòšçý™¬<|ÃÌkçì)Î.¥´ÄÒ|’gˆhÜ)ì~HÚÆA—¤¥@ îñ‘ÿ¾\8°Ñˆ§6ÆÊÜá‹Þ/ä"_|¤eÑñÂ+޹n$T*¥úú¶Ê‹æ; ÊÚ`exïÓÝ’]R ËF0²'Œœ “¶4‡Op<:™T%‰ŸÿÎÀ5rüþø¨7DXÈ1Å6PGîljxW«º‘ÖÓë†WLjݾSP΢5§|X<8ˆ°oÃ/csÙmðÝØ^Ï0ÔJ¯äñ¨ßá––qÑÅгîôG LŸ»M'p=%)`Ž×µ„ÑðÎ[Ÿ”í×EOÜ@L›´©ôÍ!>æß6 ™I·Ù™ŠßÞíNVÌK>³zCÖÊæz+AB™°^ ü!'«…1k•;l| i>\5qªôKwx<Â`MB¡.£îM»ë$Yè3p  Êš—sunµ(¹“Ýà­(±S ÓQoÔ£­¢ ãôŽßͼù¤FȉÍ#ÚhnxØá÷=”¤ÃÄ㨠ý¬„ƒRpÑVNŒÂ‚î§ÉÅ0ýö˜=Tø1Mmõ;QÔW~bƒ%R’%_y ûWSùC²C—¾ïÀáãqŽIVëhz?\â:±'¥­Ú+¶ú#uœÃÓnXYõÄÞç.ÀÅz”x&L>¨–—ñeLN =Üþ0”J…ßpÍ­k /¾bÚšöÀQMVrûnÜJ^eç š‚€JÓ}£„b|ü$tî‰Rë PV·¹ºvR7,[¶(™;ƒz3oëÜ|›èõ—3∴͸ë~MÚl¦Mïr~p`{:eã_&n@žIÆò+6—7YM2麸ÃåÝ`$0çdF’þ?K®8bì^ž8bÞ£Z• ò}EmÐlä¬Þ²=ÐÇH'SôòHòêšÔ 9¹Ï!;ÿ;¦[ »ˆ® L]%š†BÙ}wKOø{ÏhÚ ·Œ®âg„-” fM›ß?m³¦•F±>?ÂÅ®kÁô³…›ã}Bs¢øïŽd{£äýR³³•ù ô»‰ØÒ¸mê×ɲb…éb2}Y‚×séZÆ—ŒÒŒÈKN^, xe¬8æ¿R¹âˆÍ« A(¸œIa ~T‚ò/U)’òÓNÒ|"v 0º]ù‹£ôfx¤E½ð)yžËÖ:äCÊ™|;Êw:š…£ Ëº¿ÉÇÏìz¯û)ª^¬\²Þ‡y-މQ™Þ®ÁhÛ¾%A~,;¦4¡¡ @öšù­²pø6ÒŽ SózœÌ—°kU|kÿÁÓÅB?—hÁ{(U 5Iª2°¢rí‘ïTAŸ ¹Ÿh{ ß]Áo…äNÖ¿ž×tœJsÀbVÒUß4Xež…S/„‰cŒ{œfÄß4êƒa·~~ vW ätÂýïÕ23K×Q3W6øíL©4{I€ƒ‰šÒN´šú\ªØ‡O¯ L£} Pm©áÁ[š‰hèí_H{ðõ#jùëÅTlšº”R)åBÇXÌR+ðEpK1ÅöÉSÇ‹Tx-ŽFÇi 4T¬ï½ìH#wãTy¤\I4¯¸Ÿæ†x«B£ÊuÄú²-Ó¸…é5擪ÅÒ°:¾´úªhŽ c 1&-ä¶ æ!ÔÈ¡>º-šM'dy*’F1G8èÎUæÂâ»íiô@­0yòÄnðâŸ|‹²oO6¿Ÿ–¬Ó çlìz(»(ÿsþ¿ƒÊšvIÌ÷=hÚõ… äžp Õiã—º")9ò²''}è¼_ü_1vG8ûv¦`ÄOê7ŽŽ7B.ÂL>[Т9N‹Ì®$iŽ­…bz‰KC»o\{éO>Àï’dŽ"sÔc¯¡¬×º’M›¨è6W,£0¡vt°¨ºTrtZ†n>CàH M_‡<Ûïâ* '¹ôÉm•i–%ó£òƒnE Qa ]XÇÆ¹œè©—Žî6$IóŒ=ølBõ’¤ÚÉLìy¹AáO:¬"?½Vâç±ýUpä´DÓ¢Âv}ª ‹0kø¿«ynQZÐŽQÉ øéÿò«˜+Ñæ¡A‹¯­ýàKC6x>/èû1Xã§ÃÓRÍà8ZGWQjÄ%åD âæ,‘cL.¢6£zê%eG$ljç¤÷¾ïÊžiÝÍ&uv'êí`ødÛý<<»èý=ïO Q÷d]gGì³b?kNÇØë;ç¹WFÒàw7ôO‡¹SÚki'0$qVѤV;²ªJÒ,ìwtéEâ@^ŒÒYÝï\¡lþeý¢9Ð&î]=0æX—æ;|›]ÏùÊ)pÑí=¾ ^¦ïùWÅ4Zßs:Éâ7Û•SfÜ, ù2KÑë'#ºŽŸ¡@Iš >Ìò,UÊÏ»$œ©U´¢-¸&PÊYeS°xOd©I´¸:ÈÔžô\õ¸ÆPñ7ü¤á ‰«ŒôUvÔ• ¶ô‰ˆ9ûÔÏæ•PÕ†< [ëœZ'¹Ò•vüŠÏ‡Q„À|‘ÌC0Ár‘Þk&6ÐPàZ½eNÈUŒ+#VÞÖš²CXFYbÊÐaYl¼Ó`Œ¢C@RE$›þ£uHyLŽÑ¬oÈÊ;%ÎüÍñç¯ìä‘—%Ðêj£2ÏU ²<­g@“E³¯Ë±}Âñ·X(Í2×2ùô§­Ô¶æ–ðz:Àw”¨Z51ñ"õ“¯à.oKP(Rôã»gQΩµÿaÂ%%FÎqVÒ&àöFØgmØdÞ³rI`ª|§k~ÅÙžZë˜H9‡\к–!5jRƒªÏý!ž/ü#1À)ê ×Ô«{ rCÕì,”Ç×0òµE{†¦©†\#Øa‰fDÎæUX`¸O(ÝÔÔ.B/çðÄWm# ^ŒdÆm8’ ±ùùÙ£¯’¢ãSpPúʇ¦–&ï{®~p†Ûsì|_³ Pg/1ñO€e¨ƒÃÏ)Ÿø#Zûû%ƒÙäwýh]\/ÐH³`U¡ÌM™B¢‘ðïoç ·D_i9Ôà…2¨–1J±HÛ«ê!A妔+Á‰˜øD®µd-àôÙã)DÜÒöƒ}©Ò7ºªçâlɃSï/•o•´l<·eh¿È ÖüWÛjè£ÎcðU‚S˜eÕŒ$ÃGÔ¢,DãTÍEÐ’V\ï–‹¹ïA2 ¦5¥l£ecåz!M|»_ÁòºœÆÝa6-ah¬[â‰Å7XfPÖ=-&òÌò¿0£²øÛ´WŠJØB~@àdZ>´*ÊSö!Šì˜r^Ë ‚PIvœy¾Ž-èÄøŠŽ£¢š1ƒÐMA¡‚/ß.`·»âÂßQú¢.ëˆäöäîÈ”‘Ù¥ÛiK´}Æ `£‹ÁÕÍ2`À!8„¯É&%¨rsÓQ*‘Ñßg{þ‰åÑxhÚø”@–Çîb2Ö^?ÈÆÌ€äõ.ÕkÚ#Æ×z—{9Ó;–òám„„Þ-úÊ '"`ó,"ÎFha©05ŒÁ’?$FÛtU»C'å¬MS ¨ 3£Ù®éÕÊâ7ò~0òãõ ’úÎQPÕõæ8ˆkZ‰¼¡R1Øšyã†Jm³²èŽ?Î>ï{æhF ó0ЃNŒ‹„Ïþ@¦IÓ¤MzâŒ$°ÌÁªY(ÕAä&ÖùÎ0‹íT™ôiH·õLØM˜ÙÆäqT«õ9ËKúsÛj[ƒüÒ™ ú­Áö{L1ÙkϽ¹©MúnB©ÃAHÆIF0½ëAKWoy´aâÏLÅèÛm͸è‹|ÅBž$Ô­Œ+¦Xí¹/¬rù{ Q•QJápÏ?±2¤“dAoCŽ÷7ÌïA”bà´pcLñ²Ì¡wò€™³¨öµ(°°ªº›kì/n± %FŒ°Äx ÐE™V}†€ŽZ¾Þ ÷Á…ÌÃkú51ö0.F0Í;‰±¹™[Sù%Úêöô±Jª°fr `Ñén«R¾}klãÕbL í†Ò­Æ^,8îEo6>½¯#ÜèE}ueæ"! Þ6aûQ÷ŵ/æâŸf-¾”4@~'p;€ñ)_Ø–ø„«t³µL@M×1z­B”Óæhh}>V´#ÃGhI¨'uÑ2PIç™!ZAŠü+n‡Ò„¼à ¸zÍÒ(@[Þ‹dÿ fDIú*‰:ä(kºV|4¯–¦ö ñ‚“CÇQðžÂ8háÉc>Ùj kG{‚ƒ¨šzY­fó!#p¥îܤ¼°ÿ8ADç™Ý´ìWªu»®i ²'iÑ@Wd FJ7HßaÁVº÷å44£±âï¯u_ÅÜ¡ôž9‡Í´HN/·è,—ìèóçÕ®ü4ò¡aˆ¬I‹…_¨Ã²¡MNf×s»üˆ™,íê‘mö“¸8 ÙÚ'xîöiÒü'ñ?+d8ΫçQ?*ÇF}]ܤ+‰§ö»^ª*è­ú%ÌaX9ÖË >ƒÈÒ§6 ŠÈ̉¥÷ŒTÿï0êGeëÖÔ+ºc‡àVß n‘|\¬Yó&G! R-Ú|ŸYï™ÄL"ÃEm%$x/‚Éf“ä½Ú9Ä7¹©•HþQ3Á¤m±µï“*f' ”-ZzØÓ÷ãýLSð:¹'_O­Y¢ñvæ)[nä%`«Ò,J& ±óœÌOn(ËõÐØ£§‡ŠÄÝ€j—í&D%~À=Öã3 F³%€cšOÈMfìó ò. ëS±9ª wˆ~Ü™)9÷£=¨H‰€0Ò§É¿xúÈ0Sû‹]¤üµlš˜M¥Á(ЇI×_7ý.¨lü©x¾ÍÒœ£Ûò~­Hv^%ÎvÇɉù„)Nn"HtÌà… ѵ6¬‘i]ü1¼Æ÷Ôœ‚Vú› HE'[Ig%vd—²$}Ë×3T2ŽŠñz  Sš5T³»h }EØ´ÉBÛìˆÙF«©?’ŸÕC‡D çïÐ#¡DmØv•/=œÎ0@´É¶°&X^EÏ}-P¬À´²1éËê—ö.¶’N󧆞“˜ØÈ1Ô­d@‰ÉOŒrá@¦R|ê )µÈÝ|°ŠÔ Zÿm°;À€#¶ÚëúY)}²™UûsFî .n– bž>ý®f{—׫sßI~QÀ‘N|`RÂ#fÏ9¼Í.8®ŸWAsáp:¬ús.òUÞÂA’jõ:ãèqïT ëúóFz 0vŒF–êëhìD­˜†ñ)%^IMEŸÔjP*ÀO_F‰}„ù¦Êù¥` À뇳¤`VOÀجßxo«X…7`ŽíÝÍ" Œ3\6Ì™Úté]øhOKÞÙÜÍïïr޲‚ÙÈô¥íºN˜÷^ ˆ]}WÓŒ3RÂIÄ!o‹A«î…ŠÒ2ÙËØæÎµ)àÛY)®Þ·’àÏα9†(OÂÓGºQk‘b˜s ‘6{™›ãÞ03w×RïÌ ò>L††4Ìky3'C@ÈKÅV˳Ö|”‰Ûa/bPÌx1~V°0´2Œ» iMRJ`ÇËŸºŸkVŹÆ%=aP ·è ì!ñðäJ§2OªwI° HR"-Àc÷ b ’,®÷6b#äl5R ]W¥ãŸ+Nß-¢.ÔMùµ!çôÂwD¼¡Ö&ãÏÆëЫIJ%_ð‡á'5IªY3i ™ÊÏ”.0±ª¡gzÉA‹jùFº…C§¤ôrÎÙ:¾ÜÙ6\ì§‹ªñ+uÝ|ÄåÚaq™œs$ {üÓX¯nÇ"S–åÖz+³W¢(IC¸Ð‹¦*"RZu—æpÍ¢žüÜJUü®5¨>Xä&<ò´®O,Ä¢N\œÇVoìtÜ•³žÿPš7›Ø•ÓÆQ7ÃÃñu2OþE*ãÀiŽf@¡Ø2÷.Ó5uIæ¨Ä-—AüÁú*þ?ÕšŒ Ðxê…TÕ)€ÅÑ£ïÿw®Ç}rpÇÞ>ÕJ¶÷æù”„én [ÂØ?Îù{*ొ™Ç R8?‡<¨%›Ý÷wsô®Ðw%!íá<}ÊàMDZÙ£Æþf‘¯lF…˜BßP)ºUg`#ò•’#ᛆ:ƒ:r€Kø24H|Š1ø ¼HT“xod¯ã³nàÌç&4Í*©ŠI‚¨Ð¸§üÌO}‘fZ¶Äû¦+%ΨC6Lk¡©,ËYHÆN%¨ЖëcämX†üÙ=Æ_”1@ý‹yŠ–®kLžd“·*q/GÂØÂÄVÇ?ÊÍ‘/<Öø«¦ŠÈðDIÈ À¦.þ_ŠÞGrïý&À™S¨žùØ "04â,dÄä–U÷àê;Ø’÷á´~dCt¯ÄÊ®Úðÿìs˜²m…5_2qׇûp^é¶t˜ÑÖfß¡—í¯M_è»Pƒ²üwéþß"°½Üš_Se&r|Â?ˆËËnÁš-ÜpÀ¨`¹ýåø+Å1Yk+cÆDìZ¡X¹ÒxH‚Rð~3œ€5$¦À¦°¾ÁëŸ~Œ¡G#‰ßwTŽI‡›ÖY—†¼;yºÞÇ“žáéßSŒï{á%"sú Î\uªšn©™5,«4 º˜+Ç[¼©•Ô-+Mmð8þ­@WÚ_b}S9í®P ]ÞÚ gÏ]ÄjÜZŸT=ߊˆ;¯`à¦í“'MQ¢èÜ`9ÍwräÃ_Øö¤hL¶sAµ?¤ûM‹÷zqä=¨¶`ç’WIì€ƒØ hC”³Ä‘Ùb£·<‚j’¨ø‹øå2pЃÃv¡S:ÐsWMôfóÞF‰Øo-æW@rð&c‰ÕHÞ™oÓtî¶É¿ÄE)Àå.ñÚþk’mØX 54!`¶1VñYðÑ‚§hæ°©³þGS¶’YŒPÓ nõ~¯Ü®­ J‡|`ÚûÀ1 ,-™ˆ&)?v|^bªa±© :©±Òž‹è†@µÕ.tü±w¸G™áp6=óÄ¿8ç‰l†™žâ¦‡còvÇ,ûLèQ퓽FÚPy|ð xÖæ¹mö/’Y„\è°þñA^©“sw’2ëö³Šá“#»™ZC=‚¢ä¢kpßy›*8ת ?Oþlª¡e¶ÛÌÙér÷6;é ø‚oSçâ^>çôàÆ»&5Zºp~XND¥U»ÐÖ¬“÷Q Iäs~pÝ9WZ³YUo|¶¨„tËÁ>ó¹6˼a7×t*Û@`¸7`]Ùë”~â‘°S:î0m÷ú ãÝ:‹ 6‘Ò•y«|:.¸¦Ç[ûp͈Ã)í¯vq±máj£q»È3ÙžË4xL›ªNὂÛ×gƒ=blÞ?È©Ã4>·[ʈôe†— ¥"œnóØ-‘<´»-1Æ™±&Ðú(}<çÆ°_NÌÝ&nS¢¤¾&s”\š¾êv6]1²{NnÔ°*º˜Í¾â¶UÇT×#æ £(U áìj»V|ÜñŠÅ^rµdª#.õáÌd%—yUP'«ùÒj¬x$ûàŧžÜùYMSi{‚ Q %¸¬UJgÛObk:°ÝפP4[Ï E¤¨EOQ5êÝ 0Lƒàt½¯Ie»HÑÞ×%]YóÝÅÂv÷úågà;?9c*Vk®r¯™03]Ášû#ýAVqœûb"‡Ã¨¸–ඪ’‰£Ô—ïÛÙuMg[Œî¶8sÁ,Öøôå»axŸÒeŸdÕ ™(³)n¾ØŸ%û¤’_vΞcÕ–jXCû—²Ô ílGÄuõPy?d.ŸÔ%]h‹€²ÀèòÅ)Ÿš)6öÂ3,—6BF»ÄŒT 8ÌaÎM„xû…¬üØ`%Û²àëñúÕ_ µO*ö ë…Fb·ç·¤z©%|ê‰ÌåZfõ W=¸¸À0Ä’-žE! J:iøtn©‹/2»Š¦Hs¿þvÒvë©Ò¶Á3ÐM°®¹†r/e$ÄSzOÑÛJ¼ìI×*'ˆ›Ûó W(ýÉ# Do…;n˜yMÖu¶|^Çô÷yÓp¬|F«g>Êô‘P QÝ:k´¿ €Ó/ÔIo¡ "žÃ¶3™wVÐyË`2¯ÃŒón쇿¿ Çi,ë5åïÌ ìöX|2iêøÄ×ÂS„Ž‚ÄPvrLÆX™¾?qY´±#²7´úØ‘»Ö­Œj¯[¾µ»\ÒbÜ£z§³†,Ù æîvÑnB'¼8w(´aÂW¿‘ŸXå{Ò r0?3“^¤¹îOÜ'%/-ƒ©sžä0”€ÍiÓÆlQKT=,×WO ö\>WŠ„é`œßÊ|¾¹ÿö¤“7ïíbÙöVîRZ·þCŽo8ÏÐba²x,ʽ"Uy»xyî›AÂ"*ìâôC’¹ÆY/ŠoÄ ª¤¼«ÂZSªKHýcqmØÆ8-;,Œ•se†Ûø- ¡l\''(ä9ê?à ‹ÿ‚ÓPowµéF`ü Áqu’‡ê0T f^úÁ<Œr=û>˜âÒ4í Æß‚7f9C°‡ç6…ú#ÂÀ8J5fMÎg” cNtŸŒÄÇ൙·¯½UiãÓ]8JºçT^[«yÁÄåÁ´£ýà~=0»Ä0¤B‡…<Žüçh~ ˜G[aëåFØwÕÛT™#¹Äþ«jš}BÙ©Ý'–Lò¡¶4kMÒÿà­­öð´W·‚ƒ¦jÛ&’è#ý×Bx¥ûsëÎ…I ½>"2°½ã¯¿“Œ_ƒBoŒs(¾á]lªþg-Ïj…ŸÎó)o÷ÿNN osßø jµt Þrpoœ~Œ²fÖ3ÂÏç¾ nvÞêh}/ÞÜÝhæd°Â,Èl;—Üpÿö58Þ©Ö:?ð2ç;Zë/:T’LÞå³øö P˜~>þû,‘Ýæ‚W÷@C mýkI7'tòÅA O¦Ý4`ÖkΩEPˆ5#hªýÏñ Ùõ.îÀF?®F‡rº¦IÖKÇI–fo’m uÌíi–>ò<–nÂÙôpŒ#Èpqw@@C¦åѨj­ãŒ*€ëf•8tâ±·"à—*W}ËCg …MR•nSVyŸm“qƒ•O#¿¯Bº¿çN¦žKM6ÄtãÔ(²rR3ž&<–ç—̇\΂Äì2ÕôQ.Qî̵/ $4×<¸b*þB_VI nFªå8áD&ú%~q±h§$uûÛ0ˆÀbÚ{ì!ÅΜµ%;ë¿:»ÿGשBMux]Ç=üuX#Ð(•YDZ ž¹#•Çz›\ }ÝQ8YŒ®y¸eo'éáîî¨C¿1ùdHÝE7ŸÍ5²?º÷P¯˜µ3wX:ÿ6„´Þ }˜óz´*„ƒPÖçÛ*ÄÄ J"'¼ §©cøµä^?÷‘UO-=Q•>†VO ’†›õï‰á§hÏ"²én-Rß*—àCÞ‰=j6=”(¡™WvÒ0H¤ûó}ÚK½€¤1dšÝv¥ýÓ¹¢‚ôN ôi¡úÏ=IÆ]¿sóʺn—Ò4†²ƒë@iœøn˜L:‰âX£l{9LûQi.™ô»IZk™hÔH’ÛùoHOܼµgÏÓ±` ioWÎ6ÆVo£ «ã© ª/’@´up9Ü>ð¶âí¢‡²¢µB~è3Û…5vƒ¥Ð»Âò\c'lüÄ%ÃI`Ó#Ñ~ÈěԖ ž›^>Ï@í߉r‰× ×,H,Š«:+V¾ÔBvxG¼Ù‚|Ÿ<ö5»ÙèS˜I‘¤˜OƒƒÓÌÅ" kñ(ÀÅ•8JÛïÆ¡nBˆl0âk&c–¨z08î%º.²‡È+²ÖÞŠ‰÷t’¥Éˆ‡.õKÿ®ùÕªz"™ÂJAî߇Tæ’Š9]Âë ²åýwGR Ì+dƒ¶:œó ÷.°èCÆl?—pLµºÂ ÆÛö¾L èá¨ä‘f6#o$lJ„q9e™{Ü#Y‰¬O$Ò Dâê¥:«‰§å^A|µÆí¸ÆuËIÉu Ožj°ïÁ¢_^_Œð0ÍJóÈW˜(w…³…ãÎ_F¬jæ+Di÷úëÛnzZV’„IB¶Ôà̶[»Ô“ïT­Ûº–P2™#ŠF0 ÅÒø+Üe¸~þ…MY;=>Ò’í¿<47‰’·7·ä6¥kLH<À”g›Äu¶u˜ Î5Q÷ÓÀQ}ô·Å íëÁÇA[þíÞe3}³­ç·Ç°6Ä è1‚nÉžþ=MÂöÖÈô#È=÷ô9Åš%Âyð"ðבŸ<ˆXà&²-ÚHp?>QÛÛŸÑ98jû¼ýr5¦ƒÍÝL£g1 c/²Œ–èt·¥™›2äG¯c¦j¸Âxâ ù'òþöi|™ÚŸþÄ0†0Îvº~gý±.æ‘äƽF4ŸmÛ=¡1Çt¬ý°@ÆÇæC©µ÷®y†ž|gðPë­Ø¨ÞµqŸnë˜òF±ò'ý¾æÑ½ÿuc ÷Áo誱®ñ©†áäëó}Ã¥cÐBáøÔðŸœú¤:ꆚVü¡\~ó"ön¶æ~#6Siàuž@-ÝdùÑs×rÀfbØÿXö<ÈG}p®ÐþƯrñ7 ç–ÝR£^meï—~g?-oÆn äêé½yRÅ$ѤLíyÆ}üú8|¦eýñu2Ðç:ŸË•Û7zˆbø¯¡à˜;j;’KðõpûÕ.CõÏJm…¯¼ÅçTdb,]J $_ÿÇRzpå^@*ùˆ“1–™ä:Ò-M,á¾,êÖ¨[öÑÍ †Ð†(²!½ÜUï„+ÿpÓ²ñ• lªm& æ±+ýV]@¨&ŒK™÷Ê<ÏP"n(MQ0KæŸcàVn?[ôK|̵Ñx`3…Ó?ª/ThúIûÝY>nƒöàÆebáØ@ øI®þœüJ‡PŸ$¶ð;Ù›K:¤qÚ´âæFXFÕyPEÆ¡—›.#5*‚ʉê¡OñQ'Z×¶Ê…‹à~§âzÝc¹!Ru¶(CUDuz”~wÂÊÏ)ìCéÆ8µ ¹¹:H~‚ªv fí¥×}¥ú´BÚ^¶vø€ú,íM áâVK¿Ã‘~j“ÛqØækîWtsºT+¥ë°‰G¶eKoÂî>ha2.·½y4UIN ¡B |[x(IÌ^ÐßÛê‚™ž–œ1mêvB~»eÇÍ!HpöÔþIA ï†â€tXd˜^dm¦þ‚ÁaN]ÁºaB¦@hñMÀ|EdqjÄ} Ù•.¼gŽß )vÏ/6iÌ›ÔÕ%"C× UŽ%èáÁÿø/ 9HÕû)Ÿg'9’§#EÿÊU,IãŽM8d…SYâ?Eô'$7·IÉ (cåÐãÑ%å ,éÿðüíÙílkÇ—¢.R|qß»²:ÚP¦’c µáŽGd™®lþq/Ë‚ÐkHqæIL‰ñ£ì^ö ¦‘¢º¬*cÒ¤^cî¯*ð®ÙlYS‘sÆŒ½®íK ß (o@¦Æ¥‹Iá¾`µe^‚xk8•‡€OoÜ6pìz7a¶µ-]kV!¦·žß?åáq J#®OEúƒ ”!<ÿCݰÿB¿Ð8.ÀáF·™‡Š8²&ýéCÓé|4Ÿ’hŒsÿšKÖÅÆó,ÀÊì›Aüõfmmì‘íìoLÄÆmDŒ—äDA¶Uö%Xfrm5ß”¶+p÷Ñ5,›Æ»—¢=ç=Syni/Y%ݳ8ÏnEIÝŸÚ_Jü’öf'œvĸ Åec“ð÷ 2™¡`ÈËË•¨%Ù¹"£e§Ãºþ¥­|0¥¿ ¼„²•ê¦ø—˰¬=ÑÊ{O,†ƒçÚ€Ì7J 3`Ñk…ôÊ£Õùù]¥Œ‰æµhJÿjqˆ ’%dľHKAÿ‹t’H—ÐT§î@E.ýtW¶ï $[YH`g}UÃ&êȬ—vâÇÓ1+Ùþ]HIck7µþ²bÒžmžgÙZ¹ßŸ ËÃþI– ¼SF\ĵÚC¨n5{Ì~É#Á9Y±³¥{øyqûn0Qøç…ÎM—=õr?åðÆÈïö–f€ð§ƒ~s5y'3/Ä­U¸2ŠÃ¿(¡Ô€çpVE*¼Õ’„2“\ŸÐ`ïÏ>Mê¹.,ƒzN¼ ñ÷ §Q´ØY—Ý©/»ÏNáÞ)©äq­•,'mêyØ>«ý'wiw:W¶ê¤|ôßÑvš@­[¯7ÿ[¢E¥gE‚`˜jQ´31T‚ño{í"¤‘@jëqKÚÌYBÛÁÈßGmEJ³¤¢DðEFnøÿ•rgcJÔÈwMp8fPްS®;ÈxÊÚ.‘|è:ùÁ¾–RÙÜ“z(%„³ó6z%w_b´Œ\šŠ… !ù¾Hr{ð¨å,o*7›É³A…÷†5å2[NÄs7xÙ‘éø›éK}ÌÛK²º}”ao}žÓãAÈ˼„¼¦›Ç7±Ó0rúpÉÛ9‹Bó.±ÃŒ0‘\^}ÉÕF‡–¸y½“™bÏ‹‘©hæËR¿0¸w%cvÔ^‚š¾H…uS‚ªIŸ DM6ú÷Š1s[}[l‘—•ø¨†™m´Ùl>£Oó=_Aàæé¾­Ü°U&n "¸á½¤=±=nžfmŽ—_aOQpø¦ ØY;Õ¡ ™ûn2Å*О)«Õ’š!«¾®©ù‹I’Z\?Rjl€ÞEN¶®Pß®ÜôˆÊÓXhØ»QÖE'Õ¡û~çY¬Šâá:é‰m¸Cž[bY*˜º¸ˆB­ ""ü<ÁuŠ–J¶»®ø¹; Ù» RÝ>ÝÄÞU5ÅìñIœ‰$/²÷¿ÍjWJÏYúH§²ê…8Ó¡u£U™Ý õpºFe˜*?K]á{Cañj¿ò1Ζ²Ño# ·§Ö¨áù ê•Ü*WY™¶ßè1 Ýzåþ0…ƒôDð—ùà8[¿zýÚÎ>ÉQy£J1%Ý€±YÒ^H'³ÜݯeGÌ@î1¼{§Ç Š…J‚M²KѰ#¥G{qéDlB:íÇØ¦nþv¶)Ò6ĵÒ:Lÿ›‚tæc)—è¹ó_kÊí Št@æVSJ4“¤gsT  Ê£ÌtVœ³X’O20v:TþmöXÑu©¼8Ú_ï±;¬á÷`ÄûX÷曥n±õ.½2Žˆˆ®ày¡ŠPó&Iiƒ†P2i¿=Œb\V´û³ª ¦ì)ÏA®ghƒs—Ƥ+Û|cgiˆHM¸Äͦ,Ï6ȦfÑFqVö Æ7X-N{àðp¹ÑJ|rõ%K‰ðºKÅÎà‚ =mÛ•X ÓOLæd“@K X÷ËÝ +`'œšf¾à†rVJ#ŽvÚ¬˜Ç~`‹uP-MOPxΔ582ô¼xÇÏzIÿ›¤H kFîß^\†í#9wõ2j_不àçQŽo?%Rä„U -}B™uµygšÏ,NQÆyÛ©PåGÚ¸ó æ×¾'%0~*º¯oÔÑEeG£$–`5GQ͘XØ ©àY~gI×âÉ/ÇåˆæòàÖð)Ci­°xƒŸêàðþ}'†@ÊRQú$F‹: ^4¹Ò–“\³ùæà%­”‘ÖÀDSpsøüvd ×Vê¿j±ÀïÉ>ç=(­/è8&ˆ°c(ºŒûvŒýEîM³9üÕkù3(lú7h‘’©Ç€Í½¿¶‹ÝSE…~úZ„áOØJeo/wòÐ%ôânDv÷>WÇO_Ýú»)Dy ‡‘ÚûªàaökKÕ°­òhM¯|˜iR‹vë÷Ô çÒ)ê‰jMêIqõ(gz)mÞÙ×ΜèSÿsFž_êàÌí&LmWà”ñ0ÃHÊá%ˆµöX ÷…ƒîp¬˜Ò d;B4›³ # 9’Ÿt€j ‘{\‚{ý‘ÇW»7Á\г¯"Òî*µ]"Š5ÉQð(u@;ÖHÁ~øBM¬|Ö¯4ˆÉÇT‡ëmåÃo ^šÃ(7E¢°£“}Ó\‘°¢·r“[#©ôÆã½çó$œÄúCYâ?J·± ”ý0àÄ_È‚XÉ ¦}:’…Bšƒéã°p~+vDCš…ÕØ÷tto‘1Ø ËMlÛo~# W´:iÚd`PãiC¯8ÌÙœÁ@»jYœTækIOòÌ tÏk!‘× š¦Z¶¬° Ÿñ¸ûÈç}è¥À½@µ°l\—rî’?ÌF4øRŠ)î· ˆFõSïLdÑßçñ¾pM¶‡;ò!lNÿ-}é™ÑV“4ñ2o[B•  ÀCˆ ¥;8LcÕn·eðcŽÑ‚b¹0¹\Â(·@á¬ìkq2&påþ „TT% ñ>磌QF‚·MjJ‡í€Kšä`çãïIt¥l¦”ol-æ‰Í9Y.EjCÎ¥kº±B¥Õ­*L¼¥ºaOÍBlw¬Žá£¿Ãqtùíó]ù$]HGê"­Íñ‡;S»€öTòðj^Zç,i§Ö." -Wz5—!îw‘ôUgV}á]éø»‘Û Ü—Ûî•õÅé4q[83r[6"Ý2˜âXÅé¡,áiz ä¯ãç8jˆM•¡ß{ÂìÊ û¾gq1ÏoÏ1¿¼¤h>gn†øV¤¼+ò)'¸W’Ë .CãšÑÑʸ&áËÝùY0ƒ+ÛèàœjMàÜÇÑ 2Ø@ÿ ]áû@O«.bëk«XÞ²¿à_wì*ã·%×6„ì¼ÅšÊK³@kDÛfÜôSØ%øHÏçá›”åÊgçùÙ±±DébÜ® Ý.XüãËÈþJ|h³[Ì¡c“X§v¼€Çkn3LלølÖ¢·ÁÇ2î˘5lùÈøò…®‰þ¯zœQtËÄ¢õ×^Gõá]’n"xÔUnY¨7±ðÝ­’6åtšú–s“p‰ûÛÕc‘ΆG½ß‘$Ôh܈Ájíh*ø3ˆâé@§‘¹˜?ˆD4·3EákÃY4íÅEso—7tà„’AÚ.Rªü‚.–¯kéÎúUáäÉßùBÄb p™Wç©‹§É–z„Ã!sŠ·‹Ä==Ç3ë±Â$¤Ìô’²›`CçÃÅ“5€Ú(àzÛÚœ ›µdò˜ƒH¾-ئñ­¼sÞ“0ÑäÂkAÅ©æÄnúÑ\}ÞM}b(iÆ•aá`QŸ9>¯ÙºžTÜOJ:I ‹eS”f/‘Gü„ÜŸ£D@î‹Ý2ÆAÛM#DÃÇp Q ÙQa7kV ¥MQôš=NDFlMJãLIhÉ©2iæ½ÿrÿIÉœÌ !ÖT$‚@mzcf']…¢ÛñÐ¥Þ$Î2ÕVŸ¯~ ©p àÏ=½k!y|M!òÌÌpÙt¥°´mjÔÅβmJdþ=nótÉ}Ÿþ¼^Ùàuc-©»Ÿ§ùLnkø…%',6“RD柈Ù=¼&*×-­cÃÌóAMn9ügŒ¢óá°—ÇÈñ”Õ|~idªS@,ãª0‚Gب›5`æÇï0ûg„Á­iwBÅè·£ ǘ#œH»\j)ë,z¤¹}S’½ëŠãl'~YYMGýœÍ‰«Íb¦{ê= %ö7Êéaa†r¶SS4)n+ ã a ÛsX‘,üUhÑ[U`ÆÃm3|Sqé¹8Ÿæn…š˜dQn×£ó™MFª™UÞñ•oHÀLìÑç^Fážùlvu¿IpÑÔܵY]@›2U«P‘^5Sï?}‚M’³àô,º.´a©ÖêRòXùDzÆwtн³ ”»œeŸ¡{züÝ(ØÆwù¦L:Šg½­‚)ðË,ðlh+ÓjmÛÁûŠÔ~ÀÁœCx;¿ÓcAî±]½Ošs#§çz} Âíã ù튯¡¾Ö,"Ê‹M ލûÝ&ÌbE‚—Ï‘•ìYû°¥A+ôBNó7ìCð£E#ÔFtÊøvÀ[\ª®§O­2gúÌÿ"çæo!{·úú…À]<øÈîG×°Ù¯1ØáÛá‹LgÖÛ˜<7C=`~è'!éÖÍ>º‚UXÇ’  ò%€R3g^H6Îô’ØrºÚÀDIñÅ"cù×azû$ú©œ‰D{d´M­-Ò¼pÁ>iàq´7¾°l/Rãš>zµ^Å7åÓÛhãaÉI š %=·Lu”®êÞ9€ÑöÏÍí– ¾„„÷'ò].ŸjŠqp€ÃTÔÕ¢Àê$Bb~´—‡ÚDoR3ªD½UοúyYRîúÛ~˜#´\ÊŠ #@h=ñžÌ16³<ãg‡Žýüž(S¦$á›`ú.@8<@¥hf#¶#›o9BÑ?SG86ˆH¹ÒPÀ³´ï¶£ž¢¨?Jk½U8ãÒ[‰6þ<ü÷™¦;ÕL60„ë68ôEOð-weõ«…óÉ04òÅ.bñà°ñR€aД« IL' ø¹!s¨qÏÑT^n´&Z<Î.ió|½Å¦ÄMÆÍ»m*5"*S©d<[smn’W_,Cs“è¬÷B?79NÞ6nŸ-)0SÚí˜w±T§ ¸©Yiÿ¾!­7v#íÄxf›æTO»¦íæv*¸/çȱ¬%«¤DOÖ÷X˜í‰ƒ×"鄽üò÷8w˜ÃЧ˜-‘¤ª+áa%Æ`F©ÑÌñ±¹6½â›%´æ?†J×Ùâ‰e’X6¨5szàëåk¾­p}¯òûDC%ÝÛCŒz¡BGUÜékÊ©šôÄÔÅ |çÜÎÞ`¹T´QÔu¿p{.RdWX K~Þ %skhJìí¦çÝÏLÍȉgøÃ¾+÷ö+ý¥Rñb šB¡Ò‹ÅÊŸ@üóeý…еGÄhÖP_MmÍñ®”3á9ÿÚ½7I^3Âì‚H¥o)½»óHhÄ)ôd«¹¨Ý¸Ë´ÏNlÇè TO•·Ýã'ừEÆ• öM~ÖIDª=îÞ@}jAÆÚˆL”y A0“¯Gn[Õ<Ç[a&n¼=ŸìX /ÂÎxGM†žOë*54^òy­L ÿ’?óV÷å՛쿡G OUPŠ„åÓªü'ï³V®rÅèaÿ\e¦qiÒsÞ2tý¼!¿Ûú|AO§Ìï”QØÛÍܵ[ÎsíYúTŲ]ÀíЬ؎¡ÜWrÿ^o‘K·õµô#RÍí'7Ô qùW|LRïÿ]ꆼý¥Ll"ŽÞk;E಴‰ì,#ómÄ}!”6˃oé›ô,Á½²fU6øûÑérÜš1@‡²Öð%óZºžã(–rCa>8hè1¸Îãá±ñåY—IˆÑzEü:в«‹/mcAÂÞµΗ…ÍA,wRÿ‚ “ga+DÙxÕ*R¥õ¨Ú’”ÖIŠy: ¬¼¸»›ÿŽÚnœÅ.¤m) uxK£D+Ðú£_¬MBR¥¨Ïs®…O”ªíTœ¤>ŒF%’«)™u„·¾ÕnÀä/AGÄB,Ì>8kµ†ž…Ztе½ÌŸˆË|·°ÛL½†V¥Y¢´˜AYCìUÃYÓ¹n_^ù’ÊpSÕUCö.³ìAEUòùÇ¿cÎvéªá>À £?3QŸl}MêI^þ7K”ÝÉ!±&`;íV³¨81J²=ūҙüÞ¯°Ã×uÖ ¿ŠŸ½ø¢ÙÆvâ-PZ7làúwÁE¨{ŒlØS-ªÄÞÒZXaçÔ+ï3òpÔOã›\S6Ÿ‰à kÇ©ïÆT‹ÓÞ!Äÿ+©È#€B6&"˜Ê\Ñë Àªƒ™öÍ —>­ÒÓ s‹©«÷G±H¥•K_9CX!Ì·W¯éâ7F¨ÉÞ=kЬ™“ÿŒ2bš- z‘;¢)ÉzkjFÒ”{e¦Æ™<ѵ>ÚñÎJØw¸òñÝ4E›§ª²ˆ)>Ê–’4æ×øYÒØþÙ½¿$«Ùýº,혆‹8›1Xˆlîª@‰>‰â”˸â»Á‚†Ú¯CœkÚè.ê³N\†Ñ:ÆÂUfä*C¡«XBmâKsu×úuwnA{¸˜tQ³²8ðÇ8a•ë°« q¤çuçš$¢óýBDjé}º¾3ÿE)Aî0±7É\L“xIÌÚ½zJOOñ²mÖ÷cW7qvØé„ü_ιϲmWwµã 5ÿχÈû½–…¼XK?¾4fÆ’ØÖ/*Ô7 )J„jmÞ©vö0Jɬt§%®Wï:¤ó%ã¬Õ·2DsDHuÜ©ƒ9Æ?5X¦"Kú?íUîsP:¦}ÔôŽ5¬„¾‚ƒ¸*þÙlvx.2ÖøZ^2ÏÙèc†ôÎC­Ì«†ËÁc8Çy¥jòÇn‡sÁ”#¾×vÞù…£/GDT¢€³ÛmØs‰·Î”‡ÅÈü2´æ*cìïÔ3ã•ûlž›Zw¬Ž‰‰ñ¡Ú‹ÐMx4)ë·j>÷QÆ©º°‘Ò²(ÅD€ï?÷à»±Ó¸Hõhx–„;vUÍ"ãp~§‰¯ò™¬«K}ÁWs‰Ðá`}´û½knŒ3uÄ™]u9ƈ FPV½P`?Ù¾ÌOcÚ)z¶TÈ¿'νt:¬êŠ‘žw¸•åòUÙñŸŒeš÷×½ÇþÍ´öÒÅÔ·#2ûÝ¥¡ÓÊY9ë¢ô”Ó€—ZiF åèˆqMóšzù8 û]ÈÜ·£ ‘·T–çÇnY?iÓNI7¨ë6y1ÔÒPx›ú}äir®õÙ8âåú{¡Æ†ÃXîu+EíklXy(ºÍë©M s½{9áª\*\—>Kæ\oOÜùÅ$¦³èýJYü¿p@|ºÌ­=Š3À7Ò'¢²‰EuJbDKj "«®Ó†þă‚Ýb|ðœñ9]D+cç« îÈÿÕt¶Hc Üw;qf§ºpŸJdlj%¶Ž"4¦yª¼Àhßmü½¡ð-¯—fÅ.î<ñ§A ð_ PÓ?޵î3pÜÞ‹›õ<îÁYÕŒQa‹éŨ}i冷Šß8ü´î«9;#fM©µhP€Ÿà”›Ósk!£S|ìƒuðÔNKV¸÷ Ö¾£O4h¶ÍaÇŸÇSèèØ: [•¨×£>H¼iˆÅ..Z>;vñÒO½¼,1íÔ꣘Ö–¯ÊÀR‹äª³Ò†‡ÏMt¼Ël®ŒÿD˜k±sQO݉°Ü+X;¨ý—†š?‚E5åk§Ð|i³<¹fõ”¬Ì‹'Ÿ„–86 ÐŽÃLr>‰¹Pµ(Ik²ËŒ)"‹£~Oäl/¸Z,úeàêc³3Éñ@¾ô¡V£†¦Š‡£9â$8é^dó90qÈ(œõþz•Ï‹Ü1ÑRÑôBVW¿qð\Ÿ–w‚7Pæ›·A³ù{!â%Ç ÖNA}šŒeÆ’U&çmüŒÉܫ̓ëš8B>MΉ ¬:CM¾H(éo”îÎOOaÎc›“²qb}ÐŒC-{¢þäf†îæq»f®T%7kt[Uå5G¸Š!>åÏ{u¬ÉmÈå¾nÌÛl¸P)è{%,²•S»2õU‡à xºµµ"ùGÜ{Ò¬LkË«£‹$,‰’á¢Àò*2Fšh¦*ßYÿÜŠ˜£-¹”’ögòÁ1z§š" u0Ää8Yj5¯Lr˜£0sÞ*–9mú³bа(H‰š%:³œ¢mR7°¯`t"´C4÷.Þì©ÍqïTí— ²@‰´·‚jœEQSsÖZ«³#Ý,ss€lÅ{vžŒâoš›j¡‡¬¶emQYIW£2xwß^6Ô>ò8¸ŒÒý2¥ã%bEŠÙBˆ>á›Mh;IuÆ:•·¥Ñzdï9²fJ–wõ¯÷!Kž‘÷'¼Ëu ¿âëfW¯Ë2¦ ¼ÙÑ¡ç.$E(¸çýLÆ?ûð‡^Y•‹mÑ£Žƒ‘VШ"Ý£ÁȽU¨… l$çÎä ¶°÷ÙVæ×`ÀUñ‡ð!5HÐ~÷LFO;𥊀öšÛ¥ù<½:ðN¶¶>òÅÅ)/…sNN‡ÃLŸ¬Ñðö–³ëZQÇ53Åeen‡Ge¢aø?#ökj^8@Ô%_9«ƒ®x_®½'¢Ädcl4 Ê‚GZÒU„ª—¼°XôŒ<§à~V ^ë ®<-ÉìÈeVaÌh2±:”Ó"6&ÏS•f „BR$Ðtß@ã+3%£>1ð™štnZo€ó#dõ˜šåTsQ|Ï©‡Ž*‘¹+oÉÁÒÉÒ ½;‡¢Àôê|§´uXl¶Ð%=aÐ9ÓЛšñ‰¼~€·(ÚÅ–¸Ý6¼"ƒñ™Y`IÚ”¡ªîðkÈ{¡Œÿ/XÏ:ù.¨ò\÷”ÖÌÛ\*úÞDR´L“ØFs)zª»Çgæ*ñæZFA?` «Z#B0$O3¯Ãý‰„xî2¿ËºÐW¤µŸ%€Ëó SñË;åMÛTy–¾š(7üì€uï$Õá+—w—ÉÐ~ê\š't•661äX<¥Ä]ð~ Ç^é´ ¬¢ ñ©.¡ªÝ™Å¨¢HåÀ?ìHÒ§wŽ#>щ§ü„ª‡7ÚÜtÉRS<1+Úú2¸ù9e*U´ì#»îíÉ•gìfj†WËaF|qÄ ¶H û­HJˆ£´H§£}†â,ɦÄ-F1Ì_¾Èó9î€K¸Ê­Ã9Ì´ ¿ëYÒ¬Âú*ñÊSÉ;ee]!¬àwÚé€N Aù¶1zâžh3(¿éŒó=—¾|@µ›‡¹>ÕqÀOe 3ÞEüØÚ†×òîê¯Çr¼zlxÚ‚n²šþÖ4–ŸiV™Õ¾ìè¦ë°BÝ "eM4©DWy;•s`ÃPÜ˨àÕ•Ø­¹¼*ôÈ',Âv_$ºá»Õè'ti¾«óõ(OG§ ­o³v¯Ö­Ïñ/Q8JHòóÒó¢üÌyJ5ö}oHÞä<ŒµóŸ>º·Þ;µ6 õ\;-E…¡Z|G$ÜŠÿ'2·{•êׯ}7cctoã*ìžïb‰+ËaªÏå|<Ð=Þ©÷ê'‘e<Écmç&’ûô©€RõQbúÙù½8 n×µ‡“Ôß ÍyNLIõ Ûe;‚qoëø²$£a:àÌ×ñ}Ò0bñmjHñZ ÿ,ªͱ$“q“ä¤ÀeˆÏíQ ȳ÷ZL›Å„cq’ˆÊEìjž3LE#­Žj]_arwÐÁ¼é=Ùˆ†&¯ o÷R±x¤ºÄÄ㎺}Q±l&ͧïBS*ûÔªpa^t çš”·R™DtñW n ÙË„¿´éwþ꽦ôm´‡š@iÆnÚ—HÎÕ‘r‹HbÀv E,—ãrâæá{ŒV±¡pýV>wgӺɉ`¨{¤éNµ qRÆÖ@á!ûÀ™–M$ÈyêÆÙrWÆê•‰—@R¥ ÏzK¶I Ÿ5¸Íñ‹ÌT|{ô§sãVyBµ±Í A9Ç1Ýù,o°Xõ ™Ã•ãâÛ²>I¸¦û´•°5ùÖë‡×›¨ ”Të ñË&V2eÖŸÖ—)vûêüqV+DM€VfE¯=®„ЦöLAx)‚Îáœë¥,¶øÅtzóc]a]8{ih›Ç+"â˜þfKQ6Ð)銦¿ïg8¨j3ùiÀÏæX^±‘ø¶ JÝ=ê~ On .EMÊò?YX •C6áj{¿ Q5+Øü%âÒ,tT î„¨a4¯¥Q:yýzoþätC» €æm‘¨‚žˆÿ"Àå)N!ë‹fjET‹²†éU1œœsÄCdï®2ý †bCbEÏûÁ_QÜ|_¥Ž°ïŠ¢|a4¯Ó©ĵ-ø'ÉÌ!:ÉnÊ0—“•%^Ä =Ñ.è-œ7­:?Ú# Ñ9ÝFÜèÃc*ñÚ$ñçw²Eì?6^ãkˆ˜X%êǧ˜ûÌÒvDÍæAŠÇ7ÈßÁ®ïC^¶„dÏxÒÆEÈ©]é?㥉¬xù¶6åo#K]º—3©›¸, Gî©hÌf±k?–"pÏ@Kǃ¦üi(>²j>AcÉ›ùBãȆ¡ô6p'œŒuȃ¯Öx3hKŠÞÃÕÈt¤Þ¤¡+¼:òuÞ̼çpc•8Š,‰YwÿݰïOËõ£ü!U‹Ý1X±=êªÈž">ÁûAyï3)Ù[½3ÏÁP“†ÑéÌõh·ñ‰”÷F"òù}F[:ŠÃ"3`m ™W_±-ƒ§gqîö¡å9p&ÍáÖEžßUž×#¬`¯m[jÔ†¢©ò6¦‡ÝÞðÄ$$߸{½¼òSÙ[pÑ+:‘ dÞ6Q2ªƒ¤ÅsÄ¢÷œn} *# â}9潇†‰Õ§ !Ïhn7Ô N/à]Ç ^¤ûg"².Arƒct¿>&ó¿òȲ܇f,Âç+PŸ!L²hq0-õÎQ¹HÜã gßI‰ð¬a9ΘíõJ Tä¼×«T4ºD°ý᪹É\¾Jž}<ޤý•Ô²®z—º&š×SùH= É­ 8:@ëW+åT8}äqíãeK”Ï -À _¸×ª5 ~ çœ¼3ÜòÍÓ¶ÊÞ‹.­vû6õå• ¬.¦Ò}Ó¨:òbJ¸/»ã&3ýmª°wÛÁ÷ið×%ѮҳµJFB}Ïà…¿Uþ$ïšùl:Ý­¿†3qq«Õ" ‹vaî}†‹<åc®ʵ¼×ªšPŒN•ù 0l‰s¡×&’¯Ø2»‘4V¡ŒÌÁe3=ì 2¹a/‹rÓb¤$OG 7Ð?jüDgý€t eô»ZÆl=gšÜ+hæß3äì •œµ¥à±` îwô‹Öæ‹£—Í™AãéÕÔ#œð÷"7D> Œ§¹Ö˜goX‚ŠhCmI{„3Tj¡BŒ½b3lópÚ¹;*û‡OL…柱íÈO(âºÜGVCaºdcÓåá´¿G†Ærý%†Üx½!€Jý{v˜vD\Ót‘PÔ»¶@Ê'¿Z¼íÕ¬–y1[-<=_@ÁPñ›Œ`•™Ÿ#ðÍ5;uFº–Ò|/~E£à¿–™Ÿ±C ®ïôSÛ djMSŽ×Ò+—±.¡ÌÓ #?­³ÂCTž¨åŠÍÀ ÁÒL½E”¡ð=;M´l‚Þ­¥çB¯Œ<즌+a¸ ø=À5x@Z»—P&]Öh ª÷ØDkŠ_±ä=èa«¾d~ɉÕ]„,„Ù5Ý̦G5¶!tJ¾gœ¨0q¥#'ù*XövSü*—å P_ø@ úŒJ³ `§˜ý46‰“Öبòsh>ðÅm°#·Ø†AMõJ›¹¼¡ï¥(â³·°ÌïöœyY˜DfrêaÙ¼@jÝx…œE©AR´jäÌÊ—TuøìŠ˜‹Î(«³¡â)Ã5–³^£Àõ@¿8¸pt}<ÊÇ ÎnŽÎ¡f?}¬¹Ê)i`Žœµ¢-÷EßxE'ÇÜŽ?|Œk§¨' F{y’j¦Mƒ•)õòÄ_ž"ÞFGK ïw÷ý\½×o ?cÕÀKÝÔ! Ò¹ÀÉõ8}<+üsã¥R”ŸŽ¯üHa% …Cû71ú>ã%.Oà`s›w•Cõ½÷I…¤½·ºXeÊV=R¢:MñKjÁäÛ}’Ñæ…#2CüÕË/¶.Òg)ïýåSËNLÙ7›àyñ "Š¡®5tÑ7LXô›H+ßï>Ë“Êf?b,¿±n§½†c[ã†@U/—å ü‡ÝU#6“<‹Û *Dq2`õ 8¿»å›«Cµ‹*°8ßlr¢‹ä1>þÀ¥Š —Æ"Œ{Ë«ŽøB‘N²PñÖÁ3p‡,a#E4ÎÇõËÓ?˜ (%þÕûE˜º*ûRKÕ±sN¼>áDêi·Uô¢õ¶>#ÆÕ.ž¢,¡éø¼ùí´ã=r1)•P„‡XO€àгèMLË{‹µfÅmP¦A"}óŽ4ڤ梩N0Ô>´–½kV,KlTâkqªvÒF>é˜gÔ}ëé ¥;×FæÏí ˜@ *\pó)(ÒSª2‡ÎW ~Hn‹›ïddøFîj\h2$\ªM½ÝSŸy«¾~ t3+³ÊeJçÒ<@ÅսȬ±ò§‹iª$sn™~æüÞw2”½t·3L¦gÅ:†„?¢"r¢é¬M‘´1¯1—§Îm“ã ã¶é¾{äoä·¬ª½ÍAÈéÞiÂe™Ó3XÉVá+¿DòÈÿõÉY£òž‡±¬Ç&e±!”V²^Àt^¾FÓr‘Ç É¿7`1…‰Ìúk¡ÞÛÝÈÀkÛ$_ôxÆ(ÀÈͤ Ìáòå€5CÑ9G»Ü"'‚y<ã “¬°GLKÆ„€È5MÒ·¸º‚S('”ê<øvvªRÝ5.×Ål,ØÉ–Ø]þÛgþ­k‰`m4ØŽ-e|L@ù'Ý*á,Êb‹ÑQ[±£Mþà2Œ&¨Sù®Y¼ŽI=D„ÿNÚ÷ºëLÌ'GYýÁçyëj:°ÅpŸWv”«Ô_És³ñÃU]™°Ô†d|XœYKzmŒMÉMÉXyÑtQÁĉ’æštŠ>k¢RãíçΡvÊ–j¡ êžÓðƒ«t;eIábÊkRmÕnCÞ«à¼Ü[ŠÑ²Ò}mp•©l9ñ3d³zÓã½*³¾^¡:kƒû¯ß|ÁºqßÀ¯©]…ßK{—MVˆ¿Ö²ô&CÿIÉDÝhIŠzN'Ĭn…–‘”ÒÎù_îú¬ùT¯ÔŒØè»ç‘(ú>|›ˆ´i>ï¹¬Øæ “nýÌþïT¯è¶¶~t$xaÉ(lõšß>ÖÒlÒn¸[ßÏ c´+äÛ¶¬´iÎ$ÙJþÿ’AÁ–Uæ¼ø-ðIŠþÊŽ”\F[WïxóM.rÈ`t@Š TKWo¬$7­*ö“ïJ›‡aô>…×€XûbçšCæ''øÀ£›î ë\ z·]ŸÝK\6¡%BûöæþçëK`Þ“—Ùr£+ƒ» y˜ÕH º8¢L¯¤1 šÚ̵'ÏnëJ=¡C’‡LOƒH›§pä$g„D/A•U‡`®Ô$xÇ¢& ·ï·ÓCñÈÌÿ†½ÉÝo'“ÙBq õÃlܪqQ”§2%w- ú3E ¾$?Ž=ä3R&á7ÕÀPlB<—‰êI,¡]ÃCÔrŒwobA‚AK…ê©Ó±h?˜ "Un·}©CÐ.*S¿zÈ(­>a;Â÷*U>±æ#qjéUÿwP8ÞêÃÍYÕf?餻ª¡à äm,…¼ù è¥XœÏúcÁ”Yåïñvâ}üV!ÆL¾¤wCP:ûMϰlEBù_)©ˆÆ3ºM;õOSÝh²—õò¨5ÝÈVÆðaÔu{´ÎGœ±¨‰·Œë÷u¥ÑE$—D¶n ŒócÚÂRùõ vë C…¦¤A#îbžª‡g¦]M”/ÙY…ƒŸ/ÑRü#ès„gTÂçÄÏÇ O(‚9µÄ‡­YÍ®fTÓ±“åíð"„œþ:†)hã†×Šþ¥ÚE—ì÷˜È˜z#0…E{ã¿TSþô=Á—d˜Š)†š×[yé8º××:xU¬KD©âÀS0 MÇIðiÁ°N¼rÄØàÀ§iØ;Þ¹&˜ ®¡ïä­)™“î–$>e¬ê*ã÷²l“Æß&ø°Ìg],éàrdµ±oþ«ÊF"¤ýa½?ÓQ“ß’ #©fWÊuJq@Ó“Pó3="SY‚ ü¦eÃ8$!‘¸z¥V£Iñ_²4âZC,ÙŠ«F'>tÔYÃÛÛÛä”)£Àvdß íÞvVí©ˆ´ìø³ZÉäpÖ%Ó¾Ö¿w† zgõ"W‘ÿáˆcw‡A™KDÉ6w‰Ò1v/ÕÌþJô¨9*o—]ñ1R¦os¬é6mß0Æp*õ0æ mQ ~ÁáØõIÉ2.VÈ…"i¢09ó· ?M¸†©}΀]ľgò™|*aøÄš¸‚iÁʧÊ+Ï30!I’ƒ\7û˃½9ÎMPPÑÈY´ IîŽú1œü­5º}+„Ö² Œ¸ ˜®ñ÷Ë·›ÒõhçÙ ,=àœ•£%?ë¬m¡ô‘FÊ™¥RÄøÑã¿jÌ…0i+ å­7Héà>Å¡ì–Qµgì××V­éôg‚9&D¶¬>ÔL”˜Ðe_oP•Gmè,;™{¡¤§¦¸r”j\«í3>X/  ¦Ð•îïNŸëÒûK;w†'ÞŸ "œ=U!qÏ_lç#­¡î!mS…Kf:ö‘, luk8;rÓÌ%U&úùМ2B®brkË3ýûùž` 1ˆÕ1 ïÛEÍÃU*Sžµ6Æêü܇ñ%2­…†cÜiþÆ{ÑâÛµ:ð’4úé¸(¢Á\ŽûNÅòÆcâ×Z¼¦írÛ»—Ä=¿8w¦Sq%ñÒ„N^¬vÃ5Æ-;|Ò¼€,ò‚[~b(‹³$0òYü¬t0k‹Žœ—pΡôpé¼ì9ù¢!½TjsØs*¹gæg‰¸³fëgr¡M<þÀôšþ©€¨BæzÞ¨Ü:‘Ww¼ ÕÇù^ÛÏ öOjfo}féùêzÚ¡–Ç&z;Ù˜ìÂþÆHZ´.¡ýF .9ØpA™ôôÃ2ë­žâÇ"µ ì¬ÈQÞíµZÏÒI„Š z:úFI 6‘§ÂjÑËEÃìU{¡~#áGRŒ<ðÝXrд}’Uc #ç °x , žð§Žfʳ–æmó°Ä»µ"rJPÈ[b–™-7zCŠ·Aù¥‡”‰Ï¹šôL³³Ò½·&C ‘æVÕDäÆß.®‡JµE'Ó¶K_9¼-á¾Ô§L{çb‘FA ‰‘ßžª¿x‰ÅKàc¦m è/?–¬R9áÙ`¤´@÷}ë°ÂËN¹Xø¤Þ›ŒjêïÜÐgò÷VR0Ê”÷•BCÜMòµ /×Ó7Œÿ›W%3±žOJéh’äÈ*ü*ÿÂz—69à¥ÞU+5J‰ ÀåGô«9ʵëuO² uêÿX##— åF"²Ž“¯pótˆµE4ó}p]DCnÉÞIÕ¹ƒ‘¾2O\æŠ~˺Çw¡†åºí¥çÄÜPÙ/l¹ÕZ#ÕÿãEúUñ¤ºÜÒHGMþ³€Ûûßžwž`CêÉáñÒmgÔŽKìP ŽÓ-ˆKK™Q¾R;ÌO`ó:²AØôB*“ø(ÄP˜[ÇnÅÕƒm²"á±Ýß's=ðC% ’šªTÿÅâñ…¡ÞÇÚQ>Ë3ØõS„‰1ħ /ŸcýúEÄîz8ö§†Þ =sßj é…=û}ñx·ìÈ·S ,Ùþ¿':Eå`£ù¥±M?I Ž»€øÇ…Xçc™4 TplN ³ ’:ó…ƒ5Ì/’º$÷‘—ð‚¿Ültÿ^FJoø‘€ÄÈåòÜV§¬7ìu§ÓaG/l¹|p‚tº]ùMe_ðÌ#4 Óiæ_‹#¢’ÎÉ:m‚…í1¬j‡Çð[™n:ãdW;ÁaI­È'Eöo—_Ý®n¨J1qÍÍu7°œa³oWÿBVV3¨Ž=5*ââ…tðp¡B'&"åN“/7A}ckL­ëà=y¼(»‹zÞµ(v·ÓÛaíS”O2…ªhèïåhMù•Æôf±eEMC¸¿Ýü]3ªlYš8P—ôµ)†F}Ié ö† yã‚KcÞùr”Ì3AáŒ3æO3¸’|š.ç‘k+¼Ðܾ"»EHñ-òÐ4œº‹œpã oç=Ånp˜ƒKÝÅ/)A¢ÉUµ´FtÿàÐ ÄxË:ZH€¤-ÏµÖæˆMQµ»Ú=‘[ “¬g¶[Ïòø›,®µÈÕWbK÷-n¬®$}x)/s„Õ¼ô]¦Q&¡€Æ`6! t.„¦áÀù¯qäÇŒ&<]:â4yÕî-f:×_r!¬ï 'Ù¿vãç„LÞ$¦Áéö÷ˆ* Ñáþ)ŒØÝ#øÏt„æ³ØÎ<îv@ž9ËškŠ}ÿûøë™måÔÿb[2íâTí&žùýÃø€k#ìÑôãkþU—ÉÛ–ß(Ï¡ìøªÝû‰ç%jP>{Eý…H$¨Pm‚3y@Ëcòjè¬Yª¹a>û…ŽI¦µèt¾±ûFÍ;ÖèÁ\PZO† \Ç2?W4älI6г`uïm ˆGá#z±TîÝ&ï‘<åÁÕú&ÈŸôŽ~lcKZ6âŽ-œ³äÏB#sñ+ç·˜…¬Ãæ£eå´â¶Ø‚ÛK ± ?Çsè$–¯Â$ŸþÈ*¡kɽ¸iÇ^¹Ö f¤J]æEø™îRG´ñl&Ý68È/ã­b+ií™ Pxò¿5éÊbE>'ÒD¡ï$Ÿx~í‘®¯»µ”Á]èp5¿C÷âÕÏSÝ“ß*~2]w)Ê¡:QmõTOz…^å6,*Õ,¿L àöô™kð½·Ð¢ÝÝ4XBB„UQ£²÷@DGÖák»¯1×½|USV¥‹`¢|ü­r£žœÂÉáLÉOn"á3æõ¥ØÕÖƒÃJ’{.þQ¿±œ"ZYÚíµì¸4œ$«þÛߘ×_ùˆ¨µ¬÷¨=%m/¾ ?7RãHÆ"(~©Ø«ÅP¿”Ztf,¬'ÀA8ÖýB“T¿wßE%½¿þì’¹ó¿Ê >¹È@ê±*||ÆêŽû=ÿhƒš]CyÂSÙx†§ãÿ·®;ïâî?y©R¡B=,° è.Ф² ¯»°(ïvŠ.ûõ“¯2çxîf¬§¹í+ouÅýö™Û1ËX#Ô"ꩲ=Ô_œPÂ`K ªÏ $È”íö,fé*‹Œ)ËQI>ìDÿšœ(h ñ2É€•ñÙDc¾Í³šy[úäÇžÅ:áac«ÔE¡à9ÕY dãŒ|;áòd|+`YˆÆªöz§5·ÓÛûxüiçL±¸èJ >ÒÕVü@D±UZs Ž¦™ÚYF-¯b߆â{ªŽ-›„,’Þ6b!Õ;9Ó/¦A…°á ¶:ÎbCN^­wâyØË‘?ûÅåH?@è*äH`=ûúë¹×'ŒŠóøGGO³ââßNö$ËsJavÈmG¼þ¹°sR0°Rr“Þ©ðìÕ“0„ Xþ?¨ˆ¹Ü¿Y Z'ß²>sƒô·ÎFNÖTƘÙ5hoËÌ¥µ Yé¾[Õ2w‘%¡S¸Yöý¤0jÙP”³iÊÿ#>ò5dš’fV¨¨ŸXU¾ Òƒ2if`È K HË1T¥Êà‚„ω‡ Œ´V#šþ$Œm€¾Æ­a¹2ÓÅ©gäÈËcx ø©ÀÜ¢c€¯««M½ùÂ#=Æ—Åœ²Óõ€6·‡¬–ö±==íQ5þ±u¢Žg ëdÇ^¦S<ë(‡½ëÁ&Œ„y]Ùk‚7²:ëÞ‡Ó ¡åQùQä¹jÒ…þ8£—ý<ø«%ÇBÇvv”TWÂÔ²˜¸ »‹ÔøQ%î÷w{²~™¼C½ã„xÂ8ñÙ*0 ›™c «¥Ïú\ï0ô¡nIV’’DI¥;02u]ÀŸ% š—•¿ 2y„cNí&uò ²×ãn û£AŽÞâÜü”|ÄÑáÕªL{™j™<ü=Ã;ƒ1ôÿ™VwF¬d[.èÌ`}Ç+MAìÐnD1ߦ'Ij™éoôë2ý{¢ÒŠó4wp틦±cq´e {9Ê Ü‚¸m»&ž«Š“3,3]U’Ìöa¿ïªtT–Œl‚¯I󼙯wýM~8ãC” Î1RNóo•òm?²Ó‚,…_q³wkV®„y´jµ @ú¼ÚP(3;Þ/m‰\vñf\0£{Íy[€3Õ_Íðæ‚üþ…v…½I6BHqÏܶ?%¸Ø0F§ Ok×NårŸÚ?ç+³g½¥VŠ¿Ýµ×yÃVtÈÉȶmíëɈŒ[KvƒP$]mg¬q0_ºÂKt7‘nõäóU¦õ•‰ ¸ycÿèº>,鋔Ϟç6 ¨£,NÀ+=ëÝøæý86µÂh @_Eü@ˆªpFG[Ëiè€$*D]ãÏÒ<úÃÉ̳?ê–¨²fñi6·÷eøýøüc­“: !30Q6¾V½À¿gùŠ0kbýOõfçÛïTB¹cžUâz °73Bl”nmVÆ^,Í™ù?äÿ{'àIuÓ›qI  Ì~»"ý¾CȰœ|"þ¶ˆ`ßÔ[ÛMŒÚئœr)^üP<àÈú³¨ÍÖïEh¸1 ü •gø¨ƒ j` V`W,‰Á\öíPœäN=®½9S’PHžŠ\aòlí?Ð3mÙ$¤ÿiXõÇÃMÅ_OD‰FòAˆqiAátE¶WÜb3Ñ:!?¨öm[ˆ®îkŸSŠÛv¯AÝÙÑûiy]µP 6ìàïb+äÏÅLV™Ø“m- zò}®‚ç}~;U)P½9·ØL\ûÞ¼:d¯Äw¨‡³êãÔ ÍÙÝ+žtTx{ÅÜäé^T'Âw½<¯Ôl(ÇÛEûò‡\S¦‘» «v¤$a-âÜÚjøªƒ¾@ŒiætSB“Ÿ")»HT½*æ×©¥zû`ËV†ñÃãAÌØüÖTƒ›_7[â‰}¨·0˜Š<ob¬–öO·ïØ$P«™¼Êþ³Û<ÃDæ(íî¬ñ…$Yá~?,gÔËLx¿Õ£™Ô‰‡?K.E”†ˆ“ ëö}–Fv››Ñó{,odßig¯C¦ ©¥È–E®{c•[*ò¸Ñ:>sÁ2 =Ø$˜zФ•­Ù%M¼F}ÇjË= Ùþq|’°g’Õ*ƒÖá§ÿ~ôŠ]?톀ÃQŸÚwJP‚pl/”qˆŒ¶¯2}ŠǺïº]&áäÞ Ùò´Aÿ+þ늒 à:ŽˆôïÏÎÌ¢ef*ª93´ôîdy°NÂòxwÊ®wŸóì˜È?¶§²†sà*ƒ¹pš9þëàA†‚Zå@¶Úªà‹oÞ«l \öBÀØ-sÍåŒúÈa¯jK””±ó¡†“‹ìrçͱf¹òa#ŸPþù2½{諸\£ccQúMÃÇÀv1/¨šS *1h%q)àîöTñoA;ç£êKä %‚òkµœêâP‹’uIŸ;‡ˆ1Ä?ÄypûèÆh¶"…™híFy&¬Y•7«©½¯Þ½Á7'•8§å*¥=Z Ÿpj2N¡7Ýa OÇ@wþ¶ŸZeš]ãYé–µûÓØ÷voú@y]iCvÛˆ¹r¢|"úRŸFà†æõá3ï?ñbó_y!´zsLM¶Ò‡ÎaíDÉÛJª'kpEŒ»ÿ…'Uyê«[¦®Ñ*àu÷ ù¶QQÚ‚}•Î&f)Âï…܈sgSóoqÂQDÄX'~»{&ïb®p©è•_0…$"˜w‹Z§Ä *ëÒ/Zo5È”îÎ!…^jaØtœ‹ç¥ïÁÛ EˆD\#,'ËÑ¡¤«.ÜÚ¦³+çÔ MYøÃlrIG—RØBt|–uØÐÛþo¾Ðv®l"×Àh <øYž[/ݹɒ=cëØ³ËpÁªt^ƒæé/UH9Ýêšp³Æ‰ÿ?`¼úLÇè®(bžý¹!ÛêÎ,>B$S¨Äý¥…˰À¨ *V°z<þ©¾ÁìÜÄùºÑ­V½ÚÕ²B¬8 “PÁ½„RŠÝ'üCËÔ1é„0Í?³›îî3Ô®šÛ°˜7¿°r¹äMcäèýÏOÎçÀM¢úU\ËÊ&”’@¨"ôìÏêkls€ãØ­SÅ-Jâ\ÞÀ—ë[ WQÎVщÇZ¥R>äÆcp–¡&#؃‡Ž$ØŠû­[¥|/ç“Çæ~Æ&|iâ“ly T9Í‚ƒ,Þµ›¿Ÿ“@Uâx¿1ËG²ˆý*El bË=Ñ !`³'š#JiÀDcÄâZƒèVÆr@c´¯ÅvøaÞ÷™JA=ü¯Ü&ȸ0 é|á)8B¼Õ›¦ ÌnâZÜæL Ióscí ý©Z'v$@¿ié †z‹ã•.ÓA^ó öÄׯ§SA†ò­,.ÙPg{×b#¹2sÚ2Î9ƒ3þʬâ©4äUÕÀ)´”žôˆÆLƒÿ&÷ÊŠÙ¬I¢T¾$X?³"5;¹0]¤uÏζ¤ûÛ´\¦¸D†k˜ÞÔ]ùw%¹*ó‘2£Ø ¤Â%pœ®ýDË *¬ÎËÀhÏ¡š”dÞ^^1–=^4‚ x\?ÔLÔ¯15+îJ’âIsÅŠãLõLXïÝxlØ÷ÛÒÐïï©hU&„'Ÿ®~…LØ»ö…<8^ÔÕÉäÇë Jˆ’Äͦ\»r+n‹kJžàêÁj¸@aWÆ9·€Á(Æ:#u~¹w ÍXŒúBÙ—Lð¿Ô†ÅRñ+©ágÍi‹žeš\¥“ÂYÕàykOƒëů½‹ž&®oäíx[Ðfª½1§ñ.-JÌ‘â³%˜’µ²ç ¼~#´—`s"¦ƒ¥_.‚Èä|m‹Ï8"1ÑNñ&A†ºöÉy\ësƒ=F£HÂÉ+"nŒW ŽÍÅ”ó·mC–4‚† òúh%ÉØ—/ÙlJIŒ^oÇÈ(ŠßÒˆÉRh²+Ϊ( 1SžQXCSÒ œÍÏ}ž3k—éЧ#¸¼X_²wƾT^po ÀV”¾JˆèÒÃxÇåüìlï"COßæ•"˜»€·€}‘!ƒ–Êñã!ÉWüTbJñ°”ÛíOÌ™¯üñ]Ú³M£tÞ×Z¶ßð€l_JX·à½Áp˜r¾…v«„Ô±NƒY5sÏu÷6röÆ_Ñ„lÍûu€ÎÎLøê½Á¶ b[YX¦W‰Â¼ä$§1ŽÕ™ æ+xàÈ)F¡1Z¹ˆ®0Úëb‘I}Gw5ã (T1óM$Ð5:iR;šºT X€­#¨½ýú'?x¥ÇWmˆ¤SXɼ¹BRƒÜ`mÉÚu‹ÀúC¦¯£~ºK1WR{Ý)Ê]50­Lîä©YÝj=›'u³OTl:58élWCz‚"tEÚè–lƆiä(BÜ홳¸™å¸ï›½ 9±)~Å >+˜¥æÏPôreŽ›šÝÞ'~eÙØ`¨Òk5©•Ú÷¢ÿÜþNEÛÝ)§/ª/Mö]ýeïa¬¹ÃTÑ—‚—o|Á#´®ôÍ=—Ë)nmNFÀ0†ngGb´ÉD;m½²!n™×£iD1Ì·6Ii/«9x«–¶/9..ÝYˆ' ¬xQý»äЗp=º¡ùQP ©, Њ®;º¾Lá®ÈØéævߪSö‹ÅÛÂäÆBi$ª;’…F¶E ­'š¹‹#Àøè™ Gò…vLêr—Òé9#B™V›½ xQ¥iF~ïpð=wÚ\Éåî±P‡L°9§ GJ7ST²¥«3¯æžu‚)ÁM>½y/·wí£²+š^²hvk‘‰Ýæûw«Ó®DdEÏüR‚opÞÂÔAgJ€º q²h#B»îüÄŒ£ék{­ñtC/CY¹‡ø4»,1Ày°úHŸž%:Éa3ô’7¾½ %ã±=ÝÃË n&rI|ÔhŽçA[³Œ=z(Õ]äâÇóÕ;ÿÙ¸r2”)±ÿJzªøOZåâR›f?óǸW-œà sæí˜dM”°zåå;lbÆ·p†=d‰ÈÑ7:ò‘n$40^Ò>i)ÔUO¨:¹v·®îºžr»i®B£LíúîFàûܘw£ r¶ZW»wmêÔ¬ÖNAãÿeðv ÏØ!zÊåFNÖµ_³¦–¨Ãñ:pÌ“—P‘ü%ºFº}¦Öì*—-MŽ¢ìiÚqö`y·• 1kY¸ÒòNóÐ B©^ÞM)yÂYŒñà}ŒhONÜh³”„šc2¬g3=FÏæHX9 )¤WÚ¶zôZÅ·Ì;%~B¨“íå/؈00;]XÜIû³8ƒè><þ¤´U™ZÈáž~Vq/¼ZÍþéWªîˆ$¨ ï¡ÚH6˜šÀæu¾oz£B¸fã^X2÷PFðkb>ÅTÅD¯Ð‹Äû,ž'O×a®¿ûâŸv|­·Ã*‚êœ2å9X»*èâ}zÿ°‹²•­)ÇeûÕaQB¿yƒRŽhø%€¼ ÐªMC’c‘ˆúsªa×:"`öw;­” Î-Q)ŸEo^H–n/G†©ÈË(•dk¨ÿÎg±Dö·ƒ9–n´w#©<þ§Î|m6xUÛ©ŽéÀwo –¶êB ¯]À¢ý’¡ùús°°}ãdoÍZ¿)B²È ƒæôºUW×´$:K´sË_?w=ϵ‘Ïd !ô%ŠÏ°ôN PÈE‘¤C0:ܤ°Á׫ìðÊñsØh¼J¸Óc¢¥ö¼vU jP‰†¶Sº·uç–£Åq]Têæc¸ ~*œ=Dzs•DäuïŽ÷š-kmœÉ9•Ý„ëÏ}šn|Œ¤8k$…þb HÐôä0`ǩÀ¯å§ýfCÃ’D}¨†Ãz§;Ùï%­'=„4J ½O8K<H^‡o±ÆÂ —„6Ï$úß .Ë>mš^ò˜xÕ ü‚ßfèØü”E¥ECïwÙ¹¿{³õM§™D·+:æêfÒËëÕ"Ôš¢}¹w¡]ÙÒ"Jg ðÐÚüØ~Úƒý§]ì –T.,F !²ñö:/&TeçoWþþ ÙGYeo¹Ž-Ú —ë\.o%q§¡ßUCÏŸD¢|„Õ[¡à4_«r&Z‰‰&Bˆ^b4©m@9(ðu0õɵ,b¸ÞNòFoÑÛ#üê‚Fú‘óArõ³[嫌À­‰¹º°­M³†‡b„ =5QHP-_+3»Ù—ø­=USïÔX‡ƒÈ9¬Ëšÿ ê:ñŽÕD:îô¢ïà ½nÇ©ÞÇ娓iö_¼¿3%rÞ1ô`ÈÇqÐN¬çRÙTè®wcY§ €³_[þ ¥áG渉ý_3>M‹/G†Ñõ¹t2eA8mìü™Ä÷0`œu¥ÊðÃqéJñH@Ù[j£]4ž?âM–Ø>¿ëÔem:tk»“EeU‡˜c-/û¼ú¦ †^‘§=áâµþ/MåO°_G@ʶ_…È|Ð&¸xE‹$kÞa·O•¹Íõš¼ ,w¨Óß=ØfÞx>bpw—'ÎîÚ5ܬn· °ÚÀ¤å\_‹Ay W+Ý㸔·ïïØE“”ÙýêÇʘg÷×&Uë5RÆ‚[¾pòÕÒ–'ó^ê ­¯ÉÍ ùgøgx²$üÑ×–Žæl‰\¶1Dݶ›ÿƵÁ÷ƒ±ä§%^±é3RŒÊó‹x¨eêø*¾˜¨¼—­-Sþf´uWδìR£wårÜY¬uKÑÝŸ•ÁC™Åû<>:SËl/½VFP o>KB tù?l¹…R\Šhä" ûÔæï]¨7¸,™Íó–ÄKÈõ±œ#üâ‰Å÷ÇZƒÛGãÅ%k’‘ð¦Œê_¬OU·ˆñž­.…»ƒÉJ¡ý1”LóÁõŸD“}ìeì®*`¥A)ä0äx¼ÕûréÏg|øü¹{뾤®Ýç4Âó*¿Û;Ñ>‘ÐK˜d+å\é;—¹–H>é÷€ Û¯jBÇ„ÊOti¯5ª×mô7ã‡Ó3þ_YAnµË…H7± lNñ0lCO’›OsÙÉÅLÛⱑv«V$]Ž™ßÛU†èê¥äÕÄ]çá}ÞL½)ˆ«9ü»”í&8mCJæJ…¸ºN„E•ãLµ4Þ™‘M¿’wׯÓÿ # Цgµ–íÄ…éo¹q>_^ÝØdUÒ€m e¯ðŽ$Ó—ÿP¶ÏÖ:þ~xí¦aUaÎ×t ‚NzmÌ+0ta–XR]NÐóñWžUB5.Ðl%îÂbeìzû‘öªHÑÿw5XU›P’Sø_zœE…Iû×s%9O>J•º˜*I!\r7Úœ¯î¹ðr¾ìó3%2¶üêSüu®$™µmH¿]òh&ä EÁ CI&gtSÊ¢£R á½i˜‡°OwM¾±µ@Y*ƒhJËN“õºŸƒ#pwß/Ëp|¡ßçgBØá¡Ñ—‘~çÒÍDe:k„‰ç›o,2´LßÍÌÅÜɈbƒ ÚDíÞ@€º;±îòìMmH”…TžøQØ(ùŒqÏ'ë´á¨M:9Xy¤Žã‰½ù¬ì•žÜ´I·4µx|=‘’VZ¾˜Á üv£»JïŒx¿Ô÷¨,õ-ºÆ3ÉÚ¹°ägÜ©ËXÀ>¤Å‰ŸÊ.úµáÛ¼ÿX͈3ÀP Z²ù™Ö¨yÓ¦¥<À\)þǨ|çÆÛD-}Tä;ÈÉ&+¾ë¤LѺ~¯y®’äêïk”ԩ‡ԌöœgC¢Ôv’ßåŒÄ½øÃRY y- ˜P}´0"k8ÿtN&D`³q¡pÄ3kö›óU¦Y ^wŽwÊGÓ¯äSs“W&¦¹Lê¨vÍK*Âá:pe´x˜ãÝÇNwI.`mæt†jÁ!ÑÙkô›V1Ž€ =wø¶yóš\|û1ÿIt bú`Š—O%:dZD†V†ÙûK´ƒú\ömÃz¶0­ƒ€Nc»rç“míßÁQ°?¸éCáˆæ,M劮h¤›ôiF 5±bq nûš²¦pP쓯½×;ÊÐk}0áN½:ˆ4ˆSh†i$8Aè7þúÓã±~ˆ—Þp£Ÿ>*Œ:z‹ ÒÛô#}쀨ˆ£›¹» û²ÞoX¡²‡ÆZ¶Ò² †!U,¦ûEëWeµTs€‚ÁÁ‰7çèh@Íže^®ï6¦ÛR®Rï\Û‹o‹ ý ¤vï½KY %¯ÑOúW|Ðb윇¦7q7)Ϥ“Ø M“õ7¬“°¥oM´¨ø#®—Õη‚ÕD”4lüz.ß­V ãÐèJ3G…ŽçÌ•©LÙë.LU·N"GïÁ£bJÓ8=žåë$ó‚Ò!•opNª:ƦñEAJÚvBuM½†+«Ê4ðêóºÛ±I‡ú"w%mò_†â‡µSYásAá?R®o¯ˆ4)ø*<\ùXzA8åp‡ióBgy<ÁpˆÇ¼\€žŽ5²¡9š·„ÝÐìË\‹w{xÛIk¡ZõGXØøŒ—p=‰àj]Å=;cjû«$náÕt¤7=ç/ÙÚ‹è îV¼ ‰&XvFØh™n­jO§­.­lò_»4fï“8 ±«E.R«Îº>3`ü%jnZÞ}åówqúòåD¯ÜSAHQ_R‡E‡•XLÑàå’esçÚ¿È8 $_­Þ±i[ç®F¬pð@L8_“¶Žä…Jvk(Šºû°™ƒÝªÁçÜ_v©Ð"z´ ¸uÜÇÂCe¤T Œê|•›P¼JIzႇ³M¸?}Iˆgp£µít©~¥Œ¢0<ó•+tY½8r¯æ…òºrj<܆ƒ|¸Y8•‡Gv%/1môNdoõ›UVHhXéêàKÒ/šøvúUûlì*î2´¹­¥ûτ꛸Z ïÈDÓ"Ø~0n%Ë0òÕÉYÌ-Ý‘á1Ý}CÍB²³$ÔM É`R¾ÞL½÷Y_+÷û´½×MÉl‰Ý3[­~Úqœƒn¨äf1j§Õt'RíLK]Åžc17äøv“j³íèN!¶Šë ·nEP4F3,K^`›“ÿf¦´Jàø×­ßhéæÁv £=g!Énpv±$õP²©°Hgb&EËôe¥¤¾Ì‚AgýÒ¾\§Sr"(Í&_ðv9¸¦æ{uá²eŠ»ØIX|±oïË+©,Boøh/²À†oå9„j[TXŸûÕ¾d¼>m׋z¬­uÅ5 à›jÛÇ€£C,w¸l±T_0Øã©Õ¯*zqÓY¿…çz/{žÏœÌfæ Ä¿mk*EíjNv»©£ ™Ô~÷8ûI캸n7Ø‹PSÆg»“^ý4*Çat(G e¸Ž"¾h¼9zà¤Ge¦7í ŸX:yî±~ø³Žè¼·*Ò¥äM_¿¡z3$ðâ @Ù—‹X¹Ñ/Z*‰Ê›ÌÂX¬Åaa'Î)!¥7Â|ó´|’»¨:¡FŒútÆ¢hW‹á.÷”s©ºÖÏ£ ˆ­½7ªŠ¥+Ø¥ØM;ºÝS‘ÒCmå$œœ'˜æ‘W/z{3zH+µq OŽÓ%1¸¼°VÉ$.ƒ/$Ø(Æq©kºƒÏ Lýw\åiw ¼ì·:è‹èøgj+ÔýKÑ*+O*³×ò˜]e^Å<áln×£)î8¤àßýïœ ’Œoߙܙ߀ûû< ¨¨ðëq®gFª˜d>H»4ަrÕöó‘RÓjû¢Ž¬Äxì`†Ùšm¾»}<•`u£¹pœ²<þ6?ðQŸ&(#½€zCcôÈÖ0½xîz?È“FvÔiszÞV+ŒzÔÒ®ÜaÙÿ¶F«æ¾¿Êæ‡šÝ U`Ç%M?(¡ë–grˆ¢õu@3Ë ­xQÐî¡tÛ<–‡K;yÈOjë¬a¸“N«Ÿlõ(­å7³ê®Œ“=?Ö ~?ƒo~™ÏT•ÈðãKôyn²oÁ œCv8*˜mÙ”—™¦/n8 ­Ü‚"ïGͦ¢áNÎ4Ð1Øêƒ=_Ìmšý‰ -È?RK3ÝÆË^g»^UÒÞ/f¿1‡¶c‚ l©05üm¹…±óÂx¡Øå÷Ï_Ú?ðÅ©š÷7³pU„STäÍøbõMso€-†#ùÂ'¢·KKæD/¶¶6G°ñF‡YÞðC¬ôL|ºŠº‡ÝM¦(“r Œ˜ÒÂ5+p«Té²-˽F{ÔÃ%ÐÍü³Aì¶Údû•ØZ‘ÿ3OÓ¥X} oÅoƒ½Å Zžó·ú¼uŽ,ŰßiqXUh‰Çš?Š«Zc¯ÄýPö ëed)åƒÉj”æ³I"Ëwñÿùî•—ÌÀ•Êg gºbû¨5{F%ôVÄ:£ý2ê¯(€Â.ÀÐx{¥¶q§{üy¾ ]ÏfÑ„@ì¸M´÷4Þ¡ÈF®•o‰)·ybåXmÝÌñQ›®ª9ZÁJèÓ±wU`¤9~¤‚¨…öÙÞǃ¤ßët)WS¶¬TM~z«ÀåO#¾`¼mŠç&—Úû~ùoÈô…ÿ,S~«ßôbëP@ýrÐ¥Ÿ›Õ¾PüŸß//Âä“<,Ã\E¢¤„$‡kZÛkHÄÈ5<ö‹qP†Õ¼Ê†ŸƒÆ]%YXNÁ¤`dq/¤—|W˜LÚË,ÆÆ™_ÄàD>… X²7žJ"ó6sl`Ò]iÛ¥v>\+€Ûíxžùó,ÿ잊–6A2À8™ïV›• j.ÒÒN4‘‹½KËïßøÝzDÿF†E ü`Tl2ÅK²d¿á„9ŠÉöFÄÙê¯~Âj+³”2Ê"^¬ }³˜,éBp„•JƒSÏî¾Ò¬DãCÂúÈa×δyÛÔO%Ã*ݧÍ"C“?9lvÊ8œäx&H×È7V—A»Xƒ'ÂLÀÖ#p M÷Ý1ZÚœ°ZjbDŸÅ@ÙÈÐ'T|¢@pª Þm°†}D‚DFëÅd˜ó”àvƒHM–NØç±ÔÁ¶[\MDri ž’Å]8bkêÜRæÈäH=êéõÀ@VÀ®ÒIðÝÕ—¥fâ Ø_kp ñ¾Úë-´0`Ó>#ÿ‰´¯ek¦哾:¾"iZô7“f3˜¸ª6ýž?ÅÄ:ЊA¹q/ÚJ •èÆÇ¼Nj.¨¢-Kꋆ~6͹èÄy@çèÿŠñO/`HGtÆ£Æ>:i){y,šu—x@¥¤cJª’ mDõ 3/¤9¯·×ëÿégp|ƒß˜Æ0’ÄU²ÊqL ,&7 I”ÛÜ64P¨þ±èåBæ}J»*%aðn¦KߣPHI7Û&Â×ß8šk´¤N=m£ø¦Æ5¸±£È´ÐÆÔN\¸Í•Ocs˜â::p=’Ç=Œ\Š÷£jTfÜ+€¦t$hÊúvßúè”?`v}Ü-'˜;Ìj¥K ƒ,¢£h’—“CU™ /ÅŽ±ï¸õ¹•fí fHÿ/*Ü\Žr»á£ï&­ ƒŠ<ËÔkÿ'ÿö}RÞ:ð@8Τ)$FÂ+Í×®æ_.Yöâ%`Ë2lTÊ&Ûò ¸½œ#g9’…6Æ/ÝÝÚ^QXÞ>“ìÿ(m‚l_qz»Kô•qj·ôªèΆÑ‘Ðü¨NR ¦¢±uT&›ïRª´49= ÏÓµGÁ¬ö©U#Èûz9">~'¡ÆîßÒ9¿Šñf’WA©Àã7]Oèëd*}Åz=[Á@½ÇEwïÝ*CX‹¹—*»·'g|~\`γùÂ!o#ìnÚ{díºx%?ïŠt5毸L[ôlfˆ•.‘»R«|#PÝŠTÖ]UM.‚MFØ’ºœižð"°__¾¢, OÆ*«´ïƒOCp޽qrÙœ—µ ë0²DÚæýŒ<’½\—-Q®ž_2`šº¸*¢~/X‡°h²üôLöKLÏÀíwrï†ùm^ÙG„$(Î6É&J@k8vñXáF™V`ŽhæßÁ݃µ¾)2êöX©ë:$Ê[᬴ƒ­hjq÷¾^¨LÿÞ?[TEÂX˜EŒ}mU $AnjɯåsR”¾UY±!:‡Ž\÷nL ÓÛ¬<à‚çAbÇäBý{)’Š”hp/ày/%Ç%å‹”¤$ ôÙhÍI ›×`Õ'µe) ÉæïXè:àÝq)LÌ•ØÓmo»M!;`ƶÓJÙƒ †|µ ]´òòœDÊúüìÕ ?ƒ¢Q-ø0|T+ÜŠØòd-v'¥íùo*à ›®p²¨{2ü“’þP]io"”ùÁ#ýÔ»³ Kýù°¼?qhv÷ëÇbîlL± X±7Ùb©2´ïÖ;íŽl9HiƼ\ƒ»H¢žö¡xEÚ’F3É‹lœ [删B*qRü·.H—‘ê,M©iÊ8LÃ#qôÖÖw6.½ˆÒªuüo}rœñc›W‹ªxòW'síx£±ù ?a,aân)¡ùuiÔšG+ÑǦ;­9Ä7ÿÆ{êÆÝùt(ŸBݳ G£nNQSÆ;D6hÜÏóÛ'R@7*T|ô¾’ü:ÁlÖ#À‡M㜋+®L}ý'¨M¸'æ·½¿&ƒ½œå}áÝ ðнÒ7ÿ *o°³¹›§^xÒ a»]r•¦ΧœqàïN³"ìPײ†À­% ÿ» .vÛ/€ìsk‡†½­ØÞ¸J£©ða ”qr+â[BÑIºÏ»Ótç”V§*]Sd1ûyÀ­ ¹è¦VÖ/œ.Šä_yByQa€S˧ý é¿VÿCuŽádIð– (ïÚ1;8YÚvÏ %Ý¡FÙ=ćñˆ½<…î[T©ÛWH¼qJþÒž‚U¡±‡A8n¾­4ësµ˜Ûi¤é®Ýpf±ÛèÜÂôÉ…èÉg,±mš„â¹Ö¯0+ô@hC'‰°Åâ61-œµÝÎиæôAPa…n Ř#~Eô è)Ç~Wƒ³bMºœL!¿Yˆ@a´€Ñž,èè•óèVÌÊ,놟g©…,#’¨¤ÊÿñJ=ÚT‘Àíºªš¶-ž ¢9L(!¨ ±x8br¯b5(Ìa‰hÈ,åy™~V J›Ö^¥¼V¨^6e2n=%‘)Ïb´ AèEF›gÀ­]š“GjO°Ÿ2ŸŠU0»r«˜Ës”%rYñb3Z,&Ë;~"†Ÿ‰™GüY§³½J0]E¼ÓazïC̯R:äÁÙ è§„kä@å–k†*«¯$4˜™Lãä†4:—¾i‡@[Qvcµø0J”˜¸fžøÞ¦ˆÀÉhS:“èsò@À9yÇ–i€• SÓ!{ù’¸iÁ-<Ò)µ¬s™C¯â8Ü>fLGúŸuÀ=Åe?¿\ˆŠ]2SgÁpyÌêmÉ.ý!-méf; æüá§ÛçÀ<¡àÞ˜ ƒÄ*\‚ÖÜætôâ­³¯B»d{nÚ`®È#àÁ]S øK¶Ÿw†ècÏ¢ŠoEµ¯óZ€ðEÓ2ùœËO” ä¢;¤³Ø;l\¢žég.;&Hh#•¢ât4ßÛr8b³Ø0ýGýÈY•À´¯Ü]·Ó ™¾»öf0M^Úc¢4þL7àÏ Á1Ÿà(îwÇñ…ZˆšçNÜð0úUTZ'?(æ'³ìVl}PÝŸ}€Ïã€âì½ÈTÚOK÷ÿ^5¤>?@ïUvþš3¡U—Œ¦0yF©‰¸@á1 ¹—F—$P¶Žê¦sú… ºH½_¤N?ÍÎg1•˜{h¦ÚoSe3f¿ØŸ\vÚàɳ®D5ÌJŠÙ‚çb ö„ŽM3Ö Æv0øsJh¬¿2„‘#¸„+P²rÚäXˆû5V­mÚdo(ÐèƒÎä6еxšO­Ïš(Jbå/ÔžlûÊ6Ô.É«nª°Ÿ,ƒ^ñ—ghÿò¼‰_Ñm ¬ÈÚEù6Ænð±3~± T¹vÍ[v¶»/ ?`ü<ªÙ€UfTé03¬®ê¹ln¥½(€õãõGZLÏ&W]k«£•R©,ËTL>dBƒ.-…)£cK`õÂËi£ÒJšP‘¨DâªÚ‚{òl.ŠáŸØ3ðEm€ŠIãtÏÖ´]÷Ɇí"ÕR1e°ƒ‘'!»§ÉÖBóƒ°aãzÇB¿-ò]û@½YxëE£y i¬I&äE'ÂlÁ·]BT ùôñXOT¥³Ù\¢í#ßC£ /Îe–D–ê÷ÒÌ©ÞkÅÆ×j­ˆžÇ)WÝV–¹FOõUø>[Ô¯úH·­µ¬ôÇPü±ã)Ý_Nêë‡GWðBç$ Êþ¾É,[؇FEeÄꪦ³]îLš„/ûLA’ý)jïÀÁ£ê‡úèädzòN¼ÓFÀË*ÈË~‡_!7å’€·©¢ø;äEG>x#6—³ó#g(–/”JœU'«Ü]Eì&ï+Oó_ÕCzŠðK›‹gzXjI u&]Ó&½úÈórÎEÿ`TisÒaä‡Tãçnˆ‹ì÷U8ÓI á‡E ßÄ'㋾‰IýŠºßJ¼‡KÀ‘ÁÖ«‰êjÑ©kôñèÃAß-^.}7|êm(­“vj„‚¥îÙÎø…  ÁŠçÏ1†¾âëb›î›=ÙÏ‘õÁYo@±à¢¡K€EúŒ°N¹G¸I¹õ L±–¾¦ O3§MÑá;0Ћýh¬ß¼Z‰¾ÆcÑ*»'òGpe:]mo¿ÃËë.<Ô;¦Ø¤H©“Ž~5®(;Ž’zv¶êÑ|ŠQKÀÂìp·÷úiRŽ;(æ²9„M½ ñ×4»<¢Y 5D™arß}Kº—ËÓËož ÀQäêyަÃ-xöâïÆ‹›? ’±f|£»Õqq}^ôAi˜•Ìç)¼³Ò³AË ³;þŽ@iMà ûþwyà$ܾèì°ó€Õ7áèRÃyûßa¯æ-œnö‹È•’ùgKë“-ó»“=[¡#É4þËÆdû¡;hªåBM‡`ÃçÇ[ xŠX.ê]^ö ªË’½e–G*!o®µ2ƒ%uÎUŽôéÃñƒÆÛ÷l’ (7£þâÙyYà À`¾/–¿CE¨²o€Œ¾GPã]Šj™CËדöÖ· æëW`•ó.Ñîì)]„ÿ#y”K·<ד—9«–˜„£±CçШEÞ@`€UØ€Þÿ:ZAQ”’)FoñÆu°Ó>[°V(À­ŠK¤vãÎùq’Öe'‘粤Œµì9á¹<¹«Ÿô5¬´gí`U4¥‚M-“ OÅnIº¤3–èR¶èÍq·ZI^n6|-Iš2T¤@¡)l½·CÁ¬åd·áXÇÌÐÝá8u”¹q—pó Ï{©Àø«úˆ*È`®æLlÙ¦÷#Ôòabk¢Ç„`þVÝõ¨R ÞÁϰålâêq¹£˜p–gm3Â'Îÿ†m$6dî­Øb6.ƒ”û_SŸv²åˆœø«Ñ¢Æõ5#î­*\ _Züƒ·ƒRä `[€]ñ)}u;g¶ÃKe@B7–³¡Ê62½ü›­§áÂÆúŒú‚ƒÈfX¯ô*ÆÖ:©sâ¾xÒwi>”». û[ªs’K30z8:¢ÛGÜ# oO0¥jòÖ&b‰i>ñ,ÀlˆK×å¥vCuëdê¡kгթˆX¸òz6«ks`t¾pSWYÆ›¿ôIÁ˜Íb áÁ·,ånæAŽœ\©& nÝñóJ×Qøtk÷ªd$™…Mì–_ |ü½>'/¨ÿsßôârç¨|þ'OCc(ç¼JW lÁ6Üuo›-ñø¶òóŒv¸ºc]Œ÷V—bÆQ Ÿ‚M½¶ÜÜgú„žIÞÜ¥Tf,»ÏôÿŒh«íæÑE5×çg¼›Í¾pìŸBaw(˜äýX9J}_$Õȶf»Žl\@@&S—Ž+GY‹Jƒ<_v,³ÁË’˜Z¢zà ÏC[ÄjX>¯ž¸àf÷†Ýn½ßÛˆ!“+œQAú¸Ê=gCÍ. Z©çÂ%‹)§ñP7žü)Ï·5Å›9ô‡{ó2¸€ö3Ðà‹¶ÃKûÀAÚR¶N“°#1‘j"dµBn \z—œ™žÁ•æ’íX•°gÐ ß­ÿ´“t½Éž1`Ù_¯îð~ƒE=g -Xð×kh¸sv»t °ûÔÝ… ê2ÔpZtmø"ÏuˆU_±R 0/ó>*z«/f߆šA}¼4$(¦¹\¨Ñ§aâ]hݪ¿—G9p}c ˜ðŽ-þ@ŽV¬ây¬Û¬ÁÚjÙ$‚Kš2ŸRÑ‚ÝfTæ6ÜÂá®7š?e,ܤ9ô¤*ƧFHL‰|ñ6{à¾ÂïDH›fž¸ƒÌ8RkUÆ÷+Šåc‹–¦àX£)ñs¹òìiv[3¦ˆe\Z’NÛ>:³(ίY:»¹’Þ¦–c"Sƒب–gêóC òwÓµ‹ë‰Ë­òÝö1~HEflÇý3¿EÇLQ…¨ZA;'¢½½î«õç^jk­øß‚ ½9§|ƒ†Ch¾OéZVWH63 v‹ñ77tè`˜«Öu^;8 }×Höp+ÍÆ+oZó»×\öO…¥ GŒŸ;Ò´£Ñ2Öåùêmj¶úþБ™Wùà#øæ©Ç>sŠš\ÙÀç™ Æ¤ápÅ«~åÔÀæÍñ2\&P=?ýÆ–.w+|ÒM=_ߊÊ1ZÌ/™£> ¬—G€"û$Sóöô¨Ñ‚Xü Ç€x^ä>0B• ù¿q\¦µªšÒp<¤õò@*…Ç%6‡-Ïå¹àkƒVLêt+kذìfîTSÄ$å䀩¡Öz ’æWã|ÍB* ÄbT›?˜Ç*åÕL½Ì\ü Œ¼îšÇÙê…M³P¤èhÅM¥É²uùýÄ °<¡Ð £Ë«©²ÑTô©åN•C欓ó-–KÑ”¦Œè¼—£ðÓ|Mô% âñèê\cóÇ"bÖáø{ž8 f%V¥7Ù‘Ž:=Âi?,‚:‹–†¦6‰Ó(N©v¾ ß±iÏ%y{òRäkÚãÈ,HÇÜøµ[ôB¡~ï¦d–§ûÿà mW{Õþ-#`ù Ê\¸m£öÀ¼@#GEe;êæOMÚ4 {£œZl+~\ ÃûDâ ‹úã}¶¼qâú~i]}… ¥÷²ºLtäP?ÝÐïò[]ç£Æ¹Õ¡M]Ö:x L•íÁ;»Á%*ó '‰EËVUÃ&üÏ­:y[Q³w}ªB­%žAaó#ˆÍ“-kØšß’6I³Þ±ÛÚVþŠÂœc‡ÄYkà/)…+H;ò- ª÷ª‡û•P¸á+t±«Fþ~ÀQg+"øŸ ï nU“žô_]ªè½öÄ–.÷.¤÷ãúB™õ žëX»+ÓÆlòiçËÛú“þÊß\qíÝðl>©p¿”Á£ aQITYC~2DGW*›|¾5[ö•×üdó•ò§!ƒEé0hšžoB±’Ò¸§V,n×úQ$·ÕQ¦B$š"’$ÀM•ÓFµîC8à¶–ÝQlxÊêiÊs¶Šq¶µ®ðŸ>íI $C2´Ýß;i†ÕJàü+y›Çb_A0ÅåÉä-ßa/«í+¼Z‘äÁå~…”ð¾¾AfÚ¦•`ÀrBàÈ §bؼ†áùF—]¼žÄú_2Ér#²ÎHBîå…ñ ÿð@®æ°•Qˆ1±wÈ ÇžD¿sÖ˜ëœý^JoâV&ˆ-[e ¯gµyt¬ž¼`l² (*/ÛhŠ>7ÙšcÑð䇽„ûN:=¶†/‹*ò‰8\nëåîù[)ŸÚ¹‘…&·jt[³·1_ôìsˆY5:._T©…‡Eçí.8š k¾›Ñ8ä§€Šb2è Çð_4`Ì3’‚TKsº_ ,ÃÊÇ©²5ÔL„|ÔºašÃÏ>TùŒ[$&pZ: JXöI8•ŽZ5éÌeƇ%ÿö½~‹5¢LËŽ÷•'?ë0:Õ㣺€ “ T;¥óS.Øz¾ëb<ëÏÅuX«åL©ý[©·8æåÃMë—ãŸ"G{¹eK8ÿ#MZ{æ*qQZì0¼¦ÈhÎ Á3½@ãÁãåŸjùþסî–<D*YÚDš â›fM@>:"ÌÝ-·³\OË‘I”G’6nö8»»)Îh™37üüÌÑY›ÝÊ?ŽÝy I”ïú]ÊjI4‘´N:šl–t±9Â4ø‡¦%Ô;äj‚rŒZ\G{ýs!çpíÕIËŠÌ h„þU#èìzGÙ±íŠ*d\ÄvÜ?—À£(~©®TkÖéÓÞÈŸ¯ÔðÄ6½ƒYC«ð)¬Š y\¥A¿Þ®õ­øêîBÒ÷؃YKa›@ˆ“ º@+üUçhƒž»»R íÁæ49\ 9–,u¨¹¿¨¸¡Cw@C0ï- Þ95ˆÔâ®:Н˜’€‘¶¬­ Ò&¶5al=_L¹l«Ù0”ƒv{HàçW.ФšX9Qÿ—ùÅÍc cü,jÈPN2k£Ê°ºh—Cý¿žE€§¸o¨Aüo÷þPy;¢Kš>-È<ý¡z´aÍNF´òKeäà? ûÝ©Ì<£Ëx+¯Ó«õõøíâ@G=ÛmÝ~ÏM2£¸Æsò½Ô߇]Z‚QÚ+t!Œ©¦.ßè)brM& òdÖ'Ögƒžv{f)$ŸFuÆ6wùÕí믋»>˜Vš°¨Jb&==Y¥bî Ä7h¼Ʋä›4´M÷ƒâOüíÙ%6ôz„aò{q§¶Åq—Ü÷üÓ•´ã­ÛçI£r?oæHÄbþÕ.±ã«´+ãž®ö…áÿHí35!cÎ6÷¹–áZß„Eª=•ðrñø__3R=ì$°9QxßœÉê:q·ùÓ,©(²_S£àó ›´áØÿvû3ùÈþ]4GVä«]ô¹‡8Šf+) -Â,"ªiv·l+ cíQ´òêÙO§’ëðˆ¢B÷ÃúÉ¡cÒZ^•Ÿœv91þþvfZ¾Å%Ò©^0èa<‘ƒáäæ0Eç3mm´qðì¤oTM^`ùäfî’˜r l~höAýe :áÏnRç‰d"'&‘F7e$ƒ"ÃA)´ÊÖÃϘù0Îl²¨íGì2ý˜„wõxC*FD~Èôs\Ÿ Î.Î`”$â5»“pSPúÖ¯›'U¥ÀÏ(½(¿?1;Åç¢.¯š'¿/X£Jêÿ-âÔVj`'|}£Ld_Iç›±š 6Xïž#ûÓ\¥mØý%…¿P“R>h»íŽ5OmàS4§‚ô®˜R[x·IPG²ñ¼¬; ‡L·qTÖ0Øÿ½zT]©¦~÷OOÑÔ ¡{\}! T‘Þ’07© ‘üä—S®ÅäPÄûØ¡óÔ]ʰoãÛu„¢Éïþ×Pn´‘3æõV¿Fs½ÍMƒŽ÷yê]ò-ÕÐ'ð¯ø©XÍ™\ÈñÃÅ#o‚Œ‘{Â5Èþ#‹zéÈt0JfLð¡‘}n¶29—ŽL6ð_®\“˜åœý€œ³ÍØI~à‡m@©Ì½Æêø;®ý@˜´Ö‰"òÕ@tªÞÚ–8Ô2œØƒ!éµ´Ö A®ÒCöS@ñŸ=ú»ÞúÆ,'=¿Û°sµSWÄɹQŒhóÙˆ9òds—AÖȃ„üµ¸U(*ˆÝx'ÛÚH+ 5¡s’BA\“„bÓ$ê´P ÃUKÖ@Z…¢J0|¢a—“V’ÍßL€ä§¿¬óHĈÐaÆ‹jÕ¢×cgÃößì¨ÞH£ã‹moÛaÃ@O›ªØyªÎÕ‚Á[)†Ã î QjÞÈŸ'æ+/˜ß[É)M ùLop‡[› A™²q²¤ïBgç+« û<Ô·ÊPI§ÁY†i*þ}Ê.haŒÌ4Í7Ôü}ö—žà=:‡‚.˦M¥(÷I+܆b ©Î‚ÍeÑÒè¨ÊœÀ»˜¾È'!øÿ½Àí•êâO5Øü,ˆ>zN‡G"t‘ž!ã+BÓƒ$¨bνœÂ“­ønwÒPÃ}}G]œrTÊ­½)c`Ãå«¿‚êjã _[‚\÷µÝ³*ÓX¯‰tAÍÖASULîûp›ì¾¡`É;VÕ]æ[4É.ÑÝÇUÛ†’qT‘»õ—îƒ,ÚŸñÅŸ ãGDnž?Y™iÊE§çïážzÛ7ZÖ„e¾ÍìçÖÍßé‘­úòxéÊSѾִánÎf—|íÈÃß:¦Ä¾0ù¶HæÈô†ÈÉ_U¡1Ž=F*~kë×4˜—È|÷:´ÇT&¦…QH¯ðÙ±\¯ž8Ò ~ÛøEr*·5ý`_£¹{Êú“„µ”Ý´ÀŠ:|9†’°#qþ—Q¸¡ˆÓÇ{ðÇó­/t§Ñ®ºêγëø'!k—Piöå¦~ùx.~Ç[ă’»?˜÷/faìr^Ïér&ÔYTÒa~<ðDcyű (犷jDñWg†?Ÿ:ºú1ëㄲnáºK•—Gkf”ÔWÙRË óÂé›âà_;ƒ(Ûz†þï÷†¼éËLý,ö|Ö-¹´W\‹³eý}ò@ ÷¹~×çK“k¥¶lÐÊÖvÅ/ýµÕ[ ¥?/§±˜nMI±¬|8|$JJ¦T àP(²ú;ü»RûNñ}`ÅÂ3Ï™Nƒ±eª©¯µ#…½ $OìζsççæÊJwàcO€EYk €˜Ì;>@ü~´†‡g¾ªêrŽÅrηX¸ןÿŒ²×O)6ë#$Ы_X)³ôe«xÊU‹M^‘Íï ÍÐÈ #z¹Î‚Ï5œ¦ók4,×®‚©ÙI†ŒððFÌ̘jÛ>LŽ{@å pÁ4C¢éÚ Êå×-µã»ˆ<¤å—OlЍzŒ”7û¿jz‹~c1+» *b6zë²ýÒhIŠÖÁ[>+ûüWôê4k6®«¬äÅ‘ bÕœozÞZó¹ÉDÎü—4C›¹˜ ·ö¸ðS»ŒÑúïw†ƒÍZn¥§³­íÝdi-Ì:5ù}0ÈÓï P#±üQY¿¯Œž”Ñå·x‰œÒ`îû¼÷¯Ec,î úþ×bÜE²~°Nødx­Ž¯‹’î0¬ ã„›Am‰£…&êMLÇ ÙÃί]ˆZÔµ&Ïù4³!`W\Ÿ]çä3@’žûAdžð˜/&,÷+N ¼Ö í)1 so¸³£&FJ_û!ÿ`/+£¸ÒVÊw{;½Ï ã”#§ ¢Y\;VqÖ1¨|mG%Å̃iÝW/n˜¢ÂTúèv¯Tùþ#½¡fB•ÎGLºèÝÞÆ€;h%P¤Äpj–„œÏ £Ðs/~ѳ¶3ìTÙ›ÔÚ‘i#Ò…Ão?»Œ —ÞütŒ{ž ¿uϤr¦‚Ñ_RC¿tŒ#jêøøKMª]Cß çu›d'Lál8k°ýÈ CÓTƒ ëÍaQÛiqP'ïvŒg©+¬ýu÷µêD–©øïªþÖC^<Æ¢U––{­ìùP^e»Ê'åÅd‰éuÖ¤àŽ0#œ5<:œ —ÛÜÔRADÙb?Ôù®—gLÌ&ðîÓøÃ§§ñºt n½/ðÓßixIÈ”ÙYéÖšo¸Ù8GÈBKÌž¢â¡-(L YfÞÜ„¿·o¸½Ä`Ë]ºŒÊ‹Ã|îCŒ¤Æ´­=tQ°Yv»8aç® E—䘓q_ú*H>í,ƒà;öô¤ˆÅ$(F^ÓF½òlµé“2ß4Z¼\þ[[ÁSÆÎh}¼›Ùà\ݨP¹…¨%ÞoÆG–ªý­ó⌗‹ëëò×è׺_‡Àa«Ÿte?œ.ƒ¼ã‰E½éb¡zp'—¥ò˜B­ó¢z8Ӏ8MÆ»swmK#¶ î “¥¬Ó­¹„âÉrbk„‡h°üûà¾m³©Òi½­V*&[wÀw!*Òoå ‚1Ýg+l¤tK¬h:;èw½½?+fD\‘!Òg¾§ Ÿ}øN!ÒËbfn*dJz¼âA«¦¾†3™,”¨´TX"Æù“ÐÐ8SX1K¥“`ZâyY‘vØl2)ä)¯?1føÈ%¸oqóxü:Ë‹Á£Ò¾é’Ķ,Èð‚ ;\¶qšêªq&o-_ ˜PœÁ_™îx»à-?6—ÕDUç­«JNðw·˜T¶"Ø(ïûên^G’T²®îÊÌ#×åE—†;UÏL:,p2ÔyLme V ZÜ#‡Îo馕¢‹$°g‚^ˆyÊßnË:?ÖB´ÔâL*ZÒîq!p^+—ô Mh!ï¤v"ЂÆ:wvW9§x¥+äú¯ý>…‚ @ï¯lÉP› ïþï=b:´ì(ÉÄYk–Äéņ÷+FpµãÌÿ²¹Ÿa‚Ci~ÿ™]S'”:ƵfçÔ°îcKTq¦P»r·ÑÊ&>ØõQ‚Ñk´‡í‡vý’®î€ f4èÒûb€h}ô½x >5D\Ô²Ý}´jq;R–S¦SSÚSlsZiÏØ;”ks ±™}ßô¥$M¡%!ùúÇæÃu°/T˜¾BW±„H' …û±»æXöA>Ö–nA½@ô÷(™0Gï?PóñÍ™m–ápû„r26z[Ú{"¨~[›7lÿ0ý\È ßÐ õý˜6E]3HÚLÔâí‹ûTé‚SüÌtÛÏèÊÞ¸„˜ÇjN±šk­”)µÎ)¬§vcqН pî:cló^£…X©˜ý–.P8ÒxJ¬ñÊÝ#î3K^(¹³§j®Ë¨‚É&1 ÉY©>r‡îMCêà#†d`A¸g±H}=nÕ÷Ù/g'”= êñbµJIÙmë¯èàÑžêì’“‘4ÍHJ~ã#˜·œ½Ý ¢'sóbXsâH sæ¶}Æ#ÄkÇÒ߬"ö²hšHª÷Á>ËÔ rª~(}&ò¥‹Xw@%G/ÝØÉY’”ˆ×ç2„ ã,÷A¨×–0 B1­Y'Hº–ïð©ÜÏêIâÖBþb‚i@ââ‡gc"jcÑû'B1?LÏ_£e½ôÚ'N&‚íôbÑkþÿçH{tÍ(Í]}?ò“’ç·Üzûê0¨t?¼_û+wðT%-±¶Ë&Ï/Ê'°?ïwêÌ6G}›mý·Åó7o[~Þ¡ÞÁX8еÄ÷ï(sqLZäl™=Z¯ø`Î"^Ä"ñLÓ´=!…_?jÁýб—lwóÛ“{ŒÞíO™µêß»cC)³…%+¥éŠm褼­¸²9·ç«³¾¤ý”õàäë¼#ÇÇ¥!cúoäyü¹¢Ó&ι@†ÁFòþ×\{rŠH§Ô'Ðÿ†Ii ›—‚؄@ø^9‹ êܳW]‘!;2VäpœvØzÙD‹‰ŽeŠÖ‚qN¿ xŒ¨sjî±C»+µz(\Þ-œ6;ž#Ót­~Âõºóø‘Ê„¾ÂŽ™—€×½“ íÒË ÄC@iî·.ÆÙ¯V½È)Ú °2¬7=ªû ½™Jaãk×£ËhBôȼ_¸®SÑËØÞùr™¿&šÅCõÜ66^ž·ž×—Œ? Ó—)óìJž ðZëaù ƒÎT«7GBËüS70Çë·þoŽ]¡iÊ;ŠÚÛn¿§h!÷ˆ0K¸ë¸$7ˆƒÚ¼¢º^oì¿ÄÅ5ßú ¥wEèøÔ?q>^À›6vüýnëƒ"­gµ.H@œâ­¢rLj…ÀˆJ•ý,ßK¼ÐÂÒóQ•ð¼JÏYï?¯ 3짉*úDM3o g ~i7,ãŠÂ"œŠ!ÞHƒ È+òãAú_ ˆ![SU¯†À…4´n¤Â« l`€µ~›Š“­`ó­vy&ýëøà2X¢5í™<[‡Ð¸·Ún‹n|€D‹ŒØþðâ½³53?Çc´UÊÓRé̓fëLäúþ”Ó&F·BaüSíTW|îÛ dåÌCj¼°7¯0£m˜4ïÉgkÍ4ZlUPª,mw}_÷PËEówƒ ¸†D#ˆ35†u7u ï¿AäoZZë”R‡™a«a óÒ›q;Dx6xü]Ø[¿¹pãLî¾Ä@ÄÓ­6w¯³,I¤ã±Õlº#—›’’mÐÊQ*”ßY Å‚Ø ¶qà:ŽÎžª§]ô¹ Ö;§G‚â­ÕÚ†ã•Oâ.Œ±0™¾˜ÿVj—Á Uxà‹¡ç„\V aë­âmRÖŸOHRàôfYDõ¼]ÌØdáÎVü¸o8¦ñ'~3:ÔQ|ún¨¶×çXú+{Ua·Ed–*“hy±fͬ °Úî×:Z¢1ÎÊv:³›È´b—kC:f僰šÂ¼Ð¦OL«ê¯ì)1üÒ¨b޹˜¢ð$àð®|a'©eÌJÎêG # áÊàÒ`ÁüQª…¦2¸ã]­Ö=—~,\›´á•Æq`ËY¼¿¶§4iá•W7ªÊÙL Ç›²Ï¦"=‘rýñÁ§Õ¥ø •¬†×î-í 9®ßY_ Z>*;µ.qzÌÔ½I0LšÃ0,4¿ñ;m˜€DïèÝ^Ö 62QÓrIgµlœžiô¡4«À.èÜõ`²ÌÏð¤€Ò.Ûmæ4Iy›Ëú:”Öuâ@“K~*_‚6:ö÷Áì|•œ1&ãÅ™¬×ƒB< d+[ÙÜ„ aY gú¡¿@üI¦÷—L£sþ£j{úÞRËbÚ:«¤õéu¹]“ÅQjLšÖI‡š×A¡Ù³i¤M— ñö7•} ,ùÈÈ­¾ºþnÉe%C«² oŸo™!~ŒÃo¾`t9ŒÒžÊÅ„>¦ŒU• V2¦§ ¡wšè^Ûvîüë²×É®ÁÞ49+„˜¦™–@ORb¢¾­Õå‰N]küòÑJœþÓpÑ6mîaæ~~%¾×,,ƒá'^õˆ7~ 9‡¾TëxI' ½ÃgS?ΕÁz_8È¥Æ(žz¬ÿÚêø"ê`#NRžp äʃ-‘ú_z+xß“ZºbÌÚÓÀ|’„t਩s>2vúKÀÆß]åãÀÀCˆ<4«p}ÿM8{ÃiÜ[h`mùßèžËwÌ„N‰2]úa§Àþ“˜rœA‹ö‰Äžå®};âK |üÙæ—"¹öhüGž0K6aÆïjDLÜØ^Z«ç(¡ó ´û?ø'º·‹‹8Ä¥Èõor]¢h¿&EÞ7òW4Hæ!`pª#ýÝ Ù¢ä¡Ú¯ 6±3PIz’_Ûƒ%÷;vÅ£}:ÿ=ôXÔ@$MM8l•Áõ¹„¡åáΞ- - }R©r)…V¢¶§\V£Øá õF¼¯Î+:Ñ\ð†VŸ×š­aó¨û0·Ñ4vG½—žÿ˜ìh>vþx£Â«) Ä[Îä› Œf|½Ú:ïìÊ:ÚÄè-'G®úI¸ë™ŽÏè…~y(»I\Œnþ6¬uó'`Ǧ¿Æ"*PÃ$‚ÝShþ¯4q‚†ñQÈ‚fgG³)¾äÎyCCоçÿ¡b Ãå„/7±§~h„]^”ˆ²]ç§ñé‚ÒÕš‘Oí á0¸¸¬(u÷oÆg91a—,©³«CQ£¢}oŒ×Pl¸‚‰pÂÝà¢mÔØ9á—Ü‘š–ÃDFÙyyòôï—TôIM’Jô^5ïÞ©wòøS*hàPQ8¹€'Š_Ù6úrKpÞè×ÖU@, Ça&Àz cIæ²Z5N²Tüè;¸> m“»žgŸœ~‚ö«-Iµ>œ³ƒ˜àÂØ Œø…™&%Y¸TîµI|ãhzEží ùC))!(Smˆ‚;ÜrÓ‹û¦NH_ìwÄÂá*±ì³ØPT•k¬Ó0ŸÞŒõ~YƒÅ¯êõ"8vØç>Ês 'cÖéÄÎWõvc³Ù;D7Ivæ¢ãËÉ£S®ÇÎYï6ÐSLüáLyMÑ3™ÖîÍA‚¦ÝÛÇ*”$÷Lt0»¼³gÀ•ýÜðݺÄ-¨õ²Ñõؾ)å`bVò'1­PÜê÷C7#.¸4Ú­Í¿ ïÐFP˜þU,{BJ´ºÓA×2y$r¤÷\6T†Ã>§jHöþ\OÝ{ópìeMà|5 Exg%pû <T8IcvŠ^¢uì¸íÛ±l&ÇŽd2m…"³ÕÌw)Ë–=·D¿–Š*^ÆʾÁØ ’ûb9C X`# ýã4Ö»?,©5ŸªùR~â^r‘UJvëbÓ+ÀNE>Õ4‚ OÝ®Ñ"AÞz<á[Á¾Z‡^=ø¿”LðÁ+zI¤ñeÝÛ™…¿h²j&ßеÚkЯ3&u:ÏÜLzKŸÔüî—_€ÝŸLhi'LÒV=Xe/ŽmCÔmñ…4OÐZEbuQñ¶ƒô ukPv_9é –n÷pxÀbs©d=®‹ y÷Z´gé\wï“Å*µˆi¹›—\ϡ̧•»ÅKqí­ÈCöÛÕ±Së™|äé_oª@ EL&Û¬ÒÚÍÎGmGÂøðKg>ÈÇî¦nûõ§Ó jR>eLÚ=>•šØ‹lÁc臙Ÿ/çkb/›Lsó„ì÷1oîfb˜ÎºthÕ+CÚt±˜qíÔü¥‘™aWíí_U ˜ºõ¬x€_gF·¢x±ËªÈ¹€ñˆãÀ÷Œ±0‡­!¾°“õ=k¬»°„ z@ÑvÏt~Ö/ÒP>P`dUäjïfPÞÆ²üÍåÜš%|SSËY–W”^H†ÝuT­á¾é»J,$µ{âÿÓ-\Þ}<š6?cÂöv2)¾;†Ùð|¨(¦é‹ÅÝã›e}½Ð‘žkļ/N´ŒßZÖ‹µ€0> mòäñêj ÞfF/vÁ¢6Ü“…lŒ±RÃï3ßédv,š¾œVýb7B:G଼Œ%ç®j†PÒê<Þ°ðãz¤ Nkx|%ôS€û“‚X~u/§¨”¨”rÌk^oD«‘>›1t‹ÑŽ[¤_Ò, (ÛD›wlij«eAëÞÈ&ÒÇTÃÛý6dÖ Ò%`³\mfÃÏ–IªðW³\n‰“›‹}þM[ü „áíV`Þ-›9H wR=ø°'œ;<7Ù°ÐSMÚhö”wg(€æ%e$\·;‡=*ÐHQ1gÙ¬'îÄ¡êëçd×é±R²õáegS@+Ïgây9rt•H¿›–йä*üd.]sÞ‡=tþkb7k8†hV\#‡æD˜‹„†àd›²SÉLB?~Ê|áqž_¼3eÓiªú~E¢òz¼§Q¡ç&·ýóú\ÎÉû\ða‚º|-³SÁ§VÍc›D ùàý€‹´Ç­8¬NúZÈ;+#ìŽá†‘.ƒö­ª¤£=ˆO¬ÓÿV‹X[zaIuX1ø8p–Í”‘f0—Ø{èÁõ ^ÔÌ=öÉh O+—”‘Ä™‹BŠÁvø½®$Ó3Dõí¸eÎ2ëG’LjŒÆx#+‘Ó~[K×o“ ó¡ŽýRžGWÅ6Ë“B5ïl}húmirÚdh ™óžÅ„¿Uõþ9q ™Ù±nB¤¯<Îõ@OCd6B¥Ma •ä€;§5 “͵½& Â×òY4ó fNƒAApºH˜†(»Üq¢Z©_ÆX­b¥>¿kéŒ :>î*!§lõ'Æ&œ«\j"tb`M(ÆxL;klµØäc´¨ã^xÛ&èoú‡#:³« sÅëg§>¤QÞáØ{¹¤À¢¬h'UTŸ7À>“È_æ¿'åù·[^u4àÇ*ŠxVç¥úÞ»’…ÈK7¼_‡ñéŠÖ Ý­“™’~SëcÄ9vê»—sa/Ä´½Ûì „ª,$’$Ò©o6 /!®…”ëBPu_ ‰´‹Îm 0pŽT_Ý‚—£ÆYEª¤9 ­ [ ¡òÕá"¹‡5­ð Ô9–•ñÒ–&çz_ÓJÀö‡ÒÀcð³ÎéÈÊ‘u)UÌÑóƒëø´Ð ¥á ¹Ó 2óya!Mk]`™ ‹­¨×7EH3XãóL‚FXMúâ'^Ü'É~ªé»©)j4®Ö”, T [ºä°²ÎHËÙ«^W`#Ü4Ž ƒ§ˆU/(ôm.Iyf• •$e>dåg’ä)plú‰K)2šûÀ\ƒr¡WpøX~Òµ÷ü½y†:³I¿¶H[Ú d¨âåë€þ'á‡îÓ)äî‘5œÈ|Ã3OŽ…Aû=ì/jçëtÇæå¦Òî‹}‡›D H•?BQÈ'd,²‹S3É ·$E|Ì46$:ô>üØ+¶kU£ nz¶à½Ð~]íÍK©¼Ì“šB >ftIÁžþÒI—ƒz]°9W[©ïUG  9Þò½aØNÿ§yt6Ôß_°~"**ºNܦ{!÷»u‹5š™OšÜå‰.Õ½s“ä$ƇM·Ë2IÄÉ™hhÇCXì2¼¨ŽUMÚ$I{ÙqÜ1{G2ÒmCÈÃpÜ&™uïv|§[µúdç… bëÓ’*À«îœí«î'‚z5 c¡ùÉPïZª%¦Âʬ¼Âq—õ3§";Ú‰²£RjêÆÃ]Û?^ siús¸«ÆN…DlÓ!:"ä§"ÌٛsèõÓ´Óã>ÑkZ.ßå†,ENkÙ¨x_œ¥çM²œJXAš á£‹£Õ>ü¾¼$ƒkAo•Âð¹ä½m@å†"Î!’L^ÉÃm!4P­ú2Î('Ñ~÷T‘\©ûœ´¹"ÆP‘¬y®I?:YlùWö«€«7vȼÞÅn!÷0Ö“D‰‡Ûwõ EåÙª5>í(QÖ†þË w(î 5c2«0÷˜<%+V~XG,÷Èó”ß åwpª0ñõa¢Y ÷ÑÎ×v|4Vü…Ù$Ó @÷ÐÏ7µãÈ­ Nto@C³w`K0ìDA³Ç¿yN'9²Ü=éÚî÷j0Mgý¾Ö!ú¦•Ô¯Ó‹|„[/ïYK¯‡â†°Çyé€Ôµ^jàª:ðp‰Š8뽎:?@ÿ"Ù#é2JÇ'Mg ¦nLéünWºO&’8}mD$þ¿'®yB>ÞWß±àXÂlHŽ7%žÑ‡ÝÒ¶C‡“¥CFuÏìþX™æm6ôˆŠ]¹ÐrŠ‚K©n$ênR’?ð9ÿľ§4¢Xí¡û5LÆ/] ãÍÖxǦô4À³)¹•÷•gÌ?iE}3ÁÑŽÍ‚¢&eÞë':¿l”Fƒ¼™5`@VÍ8ve2xå]Eš®k|;GR»³çª×¯F³rÙ?y¦{²kÅ%>&\ØFKŸ½« 6‡å:Eð Se•³7ßëªð =[hTq}ÍV³öV$àÄR xáyÏúTMt»bQïÕªÈh®”ìkPiÌÕœël²¡»_ J´ñ(’ż3ù/¨?2/\í;L<åø @Âg³ËÍðÞÈ+ðCÑ~À:A“JŠ^Sòp › 5)Æ»ñr@ìw µÃKŸqIïY‚*ÛŸàn†¨ú©:½DNµÏ¨ JŒf4Ú :âÑDOèQîB¡ÁÜ Æk|Û1¬R5³¢2ujøÌKÌ7H"@&˨9y×£ Á>™C‹æi¦ég,ÐtyÝõòó+ج-€øý¡=Eiœi¥_M7Õ¼ò%veêBÛñz[…è…¤{æÉÌûØÊMÿ¬pÐñÕ fÀ)uÚÓäðÃÐü$1^FaþkÍì k¨¹×"8Ý®øR5À´óÿ=vôPé‰qøŽµ*ó‘*âx]@ Ìò»Š 5µyVÞ8ÁÖòD/¾}¼,…Ø– _X™ü½#Âa‹îÖÚæ÷RÃ^;‡/¦JÒÑ" €ÿ2µ+LɺÀÙÈ&'X“ÀtSÄQˆo,Óßö|?4æ»yf]÷¯è+JÆÉô]—üüˆrú X•!¼]%íî3h“m5E6^‹Küܦ•ɨ ƒÛ[«XT¶Þ}ßf‰W†WLpÝåÊ£¤8?â6+J¸I?+“CÔİÂF›Üy›ÑCLó¯sUtXD UëÇ„Xˆ§¯öÁÿ ¤ñ+J”²N¾d ±¤ ³û;Ǽó¨/ˆP¸¾r%}$ãr ŒObË‹«Þ¨ ñæÜclvq8¶ÍŽÿg•iðwV:o¹²{ÀåX¼Gó>¯^fù@ú˜ØJ:JŸ«27Š“¢”.Ì¢=oÜ™'¨ò"ÝZþ—hd>?‘I-8MF•#uúhì®>Ö·¤ý9ú_9­Ü«î¦m>ö;‰#–ó4©ùoS÷!Ô×gôo7Ô¦^£·cÛH[zé_g•qðÀ $UÑ=ˆêÚq>>˜ =okË´£öIÌÌo|œöìCó£ˆÙµ2¼œñ† j©wÒv2#>€TõìÝy„H~2ˆ”DàìEªêЊQ/K­»íåQrÜõ_ª¬j¦3²íò‡ÉOÎ\à5 ¾§×U§4ñ®DÕƒ”‰#…]Èyiföº}ܡՅ¢ºE(Hƒ‘ç{v¡K8=9¬¯=zŠXÐöE°T8,ӃꋴLÑg•¨ÄÄHš3³ %==fQ§Þ#‚R˜K/[ò¸!Fá¼ÛéÓµs@X[šÕÚ¤  nb6ÙÂâ™y¬­õ`?/ýÍ a3Û õhÁÑ¢ —ì2P¿#õ\Å“ÛxÜL@Ð!,ÙKœC_Z’ÿÈ\(‰·I‘V—¯] î5€]PôÄB‡âø‹U»nÜ(ŸjÛš«:I¤‡-ÖÍ#Þ”0Ì[Õ‚bŽ“‡¸>å:¦Ó…ˆ}YéÞó ëþCøe]VÕÿ¹®Ö{©+˜*¢Ä(cǯ˜;¬f×Úåhç Z˜o3>ËÊBƒ}~V±ÿ¦Sã,ßí9ߺç—fthÞ¡{>ÙŸí—cËIûÛìà”aí0í|l¾ÛàÚˆ ÿU ? Ê|àVP´….šËâFuTwÏ8½›Ê´¥¢¼ë†6Íœ£¡²¢zŽWî)Š$ÞÔüŸ¾!µá'¸zà7&I_x)öá!O7š¾·;ÂP¿=F‚ùÕ${ yñD_VC„ħ«‚¥õ6Ö:ã™÷À\Žø¡4BOXu. V žÞç ëÁnäõ¤ðx ¨»ð.Êì¬aE˜&GJÍ‚Úhú±\dž³–Vûƒ¿Õ1‚NÏ8kø±y ñ˜iaz0Ò3Ø-\þ5…åÕ÷Á©™ß`¤ß8N]ñlWz·4¥ —h™°¡&öjSä¶Ï†ˆG--À¯[C„¸ N…¿¡Zº^}/J¢tJ`¾œ¡º}4˜")•\Lµ€Ùs¡åÚH½ÂÌÌ:G -cuPî†-[Juƒ½¶üù[¿E üESnÈûþp`›ÊŒ.ip gÓõò.Rž­^€2Ýmküõ0Ýa«“Ê]rÅûîàVÏDw8æbË6·øóHh5®(E;)]ma˜N*¥Ê%³”¼!¸GÛ):“ ÊÆF”­j"Å*†Á´dlCaÎå±´&~ÙjªÜ ®·¬æÝ‚R¬¼xÇ…{ð_@zzûÀm©¢@…–´º,W€«H&zbå®ââ^qb†e]"WOþbyz9£Qµw§n2éCÞ„´®ŠÌâ„J:Ôúç¹ÿl¶ó/ÒÚu•2Uv†{&ïÁâ®Du†:r÷gÐÑß§—#ÿx^a2ï?§{ƒ6^Ü ¦)o’þ*†¦štÜÜ%¦i”;²°Úê=OWmiçàöT-v0ÌtÑ‚còíåÖzŠañ›ÀX¼ÓK}¼.%ñ­ÈVò&¶¦èSïØ°Ã€ÀÓ£ó ~è(_ž¸ß@¥Kšº–yO¿ÇN‰rh±Ò]&¶pѹ‹Ôü•Çë“U€MÓ/0÷<½}!¬³qû-QKK°¡®®ˆBeç5€bå§ ÌhÊOË6ýC&j†ÓQÄt£Ò§˜®VuõÊE“©Û<‹ãÂ@À˜+›Eá.[}õ ” m@#ë{}dC2…ÿbÚ¯òlˆRý!Õ, 9u·¤UÙí‘Ù'¢¶ª|Ýúçèxû3Ùt_ªÃk(ª¾ÏepnóÙ› ù0 øQ¨Ò,¶‘nGCÉ :)ªÌšOë‰:ÒQDvg¦9ËÞÁ£2œK-y+.Ôd 2ž"t§ C¯ñn©ìàÂs˜·8$ãD{ŸxÅ.‡oo³Ÿˆ¢>ÔÊ¢Ô-âM¤¨„Âæzà8ÈüeÔ­Ó²]'IçXðí]²Y G}Ù*GcP)F²3"›b‹P@Éó¦éoZT'‡Ýjƒ2) TÅXÌaXн’ ]dÈ“œ'/(>›!@YV~"ü í°”Í“¢¦ºé@yx´ì9áoJßü <6'¨ÊŸJš¦PGpšþrùL{`[«•«ì£k…™ HÑWh.ø5/“¡k?â°‹Ïíá=‹‹*êç²f$¶¼mXr¸´µ'A¸Æ›Ð=˳í–üág„âÅŠ¶TxY¹Fv ”— š±B¦?ýžmN¢èl¾*Á@Æ÷È‹ãÆ¥ÿ”ñ´‰=üÐiÂ뙚ž{Ú¡Ñ¥½¤›¾\–0i мwj9[šjÆ&¶Ö)p•X(vJ"³Eð_1À©O0`V™ó Î÷åAoIñN_ǘÙÜx±ª~*A/63ƒ’ýùð·ÌÒ”÷òŠ%[ ¤E:êÖ¶©F-—hw‡–ã&"‡º´%nÆR–ªNãÐÖC†ƒàl,>€lÓ¼—äâX -ÿ_˜Í‡znûÅA‚0cÕ>/0ô †_¾û?Gb'9ÖBu£ÇÀp…Ê\I2¹‘ÄÊ?àÁÑz~ÍÏHiÒ®b5QêØ×‚ÉùmE=¶R„.¨ÃÜß& pÂDzm2Èïðr­ÝÚ¡¤€7MÏûŠk `;ÐÜ|SÜŠQLsÙ]Ic _Sï€igLxÑ“›³Vª%Õêç}¶±ØM†%p±¦œÁNÑ7Æ·5†ÃàÐäN}ªöÃtçµ ‰¢Ó<Ñ÷¡ÏÜ`ð²qSSr`;~]I.¥­û%>£^óY8¨,KX—ê?N1Ï›˜çe•¶Qøl5˜uÚÞ—¤|ÞlpŸ¥Šª'SÕI!ÃÐ.‰¾'4>)°ºè¢à]CcoZªèpÈä‹â«ßÎGˆX'º<>V ro³d'1=°YEHEGÐÙ¶}žtþFPYPIÔDßËÛ „Ѫ#Ý¢;T¶ŒEÐ@qukŸ÷½„¾çna»h^EçÅ«þéú§©{xLàu‡hÝE>n®aÒÔyM?’|öõµŠïïÀŸ+ðEúâʶܘî!íž©· ÑFÎþ•öS»§èòî""dòé_fFW)r×ZQiC: õÌ]dV4wø— L )K¤M"¿/`; ’ƒòÌVÓÀ¸Ç8XÅ™’ë&dÓ|K¾’I¿D †›i˜AÓÌ—ŠF9÷ÇÝxa7(}Ò¢¦«{M)øZBy´û?áü§(Ñà‘Poÿa?‡`ü]Þl *€v^ÚÀéÐÁ++Ý01éÓP®Ac~É S_ YS ó<`¦ÃÉÚ$î×(FÕ>Á÷ñ3€ì£Ÿ6¸ßBhž,þØ=Y¹‘¿UqÊ:­N6”Ÿ’P–6>‹ã^„éá«Ëi>?W¢UœöC*i×ú¸’! ÏÿÙ£hUk­T6H£OªR™Ö?ÿ˜!ŸyRÄÿ rD‡Õ{6y¸<Ò‘Ë5iެp ;…S†9qûª[ Kù ^sâ»LêEÝJ¸™ƒ`3éÒh£¡5žƒòJçüäÅU©´ÑÅ4"º~$PlÆ_(tk<¤¸>¸¸•(Úu)LC@p`Ù¦eæ‰îiIú¼‚4Çð²Íæ%q²‘9§ª¦?zƒíýðÆ—‹3ÌO|çA*#\" +ö‰Ö[ŠéЧݛÈ3ŸõQrÅÉC8HàòÑ×ÐÑç–j–®X6Ïq˜›ÅØlCF“CÔz’5½I_úy á,éI¾ã¬§©Höö+i7͘^-Š‡Ì¸mä4©ëŸN`ÖlFó“·á÷ F„(±š˜@€Åëô"žÁ:Ÿâ=13ÚŸnÍnf>†,× êÄñs•²2’.:?³ âж8*ó/G‡6æ=èa0gü—’ÙO'§×qe6à%·õâîâ+ÝÄÃ9SÖpL]Óû† FÚ“e>K+ÃjV#ý&£ž-Q>è±û4e€ D^ˆ@Ý7p+¿#;m73¸†°ÞW†ÝuÒíPÈý!j§î®rná`’ N¨:'»LÉ+ãuvOÎa ¡K¼qAŠ÷—up‡°)˜¨Þ?U÷õ PGSmÔΘèð3L‚`ÉÕ“zä’ÒEÔòú{:Q²Z—Zö¨§idbC§çù÷ÌÜáw~6°;Ǻªa°="(~êȧN½Õ܉Øa‰‹÷+¼FÕeTpF^"dêâ68@~Õò^øl.ù³„åôõ¼‡unû†Œp]ä›×.R &Ø÷Í#µ$z‰.ñ1×ày5ˉ_˜4³¨Ó؇I·8~·…›h‚Âo{10¤<;<9-}ù î2QQOÀé«üzùä ÃL†±5¹ ›¶a £"•xl¨ºñzñÏE8ï:ç¶}»?ÆÌÅY­Òû,éÆÒQZŒ]ƒîcñh@‰ðƒw:_óVŸ/ÍÚjçYë“úuÑAˆ0Ì'> rÍQËò=,ï» N†h‰D‚Ÿou‚˲´+Â[º^Zã û(ÏÔ’™g@;]Ë¿PÔŸ6w¿!i!W [ ÝÜnÝ”gÖÊ£ò•ò÷|5ñóFZîŠÇy¯‹ÒbÙã@ƒ™Q’R›”„$àú…]ûTÒퟰ‡)º5Òðz§~jÔ§/K¥/“Fø·y}Þãsµ# li[WOÛãŸA;˜¯Lx½ÝÔñê7´ÔKÊGÔÎxþl5$MÁHþþmƒ»“ÔÎ"˜ó€Lr¯Ù&·‡öG\HB$*Z¤‰Ù PößÜE¬a7ÙÀ×Ò¦ðæi˜FuubºC¯Møü¹÷§TÄFèê5ÎPæ*Yqz¾]/K$èÅpkˆ%ÆÑæYRµ£ôiŽÉp1¦·Šò] ň—Ü×üïþ9§¸ª szïì;IÄW<ŸÚXØ´qnÓÏD–»`ôNOZ¸}Hý¹ÝxÜA‘N†]%ÂãNÚn‹ T’^{Bjoà }¹*8Š'DÆ¥Hˆô¿ŽBÎå}ƒDåÚ;)ºð&½ýÙE•ƒk˜ÜÐF^ÉýF œƒ£é’¤G 9\é>ßé°-‰µXÝžºkÜhuG?%Z„82¤#_‰©û}Ûpí-mÖ¿µ¯j:µüβŸÇùoÚ—À®×L¡Mò9•d³Gj„ï2åÎØsø]XBib–]\è¬Qq¹€9ÚTû¾λ™•æÓ1bó"¤\²)÷4î:ý|ý ’¤N}s+d€åU&¶S,çVÉÛjJ;Á‰b[­Àƒª“Yì2¦þnç$N¾Ò4lw9¬1•Ä? ’+<ø5ëC:‡âhy)8Ë1ãÄ“k…‰çgóe£³¢ù8…êïµa s™hÞ•CI¸FW/ƒ°™‘r7¡ì/Œ5ˆ×QÝz˜WDôPr6MiÍ}l­ ”ѳ5ß[‰¢djSù}W,¹u(b¼.L¨œ£&S9SÏZ‰3Žâ4#È…8G*¤tkWê¥áˆ‘¦Ö¡i’±ÞB~PbÊ·70 dä<­ŽÞÞpgæü4~›…_-Öüz±¡r |ú­-ç#¾ɺª¦KyÕ0ÐâT\€L ¢W;“«JÕ®Ú0d¿qÈÓqaº‡%½r|Â+^è#ÏQ}÷lŠ0£À6‡­¢\>C¶³Ý¶qYÊJà’ÔV#snãA7_LO×åo’F­NЛÔ}Y8ÿÉ€bm1&´'€…Û“·»WõKZh”÷¤ }®›¾…í߆ÌnbßãB°P°äðx–HZU43Äù#²Ýy&È\aˆ!ûJ&”eóË䚃°Åw–á|ß•MÕœ3Çs‘ýT@Aì— ”L#|cs3<)%ã>h5 ÄZþÆh9÷•’ض Pc¬ À°é¾[bÁî2Cv;]éîɵ©?îš–GcqÐ]©WpÈ…hJ»»àK“”¿VXø ÃHÇÓ¯ÿ òÍ^Ä v×ï=½êáum±à3ø­—⯠wK˜%‚7ÃÉÂoR†he};+-°{ ŒŽþ8âŸÑpK*‘/º7ùÈʤgak9ïP¾z™œ6E7aªŒ\D(»Žk!V:Õ´¡Ì6–¿«;B[3lÌßF¤º‚€˜p“*à°#v-=eªw- £û‚¼ÂÈn³í$‚K íÜ} ×ÍKT(°ã“¼YΆ#NÔ>þ{¯7VÝâT®Ób²5 ¡ƒY¤À>˜sÿ¹‘;Øv%±nDCgmh¶¥yGÖß›ðß8drw*b…ûRo´î³$ùùÆdý‡ Ø„KŠì[t˜¸nE ›¹ ßDS™x‚qnæÅ ßà‰VV!av*¶6´#|#„œë-qü#Íê¦x’{,ïké8tÐ[®:úŸ¡ô›E1Ì0rzUýßšcY…ÐÂúõ%"DÛó!ß¾0uð`)?w†«ÓJ(ÄH›:ºá¿¹¡D0ûCˆ×}»]…ÔèÏ.æ'Ûnz_àdaª´‘»{Št§}<£—f%/X@ì¸èpC£ˆD8Ÿ(ZQr ºê…!ÐâŸ1×ÉIŒ?÷ „‰¸íó<Ó8§Ì}cÖ¿¹Ff‰=eB¶{ñaàÑÇ Ö^‹ú²Sönë©mØY‹:M:Âe™YŒÄ(Q©FÜӨ͇ÁLiN\‡/ ëjÕP$¢¬çA¯& nÕGÍŸÿh†Ä; 2S×ËüÁŒ‚ûôb&µhµØ9ìñÏ­+•<?i‰k75ó-›g.`¶®<Ž#ô¢-~§˜ÓBO‰,ÄÀO‰Õ›ˆ3Ù\1˜CÃßøUÒ~ƒ¬H“;ïö ‹xèU`¥Z6ãµM.ɆoÖ¨E­rRtEE¨7,©%uPspû°o‹1ì°°"¡v•ã}Ûìa_gùðYV]9Í%¸©r‚•øiÏqÙª–lšþ>Û׆fhR`C‚IåÀØÛS®›/*[I{%Ö¢£ HL50-w?7DÙ¥©qWͳ¿–Ò镨š7æ›(]7Œ¥ï4¡xmÃCXRøÚ;bÉ_ óC+üvNˆ®üqš$lLfàT@rª_¥)iHìÿ„.w¾ù@m¸AïkÜ×n犕fЦ‘Û´‡°…Ò® +MâElîy Ÿf~Š© †B#¸MØ8ekægÊÃÂNÐPøáÿF#¦ó¤¾‰ÆIÈ8ðŸþ\?9 õP%ã&b{Ñ_jhííëo |ÇhÓ “9 ¿„L1’z9VÜ4n ¢O„²l 奅á³ßçc’I—Öxf€Z· تùÆöìÿVž&½3©¥\G„×fîô!?¼…æ6®Óf¹w뫌ÊðÌ_ˆ2)8 Átùírø.Àb‹82r&È'“€º|_<œAÇò••¶ÿCE #rQ^Õ©ïez£/–°ÝPqZ’ðZãß>õÇo•èD¥·õeÜç‘ú’Xo|zè=²ö^S%Lüy€Ï‹3í Ó#–„Pm^ݧ†Çµœ¨¾ÊÇé¦ëH§Ô®48ÿôlÍ7`Ó/D6…ßMXÃ+í(Á‹“7Êö&+íb“î®g°Åd…rÔßJ ó¿"ikŠ A~{©TªPé1”ª³ ¢!ó†ú¬ðÒµ¹{¢0£1°! ÏT¹4¯™²w¾øËì(Ñö÷‘ê,Z™™j69©€8Fq“LÖ¢ÏãpÞÌHœ®l¦Ë¡#IqÒ̢ÒªlD—¹|qÚÜjNð õ–¿™u(ɦòÜm9«(t‰þŸTê¢k¿¿]D øô Á“HF˜h5Õ^p”Ù¢bûúÀðÒ÷ñhwÜø‚BÍ¢@˜óæ{”q¥©4QÁ2%z·òÞòsž¿Ù ÌWÖ;mkvÁ8œPÀ ¯:Í|qi#'±¸àö{÷VÇK¦ÍB`x‘Í@ &ðg'\µèÞ›òõmd¤sCW£‹þýïQî†î0}ÅxH `t42¾B ×áì\p-Ô<ãÀLP uÿüÀuÈìÉ/m(K¿@´Ð‘xgû„oýć© ¹]ܤlÎög ½J:ÿÃçíÒΓj´bs¨%¬ç#p”ð`Nþª»Á¶% Áûï‚Ô7õò¯Íˆô›Ùá†ZT©¢úÔkŠ’'¿s .¥·|hº—°ìºWþ_б~1øt5ˆ¬CG«¼a³›\©HQ·˜?4”°.“$†Yú[8ncM&E'*Á?(¡T×ïÉÌí¥¿P‹±Ô–°iÍlƾ5ÉQ¤&ò?µ²íAM{Îvë4é?yÄJ·yÛnJžf @ã»3ÖÞ¥T¸9m,d{Ë„,iVìUÌ›‚‚ h¶z[¿$Fé°¼ÆTY™5ö4AÎ$Àe—>N¢r$8PXWÛå , azx |–ªçp0Só[PÔ|ò'M›<mè?ú];¬WÕO#òk½4(£O•šøÕlÏø\ß‹(a²´b’Ò]Kn²»ÚLT(x÷§mTKY4±÷lðH°¹æä>mQ…N•\Gz~Š··ÖÃi‰Ðû¥¦2{ufšI²ÑôŸD»jŸêµ‹»Ô–ôKYåµgý'Ô[ôïÕáén²÷ëÏ ++E{µ®˜úfC°Ð‚„{-{ ò_è”hZj6\X'’yc”kNu@Ž·#‘å…ÍÝ7ô€FÐR±WVW‰š:ò0ªé }‘_ü@FOÄçç0 ‰‰|‘.ÀK»å¼'%?")SÔ[‚ PæôÕøºAxgÉr Љý2½æ[6Pv–<ü\ÈÄ”ñ 4·ˆ•uÀ|WÒõù2ÿn–=Gý«nÉ]Õä2s"Ï¿æã£éfD¼ ào×1q!ô•úEm²ØaÚ< ùÆj!íÊ<‡U—qˆ¡ïéæ•ø³‡Þ÷Á†‘ ·$[¿h¿qDãÍp˜dLøÎŸ»¤Á„ ±áÊ:lK°÷èÉÄ0°;±lÝ2Ï£”aø5à, 3ǽ”ñTçNi$5¢§uª«ä®‡|ÿKθï±Ù¶ÇéYi/QÂeî5½Ü.ñ÷·Œqæ|Øý*¸>H(í?? ´‘Ù—(ª­b¨¢cƒbwûŸç‚tG;ç‹…bífF…kbB/[_µùiع$kÉ>÷]ŒÅŠÝò 0ly*²;lzï†iÏÌâ9&ÅúQoé¡‚qÞˆ6xQ@+[|‰L“øÜÈœ'÷±þcÐ#ÓÍnÛ<Þ;ÒJ[Q›ÔT-<Ù¶Þ{}é”:àôlô”úX1¿¡³ ÝÝ›ØH#›²‡}”ÑÏ*[ñ•jƒãÎ"ŸÚËœÅá˸×Ô õ5,/'…•C&›¿7Ú˜ŠÇ=K‹œ 7dÙ!o\΂é½èY­ÞíñÕþóú5¡q ˜•¸ ãd]zö°õ Ç ¯Ï¬0Ò–ú&Ä>‘}ôõÚ\£•ÄñÂô]Œ„ÕÝ‚1Buóœ*q$Å¢ŽÔôÈ.q #R¦ ·Ž^!{M9uüPɣܴä×áo»ž)ü†cJê.ä§° ¥e㸣ú™3+׿¶@;‘Ö~ü¢fºÏä¡#ef,–¹›Ixy}û`‡|¾œ¨µ&sI%Ë&ßÌ6Ãxš®,Ì8ÓÀ ˜€¸T×—|IN^ö¸b[Ä “Ç?›«l&€skSÿPP&Ã8yz•ˆmCÚËA{¸çä—¶Ì\x'¿8ìÝ•”ÞÇ9)Ðv;ø‹Ò´“¯dÛ½¿Ôä[ŽK‚èÐf1gÕàöŒ4“*àIÙÀ)Eêåá”9­|ÞW®óÒdˆÇó¨È*1¯«Hs{áõAç·3éX>íȈ),£’~`¶‰k”Û&€BÆQô;VІ¸ÜÙ©àœ*êy»DV‡ŸBׄIä› ´ß+ßÈñ+jÊ$T^RáÅÙd)ëGÈ0w˜Ê¸Æ™Ê•wñU5šU¬WŒHJ\s9ö¡¯GÑ•ª¥àG"Š“µõØRŠj@í YAšt}uYž¶.Rv³·v÷•—£ô”¿{g6çËc†°š07üå_”U„wZ¥eŸ3Ä¿Aå¯H½——±Qu|ºÚ‡Rã9ôPˆ‰B€‚H9ø2-òn<ä•;JFDY\ Ví¸­¡À3/Õ9ÄC ón«+.C0ºÿ„ÍÐÙ;ËÅ–îi¨O,AîíÚ§=]iµ˜DµVÅî–ùùD“ÃGexOÈFí°Ô{ü&&²æ®©? Ø]«ù1ÜD`.]Í„t¹™¼Z®¦Gç\[þ ”ñ«ÃïÏœÎõÛÖBŸZKXÆ:Ê5÷ÉgÒAVoÕ'O¸\þI ¨¯ônÎÙ£æªMsUæ#ÑZñœ­©ËŠdGcp¹¡‚ ¬ëRÕc*ÏfÉj¡¿=I ;sÓ8³u\»UZnÿ¶ i\aÅù?P³V`kqò7ArÎm…}R³C5'1ûùu/ÐÝ!¯²è2€¢<ªRÌ‚"}®Û¯Ñû™¬ùwIçßùE¯ÚÊG’_úZ¢ËÝ×àÄB×{ŠéšNܦ[W¥¼Õ%|§‰n˜ž #îø½²ÂH(:ÓÜôÔ4‚vÄD@ü©-ò*y‹ëÍØCÑ—'ÓzØ ­ôdçW¾A ŠùM´'2Í•RŸ$~P ‰Þ蹆‹ÚÛ ŸV§!»`sß0“`bZø©ˆ¬XÏöß¼­-Ç$u ÕL UŒŠy}+8’UÏùYL룠Ú1ç— Á Y…Ú›Óå¹ÅCDÛ¶ð FÀ;Vú”« |DÊ2s’°X¯yN‘âq=©ÂDj"¨ø´ÜáéX‘à3G½?šgqB‚³Ù2«hš§4†Ó•݃ñp>$- Â8à+V|„çÌÿ1²ßFŠuÚÓ ÀÇ4s¹iö1rõ°Ax£”¢˜|N¾áØmQ¸<ú"Ó,àîÝÆšYåzþ? Á1”¸êªDé®4ŽqLÔÒRÊ»ÐQ ™b\™ /b¯k;$/tö²^ø Ç[ó ¸ö~ÁŸ„¬|¹‚dˆK§ç­În‡,¸ +>ŒGÍ"RcòFôÏ#™j·£Bh“ù40(òR0ꟽaÄ-\9éÈâÐÜ'îªö“š_ìì…Õ&“u¸¹Ê%Ÿ*¶Í¿3%Ö¤ªŸ«Ó·ìËD¯eô¨\ a†ÓS3¢ç¯—li@oÕzãL7‘Yøæh‹&ÀÅX«áÔÎ)] ®d §“f‹|þ³.ÔGE¨Õ,¬,Õ‚=[Bþ@ûöfÆ>“ä}‡š¾^Ê5?Žeï³GO|+ïG½òú›GgË.ÍOèz äó×O:AèÜ^µ$¾'ù¥z¥ÑÚ°KÖoÄÂM)d½¥Ë‚S$üóe?F‰º{u½Ëú“˜¤¡‘ÔÒÒÙŠµÐîo¬‘ºóë}‚ѭߢEíÓ0hU{ïú2´†Û¼]ßK A•BåHëÆBBõ@!.Xå¶d’SÅ÷!àu¨}¹ÛµëÉ›Joa$:õ ÎOþö2Fbò_Ïgõ`—<üØ  Ȳ!ívWƒ™*²…w‚6ãdßòã~]®./CUòŽ cBL0L5볘Èk}¯˜Û$f'« Ó="cûõÃ5óv-ß…*{÷9DŒV“Ç»a­Æs«û‘­TP€NDf¶dÒÑÎ<¨Ömðº2x°Š&Ÿnü1˜+”Ê•„Aäy_ó<ãäWºxF³¡¨¯p£rˆAÜ£ŒìS\²¨9GDQ“RÈ@Þ+{ñeÎÓ¯$P9^*MÀ]¨èð¢šz…mŒÚøúÏ÷(…_–z¾ÚHÞlfÍlû-çÒ›Øó_®pEw’/`8ÎóLŒU·DáÖQ@âÙáW;¦mê†ô5,%±’.½’p9’Õ´<.‘‹KïÖÜÙ}- ë ²úÂ\èú”¾_v±ˆ]lûokò﨎ºš‚Àýû‰É¨îêbœ#U5(u+B, ÍY9ª†¯„}<Á2Zzp¿«Èid…7ÍÐæ˜7NJ[ⳑnõY½ÒÎ9Ú›V;ü4qSÝã+Yý1ýYŽ%ÖåL¸ç©ê¿ Ùâv9µ;ícŽ~ׯŽ@½AãÈ7ïxG‰ç…y=œüu„Cx:vxÝÍðL“°Õ%þâ&Ô•—ÂÅjî¾wÖorE<‰LCD©Šñ¶wÎ7Ó{•½AþOW¿ˆALg!eÒ·h¥Z² B쇩±ò[ÞIô¡tÅgútçð°RŽÓªÕVĪ.ÜßfôGtôüä¶Ã”0¥ò‘‚Ú€Òš¨»IµLA“ÄsV9)¤¹=~<¾4œîä½Z©Ïi4ŒYM7X¼Fù–0‚ý,3u÷V1JOËâ\Rc ˜ŽVI%%¸+\ M±|•OM bû˜Çá?÷À©ÆSå9u¤þ%m³  ¥hn;ja ,âÍÚúdMÇr}ÍeYãhh‘B•²o°ÆE3>¶‹tèzºä2æÛ2Ž2.:ľe.R îð]·é¬…±f —8Ñ…vÑ|Ô66Äjzl;†bb,O$0ÁÐ_ˆÄr[û¤„ov‡[‚8ìê­ÃãYO¥Aëé’Í»g$ÅENÒ¬±™çpÂPèã®:þÞ°çR—A£å·HÄ#ÅLÕ[ØãÓŒïfˆ×o¯Â¯àWO‚óêYd3gÊìÏÜ”5±ÁÏ^G¤K„Ž4ÌcÓfWŽ#AÆ«“)Øô-ž‡V/ÁŒf«ñº«EˆýÆÁðÌ¡ñÀésüª:&[ĵÔnkýÆ<[ˆþ›`õhÈ4yIãÖ€ñ`8­ËêòÊ»UmäWýg9o ïk^{Í¡_Àœ&gKÒµø€ Úr+¬`„¡%òÙËÓ‹œŠë;S¡Ù`‰ u¯B̤ÊÇË^êàÖq]½Ó¸AlE› ËzG­’uÜG>¢øPâZŒwOv‚Ät*Ĭ ?¶PŒY}xš«Ør¢glÏu›ƽÓöï‚KR‚Ûò!;a§íuŸ7bŒêRŒBqAò\ÀIÞaÃ| ºûÇì—Îç'Ï[D Eިôe´ôÓ¯X“äøØ¦º òC¨½G²ë«û6¨{FµÇ ˆ˜0˜(%¿´”.ê·‹ ¥ö {vvFg‹4S¦U™Ã´5J ?×ôyé: ¨}RÿôbÊ&}DÃÀ霃ýž“Yóy­À’yr4a~§'£c:Ñ„Û róÛsËÆÊ` ü-ÇqAs]ã1\e“å¶9µÂQðšÆï£mJ‰´ò_*ЦK¼‡~Ú ê(®ëô°ö匒…j$̯øÙ{š8Tbs‡Øyõý‡ã½tÑ€Ø =º»|¤ó¨ƒôø¢0$³Ñ­v BÆ1à›H8;…Fì±Ï®õö\¦«. L¶\ƒÀ6)~¹Mæ†ïgþª(WS«â®T-3lqK'ƒÞ!TM¨®Àƒcc_Ù{ø«¤¾Š¢ vVX/¤’i·ú‘YÂ\[(ëù×SâLsÄG;÷Ö½øK²µž±:©ˆ‰eà“r³õ|…EWµå$MšÁ‡gÖÒлmC’yÛaNõ¾62%U®ñAåâ¿4-‰WÒ6}áµ8®äéÔ;1åYûÑ3ñ©ëry¹¼0ùfæ &É“ÿ÷€áéöå:Ðî-ú蘾+“(ß>Ï…¦*‰¶ˆ’ˆ£kôõˆ–ÚÐ&ðŽsд»$X𠧼ɷòY”ÍÜ•a!¶ª5rñ²ÍÈóU”Ç~-ªngÄÐLîÚOsIM$G ‰ÔÕ-`R¥!½ù¹:)t‹ÚŽ”–HÏØ…N˜ Ñ`JÚxÒîRGt£ÜQåÿ¤²€¯,£BКPî³#–X(Á†­…æ6[üØë.º®$¨Nå¸jDv{H¤·‹S±gÔù­Mii@K"°Ë=šhPyÉÅ{%kÖ²ÁÐØ•Øl×,^€§\NKÛHÙk,8žñKj P6¼1û-Hˆr½“ ÖÈÆ]®­uõ7hOjö‡±Ce1cEöÁ\¸|Ï€£P->òˆèS‰˜_8Îy:Umïˆ&§¾„š3qñcz Ùo”ÝQ.þ Ú „—BR4þJ³1ROuÕà™††TËLëÊ|»êbô„Ÿ¯@Ý*–@Eþþ¹Öîj󎺞ãŒh§üè0kãóõ):Œdx˜¦›ˆ J#!®T¸Ê0…cÞ½C¹ÅɲžBM¼â#)\jvè•#á±ß­s¹wš/ÉEP*Êmï˜= ‚7ùâìÿ~Ÿî$dÙþ¨œ.t^ƒÚ%+ñd0eƒz¢ãÊ«ôÞûwBYÝõ‚ˆßèˆL\íäž`˜åy³&{þKÈÃàÅu@A^ø*­Qç<ÿ鮘D&üÞýªJú±kîN5ÊšE²ò › ɶ†,Ð)üR¤®–Š‚{iÄ,Ê(Y³ið´'WÃ?M4¹V`ÑãFLúß%Ž¡ÍRFme‹gî« ÆŸ¶j)Åg0Ï/k1Üi1êÌ«{‘+×Cýr“*¶X¶å}éM¸R+"@ µö° dÔñѰþHÜl ]¼–ôžQ3uÜœF&XïìðvhOIoŸþ‹"~cßÐ YÈ‘¤}/àŒ½yTÔ±¡'h„\#§otðBÍ(Xeƒ8Nå­š–•û6Á?éß¡ýdÎ UŸ'¸Õy‡“÷ù¯v5¬m0S Sç ºëé¡ú¿0© ´/c·ý‡§µ.£þÚñ½W4·0ýÎø¬Ñüžü¡å½¾£{€?ƒâLš=^i{›˜º‘p|6Š­þß•bãÐ=@o|8’3­]º“z”óåÆó«™¹à¯µ»×œA¹¹17Ê8Á ï´ ƒpKpÝÚž£„"匌ª BÛô®•ùí©‚¥YR\½¯R4…räPÆ$¡Þwô(*™ Üøi€,Cêß2æë îΘíµf㺈[ù½g sŸh(¯ï çB“£ª¢òÚ…¾¡»Q‹gÛ“ÑÑâ1(V_ ÿ2»Kwø íþ? 9ÔêD”‘ómàŠLröè%ô‰6—Œ€²¶ôöTÕ±„uÛ#ÛÌjú×c>~jÎ)uL!¬Ô®¥òúÒy®…|òÅ}äýÀ.R±æuõ¥0XõU Μ·ÅÃãÁÊ&å¿Ãõj,¸CÑ– Lþ³.Ð~61ÊœºPžwõ1=‰‚Ô˜ÏCeâ~fø×¹8Ýレ©cœ&@ò¬Š¾ðU7œ"¬¨Fl]‘ ÏwM·À!<¿ìª»H+\šz”¬‹ÇýÊRLK“ç>Œ—îùqB™§$ãùó^ä©c”rdZ±Ò¾âfqoÆ»ÓF*ÁúžL?Ø ·÷}aÄv+¹´Äÿ MË‹ºøÒ¡L­ü;£´©VµXÆ~ðäXŸ—æãß|¾ÀòtßÍ^ñ§GUú{˜áºÕ~¶Øò éç:^Þ7I9qçø½¾_ÜjPU"a÷QºJöJ¡kæÈ½¶ñ?ÿú½`êZ·yíÈ•v›ŠÔԧшoÿÍ%ÒF€÷G~ßT[Öí¶iv0iùÑ™z(5lfBêKÇZf¯«£ø’öù¢×_­æ13ϯõ¥õv†“á°L:"àYUÓ\xm:Ê…£boèAØû¾Hn=’NmÇþfôÄÈ©´å"6ÙÍ×€@Ï_©¯Ž-6܆tþ‘¾È üörí”ôÞ %JrÐïõƒ’8qî)´/éØÚ=ûöv,3…Ç\§ò/ã“U“éÚȰN,ô;ßšýgµz›,ƭzÌLX?™æÎ891.¯jÊßM±}`rë~p…UŸ¯$eŸW^'ɘøâ}½|õqOµŒÀhŸž#|9¼óíEÛÜD{¾ÇÄ…u—ÂW/ Ûò?~Û5BKèTkl|"éÑP‰Ó’ÿ8ç¿SÑ Ï‘Ë¿záL=Y\Î,. zîíœ_Âà/µŠ ¯-÷~k!öµÿ@³„eÒƒd3t;ô"ÄX”ÕgÌì‰y«Ø#Ùȳ¥§ùt—g»Þõ¬øMÍ‘Z›•Cµy,ÿ$)Å'gîw£TÑÅŸ+&¾è¹_c"°äçøiÏ<Ì ªâ.LÐ.&•B ,ô>ñõ²ñÕ(%r7ç…:‘ç·É€Ü©Zɰ¿°]“(ôk;‡Î¹6O.»>G.· hqp©§šåÜgO¿ìhCÊ:ý¡¿q¡‚MQN˜Å‰x«‰ïØÃ®èì«ÈÓ]6¿«Üͦ+#Ñ.J6@`b¯[o-þÏË|IkÈó4†Eîé}Éñ7²VFƒÁX³.Ú é"5b)Ç®ÂW4—zÀ3µÏVØ=W‰å…¼àP_×Pæ–Êï[bGMG–º,£rb¸ 7|˜çÓ†×Üõœg©ˆ¥ÕõĶÈ×ý#ÄÞe–ûâ¢ÌŸ©™à- O¶ÛñvÊ7ÓÝ Å›0*ŒÉ”ÀÜvˆ3EDìA»Ò=A1ùš€Áá„íY?ö SdíB{þe¿ü€;žH`·$ ‚żö½ìgQpp_ =ž«râ æþòëñà;;±4ÙªŸ½ª:N~ÁÛŒ}ÀARbäLBæÁ1:?­ èSSÆõ ¨T0Ò£ú{ùuï% k#Ÿ>‚’þ@]é‹£@Þ,pÎÓÊù›ç— ©ÔÞ —´–9Ä`‡§¢Ü”žG¿ƒb0sA+ú±¤ ÉÄ<£ˆŠïÝ¡¼Æ;Ó^À0ø#åPÖßû½ï) û°ãý¬®È˜ÓvT§Û‘¿Ê?Ôýäpöá @õYƒ—ÇWá¹#Šž€á+…÷…À$}o<¾³{IUK9=<%µÓÄ_)yCq©îBy6ÊÇiÆ1^úÇòUO Hþu4míÄ÷˜—/?RÊþÏMˆû˽ÏK¨I­ñy–ü RÆ€jÖ)ïÕµOÎw5XâócäÝèÂ0j¤oú0b„zg:<æp?ú±Ðy—•Éê´w³šœ,úCQõí·)w|ö]Zi"/Ê‹‚QA •&¡êTëÐ%ç4À¡ObPOk0qégg£à²Ûúaùm§ôP,~Ußó33A»Í…‰¤åH~ÅTcDêµ™‰KÏ(ÊÿìÅe£r9°xžŠÕAÓç-*`hÒA%2œÈ0 íLF­›³á>~j¹Öá+¼{=ÝÞË}q9òRΘJ‰aº!ÐUƒ–—“õ LTãµ°{ ÅïŒNÑËÜFiØhö·¬+ªZõ~£À8+7üÁ0ÙzcuÜfLF=Ž!<”%U,È[ä)œ­£Ü¬Þ¯C³”tJ³¬g¶ò™c–£â‰£ÑKoˆ ™Ä.ƒúû7ô©ýxZ¦Òâ™ÏSVåCÍ-RcÁç9`ó¥ (Oâ_c® AñLÜ+i8sµŠ$ݬlª'W#züÛãüå©j$±î{‡ßGHÍ–éˆAOËœkA?>Ë,f¸§¡³œÁÒè둽„Š\M Ô Úׯ&(s=X¯ªAoý¦!†©‚/fŽŽÇÓJšB›‚2ÓF.vû¤2†% qÐÑ“yî$;°F-ªŽ;¢þÅiß'ÉiœØnô\f÷d¶yeÙÑìɆ^iñ½03«AW ºxxkGî’Ó8Ú]ÉYlZ¯ÃÂ1 ýh<¶`‘Rq°ÊH6 ìI‹ÌØm«âœ7 ôŠû3ýªÏÎÃŒÊGK ¼nh@"˜õ%ĉg ;µä‚qÔ8ÞQ?ù.nÕuO²ôŒ]‰e± “þÖA’Iº Côê! Å÷NER§aœQÊV5š'½!!Å•¬ÊÄªÙØ ®5óbð¥S¢æ~œë‡–ƒ†r œNñ? ßy8o4%Ãä ¡¤•^úEȹ$öYö!šaO¤¦‰AÒ‚OÈà È ¨¬iÛ'›8Z i >BM¾ªIhëèã˜ñ쟕= äEi€„òõ1%,ç°2áXÆŽ¨…ù/Ø1’ˆ‰íöLµe€ä®eÅñ"eqºþ@F ¥”ÁrÞfv·Ý”å«pÃÒ$ŠYÞ²°õmŠx‚J<9ñ|»R—k®ÛYDÈ„hmõY¬FÈ$dšû/{»go×ë1 jr5Þ®R¨”%4 §šy  ¶=$…Zº½›0ðÑ7‹0ë,)²½sùDæ4Ï F^‚ÕÀFÍ¿sth‚¥ÎúHÌ€ë–×àÄ›!’œï™õ¿ú3Ûî¯2Qûc 'N‡3%ÐÜŠå2?¼–/ªHçª2aU×]MUÓåæí7œ:ÛfvwËmûtÁ¹KšEÍѳæ?­WÂÆÍÜÙo/!’=P5µtP„àmµ‡I³g‰k;”βsà±§nÇŽûÇ]¿y@½ø"mEÉ‚k5ǰˆåkÔ‹îñžmÒ—_£a<ØÉ­JÍ/-6GÆçR@ªÌ#°L[ý°Ôë|å»W ¶fqÞ<ÞuNØ2—dÙ/tP““NêøŸB,:õHb>¬_^×â¹Çá:Áº*Ö™×™‰(¸£P?Ô´x#XØq'"çÃ4à‘Ù„VÌíåûa“w1Þ÷|®±gsò[:Ös«±Ù†Ó)¸É¦¬Uô»²ð§«©Ð,î‘Ozõ”»‡åAÇár0éÒ1…ÎW;ç Él"c?“'•ÃÖËÓ Ë6ïÀ-ôÁ–Ê“ìSo|%œªý,´Eéê}ÌÀõIú‘¢Bƒ™¸2N:ñäÄûh¯ ö— 4,c§¦pšA®$ö«¨Ý¬x4®Møã¼¿–šp÷[ë‹û/ÀêfÛ ŠÌ lkùíÍyÆQÄ_WêLÕ㵸ºâÍhaØ•Ä)}¨ ×$;Ú<–.ï®üØ*Û±')ìUYoè³ç "£J÷ á°"ï=s:ÿ;s¯ ¾$Üä(;‰õpkn¦ƒÂ šÈ.ÿ_¦í°þeÕ­7@&»{ÊÅðaÀûBØ ”t‚»ä%±ð¼ñ,ÃÝÐÙeшB´‹½y*~ »#/ÂÅmüú;>†á5óÆo¾7«n+ëd2\þºÊÌ1 _:sêÑæ-b*?\ØÕ2M›0(n$¦c~‰pÛöq nìœßÇè%Êóär’ÚòÃ<¿êD‡'õ.ìøIœ‘æÕ¬] ÚnëÕveÕ=´‹Óˆ˜#Û›¦ÐÙ¼ÕHIE‚Db.3܉0ÂÅSÓ ØZ2±Ç4LÇæ“W×þÑáçXR:îÐz ?˜É—jλâßpüãekØsWÇüÀ …}fïÔ½Y_ËJÁ½1&Ý}ã9õgÓÆNd[*{êõ‘óTI“~~‡è=æÐ”ø5çô¡ÃPWûó‰ë¸ÿDkQS–uåÁ£z¹íжå£Â7qÊ#×Ð[*žVÐs¸ ¤†¬=@?ªv°SgP²W Žû@bï#°¬[¯×ÍiÎ(/1ýª8=óñJA•ÿüLùô!®aÍð8„k´ÐôôÛØJ²þÜö´¿Àñá—øR8Ëòš¶›p_ W0 L.cc‡²—ße2¯ãDúCåd7°nUô€]$ÈQUñðVò}õx“;‰zÚò(Ñã†SqæÇXÅ|§²ÂØ™@Á{u·=Iß[ÊÔ>Kñ-!kTU‰îÛ/ MŽÂî¿c–-â·Ódg‰„˸(x_‚˜êë}Ó)|ðuX '(J_^—ÿ>ic$Â|_TÏ83S j\/Õ‚qíj¯Y.rEI1ý· ?Y{¼:üx4õÑO5«¿·"_h éaT!eûkƒ)úøi^o!¹œ6°¼ï;I‹v§¬ñ¨4¿Ìõu{QйOõ½!÷Æ!ïDtv`y~ùÂÅõXG»Ž\ fRÊÛœob¹?›×'WI_Ÿ©hô?l>iïØ~~ï.W’ð®Þ­_è½- ûéÏPׇ^òûÝŒ²h>¼4QÓB~ç<¥xæw–—Ÿÿ­‘zûÛ5êcNò1Øi \¾I•p°^X‰™Ø^l_A”íëB{„ðfqÂ] ./—ž¢7·I²zÕÖ„kuò+;5Èë”ÝÖióïܬÌ*xGW`Ï I›É]þ5Áq_žTáǹΆ:h¬DЉ#פ'[0“Ÿ¤¢¢ä`æÕ>¯ÀEŸ.JNñoH_﵈½xÍbØ®q‹Ô™ÉaimйûóTÐpÓ®ÒÅ ,ê?“õàgŠ}‡óŒ‡Uvµ…Œç>cI´©ëÇÎWéß°¥LàÎËx·<Ÿ­~÷í+Ž+ÜHÒ3h¢í”Ú÷€Ãÿ’õü¢ÖJ‹Óp7N¸å€ëW¸3 šz§Ó8»"ùfâ7=[ívX2ÖÝaÂ77Î6>FàuïG†‘Ú+#¤dk*ùºb6}`¯ÿÕ Ïä‘\ψ8ˆ÷~Wo&1³†eEŠÈ1ˆõ¡Ûë©ÙÓ)?vëÁ½!0ûûÕòŸÉ¿]ÅxCxÕ6±ŽQ¤ÕPÍ©¿r©·ª‰¢îÔcÔ0=ˆŸ7¨ŽÃ(ì¶Ú3ž†˜‡B©¸û—æ(Ü'Þt’ÏÿôlÃ6œGâQ¢œZa#´(£ˆsO6s÷_–ªÿ`0_㼃¹²}w)Yî듦ëéØä1ƒÉØÓžc$Ê(±aˆUeþp²fÁš†Û ¸ójêÉÅa`QQK[ *[¦gë DòxÏ€.-èY&µTï=7yÚ¿µ9G ¿õËtTK,‡.9FËiƤ2‰b…ä×äZËåʰw2š,úSiŒÌ¹HÂÿ•™ñè6š÷t.Å%G¹^Ô;`çÁZ [’Ê}2ú5×ëÂXfÓ}ODÔGÊÙJu_gÒà )¾‰V‚‚úóhݧ^ ú†€ ë{Ü5Äù¶¨,…ù“ ú|àó‡WÛû^Ž-©TÎa}_Õ‚LƒQï¤Å·ûè@[ËE&E¢#©F_­ú•¸gH½Á‰`Ä8ÆÖ©DÙDå³ÖÏc|ÄÒ%8 ¢Ðs*—uÆn„±ß–#„MÀ°³òUðÙÛ0üY¾ë-Û3ôó0ß]:»'ó”f”¹8×8ø/‡[oe áuIÄ;K¸•ÔK¥½ªLãÄ–|Æ…®€³Ø‹­• < m<†ðÜ%=IE|”~&…iáõ½™¨Í¾·ägß§!}ÖãÊ6Ûj0wU“Íp¼t7þVTJœ` ³àéUÊ3éÒáU2ÌÝê®T-§1a •¹®ÃSá^5ox-ü>Cý%rž»+‘¢p²Ý_¹ËÏWYÝ®ãKl|Ù¶1µ¸Vgrä²n“Ÿ`”CTy‡‡CšTDš ŒVŠVK:d£*¾«|Dñ ³Å­~—ªpúÜb™¬i±ÝñÆì±çW"ôÕ„f! $EØ–H>Tr.(ÁÓƒúqÛo+nðéÈý‡ü 5ˆâtF“6¿Ø`ñõ} ¯(¶/‰êßW7ª¤i—ÉýfÑR³Ùd'BÞ¹ýH²ÌÂÉ)|‹ù­œbÙ*îZk³*Þã·ˆËM‚‚Ç@c]”3 ·P.•,”vÌ9q(‰ùò•.DudE NºÖXæÍŒ!›'9ª¨Ày+p«0Z‰:¨Ø«p 1‰3…–ñ#¦óG´1*1ÕÔ‘:ß˜š‘±æ7?•“Åuâ¬òyV_þú‡K!M#Žð „lÜì[ƒÐ‹uúæ£Ù­izì'·+Ï~,&d€±G=ž›Ê;Ä>CÑЩޣñˆÍ—›tÒ#lëo’²âùìžþ¨€“)ôØËÐþ}øsDi0©MqKu™7‚â÷Á^ìåâh†?.&¦Èäb;©‰«ü"W%­–ÓN„ë¬ý"êŽÂ`2¢µ j-NT*’?°ŒÚE>=òW¯àòLS¤§ÿ{'K° 7L†:ìØ/¯¶Úä·&zɺï®Ð5ú™kÞ²úßZ½P꺨³x‹h ~a"| ÛþÓAä—´yÈ»½ ÔLbûÙª‰ýË G¢ÏnŽ·îÔ»o]·í ª^F” ‹t-–4Çâ|Wq¨Š[f,å–Î|ñÚ¾ Á^ù[=[á4¤¹îö KmÑ/™LE%ýRÝ5ÕÝË”6'räÅEùÇëÓé’ÝóL¹ƒ'˜sÐݱ@ªeÕ 3°˜„ÏÖE‹>I§Sc{ï‹f‹(B:FÍäCµ¿jÙ4°,‰Ož¬ÊØšàè53#ÈQø¥=8CÚe|ߌcöóqf乺·Åƒ ;ªÿ¸‹×ô¤…äá›OÒÞå"Ò~*ýqlrv¤6è¼íIUõ~[HÈ e~MaÅc쇃ˆóä~BJë”Wþs!Â/‹Ðd.{ŠÝª³m àóUÀ_Ò—:Šƒ*ïv°"É…ÂEI3VÿGŸ¡#Líê:h8¨ß´—l¡h ±“(rˆÊ8È\¹>Vö¬Ï’±n™Å3PLáÓŒär9ë'žOf1­nASËWå)¦pÕ6N"¶“ÁjŒ«KýtD ß >Þ­å¶0nœÚ(¢ ˜/+ ãŒ&5Mc[ô› fáÁÍ7Žýõ-—&Lw¤;Â1œ†ÝH<a+Œ(¦¼³@˨éjbܯ¶² ˜Âù74þ)~m̧<Jì~WŸ;n–ÈÝ"KÔ.®ÉºWÅ÷/µ[fA„… Xü"‚Òë/xd;G=ên?>ûûF€»¹ö§¾Ï¼7Á4ÕÆÎÇ{Ç.Ÿ®à ëàL]5'¸E È»dÅ*̈#p(tñÓ÷<-ÛHC3´rPø-]2gÑ=ÛZRìÞ‚ ¥“Ëè\Ÿ°ESd0‘óTî^eJ•6LàÑüA=_íK[«}¸ þy¦Nÿ?ÏR;¬„wæN²/ïE*ê¹× ÊÈ™!Þø´e„ÁËç²…¸^@ ܼæµ~ÍñÉ*…Zêe`]eLÈ%XßA?f¤°ÃEÑ,kF,£75k Íðn‚Zž^£ºÜ˜&–ÍYÂ_ØA“Êw†”ŸLqyúŒ sÏÝÖs…ý‹{E¦¹Oü&F”̈¡Wª^'È´Ãr)Du3tb-?_|à*Ÿ‘ëˆl9­*c¼â/¸þÙr°ä·Ã[Ú‘-(Ÿb$Ö^ŘØ=~&aQaU¹8ÏTI-£ØgÖÔÔ«¼–S‰‚~ÏüºŽÛLësŸ~ÁÇm¿Ù°póXlÖ ÞíÄ7ŠäcÅ æ3¿QQ ûÇÔ N7KÑ«cûªmñµ$lo¯“{¥BÇT1ˆdMŠïkв<:D«}Œ;OW%O\“ÖËicÛ= PŠ¿ìŒp«d1`!^‘Yæ ‰mc„úQ«\@š¯1ü4óÉ…îζg¼6áÎÔ>Jë!M>¶X憾¤3“pÐÿÿ¢·“fݦø+ÀNÖ·öÈk 7e9Ë»ûÂVyX7ˆë‰ù®©?!³#‰é¨t‰ïGéPjIPí nr@‡ôctNÌž_ÔSζ¬ç£º.„Š~ZëáŽ@Ì™š÷ßÃWQ|ý7=Ñâ3= ¬å:{½¯Úgën¹Ø”X¥Æ®Ëç~?&QЯ4óJ­ì×´íÎT`$2ÔÔËr¤o9›p³$î±´ƒ}:„S$€¯àí2)—<'gÖU4ã!¿’È%„5Ný¯¬<-¸<ÐÆŒÆ»á܉LJîåÓ<v…7ƒˆ”õ–éîø¥Ï4uRogË Õá²-¬‘ºCC2ÃÇmzÛ×NžPõ)Ò⧆ÁŒ`ô†m^äâï¥ÙÄ£Í*ÔƒK‘%þëÄÛ¹5™êw¢ML¨½ ,±Ä¨€56 !,Yœù -ÎÚs¨¯»ï¶phÔL³Ÿpa‘ % .ÕªÀÄâÙõ’Ì,‘™oÌà_iº½ô´êwžèXeÛÔôOã}œ'fdo.&‡fƒƇ»f%Í–›ºc5«'4íCí:DÄïØÆ¾ùˆ.³›Ø¼æeŒ)‘Sná*éËÒÔãkˆÐþ…‰¢t÷˜ãÏýÚ‚ƒl˜5€u…«d¡ßusýÖ‘¬T²Lc:m]çማ‰6KQÒkQëú@ÿÔ?ÆÒ¨èðÛ^›ÙT°þ.c•ãÔJáÐÃö%ñ‹åÚJšTÉáîÓ/,´Ä˸ôÎ7_tý:Šþž­/ä-'·×õ”‡À,/ÜÈ¡ËèêÿÏ2†wQÁ¤(Áfçéù=—:b‹ŒnI-MÑiƼöc;ìî0äCå®Á<ªN¶SK|Ð=•;6úebQrþ;h›©DLM©û‰¨«1cËLkRS³Þ`«iÕDí¨3“Æ*Z€,ôhmnb ßö ,¡ØªI±˜!;G(”¯ÐÙ ‚J•cϘD¢ÿ‚“HFCŒ ’š~¼‹«.& ˆ¹DéFgib¥ikÙ‹÷‚n-5;Uw`H/(‚Ò±ôök{¨V,zز¯š½‡P§Ë‹LZ3ÕÛƒhVýˆØœ u·B”Ð6×e_òr‹°Áj ŽB@Wcð.Ýÿ»U{ÙôsYjBÑÓä ¼‘JmÑ}SkÍŒO¥Ï?ËqvÔyÑJ9úVŒ=õ×Èáöº›µ] Kc¯Šz¦¿Nª~ïi/¦—‘ávªo]#¥c÷îRU:¤¾òæ;vd+ð£‡m@dMn¾ƒQ±è¯ž} ˳ڮGŽ£^`4)ÂÏyàw£ZZ?üf ‹C€¿H eÛÜ?‹wd×1IÊgL¡lû’%„‘,PáóÝÚ1ÊÔˆhò Ð|"*\±ûð‹íÓÅ  ïg6ÆÐ;8ìZ _æÊq "®ñ;M¹¤™„÷E ±QˆT˜à7?Ï­þ“fÜDù Ó”gÃjm¿Ö¯ºEì‹sÌ;`Ćûo5Ä\uü„r_ùGAûÚ*{VÇP=c¡ÄU¤W@yÂЭïη¬\YC1§è’"M—/î\&óyêpñ¹HÛîÕ8«è~Ó÷™ ´ùõU_T{/áùc|\|M¯‹Z³mz9Žüâ•È<Êt.#ß"‘ßÈ.è!‚×a)­E!zúZò èúÿDçщ éWÁ³ –ý^Ø¡jÆïdˆÍ): ¯~öÈy|1n4ö±hiqº VX«wìŽ'.ÛÔÖ©03Nì¸<Ê‚µs/¯«ŸZÆþiJkZ vøÕæ¡ëÞgÍö¢^Œù¼Tö%þöG¬ù¡"ŽHàNI¤ed®$ÁS“wšÌØÑFpÁsªý7nÊt q æ®9lµþ™¸ tì6ŽÆ+sá¸ÅÙ—Ê_X\¡,цO])Eö»{¦è“îÈNâŸÉO¤ÐBØ ú‚–Ï…&å´@™2òÁZJa¤‡ì1'§/OøW-Å(¢‚Nਆˆd?›Ð+¸Ãsš?6tÃä3qÐ?]˜ù£påã.Õ9 xszuÕèZ•Š—Å ^§Ó¾.Þƒ÷`Ìíí‹댒’T%†.€gÌû"[¶7ÈèÌÐõX$œteiŠR4j4±’U€\=§yxÛ€ÌPD°÷n10“ÓÉò/d­HÒŒ¯{ õVL>á ‰‘c3ýµÔ`šbpf‡E£èÛ…½€¬ÓÓ}JÙî·mOôp2ì¹ÂU†v'z…(ˆ¢g‡k§ÿÏçð« ž âܨ1w[ÚìxB ÍšÉSD>3àý¡òÃøöFâßü">#¥Sþ;>å±Ýä[íHw›>åègvÑ®Óßw¢~–)\@cH;Àk» Û;­—YŽ£”á™O“Ò+à{:~^ŸMßKgX@Y5‰DÊ—AmkPܲvÇj³LBÄ6R;èÍ!„[FòßÖ/a`v«ƒh>¼$ú4U8½Ši¡,WÙbiƒãŒ “¹p‹fÓ«bPøæn±o”[úV¾<%¯®cû^qÊÑrŽÎ¨-%»ªÂ>¼ŽK'¥¯éÊÅë1)n”6ú¹3(Ø ÓÅ„ øNN Ö´uÌVƒNÔ­kxp¡½æx‹4éQ”ìÿ¤;ß(ó鲿¶!¦*„ꋬOÖx6X†‡wëß|OÖ€ælOUßYsfB$¶r:­5JG´øpå´0Çè tþ ñ$§Ñ[öæÛê¬{í”9>uïÑò°ÞçïȺà×|ãQUÆÌãš ¡!®;ýé‡?nl$±à?ßÉ…ï9ôÓ@.îìúV1 ²ÏZeå&«&íOîqhå[*ŠP͸?΋™¢õ¨\+0ýAw·Ë© #ÌY3´E4lÝ\f‘-£ s ‘ j÷1VËõ(é[.„«œÑ¾ò¾Òw@p(›^c%(÷—2! &Eç.Âv6«ë#’±lo\šžüaüË;vclWÝÂÛ.Eµ0c€Tñ°2`*ñ5È8CÈÍnþŽ&2íéŸ×y^„ ¼É¢ß.„¼·óFìÉ¡—·o%;U ¬KÀ zÿJófq °vý­,ÙSD‚[ÁÅɼÜw†8ZË‹¤^›MˆÃÓ|¼§Ku´QvÑ(ã„ê1duðy7w~«ŸÏóÒÓ½®Í’S‹ýŒæÍWMâ†Ð»õ<å ú¾ê}O2èá´¡:‹öYH†L¾ÈÍõ%¡‚ÈÔ¾€Ý t'*•Ny_À/)•ï(Fãw!–-ŸàT.‚Gš2Ìãª}W5p¿¾Æõ¡oHìtŠé?$ $E8‘1 a­/™¾»NFâòÚ8:VbûÝn ÛêshÕš,¼ÇÓ(¶ø>|¤€£3N£ƒ!ˆê w¡Á^ïA­8^õñ½g¢8pèÐHð_Ü…0j„1ðAº¬5<ꆾ§Žw yfÕÒDR÷.{¡v‹ŒX“’0ì¯êša˜l.ô©¬>¾L:{+,‘çÎÜ‚ía˜£!h{*¼Š)ç¨;ixÏÕBÜi Wâž¿»%+•• è`üön`¶Hâ eZƒ8#Òz¿êzÊ ëe#³ó è]“WU¢I´¶u>ÄùΊ6Â$fyËx¶œæ¸VŠ?¬{…Sõ¬4üZÀ0Ý]8Pqýdµÿ·+(º£Ù ">K*NæD·8–>’>!1/§Ò³5]cžÎÎUv5,<…ÈöbˆÂ2MñêwÖµ^“p¢ƒ[š]º©»p­Æt³7°œÑkæÎÆý#|Æ0æo#‹¹÷:ÓÓáD $Ó@´µF“M¹ÀØ®†ÈzdoïÈ`JàÞ¶g¬m~ùFzø‹Ùð}ãÞOú7ÑSücÉS©à²ñàww}(»žsWRÔ;9Äæ–¿ZFi¨Öa_6´cF®„O>>n"QÖæ þ-V%ÓhénïÅ7V¡`(6:#δOÖ˜óÍh­BÂí»‚fØê=öõºÆ:–7oÝÅx…9ü|9cÊ„t‰ØÀH>&·žÜ ”dqt7ÙÂ("2žM]i/r[éäTdþ=ŸÏCŠ2ù ßê<»´Ûé ÕâîúÎip„c1w“LT™nq{g–ÖŒ¬lëë‚2ÉyˆãÿÉoŒžæ~–óeYåÏh`|ÈÓuSiP;¢„ V½1Ï?~ýô!Õï+`~l¯Ã¾!€ RÄ9~Éø¾!Tü¼g¶àª‡ÕÌ"¿’MÅÉ5#i@–T2Áð_“}W¥„ö¿D‡ÜPŒ3W½'¾ÔÛ✠wÆÕþÿí± r*±Š>7£ÑU·ÝzÌ8æßs‰ü^ñœ V¡Ú^JÓöª%w`£W!ðYºúE¦å š`ÄŸßP tñ¦Œ‹š«Ü9V·ÂD¾À‡æjHç{(ÄΠæôMLªµïJRv4&MÀ¨Ý•:}‡5ê‚Á'1ÚŰ hT>O%l O´~¸§à=ÛW?žD¾øÓß VŒaÚDö—èÌÇ!³*·Xïo¬ó^ð©’|!‚®kf˜›³.\â³?>ò’+0“æŒbSJTçwï)’¦.~9šùOîÛ·c-Âõʧ—PŒ2$ìFëÎ_ùªÞ£à[Å7ºíl7.f*¨®.x¶ëù‘”´,!›o§|«;£§|ÆIòyáºOPöÊÁ:Ì)½fJËû†%ÇÊdEƒCØú /RàƒEva¨»(«RÖÜÄH}~Ã-FøW´ñ—GWƒAù¨w=‡>6=S%Ù\ƒQ£dmý!ªë° é*/G»iJ±‰1‘ÂO»!\ømˆDØýÛÑS 'ê' 5×ÞÕ—¾ñü po6BL2hqNúÐá`J á5o6ÍåÚì#‚¦Öô0;uÍcJ¶qx?ÅÊ€¶4µôÄþ”n(ãú¶°_°íÆÕq›igsÏl´ÙÔË÷# · :?B.ÚëW RÛ襒×ZëE36Žâ.*û_KNX•ÉÊeò‚©qŸ ¬ž[ 9`‹ºÙ&‡oØ|X”ØÆ‰7[¡-àÃ^ûæŒîݵemr z›™˜rhòqª1¯77(Jò)‡Dƒ$HÍP¬H[‹`µê¸ ·…ƒ~©óµËþÃÆpÉ Ÿ­aI¢ ñ,꜎Áæô²iÂÀ“©ƒ§!^¨å©WCmDr5ª~ ¼\ijEÙ(r'Ö¿ǫ¹õÙ¾XçBǵ,~‚[gQ1’Ý9üGïZºcóY'–¬¢7ÄJ®µÿۙǥ6·èÃÿ¤ü^%ç²f—‰Äm°Î%Ð}׳Rv±5V-nncZJ#²·³AN–^ÜÕRó*›$óa#É$9 9v¶;ê½|œgøŽÚ–¼ö9·¨ºB9Uw´:©Jì-Žò\Aa$CâÁiéN0;„¯;”–¦2]mUg Ï9f/¹‰)Jž9îã2k«) þæS6¬«ÚJGÌÚ5—Ýo0½å÷ –Ë_Ùp§¡Ô.Nü†c4jè\ÄDK»í!¿;¢YGó6üÖ« ¨ß²pçý,úHÌ›ÁG’ k:ò g³5Š”*=gÖDÖ©‹4ÈϵÍq¡_¨§=†0Ã"IE‹Íñá`ŒvÎÁmoâ Ö8냢-.‘ª ˜ª]¸SÆíó9Xí1Ù_*™Ú‘Óì€-¸R!?"è50U nA:¹áÓÁÿ9†ù&²ÀÔ8ä£Ñϸ&T†§>”)&c=W&74ë}ÁÇlzF½ÁOtñ‹¦.e+áŒÃÁê»õù™‹ñ¥c¿#Ë•êØŸµ%§aMpL‰±ª»¦å>¦nUëwy•õ—)Jgë^GÉq;ÉHXÍLžÔ\7YóËHJܶ#ú£fŒª.“Ñ"%;<÷çŸJûÞÞC9ãŒ&ÍöêwÓ7“ ÿüÓ6R@IUMQe=¶‹Å*è¥øÕ‡Cêh¢ê‹vtwR]vë`RRŒV]àöÞ±&ø%»åÏÂ(”Ž8ÙC—¹†² ÌçÔâã—í­*[¡®j¹g=W‡@"·bD%”2)F2A;ö©öÁ†“"^¼È–® $þžŠl’/NâRÕkŒmÆs-SÚÔªƒ*c[Êéž5“^h$„®ÆÓÍ)€›rüýAD—¬©“UŒ`jÞa,ó€üÕªràm™Î\o¶Ôûj$‹sˆ8þ϶R’—âÖ;žúö8ŽÏ¦ü×&/Ÿæd1‚O|éË龕Z£Ó¹6çØ`#ù%¢ìíò÷2_–4.ûûˆ  F–®Úd'š%û\D½9Kèî)u÷„fÖÍeòMLuÅ󕔺E¤C/¥wšýVK/ùƒã&‚iH z@ì‚?{M:ʤóI@E,eÑTŸo!ÒM4®çzŒÆu ÌkÔÎ}Õ6(âçâOâålwOìÎn ÀGÏUM.>Jí“kâÝ­·(P:.ºÖGÂ^6FdÙXT’²ÚÓ,l4OÕµ®v~3êŠ+ \žµl ·É^íáð¸¿å–^#4/¸ÇÖÔUBˆ÷¨¹PÕ×ÇQ$ºwõ‘Ô$ç ½”w‚‚2›+íùÞ»ÿ¨|'H½—€¨Sf³ƒY«ž"‘‘±ü:_ôÑs)Þ©÷:Ÿ£œSÒ|0doY‡2Þ‘S¼`2:1’w-|i,½Î½àGz7*ÔÃÀ~⇹À¿ãc,Ww[HI{q¿6MkRKmf|Ü/ĵoˆv:÷XáœØ¹Å¬Û¢ãzq÷~0ÕY¦Ìaé‡ ¨N >cµž¥}ŒìËûN`¦ [Z%­ãÒgÁ¦Ç‰U¯¡àwë’X«×ìDz”káÓ×VÄ@¥«éµ<:ï·xUkï [ÄTðó!P£,1{j J¾x^fD•Kû€Ô”“òº’ yØœ \W"ï»b¶°Ü—…dÈÃlT•@ ,C™º‚µÈÏ0àË;aºøFÉ#ÅG.áV‡¦uH•¶\×k;êÜ!¼ Cë sÿƒ\(V:‹Ï£+¸ú®ì°m®+¼þ7qÙІ1±ïÛgX›¡ksiм£+K(¯ã ¯Üú„t`hŽˆ88 ­âÏ/È¥}×®—1cOÿ•¥BÇá>¨b!U‹ïy?nDÖÕ—i~¥jƒ$ÄQ7‹Ã‡š¹‰Æôo”ùÀy<ä ñI‹D©7–s F͸ ds+¬Oµ›RcWô'5åWQˆLz)§b*rÈ7×<7& ÓD¦,‹ÖçYôAZ€¿»7RÁ~µü?:ì³´ª9Œ"Ð_ ¤ôëä§Ícéièÿ~Üz¡©£¶‚N“6¤sÖÙÔÿhìrIäv$½úñÿ÷È®‰÷8M€– C._/@˶6mÇt±<ü/š_UŠŽHc@Á£ÈñÆʃmÏ?|Qó[XgS+Èk®ÁÜÒBŽh—ŒÞ-¶\+â®k"އ%A7F˜uï´tý¾1Ò.vÒoKüº/–Ì^%Î0°}’¯Ñ¶i54p"FÍI.ڣ׆_KÂÁ»}Ä)ˆÒçÒr.åžç[rÓ0¸}WŸ¿˜U5¯#BzÒ3 é~AE“B1AÊàxï$}û€<ë¨dkaû9òI”±ø—ù(6ù´öšV*ŸGÉWxæ8²Í¸GÔLÔQ—aä÷BNyØqgŒhsäaH-Êy4Q(¹k3 ]²úï²ÇVÝÞd•¦4[ˆ?Ÿ,¬4Oò|µý\ÛâªÍ¾¨Mõ·U9¹/Zª.nD%3ö_E’˜`Vµ‘-î}å9<ÿ$¦Kîk*cæå{-ÞHVãêl,s#»€CúÕU„Àá#’oQ¶æªÔÉï|V.Ñ»‹Qšþ¢ýÙBGùJDÁ7áµÙÅpr¨úC¹Ž§Ýõ^#þß­Ç—JÜG~ä[Ϻv?>åÑ™ ú8nÅWŒÚYLÞzÞÙd´ÿ< 8 ªˆ  ä4y¬}°;Ì©ˆ‰Ödžk¯…V•€JêÊÝ>‡‰¤‚ëÜ6±«wýB¯(òë$YTÕ“¬Ãm8 Wn2¥)h;C‡«§üì®Ï„§O%q =‰#dݬ 2 Öº}¤ •³ÑŠ“cÿÄØ¯LöQÞ<„ ¤§pçŠÜ2 yBy¸ERÓ{‹Áá¼Á›áœ3b\ðï–»¤Èfïþ)="ŒgS¦Ç‰dWLÌX1¬“зéDz^uf­^¦ ÿSkBKáÀX±(Õ¿!ú P¨ý4%È©fÛKm);©^áìjß8õÑáEŒ}¾r#iµ‡÷ü«n+í9J§Tª1ˆvf¸(¢Ÿ )^ Ÿ6îÓ@óÏ" jX5ìžE+¤*ÀðÚy²VŠxÓ¿ †rbcb—ÜwãIö®š§>ƒzÚ(Ê*%ãÖ>ËArJÜÙ?Vß&9›N¾gXˆCŸQ|@¬‡ ¼m£ ¤·çDñ8!PD|`ÿÃ/€ôÁå§Ë3óZqC!£Ø!È“þ)fËz¶VçqùyöÒ</C×D”5R¨.‘·†ìQK!‹ïŸßÉ)“ôÔö(xëæ¦m²,NA°üþTäÑø öjïàÉUMœî‡è,÷g0ó³”4+Fóp(·å–(¼¿x7©HúGíÑEiÎ í„‚;Ô¨ÒIáÏÝ<ŽySÐc!3Ö›èÃ̱`xÌÄôR»þ ¼Ös{Ë,€Ð;Ìé­F­E¼°=­ð¨ŸÕòº ÖqàÏãŒpZkY!WåyŒN ¬8å!µ» $äzëþ`¥{ŠÑ“T–üB÷‰ÆnÓ ~Ķ¥4@’Ú•¸n\Yï¨{¹5͘`q",ºú½·µâê+RN4e²‚æÏ 7bëò1­ÍV6ŠÞlµm9Fì=© ¦¶Qj!¤×ii)B]›k„䏉µs]ãô!ª†Æ§Ï;ÌÚˆ¥CiÅŽ­RýWHv=ží€B=7»ɹÄÿ±ÎÑ Ãl±í®GÆ9-8)˜æcžÚ(˜3N—6Ö€ÊÈ(¾Ìß6º®FÜ]ÒØËãYÎX±Ç"£õ¿jsçYíbM0/fÆÕ§P.Й¼±<2.BŸ üÄZRšcy÷eÛÀvpttÐSˆ"Ïó,'ð/~>(}Ý$ÓL`×*ŒÑvD…çkœç rtv„\nš@êEpGݦyÿeºAù¼I67D¡(°/ÓÖè|T\H"˜9[Cœúy±?ON±%G¯ýÐvôKÚÕ¼ƒH ïâ Ào.÷DRq|·fH=dXîµê,ˆ»† ,ÖÀ£=¶ç@Bå¿Émiþ•½Ÿ2¦&Š-~¬,ÿ‹™%²œ¼“;Ý`]–›@tê†ùün¬KõØV¨l[0pÍ@Ï€¯F°ÁÏ„òõ"Ødâƒ;´ sÀ^w÷…´±âWè§0‡îŸ…?%øä=91&0Ä+ñä©C%k¥AiYÓN9‡TéB ÇuŒ·í|ð)h¡šúÓþ˜‹œø%(Ãh]Õ‹Û—¡¬ÿXÉpÈ‘‰>™.Ë:f¸:µG]-ØÍïêpMŧ=Mf_2Nmq³ QUÛ}ñh]ÌÁHæËùŸií 9brÎFÎõ8þÚ U”“Jc-ZÚtW’Â…êÝ5Àªö ­¤3 @H‚$µÌ[ƒÌWÁn» -þ>_[=ZY> þîÈòAq)r"WœVŽýæ6l™3Û4bÜ„Êñ³( «ƒG3uê=ª×Iq“X„#%ªÓ ¸óN8ñi¤²"u04+ N«Ï­õbš¿ÕºÌÎ:ëdSðÛ´[´UƒQt® Øé[UWWB¨—·úÌ@¾câ~»†/Ùeнý¡èRÀ ûµîe³#.]ÆîuâYydp,²¬! 1UU¨ƒ6Ù²%í½á–?i&¾@î0m! ÌËÖ¿–ëD?Û†^ªJââý4‹›…°F‚Íú© %J#¦1ú2(lÉ~3¯¨UŽ•ñê€W‡êPµ²Âþ¬ZjI°JaŸ1{;Ÿª)‹;ü€ÁbK‹MvÐíÄ â{@Þr–$#E¼º–ÌÎÝÚe2?Úa[RöŽKT—æÒäðÇ{EíŽ!Io!^‚Qç–;R8jGé[× ú¢Ù²ß«ùª2Srjõù^w´Á(òÁ˜$8®Y³5ƒ„xGå“§åj£ÃSÿëJYñOËåÖ˰Ua¦­V‘>ü犮0Ûc«ÊŠ”Vj/ õxñÞÿÝu”[–þeVʃ7>^«Œ|‚„§´‹°áèĺÛ/´Žé¿ZbªùsY…Ü>¸pÔî{ÐàCÙ7ÎÌÍ=é±Ùɶ,È¡,Ü=áü÷øÇ!§ÏÃÒ¥VÑú‹Æ3•¤›áåAË¢Œ«á‚›uMS¡ç‚s×ÞÆeË Ö绥¶dÜ"B ùÆò0L‹µí šq,aéάɒ µÝ&’ /qÓã+Vçìi†©.Tã;³! >c¸Oý™hXë„fËWÔóNüòRx¶”@FV2Ä”9ÐXÇ«,0ÊP"›úg¥m•¤ô®v[+€uõˆr”Â’7xæÞË£@ÐrϵÒPŸy"M*––W‡Ý—ØÓûìÛ—Ò©9‘Cë6ù4hjŒg\ÓN3„»<ñ»ôé!•ݘ}WÓ—i¢”›HbãÇ2EgEÑ *ºì—%zwq'­{|Q—Íåíi¤²¶± ¯dîÈ‘y´Rà…4šº•ØKvr»ó–ÍÇ^€’¤õºHsãÑÓìtÅ…ÕÞ,š€Ñý7ç"6nCà²6Š ˆõá IßÜlš®+1nÚbœA\nÂn¹ÀVT.äþ?$Só~mM½ŽÎ-D}Õò¨3þÐ7¼UnáÛ¼ðº!É|ò‚R¶ÿHäãÀ¿Õ?ʧF9t€aùQÃÝE$Gõ7º»lì½Ù±öÎÅÕ@¼ª"¿9;Ì2fF„n}Þ33»E€ºÁÃ%›€”Ùé äÉ7Æüô kS]9‡CV¹ð[‚±jŽÓZ§‘^ß•#­·÷–}ßCïåVe—Þ _±JS]•%ÓÓµA=aìá‘f‚Û5»R+`ƒL r/€~Qt^ܤ¯öó²  gÕ7íÌÚ±ðˆûgñõÁî?¸U-;íú r¬›gã*IiZMz窪Dí~\pop=NÍÁä¯ÈÉ}žBi)H6†„º!Òª%t¤ 6<(EpÆþøÞå?‹ï%ˆë¼õdq †_Ê…z[µþhˆ©Xoÿ6»S£ìöónx!ðÒùݳ͒©”'7é@`6«¤±oéVàêë—)î FŸ­EÉR|Súnp†Þr(“]¨°*’RµØT„6”Ž0ÿ8ðec Å£å¬Áâð ÁcäÅqv­ ì¼S;†ó*­±‚eLj֓„ùÙcÎã@‡[œh˜4Éι¿5˜joÜÒh†l4Ê/XܤüÆþX¾ÖjÃ]÷É-ψ ï9=iKëæÙ)Þ„¡¦ç–W}r*é>ãðTâ‚CäG yÝpçÚºeCÝàα¥¼~+Ü nÁêDàmå¸QÙ\µ\áõK\sIÄC¬¶uVX«.{*„û£¼Xl®Ã"¦8ákƒ›Ø³ªu`LE‘l‹´‘¢ã‰$±ª >1ç,Üb?ã4©ÅœüŽ:í—‰ý£õ]Z¢Ä¾œ•ô¥`tH—šuì¢Ån@â§QG8å{R„3 lßyÛçÎñÉ:»âï`ÔÅæ (ëS+G‘pn§ºCD"môÍBÐÜ>/AV±P9³BtÓÔ¦µÚhrÝ4|.㕉í­#sê#£á¹û é¹ßÌœLÎÄ7ÜtrÔücIï m®<±‘ç1ö•mežA¸2E‘Lÿƒ¯Þ–¹ÜÞ]Ä–X¹Ô¬Å|ÅçÿÜNBpòi¸Ó fP¼‚^ï®ä±´iïj‡Ùƒ¾Ú–¹)KO°KØÁ­ÜŸÒ‚Œi.îËÝQIwùbAuf¢Ío½äÓcœðØ`ä 2¿}šsÀ¥ùz7hK‰QÇCÎq&g6HèPÒzŽô•£IÁ"øB/Œ |H!‡Î`8ö±‡ÇIÆ'ËÕE©ìò.7­Gõûê\ÎmÆ@¡ä6a{)°9%ñC¼(ÁQˆ`íü©M+×þEéôû+ìWÿM„]8”¾–‰æfs}=_Zþ«>ŸíTº•U ÙœŽ.”Y6Úh¿–Q˜è±X«Ý ~¾Xº `Úž]†û–(~!Oc(!‡ N Cù9—©x]–ðêW 1"¶ öp·®M^ÞŽñ†ú_Ú Æ¤ÀƯ%É 0ì¢(ÓÚ=Øô3ÇvT™æ\RVØ4/°ù1~tÎí éRg.·Uuϧ6/É8 1ùà(ùHöi[¨&n6tÏWOÛxzá äŒjmì @üXžu<‰—>ø…•¥™ë‘’7”‚“+Xª˜’~¼O„¯ñµª˜¹¦Å1{tËr-¼(%ɤú+O3 ÝŒ£‰Êˆ5dáôíMQ–Ù¼ñÈ>Yp¡üXëu.²Œ,MU>üö=¯³Í¿FŠÂ°“§Ceª@T eÔØ½÷¹4nÊî¬]ƒÈyQ—ÖO*ÀÆ‚šª=ãÀ‰­œ6´6•;õ…šÀrÚƒ[v·wk­õŽØÝѬ|x†Ö†¤Xx–©çiÀJ-cHÏá&ÉC·T ÖÃà{>9¢|ÒH§ø:³`Ú5©…ˆyÕ1ïRãgÓ^m9µ]UTEõ\$’Ý+?]äUëŽ@ë”a\΋þŠ=ß%IZJ¥3ØÛ Ö÷q¢"¾ç¢©kQVÂîæÎ¬Äßc¬$w˜Ä‚tà1çiòùhœ<2Æõ=…£y­Ïd\ÚìBfqo€N&!@—6ÚN ê›õ*õ"Qû³Ð-fëãÏ=ÜcÛ”éÓ¥­¥OŽÃÔ{›ë lËœl~^cñ®¦âí)ºKp ì¡w’gWJ²"¬ÔÅÍÃBu€…þ†¥i´´Lü—¡e©'Q wƒ”ݾ èRÕ®§‚ì©]¯ï*<íáè­ùQQöÑÒä]@YÓà[Q øÚºZg`d}(?QynÚWrõÆ•4ì$K°®Imê¹-© « íbù²) «®e±'Ц•²•#ƒ@b÷KÎU¶j‰æ¤Ì>Ì Á)»g9Êb°”Žòƒûڸ̯?.Dà½^œ‡žžÎí=áçBs3»Xà¦äµ¸q.Û¾%pdÌú/ÞS!§}‰TÔ¦X’‰Ï(•SÞÒ°óej¨…XqöA”' ÃàyÉ0óLDB:-áèMטńÄ(ÛT•õQ“‚ûAå$Ò•„û.þ‘õÒ÷G¹½Nþä~”K Õ@•Ð@`ÝÉ<û“Ò_7®¢úÅ’É@„H]<ÚvwÊ“¡¨™PÐOMë¶Ñ>^0‘ƒ9ç›–ÇGT}¢/yØ6£–Ô›bÑpòsèÑ'ê´P QÎåzy Ì}ÓCº~¬7"‡Ý ÁaÓ‘¼N\µÝ“ =d´ l.É’z')wekä’¸jÎ2­¦”;ÿ–š …Z/e¦­ùê1ûIœÃ"A`™³ôÖ¦¬BÖL6TÿÝùÂP~LJÅLžœæ~ÿÔé fê1ÎØ]ù ©K÷è ì»XY #yfâI¡ÂMyË:\i¨öe'-/÷9ÔclÿÌ›‡Åšº¨{z$ø¼â•Ëô:ï<ŠLï*J†²§Ù÷'‰‡Èö40Ê//˜Ÿ4-ÄÀž lØñžøIsòJñ%šì[6 ·Í/âÜõ—z’U¡§¾¼Õ‡´’w¬†÷&føÙ°¶a´¯Áv¤€U=þŠ»|Üðga–n­äê‰ÓK>™°o| |N·÷±Ë ƒe´«G¿×³„ž:Sg»ï8õÝR¨ ‡m˜ï_nÂQ Øœ!pFÝS¯ÐLÝVnKnÉI™›™¨bìÉAuX€}ñ®@X7Χ:’VÐÀj»Xë8¡­.Í•r!ÆLÑÿr1¦ ôkQhwœ7ž¾ÞŒvž)A(M5A¿¢žìÑÖ ZàÙú¾±íøíÊô¨Ì ‚hiSQ¡!î}¶–Ê.Ò®ðB?et›-ÑS ­–w{®œäe@ëÝø@$½Ž¨.3‚}s~6C§OÊ’ËÄåçùvÕF6 [£HøÌÍî[GÇ^ p[”Ò”Ö,µåHò/ÑÇ€“³FRõ’™˜Rõ`H/PQõ=…Ô§µ•ÚõþSÝE7Vê_^ªclðÓµN궯[Â+j‡ ‡á†Ò¤Òið¡¦׋õ–ÁmŠlIN7Þ‰”Š/{RzFW1-æõ½‹É—(´ˆ[‚cÀ^Û²-µðŸË Bô#k‚ÍŽ‹©}éü¸]fÝ;àÞ¯£A€{}æƒàëgÖ:‚¨ÎèjXßtF€ ±L`ßDÙËî@´¾ Ý5ô)dÊXþZ¨>¼ÿ$äNï'=_~æÓ o´C“EM’54ú4‹~MŽGšÛ«µØz÷imð€»r¦´H·à«˜¨ž´Œq“¸§Ó ¥ûHA½mƒ{PÈÙF´"žCIhw0LÁÎâ°ŽÆÆ¬úaxRPê<|@Ø8Ícµ¡`55E@ð×0Š$ú VzÉLôæo£²³ŸšvjáaÁB9Þ']WüïpÏUª#¤%NÁYô_5€…yM:d¹&j³)  Ë{OY(Œ6Ø,ž=ŽYÎ ]k'‚þÿŽ ƒª·¤a’p;+0õÁüdØAê‘6Œûë™â‘D•í ìÓOôš“AI…ße·Å÷ô8Å:€üª+gÊ­jL|œJ"jîcœ€ªÒ5\âRC]¸ÿm5Û†ïæýµ/i$˜±VB$iYÄÌ¬É (¢ˆÃ|ˆ’ŒUèÍ:o·ÁƒîéKU"oԔĮ©—«ýÞvÇVþBƒ®V¬\9s=(m¤x ÅUˆœ§É/öâû [¥F¸jO–˜ãiÓTnŒÿ戓•ç¦DžÎt÷3ký6]Í0m"P f•=(†3‚Ƶ<’·Êº rß&÷ºgê]çÆæwðàâ,÷Rd÷ â_pd·WÐA£áê›ð'@ô…xùK ÷ruÛÿTÙª/éöÞ ]gm‡ ÎôK¿´·åílÍŽÀœ'[³òð­lÒZ©†dqÍpô`M€ôlÕº.Ü4ùd¯,L{Ô@ óÙ€€‹{„)¾Ä\¥ÕËKÉáp%Z2–ÝabO(&'JÃqæ©fñŽ/“Ó¿FôÁ3©Ìd.ËFFŒIÂ¥a‘lKŸùw½±‹/V@c„ñâTcdœD ûs«™ØpuVÎÛ x'ÁÇó“Ì9=uH‚Ïâ1ÂL7غëÍhdNþˆùˆLø¡¬öcÑ¢![r1ФÏ9†\>ó _îÞs38èŒWd¬I;³ ²“‘ÇÛßfx³iÑIöá «9xAT£Õ¡µÐ0*[]Ý_AÃØ>ùb£LÆ9^¨í‰5ÃJjÛÖ+è8‹WSj‘ž(ן÷%®¨$?„½ef ±ú GÑ´H8³YéýämQ|+ ­E2ÞkS!v™ßË×±z¾²§†t“ØcZZ*4”hK7 W}ßåZhѺ”„kÛ€H# n/ f÷Zí¯â¾´O&vör@Ñ „‰¢Ž¸T€Šxkò…J¥ì7A ¤~ñ!@¥øašcA"ô‚À൜˜™è{Å<åœü²i†§ãbG0mæô饒\\ùP™R„rÖ’ÐDíL xC§R)1žJ˜T@c¦ÅŒ…OETêAF2åb¹<}U¾ ´êÍð#Kz,¤ÝU¤nHoTƒÂ”Aáéâ¿ïÁlIïˆÄO ãFÒwªkþÕ=99YÊ‚AØû %d¿ê–èúJÅËÖgý?$WØ£…% ¤¨úÎ@ê<ÑÏFÒÉŒ–ˆG¾±§VŒÉ,ì=Q4ŸÔz8^Ÿ³iPÍg R¯ÿYêFþôs³~z5£–ZÛmÁ5««V'j¸$‹5Q´åsሂÁrêþhØŠØC΋z¶/HFQ²wd\D¨Iõ¯Ê‚²_$Ö\]Ûqb@B×zý `¹ÛcËóðó}Êx"CüG-£8$ÕB- ²n*³N ëFK<ì‘}èp´ËŸñó¶2miÎÇyúçZ†¨ˆp¢`{áï+:Ò€Æ 2ûµy…(ì÷YT¨¤8ã“íÑ![ßTíÙò¹"ILr×™´RÍÄl˜QWrOÀçÄf!tH²úê:ä‹Kµ+Ž!ZFáA/€‘SFÂü…Œc§%™/‘Þ\xžøØ$qFw@úRp=¿8'ä¦8°Êp@ÂÇk§á[KKí)³°jD5ðCsóÙ’ñõ>8ZJeÓ7Ÿø²ñu÷#ÍVýÝH|—¢0&†«ÊöÓ`PåÚ! ̘ó¸ß d.47ÜÖ¨(ŠVÏÙöŒwB¿ÖÏjµ™ûŠDkêù +Ÿ)Òé%EÑxÚC#. Ó$•wåß³¹oBl¥¨h×¼´‘Ônš*¼’ÜÀ¾[üãK´JÇfÁVwÂÞ¸FV¶°þí|# 7 %>¦ï᪪ÄË—3Ò¿Ö†QÒ†9ÝûÁécþŠòù|a¸µ~«PŒ…ב¹›l€áY}Øoo›ŠEéŠÂËà9zg+x¼(`ÈfÔðbÓ«×ì@èýF|ý©Œ[Ñæ´èþÆE¨wƒW’Ö¸–¨¢–Û7éýQC*}—Õ!Æ¥Ÿ8mA·æåC–`uIN˜–lþš®Ë¾°Ç#SvZÃ:z1«”ùr0Ÿ›—Ï}&†¤CØŠ4˜a~¼XÖÀÍ?¬=‚ŽÂ†*÷9¢äSœ•9¢Èø±\®©r'T…Ã2ä¿GÞ²4nܺ1Ìc*ÂåqµîC èiá΂:;w„\ ªä¸~iãÿð7ÌÙÅÝ Ð”îÅàL ìÈéãìó¨({’{àkØÍóËduȹ’Fßo_†Isð·¶R\$?R£IåHÀ“ÏšÇBœðõháhÓ·îð¹tµ}“dúøRáYH^Ww® ~éB~Pzd悚õ ÿy[=ÈH*0¿°óðßゼ ;ÁIŸ)y™Mï*ÛÒ–[èŠñIshØ%űú¤cÓæü‚õK’ûÿYëbñû1ߘ‡~÷žDB}(o—Ö ø² É|/ ¼-§~®]9Ÿ«=jƒ%ëz‰Tv Fó¨{hÞ¥™ ¦Ëäå}˜… v&¾Œ0öÁ½·ózx+ÝÝFq5Ç!Bt~WšæûêD Ré’.Áuª½÷ò¼â€“9ñ<ÒµU$ÒtpHå>Q åM] >‡H ûÍ× ÏÄõøÇ Àšˆ„ÖfQ`ÆÂ‹¢µ.Ž <@çQt¨JÐû¶­Mlw„Â#Í)%—¯H|itøfDPû/úÍÁj^ª“\ þRL9]°Žµ«b]ßÅ’Q}ÒìîOáå 8ü`Zd™Á«%È©&Á+dšÉXEz½MõþmåSc5¯k–Ön‘ ¡vŠ;¢áµìëZßzKÂçE~išº´j&§òMÌüy@2¤ÓÓ«/ã”fªáÀ˜oÔ8Õ–ýýi×r·­åQPxÀb0µg.ÌÕÛùQ§º?†A6 l-kˆf¡{ØãÏú‚²ŒNò8lòŽ„~‚<Óá}¼ötáëQp+ËhîAég[Ò´¿[ e®kÂÕlh4Ç2ü2×ÿ×Ðåçüê绋4QþßÓžVàoÐK2†~a/—4¹7µ‰ÌFI«ôïÇ'6õ AªðÔö%\`ŽmV& jïZã nÎ<[g æ9«ê³5C}ªšµ t/b¯Š)¶Ó÷2€ð59n´ô&6æÙtt|P¬ãd)^ƒ€^Y™ˆÀ©7™}g)GC‚úíô'_išœ~¬Øý`¸ŽèóIÕ|iÉg?ó¥¡ÌëÇt2þïMÕ…ö;=Z̧õί°^EI#ÇJP’¤òb›]!j˯Wy‡ñ(Ü)n«ºN"†ýµæÃ‰Ÿ¥;ÉuãÅX°^ûÙ·8fë]=säaR¡§ô")g?=…Å}"ÉÆöåaΤ¤| :ŽE·ñ6ÓÀìqi²ó R°·„Ñ“¹›âÛµ;Ö„ØÌ·?,kŒºt„ 4+Ð@ù=_·²ÿÝ©KùvM‹`ÈušóºRXm›hT¦ƒ.Ûš‹EÈÀgÔïBËå±Àh\þ(œ:*£NÇ" \=ÿÅvÐ#[‰Bð?(×úñ϶ [éžrÙ;à–â‹:­é¥Ì®fïY(ÖoÇ G„´; 40t@:öˆ·Lån]ÉÉ2«'ÄÚ7©¿ÏƒUœÜœ…#-%´ù¿(eÃ:ðI-¢³áªÖüºBŽsf⿤=×äq]¨@ï½x-y\f**±Øa(èþ0qžõ›MNÒç:M7QÂÚ†¾1Øî€¢£¨ê>÷SZ×g<ÄI+VnbˆUpúr½Óe©8¶?¥)Ítã÷H¡¨iMKïa ]arÑIS™‚}Gh‰¢º–¶cMœýÞ-çi¥óà®È¶^d©™|+Y<(æ2’Fer¶°ßä+tåÔð±||w;câ,Fl_× Û¼u[ƒÂΠ›±¨†ïŽÐ©BÑö6þQGè`_Áo‹”BÒ~–VÛ¥0°”„„׳`Ô_nä¡@^‰hs±êÃKâãï n…Xo\+«¡x¯ Y›¥ãÈ»ÎW–´4x]™„š™‰r°¾ZŒíÝqðDïÚK›ë-%J º× y˜¾Mö×S“U)šµØJŒm´‡WSbºlÓlçwn@ÀNËæZ±dÍç†ã&ð™÷JGjx„Iÿ„å•vëü•–c½=ET)b"÷¾2ˆœMwÑ•6CEÚöæ.äÎ,ßYôˆŸ>ªJv!ÿá§Y+,‡X#ᎥnÓ¸¹ÿëäÒËQùÌÎyM¼þ¡5¥jFÿ¤ú+Á†øp¦Õ|gÍD„ ½û`îFHYH¦ì ‰§^‰!]É«ïäCSzÜÏ*'m¾,+ÑõI|U;'wÊãÖ¹:žÇc³ÙV§c§€æÕ³Ùo “Ði¸è+ôÅPüê›XÔà¹g~f"IãRs ½ðLêå©Ë]Ãçë¨Ûí!±M]Ŭ‹X_¥Ð‡LßG»È„Ï@è·âo]TËä§oé%îm=´ú3¢‚®kxmÀUG<ÏK-« f¥àöýÙ}€‡è&‘?/¥tJéâþ.’By.U¤% ;E:¾]E¹½CÐÃ/HÐ¥¸†Kõ‚Íš?,sWñoÖÌÍŠ·½¯ hÊeÀ-VÃÁ¥»»Œ‡‹Sk£õKéžH¬Äzò¿F¨$.L¡N÷)ÿ‚ß#C'Ú”HD”•²·;*=°h<€š~ñ¨Ïfs;9c¢•“¿¤eo&}‘_2㉃Áªå¤ŠãŸú…ˆþÎY§VäÌÍj{î@1,²¶)cnzcëK'àÂJí ;>„@'Ëb©?˜…ny‰æ…S ƒQ…fňíÊlºê/AÌjîŒYb¨c ]M‚|‹}3˜sÉ8¢×ŸÓé…ZâïEÍ ìåýà}]Ƈw5&f)6Ë| wp† I#ælÿ!Km±De½i§.sÌo±~|C„0Q›~ ÿ›:`À—Q¡~ðgX9t½¯óîòÁ! 7€]2¨{Huqdtã§V‡‡[uóÙ]Q‘qÈk zéOhìDÏ÷¬KÕšÕ­–GçC©¾ÉY©`ð`~·["éŠ¨Ñæ  ÐR~ŠUÏyÒ½øÙhcÉËé•èÕt¶,épf @f’ŠÅX‘‘Öp>ºœô‹)ÈÿPZünÒ¯¯å¥kªƒ° ·ß°±¿“fþŠBþ©%f§¹ß¹ãFø…}kÁòüN§¨Ñr°»È 9jËœ—oEàé>¢wô³ü\hº©>ZÙ9ØÏ½ãr:˜£4®í-syãP|¬üSaVèý-8‰]‹wØjê<:ÚiÃXÕRnm[„žÛ©ãµÅíSè½~ú•¼ ƒAMÑ{õ?ÉFœkÀM±xŒGÌö úÍ+AÏã.½@°@”£hq©ëß´˜EŽ,81¼höÛ{ý·àðM뫚”J粋°ogA-&B°ûµ€btoí/8]<8˜3î88Óñø‰~~qP}æâBFxÊHù±þªôK ØÂ!.ƒÝ™ä¥}ÅQ8Ï ›,@Ëîÿ¢\Ûñ‘ÅÏ–Zo¿â3ŠæH.•SWƒgtn1Ì›Gžyêï›…Ù²Ö.YþÜ™X§¿N)°žŒbIiZïUÈEÆéùdÛA ¤x…ƒßkèÁ¢ÚO­lÁ‰‹}¤œ±Uã¹J¼ðôWdâ†áþže.d¡&Y>4G¹ÔâœOŠúˆ}ˆäž™ I×1'€1ñ²ZE›VcG2jVõéÏ‘¨CÇ_¬Ùì¡ Ÿà¢li lÛW{KrÿNˆ&Ñáš·ìâbñ‡)®þTK¾þ ÑpM®þHtæºúÓùƱÇ“|•°é¯‚‡â$z»Ú—çdö³nø ü°Éý2ÂM •cóçuf˜–`÷”h)&å÷• û"…r÷0ýÁÆ£€-ÃfèÎ÷ÈF”h{ôÛÏcÇÏ…èÈB~+÷ý"1á\ÐH”¿®^u´†–‘ä¢õˆÈ EÛ¼5u¸ñeW>&)Ȫä V ‰0×@¨ªßJÐHö·uY~Õç…:µ³ÄPëÎçüs–ØUÀ?D&†‹„‡TŸ½¤ú=æÚ—áW®*LÞ']Ú€psÎ\tyë6vlðØ°´þ÷HÈŸA€ÎSs7RÙQ[þ‚‚¬óɈ²ÜXS.YBtèø¸DÒ5;qëç#i•»35<2”ÿSU<ïr& ¬•¶¼É€ôñˆÖoæû+CUæïóÒ lüÔBŠÅÅÇ 8`gì°ŠRJvˆO‰tõ<_b]HîWé!+£Ýåq{k‹Ü¹SX$dÙÔÊjýwÏ\ £õïuFaÌB ÏbeœÔ´wû Óo@©{‰ç—¥—ŸÏfeh3åR®÷ô'3ÿSm5¤z±‘{éjomÈ2óJßÙA!ÕÞ6:¹rŠ¿Í›¥Ã]^席ÿ_ÌB>åé•“G¾›ƒXÇ»A£»Yü²¶op´HHŸ+¥­ˆ.‡YìjLÜZû?5Hyõ^7Èæ%¨ØóÚ VðxPú‚sGÙH=vÄ¥{3¿zµ¦ïZ1Û©—CÁc×[Ò©zžs°LÏ¡pb}©õú‚u¡«¨¼Sžº’ŸçB™D‚5L!QÔ£_Õ[eÄî 09l[Ú§LÎ ’»K~œý£3Ê4Åi¸‡¢Õ£v -š³~(íHwŽ1Ü€ÄËvCæ‚Kµ@Úp¿ÿ‡£}ëB#’կȸêÐ…4Cñ¸¾Óˆ¸",wÁX|¶Mxùû˜Ðúl÷½,\ò—²Y+×^n¥Ó²Lvbtà…D͸PYðÃ1>²Qeßß2;á|‰Ä7RN8™Ëiha¯‚®‡÷Ò `µµ5÷Öß¼Ówºš¿jÿb¶â(ôbB0ÙÅÚœ2F­é){½ý_%ÖÙÖ告4}øX'û;o…Åô_ΦCå£@ -#‰I74 Ý ’ 8Îr§`£eVû³LÉõv-‡å °EŠ ÒBU¾¤P&“ÛÅÕüè°¤ÖWVݽÙKžä‚¢Éq“ Yf‰FoõÈùaG|ž³@=!N0¾¾tôHmñu8±œf›A Z<ÿë)ƒŠ}¼sdWê+2[•ÃûBBÖi/œÔ–¿¶æf´¤< kM}t¬Apíøê½M×^Ø›TM koI ƒV–VuÍCŠìœÕ·tܖǹW P]ç¶½YƒÛ|[x–ßéq§©èÄ×ÁÙ˜eDƒ¦ÁØ»ùÉZh¹[p,Â"š¤/s›°Pµ¹Ÿ¶:_œÃirŠ®ˆ ­ŸžµêœAÀŠGâá4¯à:Q‡ºŸP¿5½¸À‡²»à]Ž›rF|Ï%ôâÿ<2L=™ÇŸg2Èõ6lglâÅ 4]ÂÀµ% @*´æ%4vйû4JýzÐÇú\šÒì’²yTéõb¸-ÿåª|½:?[8Ø¥½‡§ÂÙU©Æn¹›¤àÄ æ.t qš"K#·>îã–¥X/ÐÚË:Ø;H³y¯‚Èé€ã¼Œ€šêå¨QKV¢’ðùF¸ú?E;•*™*èfZ¸Á’+tj’¦ÅèÚ1D=&tŸth|˜®“ÎC#´+éfâN-3+'åãðKn’†˜iˆw'MÔëiñ"øû9^O¸@8âz()³àˆþNžÐ;ÐF·1;{ÍadvküY¾jvS_„ã ¬T7ÑѧüþÃPh¶8%[­íï剜 ”aYC ioXHIÒ8¢Ý@'Ø“y¶OÁ¾ÿTȧӳšúfpÕþgèx˜Ä†Ôl¶+Æ)R‡d‰M.P„¶æã Z|ùå,Ÿ·ãÂu#-ËÍüø+A ë`ó$¿©fý¶ Dq4:ºduöL8°-¸JEÔ Q/“§öØs³Í>O’—šàƒˆ#;&‚‘ávݘ:†fªúÅdv_³):õ-æ<ÃÊ&RbÂE=øbPi«¼jÅâÙsaA• '„P°µ€ƒã«ÃÀ«–šG_ª)Œ¯×Fp–,JU!L⾎–îËR\¡QT ö…>rÝ_>BŠ*¾3Ò)NRvK@Lø˜²XæÝÌfè¬{ûr3%cU i˜ËJöp…=(eä4·Óá_¦P)0ÒÀÒ'æÆ½ÞšÕiáÂæ~‹à­¥TªyÁg¨Å´A+e1l;8FG D/ C“<¼œ×®ŸãU6w‡82M0µ6ÈÒ¾ 2ø­€ýæCJ§Ð®û·#Tqb$9h½òpÂðSlèÞîÆk!)ÑO¤ŠŠR~GÕ.4lŒ»ë¾³{¬3U0~¬Ì;N^ ÔÅ,¥û³.‰<Öå~ûàkÎp7Uí¬2«H†idFø‘a4_ ‡ó†¨ÂÛhãï¯d’yÙMre8oˆ£=\“ã´Ç%ÊÚD8;ë¼ßÐ×ì_ˆ™»ÁTtPzVˆ©z„³Ÿò“D×ÿ*¹úA€ ­ÖUCo\T¶Né«mÆMµ3“£¤sy4¥$mÆs¡‰/W’mª?ƒH+8‡D#Bøªôö#5缉_å–Œ¼$—`ÆÈõ«À}áŠ(øö^”7¢(T¦öÍn¸¬W‡JJ½E^‘a¢¤3ºÍɇæQzïŠI.×K —@Îv¯Š@g†f›¯;‘±LCÆ5RRÅ ñ¬„|T âr ÔÕrb6E9dÑçòEW®þ[1DCW¬&Ù«K~÷Dõrz³f?²Ûepæ@ûˆ0‘ݯˆÞ)Á­êPŒ®H¼X¦™þ¯|¸FVÇ6@”»ì>8“¥C8ÿ¬ð²Ñ[†–”fyD€GM$r˜µÞ[|sþ[^ÂÝ9I6R{Éɇý´ÿ@¬ò(-Z K€á/àö ^‚)6ÞÞ¹çõíì…±¡GÃá‘L‡÷¶â&h¯•´L ç3 ñ’T»,Hóñl¬³P8>.¿éŒº³Ÿ/þÍx›Ú[T½4ãùŸ Ówòj±ù¹êH^ûÞí‰])YÛ¤Ö!Û îê?/¡%NØÁËú6&ÿ6ÔÏîLuúÄ>ó¨ª%âÌË®,ëÌH+^oåÙ¹¶?ï)s·ãbh^ËâÖ Ï}Ó7«öŠb=XL×u¿¯~Ð1|ÊL/i ÁrÎ9^¦r"õÜÊ)W­|¤ÉJßt¼Y?y/Ó–=ùÇßQWØ9®d9ïÑ'‘ó3^,}á¼ á‘GU[JXëêíµ>}'Å2"ÊøSèRÌ jé£×t<¥ž-º¯{öùlïGDŠmEb¹Ø¤é†M¿ò†ÎÊHUV2lfd1¿7?^ÆØí©VÒƒýL›@“ Pá´)“qÇa°¸¨.ŽÜSH ëTØKÄ÷#•‹èL¥«qtÙû³jðŸ$Êɪ­¤ï߉ÿmÄØµ–­…>´—0Ç©N-3ÂÙ™œ_ÛöïpcÑì•Ü‘;–CY˜£¬ ñFn6ŽãQ$R,ùWÍ¿ÉNg¿Èf3j…uGë]ác1'AwÆEÝo(‡*Z£5?äî\««*7¨)­9™·ûW"–,œ¯È~s­iõÁ޼ ÚH*rQÎøH|4(äMKë? š|š‹d#¹rG+¬Í %!eЧ§>ôÎ_ù¶º›ÒöÌaü—âd@f’ç|».×aôP‹ §¯ÈL&Érô÷§µ3'ŽJU?™Z‘ðøæÆx6„kø¸þ"/Us«$[VXáTr6G;$ë½ø~ã„Ð~„Îbw(z,¿;«È0ÍtHœ®r—g™å¿wÌÖÊˉhp¥îRìЇï­É¹= .‡ ±Ìaá¸ÿMZ‡|Èׄ_È#’’LDåTÿ<ˆ³±bœœf6á <£œðö|’«›Ó#E²ó{æ?êýmHÏö‰{{õþÊ6sFÍ4ŒƒcRp·ÊŒ4H« ³Zšß‹ %ƒLyÙmW÷;yD/²~Y}y˜_ìtyµ3‡¦BÇŽQ¹¸9‘wÐ8Ýb¥]¤%H@’W©²ÞÝ̨Wš Ý!%Asx¬ÙO×O„´# R´«è²fÔkßÀš£|?™j©±Èä¼]@%v õ†‚Œv˜IbX{‹ÏÜ<¼¦mÄÝ•>´d|¼ )@FEâIÂ31ÕẴkUÖ9¬ñWYj4ùÐD˜í·yF¬ãøf:攲 —{D•álȆ 2¯ê楱%fÜ™=l$°ƒ]·Ô u!ÜØö2§gö|kÛϦ¥…èÌïn˜Ç‹7ö†WI‡þ8§eD\ùJˆ×ˆ £‚&¸.û™”ÀdHîî®¶ö 7ò€¾ÊŸÁh‹?kVÔAÐø/TÛÜÛÆÈõBæH—{cýŠ¿øcv˜–$h¥)•Xª²¦i_(nù£æ¿u±Å ÃÆ%Þ£ ¼:@\—°1äïb:rÿ¿1–!­s£óPúP†ɳû U“8x£xg'Ήg:Š8g˜ì—¦´§Á\ ÀÝ8d'O_9FBµÿ¥z³  Z˜ ô]†i: ð5áOáÆŠG¬Þé2€¨Tþ¦iÍÏhY›v‚¥´?t|Z;®•’‘–L[0·êX3_,#¤;‹"R¿$;ÀŸá¦4èå|1¶Š¶o,§à– !,©@.ûl\4Ó°ërôæ[¸± ïè;2Nú‹ý†râóXW`9;F¥Ã†n²1öD½ô#pÉ&Œ,Ân[ˆ®©Ÿ¯ã‹n¡ˆùø‹½ýôÜ#•Åמ÷ö©6¬SuFG›ÕÛÒ“¢SBê6L¤­!;iýcÛh‰{üF g xtíÝè³;èr‡–ÿìúç.À‰A>óÕ߃M1ƲNÓ¹N­¡……+ôC‚¹r uñA9},¾-,p’Š%~¾öRÏàrhì#ðîžÅBYâÜ忨G¼ÐË‚ïÉc‘Âü²@C è@fWÍiWÝèÿEüÀÛœ2æ)fã‘.œjX_iY±Ãâ·¦ a¯ëðC¶ø%ó”«–÷`@ëÃß)\îçgÐÛ„é;źã抒sž&ÚNa¡Ÿâ'"«^·–RÅ}«ÑØó¿ø³YH¶JŽi˜a½Ù±ìº4MHùjÃùa*f6e²U×ËÙœ~ûzLŠi¢¹€[w/Öì-³/ µ§áÈ­‹€À4–”‘©¯†ÁLH`é|î„]Ư/5QW0Ý\Ø_£ÜrF’kê«|1ùÓ5G{”‚‰¥CC Q>h.+¬É¿êé4à€h=p ©H×pF涬‚LȆÆÄ$RטP…”çBRlB iÌSä÷*A©áY®’ðJé;ƒÛü¤¥lÓpÕ?JU\ëcä®ˆÒÆTtK¦Y¿ëÑÆIÍ«á½IjÁ”ÚÛlpk€~x= žO¼¹äÛ…h¿npQÙvíÝ<ò¶ÏG‘öFSgswŸ;ÂÖ'—AËÜ¥ù‹"L¡âÈÑ·20,ë§DÊôOÄ 14Ôî¶çÞÍ ;HìNòo²)ÌeÌ´z#“a™'{ŽÑ_™%ï§2Â×kÞ}0Zóg‚•ÍïªM^Tkém»‘¯é/ß¿”_a×ý­Ð4 úpݲ-•?†¬T…©Ñh~tØ»¸¿È‰F‡ i[,c#Âö~‘Qü±×õbìP¦€+ÇYŸf·lX|aÌ]¿7n߃РêÀ<(ïk3ÂRÇPW×6ζtïö‡†?Tq6¾K¶UºêÖjÃfk¼˜OñŸ`ÿ¶r ¯ð‡[¤î.ø1㶃ËQ!É^jI7O}ŸÿÝÅñ6›ÔA‚Ò@=òRöm·_PtîT©‰l1Ö lÜx५@ìÒ™—¦“ FÈ}Õ’–)97¯ö·dn¤)ÌëœlQv\²Vû|yVŒÊ—Þ‰#Bƒ:§•š0†"ÇeBÅ$—Uª‚õ5Öo•ÐmíW†aüß׌Y”ä^ïUÍ/ÌBˆ@Kã‚kw{ Ty>è¶f¬+SWðû~]žÏy6N\S|ÅvqKXR ÿÑnuî°ËMÓxúÕö_ ¬‘[b ‡V¦¯ ÀM\ž‘;éÿÃF<Ûkæ…fþàŒÉéßxkùp÷~T×Dm+V-V©Œ¢°|”QÚPž¢¢Û%•pâZ1=›SJü¤C"D%aÁWR ˜º]ÅÍ[6S뎣 hÓéxAâB¥>ÕãG8Hçíñ™×¶-•]=6Y#‚èJµ—ý*Ã/Ü´0œ÷‹ÚÿçÒsßÏ”ú FÈé?¸ÓÐúz_ÃÆ­€À3Óž¢ÉD—…pæý°|èÂ^ëVÃI¤Ô¦á·Ó ¢*0^þ‹}ècÎÚ'y¦î Â%<»tP=ó\ì^/˳“hV°Eù›®ò}&WÌÔS[©±–#%†X¥ë¬ñ¡cÑö44Îda¤ì’¡ô\mR_…Ç6k»àC&¿Òš¾°;×ÓÕ.Y./u 4âÚß’ Ãi ‹/ÆË-£ðä9¡‹ÿ¥ÊcZE2à†î­ÐóûùG’h×N()–:[Çêºlä (¼ÄŠ)<$y0R¶Ñ-ͧïÞ\°§ùÝÙ‹©ƒv­ç $Ö#[°êÁ’Ž€ûrƒ[Âv©Eÿá2õRå%Îm¦À$0tfBqôõ¶C»ðc7O*Ë"sæÊ }ý†D¢y•´NS«–6"y½\¨äÎâAØ0 w%¿<óÈp!SèX,ÁÔvÿî&%ü×^:«úÝ!‡ÄD§2&D).z²º™䞨ÉwšojŽ#ʛҨñz5¢áXx "«ñÈËóFþ8ã¾ò}‡ ®fÙzÊqJÔ%èÂ5#LƒD™N¥`×}ÄÑKúþL»L×[É}—ÓËçtIäòÜ¿ïb*d³©&e¶I$·4RéÔ)Ø%°ç¬nHI¦€‹êÚ+—<@>ÊaÌ>]2U3æãTšÛ`Q¼rÍÔi ªc3;“Ø|ó n:frzs…&‰ì9Èf¸] ©9›X[ú ^陣¸Xú~8ñõ×bT(Q ³B»Å¡¶DMqm«à‹ràY& *ÛV‹”ˆÎÛ v¾ªxƒ&ß—×è.Õ›TÃ~æÖh4by't7pK¿,ê€Ûò™®Š7 y£,œ< V¹¨ D {ÿWwCÛ¤™1Ó£¯zVµiý Ê0¿çøß&¶M<ÀQJ Ä=³/|§‰‘íV(ÂëQ¯ò‹/äv+˜Ö*¿ÉQMe;N‚€FSD³D*/Ó+K²¾%^ÇÅ¿#NþûÝù Ävо¾~ @JéÍh²|{½ºÑÑ»û¨˜nl)tJ‰&Ì™ã%ªfŠ™çõ¯82B·£—3`ŠF %5²†"H‡ÍÒÚ0ýàÇÃ8¶E9“E`{9þQ=ðåL‹Ms¢—¿IÔÞƒ+ݘᓽjãD@¥¿]¬wÕˉU}žZ´ÇÖd˜tp·YØÐ_*é7[Û¤ Ö~r5·¶ùƒ·ŸÑ‚}!¥ãDâ§Ýp–p2çÄ:ù!aè·lú¿Èpfpï¹CÏ„êønàx6þìç AIO‚bžÁ+š²:¤á–l|¯7*Q¢‰ÙE‚eai³§´«>MëdvýÎÔXþ½H:ª>²æþ€D© ¨@ù‚O®›ù¨ mËè_“œ•­D Ò\°À[äÔ³æ$;Ó¢–‰!Rv=Cü„qnfe›Å5úƒÀØÑyK ¡· Yù&Òaj‚V8‚¤ÖKÖàáÙñmG2ƒףÆ(á±PùDsâè-wæ=‹ÍÇ5oYF:'†MxÓ’nZ= tˤÃûðиû› Y‹¶×Œy—h—1¢ßUK]ê{|{([,“¥>ó‰÷¯_cWÅTã™7‚ÿ¬zr×eÀùøeºª¤‹~à=ÚC"yþX½ý¢¸–±ÔNO™ ô;¸¸>Ë#Éö<ô«1Ô드p £˜} +nWË³Ý Bߎü/Fâññcë©ö"Ü7¹øy†èÝS^ý‡Ú$’ÀÒeñŽ="[†`ÿßp]øìïÛ8y–ävbÍÖ¥ýH/ÇÙrxÒ™â¼WéìmÃ⨛ô’"zœ—±³I'ë5î~ÆÜúµ ^”­2´€SFë@rå 22£€.K0#u­Ž`²ÀòL§yÈ,(šûI_#ª}<«1^й“‚Û%à˜W¬;AUɼïU9S~䶀ݵ1žÄÁV­Òß…4 LüeÖáÕéû•¾tO…ëÌCH<€"-ç:Üÿ¥p#’T[Á²y_ÐÔ Àv»€÷§d'>’3ÜP[Ù…Õr<”a"î<†º0£eñÌ×â„S;A ¹¼ïeý‰wõr¨ç{ ¯1÷¤|/lϦ6ír—tß1:Iöb ŽDFÔÔìâlß¼¦¬ÝD“ì±£<ó3uÿÔ ±Lü€€ gs|ÑzCkQ—ÏC®("“  kiŒœÓïËpÝ[XàC½g‹–"‡? 13g9È)Ìhß ®»´èμú ¯¨êmáG}t5ÏÜ8QãWÊÿ7¾¹ùöÿbø˜”ÿ£é¹@âÑ€óðG¥ULR…ŠýMNJoYÙo'%Û?dE¥¸Ud–o^=™dÆŸóÎY2Ec“Ÿ|Ъ±mÿ]†€À—Ù¨ê©hÛù^f¾ê±½KVQ$Ø-¥K•„ÜVšÂõ‰Öðå±}mõ!!Ú<È¢Þ›'i¦¬w&Ö»íá=¾1IM¢óÞ ÎŒC„ŒÄ‹9´YŸQæ•jXÄ—'YèÉ”g̶Ùï~{¯¹¹;Qȉ‡)²FÞ³|7ËØwtiõrôegzãQy¿íÝÁš•I~hŽÑîp4aw7¯Ó«à+²ÔPm”Eé~Àkt|,1W̺§±ª[x^Œ²õi¼˜WÑš×(Øë-Õ•ÙM·—’c›å;YöÞõæð©Ì8t[dvÀL7~ïs«¦Ë[×ïô:i¨Î."Þày{'¿– XHU­f¿Kc¥µë‚é‹ü 8ÔË<žAïæ¦-ˆˆCùNb]8cfU-‚ÕâŠXüm6G‹gÁ;'ƒwÖ¹“Å”O€PnTØ‘jãŸ#Íך{Ûtÿ:ráÿ¾¾åÙ®ÌD|lxjõ¼)ÀÙ”˜‹þûç DöüQtú6`Ht¸¢ƒQÝBx€ð4<Ü€±8sÖ ž_µ¹ecªº€O›o"šÛŸ*¥ü;_+ïCßrÜZš0}ÐX=º×O¶*MÙ¢§Ë @f¼m;š$lq&´Dâ”ZóKïÞ.ÝkÄÐ4|,ÜêCñæ Õ\Û“ØNðŸžvg&Ø¢X¸úùU™ŠNôiïyO'çÅqÇ6>Á^ç“Ú˜ëæ3ªd^(I¶Ó2ó485e¶8µi%&»!l jprü©b¤q?âÄà&¡‘]ÀF¬#Š&D(‡ Ð>øìpf›2{q^¶F÷Æ:’åì° d`¯%ÉC7æ¯xCâÈ|§Ñx& Ã:§"xc~¦¢ÌºKTÞ50/iŽ:ÒËÃzϰn?7‡p!qhQœwÚPµ1½cå?à ~>?³PkÛÆë×Tæ]=&h±s4]oËcV%ÖëG ƒhqgÆñó*î•·6[ËU$îî±Ö †9CÏï ÝHâx¡|pÀÕg>ù¤³M%J‚»ø¼n¶7ÙªP^1ãâJ:O^EžŸ§Md( 2‚0z–ëãKï±x> D0ÖWõö}¾mdíì–aâyÜõ—jñQŽ2¥˜ÖUÓ ÌKþø6…4î`aqåÆ b:F‘Ð.ü3é(}«ñNMÂô­¯; ÂC¨Î¼p|›Ô[R^ÀÚ±&‹#--jžl²e›'uoªo¥M‘X×L†'×åéOî‚buvt·´P!ò<Òtkö…Á KTò¿mÌÑ»íõ¿½ÏŸý*_Ó(ûÎ{–ìø0„¡¤»Svή÷w!t`—l=ÿ÷M˜n9t“EíŒH¿ó“aÝnKàvLÌ0¬ªoÖéÞ¥-ßA '0Qÿ cô6"YnÈ-À I°íDƒ÷»h‘¹rIκZ”ÿ Ú[›:?­£ÈDñ>✓í¦QqJ€ÿ™—x\Fµ¼ jbˆÛ=¸4@y½é™—é1Òñªž;d²a^«7O®RÝMç¯ÒIo:99ñ—ÇÃ/p·7šk®A\ËEôPFR¼•Ù@`˜í±G?•ÔøbKÜÎgÒöÒ® 2†ü]3‚ÿnhU,¿õ4¡œ=¼á£Cæ/¤¼T€´É@Ua;B°§6¬¦i¦¨ §5Áã å÷é+Ïô&/óvK#©Ü&3éÏi–òãj±\-Zçº÷ Sè–k‹ßêÖXP±Å:h•˜3zb3Ëֳݦ‰£ik²XÍãÑèÃ1×|H‰€¾ïœÀ§ ‹…¬ÕÕ/$•¯dŸ~‰æŸ÷LåßæÜ:/¦¾aù‘]ˆ ÁØÔ?þ;ñ²F™4óÛº¨´lóa™à(ÇfCui`Y dIŸ;݃µe¡éD !6à|Ýð¨9:×M+Fxõ-íù‹o®–>…®¿“ù4J¥Ye{_îGyÇj´ñá±f•¨®Ø¿Í·³™[]E¾?tàâ¨8\öä$ªŽÚÊz8È›%~æÊ+Ép¿2-Áü)X(ÅÈï#YÆ…bkÄÖë(®éU”‘Oª»”[õ ¼y#«ˆ4Ê7@lÏr 8â<ÃP t,D&moMæ23P0T¦>e!ƒþ®ƒ,ÊsPMŽˆ«FØqzôþçwy ñlÒû«íœÙVí;ãЗ â'`ýº”ý<Šÿ`¡ÈÌBÑ&Hÿ®ÃÎÖàsîÝMÙ¾¾+[ªXRÉÒ¾> °ŽýP'Ðq¯%8Lóð»$ÃúÜcÒø<áže&¥ÒVˆñåÅof`W.T2:ïÆÇ?›(n¹š@ª‹‘]kÉØ×Ð>ØY<ÃŒ4¯od”|Õ† 4-s  V¬¤ª¡ò¯åˆLÄæ‚g\" -ÂE:e±²´ÓVõ¥ÏSIÚ,‡ÜÃwb¤âÔ1ÀIkYôB Vq¡Óh[”œ?Vù›‘F#i¯Å†Gů¨Ÿ‹³:žh®­¸U– «u6$› %QA§ô/›Ñ5Ê«áD‘R0QWKU%Þœ¡ëYÿõzÏ“ÄÓHôÉ«ŽþžßºUbŸ<'›»_!hE{ypq8=_;˜GÊ‚o}}@xÚ0BŽ8ÒÁúŽ5ˆá¡]¼Òþü`^íb¿2ZîC€4¯ Ó$¼ÿ9˜ž½/dÐÇ#É‚3ô¡˜"I‚„ç?žËÏÿ½ÑeŽ/Gò£vçÇ9ë÷‡!Ï^á>.¶~›;ÏXNˆ¯^”OÂjŸi«­ ©ë èj”9Ɉ&8óãuÂ¥9“i¯œ9ûµëÜE 6…Œy`£” ŠÀÐççy#ôg¯+¿pv’öm /ù6ù€Pú”‹óñüžÐS+m©½~Ï F©uú{›ÐÀ•råñ¨„|št¼¸“ñÑYԺ͵ªö9ÐëÝ$¥ü¥£>q«yÆÁóõ×ÑÍ!œ“«ümö˜÷ŠxYû’Éïn€Â–ßB<‚M ø/lcsñR¼FWZ(šü,PçÐ7ÿÆIôðG@^]*mÓ¾eBï ÕžPîž>/àµË­#rÄß/ŠræÍ†I4TjO³ÕJ”"©û/àÝØP¬ØÂ¦àjG®fÖOdR¿­ôÝ푱C3(ïEË{h*Òù¢’çH¤ÔLL3'„—H…h×áüTê,ý•ÑâÚ3« ñ<@D-ß¶_p3!î)>ÊdûÕ&÷”´¯¥‹Þ-Ìb¬à£¾rø{'|ýE\“øýø˜61†ŒšÄ¬@í¾qH›•ù6£ëµo²e`Sßtñû›Qp½C„‘§F¯D’X©Rþ¼ÌïwÁ…á¯ÉK nìÒ$ÿc´;ÄÊòï`¤öbûëØ•‘Ü /™Âq ódà‘páÒˆZ/ÁeÀ…÷‡Ù­c* ¶‰¹L”qZ1 pçM|¥Hd¹Óø² |®T\é°ìl:Üíò£KÛ W¸i›I-ïž}j›þ óUÒ[m²§iõàzž¨4œ—Y(˜Ê §pýÙªÔ¦.â„·4ü‚áF¿œâ „óåþI$6‹•,ÑL¤ú«‰;ú3€Œl– Y±ÆÏæcl%Åx¨BÔŒôÙt=¡FI‰ô[&ùöýC›$ŒÃqáNòK_xo7ÐQH¾¸ }Çj短õþ ón£fù×è8ÚóŸ3MuÍ©°3fðu3¦žþÈ*D†AùC”è7³¹ñ‰®ß= ÊÙj§¨aðF.A4ŠCã_-]°qíŠÎØÈì«Â‚XÝðhæi:µDpvÄF·5+rjÏg÷x‡E¾“%ÂìNH± ö¼¨S™$ï²Ò€ðQŸ˜ »öH_áfþ9Ì™å®%€Iç'ã(÷}Do•ÙúUÜjßå㾯„ÿA»SÁþ¡¬ [%bJ c/ºrÈ™7zSÕÏÐÙ”î7—clhi`z@Üùeõ“[o–¹ÌU¡%° >ZQ,­íŒ‘Îí‚ýY’:QKËM3K˜x¦*6øonƒÅ€†åî⣠ç›PdKÄ/`vìØ¾Æ)ÞÜÝõNKzšpžŒ¤Ù;­ÇG­C>k†ÇÙGß}ZP0ù~6ÝìäïþÈ)`xºf•`–øÌÝÓõòèšݾêt ARwgë™è{ûö™cK4qRµ4}údYõ€ìŠ’~çE8-m/©«AUÿ£‹åíŠÙshø… 6cÍÙSµð°ÝÂvJSŒ/ÿ4g¢Þ­B!­Á}3ÈìñÚËô#×ü¿`ć‹€#8ÿäÜk!•Á|%¶ñ™jò&n÷ MÓpÛ›ë(‹úp ·|r•Á‡¿ûX/ 5©~ã¦Ã€O¦{~¯­ÛR;˽Ä8`ŽW’Ë%S®T9!N ølk–ž“O|P7hmy$Ár|ù¿¢+Œ“¯ƒÖÇîª%‰á½pëÌåœÐcŸGDøÄ‡!>oGv‘róàLƒÀXÛ˜™Ls<‚Ï—¤½”«9 +ð„Ÿ®†´Œ—7Éz„ÌHöÏ#ˆM™4ê"É[±F@liéM ô{m¦ü=a5Å`È*ǰiHÇÕƒ#³ódU¨³WŸœ¤UhÇÓ_òûeÆ©º}ÏÜœ²óÏ83q%°4ÓÔT«S´˜wÜT¦ÔÀUÂò‘¾jËDZ¢®éIîúWF1Y ¶Ý¦ÎäƒóšH؉ϥ&’t²ñ,§ä|Ô¹kIo{W‚î– éùxïE °š—~áq=*íSÓ •×÷¤ô¥,»³Ì±yigкФøM‘£çoöU;:!¤ Ü‚´ÙÉÖö¬§ ‘/Iò,5º$oÑ |kà ¨>fvoê2‡5’'¹ƒ¬7#ÊZÔ„ÀQ‘ú_ i—Ç­BÀqäDàÿu3+‡´[ß’=ÏÁ–%ØR²œÜd’~êØ3MŒµ–ß$Ôëáž„LÈYÔ”_ñòÆÀ°(ÞÑ÷ËIŲ.€#N}l¤ïÝ넬ⳘÚXqý¯ªÍ/‡KŠâk«{cREœÊ3==kZf_× ‚µš®Þ;Ib„ø °œK7Û‚ÎŽÐm€®: nÝm¯¢>cÑ÷¥ ”£* ~)æl!ÝN­Á–¸ÚþÒÌÍ+X€Œ ŒÔ*e^& –ªül+}Ðx2¤‹;µï¹†Õ0AÃ]”/fË1Œ¦¤‹†ß’ÚãÂ9J¨@U§p¹süÈÂ’£üƒèɱ±£øô‰Þè"Þ­&¡UXOëûùè ø¨²í‚; SyÖ”®“](Ådº ûÆ {p0WZIaíó Ë&{ú•êá®ÁVŒ×h! ð4tØ( aé¿Ê"Þˆó6ØþÃàîw­esqçÊÖ T’Ö¼yÿ`-„up› ²nóšC“j²a­lž©â h“€äíÎO*™é@ûSö=o9‰1_oªãa¹PgÕ´±\óùk؉vÞÀrXåõ°t Vg¡íG¤©ôrÌ*˜9¾Gd¿›\!.«ºmp›²¼  ˆ ¥ùÜÄ©æÂ>û*¢^ É¡v ðënC)9‡ñê?pKNs¯¡ŽV.|„”çÄþð¬Éâ{T–*#5+†ivvÜ ¨½Xæ­ ¢°ØüX|½qÙïÝ›Ë ßܼGþû½vMPÔä›Þ’„ú>²Í Æ+ú˜ï™:×5¿§MXÊ•À O ÞÉÜwmã÷õØ ò&W¯ÿ@Éi<2ÒÉÙ0ò¥)Öîd ûG(7 UOKŽûÀƒ÷AÎ4‡„î$oUÑMߦG •ßq@Ê}]ªÖØeùãVÕU=4͉c{Bx§¢6díøÆ6†;¨¤£¸ÿVãÊ  â¹ÓpðØÚLí7Ó¤S¯µ‚+£Š«RÃN›õŸ‚FBKû=ö†ƒëî¿ù…gSA‡ZïélÉÜc)È™µD·o˜¹Šlǰ°•H{Sxy|a¶ª[w×"t ˜°&ƒ`u¦ðRR ð?¶7no2P‘ìè½Û⢶´\#…žÒåUuÊþNº„8=-¯âÍP"|ît~vîè^5yq‘ªcV@ŠûÍ,œ¤gfÀ6>I ª[ÝòÍ 9mÈz†)[FHuéYp/Û{È9|z¾Œ× 1¶ ¢G’ä^;×N¼ÕK~åyóñùI›#%ùW8ÁE“ص2æÞæJ½Èz'„¤ Fà™¤ D¹‰EéTC,ïŸñ˜Mf]³Š-·¤&Œ\øêuLf öŠOjúÓÅçOùÔ˜Ah&„PŽv4<Ó÷Ý/¹iÓ%b×Ë7¥š¾÷¯™ú†R“ ’Z‡~ÚU:¨¥«_¸øÈúk­·'€Ï`>'~œ¦Á³'Ñøjȳ˅^§4–“eO[ÎlFœ$Y§!÷åX!Z­Ûóÿòí—–uZ®1&;y/‹þ€N|n.‹±ç­Â÷N-ÝÜsði7Ö祥/WÆ¡—±„Çse¥Æ‚‘‹ô¬ÕµíHm¥2$Ý|KÛ®[^¨Çäø§%Ò+ñwmÝhóÍÍí8¨&Dý¾6ߣ¶ f„¹ ÕšÊH¸»ÿJ’¬Vfr—_q§ÍGòïuAƒŠn#ö„¨ŽÚ»œÈo:–«°Œö¢+©ö3­¨IùÇ:¬Ä8¥‰,Þ)äÎjß ×GÙ㕺Â!?_by,îumu¡ùo¥o©âGWaˆåè+@ƒ›9Îc|ÓdõÞVŒìºPÊàc˜­p$¬@*+ïÜ^cçŒhvúõ³\: J‰Z"á¸Ï, ö§³Ä0ͰJ±¶ ÇG0ìcJþ-°fÉã;‹UÛu6”Ôr¼ë›¿JZº´Â¨\Ñ¿ÔgDñÇAÎ%XmÕ ©DïØ1'ª ËÔÒïÄßû‰züôþÃsÓ“ ß;Üžâä‚fì@2t°ú«Æƒ«‰±˜M|ÆÃ…;†PEÝ$šmXóû«~RáÔ—É“ñ¼m8•moõ"ƒ,÷κ·ÎŠís ÞzÄò/OõÂà/;½ÈæCq¸lý‰wbÑêͪú§´„ÜÏ6Û5Á‚¸Å1ç; $ðC˜Õ¾Ý`kÔ´bH]K×áNb‹S‘‰Ï$\fÚ].Ì8ž½ÒJ¦3kZ‡‹ýGpSŒlj»  ¼émçP„1(}äUæ´yPËaxÈLÐI×tªÓ ™°Åkev®û¿Ð0Pæ^9ÞÎÁ¿K”ž¤ éÓ|Œ…ˆ‡#ˆßŸ[î¤&, Âaýæãú¸û¡¥žíSì*Ä›…1“y‚u«\ÓùHæ«rÉ9”­ãUBÏa;zÙ"×üfϳ9tã†[,Ë^Ïx©ÕšL(ߨUó‹SÖÊ•€2å.¨¶Û³˜ËiTf”¡?U–ÜRn³Åùú˜­ºi‹á¬q+¦Ów{gZïðmÐøÞWED±"ùl„ìu×­júÍ îa8[–Xx .b2@UsŠÛ ò­ú3Iq÷%»fVi9ÿ'±;M•»Ðø:_(z;]3ÿ={ƒv×pô±ÔM“rŒN ì͈kåŠQ„=g)q‹(д®ÊG6Ï%u.LÔµðiŒ¸Š™Ø×:(+:àuX[ÆgµdÔŸQÐ(€¾eœ`ÁˆÓhÓ,R‘]jt7•*êÆEŒuþ?ûåÇŒÀü›*JkPwÖÏÖÆMö䣜ÄFý¢®Pë£`¼&%}0öpê¥MjLv&FûO5E†4ÝZY‘´d™´êÜîЇ#Ù/>i¼ÓIµIKPá¬ñ|¹ƒA ûz¢÷oá‡WÙ}ÃꄾÐv507ãÅå°ËÉCeâ—Þ7$ G’Sç“OSÁê*Í~±½x¸+ˆÒ:ALà'ÿ]#å&Œúj‚‹¥ ‡Èe#üœtÕÊm#Ô2^—‰)Ø!/Ùx€J±.Pòz¿ŒîîÌ®Š?ˆ,s_Ó>§ûöׂößþóÝ3@7žnÐØ"õ—hq,0ˆó©sóKCòcâÛìˆS¸F¨aAmÍ[º°§FëÑMœ.ù^ô¡Ðâm Po:aþ©‡©²8öEŸ` Í׭àž5æ®æn…XtʹùLíšfñ–M$^Τ­ªwûÄ"=.²Šïìw¹î²-bcÅ(Ú¬îé³á—uTé:ºh©*{³´.'‚ÿà´û.<±=„ H1¿n¯ ì®EÝH^—5ÒÚ‚¾Ò8þ­U@=à¦S?OBITo\Q{ë!¨uS>éyШ*ù‘Ð= 0c-ß—^-‚‹Ç­ÔÑ‘M& 6öž‚N< =¸;ƒàøU÷gQi ÊæòfTr™t™]úúL˜U$t_oA±LùŸ©Eä¡ÓÒ¤Ëm ÉR0>ªÃµ1 _ƒ—È‹ ºÈþ¯/Ì2`RÁgÝ"Ñ.+7‡;ÔÜ”ö?HD²ÞÄEiRÅ•Ì&O›FR÷Û_Ûè6$ÌG~m!5%Q‹Çv­ÍÂÚ>œ>Æ\„üfþ;è刜­PÞa±ƒÌëW"äví ëFìó^DØ’§ÀºÅåGèjüZÏ ?tþ=O 8–¼¾p”ö½40,™<†mkÒD~ðµàÐ3'ô©;²ah6|šW´” jí V¡‰ÁKJ"Û”/§}N6^¢«¹Ù?ÆD[ÙaÔä"ðÃí ¾4tä|– Í·lûD0²µXƒ Y¾Ú>ojHÕŒ¢šWÖ(©ã§âtýn6¬ºðý\>_Fiby~ßö}.ÞKüWÇ¥ª%b¼ÎbR+_' fÔå"ÿû=¸=–]>Ü6F®v-ÍPæ Äçþj‰ ÇXòuËè‚Nß/ šî{\)ûé_Oš-ÄJú³Ý8Ü™}¾x&*¾+cša.z m®‹ñöÆkСª8,÷S[œÏŒ˜±qyÖn—G}AwÑZ”˨/rÛ9t¾“g;4wè]è}Ï.CºÐÔgllå‰ë$Ï­ÇòR¢]Áó;ý|‘7µ|ÏkUaåè×W|UDU2øT´Œ±Šè÷fÓ¾xŸ…SL¾]ƾ|¤IuJèf¼hlnÒ‹èV½õãÖ>+:ߦïbÔ‰gý¶ÁèP8߯IŒÊ+cÄæŒj oËëãÁµ÷í HDh“5/ßIñ¦X0¼Iv|©‘Ëo uaúH™¾'ˆPÞ­N®è‹ø~·":Ú/Š!ºIqëVˆ$UÖÔVäžÕ­vŠÀ‚Ÿ¦bº9f¦þCàÑk‡Iÿ£ù}…põq#™¼—Çç;Ü8šzS…•Ó§mWåߣ$œáÞ–øõžC_v%lÏ´iYË£²Ç¶“ÿÛÙ )Èá¿|§¥ ]ÂdS…sY ma«%¥»‚vØå£4ªSÓõb™û/%¢ó×ÕÛ“>O± ÄN6šé¾ž;VNR8/ζ‹HP”å!ÊÜâb¿ÉÞKtbJ°98n%\@cŸ6í° Éù;]u c3X%xúö=öO‹œÊ>B (õ,ô} ëé;Ù”ùžµ½ÔEVƒñÀ»ßäUàƒq®ÓÑ©Hr ÝÑ­X*ªEH¯z[¨éšY õ¦Âç„ZT‚]÷Úñ¦ÇŽ'JF–l*Îçh¸^¡ö$NµÑiϧCE%Z µÛ¸)£ƒãºÔos@ñIP%käéQW‹ÞÜ ¿çm‚γ³Ý*9õÙ=DuÁÆÆOÌWÅúX,µõ‡àf„ “2I4útSi\/vÙ@¶/†òÝüEnZc”Å9ïà! ‰ý©Û²-WáD¨;È­!5@|%ƒûÜÛŠAÒÆ‰Õ,v÷‰b5ÌÔ× 'U_•0Õéï¿öqI~ƒ·@éöDÆ0N¥õò¦K°65w^õ`H"eœ¢[ ¨âW1½.ò¡»?0«]´Qot1>ÄÊ\7ÃCîÄ<âpÏ¿Çጲ‹Ú˜¢•µŒ"YñDañÙÂ… êV‚%Ç`EÅØØiŠ´Óx@ 2pNZ‡ Ä :p ùó•"< |ïÈ7 xs­çwk!%.šgH¯ÌîMü) õò®µßž;—vâ6‹âáúË 6Ð [Ì :<4cYE@vž‹yv+¿QdÜ>xîŸÄÚ!1©Î¤×$ª`Ò¥EÛ~ÓscJûuW’˜¯±óWÊÛ%ÿ­TF­@d’uRʶãÁhLkR™ïdá™ìý×r͇Q/W寬úc¹ù`J@×eÙOjžÕŽW̰ÚWH žÐÕÉ ™V«þÓŽm°93Øež]43˜dSTF$QNJ 9À¤Kv•1MøõØ17’â‚4„¼vÞÀ‹l¥# 6ïi£ãF˜ùf;ÒáÓóRŠPY¿äè>È¨Ê °«Þ¸6ÏÌgß~œ©¦ ™T¦yS³Ám.t=Nñ0 Ÿ<²ßtÛ /òË?[6RQ¨ùJ˜Ž:$Ûp `Î{µ |³1ÛÒÒ3ÒþdüD:·†F|K(C˜$âÜ>Qá´KÛÂ3º³µ9ñ Öënv~i0/XguÒc øfxëÀI›çÄXÁ±è3ÞÇ‘C×_{]÷!»%^ÖA¨rwBoÄÀV0+[0¯èÞ$GB¨ÇZ«2ñg®Jºµö–K•º”Ñ?éÀ°Û§bq“çÌy[ Âí¶BkPÆ¢Õ ›€ pEJ·©>kø=e}ìß^Ðæt\sMÁÛÐtžìJUÆh"«®àh[ç(qÃrÉ=¦l ²Y“ ”V:QýºHôs7Õ˜a‹æ‘wËèµäeû¢ñÏžãíɵžÉ,˜Æu¦®»OÖDl<ÂÂòHm²¼õ‚•”ééZõýKÀÆ]ã¯ùV¯ Úmƒ(†œô¯þ£‘¬:öó¾¶à!˺ó'å >Aab¶R~~{ÔJ%G{+ès²#jif#ù÷¤onJ;˜ÄxWàÄÛU ¥Y9æo„KÊ:Ñny—ë1=Íe«ý³m›/9¼h“T¬;ÈAâßCTMf°R½õ@í"ȬÑÚsÌtÛáî^ 7Ú–Àåÿ zŒhúÉ@ Cûõz¯ÄïÀxäÄWÛÔÕuEœÀøÏbfþÍVÄÝÖì‰(Ærº¥{¡×m|cD°6ŒŸÒTXb'mÿ \ûjÀ«¨Ò¼§Õ†wq>Z©¿l»6ÏIrå(˜ÙD~ ‡\޹”ÁæOaçþWng—ŸýŽüãvÑ㘞$Ïwˆmºá*!ۚʥ«"5Ô‚·ßÀW hB%µWžHÈ”û&¡ó£zÅïKä0¯y´¿ýäƒé}+ÿSŽØò!å‡Z0IJ×mh¢ éî ýµÛüÍ’0úmÞ|CMŒà·ù›T¹º`ÿ•‰Iƒ °‚¾0ÚœxTr}R%g•ýÕDÖNYxaúW?åy×àÔ*ó2(‘HÕ¤§€\þ|Aì0d>Iß¿Gïq 0/¾~boulý>=Lù5r%c)‚w>_Xq´¢°5IºZ»†ÄM“›|ù჎9®—Ö'£¥°¸ÃD‘V2õÀã×N¸Ff4ŠÌÚB•ôl`‡\N•1 h• «€tùýtÖw£¶CÖÊaØR²Û¬ÂÎ ®c1ø;&Õa–pÚ‡èײ±¾Aß!¤ó¿;pÂYÁ À"ædýÔ+AW+òÞøTd-ŽÁ²À6üêwd²' àAg¹ú{׈$ØL‘¶–fÛjS7¥¬ufS­rŒfò,›*n%]êךʣ-蘓Þê~•ìK¹‚Å»ÃÌië)u?/åáß.‚•èE{FÕ}ͧ£W‘ˆ÷Y*`Ï=g$S™¬*dcG» Ñ$& `Þ‡ÁðŒKØÜõ:ó˯ó3åû=è€|‚EëW;`sò%ÍOàumO‹NŸçïpÜÚÙ¯~³yžâˆ7pˆšEÊÉÐó4;»ô QA×”Y/Û–šÂ¥‡hœ£Y#H㡌*§.D(k]gdYf6Ù³^(ì@<{U §S«âªc‹3y…K •Z£G§ &ø‰)x™ûì€Ï‡¬FR™± ñ¨»ûH ì ~[¶ë+v9ŽpäãÔ±çŸd·¼3zþGÜdJš¡›îWL/:AÒcc£ßÁ׊ðüºZrè?XCÅ>»¨ €“Rù›"uœPíÇWëÏÆÆÌ–h6¥Å¤ƒŒÅ8Þè×úäêvéJÎgAà‹Xœÿ‹†úL¼´˜³¯±á·¡3þ@ÏË‹] T¨È‰¦ü©Å†ÜçÜž„C°B úvœR5%’®o,Ô‹Câ×ÁÀú\%Än›·€3.Ññ]4t†MÀMÒîè'ôã± âó•ysï?f¥šaVXk~4 ?›îý:ý|bŒ¡h˜]±µË’'ašg•«»4ÔÄÑq 9ï¹ü:¿—3å³ Y!ZláFøcö™Ï’à§ÎV'að:ÐýTŸéBR=µ :• ör,dŸ‘>äY “Ë—¯z}E/t4ÏѮ·‹:&Ì7I ‘(¦,-g~:®/ç×%æÇ¡BjÀÎèaVë‡ÈÇ®øÂ¦¦NŒT‹ÔTðß@Õ†@¥Fh dÒ«ÉúæÆ' 4G®ªÜ¼Ä¿Xë×ãò¨s°òSc¯Ø×†„F ³¦µâlоD~ávóÆÛÄÄ‚'䚸a¡Kì#®«5]7Æúº=¨ÞÇ(£™—‚/ƒ™/¥I©uÞ|ƒ…"toÂ%Šš~ø‹ ÷ér(ií-ñCBóR50 –'©PÑ’³“\(;¤.fšÌÞfKÕ2Ñﻵ/§±º\UÙ¶g•µBln0¢¿½× íÖ e£Íx=8Sý5ÀK¹æíùáVBNd¥†4†ðÍgÃ:ñ”(×h_@~ûΠjºÙSÕª”Òî¼EH˜b22Ñôú«¶‰§“dö¢ž_Œ}v” áëoJ‘Ùž"WþÈ]Ìá…«@&Ç]üE÷·«ñþ­J§‚¡²×~Õˆ‹HüÒ™r8™èf)ÓÔ¤4‰j‘†°åPRÀf¾)ó€-ãnÉ ¿"~;C"÷iÊÒûWèâ½°µ‡ÿjN^×z²á:&F~A7yˆ!Åb‡‚Qß·hˆÈ_1ðÄw#¿‚…‚ÔΠݧªXP½A&ñ¼k:ä´4ºufØ©Gbú6Xw´1níeÆ5½`0E^rìì2ñ—äfYxìn+¢Ì·i ðóêê'i‚™&%{n÷b'„¹ù¤ùó6aAAfjS9Œ15I‹õ¸c€¿{ÆX»œñ¯ø‘P"þ ð‘·ó~þûÊ"£Ï®Œv†ÅÏ+vMˆü®Îͤ7]-àhÙ°¥r²1»JðÛ1µÆh`¤ý|F|6ÅçÎåj VW‘\;¤”w MÔAÂl1ù¥õ~Âæ—ì¼›–Jq¾YHסٖcPëVF ëÇÇu†]—wå©~M¢£ÐMÑìþ¨ù.võ€ï-9Œy/þÂôf„ ÉÛ&×åÊgâÐõýæZâU9-–.m'@˜E9ÞWš|c_ê5R\Æû æŸ*†[P‚94j0¶¡õ/nÁjŸÏý`à+4Ö¸tÌã„ý*Úºàû Å<íùm·ö¹œN£˜E!IŒmÑx6Á;¡FÊÇjü͈eé$€ft£‡äÖ(lÆá¼³eÄ$ŠôÕu‡åêú=e¯o;ÒÝVãÌöïvö½÷ätÒøçhÕ/¦!å%dì:ù6 g³/d÷´…É•K<×»/Ô8ne˜h tu呬Šg¾44Dï{"fìF¿°æ8\+±±ø›¾ÚsŒ=kÄ ÚLÑrU;áx¶_2ßYr±&þÍgƒ%^äAf=d\%!“Ñvr^‚üÓrf+eÏ;°wæM¸Ñ‘æ½-ª Ó BŸE•­Qb®YÀ`ìVöªº_ÏÙ—DŽÂ>qÂ8³H³‰³Êbưâ˜+*uMŸ[ÙJ_],‚˜˜²A†‡ä)³ƒ#ÇÒŸâ–1^Ç[™^—Wñ˜8Æ&%6ŽÔ>pƒäÞ€Á4[_RŽ7ž,±1e@Žtyåð~?›Í·©Ü7-øÇÈ8Ö¿/–—&*Ë Ÿù]«ñŸˆ‹MOÍ­ÑSÊT‘*ºÃÿâÛ%ÑšnŠ{öTÃ(’YvÊRëdÀ!v¼v'†ÑO´©ÃˆÖõ=§ü™À‘bò´Z||.Á\ÇÕ Ì<—µZЩq¯J¦RgQÈ, ÐÊ™0³¼‡1Þïl£a)Ù¼‹íøil»Žä¯ŽkyðÅÍ¡^[¶»ß dn‹EqÀÿ®?Ÿ0MFª”ƒ3ü˜T0" F}ÿÙ<;çüBN3i|†Žå‚Ì7§‚°®+ÔMBÜYGü* ;p .DÔwTñöÜ5çæš& sàå” £cAbµ÷†ïÆ»]|w{PKàÊ e³gЇà»Å¸ˆ|ɱbä…v¥d æå†I\¥Ä¢ûít=ƒë:¶&(:sèpH˜U°x¶Ö»!n)QÐâYXT"Ÿ^Íœ–¿DBMÚþÕ?œ!«°+iW.ÛRK [Ú7Õ²j™ÑÉRmRÝ®‹Sƒ›&ñS¶ÕµFϧ^ñÕnñt"•}HQö^ÈØW:#þQ*jŸšIÕ" p~’æÃ"ØG8H»¶¡E°1פ Ú&Šj [¿€Æ×üo½ÎþKSæ ¾R®œ8€a¯°¸iÅ©¹T¯‚Ú4J¯ ÚB «‡Fa›ïà×zõ^±,8D³ánùÊ]%3ÝÕRÈ9¡z“ð¿Ž6‡dmþmÞ×~e\·1&”?Mâ ¹ÇÝsaæå‹­Ž>Æ(™aø»}?¾O¾µ‘zèÉ"¢¶µO—‚wî â"k+ý-¾kù®>lZ˜I° ´1£ ¥ Ø^12ýf"/‹,çÈûÌÛZ5±Ëœë!Û¨Dçò« [&É\;e%‡ŸÎD¹r-›:ÿâ&ï‚ýX–‚UÉ|Væƒ?óß×¾YN¢*>€6]î™|özºVv|R•¹¦1ɲï§u‘'ª» BÁc¡†Y}& s/xí,ØËlMM੘U6¦Š½©/Œ‚Óƒ‚qø£è·È{z6³úåé® mÝŽ?Ž%Ä#ôQx‘íl $y•\ܾ4NQ¶(r¨õº’]=L–0v3K¹²Ùö#àŽšxOtcŒŸå¬¯Y®6jÁÃú7 [ý+9ûœµþË×Y•ohý‹ ºæ40‰#^š¶~%Ï ‰\%7*5ú¬Zã°â 6rèpņê'´«tÈçè—Q³!NK3›d!}7Ò l:«)8h^•²ÿ†ïývŒ=ßS^H„™oG5ŽrÔŸ%Qúÿ²hÕ‘«ºvGÞOÈHT{.ž¬ÑÝæ©÷¼ÙÏínž×lUU¯Á­…oŠæ†Dôb<ìpHÛHŒ6 ²\WÞ–ð Ý"ó“^YÏžlÓuÃݯvŠªÂÛQ+bÿ÷¢yËõ®/PÖ4—˜YØhx‡@ŸÒÚ7('¹1Kõ3/ŒJÉ’Á…F“`;ë;RD¥¬Æø®/óß`¸¥bk òGçy⾚.R@  ÝŽÏd2¬%åo7èÝ4ÿ¾ÌÒø¯KÉ<”xEØÃÞÊmâ¹ež=ˆ·0e”{\Ÿ0>Ú'nBFÜš|kHGÕ‚ ¡l&5•}ut+倀\Q¥Èˆ*]çs€}zQC~.“¬NŠIØÈ}[,»¼IåкЗ¦)>áÄ›+m³œ4†’2¥\|<|jµ+(sžÐ:ëaÚ^ôú=Bëþ÷ ñòGøâÒ¯Ü&=£²{ùII-4QýôrÏr0ÄâÍî*o˜d«²CÆì›¸{môp²3õÇ0¨ÌÆ+?eiŠ? 3žÉö‰6×ô8ѶqI‡¹K;¡†¹lö–Uy4 @e½ @„¿9 ÀgP ÛXhx_mVTS‰Ø,ŽNcB#5ïÕY ïE£êÃË0õlÂD¬‚Õ²ÂI›b½0,±Ê^„X˜€¸}ˆAÿOPÊ/îÉns¹eE^w;Ú£s²ûó6 Gõü›¤¼-üÏÔ§ö+ËÖt²?'5Ù*´!=…f7ý4"ôéEÚZð8Û.Ù^«?¶™µª*`B%úx_qÑö±Ž¬"ÒØ}¹vþûžuŠ“V»ä“]Ƈ–•玈.x³àѬÜ|¾ÝS!†¶V ¿uM+i«Êç…༠pç¬7„PÍ*+Éö,➣^‰ÖÅ–9š‹¼t•†1~5Y€a@·-÷½{¶°†â6É Û1°•çùþ™¶Ê¬ð‹¢”‹¼qºjš/àj&GŸËÑHîì äTšMÛ çfJâQ½1*94 ÊÛÝlœ!K)þÃÂWˆ{Äy»=W8uÆ~»ë ’$o dì6ÖRJ!$Bu¾<ß¡Ñ3IݰVnê¶Ÿu(-…g±è!{=?¾ú̇ÃVÄ\íÅÚŸ!€”«î¤äÑ^ž# ³R;„O@E8}Ç,AJûc9›#4ĺ3¾~;˨KØ‹ñãDSèBo,Gç ÇÎCvG!>,ÃÄ㸼¸Ñbø"&`À$#ß“St|Ç–ßµGšðvO„_àÀÃMr;Q¨¸ÉìÇ;± º,P”Îã¨zS•úmZy´{ÏîŸ.°}±ñ›œ2Ö߄PòuÞô/³+\ÏE\@‘ðQ0­õç_Tm%1§SÝDw"¸£ D…ýðk1 Ÿ7Ô‰Ú$í–{Þ19¬Œ‰,ü%žð ±ï]†ÊyË HˆªP‡´×–È´#3Õîn‰mÎO;Tµ°øi,)¢‘F„¾ë’†É¢Zlêø1Æß”„å¹y‡ü/tüupÒ¥§kåß©ÀKß—$æCV-¬*× ›Û½þî%ÙÇs~ƒ¦¦‘ì„ï‰`ÇÌk½z% § ¶"ŒÃ²°ˆ=L}½Ê¹Í{1ެ]‘éZ¼wz>½¾s,T&¹/¤ñdž™&waˆrù/²¬·“î 'Ÿ´CSt !Nr¥ ¿ëšÒ@œ=¢^º~öâ=ƒIkß«óPçÓëZŠHð"'l«²ÉãqiŽ<£|GÁÞ¬ËØd ‰]Ì„™Ñ¿ ß C¬£¤«­Æ›k¿Æ%¶#`¥Ë4u[ëÀ$ ÒQ€W…h-—¬Öï(aü?ÿ”°ù>C Ÿ1±¡¿Ü¥éÓËD×ý7tÑ-U:8S#WÆAйTì6ºv]|Û=ÂòMÝ/llƒjnãJwuÁó`Àh¦„Â|(ä±Á[~uG; Ì‹ƒ}Šš{ý¢Š ÈW¼(™Z¸ðª~Zø)ˆTÛL¹6.Ù6±úßźPªý2ÃGاt_TÏ~øûŦJ£ø|=]`oX5R°§‚«Ù6è+‡†ßnú¤ÒEä@"$k– ŒÍ­§vBû$'&B?á,ox ¼õ ´õé’ãJ,®×àøò‰çàbp²¨ÛÞx[ ¤âã^(ëš®5¨êX‚lÑ"Nú )ÇU¢ÚÍRõz a8~Ô®pÙØ…¸>xÜWæÄ«Ø©³%pŠÜh@5DêºAõ÷S¸…éª-xÆx«]~O¦:Þ¡²ºEK†jÖ¾¯f¿9kR¿“y^J3œ –“ÓÑzÞ{¡Œ†c眸iä8ûüK†! T4»÷º«@\`ûÍ•¸Èt²Â2£²0ÄD©`5Ù•»¬Õ˜$µ{ßQäY4Ÿh³ˆ]o<°çkv|°«áÚ;¼®­SêÞ œ!MȽñfÝ»C!\z÷ÐÜ›…Ì æÏ\/¥ç麿Ÿ„™6‚¡µ¹¨äºt†tê|W4c; *&Cdª ¥}©“ßrxé ±]F¾jõkù)Û¡AÁk+—ò\3+‚¸ª>­l߸¢®îb†þþRÿ¥Ù*ËÅ!`äã•}ƒi·µÌ’igÔÒûkZSEÿìN¥Üáâ±ÙB·ÿ .rÏä6ÿ¿ªnî;¯Mš¶©Æ"‚¦³Áí{? jg~MJm4DlCÒzËY[wÏ£MXJÌΨ,aÝZõýÕl>ßI´›À‘AÚ_%ï[.ÁÀJÇc<@eeëwÍ&%°æÏ€ñ–ê<„€ St:kPÿx••× ’GZ;íd]hAl±Ê"Ï×3ÚõÿžÝ5ò¸špCEzÊŠÅïHžú%n»†'®1úT ÖW œà™Ð\6×Ë–B—t˜t&?ÜÅRuìh:³œnä<ô¸=ÿ/ß?¯5T®yš–(n/¸¹Ç u¼7HÿZZ%ßÒÑ©úÄF3 C¯¥u\­Žº@‹5£ ¸bì¿â"sßgÀü@4=õÚ˜·’S àŽÔv¢9êë뺬w$Õ éwÔ9 Ô2Ó†ŠP¿eOýv•æ‰(â6’«Ãy„Øæ?€äpö%„."}¾ÍîOöÚ»{8€í<ÎqF<¾\LMг-Uâ£ó¹¬ÀÉŸCìâgW$ωíØ"Éx²E•ÝW ±€* +E‚É.¼˜‡~6žÅéŬ§ÈÎdœ¨zzÓÕ.²d'?¶'‹Ä5¢”§Ê`kYsJ1qAvøë¹ß쨿‚û2½Ç¥|‰÷$M0ÅÅ5FÈOê#1šEòrìå®i;ÆP¨µ”_"’wé×Wg™-ƒLjx†¥Fj—c ÑôÛg <— â¸JãiálêÕñƒˆ)U6Û>Šá×·ø¨¹šCµ·‹M¾·È¹çHdGhÂtÚ\"!e1Ô¸zÖtË—Ô¸»Ñw÷Ón=7^¥¥ß ¦D–x'±$vï ºwÅÈh¬ –ѰL¾_ .L–ýI”ùö(üpêË`‘ÖµÖÒwa[ÃãƒîÎηÃç§Ñ+åk»ù7›ØøµÍEî÷•è–ºÇO=Í%?¹[Ôã¹·àú ò²ºG•ŠhÌžb|øÒ‚“ë<ůºáŜ͂Œðñþi$XÞL½ÌÊ¿*þ¥c§á˜Ê×ô‰V ìàpLq¡Í©JÃî6‚»™Kðn¼Ì"Q¸Kpã›g×ÄsZ‘»2]@¸ÁLeÞ?¶÷Þ« .Š#ìržŽW‰¼½F3Ãì ŽÉñÏ»ÕýÓÃ¥,åª.èƒÛwOföèšrsÝ*<€Aw„ž†h  <8”þ~ÔCvú#:žì‰HêT{ŠM¬ÒN÷6fì‚\ÙӜN7Y®[RÃIåí‚§(`:SÖ97ü褈¦'ÒL›IÒžÐ^ ¸U¨Q×ÎÕz>§—‚ëJ퇲¼º6<¡€f@äI¶iÚ,·¥rò¶½€t2¥×â¿“eFI]1÷Áµäʇ™-@ƒvC¿¶«.£…ÎÛé[*Ø1GaJY²*Ä:ë´¼ìá# ÞFËŠùz³˜#ïujŒ²+¡o±n‘´AV@Ù"»’Ù‡=G»ÐO¦œ¡W6o"n²ÀÅy5h†šeƒ@Lb…EܪëhÈÊÀ³éŽxÔqcíaÜU@~J"êåÒZ»®“ð°üeÔû™7’ý¤²Ö´_¿|xß¼ÖES½Ü+þZ&FeGH4̾RRìßk¿à)!‰…¿—Pò` .Ås`hÕ ·G iøÛ"ôaƒ½cŽK ‘R:c4ú~°ÔqNèÆ‰Å-2 cÎ â«Åä©UöUg'q"¡ÌåN{võ,V„vÙEß½%ÄcðÅŠSsã 8µ ÆctÍ‹ ç“s—{Ø®XÍjs,q«CR&“þÕïë¬C‰ÿd|GBPÝ«æLËüë)SÂþž=ÝÓ¸m§Dx¤²eìŸÚgŒêÏÐs¡ '%ô+ó²®)¶œ™cú!~ôÃ+—U;D…Îq¼ɤñ›7'$íû_ñçÑÿ&ÊGîÒ<ŠÚí½3ÎÍüaJ¼M$OÖ͈yM>˜«»‹ ïzçWv]ÖE¡ç8áB4xï̈ØPÀlLée梘ɬn¨ÿ+Zwh'ZëàFg*'g53Ký¼²—åÕ#µ WtA/]Û/8«eÜÇ{ú/ÝÙÒMµ”f{x8ÔîKPvæfá+¾ÎµµØo¤.Yêrû¦vü Qýé4™ckÈ æ`[ëTÔKÏhÞ´T‹k*-û~Â* ͇.V¦+kžÎÇ€ãPðÄßdUF:›Û_p>FÛ9†—ᘊˆ'M¬Eؘ¹5è2ß°¾¦¬‡t¨”£oÞŠ|÷îô 6ØŸˆ¸in·â?ßR䆽,‹›+Qˆ~ZIØ,P>¸ %¯Þ”9½µ1±›Cÿ»c×yÚ-ÊÔpîÖ†?Ýe><@¡§–‡‰Ÿ†Ù–ó›omžãb¢¾‹Šrcç¼ÙyüL™Ðæsí³ÐÕ—izU·»ßC~kãúº„ê‹éf½ •=NA Þ”ûKÐ~#‰ÑZù•õV£iÃæÿ(DqÝ7…¯þ«–”›A×wÂAñ1,èxpõ>ʬ]»lˆ“N¬omQ5ˆùêg“¯/ˆ<˜Ãí*+Hg­£S‘ûpˆj¥S.Á˜2$ \§ðš€¨šœÚîV‹,râC׈]8Ë~$–Þ¡î¦(lwS—t.Ái/=‘•û2 ¤ý8{S¸î³ôMQ=¦Õß9‘-g2òé2”ŠÉú Ћüî±/‹ÿ£µ=86~¦ ÷A›ê¨Ò‹cœq‰A}”·âƒYîmê*=ÎÍZ›Ìà…Ò†Žfÿk„‰‚ý~|ÂÖG#×YÚÿ2#*¹au7Æ¡|ÛìË #µúçBäÛ‡;Jñ9}%2.{“¿'ê¬ü´XXšë>®âˆ]±³B,ýåQx7Œˆ>‡èÿ¤<ŧHëLµ¹í®|¾uµ0|æß8M‹}oÖÐ?s °½‘ ™±”®Õ*xì³ê¤Í†xÕkä³ãYãj­'…ュòð¨ } 4ÿ´ú›$¶ìa/H¦”ö=s½AÍM$~ºzÉè±k-²[PH°JDL\½*®Xu\Äy£¥ayt®}Îû•R ƒd™b(Õj‚èºÚs{7›!³t¼¶ïã.,^>JÒý_’3EŽÈX1² GF*û#<±-oúQ‡`Nœ—hQìkµ—çâLdO±z}«òkþH¬¤Ä’ñäÿ½Âœ•µ­'@ÌŸŠ1Õ?ˆj’žÏ™Ó2*þjѽTœ|-ëéó¾U7°¢ö]¨2Nq½ÞíÇ©-æ†ó²oíiIž{ [Ùš-ò›Ò–Sæp²ýÔ=È þê‰÷œÞ%ÝrïüË}žŽÚ†¦L(]ååí⑜\RBõ&­Ö*@¯˜U÷ .½ #Û@Šë’>ý#¿;D¤—o„ŠJ/k P£A² ÅÂ,ëoÝÛ6;Q·´Ð7t¬ó®1 Õ>¡[|Ž2€j¬Ìlã˜'/˜«Ø—9Î¥5;GÀòç¹q÷ˆ§P7IJë‚' ýë¼­dR™BÔ¸ÌZªù·U‡};ÅáÒÁÅÛœ¥TÃò·±+MÍYÔ§¤ œ3C¥95QØÝ>·ã»HŠ :$Ë¡hXÜ×®>ÎZ.AEK"h>í³Í½s· „dþt‡?ÿÀ¶ ¿PY—PÁ˜«f¿î`ÛxùúßìR¬‹Lððg¨¼‡‰ã!ô]¾…ëO÷`pÁÂaÂmÍ—gsŽ(©ã•7³9qcœÜ:OêÀðF‡ êýf*'3Ùí°Œ…b¬©9iVµ¾B_Ñî. ijùCh“ù‘B­’&”üIgˆ-©{jˆªMjËOó1‰Ô’ çhù&MÚ8ác$€/{ïOì;ðGB¶qvùÊnâaµ0n‚!@XuÏ~³3#f¢(;s‡åÊA9ékDÎ9Õ$;ÂÒMU;¤ ˆ†)òMÕjÍŠå-~ýë/ê &‚ð{r¸Ì6ôª-ªØ½‹þ$1_^­]p4¸ZŒ¤ó…²Ç•ëÝkn9Q è…z…ñ“W%sý0A+co5cü4ɵ±È4¯ËGTÿ…È5‘ Ôª–ä,£Þ[ºñ»Å¾¤ÍÄÆåº wßmãwg¬$JŽ5O?þ¦f‰X·!²å"•ýe?W)\ÿ“y&ÉZ~˜5:E†G€ÏHønW_|·×ÕhÈ€VØJ‘ ”y¥`Yêe3ŽIš´»jÅ{"4Þ…`çÆúÜ16“µW|ŸQ0é÷ZÕ"˜}™UÜê¨øªÄ­p.áÅÌ?“t À\G¶ëClœŸ³¯_žÛ8î /2õa´ ZÅ ¹O^jâÈ#+7:ÿû7XÔêV÷4žÿÃ÷~ƒ– '$òÆÂ{ÇûÌáêG¼¦7 =DÕ*Zø(…I’ÞÄjVŒbfs½ñÍkµ…#xOe£m¨‘M}k†‡N©“©ˆ# ”>Ü_ðe"Pª®Éó/0ž‚ûŸÃc\ k3 ô8²šÉR×0H[õBÑ㵓¼Á–…Úî9eJ>$q“•T?Y©’ žcdÜ5D·ra Óa>fWtÝO6Í€Ö“çfÇ4Ä©®¡&û§ÄìËORÔJU´'óE·´%ž“PŽˆ½Ò¾½„CV’îò—¹°àÀH²æA•†J- nÅ/Áæ—õzèé•\cœ ›Ð :ñ“š–Ç’+¹A‚åaIØ¿ŠJ’ƒrÉh2aTÔÿ±‡näwNS( æS?‹˜W ){ >JÂI×xöniz¶‰«1‹Ö¿ `+_܇6‘4îAÍ+–ª”›lɇ3ÔJ'•(±×ú¤™JGìØ©%j·m“E†ö ©àÏu!"[…&ˆ–mO9N|‰Á>¸èƒCÚºzؤõŠ î¾¬’Ñ~rq™oö„NÔ¢¡ 7Åá)ƒ@¡àÝSAˆ½H¨›ŽK7O:nð»˜ÃÎ$ÁØ­YOKõ‰Ç°ñ£cíºÕ§ëgI”ÁݘøÂxï{œ¬ák'*e¸“ÛtøHéè…÷Ì\oKàðz{÷y ¹^âÅYÃD“=X^\”_ƒÁ”©-‚òA^yüqŽZ›SÛ6Ô^ä>}P‰FØÑOÌ–½§„`’}”"×#Gôó‚¿ñŠýR[ Ϥ鋨³èßÜÞ y…¬Ÿ6E&‘ø(Éçíp`Þ0¥J:J«k8ðøzgý€—øIþƳ9©yêPëÉχ 2/œ>¥nr@Œi…Ž4¡Ž9XbÉTÕ6Žã$p±c•4Sð™HJg;çƒO .’-NÔZÂó?wÑŒ—™iv|õ‹n|ÿE”†kHý)í>!ÄZÈ]x³ÖÕ:™}¾0…ŽÙîÉ­cì|À2F í¯Ù .•‰ ‚\‡^Ô"Ç2!>q-ÜØÀÌ*{èfá ҈à/uP©_õ¤¾’´t‚´OŒÝ 'ÿ]L•O¹wŒ–ï['7ÔòiËÊ«N='»eAèS\%׈3ü3DRÂUpŠ>ÙùÞ€Díz”oÔNÓŒsÖ+`dORjË‹äºcHYáÚz…+,óÓ*“O†]roJú‚l<‹Òοð.¦·ŠE§ˆøÖÿ¨æ6ë=D¼95ìÃÁÆý\10‡"@ÓÎI¤AUjê7nŸ»`¾´Þx‡¥Ñ›™Ÿë4Â"Sm+vý¨ŠÈüä¬ù0f¼4áÑÖ>ÆÑƇIѰ¾ÓÈÞ›‡ Ð¥‡ÿ«Àð×Á«—²Bï‡{ñ_Řùw·{CˆG æu‚{ÛV8j$aż܎-;$’¤¢¦O eíWWÌ×øªÇ¨EÌm-PW1߬cR_m4^•šÕÆbÓ¦[’ò5L'‚ÑV¾½Xp`³½åÅJ™N\‘u3žÄþ dV£ni¶AÈ«\Ÿƒ:#/”Ïæ¦M«øÛ@n6@awãü‰0r…|/ò˜+”¼«®‹¹ÜotÙ’6 6¾Eã\æuÅsæ ÝX$Í4!/úª{²­ |ÞÉÝ)Ý1ÞhoÝ›ÛÍO*)ŸÚi/Sp %{teNu6bôŽ”å©ºõp¯o€ËµemˆR)W¤ ™PÿçëPSE 1Fô[M%̉x>M ëÔ ÿ³Qx%Áɘ‰E—OuyKWT¯¼ðÔ'”äz–ŸÞ¸c=ÒÆA…h&Òh`~8øl Öj‡¬Ÿµø$t‚šN¡êÀ=†mhŽ& (ää®äH¿Ý·a´ò"~õÔFhàS[¼ÑóÑ!ÜÃz´Oƒ¦ÚÜ”ÖSÊ•ª©A ýA9¿¿Cs™€æsÍmkÀiÞ<´fø[2 „îöj6HµO½@½Æá‡¶kì)ÇBà ÒVûü×¢9“;Å| Xõ".Sr"|ÜLžõÃáÌŸ÷Bp!Б°—ÂñÀ\¾Ó²(úúöÅÁõû¨AŸ±$é_üšKøÛHVçöw@:ÔVd1‡Lo@Ze|Êû9ãæEÞ²R¤ç2v›ä/M“ÁÂY—4 ×&)´ŸÂÔÆ{!È!«OÈv NÄnÚb‘šÅYç7Ÿsq5MofÏ"›ìäîÚ)fw²Â[|Üdºyua´óˆi•C5VÞ2·ÆNeÓP•€qÆ›×µ›déýÈ~øe¥Ù§>ô2š’rE„§Ú;#VãU‡Exq®‚p'p\°™Ë…!Ì“ÿf†J ·£âµÑ]«Rn=¥dñgy´çw‚O\ *Ö¸ç¡ÜaùHìÿ1æê Z‹âyÁ`c×ÉE¦Ö’¤,ueaÝ)q%×2–¿Æt9ùîKÍx×4™¶žûÙ±êé×!!i *¶ü¿íÓ%óhm²Ó¬šI£*{A“ùª`èó'¦-N Ü[Ìé!Ÿ¯%°zóæßDæNÄÎB×MJ³ˆßÎ_UP®8ØÍfßÚ c]•¥^Ÿª9”A=„͑لž–ø6BÔ¨¹Ø¿ù„ÁÈk®Z§F@×­Áp#|˜Ø{žLÆXJKKÙ2HÕð~‰Â7æ£^‚µÆ'­E]‰FBÍ7GO•hdjQÜÌ+jHÆîŠSæ*R²hýpîš$€|ž3êhޙӇâ[uö\^•àÅÍ=kÉú»)¸×ƒ9 ”$¦­,b£Þõ}¿†ÀâŠ0—Úð`ÅÙï娑GPHQò›éO&¼ìÜ(iwZëÞr£!õ5ÎÒr¸ÞèˆhÂ䲉¬çä¼vjjÑ¡YÌ>3*ƒANýb2ýl[ŸÌ ,Ñ$_Nßù+5øCa{ .f2fxpvÏ×ÔD)rµtá6q³ŸVËX·©ÐID2¥|au†Ø~àùùIëcoÕ?öò·‡%{LçˆN+í2?ºYðR<¢xÇÌe /|›Dvêò/Žm„^`(ꤼú“õUH¹×PJérêK…;r¦Ý” ¥ë,ÙÖïQùž'ÆÃ ˜ÜhüH¸ ¨"\æ©Ðeý©ˆ\r<žºO×#¹@¢Í­z®à5AêY¹îº4¨GvÇ F.jâœGá¹f ˀÀänÚï¿üÝÊ"±m¯½}>Ùäà¨'´jaôx t¯q ŽÞ‡çvVWxmÛ±S¼¿w©²ËûÃÃÁƒ.„ç×·6Y“k;>#ÌÂò$ ¯Ë½â~‘!¶jÄ‘†Ç;Ò «†¤RÏ›D†Î( “«aI·ÝöV9:NŠàÏ º÷½8cµ–(I¶R‰RœÌyÊÚ[›ÍbÌ-¦øy ùA@ „¨)$Ÿ¾öÐöÇÐ/È ²·áµ fê7àÀ˜—}8·.ÀeZÀ¶QÛKÝÅ-°)àS׿NC`v®sõ] çcïnfwгá®Q„ÎRÿ´ÚÕ!Óƒ’4f*¸íªŠwGª7w§"ªØiÙ9ðÔ¥¢«aR™ßŠM[¼SÎ:Eî®e êã"à­úŸ[<8äݲ‹Þw!ä͵Œ–É[L±MÌG¿‚Ö«m«jÍü¨6Zã .Ö/¡„«Ü|½ÁöÐ×¥Ì!Oð?K%=C¹L[»™Y.–GäÉï U]6]kžn_¨ )b8ϼ²Ëš>%A5å˃¼Jå ÉqC´’ë$û` ÏÜVµ˜¤$ Ù0š(µ_è¥1‡uBâœZZy}ލÂgk†þÙ â«WƒÀŽÀg‰ûä9Bû_ ‡Áë bÅÊë¾ëÆPßs‘u<€…{iðòE‹€ $“¾*\Îz)½wü=™„5ü55°fÿ`K\j¸Y2>ÎqÊ!ÿ¿N‰ú³i‘Û]äS®,Ûƒ‰‰F…©A†ôE"²tYÈ aJf1ùŒï.|ü9"ÿu4=9mò¼Å"Û:´þ«$ï Av‘ÈýŒU*ÈeûM~Wõ*ZTÑÓ=4­ÙWO¨€¬ בì"%á¦'òx^e\ånó;°ZCxÃéz.Ö1…Rš‚#»½àRÕG쮄ûUTf,KN¯«R¶q´;~q¾~‘Šö§SĹʤOpÖô&ï—w+©‰RÏáÑ‘A»<ø½<¨wŽÏÕZœžÌ“nÿMôÿ¼ö=—>úñ2ߌn/{QÄÀ—Ñgy rÁÆ('ËëÚ;¶y÷øòIPLÇÏZ :ÓPäþË)€W,"âìæ[Z̽Ô{€3&†¹"weRïÚvŠç5‘i –vëuIvÇã´þøÅÚxêJ ©Ë N¤[§¤{ßëáL4¤ÜH.·@²Ðá(Y=ެÿi¹:Æ:0œÅj¡ŽB –²~u4¸ožÖ0d|œž1jË ´;Õâ;^>ñÆýZ`Fï]áB;Ž àõëÏ.˜1=Õœé[d û2Ô2ïÏÕÑ­Ü©ÂП¯FY™˜ÔË{Ì[ß!ÇØˆ÷MŠäÀ¨(;Åpòù+´H¡©Y¥IÕ¶çŸémõ;õú=œõ×9¦í.qQØX2Œ{™'<”ªº/åks„/XØFìM? ö¦ýhž’<ÏÕÀ”ÂdW”GRƒdwX[ÇŠ02ÍÔjç§6öàÂxp/Ž þÁâùÁ¾$E!ƲºúxÀ:?‰ûþ7 >¼ðó0JÏ7É,S!åüƒ0¦æÎM¶ºC_Œ›ÎƺÈU¦8÷§ü˜w®µð/4×^ÌÜ[‘ÁÌ\–äY²bé9ÖTª\X¥P/Ô«& YÅ#D·ûÝú{‡iS€CžûOÉ9G6)8èYu¿†wSjä‰ûCA"KÇÔ­/'?1$êŒÊ¿°ø²)óö+„~<môw(ymù\ì•e,pžšÏWq³ô+—=ÕqöVÆÏQßGí«Ý¬ÞU¶„¹Æ–›¾Ï'Þmèf8Y‡÷Ìß4íÂ6‚bÊ…\”Ç»lµòJoüm^5g·i¾œPÂ}…M)ãòD»›[È„óËÈêÎŒP=G™?øg s£þD.€±\”V> £¼-Nç/¿ýÜ#öÚòG•¶i>Œ Ä ô!àÛ=ZN½+V{:¯Å×ÂgÓò;r32þ]ìfŸŠ9%¶Z2{è¦átÀ»Y韶G± @§²èèDIËþùŽ‹ƒã,{[dÈû¼C—ED¶†_dÏJ  ‚¹Î·ï;Zö:‚éChëÃŽæÅü³ÅrªðÆ æ»='|Â¥˜.û=«ùRlü˜’T‚Ž15˜^·œSî„ÃÆ/ ÛM”éÔ©×ÈcrÊD°¨ê¢Zl2˜¦Âö倯!?KÿµWäó„ü $DËòú12sF¾M b1Íöýî3åšÄHÓm¾ÓZ_$8ùöú,̹üÎÑujbÞüÖIyßtNJYß3º©ÊÁ(”àçÍOD2øp›Ô‹Ï º:}¸Å><•ØOGÁeoš¢³Yñ ×~TÈd{—S¡÷ÈÒÝ ìÑŸ,z{( ÐÜ„"¢ by˜BJ}ŒÑso^Ì9 ÓÃ'«Lk²ÅáÏdÁQ,êló²›%•§Ö{â#Œ´÷|þD‡Ñ7¯vÀ÷v75zÊ&ÑÑû>íFæšú^嵿¶{C*±4¦Ä\ª»*hwn vÂë§ÿUL6ê±ãÿkzú¸ƒ›í#¥°þ¸²(Ç")­Ç)£¸¨± œÉ’l­j%qg¦úˆ~òÆnîq·ÚúÖšB¶¼ý+éE&Û¢àLrN7~à +Ô {Ù…¬ÿ„h7x ô¨:g!wëÿ–Ù%ÓýèË¢sâú'ò«â¾ ÝO FΟpØ×s»Þ‚žŽÈudÞŠ>W:¼a§;vØ#ÎõsšÅ³Zâù‡ò`€imØçØUÅÍ7zT©MXMøíܼ8éß\úTÌŸÕÝ\X¦/`=±ŽäGüü“%T`—¿¥ØäŒ—„ýN‚ßT1ÿñM7^^;)¢èeàÃîK,—Èìbf,_ î"(ƒ¦òiJ¼¨Ò¬ÛŽùî<æèˆycMë\?ŽˆjŸ@tõ†8'©ÄÊþ;Îo€Œ(;J8D‰Žë«T-¦cc!æäÀ`o]¡£ÓpË"|±ÉÝÄÏÈ•Ä+#'`2jÂÅùYèw]´K—ƒ$Y—‰.Dìžg¨ÔÇ˶å ߨã5(èý‚¤+ÑÇ<ÀKüd²Ü``žª¼­Üj‹Ç„© ¾ðR¼ž‡yÙN‡H5w A’›Zšè)9x3‡{­~†ËàšH'Ïô¨„nÉs[…ñIžÿ-^Ÿ¿>ÝVh_Š~C2ÞÂø‰CC–hqÙršSËç,X•í~7¥$FGO0’v>/Àøh¶4?4`D®^²Óíþ´ºð…ˆ büÑðç‘N>gœ[$í¥®:ñÌrË®ÉJ®QU:³ˆÖÁÈ-XŸÖçÓ°–lD±ømìC‚BWo­š^c0BYÑ9ª ¦õë5‹²a#Ë…©¥¡ÓÜ“xíÚpO_Øã®C zRŠm‰ÁÈN1C 9|-I­íváòe*å6ɃL"ßv­€æ ¬ªóä^I¢D‹Ü¥%A e‘>ÅÅk忆L¯Ò&Xg!yçë6°B¶ÊŸO£€ÐÍ •ì¯Éý„+ÏhI#¼µØ³Ù8Haôñü§2«+* H±y™§‚ƒÉsoK¡ÅÍ—F)Šjç|Eö Xh{Ê„:òQùÛ)ýëÚ*?—œü'3]ÒcÛáñù»ái¿&€ÉÇ©Ú6쪞¸s?ï¬#èeyÆÈÿ¡³ôø&N²³i¢þÉ[C-£äCóœ÷½^Ýu¥PZïÈ7óˆbõâµb«þ0ßû¯ñj»´}Ož¼þu½ÑËÒuÜ'­SAj8k *Vò¹9A¥t(²Ž A=E“9½ZQ=[\ü³Û9ÐJáÙW„wÄÐÌ2´™kÚˆI§g¯B`"XÈ ú'‹ f&•î( X’Üå@edCv.Þ@Y–dh‘þ¹mvÿ YÂ^­Ã*±hf.@‰1å¯oKqP|‰>:›ÍùœLQ—! (¾–s)uej*Âͬi‡j£„ ñ0aëžþöŽÒ„ÉÇ€!S—É¡4Tó\q/¶†Ø„³²¡rjÙÀ‡™Š…Óø¨£ÔÇ»ƒúK-z6lë0È>C£z¥<Ú[6¸,-ë\ÜÜT \šÚŸeç­Nˆ€—ªXž 4fÁÞgšÓú¦+~ì ¬’ešчpíðg‡éˆkŽçz;dϲ¨šHu»ÿo[q•à·œŽB]Ò^xNE2±@*ùŽ”ŸMáç#(¡¯«Éƒ{šÙƒŠï '* ,¬»ã¾ äÅ›;µolлS¹,÷¿•~ʇ¯ÆWp“Ö=Õ^ö`´z,Ø•˜l{W¶q)p;%+µUt¶páÙ¯û„x…L‰§XWîm÷“‘ÂÉ¥‡ J÷JË1¢÷udÊ]üIóMüZó‚ßp¸?¨a'”¬ãKÅûÛƒúÊô@²@Ê·SgLàµö¨tª¸øNȘðžÁ}q–KÍÔáÎà¡äZÄYpÞ*Î.FI›q—øô«Ââdì]…4­èÕ†cx ³bæ ÐÛäÝ8á¨`“d6óN0xG†³®ã¡êÆm*—:4€Åqxšù¦ÚØ“|Ã{]àž@²åZ…”Õ§IÆ!Ì5£Þ¿!³¼¹†O /ô¢Ññ„ÿ*(80·p—68J´ì;y’'¿nçØ×¬!Zº}må€AâŒÖ\y•À¨Ü^‰Óø-ö€£8)bøg¼EŒÆõÝËr²ú¬7…ll‰6©NJÇ$Ú¹nÖa‘ƒ’3ãL¤Gl£ÂúQ ±ÐJ¨UïÈNâ±wÒÔƒUÖd˜.!` 68q†T-n™ï­ë)DPP¤v¿”;ÊÜdÜSHrÕ¼¯È£ºƒ³×>ð†4,·‰ ûÑÂ-ÄWù­.áñv&`yõ¦f€‹á 9¾Dåí|XÒ¦†Î×<ìêµ™Ïy¿å¥€y³žL_Ò¢4”ó:Ðo¥“ÁÖ‚‘ÆÅɰyôiØtðÎcüäžÖŽqXß;ï¤éÝ¢;ã6œýˆ@h““•H îLË‘OHïK¯ÓCYHj<êõqODš„bNƒv6ù‹ç<® Ц×öAÌà…B¯H¿í²KGÇ2 ®Ñ ŽÓ‚óÇÑ"99ú?QõZ Få¸;þ/Feª­0gR,´1Wñ˜ø!Y’Â[1Õ/êŒééu>°*qúN¢r3-ð³òć@NZ#¬VYÖYaT¡éyŸÀ¯]±lÆ  €ö®ü^Rí½2 É,¸š#Çm&BÄ Mvšú{Éôè±s|‚í4­žLéüšæÿï˜T­¦¯®«tX•âÂÛ³÷þÍåØeÈf´—j?¿ß™µ×41Â\V»È4G(K…`à­M¦ ÁŒ÷­ÜÜÆ{ýÃÿ¶è/‰ˆ@Ö½Õ–O?ç·NÕ@4¢.z´O#ð§7˜Ø— ¶›6±«Çƒþo"¿Î10%Ùïv†Wkd"Íß1¶Ò²¿@vó"-ؾ0ÀjëccA0iœâàþB0Dg0G¬ ¯¾544ªYÈëÅù¢¿Pi6‡„IºóÁÌáÏß=«׈„ȇB@?LƒSÇ=ÝqE Uʉw§qˆæZþÀ4ÇÎébRQA¤X˜…¬ÈCùHžvwIâávó1ð5>h 9èÞw’@Ãþ“Qâ†,ߌn¬h.5³ðVá~Vý•éÝ3ÍZ)0 ÞU²¸yG&ërõˆÝÍ'ŒŸ©m¼¶! S/beN HÊ0Zš7W˜ ¾i¢Ëã’,¸¡c'ìЯ‘v·}8„Ššš–»›Dq½|õþö` Eµ2AãYÒª0ø¡¹z7n=)êý&äibI°Å†~Ù="—[gæd' Aåpœ¤Çðq5h”;ܞ熑ÌdÏÄ-ó“8z¬‹,ʇ(œa(˜/wWŒ­ELŒq#…Îhê•ÏKlî,º-UófÈ.«äkÂ2²}Ÿý­d"Ú+|Áä^ŸÏ‹WÍ®+¸N þc9|¥ÉýD¶©ê6¯ðf1Ç~o„Í_òÐü‡ß8á A4%SXYñ48IÒ)s⮕L†fîå‚mɹ^,ú”P˜4è"&\ÉlÕÌèpÞ¶8T$‡KG¤9ùYãrV$gçú-Ý*LE†LÙº +€4yKGË‚ÿâ¡ypW®î¥­®ñR&ÍRvNAµå´¶ÓÆ”Ÿ- ëÆyæ6™Nij.ˆÍÞ‹›ce×É—}Mš ŽÈ{{ÿL’¢9^£€/£8I‰åkµ¤ãSåÇ+ÇT’Pá¿PËm4—ü`0 •ŠÂÜž+Áû¹úîØ>,Oà ñ¡© šZ¥Ñ.ûC1wWøµ` ß=³Kÿæ N¯ô*ž`»í âU¶Ï-â -ƒJ/[sRïn¶‚çí)ˆxHÓ)ØòëœÚ¶ ¹¿HsóÅÿ/›)Õ²M6êé¶‘céýj¡èÚ!uÂC"ÏuW|ö<ãf1¬Ü%r.Z‡zçìã0ò|`é0Çf‹ìòáÿFYsËÀÍ$k‚×ë1&#vMm†‚¾[6æ%™‘çùš"ËQ¼ìŒ§, èfaÊ1VÑØâMUµH×0è-Æ]&Æ8æ(ôûOÈŽi5¢VvÑè‰Ýk¼ùGª>¥%i $ '‹ 9±±Ç‚cw"̵¬I½iq¹ßº*B'‘káæÌ懇¾eµÕø¼ß.iù‘ T=é[t-à•‡ áº|DÑ¥—¶®+ôÞкRÉ“/j£õŽpï º£Ì±‘½Ô‡C†5…¨Œ£D¸}­¶ø® øÑBJÝsB<¥œŠ q?TJZ)nw(¨ Ù_cVBj™•Óü—UC;÷…¼N¤¼¤?2 ËàÚ3ý"|œï±¼ë•% 'Á©€[  ›hþûYˆ^‹âëç€MOúÊQo…C$î˜Úñ0tzÓ ‡Å‚çÿ™fù‘%´©9™¿‚ÉÜÑ8_~—ìLÎ"Œ—æt õÊ!LD4Bwô~CÑZ/fZ‹„ñ‰y¡ª„Z2-f!ÇjG‹ƒâA“î©_ŽJÝ SyŒ„´ ’lü2kv ëiŠná“ÃK¶9‹MŸŠÝ!§߉?HZo(Xº[Îñã3ê»ÖõøÒÊœÃ\¬ˆcÜããvD™<D›^WÕ"×J7El®‘#bÇ\#Rº2™MÑ ÿ‹ŽG 6qußé78–IL0ó«és| 5?Up,B ßÇ4`Ï>NÛa˜Ù ”¾ .Ëù¥ûçm7Ù3«7œ%«Ž°6aeu=•-úžqg³¡ŒmyÁÍ£\·æ Ò•ñ'¹+Ï1†8€ûÚ,×ÃYÝÄ™\AI„Z›Æ/Ø)¡.…È :7¬&¤çy$L¾æåw!G*nÃÔ>­¶4˜=HƒVd$·ÑI½÷®G}L‚z3®tVeé“h*MÝ;Ví4ò~yOHcï`ìàVHY˜)rS¡0Áýád-îÒI5W˜.£o ’•91O4ÇbVkIfñ—¡ä®¯w–±L»¥Ñ|t°æXR)Œá®öPðZ {äºJ²9~®—p~÷J3$é œpÔ4 ²ˆ ;­ïÛíréÒ6g.‚”q› ‡Ì>@TÙÞ¥a¯ì{’¢Éʶ-²á±§šÌ®xàøSVÂÚ îdJ.QPþöl¥ˆGËØ¡V•ëþ¿Œ|»öU£‘ftÅŒãÁ×ãÑÍxòÄy3›õ¬ÕNÞ ŸÞvZ´VRß?Œ‰Ï-{òשpG™õ à›\Kƒü¦ìðó/9¢ox¢f…¢åøwÁr2¿Qü,z×¸ÎøÍ€ôÛ¥dâ§ó•(0€ËµÀ´àòøpgIX¸`àìPCOØ¥)Ln<É…ƒ|R…Iâ.e ñ`OÈØ€|Rºž'K <ãgô•"@‚‰$Qº×R“`qRÛÎDfa f´ÆZæœÏ‘Ì:¨;µ­ñ§š|Å’ÖqK6jl<" ký‘ñøÕÿ>:™™¦ ”Óó ¤„ô1¡Jtž1ôF•Oÿ(@M,k²Ç|Ú`C˜p´ ÔÅ8l‰ô¨,$x¤’Uq+øn¤û7@€¼“Ï“žì»µw…aKGºý룬ý}R ­â¸â†Ãnœd¬ì±qÐRÿý–­ÛùŸ€ìgǺ·0:­ ìù.ºî5Õ¬‰ƒõs §Œ ¥Öi$„żDbìþ mBX¢c‰Ê~ц ³+½Ž¨¬ 4"Û£Î>{ÒaGÆëò„ PT+aÃWoÁ{+ÚQ¡¢(ÌðÁ5},G~c»×cUƒ’TM©f÷H¶ö“6$ öÏÓÈóÌÝæÔ]Q…€Â£PH ¾¬VéùýE‘Wý&/ÕÓþ¹ȤØZùðhÒª:³i½a¶éIÕY]ú93P%`S‘KÙÉS>e¢nnÖë©Ù Ì{LQy ½ëG1™giø\Õ€–ܦ<Ë83‚*{E5n“fVI‹QÑs;Ió,Pˆè•>C¼¯õX%>õ[¨V&E$Lêˆ Ò1X*&õ.ú>ST¯˜a—ød-xÜC°w–ÖãŒ)-YŒì>r¢Ü"mè«)&³«¼ÔÙíy4/ºÍñëÏÕwf;ø¤Œhüy,wš“Ó_NKVhÍXf‡À7K’îü.':œ%· Ù}Ê6&çþ—ox/Z8ªjO7<Ù¼=‹¦¼,åVÒp;E%!÷æ°|GƒÖáV%žR6æØ’"Ðmìƒ[‚æFrñTaŒßÛÚýÿBâ‚{žkÓBûÀ2È„ù÷7¡mu»' Ì*s°¶éx}¦:ºn¤Õ°·£è@xŠ-&=9ŸìÁ.·åîШ sðÛÄÄÃ8T ò‰îïÞU>à‚ôfþägâ­¹Žœz|шò¡$ 9yÐ:×ü¹À×Q›Ú¥l2ˆ¤ÇÏô;XÏoÀvÌ,V8dþÂá ü 1 Xç,šÔ\Ù¼FKNe ±ù3*΄aIÚÈ1E2xUc>ùGÇSöÆ„u”oÛQR<|ø˜9…¡õ~IÈŽWÊ™Ày‡*È F]ø+ÀyÌiÜÏSédèÀ`¸f<¼.^>ÂÈK ]1Á'Ô‚Žcû¤¿ÀÊ! S¾äÑYûdù¿^²;K¾ sF€¶ù”9ླྀ½¡ËAM¼“ÆÄê€û¥±NÍZÒ±Ý`ÊhEÇßGò¯{¢ #œèpQbä;Ç*øÆlùN<Í|BNϹj2GQ7k¢*cù_Ho|’¥vî×Ü©^WÃÙ‡¹5—/§÷—€BÙuRß~Ú@woÎäë…K_ÙC «ò?°Ù9à< áQÆIlè@è¹ÿQÉšÝfä´ï¾éVÖË ãÙ[&“ 晡ðàŠcûïᮑã(ÖªÐV  ÊB “ ]½Üg<´ã‰‹4Ó=.Ç)—^u+~©ÅßÝÚ¬ž—ñ‡D‘žñyžùFöäœÿ#´ïnÁ€ÃyÍ×[-ÀAïÑQõ…:;îE2©­„ r…c,áÊlq³D ¡Pë†{¢uãàŒ ñGCä¥&³ZYmss¦=]‚%1há†Ð=|˜|xþe‚FàÈ#hªzoájË w×Ͼ :ÐÃÍ\Ov'F™iM½FÅ·ú!óNUÁ¢QšŽá,_{¾lÌ«O¾í…j¢wÁ£PìuMAæ{ÕÕaVLg¤{ÎX‰„h‹Æês¬!4îCúóúµK_~Ö/ýØ~^ FX§‰èI¿¢¸¤"2HËã'T“Åè)áçk8ž}ahèüõYaå_J3š&`µEˆ3S*Í'.èøïmÚ…qòš[á”ÌÊΑ†/kþH‰„lrå4ÀeW›áIęѳC°Õ—¦ K óÜn!§Ç@k8¶¹Àº¼äDv-žG„¾yîRîêÿÚ†éåÈ-…T)¦ÃÉ$¢ÍöÀ¶“¼0¶]}úº@Ëao8¹U)²•ŠáÚPCŽ:täb8pa¸ölcO…joÙýHþsäv¾µ°'Ãìk{r¸©¯w쀛]0›0ãÔhYä[y­4btøº­]ÔåxÒyÓƒ•²¡WßRqPrfz!N_ŸûhKX‹[汆;¿¯¿Ohæ;u¾¡.‹…H@NBB‘ÄTÍðbùˆ}kåÙy±\ Œ²¨tì9Г„[L¢Õ. `”BÃsj!lÒ ½õCËrâAÅÁÜ_X'ÊÆÙXúÒì27@Lâ©=]×ONƒ¼7ð…Eß:ßcï˜_V »l¯ŸŽKÈfæ{pXBFlfÄN@I_¶¦²•¿†ã,°XÌ’êlkE<Àk… øŒäãŽû]þÔÈÄ6eàÜ; øB8¬Ý¸ŽÕ;©?I‘íŸÂ¥É[HŒ›Ö—Ï9S<ú\Fg­#éb·ÖÓíÍüD} ¹æ(8Aý&A|˜r¨ñWZ‚”yÿ4´åiàh*þœ³ãåÏ%b/œúš76ê`vÌ˯À2Øßõµ{síj_Ôðº:ÅLÚ1Ú»©lp8Ç„z 1‚Ðv[ ½a~ÃÑl›Muï;`XYv÷’·Bô¼Äh¨m™9n<[¤Ê+uܦ »ÓGÓöF]é¿ìƒpß5Ÿ¤f’; žüí`J4FÇ„,×ÇÀõSLR¢ù>”l‹‹2@í„+NÛÅ A,+BÖXF4*•%[ïrœŽ~S×ß$pËéBú+`=ܱ jBÄi ¦©Ì{…¸/ A„‹¥1ZO (I¼ê ÷G;4¬˜ênl]bõÄVå¤þ/¤Pó‘ôÛ(å6´›˜"š[,¨zD°ÅÚ%Ô¶Ø¢¤æœ»éd TÝK[1;¸±+J'I}¦Át.R·Ì ,“ÜB>ŠÉVµ£^›yÉ ®‡6µë‰;áq¦Zeºå>*³»þ¡Ä^m庪på¤d ráœÁpNã|Äõô7+r3{[7QE³´vwOÆZ r£Žx7?ŒkT«öOöú ^Ÿ A1»„½©ˆã4pH'ö,›/9ÝV•®Ó’Ñ‚—AÁ¡ÛT¶÷"ËxV¹ù÷ÀeþZßnžˆpÚñªzW’ÔñîQˆ,båš‰í¼ UÉó†îZ¼Y¡g‹ºxW ±Ã»©¡#RVe2;?j£èÕpU¾;4Æßm‚©½­ˆû¢w@‰x7J^¡|ïúúâh/·^-Tð*B ùÑÖOL.À–L«"IñˆXqÛ;÷ΞÿD²òÒ醮i$rS›Ì,í5ö¸ûæŽ,‡±û>cz«ð‡ÊvDK«WªwkEå±:‘ôu×Hü† 1CaÅ$i-˜#nÁ‘¨…–šÕŒEÙÜ$ȘâxFåýð+qE%Ðò’7mÛœq  NGÒTe4¼±sz¿RD§'oç¿R×Ï ÅBÓ6^B¨äʼnO^œ7/´•7Ù“’ýPeF©*_w]ÊÆDZÒÓrЈ¿¶L¯°˜j4omg;‘>ÙWy[Bi6#S[ߢüÀ±ò¤Is—RÐ &•. Ð[N_ç2ã8¡fXrÕz; úaâ$)‹÷¹‘ œa™4%Ò“Xv,úLæ¬s€Üí¯­À"`¹½ U0ôTg{î^¬ä`+RP;ðÅHâìÐSÖgÐ;c3:ÚÃè Úã31¤ey:bBU¯FQ5“Ö©•m&“ì!eœt¹ò˜ÞO²¹G9W5ç.´u•ú 9Î<ï·ÒÍÀE°ßØ4·mœ»-Eê'(ÛÔ@~)Ê´•uL Vÿp+¢F뎚å½Nk—bäE®èÌx]Vo¥OQdÑÒxéÜ,˜x®‚$¨Œ<ç:~”ˆ=!Bv *êk«Å/0›Å[î)ˆ™‡ZÍÑl»2c4Äœ]_x ?jX×ÉWu-"#n‚;~€ 7¾_GtYò;ô–ÉéFÆ®ÙÔA7©?…G_§œwåsqÌq˺ BÌTeÖdå±ÛÑ0¸QŸÆï©)ìQ]’œD[rcàËÛU[¬ëí7¾øpúÚë¶{ÌÀ‚ØÂ“k·áòÅéÝu·Ÿ«{X!ª`À Ùzö„àÅ>ã“k>9߃ÿ-ö¡±EG->z\™÷2…œemã t6uŽ¿¦?òŽ1„É_9eØ£_ÓSšvñ‹Ã²ÓÌy6í÷W{òþÿ²ÜlPî&Ø̼‰—¦g“Hî~ØyôHÛe@ä ~8AvbòÂ1`%‰¶ÒÂÙóîL$í˜#3•ÌÿU5LÛ2Ú×w{•ª¬­¿+Ù$­£îÛ =ÅA® kb¨:¢ÃíSýìÌø©XÙlô‚ðN7è.MlL¾®ª§îea¯mîDg P©¯«³$ùR¦ž­XÔOlHò§×¡üoœÅº H!otÝEˆn¯Ôg–çûaðsÒ8Šr!A¼ópȉôGÔŽútº:°S˜4¤N÷VÎ'â¤x¶Ð°pèÁ]ööð8²_Uç¸Îôî2I±úˆSõ¥¼—;ßJ˜ôP*ç»QÏ ÓjϤèŠÕ D‹Nʉߘe©ÀG—7×Õ`‘ì`€ËEYJç˜7_k+;EµowÕ£µûPøêŸ~e–¿x½w¶ûÅQ’K`­ó-à~ÚK“çšÆîÃêƒ7„»@‹ùü÷qW ¹ä˜ey0‹BØ‘öû­”1÷¢5ƒK‡f¡«è©sˆVû}AÂ/C¹§ËCýÁó³Ç§©O|ŒMbàõì ÷2Èf»ÖðÿÎ=]ãž0–9êa³!IvY’鸧êV|ô4>»O?Å„ù#ð¼±k‹®3PÈBMà_ôõ/_ÔòÞ“HvŸ8½&‘ zVJ¨³õ‘Ÿ‰Œm½•èTžaå_g?S¢5½ßèI¢ó«ra¿§-ÍÔ1ð)÷[„2r4n N«-¨'­åVüÖ-#O8¿Ðt/åH>¨Ãâ$4Þ“O­6Õ1»5UÚøjy~ / ³i‰°Åý¥—;Ûß4ižz>к™ÆåydcŸm•Õ™%»;4ŸGúQžÕv‡[,óŸ9Ò‘7ueÙÊÊ™=ÑªŽ¦,f*ýÅ[g _†Ø ­ªaUÙÞM_3ÏI2_MT³qóÔ„ ¾‡¿dówHŸj¦é3.tøÍ÷•ÿ±{éóÊϰë {ï‘Ó¸À^‰b2©+jä4ŠOå¯3·åzþÐÇr§4)QJôºö ؃1Vên.Óob÷Ôá'Èu'®ò–“}æô“ °†e(hÊxRÂq¤lŠJØWÄÙ ë›æu_WìøTöU“^LvZ+=¶›’x–”«hE§¥M±ŽJÐÖJxuÝʲ5§ôgDËÉà/ëe¡ãßÿ 4gZº›Cš.²¦pÁM5téű§€®¨¹=Á/šœ=M¾œ ¶¨P>)z@¨·Gúº)kG'x-ð”#Ï¿¬„álMmm¤rOñw­ä‡jÑ~ÉT”sÿÞCùBýøpþ͉–¥±¢¶]¡/?ß™„â*-   ¿¼ëa^bº…>Bž¾èeºõIöÖ\⤥H7¼™òͥ͂Âòª*œnBò+À:ÊË7ðèÇFº˜j˜,Z¤ý»e-Ð <¾ú‰u¿—ÚÞ8Õ§¶›•3rÁ0jð†Ñ"Ë ›aûü2`ž€i;(²ö(¡ñ¥Ñµ¼Ÿ(×0Û…îµö6J„o7³|3¨à0YˆÕ  ÐpˆÔfÿ-œNÜz£ww‘¾¿/úÌà¿TC¼eßHˆGš•⻨½+š]õdsZkz-5 [jpËMe]QWj©÷°p«'œ Æ™HA}èäÒõµM“¼x{(úngÝÞH4r‚,høMûQ*Ѷ:~‡9?žâM“§u—dšb£¨­K¢z»\Ùçˆ3„Þ=R˜6(ÔÆÏ ¤I=‘OÀQ"åë&az|–\èhi!´Ck—¿·X€ÄÒ{ŒÖp#YŠ=¾ < l-ùŽKI½ÕtäòH óµ3‰[»?Û ÞÕ—\”v^Y?B©·Â ÕPm9„ e&9Ò%^ùá C;™_ÌW QÏê­¶m7Á©ó¥í×yà ý Hx¥Ÿ(ïÏ?£éœÙ—ÿ"ï>whæ¥îžÆ Äñ©2?CXÎ áŽ}‚ÿ!CA…[þªÙ?sÞ, M p}bÑ ±ü\ÙšÍ!wËÃ<ãTxïâLÝÉ e60Wôž2šI<Í÷ýh1ÊåØU{š»¢þbêL3ŠNšŒ›äÀé&a j` êÐé0Äú¢‹u—Üywò,’„7•Á/†¦IúË#È«ê'µ·ŽÞúCD–Ë?©¹E²pš+Pœ.ñiÜ$3" sNºf¥0 àÝÑÑà%­â9…gpÚÜóʼnÌÄ¢š¦»ÝÇècë±ýp÷JÖ‚l$y€ŸÊ´¢¾\½Ý»Ìïצ¤->&çðA§»íyŸòhLÌAÈ7´Â–¦¶{»4ÐýbŽêÍ%âÖ6÷á7À7+0Ý+jª-ã1½©®À´‰Ã¯.£Ö¬IâÈD¯+›g¤ðÊz*§äÞÍÇ‘ó>!J…Ù’´´»ïrLǦ]{03PfU‘h!LÉHÈĬVÇŠÚ- ‡m׋«sv§û˜î!Z¶Á$Tü'KkˆÑø1Î ÀpKlã¡Þ‰¾±Vì8é Òè Å^k7F%œA@°°"Œ´U+6,¾ Ü2eLn¤ÜòŸ>œºéô^¢¦íÏ-gJq ‹v­ê5¾eûŒh‹³ud!òŠIsJ£ÄZ%ÝÄû%í|®š…þY·Ñn@³ œ633øãDÐ3Yð“â3w¸yÆHW×—È—Éa>FÄnVç„òº¶ò5X¢ÈÈT,À•J½¡ *×É+cÆ=ÿ߇O±DÞÎÝ<‰Ø‰HM‘š'¦:"5rÖ5ö8ìAŠœÀ\âÚQ39Oݤ4(P6š¡Ô)x!‡ö³­˜M–5¸úO †þ·ËDïÎáçŒm'Õ¨ç—u>@•= œž~†L„îmhX§ußâÐÅ^ÈÁž „^RÚCׯ·á1‰¿'µ¤Øâ4›°Z¥Ì¨zѪwÔŽñ;qáXÂßæòmzqõ›¡*él£? ±ÄG% ©ù%Ëý1)LÌ}ü¾6Ö°Ý5wùœÅf¬•ö|:¥Žª‹ª“ÄÀðÊàÞ’>ó¿û?^†+á—×8Ø<8É}Í€›ŠU|¸¡ â»5qZ®‹Ö/vKcÍR1‘ ÆŸ¼N®º$6èÈgŽ@;ÛJîÀ:·))D>?J¦ï„aL2\9ГWmKA1QñWÄ¡˜vìÿÕ=èeš¼cÝàð&yù̪51…MGŒ*úéÓ vÛåW¨Ø¥íÑÉ׬±¨KÍŽ®èmå^XqDLŸ2Ô©åD†ô a…]­`^øÅ:ê4‰9ׄÞÚ·,<Œº8aAþ˜ªe†aÁËwÄdw K5p0è¦N›$3„ÛQõJ¡>2Jÿ_RÌßPûð¶ÎR@¥ÖKñÅ"ÒôÖ¨5¼<|Rõiì*frjP3¾I)‘È^¡yU s]R³/kœ5µ›~ã9ž—rmuË›ÛÚû+‚%d&7m>Lì¾—þ}TÃbïâ2¾ù!÷FAZY r7VA …!Ö èØù'°Gâ¿Õ».u©çv@0$/fŸ‚"ÒÒ”aч*ÁÚ¬ÞÚ±•ŽnƒµqW:uÀð‰+>fQ‚~ €i×ß?orXüË0”ÞÛ÷ëáq)¸`Ù`…•ÞV4pE {*‰ÅÈÿd$T†g $#Þ¸ éW“ Š(¦NwÔпÔ¢G(ES ›î°Y 4ÞƒÐZ7FíE;H-š·ôÁ#»×Ðuÿ¨Ffu’8¨gÈî‚Ò!ŒtivÑÂ5HC%²ûI «7s[IÌš˜VgèvÔ×ã㩉r-Ô¢³Ã<=Ƹã¢à?6iÝgâ°ON_"©á>Ù”ôâ¨7©4޹ä¦ÑÎ8£ÝnŸØ^O]èØý[ºG„ÉŸl¼8Ôâ=ØŸ½ñÀ¨eîÇqµÕ8TI 0½ŸOV‡8ÀQî°žNýÛTÝ ßý™ÆD£ÛB¼/ˆÌ5z(¶uÂâW-Û[õFuD³„“.ª6¢³-À@9NÅìÞ1R·ŠŒ„dÎb.§ü–º'}×n±¯%eÃÎ ›Š´žÂ„GD9I5Ý»¨ØRÕÏE6…}âÍ©%ãø×p2¸mgùâ¦:M3[ó¡]þý“úí‡'Ø•×\<s„Ü¿3³òËÒu¢ûÐoÊ€ö•!ß T•„[µ¤;ˆÑÉÖ¯e„ÏâÉ¢îæ§œfc[«¶Us즱i•r¹rÎÚ8»'B¹›!m•²¦¿Ô®‡èˆ¨ã™OºŸ†´¥¾*¦HU;Lš/½»eW¨¨¾W¸Wcî—á«å_l"ZÚ‹‡ýuÔ%<¶¬IÞz&ÐÆè]ú0‘b5ë W~‘Ï4®nÆ€*·CDÛ™80ïõJ]ÎÓöQ.bû$::@znƒ,Îñ±ìk÷˜ó͈$V|ïîëë#Õ>HX¯ŠQ ”dBúÎ.ß7Òºåüåæ¹ËöW4›NQ¼` Ò—6P'ÆÐ: ‹ÎVbZ*¡ˆê¿òØÞr¾ÉîÀ›Y )æyá‰UE®Tþ`Ñ9øTdëPc}âš=š9´ò”=˜š"-þÚöÈ>Ø ìÏHaÉ–„sñê¾÷ïX ÅÙªë¬OŸA–*¿QOúŽG½ñ øBdé–_{eìYÅN!Hâ©ÂÔúü™PyúZ³J¨l…=ƒ¸ö®ïÈùWû­¾_,œ¬ô]áÃs÷å„©SúœP{Ñ"ÎPÖ‡›ÕRmNóž·AjußÙ­Ü€–´^ îò 9ˆ”[ÿ—vlMúµ0Z1B-R³ƒÓÌK©ŽXMÎÚ*žÔh-’GœÓ3b›û³Õ‰Œ‹tMv%–±X‰Ÿ¿‘Rõ„¡ÄšHf¤.¯4Yܘ©ÌQ<[àï“i Ä®G×»Æãhjé%ÿÜÏ;’9ý9¨1.Jˆ(Rò:Ôôá¶UÁ@@äZ‹¶o“ŽÄnì½d ¥… KÃÕ¦Ö@VÙÀœuäÓn“-«V3h%‰ÞÞÖˆ ÓØ§1˜o¬‡ú]å­A$·µ*9ˆ±æÀ&C­QËy­ëHQîõòYs®úü ZÉþðEq¶t7­CÔÆùä]z¹…+@ø+jVÊ@@ˆJb²à˜W”·ÕÂ)užc¢—Fc\jã…»E €‹) _ï¯;ß®RÍâᎠÐtQ£ë ƪqín²®t†¡ïC…±LE”7Ó+rdwlׇ?môHc*Ð6ÓÌ?·ÌMefŽQótÄý)$¬SFa :5šüWò3„Ä=»Bk§_?Uu À:Ô, Õ+=¨Ø`~DñOyÝô¡|¦#ò=™:Ùîgá2Ðt¨Ø\Cønº¦í\×SÅŸðsíw²þppd”ŸÛ |¥Ø,3Çí°!Êc×PàŒéë"´ò/.~î˜ÒmC¦3±‰Hz:ïØQüm° —MË9PNíOôÝ~ÅÏDwHfg«^¹0OèD‚—´øé¨ÐÂë8îkî»æ¨ä%ÉÍ ö¹¥­s„Àמ3ØË/ù.LÏ¡…ÍvÓ<ø4ÈðŒÉÎÊ%ˆ¥†JDtíúÇeçæÜ$þ¸.E¬ôßÞ“ xXÔbìdVh­A‡ú* é-pQ‡¦ û%D6Ãi¼1ràY¤ÒêôÌ•Á÷w‘7czß'd$¬Yu¨Þ·Ìö3“sÀî!_ûºöÕ+xˆ®¯Wßúß*]RŸE`N$êp@λ¤Ô˜ËÔÅGX‘Êj­îJ”ïåÓ¨ô Òƒª>&c@ Ü:Ë9‚e"^’AÅ?¼!†æVG¼)„;–›á~˜ £U€RbËöž…3Ó¦­x¨eö“YÅœX2 „šKTÔÞ;,*5jÌ÷ r *Çs$×þ@Œ9lg¿'{=ÖׇþÒ…jè ¥óg ³ôqOu'Wlß`c­ •›È+à>¶0·=5JÕ„ ÈËq×&=V /-a|Æ×Iá!Y‘A€ì“wÂêŸkïŒW:ÁKM¬büþe¥SvE•5 o:—s£•|~ˆ¹‚çb“CÏ_ÑúÃÄ \­?ëÑy 1ÿ,Ïý]s¸f‰ 2Ö¢âá¢æ²íÎÿßÇ'‡ÙR*ë[—à%dU¢¨ ;³Û¥Pÿ©³x~!²bíTšŸs¡ÔÆO¨¼òb;"IÄò6Ý×Ùì huìÔfòÙ69©=A J¨Ö0þí(3» ݃»€ŸAÖAH[b´M,Ôˆ:‚žÃå*;j ™óY£˜›¯¿ut‚ª“ÃInj¥¼díµç“Õô ý½»ázɵ—ý$‘¦ŒOßnÝg{qé¤7)ñ#’ùgR¼E‚+îPhÛ|Ñà¨Â4®š.h<–jË£Ã]òùž¢À³ñÁRzÀâc˜gûwØ'.2cD(¡3žÉ‡›¡útPÀŸßä8VIµ8ç-ú[Í>Ÿþ(Ü}å(² þ ßÚÔ¨%ª™»ØmÚR™bPò]=pÛ×!ŒÜÎ1Å¿–û`ËW"CÿTëVr¨&÷Ýþ¿ß¯ íÈ7%zt¬!g=o­õ?8×p+·£=!WïCó‚&àLÝ"׃1¥xí©¤ï°h´ìË,ª°ï”CðqÔÜ:qOÉ;±ÐŽ.ß—Më6ð°h…iÂ0‚”¿øQ®¡×¹öjyîÈ+Š8nÎÍ3¶¯îlêmb[Œ +|ÛÏyøš±&Î$BjÜÑ­Ž/Ɐ…¨$ÜLç7\ ã™ríßÌZ´É"·Ñø¨óýgTáx_(öòe M/?IZ‘VU<{b;òßëÝÈ¢zá+Ûÿ]¯ ¬òQ;+hjM4ZŽs;²}ÁŠ!ÜqwOIe̯I¢<Ê‘-п ^qØDœÍ8íæŠ”%Lüè»Ú/îQeî&™/Øa÷õÔRd¿Hô%”ÉÞNO~ø–…pbyi¿&àÁ9tF.ÿ -M·P²w¸fäJÅ~6ñ·|LxÏ)êäô”ª„ºÓ¨‚‡[ß3Ú“1$a6KȬø£#‰¼s-M2ÂîÄçÉŒBùô©Òãìׄ¯Ç½T°Óºš†ch 6²¿(*™]#=úÎþ +·®ØÑl?PüÁHÄÖš#¾Wêáì2ÚÅåPõË•“{àæÚœÃТ·W1Z›æ¨÷ã>ëdß]ö/éiHÌXö“.™'‹µiÌ&.)¸M¤ïÍ©—»ÚJŒ•É‘`ÌšGÎêèfÌ‘š/Y!ꃄX bmz´Ö¡ÃàêêA1«o )X Z–Ä­‚<¡Äû§¾.o¼Ó÷ˆfFXíÔõ±N+Œ¨ð›Íz#§v8ì²ÎZšbvö8éÐNHoŠuâ½L HŠ²Ù²|OûàµKÔE~Y¼ãœä°Ñ’žó0ù¡%dpA´ Øcv({æÄJeTÙ«Á£gô€‰9= PþN^B2‘Ì"bvp)²„2ê5¦[Ï ûÌ-Î ï‡? Q?·ëµð±3XãÄ¥~Ž$>ît|Þ¤ú"<¯,tS,wèi&àÏÒ§(¦Å!Ú;æ5ž?Çñæ{›màVý‘Ùs Ê«+µ¶Qa¥øýЬê÷‚Ӡຠ¦ïÕ{ a ;Á|–Âá·¼QV?B™»ÏE­‡Q«?c-GX±6rŒ8Ò©0ñ±tU7T^»\ýªEy¾ñÚ½b›ß–ôÄ–M#ÚôÀ{«÷Ì>*ÓÜÆŽBðàN^uš—›L•YçöoX^mMI×%Ïÿ›¸"mFR#ÞŽ«ãƒ@á™ÐÏG6ÌhlÊDÐ0‡ørÕ¬ÉÄñÊì¹¥ák†:£?ÉÛü Þz¿ï:!cª*aƒš‡È‹ÚÖÝÆ(æ… ë AÓÓL—ÙÑþ:Õ»bªsÜ1UüÂà;[z¬«Î|5µ×©XË‚3"³g­˜âYA[|û Á”_ºB² Ä©|eçZøÎüK’l­Îp%T¤úG…Ï"½C*;9û”»5}’2«c/E å1óÿ6ãïOPÔÜz¤ÜG¾õц†›œDb¡WHnÝ™‡j`ô/ÝO°é¦n›‹øYúÐ"‘_íè;A€!½(‹KìgÁêq¸šêÃEq ­2¢í[ÐÚ¯˜Áö¡Íœ-é„C@%ê“­‰â¨=Z48lÁh¥*»n è‡)MÇJåòpWXÎn?aø 9+œtßaŸ½(sØö¥)—6"¡ÏÀŽ¿T6µºà«hÒ0 ì3§xv*:™ŽíþjÓÀ³òfxÍ/ + pá nM•„.ÓÎf0ÃlESDåanœgL2ŒWç­üç¿ø2ôº!oyã3Lx“P—PbÄ4¸›z…PL’Zù K>âýϘþ’Va:q_ÃþçNY®ÍŒîÜçE½ïØ´É(”‰ìQ«ÿä‡Ö¸ååÔøÅÉ}Zºœ|QK~“{{Ìê(ƒ]wÈÊ[[££ÊjT‹Êém)Ôɤ¨:¾/={˜]G›L ¿q±CøŒU€%u¶ÐÊeóݔ™«Qص9ݱ¬¢6OLG o„þÀÖ2×â&äÊÃ*5Þk¨{MþŠ—®R¡“µÃ‰$Ý×z}4-Mß'5xºÃÆ!o[µ¼Ï‘²Œªßè8Œ4€%ê=PtZA÷ãªï 4UÃ`x`È9ɨ}}e&3) dç'790¥Q‡ ÁÙÇ89pèм²yd™Ã8()Àkuz¿‘ª N¶ø2&Ï¿/È力[]ÅŽH a]Ég5}[!óD“Cǂ䕚És°àlnJqD˜2øY³gg>çü-ήŠª%êƒ1ä·ó§»±%þVÏNU\„e2\Œä¢‰¥Sµ].œÛÀø˜¬¶o+¿lÛ2Tå£%¬vº)Äìÿê|T#s¤ãçÐÊ/¨^X±ßÞêÛÒ¯RÌðmA;ÿaéU|¼Y Së²U¤àºßÔŸë`uѧUa™ÿ½Æì¦í"«Ð Ú” µ©c³vë6/I*]oÏ5‡d‹ËƤâÚüi‰cg G³çË$WÙ(Yžnîà”óâ$Uz´Ç ²7–f¿={XmâÅGÒ+ã)¡ij}¶Ýb_OuÛí“="½šE¹éyšsñŸMK?l.‰‹ÒAÏmñ¹ê,±-k'.ý•ÐÁ`Ž1´Ò–N¸Q\'š8‚`¢D†Ç,!\!~ÂÔ¼ ¬Q@XŒˆUža:p^+²oÌÛÄ}Ñ‚V´AC$Bùœâ9P=$»™RØ^Ë#³Õ²GU/¤‡øûjAîóÅè´µq¹‹DsP±_=N•Ö98Ö_&®—`,·ÿªA‘×–?Qe#£¬%•zyÅ> qä~]J`ôhXÍ’® HŒÐÔªâ€åÐ4Õ^)Øu/¿\òîjæ‘Q­f"¡˜ù˜l £û¢Kµuõ$˜ƒ+4/q•yž÷žòoý˜ï+¨e¨‡Û4œyâæ»ac]Nžã8‰<¿±›jZÉUݤŒ‚—jCØ}MûI¨ZÃ|Q(…´Ô“mÚSë«8ÈÅÍjvŸ|²•=ÛøÀ"›¦LهŮÎ3f³(Ïx>|ñ¢4Ê 2éNÙàd¸KA¢”‡ü¾Åê€V2ytYÚ¬<ê»E(ÛÈŒ>2»Ñ7ÂdˆØeÿ´tÔöÈ ßU1¥°Ìí^D,™@…¯þ%+”ÌŒÉí‘wL˜iŽ2)Å”{&ÆV&·¸o•ëªëÀ3ňß|Sþ‚=Qœ $˜’fŠ‘@+×bT~‡úêY©,(üú•¤|Å)œŠUò#ü‘cc¡‘W½Á55I\‹1[ ñD±ïÇöWUõ¼U^‚"¿iýzÀåˆrEìÍ¢rÜ‘;]?êO½¿¤tÝŸjòdýÞgQn‚Òî¶"R”O£˜§r¸ecjÚ{惭¦?ce üþïY€Ñc+—WŸ-móEu¨3¨—±«Ï_ºF ûù-ÿU)J” "x¯K°@8Ö ¯Î;ðEá°!ÝCaópo l‚U´N¦%êãtt,EÌt5vE)ÝA«ë”¯܉­žu{ÍìÅmÕÝ­¨à 'jcw•@r²æO¾†›5œßVà™åƒCCsã²E1 Û(䯥JV·[ÉC.¯õ“þK)ˆ±ž”Ï÷7¥¢Û*:BŸB9™öäÅvò¦ÚÑ4 y+ÒTRÜáÐìÁS7ò^цG- ¾Ó¬Æeð«ÍM°—¾v®O{0ÿÀ´–X#¢HaZvl„%mãcœ¶ ®8ßz«ÕrÖ;8nÇk¢A&Ä@ÆX7Û¯÷û ­ÑçLöBª¤|?¢Áá­$È@®°³ IÝO,àó¼ HЏ…ZÕ%š²Mʪ Ñ%oB &ަ˜uD’æIÑ;Ÿ 9ÅÕ,JªªATQÐ("­¼š/ t*‘7‚÷ Â¹kÊÒ{ˆá$ÌGQ4OhaÁ1 $¼4pY¢ˆÇe¥ alTóŸaæÛn§g<©Sp_} ¸N`¬ÇšóAûzŠ-êÊh(øóÐpsB0¢þ-ÈX F7èà]‡åÑ^¸_rAÒ19,$fùm-|x¢ø[«É o‰?½£¯p†¶hk‰ãÄ×^PöómÈ”´e{¥R=tÜ©¢rq9N˜øÃ1KGuR0ÄZvvzÚ÷x5PØ)—0”êø k~Gºìy$» YÍLbÍÿ¶]ík Ö¡òø=·pVŒµ¯²†ê Ø@\™Ó°fNtûå,*;(Ú®ò©±(O-ƒ€7ÛÐ>µ´•Ž è©ˆl‘»‘Р:ÌoÛoe¤ÚÏ­ ebÉ…å)0_€•ë3BŠc1ò ü§8[Äæ2غ;óK5â…ve)û¯›½vp´×©|~x8,Å^)òÊ hnÜGyŒ%Y µóm—{ÿiL›7UMG˜µ4÷|%¿„Iì–x¿:”y½›Œû ;I”¸R†iqç’m_œ¬îÌÂ3ËÆYýeFц$â5ñ“ä99VÞi¾ît…/ËáI‚ÃøÚTÀ¬•¸E|øÍªÛ3b!©ðáZ>x«zsn.sa×ë"îœ'4%2Rxí.Ùçõ˜®ü ±`8oÛßôëûØ–ÒYJæßûÚf${@qã,íç„õÕÒ\Ñãf5‡Êa¦(›·’‚‹+ïtµÆ'“Îbdp~O_`ЋA¬nç’m"ËÈäA“12ä2ò6™…ºÀà„µ÷ÍgqÚ †õ0ƒöŽ ݈_`ñ–VQ¨?œwmW%D½£mƒÀŸô‡—~óE9½sÍÎg)]"/pWT!8ƒÆ¤í³a‹šˆ!)É.–_ýÔâÁw)éÅ|ƒ¡`/ìo# ´‹”+}5y¢ NÜ[ h<8C?¶7nÜ›É;8˜(2{_ö—¸ÞïRó%ÓŠóG v~ŒŠI¶ŠdP0O¨´ä­o³>?™zô¢´»Eé:œò÷´8(@ODõ6À‘¥€„ÞŠd¿ëÏkBz¾m1~±xËögFH6Á¿.kY?ú±“oCGïïZ´'ß •iÏërk~µ‡ðtUùy„vî•ZN‡ïxáÜ ¨3•,ù{ª1Œ]ÏÆ;€¤X|£ö²n­œëNõùùÊrñ}šØt9¸M1µÍŠ•’·Î*‰£®ÌÎÄ­>±nƒsÉ» 0… %%üްBü ´)H¥Š€(KšÌÝã tM»Ó‹ö7?rGèÖΡOž†MÄóM)±Úý«ä-£ ]ˆÞ»ÍE¿õ¨3uhvë×ÿÌŠ¡kjá@<ÏtÁðQèa ]e¸E9cbÀŒÛÿ |óqz< ðàì2 Ûjð2¡®óØ=‚žJiK©ŸáZŸ9eçÍî¨ÄN„t\ùг0X€XûoóªÃÙ«wk¦'š.Ãu>@Öê—i°!ß°ln¬ü\…X_¥­§{Úbeœ:ÿòí³úÞìCÙ#éA ê†.Q§Œëk5äs7_ìDnˆýq;ee¿?uì9±Âšu“\¸FMÕBð¦gC2(nÄy¯>Ôµñô0ø)™4Î1Hb‘뎟&ri'oÈq;Å&ÞZ n7U‡Ý4Ú­1Š,\q(&ƾe½ç³*Píkµg£Ån½«ét E¦V“‘ëN«z[œ´¾B­ù0a7töÆMØB‡]Ä ìßsh˜ ƒé9)V&ã\XÒÄ9»x‰ 憱 ïú"%{F­¼>}Ç¥5®Ó|ùÖoʃe,·P<3e–‘mÎMá—­öO`bï ¬ ÷—ñ[7"ž yÉÀ²e´½m˜àÚîê ­ëTÀEZ"å÷Õþ1BÓŸaRfÒ®„_¿Ncvp‰ Âv cúþ ×9øáyŠãVHVÈM4ñÃâ'@ÏŸ ¦$#Žâ8æûléM]îG¯š;ÌeÌÆqè ¡¯¡U‚üiã ùβ®#¯AÛ´;g2–+~¥Á^0 2›šƒIÙüÝϼ^ò|8|zÀ¸ –gTV;Ÿ¾•R¼C.Œr‚ ¥!Óg¢U߃ªk¬«¥úáôÑœ;Y’…[޼$‹ofN™ÆX¼lõt¶¦ ¥»eˆ¶¾o¢¥i"¤3wQ“"×ãFØ>åbÛК€u$ Öè&ò„ë' £œ˜“Õ@Åa—~‰ Å %̰ƒÛ½Iõ<>^Ó:)£D‘Ñc;/yWQø"-PªRÊ[PÒ:Z"PR\©qóNÕj}_’âdÞ@{9_pñÇ~qÙ›q)< êÍŽÓØÜö題¯HïÈTW׃Bkq;Ê!ÕUë—ÓŸøæIëPx²ŸÊîßœœŽ5äk†~ׄˆs6ó“<R17ãùmëN±þ†}³`;?‰"rõ8ÜòlÊ® {ƒ=Ù õD$<”Äd¡[Âó²i¸v‡6@æCp¨ZÑD ¹Œõ]@JáÞ}ñ©o{2:[s €hšÛ#Yø*¹˜eßÝc•ÆÌ£† ;ó EŒVšÜë—2@š­ y†7JD:ûÒÆ>ÍbK²5ÿÀò&ªÇ_º-éÿmþàpòn£Y»/Ì_—*¨Ü°¶±KQÛQ/[e­ N"È`øIš%Ûíý;›ÿÀm¸„cñ¥ìjRÛÓÜQZºÐ€¯U)£|›“pF§»Ò™¢\"Uäx~³Kk®xCƯ´ËüŸŠÆYÓ…è cÝë=9-‘d üõ²Â]'™ù°ÀÚá‡ýpµB¢ hãÁSØ¢rZ¶ÅŽþòÐ=ЫüTn㹞¿“.:æx”yêQe‹H[q®KVAÔ-’4v»‚«¥úhô&2wð‘y0Ng?ÕzôÐãø5‰Lµ®W}(úÕPS·úW0¤¿,&WÇòÂmoOö‰­g+@ò¬òcîø2FpëÖ¸_ ŠÍ?t ú}›ñԪꪡ’”P㨺ð„×wZ6ÿÑ&¿ð7Iî`,m¶¼´ <‰–!¯š†Ú¿Xa‹œgO«À­xuX /:H$¢Ç µ”1&ÊšsÅ7×-bà¯áUx:-s¼bDþ—²2ŠÄ1v,ï¿ F#$]³ƒÇ2ˆ%âέ¨Ý ÇÝÌì›Á<Å/‚œ{E‹h3”Å~-štv@4¹y±Â%$º×ي곪²ûB<ÛMzÄùäÓ2ž5Q=Bª=æÜ¨8ïYêñ˜ï§>7µ=škÊ•’c +ž­t®FmìÕi¡YþAÌ2kN³ú–ˆat8÷_z#*³cèS“ Ùš[{£fÉùõyÎÌAÃÅ‘¬ÛY1UÊX%jeKÇU£Ó±:‰»åÜññîqlĘv^ÁÅâ['Ì ¾[Ø{í%‚ò±7¸CÆÛ÷.Uê¥.wþ¼nêíji2lF L³³éQ¬ºö»·åõ¦'äaÅ|UŽ â¦8œ²?Ü-1Auá–`Ì5T0%;Œ€7àÚaÑÉÂß…1`Eʘ Lœh]÷ðWŒŽn†Ø³Ü­ÍÙº»±šyè’…•c]­’ÜÌ+Ø+ú ˆ\†Þ1aêvó>_ÇZÛ Åþ³-ÈþUÚCÄʘ”ÓÙXRd|QÕ:&92e+³' ç„<ÿ(h%9iËpßÙÚRRq Ðf ÃbP-‡Ýï¶Æ3ûU­Š¯æ©vl‘[¯ãl)Ò!¹…™®ùÙ³¤£%ÕZOÆÄܼnãºî:p‹¯®XÕU‡ÜO„œÈ `çxOŽîŸO÷+v1s˜:¢Ÿ_òEB§Ç"© 3z¹ ÏЇsÞŒwþã߯þ"f`§S_È ±®xŸ.y˜[c%\ªÊ­RcîÿÇü QÿA†4öçF¸ø2Ì¿äI¼ÌLwÏt÷3æ  NóxžÁ~êü²6ÎɱîÎ~ØÖöýÒ6ÿÝV,Õ¨§çAGfB|f-u¯GC9ä0ÜÈ ÛÛ¤ &XjÇ °ÓüÁ ~|ÚÀÈŠ Ð·©m‡Š45×Éûóa—Ç;dR LÌ©„Õ;E©….®v×OC;œL©KŽt`¦¾>û(H@­Ž¯>9º1)'Ò¼5êÉ€nBý‹ÞÊ>Ì~éS`<›¯” $ŒçŠ¡Ø¨÷O‚ØãÚ ô>†Ÿ×Gá9±8%Ä”AÆ_¯–csnŒ¡0…`¼ïƒŸÞÌêV¾ã±·ß:—^ å%¦Á2ø`ÚèõM²¬EwÛkŽó%÷ÄYÓ—™ú`KNÇ£Yùùümû.µ]bëDŸJ{ýB„&6<•},€e«P·VkjMì­.îç¾2(±Ú‡c§£y!ƒõ~еû‹fDÿ”Œ:`SLø”#¾àk®qˆÓ׿DÙrTW’×5æ¶r3ÞO¤á^ /ÛJÂv ŸS°YB‰[ß‚éâ1î6,P¸e¨Õý³WÕÑÛg4ÌŸD…Üð:‡¬ ÿôU<Ö7 ·?l(.0WóîÀñsy?ñcñ `³­‡×ÿÂŽ|­§ÒÀ “ ¸|O"Û 'ìOb¬gZjp¦ÎÄcpèWg§L‡Žâ< %œ¦û¢£a/þªÂ?ÍòãCH–^vän[ÏVGNš—]EHxÔK°bùœ ‰0†ÏDifÚÃÅÓÞ`Ëî¬éu̧…ñv`oÿ«©¾•×|ca(ý¹¢3_ìÐRÎ`d}D€þ_].GbK,¯UÁ60^Ä[!N  -Γ@%ÖÍIQ Ä ‡u¾ÀoHÞIyãÊ,Òâ’éN¦©— ó<ÿÑÛJ´µ–Û@Šh9N£¼«0?b>ãJT•DãÜA%«nìYð 1l“´ÔQå-ãÖëõåãb) Œ›ËBŸhdWrížDå!2++Àöí ' 0ˆðR²Ê)å>jAÒ.(xnî3#9× ˆ¦÷kÆÂ*«æŽ;$„¥KqÿŸk#E½ègÜÿÜw7/¹úbÆ­ž4ÿª“øÂåwžeÓÜb>–|EރʰÀèFþ™NP>pÐõ*ê ;7Ýö×)}ð(\|ùGŒÓM;ò1K‰Te_{0(YD•©±M2$“ÒÖÝݰæ¸9ú’b‰‰|€i¦…ÜYBÁ`ÖËÍÝT=;Lì&ê“^ߵòׯ•â[Ü Ö°9Ë €‘§/›/áëj¦ØŠ øh>¸› ˆ‹¿þäpx”°w2 ßà=M[ßBF7ߊýt¼R|Õ‰†ÚF˜û°søú% snbáwQI(¡²«èï+vê-í[,—¬lv7rÄN¬$µµ˜ Áxª6%*³/ú‘K{¸h¯rGô¢~×O¾Òá>­b²k¯/o¥&{iûê6;G”zvÀ'ßÂMät|KÖ£ô$gB–|  T —.9f1¼ZC}lÅ‹)wý:†-hÙlVŽêmÿu´âñر‘0@ÁÕž™hœËe%¶ú®{û«ÛàÏ®Sÿï èÿ–êÅ4è-î1É¡ƓNj4&?ž™‰¥Æh±‡RM\„N€§e²ó¸"ÀÅ{¦´Ǜۄt} Š*jˆvÜüªDùFæ1Í; õùÆ!ÙcCÕæÅìîú6^sâªDÏ(ú³Ü%Œæm;<“ºM4äî7 ˆ:j{ö¤€wÈU:]¢¡i U.â}sŽUò X2±(8{ù¬fV3æEISgï—ù×—›sÖ1§…c‘,øîTïÅü1ßvð“¾ÆPø"áVq˜2Sñ)û`Ùy“Ñj?‘~ÑFÂŽþ »&A ãÙ以+$¢ÖɽCM‘ËÃÖ/!|—ÛÚÅ'ˆÎÉ$%§Ý õvÐ¥¬i{Ã7æÖR+-œÜ£ÿðHDk@Õ¢‡„¨|ZÔ*(ÈÐNºêP ERofVÞMjiƒdëRÕSìEzÞšà§‘HyÄþ>fnŽÈ±õó`ˆ"/˜ß¬íð²r§ëãK™Á u¦%*à“$™l¾aý¶Ð¤£Î(£½^1KÏé1Ÿ‰z ¤ÿÁ×H^zÔe`€«õç+•nß„VJ¦†YBw2²›'Ü÷¦kœ& –eþÙ¡}™Ã¨Êâç”X¨™Ø¬9rSÒ”šVc²>؆¿LÖâ:8Ù⺗7— ¯òÏ—Ü¥˜yü¿Í¡~¤÷\H¦(1„H9 6—nßÎÂàÎ=@]¾qþ£ùcy>ôQën0e'³¼ãVÅÉl+â…ŽB6|þ ÓžCðÊÂhµË¡&¢ywYDà’)BQÝpïr±´kã‡eêäfáo„OÒÜE’¢@½„½:Á‰–¦W~¹“m Ùýöö Œ· u°Eƒ!pU\BÄSCÄ[|‰­s¼Œê_Ýfѹ›Ø ò«×'bõ± ?ºøJÄ­aŸˆ ¥û€ÿ žmŸ‹ÕÐŽ÷  –v•EbU›Î}²º~Ç^=,D˜Ñ!™ þö'ÂÆÏsßôSqØ-ÌM?ýß$ uÓØï8$Ô“‹èûct)J5d&ðx hkŠpÞL–Ô80¨ E…Žráꌅ0‚ÿ¨$©˜ˆ§¸ðå9mç”5Ì$¡û…\âÂ"¾fÝÝSØ«½V¥qƱ÷’€Ù-"i?¤p Wû?N£Æá`æ^GùÙVáì´ƒvâI›lí<4÷DÕK”ÀrêGdرçbó1£gÇ=ŠÚüLÌœÉcî$ÜÓÄÜȱòfÓl­!ç H1ÔŸTuö"]§ÃL: r(þŽGç ælXŒnŠOÍjÅ0¿ÀŽ­4(©7£(2rüh"g—ľ$áãùxû68WG\y\»Fq¬Z!ˆìØfr3±ÌÝCWA‰söª‰ø¡<¦^ê1iã b:+¨Ê~LÙüÑR[âh”»U­™sãçë:Ë“p\&ÙbeÓ ¨ãê"¤ò_ÉZ #Ùt@‹ë(¡ämD='¾1i@¯ü¸Op6—Þë 3¹fc6<ƒ‡7!Ž[*mâ–±›þc~G™ºoÓõëLöîH¤rý{VY‚ío˜†g±Ku*+b_ŠÓÏÒðæîHŒùóhJã%gê:üÊÁ0ïô‡ÈþZúÛIãóçëùÓƒÛÛ´ùIŽVtˈ`=Hq2×sCy Œ–¢óŸzk£îg„ÇËEŠíÖìE‘bÑØ-ìÇiø^&ÇOt\—Ð-§ ÖÕ𫚉üÁ~—iß. 0íªß”4įñ3eï[”þAGëª]rÇõ~Ô’îg¿ÌÆIfõÃŽ°·×{ä5 Xu’ýβ´ÂX j™Ú &m2ßËïV9ûº¿¼…lVCs5<›ÅPšM‘È<Õ–¨ÜRqI[UÓ#·9ž¯úŽÏ(lwÉFôš Ó¾¥ÑŸº¸zþýô¨Fÿœ­&®I¹1• Sîö¥®oûq¥ZkpO^$*¢¦…ÆgôˆeMYS®§—Šñær „¯ †!(vúî`yƒUŸ¯‚cÑ¾Š”ç¤õsÓ*PÜâW*³p5{¼“ËÌ-¶dØzŸqþÊsG•c}(¹6µã(„i÷sÅX?Å€/gxî‘¶vÃür¹jò2›#ÀHÄŸ¸`€Æ“;e›¶³FR|Ùnénœ7飬hY(çð\„(–ur^ˆŒã7ñ1 ‰œ@>I!û3!F‡ýÍØMíF.U6ý¼ôì:ñ£Ç“¦Çsa_ªæZœÒóG¦Â Ñ ñb^Uõl êÛ|'ÚCŽxl¢ï¢``\LµàÔÇ7Ћ`Ì‘ Áña4$#cþbŒ Uä™zFyçUé5Žæ°F°tHËX,~Y3lÆ‘²ýãO@£.¨Ñ] Ÿ¸ÁÍ«é=­Ð® ú¡ßmÄËð{g@r.·U0py¹Ñº1ºeÌ›gæF›/  ÿ.'Â̶Uk%Â/÷„YT:¨·Ÿ?uV=Øú¿®"÷ïø*Ö„&ö–½êÕ^Tckœ­¥òP<í àiÇgN%†…ðÇ—ÛßDt"ü~¿íœF*b²…Üh)Ð*Źý˜0ZM O@þZVo5?'rÂUùF¸³GXw訞 åz^/`fWWëqØ0•Áÿ¬Ã€§/ÂÞj³GŽÂX­ÉÂä½âÓió9@§¤”m\¬/wsP™•®6/a7jñ`Ph›ý~øè´Y¨àžøõÊaz‡uÁqnäó¿ÇÉÐÂAîÒƒ6po7}<ÀÒC9'ÌõÃM¥F£úZu·³3­Ç8%Y„Úü–l¡m“¡¶®EñàzX7ÞÖäD€±-h»åF–¯õBO‚ÓeG¡?‘ÏQ\:Fˆ×@¾®Æ/B¢¹ž&ªJ¶ûÏÏÌës'ÒÔ9áïãwýMlQ©#y–µÑUÖ£ÚòcŸ"PL«øn¯ )åjî+ôqÖÂhÔ%¸2w\9Á9]Øä!Suñ+çà"y;¨®o†ÇR\3Ù7ey |êÇÑ,jÂwr#Rá¿Ù§…ðÕä‘ ËBõ¬ã\}áF¥oAþÃä¥Ï`µ¾–gþ›ž¿ ©PÌ> ¤U,bhfÑ—r²“µÐÜϰ“€Çè‡líÊ Î¢©éw`à-©GP€ÞýŒ×XíðT3_LÕó7ËBÄÄT‚'ÍÀª3# +¯z¨ˆçaÍ+Õ z:†h|uº”Z÷©hFKdM¾; á1[9œuMF¢µï~褯+cº{»½xft¦ô«Š"ÿC ±Éw»š(˰NÞá Ój5a‹Bωô·Ïe‚I®‰.CÆt—Æ9emÎF¥dñÄ9el:äv-ªdòþ¦›ÔÒf#Š›ûX4À²¹W/éÃÂGÓí‰@…ðg5ÀQÌ} à¸Ð´mw98\ kWuœ'ëfìëÍÚ6tQ¯ß·(×äV_,ÅoáéXnÔë]¾²º~˜ÜÝ%Jÿ ˆfa³Ü·áŽÐk&/èš|F’<ì¶Õ?Œï§@МÐtTÂoh<õ~¿i ¹Qü ÂQ©%T'}¥R¡ýPfÜæË§'|„_·ÊL„I]ùòå¶ÎÏþ¢$5êÅO´swO‰`›ã̃pšF~Xaµ¥1¾Nî&x%í ÐßçØfßܬà^0]G¶ Ô€ÿJ=ŸXó’•„Gs–舫ù¥/kRª=‡Š¿à]pmQŠÆvý…ƒÎKšÃÎ ­ð YU÷?SlG‚,þA&qþ]®ÐF+žNAüo¸7ó ´½¯…Qü§ö\m ±sù°ƒ‚••¢éU½ì"-/³‘¤žó‹Ík ö­ö:äÉ®{)5ôåà¶”µ,UÑhzr‡#ãàõÍ«»î>Õ¾XlíyIxîe²iáºÚ ]T$*ò˜?šp²09§I‚‡ÚX¸–]1, È#ß¶//oå"AW—Ù±T 1½ìMt¹ùV½Zþ|ÅgHnwöDØV })QnÂ˼Y9¤-йï·çuãÅG¼kœ÷¥<\í˜ùøHºÈ¯zYA£Ðù`Îss r¥?®ž¼£xZ[f4Aë ÌA]pU¯Í€ø}ò…nw¼zªï9Û´#ápÑU°ù¼ö¸™Š{|ò8ìr£\r·_ wvPTÖu•$d{ŸO£2@6hhåµÍrÛÂþ´€¿-Ph”n¢&q<~N¡Ò°Ds ³†€‹Ó±cJůTh‘i]µ#]Ð®Þ +x×àl%…ˆpâÌÕ­“ÛWÓ€äµ1FJ ZÇNJE3©>¬pq»%VbH×Z|Tï´£ÍT¶Ê|ÄŠ¸ò¬›󲾘;(Ü>bM•)ç8ô ȵaVR†« ¬~ßá3ÿ=L òóˆÃ<+Œêÿ¯_»=Ê|÷CFVùaQˆNp‘ù¨ºÆqà€[ìÓ©s[š“+úçXÊñ‰^Ó¡ tCAêNÒç!’QYŽIŠÖ]Ê$Àůåf:„~L­£\+"Ð{ FÞšéùS6% ;*:çJMh¤ô"N ‘”Š@i h«+hbøÙ6òíç Ԛő0>G£ÎÆ¡7›cùà§öf`Vèó­f W¬çè«‹îçtuû¿ú ®ÝÞfú“Ä²Þ bø¿šÕ›ÓÌ:` ô¶yP»¢–†Šñ ~ µ”hpj¤~|Ìh¹ÏÅB°”r¬5bô‹¶•hl¢ÚóØkù2ø×ÞyÁ¦â(–DªÕÆ,šk’¤0§h³á¸iD}£F;×èÙ„EÎ4Æ—Ÿ &ÑŽ‘|ý“PW’ø¾·ì“ò þd8°[lÃd<×âç\lNŒ®Â†`hýÞñpM³"VÀʾç)cdtÀ&:ÔŒÅÏ)ã)¬O?G¢’Ã~g[§•=JÄOiXŽ,½y{çFÛã9Ž8x˜°"ï:éÙ¯9'¾(:\‹É¿ØgTV-öZï÷ðŸT}Œz†÷:á:S¶¶Ô(éG¤°ÍŸÙ× oË‹ˆÊuÒ¨$¾0H²Å„‚v²pAN_èS€ÁÓc]ÓIf6ú“ÀAbÛª¢]ë´Ùk¨M5¼ÛÝÓ·±Ø¯Õ m+ªÁBžA¹ œ6t •8 oÀut<¥, t8fÍ&BФJ3Q«1ƤÐg·;€B»¼dv{Kø;‹äP€!náÙ—Ù%¦ÔCrÉÒGÁä„…a¹í'>Äk´2Y²Íør+Š©7¦áâ÷WÛeIìŠn’Î ¾?[ÀÁøU j¬Æ—éÈ:ŠBXAi¯Ïšt#b$¾ƒ#ЄÕÈê2”Ë›^¼¥€5üôõêçy1 MýGÝ\§§ÎšrBºÀ˜o¾¸}§ AÙ5VZ£NXšþ„õ=ðð´ QAËF þ0"aÿàÕUò5Ê1§~× ŠõÌ\he=Òéã—«®˜ @šp–Ù¾«ø³›Ï긒¹1ZÚ}ˆD îÔ¼w'ã÷_ƒ–WíQ(ðÔ3ÛJÈë°?Šrkk2>­WöŒûöGÜ\^ë’ÄÃιnž¼Ç$t9l§«B¨1[” Øöäûý;i[®,‰vá“{ýRÞÛ?ܼ_ÖzM¹[:[ô9*˜a²Â×8±¡¯zSjXë¨Gݨdùu'`M¬_$0hêõq9iøDdz÷æk¬ñ©U1í]†ÔáÏÆ„w ­Àì\ í wí‹Cߊw<£nü7CE‚jö›\ºz«×‹.ù(ܸº9uÄÈtÅ%Ñ® [ÄÕg~#ªø#>®s}ø}ô‘Ðs:±Ï{3¢èYºÞãs˜­¸´ØJ³T8ÖÐå4:Mwµg¯9«J¢­AráÚxí>ëæ¤ò76u& Ys ·x‘œ2­x}ÒŠå —c"#}À¤ÌÍJ¶Ë8.¦¡Æ[PoÔq'šxWFT±q(#¼}‡øŒ ÕD©¸-Ê3Çô±©jhÎ@üÁ¦Þü®ªáUv5¦XÕZ`±AíˆAƒ0Çôwù: 8MG Ôã®à­Gÿƒ®àÇèבè›,½ü'ÇT~4¡yBò‡ÆôúÝCe??e ˜Ê˜‡yW/¬k“ %"ôhŸ3©'s`ràW©£ùÒnjñ\:Ó—y~ÕðÄÿ$8IÍÒ¶ŽèóÛ›ïϦw@œãxΙd¨&“æ?ïj”(å`DÏv5…ãV¸åC]-½`£¶ûÊo‚ÿ¢g¯¤Š£°w…'¶ÎZ€@ºüæ°|3óþ„ƒ}Ì’Ú.­Z÷†÷7A‹^/̉ÝǼ~A:eœ‡½-Ú%½>Úi*£Gý¯êŽ.p—£›ƒ®–bHB!Ü?‡©|Õr ¤£´ˆ°õh°å!vdUŠ'¹'ø§‰.ƒÏÀøš¨™bÕ’g˜ÁÁ§šÃ¹éiÌ@îÀ³Kݬ±n+E»%áRâÍú£»÷^5ïÛÀ7pq.mS~6ô*xB§¸!“d`Ê9¸ßCɧ5@è™¶i¶®ß,hÕ‚™&Ž™•flIÉg¢7>ÓJ~cjj d;WÊEuØ{ýƒ\ƒÎ.×_£¸§’@ÎGÍb/ÚûÈJÓâ`‘%<ºZH©rdÀ7oèÕµ–켯ôÌë›ÜçB9 ½AéØ΀ÎÖ±žhPÂ~.‘tg”P =H"}ì`·XÓl2uÛYãÀ. ލ+‚Ër~Y »+ìä.Rõ¼ß«œkFË&iH"z_~MÓWís–OØà©äzÈ“P_úÒD·Ìx¯ªò»iïf|SÖºXZE+ ‡ïŸ¦m/™Yг°ì³F¢@*wJ^ MÛ¾ûc _åØ$¿kó 絺³Üc¿LM7÷E#–àl«â°EX]gλÌæÒ<´ô›éŸwªäæ#¤pí0 ¡Õ«û­Vò"­øCäÚÈ9îp–í½’Á5ÔÝ— °ÙÆåÝr–Û’~Äi¹É„…ZØŒÂm¹Æ†”qõT­Æ‰n³k£Ðõ˜ùæyãKÓp@KBÙlÏ!=N&%‚Rë*•;#h'æ(¶[IqãVk)6ÜŒiõ ñÿ]‘*~®$\íjû4ÐLL¡K¨3©³öj=¸›Ç®Õ+av­Á RwžEî8šazšix˜à3€vl)¯‘ˆ÷õ6ÚýA¿4•I͹'õ©¢H\Óç³Ú$[µæÞì§ýÕY3Àß<}¾q ¼¼mb á?ŽÝµl¶† Ý×íMÍ©ñèIäÝJë™(î©Ý´ ðqFºJí•>¸pجǼŒž’¾¶g¼À­{‚îg®í Î^)Àx=ÏSÏÁ»ã-ÏAõ”¬n;ÂÍj„£, ÙDz”ŽÀŸô½a¡u7´jù÷Ø*iªÇ"ŸI±?!Ó1\´·C÷±±8ºúfÏZ2ðu*Ëu¼É&Ó_ .šA@£Õƒ…‡Ññ(?íÅçŸòŒ:°Ï±Šâjj?CP‡€X”"ª¼I©´À½!H‡ íΰ„Ǿ؃ä ÿÛ“Â4¹„ Ejå¶êHjíðULSÛ~WÓ¨\‡¥·“*Ãê…·Á1 Ü%° Ñ&ç"*~AyŸÀV¹ìqÎÓiXRÛµF¡Ìm½IaщxPIMç‚ÁÉ’n¦ZZãáçèèm}Ùõ?¨}Hœ~Ž`ØÞè,b{3¹$:FÐ>¶L …ïÕ6À˜àý‡0‡á¿OTØ\ˆ.œì`FGœ—á;i ¹ uQ)²¢¤*o¶žŸ±VFû^Œ¾Z¡-Ÿ©BN\9³ŠÔЩÍrB)Z¹\lYø(¡÷ù˜7{âªü*S´8VFÖ6£uøüƒrÁz©Ÿ +©ë,cŒ'„¼šSŸ€ˆ×qôÁ«MÛÃðÀ¶äœkõÙ0[Mþ•y@ÂŒä¢c ~Ã#§±Æ¶û4SÌt©=.ÀÕM/¯-C’\%¡píÛÍ\sAaº[ße:[­°¥jgšÆ õ&²éH%S˜œD%Üýs@rq¯9|·*ûVØ‹v`fšù?Þ:–ìÆŸâ2¿bÁSè¸Ë³4:V¯Ún.ÞØ4ÚÀ7Ü5Þ¿Z2½ûC~8b»ÆF6=ƒñ>ÈZÇ7Õfv¶ÉÃKÝç{Ëþü] ÆYm¢i¾þÃ/øN‡~Úü,}çÏ´ÏÆB•Ê;››S{ñ³|2G×Þ~=0Nc{M_K¹ˆ¾:ã[û™˜Ä_ù×Ï_Š•œ½öR ÈaiÝúšj÷ý1XõO¾•[ovB,V×'=®J÷&˜±§íG‘ß7.¯ŸdO ¿ߟ•;*ùåI./àªdö6²s=óÒ\æ3 Î~ˆ<YO‰ïzqþ»¸Rú §ÅBÜ£|ö„C,ìlˆñKjó¸ ¨âéæ, ºÿ™(…Ù…Vp*·òµD‰M <˜›Úžzâ¨Ý¾ô!õ4îûà 9ŠZÔÆ÷¼¤5T ¿7Ïag8eÔóÝ3gÓ±;®ÍqžC )²µüçmƒžñQ”N`„æÇ¨ú†-r]Èß^ÞÑã¾r‡á{®Ÿ‚ÅýØ0^.w¸ÿ ÿRô•–Î'o¶N¤A u°Q™båäðȾ։Eãý½fÖÖþºohJÅŸ¡RXndÂùÛ‚»Pòµã0T{èP‰Ym²i?—¶°/b?G›)$+z¬T“¿•Ù#ßÓI‡,£ðIê™×†Obáßg¼AÞ6ƒï÷ טFÓI켕#(WývnjE€X Ÿ:8§AJÆ+&Q-B {Hªië é¹%SÕ AzS„Î Ý¡™·0i‹¶£é˜U¨ _EOªÀ‘Z'7ãËuÅR_vA4Š‰Ð¿­Ò‡£¬|!0gÂ"£LFêú§©Ë•Öß'4KgG AFç8ÛèŒ1[l8'˜fÁ…ò§béñÔ5Úâ,£ÅÞÕÔÇìÄ¿ʇ á—FdqÃ"ÎØay ßÁ2¶zÑì%:ŸŸÒÌÍIÙ©:·¿RSÔßàµåŽQÍi¹Býy¬-y¨ÄMÉ7ši7ÝO$ìþεWàž-ï›/«zJÃøä^å"ûtA}ÖçУæÕœÆSWV4Æ`º/P‡ÒY#ì*·u&;d*áø)e+ØfF#Áɾ¡îõRã#‰.«Ý(„©Ë²œàØ1y›høàò]½ .z—°Ÿ a_ ر+†‡®‰µ¦Ãä>¦­ÍÄÃÆ#Õ Å÷/‡þ¨:Ã÷Ö.I¤_‚#.á5a¾»Ã|Œ`¾îa>cF“Î 4ß]ÉÆ:î¾þ[þ='ºÓ •wm`å‚ÿ)´ªÐ6[Y ~ÑçÍœ¢ÌhV;¹²ŋߣ__ËÃGi›±84K¨ËZ×û§¡°™1(üÎùb)™tV–·´©Gñ;â‹Ê ±0ŒQb/n@ kc'á\Ÿ˜<›õ#q®„P‡f›ï£=•½A.–\Ó‡ÔLÌiˆroª9 j˜bӺ羆v9Û&Lµ/=0‹ÒÂ7öµOZÒ\¡L•ÚÑ¡µy›eÕñ-å?t1 Ý~¡œ-0`Ù^HúÖûÿÑ=Ë _k¢£YCºo„^¡+„Ø;*©>×WÎ…lN;UcBÞZ‚‡ÖÞ2­ÂÊ~²´ÄÏõ¼b´¯[箣77AŠ–ˆÔLˆ®½‚¥ÑŽÅãö õ]¤Jå3ù›dD<8a ™`ÐÖÆG5«:E€åŸ‰–%m*!ÂjŸ…Òóo‚š-¤~Är%%g^<EúŸúÈ‘ çw€+ €k!ûˆDnÏí³°ûV²ÀQR¶F“¡ÜßÌ}ÁÝÛ„8Îǧ{Zt7×+p ³ÒrvÛˈ»>Y›pѪœ·½l‹¤b¾@éDý:síú¼³hpÌþün}¦Þ“#âH«¯Õø¤ŸQ¨w%> FsÄDñǞĉ÷í¡ÐTelŒ¥8Ú†"Øx?±Ë¿++”»ªÛ3xIÛÓÊ‹€øx½Xó5ÄÃ!]í~¸·ë'Ñå%£øV„a´ë© ºTW+¿ã©tbY}¶"*nߩݹͼ H*Ó×ÚOëük*GB,¼‚–ñÄ‚š!û8šíupпO(Ø»üÔÍñH§ ®q‹øeXba¸ƒ²ðÛ@Wõ0qáòÙºYÑã!=Wdd’ÝB‹î5Û©zz'³® ß›–pæ‹3\±B¸ƒSj‡rûγuç$§%£Fo}á0PèPBÚkHÈ—a÷Ïæ-F…Rdz9$çÐþ[ÅÚ_šÆžÄð*,­Ü…} ×<à͆gã|GGÀ5 Û¡(ëjûÓý¶ãwðÁ.U ëKeöÁ ô£!eÒS²g£ÃT¢ÓûólÙ‹è…èÏ¥àúKg$ u2Bù—A½ŸÏrò•žó°ª] BÕà6 C¦¿wµ4–aåÅ€ið’"Ö8LX®ÍrÒg¹é·‚nˆ©/T… õ{0ö÷ L~3Iþu`bab 8“Ý,Þn©$Úëm v@À‘)Á‘ ód·œó/ƒšÓ߀C yi Ì¢ …´Øù’:¹OPaUn¸Å°UsZ_é…W¦­ƒ¼G^*Á=ª{Á›—‹OsúÓ+Ãh>ûFN1ƒþpð2AÛ w)ò>¨È5ø#GKã‹W ,Sº½.­›ªÇ„ 5ý ª¶5‰ ­®ØHÈé_ÚT“°—P,ákPŸ2S mH!äé`©CsºÀáA"4%|ßê»ÁÕkgÜO[@F±&ÇjǹjJ#ågSÂÜuó ¨ˆ\ñþŒŸ,ðˆAùöŠâÀæ±Å|dbœT"Άù˜G‰±èæ“CN1ß1¹2…X‹dýwæß Mm·£JühŒ„Íj*ÉâÓúã‹•üà2%3Sö··Èt;_gƒ­Ì-9Ü4ðë¡UËYn+xAx]ªnÒˆÕϼðCÐS°NåÁrhÍxÿWŒÁ€‡Qè“üj ÙSä®ã˜Z÷Üíq¦ÏnE4Û óºá¯Å"4ƒÐôNˆ5öܧ½ tS·f-àèïÉÙxpPÁ;HINéQéõoKEÎû®â&#ûʨ´ÌIÊ»z]RŸ´Íñ þÀ¹…é-sbì–Þ³»õ¬=?\qòË:v½Ðº²•…w9gz“ôk‚ÎáaäÜqÿ•ð†*Ö„ƒ@ë>_µb–^š@å¼Ô¾ìˆØ×&ñv  {ye°‘ÓšKŽr‘p |øq/·ÈäŒ4‹³N°,„r¤nÛzˆ9Àô5É‘> ¬éèÙÀg¼[s\Ö˜?<…ºD pÆ)ó[‰µñúp#»ÝÛGoèô­õI˜Ì‘&}»˜JM¶àCeõܳNq^ˆþÃËß} e=Ö’Õ[A7‘Xú‰ÝçXÚuQý+á÷ :a\ äˆØ ŸÉ„}§ÿO7¸znƒ•Ò ®AäÀ.¨a!ž¬Ö_N•ŒyÉî^T_k[òéAuìn·x. 7ŒÁõa‹R8õ_ŒT`9œ/{ J”ú—á;&k|CqÃlN®/­4AæGNŒÊðxŠÏ)B·e ³º±ôžqøø1ta® ùât¤Õ±ûdŽ™eï(’ÝO²4Y-ÓBµÖ–õ«Ýª^¡úò\2­ÒuÆ]·cÆfLZBâfžï£sÓá &Ï–#‘äA_×eñåZLL·p'äIÐψƒÊ*ÀE”’­Ú²F €G&xSÒ‘Z˜e²™¾ãU†4!F¶A¢˜~͹ŠcÛü.xõý-Ü_ß±©·»Jù[PoûÓóv˜S¤J;˜i>¨Ý™pÚÉÀDB¦R&¹øŸögöS :h·\}αޚŸ'ĈÖ!?*·§‚•èoŒ¶yæçO&0…ÙµXK{[ì&\E•Ø  ðb6ÚjþÓ O •"J‡ãÀ&î$kþŒ âJÏ„íþ=§¡_ཡfN×V)Mž_ç‘h#B]Ìz×ÒW2PTËSp ¿‚ØSZá™ãˆñ¡;ÿʈ$- [NÂÁê/¦*LvÆï(uvai4*¯ž`2­ï‡œ²pæÖà !`‘Á)LžmR˜ŸÌ)1pþ÷уM½&m\›7ÛZ¯¤p0rîU³4ì ±æRÍ8+UÔbÄvzŠN(5-å&uIŽKfb2^KC¥»YÊÅJ•âòŸç‹ ÎÆŠœ4p_ )…Y ? KBúýÈn‡ÏªÜ’OÔæ[Ÿæ“•ÇbmJ±ÕºàD¬ÓÕÿZãB½ß3âȨüg_[dኃ½ÌKì9¤ Ëúå y=WWZÐí4O†Û,óX O¤³óèBšI|­rÔCÎGÐ/´4ãîæŒrÅЈ Ÿa„ëºÛp]´ÓÆ8¬¤µO$ìq5T±í@ƒîš2 ž*¬Î3ÚÓñ„‹" z¨ltÓå7g;ÖY°Îëša-JÎL,ØÖˆ'zíA[凋LŠq¿=AL fÏU½ú¹'ÂP6&"ep²[·Xk=$•ŸèGúïúcE.°¸ë% -ºømY$××ìk{‰ôˆEèHAœ€£\Jws¨>îˆA{ÚU¦žxùq¯WûaJ—ðë;Ú ? –’¬Nø6ÿ²‡©IF[KëÎÃ*–?êaÊhŒê8y\©ä)ynú‰ýNB„eìÞ¦& ñÙbžp}"^|ýÏÂá¶·£¸ë¥oc·dÙ“+PŸ¼Ñ÷P±ñ–øìèq•Ô`ìµW¡…1«~'y¬½€VSpñª6„¸+˜¦¦£#@(Wy=jí(Éê†XˆÏ‚sˆÁ‹³³ðÛ<ËBöõ«Zoß—vl©®þâå5“}ÜøL‹”Ðg\.n¢çÂýœ+Y·=ɠþ‹ÔHÿ†ÅâMW á%Y³"ˆ)­4§®¦R7ÔÖ_N»—Mh/äÅo­à9<‹²„èÆ½•L(õ+ˆLm¹í%ä ÅŒ©³„ÑÞú%7”r8Æ·oåK&³êfûhF޵¥¯¬Ëh!c §¥Ÿâ¾mÇ•€y3/4a²w‡"p7eÚî}ÛÐñÈȘŒ–±w¨”׋TªöÞ9CY•B7"m‰Ñž™Î“8fÉf”§?Ü»;(´“°v¨¹ ½¸Ù´| 7£O”PndÕ”qÐç¾þûÿŽ” WM³r–Ãð]ÑN|&HŠ0Âmù~°Ç”ÆZè÷_´÷ Ù¹H÷ì\t__xn'¼¾|­‡"Çf†£­ÞÅzNþâYà\ΓnelŽ’Y䲊¤1¤¨¿ ž¡ƒ>±yÄÀª 8î: Š´áŽ7zcû¡ò«×Xaœó‡Ç§g[(ÕAZi'ÖJÅ;ˆÙqpº?>·­Âi=óEžTT©#íÿœóÔðé­øjlÉývù"Péøÿæ¸ì#ž¡ÆSƒÇÏWÜv}ˆ?>Âq žQŸ÷0R%>›w5ß;:º0›×îyÜÜ/Cͦ4Ôž´\ØÎʯƪ,è'+_-®W0lLHËuô ¹ÄÂ÷ÌãðÓ É†Ì¦îY·>…‰^¸‚ d-ŽŒƒÝáò>ˆŽÐZuÜ JÀ%ÎxÌëÛ-#ÿÞ¬ÆÖ -;}Ù¸qE·'ÊÒã¢ZÎ{V‹í¼Æ±Ÿê±ë›ãì›wàÊ>¿ºtÀµUuœ q¹ÓéjÎ œÿâKUbŒ¼n9ï§)ž(<%[þŠÙ"Ò¥À¿vkfCÌ+#çòQ.ÿÊÀy<%'iæGü:™þj=_&ô³˜?4ðTtO>Å6UkpÞdª;\¡ÁÆà ¤ÉNͽ§;ºÕ¢9º3aÊtzÆžQÅp†P‰C™›m¡+ømon&0·)Èîq˜|c”÷öŽ¡á²3b|ÎN š1cßùþ5PèCÑøôs ÁÏNΰqå£÷¾+–±|ò$&vî=ë‡3í§&¼À"o¿þ.´î -t”Z ز†ƒ©1N›|hÛ.~¤AÌYÂ_A=¶lc ‡ù€m½Ó èü!'F»æâQMj4Q—:¶rPU¨áñ&¾Ï´†+n…#ŽŸZç½y~‹W ­£ã($ 7ár¬mÌÌyU¹ä,=b·6ö!ÿÙC~nx‡ÇfÂg¥ÄøäáÛ¼æW‡Ï#¸5=êü¶›tÒêÚp8: ‘šq¹;?B4Þ£'âDw×ü#pp0Hveæ• É1bÜOó“ûÀ{‚YáµZ¨ùˆlË3Ê+î3Ô¡|ï¥`e÷ðz#Ëx@¯ ÖUw™+“ª5"šQ¬Ái´ve?%㘕¨©Wü™~o˜Þ£¶8؋ڴƒñµ•üq-’Àˆ×y5}ò>ÇJ Uÿ #¾Ädz¾xj™Ç-ùÚ·Îót"YjQ of¼£$‹Nwòr_˜Dš²O6¼ä&ã\š;åÔa7’2h܉—®ô‘°AB¹X²U¼îŽË$mÂÐÁ#½šË†¢›Ò@á䯚ÆÎWž éC% ~Â+Ú}SáøL@“þ]ü¼¤Võ´ü¡]c÷UÑpy¹ÐlàÔsÃ2uû¹wΠM¤/sq\ ª ’8_oÙèif-K3iÔçrËÕ»˜„Fx «˜5@6»«óBȒ梮РLÿí×`Ò&#gûF€>[ûVwIF*o‘DQñÈ•豃y¡” Åɉ6ÕgPûƒjiÑ,‹þüžO%[tRá$Ôià“vKBy›(¨ß 0½6BæzæŽt´÷¶Juš¤ƒ%êÏ*ôìI@Ñ®ËÌ0é4-+O"9d Ì#¯æ ýÛãy–xÈá%.ùØ<`Ž(%öqI›:¸ˆm)uaºº Œ­PÈÅŸR Í+ksd²Yðü)óù¦]—ÙkOx¿«èŒ}}½hÏá¤"*{h¹º,cÖíØúÅae»ðÔÞœ %ÉØø gÇVUù³ž\Ñmñ™dïÃÑ©–ÚÑXî,‰ë2;:ò™ëuÇ^b·mO–døØöTSwwB«žuþ«sÃv ݶ™2±¿¦ÉdˆÈîöQ¸´é.Ù—¨Â#ˆùÍ‘ÅeÄa[³ÅÓ7k!;|=@ÒK‚Áq™õeß.ù.Š6B~æ(ž°* I&àÍhó¼ÛC ŒéévØÚÆaÔ „ο•–b6ÆLµY©d6ǑܠéËÊrýޱ₶h¶‰øO úݱÚ°=ÈVl¾å>iãǯ†ÕVœŠ­/ªàœhF–ûvÅh§Œ©Ò?®p¦ vkßb©G„y/F׉„A|Õgǫ毌HÌè§î‹FB›H˜ç+y:{nµÛ‡À—æi^¸Åžøbjê ôXóåz“ïS¡¶Ü—ÞÀxî€f¿Uf” –t ª’EWë*þ÷|û˜ø´1P¾˜Å/qZÕ¡ÍD‡v –ʯQ-¹~ežêÏ¡[w^jJòØ^%O¤¬i,ÝA€`ýÐ6û(G“*ã à*x•Ôr'v!®Tó„…ÆœoX‚úÜ…‘¦®½¢½xÀó3_Ž x s {$2U“¿ _¾Y·¤Ó]s®¾´ÁÓâ:‹4Ò•uYI€Ã¶¥Lo+~8ÜçVÜ ÷BÒ÷|‚ŠE\IrYkéšÛ]óïü Ï`bnH2^€íÃrŠ—-g»~øŒZh,],Ø6Ýßf}|1ËÎÆÕšÆÚ˜aÄíÛ›ª°wšTÿÍ:جâ°+¥s¼áHnäñD”ÅÈgZ¹{«Õ/Ëš ´Q‚kv_š¹úw»–³5K‹ r úgdÔ"¦Å¦®•*mZxFs¾Û€Æ LÕ}åUæÆäþ1uÓѧ3Þ·y债9¡ê~habs³9ˆ^@F2BEðˆDþ<¤¹ÁÈÞ ¸ 37³²ð.È¥!µ{!3×? j£ôÞÀwæ¢âûOÌ•Býwä"Ã9©ž#ÒX‘(`©µA°„y¿L’œÄ øQ‚Lëc°$[ÂOˆÖM¯iØœ¨-Ú¾6 b¡œù&‚ˆ&߸ûpP3F¥‡sÃ"ÅYáÒ‚V!…Ýñ¡bÙ3Í Ñî‡ç‹(cÊZvBñc*CW "ë䇛ë è³³¹Ë™Ø~Ï Ad_"ùÉ3›ð$G˜ƒC¨D/CŒ ó[¿òYó"û›8˧¹P⇡IM¯˜–àÎï??q3Ã|ô|t£'OëÇX=?”P¯TAßq–J{N}㨤٨ñÚòžª½õ•¯ßqÄ3KÄBоøÊÑhZþsk\;î ©Ð¦è5Zõ–mžÀ”FH‡\n¨J_ÜðõïÊh gÿx ô:òìκײ@=Ñq¦JUJ0›"¨wODºcÜŸ‘!Ô×9×Ç7õ…¤#ÃØq=s÷®œ¯Xñd¼´“Q ‹åÚÄzŠ\IͶfïmýO”‚;·He^l`+¹(©”ôíq"8Îf ¥C•bºÞo¼G*äÛ”‚,ûˆ’¥“”U¸¡ÓÇåbaAðo˜”VÊ–fϡႸög9}KŸù¢ùE?›BV¶«fØGd_‰½uâ0Å{ÃÑ_ššé^éiréEÀHH»J|¥žóÑÌŸ4Ù˜N=éª^¸;Š,-ÐÍgÀQÉán¦&Ùu‘+žáq˳âvu ¢ÓÔ’P(ÄðëF˵® ÑÍ™”Þ¬Gçð¥' ‡Ç6î ½J L€HKí!ã¿íQJHÂå"IYòôX§ÂÆ<”> • ˜Z*'0å¬}¸ÎßL‚äšðQàøxŠ­[¨´·S×]lJÙ×ÎdI ÀO:4 ¥W …ìÍÛÀX䥠˜Ñ ¿1ÙÕëq•’bÌr‹J°Àà6ù¼îþM-òâb’“œ.CÅø±bWå°ŒaÌSˆ¡ºúßæ:ÜjïškŠÚrhZñTÛ?9ôò,JO;£UØê‡$_×íáÆ6ƒÎû‰-Çqh¥Id.Ä^ܱ;M÷ç´‰ßrZµ£¾n£8å ²Ï‚x¿[ðóFðÕÁ>åXHí}x~T@.lDZXêý÷’˧Û D§t$;\…Ëž5n¦Œ”£ìRìÎl$çv¾§V h-…½ ´ÊbNAÍ‘gœüøä¡ßKWS'n˜‡t>¬{ 7“xðLÉI ö*Õs @ót4B‚‡“À\ ›ø3Žb¢£ÔrBØ¡]VKL­t˜†Â¯é`‡îN¢Ô –äOA ¹p¹ù볿^F|h’ý©DRJKÂz„ŸÀ³zɃV©Ÿ–b¿Êîô7SAЃôqòÇf }Ùª®%œc7rñ³ŽbMßÏÿHÆ7à(>õ÷2l9‹üÙÁجea`Êýé„0ø¡Èê€Üo¸)ÆÔL•ÏËUC‘©íïÅ/[J°Od3~ѵÃñìY|æÚ1,„ò¢*Ó ÎJu¼ÝÅæ;Œaò@¼ž|¾¥â²,¹M ljì Sl!´.ÛÒ}W› ÿ ‹Rä1&3W8¬>€6!Ÿš?9xª01,á²N·‚ìŒÉKm aþK¼ùSM¶_¹üݳº¡Ýxñ‡éi³0 °ímw Ô”ÞÛ]‹òúñzWÎ>@3fc–Ž`\Ò <¹i§xjzÛÒ†0oT%“Ïý2çÖ6uظŸÕ›NwG[x-e‘îÕ›a0@¬L™ÙzÍ9Ÿ ʹ §»¸À§Y*RP¹wI:ÝØÍmD¸Ê|ÐìY¨·ÿ×÷½Hv¸?ÞŇ*¿™»F„Ý8JQ?ŸƒâèªÃÔ‹\  ÛCMÙC@Û÷>h`Ùv_7pÝ’N ^‰q9ÔwÇ\z<)ñEÌeb¦Ċ¡¹|wz-ŽˆÓx©´Í½£[®š#㢗ղ˜'ŽT“_ÄI픊­]ß /&¹ 1c_¾{sQ;XVî!ÐûZ±§Ò‚ÁWô€ÙUcPIÐÚÀN®KÇetË©Yˆìi€lû¨(`ù¢™!¦R™ŸŠÐú¿UB©¬^ƒ5 €Þ/ž¾!Lò·^Y{x“ëéÒª°"è ½è¸ K…D‚Ÿ…;†ñµY¿ÖЃ6 ™FNÒ&ðJýIΣÄûû3ºû%ÛªæQ¿ j ØÀJIaíìSØ?;¿7uÆ¡#¥†õèÝéǺˆûTù‡ÞçäK[a“ü<îâ¢Ig * ( ÃЖ½z¯‡TógS,²Æ!NDðõ’xð«h„p4!ZÃÖÐo§vj|Dd½¤”RŒùe“—õV\þ%q_YÝ܃ñu ku UÖJcìɉíUHNì„;šåGôÝS»æ í ¦güO°zK!Ï3Ô}¦ºã"#)H,ÇȪ - #ÏŪTôÊÐ…t›ÐÅéÑ£»ÊŽg<4À­O‹Hvi`Q2H¿üH¨”ƒæI×ú§þ½Q9ídúZ°¶R²ÕÙ;ÕuuFž£˜q´þA"g^îÜâúgnbþú3.ˆçæ·nÖPÝ ›èò=óƒ­ô¹ŠÛ‘‚¢¦ÕÕ;³žÚKªe÷Mÿiêvʸkª;‘CuͨÝIKÃLEíöƒCÆBBVº**òNS,…Jû £9!ß&Ôïe}ϵˆ–¼Ïâw üoí:b¶c[W ··ÙRpÞ9Op˜#USª_X£¸§§À}žæ+}…ˆžu‰$‹ÿ²‡Ð5©E›óè È$)I¶f‚ '“¹/0 Ñ·P‚ú!èû3³YÇEóBV½JA û»éðKc‰ñ¼Vm- Ý1W_N%l ÌJjpðÕÉj5Cö.÷½w*SŽLë/Ÿb¿©l%iöwý_3Ú\KóFö,'×#uÔ ðS…U¡ÔXO^DdÈÖ+È=–aËYµŸ´`ö€ðiHu™å†pùSÌÊSMµ¸ÜWu?µß‘þ÷%ÒÞ¥¶‹Öf÷¹“eìýJ8dtöãÙ+œ0!ˆ;˜Å/-Zp9>Ó¼K„û‘™ù!§WN‹¸D¶ý÷8󕟪ï#ö,†žãnß‘›U&tû†¶_ÿþÙ¡F$¼÷‡½&ª¼S·Àˆðg¦/GÂDZߨ_‘£Ol@¼ÃÛ[s”´­L3q„•R¤²v:øW¸jýއŸÝ=3,p`YRè1BÛo%!ÙÖð»y¶¹Ò:·ê¸‹@°šTxÁ’˱e(ÑoV1žbÁÕ¿Ñ•ð‹´0ú$p“7©±Y1k§ôd@lM'+íï—_4m\«”¼Öt `"Ghfyvüž©‘sf¤~¶cH‘WLÂÚ‰§ßãKF–¸ö½Ž*)ñ *:R“=¦z!ÊêºD¶*DQœâ2§é%[eDuËC2 P 5ßôœMÜñ$À=%0h{PøqCà™ÓN•GnUn»€i©E3¦º·M§Iªžü n3]ÏÈëœ6™Ñú.‹q~¬™„™ËÄjã{µ("€¦2#»(L¨û€`ÄuCkw]Ï¢^*úˆ-j}LsD‹–»\ãбÃ-)îÙ^U;dûwI&'$Ųˆ¨{¿Íh½CÑÿ$†j*^¨ŠÁ„)€péþóHe\1`$¤™Å€J_BÈCçãøT¤(ôµRÝoµË¢"'k<ÝÈøË@‰†¾wêe@ŸÖtêrÒ@=ø¬™°¾RR„týâNÔÌï%B¦¾F豉žò.ƒ«:Óy_·ŒjNCMÜãŽMëOÊÛðñ·7NO£æV©’ž°Ç˜³û5h¹¹—šÓ†ÛˆMŒdƒ!æßÓ–ˆ3Í®îrxe;d ï7àp?‘÷OZVN*JÕS™áâ‹Xæì= ˜""[]2Ù%ž¸J&"y±šqG¼(T˜Õ‡˜qÁ”rìiâ:ÏÕÁÂ7¶Í‘½¿ B×ÛÅŠh?ª4¢va'Hr•ÎùW¼N³KÏ#ÓR®¡Ú&Þm-Ýn™è™ˆž"V¹3ÌÉiTÚÞ®ŒQ|³ VH ÉÔýCOðmg«Óè¢Ð’".û­ ?›<÷(Zènµúà ™“±é]ÅÊ1,pž¤ÐÄm–Š“"y§k±Ki-Ïp®¸ËÃ×Ï’DVßÍ SÙT}RKŽV% £îÀD‘¼LÿÅE›t–‘É'˜§Võ¬;ñíçæŒ”âŸöÞl³_¥šë!ͦX†l›Æë~+ùV–È„õ6ÅØœ<2i a¹çø O>Jâï¡›ý‰C”…´Â…n_?‡['¶|ÜØ€W…Mråêô·ømœÿRÉ׈m/HŠñ©aÉL-z ð]Ú¬~êÆåàÊÊÓ®f‡ ƒEp§D‹Ò*O-×h˜‡ÿ+SúZ)ìæœÎæ–·ÞŽÑ)@îuücwËkV²]êâà~Ã\¬7X8/ï¬Ñ+øÀ.§®4Ä]V  ì,Ævzáš„%ÙÃÕæ¾ÿ2P!cS9—ùÓÝØà`%Ån”¢Áí ¿éŠî-#‰Nwq­§=‚÷=Ä)£s/þÄi¤5Qöm9ac3™ÈöŠ1. ¢JÚ &µ/¯sqäòææ§f‡*À÷ï§‘{ÇxTI«‘ hèWàâU$š4h¯Š°3kfüÓTÓJú)‹Eù6Ûl,W÷LóRŽÖíÞØ÷UšdµÃF'SüÁ/rZétÒ¤´–Ž¿Ê+ãœ}-ð¦ää*ràRdw;ÉÂðç°ªI`ûU{D!ÛÞ[æ5>Y€fŸPcêÓ߉ŠfN€‰ôwJ³ˆK¨[ûsj]b²;¯_'‘‚ÚèéX¬|N;×’5 ˆwx76’[jô¦0é ¦EòÜpÓu¿¡Ð©—¯´ºU¿M@;˜FüÆ›2N¢bH°\>/Y$±’O¨½_í´‚RÅ̬÷wžmtìR5Q‚sú~n2C`ýÛt]Â+ßy‰Zë,BÖÂÕft ½ª2oR†[A=g" ‹gWõ„ÿ9ô¬,rÞ±1½ˆiêþãvNk߈âW{,žFÐl)ô‰âÕ­êéÐ3_¤Ë¸ðšpìÜ/ÛPºr'ª?é1N© Iƒü>×Õ+ÌoZŸ4ܦU·rÁ¥ƒG#T ÍvùØëñÒ€ ƒ·"ÌL¿ï!9}óèýúÄnæà²]>ÕSp— ô!OT•!ƒA}1• ×ÝÓš-ö.Ì5Mîã&µCd•ÆBÕ;ûë*2ág꽊QE&sQf ³£l»u‹qüa‹¢ªKÛtô7ÍH@ªdñ4å™åÃñ¨#x?_U,=Y?N 1$¡x"u’Ý ¤žH&ä!ˆä€¤÷ú¿ò6>ir8Îð‘Ûæ5º×NlPHùÆÍ(A“ÎwüxΩiyÞÎ6£¿9ÓÎ0ÃÇÌUt+ß¶¹a ×(#ßf-ò/úÅyr´µ'5½£~^íkUËó0.¡rÆ 2˜ Ò|ÂƯžLªñÑÚŸ@.Þ*0Œ2±Æb`.ÃÚ¯¢É&·´Y4‰ìǯ'iE’çsA‰ÝeÌŠtľºëgšÀùk·‰òóêjÝdÑe¬Å~Â¥™Ð o~Ùk]¥8 êï0¬!À¡¢‰qÔïFÙ¹ñ`:žàé>LjA¾së|ƒEÝaTÙpå6Çôøœ¼ 7FŒ@¾¸øI\©H‡19Ñí2`:IóEÛã-b€4ùè¤ËafíÛB‰fˆ0 æê'lhþõyRë5 FqHbˆåvoÏÛt¤à6I @#—9ºVþÊIÎEëŸü`ü=¸°Ïš¾hR0lîÇ…3~/e}ô›Ý Ç1¹GõV—lÝu Çc>Õ½¹ÙÆðP´”™§$B ù¶¶_ê¡þä¢Cd¢i7š©Ð2ÿ_™VëG ä«I®ÅhØwð@ê„7UL·ÖíÕN\:¸¸z°„:$?’ê·J`Öß'«ŸÖóYW^ê/4R+èÖs¦Jé:&m…ÚÕeÍ'Ž.Õ¼ ^0¦K¿ 2tÝx!QÈ{ÌX×–U³1—Má‡Â¹ææ‰6î³à1Mš¦¶R½n³,«¢?'²X)jÎ {™Ã@‹;ÔkQ«ð¾VÚ?œ’@ †_è\Hj\ùm’@…'¸d—uEÚ-ÔÐØŸð±P⩃N¤6;„‚û%=­)þ‹ÏE$“ûsz ÞÜ¡(.·ê@ãJær¬Â¡¡<´Mr;òž¢ê Å¡äÑhK™ô*›\hkû0ænʹúÓð¤6Ö¸úe‹|ãÑAµ¶PºôJhöêNoXy?žÌó©/Þ-5ðb²0Žýëé~åñ†ö¹ÿ$9Œ™Æ³ ÉÀLh_IpLH ¨X½«E¸À%Æ|V¡šQ…^H½ù5ñ4ÛLú=m¸î#>üs_ýmMßK÷üº€}‡¶hg†ÚMú]…žËVNí ÐM?i›ós¨åQ,ßw?•4„|­­¹zôŠÚ>瑱†¼ *Ñ¥0ÿ]‡ã}bÔßa(ôbq1Hæj./ŒR­îµ¿­Ê¯-‰g¹¯èþ30ÍSÕ ºâ8·™ÚÌ^·:ÿÆ@A-ü/:a´»·?ŒÌà ¼Y£å¯Wp<Ÿc‡•‹nr±•Wú’«rrÎ,ñj4»øBò ‡hƒU o™rêŸî|_n‡½aSàòþŽç RFNh¬N>ûf]¢5°ãê”R\õǬ†jÐ6ITbKøš œ,lÒø>,…4Bm›[\÷ ò×n½Œ‰œÝ3;Éè·€o~½+Ý”|ΰÝ~ŽK$ëGhø?^Ÿë’çF'T&Ôc²5Ç~›ÃM ]+D¡€ïÛâ¾k­‘Oè8\ƒË¢ÿÔÀ`p‚M‚‚, ÎËA'ÑN*ìü÷S¡XÔ6›BÚ¢{’µ³Ïvu+Tüíü åMrqî&DÉ ¬A&@ú²kªÁˆÓìQAë˜Â–¡:¶Ì½øn•fÍñÛ†©P¡¸ [œïž*Ï=;¶' ðÐ4 p[ôW‰™'Çi­±^×EìîÆÏ¾T°ÞÒ³èv[*“·ffÙPx&Ëqë]€v9a¢°3Ÿ[±Ê#Ð\yŸqnˆ‡[-EMÌÃKÍPør `‡›¡×\\wY]i\Æ¡©ñ±Ž>Ïþ‚÷>È ~¥ä›HD7€/”Uñ»ßóEÿ•ªÛÒH0æÅ{£aÏd¸1¹ôÈòi/6^t~Ð\Š_LÍ›_Œ<óú ó^9füÇ.úÍŠ ïw ˜†–ÿéé-=:¼iv)îtÑäÒ´°Ð­À~q¿§bdøÀ— >õÿ­§S"-Ìß PEÆÊøÿæ¶ÂÚÁ.”Iúhe”ñçJA&°Ù€&]g] #J 41ïƒ 9aT0©ÑCt,d!õ|Öm€"@Æiò{íì=õ»tŸ‹;Z.súVÀœá{(0(óç~êŽú4ùÎÝ·cÒ`úY}ŽŸ>;¥™ø½‘éùæÎöö´ÌæPó±3)*ßÕ´l”쨌Só]awiu/—yЬÌK ¼,j¸ïh¥l¢hØQÑ=Ï)Yâ>± S÷ÎúÈï°rÏhm̬G•0cŒç= ùÊžæN>¨Žé« $Òóå—z¢!îÊG4”TO¾#‘¨ºÆýª_9í>û/€ ¡íãpf×ÞJŒT`À9 È$Çà€>0ĨˎL!É—¥øLÝÉ-<Õm¨&ÖæI,5[ôÜl€¦,_9…S)ÑmLÄ8·N²³©"K–_~8Ýuœ¾ˆ<çcXöŠd›o]‰&ó¡ Š ,my™H¯Çd7LjH½Ñ¤¤-æ~ ­¿žÍ.Ýâ“b;åÄâhLÁÓhš3 ©Ð¼˜}F9H[¢ þîéIäjõ—Aå6¡,•4í•Lû¢uþÙèÙâ3uçg´}û[ánO*Ë~2¥¬¸¸õ£z/àW©•ké7™± >€åƒÅÌp­ÜV,í|—…•;÷ÃS¹Y$L¸ƒÊš£ÒJyþ¼*ï_ŠìÖäÝ·ŸjcÚrøÝ9ÉÄØÆÈ€‡>¾øi=_^ (’éOè–Û&sÌÖ^è/6s70òØR\­MàârüSÁ°’ZìЇ_É—æ#Cw±HÈiíÎz­<ÈÁ$ŠÈèóSÚ'u×WÊÄŒŽ{‡€5pH|”jÃýøA6™| Ù*ïz<~€Fyãæm ~ŒNk—n•I·í/ ¤a6>¨;0Îê ß^@\Öx{k¸¥¦8)åuêjµãrüé^ôw„`r%¦º¡× Ìë‚a¦^6zªòx¦÷‰¹ÿþ?"{Gìj@ÀrÝÆ”ø®Û!ñh@âP†«ùûßÄ'kÖFs¤-~f=–xÆÿÀèéÖûr°Í XX2îHÔÝ7<ЪŽWW>Œè®9÷¼j6ÃÅZÁù`(¨ä ±È,±¡C1jlZZ9€Œü¶Y5¶™Š½Hˆõ—y•À\¾{À˜À{ß LDW›ËÂýÚÑl6.ç/öHF¨E·o9„®Ç’–.΢$z©!gtTØ '~$ãd^)hñP#´k¿¨Ç÷*ÖìcÅÙ×¶Ët¾óçíŵP¼”¾›üÑUôÉIÞx³« Ky_5ËE/G®õßw›ÜnwÔ’’`lÑo¬sYÔÕù·†—þµ’zðìÒû Z½¸”HäÆö:Ò]QóðVK¬¹ÃÃ…þÑ:1ue}% ¢ÞÁSDƾ^%¿æ`MoK4àDëvvç+gšºl•ø Ûd2½9<ÖàÜ<æ/¡`~˜ðÃ|'εB‰hB.¨ žKp7Ÿ_à0Oùnõå=-A,¨õŠþ×fg;&$s"~¡˜1÷Aˆ1Ÿ™l·jFe:ÿ%VWýӠЮÂM?Š@QzÕ„öÙªP·DïëÜ?̾cœ‚¼'*iH`þСCöùëZE¼¼“˜¬&x¦?À ˆ%)r¢zS1îlú‹vV›ˆU;SÈ1膱h÷á…ŠØÓ…’ZûKxV`À8_<1(ÿýVÒYa–Rz¿§4Ô߇¾•%Í4f|º’3ÐÞcRÃ;MHžÀÌT×(€µ¦ø—ÌHîþr_µ¾•?‰+ÅÏÙdb¼Ì=ðî>'‰ ¥ .þx»œCü£S šH€™_º¶ñ@p©ºïÿZLÍTžÊu²>Qh» }ƒR„LÑèIà~…·†V$XÄÔé&$»N2ÉáÒ£g„ÝÍX2Hý¼,܃'HX HžºÈ€¨½Ò|?F§n‡3*¦{Ú 'åvw\ûNqú¯Í£Úû?A‘ƒ¹O™%¦ºðûÉÝ„ÜnO¹ÔÞ1§hT’¹U¾üäÄ'ÆæŒÐuµˆ z¶¸Õ”ÖÜ“¨‚‰¼O•’ßF¤U¤œió ³+¥[úÙ8œ’¤dwQö†¹¥ê1ÛŒ•@E 7)K·x¦ÍéM÷´ÈzOŒŠ¼)’þB5“5‡Æ˜–‹¡¤°Â(Öè-϶”gµͯ;ì.€:M§ôx7Ðe`ˆF‚”+§1#"#­ŽØWøíج/z8 ÇáT]Y¦ÆŒ{ZkH;kŒð|•xoêðõ°™¹â/‚ÁÈ¡&§ÍÉ̳³ÎÖdxs­š0wMº $¾Žž²jϸÞÞ÷†O_!³$NÁpZÍ1•Æý#: «¡BÁQÕ"—ÝvŽ®$»2^ÓNpìëǪ»zm›í¥ÝSW"\,M''E?šïm’Bè+ÞÙ%~2Ч§àŽKkûÔ*83>y‹Ébì*’#UÄ'è1£ÞK#LW:á„÷pYLWg2v£GÏ·ž³âÅŽÔ;5@±§c "x‘o–Px†Ùy¤J°Àw=9;mWƒ[AxÓ×ÖCµZ1š†¡2UØû™ØñiaÁ¹ÄAÚj±¤çËáB¯i•ál+ñÎ{1ió¨yÞ‚RQ2?o<²Ø[Šl`*)ÜDíV ¾€áz‹›d¬Â¼ äoÕÄdF‡ õX6ñ.¹H°‹Úk¦Å‡:¢KFNH‘,oíVº2šnŠ_îÑ­×tÎÙï‰ÚM¾Œ îlv7½ì¯Ê’›²8n¦WZº_ÿXp—õPF˰’ÚåÎM=WcêÊØHQ[a»Sۓ漦'¨f’ÈçJœÚ¾M¸(ß̓Çê7»ÐfG0÷&(¯ï¶žÔÆ3߯õe¨ØKÏ»¯ºY!öILNÄú…*¶±&höãñ~RF‘KaŸ#tªfføïEî&­\Œ¸«ÝUã¤Z÷¥Þ ˆ¦4cƒCÖ{nÀ©½7lšÐÐ×µØEÌQL~ð°šS°Œ¯¤à” %‹‡ÔÊ㣡*8¯í“‰ç_»ïog2^S~î÷˜ #k3˜µQ;khFí× ;Ýž*•ÄƆæ_S2VåpİÐÕ6¹q£¦©'§QIn;£ßp]ríŸä–iÅzVêp1dÝú]W¬O³m†öýÉ0åL¸ö[fª )Ùrò™3]Ñù:ký$–r©JŒ©#¤5PÖuvW–Àþ «¬AWÞWUoj˜PŽ’øÒÆBKr ¿ú‹«¿l©Žåƒ8\ ¨¨q¹xffÞò½ûQ‡i´(yVÁ¼kƒ¤Ç€1{»—]º™ò4.Ïè@l>Bª#­}P–ò1Í `3A(p””í3A¬‡M[ I Ý8 ôDZúXÀwºÆDHóë1Ô"ïK’šRÉ\°(p÷‚ùõ¤€ä»¥oPï´lúV˜2<Àý‚YÍyæ9?žîÿ3©áÐÝn3„Çgùè°Ï¸®Ì<Í›ÎÛÕégáC/f1mkŒo£%Oô0!&"¯Sva]÷¸Ô_.óËÒ§HË–¾Í*¢š·(ƒ}Ϩ´E `Yg/rðy`àÁ=t²þ ‰:ë¿ÄÅ~Å)!}ŽKžçÈ-"WÃß®ÇÏ®™šb’ÿpa†MÀåŽÜÖ\Dc7#Ì™†«ÔŠní÷¢®£Ã"PôG ^pÂ1½Å$wVÏfàfWn[¦o÷‰ö] ©Ý ,Òõ¤%¿ž2+ÑL›'¾«¯]JÖ¿Üù<˜$ÃÙi¡†P«ù¨EÈÝ6oiíE‚ý,D¼uÉÏ ¦½Ù×"äNç©êêoÈŸ-I(ø®ÅŠýàëyv‡•–ùÓª)Áã®Ró'{tbl.¯™¤dñ !gY+ÔìBÛ¥®™Vù—c6ÄvŸSÿ™‰.ö†ôêÐ"ÜA¥·qQW¹fÖDÁq<"Ïáš«y ¢Å¿ë¥2µ2ð×y¤]¥Uz¥bø:0’¿[gÀ‚¶1|û¯éMw¾KÓ–pÁÓ¦Ó.5¬ yNÈ4K­†:™ÐõB"Ø1âƒXá‹6²^5c › ܤ½ó˜8¯òyúøEè$ÛÙ3²jߤµÈ™i§Æ„ŸuÃiÎy&lP:œ¸Øt™4¦ú¬Ãx*÷ˆâȘþ‹Ç'‚†ÂKn™Ä³bŒ̰*¯ÝçÔ×Þ€¶YõIV¬ßçRrÚr vÕÞ0FÙ–F;ñ„–ÔÝ—§iÏ-ðF«´QÖb{,R-5¹‹¨>eXå®Ýo˜Š^Ò Æ‚ú³Ê‚ÎåÀÍÎó,ÉBn_cm˜]#o]„f—‹¶òò%«ü nï¨äj€êyôÌÒ2,àÂù†E.ãäsÏõ*šC=e¢²ŽÚÜȲ׃Ï83NÂjÒ+UBU•äÍ2ḢRD"± ã5ûG×;XËGâcäg«-4bø Ĭ‘žÀ›Ç.‡ú6þ…¢ñ'gùc«¹’$¼§œu^ wÂf©¹z˜/zÐR‘6¸Y'§“)=×Ý„Ú3¿AG:þÙ·7ò¨;›A±xœåvÌvŸ>Z¢=ÝßúÞS¬uˆü#ê#Ì«¨)‡}ò°è6?©òÞÆ§’kÓp r=hT4¬žÞï葹FØi‰mWÓV4¸÷ËĦ&¨H Ü!)}V3ˤž¶½=«:.âÞ›¥CZ‘«•±'u±75Z†ùBrÙóð[ÃÑ×Àpþ#öuˇpÃY(à°ß{].y¹~jy¿p[ÒwðÛTmhl…‘0¬žðÕIæú¤c¸,^_]V-±äRZ›u)Øe2§œ>´—!»Hz'¹†•‡Æž·ºð7ebŠ'é;êRstË8 ½m)hW¡AÆõxx.» AâG7†ü#7’æí<¥ÙÒ¬ÆÏª;KÈÙ{²x­íIóèÑ›çnrY1¢@pÒ3ÝýË)ŒVØÎ:Œ7•6‘+'†çÖÜ— Rm¹á#ïÂÜU·önlKvêæÍb“‹ytGgóQ!vPæŸê\â ‘ìWø¦£ »3+Šò&PZ—ÔZõÞ·QžœÇL>Ýd–ÜyÙÖ-M+Ì;¨€?Ã{u^m4çÞ- \JI^µ ½„ÿWÀ; '9¥Öï2—£(Ñs£LY~“hg(w62j!¤/’ý]&Tî\/–»I ðDǼح=Ê3:rí>^2D€†­ìÞCÛQ‹'©ÔÉ3Vñ» ¼_eñø/w½˜u×3ÇW›7MŒWÆj–-…öXÝÝ}ú÷–X¼±ûë;éPšxz$;”êLÉÙYùµÇÛ*A½èk; q>=×´\Yµáçaðׇߌþ²°B¼6mR^ö$ÿ#*ã^÷,Ú7…qÄÍ9¿ÊD7¤·Ó3Šf!€©¿îVùÆ*53dÙÖ‰ƒ x¥~oÐR´Xæ?|ŠHÐ ÁlXt­‹’S¤sã4‘–c®5\dçt`ßHç‡Ú©ôÜ× î¯¶9ê-|o˜’LPïÆå6Àµ”âpÝlNNGðß)Í9ë–¦œ×/„üiW¬Ô›Nk|Äï­ï&5ó16ƒi¥3¡X›p>ev¹° ºÓÙËÇg»8-|Úu\è3jªùn2ÿ˽j{òù©Æ·ªe`^J5¬¡bMÿon e6žüÒ[5À ›¨ÞË!t®>)òr¿Ìˆd´mE+-X$–¦IÆSz»'¢ïY›"´<¼4˜Š’Iô‡æ é¸!3'yºâ3¯ùrJL YF©¦(K4û'EºRÖD&Ý·á‘™*.ØÄk¹¹èGˆYÚ’ÕÉÈK]9j¡È8‡°î9L õ4ÃÑ£Ã€ÐØž±7fF­æùiu#³øAçkö›¥Yž}_ ö¤ˆDÂz„/oÆ™ÒÅfbKñÇv˜úÄÈúþ扬_Œà +L^²1fü/j[ïB²üÍ[/ÚòÂ)7c_)¤ãp‹|ÂÙñ³è~«*a›°¹ËEÂÐ*Øql³÷±0:رçãquaÃøUœqóÉž’38JÝ ßí;?DˆFä|~v÷ãIc– ')9\ä”`Öœa5‘uà©ø«ŸÔyÊépܾ¼.ìA)~øi<}ißR8”²·pžžeËx;"[´ô¿]A®«…wfOŸ:ÞÆ‡í3Mþ·œwåâíhÿç‘üÞÚ´…ö5¨,ïì«nhÜSi¶øH,hd­S°0S(LÚcÊ)¬­pÞ±¢Té_½v¡H/ëæy^®¾&•ÌÓ«×@]ÝãàÚ¿+pá)l¯d˜xBæúW÷Hž–ÙxªÁ÷FªkÅÐâ2B`×—Öé€Á{Z϶Õçà:bã4¨d“ð½Ì¹ö¤Yª•tœ©èQÎ¥¡Ì³‹Ëfa`u 3í' ö•FK”‘/¯ 8ÃÑ&ç%‘~H6’]ÙƒAV¤Ø¯Œ‹«–¼ꤑޒ?¼Íj´Š,Ú€÷-3±ªA»ø¿꽦(Åa(CÛõìô8ã¹=ñ²ôúhú4nåLöçoGá×­Õ*Fã³–º·©Œ™ð÷–«Ž.K°>_%ñ F—kkã˜WaCEpAÙP[ïè|;²Vq¬Aª~iëǧÏ`7b QRH‰kT‹,SÅíä€Þ ›0ŸÛsîÌËoU¨ÿ|‚ ¨gõC˜¨·ö€£ÀcÍ']û“ WA³ífug¾_èÄÆDXl%$‰+a̳íl>ªy¤+×rŸ >'·Ä Lö™/@šç–`h…¸ÓyŸ…ÉJbî˜xm<]w¡ÊèuqX%Q‰Ä`Ú$ÞgÜ3µˆÀVŒ <ìe>4M/sؾÞÛ3ŽÌƒiÞd û"·CtnØùœˆ” ;)V u=Wö3c‘E=ŒÀû”nýe¯¶Ÿ‚ÿkm½)ÆXÉל’ð‹©m¸K ¼:Éõ ùÁÅPЍp€J£Tƒî'ˆXݧ½§AT(sã +ÑÞËA«ãÊ[+‹N\%ZvIwÎÉõ€ ôì(¹V”J“@ÈbL í'ºIm©ªeÞ€Àñß~¡—<Æ¥“—gvZ¼ ›¡ òäÚ]ëJ‡“̯³;-…”vS]k(T©Eey½Ø±,â3ik´ó‘ú ÷üÈÊæïÜç]_˜Ü•ÿ ³2±þi .Éä|¥Ð$À*ýèwäqLÜç 4¯¶Šw¹¼ØÛÀCvwᇲ%*:—Õè)\V ü´–pç [òËÄúº§BâÎý. Z:|\Pb&",:ò„}Ó¦TÉ×qÖ€ pwÁXîK¤ßSÚT<äÝXMžò!„¢3»f…Šac×¶²±æFÔ¢›@XR¿e¨6õ'O\ òfÍJÆå+a¯…î³SÞœgVŽ™—Ŧ(Kâ©ÈÓ Î&•÷}ÇÞn*÷ € ‘ˆº_äs*rùóçv0/ø‹<§3 HQäÚ¤J™÷Þà1:rÆã˜ çmÍ–1ò1¬²È‹+ü±E5® "8•7±²ÓÇb[0U(Ûp»¯´éŠ¥†¿‚tjsþ³þî¨0OgÛ½#RÿϪÈdñ™DŽ áçijÊþÆ‘x¬%¤ãR Ùk† t:<‘[ƒìŸzÉ"“‰=ÎÝ3juîŰ*ÿÚ{Y:éÍЖ‹¬{]îCiyÔ9›‰·Yíâžñ\~Sm˜xZòpõ³Îð4%éîõfa3ðžrE.'ì‚ vjåM¹ 7=‘48K1 ^²Å*Ìÿõ¾UÕ3½è¸àx 7°¡ Å©r @„ö«²¸¹Åã>vCø?K8+géöeõãS{¨ý*Ý<”ûÚÓ4¡-š’z‰§äû~P¬xp›Zfµ+hÙ;/4p$eѬµ}.’NæU§fQIôÿ7ùE‰á<#¯®ÁU ŒË&–g›ÄéîÁY+³‚òµ„;¿§ëÓÍ:•þ½nºÎ‰[Ž©Ž6㬉©+ÆÜlq¤<ÌEã÷ol!5…G*vW·(ˆÂgS„—¡é-plðU¨ãWhQ<(#Í'’…>_ üôž(Vk`³Ç$6T´e箦# Ôß;ƒpï@oÈSÙ°pœ’_…rð­=11Þc’ªÅ$ÙzÔ³û-ò‚$ÚM¡&UüƒƒÏ|Þ1³,Í-)”SÞÅêc¬æÊwöh$®ÒNëÑ–qî„•6OŸ^>eˆàeø?áQiºd ùDGÙQ€”/NÍZÑÑµà”…5µ|xÉ)ªBæ56Œú¾‰ê¼Òò&·µTLhÀ~ß»jj¶0!è˜ègo¨QG¾¦ á¾òÆä¥·õ“ñêy—Ä¡—ó3wE[ù°uœ4¡­w}w@.[Y¯Â„ˆ¶W~šê–¬êÃ*sÖ€lx_A:IR>8wÀ"À‘.#í Ã^ý:On>¶þ+%ùʸµ‡8–¡ðð}ÔÅ'#ÁlG`’{íT`ta†%]RôI>Áð©AÈBßý³÷pŠ m ñ²«øw¦_ÛDFȧð™þ÷»ëúígÔÑ…Š1IÞŽ·à<7Tå.¾­@Qûâ½×PØ¢“^€øºÃoüë—4û…¨hÇE(&éþ‚"æZ¼¶Ld‘îW0tÙÈ ÝïÛ‘¹Ó/¤Ê€v*ß ©ÊÎpEhrey‘¿º<ûVH­ˆE èß(†GëZ‚ˆÙ­ÍŽSÎ’ÉLqЩ.$‡?ë=Þ¾{ˆõTq¬ùÒÌ!g¸îÙÅ´¹èçyõüVá„–—V-É‘‡ÒüÐr8ç£E²´;R”êÓ¬LpÐc Èymý€Ã$!ô1¶8—%;ÜʲÙòø¼¼­;õÿp6Öb"Ó°»¯öó=7¥Ì¨¢-$º§dªÙa¨l™Èèåžîñí K¥»º< ‘à¦÷>ŽÈïzöµ6ˆ„«ð ½²†”]»^”Aˆ³)¦ù„\ÍRè_oy"PÜZ¿ô"K|;xö÷Ï!”ˆðµÇ÷´<]Š|ÄKk+[IŠcÅâÏK·OÖ®ñ4i’m%K?Lι?xû1õñ›¥_y×WwÆÝ¼É‘rŸi—Z`91îà®ÏSŒþ¶=ÀÅšQGÃ<Ä8‚ Í_QÀxcæ|Wä«ý®iÞ¯ê~tÒ®–r¤§X“¢µJ–Í”§¿ÛÙ5ú.;$RÍ1²_£â›t+B!ú+b‚2BBz¬+ ,¢ÄàŠ“ž‹bI\\Ñf徦.zï}ã³h´SX÷;^Þ}—BË“]'÷ƒ¦Ä¬1ø8åǃªöïù<€š„¨8[âHˆø~Šl‚, åöêA7 õû¹GIŸ&òèÎHê-Å2¿lr/^¶™2Vq‡®(¨õüeX-Y~}†s…õ×Íq|ÁljI‘†öœb·ìs§dyâùøRýoÉ\…ïêÍÅ.5–SA;Ý>ùj#~»o¨Ë#ñ“¦¼-DpÉ+ë\P’uÿB¦/õ <”==¬`/`¨êÿW êȾH¡jp’ä’òµâP~“÷É–#ŸlñX—}õ 7“ø%a !zå!` 9¤hÛø¿¥ÍÜZŽÆ|Á2üƒ§m Ù2Ä¿gK )äà]˜‹è …v­ÁüÜDz,ŽÑH¨iMÞ}RͪFU4Ž&èx½1TàEÃ0WïCYGp’ŠÜÈ©/­4°TBS°|pR_Fí†6õíS;¸Ä¿Ý9Zn€¼ñ-ðât>ÕK?€½6ÈX´ÞöÌ0á¡.ú|!%â¼ö´2¥­7ìQ?ž>¬†‹ø‹î]ã„BÚ¸5Ëýä1l,ÖC5ý'ý·¦~™dŸÁŒzœ£?ï”.5Hb¡+›+Út$/¶™•óøÖ×®‰½m cɪ BßMÀ§¬AìMRò»*é¹@HÇ`]ð÷¸”˜±ûüQÕ/RZC™]ݦVe]oÞÖ~9”õ=Šçð/ešÔÑÓ÷¿y˜èÍ¥'7Ô_?ç àÅ:g9lì v[µüšÁXõWw?†ë<ŽóâÊ´›¾%3•dŒ‘à':–ˆÒ4óòü›Ýç9â«>sb>ÂÇ¿õ+K{ V¼ ûûÓòù‘ýÁ n«Nq•`¤Æþ5‚°+ßc«÷Ÿ*AŸ¶À¤Ë6¸tÿ„×IÒ ½40ãê]ÄÞµ )ßûr«¬ª’mòC5ùÝÖj§‚7ΧªPMe!\Ò1ŽŸŽoëv%±<°b8÷¤Ä°Uñ£€èÊÍÕg3Š¥ÿKpJUuvQ80³Ë°ƒª?Ò,ÏpesH”ètøy×Áp|©|‰™]Ÿ s&Dùe96¤=AM]ÇYž7`]Ñ·,’!=E.7ÿãžTÅRùr~A)­pgý)ôJÍ—4 ‘¨ˆ¼”"©²Í®PVâ Ì‘ÏqÍXj\ÅA÷z­ï‡·ê«êYˆ*˜÷ýPˆÁ9’=¸{Ñbl—íǺԋ»¤£Ø'‚ê@~‚(¯>2-•›ÉúÅ fFáþ1M8T.‰.b˜ª/°Ø¾ÜÆœº´bž÷0l‹0¨¥%|sÕâPRÂÚG„+9#Jò8eoÛ'MWƒ£ìô8í–÷º›¹³Ah ͺÁé.¢1EH•Üýý¹«œ+öžLë\g \6ÿ5tîŒza‰Ã‘*ËY…5í®eÁjx¶lôçt™ëŒè7Â"âÃŒããmþÁÊ_IêŽç0ï%1Œ cßÉHȯƒå˜™ÙÝ iU/çŠáNWwÊ7´çÞ‰ÎõÖ!áhä ù y¸óµ6X? O;ae,ÖûËpÂ…ÄÁdÒ¿kõõ¡ß+V‡….€¯ „nÌ?Ýñù$[ IT!¼Ï-#+BBÆ€” W« ¹5¯f!WüÈÈ}ˆœiŒìáÄOpM£_èGftLs\+½³ Šƒhå¾.j£ð‡œ¿m-¡IÊ¢énx¹¸PC¿„u¬©DæÚž+wÿ.t§Ÿ®œÞžy¢AÚKwµDHIÁ ÙW>B­byX0BçoJ¼’åVÐ×D»¢3ÏäB·›ˆŽÂí4óB³DpÆ}Qßû&- ÒŸ´3f>ÓãaÊaG¥ £cR¨=zÙ1•ý²U' ¼èù½®¸tšj‰njDó™fñi÷*Ó{‚LxÔê˽ž#‡Ú |pþ¡c­·ÆˆýsG¾ýMAmI¨èxq­>Ž@j¹Ð .‡?Ôp2ך»úÚWX#mb9†—\™ ]5 ¶Ö#šÆp »ƒF§LÑ[Hì .‘«êòíAzD;©É'pbo‘†UÉÿ‚AP° Þ-E ½Üå=FÆz]6Î@9uX.yü˜5Ù Ÿ˜õðîú“ª=9Mg”92ë‰ä_êʺqÌ¥×n$w7Û‰+ÿ`®¼TÊõ oèsxæñ•œ;ó|ˆ¼ –—ÇZ‘òb•Ýd6öò‡Ž¡µÄc IømϾò¬K–¨º·¾Bv4>4êËùö‹°”{LzÖŸj!ßäíbg¾Ízsy)ˆD3‘g$8Ìå(V·«úä_‘ã'ywQ¹ê¥šO‚‡ó>š/pÑ&±6]ÀühsÓ3“ÃÖf?ãšØ7xj…5@á ‡[´ƒcV#l =Ó³t¡rñä üª”PêóÀ=$ƒŽŸ©ñ¼ÙY/ø¡Ò´ v„åda›ÃÔ7Ñã3ó-¡}ö̧€Èão(Œ)-_xh¼Õw\Ò:²5åúO: sáÛ‡ë'öJB˜õÚf8áþd1áJŠTK"¥}Ï7à@jíeÕ¯^±f#Æ Ç€Ö!“¤cÆÍò¢ÍÝïF±p’ÿ…ÌÃw÷Û%+ÎŒ‚I"ßê­‡¸INÅë($V€Þ˸¤7Û»œ/ßÏäI+«Ou}ÒËÞŬU®À\JšuŰ„sèwLTP$/§ ×w‘ e°@t–À7Ôd%dÒ#,-1óªÏrÈNKCÉÔÜJí¦I˜:ÕÙtܶ:Ú߀ J:¨øó2\£ìý$’ˆ¥¼òËÖvcþS†Â‰—tæŸÒ>ð9(tÃô™ÝûR ºäîà± @ÍB¤ÀhøÈ^— /€YiޤITÞÿ>Zˆï†Ìrs…ë­¡ÿRЯǷ²ZrrJõU½``pÀwœ«v›w(d\ØxºpD—s5\GT¸I~ÈUÎOêWåÎËîÔžl1âïÇÑ‘ ‚ؘ¾éS1–—ù§ÎÎ ¦9£åFæ0 V_H0¨ðMÏÝÀxG5/òéq?ÂÔ*¿*yzãÃXgj¿~ä1íR ,ä† ´£ÅÔk>]õoæÍdK{@E¬I)nt¶çþu½ã¿$ÿ}Qºæ¥¡Ö¡@©~÷ÖvcT¶ê ¤ëÏJó+¨P±ÂÉ[Óɹ²ˆÔ.„$ZñUá‘-C=>N+ð•jbGyÎ]`‡Í¬æ•v¢ážóljqg~ÿvø­TÏô;B’åWLiL ·(W[n¸š^Çàr„ÓŒ©³|:þ·‹”>Ý^™6ÇŽj§w.áñü–Þ^ù 9lZ+š ÁˆiUžxAʪ÷ì„‘NàNÈ Û9Ý!£s oÉÚR±¨*7v–…(:€Ý4J¦6Šß­ºU2Œ›rr—2бÄÏêh¨§OUدݾ>3<‰,Mˆ “Ó¨î¹çÞÛ¦W$éú²ÇÔ%±n9‹\q½Èͽ텙ä‚ÖlÏy˜Ar"2Ö½%è ô¨þÝW–ÆîiIæÊsÓÒ$yBW ßÎdÿC¿Vm÷lØÌ×NëÏ5HCeôsE‰o…/00°Á8;JdG" ·ïy»ÁºÄÓ!ñN×}ê_jaGÍÃŽuSß1CŽ˜¬[w߆'EjÜ” HKìa÷6²0ª8®†e¯È¡^½8ùö¢V~ówòJnÒ¬[4ØÏ´›Ä®#üà½;÷SELÛd'ƒ˜Ö`t±y°õYŽ]ñ¤¾–mFìhHª@¯¤wük*Ž£Gä—¥6D^bSn j·)jTÿ/‰é5¥pÆkΣÛÑtÚiÍ%Ë[Ę1V‰tF‡»»†"”DBRÿ®…YJ\S²´§8s¥M•ìñ;Ή1Šrƒ3E„Oê>Ö™Ê"´W™¢ ©,©î‚5ÒJèùB˜1iz™·%Tã¡rÏÑ£säÎ $æFEN0Í¥=ÿšÝ²ñ!Nç/ËŒí-‹šï*‘’&ȬyO«ÙS%7ôŸ£é](ÂfþÜîÓ|þ hjí‘Ì(Ù>Ì“¦á2Î}ø ‡E8«q{i$>á$»™&6T“fèGEPDüå¢9˜EóP½¶yš+¦YœÉMÀOœ¶¨±mß«rómªî"té,üC®Mx;¥Ó‘‚SŠ+ø‚8xUÏæ'Ô¹kÿ–$ž‘Œ9×RòÔ¹ò:ÂXð)¯¬Tz%6£ÍnGÏ)uª°|éІá“U¾ðþ„ÀœU/÷·8³€#b„œUi˜)PUÇEó_‡ :Ñû´~íÇÜ è<õwõ(ŸöØJ: ?/¥~?ì9V %ßS“¾¹ÅÄa £-?nÆ;ïA½xfÖ<þ‚²-¦¢¿†MÖɉ%ûN3â ˆùV•@Û?ó„gÝP2^niµ¶rÞçQ+bŠ,µ6ÄÝÙ·ÜN€±i-œà&Íyo1u”«aKÀ¥Qí©½´š«‹RI¤gж¹ü(ˆ}»#þQÑ„õŸT¬]Û’Aà*jŸ°6ðžM“|ÈþΡp)"½“:h¤³Â|È»òÀ:Â_uE‰wäë7ãWˆðÂŒÏÈ¡ Õ¼&ñã€ØÚ¸é8ý^¦¶ëšç¹”O0CP}K7$qnZ2rµj,½²‰R#¨nuc‘#OÀ'Ü’ù¦sèžœq±ï%‘|¸§1Úêp¼¨|Å£ ,0|nÃ)e‰8ö-òLõ¢Äá¦üîS‰)’ÛÏå6Ëp#<­¦`ÿóÉ™wy=?œ„{î ‚7'Þ`Îð×"]Âs‡QwS_xqøÈFÐD¶T;T¶AnS®¾©wOÍ›JQøqÅ©nh—àäKPi{dðLÿµóýtô3ieEŸ¥Nõižøp/$E ßòWOôÏÝ#D·.OÀÓú¯¸qŸX_ùo@XÚ•û—|ý+~¬a¨5¦Q¡+šž†<«ngýã± Yrf2yvüÖJŽ·1,´˜Ãy@.ðÂ-d© ¨›:l ÐJC™!Ƈ‘—ú'ghm÷ÐC²?ö§ÚÞ`¯ìŽ&²1 9Á%hÃl§uÅ!¬»j„œ²½|¢VRð\Ïx*ãZåvл ¦Ô„õôã’X1KË–ü\ìþã;AúÝ©Yê ê|¨)tglƒŒòâ‡}bx†þ¼©å-šüévLÝm\>=VŠ> Œyÿ4R-#ž(Î-bª¨d5‡ Žp~MMJ„àê¯V:ê˜Ð2žÀbT¼öT%BÁåäJ¯[4êZ”í—2UÜùgXIó"Ǩz(=ŽAEóÜã# YBRu¬×O²¦¥¡Û¡ýö@;³f’ˆxuÏ}ÊE ¿EQ†Cò¡þsõ“8¹ ŒFEä<•˜ãµóÊ2R¢Jê–?1„§ªÓ£¸`f‹ÔùàþýoڨʈM8Õ:½XsѾL¯!¿˜3çö ºéŽÒVK=ÝAÃ>¸Üëë&ÝLã0´_Y´…¦™º˜Ì¯ãö7kÞG­>è;·Ègé:yú´ñËÕ“gâtᤵ3Ë}Xµ˜dÀVÏô`û(«ÝþMJÔ@ƒ7;j(<® b¯ûÓol8v’ò-·É°´ ðÑš2®sã¸ç“ÆÑ¦ÔáÒ;'Ö²}GÙy"RFýÁ¼2ø²›9‡ÙôP40P‹{rʲŸn³žÿ5Oqrÿp"pëù|u4ØÃÎ϶÷ï •WE®2×XG:ó³2]ü@lÜÉ´ <ìæ¾Œù¾›åvöþ…j{Iof¼áŽ«*¿ ‚ül —/ÈaêoÜÆŸ_˫槨?üœðtÇr/¾¦åݽjƒŠbqŒÅ¶bt‹KcèΠ%=”ÂCêúv4ð(¹ —¦Ú M`æzJ/î æ¶¶4$×ÎM,Ÿõ0¾¾È¢(äèþuZéÌÿ`Áí“x[Œlq’3zmw‹£ÝYõâ}º928ÂPê†nÌR:KÒ’DZSýŽÁ¸¼>…‰Ü³ôÉ{'P©—m?3ô×rjÆô¡“^;ð©(dÍèkZ ݨ`ûý0Yy¿·VÐX¢(ÎC¼ô­Re o)Vºyê’™÷å\_¡hžèë†3l§ü!á‘Ü»ðFLÐG>GI÷ƒD¸jÍ:YfLîJ“zÎ1ÎmKqŠueâ)ajšÆö|… ÌÅìÓNTË¿ú%ñ…¢Âˆâ¢ˆ÷áÅ2,ñ8ÝckDGï¹~ŽâGP7Åã-í˜g¹Þù¤ï …#Ô·Èï¿0Œ²GAé’†q¾—úÌ(1T–˜8‘ÒJdKçñ\ÄG<þâ&ÂažÇ£!jÅÖfѹºÉ™Ë”›âXd^˜Ù®ÜÙÎÒ$/3—§Ô}GFÂá·bxĉ|ö]º¥à5Ås¡­§JŠs+0õ¨ysaÖM.ƒ¢D `o‘L{V3I$ä7äë={ÙEZœë ÞöäDýOïÒ°|\¯eEã¬fÓo½MÇúsXm%?!óçñR&6QÓ»Ÿ~ËÐ;]8Ö-°õÖ"N4“7rÙç´óœí¦™¥’Hw‘QX‚{ñR5¶‘pO¹á"={’5æ=>ßâå5añdz=£HqêB´í{tš/Q‘þ-Ïœš.Y•ãü~…æ’5E¦™ÿ¯×„Öô]W¬MdšRVûø>OHVç—xæ÷+i·xùáëŒô›¬2€HÈ›égBqCíóná‘oySòÚM{‘IÞ‘¬ªl*bÛ<¥ËèÖ­¡úà.íEK·üŽ„´ÍêÉʸϯvâ²gA!PÔÑ?f$Í®d»Fž¯’, ¤û†ð1yõ1Fšš!iUþ=¥.„ $8ËŽ½B&ó¸“tý `Xód”5l¡¹b:ü ßÌ\%7^Ȳÿ}1È}âòœïâXˆIâYÔôÛ°îZMñ—"hÙ}§]f—ïŸ_EÞ¼î=šÐñ#…X‹ú½^-q Ï'+Š¢ÇOÞM3W B®¡CrŒñë’pfQä–Y¾ð>ß½ý×£ŽH0€zm>ª º<¢ùLøZûO9&©EsÉíŠôÙxJ@1NÝšq=ÿ˜8w¨åËÝ«ñ8/ŒRq=ó ûÔvgø´«òv+5…´$YQ¢¹vZÍÓh7¶êÛšó«GÆê=¹mØk¶û¢`á¢á—=ã[>Iéh‚anµž9Ø­?©?o†u¯$4f@­€^.XÞ¡ÐFÿó g¨æÀ…my '¬[RÖDCçÇ¥y17èÞ»ú¢MaÂ*?QòÁCWK@+=#·84/«È«’?³]’g3æ±âºòíw„fàdþYóÉ Eà §òÞàÉkå€& t0?nîš"ô(;Œ¨É‰’è ‹Ñ˜UóÙì/O‡…Eº†ÇÊ#œèŽ:«±Ã÷È”o‘’·ñ_!~ŽWìxƒ‹K/f»;÷²G >  –¼ÂYé`LskÀx!(´¹g¨6ÛʓߜÊôÕƒÚH«Ï²¨„ÅnŘ×Kb¿ŽDáa1³E6 ÷& •TÒ Ã7‘5~dé¬ÿeجbk, ø ÇÖVF¡®•ëÄõÚ.¯:àÃ*ã9Þqêù~½ }'Ó÷N $çAƒò—u jøÞŽWùQÃg™Í&MX— yïˆ>þã\/—ç¹=·ÚÁº®ú…Håš·¦ò¡ý²õ&U1y›6ÊÅÄ›ÒI§‡O*Lä”À „£,†œQ$¸®Þφ,¦{T“JލA|˜M6ÿnŠÚÁ|etò$ŠI³i™ cß)áŸ#ßÊ ùkX,Àðë)kLï»DŸ¢妢¡.øtÌ &\šC›È[ µ£ÝkVyh×iqàtñe0¶ù•;¡ÉßÕz©o}šÔåEΫ4²mÒÑfÅ%Ô‡ÑB™T/ ·Ùã-aå=ÝCÊÆ¡£ÓÓ»A'Yt¾ZzÑË<«® c v'lH(TZLh&Ù³ô¡Zè’ãË­[9ÖšÕxEdû )W¯Ü0`o¿·šVB\ äÓèê0¨„{­lôºcÓ¦<¢šRõº2_÷é/kÿh§_Q€šMüÜÛV3ÅoÇ¡PžF²àç¸þž¶#a´\R¢úÄp ëµthqØomHµAÇÏȇj„Âù^UÎ¥¨FDdã“êÊMsÌ&•[9˜b¨™èrÌOlí–Н2¸dî¤ Ú¿ £Üu¡ ä zú4°½j:FUlâ' Èw¿Ù²VYiÊ5ÿ˜h¸Æu…ž³é—uò€9ò˜JSE7r@]äÅþòz&ÅýÅ¿~r PTŸ9œ\ ß¹}ÊÀñ'Gu¿{wˆô .àt£BÁ#X™}…¿Y Ë`?­$ò.ªNùÂÕ°„ǵ9¾Ú) ö7 Jnƒ§†L´Ý-"Ô–>\¾dúïPï%Vg½‚9(þe(4ûñ-.-²ˆÈ:Ý@…fðÇýíI 0CÕá~—ªùÁùË* “íî¦OóZ°WŒÝÓyßãb÷Œ6mW¡èì^í½+ÍÅZ¨&Q^ÑeË…6{¡C¸BéCܘNv•Ã…Cõ]C¿Bì]4L«´žZØfjöý¼R±Ï¨ÿßJ׃»I…ñЉãKÞ'©_d»™ÃÛÊû.ç ¨óÂÿ ™y ±8*7»Î Iô_9¢¢Ã¿ŠÌ ×¶c]^~'eËg)=ø1kÝÆ½ª„™¤OK@3ƒÓŠšåc\êò¯©þ ÑÎôS‹9HÅâwTJóÇLÚ¢XA3CßPÛÐ+XQœ™'Zî4q#NèÄbËU—™Ã"æÓ‘ë¨Sš­ «Ç™ @ìj*?M¸é›(Iô†—µ†þï3†-~Ð]b©¼DKoéÅĀőùñ_K÷Oê¥|ÍÐëå9ãžBãhÀ¢êB[ĉ‘ÿ­LnCíbÄš°õÈD³ä×T·˜iÑ‘~Ç[9OÍõºúÊè&ÄË*¥¨V”x4h[‡ÎѤÁ‚(œÊI¥Þ¯y­b9áÀ!wˆ|Ȫ%Ò»™hÀišØ˜ð†ìŽØêYD.ZÚÉø±ò9€Þ­Z‡sëòG,ÞîFÊ9öò…,n‰^à£ÿˆKÉPº &75óÿž}¿z_­¡¡q´Reð ,Ëúbî>[Wê!Àó9 QÝì ¬ÚÞ5OÈ…ªa$Ö¾zÝ ƒ½²ØKÚ> ¤šöœâÄ úlÑ|Xß÷ËQXŠ+ö8Ĺ‚.%ÉßÛÑä™$[3i¦*¬ÓnÕ“gH©÷Œõ7œW]ùˆ®bT;MÕ5-ßí1<§w„¿+ Û,.\âaz¤gtfƒ3©PWä¼å?ä¡dLP¥ gŠgè¥Ã\tEß&ñÛ‹6õYÆ×T»µêò‘eÜ€—6ž³5Rö-<Ùeek|š¹gZ3ͯ1Šàœ3kÚª`uÚ‡p©/8äÙZ‚ céÎOuJ#—qä3ÜžÝÌ'OæZÒØQ2p~|Ý%:ŽàTŠ@Óù}½ˆ6%˜v±+ ÆmVÞiÄ ÔÏ2$´7ñoûäëîÜ@Ñæí}¸£O–®$Óö¨ÀÚSl/'¸ƒ E7å…¢ª#¾Gšß#§ˆ«®3ÌòÅYO-ˆ/¶½¸¨ÊÞ: ë¨æñ l…¼ J,‰@]Ç[õ@·)–ʱ ‹Åç—¥高å6EP²‚Xê:¯bÇ1ÅjžãÒ£¡‚““ó&(AçilЫŒË‚p½@ßëxrW¦j]Ì_{ô=€£óísº+!±’Œ ‚›˜1KwQ×€¥t̉•"¤´‰ñûø4BDP^wRxÏø èÛ)•‡¾Wõ™áSSªš?`ºôÙReX·YbeB Ñ_^l1%›î“àñ1š5VY9Á/ õjÔjn§YÞŽL; þ¢ÿ[ï ó:ô¥ Ùe”©i…k'@ ¨ tØGc)pUùÝBª òÚ`þV®[Ñ+ˆï¥Øè×?Æ<ä¼Õ3|ÀÙbSa6,–X „¯K­…tOBÑÅ{‘Hºëðž¸wh>Á8^O ·höþ÷bò}M—<»Øû!èý¸ …Žç¶ÒȺ“=òb“ z2çàÛŸu•/%âqØÍ–HÇ€9ÿëæÀî¶n@‡‡ò]‚¯VüÂí¥Wat”JV°¶¯#èյ+ýpÒì~œò‡£QîÛ3ŸÑ‡ËE™UdõÕÒÑâ¿M."š·»½[f¢'"­BYõy¨:%k<–TaˆT0óMÈG¯¦Ø«ómÒ l]êµÅôü§aÓ ¥^Âé·È]¤ÒÙ$t¨?Ä0„¼Öeêró‡HÉ4yô`"wW‚Q²Y>ÌN¬©‚Lä­ßÆí~7;Ù³üR˹¿ Ò/^.;èð½ØÒR¯ü y¨….Úî·ÚÈá¡•|{2ŒÎÂ+¾Îå:¨Z|~Ù üjÓ½…´ä®1¢¾‡µ0ïýB¾€݃WôÔ~¦B8&Ðùý†Yw¼ÚЭ¼Máâ¾1¸ß93«Ž›à\BrÙ¦p@Ò´MGãèÒÝ+""q;âøø¦ì¢ÃóY3Æó‡Tãöá)ÒA3’ ìªc]€ßÉw¿Í—^KïvÑÐó;IGŸè/2-ßíô¦EH·bì;øêܧîÖÂe¯M£ ešÖõÑ|Š3Ä–§Š-u–ï|«.Zå™^$™J@„úe™!3UlriM( ·–6óŒKI™íߊÙ›ôs˜1\©ÑÀ%mm5õ)$þƒº¼ã¶ŸmLŠÃSe z% Îw£'@b‹6B˜è[ë­ûɳy£®ì0B×#¡WKT9uÀuÌo)°0Þ¡”6•Å%Ñ8Ó‡þty‡B*®Ê¡$ˆ½ @/·²bO´ìã?ü›/Lš$} ¥¿°eb °{\jþX*ð„Ï¢%$tËbñg7–ÉÊÿ©ü†õÕÉýÈ{¹¸~VædÊKØpâ„Oó°%ÎNL˜’uER„Øýá%-)È]À£Hн I»%œ Ó¡³Q¶=À¯ 3fɶ÷pÍÅ–}ΆÈ‹¯0 §¸ügïš¼(T§ñô‡€a m8ÒˆÔî©e†ùw­ÚìåhÎ¥îÓ¢¯?(í±,µÁnÐÃŒÝÄË„Æøë£y)¸šÚD–&„¿¬ð<_j£cù‡òù‰føQÂ1û·è,+'4…:ºad›v7L„Téä¡B‘|–æ&—0Xˆ Éó‰Ør²#¢hV„€O¯ôhžßà›ý§¯‡+؇Q70*xk´Åâa\¾ñXD[€´ZÈýdAeÊÑðrˆ …q§ðÉÒÞ´—zÎòŸ%üŒzp££\üágD£»áPÍùáãÛx:ñf2˜mOv RGÌ^7BQ3ÞáGÉ©/zÇŠâJ Ën^íà‡Ü`8­ÕíMØÖ+F]"$aJZ ðnäùʇ¨É]M_·òæ€xn ]Õ%ó,aŒ°A4¯{¾ä±¶Üy0‹¯ÐŸÎ+XOÜFrÖ2…Û¹¾žžÀ=dȃ¼3Œ’·é,Ò2Ç4“EïÎø΅”Ū—ÓψÏ1ØhE}ï>ySý9ÛH&”äžÝ¯1¦YNLjá{Ðßå t÷lÚüvÞBö`F'ÔeM»ß¦D¾aí'Õ}ù¾@J¬}XY¡ÇqÖ}˜)æ¬zú®oÊOzæH i_Ï–=ü4¢¹š×†6¢B– ý¹Ä%ˆ)¿‘¥ÃŽxÇk ÄÑî×ó(B6vÞ#»)þŸ°ý¼Ž&ŸYøbp§ÚªûÆÿh’ÃîÖ ?vÓ_ØNSPY~|X&ƒ4öCéEåHLœq—3,Ò*^äÊR ÍtYfÿ—[ÇÜK´ ÷¿ˆ’KÓv–Tý¥bYôÙK¹{â†ùc†iU¡òKtÊTÛ{<çc¨ý—lR9%A§ÄÜaÐSSf%3˜5'V¨´£3„d!ž1ZLåFuÝŒâ9µàÖÕØ‘û“xv±ž…;ú¹ìÃh³8›Ä%ÍcDªJ×s>•k‡Šú‡ŃÂxœŽîÞ)V^¸ä‹í©t2¯û§±“{ÌË3Ï;GÜΩœ¨m%qô5v:µÒ¥všiùHT=|Ã?1*£;aéÏ0ÿàóð"¾UÄâVzÇ~Iæ”uׯ?yñVu•–oQ“Þ9µ@§©ñ£ysLšf‰±ßsÆà´=ê’©Ë'_ב€)”¡¹PADRø»zôPbvÌ®°do_`s;-S£U›Q³`Ò&r“êD×ûóŽjTqøëË¿²˜íø¥—)—’%|it_•²Q*œzâIj Â^fÒÖ¡dh],HŬ‡òP²ëÝ\)àx¼*2˰åIŠëx'¤Ãí»3ÙLÚkŒ¹‘BÛÓëÛD,ǘÜù¿!ü¼+ì@2Àyü€’00ôœ>üô±ùƒÃcÞ§Ô%q»áÆ"*ï•t£UßU!dÛB°|8„ö€œ¼Õ¾+[IÀ!‡s,ªÄ"ŠBä±îѼ{ýòÇÅŸ»ìH­f›&pâZEì²³ñ :Ö Qƒzœ¶öÓÆЃU{žì§M¼Â—4½a?÷´^ð ö¥]·"4ëcÞ“¢½o¬*è(?qGjÿúkO±ê‡ŒJØ^ZOòâãDP ð&ýؽ¾°@ÁñÒJ%’iXhæ¥ÉÞˆ»Ž©¸„gZýöW‡m<ãÄæÐ¾6¾.¶S8€>²µ=Ÿ›·¡æµ’4éü 1 ‹ôfrÉ '×él$»dGÎyNÕî•bò)I×·c|T§˜Ÿk—K9tÅÅ“Øhmæé‘cIŠç•xîõ8ž‘ãbJÜã&Þ$>+ËwÁWnA/`¶=í¿–Ë`±Çù÷¼î5æmˆ¦éÝ;¼'/ðʵ]85‰Ý(øÁÑå…í °{ˆlDÎWP¶%¹†ŸRóÈÊþ´`Ӥط:x£ÿØ^=þži2øOðQ&þÂCE7Uýh8™ååéM X¡“¤™ú)oF`ÙãV¡ÅDõe×àLö?øG4fÛŒáÉŠÐO$×eœ`ÕpÌŸ©í)ßÌtÔP2¡Î6¼ŠáK¿ö£ã†ÚægÙ'Vk#e[㪑ˆ4â8¨È³k?ÃÎ[œ¤"Ä*3hê™®eíÉœ´Þ[%šJ$¯»qÏóÂáœîô¸fÜT-JMÉ#êѱ·ìUì¼™_ƒ˜ýóš0·ù3_ø”íÀ ²h£RúTÅ\¶åR7VC¹;—:Úe»´Å ¾ÅcBwVœ-4Ú¼YÉ¿ Ùxþü¾?¥„œÂ‘ OŸÀO#ÝÒïÝPm›­¯ç!à:øHàÎ;è§\DÖŠÈ*òìžâ—ý£_ŠˆšJ«ŒŠ'šiXý’Æ2U€b¢»D¯=¼8$ªÈË×ìµÄ`Û›à¨|Òí‚ûÁJôBÅù†ÛJçûŒõRç‚•)ƒ[䳎+ël•S|ÿ‚ìŠT2m^b?ã9è^å•'|{Î&¼’‹Þý5µ¹%¡Ë5?åï·"•xË%CrÛv¹/!ýR&Æm´“éâ`AÎtZdÔñÕXooMm¤ ¸·ïY&®uIeN‰Íi[(SP¿¬ñ‘¨>à>œ¸ÎÎU)jª¸¯òç°'æ¤"Üæ5X Ürª VñÀ¶¡bÅ0ÏQu ;ŽZ¶ÊtÅ~]Ó»Ûá¢Aʪî*[ÿïl!Æó”6”H.Gx,üþZøô”Ÿ#× äs*—OÓ'uu`¼MNáeW0c[$Ù—ã© Äb´ñ5yÏI”?Q çO¡Üß%½ØI=j[g´8áK}¯/ ÅP6¸“„½»|šL®[Ž"Tˆ†Ã²©î嬇ûab^ƒ)rñ¦¼ŽC­ðó™éÞÊaíQdE—‘¯(¾7sþhŠ2ê•¿ð k×b_É£À ô"ÄÄSr,*Ùwbšðwt É­¦¢þQÂ5Já‚^ö 7!ݤòäÜgDýþ6ÏQ*r@Yy¤˜¹Š˜ùLâ¼õ0Û?„ØŠ±³×Ë78/}ˆ5xw„í0êfµìb&¢¸ ŸÙÉ­mo|yGd…”}&Db|öœ‡+Ú9Mü{°oˆ36*ì´ÓóyúÇÿƒŠ&hÙØKÄ‹vß>^êNqé!%8¡ð UÎ?Ô®P›¥ÙDÆÏ‚÷vô²'Ñ|ɤ¶‚¢6ÁÕÕÄŒMKwlH´;ЃUôaÚ‡/Ý,bQz{UdøCª‘zDäÑ–$tO¨C  -#oBcrjÁªÿ(Ô@i+Æv‹*³±›0¥þºn(Ê^TP߆ó÷ÆgD¿9ÒÝ<Ç-ËUz‡Ð¨¨§Åz.ð†l¡á4ò|·¬šŒÂ.ƒÕ):€m»OÈÈn¤?–ˆ|‰5¯YáG€À*J”„ ¬¹ÊÇÑ¿“»½`Å‘ŠRë嬘ûxXY=ðÚqÖÿé¡Óžv<^Fý:Ì“bæšÎ³üM‰¡ i»´þäA2ˆ¾[Çthçfã¼3§[“F±Dt©ÃàbP%äjµ€E‚/ã«fY¬‡ €P´J«Ä2»âÄp½­ãq¥¹Kedkéµ/<òP]´> Š§)ç_x.ƒ–iWŸ½ëù;,Ó§9 £g´˜.$X¼Þx’_ÔÍ’‰ÁÆ£Ä0Ëõà„’’½¥šçi-l”>ÝåR9N·hHrç(‹%];;;¬˜¹#d‡s³!ýßU¿5„«¹w¿¥Qh(Bw@Áž`Ž_ }™n_ÏVæøÐ¸Ç9êJÐл;ŽO»œL ád§(9ÁÃHòªUÔJUØõûE»ƒEÔèp Ðå1ßX: Ûÿ¤Ô Ðߤ„?%CÙ°ðKÛyh¿BÛŒ‰×=5bÆ öPÄ÷Ò+‡Ö2+t¼\TÝ_¸æ">j¼«8lfýEämøF:†#÷αïƒ,Nëj)®ýSG’çmFäå¹×‡¼Gìfs>^É™àFëDOQ0榺„œvI»ØØ…ô B±º²ÚurzoÞÜöÍVTðU“•І„IÇå8b—ÈáWýøÎ{ñ©ÆYÇÎiwêTxŸb¾à¹â£õÓæ¬ÑæÇì WÊZ\UºSAMõð1f`I哉à®ð†HQÿ“d<`„Í¢ãÍO«óÂÁ½²rp1%‚B±.î“´*» ©®µ õ”¸d’ž•4;C}³Ï5%5 (zÆÉ3¼QÝ·_*7¼å¯ØîA{¶eíñÒÈ–E·Ke7 P °qð¸<õ«Eï0ÚJ¤ÛCíNÌÃa}’Hí½mN϶ÓXµ¨ì|üsü[ ª#œY rPõ6 MáÕ8D<¢Š"¯©óvŠårkÝŠ¯ßêÐÉQï² gÙNÕ)6¶ŒAªÚÌ»KtÀNÂg’À-xg!*Þ0åLþÓ^¯#8ÝÑ™Æú—‹Ðom8ñTE|]ÞpO»&Uú³_¸³¢Íª ŒJƒ‹çÑÊè××Ìnjù¼¶ü,+CÖ ù©3™&³éë†Ñ ׳]<ö€õ¡)Uh¶£¿ ÔØÔ·féúlyø[{Îq! ?i|Ö\K|Af¸‡¹»4d~— 7K*ri)Ïʵ“ÒØ¥ÎpÕ–'~t³†b-c*$ª´“ʶ=e°‘n8’Š ÃŨ€ùÉŽó]M¥g°ÑA¿U ¡dIÝÄüw£ü$î?MFxܾ¸«Â4¯iÓô…û/P·Ç\˜ÎO°ØµœðßÓ³ÍÆÁ½h‹õ†e†HË ÎGK–#N ÜÎÚ¥],-ºÀ{Ñ_§ž’ð²/Âë§!>‚áñÓ ²PÄÌÅÎÕ|t…í¤vmM2µÎ?N•'6²öÐŽ¿‘ËÕæ†—esMòÊãÈö–”37ø|¸DEn „•ù¬– —,S¼]-YB¥Üš:»XT¬7~ÿ¾ ì`K]¡-IÃA7z;Ÿn ¶iÌ‚âˆb«­?¯T¾~œ”ÐÔ¨®Ò ç(¹kÐÍKËç¶]|fŽÌ›ÔÅõomä6í…–Eï‘‚ù„Öà§ð{r‹Ûª@O'DÇ÷|Ü7yçw‚s$ö"[´gtm¼üA°÷Eó`zm¡DQ¯O$¥ìäDÞP›$¢@ÔªRoø@B&ü‡ w6«õZ;Û‘? kˆ/s|¨“í2ŽEV$’<—7¢!Ýx œ5dûÝ>3#mkF¤«™€Gö.ùÎ\F(DVÆxKÐåÚq¦ü©¹†CoÏzðŠÕŽL¤×D‚óÀº[Ä_ í§²‚¨53}Ñwÿ_"OAÏà“ý ƒÙDÒ¾&öØ ©S>‘×X³ U•­u€@~R²QŠ`yM´ŠgêÞ%îE52ž@WÛñ0ÿWà0óÓ¾A§’²;gƒÞ–W.åÅ‚šŒ¶Ò¨&aOf‰¤úÖön,b¹ª¯ž¢gåG"¨%Qð@Ã[ßjºžˆö÷«ôÅI ·ËY‘PÕ\QåÍÌŠ¶hrW'['–c0ÛÎÞ£SH£VJö'Š{¡#rÓ|&Fä1m}§Q6Ó4Á§"!ÑeqcÈU mk~ëÀfІá°qöh¯ŠýT…ç îÝ…ôB³i«€}®tփîõ+ŘÜ1¤J‰ XéF‚óÉTÔe:¯”¦©÷¹¥qÉÎ' ‹¹SÒfä{s}]„„ðhÀ⾂¢9ÏîwÁüšFÞZXŒEÂíÙNpà†Ä-ìúÏSQ2•óš˜éZЧraiTLâ¡Êž*b#c«{Ïjþ~Õ1³‡ƒÞçúÖ3‚ Ó(ƒ Óþâ:Ir?¬#z¸¸Ô…׿¶gj– – ¡òxÁFÀÞ׿xX¾ãS÷üeÏ‹¹•»DBÕAªa©:Çu©‹ÞÁ¥RéR‡!]ük&aÈ×iÃ1µÍ@7¤,Èk_ìz5¯{ø4Þ2WÝ=@ûÒ°%Z7NéŸÂ1 ÙõŽl¶"Y ƒeb")u¿Ÿ<·2¸íîÌЭåÝÍê4­†¡ö‘~Í<9nSö`úÖ¿sÏÔ^Wmƒ<ò…N,Ë36Âäê.®¨]PD‹“²ÇW~!$äÁï[¶T'W)TÄ¡™:ìàJÙáÉó¶m uØšÕùÝmØlœh $f°a$ì2ì$Ç–E—Œ>˜ÆâxÅøUB¢º€ù½uœC&K‘AfÏR‰ùÍ…iã10~ÿÝø=›Ä£¡MX4=Ž“*LŒ”]%ðLá¤*Í¥ ÇàâÅÑ­I‰È[ý8'ÁÑËfV°màÕÿ’mª¦‘êŠÑêrÍuºõÄW­ˆ’¹m·Jôæ”· Möayžhk<±C˜é}ô<þ» I¤}Œ¹bñ3~ae£ÑÕíÊ5¸&Op„î™äß¼¢ÍbZï× ÇÉ%Z~CÙ¤$ÿ¯‡.ýNì c0½ÈE—àê¦i$:Eò9t>®’ó´ÑEÙ5é|^ð“Oò™[G3—Û§íéžë\[ôsJ§³|Oب=Æ×ØmpÃÁÀ¸^úöÜâS þ8ØúeÛ²1zܼm\ƒ=+nàù0²1|ÎÊÓðQ޶h2¦éÉQø»´‘ŒÑèB•[ƒìÞá.ÚØº2­º‡'}¦çþ8ƒ©¶ã5RD³"•.ºÆ«G °´µRU/ú*Þþï…i+ÖVU;§C-þ¤/ûÍQ©ÛÚ¯àž¶í„uÉ@y¾¥”äÙfʵªKÌÅY<¹á¸ó‘*:l Sq%6Oò5ºÊ ¿1‰ß„BVíºòUÇHQBB{ÌÓ!-+f ¸gÔ[„n#•íPz{›ÅµùXÖÆå#P"Ú]O&dH¡tÂ1xj âÇրѬÌäÞ¯4›wáëeº„Lð+oÛÒ•èãøRf‡cOaR Fí ²Vø`¾è•üÐÿå‚sÔmiAÒ‰ÇZhò™ò¥?Œë¹ýþZaeYžíËAK\@²õR‰„Tbi±yT —Y¥·!*(fâìnòÔJ«ð2J0sðZ=ÈÓ æs©DØ9˸ ¥úq]}Iœ#ÂÉæeÀc˜PÁFoÚ5j•êù¥@?TÊâÿhÆ.r’A><”ã»±{l¨é!c‰;|ºÜ xÇŒøþ>|”>ŠD‡Ræ4%s »uY’ܼ¹£ëø©/¶@Wž¸IÊj}¨Pn9ÌN‚!«–<ñi‡Æôw'>„h“ù—­Å‰Ž¨“Úïn0(w¿¼-‘®ïA}ä•–Ç}„I/n”b§îÃæâ¾‡¼È’ËaùÇ«æØf{|Þ§Ûp( B¬²á·ÄöŠn³ «q¹Åä$ÅãKU2µØyy+3…¶n­N”†\ØŸ˜®~t™XùoªØSÏ”Ùt+;=¼ÿaÎÿ÷] 2#[[²xø ;@¯¥²cà!Ã!c’„-ÔÖDÚ4mX«3×WVÙ(uŸ½jfÝ•¦{ÀÎeоv¸[¾`·äÀ“Ü0 &ÐÝXIÁ?\;áv]Û•7qñ:£, B0fT7Þ¯Œæ0¬/%: iLÔ›H·¾ .–ˆýh¨Þ»¡„µ·ã‹»wƳ £NÂÕpï^ÈKz?i £f'16ζg¯‘uÌŽòyc÷G{ âS£ÃÊЖdÁ«ÀylíÛs„÷fÞ/T•M¦½B¤hó«pçL?w%¢Øß‚s@ôñuÔ(éæ9¸ª‚Ë‘aj×£#=Ü8Ôˆ‹APµ¦:^ä{l€ 6ÁJAKÊùQC° n?ïa£*ÕuOyûN›_©ˆœ¼D~|B¤ÍSk ÔósW1\6L0C25Säe-/„~ŠÉFÍûýe¼„©çêûHC8 !–È)÷Ëç‘ ›¡{94ýIW;ª¾÷·‰pį-23ê3~r Ü~eˆ-Ïîöí Ô³ùœDöûÍ,SRáHê¨oŽÁí}¥™6}¬Kce5Ÿ¾ W¥Råâ-U8|½Aô:ýÄÿäIÿžÇë¯V‚¶~¾ Aó”õ´”ˆæÄ£¼N]êclôõ!6ëÅrâkã;Äþ[âómŸ8ðVŽ¡%4€¬YT8­‚Ó EžW ¾vdn8Öh´ìÛ4Žœ~¶/“Žª $Bø¥dï^ýž“E° ÄI€¼Ahs®9QÕš:¾±IZRKÎDR H‹.Q>ìkoVÚ4'2h~–)ʸf˜5oŠlËD|pÝùè9ÇÝ £èN¬óOY½‘_¿• Ôó]µºøÜÅT®¯ëìý&X½W„ë!\²:н?Õò¥0rÊH ¾È>¾uWòÛo¨¢-B>»xð¥ˆ)6nE.¥C7ñtÀ¨øA!U¼ ª óµÚî”k—2ÁüÔ i¹*0Cd[ÝèÊê6»V[¯ݧû„} }ÝÚG³“ÑŠ»w‚þ HJˆ$ hX¯Ø HÜ3¿ ûwц3~Ò HGA´™„ñèÕCä!Tds–œíÁY bÔfl˜‘ ñ!Õ!©=+ôŒéTØëþ÷™ ´/aZr?N=רNP¼´Âel£*ݳÅ Ìå³Á%žóAK,‚7ð9 ±9<Òô"óïìúgãÔ}Ì5ØáX½LX2xÔžûKôŸ¥–ÒF)y?; ¶lî!æJ?(…b2&ÃFˆˆ¾¿9}Ð@lòã–ÖPÝú‚œ9éõ‰yyÖ–E©/̽†4Mo,¹§"$jQ(â‡Øy@‘’®FË“åÂvܺNRGÝ“"¤@ ‹¨.å‚_Ĭc xD³9}7¹óÚ "ŠÏvÙ¿9·&Ðv¢BlŠ¡’/ÐÁ­xŒ‚†~­ç…F!ÒLH­³Å¸0RŸ„\ÙÐ7tþE®„ 9…š5> ËÚŽ[ê~ü#U)"9_iA.g ³pP_â{ è‡[¸œ š¤\Vƒ¾Q·àÎå]ø)PûuÂ1˜ ²ÕM6L„ O'è±¾kL¨çí³BMŇk4¬Óû3?7õØ 1Ôø~‘|¿ëHGS(öy¯=‡W2#†íW—•¿YX,Îä9ÚŸïMø™À‘²@Õ½iî‡z¢KÑ1·m³Þ«Kªƒ—¤¯óïAAÏ‚ýÑš¦Ö4©Ðü‡ˆ¬ºÒwÙÁZª„ý  ƼY‹1àÝ»=Ç-à«ÊbSgK#òYž šgß®]Àkÿ•bHÂ8K‹éÔ×»³ðØ“S ÆÆžPë3 V?ç@oZ¦ÑíõCÁÒ›Í|a…;†3x5µ8^Ù’ò)B ®i@ Ê4ÌS9¹a„,f#Aâ*-“Αž¸ôf9A_à+nq]ѬÇ?Êÿ/d“òÆkU å+É®"æme¼–½t­—škÂ"‹ rg‘I(Uo¬ ¤¾kFl`â+ÏàîŽÀÅßÕæ|7/ô¶êiyʺñšãs®üÇȽgGáŽs2¨à  ·’E±±9ýýBIEðÕ} ¤ˆÔú\ê'7ªP€éQÏ🩳°èPt‹CB5é39,MÄÒç” "EÀ˜‘Ö½M/Ç)Ó˜+8™¡|KTé¿v€¬%©Êâ|Ë%ŽS¥ˆó’޵¨Æ¡Y¦€'GPX}îï;ȶß^‰_‚žn„êÄtwä/â©m1šÌüâ´Ùr°°K2'ƒŒÖwä‹Ë=8Ÿ  Hæh½prÝñküCíÏÈp΄‰r[PÚBø\ê‚”nŠÛÄî0ÕÂÓv$fÄTÞp³8­6}KxOéé8tâ3U @uÍ蛢ögÂS¨TUº"¹ ‚ï/ÎÂ.RË0>Ô@*?|ÁÖ¿`u.Ãú¯ó8íE!¾†N…Äz¥°S@Cä–¼ï\ÂnÞ¿M\žè¦:ŸNzôY*3ÍeŠ¼Ü éë' ©Å ‘¡"20q¬k! ¨Œ´òx%F£-8|O49·ƒN½ï¡‰®ÑY8’’;eÞ1˜u”ÛŽ¤ïúüy_¡x»÷3¥ˆÀ11ò( 01HáÍÑPé$n¸Æ0oòt)):”±E ­Š×n§éµ¼¿=úèP6 `p.ä¤ä·{OÞq½,xç êäÞÇ(W£ËŽ ¶â$Hß §¿ýáÛùxo¢‹³Üxçpí†Ô-×úO3Ü!¶Qâ¢ÿ£¯å­ #B”8°ŠÓvÃw4 È‘Ë%‘ÿQ¶>ÚRDdja _ÍÝÐ(š«K¢LðŒ­- Á‚ÅÞ¡R“|>Ud8`«æs–Ü߈©B¤XÞßbª^%B}ñÆ’Sçv²nþnôã&Øä,ß;ÃP…Sz:ˆ/ì`¾\¬%ÿS”CelX´GÔ£Ë÷]¥­Ž’ø§êaô‘ü•ØLM’¸ö§¨öðõ±¶s5ê6ÕJJ¹ÃvUh.Nr-µÄ‘ªQpÎ\4XŒ0 $ƒsÐ2ò/Mi1{\ jÇ „ÿá95‰§x¡/=^.=ä†4MKÄÇDÚõ½=[Ç¿‹$*×ÎW‰”þ_ÝÀûÙð¸–ØË®ŽÛçÔɪLðjリ“êçõ>dÙcÛAS¯óSÐáý fËòyðrI4U%¡=\ÈQäù*¦ ·—·žaú’¯|o•†± ›âðrFFøŒ*@áµòf=ßjÃôÙ.2MŠðö­µ-cIDBŠê…,®lŽøÌh3Žc"2x‚¢‘h)BGûSÁBþ#Éñku6"ú¾“k¾CCÉ­4w>f m9YPv‡Ó’õÔ ˜{2i â(O\X5»Lk°ÎÎÓ"[ýþ¯›=K×-’M xïô•J¾”è¿6£½¥JÑzâã‹ÖºµÁ'Pój†_¨Å;âVк±À6%Š †fîëv`ëf9ö|òÌŽ¬Š2¥½!~@BR·(båÚ« #TrOvw„u°k"ÄŽbÌÍ0ZQàÞ‚ý6©…ZfžQˆ¡¼®¡À¢‘={¿ƒtâÚcSéØV7¿ô[¥vÃgQ†šðÝÿ°*m¶MÌ Ø9ÅÚyÌ‹¤`q˜Ê©¡£ü«Þ!túzýWߥV!˜¹FÇ<4n³¿ø˜D °mGz™ÞãìÁ>û®'Áƒ¤Ú½ŽÞŒÚÛõ£’*î:œÜ“«DrØko(¾–—'#]XÞ'm$ùÚ­ÎaÀ<=ß4.•’™´4¿Ô¥«©Î¨ââÑZŠôÔ¿3ƒ#AÍüöÓ[Êå´G·b A^IJ¤Ï@7®æW;¥ÖbU B;‰{*}Å ós<â΀üË`÷ü¶+$¿¬{¼nÑ¥u6Xy44ð.ø¿"mR³Ù£‰]]ÛÌÔeŒŽ$ 3Ê»ð^‚QËC\§2~çî^ˆ£#»âï ^SÖAŠ£Ð)4W]ЋáÞæÛÓGTsÒ Ø˜¬âðy‡³'˜‡ËÔö-½Ü¸‡ëѹé~Q³¶ýŸìIcŠ‚Mt˜Ð‹B8Vדzé] =„­£8…tq2wâÈrìpé\GÉø[ºçFÀIâBt~©tí‘Öj'ÁNÈu9ʯo]½ï¬cufsr.õþ ûP¶§Üõ–ó¯úîÅbi͵ºuÕ-œà—!˜ªêô³ød.KÙÚv>GÓ,:”Kèåîö–®v½{­ã$Œ4†×÷S×yáPð2TL÷Î,¾<ø”Îp{1h=‘!Iu-ŒÌ¹•E˜zpþ¹5¼•À­à6 }/‹8·hzópA;na%ÉL"\6gRNZ®xTóÓ½_áš”ì8ÆÈbžÖç5’Q…>p•ãGŠ.—ô«<†ûDg_£W¬fÒ ÆwÈ‚‹ ¨X8š±^Úþ: Àfãõ½øÏ¡²ÝÔCå³7Œ{ å¡ÅèvÜûZ•¯ƒ÷¸"ŠÝ÷˜ºâåKïAyŒÇª^Ìõºr< á±xµøÂ4Þp÷Ú»»G1Aæ:T»ºÑ<‰±¾d µ©‹`üÁC®bÑ]?Ü«e¤#JÉÍMÚúìH%³)ˆ6A¿\žÙ¶]×NÞˆÁzM¥Ï'ã‘Ü3TzéÇZ üèW›öR™TüψÏ\³V ¢]?ˆÙÃÀÉr*™Ööš Ê*žâÏ„”±{ Ê“ ¦ úë¥dæôoXR@FÈiøA‹AÂÜem’#5­ÿ§Á7Å#”$å–o²±.E/[ò‹Séú]'^_T‘7Àm^u83g»WÂh¨Ó–Y•¾D¥Hg±YÕa‹q7 ¾h ŸM žWÔ¼Å;YÁ7Á@†|ö…AHÜ^(GÇ0†k³7ÎëÈÓd£Zåè¡¿ÅFw—®²D¦3Õe×­‚Ã1ú­—çܺEFÊÕU&2Óð´LT*ÒC"»žl]:3ŠûŽDD#6å°£´¿¡ã!4õÙŸðèÚgÄðhdˆð`éM¸œúK$ýû1LK_-þÂ_:2k¶ã1SÀv㸾RëTïÅåApE;Ö…øg/¤Ä¾úáÅØ)]d§éÎã3ˆÝ ž(2;Rd¬;»®.’Ãâa2kž³Lsº‹0ˆo[²Jžè´–VüžºÃŒó_+&úЀR‚hšƒ÷þÈÀë¸( ´~aÿ®è–šw=!²W…ù»?•pÿN-ã"—€âR<¸6Ž+ :g ”ê‹~Y综Äêá>U]»¯SeAo^±ÉÓŠAÌæ ï%øæa-~½þS=zd9úYÀžÙ»#ùyp!'ë%šÂ}MÌzq¢PHªú;Âx&JGŸÜtL>4moxEŒ¾t¼Å·¡?4¿çŸ”Ôm?¥ÄÞº}º xcD²bÎüªÁÇÃ<÷¦%YžZðãaR’™ÿºŠþ•œT‡qñ¥FD#óoMR-C¿£ Ð^+Š9¥ žëØïÖ§{ÍÀ6JÐÚ ‹Ÿì 7å>’Gîéy5Z­`E°yY3íù'‰ð]îGw Šä­@„ •ê!•°ÊêÜœ5@A‹“ð•²;¶ÏW’SpŸ”ryK¬MâL®¶ôE¾Äí§žxöH6[_.5‰ó*`ñ•>7”†!UÍþCí @z€‰‚gšÀÎ;µ#¤Cô:ZÚYþˆK kÕ@?)Uj{ ö>zÛßO°CM‡ížâ;«Ô°g(UmlûäüSVÿ#:ŒH6Ù “ è48'TŸÑÕB8>Õ´ñVš1Ë× åç0’²ÏEÒ ƒ¬z«øpËPíÝ~PÏ,OôpœF‡!û‚öŠüMŽ>Ï8z´ë裻}¯u÷g¹ NØNÖIæõÂdzä>pÌÔÎFºO–†/QôÕh!Ù«ì—Žç)[„MQ“ófe^OiP~ÝÔÛJÆZ‰¿¾žÛËb%ciëCnšDR²—àn J5~ jå¾ãX¥ké,«û£þ~vçb “ÍøexD¶ˆîwhØ›À”²q/¥Ê¬íš‚2“v­y4#Êè–ͱ5QiPýÛîØPö\1Re ̆b’h T×ѳ¯øý2Î4þø½¥óç÷-¤?O‰²/²inq6N!/n wŸ‘ÔBòygëÒ&™Tj ¹ü½“Rx‹J¤JLÅ8J_¾¯`ØóŽâ‰¨gÌŸ™±–õö96ô‚”Þ)›hX®^ÄS°GR!ÏŒ´wLˆëe=Z+Õ-ǵÑ.%…ññL>MŠ™`9SJ¸¾Y+u¡f/ù)þ¿(„‡± nv³mKÖNn¨ÆdZ…ŒèP@ר¢MZ˶s‹s(=ô–æM=a1c„•#i#æ`{D…fÝýÍF¼Å§I¹)Ýà<útH’ R¦Õç+Á¨òŽ8`Èd ½ÈR´Ä þbÇyIðd„TEÅ7S»êŸ…‡‘Xá‚°îÊ*Âkµ%HÐ+äÃoN/÷÷aáM^NM"¸Ù·1sÂiQl)…ÃAÑ›ìúFiýë1 Á*ð“×Ö#œÃÏxåeý0ì¾ÀVFæ@×–Óï0ªr÷N¥*miõìtyª<gÅÐ]kŸ÷‹Wr+–ùBù»è•owëä Ñ£O÷¨æqRí¶­°µLnÅ‘ûÚDè¼nöQ¼å踗t“æâ ĦÑó¢< %_„ª‹Z©¤] ô¿6™h‹âne'SA¬¶Á7A 0c…¸×’Ó{\|Ê/êÕ1SÐÄs~€!(¨©¦°² &Kd}Ø]@j’•ÅfwCµe'&û4+Ùžüö¬³yßG×_îReÃ?Ϩœ€·m­nŽg¶moÐà?;5Ú°S‡¯ª]"©ÿ|ÑW«5 ÍM&!ëx¢„ @òáJåê>•Í·fÚŽ¦‹/OþŽ€õ°o4»ãH«û@eÎù“3h_Ÿ¢fx¥ð·ÊØ('¦È•Åx“`(¶n¿é…ÙëÚj®tv‚ö(Þô Ïéd(áÞÀªWox¯®˜x e˜};å²{´Q©ÇL˜‹^(üþ®,è8ˆPe84 •¨»7ÁÏUó8Ž pëEGˆÅµƒãªFPÓÐaOš.?Ö$깪k¹šó†æ}At¿4Ü96à?¸‹Ä5føâUg²Ãú¾€Ò T¶#Zavâÿ±§ä3N:rä@3ùjøYÄ-q%Š%a¥ï? Úá*^Œ!Ó¥²=¬˜Ë½…ÈG­dw¥ñý*×A’d¦³ Z±›mB¯ô ¼f\‹Õ s¯ù·͹Î1#^gØG‹œÿý÷ æð@ß% ¼ñRþƒ}+í»ØÊYûDò®¼{w‰Eì½êõÈqÔÆxë#æpe:JzÀæS-àmÑ“ÕñWwŠÙg½'{55ìeä]é–nOaÙ_Å¿”ÊÙ@\G@ÔdB~6s,ŽÏB‘¼£”»_VL&ºçùÛGh9 b`Yk¶ô  ãA{ØäÖ-Qfü¡;Ù¨œ3`94\M‹‰ªÆ ŸÁP;Ï-§³%Ë1³í¡W Q¬¥†nÄÓ˜]–Sø£–^¶ÔÉQžKp+¹ÛCK¤‹»ÏR!—ÝŠ3ƒ¤Õó—WšR,õ<ªÜqÕûx•Ð8©à@ÔF%+¥Yb㫉¸ÆÝ¦rÄŒàÅ4…"„ÿJû12åÏ™X¨IK¯=Ïv—å}©Q»GÈ©QPƒV# ]zÏ ËxŠÂÿÜ-Ä_Is¤\ØoaSO2-{ºJÁ84™‰Ö*óGáÊ&œ­[±5ßþõ¤…»n+Ì~Ð ÃÎÜ!÷k'“ÌÇÙÞ<ó1—‡ðm*‘~7Ä@íX0óû¡}Œ….Ÿò>†ð[F ¤[É! álí`9I·Šw!› ¶õ±u“/'æ:+.ôødJ$çœyÏÆ“ƒžå Ó[Í_pi=ôô)Þ·}+™Ž):þP¦æl¨§ÔIk+›æ–ú &„3jÄÄ>!n à¸÷ƒ±£%ÐGUÆÓÑùÈÓTžÜ=PTˆ<åãKˆûV_án$BB2yPÀ ?MYÀ{£h®–å_~›Ë™Œøø4“1£uéh\nF¾ÁwRÿI8¢ù»gD®Zµ²‹_·VDáÃë¨úöq¢¯Px´ÿ°w–ÆÂ™vÌwñ÷¨-àòœÆ4Ùz¿Z¯§?†áLˆ2à¯\†½'Ÿ"„Øë†&JÈ DX[Ž4“¶TÓ£iQîŠ$£€kÞ%rš½gí/ÿàvœµ-Ý _kp¼„#½Æ¥lUC5⊓‘¿·L(W!-džÔïèÅVÇù÷?»ÛÞݶJ1™Mgš¾ åq "À­K!r·’‚Ôì^õñŠºg†>ÁéX|SfŒŽq+Åå_hAΓçHœöÊ|R¢`aç¤ÀI=%á2ÕÉ0}ÈR6È­PÑ‘<Û?Üj`^Ѐ?ú‹%Þ„Â'<)µí\M˜Þ­\¢inÈAÿëxa =Jô•3ˆªÓЊg×ì-P$éϽï=†³‡« ‹¯Ïß³¼èÇMÝšô„ûÝ- 税d›nM,¸Sþô·¡mˆö®Þ̘ïJ–:gŠäth+]~À»øX²¡XmàM ú­ë¬ ¯Êx5m™­Ëa g›P {K }\ëµÆx×<Âé42Á¸riy‹Usêþi¥qÆâ¸oû±‹ª· Dàº2´tO(nCþøöíw¢ÆÕÛB¨f¤‡À$+r “¶ßYzÞè ßh“aª<ÊOt© œ‰ÚõžÁLωM ‹š¯È^êôi¯®Æí£BÒd.ˆ*ÓÖÍë,’±7Þº¾È’ß²´‹-m­§2’û(•{_I%Г—aÍÒÔÕ-¸Ñ™=ºo°UT¸Íób/b×bZUI6<3Æ¿G‚÷aäëì1H=%&ï¡•’þXî;Ëù¶"IR>(C׿ÄÒ¯¤ÄïèòÿEŽ®©²º–Ad_Hx·î)6)NDšwÖy%–—áU}wLæUÜìýÀn ·ƒ7â~|¯X§3 L„gÆ8€¼-Yú†½¦xjáÊÑmèÊëû·•5î—QÓÒ¤R7Ð8_Ïü¦[¦ >ÆäF¿;kÿwÈÃN¿wÙ JÉœ! o›ªÄ” µT Ûèjy†‡¢]5>HU}S‡Nj¼`¶Þ p' qü‚«3GÊŠKy!Iõœ2sÌöÀýóÁÔpÅÜöC~9+ûÞ{áú <ÂrŽêí9¦3²G)Ù ´\)½n×JÁ®Gº±ûüh ÉZå`½8ßjöòL{ÚöJ~TNÏÀùÝ>TÒLÂ9ÖŽ2kÙj´ƒ0 «ôK{í˜>@¥aðçžG4ÀÔš¢›ûÃOCõ‰Æ‘±Í¿ö¼Åpl[³cЛßæô’.í9H"Ô"À'__!Dí›äWÙÒRú™gº«Å «yßj5’DDQ¤aà IÞfíÖº‰€ØËÔxþ¦°(uVûOÐ÷GØæ*ˆ¤aŽ->ÀÙºçDp@‹.û–ŸÎÔŒ¥¦¬(ýv‰þOi³¨Ÿã >•©R/Ô¦36mšdúÃ7Ò\£r8*ȱ´ fVú°ÜTîËh2 »*Ò‹ ®j Û¹›ïê‘Xûfv\JîæmšÇ{‹‡©Ú+ÓuÕL­AVSîvh«Ò˜1È ÿØ6R%M÷ò“γxËês#E%ñ N› vùë¯&À¢ûKSŒšÛR±¢2ÍuÜ–9@U2zGzÜxÁZ83t'b×/-kÌàÅû2‚La{Ý,|‰ì8Ú¾m ÅЈFšCÓ`ß#x¿!Ú3zŒ• YÅNT§’̔ؖ»ˆÏ™?×VV¦ÚŽó&f¯â²û°ˆp5ob|¨#BºÅí?_µ1ÛB›dÓi*„òEŠÛ4ï¬Ðcº©•yd$ñ‡Äk?AÜ5óÑhÏd{9^ËcSÖ«—¹Š¢ÁÅ™÷aaÅiø>øXYŸ‡Ín³VØ9óV„!¢`?B•Ôh“v Ø”6ñ^G— ª6pLÝ£mÙ‹ïÓ¼¥ÛiØ'äè X%^ÌN²Ó8t5dkûÞTè§Ž 3DY²wE[üí~k‚ä¦E\˜®žÚiŠäâ¦ìÝàwêL~m1(p¹­@áöšXk+k0•¼ðù‰ò´d–" ÍŽæì$A¼ €í•$ä‚?®H¬÷uýéѺa¾ûw¯Ô!ª Ó7šŸ@ͨJ†ži6Œþ)îÀñË£}Ú£ÃÏ[¯œÂ^ë¥&VÄss}§¬ 怈‘ö~Ù¾BýÄT–,‡„RmUEKçÑ-3’¶:·Å yóDèWD¤¦ ° F(Úó'\§çmÂx^$•ExhAÒ&«o›¤QwPLTGÍ$ÝâšÈ1ƒ/3Ùš¹j%Z„® lÄ$@Þ¡¼»­}¼ŸWE8oÑþòl{ Êôy†¼ê‡[±4“!3ãM1¨Ü&¾ Vë5`ß„¹ÊÝ"+!iî0¢*Z%™jjŠ·F• !ÜÿM••Ö±Ôˆ·¥ÂÛ޲Ë%s™ïxN“ øj„‘0ê»bó2Ú°°VØ¢´ë².„R#>0]èÆ4þqòm!’›©¬íð{ôTªÎÅÿÖjáÃqUÁÕ_= Evî$ŒvI™»42ñì$ÑÆ#Ì~))ưVç×ý" t|D:2¦ö§‚‰ó–Ó*6^O…óUr)šÜ;Üyöì·^ž"|ØàÑÅË“-þ{„@­ýRt4Su)Ñ‘Zr+l:¶GÊ£2û8(PÊm³¢‘Mþ!šmÖÙ¦‡Ïˆ;w«Ž m³«‹qg¡,åý8(BÊ6¤v*Zœ"ts.xé|Ú¶óâäQEÓøäØ ÿÜEc”¡³AçDgÀÿ•ƒ¡¿~Ô§Ì ‰<~9ÊÛ½r+lt¹OaØöŒµ=ÀËŽÊÓ4-þ–.^1LÚ¬lY­‘:®qs#³Xÿ£] ¯ ]3µú`L1¹'/êÕ®-Û+cc‹‹=7?úÿï(¶É¶ Š S¤uÁCa´²÷ίÛ;Œdá:1®ËÏ$h¿7&B®­ê„î¿k€ª×Ú#‡d8E§¦39Îâ§çi"4õªg_ÜÙ¼ñ f«à/ùØÂmÒìó2há(¹/8‰ÑùTîïùt×ü¯›Õû‚‚ቡdÿÆwå«VUþ<ë€:å¶¾ú›æUpI{×+/©úl¤$¸tͽºZ)"‚y–T`ÃpBþ|¿üëߌDØ#+†&st„Å7·ÉƒÜZ]«Õ£|8fîAI¸Vgì¾8Q"(Õw·\¼#zºo‚x€ø )gÆt™Ìç<ÿPМe‚ÐÔôK¶hqú,Ø$¨ˆ…©¸`G·cl‹Üi^1œÑ3Ëÿ39À#3YXh--¹çbA/µÚ\>ž-®ÖÁ—gŸA.! _`<!*)`{YCF‹ò­-ò:tkRДz³ŽïI„ÝÐÊ«_}9æxªÜŠ$Fy|¸'•ÅÞVdB?³—Ìæ ñã—Ö)5:EŸÖhanÿîQí²¸üî@tç²m6à PJ> ³'i+VAŸ'Ô»ýÙ›œÍƒ? >ÿúX|¼àC%Ò?®ü»l^Uéé:F‹£,ãˆé°f•«&¸QöíSnÔxí©ÃD9…8t©`¼³Ÿ{„Æ­ú„Zn8XÂ5©ÄCгyÿ Zm\¶:1±Q†7… ÓøÐZ[J59Ü[.2œ§ñ'o*’fÕ{/fò›\#~»C~s ˜ä=7@c®#ûü(wjÄ>ͽlœA"Pnš¥¥C‘FaÔyŠbÖ½@ˆY0Œû6ÎjÑDQBœ6MKŒ{ËßErÉÖ½PrÁÒ¥]α²±A”ßKkg´Ûpo1-° ¶..€TÏt¶ãìÊ+¢žä£ó=QðÇV U×Ýòô+@þ#ßMÞ\Ž•C Å¢æ»(ÎÙä³ ø—æV$¹"› ª£cÊļ֟‚Ûµ5㔲')0)’Ú¸¹»tŠÑ½šš¬‰3Lé.š]7™‘̨rݰ‡ V;6I‚¶¬é zÿ†cV-…t¼—~Þ% a.3M£ˆBÆc깟Ô5B„ü$=´ž ÈÂ@m°?%ꃰÄ2b׸IÜJ°eÑâî§!°–pùÄU«ëq´XyœÏFÁXÜqŽ"z‘I.5ŽÐ\óOfÍîÞºDʤE­üHçKiÅg'ùÁ£Kæ]<-úDŠ‹u`Q¡½ ÷¨l'ú¤—à ÖþP±šªð»{¹‡×LfhÃÔ.Ý:µÛ.âÂ|òoÎÚ gí6¶]dÂrŒùáœ3V/Þ+ï–÷Ë÷fœcµÄpðÜ MûNš€6DCÚÿ`ŽôŠfª2h ›PpI"Ÿ _'²0ê¬Z¥ÐôëvÃ;30ˆ{?ÕÏ8áÆÍÉHa7 ‘º¢½ôío#ëe6=æmü&ÜJÿ’]=€aöå%7R>£aÆ%…Tah-œ±Îõ6¹o'³0»›P«…² ïòãM”aˆî³x±’Ç.rT‰TvÌèwÔÇÄ[—2ù›¦„Ïj´«÷õÛ: íÂ<º’~Ê( ëºÇåíÞ¶Q–h!¢ÝWƒÊÅ×QyËâ€s]Œ¥ÚÂxŒ… t}À×_®lØ„>,±xÙ{@‰¿cm… q§ñ²•hÊEÄ: -áå$ìq¾Ä [åé3Óªó,‚jæ…Ã;spH,Óè %¶ ì.Oc£‚ÌÐÐ`Y-ŒT H×̽ǒ}³ßAiŸÂߺÕÓ6ÎG·È¤ÓŠFÓÿÞgstH%ÿñ•H>5o;{¥Áò6l¯Í.Ó9ë~ý°Òò"›Ç2q0Ef‘ñìq?QœI3!Òþ@ŒV8‚ÝIË”,˜«åtŠü—MïSîI\Î:DÞÔ›š}6¨ˆ÷S€ƒîËŸ)UÈgߘÂOù³GãJ¤ qs„^»2'gP s£nÞ9`¶RkÜÂFt/b©€a‹°7r~]†Œ.áªê¤·yõ’€/æì^#L‡âUúñҚ̾Aú‹N" JG8Ð ¶S@ gðR·ÓÊ'$d4?¼¥/4ëÔD9oÎý}.]´C_†¬†Å5ߎábû ;¸N©ñ,ëšùòÿãÁÓª­&}©Äœ‰ F°~`Ü–Ð6öåô| 맺z„ÿ5.P±ìÇ ¤ÿÍYQ±›UÔÐvSﻺ‚>âAœ­5uË‘g°®ö=ÅöÆÑÞV™]ÅÆh•€zãM%hÜ!ù·Ùõí]íAÅÓ ¡bØcÖþmÉžy¬àÖøÓ0ÌžKîø¥–,€]¥ ÕÉé@×Ðis|cÚaõÄt±¬`uFÅÇV°~+7o]9H¹SLš+ý í+Íø’¤þNàs‰9 7ï‚o4vÎt y¬a YfÃw þ|Ÿ†?ËØÆ‰q­WáY¹šjÛéØ\Ô@Cد3‡"™zûSY ûø>@Þ›FÎ Q•ÕC2#(STÙ]Öz1Þ‡ ³ÕÂJø¾às ±‘¥c9±zïH+=¢¼e¥ ‡œ[ œ¬UËsü°³ÿØ÷.+P¼UŸ]qe‘/;. Òõ9…xì+`»½QüÛ¼±™#kÈ‹þÙPIBÄ+ã•òýC¡ê¨Q’Õ©Ó&VzÈöDÑU£DnÅoð¥NTÉœ„£ÔÞ,eWðc…µ¦+6rO¶;âˆÉne…6sÚÚàž¶î5r(¼uõÅaYyüe&-‹õý’$ûïÈ›c¬È*ƒ®¸U3žô±šB-‰8?Ëzª(KÓpyŸù¥êk9òöhá‹ÑîÞƒQTl·zʤàí­7pÿP’ýÓ5€à¸QN#¥ §8œ®›I²£úB¾¡9ÀH^(ʖƸ´íÎn¿…ró ¦1éÂèH%€ÚÐ#üë­š™j‘¼Uã¾í¿®†URÒz„˜\Ò~øm]‹}S7Á³ÀŽîvª;2«§³°¥{ù ×”*ÀftéYmùw”kÚv §ê½_siç0¦{À¯»9ZXœ2$r¢ ÿRÇz~‡pº[÷qÙ™ñéÿOŠ‘ÿô­ÉH…³×U49âЫR`F‚gt©íý·¯AϽ;,xÕ® Í5ôÜ5 ÅLþƒ$ÿÑñÆ”òø¸¯›Þ±Ï1šó LÏ2NW -nøØ€OÏ]-ÇõdMãäëöýò¶O«Ecñ«1®^tQïvZÁŒ½]izäo[é¾ñC¤æ`‚Œ^ßTÖ“õ fnº‰'w&GUö©çÿwxòƒKÃêdfDÚ#"q›d¿8]ÒÖ¸‚žå$’måÞgSÝìØ WÈúæQ^ù!ò_¦¬=0î$檂³’ ò‡óÈStï,;í+þtj0|ÍTê_Wàÿ›¸aO¿r&ÈûѲËäWþu$dYŒ¿7½L6ç’’¢H”¼­Ì² >ßlë{¦µú†£3u˜þ*Û¡#gÊu9ˆì¬t}»OƼÎ×àÄuŽq}ä§•ee×¾Jã•Ø6%L–zßò?k¨Þ¼ø_<)È´ÅêJ21(‹Á+Ïàø˜JÙ(ù¶åÙG)ß}éåoÇ ¡­±5ÁP‰£Žzc_ÉØA5|úŸ_©1#CŸEƒ£º—Õ¦¸À5K}ì‹èûow ´;û‰‹¹@´ÚäÂJ Ùü³þoàŠúI_ôïž cשPxÞ••ÚQà³G27Î×9ŒXUb`vŨž|õÛHìt°¸Ýiµçqm2®s«©S ¤—P†ÉÅ/´+¢«¦¦ïÖÞYw·C¯¥TçL»Å|Ïű ÆväF'uÒ{éÉ‹0Á§—Q öºAÀC’K"¹çÆÔò¾»b•åI‡ªïˆŸ¢‰)¸€Wuó»ÊËÜÓn™0‹à‰_ÜâÙ·¿€ªì•Ž¿O¹~O¾>Ò»#XØJ#élñÛjËöïšF€ˆñÛc|(Ü~æzò SnÊ8(Ú“ê§”WIœÉv9 –Ñ'Ã=Õç–X.Ÿª ÆFc "[ù4Aˆ·Ã)}Õª »ˆÀ£¸+7úqÂ0íøнºðôÊ p“Nû.x³”‚U`C˜²-0Üœ»/?Ï`0€›½PEº^wEŠ?\=Ã7ܤÝÿGV)d„ícME™NÝ¿H ûêEuÅ2py)Öl7ŽŠò¼[n.wRÄ&.§qG¯Õ8ƒû¥¡`â¡Ùƒ¡Ïg?IuHNzš|ðžŽqÖ ‚USÇ5+-ù ¥* {.Å£j{ú®zÂw¥:žËÑB–7ݲ ±ƒ‚t *re¥BÇMkB3!©abÌíˆøá£7 bçùª]1’#â-̼÷:–°ÞDÍCÛ‹VKç`zuÿ´FƒÕÇNÌìQ®( âOrçZ _í„,&"Ol5,÷ÎʧL¡NÄâJß­–†á¢¸eh6´íŠáqWf¶– ÜïžôŸF@„B¥T’dáVÚÓ¶õõT’ö…©.¿i÷Ö!ª!H;z¤tû~š RC3V½–|«ýƒuL‚*”Nù"½ÔJfWT)’›Ò#xM>Ì÷]¡*å ¬lEà'¶º—?‘µT~$}içíÔ­3€á3ÒŒÎyœøÀ‡§útÀé_£“dkhDóˆL&¿˜¸®sE ~Â׿F¾—þ/ò=2<£¤´·G¼)qW¨¹ž$Áh¾¬f/<ª§ìZ­å"ëfWŠRÕIé*{%cçLJÒ)sÕU˱ñM½E6$¹+í1hqÒ|j¢;¤ÒGrß’ w¯îmœ•„q¾òk`³€¦b?DZb-̧­’ªb膧Yª³tA× wÑléꆗ:ô1jÑæ—Û`h€òp t’¢£ä˲ű‹•wHþb]ÀW1;üy§Ãó³_ΔOp…¨Ñ\ÍÜÅïÄîC«×‡n@¡ÜÔÖË.e|bF ?Ð, pUS‰{ìp€ê·Í5`è©6Šc­ÂM6 Î֒ʾçdÑÔ´÷y£µ¨ÏUK}5|µÊZsèþèú fvQ>µ ÂúžKÂaÄÉ ð¨'Ù Æš[öÚ [ÂØô{|¶[]r°RŠ‚q´DЧE’ýkr_:ùº>î|d¾°#—ÝjÕ‚u»ë2aÄ±ç¹Æ÷PçnÓû?¢[ÓXJ~»¾^áÄbç{UƒEš' ˆÏ:Ô  fñÐ)Òª—k}ür>Á² Á®ÁƒÓþÄO&Ó¶|j™ã•ævÇl$ñ«Ôn ,PË åša,ãð®šï­„S¡x®ÀŠ2H½ªƒiü ^7<ÜÐ £3¸O¢ÀCø.- ÇK(µm^;A¡ÂÆ}£ùHÿÓ‰ˆa•jy‘îtFŠ5¿•O°ËÕE  öÔÓ„O Ÿ-¿~{²pԙʟõ¸†%WòŠ#ÝÙßS®ŒŒúâ›ÚЊŒ \& ç4¢Kiþòí0å2Õ÷9Ï^Õýíl6½ O؈ i4o~^4‚ì…Öúðu»0Cxf"4ìëà IéÞ)à¹ä¹Üüœfý9@,·ì$ݧ_|ନ««(倌NÍf…ÀDMÖBo—+6¬Ñ_J¨¶!0ØòíEÁWç)çÞí,mo»ù‡>£X+Z1üîÛÑb€V݇M•°Û~²j´—ï+ ›?Ct®ltvìAL?Ø*å]>ìêåã#k)„ÕâJ¢ÑX8ÿw3XщOå hUjÁ+É$¢õpÎ×*~>Šêççû4dÐÙÌÐÃËI¯Õ‚b[ÝâôR½oŽRnlV„¬û¼²x¬›‡Ao³\å±JmFã5ÑÏ[ÒLÓF•¸zx§7¹Á&wÀrw³‘p‡Å—•{þ±f Þå0ÕoѦecó ëŽ JÓaÖŒ³ƒäF:ÚÕåÁjZšE9¿³ ܸB‰V­Œ;¸ßí ®îHRѱÝM­ñ^‚Š?%@B.Åý[Ë鹿›Š,«Q×ag=‹æ3¨mí¨¯Œ¤¢î€WGh—ԡ÷ù†˜WéÜƒÌØS‡ÛêÉÜ ‚èXˆŸ¾eU]¥2k_ݼ.f¯c,Ò(„&³˜NoLü˜.‚Éi÷Îÿjšb 9)ŒYÂxÏbgj}Ý´üÌu.ò ‰ç±Ýzrˆc¡Þ–ß~—xÑ„¾ÿ >޼¤Rý6o³ÏÕ€ô„øö`˜º~¨-÷µL£ƒâ›M+.v™]²Ñð8X@pTJÚ¦Æ" ¥‡tFº…áø* <+Ëg–0Q „¹ðÁÊÖ°ÒQÜÔ;‚ {Q˜ø¾Ù[Ø¡`h‡ˆãè;Ì$AèÆ* ²1¿É¢õ3|Ÿy ´{úÌ÷HˆúˆŒáEƒÁAûÔ9˜7ˆ­æ õ ”âïØ^¬"èb÷BN¾U‹×ÀÀŸd¯o(Á3“×…ã/¦›z×¹úéÞ|Ä:g0wÚ*Ú?Ê·“Ûê6¬r÷vàÎêêÚãÏdæÜ]ð7-àp.j>•®Eô¸œpdmœkÉÄ}ÖçâR6ž«•ëñccm3 0û$câãk¡ àü^‰AY­ä{›½ ¦#B¤(wìXiÕ¸$}ßí¤Þ}˜€‡^XQø|P¡Y£²¶Ú"M \i3ò®ÃßÕ:Ša©É­Ì“`1×ôxéc“¹(öÃ;|À>»ÂZ1ñì¨ts-A ½Ú‹ñɤIJ9ÆŠ5:#ÒoELˆ9Ñ5¢¿ë€e EÏ«@Ökî‘Cźì’H "”´öPÍå9ìÒLc<&ŠÉ™lN–Ö:s®ªºrúFB½êYÄ"KÍr&ÙÖ¶†í¡áÁc[üiºÀ_°P£• ÓþaŸ*ñpõ í“°£ 2–¼8à[ƒ],m„{²šØ~Íð7áýþ«^Cr‹k ÖãäÚ%è\·No+Öç0®]‚%§âQ&«=É?©_¸È¨/·ÄÊúqĹƽ™¦Ox"Áhc×áRó.ÉaP•¦“è4þÃW¤út{ !Èý0˶îg6l}]uæ¤B¿ˆÜ£¬Zh7ñ”„ÔtEҪɾIÂájk×à.›»+‘ùG›`îdǹSny··®}J‚[ÂŽ‘>Þ¼?–TÜI[«#­%!ÔJ:šãbyÂ"Á´­Ù8’;'4á‘ ¥b…á~M\š‘g ?2#®·3JÁJ÷Ä3M¸DTQñ®Jâ-5ÖÃV&8av "®Í,ÜE¨C‚9|Òý„Ô úq¡˜ÞžhåÁózQ”i%ËNœzŸ€°€Ê½Àp@J·0­_ á¸N¯ÂòÏq¤Úg‹ ÌÊÇëZÚýßsA:ðõ:9O-æÃq•Íq“,㯶€6ôÑÀáÎ[CîÚ”šÁv,BLhÐ+¼èŠ ÐŸŒÏúçÂZùÔE2’†þÉÕý \ge7¥ü3¥…òƒ}&~!¢7©([¨P•pÕKAùKæL µžÚ¶v!{§¸,•çøåÕLݘ³ TÁf[5TN¥T @4í3¼¬qŒ*L#œ[­jýºŠ #&§[ƆÞê8îj„¥JñH ÅØy[TÊœˆCŠçRœ6ö }·³qš÷òÛk¼¨4j¥çÞÀUÞ4g )N<7§Êqw¢x$[Hœˆ!€›XA%0;×øDÖÖÓàAM[\ža*9Fž&re§…¾ÍˆI|9”T£Âùœ®ÒNˆ „ýáA¶À!6ó þSÕøf‡PEÙãŒS@v´ÒDõ%ÌÌö€Ètç¶|–S«Ø"²´J¦µ@eO÷/á¸ã–1æ*Dð̆‚J[e®âÜáÃÃÖR‘WJ(û<Å9¯Êº]U}8¢€ZN}ä!.®×8þÝûýax/¨Oìfm²©9Œb›ÃE3¯öd?9Œ©G£Í1v°5ìa¾,Õ_MS•BOØ%:RÎAÿ9ÑN„ůMýà¾ÑMÜ.ßÃýƒ’Ô” L|:>tÀ¼à³Òæ[|Â×\Õ¨Æ^…xÂc»&zn­I&¾‡±Ç!X¦-1BÑ9DjÎjt_ÛP¦KË“ Ɉê^?T¨Ó '50Pš‘~ɲX8(Šì©2ÉʤôtR=·á TÒÌO¹«jêU½æ…ÓàÃË¡?Û9ÉPÓ/Ö_ ø‘ ã¿Iƒf©ÇЯ“õéãm•!³N±ˆ›‘æ‰ÚH͵V\ç‡×ê+ØZØ?¥ÑC ­èõû…×GUŽÁƨ,<ij|^¥öÓÈ*Õ¸ÿN …–¤™$eu àâ)T~·ÚÂLi«æ‰ÂŠ3úegS7§›9VófÇÁVÍ4#ò¬tJ‹‘ƒ¾R Kº!P^ ¨–_‰AMÞ±ŒSŠã"¡‘þ ´¦¶Öº°?­¨>±%c#_ûìè^˜rÛçµj* 6\¶Ã”J; ª…pÊYŠ \-šTÚuðÃ)¶¿ WƒËi§©«£¨T¤]¥1õŸœEØÛðK"‡Û€` ™€ÛÔnFl§u¥Ú)Æ‹õŒ€•.‰uÎîq^ؾ*Q6Ó*s©)4–¿ d¯ä~22(§$ä/0ùQq-Õ‡8"šD="8ž¡%ÎÊi,Ðê; 7`¢E;XÉñ v.ôþøÆLå~Ym ë¶ÄF9¸pìKîW(b›€B|"€&[® $!@• T_”à#h\õíäòÄgügþƒê—îbqvã:'ëŒ|Þ-g‘v+wvf Ý|¶ ¾‘ W#+{"Q~“G¬d²s?P¿2¬VŸen¿Ê ¡3ûÖ&ܵ›ùLT{zJM1ÛÓ½ñª¡•?T³¿f¯ gqf‘›tŬÅþ¸‘>+7?á.Æn´T‘j]ÖYõ"/ÅÀ֢ƆÑh’ëa¡ÙWüÍ}ñL^ uaªåïM¶)î‹^Ë^!nî4]®BMwêè 8sØbùAg&b©1AV8.».8ö]еVtòˆ_ô×õ°ØV,lë—V¾Ê{6]‹sßw¾iÔ_–YoXá=7Å—Ýr]WSˆ÷a %~ì-£ÕUÁº‘Eþ zrº´Ü9d» À†ôAtÞ®¿É'>î|Ïêýì —¡a–N'WKàC Wm¢O-éP\ÎÑ;÷­ß70°®ŠWuÙ°Ÿ¿ñnkų#oï®!Æöú@'ö„€UÍZij%(çb#aÈh¤~E]òÂÊíwŒEqžËß%N…a Ù‡Ëâ"õ&䘞׊ÅêÐ<ÉT`÷™ŠÊU€T†yÑ& À‚`6E¿Cîr&=m; \÷' œ§Üÿ¶/-È—ïÆ}ö¹Ðý5Ž;e²ê¨`Ä š•–gzðÁ†lï˜#ÏÏ»±õ¦­å„“ ñd«)R—.eMòGćËxµý1þ×Þ?XŽDTQÿWšq±Ÿ›gïéÕÆg([ah–2¬bà”^_.Ý;Ї5T` G°WyüýÕ3#„=­G·H=cT¹++CçEÅ9`ß20ÊŠÅ«­¸ñ ¾ËiÇRDß“y4=;¯—ʲ=4Ø…¶E‚õÚ3 –‰Â±Ëðþ®æõÃX•ÐeÒžpº¥îÉw/®1U‡ž$©ª§‹YFìҚŚ—Äf°¬ô䂱áuÇìí Û¶‡üÊ+¤’‹)•±Hñ^0Ëú 8 Í·Á[Ø#@¤lº›Ž8#\3rù}Ö,©Ö"A¶u3†òðÁäÿ@ú‡Pµ“¾zñw–\i­ú°M¼yk¾Ëþ)ÁçŽjš€œUI³:«ÊÊæd•¡–çíŽeðô?P©fjˆ4bÃ4ÕöËìÒ Ô•I³XØ{R_úê”m¼Ï•²º0 ATGFUKE×ú§®!‰ÇzcßQÝâ^b¿ìÓ§ÅdŠæSz¾BÀk:ú6ƒ>ÌŸÉ(q5ò'M/¤ñSYø®e¶à—íEZ#”ólt¾¸?©).Qcpü®o¤vwéMùÇŒkçOTy°é<dÖW;·::¦J| ƒà9kfpñóS7Ÿ·Cq}`it<˜‰Ù¶fÔM;=†°qï+ ŒÉøõBE¡¥:LšÉÈ»h!²–šÑßtd1æˆ=$ [é¨>K˜ÍÉí¾y³Å:;z¿@÷ãé7{jÌn§h±¾g³#ˆÔ]«Ä½æ‘Hf"„n xϸá=SLý<&l—ÂT]I˜”¹z#\M ã6fø”ݵT'óó¥ËYÖŒS^’r˜Ö‹9·[°cŸ\ûCv-ËŸXœ›ß5¸¬ï‚—ín¹+ï•XCòyu°Ó|&Ǩ˜ПĦ©NuŽÑm4eÜ—\E4ØJ¿éð; –¨×jõ&ï{ÕôªFlÑ?€W²™NC"b¡9ÜŒxÿ~4Ï1œÌ2zyZENy´+ž……’̱‘ÖÒ—8w~+ýæA´^‘ˆ¯¥3!§~Ï2¸{‡ò“A»kC¥/> ªò×%+»›»SÒþ¼¦WÌrþ• {Äçaeg¢ø÷Œ‡åξ¾ ­ÌæK%™˜Ù `p&h9ÜŸ“ë˜/ü¼h´Ç;Év€Üu“ýÏÓ#Y¬©Ã["ùÖô%Ä­`ÙrÓÚ¹D<&Á­écòβ~É-‡§Ý‡T[6y¶Ü‹ ÷ O-K'Lèmqª¾‚æ@Ãìï`‚z§fE`Ôd@-þûüaÀþ ~–k0B3ì >·J\†›ÃþDQõ“<ÝH{ªéb–v<1HEŽ„|.䃞˳(Ò ÕÕ;aCj5‚oe¢ÕºÈs–1Þ+>)ÝýàïÞ¿KL¡'ü;¦£–¨\(ÁɪõIP«”PU¬ó{9À¥àíêQ…ð¯¯äë§Š.ìS 0ˆHó GVüè‹‚K;5ZÌz,vUe <ÄûŒµóöÒᄱ0,+7ïÛ+Qã†É¾î0²&›!8¯÷ÿ³i%3&ÎníAßk ™qlÍöäÉæYõ„Æû²óÑ'×fAËÓR-([èFÎI$5t/c}Owå,þ»Ø8yÁ²R3¦å".GXНãÈ,ýšC¦g¶ *by o‰È;êy4ä Ó[bE}Á÷kRï¥PØÒžb¤A¡ï¹’V4·yN:Ÿ‰‹íx ú&, 1Òõ Ý£„ÿÛía#qy"t4çÀÔ×®@ZÛ´«Ô˜´bîø÷$veI|¾é‡&Ò¢ñb2Þk½20.aµnˆ|]²hàdæp+{YÐóöý0£³L*~ükµ`Ãtõ{SsDV3Aíàz†%_W ¶ª%y\µ[{/¡X4âd»§;€`+?÷áÁE€hÒ1ÀûL—@Z’v¸3¯m?èü ”îßY\ÉýK~ÁNL¸˜»ÊÒ(ölñÈKt%(+ü« ñ²@¡zbîi ߨ‘f¤î{•ŒÄ’ú»ÊÞÿ°hHʈpÆÃÐÖ’þµ¨gGð·(ÿà¡Ô¡Ö—öÇõ±yßo«¤O‘Ð`Êa^¹”‡kºƒ·ßóg\ª¸ÆÊÎ{Sä*ð.ÈÙèåkÌÚˆ¦ ¨±Q›¶z«#C×ì=7/v,KèÅ_V¯¨]d7“ìË3-W¦Ðœ´QÀ#6 )H®O‡×Ë™®–cÿ„‚#© ¤c‘’¸M[N-ÿ`ST8q±‹^£ÒáêqN‘0ÎËôŸí}wñµ'y±­ˆfkÑè“^G ^¡b2Ú\‚Xž°îN¨Pÿ¯P"D«çRÓSÍ“¹ÇÍ×b­3òI k$Ýèÿ-(b–þ¤?Â>DÌ=@CÌ˳zäƒð.&|™¦êÑ–'ÏüŽ%Á$ M—p°ÕО²‘ Þzz|7\ýƒ9 /”‚Þmõºmß8@SF½× @k‚™0K¼p±’ÆV¼§ßQ“¯¦~Ú/JP?f0 &ꋸ*š½l(ì:#¥J! ú^ÝZ¨vg°uYßìöç\¯—Ó­Q¶zŒY˦ ïŠ$AOßšÀ–ì‚X9w>Yc|yA‚<$ò…jäI×ûÌ"=“ 0a;§âiˆhõ¿)׋ø–ÌèõÝÐâ/U2ö×PͱæÀ š•âà·.åÐor-Úšbš;W—&t–da²Ë[h? º„ÃÆ²¤1¼k¨b‘Nõ´Žm„ü;£¾XâßR'‡ÑbNØìÄa”MŸzƒ¯2G½òý¡ÆsWn X–ÞÌÆù# F SÒ‰ÉAN„ÿ*W&³Ïi¾©RÀPçrÀkƒ÷×#¢!ûÇ¥°î®£7+Ù²S'Œ/Þ°…̘š9fpSýd)%°Öo»¬ ¡w£ðš¡Pᆸé¹Ü×ø-Ò@WleÝé„!4åƒ" ¹UAaMÊÊ …­<È ÖôVº8C9nü¹ô— Eš›¢W¸qþÙ0e»ö« Wi*–pÜ(/ÄŽpÍ­)[¬ÀžR‰/iŠëA¹aÌB¦%Ž¿WÅ«Øé¦¿ï,MËCÁùsloÃÚôÄñ`áјxP"Ì•"µàÒÛm„«¡R†ÀÐN Õàx|ŽP˰8w¦‰6Bã¿F} nzÙÆIƒÏúª_ÅïÈ:Éò:ä™Õg>‹ÀÝGêR`ûÀ,ÓÑFìË}‚Àc!ƒ)7|öqàú܃ààEW¿T’¾1µ2…ˆ·n"½ÏX8A…ÄB®rF:B¦bxs&cÐiª¥æñƉ=XŸÃ%¨ŠÑXOFìÅèý²™Ô“­&§¯›¶ lÍ"~HÁÙà?ƒß:Øô`I©VÜñ̘>ø“'mdð~RÁ½“Dï+Á™KïTp®:XĤ¬‚˜B †ÅðUJjßHFtÕ!G,¦¥Ipfâ~/¶Ó /™¼pƒ(¨Å?Ô˾[ ·ðyrkwo;øÌ^Qãe/s“[Ô¹ÀŒO5­3­Ñ…‹ØÉ†Ãè’ßJá0)ô—¤Â#4™w¶-¾Ž¸C Ì½# Q5h¶Eñô§â´ j‡Î–s¨çãšb¤4~ÂGTÙÍ+-?ë]V+-…n)C‡KTTKX¢¡†›NÞóÄ‚YLñ ½Wß ¸Ê’6;Ó~AV»d±Î×—4©Yâ`9âœtŠêá9æ’·õ]òÜ:­:PŸ$TÍÝ’Ñ–ê|`ŸüËx»´ÝÅþº†'BÛ¡xžs ûå±ÑC‹ºEÀ=ÔBÁ¯oöW{º^l¾¾è` IH™ãüíÃMí«^y­{ü@åþ§K € ÚöþD‰ÒµžÈ÷¸¨ÔŒWv)Ë¿úB¤ãƧ»§ ùÒ:ݶÕÐùE@:ƒìH¾?g:b²pD`ÀœÚ棫o¸1Úõ0¹¿>b«Ï:6´­.TPñ|L –ÿ^`Ú2,³Ý_^ØYçóÆß]òCVèÏ!Ö ß‚¶M}iõ’‡~×x ž.Šýßãäm76št;¼Aól{×Yc3V lÝwl*MõŠ|%wD1Óö½ãé•.™1ðCQ “6g®–,¢‰I1ê$o[¨At¦ ¾ÉÅ×VQ@ùjµ_J*9*Ç}½o[/è±¶¯Âÿ—'±Í[ÀÆÃ k¤-å¹á-ZOR‹Ñ&áÁˆ Í¾føþeÙ»gÌG0àCÖDzn*e‘V¸Ú$T}ä<­'/žœØ<æm„—CÓC¬ŒP¡”$°ŽŽQh¿vÁ=¾,¨ò%ÔßÀWû“K»^±9ðG‰öíÒò?r»PîKwDµôù¨¥úg5ï ªo¾üŒ»“èÜ­F>ͧ£¯º.UÏtí¸V’5I!¯WgA1_;S3¤M¾ÂhqejG¯ÓJF=W yNyøô} ‡kš…ÀK­aNg'R<ä\uMwadjiV4;Ö.#D¶¨Ã R¨†îD¼ÑêYÉ ¶Ö‡;~ÝIßä“iÞòš~ˆÊè@…›- # ~érðGDéC·äæ Š6¨Ì]€6]Í‚Óôõy`×R9eˆ^¶í¨5›>—·Æh™Òú^J ¸.˜¥Vï3g·1X+t=Sm]µŠ}/ùSç¥Æô¡~HŒØì’©eþØfÛ)ÒÖú¡v‚å]¬æ`¸2S&vA Üqõn³ã„é^ ãÕsG¥+ÜOÆ ÆÐË<$rPl„£§6È#Åžáù‹R&ûÉxáÅH"Zœ&Dé©]›%q F»WÛ•ÿ/݉ÀBìŸE‚ö¢åÃgÎÝq„ÄFý3ÞúvŠfÐMÚ¨ Þ¬±¥ÿ…o#£ 9üÕº7ñhDØa¬Ì2$W¢x¡*á¿-°·{L‘å=«ò€sø¶ù^E¢>Ì.!ËVyÀhÙ"Nš^z§>oyË!èSZŒ79É#Û ÛÙ¡U‹2€ –T黎ÔÎA ü¿5~*b“ók;KÔ\—ÖBÓ†Jj³V¶›wl™]B!œ˜ádŒz×%Quw7î«nZCŸé-pÊ‹0ðÒ›tØ-ùÀ&_ÕG×K|ˆbTÞîúÉñ”¢ —Ÿó2·[æùŸÄZ‡Û@–‰qƒNÊÚ¨@*\~‡—’¦é\…áÏÉzs¤¸©Äq̹ÇÀ$…4¨ª‹û¬róJat«ÿ®[ià:Ÿš9Æë\)®hø£IxpõOÆÁÖ¥,,1mO÷¹»›{—bœð^Ší•¦%_Ç7Ì,V¾b°)ös¤é=¥]Ï„¥±PR5¤¤ ã%æGœÄBlvªˆ9zPvõ¶+! «Œo=ßÀÙe­û©‚ÛºH}ï§!å*PUÍÔ‡k7òîÚ$«WºvÁÜN1ëO¡ Y †Sg£.àò/F“€*±òsÐF¢¿Ë”­×ÎT¢†4yÇWð#åx¾ÓÏ}bâé2£qÛÐ|¨JëîZÐ]鑤}Ë,{ÆSYéw<›ÓžS¾ð?¿ ­"ÏyˆwÉѱG¬C¡û°¿lÖ~|›0ßK®2ï«Ø{u´I)ò¯1NjˆkúµQ•&­T¬à®z[œ—7iªÞkß4°íùš €1ò†Â.鵯[®bkÚOwž‚¨ª- UÁ¨ÊÂkD…$<¥‰!pë·¿¾$ý§±c 9'`í¾Nœ;F¬7yj=:Ú×dà=;Ǻ.}6å âUÇj§i+B_ËÜÑGÅ ÊÆÚ| £²ljrvÀœG/êªhªºÎ½O„v‘,¥%U_•L”<›wׄÖV¼*œæ6J-ò*Ý¢ëª]“‰¿¶oòuJsò_U[âË£†Ò:`H\~tb¼`!v¥¤["Ž v%%êN–ª,íÔ¸f‰4InCÒ~àÿ³©O,K7q~\vjÝp9Ư9ÒW7͈—Ÿ½Ú(Åicf¼e Ô,H¬?;þeÖÍÐ:»p”—p«zj¼{'G‘7ò±—ø$Š¿æ=4/0˜ê•êFƜЎ×eºûOh}>i”2èÓ•#*è ?5ê/3ŽŒ°‡…ÇÞnѦWhñY–%d™Ük[œ6¦5îhZËZ´w¨/$¡ÚÉ£*øÁþ!,¿ 1š£SÆ7رêi,™‘#øÚ>¸0Vî_ ¸÷2ODИWp_.õ̶Ê®„2b“¼¡R4K£(8Ee~ë< @¢RèÞ• Râ«!³Ü 5Mý4©õŠ/lÌ™nÉÄ»6)Ô®?Qpþó8o{jpðÔ,5¶ˆ ÚÜYT‹æš’ÞøŽí­ÀÀfZ"kóab|(¾ü䨑©zëDä*Í|•N2æVd¶j{·ð˜TF²ñÓIÿö‡¸íPmåÌ×ÐæPÂ-w­9á©çx¶6?–[oòçªÂ}¤‰ýA]7C¹¸S³üÝPϨTJÑ;oÖ’2f‘ÙÅDüNõŒCòqåc§³ÆNî-#wå€}€ÕÜ͆Ec îíÝŒ¡ÝT9ÁáBa͉÷&0±|‚£3¥fg’€´SP€™xx@ –ý¥}XTÛ‘•›ÑÁìK$î!¬b…±Aîv"IHlÒÛE¢V›þ×TsŸIQÛ*õa¢Ý÷ÄÏ ¹ûé£ï–Uð!n¹oG‡·iŸ:ù¿êú¬‰`^8ôÉe±rCãòÖC –µ¯é­ÌÎ^Â)þ<Îa.“ò>óm|àšIgÞÆ}M"^"*nù@l§äeÜ/Däëd+Ïΰ.`QÏ«§l¸¢ä™LîZ+3©jQÅ íb+‰Lr˜9'] 1oªRúJ1ca4~WlêYXÚ3ó‹úS¼gšdÔÁS‰s÷Ÿz"f’»ð [Ù[VlQ‡LÄa J{'{,ÀcÛÌ?L(ޝRafa_slR¢C@Ú•“½ƒõz‘šëêöïrkzGA)Y`ÅZ3yy3ØêQ³ðkCíÚé-]ÒY#AÛ„£‚ª†Xä:›h(”%5¢šÖx|ìÌYM-+À奊÷>غ˜B¢Ôź°ËÀÁ¶ÚU–2ä†z)\nhÙpÂv9åLrœeFƒX÷á-Ñ :¤i­XÒK>!ê±S)¤- Ûy‚*Ðh¹–àù °2ñK`ù2s–‹Æ†±Ò:«œ$i-;çtÏ’gVÀ5̶öRÔãÎé5³xðÒ@7Ü­ëÌl9Yó?Ì™ëG¥0Tœ´í9ºS|îEYú¾nf­µ`¸5¢;9çymË€ö­æ@x旴LjŠÒ¤f4î^QÔÝYÞsŸgîH%üœ#bè³·M× I"— Tî7ï …K³3ÞMêû¨þKæ»ÃÁfƒy,ä4ÊÙû…mÞRÔ"±ïþæœa¯BÛ;:P'»9~lC¯¨ÉÕuZt¹ ¯ÓKØ5Q"ÛŃÉÍ>%©êËú_eä1PòqŽs×IËHk‡~Cìr|ñaÛ—ºÇºÇ´^½ì5ŽãÓ"\œÖŽß¹¯¼pS ¯UƇ;Eþ!ë9†ÿÑìcùb­kuµæxÁgö;4‹ÿåw„°[iúgÔªˆ|ÈØ4ÒqµX³Òå‹z'RÚ_ÖÎß·?¸­È…eÐp3ƒå±4dE?mݦUCmç)Ë’cánÐT_©cû;}G˜ÿeøfE'2ºRQ7ùKY.¬;¢©²Òò‚ëG®Öº·µnaoè}D1³üˆOª2ˆ XìS|TfZ¶!¶œûýK—!ú4?µ'–˜ÁKS†t¼©0 mƒ‚÷Ü $ÒAfGú08Ëš8Xû½ºH!AÛÕ*(—×%áFüλþ <ÉÖî>Ÿ?ž $Žîo±€4B+wgsmÜW8œÅ/9éàÅ|€(/Ä>/¹CôÞcY2â›5»5kļ!â=Ñ)_»†wzÒÏxÞ\~·>iËúàÉçzáºR»?‡÷)(ùJ'zì/m‚Aþ½iÝûƒ ®®Oö°‰(•`¯7ÎÄí±ù ª]ÙæºìÜÉÈðqº4ƒì‘º9n/t¾º©õ!eŽ{3puâ¿&T¤AÖgN’I*¸ÀÏØÙÕJ"}TØY_ ÷åJƒË !§ãÐÈÎí&ÖšY—_þX½Ý>Õ9Û(‚ß”¾õ¹hXþßÃ%à†šxa: OSŒJ¶Ö&ZÒP†Ô¹¸k7ú–D˜÷L|×¼šìû…{{°®€Ö´±ÙWÊ©×RøW;ËÄO i,%¤f‹/b©Ëà§Ou²ÚÉES’=î^Ïá²²³Á‡„æû)b%,3¯B×]j^mTÿ¶…#­ÛM(å<ȇDÀW3Ú­™¸Eà4é±ÊÛ[ƒ„ù9Û¸ñôœ¾ÿÅ®j˜¾f™¯· >—Ê6À¸w¦ºeJãÁÈ<ˆcý'Ë5 ‚ëO7¡>ĉTmé³–t€©¶*l"Ñ`W¯NøÀm=W ‹`þ£/G]-äÈ,RÆP¦îÌR<ö·Ôì#P‡•ŠõfÒ5œBÆ3–T.áÐ^q媺nÙŠ¿ßNÎm*Ñ¿~áarƒí}ùU‘u•Ç^UÆ¢#Ôê(m+ä1Õ 4EÓ¢ÄGée˜¼_ºˆœE­à»Òé;šb»œkzg®ÏŸ:÷²_Kˆ‡3šÓÕY\{q§ÏG®üÑ2 Ÿ¨ ³|Ç'~LÚmpåæ(êÑÀØÂO+þëì°Hwõ„¤Ë‹®‘ÛcdZ㯈ÚÚ%dý̶< ü.–\×}§%–# (/¨7„ØßýDp`ëbDN\P¥áÆ;½c3t:»Ë;ÎÅ^ó~z¼1?VU¬s9(‡²›hŽC¨ç-ú(ã•}’¢e3vuî}h+kIZK‰üVU|wx Û­Qzõ¯‹ë„ÁäíLùèX!ðõ:q'+Äq²a¶â‚ʧËm\’ÑÃÑC±!ý×#97™´sJì7ûL¦Ýü¯K*ghIÊ y£{[,:A±Íiû.ï"–üöDÌR¨Ú]šŸ<_Ï|ÝÍd|Ív¸ÕÅ< §ÁCÛ°¥RÊí½4—«êµÌðE¹N8Û^ŠÔ*odőŭ„ä\˜. éCÃá‡ÙóíwÛG"$€ººa]l^ÌMÛaúçÇÛ‘ É%ÿã• ½¾O [iæX˜|.2ÔEÀ‰æËP{îI°hÿ”jì7 %ïr}:þ'Y×q˜jNu;êT}ï'ápìß/™#n¼jµÈGôj,'èg'±ez¦<)#>χÒ_òñ~™úm2·%YÛI®i9Åb®*‹»E/ìù¿Ⱥ[€Ù;%+8&'¾Æ×aÔX‹.8§A¦àZXùlG†üsÔ8©¹ÌÆSœ`¶)¹pDÈð¡–õ‹¥—'¹ö½u!´¢è)šäÆÓü§dÏ+»#„”Çú)QI“-§À@¬y8GdñÓ¦Óà£06Hû/© ±lïûf‡Ä!w’IƒˆáÆÛoYe]Mq«)mÆvY‰Yba盥~¥ZfÁ·;ppïpv—Ôû¹*SnÖ\P/ÁI{Ç(hÉbÇÆI5MZªÁM@šõ% èÝІ¶Ø¾ ßvÅ>þÈ|]üJÎÇZ÷ÙéÿðÚ}.õ™îýùŒ2´·V(”}¸îø&€”ÆÙ=ì‰~Gíos*](¯6‹›ôðZ:wŸU0)k~q?F@HæÀÞ€ŸÛœÅaáCÒÞAö8ÕÎQ ØÆ>|NŲçWb<„ðåöŸ:0ÓF²ús7r˜˸ù‚§ºÖ®ÊÕN•s³ô_pwzÎ䨩ÿ$… è4N\-”D_{Šo¯[¸™±| ޝsvf´¸òïéŒöΕšþ†VÇñeòýí& fOÂ-™ÑæêY÷•Tª2ÛÓ—$ÇDãéNa%ã»§¢C¯û€˜K\H7lì"qVRŸ&ßiý­ðy…òµUi‰·Ü§øDòAåªö k‘Å3ø2æ4jÜßf]};äèËÀ«jµ2VîïûMÃË÷}\èU4æ_Ú~s¾9s*E6j–}^£ìÆPãG§ë³ËG™%»±Â¦xýÚ­€ w \øJ²’5ʨ«¾ð+€{UcÜ¿ÊÅâÖpPð-{y(½vD•©ãçD^S ;lx^¢H9˜÷nh;ÒÎEFÀhñ¹Õô1µÔÇ8°¤òüzá{†ârî~¿íùÃ=ÿÕ{V£|Ê»h`O“ß–Ú¶pbÓÚ70ú3ã™›rsS/8Ï ÂgN×ÃCÙDb_ÇêèÐöfc”ɾ瑟d¹3m¡eãðvškøS6aoî ÿSIŠ)ßxT¤i¦aÉÒ":YÛL‹ ÈúïËgœì¬8hÚ|–E—Håo‰Ë¿óo00_bÛ>z[ýG ”'PŸÅб5k17Ïe¾½0Ð8‚@œRP3£þ, P% r«ÐA"øÒQwn>Wa|Aò‘›ç™—ˆžo=öc»ŸrN›¢Ã@F©Ÿ¯ÒßløEBIDŒB ã ÞÎI t¤AŠ©ŠëZ6…ÆŸ“D:n¹“FwÉ8  «„ú[¯n| ÿ©+ë¦dZ©Oe¸3ZÂÍùHW‘US^Ýx‡ûÓ-åH½*-›Éóx?xÉ .ÿ_x@`§ßB;qÅ´)`:<¶ˆªº 4ÿ¸k$yí­6_¢¡›üóL"”Oþ8gŸ¤ÞÄ>Ë ¸c[zÓÙ·4ƒþ`×X{” ZÿÊÜYX'±JÑ«| ½æ'qc 81-ߺçËÖE>ÛÌm“J;å&´8¡9p%ÕÚ l^œŠ-±v^)‰üÙåzL±gù“QÞëd )r¢¦c>űI%¸tz°é^ßKk¨†òƒŽ˜˜#ñ_çѯ_FÚ‡È~ÑA²U[(ïf¨i´ad°»±pûBérA—i FJ#TGË™Öô»%(ìÿáeü5~?ŽrI(=År òfÖ ªA4XWˆ‡&àiÍìo ”ä¢RAÒ½º(ã6ÙJ5Ï+‘sŠ£(˜g%š´‹ Óqe•g€ ¦*IŠM”K¬pJK¾ÐÉuúK‹4žØmª·œ‚t‡£ØTÛq€ÃKcØÈiÚvš“GöÜ»⿱T]Jés\¨ùºÍ:\^OF‹@Á»+U}\B˦ëôÎcmC5 =ܨfSÛ»i¦$cX2Ï„8:Dg?s‘KˆèÓÜì ¼%¹9’ƪ <®°É-HÏãè)oµ’*ýóçê¥Áë_!ÎV]Ú™'áq²7,aOé¡+öU.Y¬Ð¹9ïúÓñŒžh‚X;öyIäÿ'ØÎL›ãvþ…äâØFdE¾ëÚj;hcú£8ïî–bÝ’adÃ¥„ä >ÿT°²°„KkösÏQ¡]WÑNèØ­Û÷êf]óé5Û{è<"zŇeä´$$@‡rófƒ{ŸuÞoDèPµµE 6>o[„NÕMãÀ„d¾Ù;cã“àV¨ÁÈa ˆMð›Mʪsñqa­gä ë„ì49QA<³}D¹±TSy h–çàP? 1âìuáÒ ä®ß¿+šYY°%¶p)F?Ô¦nàn2ªªõjb¸.ª‚åãT,Ô,vîÑÁþÓÊ84“ŽäÄÕ5ÖìwkU‘þ¸ŸgÈ  F)¯ u¨ ÊÏeª’vRþ¬˜°óÿŠÚ?X-i½—aÞ'€ôŒôð4å~н·š OZ,xˆfÊJIAÐAC€@Úk]1.óûÒƒ²YE±¬pÔºnìî°«˜A,|–¦@%VhJ(Z<<}3%UKyWöòŽb(ˆ%=4#çcûöÆ£hû€“ñaJ¥WA&³)hÓÓ{ A ÝÊ©ÖAÄÍäKăiоl׫pPe«ˆ%ø%Ä(»Ýñ°úÞƑˆðP¹àì\¾f¢ÍÕ.í°m)1·Ö`Ö2’ÀYúXÑA>–Ë6—H{æ€ÝldøÌ]6£“û6K@ ³PDIL[wF°=.JdNeIÞÇó«½ùÁ#~¨ô"½h¦é©†A¦Ö½€GK‡‡sÆC-9 o¸Ùb€Egžt± ÅÍùñŒ²ïRÁ)~`KÙay„ˆ4‹[u±TTždŠLÕ·§ûÖJ¿j å†,0¿úïs/­ßÚˆ¥ö?[]wÿ ¤ÐKIôÀ—»JV$,ÐÉ‚qm<ªÛAç[zkªò*ÖRø/—í¸Û¼´^¦Ö–BÌbfšÚrø4O&yl€x†L¼‘qN‰QÂZ³cv¾G\ûx1—€í?–*BâOù6__8æ·òÓ¿&=AîÝì•ìt'ס¾³Öe¹j}ùÆþiQ‹À”;Œ@ Mh”Ð ô樭­5–3&¥d‰Ò“ºWhrºþB* }~pœX)\ÀËë"U÷o,™‡kLÖK Y™½ÿÍ)Q×Á¥ÏvB±™.0Ä-R$çÔ$KsçÐ¥‚`©3Õk~0Ë•ó:ÖDû¶÷ ÕºìV§ž€áýÈÒ–çÉáXìo »c+éuÔ”4@¨«pì¾W­cÒ€œ4Ë­IÒ,­I9¢oUÕðv€–-ÓWŒhøE2‡GH jÔåÚÃü—Õ.f„\wŸÄÔ€@¯Q C£ öÏ ‰)…–ç ò„Ÿ´€© #ýáŨeŒ+¥—5å¹ô×ñ ‹þµy [óV»ûb õŒ=P‚U32\›2ÇŸÍ‘ï› çw( ÷'ÓóÌ`ÓT¼¿/9ü_bðŸQ/¦Î_¡ÂËùWJY •°[é^ŸGä¸g· Ú%”A||.:ýÝçÏ™X(éßÛ¶ ƒôn·},ÝA`9;+½-%UÌ‚¸}åV‚1¹OÍÜ''çÊô5Øù¬¦„öw_À3¸íKŽ–q“Èm¬‡P¡aþɬëUO­Ì5æ…½”ú³[jø{ð·öžöcO¼º§Dç"ê4'?»ü\«yd?ó½#òúÉE ÝÕ>;vI$møà(Ù[w:6"K[1czäeÀ¿üåM"eÕ6åsROýÌ`ëü=»/Ÿ ·o!Žò¹mVÅ>½®jfJ±Wgyïôæpl¼n­ßð|Þ¨úìÍ“Ðç„@•I,φlÞÎ/Aó"æm³‚iÑÇŒaÞB¶éR^Ó¹]Œ„¨¤?¸$À›¾wy]ú‰ýø5g~Ê•ãžMB>¸,g\SDõàµÅÞÒ|kzȯ‡©n¨‚î.ËÊG´²¾òÖ{G{ÏTö¦[´yDúcúTj6‹Wøb·¯¦ƒû}ÂrBæV>¤/‚cò¤_òb7*Nú½»†â‹é•Íý.ù­äîÐYµd2ZQ.©%ý’ƒÅX™ÅŒt&+1V¬¾.|ÕéÓú8£ØŸÙÅ €’}Õò‘dß@Ò‹RÕ;ß³º®ê„¨’¦Ð?¯ï$Æpù÷¯[ë`ÙÞö‘fÙÎð¯ÄÒÕç3ÂH‚! éù®±/UáØ®;ib{qTäa£:±‡ Ø ôHòôï©wõÓ>6v¯õž£C‚¹ &Åäƒ7g…Ó­ò­^;c—©Îæ@XWö§Æºú{UÛÍ]Ns~¤+áÁšNg˜Ûç(A™À"aÇÂbÉòt'üìÉyªwŒÉ5F~åH©7† ƒÇTriÀ«&uÀ‡Ö„&å ˜fª†/èJëеT´èÕërònó1öÖ \n ‡Ñë[d,%þsìÌÓØì«wÆVVᨮÃOû‚eÙXg‹…Æ'¢ÅCz¨Û×ß©êaxã³å­ SMcŸ-AÑá©Óš±ð ?Ô/>Í6’‰.™sµ]¢ìme‰ÔêÆŒP"çÖùb¢jÑ’ô^`¯,Â0œžª‚ž†jÝo›†³K&7ì*³ŽUg¡$}¼>ùiÚ:FnåâÏ¿öž·èõÈ­ååvéÇãöó•m–™(Eæ|ºÞ}ˆÒV¬Ù+NÆB1f_Џa%¬x4 }†‘:¦~až«TH¦ƒN…¤otÔ0)Ø[ •~|')/Cµlæ+¿exFVœkù9¥ã$?t°’9‹²¹%^‹˜ï•¼gÄ*–g^Ñô´POR·¼!—³$ÓVÒšÄ-”Oûic§ý:Œ"‚úq0#x;Ÿ†c÷4q仛Ύ*ùt±oQlG7µßëzQ{¨¶€ÓBqM¢Ã.ç+£ X€tW]ÆšÇâé/2eH§¯Nc$÷ ’TŠˆË7G\ªÑ „$5õü½ô BM:·!qÅŒ¢ã§Ô8úl…øMòõW•T\ذ–iÒK‰¹¬ûðûÕMv@¨Bî2įJ7íâͬýŠ·¶•€©Ž{(ȳþø 6ÙÅ3Z’ žÞ:FóË„­ ³|m¤¯ÉÖâÞðUˆ3‚9¶Nµ0?öÄ#³v$Þg&Ä„Í=Á"yñ¤Ñ³½¬ÃÒ¤;MWÌ–HK…gÕÄ7gîÝá Ú]'¯+hçó‰ `_¨ß;ÆÏ–d89—ލY¼ÏU=cò'´U e!r-Ä·aª\d1‡ˆ]ûx"RÑU w­D©»e+G/’c‚R6’VT^ïÓz%¼õñ¸ý)PwÆ]ü\^[ì0“êЧSc'd+C8«Ø·xƒ¡¬öNK%†š>ÿî­4¯ÂUÕíî¶v<•µXÙ¶§¤äRÍkß9ø6l›P÷+ɼ³>ëã©…Of.Oª8«˜)Å8îK(€¾‘Ìsz»ƒ«QäÁož´'æ†Ú$ ÿÃà¡‘©â#΢qKw¹,`º7{Ã#ÆG£à"u»8nrëúÒñó)!%~ù¿j pÃz«/Ú$02÷vÐZL@Ç.øg.@–;ŽN¤ CÈwÝÒôùȯÑo­ßC|³}›'F ΀÷M˜£ÈzÕ úÁY©zÔ>~6mûœ_óRh’A6˜jbï{ùºUß¹(Eƒðbx6¬M.žâ5­“S'íOå4?s!à)‰…¥Œ H°JSÆËFà§ ?û4!’.(} i)o¹®ûoïS÷ÔüVLò-Î 6Zý§¬_Íqì˜èÕ¤†~½dY2@á„ÓWx.÷XF¡¬› R>yJÚ[cŽubõ5®´A¢V<û ©ªÑ‡²Äüé}ó?bosÐ…BEÙ÷ãÞº™î/t(ƒ`’¶w»žªfÞ?ýÏ›¥tÆÎ÷’5q1’²ù¹§v‰±âª•q²SÛ2ïë¶ZN-°ç·y½”»—Ðq‰-¼¤ûèGÐÑòšL¦ž¢ËÊ޲ CqIµÃK°þ’Æ™óòI»Ï@óTñ½敽¦âV’)Ä6¾MÀ‚Üô=I•Œ@\Lâ1AhÙÂdEtꟼùa,Ì®!>mHŸ!IÂkj9C6Í ¶Þ(†Ù8Íçó4äÑB©mt¢ï…Õ!·Qúµ­*q”€÷DôEï}þEó™¢3ú¸@rïGŸ^37ñÍÅ}_´¦YþEŠ`}ÈÏ̺}ɤ>¨,ù§)r! ­T±Å-/ÞzüqùpcºI ´K¬LÒ’…¼œùùôí¼¼Æ+«+KËÇ·9çXxµ‰ D™«”Q ÐãÿïÝ]&G:#H¾q A=CÀü+ã‹»g“«‡Ù¤8—ËÖÂjVôþPŠƒkP+HFß»J{ÆÜ¡ç;WÓ $ÅN ^»»N úQþ±k7~Þ‡][÷Ç–›@$ëCiKêùu¿ '<Ÿõè\¢¡íLh…ß`q®#a^fÕáYŠÔè¯á³¸'¯k×'•úò´º7Œ$Er]¶¡­¦üÏÀ‹[³'ޱS‘éRÏÊ"εNµÉ4$›_›í;´|o q”„ާQ a§¯¸r|i .ätui¦``Ó­ø¨±¾·ÌÆ(²ïò# ÇhõSÛ^1À3<Ó®Ç&‰}„׿Mß6†©]S`ž0¾ èíÖžJ©H_£ä÷0H÷Q’o‡)]‹½“+R¯jÉKØêv_'©3£e«6üãw+ Aï§!f‚_;"Ö2žÂ·Í<îŸ:â‘4})þ–àÇäXbXf6ؤª¨¾FÚ¥¼Æã×FXT™`§S=×IL¥fs­}4¥µ&2 qhyù9•µ´D&Õª r…âò6VSý¿pƒc¾®E Á¸½,Õc˜¬ÉÛúÏ2M!Âìû,ÝÄ—m)âs¸ß~ªBæšp]Ì`*=xÙœ-«'1g¸²]¯yfk™TCOsׂ°…f™Ã`e5†ä¦/RøÈä6a³øKKòWº›ÛÒðæ°å“F¼&æ·þ1‘úÒÀÚhëÐ2î5âQLÇ6º6W‰`Nmvq‚k²k‚7àfø„­{†ôíÛÌŠiAÛù!d@S™a€7¡‰;Çø'*ôC`¦YH<îWb!Ô•<Á™ø §3=Bïô@„T‚!uûsÞ+¯o[^çD°½g‡Ûo¯kÓ¨2rÏ2Óqý¡ÍºH§Z3’£q>÷[%v®èEqBcÍãëžÈÝÂS*qQë«»´“øé¯HžÀîïE^3l¢hŒ„•åðˆ†û?îêk!A/ÓÖ;)qW뚌$¡,åÀ¯Pf†@ÞjM‚ž²SÏ)'7뢰+‚o±æa–ÀV’A”B× ³/²`ä?ÜWMâß±A¤fKhfÄ' Lm£²i7Ÿ£žsIáSíTÅE ôêXÙÝàÉ/9ô VTÿ XZâ7¢TâÊÏ$ÂìŸÂ‡(_w!—U)70¦è,áÛ”`ª"þÅ[õÁ°[ì*4& ñLbЀL`‚EƒÌ`¥B »ä—²÷žQâÎÖsÛÑX ”øæ´ÛãÕf¹,ÊÁ€—†}þÒ®°XeqC¥eE~hó õäÜ@ë;q¾ÈÏu¤AÆs÷(Ãξ+i¸dâyt%ZmÁWƒè„Ü…[ V8›úàgˆñã„“æÂyÌ(£òhÅn!âT…yu‚ØU²ôU+'˜¸@âpLE€ 6€áúú.ûô3%T4ü‚ü åMR“ãI5Æ'H8IÀû™Zõ¬Ä¤Ç@'ïo‡´GøâÛöñ9”BSm“é3+›ã×lkßFðgøL÷² £nÔŒŽ¶Ýë¹ðÑÕ?ÿ®´qˆ ¡!øž}¼pŸQ)ÐQ HVØÄϱZ½îyÂ(è ÞšãõÃøEŵ4 W} 5Ø?ó¶˜S´$…ÝqÏ€ªÃó8CwÕ ®ý…‘tC5ˆ'ʱƒêÜÈKºÐˆ¬xg.g?¬5c`ôœZPй6pî}ÓDîºÐþ[?=ßK.2Wµ§Î~²ùA‘[!?;¶Ò¢­¦ ¨ˆ&tHŽŠzÚ@à[Œè½¬NzœÐ`é«Ã?,zHP÷Òâ–þY†eíM Ð*¹Ú üØfí+‰'ûÄ1`Ú5W?¾9Å4÷›·7ÅÜ †.Õ·‘G÷bÚ ÊÈl?ýF>„´ˆ{øŸ~œl€UÔ6Ÿw|ÕÅv«±û)lÊ~ f¼N朂`K“äM¶D/ªºÝÉì5y²ôÆ%“D˜ nµnÞé÷ #Úh°Žywåp§e×A‡ŠŸ®›/¶¨wvÕ5Ð ¯Ä‰Ó`›·¦¼Y×Y=ñ¦@ÏÜ Î‡ÂÓ‚œžÐË‚Fɘg†‚ ó‰íÆ3~4ÿƒÙóaäåVéÔ´;z¸Ÿ gN^6Ã…oLE)sŒÂ.MÏ“ » ¬±«Ô“6ÑaÿCéS|ô™UÙ.Û‹–o5ø „Cгf¿ˆ° ÃÈáô:8^ háîÓOŸyÖöΔYô‘¤.ß­†2&:Bå_ʺ?wÒ#~Á8Ž]•C¢–±cŸ: 7ëú%,Àö34\š]é:cƆiAý,仪+D5ËxnÔÀõ|ij‰0ý^/;G¨·¼“O@$dšC“ðK *S G´œ ’(Í d™A ÖQ¦±ˆ‚©ûù© s‘.I£bOª‰œ«yLŸlÖ¥£»<» ôÁ$M~ˆJÕßö{ҋǨ¢|úx€¢GaÍ·d"UQáÎnÕ»ŸØÉ%‘àîIF%xÿSöa^ëìÙ[ØÂc‡^Ml¸3ûÈ‹Â+üå--+o‘±ÏMÅQã5±6û’ìù¿8ôÕŒ%é;£É¢§šÍÖ}·–«hÔ¾{®û3Y7íåÆFŠÏÌ~’ù23ÐP”m|Ú ‘~À ‰¤.Oƒ9LÔïªá®3п/ß/cBµ¢eR1C÷$úõ­]l±ÒqIïhìŽcûAç2¸ÜÀp’ô¼×I¸@;Âþ¥´¨_ ¸õDêøWõ‹¸Åt× €Î`ë’`&ƒ5›.zü[ ¯pÔt5Šÿ𬠵FãO“÷ ÖÌŠˆ ~°ýsBÄáaRŒô³(lí}M™ÏùÜI× :nuÇmÍìu¯˜^Š¥Û\†l)Iô¾ô™/µh³Dá€R§6Сuü%·,p÷_ŸÀÇY#ÕËÙr±o4i×ûOˆ¨ÏhÛç }m Aû•Vqß²‰®#âôºÌÊ£nUt jV<Þ¡²Ø‘¡m âþéOÁʶb‹cíÛZFgtÁ’o¶O/Áãj ¤ •a“2ìdö78{2™xÃPtzßóüµºe,m¼L¶3>¯%}sŸÀ=Ëœ×Q³çjP€à‰Ùµ(e­ƒÅÏ fÒRE™›|e‘„§P°J u5#&*-W_V«TBs¬pƒ±(°©L‡žåñ×Ô îGCf¯èȘ/a›j÷†‰O$&ìJCÁ,ãÛ¦n†7ø‘—¨s" ß/CtŽUEÀ À¾™ÕaÀ,ÊÕm Ø ñ@úq¡Aw‚·K¬°^ÿ;$í\f‹Š{2¥?È—¡úÈ£öÀ Ø-£ûB-x¨hˆÀ  «•‰×=øßê:Ú·cq rýRãÖóSÕo 3½¶{÷œh¼KÍïþsŽdE!,W îc3—#;’0“2Ý[ ¯ŒˆeX8ÎMSÜ—%üÏјbñ*ð)ìr¨5°`†ŽÎ²@u¾Á¼žºpá¯o›kRX9]Ô-†šÔŽ0fÑjÂ‰ãÆ·tÌj]v¡}É$‡-]aʇiôFÝ)Àxš b6öÆÞšò}áâÀÿ¨F†ëáwÕ°6VÌ–µJ½”Tüx苇Â@4€Žnž¬_f±äªÇú`½†G'í‘Ò]ð i|1Ì×£·9U];øÊYOË{næ7$X>ÆiÑØ)5c/Ó–êÜ> YöyÉǯnÀ„ßSõI (\ÐÍk ‡m5–Ñz_ÆÂž’u¥ºë¯Gÿ^šÜF`=ë§çƒY½Ñ0Jrhó˜¢ò´†›Žvúi“1Këߦùª+‹hÏWî£ú°ÂîìÁî+ᶇâr ïþˆ^¡„"ÚµcߟJÂe*ÛK¶hmSÏ­»=æ´U ku©DÙYÆó›¡ÙÅÍ5´ðkŠ]”ÿ¦êH‹¼ÁÂÁá÷7 l€•»-ãÄì[tE(ú«1| Û(üÝXzöÅ€ÝÄ1ŽYçz¸Íª[jÙ6šj»ÀªéÏýaRµ#15ê;°P=ÆÆV†±<Û3~ƒ’Š¡¿ÍÄ(ÿȃÄ:¾9®å¬°N|F¾ÝMQÑà½åI¨¦¥Ö4D-96”éø\ë²ACÚ _^#åÝ:Ës‹@2ëB1æh>ü/üç«åwäΔƒ(çË_ <š‡8í«A2!sD+wßì ó  ÄÏÔ§ÞUX0ÛýzÛËAµ$Åâ~[òb‹wÝñe/Ðÿo—¤Û~V³ÄÓ<Å"¢”ËÙµ81ž#ìÆ ÌG"œ˜ ‰IãÕ=°WmýÌ/Îþx÷ic¯•wûâ’½éå˪¹r­Å}¹¬Ýbœ7LzŽ£*ŒÃ]2à53ß#u±Ã*'¾‡‰,Ò¥¬Ìnf ¿<(PA˲Ú;}×¢m® ÏДt¬7"†3Nw’[ueòwÞÊ{ð×@‹jœ„·ýzNŽÀ÷‘ö¨ñtæûŒzf€¨kneÍðšL…´ó朗%1îŠÎE0H¥4Án9þ"<9A »ÿ4—ZüüTN~‚›¨ÞϦ;³š•;àM¶ãbÏ"s¯ÁÖ+[Cßx=s2Æ«~n’—CWöá»:t'Ngu²Œšn°¤ºïVñøÞM–JŸòùBoòaä࿲°øÅ*ăÄê,š(X™pÒ:aÐÀÂÆFÑCÌ›\ö^bJ ïˆMs£€ÔPFþ¯&H¾‚°–[Çí†ýÉDZP²ì†ÜÙËÙµ­ut«^A]·ÄÂM¹He«k zÅ9Sn?(ÝR¶ŠŠ,"©Ôs^9Yß°Ô Բəüåú£“j| $Óã|œëmµº“_äóiE¹€´ÈKüì'ó»Ç÷ ˜›}»ƒàûÚ¡ÀÐZy  ¬º‘ÿ.¶½ØmÚ‘»Êu_¼šm„;Å‹§b«4ü’à±ÀíÞ+ õ?¿d×94m“e%Aâ¥HöèAiL.)Yó3+’62ŸÆèsŠVÒC×£Ò/ßÖkÑI¨o%\oÅ©¿Î Ö*ãv%ÛÝ3c@™²½›ãºSÏÁ·"K$ÑGfo¶i¿ÀrH/†íù8”½7©#µÖ37§¬²æÝòktñ´u˜Á -¾Ì«$å´mú¡„}Ïé'8èúà2ÿG½ïV§Ë£'†ã%—‹Ábúj¶›Zü÷â־ȳîGî'.X]=9!²s(ŠÁY1ˆt>ð…ã¦îŽ„›ìߪ×~N.‚ÈæbƒŸ<ŸN“9q¶,gJò[Nãé¥qMøç˜à¦:¡´–EüË‚Þ#¿c/®pú–^/"~lœ9I?ÛÑö¹­í»wÆ”þ@íwfâê*²|ÀMò¬àÛ»xp#님f\hõ7Ü€¼HýlÓŸÜR„ß:ý 0 QJ˜Ò½¿G$€­6Mp±G€™F¹í݉ì|£\%hZò|}Œo°Pû,cyäà¥eˆàñ k**ºÓ¨(~}!å£&tñªìólà¤:N¾$¬:Øõho Ÿ|áq?}ŸuwêNö¹|*MtÃÔe¸Òa&)xk¢ WW‚öËvR²&6+ M‹.n:"`Õp&‚R ±ÀŒCžÿfùœÍ _û.ÝÜdÙP²;ä„`Ç·àÊ/ÖÞ´ýý¥}›~Ú<^Ÿ’­тʭ3Ùí{UÓ.2–{ŠôîûLê›lY:Jnzæ’¾R.r¶õ_¥‹\7Ñ×Nƒ ÙTàÇ…5RÛ$©N[¿²@nÅ(ðùNÒ^Yç™$ðŸ¬Sp„Œ&HçÕn0éçú{h ,éú¡ 9F_>¨Õ7ûq¹¼é¤šõÒsŽêÐ>ã€5Êmî×1ñecª)8–o`Õ»5ã=ªÌ¡êpB ÔVµL‚ç«W¸T’bbcÓ ÷’¼Yº ~ Ë^y lf)üº>q ¿N&”ONƒ¸ó²XëJæåԻŢ€çEÀªŠ(ï‹øep0xí@ç=#ðpå0¦èX1 wTÑ YB$—®XÈqÕhÒ /ËÄÿ”S¼îýÀxWúø|3™*Á\ò÷åh…+N¡›ò2ìc;¼:Ý>ì¡þü™IÇ}t34iÃüu_’àž×'ê7ºp(3n^Ä´ÚÀ‹ ÌHiMQö —ï~+àø¦–fIèYubÇØ´MÀÛÖ–'¦þUn¹©_E‘€õãÊÝš4u™_pf3&ìÍi?ÿì?&Íï€ ·Ãÿ(ˆ‘ç!ÃtòÍ„J0‹7ÙBàPíðh¥gÆÁô“¨•H¶4â~žÂî4þÛæ‚êøCƒQ–s gbö°Oí™ £fƒø ¹Ü¦|¢ [lƒµý Žwõ‡U%þÝ‘6'`}%¿§‰´!rCõÙ«'îçCJ—tù¦éѺ¤Ð$K݆´Œ‰hùÊJ.$…ÅE¢1É™ßd©¾Ä¬þÛ”PϳìҪŷ¯åPùiAþß¼Œ@BðR¨Ÿ šÀÿ•0ÈH~ !.6¶5s˜‰ËL[²^³¯eN©ï{&Œß’‚"_©¨„ &\Y·sFi‡O> ÷G¹§Z¼Žl€\T6!§oŒ®ep“Žá™ P"Þp~;`6á,Õ{gz~?GǬÂkŽÁ ôXýWÏ6ÚX±HªýûžðîMOT’ñ9[ êÞºb°bq*‘èwó¹¦úçk¼!2”…2$ ²ÁÊ>g+º½K—5³ûª^‚†ü—†ƒ’m9AcúG!?:ø§rÈÊ\¥:ÿ)¥9„)=Àl¬Ï…騴ldÙ>Ä÷ ƒ¡¿,Çxp+ø¨¨ 4È›±-W"dœŒééØ0\´Y‚ººõæwùf^.BŸ_Ö‘@i¤’¿íqWzpêùÐè÷oóŸ= þm,¡È·•Ù‰™Mx±µØ6¯L3jSg–6M7’Ñ9µ³©µ¸®O-Ïz‡†e;Îõ"+¹ÆÉ‹–v3^b‚ûõ_ŒÈ?ÖÁ½Nªnö–GYŠò?m”bn%j?G©ß ‡…ÏÂéÖ½v ”ö4BO᣶Ýb[Ûa3~¤{÷t©—ó’ö;[¼f^G™œ¯¹o·ß.¡pÊx!z8¦Ãî Ê-ò M…Gfš“s$E4ö¿°ùc×?Ùeàû0¾_…µýä|T°p•º;VLjdB-/g70iÈ2jP;s¼|{6³E_—8\Ãè’m9Eñ"1ø–“âÛ”­qxÞu™ª+ÎǰÁåÏ_¢B)ù(`bÑ·ÈVƒâM| ‚-/ª¤æûtr•ÖÂ$Í“Òé¡ gÈ%hg" \Pí‹N™ÇÓEÌyÇcú ‰²õ¦ÄÌJ‘~ã_%Ī98cfí.&+½$gR^RíßH[Äb)†Ú›ÕF8…È}ˆ>ÆÅõö“W»LlØ/¼¡øèÉd5°+vó„¨:a¿èK˜MÓŠ`Ý£gJ™Å˸™®Tð7-ÐYa«øGØÃœèÃæqEÆH¼ƒ~…K,÷Ø=ÿ-¯íª¤Pª—±ýÚ7ê.c²M ݇׃’Y`øBŒ3 98Ø9·á|yR¡£:¡ö†œ³0ŽÛTÁl.Ó_ÑWp­ Œ(cÜÑ9^ÜFVŧDtz¿¤ŠjÅâr÷8èÙe:dðKÌc1…J‹~Ãs¢n¼ØôoläðÄmâ1]çs-„±š8ÑunýPʦµDþ³+@’nâ†T—6(ŸS2°‡[IY:k¡Ž–¾.ýƒí+ÉÍŽå'S°ë•aÌìN¸Fõ†!™®™Þ ¤`t-ýN¦ ˜ü"ȯk玧–ÕxtGi ð1ÞQÉq« t©Ž ¶²«~ÿ "!§rÊ{5I{E¢=¦Œ¥ÉÛ€Õð¡‡YSóð Y,Æž1}Çþ}ò°‰ÓªÇìF«¥Îã†ðßf‘]ÊA[$ÎÅÆWHýÿºZÿÊÇlZ°ó–‰ÇÐée2V¹i¨ž.} VvI²¿:4 v‰û9ÔÐâ»Y ,Ãz=nauÌÓ [Ñâˆù†gwùù‡ˆ ëŠ_›…ØÕ&-ŠþÓäÁ¶: Ñ¶Ë„S¤gEÒMí¢„éÞ…¤³9ש=ë!<>̶ ñ;$«y“sÊ•Êìšò€çî;Iþˆ(·7µçãØ×*tV¨RQ„ס^–¾Mµ<2¤ùÿÛ§·ðßíaIÇßÞfk),›—Üq,Õ2£·¦Í`p㱆¥'ÕÔö ŽÅ›áƒ5:¨ýw« ‚áàæQæ‚[y,eÚž¯fªƒuÞ¾™ú9à¯Vu-õâÛ6—º–î÷Çî‹ÑK˯eš0è€ò¿æP3úõu7Þ=´·\XâTö§ÏVâH;§#³eJ$5¨8ø%ŠÑ8à¯ü¸÷H„AÙa7Š!Õ«#Ûgè~ñçãŸó ù†VXCõ{óOÜì¡pQÂÄ7`Ç´d¤IuµŸøðˆu žîÀ]Y¹|áu3.^¨és##[Ã+…nPPöÙ•^àÞ Šî‡yùPbôǪO›Øh ÏÌàUÔ⎼g.vC¿xm‰¯¿—îu {ØWÈq¨ÎênæGÒ˜Šì*âůLøÞ; ií—ms¸‹Óî£` ù±e¡Eå#é"=I÷9X1Âvu˜_˜ÒKó"ø~—ŽÊà)\FDwõCàlp@ô¡ñxb Z¼PŒî•üûÒiÊ!·ÉU¹JãÿG• üà Hã[rüCûØ™Šþ$aƒÇ苎ʤP"θü­ÞĪQV™ê5Îò±H/¬ ÏðÔ¾„;’“p5 Ó¦‚k ï’1$þñ<Û£B³Þ«+”§³ÔˆÿÈ»í»@ F·¸„z2Öô›‘ËlR-´T.ªÛœRæØrÁÓU¯:¬îFظ›ÐǺ/«lþlS|C_™ºÅÐ*ŒÀü]"ŠíÚÙ^ªÿN!2ûÎêp¥£T ÿÉ9ø]<˜zÝjq")&¬¸vŽÑGë<•di/%ÏËRY"ògÉ4Æû˨áX{7MÓã°ŸÁ†r5Á+/°=«¹SÉö‰º–ÉÓk&÷"ÜG±¨÷.ïôy({Å7³óÈcµ$e´k²ñq/"SÅÁâÄ]ù/9ÀQ ~ò*³ÿ*ÁP+uA°÷ËYoÀfÀ¶Ôtƒü^ÔhÌ:ßávÃö’™*ýªÒ’Ýü E¶‘}¥†9àçMY*éPK¾1¦æ›Š2~8Y”!yi$¢H^VóÓ;ú>XMtžQSäR×Êî{Z|¹·½œ ¡¾™ùSsÚûüúkª¸0aóËó@iv+Ðv&û!-&P dz‘:„8ŒS`˜v)ܹ4F*ªn‡®xØöáhØ¢ÎÃÚƒ#<œz‹À·YxÏþ xöS¶Qág)—¦_Ôþ«PU3J÷¾þ?Á?8ú0å½ð:ªÛ «Bt “0-2µ£eÌ´ÇUžlTqG%š¨PQ«ÔâÅÔm‹“…ÙÝöIM¾²en iTN£9¬~WÔ*4¸To/ã?ið­«!:ήéóy†‹3¥@ÄAýÿ-˜ƒÌeeAůe¿É_;üÏ¥W1Í/79JmécTFØÁŒ(ùW8é §*  :ÉÎD4MDnHÒ.sKÌ›ÙxW%2B8`9& â ¤P/öH1Ê ~Ð˳-ø¬iåÞJø>³ìä>nGz¸Îc)ÜÒÂëQžªÀRËC„ëâ3è–”4ò6å!}“Ááßz™ÿ¹ó¾Çxi´ZJˆÏÄ1•SÝ(ÙqGÉ “ÎXr2:ø4“….Â7ð©àÐÃ/©˜Ë`>°|ºÓš@l7c\Êøc©9qÇÕM¦—‹ J~7f2ßãQ[¹T‚GÏ8¨ZeØ»ÞÔ¸v “}ÃU±®¯}9œ:C L«¤€ü·²¤Ê©üG4|P‚ú “´¥Ä›G,ÖçÈgÞªˆ­uÑ7žW ÜÆJfë÷Gœváí1ºÉÑe 1D¯=Vú# 7Þ"añ¾&ÕÒ"c–.@ØÌ?÷M,Zm~¿´³1'Õ¯u6ziÑÞ¨Uó„ k‚dP ’0ÂàXNÆ¡žªÅeÙã6²‰pMKe”‚v£WdQ~¿*1Îu fV²5:N„b¦¶ÄìUôtØ*ëäl£N1à £·‚âV‚µ§âTó«/€…"]ÖÀÒ§6ÍÚiÊ€¹&¼g»/ÐÏfˆêxy9 >ÕùX°×>ÆS{@âÊÅìŒþë8›Ã—Eõããëàº8«ͦ5G4-»†T-B1ÕS|Š:4£z{9#ë.<_öE«ú~ ZxÅß,T”Ê¡rº!¡›tYa-elkbÐq’.…xho³ŒVœíc†[%•cB¯|ŸÍî_þ¦šÛy;Ó\51èæ^ú±™¹ÚX*mJšèÍU„’Œw”]\E|ÊNqñ,ýõð¯ di™,"â£mÆ›`›–3䨌°ü!ÄÏ›oc³\SÔ` üô_% £µ¦nÝäo_=ë9GaÚÇØ [nŸÉJìÐoõæÄuîPÏÿ\ù©Š­™mî¢(Õ‰¸› —‹ ôÞ«£ßs·P1q?³«Xè{Ýê¨'…pMz/ΨàÁø»_‡Œ ¶ã³”ï+Óªa\çhRNh†Ÿv1u+rÚ:A¬•ƒÐ-Àßz~h6 ä£'& `ñâêƒâ ü­Éø·Fª½ekŠyHŸ+¦‚7±Š~ªz5ïë‹l”óÎ@`nT™ùÿún¬Ý:R<6Hr +qòÈϳÖ4ZpÀ^"±DÁ(s¡)oƯîƒ[aìÄt±Õ¾0ݾyü¶;?†EzÍóF}*Ô8@õAÓé «qBœD¬·Ñæ–÷‰BGqɲW¾°¿ž§>Õ w0ê[Þ°!uËk®“Ání(p#Íõ^7 ¦øažwP¦U:Ú1A·AÜʲõž×ðñÒF)ºøtþºÌÍK‹*^úÜ ÞQ)iø1MK.÷qQ­<ßÙý.Ɔ!§‹&GtÄ+âq1ûÕ™x"Ìè•süµz)×ázSþ¸žLÂmKå3ŠÿDéÔ˜;O€©[™sì=&dºÇ-Ž+b›e»ÃP!Ö±`†JOnwí"†÷7Ùƒ6Ó¹•†QÈʆ¦ÉÞ¢i‘ÝÔJ ˜²á3Å|‘ ÛMÏ3ÎÊžÊå“C:¬æ¢CÃÂè/L^+#`Ø'i”q%AéB]‡Ö—¦ aóËêâ°jŸxýt´w¥ËŸÙ³fKXçPÒXæ¤0ê‰ØCfUÑóߺ^0Y-O<^Z‚57Ä­ôsæàJjè…Âå(`®¥.˜ß+˜£:Gu Œ”m4Çž9›1µpñ0Ù/g¡#ªú£?ª_¼3<õ°Œ®òPëkJ/—²+‘ï ´Ÿw±âˆâ#FŒ·•ÖŠ9ŽÇ˜qÌ„¹#è•£ Y¯Ão1¶!á­¢ ÅgÙ(r·`&À÷ÞgÕ²{OÀÒM¼4_qï_ÁJ†ÀÙØiÇˆÔžÈ ÔYíÌbQ^bÿD9ùá9ˆª=Hƒä^‹ˆcxb–ð¢t³I~A¤;.@¦x,åãÝp’L¿5ÊÒ›·eŠWAà&à¤Bç@ÜSún©Ëº‡«¨2yÕ½5¢z+°'Ó¼œùütŠosƒAq—E®y\L¸ÒóÑ1©^{àv=–â‚jÉñ ‡ÌEÃ=e 7Ô*óÿC¸"†"À`›—JW<ä–8sxžÛ“-Yߎ<%­È¸˜Ž¨«¼ IXåCÝgýYwŸ÷,U5AÛuñø¦¼òª5½œ¼¾¨,‘™ ŠñÜg°ä½Nô,އ·<%sã‘ÄjÒ«þ‰/÷à…½Ëi;šlÓŒœß`€4ÄSc.ì…|â ÝʸáƒIKÔµµ@ìBó-¤/»3ûØýøžoÃÎs>ò÷~å~óbÏh©½pËdÊ"?ÏŸ>_ít‘gÒ­CÔÐD•4< [Þ÷8¼ðMDo7[àc¤â[r~+«ðf)Üo8m”)KÏè9*省վ°x„m¸×¡RÖ 2”À¨«ÎÞÊ?m\W<ªè!;î_£fߪ>† ”Í–'Õ”û«ß¨p °†¹·‹–¯/‰ Yíÿ†•¦øŽé¼Ñ©+ú>Ft‘¦ìX Ź×(}'y¤`W‘É!D§¯hÑvÙç>`δpdØ¥Ñ`W`fK n/B¿Ù]Ö„ô¦yŒóY+LZt 4Âû$ƒ!ÈÞŠªö¢èýLùß6£8Sœ{ ä؉©v͉ǯª]‚/!ÕÏ2y®¥Äe#æ9ñ¯¤cV€Ûÿéºh[Ç!:b`¥ŽÊÉ çLØ>Ç(„–—‘ ’UäA0 Œ6ÍE!u÷<Õ:Ô˜M9i²ˆ’á 9µ³Ò¸úµ#‡ŸT•‘'øµÍFû²Ú˜qzn2¸|îq4îÑšRuÆœ…î}”D’ýDûý> \,p‘p#YPxböÑýÔ¢]Óä"Pܾùf7 ‡ÊŽyUÀ +a[ÐyÓ? ¨¼2+ÒêæƒŸ¾çL‚ÞSîtH|Làü‚2HË+¿’®Ä<&ºûœô1%9R|™kò½ÀW[}ÎÞiH3 îñwAL©{»t¤KWhq^OxƒMW^";è¿`ÿÁl%̦‡Ä.On dæ‹÷x:æS³Êú;ó@@üìLÃÚ=Â{ ÞßTþKúŒÁ9ï $^å6KÁ÷WÆ;º~[¸G¼[§M"Û’_ç°ÎËÙ-m¨U{ ÷µM E1’B©´Ë-}“Î`0,OOÞÉtSåÖÛC€ì’æëYãÛ9øë⌸à3sŸ¥ÎdQ·˜H@eQÑÒý ׯ~sÍ9zöub¸<ÖÕ_ `~>‚™±¸pmã<ùÿ>Ü{Ô M.#ðÙJÉÔ4¦ °X[ḭ̈€f¼@†'§5nG,™j@Ù/Jä´6Á¯ƒ½Sm£¼0a—~VÈ®)`œTŸÞzÃúÔ Æ¸îM'ƒï`æVµFö²þoDGª®Î4YºÛ- *¶U`À¤áëì@è9R¸k:Þ~k Ô߇®xEûŽÖmF_ú‚0¾'šÆ‚u2][AÅ"Cù (ûÖwIfdȵ… &—$½2>&$÷iRÆÖ[b*³SUÇüišÁÊyÀ%‰…utñ¥ËOÈܽ©]{¿]ïAžCdA‡“æ>^ÀË™,6IÝq¡Õµ6ó0´{WOKݨÄö&þÑgv‚Ñ#jIF…Ŷª‰mù݈èáÅÏËØTñ´Ø°Ùª2\²}c²üõ¥<ɾ—ùX|o}8äKÕ»ËbDv=¨ÇžB01(Ñó\meò$:¤sˉ{”&7rê}bü-¬"¿kU±qi‘r(4ñÿHdÜ(ÄSᑎ3ô÷jG–]ˆÍ .6€5{·¢}Íþu““Õ:G™}hwÉ»á[„Ρ"GO-½.¬ò²Ê"«“‡¼î*M]R´wqº–)‚eoZ8¨ÁçÊD…­¢Ti;5 ÉVNÇmèC4™A+,ì{’¡#!Ô\óc±™—ÿ5°PdŠVR ¶¿vÒåc)9ýŠóÇ¢|Û‚"8‡(îWé ÑÛ%|?:ÒÈ# Ü«ëøZ›2c{t–掊âÔ¢Ÿ"Y ŒX טò–§ÛQAý)ç=[—VdcqŽjp?È4%Žõ„-ˆJ ( ©~éÝu¦¡?ðt§ËþÔ%àDÓ‡ÖV G¸~ƒ,Ê!ug+„£ «hjZ8 —Y] чCܹ´>>‚ìÿZr3—fô)tþþñÂe¶'|ßûDé±#ܺ³pøáÉ¿ù«5ÊÅHâRÛ\£~1ÃÆ««t¦ÿ•#E“}圳ü ’•DƒÕ*Õ” 7gy;'®¿°nRP°W =yœÄCæ¼ ¡ëwœÙCri,8US’Èå™B]@FPO"¢#Uw6Ð i3xI¹fœú1÷²¼~8SÛ⎫oAàœ¯~ß”ðûö&¯ÊY%¯\}’#å&AËe‚P/Ÿ4ÞùÿÛù¸lþÒ¸+ÌTÓ*­ÿ¡yñ C´ãQW‹S² £«¡ºñz¡á1–©Þy¦· ,_’¸ÏÐ‰Š•¢xj‹ÍÔ¶<¢0‚9ñ2]UÿKKÞ2n,Í/½sa{%(<Íö5J¿óÃu~¢Ï/É¡lÒê|u¡ÍëlE±¹¶§Ãå& XÍ ¹GMÁF(Jàã·Lr.ú¸ï<Éb^¢å9v b庻¹§1”À‡ÖÖ¡L÷“ó‡Œ3…¸óøõš_¡ÁbKÍÞœÁÄ]H”‹h® ~ª?R²›È îO8?°¥Æ¶ÀzN¨m•X9+ªigqMý‚#‹Gq =ÈzâüæŽHx¶xÂdÖ߉”~¦BÏ`°£`ˆ}gGº4÷îÄa=!,¶\-´Û÷Ö¶ª¡¶j†Ó®X‡?¢}#üFç"†³—Qu–kÀç§È}ÛŽI‰Ä••îà|R L:>ä“2À&|äF2fóÙ9i20?GVÀ9¬ï¯‚÷ð„ Õl¯Í©·¶iÒ‹ŽN*Zúü©M‡ÈÛfÜu"ëœgôpn󱓣Ûõ,ê‹Q€ŽÌÉÅò™¥Ÿpž“¾·îÀdÃ9ßñ1j[Z¡ —h˜8È2¸¢3á(áZ‘é­ú¡Â•­½ïH¹6xp˜p ÃÊ0ebPîÖ6EhV‹´)p_ÿ:Û,l!±Ùšd’_YÆÂºZw¼¢€¤ÏÔ ¡x%–$ã7® tœ÷[­r €Âˆæ1zEÏXUñíN\Y]91ƒ‹KAÓ®t1ÑâB_:âg»üÀwð ”ðéãäŒÌÙ iCŸ%AÙœŒîJ?Hi¤sQï³ç´wœi¶Ò½ëa'v±ùÄö>>Àû¬¢õš%Ó{½˜¿Ü\Œ(Wa‰ý„Û´°6yŠòosÿQhî>ŒTºÏ‹Íˆ‡R÷€•u{Êb6s\ Akþ‘ÌAL!ÔÿO(ÂeT4xbšë{Mþý¤݆H޵¾ÍSE©±¯¸næj9Ð6m•ÝuíÉáüò×sÐi覸´B9ŽQ©ÍÞ=?Ú´5í ˜–$—Oÿc«=hÀy»l‘|Bÿ,JI.HŸà­{)N†²0¤—#‡6E«V*Xþ ÛŽæhgÕðÙ¢áóÝA3Êcá ƦUžKÇ̪;’ïÃy%IGrC,ž6¥Ôfh·?îÜc˜¬y¦-¶¼||÷Í^Mñ¼Y®µ³@5}‚‚š÷ï0¯­ß ¥¿ üqA®ºêK ›Smj© ˪Þó»¶wS#éŽÌÀ•Û³;¤NŒ:“|KWŠ›üõérŸ2dØrƃbQR¿±ßÌhöÜ=O1O7UØËëãg'ž²vP,4~A÷EÉ'ü ÷2™ C¹s'[ÒœYŽ?:¥ßZ×ì5¥öP–ù†Ðwü+~•­|Wf ûŠ,`–.* X¦Š*бÂUÁI¸Ü7µ•wjŸº$Í Âk²nªÔBŠ‰Ã¸gÐC|¼¼¤(]½}Y ^ÇŠ™šëq?â«+n‡“w¯8Žªˆx´ÍæÄÌ–3‡á"m&Þ¬Ñcî%~VÈ„ôÒ©HÔ¬e8¯±HˆquiÃ|QÁ+*4ÍÓF=lÓø£‚Œ“ Œ'ŒÖ©oÎ$!s KrÄÐdê[Óƒé1¿8Mafwx{È­‰wî×Â2 E<9†`^ ~±{—‡ýu|M¼Ø‡b„×Ýc¢êWtÚÉFŠôu,Š:RÏw¸¬ª`Ï5QrÍ-÷];[|¤Lyg~½Ú½†gù®™a£<ùxc {´ßÃK„!Ñ*¸êxh"ƒ¨ÿœçÎW6>´ym‘ Ø•ø8þRáÞ…bf™ÜE{ìmœ8}OþáØšB¥hñÒ‰i)F¿gcž3ê…Í•Û~Cq/»&»‘ð$»üZ]H&Ëźo.R8-qaÁ»`€’KdS+[ºM¤*¾ÖZ|:\_ŒŒZ' kóC<:1þA'Á¿\qñý’Ïû?V³¬†k·LÝ0V!ÅÃøúc»¨ÖEžÐ¬t!í Ëuo¹”¿Ùõ~êÚ¤+è: Qî{P.-êôoˆùκ· Eœ÷a‡H$ú%Jo+¼Ký›òÓÔˆølLwNÞ% 0­âYÏ¥µÕÓ¨]‡¿tûW`òcSÆßJX¾Ù6^ð´®N bÂüJÍ Mâ´­êeeÒ¬<ÆîØøVfšä’Źʆ†£Á ^¾ "1 lÆõ2h°HGOÇ4w@å}ày†¬6-óŠù¬«ã{ò‘jP…{¶jÝ Z@«{¨0'Ù¡,Ú„ÃÖ^¬-ä?¿´&ýMyL7³ÙÖãö†%ƒ® þêœryéÄÄZÛ‘•jŸrCšé#ˆh˜ò?ÊübaÞP+VÕšÁ®í†‘êÙl…q„M­º -ÞäÔm —ž†@{óai|DË ³?:éò¨ãÑZõ’C=¡‚ÿ*Ðí—À@Çtº.«‘tu3‘½£ïÓ‡.0ÔtgÁMo¸Æq¤™|‚ªî¼dƾY: n&@ O÷2“ò]Xâó±du^Õ¶¦¡<«Pµ y$^„ÇfîµØ£OÚûÿBuöÂYØáanï°ç1)çZ]:oòè–Â=d2`Ši …ÏÆw6ǸB~y}ok„»þ¾ÿ3Ipe)Á* bÖò®»e@e¦èzá‡nÌ™AK(ZžÉ,¼óÂI˜B¶cW›MX±"·“·Úå/æ'Œ6E.ï­ëWúuBFË­rn°år ·)E~ÙB®ÉjÁ.‰ºÜôó|Zµ XÓŒŸØæôFÓå7jÈyhL ·ÊÞ>í¤©zwl«àƒ¸¸´Üěʭ°j„wíE-ñ`”užXèïî·€ ñ¸ý‚þ)¨–€`øŽƒUdŒgX19m…m£ÒŸ'—2Ãé?ªq‹Ìqêd“m%K~ù €tK‹Äï?‘¼°£aÛäõ[ A_æ.ÍZrúÃnÁ"Úð ‚öƒßI#}ûð„›èÏN{±xy£œ‚Ú«⦄ö·„»ÉÌ jÇ/üÝx&ÿÀp~‡…É0n¯­ÆÔp©­ŽîFpx„ÀŽ4悜±Å_3À¯¦&]IoaTú5K¿õELjݺ4ûî`!×7ûN½c æAnà9h~ Öæt—S'ƃ˜Þìì¾òõ5K"3ý~º…á$™ÍK¡ßݯa=n“SÓDSœý,ÂÏçËžÚ 0&úk=·=Ó`Œ6Ì ¯GäcãϦ”.Í+QpIr ÔAt`'&pÃÄñ=„Šu­åhDo ¥Ñü‹ùØ&îãu(©D¼úmÊv¡søÎ±âÅA&F$ÃËV°ÏmïñÆõ´»“h’@ÖÂÚ I²|ýúgc<èñY0³€f¤Œ¬ƒeÒÍXz>½:…ñ]îr+%1!ºƒ-_ø`÷X·ûûgb f¹°®¡(‘ö-Ó½5ªÖÊA^$áµDæ»n²5i@vm¢5ÝîÓ]+ßrQ$¦Ó‰ïÑ¢VýêÔh¬J$˜“,†nj¾£Ø+¶?Þ±Ñô_‰Äê1Èþ{6Þå/鈭R’Ý$Ûs´=1oÑÓ™êþ=0þdum­4G¡­bG­*ì.‹.ÏóT·£”s¯ÂaÁHÏŽ61·Ø7KÔØ*OåŠÔ¬Ú‰b$µ-(Æ ¬ÐÓ]Š/éüò2C¯nõ#óéÁ_úî3¾ +4bçÕfV¦èd®¸Ý±”ÇëíSÅ‘¨ògªÌEØY.Ç]÷—l­‚a{‘Î;+ÆÉ¶ú l–â%®â>LÆæª[=¤ÿÙ÷oȽ:úò½)û”~¥K Ùë¨ü¹ û .VoÊ«Ôk¾ôãÍQ°(5w'ÿ3ÓˆC»Q¯mC…÷m†'XÔs;f!ă!Ó+0(úrØXõ‹köFy<‚; ñ’,˜@³Ž$ŽÀÇøj¶"v° ¥Tkw†¦û¿ G†Ji*R>1^T2ñc›Â8YâÝvM7—ŒÓÉÑ`ø*}¤_×Bÿ‰#.èøÕº'('ä{ö·†ŠçŒGçrò•VÿÅ÷B `mÀõQm …A@ ˆÌÊ_¹Pjø±åäŽ{`–B¨iì¢Ju·|ª£Ð$Ü]nSÅûȾúÄ6FÔøé:Ò&YvÔNGð^cV»Ÿ*¼k! ÌêÎ¥â«Õî£@NR{ÕËœ<‰{Á:a5kG#ßÊø&t‚!©¯ T‰Ý¤ííÑKså8ªr› 4*„òšÚà{,vx-ÕÜÁK¨ÏØõ ˜>ñ±íëCݺ¦ õM¶)6Â…±p¬¯hÚâ|’HÁ¸ó„Ô:JIÍêèk ݸ ¸7WŽzÚøŒº(­,1}»}pΕŒPB âkïs`׿‹¬eîßœ"‘‘ÚÏJŒŠPã4ñ¨‘Ú É·Â]7l¦gåNû=R…K­ÆÝç‡KÓT >øá£ÄÚk``uN¦[ ÿO™{>ÅÙ¸eœÞëV¶‹r™‹ˆ_*ƒÚ| ö¬CÚîJ êà·êwIJèîÖÁJÚ'ù.Ü_#©PG—·&@5mýc=ú›±xÏõR;¥J±™<•Õ]nµ,D+1yŸvÈî>óØõ°†Cÿf¶ÛÍž},Z¹Õêû¨»Í h7ËÚ·eäe ùP÷8õ³l²Þ¢R½ÄÍ{SN‚ˆëù¶Ä˜æ¹Ÿ£ZõF…ZX_ÒñŠÜÖý½Ä7†#½Ѫ.ΰ¦K€{ú”WPõïê×÷ÕOø¥ðá ŸJªŸÅ¹íñV,°'®w>¬4‹óYx XµKž’!ߨ WüêÈ:¢rœ|rp3Á1Š£8¥E7ƒ•Ð.âw{SeÏ,…'€IÙ~u±·CàzœâóÊ -ñexG`AÚà]—÷®ªŠÅ ôsx\õüCôÏÆï†0&0ItoB’zR®lmXʈUÏ4™ëö@¦ìåÖÆHBºMoî‚Å'†‰þ1î·áª U¬‹?¾:U”ÀMf¾|}rqàlx¶EÃå›zì —W62¿T>-`(þ†dåˆfH`þJ×Vƒæy¡ù% 1„—Ði-níMeKac)qC{H ,yåÓýjÖ-TkÒšO—ÖPxÇÇ3ÉFÛ’±ƒáÌlö”l*GÆÐI;(…õúÓÙ,<‡Ü“góˆSù%.™Š¶NGn< T‘Y«IÉ_5ç­«%âÉ*ÅÀf ¶ƒIÓ°#2üLdº@UîG€tèµÚ ëqiƒÑ(Ï"õˆS°d‡¤ P÷©ÌÖ÷~­\Ú­£„ˆ@A"Ð>J‡Þks׿BÈ ‰Î?"g9½~^ˆjÀî€ü6þ›ŽŽÅ¯ò¾)CKó¼!ŠuÊ|C4‹k$<¶²¸¼O­‰MôÖ8Ðݽõ…ïÞ#Þ÷ÿ[X‰Ú#ºU2A[M/Ù¡fîû>‘ÜN¯Y‹mR…mž¤`e¬!\Ö½G»w§77…¡2~m©‘z×8°¡²©BÏÞbÚ—ßF‰¶¡æÍ¿#ÿ„%‚Îè u¾ëR¿=È 1VÄ'õIØÊü¨E\G¿²[“MM‰ô+²‰èßhýþì"!@A·eˆ“u)%VȺ°Ò}€¡ù.W¬ÑX.„.f*Ÿó ëÕ WpÁ/ºIážzÚ¡ÚÖò]Ué$Þ9T†©rñ¢Lš®LÌg‰‘þó%ØÞª§QCƆ¨ñ²N2 La6Ç75kÌlbØU~/4ôV¼‡,¸í%tØ¡»ù76ÄÞpÇ&H Ü{™©½-ÙîK ŽÃ(b•˜ÏŽ#~%þñeTq«t± Á»Mj…h:SæÒ†µ.Û–®„(qdþ¯½¡pvÜ;¬ßw´ÞÍ!($ø]rž¬LÔOYrD‚­Ò=êºÓ³æÖ+”X?j”|IÕ\ˆ—ÜÔÿ~XE/4•¦Nn,CE“ñ¶5'!S*­ YkcÆ£p´’  ¥È_Gfu7½QV+äM’K7W41R²,¸ÆëÊ8z1>'¯onŠMúµ*XJÎRÕÄY¨ò"hvŒj‹¤Sùäð~A4uRþ̦qaS縷0¼ü õÿà. }Obø  µtC‹"µ­ÙŸŽäAÀ,„KW[ú×Ó›Œ/T,÷Z‰™ʼnãTPM eÜ j”‚®Ûï¤"çÝê­Ý­îW³šDNšà¨Ì…‹áÝbŽfƒïDÉŒ¡NRÝÜýC’PËé¹@á¶1¤”z1J*üôJç€0ÃnTT|õÛ±tK»Uã¿ʽì»íçé1̤ÊÇMÙ{Ê:ˆ[µâžk _´hÓ„ÆDcöÓ¾ÿ›É9\Ué.ß®zAb“#àéõN ¾Må]¤z¼µöˆåñ"Õ„o¸çl‚ƒj]ïåƒ\öçhçÆž½aE¢ŸLK7VËÁ0Òv|‹gZÉF!³û‚ò?*ü¹¯+ü6E)Vø¡ÓÞôåQ!šœfk š™AAð@ð¯Ä¡MÓ/³¼–‰õðu^ÐO¿ø²t$yr YGMb‘S%\ˆ…Ò+9×%«ÿšä¬Êß—¯XÓÝ“ÀiC y 9¶Š—2ºfÛvŽyùú7F1 (ÕJà>",ªÄE\F,H³j)†ÎÞ˜çL×02'Çñ.çJ×MʳãñËß¿‚¡|Œ»äµ«Š)ÈL¨ºÍ b'õY¸'¢‡Ê¹“â»ÒK‹ÒS/rM9Ž »ƒ'ê!@™¨­>C×ö‘´lïÞ™0=‰rÁ·-,JïM† qdÒ!wT…]R–T¨jÅ{)—=>¹oºæ£0ÙødÙH3eØS%<†Aa½ÍãFŸ˜jd ÂLÂ- ÃFªçõvu|~²²ph®zÃG«æ7÷‡¿¬|Ü¡s£ˆí{dØbwîJ1Z‰‚òˆ6oéœDš%Ô˜hkÅ<`Óky—k1•9Ûd&CùLØÖúå÷/Ñÿ°Höÿ’Ï»}úý âÕaŶT ÓÀúOÎתÄí+7 Ô†@¦"e²cPe1eÙ‡3»§`Òèf@–ÿöwzŽ\{ & žõ]µÍSD£ïtkUˆ©äѦ`|H1¬5¤¾Ó¢q^ôªˆü¨B/Qм\ß:ÚAà lÁdl#I"ÅbzÌèä[ÿúfNÌ ®ÞsMË‚¤ôz“×Ì@+8Þý± BÒ=2C]½ÀI¢k®ÐMâEsê08ù´qàCCÿ¸k÷áút9‡ÁÀÀp¥ÄÎ*š™Eu]¾B<þKM¼Ú`f0Õy› vž¢!dìOëKã™\CgÇŽcýÂ30“wõól½OÕÌgÄH¶S†L÷–5(«š®0Ô(¾ÈhA„à T@ýE¤AÚ®”!W3iéÈÄ“è1’à[ )‰á¢Û-¢-úP½Çjœ£?µ@’õ8`K1Áåÿ?k8⑾‚Š•D)\ܼd6ÁÑÿw Ë E´p0¸-ç_AÓ±qCËTˆJȮߡ0¦ñÔÂc+¯{½¬N¸Ž¢W¡-ƒiÒ<ò¬LD›…¸d5Yp:#¼Û¯ã²z\ž >Ef~®oeTNÆÉQ¡NìÊÈ%c<Ýõ6ïÔ±!:nbxf8ò˜œ]eIÙ®ÇØ“óSµj¨ œp|¶SÈóÎXô”:”Î0ÆÉ ˆ}ÛˆÔ’CÈÈd|‡Nøbzq,Ô«©{ÀÊÕŒÏJ¡ïÁ¿¡¡/’±D‚¶‰0qõ>Æ#€ä¥Õ4ŠF°Gì OpäUŽØEö»«~±™_\ønÙãÁ“N÷8åsëDëy?JïSà³ÅÿMÌQ.›E»Ó!æ&²‹ñ†fØÛ× %·¢µLÔt%²Ý…/A&2Í¥ì¼ÊäcOªxÍ }2×Ä-=¥ýŽºÚÅÖÝò4oÌ»Þ;fäFŒLh°ñxš” á¾o 1;ô¥!×>¶»ÖÎw"ƈϞ¸›¡[ŸF·”(`×±! tÚbžGuÿëß m¾Õæ”ïïþ— `$xƒÖ£ùXè¶spjëM)ž°²ª;jøù§?ÿ *^áo)ügRœ^­/™šïKqS_Sýé!om›k%½žKï,6šG‰eøÕ¦È•š¾ño””»ü6ÅwîVÞ_˜iöÓ²ºV<ÿ1Jt³Òì'þIógö˜Ýõ Ÿa¬¸GÂÙ9MÌÊ?Êx£¢aW®´º~ë«×=)zÞdæÿ`å›”¶odâæfcU` ã0Jj¯+ÆÒ=B*#á¹öªeÍgá8f”ÁT¯wɯ¬yô<ÜþänVƒÃfûR,Áà áŽsëÐËu•ÌÌðàno¾‹~å6 “Q5^§lDKFðB°[6ý-öé‹þ.É’e#5x¥¿ÐЦšë0ˆ¡‚-*ÚaM=ãóuy_òî¢]—e—·N´î’…#:Eƒå’Ô:‘è§NnX·­ù5Âànp—ÇU ëeOéÄêM°°õ³’AUœ ®«„Æ =èQ‚½O:Ïš·=ŸNÞð¢ÄðY…:>;†‡™H¨‹Û5qÑ4௽ü©µ°m*å°bѤѴãëX9FDö³sqß·þþ;bÀ?•š+vy­Ÿd¦SáÖkÚ6=¯Ê>¤PøòíÛl e\©”‹Té”ò¬ZlÊënt*ÜcÏÔ®p8œYX¢YCÚ¨>^KÄ´„õ}<óIúÔ{ ŸÝ‚ä3¬ÁÌа"ÜÆ3cYøKVSÙ(奂‡3(ßk40ôÓÒä(ìö…'“Ï£f%›H÷ÂçIÃ6p]øÃ)Àú\Š˜ùÏ„mjrî Gˆ’Ã<²:fóÊ;°žz!÷ØLOqŒ>m›7‹ïWŠº&Æé"ø‡–xò™kƼŽöÇ¥¤S1§LµOÀõY£±WëäÙÄxð$'.§yNÇ#¤s ظîNoÅŒì$•q}“Ó“ à¢Ó2’í¡ðB7 ð4Чæ=Qݾà/u£|kƒ\qwÞ÷)ظ£‰Ý%/nµŸ‹¢œà=/A‰>m5©üþ¹Æ*‰‰Ì¹•ö[M_q¼Î%sc%LºÝ†…Ÿ,øêÊáZŠ=Ì1‹§«p²"YšbòY¢ž<9/ՃݒʽùµìIÆ´úhL.7†SÙTp)Óáêax3ü‰}3_Àðiû)Ð!|Ügk^!ΊaÒŸˆ3ç¼ ôúó©/•ãcô‹„»þ/òÌï5u6Ê´­b¢_©‘ì–v·š*lÄ“ÿ/¿—’jMœ7À :ÞAN[+¼LI!Ûúf¹5Â,Ϊ^ïa-‰`…\:f%Ñëm€ùÐþæ÷ú<>Tf©ñŸLü<õ÷¶JS"ýö”&`…¯­Ý,fË g"1œãgÂr»:!>¶· e¥¯·ôP›•qŽN|¦g:ÖÄõÙ`±¯ã·¾÷õïŸÁË‚¯€{mð _ªÐ@”4*HîçGµ~›»kby€©?]t8y'á·¹­ÿ L¦9_f §bt+—ÜS_ý¤ú;Ïm†¥Ûa‚‰©˜Á²Ùˆ@¼¢]’ÛíÏX«í“{¶!¼™ÛdVV óñC¬Ãˆ¯ø5òÞ± ÓÚ2Á(£])ñ MªÉþΘgiiâU¬`ìV÷¨|îšùÏÒÿméô­l8Üžáß>˜Bš^¥v FèÄ•Õ:Ž4…LYTi1,xˆñæž½øòif¾ã“³²‚N÷­Êµ¯ü`Ä2lÍÐm±†oÅÇà |híÍY™ð«}ãL‚Y>CŒc7%ÅíˆX­Úa$ ¸N‡¦\u=»MÍ# ´…nksp!û¬ì¶èYl€¸ßû SäkøÊªÊy¨qöx*™ «ïÈ}Ð\`âíËíÁ눂¦+ € °,ÑÀ€4w†å{C/ˆmL˜nm-7×Cû‘z·i#na+¹V eÅškpvDsJ¿šHôÐ¥l$Ѝ gæËã6BV¨°I"VÖ·$Fã¼(¡¿„çü£| ¹eÜS+_Øk"èÈ22b²¸LËÍñós/z“×ë;ÿCQIqÖùítÄ亲ɕ3îñÌé®»&!-fúµ„ç']À|–Ž º7ù;¿°Èz £³àa3.j‹¶÷”& —XeÏ;'8ö4-zQ Âðë»C”üË­[-¿Ñ;uk·tzׄŽÃ—‚œ±ÞÈ™S—YÙTЭîÝÕEùLï¢Ý¨êÇ>s¡´Ÿ´Ï ¹¨µƒà¡ÑqJÃHO7/ÞU”ñò/·#D ñÀ9ÄM<<4 ΀Md_û.ÎT|ìb!Á¯ Y_D=AòÂó™Ê¼rC´#výi%f–fÖür1òÒXž}w¥# ci1C¡ëè’4¶CÈx©÷Är ùM´=m _n²»ÄOUò½×«ÿ &­“ÉOÌdu-ž³§¬ÆïWà†o>ìæ¶—u¡¨ji—WY#Žd²ŠêÓõæ\·.5˜ÔÒy˜8[/•ü¥=Ý0¦ÿѨÆÍñ‡È±^û”Ñ3Â~èÅ2|7]ÎKˆÿ·Þ$öîèD&õRp©¿ü$1x)Ù,@ƒÐUZt‰§éeBÆ[ì[áX›ò¤zË»¹s¿`Ò›ï–U‡šÄ),–Ìâ°‹&è|ôN¢•Ï-Þ¡ñ \ ‡ ˜yßêOÝðñë¶ŒñvGçö—‰;3ø!™&AUA“»^Æ>äŸÌ©ìÐø÷¨ï¶ÖZÉ­ŒÝ¢ûh^¢D¢ Î×ü²Ú1ǬÝ?÷»3Ô÷ùÒðÏÙ#ÿªfÆC·¥bWKƒÌyø¿Ä…ž´€oNŠÙ|>Uj«ÊŽYâÙcýw¿é(ü!xÁyÀŽÛ×U£¿ j×ø™Α>½è>™ð¾€~6Ë Qè?†Ï;ÑÆ¤3Ï«ô®®f´ cD2Ë(bÐ5iz‚÷…Ó-ªª·a¾?#Â/ɳå<ÉÌ1†jÎ;–× p ßñj`¬&ް¬5Âû¾GóúX“°ëµÒ.zNíÕ6%“NgLQE¾ñ.!û.aÎC=¿½ ±ØÜ:ØA¹\(¬K˜š0^ágvõ™Lšña[½£¬Õ{L»ë³@:¬_V~7ºIŠLdí÷Ш˜™€š 5¥…—J« IÁC‹i7­>,pœ•ª7˜ú¸Ë­`ôw[Û¿LeZ³.æòŒ²Öç4å|í‘>¡ãcZÆG¦iOPåá!'¬¤ƒã]¯<.ijd÷‹¿ä_«aتóÒ¼æ¢>vÝeÝÖÈ}÷ì¬?zÄÿ¤ágÖeìÚI”†Mòºð¯9Uêe …[ÿÀÖÓf1X¦¢ªd#Þ>ñ¶ÃŽ sáQ{“bpÞÉÌâœ6uY×¹<–» 6%a§‚ýê·†DTJŠ’Îí8D"­œ´Þ>‘2ató—8á£Ñ”)¶r·ït1ÇLMµ› Ü*M•;n@ûŽÆ9./â×Ob€ y•“›¤ë_!ÓVçÃwú”{r= v±|—]öáá‹Ý‚ˆXbîMºA.9æš}œm¸ %= MVÐÞ@ŽŽ]!êô‘X«—cD¿À/]3íèol£ò1@µp-oŠ9¬©²LŒ­ãÛ ÁW¿/)¸{ukêY¬êÇnvrYX½ ]ääg&!I9Ó4­îþZÿ„hJ0¨J?A´{S:,ËL¦’Ó U{r¦ZTæÈN ‚ šÜ:HÚØps!ój†}­*Çc5¸]{^Xò5pì #¾ÑpIP˜Â„!Ê¿ô¹t9‡µU—Ýéþƒ£ÆµAe'ð4±·ÓÚËäÉ=Užsy×ivT9Æ?ÅÉ"³ž\[rIµM'ò\£ s 1£Î>)Ò ž—IìÏÇ%ÓØ[`á‹Ù…f «?šM,ª¬vé¢ssÛgyc&ÔÃKö¢[}évƒþaæÍ©›¿åâ›^CLÍéM˜)ÿ»^KwÄW©Š] ÆS2GáX< ûp(v6éQ¼‘Èy+OÝ?õòœ@˜]~[Q1I㇠[ó°Û–?Á‰è±6`„tIÒò¡Žáß%*ç<2ËXŠÓ¢½ÅrUÈ©L·õECêÚÒ˜÷x^¿d$¨‘ùþ¿¼>ÎmªŠú¸ß… PÀN?°ZR°PVÿY¹‘TÀ)gC+¬…pÛ(LmÖ>0‰ççÁö Nté£$Zž‘ )—]Ü[¶7œÕŠÿßWMFôvoóÙóð{Ò25t*æÊßSÒ±q—ߪå 1à~}…ûè ï€.¥¨˜O>¯ÐiÅ5fµÓ£D… añn0íT%dlv"îöݬܔ%Ÿœ³HQDânVúV2¤ÅkµLcô;ì[øYßͦòÂ@”ˆ¸µÂ£ö¿§¨Åë(´×Õ¿¨ÅYâWFw•üüªœ»[,ÕÍ!·–a ›'Ü¢ŽíàA)Ígu] É^y" KjºoW¹<Ów¸û, æ±jfo!ù:®—:.-,{LÞ­éFi¼`•öÿÔ*a¯0â|p¬+¶þ£å ·«WW£šyCêÂ(•èût¡½²’7­ønÃ’¥ŒïYn@ÙOj߇î9. &©PAwK^[X¼Ë8MÙÙÑŠâÜâ¦q[’[ƇÂQc6ô*¨Ë¡ö n ±<±#cÿã™—…‹ù”6ÆÑÊí`~˜éjçÚª¿eÞÖèHzY‡)‰EÎÓ¨ìQÍάesÈwGjˆ6Œ¾‚+½1²¦˜Jšˆñçf¢7›¡?NY¥Äe.6=ëÖ+´ š•,&¸Z6ªË#7ºÿ&P §áÍu×1Üaµð†{x^ë ^TŠlÇɧ,‡!ÅØÙð̃ôÞgPJ¯ÉS•}tŒtãv| G×Õ©Ë›$ã…ߦ¥ïFÍ‘&&V­VÅÅ»°›ˆü2”ùD¹kõ’O¢¯E@­gO¡ëÅEÉ$8 °e«¬2kÄ•`òÙòN¶0á/‹—xó¨0ÅÚ,AÓwᄚVS]Û$íp Î> K…2¸®U5ô‚÷ÜG;A› ³Æú ×d˜ÀwÅPØh¹ôýäÿ³½™Vu•-D¡1|™{ˆ)À;CTE¦ÃxIÒwÜ=·ýY}Ú›/~Ýœ70hŒáÖ„gˆ&-ã¨Àçdñ/md¬aÒzšš½ŽX‚=ŽvàûH~Áx_BÂ$¶F®é»,ïøÛ{g¦Ïš®ÇbåñFVˆ‡ú„®¤ñ!K©M£Õ6èi·|µ¨Ð»9-£bäeL²´8Mþ9_¤Å5/‰YݺKÑå\ø)é?H®‰B „ÕSÀ¤¢U ÍáªEÌï¿ØcÓE4­S3@@%¬à ˆf æx¼¥'Ê¥)0>Úñ“;/ìÕ,3ÒiVHa¿ KxwSutl…Ò 3¶Dyì9$ðTerI-gåýˆ–( ?ÉÌBnFêÔ°RP™¦Cϵ<Õ¶Ìcü&*«™·IÿV@_žžïzžÒ!¾€Ž¶«@Y÷XŠÚã¢õר\ªøjHõ^¨T#êB.z†IšßdîuìE€”™°ù}3øYœëÿgXZ:|Õ;/qtA@¸ƒŽ'47ÄÐ[ÙBtLÁ–O!ó¨žÅãè3À’ÏxƒKI¿RÝPŒæ( dÕgƒu„­@Zå#èò2xùH¡9#öL§: xàXD™²šþRGÝæm´{†|#ËA©÷‘cñ‘jïÿ¿\>d¸L¢eÚ!蕘O€?@QO¬d ãHÇàÓ_I[fÝ³Ï ‚O9î³]®ßŽ´³°GÖÓÔQ|ž®ß°if¯q¢·r3BkCÒ«q¡Óþ°\«Ã I©$Ea{‘¥ñå?8u/ÂÌÓÈd²â\³ùûb© ÄK—÷˜É‹½2é]¨¨UþÛC`_üÊ{{è”6wj8¬OwHêÈí4Aq!:ÕëÓºbyR#6blàtp׈†´=; ›eÏeòõo³«§ð©áÇw6jÝTñ­;`â<ZæÝ¹µk  ®ô–†Rmc^«…­é´àbÊou#w^åËyZ½äjؘK¬vú i}å²Ü 4D-œU‡%6‡)áq%6À£áF9<´ª.ÝPÔªPoéqî1ee¹Ï«é" ¡P¤Гr§×wwÌFL,DòÄÈiE"_[§U¼+5þíT¤?àxeêìH€s¥útÓ-Áe•4ÿy±q[Hú¬û‡ˆòF›™¼“2ý¬›^[6mÁè®ùp¯Q%9û>ÜŸÀg5\ Id—nŸn‡×{ÍÓØrú[ C¨ˆ #&›=”²àÝ$ÛY}ÅÃØ‰&XÚjQš1¹å³‚2€Ë^òÝFýJÄGI?ât®$)Si̱>ž/ÈsªÁÔí6¨úõLÂÞ{øÀ¹×œAÿßÊ+eDW¶<A€ž„¢:¥“b’©S¬?Áõ;w¨€eå­ø)Ÿ„¾«ÃŽ&õ}8%­Kw"Q²<“>»ÝK3`øŠSÂ~9ÙÁõa†‡™pÓ)‘Ý—·)þ#å†//öìúísQF`G§6ÿÆî‘i›•°sÍBü‰Ý¾®ŒÉýË­õj§|Áož[Äç?œêùþeD^š á°M¥]}÷7%ïLžøW F/5§Û’Ôë3Š RŠô—ÔýôÒáï6ù«¤€'ëÔ>¸_}-<¿)?ÐðÒ »ž«X ×U¹ Õ÷Žº)ŸØú¸½Ú‡NVî[‘‰¹&ayo·w„ÿ½ò‹¾jTßPÍ{ýÊïd-Q‚¯èâ÷éù |V ¾Þbm¼rÒ³|Ýð áòJï%h´æ#ž¸ž}šòáK±<€cÀ9Rç¹Y¦y÷Šà°G…§†X&½èŪ@Æ+ÚÌl G–ctEql•õ ð@}x5½Ÿ@: K·3w;èÚ?èäF)p}¸1 ¨ü¤uÙõ ì6úaU[‘)¶v;{¶¯s@fš§¼3:¥M1ù• ÑMSQˆkTÑ ‘¥_Œ&Xä“Çä+ )^ç6:\ä"æØ<¦Ÿ“G‡»Ãä»Ç×ýUTeÜvwhg¯Ÿc7ÿ B4ñÕw²V3ûýîÁXXõ0ê)rQ0­Ð1Öÿ`,²!eë¹&odˆ©7ÃSXc™[Qo$@:7Üa µ;ð¤TxÀ2¯\šÞŠa3K×<ÐòÓKœÕĪxfŽs¼“«_»~¦§ƒ·OìiþA¸ÿ=iÒ_S«á§‘*ïyîÏŒ1_¸ÀS-Ñ ë1% Sc +Fy™±rýo/·1V`%¿R3ÂŽ9'‹&:L×|œ ÆÃP–äãÏY#f ‚újïId=áÆ¿¹OQACì«9õÝ %ä!šNÌ=Ûý)øUîªòÝ4ÿT쀎¿˜Cp¼¾u|Ê_4rÇ®YU„á~†74‹`•¾Í ØMòJ[àRUÓ%ÃÔZF̊˶;§÷úZ›±§^q ûg|æ^Ç`GqÒwÚÌ™i‘Öô.eÓUCl‘¹|Kºº 5¾Ù[lI™Ï¼©ö”º£†˜ÓfH²ó ›GÏWJ‰…û@ˆÖ꽊EÏOÑK¥ÐÐ/fäÎ^SmÈÄzâG½TtǨ²£â¿†ê“.öO&cú¦|§7fÅQæ×%†w‡¦"²ÿ¾½¸Ý3; ½o„ït–š®OV/"ÏNà¦ê? 7{¹ÙÙsÌ›³—"‡é¾´{eËÕÚ[f£L‘$ʬG3o!JÅFpÑõ»«ZÃÃV/%‰cHä€+)\%\’æ/éývÂv8yX J‘$›yzŠ:Æ…¬ò@þžˆLÅ3#ß)¡ l¸^m,õ©Ð›ƒ·¥õݘ^Xöñ`X-í9þ-^ZAš¤Û6Å5XT?Êøƒ˜ú%À ðÛ¬k »@iIu«5E´}¾Z¸c(1¤™úÏ=©b$”¼#ü`Å„Qr… /n¶Ä_«uW­'‘lš9|iáE®xÀõ ó¿/.ÿ…±÷¶¤¨µ§ŽzV÷j›tØÏÅÜúׯ|ÎpSçk¿z¯°âQ®t’9˜ñÏhMr2ð5µºK2"o$‚Þ×fRa@W–¨CœŒY6¢×)0ßëȬ¾¸ôþ¢j2ðíu—l,‹ú8yE< pVw0Š0fgÇZ££×Cú?@}ýF4óKr±JÌZE’sA2w´èœw½éY…ðÏjGNôÃí ž5¥ô ˆcîýû~¬+RXVEû@åÈCDFàžNâ“Ðï™Z¡gƒÌ÷ýRúüpµÄ©fR„4}y°äèÅÿwh6BÕmÏ™÷bòbÍÎþf!cãížf«ÓÃhdß§Ò&EÎa£N¨÷C`GìóBòËKhº5†!¿)ᤓVù«ã }T"£ öL$6ß)«8‡Æ%ã‹Ê?e§ë_t9ˆ',‹‹Ø6YµÔi`Óú!(5WX¥'dV ñ×®¹zŸ…b_åŒöA ä— £®‹Ò1‡.Ö=dÓ7+Ó ‘£~À\/1…ãΠ8;Ûý.a¶"ʰóÕqÉäþy´ä%ÓNÃû¯ƒBAÃ_²pŠˆÎÇÒÀ]Žëòád™ÙDMÊšQ|°ïDd‡ÊðVî+§Ñ.oÊ»Q½Ç,+侮S×6LÄõ×ÖÚAô?P,…¼?-—ä[ µVü9RËo²‘ó„û5SjÏúÓ‡ªè0F(í|¬v\1‰ÒåÎG’`ÓA$‚Å_È|Uæh‹^¹…_¯«tžr)¼Hö(6gzc»tßV;S ߤ)›øüôu¨4\‡“­ýûIP¦·Hbø7íÊæ3C3{ÿmØäÅç?B±IP™­‡sÍŠ p"ñ3š¾l} ñŸZe. îW]âŒò¤ÚIY½§,ÚöwÜTvø?bšþW7NÊ÷cÑxL5ÀßE•Ø,úªÎ’? #ñLð‡ Ä(¶Ü ôNÈ—V† Q `ëF¼×%’œ‰È& LGýR¶…Ý÷~Úà¤`õÖF„oï-~F²­ ½f3ð.@*²ÖLöôº§­ØÐRmX|¼æN+" ÅÌâÀòÌ µFð$éÞq=‡ä¯»– n›q… ½`d¿>– ÌGR}”’ÌóË£¸繋ñUr‡ŒK*XqÈ8;nd 93ˆò È Š¢XRXFû0yV#ýÜMéØ(œ†™êˆ˜–E%¦€ñ‡§EnO$cQÄl‡WÏââÊ6Ág“=ÍØÔ³ˆ1©¨þÀ˜j2¹#л„>dtÁ+ÛÉþͧÏ7¹ôZ|‡—»sü;ˆX'éÔñtsʳLY‚U¢6©)!3([¦¦A½]ÁžWšºççF™éÍåÇ0zöðª¨Xeê~ÞrÉüû Sk#báìX…«CusG«Æã¢ÛTÅ¿ªÉÛ7-ô2€v»Ì‘žˆ…UÌ…{ÁGœGú¾ÇQkÑµÜŸŠ«­¾øO­31ñ¸ Õ£ç6o¼‹Þ¯™6a³ûãìí6+äœÀ ÆÌ•ª¿;ä'Á(é|{v7²aRøÿ¨û5L.o§_ Ù8 œ¢áèDúЖI˜Ídˆ†äÞRë3œružæ+\ÈŒ´Áþè~R ª¬mñÑÒª;ÛD{j^ÀÛTÛ7ÛN<åSËc’$F>YûfsÚnÿ™ Åã…ÿ#÷³ÅZfÒcÝOt¯ì‡gè7b ä^˜zͺ¾ü.ÍÀ"rt&ÇÈÝñaÂ5èüë¿7‹l'ÄÆH'™ÐÎcdúä-í Å8oQ7ØgÛûª»“’dÚfaàrN./ï_}u¥¼5˜iŒ= fó[_ŽýÛUбţ':Ö,Ta³”0\x* /éx¹» ´âÓzê=AþKr¼ì¶Üò¨žŠ!À’¯æboÚfD:\jë_vå´:¼˜í‹šL'77\S œÙa?Žé«7Ùˆ“I`$X漡lÎ/MyëccüÿŽ¢dµ™#M¸0³àáØãN–¢G‘Þ–¿mrŒ¦ ü%¥MÞgÙ\æp\fÊuÖ°W¨)ì2AïRG<º_…€Ø|ûÚfƒÿaÞâ§ÓŒ\j£ ò…S‘|º Îîý§à·h:‘ C56Øë@T¸KZ#GLÁ<Þ£»`= Mú+>ìELÂa„Œû²:öþë÷I4@nwˆ™ —„• á; 4€ȨPƒ¬^?:ÞÁJ²Ù0†Rü©dJw©ÐÙkÂwqÁ™sôØÖ?:ÄZ©áy”vŒ2\{ìÑ£qÍ8azû©ZHŽƒ¼eóøõ˜ÁÆå ª›¶ÏBHçònOÿ!T/:+Nèø¶¯)[ž6Ó“_ŠˆYo¬Ç¨µº5Þ”m–) 8ÿnÅð•Ã`Ų(s?ÄBŠà¡„½¡¤]qù°_x-zטí;Us÷ÀÉshp&~zF`ðPLDøŽÈ(œå‹ßÁM»R¬µ§°óªãjå.Ä9'w™Å¡`zÇ’´óz3ÉôíûâÍ]Œ®7Ctv“ÐxÀ‹wIeGÂÁ[Æ_…r™>5AÅŸuâ¯ÜÐÖÜ&¤ûÖ[2Ó+) ¢€Ó¡BÂ¥1p–øŸScD÷þàó¤ý…¶îfŠ„Ç¤v²bÈ+¾B¾åYKX›Ë6p?´yLž0<ÈlökÁ”{¼ ²HÍW~Lœ]˺÷ ?RÀí 9åp€E:ðØCÞÝ>H„þ3ÓnDÆÓç«!¶V¡]ÅQ%f(Äö¦ 6 IšÙ8,etdcRxwÂ,pçÞˆƒpV,^ Bx|EZÄܬÅÛHAr–è-",•‚Qu® íó“,ŒAëÕ¼à–ôL·ªöT˜Y£µð`ÐlÅQDe½W™Í`ÉŒËh‘Š:|L†vÚÝ-¶–Lw9œaM8aúh`ü£f À¸q!ðA¼P|ÐI=uÚPãÖÁâCŸût×è öùë s¿3„\QøQ³½O$TNª}‚õV£°žÿå®…ÒÀ#cÝY! Àñ' Íg'Î¥³Üä×p‹Ž4SêÛÿ6¿}æ†@0¦t{Æã­ë¥ÈUm~†ûÜàñŠB!—¢³•¥çŸNŒ€$ œ[ÜfÿgØ~(ŠÙ+×÷·)éÖÒŸÿäVòúówfØïí£ãV;•ÑFóÌ0ç÷šùâ][0© àq„B-op¥2‡ŸæCþlÜœ…çÙ—Ÿ½N‹L¯bM8œS¦J&ZY´’x.y§§‚m2–$j æ‚m”~¾1ÛDz¼nµ€9‰\ÿ€@°’M þéíG»ƒßó(œÖH‹bv‘pŠö¾Ä}ÔšR‡w5±0þßT´|è–°IÑïð$s¥”b““^ßÊK˜È7XÁR—?ý£]ÁYv2©Ñ›*—FJ”ólu¾à¥CEg27®D øZÖĪs=Ê~.ù÷,úÌÎ %u«aàòË…{Ñ-Ø®¹®õ¥©ƒ÷lä2—ÑúïÁ}ˆU|œ\Õc@²¤YóžJ‹á´ <7Ç}°“@T³ådù¯óP—纄†ÌKÓƒE¢U-ß•??†’+GQµ»¬³µ¹g„A WZà²VA×Ó¨=ÈX‚JBBÏéè˜Oˆ¾‚$cÊΨù¿Ç†–ÔzÒM{§4f¡ÂS(yHé,¯Òô5²(e‚³kR!#nîL€èº“iû±Ñ´ÕØ{7×}z“óg\ÏÐwÍË¥Zty”"f:N÷’³ yàY^ÐÙWÆ6:í·V À¾¯¯YO—¤UT‡¨@F',dœnü¦“²úÔŽÒpºa0F«È£@Œ¥´]6êBÆKŒÎ/W+ŒöäsûƒK¯¢`ÅLÄBnך'Px3µÁÿÇ#÷“À´YXª?°¡Ñ:ÕUÓ°#+®×H©ÚþWŸh9OÁ¡`9éK™./Æõt£ó4QÓ=’ðkªÎõ¢T¸8Qî4÷ªkB¦áÚÎtK$/WñÅ F€ûf”S’ž–¥%"d‡2‘–Í©Z™ÇÕ`{óm¾=7Ò=7¼jÍ >ãÐîj\á7B×,½áŸ¹Þ/ÊÙ²ŸæI7Ý'»jÜ,êU}¶„$²ýò¢C]ªÔ–ƒGÎöÚî'SÈ)ôǶ–Þtda×#vþÎt á¾z p^“t³N) Fføk˜ 36ò³¨’‹u geཤ›>‚ŠB¾Ú ~A|«)ìS‡©>“Ci‡›/¼$.µPÝGUáö÷ÃL 4¤Ì…´©F/6ìbÇ5ôwéÔû 3À;âö>ŽtÄ [Ukü(Ûe-C8€WFù´4Ç5„ów»6¨'ͤG†qÚã?ó6_;´¤º¬ ‚ Ìa‚iá–.C¡%¹š¢¶×úÃt‚t‹?çKeÏ5”ž¼{nµ)tî¹­.·‡S.…ú=,=ˆ—¡Ù¯N±ý×ÏÍîe‹°@á/¦Êœcvc?Ê1MæŒÄwÊ/É·H¡6Ü>ˆÈ»_)®4ŽRPÈHüiir sV Ýs#V©!ZÄ@2Á!ÇI¡šLtŒ=ºbö±©ö°À|gÜæ tPþÖöTIé|æ{Q­•W܉ÝH5¦ åÞÒ£‘ îTáfR¾!PûË83ëÍñP}ìc&À%˧l^_²IÇÞ™*g;°kã=„Z!¹¿}è"ó}•-†Ìû³Ru@¸¶óRÚ 2¦§dó>]Kó@ëÛP{ЩD}ŒâB¢´m0n-¾rë¬}ÂkV!ʶ‡}ÃMûŽP[B=ŒjûžM°>¾Wî ª íüé.8…º›Ü¿ TY˜Ã3MRÜ]E¶™_ü¢‘xЋñtÓ1 (XR‡ )Ê çÚ_hÚ&9ÛƒUÌf¶P¢õ3^d ßR:rÓ†òøì$R-mì3(~®)¹§ ‰.£êx þ½v¦;90€ý+¸«kÏÌõVÒ¨<þ–ó¸E%#LQâe,7×3ß&ð´HU“5å´´Ãüψ/ ‹úíúG_eŒÐÛT®fwàP%r€5w[%•Ó£ÑwV=òXfûµÊ·‚÷–pÀfU©îèm&“ÄCè)âùmæóúCy{ZÅ{øÁák&Ñ^W:ø´]W“P÷ýtr’J’¬Q.f5P4RÍ›!ó‹·ï.K§Sô%œúß ~¿ò|Š=YÇa'ÀNß°ØqpèGºŠéJº‰,ªÖǰ )BÙu`ÇAšd«AšÊ“¨LÏ€‹l?®mj>ü „êI3`,ò›èä'CË71˜l¨•åõ­Aœ÷N5°ªg>ʈ`ýïOØÅW·34Œ+Žqâ!ŒÉ¼ ‹áUÄÁaD² j·ʵE£a]ÁÒe8ù|~®“¿¨b»¥Ûì HÂ}(ïÝE8bÔ¿=^ü† ‹PR}$â4)ywÈâaX%çlªµÏ½{Ê›I¤gLK¬°-2ê˜8*¶ ®{W7ÝèslèßåH<:1d±¡J‰ ¨æù„1ž2‘Œ(B¸‰©Ä0@°€¬X©«5¯w$‚¸õpãÞüW©¼mÚß9Ï×"=‹2 “[iL´!¿p,c:›ƒÀ¥ÃjJTúÜñ²XjC$0qŸÓ¹:.•I«ab€%'çÓdqþy(ÄËUÙ>dЙk}#ùŸÍV¡Õ Ð8v>´)ë‰ì!¶„ ¯Œ]©YõŸQ»š·|2 ‘öƒ„Xñâ]$Χnx¹ ã7›Ä×Ó7ÆÅb¦+—šU®‡Ñ|WõÝœxÏ–äcæ¸ÒÅ=A´$HuÚÖsaEÖ—o€€!xçdÙØl¾hœ›‹IëáQ%1œïjº@{Ê€r$õ¤Äë M)s¬`]½©®z£ð­~‹"”9Ý3BËÒ-“¬të§›E—€\±tË&â_ ,+±¾k^a¬¸ïóïíŽ;9¸¬ÒUÆã(¢Qi‚{²¢îEÏ^´Ž©†`·€äêK(Ÿ}¸ÑäÞB¤i;œêŠV“}ý0Ò¸‘¯Š+õZÊ@ÌP¹v®aa¢Ã¾ÿÝT‰ŽôHàt‘nµdß6g6åyþó=$‚«‚{-û]õñ5æ(aXZ¢õyjþë f÷j`Ù<;AN¹Œ8„¡=èwO™üG[’þëžæSÉÚNA‹„œ<5àA¹ˆ/ð‡àÑGŠ^ î×éMVŸð§iKRÇôÅTá»kÆEfoåóµ/uË(&¦TˆÅ‰\6žc_S’VÔ?œÁ¾b ÊѨ’GoP*f2ßü£¡?Óp±zñë¿ÏÖ4JWfFwó|U>ÖŸñ¤gWç-Uß’J¥õ°mâ=ÒËK3Øå˜Ýê9Ú¾ìŽ{Ó)²è§ƒ¿™¾“!ÀzÛÊòædÁÒúSáô}!\åéîhëÁÄTjí@«ó21¯‚AêôÖ/ÈÏÙûUÚ‰ еÃ3Á¬kk*l”ô&·­A$Ÿä{E}ÔéiQWBËÆN‘½o+”÷O}Ï&ÙÅÇæµ¤ ¨üÅÖ¡N‡­ãhŠ£Â[â´9PPMÏ<0µÀk”~9¦âPËo…©=PÙ¯zB€tÉoÝ<Oªrd zî=4Îé¨ ?xÇcPºFæ©ø¢ð\ wq™SÁÞ鉗•€«z®*„¶¢VômÅvºj`o6W$q;©#œ¡gFÔoÀÈ⬉)œ®ÁÙ#z˜çšµ—ü—FŒe#Wì¸jÒ®t÷ãͯ€ÉŸÓŠT<­áv°r¢À@œ|Í ê)Ì»ãÞCÃtÈÞ—ø03­tŒñÊ8{ÎÖøÌÜ)üV ‹üp³w¥âPß¡qMQÍWŠÁ²µ½áÄí©ù6WíÈ´÷»‹ «n+ümûœM¯óHŸ±iGÂo$ë$¼`z ¾xÆýX•Îø¯õ‡I»½w3ÿvøFè«¥FBy…AŸÌ¦“û>Aò+_[ø%Tú¬o¦ßb-¤™¥*Ö¼´/e‡+ÆžQÜDu«G½U1s…¯B⑆´1Œj¥DuÛT€>80ô]Ñ—6ðò ½ƒ\ÿkúÌ:„ÂÁj¦]—‡†q£°q¬›WCÉ“!ÀÊý¦$-’ BÝ*X±yZžJ9ÉÖûáKòòk,ƒÜ\ÛÚeIô}k7‚Þ Õ-Í?××êaòu~@Ü‚Ûxóä«Ó%¤ÍÛOÞɦÊô|½6ÔÙŽ€÷é2]áY…¿¢#Á™Ç¬²i°ýò.Ú«Z8¡e–cüµfû†¶ÅÿÑXÏKdÀ÷ºˆaÿrÔ œ·ªç z ¬¶ÌbwëE¢VŒ Îpõ+¼Œ(ÐÆÂ E’ôõ¶ø~Q÷(gÍJÄ´Úøv”0f§!lE‡ Èêe“®UV¶îÃCQêOˆ $­¡Gb ¤õ Ðþ¨•š­èªíx£#¾FŠÚ½”W– u± ¢*–áÍ \0–EpƒZ5³*{¨‹[DòSzS¡®æÔt*A٦ƋžQSöd .ɱ£{9%îÔ]7šB$Eõ‡57+ˆ™î9ÕK=´ãÒö; ‰‚¯Š+µÙ×ú 5l'}%Ð3³‹ß±}½'ùÑXÔ ”'ÜØºH802³Ü †„ Õþ×2"h¯€ð½Gr{¶ÙZÕdnD°B¡ ¶ÂGçª`÷¡mÏãÎÓ4Àî—+1N4‰ª+Û踑¦ÊæD»»×£îgŸ‰›¿šíØ/é¥ý›÷®àͯØçs†m7‹i1cKoöˆÄPO,{Vî¶.» Ý×!T,•Ÿ§¯2Ò–3=Rö>ÄÍK‰µîh(4K.‰ø?vYtvFm'±p!F«Ý%Ëðø 52H 1äy)9>R¿ß j–n.2¡,}µ]×v *¹ºó$@¼šÎ0:ðÚ»OkÜfGßdº´%îˆëhÐlÐ<óÆŸQÖ³÷KØÔÏèéMÐI\àéF•ç7ÔwcǼ,lƒÑ³‹?žþnÛÒñ‰Â˜ø3žÑž";BÑ–¸‹»œzýÕQÚ NÐ[m™…QfiD(ÇAæÃ€`jµ¦Dklï$‰M³Àp›µãúšré4\̮܃ª?(2©‘]j uèŽíÞ _ †*t¯„(¡Ö}0â‡Eõ—çÆ»ÖÕõ]¢øíþxPtC<çbÑÃÊÊ9±Ã Eóç¡|®;œŸpÖXß«`tµÙ²4ÁÛˆP ^Î,•".b®WÏg¾—M‚3“ñ R&¶J†Än`ýÌ?Ê)<7#bác¹=“@_ñ!:Ù´všßºßpòØBú$¥MXæç‚[_"ûènŒÆäuü•˜k+ œ¼“BÍ…·E³n}ˆ™î†‘?6r@`pés¾®ª7¾*€í6€µAÏ9}Ú52'Nôîx±bDîÅ••áš|:ª÷å mÃNz¬ŽÕƺ¾Š?BY4‡a_h¯mEÆBŠù¾LÈèÿ3)̧ՅUë?w÷9Õƒ¦Eú;ÝTv¿jŽçÈ¿[W7$ Í¦þÓ×Ü•óÌ÷B"59RâúA½ŽÄï“Q|f¾>xYÞÕ~ØOG0™ÀoŽrì=æS~cß¹ƒ8ýîê«jó§‚ú¤Iî]0Êœ D‰U3¢¯ÙŒ‘®„…™2¸\=š{ÇWçl’b$E«ÅnM,›ç6{ö!Ößg*W¯â°ù*íÛ½L¨Êp¹½ ^´¯îK_Hè!¦¥ˆÇF<œ( pA(s4Aг¦/è¢W2ÌfÆðô¶yWãOÿ²€H‡HWgîf%Ç6}^nˆj(„È`Çš…Ÿ±ÆÌü S„ÉTm¤/¦Á†æb©;$5vq‚,XGd¯}ô_éœàCºÎ­Ö´±¼¿¶Í+D_qìÕnƒHRß$o5DŸ‰:nz¹Hó*`çÊ]·gçÆ“ú]´9Š%^Ë»¯Céb8pxôónö-Þ¿Ïd?H¿é?ÓäoëWþ¸EšÅ¡Ä¾­¼w#¹ŸÅ´FeÈXå9ðBïa”÷By‰È¢Í“Ñ*p ³³Þý)‹õJÓ* wOOš²+†¦¿Ïï^‰Ì<°BU’zU3ƒnu§hЭ,ÊMϼʂǔ/Å…—WsDŒYEJì# ;skBQ` Àņb8yFwm[¨‚…<n.:’”ž©YMC}¥¿½_Û]¹}ª­óÕ\±Ë·"³­³&ÝaÞŒD ÌšoEr8ˆúVc$tKö“¸Û U÷[7&$z>ÊfŽ0ñåºÿv ÀÇÑG˺“Ä7äµêôÒÂLíð½ñG8W{Eù˘!‹ÕÔuº/ÏV>Ê„™vï±—ÜëØßî]< îo40óðýwBik´õáŵåË=O>øÝf¹Ž—­Òèìð¯qšoîèÙß,9€§#SÍ`žtOê9üÏnÐHj>žæ´…k¦0”˜åσ«cPÒH )0¯á¡a@û\÷ÎYÏfaõ.„Bfæðf'jyM†½­……´A¸›·$Xâ7—™ñçNo©€·äv¡³óþe3B{>" ·Œ¬i«/âûù\æ¨ØFåìW|gõÊwª¡]­§ešïCÓ<^ŸŸBEö„÷ÕÝ|Îë,`NÚ5MÉÚË>8úøFs¤ßï°ÀWÊáËVÙÓXcüœ©ÌnW©.<="N˜-Kv··à GÅügõ[ºÌØÖ±G¨.æ&?)êœÿïkr©~ÚP&“„¯›ØÑY¼3^ ¹uûÚ‚ßõ+¸¿ÏÄôc¤ˆô”‚Š ØpÔæ˜y…#ÎwÕòÈï[ip«>`óqÊ®ÈæY–NïôÅ#X–`‡Š°@™ƒ)Ú8lÏëJ—‚V1–ù¶¿>I.Ð0¿07ò}~ïâ⌖“Îñ( (ó)táÓ%nñXGb¥À`Ã/X$ÒÛVÝKûí 1ž>XCù K‚ýè4ü†)"uCóBgµ÷ÓzD–’R«h¬Pù¾N «û¸qÔÒÏSØclØX90᳸<Ô*Òë{ãTaé9¹³ ¥æq߈_Š„Z@@ã®çȇ4Ñ‘¢kðˆ@ÅË}êq˜ê„‚mÊíÔC¿°¾#}4‡ „ß}œèñ±ÑÂEëú´ŸäˆubmLËÔçÅœHQ×?ËmÍNÙ,OÜÂü8^ –\¤Ÿj<´Y‰!ÒÎл_†©á~GÁ©1fB5Ë èÞ©o©Åu‘ 2¿[{ "l¤w«j›ËÕBº?2,ZÙ%Šßôœv‹˜>ùVºÈáÝÍZ¨÷j¶") ›"/rÈ…[]Á£É×þ"•]™GýèEvk £È¨“» Ö ©¯;htÊïŸ;­íwO:üpˆ³ºÚýÙ•K ÔÀOóXÝä¶úi= %&C c¿Ç2[Ÿç ·´+a£^"fNÈM`]â]ÑCºXÙUÃ[êV<-0O/¯—F œ›¢î ‚l"ÛËIj¥hnÓ>J#O !™F·ŒÕ°veƒÛ?ýpŸÇ†qÉ¢õDd XtÆ*j‰éÆù‹ê7ƒNÍ"îúIÎ2X‰‚~¨èŠ­ë>”a0kŽÊû@ލ9D­æÑzp©ÊÆ¡‰Ýîl’í ÁNÄÉéFG£+Oþ£^ZÊŠ‡Æ1ÈýMO€êéò$ -+ïÚµ‰Úÿ'¾˜ôªjÚ¶.E Oß"E;=ߎ&š«5i+ÇOïÒóÌk5l¸!г½à♌Fº.Çù(4ñð§ ÖÂÊ£­l>¶wßÞ^’½¯×&žøÀtÔ¿CCÍ6üôƒVšöÔ4W‰´,}¬c%‘rù ˆ©i6UŸ?³°š Ôst‡vš(dÎm‘ÓüFnhÖ†û‚”jùy_EOÇ7­ºváC{ßr2OÇ„Ù"¢eÉE…Àp¸åñé³iýí?Þà Ð2BMà†ê¡Í˜ÓJQVÂÔ »5¡LÀÛ“Aø½Ò Ëô(ïº0¸õrÿSâ’½ ùçÕ+F ™åà„ïW"ª˜ŠÐ‰sÊå•ô­^9a˰/uÔY«9Õùe€Õóôlí/ ù0PžÍÄDA‘I‘À€%´úØ¡Â-ã‘ZÎpw%ÖKœ >¥—i³IøŸm'ñ˜¦¨9þ¹ûh „ <“Jç—aÔÓV åðò*¾o••ѤÇâ§Ýå~šU—Rï5ÏYåÀZ@iIv,–Ž[ç±—³Ra KjÇOì´­£ƒûZ¹PyI®´¤²”ÓUZÐéF²»ƒ£–°äð ‰Ä_»®áÎî|´ªðjJ‡b³¦Ö7œé­œV€š÷ÌÃsl¦oÝæÚ Žèßåf2š-Ÿe#híue†ŽHF?Ö !QñX&OpbTLËßaS¯¬»Éš†:ݵ €¥1'ü‹x›ØÉ×&ÂI¡SCó¼Ñ#½Üö^J&$¶RCƒ2È¡;1ø2Œ¢i";2/o–Ž*ïm\Aâ‹ N| pðȘiú/ê’†”#–’2ßPºP´ÐsÚÆäg¢”ëï)ZrûE4¡NtÍ€y Éo±úÈBby-k¦ îK¬xÿÜÕø`6AµþMq¦ ©ÐQR兀޸áz&˜5Or è™a¤¥øQ{{ˆüèóyKÏ lû>¿:!ñåjsú¹î[K?‡ÝLæÙ)“彪­S¹¸CÔ å¥¾œ%!î ¶M1¼:ËoÅQIì\0ÐÛN¶ŒŸäV€<¥ÓÔá^œi xÅpqœ-a=[6‹%LVҽƜ'N^l)öÝHÑŒmø ¤UV%úºÌ6Æ»w&·¹xìõ’#Œ%µq9ΈɔȬ¦3ù³XŒ~AæûöôÈ«,‘øpyí°fy>‰(”ü‰:q@y÷ç¯ØQÍ´öÓH0áç™]Œ “rüÉ‚¹NÎýÝœ9ZŒ{…«´i›ÔIնݵbÛáHçÖih[þCpóœaÑQÈ”Fª<÷U‰KS,W>T ÚÓB.cŽÂ&H-cÒOø:@%õvxÇ)ÒÊ:E~5f0~›jO¨Z…z2ÀÂq$ŠBÄ?'Äù®À®¥+ÕHóR+Ç{'ðײþ¶w±áz¿QA*øØ' UQÊLÌvÀ’нŠd)9ý²$#Ýn‡ÒBÃ…y’ÓÍ (£Gš»ìë¬?m`ýI‹-®í&ò:ÂWÈw±¡(ÚÄåñ1-J¡-°d2j‚ ä~[ƒ…*ʧæÙ•ÂXøÛbŽ`–~häÛ>2NNå”üò?ÙÐ/r¸N¼ú˜0W_\ƒ0¤ÞmP— ÏM}¶eØgXá{3µþÔ~PXÏñ©¥!ÇäÜ—Ü2Ê›<“ÿ– ??ŒûƒÊ"a ÷Ý<£Ž›˜jóºÜ\Ÿ>¨9cd*^¶%›:,q2òÑ¿ŠJ~c™ûóåÒ'&”F”ä—(<—È¿¢åêË4Ã;âk šá;‡èWó'D]0[ AÞ)‹_pžŠX[ ÓüÀ&HðCöf^–NqëÒ]°ô|ù¥ ,ÒPV–©/Á˼çh,Ac·êóúi/[&~MÒ†«½Pº(¨!£ïhZ²=ô¸}Y¼@Â'˜¢Ñ™±èÉò8õÿ†`܉8?âlkÛ`žß¯7oÓ&@«„ Ø5…Ú|ß©ú³ÓWÝ€û;숒ŒdÔ¿`&~ÃÆdŽÊÕÕâ@Ì﵈ 5éG1ò±9Þ€°0j·ù²ÐcÑ÷ÒçÚ —~Ñ^×d!l½k.°ÞÏf^[¡«n5ëŸÌ3fLk˜æ^d›Ûwâ/²¨Ñòt iœ}+&lº>ý¿Ë剫Q¾±DÛ¢ ç_v¤*×"ݾÖr5ìE¤D½  ?ú,ŸV_(œ¼TJV÷CO+ƒªè>ìD#CØVZ“vŽoá$L$7eû“ˆ‘ÏÞPÌ j죚S_dY¹ˆG€dÃAÚÜàâ"*0|Ÿ®¬ðF›}±³ëðë鶇Æì÷ÍÐHM·Š=)Är]˜,°¨¯¹ÎNÕæE#j{NܱKNX ±éIIPø¿AdLæÒ_ÑÌmøç䂨²Xø@<ίrÍ Œ'B¬Š€ŸóWèPx¨D ë¼mNÁ?‘Ô10ùã‰'Ç_ oµ¤ÞÖ‡!;¨ÁûFÉ/£é??45ÔÁY9ª«–Qp$Ѽ]¬Ë'(”ù`]æìÌÙÎÉäyŒ‹ñðådã‚Æ\ËNtt—VO¹rÿf))†ÇìSn*Ý¥ª<Fîÿ€rp±Í‚IÎ8¸°@ÚízC¦4 Þº<öc•¦>¾÷PÐÄ*èâÅw Ôì2ÝÑü^;¸¸ì;ðlã[¼e ³o 9ÏØõùžÌî ä /RŠ9ü‹Ç¼êCCóWŒAªÄË•*¥ ¦4a5v\€RrªwO¬Ý_ÅѰäU]éaü§b§/êƒÛa†xŸÙù=BSÃàŸý•˜Q‡ ­ýÙ£D±ƒ…õÎëÞ¯Ït+/ÔW8hqí0¾¡6Ëuò õcó@݈ûK!ð¼œÏŽX®+ÈvùPP‡ªzž4«, ‚hù·À>–½´z¼™Áçö¡÷Èñ9 Æ[×À‚ŒG¿Íˆ ¦:ºo‰:Ò Óa°›z—µ:)!sQ›”“ç,Š··ŸR!¦[ä‹'~âLîn7™7ÞnY?Aq7Þ; ³°éš9–øª· S•wlPUϱ­ëhO*?¡E|§D–¦áhZZ§¼Ë×ö9W·J—Ù¡B8X_í .主ƗŸ/Øž9C>nS\ïS¶ãx4-ã/–Àb6È\£ )Pjßhƒb€;ÔôÀ¼ŠæÚåŽdÖêjôäX³bô±¾¸hèr è!òA7YÃwPI¹œjºx6ù{7¨J®Ü¬:Ç׋E5åÖ„¸Ô¯ô´“23eÅ0pQäI6j.P³H q·Úc0I±à8Þ*Á¯ˆòC,U¡Såeiä]ù+G =A´g)ŒkíJƒÎ’ÏïD¤Ø!wz‰Œe8J™)œÚ—~&…Þ²°é!û§xyª¬|,T£f1eÛ<ìÇ¡FdîÙôÔÚUfÜ̘oÐQ+…–Õ(£æ;äØJˆL "|®Ë=ð!ó×¥ù6JÆ$ǦvÅT'›2F«l/˜õôÉËùH'!óu¡òÖåH,ÕÓÇ/Õï£zAÜ[±ÝȳGÐêHx7eÖŽ#ÿˆpÔ?¼1ç¢}xQƒ`——;rÉîGbìóÝË+K¦XOOlÆBp$%Ì6íf²v¹­ãµI}£{ñ· ó\"(ÈVvêiH;8«ŒgƒÈýPJ<Šìš‰cº{Uæ–ï%!Ìè~R6kOßR…5|ËÝã+ (kr:fÔsž3q¹¬ýz†º¸ùÔÀeLnÑ”YD È•g3•ÅÁPiG´õÎ$,±Ä­' 7åùì6V¿ý¹6vXà¤X _ÆWו sîì{±4ëžx´\èþÒ%ß^ÞDΘ³4±é6™'0t¹q«KmF†Šœlõ ë`Ãp3‚ðz˜-ïvVA¸¯ºG‰¼=„K'¸1 ‚M Óˆ— )âÍ#sx?{Ã0ò¬Ü}ÆÄ6bóýÕ Â´ûOÒE2JÅhV¥ÄÏ/bÀç©áQ¡ðÅSdŸÑ‡;P>¤DxüI¶°qž ôNµª†n†~@r2ž© hÞ¨iÏÁ¡ñ-9Áê2‡+ø2ê0qÂå²JUášQ±c빆ùýÚBØ~‡ÄÏìIM'ÓW`‘›tÅÿqŽõ—àÏõáF`ÐæGÈ„¤vïL÷—ŒÞ|Î\àF=R3 g_Ï)­ÜóÁ°Ðƒ¹3ëiK?Œ€åm _í;E ò"\D[´»€Ý~uÀ*`¸ÑËŽXÁýVŽYP¥¼¶3þ+μ¢û2E3{ž ÌI‹;zÛE‚O%|›§²«ë¢)Řr·éFVôqÁ´µÌ躦LØ‘¢Î' Üö-ÛV®'„¼èµz69éNpëÙ#jM(p´¡ÝÕ÷qÅ]çó!iú—¹g€0ÂØvf„íµÁmé¸=® úgè°`/[eðC°EqLÔÙ,e¦G¦óÛ€7ô>û§$}!MÈ¥¢ÕB©#TKî>bf•¦&œø2¡‡ÏK„2~ 9ùð¤"|ДbœÎ;ñ’ZõŒ´é²)³¬hDû¸Î#,Íä»Ò¬YÑgYóÙN÷€Ê=e¿’bzð<“­É3]†_+LÑ«ŒDË⢙»¦u7Ef\5Dþ)~ŒÉcü­æB‡šË†µö!‰ënRQ¯ÑöŽDwóðµ²Y“Ÿv®cõØ”Ry„zÒñbWO—êÑ ìØñØ…S¨V, Ô!Z ¡¡ò*†Ob )a :?—.j÷#ñ/ ‹G&QŸ¿bœ‰>P –DM˜ëßt¡Ö‚ú¬SŸõßë@J»ÙTµÆ5ó£Ó›@ ôÒ4RºŽço¾X•,Î9`‚1s*¾67ÉŸÌ­>×›;ÉT§z¹o$Ý6åLž¼G"”×V;yÝíØ”´£ÊåJèT ?Ù1ëþ£1nãxÞ3ÎHN˲|þÿp±Ÿ«&¼Ä¨Ý 4݇¼"éiúE”ã'a.=…\Ùb€{ßq£€[HRÂ#­ÇÇš¬q~ßh†ÿ-„fÏëõÞüç Ë®Cz5_j÷#Õ[¿eé ô°¤W5¬dÚÂ(vL(€×à r )lº6‰³¥D)|úWx°²Ì)×a¬v­©ÿÿÿ¼SH‘«ÓkwéŸBÒøÖ; ³qÁùtÖ³©G˜´SIkk¶ ÛŠvîvã/ð È¼ö ïÚÖÕ[¡Ib £#q´ÝŒ3{ƒK“Õ¥FM~G¿ä­/w‡„DaI"&;ãð±â”-99ßà^=¤ã'k=oޝš!§&Á„æ/׫:ätÙÂØ¯Š)õEaŒ8VÕ?ÊëìsB]ÿãåîš%#V€Õ[[LÅ54Äg ‹ÄA*ršº¾ ZİǓ;*Üwœ5UÛŒ!þã¨c±2ÅtóR…pYñs®ðÎf8O-Ì_¾-Âø$Ho:è*ѰBlž=1:9V2šB’b—Q6í¬¾8Q‰ì"%:Ò}$ï¼lãä ˆG×Ú£8îPˆQÆÃئ)Ï‘²‹Í_¤âÛ–%û¦!Ü,÷Éê^•©‹²e4b 죡IX¡¶Ñ‡cŠtqÕô3‰mveÞÍ^÷±FÕ—¢ŒÈþ–Š9±éý»Ëø:Ÿ€gJý(û4šÆ ]¼VÈK€^vP³ ù|›¿’ó1ý²æŠIOèýyÞŒ(œ™Án©ÝQU¯ýý«µ£üê|Ý»çmŽ-%¨ü*, „+2a¨†ŽäÒ­.zÄÉõhWÜ&K!ù(×e%B\qÂ>êuN.Dáÿ [3k31\»^b±aùw-0STÍe÷t¼À¸g£lÜ1¥âK¨?úƒñåסügA=Éž*;½Ò«x]öz™:#;ü "•ržûËèŸWÓìé5\!É[àiMðÝï?‰½ž9 ^|Eï´6ÍˆË 4UÌ]UÜVsäCr:+RÚ’‡ƒ¢UA.èÖå­+@Q§°Q¿q¿{ƒžDŸÁiZ\58yÙ¨®v_°yÄ]o§m{œÖ-ö Øf®›Y•šÝQ lü/;–ÖÃçQwÊJÉ›_µñ6„ƒ¹G ¡NèàºoŠBâ%4;H#VûÆ•U/ýL3Þ=ðÖàÝÞü›A¤£””ø´;ÞÒ+ ØpÙ»qœ^=Ü( Í·¤\G í”2¤ˆx€¦JxãXÒŠL9¶ìŽ çŸæTu#D4¨Á²¢Ö Ôv˜Þ)ç…-üŽÖÏŶ´—!¥±%¡cÉGO9«,¸kÆž)i°ø]ð€£Ãjþx:Ô‡æøu¢_A£nçîÙ£RÊwáfôóÕÓ©4óU“.ë°²ƒ! oó¡‚Mr‚­=ö°é‹q™»ñ#šÃ{ç©fÙB¼ÖQ=d7®ýnå‚«w0Ÿé8Ñ­ö5møŽÃ9 æJ:ç¤lòËŠ^±ÚÝ[iµ«` ìääÒsƒºQ‚p®@ê5Þ¦Jõ@âŒ[oÃÜ <·ãiIqzÙBs@âwéè^®òӃτÎÉÕ"0jø§˜nÛ÷%œ(V«p"i ðWY}è`“Èϼ{‘Cb1M‡‚ÈÐéLÜÈåiúz«ix^¢XÅЯn5øfPJ;æ& íåHÉxëLYàå“4ÙiLºAªeÎÕ¬9”AY;“š8*|¹·Ë°ñœ,¸A¤ÔÎbʽ8üì|JÜ{A–wgãÀj!ŸÏü÷Îhìg©†/˜âð#œ`qwTn­ yZ…J»¼Gu½J!ò&ÙáüXDšCZlÑÖt·„uïH` ½9×Ró@wH> am¤Œö\A4Új'ÁÌ×™¿,P¸¶C£“Ë¿¿¼ó×]¨$awê§@ùne´Ô=­xû©ÿAÏëÝé‹z¾éÑÕïÀ0Ù›y§ÃðÑÞiY/Îÿ<²$ÛoáÙÁ4šÞðÅ®–(3®DèÛ}vd!ÃD=¤ƒïy(©/IÂn_…ù(F¥ðBèŒF›©ï:¶˜ÒÁm'ÖAàÉ}­·úõNÕY'У@ö¡Y90¬ži•Àã^®C=-ïRÊ åê0ráBÊ;ÑEkÄV§x‹¥A¸7t°XúNs ꎇ$ØF4¸²–Æ€Bý ·Ö¬mû6€bl‹°Öè¸Ù1ìu¿äFò' ƒùZƒ‹ôRac/h‘˜ ø_ö Bk67¡çÕ4&v´z£HÖJΖXɲ ̉¦ÕBÕF·¦N+&hT(í¶ª3ã ª|5Ñâäÿ&¸!f„ÖGJ+åÜ] ³"¡dázi$e¶ÍeàHð‡§“’ìEÀzG»ê6ûb›Yª\À»"ß· b]C²â,jÞ¨:Žu m¾Õ?´ CÎ]€$vÃgUZÆG ­‚ÄT":7|ZjÎÜå5Òâ¥\zöâNíÁúgC8 9ÈÔ?X«¹þÃtÙ§¾¸2·Ù;´úIxkp´„èF¡#MÝao´<À àâ xîoÙî6u»¢ž[zYÑË‘ÁŒSÅ¡L'· Tûo•€9Åž"ÌUÓ;b£!¹ÇXð˸ùMåË·²|ILÕ$&( ©áIMø5Uã»ÑËêþÙ ,Tâ v‡ÒL€Ð÷UôD:øÉ=‰1C(Òš®9Ö¸ Ø@ŒÖc£ßÔ»Ú5}Ñ!ªZP=™ÂAÓhÄJ„¾>¹?R­{ŠÅE2Žg™/¸…€k×iùç¾åø;º‡Ùxm£TháöyŠŠÌ.´{N¼ß ƒ§—„,Ug9ÿ’P föÒCïõ¬ŠJ/‚ég ¡wî•&Yų<œ1ÿØÈì¶+7Ã6æ&«yÉF1Íi¹òhÖÍ%ºVgÈS“mш[ËM;ü–‰r_äÔû5Ujëgõá¹0‚ƒkg­÷óN™Eÿùd'3å5‘VúÛmI1–û¼aúÆœGŽcr)7<3—ÞOÃ^Ž›/Òól›¸ç·ÖºætØÂÿnøÁÈ8žÞ ­¥ÚØZÌ q[íUlkø´nþT ±­)ÆGWãtÀtWHö1šÃŒÏs.úE®ß’ÑRÒç€|áWFÊ~"SNc^Û"pÚ6”Á¡ôÅž¦œŽut*S˜9ö õAX÷œ]^¼ų#©Óæ#/Š\Lßê¸'“¸5Îp¤k"oþþ¬mR¢·uàXŒÍ`ß[2•fÄ7ç@¶I #äJìYôë?Möj;ß»xP‚QPMWaHŠD—é?dÖ7ÏœqÇ•ëÂË,D/œ¹ÂÑàý¢š±Û÷kšO5—Ê™…k7Û ðƒåNLÛÿhÂiÍÖƒ¢\LÒpAu­ÁaÐö2çéqÒ¦PÞ´/ÔTVßœû×ä0ÿÝ$œ3‘GS¢ ‚gËm¹±¢ƒÏÆwóŒÏFD»#n;½.%>Œ<~ì1V¾ã†ÏëBø:)Ö€À[ð--¸]þcºÝE¬ TV÷¢=M 95Dßß5< Ó‚N÷ ªà83æQYIµ@ɰóÃöoRÄæ>÷{€ß·vu-¼Á·UóMVºcsÐÊʹªØ‰° ¡A‚O¤´ãdPyœ>¥™Ä$RµY+ÍFÅ¿ß-Z;Ö+—^<ˆ]DÏËr'áãc» ¾ÊQ•¿õ)Å Ú–[— ˆ³¶°ªÈ¾sù?ý‚‡07bµÔl øÙ·ÀS Pá•›”ŠŒ¢n»ÏÄ=1ëYC4gæe…òí(ì‘c¿¾‘@žõìDòaI$Ý–ãcá¢âŒ{I›1qÈ™ÒÃXlh31ŒÀ›Á65*KR¼@}†¡P‘Xü A6¤øÀb¦%Æ¡‘%*èñ–ê(Ûyá^'žTþôZy4Vá ýB3Ç›ï˜rl{Ø›Wñ$!7îc»g8ü¥ýÒ-'´ó™ i¬ûId¢î¤C†]Ó¨WïQ¡{?¹ý„{ˆÂ(8:ðåjÃ, ™`µ#᛹ÑZ¸5úH°//Ÿ™vCrUošd¿}$¢‰‰ß‚¬ï£ŠòS4™_Ó°Z@Ï‹WINOû“ÁéW&ú)U©×'¸F%®Ö·&Ga—öñÏË–×Pñ þ5c­iah‰Ú›hŸ´­ÙKÒôÄðf,M‹óªü«dà¯)bzpºñéõ"$ÑÐP_Ãÿ±}7·üêßÀÐ9@0Z…,°Uñ @UG~;ô½v¿“ÆtXÛêGäèüƒRþaªjfÒéœ{Æ×Õòåõ Ÿ‘kâTý1鯆oöú8Tóq^Xaô0m©Xi ¶D<}ÒO%ÿC˜Ó8®öî”ôTÀ°1e ïºhb›ÕTy2Ÿ#ˆÙ¦mrbqÀ[Ér[r¥k"V~Þmùç¿ÝÆ£ƒL¬ œí 3F%ó ” g^™­ud®ú¹¾æCàq}g6¹m´è(œ ‰AÕ\š-"!?l55«·ôîÜU£†ýïdð¢8Ðo¸âe÷eÎŽ—Ǭ&D!ÙÂŽ„¢adó—(?/Iƒ”P؃Yœ¶¬â4u¢ÞI%³‰ðbGE° šyM@uû=¶‚0Ôωº¶ºÝM^uH(#ûdv·òáz”(y/T˜e#f°«ßI˜‚`Ú ì«‹bé³X„*fW-¿*p[QpÍl†'%Væ| â+g’œÉ¥É¥½€CoZ‡dÑÊ_@¹½õd“ß½g1 bw„ä+ýö#·ú.g½%{Ök|Ž1TëVB[»÷cˆÎÅש~òGÆh¥Mã8‡Ï&𚎠çŒX—iÅ®à’{Új…9{ì[r]„+‚™ ¸^Õ§{-:ZK¢3êJy¶ø`ÛÝË^¢ÆHXNq­êï|a5ÎïÍÉ;Ù]~¾"þÓ›iùòÞv‚•&’UùòDìóX™u¦N8cð*Éöé,`ôƒ~ ú´¯GxZ9ÁtþnBGß²à);*_:ôÍÙÀ€--g©_ýJ×éª?² C/œÿ±Ôj•;®èä2‡#b Å`ªEGe^i\&4¶,’Ÿ+Ñniq]w@BV½ÜÌ{Åãzý¸¢€©Œš4¹Ý{<8?rY×óf)Gy¢£.oc¢¸OZ¸·¿¤aÔŽÐÅGg [4H\ò™“ÎNQDsî’®˜=«),R†®Ë øL@î>ÂG³u›J¡Üºa)«RÁ­ì¡%´A¡›E[B¡ˆ¥ "Ý>ñð° +>;™vÄróù£Û…f]™ùÙWC"FoJ8»üVMXÚR0¸™0õž õêüÜò‡Lj Qˆó-‚ÈÌÆV1„&–ù„y¤"{ÌÁ/¢ªû/y“ EÎǼ4­Ö¦1"Ókš=—*çˈZ¾.¯ša ;ì8P‡ ¦ »~ Sèeq¥ÚCs7ZÇÔÔµ"‡öwÆŸaRµU63)æm2wÀhÏJZŠ*c@‚b,ˆýKDùŽOÆN¡ØÙ>–qþ kqÕB{&E…¼ '?§^B§ufùñ«Û«Îò{^o@*Y|­z}3p¼„«äÛ*r½hË& AÏ9}aF‹e]4œj:ÚÕ½¿ˆ,Äòo˜xsW4¦‚K  FªDo“#“¤í%B  ÍóÕ@ν\â·L 4˜4--Ñ2MÝyŠÌýÿ’š¢…3Å(zâŽP«8)4á`•u3}›I¡¨¥Wö£Îv\;1­Ê#vüÁÈú*‚ )RèÝœåqgd+J¡.ú'Hp¢q"†…;¿!Ù(ˆç.¸±xóâGÈCK‰i Æ‘D WD ifKñ?;0yå}¾ò2ï–M£ÊÅŠûÈÒpZAC*V]f•=Î/4ÚÂ'IT„#º¼³Ó t©×Ž'd ùS»ˆwíÉÏü"1:jZ¤< :FRûQk^ö•A©¯Te‚žâ` ¶ñÛûv ªóàèïõ—u¡†~©¬-¼Ù†ãLÙ´ÇÁIäÇŸP’¦‹Y·’|î9›Ïæ]¢‡X§~èqý<`†±ôgÑlH°P€Ö¿=ÿ0¹C³´*fSÅÜte¥LH„*(©¯Êû+•)o2”G9§ß©õµO4.–ÑmX¬ã¬t嶃¡ puüÏ!P6Çp®ÃøGÀG»äÞŸ¾ Þ2iöë,oH…@MYê`'u”ýÂåIæXźta`¤Áož£ U¿•Öo©àö•ä¼Ma»Î[ ³¦±NÎHtùó5‰ÖE9ö¨Ä|W/¯†n÷ ™Pô }ž3ð¬T–÷› §§Æ’Áš•Œ_ÂÁW~çªK"òbu£üVœ\½Ò«˜MÓa.eœô?æ÷ͳÍbúk£09‹"bÞªÓb™É þü*¨½ÂÊMBÚx¨5;j„7Ø8'G>kû µÏÙé4 ¨öé58h•éh5U†Éûâ¢3ãÉ]ež—fÖýëTnä‰qÙ‰:AždáÆ4þ-R… ’ø`—Æd3LòM»’3)v ¹¦oscS£Ù »Ö&ì¶@†«¶;–/ á8S§][W}W (k»!b$¹Pà%ÊNOf§æí¤r¬©ŠegRáKRÞræSRY4èèèa¸ì°7 ¥h¸8VÒõô}‹©97¿Søêz„,7ØÍ@ÑÀˆS™ô7Eÿ:éªæôŒ}÷ÉÊ“‚]6Ëÿ"ï« CÚÜš÷H#&gäײJ߸L§õÀ ØŽeZJh¦6¦w~¤YÙ]:‰IÃÞuÎÈ\PÇ=Þ kÕ‰@ŽâE¢y>¹;a¦_A¾–lÜàCs9íbgö†ÌI 2×C#žmuÓ¦~ ûJ€4ªÏ/®Q‰ª};ûÜNÓ¹%%Š; gv{”¿³†eî`V†:19îlCÛ·NÆ\RÚÆo%¬–Ih–Z¥…¶r­I#&EgÇÎ"Îu—žG&=‚šf ê“ÂôS+!÷Ú,ËÉŸ é%)ðæNLŠÌÕeim1sgütJ€)zðëTȾºþ;ÀÄÒ¼à&¼¸ÎP»ïîÚÂ÷ç'xÿžEu¦lúÅlÅ×`®á¿G“‰*ùi[õ(gCr70K¡µ ê$«Bn=³jñR|Ö¸%Ôh$U©ž*m¸*ßÐÚšlcuŸæ¶°ppÞñÿ"í49Nõ˜Á@'H§tZ…µ¿9ä?þTNÏšn礼 Àö*²ÊÊѱo»tJäÞC)+×wêºím¥0´)IµÝ­É—ˆ¬ðƒ̆ݕj5KÊÊ Íù"($è–Þñ0ÿ{~¼¡Z,Œ—t0€¶ ¸´;ÿ-(Ð!…åîÂmD­íX^nƒ0At×Õj=g´ôÀ]pÛºpˆ­ØŸ‚ä¡}õf2P.“ÅÉ"º÷Ï8#:‡]›xþ0ÍЛl4@¨l²oxÞáå8¼†3”˜Á¤É±†Îq@‰£›ˆÂºcªßøü’¤kŠj;Ô4Kât_À€{ÿ{hÆÄGã¼î~¡òau½ÖC€YÞôÈ! ì¤9ÿ™e¥(t‡ÇéÛÏw¤¾Öž ϸã¯ùZ _•_}rPï Ï×¢#ÍÿÖ Úd})%©¸,=è˜G^â4϶¾)ñ?‘ Òö‚¸„ßNoÃT-ê8ç)Š€9¶Ú™O¾o™‰@ÊÅúßÅjÃu »K3 ‡1-‹Æ ®5Hüe ÔþP:%´‡›ômœc‡óaû•¹6¸{³“ihþvÝÃ+‹ÊPä\s«¨E©±hbB,O˜ÊÒºàVTàßÓS>£Á„ø9oF]èCÜÖ2åa~ï° ÓŸ. 9/%xcü,׿÷—C÷¹9¿`î Žz÷ÓKŸ&ò®0°ºbÅjìÕý¯YºTß(GËóù£õp>ß*‰?×Àꔉpó¼îÄíÆÛ·“ÿÙBÒƒa,íí~7|VÒ5“âá'‚¥ýüK¨fæ`¼´Ø×§©{’Ïçy'^K<IÜv´ÎÕF0sp¨ôåž|í–LPÓwóÝ÷†À¹%`p†Ò†éë«pÍíèpÐÞþÝS¨ #¬œ® øïk¹Rp4õ–Úß\½›’iI[j‚™6ÈNÕß}²YAïw ™‰ÿ 5Äló!ŽBsÅA·sxBá,%ZÔ%¼‡š¨J"QJ¹†‘¸"턪.˜6fŒâÆg›9˜šU¹¥3¸×r\ü‚!KÒúq”ˆðAúÄK]?Õ¬ºs”Zá™Ëb)4Ëvp 2YZ ¡OæËÏ—*ŠÑN©ý&¡vá›A !g·gx½§1 ~ý¡ë5 Óyî/9ëíµ ½ûÒ‘Ðô‹!t>ÐB"•\çTs^ÎyG›Ÿõ›îÇì)ƒ/j@µsàòˆè©å¡î, »h—½M@ó$k6­Ï©sl—š„½É­'ÅvÔÙ’ÂŽçHPã1ôðÉV]Ï#A¥Ö¿º¼„+÷énÕðü)U2Ž«ssjYb·Vç*¼&µê uYÉ· ÑŠD³†ˆ;Àɧ3c¬ @`óTIu²S¡d»ø’ÙxÈiõ1ºqàèÇ0ÍÐÅ¿2Fƒÿ©ùógqˆí>_ÈK-«À¯X;„.Té°GÑ~Ig—Þ¿e›|$’¾´ý)–øÕìßÓâ«Ë·¢ ì…›ê¢DT×@¹²†‰&‡(?(G::k7G†3P<@eA •9õœìâ¢ô?3—»ŠmvÕ'.pX —xâl*+V6àh§8ÊA»wqµ=ܱÌf›üzÉð¾Žý‚Ù¯ÐöÛ0ë [æjI‹êþ©Dßh2î¸I ªñ˜Šv!´CÕóÙ/ 4&ãºø8ź›ã¢À`M<ªÞ$"±4à¯`ß Ô§Iªo\#áÄA1ê§Ãr–+;#2ãâ9ì@›ùHŇb÷ÌþuPš:ÔnÎ+Nc3wÂ8Uþ†ã8Lä#m`ɰúÒ[)(Ê1z¤o¡ùÌ¡Ž¤ŒÜ÷CΧDnAV´hã©”òs¨q?pÛÀK 'Óíþ®íH®…(Í{ÿ ˆ(Lò çñ¦iŸMîñf¥AÔà7â7ØÀCñdZGçc±uõÚɳQɨø8èoc$Ò³ª' {ŠÕá´ 8÷ÞƒwcbàcÉŠL–ƒ1÷ŠÞ¡ ²!âŒê–§#áªþ6o@#„0Æ$è'Rµ ×B·<;ª!¡ßÈJšk¥töÄÚZ‘8M‡hgZå]>úÒÅV`Êäªq¸älª‡CÌ`Õv>ðI+õ~íŽAÚØ"ûÝÍuÐg:Jîxiuà ò€-ð@ð<þû­/ìGEÅÛB«ŽØÌøËHЧŽ&³š±`«“[9H‘ú5‚Úêã¼Ñ±ý3qÝ:•Dñ¾€žû°ü5LÆ÷bÀd3 †:u._Oó§<_ô§Íç/R9k ¾iŽ#Ô#DHÒI4`ïE­dÀµ²(‘)ΚcañJ#=¥œî þ±=ózbÕ™u¥Aú>«t¶.͇+@æ5hóð©8,=œP­áÂmŠÌã ½eœ _Z ˜ hOÔ+ªŒÁ· Ì"}4TÝS*û¾×å}Óšâ­À <´lü(Dš‚žÖ1ƒ$e=i¼ø/í!N•°¿<Ÿ®B®ø$€Ï0ŸO_‚áA‰FÅA#×|‹b(€¿ßP>‰Éè`Ÿ?Çú`RVÅZ ^Fá(é@kˆÍX}’ «"ü{ûûò¹] ÑÒônÊ&rsˆÝß,;»#“~àºxò‹+)Þ‰í¾ø [·8'ùr§wy€Gò…T€d?@òóI42kj… À¿ÆzïÊÕàB ?ë¯uS÷¦¤½uih2[RC/<öŸ¦kà P"SÕ±àÝíOv¾³{Ž´c;pQ8Èή toõÒt_n~úã*ow\‰‡¼zi$ £CÑ—Ïù¨†‹ñyŒý¥“…ê ž€;¡NÂ_¶ìÂN7üQÖW⛞»ÉèÂ)K•ެq´ž¸q^hã?’öŸçP¿6ÅJ¬¾/Í3ÊFHƒ¸[wóÓñÜŒñcÀüb¨ùë‚3"Ãé\dï¡Mò?ad¾Z)P9@“Ä½î‘ =<Ù‹_à>HÏùø ëo>­Äb’uˆbB3bU’}xQ¥§¢trû³Åœò}ö³<¯õ=Ó¸€ëØ!óöíÓšbý–@³XÐÁì’s±uÑù¼“·ëÅDëJŠˆ²Â ,]KõZœD‘µ€K“)€Ï„ìSa²É…,&þ*¿ ¡%#¡ n.Ú„6ÕÆ—h$§à¼!SxüKK‡ÝƒM!m"öqÁ®Ù¯‰cIP=n‚ÞS*C¤×¸—ÃFs‡Îã:ZÆj[$à>“Øk+‰ïŠÂ×T+€ÈÙ ŒÞ±r(Iq-,E|pª¿¼ˆ}5§]mxÕÖlZ lëñUÓþì÷ÜãxiL*’CÖ¿qoLŠ]ÏA ÙP-µcéG}5>¬¨cX´×0Ó'¿z/X˜ ͸5Ã?–‚ÒH­#’ÿt: ¤H¿2h¤¯Å³(eËÝù,Ã\bÈö´÷ ÐY Š{9 G1–H€~O:(å{­ð‡ÊóàÁ¥j} úoMß@;Ýá_íýÇ#ù™5 —.s›IÖ+ ô‡±œ§üˆKbÍã»W„]6'ɤX|×”,íl-^ kt–4Êd^Ë!l—T¶mÒ¾fK&kÛsÝÕ¬%ÚñOíI2ü]º¥ÅiŸ[—@Æ›ßTÍCðòN£J©¿Šæ8g; 0¯Ë=< 8ÓXª&<Ø6 Ò‰·BT'öÈÚ¼uêìÌ/­0ࣆ‚L–ëÌ_¨ÿ^>Y‘{tG0µ»­ÜÖÌJS×âܘÊ_˜×³aÜ#‚$PÛ¬½êËþQŠÒÍg(¥Àý_Þ,sµ³£ug4O þÇM¸ª=›_± =›]„ÃÙŸï}Mi_Xî¿=‡xéQÿ†žuHmö¹?f UY¦~G„nÇ~ïpp$kn;»¯\–æ®Q‡&JŒÅ°,÷‰â=Ùa¸RØ––UIÙTÏMjâ?LÇδSG‚;–+: X¥ +"á®ZÒP¶Ùß?b¯DÆÊ²FWð‘—œ°Ã¹÷HÑñ‚æ¥ê 8I÷ ‹! c?ÀÌô´Ì¿ä%æè±]ê» NKR>á­ 1ÖåI>ÿ6Yª5r {9a£yžŽÉøñf‰4_ª\±èPÙóú@D€´öu ‘œ_²kðUB„”À"qyÛâØ÷/­RöóÎ1×ëôVÏÞañƒ +Ú›LãÜÎkÑ\'q”‰¦½@/ŽWq…óô^ Î6-Mã"¨mW¯=νØó@¬BÝø ޾¥â/œ2‘Wñ~˜¶hΨ8ñ›^\ÜàÛÕ'+sñ”Y£ r2L¢Kõ¼H¤2.…Èèëùõ39åî¯ø@S$úúç °ÞȨ‹¶ u ueïN欱.1‡u *À˜sbS~‹Â ¬>(æÿÈïUèò‡ù4?9ä s·”³ÅеÒD5/%k£M*בÏÒðK©ó]ø5(‘ÖJ{íih6à^ÄÿAÈ×Ð9k­!ý¯«å¡Eüé·iEÔÏuÀg£/ϯëZB³bæébJ *ˆcyWbÜ þ@Z7þ\;–Q‡Šfüyí­£œ/õtá„£kä Š—jX´ï/rÊ'ržÄ…l Ø9SœÄƒû5¿†Ÿ&7 ÷Q?8Ú¯®ÏŒMõý6ayßW¢±hYÒ|ºT×tuH'¹üÉ ëCúá'Ÿbik{kÔÝ£.ŠÁÙž Nâ Ûj G=«‚G„ùQ‡ýA¨Uò¢M£]׿E@FÁKdmÅóm"oF¨Ž¯¦?— 640l@ë9žÕ_ âjžÀ]:á9ûƒDŒJw‡1ÆÜ»uEÞ¹ÎÍAVyò¦·¥ç2pÕé<ÒЭÝØ{Ô¢¯Qo¹F¸FN!¢w|–ÔnßÂßæþýÕ…ˆŒæürÑ|Å̰Ëjâj?E—ûáÊ1Ùp(­ùQr¢}¥Ný\|4¾ƒu®¼$nFÌõ'gm`¾ë®fQªLÛŸ³v?µº‰X×<;"DÞ|Ù¶€æR@¢¤G±–ðŠ~(µI·ÇX7i& š©>,Îf´ àeä“L1oR Y‚>2þb‡ ßsoZБ"pC/ÜŒ|^v©%#¡hòˆ³ßÕ$©"ÑœÅãõD›‡'[%ñ‘bì¡’£í ZVÔîUg4–Ê1,ƒ‹§ÌÔþ€‘ZàÏöj9Ô£Ì:œ¤ã1û¼‡†â6Íl ›ÊnãØ•£”jL Ä]Ð@õÐq…§%É&Aå$kÌÒúXd‡Y‚yFþó„šÿ¯¹(•+ßÏ㯳%è³.eÑŒ€û¢§ 9÷Úr›À3êGü “}?gê/søÌ+2Ôèbóû’rÞDþˆÇiÔ좛EÖYu¢ *ÌÍE§ÛåfWܪUTÒÁ*g¤½8éå@ лÀßß„¹‡!•â¤u™bè‘1Íë'}Ã~º•\GÔf-Ô7ë1'U‚m%ÅÄ/EdsÚÂÍÑóüǹ«¥HC îÁÏ6x¡©X–‡â½N/|Q°W çÿ²Ò¢‡W­Ìàn;)Þë1ÝÙBË×™7/§>ã’ÓxZÏÎzœðM=,Gž§3ô4&ƒY Ηãh±óLx8õµ¡@¨ìyru{ o.óîGL>öD„Só“ŽâêRÅ›j^B€³óöq<»˜…îJÁ|bf‰8æJÜÍgÔð˜ó˜Ðà.Ùs)4“4sØ@ðßÔ‚Îë£-ÎÍ1Ë?!‚jƒ‘k õ.û°.lãÚãåá÷—G‡YªË|­Á™ú[ùeËÇSanÄÄà°×ÌGêô†“Ô$Ý@±€ ,™»æâ ¾d˜˜ Õ£qŸÚ¼ˆ­A+œÂh‹³m­w‹Ìõ¹x]ÊkËO£>â¿ 0ó!¨0®Ea ºÍâ^nF28ƒj±·¢åÎ)ÞÞÚOÕb ç/áršÏ'¥Õg…%áò…aJÑÚOåŽíÿKí¿#:þ·û·?¬žHÜŽt$+i9 ÓE·ûFtßúħÝYÞÝ™H¬<‹]dÍA©EÔàó©ÍGVÐua#Ë×™òˆøZ+ÕèBš0‰K9Ea10•>ªý¡1îYnCÜœz˜ø Îî|Ýøì±T(޼¨ÕDZ¯Î(¹ÜÉ:ÇQ¸yf/ Ôx±Üûç¼8z|äÚèdúµÎ¯ùž¢F€y±ßÄ:±u¡|$²ü¼ƒžAùÔŽíÚ#Žªû¿qòaqnâQAî¤ÉqfÙ}bÝ‚¯o`D~üÇ ¶wpOMúŠúö±½ÊVßÐôÇÈ(MÌ5'$öC¾3†òÛ!œÃšy»ê+d´:93õ›Åî#`´²«×ôÄõ¥§zRÈÁ¯ÿ1Û«K*1¨˜6¡¶áEV‡Ñ¥N*ÄÕ†ÅýT½iÄùaô—a(¾¿ßj¬÷á°]ìÌû„Rr-ÿ26qÌ}’œ¾ñ™¬cêªÿW’Û1ž©ƒÍa°-gs…{ª³ Å&z¤h+ÈË{^Ò»V».›W|‡c¬W>Cæ9¤‚Õ°æ?ÿ÷4•b’'žô@^è7ÕÖ¤Å}ítšeÃ×5šÚâTÝÅÔcFPcª:“^ÔùÊÀÃ네è¤6ìõ¨P^ cÔÄßÍ}á·LÌ çà/Ü}Hö)ΩÚõ_P­µaw8ŽÿYOrA¯äÏh`-ŒVß@T È~Q¥ˆY{@ B”Á›ìþÔï’”âÕØ º¶h޽Øõψ7èùD“âNØ÷¼ò8—Ø^ÖwÜáÉ̺¬ ]p…¶hYÖ'æà§Æ«DKº0ÖX0íYþ‡H;×#ÙbiŠ3òü[Kú­2‡:#ZÈ”òa@9SáêH¢aXþVÏ%½¶B 弘ƈM®™—HàŸc`šë>lb¬ÁšÛ½¾@#ðIVÜ+N¨k”ÎbôÁ¡Ié+†Â×xŽáßYê¼ðÀɇÿ¤‡\E%½Û>ˤ=sr@³ãà˜Þü…¾ÂÜw`åyÓ*Â6ú!Tʹ<¯L ÷í&ÞÈ;L§Lû’<ß%‡¢< °"KTNZ¬![?6E Ô.Á.‡§sMaÞ+RZkÄ¢V9¿X6:fÄ7ÚÖÓ|V3Q?>æ²8ÖöÃ/h~;{è™|¾‹Ñi îÖHLÓ£€ÆXåEå@·†=yÖ .À\€ü±©® ¤€|tlñW"å~cl­ºk–m{ðásÖMñTâ8}]pãùQÙoy½Ð$gZ—°ƒ.3ÕPu¨¿{ ¡›p£†¥Ý ;UMÏ(ÌóweW0P*‚V¤3a;$/ir;†$Õ—eúªNΘöüØ!n3…IçÓ’·|儹nK¹š3Ì¡»ˆØZrP êN? ³®læ„+ëÿh+ca4>º1d=d-ЋjÎþöSàËg1_% ÀU=ÐK(_ΑÅ@ðem=žåú×±J þ™4U‚í½¸‹ùå°B唂fq…Ý„ÃXŒŒ'61µ5 j}Ϫ7dCø®gIÁ§V>ôãÅr[š,X£±š“æ4ðŠÔÿAb4ðás—vÿ#i· ÉÏÝÔ~R:s Õ3‘,ûCêоñX8ð?,ÉÛÂS.unñ¥Ë_Þó«MDŒÅ:Xúå4ÒP‰K©tÿ^¨1Aæ6ÛÂ,!ûŒL¥­{¡IÎJkœD(„ÛÙ7²É`ß kK¢²ÞÉ£2ý½—(GHÀ^~×’QQ ƒq!Ëü•Y™5†³ùó.#ËËØïh&fª‹G¦ø'‰ý¨ŽNÃ_Së´ÝÈ>3ïRПß_¡ü¸‹+øýг“Ã’ê½åWUîåØŒÔΉօ²|™Ã8ÜÊÝ~®"Õc Å*h“Š‚õ3E8ÞŽCAR=.±Ë‘A¸›˜Ó-'`üØ3&aÛx’Yú̹ª" ÿú¸Æ[“1ÒÂŽ-FòA6ÐÕ„–2P.xåÚLô¦¬[2zéÜ):¼æ“}ZTãL4×ó°/®XwÃ]àˆÝ Ö…‡[[9t2Xi:¶qŠÑFLOFp Èæ9ª©MV7 Å´. Rz†÷Žfq›Ø ƒRÇ™X$­«hÈpÀÞ Z¨éýTBcO!“_犢#^Ÿ¹sÙ%é{eæPãöª¤ ûã#S5²'ìÈ·ø1Û?tÊt3=£‡wF:¡Ò^Ùʲ%…XyCT_]~ƒqFÞÉÚ½~£Í9YÁ à.!¨7bì9¯¦·‘]œå/Ó”/94yôOïyÛûl¸ƒ Häôþ…Bå>›H€úqIXŸYîÔýiÅdÓë¯aªeÁ;ïq:¥ûäïï[)4õ \¬·ÐKäq²>sŸÕ¶ÒPÁúf‚0â>K%ì(!­’¡ÛÕÍîi˜ÁoÍÀvokÔPn}+³;éÞHmÒ+Jd£}ÅmÐú•¨”æ=!œ‹ˆ„ èëÌAd(îŠ³Žˆ~,NRx-Õü4– RäÚIí Ã•t4cT>VÿÖ·yÓQªi¦†Ùê¹ûõDý®UÄ@¨ËáÊàüÏe­¬7Ã@þ–&‡dàÀèTó*Õˆ»ÌL¸@ü ¼ý‚,´éJê ³v™UÔ$i ‹ç-(.4dìñ3DûÃéLb,˜ r7+®æ$æQ¡¸°3$ýbîóôNd€bÉ­ÕÈW p»2Á³º, Q„÷1RI(Ñ„¾FC} 2*A¸©qgè°M|0aläÌpÔØi2T!-v3èXnUÐ+fÁpl%g¯Dè+()’1pÎ9<”Iî ¾ +¤hç'`úÔâ`ÛfñʆL±'ÒK®úæ1äº.ˆc(QfÝ èAaô^Èð—‰à¹0ΩR™hQÙ ‚MÁ;½÷ÒsÝ?ñ£Û,VS¾œ=4ÄìCÐ>`Ì~ÙašIpÄÅÚ0˜õ™}×Ar”0´Û•<¼FÃÜ”õ!´Pœ"¼¨ ”Q8ú ß ¯84﹞Gµ•gox¿á¥Œß÷)îžÌ5_íóÒó¸Ü®™n#qº±TòûE_æBïí .[ŽPFÍó}½O–Œ/‰¡æT#Õh†ŠîœÝUàT£ÛQ;§FaÁ˜¼j¸åPU|åoÙorq¹¬„¡o꥽¶bÞ,DóÙÞ{78ðÐ×(¤€U°–›§§M¼Úð( Ÿùp"Ù v¬– €_Wþ2#@íÄz\ÍªÛ“ø\ÛÌ!µÑ‘ôØ¿7 ?]^#@~úgôý¡Ëß‘ \4ç8î ²\ÔÕ0Ü¥!mâ’"¿\sÁI†–ÿ1žÃÈѳêxoi!ŸQYm³òOgDO³•^`1z…Ù8§z’´ÂZÍEfíìzUU ).Ÿ;Ä^/š@‚ýõ·ùñç"3´Ôe?s<2½"²D"”ucÇü*QÔCða±ÛNIÒ`Ít:|Àr; ‡€”Ó ÷“^³‚¢¤}G:'€81°dvz!ò8…ç@q˜ý˜•…å5¶TØ ¿##i6vøó[‡}2, ‰>m3ÈŒ`hÝæDHÎ!¦“ªt¼'d5y"šžsFJ$3°ë ÌJdo[eäÅÓQ¢@7»VîqŸïH¹œfQÅÞ®ŠG—JÀÞ¯˜×̇SÌKK,Ò—W÷¡didðÅdj€v‹ÏÛ8AmTMÉ ØC7úŠž}ÔÇßÓ'KÜ?‘S#ãýs¶¥Pòû`ö`sjݿ鲻>G`¶Êïõb›$‰aº ó@Oa·qgnúçO¿=²,½ Ÿð¦KãÜú¬ÍÜ!‹¡eæ¦t„ÃGXœh:*(çÖ4*ªF7ölÀ祼$ÿ;ß²>E˜  ODNeÔ[¹ÕXj\$ˆý Ïu÷§¯Ë‘Ï-áÄÁßÑt£¿,ÀÚÇ[Á`…ÂT´¨Ïš€ë-ZL'ÈAÌùolDn BŠi?Û–Îô\Ú½Û–ZE ¾~ÿí¾TµØ‰f‘†e‚fs>n#p ¯ Á¹WoŽ„B–jÿþJ´LÀ¯=ì+DÞÍ[ÁÓ–ê0öZžƒÍͱ 8&Ë—ŸÓ&.&Ó‚Žö¥Êð¿tƒ‚ST¬ÞžrsþòK²—d›n2¥+aæ˜÷CbÏ­‘Ö€©¬#ðãýP¡ +ïâpÞMyœ^aPÒ¶›J_»ý»‰!ðL$h}TýѾ™†‘Ûþ§r&Dª!ËzêÓ˧¶Gñ+–!ŒIud{0ñæÁ CvP;ݬ %—ªúžÿOJ»¨ä¦DòØ/ÚâñøUCnZþ.Ù?&Åí²›rÅoz´>u.B‚µ‘%t–Õ£ºi«x!ôÏDÜ*. ³Ù©gçÛ>À϶çjK@à=äüb/سwâ<[F1Óe³”÷Î8ož e7‚GN›Š«K3Zækh‰i±OÍÒpÂðúÌ2u!äTÇÇä¬kvÛ6펻T»ÁL<º¸ñç/¡fÝŽŒœ·sD$^æ2­@àš5wnl$jÔd¥÷ª?—È"jÊ)ê¸MþñCÊÛªº>Äþvöó·Þݽ >c+¼e—ƒÅ£Ú°0S/Y þ#|Œ´9u¬wü˜”H±Sz™ïÖªˆa|ÒÉ@]ÆþÑlš¯Ç\îŽ`·€œ?áUþ™×ƒfz¶»Q¹7d9–â)°-­T—] Qâ¼À c°[/.Èëv}Ÿ† ”œþô×wÚôÐD„¿‘ ÒnÿÒ[ˆheŽzŒ½¯Ï©‡pOz_Ù¾º¡\_÷ªidCÑDœw#ŸwûÌjœ_'ŸVæK¢¯ìe®ãÁÐ â«Í1"Ïù¨Š>{ 3²k}•‹Ó‚îérJôFW܃˜–ú).ᙜ Ù ³$ ¶§Ur µrŠ‹´ÏL‡ÙÇ…¤Ƽc»²:NŽÁl”Œ’ÈU#ÏÐûÆÃÙ]Î"t„ëÏEú1ÚBÓ0ðÊ`•sºr¹É./Ó–Î`‘­âÞµ€¡õä-8ÏŒ};k&–HÀ‰!ãˆì¤I]Ù¤.=»XÀÜ‚}é¯tÕg| êdAV"»‰ÓÃ]ÿ&‘¯Î¼† œä‰¡y‘H?¸Ú÷*yåæ/BshTìºSSù(_îTþï ïxb½»\‹ÖŽ]«ûÞˆhøB˳úŸnÅkE¡Ûì“þY;ñú2d Ìk"b ›“äú^.¹à63¢FÑá´ÇE„W›÷þ5ŽÓJƒ£ï¦ì7²ëQ†ôuɵ XŸ$ÜãA(†‚–CñY“.4žðÞXbú´u¤™S¦ç<4[ØLßÏ`ZGPcÊEo½÷«Úm(zQ»üð›­Âú•Œ`ÌÆç± ûÒ‡ÝǶ6Ä$ü¶ĺœ‡ýbéÁó­ V“ºÉ^ ,ºœ®.ËT¿#ï¦FÄïVi‰™7‡@X.‡Ë h86uRë…f/ǪázÃ1ÛÚÍ4Œ~  `:Õ:ó_±gÔ…Ä;{žë†îönµzQˆƒœ+-q§5wL·Þ¡š¯v`\ÿˆ++J—“RýŠº€ßctÎ:Tˆ);ÏŸ9' 3PÕ›({µ×†A§­_†2°q§;õ_zšÒøëv¦¹í+pÈ$Þ”—V°£—aEÊ* Žpó>‡pMßdnzLx(LÛäæC©Dm@¤ñÁz‹eBh|îÎI=€2Ý솛TM³¦îPŸ­LÌæÿiò;‰^êæ³7bÏíÇÁ§oÏP–3±‘P„i+dÿ¨2|ú"Ýc´ü ¯­9pÍÒy€ÕÞö?ºH³¥U Fú¯A@)KQ%@ÎDÈæ ­ò mÜ8Wñð:ÞÜ}¢=°!xf7œÐ¥UÍ¿zÅý»6¡ 2£1¥L¥æ`8Áˬ{*9,û8`ïÌÄàâx6jwkðNe|ÄYxI²ÎâçZ™ð·ô$ßÜš<ý·ÂVhJ«Ë¥Ï´æè¶¦†ÎÎ7ÎÉã&à5–[ÓÂlG¸9YµrœŠÙ¡CÇ¥vû†1ŠàÊnh¹/í Ö8ÖÑWðØ(ñ—(?LYª$ðo…Å_1¶Ciø®¤À!ÛPe†K«úDˆÛS°‡}îm³ÿM“ä{m%³&<è;÷­gCõUV¥\ëì_ç4m炇a¥%ަOí pò’°·D,Ùm+':Âx pг¥nÍœ¥I‘¿z9'&§C´ó¸Ô0¬—A—˜é𲂓‡JaDXùŠÍ3íÒO .Ï9‹‚~“ÁïsÐÓ±}£Ë{ÛüEÛ<¶=·TÊ ŠïžS&Yˆº¾=”Õ_JhÉ’@"§&ÓkÇSÈÚ’x§¢ã²SBçž_‚äTðe{fOˆt숃Ӧ„"‡kàày98G`îÐtBì'…ÜôÅ ŸlÕºu?¤—ùžÉ=,Aû :½ëF—.~Y<Éfå[" É«9k˜öÙ-zQ?ôµçÌÎO›RðŒ³MƒHçý¤.í)6/ý—ÿì¾ÜÔ‡oCÅt‘’‰r[\›Í*올ÌûÅ µÂUãPGM¨"bÝ*’šä°zà ±Çè€LÅÞ Ô~ÀUá³Ô©5 ƒutË" Œ@ЕáR–üÄùÚóë£úNç%a ÓmÔiÈ6z'î²lúeldÔDgv³Õˆm2ë]¾§š–ö¨8”¢Öxvø}n:X·æ'Ÿ7©CèÚˆUqã·•fêÔ¹æm§ \ó.Ñ:ÚrÙÆ¼ YŽº=6M¶l0 Žœ ‹c*‘–¤ŒcùñlÂ1uŠ“.}ÜBÏ|Ða">wX_!¥›‘F *QPܪàŽ1Ž‚¬ÁÚ´§AÇÆVˉ#°YØÖç¿:ûâóž‘טV0­Äü–‡+³T‹í¨È`÷ 6à@`ˆúy›F£ž´MøNJ lÎæEgHVයÚ  —/îËA¿ÞØŸþáN±¬»-‹RªŸC+#óû}ˆFrâh_å²x¶a\ãþ]öýMt¯cŒHþê›ÝíÉy§z¦ô×Á2cÿñ%HZÃ-ßõÿ<]̪ñÞÕ_ûôÞd¬ã×½ÞÉYsûÐý˜†P´í-¹jÌÊ«'G}ér•j‹Qê+¬¤½àÇŠÒM…%*_j9…E|íeì†+.5éo‚2,Ö`¦ý EÝÿ#(óq’õ:éç“ÜÊêµ6¨yį"ÕÜëJ µh·ëå Ûoª˜ YzÐ좿 ˜Æ!ÿ¢ZqÂæl¹õ5ÿ¼¸€Ès©…qÔqUÒRQGZÔ"㊮1±n8¼ü:{?®NÐl5Ýjƒ‘~ø2ÃÊX_`µ„®€\Êhe7p?°"‹µ5–ü`¨!*OCíÒ)Í\†H”PÀc%E¾r˜5^†èåó˜Z3RsdBB\jÃ3ı«¡’ú0¡é¯A"a±fg´Ì ¯iÎ…I8Á£[”¤m¥Ô\Ç@R ®÷âø:†ø0ö»¾îNZ¯[<ÁjÖbx·] µ{ãk¦Õ£í×´k-JEØ=|à­KiÜlÕ'²²W1ìÔ¢›ÿm™—Iãm¬;;-g›ÁÐØEêßlõ*Ú¼ÀAÅ›>}8ÄÀQ†º=Ã5Ë”íz´8~ó.æb@…T}P q½oá€\ÂÈ3«íÃ:¹JÈ î‰`’pA ¡bº¶ u;¨.(ùqPò—ª ?å0ãsº Ü4rÖy3[sí·>!‘ïÃi,à; R€Ò|g”ô£pÖ\·Çã×þ>£ü7˜‘/Þ£¥¯"û’ÝÌ9úrXÌä+;µuWà|FM€¡/¾`{5 B!àkú 3ó-ctw–ú¶gØ£@ûO@ ‰X޼aµ#Fº&\É; 7>O[$}í.é (ûРד©™vïôÇy×z%P¬ƒ+±šÛ*êÙùZQ,]6¿/É?¦š\h? ‚7°+FÐ%-tüýºÈççtSz9ï1mؼÖê >òDâœíØ:W–¸oMC+^^á{¡ÚoP[ùò§åosE­…ËQµµJó«^·†Ðòº&êZˆ#|o¨û¼…?*VÇùÜvž‡®Œ8©A˜CšÏ®BþÜ [¬à¿¹1ÙÚyš-þ*4b ž]ðK5Z»Õê[Úv#BQ?™çrz»wÝ.ÞŽu¯„&©8”saª>6(Ý>;3Ðqñœ%Ô qZq4xt;Ù¹©Ì¾/¦èåâH@§¡'G1]Z£B³5ü¬DíóI|{OÔK—Æï«„¦ ‹ò‡ÎX%ž1ã»÷F,Z ògúO UokÎ2n±É¥˜)¯ÇÆ(º~Í‹šDëêÄ]eŽ ü )A ˆ§Ýù{t°g4õjŒ¥§öêf™Å>'•D ÿwÌæcþb<µs㬑èŽ<ŠèÖDD–kå¡ÝWd£†f6Z¯!˜°žàÑÿT„Ÿo (ÔNœ\äJn—èÔ¤ú»WDÒTË|òhõ” uç§EùfþÎr—ÿ™ìsü€yá^ïËÒ1÷™÷kÛºõtÆG¡}(°æS—Ù®7ñ0å„M¹ºIn4pp³Ø;4m`±©³Ž¬ JŸKûc\WdÐöÄvÃÇT†üsyƒ™ƒµ™D ˆOôò_Ìâ¶BU:¥š…¶|þCËdžA%ðÃkàQ0' íß_שG÷Û”DÞàòº ®¨JÅ1ÓÿÈ=è“Ð4rKÈžq]åÊÙpœÊdœFî8 mš}ä´³dýñi¦å¬býÇîýq» 2¤F>€ù—:•ÌO•KcE,ÀL†kIa,edx~›è püÇŠ W¸ºÿj’ZD®ny[3 ‹‘€×”˜[E'm­qh&çTÅ8G*">ûøZ ´wæ—ˆ:ºJ5{e—ˤ—Ÿ²Ì+ô@xx|ËN†Ô²]#­ëù«#[O Yõ«t…•ê·.:Niå%*Q!¿4¢$ªvþL½F°>-Ö_&Ec_2[‘ýÇÑrÛÌ»üXËÈ‚1÷R€´–T¡©tŒ"á·ï†ýAó5ô6…i=ÍŠÙap2ÖrÌ´w¡Åòr¡£‹£ ȳ vfiAÏÑnÛyŸ9¡R™0mN;ºzƒ°¿õü¾¨@;•»˜Äm-ïÔ÷2°{/ M®5Ù—ËTe#fõ&KO“mŽží9¡5PwæÑAp‘;è?ŽkëP„x>ë«· Ì/3ù.=ì×$ëÓ@¦Lx—ìGÑH÷h[ N!êšÎ¶Û$?Û¬a•ÁªK‹L¿çoºnJÛÀRìd®XM Túì>EƤðx2X@VEþIrã"öšÿÈýxxWµÞ3,Š7ÿ”¹‡– z “™£Þ|{΀<%<¦Ðú3 ['9W%h>UrÎh·Ù/û"#/[ŒóyF]¬=¨SR¹ÛïBÄDÜnÙšy¢U«'Bõð•ÌéÂoí±¿<:q]~P? ÎHz$n©'íÞ=ëÐ;Èͤ¿RP·ãþ¾ƒZÎÑH»Ž†{L–Ü]\K«@…Ö ~ã’–á½ÏRR8ªêê5Ü¢­ÎÚ¶øÒ_›Ü•ºxöæáŽ Wߨàä~ð°õhïƒæhÉìÀÝ*ˆÌ»BË}*$_ÆÁdžv6¥=ÏÊzÕ°˜½b³~/„ °?õ™â1¨ÆšSàr¸¾Ëb¦¶@ð@Æ4 ¾á"’¹®ôÔŠ‰“’ÕXí?Šxdûr¹zk§Î)Ië(T®õÚщÐüX9‹TX7u:{9Tmªr \Z¥†ô¸†‹h_5zœG‚1ƒ* &±.®y+£Xp¿ý¥& «&'† çVcåmCz•ù2ó?y_s_·êh©½F©î}x€Ù×;EÒ€êäõv¼G5¸Ø4ÊUÕÔ¤E‹ÝnÒ‰;¥ÿñµ¡›Ó±v0Ž‘¼Zž lDõR’—4ÝAãÓº03bµu"µ§\® a$“-Ë¿¼”· ¢†¼@«tw>ÄfäŸc¿ Ħ›µüˆÈdgï³±Wypn­ÿÌmXG¿ïÇâoÌáŠs4,Ý´dæÇˆlÊ^Ûìñzç¼Õp’ŸäÎ%.ÍSö§'—ge¤ù6©ùwq/M˜à4pÈ%Ûp²Pì&´‡ CçG1†ìÀ(¬ÕKŒ=Èýª$Ç *ÃCf(áíšÖt´Ë=MT>ê¸GѵLÕÇÇmæ„OèZÄ´aß0Ùº¡GL†ÌuœyW‰mS Ø/( ãåf˜PË‚[˜t׆›kÅ´Ÿó£‹øå'ø%|=™A¼Ê¸€¸ ŸÕ …ç1¿¡cu‡ûhÎHpÙeYQ?nba.¡·DH8ÅÈ[F.-d “jQíÑ „ÃLÞl@ðëûÓ£³ïü™)Í=oEO§AI$+I„ÏÁÙŒU^€Âˆ%Ü#ô¥ÛD`,¡‚H—ét£g{X$k@>Bº.‹gbœ‰ª~Á«úògÇÒŸ"VxÔ*ŒŠvW…Mmò—Ÿé`EÞñºžçlŒx÷ëÿO®N½ëé†2×ù’Øê¶pÑâ¹ö;}y³»„\UÎr<ûŠ;ú{rÙNc[éì9„×ùâWæÞÕIÔU(j˜&Ù-J‘†fÛÇ(0¸{{a™ì*γ״q€XYÁÒuÂ@«9œ4Ž â ),L?Âèèœvcô6õº(ã¼qñ¯ÅÒäãèE’Œ¯›×°ÂBür~D¯©ö¶€Ò‡V6²µÒƒ…Š*”}£MŠÌ v½™øüÎNMà˜zeS¡ ºx7pzÚ  7µ<•’Ï­ñ1î÷ùô¥yUd"•…yÍ8B£Ð,îű®°·I^Á¬)6$Žÿ›L¥É#å]k™Zj–Ve«¸ƒK]œC ,Kñû4ƒRЈƒñ‡ÅP‹¸õ)«ÈvǢŔƒaõ^²Yª´Ã;¬Ä®×„÷²MLDh&Èñcèa±nºå35ê†ßÈ :’ŠÙÃúÆ”bîrɺï”4„¯MDRâê¹ ø¸0UD°ÅÂÉMR8PX³UõnÞ~Eþ|2_”,[Œú#»Ê•ºYPõbn ÀŒFC‡<ö¿>…ñFòòûíï…¸ï>—`$ŽOÄ\ GºZM°ØšL§ÚkÌ36çx+šmäéŸESý³ù‘— ^ U A×!Á­¹o2úÜý&¼qìðàL'àù¼Xøþ@›Æí¼JÖçª&íìÐUOâ´ÌÔ•·O–"æH£8.þÒ³mj²š$¡t$z ¹OF®6ײò˲"JâÛâ;ÝZ xj¤ ½SÉ+} “!ÈLv—¹¸óŽ*Bk…'Pª 0êÅ4á¶yçàE6ƒà ”Î’7D™ì(!ÉîÛ—ܳ€bhõ®¸ªËo¹¨ÊÝ@s¯}¼/Ùu'ÛJô„±x#iðÙFk`¤j”Ó=—G­8:ýE*öÐÆ–¿¼T6êç,ÈȽ/¬¥±pY¿»O¿pCÓÄ›ƒaA1«Ï2XõæšÁ=¬];dÅÌÜ,–×èÛõ‰ï‘Î÷\Êë 'à)1™G¹›æ‡>ÿ{°ÿæí­B`g[P>±Ì%èKE¬:9š}rí·d.òŶ—Y…´×ËÎíK@hm«ËŸiÖ% ˜5?ž„¨-[zZP4uŽÂ¶L2¶ Yn„Ùt ͬo,vÈyÓd9-”ÿµ¥ $Ëð¯ºòðP‘i )pleLÍöØ(sžþµ<-M¯ ôrü7ZN½­ezŠÂJÚgÓ‚›ñ´ñÕÙ"ËVkÌ©~ZÌ‹Qð.vØ—çú€‰àM5Ð퉭ŽB/šðöj®fÝŒ6ñû™ ÒX²Ë´H^ht ­²ø.ƒ¸Ámó¬²ý¾u„cM¡^ ˜KF†Ž6d×ò!“¼(LeÞä’ìRÓÞ†»ÃýÑÎò·Äðår¤øŠ“º‚çêŠÚßoNÓ!ˆç¡Ý¥­ðŸ8£"˜ow£Çv;Bt CY§!®oÅißO5vÝA&Ã÷¥_a)(qr âNÕúP¨«pôû⬅|k[2Ë$©41&P"ÃjzÆ¢pHÑ#×ç·%;2B&mÎ{µµ!»"Ë¿ÑÃUþ^ͪ%k;¢*­¼ŠkVįÅ2,¼™T,{¬>¾n©Ø"^¨_QºÖ; äI…yŸ6ªC&I+âW½‡”Ë]m'ov±¢üFtjaV¬ÆÕsdZ‰Øü™I’‘é‡ÒDDAã/י󈦖0Ð ´(‚5V=ÎÓÉøÀ +#*`Å\dpð¹å 75 â3byšó‘DG²px1ü¨PmZèd懆g­}U(™Qº}+ã«é2|[j‡«¨TN»4jŸ'ƒ¿—^B”éÀ /«®ueÉMúc2&´È„\PR«pí™]ƒæÙÊîØ›+e ?RQ›[Á÷/;Šñlxñ1—™é# Àº±Ï–Ú°mžŸwús)xÔÅÄ@-• %ê!q+#`Óð•c·´Ù¸k¹ZÜ6w*SaÆ-ïþª?0U¶½DÉÿ˜ý@ 8ƒ† ZO|rÙhõ¸ï«oZ±}&©[u#CÒw*ÌI}þ—ë_”ðê­câ±BUqj"»…¿FlóJŸEÈ\™Ãà5 ìŠû:wÑF9b@é°Ëß̼öÃF /ÂÕAïpG4Ldïf«­¥B›vn2´î_a4®ü8Ñ«/j©…$ÛfÕš{³KWvµ7‡¤ÂMW¯ô¢wñ£Ü‹’-´eÕNǨ‘OTžâ¬àùù[Ï‚Ë"Ëo8A7ÕØ³¡øNZ’ \©l §2¬Í[¿q!nžD Ôî§²Gå«Ï;ž/¥‹\4ó¯)€p[þ‚r6k„Ü´ˆø|bßU°M–§ÄΟ‘µ)üZðm-¼!ãY"]8t}~;•O&À“Ù¤’ÂdòëŸs®[ ð>ì6í7ö¤£V·Ì“ŽáâZ/â¦CÂcÖÉþ‚äPÒ©1þˬÿ¿üõ¢3:Ú§á‹ÄæÑ« `4¾#͹•âi–vøÒÇãç¿N ÑNwd%¬ƒ-#v–#]; `ÍÝ|Ìà¡AŠÄM37V#æw…šˆÛþë; ØÙp5Òoœ¿ùûéû%À>ÿxOï+tÞZñÁ‰H(ý­0_|Æ,<[P3…‚Š»=6&ó •;4 ÔÊ¿pCp\8™ÍÝíFõ›ÚÈ“ûÌgju1Ñ:xÐ9”ŒªäBÏÁTú–wŒÛ9’«¬Z´óXWñ±½ÃJC¿ðÒ0€Z‚ƒ<È7Æå³cU#®°!Ñ­«éŸ©ë)Œ¢îmwƒºî„Â53W«Üî°yO1dùÛ[sÏ’Á⥔ýåcLÉ[³LÀs§¨@'9‰ÆSFZÃëW—+ßäË|Z@ýÇd{–„»fÚW ½JGoz•ï°ëàôäótäM°ö ´Šð³«F­ _pu›œ°ß~HK[hæðz¥/¨ˆŒNÿàt›ÍõtMé 8Ìc®Ûö‡·d“Qþ§‚@qcÿx¬Äðxqlã·>QJ·S€œ¯fµ%3Ø ¹`”Å Ú€‚£Ò? ¨hãW6ò¾>À2šm@îЊUÚM ¼¨ß“(Š iá°(nVFá{= 5+ø9f-2å±ègŽk´ñ®Î4×»€©vÌð*p2ÆjöPψÑ"q$TÏÆ(ƒ§Èçg¨aM4µp–Z@f®H–?'„Eñ&ÆìÓw.Œ©ç5ŸB¦§CG„*È)fÃsªjgWÈ•`áâŸ÷‡‡¹TÛßD·h9ücj~ zñJ.#gÿr¥Â:ëGèÎÇ Çõõ‚'àAû­oK*¬ÎÖh‹£¯b :‹l±QÛúà ɮÎoË3\[UcDƒ§ØM²„šÅ8 ÂÓ™ïºYsà(0bÔñ'r©T6`zñÊŠHTÓýëMj¸Y>Y yúf=M¥¨nø¦%p/™{|ójPòüÕ¯rªv@6‡ˆÊušRÿÊj©·)eW`õOXÓÚk°•LWé6prÂCèêÂŽßk~Þ.zÏD¥×F²Yy·õN{«‡Ëíú~êš–geÕRþ'{yo ÓRˆÿJqàf«†>b¢W ¡ÿ³ù ƒâZä£X2Â(*K K¿öŽÍ&ãŠOz+wpã˜àˆæPÕä¬0âBżÒÔ|¥Tzb¦ÐÎ8-A FJ•×&Ä µ¼»†1õxqì¨:š²@eÊt -§Ûqýæ:3 ¤¨ãÂäÒ˜ö1£™Í%îNr>’ÙsÊZ‚¡\¹Â‚m¤KýM·úÏêÚLåCHEÊ­Ü_ÆXÒ}ÑYl)Õcg“»,OïÚç¬Ü‰N@6jpÏV?|ZlñÉVy²t#\3°âáVÐ|¿‚ý9~ÏsS9™c@Ê¢‚-š¯‰Åh÷yÂ0íö—M¹áV¬oÈR+'<ÃÍE/9£÷}•0ƒ•¾²,v8¨’ÃÏÆZꥶÃwôes+Žk¹¾l> ÚlãN Ë@@‚_3àæ"Uq•|ëÑ^–3Œ3ŸJî_7–UûÞL<ïE¹íPI­–?9àE/¢!“» ²³ïßÌù Ÿéœóüô`výT}ƒIÓA—¹ #a¼ÇNÎhøp°y¤CÄ0Êl¿É`>q¯ÉB‰³`¦›^E5Å~·%úRèê€È!9¨¦ÆÈq7&Q&ÌqyÇÿTŽáð ˜}£-!Ð:]KÙRt(Pâ‰lÿî°§côÿ§?¤•õ ¢Š]’HYúqÊ5…ºU”(‘|Á˜jÞH¬ ae2F´|dçìüóA±i!RðâcàÕ‹UÆŒ–òw‹<\·ïÂ:k†éOÌÆ0`o+¢#›{?èˆ&Oã)S‚wž£­ Ýúu`Á†>%ˆ)©þxŽUŒS6Ññ‰mÿàõwî[9ÿïtŠëb )Ùvz@Ì"€;¬m³/ÅTÓ´Hh@›gç#›d‘®Ó|Þ<+‚F㎇|ܧ²¬ì™µKñ?Pöè);²;®^J ÊÄ!,Rùš–/ãíÅwAzu.Îs5ô[.qr¨ ‘Ú~;ëýG0Œ«V48t¶ Ç †üTr§¹Z'*žGêï[¾IXNîÉðeÏœŒ5ˆ8 v§‰r¢Ãxæß»â¨#2ÓÀ-¦~êÿÕó-‰z‹7Û©%À<~Í®¬NáDìÂZ­$âøoYù2–ÜÒ5d²¡6M2‹ÔΆ÷á‹×„{p° %­¿_Ÿ•¯”ò!N¢Ã£eCïÆW+Ê6!–él| OÅ´ÒØVÊMUÊ/Yê¶ašêÊ e ’\}nKt7å!M(ãFÅä$JGî¤ûttXöçè¹"]×e\†”·NNEr‚ÁˆBõuJ´Ž^Óh"ÇtvC„uÄvrp%9!çÑl;OT¶ëñr¢µá&+W[H¬gïs•èçÖ©ïß¶T¶¦<á洷;ð&r I_ùÇ}¤ZÌ{rm'ž@Ö©\ŒBä eø'¥ÒÀ—˜þ0êDÞ?Ê¥9Qà>î ôäsÛÝX;« ’á÷w"?H¶:W ߺ]&¿_:F¸¸cÕç®% jþ¯g쟥\{P¡=/–r¶ƒ¶z©!`æ}ªÜû«Y‚çª&Ä/”’©,$ÞÞaÿÖ@xNybzñq0„dqú¬!†^<Ùœ|Ñ3ðêzO2SK¥XæaÍméí ©"l0ÆO4WD麰cº«9eÍ:¿w}¥t"MD›ƒ®#\…&šR`„ÿÅ›šàx]ëKõO¤Ç ž29y¢¸“ÿE1ÚßCjéMUøÕº$‘±=8ç0KO‰ÔX§:üš «Û§IÖ-ü8ýÈ›3êø@ >ÁÊ\˜ÿs«Eê1—%£—°ô¾3íÓ¬´¹ûúj!IÉ 7è³%P£í7ðÜ™Xsdÿ»Ô½«ë¤ súèC9„„`“é¶%Ù,•Y‡® Û‚ÐŽNØmÑ!/}¥“­x¾~WC™¶­Þda_{øßq9´§¾Ü¬ »£4“×KFÕ,ºýêÏÓÛ]_j3EÊêóŸˆàÂ=¢­Oœ¥i%€C¢qtÕfë…A0Ñ«MN˜T2>a¦À‰\g‚$Å+LÔì\\Ø&¡€‘y–¨Ðät9¿¬ˆƒ"9⑯,E‚ˆà0¼Fø=˜CDo⸠˜ßZ "ÎUì‰çŽÒXܪ‰y“ hQ–̇vŠq®è›×jp­ Úl&5uà® 4JBarõÏ;¡ÊGèÓ‰kù  ð¿ƒ77tUãeóÎi»ýEÇì›*J!ÍQEþ SÝ{X…Ÿ¨¤½8GTP#lQ§S9šNÈV ý„öi¼ë§Õ·mJ2|Á¤Ÿ®t2@¬ Ëÿ¢ÚZG$ýºî\¾8±€ çàm¤ [Ôaáê›SBͧ3Ì4Ÿ:Øp±€ !wÉT;HÿÔY<»üK"gÒÖ¹¸ž”E«Í¶Ó¸Dj+ŸÁŒT¬Äþt.¾¿ÐXíño }e_·Ï@ÂŽG‰%Fšt¢fx@)&6Äíïu0@K£]§‚4‹­þc*ÕG”}†· º¢ÇqHdãMé f19¯I›P4ŽaBûêÞΘ6ŒÏÄÒ‰‰-'¢£ºòš\0r!wŽ¿ ž[i{õDø÷Ëß®9Zû¿&‰q—ŠùÚâX¥'mŠpOÞGB¡ÝÒVôÇÌ Ön¼¯Yäës°´Ý±äždGà 7K;žá@¿ªƒ&Ë•ùµj}Ù 1± ?þzòŠý – 7vØ&l’òQ‡iŽ`Œ+EP2$ű}¢Èn:ŒÄ‰÷µ˜éÔå,òjˆÎ­¹ÁqFæu œgǶj((ˆÍ/›â¿ôáÉë¹ÄûhE ÔÁÂ[y=,×CDaÚ(Y/Ù\Äé‘Sæ…:­I`t£OqA‡yã.×aš9Ö"i!ˆœÀ“í|Âñ‰rÌ¢ˆ¤ˆöÿ§±í¢q¤ï°R‰ €UAížcVN^ž!ŽóÆÍ­?4EqëJ=±ší\ŒëƒÜVn.‚0Ó{d{Ònà‘X£Â)˜™ˆôHC\LðL‹ëãX6üoäãöÈZHFíùÕÓkc2- tÞÌÏ6È&ǵ¡y÷3Õõé‡Uªç惤ó µs¾ —º(ˆÔ3 ¥Õ7Ý»–©äªQTü"ŒÜ“\Ÿ¶8aÝUÍüH8…êè0fÔ6ÑX"¥0,á ?js¢žY³v“°±9dÎS#2·pÈØÎ?iPû½z£¶^:«¯‡JO»ãN—Ùñ´‰Kñ•°e$l ”1ßGW‰×¯¾\Ü©}×áÛ.É—L"ªóæ[‡½#|‚— ÑW4Òæw’¼+žšlµ‰>o*/–«"hÖ£œ±Çò— ̓Ü=ZóªSª#¥ꦨ²=÷î{¦'O õÏ:Óæî=Jݧj ÇþË¥á=bU6¥¬| …2ôt%lÒŠðXï_Ú™ˆûÌŽ3¸ ¢k‘[UbÀcdÅç®Ãè¤ât/ä‚vX5ÒâÓt›owÎÀHƒÍjy³±¿û¹²#g êÜ[5v”b¦p?ÕC±FbãÁ‰ðº€m¾3»\Ý\Ö\³þì\e ½:Ö JÇýI,¤‚'|Ð÷2e®˜¼–M!$áãLn³B¡V(÷Ռզ$ÙlfeʦG8¹™o_¥tRß‚×ô11¹ä3Ô˜îM;³¢k;žò-ݤö˜B™2ª¶PPô˜²¢y@új€¡é¬ Bµ(qt+¬9–R²yTn×È»ríD³ôާ¶Gh€Å#¯n÷Å bÇ&]7f¼…ZzàÄå6úà…æ´*¦·nGTƒiw–#ÂÌ—ˆÓÕÐÜžÜîXASH `ÀéWßM?R-Êè© ž7ÚgµM)œã³ÎO§j Š­i@I5Ö‘­Hì  !$MâUǟă<àIÂ@άZ'âà· tr[I¨:J3ŽÚÕe_ÞÂuÀÉ·ªŽþΔ­£Àð»Ã«¿Ô§¨±Ýö0î9´óÅÒDÌéŸÂÊŸ +´±8ÇYw0Ž/rê$ãÙh`}°°ª¿3 áL$Qfn¨/°QZaoµªÔUûl•7µ‹¤Ì_ÛCЄ^>aëÄWÃõð‹Q!·~å$€òBó0õV¼1 ŽaYE.ø=¤«ÚîLâÅEB”íÂÔÞGAî[ß—Róðq¯Á²R~äm*¦GÖñôòÓ£¤`ðKA«H={øk¤ /|ݼ1] ÒÝè°h—Þð‚wO²‘&èø¤ƒ®r£ óȾφ[FÝ«ñštÒ†**ýK¥ü‰öØ…Çnˆžl¢&Y$(''ÙÆefê9 ’MGc‡z»B-QÈœª,ôËø,OËBK¼½1¿ûͧIÆFŒ¥?[ê7¢ ‹EQqÓÍÖþ^ ñéŽlÌ¢*K=¾†ÞT{ïo Пb`è% ÖmôòS››áã½ l‘zPnÇöÞ“ œÞ*ó‹ Å\QUÏ©âˆqÓL¼9*‘E”mï'™aàÄ;)¯! ;sñ@ ªLƒ#,´¢Í–¦ õlïi²0F݇Ó«øÖ!Ëûv|¶L0ZG>ùf5f¥šiõUs(ݱÝÂrÚ@ÛÿXS¯ñIšt_ô/Ð*2â÷uûÕÿ&¹$Ö‰é4íŸ0ÔŒÈÄYÑ·`áBG–ÔD7å|u×TªÉ(É„Ž^-6Ì} «g­mËx- æy@)#’w_«ƒVËçv¨“ñÇó þˆrfúP¾ i-«oÚ÷@ ‡ÿTÔaõß`#Ì‘ôÿÄïל‰6¯[ Ébëöyâ©o‘lćûQòêÞ*~Ä ä?ec2C{¡Ÿ>´È/¸K¢ HœwR¼€ÛÎã-Ày'ÑF¢Ú×õF™D76œˆ_üN+à QÝË݉Þp.êÒ®©i‡OW o©SýÚÚ¿ä>mŠy¬ÄУ4)®RÛ.”¥æc–±{rÔ^&Cîu°¬ž¾QÙÉ6 cYôȺMëˆ  •øåMù¬ŠhløHfÕ5hfú>Sâç|‡·¿û R N¬ÑO±ÇIApmkåéqiÓêrtùÈÁràën“æ 5“øª³zŽ[Ø,¢ V¢ãnéeï@õÕ%çw›°]Œ|)…þ¾îÁùM#ïýó¾—ʯo³ÚãÆç’Ä¢´‚ «®–gãÂ|ƒ¶ŠWf Âw1I2Á rªë=N¥t3p,–TÙIpð»b¯6¯\¥Ù©Êp$kXëz2‚,ëröƒØÃßà=ìäÎzAÀ+(tE?ŠpÑŒ¤ *«¢Œ8´̼¾%»ÔÞÓýžª–[©§¸ œï©1ÕH½ÉÔBb~fí?4vÔHjEUäpßxØ¥$LznP"Z¤7 ƒ·æÀ§«æ¸Î¢³ªÃ2Þ¬Lö¾ Ä@ç:n<©_ƒU¹¯0‚\œ\,¼ë÷nk(“"\Tzæ$ưŸìË÷Ùµ¤Å.üSÏųPï—å°Bþȹòº–f É•·«•Ö³"äâ<ý¡ˆÁ¦$:Û©À YƒÝ š{3´Î~2E‘þ³–ƒr õB•Ç™`t¨ÂqÂÎÁ¤ÚžÜœœ{…Ê£!eõSs÷hú‘»/á ²Å«4øt†ÀnšÊ1ÅË©+4dõÚ­tÝÖr!ÇŒUûõv’WqŽíùyúˆÙ(z!>©[kI¹Ò&ÿ³•…ã'ÄM¬+‰i'çË|m¶ÍóørçŸpJù¨ãk⪎*ûË|¡)ìëÙ: ˆ®Á‹ÄÐÓþ^QGnk1ëó+4Ú=4ý;pÌõÉ£ áù™ˆCƸÚ>ª¢›ôÎ3{Gì]( QÃ6û†…Ýþ­¸7)»šˆi©ày§øMï6aîr¡ù«,ñeM»ÖîEi¢læä;• ½o0 -«,Œ«Ü²þyD<#¬:WYUúï ÔL“aXJÞÌ“e×N]ĉ ?9ùñPUœ‹‡¾õ¹…‹(Ó7ðtÓ÷a¥|ƒ¤ ‡¢nŒx™ÄO3ðää–ïÌñú,¤÷οç8*+&¸•¸ièdQªD°ð2ßmfûð»óE˜%o ‹M°’š*~ºTá³ÔãÛ:®ü«Xm¤èyòÅKŸ^ÞŽMRíüYÕ,ãEþãfC®›rf¼<ø¾#µ DvÏ#I¤aÞ5l¯\U8ïŸñÅ0‹†ÚL üV5ÛÔ1IžH[ \öçÌ79,Îrž”_È;ƒY^ÀÆ.ÛPù«„ÜPžñJe·¿Ã©<_9aKþOöë6úÿrÑ,&Lf¶.µYetŸô•ñ²>dÈù/=Ý]ÞªÔ<{Ÿ®I:xâà{P2‰üž,ÐÍ]Üáë VnߜΠ±¹t´Ï½„&‚©ži?ïÂ¥«Œ€O4cpŽÙ™Ç zžÚ"×´Zí¤aèè–Äé''\>ñÍb"^û‹e]ÖB ÂVÝ 3Rq¥eÈ™B ô~Õ…Ú›;Øû®™™©ÎÀÀ­qúA8u îšî‡¾Ã‘ØMDsnOÐòþ×®ò^êáçÝëË.–“?35¨Æo@ÉF6úÍY·­N‹)¢4`Û@ ƒP;úcAcÅ/­7r\5/l¡Ü}™W1ç]l…:Ùi¶eÎaêAWru•£‹¼£l®uV“½>pr ¸¿FÞuÝ^ˆC3ó¹ÉÏXúØSWþ`,¬‰Plôx(ü_å»P;ƒñÃÈZ3wƒPŠìôA‘qW÷¤iщx¶P§!ðlZÂÕ :h­eð(™ô[:†ÒáÀlÐÉ uÏU|©¢âo¡œ¼€ÃaÆ2†rûƒ:åìG<­˜ôl>xà qÌ:3ý$²sÿ;|Š(Jr(fn6+úRÍ´M×R ‡$hb=úõí¨Ÿ“#7 ¬ñ&š…žR`·Ç?ÃàÉyÂj9OJvÍ”X÷)Á*ùŒM ÃVòxrT7..£ôjõpVøNÍRˆ{mö^2’No {-ó㔳K¬§p§:ÓAȲK›7¬ŒLÚîû´’ àæ0Ž=y£ìS—ë{Òz<‡ ß’÷§‘ÕzÉô´y¶=ø%¼…æ¡•ÀUõ±ÕºÚT†#§61ÓáôHŠk¼ˆ—þAá§óNoã©G>û‡©ð™ 5Žœ·1¸‘UF H¾5øˆä2k¢=ì«313INˆ3]H… Òjƒ¤‹á”C!úßùÔü+ƒg²ªŽÙ“¨Ã}$¼~Û?iФô÷gŒi@hÊlðú ~sƒ“‘û·îbÉ-„I+î½]¡Ç™J4æ¯ñÂÉŸö…§QkE;€ hkÙ|­>X a—!öÄOt‹›œ94Eµ±ªRlº[‡m±›·ïµÖ_ãOžüƒò±Äø©Fu:™úä¦Fªæø‹}7ž+V°»žÿšýäCŠ·›?’áðý½ó®’Ê3rtùlygª¯¢“Z§OÆæûòv_vE¢¯ZW–wÌÔ@ç${È¢Ea¹éœ %Sa•‘Âj¹·`B8Í1bl€ÀæD¹¦;àì±aT¥þȨˇi°,š4¦ƒBDK~¶(bœÀ¸Ž3Î`ãtÐ ¡sçd}»Œ,¡¤†Tƒ~cŒºÉub WÍi›¯_׊fÅ9NûÜg¹hh¾¥'£È˜,L’”Ï£¯`ÃݼcpT7´OõÝeôU JŸ¤É>©2èØ ]ÕEÎÈf‡ÀÙ±ue_½ÿ0<·Èï‹B¢C’¿xE\QíOØ{Ñ8‰ÀѼ0~"‘´œ—™9¹~, Ç5 /ï òöWŒ†^ŽÅV €—’GL£ ¤0KÐÖë†H‹.¸í”&Ï€ý€ú Ø2¡Û( ’õH²ð nJy§„Ç@õ›²C®:’A;ʦ؄IÓÝDòÎJ[©øñ£P·¸¹+A¡O7?Ú$²:jyÀµã&`“(¦GSí· Å¥‹ØøY"ud£4 ÊÑäDkà‡úΔ‹m¡T idýÜ ¯ГJ >b™”ïF‹ì)`dF'1ñÉh´=ÿ.î߯+Rž,¬Ï çk:& |û^á%§{¸+U#›»¯FÖ5SÔŸC}ª!TîHÝÊ`…ŒNð"@©6¤Áu\wcýYØy“36*ûIŽvE¾ŒbG@1Çbkö’Ð_Ê41Jɲ˜æÉÎHÆ÷¤G´Öx¬®6¤å¾»#iqÕ³4öI˜_¯ƒ}·ÛCtôàfâz&ñ¦öAZëgO„¡+l=ìp—ó‚ײ[«GXdëMx&öLY7”ïr”b£œ(̧ÂA8¬mMDx‘ÑT±~—ËÑÌñx!s«k¬23Q£ê‹Ó^”ÃBBZ‰ï(²®´·…l¾˜i{éÄcþ‡ÝÈJÁ èUX(¥‚8&þJ”¨t¸%Ä+`Û+¢Ò4‰öøÍ‚Ö2?ŽñÎÁpJçõØ·êüâ(¶½\ Á]9lûëZéÚõP5Ž‚WlÀ"eF¤Ì-3ˆÖ8Ý£¤ ?øÍ¥±œ^Òêl(¾˜Τ #ן5‹é·[äš"ج±Åw1ݼñáõp ¹jOMf-Œ[–é2¸ßŸ$¹}nóI4ˆ¹Æd.ËŠ:Þ$w±dó7ŒwnÒšc /O<@/íÐÌOÑM¦ð §Eôm£ÏÑ?Ђà¯­RϘ•Dð & ñÚ¤¹rRì®âCɃû:<ÖQ²õ½ã·›Äop^!8cÚ 0;òõ¢ò|h»¯Í ?ºÁÕMpg0çSOlŒÐ™¥^•¤r}00µaõ9@äËKކ3/˜ˆõNXa(k['Ñ¥ïºB2“KgBBÊ%á¼¶.â:“ÈÍf$våT~ $'W$‘@ýO“)˜ rÜt¨¬ÏçM¸©Ò ¾ºõyŽDæºMúløC/zÃ×`d=¿S—zq&¸¿²'7å@ ’ÒAáÿR:dÿx{¸e 2{J´ÚureêâJŽI=Q ëQ,~Ï”&§LÕKÑàB ›L›€Kkµ/Ç>(uªCªøí«ç’ª]çgØj˜…¹P‚.—8»Z8tA¡ÚÞáOßãL_H„}WžBtöG ì¢²{V ü/AÐGˆ’Á‹îzJÎCC ½»9Ùྠ«²»–FA¼-cC·K,xÀÞNzRtiÁ¶óŸ%¸B¿;é䑬ÕZØÅ·”t9m=à¦ce}ëaÝŒi‘D·Cœa“BIº)ûtÚ~&"ŸHlR…æóì§ÁÉ0Ÿy›ÝŒY¸±òQY6»kp¥2pZ•ÅÑáž;¿{Yliøã«k¸ þuà³á}´®œ–%Ó/jÓqtZu¨i1RƒžP¨áËÈw}©þˆp}”Œ ;ÓË>±nDùC&£Þpê5KÚ‰ zalÊY+š„n Ë$Çí˜üë³_.É×ÿÜ£ÓüÛ6‚á“3”mº©E¢aÓ€£6‚ z3“ZCJG{YPy £bA’iú;sÕÅ^¦‹!¬^ør!”ÎôÝ}Ùõ î,¸ÝO¥ö€Û]ŒÄ›þ ÞQVû•ŒF‰íÓÇcʬHéfš~ƒ5±>”Ú»ñ¬ ÿeÌÿŒ)Ó1jcû.Œgà!˜œf@¨|ÒE±E|?{ÔwGBY°ÐŸ,Ôà¼ô ™ƒ§6¥m<¥>!¼fÍ⃢¥¬SÛ8çRud-J5t ´·~p “†2Ú «NÁîOuDMYùDUõê? îëv±]·Gí‚Ê~^P ¾F çšQîÕm~¾Ìÿ˜p„ÖVGžr*=·%)–Ô¢%ìgâ}1Í“ bˆÝó«Z†—{•Ï™±?!Õ [­b˜­ìªß^[䣪 ¢ýhC|g.Ëöß ÿÍãð•wP]ôß¼’L*ಣï÷9Q¸ŠbxTgü?ðâ¤b)Ò}§u1Û‹ì7µÖn^cþ—H` ì=Ј÷ëmªXþ$‰ÊöÁéŽdºdÿK纡u“ å¬ÜœFçØüÎV›• %[íš¶Û*ƒ#Œ7þðq±M¥3¿ÙNWóë7‹µíl”½³ÄTįõH½o."öêJ ©¨Ö‘ÆF RNÐù°RÃú®¸ÇœËí¼·Ø$îÿó;ãrÆ`W³• F;í[ÞPì=Wº56à›á¥ò#g¾½é~μöÞÿHÙº¸cYáo&ØÔI‡…àucBú– Ò#‘©2Ü›|dy®aóøAÕÀÿnU$´î©Q£qjˆ'M’‡p!Ä~ÕÙTQnœt“Ôã ßëÕ}ĪÛœ4Ç8Ãù‰M¢Ô3£*Û(ê}T Œ‘`ñ pÂû (¿™é躛§Eª´ð…J‘Dùjä%:Hsê0©ñÛžÔXÓ¾úócíÈÊΦ>tþÅfý› CJBª™Ð˜ÉQᦧ½ð `m´Á#:èrŽ„;º+uÏ&Ta$`œ™¢’™ß©NÛ kÁ á\Vþ•­ùŒKu¹¹Äÿ ßIÒh'~‚xSd%‹…üY."ñ=ë£ÔÔš…ì9b’ºG6N{»cdðÄzÓ)¿‹tæ&&ǧY“^ùÑâ)pq(ƒðνúÓLå|Î#s#úMœ¦ußµ È;ø61 ·ip}^C@£Á¢ÕŠÕ’Œ ¯5%+}¡î<Ç TaÈ«”œ€”ÊnÁù/•oÿ7QKQ^’4po¸…D’‹ÓZþšâ“´ê {n³ô*^ÙÖ·ªeˆºo¥ï ÍÖX[~™Mlá•O3ó„ÑÄœÙÕ0±N{£÷àA8FwòÜ¿ !`T¤™ %f9·MBõh%rz|ôàÊcG]–Rã[‚%Óp‚\ÖY©G»“l²$ÙØ“@L//Bv.ãÔ¾Òùu̙ԅ”¬†àÐM:×1©™S)ó†×ßôŸeæïo…7Ýçs(ºßå^üd$XR™a}ìÅÈÛHM%B¹…Òî¹nKP·Í?馣|.EõÜdŠî¢Uïpûß_»’ãwÑ1 ˜PI;ßÄKF<a2KR½üǧ«JfP3Cn:E» àNqXÁ­Y¹´6é™XØï"»¯ 綤½›\ÒÁÄ”²çŽ TN w¼ÍŽÚûú À–xc7Z»Ï{Úë'%ŠÞ¸G®”vÌoÔòk§¢¿>¨×µÔ˜Pkë’› ¼6Õ«6CUåür¨k¸$´ üËRùöÃR‡ zÈMûˆÄy¼ŒÀ¬Ò¥m篽å!”‚I{²^féê£$\DÉQÎñSÇên9Ï#Àè ÁWC¼è§ƒkh1+!ò±¨"RJUSípʳ(+o%¢M£DBôÝûbQºˆ|rwEf_­ÕaIªàΨâîbÄË~'ä'eŒKb(©U¦%WAŒ·;†™F-èõ^´t*’Þ™ª•á'¾ÔŸh䫾‚>ÝÌj#(ißý¬]âWar2Ò;!cÜÉ\ ¤Rá¼ ‡ˆdd¡¹‰cróQZUÕ¶¬ópiŽM\vUé´Vþ¨p^ô‡«Õî•æØÌYg~—ý³´AÒnG¿d•hÙÔÃbèA6µ©ìî/4«ýbâÛØð÷¡CYs7/5Ó YýΞ^Ø€ø…$xyíÆúvÞ„f¿Æ¾ç™a8Um ÔÛÅ}pùÝãþUÑÎkÉïE [ÃŽÃ7 ä5_¼Hø®§1ÅhOWšW}ÀU!•±2Mñ@NcÅÊVrÆÔTî_5'–mìº(—\i,p%K·­Ð ØÇà˜’؈7oT®?«P©it-ü„ÈJH´çü(´Ê%Ä`Lì$ ioAðºfª£|H­d£Ûþç”H¥ß ÁñœÍe?É¥¯P™ ¼è1ØmNjD þ8ä¯)ü9“YžKÔ„UEhüi8ç“"Á4_³ ©Õ€4\ZÜ‚úp¶ v‰ûuü3øúµûÑ(õTNU.H°áH}*‚ °#í„öœûòü5/ VÂÌw±òr|¦f<ØaÌÎÍLМ@‹‘ê® 3bê Q«CÚZŒREi+kc|ª'T~¡ûˆïF^]ÜO'MªÖ²€¿š<ð2Å7?‚¼&Ñ>ä%O‚µ6v%¢v/Õ¶èÖ-1“»|š”4EMG=?¬Ûû¿ï'œv†É<¬[‹ùª%;SÚÛȰ) ÁZTÏ€é_Ýâ AZ>Î¥²Ãö=Ǫ¶ƒiëmFỦª"mT€>MSÆ«4*Æs®rÑ"Ê S¹g-¾ûìL¡zÿrÖÒšeát!- K{-~èû‰c{8ÑEE£hþಠŠÕ¦i2n`»0q•árm´ Ñ-pFZ· B—¯Êéé ‰ZÙ}ïJS8½DWóÔÀÆ2ß ÂuX™_\p¤v{(Ž.ÝÌ*{0Ù«á…`#PÆ}ƒõy}ñ¨¤œÛG9ï:¿äâ7ß{/£?±ÔRIxÜQÕKãÛö €Ä‰­Xkɽ ×oyv®ÂÎ!Þ½Mýàô…ÀÑ|1oî« †ŽnÌa6aFi!`ýSéy.j`¤´¼¦…ˆ‹®XnCÕ“Bël¬ì„ßÚì¢3E>ËÑ,“5àúß|0^§x‹wWÿ±@)ó Å*p¸öó¿ïZ ¡¹"{($ ôÁR±ærƒÎºÒoº„Q€‡,3ŠvW…3üÛÀ ª.­• ²¹ŸÊÊ.8eë0ä+"Nè¢Æ_—}ðQb„`z´¾WÒíªXãÝvo£"#Îþ J|küDoÀó ªBv V¦F„±%ÒAù¢k›¶ /24@Ö•€—2ùÖ+ÖÔÔ¹WJJê°Snµ®¾k× ê>‚&òçð è@Ñš)ÓÄí];‚Sû f+}8AúÐ-CÐÈUà+½#ÚÀ\ü¨ò¥Öû^ãÛB\G&–y«üŽ>&Ò¡ÙOº€zì™e ØÍ£ä…«øÓ6k¶÷•®¨!õ/×?Ým8hóÑäÆÐJ¢º†ØÉPª2yJI²ð{ꫨºˆ5 Ôþ£±>Zñð·ØÛ"÷Ö…fá¨*GTZœX@³¹é%¨"”îÇ!jåüàLº ªW»î³o_Ÿÿ`¼³:W¦zG¤LÃ6Îé|ÆÚ ÜGn·«M_ ›XåJ¥ac7KìõEëi >—Þ|…®¦Y5M ¦é‚.GjO,МÊåÊ Mþ­zKžâ,”xëØcR¦#ˆá,REšÖ"Õ»§¶3€æÝe«9¾çç•D„å@˜Ò$¶½}¬w aDV2S^eˆÒ©]/ a 8xNðVö»jR¨x MãàfV ý ¤þ£^§ñô0¸+˜Î@õ;WVaáïj–Û‰—†L1&â®°)'«U`ŒU8³É™¼‰ûiJÉ^ögxMgŠüeYkó–‡Î píd»/$Ò+\À\¿G’$†hkñFÃìWÔ[j"ȱ^|yBäçôz hy×ðe×:5#.[ÔZ»w©-uî·øçñü¥hï`l‘hl{…õÆò'¦õf¥tBÀåíò<<&\µßhx„pËêURa„êò™omNqôLðˆÒïOÁ÷ÊÚf9©4¿t¾xGXp<(ù…ùº„^!IÐ?¥BŸ“?ÞDƃ6^‡¼e”¾X¹Áœª$1+wŸgîyξ"n»!Õ¸¯uê¾rã' P$ʼZ¨ÁÙÆ@2Ët¸§Xƒ É Yé G§‚î?oß\<¦ÒêD!ƒußeû¾Bçbwç(êŒ Žñ-£ùýêX¨°§¼ÌRÆ9_d (OLx´PØ3¨èÞ <С®ìÛÚ¹„2‚©Ì]毥Ó÷|^4½¯³/S[ø¦&™[ýH€>ä /Ò\vH]{­ç„Hïrígbý›l>¨(Mƒ„T$ìp·4¨Š}\-„`›D…wíœÑ¡3Ðá5sOÝT(šl°Gà'œŸT@¸ÓPj%KEâØKŸÉŒÓLzó2ïi7šˆ¢fïëØ±•õhp±¦þÑ‚íœAó¢z‚XzñpoU4Ÿ#.æÆg^=y·”ŸÄðw“ >aÓÖ{ñÄó÷Æd4+]åËföbÔº”ºZ_ï´Æžƒïfrñgx6B‘qPînµR7*6 éU3fÑt'U©—;(´ÿùÄ‘ ñ9XðBçb.—áåä!iŸ6u{ Nèë[÷îi“á}>#ÌLÚ¥ÇyŠH®‹ók“”ñ’Vþ^̇o< ¶‡ýX†ß¥±eøŒ©/çNAšè^›‚ Y“S-ýðŽËŽ¢·VoïnÔ^Þˆ2¢á¼Š¤Çš’QæµB\6"´ÿíTÍ×é¡—%á{­Ë/6åÏF„ƒÁ2…šøõvt‡¶ß¶…Þ¤|¼×JxðÍ”ÿ?Êée¦8ëž´bÉÒŸ*V±?€PpKt!y%¡¾ÁpXÇë+'‡Ú ¤û9uó¤†yþ”™‰áÅm‰ ‘ü»8,Êej‚°6þ”‹Ý4³d;TD½|y5#NŸŸL:2®rÔvJ@±œOBSe |²åt‚é¥Ñ‚ø{os\d·"ìëÅpø3šGr½Šm’ÇQnLП›å+™c*/°”Ó¿EÀ ©aÌûoM…z]Ù¸V¼¬Iá©C?(çgS0H=ÏXÚ—_\QŒÓïŸËâXþU…Iâ¶0g}–‘²¬N®yáî¿ûg,aˆDÆs–ÛsWɽ÷Ô©‰yè`ÀKTððd!5Ô{~¬ŒŒ,9Y -ÍÛ ýÿ8žÛg9 ݵ`ê»!ô„õ€ô .ž’JÂÂÅ‚‡èÉ™Д¸{&Ñ{XYêßl!Âaìiš‰y&¾£t ýšˆLZ$Ÿo™˜·\BÝðùŠÑ“Õ$uir9ð’uò‚uã|ªk3iÂËOyà©aéW<ðûÐ]%çðϦàÆâнÝA1 ÎôáçŠS×k>íåä´°%:Ú¼àõs<2ý[àûà£=’"on­Ãhä‚ÆÙˆÐ1¯Chгuõ&Ùü©·Ùü;áÆAœÆ¾<Ãâ·º©›!½^0* wsòÓÖ²²“Po‰óbîom¾…²ª,•ÝÙº.‡dàçÏÜ ¬ÀXjZ.Rq}iãhÓ¢-‚Œø³¾½Ø 1¸­ ÕJÓͬeðƒ³ •naÎlðî=I´mo%yÂfÏ"1®ð”Gä£J(Hî«XPJÖ‚$˜yg,he´GçöÈ„M€äÝ/!“‚šBk0Eíáaä³h%bÅÇoŵëñeoQ ]¡:ôÇ âˆãÃ[€¾nD˶SYTÊ9O•¢.8#ÁZ})¡ÔjÏ[–AMÃ×3æ JtðÛ>Mug¶/Ôõ™îþÖב ­ð€ñ3VuIÒªŠÇâ[¼á.«Ž5©£kÛ%KúٹзÅW|Z>kc±uÙ0‚ÄyvI!즽{!Ä,ôK¦Þßã­ý)x ðÌ[<1Cl()鬣­.©ÊõÓæÓ+ §Úž®wûÌÓuryïsV¾­”ƒ–ž¹»\׌ØNò¡^'_|qTµÃªÚ}[UDÃ9ÖÓÇ('J,D^s--abé6ׄ<5¤*6þU7áf÷­š<¾M"ð.y/ƈAÜs&6¹ß¥STðù40Áض§{oWŒÂ¼R"Ë–Wò‘!¦!kÙ 1wz¢e"Rüz(²ÈÈ”ø c¢Æ•Z–Ááï(0?ðÏy9¸LëÙé5覻è!üýÃ+¥~ÆÁÍæþ!øõ*åÈ`)WâÍ1MgÎåmLŽÎ+JRüïªØ·íe¯¨÷j`~.ïsÏ«îíàÄa¤›Ä®¼# ,…²ßO”<ì-´{_B¸ß“΋V+kõÔ¸[vÅ8;Ç)Y˜¡ÒüeÔ-h «Ã<ŠCoü<ŒÂ91yçÍóÒo•–d˼°õ¼É ÇÊÀ“¿W8þ.õ³ùëê._´Þ0«Œ)°À«‚TM0Väƒ:TS-IÐÁ¡µÚ>¬óqæ<’²†Ž£´caAM‚:tój<Ç;Ìäí+û¸!¨Æ$ˆ Þy;‰Ø3f½Ø¨Âô<ŒÒC¬ÕÕP¢êIï–¸È*Óï˜8û—”ʲs%ywê]ç£MœîÅáiëe¢¿Ž5´æ]äìÊI†KÀäa{Ð…[×Ë¡©âU öy–“ŽéCïÈaÍä>Ác¾oØ>ƒiŸÚrª«ñnÀ å}‹¹*ßW W|“GŒy³Ž—^(Óœˆïÿ{)¶ØÇ’©¡<; ™ïöýƒgn¨œººÈ¿IéýÕ"_6C;tø$¥÷‚YYí¼é(-¬A4³ Bï`•ˆU./v ®¯Ö˜½dÈ<\‰DÆ‹Î{à¥ÓE©>lÏJ?b^>"ù^ëzºh¿÷¤knÑv2¥)%DØb±—ªêÈ Ëß';ðÎÉya¯­Æc;yíË¿¡Õ±Äý›=«K‹~¿ÞNÇzó‹cµ˜ DÖîj 5]Bôœ¿oÍe"D7Æ+Þ›9*ðVGÿgŸ6ÓøOÄfLR³_bëNeÊcÄÞ¾¨kÁF!Õ-tÑ'à– p²ó ¥mÆ,¬½rø.A¹Å~ðÖr´ojøm¤ÌúA•ß(¸¾¨‹>'1Rwñ ÈIcÖõöx‡ðh.Óð¸e'à+äòãÃÂg~:±E}a&_Îk«dw<œÑ“ñ|]*­ €ÌQD¨ÞùãüÇ'Þ5)­0‚0«µÌ}ÌšìKÛvê¤ø‘³¢`°n+säSÇ m²B{ö«Ê\©]ÔÇ2Ôà£ãYòb0]¸f6Ñ#QþJ3Eìßs{ëË¿ýÆ·.ñœò1 =“íSíÈ€ÕWæà#´ *ô´bÏÝtP€g€a—>èjZHë‡ù˜‰ˆõõI)`'ööí£Ìxûã gqRȤÆ/–´|Wñw,:»Ô©íæŒ+ ŒGÌbx±„J ª´™N;µÌñÊVò¾FÈWv>6kúŸ)ýKºOÜý¾˜~çŸ%>¿w|b8C²G£/p;û¹._ŒTŠŽ/ü^þ +r¤R÷(zâ(±lªŸZK÷H¢©óçt}uÐCrÉ„µÌös–Š»Ojåëè÷-p-¿Ÿ¹LI(†ëøW7_¸ÐC4XY¿E7þªDeÄÌW]ËÔWHL/;žêÓ÷éq²aDCf¯Ë¹R?$Ý—Ÿ#Ѩ’Û¾€÷s;£b«ÈYRjZVœZ Þy„?w–#¯m& /|Ç{þ§oJ¦mëÒ.ë½xJ•Z/˜–ë¦q?uÔ¥€¾@äÇÔú[5Doâp›ï©‹»ÉH{!¥_I]éÈÛ8'”%{¤ñA;î—ײxœ»Ší!u%fW–Î8…ˆº’¼Š£Þã™|õlø­(³mOÝ‚œ$³.þ8ÿY¯LC7ƒuðeB¸ˆlªÅpÌÜ£|[7\ßf÷Qfâëìé yÿ³çÒþNÖßlbQÛÈðƒ¾•Ó<4wÀR …‚f96¤ùUXà S?4Œwp ÆìŸ,mô/—ÎÒ{„L¸Ã§7Ȯىi| ¬ÛA˜4¢÷I¬ûî Š6\Ç ¯“NìPw ÷EPû iMà¤ä‰IÊcH=‰*@ïÅ£ú¦|~ V…Ô’¡³À‹XBU{u½ †k~õc4ÝÕ>=ƒ¶”7°¬t)ËܘTª¥JtÂI¡µvñŒÝW˜:‚HJð›àžÑ0Çv¦ÎíFs*œ.Nß»b·nâZ.˜öSNQ ž:«­Ðb4.¡AuD4ÿ—ZÖ¤ÖúÔš™eð”¹÷ƒ4¢¹÷JòÓw÷"˜H­žÀ¡yŸhpj½ñ8){ù…QÆM#$Â9 FL“l÷ g^<"û'>½ÛÉ8œ…RØVÏÎUªE‹Â/ æù°wšãžÕ%9gé¢wê?­r]™ø²³K 16gÅ1~ÌÊüY¢ò‘0R hÞêP\y'þOÞ’ %ýG\Š´ñ2‡~„dÿ‡µw‹X3œ·Â±‘åOÔ£Þíô+6¯¡CJÈ ïg‚ù]h)]?´þô“1«¬è˜ â.„``þuJ”Óa°ÊDMVn–=Ë;ì"ºÒ#AªN· Ž ¢ŸU¸èV‚6·Y›µ^ùà_¶…ÓbF”"¡·¤=Iˆä2Ý%r,d4kæ6¸#“6M¶è”tÔ•Ö¬%§š%~ÆHnߨ4»6=–ÑÈܶYº^Ÿ9Ã/«R,5Ë‚ ·bñélíÓ1§j·Ù{Å–¯‹Ñ”7©yÓN6«Zˆ iσàAM¹ê¦ý„ Í ª½¸­ÁqÛ_øì.TR¹æk_wlö„6*§ÉÁjUKcˆi g±úp.Á¤ç%*LeúØTÆÌÿœ®ÑJÕ3üÏÇ*/]¤O<4>£åPhþ+öÇ!x9Û¼Vz/kº¸‹Ï8ª^Þí¤Ù½E“LlPQ@B%»­Þ¬ÖK ;ÓÂü÷稰ýþ‹Ö>ØyÚÄðï£xÄ—‚ƒ†±‚¾-o)Vµ_*£PÔ¥J„7É)]ìJïÏÑta@|òOü˜$8õò?ÿ¼:›Z÷ÑGj*ñ¢tÜ ® óåQ§Jxü 5!ÇœYÇsô%J] ɧǼ=ÛMÛŸ¡Dw³‰pÕŠk!Á{Ï`œ ¤3ƒ@Þ÷€êm•ÏkÑÚÛnóI~=$›GìöFOIÎèÂû»$7PÍâϬ[þჵ¶,9ÕÌó?¾¡‰’l—;à\µ©SÉ ¥ ®¹Ì‹?g]0a]XÓ­TĽ~Í­’…„%D(.º>ªž«ýºÛG¥]Œæ˜†CaÝhÓŽÒÈÝGÛùÛ4µ›V²ÀP`޳x)°‹ã$rµå‘;á]±¾óøÞ]^Ïbl¥^‹Ð(„s0é_•iˆsÒY§¹‡ïz¾ŒØè´´ÒNÖŒC>:Ìwr± ËPÎ]ä¦ã4µY]PcÁè}}£ææ^˜F:ò é©Eî€Ë±êÜú¢s¬H /O%SL1x`Œ?% =³™þçÇûPZUw/ÿüÚŠ%žqH=)Ã?yMë¸fœh–«¥è€×{‘IĶCË㨀€©¤Ò’5‘NçJhÝanE‹0&Á9xk Ì ##-¡-° s–ánJÂG¢^°ý<þ#MQëÄú#^¼cnñ` tsHÁJµ vV¥¢ ç9wÖ{,HÉ£%šÉ(Ê»“ØxÂ"5US1‚M®ˆðôõÌiäpÉ;üt8*%ÿ.|L…9]„GÁCì*ã5©»•TÖ¢ÂtÞjr5.µ©§¡È¡¥¯{ËExFÛ¾P1ÿ©Þ¡ ³X·`ÔN©‹Q÷z šþ4—ÃYUD6ž2ú& (4ás'ZµVu™MT›zÚ­˜Nß²°ÛÝÇ; ³}É÷ ùÝKÛ`¦}¾'FÛs±8À€ÒÅaÍB3G•=wOûšFLëÎr°^÷†…‡¥+¬®Š?íÛ“­Ëy«« +HÙ‚î_'Wi.‡ôe±Š¤—µšÖûlÀÆrOäp“ <ƯڡÛÙÁ+TÈ´Y„ê±TP}.Š7$ ½ÖÞäP]þ}ŒÒÓiÒºlgŸþ”9“8auŠžgV_ olwƹ`€3R¦j,`=Ÿ÷w•j+ (û„euͳÖ9Ÿ9[ƾèI\03U°Òñ`û”¬±«Æ2Ðߤü^7¥€q¯Iê߀BÞss·«o^ûõe%«¼þÍl<>ï3â»Ê'+´Úó˜йØý…[©Z.lñ7ӃЇõ‰F©´ˆJ̬{Fð>yÜë¯4^ûŸ†a‹ yW¡ ƒ(ãá& F’;YFd#jS"w~ìpw,qëT=m¶´¡™)ß óôn9kô}T‚KVŒU"Z\ÃãŠ]n{ä–IÃIíqX" ¯4^šuã×z­õ¶·æ2Í©ÛÝ9C„&¶ ]àTømú+–²«~Àt£9_ãä´¤,˜Òß:;o&àÎ:vdxðxÄÄøÒôwàÕå®™ 0JR|Ö'›jY¾Ê…Ø¥çùm‰¿‰¼EGøgEÉ×ì$ç›&L£;hʦ…Î ã¡á°-ñ$XñÓ¼ƒ½‘ezº«P‘òõ]ù0xéz`ÍÿJ¼ä ü¡G‰‹axO¶[®9qs‡fkº zfÇø„+ùOŸ°x1W^ÖÚw«Rve¨¤[ÎÀª.hÆ•6°ãbqPqk!bÑNd$u rñÉ‘Ž2IÖý Ô‡ª”Ží¬³‘cîjOª3°Kc:Z7©Ž˜˜ôŒã QàNSäÀÌ| ]NÜÀ’s’½Æ’øïA—˜'[JrÔ›LŒÞ¥Ùäƒ<Æ0›µÓ/ûš«“µ«Ósžšo8]¦ƒ„T|=1º=dP¸lµ1ZyMÂn…!Ã8dצ¢ÑÍC'9Ø~m½±p¥½Ê,W“” í:NÚX29‚ÆöÞLß{tb±»ÅØò8œ‚?W}~!r ‘E‹˜V`Áî èù¸èƽ5Kâ3/Š le÷“sª•¿ˆ,ÚŒ¿»Ÿ‚¬S6ÛýslÆPʜݷYŒ­WŽx ð½©Îaœã˜’_¼»Y,Šz]«Oåš”¬;β†8”óqt#ÿÀ·`¶ üÏɄŴqø§Nö‡l–M¬¼Ð[4È ¯—º9Å…#õ@ÍÖ¼ê~².°,Rl«^5}qŸ’oèuÔ‘wAÀÓ¶O^™ÛŒ³&Ž<’6Í\6?#]àC¦ã—µ­ÜbD" X¼“Š5ñBQLÄºzèúéôwz"LšQwXÞ?ÕùÏãUׂ{ ¸¨l`lWˆæ0Û÷€ùœÝÏ„bŽˆ…§ÕSQ¦¢z 5÷ÀàþHݽÚúE.Sp @'è{Ý›µHVÞ|ô³ i9‡æP±ñ!†/œâ³ô¨-Eê)d™’NZ“t›#CˆuF€Ï¯ÕÈøeêiæ{¥Z|Íö0Uþ›+ ©&ýZ±ÀM’#Wbpîƒd\TìàÍÙÂç9ªU÷™ûB§0©ÀùóÆÝø¿(Ð#j½]æ9•k£<˜µ'oéö@¹5cþy¾I"ÔϽVxkçÞ,îÑÆÊÇœV‹ænÛf™Çy'g'+~Y F<<Í«´WÿìG’Á«ºbwg¬Ù›ã: \K÷R( •SÃÛS íÁñ—:Žž[Yž_ bvKNÆÆ1%¡X–NŠr™äGÓ|-“C ~Ö|2ŽÞêèÚ¾Ž}=®±N¤åtJ)Ý!ÐdðºPÇcvIç#ÇÉD*꺘‘[D÷¥’³ux’þ‚jŸÝ¬x< $ ˆîòt4ý&k·oð z?ëµ-•8>‹ÇîDꙜ¿øE,ãßl‰ûoþ.'˜"Öb"×yt˜ÇöˆŠo"úYB{ú§:ÄÔí±¡!zxÞCw¾åׯÜJïcͶîW{·([ô JRJÉè_dhèòCUŒè\…XÑÇïûDc°ï”ÒÃï´ -ƒuh8.;m¤ƒ)K%+cÚãËÌ'/÷o‘E Ê݃P¨@Ç•ªl¹Œ¼4ʇŒ7ÅP’\ à+¹lžYA¯Û0cTÔ\P.îGC-&.¸Ô®¡€EK] ¹ÞŸ€³Ä‘ø½ò“èãÀ1,ÏÜôÜ}*PK «‚ òúƒÙËöÌõÍ~ÐüöÛ±½nàs ‡aÃFf³fx¢²cfÕ‘àùÓ{ޝ³áx³*C«ŒGEü¥½%y¹{uyõNøË£]Œ‹OO—F]N$][ 5%†'¯ž'6Vk×,{ Ö•J‰‹¾Ác¯rå½½•ÅÏQ(i g˜èšzYøÿµ ­ WÆåt ŒbšdñÆ>ûKB Œ†XÜñ¤Ë)\yuö*hõþæ‹ –RüÚƒ €:\i°ýàjœõ‚ϼ{K»;}/{9R;Î(C‹EˆY*\+v áÀ$Inínðú\¿Íã €wW5P¡nž‹–ÂßEøó þX‡ú‚2.]ü¡¦nQÌÒiLR&¡Æ-÷혮UU‘ëú \“µq g`ä[6RåANû¶»M]íý^ŠwÏÑ$S=á¾0¸hÕWGüŠ·â7~ªgE‰+ÚXÿì葬 a¹¾I$pVù9® ã~›ˆØ 쳺KݨGSm7nt‹¢FÓ‰=zY?.="y’ ñ\‰9ÛŸÓ¾ñܦeƒ¬U½‘ñÆœöç 8ƒQÂ.뤲MNësAª]ÜðWÙ ®?Ô*ìZìÀÿNšß¸~ …Mž{-§ª~•«Ñ^ š|l»{t)Oå¤xØi’‹¸Ò×®¡<%QƒÀfð‚ë7Y]8nSî^Eبžæ_»x #K…ÆŸ/ÓvKˆßµàA¸ ¨3M¶LnÕÊåèÙþCÊÛ»E¬tLÃî^ר½¸™K Ⴚ5ªB±—CÓ–&Ò]0Á¸àà•!ãù–÷oi¹ a — ÊD:{Ã'^¿‡: •„Ý£®Ò5^öG;ÔĨDDo:ÚÒrYPÙÕáºÎ~U0á#¦Vúñ¾¨_ãSÐC0Wú¶éi½ñð™‚7E””\ô1^ ¯|e‹lÿ›ô$®[B§9DkÊi"ˆb¶ó¶š‚áŒ@:E’~²R*A¥øyJ¾@ß>ò4ÉHLìÍTq#J}Û~¶šQ:oÊC¼PZ¼©lv#;¹iµÅéˆo2ÚG0AUÌ]­áÒÁ|ï™AŸºªµüÝ4gÌÑQ}I½ß`]üé;"Û´Â(=ȲÃâ:‹ðËVõÿý£ð¢Ä½~Çļ㌔\g @…×ó‰tÜÅĪiZVFF¼1ûý•Š_fÓ‰êHohÜ>0Í SO IôFʱ2SåõG4[\¨"’„u6x-pÞz/Þí–]ž¹lªž.û°Šÿ¨Sö³]2ñ?'=$Ê PªîsÙf,`$,­µTÈ$,øWçÇØÞÀ§㪱ÜÏfT¡»!G-´¶/°‰CÆÝt £mÎ I#3Œ 7Ô-èÞÑVé§5¥cON«Ïv6l@½ÏcWqZ)ƒË3’ övø‡FKŸ§4Láì•ãìð ,HqåZ¡¼¸ë÷8´ð ¼påoÚ•üú‹'p³å^Ò”F{P§áŽâ8Q)›Jcçš r+tLå¥R±%Ã*æ“EýÅRÈL1B6Ò´² ‚U®‰ÆK…“ÛÑý"IXYb슉=`8üq4Ú=Ø–ï·³jd{cã8éãNMÎ4“Û4Z4a‰ÏjyÔ {ί>é8¯ˆ7ˆ€ò61[õëhÐÚücˆO4 ¡(åù{€Ù¥ih¯ úኮ›Ž†d¬;àúÛÍè0íÛQ%b[§Ÿî¬ø°4Û*´¡’Ž*L}Aßì UÎìã ¨ž&Lûrÿ CâŠ2ÑG½º¥±e¹L¬¾Ø\±åÁk+±ŒÃl/bq­ÞœÑœò=Ý1XÝM«ù«k"—Ole‰kbœ[ÃyqàüJ´,·§k’ã²CÑÂç#*fê&¸ÎA¬7`,^`BFº>¹ì1{Sp# ÜcKŒm\{÷øÜÞë ÍÃ¥ÙÌjê9?’/4Q?; a© ¾Ûw€âT gé!¶Ÿµ5|ذZxøÜj³~û8¢ÿKê®»)äX.÷¶5pHIRÎlVqNï†+S4£©^Ýd!2ó¤:𮬈0ÄàÞœÒü_È3êµd¶;¾ÒlëyµBªÃ¸…כּ3ã—މֵ*ñ »~Ýqþ~¤uÇÂa$j Ù²ËOÒ©T«óFÖh<“¸Ð<²UÑÌó_^îä(%=MM‘ëg6/Mì4 Â:´áß–ßy*oed{ì& Ýws ¯ÕX29_¨¨Mt£¶å“ÈfQÀMI´xÆÂ£ä ¹Jß8Ì£I…‚¿< \­É 戜è4 [Q'ÏÃMCóëô1Zü<’Èí¬DŸJŠyË1K»6pxƒšã–v,×0“ö­½•gØŠGW×,Á]iæíú âóÁçû6B¯ÿîðcH½A@*‘=Æ15¯ßñt¸¡‰-^®ënÚ›Õ0mËØ88á\Öqnƾ'\øB2VŒÎùQMó¸5„nüÕ^XF\ªâã>íNOª+PбAµ*Û•’6Éxvl+æ5-5 ÏæÆìµ¤Y1²–ÁµûÔAƒÎp+ …º°TPødQ8Q ö±øçÒW»=¦H’Ðr‰äËö/4+-ýiïã±É!«‡jê-çnaEV'Ê&À[äPwèú ûÝ&°'ëyšSP".KËës…ƒX.à'åT8 We|ö0aƒ8þ((-ÿ°¥ÃѶcú¯8"Cå:øì3PO”øt­3óL¬ÛñƘ9–.ØH÷½Ê¶e#‰RÛÖ1­ûyEÅF¬’ʽ*Ñv6EŽå±ÍK^‡®k¡ÜsÍ6×)hë¾Å¸o )[Š¡%6hë¨Udà Ƙo’* K¤®—½ý¥ð ·ö-ô«€Ç¦PL¸é«Æ"¸)¯§³9 ë™ñ3.íYH+{ÏK³îQÅãE]'@€0kõÁïÒ¶é÷sűD „–Yªõá[‘ļ¥`…¹Ü[¼On‰íÐg<¬µa³3ÔeàMXÖñs^×À‚Ä:ùXk‰Î@Æb‚‹³0}ÙS†4Ò¤âIÊ…A2Ö†:TË bîßõQo&ìˉÓ©5ܵE“ŽœÚýçP%ª-í"YPufáæG*£ä<}®©Ü²-yeÀ…Œš‘ðô¿›N¨¡55Ê«ûªx–1ƒâ:V?1èν•¢ªÅÕe¹ÿjX¥Rš=“7„¡h›¬Z|°Õþ|Üü QÀäç®" y®ÐNa,(±¶Èµx!’}¹AMŽŒyªµŠÑ%2ƒ%êñÕêIÖ0uÃx1´qÿî}WÜ”¤1îòAG(Äõê¬'¿1S6­( švÁù;Û)*a–Þ×F9®åä½®˜{“K=5 àÁ¶]‹vÂèi§Y„e¥ç\©Á Hù‘ÚØ˜‚vL»¶Šiæɺ®vV­³ï%¾4If1[ ^Rb Læáÿ «„cešûÄ?´gµÌëû•§Ÿo/³M²#?ÐË>²ÑÏyì½ dÑšNÊm7'7äO™o›¨¼QzRê:úCmÏÃaòÐ\m1°wö؃W+hÆàxý¤ä¶íaš ºr>ÆL#ói% +6\¯[¯…ˆHâàïÇŸÅ€Æc V‚äóÃxDîíÑoÆ‚kÂè™ðqŒÁ+›Û¯^®s½‡æxµÂúú¡ßvñõ#>Š%ˆå z·GB¹G†'Yñyïéd²<¨xjÕ }õËüò¤Þmf½§œÛ‚Ó¡×' 3÷ÏošMc¢ª€¶‹†ør+Xƒ¯ÅJžˆLjvëùˆóhL~Œ°xvUíí'Á+Ô·5oÉZ¨à ÃôyDî†$U˜z÷÷ÓífÝ a{!²¸ØÚûG¤Œ†¥g(ÇäÃå{Ú'QígžñxÄg#ÌiF×xŽžTùT°dµöõä.Iñ “ð[ÍgÕï‘ìèäõ}dΙÍ:ÈòŒ›Æ×uBÇìôüàïhA¹@v§µn“à:;ñ#uë^»1Àna‡~{Š”«cj3˜iH¥¢ë6“s!ŽôIžMjÎ($@( U3šàÓE3&Á¡`#72oñZ~éÐd5Øt:-?Æ Ù Å3Nü†ùP½¨•®™?çÝÍ{‰)d›eAj~f²¬¾¹^Aõü€w õ·‚G‘XNþ/pàÎêEì=8§Dͽ %uˆ$¹½as–‡(¶3¨³ñþðƒÏT: µ"Ô=ªí‰E£žÄUËj"ܳ ›øÜœ-ƒ(^b¯,=¨Êhì§6FŠuÅéX¥Pä×Y'C ×ч~.¬ãñ­„3–Æ6©åbØϓ̞úò” 2îü B©RXØfÌÎðb#a«ê«:Øã׸íQ‘;WÌa˜ ÇM´ð‡®¡IÏÁÐÎêYxCª5S¥y¥4¢D¬ÖIò—î’P2X/ι¿D9÷Ô¬Ÿêùb' 'ŒÍ—¥b­cjïRX¬ÆÈìÍ>OF޼]^«ž1<@ôõ-.Í ßP79iè÷µóÄÒ¤œñ'"Iˆã&nýžZ^¨å(YìŸ~Jš¤Pœ«QM¥iô ÇÐÉôÀ4ûg¡Áo6Dv 0©Y®3$DŽˤ( [[ó”‹’gœÕ°Í{ šð[šÜò^¨ìE·ø¨©P²¡xUñ:eqÜ^èõ©Œ(¯{;c?Ú¿fA°v9k„œ• âÆ}úöEYó~ö¾Še€CÃÊ`ƒ¥ƒáó>½)uÇÔÚ‡˜à2øœÞ›~i¦ÌqØðcÓ–5Òò¶b•Dç»i”©÷±•ÿ0¶G/^P܆6åO‚zlx’sÙ]Û±»a””'¦®%¹'Ð…Àù%®”¿ß*Iäb` èd]˜™Ýl_é,#÷ꇕoY5­hw±¾5oývØ*eŸ]ÎÛ Íù&€°ppÜ› ðyÕzœ¦×øejØâ¢3H/ßlà{Afžœ´“G;Án²Ža»»ØœþîYÎvw¿óà\¨ã€îÏ&xArÔáS8Õ%4ú“k°›ÒÏÔkò*ˆ4 ¶o(nޤϢ³sÌbz¼*uƒäµÛÚÀr'åÏïä="Ìÿ«¼ ¨Æc¡›e Šê¿=C¹Ó+BÀ¾ó»ëc è’%f¡ªw` °¤Ó åø—›_£ö× XiF“ûS1æi>J)b‚Ñ©³dÊ_u ΃ çâÀf&´ŒÔ!.­@é‰9Ä@°þQP™¥oUÖ#·€ƒÞ|(.ŒüÃÄdJ2Š^†>«Ýüï’üvgëòS:&*žÌ-}p]°]—TEr§}!“q²T>ÿÄàVBAÒðBEÙ"{t³sB.ì‚>¨ìÓpWúh«­`Yº:©H…¬ÁÒäÜâ“q›×J>âcƒ@ }xÄUXÊÔÆzh_ã#sY†pdÅþ±7d‰eòˆ‘Sæ™é©·߈[mÑŠòÃò«­L€¥è æÈZRˆ;Rî^5o®½öö?MåõÆ2 4ð ÿ‚ \Ÿ» E »J"<¤êà3k޹lT†…Hh>ŒÃØ©’ÀNdSåL· Á•^GéÛW-NRüµ¼”·›ð’š ç#æZëJ«·B[ÁŸ™îRs$ÞèvNÂãþ'Húú!ïo)é±êD÷“H:e×R5$Ý¡luRÔ1Â|ÒŒø‹^Ž…¯q˜ú¸•ŽJׂåßœ]\4ªŒð…ÌÂÎÈ­&ÂHeê…EH'ë7^ÜÓ¹ ßyƒo’'¤Ð&ÌÄQ>Sx-â dN3NŽ|Ðëé^¾O¸0 kù]0¡B€Ò”´Õû-‡½~GÅøñ Ê lWTRü®+žÉNôqAÿRA“„?âié\Wx -‹¸>+eªýSx¿äÖP5ùƒG)ìÌ+`É6 ó þ^7Å“åÆÜä£ úè±óáëî=~ƒ )aê Óf‚w¨¸¹VOOŒs_V˜¦,ôž]pŽQùq¾ji½qŽŠÂ´ú²?qº¨ÖÚ‘È:g’dÝUð!&œßN[k·ÜŽC·f拓ÜaGïÒŸhŽ;½„H”Fn­‰€ävªØ¥A£Ød£‚MÍÌ} ÐÕÚ$°õb®8Ʋ‚°=EELjä‚Ót… ÙÚìZNl­&Rw²›XÂ,Ìóû]O@þYÓ¤2tNøëkd#³8)‹RÄKb’“J±5ê[Ìï‹©³V1n¢%ß²†d\’ý-oéÐ ›:×ûqÓ­¨2 wY·½2ìÞÙ)¹ík†øxv0†Å&†vö\w EA÷ª^;\›Gö`s»0øÊö(Y1mOï†ME§Üž¸áS5 ¯PwËþƒa • Ô¸ê*u'>@¼¡‚x’¯ó‹>†›‰J—Òâ­Å½Úú§ãñsEæ´sòçuŒÔ<ËÐ¥ë¶>K¶ð›2…ñ5–mvU}¤Î£ØžøEåȋӰ£>±Ká_§Œ¡õ#—˜0 ¸çóüG[µV{­;ìÔÃyø(ªj™¶Á V’i|bþ¬è†D¥z cšÆ"ˆ᣻&“¬O‹ÊáXÆ ¿ÂU\ØLsH‹a§­Y+nô”:nA)­‰Ï ‰Ua'Ú£é_„VMz5ë¡Ë/‚×=_‘8, ŸH?8”ïßb"¿¤|2yÓÜ0¥ñYÍQºOõÖpï¡(0TŽ (à}!NŠË Ž­ât‹T¢åsÊ™þ‚XzŸgù±Öþ&(qй7æ«v8žA¿t¥e}[ºxòÓ{½ª·VÅHíQ "œÙÿØ0rô Çà“Ñ©u@A8±_yqyñ^–}¸´Ëb¯æÈ(T ðm…§xµ~ß¡^CGô…‘íkõzКÎ[£—møjTܯ–MdiLwñ \ >¢/«¾ÀB$RÛùzŒ˜¬qóÁ9ðK˲Ž+þ3 E)H°¬ˆâ-“DÏϽí€ù7BSK©)&§q6*ü©âáåß/¡QÁÅ]Ö+õªÃ+$¼9‚æÇÊÀaaBм„¿6ˆ'@5YñÈg y':Åv2E[®L:B¿ÏKQ™ÝîÕ)a¶¡15>°Õ<: }™M~íT1QÌ;AÙi?¥†%R›§Šñpä*Ê žg7 ùr™%1ß+´E²8JèR•<¢;Sm¥2¿«R_íúImU|;Dê32–V§ýÝ1ÃÍxC¾ÑhÙÃØÉ>ž‡sa˜ ñX:m­ˆ¼¸!Xk¾è¼×±($;#³ ÅÕ0Fÿˆc¼ÒŠçGÑ}2z‚úí(0á—1a’¹wÈžUî†óä²½à³Áâv“'`ª%ŸPöDz9ÕBÀÌÕˆçWH³˜?Ï0žjˆ¥Ì Ά֞ Á Ù¥af‘êÔœ¸bHu8¡0J&hÿ$ BŸ\ýÑß½¬ï}õGv[ò³õ3‰K½vQí;£ÎF¥*Ó¦þ×VÔêÇ$—›F¦õ ÅBl?çQ°3§ `] Faoé´ ){¦Î/5YXü§ÓYjÏžSRSÊók@û)D5ÉÅøO‰*~†‚4Œ@oH\œü‹ï²ë!ƒ{gv¹^_ ˜QÅ„xˆÆÇO.–) ûxv’ÿ?ûúoRY]¨H Nc‰H±ÐÀ$K7ã"Ȳžp–œÌóÔ7¿eî)ËŽ7HvmmÖXî0ä¬^-y–;ý[Þˆ®´–›Âư\NµšQ°¤×ƒ"â¡í3P ¹™“ÏÎÌ-ø¢Ýö¡¿¶Mz"MŒ ïûÒ§+©¼ûÉÑðhC‚ëF“ÂHֹ祎b´ÖøØÒ`Ž]ÊÇq5ÔïDe.©ø]¢ËèD‹eîÏU×?°X4Œ'ÿíÏl¢œ#Êö[‹väwk ³úzd³Âµn-{õOƒkÏ2º¢»ËUµÝè‚Â7SvÇáem …¼òbz_³¿oØH±ÁÕY_n?ËóvåýÖ;ß8D sDz€rÀƪJ>€¶½@çÆÌ­ý1|¶ËË%Ûè4©;&¨ê­x=Ìà›Ífˆ2”lK2+—ö¯™cgû3m–l‹þIÞ7r#¸¨ßM9Rií³m p0ttÅ"»× b¼V`ÉRˆb¦žÙ“O¶,Á¸Áç¬ú/•¸Ï@yâD/¦KÅÛ6I|·sì+\2?lÝ‘oqöAT3ôôUÚûA(Bóa›©냓 %ä^š®sðúAz©À‚ ï‹ø1»(&¿ªÒÛ %A1D2n\»­ù’F ^Óx!ƒ~aX —Ä”qÂSý®ÓW+¬­9ú¼BiøöÖ‹žž‰Òh—EÌ‚US¡en™æìÝ ¬X nÕ¹‹µ!Z]0Š©Æ¹€¹Íå[U³(hã%ÑyÊâÆál,-ÐÈÆîH&pvYPã}ÚkûÙ^ÞˆÚáq6iû÷ô‚ŸFo+•÷9ï!ŽŠÚS1œAúuÚÒÄ’\ ØNpCü:!­ïZ‘ë_éúäS¡?Aeï¸Ã¦›,cŠt3Óó¡…ò¨ËúÁ‡£ØÂàô“X…†Ü£’Èž*îQ¹vŠLVM/½]¤1‹TcønçËDw|o+Ã6¯™FÝíÍ-œ°g"wÆž«3HMæeENmáAQãH2¢% Õ²ýý2ÕŒuÚ\²P±þûjÎÅúŒ…€±àu¼‰Ø‚í«ùÎðžýך7oì*Ä,‰Ò??”÷$€¸»Á™ íñ–È4š >ˆf;îÞ¹DÂyåà…Dá1§B ¶ðqøŸD¨âÚÉ¥ò²uk#“HÆ: ã¼ñ‚ÑöÌËrÈÜÎ:Fr17Ý‹”€F)»Ì•~‰òÚnh$Q®A™°³sž—zƒì»b¾ùigøÛÆÿJ­kd<¸ËúX8¥5;?~>ß‹#+ÄþâmJ-UÛZåÈtÈŽzÙª+v=àjfi |µŸJÐYÀ¦¸èÀºƒaZ™çMŒÚêOÙê*ò-81AÙm’áy7!ê¸<&þ‰Ðñ¸ú=Z½& ÒøÃ¹‚ϺÂÛÖHzᵛפ“¶q¼Œ0XNØì¶ð>‰;@è“–oèÂIüwîò!Îú" âO ÆÆ‹ÐÂWî¿¢Ð}ЦgQM±1IïjF ¦Xyª˜p)xˆç&ßæG­LD½è,e¬?I(ð.==»Ø»¿iNèb\Œðq†².Œ…h ýØÞ:”Ã%FR_ˆºìË2+x)ƈObšzË·K„}>D,_WµQk °¹ÇÃÖñÞuZYË  Àõ¢½þ­µ!œò‚oX?ˆÆ…Jââ³qÇsa=än5,¸)z;ô°xMzªX@Jº;uy¡Ý«(•W^¶§#y×Qʸÿs_ Dá×|-¬ÏG,|ž:” iÖþ+$› •¼2îQÀ5‹#Mz “æ@Ö*8|Ñ B¿ƒ«¤ ‰ïpßrZ‚îsW4ž"ÍJFÌ ž#«û@-Htë(–¢£8ˆªRhë^ùëØÝg(ª)‰Kmoœ7‘ãÆUêBá _\Š2šf6ÙÝÔáÈ Ù€V›Š=hNÛ§´bˆÏ^µr P§¡¢|÷+ðu9õ*$p %Ц•ç\QÁJd´S ½ogÈaÜþHï?)¥Ù"Ž…-c™´’#¼ÕN”LB‡ˆé26£h«‚/9ÙKacëóþ„¡Õ?;BY>ý“H¬”z¾žÞ¿+­ŠÀyr«^ºW®ÆÝ·Ó̾H´D°Û‰-?xSбÿäׯé´X³KdéW]·3Y®Òr“d‘{‘T1ûtÅþðKe̶;8*W£ÛoS~åÃdövž}ƒyÒ¸,‘'ÀõÄg‚±’çl„—çqë®XË@Ï·cúÏ.²ãë?Kµàú8p†yŸ §‰Ò㽆Y|˼AòÆ2È©X×£)ÅëIy@Š~ËVè›lé½®P¡ö§#¥$Vhbõí€ÕíуŒ/þ(MëWÞ¾’#Vû¨—Idȉ–'§¯ x'ºéBqêò!ãSqïpŸí'fäÇ^èà5Dqª&©Žüz±Ü4CÞWƒúÊE¥Í¼q¼5›µöÊnpТi£Ï2ËyÞ¿ïæqïR­hMð•/ĵ͚6,½’6˜19b2§Bù¡Òo$D[–ª¦ô0j»ßºMÖzþ8Õû(×;•Uw(¨°;™Ä¨ã£¯'ŒfƒŒ77m›> FyE‡YµÜœ´p4Öt–gÒj3ê8­íb€`îj>³Bò˜h½ü—TtkZ’b¡ØuçýØÓlì‹C² ‰Z‰íµ¾f}Ý›•?óçG wäüÕw/”L”î#1 ÷y>#À%¹Ž²b3«¥;‡·ûT ‘¢«òuæ ¶’UEÃQÍèyQ‡Ü]0úPÞ¶á6ÙÖSËnùMûÇ~Âî-³}#ËðŒòDäJû5^fò£úaÁK’4Ï^ôù÷™ëçCʇCLr¯»ðOù^1™ßBÒ''Ar»ÖÂj:åmô¾t¡ÿyÇÔܰm4åwoVßú0uÉ=‹O°©r4„ÎðYï~¹|›Ðý†žBo#ÊY·5´à9bùŒ%7¥ÑFë87£5µºk}%ÜgÜñ>+EG#‚øVáJ(y\åÂðI˜ÖÖòÞܧÕ)hATðº$s/Ö¿žéÿ·-£išWÞÝfw†EfEDÉ’eɯmé|ëמóÂî»Ø4fÆï«ÏÞίü©çlvÒó’Þžxæ+KdÖ¯8ѰùÍú‰g…nA39Ý*`ÇØùF oj@æ â:îÕ·}0]lƒ(záÓ=˜Ž^ukâÎð2|r.äˆ[!¾9 ¾n'¯‰å®2€ß…åvàÄý“ ŸÇšpfXwmƒÞÁÉ@y@P”O•«XáÞÀê”=;9>lGξ{A ´0®vzëŒ=ŸL•CJeð/§]5=ÞýU±`ŸM.™Ž=c>ˆôúg™º©RÃÞéõÝèo¸ê¿*½6ëg¦÷†Fÿ@ÄiÍA eýuN•oòµëºÞ¥ÍšmHd·àÐzÜr*mKû¬:h쳩¥`Åá 9;"î:¤]ѱ¦ß'Ò jëèRÛ.B¯‚×ÔÛêØðÈ  ·6xrÝð†R½&Ô¹÷rÅ?ùœyáa·1Ün|(zØsÆê„­ZpÜ£¤ü¥öBn3¸(‰6Ÿ»üCƒífùêâºÊey…ï^GóZðrE‹Z[7¿åÝš*Ò“õˆ˜þëãõ g>¿¯=âÈ–w˜Ñî#CÀT©žC‘t°}‡6• ^•<ÖÊÂamƒ\<ÑHõmPpT+÷ˆÆØ‚¬ôE^Ö›ÝÏ1‹{Ëj{Mëw#Ùwhÿ$ðëÉÇ¢åâß•0¾® Û³Õ»¸j#דMÂú»Ý¬…Ü|õöh³ˆ†‡Uè´§c Þe¨ œYçÁãnP–¼Ò‘yAh°Àó¶èÊÑ=®ß—›ð^wƒÅÅÈ#×eµÝƒ¢NQ2ayn^YvrUP^±tñÆÍÏ:ÿÚÄû~‚]óm0Ú=Ü(°±ýµÚ $HûX½5[@2=æ­xŠ–xìr˜YÔô––«5¬hîÏĈ¡î[KM-$¤ºÁ èI}T­q)[Ü×÷üŒå¤iQêfÜ%sv´`/¨&ßfxÍYMPïÓ}-/ǧ/˯!%å%:”}mǹµ™@€žSŸ›) ælùKvÄç·d Eû>lt4ÕD±”5qzõþ ¼„Âö•£\$H?Šø@Öï5•z¡‰õõðîÈk®åêÓ¸ã!+à©ø—ûãšcA´Û[-—nMüpX»°ÕñJaa)l0 |$’3κæé1Ü^×ø¤6ÚÈ Zq×Q¨äU£S†tõáÒVikU.T¯„Eáм¤A¢1˜×w½:äkÈÓÈåJ”ÏÀœ!¾/ͤˆ|Ïò!lµË/4ûXå<^×ÉÉa>î¶8=ñôä6õÔó"…*‰u€öeF~·ñ6x<ñ-ß;Haœ¡š×úÚõÏ8¹8c•*û[YúÕT81'å ¡eVò™ŸŠ÷ÏØJöZ´³Õ’K¥Ç ™wr¢,dµÕ-ÙO›Az¡¯Oš±kEÀé”#q!ýÎ^ ÚÛº'…³N¦¸$LgO„_w¼ó*‹&¿{ AkszJmû'É7v ‘ëÄ Ö´Ä™È&%¸²þ©œ£gÙ†¨¢IÐù¤r<Î[XŸß”36gè„`lå+wkfPÉø‡~7ÄÔ¾ÙŒcØ+äÃÒÈ]'¤ë¨’çÁãk-Ýl ¶ëYfq*Æ·±Þ¡‚‹“»!5Q•¿ Ò˜^Y;ï.\ùqÑ.`߯ÌC±™/ãh`1âl½'µ8™»ªW°ÿ1Uº·|˜ªýë¶ÙØA¤Ù'¬QàX8R§Ûa¹pl´û»p¾å{QsÌ`U=eø±.täF$s©{äOg¹òl¿Ãë½ÿ˜& ì·ejf· FÝ»ÿPC:¦›K~MÚ"…jë£5ÕžÜΫu¶EçäUŸË.G1µ95ðÔ5|8¾>K–XØQOæ6ìPÒ–&IÖ¶ß§V­¢áY Žíù{%3+ C4-Öµ‡±eQsÿÛ‹FÊÈrõ iº­¸°·ÊÜ ÓÅL‘â‰{–CÎiä_·½¨wrÍ€PŒãÜKQÐʯ}MÚO ÿÁï/»Û6a@º3þA·\¨ƒkLqqfMK›¼ÖßÖ.T‘…P´­ÝÞU/_íѶ2Ôãb#VΨ/†g$Ý~?]úwåÌȪ.Ô ’«¤~GìËO·ÊeM#†1l†À5ð{«•×àJ±ÃËÇg]2ý]G,K% ó>iÒ¥ªha".Auˆ†‡°g‚‹¤sǘ’Œ5¼W½êþ NÝcW¯Ìh³ìrÎÿrî#‚wŽÔ Ÿ1ŽcÁ[šKkCè¥dáâ™Ø'l€Ó¼c¢B2Nê-qšÿvAŒ¥{¸0‰5Év^h²`²ámE DB :Û qøG§_6žNE ýuç€`¬&·Ša ®“áøùøX;BCw˜×ËÄŠFrµX6QYåÒîv÷å_ÊØ%%E3 q=?ÆO=BÆ2kгמµ .–njýPÙ´û$ÜnMܽÄ"·¯u ´‘%Pß3–%Þù4¡á«ÈMºðVü,Õ“7ä€ „ì(댇Í]›M@²‘Ól${K½ágóýÕõ^ Á´â¯žï9žy×»U›ËÅ ãa-WHž:¿@ŸÙ©ÀR$ŽKé.9ⶃž²ZÝÎþ ¤ª·+`J£¢ÑÃö]¥Ô”ˆðÎ,7ˆsäŽÌ#|BôUƒOšØ‹gî ‚Œ3Õà üK>8ìBQSQsÑノּK‚€d°|ª&$¼¶éZšÿYPòm¼tÔÒ!âG]g›@½}€Eõb!ÛJ9ã¶j¾žèHüoêà £ªs "K±;èÐIˆq‰ZJ~âÕR5©è ì+c6†®â¼KÑ-e•wØgE]­ ŠCÿñL¬C)¿2M±dìP_=,4>ºŒÓýñ¾mÏW«Kñ„h«…rÝ¡U  NçÂë½Ë2—Nϧ0åžÐ¦Mˆ×L½À§c9ÒøP l÷V» ,ßÐ_¨ŽüÒ6öÞѦòêÙkÉìSxu½Àº#7Àá#$”ÔkÁ|Ë;¼ tŵn^·.Ÿù_Š;8#ÙÖ”YÃP;4•09Û|TΨFÿ¬µÈ\ð÷’‚¹¯_YüGµ‰õåwÀí¶¾€­ÐŒå‡ßb‡â®^wúDD Rp >S¤Ú¡³´ïÒ—åú+’,ê6ö²‘&KÀIr½=øTrB´X”ò£Þµ¸®vÊ#ä±|¬Ü+Ÿõ»mž_˜äÂÅä2«m‹­øDkCb­,®FàËÈùX›?R­­ŒŸ)Iâ½/…Û(¸åÚs2;èò]{.ÛRÃs=äl6ÑNNçìÉ&,z¶‰°oÂkøÆDwÆOÆUÿÀGLüîÖœŽÝûXes“ø½áyf¬2KîþÔôIJ”²~ìÛ”ã whîi~K´‰˜q4¸õÞ…ªøÌÕ¡FÝÕžñºB#1£´ä TiûóM0ÕS{9qt/|º}6 fæeRçlV>#%MMŽàƒŽ=Ìѱ¾¾X¢È í;õiyCÉÚ4ìĸ¶™÷>Á'MdaÞó’É¡÷±óP)ÅÐåtxAçÞH®p)„œó²v¥ï™‚&št"kÃÛ~A”xT}÷#~_á—à—IïXwæÎfÞí¶¶À\­j쨱éäR;ÃÇ+šŠ+Ë¿'›8·¦*pÔH¤_ ¿gŽž%D(dÞ¦Q„Cc{ýså¸ #Íè_–Ã’hd¾¨Mkñfðvì«3õ@ÏþƒQIây7Â-Ò“Øp¸Cž|‘:ŽGž{'Œ`hǧ;Ã<#Kø[aV¡]qrÏñ¼#ñ0àDSÕgsÜã§E#9Afš  ,~.ŠÝÒ™YDÍä²ÖÎü„"Œ†/=×–Ÿs^‘¡rTmQU˜Ô€Á„®‰ g„a“’ÖØ)E¢^T5QJryM ©ÜSlh¸ë¾ôD]o_Ý3~ÓÍÚRFçøG‘ñ‹Ò˜¯ Üd¦N›ò64ú²¸õ(“ü;9)^" ¦q²ý°ÉvMZ×Úi'™µ3l¶p¤QÒœ&q칟s×ÿDOQß¡ì0‹?DŠo,#˜…Â0ª_l=ÂR3¢”u<È‚¥è9 ´Î±ÊA+Fi¼¡Š-E¬W±Úçjo:Ž*ÿKšã)ìêy‰ú^£H2À>ö* ÔÖß%‘™¥q¶Aï^ŽËÎ¥¥ÏÓ<:!FÿÁâ¼^pz£bÄ¿õ¢„©»mµRU JuvÝNÐpú<‘kÝSÒ¾3ï`0dΊÞ!Å÷—%šF=õh=Rùˆœ=d_†}Œ_®XÕ_{òÍa7]v‚’¼CäšTtĤ4©Yc…s(Öw®örÅÁfc;†³Àôö!Œgò뼕üÚ2 ÞóígBo}áªÙAüPö“ð )Êbt¾æE¶ß¨CY_ï?³~6aNÀ×à Ó®RŽÃË;/¼Zƒâå)Ù¼j-¦ä•od"<K^›”‰uº8Ê8yIybQÀ]Q‘ã§8÷ÄØóîýO2vÕn—É%:Tòámþê5U„jë°û®y ]5hb–N—!‡„ÓªæLSçâr0±\„–y­ÔÈÏ9_©1ì:( ×8Ö™?MÄ«i´í—§ƒÁ9ñÓ±zý[SÌíªÏÅ| œ\·^ÚÉqU#²µ27ÜPSÂÍu•Öøü!g6C{ax3ª.ì¸÷+éwþu!¦ä‘„çë㦪Š:ŽUý¿Àfö½š9–!*zçé²CõØH”eœ¥ôâ73ÊM¡ ·Šb¸²àVk)l,bâàOöõ˜4Ôè^f²`Ÿ•á»R,®Jx< r§ÇÊšîºòãöHKzÜ‹>„Zyuš¤Çß…âöë cĉ­U²óŽº“H+¡ P2Í6Þ¤£ÌQ7;ÌÏœÓÜ·4MJ¤ìõÅŠŸÇ…eüBŠð½Âa¬áD!-¨!L5.ÃéˆÖ“b9ÍZøèw. Q/ØÚ}Ì#rÅCZ!Ax`Ö`a—h™ùN†aõ‘¿ï„,+@åáï9¸õn2Ûás]sô«ÄY?wCm!îˆÃ!dÝCˆ¹G6D¢ºe¨)¬iÈÌ~w¨Š¨Œ›^Ú±‘l7}̧o0öS«ýA­®;Dv¤Å¥NãžX„Ÿ]± ö{n7•„Åíλim?C§³ÁA+,ºûT¿þ¬ò9CÜD–‡Ö®ãcl ~šÒ­T#pâøƒÝ¿½.I;i²ÇÎ|¥<ÿ®’PkáhãoᣔgsOP6#Þ¿“WRúM·MØt¦ˆ,×C1 ?l¯2¾Ë9 šåÐ71cDþ_‘ªã51U‹sH¢”ü3j/±‘Æ®QâËðQû}Ò$ù¿ôŒ\¬3µMš«'ëÿ…œ®}d5·Ó•ׄ)9X$¶süš3éϘsûŸ}yxJhëÕá{Sý8%c ÔË âK1üЙ̟(uË[`ìåÏé•’ì"¶…ïf±¼ ½‚zѬկ™=*¢_>ýÍ#œS]a_l‡.‰ë»cðÒùÙ®HãÅR¢æ„ ¨Ú5ö×§äÁÖGþ\Ó#Ôd*$…‘6º.‘«;mOàz¯­ˆ vz—r9œ úÆ zî~ǘs,IÃjQÌ&œH®FÑ.á«(Œ÷B×cb×ø°ï6¿fòú\xjB"ƒ;²ßiSÙ#Y•™?Ÿò?u9`$‡"åu‘ÆglÝ^bÂSh•u0/è Há¡´K1_Ëá:{&=‹ãÓ~$ó;$Ú¿£´çÞÔ+â»í5ó×!”bg)žŒueV}&ú`Ü`W{>ŽD 1Ì©&zêúY=âðRG­×¬Ó@¿rƒP%ÈÍ7Œ¾-$aŒ[QÙlïÿàsÄ”¶Fp}SN\œëdNH£ªÐ¯Äyö”ÈŽ–Úæýít^‰&zA,-û(” $OKrÎ¥7cÔ!«ºÌ…ê?%˜káÊ•wA#+ð©Y;<œF®þ6"s(î%ÇÍ9b)øÀ¥k-¬6µK¬Óä“°/rKïÃQÕR…äƒ<˜YÝÒ-îh1,MXzÉx6ÁÆOŒÛ•&Åšî'ËöŽ §ÜmØD7>Qùý¡¬éHZeÕ8ò’4»Gå$bçì‹D(Ÿ‡ÁNˈ¥î•jMBþŽ“R÷qˆGœUE¬1ðK&`YSÞç$)ZêÜÖˆ²öî]W‚X‘ÆUYŽÕÛGfû±1ËÒ<.åzM“)Â@ËÅ-Z2ép ‹`髎òó‰æÇ· bé¸OÒt ^lk¸¿˜=8K•7ÃèÓzVy8lüêÀ$ÊâÙÁ¾r St)ø6Ç 7y3YD‘ÃuÚçD~úà|­ ÉúNz¤b$ÊJÀí'ýÇü[ »þJÿ¸;D6AfS* 2M=AG±mäAn´—„ƒŸ`æÃÙÝ99ÇYá,;ÜwQC-­OÀÞåN‚Ù™v•èÖ‚tSzèªNղɋXvÒíiqœG\wR $ ž;K³3rS‡xJ ĦôEtZTðÒaíí< RÀŽüJÅÙ•ÍaM([ $»³ü¸Ã–®F=«^¡ 1 ÇqË>Vß8.iÖ1€.ÃîÇWÀa—Ãæ¹Î f䮨Ïĉ·ª¯g?×S?gË'OdžT7}^¯!ðãÿËùs3ò‹'·W‚¶- íJ¹D02„ŠtsFK_N¼‹´V‹©¶Ýb5ÊBÜî@d€ ~]Uó…¥ÝšÎÄ~Ëð÷éê]·PZµž>¨´”{âɨ“9ÁÎqwBô,BΊõ©Û +$z`¨6%Äȇ“¶]]+šÈ¤È•¿BJ5rÌŠÓÐ>aæÑ]~^l}7÷³ha}xSÔ5pß猦ludͰQh¸W›x9û™ß¬¡rêžÚE¨˜Äþí ð˜+µ•úoth«Ôý•Gù¼ì9í£HoÓ’cæu mŽÐù/KàGî]2ý ¢ñ€¤ÉùRqîPíX¾ò½;ÌÏ“pMOi ÕqÚ“ÿ™’`Ÿx-¦Ý:#… ñ/ËcõÁ› SŒ®TDe\S}›×{®–"y`–oˆîõjaǸÐÎ4k`[3ß.^¶½pLß\`6Wvàa£ÉÆ#C_ƒÖ|¶ eìwîGÔt*H—Lüú^Ë·ÜU}ê&”¤UÃßï›!•e¤VßžÕªeœqAtn)"Ëîî²uÒKdvq « ž4ö›}Æ·‡;vÌFòŒêA"qß¡ÛÍ7&¾¤À<ºõ–›{–çý4ãïÙ¨Ibµ’c†^ìñáK,/Îçš  ÿ ©"ç–EìóÏâh5ÑÈ ‚pK%oïÎÙn*Ø%hëáPháÿµ{f†š*~äšÕ›]ÙÜÙ×/ŒÔ^ίAm#Ç™Èn^)7dEÄH³AY1:OºÁŠZoAóh~ñð_F˜Ëj©“pÌzÆ•¦LRº±“ˆ]Äj(ì ìÄöNxÖ°Œdëh,þ'åÓ&Ø—ÔÓݹÝz®÷òP6ÓÕ-¦ Ã4Ó“ž-ú>ßSÊ7(éâ«'-Ó[õFs™]&aå~úåy¬cPý{5|®âض&&¤ü›¯¤DÚŠ³¡ÈÕ™b¤jA&Ž»Ë?!/j\ãÌÊ ^²¨²*\ñóúQkÁÈÕžQßî^VÔê{•‘žÐ!vÍŒo¬„Òùá*'Æ+óÀWn×Y¨àÁavB{ZøªDúÁüá1–¬iêè£{(‰Èc£›~ŽÎ—Z˜þ‚Î9]Þ½2vN‚ã¥Fï<46 SwÎfÀ9Ù7ù+3nÙ ¼õ¤csŸVÌùÛ¦à¬ý2ƒ»Ô%·÷ðq´ÝW€ ž*ëØ(_ó`F<çÈdÔ±ÐÆžªþ<;h;§Þ¢³:càVcŸbH7®·%&tqbŒùüµEºrã¸mZØøscçï¥ ­+¸ä©LÌ䲦9›­ÅzïnÏ[,Áh^ GÝSƒ]–<HÏo˳nÉG ²€Ü°0ë%¶¤¢ߦÝqý‚.Ï)ŒžÅ_@ø'@³éŒ|ÆØSåvÙÕÏ0Ao}dDDÞ³K¬³lOÁÜïôºH›amŽ¢ŠM$)ÔR3rráK:m;Rrš“6ú?å2Ã^Å|«ÿ’¦IuœÂµ´ [ªÎª¿¢°ÒšÅõu‚ —j5;Z-çÆã‡¨÷?MÏaÕ þO—0Ô`á¿pU¡Á"áâ?#ß\þÎ9¶d!äLТ…× âzèŽ;åË!Éí†Ò N{†òí‚Ò)G¶¿ ƒ¯é±;جÅcI¥¶VMSrtûÁçÆæâU_ÆBy¢Åö\’³[¾Þx`·­*QÆ|TgfŽ…ßA¦æòUα_“‘™©÷Ñ ÅÉ퉗\D‹OCJ‡«£MÖ°µ ŠÙ8¨Ùç,ÿT¯v?1‚sæLìì¦õîÌG¼Áо>¹àÕ'&3kýR¿A þ˜û,óŒÕF 鯔Xt¸\h+ù*«2~'|ɧ:Ä?RÝ1ÐdoÍ"S¯£¤â3(–Ûk:èˆÒ•kôë_Þo.›”:÷½êh%*µö_‚/^ÅÙš¼ˆÊ2ái‡)Ñ•– ²óºØ,||!#6ZàÉK¯Ã÷4°M”©×HÀVYeýÄ?p—SÊi"¶<$OzJî@0w¢[ØÒ;È´ª÷’©É¯§–Éhái÷²|•»¯D¸«‘ªfcï¶vA®À&H)À<òA½Hšfd– TŒœZ‡êä|vƒøüuû1TÕzP¦{Ø[‘hwp|¤@ÂxƯöÙs®Xë¥ÐÏ|]ª„í~¬Iݧ™Õã«öxý%)ÚüÕ‘Ôi2@²¤ºìÊh]µüK‚–ÁïÍV ÀMÇ—+ÊŽö¶a–UÏ`A# Žý=ƶ OȨÆúõwå b;—àÃüŸ¨YÐcÃÞ]”FÙÚ‡ Ô6·Ýæáz‹^È}j“ âüKR¶H“ûp@ÝѮșãîèIÔ®ú êR”êm”â„DAóV±c¡ÛV«\NÉìauƒªH–d´ Àû©øÓEp˹1óØˆ‚†ÞÐ?4+<Æ5Œ§-®½«ÿIÒ–q›â‘Ÿî¯é%yæCÿ®$@ƒæŸÍ¶FðŒ¬#ÆDŠÐ’7Ú »UøM8Œ8FÞÓQ¨^˜ŸSó¢f—SáåP?lz¹B_1–Ò 0 ¡'Ÿ×Ba‘®ˆfEúÐÌ0-䪙…8:«‡ —”*DOô¸uºmõ¤åñ»ÉÓͽâ¥É ²ñ‘‰× Nk…\y´ÖMBßl«ÏNŒ²ºùN´.I ئ—‘VŠ2ø™Ì;pÊvnYÓ˳)ÊvbÒ^9e'‰Ñ4ÑJš¶Û¾Pþvj¶]öÙÛœ¦ºôVëY„¬¢Ë!—Ç@ü^øüñV—*ߎ»Ñl_©‹ýfÚa;9ŸˆPZX½Cö‹È}ýTŒ2 “—O®Û´íf\H-¥ÕÒ@ØiyK¦¦ÄfüXlPÇÏVÙ£[ЬŠë8®EDŸw³ WîPžøUËC K}´i~ ê&ÛP¼$f ’_¶õ"AWÛú€ûÁS˜¶£´&ŒJNf>òq¡€Ö•nFLOøjÌê,…AìX‚<¯Âh|~³ˆçñVüŸ×‰.ÔlúüÏÁòÝåóŸC × }3“ò_Ýej¢ÔþµI,.!áÃ3!ü©ŸK J–|òTcK…×q†3•À"¾$))w7¾ˆ"Í™e&=ÌÒòÙè]ŸÑ7bù'²þß)¢»?Û Tî…hJ޲LŠe˜{¢ŸvgÛ]‡&ž;Òì+t¯=ë´P|½¼Y˜ß’*]e€È˜ªÑZ0#‰!Ñf“툃ô1“…±»Ô’zèO§Sq_û”µd9ûš÷FJû]¦ïº-ÎŽòa†Âµ·Ë–Žêëv@£aê` lò½ÅsÄ÷G—,žvBî:¼z¾3$—Ì+‚E“û¡0 n6—Ï^LÀ)­Ú|r i_ìð5À+€¾Œ)Gç^n¿@¼(jqÊø¬ó|"š"A¢þ|ùøWÔVÌ=à2»¡S‘°[ÔCnFš‡3 ˆŒ[îÊq_²Š’ºªœ$¬o ²$âÀá´÷0»€:„ã8(wõ<Ä×€M‘af›±ÚB½æôçZ8Ñ¿ê}Xl9Ëkª„–ЃŸb ¿oïfé®@Ût ih¯Ë;ªÂÏ®å¤ãMFöÔiMÒ8¶v˜ &€i ôll[;T›O’ÿ5ª‰ [_ï»”³‚ÇËpçmM¢;ÌËœ‚ñVE-ñseÌJ3‡»p0Ìž­xKU5n³“XK¡iÊu›±,Ûkšf2j Bn“—Q÷=um7T³ŽŒaRôéV– èñŸGOƒJløð5µ$å :bjÖþ0¯®ŒâñìžpÛ¡*)·&ºY oY=AcCû. p‚°F_RLBiî€.êIKcÏ4òÑÒ¸u•¼®8›]fšE~ Ú£VGgAXPþÊW`Y\º>ma[0Ó第ïÀø2·3”w³©,‡Wˆ8Q¤ªùbOBŸ‚ª:ò ¢S ck±ëÌ"º˜…Ò¸”y*Âá¢T-–»)ËfFÚÔiß êb »Jg¸É? ™¹Î/f\xíRÊhÝ2r5:"^Øã#ºÕjãz–tÿ{5Á*ÒJ¶€LàdÓk¯Ô0’‡j”ÍZ€š@ú /O<1"«Ì½ˆÝ¢¦±Ú`zÓ 2é,0ÊgÝdÔŒ7š‚!âaÚ) ‰¢ U¦€/ÔôÇ>Š<Ä•möÕ#P°œ!>šŽ­!â¾òa*¦e=ùNvÐJUh­Ô!p,§Îóº)5Q‡Ä–ãb¡V„¢5µƒ0˜TÁ ²käÃL`SvKreBê ^æž½1m^mÚx¥" <«ªåfšÍK'â㮽uèÏÃVˆ{"® +H ÷ªyA~²mÇŒ±ª,³ä7~¨pèG.»?LP‡1'Œ%žÒ¬d¯°Vp(â?6©ˆ„g̽ŠÒ1J5<Ìœ"à/]zš?s. Çmùøµ€ùËYçAjdôLÞ9–æpUÅQþHǯì(n¢ æ§ÇˆHÐ&¼ªo250P†cÄ­aâÅ >Ýq‡]4íRw^°÷öþ&ígû…•.¹³ÔA0ù$©›néqòll'{»bhìšüRäžî½Ã™ú-³7,‘²" ÓŠŠ„ Éåý´ïhô©)®j%ª}Ö"¼” 5|ä8Ɇµ³ª ã¿_ Ϫ®MùŠgæÅ@ý˜ Æ}ºÕHsqÁôÊÎz¼aTqcú¦‰±ÌÌ‘r#Ÿ; O8’6o…ÒÝiØ:(¿1“‡DffktžNÓΦfÖ!˜‹/@“O¯A<ãöàÕ· 5CÞóÎ’4¸ÓóBõÖN …ß™^4‰ûödxµ¾n­©Ò¹B ËíDI§Ü·Ãf‘Éø„ÒuAòª¿ ý!›ÿß[ùÒq ²¤\â)€ƒK¤¹°r™lo(§ÝàC|>±¯>ÿBu~öü§ÿ™U–X∻H4;ŸUE÷ìéð¹ªkrÍá€90 ¯ p³ÎF-Iu•Þˆ5x˜ñ_jq„`7ä¡…·Ú%Ë]W„‰J¾|³»Häe ð¿ðϹì@ì Û¼¥NºÙ¼;ز;¥ *C¯ZÊâ%YLàŽäÄðëÈeÉe®ËõdY§×t°`I4z×Úù¯_ÞÈé]}ñ${°U`PüÈ|ouX7Ä@F“‘¹Ý ñêÌô(ä‰Í5šM£~½ZÒ»ÇZ_F?‚Ò0í¿. /X^E‚½gN¿‘ì©ËtÌ5*ºøo™Å…çú&)ƒA§*Pª…c‰³Ô˜ÍEòõ{ä[×ÏÊP××j¢GCPAH>zˆƒ:ê¬<Áé\9péÁÄG1œ«ýƒ·Àr3I$bèÀulîÿØ!€{Rcµ²xÈÎIJ°„7û ‚¾†Í'‡3äý2V Ÿ@rjÐ/-åŠjwŽÈtëZÑ"¼q– M¡×Á´µ’ä§FN_Íî-N;™^kÖìäÞ!L–_†Ð½\“;´¨%ZÓ¥O<Ó‡›MJ¥*ÿšÂeå JÙ‰ÂxP…þâøF¨HälÃ܆¯nXNU抽]YÎiªt2ªÐ«’S4™­¹¦§ÞçpHJPÛ_à 94|‰J±›PW퇿 ;ïâýff G’ó|ѽšž­IIJ%% ™BmÌLK‹ÝùðYÒ|ÓÜ VƒeÓƒÿ5ÉwÒ=äžøüá^ ¤BžÄP²ž]®tPÂkrÔý.÷´ÓËaiôEÞ‚.ÿ'`ô8cä±T¶Æ²Ÿ‚-ãÆä0“r¤hÍÿO$ßøPŠ–„ENl\±Iz¸M¢ö¦.T"RÖÍÖzþ'¶i}¥}k€T oÔ³ãSwP¢à·óÌC+ÓD?=/âÏJ­Ê®ûÖ5w}m=þáXZzÄxVµï¶”âjÈý¹Ôk{ªë²ÔICmaaKW§PŽ€}гÍ}5«Ò­­üª·bPEGpÒíóñë&x™åf5sqbàŒKtºàæO;¸–el•ÔK‚;Î(­2ÃnÎv…ëžµù/ðOž2Ï]:4^Ö¼ '?¥ÓôêQÏQ[ «qí*Ò<}OO®Ko‚3q\'¸¬âÔ%u^¿,”“²šŽËZ,øäÏ„6hЖyɰÙ~êÖò‡jYìhIÛÍÜk©=†Ÿ#çˆYÛèÆØßVFo¡|ÓÄEÌ/öƒùÒ“’Ù=–Ú'#:)ôþ&ˆvï‹«tPS‘`z”š~ôZPT=5Κ+uä 5‰í³è™ Pëì7YËjYÙT‚é3oí¢„tÊpÛoɦ꘽_»£3w9êQ"‚4?E¿Ñ@ÏÅ&B¸‰Ú1ƒ`¤ë•iZ~ÎÅøbc„¨ u½¯„RØ~¡bÛÚãuHJ¯Ä»hÂ9\á^È~c|Ü wájôåÐI­,ïŽ6…ßà1hFi5$gœj!åäl¤?þ"ÙFnŸ?èLtØ)â®giýŠˆKó1‰<|U&~Ù—¬ý¯Ã—8îíí`H…„l‡T¹78ýé{ÂÛyã„ýU™â¦:4N:5?[žªeRñ¯]už9,üWˆm5ÔˆõgÀltlíKf†m #Âþ÷€O3y%ç>´³¦7:|›olD!VÎqHXâ•»xƒN^7+ãõÇzÞ¶þPùõ¬óhB¤ÆI”—€¿ð‘°c=©vÿÞ’¬P?C`Éàèë¸é`ËÑuï[¹ †ô¢mÀ©J%zÆçš'GµÌÉõ(ªÿýúžÛ:q—‰0.˜¢£Þó ìååÉk™ïÁì{’©r|ëv4Óÿ¤2è2}|ҧ샨'.`D´§ óö)¨P¾ÿö¹ÇËÇ¥Éþ‘E\}b+~A(ß]À6ĪçêÜV¯‘ ²|ÎŽÄÞZß-OÎÉÎ óݺŒg+W¹{£ÞGtT+¦òMÐ&ez˜l?6Ú"­³\Ô‘Ùñ;~½ðïX†EÀ“CI{6«´xØä\‰ÖÅ¿m•È3wâÌ‚D*…DÀ7Á™ñÇòál]ç`Ú“¥Ú ½ÌTÝôÉ]IôB·È»,3*Ib<ÚHmÃ~¥lA<³Z®ŸBeŸßõ}æ£kŸ˜XQ T¡•ªÝž­¦ï.ð<ûÔ`ßG *qæ! u9 »Û†Gn 6Ü}U†`E ëF³ÂºÀ½! ‡³åüL;òÇêåfþ´ž ‚×e;õÞø± (D‹XhâŠõ wuê·nm&±ˆug‰2Õ°›¿ôGGë’ý •…S¡ ú’v ió=‡YŠŒLÙRe Yߤz(x†;+5â Ø èö‰MŽ ¡st÷ÛC¶£« [^¼kqªñFQXŒ]SÃßô¾Ä̘0²ˆr”õòLtÁ,’ Á-™¯5âH"ÄßÂEÅ® >€ˆÔ9- @ §¥GlŸh>šÅsö™N1Êw;m —èÛ5ÔÌUwcaVW÷PÒfÅ¥3M(\ÐÈÅÁÖ —úýéÛr€H‹(ác'EJÂ|“à XÝ÷âá]$«*^†oÎÕpi¶û»eæbóœ¯ä1ªoèÃèZ „ã`£i¦\á˓חÓw ±› œ ÒäÔÇ&Ð;ý3à9ËÔ"&A(¤053“ÝW|–`ƒn‰=J¢è2&s¸âŽ’‰åðÈôÄxhìOíq¼¨bÝ•²‘ÉMÊ÷µ"Mò¹»T­4´‹·èª ¼ºS¤æ-¾Dq}*±Qk°ÙÒ¦¼l Ä w¶KM™êÍ]tóÉÆÇÃäÊ;ï2ö[+hÚØF+:UPÞr¾…«KíIP;‡8F^®’]wÂLö·­€,–~\«d@ÝòeÅÊÔ·Š Ow¡B ªÊªŸZd+,)Òîñ¥¨²àz¦S>Òså!ÞÛ†Ii„ ±ô·÷n”µvO$† FF¸nÛFÛ'XN™?ÃÊ3„ÿ_ôVâÊUvþdÉÄ™ëTi™ú èUöW>tçÁ¸¸¥Ot£Á}oÖs\Õ©ë&˜|Õ/¢=ÿ쮚°€”«n‘5°7¹¨¶!FÀ31 Zñ>ka ³Ä\”&f¬¾º`>A9|¢• N˜t†Èú¾mÓ+‹á‹ø 2ý‘po¬\ý§²xTH«wAu¦ú_ Â…ï—`*^ž7¯r6,ŒŠÈW.ì—}c[¨üeŒ]ÄGJ2M‚á²ü»ÄòJry½ý2Q÷ß5E±åû£aÓX¦ÄÊ‚šÜ8ABÎÍ´çXë{¤‡Ò[†­Ã[ŒR¶ÛMnåEvPEh5›ä©0×=mÍîòF†ƒ‚s(’2%i1ÏÖdˆ—ÙtDZEæè1Ö^ÅLoì@ŸC«½|;¸ _ÉDNàýŒôËü%½¢íÖ*;§uWÀƒÉ¤uÏ¿º]p«§¯>¥æúXëA_!w’×é_Lº†¬3¤~\]ÒÔX„Ú´‹ŽDcø[(q(pÓM4Ž+Ú~GPŒrÃ(K]†b–h"Üéæxñ®éKÝÒ%QnAÒ©¤_0ÑO="¿ŽD–f“Û² é®c£Jçzÿ뵡ENïæþ¹€™ÓlŒ¦zšçXsÔÞhXK¢û>¡W¨êé®üIº=î=½]ÝÄEé:V $-9>ìTÚ:3êðM+Ý o6 _El"lÏ[‘ß?×åÃ9½x)R©Ð2w3>D"ÑÁ%»&‘÷‰”÷!qU¡\âkÌÀàõä› ¥çÕää.j^G6Jo9 hR’J%=°| ÅSôÿ[1@šú8µ,ùnæ¡ì…ãñOAîï#ˆ’Òú’¥ÄÈ”¬¤z¼¨)1ÜŽÊ4²´-í’òûšXúMf7”³êÔóöÊgª©ª z›“_XŸª·=Tï5Ã…öGÎs5°Ñ Ãõ–÷EÍ:ÿ„ „³Ü[e²ç9‡î7{´Þ?O]Ò—Á€Œêk–«P7§UðPïÔÀ ˆŽNAÈ«~[ZAâWQ,EJìyÐÈåÃaŒW Á‰[Û qÛYj¾+TO öR`òàYÕ6„JÙÐksfšÉxY çòŒ´çtÍM«d‘k<¬>Ü"EÈ®Çë>*åÃ[KVÜùEHjæðL2x“ î סþV»s½cU'2‚%¹AWAàÇ®(X@%çhú¸]ö µìG:Û{N ª:ÙØ ºb2YÇõ˜¿•jy±¯¯²S\î„Ýcp4tŽßè„øÑɯ‘t6P’vZÇwÈù8ŠK;—àÅBv>_C!6»Sìõ keõGÞA ‚—k /—Õqb¿5‹é˜ú¤0ö[C¡8 Ñ^Æœ=µžbôñ@¢&±œÎY’—AùÄ \ò ûjÒu}¿#.ÊØ8§ê{6Hq@[•~ÜØœ1‚9Åu +“§¿¼ð„9^vLj•›…©°kÿK{°ìÈ–(Åtn#§…/^ýzÓ?$AÙÈý¥ú·{b¼¯@hð•6à1U6µX¸A7Ãá!R•m×)8ˆ—!náúW®|ªL‰BÙ ©üÊ ‰Y¬<È£ñ*pÓ– ™ÛB¨ÊÑV,…è<࢘Ì[´W¡“¹B¬aïÖÊìqÐtlqc‘Œ Ù…iŒ@%k]Ææ´þµüÉèÝ€SÞÆ1´E“ 1 ýyò@)moTNÄ‹qÞ´H´á¢0M‘é¢Î'…œñ‰I›\çÐg89â‡@ûí(õé‡È9C=Ö '¸›õë˜×5J‘…™jÞÒ÷T73–ªÉ+ Ø<˜/'ÛÇLÕ8+©Ùµ ÖµåÌ1+ïX& ~×C-‚d‘¿Æ œÉw¯"’=ITfº£Ð'TÙ¦"ÆþèÐaí-<‹èzÂì2  .˜|$LÜsP~ý¸Œ \ƹÊÍ‹£Œß†És®_ÙWr{,Áÿ®<Œ{û¡/Ð›Ž \ŒOäp#î ôÍ÷L« õCÁÙ 0ciAvZÕ?D?ÄšdœÆe™⣨|Eýƒp±ÃQ0âNw¦w\·Ö¦ 3§Õµ~âìá/ÓDbÕî]Þ¢ülÙ 3/¬@êõ3©ˆ}O•—?å¥QrÐÿg[ÈÄ¶Ú àðÕ9sù—÷¾™+ð’‹òvP |BÖ°ª¨o¹ÉÜ]CG3I.QñOŒ€óve„ôTO¢`ÈüÊkôoJðË”ûB0øôîÉù›ø™pY2 À$&¬0Þ¦Ã)ØjýXÂl ”šù"ˆæ+EfÓëçM#•]â¹öºH­la“ø$Å”V:þö}nNà¦$V Ü…_€ŸLüRu‰Ø‰OfI±ºtFRò u{P† '"Ò¨ŸÝA1Ù\¬È}½jVVFX?1¡Àà†€]Rb¤ë :Ýš‘Ïg#تªX˱â f[Ö„>Û¶ys%c¼D À861Gn”é«Q¿þC¸s#HÜ):?A{P=ޤÅß}#Òº‹%ÆVQÐ#Jå±ý)°.Ož“´wÛ»™d&ÇóÎCúPbt!Ĩ]*fPEt”Í”ƒ½¦Ki¥‰ô‘*]„ø`ã¤7×íäPåb페€xX;Êí6p𿀹šÿJÕ-T/mkaÞV´?OÇ&þwt««ãÖåô¤_à4Ro‘©:«ß¿3þ7꽈>’y`×ÀùÚΟ&ؤ›Á2ÚªÈ0ÊöཟòFÆ·’÷8Mb×_7*'è©k@¹Û!:$K^j0·©Åú7»îwA Õ E ãÒÞº8çn"Ô< °)dPMò—‹„Ö÷žwƒRúK•4+ù7Òm¼%H“]˜ú…Â_´“ð¸7Üf¢è6‚éýMš ÿú ($ w*´Ø  ’”Й9 vü8°lk´hÔ’ŒfOÎWØíâzæ6 q}„î¿Ñ„t¾ŽY¸ÝiÒA%’ͱî:_Ïà z­è+¥Ï6_Â6—Ö ýC#ã†yÞ;§ÓNçw/‰ý† wÇx>ª=¯ƒmäkƒ™p¦§õZ‰ö~ºrvLO`݇]x×sÆ9”˜©ô8³ÃàÿðFƒnïãźqãÛ`ŒÃüP"<:ÅO§gwîçO›ÚÀæ¿¡³/åj‰Oû‰†zF?¤HóÛŒÌDP+Ö¹o,F¤‹ŒaŒM£øèÏÜ»r¿6çÀ±c .o›?@+É’‡˜ªñ!ÎàNP¼þz9 .M#ö¡£µ×}çÚŠ+„£ºT‚^Á°zMòÝï’ö!³dR÷m‰”»ˆ˜?¦þXm?Ð⸥eVÒo¶’V÷[Óñ,«Ð‘Nü~µOšH1œ7ȼY¸]¥,¨H¿©åý‰LÍCÓï0 ÈP¼5”x§‰ÂÄ÷· Ñ‘r79íÈóƒ7ÅTw8-að6¯¼½^…3×VˆüOû£ó8~ó¡h²¥8’3ÔRS@_ÛQ—Õå¡?Ž0£–?gcúßr곺|Ãö?( ²Ç[ÇWyÏòz‰g•ÿ=/Ð þ{ÔAе–ô‘Þɯ e *ù(‘(|!g>L<Ï~Kó¥©^Au£\ÊË7üRÖ<•ÌT?ä°œ¶£B×9f3 >ØrqX‹C„mÿAÀh«‹!€”æs¡ —WºŸÚúùØøJƒH’;ÉW˜¥Â<ÖÖseÐOU¾Ž³FØëSIVËZ£VGs\C"NâÖ°üKoãói~uoË^=éÙ6‹âYâ˜qÐ×®©Š+Ô%•§KEê”N¯‘‚m‡°©þ¶ð˃ÔY†bC›{éÃ-‚‘›Ý]ƒO+]îkÞ(¬š¦÷nA£¤~qªµñ@ÔË>ý]U–ÛŽdsÍ&Ø–Q‡õ4ÄΓ-sÎwñ;`7WÀ‚ƒ KÈ=G8€[Í\Ù dHùD ] 1¸‡:$Ì<§±ÃÈd(áŬ@~5à<-->ÒZK×Í>Ô=~*£S¥½¤7iÔõSŒw@yÿŒþý™{_8¨Ñ¬ll¸pkñ1–sR*q—Yˆ*€8Ÿäh4sy°ùqf;|“ ,‰9AOl]Á….=ò\KœAZйWÔ%OHÿ äµt`¬BÄ'ª˜è›Ã.Yœªù­ŽÓ±&øJÒ!ævýÖù§™ºÓˆc!ÏXZ_f\gšMïè=M“âYg3`‡ã»4Ç ^Ñ!ÖÝËã”0Ðй÷ëŽJOÆ•ÑøV¶¤ª¬Ø¿PJ8.É’ßñh_"—7<ãBÍ¿%¯ß„BÏ1 ÊŸ´oRd€…(!~8Nn¹’†–yo|‡$¯{MêtžÑæ0/)Z(è Ñ§Ú ÁáÝÈ¥°äB—$)~_yŒ$jÅZÏ3LAT+±Ýþù`D¤Ð'±A˜ÍLøxç¼*ÄÏÝ®:ý<ËC÷ˆ–¼³u|´/Saƒæ³,5ƒq3ÐþY.Ô¶PæB6IC9–àc¢}S û"ݲþòlÔ]÷èíê ŠN@Ï_WX|[u”ü‰¤.²mJÍA— ¥"õ­Ïl>N÷¨(%·ue±—F«Â’“ÙÅàC×ükA%3²ÈYª`Ô¤ãý¬äÓÛ”Â>ݘ{Qw[V>¼Í!àW‹OÊ!C×)rÒ'O“Ë®¥mHËH¾¾ ¥ žyB¤*{œ‰\Ó¬¹¤ƒÏBÒÐ$µ?`kžH’ãÒ'é¨{5ò¤&¯ëaÌ„|–SÎ"ùWL»teˆßî-¶;a‹e¥°)ywËF™ù¬yfæ5cæ ]V<ÒB&[´¾  dL(ê±Ï7ó0•?ÂJbÅfîÈ"ÿM¤;¥kP*„•­Ìêʬ¬tÿ´%2Yl{TÞ|¾£‰ ÖX¸ô•WîvÑÕ~ÉGÒÊX«GÒéàëºC¸{Ã5ì;Î!_;xž ÌCH4ƒj˜ÅœV3ÁõUø=l6J•*[ Ħ1¹XˆfÕ:ÖEÚœ–…׎¬4Ž0/ï³(Ü·#[Q¨ÇèË:YáJ–BjŸÇ!H0äweé(!ìq†¯ƒðÍmÒ#0…súÚ(‰¨àò/š‰ŸóºÊÁU*¾óüŒœôš^ïeä­ü¼ö&wˆê µV;²æÏOsÚZTñ%I0Q>Ò˜‹T¯q‰.i!‡íãºo ÝѧÅì—Ц«ñpñ‘apÎï˜ÊvÈ¿2ÙòMyâX…ãBùt-˘°)oà ’÷Õáõø²­mmܲ-GPÏå•$g+‹Ïµµ„ßaúP攊c·˜O#ÃINf´Òjn÷áÑ)Mí·U`rí\iª«4ŽË»‹úzòrIÝ÷[Ñh`–ÑkPpd9šx m]Σ°”?v­héë±|Ê óÔ°è +!& Ïß´\>+¹-™Æç”7ž?xZÉ$™‹” îÄ&„Æäøâ‚ mÅ‚ÐïºÊz6rè­p\ß›v5fëµ÷l^ÕQÇpI>¿ð@~ñfš¬"âýˆh(fÛVv´ŸÐ×K…‘1p«"VûËkÓ”Ë à/Öç¯X¾­ç,|±ÁÊ•æúÙO2A4cöµ ËùqNÃìkí.=¾Í»žÿ´Ön,fÒ¹ Ê¼`í‰:‚C§?oýŒXªqEaz¾ݧgŸ O¤Ûü/îþ?¹ 7 ¼ ST´y¥êf鸷«W/תJ˜•ÄÎ:Rêõ2_Y«‹MÖZˆdáh\J5ˆmÜL¶¾9?ùÿoJ‹¸C ‡cLÓn<]=<†Giò¥n.®žCŽ“ Íܪ͔~Õß'½¨íÜT4¾˜»L\Œ%â 7Õc?¦³˜. ð¯µQ&nYOŸ÷?]µZ¼u0g6ÉÈ1©ùè-{@f¤¦æÀxZ µ )¸áßýºav7ئð‘¨L8ÑX>÷ ɱll©|†£>NT—Øö*˜v(@Û²GfïHÜ9ÙåB’à1Âþ~¹Ÿ‘ÿ­OÑ3ÿQäFrQƒÁ{$ÁkT©ÐAšk†>òÄݱWºmàj3jV;YO‹ôCû‡ã‰guñ75s¡³•ÝQôÖÒW¼kIdÊßm ù,9PP!@„‚åtüu ¿á\²$é]n¯©FGÃf±€öá*·ÀIú<¿ÙìqV²(¾Œ,(’»P›æ{§—óÑ*<‚[ìמ¿Ô„yl *-hA¨²‰ëSnÃl¡Ù4ì=dŠŠºÀÀ²÷7Üi|–íB bd:^¿À½ÿ{:Ó‘q+Ëß©‡ãjIšßÅ:é^½FÀ |"yiÑ8<¤¶lCŠcÛ,ÿë*jö¸MW´=ß­Ttä¹*\"¡:EöŠQBÜ`.˜Cÿõ¬[êŸ u\Ha‰÷6!² ¦JH™¹ÉcQ¥o—U»{–¿- -á=%….È}íšúÖ^ðcåNS„‰W/˜[ÚœF°ô2 ¤1FGAŠwÐ(ˆºåchcæä…eõ¯ºì£¢ýe™7+ ¯ÓȃúËlÌ1‚þ m­ž¢ÖÅwµw&æX‚ Ä-d!„¾ÖOÕML ¨F±ÄˆI1I§ÁŠÎŽ”'˜vÒ‹Áà‹YVS˜¹ò-æáæ=†­ îËA¶át6$xãèk¢XO:¦XÜn3ÕatïÍÇr1™ÊˆhµB¥¸$ZwÄ)úéèëCG)ÃÔ2kiúÁ8Ca±ûÝIî†Ö7'aj–§å¼Àôå»nˆ”ÆY7'ÿ€q´[d¦üÄ¡œ‰ ˜ÌÒ§×9Âs9ú€œ‡É×ú™£2uÊk>2S¾jòm.áiÕ†:|‚È2Ó̙ڸͱD›Ž,Ké Œµ™ÉÜ= MÄw"÷³q< ®H-¥u„U²ëæ€sæðcp©µ“ßx@oWè,­Bpà…àÆ>›ðݬÁ.‘*îÓÄYc7»‘½ü·oe'òrBe@p窥Zš V¾iñ–n±%ä’V-ˆ—qfeðàŸoåÛZæ" ÛíY O³‚êø°¢·Î\3J:i…|Ë+švæëŸPðtq}P±É1ו~¿ƒZ°E`9/Ò@ˆ®Lí|ò FV€—˜ÿiSIU ѬѪ'Y™µ7Ñ(ª¹Öà¦|K}PÙû†ãÆ ”Êíb™ýXN¯ÓÍ(¨€ˆì'_ˆ-÷€–ü\É ŽRöÅB5·¬'ý¾Ü´òwžGïpIŒ=½M̰øvHM)ºŽX7äm;ú#útZg§ptRZc0nbÄ}N”{(vªÁ@ú6W>°1 J=È3m0©]…8f——Iµ]àl Q)T(ƒßÁ!]²óÐó`Þ[ÌNXÿ·4AÄâ(ÉzFÃÀd¼‡…?llŽ’¢Bó}ÖHêòÊ Ø”“=¢ú>¥*CˆšÊè4Ç\¦]8*“U´­˜îU‰É'ÌÅ/SÙ(Ý"' ‹“â7±ïç}h»"ËU,à¨G ÃêÐØ5jý/¶ÎГ¥xï¥{ äÓ¿ýÇ™íXªnä»õ"³Ëªqã Y&R¤úÓ^¥°®qî°Ñò¸ì±êH½j>ú.Ån“Ë1ÝPrå?3]iìžÆÏK-ÏPœ²wPDÿ¥aSghÚ·•~ÎÇ‘”p4…—YŸÅ”° ¨›Ó›+†w»ÒÑo¶MI58ôåw¿…p´°»A²4í´Kþ¯g õŒ1‚FV³ ŸAµ‘ñ£¼Ïz9P—qßßK>e‡ŸÜÑGýü¾”J3Îe3nVe¶;‰ÐR­þÞÃ~ ©¬NF`’{ç¢#/ìÇËŸóPÕp'¾f/æ^ï/n`îY͹/Ý5\øg–ïáÙÈ»Tê¼µ,ÕŸÈJ ‚ð:…áBŒ.¥P#̺\¸ë&­o$k•gÅøÊPÖ¯ˆ”¡»ãÄüL ÍJoCpïß:üªÍv: åÍéz‘ÆÌc¸ù›Ž$X3—H«]|âê~)ø¤:9ëŒNµŽýÑxÜóÔíFÞ:>sº¯1ø‰µ3§È+¯KôSµ×™`®!KâÞ|î·“V:ö¼"ãï C‰"Ô¡@¥TŒY©ÐÑÑñæyõFZk \0§x‚M ÷A4ðcÁß“G;êÀ©ûY~¦ÒhfxÛ˜1ÐØ•Œˆ)_²w¸=CÝ«‚¬ <©‘%Çb /«I¢Oº3¡ß¿×ñ†¶_‹º‘s!“¨ÁDhÉüÙnYª!©Ùë¼ç»™L_ŒxoËë²à 1ü¿ŒÄT\L˜‹dÙ$z\~àŒƒ4ñÓ,Ç70„ €¸Äâ%@Èâ„¶ Zþ—ͬ}Xõf(}ÉÙWØ2?‘­hή}pO²÷v·vá,ÜíÄF9~ªgz³é1õuaŠ›®ï¾õ óIÙÁYyõÛMà \KÝÎG…õ U¬öð œ8Kr ôÝÂ}Mì†E¦PNÿ즵SŸ¬§ëVOøKXŽ• aP¥j4¶4¯‚ & ó®3C|ª¨Æ\m˜K Û6hĬ¥[ëE61ÚY±òʈÇî2p=|X]Q¹™ÞÚmæX7cÈx%íôÉï™I3L¦> ­Ý ”j¶2X Ét 1:åyg鯥³-€´ô;ùæ”lk»7š‰§à<'`¥®,ô³óAð’larPíwóoðØ¯Ÿ¸Û6¥¨ÐÔɨåH8%õWÕÉèqÂ4]9•U#!¿ÒWÖjdØ- ±þ ²6„WdpwL3Êj•êô!j°EŒYµ‚gtÝ üŸº·Ì\{™Ä~üS€wœ:D×üª$PM#~ïÌm†W<£¡8(ÀA‘[hA'\º{A [ªû!ß¶Š<÷#Š'D•wìÇ[’üÜè…ÅóÉoÍUwŒ.r7¹´ ±Eˆ 7ÜgÛšZdIÄn(ÿÖá>~[%„”¿YË›t½ÐwlƒiàÚ_h3'æ™6áÀ§™òz¡O(.æ#»”rŸ’ŠŸ6Ó=RZãÈFã„X q!êPV×½³N͈œ†Ÿ j¼PįÎÝgIðªìË·ÜC/Ç”ßñ½xø¡R[M„¨}¶ÖcëQ#ÔºDÝ•M¦ÓfM¦!Ö¼hž¬ÖOêw@9˜½t7ñàÊüŠxcÒ ºâ^Ð6\úèó]›§É[%9°¬f˜MJîØ á­‘¶ˆ,Öý0ëzð@5¸ìŽAód`¹šˆ*\{µq¼³$Ãí•=Â(€B_Ö“ÁË#Ó7’>©j¿'®ò„Ríð5l¨`Êm@ÿsª&{ši^)#ðˆDü°F.`6p\ü«l8©ô%WMy.€*å»±¹6ÿÕ#3ýJoÂ>«y’ÚµVMY7Ë~QX@GÉ3òÛîÛhÂÁ8ü †aCëmÛnˆÝ,’æeâ, Ó{j’&DÈT¹ËŽÕoétÑw½øDý¶S­¼n>í”x…Û‚aäqaËžÈ bˆßPé;èÏ"¢vµdݵ '9Øp­oh q‡W¨->ŽÛ 8² €‡ž‡ÛZ¯¬‡|˜ ³ãô3Åv=iL_–xÑIú0M8 ™z»à îL-Ûe³¿Ys“b°„·m# –lZE„^ ¦aØ ¯<Ãîl³5yM¸ÈqÐmŽåP§Ç·9Sª©ùªOãý€óáX7£phì>Xq“µ¦ƒc>š{»•xkÖNÅ<32ÈB† Œñ}Ì[詸‰[<½èFY/b’_AÉ/°HÒe›ÿz¿¿ž(s*u»ÃÓü.© ¢_¹ k‘ëç ´jù¯Þq|ͺÚȽÄvºÆ|(WÔ”ÙOU9UjߊãÔŽØQ޾8ÿøŒþôKuîB¸cn׳;½œ“êÆxãWœÛ–(l®yàzÀP¢žë)¶Ë:N…‘!Õ'™| c´­i8k¤ˆ™’ ‰g Ù/FœõkçÀ©üÏKJ`J\ÙሸI<#»}|úoÑÎã)ÎçzÒY²`ÚB€Z²´5§‚Õ”s÷ƒÙÔùÀ44 oð/œ›XT‡¶t õ‘Öºþ¦ùTåÑ©om91€ºbtœ±¿û É2Y  {a– Aæ¹H÷«R}) ¸ š[úÅ/ŠBà ¯I4Ü4KFÜY3ë£M‡l2#.©:yË‘›ú^¬»¼?ÌÅ ±Ü .e7¹/ÇæQ2¹Æÿë"ô z®ìzlØ-qßí?œdÇ*ù2[ V}HV4 šõ‚•¿ƒEl€ÀœPa.§<ÿ†›"£pÍC¹}©w-jöFÛy<I /rû4ãûèt÷¾4wÔtUS„ù“n]c3zFù`ûDè¡8fÕtþ‡XµºËÛ®©ñFµˆ ßàXytW9ò{ë¶PG§%}Zô™í!󗇄9ÙªÈrWÝ€‘¡ o¯Q`€‰(vØ`ËýJ´YhFy?¦L¨†<­ É^re·o9öäæ32ˆ«ˆÔ§Fù ØöÛ÷¾KðÚŽG=&NôLªŸ¸¶Ì_Hüî^ÊÖ/ƒ¦Ûn -db 2Å“Añ¾J¨]"‰Ÿååq2L|E˜Z»1%¾µ‚u×´™ø!šÞOyÍÌZôB–¦xÄœß ÒoVb“Oz¢ëI ëÆ²Á„2w8Æ^Õ¥aÎõ–w>;!®‚c N 3ûTš€Rl§¹tóc ‚?Å«¿êÓ,Êà8E1âÐY´µj5Àh¢²|OEËT¼ä¥×ÍÉ t´¡æ¬Û¢ˆuý¦ôk‡ü;"žaÙ=–¼?pkc+e=Ê]ÓF@†ÈÛê hô"xôÇsÁÃá-¯¸0öD<à -SBôšDY±"S'Ö>ÙÓÛé8ï6jXŒ•ý×"¤ä0’gÜ×;½œÕm¯!zXu0)¾5Æ­ÕfÃÛ‰°“Á$ÛÉ?H±/eCQ„>ÀïòMë#ëî Gê<=t‘×ázÑwÁ¿‡¯/ô1Ï7T±ØQ)JöÆÁγ·“G¥âF–IRÕ°&y€\˜t¬æ³‹aË–“üBð›Éù]eä¶ãù÷,½¹gÝ¿o•£e+Þ¿Œ"à<Ì«9Ùš¼úæ pbÊÛžÙŠOÀѱ»ç2RkZôo; @4Sˆ•D¾»Gx‚Ñ$²Pó6T† ™°(ø­d¾‡×³lTÒ‹ y‚ÝUìþ%ÈÎ6_§qMà­/æ÷þF¼HÐGu^¨æÎYÜ~ÿ ä©QñÏße^˜*üråþø×;êñR«6F–ž0m«‡j-YÛ̳Æ2‰“N7håÀA¸_B·AÐê;YàSDĈ¨îFa’v¤[ôbÅèxð»UÜÌúO@HvÅŠ*™1£c}¡’BIïÿÿðNÂÁmÄu…îI’{šZމ{`ãׄˆÞìxIc÷¥ªÈJÎtn&?óŸ¢£ü)vBÕ#Å öÍI’`&÷fRbÎXÚL'K÷q.û¬Æ/Ô*¢\Å€SW’èƒ2Ê´ÿ4´RMÓyTȇLQ¬^0s¢:>^CMèp ¥TüªY»Qs8~™æGœá«.è*ÐQÁJØýí“°ŒÛsŽŽ¸ûg±v­E €cJjèñušsΚï- c”ß*©»3è"cÓl0íˆONsNœ»—Ìëe!bÑ|“¤y¦ƒuK£âOw…tÒ¤:¨’€JW„Š4Ä>+ûp+ò¥_ñÍ7ŠÙ§!áÙnÛ , Þÿ¡ˆ/ÞÝ’„æA?07“‘ò?¥ÉO–Åב½zV €ø5í¥½ß÷0Ó)<5Ë.ã—2Xùæ@¶5s&~Içx9ÚòH€e«õnáQËsy(üIgAˆu€eâö5~ã®’xºV:æ«zé6Ô«J‹‰Œê%kFmá5*¢?‚®Îóšù”³F³î ì­¨þDÀ+MùÂUªSˆ²eõffž,ÜŠéõÙ–EošÖ{̧W;úÓO|Ÿ~º½*_tqCÊÊåã7yËÆ‚©R“ˆ™/ÇA¿>Ñ¥òãÖ3«Ôu‘n.‰€`¹‚Éõ‘·¤¿¸UbEAÖ¤ê`c¡@¬ãIö´‰}¤ÕB÷M}Ë·Oœ¼¿ÑóG·Ÿà±i–wL?¿Þ(r‚æ %Wù©.ÓE÷k@'`ý5#‰ªçÛ amœÝÂ>¬)å|ͱÊs°ôMc˜Vû…IR}“Ý#01M6Æšù÷ª·gGZsSxõ/BˆüáÉ9ß¿§ÆÛ>Ñd}Ø siÐîü {1»pä ób‰#ÀY ª¿Žn"úí¼¶—ýáŒE>µ|4ØÏ麰À3µ‡ë€,’c&Ûý +×»cPíZÈ‘ , åq¦×¢9λz¡6´mqÝ"Ä ¾ð¤ÕÆ:ÖIû;I2kOÓƒ]m$Æ¡Ms-F.“Y 2´ MS‘R/5Ð[â~Ò ç'@ŽåIaª?®ÖÞøËËîÛ§äÄîGaC­êEèm†èíòŸÆ¦Íç—Þè «`°fÅõvÍ0‰N{$²³ÛâLŸCŠü…Ó¡!ô$BnG(@!±¤ánXWfH?§ôÃù‡¬p)t£¥4å½ hâØ€Aâ Òs§½ˆÛv-Ù€àjTfhÀWœÄ\Z›²wÞ¾™:@œ{±c¼2lA&±ol_ó<¡ì÷……õ”Ñ)ä•§µh‚®&`ƒÒRÌln˜º4çöµÒ2ÀQ¸ÞÀ[3«Ï{dEÎ;&í¯L œËà¦bKBýÜE8SÆ¢ÌnKĵ_ (<Ž…ö,ìÜ>ÿ,,ÈBN¤Ìò‰$´“çx\' -BÃÛ-Ôê…ÑÿÝHß@0¯c€o9Eàå—œÛuÏ=UD R,"ãÕŠÁM¹#™¶‹9P”¬\ù…²^‘¡@èJ‰ðǘßWÊFPr»¯ô4¥c†ŽR‰–6Ήt•™ZÏ­7hS¶#«G‹Æp*ÈŸ˜ržWw$y.F¤ fÃëcÏ›Ý×;sU¼ê')\o™l눪êéÇr„ÐÔ¥ÃzEOnç>µg…¡i%ŠB¨`J2 Žíù$I¸j·˜ÚäzW i',¡QÉcáâNs>~Р“^ A>Rbž–ý@á?Uð’ÛÇäÿ ÐRÜÛ¢ªãÖԎܶäAFiÕ£äª ó¦™ë‡#ûý“! Èco9âÎᙄiù8Ž~Á"Yu9ÈtŒ3Nê&Iâ&o´CK½&æ #¹ìgÕD·´ôÀ@Ý¢£G¡M)ÏÎåW?ê ¿ú—­QW•d™4Ê6 ý\q*Bá½tôYG$¤ÜmˆÓ:ÛAºmgéOKbohÞ]‚”±Ur!ÞÚáôZqà9 ^vÈ:='о£ÄÖõ¨ç¢Ð÷¢Ãܰ„Ì6ÍÀ¢P. SŠö€¶MžkœR§ ÜbbS&ãö‘˜^ŽÎBðƒÅÐ½Ž¶ÝÇð[¡ó“Ñ×늳Gð÷ž s´ågÙŠFA`ãÐɈÜÔ2æÒeb5ìM»¾ªc•¸bEˆ^ÑJ7>¢8¿}=òª>=²mH¶Ã´ìðÀý3iX³[t8fí6îE¨ó™ý"ŽóÓÔ®¬‘D(dA±qV’m‚ê-õ-G¸íþÛ2M<´:L…ШOn¿*oÛ y»3ÀµBr¾ÊuæN]×WO5´ úÁ¾Ûcë'1šrZ6ÄkÐÑDÀX¾°y%Z`w\z¿Ã,×1ÏÔ³ÅÌ"ïx¬Ì[Ãò¡¹°È´ ²™6ˆšZëǨ&ÒÏ뺄l%Öô—vënìÏSrãƒÒ¨q+Gÿ7—ƒ›ì.Î3‰èEa±y»»ã^Ný^A(Öø YFµàÔ7ˆgªÜvmÔNe™ûq^CtçÏæŽØ´9C(?—MÐNmÐ/¤Wòš2ò.[oösûÌL{à÷o1õ ¡yõrÖŸ¤ÝÐÌ1Í2ÊùÓZ¶.øˆëdLõ$ðê…êáfSÈŽîö5Ã}ó”‘°cgj²”õ5ÒRj£híÄ&² “¬C ]®€Ì½9æEúŠÆŸèœk¾]T-à¯99éÞȦÄ)G‰Ìî› ùåSSötLª±¯TàÐ x<–”á«öd«P˜°XùM²aòëMûX?Œtã7”O³B’é3Ê÷›(¸ŸqÉÅæ Ûþtò÷0™í ù|¶¨h¥ÈÙ¥¬Ö(ĆoÉ—M3©˜:ù·9GpÑ篶?wh‡gy)Sª€ºÔÙâŒHfCÆaa xªÆìµÃ‚.˜ 7ØtÝùÉ à„‚‹N‚ãM3¨â‹ÃÊiN z ØLIð¦°q)ÇŸLdµ)©ÒÞ6F•[ha° ÛY˜Ü|òÛqaVµÚkB;ÁS‘v^úŸ-dZÈ¼Ö çÖÂŒr[¦”Q>y¿veˆ§Eøs|«òB ¼ü§t†ßì£@ lþDßú„… Ê çȹIzèn†ŽâŒ6 ÜßUÀK êÕ© ]ªþ[5Žê$Ÿø)‹ÌgWa]ì,l ¶qk¡ŠàÈöþÛ[©UH¾¤cÖÂ>ªœ;ÈÏö€I»x¢ÌT¿v›èw®,øòM˜¸Ï”P5ÐyœP‹·0éà,¸èu>Õ® ¨ûÿ „Ÿð`ߦKwÞHB§[‰l²‚ íô,ÄÒÆþyFûª­fŒpãPÇ]B>>°Æžß}Äæf» ÅPû2}ßâ>6,üV%Ò8òÜ5”Vß¼!6·\_ÑL>¬zÑoööëéâ–FÄT”cƒ–X/h\g»yör u¨î{Ræ‘Øp×Ò±.ç€*(|¦@X›ÉÅñ|0fгÄç€j¯©×¿ª\n9ߣîjç•h‡yúzð» T e”æ1Bx&«Wÿ‹‰¦úíKkøìûA÷>ú€zcŠÎ¨›À ‘ýhàG˜Ä'äŽ'ï•áÆl6DIëvÛ-³,a7z”ŠO£Qó‡¸8}õÖÜ•µ.ÿp&óaade×”X™¿ÞiP¶6s3rá JæPþÄÚæ¿ËQj[ƒþXt$«,¹RcQ†‘ˆî‚2f†4M £3œg=q°/4 aŒEõê>Ÿöqþ¦÷† kÎåE…°`"vrà`Áƒ|F9ÆDðÝàq'p>nþRdd8Øy0ÜþMº öqœ³Xé[vÒ uôˆÖG`ºL-‘ 'aÀRÚ£±êÉZÒàÿhÂLs0·0q}RBeƒQe-´ÿóêÏúÅ

„…ÃD°4úNZU´Jf/øWþ­×|3‰÷Ù„G $Jî1ãDÈv:œÁ„û”ÆMóE¡ªÕßö]EÀŽ6Ï»+!-+×ß´S1b4:¦8I9»ÆÓ‡/Cüp— ñnSóû'ètµ6¢ªñMhRjI Ý©Q;%5õéIå–65¬¤BY¹j쉭zÒs™»Õbp@å´pæ™:[~Vð': J¦ú`×&©ŸÊÛ¦Glë‰qUG¬< “ò…‚ýúV‹‡úunü#Ç&´ +U”^|PºœØÐùùB¿Ûn{ÿŠYü ÝpŒËî¨  Ä©Á+- 8b7†bZlc‡·)‘¾– 3cµ£ìÐGxöyAHhØ–6"Æ?Ó¼¬ˆÚS=s(k®W‰ZüÄù¿œZÆ_ ïž™ÜGP#´ãÀ%z@ ù³J…êbé·šAJ©¶oæ¬qæÆkrrܼ«2á•°SÆL=Œ ï}ƒ+‚ŒœÈßÜB†î%ægW¹Iq D_l´ å ÿÀÞ¼Ybr£I»êÄ€dýÀ~è~jöu'ËàSl¶ŸÅ‚¯qÕÁ"!£„dóÊc¯gÎÃsõ(žô /v dMÚÁª2#ÒÍÀzÜTÇ:fwËÆ TvŽÙ´:ÃÙ¥¸ª+ñx 4`:d8cZh÷·€fĶD°Ë¿²F©öÞ캣$Æz$s€J•V1È­ÐUÀ˜¬p¡¬ÿ,PY_ skAP¶J3€ç邸éª|ßšœÆH_€;[8÷Ôìö/£(<þY}uQP‚˹&5U6“%!(ïõ 1ÀZ¤ˆŸy¤’µ¬Ú ¯Våhª³Ž‚+ò*s¹ñªYÄŒcˆ.6ÇwÑ“…eàJª.rý:(îð8ÜâÚÞ©ï’Éãûöi•¨ãÓ %#>fm¦-‰_̬i^(?és·WþèÕ¡§µ*)ã´ê# ʺ'Á–äñ-ãàJýB>¾ gWLkLš/àg _¨œ}(”h²L·Ouö¥’ïYï‡Ýiõ*”÷9œ'ó^»çSĤM,amÎe­úC$Üúÿîþ%ýdOHâÒøËNÿµÐèê6‘g×ù–܇À‹ ‡_í‰P»ñõާ<ÿ{G´ ßS„ï¶GhЭ¼{q§P(5¥Œsþ/Ý3³/ÆçN@P)¸’Æq4ÿð`íÔ¸lÔ´G½&…UàwØD2}®£?€6ݼ k!ñÕNØjÕh§Ç'·åWÍ]k vY§~Ç|5§Müê"èe£‘D¡Ã)²d«³Eä¿xÀ­›¯x¤÷I 2ܺáŲ)Ö‹gM·ñ°»?ÊYæQi@3&m‚ï%HmŽºâƒan#É‹ºpHá­„Âu2ã-Ç6”vúWl¸™«Ù ó­Ø,•ÛkiHJ½„˜W‹×Þ 1¥îÚŽý×yÛCA,ï€DGr¹ÍD¦o„ƒ¤Zr‰K– *>¸œ1þ‚¿„T³²nŘ=_o‰Ðqf ø‚62H)Tåýrÿ‡ûɽZÎ ÉÕÿˆÌ«•ÀCJÅîL_¹B Å™]Øðž àÚ…%{$ò«²œkbÙ‘’Vƒ²Ô®´-™Õsž%TáêÆ>˜ú¬4êú‡‰½zLâkRtKß¹Nãfü Àœô3X3dǾÄ^êb£qÒ>?­Š;½kû|ªDÈ,ɾªÌ†š¼=Ó¬5°›aNœÇVŸvæ«þ†B‡ë´$ëEúGÊ5Ó»‚Ñöc–?eÓÖx tÂL7 ‹øé›ÔªÊÒ*ÐÑ+æVi¦°¶á¥=€"­‘ c? êoÀøh+„}ôÛÃ#gñ÷ì—‰BSCihTéã°‰a_„Z1Á}¾RtÉ ´ë7Z¢H!ø6šUv<h?Š;æ™%ŸÇ èGføÚÈã=‰‘¶Gç…ic50kg,5XÏ©Q¸jMlΨmUfºú늨0Xé¼³Ó)n°aæ†I#X®µ+2¢Ã¬¬ñ¸ÉÍûp/xJ=!—pÉÉìíN€1AÖ¹÷ÐÅ϶ߢ½‡[+—ŒÏ%$´8ÿwŒ 6c ]H)NúpcRðK¥ë˜«n¡]ëÙu»|=µsR—Y´Þ-ïÑÉê<'2Œ‘ÇQà7Ñ%2ž(€ªÌ±6•}Q“j²€¹³§ÈÅ>÷\ B”Þ’>œ6jÒŽ1ó^ à Â#ò2íþÞ¸.ü8˜cêæ”ÌŸºx ›]©vN6˜™E_ʹê‚ÇžÃv•/_HÊÝû$±Nä܆äâ@tj%S4àˆóYmQeX …ã~Øû°§ć’È÷~ô߇²_ ö§.‰ÛëLq£sìO“ò_ÔÇ^ÕV(ÅHΖ>³•ÄüQù WãþŸ/Æ=¨¿]õ“-Ðéü\gq«Øx‹ïý¯g8ù6§R ÀDy¿¨­}”bðœsBIç—Û½­íû¶™L°à¦a›:í7)ZÔ­C¢¨u:uRœ Ñ%xþïÏxgœv׊Oo±å´!­T £$Ðh¦ÿˆH€´¶4?ˆÐWÏ” ztb"§ÍÚ§"•i5ZjÚ8>a˜>šÄ> ¤¯£Âä¶îˆôd!-^ ï á‚©½ÍäM4ßÑÈJ³Ee"U®ˆ$$S§­ÐEücAzn$£\ìÞffÈW}È–NtŸA0tÈ*W–Dmú¨m4ÂØ8:þÕÿ™r¡Û7$¢Bd¾ÂãzÉÇQyÅ2~<ßÄ™‰;ñÇsÞÉØ?˜ §¯.Îè®.kkþvu#­ %åˆÄ0‡‘†¯²Ÿ‚îK^ç¤üJ„÷a}y£:y.ð…ò^$âáç·ÏÂÀ¶MVÝRøÝc_mÔ¬ªâžJAGh×p€YêQ7:|: v3»O®'­‘2dbfUÝ÷Sñ^^’‰ŽÄ:å­ý›MÍò$Úxð%Õ>•‹nR^÷2(×*…UöOð î[5ÜÅlêíˆ{¸Úã6*Wj‘ˆÁWhõh÷6cÀ]ÙßÙ7åd¶{e*ņdFÙÿ‘÷s8E½?KÃ=‹qY^ÛdA¡ül)IØgÝ·´.­zÞcƒB 5…KNñ¼ï§ðv%‰IXñä³O*‚A@Ç[aåJ}Á–uq»o¹Ž3 kC£Vº&ä;‡êô¥û‘3›Â]}Ô³saˆiÎ1¯’µ²ÿ^kÓÓs(8ë¬gÓiíà*Ã¥Vµ½x£"Eއ½Ï^+x3¼+ ·‰ß”1YdAÍæ¥¨ÿÒtÙÒ§8Õð.MÒ´°yÓv[Íf%%„ó™m±+M+5 ÆG:Ü .¬0‹°$ý¢C»¹¹kÝçÓÀ~Š4Hz1(øs]¨‰ÜeíÙß k E÷áÔp¤9‚«qFö‹*}p/(¨fÈŸònºÞ,»ŽÛ Ìh÷šåà"«®ëJ‚tŸ‡å‘ÁÀÎà~”q=Èîý£ÝÙÙÔ,r|ÙØ\)Àànª¬¢ÈFâLó. ×æªÞ]º¤Ù•éCs‚Â=k4–Ò[°´S´´o˜ŠŒ±ñ‡RVRx;ÌÄ9ËŠ`lÝXÞ&±û·ïyòAÏw÷d`^ ‹+§e ¶L6½²ùcQáà×|að "¦"€éf³fÈa˜áîìñXõ€÷(ÍMãD1ªÁa¬N%à Tˆ† z]1»:`aÖD!ÊÊqK פý)ÅØ%+é-B%ú2ÁÙfqôY¶­ÔϽˆ€.Ëñ˜„àkKGwÙ{öaâO¿Æ u[0e¥V³I<#Á »¡átt@v2úýt‡ ×ñR¢ªÛøáWα¸ÎR˜ƒÒçÛ;´²\qƒççÇÿ5N’¶4E)©® £p Ú$㽋ÝÌ;›ÇìÌ;0S¬SLй!såãxλûá0dý³_s%9¼ úNÒi2™šC°_[tJoZð_UnEµñmJaéJ(/õ(4[Ê:ÔÚ©¨J£kUk3æÈ/ÝÈ’ù]¬aýÙ˜> ³'¥ÜG½Eò‡ç>í¡Š¿âdŠãjFxž™Ó.¾6©ïpSdÈpvìû\ö«,‹˜¹*‹rûd°·ekö0ðxÄ#¯ïÚð}¿$–E·³vTBH›li[N;’Èëëê,ï&–ʘ:HkEw¦qª>â‘®F¦C¿ 5ý:F¼{. ^Ï‘EcÊy;Ææ$‰¯µ-‚•ί¸$ ›—]®y)Ó_õúv úO:~ìâô3×G6”¼9ú04ä€v¹þý7<^©b¶´Ï5BSÆFT š‹OA0MA"ˆß¬n‚$F¹ÊP¤¡G¿†Ÿ_›È³¥ù†|…|»cÉ¥†ZiÁL…¤ÃÇ$o4eð.–¥"Ì$Zˆ›B).ÇÅ-ëÀ¿õ4ß ý yµGõÞ{Ž£ƒfÕ¬y×^ˆÏ]B¸½×©ÒôäÈÞV½ã"¡7þuÍÆDj­ªÖ ÍVXÃs.;£%íT¢IÞýà+¿Àÿ¥`Ž7¶¬HœŽ2©ªSqMƒ_/TÒÃs¬ÒÝU cnû†²îçȬc òR´h˜4Éw½Î9“ò¾·›üÐ8‚­«N˜ûËU_.”rûgÍåœÆo4÷­ƒE·@­º™ÿ£ÿ´‡Üs¾š}Ê;J¹å(LŠÚÂ-Sºu§99AEl(qί c«VaÁH[+ºƒ.„³Ð…}·#C4û§@}ElvRæè  z¡úV ­ïܪc¬Ð#†ÅK†/÷?‘â&5Ù;{J×?=*L¢Êt>Ýà}Ãð4ZG“[¡—9`nÖöð %;…¹:ßz>”4ãrª”¯GU%@~æç€ÊQÔ“šýŽ5–{|Ð5ÜQžÓK:$Ë»ÌQ}®¬i Ô¯^ËF³:îgÁ²ÀÒ>&”$êx&­±o¯Ú¹|?§L¡0EŒCª s¨h¡ý^£ïÁn–I] yI’p"úa>öqr¤au*ÐEjk"=¡ÅêÁ¾6`ƒ1¢G9Ò$Äš¤ ;~+e§ß"Œ®´Ó‹ðç&E£&LÓ<²€k®æ±~|tÉÅ‘.Ñ(Rßµ 7WÞ4oÌW–çݧlŠU!E:c²õ‡(ngg]³X 4mûzáÈ넃[þý·kðˆ"é}“`¶úðÎnK½f­Ë£/À'‡k,wøœ3&V$i´úju á O·i‰)EBÌŠÂ;À‰ð%)5@øå×¶Ž/éæí¯Ñ•Æá²Phî¡qE?Nx[ÈÙÒîoÅϲ̙ÂSGr$°´¢=”e¯\÷GYÉì~,?fÖ±}s¶d²ä5B%ºAsZRJF$}Ò4êH°¿Â…F¼úìÓZ¶dÆkx›œžJAÑzî³´Îþ ùûjÅl­½Ò"ÿŽi¸k¸¨"š>[÷~]?Ä[v{0 ¥Ý’¥*ÿèeØœ8bŹÄ×ÿR­ ›*…aãr¼‡.¨~48l†é͇±4ãÜÓº7LE­u¿ÅÝ,Æã´0`€?âоLóLîq6“Ï ÍsL™xßÝÞ5Ñ¥—“eE_Á—Mïå{çåÕÉÙÕgÄ[ê5/Æ “°ÝCk1®Óª5¶Gºw„b<4k F£•†, =¿o –+¹¹³fïÙ•.Ž)©dÇ¿Ž vñúÌghE‰ã£пӘ:äüo¶† ®äªb̲¸P"Ý1Ï êó]ŒÉLІåú““JsÖ³>=þ›”êT˜Ûmº™PºÔá!­¡ÝL®`ŠrÞÀyYjºXŠ®ï«ÙâýµJÏœ^kx=^7=1óŸ`¿lá-jlP’zäÆö€zâSD§ž%ý†‰¨«zm-=\ZÞŠ+ê$Q§ßl+R„¸óEãÖ=¶ƒe6›?ü–Åa]'Z9$Á ÎE/ÍÕI¤®9l–&ªUƒ:S"$ôϲ;ýt *úôêâæô戦9ª[*F33öKxßÿ\lÌÞò¥g×€Ž(%=Ëzž(Ÿ$°ý–°2éo0Š 2æ¸Aˆµ Î÷t¯Ÿ5NÍßê\/[Ô–i É+p´aÐk`J.Ì<9»R™ÇÖ9«ÿct˲΢ò;~Jñ™A óȽAîzËÓY·Ú]»@€‡åÝw•ô…*)'¸옋^.4«Œµ1+&A—!¶©z“ÂØ@Ä­Kä‚©qeüL¯Û¬§ž¯ClýøñÿÕ=ê§ÿ½L<ËKCCæí(ƒA,0ÓøC` ò „ùý\uEL<œaÇÌÍ[LšÍ³k½¥ã˜™ÔßJ#ÜÂQ{ Tι–R¼sžAeó$C¥¼ºùíÔ+4 Šöà»§çøP¤á"í±ujâ,{gâ‹x¶™‰ü“#ÒälÊ+ LLvÓðy©à(KÏ·N¸Vè—²kÄ6€©à!5A'l‰íçÖø¶‰ð`Á™‘‚ùfÜ´a°L'˜gOœÕɽËJÔ¦jÀ" :|/ä ÑãòÁU“ðñ|ÃoÁ÷t}&°™ÌÓº ÖžìDu÷tà¶Ó¸ÒÚèŸKæŠxÇ0µ ø42äÛ3y0{0äXe.ò«#)}e_%\R'¾Y!ÛU÷1³x òŒß=à äÉšÀŠ¢ÀûaäëF…¾ÆÊ“^[IÙ{À5OÄqªä Z–#ýC ñiSgš ^ùÑÃI¼½—69 ·Î!H‚j²0ÈëM‡æ¤½ßc¤hÒ„ÿ°+Ì,ê\°-áTb%eø{ƒµ–B×ÎÝFâŽ1@­IçÕzaÄ9Ë«0⣥ G×Èê„£ôÖpÿ©?9Mz§ˆ’à¡Ò›Ïù¯zt!-ŸuÁêÖÚoý‘Û}µ%¥Tm–ü%Õ+/Ûå _¼õngÔÃÁ……ÐÇ# ¶Þ5ûp‡G83d€–®Ú@î§rHa—V¥©Ÿ«Ñ……7êùU¢Ûô VßCª‡Þ+¬¯ w _{ªWk°Îìã=Û²˜Ä=©g¶Ypëà›H7î |±I9r‹VáBÜrûqå•éÁ&¢»%÷fçNÏ.ç„×´ªyPúÀÛR#ŽAärv­@·4¹×ǃvÁ:†ëlA!ò=‘ßy9r,¦&Ê+n±Wé›5K>Ëçõ± ðêÀ˜íþ²*~вèB#Ï Hª €c%[ó9({2Úf‹&CÓ³¹§ Hð™"½g˜ '‰‰sȸYJr ê3¿”D(›}©-ÜÈq‡1·´Œ‰ççêˆO§&©HZ¢ãt†:q§ÁáÔÈ;ZBÿan.î"È.zV¹Z˜>n.ɽÖdå׿#Ez”2ˆÕÿ˜¸¦ŽÙúdæI&/é÷†wIÈG ]ønä›w•–èÃâßÂÑ$£¥Útƒ¨VmtJ¯×H2_Œ¥á¢µÉƒ¸EÍìZYðqó ûU’ €x ÕS^ÉÙÓFH‘qCnð9»Ëè‚`dŽø! âjŽnÔ™v¿Y˜”A4›œä#±¦×‚¥]ð÷w ý1åQÎ7á2ßT·ë*_åê§pùŽ|_ -¸©Þy€ŸôƒåTƒ<ìZ: 2²ÞÀ®£ŒpÂ`ž1öÄ÷Õ"·†šŽ›õa&V1Nz~›·=Ï7´MÝ-Q²Õ¶&€?ÎÞϽXÄœ>eüýþÆ– ÒBß…*Ï;ñ¥ÞêF[Ï ¼‘@B¸ãýƒ‹Sg Îµ8öô/Î HóÖ & (ïè'KÛ± j¯ó ù ÑJÃP …G£ušhïÍ@d@'Ò–Š)Ø“É_¹:lkú.ÁËœ×4)_#aŒG±«m.¤+JöÊÌImƒK–3¹Maß3coÆ…îêa|ZúÀ¤0e½2,Š–…?£#DHò»:Pé¹â€U2)“)];–ðÆÙö{#*¿÷[ÂäôÊKÀ£ÅŒgVÌÙý^ hÿvÙ¶3½ÀRǯa$ý~uä 2ywÇ{c@Õ…¸ñ#îý‰I5ç~®F E¶–¢ª`)4té¹Â^ÉäuÁ™Õ½ß,ËÚù¢2ÕØjl¸Â‰â;‘ ß;f3ÍŽÚX'ôÊ›æqü·Y•$?§-è¡jƒÇÕ½J§"®Â¬ïÄÒÎ>òìÊÂ{gK‡E`¢sO¶ÇšdCÇû4X¼ŽNäEØxˆ,¸»\V¿äQ$mS óbßÍkhø.EÓ™‹éÝ‹^›êH¶€Z¾ÒE»¦¿0t²¼!ß_¿˜LÖ!áHö ø _ãµ]gib‰v%GÔñ‘UîX [Dæw½\ŸDKÎeKÎe§b2ÌX†OKdù´ Ÿ*Žn<îGÅ{tgÙÖ²7õ(–Po+šÒ 6䯔EpÕKLäAÇŸ0nÀò~àÒÙÿ“?È1‡³CÓ‡ë¶Ì^v Yšî¢…Œ?¤X_IC¼ð»Ó‚3Z¦WŽ» éTÊ`²g èi4 Ÿm¨¾yù4\ *è¦ÎŒeš6pTœWdpuÎÆÉ’:þýT9\œpqøÞ^}Ÿì[zâ&ï =)å'|´xm‡(Ày|‚©ÚÂî˜ÿÎå;ÛCb$QLÞñÔÉôzûŽÑ¾d(¶­yj¯Œ‹Ú¦ž$¶}|ËhôZûä°‹[ôɽ©ÛUiôŸ¹¸p'Ì @…ûÌ9iÌרª‰udH‚,ó†eÿ7¶üŽ÷B»ˆT6‘Ë Ý_þBû¹ç…%£!E“‘Òôu¤™’[%ß:°ä/õPrA)M5çù«+#\à‘!nn\R®çÿ¬èÇP LèéÀGûŒ4kl¨'tǼ%V«•žò‡´áÎÆðgº©i„·Cƒí8u|\/y­3?¢Dõ†¢#Ú†Ä5‘>p1ñ\gg]š´?l\øÞ›Åá·¢NXQŠä¬h¦ÍÑh­>?6DéÑQFÌlXFÇÓ(ï땈5õ ˆª¿ÝÅÁ†‚]ª˜jˆk{Ûg¯zš®$œúr²½zì¦ ²S§<¢Äp—ð„`ˆJ![–ÀlDE®MÂÛŠŽ‡¬Ü:Ú%R/òçKp(P ¢Ûü>C¹Ä@^ÿÅÒoKˆá»[àìØaL$•®„Sš‚ƒ)âcžo Í¥:>{d$w²9NŠüæÒ8cß½kÜ«'oϺ;ŒOSwuÖYOO\;ÆgªãŽ XA¶»f§¤$ÜÓ²oÁœ–<ï¾!§ì`—H¼j»ËiN·ñiÐÍé,Ô<ã®;ã`ŒýŸ¹K9M’‚ÿ(l¾{ŰX¡„¶˜àΉEÃyð¬m*àiözÃþ±±Û!–üÒ_Š'åѪËêð¨¬Y\Ñ«ÿ½‡ùªFcÛ•t¹î/öÀæoœº‹Â¬ˆ`¢i@Ïš›WH¥ በÆ€¬@mÃe07M²…hbµMûO;FP~¡Ü†.¤¹¦·3Ò^ r÷‘Óßãd‘Ø<$¢G»âÁ‘ ½¤ðª©ÒÕµURSqŸD j«¤nãiÅ2Ó £ãÛÆšõ¤`EËț殫ೠpW2êp×NX©KñÆ+I¿×0ܸçÄ.mV8Gb.Y1ÿ©æffyçã\¯H¥qðrǼ†ogœlIÂAç?´š¸j`šzwÄ_cÓp;ÀîÎß4)ƇH"iu>ê/x}‰ÅX“šø¶Uáú̺‹ø Ó‘ïZä~Sé½ 7 ä׿d;”šŒÿ›‹Ú·ïKÔRžñª[(¤RôlJéGžQÍZÓ„3;;ÂòlyÁÅw>;æ>ÃדÝ/ˆ¯£Ô<þf±µÿA¾Ø"-LÉ}º[g©òcÚFÜ£^Šl$IT‰ã|¥V,»ºOs\Ã;ÍM1Ñ6ÆckÚ6Ÿ‘-®xÎ&ú ¼ÇSAzÙò’­jßšý6G­1 ñ,·qOMÿ1†ëBd ÷2f¶cú‰¬ú GT©—ï>мµÄž+dé2†! j£çÝ>îW“z5‡æíù>% øÖÙo.ÀjojÆ0,P¯)ç :¥4åÀc¤£. &ô3FÌÉlÊžoJA´¤’ÚåéìÙ nÈvõ¬Ä¢IzÁÂ^%:-z+ߤ4äyŸÏ²˜™÷§Þ»¾”¬I™½›ÇÀz Oˆ\-âÓ…ž–¡"¬ëØš?ª€Wl󢺻þ¦¡·^’f > u¬}œÓŽ'u[Æ[Í>É)º–S§úÖf€ì ®"tú¥î*Í~àLº¯‰iLa”ÁºeÔ ¬^Ø^üUu#DoèQIˆÛG¿Ÿô¼ôÿaDçAñêSÆ ¡h ”øÏžQì®SB, D-Žš¼J5WKÎÔqçOÜ ž‡ÓhÊ Ö“s›Sö[ÛX OLN¾¬J!Øe Äð&†ûÖ®œ[Ù¸iü`”{Z}òIßZ Ÿ"S[²×ÜvÈØÈ)1KtÈÂÈf0ìˆ2¡ïÚ©r¶ðí]‹_û8[Æçij2+Û¦OËÔ*pñš#àY|ŠO“E¸³w}Æä鮕lÛzoûí’è …3^S(T~ÍíBo!+8Qó7­-ÈÖÞ,„öûˬî÷> ’?!39ø,9án]º‚£ñ…}þÙ±¾VyÉK•Ý)î?àÙc¶À.ì­b¬¾ÊQ%Áóǹ/Œ`ÎQíí‡A°…‘RÃ1´Ð9ž\gÿõÉ_m–]ãŸ(ÎC4Ó½:Éä}5À­´™aë‰'Ö¾õjßJ3®o·cV@Ø+e“\vÎMbÓ°6âáÎDu¯çe¦µnÕx_ˆ\™Ûš :ì½ö ÙÆ¼nSiŸ-±B4_^+KÃqþà7¹jš{ëø`}À‚cÀ4ìS¢Dõ¹@ú? Å…³w€ õÈfw¾Uך¦óNŸŽòº×b'{xÝ‚5®Øùš³çýeÆ–x«¥wJµíäà’»²t\ܧ¢£ü5e™4G:Y¯w@mÚ±ó»Š#Wa2|ZñuýØ¿YF¦ðÇ6ÃY— ƒ=ÖâÕ%ƒoôUBMo}‚O¤6>à0o@4KÒ¿ž6!S@¬ Æn©"ë^®yƒgñŸš†‚kª¡U~¢•D5ž-w…Ê#Z¦\Á¬Òö è]š“^EÑw)o½G0BI£š€D²HgR‹ã¤OìÌMS­h‰}núÊ{&–vMÕðãVPŸ¡n©FQ!”ò¤8iâIµ ^@7¡äüþ>ž‰+ •aó{"›Ì‹ˆ8dxÝ–¹·ä¶R˵ƒAa³ZŽÅì'òm™¥l`Ïý/ƒü'O=ˆ®•˜æAž»½IØ©¾ª“»Š µر“ëIâ õG6/ZJ)›ØŠ]yÓ°ØãënØf¦‘Fëêw~ϱœ=â—¸M¢ ‘ ?Y¢òh¬©°£²ç}ÖöçˆXõi‘2ú#–Fà¢ðž+h 6u9~jÌW!JµýZGþOPù!qɹiãmÄo•ÕÐÊÛƒ$•½tùº ¬ìÒ}@ð·–ùËÈј’­“|>{Jò[ÕÞ—†Ñ-…f£î«—‚–~æÔëp±ç ÀS¯LIÜ0¡ÇEa'$i¨¶7H3/ŽŠeÃ0™1œRIÚCè÷~ ²•^ÿÁÏq¼´)(ê(¾63ÜÞ ÀàÛPXBtXM 4è˜÷yk&¡Îáó÷%´õacª‹Œú¶œ1´tÕR£Guª>Ce¢ÒyÏ)ÑM;á tõîU-X—;èE?5—RÛ½9Ø_»›#¨µßá¼”¸3Ä&Êsb¸{…ûÕÛZÈUO ÈE[±.(.ðf2¨Qn¹§÷V3¡|#‘?ÌêQw(-§€Y˜¨>Æsä—aýH¬ïgm¡ö6i8Y9#í³Õx"æý¶ÁBn>ÿCîÀú¿²Ëfä¥ys':€k$[û³ î*†»>3÷¸5påEáyÑ›ZŒ3¾«¿FðÉ#A5^n~d7M‰ íß,OãZ6 ®V-í„gÏþ–]^Mhý²Š«HðGŸdÆÒ=ÿͱg¤³ÎF(Ò{T8ç4|,¿uÓä“™üqÌØ7n'/Låõá XÉg£UÇ-•r|au²™döü÷sשE,­:ïìȳzµw@ß(™h*WvÏOçâ»Só\âlÙ•¤j”jBSO0Ÿž-Ä;sƒºkXL½ÚÍ•Ü)ŸT‹®–Ï `YY´##Þ8¥ºó«îÌ`¹æèøáÍ•§ö„‘0,•ÖÝm% ³CÅQ:¾ð<68ºý ãË~nbeÄf`ÂÌr~M¸ÁÝ0.lÙ,{y”“‹m'ÇëúÖÝa¢íÒ]_#[ë @8´jƒÿܱ9¦klrø§½Oß 9Ù°Èœr™ã¸›ìjËàØ Cú†Ž ˨žKÖZÓó¯ÆeY§{|I®ë·ÿSß½\{idÄrŒ¥ >$Ymg¶6„d|Xļ¾Qä×­»ÀªïÀƒQÁ«£neÅ­Bá1Ö‰ìS¾Œvž½Fe´Ž„€Ž¹TñÜ=%îÍe¼/ý‘ØÃ(÷¬ù ·ÖªD]Gë}BÆyjCÜþ»ú+²6@Õ os¬KÉûB똽§@‡Ð"žc¯‹ÔD I÷ˆi FPµùc”ÜíW]–Z£'â>|…D¸yû1ÍGÝ!óRu£PêÓ¢+§lDvÀ,ÉvG«£Må«wMÑz?|NÊ\ÝÁ„õèzÉæh_)qqå5}D)×TÞ¼™…Àiγa¶x·º#Ÿ 63 ë9€¯m¼aÿ"[Ù¨®R Ú´TTgl &~›^Ü2bAÌ|Ò‰ëïiM-¶¬ ìêOàgC‹¥÷QîåkbŸAáa w§ÃÔHÎùR±Î¸ ‚ß÷†&­ˆ¤â¢ªVX§;å+Éñ7ÙˆÇ6K¡‹¹ž/ÿ6wצנӬ­I(]-”h Œ JžæTß''毲•:d#@¨ nX™ðqÎEµŒÄר?ÒÎW{nü½ò@róŽUpôy¢~ÿr­òæ)én)ÃÃ|¢OÈ%éÅÝ< Ñ_#jÅeûyÐ!8ªCÿ ‡wx„™@‡S5uˆ~šÇK·PxX;gDavÿ‹D 9¼šyS:pÀ] Âô ¨¤ÓÄç`˜\!cV™÷TðZS¬9àÁêÀËWTÇýg  À¿ÍTw`þû2©KÁ`ýzk`RV]Ì› ¿s̽`2”볜4¼`q ôï;QT7¶ÚeW٫˦ôÄùp£ß{`^³UNSwÇÿ—)'þ ¯2÷‘Ñ fá×vaìÒãTº(”¢÷¸­µŽ°&ü5=“a•Î)çÆY„îiîÅ ëÖ—šî€ì’ñ¥«ã Ë‹k|«¡‡²Ùƒ¤c\7”.Hïx"zk ÙÞãÑ™Âa£Q„âb¾å«þÝYMÉ®°döç¿:·‰ÅiØH’mœ[‘þ¦K¹Ä¼ñ…ª¸Š*·d§O‹ ¥çØëŒO¿?or«O€ Cã…ôµ‚_ø{ñS~xqEFñp5ÞÕVtÿ¯àËØ2jsˆ0Ù¨º–VcD§‰=¯ŠFÜÓoU GkØ¢‰EþÚ†Wê:¤n4ÚÂ^N‰Üwˆ'Ôè-À5Ãê*ž%@üìSóŸ»2ÄÑ'³Ie@膧³PïÇ“ûCÊäJÈM£'œm·çãS'À>jU¯Ø`=³ |;…>Êå77âý3÷Ðð€DOÄkĨœæ.µœó^è&L‘˜lˆ'€Ð/ðqVëŸðêx¦] ðœ}´¹EW ë[ ç¯ÔŸ+j|ŒÊ2?iÞ³cN€¬‹JSñ•½fjRq= kä¯xkšû•rq^µ—ûâ8‹8£6´:àªUÑ?á¼ÏA‡øðìQ’` r窭ª­Úsò— ö“) —üŒÃ1EÌì¯Ø@Â(›&9)X¬äft•éuÙF†õæul½ƒô€3ö8ŽZmãš·9‡Ø´"Pša ™gŽD’2²Þ™½!³½$`qá?W1<úãîœ*¿Í'윋EE¶6=:À±¾X×ÙÀ‹î=«Ëm?€ž“£¦öt®àÁQ”Åʨ_1ÔYpí6v–ø UOä w ­ªO¿5"ÿ úð>sÄGpú¤Y 2Õ ÑsXû3/7û‰[WS#&æN•pܱfC#Ð`µ8<˜AÈF~æ'ßëNqñKÙÐׯþŒRþä 'Û+ 3GÔÔc,{í ‘RùBF—u}÷!÷­ÃWp³ £FxÄ «còô|È`4qiB\¹,¯E|—8Dö©°¯¹½j@I¯ùéI^ZÒ0][PÞ)6^c\—Î{ªÇÙáT1w2•×-îÞL¨OmÍ@¿TÖVÔ&ÀaUŒeFdë²}6öü¤±Ö–XV7š»ÞJYWE=«UcVÔp/'áY¯:R£¬¼v Ÿ¤ðQsA•ýBá¶ç kª{#_Õ ì_O+d”/†‘™+@ý`I'üž5±/ 1Læj“¡öæ´P“í¢j/ËëEwE«¡j)a‰T¼àvÿD%<ÈCÉfçhÍçô8vw÷ÿ‰Ø"Ù7š‚yMb2#V$/¡¡Í“nbý£e5~}iJ‘šàƒPüzÂ÷¾¾1]´»T(DœÒ mè>±šÑÓäùÿÈS»— “ÍßMIa×õ¶P—$PŽŒ{€*W½*¸´ý%€oÕ`¬þ ¥GzáIáM>©ZcÆE@?ØÎÈqè›åÊê§9«S²+7³)?–ƒZ?cH"èo"²)Ì(†ÄGy æùpùú|>clH±äˆX…9¢AMƒì¤ëØ‚þêæŽ¡XŽØí ·Ž¿—mªí%û5ªÌåWx&’YÛDΧ}^¹ºÕš’(FN$Ewð—œp%"EYUªI¾+JWSƒ6ƒdà>’1aüzôÛí"uNC"“´W)=ˆ6s€ûSðÛ.#7@eœbŠ';S%zÃ×’©Qüžˆ8UPïÓŠ Ô^~ oöºgFôåY첩Ñ\ßkXW ˆ§ºÊ'ב¾YéåÜqá š÷]„ÕÕ&çp®*Ò°Eú«h…#R½D‡½÷ Ù “ÁZû;“ý9Р2O%©#ë"gêY‹9¼=©z<÷ÿ–{â5"ÈV´ÔÉ¢éë3§Ý6™Å=Æ\ïºlU/Ñ*s~àÝZÎSÑ¢ðÌŒ†A.‹Ö/3 ƒáÇìðÓ!hXi*$*;^mÝÜpmâX]Ûʳ̶ØpïEý7â¿ÓnG²haSе·4ùÓ,× ó2œ"ágÖ!µ}AZݯ¥˜³t …U3ÏÏzw²qŠæ||$˜•_píÑs~ A3éÐüäžúí!ò£×jÝLCH°"@²ý/,»å¨>ÕÆÆ`C•]¸õj×ÞE§ÂôÑ#j*ÏÆÛú¶BnÕY-«ÜCNçÅÂÝŒæÏžVû7®ûüð×§q€©^£®þ¿ÉY{¯×ù^«ÉsZäL;„¹½Qý£Ý$PŽ„ƒ K¦Š)ƒ!½>TtÖbúª†D¦7qh‡jF—“¤ Å‹¥‘s°ž´§V¯©I¥{¸}r°„ÌShTéÌ¡UÈyþXîA8DŒàóEï|X¤F’z]ô¤ØÿË]ÏÙèõí â@ŠtQþhÞóù0¤_ìú”¡_+‚œYæ“òÞ:Á3_#“|×iò½1åõAv\NÏsùmª!™ÿøò¼]ÞûÃ0K¡‘®D¼ ½‰žÊÞ IÑý¬ËióhŸîSv'G‘]þÿ—t?!*ýÙÒc‘c>@m£÷IÜtd­Š­ƒ”úpC*µY=»?oºöhF“Ý€MF`ë¾äŒuŒN‘U4@H_ýÁ̇¨®•ú ŸëAÐ’ó%,^n«5E¾ Ä´Í-¨†É4þ—;ÒXàI”w™ÙÆã¬Åª€Y@‰’.–hcÚ…ÔðKU?ÚµÒ.¶ÊJ8Eâ®Ç¨9÷Ø8­À@xÖ1;1ƒ¸1ÒP^ëúèßmùÁ¡ÞýèMúNî—Ö`JuÒ3(cÔ48„iA.+µ0ל«çøWü \”à9Ò@™6íP–ñHtö÷¸ä¼õëÇËçé½Û<5p–&ªâÖÖ£»”§ûŒ%öÇqŽñ£ØQ3Ú±ÃÐ:d¹Á&å{Wƒ3éõU2ÁÎЈ¦U9ÞHuÝ ÀêÁr¥í>›#äG–ï  …+œ0•ÀYÿägW‰÷øÃ®»ÚW¡V“«d$ïèGàÄ“¹ÿ6›ƒÛïlVüδhص!Æ<-I0‡”¾ßÊZýÓ(åŒ ¦ä=(¯ÁNbp{Û}ÒºOAiõðgƒj领å õékÜ&W%( B¦ã tè•àöÞË£sÕ!$qëVb0I½ :¢ùÈ'ßAŽyãt᳦ÞEì¿›ò”aí ä«§tæè-t¥˜i¥96†Ù-qEkƒàÍ.;´—qÝÃBJây)Y`A¡o«eßv~8ñÃ-8&WH.~ª0¾ã:½U1UØÅ,Gæ0V îð‘,ü\¾R`W¢÷sdýŒ’Ž{$LƒMªªx³;öAøþµØºí%¬ì7ŒÁþ³§,ÝYÒ`$¾@°­NåkÛÚàŽP8ëSÙ ¶ûX1õÝì~¯Ò¼ŒŸ&¾ÔóYÅÚìI¯™n Oê9·£_Ãê¤D…äé™õE[…'=D³${NòÅl£«Ü§RӲɌ­#|ó!Bî3ãØid8òë=è> ÕâT bºïuìõãá%-ûÅnçMz—ÁÂîø«0¡‡r(93þb©Eê'D>¤ÑX'O}~áÀ)šÖ˜·@ú¥ûîÓ-|Žh³žºjÞ¿TöA€ !o7&‚¨Aû÷ò‡µ8Ä <½rÏÞ(Þ‡ù_oí/½ÞÙX XBªd¨ëê!ü%¨ÿùzÔ"§6ÆC ¹Yk¤(Be³váuÁIß›À-‡¾÷ûáÿ[ÂCÛnÊ?E¼Â€u¶4¢6¶KäÞ;·,ƒú†ÕÛ…ñ!-R°|6ñ/[£Ax=¢÷ëÓ8¢|O•¯i_™bm~j»‚Ž­¹J^q"Š‹ù¨Ü°Ox&²Ió®­@¹Œ¸šƒÁm3öæú†æíàÌ{¾P/Xµ¶‡ÒóïãzmÏSsæXÛÒx«xìõ±Ô“ ‡¼~´à(¨¾ÊôEH=ã8&~û¤Éá”ÂMÔ6§,MQÓ‡÷Tù‡,­þ1Ðû½Ò.ÍâŠIe ƒûH¡…¤1tÓ6ÑÂèÛçlÀ[‡ëÔ#‹¥8¥n¬ë%€cýï#ôIÇa!u–¢{¾Óö~éÝ$â›'|S}Èò;ÞêÉ€’„ä—«#q'w 8ž<=^­ŽA­ Ö>|%#ó}ílù¿#€ÎŸ½Ï/<¦q½õ(­Ø° ¶ÞûB©\Ñ}/qõ’N#GNE[Gð¹-€ª–Æ®/€ýÒ¤ÓáÜ_ÕßÂ^ÎãULËÌ•d€€bt\8+4w‚ç€2ö=Êßú ¨XL+;,¸ÎªS{hkr»«Î:9Žõ꿦³uוKû÷&T$é2w¹Ü-F𯿾ÁÆÚ K©z¾¿ I-Šb¯R 8]qSÑ"¥¶bÌ«IêJÀñ¯ã‚Ù]XÌàž.暉ê5ÃýÒN-¨Ê;ôLƒõ•f•šLû b<uKÿ;¿çq’=ç;2n_úxJÒKR‚Þxc!÷™DÓ–‘KAÆHpþÊèÚL ›y‰Ý„Ú±Ifm³K;ÍC,ÕÉF2€9þ{X‹£ «(r>!ÀK¿aCbêêXÎà³’oMÒ°æÔ +nû û,LZGné©õîA‰!<%-¥¿Ä.YI÷¤}ë¬`ãºß¢©"Ÿ*€j«>åV[®lÈðÂïé{’yê^&ÄühÑ&Xa Pt”í‹|Æ÷Ì•g¨†.b¨¸.T“ŠR õžððHá®´¬{ýn‹,Vã ZiÈ«™B«pá\+„œu¥5ÄR±Çx;3Nfo>QÏVÛBIqÖ +õD ±e.«¾²9¾+G¢ú\h¯{ÎŒNm~b‰Ð»äÐ?ó{]¿æ¢oÐùòÁ9ôÆ õ÷¿«TÆ©«Q^¹®¸ñ|~T­.úý"Lå0¡/U.qXéÆ/ÃŒG³'BÁ­«‡ŽWF±~ç™íŠ­ÚÒí%Ÿ«è’)Ô ŒØç¶8ƒ`Éh‰EèÔº¡ØÝçn°ñ-Ùh¦÷Àí/äA7MÝâò Cˡ‘A‰9®ìKN™{NßhÇÈJ×Ãj+D¯¨âœ%8}¥ˆ‘ö[º¬‘ÁU`~™íâsZêÑÚ+K€ÃŸ(¦tü9€BŠ÷dvß1|¢E|¶V­~©Áп³NèšùÝf%Óíÿ…ð6ÉŸ}ÓŠ¡˜Ú`å…‰3f7ÃBŒè)R•×Ͼ´ØÏˆÿï­á1º§ú^‡zg² ©`õG‰e7Ðô‹q\ˆ¢º²ÉÀ2`—J<ß³ÏLéËD„– \¼¥ë˜>rÌeF³p³flò6Ûd%rË6>Øá¯}ÔÑï2Z¶¾éVäõU1‚ž¿-§ì}ïbxõ¥AŒÖ+)*™Ìúv©Õ´‘¨s¶Õíå âKÿ§ËÚÃqðÄø;—ŒÆsM0ß·JZGM ˜7jö Qná Ù¤»ägNðöÞW‡L~§:?iWëE¡Œö\C²Y®‡iòã8è‘™ð7°Üˆ™zrÊà ô:ô[JLGSö$è4ÚJÎ…ò£ÊËÐÀèî"¨•«Ó' Yvb˜Á&üþÿá`EÅÇ ñcÓ°˜Å¹'œØo [eÓµÿA5²(ŠQ€æóñjå Üÿ°¯`/^žñ–}À@§ŽgîMñ|“Övó*îcYÙ1«¿±ÏIM, oE1#·9 c~èdÛ-{ )ñÔ‹Q xì ~«Ô*âyq—¿‘Ùè$Y] X°Ë]øë£éÝe¾,)½¸/ùsÀ†Æ`_|7˜º¬ÿ%Á5ó©6FÃèõêd“‰Lb3e 7±F.5“(`Ò^¼2-а³ef<ÎhG"þæÑᓪ²Oó2&¦Þ>í¶`—lMi;}_¨0_N˜wúN”>1É“VÀh”%ÒÃ1“  ÃAD²ãÙÀ®,õ£&%¸£¨Fƒ: ¶¥åq~Ñ=ß¿z5I—³¤õWᲘx“‹v­@£iu2ÇÉÏòJ{i€¤×¦ˆ¿nÐn‹õÛüø‡î¼¡HÕµ:üI°>QøÌù¤WˆÞog7c/K#·ŒÎaç`ôú @nvu1±”X+ä-S´Žl Æg¦_/o40Cžé\ÂnN‡ýÙlðŠINË„oë+¥þû¤ƒ¬Ë=¥<Š‹>\÷ÈÝ:#3ÄO[p;x ]QâPã€Õ.3HnFCpE·Zîè—ëøë\\3ßø›YÅymx¶Ç”ë²£´Àdòé |Nûàô5áæ/º=!JWˆ–R-ì4Í¢ ‚ûzq99Qa1"[вθÃñ 67ì˜ÎR<â>îÍžðÅÕðà)ˆí¤{Ô#.´—Á±ªPx¯dØõzž…º¨ƒ’¨‚Q+èO3uâl¬w੊ÕbeB&õï>³ܽ6c| HX®¦3‡*Àb±VÃz¼úpÀÖSaîÌâÚa,Œvob¯PÓ\kj—ÕÜ—_Ø'nFèBpòKØlU¤& œÂsLÃâÉKáItQy/)@!÷ÈyœKŽ6ߊIè«Ú–‹ûla} °u›a côåã1²È|h305nÙÀz]çãDÇm3¿d"©ÜFXè¸ÅÔ ‰wìéãÔézÍ€¸O´ÀˆûPM²Æ¯çòº÷µQP¸È°f"k{·“nv@s/_nT’uÒ|6Zsó…ó+^ YfÓèRž>iW»gðÎïÁ£xÞøßâ\šñž–é¤ÁD¾‚!ㆧ2¸AÏŽìb´îOrØ% A¼„"Õ©y”¥éMÇßðÛh¨~(„dGE~Û0‚^¬×‹jha©ø™áoî*~bÜDGÏ>£ô¬œ4ékpåyNä7²eüeáhEïm‰Sý­øÞÂøI#c†1ßg÷UÒb›N€Æð«oÊü\î·Z›i·Éä!*?×Ì3 ’˜©$£Øk¥3,½8ö 4æ½I¿Ý·’öþNš“à\cúeÒRs’î¢æÔ‰ ½ ~'q2‡'£Ø$2Ó*¹ˆDRÐaÄÜ\ñj{¼±kDV± 4MÚb¾ ¿šè¿eà9ò¡HO$¸±Ñ†(én^’ÁŒÜFÁÖGtƒø1ÔyËJEyúŠõFkxY²P>ßËžªŽŠvºôûç*0±fÏ—áü.š‹ÃX«–ô½ãZb&v·%K£\œêsw9³d^üv¶•gM*ß©$‹¿«}W#B}ŠÒ…½óïótì7—2¡ôšåÏÁ³¯þº­j—«?æIÔu%W$zH!cHE@ü z¯8x`|÷Â×OÔª[ŠÄvR;Ÿ{â•æ,çYt*ârPΘ×sZÞau@×»Ôìr·_Ëšé™`[{hœÉªþk¯P›&ð%˜ ?•F°4×ûõCp7¦}f1êŠÉšS`‹) 1“•Ôm’7nFŒW—»ïÍ7Í2Æ‡ÌØ¢ »Ñ{vV‹dHZãÁ5ŽônEÖÅæ&eÏÁBܵ¾†t‚‡_|Ü\=UŒŽ/”6ŸÓ}TûRá¦`ÇҶÌ;ŽÔ½à eîÞâ”ëEžwéÚË¡Tª©Å„óônÖ=šËï &ÊÌä#zÈA—QµµûoZ|Ö>\Ô©WáÛ¤vÿÝÑP¨q}¬¹ŽçÏÌñþÇeåÚæ®ûðEx ݵ)¡ï8ˆþ¬>€Q·÷3]ÝgŸ¼YøÔþÓ¦|×+j—+ÄSêb§Úôš£`&7w'ûÍil`Äœ”ø!sKm„`á¸åy¯v(š·„œ/Yì9à½qIÝ"Î8lõ[U확­}§ÿ³(/â¼»%î :õ¿v˜>\Ÿ¥íž™7–{„Fý5ï˜T›Z‡V=»ÏïÃ>ø£½“¯ˆ£1û<Åzj¤‡5®¨ªÞ·xò)¬\»ˆ<÷©{‹c~Ÿ×â#¯ºÖb‰á²ò¤jįᵗI×à2µã ‡-Ž©RˆâÐIÍóË{—I fÇŠbõ{æ§kN"û¬¬yÿW]磃¾cX/Á2Øm&Ž*õÛSä’9ÙÒWÀW¾»0WA¢WȘ%Ï=H¯˜&¨ Ùpm"€Ë'5%Ê‚p­Ñ©RxaxÜ‚ä/d=â‹ ¢ œ®·f:¾»¡öcࡺ—7n=­Šp“P‡® ¨ 8C 8¦Ã:SkïÈ'$(-mhIVì“Á¨µ;¤›~c`XPä Æ¹‹¥|–cz`u1v»7Ë WÈk)­AËô¨ê“?]yÃz|Ó¨œ3_BÓ<&™£z·àÕ M¸÷‰Òåçä9TD«àNmgÞƒ:Ø'Í@GIæ~?>*3‘—çªÑQú¿ío°°î‰}uÚ¾6Tò6§éîÅec²×øE•Öu'™ö)#ºZ¼ƒ}g®<¸=°uoÕÿƽ¸aò”ú³Ê÷™§ØoúA·JU¬…ÿX“ ôÊ !ðÃh$Ùv? Iìîð<ќŶ/BùI¼ŽÙ»^– £¤¦1ø4åø„ö2824™A ÷–G"ö<_ò¿Å…¤ËÖÃÅÓ¯†ÏCëêDu"¢ØÏ5«^\Û~Ÿ|›½Ž2nþ8937š!¹œ)VCßtŒ+Ã/WÜ<Ò¥x;†9×kϳ¤G™ŠàŒÞÜÉD׸=Ü:5]ÊÝK’*­yÏn»VÇz†Ž½m²ÒÅçfðÖåªé`î©ôME²€ÇIçïÿøƒ7›õ™<–=×M+Åì)´’†S¢}4/ÊŸtÒ_"‘ÒÞ[&íµ¯‰T ÛDtŒG‹þ>â‡0==°§ žŒæñ› V"ˆ–'kb-RªýĶª¦Ý’˜ OÃ~ÆŽÁJRÊçÕYi€JÉ5õ¾@0Ðèì ÎÆhŒHY ‡~c*ÛØ`ª>Ì)~°?òOWV’ ¯¿à Nk™Áµ+7¦ϸP,¡Jc ø½—Sm«gëgÄ)JêÛ¦ÖÈÚRëQ@î%^Ü+Ê@\8š3#çÀW !¹óA¯1B5‹b”ƒ“P6ïC‰E2¥ãÑtÏÀP0"Á<}ãQUøînäs"ÆÌ !‡_,ãI럱l!H·ë1!E'ÉÁ•»Cèìª]05Û¢S<Ùº>Šÿh'¬XLéïÃl°ý,åÈ'õ%8mÕ©÷²AÍhŠÝ¨al9ËB X–£ ™±,ºVÅ×$kGÒLCzÚU Å×}ðtïÒû_Ê?̇‡+&JÞ€È'Ø[Í‹’ËÙ¦ƒ-ºâfC'ºÚ!@8º‹mD Ÿf¹›9êr¯d#õLl„Áâ¿^Jb[4it" 0Ž^IEßWEÂúÖ=Ч$‰­¤Î8Tl.ïî'x˘|¿~ÔvLðnI¶…-ˆ*(<[±ø­m,.ši¤ê÷ö™ÐÃÉÏ íæ©¸vÁ¼ûü‚û﹞±¨^­æ„èòÞ„®.$[8x<+¬a h$Þù‡XCWåÍ BÆs#féÍ7©ë ˜ äªs)­ÕfÍŸôÆXDÛÍèh‹Ã¸B˜sGÀÖtu¤_ÞAé綠.q¬÷V UоX¡Ö¡mdAø ç4;Ï)å;Å/œÁŠ¶ë¨‘=µ[£‰Ðè ¿LÝèîÜcë}ƒÌ\Pð*f¡ráýá,ê?ÃM“eý!”yaä §&ùçãÜûñfÿÏþÚÌMK."g1>27M´´ö¬}ÜPx1CåíŒlL èoQ­|n;ÛÉÛÿn!¶ÊÇRƯNÞš ˤmÓÜ'«XÎ*xS-]{¬š6ǵ•ÿ5e…IQ†6Åôï1‚×µM‡%5´Šµ‰5uL°Òb®`×¹ªR2¬SÄ€‡PTHòßP ¤¦mºŠÔõ†¨dŒZGJ£L{qÂ]ŸÚƒŸÇï‘x_èƒgLÀPAªµgcaQµP`n‘ˆ¤Ml–“ídŒÍ¹îþñ5H^O› Ø|Q4˜QB†ô!H¾fÿ“#ÚÜcóNîT€q’Š«ð-œkQ lŸªª§¡YµÃ 03&Ÿ/™Û^G×*AÊCÇM[o€ë@(àÐNVeŒ_A¹Î“4ÏÉÆÈz©òEha`…5œZ¯­, ¯Ê0–µ/ XMF&Œ3O š¿%œ»G}ƒ.ذu¶‡öò~õs&Àcò[—ìÇ*ÌDŸ?…G½ŒLEÁÆ£Ü5ŸÂí$š.È$DçëH‰t:o]öHõ4ªpÎ8êQ7ª”3!k`ÝîFAìU,‹§Y:Ó¨&ù»ŒžÅÅkàîóÉÅïÛýK)[R+¢ w&µþâvˆè+âE¦Ç‰ˆ"‰ öd9#ÿ_2+O¬™|!fZ‹ å„ÕÕÓ´OZ’‡~@Å¡:P h'`Ó†Æx|o*ÕfÒ#†Q‹¤$¥±ülíë•7¯H¯õ^°N ”ϼº¡…Ìóq.XöÈ»xÎt??nmt¡á\©›û0(Ä†í§šLFªp,Ôܶ¬QõiLÛò¿òŸ7“]7Öž¨Z§¯®ƒ†Šš‹D4;=Ÿ…Öt4²2ÀÍðÆóÀ…ü1ç-n05ä½2˜ÓÝÀd{&_‡¾¢D3§¬ñƒ£ÚM‹‡zê8xV?š£ìBèa(›Gœüá­ & ÿï7øÛ¼ŸÚI+·ÿpø´ä+ã_~ÛuW´/?3§1Uù¶FOÍ2ËOCe±1c›\·ëz`÷C4îËœ;\¥¸9öõM­;ïeñ*Š3¤/úrEø-Ê”â¥#îSŸÂvóv%O‹ÀñâÖüŸ >áß}æè”¦óÈ&k©f»ÁZðhêWÇyRÃÑùÚ¹áÝ*Žd†;ü`ëçäê[/ï"3„¶æbYäÁ{ ÝN Šc]{@YàH1£:CšÇœvå¤ Ãya TˆDL ×½îSRs™©î²ÄïÖVð†|b»BÊ;_öÖ}…¸EÇ2÷0»»sˆgîDsx%â©°ŒnoÚÐt-ÚñÄØQ,º9¾s*“`Z¨)‰1ãO1ž%~ÔP÷k°·*(m¼‹9Ênðößb¯ X+ÍFúç;úŸÚ ·fÓâ•¢Œ,ÂA$£³AÉIf;…„ËÈ ¬É’;![¼·£¸æ˜9BS+l˜r¢[4’c%#r¼Á󣺣þ{ƒ›Ãàà©5I*øp°~”õÉÑXC2Äv‹SË ÎšTã~åÒ‡s Jý Ö:WÙ‡:pÛÃ/IÅ(ÐÓ(s/Íê¸kÂ,"¯Ý8סÏé[ƒ8Tn~ˆ;±Û|(4zPŸÌ7OÆ)uþ7év|ÿG5£)„SÙèÂ/‰u‰ù„AZl˜¾Ð'+Ÿõ÷§"´:wŸcâÆj•MëÝý`K¦Äõ î|h*ÚFù›!6Õ¶Ë¡c§aÈxŒ¡ËY;ìYÔ;| HÇJã™ÅŠ*Ý©úîÉ¢ûÙûÙCS¯å—2-(Í™K‡¶gj–ŠM5W¥ÞçÜôð¬®PqÄΓûÑ©í”c;tÏ¿zVŠèô\h¤ÅØü'5`í¾Kí¸ª¡Éº×Š«B½3LÄêhM `­)<à4(aÀi¡×IJ†ÿ-Ç™ªägìUh*õ/Û[\ÆÀ‡¬‡L­¢B ÿŽn¯5ý¹ÌÁ³šg±É ?íëÑÍÖR2¤¸Š êî¥õõ«LØcêUa#v¿«ª1:ø»§[Xnxaö(½ņv½ì®GYÔ‚¶<-”ß(×õ ˆ=Ô ’žÛŒ–ÿxXÛv(þßU¿Ðžâ,zØŸSº9d)›„¶íQî·Ñ?«Õ +“OðDz¨,˜IªA<žéT.3j(7Ø©¢¢pd¸Cé¬Ôã/Ñ2=3Zˆ öhçïqö!ë¹HÀ£lGÎ1ÞH”Aæ ô  íêËw|âg”¦VÖ6Coq·ÜòÑQËÃÆšög"êJ©ã ´1vÍßñl‡Î:Õ|2ü¤Ý‰ys³íã¾ò¾6¶w•7qÖìší˜0c•VQûL0Cwpö‰×û aãÝfoÙ–Í~ HÝOI–¥óµ‘ô…[=‹B'-“`*š„x~×g ÅÖ¡±ynk­…€ïî4傽{ÇÇbu›…¼YÜy7Äéu¥M´ÝŽkº»é™rP´ß@‡ œ¬‰ ÿˆx8ËyÃ)é×^M|ZõdÞ߬`.°¬c¬”º4ÞXŠTηþ9ôúù>;|8S«BÖƒÇEÕÃýõÝ욄ӺaGJœ¤¨«1b)IƘÇ ®Ôn¦‹-„‚KgŸ Qö×#€rËuk»Û íÁ~ß3Úžµà~ÙE?ðCé6üЉ¿.Ñ-Âiš,ËÙb*¼#´-K‰@Üë\ˆ”#˜~MØûLŒÐU]èMW­ïÖÊÇHxû‰‘Ýpö[¤< ߇κÀ/êµûýõ}>¡¥ô„¸Rs’ïîIXjä;Î=ï¾öËø3ü¢=Œ„ÏÀí+£ÝÓ»øIÚuÙ¯›T‘{NПb ¯»LÓ^Þ(³cº  ”t•†?V8ˆX—dýPîE–j(<"÷¥!mOî̓hÑo+‹‰AE2œ _Iw.ºü$Žþêg¨ÒG´ÕPH)”ÁÊü„"?kºÛ\ah·ænFÐT“odJlLÀ«š -Cƒ¹®ÈøD¯Pc„´xês= ÔûLt¿)iÊÍ©"cª·SA² ½mÂ÷±W™ˆ¼Z¯Ð(¸Ô†²í>š ]Û0‹·-) w’Ÿ”@½L7ý²¼!%B·°ò»dô"F&2ÖYoVìâëtä„îé8%7qŠdåÌðd¤hÿÍÀŽ ½><t_AÙøÅÖ¶Õy+oÙÕ‹¶x#¶¼ÎoážÞ¼Ëº]÷â”Ç0[û…X¨K¶v PbÕeI(ÚQ¡³ ÐUûõÛÙñ¤b0Ó§™ƈÏ>²˜å3 S R ì¦ å‡q‹Ó'·îþ—v@Q<ÀûN¨»Í}f÷ucµkè&Ïè'&ÂX !xëHXÆæK\«k}l#5j"Ø“¯en_XB[Ázƒ7n¯ qwÕ¿{q7<®ŸFgzj{… uû7*Nþzˆè8üx ÈöK‡þœ¤"C‚ƒãïãÝPh²‡ªD’­‚é»±ìléc™ìŽÄ_Cöyl|¢’Iª{Hžr:Ôrn§¡Èu4÷ ì@W_z¦–<æÇ‘ä´E 1#ñ¬”ª`ÀÑ—®Îé—¼HT–â@ISÆ©a,E qg,Rg±æ…bv/ Ç¬ð0*fVIî€ÅFøPUmc²3Ù‘ƒ¼‡P ¼Ië%š@ª:`ׂÿúÐeÙ)Yè`‹ #`hsr &î&ÉŸc;ÅÊ;š«s[ôà_$ø ¥ÕÔ7=OÒqXIµ ë?žß±€<G“:Þèj¸N”7–r7ÙŠLVÖTÉ7ã>Ò*³þ „2õÞ•ñêHíA‘—ßñ2ÊSqŽÌ!ú¢õ/*à'ã€~㦼ÞHnm½þ3[)I£ͨ·Ý‚§i¡²QÖK1:`à_ ÌÔäƒùù~I¼iTƒ—îe²»jL‘šÝ:¢™|–ùäÆRnû¿õãüæ;c–œA˰>f½”«¿É]¯LQŸg•P<]y†îƒ%?Þ­uV°>µÖ¶œÊwè7ÛUÀÈ] .å\«ÚVW¸ôn„"”¯y?ÖI(Žs‡fÅ£#¿tñBAøè5¸ÀPùT#Æ£€vî¤ ž6tŠJú„¬ìc‰ -ÎþÉdHÇ™[¥TmKÚû¹_]äÛÚü®–;œ%ð“a ÖWýÞRl|ÚWΫ¤˜’ô €N3þm4Ìø»Gû¥F#ÆÔ§Åt ã9úïÚ‚‚Á€«^7ð#Û¯ ‰ð I/áÚd2¯BK¹TñúQÝž®—ð5‡Jâæ|£=#ý=÷=ŠÕ´P¢²ª<¬™~•9˜ÈÌ=$pÌÝ¥S¯ËÎAö严|¨Ò}9„™HÝÁ1ò¢É¿!W†žä˜®fó© }^Qɳ|®‹ç†Gt€ôXéy«Aw÷:`çx¶+›8(ìmÐúTb±yÊìú,ˆ­•~9z„0žŒP­=_ܤשřAb=ŒC#•àæ “_ )gâw#Ѐ6×ú&W¥áuý×êgüå4ƒŠõ|3hïH î…­ðKtõíìbôË=2~sÀ™eÓ4å·ÈÃÐò]"ZQ~³W+Q,*T¬ùE@ÛGŒ£g#ç”xÑת ý °BtþÈ„! † 5a%ÀhVá Dø.+\6¼;Â@;/âòdøj ›Ðr1܈#l &ë`)q/îØæÏÀœÅRxö–QIyaÀ.»ã4 b/“G&ÚÇÐbéÁí²Í¼€á(Sº]ÛâC«+ ß'bÚ€N?zý"Qw3XÚ(²ÐÈÏ\ɧ·f‚F“Øa©Ó)| Ño!¶Ð)2 ¹óDúŒù@ÈFƒ¥ß}è.ù8MÓS…6¢×g§8¹ÃòÌh’1ÌèÊNŒÚ·–êX¤7œÀKÈ}n˜zMåíQð5qmòúPÐ×/Œ.:CQ,câ«)ÅેfùÓЃhªñf k"§‘,m_+µŠÖN4nåd¼.¤»Ò뺃õ3¢p¡ZáP@x³=/'Ž™Õ,D˜œ3tššíStñ+òA=(“s—QДáÐ0$o á‡ [‡‰&*¬±ú w÷|&sÖ3)X¼z¤J±í>Òν4C¡Ü4®JÈÍÎ\­\­SCMÄr)¥faסxåÎùhuñGÆ:—9¢œ©ÚÔ#u5`¼ëüÜVRaôcÕ†¦z,Dô¿*ÉGç\îr°ùÖH{Zv¦’¯B´kÿ j}Óv/¥ÔÚ–”ôظò–%Àá€ïðû¿6è8>mô K1 ´o9a)áóô‰¼öphÙUýÌ ~{¼)²üâqEá£dÙIZ!F,EQm( w3†¨çwËÙÔ”þŠ ‰CJ¸åp!JêS|I€Eì&í#䃱G÷†jjþ\ZÀ¡Ý›ÂŠo§RzåØÄý›B\vôÙ¸^ÎTkòãP "4ëø!ù築*ÕG Ë´Ä<;ˆa!9hà"‡Ý¼ñ(ª…@NÁSµ5²ˆõ‹_ÇËÉšg@؉°Z ï §Éô½Œ4Nß組µœ8OE#|ÜA„¦Íå[ƽÀ‹ðã—¨pІ¨™GÖs¬=.ÃoèFj…~ÐêóUå5²Çm@´$ùCÛÂL¥<âDúŹ.±OFÓÁuE/ ä‰ú¾ZÔA9hÇ!*Óyÿñ¬î˜x Ç·‹…Û¹;v„õz¼79)èhsi«6ñ– <¢ôrÏ몊Œ-(÷ ]ÏAfjÊ?òêbÎ$Û3뻸£íÚüá]@ ÔÊïtêÍw¯ZG*Jüšþ}œ£)1`1`@ ô¦ ¤=œ¡WJCQ8 J |•Ä—Çí—0Ñé,ROýVñ O•xª4¸Âñ}‡¹ð*Vâ§ü ‡g¹Mï[b)믤l(†•N4û~kõœ°Øuüª=ϳYÜMø mou„ÁA<äDø[ÁoŽr¿h­>¾¼Û³•uª‚è_ ¦Ò½ÅfÕÞó\û`öÒj¬ºÜ±MN0U]·‰;î_ó™>nÇý=ä•Ä1dƒ³5eyiÿý<ݾÿ}œy޲}zd26¬B7Ûʰ G¡¶ÝÂ6 jkÓ§¯‹ìQX9 ӦбasÜ.¢$î \ "v7å Ó+6î ê’)l­BG\ ¦Ý²°Ñ’hXOYD Ç…¢[2¬ÛÚRQáßìö¿t>vc¥¢?ÓKc UÄŠS<ãt@[èˆÜaÑ>{L~Ë$qUÏÿ‰:2ï.QºSªeÌ£~o*b/§ âÅCEˆÄr£†ùÑŸ”tñn“‹žeF¬T{†2Љƒ‘7ý'ýÉÿl¹³ßÖ{U^pè»Ññ¤yxgØÛqÒ"» êÏ2ÍOTD,+圬Pþí¢ë~©Ì &úI¨{e¬Ê‡t¡j%à€ï÷±ŽB7¸Ý‰³X-ùò±3»¼Òn¸Á&%G^bi¨è“ßB3ÊÀ|àÝå&Ð^V¹\àZ–±M;ß UéT|süAë¼I˜¬úW_€Qï}^¨¼àˆó¿\›ô!ÈV¼6 ±ÚëÅk›Ï+(bGQÉpx»Z¼°ýÞq ´’ý¤û°b‹(~õ¤ÎŽÙɈ‰9öÎçEƒº³~yÏU÷å±RµnçÌ»v1¾ ޵”Ñ8Wáì-]jx¾ò^ç³%«‚·<Ÿ–¿úX,¨ cØ*œfÇØÛí  ý¾£"ÊIË EÁ[;®ôòØ¢3U&IêBñصÅs¡'ü5*ZFíDþ\2ÕöÊ[¾…d[©X-‘Œî úʄ떿ˆ‡÷0 ’¹‘NÔ†¬À£fo¯«{ÇT5%®Cíé2ª÷ËÒ±‰ú„险›Tvç3ˆV€X–Pš%»…l)D&Á/³¶èk\D“Ô'DL/b¢Øt™/”?_ Ê4+FymÛ¡žâ×מ¤ë'Ã*qV‡ÔD·H÷9 ×I §Bm-É[›bi·Š¤ì!UIXí†Fr •9üÈ ¬Ú»¾ oÄà:Êc8Wø)@;"JÍ+˜ò8 ä¡~\ 1E;©F¬%EɾÐÉ|ï?mÆñ‹˜É¿Ý&ɏ𖼢ËÉhÑVÈ·t*¸*˜$¬!:âA.㳯 é×®Jöùå²íÓþ)>o3â[rex]’w|!¼e#'Ú,&K«Q{ù%~ûŸ*õ;Ñâq ¦6s’²‹ D¬þo\>±À‘Yfsfñ>4«)Óvòd§0Ts¸j›.aǺÒ¤¸» 4;ÞèÉkH'Íñа Ï?ø Ý YÓjR¥ƒë `P©V®§Ý°^%.Âk¨•$ÊpÂ1Þº Ùs¡°ÿWÕ/Ü[„º×É ¤3õ]K‚ei*‡XûÇ^Jm’>$Š8‘,ÌãÅâ%]yÿºßו +$²º±ÞÚ9zW¸å‰Ö;ÃuÙ'™d¿Ö÷R"t êy8þ´ª"¶p¤…†c:ŸtI–YØn¨‰Öcu<]2'n'5á,Z 4+ŠÝv¨¸W¯'¨¢ï5åØÞ§7¯ßYÍ#Aäð=Pä4ËᇛZ¶Sqؾ´‰ž=l ¶ '®t´v´iuosáOJgÅ÷Ë.Á£ƒ}™8ñorñŠƒÏã!?Í™½È#z#îZ÷b˜ •ÏÀ-a™󤩖­“ª…)´IÊëÌ2FõÉÕ‹£*ÆmIä—xA±Ã†CoiIɰÃ7·­ê`np*§5‘ߘÉ$ƒÊ®õ¥n½|APG1ûö¤–ÏZq'·ÍÞ«ó½ÌÙÑõ®#Õ|LÒ Î4IŸ‡_Hì› ‚Hi€%×£&´žR-¿›|^ýMe”Ý÷ '¾©LyêßÓÇDŠY ÔÝ%M»ãVÑvÚÑwµŽÞDòìG* R •¨OÅ,æ}ò1gPï(2Õ2åO_¢–´÷ÜŠ0æÍ#JO¤5œP97-{bD´G‹s‹F.µy¸Ï>z&×ó€ì=ÿµøã¯Áñ(¢d5, 4LTKQ¸lî“Úuùé›å˜(G@yMû äPZùJ˦³X"q¥WUˆÍºoô;.gàº"¿Ïe  ;’°uÞài†DŠùò#a4Hu£-gÞ1*¦a¾‹õ;ÑïXè<ú·Q~®­‹ÆŸp*Ú~ŽHâïò9ÙÇ·ïU<ï*C@m*»9oÙR„pJ0ÓÚ*Ø‚¢û”ÊÏé(_†&>f©ÑtH’tÊxYk¾²Î˜¶²ÿ`Bؼ'ÓéüÆ\˜êïü«$u"&à*±¸R.ļèžkWBZ˜ÿz¨uÓ¿·“xÌ>— sÏ0Ô!ëËö‡ƒÉÙBõ' îüÊm¿õäª:PÙòˆBw _Õ½Û;6h2ΜÎÓ›ÕT„G›ª¬_€¹›ƒ–þ$?Kpé϶f*ÖÅ8¹ót[Ùõå\m«£~òèõÊö°fc›+{ª¢/eNI½PÞ)\õ›ßÚeeFR'ý‚­/±Ï@D—Áœg >L³ÇåŒZô¿Ô!^ ºQhÉ‹–ñ?å\Da9w»®Üð£¥üëbn“/Þ‘“çÀãòy<’Ùów¿'êvò©Šn3¶Œ#<#MÌäÜf_´Yvõ’bÌ®?x%AuŸ=‘°UÖ€á*×ÙóšÆ*wø‰zó¨04F˜^·ï/]¨ŒpÍb¶ÅzH)ñÀ܄ȠCæGïÔ£W$5'oüÃWùG|N¦pb7 á@0žÜý˜ä¹Ðw3 QŠxÝöõ»À(ŸT1Vz*·¢4" “‘nÇ}7Zã“ õ„óœ+á•Aê1×ÑŽd³1ËÆÚ‚(Ÿr&‹©çM™ÆÂõâ_4á=ŽÞâÊqB”ç_V;÷ƒáwÙKÙÔrHá)ë<¼h¦´ôd\;ß ™ÊŽ›«Ù{wí÷åš)®¢:~‡gq,5ÅT~GÐ:ÀZE™$ÒÜô}vßþ¿+ɺ[x ØÛMþ¥6=2öfÖ'Uµ)%®léèÅ~†ÛsX¢HÂåÚLS+~åd]n™šüä:d–GÐIÑrLƒÕcº¶­œº–$¿\èHr€ŠiJ"·¨q>n¼õƒLX˜„Çu ÊIA?¯Nï[z+•¤¹*J¸\:]% ælJ¶(ãê(U«gC¨ÀÎ÷2þ\}~$xTqð–Lزe¹<îµ°’LUÎmÈ•ƒRÞÌ_¼ ÝFYjXçÝ4µ'¤ydƒÿVú]¦ÑD}¯ ê°D›vNôg5ÿ½–p¤”Û>rC’Ÿ$®I|T&é>ñ…mî™9¬c¾hÇÈì3Ï^Gá¹Á¾E¾«ûf¿ï]a—þ#ÈÙ2Þ§¶.ø „ \M,XÀŸÌÍu½Wwªæ'Ä´3@~væý©VR=Stû–-ãj€ÅyX-#~Hd;ýŽÈW¤|B1ì‹N|ýþ¿Ñ¹.ZWnylxè¥ÒXôò0]åfúàÑÂóXBîî‹PÀYœO¶™ 1õÒuÐγùz9-ß•ðù)®Þ_O‚n(ðN;]ùCÒ§v˜;çFüÞå· ¥v¬Ð›ÎäGj¡s€—9ïäVøZ»%YûjŽA!0„5úT=TÖ£Ìÿ¼ŽÊüykbpZâï‡Nß¡Hˆ®´Ë,ÓÄ _ÄÌÞW|ˆÊâ.é[q‰¼€ðqÛ£dõÝR{U2˜ð4²(“%Ë´õïd»Ir‹þij˜±‘¯O‚ŠJö(fª²À°yÿ1޾ë”z+ü„±} gëÆ"éƒm{îÌúTÉùå_7»°Û5“žºr\úšå»»]ŽîK§jØO„]‚ßJ„tMÅæÉœ—ŸƒAÒKä¬Cô?Oì×§CÂf8ºR·»ÊRs§  JÈÈd;xÿ€)PqïÌ& @¡_ù€“‰Ù!{]+ðhǧ³ÁÉ®¬B«bœTLiÄ5ÚLg¹jc à–-î°3ZÀ^­B¯OnÇl1®éìJ+œvOž‰ Q¾ÉÞŠ£¢OOx#‘¾¤jTÿ#â¦ãЩá•Ò/K?Ñ?ÚÈu7Ç4K0·¨]ñ¹‹D›ë»Ç˜á;¿Ìæë>¢~Ÿö'c¦]$ƒséôbëë g'ãÌÓÐ §i`ì·’t†ö×€Á3®Þ2[ž/xÉÈ mqé%ëfB÷ñ†À æ’-ëðhÙïG—(¨z·Žg—_Í“`uþγžÕ7‡Ël¥á2ŽäÙF#ÀV™1_¬«)aSj:uT)tÂP Ÿ%¨Ü”CâešMÔÉÖ˜yÌ®ëh1ô²9eƒ-6£z`=}Òár™ÖÎ3+HÌ;M.k¿RoNw”YöÄMŠåU[À(àšä˜wœ«ÔßÒ"Ý_½“ ®{Vò4¸Òhÿ»cåxrOª‹•+BRjËpŒø‰S‚+Äþþ)Tlz¬Y4Ôs÷ÀÕ§Õ%¸]È Æ/hs ÆÀ”j¾³C˜ªlḺál\´Ù-<~Cý`Ü#?HÁ5˜7IÕ!cûOn,c²¤Bó>~s‡“3+öuBØh@ÁLË0ޤÓôO‰⢦o‘ šWÂ]á\Agöæµ§­"¦cCHH•Ô{  ÐwQô{¦%gvëÛõâħsŠGË 8·(ª<²Ú˜× +WCm`Ç{cº‹c"e1ªRá¿u»ö»ø)ð$þq åOå$‘—ƒ—‡å“rhÑ˽1»÷u8É®¦ ªIŠ!®äÙB¢aËŠlˆGk¬±íÆÆ¹Ö¬=ˆ÷>ä ‹üöygTT¶™K&WÔ•îiSu¦„çùS¦¬}.Ùv«Äœ–¨upÈEmg—**6/cÀü Ë ÔÉØœ{>Í ~ŸÁ¥¶ (ÿH|`ö5ñà©ü÷ã6 ·z­ƒ'ó~xw|Ã<,QÍ-i½løn€`¼° 42úi*ÊÝ4yhèw,;äp”ÝÀð?ÑÞÀh³¯<ÏÅH?]5UW#óÒ…£+ÕÈj‚…2?¥Ä˜¥®¥P &¾lÖËg³Å0gÂÿ¸A£˜è¸*DEM ©Ü†§ÿû®ÉŠ^j/Az¶µöQØbüßò츀t ÜÞ?×Ç+±³ ÿOèNª7léfès@¶AES%ªú„°nkÑ4.Kx•¼]P;¢>_`Gö+¢Q¼¢ÏzZ¬®Cè„v Já׆‚l+ªì9p3[éh š]ÑYóK`ø !s‡ÉÆùÁ}þ¥Ý¹äw)ÑÛGÇJÚìC0XÌ5r¨Fs8FÝÈ}©)Bt¿ ×¾)ÃÔœõŽ*KålUÐÁSNâûݱ7,Ç_r‚çjT 'ÓBœ«ªþÚeëxϠȉäÑ•}áIÑ-µù÷úaBª êÎÉxƒ‚Э‚I]½Õß*Šr$®?eœÏTÖ2—ú¸q᜔×5_SÕ}5«nây¶h žS†‹m¦"“³gÆ«'tÈXÌ)²Ñ6ÁNRì"fVÝ®€âLY^µ'Ц£Î+ßѶŠ@ÎG2{_²dªcÆ þNš‘¼ÓÒŸIæãvTizµŸÉ ¿ÚaX™SLG1Å ÝOä‘qó=7Íë“5 ÌZac|°ô;¢t(ƒ*7ÕkM–ötI4HjÓD‚ý3ÑK]#`kfŽœV°Ô¿8~(WæÐÿÔ?ÁûãA¶l=ÐWTò TÌ_k=3~ó?ýn¼øp ólYá±£ÇqRÈ@¿$5lÝ·qP’´R&°µHü½îÊö_ˆ³Iù>‚‚§1{_ºqÀ÷€’+”ê &"^Ùæ•ºy|8ø•€ò†iò6´üž5Z'ÂS%+œ•ÌúŒNŒ”-çt –ÇGCBN­BK2¥Vãì:xÞ¶W%Šb‰`Ýi¸¸™%1\3GÌ‹,»™ì éó™z@m‘ rg@ÜLwBŽ`VZÏ߯§¸xf)´§ÝŸ:êr6ÿDh9înάW¿è&÷ü÷hsj\H7V{,aˆe÷`ÓoÔ2R)=i“¼yQîúE&ÎY¿ï3Œ}¤Ð÷bkL>h`¿™ÒqncfÿGQ†gNNL¬é2‹ôQWˆXK>JIXIw×Tü×=OÍ—*ên.§}X¼ok‘ "6½áí½î\™M€&®ݾcÛÉùãkèvÀ›‘ÍÏWçÖ€ßÁIßÚRDZ]]Nªif>}õ°vŽâæ%¥µ +\º9e¿y„b3}õbKvæmÚ±BiÚ-ä•ìïÚO“l¼6épÒû޵G"„ŒxVá©’/ݹÃÛýƒ$Y{^‹/þ·Ã¾ÄÓxž¶»fR°‰JÚ÷¼[X­hVö(;v«QS’KP2ÒnD$TH{*¿!9]D9 éê‰R<ëb(ŠªE$¬½ë±RöiÎ<ÿ' “Ï®˜‹k„Ö%ÞÃyöƒ=€!‚ú£õCÀþ9°iÎ÷8=Xa¥ãt7ùɧ³Îc”.™½µC\åYä¿ÜÄÇ¡¤©žÎÔ„¦@[¼ÐcgÍÕCZÛ9íw÷˜öU‚2ESoSAGhwÖìÁ_:¤TAÜÚ›Úþ$ÓœŒ‘$úý"è‹C£qüB}¬òÊP£²t›36ÛËÀVál$š¡×Š;²|©`VH¦–‰üûÛO·6X¸ ‚)®·ÇHl‰òÞƒ©Ñò×õ„cŸYÙ¥ÐMâvJÊ>ËޖѪ¬¿e ¨D¯hËCåD2'»(5˜ƒÐÇ~}œò[¹}/5tîaNþŠ’†ÁEþO;I^Ö8‚´ßpœØ·ÕÁu¡™Øœ©}éÁ‘†v•ƒ?,0AÒù"0ó7³ãÎMÅÅ|7äP‘%`”DÎ4µR;²­N4t|Œyûë"±»M¿•y1^“Ÿ5iªÔn©3S«„kdicÁß8¤D~¾í­úè!¼ç=¬ý¨h泪ÊÉH7:¸¢îék®ÌL0W7ÓËÙ¿ò#”"ñ P2é Á‘¡#?|!Ãâ›b€) nF,ÔȤ¢;5ˉ0k ]´5– u:çÊ|/É>Ñzþj¼W²:¸äžŒá½sùØvÖLÕ" »ÇÀX£(@‚ë7¦Lli ë+ú£Î@­@y ?y"_%7èw´šÐ\òA §Wùë~‚¥M«µ¿ÓäìPô–]ûã!F„w,_èµg"7›qi7¦mÏA²Â~ÍÄìÆàEÜzÙNvzŽºÑ`ÉP2hQˆi”‘eõºüCЇm*ø<—RœÚŒWÇ/.Êü¥Ù9Ù·ƒ]>·U eÂ….ëûŒ¡)ß.´Êˆ,û'„“v?†·Ç2‚ðïuuG¦¾ùËãVB…¨A,FË™š]ÿæ…3\ û1$•<ð¡ªçtÐô($)È]M&ËRÜZMOtÈ„^ªFÓ§€pÓßJÄÕð(”FA2Ô ›D5ÆY&j)PþAððÉ6­lÉ…û{¸g›C<ðÕT>Îôä=ÃX.Ù]µÕZS‹I ˜R!/ͨƒzHÙ{*5Å×aµMz“N©Žåº÷Õ|žÑl¡¸(¨`z}!Z į£ÚÝÀ«Å‹§µ•˜¸ã$¥ËÏ ­5åR*ú:{£ÉA,væy¨ËÜÀ²4ˆð¯Ô™" m´ò]í–¶/j¸™’ø¬C1»ÞþBíþØàG–zt„‚ªïð•¢Y¯n q Ũ“`FÂÿOºWwJ+V2F;™T§¸eNÒpu—ЮƒÔµ›P¼!D1nõxÖ¶ÞÚ6G*Ú¬+Ïr×µû”V’•[ÖƒªG>62DΩËßâJºÉÌJŠL”×íšÐ‚=(‚&œÌëÿ½ÉÆ’‘¯jæ‹Øhñvj¬:+šhgˆ_²åï¤ZÂüó¸üšlÒûë)—ˆ4’–¸³³36…dƒýwdO§”Ç—Ò~$¶ ‡ÈäS ¿rº=œ$P_—Ëþ¶€ãüû)¾æÔÝ½î ’½ì£í[b$ë§Y#W_Â{‰+7z{cy…å]é&Yø<_j1TZemÓB§0JlrAêkçG; :Uxÿ‚—7•¹ÜVW~”çsd¢‘þÏAï·ƒÍ'ˆJ92ˆYsKóäŽEcgÊ÷ùD)çO,žšfÎò;’ E¿2߉^›f|w¼›\ÿ[±^¹d•l‰)?ÇõáĨF€ö1~óa)M?õ f" ¥%¢Ì“ûGq´b¾#B¡¦©ÒBGœ?ÍEëFÉ6ëQ„¯=K'-Æë-eZÜ©ÇÉÏPzì7h‹O•6P6Ü|=.—•À™8l®.Qõ±p¤HE>ñH(ÿ¯¥«Ø”=¯º5ú1‘N|¶ëœ(³h€ë³kAk>pJÊk üeà8Ïý ‚<2_̧ÕGbå`*Ðys §ÎRÄf¸W0eÛ+»Ïµ½~U7C¹>žr¥Vï¡-Ž+fjCxK˜Í`s•ù*FìˤºGë.*•òA(Wrb—Ã>VˆH¾3 Á,±ñ|ÕÌ Ñ•è) ô0D7:rV­C~±÷çc@Þ<¬‚¶ln«—”m}„3uàÔXµ IgËõg†¡³)%ùß”¿6®ÄÜþòUém™K*:¨!j¨oø­ß‘Ugdá¿Ülàb„Ú¬AáÝ83K´SÎg;PP0í)Ò‡™iHº„å€Oùˆ—mm*3ÖRqúítQÝbĶB¯§¨,ܯÌüJ®§ýš²¥"H ѺðÎN(Ç©µ½V-lr§šËS.üs¢¥’`6£ #³/b¾Ôæ­KŸÀtå·v+#T«ÖÖ\ÍFÖT ÙÛ½è·SR®5öÊö.þÎv‹Á“½ ±6»Ä…š6uñ×3Òm°°ÖýºØo,=fl* ÊíÚ«sD{Ûá\Oj[ûãŸ/É@uu|¼ÙÄÄ«ÞïE›Ô)üéÕçܼùL]d4½‚áõ8Ý}¬-ofÍZñ¤\ &f‹¨¯5ÛU$nödž™üS ˜á›R{ظÂMÑ)+ÊÝŠhQVço5 e.ïåàb×çÂaõT¸¤,*çò>«×\ˆ+™Õì=cTÅ—nbgþ»A ƧÖŸ…ú~€KÔüÍœµ„Fp+…ËvàÊ'ßåÛbÒÊsrŠ¢>ù;Ùìóº“Ãp¢7-¹ý3¨ q€¹nô$ã7¡ ê†{T‡´#þL ÙËÄU}÷B:23Jþ=‰OqnhÖ?8ç„’t˺EÉcASF²ùiƒÂX ,\šÈ´í¥uØZÉl„¹¡1}%Aü8b“”u´/C#?f5(¼]ÉïÑè¶'9MÞA wðY˜ò‰ORªxàÖÑg²Ã0TÔ/~SÚðÛÑ©V½ _MJ9ìc'ï+>¼–;wÅ™Ñ-õƒûoDz9¿¡æØ8$ìÑÿ iž'¡KꎈòËÆ“êwpûD4Ú8d§ù'Uˆ:àϤSæ´?£É‰Ó’¦¶¦—¿¿ºqj(¸ “g£,ªÙÀÝç‚j>Ý,´dЩs{öI×¢< úƒ/M¾ß>£ˆI@6V³8[R°ã|rMA¿dØ+Ä’`ŽûXÚÅ/+GE4’vNÔªÙÇš6ù5+ñÒ³gLoÂêZTœ«‘Ãe“åXžîšc)$.ºRšEø&Âù*´Éf}MßÝ‹GÆ;òPÌT½`ð‹[qÅ´ø›6ýfØ€ìà©yÑœêg‰*-™¼Ôw™Ñï_ÆLè#x±‡|è:QÏjØÊØŒN[í°3¨hq‡\›G]/†ÍLµ4¦òUpšOm1ãXÊ>§Z|¡í-DÖõ›± ʯžVsÐ(凞›)ztxÉ+Õ{Z­†^ï[]Ø.?Ö|Ÿ 8·;a®3¥AášÌá!€,wÉ$­&° ‰ho:µëÞ¯¤8•פ×M{D…7[”,M …Õ”™D7>ºæÊKÑüoû¾×…cíeÔ\_âWEÔvs>×MF®KºÆF$U[Ðíoý`û¼Ëv€MËÚ^„vEÆ#&ĵD‡›%­¼"€’jAª‰ä#$1øÎQ…Ìu3áÉ:rÂ5g ÒÂõ2cVØL¦¨F´ô¶šå…¹µ‰ª¶AY(pŸ¦uu^)°±^] V,Ï‹µ,újÕguêŠÀAQû¹T õÏ8çC±w‡Ê©A¬ÒlÉäß·PÛê/5V|s04.Skg¼.Ò,4ÄDötQ0ÖæýDBG½a|˜0ÍUn=€A·Ž¬?ŠÎýªÊY;xëÈ[Í%2h<ÞX×F 8GÀ‘”ù·µ¥„¼qÑ+ª¢ü8péƒk{‹#[BiÍ©¯™{˜u }{ÙÜ0€–dЇmŒ- ö•Ô8¨¤/ˆuç>_JoŸ…‚¤´Zäy Çõ¸oÿ"ϸûWr „¾ BHúN¢§I·¥÷W½ÆåÏÜ«FH6>šý® ÒU3ôúp¼P½©%/‡Æ‹éIØ{ý¶Ü¸:“sJ1k¥ù™Tà 2ß(X QÖ}~+O—èéý'L­Z„ RåÄDj*)´Ùkõ/ö„`ËïúÜu{›¯Ð¿=ŸT èòJæd'…ݯ/!}¸!A7ÝâND‚Å,MÊ3€Ÿ ãi^õüí¢†\WÝM–UAÈúÒ¹ÃuQv‚~JIÊ!êiiP>'ë>¯m„« BJ¸-O Q×.¢Å¢t¹³ êò9W®–!pレ%¢m×P•Þ–Ü[bÍ4lò/Ì#½EÎó`8j!iP«Žmb{‚­Êx€@ÕCSÉxc›@âÅ©C;PÓVbrã( ¿?+ ËüÆêÚi5ü?… vßµ qå!Çæ18÷͉_Èî±'©ŽÅWÐ+IéSOS´V\p¡ô”zÄ\1pEÅ_ y&ƒ÷;q_àü’c±ÿèGe*8n¿€k΃TÊJNÂäÞ,òÿÀ²ìÂO'â7Ö.Ç`ŋϓj2; ·W‘Dàk“ŸÂêF ucvŸo MàâV·ÃZƒO£/”%Me×Ãr"ï.O÷Vs;57¯ù<70ßÕr­€Ó75-M1váo™¿-J‘À]ÓQ˜µ‘מòj†˜¬OÂÓÃRª†·ÂݹhŽŽ¯ÙLzÚ.ÂxÎGdžŒ ߬‡f6=úLª9JëÐKÜ=Ðî€ÕLÓÒš1°»T7ؘÒY•"ñ1’ÕkW½÷¹¾ì@m¨;GÏ×Ã¼Ò BÒlù°Ø]Ê«±˜Ô$/'ÝÈ•«¡¹µa ]HõòX¹žûد§{Q, »Ê®Gµïä4“;/AüGVIy¢‘dƒrc7½ã¡±á/pF¯Â…ȸVþ )”ª¸tqØTȧ®êÉ„ì(]¥2ÌÏ}“ÔÑ’èÑ2Ùå Õ£ö”{Ãâ}é{š¸«0u±öˆß9)`ä ÚUè©ËãúýŒT8Ž®lÀý£tŽÌŒÐ«œ¬)ÒÜ“û¨º  =O¬ž-£mòÐe‡Ó‘¥ìÉ·,…ƒPYµ€¡ái'“즒“¯…×ÓáÁMh@ì;Õ }Ÿ¿ ¨>ãZŒ?…aSÎRÑÅÜ䨪òZø±¼(ÓÌ×ê<[%b1$ÉCƒ?õãýd¶!ïñªÄ€o§!ö“rrLž&2Λ÷h½~g0Ú¼=¾¯˜€8Iêø+¸‘‰|~ Qå>ž õ£i ׺ˆKòÌå)ö¤vyD—/BâýœM˜ØïÖ««ñTG¾„…RÖÙ-rz´& /†—½ ¼ •¾™N=¹Õ¡ì÷§¬ãu Á„¬£$—2Úµ%ó¢¬h\•b8])y¬«Vð£gÅîÿˆ¡qañèöóBÊ=åÒ–LÙcàMr»PK÷ñ]èœ@UøÚ-ý“0ZH œç;|6Ìç~õ…org°‚µ5í1ž§¨›Q3p` ɦxíÂigÍŠ²DÅÀÆž¥*›.X?»Rhý× ®‰_ì¡,‰~··™ÉÉ]ë÷Pµ2ˆÓÞŠ§:‰º4ñä‚}\f(…JÊ œ„sš±Äšß#¯ÊwÀÿåµ3P#ÇS‰˜IG#94•ïÓ%rýÉÖ·1]e’ó¨kuùéÉŽÞƒÌÙŠÄ€ÜÈ8âÂö¬%—à^™ ìA›•üº”nU‰Þb z(IJ±ÀS‹~Ë$¾S½åðÆ:}ÌÌea­úÕéôw—yuè…°¼ÑˆÙÔÃ|ļÜ>ÇÚQ¾18ýŸíAg‚Oy=`=i#aš¹»3$tý q¾–ŠÀI¨/EW%.âÐó7µÂš3…8åŒJÛCú>21çˆ)ÂàÑ ®åOh£ÌÝ!$çIܬ’¦Ðx0ê¦[½A¥Ò<8Þ`¸­:r)±FÿܘGgJi…Ì|_¢·z::£^”TçpHò¿pâ‘@8›@A)78$(c¸n¨VqBÞN»M~öªŽß-µ_¬¸%©Ò$^‘ÿèㇻÍ/å'Ëè¹­•È­0’„³EÊ ±rò4J—gŽ;µh”X0’>5rÛÞzz_ ­ý#^¿£oŠ?Ò¯D,Ë9Ì-Anâ ¸?§ Þ bq©ävSáéeaƒÖˆÙaßò6`?™L]$V&qi¹i«1ÚÔIúàWjæcµn[Eœ4\­ç/ûÜ£Þ±­M]ÛÛ+•’½ükä. Õ»N¨/™‚!v±Ï†-bfªµ¬ÍóóöŒâ?µaxç÷/¸ÑÓ;,ìu¬ÀASÌÃSíXqßÔ5“0Ù ¤§Õ#ãôSC—‘¨EÀ°B»sþÅe‰idð Ć­¢"ÁZì6Àx6\ʽS ŠKÿ~ïÏuÞ--à4¡…|燡ΉG`˜€ss ; ‡íè*™4¡LçK§:ª0ã³e¸'Û퉙‚CäDLåÚÎà?n|e$”˜¶ä”.>&‚¯ÐXKBØ5Ô5Ú/áwùߪf'F£Vn¬Š¾=ÜCû9¹‘_!Ý-Üj”2î—æ‘uó~óÝ›.àéÃt7M)…ŠHÒFu•Žbê,P³CÂ¥àšz0=Dƒªd|̳—ôJ4Ù6ÕcÞÿöQEÀøé îÓR>ñÁÚLˆe×<ï"ž,ƒñ2£>a±ïêOv?»\‹;Õd0!\X‚{È zèlGå²³ÍìoDš”FHñݽ騬ˆªÈ\k_"ÒÎVÆPATga372{<œªO@Ü9wùk8/èÿp¯&÷ýÈS5 Á'^è?'t§“ŒeÒ)Ù;¶y̪Ñþ-Ç~]=…沚?¿7…&éýßÐ묊d%DÊtb'å„J` ¢<<úX¨ø±¤ŒÉ=ïWg²î¤ç;)òB¯!Q«ää=–±•س~_©.Vž„Ì6ü¿§ºä[»³šÔ®ÙieVÉ1ù¾òyŽÁo«¦º{Ë]PYy‚Gwöe¡ALE;óXÝÒ«û·Å ±Ÿ/>müW‚-;Ëü¾Ý³Ó…Ê!7ŽY¼rÅ–½©hÕöÊ*iGÛÄôÞˆJ©€Ù¸év×ÄU×#Â,°|+Œ0ÿ ë¤ßÅ €š—qªDö’^X¬Õ‘O¤¹MKIe™™¶šûôu™×4ä_O9g:b›uddoÊó P8ÝKT…Y1!.G^ÈÒfsÀQ¢ûÇýë¶ëÈ;2S€GS©(«è·¤¡ˆèøîfPRéwñ¯oíBÞlrMÁ¼›x‡×F rMo—.(¶"˜ºÉÕõ}8Qj"ÈÎÎ}ÂKcq~/Ô¼l™ÑàLÔ«ýê¹Å46eík˜PÐ!*°Ê‚¦:ø‚€ì°É™, IÓÅÒÒ{^¶mÿN):\#Åkà‰é®™·ý˜ÁÛ1•Þªô‹q#°Mð‚"¬!Çšdzk—‰î² þkÒ¹~„ßëP9~¼0 ‡HæOTAPˆø$(GÎéa6° 5u쿸@°ò—RµHŒKÛùUû34ï+0ÐÛ@§¶ªZh¬–ë ë³~Æ=ÔÃÈ"eƒ hÇ{rXԃѼé½G1¼šH0>e{Ͻ;ÝÊ2ÌržW„ÒÄÑzBY‘²p,‡¢×†I—Ñ–²ž_†3;G¨ÊVó`eìˆÂs:5ä.ACG!¨gNÏ«ýÞè¡zÅí™ëÌ:¶§ä›ð ·ç'·b»À›m¹¹ë£ß=I5}UdDž¬Ÿú¡î!.y¤ ßß}ò@óŽ,ŒŒ(A` 9Èœn¡÷é÷‚ý8Ê¥»³LI©Úë¯ÝQaAÍÉÆKU~Á æc9ªÔ‘ıR=Bø½¦ÀÒÛkè…¥_­Úó5÷ýšˆHBT¯Î×ÑåóÖ­`¸Â‰1¬Bÿáu(¾„28vÀpH1䥉Á/ŸREŽvÙyšÀÒÎŒàl-¨èœJêZð£•tÂLOï_…qÚ—öcXP'÷Z´5Fsrðk©8’±V¶¶2Ú*7Ä·¥‹¼:¹\½í =YíÝ$Ãô|˜gÁ4?WÒ»uËuy7Æo‰Gm÷q/tÒã5Ãð±CÄxôäÖ§¡ñ00«xf@¿ÚÉ€<,¥–€ÔÇÆðVÛ¶®$ci÷±Ç®±Äe©ÏæÇŽšñ¹µ „œÞ™(xÜÈ[”5õ' UX*ާe 1â (J{+¿EjcÝçPZppå™’c)D–»žþþ‡N¿EŽvÆü+˜ý+'P|7„3 ]˜k £r boG a”ÁKXé7kz6íÙZ‰_3Á²wöÚ¡ímÒ銹{ùP> §Ru¦–ç™R<l=/DñÇksgV§´·¨Y*ò¢QÄVÉ\YHµ_TʧB¶t Þwö­à˜ä·‰>ùdXÑz-¸6ænÏÅ,Åœ%j{ŸÄýØÁ ÚnÙ¯RsT²‚ ôúÄ! ÄÆ@oþ}Z,òB€]ý[–™á0n7í§fŽ‘•½uµÀbÀh‘x§|º(È ¨„ÏëŠ"ÄÊ`…[þsÃ6–äô”Ù´¶k€ø¯JÔ‡Y1ÔÓ铇µÄ⤰«H|)~=q@ìð#•ì“%?‰-†ØýY}K+¤2tÇ  ÌÒŧ1óós8ÀÓ>z ©¡ÃþTB|K£—û~ @Ÿ),°G6JŒ¡4·žò.¯©k|z7žd™=’T†Ñ—ê l„2eÀDr«G!Ÿ°%"|¯I’îD¯b+ª³³ž×hÅ׫VoÉ©ú ˜jóöN.ͽ%–V·Z=‰)/oAÑrXñ©&.å›¶<&üBÒB÷™+^(Ü´ ò¨hFž´a™ÎCpÏ‚ÔØ“𫲴'·Úßž‚Dp¨’o|`|Ô°0rŸâ¯[œål¸'/±Ä™ ‡ï¾=U/x™5…è_ZE¿¥4õ?zBùj'Êìafë2•!r¯eù8iu3X•…M ¨Cx©:µ¬ %a†¥0øQÝ'}ðgº^`¬i´ðLƒ/Iä6PÂ[´ìd„Z²úìupJ:´SíRâurâHÚOp­Ìq¿r9jè#ž‚¾iÕíüDã›{Ó&a™íc²Ô‹›Œž4¦zü>$¦=9Wz1À~[ˆÿ8騤œë<[REÏ—0XcÉc„œ6æþe~V?HžØ€’ŸQEÃ3 èÜ`Àd¬¥úá¶Ó€Á˜aó Pè ¬ç—[ó¶©mw›a^£ïiv~p…A{\wûKI¼æ¢}/M•]µBhôN_1ϸþ6¦éóÌýþHªž"϶ˆô wx6})TªÛó²D„<²›¬ü,Ö0¶Í€<) 6Ö>`­ãââgÐĬö¡·ÍÂãË¥°ÛfŒiP™iá7”¤-µrú oÜÖÙÐùÒþˆ…‹GÛ“$È»":¹6—ñÚ»`K‘’#cõBœù»N[«?Æ Ø?Dc9ùÚ²gÐÜÍuôÊ µÝïp±ÖjŸ­u„;EéÄ ÷²Ú Z0ÙˆoÉúB.U÷"pX壴U†Çø/ßf<©@¶†…Çë?Nšn¼üx>f4î£,ð ×o3*—\ç3£–PN’Q/hoî5»”p7òÀb\ðý¡®Â¦ðYŒÖ§UøÏwIAæVK¸Α.ÔîQ†WZÙª*}î²Nƒâ–æe^O+—¿ÒL˜RÄÈ2Ïû"F»rÑOT×÷'L`Û6¦†ÏÚKisF½éÊu×ZhòÛÕ]mA #ƒºåQ°!Å‹qž…e‘œïçÂrÃÖu«—·4àµ×i•ɤæŽËýnÈùxÛã&l7kàÌÈî›(¤·{ø?ó:çu‹í¾âºüNŽÊq] Îx½‹èçt)\Ì0éüôñè­M`yJóBŸ&)¬Dë¾s|²>2[yðPò9[^–K¿ÅÊHºòîâÉ Ýœïd^nü÷âJ aFêþ ÜîPëWÑ ¸èÃß›+´Þ bà²ýeõ¦çWsD cÿ«Ä¡~L—°DÕÝ–¡Äåèá=R,êK¬˜¡…kŽ{´w®=mz1´èåÈ6ü+ü£ì%èÑÅgÍ_êSÏ£ÛˆnÂhâÏR €Á‡IÐd°?ê«?âñGO#& ̓O¶å¯‘ðþ‘„Äc Æ™}ï÷™_ƒ ²ÃØ£/UçËNyýÏ‘ŽyÈ’ÈÈW›¿å"µþ—sbc¸³f<žd&4N Õ¸£kÙû…as±´wG×°*‘†–‚žÏdË,da’¿µµÌ4ó(ôUwR Î:_'Šç‡ ƒšµ‡Ë«tYÁHÒ\‰Þ ~M¤ƒjÎ2‰Z_ãtóTuåä''Á¦ÞAs!'Zɰ]"Q¿@-ºô«ÏÖOðpacÛ¬‡b P®áNÕ3`C Ë‹S_ñÔCƒ4kª™ï¤Zû×È‚C›xY¹èä û†‚-„4<ø&Í9˜ÆiX%þœ5—³Ô#~¢YíD‡fë(­ÓtOTC¡Z{¿V³«„Ìä…s–­Qâ·‡R”cLÎÎæRÂ_Ȳ;BÆú½íûq´P†Ó±„Cf‹åJ’xæþ­\Ü}ÐeÔ•[6;¡è­†e¥Ó6 æÿWÖ˜gä)¸A#D\q§ªGpŒ]ÂúçH=‰»Àë~CÞµ+Ë:5›H¼ÚÕZlÛ!×àXÕ€k'Lè˜#³°¦ðÂÓṤ9ʹ läÆˆxÌ—dé8B¹ÈØÏLÀxm;/Ì)mÙ^aDŽxïBŸm_48æñ}µ1¼MOl¿1bWAØ ;–Dµ/ŠŸ•Î1 !ÇîÿÎNв¹ÅÃ['Gä÷EøÞ¾6ôoôÊú’4‚Q;üoæýWsý{æXËÓM{ /Iˆ/xdÝ}£-ï4£ÏÏ|Çè©_SP%ÐMWÜâ÷´ :Òodv¾¼ú–Èê¥åmâ ß` Æ¨ïKƒ?¶Ž¢³òööW ;ÉFŒZ’E’»#zK zžä}_KKÌO*ŒPSÿÇdø NxŒ% XÑG{AVPÓ®i`ý˜uaŽôäL~0±þ%YH‡c4ËÞ«ÍèÂ)Rèåøœxðëk/xSÑúðWć+—z:w3<=BBêÛϱ¿¿ÌEgå¯ÝØï™ÛèDHk²–Рëé‡ïr‰Ï¢ºÆ]”úþÕ0åÖMkp„nXiFN¯Ùî½(¿W„(¸ÙÀúwdñ·sý-¿C±Œ§»În=þôC,§¦R~¸5p5Ûr¾NÉ ÑÔf0Ø!ë‘a:ƒ]Ò ýÞŽ6!ÂýÏGè­IŽ)Ýð/E¤$|µ™$¦AÖYËÚ,æiØ$ìEüe5 ”+Àe†}'º’·ÏaZ z°õ¯FâWŽvÔs+­õ=ì´ä™iòÒÔ@µàÍßÅ*±^=ÙùùÑ,D+Í9ûÒ èz¡Ûà*«K;QdAš¹(lÔhĸúºåü¼^TcùÖZï±Fã]òÿÁ c*¶«WÌ“õÓ¾Ô±—¢ol »IÿÔŽ Ž;udV1ülª6¨{ ‹ë 9|ÝŸ³Ò•õŸôPÊñL¶[# `LRœJœºÃÞ‚7A¼Sáϼ,ÿ‡{‹O' ±cðÆ5”¶JŸÂ°yc¼«€–[›Ø¼7ÉÍïdàYÙ‡„ž2îc>Z¸½a@~g9'¬£†‹µÑÆÅ&ĹHú _È5Ƈ?”VsÛàêŒäèýȘZ¼öqº’D[¼æçnV å¥Û´s? c¦)Œ 8êaŰ)G›A£ÿ ”Ò|"¥#«Iõ½ÂOŠ|Á¸åïŠci8ÉCä£JèÕÄöÁ‰ÈQ]ˆœA#×£?Ra$é›mã5gK%©çöKíωZ;º~1#[gì^ w«'‹-i¾žHz üÏè£RV©ý¡ÉU3étõª¦M¾LÚÔÀýDõÓ&´Z@- €cÃ#@p„‡ÉªÁ^.©e´»·: ïã;:ôl:5“¡%•ð³ábì OÖÝ· UçTx^øÞ0GŽö”;²tóP? ^ØçQ[™diôYQîö‘+cøZ§‚¾¥û ÆÚ„*!r6Öù ^›¶õÃv1h ’Ž@ëu ¶·&÷È4ZM¼zrÿºšǯj’^!ÄRµß àŸ§LH· Ueõ*M*~NZ-yT×£)F ÖóYBQž·˜]‹óÔ"10¨=U’$ æI1ìËi\b~ùÎ~¦…Ü´W½†¾5L±n„¼r€à”KÂrÑ$Â5[Ê9ÌÖš Þ;ígƒ%Èrâ²R”ÍÛ®I\Ê*QdU©¢ƒø¥T/º Ú]ŸJ˜ÄàZ4¾ëëêŠÉ¾DüD×á/(±Ló!¤õÓý77Q¯E.Û¨®ÈQ…\o€& C]cñ=_®†¯¤6&í.n³#J¢µ +*~º{ø/…M&ÙÛ¯‚¡ŒeBk%MCY °y0#Å`ë&šõl0‚[”bdæ<F: °zêÚ(F­l}\à:†´@ ™ìz†jåw3Mí€,Ž êÎ{Ö­Ò1§#A¦’8K.²$Y,‚ž’ri ²Ã2V5¤7£líX cêx‡Êdø‡ECk2ÙôÔ0rÁ$­ÎKCˆ e¬Êu_‘ v\ج¾ &þhEåè%éeã(á§ö2SõHÎ è•üÐ9ð«žÃ†4y£ä¨Ž,m9ÏU*t÷Ää¢&~f–ü¾ÈµfÆáÏw3ÄÂÏ×Jp#wyš×K£ öåþþ=øšˆÙm|µÌ¬*€ª,.qïé_f I‘=ÓÎîic9ñÒ¨Îý6X³K”c"L#{ó¿|Ùû7¬¸[ÞYM»ìÉ÷¿Æzhúå¸\ì ¶™ˆÙË ™Ðã}„à¹.Qðj.=77Ä I¡÷hž¶È._…2†ó@(KzçÛQ%”ö•–fÑho8æH€íÔ°ÈÖ;íGc± |©ží)Œ†g‰KÛ>‹sˆ?2ÞjÍE¶×r¼QEš"Ù®¤’U ­C«ÓxºKئ:—âü×.?Ý–$}s¦Ñ­)ÙÉxÇ9Τ"ƒ[˜©v e#N"£{ÐÅØ\uŒT°Ã〙½™(KÞ)67¢—</³?sñ¥W£¼ä@û'Ÿžé ƒIªr‹Ÿ‘´¹ `&Ò½t×l–H4Þ`¨×ä¿“e€ž wØ·i‚LIrŸ”ÙéÍù)Pv±Mv%©Ãˆ'Ñs•½)¥÷Q½µ_ )‚§çÄY޹“OÒG¼Œ™1VU˜dAÕŠ¸ÁÅM£˜;"Î1;ѵ"VcHÈòDº“ª$5YoƒæÕYPéª0¹~MF[š|V EÏÒŸAÈÔ~î1òu}mªÝÊvUÜ3ÑÞ1ry^ÜСL»ùܼ›«…G™Î¨)—¹ÊG¥™ƒp8V»Ýéi{¹’ _ͱz~_<´[@çz÷ø­©Ï€ÙgQJŒ@/ï<Ûˈ‡*ÁÉŒG…ø´Âü“Ж_s…¥º•‹NH`”ï‰8t§A[ýT.Øäc¬@q’»ºß%‡@°`W Œ|–°lo­ žûM† ÜgòJƒìãP+i6L¡ÇRžþF¢ÐXY®«ç}/,CãšTl…2g¯ Åt"§¿Üd,…æõ[$^rbðš`^|/üK,£– `üÆ6imgð¥ÚÕ€¦wÃõш¾l- QS4«djñúˮս˜ ­B$LkÏúäúÇD¯YiÏRùÎòv„Šùz+ï_ADÔˆAéñÍLk”I?é…¶€Ád4ý`ã+6X­ø±èœç+ŠÁªŒÕi£>…)¥öѽHñ²]Bka%ÈŸ³¯> FΕ«çžd£á?ä ‹†cq(Ã’ÔvcÎ>He‹9ÍSÒ³!rÏgó)âªæ—ŸÅÊ*Uì)OæÜ‘¹ýù&´4ȸO¿œÀ~•€EùR] ƒF% n–?6l7 k£?} d<;~žDBAÈÚ³pÞãW-âïj=ÆW ˆÉ <[¦àèÇGÑäÑ2¤xU3&#j²k1Ãý`þþÞD>Š—÷’ðÐ'OŠBX\›cêñàyÖ¨ÈûvÖ1ÈŒ£cår䬥•“¼‡ÐŠ˜!vNþª+×uÈÉ2Ð3™·©õ%åOÜZí—#\OâÙ_ž¸±ÿÄ™ë†TÕ7è¦ñ%Ã%°ŒÍÀ\äÓäɾY·åCÏÿ.9Y8Y¡TÓ °¦À¯ÌÈA ж•´¨ñݾ¯â½ ÍÕ ì2öHÿÃå´Í †CÐ ¾NtõX£Ç¥ï”Wð ígªsX  Šzç½&pOæ“õ÷@Ї{”õý›‰aÕx]—ép‰ª‡‘u_úÿA'ù«©™a¹(kŽÒ×í3²©%CNf"æƒbÁðÅM3çyR3ÉU"JwiýaaÒ‰©ƒMo¸å_Á†Æh= aÛäfR)3xm“ Êt÷•Ãa êªfhL![”NJQ¬;›½ñº<¢¹L¿{›å3LÙü;×±U­ƒ6Íð»õ2’̈"¥ŠÅJ¦õ)Í¥¶ÇdUàSDèO†ŒëôLUøˆõSóeŸÎ;iâ°kzÍ µMA¼éTYýƒ’yM4;õÔ%Åk|n‘™àí“w=@÷ã ùÄq'‚¨ øobˆòv^ÑÞ²ƒ;âS ãV4ÛIoF “KÕªÖ<`G¶1ó[iÝc¿œîi›½©È²@NÙJÎ4g—Ùt£Û|bKÔ Ô“ÿx0 ›E œw—ýQ/„Š…¾Q?# ®Y€F¤6èä,YK°‰Á¡çÜ›©Ö b]¶Y(ÿ¶9<¡xg™¢cRéÿTgê9L@/æZ!04sŸ'-ˆ¶ö ³PýièëÓ·:H(¸}—öêûôõ¬`QÚ_¼è1Ég©æ^ªVÅêü'y;2ž¯ßbXRUóidŠù0(OøŽkš"¨H~1—GR«/ŸØ°â.w.ûÀ„®øJÑ´'$š‚³dßfûÀo(]²¼[9Ÿ :2£ï4oñsøUnÁg"çfÛ‰ÐhwíÞmA‚Ûv[wJ~˰”'=@6ý ÞzóSB-{çfÈ&O¥¤öôQ¢´s¬87²lŒŽõj±­=B÷TPF¬S¥TÏ·ÿ‹¦€½t|Ëi•9N„»u4 Êá–AË£×±ãM;d9ûSYÕÜ_†Ûã•ó+ͺ,E ýÕ¹WfÔ 'Ú:ËïqoÏ‹ü®/pöô ‰cëcj>ËyÃø“+MO‡Ümb,!“š:lg ÔÃÿœkB]yô’{5=Cf)§]víèú9È#s£4vfúÿ¯H¦í÷*1úUvÈD.S?$8Ú®¾±KÏ[0R\É¢…7æÔäå2ºË‡²Á&ðïq5»0ô1ËØA< ´±Ú_%ì#hä6¥AÂíÚ ¬w•+ Fdÿ®>ÈüpåoryðÙÁ­ÃûË+K›wµšž?CÁ Ž>‡È7Ó/#Q»IõªƒÐߌ}‚ê}`¡{i»$Ä›…!Kœhnîs×w* ¼4Õ9 +öÔ­}‘–dwaÔkKSG=VãËpiÄZJöIT93íÒÐv»ìè¼ÓÁmɆ¦Ö/Ô9øQû›¬<ìLûA¡+ÛÑeŽä„K~ʦîæÐ^êý/“B½}Tb²a¶÷×c)‡áêæŸ¨£*yáäŒLCrÌm]DxÁ¸ƒ;:úOÆ8Ús´í8’¦ÒRC ôwÚg¶ÅJ‚Û˜`.+©ƒ(k&ËW¾eú¸PŠ@OƒZº´Uï Å…­Î–8Æ£…ÞžwCê„%ku…“k±¯nœRAâ•E½¤<ˆÕº–j¾Ä/Åzõ|çI‰Rd©vÕí¥&Ó†/é=5€™§@å·¡Õ$=Væ?Tð¥Â+?îg•$;Õõð±BíãýtÅ@ý ·ÆÅeÛp~æékÅÃþP…DiÌåˆÞ¿7"É‚q0j© :Í~öe#Í-Åõ™0Øï÷%xÑ]†óÖý^bá:HFYR\‹3(r'¾KP¶uÈDs¯4 Ö¾üB™udxÖ÷ôÝt%$ô‘Y ,§«FK¹oQ%ïËØ e¹¯ hóuLŒ*büÌÚÔV€¼I{'«`?j¾³C9­¾œfÐMVÑ™Þì܉œÐúPÛ÷Xv†Ó a†ÿµQÓ"GûJêùf®ß1Œ;i’°Ô’ßsiý¯#;O΋í?W•8é—xLhÉœSvð„…IH]ÜÎþ7V™céx‰ªÞ Íí=d¼îø°BrHÇ.ûäl/%Lø^äqû†±þ6ð–™,™Ïß˰ÿd&À 1õ¸æmyQØ¥òè ‰´š¡;Ë“§Íñ=Ä­/CbÔš¸ô´7§%[A=t_–ê!#7Vß`Écàf;‡ÓZ¢ê·Þÿýþ˜<¨ÖÖv?Cõ”;å(¤30M×h]´a¢ÛŽ_³³MÓN¼£ŽM¿·_›½æ¯ÁIunøY(挦ß@ÙÛÊ?iiÏ.p"þr–*Î@}Y¼G€B°@)’Ãn ÊÞO±Tc. Z£ì_ï ìÖ^¢Å$¡„ïBíWk•;w­.¶#²û5¼‘[ŽöߺhÞˆ†çÖ€ÖÊ[WNG=iÁŠ;>Þ7|FÙÛë*`«˜†qGÇ2r„à"{Ú¿»É3Þõ†Œ8S^·ì"=‹!Ëš/3uZÿÞJP^W“—b”@œÁêb¬œ#^üOĆª=ÞÅkî6"‰er@Ušý€Å˜¦%×Oän»ÎT ápÓê5¤çOšµÓ>æ˜<{4Åd D›²Xþ=3Ê¥‰p®[2碼³fOÿJ´Ì o˜ð†½I&Xæ,ë"6¸û/?‚1ð2–øv&àÃ] @‡ÊfM´É¶ii`5w'›…å÷ÌuMwѹ¶ñƒæXLæ;v‰—˜›BwõNœÙž§òŠí i˜0ÅYæ'å¦ód0Kùø­±þéX™ÛŒÌy>1îS$ >sèôÌE†K®œÌD‹BóMV˜¢•u¶XCRÞ¯¿môqt{Uƒ9x7«Ô`íRÊXü«pÖ/TñzÉ{™Þÿ÷PÑ/7‘c==IÔÕâ–ܹº©;±Ú~XücÝœ †Û½¶j¢á{ PðzL[Ÿš¶Â¨nr ¯6bŽþI#ÕM«Jåç@‡@|åÃìþk×¢þVÿ¯ [D# ýqzr›Ò½xç`¼œ -ôKûŒ1ÐiZÙ'$íÏëNßÀÛf¶ u/‡V¿Uz±iæð½çŠ£ ']L“ îáI8(NàÌÜÊU)‚6ÞTYÃ÷¹Eû!'Y»’RmèìQônk^”f¢UÜÏØÞ kSû§ÎÃá„—G§îºu1<#@¸á«»&  Ab_]8G¬À‹Ôì0B=µv8‘h½"%Fç’è¿ý&]ˆG£ =Íß]lã8DQ] {—_ئ™Q8W5øÍ[¿ƒM«F‚ÏLô×Uú1 3÷+`¶ïÑÓ ÔÜTõ5Fãw~ næFWè2gƒ „€‹z¥Õh õ¥Jµ€É–TâíEÿ÷0EÑÚà`â}¨¸âðÜ»OÙ›õØGCšupYû¢4Ü@€‚‘KZôàRFÊÀ  |¦@Éüà¬1cmhóÿSˆ¯w°ùŠ™»´¾÷÷ÑÑÄZ/?c·°CÜ¢Zd3ËÙs,WíU{2y‰x—s£²¢ú'C)q‰(½º4Þ9Àƒ BgÈ9¶Ö0ožrÔo+‘Ò¸G˜óF‘&Apé7ùåz+O„Ë–º#Ý+”H²¾\ENðŒÈø|ÅÊmÇú•Ô£_Ø _=Ág´ u–ë>çùúIÿÝ’)ž¥K®E?Qd™=NþiBy¹Z¦ófo ±'ÿŒD¾ÀÞ1ÜP0e*Ï–eÙ3»´¢%HGw"ái·ìÿJËðþn_PU@G–j(K9,« a’}ó”í>’¿G›Yá´8Qxsk9vß—¿ÕÓ{9Y×o~Wê»»Nãô!­„dsúåbã‡+ <>+xM¡ØÑoÅ¡š¼M^á( ê¾òðŽm±÷Ó^Ò¾úUðŸ?,º?™Æ:ùÑŽ“uOÜê@:Xò êpǯÿNÅmÒ—LfФCÿ7f@6,W}líVœÒ:¹Œ÷²z/åU1>Õ29ìäÒ[¼¶~?€HÃ>½Hš'q‚¨Js‚@ó¸I¡Â†²ö IñÐŒ¾.—îUmQö¹¶×á²¶gp ¿ÞK›à:D9´kCJøUø×ÛüÉÙd²ÔTiË碨B¸èÓœ¢†ùx3Ò¢”Pƒ™Ô‚Ê"€lzOßOF@1ÛÌò~è` _“®É{‘ýÄ Ñ9 kÖÌ0Ð [/ãðßóÉ ÏÑü9)–[’—§-9Ÿó5 ÷¶Â˜×›äŒî 6 ŽhÛÚÊó´pu4›©}â6671Gã«*àÁ¸ ?‹ 3%ü ƒ—žJ¤\öüÕH“ÈÕ7ÙE ÁPùêˆîZ?ð¦%¥\ÌxéâD¾¹­tº?­ ^!í÷‹5ä7hÄÜ©ñO/·{ÛíÄßx(Ý@ñC4ˬ\舨F ×{Ðé—”¯i’¿žˆ‡e|[‘!sªÐ§œ{ƒ·tîl)±Ëw§®õo‡gÄø„þ*ü÷+–ÌyI lŸLž”l¶ £JnáÔá+ª¾¶­`2üBžNÇeÈ‚ÄYJHrvì”ÿy£V÷‹I·¾šã\P Äãm$SÅn7>Iäó ÚÃ`„À½Ãd¹iáËXŸÅ–kˆ1"˜(œŸ S¡Z§6КÂçH”NÒ8³‰uŽ… wî—U…ã‚Qà ö7?1<¡µòæ°}OƒN<Þ£Z7;œ)—(¶°ÂWðòÍfÒª =jVNŒþ=vX;h:çOGå3Œ÷Eµò︲¬Åç},¶Ržñ‹Ù/pvãÌš™Ýsˆt¨YPâÿ—Îþs¯1 †|Ù`²qj¤¬Þ½Üo…iF0¯¥²7Ã_܈VYµß¼€Ðx•‚"åkjiGsZ³=Ib._¾-·óËÅmÁø¾m¾ïí}.€m¯Íb›ÐøéïOïjòÙ Ïg(ÿIë"—b OBgbÂAµ‘sã$ •ý'ãzøµ„Û¦9jXx÷Xn3øµn–û\­õ°T™ÌˆÂ¹Rj”¾\ɱ®ÓçìÎö2 ˆ:Ö¹„ÁМ O²í„õž‰ÀðMM¬“e±jÞfÍÅåÕJ– ®Ýfo>´|a%µ¦%Iy]„ü•i™L¥¥·ÿ5J„€0 ẩ²«œiýƒNȯOÑÛÝLµegÔ”eJ¼t6ïàÍGybÏ—:gs)ߎŽã­LõÔG¿HWäZ -ŒõªŒm_xHl¯Ê¸GÂRîZ#÷—^µˆÈn­FØ; ·DsòaBÐ q3½‡úµZÅ‚7¦@.±'–£¨ìÓoR î3~ÌW~ŽPÒûŒi¤)1\Í2j?lœNüäO¼¨…màMîVa|±€RçCÇA¼N.Ã-‹ë;™ -½ë/œÓUS0l|´òµ³ Å¥¡šõEý "_ϪÃ]]> c$DÍ2W‡ ÑO¶øßÝb·‘u?œÀmM‡#›H\=ÞR%^P[ò˜?¤ )}Ñg6Ȱ IóäF œÜPªEvÒjòƒÃVh‰6S E‚ ŽaæEש»Ú>æë]ÿÁõ·p qŒsãiŠVñ1VÇ%*„>¥¢öÌ‹°žrzÉÉÅ*CÊë”E©5õÑ÷LEã¬/‰à´‰äFqÏÝܺYt«°!îŸìHŒR½×D‚ÃóÒ£¡ /ÎlWk~¡ EÑ]úHŽ!¡g=˜>˜iDË–ÃfHI·sÁ¸jU–ŸÕÌ/em$Õ©Î/Í*û¢ÑkÒÍÓûvá3í£ë²E¹±kÇ»{‡ùY WHG|Å-¶¸$«— a˜,×nîGµšÂ™¼š ¬V±y©Cˆ¹#Áæèñ¿Û£ßÿ…Ü{ïÎ8h„­P¨Ë.™%äK‘€˜d¯õò¬’“´&ؤJ¿Yçã8vÿ™äKÝÎ|@z úxÌu@ñïP]Ä0’b’ª9jGÔ§~ßHÊ/Ÿ|\5ÅTì«pã@íZ¦góñÜÈü ¾§ŠÏ¯(×÷ÂåÇØ5&@ê|ñ„¿„HCQDï5 S®¶X×Ê¿u;/‚%o³1¦þÿÓ½ÿ`6†‚߯ƒJDcêÌPÃO²#÷\ñjD–W°P][D‰Xx´yXòÓ©¸±§01Ø m$šèÑ¥1 õâÄàòƸҷ7ÜU)rHËCñ<¹àt<¢­å,“üXö‡„Ë*f÷ä°;NèbQäåx¤|¯³{«éI1WAŸ¤ÔV•–ƒ”µWCÖ¹ºe£¯QÄN/Â;Åf’£—²ê[sóQâ—.[ƒ0љ͜6”I!hÛÊà4\deyŽåéÙDb%Ë!€ŒÎ÷l5ÛºÝÐZ¥NÔN®é:íÖwÑc¬VÈmÑ£M~úä‹éxñÒHÒÌ‘çw+OO嶫ÆQ`ls›ˆ˜èG2Ìi‡Ž2Œ­[»Ç<ŽCÌ|À÷®p4Èmúø7œqXŽrqÂOÏS^É]R…3ÿ®¦ šÝ£zzT?ùÛÊÁ[Þ£©i™ ²™îõí“•þ½1þ,ó·Æó~9 ¯ì^7—ŸÃƒëOëBòäp(Ÿë –í…çwŒ} ÆÝŽŒèí*5†ú¾TŒë*}ÍEh8@œ ãZå¿×€6’x”Þ p{²Åù9rs—'ÍÂøÙ !6XùEç~ÑLJÔJºgX]ß“(ùX6:Šé»òÈ3©%˜!TÇÆóøH×&…üGû!WsÃê`¨^l7­­Uä,m!„¹5CaúKÿrÙ…‰©åöH†àçž}h ³\Çé¾ì$°&Å̸M÷ZºŽ‹ïšƒà Œ°%ú¨¡ ©[J­”`VXb”DÌqðyçò® “ôXt2I»œõ…l3Œj…#~¬Ä>\¦yot½œçf Àº«Û˜…ûKT²e*³È¬˜g‘ƒ¤¿ŸÚŠßE½ð­ŒËê«=+ÀŽ¢£®Ù§:BK ¨ ±ÃÄÅ †C5û(ÚdìðÒ d÷âPvä)©ë¥-ɶ%úâ€XU9®FfOw¦ûgþ,À6RP®ìQ£À?H™›žÖåÅÍCHbö6œDŠ?†;“‹?¹ŒzƒÍÈÅÉ?€U…@·'ÔÌu܇Sü‡Zm{˜ä’ÛäÞä"ï¤x&â(2ÄÎÙCQu0ß¾1 æÒÇ8§ÉÞï‘QËH’Ê€†c·Rkñ1ÔHv‘L Š«!6|B×qZ3•úk†>õí½B­‰ýaÆþ¯Ù¸ØÚÕr 8Øu¦ÍZ,ÄvÇt  ËOÑñ‘LIPxŸhg(_6~¡»÷Ð7\Â3‘ùíÉSð®ØD†D>•L…ðÌ¡3ú}Ë~-Y9z”µDwR¤5ƒ@v©ø#ÌMs×ȰÿÙâHÂ-|zeo’ä@¢G0š·JÛï'!n3¨µ¬Ž6*€kX:ÏK x´í„uFÎ-Þi§—°6>Aét‘ S0„öþX i·¨ósõ·=ÝèâìŠrÚ)'^*ûßS¯Ï϶ȩlRòn믤]‚ˆcyf÷̺&ÊœËë^sôÙŒök@k_‘ÿôü|=6j=£¡A„€,-"rþþ¾Á ðýÃúøÎ°Å4£ôÁ¼MŽ%$üÙ–Ú6p…¤k (”o™ã“Ac¾%3µžÆÔå"‰óŸ)dÄ&÷鹟3YA ž«è9[iâ{2]n•¼Ú/Ë. ªM·u^®±´Úf£á²Aª}NêuÒÅG7W¡$æ 8†¼/sBÊFõi.aóÌÁ€fMGîw¼vˆ6Š>,Atr_æãó¶6øW§Æ—®¢…¯ºÓ–M5}o’ïŸ/Ü1L~Ú†m²äé3eâÍ6w_ÙB[ZîÍ7Áv™·¦  c*ýYU0«ZâJ$eX$¯š*­æ¼šçüg@´ -Y§ãìÐ#Íí+ª­É¼VFÝé]îºèé­3R2ãÙsãðÏiv <)Ç8!Dš k§ÓàP‘÷Í;Nf}‰Q%cj_oû\<\¡MyØ÷裙_{ak‰L²žç+-ZÅËrtñG§u›Š(]H.#Ýô½ž'U¶°€¢j‡¶¼­ˆûÊÞ¶3M>3kú]L75þ|„œµCIh£™3/c)jËÆ5mZßÿló<1gÐîÊIùzN€X&À«%³ < $S*€‰%)Dah´ïþ7¶†/K¯g¹Š :m/”8ÅüØ´áâm0kïÅÚ×Rµá$ òêâÎenkdŸ3óÉ#Ö¾ ¨|6xHŠ•B“ËÎY"]kd«”Nл~Gz¤W]‰iË”Eüu-ªõ²UzG%ìÝ7ËåÚ‚èzׯÇu@¾HLÙ†­"*Üëa× ªÈtI¶?Îê™q5Zɱäö²%bb¢ü/¸à¬÷ ¯…v I/î_Ι˜†N+ú8ü§øÑãj1öVS¡ßtFy¢¥Iä&Ç~zæf×—ö²r±ÔˆõUZ½ê0=»uû뎜ۅt Mì)3¥ÄäâÉÇL—wN[èC"ð…X¢?7øýÔ»ÊAŒï¥%¹oŒÃîÅTú|ì¥Uª~íÌÔC¶ÔñÿA‚ŵ‰ç„Ñœ(Ü[6ð 6÷RÚÀ|5Í„OÄOW–—8kFëÊ5JÍúìÓD:xÜ««€Zкû€Xºc²’9Þó-û…ö€ÉÚÞ`Ø;p¥wÝ®Ô@Ü‚„æÿÍÿhl=\&E·xd™ReRz&ÈÀw‹þ[@Èzd8½ÕÃ6ñQv&/Aqoo°)oUiùåXüÑHRÌýÈÈœ-+“f% á$ø!Öô^©dži -™{S·Ä‚z·±ëØJ`á•üúÔßlõF•Å.æ4æWm^­';n¶×‚®›å÷@"Fô]Þpôë+ÃmxМdjX÷!tÂùOÌCkêqQ#eò†Ü3‚“èc8Àœhÿ(ÙØñÔ¤x»‚ÓwHÄ ìJ4½Ðbgi×½}Á5ý7u}Ç ›¡*,«¢4È]\~užÕÑÀg¨þôÓS ÒN\w'õÍ’.Ïu¥ |æÃ5›ÿà¿HƇ9÷òŸÁ‰Öñ¼cDJãIEˆˆŽ¿,H¤Nf¹”êzó5I‰*(oôp*ðÙ¶ vbž4êÅêÛ+‰¥{»¸På/—Bƒ¸EÖ!c6Ïwósó€i7æ˜v²qE¨%^ô–‹¢Â“ñ æqÞFzSÜxï´4µU²¯µÍ’3yÌ•:»RZuaé¿Rü Û{ÚÎÿBº8óÁ¤å&# …­¿bX¤'¢ æÊ”îÈ–WÖÐz28/Ñ3~ù÷)m mÈIZ*‰¡Ç¡; $ _"Oj—XÕ‡/Àƒ®•î?·«Qd8I³Í¬÷àBn*©…µáj#l=4é]úâì~Lü"Â6c?WõÎMN.R´]ŠîVÛHÖ ç½@©ôyáÞÝ#bÁíøÜÒo6±ì.ý ƒÜé´9[Cì¥õÞ¾§` P- r}g×àTxD"Á$æÐc‰¼`×çÓGÅAÜl€_Ú8Äâ—¡3¬ŸÙ†&—Ž{¦“0ïüÜ®&òí,kÐ{W3Ú$¼í¨~ÑÇÕYb=·ðÍÚYSÝ꺴¬ˆzHœœ,:’7_Ö†C©ãÍ¿h¯NàkˆEú, ñù¢2ˆÖ*ÕX8ü‰ò1àú¶g24Ä Ú‹º©©ž†+«âíÙÃ]ê†Âå7ó‚ÝÄŠ0¬e¤4›ªÎÏu`•Î’Œ×è¶h£ËƆšaTøÙfðÖ¥+hc³fúÙVTÀÒ–·­Ï?‰%Ïü¤BlšÓx dB2H6ÛÜäß& —›“Ø÷[޶‰ãôp¿Q¹"¬Þ¶¦fùÖ6÷5¦ ¹}¹ÊŸÑþ³¶…9Ôt1ËÙyZ‰ÆºÜe#|W•­ªœð &êD$C:a­pŸšV|wTPe2ê# TÑ\OÁ¡GÑš§"há1O¥©t€h¦ê;ð•ù 5’òÛV-òï,×,ÿÉ$5߸ìYbø¦ö(ìëoÎ+ê0ÛœvE½ ò‘džȵlEîãVÃQ÷6U¡&Öø‡è¼—ù:ãž‘¾Z¯öéIÛDÐ îsÝ‘^øò°8Ð\ÎuAŽ#¥ï›Eòªc­Î©:kF¿ÑÞxßv\X7¿ ËõKøð¤ˆ‹à¤,ììëUDˆžBT¾«rÈÂZ¨ Ë_“\¶ ¬&PxÐ8ª»ÇBæ§ï†dã5ø¬RŽÁjÏ/Y—:*ϯ}êÈdIÙ¶ç2âàýB–6X¬eriu&´Ÿ½tŸyÇÅMÇz6srƒ½ñ8ºúŠ3–4³[Ô4bÐʪ¤”8C#€ð²ss,¡=Ò-éÊòóÛnƒ·¤<©ú(NÑZPÏù“›M }°Òþ!ZÿRÏëÔL ɱР‚|î ¦¢òÆÿÿº…S뮂׀ QߟÍÓj#ó‘†ï‡tmÆ‚i^¾ ¦qjFë)Ì¥0¿|M1øµS4ÙTa#¨Ù’Éžõyy à!êO­öQj­Òºý–W14€Ø!“y$5kUú€ŸC ÐgAé1—.ß²Õ„"®s N.Ý)­>f_˜>åîjûGЭ“lÒÓ‹þÆ9ƒth 0m¸Œe©³!«ëºTô¶¯ä2ª¾$DNð~ZT;¿ø@o><shp±G¾TŠì‰™¯!(vbà+áˆ3¡ÏuÉs;XeB9D`»£ÖŒÿKí®!ëÁƒ£n:òß:«Í•µØ~Ñ9}Rë+öiöÅÿŒ(vÓ”(j½†Àƒð¢û¡ÒÄb‡ «ªð«„ôɇÁ¿{ð ÞQu@Ù’Eà !‘¾¶ü:i˜õ}]ë'¨sÖgÿo–ÆÕ+b<ðkbI*;®~Y5ë0ïg¦ÉÒ¤«ƒ*‹Ve¿ƒÂƒ©ÑKUõïÌþ†ö°éópB«AÀ ÌRe¹ª’2K69V(’1UWV€‹¨Š—<½Ë»ΚÞZ-„„µÒuÓæ"o„s0ºe6j€Û‹.°°ŽÓG®÷Œ "yO*SÌ0¹”¿âP\»ßÖæóxžž=)/“ì·eCê„Rwk‹œwgÕÓŸˆqãyDN†êÖ=Ó>@3A`>ˆˆ!{{9<DÞµ±œl+,šÎ³®Úûí¡,ÆX§¯ªk³”¦ÿfK‰&Gç% X`›%‘Y.<Úh»Eß pÆB§è©ÐJ¼\>b¼Ÿ«„Þ{e‹#¨./7<bÞ™›>Ka½“Yq†âTGj@{æ©­l¥SñÛgI´Ô•"©øÍµÑ}kõ±U˜ážù6Ôª¾”ÑŒÛÛ¡ó²fÂÙ¸i±bnв ¯KÍ£x9ùgôÂrm¨—%/ŽËŠGqQ¸*ô0 M:žGRãèüÛϹýÎæì]à8Š‘ÔÑž›ØÞÙ¬èê1—I6ë4 ਞh8h‰ø¯cN¦=l§üôÝZ1÷ìs†ý‚% “âpÊXœ…š®yÒ ½eGñ·8ðØô¥é3 ]ùTcƒ¾·Ê^ÖרÜ`4ŽVXêáݤN³”÷¬J·šÂžÏ¨2}³ŸýâxßD<(÷³›€8ä[_‹½©A+/¾8Mªm4?û`Ð%ÖBØíÂ|RGã÷ÅË›ìÞj½Þ5+jÖ£¿$x»hPå¿•‚ÓCÐí6ç2VžÕÓGÍcìË”÷-êx#ÕØÀN”ôqÿŽ ýšˆ¤ˆÈÏ|Â6ûÜt^{ÊnxT%8S{+ÛÞ¹¯ºKÞÿíEWáÔ¼-gt9݈Uvn¹>­„2_û&Y¸Lƒˆ o ®«¡÷ q î|®¹õ1ïÆ}UÜA®Ý³HdûG¥… ?Ú5»ê˜û}Äæ+ôm¯¢{=f#’`¥ÖXÕä=… (‰©­éÄÖŠ^&ãbH«Ð ÞìæQLÏÓO t<\Þa2±ê“Gá]Íz¡{òkN\ÄözŸçŠäKVù3=Þ¬X  Šˆ°nwŽé?ãfd²ƒT ;ñÙ(RÖ½›¬Ç.mü®G¨9 cmŸI€ÿo?rèÒKº>ˆO”Ù÷@_­BRKAže½î”’ÛÝcâ¦42 $ ¥-Í<¯ëwb)˜FE„];®,lŒ‰ÆhK©i’C6 (rŠfð ó6çZã{˜“Å]H‘Ö¶<Íg%¬û¡ Žü/nî#à)¦E­úBè oÿyÈ0ÌhML¼yG¥.pt›à!ˆ¹ˆqhžäÎö`ü)‚ø°÷D¶¾Úº”XŒ¦ñø6 ìƒ'×çTé^®D+;Ä*®l–<—?ŸkµDŸ\_\@÷މ×÷?Õ£Û¼vlë¼›ýEkOÒx 痞͉ǔ¾í$ã4ª%!Ø¥%üâ“ùí×nwÂ?÷r…Ò\ÓN«lÂäÝ®RAÀ7U…ØBµƒÇ#•ÝÆ=qÓq¿É,hôó#ùêÒ»‡ šØäÌ¢ˆšUË“ò ”ùI£º'£WmܺýáþB¢ˆ^}£Ã²u%W^О%”tF“…Ë h¼[õ¯[q5»i¢’¨”×Ht°u ¦c—(z;¾*~T0?×G«ù<‘(Í8T[š‘¤øÂ®Õø+ÒMHNÖd«ë°é­O1În4º}×Û~ÁJV=–fm`ýrd {¼'=Оc¥j©v÷Öõ.Ãd}p üµê-n¶ÙÝdÏšCÓÛ´ <~)6sË ‰7=‡`ÑÃ}pËU»”ª7ñ™nÒÙC+QŽúš º§Á„Âó÷7§`š8>á´ Aææ²#ì\ÇâU*«­|J,Œ55 Ië$»a¶ã²÷ú!Šoä_Š÷Ñkö« Mz(l†Ä³â.Ó¤Ò óåÀCm*ŸðXëÏ=Óúˆƒ9U L0[¢j½Ðô›àJ~Ð9J}yøŒ:¦ØZÊá^Q2Èšïù“ká~K4ÁÃ=Zq>”Ÿ%üè\Ñ ¸K&Ùµ⎠¹5€°Ùl8oÇó–klŠœ‡9>EHlüöIš'†|M?П)2EÏŒÇÕ «c?ôÓW@ü]ásòØ/"ìŠ[]ÌMdcrA§æªÈ| ×LD”>5”wóòî§ÿ{û*4m—#ó–Û*€\‘ÜȬ/‰²ëŠ8…i(fmc@Ê}µ¬\ÉRÊ[×VÚUü2/7^?9ÑÑ@]Ñ[ŸÃñº»#,ò¢éCMæ´ó0¶û}Qe •ÙgØA9××tM“tÛ<Ï(#–'}’,/G>q;‹[©7ÁáÓ¦WA—Àžíâ<‚įA !Ä€V7åå*r§PX’B27„ úÃ~Âyš÷U¬VmòÆqAWžYpÞy-æÆK²€î°³ÿU´ªi~›ÃËF±µ1E–µp'¼ÿÃh×'¬aP§A‘ÈÓØô(5G“Êzùý²WzMŠÅò¸ƒ¨’UÌ^¡0œÑj*ý¤Q‡Zø›K`˜å3†¸”Ù‘£[±àÈÏ”¾¸z•\0 Õž3éá‡â$E?\aÕqXnÊ|ÖJ³È-"ñ}@b9rSh¡.qû°춃”F8BǼ}®“ ©¼võ@Ü!*UxéK$,ÿŠ ®`œxÀ1Æ…%L\Ô½è!‰Ï}z6±øIjÓÝQ¦ñX è—ºé¾VsVŠ1 Ÿ%>¨¹jqªà†&# E‚Pí'è=óƒÖ ÅýPô—œ¹¯Â;í0·^üohù¥_ZÀ(0†Hòð¾t"мC3Æ‹3ýrl#_Þ>$ìç6B’‹ùE+Áþ À킇Ìô)`9kkè¤i ~å±E« 18—«ï“šTŽJ';<ÖM†%¥Ó±UâÞœíï(ÃÄPOI½¡*ïê|DÆ;4U<¯j5ÝÏφ Õ'Òo¼ÕtŒ¡'È>ìÛËé§ü6Ú¼Ù,›Ái!ˆüä}·W]a$ÆÚ~ôÇÃdOsb-Oª •ï9ÑÑ¡©xIOØI68öøÇ’µbÌ’xÌ¥O*¡r“¬ÜîÞ‹ÁŠfÔ‰² ‹rF)úŒï•QqZ20ç*Jº®Ì @=qWöü»èQ5 ¡Çy\êã÷K’8_›ò¦õë:¦<]K”b;Jý_Ñë·¤‚s˜ž- ?í- S¶Ö¾y„pã!eRô¦*26*¯|>Éè:ïsZ´éíAÈ ³ ,e›íMwˆj@@âüIeã+ÍZÝ‚M 5wnÌNË]9üÏg+9¼×ÓÝWµyGIï/öŽŠyÐÒâ[g?ð[t€®ÜgEÌ ÙR=O”IûºOè´=φ³÷nvJÒAâJ vYî8%Ú½C’fµËX©Å9loEMûxÎaÛ#èÓ±lþÃØ]/µ“÷÷˜Ñ ;J†šV7n©üÎ<Jµ¤ÝN.iIృÒzJ´¹¢'Âß™“.(28Ø„_©­_”Q…iOø'¦×Ç©”ØØ'—ªž5øƺU}Ö¦ÏÝúKbluç)n%{êÝ0@>Ò Ë~¬Krز/ÇCA;ß6 b0x…RÀ‡ï¼Œå· E)©.wòNÕ–ø´Vã(µd‹6%¼ i¥-Ä ž½‹³Ö#€¥Ræ’=øÊ”‘6ìØ¹¸—²§]ªUÃÃ0Î!`a¬%–yÿˆöw4•£SW“²' Õi³Ê†GÙ&£M‚3ž|05žŒISÝ|Ù1©\8®Y/Ø#_oŃGð³½s}ƒÍõaĪA™ðQI:¡yÖÅ( #¡—¯hUòU©ßdÉÀy¶kKtœC<òÓ$!?‘ ,1°‹™2·´Çg®Ë~8þ¶ºÆ_j̾4g–±"?ìdAîk‘ÇäÉÌå8ç3Ã5ž„ï4Æé?aÕ0b– =¹1~œŸFøºˆ8k·\­Eï›fÕFÐð1û$eÿJÅ•@Çýj–îµÛ|Twz>hRa¿Z¹|.å[bÐ#²ôñ%¨C¤*V`®nkìd#9[YvL¶eƒŸÀ)oƒ©úœªvdRåG.ßG2ŠŸjïóf¿£½Ò´ý¿*ùò""^ïuvÏ50–Ùºˆfqô÷Ø–'éH´àNµ ÞcÜF~ùOoÂ&{éÌ™OÒ€=D·‚N;`‚Ï“êè½yáŠÐ˜&ÞFÝz—QΆ•FÐTÕ×7£,í¥Z²1ÞÍ„Œû­p Fyc_íBGua–„O§0z\èf¿óï•q]Èv¥b(NF’n-4Ko.eäÐÄP›ÊÚo¿/>ÓSÖ„.¾P]› ×ä&uíCÚ Šå"Ïí|[84ÉÑà­Æêögß`qˆVûÿí‰÷ (öö¸‘Úž²äö®®p.˜>¯m˜Xõͧ¼£„XéÛܬËù¦æù¿J°«Æ$2Î'Àœ»¿sóã(¾¸'ÉNT\¯ÝÌv6»2µoš¸ºù–ö,!gÓ4£,{‰vrÁŸÔG’\¶åé–s €0´M 'h{Ô¼[¡WLs—D“3^|–VcW2jv›ÕɽXnöön†õgÓ0<¡˜ñ>ò£’Í+=ì®3$åº| í¦Ë²Þ¤3g¿Hó÷tC_˜i¯šÙÝM¢ã­‹t\®¼¦2Ó]‘z½‡ï\Žâù6õBLqáöhÈm¾Ûº´GÇ£‹ÿ¹«h|Ë`!öÐâ…¾¦î*XA9cyËûR00`”ö—¨¨Ë>yÜk÷'Zñ©@â}®H n]6N»à® ?æÞÀ²½¯ï¦¤ ö®ÈRo_×ß#¼‘€œ`㊦à™:²¾3+0IÞ@!…fƒàí­@#á¶ý”Çû#žœ¾cfª;õ)g ‚ôÚˆ}¥¼稶hZEÇ|jTõ„GîćÇY]° @âKõ»‚a‚þéÄÈY|Ò¨6(›•²~ =ë³h1ã!§yšœåk€`Í1MJ—kI㈺¹O=­kô3Z•s6 ¶õŸôª¡õûðr›®^Å>aµ»±Vaíäzw :c]BVÅãè’Ñ{>ЪñŒÛŒ³—©"Q¯w%JÛ~.Ü-Ë7ìpîU–!ñ£¬’ÊÃáÖaæƒ-/[“ð_‹žÁ>°(õ"\ñ+auƼö^“Ìc*¢ª½Ñ©ëKÁÍZ¨/™Åœ¥ü²LRߢt Ö®æ»ýÍÂî-Ö+dK¸zKÒò\ar••-S‡¶¦‹˜ÎÛÏêHØoJÉ¢ŽùûPgÙòÆP'«°\-?z¦ô…d<5‘ý:’kšËÌ6¸å&Ñâ"öi‹«gO„‚‡ÝÞXV˜l!ì@"á³(_6 8#þ³>ìŠßNÉz {.nsÝУÙz‡écÑP.« ¢å²’> ëí›–±â?ú©§ÖÈå·k³È¥óZÞ»é3)¾¿Wl>¾Œ}‰fXç×¹¢o"èU¹@q#`%6¢$›¦÷†q¯ˆƒ°½×Ô¤êV42¥ÉÊ.æð¢œ‰%:\%ÞÃvir½5ÐŒ» £ÇŠ‘*añl§\’%º*ƒôl«iö¶Õ¥h|ÄWmœ˜˜P'.¯q¾RËMoQ±–ã½a͉ ±P};_UбµÞ$÷[¡¯©Ë¨tãý‡ ¼9èZHx–äÁ'„U\8î®;å킇ú¤°C©sQz‰V¼Â’Ï2™¼“é}ûG{5aÓ7nìՔȦu˜Ööÿ«€†‹‰·D5ðM iàl8¨Ý”PwžýO|¯$Íà F½2ué*«èy½hÅÔ¿ì-×JžJ=à§OæCˆî#¿K¦Õ—¥fiï ®\¬4¹¬ºï›Lo#¡¤a‰ÇUVóP³uó£u^”HX¯ïÝ`0§°ÓŒÃ‘=@’ýdíuú“žhrpç6våªY`DÌlvŠÍõAžê!„£Ðª¦ÈšÈBÜä¿~ c˜ƒØS0Š*—oQ^Lö'Жy:†2h£³…’AºŒl¡t 燱©4[GIúç :roÒ–ÇG±‰á‡FûRR8Ðâñû|k©äÞæ¹¢ø¬Õ"œí3¹v»™r£_—på…ŽÒÝ¿Xœë×åûª;oÅš,_ò”a-àŽ¤P"ýÚÕ’Í>[A¬ È£Œ€oON;Ë`D©ë³vn³®ª~rCÜÅM)ï# ÇØNBéK“ "9<­3aŸ¤nµ{Ò@ “]Eèí£+„Î9I‡vœ rºxŸ «Ö’œ6ÇìX̯°\•z){ä£Ûƒet f?±ÙdÑc ˆØ†›4>¨Ýi¤šŸ¬àõ éO+`Ûð×^#¢N?¡6ÎÌÚ¢µãµARã!UôÕ­ª}R‹óD&ýGÛÂÄ}4™|E g‹[*3Ǻ2@-+½'G/ÙA§ÝlùÞÍDôKKÉü×ÁêöWúÃ…å58 fwÚIŠêëq¾$óô¤9·$­'ØRÏêìéÍl>–6CÇÍ|áA[bîš¶Áåx;ÙIYÜ 1àjg ¥aæÓt«µ‚¹Å]_@÷RÄøÚ™’õÐ'yÝ B.!#ïÝUf!£QÅÁÿÊQÉ+ù BxòR)–÷"lp´´Aà }a.sÇo#üc13ê$±‚åpT@¢°Â©±c4_këBÔ¥êè¢ÏÈj2ßòö ]ìB}žíN`@ÙÆÂz½8-Pº§á’ÛˆôaÉþ€ø&îPq•Ú\qS ÷±Œ4ü,fžªoÕ¼|9_}œbù&HûhBÙw•5f˜DXÌ¿HêçrÜvS±»Ô¡BÿŸïñ¿©zÊÒ­hqg5â¤g\shá2Ü1ƒrÌÍÇŸF¶þgP?Ý˱·p}4ð ÒÅ(|Ä/ˆó«“úmP‹ì¾@šÀµ˜;û2]Þ¿7«@u „<Î(hôj9ôhÚw¦šH›šI@ñqS$*ÚäQHËLȶä7TRý…ÙÑ¢ÆV„$x™ 傪%Tåè4°UÍ~™Î!­£êg.ÖW@&_¦Ra»ø¯_æWЧgb€¨ôïØ4N¥ ~¼Î89¨ôÎ š~Ý䜕jÜ+‰¹O✷ÌÇô%Þ)PÆå6í ’Å×ÿVu ?ìLMè §Èá*ûÀè‚oà}r;j0é¯ßƒ óc.þ”—컣K8j´×[*IV'¹!{퓳Œ¸Þ&1òu&¥>…ÝÕ“t(]U4q"v(Ó"}šVúf5?"iÃ6´í¡4 ©Pô»Ê÷Õ B)óÖ܆ZÚ[BB¸cºÞ/Cj& Ø º¯*Äêë‘^¶& F-„{†ÁYáá·YîÕ©t]R§ßOÑM¡¶‰ƈ{«Jþð“ŒÝf%¦=5PYiwç‘ð#$3>fu*º‰‡›•3Œb?ŠOÙš¹§t!r3MR«Ç-öÔ~`ˆ=&+<«’š“.‘|OŒþã.¦-t¹aBô“#)Þ㨖ÍPdÑÞÓ@ÚŽ€ nüòòù·’Ç–šò¬²R-N„a¢¨$uÀU;n E‰;…r¬w”âFÝÕÌF‘*:Fܲ†¥ƒ8”¨ 0ízå]ÞÜ|Úž2 5œê˜aÿ¦ÌwICä#pk’{YD—¡vŸ˜®Á†ImÓ•?Æoˆú*ªá¾î¬Ÿ2tNd1­ŒNÉýH@-8x¹B:«ÚeÛº”üãÝ8JÔ™qña/hc˜¹Íl ^æâ5ÔÇ+5\„ u+CF^[\§­^CŠõõ>30”DÞ[aPv2Øo@Ò–¥Ð÷Œp­Lµ¸!H\•×U•sš  ªqBŒë&ZW.¬­€]³V6{ÓzÃ[G„ö¶“~ï&|SÏÅáÐa<œ-r¾À•˜ ÁŠö®õml5Qá?N ‘M‡aÁa9<€y­V§4x#IQjuÈ€XÉÈ4°ñIâƒ?®@VpÐý~3 g³ —q£€-ùdÆ¿ ‘g6Æ,bHc݇à¤:ìgP°ý#K›‡Ùx-ec Їš]'"æRJje±[#7uXãT4úHo©›í‹Õ>E ÐÎi+ÃVpüdñÀÜÉGsþ÷A î£Ë4ÒÃ:nïò׺ò—ÆÕã-AÔ¤ß:¢éçg.¥%¨b ¢ÛR’œ½\åJh¦›®Â1ÒÕÅ~;Ú}•yl/×ÙóŽ?¦#Õ0IküÖ='¿C91ÜX&ë#„¨"å9gcÞ)!ƒßÝ!`þÔžÈu€6ÃIG»±]h¶Jçâ~EF=ׯ.ª\îAGÇ2ÎZG‹^å Ö™î ÅçBk“Ì[± ›qÂtcf‹T­»Û&´ìé“lC!ý ª«,ÒH¸p!ü˜‡Æ_}aÃ!¹³â¿èD²!Í +Õ]PÅ.6bIÓQ€EvÏõ§ù2 Gj«ú· ¡’y2×ö£T"Êàk}ÇS"áX2m¤}õ¥Ñ!¬ œ`7ìîCLwIF;3Ž*¡tÎ2 8’ˆ8ŸxØÒN§>Ep#GÚªYK ƒ4sôO½&2—ÕÜ¥$h¸c[Ý#~žu xÎAË£.Q-[—MOjí¼¨_¶‘ElÝ·gÿï‚<ϥѱ¤Dè0¾ŒàÀð™NÒ¼ýc)Š+9•+A”’]SWü³O´²_AíäÄýÅ„MÜ‹£½0:74ŽL2)\¼öø²£x$™c²‰tÿ=¡¹/÷}•­ê¤”à¤n?qH´†˜¯ðóÕj¸à—Ïцúiê8•\7`t@Uv!ûÄ4w*$Š!³FÉHöäOñ5¯aS“}éaÓЈª€½~s7òZ­Ñ!Luâ”çàpœE|•DFDÕDSÆëa{§˜éêž1Pøë󰯌­è*oS• ÄH€N{¢÷Ä ´ú²ÁBû|al 2…”ýôñÓâ7ôæØ9”„8U‚nàÜÞ¶ˆC:4ðÖe ^^Æ4µhÚ5¿ÜaDŒÙ¤¶7IÜ++V—ã^ ÃcFž§&Þ'yÊ[ ëãg§ßeÚ ¨"A£¬sý†ïÉM |åÀ’G¥Í¸O+Æ–§ K¢Ì'j§ãØç’Éo¬5zK½f© i“GÓ´fO™¦Æ»[Ã7Åús’¯8ÍF¯ÅfßIçI9†¬’õ·j×Kh°Ü¯Àbk¹¶|i!²o>bÕÒ[\¿re4EÇTmf>†ƒîÑ)wOÜ ód Lèdu#»Ñú;AG ëhCSq–Æ(<;* hXrŽ6$Y‡ê]N¨‹²™°!cÑèÏMlÕHm¸*àà,è8 CVÙ±<êP[µ¼Nû¬ëRwá*D»*)ÛZ&—®úÒ‡ëP\²Cû—­È¯3f­^€¼Ü>‹/VøRÀÁR  Ü€e{,DQ&‹Ó¢›ã”PpGiЉjÀDá»êŽ'h;91íÂ{G<<.D @ÝEð{ÑÄ¥ùÐݯ›Œœ˜¹K\|=ø";h³üPS†‹tïr¶˜Ø!Ù„›¢Œï{{•9x°ië\‘3ÁD¯dvàz‚[¥%8ý¹ÅŸC ¸ˆé'»¾³(­ÓSÌêÁÕ¤û´Œ(v † M¸˜aÏÍ€6½‚»Oòq7týÀUDOñðD Tžáúä^Ha&ò”ûaôZ‚0ï¼;eN‘J÷\ùµe”É»lz!¦†kÞ§BÒw[£oOL³âVêâhûŠéM5f/JƒÜ)S\|€ÏU%ÎAÊ‹æ:{j¤ !²uo ÛW¿Œ5Š i¹BukUCªj®¹ÃË£^‡Y'fMîýŠéøÄ§Ýür[CcÛ:¹¡oâ×"~†Ž3¸÷‚¦´ŽT7©€¬¤€ qø>AÏEIÆÇ֓תê‰d…X{ÏJˆ;ѤâMYô!.õæþ³ voLJÇüwYÒ¦.;óô"cN¶Ä¨ÿ3?ÛVÕúå*lÐ%>$Ã9@Z\¼Ñ":ó3J­œEtEû}–!‰7ÚÊÐMî‰ôŒ2QœoäØÅXôái¹YÉ0]ÂV/ˆŒlÅ €Ž¢ÅVX:CðLñÒ¿ÖJÕúϾ#ê‘ð®O1¦h)ó4zÁ_§|¸e¤ÁE4gÝRnüìÿUÉ¢k¯¡•›yfïþÑb…a•í=ñQ>¯[!Þ·1Ù†Ž?Ë ?Ÿ/Q¨¸vÓkh ò5mN¾ F}%œÒ²­ò¬GSY @­Fœ€s ÃáÏžkÏ ¦h&YÔ9X3æß# µ†Nƒ5žM‡*ñ¬+öØDf„Z\wð×%|âbô6 0jBíOåH, hhœó&õžMý·¹3Í yÞ´Vq¾Á„àY=uTïÕ)<ðéÓKø“ïj±±ÒŒ–·áž–$üHŸ€ÆÏŽ÷ïþÁ?|Dž2o^Sж!&J‰<Œ§¤C£ÃÛDš S¨þ*ÃÁa»[c{í銢\=Ú„0qŠ¡¨Ü”ð{aß^ˆÑ˜˜aojO0d‚Vºå=À¸qµxLÉxdq/²°‚%ÆxVE+Ù07ƒ–|’âð×lÀ¥©–·½!E9ó’Úª žhˆ4m@‚õ!ÿ³YÜֽسœ:5Ñ¡dZÁ¦-°ÁË‚¤7U‹eÁ[è¾HÀá ÆP‹ÃÔ¥)8ΙçF2Ind»6e'{ï»Øõ0!—܆b8Tv±_@; òÔ³ÔDL×U"šYÉg 3!8Ï˶*™ÿäµGgÆQ”[~¢OLS³t›bݽ†ãi°±Ÿ©+qÐù\F”¨$8u×8n†­%h̓M£fá~( 1X”^î \‡®g?O\æB“;z?¹ä¬jfÙ†hï7Žžàúú\†0–NÒÉyHëÁS»>KZ‰$ÕUͶ†k·BéÊ~i» ð1c¹FÎÈâI¸³—QÞ‘uéEDál™â¬l_«¨Ú;´è° %›”!ƒÍb¦oôَϯ4ŒäxÒn‚¹õî™)C1Y.fdŹôMsúø‡œ:ÉòÒzëlkŽiµ¼áÅ2ûÛÎ,LϦFž¦~ó³«úòM´ÖØ]§[ë¦áÔI䟶#‡îMáõ¼6÷¬ÅÓGÃ\­  †céRŠè6PÉêç7E˜tó#Ö¿q¤õnõ´þW¹púðv¡I‰†eílUµƒ¿€,4ÈÙ» 6&΀Vµ0Åà•þÙŸjZ,BráÆ4ÄöÍgÑÐzÐ{}d»E®d'Ie5¥×zÑÕx7v¡ØEºr¢QLÆnÒÙÇãw­¬®¯úM÷̸5þ£)\~_=ûU`éÆÄx>šÓ™¯KàCsYAG¶M}Çë Z¬¿0#üB¨ðÀ†¢¬Q ?õßõ©†}»ÿŒÀœq¹)mËË¢Õ/ÚÇŠÛ²kG5HdêÖ8QWBMIœ§Ì¬¸X ñd‹|)T%QÆ‹ÊTßœ1ª ¶—öhmùü Gøº\å8<°˜ E*p/] ŸÈ‰5«fe ibžÜ³œ ê¨@„â €¼Jx”h‚kÇwùk«Ïq¢;ÞÖz¿ÑðBbUßé0RD6©ÙÜ:êX"–Ö™_ÑçK©AäUÈ:¡~Ûc1Õq„"ºõD‰ølØ ðš®¬æ°üò«çM7þt䯝ˆ”aA]ß4ùìÎfo†+Ë[è¯5Ó EaêÀsöËEôR.~›ÒŸä`T×½çÚ3•Àe÷§¿øm°l•ºé#ÇXÀF/ *Ÿ”GAjÇ[©û;µA…ÁùŸ±ž.Î(Ǽ½“R‚.e üyÒ;ö$tP;ëºq²Œ<ùHHï<öÆtÕ4%‰`S«À5ûoWJAôwT:ÄB!ÈËrëIˆv1*öðÁXmm5„ÁL…E ý˜_S)Z¦¶Ü&Ö‹»¯–žPdÇ‚uÿ–¬è©•‚›qK­H›«žŸ»ÚÉgk¥/2%ÉʺgÓò@dð!fØ«xšL½Æ&бëàéÈœP¡E`Ãï™ 65ÿåG~=(J¾ÆPDà¶ùÖ݈žQŸ€šZ´—I-™3=è åšbEïý¬Ñ6ŸL>xì~zkBÝEŒ=òöû¿üùÆíªèÌ¿¶ZŠ#é6†Ú›ïJ>MmÁþeU©, *÷[ãIz;^!Xçtø@ß±B(é¹dˆÒ8¦¹Ïƒ†‰M,³œÅ·|BNß$Œ–¥²ë¬OfÏÑŒïŠR’¹ë/ù¬õ sàŒI@ÑA… ”ÃØÂx0ò:‘èk¹3 QgÖÿÊ+iö¶z5,ûstË‚à^qùij…ßæÕꈦE_l O ŠÑê[xØKÕˆ›fÀ)ÁÀ?¨fm51_èsê+õ¹\ÚˆíÄÆóŠE/Zšî ¥ÆÞÃÇðy`Ný ^Á!ÃmPgõá‡B­¹8ùÛÑ}žR•“°½5F0Þ"TÏCˆ% ûÅ-t1ºØîÜÚ¶Ìæzë¨êr5ŸW*Ñ&Üò})¨yû-6Ww‘8nShZé®Ýìç´¯ 5E’4\.˜SC%G“›ÑÍth´=te@gH™…êmÜÓ8—ÌÓ‹Õ7^¹5C³ÏAúƒø¯ùòàázÏ”Q;Ï>ã0'Cw'§PMØå2,ô¼üj J¹f]R.ÑŒ¼LQÇõÈE[¸¡Gõ râà´%r†šKS§ù…õŠÚþ QàYÆ…äg¬‰—S`Á_øÓ7[Éÿç[h&»½"e‹•q>o$KdÝ»í)¶ sõa®Ñ× ÿú} |–¥dsüï¡\ÌîÇ£Ž_+Õ F––ÐÅQbDÔ2QŠ×Úø$Ë–9´yÚb)AN‚uYovŠQù1!%™ñãÍõsë…(‰6°Z í76lÌ…ÛScþ|2-¸mˆŽìtìíÉ©ÃàÕûŠ´H”›ÏyÎók¥.«gæ³JŒuA·™R+tÿAÄÈ*yüø&‹Óz࡯»æYÀ5Ìp‹îpö¦ÝJv‚Ý5¢¿ú<ŠŒBS4Uu“=m,‘ç«ÙøŠD…ªêÎÒx^Ûé´ 1?a0˜áÊŸód¶Mˆ —ÖŸì9¬œ[äé²*—¦!ƒ:Ëë¶(ã ì a:ñ¹‡-Ç ÿ•…XžÔÜ\vh·×Ãr º+Ÿ’Ék-ò(ÄÞƒâwùÜçSL78Ü”ˆ¡ÝÖY2ÍÂ¥fúÛõ3º]Ö÷lOп¦Ï­ð”~®]j2¾)y6Ũ$±S]kaiæ8:|ÛéøZ†¹Ãù–V&Yʼn’êÁ0èR©.NdH¨|Œ±£@Пu¼.SÐRÁ²UÈÜ_û KñŒU˜|ŠØ=ô¢Š8÷¥Ž§” ö4;4y8à WÁäâ!×'±).k„&îÛ*NE(KðãNTç ôm(¿S(™TI 1Ìk¬eø%ñ:öéD•MIú1Ô~Ö"ç`PÝ)ýˆžcmïÊѯ³Û-#\h¬ƒÊ9¢ŸMR£Î¬û¤°³ÌAi璉x_ìNÓ³LÿÝ‹µÌâ̈&1CëéUöäùÆ#r½ »€ý?Íã‡Á,:c1¯qOhšY» 5m1%ŒÌÊ­œVÍ1<%BŽÊÞÚˆÁT¨âöïK¥—ÒîÿŠ;&N\)ŠÛÙÔ½–ñ–Kjù¡BtXoÒ×¶ç!­UÚç›ñüxË_ÚM0ab)ðΟÎO³s1»j¤>¯w ïz¿V]rŠó"$FÙ8 =¡D\Wj”£Ô ̼r§WÓ³zQB ÕÓöæX}…¶yÌMNH7˃Q–ýê¶ìõ#’Bx“.m˜dþô>*~êrÆøNî²¥ˆðž¾{Î\Á‚›õldK <æœsÖl4Ü”ƒVßðD[ÀäMoŽ)Ý e®pF¶”L3:¨r2RDk@À Lw†7È¡ ‡h¥*äË¥—9Ü´ÐN/$õ£ZÓ/_¢B´†×e‚G«ÃøKßÑ1|*-™,õôÂ=æ2ñï|…C-†1Éx hbF<ëAibqZåH‹5EEø”æ*á5ö˲L“òðja]½•½Â3û‚-Ò–F(ÁuΪ»`LƸKdÐïu®±;ǘ?°ŠM©5F)*ÞñƒÞ¨@Šë8ë?^ xÄ£czˆW—4rýÈóKŒ?Ç1®13KÚBbb£®kðøãòÔZĉ¬q ›wÒ`‡â? ¥*ú}Ñ[$ìÀñ‹XXÑôóJãZ8ª» .ÀX¦¸Èå£ÿ©dÌêöEÿõ@CFôŒþ&:ùÐc-­³0Mžõûà´ý±é$Þ9#:^·†*¯½¶È³ lôl%ÙA{¯ÍŒHÎ[UYO{´é‡úÑÿþüV†n¤¦à¹;‚ù^,¶–“²ex’ÞàU7)+ Jî^¶8/ˈ}²EgÝÈZçRI1­gj<Ó¹¦-Ö¡³ºŸëQÑò,z‚Ö³5bþ·÷·7úT:·ê LØ,²R`½<É9“ƒ¬bÇ!lÂÅ ]Žf[dùÕIÒõïÞaŒºýqd8_R»b·}î²­ýƒOö'žW†þ€‰¾Ôóû/±ÈP¯-‹sYfÇÿ[7åäÔ§® î@2e‚¡y0>ÑYJ¾G[AÌÐÛœ7ËåùSP|ÎQŽ¡è½$U(UcO§ƒõ éP]EbƒOþûzÊ©jå!)õímP*³MA«=¥TÛÓùB<(£`÷<×ÂFN.%ýã*ÌýóòéÇ 06¹Ñ—Ðr8«7g%U7 9ЕööÖ ÞzšxS¡•DZÿ Ò’ eçT¦0ô[¹c@k48”ÈLEÝõWOàúæFøéž*׫ý¨LFÈàZJ›U&uÐ0up»m-ø+uÃÈC|‘ÛPµ&ãÙÒÀêYóá—(ŒF’#±P±‡é·vçÄGj^€X³”ª\LC»ˆA©Ë^ÍЭ” uç3êSÀ#A*ƒ©òôô½ÀÒJ‹œäsúãLù2“«YGCsŒ¹à¤v•ËT•?*–XF^r#‰üR(âM÷c­&ˆnåú› ý’ò †‘_AZ gY;„CľÔÇu/ª®<`ðè«sÙ+È(NÛ7‹ AùÏòWhhèßÐSûN/ÏÄ–%õü¡/nãÅŠnšâp€r&ºŠ¨:ûšJÊßFUR·BVÆÁé¯69[àSµç@Äþw¾£)™} ”‰!FdÚîïóͦ–i£¾°Û.)ØiÑ ¿…%"Úg¶=@a¢eÁ¬‡^ç(iwõ`Q”½G ‘ú&uû×Í—(¨'Å6ÌaõÑâÌ.¿@Aè!›M£¾}4ˆ(üÓ7Üuu¬+—úl€Q±Br„óà)76Ñ·øŠ,3’\¤Š«{åS%É£$&=t·$ŽÚ ¥-‘†JR´ivë˜×â¦ù®m¤#þÈêäãíÉËØì )ßµIÆè¡Ä܉ó¢osŀ̇Ù;À */‰IBC¿Xª½ ¢êÑêéõÃ~Þƒaž›Ì£æ—ERùˆçK¤õ'c³,ã¸g]'ª]>) 6Uà"<Òx<~ú}ªÛ…(uÃipG¢µp´‚5®ˆ ò8ž“ c±º® Rôñ‹¸KA*§éà¶*¤ÚàE,CêÞ½·ÑÿÎ7b@~¼y»6,SÒW€R4“N¤% ×—ö™Àœ™1š¸w² &òÎb¯ÅVµP‚€ôÁà/6 1;œ£J댖O9÷Ú_©¼E“Ÿîë,†ç ϧ¨K*ÓΘ4# –‡¸Y͈èþv*oÁbøàÕõ!ØöE:)¾ý “q;)Ü1üB?ó1û r•ÊÿE‡è%ωïÿäÂ+zÓO„9šçÿ €?Æ[õèˆOvR›pÌ‘‚ 9€(^Pß9/²k ÿzì‹{ú÷ß ®‘m(\éNzÜGUÈ­B¾žrbÌDÔæK|ß6lüK–Ä/#©)•Õf>0Ÿâ)Ò'VnÙl þ2y…Ïî!tx·òŃ3Å$\®žè(’.§ƒòζ\=ôR¢Sy#s…›Ú¨˜¡¹t]?_f‡‘ËnÜ'UÕx" ûW:!µ#|Wš¬ð„ã¸Jõ/0r­ZïÕ]ÎÆP:¯×âÉï› 1C; XQ¤Ú>Et“ †Iƽè«÷é®ÊXؼNPu‚ãy½âqñ Η6 MÛ‰Ÿg·[]¯,‹œ‚Î¥ãÌe¤"ʼMÕq_i%*±¾ sÿá6.ˆKÏ1YAÒ¨“¥oÙ…3AÛ¡€9RæÇÑ瑾…@¼QûG®îųmÞ–o­ à,ø‹ú)•éoSâJX9‚0`j¾ÜÓÄÁ–®¤«d¬;*"uÈÈÝÁ)µwùª)òoëcðìY³«·zO5ˠÃÁ÷~5® NX×ËDt½@U¾”t†LIíÀó5#]¿Ó»êº}"µ‘˜±bpñ3þÞ¡MLðÑ=9—Øíe*]¦Ñ =Ö: 8}3Ÿ¥›õˆ^C´¶$Ü"¿º ¦ø²ÙPƒXÕs¸ šíYšZ`@‹wö–âˆ7]Žè¢ ¾#òtÖqÅ¿êLµÆœ£ôüðHq^ÙÊ6 ?Y OÀ¸]Í Åé7² …vJNн›öWa³¿*I} 7ò·a¸Oà6ÌIa¬Yè2©±0:5Lúaº"öEwÂþ0º«+Ãê„]ÐW>2EuO)Ö«$­íc PÅXp¤öšTÒB£™rá9gY¯<^™Õ¨m6.ö¢øY6º³“·ÝåV“ íÄ\¥xHZè ëÅánƒ?ï#Ôó[ÃÃ:¹'Ñ¥úÚõzÝ”úÍ`&rƒ£™âº…ä­‚6?R4 WØ*È‘´LŽP´‹!j‡½ d. [•Îø½þƱkIá*…n>g ÔÇ¡ÒXFå¶nl[Qo…/Éä>Q„ì8ä±ù!âºê*« ¨µúžxeMшÕÉǃ€ý /ý8I¾Š‚óxRÌÿ0Ì΂Þݯ^Hãkjžs–Røs¥£û›]?UŒæg}H㞌ü¥>ã Œg¦|ÌL_e1ú‚~ÛÐh!šÈÄ|ãóI²Ó/OÑ1–Œc8#&w| ,òæi1pô*¤(E‰„dWvEíH GìʆcDÈã¡à\×õ …ä„"°û"]á/1x µömÔ‚L=H(Päþ3wèWª©pxøzr{pÔÈãúW›¸6fVIä/—Ð\}òjÀº»îÖ6æíú>­RBûtµ½ÿ~k/7n}ÖÀC^S M£»?a×ýÕˆºxÿÁºzft#<î`UCw€cóÂoêÁocné>ßUÅu-DðÛìäéS…˪ù-šº½Üâê””µ[ÌÙÆ0úOÑñè5h|)hªç8-H†Ì!9¶æ½d›"ÑWs$_>šcÓïGDZ9‚Yʘþyn5Öc˜-^-Ò¡1ˆ"k{ßÁ©_k„‚‡UMŸ·ÎbæñqáN‘kz—Ÿcp1þFÂí’B7½¡F`p Nm<>W–ñ.e)T§´ÇÙ Í*VOl Û–þÕ;“z‹æL]ùvCáßö¨Lx}l¸¬ƒ“Oiâ\|[Ä«ˆÜ¾PŒl£±?™çÅ7Ÿ#eÓWe%ÄdeÙyÎÛ)d[¦«\pÌž$~Dô*.øÅψUûs³y¹ Õ[™¬Q¾䕦DfÙÆQï¾Ú¢ÝYĵËÑÙ"c8ŸJç9Yá5ËpÑýy)75'©§T°_!ñx:tí˜^¶˜ÚOˆ`É×Båï¿ô&I–ö5”M£œÝ¼×’ä‚S³&âшÅ‚þ .{ ÓkÇzF&Üé¬EIЋxæ×ø±9¹õi,öš¢Q¢’ˆK!IŒMÆ0µ`ÃQ†_TDwmeþÛHÖ‚iZ0Äm\5XÉ)ÒÒÂv¸o‰Ü ìïF†¡Ñ_×´¸Lß8Í‹Ÿ#ˆÑ¬²ÐÒ¼¦ ó,èTmÖÅüßL(Y˜Ée[Õ™qÙ—„ô÷gçê³jªš^ì„WÜFJá>÷$ÝOz ª›ß øù]ô}xnG`UK–V/3 Xbñ³JeßóÉ.Ø4u|C¨ßù­4Ó0£BE$Ó.ñͰу>½¤à¦ZÍ_¥'÷I£@?m.Í)Alhӫ楬¬äQCæÍ›kHxBâØ™§R¬ivˆ¢Ø‰úÃK-ÿÚ¡JìÊöœ©âP¨Rnó;–±=åEx&H-oBJØ%ËÒbXŠS®`F<ÓŠMÚd>… umc _ç3gÕ4« ü]þ:fjP†µ”Dcåv‚ÃÞˆÖ×j뼪^?ßñÛÒÅŸ;ªÊ$®H‹÷µ8I\‡4ÍÎfƒ^kÜ!d³’܃—/ZåW¿Ì@)TAÌrŽP×Å´½µ|õÐÐ×߅ߨjž7£Ù î:a4ܯü’RY\\оG¸’8D ²!?ÇíÏfÍ_sª”1¯„¥ûµ›ª’‘–/Iö7q+B~±×b`á°2Z=Óß°;£‚çHð\›ì!Ã' JÃŽ¤‹Oºèå£2uó]ï!wCÓV(" ÃN D£/j"¼ã’¼Ò|/Z¼PZ¿“‡Àó3àÙg\ª„ÿÛBæUa´·DŒU#¼J®9|ßVÖ U/~ŽÃ¦†^À¹’òõuSöÅØöÒåRÚüt  3Oðjdý.ê~~ðX—[&Oä›^õ-!ã&œ,IØ¡,Ê„*Áy(gÌ#ZP¡sÊÍe&‘üO¸óê²É¸ÒWU½—d%—Êyu¸—W—Ç|/ì]¤åT‰„wñ'Êî6§õqe8*#9âeLÈC<é#|ÿþ•Û\\ìX|s¨¸u­þPg*(— +Ÿôy{‡>»émŒ AÝÎÌ)6‡T€”}Þ½ËkL ~l¼0БÙÚêG Uå•ë4 ­j ƒA9xLr²µïÜÆ\†É“Š@öD(Ö}„ÄÓ7MËÞ-A„xí}h` ˆóÿ.œrðX€ë%cÚi « e¡°B{¶âHŸÕ{¥ñ::›DpwRêÔ9sîÞ™-Í BèÊÇÃ…¡' ã]ã·ˆ@lƒOÆ_ÒM¶–ì?8µWb6 €ÜsçÞ’ï@ïÈ Ùx -{; +è*WÛÎ#%¹%|–{ܲò iƒ½Þ ·-rݤ¶7ЈIlóŠÊ§"ž}Èð ,¾Ð9{î%*»µ(¯‘–í:«F…ßÀ›Aw¹`\ŒxëÇØ¡öæ_™,ë´NuõúvI]Å*W’Ò§<.!/’ !ôo>ñ¦=|ú½Õ|—5íÝwÓw率&®Äj¥ºÄ¤ªÆÉìN+zÝáÑi ;Ãg~èP°õL¬ü3-Éý¨›Y…¸š›3t­ã<¾jâ9<\a¬»fGæVåš¹·.p¢—ì2Á3èIÈdS€ýDÂáæ¢ÓäÏýÍ?Ô…ÈÞTF;”?ô¹÷¡ã‹œ'¦`ˆ3T#|_p5òÝ"ÀVwüõÀ ûp/W0½t^q=rL$_ÿŠ÷ìïBÿiø¹8(kñžÿ¼ÅW UFñ!0¹tÔ¤8-©>nô6?RJhÖûÜGCøjÖ•§ÿ~o³ã·;=0ÀöI{>WVº&v^ª'•ðT.€ŒaÍMZí÷üÈ|!´A"îÖQ”Tp?ß$ÇÜÞG±P¥U}1hï³M:B¶“_}o¼*Ã8–ØÜj.ïÞE¦x»é|²#·ó‰C‚Ï—5ÐÔÌ’ûX»Ÿ7.ï¹X²þÛþT€¼(Ì®]¶y'ÀLþ¹ È×äæ” ŽÌ{­¹dÿ¹ì®D š™!/Þ"vÎq!Æ¡†ŒŸá—,½»óNP»ºéT~ÍEi¿ÖÜ¡ä Ô9]ȉ¤£½|åi_‡Êx™¤³”ømÞKÊ_7Éæ4Å4 ñzƒÁÀà–´$PFŸ‡/uaáø–¿/î§*(+©rç¸àë›þ…¡ƒÃ7¦Ùš Ÿæ%ýÝ+ÉÇþ “'cäA¼h ŽŒÛ/‰\¨üp^SÖµŽCÜ^ð …´Cå k&¹ŸwqSEf^‰EÃÎ'þ6¥Eÿsû]¤¡ã¸NWVDÑÉnD7%š\;Ú‘#“µï¥­@«ž}åÌ<}YCº]ÇK“Uþ@Ø\sÈáÒ{h UIX_éòܳC7vKÌØŽa%&_ i¸uìv‰ð”Z椳Â2;D4àw?*½ûŒž-ÐJÓmfFŸ‰Cö‹=b]õ&‘%f™[\ˆ=¶Ð9¶$öa¢³ÔÇ©ïÝ@ò|tò|mØÍyI$_EÇûŤV’œÒ{±H´3ÏBOîœìÙÏSË2Äó/*ìí¢†¥ÇÁ®.Þø¶¦g,ÖÞo—}ˆtYÓ—ÑáüÂŒ ÜåRÇt( †Bë/ÞoÔ÷CJ03@%u®Ê#š±¶-Þ¹øéVµ40âå<Ž0(öøl.ïy4"¬õôïgY¢Y—öæð‚tHË}•¼YÁ<%‰R þ+["2ò7vD„6ïò©ÈÅcäª|& O‡™çn­g‰˜}»ºXž^ÉœÁ‚x¿äÍP4@”K‹L2ðKoŸÔ“ ±Ìdæ51­«%dšóänJ5—í´jFq§#†ÍldÝ„TR˜Ñq” ŸÈçù®(.Ûòx #y‡É…ª~tçÈý^æiQCúËÒEŒâÝ šÈzwZ¾8ê!x >!|Y4³Eáßåz 9«|)àïV5ÛjñZŽqÕÒ†½óµÚÙî[‹€A'·دYõŽr£Ø^ˆ_c¶9y-DOØ<íI}ÚÚ%ÜHÆ:F‘b³r€6ŠÎvÈ £òAqÙ*£TJVÕê™À9ôƒòv€z‡z,W_cÃÍ{XŒdÄ*¢ àóÄqÍéþ[‚ÄœÈaçIÄ>*ÝÙ eÀŸû~î´Ú¡”hŠÁ’”U(MÅ¿"´2ƒë4Å ‚@àX”åû‘[“}uáM V',‚7)}[÷+^äé›,tRM[Á©2KÏ7Œo“A ¥ß+ù±¥ á>°åT» ÏØØÒ¨œYNx°{óî©9›ùœ§¸£NÕܘL.¤OeG ÕAŠç%íÕ,ù´*·„a|UMþoïQ6ÊNX·H¬ß²Œš‰÷ìß¶^Å6ê2ø¤ºo暀baeÙ@gÆmÒÈø¬ýe.ß„¦Çº·Z>k+¹ã@7K šU?vù½XËHí/vZœîЇúëC[©B7¾È5¨¹ðØgŠêìd‘ñ‚ìZ2äMü„œð"Ž{…7›rì‹”>òGˆÊ“yqw“häØ#~DJmÖ¦ú”L7ÎØÖ'_ ‘ZY™&¿›{GYr¹(¦TèYªxäy ç̤Ϭ¨‰ÿÂbeÊw¦Ÿ“PéŽØ¢²Ö•P‹ì-ë5q5ÙnšŽëÇ8sãçž(‡è:£¨4|ßËn€°‡ü[¯€wc‚[ÉXF.³²ÅA<¬úKèÿ¥pa°Z÷èõ4è) øÇVþ¼ÅÂN]”²/@hËl_4± š3V…+@Miêizgè°er?w‘ßÖC—ÖÄY8¡kmÖð:ùqÎqÁK•ë µâ|kƒ°Jñ”n€#`°*%߆s~tzö­ôðZ~âP3l騢Hâ[`žÐL¦† õ •)·W¦TÃÆ\ªMöâÖñßB©B20­ŽA؇œÉÑ"õ%Ê–,¼B1JFPâç{Úî‰;7" Ð5Å/'½9MD¬JFŽ0ù-ߛؓ‘`¥Šóè§Þå½m´ÆbÖ³H_@¾2Š«@vÆÝª«IØQ²w¢"«Ó’B:TßµqÀšeØ’ rqèH¹cšò-ÀÉ·YPã©æéÔƒ?õóX:6×Ùip Ê®Òh˜ÒݵW°èàæôÌðf~­’~J\ÅÊ 6Á2˜Á&D°€¨ãHûjä"ÖSZiú&ýD6DGNÞž‘ œºM†O3ÎõLC_šVEUYÌquh)n‘ü5± ó,Ó°ÃÇÊxfûî—.n­~‡a¶âèÃ00åŽlmí8¢Ù!–% ê¦ú+KA©\º,Úß)B ^á=E´7ìµORm”}Zt!·%Ü‘´ŸV9&Á™Ä×Ý.PÌ En˜"Q- ñExñж°?„q‚Û¯\“JTt{kyóµ»ÏÌJ|¯íbìå›OD<ÝVjZíxÑŇcÖQ-‰&×ÈûØ]ÀíMsQøðñB]…Ž=¶¬¤>Æï$rºl•:`ÂÐc®ØÁ‚øŸXܳÝèX!]#póÐsŸ}/™Ï 9”†°YFgêŠéQ!“rf¢šýø¿Þ©p²Ùwé-¸ñ¶T¸PyÆ.|·¯ ÏH5¶zƇë o×Îê/~Þvÿ(ºV„®¾"LŒ²ýé®lgC6º”í?ªK“úìZ¦óų›pë*}ώΖ1@ôjbá:G0KîeÂá7Ö’…âj'$„þfpÍÅ1á›×BüO°³˜‹ zd8eÆ)Ì LˆŒPÑþÔ€ÂФ›Âƒ cÇ»Š%LE;T·Ãç‚qÃí9‹q©ÿêë@×”ú9À´Àú‡‹ÏyÔ%¸õ°ÊŹÖMI‰¨Þ!ºtý.Á¬ F·çäú:Þ~=…?^ãÖÿ„ª]¶Zí“ÌSî£ÿôVjü›“M­‚~K±õ\R0ÅJÂu7É·/¸^§—Ck‚Æ[­Pû ʺ2„×Õ¨irÙ‡ÿ„!gžw£.dîãÔò;ªàb2»@ô)®ýÙߨ`Càò>în¸Ã¥`luÐÄkGùíûT- ’ÿ@Q#p lÆÁÅr®(ÞXó ‚&&$héÞ"à䬬Α‰O(7‘)¥$øþq]^Ïbë:ÉWLª‹} Ú1> úOBîÀØÿn)4Þøníœh)KŠŒzŒg:¿Ø(åâòƒõÆr•Рà*6 B(-§Ñï«äã¾ÍÀ|L¾ÂŸÓA¥mþÆÛ.'¢˜vѳ#·Z ü²ãÿË£À'WAs+i¯F4wÈZ§·?Û †Îì%Ût(bYëÕIÀZþêUî.Ä£Á8ãräÿ˜¤M7ëÎÆ:kf[†*%L¶EÚè‰!KëW±‰âj×¹²àWïz(Y¡]ˆk¢]û@Ù°®ÀÚ8ƒ[ºFêu–p 2G…{ý$ÇËÐÀ†¡çÿgßF‡„+eZbÃ0X Õå®? oLMhtÿû»„™˜Áá눩cˆ¥ºÅ½ºßÿ3Ào¹~IL”òo$/ʪвËÞvôþˆšû«Ü¦fƒè*‹¾Ö+Y%²`f²QZ=#^ïÄ9úì,V2s‹¬uGxBx9ՓЊ ¾U,Ùœ. ic;V1zÁ½w±µ›ØO•9ûwÏA8ǽÊ++¿ÉñÌUÅâû^ÏxÇÿù~Èÿr¹'•õÜ4¬Çæ03ÜA|Õôä£aUÂx^ ýæLŽBÒ•8óÆ ÿ“3FìuÚ7hÎôL ZŸí¡f¸OIœt¨ñ·£dè¥ Oލɋ•Ã!!.‘öÆŽkW£`·H‹²9?º¾Ù …HƒZ†JÚÏ-½{b.aûª²lú¨ñŸSé2¨ßA“X|ŒiH  ×)?=iÆòÉ#SîÛ„™)ìT—ÛðK!gk„äRáÉi Èü3-^ôx"´³¬ã  ©LÂ/Õ†¢`5›„LÔƒ4HG¨„Õ€> ›÷t _tŒp"Ô/–‘}/_/@ï«u`½?sOÌ:Ziê¨X%"‚¡ü ’K³'-’ŠÌãŸ<ö¡ËÉ „3HþˆLŸeWóÃse³kO3˜¬Þ2 öØ7Ý:ÚÁ \ˆPýãºUž7!éXiÌ (AÖ+Pâök2Ì^ÿƒ×böÇrˆ §¸U¼ž}™çÂôDjÛ °ø˜ÁûAî3yõ4¢e3œ«d¤qw¬9R¸ùSÓµ¼uz3Ë©x\[Ìë'ÐgY¼#‡÷ò<%Ã"Ø!aWðó.êxøK\Ã<ÓVd¨ªRŠêV€â(w“Á‘ ÔTÂ!Îàäy‚Ó•OSÆÞ§W–}”$7€|Q$˜)ŠÅkÒ¦öZ Ï[§Án6Zªª°l)©íEX9˯Á¬-³;é#xÇu½oòÁ¶# ’ò'.Z_H½g9¤kOÍî8þ æ!Ç·[”-ð©ªûA¼n|22ó®±¢V~`‚s‰WIº¿½³l]œYaf¬²]ù]£Â¯i [EwK­ù»¨†Ðî €žT&Dù©éß™ì{[êèÝYg9¯Ç‚*€™YÖ…Šà¿b·¡êÌÖÏ÷x&ÇæYï1DUºò4É·À›PjÍ‚øe:%ë¬sšå4ø;µ®ôÿÁI—Úƒ¢gŸß‹/ÃYѶ¢a¸L…æ»ßâæC·Å‹N&C®Ë ð²}ßô0„/uNZˆ°½ò1¦ 9»í〓ƒŽ>=YžÁzP6ñ|Þ¿‚^ƒNVº m€Ô†oãQø;×ÊËŠ&ѱ@¢fùÿNÃY®SÐâd\…wº{´aý·Qûqo¾>ÀÙ x…êiQìZî€*ãÈc:o¥úÀ JÌ'[Þ‘ W™±‹¶ ’5¸fg¦wØ_èsGµ\lsŸéÐc Áuû‘É\yãà¢TÓK0™Ž‰š¶±ãZÏ ’ þõ[¯Ïœ–Ú’£¨D•ñO™ðñйÞv»«šÖç£:/á@†Dx¼Ã¤|LÚ¥!ûÔ<²ä„ÔŸç.l;6,ÃôÛ¾Ôyf àƒ?okЇfh;5š–sl©•7Ë›1¯—!p°‹RUDJ ÛïMZŽKBY-ïÒ(™²" O` ~ò‡µ§9p]þzr‰ÀöªÖx['j…Y.?$]—‰àY,D»:ÑD6ÆNGðÒ}­¡ÝÇP!ìqf-Hý6<›‚Å";Xá±}ýqƒr?(ÊÈnAä¨NQÊeÐuVµÃ60Fz±ž9ýûU®C62€5“kçÌÙ8™NŠ‘7/#r§O¯¢:/ÊõoUÒÚ˜¡ÕØŽhßLlUô\Î’/FÔÙ”3÷ÛE3T£Ã;.—"·Om9ì觯gؾÜ(Þ‹ØX²Âÿ&ÞbÀ‚ØŽ”k3=DÏ(×(‰Çø:‘ìµôdP#^C!ŸR®2s¨vjº¿J7¡zQëgÇMÓr±N˜UKÊòŽ¢Ö¬ †#ü•ຉ3^w+¯­Wöˆ”^"³É$ôkå°”ûèÉÏB‘ûŠ®*pIX*æTç]ÄŒ™æè TùéHôûl5üõ2ûí¿3wP,NšªKí6µ]hÜW¡«ÜÅkù$ §RÙ—Ô$¿Ù=í1T#’´vȘº6S«a„Þ·™àźÃ{6ÐÄU)ÙSËím K_ç¶°@Ê4n±Id€¸h#ÕFô)j} 2 !ÌfS€•Â7ÎðD“Yb=øjÓÚ³ÐÍf eƒÿJÚ¡çX\N XzÏèÊÙÿŒK£õÚš“åÁ–8Û‘×á¦Ùñ§\|=üÊ^ICU–}‹õ6ÊFJÆm!R ¦fµÎÏ©S’`°‹ ÓÞ€Þ’l±,ÉÓ̾_öá@>èÀŠÚ<—ò…ßÝ þŠù¾Á EÕ>÷_`¤?§%èY‚ ÿ‘LÆCM¿9ÅVÚ@‘a7E¢ƒô²]GöˆJ~ÖL·ÿ†ÂŸœ#IÛS ‚D-¾pí‚èë=ú>¸?;î_؇ÅÚ>¾’Ae‚X»·Å”Üp˜2€ c'\*›ìv\¸(,²5~y÷%ÊË™zb ކ[—%-t'ø·Ó^‘@99Ù­ãJeÁªq¸‚y•ßÏrÙ±&u!ü‰ñd»QÇqz©µ;ög>0gìBöˆÃj™ñnÓGa6c6ÅhCÜÉV ¢ªm´ÖœÇF©WÀè.írk&ú8ÝAV nêIÃl•h1à1³ÚT-ÞRc+'é9 #€ôžÐŽÊº²#c“ÕÂg’ÓíÛ¢d-h‘Oã'ÿêø:°×m'dñlÓ§:ûO}Øá©z<ŠÉÐm¾4£> Vãë9¼ÝPDš?@Èóüži@½glšq&•g¬•ȸS°ËÓóõjÊcN1Ъ²mÄ—Gµ¨•xŸM—íáþ›¸«Ž›æEF}9}eŸ)B2& ëMDêCת›P¹‘¹UÇù},‡9”ðàÓH¤¯ÆC¸T Œ‚A¦ëVÈ^Î.{2t&±ð¤„Áß~Õ­$ߊ8¬R"],CQSwõVŒ^£Ϩþɳ4Jn†‡ìº= ¡^øoº:ØõK´EìÃÖÅ`þt ¶Êy‹‚dÿC_nÀí†<ôò£úcÝáL‚˜1& ;à%‰®“sý@¥E–96ÝÛ e÷9£U ðZÙ_êéÝ¥`ØŒÜùX¨êxG¹ÎÚÊDh 0ð6´(Öã{k´ØÄì…bG˜nZ1΄ƒðú¡ `\×J KJd‚'bJŸ®ÀFø Ù>@æ_¼¶†£ÿª]±_·¿]ܺs7wíÿ&”ñâ~‰¦Vš’ºÖ~×|!n.¸«Àe ÆCžϘm -†Xpcþ'»Ü† Q¥ŠÙmÇ@iÒújuîî<¡òøæ—îcÍ8¼lp,ÏÈZt}’ùwšôÝU4‹Ú¡¨Ÿ|W‚”?™HKÚ¨ Ë6‹‘­¡>A_Ęßþ¼ÀŒ T±¢[1Ø’¤OÏìÉ:KÕdž%1à ñVÍÄîG¹.Ÿ$B©k¹9®LKŒ$LèÖêoh±­]§€í0!-‰>ª)ïvT†(fŒE<FPÏô ÿfþývI“7·ß`d‡uà´Šžþ˜Dm(Ù¾÷$"þÞï»iʹ©töË`›š»¹?îfÉ2ª ¦\%ûž<ËõÖ[\€Õ`3+Çœ˜ñW”¤xîY¼yÚÅ~× »m¹8‡ƒúlo)ÍǦÀ8­üaÈ é6d|ã.Á¤†“þ¦)h«{hVélp{v{Ë®$Ý%äåÛ&æ÷“¢@¿‡o ](Æ¿ÐNííZ¤Ûzâzz¨¿/`¡B+ÄÑo6[]%í²÷嚌È"8îb=Pøîƒ/qÐàÛØ¤xUO_ Éæ×5·¢‚–å²fU ,ùñ:í¤¢U¶­Wk´+£Ð]^Ÿ"m ÉS™N‘†?o²ÅÚS>B nV"ü\à|ºzÃ7l…r¹ó$áS˜+=Û\Xwhô%®Ç^&múRgü/ŒŠl)?M4 6l¶…Ûw¾¤‰7𠦢ˆp8Eã|¾6_ ¹E@å0°iD5npÒQòÇ4"âZ4x_µ/ð¼ê¨°‡<½¢˜’ã§ÏbZzRBÖ‹22òãÖNvDƒ¥:! "‚=³±C/dÅ„š7ûàxÍÍ+.:Py bAcTÇÞ§Ö|–³'·iö¸®´ 'R7Ívœ‘SÇG'«Ÿ!GÈ?¨ I†‡™tåèŽ4ÁB• ¯´æ:ò»Dw!Ú•B‡-Õ•o¤¦úKeefßïŸbÛ\WK'kÇv<+i[gRüßÂ)záÜüÎeâ…©ƒ6ãÒÛ^弪1æýîƒÃ9Ç>¶ò‘ÅŸ`¹a`Jf´:¡Ž]JÕÖØÖôë¯ ˜Yùͫɚ ÷IõÉö3¹Tswv¯ˆ½{“fE"W¨§ë Ù̧B‚¦äKU=èf6±Ê-™§ÇœÚôó-ÖïãX¤¹%d¼¡Nv7±¨âîÀ°FÂ]¨G£½Ã¾àr×ÄÒ—³°x%:žO;+”¡lùǃn'Ýä°"âJ1NAªàD¹dS¿Ó‡H™;쀥=†MƒRm·³gY5¦·]›fÜS4·X¶*$£Tê’$ÞhÙfü˜ÝcŸ^(–Ï«pò¬éBòzþ%{ #ÑŽÔ qTwó¢»ú뛯E¿ñ (#;p+ZßI,s5‹Â1ÖÕ üVÖKtx?$N`ð\.V^A§ñ¼nK+´S*r?ò¸ûOBPQGà ±d›ºÊé§pS޶î 7èQû;?»às\ì?pE–-+-£¸í±z»e›­Vh·+ίNÑïò€´á|k½ìzÚÈ…°SüïRœs¦YØÐK.,»&¡€GúÏ#iuT0žôa)M¼Å»ï²Íj[õÍûànP±†€¿P—r¯«JkøßføÔQnª3sÜ“š;ÒMÎQ¸&ù.5²‰Dþÿ^ª§z‰1ÌÅïÞh5î}tŒãÍ»‚Ìþ;²îNnË/#@çìBòA€ ؃ôÔÛº•#¸RGÏ‹ØÆ°¦u¼³¨n—»çüÙ-Êï Pÿp¸‘n2Sè4ÆÓhê_@8ÅZ¹eie=p\…°5?^íïÒ §U¹Õ±­zÅû*JQÖòóçÀUN™Û]=öáæ”Qô\ †^ösà¢r8à|Œ‹i5ÓE>Öj‡ §÷0 c̪^ˆ²'Òoœ#aT@¥ÚÀU†(g—SŒ“)ÃUK}:ÇÂùTV4Šñû1$ˆªP„j½wh­|(qAY<Ò1‚`foâË笴¶º{NW›èìv–ôv|©éƒ]°Ú3{W]Óç_€|5˜¥uG;òZÜÍVÙ%u<|g%k[c–Óû³Šc‡Ÿ6Ï4 åÿä7ˆÊ,aÂÕ|ÈÔe¤[*mÑÃy£¿§}$ÚôsÜ™+ǹ•®ÑÊX¹^ô1ª‡¦#«œ»A“^«4–’ú·X(t05ˆjAúw/œÿ *Á¥q—«À(¸Ë¡'èàÙ1¶ E+0¶‚¦zlqª155b-Ø8|‹ñÛš øíMRVv0¹Óàò$©h*ÆWä}¦ƒú•‚gû¡V´c|-É¥S€Óœ:C ©CÉÔ–ÕÝ‘¡µ}XòCäw—ŠÄ㔿‚ë›Ð†ðsÔL§kÐRjó÷šW”~œ²¯¿~ñÀ¸Ç­Òä½ ú®ûmî:R§ã\6Ù-¶¬hKÅFW1ò|«5‡iRÇv Û¦¦³ÏoËÐÅ©ëèÑÉè+WÓ¯¼s5"jF Õe¢¤.>“ªœG»Ç»Àø–ÑÖP§/®Â5>|–}Ìê—çU©Fѵâðžjn¼Äµ{QžºÈ1®~ÔG)$Uâ¤?àÛ5oT·XÖÖ¡HlÚ†ÝîÚ•‚ FÎ"ù˜}ú›_˜O¨¨$UÇûùË¥å4Î&é_ÙveåYÔ;œ(’“ÃÊ4s\e¾ÿnÓ½`;í!U¹Œs–U¢4Èãçè“ÌJsαkqÞÖ…¾¨*¨2®êgÍ+xæ‡)*ªYÍ`—Û¤Õ ·ƒÙ¡§Ik tê#´­ç[~c¸¡‹q ÀS²À+w£ä Xh–mâ®±§œ=„„ú»f¬Þ‡ÿ=8‹Eµ[• IjÒ@a~€o»yHêÕúË?Y–¨,KÉ€C4€ôXLlô¸XÜÝyç{¦7£Ÿ‚Ï´” 28 7—6E5Ç3K9•¦@èCÇzP…›iùPb6ýôÁ(D¡—uà†YZÚ¨_Œd5­âEx;>vnü±0õãbhk‘)1QéÐòòýÉ)je ¼U'vÍéùJœ›ÄBY¦¯*¸¬Ê>°Ëw–­´H=S…À›G,uh>ú2îB#Í"ú¼Ë±+/ßÞýš÷¥©õ 'ª<0Á³Pù 8f¦*~¯Sy@;g6ÁyõæœÈžºfx—‚bÛP™wÚ0Ò+ÝÔMèÌ#-EcÑçt»ž` @©î¯´sWB°Ó’áñBÀôì7N«`99.Ⴠˆg¶ 1A×^DßЬ£ªÅz˜ˆÑÕ°˜'I÷Xß‘“ÐÅ^•'Û¯ú¶›ÙÎØI¼3M¡ï|@Ô²vAg,ŠXÀ1(\Zd&Í:Û㌦^ ݆:?5…ÔQ§[CÃe°@âbZK¼ ¼Óõ<Ò‡e¢{ý•ݵñ þ%,Rž1ÑÇ«¼BÍÕ5¥'KGþWÙá\è0Ž¿#[Ç]ü¬cóç9*Ù~^@â†Ëƒ'ã ú|»=ýÄ‹‹¸Í³Y(“ô*N?'y×z9 ÖΊw8ÂâóýÇ«—;«q²Ä@@Ñ82ŒÈùàù ¥OŠŽ§Y#ìmÕ;£?ÔŒž°.5R"«ÐáÐÃ@oå<¤U´.d¯Ì+8ZØ@ÏYÞ-¨"³š•Ùëù<ûÌÝ‹P¶éYe²þ/‘±G±ÉUÔÃ69ÌÈDD×°Ö)ÍÅ Ú`-ëÂÕ”•ÌPpëV“ùï,üI¬Hß^_‡ü$õ™ b¦ò$®%Jd»]!ž¼J|H´…ÃæqzÀ¦Á=‰_*L„V €zü+zæk€Ñf[6ÃW˹®W0éSgý!7Ú4~iQD(AùÿˆŒ¸Ü‹ü¯#xë´Ù¡®|_ÜÕnÔp3Å79í_€!3Aàzvo‰;/éÙ¥ øD`Ô¦g„øÃ—ΫF&4ßщšÑ€Œò²›v0ÏžL„áÖ‡ÿ]oø_ÏX86{SW¤H¼4QâÜd€°<ãI5…× Jh|Npeò—Þjר;ÊeÍ-­ÞªlßP¬ä¨P>hÔâדyØ1°ŒT8PB.j-g·€OØÔŠ¡C"抜ÔÒ³·ImQuhÌ ¤b‘ǸûWÚn&Ã'5±±=3cÉOŽ¥óm  M¯5âFþ¹Ïé{DëõΡúëÜ×˼1øôŽXp훞(Kp½á_&‘H9eâ'ÉÚü§UŸ$Ú\§Óª›æya‡Ü%2@(õ‚Õƒ€2?‹md¢.þáú¨Æ@Ö“o粸Ÿ¦„7ÅñWdÆ™¥:‹—jôº·k–ä ?-ª4 ÖšFGά# |³ÑÊFÉ æ)7ðÓ–Û;h@mðµhòýšÞnˆ¬½r1ÿ˜¡4èEÙ ×ãC™ò‡CF Æ£Ôp›#çÐ@'nÇú` :Oy\Ìò`#h*‹ß ^г‚î1ŠÃ?ÁCJú§ÏáêzÉXtwl…eÜ-'pÅ âå—rœp"Ùƒæ9lIê‹¬Š…EÂ)bòbÞYã´±(«hx<½¯®ol2˜w–k¸ éˆI HÙ×sQ'âÿêDòµk Á{t§M8±c±%éÌÃ9ÜÛQ Dø4Ýâ;G%üfÙl¾O$',Cf\ÙI?ºêÖ§¦>œ£ ð^w…‚tø•íOÑ%„§?Þ\p³‰}²à¨¿jITÀÅR R«O…!Öú38}‚ÃRhá.R^¼¯ù  pYoõ¹yÞª°nÞ1³×Øé¿ ßÒg”äÒê/ì+àÈ’éSòo FÞb|¼¡|¼©Êåx@ ÐØ¦–l

!’þ›+"“c³íhV<§"ªëUއ«&÷+n5FÉH;CÏ™æ¾ÈÝ©dåÖ‡²hÀºˆòNE÷´69Zú#Ê~áúå_¨¡wZÿ”êx¢çyÀÕDÇ é[ î¯¦0ûŒØkßÕ>D¿6-~6ÛeÝù´uÉ¡®D$R$é§&VùT_»U¥âžiŽ—&S<êýZ±~ôj$e•“Üø•ÔFÅð™³â­z²Â­-oõ°@¥´¢€cDŽRJv»‰¯‰Ùèij,|šËÖ¥Tæ;œ†¼?©²«¾/Î÷äpþJè¬v+"/#†»“ßÚßeÄÖ´=±#ª™’ôcÏ—>&¿µ\æf_•ºå¥*îťʬ›T}bl݃ü¤ß`JÁTŽúò·fö¯ò±Ð|Defîž‘'x¹âœçü êª ­èÒþKâKG\ÉÓ`2JÓâ µüÚ±ñìºÿÒ0xí´åb³åEC¥Î•Á~)ḅß-Q5‰èRR@Š‚ŒØ¤ nXQÿ™&>flúê ø9¼†Ý%¯³øU†š0‡dªÕ¸‹k$$gcªK|­/}™v%ÊS=›7ÕÔévFæVg[þÛ¢3Psn}êf¨`¿(ý$£pŸ;^à×`´7Xè›OøÎ,eXy^Æ?ŠŠvËIþ¥ö0/K’L> ×u˜-4Z^¤Î=|xâßfI-Á©Ãßö÷Nb>$ò´G|ÌÂS7rì¿/Ʊ0×óREžwý;Nä\2•¾{;gš“‘Ñ ÓÞ׌©)‰ˆÃÓhLe¢ód4ʺH`Ä 7›°Õâ]Ïœª€^a•^1µP©4ÓR‘d%hŒ¬êµŠf™[í¸µ”P]çvЪvØ[i¹SÌ\.]FîÈN®¹.yQ»!‰d²4K2H1’×§‘²0[;áRsãöÁSÓÅ3º$ŽQ$ 0J¥•¯­_IUÖ )û»Ô‹Ì9 _|d Ò?l;Ò)uÏ3ò>Ðf4ʸ3¥œ)©Z¢·“ØŽå?5d€©b9¾jàU%ÃdÑ…·èµAÍn·M.w—EŠ)«»*¯â¶í;aºPÓ³è¿{OF*HQ¥`ò2û˜{âá°õ’ r{Óºª!F¯aäËm“¹ð­„Ï®ãBçRKº¡_X×KÊ%•ö# wØNÓÏn Ò V&;ó‹TdÚö˜ÏÐqGof´°nxZ8KØÆ'ÄÌ#6l‹AÚúºðÐhgÏñ ‹åÒ·Ü¡Pâ¢|ŒèÜ“žjJùÐ] mÈYe6Ê]X[Y mÀÍö°àÇÂÔÁ,'×ê/†ÇãÜc[RO‡…äuW¾L>Iåž8Çù]”ÙŒè´2J¸tÈ€v¯Ýôʧëä5'fŸn±;wœ“R}á'E°Ÿ·ç/o¬YÒ¿‹põƒôY Z²zù@7ŽPþÒJÖÜ»%?ÏõøO\m5gj€u‡¥„ÎÍð²7Œ ¦”5çµùÓÈ6°ñº ËxkQ°mUAèÚTX³Vèf*ç¦õà£Y™éúÿüŠ•êTxþÙÆ.TÛ ãòÁçHErŠ{Ù LM; ÙC)',¡Q6³Â–tg¸‚fóî=  òðÖmMf)²ÅGm%ꫳQ$cCt­»ù1möñÏîÍu—«¯á Oš‚±îj’"â>‡”bUëì5:Œøç×È Î³›m[Áyë¹ÑØÂtiÒ^©˜f[‘#ùýÙ â4•ûxjW² ÂÿX*¶E:„›,5óÏÇ·˜`.ÀÎÖ-þŸ¦J“EgÁ{²4<¼Íá?WH€õµ7aÞ¥X1u犧b”¼ó(<úr£¨ Ž zÞâ/gÖŒ.šg-eÜöÖ`0µ®Ý ¼û½Ü<çv·å*Hrç†bÓ=nn³ ¸¿.©úYT$FÔÝѵ|·!ºxú·øÝú|²ýì’›¤]¸r3g:¦’ñê¾ (Ak4û|îÏ¢M’²]¬9ŒÈÀ:WÓóS ¾þ¼9›iœ2Š0 M}ÙŠÃð~:U•ã6‚0W8ÿ…ù˜ÏCòäÆÛ ‡/æ#e¯Hå «1¿“RÞr¦ %Î6xÏÅûp®[J¼!2 êc¹½ûwíöÄœ‘k© µTõ„&µ•¿Ž/4-÷ÉK€O“²0ã<Œ|¢ÁaÑJšt2ŸÝÈiÙ8½T6úƒµì}9ß@óÐ[«–™ÉhÑ{³gSwooŠ!2OÊ«~~€m÷@ ¬ÊÝ%µ®z¡5ÝÊO⿦ÙÄ"þ (þŽÑÖ=âYÁ÷ÝSµHdÔóúŒg‰öÿ¹ö¤ë|*DK<Å>˃þ@ ÁôÚ£hã…}mf¿Á?‡Ý¾g‰·ß;{‚X‰*_H)†KĹƒ›³Íl€œ@a Äx_z˜Ä;?É 0ù˜€¢¥Ju;éíZWUAØg±(ßflC½)ãéÉ2ã6?Êÿ>»L'(@‹,]åYã?Öòœbjž¤ÀªøQÝ:–¢o ccæÁ;µºƒPl…ƒøÌ,æ­ƒÎà8¹»N¹r<„êÓØº‚FÄMEr|‚cèòÄÛÌ¢¬ÝúT¡N„‚¥ ƒJ–FÃ`iG…2ÑIj™h8Æ.,k\4õ8RÈÈýéàó6òõ²‰¦»ä,+}Qdÿc¾½ tè—‹qžü¾ŸÑg}© Çô„Ä}¡’ªŸ„ÚÒŽCy9,®Ìiõoh€¶kµ·( JޏÙ0‡>{¤ùlhA ¨LÙWt 9icîI>—D¼ZNx" *pÊÔš’¿¸yµØíUÚJÕJ²Í#|&7?Ì·ìØ8«¿ßu¡ñ¹¿â¬à‰& ÃÃÓ“ªÞOÍ*¤ÓBg'Ù‰[ŠÚŸ¢Jƒri÷V¾èŽ £T£µ4¸O³j\TÇOQÚ¦ªîùð""²QKËÐIøR,ÍbàSP®Ið.`Nzýyv@ÙT$‘%»á“Gëž„5ñÀIR¿Ñú´é8ƪŸU]9ITxk^_¹ÖêÞgŒkÛžZT•Hå5öòGm(÷R(£©Æ~´•†T5“’V8– Öµ&$‰üK¯@®°pÒ}ã¬\Ô»¦ôÒ7CÃ׬˜×BÍñª„½º$ ¾Ue²™ “ÿùüjÑOè,ªh›‰žûy‹Yב—I[Ýh= n´'Z>2GÝ*XËÚp†–/­U“† pa1'ç[óKA_¸LvÚ I¥¶Ÿ6þOFÈ…j…³©…Ám÷w—N·»t¥`eŽþb“kÖͺÿ0ûÝA’ÁÝ:o»ß—âìi¼÷sŒmÛU÷Û¨¤ùº­†ÎQù‡xfv^CRp` `XÁru×>EÒvqâo+i·š¸@QÞR³O4­~ ¤äf.±¸Ûœ¨…^Z7Ìmûí눴T¢Ë  2ós‡apô©3z#Ï-o½JÈ%¹t¹>=³DÖ/ÎP¦õj€¤ü¶CÝaãd³OqŠÛâ[R¡Á› Ýãw«§Ìùâ­mÉ oªÕèÜEx7"|JÆùr¿Ü±fsæW*$OðÛãÛì¤ãísÂuÃp_¢O(î[D6Ö6Xp:?-‘°þ…Ì+ÕŸc·ÄZ™7¨Ò*3Ý“š#çn¶ic”ÇÙï‡/†øów÷œ1õ‚®´¢^;ÌØõ]°»ÜÄÕK_ºß^¶{ʽþü?¡¾ûçýãµêaYÉâý_{W­cšvÁÂÔÍf+6­T!ÐÙÛã»Y5ÖÂ{ô}5"u—a^î^<[RÏòŠâTʰ(ã‹jüH~…Y²ñ™âä>Ì IW) „,T^(H‹W뫳«à³a8?:­½G­ùc•´»WÆ•ŒÃú¤&”·"…YÐó=ÖÏ[k$•ÉPÃÁ¥h€îI³”:à»?ù¤Þ¼IjfÖØ! a´Ò€ Ñ5é°UV¬céë|ŸqA\øƒ µî±H'T =!kRÈÞª1÷-šÁšG eß%ºXGb°g†¥˜¡³U…2®a~šlô*/ê„ÕAî¶r !C9ã˜â(œêï †ÛMñÕ†è#M÷r6§*Toƒ-æ ~Á¯•£é½šúµ‹ \BÃÊ3 µ!œáˆ Õ½¨‘‡+T‡œ‡4Ïñ@.'À ;6p[/p+݆T[ä–/¤å<ÔŠûad³:{ž×efckýÛ²¶Û?Ör‡÷*-_Ÿs'»Ò%WgQç^P˜Õ"gͼ©ÛBÏÄ`!iÖÖAŒMÂî¾q¯çTö쬅 ‘ô Ü[Œdë0åžÏ;›§=ÍÅwlJ"…ÿt“ZËšúE)h°½¥õ[”ÑÏïùV¯ …”Kt¤ä£úãׇkê ayøj)'TŠñ)¨:¶uÃ`€ä Sàg®ì+ T [¥’ÄZ÷êÙ×ñVÙ¹ÃÞ¸×çïÚÃÈ%½’’Au Dï˃ˆD<†{w2óÆiÞ çý¨1js´»£ÿ½ÿ‰0²!îþe¸uFºë†„ZR”&Ê7òuެ0bÆŽ‡¦›)Žb£<ËÏ•3gD.†§ŒD°Rï*ñKž£âG~ü‚i¢‚y4ö3œ¸ªcêy‹mð^½¨,þv)*kYwSn¼A1þ0›"dDøøMБ→×ÿœõMýÞÄÃÏÁBThX‘¶ò[ÃbaÜ•Ÿñ¢Àï]S2Áu!`é…Š.'3‡Ý˜½@‘²¨¼h]ä¤a½f"ZÔbJʺ§V¬"ÅÕ¾ÌöµYÍÝÐ@8ýƒì RIðèzv—}§ Rív™{[†xÖÖQéáö÷ß¾3œŒbPêç™î0Œ”ðˆà޶yíÒð¸L§E ãÀ:Ïò·ŠÙ½9Ã_urÌ0`¸—öBj@J¨€B=éMðÅ^g×4D®Óé2Æ¡•‹ÆÝºnCç¿Á¹ò+7ιä¦Gâç2¨[>*©U0*úKMÅ_¨pf‡]yš _£àN,ÞQî—j%Ý9¨ ÜFÿ­ìÂ÷6™}••ÔdŒ¦jëê×A:DTh£óú WÝú@'^ ™ ÞP{Ð]“šèLD299°t>§D´š‹ŠŸ%¿së ¿Ó_`ÂØNŽ Õ`"àöðeXåfz‘”¤—cº[—h™†õ„4x]FìÝ8=Ä*“‚aøÔÉ)]éÇŸ±Ä:çHúêÛ(î Õ´‚cî„3µÙ;Ç>PÀ—B„*•QÂDf“ojþˆŽÓÜbö.yÄ Ã<"ÚÉY h¹3¸þż¸Ä÷ŽÀ?èW1 ˆ&Æ{AÀŸi¤Î¬ÜªC]4”ˆ¨šSz½›ÏwºÑ3èJ¨ç¶i_s8ªªÇñb™7Ιé9Ð\½;Ããt@ŸÖ’Bܨ11èЦòñ¸[ÃzZ{: ÞLÐÖi › m‘'úÃѵB‚7-“Ë-ZH´4ög{e=Ÿ—~Iì©‹:ø[í‘…‹®F«!W¸ ¾=|–­ö1>µx³.V¶çƒ$5?ãË-^ !£c¬Wû2ß·=òËH„*j÷ ÷ãû@SÔ¸}¨Î‘=äÕWîõ PFhŽöaþØ„õwpåÅBã˜Ý3mûÐÛyXož1°:v%†qú½¸0cGüK¨/S"¶£p‚ ½–´ Íøá:WJC·l ]–uÙ}z£OV難>ˆuÔ¤Ä<-GØiL‡t_ËÐåiœWÍÄ5ž ùª×Or´Ù©¾¥\ =.¾–ªkm%f&÷κ"p¹ælSJoñ[äòåG_¶¬h,ÐÉÙhÊhRË͇QöÑdËŸÜFA´6Ur…0— ê6N òýH}Íœ‚ùe%ØÉìÂTzöu¬4DHðZ@^ÜBh€\w­Ó%Žm’«J;+ãrã‘Àd„¬S×xú™lj’Lý\Ã*b­„wÈvŒ_Ô)ªÙѳ·‡þ†›ŠX«»Àñò¹Â}óPÔöZ’ÑqK±äåM06PÖ< Ä÷`¬^ŠV|·Âk¥D Ò€°ç…ê [}C`Õüfû{õ˜ë1©ë¥èº’$ƒL·ÿ‚T‡;‹‚¸É46¢N$“â#žÙ¿T ~ Ýsé;8iòL©˜=m~Õ›ì|#$˜m‘uŸB¶[ Ðò¨³,ÒÖZœÙñÙÇ×:SV3[qúœJûÉlQÞ?OåëI¥,TÿT"Ôë¤Bÿ+R"¿Š±(»²©p/PTbž¯»¼(¼voÂî ’¼w佊‹S{ƒ½û¨Þ'p•V§ø|¥enå‚_Ù ®8žê#ï6|”±6]ÂGæ\„X–—'‡‹I§ˆåÌ€\Ì}î¨7‘ý—ÍZ¡ÞÄw̲Ô|R‡ ÕRn³Á¶ˆ#Ò˜5²6Á0Œ¢õhuì_P^û´UÈ0³?6¥îc:ÕÉ„‹@ståI%2ï ˜îöb‹Ã¥ö´£9¥¨¥¼4$Ë;k£ño< ¦gðÈ.4e†­¶3áJ&™’À›ÝƒnWýÇÖÎÙ‡7´Cº=o ¼b(ûINDî÷xÌ$C*qìMHCŒ¨ˆ¿–,!¾€û™Ù5ÔgD˜ ăbÍ7´L‰:tüyŸŠÓàâ>MÅÿ@~··þ6du„Å`ÎŽenUr>#Ú(£hIÞǨ}Z*Õ%{R+CÑ"õy†&*XÆMbØÙc‹[F4’qBa¬x,YÚ™µ0Íô½(}smŸDîÉÛlÆÛü¿;l¢¼ý%×kf:Ű²Å…B`­%'•/L‰JoÑöVÓŒúp8ñ{¢6 tUyößðm?ßø%ª5P‰<áo|g|‡›æ†Dÿk-…6w­0ÑÓ·úÈ!®¦ªý™^±2ϰ vpýT*sñ¤$™¦³Cíî µGxæm˜I[hêŠož­Þù"¶’õELÉÕ~|ê%  œÅ¶DÏzóB!bн¹é@ G^ùTóvƽ)Ïáƒå0æ›_ÉvÓ«NEâœrLÑÒ—9ÆÜ‰$ýwªç*-s:ïRÏïòEx6„«îÕ½Kø~O4Öh¨ö1™yzççlS“fÛ2 ½û'y<$YÈ´í \ËpzÚ§&Ï‘ÅõdO£hgZ’8E—VÙƒê¯HETœÕ{g”—²;þÑ; P{Ðm™Iÿ-‰ÆÙ&Ö­è ªŸÎØß´nt°ú$’ólñ™A^*%ZHøš–ðЃMÇ\©BGÛÝïà(11ÃŒ–2ÔiA‚"Ü® Nä"E+êŸÄiÈìL '¹ÆÍ  €®åYËÇ"ÝÛCLÌ‘Ò$ê,$˼E91O ŽŽr[âFö؃]8vA’Qá™å’—d’Fž³–\ ÒêM Ä?DÌ“Æ?Ô<’X&‘P<ÈC\¨œ)’õ±„78_ù£ƒúìVúj£®œ€1 ®ad7múì,kbt¼f­qñÄßã¹¼ -ê#ÁxÍ3ÖyŸm]µúþ­ËÕû‹C‰k¨*€5`P4¸°¦Ìù6’ý©M ÎûÝ ˜Å¬›ÀA®T¸"x/˜Š+Öuü ËÖUé<4=6þB”zûeÕsÝ2bºFµ]LÎmYÎSµÐMæŠÜê’G7vˆ‚ï%õÌ,­¡]‘DëÆp•Mj²ÿHvu2“A@š%qdã ÿä‰RRÞê‡óGuɱÿݹEc¹•¯¼÷Xï'!k°?ç°¶¡øÇúØæó¾ïÄb/ˆªìÀ߇f?¶ÙÐL¡¾wJZ°Tíä¥M¤õ­˜s^BštJôu¶jÜÎÏïj~`8¸PÜNûlg£¡L¯€;¯-Æ‘¾J&1ƒiÆf1‡öüôÒe»_Kk¥œÙ—m:;"è5Z×…¯oß^QÒÒÄ 'k<;ŸIØ;p{$$Iš}øOu|s`¸Î3HƸ̇[΂UÍéë©`Ê)©ë%½%IŠ©ÊRÄtI#g[†4œbóÇÛšç†ø×Ë:çö·ïðïWß– Z@•ëvýP“1Oïjú+†\àO™˜ß«ò½OŒ£©ÏÍJ¦ÌAYÙ^J¶·Õ‹öýŽàc¿éå°&oquŽd¤#(¨d{KèÆÅ{,%õÒpH/» fê§ócU–¸bj7T$u}LÅ&w»3ÍůMüù¸A"Úô‚ä'kIH‰xˆÀ(U”&Ì0bµP$X`ýA’ÆþºýíTX>°æ¯°šÎg §6)İ(ïcÒ½¾µX³q8ûi6°æ2€ɳ¥âf)vËÑHë_z\Íí4¾<»P71IæÉÓí¾À”HòØD®T?:tŒ¡fjÔ)ò¨éš÷¼hœŸÛC—Ùµ"¨BõÙýõõª“£ú›B$k˜È|1ˆVN×ð†pd‚~·VÑࣼ9lþS=QŽ“<†ÓÊÿ!3oçBškŸC´ÚeÉÊ¡”]EA±pß°ƒ×4¡pÈ‹÷4j!56…¿{ñ(¹Ôž C"!ÿ¬ä{2œU ä|Zý…Æ”6ToÆ#¥Sþh¯n:xåAqp¦Ôdop<y¯·f@àp9õ’’àC{lW‡¥Ó'——\þV;„yUz­-ô!œy¨Å÷·=Ü\ïSã‘J ŒˆÚãø½šVÅ*³`n[ñÍ.u™2©0ˆjÑ·–fc€þ)³‘ÚÔœ!ò¿"^Å´>íĬG<¤=Ý_yO=Uß±A´ä‹ÿî¯$à <ž³ªÓ‹byH°ÞÕ“B¿ss1hÌTÅA/{ľÅÖÓ[…€“ dO: ¨©«7O/•º1/*Þ™ƒ‹l`¼´l\kü0"Ì㜚æIª#W%r/"‡t.TG6ƒË§µúgºµ6‡_±òèc`Çk|¥Nt(ó„4•—- —¼f<æpîv¾N‘Üèäñd­êÂe¿ù#í?¨Kêà›$“`—ÏAÇÉÙ­f}·.K‹¥åЯÜtØv‹ÃÉ(|ÍëÌ\<"_Q&Àí‡M<+uà*S^âÿ•œrꀯÒôøR™§axúäS?ÜmÖ_§SZŠ­³“ËíÐ)­’y.”útì'¢ „<1êÜ4C°(‘õ¶&m‘²aìIÁŸ]äU53³ç÷m—ÐiZ•àÆ—Ú‡Á8«±àÊJ®%¯Œ +IøÑ¯°-˜™°[‘’ʧ.734/Á3“å–=y˜ëˆ Wf…s¤³i]q®YM|ÎLuÚh¿Õ&Õ–ïæð¤ äU­3ª.`@[|,ýíÔÕ-6ÿšý: "г–zî@äTv†?o]ö¾ÊSR;ØìÂÆe«Nÿ¹ìçœèÃS’§Ds~øi¬ r+¾zÎ_åó}|€Âü%ÒÆ Ɔa¢H„n˜ö]@ï¿ß©¿§[ÆW}ï(ˆ`i9n|‹±žPêy"¼MHŸUÑ•.9¡÷Gþkbpê„Ýÿ²½¹‡ÝÇÑÂß ô/›‰ì’”„Ÿ‚D‘‹Âùàø¹ºTrýŸf ?}GŒ•ÓšOýw¤ŠÄÐÁQ>³÷êû./ñGP–RÔ|'ÏŠ¤!Þµã+!þh‘y¯£ûWÑ9˜ª¿¾±5eXµÚ™óïè‡nÙAÔ©¬VìVÞïCy¿¿ô¾øS˜‡GbO„RÁÜ D"=ÛǸýrã-憠IøQÚmµÂèO™™( k‰y“8 ǵ¼\†Ù*³+;Ȥª0¶ùÐEìn·úˆc$• XĶ~Œ†?¯«„`?‚ÆJÕOv2²µ±ŽÃ¤ºvü Æzx8*Â!+ÙÑŽ`¢ÄŽø°´oÐ÷@rQ¸ÁŠÉÌ–ÒÙÑqbì±Äí$ 4‡.0½ '¤ªñÐÜZù–Ñ3M”ÿ‹ïΛɳ˜ŒøGã*ÀÆ!ðœx,Ì•T7Å×w-!ŒfL›V buÜTã¼T+¹‡AŒùõ‰(nt­5^ÛWiš+046ôp<¥·e¸Û~ö#XòVüÉ÷÷ó:;¡p”‡’8G%pÈQßóCÖW‘µ©š™HÌÓÛ`C_UŸðÕ¦‰x1æ²Z,2þä•ÊÝxÁo´l#1Ê5p¶µR!»ƒËº3ã|eÝ ‘†øzÐ;ëø 35gßEzrvh%õcÎQOœXÏßa˜ÚÐKP[¯_ÚV‰œU\Ž´Ný 3vïøÿeஈÿ¨0ç×'Z6½°¦'Ȫf„_È™ú ãRrN±ÌÇXXàäcHÏwôiº*“°Ã*üô“Ó¼"b¹„ ÒËÀ&ã¢æ\A·c©oM‹Àó ó”[îw·¡²ÆE…wToTnªg¼‚ªò÷럭½+PBÊ$k`lBºÏ=¢]r°É#àµi¾½dD}çÛ iP.¦tÙv‹¥+pQ‰è48uR:õÔI/DÒL“½O¶›ÝF4£Îe‡õ’O{ø&Kµ¨¯ÍÓÞ6oðô‘Á(¼Xöø¸Â盼†…ûâjAŸ"Jï5,Û¨ºiÃÃTÙyÓ”‰Ùþ¬F´6µ NzH,ÃÒ¹ˆ]rýÙ„,Á׈2]ÄïTL6nYo ¯¥R(^*¶9ƒYܼ`cÿtP@{ŒáEó˜ÜìמPÃyüA„Ô'Ãç [”šÈ#+4þ 31Íu°ñ,v}™kt벃›ÊEF:J÷•´Q »³f6ft£wЂ®Û¬½¨hãy¯Ö×…-¡Ã–£ô±éHêtHµÔMàÅÚ)!-r¸"Ø/µË¶ÁúO¦ÊæŠ'Ú³½EKáÔhUªZŸE+TsTIz„B33¬Û@yùÝÂ1½˜¿qzýA·4FWmÙjeHq;¬pµô)pY’_š?B´–D(F+*ãôË¿¡ì­£2¾²cA²[ ælø ç•dN©ù‚×¥bËIáÒµ Â4ËÿÐtY™K?¼<ˆ¥ Âä?pÇ“¢þ”Ÿ_/eÔ¡ÇZñëÁ*$«ÏÑ.fŃÇU'[üÞ¨!s¢]ôD±ègÛ„‚/Õý;×ü5&Ýõ.ä†-ž}?xþ§ê]ðÏwã|ç—dwÔø7^!eit‚¦uÇQé1"Íá©çÆÒùfpŒ›1÷e,\Èê²¾)R¿‰·bõbIà²]Á%³nï*J¿ÓMR$6Ü« î× —3’Ïõ%À›i ùdy܇(û~W`e—˜ë<¸¨ÏzkWß”–ʽqæË-%ljwÀMõÃ×}zìPfiAÿ'ì k„à“gvºD&^hÚEòáFm —>M©#˜›}·L&cöó]’TiÌPÇë³Í…€÷qÉNØ;<¯@ôîgÊ'Nn¤9u\trwm{,G3>[‹%3Z1[]÷°¼aŒk´rókÕÑÁU À8sݳó¬é² ‚Ú¿‡Œ1þÖ¶š¢$ø°®Å7êÙªÙ@zõ¼¾ý#±S¿-Z.b^󢎣쒮”ÛE¸„¢Ár†+nÙ\U•à‹»)z(<œ1^ÙHóÐ({½íà$Z4§Ýx‡ÞÊÌ…F_â­›q¹Ò‡ñâm–V±v°\Å·ºhGy¬õ9;ƒ¢NÛá8¢”«PÙÕõ >“´1ï6å´µú¦Ýxì ã¬ë˜Kº¦'˜wY1Î¥ô¥Sœòçÿì¤æ¸ 4ÎDìÎx"ÞËñ•ü±uØõð^ÖîyçPb}Ó—+8Äby ›ìt÷zµWÍHt4ÚòÎgp~à¤mCiMÅ1¬Óqb¯-ÌÏåD,%’¦8ãå4jfßç(;ùpºdš+Ç·B™cJ~Ì%Ë,𤥤éP#5› x#œ.éãe?Ùñ/†Ua“ó?[ì5_ìoóäÀLü0Çh7ŒŽÍ¾ïP :ØöeÒ‰/Ðí‡N‚·'½Þe`þ6° š ˆ³Æ sN˜ì1ÿe<ØMLו<ÚnMì ±êb_KcжìÕ­î&›žqZÀÖÜ0 Ñä_ ß[œµ…Nðây«´'†½ªr+ëÂ$ ðþcˆåß©çÈî ¿7jîb7N] h×uc¶`wERÙ>ƒæú©Ìêgn9[Sn§=UÌSlئöwÆ÷o}ò¼· „8fµ”n@>âÝñ)£ôž´s Yd·1]æqõaãî“褢X˜÷åTÜå9ó•…Æ"oBvô`snmE¼\ù¹ tÏõUñìeÀÊ6„ UÖ—ä$6eȵž e}€v?£%{Y»sMgO)óA(0Áþ«0Y~Tny°/;àcïvÙ¢ aÀOdƒ:ê¶7y;(³bWÞÈíO ømMZç¾B&uT*>•q~9P¾ßž8=¶p³L£;À²q)ÐÊq—¨|¿A¨¨ÉÓbø&+‚Ô,è\NõÚìŸ>b`žŒ‡ ¼'5Ué×1!S¶NÑókÑãÎbÙCRHÐåšÞ.4}í-´ ¢™b^wëƒ(2ö 6«~ÏEÙÕ¾™ñvà<ô‡ k‡³ûx±çñ öó›ÂÕ¿þÌeŸœ…Ø+ØÂû¼ò¸ §É’|/´(ƒÔŸh¨<òPí.\é‘,‚n’À7j_ó°õ¹)n÷Óœ¤+Ê™¼? ÄóÎ_ÃøkO).¹”rLDËÈã jÐNDF ¾þ8)@BŠ ëý³hТ<Êÿ=-ÒföS•ù?.³ÝA„âM?¯÷W¿¯DøU£fäÆ`JWp/Ðâ½nbªÌ¾+Øóò,—3Jƒš|­Ým@[Eô\±àð?Ü@;$cT}‰@¬F‘ fä;,/oÆßr(Góš×˜P‚í°2‰ú¾¢šÎ¯~èîm«/AH®U2DÀ-ñ‡gmD‰†·ÅrIÝ’V²ÆiöT@€ÞåfÿC %b³âDvad›_%%ÿ ¸Ä5°ºé#íðݤ·è€(@}I­~˜1îg\‹Ã±Yöµø³)?w?IÈ#s&?¿Ë¤«úí»Æ¸‹Š±"ºµ«øøfç…°„Ä·w¯á}Ò2i#l|­ü¶+˜ïì˜ÂÎý9!ǘ˰ê™\üiD =6À ü Mý;¥úÿ寙r ê±³ÁŸü.:|îå_·5¢Û\Ô|€<ÜYâáðuïŠ-ôý!CU;ü5þƒ¦x©8ûsÅbÈr X’Ë[?ýzB31¥©ûóš¬@R¾ÕÔ‡”K'•»­èÞ_#”AŒÎvï 8Ìq{çf¦§wIòRÔ0?A}— ôÆgFVÁuWr¨ùèiÌ´eÐ"ó))¿›ªÜ¯÷ô>HIžoéšÿ‹ JJT„Ø“.%Ñ©3Í>„³»ðbè9;'« çQ?&<ÕŽ§[Ö7ž¶Ãר¯Ø£YÉ{’É ÿû}ΘUñ ­J©)ø«yO(X áYÙ9_oê8í }騙ɳf”§æŽþH«D‡˜ð—Jü\“MF~f¢aþ?¬eýRAU;¹ßË]È‚´hgÍî-Vr¼K›¶Rjeá9™¦É…Î|Ûb§‰4ï ¦þî6ô<ôGÕ"šˆ $°§Èp—¹C\ Ä@nȺØi¶šš³jvˆÈBç7x{˜…nçñ…0•¦ØH!ýƒsº~¼‰jm^PèNÇ‚ÝàCXÚ€IÀ1¾·tË+ Ku€¤ !¸Ó ùÎmG‹:2š 9rÀ8©Ãzz ñ#Bé°Õg™AHM{Êúî»Cõ/uad­„åLÉž·¢`údãÔbÊÐÙh±/WÝ*=¨Ü•n¬QŸ\1¢š™NvýÉ>&ˆA¤ešC¦#ðÕCEFAšè²á$}˰ ¶Û>âËT.wTÇÆè¹KRëήg¢³Hþ¦x<èpÙ³\|(»ñþœ²–÷ÔÖq¾H K ¾¡åzÕt *þõ#ÌÆOlïªs»‚UÏø%ÿG@ŸÃ•è…X—F žˆ¾ÿ¢ž“° ×{Mã¦&˜‘~~ IñjLì>nª{ ôvEšÜ^Iû“Ç”•š˜¨!ädÎåÌ4 HL†1æR¦#¡z!jX8À+†€ඤe]†çä\ê+öNqðè‹Qw v¥*–Âé«ýAT–-Caqûšè`{"TtÒÔ+Í)[¡XÂ{š©õé[7Šu°eéd¨k{Üí!ŒÄ   9O”rÅô.ßP8æñ}¦îž‘ÎÇЩSŠÃ[5s…gìö!Â`šf¿Úžde³AŽŸdD!äT”{Þ©&n=E ލGDq»áퟅâù+¢ê"ÙÏ1äz–9®žQ6x…IN_«+Pí^/öí&xq{Ó ð -s–Å’ÚMû¤[v¥±Èèí¥5#6‹Öd<Åò·êâš(\¸¤gj݅ɇs¥‰,É™í¥‚ÙíèN{sNZzZÐTnˆÝñµ%TƒÚFAÅd5ÓÊU¼ªN7¾£NdrµžÀ}€2¬$óÜKÚ ¬7J¨áGXü€u(¶p„bg·þgd»îè–»ê[6ç¥2¥i,Bìo \_ó_2{CknÀIŸ§Sw¥šâ ë½B€è=bØGpPü1Ÿ3¥áÍá!4à<±i[#¬Òr` úcfEà1`fâQ%lTûÂÙ!¸ÆGÕ8 Ÿô|–Ý·ŽŠ…¿ ¼ëÖ0ÂJ<é]ûé‰R1äÑÚKJïºÑgK+R–I–¨ªL<*ö±…/;³y ýF ~ rrü}‘ºÔÑÑøïóýÓ´l‹«¬fxEc`¸:Ë)\ a,=‚8í²Ùxâ²^z<š™ËÚÑÒ,>°ÔF5Ùß§4kß<ÐÙÔ/ØÛ†%¦ÊÐ*‹pd®·]ÑFEpLð„8fS*±ÄL‡Rí ¯'.\ãº^Ê·&]›\«Ø::Þ¶ûžÜD»DW¥%·yW”P/*Øâ¦ô†ý5ˆî‰«e¤­W°Íºw´S§æJ™ø©ÕtTˆ{ü~RýÚ:˜³H™è–’iû{1pö¥XJÎLýš¹¿a’âp"‹ÛÆ7Ùx!êHšA~@Ó¸jÐ&‚sZ¸Î§Å"¹ÈÂ$7î /´ÓÈ» Ó3†ø·]5 ð2£Ç ×Ý„KÝF»G¦Ñ aðœl£Å&}™ý¡¥ß3€%!”°SR .ÞÍ¢úxÉfÿ¥úíxrL?òn‹ùi‚úKäàäiá¤nþgþèv4º¨\à ¬¾ª¬¿”½tð‘«'$= MELÙÌ×·Ê üS`[)cÌÎÇx4w¯ûÂ7sÈðРͱ$õ*±žùIàŒ=2oÆKè¾±•AˆÙM -ÕTÿ;åZ ¹$ K.Füå®oú A¥§öà…ÔuGä°cz,ÁT’”æîÚ18eDt2vë²]üIý9äyÞ£¡_|"ŸÔZ`ú.Šn0’ßt?s •ƒp 冂޾_ÈVi þÈñ4¶†ªÂˆm:…ñ‰V1i´aÿ[@t#dâžöˆ†Ù ì|XÊÇz~ÂÉmªjBn•÷Ê•Þö[R¹žÉ7Ä:ƒß–_‘Ó¸ÿ貘ú寮ýé̶°œ¼bKýðçm[þ¨NX5¤úºïGOØ PµÈƒ§qߨém_Ýö5áDP=ßKx‰dyÇG­ÃïF!X ëE³ç&‰móÖOx iÊ“)xhŸ oeK 7ƒhTž¤qâóÃcVtoÉX@íèv“YÜBÂ0g»O:Nì•BËXQD:…È—í3(uqþâ.Åš7ÿ §ü€­¥x 4ª u`ÊUŒPÍy Øi4™× ”ÖK°×Ý$ywGe­ãym¥ÿX'shÀn{üšµÎ^žÅ4íˆ'ÙZ$Bˆw÷…(@òä3÷?Kà€c^<€ÑêΡf_¶k•œŸlÎjø„~ˆö!ÿ h]ú›Â”‚¦a,ð¨Äh¾­=§×ZëÏÂj°L#µÚ!9ljâîv“×9hZxè7oŽ¿&ÌZ·ß|åØÒ5&ðM>«òLÂêˆF ÅÐ詨U^bw3íÉtâsfbß⯥ªäþÕnщx±6/9g ðJµdyЉ$ä·È+fçÄäZåÛYcN4Ê·8IISZšÐsØfSuˆ–òigø,ìa"yD¢x9ÛAVsÝé-¬©>jÙ<÷¸yeraNNjÜÅ1ä‹{{(ÅÌZíC.ç’Ðz>XÍö‰¿×U„GL‘嚈¶oØŒSÀüd(-XP€…à]&ðÔ@}ø_A¾Õ ”G,˜r€@…3^Lô™ËlXþnS]Ä!MÂ^Ø7S‘moiŽ€±-ÀZÂÍÇ!¬J!~0<¦ˆdÔ.‹Tllücƒ`̸ V¡Nþpž0®ë]&ÀMzÇŸ(£ïú#ñKÿ_ÝŸ>¸®œÀf‡ùFºäyTZŠŽ×-%™EjT•é T*@9ÔAu[vÐ÷+a!m¬B$C‰€j¡ûçÙµ wxÃÊ\‰Pu©{Ίr$Ðk…[`|T0F ¬æ/‚NÚÊà­ÔCï«Ï«cTáp³™çFÂÄáÌ.·Ór^É-¼f±’ÃÃb;¾³ EfájfIíŠXê‹McçEu#“Ér‰z?”cIìR;&ðÏNûþ¢ŒÐ½_O0!¹„ §Z;Ô‰¢fPRä†nàV³íAb<åNá`›Ð($ÌHUFóŽ·D,ÜS©”%Þ¸Cš¡9b=FØ÷gØè^¼¦OPû¢häâ!ó´§Ø•Ç€LÀ©36âˆ7ŽšÍŸºÆÛhå³ÄÑ^ ÐcÁ•?da3J¬¦æ”s$=«ÌëºÃ›p蛜bÏ=áŒüÍóå岌–û«m¹ A=ÁŽ=¨ÁG¾ Ü.AÔ´[7y8Ž ºZ+€þ>ßC1ÕÁ¥ÒÑæÙ2E#»]¸C\UmâœüwÄÚA&#8¨¨¸i6#™”(BùÖ¹¬ñD 4„~oÌWßt`2,5I¿&ýÚHXéBEÓsñòN÷Û/á·Ôؽas_•ÅpµÕÁÿŠ‘1XBåëìˆq˜€û‹M›Ôª%_ø² W÷ ¨}<¯™ ø¿¨oûÏ´øGïÕU`~ U¯ö¬£.ˆËDEzœ;MCÓ>¼‘!3¦›KákOkSg©Ñ·+ª(eÊaõA©¶ Z˜àÛ†ÇU\àãOiö÷Õ?°8¿ÏVZ¬°¼™c J³l]2’ÿ SŠ“þªõ¨€C%ƒãYÍäQ á›÷5[–Ö¡PCÜõKÆ3 !tŽJž§EÑLmÛ°£+ê8NÂNni„`C Ñü è&œ µdcçü¯noÇcýó{g¢R0߃h¤´Q“Þ ´l^k5Uâ¿ÁÊ£çädÛ GõÂðˆ³®Ð©¥¡Y«õ«À˜tŸ¶Bv¦EÅÿ¦ È÷þ8¼ÂyZtš<Ó‡‰èÖi…Öð½c".½N÷•lM¹$§ ÑM”etELã£\=jvêÏÕûÏõß¾ÇóÀ\k´ ïƒ?2&=x¼«›­ñJTØ.HM÷¬ Z•qJ… ¯Ç9ŽTcÍÀVôÖOŒ£FEŽL†Áù˜trßãg&P_yµ³7ˆ‰t‡sj¿®w'ÒêšÞ3Š{É߸Öb–ް(tÔi?3NN!Gé–½XÒ&FõöÊô Zb¦å‚bâ®úˆ<ôùRผOåÒl#ŒH§ìHõ¯)fØL^Ò‘¯ð}îu×T0ÍŠJ<_Œ ñË…ÎW¢Ÿ]>nyMäöFi·Ø°„Ǧȃòð°~—¿”‹㔜Ñì±/F2 Q Ñ©ÌHiÚ]Q>•Gdkâ­"3- ÊYaý>¾–NéëŸ@¼mõ³A¸z.$± Z6A™·šË Å–Áaʼ|ì–Å@‰+ô9à2*¤ù亥ճݽ¾$>& 1(,¼Í?Ö[JË2•¦9Ì{ž¹ùÝãNEnÀ°Ë/U^£—³0¦Q&D,YÕ‡õýz[.ºW¬] YC²Å[¾Â×b˜=/Ú°þóÖõ¥k€³¼« líà(RZ—¨ @NÙÍ'ŽJ §ÀË«c“›ËxÀèFÚhRTç"ÛEûú“O„7:ö‚#F/3tÀ*Fµ ä z£+êjAãËæL÷#ì˜+©wúоäz¥/k!Êby‚Æ'ÎåÀFp}Ù4•g$ "£Bõ{ƒ¡uò WN¸€û®3¼ûôBÜGþhðíò'BYsƧýI[×Ò™1zfØoãØ'µ†Œ*y·X-ªAu?Ï ý-Âb¸o°zîŽÑp{yß§p!ÊÆXú¥07±‡ÍØC>G&Úʈ)W½žVnW ü²Q†î¶&¿,x¸=™Ú qØåÛaz#l,ÖÒžáMƒ”¤“­®'ËŸ|½Û‡Ë÷)½L¦Ž—"#Ù2ÆÑßé”7tE¢¸’âóÛ¢ 85#Æâ»ï!Ä:¾D‰>¨ÿÍì–n%”É"(ÿàI.v22žÿ³ù¥»èU ø- о+ÂCî/g×ûÿ#8€Q¸a +rLì9ˆ{ /…â$Õ¬i³Œß9:fÚ÷¦f‰üŽŽƒ¯É½üUKÅÖÀëÁ;ÕÙÆ» ÿÎ\I,bJôò"réY n‰í‹Yôî÷ ª©Ó%½ÃǨµôÖÖä5@b|~ÁÕJíGì’è Ójìå^óD˜iý@ÍŸêzŸqGÃó \ÐÉ7¬ô[0N–Ÿµ¢wáZûGA³Í™úcR8À´¼r½©Ä#.¨‘±pNÚÞá4)>h’ÇûßA!êbðfÙÓÊvVvƒØFß@ ý4~íB²gM ŸSÑ%ç‰\¾{Cï!ÑK³gçK„ÑàÕbáÒ`ÑÒ&"0£S” å-oö \‹¥KÒ4° m‹Bü64÷ê™Í‰–&¤½±‡˜VÞÛjÈk¹Õ傟I´l`J SÙb Ò/OÀ¿V‹ÅC œò¯.ó&–{:"­ ªÁh“t1r2æ¡A‡gû1¥/ž°åz œ>òãE—âDó¿ÛNf³-IøçX©›‡e‡4E_ÕÌ\û‹ nârá_¶Œ²-ˆ%h¾„)$]¦!}ბmãÒc•ŠGq>bs„À޽—‹tV :¹7`Ô2=ÅK)1m:ÚÜÙ¸†™ü1>“Ï“KMëó‰©}½FæÈ¬’‡«<~Jy;â7G.rlúZH¿?XÊ'¸i» œ¬KêP,Kg 7ÍÂf*ÂGn h"ñÿr“ Ó¥Wž¶ÅîNW÷¶pÚK£¿†Ñ¢gvªµú|*±f]&Ðûà v’¦uÕhµ9Ü9¹[â°³¨‰Ã‚²¬/Ø„òµÕîì¿–%Ðý@·ÍÅæ=K B‰)á¡nG{OÖú´ÄÒ# `Ò!™ˆÃûçvXvÌÂgÔÖ|ÐäBÂi÷qm,UJ%ï™ù@$лDvC°t‘-ÒÖµq™ÛŸþ íEÀÄ <àº%A46Wßa—£©å©Í/Ç-°ÛjÞB ß´â‡Ràˆ%Ž@d/Ü+ÄþŸÕøvM 9^aŽÌ£¥Ú‹=Í0'€…td—zsåGG ¯×.oIDKÀ‘Ññðd^iÞËd7¢|œHGÀ“׋1ÿm&5s.•Ír?wzÌâ^TÈpóÖìì’Ÿ™a_0Ñ«ÜBΆÜÇbÖ¿Eq«pH³ºs'E5¦“‘Ã(vÚ”Q {_S,ö´õn&‹MúíS ´&Ã/Ï?r¼ýæÌ9xb‡87ÑÒkŸ9’‘îïôÂÍ'pp„ ½–ñg×òj^ÞýÅöR­$°€Üæ<Í¡ùa…X¢î`±¼ñ”a‚õfžcqCe‡ŒWF\zˆe3eöæÜ/ ;VÅ¡2Ëk5ÏÔcÄÑ(nû'^d³®€ŽeÇzØÝl*: Ûè^ï«*óaRu5•UÛü3{ëxŽÿ¶‹q®r—'“rÎD" „Lm°ÓШ !.Wh]ª™ªím‡,ªçÀâ8¸÷¨ŒU‘ù?À®±hªS–†¼Ù®É©‹òϽ:£°ËuÕºÿPÛ3w÷O3ý“£<Ϙ&L?üô?€£ž ø¶¼œªE<æÏcQ½;ÊA¨ú|ÀqOêÞAÚ˜˜jkSfËéÈLÉmAù+IÆSe§Ô@ã+…ƒ´¬l0’ÕÃë‘ÖÙo«12EÊksÙô*m°G|àNýwÀÔÐô{oðÜ>‡½Ž6ˆÉdiÊâbZ`^–XžÉDëù,‹üú%« BôçÍã¿¿ÑÝqÎø 3›K Ù@ª¢à^Ó‰ûBy?t«÷^¬áí÷RÖÍ]››øSéM9ÛÔ’“7 • ¢ã¿›[ÞÌ&„Á©ZtÝê“ý|ò­¬qþ§ÉBZÉ™Öð“1¼[ 7(Ȧ™°fGæÄ7g{è%˜$> nÙè¬ÈW s—…žŠË~ͧ–½Õ•E¦dâ³Y2·z B׌0F듵,„…ÕÊü«[¦Ýñßw ‡m•‘˜ ç¡qy7M7D"çºÖ^ôöZõ»‹•Û0Â;Ÿ‘êÖop£… îågqGdᕳÅ2Ý›Ɇw Ã݇_E•>ˆ<¹d¶6÷9¼0¬%{µÏJÌ9Ò1¡ -ìàEôÚñIsU-k‚k€ƒ‘ë05Zà[ŒÂ’.‡˜Ž’¸/6%¡Mº#vJ:[—évÕΟ‚ÿô}1JzŽ•¨(·ÓW 5aô #…PÏLªìJ"Ý?bdοfA‰V2uçîR‹ÀXEˆ"Lò\sÚ'`¬ŽÄ×ÁN4}1Jï •—?‘Oøï®A_œHQæ0GÚ@ X)ßνó7èÍ—D¦Œ ƒm¶ëŒˆ\$ÌìêØïƒÇ`{³AÏòJáÎNáDu— Â!Ošhýv2‘ƒñaÕâP3Äÿ@äEhÅv¡I\²!n¹”Ϊ®àª1jPÀ“j—y_¨D•MóÛN¾ëšuçDD²Îæ'ÙQΑÀYRå¾»øˆ—ýñ†¬ºe*ëì¹ú¥ÝœyÐcµa9·óçôûs{†£ÙÜZ˜fyÜ3…ØúÛOñËj <¯Ã—!G»• :ÌÔÞÖ 4gt7$f—)Úi¡™œ¡Á ÉíµHÄh‹4Ì×±‹^â¡òçŽûOîèYlXK÷Äwœ Qôø|ËS4 Ý¦oÍù"áF=Œí=‡J[\±,+.CÿžãlïE¸ºq_ÎZµc®[®>U.2W·æz!]ZiN®æÅ»Ò5CV­=øÍè{3/Y;[ODÚK’Z5´<%Ö×"v£ì<4­G {2Yì_¤šFêæPxlßäŽ(UÝ×Hsoº/ѱíäÖ2îåÜWYŽ€?v7¨ÅÈȰ`îAïpì­¿Ý=Ø(2Œk¯Ì´Èj›t:˜ø&ÿÒM¿oì}_q±ô¡·kl²îô÷'U™vú?vk¬4GT‘“ Çînb.âÊŸíŸ ÿ+¿´©¤²Üé°]Ë­ãaU`bòM“œ°ta·³Ïwaºì!jíŒQ¦öìd¯S» õû®ÞƯû/d¼H%Ázó\­Ç^°' žO]¥d8åÆšÒhÉ„³ú€DvÌêʾÔj1õ3¯³&vÖÂÛIÆÐpdm›*ƒü:cÚ5û8^t®Ô) J¹×ókÚókq:ÜiÜGÃχÎf Ë»”qE/L”Ô¶ºÖj}^ŒûÃ`wÓ4æðª½ñÖ:¡>6­xß³{³7Ø“¦WCT3N?%Û«‘«gvs‡jdåÄÉy·..™m$ؾҸmÊLŠ\°8j ìï®"8¦«ú°öô±GXŠ–€DhŠft“cªT·ó²a€9àæ¹­ÉÀJ̪ ŠðÎ DnýXãSCHZn6cØEåæ{ÝL$8§¤J±$#cÆ –f ûƒeê\{`¯L2#fv{€²àV‹O#ö‹Aúp«œP¨S ÃÜ ‘ò/Të˜m¼Õ¿›Ê²–ưU›8ân mOAâÏz5Äb á6DгӇÜzÂH±•»/Îz_[ø¼2£ìûT.e¨Ó÷ÃÖ£@à,Ì‹H˜>˜ Ktt Љ’ÆšR–ɹ=Q¢P½¾•?šŒ,´îkqÕñµ­¸ ÎîQLªNRâøHÿcÄŒ€®½ÂÇê;Ææ)“íµ[¨H Û¦x`Xí"Ñ`l|:IGºÿnÉTûÞ&Øè ·b0NçUaiL»TÞù;ñQlä§òÇþ~ò_éEãÆƒ¢î¸TÚ¿G¢¦bž±¦Ì&|û褎‡úÍÑ –ˆA›î LH× “^úíH~/s–"ÈY­6؆êçó‚ã>Þ©H¡•çdrDíõ6B"1ŸÔ ˜ìiŠ3èÔ])X°M»ü7zJm¿ÏÑ ñ9û(?…=&IåÙЃô46¶ aŠÔ8­½Y¼±ÀJbVFØç/ž(c;¬Ô@¿É$àÏ€ •l)‰$„1cíÍÐî·ñûD;Ô'½&¨©)Ö 2ªzPåñ~–Öƒä6‹á–¯«vªã_uo¿oñÂe§>b‘‹àÀçÚ½Y¤Rí€ínµ›Vzx® qä`¥DÞKŽ5”÷–èÏ·o ¾T´åÂ5É^Á<“âb•Q8óÕR=†l¶ó»Ý1.ã*ôÕJo^1뢓ÇÏá›=TOƒÀ¶ƒ»c†‘Ïi{”Ѥj*qN¼«=†¤§‚Œ'Åz„QÙ00C÷Lt=š½­iqäY|&P‚Ú͸¿ûõ.çP×$FÃbƪð5©B)(ǰ­ex¹·R#Ëp‘ ä+ÛLÁÕýK}õÚ¿wí‹OýVä¦ý@7”÷nì%Ó Þ×q§kÀ@¶xíA Þ™ús„ö†ýŠÀkÓWgý,,b¹¦ÎžzÎtu¾É8ëh¤RgkWâSðÐàŠ®Ä±(bñgœ]רì·Çâqþöêžr±qã¿!ŒXޤu•V„ûÍ‹:foRåÍRJT€èD--+ 7aœ›óç®×/Ídg¨q,N³)ÔèÓ£ ’÷¿T%=„ÞzT~¿qôm¨Î *—~mƒô ‡d$#¬Õ‘`a'ÕI&ïÜXQ·)¦¼Ëéͨ æè / Hã›°–U Ìp¹Ýä=ñt&>?ÐêFUÍ`$ôJȤh]UÄqlç`æ®ÅRå%˜` [O°®ÃC!+4µèò¹G½‚Zì3†&:&@Îe|Fg:™7€$tþ[v`…ûbðŰ·k¨%»76¦7rRaЂåy8v-O‰¿ÿU%OQ|¢Õ@’6V§½-ÄZùmk‰øÇÂrôº!TÝ™ý//f5—#QzoJ(1²RÞßQ:Ó˜„™ù¦Ú ¾œÓƒ—ãèxE %ÙÂ‰Š ­‚á8$•{çEŠ¿ì†›n§øÕo2É/Á,‘HûìïÏÁ½I‡OSɨŸ¶@)é¿¶¬Õ}Štà¿&w›Æ]ãº׎EÕðZJamÖ°x¬qÑʺC¼&ëþ¼¢†ÀJOæœÝá—|$øé[[UY˜ÁÉBÿXZuaC’ ¾Ò¤"=ù„4€(ÿ| ™›¾+áS/] Πœõ`¤òêXÚ¿~£¥ÚÔöjÞÜÑT \ïäW‘2¤*Õˆ¦ÄÐF/á–üžùö Ýœ­¡ÎhÍÙ­aY“j…¸NøÕ8ôÇÒ"#­é'¬4 x(Y¹³¤%.O€°Ç¹¹zÁ×s¡äŽ¢…'^sóÒÓ›j£ßO‘VœãÁûRüzÆ¿[°3I=ÅYJ††…*IƲû%Ý‹ˆÊ±šã¨á`¨{<à†Z–#[¨\ƒG4óL/;¦Z¤“žPН”Ò0ÔŒv0"ß®ÉðïfÃu+xÅz;îûhsÙ²îëT˜}hd¿ÿ+ÄË˰Kçßø£õðñ0Ô•²\%º·ž¡‚È»Rèˆ7w^ŸX)scÊqª=Pêû‚7|Ίb•±î“¼ú²¹M¨KkEÜÉŒ<îß6¸{TðÄõZBÔØTËŒæb2ÊDÓ=À–ÙžðP©¿`Eþ>º6i-®S‘ÕCâr"$Ÿ«:†&rά·0g¹9§×Ầϓu:äc¤‹Õáa¸„€Þ¶Ü…-ypU”J¯(¤oÁOÏ=’-éûÃJ°˜”JÍQ@Õ£ž}J£wâƒØžÄº —66o{_Vtåþ?DB5ïà =4fK,BAOÁ¬–ŽYuÑ6¢«jÈ¿ãôøŠ3nÄÈ–ðºÀ—õßBMº5³wľ•ÿÚ3üÁO÷¤·µ¾ãôF⑬{£VEnŽ &´ Óê‡XÎiËJ2 $u–Ã?¼¸ GÊìi\HÜÖ-M,zya_uÚgyLg¦ÐúÛ‡õmëÉç‘ýt¬5‚riê®K<;fŸ!ËüBÙ37×ÄHðo.#`°¡PÀ_Á­~Ü/—Ä&JDË{x]²Íâdáp'ÓH7XCÓõ{T˱"Ý-%¹ãX¸W Ò" ÙU}بâðÃW°dá&þ•Ey–:–gÚÈ–íÞªŠá˜•6Ÿ½:~77,7ôÉžBácRlaÀbéøç»€a[(òÀû~ Ó¹ú~/ _Á«…1¶õJH†#ÑN üþX»ðõ¡ÎØ&B³7ü2J7ùÇ$z÷—õ” ãj²ÛÇÒ˜eó—0éRU•€æƒäW¹ °<†SÐøÊ¤îÔ’’3–¾ñqdÞe‹Ù`ðçûY?›uà–’ŠOœ—¿ößN$˜•=™ö²`Ñ(«ò„h¢ÖKÔj–hÇ`Ua/¿Iu^ óqU¦1âoÒÊQNùw 'Zm ¿8Ý9RULô ¿‘K°¼ žZ•¤ë1f(E~Õvå\vÍ]|˜ÛÄMÂáøI‚$”}·õnNjq6ÖÍÄP—Õ.ƒ§@¼“ìÍs…'wCëìxúù¥Þ[-5¹Ê1°‘;‰=Ó—¦@ɨÐÂ'º[¡tÈúUÂÁª!oNàçªË%np¢È›Î¯ÚLuíiÙö“’Ì‚\ƒ=ŽÄ€z¡ë:›M$¬‹å7bé‰AÛkÙ*rÑz¥ÖËÃ;8¼ ‹³B ’¦†ªâT,ðÐ÷’*˜'¤Â›UÀŒuÓ_œÐÁŒFU— `™wrÜ6 Mrèo‰d¥Á˜Spšþ\ÉÛÞâüß{2Ð~Ê(ž"/°”„N>|vï}Ï R%³g /ãJ\H€‹Í!f×Ϻ§ OÂ:  4¹ç´îo\úÍ;Ä8Cs…¼B³Z~fÊ8Lð‰±¦-eÒ@ÿ2dþ—|tÀT7Ú›]V¨ ¬ØÕe€¶ÃέƒÊ* ›¸&íÌ4µw{%?4ÇÏòTó¥ G¹xt¡g«wß=û=œÆF·92ý†|YÿÇZC7g+\þ{°ã1Kbà¥6l4}…´¡!~'`ä‚!Íèï?ÞD?ù$ýW澺T¡¶¢ðäü¾Ã%\‘ý÷Ï£K:5HÕAŸke“8 qó+AÀÞ»÷[ñ6óÒëäŠv¶¤|eÝ»@ªñU-Q *áã·F,~ü¥Üoî$oG €"ˆ åæýƒ?‡bB6œ$Pðj "ûÓ† Í n PäíKÚ|ž`ºƒUyyõ[ÞV~áù˜ü—ÇF®OqóUÝó|Õë¼ ØöÏRÊ!/dž¢éùË‘óç 9etýH¡ob…I Û¿e4_ÜK_¤ òyj«•‚Ög˜2—çDþòX‘|qG(%‡kCë!E 34: ÀÙp;¸çCu$),mAUyð—/÷æK¤í-[쇵<6’!…ÃæÿO~ÏP.:¬:3ðü>è„=Æ”ýeÀ[Ðo´'kËÇÑúÓBAštÌòà÷vïÂ5Äõ/þÕ5Í~?GÀJ-Gq„Q@éR¿ÓH6šè‰p~ 6MÒ¬lœbÑmë@INbŠ./”qiÖ‰iÙæŒ‡øÊ¡á$Býþm G ®—Þ÷gÌRfŽ îxûÜ€hÚb††±HP!ûóbšf–veh±qIÒ&0(>.GoÉ!gAT9ŽMʆ¿”&`‰uúôv*9ß§Gþú6±m×<¿‰ªuH6VÁÝŸ`”c Þ•<Ôæ(@“æ?>”CO,¾Dr‡yÃÁ`ºpyáwÐÄ"3уGŠX%ÉÒI¾°ˆ( õF›ïªoô‰Û?‡ Ü™ù’>-]’]ï^è¤=¬$°Y9ݻφ Þ»áa‰žF6¬å—jn‡‡›sÒyZÅ•k„}DoÂÏbé>rg™:’PW!‰v$ çM¬’FÓÉw¹4J ·òÓ$g™V;ÄiÉP?žBpó’%Ïíœé!m ¢zæ·ylîdVlv±d,4â‚@ €À z4|ïgƒÖ[Jgÿø;1<—Öݤ¹ tÓaÄrxßÚ(g¥æøÒ,D§ìÔ˜xd¹ ðò',+{¯¬alh~Èžÿ­1@L÷Z«…×äwd)ä°ÿÇÍÅŠd¶ÿQ#3NE¢”±3 ³¬Æ†ŽÏ©o„5 º¡v<_õÓ|lƒ}Ô¿C¼óÙ¨!òi£n!øu¥ø¾Òý Uâª+Y GÏlüþ÷ŽŠÌlWFÁ Ôzã‚åì3XÞÓžŸŽÁ1\¢\àRâ¬!& ú%åý[™Ÿ”#ÆÒ ŽèƒéÃáäE‡gÜ,¥{¬˜·?ÿ.Ï´% ïV-Ù$Ë'["Þh$Cñ<’ã®Å½kî!´N—îþÓ•sDúQãg˜à†¥>[¥(´êx«¥ÃW––»„!xl~‡j§Ò™?ëú%bì6×ó>õGOòÁ%ܬ¶ìL@Ú,I¡¥Ý—Û1ÅæÌmÐþš][u $Œ¢Ù¯×&_—îVâRð‰ 5+æH’'ØTø*ŽrfdFk½j›(½XCkßnó)D?è2fÄüü<騛ÇlD.F./fUUØ+ïÌw«ÁŒçeÃgBÚ±Ü5¦ý›)¾†úˆÕ˜Ô7rÉõQI±/lMº|‘®(K«GIª661#ÍÁ}‡(°êjw•ÕuÜË\!i{ÁÁùn¾Ì–#ô·† !QAk0M±õ%_’Œ7œ…;¨€$#0 ý9©Wý,S»WZ*ÖÊyÔ}Ÿ¯B=Y‚¬îBÇ?hïÑí\<gÇÕÕ=í¼¼¨'!°²úTÚ«z˜ä™ Ä÷´ÞQö&©‡Hl2uëíPbN{nè¸ ÷UTöý>šÙ°¼&²f³%sÏV±Ùo Àî)Îÿ`ò+U›({û§|¿¾0ü‰PÀÎ)QŒ­›(q­Œ‘^ËË‚X°'¨ ~¥Nõ£Ö†%Óѧ{m Oø7IÚü üPVÃg$¡iTƒ¦2aC½#S±½Qd¶`é–|9ÛÁ±{gVàûýÍP Ç·.Ÿ«—DSóÖtRî^¿Î‚I8X™GøØéºŠò½È5ÄàÕ«àm0ĶçÿcíA¥ÿ’^ RÉÝåͬ¬·÷ê®9g4™o§ïæÃy‡½×18c‘Bq¢5w‘¦Òó=Þ¿°ÃË}»;kÁ±LLi|^ÌerãrÉ Öp¢ ¢ÿ$H ¦•‹§+F‹˜Ze÷fDŠÑ½¯”†,´TÈ”h^âZoÃpzh!5²ÐO öëgæŽnæ›á=I{ ë†lxX¤°‡dó©9<AË*tjé¡åFFT·P¬06µF1½RÓê "(;€Lè"å£Í&u@³«!E”J^~cjFÞ½#WÁClœø‚ØQ°eHÐo¹åÀü‘¬›§1-­Æ!& УXA|ã ÈûhN¯½VÇ_«C÷ùbÑ㊭¿nZ&JuH‹ (µ¹ ÑÊp&Þ'ÖTOœüÏøâW@ƒ=z•ÐÓX±¾‚âF'±Þ;]{î-¹Þµ9‡òêTϵzìP×ï¨Õc?¿WæiÔ!á€pgÈ|ï~ïÛÆ6bèø~\8¨ÜíðÁÃ)Я?óÒΊæ.ÞŸ—ÖP×Mžîïõ»ƒÅ!ŒSgÝ6ù=„Ï%¦£0•$át .s€ÈÝ?oñÝi6³j1¯óCÃöd³H/—é x#®¸€ÖÿõsÔdLõº|QSÎ3 ¥4<>Û69§T5˜ò•hŒ‚uv%c„}˜i+ Orf—S/?g{µe "£‹¸½½š‘QOÿØ1#Ictg—EI=ÃÉ?Ó5Ã[î¡ÎÚøÊE3OÂ'öñíÎb c¢EÛÆ¨Àt¤Ã5 êA©èòeú›´Ï¾wÍë$o+O*æ™*øé1üà"³@ÙŸÊS×p„GçT•–“Š™GU 5 5—ðÓ²(Tß{ûiÿØœÐ݇ÐèþR"¶gÈAÁZª[†zPÉîÖ<1ø« äB¹ÉÓqFþY~Ù®—˜Üð°òš>Ï[´c.Üj^ tE­·+>=mĆç*Iï[dîž·¡÷»óÅT»4K6˜Œ¸/ïXž ð(á‘Mph8É9Ê£ ÇGO­ŠÓHª!½cg¹ôªhŸ% fLŒ Œa%à|˜ÏÞ;¿MŠül Tƒ}àKyý)ΤMާ”vuátÌ‘¢”;{4%)T%}W-û/4e8q¼ÅÚ‡£‹™ß¿õúÃ|dL!­Â~™êÛq¾àYØñkË 9¢¯¾»oB 2¢ bʈ…Z£1Ú¹×i©TT1‹0:8>”¯ÿÖ¡RÝÞ(¹evÙ«öËEÏÆ•‡mˆKSº“$²áéœÕ©³+DØýuúhày:EЇ••§I ã,]Q6è{T5•€:áñŒ„hÉàwªºpwó‹Hh¡óÙÙðËÄJ}¿FÝ+o“ê·*„CÅ{r h¾›d öTô#SÀ|ÇâÙt¹R{ªõ,=H)3¢†µØ AKÚ>»«0†Õ›“?ׯ›v•x+ÑrMÐÌ( —áòæÈïpî¬<¿ÇDÎÿ}ÎÒhñô^î•|‹,Ö›éeÖ¸\£+Ð3Àª/„0Rþ.„žüÕI~âœàçólÔéÈžïõ1Ï'~ä\;0 –¾$dùåõ©d  zêݶÈã÷ ~®þzo(ElUîXm âäÄûõNÖ‚ŒÛûVÒ/7bÇ>Éî¨Î®s[vý5çÄû5qÄEó; ÔçÒ]N7 ŠžC7 ´…ÄâÑægft¢µd ^h D5÷pvXùãUá)•[„zXû©W»‘¬®LÕqZHÝ wÔe nƒØ{z,)ruӾОlve*X,§‚ƒôsÏk “ƒlYá—§â[JBÿu×ü4\$8J‘ >î;ó€Ï¹aæ"F¦ÖZ/kâ<Ó h‚ƒìØ»ÄÚe¿ñ0ûìй)=äçíÆ0Þ -]Ñ¿6Y§ÝFßz?BCàÁ’Òû ˆgßm/×öLBÑfOyýÖ¡$GÐÙ &†Ù!šÊNþ[–ŒjŠò*1SdûƒÉ7*ºÙ-<_\‘G¯ïB)£3ß%]’p•ίktã·…úuö9‡DNcUwÌé^ëí¥d$tnb …"&ŸŠ;þìÂڌǠÄQé·ÖÜ|l´º;ËIc“þ€îÞÕm Lî× rÎyfå€;GȲ:=´Á©§¹A>Ù§2Þmr÷ ?¦UŒÖÞÀçÿÆ!Múg^½]õåD>+»Á0)’(w—V1¬÷.>tÚŸdÄNnÑWÖ†¤ŽîO‚쪸ËCÿm')bï&“íµ­ï6I´Ø>é‚ÞüìOÙÈ"ò¡ˆ¨€‡ ªòZ¼ôé.(4ZˆiýBè“€|E'¯ù,šëNÇÓuð UË=DãfK¥€Œ}&_ø"¶îQ“«1ØßÆP¯œ6·syìç¼ÿw` äàÖÿ 3_gB÷V‘*D©1ŽO"¨Zª)ÅÔÛ3#nÒ²°\Dx7æQ{âÛGÝ=ŸØX¿_+åp¤0»QàÝ—î lõ“Æ„>òsh!iÚˆ„µÓ¼¼¿(Z}ïkÈ–\ kå&÷—]aqĈO-‰ 4BG§Ùk«€ §Ø6OÐNNöE=@;ybF,ä–vSàÒXîÜ›YDŒGðs}d‚­?¦É´½¿BŽ¥÷lˆÆDØiñ‘X%ˆr"ÿŽºÒ§=ëPï‚°ì Uæ…-ƶNE°È [pÛy²íq‡]âïíLŸZ,åH„K.ËôC4lŒåýlwWp¶ËH; ÃŽ´Eë»ñ„måç•å諉ö‡ž-ãk¬£Í™2Y{‚Ïj?(7ÙÕ@"'ðXjãçR”ù$hÜÜÁdªxÍÎ$òžö8œžË„ü)BÑß½zoµ«&óïÈÒÀ “´ÞÝ\“n¾ª^ê©"÷Ùœõ{˜Šm´1®ý Åæ% p‘ç´‚W†¼ x|¬ Z¥çÚ{Êçå q¨ƒÚbuÆp9^'Qyæ*I=’-ŒS'kût; ù©¨_}“˜Ñ?Îߘ”$É÷þ7_~ˆÿq%wÑÌ$ù(|T•¡ïœ¹}OõSìËÀPbEw@¦ô‰0êAù–çnÛ7ºŒÄZ¿§æ#ÍAÍN“¥”›öèGE&±ã<µéF× ß¸à¼lkÄ"H?M2+ }‡à$Ûèçm½J7ç ¢°RûGé|Ûøè3W«æv`ùBmÎ’}ÎáÑŠài^_¦!{>ú`ƒ‰Þþ·ªâ2ÎYÿ£ÚÞEŽÃ=l „=÷Ÿ‘îÍw/Á“;õ:Æ^Cðèóu¶‹?¬ÝAëïƺ¿Í!›ËˆÏÒøÆ­œ“Ž:ï—ð¤ú¢ð ç/‰Èø„¿£½îçèïÂYñ-ƒ ÊRºX—óc½ß¡LÉ2%ܱ·-O˜ÃÊ>ṵ̂¤h7›¨bXCÜ|â™­õÇöJþ\¼ò%±/J‘ÞeÖáeõÌ|-º“D9W<ä&ëÇoP5ª‘àgÐŽ™^iåƒY|$é-ôV„G&j#kø0—"TÚàé(äú#Ç&]“çäDÐ!'÷9¡V·¨j½™‘¦yÎÐçÚùzúUÈ$K/x¬–U­Æª(S µÁFC¯= ÝEtï†VÑÌLüd /·ã<昽V,æ`|zH.[oŠp»)Lo¤Ý΂81Ieß·ÈË5 ™!Á@yHI€÷;ÞŠ÷¿æ›qûf‚«HHbÕL¶çñn›w ÍÒ‘²þk-£žÇ*v›zD6óõöš¼u‚a-<¬X†¹ÆÆ6Ï$†Jèù ë&m¬$›pÍàâè—Æe,¥ÎBÞ°pˆ¥ÔϽ¥Sâ]„„‹»Ó’J‚I+"“[×}Bõ!@ Âa×rEùT_¥·Cv]Ú´oì³µ IÊ–/¬ _祟 ¹5ÞõWÝɹ£9ª¤‹D-ùfˆþ˜¦Å· K’ÙoÙý¹Tê,AበTÖ™>¼ÜuFk@CìJQÐûyZyÚ›wËÐ4åF{Y`á×®K]ý‡šæ¬/êÆ%¯ú ýô>Kì?8°åYμ`n†¬IùÌ8b) >lÆÊp(?)¾õÖðd¬†ŽqﯬÚ'¥¯™÷5-+‡ï`Œë]Ù¥írŸOæHEÐ+z€~§xŠÃU«~×QõûVüÆØCÉaWÔÇÙj$Å{f·×÷æË dDŽLtŽìÛl{­§ÀqcPÒ ¸KÜĦ ùÀá·ñl!>,ú‘C4g¾í½›ÔÀÛº6ÕR%7^‚“ˆ¬èV2"MæƆã!–ÖŠ%æofð8àcÄf6´8Kx¹§5öŽágêx…qmïÊžHÒ_³C’âRé7ɇO]rÁä‘눣M©Ï™ \Ç£üÏ‹¬Î+i¡ež\§Qž€ä0ëpÈ’a+ ´åŒiPüH/½Hé¨ )¾¶ÅÚq‹ZœN¥C’D»ó[324ÃåŒsù¨ÆKô Å'y˜Í±1Kš¸LP¦Tr4¸ùý‹ŸÞÀf’t8Çøø!ÔÃêÍy‘I µœÖ™ã…äÕ? KhÝ=þ¡âŠ|ˆé¼§ºïƒ/¨ ;¯qPzØ—MÁÙhÙEîõþâî‹ÊùL ]*ZyŽóâ…Õ,MúäÊÚñޛ•ÉZ6‹Æ1ɦx&¬ÓžZ‹Æ~û;i¦ÇÜv(¹Ô–ƒ„ÛO‘˜ãhÕ¸òªx4‘ʪëJÔFû¨tMUËÀ’a·-S†¸ÙÉW7z_o÷Á3ü”׋?)c7"|€˜Îõƈ¬|¨àµÚh÷H¥äS¯‡»õÂҗ̲ˆŠÙ»èS K|±ºZB”tχœÍ˜¤ÞÉK¨]L[×RúJyÒTâÖØøü¼E»¬zåcƒÛD$ÕG¨æöæë-EÏX{u­Œ9³»°œßv13ùž>k+ÑkTc<\CU¥¬¿ÈØ,XÊòÖYÙ'ı$È­\®h\ÍYêäƒé„\ÁAA­ú¡-ßKx!cw‰9ºÈtAfzÅ~¢ÇlÝ1—:­.Â-ħÇ9X1ÇQ)^ ¼y½TS¡f"ç ’$áìc„I›¢Ã××4aÄ"àçrœAR+Åḱ®sZËV¯‡ÖBóm+L–-ÉðMNËé'5Gr‡wö‡ûy4™ì=nuËÒ>Ú6 ÏÓoýÝÎh—‡]ëÆ4=G( ¦ú\–§úmÛ^¦¶Æ`É qò(ŽÐ‡pÄʉKU’\½o‚tbOò–%& ¯F¦ì ðJÁø}ažDnŒë•S¿_„ôE~ B±ÊÅ•0̱pmœVIÚMòŠø âÀc,’¯ÙwIMí¤Ö•¼A/‘n~›à ¹ð™¢Fú«É/;ˆ¸£ºÀõ ÕrArâ~]¼l‰Lo¡‚ÀJb j4Rõt2¤ªÖJ\BAäœß”ßT%µë»ïoŒ´NfÁ}•gшEÀ”Gc&Œ>Ü2|¶nõÖàŒzbNì“·òŸ8<L,x,;”©OÎKêñ¿5ßD3øî F¡F©^†ØP´,¸Çéaùà__Iýœ1 .l?¡ë|tP«ZÞèýÄ5Õù{%v€L-8ÞJ›¨|îh$CþаiTI†3¨4Œ: þ³õG÷‰šZ\3² ùv%E.kvƒO¼ ĮA ñ½…º¹Àa‰³7ÏÚ¡mLNµLÁ]¿rºÖz =˜^gô•Š’&Å „Ÿé¡‡ÃÁÍŸi=ƒî\@4 ¼•9I+9n{] zä•·Ñ›¡]áA‘²ùTQä¼ä î>÷’† :O¥ Î’PL¿ß÷æï‘)Kû 4Ì#çß±[‰wµKµ5;ÄZ:3ÿÌ…¬¹¯1¹ærµ¥æ¦a‡t!ú1ŸjX Žƒ m™·3é¹2Å`Ɖ¿¢œå»!07ïa[Õ©›iFùwÖ´Û%eCžÒV~V*AÆó+ý•Õþ˜&dþ\Ÿ ÐUÆ6«éSе ¹¬f°Èþ:Š­O:¢YÖ³1šè%:óó4»o"ÕÇÑ,ÏQ/ÑèôTüÖ÷ÃÁ ®>¤Ü‡÷¨…¬,þ‡E~ÒÈ@ÕÝ »÷,Pë‘>K ®À¥ã™I¬m›ÒÁyg¬S¨”paÄ5w¦c)A{ÞK³™(Í€W ½¢oÍΧƒ‹?¨$—'wSâ– þ‡YèùŸ–¬ì€{*õ¥zq˜¢æhˆÐã¼>Uá™ÕÒ6Ù,‹)Q´h«ÒÉü“äS#Àò… †_ÖX1 (Áëkbwq(ž2ò \Ù.”ZKu½yãA¥z¥ÞÞ·k¿¡+ÆJÓÈÒÜbVš/Ås˜6±,Mh P5\ËÒ'UûBÚª¬[½ñ•³– H)ãfb€!wÉ^£¿'»Y.­ÔÀÓuÔÙÂD‘Ü_ÝvZ0R‹¼ˆÝCT,浂Ì|â“R…©ùò£ó¸ôyÙ‹Ìò俾üw9 Ôb[átt7`çS%ˆÒ©¥½$-Œ¾æ®kU‹q¿}T]†2´Z/°¦áÁÁ%rU®o=PÕÛ áGò|ÌôÌæØ¿†;NÌ߆p·: Mù¶XͶU%iiiìøíIºü‡E®éþÑñݶP: P>¥#¨¹í}IòôìÕ_Ÿè ¬ „‹íLÁù‰:t!ÆÏÔ’@¸Á;©­ˆE‰©–KLÄ ÁŽ¿mvú¥ä·gã?Èv`Ý,§YzøŸz=îâ&å¾÷ò¦úþPcJŽsev•Ø­Òª)‘fŸ©ÁÄP p‚¹ÁÓucˆJU-âit²íÿ†z"œÏÁ¡ŸõöMïòÛY3ØuÅ9o•®ôZEÓâ}J h }ôÐg4.âkÊ-ƒêàú`Š»ç¬ªzèµKCÅýp¤Í¢'….ff‚.æ-‘н[Ò¿ÎJê…OÈ.Ì»|ظ`ÞúISx}÷žN9(Ò$V7eõ@ä™Wv]€ÌÆŠf¨³xãÕyÎX™8]šn¼)É?¡‘Hé`¢¾¶iCeÇC€ väü7žÆ€{ýˆ£ôÇXÉšàF¢×­¬Dºí§+B±ÞHhXy² žBé5,P•.ª9y¯ƒ¦Y½ uõþ‰Tü5(üBéǸyÂ~@Çk{90Cž9Ÿu_)ƒ<í‹pÜ*o!ìrˆƧ«M%=L_ø«Ùëë-ZÄ‚B>Ý‚³òZŠGˆžäÚpüÎvK¿ziS{×lö‡‹BHÊ'ĦÚ±Yê`!ƨ’ÔJ¦¼~˜ijH?D+js´”Ã÷«~ä"m¨gÄf ‘ ^$:È~z }äÃYˆjI¤Üo»E&çA ƯŽ2ÑuûB€zÀW?‚~!g§CSî¥á:Zàc¬eØ¡òe/æ¦G~µ_ÎôΈ`±\ÙÙƒV‘èëhBHN¯`ÈOœ.@s—³pˆæ/œÙÒe˜Ï:?‡ Ú¾oÌžg»͘AñüãÎH}Œ]IAõ‚ÕÌ >PÁõ³ùé’W¯1œBÁáX‘ˆ Qy–eÊQpôWßIöY)ɶÏjcÔö”¢Kg|E°ubòð*ð‚‘o3[íuLiÏøåáÖ Ž;6ï¹.Ô!YØa´~ l¶¹#>ŸEÎ ²=˜–b.{\BÏÂTì¦}BÍȘmGâ,¸ÕÒd@u#_­¯¾Œ«\> ®f~1áÚ²‘²Êaµ‰4jÆþþ-ÏËÃò‘**§âï }p¤òEªº÷ÿjRÌöIŸ¤{ ?ìijÔõ&a÷°$sõ zÈRY·[­»ME ýΜqM$U®•„­#S›l°Æ›Ôø·`–å¿Î+L~ô÷nÉdlw×Â4/âù.ÜVsÿ“»­58K«¶GÊ<Ä‚Ý^.Ñ»LnsÒ…ÖOžª¯'4v ¨¼²&»,¼áTŽHTt ¤Ëì¬:pÊ„!bEÝl4ÜoyŒ~´Õ\¹uÉúÔ**8…±ƒPŠ÷‘TŠa™ø(?-Á ^J$ÒËÌ!l®Ø©wdtBz53µ_¦Žô±Žlšòû_a<÷Xµ8dpJD|ðÙQ:­Ï²ùì»-ê¬e0Õ/ë"¶´x_jn{$Ÿ°KUÿ (1™´ÄX¯jÕ{ˆxÀjc ¯{´Òn j5Ò9¯ò¦´-³^ÂÍx¿óÕ‹DgÑ\×Süÿ<øn~—]„oq*¿”ZßdÊ(¦3žª¼ÎìP„õñœ7›Ar[XvãP!Õ1üÙqÞ£ŒÙLœ÷€ÁئLŒ¸‘_1ÝLÇd¸eƸ7öW;T¥-÷‡´‚·¹’u>=ô:ÎÕŒßN‰œpþ…ÎTèôJ©­EŠûitå§|Ê@ïG‹ àlD| LKEÊUÕ (¦3“VÈm¦ôü>Š’N±òï,iô+СL]@þtÃ÷x)fB»Éz1@7c¬½ô –¡º1¾„òœ~™ÃîͰ ÉNéIŽê5qæ ß®{îçË´ÓB½ÿz㕥ٺġìùgƒp n:É M_'.Û:‡Ù¦Çåˆn“fÁÄ™œÏ:)³`ÇCëå¡ö@aïÔR"bÃÎi°Lý:R—`ÂUO½vÂëY¿)|÷ŠÔ¿¹K÷ÎdoL-hî½¶ò%8Y\S¨CnC."‘ô¼•Lœ‘ÜÓÊ4¨8"L«D¯½t¸¿7%8# i” Ä&$x \w·ñ˜›°Ø¡œ!âžmzÑ’zò¹iš0…0lè² v®8Y‡ts¹Ô"ÃãH*SPKýô7â Y¸CÔÝO¢6Òc£¨:¬Ñdle_¹5u ¿OrÙlµÇ„ÊÜÎgõ* àæ"§ìg¤Æ(™M3ƒçïe~n>çºm.¯:yŸwòÝ9,9-¥‡Û|"þÕŽ.ÊòµÓÍ•MÝ[M2“*.Ë+ˆv³‹‡©ð×væYŒ¯WÎp§~Ã%üª¦Šô¼–ÊN ÒÐøñÉV’Z¹“6yü䮽•sgÈÓ<ÑldÙjJv‡_=²#d_é…ŸÕya…G#ed‹œðNa»D:òrZ¯ÝÊÒdêmmíkPüÇxî²h"ƹùñ'ÿž‚ø¤—·”"ïÉ͇'ö3y݇¶ å!²Sq—Ér#U•ïa+~3·ËI½pГ Šjê î-4&@vk»€¸U6ð„„ÿ¥u—½aùÚ-ÄBU¹t}rt–òFÉöˆÜûVB¡½™†[ еQH©©¡Î©öqþþ·]™ß‡‡Jú[î#æØ|*Ê‘êu¬ê{½X³v ™¿ ŽÇv¦¼ÉàfªZ˜³kÇó&#VÙ²Yö©h]µÞ>çýªîÕvÄ<—Œa¨b¦ú¾D ”@Ë7¦?íLó¥ëž¾éÄAo÷Ôê—yFÖ$z/ V±8:ð`8lû]^UºbÝf«(õ\eÜ›®‡tˆÎ·ŸÎœÑ‹š sëT·_¦ñéò ´]gƒ37XôA\ƒzµTC¹–1P\€5å<µÉêðIÁ¬x>T–ÄEN»šÖ‡Pæfòˆ¡Ó‰+Œkš±Öº•™ÆsS"ò«àÙø8»v5† ÑZ&%ê§µ w<· ÿÖÄÛZQv®$:†7ƒ»¡¤õVñ F#u“™‚îIÙr ÿZu_ˆ$§›²ùn YRzã¥XpÅd1®ê¿3˜9#-ÚŽ¬¥Ñuö{Èü"ŽT#$ýE²I¨±ÊûtÄ!l*ß/9²q à ¨ä–vw»}XÝXj#±-a¶0´âõË’4î=-°*ý ôœŽ›ÔýçŽ %ïf¦´X^‹„Þv–í•Á«ÔzNÞ$ #”1Èÿ ±|,º).kH.¸†ZTeøSÆ/´·­ú¶$œ°ý»—ÊÒœŒ„“Çîé®dJ³`‡°Cö¦-Å÷ƒ#@¦@¢« jK²úÝ1V„pŸ€ßè(^´X bÑ.œ0÷¬>3-¥ÔróRB£Kà†ª¡ Ù˜ôÛcƒµÓÄÑÜÅj-W§oý´(T!LGȬÅYŒ´ÏþÓäŽcJ‡:Šù|g!V€üøÎ|ˆÇÀì&¸xbL¬tvKLÇå2¡ì±âÉSŠÅ¼±ƒ' |uC'lceȢŘx‰ùÛÓí#îÑú»G× WNÿ¢ž[>v¼æø<8Ô¹'½QL\¹ªÅ3÷e'ÇЭ.rëÝanæé;oà žÔsÁþ«¾r;a^=¦Ü»n²dJãD°/VAJ“8–PõgR¸­p{f×§NíUŸþæ³ÛàÕ pܵsÞûò•.Q³ì¾ìÍ.tâáS¨}Jƒ^Ù-0`g¸BÛC[S¸¥aùMÙ_C3ÅÁÂRPáI_Sµú(=8ÒÌK4V'£¾jykÑäæoŒQ©ñgÊL„‘øè|•âÕ:žSìàAЊ 9«.(Ù‚‹3ïöܳº¶ý_è¹`@Üï&>7çcá—8‹S\¿¤Íó;- ÏŠÍ¢ÛªÈ.íw{ïÍd[ÈÈK…0»?s×FâìB¦ÿܵ’‡õÖ%…BH,¥øƒZZÔû|Y]:*‹š´[ ï}9¸8­èéú+!Ñ¢£Î+%W?’QŒAy'×/;-ÛXHxÎm™²¥é_Æó#7ú8x=sG2¶€u7¶Ëô. Cެ)åŠJørÕü•$RÄï)Cø¯–;#Xó•RÅ‚‹Q‘Ó¨ûIWå½ëÓQL*-Þê8^”<[H°_Å’•Xdèe«wåÕ[—Ïïc§sã"e+½1í¢ê\ ;˜*´$åG<^b5c@"H•í+íP ÀeŽ¥I¡Š'Û@|÷У3—2À@ï#¾[³ä§š’?ôoÖf™κŽEt®‹oóö² èïš—ïþ¦w¯Š+ž^2tF23ýìo¦_–MÛ=99+Æh„B‚‰‡:ÑHé1X½€÷q*:«gªê5ЧµÆ_ä‘J0¿Ý¾åcW„8¿°‹|Ä&ýëèË–­ðî+û¯%*޹€Fæ@`Û;0÷ù(ßÌœò“‹Š×|—’¼6Þrí‹ëƒÇ×\(ßý[WHüõÞr­7Kx¹Ö鎙kº¶àJЩ%磌ˆSåL®Z)tŠ i§nçLÏ›T÷ˆxÞ5]»Ûo¬5:„î¨M¬1· k>ÃÖ‚6c4gFo ¸e/ŽÞ?ã¼»‰šØŠäºMĈmÔ«|ÝR:}#w·=ñI×5Ad¬?¯âsþz7}exJ’¬| Õ…ó]nú€K!ˆr\'iý—K¾Ó–³·Rú¾®OŽÙ™ øÍá4ŸâeœB| “Ù ³ëWô–Ëy1º`¦uÆ@–ÓÙXÇÄBm¥ógª‡¤÷2Ó]«Ã6oßã§·ÃˬidˆS™ú²¶)®‹¨ìn¿­~Éaò=Ô'B¡ê.0 ~ ¹U×`æý­µ]ÄÄ;ƒBGn÷²¾lïFЀZŸG·…ªóìÌhO­eÞSîæ ‰˜TåQ¦ždBåPãnÀzÇèÆŠ©]Êk: =œ ß ¿²‘CŒç)ØÔœ#À0ÐÞ“&9†ùXŸ,åâ…–-þ §ÛÌYAö»Õï¾w&Ém];qŠ­û‚ÌYz:ÍÿÚ=§™HeVιðæ$gÁâÕCÏY§;%<‹!Y=ôËàžbiU£ÂùGy:³åŠcC+/é\éM>4(SÕØ¼›OsÓQC à+îïñ|¡’Ú{}‹4‚R¯ÛH‰ÎB-©~‰(Űä£Ð6e¦˜ùáä”Èh^“E÷*˜-AEƒ#¾üæ.ªº¦´š~¹ßv*qÓ¹Î@òÜÁØË릥¤m‚¤öo¡2„¹èT•ªžY™Góò”׋Lmàˆ+á²¹0 H¤ M<ñ< 2w¼œ9»2eèF%öà4äæˆMuj·?@!âf³UÓö÷íî%*"¢-§d õóß  fß´˜iJðÆf=¡¸ö®>T ƒo÷W/4¼G5,nóöå$9h«2Q)I€eoÎé㰇ǔV4$|@ÉynçI¾ÚýM?Ën£•š ŽŽtzù%(±WëÜ¡pÁ‹â»Xм&Ä|œ^»¨·Ý— Ö½»ó¶Ì橇<®ûþ¾+ã´k¼íÅÛÁŽñÜU’å‚qæTúÍ*| ž¦#ò9£Î§“ç Ž™´ã›BóJiü²sšlÀ}<ëÜú†?_’ ø¬äi§3õ¯¼.Áê/¸AÊ&ÿ,ÈqjÙÜÏë6J†¨Gذ8ÄmÜYM²Ûú}å´˜ù‰‚ØmvˆRÇiv\ê[½\Áë@ÊjˆáÆü“ŽaUÀw›01Æ7®TÇØf¢ #d†¨öÈêp®ý™U’ŠfS™F¹<‡çŸ¯´ÚÇÒ÷ˆ½ëŽ`+™j1œíˆ¯Ì’ E/©%>DáG».㩆m.°W\&[saÇá³h=Ö"£èÓËhäQÑJRÞžL1‹°vÕ€×K ;LÇ~ÙgõMtcN3—ÃNµpÕ°6ôvf„›E:Š|ž­óùTóΣ}ƒ‹¬#.RÑY‰ä…­©¬ÃPÚuVÑ´¦Ìjè® MW‚ÓõG·(h‰Mi8¾€ë|¢^ù@ª Ö8c*&Á)4î®.Ȳ"ñùA¼¹³ëÀðùš> E“4ºOc@'ã ]ñÕñ¡Mã].ßBª:…D@šà‡鲨ìSoñïú‰ FZ;C¸cÇ–XŽ;µ–Ø~Ò›wZ£½ý ¾íÈÅ„kùüLà `ƒ® ªð¸޽ïT¼ c§zÔþÖ|“ Ã{SIýOYSÁ‘ ²sZIô¾.ôom: tÜåGts¨´GNvLgŸq€eï8“(6™Ûÿö@y'OMñîòcë¹Z‹91’ ™`ltUK¥*«ïb øóqÑ]büK¾z…¶¤õ½p4½¤ôÌ<´|iíÊ$©å“²s¡f‡ÊIgrHÊ·œöZiÔÀòÆŸî GŽ™J°]èGÀÊVxí> UöÇü9ÈD¬ÏF+‰î~\’ž96†+[ª’ÌQ¹¿æ?‚va«O£KÚ[~ªÑª‘FÐ)mEö0²W`Äï*’Dy–ps|rê(н½¥Ã˜ÍæyA¶éŽÇOû¤&º£ÂøºKâK1srß´ÐÚpü$”ÿ½æ#€ —.uœQKçãBóZeyRÂN%ê?2B°BÁ©ñ°®YÎ ó 4éX˜3Ië·1.3[€@ó ùë/p:r/¢Ñìž¶šÆ¤§O­ÅX]ºøÝ‘ÄSHÜÖvêF÷Í‘ qoê˯F3½¯åœ6Cù\5Rˆ{Duo‚é¸ÏºÐ=¯s}Bx¿¸$ÄYè0/?¤˜÷c0Îù,+Ê-qy]ó›L2ÑŸõüjï5¢ï¬gYö…Ñ(øs"DÙŠ ¹fø¸’9Ö˜YÅeÖÙ‰þ/‘¸“|¹Æ¬ÙdEåÀêèLZ{Û^nf6’“aÁ53Lk0~•ÏrLƒa©O£‹¿QôÈ¥¾d¾Î¬—’xY¡è®qiåù=n‡W"6—¯*ºñQZÉýÿKdÐt³qÎ e¶ís;JfÉp)¸þÝp@¶ñ¨Ûúx&  ÷¸–ÎNÐX ÁdÇËT±Ç8$W×]Ñ“oà¾âÿVöu£ß)’g3¡8XÁ¨'Þ×V|•…Z=ï—fXm,ãê²ÇWŠÄA³wrWí”j·ßãÔ‹$ŸÒ_â÷8¶1™˜ª´êJ^¬GûË[»Î/ P À¿¹å,Ž}}\2=y2ëâw±µfÂ{~ þÀ]ŒÞ¶‹N/ïIÅsvmY¤‚üS³$L´;¼³ÓÖârزmç´Ù$OK³·C…œiæúüì¶y Òb?r–£’Ÿ“hÎ9õz…˜Ò0Õj9kܽƒ ñwznvÝðv4…s‘îl~2PÒ»R àªt˜Ú}îû˜†My ½C*­DQ†yªg2›Á"1×Â,ýN?÷ÚLÖ)ƒÑ ·³ýxO=úF<½ª+õìè˜á3Ý×ÒXt–C¹Kq—f˜6Íõ|Ië­¾M/¯â`ÜñLXí&äe4MŒœnN‘?,?¬•X~±i`>ÿƒà’—ŽÑ1™V*·Y8¸o[Ê#ö)?Ÿ;„*Ï4ÇÈ]¼õ@yž´ KĬ¦ƒNÖb ·[ ¨2 Â; ž3EãM¡ÍŽý 3C{õÐQ^”|%óµÅ¢Qíè—¼Lá2Ý7G ·Ú}áÔ äï\-ÔÁPc¯À‚Ú:V÷{(¨µMþö˜cæ ºžÃÉô”¹"Áޓޯ©& 7xJ˜‹ŸáúÜͼZnªòñjÝ^1±¤±êðDƒ§R§œ’q‹QE¹H`ô’ÈQy~n¼¦ <¯DþäNoÐ6zÍWè© ïÜxËYÅ•Rxz™¯>‡$øÃAõ—}&ø%Ù{C`Àòê„ÒT`âá¹"Y‘rROfŒ4Añ¢#o‘ž.ì](O=¬9ößuûð>È ŽÞ>öWku|п‚¼o-”®?ÂìTÃÍŸœBéËdáX`5—ëGÙ‚ûŸ™2 ¡ÿ™®oPÌå£õb*g¦îŒ^ ¡CK„þY±Š=œ–ÙÎöþ¥¾š96nfΫKØø5²âîLt°Ó ᛩ{+Êþ´W•Ô?šdÅ .Ó3\ÿ“Ÿ[;jf|^' –ðd¹Ë$.0O j迪Æ( ™I½lˆ Qú‹µï]ûl}|¼  Ðr܉S¬ˆW•ü4J»®éÒCö`¾ž 9µs^à3ùÏÇÌß ƒ|˜¨êyº‡ ]㵇ùJ;¾Ê׈ێÛL°@‹ËwÈèKœ2Vˆ È|v¾0@h8íM†'ëïuÀÜ"ý¨õ–«í4WÜøÐ;ñn\§~âd½¥§Æ¤‡(.î:Ô iºu8 á«ë DÑ0òÞ 1OœÐN_·WZÃaLrˆü´yeŠÙO©lIïz—„Z šù"³ÌÉFò­K'¡˜û¸d¸æ^®»eݾ_–ëõõëæ£À癚¶B]¢]ˆ*]D{Ž@¸CѬ­À·†éy]Ù%Ëëk̪­JS½ ³Ä „èØä|àSºD®Ìs 9ÑS•ÔŒ +3à4ôQ}Ø®ÑÇéàCu…øqë†ñ¸/ rŸľ-¤‡n’øƒ[Ã¥ê1ç혤ŸëÃÁJŽÛZÏŒâVáìÝ~Þy¼ÙŸW8Wg’±&@>q…Së$Sd ÉG•§ÙmÝ3J丣JÖÓ7{“夀+…0å„ À3vg©–²,aq¹Ÿ«ö…ùµÕØ*”NiƒÑyoàkã…Òæ·$ýmKcÜ~£Gì&"fûiÙ†ØdwS %ßW‡K~0¶^bHÐ 1ÃúdiSýR~ý÷l?s¥ò#NQÞPVI‰›Çf ÏÆ¨þ_ öK+îÆ=„!‡Ð|]ñëìçøÂ³Nï|ÚOò— l1Í}¶II ¬‡†ˆ>þ€"H†$Bl–„ˆiŸ šHoSÞ¥ÝçPäË@žb;èsùÀÉÇίþ_8vJ+ä‰`|fýê±3Èå<8?épOæy¸[¥Ç “irÕYE÷¬ó)iëj«¡ìIòËv÷‰ ßTãÑ}¥ÖÃ}`ÿÂ5XJ“õnÚÀüÅèðúC,(Q©‹ŠÇü5©â7Òåç¶®õéÃ}Ê7œÁ(Ž‘ r†‰/ôåá<¶–© ¨úHû´uMG*Š·x‘$k{9EĪÎlñûõf»æ–•¬ þ¾Üj)ý ãd-!¬ šN'­ _¼;lK–Ýlô?NBÓ/÷ñ³ëNúÙqÔá3h×6¦(|\òd‡‹¥–•± ÒZ|Ïfœ²¿wй}¹ÛlÉ‹‹(#Œ¯`š †ïRŒº`1Ô~Œ“LZ–0sD»ØÖÿòЇ¯*±Msð!3²ü>Û›³À?qaç…/ atÅßÌYMƵBG%#`;&(Ib¯••°‚°kUäe É\Á-réótóìŽE;A/Îr¢ÛJÊqý%Îãy ÍÝçˆó°»¡f¥·Z’bFÔôXõà(×£ñpÔØ–ÿ>a”V0ÿˆÏïÍ7ÊUÓZô"rÊS|Äp Zö3 ‰ç;¡ßXzeÍ’'£õ@¼¹i^ô*‰lûþ®¹ ‘Xöèoõ·?ö¼ΰ˜5ý½®6O³”†–Ñ Ä®Y°Jßf½sÉþ›j÷í–ýþ~&,æWi/àŸ8‘=ò޹døŠÊ>Cv36¬×…]“ôŽ<ê|sAÍl_ D›¤™æ2sùÁçù+ΤÍÕLÛÀ:V˜ˆŽÐGe¯Á;@¶!( £ri¢2ý$}Þ[“á.)Z>|ZÓ˜´rñ£8§•pšu@Gžš¤Û#zX8Iò£ÏðùÔ³¶!‹«ƒRÔM(ðר˜utzu¦Âr2¯ÿ¢'Y a¾ªt½›¥?6‰®cC¨ËÙÔ·^æ¸ÀtÈV” ÂË(Íöj{MG« 1’`°b`ý˜•à¦ÍêBê0TžàÁé)æ×©¬ùâÒÇ -€jÆ”êt×Gÿ™¿î›ó°O‹ú÷VÄüYavàà˜\GʲΗWïD+Çf3ÿØj€†[Jµªaâ ö 09õŠÒ »†zO¢ë³´£m‰¥a~@ÄÇj{Ͼ(ë½+¿ÒÒO6p0ò’^³>ĺ¿53™—î»–3%ñ%‰?ffµ·-¿ÜÇa‡cº¢†VÌ-¯ {/IŽ/¢´úZÉUZ™?¸pÁ#1\Ö‡\ªe#ißé*°Ð0·õ*¸u*ý:Ù”SÆn-¶‡ArAqö:&±%°é´OG]cÄÎT˜­Å¼ŽÑá)/ï~ç¤bÊ<ì•PPá'Ã)hîVÆb~©_HC[”XÆŸÛâËÃîÎ!7Á]‚RÀµæœ§ÖÔ`LTþ²zèZ•;e[xBHé©ð(Ǩµ~†x=Ìß:_ œ9Rl¢~³)Ð{­þf(„v)Id?W©1w„i+©›ïÕœ©ƒtg§½ÑÍõä‘ÛoW͞ƨ~BΙ»Ä§²Ò‰Z–˜×ÿ€©¼aF5Èo&`Õ8Y©™–X±Û“¬¥ ÍJøíMyÉ¡5±õûÇ&M*öÕïzÍÍÉ><2®¡ˆïvQ¨)q·Œ¦=RÒ7qâÄÓ—fËtÃT´.‡Ã_KË—°¾cæ0 ç—†Ä3%d{µßÏÿQ³h¢Ì+¡Ý‹¦O‹_­2Èír 99…» npè/AجĘŽÑ–_IÒ=xÎD< ƒ=–}¾N†gü;!×é‡Û™l|ÓYÏâÖ"yè5€1Ürð Où•€U©˜—<6¯û›Xç—eî,2 õ L¢;}áF­@åö¿‚$;¦mgÕVÆÙüÊf^™¶ï 0åPs{À›ŒV!]C£¸ú+ 6âk•ÒÑ^ÝÐèš/†^ÏŒÂ<>n’ü¡|*£.ƒoŠl0¸Þ’°ÃyùôßâÎRÎõàpýÍȦØv·Òl°ÙcȺãû8›\5lröšæŸæ*âÊ2b.xK‚ yf½Á*7 ì=0\²oÖ­àln=„MŠ_E)]—vkV˜ò;š™\ƒY@mD§Vâe+Ò)t˜¸J£åÞ4vÔ6[p¤3ê–“Û ™;%úûuh‚€<3N± ÃŒ{ÏŸ0ñÖ‰ëvn>èÊ´/ï ÖD@›aìCMD¸ò‚ 2Ož«¶•á!NyhÈÎïÖæ8v/ÑGT£i?~¥;¤/NÅê\Ô·øí3­=ä}¸•Ì¥Ïú!rïæCàÌZZ`Q_ Ž\ÅG©h‚£ñP9À£»Ë‡ y€ÿU¼'zêT‰ì(’áÿ.³¼»öÉ ]6^ú·í¸ç”)Ѷ԰ÆB ¦ålk]¥æðY]F&)Ð[bµ^Rcr2ÕÈÀ–h\Bf«lÅÁ5ùŒ’ᇟž°êµü´îذnÌ«Ñu¯Ñ*crLöÞŒÈBùŽmóˆÐrž ž·¤uÉ&¢¬vë†ÝkzÍx!/ÑåcHÛ•­F3 ù!|ƒ~¤LLJ{ÖÞBb0AÏVRŠñ’ ‚©MÁ§\7‡éK².ÆŽœbÚPANLô ™Oâ{ù*uTè§a—ê žtx ¸m*¾Pj4§Ä˜.r4’N(åÏ5ÁRq‰ŒÔEH׃͜£…žQ0ðdor„ð;ºåÆ,Ç]â²Ûn¥&ÞÁ¡KPŽþ;&ÉuÅB' ·DlÏJ…T4ô$-ª¡+lnºþJ¬™ óê²½—O¤”¬:ú’£aP‡Lk¼$Ÿ’:Ré×Z~++º’+Ý)2Gl‰¢ó·Öçû•<Üð‚P=k³¿|KÃÛà¬# ݼ«Yuãèì2¹ÎçAéDb±â%:bx¡·ÁžÙPÎuM"úuRßEþëèF|þf¿ÓÎè]špÆ_©=”\v8Ð@@Jõ%›ãLéòb.>¦IÇ¥Üýß‘2Fv× êòïÙm¿8ßC3‘΃ .?鱯Íq]“ÅðExa…ür÷û“]¸€\@!ýÜûžé íØHÀ©ÿщ¨FèêÞI+aÔ½ÛýÇ‘ue~wIÆLØ2†b—¿Õ¾ ƒ¢Õ³d>=¨±Õ¸ ±‹,±ŠÊåNÓ¹þNCNÁzüºÿb…5Ûä7+}ù.ÀnQ?ÈXiݹX@âÔK­Ì"°äd_: „ÖôYép6m!’CH]ee}£üuHí™é“?´w'z¤HçÀVRBØê˜üâ?ùàOC’œ¨²zba*ƒÿN—½¬é›Ø^5©r¢“Ÿ5:¿SuX¢ÓÞìc1cÙ­»5båÖ¦’5¥Ðø^™@åç_1rKÏ¡œ¾ —BÊÙ±Ó‘Uh:W`Ôe¸¯ˆnÎ寭²òYL&" ã8¡÷ün•`TAÌ|Hò¯6G»cKÂ~HY]¯Aj0ª)Ù6í¬ƒG©IM¤ïÍxIw XÉ6ê&k~·ûú}Ï«Õß$ Ùn‘n·ÿ4sÿ·+ÖN‡_ °çÇÙ¯"¥ç-{ߟÝÐiLœ¡2ží[2n ’ÅûïžA÷} Éôýà*·nk˜ã¶òPo˜i‚4x[Ã…Ë.¬¼{â éO÷"Š>Q rʰõ,+t°•/iàÜ­+ÌÍ<7¦}Y ›X0¤]kŇCì÷Þ+æJ?S/…œ>X0,òÕezgiQt´EfD€Œß{=-ñs½1—]"}¶›u ¿Í[8‰£Ý ¶ÅLKÕχ '3lñÅ@šm)l®Þ0×öóß^<³~Ñl&m5SöEì'êJÛ0Í Öˆ£CÏ¿éüUX½Öbâ)!_éU¢á§UŒø*"™–QÞ‹ÛËÁ *UÅ)ò¡QV„¿Ó·rU}»¼Êãß«79yžt¾µkò¼×«¶âN‘ÀAÙéºZP¹§¯ì E×Ã/ƒÂVÎ%˜ÝÑï܉B_2^`+ãs(]cf=/Ww/au•Gdê€äNstq š5¿ô{·KQ–L–VQç_¸P’ì4¡´jü„.Ä åW\æ’€kPN8dÙ#ã X¶šðAöguJ© O9búœ¯¿ˆ=r9ÃÖ¦Ýå’ß¹’3~¬Fì}$Ô!Q×EV–ÄÜ=wÕhkö9EõÖü‡$j­–}¥>Bkî8®æ æZ<Þ‹ødÒß/‚»Ù9*h|N³k¬íñÓñiZ ¼øÐ‡`€š|cÝœ*oÐÿaN€:>®)Ó¡ Æ¢òX té¾Í= ·A¦\Å~î5W¥Ž0ƒöSäú‡ ˆuM ñ1­6f–T,cOTæcÅTO,\- f hIi”o°Äè¾p£ßŸ?=m¦)"iWà})%Í¥×½=q/¯+ã[³iª~`Õ8óÄ §Ï8ŒE†«x™ë,6çGE)‹º§m˜EŠõ7h¾CÂ>ÚXZj-†1xw€õÝxžê÷¢·Ŷ̫Éö¶#U;Ãð *³/»œDˆô­¿Ö¹pÐDi }îD¤õÖ¨ëã|ÕK±š¶ò8w_@Uùo÷ɸisY^c& ‘k‘tì…ÿ.Í–Ó}êjùìAÝ8¶ g MOSß³„ƒú'<“©€„—r;jøÖÕ÷5ä¸ÎrÇÖûG¬HiÏ´×Z¹ ”È1ŠæîO­ÒاûÅ#c ØWÔ BRƒ¯sw÷ 0¹J½’‚&ʘH>Í}Qsš0±ú/ÿêgŸg€‹»-¶&¯M±v‹]P;Äõôvðæfë&ıœO†r²œÄÎD,L¸–õÛ}m ÷—@ÛWTñ¾$TD Ô§ªÜôž9þŠô­Æ’¾¬¨šñî×áäCÛ#ˆb|ìdbl;e ýÙäëøt¨­|›Ó¾”WIÔ¢"*ár¿µm8…?-LЯ`¾¶37×ÒgbmæÉfc/J§ÊþPjü¢wÖùz8ùûˆÈ!ì)àØàÙÖ膤`¾;ßògd¼jrãØlM 퇎ó왜çŒ)4&¡qáŠ@okì²¶îµÛ’†AÙû²˜p±Zhæ‘%³;˜h×p Ž¡ë馪z+B¦E»õFê…XMÌC2½®ÞÊɦû­i‘(ü m¸G=MÔ°û'¹õÓÙý?¤>éd2<ßY:¥ P‰h'Õg äflÚIÓÇ\ºñd Æ$G%gã連úV¶9+ó‰cÕ ä‘²ºÞÌv”#–´hDd:B§’D²†í5 áiáù<%ØÚÑœañxÐ- )®‘ê½&]Ôñ‚‡èD•:ÇÉÓx> Vp ablï)$4Z°A§çk€Ø¬F#â÷r ‰ðÌ4Ò58J3»qֳݟTÔ"ùŒÁî/Aµ!˜Q¯i¬Cú! D$uvD,¬ôÒO%fGŽÿa‰†k„¾*™2‹vì_yL¶ƒP®¦W³•Ü+C58«S5öKÌÂ2,ÊÆ¨¯]ÚÄÝs V™Ä–vó{Xx<Æo?U,Ð;=ÄÜ·&ÍžõÐP©õéZœlm8¯ã.!ÕìÚÎjJŸÿ5'ƒV ­™ŽO×DÁúßýƒp¸ÃƒIÆޤ/å×–„zX7q>i ›¾"¾Z/*MÿùF_‹·Àl¾Ô6C|ízŸïØdùø\‚-;ø3WÐÓ\4š<ezŵÞ-‡¥yp—µph|TYÈn¬K%9ϯ£ú?M’\{å74¯_Ƭ’ªÝ'=Æ^Ñ^ÖXÄŒ«1×Wë†Éiwëxo ®-„x5‘Њ<0½ˆ›–¦êú[ǯq«®:õ² ÛÍ+ÛF¶jï»B>ð< /¸³Õç¢HüßDš‘Ñh® EdìÊz®>ä­§Áh ¿"‚‰Á(XE!ü5‰Â4 ÈþõWî¶ÿâqxH¹ ʵsS¡Áh÷ÓõªUwÚY²Àãâ}ð!ƒ¡ë¯'IÙfê;x?ÒÎeÞ®85^%Û$N¡R ¥,ú¹|Zväšœ¸Ý‚˜=·ç4-^)uÿÜjŠÅ¥IÉí<•ïè̺B¦8T~P†¡Î¸8ÐOã?¶áT &këábvrÄcŒ®{E$ |·ñ\Ú ¶òºˆ1ê©ðvqÛ’·¹©­k2ÿ\©8‡—À_#ßİڜb±º$ÎÂöNó¦ÈÚ+š¿|ÿ|›(Míà¬çëÕ– iõfí,€G„?»{ðÈw?§lK‰ýÁÃZ<)z(°µ‰Ê²õ"Dý‘IÝ»ÌäG°í½·é8Ó£°€Ç¢>À¦µg„?Üy=†¼æµT7’ 8‘VÙÚíù”gìÐx(&qޏÝþŒü‹ój ˆ_ÃÔ"UðVðå,Ë»ÀzÇ u{qæ¬Éylƒ/)Íã¼wÁË/ƒøå $‰£ß«rвÓS| £pm°Hí]áÊÁüA\KI0%mIã_4MÈ“Æ\/xÀD( ÿ¯ªÒŠó¦ÛyÕò+Pé‚Jep÷=&ˆëñ#?Èr¡ÃRc‚-šî!öŠ¦Ãš|ñ%çÝÏØeÕ´à€zán¾0uØÑt!ü¿’xÕé>d¦™ýË+Ì· -ícéTZƒîܦÿàdIûš «øæS((SŸWb†“çOàxÀêŸd.µìöúhÖ]ë>ÔsåŸY ZÑŧÃÄeù¹;Œ!~rȬ@wYqö£ß–¥lÛo}õ÷ '-‘yQó2Ʋ¶:ÌâAöQ¥:Ñïß Mh[e®ÿ¼qî?†šúe ($‹-¨:Ò|Ç_ÃÆ •T•ËzS,Ⴣg1P7žn‘¦O…û ¿µ²pí^}!dEšõ¸Öi´ \÷C,IÛ—Š®_µ¸Y³×ôÔùFúÏhýÄSöÃ% ;£¦¾`ż&+>–fÔG¸b¬óˆ€9 #–Ðf-*çÙÁùÍvÚ=40>}‘!d7¢Üd^]¶ªøEŠQje*u™¢QÅ¥8¿íË‘u[ÙLÏiq4˜iþA$è®+¬InN±þÜ !à~ue&T F~¢2õ‰Ækž)kR€xÕ_¾ KÖQqQÿ6³6zŒaù»µ·é²­`¶W¨ß‚üz™ñe¾®z$‹“zD~÷ᾂrå†á„ôK«Ö1kfæû^žAF»åªœ›Ù<ÒûÔ4ØûG6G½‘^ãi’R‡@99Žñø]°¾N?…9áKW(V"eÄS\²x†µÊ„sµ´ÞšÈ” øÐ!B;[Vë[Øê¬ñ%5Köjœ[¿g9‰¼¨«V>P¸Ä9À$,^ E€ZL£EÚ²üÊæ]°K ‹Šõ¸hÂù3OpÕŽíô<ÏÄ—dì’¢ÝØïâ‚).ˆ×ó¥-dó&Lì׿[1¿H•}÷suâ.ñÞ-,‡‘À!»/SIS“àtû *žÓ¢Œà!ûUÚv;è± L3RBë›p„È=Xì}±ÂÒZ. ý™u*±EÆEÈu"ZwGmÞæC¤Œú¹SìtdQg¢vk”_´Nµ€þ–¦¢¬"F–‡ FÇ>?ÀºìK®ÎÒryð>X±ÝÄXgw"$1ßÀ*åÚ{Á¾* ‹£A÷yj ÔGÒ-qŠ»’¾k¶–ÄhqH5}µ,7 |‡áRÛù"åO–3 ŵ=¼¹â[cJ?”Ã4!²šlv>Ü®8[€„yÊ¥êã†~FX d¤ØU[/;ûŸ³[’-gt;Fà|~†ÈYæ3\áuIù ü¸×.‚§¹'å7¿*”ÒëßÅKYc ;ÿ5ÏLÀ>:xªÈg=¾IOÉèY3ÞYððP¶¯ †¯¦ç)%v“ßmáS÷åê‘˹»i¦âuÿ€Ç‚¹Ös}#ß!èi{J& µ2æÙ[“·¶Ÿ²þ›¹Û‡eâJ’Püòâ¸Ü÷8»s†ƒJ†§¨UÍ^U§ÔõËf˜›4ž‹‡¹p$6õÚú¯J6‚×3út·/5?fž+ÉF‘*ˆI!Z>ÂRýŠjSD'•…íàÛ*‰QôÁ¤c[Q'æ»ú2˜{µ1}¹$ó v’¾m!^„óïÙ›%‡y)þ»½¤˜^mhbt«×uµ Ôqv A·ùŸ$X’t¬÷ ‹ †KÉ7 5=MwŽæóÁ ¹çBTš E E[»X>ÛÈîá$ß|¯Ÿ1¦‰Û…7>Ç{×âU¬ŠcÈ\ 2*‡ï1Ÿâj4Yj™5ЛV!?ùí<¬ŒÐ¶ãúÒ“îÒFÖPô6ݾuY©ãjuWékB‚cª»¦™ìëÝš™¹u6müª‘A†‰À!%²Ûew[°•S*cb£çÀw ™]žn¯Ô³oøR2À±¾Z_Ï1ªÌ(°e!½Eì¤)öKºl°Çï%iÍ»ãµN‹ÔÐÙÈè„îÒŒ7 áWYär¥Ìâ6ÇóX ': äô“›ŠaZ4©±ðD{|à^Þ߈Š@× ý$VŒC°žÉ>D£‘&sî'OŠ‹H„€ÎK§y\é¶…À•Q¿g_Y3“¹fÇ$:6À)È©YtV®µýMx÷›“¯îs ´V¹Áû>*1Æ~}><³7¤ºe­Àßyîiõ⮸›ïg‚ý¿ѲÊU™Ë„ímÍøŸ‚_€ æí@‚jà;ÕîLædw§‹z”jÕ-[ªÍy-ÏÕ߯?)Œbµ"$)sÁ/ãdüÙd/ãq '¹³99X–VïÛõ QP¥:ÓtÅûÚ…Q¦AËc¡ Pû&l"¿õç-Íâ¼™ŸöÊ„¾×/uJËê,ê!¯‚ Ý „ÿÙäSÃ2œïÓ¸ÑøvÙ#Œ!_í–ƒèü}lQˆNpÛ’ÈM­ýJüx˜ù+eyC…¶%²%¾Â¡â¹Ë±çOcz¹ûê0¡rîAòökžýZ\(:@žsºiRI­àõÃÃé6]˜3[¼°ßáÓÄŠ`È_1Þ°›æ«ûÜgúÕE2¶Q›Y±w²­ÍÍcߥbàü•oí8¶ZtêM^{¡”]È"öVµêIEûJðýŒêYgǵ.iœ…CÇñl0“…Môм9‹¡v%ÈVsW8Œ–ºÊ»Â8ÓüØâ釹Xârle•æiiœ!;ÓíôQÎìŒkéD¶ kÉfx;ù!ßSh ÷d†B`رýc“ù-°®ð[ìÓÍ»èj†ÝbõÞµ½)8Xg!£¨°ã×§¸ÅÀ([çÖÓ’á­NWfH¦K—\A³ÇÃTg.‡õy£\UtJ¤\ŠÇ¤”Ý×ý F뤴a~ÿñÍÊP¹oÛá2uDöPHq3§,aS C±Ri»ª;búùU®ÌŠ_ò–ÌÍ)oŠ ‚ÊÖĈ¢wKø³^ÙIñ­sÉ™ˆÀ%™jžGuÝ[[á v‘ZA÷<Þ—òü‰Ro±‘”8O~ý "nã‡_ó~.er ÈxlÉQ8?ÝYµ¥Ì¯oí$/Ð3¬ïÉÕ¸ÄãXOH…Æú *Dýœs3õ%¥·pªœ£yê¡ß8”ˆ…¸ØHóI ¹TõIÑÆ”ƒy¾5ÚŽãûgšUÂjøòÃ-öL÷„ûP!ø´l¿c¥]c¯ {R—>ÌëÇ}YÒçŸ]ZàH¼ÇÒ¶S9šcÏÂÇ܈+áVWLgú4xUçgâ«1¾o®’(ãb쯰ÏÎG‘Úßù mÇ4È«0F´j‘¸Ò™%fÑÖ ­-ÿB|çÀ~*ë¾7À€˜’r€Ü _Lºïž˜O­êñÕ¶ $z‹R=»´ÇA@KR>ä"b“äY€Ú^EpßYG.2q4®Y P‚)–'YEÌ)(ôUÐöç9kòÍu`U ‰vÖ¯uÎ[–ÉÄÿÀ/£Cy/}OV] Ö+! ƒË´iS‘´L›BÿAøþ⡙g’â:ñƒ{epha{AÓ2t+ª‰ìobž«ÛVÐ|ªzC¹Q›´fóKØ44õ5ctB›i—‹¦´k¸CSÁ3KÑ/©å]M]TbÕ&ñ±ƒGÚ©ÎΊ³ >J‚u‡Ó»«öj‹’VK6™õ1ûót~°2M#`m‡6 ù·—"¼¸ìXí+~ì/r¿ù“V^¸þ_Ég4ì•åžÅ¤f^A¨d?B-¤ûÍ·(hÅ J!ÞÞGéÿ­|«öÒ‰Aå¥ô|˜!öpüR[b¾3½µþ€dXž‘ÅxNÜ‹ÿÓb½±ûÛË¡ÃuÔŸÛÅÅï]©ÑïÐÓß8§’94~= “âéˆnŠ Tt¾¯O·¹)É“t‡Ù*ŒË÷D]¿ K`Sš‘2eÓ5{¯j/Íz«ÂM?Spt ëÛ"íöçþ‚¾ýÇoP¦–c/߇ÛbÄøÞŠ—Å-•ÉÄ/5®Ãù¢(D(´üTü†=ž¡^ÀÉñ“8Ýæ|Hà°Ïr_+'„¦>,sñK·d5;Ï$íð3þ;R·^ßÈÊ¢Cž-™âujTõ\ñ ù›t³Yûù7Ìó«CòöËzÌK4š5öϰU¨üƒ³fÙÓ˜?žo¾Ø–aü|U PV:Pc2ÖÚ9S{ë£ùÛ<±ñy…~® å{ø,º#Û°¥«eü†øWprhQ(ï‰ø†bŠç» Æ§‹5ùžh¹™bM%>R_»Joqrµ )ಭw„~¥ÌßÃRw´Ýñ|>ZŒ2è-õ áÿ2ARßzÜîÙþY¤ }•WGÈÌû}@ï\¨,¤:Fjzß1VŽâW«îQ’Îц1«ØcÏf”±8`®{WlýÊ+&-aÈ_Ý×V•u€šV‚º’û_&a;çÓò÷óNúÝð”DZ£a ‰`<>*¡Jâ­S}“Tuµ¿Î¥&côRæé@1˜8¾uÿ,‰ã3óækX=“Pc-« ªŸ£Œ çªê¹1÷ŪÄÖ ›Œ\Èq`ØÅFÕæoˆ2$Ïúˆ@D1F÷Y¼+,™±ED[ E'ª²‹ÇKwš§m_²­F¬çˆ?©óðzõÐr¦Œ‡Tg&¡A·ëC:Pû| ¬‘á†ÊªA2ñ¿6»—SUþßVУÙ§O}h]£øÇyiжç ùá nž"—Ê}ŽàÙﺜ(N°Rz®ñŸ9p®Î0ˆYƒöÒ„(AèE£0ºþû"óDk±û5¤X^¢  >Œ¶’`ýæ³]à. «¨ìbúîÈà7"Ut1 ¡ÿñ/»A€Óû+SdCŒ rS]“ÂV \tMàøÍ’/A^gáÄ3bUö‰e~ãàÎ z2Æéêìä~¯ ø‰Y1Ðtü¼ Ú¬sÀ…%x¶F=S— }{Mp ŸLÓ|¤†Õhwüé¤5ò×H‡† ýËóI€­äQãy¡2#'ØGºjⱫš´Y3‚¢ëÝxÑ{ÔógHj{ý4ª U{‘CÙ²—ÔhÈùÄë’#ÏCÖiä|wå€á£Ñÿ°ÒÁrã8-ÿ]‘@ ÓXBf¡MðsLØjD_Ìô?Ž˜±ÈíR¹duGõÆ´›¥šÍ•¢„ñ‡·Þñ‘ó3§áé@AèÆ˜þôNʾ½Í88—A^{f𬱠­gÌÊšÒBì¤nƒe¢PHà,2cb(œa+rj¯ºyôVÈ}õEÌØÂóIX}qBZ2«LmxœÈ'oN˜ò [p5kyi2×ç=îÉ…Îe1RzC2§øÅ•÷4vý~¨ß’à–LG)º¢’•|´”H©ðT¨Ðç‘1•˜|¹­9™̰(-UÆÜʹ´?xôWºziƒw•n¡dþ‘€V|ŒòQ•ÄŠÊ0n.¸ÌäAmwx_Çã9qÛÛ£Úè—á*:Å¡$¯OÿhàclðóXÐ9DuU´ýÀ+0—ïÙ‰ nïÇÇ»…—:‡üFcA©’k´BšóUq€°¤Ê6ti%@—î)Äy~ó!OÞžæÒˆd¾à¹Iãî* bçä*HËln€~¯Ž—âóÎT2“bqÄÝK1Ì!×Ò Ž\ï‡ë QnSЮ¯Òòù°‹–~£İgæ0êŠÇ[c™ˆ#»º}±#¸Çýds×@û!çФg#Ûñ'2Š1÷ôH$ßÔ€•îS@£ÍºN½N/Žƒð¾ã„‘êJ@FHàY¤—*›Ia·95ÕÒÇËNò Ûü1²ÌåøJIgLp˜yŸ_E‚ؽ~ñ~i‹„•s™Þø½ÄùÒÔ3}uÐ ¤¶R ƒÖéö5 eùâµø¢9Ãy~Vj…ÀªÛ#€T”œ1–bF¡ëç´Ü63N_‘¦ªâDAy»ýÁçiçÅ Q~:$¼‰H‘úºã¢ {KWÉEQº\t¸•Îôè(Ò+Ÿÿ Vø—¢yµSYÏzY xñž> &5£†qªûsð2Dª:»‚ö¿‘Õ›wœ*ðüë8AßË—“\¨’l‘Y#›\>©©E=ÂÝÝâXZyI@9îv];k¨×®ù[;Ç0Ù(í÷@¢•ó‚Í„xŒ`jЉyÖâ{}=MR6§M—`¯k}æ4µ_,/9èñL 3Ðu´qÓIÿ-Μ÷ܚ祭ÝD¯wΟ>ÛxÛ”Z Ö»6_¼­ƒcKhˆT|¥0 Ó­s—zà`€_%‹©÷\Lg;]ÃË%ØÜ‚+7=~™ø’ú‹:|.%´‡ ¢ûš…'óô=Á¹?ˆk=Å7„•‰ñ»°÷~̳iºû^]†LÚuSÞæCø~;k>9”V¢WÛôWkÓ}.Ak¹èñćeEÕ` DÎËalQÁpRc»ô³ »‰z! ]ðÒ@çaüáoÍ$kRHò–lF+-Rj:9@¹áq±ÕÌ}¥t ¸’í)+û¶O ÈÌŠÊÆÉ¡k•ÓX<'^UœJ|!3Å‹ôxñrfÖë”Kçþcê%»ÒËñ«•ÿ¡Íôôç÷W¨Œë]¯d½«ð'©Úþƒ,5ˆB×Á7Bçm¥i•#­°·jGŸšW/N²³O)iç”»¥Ÿ"L`XСT•d/ÆŠûˆÀeú«=iyc¯åçÁ9n7îoòx‘W­dÕDZ±eIʼ0}©|§+˜ž ô%Œ´õ»ð–m |ùVÌÓç-×ðq6Ád=Zðš¥n?° ¥iÖ@èÊBtQpºpÁïàQt!Ð7¬©£Ê¶çï‚¢åï·šSK¶^þÚ4Kˆ'»ù sø<$ IÅ‹‡°så¸õÑ;^m `ˆ069~cËj—òYó/ƒë¢ªqFˆ’Ã#|³Š $@¾øŠÖ ï¼{˜1êAçífš.ý6:¦#{S³,à™ tK–Úa÷:vº)Š×,˜ØØŽ˜ìå8‚ÌVcuê¿iS°­5¸¸RóÕ¿V8ëN;øHuô©s7ÇY;ŒålàÒæ®¾N¸¹Îúòh© §…Ê׊ItE¢¿šVIsÎÄÆn^ãRû¨–÷ÒDLôcã “èÊų²DçC=¨~On ¾áš÷)åg¤%¶XA›½µj¿æ×Dúp‚âôëˆÛ&€ØÌ9€aÖ†”,™uÐhº6ßø…ÜL‡u‚c÷ìËŽÁ±‚AœÙBÜÆÎ ‡’¹Ú·4ä…Îjê]î1˜©a;ïÖ‘ƒu%ZàaóoÍý5f½¬ªFïùÅÎýi€atª|= m–=J³5  +YêJ: «;qÿjúµ/EÔiM5Î%ð´6­_DÝPð¡>µ¿ká¾ÊÞßÝ- ÞÇ\D$ƒ Õ•Ù¬õ&ÅõtÀ¾µÛWRŠôÇFFaéù·ü:ÆGš·™·ó[/j³ø[=u¥¹UÒ§Ù¼v>IÆD Ç›YHWW»Ö/aºÚ¶NOÝ7Á†èûÎìZ ÕáüR"å 3 €ãÍ‹¸{ã=ú|»Êë×¼tJý¶±ëch^}oðvÕÇ9çxz¯Ä[Òw6ÿ bd&5ðg€/3MÿÞ¶_ؤæó(^‰ñfée¹«Y |Ö ä‹“YüÐÇï—\€oüeP…Ÿ!<é¢pW[?FÏ`DßQU)lèÍ,ø¢AÀu;·†ýTMÅXKûÓ=-š&£a÷ÀÑÀ¥ažA+<œ”×à7Fð‚îF°“àEFÀ×ðé ¹)/mY{‡jNkâÞI•h0«é›.@¹”I°ú/'À¹¡‚óƒÂ(x¢¯ŸÉN˜sÆ7$ÄÔnWà¯Ý"u”ÝU;ó±ìµ\2¼Çø+DlÜi6Du³Qfh£¥YYÙ?X׊|ñ¿Í­6¡׫ Ö+(,U*¼:D¤/™î)ËzžBnu”dZWo³‡¥àà{$îÞ 8’FÞªM±iÅ·iÔ½%Û.™tØwƒ3‘÷A‘`4ŸAäjòuZ¾¬pÂG$¿‡{iä*VÄóÀ+¢Lè(4®´n&§Ü²OÍ4Þ§Ž~£¢®w½FǤv†7¨âZçë‡Ð¶Öwè>GŸÜ 4úuÛYDܰ®Ü&o.ÊN Aîø bF–¡ìAÔ‡XÛ5©KÛáøvº>•V:X¬‡gè¦Óc›7*+æóÞû6\VªIN{E¬v Øfxçøppç°_D‚Gõ·GAèmEBÖ½”ýiÿR^Ðá;6hZ‰³Ws4RT|MD8çŸ[ŽG ‹ŠRÁ¦<‹%XíK¾«B>¤9w‘á–øL“E›¯YÚvo;(( ÛKçÚaò^wb™"s:3lOж4 ^;B…^žã-ñø¹cvxî;¢g2a º¸v¼ø2(…§¥¸NQWeÄ o`ºHMJ¸åN0ç8u—Àð]gI.¤JFz`R.ÍâA½*òè£Lö‚¯7t¾þ‰#™-,ý½sé)'{—9JLë³&@1Á&âùˆýÖ,ïЯ‹Ú1/™”<4”‚ZR|èqv(°«`*A™¡fw{E%T÷«¸$tÿ ¨½EÁÊ1Ó.Ý |y¿®Û:Þ%2¡n²2âHûþÐk82ÆZô³&S~?Š ŸŒ€óv[:D¤6”îO(tþ Ø34,z§ró³zaMÃÃábt8ȤkÜ»€/i}nÝdXʶÛqW ulxàçv/FýÚ@OĘYßoÀ¼8žñy–è¥z?Ó¶›yÒg·;3Ì>!*»B1A¼Ð6PàÊÕÒ"‡üòäˆ|/h’6†'#ºÕY´YËd…Ü[P•ö3ØXÌnV“%eð†«®;ÉÒ¹F®ÕÛïÃw"mˆ|ÊÍR¼ÔaÖæEV«®kZZctÆð‰O³ UÞÂ÷+X/ð´J@ˆá_q£- —,ñ¡a„¿|“ŠŸ¾D”ן´ ĺÈì5NWìÜß«‡èé˜VHì4@–óªÝJí° O`fX›ÍØÅÁœ•YòP»rœbãýTµÅ™×SèÌÛñã‘]²”ÿµ“æ4Úµl·fÞ'Ç@¡¸îEê]Þ.|¨X\@S%°rÁò´S8ëÖ j>5IUÙ[ÃÈÍ„ˆààõ3ðÏ·Nq…Ëïg”\*9÷H™f5=E(nQ/7m™) ÃÎIE_|+žõ‹À°Ÿ ucp]Wåâ„#~S¹Õ°aC߬î ñÝ3N@ê¦P`«Ho }€ºÒùsÿꮉ4 ÑÉ0už´N¡š–´<œ9Õu½¶¸õJbé³7v Í8ŽÕrcÎà霯9†W>T E;vŸÑPàV‡ß£Ù8FöyXÿÝíiH¡!ê~Ÿ¶N‡=ÃlCÞƒd6v«®¦F”l ™I]G¤W4¼+Úo¹NÇ}«¶7u™„Sym,ÜG?³øÏ*íHëÐ ¤].r…vŽýg·…]ˆ—Ú²Lÿ8퉴AÇÔ×oÊ|bAú af(&Ç\ˆŒÊÑáÁwßIµö-üÿ‘‚ètê™4µôÈUZ‰t8^± j~‡‡*Ûµ»€p3‹Bžb˜» sŽä°°l‚!¾,ʽÄ"º21 ¿T Ž+z0’Ô•¶·& ­òÚÊîídÅô€*ô{˜&k¯‚hMm%ƒÂòcìb² ö…IoÂ+G‡ÝhÓé5Â';ÒÙŠ°E¢0ºr2ª´C9›}¨,Àes2Æ•û@Õ*lî!ÝÖ>~$£Ù§pÿŠ=âàvÚÎÏåVÜ)nó#c²sÖ<¸P-Vø8-gИ ÀˆÿÞ~.Hj@3æ ÔKFFÁV(ƒÂ‹Àÿ~{#žì«0ýÌçmT(0ôT‘ õœ€eozK$Ÿ›ê£$“,>“Ðn•,ÐIÞúÁŽ¢‡ì~•Â38±ø¹wc=s¨@y,¢çú²Ù§ðýœ–ô?c¯ÕûËgf¼9lÎÝÕ[ƒ‘ÍW=-ŠMšúÕZ­\3ý¸m¦::øQHÌ@YZ¾"-YHûŸ4ÍXQW‡´=$Š˜ÛúÖ¨ cº$®TzWoÈñB wxôu¢:¯W }¢³$£%Ê”Ü*lšàè2óT(ñ‘—+O ÕÉ ‡S”j«+5—C½Ô’鎂„<8l$V†‹t¬ëe6©Ç°o‘¥OöP‰ v3|Z“#¶ŒŠ^¨¿TÀ-Pžªñý›Ñ_ V\ƒ ½›â’î‘– … O˜Aô@üqW˜4.IGèý[Í_,SÊO¾-°I‚•i‘3ýCr®“o;Ó¶9½oÎÿ¯Ç•*^ļ1½8{¹´lÉ^a\n†\IɆ"ióæë)CÌ¢^ß»$)ï‰Òâ9Ä44繪LlË¡eÔ –î¿Ôv“‚DÎõ†Ú\×Û=*KÞSÅ*û’‰©±gNžyBö’öâ£PNïNÕ­=&Ql›@+`Ž ®kòî|Ïœ…AÝ.ô;#²³Á¥;FïÏ‚ßã]•ëØ¦×¨åV”ÿ9ðÃiä7@¤‚¨ßŒ†%µ¡÷o@5Èrλ‘ÌàÑ{‰5KKŽ´ÓJ ²ÇN¤†”ÅŒ™@Ï%Õ•Á»B{­L–æ|€> ÀŒŒ™¹`$ž&NoÁ¯Šhe~òSg Ëì×nã9’8_wêg,rûÀ&Áw9v¸jY¢úÖ˜¬(¶œ DÙkQ “Ñ.!ƧͲRÿK¦Ì¡ç<<ÿŠö‡w618׋ÄtCïÆ5ÐÎMcšßQ\gµ÷'¹XÂlìO“sìE€O¥Þ™´ú¶“¦\ÍYF¹$ä2¢Ššl×…K™v¹и 2ËÚád.3ƒx19HlЀ‚‘ Ÿ ‹Ø¦•“npWÅôrãUëú¬u% ÝG{±ë¾ª˜îU†‡ˆý*Ú ÕÉ (csÅ,ž; z„6¹%é%ÉË uvÆ@D  …®Jbb‰­Ö—Ïé•E ÄÀWÁN+Ëž{pû}M¾ÄMƒö˜1µ¶.jÒ( ùÿ]·–øeÅw‚Ñ´6躭Æ÷ÏXé5NHeÿOfŠ„3² Xh–(¹1d”-]N0ªÈ85iU®f`MWÀ›º%q\ðø‡âèúDxoo)ê›pj—ó²ja_øß¶Á 펩íýÓ9…L éqÏ:Ù92~½yœ2{ÚùÓ¼ì|KXûÀ£ESMÙ¬óaÆ*èø’Ö¸Cý7ÚÎÊõÉö!/©¼“ÑñuÔ³™c½GÄDh|¤«)“jd]87®„#¯ ^Úý\U0kŒX5)>Å·þ¤Îʶˆ'@½½©£ö}¬ËGeý/ôŠã€L7}~ÿACå蟣>¢TVüÞ3SÅ€Ê&)ZêH?bÖz} š<{Ÿ,»=G€o&ì9B´F·JY/D™òŽˆü±¤¼× dsô(ÊVÙ)}"E ‰lH’8ç¿$ÄðdÎáevÚ*»Ý¾rà2 “¾H;ƒLkX.Lv“O_Hìÿ¡Ãwûå‘ÜáM!´^RÑœBG5s=¤Q\þ¥&„` Èa;¡Â’rz*Ž.Ð3Èpf¦N-ŠŒŽØí§!Ó?-ÜÐÿ&ß ÛÅQö-“À1ïwÚ‚§ßõG^#Áªù®ƒæði/*‰W §R£ €úWŒ×xÇ>Ûyogé39ü˜³>ÏÒÙvåñì˯µÁ£Pfujjá™®”§¢Å©’æGà` =dI©e)ËäØ1º¢ûKØi0ÄíœãõA5ª—SaEÒJæÞK'¸{n_Äa϶ròÈeϲ{Mî|EÉ ˆÑ+¦ÏzŠa(Œlyllm¡å±1×G:êÏ{Í]T`.Ux FHÇô¦£Ÿâ^£¥*Й†âãÀ¦›Ybúhö[ð;¦ã ½öª4àm ×–Ïž°UcV±›iùÀ¤Øƒô(ðýßÈâ·ÁqŒýØï¼êúÑý“"rÀ¯Óý@ÈÔaÊËmCœødñÙ$G€êy¤Foˆ[H1ñM™¿«EY˜ £QpCq^ÀLi´#Ù0Â~ÉeÈ,”\÷vëfxæ‚W#» R1›ª wº”Ÿ Èè>†üÒÅĵìÿ'áB~Êõ¤Î0ÿ`ŒãK½`µOá€xUöýôêµê¦ãMïP¹–§Z’¨µ_Nå”4úÍš˜êx«•Gæ)}uNqú‡/üÞ¦’¥Aà 9ªCÓ šMUb7ÈDr,YÖ¿¨B×å§½Z®:;ÉþSߟxðÑæ+ƒ†k}V„vA¥VZé¼A]­ ˜È/Á7ô‰6Ò»—Ž}í[âeqÅ&a‹ …Å{Œ;7ÁhÙ„°6Ÿ.> ë$E~M-VzW— œÝúÐnM 2~ˆ¼ ¶I§í,µ7/ÑŠj”¤…Ù"âaIS^¤·÷ˆÏð€Ä†›J¥tèƒAEŽ{uô 'ëöX]Š™ê² ºœß&hÅé·®-Šû)–âG_ (eÓÖ'™«,?ú_A±à‘… ò!Ü/ Gg˜ÁÜ"àŲ8ò+¹ï< 7ë]ÓÛ®y·³sšJÃ`Šò°âÛê ¯ µÏ"ÈÑ^:ðŽŠª´P#€•"‘Eñ¸MÁ T{æé$«ýðüN„;µ¸e­¾7dèãÅè·ï€Mfñ±ÂOãꜲFY£«»ÿuü´°ÔO÷Ëõv-Ö»òÚ–óåa†é`rÕˆSí–’µˆ ÙýüæŽtû­¯]Åy•ÝÃ÷Ó’¸çÙ%¸¡ ç’©A;I{Ó?ä˜NLü$ÑPÆ*M©8 k7|[Un¦M%¿§öC™5«ZâÆ`§5©´¦R:ö%qš·~ÆåÅtί®àLFúÙ14OHJB7m2Ô.§Ã]L“DäyS‚‚.ÖŠ‰àü6dxÍã!k :…Ÿ"_Ñ/çUó;³~)’¯9ÑAqÃþÕÒ€ ó4ùù z¦…ì2ÈŽ¡ë0™‰£¨û¶Ðó6îì|DF„2.RO8WŸteÛHár¸êØ·ÞG–ð©ŠØÍ¹‚0‘]¼(µ™U#¼iíi7ÃŒ.Þ½´Ç{Ìn‘Cf´­"V$\È“þòJ”ˆÀµî ‡‚˜ÁS¨}áåcó jjéy“£C¦sȈؤª 7*|¡§¾FêÊég;nTG㺠\c+×6 Ã=^æ$(Åp2ò™%(–ï &½WH5iÓ"šqº¿Ž $›ôÍÛ@©už!N׃Ž(«†+æx*QD~ñøöŸi·EÒÞëJÝdèÜY¸šì·à^U— (¯%G/] þ…B,÷•>¬ –ãä-—O®üPøo~Í0¬ uT÷ W!—F¢Ÿ;ãÚ ¨$dÏ6s Ú­yÌ÷ò„_Â×ôj}µLý#Z,.F.fp ñÇ;M®ó³3¨'…È#,éä¢ÀQX&üIÓ1°š4©Ë¥¥ ÎÏ>ªF–`m_@„žR‰6¶?Epß@ÆM/ê4·ÕøžwüZ©5ê™SÐÔ¾°GÔ×¶¦CË´ œŠÆ´ÉÇÅ€±rQ£>ÝÈÊ àrÂXûµ…OLoµz›é §{nÆ&}BíØ¡N¨ž¬N°69¤_eò¯~!š¾Õ1šÇ©úëÆÉ)|«.{wàîÏbÌØ†Ž ˜RÕ‹BE§Ì _ð¥ý›4˜aûÅ>Ûë–¦°SfuÅ“Ä[  “•ê3sâÄe×Gí¨”?–&‚³@[]üŽ?añyÖ"„óª!86ØÙf2~ îWK¿>ñtênµÑeàØûÅ$5:^5D’ aÚð5#ÌFwø׋¡ìqÜhæ«¶­÷Ø:éŸQÔ›W*Æ»w/1pD†LÄ(8 ¹äEêw„ÿ QÖ=\„–»°úœ& Énr«Sc¹Ãf3Îèõóïér4ºo .eŽSXèõP»ÂÿP0ñgDn°\%T ¬Â5àŽT‚’+óãwNÔ $×È= ªIe«R€;ß Xæ Äß”=Tb‹½23M`6IØãdt `ƒüŒ]UßõšññYÏ[š‹+õÄŠ\pƒSäU¾ Êùñ²«L| &TLpÇö‚ pB¡Õ„:›²Bßo­ÌCœRŠÀý15ÉQhôb¿©AuàÉtZÚü;Hâ2ý~£sÔÛ·ñؤÛsmµÅcÁk+Æ×‚^¤­{Úà(õÃʪC.&\¹—}ÊçÁ{×_6I ½ÎŒT¹_äKÞš±1ž Æ»v‘$‰9/òN âÃq#¢£× Xý¼QܨZEqšØ(¢Z„oª'èàð þÜÌL›;й ˆ<_|ΰ ©]‚|€ïùa»‰X¯ßü yZ¬xÒýnÉNRYÅžˆÖU¢騖Rªz6Llö])­Ï|v«Ä®¿¡2AȼÏòïܘýÛEGÂ{S’Æ ŸFv€›r–'ìg„HµV\Dø6¡‚ »G0-VÏa¸¡ý‡X¾]=šÐðåNAÚ{Dæ‹nëéX£xôy/g•›ÝìS8/1ü)åå59•š¼XÖÑsj6Ä¢âë._DÕóR0¡Gaš¡5†¨ÜWß)Um·ŒÀYôÛ„ W¹û1Q´z]g@9èÿËÛÖºÜ,Û—D‹¡™òp3³¬qRýˆ …Aiÿ1 xËr˜<é•´ ©¡8Á$—þ*2äc_€š6êŽRŠ åWsNŸ]ýHï@¶°¨õ¾ê4†ÑV€6g2°ÎÝwBµ%C³ÁÒµ*í¦ùÒ¥¡nýÂPõ0!¼âÍ ì8HMUX­­Èló>˜×ª`‰CHáMy‡Ç]×axF¶ d4e •ôSsÿÉ{:»Þ±¡…É÷kK "·KÝàƵ>°=ÝxP¬OÏÔþØãŠ8‹/P—¬¢O tXî»5™dˆ#ÛÂ4y¸^Í}t9@~uñäVC!&4çéôusÛh,þG«`¢)k¶·Èæ‘­Ÿº{ÿ Fž­·ñ¨f¼)€Œ\Sè ’S^¤¹ˆõ—IZ|ÁyAëeEuuaÉ]¡HqÌ]õº’ºš©Åædä‚^9z´Ö±£Ç§â®TË=q« mõþÔ¨ AGï\«>%®Û79LIÈÄ`’q劶 ˜MÏ({RÇñfw¿oñ¡•*!u׫z§¤4Áµ]ј¨‘‡ÚawÐ+`՛Д¾¢qóz÷*Óð½ý¿ÀAJ¯Â;ܰ4^ðÅRícfKF+¹I ŒÝiß{û¤÷“\ŸâüŒö$x<úÒüwµÏ–"Ž-NÚ‘`p11?üž/Í‹ÎízÒhâ_м÷KaÿN­®”†Wä d¡H³®Á“+µõº—}Ià“Š G_Q¯Ÿœ‰ ùAýGKgnÀÁŽ|Ÿ#½÷„IËO ¦Qñ*Lb"÷@‰8ÆsHÛD—j'»`QPÔ0ïgýz¾9ãø75Ÿ~Ý&X%qióu””ÞþWå­åʉ_è`™1ß\<Ž„‚>ž™å©ýÑõ¿ñ.+‚ÏÂmyâ:(VôÎÇO$Ëg èîÈ 9¦‰äò¹*¡ LWìJüˆ½íg6clÔ¶«a‡Dè¬ó(IÛù;DòÒiwšIøš- äÆã¾ÃY×h™,^A 9&Ø€|&ŒEúm'Ÿ»hf{šTZ".Š+´*ØòFgA|•ƒ•Ñ«˜‚’Jë¨Ph™Š‡ VêÚÉ·ß:}.×ßÕåy4×s©{ɯ±t+úà %Û½¢ÌÛN¹w|Lî%ñyð¬Ål…jå&ùukC¼ "û¿¥H0˜‰U~ê-€”KÔòö„ùR‰™A½0Ã> yCÃÐò%Ϙ}dY'ý„Þ¬8'5ÈÇYôÿÝ€Uš¢@uO±tóz”| D2úŸ–šüS ëº:Ö+ð‚Ä¡“Ý4#nU:¨àUx—„«»çŽ_‰F]˜rÞ÷òjæ|ù³¢ýñVhoÅzYIwKó»Q‰¢ZÉÇ/±3seÚrnæÍÀÕQ¶VãrЪ±.æ6& d?–\WÓóXb—Q2¡A2æ½´"Qùç¯9Íd`|!ŢœÓÍTSÕü;þAçÖ±þ?”±ŽÙËaÀy3øœ÷[³ó_2÷ƒUE¨â5h³0û5T H#§·µ2:EŒ‹æ—líì^Óû|D6kþ¿gId9ÎFÝú@\?õ=×цüJ´ðƒýËšêjmH»t %ƒ.|+î´íiÁ5žû¬=:t œÕ-bä ^ˆ×„ý´ h² ¥R±ŒÉž¼Š¼JTNç¸9ƒ*P ŒæÔnΨ0´ÏnŸ×Rl½`â ñk‚ÙLô‚Xýr ýëO=ÜàºW†Q¾*߆Z™·-Ó˜sÂÒî?ºdld&b)C òç¡ìæ¤Íì"pU*£O÷-®ÆÛ‡“›ùpJ»n´iI÷:ëËnH­ÔSpda-®5b{ y -8vª-7)ðò'µ6Cÿ½%86ö¯…õý-o?ç,‡Ã-ëŽÁN·5~XWòtVÐõ3±$áŒÏïû€Û¥y;2¢)f:ÎôCÛn#rS‹t!î½Ô¶p’»C4]æÛ5S‘‚œQ>R8’ ?á«jÎY/ñ×z%8¡×®ÏóKfjÌôK®Žt vofoPu•›OÏ–™hW¦è'­ÖØÃ­´JE»÷òíºú¯¼ÁWø°|þÛ¾ï^X&ÆàšNÅ@¡ öªå‰¨ùÁS9Û@ Ö×A¤ðຬM¤yQ±ô4ì2Zp¶¾êe/À±î1? œùmxå;h2¡ òâ?aAJrŸÍçH^Ás)ʈX ïí’,V@'ë³?²2‡ˆn¢â_—“zgí~°(´›µºJŸƒ.ðÛ¥´°<ðýIã:”MàùÓ ë#V°©|ÂÄ´_¿¦r5_#Ïa¾kÿ²žV^öýoÜ_:`¨Øk`¯V§Ï7÷·`¿:… {¿ò©V”lƒ">P1Û”'‘mÚÙ°mÝ@“œÍ£·>»ì7²)¹[.^àH³#hWqè¢>à )á¡ç¥¡§ÚÔOëöìtÇ$uÏL7K'C Цg±Ý™ÄÒµ¼ {1gç\ (×±¼eèü:",EõyƒV]Ø>Ò„²‚Ó›•8-S )}»N@“ÊX5-^¼(eh¤^ÞJK>9Ét )¶šHÃàú <)€@ï®×ofkŠ=Jèqx…pîÓÔ}™ Un—¹ºÐ>¿mÂò ±ÆKœôo ©Ÿ7æµtðPhëLŸ„ À{Ç’ØÅ YvZù‰¸™¢—B>WãëÂʺq´Á‹œŸ=ÄÍAü¤÷äôC_s¹ïÄæ73EŸ©ŒƒTkŠ">‹Kt5xdkØX„½ }JËþš¯l&ÝEyHoÆIgW$W˜DOšg Ι?è#2þ ß@,t+ ß ÿôb õ}Ž© Uê^Žö½ˆÈŒ‡Ë¾â‘ý$F6Ô#Ðcßµ°tìŸJ¹\+Œ3rr#¹œ—ó½Ü[УƒrrëLóÞÖ:aoÞQ¼0i|…¦L±ƒ}©·êi?cñ®6ÜÒòÊ?C'Ewèys‡2}'÷ªGtJ4ÄåÝ( çL6’×Ì|>²ú‘–ñn;:dòeÔRd$Ô¬¨Ð!²„1{4‘\@ 1¤8šéË6‚Z™£dì¶5°HL$íjxÚ¡>„V1ùžr €w<¸?<0+…`_Ƙb”’‚(Vþ;¦=B̓™pðî™”ÄÞ¾‡S^ÂÆÎ Ê|¤,qáT¹ãëä€d“­ l7¸x¬! ðj¥çlp•¡™@$9r×l×Ù¥¸ 'g¡ Aï–ç"…*ƒÞ£ 4…th±àæÔÌ+’ÿî÷Úñ¼Ër=†ëµSºŠ ~Áb hÌ8¸¾>}ú~ÛÊ¢¶• 5W¬„ÿásÊ+]fÕaô² í>¨1lËPËŸ-ŠL°6Xã‚ãÙ -ùE‹Ø F¬GIŽæ:„·"¾[Òí¯’–jâ*!S½ðÕÝ,U^lo+X€OäÏÊ­œsûtçÊZèÇ¿ŸVbü¨þ^r‚Ùú,Ng2÷ÉV%»W§¼n´7bð)9jÿ;åTÆùJr9«P¸—e=ÈáŽ9Ž'Æô^é*dM«¶aH çW˜Ü@`#Љ8Ëw&Ô¶ ]ûó0è¤`Û»Al&»‚üóC•ÏXkÐá¨ã&µ,×™{£óÌ-gÔ~¯.ÛÑl QV€—üwS¦C¯Px}¢b45½“3H˜ìBstköѲ {ŒÜsïÔnè(KÁ™E÷À· A½P@‘xØÿs-,UT&WÑ•G /¯˜§;Ì&Ò,y•j¾ +&ìæ¯šáâZEÛ…Çe&¡l[&Å?c k©—áéŪ¾W ðû—ÖQ÷˼¾WkiÞ©-þ+Iü¾Vˆ®Z¼·üÃJ¼ä8ƒÿ¹ D¾?šúkl 0·èã÷pqÆÝÆaÑÊwsÍ™öo; ÷rgL¯p}ª˜ƒnüYFsAhŽ ÿqÊ.µS¯“ù–A¾÷ŠõÍXõµ~éäÛŒ®)³f×¢…{˜^i°dQéBIÄÁ¼a r{Ð6†˜AtàxÔÊ14³r¯ñ}à6&}ŽAæÝ!/‚µ8ñªfç4ý7{ÁŽ0×*8J~: Ï·0—’Þ<`²äätC›c§öô7-®(]éQ·ºâ,ü±C)AæK`d9£Êå'Zœ^èð$ÙØÆ²?¬Z"|«{1àwž6ã‚ëÏí3Ûa :Ÿ'„­ q“¿×ŸHÔ&„œ8Y»¸Ì%(ÝDaìE]näÓŒ¶"í O£ÉdòbË!¸yB`5sä 3AÊ@òǽíi×ú˜~C‰ô¢¦L£õ}.?øxx_oÜ–hÍâLçU„Rü˜}ŒI¥á¶¿¶K†öÁõyE‚ r¿àW½;ªhuä)ÖÊëJXâ­y#œÉÍø%$Gìˆ<6Œ¼£&î”÷]‡Ê³,V,|æ›!îdˆ£ãP…Ì` ¥V)xÆX?¾|¥w¼f'÷rNòMYvMzÿ"r`…%ñ»7mÌÃy1Ü:²4P~RÆô· I±‚ ©·C? )üEjÒ ‹Œµ,˜,¨Ô‰¤É÷$x.R—øj›N)]PÎæÊüò’Ñž-4lôê\fÁ¹£”þAiT7p>…˜[7lêì4-¢J|ñ9Ü/|kdï˜ÚÖ³}hä•\±åh¢óÔÈðx¸¡ÝŸµè#‡«Š—ÃTƒ¯A¯GƆ ((%À½•,E æ,‡1䄃ԨWeX—ÄÀAû›ëÂ4:¨ƒ§Èú™ŸN2Öºk¬o_ÉÙ8ßs‹Úùr•ev·`wWèæ£L‚|¤ÆvùЬ@k’ëtܱÃüë‘,ÇÌ(¥ÏOaÔ®y6Kñ|nö…».9æëW”Ó\\‡ØÀG9 fSŸºXEêïšÂ´|ñN.ÍÆmGPoVh¢ƒê¹”c|$ººGŽK·¼Êê SE˜/ÇïÖ£;ݸULeÔ]8’([·ùþÁ‡íXS¢õìϽ“M1Ö³Þ¢J¹ð(^)‹G™ƒ“«•¯ín¼$Û: çÙjOÀ"o‡ 2@ÿÿ¾êÆyb•.i7*e’Î(¿]‘þj·ÏÁã7e¡ÔÐoˆ•lÚätµÞ‡ûã›p×ð§æ!DÏjøß©¿øRy ¤K¼C©X½ìÄÖô¨¨»chÒCëy˜Ö›K[ØJ>×¼¥^. —ÌgÅÉÒ¹ðazdÚJ‚âwua®)uyÓ`r¥Ù5³‡Ø¨ï̪.w¨•ŠfAœ-lð±¦zDÖËÛÔßéë"pì#¯Ó#¼½Ä°ñ 8›§–*‹ 餔‘LÞ|Å=K+è4ö|½˜pLóê28pà›¨ñÏc!ÚL‘¾ÌdÛÒ\*Tm4: šéýø)k¿&41‚Þ+Í:—÷e—5Ûöá¸Roq‚×Êøšyx¬>ý˜•a á(§ÂÍüôÝÜOuýþZ¢X‡nR¥Ä IT}n¹ø²šñ~u4S„˜Q‚¬Ík»§¢|<<#’çTï]ÉK¾çPÝa óÓ)_èemQÁ.é\[÷cîØ^$™½Ûoq İ‘#ÇÛ@å:´ž€%ѯ®':Cýwê`1Ϫ³‡…i™@”¹y8¨¢Ú×pDtª7›5Ùž/(œ4dÕKãœ͸Ÿqv‚$$¤³í¿öË«Wê̗ضkb½d(‰2åö@BzBŠ`0G\1{6ï“&ΊÄ1 ¹`®ÏN;q]pvo—I)_sÐôlŒ€<è-¨âÁ^ßL%Œ–ŸX­ÅNùšF&mI ‚‘©ýG’§`\6ýŽ=½~g•œR~) ­·¿4"ŠŒéSò'Oâ§|T#|éÿŒj0¯Z)! Úi«Ñ¢ÂŸ%˜ÓåAѸ„lYj÷–ðö(Ó.ìãr'/ FÉq¿îñ¡bz#hŸãq<ÃCÿ͹9ePH¾¸À×Ó¥)«ì%R]Ç `K;'β¿žÿsû< ¹Û¬;µGm±’c¡×F›~0G3‡ª4™Öpq‘rJËùb3ÿ†±/ØA•Ð,\|Zí> ŸuhÒ‘%&»#»Šy©©ÕPÈe . 1Šè:-™JÜQ‘ñ—ÒåØŸ<´g;ðZTé’³ÔÍli\þ»ëÑÅèF©àq;SÈŒ-<Ʋ§‘;ßlnöKLƒàh´D¹Š9¢1g×BôΕ•Œfü§·=j*Öm%•Eµ«x:¬]FÙxA‡*bÖüüh®î#y`ŽF¦zt§ç\«[IÅÔ“ýÉÖñ X댽͞y¸›qGîbþÎn*;¶`$§ª‡Uð¶1uÏÆgÞqrÜ+¹\›j ·÷8tÞûV+-ÄŸ- â$Pî`1ÄÉòŸY« ñÚ;Žåê„KM’á—uxc¥¢'jÛÄC!tÿìgüùžÒ‹P;áfM¢°þ«‹‰¤ó…±UÁ`k#Ý^Î#Òo·1H}^íÄ…¿k¥bfè]aßd'ó"†-[‰Þb£Ò\ÔõŒ‡í/Žx1sJ¿Ìs¤h¦#ý>Jݶ|¦fɺﴎx` ,ÛðY¤.MòŠ þ.Ê6ZSAØ»Z´¨ÎµI©ÅÈ~„ÂéÙ\‰&“NÉÜ‘ì‘é;œ¯ bµtÉíîú+ôiœî'0½"žjäkÂÑE_`P)þE0ž4]› 0=?ˆkP’ýøC“¤Z)¤|³åà*ÎÂJo -PïJXØ•hJ»| a¯¾¾ˆ•¶Xjõ>ѼS-wG“ƒ¦é˜Å\¨ ?Rçɲ>Øb¦Cº¼ù3êLЬï]Oœzãµ.«ÕY=·ñ¥pz­hÏÁ~Ë7˰!ú7ì¨$[ÑrZu!½½Æ§ÂÌ-tS ŒïÆÉS§.×¥§a§P­‡1ùˆêž”Ò9^ÜT¤8Ò®œ:oFoÚ â…Z臖ORd×>; ¦Csåõ)º–«°¼ÿ»¥ÿ¢ gÙª@xúrá<áÆ¹Ä–˜¸-ʃ қÐW‹ße:Z °c?šÙýÊ}îÍ?+Cñæ;êÓ'IOÈË wvDñ¯1‹T89òxã5ö%:£iHèú ÞcA#oÊÌ*’Í!JRë¨+±“ZÄÎnö Âã: êv¬ÞœXiqc“º‰ZË<ÆR˜ÿ=5(‡Ø.©Æ²!¾ábù‰â5ÐTÒ¸KÆc‡ç³r´©ñ¹à ÏÉ»A†Dh^©§‡CÃvFË)ÅH»UÝW­;þù³¶Øç뜹®yOLÿr.c&c¨Á0)­)êýáä­šcpð3Œ9_Üý¿sº+*öò|ų$³^ À%«ÀHñ>ïðâ#ñŸ¾ÙÐ*;G:¥ä­‚ig½¦<>ø—j€-ÖåÎ6g,‘÷ŒC/<„4ߟÁ šÄDÃÜꅼܦ4ò¾yDÑýÛá;ÍîâøbAJ!@’ðþ^¯t?7Â'8…”ûÏ6«Aß¡bMªaÇaäCbjѧ¶;ÔÎ`ÍŸæç¼Œû£€¶/Ùõ<ö©™pv$i"ýUô¬/kÜïÂ÷´‘ ű‚æoiîõœÉŽw¯°æ¢d“Ë™að 5;ô0H JÝEiç;63sj>µòlÈoŸXÛ¥‹ä”wÑ‘ƒ*(U寫j†aŸšè?›÷Ô¢åß¶•Ì‘“(9±xPJ‚RBÓxNªJ @„R›JÜØÛߌ”šºò£¸Ù³³`¥©eæ‰Ò¬6þc'^ à9šY¨UôØ=ûQoÃ"_î­4íÎÒs‘ŒƒKÁ‹¤*`¢`ÍQIŸ6Êÿé^âOÖzNNøMŽà™ÛjW»Î; g:›\ãÖu²À" •Êj-rY—ùXqº1U¸´dØ7½õMÀ®aÒº Þ =ÙÇiÚ¬LsÌ!•Ït 9!§g'l‰¦Ð®jÖO{Š{0]Ð<†…d§ÂÀtؤÓïâìÏ0ùIGCâ–Y|ø}¬Ñôš’ctÊÕx“yŸ½d6çã¿zE/!øêhUõÊÞZøÂ.ú«jPT•£*/P>Èÿ°ûJKTCߊï_ÎÇδ _ø›ê®ŒªÞ"¨ "õ<Óˆ–ûÜå{¢?Â"^_"ÉŽ:&pOníS‘·c ²õ¿éšó• dI\‘‹¯Ô§Ô+ MêîÜÒ]í“µË W~þšÐT ˜@`Á‹ŸŽéÓ7]±9ä„e”ÕÄÃÀR;Nƒßg$2’)í_}]ºÚÊ„5óÆÁâ5ÒDዹ[hmlbq‚£Y•”µÉ1¹YŒUDîÛ›h“JNDÕ-ŽzŒ*ÍfFŸ,àþÈ YB)Ç6En]ìò~j…Ñyä³Ý³kø7& x Nyh—óÔC)vwuSà³?։ᅸ†ÿ!á"@CÝvš(šnOŸRcg_%MAÇ-VŒ¸*¾WVÌ{qyÚÎܺ&…²zÖH…éXqݱ§ô@—!4R¸ûr¨á“.Êd {¦Çÿð”…¦ÁÄvè‡ ªâO ¬¨|)÷SóªÜ!<™\“ñi€v0984:n) îpÎ.,xŠó(´€À;ââAÉáB÷14¼!GS#G4°óÜL¡ØZTÐ3ŸzÈÜ–ŸËÞ ‚ws»‚øßÁ S±åbÖMàÖš}¥)þjôÚâ7ÄcSË‚|?{r:KG\\ÛÒ5Õ‘ÐÙhˆ ñú2OíÄœõí¨ôWÃÏ­æS.w²8z¨ˆvOÚó¾{mº#Jåú½¨ÑŽ-„½ÿ2}=ßʆzh¤g"é-Ì[CcM“ \»Ã†‘¯­ìYÞáÂ^Œ¢Å ~HÜk“Ï=Ïëøÿÿ|6o Ÿº÷ÝÖÏÆ’áý¤n¨”ºà1OÿЇœ~š”š[%\A¹äÖ&Àÿ¡Zd\`ä “Ô–ä(wë Ç™$Ó¨ §xIΑÖÉØJÿÕ_É`eð¡ÿÁ#Ȫîåjq¬¡¾lyrnÏü;yP¥8b¯ý¡ï•®×jK°¦iï϶äÖ‚K¨Ç9¦ç~60“+2œæxekMÑNiBšvÆ34#1»7›J$”onào_о¨Õ4ðZÕÓ¹HÒ/¹ää‘ï ”+‰åånt“s/D ®deƒnÛüóExæ½HÆnUt{ߘD œéWàõ5€(¸‚ŸƒÞe]‘du÷¥!8¾3W©‘8ùs©Ì]‘áûÎð |‹©è·mIRãñ2›ž`(‹y4t´õ=ˆ<œŠéÁ1;€`úg\è·Î¹L¸Xëw(YpÛ5T±6”ùœ~¸ [¢¢U8—7«°[ÊBC­›‡¶F‹îaÅ4«—Ë¢Ž ·Æn”G­ñÊ»-æ ÝÇv†Ð†“Býa>¾Nô¼ @ܘ·Ö¸~혬¢Á¹ÕÍŒ`ƒw`)Ž[ ð ©ìš<ì£ÕÖˆ¯Ó9²ïÝ˽5Ð^ÊåAq†éº3 =„êÔÇÆÛÈNÉÊÅ(¹1Š;’ÛÄYB¢ƒ±tñ\ô½Dàsºêòóp{Ûà¦>ìùYQ—UŸÎâç+•kÕB‰Ó )!Óð:YGˤïtPÔOc#‰Bô-«Ñ.nX¸å¬H›¦I €dèajB7 ŠžK8¿¯¯ÀL$7³˃¡0ûR8ò§Ø¶ô„ºÓ1ÏqÏÍñø«J¾yălgÏ% nosàIÕ3'þ]L^dˆ·žN ]˜ÐÍû3G··ØÚ§vÝÍü iÔAþ6]p2ÈrªÍÀ{@Oò@B¹Ÿúeyoï°[þÔ÷#—·E(Ï-ú VÚÆÔPÈ ,ÕÍA+T@úÐh þjÚçPàvøÐ¾‰¼« Ž]üº”b¬Xá–šK0ñ'üKaÖŽ#¹£PGpèÑê´ör8VžvûqO>ÐøÌ^ 4¾ÅBú¬”ÑCÝa‰  ýIEÒ&+(ê Û,Õ“ë#¸P^/ªh» ¹ÎCÞQk鬄jÙÛ¾÷Ǧ"€o-L3DSãO±4qÙî±=30á•í22†ƒ¨1ˆD:Þd4å±uÓ,40­ÅZ•Ør@ૃ{ªÏ¶*˜³aÚïr?¶³÷ŽüÑìUw€@0â°b|…þ|tìë©fƒïÁR3ŽD ~“ÕèÃeTõ ÷Q(±•ždù¤×GJbº€ÎQ+›R7s…Mɵ†L×ÕÜ÷¹ïˆ‚‘µGÐL‚q*£¼Üaq°*Ó $ÕdØÿÛ'{'$· TÚ4U⊗}±'ž7Ï`ëtˆ˜\² æŽn·}Áïñe¬²¤¤Ó?ŵÅÐ`„E }™ô¬ËÛR£ÞUD`ºe¤jÆUo©5©XIuMQF8œ[Izv6Ý ¼«^½Jvˆ6Ú.U}ž›š»¼C¡óÏo¢w;f#€“*]³¹¡ß>7ª²B ©¥µ,C4aùDÐÚÁ/¡É4-Ÿ€i"%£1ùå†û(Ÿ¼f7ïò¾¤ UVû£¶¦¸5+ÎÅN-Ììö=æºáîЉW\ÖÎðgPŽšIßbŽjŒ>qò->çþþ’ËwÙ>Rrvs(ü¦)CGa;h|Ò4?ÝN ‘VúJP4ÏZãb€­s0ùF¼'ó-3.Òž„†…ŒÍ’õÏå°=4ëŠrò¡rw—þ6¡žòZ>?N>#{¾³±¬êëBº…V-!µÓº<¿hš'¦¬ s3~‡#c‰Á;À—Ü´Að'k+£‚žÖ˜ÇØ D˜ìNÅ«î«A¹æ.¿›Â8­Ü7̸§ÂïÛ¤†9þÚ"gtÏJ[H1LvèpU;ï;,ŽúÅ,–»±ñúÇa%Ý–°µ¥1~|(ÍúÁ°åA…šÂÓçv¡ìü_I›¡ ú-=™lË98"†Ájc–ЗC³²OgáÁáKÕ¡ûTFz Þ„¬Í§Áe³Â˜ߨŸŽY¹ÛysáÐR¸¬ÔA‹ÆÁ[©—4&nš®iç5ÒâݹŸ°ÞšP‘Ô¶Ì4ýuZIêÐÕjX°wùCõ{ê‰ðúÊ©rˆ=¿ÝHKŠ‘)È‚2³:ã"u±(¢íY´qúâYÊÖhÆTÁÒ-%… qiŒ¹K7­I.Æ5@ýŽ˜ïöƱsÚ’Ü`MO k-m@ß°ÛþÈ]dI9¸Ë¸WQ´j£v5©R׃J‘‰pk@€'ÅXHâG‘¦“ø2KºÍëòHê QȳÃPÔpgƒ3L•› ëéü|ßê°Æ/ïV÷;;ßSž(È«šKÿˆ7áU›>^ t‡O×YĨ@|–b®Ì£QcHl_[®Oh{óÌZ¥LJ²O¶òcgᢂrá³”Þë@ ¤žévúlÿ¸7È×ö´#£àæM4ŒèdwôJ øåB%:!È­1L´+êeí©È<¢ú¨Û\ÂøI.­Òjç.ÅSJ‰ÿQC\,³þæjòCª¥ŒâƒgÄFÜxÖ'­Þ iAªSp° *0vÝ©†Iõøÿ7Ò‚±0MÞd •¨D²ó}l™ù|øÿGd=û;ºe•Ègf7óPÖ{h«ø3·SZÀ˜Ôzt£q³ø¾·¥uu(µ¨;v oˆo›´GÝF|ïe©:6˜ÛŽsìÚ×ЯVõk£¤‘·ó’ׄ—¿t£(÷û¯vØlžMò<æœt¬å.’›—=÷ O>ÜÝu]íQ’,ê¿7QŠUs~⑳òRU„4ªQ€ØéÚy÷¸¸)ëÄ™³EœÚÉ'ÐËT”—”ÐRÆàmx¦8MÈöµõÞJ¥ Å ’X³„¶ñ V2%ö!ÌyP€3@·òœl 8P7^ø?0•0U½º^8'Y° ‹’,ù–-aâ…ˆSòmÏÿTÊŽõM_ýØ7@('‡¬¨ú‘~ǯ´xr`–ù„<–¦òæ.©‚}à¿(ÂÄ¥ˆ¼ÊӞ͊ÆS«}`o¯k{3‚l\8ªµâ ¬Zb•ç“§&~Í•pŸ–Ø€^ý¡"Ûuܬ"yÉé Y:oÂÐÐÀôip’z½’ áºïð 4öðÞ‚Ô´PÎøA¦nŸª…µåÈ$š ]ÂÄ9@P¸ÄÉW)ì<3¢éüpm_ÍÌV×mïAäGÏ+2(=Ôàns •Ú¹hèHP ü÷m­”O åf-iSÄ#̰’YèüND}™ÿjxÀ7t~ðYè·F7Ü-ÊæˆèÄíäÊ0P*s$B$‘†>Ž/ÿ eO|®©í"gÉXh÷B^ zBÀõë—ñ çôÁBžÏd4‰ö´‰Õüx–<ñÑäÿé#ƒo«z«Dй§×/ ±, ×Ι¬û;¦©Hë{“—#Þ =Ñò“‹}³Î–âiÙàÕXC*`ëtµ~2aYÏh{™„ó­ÔërpBN!äíJ ú—_À¡yÏ*±×àÖlÑh,.~ø ’WÍaÜiöp³ÎlT³Uè{Ve©F3i'‰&nBtÑHvÍó™‹vº09È@†xXПòÊ#ñ6§R!™¦EcS·ÈÖ:áç‰I–zÔpš\P<5o8ö(96Ù>†Aj3RYº·{¡ø;®QÌá‰|Ò'–Ü–X¦sœÏÍ,pôÑ›JUzô³Þ«Ø)”‚,5—4cºíàÐâŸ0IÔ%Ë[6ÆEå¸2Êß•kZT¦.¦ôSÒ- Lìéoµ†,ñ6¶È(ÿyI»Æö$Wô²ÛŸáòŠjß ³ I4”Ñ™%vòNº ð~¸ãý)is@i^ Fu¹°r?ç¾30ã=…‘¬;ƾä«g3Gwš€ å¤!Y*Êݾiðö™*Za†Û!t‘ÆIô3YïÉu1{º¼f’_%"§ß ɰӂ,êKâ¤:<>}Â}kŸˆ:’?&€þߥ̊Ùm:‡©j÷Ðâgítt@ kÛ7Y~‘Õlg|‹~ÅsˆÔZâmÚq±¼ä„r°ü’yî¨ÐM³,^Ñç÷l5w3:ýR©©‹ ÊG³BÁV¦JSLy:·ù eæQè¢;|Z¬t}Å\ã€(ñ݃–•\@ÎÐâREuĉ©#á.b€xoÇ.í iª?öÓ8íUÀ0{&DFrÓ|ò îý«¡¬½ýZ»×èdG“šÜÌS[1þËä|íÒ›ÇuáôœL‚î0O‹ßùÌ<³t¼¼ØMEŸ×SÆéDS/k²/MeÇÖîå4zÜúãc7@#1pE£žZ´/-±Êæ…nÇB÷b“ûðêŒaä¤A=u\w›§7ù"œS”÷F_ù«çO´”Ò $þ¼ž ߸3UG©i˜ ÈÉ`®ñÔ b@LÊFЬ¹Ñž§( @ûuYÎþÊš>wm í¦_€;EI2lðk_˜ÄBÕÞâWâÑ)0û¥k¡Õþg³ÃÉaâºÁ«•ˆ†.W̽d}“M)1QØŸ!Á”9èùq´×r§ÚêÐIYb´e7û$Æôdì‰6¿ËšóN 31²ê}Œ¶µ, [tå¾Ü"@?ñ&g_í|Ãüp 9ŽP)¤ ˜*^ dJ:E0AˆäKuªÁ^u\Ðb~f tSûFü?´bcc¹àËÍ6U8‚¾e×á“òV%çÑ[ò¿ñƒ„Lhè¤+ƒÈA´^”–Oãð¥™]-&ºˆgí7Z‘#ºS}­ßÎùx±° Ηðà~€t€ï6¶ô\3»3ÂÇ"g˜O ârmc~jâx¤voã¶S~Ù!”³ ˆ}t†j@«ËÌǯ7È’û¥Oð>&˜Öú3ÁI7§9u[Â2(¹Ž{¥;ó”}GØG­nbÄÇŒ„øÁ@Ô8zZõÂòÞÄÿïóS+‘xg1ÍÅñ\ eʼXeF­IÙËcIÐ-úR@Ú”¥ØÁÚ¹þÕö%‡÷)&KJ">øãK³Ž€›í‚ŽèW3-5À^/tÄD¬N„n?mÓøs1|‡×ú”€R—æB±Î‹# ±ÚZÇóu»öá éÛTÜ·\ /=Ÿó°O o‹.‰`›<‹'à™a™ÅO¡ÒÚE t ·+A‡÷/¥‰` õž]æEYn…á“=MsªkvG£pc2ë‚G‘+jDèU¤'’ ×ž7+µmÆwxÜí¹`r×: `Í·%üo]l‚ v²ÆcèÇæ;’ëëmIzÛ{–oCÌgwÎd4ÝHe1ؤÈíD*Ìœvš®èK=ƒç!¿¾ü*ï°ŒÑ'HC‹^å甚óËÊ„ïð°"þ­9IÆw׊.RiE𫦑DIó]<‹nõ%Ö¨ï$Ù×Â¥TÂo^ ê³6s„Ò AE([…JßE•§[Ó$U˜¼ö**bvOÆnqž |²sRk…—ìÕ×x̆ܘ?úÊÈ1`ÛÚ5ÂÝPf’e®Bœô%}€IwèûËÜ“áȦäRÀïIJqiáQç.÷b6¹tEÁxâMGøXÿM¤Æs=Ö7·ý$¹öÑç¿Øã°K·qö¬ï9ûM^i´¯´\íDý(Ðíæ4ð¾:±Ô{‘@{)|Æ9»ç#ì!{Ãc¼v½€çpÓïÚ%h¾ÓD/¤7=²_Àá<3 ©&¾Ù:v¾ZDž§\tf}¨ãyÁõ[Ró2c §Î2ÌâSÑïCâ¬4Q¥Íǯt‚wp?ó¼ ³5{âö1ãi¤‰¤î)ßÖ³ý˜¤Ÿ.Æ;É€Ÿ“dÃ#›3ï¢S'NrþvÙDÌ/øÃ| 3‹×þA2Õɳª‡Uªà.`)¶À•I=Ôó$7ýï4¼ýV‹M‰L¦ }…Å_óâ>Æé[%Z¿wït5^úå°*!èv*ù°Ê}»Ü$^Tf¶–,ïåð_œ; ·1 ‡T.£¯c 9Þ”à¦ã«†ÈžÈsxum«/- àÿÓ";ž“JÆ\{„Ä0¯w[ÜA}ë/¢„i0{(ÁÏ:¨w.X⾬|ìGšé´NðV w}›a1?‚+I­0Q"K?rCÁlö/üÎi’Ðm©y‹J'‹è>òã:nî z¦(•Ø^ZAo²b ›ó-`ª­mþ!˜e«ÄÒã!~[F½ $÷3€ ø„êîÀ¶!FD(L½œÝc’£]ì«w{Ë;®FÜÅÅ ¾Ì@®W¶¼úîÙ¨xבT¶£“Þ—á¦jtåÉ“=7¿Èŧ{õöí°ƒº«p¥-–ã*Åïògrð–‰ ªsù)¿Ð ¥äMALÛä!ŒlÆt¤Þt¢įÀÔW<“Ç”óSƒ4³…1¯P­–MÎÏ'šË°'~·Uøñ%øy²öBªÇ=DŠ+“AE«ÈÒ/º»Aüɬ}äaßHoù Âõ$‡ô€n’.ÐuÐË®Pý¾Ä+: [V ´ žhd™µÊÌ}í–™ÂÄõ`ŽÝ϶ñÎU³„£þR_$®ié·ƒô@à´_á‚?iO˜2ù„c]–ú ª m5Рº¤Ò$þaèïÄPÇï[‹k+!×»ŸÒ^e2kÚ]ÞoœÂÜ•ûÏÊë± ún.dtýiA“õ‹Ó`ï0õ*Ʀz!6AÀùŸKÔ‚W'NáIáF8–òÕ8÷|²âlÃ#̪±‚ Ï)ß Á•‡4ƒ’¤æêïÀ~X3Ôwj$TU‚¡Ä Øž«ª}?nf‹ã±kN<Åî·0ê²TYÑTþ8&ÚØâ5†'XÕ}+¥æ€cR•ç!RƱNi¬¸‚® 2îÈü3™xzw?dµeÇíÛû76ANMü³µö£«e²/;p¿{ôJ|ýÌÆŽTf7vsÉ›MÖÅChÞ„í­Z»ðÅàž/!œ¤cÛ{ÙYX¢|…;öS¿M¾ïbFkW‹®->‚ÿò-~œ¶Ù0“¨ kˆá3/ -nÖ+ú†3e_>€ò¥j1+b™tâlÛ˜ÄìbRü¨÷¥:O&B`Uao@ø›¶òêÑó~qË ŸØÛùïdwÙûhÏMÁêx-Ét¦·5dT;5¤ щjûyº–‹¤ñ“­"Émü«Ë‡= {;&^ŽŠˆyIl+ݵóKâ“®~Ëš0f«ëúÔ²?ëM[ÀnVaä­ÆÐ3~©ýð•#Rº?§Ñc£«bo™R«íANšî"­±‹øó©¦lUae$c‚pðïÍ_¬}É,ýÒUú)¡ ÜsÙ­!tÊLg“UëN9Ÿƒnt—Ásô3ì˜k%oê´5ëxh¢ÌÓ¸aÇþÀ¼ª»Ñ¼¾Nš>Ãc0=ë~ÏÏ¥}Ü¡n{ãxùA l‚Ôr$ø[¶v1g>ŽëÒú ¹«‹Ûçß+IuÞ+{34¦o‰(Ú´R•»;w²™6y¦âšþ×G\·/·7‹âðÄDRŽhÔ£­V™Ë½æ‹µŸj ÿÕ¶bãP†Sø”ô©å6é56Á›ÉÅÒ7>q%ß·öÛpõÆ[Mv[ØÌ‚%¼-+4H[ü4‘‚Ÿ›u§ÆË|®¡½xVà‘öH'¸~ó$&JfAõš· jp4iÄy-åB#BoèD0#ê†Ö#¤Û‹” çn?åãW˜Ý½ír̨¡lô<䨤¤¾¬o¿×2CÉ÷ßâs*Ó&ÐÍH[üÌ=W{FÒÐOzv£“¶ Èÿ×¼»;R¼‚ær˜Ó¢ö„Ô»¯%š+%†²&ç%Ñ9žädK‰ÕOÙÁ“¹’õãe5vÞOklÌËi<#$:Æ;SÐC´åR¶*£~"O],Šâô\²[¢Ê©£¹su}‹ Ç]$ • èc'ùÐŒ©H×-‰œ¿QzÀž#§]ŒbØuD_îÖû_ÿ8¥Ò+”á0z ŽÑw‘SNé¦P+„žß¨» µWäŸnþÒPƒ´§€8e)ÞFw˜ÀÅ|W:ýÕœ ‰;âr˜¯%—Aú&ïtŸÓxüLW2yÐØ‚°{ç=þ “Sy_@ˆ™z .)&¡Þ MF¢Pì䊽äT”ÍÁÃ1|@Ü£,o|Õ‡ê^L˜‰5²ž£ìŒ—•¦ÂŽºLsOi0?†Ë‚Cý%ý™ýhíÀýìÒ9J9 >\ð‹Š\XCpjz˜s 7 ¦7LýbÀþ÷ÒYÂØz3ûgt}“J˨™S½øÔTt½6é»V©,þî ™3©F…3š_ºËã¹);­hj )7©@R·ëˆžÏÃÂÉ&Õ)y â²·‚‡+ü9šc ¥Íñ 3ZhZÄ"Å仟ÝE¡^/? vÙŠS*ÅÿuɇI½j6ídÂðê¬rœÍӓ͵†Š#”#ú‰ZAüÑJËõEíS:ªý?x'î:/~±C\ÒàfþŸÈØÂ¡ÑÙ·Ýb¿G"‹’EÐsU ¼±vç/¶PDïÓ´&£M®srê"Õ5.ïAÔÅ¡FV&Â×ÿðjŸÄ ¶êCµý¹¯< ‘$]B¾Cþ9/{°œ¶ÒÎ¥ª]¯ME4šmöJ"£,úœ· –5ùS„}ÓňBL4ÔD‘ªìÎÁº1×ÉÜ,šShCsÿ\¿>Ÿ}ü¦rö‘EZ›9œË"­¦4¢C™VÆus%Ñ[&n2¯X–¾¿wy–™ógcO:‚)(‘¼KQIP¢´PM©²ÇEÄŒƒº}„[½½(eZ|¼ wT>19µ­oÆ©æƒ]–lû™i?Bjäê „.ð1El7ÒâÞIÖeà ­Û³Œ~ø¤4M04)ÍA¢f]nH…ãÑ’R®RP6BOu¾—¢e>idòÆL}À®L,?©’¢öÝùþ•­RA€ô®ç9O¡ ‰´ÿpU!õÝ2:ä×½5ãüL”|¨§óM²$ÈŠ«ÍFî{*T>J#©ÿ éù1RW+æ°ÂèÓ½Œ.RÁSý`Î¥_bf¾î-—'¹%¢:øŠžkð¿Ý- ³ í䂞–y û·Ié£óÉFc+*:¥Ñµ„–YОñF©@2Gf4“¦²zœ<)2¡q#Ši‡¾ÕØÞœ¼s6ʲÍ/œrë“rѹ*=äR7×Ï` ŸŒFß…ÛöÏñ¤Û"ßc˜ªƒÓ‚÷N œ`ž:gïD&aýÊ«4µäY!“ ‚Ó ËÜöžL°¤7ÒÅž¸Í]Üð&?*²f¯+ ~‰<ûA° Ò­¹Z!|Ç,rÝÛèF wÞèZËÚ¹°PÍlÑjÇJyeŠ7˜Ù÷iAmôDl#]00w8i¿Êj¥Ý­ÇghN`•cÏ·Ç×>(zVµ¹Ï¹š¼îªÕÉÞ­ AìÖ„”!3]XaÝÐ*Ï_ïBÍDš t¯‘šC×^R²«°nßrLDˆ<¿ ž‰J‚åDX‹Öí<§V)Æ“ô9GŽø/Ï“g¬@"mÇ»Ž“Xreqëðª+`aÑcÅü6é#e1n5ÛÅ ž¥g£¡1![<5!³ü•:š½zª~Ù‘RVþñ±ª«¸1KÔö_ H93á‰ËöTñBývèé:¦­-Ù%r«l;|. †øu^2ü¬™Ðàƒ-OX a°ä«“óf3“öß^–<áÃç#Œ*«¤àµ|Úè•>|øøxÓyYÉyßì4³Ëú^`Ó›0~ç_ ¹Éèä¡*ŠíüÏ™nz—!8Ü…€?ȯë"Hœ?n‰$ŸÌò÷ê"å6‡UäÔ/Vý®s‚ O$Vàzêýi]+†ý{E£#¶~¤‰¸”vN•@úUbyïFÿ4ý«0ÕTY¸Õ9{:sëÇžRÈ­ƒˆ&õTÒƒãKb/ãV´¥“c j„þ5ñ+àÖO”À/ÎcéñÛ&FV\£PÿÎ~¹ºœaöbAÐþíAQ¾šB[Ål5ÃX±Û4°ºø|Ï<¬4N®›>tÀTà^™ÌýÅ/y†NÁ|â…÷¯j#“»©í—ú€™ù—ÄúpäÞ(ÿ©^ÍÁvßÇ}™F°5Œ‘6‚³ƒtò©ì:Ñ0`LTþøh£×´¢4½ëóÊ|@û¾r®—j‘ @½º-Œ¢ ±ûîê{Ù®£„ûÈ5S-ÞØãÈäàÐÆEj1³£„H½´I‹‡D¥ˆ¶W‡æy‰,Êl¾Þ‰‚Ó¦ Û’‹j"ó¾;x-ý÷潺R4nžu¾’éhø^F)·ë†4Á’àÜ!~_¡ ÿËŠgÓò‰CØZÆX†"YMe`ÁŸŠXÚ¬C••QvÅ"¤ü~/yPT˜ ›TÜ•awžŸoˆ0t¢±,¥ ë2£(äÄ÷"ùM?)?}¾?8oßÙq¢½Ä–G;c„§¶̸ÈG,ÓnͤÙq•ðÙ6°àÏß¡ÞAéúFN ëëTê ¬Ê"…vŒAÿU‡©RBoi‰˜IÍ|ËZç¥)œQ»k"ªsïçòeâCŠºÆ%½UiJF‚·5b3í,ñ4 |ýúÃQ=ĨJPšñR·LÎ÷Sž2`Ý V#RÆPgŽê¾ŠÆ$ü+ÇÅìã²K‘”9 ”v’úHH£À¨(•[;ŸAKÂU¯¢Ôw­×°®Ju+ºO¼ZAI‘7ع1ho…)¾šz¶Éàbº»è† iÈÀ±ÊåêŒ#ÙDxø× é aÊœ•ZƒßÕŠ§_t廋(‡‚÷ ªl`˜áQEb³ÕCê¢bè½÷ \¶€âŸ† ¯¹3tËixj‰¨|9¢4ÿùYž§ƒ@<è’f%_¯öNŒ*¯mœ`“Φ>ÜvL <ÚHûÉêÊ ÎþÑóÙë¹÷¡HûÍÛ–tâ­’ŠÎ7Õþik¢¶˜ü–ÞŠ× õàGáä]®S™$C´)/‹—Å÷§xðW`Ð,R>òÏ2PÁ•wKHÆí¥™j‰N H¡Zq6Æn0z ìñ²ÇD T"kº7éõ™Ó´ÂÄcs.¼ ¢4Ã]—Æ™¼{AÒÀM´‚kºâ2qãs㋱ìÖýȃI`â,‘æB‚•‚ÛâÏu1÷/$Ê¿ h—ßædZ1Ç%.r=Œ½Ó1²UOòž¿ž’ün3UJHQ~:­ÐøÂ@Åï#¬Ì[Mt˜=BdKm¯ž:K‚ŽôtsÎm$Q}|>¸Mµ†/ì +ñYM4%W;.ÆÎÜf«wx…Úç‹•¸3Õ^iµD«¨@[8Ë„}xºd?•ÏP3ïÞhHÙÿÄõ~á÷›´€ø8gŒisòÍÁîÎý'¾¯ò)=oðµúŽi¯Mº¸ÀÆî¸aÝ#wÍIvÌÙ·hàÓ£u׳[os=ÛÙ"d¾—®ç)›Ùu¯¿,U¼‚¿! .G¦ ­xòr¤Q÷ÆÿOöfÞ`ó°eó5 ŒþδW‡9…”“þÊÓJ•Ø=v93;ù_%·{×Ei¶úDPŒ/¿“w't É®“—&Û¼{Þ¢B‘ºãó}9›ÍÛßÿuÖ±ßÅ ‚ă[6 2–€UPhéÒC¨üAXÅAпïjÚPìe3O&Kj“Ò8ø×ô\kÚ¼·‰òd8È35Š gÅCQ‚D¬Çý«PMµ7 ­FÌ%%Ð3Y9t”ŽZÛne’Êd-\™¾X;êÀ]²®½Fˆì@aê?¤÷Å(¨vè‘âËìQŠÏ û¨;Áj¨¿¾|ò¯åºa̤‘Â~«Uuÿ×Ä‘ö?t<¸b ¶ÿjôm†ªÔÔ¥\qçI7:äû¡j1¯Š™¯‘òèÁlaê3‹Ê'¡ãǘÉ(}àô¼£ƒ5œ“äƒG…ªl—Ÿä½ Ó~]¶OxN Í~¶3ËE‡?evàÈR›~§Œéu7îƒû{7éí·ù›6…¬ßµfIó]˜K&w]h¤ê‰MÅB§„ç©þÉ}ò,~\§Ú²“×õU(„TÁ[¡„ªõ¨dÁ#·»R®ý(/qO]5Ü®dŠÌ Aùר/2‡&”wyA^DW—»éÑÃÍj‚¬àL'›qý ø3ut¼1)þMüóá²¼ÃgHKªÊ¬%ÊPõa=êF¯šÔýz²·A‰§ëŸ±d ʋȢ=¿©J°V„̲ۂΗ’fzÏwèz9ÃÙ­÷ý&걄îõ“£~jˆ†ê$2&êËWyLà†ólU+ÁÅåD(žVÈ—c’fñ6~­Ã‹Åž­ý™g†GU½“À­ݸÆtAÍ¥i+x|hæVÂâƒÊˆsã³gÚáP|%E€‘B¯V0'6z¹ ÝðÛn™BÄ29pÒÚ܉€kCþ®³bäõ* cœÖ-Û3*£îR¼3å=ã¡æ ™ ýêí³õ§¼†¹ ÏnÉ÷Æ´^yŠ]š²ßdç TlA«ªWî›—ˆHúçÄQ×ݪ»7ŠKÜ1D/¾þPÕÚS£Š£-EcBU:˜»ºBjª 8Ò¹jVæ)«#™qÛ^(»ÅbÌñ3óŽ "5¬–T.ˆú¤ô–‚'>[XqìãÓ"ˆ“:Ác‰ÕÝobÝ{µ²v goA†È—¶£»ä ƒÃv6Tö¢½Ä%Œ{7 ˆF:—ø© Ä$½¥ûū̇τؖ߃¾ÑZãÆ ÛM )œ½7á¥Ü|™ñF´‚59âú÷ÙǤ»WÕ…vØýÕ‡†¬Ûæü³æ³Q ¶æ„ ª\q¶‚¥j1… ¢òë rX]€a»öÕ“$,°æ|*{ÏŠÛ²+'ddª9¶¶®Å™Š©uÑ»—Æ¿#¾7Ot{O}û¤1c’­éÔVò„.B~îg î÷séFÑã&ðk #R1ÿŠ/ðâ¿Îýù[z*,r¸N@àiæ¿Jöï®n÷*¾ó&ª¾û,À¢& ß¶ ÚÄF¦5àĵHk¡Y³'{C›b–²î„SϹ}|2Ç1ÈU–B•JçCˆÔû3rEÇ`÷T¦ÞwÎ)¨NÖdD,mSÒ‚³²ih§ï_tÕÁÅvp1؈陬†L¹˜ÉÕUEFÅq!*ÜãC ` A’þÍêI)‘é €G-Ûáq9ÑMË”Ì]4Bêoú=Ðry͵@4lKy¶xî(CÓ‰j dàeÍ£'òºÇXj4û)*›ûÖ†bÖ³ë鯈ģ;é¾aÏ 0¬ßÛ˜|C͘¿4ïçÿ$öqHÑ“:°D3Âz‘µ\…ˇ S:º®hE;`Ïû܃ …záì"ô9%Ë ŒÔ“ACù¢½ Õ6”Ò N³ÉC”ˆ­Q q5ýó3…ì(cðvòÿù&¯PàõáðÅ'rl!}9Šùo±„aK`A÷g·òóôa¸§åÚˆÞþÞäítRDe_ +ƨ’b;FIb…Û¾Ñ{9Üü5}®7û£müiµBM´‰aìÂsè+½egë%@°©…bV/žŠÄ¦¸×+VV®‡¤ä-÷+û’ôa©ÑgÙ =K{€Ð@ìónPšlwS`S_?(Ÿ^vÙë#ÄM‹E2ÕoiZóÙºC£^SÁ˜M®*¥qfs5A€,e¸L|ñùg! ¨=ó^EÔø•žcõ°8·þ¡¹@sk>O±°HÏ !oh«å Nd<¨_ÖÈ+€ uÁÒŸqþhÎW‹ ¼î‘]´iûŠ#áKIñËI&xÄ57'…sŒ)·äÄäšB‘°¨JÀ jÅpÍáÅ>̲E K|˜¯=B8à¬x>³W¦¥CbžÙ/úîM»AÌPº”pPõï~âþö[_+òñ™2>‚ÝsK,si[ìÇ{ϪG= f?˜ uâ]MJ§àF¨°cTB,—º›D°3ô¦±¼IŠH6‚Æ6:2®Ë5ã’ñ ¬)´üè§WC§LíÝ'(ðl…ñËá‘¿.¥4Ñú¢†R·wX½{ák{,Jf³ª#¨u?Y9ºOký#M Ã^¦¬ áš”ÁØkŸ ¹Õ1[ß(ôäÑäÂxÀÌô–Ì€N× { 9• M›wR××Z ðB)~\ö[tš÷­0Õ ’í£3Ã3ŽÎá¢;´äOäýàñ­¦2ÌÖ ÈýåAÆrýûz½$8q•Œ{tnŠX)í¼Ü:̦ t4B—Œëèï¸ôèz‹¸ÏBôüˆ¸ïð:œ’/,æýTœ‡U ©c1¥Q­óùugÇã5´Uí©d Çy]Ê tM#Ä‹ÍjP^(2OŽ BÔ¿0]­Âü ðº·8ñÝó®Ü¥Úƒ^À $Q Àk>så*ž—lÁøÊD§‘Cð£:ÍuÞaÏd]Ý­òäãïŒS¸¶šl‡„\vDÖx䦙S#.Ä®cÞ½‡‘Mr‡Š]Xí¿’æY(û56 ®†x÷)mÀºz`‚ù$´ˆxëë‡ß$–½—`§í™èÃ5"ë_=WG7¸·>b²Ä ¯2^‰ê±£Ù„.ß™vŒÃ6qô§œÝp]}‡7W.ÇìÅžàüÕê3^†ÄÞ$µ€»¯—÷žÅ/¬’µ6LΓaU8´ÁËì>v§Keö£ˆ ~P%XY¯QoÌ Õf®ÀÇ 'Иj•¤÷úý |Ÿ¿ì!›pqØDaž®˜ª®êˆKŸ7$)oYÙ¬ÔÆz¨EçwJ·†›A‰Õ¿¨¡³«eì[onq¨hå‘2Wu”æÆ‡Ù„ˆn@Êç§­d/ØÊ ìÄ5¸•n…öH_‚”ÈòCšƒÊ›f×öS0HÏ0¾'LÍ@Ooáÿ´>˜ìd©ÃOrÀšl•ìM°­}"™ ¾‘ᢛWѼb2ƒ|~AÙïFdDfÁœ¥{LÈ(š¬ßá¦Ö«µtˆ)ˆ×7Š‹P3ñkoS5W䨱I!"ïdbf½B¯·þ𺠡z"ºE%”P(ž¸-ÑkÍ¿ßØ·bi¿s”ÖðÆøÂMÏi %㑽w?ôбy>tx~ÌCË=¸»2÷æÞè38!7rp6öÿoœ ‘i¥|e½k÷ó2×4ñ¯T§m‚¯õxnÆÊÀož Ø¢‘ZtÐŽ2‰xüê-”M¹1ñ2‡*ˆÔʸB¯Aè3£…ž\ ‹ÁÓ/ŸlØ¥~×7Ôã* çÏ?(‹V—‚M`-$%Áͤ÷B S¹¨õy̧NœQJÏ?‚1<§„¶yO Þ<€9EÄÔF+ê†I(ˆ¿šË0@P¼ ö·†›^[€ u49A¨¾d¯XnÙû‡æ/Y•Z néCè0$‚4\$?¼G©5(Ï1ddûN‰ÞbqCÎ kùßýžÝ™+^¦BBs’h\_4´^ónÛÅ|êþ¨øà˜´ÉܘÂÊQ°c P1ê,‘$,Kh¦xiýÚÇ{<ÛaŸ¬0<Ù‹ó|Ê€BÑþb±:OáÖÎsÄåh€Z@Å“•ìZú×õÍÈáÊ «¤F½•}Ûm’ˆÿfò¾õé“N#sðüìQ&i‚‘'³ºÛO’Ãd:ígBÃcsKi²hs×hêO/Ø”tÝooáKö¹z,(Íܘ»çÛÚ¥å¿ €Ä뚇ڌ³ŸÿF5õú3ù_5nò‘¾ 'K“/6ƒ5þÈtLtÇàŽ®ºñ¸Špˆ2:Ù/1iZ éåõ”›¨‹4ÅB:´`äöÎÑľ´jßš™°¦çSbQ¼ß …÷Û éåc+Œ)¾ÐËDXõüÚTêQ ÓF«'÷ÞºpOõœ+Ñûˆm#>½Öãè†À?;n80£UÖ[À`ß”4|¿êÛ ’m®7>×ù}î4´+&º%ÒJýœ™27Rš÷$ZE°&adFeýÁ]ñs/ëj=ÄA™{J× /^{Ám­6HÄõª1M¬E`:öÆj¢…z‰~K^€ÎÖ±nŠiµÛÄ2N}3ÖÓKòDÙèN]F(ý2“6U ±ÍäÉæ/¢Pì#k휦c&‘µ'ß@ËÄAXí¿KJŸY“¸\­ö"Gœ™ˆÒzâÙŠö t/ê©› *Ý!íT]í»ä4þ‰sªQ¾G”TAL>”wÔß¼aº5E™W×ö­ÕG¸r1û¯± z…½+{Ò\S’žõêUO:ŸOSˆÊ|0³–Ì^Ù„ûšX7 uøØ0)§3Xª­°Lªþé%ß÷l'þü¬0 ÚõÐ&:FXZãR1^°'ù i·4±Vü88›‹íB±ÖµØ‚%Ãú­ªòdÿ~ñ¸îîÿõQcA‰W >ð—àõr2âgZÈ(LrR½ ïLhSKÿy‹–Gzbùž)i¡Eñ•<ÿ®ZÌx ¢èöÍènfÁ‰œ½5ŽÚkGHT[UÀøÍ’Ì‚Ñ:hЇ´}ÂÉQÈãbkÚºÏê/@Ûo+·¾Çt!ìUHë­KúS|dãô#bÀY'¢x¥­Ûæúéÿf¼sä —\Kç7T1ö*퇹àYO X’œ–ÞÕËUï +ûx[{úÊT\ |[™&\Ú[}ÚãŠ3`÷Z«¹Ve¯a{@M¥›±o4NdòdC0'ÇDúµ7Qš¡ƒ‚ל&(Χ¡õIäßB<Åï èÏíuVl:Ì%>v[±ï?ftn*okªœ2w8X¤èUDÕ¢l“j÷G;Âgì¹Ò³`³2~a¼—m B[¦cÀ"Îû¡èœKG?\x;I2Ã0'âVíFì¿ï6×A¬B¯b¼W–%Ø¢'øÜù0á~j[OÉvÐ+QáXð"ÉûŽ@1Ú’P¼:§‘N¥ž}–ýݼ1̧ƒùÕ-¸ïÞ×ÌÆÓ$›¿ƒLRd_ÞPº+DEʸ¿M¢ª€§§Ö%ï²ðÿÉÿúá©Ä=6!5óú‘|XÞÜ|;X¼w6xñ×l6¯f5ÆF‚"ga6 "CQÕT€ƒÒY“x²œ޼wfäpö’š)¸\à)0¢-› ¨óäŽù>¬:OgÃŒx\š?À.ù Gïå%ÝF´æhÛ) ,$åhü3 Scˆz:aºJí-€×núEÄÕ½Ó>‡ !ð›V8ñÍ„erjjMÆá½ãÑ1(<êÓfH7È)ƪƒ`;\ÉŸD!sn|b›Œàr µî>µRêØæLæGް~‚ Ú_¹œäÜ4À}Ö?؃šmYkŒ±ê2j}ÜÑr8ªSL%þÅh« lû1Ïpþ啯ÿ…ªr”Ú©L Í-h—–x˜Ìä ŒÝZkåÉLúm&T¢‚Ÿqé+UF½lôôm¼u/@4³N£°&wìâÚ•µJ_6¶ÿBÌrvÁß%x=[ƒËüÁnxÒÌ„ükv[[NWÙ"´~ãj(â4Sþ_“î1…Íj‹. ]gö`gC¹ý3ZçhoÛ3+§þTâuÿt*Š£óÿÓŹ#¨w?tæ!žÃÝMnË Å–¸Ê -u<( ’[HëcXsÛŽÖW\8ÚEåÆíhÒûÞÕ:o5Ÿ¬ f[[þƒÞÕ÷¸L”Œ´þÐBuˆw‰³µì¿mî®ÁتÏ(_‚à2‚UOÍ”ô¨/TšC‹ì ÑMÇÃu ˆ€OF<IûB_Â;âð}@ .ºŠµ#”Ø™é9jèÃQÑž_T®æ6ÊáÖ8KAf)uL:ÁÈ'>Іw!¤©›ÇŠùº}#0B…%º[¯£50ð’SlݸW Ú"\¥gö<1$>0GÙyø vŽÞkÀe[Äûë6ŒÖøž1©|c˜Ä4Z.ÌÆnd/,”jíxZÀè6=ÉÖz® à¤õ?êkëe¿ž‡H+…§Ä¬‘Á‹¿ôÙ[dÜ;éŽë_’"îƒòµKˆ‹g£l¶êCƒ"]\zoäůr-°Þ]q5Ü`o¸Ê±] ,æ¥Ù~s#Çt0µôh·€…óFˆ]´h±´ïµ0I]`{&D’!3:—÷¯÷ Ó¸›2ØÿæÉ…Á¤ÜU#&Njü Nì|3_Uúé¨ÿ/*¥]ƒÏ»i_L]î@ô‘&%Æ6Lb®I¼Ú˜îæ+s/´hj],´³4zƒ@㙼jnkX š)ò®Ëv6QOæÐÇ®´!LÕ"ÑŠvkD¼lÈ‘DÎË{Èëbª;ý¡ˆR¬Õš Ð}ÃÏsܘ]¨W]’¦g<%ÁQ"0'¶øÜôM‚]yq ÂÞ o\v%÷2f+K¾q‡+³/%ôc8œ2ZšQs²o{åI²Æ§µCÛ¾Ÿ U€Ÿç87ÈmD»³^$dJA‘FDÞQ;xÀa³£Õ¯‚¸ãjyLü>\&ðêQÍIŽ Ám‰’'VÚÊKK fnþ]‰0‡cz3гñL[³èxõ2@.¤ÝÚ}mU}%2KåAU˜\¦H¥3Ÿ¡žÍF ‘»r]µí<àq·ƒJ÷iï©ü°,UÓ«m:Mœ¸>  rF¼+ÿ-Ĩr‹Ì a_nia.çÊ63T ãÊàd"ò舂ŒÂ„!Š…AáR¢P̳'’œÙ2t Š5Êq¼ÀòÞ é;o_:èßW¥“~\=/%{™ŸÆ‡m–.ûÀ0n.[Ó]‚HßÄf9­âh -GÌ^tÓÃéØ[Tõƒ^ )‹~Ž3kž»§¡ŠóvXDUzHçqÃiñ~.,¦1*"ùþh"{``ƒéÄ;H ìDžVþ£êTn7 Äz¸NÓúmÅ.¤1FÀ6ÔÎN¢„ªÐ"#–¢¼¦Ó䋳s’pygYf÷Š’“ü",â-bc²ä` }Yú5ˆ…¯Ê´iÐÄaæ@·zì¥ÁÀ \¦{m3ø¦H}ƒ ã–s}ö({T—òÜ>€Å6|d1U(»°ÂÛ’ø‰.Ü+ùr@*pòŽ¢g@Ý,*xÙTÏUŠÏ#p—Ç_ë)ÛêAJŽ>%’V—/„Ñ®‚½rŸ2ÑYØ)Jë13º K†&Q|jt3ÿ9àÙ îS¹ÅcH%´I‰ôßÎ8–?ÅEr{äIò”/Aµ´”È„°ÙL„Cî³–fK®›×£«¶ø«gòÛ§Û&Ù,ÇïL³ƒì‡ó¨¥ø¼¢ \ºÚM¶.]!¤Súä¶¹5.êŒV±e©§zÒdÇïüaC±KIüù}¯]ßóQߺ.íÕ›úÔÿ38ý¥7ù­Ù“G(ÓÏ0ô^GI½º<\q Ò7åãüö_÷£jùd¯[¿»‚8~¿ÝôLCcxE‰S-F!:4¢i‘ß~ºi‹‡ãYRfƒ·\~ЯÐóõjäR£óíèAm™$IŠ…w©‚ÛÆï±=Zvl³þáK—‡ºd²‘­R†< zl†Æ›à=Àó"åQÁ“8ê\whÍ_£ŽÙ*ÐñNügÔÝNNC‡Œq8?õÕ¥ ð…Ðþ±þK‘î;Ì0Q î<Û„ƒ9•]„ÆãL½ì¾c»úßg5'ãÊ.xÞ.ÿÏ·Uxœvü CK^döÌ9&ÏToÕ—h+!ÀÇþê?Ž[±ndrj¤ÆºÈôO«R0ûßn¨É ÞI…®+œK7ž†ÞM— ño›Ðñ$ÚK4`G.q/'ý"öµyk‚ûº^Šœ!ÒúÕâ§~>Û‚B#`þ“ÞÿÁ¨0y¹€î,Ãä²ÿK"ñ ×~6DÀ?ÅóŽÞ0&Þë¯çœ@}D"×qñöxJ'ÅÙç{Ü™¯te&f[ÃF\4÷0¿À‡ ³ªN•m Ý4÷ s1¼{¾gx†¤`üº¾óÈA÷ÙHAömº‰Žð PŸ¤l`Ww-Ÿ—E뀉£àÑäqøˆ–¨ðÅ…ˆ¥Eè@`‹Í©¡¼Fié%dX}ÑÅ+›8‹Mv¢•×{0wX¦D¤ñì€_r .‹ØJÜè,³Ûè¯zž‹–R¯>"7YÊÉ_®ãÂ1yº±üGX/QÍ)©HsëqËE5öòu9×¨Û ÿwvP› -ð/tÙņ›×Šâ=±IŽl¼º„uhÀýÝÔVçD§«åØÑr)Ec PXÍÅz±Ï\’ùKÕO]ØBÔçB j€IáM Ëê+ÙÔç}™‹NÂ]Cü)¯±ê-2‰%A/ÿmù ^wÕ¥r³8èŒms‚íê2NfÜ8™Ç³±ÏÉ‹}Û¨7³í–[Cù!j%¾ÎZÃnp¸ˆ’ü7¥=Y H’wô2V{?õÂà-+LÄ~C§zý&¬¯0w×ýóêã ϱÖF~‘Êí¡¹u5ËÐ郩ÑòUmáõ€X(!r·pCÕýjMÅŠ üÅR˜œ±³$1-`xy‘?†UºA™òÊ?cÑë gî¯ðÙn¥]wPΤ áÖLY¨{7†’Óÿvgæ`Üõþr2PC˜qâPÉp‹à.) eÄH C¢k¯v¡À4";겎s¦Æp8Ѳ9Àj”âѸóÐÊO†{XütÇt@d±šL€Xé§^GæPáÊ·`JÀ°œ dƒw¦[×oJ·H©³ '˘ˆ¼Cg“ÿ²˜yßaÆò’\,á›fL.Ð (y@ƒA'¹sÏ¡sÊøØ´ÙÇ%¸~ºÝƪ)/ëì}<þ”")‚ˆùù÷ëÊŠ £—ÞZQ‰¢ûLBëÁÚŒßoys•ß´Çb¹R$lZ?7 Ê j=ÞÍÆ­ö£*>×ü|îè,Õ¶r¼Ý!ýrØ¤ÏÆUÞ]—ñ7^tôêÃ;«·ŸÌñ»I[Ré ³äËY¹ÖÉ_GR#«zF Õª°ÉÄ:kzïwS{õðV¢íDÛªY±*ž ¾n=F|l  7sʜ堔½|s>‘®¬éŒž×x½«¡ e›2ú ^¦Æ…£b“Ch Ÿ¬Eµõ6Ïá¤ÓàðÄ312çøŠHÓb@‘t“ GˆéòÖMyñâ ½U‹Óò²Ndäá6Û¶]Á®Ù†j^´rÍ9ܾþɹ‰¶W¢4RÛX Ój–$쯯Klô`,•—·ÌͳR(wî SdGé sƒxì], UíV¼0{ >/GÌ›krpÇ dèò±ô:kûºnRñئ"‹Ã };ô¨²ª5;F€A<ùXóÉ¡z•ÓéÊNæeý V¨b–´-È–ÇØåkA²¹Õr)P nð¯¿W½üÆUGíߊù0 d”(Ýw7…ÂvyÐCáÚÁ˜3ò…åv˜3?‡ûôF×)Õ†­)] Ó°¬c÷Ô‰2ÐaTôÃ#=k-©£xýðÃæÝ¾§.0B&§NUå™b<›ŸöJŒeÛ5qNÌç/åÀ|ë!“·Õà2¯cŸg8Ç{eV2o²IOB^ˆxé~ÃZ¨I¥Õýƒ™ ãhÕ üqG»WêfÞZ.FRˆSëç8™1`No<¶7Lñrw¶LüîĹ¥˜Là‹WÛ+8(w_X&965ŒÛ¸e]Ž.^1áÇl)WÏT©hgØnûCü{¸²(Å<]Íä–î‹q+. TKULf?»Ï-”yÌ+Ë‘õM÷Q#1ÞÀ¢aõ\à ÷ƒÛ jýòÏ:Žj·…!²ók#$›ÕMéìhÜjªÄ³úÓ{¬XNæQµ³ãRÕD!»Ù²üåóŵž¬_ZV ê—uCa]”k vŸ7„ðƒòkxmýÝ q©žr ÌvwZ¬ßñ¾hì”Öuþ]îF’ãŽÄzç¹JJÅ52Eú˜Õ£^ïKly.9‚CÇ:"gäþºo5VR’Q>ÍûvbíÐ3¢LÂ~îI¢w42 Üöþžý^s`yä#þª éWðÌýõBŽñS².6à~$ ¤µ´ÞS»Ï{eóäHÌŠ™4]÷VµtÀ¯qp½ÆßÖ# uä˜?'J&=N•u„—½#¶…ÑÝß‘]˜£ßõçk¡?)„c!'û÷„ÄO4M¿½+ÝB÷uèb›G-Pè Ãƒò_ÂrÍe¹Ó⌉z™`œŸ¬Ýœÿhw!,9’âk"ÿbNc÷LçœGAµAâUX‚ßLóÎÖ¥XŸ²áï"êjh“>E/®«õmê}ÞK²ï_`)NYÁÄf@Û<ôSÝΉ±Å6<çéÔlEÙÐ_äe¼¢Á¦ÆG,%ÑŽÏYÐß"§R4£³¬mÅôÉzó·ôM~A*rè`5àǸº÷E›ÐCùòc‹­ ¨e6!‚Îó’Kð?˶BêW¼@3Á?½Òá(ÒÌLÂç`¾Ò޽²Œ‹™*ë¤ÑÓŒ§¤—¡°!ìÇг+A†ÒLNÈ`|½á^$Ù¥ 0¼˜¨S3§þÏ¿Cþâ´ñBég4’pY§P’œ ^–Hn¶{°È¥MAPñçý_"Ö—/ªLo2Iù07»<2à§F“U*Ù_:n$Í •$[Œ¶XÀœÌ·9`;\Õ¯?O¿¸€X¦sPQ)˜éú–>X "-¡…^Ðg'›~9p|¹^€™TOÑ,aB2»õﺫFòôÞM‰þAƒ”_þè> Šn¦2{ u|ž‚A+@ §äÊúD¸LY–Þ¼¢$ßîÄeb ‡ ©O -ªÚÐà–{|Å3UŒcÜN=Í[D-Ì¿„:$J©Â­Úw;D‹ |çæñï‘m6Ž+=Å•GÔÿÛ'÷C>^4½[–ûøT® ŽStË‘¶¬1høÐDlCM´p9%:Iʯh¿½­_8ùýÿ9ÏÎ pÇúRzÌ@º$&gÇ9ÅòŸ±üÒmØvÕŸW§v^Û¤¯y]€rW(Ad3SÊÂM©"ƒ2ôÎ}KL7 ðûÜÒ Ä€-äeèC†ýñ4%[,]ۜѸI‘æÒ:³¬%P‡ òµÞrÍÛWe=ÎfšÙ[°“Xª×QóE&ð_J4— ­£í¬ôì*Þ ÐÖ%pUVÊ«ÇìäôÚ:p»+éÞeôà4j¿=Ž-°Î¡pæàa»Îoÿˆ<½Ÿ5ÀKP§R6/-áQPOq½%q¡úýîm‡Qò6¶/JÜß×å›1[]¯M¤ƒ¿yLà×ò ѵ©öýÞ¶ 1Òéõ÷ßÀY‹Õ6i! çr!µKƒÓ/š¶ædž¯<)"@&t›oØŒXE,uC¹lcª«É'±ê£i2ŠG·£"î)…%™<œLº<òùzñBSNð~Ÿ!©6§Øo®Õ³>Ÿ-ŸbÛ”¤ƒ¿´‡«¬Güaëú`*-çv ºÛ~ÕAëÞ§ót™¿u|V®ÿ—¥“!kÖäCÐI@evÂöŠYœv&g³Öt0Œ˜ü_Ë—ýU[9®Ç0ð¡n‹äUùL3,¼™.‡2ëáV=‘—nZÇcy\í%çÁÐâ¶±…¿!¦Ñ”brY¤¨k&­+åùo²<žc²$ÃLœÆVÏ—0áK|Èž•uh$ÿ»iø£ao‡hFTÈAÎý¥m“*̦< ¼3þªê\^Abrþ]3'Õñ‚ÛòÈÜ/x¼··Ò`h\œTt–Pÿ„ï0H¥à‚Íú±þUH™ïÔS‹-Ðb8¦öÛ¹E²Sìå3x˜â÷¼Ì.Œ3â ïVž¬Ú‘ÎâÛT²JdŸg9¹Rô÷ë /¾…º}Ôz„/´Ù§òõ¼åp/NhÞ¬^9ìÉHó—®ea·œˆ ÌlØ€Ö†µ‰pLäå7ÈvÝ^p–0Ý+ž¿È‰Ÿª ß*¿£Æwç&ó Ö}ãŸABò—å ÂÊoÃÝÒ¢|÷c¥bgvçwüþb}¥º%ÝÀ`‚åµD@çéy¶f‘çaÓ""Ü%:n®h_l1±d‡DâJkHð«..• ƒ¡œiK"é`ôúTô÷~ÀA 4d©Šoëã—hq³ð_;I¨m«Ò»9¢ÍSöê6­¹Û•8ŠÚ„øÁ8¨BÎýµûÐ$œÝȼ7¡A(€ímˆ§×¢ 41ÈEö^âèà,ßüÌ…Ô®Á0‘wì0áNÛ£íŽÝ§¥‹PüáÉ•ÌÞ!~Ü`Ó y²ô®]‰äºï;b "ƒèð<€êvm°é0o¦r‚Æ©Á“ò–rCë%gÛ’ `‚†HÐRjžäf1àB(óräh±WNYïÌÜMA¥Ly÷Ù˜t’@¶B×ãR÷GÛBF›‘%%jàœñ#w­¯J•„o‰EÆÐY»é‘HºJúñ+I¸ÚÇö>Í(£l›£f¢¤ÉPjx'E(®d$¹©YÈT"sè×® É9x¦†> CÛY²–)o¦Ññ?> Ý©ÂhÕòµ¿× ΄¨4àÞͤžWz<ö{&KÏV#;¦*6´4lñéoĨ)޹fgWa8Åõt+  šÏ$¨·üU{<ËîúK]“ RTSDõçAÔŠýuS‘äú4àãœ>ÙG¿‘´ô2‚pÁ^%ÎÍ‚J3ý  Ò7 ó ÂŠ·8]QÏùü¡‡ÎâÍÃrTŒ’Î]Ùõ][€ìÊ–'IBãC©:—sYG\‹Ú$Âåe¡ž¶Ž À]+ÍÈj¤ÎÏp¶ÇÔ„ ôÉhøðôŨp×®Š`2âÄ\åä†íö‚ ‡½Ð×Gn·K½“NCëJi8wÈÉŸW0뀀ßé¯T7n»{‘ɰ•n(l²Q'®K¢åht¸§ØG‘~¡Óëòý­mBlÍõÃ:?†ZKúF˜ðé1HIƒ8{òmáKسÌñË€CdYU8óSÞ@ÀõàJl¶º}#Çh!'¼S…å4nKïÏèH›[,²nºúìN¥‚ÛDUüÏ Ýd–†TZ‡ Z|ö¨ >pÈ–Vª·s5†ŬÜwü””Ûæȧð:¥®$‹v«S&í½°ƒ8«•«Yö_–Ò 6㥕Y[ÄX|ÇÚ°â³VSØpVûYºåÝ+áø =#(*'Óþ¥osÌt;;NSÐR­uéS´ª§€ǘ€K4Nõð^ý`V9ÕžÌôÄn¿Ú‡§ŒÂ·rùZ m‹—'ÓlÁÅÚ;Dvmo½ë´—ÇZdÅÓªU³6D!¤ÀUÝ{¼¹ÁÖynɰÚÜÍVóBŒÑ¡—eÐaýîeBO·‡ý¹CÞˆµï¬|­ôyV¡R”×PDïFÁ8×4q’³5³g—…˜ ø>hI ‰,{È#;"Š4ê²&Øšø?ñˆê ð#ÒQ|îJ8åÌ~Dœðµ&Æ&÷¬£ U®¥öðmpâ¸Á*¤±úàe„’wv#Ÿ©‹Ä9bú]§Õç“ ½­ýòZ»³Úª†ô" ù çù=ã¼ÆH÷¢À€tuçìj‹tä«6qj!ôÙüCëød,på3‚’‰oEÏŽ±ð£øÑ/xÿÌPr¶stïéßF¢ýý#ŒÅyŠuóèÔ=¬Ùxà~¬Ù‚ᛳ}?åx! 7pRÏEþN!”´ÌÊ~Æ>°yÐùì,(àeŸg e¦Ÿý¤hî¾jiÐ2©vâê/ž­ ý ÛõÿmF ‡Žt)GQ‘άjîkGàšC3¤Ôõ;¤ ¡£óYÞ•ÅÓ‡ˆÚ\þÑB¬¿_Ђ³àb×Y9ŒcM®=©[ß·‡îµäá+w>>ëÀi™qÝ:ÊAxK!>›©Ðy `Ï߈6·º~ Õâ³æwtFóéÐ#o˜F3÷š£»?¹Éj¦×÷ÜÒ[Â9ºí=í£'º£€â+¤WTYòü%v¾é;ªJβݦówd#iˆtÉ¢7©„~wUæ‹áš!Ø+añ6 òÑ‘­â ™‡ŽÞÑüÀ,@Lï§x¶GïØ©ùôÍ[擊x´Ö«ú8Om2Y¿ÐéKšb>×U ø¶Ñêya!ìÁ(çZ¹ÅèÔD¶Ï­œG¹…hc6bŒm”l‰ïˆú;ï{³ÑHÈÊ|G"½&·VÝ&UR–ÊʉS)ßYùPo&êXÃ<àPJš2‘£oû¾¿i&ãõ¹|«Ÿ(4Šî~|0…‹Ô2ºa~+öºŠÙÒƒEüa’3çóuû÷:w뜂ÊÚºƒ»cDþjF%Kqãjh½jù ó/ülZ\Šj8W§]P¤ÑõVÎD0ìÛ{´óô³3ª=Ðko³dSoþšÓÍëÜÃÝÆ‰t!~ò<ª†ìô]΋ÉBÔ&–õHü&_'X—Xg¥䎓^å\GÍrdãÊÕ¡nô÷}ÊzdÜmHÌ$­ÇQõ`pߟ헺l¦ 4)0MmixZ¾´¬t^ ¶B¾/N9ñ``¹oGuó ²ÃgÂ}zWˆMYŽMû]MσL3±Fý0Læ&gûïs´Ø~æ´ÃT&»ßøm•Ù‘/u…µ8í!€Ø“4~#)P¦¡º¡Ÿ¿±~3²øHÛ8ŧšÅO:äöÁßßö˜7þÖcñ4·5 ß*ÙSËÇ› ˆÙµµb÷Cü¨&ƒDª^Wô,Nn3yuƒ˜É]Ú'X‚¢Èàò@4 ÀycºY:»j7 ðûÉóžC¤ÁH -Ô¦»Òpâí+7™g[¬’ùÕßÒS‚ÁÑ·*;¶AF¹ Œª?×kÅŽa¸Í¸¬ÌVµÕ?7 € ÂW…Õ¸O¥Qz»[’©vîÓ Î–æÈuKRçÁ÷庨mÊGb¸ñpÇêÜOÛdzEÖÆÈ•Ód?¢‘¬†:::…jKïVo¥Æ³÷¯á$Òu%2“ ©ÕoYþ‡<Šæ!M ëÓ»Ù…tV|û$dsB ]ÑyT ÜŒ8—_ÙBˆI4vÛ¹Z®¸S-Êvc½'ЙöƒÙÙ‘)yyäýþØÂæ­». kÌüãÇPGa¦MzÓߟ“¿g[FÀ¤õ ÂmjÄèákaRƒžðâ:ʳ–ãŽÂB 3汘f|—cñc²+»nBN†@d»ãÍ 6X…Á БúWåx[yŠg¦¨þ{ÉP 4÷ @úA“kõ6Í®$žŸðo°¯œDôÞ#×êhñ_j ça‚´öà¦?AU>0pŸhK Êγš#ÖæÓ®ª oùchªË×®5aLà”èyY >ãÅxl Spú¼zÌÚ¶t¢Ô—Š…ñÁ tGÌò—‘C®¡¡–SrÆ^Z÷² æäô+¿ýkŒ¬ÊèSâ|ª?P5_y`µ”ÙU@§ŒúYÕä§3Û¢&'àX „çŒ> ÿ¼^À .g²UöÐ_PÐD­Ýµá4lâ¢n×󒿇´‡Û¿¨æQ–Zna»00pÔ¤æø²;i~ß•.ÓD­Û£ €X0UiÊ9ÏqÈž7ë?*¸/¦abt¨Fv6[‡ÜzÒµ!-‰¨¦½xM,سzÄÞtïH¥E‡­,HÉ^1{º»•[QqNðûŽŸ%V? ÃÃú"cÖù¯¶À#LÿÐRˆ§¬ñ•ù5ç0Vp¡ø<–×EÃ9ok¤HíÖM×^!SßÒï‚PE1|xªB7âÃ,R ö^V”Dš²Mùãƒ'Å||f± õ1Ž9±“\Ô.”?ðb}i§ý@Ôú÷‹{HƒF"AÂçcÚ·'>™Œ•ˆ…±G–Á¿24˜AªbeA—„កf÷òæPÖb¹±D˜´lKqFZð™°Ìñ•N¿â‰ ã »?£ñî= ² ¨´h°9 膳ÁÃÕ€ yÏ»F5yÉF*ͱFÍž¹/Y*ëÍÜP`1UG;ðÞ™g²¾!órb(›"| mÈ€»ä‡²mÌ s©¶¨Ø45¢·­° Š~ÈÈü“R±ˆ×uBI¦Æ&wä((¦,F’],ß8ÿ¹î‡R“kÄïþ: äË•œxÒ hú7:ˆihß›}ʬ\±;y…`¡fÔÎgÏnäЛð û”YÞ‡Ž/h8Ô6ˆÍ²PSzr=dãI $,É?±:ÜnŸÁ±Ž%™“nüC‰ Õcq´î¦¯¡yÞkJèÃ^•/¬›>>6Ê`ùinu{óÜÿí]{UôVlG¤Ð%M«%SË&å…Ähè|ߤ‹hÙ»äŠèR;½bb*qF®®Ÿ=#Ýøàóà`¼/-Yr^±ø4Ijbmñ€½ÎŸ/ ¡ã‚þg_f~WA?m³„ЗLi«9d'©óC“~„}SêNë'•âßÀ ¼ò’¹ŽJĽžu3à¥B ewàº:UÍRUeÅ6 óe‰ö­ã“äõµw½5Å^êaüúݼ‰ì¯4v*òîMsJk(õ]KØmG…à^H³Ô^KS#²¼±lB-3à¹<ô<+ bröÚ)6ß+ò ŒÕàµKT­ ­±.¶É¡Vh(»í„C̈óuY¼Ã&Ö ˆV­ãd-­³ÐœÞµ/Õzcˆó Ö¶¹Ò=0]KFìh^Û†tÊ»ŠJ³¥a…Ìž,’ÒSyÕûº-í¼EJ£“éBµÊoäV²¬hñ­‚í`ü á—‘ ¨âç—ÁbÇÿ[u®Ç Nv®*ÀW·‰qõ÷iB§™GîPz ¬#kˆ¹½º¼?÷`aöÝ»wÛµŽÑ/£f‹$…ÓHWôüõ*ö(œÕ+¯n— À«§ö’hqšN: /÷ÍÝ1™êõÐÙôcum<ºuŸA¯*x5L°[Ç¡þÙk²w†•°|•ÊtÐ+˜B±«¬òÚ h¡ôaÅ­hfãIvIÉ{¿Ž€Àã(€é”õó£6„]©Óa© `@çÜxkü`öŠ¢nÜgéc4?µÖw>ê+;{JºæM0›Ï"?vÜœý¼V¸í·Æƒæ+¾Xä´B•çí/C±—éЋÿë]ÈéTé8£©v`Ä–Uû¢÷0¥ÕùGŽF™Ž"óvœY?¬·:à¥$þãÅ0öF…bŽ/9à%ÂÐ2MRÚI{¬#È|4Ü-Ä\ÈMôãúµ/Á@<`›±‹{Ðò}Ùª«Ch XSÆŒI§—E`jK4ð ÌFìfz‹ƒÔþ½áÁgæ¤s¶¹õ»=ï_4ÿ¬•}›ý¡»[Aí7ÍÕoãè·o1¸D•„çÿ¿pùxïOTÃÐB6øŽ¸Ýtm!g˜­÷ÿߤaç³z\•£Þ‹R”„a”‘rêÓ+{LÏ9àYè§™µa5‡ŠáŠ ´n’ªÍ@è#…÷téÒ&g`±R&a¸|©9yë*òÅ8åË„!ÄKÐ3«‹ÀÈ€t±R ˆï8—Ž®ý™ê~ÆüŸº‘ÆÜ(ªR'›—n"UÛ iú*ôpâKãVÚ¬”-°És5“½Á›;WÈ:/æÄà²×¦ûGñi6ö§~ šJnîSkCpy1VD»˜QXßÅ—«…¬d)·#^gMrRÙÖÃÊFÕ¢`÷ºÕnelÛ'^ÂTþ÷q“…IY¦bl$JÅÈn•›uÞ»¬øú"Æ g¶­&åß®[½Z‘X¥Å›ÜS“¸?h€b=6²R° _8žS}äš×‡}aÛqíeñWã¯ÀÀV¥€Ú…EìÈ/cµ8tŒ9”Á<úeÊwÛ½úÑ‚½øêþ¹rÞ\þÂL"UÎ9ºjEys¦µf?è‰ÄNÆÜ5… „ÒëüçóH²LÇ—¬ˆ £}áöïÁwÃ|G>¡Í)u'¿&ÙØí6ç©®É/ò»Þ¹ªÔ,•ÀjlcD"¤;‡‹·È¨@¹&!ÆKà-:à ¦S@*JK~øÚ «{è®)*ºù–Õù‘Ù~>)\]£Tê~€:Y’ùkÓ*$¾5ðêµÀ¤bo>Töh?f›°®ï8ƒg‡ô3t‘Xr Æÿ±Á}çUŠg›1X>G©Ö89yèjèBðê¦oÀ™,4¡ G«Ø¬íåó0ÒO/h÷דRudä×ÎûqLôèý¸Þ åÝÓã׬¹ÍN[‡ª4µÏºµÅÛ¼¢qðáH6ኞ½°BbÂtÑàÕ\D wìtÆÀòÒƒ8‰…(÷ÅÛû¼U:â22>:˜L"N?H9oú6^&“^®Ú<-'¼Q-Y‡š^@YtÓ)ýyAŸ,Ñ?b»WºxºGNÒ»8å€OôÒ™ ðcX¨+9)`ã ä_59P#‡Ri4^犙s‡áŒ¯˜ ÊгàvkË$óQ ™#x´>Ž``R£œ:çY³`eí3»ïC¾ý†UK\· ™F%ó²ƒÓroW‹ŒÑ›u·}K˜;/5csáN)9¡(ÔÅÛÍ6D.³JDäÎÍ a79CÇlq¥çv¡Yîo8w®}Ó”ñ(ÃïÝ„û´ïCGÞ%‡ÌøV^½ >IÁPf L-°×5ÑÛÖ¢¨qmE±ÓpæÔ¡¾~C¶s¡ãg4ü#‰põöoïNBk•G“†èâÄAU“’¥;ÞK7–ÒÔG$B6‰EÇ-ÿæ™PÇ”~ªÓ®×Yðš‘ ýT†òʤ¾ÃeOš-¦%œv  ¨ÌÎ÷0~‹´ð„Ùj »¯Hý«àÊp3ð6Y˜+Ž%}Is½Å D-c25ºp¢¸œÌÆôÜÊ7ƒƒc¼%B ã5j”WWMº%q¸©¶{÷`~übUB6ÿÓŠ ®áL<™„X¡4~Ã%„¶áNª]ÓŠM=bm÷Þ¥GÎBj|ð—ÉÿOå€*&eèõuÃ&ùÍgí lë1x¶7\Ä}•]ô”àÜÛ#ó~„i3ÏÓlG‹ü€ÁMv>$‘ŒiÓ…Úwçm‚„óÇ.’’xáQ2LÛ´*}èý¢J=©qpï °­E'£°(Ãá¾ÿÎ@ûp½H©£2Á8ÛXq6¸;•äÿˆ³Ùø›ˆÍ “£³uWù3pÙŠ\,7wí›ëÆuanÓ“§ÃÛÚ2l¡Ó-8Øa™©«¢>Ÿñ :º[c0AÆZ3utc«‰" ã³f#/vÍ‚˜<ŒS tZl$ÀeCFTÞĮ̂‡j¢´¢d"§»ÃÌqblÊ5øÔθæÊ[¡TäS>A×ÔÎ:´+c„èÛ[*<Ô-ôÀß+= ¿>ºÇ~”äñ­Ì+ãñ‚?ûbº€âø/-2ŤÂ+v‘%Ú¡}÷Þé¯óy6Ÿzóµ_!çÔµ´çi°é%ã)è¹¾y¸ ¼?4ÿ°ÓZ[»;Í“VÕ>Å|$|‹¶ËØâ‰†àŒ/ñBÅË/¸Ž)¥d0ª¶P•ÝQç¨&åÙ_°á†œ$†Á9‹B*©…Pô3±šT¼G¹dMÝûyŽô ,xô% k±¦4SôàæÀöªæ¶}ÈŒ;Àʘ4ø½w¶÷ùäG® å€LÙ7΋~D˜-µs‘®fóh…’Unà MÙ¥GO¼Æ«ô\ iŽz¨U‰Wk³~nc˜‰iãÄgÕx=³èÌÀ,ë µ·4&@d“¥ Õ¦"ÁG}ñ'y¼ãö\HTÀ5Ùè­SZ­#?/;PxDÞzpÌr2έŸœ|Š9ì»ùUÌÛ¤Îp>;94Œk3xP+âAÆ+×Åè΃ÔÅ àUì@p`ekß¾î>Àzá¹uªë@jß;»È½2l0ó©*ä˜ãí÷ÆI;<²-”uÃ- ¡ŠÉGMAw0·Ò¦Õb,ñeàw/mÁ`”ÝŽaÓ|–ŒT¹³‡ÓÄbmñ~pˆå‰$n‰f<Ô`{>ù$«£[²1m¸7$ûaêDYdP‚e½^‰Uß>]ƒo kFøGÄÙXébÕ£¨Uê§„-¦\!Ò>ŠÚ§ öÃ!¥t”=¡éjº¤ñP!”›.•IÃW¯5M¾P´ýæ*wéFº_zE"…4Ÿ ”Cq gÏjEž àÚ½+ʸ¸J#Ÿ WNÁ÷»ô.FÓ`ëC(4{ºª“`½í$ßÚô@lüýßÔ ÐPÏThï´· ÐôµŠ}8ñÔ»±â/E§k´.6’=Ÿ1®g¡Lm®)#ŒÅ,ŒÅ2sBa6~I·ŽíÁî_fZGë¸R§ìaôH`umïLÖܲ™0ìK˜ã\ FÊÕJdç$v¨qº}8¾ÉÎÑ*€”õíå«Ú©µÀÖá—E„y7~*ò°Lm!x®Oð³9$Õôå^#_W.kk`b¸×¿i³04W‡†Éw$äëL)Qu{k~¥4«Ç h~îý©ÁÜkü‚II{4z±ÿ… 5Qi3¥1 d£`C…ú9Pì¿>~±:èÞ’gžÍÝò]ªd•5É|®ž]Ð ú$)àê,{¡b;™’Ìu:'›&dj*fý#Ëc—Ì»´<Ø)*¤àÍðS„oÐMÝß[¸Sñp)¬.oŒCTÔ©_m¿#RðÚ ;¦HÏð x“[xA 3?èô…þ¦yÔ&”ÈÆ×_bÎ >žöë#°·A‡#^ @tlDÖ–‚®‡¥\ì=]>‘ÿ[èjÐ1ôôÓÄú 1”ê€XòGÁ4˜”ý&Çj*|D|ÕÖ ±ƒ!šá5 ãû&žðä¡$ò°•Ÿÿ,âŠ$ºâpsû\HQó+äê•¡ÆMÂé;¨ŒO±wCÁÚ2¸!G‚ž¦BóÉ“ýµ¹ÉCµ6õj‹( :©ý§¤<Æþ#¡Ï‹†£÷‹µjpãw|Ç~°1¼®œ~_Š%ºKÁ‚ "nŸl‡ uq:µozo£œŽ_¥€,¥qŒæt#nWmýsë®™ó«näµ¾ ¦ÂÇ5î’©hÙ´=Ïvm‚ËvÒ(O2†*ÔJÆ‚/½Ð·A[ÞÖßö]™ }:5ÊZ„íÂèéaÝUâmXûV.Ï:ð9Ï+r¯ †p;AÒæÎ@ÿG8;Çœ9©Ù‘o[í´¯·Eó½u=©,Gú‡ãŽü–¸íŒrü8+b-_úîPºsg¡v”§‚,Á+‹ßZw`E´öF“¤ÍAñ¼½ºO±ÜÎne:6tjÐýàÁšÄÕ9 _?œœv5"#4·àŸ¼•Í ¿cφFOV–ö<ˆâl5PÉrûƒ+«{°¾;MÚG´ú‡@h½¯kZHLPÃGqëD7ä‘å4¼=QnÏ»M˜W|)Jö5¦›$ë0#ØDÃnü:F[]ïÎÅ­÷ ˜56ÛþnM¯½tWd#±\itø ûÍ•N€wV1{MNŒ|׊ÙÀ/ D zÊC}V6s=Frá7g U(¸Ký›‡L6œF­kX8º¶E ­æ;nD(˜ÄßáÔÂIAy[zŽâS²b}\z° Ò6± '#ý7…c…ØÂξN¡L­?~înaßL ÿKÜÜ5ÌÈù†#W!Sn‡Æ'„¬.ñþÌd«É³~sÕ¡Ž·¥‚™0­Ê“!žŸ4ý‚mà;’%•6Þ&ÿSïwÚýøïïvWv™ûµËhÆCÿy>º5…= "ÙYjÓ+õZƒktÍiú1Wµ“@k*?u[žÚÂÈr°Ù+×SòÄŽaÍÝŠy_%Þ/lÿ|››fÚ¥?­ Ÿ`ÏiÛ-{Öv3Ù~¥É4)Õ‡ò’f1²Ó¥„ј]"kNyÓô©‹* ÙæË(kVÜš"§}IQ¢òrRŠ™|€ô~«©›îq:+$KȸÁ•ˆžújL“̵̞ˆñêvÅ,¦5hð“N’̇2( ,AòL«mfQ”P#\5®†Ö• l2{ñWé ò;üÂlbR–¨4&ZÔbšÿŽj ‰…F&_»†ÙÔFË£‚r¾œf kHª¬m³Pþ¦u¦i&+e4¹ ™,â‹ Á§öB'4„[Ì[ò9§Šh?ìc<˜©âÇôdô­ÔD2Gí'Dœ?‚Ž|Fü{Iγ¸5+ÕÁxÄT; –Ïâ¡gX|ŸÏÁ‡äÍ{ŽSïÀŇӿÉ+bÙt{•Iù}m(¦Ãë´¹ƒJ<_ˆ6µÛ:ªTªØ/õßËûÑ"šTO§åµÒ°`‡˜>9ÛõŒ `ñð±W%•¶G“iÙ0vÛá¹]Û¨È6¹{j®¦“÷3£A“ó×I eà-ÑÊÜãIKOœC3®/Ùi‡D_9ý™Û±þÌî¼…+¦†s\z¢|Z>û÷lè¿IŒîµÑYµÑc½d3 úù&Ï ¶2Š3x FÁ0÷ùô[ïgŸ˜)cçÔï¤-0h;È©m´ÓWÿ42ñìNé«u85ÕèÒ¢˜žÇSØ~0ÍáNeÍ pó>°jSÕÄÉ%IšöúÈQZÇõü‰ä„JíyÓûÜÉ–ýˆÃY™‘x´Qm>V¨„[d¯@…íýPθ—jW!¬! º ÷²#³oc¿ÔµF¶0›4¾4­{¯Ç_²<ôÚë¹,|Zo_®s`F`‚Ðû3“‡Ší¤rÑØC‰¶KÛÊqƒT!ðe,Ó#»ï ³ƒšprœÔY'œ–•žð(£Ž}.4 iS’hP©Ü,-j]¶Öé ©r´lPÓÜ^v‘KŸLà® OcÁ ’En—LVcxxÓãø…«qÛLÚÿæØµ•:©ÚRåÛ¨‘'—М›?`¸¢(·Q¯0)êÒjY±CHì™%÷|פ ;Na¾3}| ÈkÙ œðÞxè¯1"lÕ•ï›h1P¯Õ—SW°ÅÓçQ–_ÐÏOj²^UÙü6–Ιˆùæôv\‘ìÒ„õ ’`½@êP*-.wNÒx¬ÙÇo9CAbówyX„ÉÌÞ"›ðöq¨®àîÁ&LóhX¨²9¡> SÌ+ÙëKøÕËȈéyô]‚ ï Ô.™É¸ ‹ð-å´\ë éŠbÃ;¿ï7çJH †Õ´eÆ ƒ0UâÍF~äK‰ŽLÏ–ü]F%Øìå`67é5ߟwp#]MÛ¸hw‘üLÊ:dõQà'MGˆâ(ÉÆÐ¹[~ÆDåú·,ÙUŸ5I:Àk—ÑᎻ‰Y@K˜ß±_r+$UÔ$Bî-1¹,b†Ð;w§é»þé].ʇ32ˆ,V¯¸Y^ÃG!iâ¨Òjúpz…kP@¼£UýÚ›ÏZ©íßu&Y@)šFâàÈælcý›€¸Á7³p°Ù4è»ËÚÆx4ƒšøÿdCDû!Þ ŒÏ-ü§ùìÈ<ëk»R ?™öî)T©™gÓDv¦pÙi}@b@çZ3ÜKKÙT•¿jV.(Õ°Y5F2Þ¾&OãŒ'—›G&àJÔU°M¨ËçѱKDSIJ%ߪЛ¶&ÙñÆiÑ~®×¬Q<Ù¢`maOª'b,§Q “Ú£)›êˆ£çHÈÛFT3•CíX™'°ÝÅÂÓO‘äyódMÉ7kxà3Ɉ¸0U©ZÌsR¥{óÊc‹/Ö-o ûòBÁduZ‚ba¨;ëðo¥‚»–\“µ„ÿýìö:U•ÝÊ犄¤ºj£8>FcS,]rÔû“)Å]ý}Š-Ð"ƒ[û°uí,åk‚` FeŸú jÞãX!ÿ¨WaÕ› ÆÁêÀu•=0Œ«ÌƒAÚ¶–Áß.Ûp@Í ¦Äi¼€M‘è˜\ƒ·ýBøLmÛVKfíÊDŠhÀoc×úù櫲é ÚÃ…Ð7šS,&ÕbÃÛÅeSA̾y  F&àsÕ Å(ÛÕ]q§ÌÝ5ayùèø•-„ÿø(lk‡ÓXÒ_ ä2AµYÖzG“pÑÇæö…Ã~ >ÿ #ån<ÑÊ…êð°øqÓýXii@.0Mâ9æ5éЍô|DÝ»–S·˜î†žOxï#îOÀ,B--¿öç⻺¸a: u‰måXÖIIˆùyÒ°g×5ï»L‰¼ó$/ªc*ž»Bÿ,ŒBîÿ¿¸Õóé|VHC¤¯<2qyB'Š›|tÄ''³ãÿ–ä›öo:~ñ@)“Aê‹|ÑGI+¶„®>‘•³tBY¦USèÚŒ[_uì!÷‚Ÿ¨MUå1]+Õv&ÏHMvÏÕ¸öŒÉe":™Á ]aŽ îíe×—yƨ¬ü†r•i/9Zè§Œ„{2¶{íѶà{_´›‰Òõ `›ØÍ!¼yw0Á¦™$÷HKOpˆ®?x’‰+%#ÒuøœÚá!¸` Ms©ÛØ‚†ûçñÓ2› Ó¿K/ÚÀ.Å´¨2éú×LëØÏ 6~h$ Ézé…€†m+jÃì?ô_ÀIòK¡Š6<[Qöÿ'Ïo솭µÝ":¨ßÈoñªú†!À×®p,öT “}{÷ 4tÕP ÄfªQ˜!ZÌ•ü'”©ÀNI5ëtcëü\*<RgÞ6àâ'¦ÿ˜uvK%øÍ f6xëVÊè´'Ibà“eÄÌžHóƒV­‘}*ª];š…ºãÌÊ_æm_}ð%nZà\øŠÿK"‹mèzñXkBÕB˜2ÜòNcE¸?3²ãꙪù‚A[è-E^=cŽž¼xîRÇÃ"!*XùÆ×›,‚íJ6Q°ÊÒ5V…,uéŠóòÈipq5Oh˜üF\§Ñ⿨2Jñ À="‹Øñø©¥jö)ÊØä‰©¯Køj.¶D‹§ðáx “6{ß·y9*ñW2…͔۲V¼qK[ÖÒj"j¥Î¨4G`0|BS.4’Çʟľý)«ÀLQö»$è$+9ê/y÷·+Ý*ÃÍ=¤¡Üë†z» 8T_+†!3n…é+”£ü\÷=u 3®œZã¹APæ t/X[êέ|Ý’ÚÅoá‰@Loñšr~ÁÄú´ˆÅ+è—ühÒÜ 9Mú¥gÊ0!ÝG…"ƒlä†G«mç²¢ÿØûm.Ñm†ü W'Ø\(&2\m3˜×ׂÅFh”#b uhâUèn3ú]‰þ·ÆNåÆä¤“}ÇØi|˜b,VPI)K¡å–<½ú·ÃïòžUðÆ¡½Ñø{À‚ªˆõB’@A Ýu¶dŽ2rx†›õ\^,Ì2+s=„*q–ˆÐ Q³Ð5ç®=,ãk-±†ü8Z”º¬Ì%p‰<Ó ºè #î±uOÒ˜’>×D7«ërè±ÞºF@î‹pO'GP,½” U—Ò¿yß”4 &˜]ÃÅ“4Ó ¼õ‘òŠ}ÈüâTЊÒEim«?Ñꑸ~!ú×_{ôÃ$K¹T!¶d‘WYhùº˜` šéºÆÕ8yˆ®1‘ãæR­åt·Ô‘jÖK  2¹p¦ eþÆkülb4'Þ Ohe ¯÷Ð×R¹Ü)H}LõØÚÑk±ü¿Ü®M»¦éH”o( ‹6™UæËâ›=‡=híºEý |Ùå4X´^æÒ8'l$–uãf^OY£ÎÔæDr1uŵÒr ù‚|î0ç`Á1góznÈ—f]µ’Åsw$kþÕÀòŸBY“ ðGšTQ Ù=+¯£žS"Ÿì»¢VNßHW˜Wö€7_žy%ÁÖ]ŸJ¸MëÌ„#-K×:½/![‘(¯ .3q×´¤b°+r]åà éÌÊ£íã7~ûÞ…–•ió ÐdqØÎ Û«×*÷V®Ç/pwVVIÂ6qlØ›ÍWâ˜".•ׇYE lÀ¡Œ&Õ1ou‰+Õõ¹g¯c‡¨Í}eq°Ý€uÙʼn%óu6>àQŒÛy@@ëæΪú¨E¥æÏ©u¡Ç[6;+·)Ô ýò.Ä샼9ª3Œ¤½úµ†ë2ªZáxûá3àÌŸÚpmI}qe|N ­ðóö)TïîÜȧè–Vˆ†0žŽG" ÚÜÚDæÁ!dð~G<øL$eçv£fæ~õ M›lÆ1å[Ї¿±ÏÏÉ!ùÙ/2ô娒׷b6‰Êk-ŽêTuâÈôÓ<ÊÚ‰óÉø›o:˜Ÿx!ª6cæ‹( ÿÔòU\ƒØÊ©>û!ºŠÓÅDd>ÅpÒÈ9›ZGþ…Kw·hÄ„ó<&Þ¦ô[¼X~”ì:[Ú¹W½i¯g0H¥©JÃîzzÎ ›¢Ôb)·ZZÁ«Ë_™Å]Ø670)ýž]6Ûy |Û]~2¥yìû¼óy÷>8žÕZyHõ*V [æ|55bˆnq\̓Q9µhKõi~™iÀo‚‹O EX,Òצ74>=ôQÑÌ~Ž÷[žWhð/yªÅ`Ç7 öqWK _L] :[¡2mF¦i1Žz6Æ™²© qÇdG·;Á“Á¬2ÆJZU +ë_}†¨$.Þ[1&f}§7Ú%“u÷ ãì¥õ#›f´z“˸øöpPމ¡{”º·@zÒßj˜G”;§K›=¹fWŠ’KÐÊÜtZ7s†Ê|H›xô;`D´¥§yL«× ŽÔ—3MZ½È |ß{²*GÆO’qz É֦ Orn~4*Ëú,µ“e+ä½rÀÒ¯=t†ã殼èuóR!ZÁ56÷@õßx‚„vB.\n¢îdºÖ•˜n‰‚µ¼Á>B›‰ÑŽø…EÜNO#’èöïCb?Þd¼L9;PÉ@_˜¡o¹ÁP±"¸›QaFmvÐûZ¹k£¿»z“úJg…KAbÃ7ì‰Ð2O¢Vßñƒt ×ÏÜ%×^ ÕóüÏ, þIÕÐQ¨aaÍþ„Kë?ôi‘Ù]P«€ªÆç‹tNÁ:.œ•üEþ«‘tgâÖoÏ|>@›9ÝÎÀ{‡ÜY¿¾zÞŸÿŠ^,@ŸsõÖ ˆ«}2è‚O±Ô^=ý´‘NÀ€¹ÇH~¨ŠIß¿‰*L £qòZ ìVIûX®šËíŽæNï§Ôç·Åè $ßJ?êkÞ:Ùo– Ëeöb¢¥S%ˆÌƢ˩L×6»1Dm¾hÚŽ,¨‹Ú”÷4¨Åœ@[Ë}þ‚ˆž‘šì½ÿò7¡SV‚ÞI>ãš˾J4‹JÝpÖNÍ-zþgIi}€ÆáòìÒ˜›T¯€ïN,ºö.ÂûëãKQL¸—¯Ò˜¥²VLœž íhM> ÄjP5ÿMÆ«7màåËt@þJÖÏ˹꒜öç*šÖ¬K¾jÅ9º× M)tÓþy=æT<š{P·}·C©nçK.ðeýNE‘œÙþ"óéÙщ}k(8p?¾þŸ8¨ÅÇî¦ê´ÓÞˆ 6ÕgPÞKv¹º,#úÕí5 ³ýzl¼ìêûÝîÒktJ"½bóWSÒ®4ß_ºyø_~úÕ Šm/ªàBB×XеU4ÜøÐ»„Œ÷KÔ'út±ë¤cX\ÎÃ{ÙFÚ–Ø[-é+îdŽ —Aø¡0øà|•J»DO\³cLBŠØF´«¨ðôÊ™ø£ïê>åÎÂ*¦ Óf¼Ì}ÿî77¬ƒœïÖh&dÎÌî®´R=ÌØ:VØ_cñ#Ó.ÒS¹Õ¼ùý<eƒñ² iN. fÉÜ'³@P8{s‡l·²WG'5Þ'È8CL¨ ìsüâuB<ŠÈ”¿vVôæÇvN¶O¢èqInðC÷ÇÙi}ͱ€ïE(Dõ!Ð÷X>+©§WTÂãÒ¶-hØõó/«·¾U{ƒá1ÐÕ‘¯èónJðc&~lwá¹µý»’P69·_Ìá—U²¹ƒ@M.Ô«4ôÏÀÐ÷pñ =šì‚ò>Ñé—±y„§|y«L¥‘¦Rçþ¿Bq;Ûð¤£qUygˆ‰Ñüi”ÿifªÍ)O{>˜Òî››¥ª÷¢ˆFW÷,çø] u™Ô¦Kì•×cº~uU@ª£Œ„YÏÏ$„j?/¢m§Ù–ш;0g«vÒSo%DÛráÐüÐMúÀ%&¸õ‘ë×(s繑N®(|¯ ñÜ—ßãuþû*:¡ 7 u¦KR7c74f±ú zÄË>Šd%0©;0ÏÎøž=Å…¥–Ú\3y áaìåRV¼Ü£O€´c`‹& âãåPÄc>ÕËÛ¼ò{¨ò=46½©¸¾©©œ«!Œ­n’¼ÅUÁtŠa¸øVN©zmfý…¥Œ¬‘ªŸhÅy¾*ôSáÆ|ĆÛ§²µo§$G¨Pn‰Í2ÎR0S›4Ìi)†@,‚8¼;3V…IL8t–´úíÿ¥²|š@¾Gž" Û'\Þ¡ÃzfLjfd칸@3wûá”È//lÿ‡ƒd&ñ /µbß©ý%äz[óúËëìS3Î'g®Y»t(1.ܤðý®þa¹Rë ~i…~+ýiâ…+£êå$†r´S¸LcË´ØÇÐ%Óðv³›¹A˿і…kOu°)m®gê*šs…í#Åìü¿®iÒÁÄÿ{Þ>Ñ6¹&ݘ›ÿà¶<~s“áNĬ(ìBR$%Å2I#WdT3¦0èÐnu~¥l®Ž÷ ûÜj ¢ºíE Y+geAÉÌ|]ë”?Jƒˆºbl3t¾÷;HY–˼,ÖüIY‰hßDn-ÔbŠ(y‹ÎÁuÏcÉ)ÝÇÙ…Þ‰Pް ßn•ÿ{ª_6;e tÞÌáÇwê‹Í‚™ Êy?Cäƒvíê-j¿›t-?â)›y 玕¬ÈÝ+Ê„x}ê—D¢'æ™Ê¸ˆêp†K¦öá¶u¼ÿV5µ,’õ…Zçaà%”8éþö9Å,âx+ðà_ Ù3y3°hx­òOŒ0ÇSaäh˜¢ëùœ¸†¬ìù!׿Z?ËKÌJä‡Íô€%Žõ"Xôéö“XbûÐPF^ øQU›J U¹½×º”ÁêLSvÂîŠØ™©M¸‰Ä.rwòÈ• S3Ö-¬ÿ¥|Ôr~¡¹s²èð“…J—æ¯}Ó»™-!ÅPçM¸Ô¦|ù‹þþ[ïen{g(“`([쎢vÆÂ”Ó ûw¤Ç¬=z-ɹ¢ûWt…b)%¢KÙ]K®PÊpº"¼‚¢Ÿ[sð^'Œñüƒ™0sDo)@[}Wö²úW bZ~¸<Ýe•ø!¬O^@C¡OÓË £2@OÍEëŠó³ ‰š7z2‘ù—¦ù1‘HåS«Æ‹ÂàjÚpTt›Gµûä:b—­¢]™oA‚O¿{³‘Ð[äQœl­ò|õ‘ÝÁüþ27¯ t(°Æv}?™Rå±2³›±˜­ ÞÈ(¹'J¥Nž—¨Ì1ÛKà«õÑ2·(×Âß*í¤Çlàxõ€“TþY²M% ÌÿÅd¹b›Å‹ó8BLÕK–†B˜@œÔ"È$P4¦¥Ú¡-4ÃO7 ¯Ó^V´ ëºE £¨ ûÌþ6ÇJ:¥È©C´¸‰æÔ…p%Ujw¾Æ›Ëýší1-É?¢=¤‡4ϯASUƒ@ÌÓä÷jÌA€±—)(êqR‰¨˜® c.2+et±œbyCzô·Ö¬PE€&¹¹És»WÑnÌíК÷ˆŸšƒþQÝ‘bØàdÏí©ÀJS›oá»0h²U%A©—Yqû˰9ä\…¥ßY2üµ£wgúÿ9¼(ú˜#÷MÈGë2.N §‚ój< èßÈS,#ižr¡˜vAž"@©°tŒ˜×†ê»A ˆâ9)-D<ëP»¦áo™‡£ˆ£›ù¥é}9gDËc¾µö15rè^µó^攼ú‹Éô³”>»ž..k2'SÂPwKa]x8'ã¾x„ë»–ºV-‰J¸ ~# v£ÐC®IG1 ϤºXŠuùrÙÀÞ:¶P¢—9¶‹ Ø"˜×²ú«›TΦ’e,\µ×}A†‘ç ¯lè_͉§çò~‰×&jH¬RˆÎïb4iC¹Xá§7%D®á~:!Šä Ë»'‹¼Ùoä½WZïÄ@†F5v B†¦GóßXæcj-¹›DéK…m¯oCdØÔ!€Ÿ …ºŽo×7BAÀáõï~|¥?´Ì{ÉEþ0Žº:U×’mŽeè“e ²|Z$Kß/2ñ«5Ì`QxK?é$ªw‡/ðB¦°e^ ¶FÄ]\É_…Å+—†•5)¬"~/×ü/kTÞÙª8ÏÇ€Fu³ž3X‡Å(Rª&èûС!B°á‡RöÅr͹ä¾^E¡2†ê^Æ˰±"îöy¬<¬KË€§”>æ5è* ¿Q}|,–þän=ì×fØ4¦Ï¿?Z©]Y hˆ‡Pav*o›'EÛµ!Œq‡¡tJ âe([ ’MÏݺÅÈê½à±d_O«è²ÅËN.?V¦”Âé­ñ«\>*ÝQ—+òÛ«ÚÇA®ãàîÞ…xMø®æÐ`ÞÒ7–B&rÛR¥=_Ó¦´ÜáÝõ$ýVéº æDãj|EiF^ý¿Fó'Ôà ¼'ØÙÃÍòyj5Ç|…¤…ëíñô‹È;–}LŸ­ð)lŒ¾ÒÕê®wß’‹Eö·×CŒëñ°NÀË«ÿÑηËbn%²Ö¿v¸ÛÔê6ª‘BáÞE‹ãÙ¸—˜Dj²RÓÊ:¿–­ñ(ï u4ÚhAd’®ê™ÙGM¥Zujâ;µK™… î¬òë™jNf_DH‘ãSå5‹˜6Ïê ‰Ò×ÄVos4S~ðYG(ëÛ¢+†(/ânâg}QnŸv6¿„ž+ýÔ.R«§JTOz]kÓ3­óÐ:Ú*íÕµÎBÔ+âd_:€âœÉŸý%J";³ª¨Q6ŒN2q^Î(¦Øø{« ½¾†+¡¦úìþ´wƒÏدɱI†[ oÙ`¥bèñÉ]ZœÄð&yt¾(° PõŸ^­®çavZôû:—“K–LªYaM[Ö¸®´èzåøåZW›f ê2†2¹oJóA9ÀEùÂOu-"ßרû*žaäæÐoHŽl¥j¢6(“ÐuÌoš^{öÚ2!6ü“·ë+j…ÃÃË0Øã¤Ú”E[:Ž‘(NÜôºƒÉ¬!³²§L«˜jy:—„ê©–æØ³[9ˆ'W¶cFÑ¿ó>¿‡ÌÕâ28¸Ù|bâím§XôuÙ}+˧ù¦´Œ âNÀ…?ûÅ\ ³ß §ò,ñL¬ZÓ³[ÍS‡bR cnõA ×p–Â뚇ôJ&܃·2åµ;ñ›œìM ç¨ †kÂÅ¿PhnA“.΋!iüÉÙæ ÚlϹ“˜8† \uZ„»–Ö&^Åÿèg[yp,qµš\¾"= O–3ªs¤0ùN±˜ÜꬩÂ>.‚¨ÓâSZ{oé¢89o¦¸n俯¹ÐeçÉH¢mk’¬ ¾îeTõ'œ¶Ú»›_…ùvÙKe /tIt6R¨—!çõ¹.½e]mI¢ª³‚i“¢²k4ÊÅ?tÙ\€Û`>puLåè Yí}u¸©ó•ýKelbºÐvt E˜ \(o¤uÓ_¿:ÇS`ß§Z´<5l6Ló¨'ü+"WîÏ(éÜíûHžÙí†M=´ Ìõßfé«‘£GeÜÜÔùq¦"ßìxäOùq±df£–?£¢$:›äçðN‘IKÈLÜÌ?"‹€ .ºÅ¢Ng›·ÑŒÆù´ò¶)µ!ͤë•qT@”€ÃT íÖ–g•dqÙп´°™¡S¥‡ 0ôSéjÛ°%ÍÇðO·¾aêiv'ãMÙ>"³4Ò¡+px<0”xø5fÇцÃèkþÕ½òð6GógJÉ#1ÛÊJK'ÍéaXi°>RD JÁš'Û[ìQáÞØø Ö:‚|ÞYª›ý‹¯„ð|H¨ €Ékæfp@µ‹K:}Kôp¦v/ðcÁ°h2VÑü`óAWçÅU:Œ œË{î>¼h6DYtSºYP>µPÿ¥æñžŽ"lgôk„_6œÜœ==ä’—æ›´$Ê­C¨œ•âv0¢ø“g1µsw‚"æš±¢Ò†»‚n¯âÖˆšRßµXÔ¦9ã`fO¹'õ™‹eðkÌüYšµµ²„ Ä !Ö³«":(Å#-WÊo Pd§ö¥ÇÄ+\ƪ²ë_Ù…¦àBK[ßåÂïëúÄ=Ž(ŒIiúz·)mtsX#Ñ7öв‹QÝ—ÏæE#g°ö|O“bµòÓ8ó¤ù@X£º©³öÓ0 mâ©¢ž9ñ¢MKú#l y:úÖ¡¦à± šsý/tµ˜,Ü©°ó#!öMXutÿQ  À2åj®?¿x^ŽÒG'ª©0Õ0ß(óÓjS þÉÁÐMÏDÕF~Íò®Uíbë΃³¶®.õgSI¦£~oï üÕÙaÓÝÁ2ì«ý)y£’T@W¤Àã g<–wƒŽ¿&-ê©9Õ¼øOáÓK=|Ï_Ú&Äô¦™ê uƒËs¤19¦°²££±ªm!gëù+_;ßPœÑȘô?IoBÁHEO"'aŒcĽ`À‘1ä Ò@×j47¡Â¸¹.¶ô£¤íåµµ6DÂ#á—l?*>ûÑ»üƒ0g邹 k—۲Π)è½h÷çÙ§š‘»qÓ› ­0ìíÍ[^6ì¹HŸÃk5ú‚Æ£Á­íø–ö}P¡zé¦%´‡í1™~ª»¹Ú®©wâtª­úMÎE§ªbHëQtÜó¦i²Îd~³ W@麦wß*¸Ç2—s«RŒïQ†‚©P€úéW–ÇîÒ¶KoÜ fgÜU…ýa}Å=ûêÇ[Âcuë7t’ãÆ°¶ðõß‚‚K’Ù1X[²^î"î6&rßNþ5¢È=ËúÛÊŽ;„®&ÞÁM4HR‡Y²VÙ*^¸±ÓsŽAÃþ[²cû‘[ÏEÚÑ×{:rû5ðÒ¼Ñ)³ÇºÈ!X?–—¢œ9˜ Î’ zŒîSðTŽ{iDîÍŒ‘m†!Ó7?-Á¢çbõLØÒÃm&¢m–=w裷 xÇé¥ä[ÜÂIƒÍX3áb:ò,¿ùF>){«ES{Dâ¿n”7‚tD¬Uâ3ØLXJJÒ[,]Þù¸¹j ›\W@/ô‚hM¬^‹!þÏHÎ0ÔV®dÝ‘”´äÐçCÃ=J²~¸îo u§…ëcD­Å1,1óîQr£ãÊwWaã-#0ÄQtg5½ÇTê)JÙɦ¼Æì1˜œÌîØ’¸øÁQÃ7;µ¢Å¥##kúh6d²ÇD{]ÜqÏ ‡7GÚ®~E6Àó´±hqúf¨’„ïH@ç-AÐ$š*½YØçêWSú˜‹véýׇÔ3Z­Ðèé®_6‘ÞE­Ìbœ¢ œ4~;Ò¨Ó”¾æŠ>ݡҬ«•åªBFw í]æ¯)ª²Â+¢Ì>Ì/’"<;‹~h Òê0'_‘K³ Ãô*^Rk*ÕÚ2øw7¹H¸ca£À¨—É䇭Q¶GoæWø› .vDHpày SÏå¢9ƒT¹¦m5¶” ùG3{s¯EÖ, pnIð’Œ&YØÕ,ÿ_kª¬À¡ôdÒ¸fžùlz`¸n„d‹§ˆ¹%b’”}–WÚZ~+#{´n£Güã'Ô¹¢”êPl rÝ6®2˜! ÷JˆÜ±·]û!øÈ7±VF&ðOùã`@Žk²e×qÝнR’"©›—F1fk™Ì®R¯¤oÃúKûá£vøÉåF¡®‹ˆAx|·ǃ²+;óó’Pƈänïné.%USw¤˜_¬ª˜ŽÉ`ð -³‚ÔHqẠ_µüªhÀ³e7Oõj-`‹ €¦& öÑ®Ùâ:‹Kßá±ýåg©ª‰ÇÁ^"䇛n‡©KöWˆèý‚jHµ1ðfO±¨ÃñÉ·oÔò$ûõ¬Qäx>`[½)êMôúL®‰“ :Ñš]‹;«äÙ$n@’„ ÀE¶t.Ý»ÿ,ðÎ)–³¶¡ó‰l(Qzml=(œÐwVï; Ó=Ç÷Ï7w)¸Gu Î\0Tƒpæ´{c =.¶ìˆýûÎÞ¡{ìwurnNÌúé¦ `1ð‚-V{Ç4ÒÒ;¥•û%t­‹èN‚Ð÷‘X`©›Á¦*òÛ€8çâĪŽÐòº·Iÿ—Ð2‹+²4´%Ð\…u¯‡ Á³_\jêßÕz7e¼+VýJßþ¬¸1-ÀêvºHÁÌÄËd3‡§%ÈVд{¿éŒ7ÀúømSè}9}ÊsÄ43m1éò¾ÄélM8¡V£ñ!´òÀ¾U¡±áË_ísô)bS4¿,©úVk.}ÆRY»§d·øk¡j)*r@Ä/<|/…«ï·†ÁeÕ±’8ÕuûlÂFpλrâéÌJøÁÉçndì›8¦Å!2„WÏeeXÎ.i@ZátyŸÒ ý_„…7¦® ˆÜ§Z‹MÌV­¦ZöWiRo¢ -#GÆ»86Õ·ç?-Á£L3eÕsŒ/JæUˆ^K8…NŸ‚—iÃ[]ÄgW æ”ȃ%Õø; ¹~kJä f–J”1Z¯×¿ñCÝarï´`{J ‡€Á·ßeLhšx¼­rÑzÓNP² Î6 Zùa‡Àgˆ®1vó‘­p “ ›Ó®©š¢øÀg¾Ü¼tŽ=FV´QV£GÒ 5ŸÝÀÿz°XC‰‹ÓÓ 䀹Æ-ƹ¢¶Þn¾Qª šÅ,éÄrrê¡kX<„›þû¥«Y6u¢Á (Xdª¼JæåüþA¨\´2Š—Æ1+̵Úå%Jh/ï;tR¶l Ó±Xb‡kaçÔÌ0îœÍvq Õªh‰jîj.Ùÿ^€â]‚xÚ /2üƺ%f¥BÒ .p6f™-Ÿ²SUÀæ%µ¼Ë~ê¦zj·0Œ}`.°&¦§)`-m€^hnùŠôÿØâßxÿ¹U!Ä,ç¡6ã‹ õ ƒç,~W¢‚uåb éû‚Þ„ÍyRŒ*LNQhy;O2”k<ó€êÉ߃ëå<¨‘0H+ëu²QLÃb_>Ùµèr×Éô…õâ“Ò çëé«YEå¤baÕµqäêFÍ]”LZ4›…Ìã±OhžœFé!aá»vL*c`]ÞýnTèƒøŸ .iÕ~ÚºHD\ Ò´@•°Œ Z†È".7€¯µs‚ížK±Y%YF@&V˜ù{–*lÿ­V‚+` ±Sp¶J(i0èô‚vJ5ݬ‚~_vI)C¨ÉeTp³™'Â^£[€j‹—Ò¡öâ~2¸Ì`ìÛ%{@û]ɬ!•d5º¸†ÒFÍÑ7§ŒÉ ô¿SPîaA"íÄÎ_‘Èp”(ç »U“L „ef±ôªÕ@‹jNS´…¬©Æþ” Nû þ ¬ÐƒIìßèÄÜK‘Ñ‘R÷ª/Ú¤‹¿ÔŸƳ¦E¿†Ú9NeÓ|˜pÄ uÛÔN‘EÔ :I¾LýmòL4F4üaï‡Qp++@›ÁËÀy5åµgcоB«‡a EPešû¦RnÔ¾‹5uùb"ùL‹W»3ªÎ?0£qyiJøEç«0Tfú¾Oø¡ÝfpB‚¬ÂPèÿ¯œ,Š(7¦6£ì¡âwõʬ„u¡‹}lÝNß"dÚ`ëJ1¨JaÖdàÛù@{Kª;z¡{®5uñoàð5QöZ K§›ãÉN¬›áhšÎ¡ahdåÃÙK5/ÓÁüèî%´ý—ìÎÛé_Bt¡.dy=mlaØ/CW8jÅ[VGñ“²í€Ø%Æø3 dì1¦¾—+KiÞ¾”yÜ›üIþF]UA>š/ïܕԟ·ê?NuPÑ!*yâõCÐÎ ·1'g€z„¼pS÷GØÕ°ç‡.&,²S--Ì!|žtoµÿ× ÙÈf‰Ìtìžf,„ZÀ$òý åóF®Ýª5`J»…U<$5wIC0ð‰°Ae7ÔÛq_½—zæ£`±8~o+îjaïû¥"m œeÁǵ”™U@ø-áÒ:.’Î";|8&©ò&ªDÜ¾Û “Q{kXY–}Kþç$Ÿù 0‚#/F9§âP6H2.LcÛ¥©hoÕœÌB¨¥Ç»~]&H`¯ Š^Ÿ‘”ž»²ö,xRÍfU¡ŸÃ¶' =4l?Y`¢As“Í}}yT²¿¡~šŒd~]Dƒ«½—­a±5#ïFÙ˜­W¨á¼ñŠ*Ó7cAß ëï’ÿ§Ñú³[~] Öz&ó£}DäN}F×{ s¾sÕ¶ïÎ+ì´Úg¬*3PLL–Þ"Â:[–ªªáô‰] ÷¦™ÈŸÔ%ÿ'k7ÜðÑjóáqWIöd‡Óðž6ËEæxEI˜/EH†o†º-Û!9Ñv!_ˆãþWÀW$Už–Y‡ëO ܇ô=ÒeQEA)”ó`È‘û?é÷vícRU œ‡ªz$®dDÍRÜrb5ÁÂÕ ÑÜXöŸ êÅRãÃ1º6”TD˜,µì‡iìÊÒöc‘>Zq¡œ‘ïìaÔüu†¾E‹èô+DFS5#a×¾•dÊÊÿ„ ¥MV®ËôHU£8fJË$1ãhƒ‹ðŒ !u50ù¹¦€{‡šQváÎ|s¨?Vq²ÌOÍZV˜ü©Œ¶í\½5EŠk®K:nQΘx$Ã`!õ+Ú roïÎ%þAòÚDõ¤p_ŸiĦ›/õçÑ´|öOÀ R‘ª;^Nq%K¦]h›Ä ïøÌBƒt-‚pÎg¦žpÖÌd×3fý 8ºÔw˜¹äV.ìØÕ¦‡€»,ô£kSt^¼"•Ggn¢Ù–WóE‡`¥ŸD\•B~Î+?@v°0b²âÆ" u~–Ã[??»¬tÙñN•ëš/¼‡[[—»Á«Yf ²£?Í|‚*º† \ý"à(¶ÊÎØùÌ_¢öžÃO’%È”)› ÒwAkUëXL©Ä ®ºr€îž·‚ƒ­•³%Ð^mÒÙgÙÆ¨¢´Müê—QÅÍÏ2T1Ñýd>š³­*—CˆÀ1I\Q9„,lÕyNÉgã[2(ÁþÓB¸¸O)@`î¦ùKï³"‘ ·½$KÒ)ïwøW,€¢[zž"¯\÷Im¡ |#íá9ªþQú6oËœjäãã&÷„A@?¡»ÖäKNmÉI¡ÂFOZÙ„ë¾÷æ(W|>ËáûG–#P“gÉ0?ÃhÏ~x@T=Ø3s‚ ,èщό5¢È—œYϪӡ®äå9 š$^L¡ôZ¢Â¢ /Ü‚®dÒ˜P€3±–ÓààRǧº¦7–'‹³‘ ˜ÈŒ³2¤ZH1ø§X Š¸o«záò-ÓD3tüÂóǰØU8A€î˜ƒDs°4_¡ÉJ¯¥Uy£æ¥=à«Ó‹áB‹¾>ú‰¶—QcU›Í·¾êô‚sg ð‰$Ö&v ›WÉ_èPF,Ç9«å›‘eZÙÜ?h¢h`±Uµ ]n°N²@g#i +Ð<“”=9Î^fò { ÷c5ÈÉ™g¨ùÑ0+/'~qÌY`PLج…¢D[}<ƒÕ`êNR}®ú=ûÿ¯Nžëð@Ì·5Ý·ÒñcDù5¦žÂ(ÂÕ˜’ü îQçi›í ´CÔ¼œ?^‹¹Cõ­ˆà@5ÝÖ»R>E>¥Ê5&h4„;Ü=þö„æ]KfþX³*R99Á%³‚—E¿=•%n^ÃubžV óuºVäîÜ5G¶œ A⻹£ƒŠ“Ò£@.@·”²Åæ\8¬0›Ý­ØüŸ×¬×sÝ…ƒÒÆè$~‹ ØŽ’<Õ°¿JhÐXí3¾Ѥ|äªKD=(Þo#ä ]øå”©É‚Vt wâºs¶ÔãŒÇÛ¡,ŠÔs¢Ì|¬B-P]°qØD¬s x¥ÚÔ«lÑ`á2vÆ»òtéìÁx—=–‹cgáÓ8#‰>É/C,”½@/Ù®Í ·+ZÀ§Y/ºÖ€=wT¤iÜßrë¡ØfÎåbv<­¹·@øçßAͬY)z"ì¿„ZU¸£,]¨ý½F?¢ 1–zýN=yôÿ@>þs0]­7,Íïñð¢"­6Ùï cM@R‚ž•x0%jÁg[YÜ<#ˤŒWaÃêEçÈ‹ª.zã¬X@à_–¬ÚþQiQ—ƒú§IDS~I5'H»îAjS¹Æs°Eÿç¯ÛÆX-/ ´· £é*às}²¶' ¬`ÓM_Æ!› @kÞ~9؃‡ n$Ýñ-ÐP‰Ó#$unk‡~Uš8Ï”8ƒ$ïµÊ,’„þ‘šÊD™qúŠ*ñЀë|ƒ ‡<ÊÜ×rËpF—à=&?âx34¼Ó|÷3¤j£l£gÈ)Æì¼±æ95(¡zÕœ›ôÎ8“dÂ$-e`†Úhʸ[YéˆÇƱ;Wá÷BD·*J .¹Ø•±ezÔ§œþØ3QÓk¯fYTŸÎ­6622T2§ûy2‹^LQÂê*·ía HOš>™NjÇŒ)ó0©ÍÕ§ÄÒË£b•WÂõ6a«ãïS¢ Ô»¤B«¿³ï zƒŽ› Ï‘ì'ãR7³~ 1 5jåùW#®=ß<3 `]‹–èÓÕ¯Ýó©ãcÏX:ƒÜë ]ÕؽcµGú9É]æV±¬1qü¬„±’„H1¯å¦^ëü—Ã>Î6xb†“g,kþaø¨µx²1xÞçþGì?þ ª¸:þ¨´Ú4lpôäÅøëå2ÝŽƒbï„‚*œbtu6 ÞRº8Íp÷Átɇ³c7ú8¸užíNßä½ï©úé7 ˆ•¤¹½­úŽMæ¨Ã n͸¶4ó}¬eAéòA™¦;bá7ùØN{P ﳤ¯L0á C]è“$‚J¸G“¹¦" JkËbÃVòQƒ•³Y.ýìù¹õ©ŠßÍÖDkŸyèî2:V‚o¥‰\<æètNÍ™'gÊU+8\ös´6YÒãÛhõz@ ø 5ÍeÀ•?Õh¤E©l*+Úç•ÎÎ|+ÂW—p±No‰T§QÖáØuèÆyÜúfWÄ."œH‘Ì‚îêÜåIé,ö醤꽬á|F‡ €YuVÕ@<%ӻݢ¿óÉ¿Wà x_MÆœ,¿Oâ†ÏZ'œˆª1ã*gºg¿ ”ý“ñðØUy&VÜN5 º-íÖÕƒ6¹¶c;`@Ë*åÑøÁE¹ò¸ëù}O×E2?Aó® B© ¸(š!Ž`ñË}Ò‰wrth¾Ô¦>$ ØfH›æ[¬R"Ú¡²°¾Ôc†ŒY°œÚòE"tB‘ÁIt2+#B?-¼PT#V“U4êŽl،ܚ'…É-WŸ¥Õ2B·º§ìiF›ŠðLÜËem,Þfª–2x3)&"ýÔbG•Ms[q*²jo™O9L?±ß ¼$ü“'O4VÁ¨([ëg[·IKÑŽ¹_Ž@“Ž3b¦pcÐ^ÂØðšp) ³ðVKw·4Ž˜­@™/Æ@‚1XHƒ7J:nž»èü*Ùß”7±¡jÿæ÷1Mpc~pf}èG:…Wý\s]Ö9·Ó–$I°«Ç„ul,ùÙú1ýí šîH$džóèÕ8 y@ÕVzðÔSPœ‡œðÖíÏ×wz÷ {û á´ôÌæ{“¯|“Eƈzd€ü|æñÑ}EÖêGx”ú1‘ùWÛ—¡Ÿì¿®Y_!µEª³Kjïqlf²ôòafÍ*3#b}oé‰]ÿ?l:ç¾êë$6%‰#4ïM;Þv‘ë›fVÁ3|¾áàâùáoöÞQ¤ïoœW®?€lDx9GmÏõ‹VªËi‹y%¦¨QhàŸÃÂü¥þpÈÂ¥-Q@-ŠâóT0ß¼¹Ô°·|Y|A¨<Ÿ‹‡-?+/÷xi  õÇ[µÞKzŒ½FR«%¯öÔB¢ÉÐÏ#€<*|kT B]JoqÙ:ŠÉW4†I­C›Ç;CqíIü5/smí”|„.H5-'½¬ÎF #('û”hDýÁ°S·ÀéˆwŠ_l¢ç% ÆŠûï7ôBÑuÚá‹QÈVÞD‘vÐME:㊥Q;ä²ã[þénn¸— ² r³–X‰ÛcûqøVVÀsÜÙÉj›ÒúZøÜÎÎLÐaÊ€¶~IjßJo@á™;Ç1‰©E<¢S'œMæK¬÷I¦/JŽJz IùoÊÒ¥)ýŸŒ'i(%kâ*_•oªõ¸¦I)®Çt©{»jý]AK3oŘ6^à…qçeàž[ÃHÜl;LÎe‹¢N\é~|ÔãÓ¿UiSNÿr¿ox‚ ÐEö^¹jàY9Oã<£Ã=€¿ÐoË]3éï5'ÐhÎÖXT‚ð´ñSöE ÍlRñ¤O_QJ3Áè=H èÿ0-îÅ}²ë³ßºþé•ín¤™²¥ƒØ¿êúj啇ÁpÝë Ž˜”ËP”šø»håJžŒŸÁB;:ÎöQ‡Á=£×^ÔÏFáà2EY&É%rbªaÈ-Öu*X©Ý‘m´8vâ&¾„¬;Y‰–‘hBm`¦´žK<Ô¼=Ö¥Âu]¾i"ã§8á[çÔTpMÊvm"îX!€ÚÖ§¤ä?xm½ë)u—GáȨŒ1'rNf \Rö¹ô>Ûªw+®Ífl2Ö(çÇtʽÏ~"¬eiù…kßãié& }+¿Q=ËTþL½‡t-ÈÆð ·êWixB¡Áfɨž Ö¯³KdÐ9¯ér阸³o U¶z‰)Û;ª:ð0è©Ø%Ķ0OûŽ4ïfç>:óôP˜ÖÝáPÒ…,ZË”±-ÿì)ªœ=‘s|mPÙöv$Tgƒ¢SAtµþ “Å4+‡Ñã4Sœª`Ð1Â]þnc»ÜΊÔ勜U<âBîe€ïýõâê;kXhã‹AŠ€ð-JN»Ûñé+ÖZŽÏ+fåÔ¹ ˜†LS‡/w€Ô÷önȯë­b7,³ôó…߆—Ü0iOÒô‡¶gWøÈ*Ÿö\& /h`Y›OkÖ¢pèMCSþY^ÿÙgZÆJšOƒ@G6Æ;DJbt¿`ŸÇ«N™æIwë·Ô6£ä~нÁ¥UŽ¢k# ëºfèšìŽ3ÁQ ÈëŸ$£éæ(òÜwÐ_+ÞrÓ—¹õ±IÜÛ¸UHâˆFMcn™R©qŠMèð­KŠ‹f…>EäeBXáGð¿ôšiúHw™Qù4–ZQ•?Ú.µjvóÞ"ý•ÖäÿÇRÜzÀT^® à¿@JO=/y2:¡ïÌ2{\ðÞjš &ü15$û Ö*:n |Â&QðvöÕM¹|üì¦õìå@îI÷÷ß5iç²x¶(@³_Œ’…5Ô@:fÔü/*jÓ³ñc\ÏÕuq³íõ-ö]p$‚à L±Ð*Ñœ‡Á¦ôÂa‚&\Cñ¶ÐEm|äÿ»AsÄ(ybÓ$ÅëYp)ñÉX¤0 Ýå°~eøÔ‚`éÙidÞÐs@g€ÁHvà0¸%Ø;@ &ïIë*%÷—õÒL­›œ9_v–ÎÒùiî Ð/ÈÄû8i fˆß£}♕œ7š ªJ”+³î.êd*F[wõUÚ `¥ ªÂÅ£ µ½èFYe7Cã ¿x¢­V›Cïæm\ˆÂpq|ÂÅCÅ%JÍ6Þ3DÀ”Í£’bWTÕ‡ÉZe_}º³}©)ýè:X ë2…ô:Íä5x±$ÅLPHy_gú2¨Rç Š]šÖx„Öt N‘ÍÒ§hßIù-wùe–­Òƒ›Þ#´jÁÓDÇŒ×oón•Dˆq°:Fj¯âURlH윥\à²kH²…;Oœ!>7üa?·,..]÷Êk¯f'[sFQÔÝmb8?Ñ^Â_üî˜çí¥Ãù ˆöH¯QA‡¿`²"8[v†°Èoð‡íÿu5n—êÉÇL{AhVÑùøK`ÊŠHi€ŒllÆ©%ôš@ÍâÂxmßyúˆ\ÉŽ¨˜ó÷ç;Ü8n#"7hw¸wÒòNŠ‚??²ÉGá8·—@+”Þâ{•4çx¨¦æ|ûgE‡'ÜÓJN´bQ]Ò¢00µ9ߟ×fÝÄ6³´*ó4uÏY]pgë¬-GNtÎgóÞûhŸåªBvÓ§¡íÁ˜tîeIÞãX|Ò84Ï-ø3NG)˜É¼ÊÏD_bwtÇ^t¤Ò=‡cX²È÷IhÚ@žŸi[Á嘗7ní’'ÖÝ—T¨’¢¶VùÎpÌy¡òšx—Ÿ0¤ßú%ˆ‘ÐþÐ ð‹Û”ˆÌC…Zï(z†ý>Y¢KcsŽ—}Èj¦ç ·"UI©0k§L9‰©ÚΑ¡]ô&~+ ßœ[S30Ä´cP K›ú:Ý01\ œÓþè¦JØ…PÎ2ã‡k§<2•.å<ÜÄa<•8ÑdYù£7Wnø @þãF!ïo ›…ap±|U?R,8\¸ý}/zæa<ç9âä†y+€Í·;Sü+_îqf’ÃѺ‰ÓÊ$S£å 0¹sÏj¥ø—¥œùÝ”×-fÛSc¶,þ±¿Ì*|¨Š í;; ‚”æÊ|Òð±M¤¢+Õïmê;,wpWAkp†dˆÔÞƒwL øØnäµÊs,ÌÝ£wƒÑh)ïm\ý­3¿N^ð.‰`BÆÃòŽ•”E‹‰ͱ¤¬fV¤dŠ?±tÐéy€EôxjëìïÁ­ê»ýßMµ×b¬ëÌÆÖ5~aCmaùvœbž€7;JêªuÃþÆriA&E?V ?ŽÉÚ·Ì»”œþZRz‹Ë¾é߉ O¤õ£#1x<°ÎA¹Ít/8Ðßbû"k ¤«Ï69Íâ7ô'ÔŒ§8ãßé0â@ÃÄIgBijáºT‰WkÝu¸S[¹þ9w· —-ˆ²<<Úú±Í ܳºOûœTÀ?½`16Lr3\S'”c>— ø$}ˆ©ÔÜü޵”ò/Èã…šÒ³jEëÿOI)PÇ“ FÅŠ>Ì,%S$¯(¶\'ÈDº<ˆ©]SÆió}Y¡ÊÓå,åÁˆµ,ú:µîeõ€J™Í•“ïÚ1jÇž?ξáÃ1@•–g­|ĬtüYÓòðÝŽ6ìà&…ú»³C/Ú|L­¥"ýÅ#âŸjé6óø‹\guì¥n ]èÇ:­X‰,Ï%’®ÓÔ²GôæbIkw4JÝͤ?,¼<½Äëgeë°åL²¹ç“°èøh? pæ˜ìz¦i‡Aî²^.Xn‹:ÃÊuí’èæe6BwÝà7å6ÚË |·B¤É¯MGš#qmJ² õ#ö<'zù†ŠáÊŒ¦”f–ir@«{- •À¥L“FjGžŒÿÝ/"ÙÖZô5Ùé¥Â)±°$’C¬â©j–Ö ’?$}­„ªº£ÛR¢ø-7‘ÌŠ8f!àòž° {e+ìß~sÿ}qîC÷v‰ƒÁ¼üß*\‹sMV€ºuÈᆠ/Ã’IžRRwF‘ ȸ­Ý´Â'X€vÑ3Ïuÿg%)æûd õ¡+¬~5ýSFÚ¬V`]Ó‘9õÄØ¡p!ÊäÞÙiàN”÷ÚR9nökN”d0<ÀݯµëßXø;4é}óà”ú·ÕÝá/¿½ífe t­jÚœ±4ê=c鈟ޝ֓[ünöL. ¬n¦ÙÄ­™ï*%&{s©«[:΂'ùºD²š²+{k¶–mˆ¶c³™‘ð1×øoe7¿ØP5êï5 tlø$SQݼ¡K¼ƒ”èaW\{-‚rÕ<€¡“Æw§Æ7ä·Mî`›J%Þõ)ÆÇý=ÑoñºëRz³'¨ :ØK:Á¹ç5vez¹ò ÓXz¿…–jÿ¯o4»ó Ž(‡¶‹½Ìì¦*ïÀ"ð£ØnlX~ÂLU ¤YªÛvÁ@žáõmau!²Üe§ÿcî\JJéy{ÓГË>MŸ´$‘T&BSµôÐ{úÐC(Êe…7 ‘T¨óÒåÙ÷Í%يÛ¡Ao·$ý¿6OÙÁ”@v#üÚ#“ÖÊiŸº¨éYöå¶$ùÜ<¶¶gœD-a\ÕS—mŠkoòßËðµa€9÷[G`:,¤ÁR‹ã¦çŽŒzt1‰íݘE¬ýY﹯Äç ´¤`B]à K^C£Óø‹a…tJ~7l¨Wcy[œ´ÁZ0+"lSÜÊEI:ñ9ÍX›"/°†¯cÿŠ[•|Í3w¼¼És²E˜ey]£ ÚŠÕíK§ÌÊP‹ Ý0é±|&üž¾ŒOîÍ?$ËA—˜ùr/¶2·7›ð‰Ö´wvRÅêCúÊÁ›|{ìŽeÕ¡æ¨;&D×>‹/vž ëC÷†$«ØBLÐüôAÃl6çZ£¾¼% ÅÕ÷N±ûÏKJ 7γgÙÓ°–€“›ñîüEtt¨ Ñ£Óó^óhû¹,dnçvßZ‡_qÎ.Òc¥³XùÂnÍCUåz^&‰ÉÉb)XÿÜ’ûTŸB%Ô¾¡øùb@zÿÅ~N¦Cì°å ¦x,Eè°©] <;ïôÝVܱߠ-wÞ…½F»«ß}ræ”Ñ[ôËIC\8þ¢‰M˜p%¦Å}0ѪQè×øaáo¨“-éTY'^7õÇh"@®XKnéôÞ¡É>"¡kKû<¹?ˆkÍn’…YßRÈP­ýld¼d‘t8ëqÑ,󝆿"À\§sãz;‹À•­ª:ð’ûuTß=Õ™‚ÄÆ¦ƒÙQî.¡á#C%2Œ¶{[ÐÓ¨kß rt®þÁ‚KØaþÞA‘Õ3Ó”8ãO¾.ZG~–[ ØŒ2c0ÅÆM5‰·†ša°~¸X™I̶«-t”)t¤»PS‡Æ«†{˜¥GçÎyvAëú/kðQ|ßi–ÊR:}ó—:ƒñëB>skϽÂMBMô€lå}l0’“9IäH©«ÐÇš`¦î¹Ý ·±ÎXl¬T`†µ$Ý©ÈÁ7a;½\JôF‡]b7Ö¨H£Â^~–M„dhˆ˜ŠÈ°ñܸRûþ¶y,Ç™rÉ}ñ‹Ì3.ÏüK3âGbSqØ-¢¹ÛŠÝ¥-òŠž…¥+½)þÌ6OlS‚5z"²Ž¡1Wã@ƒ„-’ñæðX° jÖ…vi¤ðpËšCö«Œ·BdºþÎ=ûDÔ°a˜‚Vk|Ùº*–ŠEëÿ· ›xø!y°Á¦ÔðxE@ Ê’N[O­Ú$Ý(Ú®D¹„„þÒ,µ­[ä# à[x¨P»“WynìÕ]P>Üs%ò›ÿ"ëÿåu¾;׿¢UI ÜM¦»Ï6ã6†Ø®€`=óœT¡é¸IEAÁ‘ —jØš³aKA©¸Ókí=s­h8µºGJ傃˜©3‡h28¦”a…ðÏ{ÒÔ=ÊžñÙâºSêÃ`fœØø­lÁ"ä6cX¶öH‰Q¾h'hÍï þ‘ 0.䛺ÓcL‹-½F@Y ‰H»ÙLš’z«öý Ÿdiô˧ôžLµ€ÚqA¤¤˜¶Úê û#z¸Ní¿¨fEn& ±€')WÙ]ƒ©hñS™ßüºŒ<ˆr†š¹ã­ ‹h±vÎTbs%ÝÔ„ÝŽ´-ç!ÙIè¥ç¼k‘£éì1G6É,qp>ÿ²îNßChð|’ØB¸³oÏ BT£GÐWóõqÓ`eµî`í‘á‰Â³ÊN›éCÄ}`ô1ž1qßÏJym• Š·dÉŽ‡úŸ ÂSLÀ¢YÒ-ñ´k+–ªÛθ[류à@®RÙ­ùŒ%È‹ðÓ•Ÿ“,˜d»—³eW¬IURë?k©Ä‹Ø\ýS*ìdPzؾo÷7¡P4Iévì–Ä’'¿ ý‡ÒtG1åû5ž‹dhehpžª× &y7ºÃ _—^Vf_ Ãÿ«Õ\¿ÎÒO&7mŽ,}(IÞµ4À}6i÷Î|§ìº`„¸í —ÌiÁ›ïí=|3‡öP<Χ€PVÜþ8<îˆë¡ý^K&{t UU%¡¬9Áƒ5— µ\‡}ÌC^QÜö õ\ä©þW«Žc—RþþÜø +¾n`•È” Æ›Ö]ïX¿Ÿ”_í¢3ÓÈnØ|„7k¢%HÜîÍÅu4¦}àìü¬\rë6'ñݤ.·Å©ö|¢¯¼ÒzD†Á6ù&l'DæñÀ6yæý‹=ÐÁMvÊN0Vún‹r€_: ©ÚEƒ‡3ÅQ™³ðˆ0d…°êùäÙ3žu…Í@;h»ýkŸšYÃ=—wlÚ/Ð _KDÆÿCÜg_†—»çù>G±Ý”u]Ô1#ŠDE;¡À5ôu@6\´Hƽ éØ^O9u¼ÚÆAIÝ püjIÏ//ÌñÄvXǯ÷Ci8!ŽM&Ý«jn[¶1\{0䇄³²ÁÖÆÔ(Š80´ÙÛô/Ñ—èHF í6j2ða„°R‹íþœ÷FAùÜöÓŸ‡ò?ò f#ƒù?Mï’˜p´9PšM{ |b„ii¾2ÿ¶™I#ï1%§Ç8¶Ø†âlß„Ô=pÖ(‹i•å¬\º/RЏ,²{ í+‘Þüv¯JØ-OAP»U#‡äp†T~`ËÆÑu¯ã5NsVi¯¦™×ÈôÆŠ¼kïbâ¢-µ»gý,L:ãjßðÂðdhPξM›ˆkKÂþ‚AŠ1QmêË­ÅS³Ny’µl'wb+Ób«l[£µº"u³ ˆQ§úK„ @FÝëd!—]rлû³7ÝÓ Ýnjèã±2šö3Dæ[wàoÏ…0Ý5ÜöÞÓ‰9~tÔZ›B6,¦EE‡ÐÜFõ!–8Jf«V<8wv3;‡- 0']Êz×PÍ«§ƒð#k—˜eAiôÚâS¬†zÚì ~’Ï.V~PÊÊkã.*Ä_£6aÊ”æîi@£¨8Ù •#Ÿ#‰o™s^š:"‘ÃÁgÝtÁ½{eüBÿ^ý›wQIOœí¥ 7MhÌFD» ”Ò=Ûö¥~.ëc÷ÑÀ­øŠ‘„]ïñ eðU¼Ól×Í>X{xe´~Ez ÎyÅ 3Ô|×Ùø±‰ñótȲ–]d_åç>mšðj’»øÊ6ì4o i)ã=¨–¸ýX¬®O—TžlX¾~Ä^ïx—4—ÛE¤øÇn`ÓªˆPMYælç|TÛ…í#—|Æ Z”V¤oå †š11„Wîàp¯‡G¦Æ \ (¯µð/Ÿ x·}ÂnÛÜhRò¿ø~‰bHð8úŒcÒÍ7m¹©5Û¯K,XJÂå¥0n¹û4“Åè­¹Z“ÍêèÔÀôé-w]ÙðÈL h ) K¤¢u8Ñ!zqnË÷5S¼Ü乕ü‚ó‘ØØÁ™ø>î„òh%ŸdŸƒ— †¾~Ú1ðŸCã…ü›âTàAÝŸ‚n„0ÙŠ|g—ùî‰,9g˜FçýN- EF°Ù¶¯$H]• @è-aò"Ø­tnæÁßÏÀ}sœÖÑžÌÝvWDš©eÆŒ›‹ÖËã¢:Äe¥"ŒÄ²ƒg°*ˆâ‘vNuÃtè»×^}þb¤%E2+™±QBÙ»]jÉÛѬ ‹苢ៃŽÁdJ*t¬cÏ„•´â\A ߎzˆý}QØì]¥”;;Žð‡g?ê}è·QâÓ–kueÞŽ÷‚š¼ü²—¬Ÿ_ ÀÆ@ÓÌ%+;Ä> ÷ð­š=£žØîC •¤¶§ M~ƒ!ƒS(~Fù»„ëùýmÙ)"Q_‹ ÿdòøIͱBXZ4rŒ/BåÞ¢~µ×Ûa]ÕtHV¶­§¢ÉÏÂâ½M£U=²ûú»TSwñ4°œìLGþƒ¢²ÎödÔ^›F¶àÕ$ªëFƒ7*Éÿ¾šŠš¹G9˜œI ð—3Óº@µ ´/nˆ…¥N­'Š…5‰øK…þV¡pùê7€4>Ü žþ¹‘å%íƒ Ó±ÞsH$'Vž*#ð¨‹Ú/ÛÿQà!b³cÒÏžò,¶ÊŽ(¡î¼vsÀcÁXSÂ%7ÅÀüs<ý×ßû1t&—b(œ±#Ç›ŠòÍTöy붺Ü×\™Õ|/`7ÎÊì®?`/ÇŠÊ, š*禂fš39òßû$¦M˜'_IQ¤>o¸9³åºúÀÞh‘²ÐßÓ°¶ˆ«UŒ‚½Ï?¤›#ÐN·_æ56ÎÏ@}¡.ý<t¾)­ígÙ 3¾kn“êÇ¡[¡iù}§e’½V/ZA´¡.f÷æWe¬U@ÏóöòŒpÍÙ/ ˜X¯dó»gúП½¸Ù{Ôñ™É¤^רŚâ%ú…¥(^J³ñÝEõÖC’àG² Lõ…B&ÑPÚDYÍ2òŽ€SyG¦ÃIŽqük†gµ¡(ÓÏ‘ý*ÂU$ß«?F$Q¸Ìñ¸²Rÿ$JªÉׯJ"î#d#¶*l¦ÿr:n–ã|*Z$Å*t˜ôO‡{ý5Ú¼¸Òoù„Ï/ €fòŽo4b›¶Â–ð]o“SÒžûô«¢åúA‰¬ŸÅ¬v‘8½¡¿…ô>¡kT%C}§†æ-ªÎgËô÷…E}3έT²ªtØy‹Y:Ù sÎL“ÐK°Àõ’2sŒT Œ¯ýBB¼-zह[0vÞÅïI¹a˜ qЕ«¨ÎO;¼zß–ØØreòm{ñ¡ˆ´ô[ˆCôyu¼©J#úup|É8ÄfÁUÛV åÈ8™òÙž³±]I–"—Ïô@XFý1Âh5Ã8÷ƒ&jd0KRµDLs…™}ÀÑAð!ÃÇ¡÷•îãe¾2 -Ôá›g#ʯ,B*ˆµúASc£%”u#¿öÌüÁy ÈW«)ƒÎW¿6ºêEâ Ê[ÃGGàÄ' Ú@kË[´–Z‚´M­Ó§qÀêÎ>í·l_M†5º¦ãÓ á¥`úáÈú6û Ýï]€=Ua`'hV1úGÚÄŠ ;OdÙˆ½÷õ!Í(FÅæËŒ&•JßÈ›ˆEyð-ƒù§R"r3‡lÓ äO§Úö"§eB¶Çï¡sX¹tTƒ©w\üëA€å¬_ÓÒE‘1->5¨†ÕˆED¨ÆI€BÔ¾Ec‚Ã(¹ç8”¨`PÀ|1è1•Ý´Ó@YTù~oÇ(?úÅç·æs’R’ãaCÁLôϹI+%/t•avŒEFvsT5G„@ç‹ÍÁ»¦[•"Š|Wì߯NRôß,r¾Ó7û –åµÐbôA…ÍË_Ó­¼’”Ó7»j ˜°óÍ&0¼•Fê½q;íÓ8SpÛ;ÏYaˆüÿK5Ù@äV¨ìídÑÛ¸ÎY`4‡Ã%,Œ2š…ä#BÃ]r¦äë CtxÃI—´x*}|¦£\ÎaFЈ}Lû†¡üá%zÂÈxº*E^àÇøy^b¥²›µ>…ÝUCœáÑ¢ÍòŠ-î,·º^ÊÆqÌZØ28'Ñs{‹â*ÙâõèñÀŠy,qrH¿í—?Ñco‡†ÒH0箕tSv©äJ‘‡zÝE×£PW‹+íl>²›ƒá$NA+Ž»‡wx*Ü£‡›‰a[WøbM¸S‰Qp±šÒüТ¾¶7,(-E” ¿+Gô}(¦ýµî'¢Å/” ’(\à¨ÍsaÊÍès´ùÕÜ4 2ã€ÊÁXjÔE Ž ×y÷§š¾(%ºk°¶ëI¿°é\!R}ÙÑŠÛ¿U…ùC]òzÚø9â­_°*þ ÙnSå¥W/³‚‚€4V4ª‰ è´¬ïÁjHìBšÆF A<]KžB[J*#Joß]XÙ%˜®ãO?—VrrdÖàyRXŒ“(¾Œ¦2À6·^]ióêGÖk5.ÓâTgÃOŸ>\Ñ’JQõ§Im Æwl´þJ˜I#²•þÊ«4ÀíZ‰5䚘ÙžÎÀ²¡¦ÌeÐ#©å䚆ÚeÆ0B|B3!Îþ©ÿj"šRó@Ïñ#×·º­öÑPz¡^=îENæÙÐ5gó#þÎî‡Óö™ ðãÒf¦ t¼pÁøºÄÝGaè~XW¡üBѯª µ†ß¤õüÑ•[û"TïU €Šá­ŒŠ4IŠ–S/›k-•ŠÓ(Tl!¥¯~…äV ï|ŸóÄYC2ȹÙÚ®£“ Ìt ‹øWZ!€}3Ó‡öLsÇF=&f–Ä ¤(I³ËD…p§›ÜÝ<ÓÝ(JÕ4ÿ¾ _èö‹š½ÄÕŠLEAÙݤ^Ì{£K .•hrW8ˆ`¸.llR8ñ?u4„/RU,_9k$?ÉÞø¯ðÞ禔dñ`6Ÿ£¨]´˜·•Yóˆhmi`jÂÞ ;èÖ ä—tŽM8% b..Ã%l Œu ®íh²NظCøÙÕ²÷Îgto?ùæçñkåH¥‹¹$K£y–µérÕéÉ<¥IÜ|àõð:[ÜÏž^"§ÖS÷·˜hö…W(ôŒ7a÷¢dfh BÓþÓôæƒw0ƒÇEÚd1ùZ"º¯‘³±9 §›0Ï%!Ù™…¡$çf JÑxŒE1Œd J·6 CB¦@¦WþTõR ëYƒè­lH«¬ê˜J#†ï¤ÐÊ¡æólLãü-AIìõ!5Ö¯_öÎkˆp¨”KTÙ¾• œ_9{m§×ݵ´²«ƒ"ä‚âÁ›¹¸Ï!µm…ù£ŽbÃWqâZäRÇl‹¯FcØoðd¹8mDžL@u¨5 Ü$˜â3º &¨^UP׈RVÃ/mº(Wý•¸½»úAÌ&£¼qh™¥º`Ð@ÖÖ‘s¶æUã ª†ÊFnHåÐÊ“8%s#Âh›†h2 ä(SÞ=%UYNãš¾ ¥$@Î@‡Im¼Íºžn×€Ü{ßJƉΤ ¹œoØß­$:þ鬿%Ýë›@£@e³&”g»<¡¼^Ÿ´«AŽè¡Þú—´€ß´ð£ÍP,0Ëyú° ß…enÔoŒ-t^ùÇiÇžùÑv9‡Þˆ¤©üã/½úHÈAŸ ï‹-¶¹T:%|ùU2Évñ–b†Š¬•Õ€äê"€\à WŸÿYÚ\J}ktúºQ•¸ŽýEíLRƈDž²½yã&Ÿ§úWÕ{%Vc-1EC%…2„ÿ«^E.ß$ª­1‘/ŽÊ”<®T‘Î×­?¨ÞŠúú£Mº¬’þíšÑîvrÐŽ ’|Õ¡6›ÛMNYà3,i Ç÷ã厫x©TúºJãPRðûÛÐVH5æ¤c¹š±’S›¹Õ æø¼‹©œ›Õ ‰¸âÕÜCáE¿   |Û#BöE,š«ðb‚PÛrÏ(Ibj$ÿ^Z7»ÞyC¿ÎÙÄÃßøì»†Cn‚³PS¦x·0¡Ú:Sy xž£>-›ö^èåŒÙaH€ ì_Nbã,‡I¾u˜6tч©|ª+—„GLŠ:®NFzh”ÖG_é/^ò½Ï "çôñë§õ‚!"‚r½4íý¢Ciôð(Ó‹T³n Kl€ZŽ”Ýö¡öd}¤3R¤ì~mE¦f%UW£V¶G5]l£šûÿ>åëwüÚ›»ï:=Éî4/ÐjDÝ×I‹:EFì‚A2>ïºT«L¨—³šŒzÏ ¡{¯œåk6kq] ž©‘û¢-k¿ì6@[“u/6ëïKêgÜ{¬¶>"T—º7²„c¿v õf¸ð×5·íØœ7YcDéˆ}Ò!“ÖÞˆ’8ig¡Ž!C´jSkÇX-ÿWz³¥(’| æNç**_ébg®Û«éT]—#øõ+þ‰úíîÆi}2 ù-ç‡z-óåñ „‹%Ô{)›ӿ¢4ÿ¸Rd¡ä$wVßkHý²Ú[›q¿¤äIq‡qñîÖ½NKHXAqnÃñÿ¶Ê;ÇUm»˜Ò¬68I(h&hÓYù˜ÿ‹ µ+Î0FçùØ*‚Ö¿ýUÌ?6þÏ @N”7ŠŠßyÛß4}ï,¸_5ÁÑåA¤['-Ò'ý+ÿ^ϘÑ@>r4}ê/*|´ñŽ1-T$\{z,¼‹¤ˆ[©C¢›¬µáAã~DÊwTÊ¥X°}Ê’ýŸ2Ç+Ëu&=].TÛ• mý–.%@É™ûœaÆ{ħIUý&^ ÷g…\ÏGˆºÞé¿sÀfuŸàºÌ>¼n$nBˆÚ’4…3ÛÃÐXšEF˜E&µ–žNPzxŽq2€)ou©ñÑÆZÑêð§.]æÅ%Jl‘ßIÛ Q'¿„‡£Täàø¹RŒ«¬býÇ× >Àó À!Ú$…”üш?\ñ—äãâGûÑ e‘ö>cÄPk7[™ü²# Pu¥Ö5…šd=\ ¨ô½’6ÅþÌø:¤fèä#°¾YGi#ÑPï«#øJ”hG/O"ç b°u’C½VÞ»¶ùEd¡ šÙK/Ó’]> +£Èc¾Ay[ä!†x˜¢ðö ¶Ps-UÈZ}òÀr_;÷ÂøB¶žC¡Ð;”F y˜Bô‰7rtüâíÙpÍ¡em9¤\è á¨íÆLª…“qÚ ò mó†È·d«¹rK œ³ÂÈ:k3ª#uØÆÆ_´F½õFBéùˆ 'Ñ˹¶®vÍ~ªßŸ:˜EY%Ô¿ ÅÀð]ù¶svÎõ+ êðš±Ã¦ÊÄ<ÃÌÂ:hMhXÏîAÀëI.§mò@]†¦2GÏã$Ø â·°à6‚²žE#d…whCìg;øxL8ðž-0ÈôsÁ®„cçl•îD16¬”È JƒZ*D…ÜHA—ðÈ¥JbÎê½æÒj—9«¼ð´eo¾6;áçÍSK¶©¿¾¿ÂðÁ¬Ý(ëµëK<X¼ð…¿:ìÁêq ÃÔ;ÎÇyÚ ç8g G4§žöyet=ízß–Ä*ƒó¯Ž¦b£dš#"_…ÔÂÚ ÊÔb'eš? Rà/ ݰ­øÖ¥­É J9‘31ÏD}‰‚ï Œa|HqSˆ”÷J^~Œ[¸Ž?PøþØ ž†òî5S±Özs¡!Øe–ÃéSȹÄ).º ^ã¡X{þ›Ÿ¸£ãp¯œà5!þ¹ðpµÃXw[6‚œÊ¢¦€Z?g@èWJÞø:M I…”@f1Ñ™XÈWZ«á¯É.KIPÀ%ÜÍQœuŽí£Ð )B®N ö†—mfuîÁñôjgÍÇ×âÍU(w ¼ 1 S2i´ÿÞ0a Aa>¸–ºàç¶g½xD¦{(.G)û“ŸŒd`‚NÇO£ õ/…<.æ%NQkU/ulM§õ«d: ­Usªˆ·ÅhŒÒ0 õ/mVT+ þ5´7j*R2õùV¸UzZÔŠ)¶Ã£1„&E7do(ϳíS°Þ“ŽÀ4IÏ ›¥£= :1ãÊš°@å)¥_Û(ÿJ@ICнà4idff`!UÙlܪØÇBv\ø¨2/2>Kw:˜eϨ®£ùÉÙçRš<¥Ìjê‹’PxVß,³fëAå—<5ôÆ j/U·­0«—9ïây­¸6€¥â=©fÀ·åÊ—0§z–Z.Ö¤‘£eØEXqTc¨3]‹ð{¶V?n<¶ºÊrýº=.Ȇ Ç™• ˜ë/LOš9C”²&c©n|ºäh·ê î^Á•Ò½Þo^)¤xHoÚeiÀ¹œAÙ¸C H´P¢;´¯<÷¢Ÿ Ý G óVãçò¶›Y?uhz~Ðvêæÿ ¨© XpÒŠD”Í?’Ës&Χ§Í½¦ýƒÚ^Ïmy¸³v+äKõæ@¿2éÙ±˜FŠOEÖ¹ËI=Øf½ôÁvGù¸-»>i;)Ó­÷x³Âë‰oÞ›%÷ou»2×äðÿª ¢d"Qê™NýÿØ1‘&IXÓ´›0ÂsUKÁg˘o‘îd<ñÑå 80í'œ/×i}‚‚ÕSßš<Ýs {* vÌAÙH7n¸˜jÕ/FnC泤ÇÖú2¬:±›{:ßOÞï gÞjE8œÿ_|oƒ%ûRvùìi'7r5*˜¢U@ýj7RFi êÝ’¶S½§ å›Ϋ[Ùøoq6Kµµ½£éÙÅ3é0fX §ì†ò[áUѲ¿ yh0 ‡÷Ës¨Þ‡ÿîO–C)NM°¯ê]x.f8æþoƒ¯Ÿ‘÷çå+ŠG·#ÔÖ|¸Ñm¯lJðü%ߥæ)Ç^ ™Sý¾wƒÑù8{|mø8“½[mØ$ë $’nö›Çr.‘ Чi)ëLÃH€ºÔ€a˜MìÛ­s¤af\ë~èP¤'™œË¼¨–{ù¿µ^PƒÐ2ÂŒ}¯åiÖò›¥Ñ*n†׸ªM'¿¶ú8‘W9?¥$Þô…L¼^…:‘L• æûvÝŠy—ŸÒ“L7ümåh¹ ­Ìô¢èN– c… Uö>ŠrÕ)Ã{W‘§"Ö3ÿ;žÕw`ësæý²žÊá]8uWT}ê˸„/Ùü:y*sµp|ŠïÚ¥;øLš1ÍYAÔd  ¯úYæÿxr’ž”ŒEGSóžÐ3~4ÿä¸ê­Ràî™OD¿ÃEmOÒ·)/ÑC"óŠ÷ÒaQû+<Óg²Š-š;‹‘–èšRËä€î=9ýYNÂÚLáccsªO†v#].áˆÑ-]¹ 5좉hi‡‰›ÔÛY4ßöäbaB²xǃ‘@WÇÄ*+)2,ì·®u&.ãwOá ?AÔó[@¿çÚZ[MÉ*Pæ9nÊîÊX3ö€ù¤eqpåæ9ôi<± Ætf­‹ÙLŒP<ÆŽB´¿CØyÕ¶¨÷sºiŒ¬Å†ÒÚûÑâï=ÖSÆ30V"!QóªÃÝÒr±÷jQåðeÄ3ávü+÷dæG 1½e.“Å4~ëQH¬ „ØäÌÛªÇÅñ ö¡Tõ±¬Yß׸í niÆaZ-Vuõ¤d2aäˆã€Ž^¬4[gêžæY0_^÷ï--χ´2Lëa›y+__C²Z ¥@£'âêŸéÌ NÒŒ‚” LoI¿ðà]×é¿¡4‹jÏ×{¶{‚EÂãýb(‰>s^¥|ÝóN¦ì”¸N¡õu‚6ù™N ¶"÷Œ—²KÕEî™nÀ:®¸ô·ã¦Ñ´…[hi(›ÝµOxÄ5k#OÆÒŠ–%ÿé;žäSž"æñA”GCµI¶­²×¸üˆå ØüÎP„Õìš®ù^“äɹ۬]ç¸zøÙ¯›V¤h£÷÷·ÉXAàrl64Çâxºq-*…Ý&v‡v-Í_( ž=?/™ŒüÌV¼®Ý ‡žŒÅZ*±ësv$–­¤ø~ßè‚€@Á…VZ׳ÑÓ¾jÚ¨4Ü¿k-¹ï’ÚŽÞ&BÒ3œôþÄ*ÞT8¿¹½.gSó|ÀòÀŸS4 ú™2ôÓÝâAœÝ¨>òâz•å ¯Üà[æø+<±ž•4B]$dSn uãó-PS<ãËKýÂráÕ,ÚMMÎŒüàpòd»Û•á\°º€Î³Ä—3qO&¶É‡+ûíd©šhìIl°{™uV/Ãüs†ÔK‡.ê·Z¼ ŽÐïni¿Ä®G†ˆf׫pS‹Ø*U€&èf/ÞõLöõ‡FÏ›©áAéPÞ¡0öØ×ŸÌþ–õzГ·.{jÙM}9…ý)¶´/ªÆÊÿ¢žóÍCÒÂòŽxÀt§¬Cb52‚½¢¯¥ÈLo–Ì}cHal·e¬wñž;ìy†Ý”zéê9LŒ©ŽIÒOc¾?• …5è•T3z/F—MŒA+#;SæL‹Î3¿ä^†¤[†þÁ"ÑÀ*{ÐqÁÖÉL—©*1¾­> ו³JÌ¿B‚%ö2n§~¥Â²Øf™b¬Û ½lÙ*T¶Yè°?˜Î{ÐÁš s áÖRüz °Ä~CÒJþ™Ù?úÒUˆçN'4#âmÒp¼‡»çÈe@üm˜ÌE¡ÔÖm"ág)K›رfM²ðçgyÎU&\€ä¦ñƒMJ>\)kˆë¬qø“„1Ü åu£)prÿ p‹„KÛõó šèaÑV…:×DåÖ‚aŽà…PòO—ܶïöXá[‡„÷AÛñºi $}¾aç:F8§xœoz—A|Ý©ÖI 5}«,*Ô„‹uÙt¾Ì”½Í 7»MfN?˜£)Ù¬c¬¬p%¹¾ÎJGÃ9I UÚÆ.ᘠ—æú–ÔnâI(lgø¡úÄëâÿu¯ë¯[Â/£Ió+O¸ÇÃÖéÁCpÇÎ,Æqe:*Ôô› ÙlÅÀqh¡5r-j^Ü` –Ö:fT‰ÏZ1ŽRЯÂÜ÷>¬Mü%6â‹•ÛŸKGþPì8I•¾‹~£†H|ô·J“g×&ÍóböÐ!žÓ¯2¤gĔ횱-I¼ Õ“¬üHÏæ“ç£Ó~hÇ¡Ãjuhj§xÀ¿å Ö>ÄRoë$”ZÝ»B“k†ß¹¨;{}v1êšÌ7”öq1^3‘ÌÊ3 Æ›þÎ6 ~p$ônÁYßg ½yÌ:£7“@bÕ„{& „E}ô (_Ûãó– Òí$œúi›¤”€m󇕓PÝÑ`[:A‹8IB[ú^Îí÷}¢mýzèÁÉxǦÃpº³š”Ò¦çîl!-tŸÍNf¼mJÈôF˜Úàk[ O…«ªÚS* ÛÜ"1Ï9óÅ!¥sO —¬Ï0ò‚vÊ"·•ÄÂhWˆ7{šT[R¶E¥ˆTë îjÔ!¿SÑ\®©Éò2bU±NŸ `Ç÷ ·3ÅÂð†ÕGÝÅߟ™,s—ÜTã°Raž)]yú›½ÞNKIn Š“õM CX›1Ò€ãø¢öqÊGë0=­£Âzâ!êOM¸6tpGÌÕ.@ ¨xhÚ>}2žÇÞÆ–Ôk>øËuÍñHrþT`´¡œ'ô‡²Ðº¦" þÕ[-#ê7”JØÎÄÑ4OÙ7„×GUYÈx¡†²×Ùæ›câ­åšà9Î/;’Žù«dÑ€û›ìcΧlñwª÷ôDigð›€è)ݵ´ÍÊG3àè0kÖ!’7ËN³¯àË“êeSµ’Ÿü&7Ï­´±ˆb5Dã;Ö™¸9Ur€sÉ‘†ŽI¿ÇQÎŽ}–àEŸ ?u* åaÃŒ1è´€A%9ÞÃî6bSDÌè&%Õã-@¸R ÕûóyW§`Áq=äããœ%^wIï}yŽÀE6ONõM›R%‹ÔSæä¬4-¸àÔŠ7nÏïåÏþ¢íå»Åû t²¶$)ã]2yÏ!BðiŠQYI~¥LQ¨IFÖlòªÈeÖhU£^d-d¦õ¬Z?§T¹µ ¡=¡Ðåf-À k…h˜Ó¤\{U­Àt!âÓ·D4ìqR«O²ôuÃz=Ë&–«`ÙkÐÔÁ1,´š ‰€&ˆGyg× ¬mê8{÷Eeuœ)­äY¿±Ÿj«äÛ"’Y2o|»ZäB@ÞïWí¨× ?O_ððø0"ÆÀ½í;Í…¿òðóɘUûcÒý7XF[3žTß!t«Ó¶tpb£·ÍEòñ3ž< ñÍq­¥öÍž «ÉfùæÚÀ5´yÿÌí‰xì´ì#»‰c¶SÁ 0Úº2d¢ òw´ÜôùȪq}ƒ#ÓÆæ©Á$,`,̸±ò-qpHl§Î2åøéþ|~}X@WˆÇY}ÇYÖo™=ÔÇù5x²·eõ Z®¹ÛÊvt·W¬«†«ˆr_±“,µ˜wùyúQ¸8h%äÄÇã¹Ïg™Ä;u…m|-Kv¤Ôxi+v’Ñ5íÕadãIØÇDé"Ð)=ðZ0q÷×*F•¯J4œÙŠÁ%¶Nÿ•ì<Ãe2Åb¥ç<Úxõ¢¢=ìl)„ÞÑžR²ÖEH0êVíÝXý^åQªÙµènÁÈ@7"Id±™j€,ŒÏññ-ªZ‰õèv÷†h•ó¨@^ØPúÕä'·´”xqÇXmÔ=ÇÆML‘%?€ƒ•ñ^vG àՊ§S€k’Åõ…ý4y°aþü—yÛn›¯‚)#vÚ¦±¾À¼`§.fß=‡,µŸÅdûð~]Žuéµ,´bØfðÖ&³½»l(KŽæ{ý‰Ñ(¯VÞ½ª¾^€óÒ½p|5ñê0S°¤?1þC›¸JCt[ã‘\¼v¡`0æä`“gA쪀ì#'Á˜®@Ôò³}õyN¾Œä€ÞÄmÂ…9ì`¶°6sL%£/ÀªÂ UT‰ýôX+4IÆÀ“!W|ȳM¥qÀSÉ› þ¿d+¥Š¹•ûÈvqt¬1IùOöö§ûóÊü«‰ý:ìp3; i}³,ä<ïU²ÌÔ)QÓ ¶ºòp(ÜIùbö (Þ:®+M=üâ'ÐøÐaè‚F现µÀD2Å ç0㱇6 ]½°ðN_¤uŠØ_¨”‚Ø.^¾ÕÎPüCa`k7t«dòr$ëh¿í~45u/·»³¹<íªÖXY™/‚¯\XÃCvW+ƒqgîÏM_ÎOuiˆ2¤ØbŠï½P¹§ç¦±3ºÐŒ³õ’&FþkÚKݘ° /–L·©*’½dƒµË9¤w2—tÒ(¿ÓwPÓ.@Xªü|ÛT€€4!îN*µìWKGå Í%v„iÏð9·oÿÝ ÒI†F]Yn\j[ÝÁP>Ä 4,#WÔá"Âe.Ò‰ÔyM|À#8îuª“:¯\½7µ•ŒKÁ×W€<½Wƒ¿²±R^ Zæ%ÙùÝÖÀ6*X7¿Â‰PTe³Ý[rÌÇÁÖX*ÃjˆŠ–J]ëNHÃÞS,} `K,­}®=rõÍå'Ÿñù°ý !E¶[Jç©Ü«?µ‹ÍË'}@•%Ì%¤± š ½áN~R0A,jQ×1öX˜ûgØ >‡‡8I,bkŸCàhjÊ…¡šCdTnMÙÊQåaÀð/ÿQŸâŠIíIY$‚­&”ÿì7"ÉŠzfw»Â¤ÝDý;ÃÀ1‡›®«‰üùM-ËŠ-¹Yä ý—¡h*·ÿ”çÑizÔ}ÄÖd®ƒˆ@Áá?K:‹hÑû“â³ðEØú?Œ—K,b$jƒp£ßt6ºðGº`Db'ªïŒ·M‘ίF§­ùôQ],ÖeϋړÓ5¸¯©Œð7?Ñé$úæ|°–ùø2 €¬¦ƒ"›Å WÒk÷^!2Ί?e¥\—(f‹5ÖÞe1†îý­î}5<>C?ÄØþáE†Å½<ïZgˬe²i!»'Ó2c<*¼®ûÊH»¬OV¢@¶-ùÛœåÈÁåÈ?•xº=ûÿ– Ë‚G6\Œ.{‡Ø©o$J/œ,ÙŠ —ñC^ ʸY¯ÒA6(-}l-òMŽ6Î^):80äQƒ‘‚æºBMm‹$!ç±ÅO$TPÐWƒÛL]îM¿ß¬«‚Vô ãÅ@9†û\k° øoÀ ×ïÞ)oº zTžvN*'§×´Î¿ ýHAß]9ìNØ—‡(Ê0¿™046Æ2ÆWᙉ¹î$ËBI´§ž”•2Š» àŒí©¦ *ƒäJTrg3ã`,@y}b”~„~BM¢§ªL§ +‹tŠ…¼"ÉÿÙá²Ü‰Îš°sd/ù(±ŠÌ]ã¢ö½Tml¶ÕÍÚ׆'û¹o©õÿÂr çûeóg§}cÑRT¡]3îF÷ ›j¬¼…}-óåáÑS¦t°ç{“§¬·ÐÈZÏr ­º0ôϽ2ŒEÛ%{/€’Dñ£&­Ç*÷3°W!×AÑÆC@ƒò,í¿©4ÜÜ‚ƒ°÷1å LZ±y#bSM·¯Ä9tizNæ98î[XàÚ¢=udÝÊXB:yì&ÆÉsi¡’ˆÜð¦'(F©9d\¥¨ù¹µ±·“L?½CÖÞM¿&iw;T6ä`ïX¾àÂ:fGœ*8/¸ž‘>vÜí;ŸPö¼§¶Ž• PV3›Ã¬8˜¸Ûs’7—À&¨l›p_íFì` ã® `0«[Ö…ømó‘ ÷®zÔ…x{“-Þ#‡nNê÷­°G=ฑ N†þ¦T¸>Ù¤ø\ ^E^M²ýãõ®MRaÚá|Ñ‚ÅU×wmWô‰fx,4ü ¦k>G^\²—͇€Üw¥ªaÛ3R6ë;º°fâÙŸ! ªe”{~V\˜(T¿+Ô{Ðqίþ³$ñÖ¾5Üÿ¥%Ñh&ÊË8î…umŸ–N<:oÙï06´¥,ñsÑÆðú÷ZÛòJ‹ÇµÞopáE½Sâ3Xš\øÉ›W?IþÏ`= €U©QÉj‰ÑÆO$E’E&oìj`‰Ì„­ªOø¢ Š~# ½øÍFû/”~µºÊIžvQ`fˆ‚®›ò:ÞîªAó6ŒªºÑ¨1¡‹*Èá½rm Õð0t›l«çñcô[“ý(Ó±×ßbç[ÿRì**×PÚuh=rµ)3ö pœ´Ó„5 ëéÈ‚3ŽÞ¸>ƒÃâ³´ÈÁšj òΆÛ@ñÌXgÛhCTqÄ`À$V“åØÐÁ˜9.‡5›TV†‘ß©ÀEzÃÂé3ÖÃ9.Fí±4ôHêU{'Ûõ›Â~ªµú]¨Bþ™Î!ñŸwD.“òÿ¨ŽÜÕlÓJÁ¨Ïû(ÂçþN5‚‰ Z;L~­ð1ë¤;D…K ݽ+![9gd[÷i(E [Ó7Ct_á\@£W¡±±cÃUâÓ‡æ‡cw³Â¦‹ä? …Š¥…+÷çx{uaïpý âp'’KFÕ”HYÝXJ‡ÏFNsú¯Ë³et¤ï”÷š;?ݦ/[·ôï‡m _óÚTŽñ:.ŒÐ´33«ŠV†üf· ¼xK(ˆ.HÁF Ž/{)nL¡ {±:§CÀ¥UøÚB·¾`dé4Uþû6‡÷® Çf38XI-Í32ìµX )ª0kÓÜ4k­®sÛ&[C¥âQ÷ë D´f‰/K}G]ôãU•¿CŽÁ j±4'¿ 2Dà”—^ äê@™THʚغ“VÝ€ïëÜos…ño¨É„B¡`c“¾‡÷f ÔáƒÓ!wI/Cð,0AD û‰úf¦ò…ž½;µ¥*÷/f]*ð}ÞdÌòã*26±Bÿã7›4ëÐð%r?òŸ 8Eu2ÔÏã†Pœ»aHѶí8äèJT•'eêd©¤2¤)ö—o‘Í4ÏÝ.Aê,ï€FÃQ `´Ñ_ Æ«òˆ Øðø;“×Kz|jG %óÍ•E{V^‚4oJ÷—@ `2wÏ48aŸ‡”½áz¤mœa¥ Å=¶ÂÖGq›—ÛT#èú„‘³‡ý¤-v§f$º ÑôçÐÑzOMwÉÕ%yõ¸ò(m«*‡(wRšµ,<Ãy³'Jï…™dÚ”ø‹—„• 4L;¦L‡ñ²ÁJÉ/hZ1wTXõR6±– Á¥0H.ÑÌÿÃï–@¨Ù¨#ÓâØ(g&úü$Glx£Ñ„Ž›,ÄÈ¡ Z;–uûŽpÂÍO5Q†d¸³Ç£QŠ£' oΪŒˆkÇ” ƒLQàúÅfQzg±\ÈÖ0ÐÁ‡’QÚÖTT˜×k&?ú_X¼æ|N±þQçÅêÝ>]O}7º)=šŸÒý‡¹–ãmÀ|#±ñ(Òg( f•8*÷Å5°¯”¢ à@wrŠ€\1¹³¥7‘ä6îïv9‘…,µÈ4Ûé¨áÙw¶{qÂ(Z ÔÆ­„–5=Ɇ'`uÛ‚Gh!y:Ëb÷±$bsóž3äåè(#v»™Í ÛòIŸ7UÝ·¼F˜Ø|’…ißæU²ÂìhÅ t2èø·›5cO±Õ‹žñ·ûojš ¬+ç÷šŒH×nÍy ÃÑêÞì¹Úî¼csIv5 ÏÖx’;J—³¦çJÇgH¼6EaȇP&I‰~I þˆžhíü•MSÑ ÛÚNQt:yG¾)EžÎtÓùGÜõOŸÓõÛMÐÆÀTáÌ…‚Ž›L˳ÏBés|û)JÃ[³Ýµ}¹a.¯€ï-åceUÆ·Ôjôâ¯wš§I)8P0¬ônH@tÍÀã¶J)Ð¥,×A ˆ5I2fLA ÿ³Ò¨œÁ’P¾¥¹%Ê2-kÚ"þº3ìº8ÚÎM=Áì‰|4ÁñúçœÉ,Øx5áûȳM±zfŠ/ðy…‚¤iô/gG zspD3—ú½Q4Sô Ý3°Š>v°£?æò…nzuÚVw.5Ñ-’ù°,ÿ=vcÌÏ‘Ýõ\ r{»oÿjaœå¾è€*@Ý(¤v°†qrhÃî7Xé?’ðG=ïíWb>=K#LÌ`„ÑÕ|6hGÖyüs±Ê+ï¾Ç´¥>­XlÕèY²Uâx9ëI--an„Ô8°¢ùVâHÒÈ¿çmÒ7^ ¾5›W®‘tBâ²)¢×6ýÇÀ%MŠ?®áª@:…}+øR ´wšµ+¥d¹°‘&rŦ&¸ó7K Í×T=ÂáfÊTöhm~¥U˜Ó ¥ø¼öëw#ïP‚§Õ×_ÛŒ´„ö|¹^ì$x> éÐ…§è-¿ #…ûï¬I›J¤##hÊ þA=ÐÒR •uM!–T›»PÓAWÛ øW༸Ud.,f^n°ï¹~4ßÒõC|%ÃÏØ y>eÙ n_£ƒ3K‡ˆF_¿áÁEÄúÒ„õæq%r!?Fé7i.ÚrÅ÷óÂ7ù>=½ºŒÛ»ÀfOÙZ¶uøLñâ«aÜJ™'“bE(Ëßï·!Jþ °Ÿ–áFOn({ò®…SN¶Ã›@¯ÄIÔ_!þV‘‚ÀGSÇ÷3†­Ïº|õ½tñ%/ !pD:S Ó’Tƒþ¶ÿÞ¬zÞC9žŽ‚Poë€úz¢=Xæº%hÆ®†Òd\ødù…«Å¼}ñë¨ép/Ö¥ÅbŒ-.ÄJi¹ÿŽzì¦Ä[î+ôÅÅ’5åÑ×·tL/Ýs^´( ‘þ&ªVä6Ìa-äò“q峕±O>ì3[ :‡xà?p­v¿)¡œž»•ufŠÿ0Æo®ÿ' ðºL\c[¾åmàÃdiXö‹s`× ¸!ª2Ä´7ýôaçe°~‹R‹ÝÛð Mù Ê¢4Ò wMP^Ú’ì7=DƘ“WóÓ*¡"&áë }èãBcüw¿¿°TÆÍ l">ο­Ãœe†ÓÎjPÂ=gÓqßÉâÖ§äÝ1*Èq{cú ‘ZÕç¡<ÑQC†+Ù+!«49Gzâ)Ú- ÃûüåQÕ¿$¹ea8,ÒŽ‰{ºSxœNmt‹ÓÆW0²¶%Ú¿¡AxF–"J±< ,6¨CýÏc ,7¬¼ß'ª†ò¹på³`ÊVÊþT?Ѿ{ƒ'ö.,Ÿøœº;K$¶£M,€œÞ¡!\ „K€e‰EÚ‡;$T÷+Ÿ¨$Ù‚sÀáĉõÓ’m…ú!8ý‹2‘1õ‡¯‹ Ðãk^êɵ%pCuÑY³|¸-Ã=œ—¤pð ÿéà‘<$¢26JhÒÈ+37¡P"pUiO¶ nB˜ÊdYŠ:æ3ÿÉþ(}<µwÎûªéÊ\É^X¦µ@ݶiþ(ë ª}¤ ÁšísÀ}ÓÄ<=@H¶à°èÔÙaèÏÜpœêQŽ·»+í³U3¿`ª+ÌûÅæ¬»àR„#Ï"'õã¹wÒN|®¡<™‚P‰î¸Mìó>U+Ô¾ I]½áÛÜ8\‚¡þˆÖÝêHMˆHñêÙêìmç9}°Œ!IÜiϱBÜÃUçþò™S÷ÃþùŒ ¢Ä¶5uél@"èDò¾KEÆ%” cÌèÑ·žÅ8¢‹dOL+Í`“»ÿfì`i Æsծ앩ªÌ²ºF h…Ÿ<ø\°oCj§ô*S—ÝaTTOÁeîòû+‘"¡!$c»tëhe>-€±Ë•­1üÂýRPUiÄnB¬±ÿX Þ=ñž”ë„m?œTÿ(‰_¬Û)ûÚ1š7èU÷-Þ8“]5-ÄäÆdö.îú±cbUò,Ãm–Çgeî˜1,×Èá¦SÀ$rû\¤ ÇÇfN uì"[;QÈqaýνùÌôÇIÿ ^éþÁ\Æý¿!l?kÁè'¦kéåDÍÒ§­|è¡„ÓÓ˜pšË'àVŠæ ‡ªórÉÒ›?­¤AÄc˜í¤¹8©H×m—RÝññ!U·p:äý‚¶’7½Ñ›‰èð:W ÷m‘FÁ¨¬¤i‰‚î±!ƒij£ˆ,:¯Mºí >À/UÀJLí{’…•M’w~ú°`¦ ×­?IŸé¤ÄbqÆа÷XSæ2žÈjÅF "ÿ©µÜ`FßÛu`: nS!äy—RI­µW Æ$Øåo)tGx›³Æœ<ºfH"=A3£xôö.ÈúÎ{\_Ñ{¤i·×ãæšä—X„w¤å¦ëAý§6@÷^8Ê>z ØCªäݹá1Þ=ÄXÍ© ’÷#l¡Íñ)[¼ˆ”§C¿T½gjûøî¾úD±Ò¹ U‰¯d9êïp/ÝÆÎFö#¶´^êÉ Z¡R,êHáë\s /·ëoÐÙ% †—ÈÀœŸo³t×tPØ8"ãé'ã¡á¶Ó#D)K‰È±<{{j¸ù¾J*Â\ß½H”z¯¨lÿ­ ï}ã|ÛoÇØ4‚Þ±â8q=ST+æ×bÙ»lØÍÐA=mC{µâÞÿ0ºæ<«ª“úÄæÐà¼LPt:òbEàg€÷Ù¯ÅÔÔäŵO@¡¹ ìá0Zl±.áÖô”20Îõ[*ª©³ÓF0ò؆þÖ–rT^7/½n´>ói©4ÑoŠ6¤G=€ÅÙ|ñ%¶ÆéM‚Ç`ÙeLä¿>Ç·ð¬GÙ­Fe‘péERNB¢Ú¹W½SÍ9?yÁ>æ<ŽÁ+eDj`«×J*™É†ˆkÀ a¡Š-¯ç€à$ºf ðôtt¸¬VXôo†–èæ÷6é_úÜVtTôŒ€È}¢ëÒY‰3î–!G;´HùBÉÏ5mt¡TÙ•œ:èí·XáüŒE]Î÷ÂÊ|[XèêÎü»×&.A_Ï_á_Qž«^Žh®7ÄøÃ-ðE£Êé-úfŠóóÊZ{=¢p-å&Ã¥býµ ·Y¢•åÛÃ=Š tMHUœú×/Ðy ªqôßهŗý/ ÝNËOˆ]×c¹]ê›bâáÝíºV¼—‰ñFÒæ²Ñ®+EK9Ç¥p:(•å£]9á™ß¬n1£Â(§Ê5&8ÉzÈØž6T?ûšlªØ­GvíÐý0›ásÀ4Y®L1ÏÝæ…‘¿’7:ï$¬Bl˜µ³¾Þ5ˆ¤ÉU Ÿ¢©ÏAaÒGK»¯èæÃ`0©c·ôæAãeæF»j“ûR³ð ïmPùÌc£ˆ¼êÌmæ/ ãOìÊLw—08M·×ãáøúÇÆÚ=Å$G/¯¡}ËØ ªZ÷C†µÚB¶G J-…Qô 1M­@*ägBñ#†*êhv!*u/–·Î*¼tƒ*š^Çú _”kR´,¬‡ÃõÕ¾—$ú™0(—á£d‰Äµ©ß< öNÆ×Ûó¿!Ù:yµ*€KÓûʵ»f¬Xø1™Áî`ˆmkN냾Þ%t¸w ËüwÄå”Ý£7-{ú;ÖU©áQs~0Ÿ¦XB«?ZO…u=æWp®³Œ¼Ç/6¡ã6)'}ÆíØQpÉ1:vMøI‡x»Ÿ'äËv‘øwp6Ò §¡òmë÷ô±©¢‚ü§Ä9<¤¬oñ¨ŸÃ––¤·CÆ–ù·Õ¡­B›%¥úC³‹Í¢£Ë…5´e(e›¬[°Ç÷ž¢&òˆ0qÁÞìGÓ3±Ñ £ÙF([X…–ÝŠH˜F¸bíjŠž3in…¿×-+×`ç“„÷ݳRLÑR'ëʸ÷®6ù¾æ€žªA+Ý%%b“ê%'ºŸ°]OøRD+hpצ%'cðc’@ô&CÕP\»=—Šu/ÄìôºOöëïöHœÖÞmÖó)¾u`F0^,MkoÌ‹ø^½`†Ùõ¥ÁX/8}ëÏ< í™sz‚ÿ® (D®´jæÂ¢LÅ6òùÝ|8ræBôY†ÓÕH±-õ:=¡ÚAánqõ‚E8?µ+šêŽNp}ZMŒ‡Ý1LréÐ2Θ‹*ÛÕgºéä Ýtå(Oggd®B“w Í:§]¦YÓ1æÅOõ¨ëšM˜A`Ç~i76Ößz¿z$ô$Ù•ZQàÝE ×UvDC×ÏÜØ‚5±b!ãá¨Û¬†îº5ºžçIìÀëžËÝ©|Ê Qÿï½…¾rÉú‹ŠõUk¡¡ÀKákbEæ#‰M[ÜÜ›_¦y‰™J"JU’I< ®kkÈ5^×»ñâ<̹v凜šYßꊧԎKWÎxÿí(Evóeõr»Ö«RÖŽa\$ý¸œ@åKÙüÍ3›rð‹ !åîûÒ¾‡Ö݆·K… Ýä +”ª¢Äò¥¶¹Tút¡e=b2I*/˜†l$y8ƒè2¼(É€«uš8Ï#²Àt¨ô§”ÈU¦.Ÿê)WHđǺèíXqœüº~² ÖÝ6 c¢4ÃÖÞKýæ“rQ}TqZìˆ~ÝjªQ] Skýx,¯áq„®ÿæ8Êï¶C^¼Ü'FžJ$Õ‚¹…Ù¬”@ux°+µ5C|}é6f6¼@¹UTè_vn«$Mh'°·E_ìý?Tzêâä¨wºDXÍšÅk}v[}£†eî¡ÿ´Ä°Iýß1ïp§Ü·3[¾V^Ы.|{&ÄŒåùó~±eâCg\ï¼É™…Ê:PÀ‹-X-,óe#—ì6=>8ÀqI"óê&¬è‡ú—§ßK"”54j‚[Õ„B­êÈÉó<™öV¸жJº ÒíK.5Ä#@Ì|p™Þ܈ªe6nòO„/û¾Áú¶¤™ôXùI~ËOÔ÷gm½[~[…|ÄW—w¿v ¬Óðb2ôžÂm—`yñåVUbQâ-Ç vÛLb®µ^ÇÂΪÒË48mét°î>ϵjlÝ—©úI4Íúáá$/z‡ËNCĆb*úº`yfÚűuž}½Dêa¹ì´mä$ý0²÷Â,¬’y«þ©Wîm:Ï#¾¼ÓHöÂLMlJ˜ÌæâTy8ŽÛïp±oš·ÀréÓ,¹íª÷ Šõ®sù™„9”Øq,núî,wŽe½ê­¹ `¡â¦çáM faÉQWçDXJ«þ?ª×K­EE³ò’™Ü‰{‚ñÙz¹®ìJ Ôøw€ À@·PѺ)ÖMšëî=|[;Á†þmu Œ˜B"ÝÈ£JVCÔÆ-ô¡ÆÍ¢]8–ÿøŠÑÊꎷHê qc‘Îá JÆ µæ“ús ²/73»gÿ$?ã×€iU{¼îö’Z»VLþã É‘¡ê}‹3”Ýaýæ:lÄ@s¿T.Nþ__€›AÌ‹ü$ìÈß‚3+€oÓˆjmhW‘÷¾_ט¢˜K#KV¾­Þ=ù”G"ª-ê|g ›A_©q>¸íLmºf,´½ª…Ùð=@6ìÿ_ÓhIc'>1ˆùøTöh­Xƒ6õt©8AýåÅ\lœ|<ÑšhgG!ü98qa@g2gD8'æ1I·Gô¥ÃÚo]&2j¢ltª0åÎŽÿ3h5n'ko´ñÙ˜b1_“O° ™*:Á­cÙNµ ´–!EÂÃŒLÒq`tsMäàDÉÜ*•ì5´‹$þÎfPMkž¡B0™þ­>Se¨þ=˜O%Ù9ºOJ…—ç;‰¼KrÓ½D”ûá,)"oD¯þN•]6wù úzŒ°KG“!6t¤ßñ†Y§$23—zcË‚ø2£ê¯oŽÇÑQÜĸlP š¢¬˜”QkÂ.FÁ}9Ÿ½¯÷Ú ÷“ÒWÖu¼NF8¹í#¦.ˆ„Ö*0 žºZ¤Ô¨L›·1§š¼€Wà ȹÇEyüà[®Ér¡¨Ç.½MÊÅ’ÜÛ_Ý;C·¯õac0m½¨¿±10Ì’ù(ª’ènh»u Y¨øõä¨3³¿ÿ=]ñ˜{ ±5ÌJaèU£ÆJŒ… •DᛓzɯzmhÁþΕb¿ý‹÷hq‹ZÞb_7_Þoœ«9‡üj7ó9±õïR1zZßZ†ñ÷Õó%MëPTÕ3ñ"¬°ÉI?šPAI¸À3ÊwÑsgkfëAýñ^­¨—æ|Öú9—¾#vö}­¼›ª#ºP„lžXô×i)% 5¨…›ð°ñéÉp»± pŸVmÔt`PÕç/«ÿ/–ÝýVî$…¢vƒCéU¾ ͘ü™_÷çÀ l;s}ÂÚÙ¡·Lrùy^@eöIºëòXÑci²¸‘…—⢓Öúq»PqwÄ"ôÝ7úž¨àÖ¹ì>9£5@!Õ† t¦ã ÑÇ^¤›“~lÚ‰CG軀 ’}d±éO #y½^÷2°œ.(W ¡H¤çÇDPd]íS"¤Ô¾CÆ·0/üt€.ëjÔ`ø}Ü&H1ƒÝ‚wòrsïp5÷óÞŸDšÍ×\‡À<%¶ÐÛ¹ÆwÓ£/ã¹6Ø5ýrToøÙá<Ý!ŸG»R*ž€ù3šºh•MmTw²mlþ<)ß¡KM£ƒ}/ŸòäÓL+Øqë9†“Oí÷4Èîxe Âr«OfðýBÒ?w™Lv%J.äå˜\tbÈ0÷<ا⦠4c]£$Š1ôÄ ß,‰ssP$]煉&ßÚn%ʺÛf&,¯8ØPqºO‹éGÇèäF£)Ü¡ø9—?^ Ø$tšÄp¥ËÎÙep§—Õ(òý¯¿Ö½É_k ²µ?‹üªëò¡Æþ ¤áTiä–=PI*9wwÎ6Ôix¹S&z„9ò‘¾Ò¹0Ýl3ˆrÿ=µ÷Õ÷\"Ûø‰¥óPÊÇÐ@oº÷›o:t;dšOÉõ½íåb  ×x%‹ãü/A' pwþ¸›&)nÀÚð*áV¸Þë4sʬ”"2OhÜ(*XˆÄÓøµ­ÏPÏLÎ" Xùöé@Á)žÜæ®ËÁ·»@°¹X_à9Ep ÆÇÚ0€ÎŠdÛO+–Ü{)R-åÌaœ­&¸°N;ž%ÀZ<"\²~ÕAÏm U•Åÿÿ~ìê#þ·?9O$\ª‘ÒÜv´—Žò:^¥Çp(d·geSÅeÚF’¤,“X;¼Œñ|Pc£ÿo—þÀ+Ô,ïuR“»®ôÅì,GÉ ¡E\¼(÷ƒç>óaYbD,¼0¾¯ƒeþ2Ǹ¬ÇìæAIˆ•çlúÄ&í]ãÖ=kI=™B¤)w*æN³³ÑWB‹ b&Fóp̃¢&Ū‚àF ŸÕ¡"îâ0ZDÃùð‹»jàK¨ ÅJÒáØUa#VEg—6áq¶ÀžCÛ j&¹þTÕ$s/ÓƒÍvêÞ™‘„ƒ’K[í£'û =eÆÍª¡sQݬ•R9j¡'bcò¨ÞV„º)òJ:§xµE¢?»Âß*NÌ·ÕÙMn nË}Ùêi f 0´A>´Ôé,Ër›I†l§eYý …ÙQ"HôYQl–U_äýYoˆÅF¤Ž'#¥È͵kÀóéÝD1óº·26؃즒Mfµl­ìõUõW×E–›ÒŸ„Ï®;˿ŽWƒBÉØ)½Wã[Ê 9ì;¤˜ øŒ´—õ Æ6,Ø¡:ë³CB/Mñf6,š$<¶&ô/ÄÅa€r¼ŽÒžÝå¿ßA‘\ªü¿’°äï(”²mãéAºÍD–-&©fÁm[)ûõѸäñ¼LIò\™¦(¯Å1yŒÆUO9û$‹¸´è{’Œª å>:òít’º"áæÇ³ŒÒ“ŒÂ4ÙËIÊÙ#}c¡ä1Vâ‚ ÓÚ}›A½à_—r,p ÎÆqäðjgDÏ–—xþGñï„—ö´“kĵdKa oFר±‹Ìðtç*ÆP †ùTÏ>¥:^Ò”ê«âG\š_MLUš£ò±ÿ+w:¸߈AŸO`!oèX½' /ÝÌ'KƒƒéЀi=y2¼Ž´³-ÄáÍVcE;æW®$Ú|Ô|n'T±„»œQÄAe€ØÃý*UÎ,o66]·ù1&E~cÎÅÑK2œ/Û˜Åßä ž"°%qEøuºZ2 *Ä«ˆ©“,y²N™Ðºš7Á­ˆ@#Jí NÜý""¯Oîbì ±Ááxàî3¼ñ¼¿‘gò‹ÄóÒŸÊ÷Jߥ¼Ð»ýùZ`nqÍtG±ûh‰b³?IR×Õ¸loÏ’ä—Ëk¢§¿»ltárá(’R üÃZ%”Ç¢n_b§õëÁ>kàÄKƒµ«EvåqGs³ÅŒ1:],¥mîQh®P¹¾ µ²’vÆiÝ^ÜB»G(™gK£ÓI ÌßÒ"ÒìJë Iô ­Z_ _Vås´{-÷ÊŠ…gãœþ9ƒB0%ÈÍ…¢$;¡ÂBÑ¢ŒÈ4dÿÐ00Ź¿&ÎÌH+Ù1n‰OÆwÉT¥QÑ´…£Çú7¯X о'5`,r%œËNÃx0P%qóŸsï¸hŒþkÙ¡xf½ ¸=K¯™>ËÊd¦â[ž5jê3؃d‰Dº+Žó ̹ÃåX×öî¼m‚ïÂì]B•‚½@ \ÍÏÕJƒ‡‚‰›+pN8á÷ãV%L½:fkHhêÿßo óYýüQ²Mõmë…»†âoIáÊMÔüŽrg‡fSTY¯öÍxû\)İøRÓ:b6{®æ`-ÞvÛÿþ±;aC­):‘ ,RÄ+É›jrBN æÉA ïÏ89Ôë…’$^PE—ºO„Þ¯ñN=ä”ie‰]Oý$¯_£É„1ºÊâf®yòp”À/ ƒ9þrfvp}ˆÇ_wìѽw“çVØ É¶ì9\“,“<¿ø¶K|Šé“Ý:Hì1±…[‰3³V?—Ç~üP‘Ê‚2'™sJìÖþ"´nM'{—2E|ýœ<+QÐ8AR•­«T³ß°œ(ú'\ŽMaÜ‘S´Ÿ"Y§Á>âÿhÒ‹|íÄÑÄ éÁÐ~òÈmœ[ Åý7œs$ Ã ›¹3/UÃpD­¸SÑe«ô"H ‹?¹’?ޤŒ¢ås+2B8=1©0OqH[Š¢Q›—4ƒ!#SPÀábNˆe.ÅH? ^DY?S“ëþw®§\k`Ew£<Åo™2IDHOªÀŠ!W:Ý,|~y¹Ð‡ï Žºn•7<1zE0j÷¶kùi§°çóïÀj$ $o+˜cZÍh¡k2òæ½ë“µ]¿Ñ° ƒìéTwŸJÊÆÌݰÝ1÷gÓÀ%®³æá›ò³EÜUú^¤ÖSÛ A -ðQ_)î4¨8Ãv¼{-e"¾œxrñ–¦)¯Va›ÿ ×i4 AY€@üóèÃêd¡×-«QÃ~ à¯Rȳ$ fé øþ/c Òm·`ª4W±fy|eæ ˆ¶€‹MÚÈÑZÜ6Óçtàtf»p=×A5Å0þw¡õ'͆ϲê Œ—?eB/,kâe¹é‰‘¨J¾Kh6’áè`+m£EžÚéc‡êuäý³XY~‚uĆ ¿?ögj t]ôðÕ°Þ&5x(Ì&üêBPe(4/‹P§]ô³°³­Ãý[¤ñ´\w·»5C«Ï>pªD[D%yò ¡ÊkHL<—hÀõ_îH€úCé« Ú~rY‹@#nÖ}.£v‘2³C넲̘"Ê7Pdé:ÿ7–$õ•;¦NðÐGZÜçUÈ>mÛ&£À8dfΑ¿=£ÎŒçÁë,@Ggdú°¶}%œêJ_VfyCVíÉkÓ5/üÒ²S)m_¨a±Ñ¨=Š­˜ I(‹nî{¤yzLî%®òíb:²Ú‚ÄÕ]JäBM¥–ò€Rø>v×¢'K¸€¼=KÆ…eß—ßr±—¬X[e7%Ü=¥œƒ1²+©Êj^“³ú†@©â“"Ø o²ŒÑé¾’Ø ®ëw\È“Ñ)âÑš%dI4< \ŽŠ´Û h#í*ʪs(N¨Cäê¶:¸ÿg–·½™&‚N‚×â§bâI«–®ÀܽÃRF¿Õ\Q_…Nvó§k°KÖ‡ÿ" êÛI­±×ÚS ¦D톬)¸šd­¤é†ŽCsÖÞ÷ã¯Þ“þjy€€€˜\ µõyQ sºŸ]V* [ÕÁï\ÝÖâMÇrK§«”ä+Í€µåT`fxUŒ9¹,^®^¶ÐíLj–KSÆY“7çSú“¼L/úuÃò¢Z„#ÌÇ”é(+¡DÃ6†nW6ìwçXVÅt½Õ*Ž±Ã s-&8¹c_õ¥ª»]‚;˜œ&%ãè=gD#ÜÅ¢äáh.IW·ÈI‡Ü¯‰ü^2qxÿ¯G’?ðÜ˳±H¢zÛñ;Ê„UYƒº‚zµ¥tì5´Jš„¥hK)¬›ž®°nG\t"Á*‘n¥#~éñ‡0IÃ||Iäš¿“’~Xüo­ ~þ¡ ¡ß±¨¶;ZØ$ý~F Šê’ºü„?n¨:2ë‹_W0ŒèuÌSIö‹Äœ9üóW‘ØÃÎ1År51‡Ü6ªˆ|4ÓQp.¯x˜ K|øvk~˜ÞîX¶‚„ư[—yÂ!Í”\]3eƬü0+C¢\0<ƒ?»@G{Ôk¯˜ XI÷ã®;0Ä4P _ßÏþOm  h}OK«Ùa}Ö-å)¶&Á¥¤¡E!ŸMXÍÊT=ß7õrûË|¡‚šhxa\1QË4Þƒ˜jåaz rfyrƒÞ†ªúËjœAE,³¥œk+& EÃ/%–5Ô&ß-_è.ÎKù5Ûò¦B'룛¢²k{üÆ“ ¾h(¨¦[–€!F®J•xa—(½—5¼f óiüËú¿_ßo wRL¦ ¾“òï Ý0×¢'ÅZÛwÙ ø4’]Iœvð!Ù+"™¢ä~´~%fŒ®dc“ru‰ÛÌWßH“¥©JPÙÇšÛ`RäÀ×óiûFîÕÉKψ2³Þûû=·RA‹Ìý˜­uäZÿôåÔ×k%KÀOñ•wÿ}Þ¯ a7~ÏØ„y*%®†IRÿ|PUýVgdëRábþdí¹P³“R»PÙѳ^¶+bÄÚV0Üš?ü±öÓ”F/ 1(oÝ)TéÇ_÷“d¬g56} )šMŒ×·Ãü`)ç8%)Á!á£èMñ·îa5Õ-®8 %_ùøö¾WÄ ¡1ÿXÝO;±h“Ž!Á˜¨}¨Ã N=Z¼{|9øgž7öË“¤Ñø9›ü”Ë- ¦ÑCXøD=Í ¼»2Çr1nÎD–ÅæNxÜ߯_\ëa(ñ®åŠ’èRtß.ÚTo©†[pÅÙ4õV ñ):燰’‰‰9¯„êI t뼈!7” érÉ"Ƨî4aÉï„‚‡Ày.ËŸ"Þý½œôoÀÏoЯ1ݸË)ßH«ë0´Íyeê©Wۯ±Ÿi¸Ëš­¹|»A.Ï –Bù8¡J Z`xÓ‰„Crª"¯ºR¢mIeìèí™Nˆžz‹¦rMDÖUÑ¥E´3A» ÎÛî9@d¼¦ZëWÞL×jÌíl_ƒWQ:>Ÿê3™ê!Çu´Lñ{öQ@èsÅðx™e fiÔ¹}óÜýt”C/Ú¦*vø½f˜ñn¸:$]¬y€¾¦Ê‡±¶¥?Uçà>½i­Á‘×k¥€:`òtðr§ ©ñÀÚÕ¬ïJï¾á=å4#µ³ÜíÑã|×oÎ`%úÀdôu¼øøv@MGo¯ÀQO&ü@+ï9teÂHH°µÙaœºówêã$õŸŠu7w9åXn½Ãu·–•_á‚PñŽ*1t~ ˆU¸ñWßqrÕ:k(IJ$Zc@¸XÝýã:‰þ¼˜Â—¸ª<  þIÃlŽ;Ú+ þ ¾ù“--ÛU³€ÍÏKb>àƒøÉx7,fÜÕ~4ª8¬4éÛ¥Ÿ„ïwë}/†8Œ7¬6Ÿ²£J¾ ¶IóM ÅTlñ¾¾Îµ×ó jÂ?ý©ö,\Ë)ÒTÒ†^ãߎëæ0úyî®Çðºå »¯È6ÿîL-,w6ò­ÿQÇV’ÖjBú29ÓÎ'ÊlËs õË‘gŒ"[ufî@޵¥) ÉšEÅ)‹þÄÙé#|eZåÀ¸®r.{ñ‘²ÓQDæOÓHã-H‹ž÷grb$” ² ï“¡ð.=„¶›rê!0F]¶òª COstÝ}lwUÙK·¡ó† 6•0¼á@QûÍF¿ß;ÍÆÙ§âïOö5x#¤àÀ„$ÁmRAÚ²#ÁdWöÆ!…6Å I€G/›î敾­´0‘vàÅ™ö[d}YÅf~¶| ÛÀò’“Üú1â4¬¥ÄdµžÕ¡ðRë4¡—çåuªíRi[j-`Þ^Óù¿4ÂP¤C9†¯BX±È·="²¦q;¶°æ±ö‡gòÀHŠÎÝ»{t“³Y5³wÙ/gýù¦êÀ+¿¹ò!Σÿ†Ô;æ—°E©ÐŠ ô¾E ÊA†öá»ù+³ßÑvýþŒ½êñ¿Ã¸¡H­†ŸMÅ‹¥Ðm1š6’V hÐFEX!Oƒ„¸|‚šðï&“áE’!”ì/Êjœþ¤Eúìšâ+£ÏÉ´ÎÓÖÂÞP.wäºXíQ5zë2=ÅŽô+ü&ÏØoh.Õ?𢼳¨H·ó g½h¦ŸlHr‘‘É“£²TÉjS»Cè«8ãoÂ}™¸Lç!_þèöDiÓ`§…¥³+ú<ªrhnÚ½'÷è %L_ê«èpðìŽ?Z¬\Ô3í¾™Úïʽ/yš¥´G¹:»oÁVú6kù×e Æ)¿Ö¶K· 8½P‡åQj=Ž8˽YÝ‘È7PQOk+N=žÀ„¨dBøٯ­• b‚û vYéfLMÉø˜1CÈÁd¦œØ#ŒŽí“m¡7´ Á7Mµ:æA(ZÁO!±|v°eJ¿iãÙŒãHíÒtE.ÉxÓà o}ÞÚj[-»DÖ*…`Áx‚®Èaü‡•íED*¬ö\SKUDîª"Tº€¤ˆÀ€j›J1‡×ð#/€¯Æ:­6¥S~ÓÁ"ù7…xvð åN,þЊßÒ°²s¹Ùy£ÂK¶Ùæï eÓäô¤”l_îà Uå¬rhxk >جa©¦HÀίÜL‚d¸œlÑ7A8¸jšûÎp 9 Äê=Çè)Š'lHçÝÉhæ_Žñùò“ M¸»Ïõ-é¿ú‹_C<}â¹mýÙqßRYá<ÜÜè@¡[qÑ»'„:‚û¬óL€¦o¬YØ¥pk49•š,ºy³¯‡få¬Û1æïá€b›™.•tÓ¤ýêä3 5Ço…[sÙŽäÂÕ>»¸°ªÍN¹þQ/8°E,Þ©½ˆí´v4p“ëðÓ·—¸6H"ØÊ~ì†í…½\ó*CÄ—Py§ë Æ&ÌÓÂØÃPŒ,–ݽßxÏ‹¸ó«Ïú`÷rC´vvs9U"Öòç싳ÖPDQ¸÷Ã!QîX^»ÕÇ]ÝþÔpP –8tÝ`XoU¨‹ïA¤nõqšg’äR~+Û¨„2<÷¤‚²·xÛ~~HÚrK Ùû9r™%·GÕó ¤b˜ÜÅ‹@ø¡4RŒ:N‹Ž²£ù‚£ÇÏtÝð7è9à¾kq; n ÈÑóäåP'KKòpÙ3.»ÑC`èˆ+¦»A‡{ÝwúŒüÖ÷—Sì£êÓé-Dƒ'»Bþ€ÌDy¨ý…!' ôs±qlðþòè÷f}èâó‡tõùʱž 5šòm忨aäo§rnY"†³ýãè·ÅRoL4Jƒø2=ç¸ÖÛ9t'nOëNC‚GÑûÂ1¡PÚ)YxHM9¡Ôôlsõ±&І¦s¤/V_ÌcRX f€ôÂSŒ#n·ÈQ¹ê$¾Ô!e‡\BóõcÏ´ ˜ØÖƒÏ_˜7wtèÚótê)¾ôçÑ9Ö†/®Ý_H±*Ú·GðœmÊSÛà_ÿùi¾m}=ó$¦ZîeRÙÍ0¶ÁÉÀºÛTf6 ¹¹šéEÞEeá¤/ä_fõæege`Åõiú ÆŸÚ¨Ï틈À¢‚x¿kh±Ã¢#¤Ê¾5Ûp³îÖC•x?»ø 4KγP`]Þæfº¼pª V?µ¿)a0²°¾¾TÙqÂZä°À±hò³©ùržbôEôê¾·i.—3¦ÝM~5< …@DÒï¦ UÞ µ®T”:uèŸI»þa:Upujtd!'•7Ò;»Oz~…ušoˆ§¼{JaX°q¦ª8ª sMëÌ@iu'8Ôy¿}ÙÃrgg¢õé ”r¥/9ÇÞPúθí•óccN¯ýsTÓ×ad$²‹ßʬ¦˜g6Ÿt·JŸ••AŸp2µá=`Q æòËö_¹TN½uE¼Ø¿9Ö¡>ÞÄòU©<¾ØpoDÅbQâ{YqŠ-ׄ‡é´>U§EE‚Êž[8S‰^·XË÷"´c Êî y Í]œóÉtêŸßÍhq©ºxF?ËÌmžñ½j ‘ÔîèUÌŒ\Ï£äÓp=^Iv¤@LùôÆ´Ín‰FûhxùÐtpS¸ŽJÏ+Ñù2Ñq‡ ¢Ùö3¼Ž‹^ Æ®Ÿ£}såË•Ð9…ÀÉ0Ñôçny½~¨˜uÖN¢µæ°—\¤2ÿDá–j~®Q’‘%)jz0dŽ™ö“–.xÇÐ'$™-‘ôeÿ]??Æ 8Àtp³[Fñ’xR!˜SŒ.~IÔÙ@8#iQÞgªbÕP|,ä²£@¥ÜÝ~ 9´H%Ÿ™·Ò袙·«éÈã*Oú¸+šUeÃLÓcÀÛ׿¥z ¿@ z»NKqªô$#¾3 c8þ„²•ùÙ˜‰rµ6c¡A)?»«V)c ¾›kž“ÊŽ†ËþY[³§Ž½]løbÀ© ¨R96~<ë©j¨Ag:ÔNU¼bèáʦi’_ W[9¹ÏºÀÕ.ZøúËØvÙ¥½-Àñ„ø™ko Ùç—ÚˆÍýzUf•±ÿ5¾±^|ºœë DpÞM’œ2Åà õšæÙk|„‘~¬8c¾ôê–`“aêùeV÷ʋжDqŧ¦it%€#t♲ÎX‡®e‘‰……gÒSx°:7~Ìã‘n¥ªB|c°ûÜ"nJË%"æ`p(K—óu1[gذ-aðúÛŠ¾ÆS³id€šJØWlt´ó7ÍÒ›úˆ­½±ëéZÞ+êßx¬ oˆ?jh/ Úõy|F€.¶g´?þÒÑ‹hز}}ß,Cjú+å&rC÷Ó)v&2ޤÐùæM%ûh\tsÊ-r¬õÁØ-d$/Ÿ·WBaœ¼Ì’« ™7²Ý°D­¶jÅR+ä€=Ï“ˆkˆ2IÍôòìÎYµÍ †syÂQg!›…H˪è£:ymÛÒBwd3‹B ¦Ü$‘L^Ÿò8îå£R­Â¼ö X-vTø¥^Í`|=B(JˆÿHÊx "EºaKvd²{‰Ê Úßžö9ˆÄ'8Üì²ôtfŸ)^p’*Ì»™Þ÷óBd4?åè$+ÕÔßðŸ FÙAÈ2pORÝL¨[TxÛ°Á}2¿ž^ÇíY,˜­´G–Úó†F=CuäA±bë‹Ýµêõ™½ó%tÆ'T›’ò1/=˜y9½OÏô´ç«$9Iqo!G_BÀkçDЃW=S¡Ýã’M|pU¨ý~ ÙoËÅU®½ „âøxèØ˜(”ØP—Ž™oøeÈŸüŽ“1ò¢j$Åã‡sàr!‘ûÇÝ´;Pgа»:Sr½@²"Ȧ¶_{\èÓjL*ªQѸF£…u\ ¸ÒTŒ&wÇ癘èì% @{ËÙ£ÿ€%àç³d@MÜ&…}·ï/ Úó@úîðBÙÈI ŸõêËú±íi‡kB4º=PŠ·}y<Óæ8MÜÁhA?0Cs’• FˆŒ%™#…§5_Ö,.ÀQ`tþ¸sjzשò¢ÅÛ€D…‚»æ:í dFøT‡ :¶œóö _ÜN®U &âNVg!4ç±qªH~xõ{8ˆéó»•…š­R«˜ÂhRɬ‰%ßÈ¿µFfÏP–€¬…11pìRQ’+oG³f½ $‡Xã9G,.†€CÝ"'F)ô#w„à8¥Ì¿•ñ¯¿rµ @Uu~í‚t‹P¡³”&ÜZÚ)&QYE·™ÖäÎ1§<”v¼’>ˆBP2̇s; ¾ÎNg…jY2pQÚˆÒÑ™vÅËÅE%' ¹¦kRzbWô©…îMÍ×Â>pwúÎD‡¡À+Ž5!9 ;Á›lß–´ðÖGllO}ÊPjvöíæÆoÏyº«O2=õ.>SÌ…ònõû,{|¹V®¯»éÌ”- -SË%£PÁ.ý³zÔLÙü4{q“Ù“µ©ƒÓúáKÄï›dü?§òj}“Ÿ^*T¾¶Á­\‚ÌFhEi …¨_½élæ¢N­È#°TæÝZÓò Ëm7 !LCí’Åòr- ±}*'=‡9É "gëZ—á±sä2?JãMtЦÔn `ÿÒ­Éuj Ÿ‡™LEzóé&S»³Ú¬†mìF›M—xÇ΋uÝâ‰ôÎMÞHØYÃdòŒkŒ›CÐ꼯@²zµæÁp¡>«†µg”\|2âA|¾O‰×du/(ËDcÜ” $âL[‚)¡ò¥„ÈÔËH½fœ›¯áÄá¢`ú8úëè…ßãzD xPuÓ«Mª-Ûì³èSÐú%rµD^¨îò‘ÞÔf5 êÉëu5i“&líu[H:K%"@<~¼`;YkBªaÏïC`ùOèúŒK¬ä];¥`>¡ÌÂÏniYF^G{oÝL&ª“ƒ™Eåñ장(ö¦;DÌ”-]uIÚÀz,ï¶§—ª%3øÑÕµÛqñBS–çD9Â%.ŽCFåruú ^°unãÞNánί#–£4‡J¾æ¿{I¤d.vMBà\1¿™ØËBÖÂåÞˆñ!¡ô“'9iÁ Waã 3okáw‡‰\ÌæJÄê¦íJ¢€$¿–Ñ‹b+ʃå#@e1Ž”†gqM¸ö²YÉh?UÜü8â¯QU\Xœ±µÑŠôô¦¦On‘’à]àGé&^Wà9?†§0?sѨÓTø?d}`ùžÖùóRoggíæB%}&¢sU‘´bAn;A-ˆõmŽÏdŸönô|æLȾíc„Ð÷UR3yý˜¤òhDTýuaè€Àé‰&y–èrs7X;;X{¾~<æS“‹ž#Uù8MƵÊSà1^QÛ5ZúÕµ³-ßv«§U%£î)% ãHÑ1ÛfVÞiäéYõAvWoeÁq$ªÑ„D£k%¢âó~n'¥˜¥ZšÈ²´ósc´Š×Ÿàˆì¼Skk“ý(jâì_:.ÀÈ~i#ÌNX‘e>òk“pæE>Óûœí¿1ž15ÿÆþ1b&+9É’—+Ë ±u½‰¯!ìtyóxLË®mY‰ô•æ1Zå°Ñë›7K/ÌJ©sš^òÊŽd$¤RÖÚ(+/ ŒDN¤¾%Ïg^ˆ§&‚Ú†>Þ-N;[˜›ü Påœ ,t¦.¹ÇÖ¨ƒôˆ©BÉ, …)šgôZè=­-qªì|¶>{ñr†ÄãÄñ6˜ËŒœ+8ºí²§C%$GNPõOß­áÀ:ñà£>–í]3×¼GÐT‹Ò?¬E´ô'ïèLïÿø3b™[C bÃÇbØÒ,^%LÇ£-Z·1XG[Ý`˜ì½Oà¢BÔÐÄÝ>¾ Îÿi)8¥74(P_x­‘#QB†F…p¼&…_Ôe°+ý¼¹ÍI¤…¨qq,š]Ç{UxSi#º¿Ã_J FSn<5*ÿUÀŽô²UÞµ- qõèéûñÅVôŠgŠ'–å7 0Fê@HЛN› þ¥MFЭµlZr=Úd¶Tw<ëÃ,-å¬BľdJþ~Ç(çÁò¶ìêüžN•t' ¬'ÒÛµŸûÂò—>Û¥Ô;m¡&²%2 ‰µ/A>Î :w€ƒ;ЉAMJ¶±Œ»e}Ï*‘úTvdC’õàÊàv©„ޤJuù¤YÝßœ^‘=>XR#½›–»‡ßñI¿ƒËeFí{Rgfë‡ÃT%à#åPhUï8lé.‘¼î0*QÀhaFä…— É,ËDgƒàfÉ}8 ž?t£´Á ¨È–Òa^»üqMÍ ö¦Gr?UU™ÞõÖ¡Ìj˜>‰¶ G¬:÷uÙ›ŠÃhSý 5K}¥úl7”+ơݚ¥Ñu¥õÓqÖ¥~Çkñ·ÆÕq^z"q~q1õ›¼UAQv‘Ñe ±ÛmÈ"Õ/¿Ù`ÝÓù3 ÍÖÕú®˜þ”»,ÈäÄ ÈCà¢ø°«-‹ðDüð˜¹x#;ìýþa8¿b‹äº’P’·Ž›H}ÔzcÙðÆdòv‚áH¡¦:;¹Ê(ÓN'#ä÷.I§ä§üå|¯m‹ƒéÊIÙüîóMV¦œþ¾[³j£1ôvoÆÕìûgEUâèÍ=gž‰Ö å hf­ÆE|”2_ú.ßmK®ÜöJw4b} Q$öBn-Oøþ.ÀǦh‚‘'rÊ׋^×È8¸ur““ô4Ôÿ®>ôû2ŠØnHeW—1ÍWò™£®âÓÊŒ7ÚV‹‡ ÌÈL­(Î]„>è ò†bîˆÍOÄ«8ÄB¿¸QF—.¸â8ÓI÷̉ í¤1'Éà—kk†‹{¹hˆÜc Ì´ $–ï¨ô1ÔžËfðÜŠàÏew±˜/E#ËÖéªäËã?T.„/;þ_€µ.üÕKåw(Þc‘¯ÆÍ9Ü%àë§Ê¤‡§'QBÚ w5‹Ù§\ÿÄ %j¨›-7éžg:|˜AnM’†9­ë Ú¡åk®”¢r·è%bÐØ:ä>UR7ódTr´õ 7i™¡6ßîãâžw”Y1tE!ÙŽ,‘ÓŠß~7rC…ݤ{ øŽé Øm”­>‚ç¶ôÀ¸zŒbC§¼ð'Ÿdq± -î½ ãß^¡dêÐ×»1ŠmÛ†¯ õtüdO& ·+ñI÷`Ï×”Óq<:”§RÞqVõZÆæÉa·Àݪç ÖK6îxº~@¹¿ô“©_ç”e—#Ý».ŠJؾ¾{¸p]Û ìßdlŠFÌ{[$pæ[œhŽxL^¦[¦BI®õUŠK±Ÿ¼ ØïyÅÜœ;ÎK.o{é•Pí´ÎÞZ[m—æí•2Üw|ѽî4ÞñÌñÔñZî{"Ù"ÒðÔ›Î?ÙWì›SšßÚ:Ûgqu!?HLXq64õ{Ð[®]ÎQ^ÍÄ‹¥òóÈfRRv×[Ïyîm Yg$÷[,»Ü‰¤Äé 6‰C‡$G°˜w:åz@P1CÔ÷š¸ Ÿåz á@­&fg¹ÄÐÍsØ VŒê9©×äß^î£ôâþ­'®"Çò9IO™ù“›Ce K…R ³õ¿;FÚëÛî| 3è/WK ýjŸ”D@Äù¿Ó}¼²gVÉ(1<‰“ÜåF|f8©@u‰Xº5G>`˜}³ ö=tšJ°Â›PjpJÖUÑi„Ä…|ªKåyG±R¶‰ÒM>Å)g¾ãÂjzùS$2:Ô _fö'®¸Ó²ŒàÜî^TöCÙ½n$Èä>”¯t¸©Ó&â6ânzó·Ýš }Þs©+’ö>] xŒÖQS k X Âiþ¨x(,Íòñï”—[ÕRI]R_¯Üoy£Q¬ (IÆ9wÈ–wh$Sñ³ß”DÑp²¬ÛÇÊ ›)‘¿‘úïY™ñ¢gÔEZ'««ÃTKÖà³#ëU÷È\ü=…ž¼zd >ôLû¬(‡Iò Åz³O’âZ„¡šOª¿êÇíA“‰€¢ ž T‚ÜÂ÷ƒ¿£YÑ.7Ô;/òî5„°]p5iå~×”~Rù¢ÎKÌ‘âí]Ði“½gó·ÒÙAkgò}ºŠö¢ÝMÅû³]œ`Ã3¢¬‘ŽrNéΩ¶ —¯"JC¢Ú[6÷(#’”%ætþ;ö¢Wªj¦>ìDÝÉCÕôh*²ÉBÜÙÀ;.dè ÿœîÄ4)íË :~Üþ/)㋿鹂;ùé˜má]O§Q72í©hƒ¼õ+ý»ºY¤úfò ,ZñܱÝxÈÖ,ÿ§GúÈÀ;´ÿÄ^)/H?Ü ’`”*Ї_x·5:ümÍÈCâW:úTÇöìíßûûÔQM%\ #i7a×—UŒ°´ñ@ÞfËœ¢¿UÙ ±wgàð±”ABKOÔ€›-ºnL“Ät iß#i&Y’GÓPÀúPrÌ3Ú *+äÏøã'ÉY•–PsÊþ“W¦ Kç9æ«d&Ë·oFéxPt{BðãCëü×Ü8ñÖ7BoÍJnl œ¤*¸ðökh9U() ¦ù’1±-cŒ˜‘Z©ŽsÚ®EI êŠXYxþêÂÓX÷Wxk {ñØPñÓ°zÐ!}ÖŒgumŠÈ~Ç Î§Ü•ãÔšXo|^R¡'œ‘»äzònƒ³SÜÃ÷©#ýß´/òy²ò,àûÒ¼ ~ñµ C1 ŽqB±à°Mvp÷ý!ÄžÓÍ ¾Ää¦à™&…V+Ùàä]ÒxŸë³)ííåô±PV(\H¶òRËpÐà‘ŸW/9—¦ç?>¤¶sïf·é çª<äÖ‰¯Z‚yÔ•‡¬¹aö÷MÙ¼R§1”¸µÄ·ý±b6ÖÙèÿ…˜~¹ðSíQÒó“àP* W~ ,æ+0P4UÔž[‘¸×nèª$?û‰Étƒ `¤ãÊòMm¾å2ÑéˆÞ®«o/Kž“£ün.¶øUŽ€åRHplZϤӧ*ø¤ ß—§™õ1Øj4˜x.¢¢Ç sï \‹A®Ô>QtÚÛ1Kí×ÑéÞ83I#$ÍÀÎ ª+‹ ²¨í<äù¹X¶×8¢«ï|Z^L[,öé°[ƒ™!Ùµ3W-fòŠÏ«µ©cj%¡‰„ïïE×匱†MÎéÊ‹ÛWw¸ž 5Q7Ò2Gážðº ­Â)œJ¼ ÀùôŸšHŒâø6ïß»í"oG±NkÍÿ‘é¸Hz‡/ïXþ¢XʨÅ4ýÎå¢FT–×ß-¬øTðæHhSÍ¥¸ÈR:î-QÍ¡pŸºÊ;¥Ñ—a8È}7 ¬|ð»é¼%^]3~/O«ìR7µEéßõ½¬ÿÛUô¨i¥úŽ÷ëNf—í(ÀƒM{ìÚfC…ï†Q™ÁføhÚ0kœ\2øâÁ-óAê\3=¢ªÞBƒ òWôœ-±E™#båǪãvPð©0Bÿ«8f_†S®Œ¼¡ÎÚ2à÷º¼:µÀ ½~8‡üMý¾^a†‚0Uô¶”a•ýJuíȪ¥ „Aø_os2¥1˜æ ñF…HËp«Û& 4ÊYf³è £¥Aȃ¿5pÒ¥œqîfQ·â§fD`mß*KÈYœ–¯‹^«ú°´È²n‰•rÌ]+\溘ü Ćòõl„›¦Æ#àwïÀ&LºÞ¶Vîîúß<Çõ I`îvÄ]B;FÓ®dÓPº<~!åâóøú÷çMÁ*7þyéöp±Ê£<ÛDz2®‰ +JIJbI{M1XKÊ÷æ$Ϩ+G5·`‚¤öå+‡×9j\±û?ï>näÏžü ŒLîê[DW*І¹’$ñójp‚ú·Î¡àp¨û /[`Ø|é[tÕÆÄG‰ÌWüýàîBÂÑÓžéc_ç7AÛ‡ý#ðGqÿye®¡yD "0¿0òt–²4^Âì¼yvÞLF¢U™¬hÙ¬~ÒLPm¦MIþ¶€Rk¬m#©L{ûžÙE‰^!d(j¶à˜«G¿Kk¬ °:  Óg±³»çz¾ÑÚíBÏN!îl4ö ®÷™!Ö÷|Öü?iÈ¿ÇlžÉ`±ÂÀ\BùlÝËX›;l•L EíÝ‹M&»±£y®àA[4ÐÀAÑtÎ~—vþ@7½þ”*êGF ’>œj‰¬Ì¡¨}h ké ºî– uƒ’ùbOÓ1¡í˜nÄ XÑOž8ƒºÏ ÛIs%VjoȰM"+ÒÔÞI¹Ÿ ßVf"ÜÿÚ¹©â’sös;ßñ\Á…ɶþwF Û–?Œ;Ö ^‹·BŒ‰Âf½¾Êµqi§‹vTfÙ'ƒùìjDäI…Ì»2ƒ7!R.p7ø“ šW#§‘ܤ 1¨¬ øi pø°ÊJ–Mj«æOÝ{ݪ‡°žñö'%›ù“½3G6uµA\ඃa…¿†U<Õa»B¾¹TYCà¿<¬–CK9ÖföƒÝl-ÞÜŒþžŸF›Ím`=SáE˜÷ÈÖÑå2¹„6›x+1Ô´ÜÔ–ú™Þ}ÓeÌpؤ¢5%»¹ Â'3×Ðà2ZxxhA<"eñž…ž“J,–ËB2UÄ)­ïÆ1—Pª,›¿g%®V}s×oŠØrѬh8ÇûïÅô „‚sÒ7²9Í‹ ÐVwÅ®ä)‰ñ ^ñ“=ÝC¨ÂJû¿63Ò³8uÚÍ75v†S.÷Ÿ˜¸p$мåig¦·h¼ÔçfžÇwoÒ ñ…Ìšñ®û½»¨F[ˆ¥DªËË&°âdÞ‹ ¢ŠÞËÃo›4Ø”kئV@Eibþó˜f^ç´èWy3çÿMnu"[¥—JsÕ:F@qí¨© ï‰PR×ÚþÇ–$À4ÉJGÅ®—V¯ßGH|TÕ`<ëx·õºTb~Z¥’ë­s3×}_J??u¿†Œz¿bU+éâŒïÂÊDZÉňÂ#o®_£çÈp´àþž¹6‡~©M_6ž4Œ}%0¤Sÿ@y¨˜TÊYë”çץσUƒíd§T"$Ì À/}áíeéiN&§P[&C’Ò?ˆE°,Aı2x7THÖ(Kºx.~Knç~e_°1¹baÎ!æy#äãt°7à=_IiÄÕcŸ†¢4qsBœx ¬)Ef±MWBÔ1:fŸØÊNÍâno–Ú/#x8ôø•`§_Ñ‹RIj¥—µñüÖ»l|þB, 6<½.À>lèyfñ×~L[m›ÜQŽQúýÿ×Á+†¤Ü¶Ž¨ù f*âjƹ(¦Úÿ‘lŸK°48ѻ̼7ßEéѽv×ë|£âHw9ÁÇí3¦ésŸC³ —¬dÅSø0’’LƒpC Hè‡c¯Ï%ªnúgžÆP…b‰G„ÏÛÍ ¿ßÜþбÚÍ|®é½Gbh™SòšÖU¢|óÑÂx¿¥4õJã ']e’}8·Ú6 ªàí°ÍÉ™ÃËø$|” É%£Azºë¹¬Ì¿^"ÏÚä9àŽç6×]7»Õý`¢Û_ê “k¹¤Ðvü‘ÛY’+ YÒÖ€¬²à§ýO›Õf/9¥hO𸋯$&v€üÔD´ç|düñ›PµZýý—#Ê^ÐJOl€"¾ÆªeNe·³ºH»wrå8¡ ÓhfHØ#ÖÉ<ŠüÕùó‚WÑå6* à7cÃì‰yžQã ‘x&q‚Ä`¯ >Üž¹¡`Á"-CR#Bü3ÑIB÷ªg›úÂÕ€¦HµP€£Lý¾DÆ8“UÂù\¨¹;ãŒEˆÛ[g ò£–^SN5h¦öîééÿE¯ŽÚDW¶ˆQoNIµgŽ8-¼-á^—ôc!³q»$Ttͤ@óHç7¾oެ®+[s!¼£xÃg°ä>PûèÉì›Y*_n+†¯`!«‹ê®«ébäÆ µºÝKG+’ÎyØœ:]ÄÜb¬uZž‡`·ážËÉín®˜¡G 6u þ¬’I¾lCQ´F¿Ã”¾®q&cB‹-2™°B •¹‡.`ùl¥³xæ©ó p^êö'µE×ÍuûÕECDö…:H§é`%Ê̵Ãëa&qQ u¯E–i‘¬Fü¼uÞ™‘W^z„‹îƒ=œ­©†[ÈÑT\À¶[ª€ƒ¿¦ÔÖ¥KƒC˜ŠÓ‡â®|OÀ¾he|ŸÛ¨­gß\Ò•P³;;:ÐÑ‹l},ËÑB0T¬ ãIKq-è/Zëæµ|Ñgþ[KÆŠ°§@qpykž¹ø¯ZNáÒ-ý¨‚ذGœ¯TìÕ ®ö›ÈY ýýúò{µú!0Õ¥ýv}ýüôƒ?1åÒüÒV û™¥r¸¾Ç -„#Sâ¾uÛÕ±ã_ #y,"$uõ'{>a•\Ã@ªŽéÍv#ÕØáŸáWÊ¥¹´÷¢®‡I HîýZŒæxµ±º=ý ë{» ìä(!gòÀÉe\ôôÚæ,dŸÀHë¼ æœAÕµ“ÆØ„£’×}£zµ 11†.€ùš|<¿Ô+ÕQ(KS›üÜ’K4¤Ô=æåŽ Œ-0 »ÝLálÓFŽit2¡-Ve ƵÝe’al¥zhÕhƇ ðql-×Qù†­Îù ÿ=ÏÜ[dý/Ægk—!ò—ze1<šGŒ€`ËŠÀád¹IE;7 {û]W'9ò#µÕ|²m¤ºü$läy¼e ʼ‘·UQ9ÕR«–K’~m·Ì/—×™y²Ý’¨³!έ®o@H×ÝÃ\ËiéÚ‹ õ¿#0G5c“qÕœOº ¡DçF8Æ’³Ö$\ÓÖ˜Ü9¸ÒÕM—±L¸>”DC5‘|,òåòµÖwVö¹ç³áû¨j òYÅ—\‘¤þ§°Mš%IçéàÉÒb¯ta«V ð„¿á äÊ92L;‰{œË hó0¿ªdÜPxÛýwG ð…è%+•Á@ßöÚÃl‰¼æQ~Y ]NñÛT‡BÈõ$—}AÛ0‡lÉàçRt÷rSɨ UVZ! ÍO&À¸RÝ‹$±?ï`ÕÞáû¥à…G³ì§âñbU‘n~ÃïÜZ¶‹›³ä¾¸…*¸lò.JÅü{ºÙÔé×j"À”M§Ádä=i.y…¶õ¸r¼É®Œ€`–Uð|!A%ìî?u=¦Ò¼ß’‡H¼¼U_Ë@yA¥ÂO((*~Þ%Ÿ»ÇÍkèƒa Jk«ÐsüiÔ7×ÏR¤ÐŠ•A£ôh˜óðmõÚ or¸éá¶”ûÐ]‹(ÐóéüÒ`¶>\JS´ €„«ˆç'‹ØÀŽ¢^SQ’F肉àvÜ[ß|~¹ØŒöŒcû•ƒ¾vÕ·ñZ€áw>2/K—ZsL§¦±Ç 8’;óXgÃ4^þ3žÈ®\Rƒ>ŽÔÔ'$ëæjd~¸qÐ([˜ô—†7Ò¿§­z'ó9UÂÉ¢:ÑðDÑ="¼¢¥OeGãAå:YTôC"ù>ý-¶‚iS;?–›^qT¤ä*¿VZ„@™roôÉ®†ÊÁ C‘£#u¥¹“L¾H(ùïÚ~•f˨SHÌZ½÷Ú|,s,Ý+ãºü•,¥sÂÑŽÙÒG_Æ ÉÒ¥”°'o–nôHKÃOSíl[æØç :ßó½›5w|ÌÔ˜á¬Û`¡¤°¥*œí5ä4Ä­r-£ôÚÄ1èQË÷Ô>]·¾&ÈM£˜»ŽHCÃäq²­Ëfm9¸LÒÍ5€.Ϧ½È–V [èõ©›4ý±8çÞ›ßpsœUZ‹Å©·ôøØxÐPs+µ-hcOÔÞ#*îYûÿð&Âü'.ùŒ„ë¡{G!¥nÃíëÊR©UŸ»ÙÁ¨«9¾ÎŸG°Úd/¿1ÁYŒd .Û%^jV{Š‘ËňÖÌÌ ‰0]øÛC]–‘é³åô¡*Ó‹$ —aèEä7Ž| 6¸¬%P ºï(¨XýÚ±G—»"R/4Àôi©€&“?½\Œ¶“‚ç¾dЪ6¦„ß0:H숉. QPWÖü–-ܺso©ÿqò~´uõ‰;–&¯Ž $}9¿ÀùÚ¢×¹>ˆø¢ÿ­¹1È]`}ú¨Í+¤5ò×Cmˆ,à#Õx3© ¿³¡Qvù5z ñ›G_„ˆký5{®ƒÀ5¹t²ŠPiЪow£×üçǺR õùzãå“@ýn¢=Mr¿D †vLŠIä¡ÅûÕ¨(ËRwwkp¬‰J`ŠY7ç÷Õg첄S »wù9§"WC F3*´ò¢Ã‹¥_#4Eµ¥ºàÿºñGµiñ4d ¨×Äöƒ,ÄT˜Bsº‹MÐRÙêàï°˜CÞg‘Ta”ͨþ„Ñuv"ã˜ÈiùØÍ¢c¤ô(tóÀÓ¢ØÕA·ëÓÖÍJ,*@`?Ô•[o úW·[ŸiÍÏnOHú–ŽÙð/r{WÄÏsò5ƒË6y£¦‡ûàó!17D9Ùqä†Ù5A©Ìd²)(îÀ‚öaéO¦z¡øÐɹ™ìÕ¸æYD­ÿ ~VŽñ¸¡?Á™¥"Àð¦9¢â*Øçè:lg‰Ü/×Ù·šÁÌÞkTøŒíÉÃ=™m`ûNÎ+ë³*&â™ÑoËèô“þ]Îxz3¬ ƒ³*,Óp6‰q´ücp¬ð{S8/cÙ¹‚IÆíF/Iýâ…³õÞ̶ÅèÛÈDê5ß1q‘%Q¼ ê =wDZ²|½ÆsyYâE[“ÊVBTæ]éçÈdÔ¹8È ºýnœ2´*¸È•]¸’Í:ßì{¦ äÀAXvÜþФ6(È<Ç™Ìáøµ‘¬7̦ÈQT d•2a²fÞUVêî6¸ã‹ÿú« HÔÓ!ñ†ÎéM1vÐÚAúÈãÌ…MøéÀ(¿£`ÙfÿèòÞ"£H·† ²,|þÏ-ÚiG§Öð!Ò&K±­C9ßÑ%æü=Ó«Ð,Üç*] ùžyF ƒÙÊó)¾ÎÆ@–ŒAH]–Ò¯Èîºw¤oàïŠÍ(òÏ_ AUZûaÄêñ¯øðUØWïØf³áƒ« Ó!öG†>2Òv·dp}dj¼M,ü˜É¿Q¶‘Œ,tÁt)Í…°¥'õmÐ8PŸ[×ΞŽ\rLV-õoÆVqO@‘äÚ† &×#dâÉÛÉ2'#4ŒÆB$Ñ0©ƒU44ÍW¬éÂäÔ-hk§Qò¸"5™…P?[i¿|!…òƒÖˆ‰øL^©æ9k•äW|R ^Àöjf†«c[w颷Ì{™ÁL$Ó^Xcê±H&g~¡Á¶}±Y›a9ÅúaÿYæ©ÃXBEö˜z ²—bw60˜ák!òÛÚÿôMî MlpC~>A¿(ñ(‘ ¨[èÜ[÷ØŒsŒ4…q s2QjúÙÃAø Ÿ}zkTJ¢*ž{à¨J;Ê+Và¢é­tÂ.¾A£7b|?Ò3ÆѨ2yV¼£-;rˆ8|¬t ±5•úa®ÀÒ»¶¶Ä‡Ñn¼­fwáZ{€ó”ñsmÈŽ6;Ó(r5¶&o7¹aMHÔSqè 4zŸ+ßnF–%^jˆf!èAM±ÝwQ›`æémÆåЊ …Û‘Î_ 0\Ü)âÄëô¼‘ƒÒÁ‹•2°Lõ"ul‰‘r—x”VE1ŒÇ ž¹òÔièÀJ甓(é}"¹õû“ûëäv¶Ûûø¥N$VëàgÝï…Ž‰CŽÎŽ­+ ׊ö8¥Ó¼på|ĸÙihÈ´kHÏP4=Ší$ð1ü’HZ"O²nx 'ïblüâ%QÝÑ.:`h0ÈåcÊÖÄEyë!…&máè|ŽRן·eÂ$­6¼~:¶+Îú`k>Aì)ºvºÒÔø§ýt%åu@ý©:˜ØKB$ fòäoÛRw@÷G×þÙ`™åÿe_‰Èy±jÚ·c_“Q>ìáB4è¨ ™;.Q!¹˜Ûq 3V¸, X^X©ò“ƒï>¸Å[à¥> +ÜV6É ´¬+ÖÔT8½“ø„|¨®¸ÜQ `ΗðЭƒƒÿ[‰ÿ/ÁR¶N¼›z}1, ;ÝhdTLpdUOwž'¾b\â7ª±Øø;¯ë³n¼×ÃÁ¸þû{0uY‚¢ßŠž½O™y-òà>ªxo$ùRQ³³‹H]×Xu,òëHÉé­šAÞ‹GìµÒ?I×é¾´) f³&ÐÝ飗Kƒ“æ2ç ¸‹eSnL1ó@C‡¿µ€iäÁæ0ƒ×Gì~N!'¿6H†ñÌÑ—c%rž¦uÍÖžú÷|#¨;x®™Dôbg†Sÿ,H¤ÅüFê§¥ÞzNfØ5ÝÒ°¨†Äi%¹¥ŒØÅë¾è2´Ö{¼w÷hj¤jŠy¹¸_EUј_àe˜ ~‘’ü p7\3´7#¨rRùž˜ûÅ‹Ó.ó™õ !9oô.*ÂÊÚ2‘Æáö'p¸ž¶x…ZÉ"Ò\í#<ƒº%B;—íºV­´g5‘Hþ¼E¢¤þi뚟VúEö!—;€ùö¸ÈÞA Û»î­å8aTµ·°+Gæ"‹ž!6<—€Xà ðÐË®¢|\KÈRÕˆÈa 2SÈ]}­dVüÄêÍ5QòÐðk€|#ù¡G—8ú耒é"ˆÈw¶ÇÄVz¬Xÿɉ¬Î³§®‡›Ñµäqо—:¼Osðú kYô"H=Ãðb ¼Wþa1 I’mz><ä5€WÖXx‰9¸p4“ÆQ+ûmŸÂïÚ| ;ó¾Æ[G ßFNÄ— ­½j˦é(I.JX¨EèÛ5S#e|¯Ä±8N0c}è0xTÑÔÆ†E™ø2J¯Ç£¬©%ïuó‚4VȯCsAÁºQó¿ÛtòóÀV]ŠŽŽDD¥#de˜¸wEx™ß4GÕ O®×¡[h,â"[–ŸpMüN C`Ôõ÷ ¸ ‚9LêYº,†88ýfê‘_æNë݈M#C^w³*cܧ|A¤÷hã49z¼ö¤=jÖ4@7…Ty{j‡ÕT|’Â)èÉàYƒ¨¤<®4n{ f8Õ:.8ø±ã xÊ––&†Æþ¤Cp@aÅ[Ǭä›ãø_€gã¼>^0Ì%oÉò4lcïH˜©ï:¦|–qÊ,ڔÚt©‘êÁîÙ670BŽgçÜkâÌAp¼%¹,}éoÁ†[‘¼ÿÙL±B:Ë¿ ÁËÿ{îIІ\Lö4‡Wéí$ ]í?´ÿùy#M^z™Äâï«›çýUYöýÓ%*;IËà á@9µì³aš@Ÿ†0Iºü4OÉû(zW÷F=Tr„¸8˜Bj(Ûеzµ”!q盽6Òåë»åSNï5Òû2IÿÉš;Ëö.!œËYBCî ý¿‡gúZ×Ó«ÔÒ”5 •*WX¯äÜòoR#¸æ ¸'_¼§) h·FûÔ©è«*€­`¤2€ÎY´5®ø“üyØ’¼kùfeLºqX”ÂǦ늻VìròJð€~=^Û®K6l(i˜(ÛÌ®¦Y[1=??3”~Æ™…¢"ü+GöÜjÏm ÖÔþóšt×bÎ7‡ó Þ ¿¹Õ™«æÛ/ü sçß#O™’Kãs¹t#¤xm•Š ûîÐ*áQpùiÒsñœ*JŠ>ft½²™†=m7p8¨]âj¬Æ°ØÉ£éˆªÊÂ}Ü2œzBâAú*N[Bg®/ÍóŒ¢b%{<ánýèÍžHĩ҉¤MMîðH#"1Þo:7 <…%Ì1’$QÉèŒ&µºåER¤GŸAÙrÛSYÔg„-÷¢\MhïX!\ÍFôLèâk)_$Ʀp¸MGå7u)ãÞ9¢eۙݡÝ;˜¸ÎO v¦|—"#QQ©B^muÓ™£¯%©ºmÚ#¥(ˆ4÷kÕ×{` <æS¸%¥×®fNlY– ®åèãz‰0o5| ç^WçPbÈ3XÜ Ê iâ@tªAÒ•öFãA°ßì0'—eZ–²'ý}ÚÕ»‹Aßì–Tåé™ðÎi)×O‹¥[k²¨’ÐÚ)ŸpÓ²»æ!?Kjâ òÖåÝ´æÐëÙ"ôÔvÐ0~žŽék2öÜëÞÃígš/•Ú±ôža|>Ž?¯ÔÐ 7ä^*b¬ ‘`g8Z4{A6nµ™©pâöçv‘ï)Æß7ÀË3àŒ= ÑPmX”n_Zt6£Ì7pôÐPœ»üéuÇðì«h·Ö¿ 3L†Ø°Óþ°úù[Y dE„-«î ·¶pCÏ} H~à3„ˆ'ëñÚ ŽÑ…Äñ×|ø„RR”è º˜ÍR./¦¡4ƒ­r;\¸Aµ= n²KÃ×µì)Y/*ið\°ª™Ê‚slB†ó}Œ(ªK.!b··ê„v\Q)ã?<ßga@ìXmJâ#í—É¢n0&¶Ã’ˆ‰ñ öšeMŸ±~’éüI 7jx@¿™·d ¤|õ*Ârì2ÚNP‰b:óþ-*3µ¿jèüÐ]Áø|ćë—o¶û…ÀøT¦“C¢*Ê f3‚ÈFøùF1 þÑ2%EeHEá…#O SšûDÖbQØ®ØÌ‹'ÒñB¬cÛ þ ¥èÓ_9]Uv*~:¬;þYú§’_^Ê'Iå?¬¼’75ÄÀ¼±˜´ä ‚0zWÜÆ[!g|G0°@ÛÛÅ6Û(U¾Sú舀IJey °„1Ö…Uœ¦l³€M˜#úF¢è¨3ßä Ç*æSL˜¯~iÒXMæÍÈy”}»i€œO– 4‡5öCeç½:«ÈÜÁfˆ¶.¡T‘½Ž¬ö~®»ø7ãk_3.º(G‚ Á’—iCcÂ'<^çÏÿÙ/ê‰íÝù©ªS W*ïÇà Æ¶þé“IÆ¢L>«¦³¡ªyÍ<@æ"wÿðæ×zzJK=Ëß<óSèÙÒ•Hjtó H# h¦¢ Õm6"ôÙxâ¤Òo&©HóÌèäŒÃWª­ÙW[­¨S™®â¾B Õ­Ó\½ º,Ú)ÎUmßÒ÷>ò ÊgøYK4§PMd•a|¯ïZIs3é·ó˜ÿ©nûTµðq—9«YÀ ÚBMA˜€i‡:¡ÿh˜ïž}žhgÌ :î;^5¥¢j­D>Õîˆ=üåã!ÛYOhIʺ"ñN|ÿP°ó§R“ï“HKK‹6aP çŽi?7C»$?–8ѯ®îTj䣇Æì§H&¯#ïSÂÄÜ1ußXªÒ©:œ/Œèž_†#p|O:]!Í©¢ îe¡ryîd58=u‘ˆÉ8­í²‚ü ­õ!ýX®w>sºÕ£ãÍØ€vH‹nÑBÒr=mž…Ÿ<[y ¾J§À£N´P Ftúæz%Þ©.ÏÑMOÐöŒ ä$lØþªÀ3òΓqñ}ô ÛV„G¬#¡¶XC¶7î>qôu&ãxè)ÕPz~̃ãæN÷ÂéDfjÛ•g\ÙÐÕKTc(k¸æÝ¶‡¹§hç©YçHa ”óm‹Z×`’Ú;׸¦ìßUë] ŽÊ5ãõ8QÈ„–"mX2HúÃ7³—mU!áFWÏ¥Ô°][ºÍ6K~攊-=<ÆÀä±UðTT'ü#Øê I6½·O‚äí08¾?T8 º€ÛW—½b˜‹Fܽ ïe\+Jài²Ô?›Ø=ü0ß÷-‚›iT9ß„8ÊîoÐa­ù43iÃx–&Ÿ¤Å1}l“Ô«d‹ˆÈ©'ŠâV`® w÷ª?8…Síû)çQýêUŸŒhâë?#5ÊiÑŽÌì0­¹•<®0nUCÞ Š]§ÉF<<Ø2©ºä_ÒdÞˆUJ`}u´£Èµ|T]4Ê0TqÒ‰ ¹=K–£Fn¹jUϤSó{¯›Y¥wˆÃKs«ÖMÈó5´BÑH{õ1¶¼ Yò©aŒÿÿìo½µrɳër¤ˆìxTvk«˜ ®Zø·ø¤ï\‚H‘ñ&‚`ÿsqNøóˆŠPJ´0¹\Ú*A§ÍN¯zç&VÊ.†Òu+Ì·Ô¹ä<ÕñãÇy?²ö׫_ñNÎÄ1%Ðo†® Â{:&LŒ#EL‘gøy‡ þ©ÿ ¢îî9æ4mè[p“L œc ¬$4Û·ËžQ/VßeLBTßeæ»v <ÑÀ.þ[Fz ¹±´†ñm²ó>KNŽ¡³fûRdþNÚE·rÕF%c,KûD ™ÕI×Ñü÷?#ƒ¸×˜PÓ±,– jˆªÁÀâÒ¦ŠÊåss·üÛ‡RƒÃ ¶ott›éX{¸‚[ŸFvÖÐHWâÆ×—BaìÌí%7×?}ÃX|Ò»µé³;toU;‘'›³\n¯¸¦Ÿl> °˜ Û.׳ýQE™smiRUy¨‹ÎR”é¨uA»Zô*.³‡Õ°l Д A’H*èú1Ú†*™ù$¾÷WŠOÇ67_kßx¸ã°1åYý…e¬ˆPñéÇf7xX+õQßýëv6WÔÃk,jc=µÎ3 WW@ìhW½ËŒ wt —·š|uläÀ÷“ÒÝó™ ]Ü]”LÑ6-´Í=¿¿á45k˜»’k¤e¾@œèýE&mÿ‹øq‰˜S˜è¦4–°÷‹„*Ò€µ‰”Þ‚ÕýÜQÏòÞ=®Õ-š]Õ~]²¬ÄÚ£—_Ë+ÖÏ îIw;Pê9mÚDZ \¹€a®,ºÜ`¬¥Œ°ÿ·,eíÞå!#ñy.–í·ô›KM;B9”1Bûvà@&œjÎ6l_nzÅ{†û¢û®ñºMŽç¶,–ÜÍȲ­µ*ƧÁIJ_ç«ÿËqËÍzV¦ï{b„KДÙHZØaŽèäóõŽI%á§ qjËצ ûÿTÊYa·@M[ˆ”&±ôßæð§°iªpDZ,?Î?û°Ëcã¥IºÀÒ›jSÕuR´M%Ö%”¤ì(ÖòÄîUóé}»ÖcŸvi‡©Àk©6ÚA(#Žá³Ku瞘I\gÓkã7³öîÔ}å^Á¥j>ÛæQB`éõˆe—Þ9”¢à<ÇÃQ6<_åñA_ë^[)Ͼ'N‰®FÓ±J–QX$*%hfd¯î¾ÌAë¤v¼5A­å#WL,5w꺌Ñg3”U‚?Ñü*ù‰uðˆh ™8¤´]¼ â(!khk6ii e#&ÍlÞ/EghË´9U Ÿ’u×§²š·Gýqu^Ó#òD³¥%é¥YÉóÎ9‘ vÂÿ¢[–ÖaþÞúᵉ“æIGSƒTÒÙÕ4¨TGeP½tDI>g[š(ÑÓúÜAÁ7ñ³)èvÀsUŽÞwÿñmSBÛ&`¬çŒJšÊ‚DÖ7öɃífÌMTÑyfjÖźë+Š è.kS¾#àU’¤Myóžböm)¨sÇ…l6ñëö@6<|¬´µË;½>Š‹¿3];4Xgÿ¦ÛXÝÝÐAÌÕµýª7Ƶ+#ËîÛ Ÿîù¢ç1@È’ SÕT9ÓZô1SµS::OÝXZRŠRÒ#9hfŽÓƒJ]h%ÚÉÿ«W’ÞໆŒX1Ì  ¿97úðÝR4®®[Ü×¾S‹û0ÄÑ÷Ò׸-Dª´C»¹µÀJMˆ Ê”ÏëUq‚|»ƒÑN‡7îhk³`'ÂfEAÑY¾þé¯'bÇU.`+é§JÇÔ¥üÆòAÙ£ˆ³0u‹$à2rªeN±ý†¬ØqWo¯j¦×Øïöøaÿ‰¼¸ÊÏSu†g÷ÌÜI*B!=÷î²wúx$u¤z?ød<ï»|MOðÈFLÀ<Àj_µg3ÑGÉÑ&dç¬ðÉÏü ÙÍGŒJ²¥ÿ«èP*rýÐ8`3=˜™o5ö¢n=4 Åå ÞÉ5ñztLŒÉV \/©ëÞ†FilnBv$=÷Ÿ¡<=P‹ðR6UDzax÷HPº ¾›;¹Dƒ “E›wŒ8µôDEûr –{&OQÜšì§ÌßXÆkDa†;‚ÑX!¢£N#Iür·ÒQ°÷1=Äõ÷cr™ˆ&±‡)Ro^7 q­ŽJÌPÜnpÀ.ïÀÖt¯­3ŒI!L2ÑLǘòŸ¯?Ô#â$’z¾óH¿>Ž©Ý?黺»ÁЉb÷u'f&/ØŒ_Ù¨Ûb75«aÜ@QY•¾ŠÚÄvëìTÄ\~U_ñx®Õh›­¦Ü’x,ç¿÷ÏàTНa¦ÞÖPÿoØô:Ÿ÷PÄË܇8Í:0è4ÕZïF«Š†âÀs²áóLp}ÿóÀý[FD¯n@!þ(ݦ‘Ï]Urfû‰+£;Ÿ"DÖL¨ÈÁ± C»dJ×ÒÓA+YJƒuD`¾Cû#N&¢[ŠKË}¹sýœOˆ¢êtíЭ U °Fj情pâ&cé‰ÃoXáhW:3²)#IÎG#ߊ½-]/Ê:OéSAî㦾wóSÞ¹Þu§3º0CÞÿ¾#fwHC)£ôwòÈïG†]h&Tm_-óYh–±þæšgå묹_ÌÝ«ÝÚ\Ô[ê'ßð-‚kéQŠr÷üçÜÿ%ɼ\›{zJ^¨Ö“¦øþÄó†µ!ŠK`.U IÿZà–·mªßBé jD·Ý*A²2‹ÉÁ9Œ:9]¨/ÖÓXvqŸmòu·lº,y¾^Ìû3Ê1ÃJw¬Ť<šÉNÒ3˜ü¯¾Pù©îðN°‚4xyNÍ{Ùlut@`S0kýC*åÊ$ëւ«ª$x±­q|·´döÁpÒù@Wò#ˆ¼ó:NW…‘à˜à®·°(¤¸þ¿hO: êÀ3Fÿ€Páô d}W\—º]8AÈI‰ƒ=6[ï(µ€»ažü)šðÊXóîym…Æû©x²#®¡þJhÓ–ÌEÅ Iìä8 ?൞Z"†‰Ë”à OÍ}ÄH–õ¸u#6w1ðÇ®Ëáͦ;qëGøÉBŽŠ5¢“¯¯Y©÷ƒì •¹Ù­D)@o{CʦzæÊ„Ë&Y>u3¡¹åæGU ~ ÌQ÷0%ÑÌÖæ~Ø*{|ÙYCã«W„_øò~5yâàé)uÄ—|Š]ZT xëL'§cÈ8O½=lÖ6Œ‰”žç5Îçì>f|eãwÏ<Ú¤2Ô•|„'ÃU“·±¨wgÃ0æLÇ8¦ùlìâÎÍy ¯œ¬Îó\Y! }2Šõí˜e½Nä6`£_¢Á}׿é]//}@\8d²ÊAEÖûWÝ®/GIîÅ9…åàâ¨ÐצQc•éo©ÎÔz‘ ŠŸÓŽ-YD]°]ÖåôQVäÆMäq²à¤…’í”2ñ§+èF Q§ÈþîÞ`å¹?‰£³½ž±Y x˘Šî_gN×3YÈ/ͪÅ+Lðluñ¥ü%ŸI69즃ñ ®Rw%°þÆG¿­ä åSýÏŒå( œÔûÌÔ*{ñI.ûÉ›f¿ßQ tžº\qfÏ%õÅ{ îïö…•Ýzæ°Ðì¥ÔYij˜ñD@ôObïÒ&¬":Y|RœÈù—Œ€ÉPóåÖöjø¥W®ÑÙ£,åÞ…Ê,\•‹¢ð0™KOðŒc{t¤Âüzú%&LÁ÷Kcê¤7¨=yxIƒwàjBÑßlN5ÿ%\hATÿ~Ù*™HYÕ¤X ÿ U†2x’îpY'/ág‚¬;8dñ…wb|Q/Œm³+ùŠèq¦PjJÖ7§RÄIùj/ERwJëÝ9“}]÷ =Ư<(Ÿ/Å髪 Û€gD[(ÈOÏl£œŠþ©Сҳ¿ä>e[T=£½ð·>*ž€„fPC3Joþå_œd­‘+µÁÑá:´|R¸L’À²¤Ä… âA6/¦º~û´MÄ3­)ÛCK๎µ3²i‰cJfbú ?ˆE¦­{ÙÂ/&õæS¶çA0âƒc×[Â%»ëÓxK¯©!Ò·ÓÔ#ÈÓºÞQ2] EÄaôCÉõþYû;f½µŒ7vÈ» › — +&†P!·òôw>ÓË>œñyñèU3Fw$”Ç!gó&7k¥·“ Ý»àÌþ]­È–xpwmIý$x”y½Ç’³&ᎠĭŒ2Ô@BN_°ûÉêë»JÜê8ÎÒD·Á²˜Ý”}jží·9oîç+ÅÂqûÛûA Ù ½i¼ó*Öb]ò¼ÒEžÎE@…YŸÜ`P¯õ½{¸-OÛ8Œáy1 ›Úk ±¯Y‹K/ ý|ý{lfg™“ …*J{Û.6ù™Ñv%ø‹–Ò²/Û ô·5mžp7|[ÎD·w0·Iúu?m£™^‚½ÉQ²*ùO]@÷A›w3Ô«š´ˆmê×d^wOÀœî)º¶kõDƒDçìÌ¥Pê khfÅ1;Q]òõÌwdåù¥•amcˆ@¹Iþó7uQñ?fx]iÔRŒ`>Œêe7Þøu߆Ôie2Öκ3;æíKAW܇nc´~™nꢋƒžÚ#l\IÆq¶XÊIX·Ô·¨©bíD]qÙ˜¹aв½¬×ÀùÝ¡RÜ€!ºÐ·‘(¦fê}N;ÕS®—9¼¹ÜYñ£änã÷í•#øï“àŽ¬W‡V÷`ôئ.WH(‚ Î܈Þyáõ°­‡êþ¯?eîåÇ^øm-J¢IîÿÞu=BH–¸=Bp  =³ßD @Ãl4?Í 5›/é1Ò%¾Eâ\Ì–² ==X(¯ò@ ¢.‹Ï<ÑÚß9l³à࣢ØÅö„ZJ{§uïŠR*Ÿ}÷ż¸íÁJ<µ?NŸgWo€i›n~£ÑYNn {eÜ‹¸38{-Ø®&c©ªÝ£‚QWüûµ˜¹ëR#¨å/ËÛìÖØ«@zƺ®‡êôa¼yvæúù'n[öeÏ×—¡ ˜\J–¤ Êàal–½.>.Ž%sÒw²Å4PZíp¤ oU‹ûˆª@}çˆY6œk1úìê¤}{¾Q zïJrsF¥(Á­‹*¿ÐØ®…˜!Ó…yHùb—ª…‚¦“g†Q]¾GåË’3?M—y–ÛÄé1(¨+_w>ˆ{\Ù3 #·%CÕ%QfRÂx³‚º¹×Þp½’QH¯ÀÇAÛ¢Ãa—˜•o.«vñ* Q/7Ê›ŽñbKíÅnòt­ìAy8g3¯†º°V–ŒÚ…‡ÒWO-â. 1ç’ŽÞüÇç*—Út÷8ƒM¡C~ –Û½ë‘"ŸGaé¹›VDÖpÂ×-äG­ìÚX@Ж„þô†ØØBÀ»£óI%¿èìGl¡õ‡()|IãºÛú'ú¿€ÑX¿ÍIÍþl2IÄWd¸¬ÃMó;&rybøsªˆFH2d¤ƒ¼5_UëŒSâER°~‚pˆå5 ? \±…2È—­A Í1×e0<¦n8ù¦qd&×:ž²|76fo‚B†´"mP_ ç)²¹àº7¤=­qmů[ƒøÝ½¾ø½ÿ”éY.ì˸9ãGí“äø6¸ƒA£Œ”pö#;(5.JÄ1ëgà¨ã>¼¯X§dfO ž,±k¥ƒpYÅqþ LàQ¢BOä뢚ñ°e²#íºkd?XÓÏêž?X+N¶&J’bD˜œiBýÔãg„g:K#ßùàN™ÒÇUÔÐ ’˜ºËƒzùñ¸³¢LÄ b¿r³œ©,Z–âél&¬ÁãMÒ6e_‘ˆµªr¶€QQ?÷;ï”#BÑV&h;›¢@H¦ìwóg HÆ3©éȧ£mט+ÏntºP°–AïïYÀtÖD5ˆ} ¶Ä‰Ú¡‹ÛRÞ½ôˆI#œ_hÌáú­©^œ¼$<í’n´£Æe7c˜Nå¸YŠm%Ýe'Èï¸9€¾X½´’¨_4f6eˆûì’pEjwã‹§Ä)ÖeJÕžÃdFì䮺e=¶RÎ;÷utZ@+Uù Ä l‡zˆÜøÓ~Mû(—ÃN]}?§‘7…HÅÐÙoM·Caî†þ¿Hb¡RALXa•Ýj?³yì;Ìlœe{8œAªO©»{NŠ{D´É¬sÛ<™¯•Afí´¯Q(ׂå  ÐÉ k•RߟŒ= L/ÆMŸùê`t4úF3\‰Œ§ë»_)€]uùm@™†‚ Û¶H]˜n^ü5=Ëyìrn,ðÇ0½°}¬9yFU¿,õ|ËÃC$Ã@¤È¥3!«©Õ·¹Šf":/"03Ý^=—{ìkóh:Xhr¾ç㪫éà_†Û¼sÄðã -À•·©AÆöMæaÒŒ!ç‡QV™ÌšyíabRp{'ü«t|':ìÔùÜ9[‡ýÁûæâøûRØ¡z³<’\35'$c<Ö’ž>7“IPÆþK|ííœÆ¯[ƒàÃtÁðÕŒI+­Ù»y¨Eµ<@&ÇÃäÆw¯oµ?ƒæ}6çˆóµiÇ“µDV{fi]ÇÎÍLÀÈÕG8½f¼ëï˰yƒOâ^šŒñ‡†Ø›qÿ&°3±¨å‰ëØÄXÏÞ]$güü”³Î3qMÄH{Bè™QÖ÷D»X Î 7DÓÄÀüYYoö"qتpôEå}ûÂ6“„„â˜gËaËŒsœŽßÄcO¿Ÿw¢ òì9'Ï gØÜðëÚÔ#¾Š]$¼„TƒÕ±kØVä·3”3µ6¤þ*—ÊçOžeí’¼‚»OA`j+ßZìæ1þËFMBCíâÂV³K¢ÀV£ô½ày¥¼Ë“åºuÁæÍЇ… úˆ'?9Í;…C#<`°ìðßÊ|ØHs»c¼ìÄâ8{ðïÔÏ8“iÕtíÍ=þf-UX\uÛè<å¢Îô¦°p(;.æÚ¬%xIô @–´­öhë:;϶ˆÉJb¤öáw&ƒ-¯Âå§Sé$×&Ü_ùˆï奦áZÀ§ÝP‡Ó*«°úÇt»ãî×°?*êèÊίè™àuÄ­â)êg¬ö’ÖeƒŽÆ0‹þÂKQ¾'Êû¦]†iIu4ž¯«T(]þŠ¥1côîÂÉ…¦ËÉú²A”nÿ¼?ØýH´eÔ»,Ëçc~ˆ.[ù䛜<ðîjìY{°%©JÙÜÏeã9åØªÉäOæ”4[1Õ»¨(J1¯5U>QT.ˆ»M/bÚr}B+T¿e5¸!Ó8ÜjÅB =õÇÜ«pÒàG‹±!Ú €ÅÍuÞëŒf5ò• Ao´A(‡Í.«"©!†Û-é1D×Y]( ‰ˆb"œ*3§![‹æ’K¢úšæ!m…à:È7NÀ*$Ý!*`°é•eOÝ·}Šº 5ýò|æ]ÄXf[»o»ÜŒÂ,ÐPOå\9†S`Š9D¿â?…ø_ëŠâЋF¼hOzÛvq¬Q—V:µ- ޲£}‰Á³ ê'+á%î &^A§”HŽ?W‡äå¯ãq-ÉÓ²šÍN"˜ô­N!0~4êˆ~¦ ,Â[°ø-ZcÄQ¥\œvñͯ·ñX/Û×Ý©‡JV÷õõO ™'HœlAf@¥ãr+?6lí ¥æñÊL ŽÒÍkÂêð)çævm[‚bœ ÙÛ=9…kµv»ûe¤­}ß©kT¢ó¥Óm «•µ:8GLÛ¡§þª‘~ÛAy€Ñ ÉØé︠4ÎA˜ÿ^.¨èt]'¢ÀZP që :ö•úH` >ÜîlsoXhÉ·.¶ÆÖúätÓoZ?*mäJô²´x¥ÙŸ"b¼œ•4FïLS<鈟Ò@=›ZªxÕ\ÁûÆó:…5šù >ºÆè™ŠòQªsJ=Û")µ8ãDңњN«éÖÑäržþa s„ÿ;²©7=ãÍ ·ZK˜ð;±ŽKZ¯Ñò{Ísk 3£øæ(ý5²–›ß¥¯Âîx „§T]bãø+33T(.rø¼ù°©˜Ù‘¬YÿUƒDÊ$Á}‰Ýÿæín…w19•TQoÙ/açrà^¨@ß,û O7;am0ªæAyi¨ûÇS˜çøÝÝË ó¾}5n"É^.†Õ‡)õð±÷æ£BTu~W¨çÚò—-–þ1ˆ?â¿¡Ù O…Òp @TôÛ¾×Jè‚D×^º­ƒ!áÞíçÑœû0WG=Äû«6–”EUßøÔF¾avaïø{ÿ„ÏNÛ‰é»<×lès¤gE•¨Au^tªmçT ðÈaz¯›6 häЕtVÙ`ϻ҆E…¶´íœ¸˜ ¸â e»ó’}¤ö¡'äó@&Z7ל*Ð!¿V0ÌêõŸ÷öÿ{ AµŸm‡Ó¿¬!58 "OõyM «Y;ΩŽÀ$¨Ú_hFF24tE¾ ]RŸëðÖrü`ty/8GA×sÖC}COíÎ’žŠ5á(’/:FB|÷äAÿàñ[ái±ȪÙõ–cÏà ]ÿ%ýÓÔû(§ZÝ+r>ëÈkÔ±Ö>Ÿ ¬¨ŠFAºT^½þUlî¦ØöÔœÛÆ?ÿOÔ¡…ù õça ûˆŒfÝu ‡@U-÷f©}&WÆÿûŒr+ë•¿©6`PýžÕèæ¨×»ý½Üdò \mžÉÞò²Ê3SS.…$ø·)Ù® KAÙ¸·’ÏP G;C‰É\„ g;–è~BÞ~‘Ò¿4FÂ7¸„t¹eáA¼hýškTûï]€[` $WA~²EýP½ÛMÞÁJúüJYiðœ(Ó›nq”;©,/áGöF>;Þ™ýEŽõ,£VÅx€ö¤ E=Å­2`³¹#JÛé&ü($<£x¾vu ÿj”;î|,(›%? º³×”ˆT=‘ V'’ÓZpjgŒhiuÇ ”ŽPøÎ»°XQq§+ø•†>ƒ½ÄÌ–0Æ »2™ÝÂô §E:§…+Uðƒâb8Éú ÉË£%ž¦dÃlp&¢a /ˆ\·/ u—U –>Ãÿ­ÞVém Í?U  Ñ×q®…f;$ÜÞÔ”YÏÇKbƒ©fÝï¾I*™ZÏ]ySuÜðµ<•þù€ù]¹\~¨QÜÝbO¦’¥¥‚­¸ôÑ4CÐèÂ9~lBoçS~÷̘üŽ$j[éT8ö¾ÂÕucEgä‚rQýqøÚN`Œ*©²}62ÐïmvžiG‡Z2h^¤×]¹‘ûpU•iñ¾éH\ìÝ£ź„3ø‚2 ØJNwn™ú„øüºÈi#ØñJÍNrƒhQ_×k?E},ÝŽÕ©û jÎ#›É%è±–ø¸Á"Rjü9•[2=[©)_ wb/”]0vBkm!âÂÕó–Á¦Ó¿}ñ¶æãPÞ¶¹ö:ØëºyõتÕ6vKmOa @¥§4uºø“{Ûx©à…Y†_<3èuà<7ˆ²k«$Úáh‘R¯°T¾ò}èê–\6Lh%‹•+·î.;@ÉîÆ£p ¶R2ˆ`‚¤—_†Ÿ}z61ºPJˆ!¾ÓVˆã ü¡d]Ê]='â||sĸUi| ÛÒoáX\øqƒ¥¿µ¿Ç¢©ï»á¡[MùPaz ¯|y2äg‚ñŽú0ÖúŽ•“ØóÒ&å£ÑÉòpª¢-Ibêg—M¤žžÚŒª‰ÒC‘ŸõŠß'"@!YæH†HÌ«(Ëú î8Jí\Úö;z»G:Ö~ód“o¶eK\õ¤“Ùµ€wµ{Ó n]pk«t­¯­Ô<œÊ¤_Uþyœ…t›x s4Άu·a-¹Â…°noÅéÐø .’+,Gu†6w‘ËÌz˜;)Zt«Ö•7-BmseNÕ®G‡Ýצ!n6sðë«PùaÝ,G¥iÇMÉå©d»K­>¯Fœ+?ȸ.hU‡ÞCä´çpqBÅ9 æÆ«.¥}.Æ€ 2Õ¤ÎujiJ•Ak;îhâŰ Þåë—ÿ>E„:#ß¹EQè“àB˜I$‘û<µP|ã6)‡‘(ŸZ!>.A'‹ØI¶^»i»f[I4ëÖí¥vðûXN!=Cœ¶8'ˆ ¨Ÿ‡ê¨z¦pA|[‹Ý‹ôp¥£i¼ñ€Ä¢(ü3e~¢>¢4H{ÄxöKY:P.ï59Ü*iÚÉÄ™Ðc6·"¸|ŸÑÓå‘0j’ß)v¢l#1 ¾¬–zB6®½D‹ý‹£˜d ŒNl“‡×œçG Øß+ °‚¹J¥ ð«¢f@× E0bX·'2ä(˜i™lmMäŽ*b&íÄ3Çgë´r…ÝEÐl±<ù£ÏЦÀWæÓÎ’¶Ø†GZŸû…ô!Z"§´‘¬÷Ïžç!ýˆ_Ø`øÙmf–òЇ‚²â¶˜7‡¸•TÄf’6ü´Y/m‹­±xg€ûHÿÞP³ÿb)‰iò &~SΈ^nGF³#53ßL1ª«F3eÌ“n“Œ-Ö7íãY`ç ÆÅ’Yʰpéè  îЬ¦ínö3BÜY÷.¬…£Å'®†§—ø´¹0êU.ë ÈXnËüú¿`-³™Ó^pü᫜0U:»l›âx†Ÿnà>dÙcg ->+²ç=Ýå°œë‰CÆ™ÌÚÿ;Ñ•—ãÑä(cë¡(Ÿ‡‚Ÿổ͟¬[jÀ©£ìéÈÚ(9ÛZeÙ‚½á²#i5ºù}0LvlBÃ^“u”'´kš²Õjà2ÀWÛžW¾gá—nš&ñÈ© ]äÉ[f®Åɉí£T:2ãb&› €µY»2ä¥|5™Å­‰©Í›m70m ‡x_Qfm#ÓóŸ‚ËQõÖ‰QT•§mk” ¾¨®V^6íèôŒzçÈ/ñßä*ííÈ{O$m=œÉn¢=]¢…WHÆ#]P!¦¿ÍQÂ6©ÙÈÁµÙU]m¹m9ƒÌÇ\!°hÉf5 ä2VÆÂr¶ŠxнKJ2"Ï SÂÖ!C»*‚Ïî( É/i­ÝíIšBû h©5¶¸>´ÐÓ²—oT)Ò[­P-Ù\®G,4è!å¡RTq ?ÝŸåš´1~#wçÍBçÏIÖd—š£÷"òí"k(ÇÊ2c‹ºhß®%+T M”uCçìŒþ£}=ZLªÄ¾@˜³( ­ \¨­NfrLÀYS­·qPðY< . —äÔð§Pg1-N~a9Öb‹ÒèQõíÂö·¨ÎÛ˶b¹8žù°‘‚¾´“Ù)É“Yr(’1OkÐý8<Øíe e#|…œÂcA‰õ#;WIë¤÷—‚¦±–×B2;F\··ítuÄ›y ʘ+(ƒ;U”Ⱥ~*³Jàï”^°©‚HÚ²ÕËU«*4,¬Äˆ^TÝö¹ò³ c¨õ± WÚPÒs5²š2¤gçÆ.âNê¥æIØU)‰–Á”!bõ ™>)P2]PÞg kÕ"¯lu$µ¸€ØNï¢OÃÖÌ÷¨T+cªCÎŤnr¡$H©LhjxÝ‘ýPéëÑåj b®uOQ~ŠÈÜ^6«bdhÞsûº5Ž¢…kSñ}$›bü}RcÄ}*ÛœI;™§qQ¦šµëà=žðÚW±÷‚#ZDáBiOo%L¥Î—Ðh¾BŠÝ¶¹NÐl0oòíƒýUûèZAòñF+ž‰³þJ¥î~wæ|ÄÀæÿà‡b~t'^«}‘Q<çè'¢ÊØjÐÓ{*•øŠëÇÕï|±¹ÙnITdÐÒiÔxq^²ú .•ð8~?ŒBõË׬¯x‰åÔE¥aöáfn`~ûtȵÙ2Z™ÊŸ™ ÔËo¥M³7Þra(ç,ÌìņYÎ ‘¢ÁˆêŒ/»ê6ô‡£Žã™€ZÞ¶4W^#ÖÕÙ¿7D­'D^_/d:Å içvæ¾³/6É.EpRhýü¸†¾Ò||G\>v\bþÚ?M3âkþ|@zâ]»Ø/¡×<ÏËos¬Iä'jH1QxØë.¿5|l9n='àþ¾ü‚iȬøwDxò£l®ï•;¾–$«å®ø~:ûtÃöΑ&Í©ìðun4Ö¢ŸÇ4íßr¼nŸ@ôЗ}KIá½oI†Ñ=×»ÉH%q¾n_D€˜!ÂKµ«ÛÐ*kà»·-«&^áÀÁF¢úˆª? ú†äò“Ð2¹˜ÝÃHeOd—Îb”Åü~n WW Çaÿ’Bcyª!Û”82.ñıáÝz“Qé‹xcŽèkîvü™®Ìö¾÷®sd©lœòßPçŽ$µ²ÄÈ5Xé穨ˆš“ûcÜî§¾;þ¥ ;@wœÖbœ‚±Pp•'¹5÷&fÉž¡#ì„R³\dö6AkhÔƒI"~OÄt$_ S\ €Ã•ÑýØ%Ô0|"‘=2•¯|Æ:Œ™GRaf›]®P.ðŽŽõjÍXŒ¨xȤŒg\X„-JE ‘ØB!-hPlûWõœ»MÜk¶Ž{yè@Îd ˆ¿­¥Sxp„…¹´‘ÿc¡ˆ(€TÐihYEŸÒ²f°ö²oA±-Fß„?t¨x‰¸uÆUe¼,¶ë¿³Ú×oضbs$…̲ä_ñÊ톯¸ó:úßQÅ™)|¾4²Õ ]«‚4 Ö lðh] áÉsñ=Ÿæ sc>чïƒ%íÒgQnçÏa#gp@fì…5ñB;ƒ]Œ,^›^&I´Ð)Ïâ‚‘©$e\ôAŽÉ@lîÙ0Ò>:)M­Tˆ¯Â—¸­Ã»žþÐäÈã¥þ C‹ÄUh3z¤Íûj˜*¾äÅeVJgúQê0±ïkKâ ¬6ù±É¶ Ae5V{âûø>f8ŽK#\ ´tž·¿¼ígešËˆœBÇZ~Ü?Žw£rÐ/ƒ mÓQ¼lìº>¢·x®©Ð—œ‡1üÆZ¯agJ(Ýb®ëÎpW'×Yø»¿0ª¦0¡5œÍËLÏv{fê[Qävz.Ëùd'¬_ùi’ÛTŸ«É $ojÿå,X¬Ã³µ¥P*¦ñ `êµð€gUöº`®»:/Y÷\=Çß3´Z®‡±Uotùæ’ãóc;­º|œY„‘Ý%×¾ú`ÆöÿŽäÄÞVÖÔY¯ÌË‘ˆÝ6ÉukUàyB fˆƒú¯OõöãBN=—„,ÿ0$ÍüלAlh¸y…A¹îMŸ@î;÷@<£iš2x€^·ìB,Ùÿçæ‰uÃJ<ȥʠiš6—¦áAÿˆäb²—­Š ¦¼zO3j\»™rÿ:´[{~í¥íyY›e†þÀ"ù.Ë´@CRnãté*'Ñ¥-vÉ¢¸6ÈW ŽÝù”™’èÃW•rÓàX9‹5ÃØˆ×(äwyMŠÉ¸oøsfÈÏëû,TrvV[î¢V£kî}EÏf°¨3ÎyÅ<B¢O;‡t/$á9gšŸÁ¿âàó†9x@ðl8„Üí´­¤‹Zt3ÕúÛÊŸk—ö2«:ñlTêr<¸[$¿Zr+‡\«d_Ôü·£·wgZMBöæýÛ‰×uVÅ»À^Ö¥v‘ȱ0.dÎï`ÖÓRý[ rBf=Ødán#ŽÌ\cÓð½mô^¡Ã_×ÿ´îàýÚÖ¾ÚL¿µáËÇ€«ñÑóˆ„CE‰#©ÙΚ‰²:³e¸¡`AµÛCE&ï×Qè]×LÎ×ãüÒüÔ žçóñÜ€Ö§“ÇÔçƒÿA‚´ð²¦®µf Ä|¯¹òcL¡¥øV3Fç,IRÍiÊ8‡­0Ä:Þ.[\íV¹Í#È„˜^ í{¬¢WooBjM$™&}$„G‚]@:G—ÁrZCýÀËxðóV¤úЇæ8r±Ð°Èh‡ºËoàÈžéwœÊŸÿÞ§YÔBsKÎ)¢'oIø›:´x©M×Ô^GËi EÛª7¿Yçà©P?ú_é»È‘!©&!>ôñ½¶òÑfÊMÞ0ƒÂP‹Ùä-yz›Mæz¨S_»6¡õGÃ]Q)v:½ Zbºtµ¡qZ+?”¶±ÂÔ…‚–%ÑÊ3_7ïŒøƒ~VƒöO^`ÏÂ×íÇxuÏtDðƒÆ—Jº—[•FFœôfµ;)°ÿõ«ÊÛÄå.Ûß?ëÕû›gC ˜¾Ü›ê&ÅE ½&DIÖÄÍíÈ5¨ Æz®}€ù‰6VB+Äô!6:û ×RÔËT0ܱàÏÍì2³ÁÉ %3˜'h¡„г n•úbÈŽo¨[ß}q¢v,ÁüNç­{VÌé~6L‹’Úª/ÊF é–p¶òÀu&Mß~ŸÚÜ”þx~`ŠÜzèº'ðê¦(à º“y*÷aÇÄ}¤†¤ÔyšèjVDÑ1"Æ£§{íïzÌûâ}•ÍÎùV,™6¸è’—è€|ƒ˜ZSä$¸Hž¤ŸR‚ 0d·c°) %u+:´E ÒA,uO¹õ”™F—#Zßïæ B™NÔ¼ÔÏsèÃ씑]f >£V×;Þ¦Dæ’øpöÕ~-Q¡þea«i ’Ù4ýÈ wîIº­ãµ°ç16R„aÐ,‹aÄÇŽÓj´sÅSãäÞ|ÞrñôiëàŽ’Xí"ŸÒÐàÕÓpcaÀíŠ;¾ñæÏ+(*¾ž­Wêúàƒˆ¸?‰ËBg“¢f„ÚæÚŠ:‡Ù]µƒiGÈŠt倸ޯæk2>èµDžƒ¤‹§Iþ4…‡ö&_,»ÎÜxK‹–Jâ²gé°á¦=E5  ý.•×Ñ6ƒÊ€d€õ†«¤1Mà)×[uqÞáí˜?À!Ä6ºÙÕ¤o«ò—= ¦%‰ÓÀÿ»fwM7¬ÄåˆzI¶× áØÃÐ'ŒÒû.0þù|—»[Ê­àÚ•´8žG£_BŸ›}¯dY¥v:‰‹æÊL§dLmŒÐöx%g +qpâŠ?²ÃÕÉGÙ‡³æë:owÕ‘Ä$•jP#z7ù*›4Ê_aÞu˜•€uF¬ÂùIliÏtçÏ„çà¶íÙK‡A—¯|·ÒKIõxzÕD%t¿¢9?-úØ6—¼ùÁu_]D vÿ¶†aEÊ:Öš0Ri‚ÅÖþ«Ã÷ÿçx™/)žŒ3ð&9LM»cM(ó‹ü&@córE+´Œ•÷?©»šäÜ?'D½±L@‰›#ÄÂÉ…§Ë[Æ™Ä\ìÙòkìNnÄà›CIcÙ; áùµuÓÛ+ÏôøH¬’O•w +Æ5…©¬¡‡˜–¡O›ã×É`S×›FU^5$.ï ¨:ãj¹Nß¿F‘~iG)ƒõ9¯Ñzÿ"ÝÚ1G {k#Æ-i½6n–Ò‚ï™H ÿyl×Û÷–aQàPÞëÁíWQÓvHKéGbØP„dö.o¨‚UÝ ²u0ž|uJ2ŒUsCœ *)%™û…ö ÆßÜfP„ûÖ½æ°EÕ!:ÅnŠÏBj$W.4H?™?ŒfÚÏHF^16:çÎÊéÆ²ì»¼;ì«?.Ǥ-³™¬#¡ºÐR¿§ZÍY“½ZR²]Ÿ5¡¾mÁ²L$Ætðš'®ÛËe?ÿ…ðûÌØÕiD±¯Ù ¢$]ûýŸ© ¼ )¢&¶^6Z@¿Bm+ÎÎJ{îøcîäBCã: 'A„;GŸ»³ºÔŸ'”ÙRQÄewÖêA| +ƒE‰úPVÃUõ+£hŸkÌ™ÂìjÎÙ¿¹+³r˜³=ÒʔӸ6Ý«5°Äà§'™ÐݨÖJ['¸tìEĹÅk<+HŽøˆˆ¤F*˜›ðg 8Z|…Ð׸¢ÛL%éf•ôAüÅ" Ì˜WÓ‘( ¥Ž}Jšö,l‚ë‡RÍäá ³A‰Dh–;º2ê<±;³{!Á¾EHy…åþ$rkïß2æöñz‰ñÈŒ¤·9½ŸÞ?^¨ñ(Rt¡@ÙYáóÛQínxŠÌü8P Ç&G‡JÔTÇ-ï<™µS~ûzÔö‡ï·–ƒ››Þà€X I!M­ù’§¥(´6-iêI*ß{ã"2÷_!dBð2è8ŒlG% 2‚¦ ¢`«¼Q‡–‡“Ýlˆpaêz;“…ë]6‘Ç‹Ó9‡Ø4X=ìÇéRvÕ¥¨7ÜÿžŽ6­›¬LM벞uXùc &QõkÒƒopùkÃu韹9P5‰,4$î[ *rÿŒfyú­ºŽ@’Âz¥ë ¤’æIf—¦¥Ýe‹,Âýï3ð½"ÌÂF"ŸâýÓŸÓ€pÔGÙoEšð†Ò)È‚„ÿ>‰”ndÜH;¼ùjåÊo™Ùwûp߇ÓQÝ– IppJ£oì·-®•³;2ÔO Y¡û±Ñù{˜¾û›©+G÷õ¼vTÊ+ª [^í†å<·5ÝsœÁ¾¦Œ®¬-–ZÙ#½‰BöÔ—æð•Ÿ’ù®INhZš(ükÒà§y2ß<ØÏûÌZax‡bñ¨–ÆP}yâ˜4gr°í”*¨ÑCgçÇØÏŒ†öi ýã úÒN+P~Ô uÛ\·®n…¾4åø¹2iˆv“<)ôÙCèeJ7õÌ®Ç÷XÁýšš¨mµpM±Sþ^Іæ ªF™MÂÏò\ yy°þ'iðLû¢a4×00¥9ÆïTù”OœjÝ5çwÆÃ†j¼tr|Iïx׫R‘vœfãGÀð°ÚRÿ<òù¢ÎêŒ?KÎdÈü<(yÖë?FtT»[] LÉŸ¡jÍ΄Ðua53!–¢ùN19ÉoY0¦MÓÚÚEŸŠƒÞ¢}äán2`µ±B×µ1tx6}°D]³Ùý¢M\ýQö±™íÆî™&/â ­Ç8%Å©“ì ]»¾Ã(ŸmÍýñz41ž¹ŸhÇÅVo>}¿X TÿÛÚØIr¾¬9/ *±dE‡ Ûè:-ÎïöÖZ?Ñÿ,)ÖîL¬rîy£Æ©^Û…++›¡\A5qêÓkd,mô5i›Ë/ø:/)ÛËÅ ´>áÌH¶s³S½ª]¾×L©Ù}!ã#ë´pl\d‰¤µ®ÛKÞúdõ@Bs1_:ŒT²Èç7Ü(}ž0í±K å¿ÕE¶úâ ®Ƚd¶ú:Y²4ÆA«1’$7Ș­<«ærêò¼{_Còqfs€äÙN°¦¿þ,çC.÷³šà;X5ÈùI&s¥’˜ió4«k5„Дâ$F‰ñ™ãŸHE8t”ßÃ:³àzÓ•¢B‹íú{ sªdÝà´ǧ{_(l d¾I!™­±tP‚´äà½vQPFõ¡µçÝÐ!²ªïöõ£µ¯"ü$·‰Q2ÑuÛWÞ6¥×\ܳ´ªQÌÐ;I\÷‰=1î5´ß/Hox89à÷èJ¼:Ÿó~ï>†q‘Z~pí^f?/UƒO|Ý­ˆÒ-¢q^y§´àÐ˵F- ¨LÈz˜#ó×­QtÅÿ£@ÎÏlx&pLޤ°éŽ ¾äÆÚ\õ>؃R›æé"ž¢I34€iÆ(Äß GǯCa½K˜ µí§)B帋ÁÚâ1oé8²‘¬¤˜Ä‚ÎHÛÂÜÒˆU:.VtBøåÊõiÖÕ6ÎM~accu(À,YËŽ‰u·sŽeÃJŠ”ùlC,ÀÚb·úGÃò 2@}Å›²‘퟿MUÿÐ]& • ®P™¡oCØ%êAƒùjì—„„÷t7eU‚@ç¤:µp½,L±’dêÍè—ç÷+$ìÑKÃeRt­õïVµVâv1 ¨VÑ¥R½7G&1† 9![;©à··£’ë”Ý8WÞŸÞÜ=Ê ®F$0ÿî†Kv‘ªÌ~±›¡)Ähï3ç«tï<«*T’bupýUÎ&{¤†¨Õ–WJŒê2Ýóe>õñÝ >c_q=÷MNÙ´‹Pœö•;˜7™zžª¨)ÈVoùα°}¦–:ù#:Àêa\Õ©hh·ó«T#Otþ¡Í¤´§1qtÖr·ë[ÂÍIR›÷›tl¹“0è·²~ÏÁ›¼­¤«4u‰rS˜•${õ"ëV¤ÊŒ g2|¢«‡GÛæ*ïølIÀ©]|]«„5ø*xË¿s¸HÏ“¸Ñ9ÁºÇíÔÜÞ5|çúÑ”?t*Ì%…ÿæ’Ò"¹‹«‡‰›–AZÚ(œY}R¶²u”5ãÉ+0ÞÄðš^a{7«¯ÜÓ{WõF¿qÁÙü½3äõ²þaJp°¦ÿþŸ®z£*n혧 å~é‚™/¾5Kòë è8ñqxÞJÏ½Û Í*5Gû€ê ùŒs¶”žëmïAÈäy§ryUIëÒp;=ÅéW8ß#w¦Æ’%žË;DÑŒF'Ð_3’ÖÊ^>H;¶"ææP<ñ ííÝõn/œÚ«mî.âübJ+ñÚ¤:ºX½9½}žÛ—Gñ´ûµ§…Üv+Ɔ:ùÖßå¿V¬´½æÁ`ÃݹÍ1ílán«’“ðø+Yâbas>ïfà$‡µø6ÄP7Ùu¤†ôH @Ïiðn¯×Í« Ö{öŒøÅ FÅ"çÌÀød¬sqÏ$‚ô; NÆeÜt§|KÅš©†>Õ'š1±¿]ãüp‰Yzë½">ÛYÐLÓî ÛÑmß@°ìÎ >Y¦ÌO$ž#éë6\Y >øSÇQŽÃCôDØv蘼:i§`†œ -¢´˜}èh€s>‡{€þúi}sèÛõÁ”DR º÷yKé &ì‡_#W‘¦S~Ö:Eÿ»ÕaU|êú9OÊo·çáí³ ÃOA‡¡º'×…¡'ér™ÊL’Ž®ßjµ‡H°æ’ñ·ìÛ‹’ƒÙ2qÄœðîÿ*sD;ˆ1º h ÷å ” dÑ®Ž¬-5eq΀íGî\ ’Ç0úµÚŠœÊ3Ôýž¬1ƒóÒe·íûø'€ùÌ>„rÀÂ\'†_gXX¢ÌÍ‘!¢º}éN‚hó¤Ôc;ë[æúqñ!( ·‚øÚ ûd <Î÷WÊU•Ýcà±`Š×[¿=´%¥õ}áÀqxEÐC8âC¬Ž…ì‡ppãJ,¢K*JÆ£t K@ÁEô8o/æ•ï¢UÚÛwûÖ&í”Å& ²iM‰Þ0ûUN=QKãU‡6-ÃZE:‡ú0€Q§ œ%jòWÁ£ùµŸ5BÌÊ&xs=cFÀ¡åD=ØrY¹‹æ›a××EäžsC'‡ÄF o¯Ç_ ±$:!›q/F1 kNÓxuçÓÈÄ[ U†Íù¯ˆN¶mðè“ÑZÛÃË5)äjŸMS¡-Ü¢]>­ ,´õt Ȇ¦ãÎIS8ÕPƒ¶Ïa4ÎT«( &œY;CVžÌþ³qêö¥Âaqòw´CŽoc¿¤ÝžL°é»(1E¬õNi6¯V‘"í6Ró*ıФAOjt†8"Éÿ~½pI˜ç¡õ[U'mK¿¶9#|ÀNV=AÂìjKA$òY[yM„Êìgƒn°[ 9zè ¸dbè¢É‡¸OM‘àY>7r·ÖsG¬‡Y¯óήM•ÖN ¿ñl|¼Ç‡´ £ >¶¯9ŒÍõ«„„Ç8dSŽ@S<îR‚K».#°"3Ì:nJ;y"f­·¡¦çµh溺o¾ŒÄ(óšâ’©l>dnîNqFø­¥ô?1b0{ÅÝ{¶ª±_ž¶—…%ZžZë—ø>`Ëoðر@vE$®÷øÎõ7t:ÔÐjptìþá¼'§ÿ;ûÔÒè$žÍTÕvÞ/(í1ˆûvTT'Ë‘º6ÜåX@F¸åÖçо1±,AT½xJ0¿N«ToF‡‰:Á¯× )*]ýJK¶Ä—¤Ã`¡tâg°Ôó‘|N;ǺÀªU7J€yPÑ“&Bô‹ãÁ˼jÛjÕuÉH®%ðmùõóªîo¹E"° ûùôÓšxÊ™C,]~ËWúHÑ83‘T3ŠÏ¬Ê¹›j¦HFU.pyˤ«CX^Ã=ò³›ãæÜ^˜C“î,Á a ÒðbI!癸S…ö.lªo‘¡z‘ÌÃù¬²ôŒW:ÙŒÚáyZ„§ñ‹gjkãs-Ô°©¶f¥$[£pœÒCî:ôR q™X†´N"mn~âë¼ç$!t‹ëdi{i_¢™j8Žv‚²7|åN¿V³E“]F¿ëXC‚š¹à(’Ä$çJ{¯Ùóó<¡åu œ¡AêÄDØ0ô›ø-j¯4e1ûÆ0œûǸùÞÑÒ‰¢ ŒÖÌ…µèžæL@ j£€ÖßQjÙqÁNqRý·<í ¼!¾Uù"Þ]µ_e9~ÿúë#r%è>–éñ°–'ì`ƒÇ ¥œ‚2–ƒëÎö.Xö  ¤$æ¯J}Ö@•€‰È±Ï%؈&žj¯ãÃ{~Î"O 9ó_Ô¢gŽ‘=Ÿ9aK+ìWFeýS/uW³•Ä X«â#«ÚrØ0&‰^ºú· .õó]±ÖuÑãÀÕÕWgH¿,}€l+±ª ¹¿Î*’;S(NøÎ:®|ÀNÃZ à½Ò:‹ïØ ˆÞ49BZ+×/’ä%´S‹ËÞ~µ¢d ¸AÆu;<§Êqe¶J>ž¡Éhc(¼e]7"d= ÑöOQÉ;ä'Iœ¹¤/Y0A‡1(Úm`Ì­SãìÚXŸ8‚Eâ*7!t:âÐ¥×§T‹±Ø`ô“ÖoDçïf Üš&ª•DÈ^·ê*T}·:a–ï2gŒz š[g¿øãž¯ÁN”êÒËz*Ö¥Ð`QûÝ1ïZUS ;÷ÖÁâ7!àR+‹V^@ïÈivæ•33*p\D÷ùM·¦ aš€² ç‹qñ®³•ΓM‘DãÓAh?Ú0xƒªÌü¢ç^~ØUÌ&;ç"b„:>žAoåUÝ\ŒtÔ7dµ÷UÙHvcÛ!i›w/½‡FÈÊk6í%«)Â2õ„T 6TüÔW>Á¡:i‰BŠr•Ÿæ”©pÕ™ÙŽrþñFtsÃ}bW 9^ÚûÔ '·>â«°EÑäžÆê4ËN†%ZýÃ/'äk95`cìáËZ£> rwtÆY¢e‰EiÞ9MsnŠ}=ÚNCfŠ#] Êè¤ W7u± 4aÖ@r—ËÈ<›KWe•¯dxñ¤W›ñÊÿu«ê4EoM’‰=ùç.D¿fHÚ-C?Vœ}ID]³Hrìf¯] .a*+®›ª¢ßP4Ä»~¢L‘Ì EðˆœÒÎàÙŠ'EÜ«2D–qrXÙ\ûPœ¾çv 䇒kØi©4‘™°àèEoÙyWÂf®täF¥¸ìôMd*?Ù÷á''Ð1òïðv>¹ðBÝò¦€ôJÄé—Ëî 3äC3­‹hhiÂí\ÀÚµš-åø]diê4ÔŒŒÜî¡U?}Û¸3KÚ¨íI¹kÛZß–8ãÇ^7®Z›¶Î@{ªNùŽçqó¡1ðÂÙ‘2c¾À¢:³UÒËORދجB„×ër˜sÂ@»Qói`#óý¡ŒiDìÓç€ßw6Øxˆ7œ[ßÀZDX|u’¹@HræÕ–º#¬qýá"¯J·]¬‹’;Yä@¯OÔþWÚýƒWÙ‡ApŸçvS1…D*“öÕàÊ?æ®›ô/çÞLϵʆ;:^ŸÝÞø¢F`}Eµ.†($gm¢žµÖcäm…çPI¯ƒ k[HãŸRL>>ò¤½¼4KwÅÇ«–+´'=Ì¬Ž¬z.lkh0^¸ž×|Ê ×­@†Åš¡»qaZÞ\¨+™‰¹ËÇ`¤» ïv}“V7$ŸÑ÷yÝ è3 ù~Á€Z¬Z§œ´³Ÿ%-ÿðÒö,–­Åë´ß7VÍ}`¶ÝÝ³š‡§æ¥ÜmÃM—Wˆ”MòšC8ø%ŽÔ ¤¶Ný ~Ò̦|èѲ=|ÚÒÍ«ŠÓ_ö 3¹ 7ÄšhÒÏw饙¤ôè.±6<ü];q5p–S¡·ˆº# ‡=ÜîN…36·Œ+\Èî¥òáö“ !^¾'y¡Â\Ÿ)ÒO«‚ýœ‚79[VÅäÝkÑgÆoMÿ±}^$¯‘òI7àÔõ¶Ø\ß꛹\ Äà0³[ÓÅ>ßO«qÌ‘öà ¢šê§4ÝDUC÷aúIÛš‡g¦ÔÂ@¢K«–ažoÕ+Úq‹nÂ^²ÜߺA¹¦§hË6Fnæ>²{!´E‘ˆÝƒG³†ÌJìæ,[v-)Ïæ&@@"j°z×@p) ãÔÇ9«ñÒ¢TºÎÕn§a˜c[{£G¯{ª+‚pêúór5ò„DŠmž¡mFˆ}ƒýÓiyÓøž;bZOàï"ÿíú?&‰E&Çæh¸ ©ãI^â]¨nxȵ–þÁìÔ_í ¨Y–ë$¹7˜Jxþä©.uïÇ,ÌY!lëöÔRֶу…–ÈÑ€•ü ñGífÈ$É.Û¡fu¿åB}TPп|¾ âÅCöù¶B÷g× ä;™Éä)nÒ¤ {Bk5$˜òŠÇôÉ€]"§á IgÑve´è>+ŽÐ½6þ¼! lm¹Éë{;„Cá6i,Iõé÷zö´ò¾ãm”`­àG¶`Áƒ§-zréüˆŽé׆—M½%}K^s•W¦9¨3«-!5ÎÚd =‘vk) P~„xöåÓˆ^åË)©¯"üRÚ¯úz'¢F Re°úžÁHø®2u¥ƒÇæùÉÌEj+¿Wž.r:»’Eš­öÛ½FH`í) Ü×£ )OÚ«ÎRÀg{Ço þYtlÚB £äG°j£GÖÈ&ðae3çPþéj¦”®!pÍ?íýÎ>œ4Ö®|Äc=cXèî<Ö{u[á ×yàõÒs ÂV¹q·Ä‘ˆ]T`ÎV” 2ührÂdƒÓcNÇóVk— à)t‘‰¥üÕã>ùÆ?ññ¦BmÜSܳYHwû¹ðß½¤2žÏ’½k¹_YŠHsü]è»aÍ‹'õ4Xû=] ì"á¢?œ$·HÅA©\ê(^¼Å ÿV–·šꞸ¿o2‡RùÂë÷h^£-ƹҠ8 jâi¹+êþœ}þLƒ•îL Q@óMzp–ÚMaÔ[;ÆÃ ’UË騨>€×±A`7¨ë¬·nÃÊB…ŸŽŽó„¾]ÓæV `G±o€w NõºO’Ó W$ˤDÍï`ÂCiYÃLO¿ŽÜ–pÙt裗f uÁy°rÓ¾ %ì½½„&àdÉÚ&ФO³‹Õ»=-Ý€Ðw…y9ÛºÖ.ýøe9™Äáo€<±ç¤‹¿GW·Ú@¦aOLtÜPöÃÞ™$ˆ%&R~mŠ»Žq×ä.µ¦ÿò0Dhøè†4.¿"™s¯¨1ä{~U8—Z—ÑÄ*_ÉR9"Ó’äŽÞ{òÒG-i+ ?6UW0Ap,óg^U¹ñä–ïhŸ³Þz!¾”̯3ÑüD]é¿ ð»÷”òÜ—·s-ˆòÀ#ºMõ{B9Û:iÔ’œ8éz0uO¦o¼¶hvèÉ?›^#ª¿dŽí/ÿU¨]Ï2k¿:¦hGŒ$lUj|X'…¯÷“€a/¾Ó !òà ÚÀú·”eã¤}õ²„\Uöæuyý±y—÷,Í¡¼âb3À9BûM¸Ùæ3«Ë{ó&Køÿ¥þˤèÔÙP§gÑ~+ ¬2í Œ+wÚ6n‘òŠ\o”«N?FãŽê;QuŸXai´ï¾b§VÓ·6Ž-cr%%×/”89*Îãë‡5fåŽ)ñk\ÂR¾ƒ—N„m+/zÊ‘¶ae­ž1:þô~}¢ýÊZ‹£&,`.>½Šû•SžxeSà3_‚xW–¯&Ô}¤·«"'eíÚ¯9Ü#&¸y»!3Öí!EÉÎs.ßoôí‹eÛ8Î%Ò¿žv8Åi} ]iß8ξ[,²ã9°a$ Ý€®†dS—ÁàIFíïÝþ¡¼Ï(|¤UBc A‰n–öƒÂ§©í·O:Š-ƒ7ðkŠ?·Md¨‡ HKÝÚ>Ázg^#¡…ìóþh[0ê³Ãè‘BaèMá¹­¢lÜð*j:ÝÏwwÁŸË`IçžN••ùƒYÎ[ÌóG:v§‘©ÊìµÙˆC*Ê!„Ô(–ÒïÅCê±ìÛøÔ3é$-Ê4|“†·ùr8•Ø„zn)+Ü´ZD”U6Mßm¥Ò|ð#j á1ŒQN¤Äu¤ MŽ·¡Œ]‡†j•Ömçu5]ØåÐ4o’ÄËÝ‘b ;ñIP_%æÁÛ,âÙ¬ÏƵ©K• `OWHuRW'ÏÁ·çE|¥{Ù™ÊÀ}¦Ôã™±=C‹DM«Îi[=+[°-xª4u,Î…¬¬¿Ý\Û[5à¾xŠ¥­úé@±ÅTvâµ32CýÌñFN*þLò’8Gó¡«# _ÐE†Ð¿Ë¾›­ö½›ÿ_Â4Þ­l÷½YL:ÿ¦Ø+ j5ù3N÷8¸Oeo —Œ& ì7ëL-ÍrÚ¶¢ ¨C .¦¶éYĤ¤êäñýƒbÈOVÂ^Ÿ¢õrJ}©Àv_:¡C32¦«£ÁtªžÅ0‹ Û’òÎ!‘—è”Ëy¦œ¶uBï;@œ;†KÄ^ܤI®¢PÕ^(‘W‡Œw°ÑSŽ÷í.u÷O»›2”QHÒXs‚D’zkmðtQ±•k¾3áÚúäQ3eyaÈÛ¦æ;ûÈýÆr¸€„‹Poë#0nKu~¨µÒ¹Zhåõ®U^\‚ôï—ÄoHýÇ"º¬% 5ñ¹©Rûò®03¬é‘ì¶ê}Úƒ¯ÃuäV¥i%¯´»®ì«ëŠ y`æÎ´GWfÈëÁJ-#a„kå2ÝåÅ%I¦:@¯’ÒŸpü8ÈšHc¥šs¤V"~©C¯‰'ä ªËÉÈ\¤k;óÿÖ’o vOþ8;£S;õ*#A‘ õ Üà›?~Vq23â„¢>Mˆ;‚661ÔzÍXþÇò½T¯'%]ŠÛÖý633FN'P¾Æ]rîE›Ñ€]yŽú}Ñ<+ŒZÉXsñç_;×ýÖˆèõ”=m¿oí Æ¿ƒ1z8ù}?Ve±YŠØò} ü¦t”T[Éë&•N$nÆ{ï·ö^æ=Da¶Ñp*Iv>Ê!ŽÒMn,ذFrÊÔLÜå^nyñ„ßÀk õ:þýhp1ÜÁµ\Q„)ãý_[)uVÎ58Ëwbvÿ¢ëL ž#2GÛî?¦žh]þSÉ?Yj á‡hÃ[ÀÄ“SP }Fè5u¦ë8M+צÙ4Êæ)«χaŽ€Ã°íˆ,fìž¾×`+YèÓ‚áq¡w¡w]D£ôà­Yß§û~D5 ©‰Ÿ$0ÿÑ(NFLê¯AŠum6"¥»cÀŸ9¯¾D-˜uáto«<øUÿ¨ŠHÇctÍœfƒŸ½-d£„â+If·UAÎ,Z‚sÀy¥ /Õm”‹5tKd»ÙÑ ·æÂìÔ'€@lO2¸J ê—Gclhlõ¡˜(wf’ÙÂHWáõo1 Qj ¤©¡Ar5ª i"¨¶]j©R·»ÌïΣ[­ŒdîJA¬¬³¢_Ÿ?ÕÏŒïØ2ÔŽ–‡Rdéÿ£.o»U^š“K-_r{>#*îj»!›ÕJ®îº‰…¯¡•˄֬R7°F+g„ â¢ÖøsŸöÒk“¦I]ªáSºl%¨Ýôt?QhÑþÜ&¨–˼Ro—Ônï2ÆZ9›x-Þã8úF]MðW½Kúê´…-7Oiû|“1BC›”þІºÂ%”í„E´¨1ÙêZ)†éÚ証èðw€,ÑlRjµ$áÕcgmHRƒ`ºS¬lMöCb*"Òm9´˜³ûìðæ ›!èÎ]ãQò½ýøƒFÖBÕ¤O²<“æyÈÙ·QiEvL)ð£Ê‘ÄhÑÀ—’=­T&B9¥œˆ–]­óÖLŽŒÚ>KCtRç2)þ´6㈠Ô]"ðK—† }BÁ[ñB}¸FVª’^‡b8bÑÁrüïä Af}JKô³>ž±¾)‚ݪ˜¡é,Ò"¦ºªó FYøº³)ußNm埅6Ë„ÀÔ%ÓRàú·=Ù,…17†Q¯•wîø5ìYVtÌ6û=’¹gJÁ=Î'Öå(‰ñ¦-’ñ#„9oʼö” sl÷«23aiX:uIšQJ¼WÀ”G/ß…tˆ;§—Q»¿:ûé¡íÆÜÖ,Ö¦Uxð8ˆ=îw _äì‘e½¸Ç¬ Ø0{"V4ð;ûrÝ6¨ÀV7ï¸CF%-õÆÔá¦rïF)¸M„ôPO1Y€?ó^¨8€½ P_ôÕ®åµBï“È’öfæ"§FÕ€ð€ú–(òÏË–nÚ“j÷ºW(qW‚Ó °°oð.&2¿¦˜ðö´ç€¢Ï]Ä)ÃíN!¹˜tDìk2.îp¥Z Ôvž9íd?ÁÝ÷˜›‘{·‹/ ~¬Çƒ´Ët“,d Š…ˆmÔ'ìCΣ°ø›Ø”Õ’­ÒJ茒äP¹:õÒzüµÂ%É©{Hdkˆ@U÷K9ŸÎ¾¤ô¸²Â´NI\|Y>¾Û‹£‘Ëìl\Ic×I7Þ5E8>ŸéÆOVõ |ùeØ© ä¨T :;GñóþÞÒô"ɳJÙ`Ô“5ðØ>ºé9è™>¯å Qô]²•ÇóCA™SÚ§èëy€3âõW#G’L[6Vç>È™ÕA9ôÒKÂ"ú‰qðIçÏÈu õó¯4¸Õï­4µAb­Zöº—€ ’y$+Áß›¹{ñj£ŒM×Ê;îW BþÃn4áhn"Ñ0I4ÿ  W‹°ú6uUdÆ@ãSGä[žˆß¥üêë¹× Ã>0Û3äJ:CjíWÛ@œqÒ,Ô‚¨"{@í¶êNëïõŸ:žË[ˆ—m˜¸:®—DLŠÞœS(k ¥®:|b#°Ÿáê ZÈuܨžKŠ¿3ßzù)ªƒõõìÏž–}ñè=.ARs˜ÀÜ)8ûZë4‘»BÂmuíÑCæÙKD”HÐã$ªAA¢1›J¼ÚI¥YµËoY¡Ñ/ï÷PCí?nNRrÌæ’Îgéx%Í ·L7²DgšóŠg‡2ägÞ<’™“Ì2–8Xó¨KÐsÉÁް—NA^©û‹¹Ô„ˆcÌÞD—nМ”v>n¢Ûe'Ñ7KR¤Wós'8rù.ç~ ƒX¢ËȰý‰S,0|ðDZ¹’RKüæ'è7W³ËÒˆV°K”‹,Û|JÔ{Ü;=Ú§@7)’Ù4²KZ ª2¹7˜/7˜¤‡ö,.±m,\¶8æÁ€ªv…0Gžh¨¿Ààe7ƒôS”îó’ß#Ä-w Q¨ª¥{íàb Ûç>ÌIÚ{ǪZgô?Àü2kçfö8‰)ùÄagÊdÆnÑñ`¨–²±Û¾ Ÿ$*Æ—†!8Q@y$ï’L9_"qì°ovÙ$@áiü€§€É´ÖÁ}A†eÞæùèÛêG ’O™j÷UT½_vÔ*”¼› 2àüNcÍßÖ¡ÈonDY"3èÒ²²›`ás¹·Ìp38&­šÁ&£ºT_ 8À;ÁŠ×EJ«*¢léχµX˜ŸóŽG✩ö²@¢ C'mÏ˸u“dŽ|N®·æðjW†&ÍjVß–ŠuDŸö~VÎ.'帎ÍZxÏ9ñ‡k ߬ Ì~³j ú=ŠAtÿ2èîy¸{4îÉ™Ýâ2RîÀñ<Ú+ŠüB˜ÆTwÊTN M «é(ºQžã·žŒÁ®[+V'Ó\Ù°ô“E;çÔ ³=ZW™…è©{ä3u—iøJ§RàÐ1ÃFiA,pk%¼Kóy9Ï—Œ„‘·%¡PJ"5FöXPÏØÓÞˆ}”ð ¢Ú-]T‡È\,Í5XunSW‡Bʉ:¢pI‰ØííNß8Œ‰ã@½¶´D½¢ÝP¢¯ýWëShbÙ{ LÏgµèãÖD7I~è H õŸÇ›SF`Ìq™VÓ¯¦´(iAK…k³BÖeÐöÐið=‹NkPý ‰4‹6йÐô ¾âõ ? ‰ßü}E؉×W‰½eþZO(åÜáâPýãðƒ¹ÒŒø†+†–“æ ÷seelr‹ÃzŒÙ$¹À½d_ØÔW¹! [jQlT„§û'غ°(Ç>g„Õ³´'?®xÍxÿ¾µÃ°½‹¦†ªZ­ýH‹Û›pÁôæM2(mÂK¿‰ú·ù1º;.µ}ôÿví Ôm+àD#a#$ì‡äV‰tçgY@«ýÆÓÝjhÌB:@õMßd¬KVdäÿ1é±¶*¶žŠ§p Èàƒúg$1 ¦ô/YòNS›Ó 7 ¥ ãö¥,¡ïñ´Õ± BM]Ïr Ç,Äæ]¬ J #Ñ «?ÀHZù/¶ÕÕêr¶Ì:þ Ò-I‡IÚÞLåÅk¦x¡ë«)à/Ä带•Ó(˜Sݳ;&ÃTà{8f¾šÕñè÷¨n0ÈÄæ00/E´Ì )Ôx/Ì1|Íÿx¸¹Š’¥º¡ˆÉ>úåó¸?Yÿ¶ö‡ÎÑêÈÈ|" Bšjí]PLx‚Á •Õ ¸jA¾¾Y1·‘6MUìÔæê˜~AŠ•ª›ãqå)®×ÅxBM † ©:í¶ û‰§‰ݲ‚*jãF4EVŠM†›Í«ám­„…Ç¢…±ÿïÄ\Zh¿üü<’±,0w½´âåò¢{™ªéLo/iýêÑižß}[HaÍy®|Á·Ú­‰·í.n¹ñ/º‚ƒH8¿ºêc²ÿQÁ4ì ýò×—¿ÊîÜ M=3Žéç¹|c˜((]45 ÌÂê¥ X²¶ë"‘H.§%)«¥²0ÖIuíÀñŸêÔokz´/jý¥§2l<*ÊØOKò?$Æß‰¦öÿÔ]r¼ ç´éÇàkcÈx˜‘æ2(ÛmGB ïõ5—¥!g4}mcƒ.Тöóô-ÕÍM­}‡¬\LjïãïE;”G5á»1¨ùêÐh‘ºö¾Ë1ç¢kö ‘Õšà¡Ç8ª›¹<=™Î²o:T'¦ ðêu6ã9ÛϤ»¥î ?òI_Åaž!^ÏL'XɃñxZ£ô–ŽIST ’[Ð*dØV¥?“ …ˆS¢õOJ/_âдc¨Z a«4[˜œ1Ù ßq·¦tM\(ªþû8ÂàÅ|þ&ÑÞ䃨¹;d<[ã½Ï»ûµhD÷hR±; g’ çeç°Œ|§ˆå"j`“H‰†Œ~‚g#UÒn;Ý×£TèC.ë’ˆ2}¥œÄá Ì©×i{øúý6¢¸ª®‰)öNäDDhbÿå"7&,'ï|y|«Nƒ©”éBÜú©‰™fY$f°b\&ŽKgf˜…%½þN2D‰…åáDøb+?õkWöîžØ‡·ú±ô!ð—qðLt|Âè–ôi!'Û”@òvË3ËYuKõ9ØÿÈÛå@08iƒâéHÀžd—s]mÎŽRo=N‰A|Xø+Ðià¨ÝàÝSþQÚ5¢ƒÖðnjã&eõµIŒ–Ü;œe5ò½ÞõcòïçmZOäfèsÝ–é3eþ`™Žûw6š„š C8;AëˆÀÔÃi´{oÆË-×àbO2ŸÌÛpg†}s üFŽBÖAAà_æIåO0Á@·økг²ÅÉpª-Ѽ3M͹Gô!\R¨Ó? 7xb'“p1 ¼RÌØæíkò°+æ^¹~ñ¯-ž>ª²6ä'ÝmxãÚ[~èÓØÍC-¹6UuÐÙÌÛq÷'V­Çc\õþ°4¥ºE‹´ü|÷ö/ñç©üè£Fï,öÊÈ=‡ˆ¦)lLJ™sãÿfuœÞŒSý½¦Ïÿçü² îì G±©›ë«Ø¡äã3L`?„*;k\Þ—{tÕ@Õ"ÃÏ÷=雼t\C;ÚÎDü@Ý oDÍØ5¨e 1véÛòžúëYú„«PiõÝHúZ9ÌgdÉÀÇ->§™ixôûËñiȤèÑSSÈq—Ô>©5µ¸sïKø¸Î_GPyˆXÀ±YxXßC:hlSç>7 ÉÒÈ3¿B;ùRÛg,¨….?f%ŸNqÙÒŒ©Ö_Ä!7eà®Àé…=—†TV—‹Òùù\ýwøJƒŒñËÐ#Û.ñã}ÌòF[¶ †m_Ñ©˜Ï¥fƒöæzÆõãÈ€†—¬>ÖÃæb1ÌtæPÇ/œ Ñ?õ§ÑxNzÁGT H1¢DBþ/ü«¯ -Ší–ž„¡³"&¤„L‹¡’0c`­n[Ž„ù„Ž’JþU½˜…ýš^>jÑ[°aÃxUÓJÅa+•bÂÇ­æÅ¤K\^-Ð)Ê‘/Ê'P uCÍÊSV.’«Rî×z3fRž:ûoÙ É ®ÜwQóZäi8ÖxN³!õä CÖµ¯³É?%’ƒ°9õOùvÝŽÚ¹©³7&žÂð×4Ø ©ì•ê={yÛ É£/V˜¡˜«cë|Ãó Ñ¿‚öÜŽ£eoL¡eVÚuänÕ¿âªRð5ÔÎ.òJí$ä &©œÉúc~h…½¡xÚPÓ° Ïéb¸” '\9a~EN†"íÉÊÔ*D¢ˆ? üãðóÇêBƒ¥÷è.Èž™ítzÄsVó$zÚu Ò«tTÝV@ 4êp~œ610ˆ_ìP‰£˜ÚzÎV ´U6mc<œÕ¥B—Kœmú‡xä21­îhS¦ëùSšZGþHví\ñ¿æJƒ^-¨¨ª,kêQ­£Ò8i$ef…7CÃwÿÝ£ÿ…<¶¿"0sz:l7±jÞx(7î…‘Íüæ}•éѤ.µVp̹”Šº[5]¼YLË‘ •DÚ5™Ô¤€§ÔiƒZ”üïÈ<®¢úE”éþb4ïzÿÁ£Á2ÙôᤕdûŸ¦¶Aذřd¢ZÆlçÆÐÊz¼ú“‹®§áÅ> ýlì&I‡)ué‡ùKŸ‹,¢²Ž¸Íoñ4™ŸeZJªiÜ%âZ}öáÿ”•«§.Dô\¼7#§å3%ï]å# ’ˆ¸ŽÌV›D²³ñKŽÖé^SÞE¯ÙÍôµÅ¨¯192aÈÐóÕÕ4Ä1éÝŠaä7»£êT®WÃݰú_útƒÄ¶Ý<7Ÿ“Ì^ïèÿš²Õ‘p€CþK±@fðsP¿t2L[âX±FÖ¸|÷~—.Ê% ¬àˆðÊ$M±v³$ÖúTYhêÜ=>è\µ (†®;;Ù:ªñpž déúKK¿&ÿ~„Û¦‚Š$­ n¡s¡eá¬Êù¢ûmiÀpQ{ÿÄIK¾(ñ— rÌX Øl@^b›‡ÄÚrºîâ”ë‡6¦àНÌÓðNL‹î®ä”Ýpðìa§ÐlÝñÑl%_žž:ÈòCÕ½¤Q_ÿ+`û/Pªýñ9["É팡,ÿHòf^¦é £gP÷`›sàmÏ$J@6-–J'D‹/Ü~PÄ©lM¨:Ÿ‘¢½à\â4Ó þÊŸ9 ¿@î`J|˜Z;@ØÊc†‹”?9vù óÈ¿½| …þfé‡é¨,²àT‘óÇB¥0޲ ŒÀlÌáŸßþia?ÍcŸ»t-$L<¹^i-—Ør2¼68Œ^%[¥Ðeæþ Ò4. ›„jíÂãøQ——½@g¨âQµW ×úª·úùötøPM$½#‚o8ÙôÒŸwsÔÐÍå¦ÿ³1B«µRj˜ ¨xbœüF"üU¥‚ˆ·Nò؈|fŒŸ ï]%>õާ¹÷I¢öÞLFûóêòÜü4O54{&y­ô5prqµ¹ž]^­/)CöÜõeó!y=om’Æ9eËZ?W'„VJÄÅó4¾p KQ¡2+y@Á-à\ÚRµœÜb,€>5š‡¾„Fëäö@èÄVš¸c¹åÕdk0æl¯%Énv„.‘×4ö1²s²Ý>C¨U‚È6Ïù®‡÷›çªÅõF•¸2xO爮ÿL«Œcy0kâvRŸ˜Þ å1 Kú[Á»%• àúºyïZCâç´ßÊè–">$¢óƒxpŠ®–Â`À®ÎtWlaY›vÁ`¹ÏÔ­¾^½¿>Koä’·† ˆ°ç…Ççc*ÇqÇêÝŽ<1#QOõc°J®N’àd1 bÔgÂëæWèð9ÂÁ-Œ–î÷Ã}}²Ud´æ¶aA>@ïbzìÝó8&⢮£øL v8åS‚ÔLÞˆ%Ƚ&šöîp×x³C«šlYz;Ñ'[A¹Îêß{º &_Ô/³'0×Þ— æH×lŒ(hB¨œ?,¿SÚ$Ž’ öÃ?;$n çƒ%?Fa'3Øá¹OŒs]{¡i$D˜b-†ù[o×OtB½Ó.Àpº‡ «;àá …ºZÆ<åµ™Np“ª›dÒhöƒð1ƒRði ½Œ-à yÂýfÅU%¬Þ“/î~uÇr²âYHÇ*D ²š‚m/J¿º†1òO눢PTõõv»”U+‘MB¯Ò7U¼8ÒäOJ•wDòkì(S`°`¯†5/jþYÁÊ<Øßƒ¨dsßaÀnʃ‰)}@ÈnBðƒ¹l·™%yÉi<¿ü]é GÀøó9® v©y1ÆâwŸ ñ{­5-|¥ÅV΄E:µ«¸"a'×óܱ(‹¤å7ÞdYô„£zðŒì—¦‡(Þ$+&‚Ýý:Ÿ C ßö€é¸AÀAóÞŒ Ø=L´h‘Zi‘ 3pUÇH‰Ý»W¦8zas„§£Æ¼vú¸•¦XÖâ¶{¶»ö»jç®B®’ë0ztQÈòƒ”3 F~FØe˜c¿°qgÄI\Öw¿±Ýå“%ÝSú˜èÊd¥ŽA¡úêkß9p˜P×ù«­êêCJßã)í=™€¶ŸgZ ºŽø¼áSH " p:š&pcû¼IÞžvZã”d²Ý3 ÒMkûè]ä2û302“wñ¢ÎRÉ-1;ßç¿ÄêZåkÜLã X׺¯A¹°G,ÿsY¢QPÚ¹IÿŽP d¡„ßl.²5_Þ)[ú“]LŽŒßT“NM}D_#-’Õã8˜Ž5£ªøe’}: ;貈>ž¤¬6†žU•;‹oGI Ȱå)¶&1A_Ïù¹|$–Ù¶‹¦¬ÓÈvŠÈ£ðYVÔ)âw·Ó‹0ˆxÎD¤#±Æû¿K¶ÂšOCDêX &73÷˜Ë gÍNŠÅÿ!@?ï±ç^ Hât&e[y­¶•Uwy÷‡3-Ð…²¸úBž^:UnÀô ÝnS” ÄßäX¨´?c¿ËnMfu=Þƒk%;BjG± ^˜V«–6°R Rì>GÏ?*¯ö:#þ–ùh›E¡-#N*a2ƒº¤xSmºó¹ˆæÜÊu•‡®ÏýÒ´ÿˆS^–ûv܆AŽ6­J&KwP ìfr}«¶éä_„Ud݈ñ– ŽtÃÖëjÊ.¦ZªÍº“Zl9ØÀ S6ç²úîØòù„í“¥ Õõ2Åœeô ¢Å1™ÜØ¥š’ãeÉW0Õ•¹³¶Þiÿý²OÊ»–þ»n{Ê‘2‘CÀoM#cdþx‰7³ŽªÛöé¸vŒã„ÃŽšãRtŒDφôùYôá‹j‡S/¸*>E«۟ä‡AõÃçSÀ­ïI¬u`ÔB( Ía±&9zhˆ¿¿´Ó\k Â'dx³é,‚ËW‰FÖžDß›n´ÖÕN°ϧÚÀ¨²(Mº;N+L¨å¢ï V%IuŠ£G.øÖ7ÐŽš£¯È*cWÈ6ç®dEØÿ…LîÝÍÙÕW‘’„X‡"U»›¾ÍUúu}Â!dnöYšîbˆ#¡èT·AMÓ˜oçæÜŠÿ£W¦aL÷Ií ¥Õ³‹°)¯_¨°}ÀHw¡Œx,¾ïPçz%j>ÓI»Ú‹öp„¹Qàñê™k 4󉤖õõ#ºÇ\31C·¼¢-ŒËØ6éáú‹ÄêFŸˆ"•Á?qa©wKp¾Hö@¤Òñ™Ìyí”3«ò¢þf|zßpáÌ‘fã´hZ#Ò0…Û,w„˜ÿÙVä ›¬§ô$zÞŽ©f”›Î`½Çg¸Ëä¼äã t´`rLh»fVÀ(Âê¿÷§Ì‰jùpàmRæ§U¸³§7wÖtî¸v<ÞúHç¬ö²~…“\ýÙ/Ê£tçXKçÌ(ŒÉÂâP$´ó*ÔãŸM±á8™ݺÈuè?Áô–¦]6b³!n$oy±ÆS4à“úÅýcQy8`H×|½E\º¿Rðy†0}õô×Sг´>/6{A(HäçñÈjÜ;í-#™³ÓÈ’°qöÄIÀq•jäülUQºÄ÷&ÀÊ{ ¬m,°ùÌ4+ZYf0yšDùàègÌÐuã \§‰}k³Ø)ò1rB²t‡’ÑF ¡™ipª1ÈV;ÿN`‚®™?À‹êÆLŽ˜¾>ùê㌶ ÙCBò,› nøIòî¯/ÇɤŽ©Úô¬—¥‚嶆ø¿:‰¯¼@ ø$¯âä‹¢Ù+ÀÜD×£¾#F¢ÛX0Øà†ÌôT§9¹Í¢ Þ—o¤£o¿´-¶Ý³,>ŒZÍŸäK^¬j;€7pÿm%òN¬– qBr²Ñh»ÐfžÿØ8³È¬Ñë øq é»e,&ÛŠeºjÉDû/:þò%&åÌDnÎaôG•‡CP1ØÙO§5âóÈ\Ñ‘ÊZ®¼ÿy…Nö÷áBH§(uЇ–%‹„•øbªæå‡Uànu}D\% kÄÃËrÒ%$IÖïŠ;#´âÕšGBÕ!Ñ{;R·*‡|šƒWæ%ßJyϹõ¢ ƒî3mϦ̩1ï]}˜€Á?„ÓºÊrW^Zs’Ѳ û¹i»­>fb§’†ol˜ä÷*ô=àø3ó62 ;pHöIåSÁ–Zš_sœÌHíxßÉr‡ ¹]`釛‘¾õ±}׳ÿ~,«º>R@^œŽ”Ôfwl8Yûn½piZHҬᩰºHÜ=U{¦$Ê"¿Q–<†8à@¯Êãª3þ q'«¼ÞÝNrt¢¬®E¡ š`§ô` OOË·@‚¾Zì~¦94£3ßd®-¨à'J¸[uP¶pÀØ¥&Þ)¹{)®äœ/â'²©©àK–lzñ¹ZbhŸ³µ°9ÊF/ÊR-¿þ uZÓRHOú 0XsÓ¨Ô»DT?ºÌ+tÚ[ª†¾qÁÙ¤6¡RÑ›%Ê–+|˜æa”=³FÌâtq… ª@Öëjaq¨<Ô²†q¢²O¢;Hç‘I ,í”4M3'Œ^W¨xRMâä9þ5ùŽhÊ©‹àÜã-~O~Ûº‰ì*S#y&âåFï,Nê§îˆµ”ðm8êÿ÷¼e¼¯_—Ýy<‡põ]DKÃ>ÁX˜Jõ'MÌäóäÄ™y "†Ólý]ðKu&\‚À-“a¨D(¨ ÖâˆØÊ¶+:÷1%+¦ƒŽ‚÷¬AyxÉÚ(äÆÁÃaŸX^€˜o)Éd[M†ÙÝÙRÔ¶Y_’åÀVÿÿuO¹—ˆR©½áÅ«¡÷ÿ_ÊE¥ïŸ8P£•·ËÍkl æs½{ЕQ(øpZ€R Ÿt ˯˜äÀÜ—:Y ¼ü&B©ùkXGºý¥âd²î`êª9-ÇÎñˆ.êÁBÄrW!àj ¤Ì|…À}_ϹÒiÁxC˜WíyMFÚN};lJ^[¿‰–ªž)ÿºië†yaw'E ¼vu(?ØÂ ܬ㯥Û1–Ç(³í¨Y¼›åp._ö6’g…eëq¹Kà£çaî\·¤ º_ÑtìË@?G”mä^Z~Z]I΂m¹FZ©r­sÒæ fÊâN ìØ¡Bn©]çS ²Ø1ùº’¥–Âj6À ‘°Õûqc@¢v{:¾¹¸Æ×´+ùß…é㉈üƪ8Ìã¶ §ÂiMcÖlê>DþxGµ%1N‘¨=»ngÝÏ&·ØÝmÁö*7:³ëYzv<½¶Õ aÀ-¾ëú¬ÇæMœwùy¿1VTé½-hĶ+û)[pãïz&ל­\B'§JÐ#&,[A<ÉЂUÛïƒ_xÔ×Zì/m¿ÇÙ·˜ kí-Ȧnï—2­q©âuz¶á'¶Á6tFÁ´9E°@éW¡°è«ÛûFú ÀÑ.— eÐjñrÒ8Å$ ð–{^ÞåžÊ¯ø…û\RãÅ趨â™à±½ œ¿ÞQ:ËþpýléGE8Юª®PD‹½Ÿìj'Aq–ÞWõ ¬"È øÅb\ýü"ÂÛÈýMÞÕÁOÿ–Ð!ï´q²Óâ¬wì®&fÊRÚÍt͘³(§ðÄÌïM‚ò^ò—#öU \ʼ4¿!•;$š9‹2³Ý‰ój¿Ç1.˜Ś†"Ó|±”ÜKÑjìÝ£¦.šÿÛr…Ú‹çrDkõr%œŠý`â«Aþѵœ/ˆÒÛ°ÿ¾:A ÔÄ^‹áˆ³euðx‹¾§tÅÇG.ü0çÚCKbÞÌ•u•¶(ˆöC9Ã5I¿ô¤ða¿:iѱ×Ãý|ó›Zˆ]ó¹Þ8n†”ˆßõÎâ<@ô, °E8Âß=]¸+þˆ^CF”FI6*ÛS–š&[7·¼®>-¨:õ¶Ð²CÄ«±¸°âö¿-ÛèºËWÄûÎS­xèÓC±àeý€c§Ç EØ–ÿ˜ÓÊ1„Eÿ¿I•-}b˜é€Ÿ×68¨_ÄÝÄ•AŸÀ1ëÔë¾ßÞµN‡5­^#¬ Õ¾èCR°‚ºGœá= èbm¿’˜…­.óᛂbÒUÏ_öºx©ޜ ÇðB² …Ç ì:Pò›T0N8òšâÌÚkN©ðJíE›M¹ZÇXY×h•'•Šé‚NæÂ‚¢y(µKϧUËÖð»ó8‰-ÙGt—«}ö¤íQö”ˆàÕyTwöZk.Ù „™%*eOù4f€Vµ–tL°¢ ù—D|BDaàóó<•”ÚHY~9!ºtv³ò…,Øp}dŠ ­´  ¥ŸLVFôŒH°CO&¿NŒØŠ°Gÿ¸š{K ï´©ÚÁ·ü¹MQ%¬ x€z÷§¢•‚øÔ 걃%¼1©,)ؽ¦FÑN·œý)˜¼ÁOU:`Ýkwöázž²ÔV—M|ÆýÄ;.lIŠðT-œ4[o) ZÔs”l× r?jì©Ä‰r²žUÁ ‰µs[±Ü 'ÊXM= Ž¥#×cñ“.0[('’ »3+tÆ_@µ¯wÙcª¾ÜJ-äjh>ÐÂB–¦Öò„–FÕáé‰ Îb¥ˆ:Ãô£©]œ ùe€åö<0{ðÍW4LaVx––ñ»™ÝxcS_¾=Eˆ&g5+0צ–¬lò«µÛ(&ÂÎlü‹’¹[“ôl“V X*-rõ¹SE$3¸ ÑÍÃÿªîÝç†àtÏ5FüDUàX°U‰”„{æ¶ÊNRx­ ÜßN4v3sáöý6J^(–XspV2J—•éë‘S†$L(ogj ªÃ-¢6²‹‡ ÓjØÐÙ•®ˆã¶¸1 ,óöÀRXß„t Ö#6º«nÓTé¿ß1 ù÷7e™:T¤Z}›×š“kf2\¾^üDßèw¤2š;ÁŠdì}.Óyâe„¢[Ãïëec5Ðâ@ÖòŠˆöæ.`®$ãÜKñ’ëuúw~/I‡Ï4Ý_K&OçXý¥ËG³¡]mŸ¸+Œo…Ÿ¬‹h]ºV‚¡¨‚žºŠ]ª'†Nø¤´Q 4*‡A¸œ>«Ï½v8ÆXx+¢¼Õ,j€¡]óƒEÔÁâÉgæ)4˜Ùé^sÞ4#÷÷Õû™âÍ3ÓšºúÃR*¯=ý·´­¢ðla˜í—+DÇñ*äbV³8-2D`ܹbŠÜåƒï}¹` · ¬>Ó>Æu)ïò¯¡ÁÌ;•—€¸ìª'ßSµbîL°ÌlúŒ£$î;?Æâu3`ãl(æ6„ô82ê™'DM|úž ?†]Å‘KbÓ¸º-A¼m5Élåer¯áuqˆ˜è6 ôÎʼn᷌ùCI°èÖ¥‘2ιdîÄ“~BäSÏ ì¹øgéЋÛ|_g5sâ^!æ-épGldè¼?H™«Ä¡³Ãa7ÙöÊp}HåñÖïåc¦â’/‰šå Ñ4…3(‚ýùr) f¯ƒ_¤¼ny©„?½Þ^dh¥ýp–Û2¥]9Í(™O^/ÖˆWíë­á¦¢ soÅ!5‰ÞS׿ê=~ȱqEq ÷üMé´cØ^>¾>^¢2ÖNù§¸/âUkC…´/>Ü©ERð«>îlNƒ:&‚Þ7ÿªÈc»SÓ¢-0 ƒˆ†gO¦·åú$‰#‘"Õ¥g ü7BõaJö]£ÙFº¡ùÈ•B€}¾vžË:â|ܰ]Ùçµ(»Å°«iœ¨W`<Žöõº–½Â¡…[à:{‡©—£ï“ýòÞóU­?ëvœ‰?Ç6KqÒ¢©ëM’·Ó,kÕH¦ÛEn‰.y­”n3+ÖjúÑôV²³³’ŒÀì¢-E?Ý[P׺˜p®RI%²Øåˆ½C¹ *‹Ôw|Md¾'g!t Úw´üüyC–Qâ±<Õ|4Ô™ømÒLŸ¥LÅ/Q†§¡À@Ðö@Fç-ðpLÅ%®¬U?ÀW‚-U>ÝGq=´†pÌ„÷Q÷«¤˜®%è$#MM㦡íõË"•€Nùa@»GfMY‹¨ùå|<Ϫk¨ÿësà „×â$YVòBwÆãHú7 Î"jfâòzò×H'šý´àY­ŽášRÕ Øi»"œì ¥µu‘ ´mÞf!Yb,ÜÒ°48¦h韑+_rî ôn*ñS7*žá†}†ŽúÇEB èÒNÞ›ªý§ÑqØwòióg¢¿Ÿ½ó½Ž %Ûáp[왊ójMœ„Í9™2_®¡€© Ã2Ô8¦\” œ¯ÖÏ$½nK¯•`;Tý3 âá.¿)¥sX—ˆyJ¾ÊíV¢êÁ&…›jíæ€©ý¸œÅÊ\ÔQ?h3# ÀU Mð½gæøÉ”APJF‚h£9îR–ëÒ-p~I¦—'„®³ `G‹²Y×àèå‚cS;Ž –¡hf5;¼˜ñ=/¢Èú£Ý3ÈHˆ{Š'oXZéy¥DeP50:ïâôpº KÆPex4“³oþ`0òzõ$Ý'TÊ×'μ73es:HÎeÞñ[àŽÌ@x;q¬ q@> ×t!ðã&ˆ ñ ´ÃØÄ{¼ŠuA³*ô¢œç?Iw¿ìqóØqóaU³3º|\„’ædª® ²h>RsÖ£xôÒ€?G9Û}}:ö[z~¨9÷

ZÄηB7a„ä?k¬™+H1ÞdƒÌz ÕÊ?‘ðÜ •¸-~Øïÿ¤â49uQjöV›ZÍs¶\OaÀé†Ò^6™Æ’oÍZ7ÂÝ:ò±+ù’:Fƒ ø?¨»¯Žã§õRÆAœ“* ø»×¯ã¼º¯kª™k«^I@POqv‰.!u°å”lž¤f×îïH‚ÜÒmý¾Ø5ŒŒåËEè >ö1ÁóNÔ¨& ÔÛ `ß"NAYh¨Î„á¦;‚Æ´sU «ÑRjÅ÷*}¶‰i«Í¯29(¹K¤©`¶lèöuÛ5^„Çë?wèTgIÓŠj[7Þhþ`”å ÐÁ ¾B7¥KL „z"b€ª.‹.8¯ÊiF©™>â%Jïý­ÿ‰–÷Û‹Ëq@kîN4AÍñÉuÈÚȆ£P’réÔ¦cÀ6fbƒ•;šXÎ[Ÿ~ÇP‚mĸ¡ /!x6•©P2+Ý8gÈ_µëÜù˜RLœ4r}ÇŠÆ'éJ|ö˾Ÿï‚ŒŒÒk‰épÔ‹GHi+Ä‚r–³CÐŽiÈ u¯×F¨¯¡/^½MžQH lù±(»ìµ+St$¿sŽÈ» å:ìߤ5ª‘γbEm°Õ7BkŸ—:}>ab;¶ôQ’MKä­Ã2ò¯Ùlaì^¡%ñâ#8¦Ã[cq–´€ÁbV±çRfðŸk©ÎGˆFÔ›_8äM%ø),ÊöÑ[9B&ù$>¢Y ‹œ¾$—TQ¨ÿjf×uj©Ê¡W€mò·…˜ZñXZŠcÉn2)‹Ð°%ü¸Í(Z³ Q–;¬–¡hɾóAy[“R¸°;±+­v` â+“i3Þ?䫲Ù…šÇrõe7·o‚ý«– X¯ì*ggZÖ¾L å^NöŠT2÷£<,Aª<ƒŒ—'ùƒ ·P£°½ÎäÉáËbØ:ZÐÕ *nQ¨º}¶9‡@µœ,QÄ…Í”¢ïn‰¹kqC¸eƒ•Sòð?-÷=Ç!´«ÑL¶¥)ùÄ.œí:?“ÑÃË€8ÝlÊ&p"eåõ%k‰ÃÖ\¾5ÊrøhþVµþZ}CÌ…7-Ù¿†Áj^°&Éë7ܽÈ=`Ìb(׌¹_£ï\ÀÌQn}TÌLäHƒ+‘Ün*Rútµ3¡f"‘hw°‘Âü9àJ-¿Ðl>péˆöJ¥Ò=ADR û2)G÷·|d—ðõ!¦ÂÁ½Ôñs)õö”ć# ^;·.~þ¥°£ãçݺ—eß‘>—£$¨Zššª`7õÙùË‚®ÌnZÉ5Á•oÐŒ·™ûíˆØ{ž¤Õ²\h¾Yqü¡R?!ÌÛLNTTÛ»‰š> ˪dÛSR[pÁÚï!‚Ù›7v~iy߬7û¼Õ§I ¨ Ãý9Düô"bµø‡ÔÄF¯è3.TDb1ï’G$pÚ£§ «¡*³/~$h*ö©ÚæPy*•¦6–6ú°`_ÆÐÏ:þ>Èõvð¶)7ÛÕ Ð&Z4±‹Mâw6AË>,¨YBS¸£Qe¯–õv„„­—t,îhÇ£ŒÂµpäi†§T·á@O±ÇóÌ…+lÂVN|È•N… ßÏÊ…A8ù„=LLßp7€íðåjƒ¨¬Ú§I ß·†îRŒ ²ü‹j4[¸×äwJ"¾‡3¤-¢%þH(q£«Ã9©ƒ¾›lcaÛaÞ2WÚôZ4z†= ÷Dz£|teOe1‡½‡¶iÚßÚ)~³:ÝýöüÓÿM\ð† –áb.sI’…X1˜ÆNÙò˜«[Û¥ž†7•‡ëãÜÉÀܪZ¹pMS –M.¤E¥=þˆ‰‘wŒÄƒè˜%É6?Ð܉Œ]Ñ—C”3C hÜ:ªë’Zù™ßuGRÄ ÌAúÒT ”–BmÅ’B4ð”`Ýãz-?ys|Þx`䇲Ԕñ±Ä0 …"®Q¨ùºäxO!kwDŽÉ=ß3ŒÎYÕ@e3öæ<ÄM´£ÐÁ+P=⡽sœŠ™X=ÁSý¾ß—,™Š)[ó†Ò"†d"ÛHy9H´hOÊÎÖ!ïñ/]âd¤ïÐê{•™T›;Ÿé]Ìî=.S­cZÓr*OµˆåS˜ä¶nÈ’6d懋쀭§ÏWG)çö›HüVÀî?° ¹ I@å¦5@Jޤ£Ækª;„°á¶¨¬É\A#0hgLÔ>v’>WŸ†r9Ÿ™¾Áh¥^0殸é-}Yý˜n>“äuŠn9wŠ=’˜²K;¦(S«ýȰœÕŒ<ó_)ä*2®ØÒÜ4v4 µ#HqŽ]s dÕͰ‚M×—-tê §ù›? §i é+q ùio5™Úñ‰hu‹3A´´F‹ñ§eçqŒU‡¨îÜØKÓ_°ŒÔTÕŠbŽžöìȱ„ˆ˜‡Ôø_-Zr TœRrɳwŠJ&:g`Ô à“þRû­Ÿ1ÈB!bŸ–³Ôsò›Õßµ¦š$¤mýH^‹*oì áv|•KdN°Ö¦jÈ+…h½´¼8Ñ)aÖ…¹ÒjÁ:2²ŸZ!æ Vo€Xüý%ì˜à(„ÆZ«Éms(0âŸÃ¥r‹{˜äHŠâNÜŸW)¿Â®³À9ùehfšÕ1ë~aQýS½ÎÁà"Ô¤lé®Fý–ZÎ:´ï~ù")©Ø`½ž¼±x;qù~ûïw>´ %2ù[9ŠûÌ!-Ô¿n"åTÏMgü3¾´lÃU]}>†ç [•‰ä7øäŒ¤¯Œë“"ý›íÙ~¥+ö½Y[Ï1ÄÝ ô·Ü›®•;¼*ÊÚCnô²%:G˜õRRøe—…EHC5ÊDaíÚëmžý—ð̃EÆì³±2e=Îj¡¬ Œ|$¬†àY~ìȪ¤b¦ayHì[`5»-T4°>ôíÇÂÂhM¼i•O€zÞ7èQº§ã–Eª´`ˆ5úÏ2¤™.ý‰F~°Í†’g^Oƒ·*OÚ*Ð øAj)°uåùâGj´‹Í&ÎmW •Ž… @S[øÎo;ü‡‡Õ•k yÀš˜¥òš{¤íIHx8HŽ–ÄHÒØ®1IÒ ’äï„€Àv;§)àôfg~ô’Ê'X|Ck'„»®)i…˜·ŸÊø;úÈm‡5 ÛöjF̺W²[sPo‰›‘Éç¡‘’¬(ƒƒp>©Þš²›d¦ò‚÷áyƒ´Ë|Á Þ ¼ßöG“¸D|húåiŽÇ« ¯ô[jC&(HË=eVyTºlqÀ´òSÂÇ»W`·§<ÿ^•H,u+c9ï•Çç —ý²ÇäC÷ˆÍ¹f‰õ’1|¯ÎðzC‡HÛ€\Îb4h#ZJ 8ø¯8çQŠÈ-×ä&H¸ñÜQìp „¼Y×î@o‹&?aZK\ÇgÕ§!Ô¨í=‰+¸D9†ËKµÊ»kJìˤMãðÈ”@ ¦?’{¤ùiÇÁc}Âé•Ð °9÷FTÖ:M` h“bY%ðò‚÷ï:ÚœÙ7Û0}•D‰šÒ­±tÂF—%*óEˆ‘j$N&HÅë¿)ÈúgmƒéÝ&—[û(¾„ÆgÇ¥æbg~¸Téêfî×]á‡xúFÑôÃO¶ €³­C:qõ ñ{Ô(Gh(µÍÖO›þÃÎ$÷‘Þæ•—£ÚK]sùŸØ­ªf’¹xì‹´%èæ#e>™ ¨Ûß PË8˜éÄHøÌªH»t2ßxËpsrÝi–ó¸{cÚFÝÓÊäÃh8ð>»ÓwÞziä-Öu¸¬½k9O¯Ûê&`3!ãPÉïU C‡)^íF¼™KaŸyvBç|”Ø10¡Kõ«xFj,/.ÿg­ ó ~‘F·²ô›ë”ŽrŽ¦Ú•ö´Ê¤¨UÇ·ˆÿÔÿ&sÑ`d•à„áÍ3³Z³ QÔì²"üaÌ4g[0–ŧÀ*[¾h†MŽ‹CŸ Ä÷aÞgÅâ}‘Q£ÍÑ_Fp¾]kØúãŃ`#‹³{»z+¶t§èŽÉ²ÔT_¼$+Š%A¡„a䉡ç5õo–*.Þ)Ü?çüÉ/8Jºª]H瘷E~¥>a4r3NÀ·«‚«0<Ðé3!Iæ#¯uâãM9D²Çs†¢‡¢n€¿óó8Ô“R<â*ÊN„º¿È8jŽh9¤5_þ¹àfºÛ‡Ó5åZ³Hê8Ñ9dŒÚâg[;°¤-•ª>´ÆG\AU )Ûd @!;ÄÚÁóDs÷•_­¤ûˆeÕˆŠ™øùˆýŒÍއ„ &ñ_ œÅà,2¶%xI8XÒ„dÓMb™ S7}ÒÚŸü–Ÿñzƒ; ~îúUw—Êe6@¤Cßí qC õw禉rQXïÀùH`ul| WNÿâ®ÝœÇDOÔEžÓ†½Öþ>’/YëX9ÛÚ„î«‹þð™Ýh[-DÓ°´Õ¾3\šs,Í#a·ÀK%PÕ*k’Dq'a ÇPzg ”¥# XœbLšš¿á+FŠåB©Ò_h|·§‚aur¾ÎKZ8ѬY®3GBŸë!Ý’[¢PÄcp†|rýá4~ë!çöè¶g¿½J¤9ÅwÔLÚY¬Taœá½™äüݘ‚k;_žÀ§Š:Ì¿Ÿ\¦þþÞ7÷‘ ÚW¤CYJÕCs„yàK4>òŒ¥±ˆÜÉ›™úqtž¶É:6““rÊÿC³¥2„=y{4\ãÀhrÏi RM&©2J*Mú<²µDïëg`êÄ{ ¿„ØyQÛ O6ñjØ4B5í]‰¦åñ^nWL1ÕA>"ê~o`{òñ×~‡:ÑÇøB7•íCiL™¨c,ööÃc<©ï㇗(];>?wœ(f>,çi Ñ/Ÿât‡/X·t˵š·,Õ;‹im;™»rý¶ªh5%o’ €õYÍ[3”hoo‘0'ÝWR äñ•ìwµùÙ›J̘ÿ„µ†_üa⌶ˆ—ç÷A‚œ*v޾ú É”=–Ôlƒ¤ý~@›´…ñ&ù”b’`o¯),f ¯æ-S'£&ÜY¼ÌÛ}¿HT…×"¶[zIó¬¸4Ø)âJæ³r½€3,½}”ìÿA’M§ô“ŽlÍ­¶žNŒž]ŒGw9¤'!§éëí!Õw…ÙŒ€Kž•#ÿò÷$* ›HÜœ«3O~ÙCF JÑ)ÐlhBI©Ú —Š…ºÞ8?õß´¦0_ÙsÃG+–~LIþž…¸Ôæv´l-¾Ä 7õG{ŠÊñµzhc·V—Bo«®4llÝEÃ6ñWzåÿ ¬ïŸ#º§’QÍÿ–Àî¸!Ô²dÀ>EVf$—IƘSPÏWt‘«©B÷¾‚îóÛÍ cóŸiƒ±X‰Ý¡²GÐ/%ÖÐç¡5—Ped‡Ôp"GmQ³(ñÞXnf"JêÉg‚ÙÊùλ¸³k÷Äj᪻Eö$è"œž!ü¥ŸÏØ štîdH©qƒq^c)à„ÍŠ¶®ªŒ ñc€Ç13fqÃøGb4­^žÄýµµؽÌi˜Ä;ÜøÔd,i :!‹-já´£à-wLuŠ"tM§‹Œ *eÞ´0ÖÞ.”%Ú1Ë¡yþ{£é™oÕ´Î^j†.¼u6$ÿ(š~fšawj?y­ ¢@1E„À ši^ãÄý¤ "èìîžPx¾i>Šßj­¬¹ëcSº³o"ìNÂ%2÷Ó¿#+`ÓöRÞ°ó‡wéX´Ý.4, Mü<š·]“9pU¿½—Ó‹î~À*çK²'¿‰ˆ`1..åñ>[Î (R$‹‹maò„zLêôuaÓ'ýȧùUáhϺMuj$Â#Qh~p ˆ×%&ßjnj†4!oyŽ˜.°ÛA¸ay«cBOz9<Ö|ê'Ùyì+æÆÏ®5ð@@Ax–ù*„’eAD áE^YÇÑȦMæ¯I•èÖ>àÁHâSWÆÿk©œPB ŠN&òvÛÎ.‡i}K ËÆw°žÍgh€uY¼{>`Œ#¤£±«±¿”ýxi@{P#•ê½–Ö›¹Oi‰àzã€×®ÑÛ˜óìWxR~¥‰œÜu[Ø¢07RüÕæصùœ–ø•ëС{2šä”ÞóAC‚~uć!V£aR+_]FýF=[„G:œ^`¼ãí4²ïSÊ?‹¨õœ|ýTŵÏN7Sö×’žÇñ’ÿÇÍ›Jø|4j_*çÝŽ*^y$3cýy£ºs:›•ŵ-P¢0TJ¡à~Ö¡×À©Á÷(w zYæWÌpg[æî\f­¦9æ^/µpE5éÇ +A效¡Ä9ïQá³¢i|/ú1Áúæ¢8hÔÂ↭ƹ¼›Â:UZÙµ²kÙSìèíÎî6™FaÖÔˆú0|¬êø•]ÖéåçŒI2åg1÷}­àC^Å‘'x‡ÝâM¦ßä|j·ýÁK\Ϩû…3éùD ;†£LÝâÌô˜¯áÆ$U‚Ef"Ê]èš«þ301Rq€S¿"Ö}ÆHJf”šT:å¨áµýØçœÂå³´I#G´K‹Ü X$ÜR¹"‚ñ)ûÿê´ÃK»"úXÖpÍ]ôH‘.]§lbɬZÿîèl_èô°Žóˆ\²píÌßpÉç?¤éí/ùÆ4Ø[K+=sß¹ô³ZË_‰Þß°xÚ£{矆µr`5†ùO¹•éøZ_4±O”•½©íµS¾¸˜” xóÜ×ZŸÇ<&®NvK±p•=ç÷~—*Îe^u"]«`GAP(¬á©fŸeHÞü,‹ ¬¦öC1Ó0Ë5$Á]"Ã%åO(2y@×ø®:ž3púQzî›I‰$ÇÙ#Ô’@EvüoªÏgØ^æ ¿wy0Æ Ìe†»^‘Tñ”TàQù‚àÒàT u‘ƒ›ÀïAÞúå‹ã{+ƺŠN±Qý¬øDfýOÐjrpÁ3—š 1©B™†¹wÑK:hÆó½¸§Ñ¿ûàÎkþ:¤êF6œèWgnš3ƒ›'è•Õ¢=ª©þØ` Y?†Â˜åµ‚ ’miûWÞÓù¨ý\±P ¼ˆX±\ ÛXÞt k¯µÜD†ŸÎœIö6»÷ݾŠÞ£CQà?0‘§ CÅöÑõ‡[GÔÒl}‚DƒÌ“£¹”® ÚÏÒ¼>GÛfägá*{eb´“à¨[l„ ÌòÀ¢VëÜÀBÁÂÄ<™‡d„ͼC¿ ;..Œ§Aùüz«ÛB$™i˜nTÜÏ Ç±;S+HÛ¬0îI6Pi#ž¬`õæq¾’±Â'뤖¿åå7Řšé³Ä6pÓ >öæ48VxÚdÒ¦ÑÁ ÄçZñT‹Á³yˆgÄ ë-ZûŸ¸x uÈ¥¥`ø­’5qügu9×CÀÛ=Û¾Ñ&wr°ADæÀÔ¬=ƒ ›}ï¦M€¥z´æ]¢6âvåMK Nö®ÆU¶À±&þZÚtžƒk ×é{ŽŒEÒ60³ì-ü_ 2éñ†SЦ–õcJ<‘™Æ«XÖ"B°n(Ü8Ge½Ë/¾½Ìêùm$ê•ÍzTö{ƒXW1…¸aÃ#è®ûa4a‡Ø=~V|‚UU½È¾’¡Ñסk™‰¤ì?†–£/¼‰‚ ö8 +‡±êç`—–ª‹5à |P<"4MøË®UªÕ០xFùŒJw¶ÙI͹Xgrb¢â·RÝRÎEõ.QŒ×¨Ãûù‰Wîf&TéPPhr#0i%=” FÚ¨|óû£¥C…H'm„çÚ£±™Î¢Ê !zˆ†•„”ù*™³ šÕÇH9ÅBÿ£RoΕJ›ò[-›©—9ÓŠF{|–­³½)‡ôä‘õç>=©Cmʾ,Ç+.)IŽò@{)ÚŸùþñ@1ã¾ØÐ §²bx.%jU1òÞÍÈÒf»Õ£Ñ Û‰÷ÍÝKJCÞ¡l×_çÚ*Ç|UåH#é×ppÖy.ñ}—Ƶ“1Õ¦] ¢ƒtHöo0½!SLÝÔÇ8ïJö5}9÷ÊáqJ^iöÚ©º‰üèE¾Ë~͵Š+ ¢CF—†½â8œ qîê/Ó¹‰c𠣠ɀJ­Mâ(ÚùrÕmþ—Žž[AqÅ®¿¯f$ve[Ý@ ZbD,ËQ»½Í{þz;•©ÛhšJ«¹@ÕÎ×â_ºXgB>¦‘H†•ˆgð(¼§­?Ïaè'*l;‰´ßðüÌ"?=o wd„?ÏLð|5†AÍè/Ô‚U(¨ÍÍ®…ä†WTZ¡r[V½hWªé¾ óL1M#¼ßç@Óä6¡Hx' '–—‰ˆ-¥1&}AÕb/[ÇûÏÎH[³S*}ù{¶VøëDת“rõØë×Ö…1;Ú†¤¸¼×ÍLÔ½_Ñv+¹`@N !Jfö(Ín¨$‹j&XvU›2jþ]!©ÇÕ\lA2Ç öþ #ïË¢úbÔsV«ÚL˜ÎÜÿdñì¤  vÑè>uÆÞ8ÊÞïKã%[ý£l½°ðgN\•ªÙذQ<•ŒŽöV@ybõÕ‹uÁœ9L>™Ø¡Ú±_G‘¨Z¯‘Ï,‚ÿYƒ|ºÎF<GÞÇ⇔„yÉ{–:šü$†f žëÃ$Æ’ùƒ¿niÏëÐöB_…c×&&]_l3Vç“ïòeŠ9CÄ„ cº´þèv‰rs)ðØœcën`K«VÏùµ~‘}†à¦¯{65;©Âm=wˆý¢t}e™®šFø@¼ê…½œ…§eB¯[ù’H&ëŒD*TÈ4Oõêï ý/~g!Z_>1÷èšÆÔ½hí9+x+‚½øS†x¸PfŽ.æÞ]p2<§2ãl´ÚõX"D޽lœ˜XÆv¸Ì 3bLüz»Ú_|ôÆMÑÕ$À/·•«oàco:7“bÆá*ÐS§Ðšà¨‹thF6$&Ùa‹Å¯[ȇ@x1Xk?Òø¾ÌKä?ó²!óFbFR}sMjTå}¯¯î‚ —±_Lo%þ}ÜÝj-qe2KpS'yAƒgU÷z7mQüM>õʆͤXBÒ, FÁmÕÔíCÀ_ü¨0Hïÿ¥D2-0üt›:®Ÿ³¥ßÒHñz¥òNt·ãÅ– hÁÚk`d&³Ð)È §­)• ÏJº£G?ò»_&Ã?" 5ƒêÃÈu%W-øÛ#É)ç'Šˆ¼)­w!IZëÏ2j EöꘕF½`਩Åë• é\®ÿ½b$ŸÚôËHŽ ~&Žp$¸›<êBCTÙ×»΅AþMn\ÛQPÖ¤i=+ïí³3iˆ•åqH9¸cûCúÛº°ò¡g:„׫çoØ &^RP6C¡?éAJyÏqMYR@­î¿£qFzQÍ|¾|†JsQ"úé0Ñq5ñ!e†„o}Z¶ZIÍìTÇ<É9yˆïùïmw¸yk¥AM}¨â-°xŸÞ܇Ÿú+B}HµQ˜®êãàß !UÝ¥3aW¢”ø×ë\_íç9=צ^‹î^ÌE´‰FîÑtµ 4™µš¯8‡Çó¹¦ë’*ìfO€ÊA6îJâëp¬¶O×h¢Š4½ß@iG×…Àf‰¹ˆb7[…ÖOÊ$2Û-{Mà[RŠàŦ‹ïþ‘9ªøWzðáønZªé^Î[³ŸÕ•ãlZ†Õ¦-Sô0ð|ÚI˜úØ?ŽŽíß —«$Y],–ý²þX*§»ïAvW¯JN«f½oSéµB×¾ežPè¦Ï("ýþ°û1Î(8s=£„A±Xóh˜Õ4%ázÅ>ó,ôí„õ O¿°JŽ@t…¿I$&—!.#é–· é¾|}•g †O^·õ:ÙB¦Cc°tQ‰ŽiQ­ü7Úž†Á£°³áÛ7¹=Ô®Us$ºß¯Ó#Â+R&;6Uô[6<‘³yv€íËßÕ?»˜ñ†"5g¾u%àWŽqèîÝäãk Í^RÕ–£ÄÅV-ùj?`v/¨ì_”î„ÀfqÞø=ÿ‘žÈu`ÑIʬÌÕBü´ À5UÚÞM–!çàÏ^õ%„J­Kú^t°û!#dÍzQsã\Ü´…Ê÷O â—´t˜.,Ùý$dF>øÖô]@A·#h…f~?"µÇz,Ý¿íÆ¹\æ¹Ä2„ie³ÔÊÎØý'ö›Æ ïQ™ÓÎßWÃë‚î~{ËÂQðÝhU&¤¯½ÑÀj) ìÁ`>5 ÅÎz ®¾ñ§ñÔës^–áDþqÛåÈÏe qÖuU% U­v{1?„Cð ÔK“Ê=Í(›ˆGª/ Žvbˆ€ÄUîè i„8ÄçÃÍ¢ÊB ùcÛ¢J¼ÝÃLuº«™[͇1Ø£g>åFÓÕbí§hok—ªà~Øå¾z1&f«ÄP*’ ïUÜ9…þ^-TÄ‘#Âë‡ÁÈ$z:ŽSÞ>Î0ü\3¥þü¼,0“¥œ˜TéPÏi‘v™›³vžt? ˆîÒRÖx*LÁà#7yoØ&¤ ùB]¼ßo›èRÑÚÈ9­†Âœñì1y¸Kä«ÙýŸQâH—Ƥ§çÀ4*ü”S´_ô‚šÙf?«áh? ™ç“ñ¨ÀL?Áð™³/í¸Tf6äíÌ6„•öñ™¡&üZÙdÑqÆ•DÑÂ[|4ޛ鹽7)VZ1Ýœ›ö%¿Hw•›ÔWr9ed“üKTøXÏV¸–#±‡àì.îÓ5|F/|Oy¬ü¸ÍÌÿ“:d‚JáS, ;ËÄ &H ˆ™^Jã™o0ð€§âi5>É­H½%ñýÑžžÃÎKfÃåoÞE |--Ûì™H}°ütg=`aóõsëyøð˜q&ù¹%—9‰ûÝ…LÑøÁ¨.Fniɹ4•‚ŒœÁ†Í·bÄÚàÈdT›Þi=ªÿÒœÂú(ÑdeÛ­ŒÔê\|œsEŠùw‰…‚©c!óöUýÂ<ãqÐ\¬Ý Ó[Lm~d Hµþ™æÊº¼*¢—ðr0;üǰÔÊ<1§K¨Î@¹Äô2ðŒ‚±´^DZU C¤Ÿ„Ñ0»µDÈ ‚ 9‹SNñ@áK¼Ñðþ`¸n,-„¸ØüÌŸÄgwyùI;Èùs©#P¥¦S‚zªD…Scuý;©•¸Ô$×P¿ý¶rÁ©æn³‘¢6vÔ()9ág–æÈ÷úml}/35•t‰Çc _~C¤_ÑTW(šøFSÑÚ‰Ò.üõ¤ˆ2¾%ãŒ7‰0€gy½^–A —¥j³#-KК‚ªò7á¤Y5D–L§"“£þDk{üSÙ´¸ï¦°>Ä7êcݸ×*ì ʋرÈñØH¦÷Êí•ÍéÛQm#¢'Ÿ?¦àµDÁTò·ÌO'¥¶Žy]ñòÛô·õ»6&ÒÝ[a‹¦Úù’OêERª ÍßvøÄn ú['–NÞ•pô¸f¢=ï+DÐɘ-"'r‘ÇcsnÈî!ßjèKv¡¹ló5+ÕÃìì©;x«œ ÎDE4ï5M§ŠiÔñ ´sýÀh¢Ýu—€“¤Þ’ ½2MÞ¾Ûù“…`]ùÓË-Kô0o^WâŠá´]áÏá>ÓÐ})Ô»:áõQɰidÊP’d4Ž’„ë|ƒ -†w2T¹› ë©ÌóúéªRâÉT*\e”’t0[|ãá¼8‹C¯]¶Ò k*5í`M`×U9.‹Ç¿kĺ*ºã¬‹)÷Ù'd¹=€P«éWEÜf»I¸®œwo¾þFù3ñòîßbܶàøˆ¿¯ <·¸o”*J¾aÄÜe‚ 3žrb‡šÌD© ¬3Ìômx§á°'vh0Ü@Ç禂¥ù{²»F¿L©"5ÊP^åJ]œNfmÛ3…n¦7|;ëœ4Ð õÍÞþé\&¢#Á£àÅÆcVXÌÕ·ál§o¦yæV|¯7$hk! †|¤f¯ßÊÉ|¦„uÞŽ¸ÚiR—Te²¨âýKƒÏgNª¡xnG`;#xÍàÚö€`H‚ R½ç±{}ÈAÁ$Î8s9#Ä~ÝÉ+ŽÌlÊÌâ6°,ŒNBíà«ìÆ¥—üÐ_ÇÂq½WMw€ü¾Nbên±Ç˜¾Òâ=L\ï¬{ð×/åHÇ·'-ÕÞÝ…eïã™w½þ¼¾—uì®Ù`¦„Þv™Héåkö×Þ‰½ÈcÂP¾$3óÉ@$÷3øì¹GþÙáC×r×%;ìRUúº®¬ƒØ…$~ù®iRGñ*¡Û,VT¸”"SÉ€BµÒ­TF¹—|;ëYT•-³ÍfÀÌ 6Å´ w¤1WQ±"Žæ€ NwÀ¡¥—Õ8#ìÃéʈ 0äI ŸQúäBé…–¹˜?Jðõô§ß¨6C‘ü¬|ÐxkÙ©UpƒÐ¸Oð(^$Hý5ÚG1úp7äktI?Ò_˜@U1îð„GÙÖÎÍsa5T @L”(’4Šý™,7EZ°Ó¯Fn[«Ï,P°é:­va(ãm—\«áòÛ@‘R{Ü ËðûÖ©ËàNz°±à°²¶FKÃ<´Aq Ñzº‡v—\jç&!À]ÃW4ÛÔ¢r\3ìñz\‘~ÐĮЈü²b”¿ô¤cqñ%M €–z¯YnŽH†3ÕËq¤è‘¾t%™…1^+zÊíw{Å>å(«fÙOÌ+ôŒï‰€2<ÃÓºV5ÆEˆá’¿XÒN«L…©¼Ù{œÄði€…Í3Í…@ ½‰ÞÒ\;„¹9µË V¼xMЋêñQ:¹i$D’ö?ÄïcŸ%ú"=× LÝY#Ò>År(-·¾Çת(>ÚD–C­‹çiõ?û“ÏxÔPßceìùÿê…vYì"¿¨ì¤®³G¼HÐÍ4¢\Üå»Xq«¤c…¤wØŽF,tnAw'Ë-üU–n•u¨I“ÑD¨û‹7 6àçú>©KÝKÝgØVå ò»~÷ŒDš/s`åNßuøZƒB5°}?Úÿ@úMm)1F«k¯â{Å*OS]SúûEGÎtSèÂïÒ¯@ðVa%k1Xƒâ‘7ü ²2ím‘ŠÒÌÁ¬¦ÑKÐÞ™¾­³Ž÷brŸ&ÎÄö8?»l€‹ïqÚÞnà˜=Ð"ŃèÛì–Ð7äÙ¼‹¾S­Ñâªå'Ó®kj謹õ¹û†h–Áæg"°l™S¦I™íQÁÄgÍæðttêNo-> õzO‰E㘠¤v‹G¶\((*Tr P8ÎÚ- (Œ1ä–ˆk%á…_GV~Øñïµ™ƒÃ¾‹×z™F¥«‰äÆÕ0›\›rú*ýæóä#5½Œ>ìTTfM Òç¤Ö8l±Qf/褥ïx„“æ?f¡U¸}S…°÷óÓѨJ€Ód©$+kãŸIœ«ç)Ù‰oO­hrç㌀2˜ØkaªÖ.¶%ãlæÔô0P@–­€ÒD';ó¯;Bò\æÁ=u¸ù:`Õ‡ñè0H"»„áÜÞÓÝ6ÕÌ—ið­m7KzR©Åa'ï]9»1d4ôH!Ëù²¡®Gh‡¿žöné]Æ&Ø^ùNíe5ð™†*³©b9\ZÄ’¦`Ìik€ÐTÔ`åôkQty˜¡#bÆRÙh@t…“’D6/,Û>ƒÓç€sûÍì’óáK {ßP6òýkïõ±Ä‹¸5%úQíÞ´¬ÿÇò({ÎYÈ‹ûb™ü¨©ð=9Aæ×”é?Ç¥‰u&¸}8"¿ç×lû™,ÅY¸zãM_ðÖa:Rv‡›>L ©{NÓ0i]FŸ vÒŸ¶?÷xIÿìïÔJ^† [eùBÛM¯G–¼–øOVe~øFô‡ Òãt¼³‹nÃÖ2ƒ?ÐA'‘¬g_o3’³8\q×&¬+}{¯“¯ƒŒ œ“)Nbø©³2%>[ÀAwÆ€ªÎô¶6„sÕÂó";¤Å°Ë—g²Umd$­)4`{Ku¨¨žâÃúùg,âÌ©‚” ¹ÀÓ!sÌÖ;ø!ÏàŠ­ÚÐÅü›R6/"¶Èì<4 .¤xp) !gð—ÚðœÄäVÿ<~e1Âéùn°0“®†ømqŽz£Î0Fÿ{‚ã‹}Áù[ ¾uªô7'6`$”ôT+(ÈùHÈ÷Z`eü rþ¬„3GŠåE•YÎß ˜hl½è㫞ó úPäWcÁY 0'๡âÍeýZÄé9_¢Û³\]8´¡jëÔmª´êŸ„|2Ó€/oÌÏ“Gn¸”Z—Úy÷¢bÝ0oR‹(¾·Þ” &ü…e5R âÏ Ì.v=*z/»ö‹¿–m0 L+jRóZ€ôèÊ cB¾ßÞ—Á8\ìé˜Fª W*[í=m1¿B(ØNþ·Ž­G\q°©`>†1núè$ª‰B7ƒY-´RÁ†Ó‰µò­ðgªªY7ó¸‚èlÔ©Ãäd!¯$$¾™§é¢ À–Øè±#ºxÁªYirì¨ÅÏ ¯ò!\w[,”i}ïa?H[»)Ö%«™ËiÈK‡hÑb?gvQì*þÝN « ôýT8ËP‹s÷ xW‡µ€$Úà¶›WnIx-FÄÕ0Z|Ýe(v¬–ŒŒõÇIêð̶ ÖÆvMb|¸KE@µÔç\å©ÛF!.~šàZs<¬®õ6’sïhê©F-|b¢ÝÂ?P|Rjâzœ×ä#¼Ó~¤6Kõ×HߥνP수÷?4ÈÔ‚Orõ?ÎBo«2¶ñ =S¨¦ù0Ãú¤s Pð÷ÉW§?ëoµÇ×ÀØzJó‡·vŒ§Ñ‹G_Gœ£mv¹j<ÂMSn~J<)Á)ì ÎJ ÍE™ °Ñ•ë=;<Ö¼€ã=8_ê ãõ;'Z\S)‰*áûësg©dUGÓ|ôòvÔ/$¨‰ëž´»ØØCñ‘£ñ†K½¡8™.MO³+¡ð׊šÒèÂÖm%èY:Œß±Ã%–/kæ¬#¥Ö2‚èºì.×~i+Ô:ÙôçÂøœ‹  T J @ÖêãºìÙ/ÖÜÇ\çñM!?F¹¤w]HL–Ð:ɲÌ.µ<'*5À9sâÃ’QñJ!þô¨9/Ù‰‚äJ¨]LSò,tàɪ4ªìwÄe$e¡w–YÒÛ'ôBÑ1ûJ7çðW…´ìùšx1ü¬†0oHcyø¦FQ3ðŽKN[Tôoÿ„`½À 6·Ãä£÷šbgõé#i{êZcqÖº£åß!ɇT­}”ñ g“ ¸s»î£QîËÔÔØÕÍ Ït57{eù šn¢âE(›‚ÈÉ|O%Ãï0¿ÿ=•¸äE¾:4Áͤƒj;Bm%­DB[ix@ t+à.ŽEwí3;A²eóB&07)Ô øT÷)Zʹº-DpsĨç޽¿v/w»fäS¼¼,° çÁì@a3¸œj÷ŽZ—Bè…-H½f½Øærž>̰K 4RWÖEü‹³'QÕEüZ\‰=n5Ó%ÁéL¬WA¥Õm"%$Ö\L‡š0wÅŒIÏÓ–ÁŠˆã×jü©°^'ù=u®œåß3¥Ý ¸5ó€ÿIcd/õ@œ 8ÒòóoEØºÏÆ@¥ø JˆÚdô59Eýd[Pk«ø G© 0 ÎÙÕsÙ×'ûa0ÿôœ`¨…êQëìHº™î)"©GV™¯‘Þ•Ưe¼qkQ¯[b íÙp¶jI“kð|e.ŒØ¡—JèZðàú„øoH–ÏØ¾o¶¢¸†ì-`¯Ütl­ÙΔˆ_ \ÈV$šœ>uŽný%Vè[wH|mÕ óS»#‹˜ìk(…Î)»ò4¶f5®˜ õòÂ™È áJLˆ¡Kê¤Ð€òñ5ö-{kèñ„šôá— ªAȤهây ¨Y…ž[©½·º&ß”VÅWŒÜø1íÇ"qÓŠn<Î)VÖ7}zðEޏ‰œ)d¬š›mFÄâZT7‚Þ|^–5]ZZ p˜´ $ªQ¤a`.÷æFóøž.»Ïâþå€*|ëü(¡EéÅbÏ«m’èv Äf6š¾·ßâUoñ‰­|ýFšjYÂNjÓi²@3> '{yôh5&`Rm°‘Ö >|!kÜé2Å{mGãhPáá«lê» øpj7€ —B!\é¡Û˜OÆvêa³Û;ÿip‡¿&à£'`ÄOé-Qo´%·ŒMsÅý4o0øsþÚú‹˜…ç}È|¬0½(hc9 vŒ;û«ù”¤@“óp Q€Ö˜ÿBàž8s¾‘¹IïïçFÕ•Þ¤Äô¨dTA1Èk"ÄÒŸ"W©#þvH†lµÜõÐk Þ`Ír|f4@&(¾áµ’XU«öÅÿð\³œÝ7ü"• ÎRšŽ±‘({’œ†èˆC¸‚ÄæS»VVH¬™Ù¯‰“ËÄj}œüír<Í;@àBvZ/é19%ÏÉálèë}÷h‹îWŸK½¤©_ª-Ð2;ƒêFßz‰ z‘`…Lg`5ˆêR³qf©Ú§öŒTÛÅbUò6[¯ºxÇFQ§%“NÁ®G¶o„7‰yd6kI&š¸f^ºúà;H*‘@š!øÞÞa²t‹ñ¸Él|J׈n]Œ6¸a8õ€Ín§†¸ÐAÙÀØŽØÐIñ¿êïÕ9éñ}Þ€"c† ÞîÐx¸‹÷(W6ƶ&Ä`*åOÁ7“Ù3àí„U,[ƒóÄ0(¡‚@ú¾øçå£-­Áy4Rq¥ÂÉ#ð¥½1‹}ë¹ñkíŽ8¼ß›01,: ÷߂ڃ ¨0¦a÷^¿N~ÞœJ¹ñ Zç·*SÔù–LƳ|bc+îÒnII?JÅïÂmÕ.¾»Áe;Ǽì!ð°lÆ¥îµTžå’çaÍV*e0; aU¸]2uC¸*÷Å—q6÷£wÉð§ØMU•Œï¥Al Ñ–§6G]ôøÁcŠ6«Õ²5*“úw¹âWDˆ³ cO4v‚’ÆW‡Äf]I­ç¶ªì ¹6vMÞ%E5\É2 ·6ÛèiÀ¡ ߇=PqgBj1Êͨ ÑgšŽMVÆÔe“.0yîrw¾Ÿ |¦AO ¶³3\¾¯óR‹b0!üÁ-%ZÊð†´½Æ¤xÇJ!¦X?=êú^.ô›¦±3 “&R›#–øÍIØn -Õ0£"Ÿåˆ)‰äaýšØªó®wA¦Ì@º«]¥Ótæ€Q´™¦€ëêmã ç¢Ã €ÿ¿ûWT£Æ¸QÍÉ’ÅžãÄ„, žU„9—Ém&¢™Úf3>Ô5Û%›ÝcsiÅàš8&–Áê(ïDêÅŽ¯<‡óÒÛÝåæy_mñÈ3¯U*_›‚_-8 7mÈ1ˆÂG|’Îv#¨þ½¹U'œqr…”Íðë茫ém6A¦at5ªpæ³¢ðÅÞ Í§¼Áñ?3røW8©41ÔìqìŽ2ºZÆ14Öö]»EN[L”@¶¢zG¿‡ž˜Ú‰TP.XÊ&ƒm¶™¦¾Jô„»ˆæ!À ]…4•ë6³ï.ózJ§(]ĬIØ…üŸâˆ4϶b?zIå"rœì½´®¡ðUí~dáÚ­þ2é„^Q6:ât‹š ¡9w|O(@íí)µ¬+ñ±ê{øÛê$é{œk×nÄÁÙ­LW×vP‚)'”.y'E°>ì —ÐBX.ÑÉSöñtôèçoËŠ 㜠ØUhN•‹Èš3‡^»ÊI-™ùo°€#ÔœôȧÚ{v}TRÉ "´ö”èoåýÞ:£W#T°G5ŠBÀ­ê$ûí[v;¿nÙt‹™¬¾”³¥ñœˆ4åhjƒÎ~ÉlI} S!•†^1Ä<à$`üR"#5®€4äM»e›=—aFC ‹L 3v`3ݘZ{V ТL2ãÈAï™›ÿ€F@±2ÆA!.š8{ªyZ˜lóÎA ÕÚ]lá½¥ºHÍù¡§-•ª04Ü‹ÿÒˆÊH“yXVtB¨©všï£Q¸ªU)›'ÉÓˆ2À³ ’•æûJW*Ìôñ¼ÖA¶£wç9æŠÍ—¾0ÁS+ì™b<¾ÃÃã Ü-ÕÉH‚tÚ€4yx•¥|›ª×¶&{šyB#[šs×ÛŸ,|3ݸ±¼Æ[KH{˜Ÿçg: U(¾Ó%sS/ûóñ»˜9ÖM=‘i·ÙxñÉXj‚͇šŽHïUÊyø»Caœ¶8M¼öiJ¿ÿ§*íÔýýÖ˜t¥úØa{œ;SAã×ð©llÄf{ï{óá øó’Iô,|Œœ?6Ímq(!JëVnXˆŠ  ör4`¢œñ²‚E‹9“ò†vuPû1D‰-Xsç—m·éLDó®Z¦á Ö¨üD”Ð2.ÿ0¡½ÎÒá`îÐT†ˆ*Ù`£—%Q1†ßý1Ѿ¥¹¶ÉQrî©årÈyR‰»7z >8ev.»Gb{WMzÜ€Öq‚z¯ƒ>¨ˆ“«¨çRYþ G´å,˜Â׬@¤Qcß,%ņ µŒ½;5~<‚œîÆ`{ÚÕ;j¤™ÙÝîûwÔÈ‚üʆ‹ý¿T´g-ë_`aéS’î[x/…¤>  ¾Ã0f6 t,ÀâÌâ}nÉ ¶~Ó ´‘n­¿6Tb¤…Såù)¤ÚkQ_ø, œÍ²cw{;¦ÏÈ%bÖÙv&št…¦>±mñL­“Á°é=¾0us9/ÓÉ{HТlÈw*Õº”ja’n]„ø`ÕÍdyœ(‘·âôk p ?Í1ÀçÂ-ÄN¨ºíÊEìÍ*Ð]-ŠP ¦3þߪý1fÎ]E*¾ 4@Õîñ[‘1u{­6’ÆÍ@Ê^`B‹‰%п%C‡ µÏ¡ÀbrI¦ÍÉ!š©¶ÿÏìf:ï&ëßSÃ̉b}ÕŽ>ä“É]\w0^ˆ<³*X(<’þì=r%@Ýù &¢ˆÍó†P Ì¥HÖK bÉF¿„ø–î”:ÀênSAƒàœ-\]ós#™HÙ®˜s½0æé/BDóË™Öåoµ2þ zž øñ YÊÀ>Ö häççq`«!Ág1š©®Öo–¬á§dEžÀ&Ä«vƪcÏ{O­¡ÓÈgvW™'ÃÑIÐ cDZ…D‚á"Ç\ 7£Ìö(íûÐ4 phö5%( §/¹æõ󧿬µj´b¨b'qÙ´æ`laÙÖ›AÖlóö×®c+Ño˜ò¿¶+÷¹Œ4ßî÷¹ÿ}uÀ:zfýÛ@;úçJ%H‰b“×x‡Xlé‚<Æ2€ÛÈ­p³ŽqUèžP{c—½ôÏk«q³•6ƒqÓ"¾lé ™Ã>Qê')nöã%W§Pº±Ý8nö·˜vLy àד´ú÷lÞ\fû’ÝÊ5ô«ßÌ s³™0ŵe™‚wESêvQ5m¥O)„Ù^Ç1€|ïœW(8©-考ƒÛMø«N¿,²èõ½Ü²<åÄù‚Ñõ¯DâP¤("ìJÓ*¥f P#™LC 83VkàM)áá|g5¶ÇB ºèêöY­„¤NŸ…ѤÁ|ãº/­d{ À%‹8……ƒ 5)’S%ÌB°äj2¤Qæ Þo£ˆYšØ-ën$Mõÿ»&e°%Bš¹2©ôcT§+%Òz蔯H”?£\#^“¹'Šwݺ;"Êg Ô Ó7qæþ®AÆÚÑÄáß½G€uÈ¡zù<n6T}­*âzú‹àûV\‰W°/UÖ#‚Ü!b!ä¨þ ¾X/¾ËèRœÑ…†”Þ=ÃÊvuBE6ñ¼²D‡Ê È6¤Â8+,Àcì¸ÇàËÀ­8àŽ^‘¬•ijIl«\Õ ì¿¹˜’m‡›V$/±nuêaÌd&¤|„-AͯUbF3Y§s”è2O­ôТUOžüì€ÒoKþ\ÄWŸtÔ—?—‰ŠÙ_ ‰0çH¯Eþέ"îæz¿8‘ŠFtÃ6Ò¬r‘òÈ>ÿ¥ß;¯†v{vžÜ Úò¦TåÎM˜uŒõs…lQžlAÁQX&¿3øÛå÷Hó|9¹Û‡#ÓŽ#E É3ó#s ͵©N\ç@awr¾?i¹¤óû«ûpBPŒaƒ¹ihÔwÓ¤o(gBuî¡#H±gU­Ó5ÁæN¤ä¹-Q§ ’±Sñdq¨ØDÂÈŠƒNÂxÑãeŠ;pÓØÆ q¥×ÌX­‡+±äh-ð¬¡/³¤­™z€¡É²h¸'¾1üâȨu@NúÃý!ª “5j@IHÄ….öíf{>a!Õù x¯<ÚQQMz ™fÞáµ0̨@ë£A¹/ñS人z£ÿÿ­ñø(Ë×í´ÿât²ðЗ–Z¶_²2ñ—W–(®ÖyÈkiÕ`n|Í VZaçVåböK͈ðjEäTÞ¶„ê[ykz4…(j& ØÑÁÛ'îƒð49EjeW#ui½”duJk¡¾4²Ñž„w¹ï6&;«M^èÛ2LOËÎ1¥î”øÖ½.6…Ùö iÛum6K¼¿ÏoDa‡÷9p¬£f8²^¼´E »ÔТóïˆîà™ù* ¿xH4õEh´²ž˜^a‚ÜÃæ“ªÖ.»ÞÚ€…ty˲-ü¤`Î Ó1¡µ¯Z¶†}"75`SýµœQÖR ‡äÁŽÚϸž•€í ž g=ƒÃ·­ñ= º-[úá"?>v5H&Dßl&‚>âìV ˆ~ûøm Ww9,É[ñÇÌ.„Ùnq˜*ó>´iQh} ¨&[ðµyô´Y|ô À¨ÐPÄÄòKŒ¡dÑx¯²F§hG¨·M¦Æ±†8{S¶§Éh°| +„L?(ÉkŽÅ¯[£ã2ÓxVqP9þû_*”pe]ù¥ñ2¥TÂy ­Ëß1Íß³Ê4Ìu¥}äÌÞ³¸4Ãòü‘’ÂǤËy9jO¢ýjI2Ëãº3€Ø@#Aášõ»†×||¬ÞèS]†éh5ym<9dŒËÁÍQ¯á$ƒ¤žŒ_¯¨7ñ¯–‘li0n†n|à— ÑÐAù€ù\TEµ·ÿ½Íd%@ì#b”¾ou¶œ¸VØ'“gη'޶7 ©ÿÿ Ù%ƒoN~GÁ`kVH?¼¦'Ú<ùÆÞ¬Ñ¹¬¾nÉ¡M€€»TÙ@éêÀiyŽ þn±ë“6âªË¸äƒ y¿›cü‰S3Ä Ê‰êB·±PêB Ë°åÿ¹ª¤3Øvg¹²ÊÙ¼ëõjŒé=Ú9(àl×x68=DÑ3#C6ýFYy1z‰n£‡«á2íN ½PÈ2WšYBüHáo¼%#¢ˆ¥™¨â2ÂÚ©a%×¶‰Û  uàõsFv¾“vÇtK‘dÿ÷Y'»é 5-Ôáóç‰÷Ã}ç¡gªÊG_%qŒOiÄÀ¤@\ w8ΤOhÚ:¯™Eò[ýhÌ3p¥uÆi…ÔÁúœ‹øI@¼nËLn‹Ç$|§ÓÛ¿ç þËæë~”md fwH@û8c¹Æ)Ž? 1|ɬ¢®vt›‘\'Åû7í:2ÖìÆhå@»„n,)ZQYå–ën}Žìб3Œ¬ªîa3CQ6kÃÙf¤i2^¹¶iB ×_‘$D+ ÚËc·ÓÁi=LŠÂ•ÊfI¿Èû#ßup)ÖfzTÏŠ…öfÖж›3%1æ´’P^M+Ý(¸¦©?ÎC•Ç…O£óÄö.F[/×êpª\Ü{½¯×x†¼|»Ýuíæ_cœÉ…ÒåÖYÜ5“™ï¸î…\À¶\ ~©*Ø2yîÖ@Ë_wlÚQ[ŽWž’Žð1áó'‡-:pØ ÀBºå[æÌ »§9OÅ)9ÉÒñõ$±Jy?+Â6h¯™R©³b¶bÆ:İq{x6N䢋ˆ€Í¯xUT¸*#æå›œ“B£ŽÄì6²Š  %¥¥,ªh‡Cì3-j vD_'—Š]¹WTƒXðR°hGsí^¯Ú^˜Î}ͶÃ%„÷üèPGà]øì†ÖßG øªÂ‚ð™€@™4L˜Sêk÷íᬖ1 Îr#ˆô¸¿r»c ¨¥¤'WB0º&V!èL(ðbà¡8,¶ }º½èÉ…S¤Q¬æ’RqÈŽe9_)àp¦F2D’IZÛÉY€B ÁÊ2*.’á­ç²HÕ±„ÌO¹‹,6Ql•]¾ü>ÓUyû')ÊömG·Û `šÇ)É$-ý[n3š˜šÕäl÷BÜÆQ¼]1°u:|¨^w­:ß*;}íïÂÏ çXŒò×ÏÑw¼–™\1ü_äÿþüÂçvÕe™ 2:Òís5.è§Av/ÈvÐQæRiÃ:á%[e>¶¼s[aàòÀç*ÀÁ§1`lß»aY·5?”h*yÀ±OÑç`p&èš úÍuÂõt6°eõç®|O$qáfE&1Íds&»˜æ0u]Œ]¼ÒìŠÿµ¸nè3Ы§9G)Dh‘ùúÎaöQ€T³ù’-™6¸Öô‡¦”åÚÅΔÌU$óC»Сn›Ø_V‰ÿ_‡kùŽG¶×íÄã“þVÏ‘{˜,æØêÚq,Éߟã›Þ–6VZnÍ8eü-ÃeÔ™ýð6…ræ-1Õghh|Z²t`½üD›ìGÈ›{òº î:Mê¦)âÃoÖìÍÃÍÖ;PÃ×KËW>è@ ^ü«V<‰=“%¬{…gGu¢ºôñ1Ö@Z$º©ÌÿÚ¦ƒ §¢ÅuIXj_Õtd €ÚØ ”þþ4W: ~ÓrIqöž¿$`Þó¬]¾û¬õøJzZ&5I]€e€«0¼U$Á¿E†ßÈVaf­®`÷8Ûu›=q`b»FQ›ÈØf…¶‘¬¥ O޽Òu!+­Bü­£”aì2ºVUábOæ™­g¨û¥ !6I»EM¥ë𽀄ô¨@Ï¢.¾rIΕ¼µÛmC'T{¹ÛSe…"‹-¹6JÁ:°b~ñÐ [•+Sh‚ÆTÝ-@mü±Î#íBˆtD,ú€§Y‚ô f}Ô)ùC×§WË—rýôš$xž9½pâ?UCÆH¤—ßx~»0¤‰‚Fö ¹º×õáÑ¥!ư.jÀÚNPÇdT¦ï|e[·}ª¬ iu%«X™Ä@ÉìЛ» Ï0ªx=#åçBƒ&S¹ÔV8ŒýQÜtK Ö7ÈŠÑž«50Ú¬DÚYçì¯Kã¼±Œ~HÂþ}ö·ï¥Ék€ãÇVœ?â%((}âwM‘gO¡6b×&Rk¸+Ò¦™ŠIɄտZÏ$ucŠð.¡Zè¸*¨#Ý}ˆÚOð 0-ÍeXsV~ܨf`,pB5.Zø," ‘L²оܢ÷2ö·òB}r„ûµ`嵈 ¾ªÐÓ9‘( øƒ;{ÀËPÉT¡™¶Üöhü ëê¾U°¸ot»¢áöûö«ß>p´ mŸËw· •¼sºÐ¯­ÊCõë´*ã(SZ*s°¦·ö;úŒAIð)KÙÉë$â^cš×^ù‰€e­Ò¯Ò0áý¸K(D±öý½ñ¢“ÀnAoLá zœj êÁ`.‰)ªòÝRæK¨6F” Œ/Î ÀFmB}²Ðu FÅ¡„cgÝZq\ƒÈ*Ëô[à^…áq”°å _„pѯ’û`L7›¼*å“ßžƒÑì*¬=צrvû£‡Öã+‰ã3#Ÿ'ý³®“ò»½}'-íZÀPóÜ[˜›[¦{ñ0|ik³ŽªJJÄD.'¸L†Tpt7ä¬ Œi¥}Ô\¡Ùãy+ûU X…Ó<+ÇGþb«Ø~+ö% ÁÛ"јÔÌ k_äP=ËŠ…»ñÏöwƒÍ«[Q‘üш‹,ã²v”$bF½>úN¦—ÅK?‹uI¼j}ª ¼ÿðHaL›nÒ:…‰¢þŸy(æö´<¬=Ü…ƒ)ËXÔ{!KÙUØ(Wbœ“C5B–‰á‚¾·Gª8Pn‘Ò¢ï<õÇ¿2‘µdöÈÑt^<¤?áÕ_Ów" {¶<ǽ»ç—ïg{‘'_G'?ìU™Ït¼¼Éÿ%Ï•e’ò`æ,ü¾’5§öŸ™îÀîEÀë0³š1ªü~Êôž§¢_<)KY9P`Ó"ûKÕþm¤øøl€*š9i`í¬ø5qg ˯Ë߇ã¹¢¤ÌíÔÿ âMvÖo;ZXA8Œù (WæÌhE¤-ôµ5„w¤:ë…[riìÖoug“óÍËcÛ€÷þszÛuW¦ti›7E–;FQ=Þn™”ÄQ÷å>ˆE.˜ µšö ꨠ ¬ËŽàŠÄlP}«;¼-5.4«lXA1.¦ÃOUHG¢g'À\š‚ º8Ënã þ¢ßÂV²rt0ü¸ŒâmÇ|‘^Áœ×&Xé…ôEZ(J\à ú´Míf ò3‡ÃA]€éå_ýÜ5ÔL†4l«gúÌŠaA4)¦ røíÉÏŠîŸ!‚'jÒáO¡euéé•àg1wouýE× ‰>Ñå@nVä¸Õ—*ö3'=€c£¿wÖqfíÆÍÙÓºŸG梇i\\¹ Õ.üµG%>¶Že+£&@Ë ëîÿæO˜ÔP(™@þ™üe¥E ‰'GŒI+_Ç1@œÎ߯۟­T B|ä)$.g- £ iMþhv-ÊNÓ€Û7ú¼€ÌÊÊ5é/®“å‚{ ç¡o’ê {µÅ¼z©Š@e¢œ ´_}sü~ç««~—ÚF²MØ ˆ:Ù¼õm«.•\*5ÊJ’15P|Œr˜392›;xÔíÚ|kÛ7˃½ƒÞ 7K‘†sj÷f¢–¤ðÞºõø–¼•êÌ7cP©7Rõ*|$ª“GO5Éz÷ðéÁØšr!Èø™º@Øbï"vë'Ë)ƒ¾ùÊöì‘"¯eŸstúúœË§Ð ¸‹t þu¶Kørg˜‘\ª‹á`ÖÏ™ÏÒË£†¡‡§•©RŽñÛ†¼Úü|YËq_èR¡®n#ߪr0[e\ÄT²üN‘ˆ›˜n£[€q=å¶èmÝ„ýߢrÙIt×NÑß³øjƒ‡û'•&˜hÚÿm\ÂnI‘㿌›æÄþÕïCUï)v%œ,™ S—LBò.MúþJŸ@–ÑCŠ ¤Âà,øë'ò[pž"nÊLçF‡Û¾©’aéÜaÞËÑ…žµº²Yòã ËE(_µºEѺG 1*Y˼íÿοç)éq†"(¿p{®4뮄Q¦|• 8Æ—ðîx“ˆÃáû|ž·g! ã;ëí¤Ëlâå!S¬nîö óÜ [¿@Œòž;·¼!Ì-Ö9ù$ï£ì ¥@+b=¢ÊìJÊÇqt„üù«÷èLy³|å$”À ¢pØßÔA­®X7¯ P–«Æñ‘˜3aôEY½·:yì jÞ!{î¡ Îšâå}¯²K,•9‰d}+À?;‰³‹| *ßT;à¨úø›¯s¾è­s[^?§q±û9™¤¸ Ÿ´–¿ß×PX;¶ 3\i7_á¶• û`¸Ò|Ĥ=€üæLsv› ЉO‚ –áÅ÷s{?»<{wÑÇ`4– ‚¾ˆ=³êؼ/‚iØïáÍødçZ§k’D`­~¡úRV=ñQç¡(¶%º"Ì|ÝnöJe›£» §l)y9Ù”|7Xc…*«WÞ‹³Å8Õv+ùÃx)'@rU¦•%šjÜ_C[°Øo^Fˆ|þ².x0Êp«Ä8ÙŠ‹ÚMžõÝ¥žqôXÚ˜g}®7Pcéñ‡ Í/šÖ#*²†§úDÝ•Ø,¥y' zAA qNÒ’AÅÝ̱CËje2ÞõZ]HqŸ«CÔeÌ@ùéâ_·`éÅã•{»}J柺»奙bwþe¶¶|Ëk‹à½Ir™ÔA˜N¹Å—UÛs’è/– –N®D<´°Ç,iÑ©"‰#væÃmKã^öBû|*ñSòZÈ6FHͦG@£“7€®Uß`¦5Éà:‚úëŽÃ=ÿ¸oÄìÃ+>çYúD¯`KW0¦+ ´ð:Э( ‘ìä/ÙE CuP6¾nˆâ’Ù&pxX…maQ­$hK¯ÐŒr€/±)KÆ¡l[äù@îÆÇñ¾9š$ekÈ1:â\V&2| ÚÊ*lçzßD E÷¡·þGé6 ±´Ã!µ?ÐuX¨ô) ¡7¢#a”áMª_¡•¹qý.E–È£ ©æ£½§ËÝüÓwé), hŽ((À.žâÅäÏÁ8B#eÒŠ¬ÀÅŸn«JuÈœRP\ÇòÔJq—%ÂC¤ D™Šî?ß³v ›_©ðµBŽÍÄ+o¡³¶’·Õ”Ü\–e`'ú7ÖBS^z:‰¹ ã¿ç1½"$®øéÔ¡f=%TÝÇKI2Šä¤aDñ†¹©›^-¯' ©rÿh´+·•féM#Û4* sŠ}%N"™¥¶zÏñÀ c+ª[õí Ë%¹––(sMù¹j¿ìí#n4ñ§áÄ;)™ôŒ1‰í»‘ìǤlájJ†Þ0ö†O2•êç;ˆ‡¤Íì_Ö’ƒ5+gÕü2JÅæ ¡w„‡ù'º 3Žù¡ŒÛÎ2ŸZhH–ÒóŒûL ßè|k[|x„¥CO£Zá‹ít×°¾î”}îüBµ¡µ`Fþ`¹<Bñ½Ûšè“`@‘TŸGöÍ£ö°\êñ5ñ¨±€Ô¯gðx·÷ ôCcmÒâô'hb÷Ûù©Nf–º‹}È¿V~T:ˆ3Ýl‚YëS¤.Í¥ ¶tªÁ@¢åVÆ=ý¦Ë.6'ïIR±_W—Euà+0ž2C®ñx·¥"GÊ`€ùq)¶Dðî·ëIM°!eq~T Qu‰¬DHçžÙ¹wóKÝ©ŒÚÔžhºHͨ5ý‚XöHb±–(‹ ¹ÜïImó]ª|»Ç}«Xrk·ZP\.@‚§n4)*êœÏ^®ð0Å ?Dœ åxwîÖÎ’ A*¥/¦Zv)“=u’£ƒŠ)`Ç–®ÞÑ }È4´ m•N‡íì•ã[º»?ÅFå€Íùêƒ"PÊn»êÀ§“nxíf†9í½ºÝ¡†øh~¬|«idªå‚pÌpþÌ;P«Eê–ðê"˜#-ÝøÛ J#6ÜÇ’;5#)â–ñ¼lUá±\£×õÐÐ6ß“§“ެÈq©™I¯o¬îå—ÓtH‹]´…Möçfz«¹ö®1 yr„‘¶ÿóá’½y©ñŸ§%=ãËA^é`¢ ÿòQú¯è£ŸŽÌÔŸÑ"å}æ¯ˆŠ›¨â휅$ܽ¹™nrW§OnlðsXYMðš­½y’Ÿå Ý«¿+:Ì©þ§œX’*ŒÏ¦z4›3”ü„Õ|%á‘·ÂG4¸Û»ÝþªšB/è˜ÊŒoêI_ÈÍ‚l–Þ Ö¯:Î-ñ[Ò÷L…N[ Fnh–Ü¢›±:´öì’˜…^eC¸ßdÐ㩤]Œ¾ܼ3™-ï›6\Ǡлn?{U<@Ãh=8Iý÷Ž^ÐEÛⵤ…io+Îî»Ëó”(Vûð‡oÐõf¦þ{_áI¢µÿ1Dbņ¡h}0»p8ÌsµV¯ñ´mÿ«QDi݃Põ—K/cÔÑxæ3X lNãÕ,4æ,ÄdaZÝï”IëJGí2Uʳ›Tt)¢‚†‰E=-anõT‰»Æ˸¢˜?¿joâÈOÅ2M••Ä¶êØ”‰Dÿ°yE³€FTÐK%[%ŸùÿKuÀñj-í$ïz8Kºœ¹ã|÷òV +Ø]Ú DÝP4÷3†Å,‘:{‰݇ˆ¡LIª0ÚIœŸg«W®¼Š«ó㦃£&øŽþš´j±)ÍÚ¼Ž_½Ã`!Þèv¡Úœn{6°½Á€Eså<ÔìnSBã™}kç@/0<5óù›öýPààŸT© ÎE¾%ú´„ Úk|©Ñ͆(ÄÉPÑ]Ú«²à({–sš¡Ê¼KF6˜ÄÞÍ‹9ö'Šš®@ö,"·›‡eá}ŒÄï¨ÅÒã÷Ý«ïžÿD-Hï@»¤r]0ŠZF…cXBñ›¯c Фáè¿< ˆÓS _1H˜ñ@97m¯´KÞHÓÌ?% ñ¥µUœþ“,mÈb’ìªæŒósÑEíØKýE^ÖW@œì¬(­<7Ý8VAa¯õ7¢Ýt½æ:¦M¹N£·Ÿ,¯i‘ª3YøBüÔ”*¿ û´Aäóu¾E‘x“åþHC*š¬°Ž¿ÏnF;ús¬W÷ÑXIÁrüÐË·M]"G»ÂœŸÁªGÍ·,Ú’‡i_O!F†lZpÛ;)—áOȇ›{ºÐx’¢¬Zä~…UÅê¡ÙÞ‹¸ˆ²Ü:’Ë ÆÇ)Ž›ƒ’[{`‹p¬‰ …K¼KòQm6¡`Ñ/hÙ..tûñ^#(j µF/VʬÍ<2OÃè»zV$á]E˜Íì&\Q¾¯Yï~çèú PD—-õw‚¶üµôÇ÷œ´YyÎa8’ñ­#ú#¤Œoad033üp@~I¥{éÉß’ˆª] „ Éãõ‹»÷Íâs€©ÕóÅ]Ï@‰k¬G¾/ÝØ$ï<¶Ð¹c²|]æÍüe2^lºnã­üÀ÷–0ò/P?#¸]ÔžÌ`è†WVlóŸô ÎÊŸÀ’üçCËË52NíˆdPÑ;3lqb(Àʇ OÓrÛ”åÔ:é@ˆÓåg!Èïnû”#?Å:JnºÌ‡Ü(„'ÍÍæ—JbE…ÀÀUkåî¬Ã[u×”SÝwJžNIì_u|\>ƒ¬Äš2¢}($îžhòÜþ{0²,3lJÌXºÜLžÝ¦OÈÒGf’{™ÂÂÿ”¥5x.*¾s”ELwÈ~|á¶)ñ.¾.PÒáB!žÜš·éÃ(åÎMôX»uØÚœíõo@Ä™³úšÉëÓŸs¾‘€ÄGßFºTb#ïDéËìè3d‡Ÿf¾Ýç6 úüÈ;ùÜg6m£hçì5¢Y ïK—‡EJ6`„*b9%úýƒZ:_¿¨!“ÒS¯vO„ŒŽ"åü|¹ÿÞêD¥Žôh ‘N~¼Ñ/²òýÑ£´À&°–Rb¾a#ç©rqbÏ‘»v*LÊe/•ùTûûåÒWáŒz(a¿1ºÞH7§žð²±«h3v$6_'¯úïKŠjPažú?×˳üG¬6yoM$ Ûg|p¥ X˜„íFU&?ML2& s)W äM·2°êËì˜îJ ôšŠÎo`î#{'´Âxe©ÆVÏ%錩ûòUXncc,±:âÕhµØË  ÿ3|1¬ª¨e›_An²ë“‰;4©B.Þ‹h±)~\7:X‹|N“¢”‡ jz³9}dÕ’¤êXŒöW…b#ˆˆÏ¯T”•èÀº5úëDåY¡–£@‘[a–ÓZ¹ÒÕók¡ËóM7ôB.Jÿ½ÿ#bÓCw€HžîEê\X 4À ‚*:žÀ€øÑð¶G."’‰ßC¢î?u@²‰ B[ãÆ5pz¼²é‡p2>Э”K«Fê5á$?%#íâu•¯«¸á&¦~d:xá¾zn‡˜4­|m*)@6(“ö<¤|c;¸•sùh¼cV›¹Ó/WÁû´®ì(B«Å¯ ê³ ô ¢y¤Bïpq[c#æ{>lHc}É1ÎÈŽû—_“F¸ª•Ý«­TÞ¹s.xÐÌ´Õ†¨ð”Ï\)åHL«ƒž€Ú¼MürØU#; ¶˜DÒAø²{¡©#.ZT3‰•©ÖTï>Á_ojgs>ßää(õE8g'àt¡ñ޽ÀSNg`n¯E]z<8$†ZùÚy¨0>}%ÿyÙæÞ¨’䪾„pÅ÷\¾Å’i#-Òˮň?Û7$úâ¤iñâŠ<˜hW}óXé›ü+àcƒuµƒ[¡¼–á\ç7á‚[r¹L}xó« 2m#`Ká9!ÓÉI²ÈàÖ±qæLª1_æM'½¶ë¼]z–Ç÷•ÞHRð@0“”ܤBº|ÉyK€¦#;Ú’%Â.ÞÏ,íŸ$įPË“’楂‘'“Bðò#§¦ã}$†¯K¾ª’Ž KÙt6¥TÅsu÷( ©j&g÷¿¶öLçÕ Ï~˺æÙ¼.ôÝ•5~J|ŸfŠ©—³#µB7ÝàÀAð‡úIƒÃY‘ã)>BÍõøJŸÆâÇï±»yà•VÓNÈfUQðp¾‹~ÂŒ‘¬ QÛ[G9+Š-óÇy”û’Ž9Û¡öüšú PŒfC ãø©`4ÏéèÂF¥øÍÖ:þ3â…&aª7¿O )áY|›aN3yúJÀ`,}“álô¹þ0ë rŒNÁ9“þó·‹-¼©³ïýoC#óý(Òi‚Ññ €×,ø:¿ó˜%ŠûkDdú©²eÃJT…ò—‡t¸ÏÀOºÇ{ÝÊÙpN žNxÊ“iÑSúì—4„¢¢ž%„ c•7ä*Eܯ€º÷¤4¤G#õPpçcºñß½9î 0º$@KÍȰؼ±ZóœSXöà4ÆçŠ˜)©SPiS}Wíë^Y šâwË ä€\˜ðpÍêî¤ÚIwξ÷•½ò—[}pÿߕд’ —FȰž–CÍ;p'AífƒMqhK´7d“ ÁÉO/ ˰”¿Ë6žzQÈÍ‚O¾ŽWÊL…ÁV0ë¦èV>¦<¿$¿9ˆËqâ¤$›2gïÀQÐM]·ˆ·â¢4X{%7›Æ—±t6ÇGmϸsÛÕ4@ ´õ&â0(žÉšeù‚”é …AÜ1;w%yVýÅNÓBÁÛé¤`uõw†°hU.£a›¦_E§É'ãÉBx[¨£ó¹ÛpëlÖºT”W¶ºn–y¦ßõ ²W(©á„S8ÈɳôU l.xñ“Ù¤©­h_–5 Ã8ሦ=Ñ^Ùe“ïÀ@äoÈ’»¶ê‹?ä¼íB…!²ÁšD+[õ^‰S84é̱Y´¤ÈNf7Î}ƒÇ³›H#rN®Èv¬H«äe²›h—¯åd:VïÎ~lt³ñ ^Õ%áàÕXÑ|¹³;…£Bts›̽¤yï…`2sm³V^`ølÊÞª ¢©91dˆ<§#ùgMªÑ‡öM‘òÓµ &ð-5>ɆÖ\ý yy!¹àkÇ(vBŸµYxÅqÚ.)¦ëæC3 YÙkž›' h+úT;öލÀ ÎDǾ&DìÀE‚Às¦˜e 1X“õ£bÝu,'0bkAh;FÔú%ÖÛ¸Ž%Ôïâ Öþ4¾ò[¾N6OR]6×/÷Æà¨N°Q¬2\ùqÀR¼¼ÓÐÙ¯O©Â…Ú=¶}˜B)žjR¼1¢Ý4f5>‘ì•… éÆë…4Âö„-ÛåpOCá¼S·-½I¸]¦ÃpÒ&¤Áˆ=mÝBSJ¬3sN¶4èŽB >!Ó™Ùr¹ ¾áûœ9ž+eçþ†äu° ¼ñ;·mfÊÔ¾ª*"“ÂĤ¯üݤTê¼™À?Ë•¦ïZá­'w ®ÉÏMíÇ„¯ƒ@6‚(¾DŠ~[·V¼"èRŸ—¡Ýµ‡WQ=¼ È“ñŽc‘/ÕÁhëj£ˆº‘ô§YŸï¾éÌA²òŠXnpéßS\ÔÂÕBûPWÍOÁzéóÞî¸u¾dy©_Kܓޣñj€Ã@W‡3\—Qì$ð„>KÏeZr<­›N¾ÇFÖæß‚tŸÉ*Éøfè~*v$çÛ ÈùL¦¯tó =—sÎK2,™<œq¯êL=E©ö&eÓàQòQ®ä4yß®ÌÅ—ôPNž³ Ñû #×é,@U½‹ŒŸ¼yé1¨re>ºÙ«eÁ™}Œ?ðZƒ­¸˜P •ç`¿öNŸôÌærq'MVγÆÎ<3ÌÏlÛ]Ê1Hì]¨åK»¾—v@ñ~ÿÒ÷:&ÏË#x–Ç"à Xð7œ¹Œ©_ï>ßD^ôDmNͰCÿ€¬Ž‰Ý€QPgx“—3 ”™::«ü)ûÿ ³ ~Žûže,Ùnß/bOnIT ß~ÄMáA¶ª·(¹fúWs=«†¼Á–xâ¹YNÂ96M9*âpõTMþì£FDù^+Èl¤ŽmùÿáŒE«yÿá>þ@pßUÜ5ìF,\©tN þ÷Y©§o?™’fþ«Ä4,c¦Ã½ ùNBŸŽ^¢áÅÍs ùkŠcg[^T„ÔâO·»¢KºS±ño¦Ó*0C9ÂHƒp$Z‰Ø’F›éöÿÙ†+ªüÉ-\œ³b4ÓÝ*íyŸ,‘Ǭ”ofÛi2^¾ S–æ‚aøiwÎi0ŽùGŸfš{qª%ÃËöêßy/Vq¢Ç×-~ÕŒ¿ª\)l¤‰±i°Åöl„?f~º‰u°ÔZ±Þª÷ç³ }—E®Îxf¼ÒáV œ×«W“ äÓõðÇWMÜÏŽ„¼¸lô ö¼"Bø!ò“Ó÷DH9ca1[y¶òTZqn@ãa‡¯YÖo³›èÙü&/N›Ðv7a°öÚ ´K~±‚¨]sH‰ªU了h€`Yšyî¤ùO› 2Þè“MÙÔõ†$Û|§¾ÖkqØŒ¢©@YŒ}ªô˜åU˜¹G\–¯œö Ô‘V.l]€Q¬çE€€NLq‹3Ç´@’¡š±uÆ}»ÏvIý1tk¶hö³ƒuÙÕ>­Ä.¹ñAã¡í¡ûßæë¡2éÞ¹ç?»,Ãì¥q9ÖÖŠ°˜È3g&Ñ uç1Ü1Fç/0ï–ù¥?€…çATV¦‘™yWì ;D¨FŽºBMm¸ªˆ O¦X6æ+ÇÍm˜=s„9No l-ÍäWú±¼½cÓ/6b¥w‰$ŒôŽ}'0¼!©j=:×~·6àÓJÉæ¯KV¶«» $=[CñÞcîBƒÒ¸©êy\!¬›RçÄäe9–Ñ~ŠS”0ŠôòÎãjÐ|n[ñ_€OóƒV>«ܳwžóÔkB“îîaç$öŠëØË$x«èìoéö”±;ö¿÷Ä91rc6\«›ç£kFÏì¹+ ˜A>ð« ­Ì£‰ÝÂ|ûOï‡5oñ§á"ãÜý¶Ñ’)N äýÔWHB<¦ Ú:…qç0£¯×c*¾»q6ZÑq„4)ï)§] ê^x¯< ëžóe"[)¬³ý_# š8ÙEÚ5Ó3õ èÑ8›XoJöPàTlà[ík©â µó&쯋 ,ÎIïâN0hãȆַöRš÷“’ø,D† \úKÅ}#›ßÕX3Ø»<Éô[Ø{n×€ø÷-aZ¥Šùu@M.Ì{–‹Þæ×P7‡ÝOg1Øýâ¿ÊIk†+_–댗¡‹³Y©¸téeB&Kû'ùÝ—çÉAí;Æ8 kµTR~гÁl 丫ÚüÐ'Mª-ý»´¸ãâT¦J&çîHE&Ö¶ŸþÊ]Îf!íç ÆûÇ"ÃR@[ |ôð©EE¾<Šxðu"Iƒ+€üµågNy4./v!9z}·zŸî!×€++ÅÉüAß¿¾ç:é·‘m¨Ð¥$DhbÈá6jÚ@­ÍÉ—ê}pŽÎ_-ÂÜ–’|š.t$]æ®ÍNÕ¥ ¯ƒrÁ¡×Ýèfëbìj¼€ñÊ ú[WžíJªø¨pÜ ý…¨$R ,ΕxñPÛб9ˆ}Ä\HÆß‡U½˜;ì &pE –Nµ›Ëé éÆd¶uQøÛP~¶k!—‹àϤ߯•“\ªŠgá¥^„;pO@Ψ”#l’ ÍÁ˜Œ9µc˜tî°*‘;Uýœ¿÷àjÈŠ.Í Îq[ÓÀ$H"óŠçúeœ \€)¶†"ù[g`q–È+%ø­“xÑa¤âñ1ÃÊçðz¸™¯Ró=vаÐ^mnU¤°GÎõz:FyjדŽö÷ëL4·I:âZer Œ<¾?l—vþ?‘+Øaˆe]˜&›¸™ÆÅï PwÂÉÁa=ƒo É,ÈÂÿéM+OO.Æ»¥µÅ]Š—ÇÑ‘ uUަô|« ¸ý'BO€„ÿãÜÅ*ú¡sÿöx*Ï>S{æât+ì_J® /+Ñu>ÄÔíúŽÝú&Æd‰Ð_`±{b¶(s÷&_NÏm¢zrVÙää4‘aÍÃÇV4f…h,ûv®V0Pßp”ÁrGkë]H×Z«4Ìœ õnðƒ[†j&DßÛ ÂÕA¿Q»{FÍ`þNZ ©òב^‡/‘ ÉRamú¡E „à0ß-³C:LÜ.jp¬LSž0B£ÃôXäIçdY¼w&F¸îš•7‘¢mH èqrþÀ÷r·ob çO}|xPã¨ðò35W†Ø„ÐæÏše\3تö6þñ´Í`õFC=‘ ßC˜:çÜb¨ÀÂRþød™54)(Œž¸íx‹B,»'z,Xˆú–)j0™ûéi¶3.RR9Ž/1šÄšD(7‘q1x‘ë÷.}{ñëö©—{3§è$uèܾ$Úùù[MÙ¼¦sŒVö£iLõ²!Ãꪷ;Jk_Od-0³$uó*Ö\o6Á\íYv } zi˜?Qyì”Ðæ°Ça½5r¤6]äuA-9ÍG¹n †|SÅ$ïììáÔvU¨)<°µ‹Ií™íqÑ@¿`Ù6G¯žB¿·ëÊš^r‹Ù&”™ñÐ7´}‰Öi žüd™Òpñ…QÚ ž ¤ûÁú*éª%mšjŒ|.<ûþ¨4Ÿˆ_è ämé›#bàÓR>¿ñÄx‚r½C&í¿qW¦RC›lQÿ»‰²Ž`X}›|ð^¿W%Y‡¹uôî³êÊ6´\«ò± ¸*×jleü yïó)$±‹ü2_+¥Ý¹'ýþÉ«í9WžÃ˜‰í®37T—ܾêXâ±xCÊ1ÐRa_s†CzÚÿ5¤éj³F¯ Ž˜Q‹zjdÿh©7P1‹ü†/me[[í'¬ä¸ã‰½Ð3âÐ[A­EpZ£=³˜Ç–ž'çYƓ畾ƒ„©‚2Ö¤ùÄ"Ý©gÙ˜ ÄRð$bÙ õÈvìm– Ár¼gû‡&1ä¡ã«:šª(K%Œ†F Âeĺò®-›Ï~ÅÒû}ÚR-Ôö(qÊñ %¶É&ëêpªŒÐS3ÓÁlCþØç*”€Ìã 7ØÄñ…ŸSKÁmj¾Ò&®É0>á/ uÌ–Ÿ]ÖÓÛçãxô´%ž '’ªÌ·`ѱ8¡ü(ý|,” â-y@ŽòÏÄ{–ùGøyº‚35WÎ  ÛÙ½O ^ßܨ!»>ùÍö/¬šÑ7Ñ“¥YLõ‰o â‹+ì>ˆWä|©ß†åúò†D 9öO=ôãë/îž ‹ýûÁþÚ°=d’ »©dʘ¶¨`ÁóQFÅ>y6á/&­®´Ó|³ã"(|z¨_CÁÜ%0„`ÐõËÐ1pöuâÁˆ8}cúqÑ4_ŠKŸâ®Ô·œ7ExØáh»oP®½"дˆ ËóÓñ½zúÁ"çÄÁí½+¢IÜu³tºÏe‰L+¾Ùá‚^| Í”‡ ÉÝ'â7ÕRÚf¹S+âЧ›å˜uc?( 7'^Š…¯¯•ï&4«5rHªD·‘#ÐFÕ™ÿ±%ðÁ½ë/m94î³ÓÙf+´ Ú岊z ˜â8¹½›ÌІ»é§¢âœ¼èóNRo ڽݴµ»aï­lõ˜ñÌò®Oe¤>Ûº#;³*·u#Ó²…[?–¾Mm­œŸ¿NªwU¯¸|T¶9gˆ‰¨A7:0=Öoω5’ßÙ{74ÀƒUð í*Õ+üìÄMµ¹X(¦¡y’+4= *Ä€Á@nWV`¼:ر&l«Ñ'}·¦ä¨;ÝÒ@|䉉óÈ‹Ù2£&R¨†g ét ^ßp¶½uÏÎàñ©ÐèªXG³•Û>8H- ,JÞ7Î~O·•(ÒÃæ .0Çè³ðÇm,ÞZ6=ð—‚,‚B­Y P9îÏ=º€^M]µN }46“ôäûÒ‚N’\~ +V-;-UØI[%ÂüÙ#ÝsXn_µ§®:ò])g}Öl3Ã2 ®…Öu¾]„ÊüæÝ».z…€`­šñWt»G‹‚Ö”íofHâxqYŒÂ߬€Çý eqéWŽnÂ6ð¨Tî#':ýDÞ·ŒÛòÅj$«¼¸ž‚D¥Âàù7ÄïqÕ4]QB÷ÖƒkYÂBy æî«½)¹8r~©ü±ëxÌÔ×›ÖK‚zÖø ‹zE}…Ñ4yæÐ2¦`bý6¯(µ#.•Å£ö«í?‘Ó¶t&û 2%¿“¨‡c@ÓžœRµ´SóXíØó\™ÌäŸL“é_=±Ó°£Ô뛬¨‰;E;u8V6A½ûo™Öú1€ñ€Ö-œ´i '…†v”|ŠK® Óôz&µ¼Â2¹ 2¬™¨ð”£aßár>*%ºŸUž$j¥Hñù©:vù¢%ÙÒ1ê:§ËÙ³ÐA™{±3ï‡!¶Á眓À~PbZòÎ$ÄïI$T“ÜC.Ùÿމ 9öW£ïØ<òBÂloZÙbXg©Åí~Nœõs8`³ó‹¬7ìjXîƒ,yIûã ,jNIµSßhu^…ȪýN_@±ÔÐ3¦Ö%mv6ŸÁ6ñŸT¬âCn þ·ü5EU6ºf‘É7ˆ%jÏ c1d¥Éna@äw34å½¢ã}ÒT>ñk-K5†ˆVQyúõL »MY^Ð8FU™ i£­ö Hʉ֋Ó+1ü)~’ JKÉР/ЈbZ¿z>À±AªH‘¾œß‰p\ÂØ^!k‹l,¦×áÿ.ZÿÂÞªªÅg%Jñ!M†RKM¿¹ÝK€ó~K*°˜:‹÷rÎxæ•ÌÀêTãcn]ëD£ëBï\½Î‡¾0£òì` &ë­ÛqôOX!Õø¼ â@×Q&!8Ö DNl$9U•‚ÔIž#eR_þ `à>B(2hFó ´êShTlcªÚ””»Ó?‰Í?W½¶£pïõ7H4§°zH% É Ñ®õ!Óýæ y8/ÒÖ— òÊŠ1„{ܯ™%û׈ ™È"šõ—a ­u™ïó×*vi%ùj ̉dÐ ÑÙj¤hÿæ?¸~µO§ÜkÇì8ÁÈÖi³Ê{Št¶‹¢«ÀA./m:yì6Á³ÞèÌßT~á~Øí­QíBM™‘äG­]"¼.†˜ª¤ ô·±‡Èƒh÷À:î8®é®F¸G¯èlÈ|ØÍ§˜-#f+¥×Ýê3ÓÚ{rÔDHIQ‡l +Nû°Mú÷,%bfºŽtÖ…ÄPË>Ïzé{I¡Œm&a÷便ڱq#ÐK.-œßV:oêÛÇ™ÜðÇ;‰³sÖ$ÊGÂJVâ3xowÇ /'?±bësøIŽéC/îL-Šº™"€Û½{Û¸™q%ìN57æWaÂMë·‹¢#Z \³ƒ®cÆÐÕþöþŸ"©íÌ#ðbæ¨Í°7l:§×J`|[sDBlT¡~*óç•òìRÍ¢ `­AˆŠôÁXãåý’îü¥íšç€E„8“iv1îB1ÖF²]áÛñZü©£¹>ØK󖂯.¨ ó£ñc«Æ«³X©uàDV ^ŠÅ®¼«Ó|Ùp]}ßéÛSVŸSôì¡úìQƒ2Ñ:œœŒœÈ;-F¹v „®Qãw½«Âí7æ? ·¬ãipÚ ŠU *Ê›E¿dÀþ %âpr P ü(8W4OhňÀh—vcZ“›úÌ(Éó¶Ã¥ªc/—EÝð– ﺸø2 ¿‹®-ÛeézïÍ(ÿxÒ!’lu>•Ù«26#ÑfZ£SêþKO '0¾¶Õ›Ù„Jº ‚=~DJ¥à»›^"T3χvN¢`–W÷¿¾ddJjó"¬fÈG>áæ¯Ý‘‘?Í_nÁ»Ã‚-ýg«vz>Çí}u[»:>îQ¨¤¿‰ yQKÿײp[1ç's®ìi‘Vµ0!S*Ÿ*˜"<=,¿ôQ-nK䯵ɰ¾Å˜Å¦ÑŸm¬ùLò|®²zÇ-ãþ¿Ó #ªùß””쌧¡´¸R“ZzÇ-\ììUËÕ©0jÜŠê仸cXwtkM“¯©¹Ö†C±ÙÇ P' íá®WsÁùêý >óxT‚ýœ~È}ÞÛ€PÖaná DEΖØG¡c~ ¬Œv"úŽÝZ ®q¤"̸“ÂïWS¢—ý1? ¨&½Ôé¯íû\s ÄçÏšp;zqÝñÜŠ•÷—©‹ØÚrÍ·ìübv#X±@«…ôMƒ–®?rlèë¸zr' ±†¼†~sذ´¸öxÅ7äò–1üØföí3B‚á ¥!ìÿEËûW[]ÙæVY’C¡©{‰õîÏèAšÔQåžµFÔÇ,Ó‘ƒ§l?øÉU£Ç»-›ÇY·\£šj‚=¹˜`Ç 7T¶ÃÃ}zy7PÞà5¦Äë•¥é1Sè >ä*¤•._D'Á@F„iˆD°0 ‚SÞºa'ŠšÕ)Ðø¦žC)(c}á0ì®=é嬄=Éš×¼_lQÈ<ç¸Õ_ ø–Žßn¥óÖõåiVÈÂfÊõVuZÛ ú8<’ffdbšpàåÖiªÀöç>å_- ºÚÕ¼òd°ò5XÑ¥§òaPØÆyËmíÙR» JBìOÎ%E€ÀíÈÍqKÕÌÛB@Ŭœl{G¿%–ÊûaLýz0}’c<šqˆ°]lÁxÑ£…µ¼}£¶‚¿Õ`8ç¾Ú©‡ï>!¼¾ËüßM (†ðÀ›×ß"¤3Zš¹kÈFÛ´|„¡T_Xµú™Ø*Ÿ|ªú“ܽíŒW@gÃ^jÛî`^W˜‚>¡*tH€d )è3Ïñ¾æÀO7Ûs‰Á`0HvH¶’<*4FO€¾?Œçg>å®{œð–êFk Êþ÷äFn¨óeÛÅ}g Źk]ùuy7…v»ìÖŽ±ì˜ø ©Vc޵RøNvF€A¯¯€ì'\¼PR)Ý;ÃFÆÌ@>ià–roÕNqD\SŸcüÕI¥Q$СعQ¨ÄyËRé$ ¥¦˜’¼»Ì ¤1ãI‹J ú âd[Üxvþe Ð­¼š5=í<†Ö1Ì[;Ó{$Åüä©‚«…!œn°Øy5^¼³ˆV=¹—÷úàcáIÍçûäßìÃí„J¨3Ä×ìf‚+¯&Ur‰Ëí­©¥Ì-ˆ×'ì‹cßš†â ´‘UA=ìÎ#Õ'EQuŒº{çröm~ž@ Ÿ8ãmùœËLŒi¡ÍÊhô²í"£ÃG pº£`ÇLU2¯f8h0)ÏçíéK#•íО]–÷îõ;dU‹àôµ PZ$š^püQI®Ø@ÉzVŠ\AMüôžy.[‹\…=6w¥)?Û%*‘¼½-»-ÈèL§©n¶d˜–Ž §sDå>«²KÀûΤ¾0ǾÉq³ŽìRØžykß®i ü@¾9¾ÍDp¿Õà3¢?Yj¯›lÀßĸÁì³.X|¿2¡êñn–ôª7YPˆ ÓèöEdyýáH›ºÅŸÄ “–’H4o{ð÷òƒg° VõÅì«YÊóóŠ qË-Æx[£ikb·ÖÖß±ééìë(`Ó§;‘röùýwº8hÃ%ã%F½a ëÇûSÆ¡f¸³Â]ßmJÝž¶kq¹ì·Œ™Ë©{Üw´³ «ºi¥Á¦ ÍAÔï°É&åî*þÆjà.§çF©øŽt¬GZ´¹Ì}å%¸C‘ˆ:PGH‡…px‹B±°§QÆ¿a8N}ú”*b`“<ëãqµ$ÂÕ¡=p†#ϕ㵧{Ù’õlðÔ<Äœ#ófHˆ²B<¨ Ì“B—+…¯*ÅëEïFŸ»3ÚÊ'u(Bq.Qøö: {*Ä-âþlüav¸ÊA?4*skÔÚ2ºš=;²+×ê¸w®µ¥•IqÞ­IѰ'–Ú¼êÉíu¹%påÀƒkïg 3Ðå5ųW ”êö;ŠwØŠ'׳@uÕ³îkÄ<*ÕSBÓ„H4«Läæè/Òô¶6d•çôgÊv¢â$ šþÃ? “m]’GWLNõf5­Ù~%브ƹÜ4ö‚á›…~sŠp]ý©P&Ù‘¸>Ÿ6›&P‡±ÖMy”:ƒXŠ!þ²Vz”Ø}?qÍ=÷õ\7O‚1?ªŒã*ø‹p‰<‘yÛGÉ!uÛ *JBèÓäõ8~þ„°-h³" ú‚¶]æø#I^PÙçHM— ‘xz¨| ?„I—1DnJü ÐS¶ÌŸÚˆ­ÿa&_}ÊT4ÑÊÓÖ ´¸@¢¯§Å.ÎïæØã˜¿6Ñ» &]½Ë0‘;Т4/OqGÅ´£_'G³@©M;áóXANt¿;Ñ#pÙ)ÐÎd²³ÏD>BO­IÃû+º˜]Ï©4,§{õnýí›àÏ¿?Þu-QÒ®Ê6öí¬Q~wÙÿÊ÷Š?zþäÅDZʼ† ð¹dã"–J…Ú²†{ß.!3µ»­ÀÔ2¿®ðÄuâüw‰3I/‰×¿ b)©tÒ3)¤¦.·íµóã«l{£ã3teú‡»V•xî!Ù8±Eî'¬Ù%˜7?µvÉ55y"Pñ©áñ•6†‰ˆ´Ïkœþ{Ð[cÓ3*3¶ †‹ác;A«xu© å«Ì…⬒@Âö ¸aC­Î—êòU£ÙÅ™BtKŸ©äWÿö@ØÌ}ô‡»[ÛQagS]Jø,žV/ÌR|‹6 J[?ë(¼Dý–›“î(™‚ŽÌQü~9ü‚lçÑÍîw)­¸"ÿJ5¡²•ž "è aÖC¨E™fnO·:PZŒÐÝÒ^ð«'ïtªŠúp_ÙIY±%ÃÝæ» gû¢¥Ó9mpC4žnð"ŸUšt¥¤q£„ vNå­!Ž$ævþ„7í7„. „-h8ÖX.Œ|ü’P\‘1½¡‰3oþvqà50´‘éXÊm¸ÈuýÄsqŸª„ `¯.®®~ð‘ÓÈP3ÅçŸ,<’I8dÕÕ³¿Nà4{aI½¢®$ò j '7é5Ä´ìŒôE¨ÇI[dz¡šüµ\З.w}áÿÀïÑ6‚ P©{{<ä,œ –U§LKf支¨xºs›oÓºj¿ÜÃøy7¸ÏÀûø¶ÉREtKáçû¹¶#;•ØmÇT4.;’ x/ŸËõþÀ¨ty!œ(2ù£]VíàÃÍCßÏð2r‚ßGÔWíÄF2wMáµ€D„;Þh(IJæ†Þy‘ŒÛ»­OƒWÏqò4e§HjjAçf0jÉË4®…™ tJ£¶_RpΜíìr¾2vÖ‡~1~†/—"ÓÁàkð<»0ôN=IòWEA y\À?¦÷Ñ¡`•Ûe2I½¹)Õ6m}éøú‘ø8 q­õp†N‘Ê}„a¸ìvÙì~¦| Ù8ž›ÏjŒdH…MÇ.Žš½š?b˜¯9®Å[„ÈL eÔÝöÄŽo蟚*)޳÷!z,¡14›z¡˜æý¹ÎÁCÜus|™’æÖ¿À~àE;ÀâÛÔ 4j–ÁâMwŤüz‹«VQÂPm]µ«xÛúYqÛ5´M)ï#^}›Yä$ÃÔ»¥. Ó«o„r=rò$è,-Âü¨„0‘€çÿ |3m¼Tó)¬tkA~µ_ÌBÅŸ‚ñÅ0Ÿ>Þœ úú®@1Žå$rÛp~6{úÏØÓ(rˆRùt>Rл¦ ¨Où¾—8ª=sÃøIé ÊÎG[=8æÐšåFÆ›<¼8ŠHÓÃáK¨…À¹!p­/¢Âù·:H @ ;ž™©u»hä•oèXœìà™fÆìà>"ð;J;õªloV•º°Ó„î.†a£Æ–^z-=„QFIa»§Ž`øÜ†÷ä,ãyÛC罿ӨR‚âÂ[Eßs±ÆëÔ°5¡• `ç„>T*ŒÕäi7ÉÉžm§%àqnˆWì{ÒIðޮΒˠÎwªw1&@žð¶x–­ˆÇœE"d Œ€QùºÝIÊòÌN9ÏÕ·ªQëy‘åXk¡>TD@Üö;3€–:ŽÏÓHâL –ð´Àh~èW6ìðÎ?”„fƒãwïax„Ákê‘»Zz<¶Ò@§7Î ´áY|î§9¶àT]þÜ6ÿ÷#æZÊOLm:Ù»õ4jV7ÛSé Yî]ßúUØ.¬VÓmñÍ«y5€r[µúNp7IUó{íeöÖî!ÇVξq0Û/øOÍhj#Õ-Ö‹á0Z1Âêµqçþû»¶Ç]Dè0 WòªÕ1LÄÕòÛ”q9ˆR84b6E„‰[¨•¤(·ö±ÅTS‡ZøÈ’[¶ Dºî·Ä g¯ƒû4_-jê Þvåk¡yù‡¡ °¯ô¿Þ»Î “ÿÐ`÷MÕÓâñTGˆœr§çÑ4Së–´Œ™Ø8Ç“:Q±9ò&(Xâ¼­^tµ¿ÔºôL€KGŠñ¹G\ëâœôué˜ß µ}øåï̃èçä%P•¥GŠ›7‡Èf èp-V®™ÿtqÕK·–_õ/Üá2>uñª•Íu°¥þ¸i—Èo ±O‡ƒ¤Ã4qq•ŸtVç#bž—öjY¾aœûÉ·$ÎÄ¥„ø¦UBm¡DËÕ@½ï‘’é‹Î) BÖ“—xþ@«ž{¼ðx‹á®º zØV¿ ÁÝü—Âz k¿ë*®ð²èÀ ¶ÿO+O}ª‚>ˆ„ß°À/_^5+l04Ý÷ \Àtt½Ù¼¾ÝÅ€…·¢æ²_’gè¾nËÙº ¼2Úï÷Ó§üгËì-n7ᛨtåùÛˆˆ­„vð›èA>º¬|9Z\ÛxRDÉhWg˜—7ÿBRn.cù¢•W3Ðt}ˤæÈÛÝÖëMÓ„á¾!ËxôêˈÉZMá GÝÄÑ“öŠákú+&ëî»—²J¢´ÜáæÔs[¸S‘#QE9âÄ3/Íèl~k ILŽô=ô-[Ÿ¸¿a*tA;>Äÿxn ôÉß‚D"Uzijb#íXÛÚþõƒR«#ÄÄ3\6 dÈïÅs?­.\ä??ðÝÐwpybZ=š<ÆÞ‡/@¸ÒíŸ%µK®vÅ…Sâäð ­Ã7W™ ²r¯ˆ®2Ï«½ï¹™ 4qÆ[hÑ´‰ZiÕž„YaüцϬ“¥õ™òÁcÖγT$Œ+'^8}Ž]Jw /õ<ýÀ5Ì“€Í{@¶|¾Ð÷Ͳ ^ÛàªGPŽb”*¡=ÔÒ[–ï«0¶ç4êY‡æ†î,”8ÑH±‰—îêg æþNS>ñNm©2ºBÔú ö`Ñð¯V©iÃì—˺^UÛ£EÚëX ‡¶&Pü¸­µA7¸µÃÊþ5Ïò¯1—ÏÞo-*ˆ%H©gÕ’d­¼œgJÁþ=dÆÔ©¦X²•Cl¢0L}í« ´¬1=©¢ÃW-Å ’åÛur$°­ÞŽü1~\BãÖ}‚µá6X|+Ž2^ ·öæK‡´Z ó ¤$¨veÑ4çµö\úPæ1®mf‚¥kApŒÌÁñ1$/Œðò¾Ò±íýq´ wu¢Oçú¨mf#,  ˜Žò©çÌ-ó»e åíÙ¦‘*.q™€LT¤ÛVÔ¼KG`7+,ïÔ0XI‚ÅíÔ·DU¤d pKSšíS¿Hº¬¤ï¼D5OGAéPÓMfòß+6×[Ðt¢Ë”´åafÉ÷´N©²7¬Ï2¾»,z*;Vhg”uoAi¬áHyl©j9 +"mªïSÑÉ:­»3æªH… [‰'øDìò?ŸäTσ¡;ÌJ‘ð²€Åü£õQ†‡+(—#XÁÞ9Uð™zR¥ÈØõõ0SÁ|³i¼_«>o¶xgÊ¤ÅØuÆ[ÓGwÕ ”•Ë“W“ÕN‡Aަ砟Æ(œ˜P‰”®ˆDÚzO¡77é×9|¡WM>C¢·J óŠüê.ŒðV°ßj³©ÉfºÅší§(N¦M‡5VZk‘§-Î\†bWÀa§ÆÑ¤ƒ…{¯`µ†Ü©D9åAÇV:˜’9M^³Ç<¸9lª¦ÝEÕžÇ3ü«ðTz ¤keÁîjþT‚@c†€È Ïo£Åƒ;xçØ°œÈßFy©™×ÝeH?•ßX 9/ÅÑÇ&õ}8_`1Éï.Ãf•P~eµÂ–8—ž(qÉ–Û‚ßmõ_ÔLäÓ`ãïoÉã„Ñ‚M3›ªס¾‰;ãØöq¤C`î$þ+Úà?—*Çõ8êsÕ %Д£®òH×&¯±Á‘àé8ê#KJ»½S+â™ùD½ PÔÆfäQNWã -‚)¶XƼ¼ `'UæA£^‹—{pª=Öû<Ûà—%°~Ñ®Å^¹±]DƒÜ q‰·Çl`‡(dE ikþç†îâæôE"ñ©\(Õyvr4&Ÿe©Â@ÈŒÿÄ¿ýÂh o1W‘~ù2sZ½dŽ~Žxà £,ÈväJÉŒ'ZÕýÿÄÓUÀ:˜0+$ÄÄŽÌ®¸õôñ<öy•‹…áÆXÊ—áé]ZedwTí®w5 }Ê¢C%°ë„ö´ðu}x³¨1´Å…2¼ÕjÙþRÙ*%Kƒ.i–íõëI¢¬'„ÿÕä.Ä@„„K$ QûõßüTÎT¶Fo’•dõwŸ[¬Ç>u’öMGÂÙ‘7« ‚º‰?êõG Qg€ó†¿«”q\#›U7Ü„+îÒÊ,’ùø{UÔÛ °Ø>ƒÙW¼`ŠUXã™·pãðkžH’ë):6Ù*Uo«M”‹w§PÉý|1‡(x)_KË'7*ìæzÿºÞMYûMÁUTÒúÈjj.Oÿ#qJIÓ’ùd}½ËÇ»çG¨RÓþ ~’@îãŽïªÚ‘±Ì§cGB#„Š=sÄµ× ¿jœüm¡ÁµÈ]^)Ø‘ÝAJIE­.k¤hþ*ØZ¼Ô:ßùòYÒG­3Iæ@¸´ð‚-À§t‘–x;™Ã&è<ÈÖ<¿ïmõ.NœU@D“^S»Ö7‹ÊtÄÞ½&–d‹! ©»Hže GÚ3bćߕ¥Ö²¹Âc.Ô…è_X<’ÀµRð~ÎÙA ׬q¡­çs‰’á+¥Ü¸Ý-Ô”sàjÉsdzqÛà#3¹K¯…Ïÿ!ßøðk´Z!aŠ#›¼sÖŸL&ôîT®ä(9žÐj'£ÂÐMö¾AÙrøõ‘¦mlÒÄ·¯LÕ^ûrgÏH{ƒ^È!Rc¡ÞÁ#”O±Ë¤Æë$%ë@û Ì,_Ë£]fý×£•¾¢F¯F˜)/ÿجùn³€ª-™94ؼ` ctHÚŽÙ‰Önôñ|‡½Ñ–uDŒúS˜"Ì_Dÿš%+ym‰G DP× Z? ú…ÀÐÓÏ‘¬ƒzè£6ÎËï Ä ƒâQY©¿ýÄAÂèÑKM1†îpãÒÏ6®îv³E™hö¶.ÏJÉJèß[ì÷:vv/®¾gr(×"L^ÒÍ¢m* ±Í “)¥yöšz"Ú;*‹DqTp µùa?TZ>‡?lgEvAäB™´sBM¦“Ê|«2CKH©ŠƒH[b/OŸ—ÉAfÇ?ˆÆàñ^Â^+·IõñeÎ8×î{îQd¸ì¥ÐÅ·÷` âØ÷Ÿ¸KÌôãf! ØkaÜaÉ—¾¦þå¢ØÍ¬¾S‹T;5ih‚Ú¦sÏR‹ïƒTmlAó LÑó Cî"’l Ì~ƒ«#„/ÆL1޼«žƒXÌç=Ý…òªaéÍ5NEÈJ½jad¨ÒÈ"Ò È꼛%lŠð¸÷×µÙ,ft}’9‹&4GÿuÒ‰¦ª`êæ^ºð³@™¨Åãn¥À8öCP4J»‹±dn .í^’<“\=Þ³‘i1ÂaÙp˰¤“Ç÷çŸJøU7ïÒ¥m†™Û9gr)€çj>çx¨‡*6ûÌ”Ci;¸2–àòŸK ÆTÒkrŸ ×’§z”y½Žo–±}‡B}@C”\]•ØæÍ!‹^ÆHçIÖ$ba ôO`¯l–&µaödõƒúºˆaÄÏ´–„)hÞk()ië3^ÝʶuóIâc—O]&›´::#muÂu+˜PH]]:÷lŠTÚtÝ,ï{¼¾³Ëfã§w—:l¯¤ˆôà ¡•9…ÃmóÐÌ)MoÙÌ›,5À­nJVÎc.µP-g î±è%C¹hI Ü<ž,’ŠéoÍ&õ‹äÔ.›ì\9#ÃÐÜeäP_ 0»Þpºßz‚?rtbj×Þ(©Ç©_Õî$«{koúٸťÉç'úNwhlºUÃÖíóÓ$l ¼äð˜ó Z¼Vg§pHÕø* tÀÍ^ú)úî(ñLtŠç\}ÌÝá8rÀ9vQ¹¤XŒ»d«¥.T¢<àTõžÇ?§¤;9³~–ˆ%+µž±²¥N"OëPhO¢t’O³ßëø¨= ›û¿Q¼y#¤«Wyu|'Їá§)*Ý3åâ¢~®+9VÒ)`d܈@ ¡¥®}ðãXÊ4•gšH{G1öQt'p<4~X0ú Ðé ãq\{‰S;8Ç1Z O«:L *!œ€òÏ!ôéE#}¦=+-º«dŠÑ:uÎú]#SRðBü2D§ÄŒDµWCþ ûwC2>QK}„W®·Ji_¢ÝêW‹à½ŽUt ¸g¾¶Æ^þ²>gLšéÛàD·«®ÏÜ ¢d+à”Žö:„BÆVk‹¢BaÕkîÐíSÚe›Ì¢´½Ü.²Btyoçëq¿Ví•Y /Z‘U_OÅ÷çýò¹ci%i1_‹µ?ÖWºƒ™·ÝjÖ¥=7dþûÔ{Ë àP)=šŠÇï(Lúѵ÷ábžŒœF¨M¶[6TD>blÑCõk@»i—9n ¹‚ÿÁþ±ƒqôÒ íFé YŠ¿» ‘X óro¯Ó:£ƒ#­ éÿ?Ù£§DRÑã?Toõ¨ ›¬²6P!œY#ftp{//~¼Öà Ò•s[K[R&¹#Õž*‚åìq¤ÀÓ£Ýþ§~¯¹TTí¬Û^±ɯØaj/¾`gû•ô£–QçMƒÓ(û‡iú fïÈÿÇկĶïuêƒD)ý¡›§ž½¤‚S¨DeûÓ=¿¶”_²×Nê8\¦Ö½0¦4¥Î;÷øÒˆÓAà˜ÍÑ}IÑyxOýÞtHk—Tnq³ÙÛG+•=KÀ±éF¸Ü$ §.¥ ²—îŒ w‚l~{8}\Sà8@Nˆýø0¹»Ò}Vº&'‡ ¬©Q!ŸÔZ_Œ¥x”ƒº*ï: 'Ô²»D µN,Å‚m„Ö‰sFj©áº-¨HÆ òm×#;Âlz£'Ͼ3C½Œ†ŒaíëCÿô]<Î[Gj«J…Ô××V“âT "R˜c9AÛª¯Z ÷ó©n°?ˆ¾yÁp?Ý0¨D’j+©Òk¬!/IäúÄ·‡.&!1:]gÀ;6sïöCŠ›« ‚$—¢ç±H+ï_í3ä§PÒäkêÆïïªÆÑ0ɚךè[j¯ ·Å¬…L‰]×MèD9-Ó'C<6.V3w@Y8M ¢ô%·ãvÒt{1ÊÇž»¿XÀ}¦+ÀÏt–¸“5mðå;ø.WžÂË?ï×{:#»2w«Dçx%¹·h öH2çé¾Q¶™X¬xóXMñâ⽂ë ÈI²õ†¹‡ðâCð1‰†3JwrÒºZe¦õÁ«ÂC)倜 R?%Ÿù›]R.ÃþtVZiãŒøô‘wkÊ'UhM€óíXj å¹:æÿ®erS ZÜÀôï””&س: Ï7 Pê1 »¤|µûLLÆ«6z[H!"utfxÐS}]!aÒÿHfØ(fó»¡[À¿'~CËZvP u>¼Zg÷/ßÖ…d…˜¾¾JHçaH~þžð-IþÛ¸n¦$4Y†õGÝHËYÎr¯c‰ñÂA›6Gçw¶ëÁ¼*Ljp|T·è¬[ޱµT“¿Fþú©OefÕ÷s:ÕâÕÁ¯ã 2Ò¡h…ªjŒ­ÈZjÉàÃõ¨¤sѽ»! üÕ¶øÃ éŒ.œc“·o2Ñ¦Š¶{™›‰9†oMÅh¿à±1@šåŒ6ºÀJ¤̩ȣêãLx¥2—òÄÿàÎÊ­p8ÇzU§×“:ËÍä‡^`a}`·ÔkTÒ‰PÞHoÑäá&5‹ËKãs°«+Ñ`á¥B  1¤_eÕ9þÍD|þ±²Œ9£@©¤²¯õ¼6« Ê9iöüŠã1îP³Þ"ad°£z¢ÛF’8 øø^\H°iupu:_dÑ,ây3ݼT³Gð6jY=zñ©@ÿòP}4uÖVH×jÍŸ™ªH»çí’sP¸wS±KÎ £ýi̡Ŀ’•1%l×­±¸fî¨=‹àzÙƒí¬Ñ °Ý„s„§Þ·ö!ùIõ:CÛequ’QôXØ, JÜ0äVêyÞŽ÷{ô*6ÎOC†@‚°Ï¡ú ¿<ùS «ÔÐ"Uý¼K#çZ*Õ_l6è€Ú­lÞ–(„k»oVõVïT‡Ûž½áKÇbseÓß©ˆ¡UJ²#n ßf²FX-¥G}?äC«¬iö\>öפQuJ5aaDM±æÚRâ{ýw“4€yØÄݘ,Ó".£“L6gÎ5öâ9]xHÂXhÛÞ\cI\ÏÔß”sÙ[ª¶¨iäñŒü“½!TZ~Ä’BÂ8} ?Ãö´´ýCk¸¤Œb7'BÔÑ¥Ü]§_½"34æg°P¥]»!ÿxKÞoK«ùÆ„Hh«ío²ò$ ^¶Œ2Á}ZÃH=Mk/~FAº;QNU¬¡(uZù©™,üø¥<äô'o±*÷·DÄœ_·‹®sh?ûýyxHêc#Q¨av†J¥l5œÚsjÖ5"¯ÜþBåó(_FNǧ¸æ­~Wì€Ezi 4¤`‘ìÿ%UËé²÷—Î?„ò¼¶4BÝòGä—ª»ýƒ,4£àÖ’}æÇ¤*[ÕùJåà$§›qeÙW±ÜTžÂ-î‡Ò‡Ì“æ—ô÷ÆÛW*k*IeøÎ]«oí‚F-HòÏ:úcî”ÉíûÌÎÄpN(Ö/7³ðEv¢ûW _{7ºÊ`ðEg•“0„_Ip_½gõ» Š9™ðm3†ŽËŠòĦöqWü¤kà3%†ÙŽ\« `~q«YÖí¬‡õ™8ƒ}Å: ‹G Št.֦øW» |ˆö dàë1QÜ´õ/+L‚Dn“¡ºƒß1ÂÕõü«“T¥ïDFé|ŠÃ^R~Ô5ÓXª'¬¬s&ª´Í¾9½Îµo(çê(œÙEœé¥I¢§T°'ªäÓYM> w×ûRgÀçh‘¹Í1T^vulD5âs®Á¬Õ«½yCMgT}ÉãYÐØæd©i¦*Ñ R‘`óξgk ô-ÿ¨¶_Y¸ÞÖÿÊ "BŒ§e`³c-7ùT~¶J¹!ñ¯ùxÚ´°ì¿¡/Ë a›¢—…3‘Õ™‰å›Ò^J¦ikåÙå)ÆÔ]~Þ ã¶ ¾æî{2YP’¸=öhëKû¬à€³Cݨ£§GˆµttîRÞŽ­I@ô[ׂ:>ë"ùBa<ãÔè ð2Ò¼/[I[zVô×E5£=Œ|eš,C‚ïÐ"-ˆªesÑÎÍY¬ñCæðŽ^NßÎùxå@ÚˆH°cªsg»‘rÁ"ÛȤI³šôš ½ÒòF0Wñcì;‚(]vêÑkžd¡%&¦Ùpo;K’ÈÛÊÞ5ØÑ_/!¤âEw›¾¤h—ó=Ó©jS¯² ÅÝ€âøÈÙ“<°þ¦ÀìO‰[ËDcš†gC`ßIb%áuÎ~W.'Ym¬›cD¡dÜ•f5’3aÁèu S§lã-á÷j«ftÍ/µëYê0_÷ˆiÃÙ£}_Z õ“òÆ?¤‘a¢ÖxçÍ9Ú‚¹Õ¢fUã`2(ÕênÝ附Ù(!£•pèËj}*{B &—#*ÖäYÇÖ?=ò߃ÐhÆU*ŸF*" ã2ÇtÿT÷Ï\KJÛ¼ßí=÷ÍY»GÁ(áÜÎÁ99Êéx’U€´‰µè*2›ÊG¼=¿#ê‡QÑ麙„‚3`ü«åÕÑ*-¯'&ù©åc™ S޵(Áh^½'Éz m$6™‰[b¾òZ†Ô¾êöBo}mÎŒó ¥s (kô@I&LиÈÛûá¬xSºdÉÿ¿”¶+Ù©Äâ¬}w.£¢!L° ì›guü`úÖWä2*†Â"^ùÔ™'éíJû² y¹$LâL: ž#æè,ÉѲøu1ˆÇÒnë« {8Žž˜XÚ2¼Bg ôUÁ>CÁ ôË}<¢‘ ­$†:ËÂYV4¦²Üi¿ áÁ »ªNz…GP7Ä ˆ}r¼€ÀpÑȾ&x`Øß‡2‘‡Ù< ÀËE§ôk5áÇ9¹°\]”H¤àµ•kbœô.I|*ùJ™)9è G «4Ÿ’Ló úˆÈÌ8ý#üÇÔÓ;'3rl:c®Z”=»Â¹Cxúš•èþ>4-è]V5©k¹î:F’á#ä`šC×$_1¤ü"IνÎV—¢•îhô[7]kv$ÅýázðqwÎýáìj«ß‰µÓL’ÉÑìºS…íÎà@šiÐ7±Ül»Üñ&=ÚšðA ŽŠ¨ÐQ<ä 3 “ôÁ°«¨aXeG[˪ EÇ’‚²´)´¸ã‹rê‚ÍågKí¦»áˆüIa,iëUU(ÿOÍ9ás÷" ~BìúF‹kÙnt(Ë~óDøPlŠ_BnGÇG¤ÝÊ[hÌsl­1ëM`žŸ£gFèrHjKù`+©Q›k_©nïÚòï³ CÁ2¬þ$ôýó•\®Š£—D£Éß§_iÍÏ“>t í1Ì•:Õÿ‡ü®µ¡«<†*{ÝÏÚÅÁ¸»*²ú®–JkPnZ{öujy^:ËSØH L¥Ù¦K:npà#.CXÇfý§A=‹j™ÕÁrÇíðÌ¢ 7Æ+yég‡PŒšr+Á¤5Fäªo<É£E:–8ùÑååk=ž&•«Ze¸•ݾfe”ì@Ú-9Œý<¸Š|#qò˰ÿOáÔp†°/» DZyI$;;®úì =ų4Û±Æ}¶ÁpTŽÚÊÏp:©SÜ/²–³?³AORÎMÙɹàmШOÆÉª¤]9Qéqù!lù4mˆWo{?Ày  []iÉ;£³’6ïx¤ ÷¦ü}crìt*Þ3‰|Pqºÿ–*žoc f¬KsŠL…]¹[*i‹”SÀGÞzóÙ<È…é.t#§õ×bºsƒÇÕÛ"¹M©Ü³|^ã9û•ÐS^=`Á1é·¹²ÛÓJVŽqñ½$‡ßï”ÊÁ µ®º®]×>¸VIÜ[ÄëêNS²·Ê®p´a¬%xµ²È œ¬$2 „Ök’+‹ +0xí·vßO×Ú06—™6‚¯{ØŒúGcîFÙí(.Ár Ø<;µ”væÖ1³7õJb¦æ¤åêDIIgð½ZÙù¶ñP÷²ONþ¹Þ é0 ½ Ž|ŸMéÛmd!3¯1éîºU+æQ×bâ϶ô0vºëäîYÙ"æ,”Â-dž9Ù®øtÝÒÇ1ÇÝ ¾x*Æd‚è—fTåÝN¤ŠþZ‘×Û,Øú‘xQêËPp*$Ùãâ)åyQ÷þ$GÞUt,ïh ’RÒ4ö|„ü>éìè¹ —U¢ðvT£¥Ñþ`}PFîgƳ©2m`#A˜æ-6YØŠ¾?‰g¸¦=1»­™ â–¥ïÃB¯=)bÖ6ïÚZ¿!Ÿ¤’æÔâûé&$"ë„Ѹí]{SC`X'ŠÞ&Ê`ÇŸé¦YuRЈ–SÍÍ®ðƒŽÝÀ÷ã7ÐWÓ¢^áûg¼ó<Ènž¥¯—É­ñ¤Þúö·æî».ÏA/¤ÿpDùU3WæMí:û,z#qБۚav¦GOuï;ñøÔžæwµÃ§Ã„í>èð­P‡1èä˯0*ôs¥¬¹‹YðtÏþofÑRMôEÐe“ÂÍ.Ú”· 75`—bÏ@¹YŸt†Öö{P,ÒÊxJ7zë±æÛî{sÙÎ3¬% ½@SP§a׳r)£”‡QéžnšyÑàÌÄRëßÞô+k¸u4ÿÊjqdíU7Z9‹ÀÆåTâ.¤¹^ßlõ¬]NÿËb!f¬‹ Œk5*GìUª@HñzËCtú:ȤMV¸(¸W&4¦LŒ{òÀ%+b®bŸ Vt¶ na]+¨ùŒ­ª aeB­º¬ÏV;v>²ŒC™- „…ÿÁƒ¼|„:bg[€Áš¬\_a㺢½ˆX˜r3Ò`^9³möuE –J5(™iDãñ=Kjs–6œ&øqÅvs'’+]+8œ´'ÉŠôÖº»dƳaŽ~êöoKv°ëÝCoè{AUœ°¶Dt;v>Uî¦Aë6ᤩi3¹k¢²Và.„ù¨ðžÎ< üÈdŸ½ò%!ís‹Ôªk¢ÖêȪ®Á!¯ÖrS %/’ç†å,6‚Ù-àÆ}{؆%=9¾Ð“){òæòE.?7÷;Uôõáç$@ õ1û‘–„ÚÜÉqCú62\¾XgÊ­¦päèbˆ+#ý©»œ8WP'›PžÜÕòsSoîlëæ+Ê:Õh°š³ql°3ÞŽ+<«+Ëq‚È6¹å;§Ç÷^Hq I¢â ¾u©~Æ·Ç« =„{0è—«þ¸ÈCæÝïiÊÙ€uEX¢4j³·[ùïíâ­Çø`‰ËHïP/Qµ+l§Ó ¨þ·æ$¾íÈ^ YM0nR[ ÌúÍ-“BgVfˆgOggc>‹ Z Ï8½‚ü”¸¯ö Á€á³}¨Ê»Éz[9›ÂrX€ER ÀªŸ¼´:ç¤wöÙ»­L³A;R„ƒˆêÙ8┉8ã§<_âO j7)ð 1v»½ò½!ƒeÀ!øõfüùõŸÊmbo €°o‰óãNYÛù'dhçeo´”FwvOGCÆÏˆÖK(®Ç¯?çîìIÆ ­ŒÁ(&“_Û,N8O‡nÝYOG}Ì$w>»O—½‰+¹‘"l‰y"º†Š$ÊD­jØô@ ãí_j1Ê JÊÃe¡¯«tazÒçî3çó1Ã(Å~aRÉöX^}· –œ©L‰tï}3³¶‡ ±ˆ#Dwé÷’•îžõl áÒcß3ñÜå«2å_•‚ñÙ̺÷QqÞ\åKž¯Ë›X:Ä&~‚N6ÞU9¿ ú[R î9ì|oà±ogD[ó >­Ö—‡º˜2ìÃmä@«fOB•q~Uek‹~=ÅE„ßz+Ú M1Yg^SaºÍM¿«5xHj@_¿Ú¥}b]ž_:œöØ'A¿_ï{Ì¿Äý€Û ÿè|~¥£ýùõŠ^†ÒÀóWz\ZRÂfð‘UØ•/ß».ÿªC¯B±R¡!:„DŽ žÄK¶#iج„†éô[fÜß] 4£ûžŒË®!ž@Á‡,ð^ͳâȶåÐ¥hµl(öÒ0~ôþìŽH ×™•ã·Ã&\N¬úÊÞÐY<ëÝÅU"ô Qtú=êj£FW¯Æä4¾Î7ªº„¿m”IßhzSé“÷ãåŒWÁãÔQx·6_vPë4í30s=3”¯Z€‰ƒÇ–IÏŒ,þÕ¥‡úÝfÈÇ܇{…?않YGˆNr¾šF^¦_OÙ (<ÝõýIã©ÊŽ8û›à~BLgmo\Wj¯Ì_UÀÕµF=ð˜´]™£ãP40!ýÃ;kº*}<|q© ½Q¥’Û·ªéF×ð x&/¿jaù0< ågjƒwÕºŽ±ׇ1?蜖…4— ûÝ‚M£Hr…rÙpÀÖh$‡)S—ˆw+‹š©&L]ñT§Ü‘j¸ccaQˆN0ê¿0´þø¡þìkÑF/  |žÙwŸô©é‚Í²Šº9Æ9„ÖnZèÎÚúü_^O·,8·€ë|”§74¡9KG*0ü‰"ôæo¼óKlµ´³]ó*âpÉSÇ®B¡Ø?|±pガò¸fà«”^lG2"ÓV\ÔÞ£ }ÉD9I¸Â”†N ¾¾÷¤ÐÕ¤ ŽunÑ¥1œûB¬$q]SëÊyã¥ô‘Û £=”º ¥ÑT'‚ÅènàõÚ"€›ŒWØ-ü¯‡ÝR±A œ:/Æ•[£™ ážA"1¨|zPÂg©ïS%³p Å̆õT~÷_8¯¯&/?i´_ìýš.¥–½o6s½º&–ÒïÇxJÙç£:Ëÿµ³«Íßv£—[+£)ÖAhîÇ«FëÑCõNÞ˜¬XÂHaP%)@pY.ïàleÊy‚h:£ÄéèÙ”bùL×~™º]k¿ÑÚfâç‹ÖE÷¤­að7”ô …ËM^˜j\oäø¿¡˜dYQ–=‹Åöøõ&æð~ÜM_¨ÖðrápŒÖ‘ˆ²èÒÄWËÅq‡¿ bÌ/æwìØãnD*l7Wv" ÛКè‘%ûSÿ„´ú #ÎLŠ˜û :8»ƒòÿv¹N†Æ[œ“gݺø|Ýaž—è`“@¦ú_Ié–Û¶E;|»é*þ)m)KlõUËÃÊj®Vq´`zÀ+‰á¯ke/å©Ü,¼7Kí ò+HSb¢Ñ~™ˆŽ(ßK¡ÑÂîk6Œ– )ëÃûÃëqœI­‚ÊÃ8Á7&΋Ìk‹„§eHÌs²eðµˆÜÐ:§F߈¿°3]¿Ø]—JŒ8?À­Ü_Dî¯ï‰M\éºB»Ö/$.­¬ 2”}É/݇°x*A`fŽôó²¯Î±Ÿè©ý HA|ô¥‹g.ðb¸ÙycËõó¢ð„ rBÚ@¦}g´ÊBóbd" òyËÓÄ@bøò¹k;îm}Ÿµ‹ Ÿ*¸.5ŽNéªâ‡Æ[ç£ Ê<1Ó#éq‡-Í]Wækó û*Wr1?¦²4)j¿¾¸ÝêcD-3‚©ûD%0Ò Ó•ëSX,%ÓfÚ39^Ùô¼øà×=’ IæÙ(ß+¨òÌЂâpHN’^M+YŠø6qåñ¨|~‹:äÜà)/£uüòé3V¾Ô¶NV¡*ß×Ù§g×™‡s×WáÞ¨Y‰ögŒâbîî5KM#mÙÕ#Q€”D‘쪎¨v)ž÷ÍüIMkvâaþ'÷ê<Ð@^*v †mQ¯yC 'N[ß³iZL(cŘÅHÅj .û ‡×_‘Þ MÏ×2aÀΧüFjŽÓ,ž‘ÀäÙ/=QÕèbüÜD¿ž>ê°È2ò{Æ¡ v]o’[N3ÁðjßñåÑ0¯Ðv$ÍòÄJY ñ­p¤ME%²= ° e@q®ÎÔÖUç[Yœ]¡.ùÇb~W³Ú‰y©¼‡é´»¥ŸúAÕÏN›9lÈóÒóMŒ¨\v®XçuItÖ~k³ž;¨ÃÒ‘—;ƒ8e¡3Yƒ´ÒÈ8Ò@?‘§Eèü3æÚqð–Ç“„ ›6öÌ¢)W°•+÷v"0îÀ °1aמ¢ zË~GîA¯º- Ñ$SÛ¦÷EË‚a‡ªú+„´3>ÍyVD{FúžÚZ†•θH>a–+ì ‰Ž—.Z²ón+X2Þ=2,ù“T×HÇ2ÆÚô3HD­¨/I¿G™ò‰Œñ´ÕLXcãZ: L¨]¶4±ËF¢Xñ)/ˆÜ´ÃÇð½Ùô›©¸Êiª¦éq©1ã2Ößò—û¿C@d4NÜÃ2Îné„Wz~¾G~ÖDZ¿øê&`vDVPðÆëL(ݾp‚¬Xô›.è ÿZËT˜ýE– ‰vFζ]û爎²žd.7@tà×E« zFnë,–¾fJ×\†…¢¥_Z?i?¦:0ˆF0¥NÄÓ‚¸ {&§wl>å˜Ö MS%çx*ôØxh›éSƒ‡J³ž€üåpY†K•!/‘ððÿÒ&$aª;©ÿW׬rsèZv!¹®„ØaIP{×Îòƒ¤­'LèõÉ+ãëÖ–ðþ˜á޽·Pô\ï퉧ÿIˆºhRZ,z®…–ðWÌ% › ubržFèÂó‰(–D#ù$Ù ±Üýÿ¦9ŸüS¦ÖÜFG…µÃWµ™Ë»´ó‡eÃ¥Ö”[Ž‚Ÿ@:cy¡xU FX:^KŸ… ÙÒÅ91€«ÜÛ¹#6¥ãühÄà#¦—ø³òJǤ9è–6. á_Eû@8‘`õb쪣õY<»7Iü¤]^›,W¦oÙ3ˆóQc(%â¡/}¯h4*'@>ˆ”j9ÿÀjº fyZýðÚ4Å85ÌÏë­ùgÜ9ùC;N¨‹¦žD(M,HI>ý.¡æ"㌲€&a!ÅGžZ÷_ãž ts6j%c .çÝÌc+C!X±…‰qÌ\ò o4´©Wç kÅÛK| ¶ÆìSfDBŒîæލ‹'´F/lµc*ýìi—ï›V2)ö›ã,YëÓƒt$<_/Ö:·®åÄ¥#?|9If;ÚlH0úc8£´,Šq¤?!`šjKªUNÊò‘FáQ#º(·†¹CE!g×cg–àbk[œô”¨£qSèå 83{%M©BiánF^ñÕ’Ù2H›­ ºñ×h )'ÅQG{†ÌëŸ~ïä‰n­ü Çë‘<ÜSíæV£>¾³Ê ·éº®æZ¾MølŸ† Ÿ»a–©×Œ5.‰ÿl‘Gh‰Œr¢Ð FsM‡dŤÈ+'¹¦zë`Á·xó•Ó§yšçÚ¢–ã',2¡s¬ü+ï\\RÌÆ”-½žÃ~“Pæ|ü¨yóî°õDhÔµ¹bmcF+wœ±<)éRýHú˜¥/1QŠY9‚s–1i¾€z,¿uBÊ*Êã¯AuYûhÑ\Í(â Ùi+UD\‚„RHœltrìWol4_Øì1~hYŠ(7hCÖJj®˜Ùü±ð3^ðhgÕÅ–Îæ¶ŸÄR¢Ó(r»l†¸ð^t ¦–¢¯Ó€)þŽ_¨LÚ>ü*ÝmÿÀ˳\Yª[„@É*O ØЬ ¶\ áW??)ªÏ™ËεnÇý­W 9^_•Ý»A³å¦\dkKoÍ)5,ÁY€Ðôy“¾d)¾Ã—Tz}T3›ñJ sT:âsÈÎߢ„¢p;ˆãª¡Ÿ§¬ÉÑQÆcóû_iÝ‹;׬^·óŸšß©·“Âv±ãŸdÐÚtÅOê“©JÕ¾ÄìLž¾TN4t¤½Ì`8!m©=Û¥Ákƒ‘ò'lbDáyVg ŒƒS³ò<þ÷¾×퀀ƒ+6ÅÈ_ÿÿWØ,<ÓæŒDíMâò+œ:9h+®é.-µøäóø½»æeiæHdôLJåTÄœ%ºE@äÕ­óOzÙ]f^„‚Úôj®2+Ò>x|¶W ¼¿GÃRÙ¡y†üÿÞ –¡Y·gMì²ÓF¦âzSKMòWªŠ ¶ùj}°UZ.0|§ûœäGäDLö±ü!â àÕ»â>óѾ:Ù„ìíê¬G·_l»IFÄžu[–&cñŽrbm”Õñ›Åæ~2EúêKàØ”HH®)Ñ’÷eIðLÕ€ ÏuÙç/s£­vîSßñN©r….>ª¼´ùr”;qqñg’”ß‘ñ[‰ƒf^@ñ8k=¡fÑ2#z•‘óêÎS‹ŸUrf§Š(!Tº#™Gÿõ½ gÉŽ]…»„¥ç'¹¼Ï! ™ž,€=>žÀ*™32ÖXÔP‘UÝÑÞs"=“’Íñ*­R)2öEœÛr°Ÿð’4îÛ9A3"ÃîRÒXWÜ:óºcfHÚ§­|AÛüµÍM3?¨èN¸:™×gN¤$S úµ†ÅáÏ9Y»-Ñ4 ÂÏS¿$gë _rNx'«³&”ÚîàŸòŸPùªÅQRrjÇZL•·üpÍ”m‚m=%º•û›tcfÏJLˈ»ˆÕ´¯Sîw9ÛNHH&%¹_·[í~çTÙŸ·>ºZP_mÕ7Ca|žæ¥Yr}í6ðïîG‘`vÌ(4ßŒŽ®‡ ³F¬¯.yþ¨ôþHGÚ;©w!Y„‰­˜5åË&Åîܳò®G)S£SbXóAèùJþäæ }°¯áª)¥Á¢ª}Dç¤é©ñ+ÎÃ{1¾M»¾äú¨ŒD¶×ë÷-ÂŒzC´÷2ßáÙ»"40/Ã1ÔžO»%ÏIt9¯ì@š–HNÈW#Áºeã~ÕUKC Û{Ž„äìy^¢~0ßü² QIºYd¬éú·ã}' §{+ú®LˆK+'2 ¯rÞ¬€8/ßéïXäÕgܼ ¦ÔÄ£Ð~Ç…ý퇅hÂÐɦ£¦àf”Ö¤vU"ºŠ²ù·× Å¢¿„Nê”24“ÿ“& Ã1ê¬Ì#\ªª]y’ÃQ±I#êÔÎÚÁ 3Ë2´’Û}Ô{«òœ:Œ+8e:Jàу ½bJoã=ûOæfÁ›ØÞo•uà•Êk‰úb¢ˆù/ËúÍFö(¶%ÂAóC±¢%ÄXI1ꢜ» ¼­X÷p¦ë1•°ÑëI 5¾Õ|à Ò•}»íî²!íñƒ) /y‡2ÔzgTHd†Áyƒ”½ö¹¿˜£cÙÞêˆ÷)Ïœ{!?š=²®±½J¿N4<þÞV}ò¢«•AB63Ç-‘ËAûð’gMÞ˜}œêNÕ?©³é¦ñRäIÈó”ÖaòÄÆa·‹»Ý˳Û‰2HË«‹ŸÙÝ^póüVíñ²˜Ë`”¸W]ê´ûÕ'7¡Ñ¼ßýæ ðf÷y ºÊÝ*K=ä›Ëiìíèl¢×€­œrLg2Ð(l÷¥O×¶„Òÿ1œÛÐÿÖ/^÷¡Eáè°eˆ•h~Óö7cV¸R‡FaÚW6šþuŒÒ¬q¾5ã~·ó*Aó§i‹¿'1ÿ3fzÆ%[ûyªÖ“°9œ©‡N3ú)%{HŸ +U<=LE ~vLìUàpÖ³â†3‰<œÆ,ß )Å{ê®”ÚÆ¬N®@ƒmYZjYÃ1ÇÇ)พ¸½¼‡Dü[€l—¸¸ÀQ %Hæ0þÔ²Á|uU]‘˜qŽ=E§Æ«•:ÿì|E<ú–=Àw†\›eŠ„Œ‚†óÏ~ÁtUÔ>Ùg ɯ½Þs¨!b x× }ÁžÅbÛè8›æ­ú › úþ>à( ÐC§È$1á%7¬D™[0—j0âàZˉKô/ªÐo_ÑQÖÖF·"3 J' 5Ù&†åïÙw" =]¬˜à¹ˆÕ>Ô$¡Xvo-uÁ¡ò$ؽזfx_ŠëO×Ë¢ãs«ôÚ¹îÏO²I—ójóŽïË]¿¿¨FU’±"› ϱ=÷š!uÏ\x¼ôd„±Ù°=¯¸xrH|ªƒféV‚ÅjþhôHµóç(¯9]_.N‹‘§:Û¡‰ 4°ÉŸQËà÷¹.™Ñ-ÎeWœÂïvï©k×—£®GµÝ•ð–3#:3 ë¤¶EúP>’+ÇÉîkóSwÔÁhÌ)dW×^9]H—ø®ã²ê—˜ÔygSŽŽôÏtÚ #>.Ü&RGW³*ŽWÖ¦6»›»g’ÉÌAPì0RáE¥Ð‘NxÈES†Yw]à f»1i>ýÃ3õsæ­è™Y¼øaÚ“R£÷UÍÆæ#_³¤bjˆ »­ëÜH„&.¿Ú6e/͹#!’kø¾Å–îNó¨¡Z¼h ÂjúEQž£ªåYpÖ™‹3çËÚ­õüCy3yt|‹OœbWÅE5©;cºý ²ô4gW¼]~¹,$ÂF(WnÔ›•Œ@Ïd N6Ý‚Èã’vA5£jn°ì£p„ãIqÄ›e™7Õ4¨bJŒ0ÃiÉüžjDÚ sP÷cÙ@}•M¬²Ÿô½@~¼÷wc9åÃý: ¬›ËCèF{>!øHýªá¿‰@wñ„ßV(íiç ßß+MtÝ@Ù(Îø(Öu'©@äÆžK6@ˆÒr”|z·›Fd9¦9 5þþ×u1×aMç4C©'=•ØìeCþVQ…ø×«ÇÊßû.ìq.p¥×“b_)áò{gÞ8T‘Ãl´æÃÎU-·aèÎ ƒ»5u,x' .=ƒ•ÁºV¢“Ž^Š÷£µ_hJähÒf)miÛN9‰{⥲I× ÉÆ<Ȩ«%<²ŠùÓÖÖZ:"EØðÇxÔË·%ñƒ =¡ÑááÑ€6çNäñŠT€2›¤¡Ž á÷)8%{Húàv•欶Lñ ]à2€'+9Ÿ–ã+ÿyºÈŸ›<.F"Ö»‰…ðòÙ_Ã|9ú{ˆ9úß]ŽTúEšþ¤¢“ïËŠ p ¬•Í¢Y¯.|½ý>ÿ{á( à5÷úzb6fP×ÛBaˆãa0ä¡– ÝøÍ}˜Ýî;ÓBûC®†Äm«ê$y‚ó|•e˜×Ÿ~÷]ÕÃ! m0s·A)MTùB묾Šuótù(<òérîcöõ²š”–Jcɸq|þ;Ñ¥¾±ÌÝB@ëk³’”—Øù‹1åß3w¢à+zp&ùjŠÕTIî{*Ž?īƴ32kÝçÝ}#ÖvYàÐ`¥o o’$²vÇèn¿{ô¼ è¯höVvîf ¹ÛCŽàS˜-KÄë{eE`‡ÜAÉWÝä½ZÊÃI¡µ˜ ™[yx$„„…Ôã—ab²Tx©¾§)©°ëîëÂ? hÖDÿY¬£<%eʾîõ‰.‚Žu~¿cĸãÙÂäa^â-.P¢-C” üϪ#áÌœù°ù¸Üü³N^ÞR2³óáÑåûnóËe½k­˜î§m¡ÿŠQЃšF‰—¡ÅL¥ï¤ ­«P××Â$êú–Í󲋩s˜`RNJLƒ2÷Q¶i휲y~ÔÉÛó$Ý]~ÉÁ a! ŸÍ$ÑQW®ÔÜö•Î>0“U}$>%‚ÚOûdE¿k¸ëÍ©ËGh™ZÓ£ü/¹Xþò­^dRvèy*T`VÉ›"C„©hóf£÷ðÝ@Έ˜øLi˜Vå¨Þƒ“a.3î¥0цˆŽÈÃI=¼ÓÁ¼¾c¡¸î[fÕ%ð9/Ë<}xCæ¼Ï蕳~#õ…$ù#h/˜ykƃèæ‘/Å­2çø)Ðû«EZÏé\bšˆÙrí»vBù¤‹}È Ý")æB~f!ÌXÁTŒ+TcgwOH²ß­äù”ùºúÑÎS.?¨G”’'ÞQñ?²?sïµÑFÒt?v»­Ÿ™ÚJUËÂ8{˽Ö#ë ìÓy[}¥U⩚›ã(+ p"—\^ô0 ìÐ\“þ3pïçÚ)¹o®˜p=]ˆŸ}Õpì6Î’]ŽÍ^›GØ´%ˆÿƒ6 Öõãõx­ÆO—Z2a¹Õ7e0ÂÖ4ë¦í2? ¨Ä”°ÝY|ú‹"”ÓÆ‘íû„|¾G{0Õÿ¡ù…Å­³¸ &{Ð ©WÓtºÚ+¨Ö3uK¢Œ–øöSlZhšE|ºçÞ’íêËc’ÿõ‹‹y+ßqr®šé%(»àÇóÝ;M[:B”©-Yøx žÄ—ê•£«u"Sß“ïvé ¿Šÿ¥oÑ`ìÆ ©Ôò9­®(³)Nc¨¯u3ú¨?èÕ”5fG9\å9[A-6^à˜IÑt˜48½€Þ$Ô×SãÜ jÖ÷`¡ ã«9ÂaPç¹€ï£òàA¶¿q?£/f‚ƒàÏsìXz¡¤›ÊíÿËŸYË+Luüw¦0ÎZ ’öú¢Œ•dðÏráAŒÀqðüO风[ sá™l(n ØÎ5,ìÔÛOüRÍÚª©afÏôuX ‚I·eyCâ¤a2×þ#¯Ä'ÉøÞ! µfvÈGÇ>ÑWh‰¥ÃøÃml~LRP¼vÙ.Išhtû _fÓÚ)`çþf](5z®ávmu€~€sáQU]p·FH4=ZPjP–Þ”†øýJÓèê7R< Åñ±<ƒ28µCb„ B!I¤û¿ª ¢¦Á²8¿è†Ï˜”B Þ•lY.ý”޶—Ó@á/˜mð­ÿîˆÕdLÑ&ªÛÆâîÚ]=vÝl¡õãƒ2Âæ÷ÂýÜ% ]$£ÞÕlŽ–6‡h}ÇçÏÖ™]†¾çLý-aÑODø$¿õûÉâ ½ÁwZ³¤˜‘=˜×UÞôç¿áà‚ªßÉ%í¿‹@›Cëf³ßâ¹\ü#GO5X_îC—q>Ãü…H*\D”Av–ð[ÞXÚÚ8F+·î[ýD¹×ïI~È¿qÀëǸ’¼²#[2‡¦*ÙLõœ’çaоŸEƒ¿y!Ôzë0ÏmÈp;àC6µCý½ö7§*×4AÊœñC‡"{"©O­9ã݆̘ƒÛq9G¯NmÝ]Œ÷¹ÐDõ†ž °¿·½OŒ^©_¶ðpCh•,ïQ¬ÓÿZæõ[c‡cì~†V TÁ•…;¿ŽñMñ¯þùµîÙü½' GAJÅÒWÙm¿N1²DRˆ€œ·2î6"ˆèp^id^ÃwË-5åmœ<6“w(kM|áÔ»“¬p1#Ùë5j,HYÙ “‹Óg Ÿ_®óK-N;yza±3}Væ!íNI£Àõgßs†}½ …¦Œ³ÀþçXñ?¤¼*yŒÔU/®z—í\(€ù^Zcƒ]óŒévͱW†„¿ X¯Òà‘ “ Ç¿û£Äg–œ¥<«½îhlbjdiÊ;÷%WÏïañiæ²u÷ÚW^íeDj¨Sh'Ÿðu¤C[C†mñ®Ö™åÃOìÒ¼úSЄ'Î';2/ãUÅǘ@h”ïî0T´^[lŒ0 ù‡køEÉHËtm˜zÓÙ%ÃcHlDV8t˜µ­Eñ„qqJÄC‹ÆBÅ è…ŒEBÝÆhi§¼"¤wΖþa®¯x‚„×å¥gÓož6½9ÿj%¹éƒ»?&¬wM¶µéâ’ÀÆbG­”—,‘ž60yjIP™LZt~ZØÝ¤9þcé¥MÁ»ãQ$ª´iÑy¡bР]½äĈã\‘µÐèJæÎN –¤µäƒ]ƒ[É ¡‹&– 5jMU4÷¼×°H·¸Áa&ˆìè?îÿ¨ÿ·")Q±ªààÓþ‡Hòß»åÿ$¦W *ÄU/R A3îðèÁ•ÓPÕ ÂÉ9Í'zAËëI2½A T8…Ý®öÈOÌ…°¶}B¶ºü¬ƒý™éÁ  Ê”ÚWƒk¿C§6RÈùû}Gjr1#Y®Vyñ¹¤#mdQI˜2˜šo4=•NÏS*Fl¿%f@(ļSæØ¹.‚AãYa¥ãÜi‡[¼€X¡`7+Í ñœásì=rçt˶€ÅäÞÎÁù1·†úÔôE¯mùÅ=@—»öäó\b7a»˜oÜî×4Îçj?/‰EX‰ªœ/Ò´W¬¹[ù5›êüý½HQa`fz•óPsÿ4Ð67³é1€ÂåE¸¦%¹yßG¡Y²>iámžŽ5z”‡Gˆû0C@0œnéþ ÌÉ)¤3G¹: A¸«“½'¾d)ñƒŒ“'û>Ꮂ»/X.™øÍÑ]ö#“1ƒïÔâZÓÒÉF\&¢ìÄzI~¶F"!J#lzúvD’>ÎÚ[î»>~S7 ì;E\%zVß0¸,¾ Toê?h°Y%¦ùwû¸æ(ñò6 ÝS1»W û÷,´àì1—]ˆ%Ñäözr*\)¬òUc/|2š?aF°årõÍ5•¡8³á#žw[I·¼}Ò$.ÿês óÓaçèmb´a§w³!ÀeœtáÎ’p1¯œÞ:§¿‘ÁØ80@—C0bVs_IÉd/ÙgcðF[àB ÿZ|åV–­»Oˆeu9踶EFçÔfŽ)´šÕSTõ‡³£M7g,9ÑQñ‚©£àSÄ^z´F†´%¾È¹«§¼ÛwÐá©Î¢úü±„Qy´Äm¤aC±¥Oc‹Õ* =ç%)8 „pª_PêTdÜïÉXˆ{~¤œÚ8HòÌtïûi÷[‡ŒÂÔƒüsöÅ# vwIÖ¡uòj\‹šh 5ï¡]7~l‚ÁkP[ÒkéÕB’›xlF°I×QZb –IøÑ„eƒŽ„\ EF¨Ïá¸Qí ŠÅb­W—:Xƒ Ì´gc÷ïä,fZcUlB"¡£S¸ðÊ~-ÿ§Ãü Ǫsƒ )4¹¸åý{9g;þ/’x;ДHÑÚ„Y,ò„©·‘l8*å¦8ü’¦Üç—Å¿ß`@óßÖ ÙEzõüEÓ–¢òÄÌ-À•ˆ ?µ»KKNpïv p8Sdj€ý=ºMg<³?<óbÒvI¡ùÈÛbʧ¹Üqy%[iO̳¢ÄÚŠá$Šõ=ê¿ÄŠüŽ(êU²ük‡¼>8ÇB¶¶É•Syµœ X4ýäiúÛM/oæTËÞÄQ®²bÞûåߊ³°aîÕÀ>·7›Wî¸iÐ>é2½ÚFàdzžÆ‡‚)ÐÝèÒm4ë­âq=kû¶bL—^x²³Aô’A.O­Ö|$ŠMz{*®!çÌ„Hqã!ÆS}ÝaÕÿNÁ8É•¶ž!7šy/°!B–èìFWRæYT¿ÍBrþ𘷫ž›ŒgøQC¤”®Iê3e·è.“ I°;˜%­3­qç…[¼%F;µÝ'pÑ“ÐÏê»HYÕÜ)I8Ä5ÐVüƪÅòÞ<¾¹"žð:ÃçýåN¸ œÁ@08ôØÐàFfÈ%a”k‡`ˆXm1Ñ«š÷¦èìÜ#ÆfjrÂwÇ„Â3ªLé#¯Q4j‘ šàÉ}¦Ó/¨¸-ã2¡ÇŒãèÁÌá½fòËXÝ»Mñyî…U+z@2ÿ˜²! }œeL´¯+õ¥tÙËÀ[@Ã㇋ƒãÁþÃÈ]¹(Ö4jA­¤’¦¬I$‡ùk—Ïâ¤Z ŒÖ^«ƒˆæÞܧ³~c’ùwa„úýáÐúÎWSßž5æT0|2åœGI'xtÿ²»|õÔf86µG›i÷çÝhñ‚âòšáÉ[±&GÉÛ{‚™•R¸sèÚÔR— £>Ú**ï,äËB\¶i cð ¢R'؈OaDPÀ&öBÉk¶Ý¡Šê)EÕQÎ@ W1Áao8sâÚ©8§þK~ ~óu°wÀ?÷ú£,þôt CˆtwÚöÄ¿V,…MA))È1(™õ¬âÀÊa ¾‰6”ô9C&¢ý™°zˆË®c.j' bó×ò•c¢1žŸÐ2 ¦Îÿö’—ßäúé˾ÊMµä8$¯˜xӾ襜pøÓÑÌâ…V"f€h(ÊÞ&|{•íõòíýü¼˜ÙG‡Ï„ÁF÷ív9}J§Ýé§ìd~TH™`Øê¯šÌõ-Ðè,’›Ú’‘Bé4_öÉx¤Ú@3ƒ›“êxÛ—}5èk2Y°qþR½f«ëý^………íkõcÐ U¡Ãì\V)rfîwóU DxÑYE‘‡Ä™uÇÙŸ¢×¼å7 žAÌ®“Vh\ô iòø£ tÌoÑÒŠ…‡ùÖâœö,2Êäñ&¤º:Îk\ïaƒww¾3°"Ûðe§Þðéøô5¨'»æFjÃzLÇ?⼟{0pòƒ”²ÑúöðV¥Ô=Òg–áÒtr2ðgùõl¬ÁÿX0;Mh+™³V^ i7Ú’·(Ëð)*ʭܳÒ|‰ªjM깈ŠÀ~«3‘Î,‰²jH,~ˆ‡¹5#õNýÁƒ(hú¦„ŠðH­/°ñ&†¼ïÍs T?iÑð‘·S6›QfÖ” ³vÜNç>ÇÈ) òär sàk¡G“Þà:“âFfcßÂ@W7.^Ť=®.¯CÑÂÀ÷çüvR7¥.F%9æ[ô1eÝy ôý7õíDNMÞ Öç4÷çy„¦ž‚0³bç)ùD÷ª¡: é!ð\)zŽ”  bÄaEª§Xs±­[¨@?n¾nSjöCn ±Üœ«iôyí¦ \$ÈÚe€ÕÞët¡•Ÿ€Ô¼‡¬Qø?ÄšçŸMJ½¿ø g«î£‚cã*Ž× Ûè²$ÓzéOnÚE@9|N*$ügÒ9áR!eïDUÇ*f84ÕÁ“™—Eµw:[1K¤¾ê¶>J•Nç28Ñßž‘vÑïN³hÐ0È#˜\º––~»‚’4מêþ“‹PqSMæ£=93BÞ~à)]€ïr÷þÍå‰Q¯T›xŒá"ÓϹçðßc®ìÂ|(¿j’e9(çÑ2ÿ$¦çƒml* ø£µ†y ±Ú"Ä “±ÂeÖ¡eª‰%¹xvTöÌJ 7:ø•øEMã<ÕRÐ[üÿ†>Ë#ºÏZˆÜüN¦¢] ý»ˆ?$O­ŠÕìCP. Ã(#ú5ýêõùN)‡;Ö-B¼ÄP)¹1¬©q;-Yú}!XP»‰fôtCÁd‡$€6¹6^´N»b# I:#>XÇ^‹³¨ã피߿ptýø¨ÊymzqÔÒ¿noÚ÷}Bþ‚e Èn›NkM£†­; AÚù—Ÿ7{púß„5ă?˜p›L5ªMVÎ\Ú¹í3¼1UI½¬Ü‰øÿ+§?žÈ£ƒ¡t¦œ5%.sŽS­x•=ðÜáËé了š"z‹Í¼¸ãÖÆQîÈ >ü~äØ;·GÜðX»ô•XÒ V “ÀØÙ¹v'Z&°¸ç*ÍCB½wcE³È“€ŸèWC6”«1–¢ïÞ²,a°}Y]Ç|Ý.äÕ¶¤îQÎ㕸Æå"û7Ž?&%t´iuaL:¢PB®mê{2eÝ¿Z;¨}Z³ËßPL¥Baé_ËŠ¹îºO¤v¡hïCtxÎ=ͪõ:áçÉm‘X^=N'£Cˆ%}¥ ÂI½”µóš`<°>BA‹ÏùŸ'Yf„ˆþzŽývÉù*þy~Ã&j`d‰v›C‚½j/ÍBü0<1·Tþƒ±µZÇúU&|Y½O¤[Šï¥aì&^癥ãHkC¨*Nö5vðóвW¸ãõÁä&”ÓÇl< uÓíòQ D ®Áy¢^½Ág.dU9Bþñ·/ûmÀh":YW]bx1U² —_Q¢ùUûTjS¿91çöÞ+×ÊTy®xk2€]x‘rvîx2OòÈø ‰–"í¿æRTÀÐ;Ô¶ßxd/6p‹Ñ†¯•zyXihYqZÈÓÏ»ÌwÏ&™õð·ƒd†KkÖÖ±”šeÏ9 N46"ÅÔ^ñÖ©Û ô4˜”xTõµ¢sÃìCkƒ,LÛ¦×0W¦±HBFŸdå²(y-d‘6z:;½ü=^üÁòЪ_ÔnÓ¼bX=HBúº«JM’]¾îpŒFqëüT2céÔÊ«hÛ¦O˜jj‘!æÉc¶ad:<¢ÿ.à'ƒÂãZ–Psäá;³h@JU’V#ûþ.|”ÂNóŸ÷èQ§äÚ’²lÎê—^íB'n™¬U'Ëö ž ¿jÑÍ„æ(Áƒ)4UœµôEùP­SözÆåÎ|<µKÛGWäWЫ÷ÿWê†{ˆQºp,FV;%´6Y]Ó…ÛÄtQÁ*)ãi.޹Mxô®GnË"êô…ø¦$åJmJêöóÆ,/=¨’ È®h_²ôì7z ûöÔAø_åtßãFG3¨d½X•õy©Î ~ÌÊ Õ“˜3V¶º€gæ%£ú©ØFð·«ë*CÒæ%uw·ü–ÿÌo„x;žQ.ñ‡¬zÞÄ!ƯÄj^†žvsõQ=Ù¶í£`up\>†£O†ž§V˸á+²üI¸z— ÉŸÚúc5^ L¢\ ™P?„uäó*xìñÎKzZÝI€!"¨W·¿Äj!u"ñßno§ºÂ'ÿˆ¬M”Žÿ7‡žç¡Â~Üjj;/§ªYfnتDŸÃÂ\Òñç¯Ý_j…VGçfhڙ¦HíŽÂú&°·dzŒ™"ªwT ïL”žÖN0®²RxâµY¤—åáPF4Ì£p¬4…fô¬#‡ÜTv™âþd臌Òq“õÌ ›«¶V)q0¼´þ=õ‡»qâ"MbçÊ‹Â哸—\)(còIÀ‡qL@ëÓ«ÌÑt.†9ü±\*Üûxä`Ù¼}ì½…UþTW:c•0•/E-4÷'k$ñ 5ÛÍ–ÅÑ:Zb©;·ZEÆ#ú4 ·¯#Þi#%!¡4êv—ÎÜÚ”H*Y©g¶ö$_\¾H'‡ø©¥öã"!®á½@Äè Ð?E®÷8AŠýƼȊæWÛÞ£© }2ºóeÖ<¥P²º]l~Ä¢ùLCŒžî™>(ºü!9À‚BB¹’=\½"”eÔ¯µ>ƒ,dïýœ‡ák&Ôc°· 5¼œ¡(–¡ßtË Š©ðAá¬(; °ílf6 âŠÓL R§Þ¼þ°'ÿíQ4ÖÞç…VäÊ’ßX”pæevW–Ž?åÒwI=®µO= ƒe XK¸E;ÐÛ[(q¯uêì|n­šeaó$Êp {ËÆ RïÚqÔLhîVX³¼ˆ¿îä瓆î4$g')”[Öino<Ùlþc¥Æ²Ð:É®GÅô]Ã4О¡ýƒô¥ÛA !1ß“õˆÏHxöxý®d¸Ÿç ôÜayöÈlr&>áŒÿ³ô²ÿ`_ ÛWããÎÅN×:;'hsPõ¶eHN2$ Œgïë=æ­FÀ/‚´å‡†B€)”ï°àH!Ƴ‚ûRrÕÝXó«ðœÿv›5Úùÿ?UY\­[¤KÞ)tÛËL™B¾6<6 !äŽZ$S¿£}üÔc`²YéVüOŒ´ZXK>vƒ@%‹ÈK ¦¿k´ÜgƒTtÜhX’•‘—Yë6dÝoš™’ü_´ßJ#}27êeuÇ7EÛ+X¢bJŸém$ßDœî– Õ«•j± èc"a@¹@æØ?A† 5T²ŠÖ‰IBŽ`˜Ü.éZSGjž Ó|J,¬T[J”Фó˜F"s Ï~A˜mË*GÊOÇ%¢«¹û47}RzøõýÃóݤByw¼bjä½CAp#+'Vï¶4+.íEy¾Q¢tœIQ-VÀ0°Š9›޽KP£÷6 j`ƒ¶ MiÂx [XJø»21ä ï"8¤<+g¤ž=Æ‚]–`­ ‡ü (¼œ~Q ´û—Þ<õ®r 9'_µ}6ê:ÑhPÛ6lީ޷ŸÌš“í§FQ¯¢J­ÝÍ5²ýÃ6ÞŽ-ßÇÀA»˜w¹†l`ayN…¤š‡šÞîr¦´rý¡ÿ`c9¢ ðD=ßM½ 2r$’¸©½(²9IHaª£N”DÊs¼o+ýwÛ•^=âÏÓÅ(I»˜ |ú€Y5âoÁl´áGSØÌšI¢3,PÁ,۔܄r,÷;YšM]IÞò†'Áa®3fè`•1è`zâDTS+Å NÖ€'owŒèô¡/i½fo/‰ŠœzvÂKWo\ÒŸÒEé Ú#rC`ß,nìB“I¦,˜»Ù§Æ, Tßÿn‡–;‘²_ǽèêu™™Æ¿0¥ÕO a<YAQài¨$àë~êPêb̚ȯìß¼÷j:LRuðPJr&ÃnÂÍzm„_W]¾|®Ñð0&¾ø·Ã>úáÀz£c£à/D :è,Žvv˜úÞ7—U ¾»ˆ„{w’Ê(Яïã¨b3 ÕT”Uî¾75ETK'ýtÐãEf<æøí¬dQËpMßä¤,-ÄÎwx’ÏT^¯½®ZQl¨ßë‹`O2†’!A¤Cfô‹jйFÿ”™¿-F›Ýv4½Ùå·J5ýYÓb¼#±}99;îhí.k"£A¨ÒC{Ç”‚ʤmgý¼ "4OcÂû¡½Z^FVÆ(a<˜=rÕª~(I3Ìàz^j-(wL —=„ï_éøÙt¡D¡PÏ3SÄž!sÖyZÈú@~¤Lõ¶ÛܧQfl ú¬ ÊXû‘‘+Ñ~Ð;²DC¦ÕÕ’k¯ ‚)¨Q”bF=)76žoaá6”Ó ÿÈM»šáõRÛ Ñfx6<ù¿~_Ù±lפ:› žacSqÈ|1Ë슪¿R@¦Sì.ÃXæÊ_¿Ÿ9e_9(Ÿ.Ÿ'2ÛþF}¯é) rÈêt #)B¨ThSQ `Mè^ñüóí¾ï 1 ¹ò(ô LJâ̽à!ßòôBK"{œFñ=³g”ýeuçJ£.I…â(¤cWįÃU «K±ï?˜ƒø¤òÊÔöÉIßæš§ö jvÕ'=ûЩOKén¤ï4l,/zDŸ¥¦2n|[m+®_ïp½^÷[A¡óì wÎQ¯EÚU%:²Óu ît£7f ïÔy¯2‚öMD®.Ñ¡kx›â\ä5gÚæ·Wõ=¾ž5°û-_m¦µoº¢›økÄÝ-Jºž ]µ&\%Ý»­o"Û× ]3©ø‡ÒØj*«yâ¯Àüÿ%u+Ÿ[K¥æŸ©êPòSÝZj`ð Óëÿ'áª[d°S‡³ÕÏîÖUš/ô4H„s^F ºõ>jùMΈÕT”æ×gí€ õù ¸Òª ŽZô¹Bª4y6¢[5ù­É†©¾nmêé™”ƒþ6JâýžöK[IÏþIµª#,}¶ÙjÅRj•“p–mÆ 6!ò³”Žáo-©èש¡ÕC;¯ï¿åökI ·Pµ9àC‰`~zÈ-`­ý\ìe“›+œ†úRÀ}¢e8¿H ê0Âh¾PȈŠH«¤=±‹‚‡2D¾+ßeFþ¼õŒþ ¼»4öEñާŸ†[I€ºÄØVP…t}ÙZEÈyÿ§Ï¹{·A„oYlXÅ–€]eº%peÌÖ-v …ÂfÊçÚvçöîS’õL±©èo¸žÉU#¹‡JÇÜ"CñàªGòï×~ú¦ÔÆf—ðÝTACF€.pÄÜŽôRA£š¢Ý"e¾ó-Þ˜â‚Z›´Ë¶{dY¦ÑûVßÁŽÉ-+„ûaÀšµÌÎcáÍm¶c¤!š|{©«„<¤eÄa‘KÿŒˆ÷3$;’—ïƒÿÈ»,Ǻ U|P?$õé9ÚA\Ÿ_ˆ#y“cq»ûgA§°óJ•æé»DÝ$w[~sÉ;ü–TIA`ÚüÃìË+5\ ÑŠ|á@̧J¬{›ÂgŽ#ˆ±¥ó¬ØÞg2YV­f]‡(®”ZËYåúSŠc_—=2úØÞöŒœpÍ­$´Oíú«RjÓ|Ì…7ÖÛN‘°ŽÉ£C ÂÍís°}çl‘w uXóåɇЕ(9 ò[»oÍS´)}c;ŒÓ>m_É¥º&y·­'XÁ%ïö@ór+ãÉŒl†Ò@C‹:V¢Äd‡»Xz!“ø(3¦šp:¸¦ ÕŸA[Þ*MPìYæâN,# kyC6 …6ÍQ{’™èmvĸÆOqëdaõÀŽØA\l²ë~Æ# a)ÚmÿñTšª´ÌÉùð8á˜w¸›÷YeËíZëæ,ìCDŠÖßhe¸ÙãàzI0û”ãn¢¯ÕÃá°Oy¿½Å‰;Lm¬sÀkAC‹²Îá=CjÞ÷Ë¢J7`ÈbÍ}1“žÍÈÝž&Ž=](Á/þS¹‡ ?[‡×4”¶©oä:4ö HŽC¨ï­ ò(µië“vI„éé§F×?¢Ì¢Mûýšv-â§£1vɸgðt |5I/+1ËOx""ã–ˆ‹‹ì•â­±†ûóƒDIw¸¥aîýˆý.´¼çĬ’ %: #Ûýþ…&CLOPÊ6û3ËVGŽŠ“ú†Õ]fõïÆýF…ðG˜¤À½|.VNß¿lÕXæ,ÄÍh—Û“ê/abí«7kÇ$–‚\ET½oã¦Ioøý¥z¸‰ ,ùå—GÏeo§È)˜"ÞâTSÀ/,Ãu?9MµM,Wu‘¸G_-V "ýÀÁô|Ön6w‰½5‹ÒüèïL/Ê.S½*™‰u@^ûÛ˜à2¨çE’6f²·<Ý.²=Ì:‡«˜£6vÒþh ,ÖÈ©œßÛÆÞ…€‹„V\óŒ¤7dzÁEø4…3ç”›‹È]m%AA{•óß•ž?naÎíò¼}ê™$<5W276d–¥É,µç†õ2³‹’$x‘¥6sŠÔ£€%mþÆÂ?.ý“Ëþ22ÙBiý¸m¢¸]æÅ›Ã}÷~ÈÄð£ŒÛØ ‹ìï|¯Ü´ÓYã”ùø«æ¨^†Îê¯)¡æÁ&äW#JÎÉ®bÞ}IxÈ}ñPÖ0«Ôn±3ê,;Ï^¹iºë^‹wÔ˜ÒI.³ÃhÖo´çÁTn¸ý–ƒ9˜®6]hŸ4¾(í¯€U£œ”í0""i\’|ˆ.’äå‰áÏK¹Ò|E#7lÆæ'-¾î[Šja¼QgE#†c‡r®†.{Òãn¿Ú¯‘ÇfÞí¯sm£ˆÀkã'-ñ2<½18¡@?ä{ó èzë%/*ÃÑÆïAY·ŠÄåÊC™ÔBGä&…øJÇ™åø”ípñ3øƒ}¥3G0 ¹&‹ã;-ZI¥›OÌOÜiSÑeþ2Ó—gdðíæ ‘eöKv6?šVfQíXM/8CBÎð¹tVV7µ€Ç_±ÇĽÝ?!Ò±øÉâ#º5˜ÛºªëÈ+Óª)¸ìpì-7`ä'Ä΀û£Ÿû&4ɱÝ6‚6Hà¦rÐÇžÕF’øÀH*rºÈgbXš¿ÂÁŸ­VL#~·½wŒ²/Xb&ßÝZê]”µ½j¦ 'ɯSï¢6l!ìj`Dn5l+×ðЦT¼€Ðê TbS?9«•ÃmÍjÖ `…»uQÆÌBHDr ¶:Á!ÙNòÂtŽO!ŒÖÍo²¨)ƒ´¨Ç‰S¤6ÔVÍò”ì®ÆÜ6ŒˆSÉŸ%R]po+£Èn ”ñ"ã™ËÃýØ*›\Z”°ún”{^¼öæ%–$U¤Ý?Ô#p)¸véëãéèø0™ÿýDï¨d×ë†ÿsMláô†iÞæÆB÷¹†Q\@Ù{—×wÂH&§¨®h ñŠ.ˆ7½ZmU³ð²qsdAø¼’/«‰y@Û\ñmêqV~mk'd¡Cæ·Œ¸ñn‰qÞîp£Ô&I£\î9 h …•´fUZs…ðÖCÏG\lêÒNÇ2Âoygc9k^»ÈÚ¤Y¸?a€E0ø‘t¢£I[_<\”×tÇJ)Þ××Y!m;Bäçê6•¥÷VÒôê‹97¡)—/¶Áþdx›·¶<1¸_:.4‹—"ÒñWyô“o™Ëíä‘«~³–¨]`D&œgBf±÷uï ‹˜Åö‰¢Ømr,‚˜HÁ-]eFÑË_ÇI üœïãpCóVÉv¥,Ñ^ˆãàCÏã•ç*(Aš·€ý±¹cªÔÆ&—×xÊhU(áËÀG…ß] |³5Êrü‹UTPÛP#,àT8O65áÝzZÃ>—˜Y_ãc×eM@Š£âh~þRõg¾BÇNÏÇ ¬¦w;2F»…Äg©úÆàRL9ÅGrA‰C§KAÎ"7<)Œ7NIó /v–òÆÙñŸf Ú‚g}‹O¥»‡AqV°‰dÂ++òk³ÉhÏz d?¢1 Øok\DýX}Å.D K˜”:6Ä {ë=R[¸ áâ;*õ‰a%}²¸ǰìw{‡ŸqÂf÷¨|†½xD"°f`º1p-Ì|¸‰@fˆ¾ ™íî™!6‘ðH´8˜æÄ¹y6ã¥é–ÕÍn–µÍ_è<©|Nùß§W ÈWœÑ°™Ç›|Ú%[²7ÿVaU~üIAÜîêÙå%­>Ž ŠZ ÇDY²Ýr&RV+FÉB4l‚þŸ&+t¾ÓÇu‡YV@–Ò·’¨ìsO¥«®Pæk˜×7#^ã´­_júçæ‹ýËÜ­L3Gw×,t mov„ ¢,Ë/\€h;ˆªéR9›Mí¹Ëyrîøçªù‹±d °ú8.sÜÁ"Í5G&á®|ή´k h€Ú<Ê30ýس=HRÊo øáÿF5pfÉå·w‰†…ß­kdàÁÌqƒ“¡g-ÅÛäûÈq­QäŸ…é †Þçðî<¶Õ¢Ç[¼šӶܾ¨®`ŽlÂI¥š§ñí¾u¼œ@Eqå-­Ô‹x€S½'êÀ¥@NõP³/uîîlþ]Ëg­¦ôÂøµyÆ$‰L5·(z#h$ˆ(v*|óëEÍß{‰¾w þ:‰å¤®%7&å_dæ cc‚1ÊY(SË¥œg6û7ÒøÆzà Ã!­ª¤ÖÔ€šQÛ ª¤ÚÁBq:‚_1üHœÅ¥Û íë)ȉ±« 2A¾¬ýØb„Î2TÝ¥´úÎ>–)í`=¡6k4(‚-Pºoƒ%?1–ÚRøc/ª)¸U¶2YÞªÿÁþ×9o’ÏäÑ¡˜ña‚,ЬêB* Ïa±XOÒìîW§ƒ=¸Kž+|,:]ö-Ò Ë2|ÊCÌd‘;Ç?\&†tÁ\¡¸–3PãmÙ7PSó~Î8¢žûšDBb"f`öÛ^œ-‘ÂD Þ5šªYs·k$‘pªÓ´û-­ÏÂÝu5öt¯Ñ:ŸòA–[™u€A‹î«xÓ®Ášg@b’Ýæøe2UBÚЇ€hX('±²ã•>$Dg{`˜_JLZ§'];@™àBâi޸ʞ-1åy¶q—¢\ù0þý>çîëb©1Ƚ²’¶©Š£e6Àn± É_ujafÀê(ÑÑ0t<ùÃòíä=1¨ŸÁ¨y,G&÷/q †Sps "ñ4ö¤sÒB¤…7]Š ÎÉ_¬‰ïÚ ê{ú|r¥åI°2~óq©³*(çJ»8ù“R‡¤k㯸 ç¤¢u‡8v'6›À@@b_Æ“ÃLŒ£âoê•nP8¬(ÞÙ¯E«Π+^ô2–iðf¨ªëy\öd1„ô·¯ù¼-,lRêk’µŸB¤ê 1õ³«ühhJɱ*îò~qå™GV°ÜsDøò·›Oî²ó’²¬‘ Êø"òƒ¾'uã¨DŽk0ú Èšïh èHµD™úBáûæ÷G2¢jŸG`K²–[wClZTè÷×_®oÓ·[](d1 ÷øžÀýçâwn\pÅšš¦ZIÿdž9¬nzÖ,ÊÒ¤Ó9J~ŸîŒãücÞ¾±ëMåWê*`UC–c1iPù“œJÃK§Âš™ÝÝ­e{—뢜8ñ0FQÎ| Q™@ËþŠ߄َÇÙÀúËå$«:4Å"içÏr,3Å5ž’W—2åô£[]¤ƒl~” 7d:0ToÐ ½lC.Û1¬1ZñvT¸=[qO ÎÒ)Bõ”›^6ª½òD7<€Û@0Jø1áòmþ}@B©CâÆ3öļ9YxZŽ¢ve¬½U45áL‘§±Ûù³øòwÚÒãQ£ç–oÉ¿µñœd?’©¼±Š£õžÅà9{*ÿlB‹¿‡Á *í¥ÏŒqω ^ñ ‰‹­©¸[ÂöÞÛ)K?._Uñ8D‰[q»Qz{œ 4šŠi€ü3›:â=¶Á¨ŽTôàëá¶úe/Õ¼¶‹Ú,äZðÁ8óˆ¿Ëiœw*)Ð~NX¡¶ëtÈÒiJ¹‹Ÿ¸‹a8;W6mÌpŽ,½•/ÚDÈ6£P͈ÅjH+"IAélrÁš|ÏShI¨yþ¦*à+>›Šê¼ˆ‰Byü&:læœO€¹õøoôð‡EÞ3é]Ç Š:Ðæ¹¡†!¹$ZTJb si_D¥ê}7DÑV‘t(~­ƒ"ñͶ4z”/¦Ÿõ®/û¾¥UËî„Þéò‡xBÖßÙDÇ™'W!¤r¼Úû¡d®¥8)Y§3,aùDËxD>3ôÅ7mhâdµÛ”ÍÖJ ×ùaú ìÇåýO#t¢…á,zƒl‹@4ÌMû@ƦòùV¥glèA^‰—Œ"ö D µè Ekäõ¥gy›ú, –9°Ö£ =vÝéÌ‘Á;¿è€·ƒÒ2Ýgµpñ_cøÃûîm cK}¡xÛ–´\Øà=MKàùÏU [ȶœ˜¤IðoPƒàÑù.ª­ E9Êe1úèÈñÐp'ÂÑ1••ö¥8ݵ„¸ôß‹é[ñoÐ÷Þ|åÞw¡ÒίîVߘA“ðHB ‚qud¬°ó@££Êz¢|¼DTËj”$Ÿjã¼)™Ìí@P™¨(÷&w¢vgE{P½9[öò?Ê~iiÆÌ1#‰6¾Å¬9“CGÜ®Ô6ÕMž{e 3¿™¼x¦‡‰KãÌÝwÀ®‡²Ô›Ê¢ïþõE£×ðߡgï G-¶CJ’`õ'‹Þ4k*{(Û^GñxµÑÌ2µzÁ\ ÅäÏŽœ‡ŠPêtƒYk.dI vËÆI|uë.ÒÇü‹ÇH î%|…&¤#Çzò^ -É[ˆ¥50Àðü1ï|©êE¡ɈS02¨¨-Táˆsä¶Þ>¸’^5Æ“8 ~±Ñ3nœáÕórx„ÃÃ8Å%û9פˆ¨d»ë\ƼÍ+âĸ˜øQtœÚü-5a*À|TócÒ…WDX=Æïµ4òȤPioËَ߉b&’yðô™>a¡Fñj!Ë*z¯y'0œ³šÚi*£7•ÝrWä}¥ƒÐ㸉ґ²Ox;¿y–ñZûŽÂ<¯´-°@îRƒ[¼û‡¦o¤&+³»åT ´}æË¿ÖÐÆIg5¨K®dÇ)úK™ÌÞÐÊ>ûaý&Ј٥8ß".f=q”M…šSÀYcCo£Ë›iúqŠN­t #³›Ú,H)¡ùP—Éh ZwšÝ—GE¿™‚oølKæÄÉ#¬'ÿq E¥Tõ5·µöifRÓ2…¾Tèzûê ’Ñé žŸÎÓ¢ؼ/{mˆæ¶›TO[à,˜RøkCVHÏå+/ñÞƒyÕåö×U â67Ì"Ü‚öyÚÞ“…mõ{ú¶PFßFR{ 1؉±…Ö¯•¦÷Œe`z ÝùJG;r0_g1¦w1,Ìõ^sìÚ '‰ø\ÁKç ~+¢­ÞÓ¥À6,¨º/˜¥èßS$`> $$ ‘U;´w`)3y­‰6êjS½o½«“ê0lIË!¥AáÙ>— žÅ£Oã9ý8PuêG«‹p¶Îš$É2å’OÖ‹›ÄÒ06Å©òc:ïrXýÞWl+Œƒ ªˆöä©^ ­A»'èÁtž–¨/©è÷N|û­ÝÁ¸i‘ÀŸ{1=¿ÉÕw?执$Ù’£Q­brÎÙ™—i×`ì‹:Á}fuºzQ¶Ï€•ÐOϪۦ彶IÿkMC$k9ºûÅèñü/3W¦¤Ú:·;yí}GmgF‡øÂo¶ŸüNvñ"€¼./ÍÉìù€µUYãf‰»EF6@Ð:ÑZ€›MƒÝªûs|!-ì–HãɰÇìÑT´ýV|à~4¢ñ'\ì(|¡ª?˜ó{—.á©^,yòêCËÚö±Ûþ€i|€®¼“µ’Š'òŸ4™»«ÈíF2G†ýG?áR;µÚˆ/fHÆÊÛäÚ@ï7Ç•FàiÇ~ïåÖÂÙpŠšÛ±f‰Úö.ˆ“Éy í]Œþö¯Š’([$gÌf²P»7Œ„FR_ü¢§ŒmiûÀ£ã 4A”þ3µD[+@„vHmÔR`¦ÉÉ>'._§ï¬2AB¾2µõöÛ™Ê>º½ó˧þí¬Aˆ±ªÌÀ{úJ¯|ȔϩòÚÛ#ŒvŸó‘͵LMùì'¼¾§‚³­èu¹ ·f×xžMõJ‹Ëë\õÉÓ`gèªT>бckšßÞ$d(5c›0Ò0œ>ÀÜh@Ñ÷¦hu$ÃHH@€•+ªtŒiɵ¦Ö¿¦|gàÑ’ºC+ø¿ËÇ>ÜÓ„’½Þl~íCh8 (­ôB,³5‚G¬ªK–÷*÷­´¥Ç>îš@Iôf`ðŠÍŒÎ Æ&=ºçÏxÝN6í²§ñÏ9j*ÓÖØ?ƒ9ylpÊE{YƒP´UeaÜîëXŸ¹mz…ø«=ÆÌø8£º#XYB¢F :£P&p9 ™Q)–ÞÚs²)£Áuf©{¯: t Ø¡Šðßý“h;~ƒÚ~MW«œâ”YÝz-á¨ÐÎOq=W(Öïç³3aïÚ L]¶{:^S1&bI© “ØD¨¥V^ͪP¬0|Ûµ|if;áÏÀ(nhú×€«ËÏÉêp Ζ–óí»¼çÜÞ†\jwÇX=z1êwî ‚œž!Œh%LÜ”°…Ò1°¡¢:=Ša¨½»Î Xk-^‰¤-m¹`’Q Ç‰QæÇK²—cÜêÖf/oÚHùö=¿—‰~7)@šbðéîÏð&?¾^9Ü6I]°So†P•º†¬¯E±ŸE›ßq+Ë’¬_u ÕR³ø«%yTRs±)$pHÝ p¢ù‹+û0E;ÁR$²áücíC'ò¹1Nçü±ÑtVö*3kTSÒz²¦»æôàbò+ïÇ_œÉ&Øì&xfÖ쇆µ½||jÛÄ ××ÿ ðüI\¦\X¦A„³Óùy×ðÌMR$mÜŽä`ñSáÂ*(U窵GÊ£ÓÛ¤uÙ-p)›ÒW¯=ž7?£÷´³€Lóp ¦“@ªe­;[NA¡x¤6ÎÔ&¢ÿ«Ò”Qñó“b)KÄúƒpÑæVR’;‰ÇÞB¬o舳=œñ§¬=GtZþM·ò ÷‘`Þa¼Jaìøü4½½NúcH6»{å"RœË)~ÅÏ JwÅÛÀÝ7~Ë)¶óàº$3^Y4ßèXjÆ…òr™}>ë/+Znœ«ÍSH†(¨D6’J?øaº /¯éÆï³<Úü«²; U†¬¹pê¼mkx7T®V± Fš«›XJÛ/H;ÿ=«P¥"êã ³u1Î.Õö(zŠ}EèÕÆ?¬â!£©3ã”PÀT–cz¼G :êOlBç@‰ Á+CÔCB]ªà¾Ú!¢RØÀ¶Ñ"å+aB’¨ýlœ­OãÒÐ ÅŸV>Ô¯ºòJ#PE÷ÅŠÓ».~´UA:yÉí™ç3ÂëkÀÓ»è¡'ït唹[tUæç 7[í6 …á¦5JþðÆ$6BSš‘Byq °Œ7ÇÿÄ(â¼zAßCûy#´Ïwu$nôsi96ëﻜãFõÈÂfè$—†!WM›êâÔ߀áËï›y‘¢ €Ã£GC€¸UáæW„ØTUÅüÙœK¸€)oáv0^»5àŒ">ÙO\–úÓä´–¯ÿëÙ‰-æªx¥¨ãfa ^©¤ú—l«1åÒ)IÚÙÕòk¥rø-˜=ƒ^ýý-ºkª7É'K5 i¹àfŽ9¥q†÷äá­Ëpµç’ç)¬Ð8©‚È "…u«Ñw˜[± Š`Ê”àtã§DÿÑ|Âõ­§ˆÇtð®êë¤Î·“k¦ãùþttž~3õHº¼êð »]…˜kV´x‡´ýmtQ­‹¸ÐÜMï7ÿ>·u¬)ä_l†ESGŸo#ŸBm­:Ö¤ß弊×Eš( Vg$á! È §¦Ä4­60®„NžTgÆ´³?%°ë‘{Д³¼máÌéÑv­MjàUjp£Ÿ.BCa«2u~åèmdJ-ãÆì §jÿÇ¥Ž“òM†Ö^é£gŸ)N‰m[h¤’"×y¨êgä~¿Ú†¡ŠÄ­“î6ÇI8XšÜ»9ˆñ9Rgu[é( ¢‹-©Ži©.ã@ý.ª$lÅÑPˆI"BcU›86ß³Ç2† ƒÄ$¦ªJDÓ#´}<]`?iÂ/8[hVS|úƒD¤+êq ãç®Ùm¿ †TN[„ª Úìà³3©¦ ©ìx¤ŠŠTd ²»v¸98N(?~ZØp0Œùþ65û¯¿j»‹’IÕlI—´UÓÒæÝv¦P^ÚÜŘ׿ùžWD4¬b :+Ø¢·Ä â]dr>>,räà×j†¼ˆŠÇ£ ¬4 œŲùëÉë•tèRˆ`†i°Ã_ø“?º6ï(·Jg/ºräËëÀéžgK}+3Ju4·Oð.ð°ëóZ¢Ž•Àštíã©T¾>PV>qi•eíŒZéQ°c[És3˜»j[YwOXç–¼Ñ9^içûµÉ·‰£ÛPì°Ô-Fȯq-CòH:Äøòü”‘Ý(0·¼[ð2‘¹ø\]^ØCwêÕ_ õØw¡hÚô‡UªBdQŸ÷…Ú¼eì²Ë9>1f’òo®qó7*‚Ø) J8p!Ò¦ñ&:N3{©5æó ô EÎ5j·§°KH³}ÃíLTº@dêfüëÇÚObSÊÚãm*WÅô¦ïöõŸ`ÜÜùw…–A5²ÏEúîÖ'ù±-=¾Z–bâ^Ù½ð/²7×D(]g–I•OôºXµèíðø ²…i½ÁA„"ªÝ“†®úËÈÿ¤vßÿ¡Ù~B3FÓ+*(æ¸ðÓþ›Çw+rì?[EH¶¼PÉJžþJìÀÌPû>¯%ªªX šÕ’ˆ„Rà|©ÇD^¡Ä6–'gUá\f+Ä*Ήӭ‚°¼ƒãâ¸ð"lN’Ïøô&ºþ2ÖñZ´s0Â-Hª¿DGž|ÝÖ^+Gó”R@áj=Š+fÑÌ(,ð “ +T*Ezª$¿nq7ù±ã=o1s‡.˜QF‚:^§ üƒ^·×áϰ%Þiîs?ÅnÈ·t°áz½m Hæ·¸XõIÿÝ8Qžb£å÷µèÏH³ŸŒñÒa®…²â΄GÜ+…ÆŸ‹ÅªýóÛÛRÕ d{‚ÃX2ÌÒÚYèÛU7€iʶý8c 5„;4¦÷&`>}ÐèÒóœ¼Ó76ó·Guêã÷¦GyKª-»"¢_a-Æ PgRH]„û„]Oy»¾ |i ê1¸± úPqñÄ­n™#+?Ií§c»M+@ÞW ì=Ç–ükÙclƒÄùqå·ôoÚòT¦×WÉc>Ú'-‚t†}o^qÒ8[Y,L]TÕd  ë=²ôU¶+“½}Í·u)T$/C.t¢ÂâÎO ¢-‘f©ú*yÏ.Óµ u—Ót?HˆÂd^_\Cwš%%üêEÔ".`h˜ishIèùŠr$9ƒ6|ìhÝWðo²ãª¹OUæçJHH$nð%†¢š·a¥p£íM­wí‡è£ç•}2?´9vwCüv+ñ¢¦a)ã×ÔWDŽ ÄºñXl¡UÅO®e hÀn—XÚ¬õæ&«®‰ðŸË={+¾gÚúð’7¡ûBÊïÀ9u¤¢Õg²pi¹Û¢¿iš&ôïÕ‡‰¼Ê쩼®\ð»GÓµÄòËzU0œ û㪟û kXÝP‡ðmo¯¸m)zøwõo‹Ÿã33aÖnŽ9}iÚ@6?ñK*öxøíÖ|ÙùŸÅ­ø’*ZÛùïQ’‡üŠ}¬)ª©¶_>‰ÚÛÓ^)Z§R© ›ÿ|é ¬¨÷¬ì¾Hà.J†C>þ™uS±«CÐü$íÂdÞS¦í‚l’B˜9¿ˆç鉡P¿#ÅpXøÝýPD=]d h3X3eøðF\TLø©M¡P«Í/­Ô˜ !;êŒC¶yy¶¥£­a¿èìc2l'Ä^Hv¶ïc®Ù]ŸAä _☠٩p+|„X{m‘¥ßtBh}{Kh‰K°d ´ö +ú´jobªŠÝxÕ½p&Ê;¿t.p»·𮾕&ϰ¤@õþ—ò' \ËÂðà )óÔ£ WP桇e*Z—ñ¡HƒÌ€0_J@r2dú÷’xW~Kz<ù+9Úæó÷QJ%¿"S.‘ÇÃÙA4Øõ‚dh™Ï‘Cˆ¹<žK+²tS8ÈV±ÄŸ³DOe–²ÃöV‚Ÿ´ÿIâiøôƒF?ÇÁ,ï‡8´x5iœµÒ ÉCIÑ['ÒPd ‘ÆÚ}3‡7Af^ï–w9¨¨íÕA>ôåÞÖvSüýÒAë‘ËçÉñ’ð-„Ó?Ríb`e¼9y>?Ó øé‘iïr“»EÖ¹øeð*3½»ú‘C©_‚”UÿËbp*Ñ]Jp°Ë=Ä— ¾~_ã•›Ïô­Mýá=÷ÔŒC‚J:Ð=Å¿ ÂûÌæx<`£ls•¯Â ÏCtðú‡a„:¥äÐýœŠ¥|eáìYô±ïß+ˆ"VJh?ͽ“*”$Â/u¥Óáp€Åq¸XòŸÌÄ¿±5E»eÿëùúÏo Žßp›ŒaKŠ„C‚ÿ‡èOQùÔ ÓÓFu¥·[Ü)ºöžþf¢íÔr*—8¶ ‰@0ÄYïÍ€™¨ŸÐ÷‡gbWÚù m•–$£À;Ò—rô ¹-§ÙÜ E½†kMr™*X¾óÎkÛIÅULØ©@‰tZèÎ,Dd°‡BÏJ¥M4ê¹ÔB‘ÏñÖkC‡ƒÑÏ@"‹Ø®_/s¨Y9!ÓÍ„ãV¹œ:¬ÏºÈ*ºÓ|ÃÇÁ%Ó0•püwþ›vÁ².UÄ^B¢ý;Ø«£Ammw9Å d>+ô¸éÖ ªç“Z5žÎ˜+qÊEÞ Âç^!³'îW³énz—Û ©Ëš‘J— Œ°x3¶1¦™`Å9v"Zqk€»(ÐR„.ÀgÚÎ-€"§f8¿ueEq¹6àãÛ˜„¢Æ Z¨‹íF1Å’BÊ^_å3C?ßDâZ’¹´M‰VþàS#µ’ >QŽ2 åJc<—žÜ$õ‹Õüðß”±¹Âúá‹Nê JÆúsåqÜÛ(T²çˆbCð8Ô,Žâq‹­×ܳ>yOã ¬¥—q19¬Îç l’ãW$‘!SVM±¯wÿ·ì«ÅÆ¡gµŒUm׳‡èÞûTÇ‚y²\ÛŒ'DEwœÈ1ÕùI¾"&ïÖæ¢uKŽ]@?k w ÎU¦à`¾Ó;kÖh.™°üI’Ñ!¼6ÿûÍÝÌWÜÔ7ÄL\"(þÝS;º€û ¯¢Ù9Ú ØþQ2žô¥.=DHÇ—ÇQü]špKOªCöóy>•uùŠ|ñ<ºJ&ÎeðPx„]‘JwZ n_-‘'ºbs)/”8‰]B3ê[¨æ(ñ å‰¸®ôúZ‘Šñ£µ«>ÕAó¡\=’³RÏÛ{}t­¼^ŽÖ©<|dͼҘ…l eü*ø¿ÿð¯$ÍÒUCOhy·^`=Ö9?&Õ•%ȃÊ2ï¨\1)Ú4½ôsNˆFï *|D÷ªþæ{ÝÖ^Kºúéq„Zˆ´Ó¦ ñ.†[ÅJû·PQ£M–È‘¨8Åc‹˜Œì6OT6Fùƒ®ðp!:“$¾”‹þ]¥¨r ÒQî°Í'ØÔ2}QmÔGÙ”cî]¨²KLüÀZ1衲z‚¬'Gcq L…èëÛ •ÿÝk4Î¥¯,Æa«VîyP;ÑSžÿĵ²UÒº¥ á-(ŠÖs'!Qï„21 ¬…,\Gܲ0gl©Î»ÄÛd̉~##Ã5$90oÌðÖ#x”!p5'-;²¼Z̽gÅà#ñ»„ÑG([èßåØZêm(ÍÑ+ç¹, ``ŒŠ«ý¸ÆpG%Ì þÜ •HáÁ'™@öáJžp“0)Ï!œ¤¨é5&U’â¹’#Už— Ž‚Í©ÏT:˜6d¦´¸ùt¿ÙåÇ‹•_›U…™„Úg1¡>Fç©k˜acŸæ³yu"´v× déG <ÎÞG°vk°‰697ß«·C\DxNΖ¹¶gÉã©ò’ `UªÌ^”8f^v NÇÖ¯^ìtJ‚ó’C"€›yt;Ä@y3« J–™øÑgñ3Jº©z„´¹äPKtóô\ƒçL‡Ì@´K¶GÓÉ`‰‘:›’O¯2×3Ðû½H›fmv»§ LÜîbÍéH ¹JPüBÚ%£Á­XÇ-â ŠËÔ‘Ì-¡CîÎFÊ@)ààjsžòÅI´?d[=ôÐy„þõ3ïø&ÕF3 åç÷ V…Ò`î ÒlKav/„º1®>—/¹½íOVJ˜Ëö³¯xÀƒ˜î¨˜¥2K§,ª²–~ÞoÐw Œ±òy5Vÿ“ËkÐÁ4Dñ„=0áõUlâ­ÉÛï yML6ŒMÍ )>/ì?Ãe:ßA¿X&¨h´Yü²}ª‘%{l‡ÒSWy»ænÓMÇG8'x€™Lq?kLúô˜©0_“ƒH‘8G_•kWé:ÝEZSÜ’å±Ý…jüù/\ nmKpÉZkûc©&nö.Y>zùý1« a¸ N³Î†žÓD™à Ì>dV –Unͬ¯gRÌ1áñ†ü—VD(ZSN ËçU¤&aÆÜXøÅš²R/À,9œÇª‰a­é´kã ÎEnCÂP¹ïJ.óWÜ1&"%¨˜òøÕ–ríé’<¼`é‹$T#` Ò¯Tk®ê@Õ2¬¡ÿ@Çͨúf´wò†{…ÂzÛÌxÓ*†üfè»a½`\îTÕV¢bVf~ñ§ÁòŒÑA†_qÛ±´¨òï®3|8?Û =p4í1ÔÆí‚?6;ÑO®jLOp€Ž•^aË]ʈ)ÍÊR#z#4¬x}Œ:Ö€•8Ù=±6]䦧Î_T©ýÐç îîÔ“˜õÆF%L n²,Ï 9µÃûkÇö- D, ‰•}ãäë—왞ÓfÑäâ àcâÛúÎÆüÉ®ž@¯Û[Œ“]¸³ “[&}ÂŒF0-ä@`qúsÁ¹¾Áb¤,Ù¶Q¸£lg¨crŒ “Ùß_ -{¬µ„lvP^W³wªAÜN«{†û¥ùùŸ‰þ€Ðê=`¯´ü:½l|׫GÓ’ÈÒõ î¾8í„ Éèô1´;+&@ª8çgèüp1¦íü%¥‚©‰ÇÏû3á”}çHñ%Ÿ‚l´æmfåÂß`úsÃREgG8aßì§þ—Âˉ4“%ËlðÕ!w¨›” /:JZùâòÆüê$à?Ä(€úâØ·~B J_ÍÚªû¢2€L9¡’¦òôŸµS¯ÔÛ5Dê´l:ƒ¶íÖY©çhÿâöbÝÀ<Ý:áH¹—‘XÙ¦Ódv$\ž'°fì§ètVjúbÎØ ;þ¡> zá’Ñz3JqÓ_H€íÖÒDzoËéZkz²Y€Çž8zž°Ž¾4GÈ•ðWaÄ–kêúÃHy~ø7<ôïXæÓìfg%C5¾ÊÈZ'ð~Ú[„gtF‘}z7^(â'ý?û²âÃÉËçvàã˜S­9‹'ˆà惆¬õðm4RÀœ¨„ Èˆ=ÃüdíëIÁ{cÖcòVÇšÕ©qÜl xz¼Ϙy‚JÁK¾qÖ¬¸¬,hͧīEðYæƒ'ò›?}Š˜ÐRÖÂêR–Q¬âË}I«؆ÐØFçÀ°zôA"0îå,Æ.IÚ àÚ]a‰ ±u<ã&IqÂG}pƒ¬ÛT('ÚÂðË MÞÔ;•Ð1jБ9ÒK±”£‹>©a9H'àô6#bƒŒ—48  {Xk„ v¶ÏÃñ­1ø‰¥ ¡C4<¡ëX"ó¼Ê×:41$§pßÎ71ýÅřӢ2¼öb ñÙÜ‚HîίüAäaR¼b@%¡ê{ÿy¬uŽhºqiîýk×a4å0}T_»w¦/‘¡÷¯Š%["Ï`”xTtÒÎ HCØÉ´96¬ /gÌÔS¾‡·à&Ä<#•YªRÔ¸PVÃõ®´ˆ?)k¼FÜw8ÐÐ8Ä«¥ñõ«—§×³°4o¿·M Åš’\xöE×)1Ô}#S¥}IÔÖ×1Æ$ «OÁÔCñ» Õ¥å/>xiKã­‚¦J®–¬Ã¾)àKO}Öé¦G!‰ð>}ÈÚWcZÛEC+¸J8ä¶Uçžñ9v3ú J²œèŸné|W‰×U¸,ŽA*敨þíVú|æä&îi„) 1̃NE0nðÍ _5fb(az¬¹Þ šsx•¶·w„p¸HR-n‰ wtÉCŌ˅\ùÞÊøŸèÚâQØÞYøµfr’®_¢x*ûk¸õÆäÅïÊl Ê”7.¤y Ñâ†K"•-ÔCxj.ëI•/Ŕă?–#m•¦¤F³ÙÊßá<ªï2ÏÌë’ð©_Mþð0útxìÏG/n× év‚ö8˜ùlž°%í«†<µvà@Ùš¸õg †Yö ®ÒfÒZ>×–´’ 5ÿVÂÔ$±õö@yYôºB⯵ŽÇÜádR·ì¶ UÒ5ÝÞ¿}¹‡î ¡Šî¦ì9­‰Š` ©£«<"¯!é%žö´Û@á¦EÁ$;xWkŸfÞüÉ ¼oa#ž’Š']‹¥Vs£€Ë+×WgHbB+ä«^Q$̦ÜñrF)sK/Fgøˆ<Ö»ú±;è"}ýÞ¦ÿHˆçü@‹.Smb%³? 0d¦Ê`ÁòÈc+ËÆÿ‘ K!®b0AöÞÐ0w|#êÙÉ☎¹÷L¤hˆ@Ù¯æì…6OÊrkLwÊsü8·;:ŸŠöø4u!¢÷<ÚårøºlÍö 0‘#âM^Ä8\g¬ø UA¥àÎÕ+OÞ”óHʸܳQžl1A“~žyïQˆ’‹þB¨:¼†RZˆ"*¼äJNÏ.L懞¢à!Ïà¾ÝE×XF}ü¯N€øÿ2Nì4JèqÛ'ÌtâÇjzâ„ñÛäÞR×\ZÓÕaAb©`òA uEÑ^ö>2Ôó¢¢Ú‹íÕRþoÞ•*xˆždãð¼Hç9íW]BÁ™ú'ßàè)ïd«Øë)Z" M æ^ À@÷I-R9çza#Ú§@¥ú¤å‹}/ë6Þ£žÐD¼)¸Þ)ðæKÞû¡\ÇÈý«JüÀ§5ú‡"´²1‹´ú¸Å²|tXì§Ä¸›zÖrÉØx‹ôyúóÌ‘Ý]¶q3@ ¢S3@D£xM>òØãHžÇÝu­©uý‰Ä¼À÷‹5*Záß½`mýxžóÍ¢}éM,2ëM.FŒü ¿FŠ_˜ªM%çÍ™ë§8Xð>äçO€yt õ—7íû&¶Õ0àcY9‹’û‹)Ô¾ÎÎÖâ{[‡ô,BÆA{›~«}5Jg{=ÝyÉzjK©oØ¿žr¦ÎgJwé–ÿ»‡aŠ••£-‘Íß{MTFøC2Rñ)o(‡ ý¶Èp'ò®úI?á×oˆôMD”»ÖœCÌÙË·kYÿˆ/„ÜrÎõ¸9çûžfcyÅÚÛ€ò5˜à\¡T¤ž¬½âº¤ÎÍiñû5…yw#§UžZðɃ.lø¡ê£Ó±¸÷õ€¶5ï ñ«ÅñòA+YQ#Õ§sgH:®µžj=žJÎVˆHóÉ 'Ư-_Åò-¹¹ç®íçoû}‰hëÔÿúÁiè½ÕÑN­õMóRIyx§ºäЪwlÊ«Rg¸—°P¨…¢uÏä†7ÝcĹKª0BÆöäDP²nÿn*‰ó‘ ¿ ˜Ÿ†²£/Ž¢Ô fq†Ú ­k´ÄhI”]ÓèƒWÈÂ÷ÓÛ/aGòŠÕ]ÛÜJQIÇî{VØ…)0ƒ¡@¸Zû'àŸ1jÁ$€ç:8a¯à;]¢A”ÐNêºËj|Iñ267JtLƒqÿdû¡óÅï úHϸ%!y_^LŸYDA‹¬‹¬'vb=þɆ-4sÒ 4]Ÿ‘˜Í¹¸¡³ÍÅ5©›Vµ0j•¹9¡>ôÓóèç¯Ù‘žû £P±¯â¼é[ч;†‘H¸'GUVrãõÜ¢v3Ž©Ã óýŸÐ(ìº ±ÿòÌZšf:`pù³ëºgq*>”Šè"_{( ›r(º¬-ùYwðÚŒÅ+y±“µ^Ë„¬2‡1(36òöaà%ç9-¢DÔ9>¬(Ù^àC/QEæJ‡ æp.Ú®CÔ€3•”e5Íž: !£Re•È3pNS·V@[¹Y}‹2ëXQÚ Vz[%zÆYó&MÝ_ÇØýI~ÕYŸÙ„Ó Ÿ'ÜâË_môšÔÙM*cŠK¥ ÎQVýλ«qRëØˆœÖ«<¨csn1±¨†@íá@LÌ‹jpjÝ.­kHu¿{˜èiOÁ‰b¨ãœšßi'·;\åÉú;æ¹ÃÈ Â—±¨FÖ0䫪¾•8«Hî1„i.ëñLÕ Ì£§Åƒ-RpRæÃ ‚‰›ªõÛìcñÍw«ºò˜Ò—’§ÚßÛ»¨Î¤Á9Ma*e XŠPIÇñèQ#Xμ‚_›>,š{Ÿ}_øJ€¸¸x$|ò:ÒD Ã}´uB“?² Xþåþ†£ÚÇ}ó×´½ÇÓ.½q“#Þ^~ñ¤ñ%—!ŽC1)<îqL³¦1=’ÌK.ÎNv-£Si#ó²Í©Zït=» ÄäÚhiêðX²ó»Ë%’8XÃ$ax˜Ä7\ ØöIõfÍ .ÝÛ·À¹›Cì—=¯s ¯ù¡:Úd•VËd_µÇó´n%ÖZ%¨Šò÷˜üÍèœ^]~Æ|žp§Ue7à ÕòŸ°ð(­Y&›Ëg”ûñ–Ç#°ì5på¸pY÷ç.YÙù‘,bIQîS÷NB*Ðhè¹L@‚¢ä닚íYüG](䃡+¸/ñ"½ú$¶'n*úNÖXd­¬ñµÅ!3’¯¼7G@T«Ô‰Çe±öŸ0‰H¶ea´:F¸hr§˜œ«Ó P~¯WïB í ›Å£ÿâž®$ò;…` ^šHÿ-‘™}ÿ¾…‘™SLÄŸ''VwÛ ôå\.æyQUëDê©§ ÓÄq¥] ¯[¦Caüç͡’wZ^ ÖÞ4C©Nú±´O“Id> Ìéòf³>zAS#Ç%×÷²(]•åìø˜Él­ü^mc}Ãäº3"zÜöˆ ‘Ncù~è»ÉÛe…"³¹Î`Õbýóð’ÐÃLàï,“’±GˆêÄä1T_Xø-Gá‰f$Œþ r¢ZdÙÑ8Óaux6ò˜røª *ÂÞ‚ƒ|xí€êF¶ÿÍj—ÀþêDúÑ)ÓÔ©YÀG”áÝÄæ†T”Ûù2ä“x|èßwW"{ß>kìo•â:ô߿ɹ=lq9Þ·Àãí,6cŠ@ðd«ËxͦìC;d ’@[—âÑ€ðvø©[«wTOöðUF.4I{¡tš‰².ÍðÔÕýR@“Wœ7ꆄš« S¶cêà‘üº'cŠrßáñ΀'*Ъ zåwœ¸=qkTY¾=òc9¨ SÿGÔ q)Rð1„¶ùœ©Oòõû:\M™UûQ{xíu(³ÏÑyi$BRfï–T©#ÀÈF$rÖïuv Éø—ä&,ž%x`‘ô[ç\z%²Lo¬º&« í®çhÝj ÌYäF^kg¢¶{T9‚»0ª]+@ô»;;+¾-ísÏwÃØaŠÙi8 fÞõÛëÖ$n @ué12iÎ;¬FÿÅj3Ö‰¿mYÅ+8#ïv®lì-Áªà¶lîŽI…ŒÊàa0ê£iJ9;;_€À à7¡_ Cø6U'Ô¨ÄÞ™G_œSž9ÛÍC€–Ü5ú T­ïWØÞm(EYðæÎ.Á£ö|Èÿ|÷q‡ j™öøÒã³9ÕãCpÝhž"Ô£z +‡.œ eè…€<ÛppFâþÌôÌÂz7öá¯è»½Òúå²U„ÿ¬#Û¹­u!ºTÇDÅu«‡WQ&ØêámâÞEæ†,b"]òéâi:?¶5k‰|OꥒԲçÇXô{ž˜•É;¼ŒxøõO)ý›•Ô¨Ø÷%Øk(œ½ï•çÛÊ¢‘Å€ŽDì´–æ ’ÒCKÂ?[ãAæ©¢‘šlU]w±€nR—ëÔÿ†6–îÔt}ÒøÑðÌ5}á•Û»Á7„wÑŒ\ùçøþåjhXöö-‘eÞ g)9Eµ…Õ«øGŸêw‹÷E°€6!$Ÿi‰óã©m:Þ|¼ãè¸$ë@3:×ýÅÙ΂õýåV'aÜÚ åç2Ñ‘ÄúYÒ¿oLoúŸqjs•Ïèþ6£?*yÝ.U«E^÷oAg½&L;äa Ðõ±"äÒóÆ%9û(èЦùþC¦Îò¥’ÛžXî. ™‹{Ñ êÕr¥­uy Ve†ŸÒ¶–~î¾ÎÚPÆ?»BÃa(Ôpg… £ó‡Bö=X¶ècVÛô Ížc±Ò Jž˜…TÊã¼ÛÐye˜UƦ¬´û+Ü×r·¢»äOpÆÊzœâü5Ñ‘/úœ —‚µßÔ¹'¼Iûá& ( „íÕwDš¹ e%»i@¥±ÚyÚÕ×dÎ4¯A#¡–ŽºêAI<օİ  ‡—süS‹]5æX¿àväó—ÞS/~ÜVŠx™Ã2ù ë¶ahš¸S¥ú½gè ä!xý3·‹ÚûþsFœ>ªø‚$IJœÂ°¥˜¼ªÄP#9n™Ô„Ô¿âµ 0Gíé2¼ RCÛSzÅ@7ÂuzmÔ¨™²`ƒ,\ À°»U>°ª¶QÐÓRÇÛþ2`—ßæiÓØöuUa‰öö«%vIŒ™²üwÁ`\µBñ„²ØòDU tš ¼,íîÄm¥k±#BCˆ8)×:@†…½ÊH¨Â6™ÄŒT¿ÿú'…@ÿVŨÎ÷³øè+ôú9ù¢dbK˜0´ðüA$¡4[Îtd»ì?(Gã&!1=xãL¤±§°Åg‘õÛx”·G|¤ýÆ^xG{í,Š|÷Kgd Bwi ÎFF÷ß3"„øî’W,ÊË’+SõJŸõÔMHLDB†E¹ö3UÔÊ Y'«cÉ[wð/ëòyU¯ú¸¾³*†è0¹¶ŽµL ¬­ÝA 0¬»#KjÊ\þ‡” +ÄÕ«ºU¨=å4½yý'Âíö(‚©Åï“yrÑÒ(ÌUÒÃ,‰dd¦úôâÁœ™¨Ž=_ëÓCÙ‘*úÎrÄCD_X,î“EÆE9tw¼CÑÖ¹ßɤ $ÃßÍÍT¾Zòè{’wYm«J©uµy<ÅÊJ¸¢]§E‚¦òTßB_Ð iU‡b´$_¥ÿD”»ð뎪‰Ab(\ö³ºƒh„ëÀW…b=BÃLAÍS®çü =“‘Í“<¢Åï—égºcÝå_§ñi+Êõ}¢xfÀSÂq‰ÐM™}ò˜f 7‚ýwý6E ¡†þd±êÁÁmqœ%º i•ÇAƒRÁH_*w]! w-à!­«9íTµ¡‹¿LòM©IwÁü…jdÚ¹¼!Ú%8„Ë5ò¿®ÜãG’MrªQñE6+Ù•î3ØTQV«…âA]úsn¢mB,=Јhk(j$½;G£bÚK=‚[u™e£GÌ)tEÁ²â’D·,ÝDŠlªÃÐ?ƒú7[<½ âò°ýŒ_ÕW¤ìÍ#à¾î 8¿0k«Áè¶cµ¦‚ã¶…±è¸|_n® z]¶Ÿà”&NCÕvOàZ7£! KóNŸV©$ž#¼â¢ë¦4áÓîîGÀ“¹Ç ¦ ô3t„Í•(€Bgë-‚úGÜDµ½NÃ-T– i¤˜˜Ûȧ8`̈`±ø ,åᨻ¦H1„ƒR É„þ-Ô–š-,ÍÍRÿF8g©ºÁd‰4¶jGYñXœ^jI³íˆÄ\ÉÁÅ6r1V¡µA¬¿ž«Á°éšVe˜H‰÷ÐýÀrÍ!u%n·Ò8{Îç ‹@ÆVœ¨Õª#qù´;µ¨i"_f*àÖù­W`O^Ž­~ íoS¡üšIùéÎ&èéê]NÌ;ƒˆ©«¿‡.ÅÇÍ'È9NóRfò¤¿õñ;TA ªñ-öï³—ì{‡ÂÑ'ƒ‚)ž‹Î¶”' #ÉT猘Ӱ’8zƹ”/&2šrOpqï®%¨.ÓÇ:TB¦¡Ö¥š5ã#㮤·Qep¥àöÅûcDŽ„Ý뺆Vs 9¯ ǶÏ*n)(gʈDÁlºUÅ0Gñm"2jËy×ødèq…b†ú™S ›?f†-þ+¾¥ÚˆùfÍ Æ¾è¢ûß…!f¡XHdô:ýim…JЄ&¾ZK „4|’Ø ¢YÞ3\ðk.FŸÆŽ-ãwÞ¯Vý?hi½¼öó5Vb¤ÿá›åñrbyÙÏݶö—Æunb`£#²¹4Cì=ŠUÆñ*ªïÊÀNô‰"â5 ëZ?óeÍ5ªÎOCf¸4?ÕbSûCJ`?aezÚž´#ýHHôÙÏGO.B&¤Û&ËR #×;éõHÙØ‚ßÚ¤¶.Ù2uxæ ¸‹iµáŠc‘`.A ‡B†ªüÓå‚»©?/)w®ÙÿE0G")Öø±Ó/peh€Tô¬þt·Ô郕ßá<>wš}N5/û±gI>{ˆ1üª9öÊéž6OŸF ¡ž|•ÔÁÓ¥Wg3瘨X® ¬¡¥ð=CçÄ÷m`°nJfÇûšë#œx­è¥ÜŸº|)ŠnQhÃòÕÝSÉ€Ùå,˹´‡@} <[ôUbZJîP=Ò¾·\*ˆÑusßôFIð¢qÝ*€àíÜ¡â"y³·c½–íZýW§“âŽ[= –È5!ŽŒæÂƒ^;5óЯ,'ŒhœbO¢ƒìÓݦ¹­ÙP%Ÿûñ³@ \€0“b¶pP wi¿ÌÀôUÀ¨°om;`CûòÒÞpR”©mÜŒˆ˜ø@~½Þjü\v>ò8bÚ ~kîV.åNcR"µÿÈLȜ݃UÙ{1ýókþu¢ç¯ÌÁ­ÑókÌc•ON 9ï …Í uŽ›fâÊ”‹Í[ÏüzÐñšøßù`³Ú@-1mÓÍ”—•K€h fúãÖkå×Ößlµz…¸E<îXe]7³ñŸÿEäÒ¬¥åèWÚ4PpÍê6LPC¼ç?ㆠHæ¾.æüÚ6ŠT[ZfÝ:Eª1•yµú‚Xáé1Dv„äÃÝò6U×>™ÒÉúþ‡LÃ'á¨5òlÝ$“{Õ°òó1$zaÒøÉe *ZGÀÐ}VÁ¿¡)AŽ•\‚uØX¼¤Nh«é"fqçó]ÏËp2`mgþ¶Ï.ã[X[›¬Ÿô„Ÿ-ê}Gi!Ù˜ÄSéà ‡Ù*LcÔ´‰{Zv\7lêû;õSëä6¬…yEaÿ0üêÉQ©þÏ Ê;³Ê0ž=ÇŒŸp©KwDÛ â¥Àð ’_*ŽRÀ œÆHÅÀ?(Y³¥©Hÿ³b¨wõÇYÐ;x“X’vµ"°ÂŠÊÁÆÎ8œð0ŸƒÏpè©k ´ÎÆM›hÔmÇFÉW;º3ø%Êç,øY[°uû¯YüKª¤ZÅ­ŽX—´Úþ[ýÿ†GÖPAY›¨hJTTŠ <¹ü8'6H%铬Ç¥JŠõÂ5½Q ·Ë‹"„ýÖEÄXg\h¥¦Ëõ5å9_tl²w¥Öö’¨³ý|—7sÅ>ÅÙæ¯CMé«ïí–tjctF%0×|M‡$%Üœôb t4”7çæÌb=KBñçè¥*;”zeY25|ìµö¬#ã–'º‹ yòß±…°Œ?¸ódió6Bàþú‚tÝCÎ&J©ÄÚ,,êÙ¢Bh¨¤a-¼ó…­‹*¥*üZSxo÷|—b\Ï~m}svŸy­¦›ÉLaÎa’à.îá>L€"½þˆ›t%sØ÷%H@ÜŒ³¸œ‹ˆIBy…«eÚÿyÉÝ|1‡‚-Ö¯e R)Ú(Ⱥ|ä\Ûd³b¬|Ês\ë ãz”ü|lè½Ùr4o´²ÔqÃ’LÄFäòtƒ®e‹¤kË£6LÛPFì*ƶáv‹‚¯´Km¶G@‘„|.ñn¨m;ÏÕF o1&Õ-²€Õ)&½DÛ|§¦°¦5o§°áýTVkÜ7øBÊ[`”ƒœM„,%în¶©n?ôfÀÚ!) %Ò/ýÕdØõ´Æ7–÷Ü.® ÓÝf8ç[¡©7 `;ÊëƒÌïŠ0ð{“!Y{Xd¾K’ã#Uw”îH…?R6v²pÚ”½Ô°‰Æëe|ÿqKˆ¸¨çÝ@í*4*a¶0–C^]oE³Éz²ñl¯k©×`ì€ÖÊýqßIË–#½{`ã?#í½ë[xL¿B…»’¹¥ß´×ÃüÿÆl`/È› GƒÉTw_nñ³vϼ«c~ß$Åÿ}x}W«%BW`R­þv™Ýá¾ÿ)bgvD¶¤ÓbZðÿ¼,)íT†ï(W#9fèÙéõ'píYªÔ4¬æg&qẻÀd¤~*˜¦ ¾QN»'§G`ŒÈÚ©[9qîž1&êWFØO5™zµ™gÛxWÄ:­¹B󤹣ÄQ¶ç¶òòŸ>vúãCÝZ¥[a Â8 Li´T²6Ìnwl··^,ĈPØ4A>*•g •JN:N…BsÚ0ífcŽrPub[ù¦ƒ]Ç‚=îºL£}†pèÑh¡8)§'a=£å†p©,”‰w­Wä"±%€-³N*LÓ]ûÀ¿÷¿úíÞo>©vD·÷™©þwGù®%Àx”ÒÂi‹›ù0M»+m©áú¤£íé½·e´É,(ž&ëZó?‹^UB²ÅPýò NøÄ“Ò'ìÚ´é}tb~mQëJv ýxüfm)/ŠÒM­æ`]FÚ&Ô!nÇV@©Jz;ŠmhösP5 Œ¬ª¿Z>J”^ÝúÄH:-,)4Ú >%Ç[ö¤ìY’ô°Ö|Ù_Ç«ýp_¿w‰×‰ÇyKÈ &]=X0ˆüvŒ`#Ìj°·¾˜®¢Ú™Õ…Ô+ÏãkuÝ£gÕ0õ»7Æþû%‹˜…^áª2÷Pš¶Ë¥ì‰îP›±* 4asªõÜ8?y½Tk¶Xc¨óÌl„ \SÉQßFÙØ_rTHœ«£F^.百Y´ÐGþˆF.@`zmë3.>0ó‡â.}N‹r)q/ óÀ'ö}ZTŒÄ?”¿®ËèŸ5y\¤€1@oÉUŒGZË·W4ítK<.0ȇȔ ­ƒó>èVÎwðòñ¸›¼SÒÜjKlç TÕ­©T$Œ<'ýïÖ82n(Pq´Åu+Å)’b€N ÌIüÇ ƒµU°a½Ê”Êr~åB[æDÍPS¥ÜšS»ýsX×€ãÎ’¿BvêÑ–Å:¤3¹îÚ„ùJ2 V<…—¿\ ¨Eôy~BÒ8¿mŒûT‚ŠÏm ^ž‡=¥ ñy9\S{„ÕÄ@ÙÀ阶:Ñ  + Ž¼ºÉwqEÅNvÜI9½t˜äçÔáðÒÉtç\±¯cÏFÛrei/3ÿ‡¬Ì4ÓFnEUcR$–;*˜“ú£ú°,Óu±.¢JQ jþ¤‡òŒ67 NìÕ¸"Ýj5ès)TjlÓøŠá<çN†¼œ%¥FŒ6úèos.õ¹Uºàü¬õóaB™h±dIwP-YÒ¯4"}&&…¢¨¼€…Ò èÙ˜ÈCh*V*lLh»d+”¡…¢yJ·o±Ô@H´. œ$qtKF‘—éZÞV€9¦ç’€£¡ÜŠSqSˆZò´Ð !éÌ~`†„ïƒqUÁ’õ–pµ@òuTz/Ó[Ú˜a’Aè8Ósc8…Q›1û±Âq>ü­Xg;»ŒÃÅ·ê:–=¥ü·(:¨Å°÷¯õrÛÇŠšÝ(›‚-©Ã ¢Ã¿ uxÎÃõ‚”yxû5i"üøÇLê-f*@Ú[¯öÈ™S•/ÜC ò}Q~yŠªöŠ#Ãúx7 )ÃŽýÓ%B*Eq±£SAÇâŽBá¼ú„¢æQT)p_¥…ãBÄ`/³«z©¥áŠ °(\äDsl˜Õz‡szr{4¢*”ÅZ€¦Y ­¢M/2q|l∳Ønž¬6}8Ò™àyÿ—¢ÇÑ%£Ý%×R.¼‰¬óê÷ŽfS„˜ S›03—G{²[gpéÇ# žúƾçà7¿ò²–ÑM40¼IQ†ò´Í8¾Æéâ Ó¨&´ DuªyV …¹„w'T™iË2H´îR:¢É3œ©*ünÃÀΑØc±#)ç•b×½âi™cWwÎëÔ²Éç© Û­šúwª} I»mEœPÞÃc`åÒ,8Ï7a¿»•h$´$¤m±-¾ÄRMÇsš3£Ÿìszu¼s» Ä›ÐÆšI“­ëåògÓB×£Ô41Uп*!Å4ÍÙÔE7z!£I%6h?ÈRÅ_r¬`¾/Ù"!&äzã J~&æ‚ไ“Ñ ÏvÓP(¡¤¢ 2®z€1Ó„©eXüÊ×dº¾Zk+ÿuüo."²l^ËŒå'|JW\C<£¸rXŒ£Ä‚ó½**ÏzêÈ ¦§ÌÌLP,ÞϲjÄÈÏÑÊK3˜zmX“ÿ 5pê¬U—Ç9E¥ËÔÂuW=dpÐüÐdL4“£áÕpµêê ^ «EÞµß;"«itâ¤äÅÒ¾ÔÚ‡ÐÅXͳ^i4}º¨Ä€$÷Øò\zUdmbIûãÞƒW°Ådñá˜46FœfVc|õ^#xÛɟŶ’uí=SÀfê«Õ$J}¢=GÕN,‹Î‹Lî¡–¦›³Ö×CzýÑf‘,uO…ãÓÊ\ÏÉ (†;Ö;fО?Gç5•0ìH’^^åAgHш@²Y ß™…J™ˆÔ¨{ìªËÆLîIü qäò šˆcãmtÎñý®÷tBhq>{v8VýCi^–½[³޹ŠPŸÓ³ñ“·Ù¨å®¯=ÁÙHWkAòòÐ÷¤coÖeÁ™F·£uXi€ ÜÀ_ƺÉË+¤­Š´Ž—& ÑT9:ñJ[„s§s##l•:9DÎÄçMǾÊ@Ú Ö•]¿ÛÈgQÑ̓‘ ù¼µùâ±m“Ù½4k3ǵRùZªxc–LEŒY8R§†LviœsK#¬ìkE>Ñ»å|u{ÁŒªî´ÍÎzšPùV ÜŒËry<£Ã¦¥oËT´îti¾“ùaUã³êò‹Ú FTäÀQKYvËÁÜd5¨IŽÔ‚a&‹z"/ÒÞøzƒn+­ÉÑûª,´Þ5&W*œzødèÛ£=f…1UÅ×B†ÉAjgq‰˜Õšò°âÈÀýŸíª€×¾ï…¦ô«5Ó .±FcãÎÇA¢¬|žiâʽ‚-£Vq‹ÀͧÇîp%lÊÃaÙ$AÎé´9PŒD}¾Ç´[ÅÍå*›@:©¥óroÖJÐD5Ä®R¦½“r½á¦Äe®×6Y3!MÄ•c8Ó¹ªIŒb¨PŒ<ŸÃ÷eÀƒ@Êhº¹¨­Ù"ZéPä»ìãðÑ­'£þR²CIª;LtAuœ……¨²ÝPrb\ì„Õõ œ 43ejáŸÓ_ÏÈÙÓÖ[íÈz)J/,¡dqPaÖÓ6>V½#$Ìì' ,M¥•õmËR5Uéû:ÐEð„í¸ Øt³ùZVò¼ŒGÝ¥—ذeCæ5;“·N¯’çiŸäk_Q·cJÑëÉv«5ôH4øe}‹ñæn-×@Ù¸Ü^ÆÒ>jùqÊ(¯WÆ}°è aÍ™Jx5ZÂldÛ€_â"3·—‹è˜‚4ÿûYP¨]“V(º­­Ú¹ŠQ‚ùÚŠ}õÇ3 nÝÑd§þsôY‰2¡ÐѽÂÃ{~ º”_¡<6nA*w®1ÄQÐTÒ˜2¸Ž‘K÷ŠÝu@TÜ¢Èø&Ól?@ sàå>ÎYÃ&o‘ Å0£{æOHñm'Ðáýœð)åL“!Çü¶Óºø"Ùc=¥T¯bˆÂªò™=d¸šLÑKžÃ³džZqó")Óê4_¢\Þ £ß™¿¤ëÜùZ ³nF0_^LãÁåÛ«FC“ZdVÃTŽ Ü©}ÝV½ë„¤Ê€Êîr7ý!Ôžx‚aº/¢Õ[úŒ#GòŒ~fyfVúœt!àÇî/ëíY™ÔhKÎ;qÒxhÆú¨oŽÈüÇÇSW }à•I!-{.ùöéNoE¡±Ç\hÿ÷?c`”†'dNï72™Rm@Tœ+}&ÂüÂá‚(²Ûb¾ÐP{KfÒG—ÄÙªY¸תòž\BÁ”ƒÉ]hŸ`Íi*½ì#²‡3Ãådç{ÀÓ¶^£ŠM¸îrGnmRH>~N¾€\¬#DÌ%¯PulÎfìh yÙïè0ncÛ ¢Å0Ìpm Š.k>­´®©QfGVÞC;¸Ê½™kM€>"mÎjûH!i¦ßäÅ2aÄRL†ß…ó̲Á|Ÿ©È/0ÍÇt02¾w ˜F.·ü‰Ü~y?¶KáëÆÌÝ€j™YÉkïDÃçE­ðÁ8éÑ{9ˆ¿è*g¡-0 »‘5ð©¨×ƒÇË,´u „kÅHï—ÃmxõëÒðÁîŠTÊÎÂù³{:zÉú„<Š(RÍVÅ‚6¥¢¶p¸ÞV»â^—+W&ëÐ!Æ(À0ïíÖêÝPô\i‘tøÏ„umÄäf´«BeTH“S´KÑ´þ‚*€€´þþ¡Ÿgle‰w´ITä¬Àw ‘ÑF0óy껇qï…L5]⦫PI”&+œÿï¾qúy”)¦åÀžëhC÷d{V!'Û>ößn¿ÿ0x–Ð'ü«L5 _˜¼ M„õù0Ëé9ó6ŽŽY€­ÿCåÛÆDÉØEjò°O«÷oAýʹ¡ž~òç8…3 m’¶6réTƒoQ\9,k§Æh<ˆòÐ÷íwï_ìFã§ CÒ}JŠ¢LâQ.W®Õ¬7l]ã“‹0T!æj;ŸZg[DÆ]«Ùe¸3ÓiTœÁ$µ¡\$P˿ʗԯ×Õ6x<¯Ë6?‡!²CûíˆþÅ»ûLdƒ–¦£ï0m,¦iËÖ‚?m¿;‹\¶åÍ]ƒÃ‘Ï`ÿ¬¥Ž ºšî£öÞžÔG:Øñ »£ÔÜÕP±ÈåT¾ û#ôžÁ” _eÛ.‡. œÔh‰‡…¾¥é6&'oû¹:?£ëà^²IRU¸;%F¡¯K;÷¯°YÏp­6²lÛ ÆMîugâx 2òs ö§ÿèã cÝu¢ ê[*ë™ì/9M­wÔ“:3Óx@è:šžš4Azò…n"’tG‰ ¼÷µ>m‰”è«6mP©P`ž÷æ‹ùïuª³*o÷¯ÚBá)¾Ìm>G¯Ý¤xÍŸÏßõpåxµ¯>oÉçCò®FÌÃb®ŸGl° '+‹R ‚h]ˆ‘¶RˆÈ¸`‰ûmÂbŸý¥ Ÿ¿2MFŒIë/Æy¬Ç( KZ©ñºW¾8îyÔÒ¡×ñÞKôbö”‚SÕÔqd𠤙n× à7D)±V:ŠuçËãhÚåóßêàz&ÌăIM©³€1œÍõMð4,V=Žp+~)ïá›CPjY&Gp? UÒœ d+’ ©C,Ä­½µÑÊãrë ‡šŒ– Þ,t°p‹ëmÈ„…2£!ÁÌÿL ÌIŒ<žÕÈîs@ÈŸþ`À@¡ªáAˆ‘Ë º£¤ÀÞâWk³3SŽBÿŸ¼DêÊ0”m™ÿS8þ6!ñãÍ”6øÎý!ÕB4Mðô%qÇQn¹Ì£Ux ´Þ«ýdþØð Õá}4Iê*=…•÷ŒÅ&0-Gqœdl¤_^›U°­)–׫O±»FÝŒ–Ð ËÑÁwCNѽM¶U4;1Š€ JFÁ4ckG¦ŽªšòÓM‹­šÿlò4>S8‘p·<öÞ‰éu=bGq^Èê)Øh£¿™Þ†4/Õd¹¼õÀKùzÆÑÔ\WyO±¤ÚžÆžªÕ…¨yeøË1ÓÌgå¯;…ÅÂÀLá¶¾x¤`Ší¬«ר¼õàEÄ>]áÜ©¨ëAk¤’ ­HN¾uD–LÖŒ¤Í–çz oüeÏûóªê˜Í(Þ r ‚›¿ú­mY§O;«Rë ¡axê5ÃK–ÕüCìMxÿEf:§ÔôΡ3IÙmch£.™o<Ï^­À1p×ÁjQâ\4§„O©Í£œ%ÄÙ·‚j𥷬~^{Ÿ&A›ÓâñíllÉ|¸’äñÕÔš\ï\Ù€™ÂøÏàŒ†ÈÁ !zÞLâFœîË6)àb Ùy 3ãA‡2áû¾hô´D×Y©Öñ#&ZoW¤êêÿÆ•j}×óÐL·BÒpŠGh MÐ@°š¶ˆSË+ñYD¡£%@$Ÿ-õƒík\Ù 3)æ›lÐPU¨6ò)óÖ3%QøÅZk9cèð”ñ¢óÎ}Œ]—"޳§3Š[)™¨rMZ|ºÍG£Æ™ýŽØÍQHJ«øÏ¿½Ís~‰ß¡¨–ª"ÍH‚«¤RpoŒÀl®ÔÙb…Ä7àÜ ÔK✶Ñ-¦­A“îAóŠÚòК7ÛÿW XÜ¿SI•&]Ú»ëV6Ýùyžbíþt ØÀŽê sŠ.^°N›®ÊºYœ·f¼¤É€ÝéÞ˜@‡O[tˆ¹Ù ìŒÏ6oц=kn匲RL·àFÔQ´eMH±$Î[‚jƒ„#hI¨Î#i#¢x5î+Ý?=Ê]Ù@OH„빫ºâC•Ð䋳és$JìkΚj‚¼Œ¨££‰Dt›ÄܧÇBbVpmöu®Å…‘se`ûÁ|ú9‰VIÊ %­nÒ ¦0êÛ%ÄyŠðGѬ­| •'.زß>•w0•à¬ôtsÜàc¼í .y£ƒ/æ1‹²Úî?6nÃ@ïféf†ÞVN^x®%{´þÓ1m¿ö„>cj‹ömGF‹Êÿ£D¡ ã¸Ђ)ñXù6•í§k í¥>äðàN®µÉ–+RCœ4ųzP…²Zî“à­´б`“Îr<ö,›Ú6˜,{€¸ŸÃ¡?w6ñ~lajÆ4Ö¤Ï>Î-*À˜X¸»¥ >tÀnÕô[„ͦVS²\ü¢×¿R•EZ½6zM¾‘3Äò¾xw^â—AíÍ'Øá³¹=ñÃ7a:˜ë×õ1PÇ¢ŸÍµ.ŽJ\¡¤È#ïG9…N¸#aecχŠLðƒhïT* Á©4;ª1ZâŒñ¥ýl‚ÇÉ]ûëo‘¹N!qP{û`Ô´E•+fó<úá#Åû ÄPÿ5œä ys-.kë•öAÐW¥*œ‰Éš÷JÚLóÓŸÕ!Ì_å×ð¿%ÎäeFPšÁ³7µs÷ ‹V.ZªîŒ‘Î’'¼½è†q´"¡þZCŸÕö)_4’{²dƒÒ=V©ìÙ0š:ª]x=í¹Â|ŒÝÈ9é‡(3ŒO¡f êÝ»Bk”êFQ‘Ä\îiÄMâáJÔpOÑ¢¹Ó%KµþjJÚ—A&þµ‘Ì¢Ž½Þ˜ÙkGøœçú35!óÁ"®ßö…˜†OQ Bj¢ ÔØ€Q’”õ(srk>¸õ! ]pוöi.de` ‡7ˆ Råˆ ß!â}õ»ìÅU¼––¾Ûêú<9æÎZhz;¬٥ Ác ™L'U~~sà4´´6Û£ÿãÈL¡(€«'â6ä¥ikIJâ1»Ã/‚ÌfÜ­"”À5Œ D“ó«…Òä\'?8‡Û8qQÛœôÕË‘Uªî`(HlêI wÜC¡î 훬…Nà$äÅ…Û)]Õ™GKÑMÈ|jSB_ÉB¸¬ sŠÃj“ÚŽC¸Ü«Ê¢((-·Sä•‹{¦¨¬y‚ Á‹d±âGTÇDñu;éÀ·Æ§ÁXâ‰ÓÚcu™h¤óþòè•“\ïж-·v›[ãI 0¨ ޼í*7½Í^»ÊÖçy'ú’ª ´…Z8jÕÍ@‹ŒÓ"ŸÕJ FGŠa|Åû+æÞ Ö$$œFª)6?@ªˆº.ŠXœ üŽ>AÈhͤr·&nae<¼œ›Ó¥>+”h±|m¼¶ 7ߦ¹š!|/·¡|‚Ž|g™0`k;¤œ&j¬U]“ö„ðxmr3}¡é¬åpTŠ£«~þú=« ¼¿èùIéjFíI2 ùñG fpâŠÐ‚¢b¢8ÃDp¡+6WÒ›ÿ¢*"–¬Üb^?á$}¯u‡È[‚ÃŇé¢öoÖ>7uóôô­ë}@ÂÑ¡VØAÒš*0§ª]N@†pÚMPÊmUoeÆ”ö}oMnL÷„Zþl:Åw™Xäö¶ÊJ‹D&×2šŒ8aG©Ðô¸í°±½æYGGí°õO«Âr âш䘻ÕBHvI±çºHO‹Ã ùÒQ䦷`„ý¿¨ ÂCËœwA·FPe¶äHø¼•9AµÒ¸ê‘|Z¸Š8îv|0 ¦Þ€µ“lˆn0F+¨?ÞunÏ«¡[¢öVW8AåZ{º•è«™KÖêP¬ÈrDìüT†M×8ÿ± ݃->ÿ¢ÆåýÕ©G~¬—xXE}ó›xLèm@ÞI€9<çûí!ï=ôÎöF¨À°£™¶Ú7j# q{9ÄgLeAå6i÷£¾Ö)±ø®ñŠ%¥ªùi`û ¡y.¬[ w½*Áta7cm/ØXYì1ùY&!‰—§ P*pJ¼€©Š»°ißò¿hÈÓð’·¡yמ]ë#"*þdתæ:žfu x!ãc=gðuðeA EÅD Θ¬¤#•×@1Ðs¶¦N‚åДû:Z ៬UÇà…šÛ=áán·#Ã^ž\—3å冒ÖÊ7öûŸÉµ’YR,C'»Ûq4cÌÝ¥9bÚzg$ÝRû~£ßY--/¸” Â)ê§Lê Œe•áfÔ1eÃô‰ã^¯Ü%ñKdDá/Ây Al‚ ÚÎS©Ñ´XagÕŠ¶­OÕB[œÊŠp¼nnÏ`ÏÄÄ—þtÊîNp}ºÝ2u7!êV+ë«‘ÿI¶1ŽjYµù˜Y‰Ä—ø¹³õvì¿ÜIº±ƒjve^ŠÆî.4Œ_€Ú%‹…šœ­¢ñp›]m Ö®-…ëíÜÒâ<6…Á'h=b¦IG¹.°I%g%˜ˆ·Õfà¡ðÍR0Ç/j<‘#Gê°ûxìjKù»25f£à!¿?ÞIw®]áwnÿd„ û©e•ö˜úº\W«|ôôgÄùª«Ã¥{Î"ÃçèÁyB%ÙþÀåI–AÎê˜G(Qÿ¦l>ê ï(Ö´òÞ©7•‹hRsÜ¡ŠA. xW‰%”f;bæäj,ΰ­cBI/bß¹jëaf„¹mŒ²51:†>RÎuå{3—”Š<t-#$LQÃN†¡sÑKRЧWãËKÐ’šZYAd·‘[ǘÒ‡ Š*ÑlT[×d¦¿µh4¦@²Ð6ÝCß?£d³»'dˆ²bÀK›^ƒÒh£+ñCç›™,*LB¼Ø:}IìQ;xkçR:%H}µ›&¸±à€Ñ‘Ð÷fЫé©hVâù²â7Ĩ®‰ß|©%X>‰ç¸¸sIPleâ»Pyý$2‹ÝÞ¾æ4@ ík~°E-fºÐŸ¦ ö"Ðÿ6µÓÙÃI‘³é0øÉc  ˆø£Côךþ9.÷ ºdx·×ÅþíF38 W$ -b|zyÀWÙtÄ”ªîx¼N0nKÖ„ý<ÿ^†?Ò©ã\zðæ‹yG;å·4{+/ZmáËÜ&SÛ<ºœÃ÷R/÷OüB¤º¦%úp§‚~ &„™TòŒ zª¸.%½àÕ­Nqï#[5U!áëр†Í2›1¾èžÿ¤^t‡d~о²­M\•WË]›¿a'Ì–hêÊ%põuãiÊÇgŽ÷mšUŸí*­†ãÞ³¡$Ø÷ÿ1߈UŒœzBí“øÍlÎ>J;ØmÈÜ‘ÄÊß;\¥„ɸ2.Ý z”»ÐÚeÛi× é8^ŠÙ;Ã^4?Ç!¶t*RòE}Ý>ógI‚W«^*H…ï{o\h(ا ¼—üê[™£€¬ôØɇì9>²Ø`Äúqyô’óæ[¾hm†Ü~6²­òÌ]a'|”#ƒ¿}×ëž$"BÚ‹ÌQi‚ßk ×êìjªø`™m YXõ†Š4¬E[ëfôªKß*)v¬ £alÆçæŒ]Ÿb‹mÓ}Ñ¢ £S^éƒù:5ñh.^ 4=:T”)y­ÈÚXëÐ ‡Çó::Œ³ôÓ›$:t¯ÐwwË+¿‘œ¢ÊL“ƒ‡£—È0?z]ÙK&í®öà¯]aÅ.JþgNé€È-ó”éôr0Q‘Ë“­¼©í«AŠËò³„^L')¥/r¿Á(’—õ„h^ôߊ¢a—ñÍEå<Ë`X Ú‹?Aø%dûEÓQVg=e(ßaæcc+‡·TZ5&ÙµIÞ/@ |ð+¨pÊj…Î^´Ø/&y#{³NßaN-ƒi‹Õ¯¥U ör®P‚yÀ œ~ø¸h¿<ß°«&å‹§P4­Åà_„M]¼˜ºÆeçY!ÅW%øIÉeýV£ìV*”*,òH©K{ÿT5ü­‘¤—ÛOI>$ÞpÖ~œco~ÉHQÛŒäBl°%ÛŽíqv‚6Ò·³ÍÛ£‚Ùéc·£­ذÙa©®B!’àâ%Ðo£rý–5à=¨h_¨ÚS-Ü6{‡[Fž`ãÒ8à`äâÔ§²b„YÑ,x^n!$ãã]n¢c3Ägb-=”¾uHµ:5ÐÒTR ¹[È®‡}ã]sÿo&ž»kÑÔL•T÷öè0Uô)ZyMûu“›†>­N7ì·>mÜkŽ"F¯ô¬C$ΗDBûh3é¿‚¼ëô"ïÃÿ?eØ~›E ÑLðXV‹E¹ `à ‡£ÛµO ‚1 昦òD(@ð0 Qh‡_pÊÒ÷È·eƒ>w¾HÿCûNï#©p¬®ë@iç ‚G•·¤A4j4‚ɪ§:Oƒ%ÙÉ@Åžì÷‡?/I¹]Æ/,uø%Ù·Ô Xÿ¾«‰œ«Ñù¤§Ô†ÆÞo£[S‡ÏmeJ<Ðp—?¶EŸ Twâ HƵ·„TýÒ´µØB:—Zï^¿vÎÆ&R*¥¢îµi€ÖGÖ f'WÕdÂŒÆ+Ú­*ã ®TeÏŠ¸‡™ c´ RëÛÛŸ$[¥M/s:ª§è#<³¿K7áÙ‰“£º Ò5¬#.'+ü:¡Ìr¹X‹´³š1Q¤dÞÏHjq†º ¼š,/ªìœP‘oR*v2øùÉ©ŸþŽG”ôÎîšCùÀ·ê‚=­¼¹f¤e:ÜfÀ7ãOI¿Æ>ÇOþtQ]û<^Š™ 7òêAQö5,D)(;Osó¶2—&Ä„:+×~¢uŠ1Uð£/Š2Oð× >x@#ˆF[Ù×T. ”g.ò‡œD—ZK5çYï²"-~nA¿2Ù)!ºÝg¯*&züÜÀ›ø¬Žp=ùJvNÅ×sƜȹfN£Oq§çgáÜÅîUh¯ãÚ±}Ö̓ˆ?$àWT¸™Ê[ 5 P¥ÙØh•"#þöYÔÀnLiYo…À4ó¤Ý´çÅéd[q(îµÒ]C¤ÏVöì%9Ý·v·‰2ÂOK±‰l ãþ²Ž®Ú…z§÷^…Žƒ5¸¾¤gö- q"¬±èOß7ébüÀÔåùú½®ÂÇ«5’[ Ñ’çù5ûÊèS±jQp]pä#ï‚NA|Â1Î…ËI+]ž^!'‰¼ -­âRí?þÖÌ9 õÊyÚ6ªj¥ü7ÒwÁÊ‚n¡Õ>Ey‘Gð"Á¸ðkme}hÊîÄø¶9ˆÃ\Z*µÃ!<ØEÍẄæNRÝdhÚòi/Ç‹[®ê…²w€N/W£N¤å¬÷Ç&ÿØö;Ü·Åbï(• r½Õþ×3ØU±ž.ö¤J©ãæâ4©-­[÷ÀTYˆ÷ '>N$^ìœó§x}èrÜ"»m˜™w³™^V¹y™o®¥h|̇ï%“ÕÏñuêÒ4=Ì6?”„*t;g"9mÐá!tàÝ•O+ÍXÚ×Óÿü —6NŒûÞ=§ð^Aˆvyð®!V»Æå¬¿Lþ¨¡ ÄüIù8mÔ5´õû$ÿli*®ŸÚ6ó²ÏA¨h qši°.Ò¥¸^7¢Y‡ÇèxÊ©ÐÑÂc<üæŸÂ›±¼D&:;g·yïþ®c…brû*<¦ŽH”¨µ2!# ó?>t™>lï3Ñß͇ÝaW#ý7úÏM®Àê±æ[O¯0{JIY<‘ÙFV [¡ }ú¿É,ß1Mr¶ ¢[Êðâ]Û¸ÿ¶*á𸹎;©0°l䟳9z¨òbm½KvÞ _4è¸ç²D%oéYÇRž½ÆÁ;–SçàöÐipTh7YŒðûùu–xæSgHw¸·vã¡Á]È©d¹Kˆà¢ÚG)epÌN%ZOÍ#?‹*Œ©,Pµ&[áèÌUá*•²~RۢŽ"Pð&’­ÉÚ,QV–ÑFwË+ÖДq£ð¿ÂG¦€§bdŠ Imå(¬(-d¸˜cýžm>´h0¹u°å: ­‘GçØ¼>Á{˜"è4.n4ç^xÐ\)Ý«¹¾~îcžëë|^½®Lߊ¨¨†^Íše»üGÓà¨U²åÿ¯2%Á¡ïQÉí¡¥Î‰jð™~ˆ”ZÍk»ˆ®ñÅò1“ðû²‚ë*f#âÇÓ¥@@ë(£_b3Ñ¢mÓ£ñríF6FÉ ¸=:IqD¿Šàüà §‡7ù»/°bt ZãàP~2s{ØL†q” º#ïåŒ*©›ÁOËÝß™yýfΠ|(ül6™E'¡fìrÈ,,äiÆVés<Ü&2‹óõŒßK&î £e”wç—î9…ê Kâ"ïk†A2²£Ãý†“= —dƒB}™¸Ö²/‹ª>¡Ø£ôÔš½Ø^+[]‹¹éèl¨“¨ó>R¿„ ŽÚ†Á¸`s$Í®‹è«eÉ•#l Þзìl»ØÌ˜‰«­z›>a=þÚ÷¬R¾þŒ Èûª «t†Òïð7f›bçô÷¢ûÂÚ³¸ä ËÍóÉæÇxÛÏ4ζˆ2ãËèw-¡,^4h#š½w!¬·[2*@.—[YAŽt1÷ñ~d¹m%X.¬$Tõ;®Úh²pÛàÙ?ÌJ„}ǃeØ€dAù?(Ñ2I“ìêR³a=Ÿ‰÷FÂ_i2É,b&óÝ·ýrWÇ K‘¶ê ëÇhëj±Z*<Ê(µCP‘yUƒƒœ4&8û4á£ÈsWtw.˜FKêÔÁëp ×µ–"÷Ó½O‚žé÷d¼f¢\UM²o4¯r&W›"Ýk»¸œŠ¢i ™<ƒUQC0K6PEñ´+ŠgÎ\ §1 Æ[éâJñ}×6_G¹\xm»¡ÿæë&P­VùÎØ£daиˆdÇÀp·ëÓ¤`9¿UM²nT¾¯7­¢œ/`îоã…ZÆzæUk] àŒ™Ùs¢39Þ=Ó•îv- ¿¼§~iÔšoAžÑÔ\R„Fæ0À1T‚Xá蘶k+ëê¸!ßôKïžüç>ý´³f'Fþ â: $î;$<¡’§°dù-”–8a`4é¹Cú2Ó–„dõ?¯ÑÇÞ ÔtÝ‹‡ŸsR›á¬Aß–â Þ 0»Hé¢l 6,T¬ ÜG>?hb€Kßj0À¬l¯€øSŸ­/ÌPqH’®B‹ø}…!e4 Ïw3Š7k“Ü:äB×·¡jºTÎF5aÞrÓÌõ›¸ c™Í5ÕøDëFÕ‘ 8wé¸Ô!/S¿Â Õ›ÐD-FД,a·á,3ûŒ'ƒ “Ïž·Ý¥i{Î¥öw¶Ïsðn6IÎ]Ä`‹^˜, ?I»öc°Ms`’/gFßÕÁpäÏ2Ôó_ÀÏV%SJŽo^‡®ø½A€l\&tϪ]ŽwT©K®\F&ÝúfL¢»íû"6ÿ_ }M~‡«fcW‹Á™mÊÒɯtt•8Ú•S'S`oµ0õáÍÍð®<ïb•&sÖ~ÐU=¥p¯ÄBô?Ue0 \Õºn·MèwŒUa £‹@Ô°ÈW €š 8oi#Ýáú©ñM‰ ÛÎÆŠBÂýJ“2dˆŒÏþ át¥>Ybe ’IèI°ø½Á¨dëV•ß4ŽTðÈùæÞäǸ=«Mi5wC &}“ÙÇ-ƒ2„<æ«ãïÕdr@)’AfKMUÆK˜i=gÝ‘ÉuHÊ3&z#ŽûÜ©ªõÉÚáUÿó »@Žô³t[Üza®3úã•4>s.]‰­? Äœ6i]OûÏY…ËuCÕ10,É5žz‡Ž‡¼ùWÃgJh{AнÄÍ$º¿¿ãxzá‹­F=dl|3@ÞÀIŠíoœ 8¹û,È›&QrNÌøEÞhòz<÷_(îwÚëå¢k¥Pò7¤W`èç^I§4‘V¸ ¶`N 0 p‘Í£8ŒsPa9/ñýÓî+UvrRÅÉÒÉB^l·yf¹—ˆÁû”pc^ÒÎÝêžÌ9†Ö ñUiTtþ¥ `U™÷þ¬-Ä& NÍ\VŒ_‰ÕH^^l·§SKc£6Á¹åxóØæÎ§ÊæË ›ß»÷)bheYqÝ2zÓ˜†´&êø5AÅ ùTl’à#©XþK÷)øÖ–e—Um™ê*ûRHÈŽ)$ŠþMK9wé1“V#ÜFfÔŸ®ª'L ·¼,Ÿöx‹¬9\# ŒËt'4ø¼<%øNs›6ñ`7cî\¡W…ËCçmÏÝÈÞq­×@`¿µ¦Ù ,/hè³S·?Mù,³¢ƒÁ‰ÙÑÔ)4{õµ‚åÄ»èôö®"0 ¢Ö²)ú®è=YKÔ\âMÊ¤š•½½¹vÌn;ºðŽTáh&Ì´f7»ëð$šâ¥À)C ìøåJŒ`Ã8óV ßÉÇ[œKŸ¿†\¥<Ê!äwˆ˜Ú1àü  Rp¶ƒI90à´HÄmíQCË8†Ù›õ­P>,5_rÜkÔÓq”_QpE«)™~…ÛŒÅÒÑœ}:IÁË•M2$Q éÿƤÁ‰áÇ¡[×x\1!1x'1{•¢­_uýÍq>ƒÖx5%U«ŸÞ½]‡¯ñ5%ÍkþxÔƒŠˆ¤c>S¤E Š ø€¾yR›ÍFúºPL[›‘>>w–sÍ16´ÍB }¢@~0áä<“nC!I·ª‘ù9µ•šaÎÝ»¹&nsÕª¹9¿Ì¨þ‚ùz+xÿ„bföÙÃ@°P­´¨~_±»à@?A­´#ÈÉAË»‰ñgR‹qæ¿b“ɨÜP0õš›†.5EJVckŽdOÊ¿ª`•­‹‘·ŽèÓqhÔ_zÅFšÚSÖhR4<œ—°6œ`Uð ÔÖZï*•™Æ+ð2ÌtE $(ÐØ\C ÷"{C¸²¤—·g´”uò6•Ë”Mç馆ÚÀ/PB=Iò5/ìÕ‰q–Üa®Dp›Ì YÀ‹åÐ÷@»¹ÿ QB»5whü)ò×ù`ýc b‹ fÈi}¤.]Ù[•Z*t¶Üæo®ùSù¹âæJ{o½G'h¿]D£Y@n?Àa MÂÿà,eHœ’ Ð&> ÌŽ…× RS¼±Ôc›\Œš£&|‹ÀÜöÙ[|ê­Û#DÚãrÖn} ˶€Â«èŽiìºôYìyZÒ€šÊÌ·FñHv™‹:û„Jzb'­ Vðzáî˜æÍ–@SJÝcÛc"§â“0Ón…a››™ø½^lÄ®˜=Z^yðÿwNÈ’€ZëDéDÊ™Ôàè×€xS|Ûà²v{‘ÛtÜ&„Süøüb–*`* 8¿8â™ °±çµÔnᾎ˜Š]DUÝ`<ù>E”Ï7É÷+ˆ1;©†&N†N#>D å¦TɽñÚàNê2xnèÎ8[J"PÍ ø Aè/‰…6œ:Qäugã{уÆ÷»6²X T@Ë3Ã~³ÓÅNûÌõЊiÂLù(KD÷OT”ÿu–†ƒ¨Reáù4Bº‘ýêWü_*.x$rþ’Öp\­îZ¤lGý4;.üRùX:Š¢‚,5@ù¿„›ر=¯)g; Nå´+ÃéѬP#«¶P¤ ¤/|Ôûdµ‚DªÈÇKƯzG\kùxQçP'4îƒlùxæ€}æ›D> ByŠ©ÇµR v[Vù7¸/Ëòª’aKàÞ–u…Š-‚´&¢2ÖÒ?:õÍ©ªž¿ôY7w„kì3wbµAÆ­l½ø‰N¡ÐמAí#[ uw±<ƒ™à[ |”ÿkXP ø‚­óá¹]ele¼ ›Ñ­r’üࣳyÊ:ã¹·<õ¼È¿9HÑ'Ûw2ÚŽmmU±fñ2[6´„’S.ùÍÔ²GÏa¯ýûËjiļü¢E^ûmÇ¥Ÿ±—§Á¤+J#˜‡1“Ny[gÞ,AŽÕ\´m+ÌÚÏ2ƒØâÄA§FR¶‹…FïT;Ç.*€­ïI6Î.ëw‚rGÛ|o’šZ¼]½$jÒñâdûJÃF컳sià™>N?Z2H­Ú‡|èŠø+ ÍãEûý_Asbö_ÓT›Ë (Øž¬D7ˆd¢ßê6%-©t“ÿZµeè2Vª9£²¨‰ãd»ÏΣÆô¿¼ò¹‡ÒÃõj世jr7a…x™‘>ú×Ê}/U“’à Ôf….pÍ2.jì#žtÉZlú×zpZ!0ÊVËžÐbûþ¾†Î ã01»8Euo}’)Ö0ö…-ÝoÔ¤=<øS¨Ô…ÏÛÞvsøÕÎ KÛde1Øjâw;¢5-ü¯$!—âí§sS{ªMH”:Ëv%,M-™í.1£S"7 j_·îSÁR&ÏúV 4[ÉZ,<ÏCÿÀ«za/0]ÙÚ%˜ €ÒW#´ÛýËÞ©µã.“§±rùòttuI£š†FÑj)Æ5Œž.TLøËFŠRs^6)_‹.b(§Ö¨¬Io8Ú¨OÛÖv¶ê˜ð‚ºfM°QháÕÿ>;¹< Õq%~‰rSô·Kžd?Žõ9ŸÛ.ZH[;*H9QÈò¨nÐê Æ4•Æë¹„Àv¹ëÞѶjžÄhâ U¶ÌØ•l-!Ô2ýTþžB+‰ë´^6œm1‘Ï ¦T±ÂöDG›<·.Z\ ¯»9p’ ìáÁø0PB¿8òƼŒžIQû¬.;64o+ç•íuÚB³˜'ù“:.Š/@xÚÆ¿ð¥[ÁÀ’<”έ{‡@ÿ÷ÐûÇÄDÄ á&îmç¡@™NâÉ|(КRFî‘Íwád @P¤ç-DUÅzæ/Ýk¬  ·ëñTc•”´Lr ¡­*²kt_w /зª&qén1åY\!uãzÅœ^‚LÔпH5.­¾õosNí¯©‰2óu¢Šà6¢Õ*CC%þ! ÝyÜû°nÞ3SÚÉâ8ÜJ±Ä¢VX²„°^p”"õ”4•–¹€ËrOÜAƒï#”i©›Q&'Iõîó9®Í•WÜôµ/îœþV²^¬R£k&~·óTÚJ†N~¢ÏøNMJ€&½&ZŽ~›rnBœ“`H ÄíÓ|;(pØÂ'aLëÓó8éðJ×Ô࿾Dl j Éóç'\MVw\‰ê£r?ríŠÒż¾9•h¬Dª5Χ))²tâ¡ãqÛ#¶¦ÔnãŸZorƒôArŠö‘˜à}F_ë(pHÎ/G€¹~)ÅÙ6àñÞê²&Í<ÆJA3nš£-³X@îX˜ºÉê ²G7ÉðâÀoðªÔkayy¦÷×ê½=ŽD±Ío “þ<·ßgÝ2ž'ß.ÑÒZ"$<X¡¶Ÿü×âºÈýb1»‡#‡1¡‹þœ&í'VKA—ÕÖÜ [‘Ÿ6~X†YñT%1ɆЊ6ïõ¾+Fˆ_µé©áª5ÃHfdݶ¾TãkË»gðYÍ~¯ ©{·Æxlòùs—› ôJßï—rWåÒ;ö;nJ´Ö‡QssŠª§äñHC»{âZEU³&IYãX« THpƒÃŠ/[„6èÇ—FÄk÷;0ò$3ä'etœQc_0¦‘é¦-´,\²µüñÔØ®%Y“ºµõ€]ªœo¨žºMù&OO×óÛ°æìn¼ßHIÌ´ž€ô‹cà¬&û}^uüˆxA¯<£×ýÆÜ~ï>óžº5®ãÏüÍ®­ü¢4«3òÕ"u_9J?”BH苨E`Õº]¦;²Ñ¾pÝ1ÍÜNý+ì%×H%³±4dxÑl¸^òn:ò{ÓÊ_§Ë¸;uU f?»67#›Ææ«Äq–9¯wÀ;-“ÜÇcp×ÈÌÃpGXm 3}:õªiÁ¯y_—@BñÚ@xþP':h&KÍÉ»u¶jì¿s8¸q"&—×®?áÃÙ”[ihÌÏ:B”¼aÖ6ïÊó?¦ðw1ƒ¯5VíZ16»M;V‚ÖÂ'ôp‘s›&̄Ϛ/§1JA¿a>JEªæM ô·‘üxQÈä'èÊܰSiì{e̘¸9‰ÊÑGŸTæìø‚d>4 0v‰[RJÊhpðºîfÝfbñ^(|¨áHÐ|•N¾US%º¨8Îû&ýº¿œLýR%3ïÏÑÔ }ñ¬¸T:JI Ú–5I®7 ãá-ÐL˜C6/¶àº¯£Çæ²<´ÖŒvDŒÎbÛ«såµå±Oˆô%… Q|]˜ƒÔŽsâpã=Å5h!t^‹ã\=ûaY]°pŸ¶cAcôU IF+'òyÃsz~ 4¨S)‡zжæ>¯O‰ÓekG3rXä5€$ØjC\G÷QyMÞªY^÷ô$4¹(®Q…HÔgùy‡$üǯÆj¤£ìÒ–›Õ`NPðCLöWL­‰gdضº’œXõ±vã,L³ŽÅ •2*j!`´é½“¶ôfs[€/|>Œ™ºH&õmO~ºª\æË‹Ë\ÞÑþ•í 禷¬ ìQË•öiêÆá1uªv[ÃfµÅ:*ˤùËëjZ)ª™/èíî³ÁNk-ÀÉPEzC]ð°}ó;™/ˆæTÊÕÛ‹Š'sÑ5Ü&.ò¥Môå¹v XÓŒtze˜èЂ n›hŶ›]ÜXÈ8·—,ÑKdÝJê3Úïà’õ¡Ra­íˆÛr€T¹Olû‘ÈÁûå³nM£¬‰iËZÃ]«ªÉý¼¬øø6qýkªVz#vƃƮ‰ý éþÚáUÐùP¿Ôñw|vª_÷ ŸmÊÝ AMá€p-Ã?š6¤•µUƒ©Î‚‹Ërj¨H§S¿Öf(Xibƒõï埱zé1YYørÓ«dÍYó›ÝBìv…á€•Šƒó“³(_Àðq€‹Œ)~Ô]»u…£<žBò±Ê{*ŒÑÌ¡ûdaEåSØ4 eâÆÔ£µ=ùûmPd™· ÄãÓÆlä¤ú³lÔ5äüaÉÂk>P²‹êÏ #V6ô¾i8† Ø+!Ÿ‰ÌûÑóÛNNVmÑ~žxÛQ}­ß[ ÛG@®ÝÛÿ*{¯x° 6Œ–õuÖ/ »î鯀;K‹Õ{¸˜ìCTž¯.É,‰ù°’À$ôÚHÆúÕ1O#ò#Ù]ºß[ò¿×u± ý§L+)µÓgè£ÅiãÞ“Uj+m\aù*íd®›qB„Äß§2Ü­ìµÊà)Ù¸ìç>À`E»²%&àÙÑï¤%T:ë0'sÏê±±µ1БoÕq~Íâ3gÒ^¸LyÛFÀ¶¯/m_ËKµ¤òTDá³FJ*/Žñw\”q¹½9WO|-/y¥ê_\R0w9ºµ¬ÉŠ8¼ÔÀÀF„^nA—\»ý0ÍÁ¿uqP2%¡ ¢xf#>(<µ(5³éÎ÷­lÕ r˜ôg¿ÿo, ÄÄ ÌÓVnÉv±ÿb\‰¡êðλì?Gì%¨‘îlòÁ½ü+–ÈD(bm K\æÐgp$–ºê£Ò5ýCÄ-”ƒÝxôÀ¸ÅVv_îðUcâ`E–}‡$d2?ú4£jp³dç0g`žì+|ë"©v´o– °z &&ˆ4ÇØÛ#¯j󚣀lâÎó˜ t¦Žš€`R䀦þ0‰´2±ìŸ¥Ž¬A\^å€^D*Ü•*ñšòù޽w­)f‡ŠË2œäæßË~å!á†'ù™þ‰×ïwySÚò*%Ümi„•šŒ5‹F*ht3À?ÛHމãy'¯s1§˜§ÜÕ0 "ÄøpãpNÔ9™Nð³ ²²pT5”¥¦i?¨v}O/ç”ÈZ/“å)]æÍ[¡¡·Rè_\¹ ÿXkùG ºÉ±°öóÊæçy ’ÒÉIЍï•5­×Ý®{x4ñ=„1¦àÔ–¡ü2nUka~ê+ðXœ›OÙ"H¥«ÕûQpyÉ×­¾¡h Å å’ kÞ¿1ü¦Aö[è'ŒÄæË›€åãÈUu$mV0ÃâóMgßF Ÿg|P°ø§xý,•[® ²7H.=´EÌD\}y݆y”Úºãaà( ‰)¤Ëœñð×Wy›)»ãI'Lž/¾xŽy!‹¶ÛÄ7@€Õ¤Û!ÑHxº5÷&ûa¾õ°ìÑQ¡U/·â„Hö—Ž»óô&oN­¥7¸MÊ› ø´9‘ ¸`y¬àRÂ[Á ¢,ÖµŠœ¡úò±¡’——ˆ åôÿ­” ­þ( üÿŒÔ²ª§ÜäkkaX™Q/¬EéZ#‡¯ýL»`©&÷ýx¿á€4[c€¸&rÔ[3 m,$ÊFÄG¸,*^Ь+ÄRûCUðK£×ò]£±·p²`&M2…>;o²V§3žÔº»Ìô4r1>‰+TšýÂvX Ò^“ÆI‰ŠÛªÆb¤¼(Þ¡‘bðá¦Írœ>˜*b†DSw¼·Ðïý™èBaa¸†Ùusy†%âøõœ- XÖê×N.¯vèA]¥Íél|«nÅFølw®1Rg>4ž–F†+©Xº µod~—[Â_gé9éÅEeL¾…UHøQ`ÆSŸA+’™º*õ•ÀÏ«^0êÄ»°FI°Kšús‘ÊCÍàû9ù‰8,ßWTs›˜ð¡##⑵áþpJ\ —E?(kjý(xÙKB¯üÜÄȯ1LêŒùEæ#ÂHƒ´äcÊãlQn1;Ã9 ˆe–Ú‡©ö:V}Z.¹Ì“7hÚ¡ÌÝYÝQGŸì-‚Ÿ£¿úäŽùýÅÈü°;ëW û^ÂÃQ…=Û±í ‚Ö AÇVÒE 6bÚÐù‰¶úØ@‘†­À˜ÉOmJØ|Ïûväu1‡MYÞÖ?º´Fíùm±oH,ͧ=¼êðŽ)ͪ%=º«ˆ=¨<ú—²œ2JA¼ÖùVÏsó¸íÝùž“+ØfÉõÁ™¡i0ÙD ÷Ž’L~Œ>Ú|ž› ´¦`KFdЇÅÕõ$ƒú1±uh²‘?Óß”Z7ó‘O‰ˆº-×uŽèðìdïÞ ž¥Zš||Ò‘åÁ|-g‰¥Ôó<çôî0‰ò»äiËϰ‘Š®Ò|¤ÅR—‘O“®2–é ÛƒüäÈÍ……æ2FèVù‚Aáí­½ã‰Þƒz»ÞôqËö\úÀ$çù“ÔÜ€àO5Œ£Å!ý<Éôø±PÒî~X^x·M+ÒBp,cr¾4Ûüƒ ȄÂé Å¢„U~·ÕUeþˆˆoë’8\Àv’J¬-úB’È«÷i©Ñÿm Žx›2ÊM,µÛG ðVNoañ§Ž_;c«Ãé& ©C¤ïíä Ç\A’†²_ˆT¯HÌ#˜Ò†¢ºwóÐ,˜‚ZT2ÛþËÎÅÙ’qŸãLÔêýø–ÌQ}^¼Ùx3P é> b»€å1Wu¡iÌgJÍ™UÊ ùZ…u%n]5I$A§²#·ÝÿcòäON‰±î˜xRáD.>·ÿßtCÂæ—Ž÷¶’À™(w ~é…ÿ¢aÿn´8· ¸˜»; ¸¯²Á¤À'„g}”a‹á¤ýF˜ð¿®©O6ôÿð‹®b®Â:d»Z*³b;BÝhÈ »û¯3sÊs °æ*†9ýfô»iÊeüXËÖKdŸïe NÅ%½]}„˜ëŽj7FeÙ Á`ò’k¤úÕ@)¶3íS\>^Lìiö@˜R¿€0†,™ gÜ£øÖÞ,ùÅÍÒ®Š•UêÙ·Y!kdè9HšB…HT·¦úÚÁÈøÜ±´Sª’žšKKk¹Í÷¸Öê‘ÀãEÙ²OÏȆ^@a„±HQh™¶1Âù¨çòè2AsÙ·¸0âò|íÎédã`u‚+e‹õ9fÈ7G÷Ú¼@•Ç>°ìxÝ[âù3WååŲ nI´"ÃûÑÚݬŠJÊ#r)’9¼)+Ó¤eáÌê?¿Aa Ï»3‹Züà~¸a¤Vç|FÒ5èN¤d=W==LîÎ;nŸ¦øBE-9`ŸpÅ»$bÿÿÉ÷Ìa¥b·Íf±oN‹æqGdaÄdYúà'œ[îÙœ**¸Jüõ¿i¶}MšÒÅXÝýtõw4Ç^-e½+{Ï >ÐîŤ GƒÒ­%…ŽÁnQÖÛºÕý®_ ËÂNËŽW !lši»•˜ªÅ Û/ªá´ÄÿiKuÐ5§OÖ«adŒŒ1kaÕ-ÊÃU¨ æ3¼Ö­Ibd¨ôõÒ~5BüDö©h¾N—pýØY:sEV范êBTæGJaƒu1ØÑ÷ó‚ª;,á|cd ©£|w©¥¬I`™ J¿‡äƒÒš'?JknXýäínN|ÙÓ¥Ÿaz/<ßt’ÏÜm'á*â±€C(¸è~ÚãئmŒ,3I\j007FRS°×’¶•dߺQ>ÂZÖy`Õw¯†¬B«9LL`¸.ý!\‡Œ0ÌT$äFš=ÌMÓ8lí¶Ð~~ßp­3ž*ÅÔ÷o÷1΀VÚ.û¢Y•œ}ȬȇɠZ³QzÊœä·éP;G+³ cÒ#¡ŽG9ù¤(á\Jñ`eÀz^ÑË„)(‡¼" &ä>À¿3 üo;’-(€2lÕ¤§Ð×Þz€|нSݱ&#=Œeûx„±âQ?"-#òäƒGâ ³ÕõhÃ;v¥oæNYªxˆäfm’ó¨¸3¡îÂò “¼ÎN5ßÎdîe­*nçFíš­÷ìðxÆÂgæVB×C1`§©§õð—*­hí?O©B“ hÜòð¾l”s{½oãGæ|èLzÒ¦84·îv˜»ê+é|Ù§wþ›‡Ñ”Ž“ÈÃ&Õ sþz{ù.\oO4K“¯~?x4`J‚­žÂ†9&ÅS—+ž:ÊcUźôqÔXÙçZF ·ìá‰C‚«±ÌOɵtŽ*´cAY† mL˜I,K78ò︽šOzÌÚ^eBé0ªŠ—!äo:sήÆÌV(6{¶#ZˆmÊ×»‰snþø2”Ù%¼ÚùN±±\4ºüvóVa'4@+hÌ ;ˆ#9Ç3ü¡)ô.= IKòze y•É9_ü’gý‘PXLÙóå^Cy‡e"Óõ]V3ì#•¡eqƒÝFÑ]ÖîÌܰ£E±ï;;°÷kP@.vcrc7*,"(YúïvÛßûŽ>îàB‡}±ëd6Õ+´¾ì:º—r³Í¢c/¦>íúž=ï‘Qì 1ÿÉ™!†,©^è{§£<ý’ÆöH䱘3ãó”Ìqj%>ÂPr5°ÆxíÊÅ-–Á]Ç­‚Óñ+ém&Ü`úûÝ£–P_Næ‰øo=Vä@ÚH“ÀÀ½SJ,I¢ã%gOv£IÑe£'úÁùõo,~è}ÕÛ"ƒS¸mÀð¿|Š³ÓŸPÛédNvÆç·8@-¯g{RcᢜG›Hp>^|}¦ßм‡ïqÒ-ªUå+âoîÄà0eÖŽ…GÑÕBZIC›Âlõ£¿ÁóŠÒÅÂã=Dh«9D‡°¿ëzŠt_DJ¥"¶}ܼ;™©²ÞwßrìÝŽ«93Ÿ“zý¾Ãžž’äú½} ½Göeà"ƒü/Ž9åŽ:íeé¶Àß@ï[®DË2çë8_uìÚŒ Ô&}µ3œ«–ì¥É ®JWÏ!´'Ï¡Ý*öpÂq×7–2sñ”œ”Ïñåj(~ý9´Ø¨]ê÷·wlL£ð;…ß}~c'3‹®•“ExDÙ+Å6™@›‘z–g^ TR;û­£ °tfžÀ7¸½¾½i#Û™ŸÂZs9 *' ÀÏäîUâi×RT"6ÛíõÉòå4$4>F¡@‡÷þZNÆV"æ«­7 L[®ŽÏZÿÿÛ>°bS‹‰of%p¢êúBÐÏþ·G-xc«Í

"×Å‹çS/DXýÜínha›%œYÂ3þøãŽnßè`4n .hi´"/‹I:Â^H¶'NPîj’˜g'T—æ*šZ™ú(½CýýõÆû_ŽÈ©£]Ô…nǘoȰI5%ÏÀCXvDÀbò°ò~P-¨Ýc ëbà5¦ûç±_ƒw‡:‘$ÿý:k./YN_V:öû&ÂüÐRº‘9Át¨ï Ä-·é»·?‰¤ÍÃï}Ãv$Ïdo¯C<kÇ–UÝ’vf¬ÕÛ*s¦xœGЩs)¿î´z³FOÐïL×ý;%….ðw¹Žiß׳D­Ê«ÞÅ‘¿ªl¹Žw§ÏzmÆÔ{ŠëcVfQäÄR—q]»oUõCN§Íàä9†ï·0'jyÊÿ(öÇ*¶)“$ÉyzÒ–®¤v×báýüPsjë%Ï ¿ß)žÂXÞÁí‡té’Eç_Çcª„Â)Ô‰z«<=ÖBìÄã¢PñÚ®4  íµ|!8‚d©Ä)6œ÷e¹êÛ¸wA <Ÿ6UÏ "ˆ…B]¹“ø±Ý]ZÞU5±dÁ9¾¶g­¼ Ü.š—+ä½,ÀP Ç0‡ðšÐfã¦™Ž•mtú”G€¶¿eÐeA.›¬.< èÎÑ<<ôY"š]ªi¬÷ÍI£Är§)8uê¿; øº¡AíU¦H,'7ý¬]Ó¹3ï¦}ï!¿áˆvyàP¯pľÉ÷2)Ú:›BçÀ÷lìZé`*Ç^LþC†ÿ<ª¹5íZ{X¶/©£;|ˆ¢´mÞYKÚqØÓ¿àÚù£?SÍÖ±8vǾˆ '"à/dðùÃ=x­ˆ?oÑâ`|L¾kð웄[Þ l []߆Ãa›oy §0rµêpŠA©û‹ÆÖ+œáåUoJ ”ZdìâÑ yÄ–m®ñ½êöò‰9q4¹¹/aÏh=7’’GÈ—Éô}Þ¦9d…ó.Ìp.“ËÔ îÌî'R‰à€³ô˜ÖHÏ›ít¤ª‡eFv‹ÅÜ>øºt ¯“M› ”ù ,ò©Ÿ8t¶ Vë¯ëÊVÃ#«>°Dp¢ÆÍCv|­]{r?µV³ÊØÅ¼DÄ9ÐÆü9àÔô–ýÂA±!4ˆJÛW(T§²ÅÙV¾K÷J_x뚎ÁÙÍ׊ÃPüËL‰ƒXr@›G' hžN«¢Ø9±LÅ£b†-™¤>÷Zl™9ñ…y›;—l‹Ã-Ó £Ùb+cà–l‡ƒm$ÊðÆ(¸ aL3P>äwÝDÔšÐu‘Ÿ#Zqfm„±‹dü”Èö)ï{ˆW‹¼²'éH±Ðß›mÌdwáÜCdƒÈSh "5ùŸ[i44¨XLaaTUvM^ö+ÕNɱý‹mw»Lî,5ªµâ/øSŸM†.ìÆÖœ$+*Á„iYû辇UvìõÝ8Š+ ‡iYBŽ~†q¡Ñ0k 7b´—O³caw¬Ê¯p³×Ý{;Ó;‘+ Ê]ÈßeV›­ñà#“CùeÓþK)ÑÎn—áÝP­è3 ‡Ë£ +²;¼NC*Sö.'üB­‰—S×Ag› êèµ—e{06^Ϙ‰¹AýHc|xĶîpʳÓP¼¤×{ÕÚ¼vUa nZá"Y[>~ÍZ¾7»ý ¯>ë,y ô͸BDœF:´D: N„D _0Œ”~;‹<]ÃkÛ3ð¿w úlT0~ô}ÃꜥôqÖaòþÓ«\N"cXH»$Œ†yº ö:8­fÙÖýö-€‡–]ˆ®&´o%cø#L™PR1¡éI/œ»Í’1ƒ„a(»¯E½û£7¥õ¹ Ÿø™y oà›•Ê·M)=;.ñ4Õ‚·&9œKqQWfxúT(Ðê?äýº z/Øa¸i¾D®xÂà|‚lj`yY{ï¡f3oekÛ=BÀ¤°:ÒþáŠ8•Öò€˜¼"—aVr;0YZsmlsharp-1.2.0/precompiled/x86-mingw.xz0000644 000000000000000001713332412050661606020153 0ustar00rootroot0000000 0000000 ý7zXZæÖ´F!t/å£ïXÆïÿ] ߈b5ë†ÙàŠîRÈD6éd÷5 —ƒsÕåC¿v{¯üR¨œ~RÀ2%ÿ}µøüÁ?è€è· 4èšð †‡[l˜!ÇcΪ«ì7›=× ÎÉ#±”³ša,nUš7Ô´-þÖuÿ§¡“IõùG™Ÿí–¼^J”H5AÞ6˜VNçÐÿ\—#j¢üTa!y™ aRºážºæj¢å_Gp3çŸs “=¾–•#¥ÎìÄc*ó-cðÂŒ;ág3ݬßÑ3/zŠO¼É\w°i^,ó/ÿ¹ ó±n41“ é÷L”Q-¥Ä»3¯;‰©Q'øÏ„yü[¹îéxêÎ^±xƒ rÎ[¬Ó ÛÕ‘t~!VÔ¸ˆWK +»¸lü7Þ¥‚Ú žlx8_`9LàT:‹–D„4gêRéïšókØ[ݳsMMcŽáU{ .ñž6‘Ä ™iqR@$ÒK†w×3æ™ðý‘Î[«Tƺ;²„ÑIò¹xØ^EJñÔ¡€5Áõó¢H‡«™÷Ô<}=u A ÖކˆÔ~hòl/1¾¥tTàD›äщ~Ì'3bj” _‡ŸŒº¢*ôsxò·55Èå^Xj)IÇ©ç0H—„ N|5_éÐ&I®?Ä„znÎùhbCŸ„“P¶3Vj²ÀŠý;€xiO!ÉÁ.p¡ Å!M[ЛW±ýçK?÷ɱ§zJ&yE–´;‚Cg¦FŸ]Ëèú¯´±H—ä÷(—C°C–ú²γ@e 3áC§,8ò4JùÐ(TḬ́B™C;ÌuV·ÜI§€§Ô 2å”Ý´¶å ‡¯x˜ôºc1t’n5T)þ”󇽤Ÿ™Ï ²jYoüË•cbÇÂÕ¬-Ç~¹wƹ°}÷h±›í˜‘´N B!Œ‰÷ª#{ëïJvð{Ö¢1<ôSQ-ÉMíÝY}z¯%q_ž¥ÐAª9º…ZöX„!°Ú±ûi™Å @ɬte¨×•ðAoY5uùë;žÎœͶBqné½¢ÁÓ’ÌödZÝ#3Äú›,Úƒ¦¾»h´ÏÀÓG#}îæ—þáåV;aû>’ÃA»;T'ïšvš-#ŒÐEæ²å^¹Y ™@èô¬-D¹1x/ï•6r «Åä~U¢Ó¥ƒ‡¼òE@9&´ýSܳž0Þ¨\§ZzšŸhò…À’»EWåÉÓ1œû@â•Y4%I¹À!(ò.>6 Þ*#1'ßñ‡`çh¥¬nä\ ­‹ƒo¨ÀÐBëãÔÍÄi*¥v4êò–Jú WÿŒÁ]~€/ ,jí ÊÞóÿ=éó[NÛ'ð%Ã3ç£ì5Õ)ŸÒø8R>õ-…žFàdØA¥ÇÆä._[(…™ëpÇ®PVdáFm£áqë¼ñš®S~©M¢ñµFU™X8ú  L‘J¤?Lš¸DÔ|ÁÑÐïV¸÷Ʈڵ÷BµŠ°³‰(hh/p}3™œ›µzåÖJÑ-w³ºÙ÷ñ’¥ƒuKGU”O«»sjXRÌ`òÅ·ö ±Á3»¤Q?|ÙæÃe~= d*ä€HmûN‘~ô‹+í”KÜ9nfqv¹çßàÀ"6ªq¾¯˜>a½” þÏ5ÐB¡À4íÿ=úü×¾î<² ûq;\§ÊSE²ÿÀ®“ozy ý£õç{ ã]¢¯ß WŠZ+ïaw$nß’ñ6ÁøvÖáÄ1RÇJjí›”=ÌîœíM¶ŠâaÔįƒ¬¦”MÁªË¾•r°×*ÌÊ”á[ÛÍ|¹y æÒWq|1}仡¼BQ°gÍô«4íE=ÞΘÀwÓæv6…^k›J¶Åi ¥KÐ;p¦]7ÖO¡ÿþ¯ìÏ÷‹`·mÎ!7qž#ö¹vÊÈ4»~ùp‘Rë[ßá‡Ïâ†Ñ×5K}©Å!Ò' +ãà•›®Ù)È+¶/^X_2£;"qþÜ,ë©Èiìÿ$õÓa\ŸnÅ“Øã^pB›½……ù­‚[\¡Úaì!ê¦Û­"ç/ÞÏ®ø4a»´›!üßr¯wd&¤B× S>í ?³È¼dU¬£ßînS÷˜¼8F[Tù6ãÁ œe½Yg(×»¿²Jã‘‚Ú*aÕ·ŒÛ¾È\VLe~YªNÒ<Ç7võbU¡ÁÀjMc …ýGó!†jIôS ÍEÎÇ{bg±qÝ[¿Iª>UwéN6à ·›–·ÃžPZ×^Ý‹ Ï*ÀŽ6–è3H“̘Ã`Å̬Xíÿ¥ÔÑðR™fiü1U”“µ›§<Îw~À³]û£¬wHK©Öè Æ ±±3ÃbjšG8(½Ž¥ŸWÞ…•›"Gø]$È@‘AŒUËUó¾g´z¥bžÛ4¶Ël*×&ò3'-ó P®Ë°#€ 1c$¶™û4Áa`Æ$i—ÀŽdâ§‘s‡‘ àÎ=ó”Ûç"Û¸ÆË‹M J†¥4-ÆL™ì¾¤ˆ×Ëcó÷.¼$ªKzýs_Ò——0«áú¼Yyí÷œ¢óSqªî.8ž­Ëé¾ÎíýÅ^Õ.çÞã(åë±â/·2|A͇£´G–}Þú’æ\šè”²øÃ¾ºÞN¿cd¶g»m7K¾Û -YƒÉåÚ5Ú­cðå2IúÞXŒ¾äç.C í³¦'KÞ«Àß³tº"†;'[K¥ ˆYh |´Ó!²?½:ƒ›åîF±—[GîÛ6G†Tª]ÍŽô>ý?+Á>ŸD#&ùTçè–¥@Ìfu=âýíÌýŸ¦Ã/;+&ÓŽ¾AÛü#-WüS…¦XZÓZ¾HªIšjOaÈí ÌÈßgçì·œèYɦK—*Ì|¨Ê¸5UyŒ£Â¤µÚð„{òÕ>AÊmZh¶Ò"ã o…x寮Qdç›W"Õˆ±*-¯cÇxY+n̶H{Æýð­lORå9@M4…{äà©1.á*#ÞÄê°«CœÂtKôï+´‰‹É8 Žík;#YÉgW˜i¹¨h׋¶&oÆIìÞ÷ET÷Ä¥>AŽ]òGÄH˜æñÿmAÌ>ŽL™HÊ(ûW8îEWà“\¦’¶ˆ*oóÑôZ{ ⤚Ÿ®‰=‡*›°Ï…&ôöÕôëñ–'¹)1½¾8jõC'Eî‘:9Ø1…¾q« ‰{¥ýü:Ï/¼yê£WBô§6gAFîØéæHxúeËv5.]¨2ɬb¼ü6WéaÌx7~è|Èf€’X•ŽÑáb L_êϤRcH¦s‡Þ“‰Gƒ«¶ãßZi'žügdgÖÌ·ÕÕ,µ©áºs~½L½Í€ULþ³µžÃ”eê“)xDMɯÒÎuŸ½Ÿ\©òÃßTÅöY!ÏzâÝóæk=ýd°z4ö›ÿÑàm¥‡£c%ÓÃþÑË0n¯ªj ²T’®ú&r,Âa£²[èô§.;KEG]Ò‰•&óÃAð>²÷\8×NÔ^ÿœÜýNˆÑ¤•´P¯ 0THºRGŽ‚C o­h\¦W}î …0»1¥ÇA>Þéв.N˜½H·Ìx¤‚°ÚhשË«×hU0Ùd®#8‘qËi†J‰ó_‘©¶‰1"" ; óûøïدx`s~†äª§‹8œªTbë¼6yW¾ð<Æc–û ‡÷fÜó9Ýш+'Mð3\\“`sj†iž Ôã 诞[g8ÊJÏyBuëåÑfMc‰ƒ[8 œY¤%„ÆO{ɑQ«mì73Z… l!Ù|â-Wó"ä>‚I%_w:>ç‰Cn£NsR4ž¸‡‹À‹Uf¦>cXt—…f‡±Þ<6:¼»\ÐŒó"iƒÜ!D:ÌUpP£lq&z,¾ µãw·"õ´dƒ7¬I࢛ÎK+åSA–é†!’Yš…ù]Õ§½)2¬tâq§¯£‘Îýž®‰£‘”š­/yŠ”>¢nE†íª·ð uLY¡eµïóâÁ’Rç®ÝjKë»-«z†wÿÜ´VG<äÉOž‹+j¢Æ ûºc§²Ÿ‹˜BªË•nnÔò|ü/v{v“‚ &¹ä IX¤þ– þ¶]¦¥‚JÖðø´¹~xÕ7Š5¸·‹¶9öîkŸ¯É?¶ÓÀ¶°ÃÅÅŒnô¡“_š²5‚0òsTrL¥gz ”eŠšeÒIßs›Å(Ež7 #GlnäAÁ–¬¹8ær¾y;ã²È É`áõd™þ¬mýyÂHóôT-–.1É<9Ùɨ›b2h,kGßO×Xþ¼<óÜ ª‡”2ì€;l ëqÚ}Ü¿P߆;ëܯmïmFÉ:¼;Ô\ü] —1…·°™?ïíâÆAœ» ncf´iÏ—XßÚæ¢œÝ¬QW¦š˜‡XcÉ‚³Ëm­ï3jy±•w^z;¢ygg³,9.â×{S%ºÍiQÈ1G#Üðš+=`*~Z7iþ¾–ÜçB½:W‹•M¤Pu›J€ ×ð0—´ Ü„^¶€¿T‡ ÿ€û—§{íˆ7Ž„$ö~–à}øÚ¿Ó¾‡HêYÌ|¼á;–]„s|`å•i‰²4 ÃJÁYQ!Bï‡ðžäSíÄ öO¾âb÷i 6C–$‡”-•Z¤5¿VIÎBìéÒ{¾ƒÓ¼0ï&æ”y_irð!j€®R_ ÈvROÎW_‡¸Ô‡® ™^qñQ>ñMäuÃäÁÖ®P°›ìF¥…€­»_h#Ÿ…+ä.Šøš‹n¦ÙC`ò#?b×¹x?ã“q9Øš]ók”+8§ÒEÂ+¥de2õQ_H!\ŒE¾[Ná1{ßÚþ#Pìk[³,ÒÈÿ v2–ÄbÞtžÛͲN˜ŽÓöTî9¿±¶¶'5{>˜wIAÌ9þ2§nÏ!çYÞ>—®s]·É$#h¶w©8ºðDo:«I_bîÉ•y„Ö¿Ðï¡ÊåªíHðÀ+`©¡›‘ÜûãG…Ÿã1c{3~¡ú/!ÑÇÞ }ks3ù- Þrñªd{3‡lg èþµ#ä-Em¬Ë±¤ol7ñáÑÛ JY?F¬ã¬~0çh’çØB¶‹$èðáLÅëÔÀ_—D t. s-å)ŒSÑ#P¡¨»ÃüøýRµ»Ff± lÖ-õkãbJ¥‹˜/g„Œ Eû?ÔOÇú§Keʇ'‹4­u¨,PJÊ÷ ó‘=º©v·qìÏ»'ÖßY”¿¶|}u4~ƒì%)sÓC¿§\ÂÓ ŸÜ§§Ü îö)»U5Žz†¦ŒódƒíÑ?eå!ÏÇ`ø4S¢ý£Õß4¦>ãý£vB^èNÿKîgj`µRà´1Y|qå‹ú–wúsÕgrîà¢ÑhníM"7Ý9•‚Ñ<¿»®›Ãx‚âƒî¨›Ì¹ÅØ4üâ#3)ë~l7{/•E›8³ÈÔ'ç­ê…yh)y q$±IõAú ŸoªÎ›²dðÛ3L1Yx>µ\Of4ж‹ï„8š`ÝŽüÖg¾á©RGÿŸ+X“§€k× óºÁ¢¯^ÌŽI‹¼IÒ[ÿ,ßIuA¿ž„kƒCØ`bQH(BÉÓÐ$3n¶ =kHB”ÀV!U„BÁIWn^'@•G}ó*=IxˆXòµìÑRñó©L·¿qÍáŸò²(›dT9‘ç°ÁœÌêó•”ζ¼Ôcß⤒•&S]ç„û ¶ŒÆ¥Èš\½Ãóµá9´Åé„!¯±ñz\õ6kò¯¥C©X&.Ú€ÇÄXäÅ’ë¡´£¤’½•º³³eE|œ®¶ïœýX×SŽo‰C¬Óžê{€,Ãp O&ªa Š/˜;~ÜÔå™Ï\íH{Ë6¨ÜÛ$€ŸÌAÆŸÞyÝ>´àæ±”âúþùˆªæH¯ÔEKRØ6eÍ­âX­9-öº+?°¸¹äÀ0bfgަ2;=Ç÷‹ž†¯ýQL|zæŽé¾d*¹Íˆ“bSš2ä\ô’Ûí*@ü/ûX Mc­f×Ã~Ÿ=‰‰• ¢¿DÞcÚƒçüÆÝyÌ£1:DVœ‚.\Æ¿WË"'‚Ê5ðYL!·ñ|œFV½¤|³-å¡åPÚ¥F-TÎ!‡±„l±—ÉÙ:ø;b6v² ø$ÁH+Iy]ÀœoÛEãËŒõ£xþ–{–t¾ÙÒ±¤ «ç kÀ[ËOhÂ×n—Ž·š€À]]]Ûƒp.v•3*‹žƒW/áºY!¸Å1¹Á‹ÔNü6!‚câcU’.ÌvçdˆÀœ5š ö@ű×F ì¦øÉÉ6Q’s{ob.ÂäÄ“õH¢­°$Ði?­Ž;§˜#ÖˆÕb°õýàÁ‰B7ŠLEfn]©eÐl€`;MÇuáÿ‡úu‚…eG¹ÓÈ 8“:ÑOT$Ämñç°uµ~õü£S{SI#c5·sÐ'5âqbr&.y±³Gs0Ãæƒ\š T‡•œÑ¶ÕRçòæ;ih"vÜø£ Ùê.ò×ÄmcžtnÏëí„;'\ÄU\õ¢ÇšÏœ¬t=yŸ„Ç¡Ýl4N°Š0¸ã×á0£&è'`Ö&rPSà‹DMi‹{Ž(²`kÏÆÓ³eæDÚ«c]Ç»!~jf e°È®m­ŽØ_V ”(£'î5ã!ZIgWÏäœ8š‡Ifo^ö¾0Q„ßL¿Ù$}b[qÚ9F÷™Äowÿ5«¯ª´qdb»Á|ŠÔr§1¶½¡YªÓ¶É¸ ¿§Ø`ùÇœ\óbþM± úÿBf÷ùnŽ •HCïÂÇ`WrÕ\,Ð …©Sú8'LýR` :˜ X ÛP(Rä˜ÔÒâÔÉí ÀÐ o?ÒR…n¾h­ ?¢"ì­v”ûV‚Õz†r4´CÃ7ʃ&Fa„ˆöÌŠm)¤ãï®xÀ¹@^‚GþÂi‚[§ð§5´Îœx.uÂÕ"'ÔÌ$ÑcÜçîÏңȈÐ#ò~K@º/íÊÀ†K9:Ö‹h”\7>Oj KzãA˜kLƒƒ3EN£¯LñrØø¸e˜Š^ÖºœÔo@\h>Ú&é‘ÃQæéÏ‘9‹M|JýQÄ/i²”Þï6¼t ·7ƒ„¦d/}ö§LVu³Ñ½j¬¨5÷ûôiˆÑ…F»šÞHòê4Õý¨úñ÷{’©ƒö›Ÿå-`„ 8gßî¶_§Aùªÿ+¯ì AµB‡½£Y{Q1¤å*p-õƒyÅÐoFÁÞÿ2µ«ž±]©9pmvè?¸,³YbÙ+o¬$"tc1 òŒÑÖáœý”†”{ve7X ¡…ìkõ~¾VÖ) Wû+ÇæK¯àlF)fÁü5êØ°4ÿu;:ŽMJöÁbNÿ ÕÍýÏTÇ«K ÕèN,hD˜C& ×ZÊIÝÎÊ&ûL°ô£ÉO©±YwéG Ê«QÈýÀÄ"ÅyVuÛÀ"µ$+ߪeéÔ‡:¢l“fwË+÷á AŽ’~ bJÿ50P¼Ú'RµÀ‚x(r £ø­ë«‰×áyBKÞi–wŽÖJåOgELYìæ‘“ñ½‹ªÇhà!ëXøÀ C€ÌE4ì>¬u¼Å› ]Þ'QúÂÌp_–uª5’|ˆø\Éix£»Ž]"\‘1κ—sã8`Hè}øšB˜mµJ˜íDB¯Zrìj‰÷³ƒñyv6j|eØt»“Ûe")·´”tÔTØstßÑŒRЮ¬9øÖ’( Ë4Ç&YyÖʾ:tÖè2¼[Û,ÑëØñc9@7v¥Ï…š«{þ++e™½:]ªÜ4êöà¸ß³…ÒÙ®ü=¨Áǘ'/žˆß¯¨âкÂX:'O™ƒ¹Ó×ãæ{0<>æñeÁ•¦ì×XqZ'C²Ï9‚àpöI@Q(`°ŒLÂõ¥Ý5AÇt\çSŽÂKjÂFUzÐ1+¡'éN%˜\lžJ@> ŸëSÿ¨­¢eÛFR`6g Б󲅞`“øbb(žÀsþBnv!ú±-0ˆñ_ ”2FæàTúÚt´E¢×"· ím5†ÐØÙõôJ*D¸¯bÒ!çaOBÈ¡õ<7Ô®`G ܽPy_ù Í>n7peœ‡£éê(cUwšÂuÅûZ]³´+<±£»µ kÖìäâzˆs¸é¨°«®kë+<ú(0š:œX±Nƒ‡_Ë[¦$G„z´êf#ƒF%ù¼F«”X[MyS=䊛´¬®NÁ²P–¡[ÌðoŒ€ ¥!ƒlïjý• 63Ã;ƒýL”ÐNêÓÑh¥oÎóé½X¿<¢ŠdÖ©L°~TL$»ÅA„Wk0éON=bñ$Œ™.—mÄgX‹¼21§JÌk×ö“‚A‹ÄA ReèA)ÖÊßW7Òñ—Vj¤Lt.‘v®åùäk cÏ<«õÐY!T;zšVÚƒ/yúqJ&I>é./ a‚œª§‰Ôe’°ŠRVoÞ‘\ÉÁÈç~¿†P(*™ÕÃ%†Ç}E€Ê3ro"éÛ$¢ì4S¨Ãt.jyr8C7³r/Õ46¶óëïJât˜Œ‡=¤ó}xû\`;Þ¤yã\iëÉ)¬1°/gÜVyxo{]êC:Dn^½=eAДվeP–‘ƒbM]t¶k¯&pŒJáC.ÆÃH8((ƒ³¤_ E×çQÄ/â#×Í„§”¢ˆýNý:·ãªadYüQüØCöÁ €-óÆÈÏ([¹êÂÝ…qpš°}iá±òøÐÞ#Gi'32Òñ–lꯊ4‹ W–¡ž¡é›UA"¤8—U.iO¿€¡ 0¼2iÌ>ün(•R‰†ç–¾ü†=Û3ññ.iÍO]l$ÉÅì§Aõ±æ¢œ“ܺ@v0ÃæHs°ßÅÀ¨Û/íâHízF2“s^Ò¾(öBmž¼ãÕCäxèÌÙÅ×FO{§¶@ˆû"Ãüܼ8 ÌÈôÞ~0zó±*­ñ7,³ìŽy†dßÇhÎ}Ù `ÃÙ‹¾ k'-èü_Ü•÷7 È;‚ Ù”¢ˆÙ"¤溜õkz†dr—³M ˆ x7ãUšÂ‹ éu)^b‹¤o~u5;zy°MXãÎà ç©FQiü8.;7¥ïÜ“ºi-¸Hì‡æ¬‡é¾ö¦Ùä#gZ_æœÚ­Žx™¶ìì€ýíM¥ƒü-™F)ôc@Hã§µ…ÿ0oô xšwEžXÞs¨¤}hµ¦g^Åvgà\˜hîQ©þàÌúŒ¥õUYàLýrº÷0&§×|¡µ¾n£Sü¿°K¸¼½˜˜¶3ûRMŽÈãL;æ”)Õ¡hË_ynõÉ wI:¼´@õ¢íq £“R@Á‚í4å·Ü„–”d‹ ¥R ¨Êé½Ç>›G´m9+ Åì&#IÕµ‹¢ÓŒ^}w­Ò>Mï¡E°0^õbB* Úy¹q¾5>óý¾ôX·ù­…Ã"óùªxÙ=ÄÊ g!×NSÊÒ¬ª£vQ%!•ÂBÛi¯dµÏ%žØ¬ 3oW¾ Ý ENA-A¦®Ë<…zO‡§ÒÓÉ|³êÛ8 Sáº*¯Aœ' <9CA¸ØG¿§ ©_÷S|Ç)%ñ?Ù :gj‰¸ƒîÖx‚š¨órècl‰‚¹,òJ'–ež; O–ÿ› x= #ˆ„é%Ð ¸¢¹—@BP‘™Ÿ†mý¹=ߥ·6!±8ãƒÜÄe÷øŒ€‹œ:Ï Æä+¦Ø1ð;ã¨&"ϲ?ønPlv±œçŽO´3‚þ;p—‘+Ò=ñ(§I„WnxoWñv"Ä}¤ Yüý][™’¦ð(^A]ñ¥ìPª 9gn*aÈöl’­…,¿û›¢üwê狚Žç Íóo•Ð)æ>££¡ŒïfJ"ùÊÄ司Éþþ=17sZu<ârÿ˜EJÝþ…µd ¨Wa Vs‰ 9Ï‘˜<á ƒëPÝ v”’( @Î’74‹SÑÑ~Èú¥j…Cu‰V¤«V†²q±¶.WBwíÖd-x\ðŒü°S±‹0)Ý+¬Ÿù püÑ¥|èܤyú¦F/D&‡ \Hq[ïÞˆ&¤ÇªóÞ׼꾣beÄÏø“¢7ò/ügîyΚ¼{ÖKmæ‰=ô+ï(ãÂ@8ô7Ò}™v­máäykiaF Ý]”€èynõg‚ß nØßZâZ†Ä×vÅ6Ôe Å‚ôIÅ3öwµìLLô`£2Æx;L¥©Ë’!fjcŠN/o;|¸i`Ö¤SL%ÝžO„™iùóˆ$ÛÒý”ÕìûÎÑ..ƒ>9‘ Sö],~vPªNîP¦å?¬‡¨1¯&â{ÚU-•Š/r;ùAœð‹ñœ0\ùBâ !%!9‹Y<Ð(ëD¥z—Ü8\Ñr £‹a£îÙÐuˆa¿.ʰæƒ`ÓŒ—Ý41pþéq?ENJeüÛ4åR ¾o—BkWâžüzM¤†‰£X3Èô¹P€Û}:‘ÅsÒÀkï”4+I"ëÔ¤\«˜½ÔsA5jѳ$ìŒâ„ˆì:Ñ€>› 7]'1×ߊ߇" t‡û;â¾bC_©l‹;¶Ú…àXéÜíkÛËÂgGû<è7Â-VY¹¢AÈü’µ×iP>†O^q€H¹B`Nû2zó!ELgîyþ{˜£¬œ Ù…7ÄT€rL»£Æ–ihzyÃ÷Óœ:ž½$FÊÿt’¯A RÙrñ|µ¹sÝë„%ƒ(WÖyØÒ7Ø$#Ûu#Cæ$Å5MV§pøûè¤å#Ú&å¬{¹zÑŸz£w f›2 i‘8ó ܵOb31›¢Äõ¨\ÆöÄVÞ£ M^3¡¸0’Ú …"⥥éƒËó¹C'ʘCƒ{öt.råž”–tr=áÛ%ÉÈΨï½ØÌ©ÊÞž†D¸¡:îˆf£\Ф­Jýd7ÊñIZ[Ž‚.D÷V“Ço·Ar°BœÕ½®¢'çônUåÖß/™¡Í€k\ ï#B5ZÒR`—È䊋¤Â Ls~ŒABôÿü´œ_Y&f¢OÌËÞè:a)¡vQyrQB¬´Ê¢UJŽâO:éöìÃÔ¤¥•€qÅQÀŠ¿°ÿXl~ËÁt\7“ó|³ É)n×Ç¥²-Z”bh ¸o‹äoÎÃiŽJ5žŽ.…'-‘«¶ß/™bË©Qý"øŠªyf…]Ÿhϵ[’èíù.mãkÛü›~Û°wS¦Ö˜«‘ø’…{Rí¸B6RàÁR5»L­Õkôx™˜s[·Á4=¤zТ[öéØ{ŒyxÏÖÝíg6ÐïõE£iÓ©„ ÙÕ®”†“6»Œ= îé_Û r¥LÌÄ´5ì7T-c¬ò•Q´Ó>/¨s̾ý×bªÕxÁŸ&?ڃקÇê]ž«PHÄh+ D)ƒï鲤Ü„¬¼ý%JÕ-žJÚØD¢-ãKõjóÃèkÕα4)4~D'&‰»¿ç{Žƒ­Ï¦̇ ƒ;Çi+V¤YBr¶Î“§ÀjÉÎÉ”“•K0í: ŒMO¦ëéd-Ž0ˆ³Ó‚ž—Vpð';œcµ@Ú=G,ÍeÍðP9ÛT½Zwõ[oÉ´Ç~ Þ€Ø+/ýôŠŠ[µO8'ÄÛÔ•&íQ~l?:PøUCšxÐ šTø»tÞ&B<¨Ç‡rxi‚C°ãƒ"j-/n:,.õ&AQ W¿R%ÔbR™€Á?qŸ¢Ñý ÀÁ'q帅>Êu§[˜e‘PÄ´ òÌ ~XuÝšê6jı“È xíL)bÀÞŠ9*Y ×? ¶.Î?C-ñÅüHf0õb¡‡îPXZc*Ös·eå—*ÎÝ-ãå¾YšÀ…ÚF¿ë§\r>þúx<¦®ÓV•üÇAŒŒks§ò!Ò‘õX¼å~)WëØ{eé'ÇÛËWœÌJGh?·×dØGŠ剭³VCûA¶Iò½µÆ˜W‡C ~·Øìùï •3rÄ# ´«û7 ày?ÿÖ%æé¦öçñ ma) SÀê8‰ÛL¿æçwFúõÄfHë&9´ n @ô8|ÅÀn‰ä¿zÚ¨“óß«l¯a¨p¡ 3ÐÝ$öó¡ âÑB¢u–0(4NÖT‘ù–OÈ(40¾ad)©Þt躥Þ—ÝW‰%Ÿ]„¤Øï¸k>/X†ésWu¹šFª¾dü™vͶ>ÎX:ªæ¸ÎŠ7²º;–’úÈßMVÝ:'@ûû«[‘ÎÕù“$xÔü«­+½ûFÄ’5ˆŸ˜ÔHyã|1Ãݹÿ¸OŽNˆü€G8‘°WuV/¶'ÊKw¥ã 3Ͼù¸²-Äå| ê¼©š’DÖcû¥Ôôí©bk!¸ÊLtß§U(%G¶8DᩱB›:‰Œ¸‘8óâ.›‡ìy1Už®*‡ð0\ˆ#‰Yéèù¿hâyß!‚V&cÈ”_Õè‹íBMiž6RÙ²Dq5óò2ÇYæý&³5_­ Ó‰Û \ÏmûЈ‰bS›ÀS&³Î%ûÒRÞÙÒ¢k .›È÷lê4AbÎ/ÖÔèÃûÂøZaïõn2Bý2RGý² ôгëÁhò2®ÁËïžTæ|xØMà(†ÈäÉÔÖzÎB¦ü-úî]U”q³‰¾õúP˜dÅ·ÕB)j® «Ä2ï™qŒyÉÄ8|ÊT{,ç)‚Û˜à¶Ø¢ØѾ¼›{üñ̦ø±¯|sEÐÑ®r}V\ÔšûñÖJIì TxÖØª9Qä‡<ž°/Ž~-e¿_0nÉml óºCâÆ~¨I܉ƒ©Í HôHŽ<[K.«”XBvåIëyíæ/Ma§s–BêË1lŠ{ÌcX»Å0’éÐÕgú ¨v>ÐÖJÒ!' ~ßM þ$S‚í¾öª$¶Ü2ž/¦INtá‘Q¦ý+|øë;PÇA¡nÈÍd¯mX¬9êRyÄ~•;hb¹%Ãʉ4"R­Í/¨p&Ü›°ðƒ{©Â&ç«\z= „3Ù +%Õ)Y=6ôÈ?íNÅüÛ¤[×Aðibãß±°ÀêS>â€IOõ–42$z#CBã¬;|Íèâ²È¼Ëý¾zÄO$ÙV,‡öÅÂZ3 oÚr-Q¯0³íçkrM9àÇ(P!•‚U–½nhù›Aº–DÚ*ôZ~•¨Ìø£‰«[a©º;œR½ýÊ Â\8a1*^œ žÅ`Ñè.š'Ø£]ùC’ZõL°î'Ï\Öm{ˆ¶iWhˆ °4±‹¹·à ÆÃ9â¯IÛZL[ýLçþ6[±§ÿThÛ¢¯n!¢Ñ¹… Ô¶š¶eÿlþ¤ª .׉é³äÞ{­9½Œmï6Üê¤D\áÁ#+6‹¾‰àîîsF)kûhö¨¸éë”lZìt2é˜ Û*˜Ûž.ì§KÕ€EÛÛLf¬ A&>t.ÂY ˆÜ/ÎóàJZšðÔ‡ÒCý8Xô¾”$Ç CûÔ¹_³pâ¶Ûþ¥Û&2a9UFLLf[ÖÞíùë€ãQsþúPLšQú;RŠ™ô:SU†¦]oðq]kº†¥€\Ø£ ¢ž[XÏ7~4VEÈ)'n32 ¥x.¼ÀýÓ‘+…±ÈãñÖ HÍíDAÇ%1WßêÏQËÁÝJ)ëê#"wÐ"úØ;déÇGz8Ýͬ3ÕâùÚ“®g:µ©Ï¹U>~»[Pa¼¥Š¤îérB#($›±±Gn`éRâC‰JßüÇoRMBÜLzÌ/Ä6,hd—kÑè³X¹€ÖDZæ,ÌÖџظbÝÕsá Ÿq°Ì;f&CôŽáòö¾}Ä‚|V;îJâŸÝ Ãàöäl;KÒñ¦mÃXf.zèž #ÂÉf[‰cà[Þ);];äf¥ÓqØ-”Ï ·/1!ªb˜Ô¦¹ØnD ëówþ¾} }ƒÀ­&Ãa¹¬;(E¯Î€HA¹˜W8íòÏkXiŒËné} —1÷ªq¥Æfu!\Ò-ô4$ö)yl˸¯Xí%»Pò€´¤7~;}€U~D.I(Œ 9jyt€øèL}Ý¥:Þ?8¦9ü ˜G³™éL ö_iÿÉÊå ÁhQ½D° !Êv¹u(}Ú·é¢Ãîý"[fœžóÒS÷þ·‰Š§ï&àñ‚eáÉ êJÁÖ³V±i‚Zh­¼Æê!ùV0z ŸÚut…Ãv*¤SéÅ-ø^™¾ò¶0ÑQ^#»g7Û„,i^á2¾/ ¡ÑI42åJû÷ íá˜Å4ß?¸ S”e4kuP.È:©xZ¿T2=½Â÷L E5O©sÒ¯˜F¢¶2bMƒ V´Çº„iÈæ:]1%2–O¬r•gá@…è×ú$÷\ÐݧÃ9î"-xüœˆò gT~j‘ìwÝ_ïõF ×ð ûYÎbž«hݹ‰˜K¨ä<Ÿíœ²+ò¯ÁÂ"øfÚ+þ½R/)`äDÆ6‚2÷.Ì}JSÚô'ñÜ8>§Ñ-a‡.€DVøºpbq^iEÉáf‡$d}ö#èÁOÔg»};>[©Ÿ\Zz–š¶zŽ•è‹DÓêyÅÐ!Røä‰2‘Vz:'êLÝ͉v<—Ë <ºî2‹ý¥µ[ÞÄ˳’·ÿÓ›Œ6Î5aÙЍõ¹*Tƒ•ú¨Ex•ñ £ÏÆ…âÊÍ/¹¤c*ƒ¢¦!vÀHý¿éü¥Ö>]L·ÉT©[»·zÃnŠÌ6*.íA¬Ê†Wañ,ìôÖRPV ¬ÓiÈÛñýk>”Ý«šéWSŽ:°_°úÜáÂS¯:‡TvárÚ^ìá"M|Y»©€±\²§•‹ä¦Ä·V‚U†– yøh€ó5¥Ç¤} 4¤¿›ÏkÎ3mRãóã6•ÝåC½‰­ÄB¸4§eÀ‘$¦Îë%Õ[íÅ“ðÁKþáŒå^£žñ?‰å/´ôP›lmW:Ä"•Ò6m2øë𞆷Z‚Ø[_ÐÕMƒËÄÇ{Ë\ºªÅþ¹–j]q ×ÝF+ÿHUBx¹øyY¥PލŠÙû³SI¹HHå&—´^}ŽpŸä‰…a Uþѵ‰;R£>(èŒÄB Õ%G~^åEN&ê)¿[‘žSWÛ“vé]°yæ„w‰FÑìˆ$ÔJbŽÏôýÜP&zJ,µ¡#VÓ=×:q·Í¿§¼öóàH?émG̱ÎÏŽ¬&ÖÝîž¡0€bL©Ìi{"âFJ6ؼ½®E(¡]*„dÏpÖº)H…à:Õz¤Á¨©ÚÑÓ±¿Áv×Îz¶À&Œ‘„+r\ä×Â*MD“É4ZÑ‹d$²€ÔL5lÜâǾÜÜ”€åXluÄ|Ò£ñùû¼ü¨:¸0’ÿ¦-íM6óttØiN£ÕCUWbíà×ÞO[[_`ß—ê *Ý&¯žìì'.úŸã03<–ÙŒQM÷G#Ã' Æ6ULìÌ>kÖ¹¢ è[¢5¾]`âðºµ\ëžO²dƒ®”6öôF…tÁT•-KIØÓ㹄êó'ç«ú©Ùц¬ÈWäèÃ\(n;¡QR _ UæÞ|nÒŸÁ¿¼'NËqFñÚôú^ê\kûˆ šÎ,£øupwïBë†Êñ©UXÐà0Ü Xu.x¯ W‡%Ë@>áC06y:ߨ.g€—cHÿš7gJ’üF§ {9à«÷‚rm–<÷ —wLÕ÷ËÁœC”‡l®I䬮ÌK‘¶QüPîdƒ¡æª(¨¦ÆvᥖŽ/!èø§µ;Jù¸½o~?ŸŠw§s³ô 4²&×MÆs¨ý ázm•²¹`²ukjAly“4n^œF‘&:Yš—;hK7œ¾1¾Ð¼Àc '#ÖŽv£9ì·‡~ú°úåÐ`9üâúX¥Ù„cÎéœ. ¹‰e#/G¤g@‚žÔ´:;pÚC·yóÝgdJPÈÜΊ4)pænTÈ¥|éïcª‰mÙÕ·]å,š´&RÉ¡ !ª³p}6ž+5ñbË]æíà ÞÑÇzBéñK–ð€Ä;WK”}a¨f6onYÌÒGYãþ(ü9¤Ó a{Lôð¾k®¤aâ]"vÝØWòÑ ˜€ÿp.!c†~õ6楎ôl Ÿèªxoa¯I‹óîèP‘F¦yn˜À>×_ÔØ;çq(<7Û_Pà… 4&ÎËb:š~(JÒ»„³¾8z¢Q)ó¯­å½ÞÕéêw"϶ww·‚¨!{#ài!³ räÚ/.‚ºßBØmZŠ]—ÊàØ€!‚ë¾}c5båÚãˆ:ygàÒ1 µM²Ëf©»v±88z‘àX>ð1("7´Å÷œO¨&ô`kÛÞL;=ú±Ð¢‘ ߎÐ/-ïVOþ  -‚#N‘~—SBv‡mÕ•ç>–ù—˜ CxÚÍ‹B×õµ‹ƒYzIY3UI„nn/$ó[ˆàåø÷-œk°Eß I[¾I£ƒUòÅwÑ^hË)äb3šåàô±¶©å”gƒñþŸŠ'VRX`à¨D­–ZÄKJóUXd–ÌrZ9 ‘ù5rK†äÖ3ðйñªGPd¢Ü½Q—¡ÍFÆí”Øâã ‡Øw}4.ÇOïp6V¿Î:|}/ œܪ©éŽœ•…ärÊÚ¢5-YtuŒˆ=&‡”Hˆ¯€Bç#Ô³?e‘…‹Ÿ¶h笊¼;ÐOê*hÈZ<èÅP« b±El"¸hËDƒI‹rÒÞ»¦Xgðˆ tÃ@©¥=‚òy3`†CYòþðx'Ú÷eÈà,Ý¿µ‹Žöf)AêõöûÑg·¨ìò/Bújéy“¯Èìiðvé:´ëulNš!Of6Wõo6»€;“uúÍøô‰U™j×% là‘☞1GèÐ\Åä_Ò @Ü"ïüÁ\‹¹ŒiºÚù#5Ô9ß×7‘—ÑûÉ÷r^êmÝëKÊÜ}{z0ÖZaù™[‚j5‰¦ò¸Ýº]1a'3[¢~ì_x1Õ·º¼Óç ä þé¾Ä„Ì-FfÂj¥O(n£7Hïçù‘b;œ–·>Ëðn$©(”zõ¨³¨éä Ç¯{¶»ý/·•bÉÈwxG}­¦g“‡ž%¾±òL4‚Ê«£¦ ÛN‡Jÿy4ƒDÒ Õ#I¡ùÞ’ yùz66+±Òˆ4Y×Á.Ù¾Sý’§u¬4°Itª%¯’Fí–1Ë2ÆkäïôjOý=¿-çNlŠz¡ €ÛJpÈÍ󮊒´%(þ%4LÕ=èGÝœ÷1̼¶‰»nû‹[Š{_|N{˜‡qóòºdJ:ö¦,ѹ@ûRFíÛá-“¶ ÛUZOâ ö#˜œ1êÜ\µ8«º'ŠÃ?ƒ ¯¸Àp ݬëˆû*;î–ìÜq­Ô|ÉéåA0F“A²6^1©qy5ÇA‰èå±z‰`³NPû°žVçcëÑîßIBÁ,ÞÓÓï—ö:ѯûÉu¨¼„ª¥& bKH”[:•JýÓnŒ`mÈ‚çÐ)2¢ÖN´éóƒ6YUû%«Hž{¶¬ãÿ?p–êOëfIr=áû-uM%¤òpÇÄæÏ=t’ão1¼Æ?wQyоíû2!‰Ô¼ÞVè{ë"ÑßÎ6¿xÒdéý%åS¦LÔÇFé󵈺pJŸ%#4îM¯q0 µ#ˆîuÙ‹ŠO÷Ø6›‹rFA/"•àý'2+BµËÎÀ5ã Ç>«ÜpJ{oŸ1­¶ƒ51 ü àýÂtÇ„é=tÀ¯NgPŒÖze¹L7OBÓ€|·1>¼„‹yËD@t ðÁ€oæµFŸ°Ï] %ísvàO¤ÇÜð® zl‘É·ž% 8¹¼UÈfðh©m1‰&b&OÆE¬ÊΈvVšª†ŽÔÁŒª-R\qaäÎðá“"l#-Ì–ÜZx‰*KSá’60ªàD}§£‚ßZ ˆ=Ó1iµe:ð¶‘{ôs:m¸¦ÁÁÞPæ¼×.H ¹¦+\W=ç³ìȨÚ‡¯¼ô3q@¨i{"RÛ1A²Ì<î…Ô !6÷}x€dêlÒ }Ê%¹¤³½buнˆؤšBüèdõ;7…áGÓ“û—‹³iç\vêÙ?K‡R_ÌÐl=†¦h®.ZKÎ㼣褥Ҭúñîtº.e@ùFbÎV›†@ýסÊl¤ÿ9°67?ÎnÑÌäÇG5Ó—Ô JÐЛ>5‚HûÄKX‚èŽ=ŒæÎ÷T‚Â&Z,n§- Ñ«bÚ]ýy“>ØØx…–ï´w_`«•fÒ4Ö”h 7K™éL?ü¤4¬EÏX#[™{ ȹŸuúθy$><"µSqLrL}Ü3û§=ÆA&8Äãamw{êŸ5´¨Qw€Ú-§Òxïò”kQ.bwzvõáå¢ÿ6Ü®BÔ“Ë<îÿœBíÞQi›ÿµkº¸'Ê^ÏêÙOØÞ âø†å«[¥Ô ‡~gÏsÏßÃâRou45DV§Íó—aÞÄâ'¡§ûŠ™‘c¼SqSQò¢gÍBõÃW3¬ì¸Q®©¸߉ŸýÙ„§}Gq?”h3qŸœ²k1 ‡SŽë »h7ö_[‹­3ÐáôA|[]u§oñuÖÀÓšŠ ëb$ºœ{ E‡Y»Û#Ò>S ·ÞûH[éœ"®×2ßÄí¶--Ð%u¨`n×R=š’¯}ÖBý¸ãÉÈy³FְΈzä´ÌúÄä(ã¦Ð%\ –f§ZeÏßï8b0åÜ^“)¢ôê˜Ø¹¼£6ïXxËtúË¢[zÆö<|'ì3aŸÊ4º°Â®ý;Ê¿ ާXG8¨kÈà›¾oKüºF@–¬Çã9Ì‘> vtå$•élíLèŸIÉ7:)[0äXh5ý·C<&±»–*6"’š ÷d š¨äg³K ê.T`ž6fsÞÌ@B=GG-ø"NÓ>£^=]fÜóXvUïQ4/é­‹¸¿ÏŽvª<€wTvè4xzªÈ«ñæVؼc³t nDÃËeàÿwlÙ-¬‰j–p"-üéhæÛ‰ÑÚ¦„­"¾»`„&ƒ^ü€¤:s†µD÷äô|:âÑ!üí¤Ä‰ÍLG­º|"ûR¥YÀqĶ9ŸgvÁf>šix‹ìI±Ð^N8&ÅŒüžÛPÄ&Ô¬€ëŽY—’`%'àŸ×â—ÇtRÀOÊïYjS覵wꂘݨFéÂ3Ù˜šdCy”×Ý_6Ïn ÚдÌË`€òÙ·¸’³ ÚÑr ZÑPŒÝQ¾KhbŽ}¨úÚÒò—÷ì(#`}F~ãíª59êšåóøðÉ )Ù)dKå;ç’¤_uLÍ=„ÂðµL¬+Õnlí9ЭZâGmHaœ½j¯M`o­ØÅk†ä³@ÍRÙÑiÂS´ç|1ÓHÀ ‚¶Í'yîSðœåd¿}ܱµš-+Öµ=ÅßR ýê-è%×—P-IÂÅ‹¨eô[_<þþñL@Úýw˜½4¨Z„wù¼Gã™ê*+hlhÇ!÷Ä#$a!‚!SÞ$ž6˜"¥¬nà:a<À]]7[¼DcüCgú¸0JÁ°å–ÃqUÖìÀ›íl¯¤ €§è«ˆõž|.ÎrçR.CG›P-\êàB:ë€ä0ô˜t JU8á9ƒŸ´Å‹bò–ºÀ¶iñ4ø©woçÉk¦)yeˆÈg’ÂÉÔ>ŒG Køcø£²jÅ›’Ò#µÇS$….ïX–lx‘ubÕ:ê DˆP³•wÚ±chšœY§‰¶6Enwœ¢U'ã:l ɺµ+(íù¢üˆAš >—N›®'æS[^7ƒ‡cÆÈ€¾¾hB±Ì¹´/ÀvÈ¡„œÍÃe$p³±EÞ|Ìÿiº¾˜<Æ«5ð”sûlä øƒ††.E¡Wj¼5ÉŠ/cã‚Zú¼öå»+.h·CIÈÈøÍš‰æ‡ÃDkÅÿ„(þ¡¡“#õµ¬G8û1¬ïpAXt^—“‰gä¢Ý5•FQ—ÒsÏL£¤«£@¨Ë 8Gý¤ÙgKDlò8ô-N—3 @Zù1 ä•lg…mÕLð°±Û1Ô;uØKF*B£‰ÒmÁ-ÐK(‘yVQ¢Ç ¡¦ ÆkYrn£ØVƒC„É:H&1ÿb¸°Ñ†¦ZÝf¼ø`±×ºÿoõÝÒL4‡ÒVëÖdÒ×4ŽGyL·Jƒ¸[íu8VÚ$5uÔÏÀQ" 1¸×Ú«ʼ¡ÞF‹²”Ú"8…'ÓéÇÆ„| Öf´C®T¼Üa”x n:ÍÃSB©&J7t,ûެ i–[Õiÿó.˜N|7ò€“œJó#–¢Š CÛ'ÖUtI[$׿ËÅ“L]ç©MmØ2š ËcY†‚:_=Ikø1}V‡ “ #š§æ›ž¾ÿÄ­ ôz½…1¶6Ò¿‚ð1LŠÈ~V /ø†D_E¯MIz5-ehl…ªÆ^•pmì¨ÙÜ·î^ \Tþ{ð{ãÔ¹’BV~(å•þžÒý?Ô­ÚÂhA¢”êʘØÔ§»jƒ§ÉôÑt6ßÛêW¨sd0Z©E°̬ÿø¿žÈ€êV èïLÊÉ« ”Víª†¿ÿ[ÿC›ˆo&ÎÇgâ>-"ÆØ––P³çÏ“ˆƒiS ÐT˜MM±5pÑ4‡4gŠáldœyÜœ¿vCàÍéX´y½[~ööÄ–*«ŒÔØ1½aäWôÛÒ÷Á¼ÿ?ïRì9Ü÷@fÊRü·¯ÂW¿ìÛµ‡‡6;¤òZw#kAzšÂéîRž!·S Øf/Ú)0ÐUþe 5Ú¬œÎg ¤Ð¼$ø'oó˜Ô~¼ÝÈ®# š-¬ pÄó³ÑüÿF¸ #Á@É ~Æ.hœ˜ÝAø} ë„€~d|îsSÙÅú#OàOHËÍk<(§QC ’­‡š•9\›hMD'‚"cR³„ÿp€m7Q?àØQ¢P½Â;±y–’±E\½çJÂ×9` Î{Ýô¨ •'ÈÏ3­ï˾œˆ?¼öim?•³cpasµ©Ø™žôr>œbÊèzÌ×?摸7¹&ÄúÓ“JMeÿ‘gÚ ŸÝôûXñÆEöF{¹˜·Î˜Uˆ¡ebÙMáýy ü¸6!ë¼gæ‘”èõ¶Œc›ª:µ¢ÌA;LטéaPˆ[Z÷aƒÅ$AI½ÄÄÛ<Ð:à)™» u·Ï0ïߥ“eošKèd[ ›&ýDEÙ¨÷{Fr–ÂpöuÉ“RT}B•ácÝÐ}£‚=óxá+{øûÅvšŽ{ Ä¿“·Å¨©ªð†> ¨žô7h@Û•a³”ߨ[bàvG$Ñj†$g½òÈ6qŒ5ŽE'PfÊ^&9­ö™[¿UL,µª\¹YêÀ,ÞÑê›\!_¼ñìDÚa°oûÈ•/f}ެe]˜X-ß`¨_›´˜ºœwu~,âeü˜0I÷f‹O¦¨úíRúŸ–Ka¢‰ÉÄa,$©—wªq’·Æy´p^Ø“àyúCÕp…1Å/0׆b¾¨ÂLÁ†a·”zgz&]‡¸ÊŸ´¨Ï$§ WE½@>Ñú¿¦?˜´ –¿ ÝW‡þ…KŠ9Ьc]ÃÖçD$aÌŒO©Ör¤Žv¤_ÑEàbñÜ—Ïùà}𤉀ÛèdUïYk夅è…wwíBmzË|!kI¥H(çtÌ!`l3»4I8GÇuDµgH¢‡g¥M¸jðÝPRž×¤g7vŸmB"µ¼þäH¯yÙ¦{ý¡«F4š½]­–jvHømŸx „­áÈãÆÊ •(¯©§n£-™¶‡‰³†«ë=$hKÛw·Ô+U”‰²¼Íêá`à'&´K,þÎhpàñßëÏÓv ší´u§Ü°Qþ!¾W¤˜C K`¥ü*(ü“L¤¦€à*qå™ÑQ#$xûPÙéô£º|SííGÕý'f^Ÿ€N,N›ßu¬px96C”àãV¹žÚ„n½J9ž­³ôh¼[ðqö˜ÇÃ:uQvý^EÕÁ÷Y.pqÆ2!×fýr¶JðGГ_åÉKp»!³&“ú¡pŽ#Ñõøw@|òy%ÓÉ!ùùÞ+)Öèªõv n˜R]n*Ò?¹‹Q~ ¾:öè¹ÓùØ^ý’,bbå=-)2XOyîÖÀ zÔ]Ñ;=¥™´*À c¾BØIÂë¾<ùt A ’ÛçË •šã÷"Ž®°zþL¥¡¡â/Le½ GC ú( ?qž‚ïžm܈‹ÎÕÂøxn2}ÜpB§^9·õF²{(PË»+Œ.ߦy5nQÜSヾäD4ÿjßu6%QxHÏ´èášãå(õa óìß?Ü ¥±bû¬¼(¥,Yùf±:£úüCît;¥jxk¦/Ø1ü¾£t%AŽ{Ìa`gí:"f¡µÕžù‰²ê2å"”åíMÓ“†þ5O2ѬÛÍ6þhYé,1<ºHêð,éiªatzÊü ½\ ÍàÇä‘ÉR§[åHäTŸ‚f¨àhG>O²p1õ‘i³-° Á°P‚Ü­`Uqî—rB÷ˆüE`\»g†õWk.[àð¸3ÌÉ~Ûa qƒS˜ƒmA{mßâ»;Æ€_ž…9¢+c•$áÏýÊו÷,¡C‹n2Ê$¡:(\ . ŠãXL‰S`¤1rÍUè3ÖZˆ:_NÕúèpUÑàsóx1þÝNýÛ3Â!¶ŸY­ÓÑõN_Ú”¨hUéÒdDàêã›9¬ú, &ÉP­>jxÃpHJô·þذžæPù;M81d`¤ÌU—º‘K–¦ðÂ>{î¼…µºŸØ¸j͹SÿbD·ãÇ.h‘&£e¦|Ô†¾½óiMdèÁ}Pu ´CXÔ{ ÑhR$ŽGoMúÁúBÁÖy¦T˜—ν_sÊ*ü˽C+<‡À û¹ºѲþ“J; ’T„«?ìÜ×0™&® W µfh@“¯á,ï†qÑÁr4?¥Ï(·¤¬-ÃÊi;)'4þŸdë¿°ˆÕ;6.##PvQVä_`bvÞ†'GŠÙâ7ûáñ©4W×4&Å )þÛk'#YÂåóFïçÜùÏG×õ`/ú¾ŠCÈÑͬ¼¦t ¨³ŒË77¾˜ÇÕs!çÄá]Øíš÷aS£Éêœ9ê\ñ¿÷#KGìxd©‚Í3þG¬&ÚLk±ÆXÌž4m9Ôgµ;̯C Ø|d#¬qóZ8—éƒËH‹ÂŠXœU0és«;^˜!nháÔ´ŸQ£°ˆÈL¾j}P¶Y2s°‰/ÉÒc+“ÓR穪‹·ãÝ{ÿb¸$ Âk81£EºqÌ»Óõ€¦AKíé·­ú?»Q’ï á­EÛØfÁ´á58áv –M]äű@ºQpV=‡½-!b>LⲂm”‘ÊÔçN]%-ƒî‘üŽÜ|q€H› <øN -«9ß.;E‰fÂY–¤½6ó E yy,ŶvX Ö—›ó–þQ\÷h ºì˜ºøOÍbà1lñ9¿c‘SSÇ(’r¿å²¯DÍ]Õ?p Ÿl"êB®½ôœãº8ò´j!ú’B;xÞùXŒÛÐ(ØÕûüdw©(ó@ãè´¯(ŽÐ¦ã˜—Ïýó/Þå## ëöËX›Öl¡A·Oæ[ îd·ïÞ=£É;ZŸZ0–A¹Xº¿ Ê¢C´gîiÙåáyFX”cÔ@,”G|9"$4â±›bÝ&–ï6RSüpk[T‘®%P0#ÂSK Ïu›Üˆ0 ­o‡¹ Ó繺âDs!H¹y‰šúH¼‘*ç×ù°Çì‡×yíÆJ_J+Ó$ÉÏÅ#÷;«å²¼Ü9ÁæÁÕèª\–E5€¬Œ#÷’(®œÍlàÑzɇÖpÁiÀë‡û'B%ä¼Tgü è)cî (}æçŽÕhyíF”~˜\Í•?^Þ¬6îì>2³ZŠ‹=aZT„οš¤öÝ`0.2•\F„že>Ntúçæ‡{Þs¿Ì óÛ0ð'ñßïÛPâ–ääKÕY¡ãÈ`ð½ƒ=PSX4tNŒ'”ütŒeßXäé²^ëÿ(h¾m>̤5êï”øsÌLa我”·IcÎÄß  Š=¸=‹‡¤DñqÏê–ÄòßtІ‘‡…vbI¢øÆXÙZk$M賩~9ãöL\iÂÌåwˆŸ"¤DA„TášA"ýö]”Œæ*]*Ù»qqñ"seBYÈ‚f)¤ì•ß„‹À¨hS›]< ?ñDðõbUJÄÜnqqó’OV¸¾#sªÙãÑÐ$OŠt?-Gyp„Ü2¸0¿/â‘€7ÔΛ»¥­¥ÝÅ‘>y·ÇÏqDxO?kRm¦ Øb‚Ï¥âw!Ž HÛõ›§c’?Ïön[gïa×ywÚGà Ðiõ¯Ñà†“Æ‚‘sù·ò™4oÑyÿÅçÅ”F‰Hí>:*Zí¡kH ìi10a ÉÆ3ß4\­ì=^Ä£ì39YÙöÉ¢â7>#ûrŸÔ7èNíñº5ã&–ð8wtlD Y|m‹³µó4€2o Á†ÍÁæàöö»Îâ CÇÕ‹ò¤º³–ݯ³UIÄPÁèTñÏçüЈÆEv$%Šb˜¸ö¸}ë}ŸùË!»´±…)"š½ÑzûH|ÖŒ³Mì•AF1#Mjü¸cÐú™üžPxªK2|§dMvK_Ár}¦õmBæàÿ­?ñÌWÔÒý‹ù:LÜÍR)ßÈ 5â½££®"W’ôOH“{Üh‚ÚÜØ@;ð‚Cj>š~*⤎®~åš º}‰\qr!K{³Dá˃þærkÃÛöÓ(MLn'ÑÓô{ÜFÎTñiž‰¾ jÞã[×Hüþ!8óTãæ  ¿-b2-¸åâ.Gw<„+DXþèƒkÖ¤sgg jYÑ05ûNô±×ÅpL*I‚~ŒvíÒßý¥§çÊG¦ác8á%¸ôcr*ÃÎɦR&g`,Úð5ÅBê.÷§¦ ¦Sý´ÃÁ'ÑZÐŽßq3Ü϶öñ°ˆn»ýB™ßÆ™ÔÕÃÄ yb,Gnªät%é~gîýÒgLšoÕ¤gJYí8¢5î%^Q²ö0à¤c,ô_&1„ƒZ¸¶Ø %¨êîÒ‘ûùB@ÉŸÐjOs3]¤•Ö®}umË.ý˜/y£Úâ#¤Ÿ žØ³Žª#{ØÒðþõׄIlÓºZ©èJêÊû(œû-Ã>;/ðC©sýšS’Q¨ˆÇ/§ôG}ÓŽ©ÏñX„îy®© Þø&Ï-=>Ê[A±Q=D–BDk5»œýK­Â6y 2¸ã¶@g-üêY“W™;íßT4„ºÇ%^·H5½º$]c¯ƒ‡ó÷b ¦*Ë9CE_//;ô?ª×¿#Ä\šdýò± øÖ}ÓHäÜtæ(¥¹:mI°UñèE7ÜL´œC„KøÒSðib,˜HÌ€(ÅóŸãhT$,Ž$á(O»9?l‡{®ëhvÁúgL.‘E‘ÏÞ:ö>ùç4æUx­nÄ7©û`p>#SGüÈmp5l–»¥®û]&³®8®=5œé6g ™}1Åó}ŒûkäÏlU ¢¾F1Pš×jjí0ÉìL¢LÞt¢!xvõý (Í÷ û†-<]emA4 £ã«ÞvøJ¼Æ©¸f ¯ûðѼ˜d^ðÙöþóS¬éAR´nú@*‘µëÔfÌž^ ¯÷Ú‡¿"rŸ”H”RVÄNh[ Ì'jçš|ò—;B«ãd£!œe7~š­²é¯£Œ°_ Yz»l4d"¦°§Ð~‘÷HM¨ä_¿[µãËÛ˜í6áZeÄBý¼Ñ dârC›¬šp¹nÅýs£%ÊBe¡’ñîÅT8kt^œ™ilßVA¶BêDDÙâпÈ@q¥Xá<[ 'œŸH†$ øÓÙ-ÊG=_È!¢Š»1ͪ.x Ðz[UŒ™·`ÕšMþ&ç»ÈP)ëq˜0Iß²…ãXQ–Õpåén؇fOCd&G¤ßñTˆó,pà˜â‡#–‰[4±É–ü¼µmø1í"öêmŸ@¸6mÙzóZ#_½7’WJOmÐxf`ýïŽút—5fÁs÷Ém™Tç"L‹hëtiE½»…±Â?1Û@γˆûWz0…/À>g5Pbta#‡L"Ͻðœ0Ú¬IzHô-Æ7ØC=+ký bhŽ›wÕ“Ä>ªGþ¶¹=þN—Ý)©ÿ¿’¥w¨SŠjªtäª=^:óý×ÂNŒƒp{íÔÇŽBÕéOsRÊõ¾Í†¬zs‰oÊ©²‰ <ŒA5 C)­¹\Ö ¢f°ÅAË»ƒ2Üoi ¯­ ãlX‰ÎIe¬ñÞܾ'“S!ÀðŽðÈ6Êb@Û¹FÔ‚ßÁuûvŒ,§-R¨=Ïl/àÂc}ÔŒ½&õ7+h±]³ú›²å 9ã(Ðm•Ñå!ßÊŸ >Y-4CG«ÎÌ÷†Á?#P(Ïö¡A”e”É!ĬA™ (…Öþg§«¼! û®7»Û–Å¢K—ö|§ñcA“ª¢ä0"—¢Nóæò1Ëë0„}ŽæÖë°–¨xâ¹D™OøNâ°}‚poW^þ!×ýÆÁýÅ@ϤŽú™Ó8é§ ¥•ÝPm|gHr†q`Úf'†‚ä0ý!Ñ#ü d¤Vƒ ³ƒ/õà¾~!7\<ãB†bŽQk"Dª5ÛYÖ7ˆw\p½õåë 2îÈz¾K:ÙñºBø¬1$(*vG °ZGA©¾ôëñN–ÚgøM­•ÇÉñk¥\KŠ…kTpšöI2Á¨rô"’/||bä;«VN^wD(kÿ4‰2ªÔ°Æž,©®ÅwrÚäuËç6YኅBY¢uzSuùM;dÒ‡uéÒ (¾8y2V¡†ÜP5á¡ë?‹½´”,=ù^íS2˲W)å¨q°h]\º'¨FzåéÞ$X (ŠQ.•Õæ&e-¹ win„ÍW;ʶw=Ô­IÿUˆD¢=5L]iÓÀ*@ U >ð#ŠÄý6ñmŒr ‹ Z$ÜÜOÏ8ª‰ßájPµà77Ü>ŽH¯éßöònÔ\êhþUSqòdZÌ0˜N¼ìê?¼3ú1´ˆ8Ý &Ä&‘îðß!à䪤ãõžE«úÁñƒº‡Ôµ˜¨I0S~‡§BÓ èŽæVÝ. £Vs±âÅ5ýýÕ'úe!~­*"À§ô–Bºf‚"D­ŸŒD‰·mŠ xCfÙÑ» m§†ÅjþO†c‘ô·û.gn˜˜U¹Ò÷hÈÏDX/rEö^É–¹à¬Yû8ÿéÁó‚Ž] Nºy¢ %6X.ŽÁCæRÑ×õ›…àò™í†DúfäD¢ßÌÛðg€*ÑÏ—ÚÁ”½Z¬E]‚‹»Ã¹ãÇðë”Táëù•XIí°Ahz5 o!uàG¤GªýÔp@éü îÜŠÔv .Ä1¤@Ï0)ÈKØeIªŽÁçPÓª(¾•\iF ¯#;I;æ´§£Ï³—•C‚åö¿›â‘cC^j˜Kp”&ê£rX8ü’Bܤ°p^¶¦+Ž]ôÅ9nñú™X‚V±üL¶©˳*ÑìüÔþ‡j­S‰4Q–5õ‘ƾ‘£·_Ô?G7u¦;³¼:àXœ‚æ\5¦<‹.ëTAòA—ðU|F+ƒð¯/RÖuYm^ßÇe—aYCaË=Ï|‘ûuÅ …c yŸ ’£?w*^ =ºÐ‰zG,4õuò”€Wäv›ÓÚÝcÓTKg™–x´/âÎ}?¿LÛ–[xz9m…2Ñ*1c©7™ˆ¡4x(VîQg©Ýdäèd¨ð¿æLeóL†ÜÔ(Åûs…»‚rrÈZÌÄáJ(§“?ÜïSëÎà,4Q'`H7»”8Ã/±¥è"ü³‰±áðâd.ÒU›à_6'Mê¬]®ªåè–ÕGÙZioƒþN¼÷1ƹ^Bƒ8<Íò0@‹²¥?_õ×a„«u¦å¦myìûŽfýa —‹Ž›YYÊÈ]ZSé_X$ãmuz{ LéÄöüÑJà=m~(9W¦Ó-­“põçùÝ,½ãÅÜ9+— þ¬Ù;„øâ½„ºÁáÙo©»Ý|˜ºÿOCÊe2\朑ëâõYÜ8ûU׈/¤¬T|êúx»+*…Õ:§f” Ö)Tê¼Lm×¢u :k«f®ÄdÝ1I®;½J¢Ò‡ïèÊÒom³ž†ñ¢Q2øcWèrEõ«QDS®0 Þ¹4LâêŠ:]Œ9VXªgú¥?õõ}faæ×±8ÑM”Öü#µTôJÓu,p õ”3‰“æì.•»0©øÏ Ò:{+úóIç$± =#Íù‘õI„´!A}†ˆàÿãéwYdàb¨‹¾6·:ý¿zfµ CHŽü%:þJ1Q·­¦²>E‹kYð—_«M $Œ «¡<œ-yD`á”Ûä qv)“7ÈZFoDü[û ˜Âã?¥…•8#)â'ºzíhö®c‘á#x\ÉæËu{‘&š´xŸ(þ$„†‹ƒhoˆhÅÞ‡®‡x2›þ;=eÞ? !,¤—Z:ñ÷å`Ù”îa1'KdÞ*;B[áŽhß|»pºB¿‚‰ü41Êž£û5…89ÐÆÝ§VE€¦N%cÙº[´Ž ‚[š4;k7ÂT5®É×ßtß/×ZØ2ÜÖ“”˜š•€ZÄëHYú2”ÿë=8.<)·_™ÛWtÁ¶qfµß,9­Ì¶ÝôªL•êoxÜžµ*Ô®øª¥”‘B3mÛÚé ç%§fÉ-Å:ù‚¢­xþòèùÊa-ÍËI³‰3B0wPcçÛ+iQÒb¹>´Å3ÅÖ$o‚5@`h»'‚îk¬9Bü×ôžËþ.ß´è(P"NãBEÎŽˆÌg<7;§j†ã#õVœ£ö ÕZ§QêŸÙÀàÙ‘ýÁ¤ˆÜÜÉÂŽÁô …b“½˜mý¡&â‚H© ^Øá­OºÚšxryb7~èõà†+šYÙëú±ùÈ&D¨Œ>heæÝŠQ__i/ZØ È­¤aZž!ï–üìŸö¼+ãw/”Ž:à4™Æ¿L’9;a?¹~±òIĽÕãI«ŒÕwn“4 PÉ’T•†‘´VÄwù¿ä£Ëì'DöuØÛS rEð0e‹Õ; ë®Ý+5,.¢Ó.ÛË& ¯ÎÖ pß~äzY«ýë·òI¯½¸ä|vë¦õ¸Œ‰A¶gbÌ=gùi4 -yfeÑÿð„‡W+ÞÃSÀ»q¨ðÓsryœ´ÆHr²Åùo½#ŸÇaaÂR­¬Bõ‘ž=ãàçRj‡%›Ÿœî'u}Š0ušœ¡Õ¾<8Á£‚«¥Úƺ¿ývRšÅZÎõ×>ãt¤O#®ÆÎO¥Åºg‰TÏ…Óqt¸TÉSò";eÉMc_0ˆ2ÖöDñ 0ƒ™Œ ÝõL´?*yoî`QÂb@4—”ϰJù˜W ýù®Wȧ-=}Z%÷sè¡é|ÔžvoÜ8 wýjçi_2FТ㟶h*WP ñm6¯ÿœ]YfrÄÐ8fb¾ý=õµ¹±û»Àq¶Xà•Õ4BrÌñŒ¸-UµGܾ3)ë.p kU™ÊÖÓu(¤<I.6’М #²lŧ| Üýü0E·ŽÏìK&STˆÿÚpr.Ñz Ÿö<̪m†Ë¦Ù…Ú·L!ØY¨Èc-À'¶lÿÍ‚®b£íÌü§^®õ†L´eÊl¹ ÒïÜIôÛ³Ń,ÝGÞXÓ„nffÎ.K³É âÙÔ™6[]Üø2–¨0‰3Ѧ0pXVÊÍ.DzË^ØÙÍ’~a†s¥Š<Ì© ˜UŽ Å~V¼6Ø"HŽj<3Ãnn\ôqõ'ž>—ch®‚†ZD)>/yŒ©Ñ6¡4ú åS%^Þé0åÔ#1´…Ë*Ò£±ƒÈ"ª¯o«€»êF0­îSmL›W?ÚŒhGo‘ͼô"Äg:À™ÕGàY´}JU„ëm8½Ø,»à4ý#^48·]ƒHÜŠ#ÉÑ'23w9Æ”6òzÝ\¢M=×#v21µec*7+ÐÌstèÝÈCÚŠ\ÓE+²(?*|x¿0ÇW¤½²?n‚GnO FŠröcjžJúN †_Ó÷=“Õ*Œ?¯(×;$Îd!5yPëW’†í©u°¬àÌ÷GEâD¾D*[: ›¥1ºég@ØitâŽå]ÿ§5šFS—´ãiök 0@]¿±}¥|P%díJ¹L—ïÊÔ¥Š&h>àŠö‘q›KK¿P+ˆ¼oðn¿ýbøÂ˜ußêØFí"Ê4Ód>ÅX]ç(O8Ò±ábèÜLIü}N7fFߨ®ïø!³MÞ­’ªð÷اŸái…ê®ãäX9XÊÐþyóÿP[5jädÆ[å ¨AB}³î³‰KÞô»wÈ¢IØ8K2©÷w/›ämWŒ¨ðú§Á5 ;XKÏ9›áŸ|nÁÜÓx‚ A»þOrh™ ÛÏÚÜ!Ã…R,­d.áܽ?PkÎu«|w\É»³~ñ—;Pö>þ}xE¿úJ+F_—«fƒ‡ê9ëgMFƒù@O¾N¸IÓšSÞÁ÷6†0UCøÍ— Å]j®wïi7l_™ë‡ýÄ_ŽŸEö¼âl&rÙ8W]<;r‹AŠuÓöÙ-Ï ê#¿8ø_QžàùšnÔ~9ÛˆXѽ&çö‹<¼dœæV:%7ðìÙ@´XsÚÿK|ÐÇþð2ªþLEÊ-nmä¤ëÜ¿ïÌÍ0<%]/ï8ǨY³¨ߎÉXy ²)ó”¸ûjÓ³O™^îé¸k¸ÔÁ=Û˜ßzÃËÒo½BÛ˜ªŸ ·ôÇ=î²!2å‹9¤m˜¯‡ÊH:¢ðù¨â»í›®­\ õ‚RÈÀ&R7x6\¯êqÉa·‰\Ëh?\…Qê´=ïŸÏ)CDì6΃—vá÷ADF#©µ¸¦\‚ÙÕµ·NøÇá Ͱ‡%Œµ6‡çYBú•½å±ÔTåÑ?í0Ÿ"žý¿Â&ÙN‚J´ öÿâyÒÓÎH®”d+‚ŠÉ‘áLêR.Œ¶öS ¯ÃVß'¶L'°f6ÒkÏŸÊöb4Œo‘½™B0‡mþ¡fÁÊE v‰F_rÉa^¦¯ÑcBƒ®O–©RÖ“ f4Šêc=MþÎÅŽïÓå ‡3ÁÈ:vÀ‚Í>£~'6WnÎv”w?«,žÚ_§À‘8²D™ç9X/"á‹–†XM…ƒt‘ÓÌßÏl•=üÉs°_ ¾¤o·Ù*0Š´Uð ö}sþæß‘Ýz—G­ÕÛNJº±&€E¹–žÇý·½¯è„lþ¡ƒIè™k^„ì+÷Þ¾"àoí0tX%BhæñeyKƒŸF%Äù$«Ê¡U÷7ËV™0Á<½å»K\Je³¡ôñZ“Éx…cícfÝ™r#_é‰=S-¬EmÆvóŽáÆ8aýÜéÚV WKµÄbª Ö·òKYM¶‹bGyð*žó¶~‚+£YÖÛ﬚ÂæŽD!â„"¥æñI›œJÁ¿Íhæ³`‚jýw"µñä^$XÇbµB¹¥s¸‚Š­Ž'šÓœp—+vz?žÈÜœ¼µÎH À†ø…8nf_ª_òHŸCõÛ'¨Æ¢)“éýÙ-ÉQÔÔ©`ÁšD7åps‹œz.»#î* öˆôÃJ[ nÕÅ;!¾âùÏ÷M‡áý\›˜-`ÃïSþ”ì îËç-ó9£ý†ü]vqáîÛ«Ê±Þøb-,?þÙ‚ŒTï~-üçdj-Ú ÿ·^ÅyÔxÁᄃ; bh—õÀÙ„ÍÕ’ Íb.2H÷€bé…ЙFìEèš>¼'w?Ñ«ïÿ.Ò/Ih(,`3`†ý;3Èéµ)ŒãáÓ¡½VDñЀ†KñY*Y_ Ôà‰JVÚjEzD "Á7³¾§8÷ÖÄTAO“K=š«á8M–jAxYtt)¡®MAV~ükJx¥NŠ›³7˜å؃íUǾ±$ƒü¤ÏS@ñQ!|œxº9Vî½±xgLÔ=Å«ò+2NR¦-éSTûšXá¾ì…ä~;rzFh:žµ– Üúpg%S3>pïB‘sJ‘i#ý@OIy_cþOMOŽKTêY#¥ïm6õ)ÓQj†E»¨ÊƒixXí`r3©|)_AOÌêR,u ÄG‡²‘_:‰û!»{±´M̤ød²Oåè¹R!X*û·çÑM1cÖ€‡CÏ5ú¤dS¡äïÁÖåòÔDmUÔùDéÔæÿ:žÎ˜íÞiZ‚"ês‰s‹ÉÒ„Á£àj¡.Í& 4=[ƒnÖÖˆ,ZH©ˆ›‡ö{§ÁØJ<dÔÄ *µÊÞVŸNR—UIç>½úÍHœ-ï8»Ó> /úÃ+ZÖ°¢ö$fi@|‹Ú½ƒ*Hé$ëe7‚xôÑŒõûMÙŒ2€ïÕ­™\ª‰x MVE&ÒË€êwNJÇÌ$Ê&¶.ߤt]¨oü{ú„‰á½K% 8hSý€ŽdŽBwàò¤«/þ¤^û͹”úmáØ#î|e“ñMIIœg=½1µ¤¢:ó…OúqŠ5´¯h]grhër¼ êÀ"¿åðA+E|I¢ó”Ü*ÌY*«|Íž5±i¼Ä Gb^VŸf«µ(ø0!ÔŽ<Ôà-3u Æ„Ïvè5¢ÎÅH¾§V}UÙHZ+³øª=¼Ã7a' ­”$m7lÃ3•·Ûqö=7ÃËëDV;T-‡V3~Žù• ¹Î`Æ‘’ôÁ@ÊÏ•"öez2·ha 6|XJ&Eº%ÝDdŽnšWVÌ]“›ìð¯“:Ð=«þwafáý\'ýµQVÃLÂÈЛ¿É:|ÏsçÚ²ï|S¬Øã«W’7š¾´Ôè3UBbp-$è!‚YE¬tÀó*Ðy³òÚFÁ^D“Ã1ÖÚû¿å``gô‰$@†T±H˜î·Ì& .oâ›ÐX8v•nŽ4‹‚ƒgêSÇ#z¡.Å`„E^>ˆdÎM3^«6‡Š^ÉÁ} á“ý¯£#މ?å"­æëšÄñúo¹kÓ±3fØNW_$æ42±×Qv#ù@‡6!2÷½Ú¡Ã2ø`vت‡$|DøKYË„•ÒªØÃÏ6=yòØÊ^ãZfG\©oÕÍk?£kãt¶ô1÷ãÜOÆ»÷…nöT ¦–ÊÄõ`Öǭ΄p¦Dú ‡? ×gžOtê½¶~‡lÒ½ØPÛ ÃD¶pç"ˆ3dè“¶j éÉ'ô¸O®¶eäéöIfHØ‘Ó~¦§Ü9eÿ3‘|ÜÁ“™cÐWp)§Èo¹ÃLy"]h.à=w‚º0Ð ©噞„nÒ6Ë]&ÙgYHlE9ø_ƒ\[18µ¦ß#°ÖBC1úTo‚ÔhÚ äX€-?9·xbGïlÍçI·;üÎÞyZ­lŽU¨r´˜Ð-‡‹³ j5^†ú)`gÏN,ó]¶QÔ ” ž40;:£öGžàÅ^‚ar&h]"µ$›ÿ‡ÆÃãtÌ;»pç¸!¸[—y6†8ÛøQ"÷ûÀGí°±5!/ž ½Ík [C×õ*Ç-èÙ2Ù“bÄjîPa|ĺb’†E,FIV%p—CC´X•ý\Üê—`ïhÑj€=8È[6Ÿ·UÔûµ‡µ¾cUºŠ 0•ô¡¥® ª¹Ö<¬¥h‘ññ®<ºJZ3[6JwZ Þü„™V+òõ#šªé*bÜÓ˽òøæý„"”ÓŠ€ù´q ¼Ñ(ïâÜቲ#0ËÚ]«ëÚŸjïÿíãxâ š£L3ö2¨âR)PzNK9i t“D~„z ‡¯QKòUÀ•mòÇÖ%"•êUÔ8rò:—;ð¿ÂO ÅØº-ƒÎÇ©üÐvptD¥³q¯åêÅÉ3£Ä^œ}ƒ3 L…¬5#Óô[æSfj»xM†`àl@:É€$óÞ8ã‘9&M°sÙz &Ï>»Â“Ðb~ɲŸîÆY_ÖÎ*ÿc^NƒõíÝH#kp«Z „¾ëï½ZYÇ ¿ôY~*ºY¼ý²bþƒ(s–'Lå| CPXs)Dð%Â$`íºvò­5¹çéƒa¯YÖÐùÀ p) â‹ó}#Š|¯ê¹ÊÅ ÷A˜vQ@Ê€Éàs\¢¼Ú¬ánü˜þh}£½ ¹J!Ä¡/’í{&)à£P®‚Ä¿„«ŸÖŒw?£âŠÅáHÃ`€¼\ .³H™¥*¹'& 9‹G:l fHž)Å#éhØŽ“˜W+€\ÿ  Ëó&¥"Ï‘è÷ϪÚ ¥·ëI?s"o¥s&ˆÕèè\÷-Ë]ÎŒ›gXþša1×Çpá$ÆÂ%¦@½6›å!½ù××°åÛ«1Ü”~›—þS­.eƒs\*åÐY~¼¤á›GÁ*§h¥ƒ^ÃRgõdÀ½zcž¡ þgv¸Îï“ÈVköþ9ŸfúÍ-†L ŸÀe 0Máh!ÊR]#ÔHÎqJdˇ&“_Œ§qYö´­"N¨õ &÷Ë€„?Ó÷¦µ}~±âDÁëÔ’}ø-a%ó~U¨þìwËÇãô76±I'ûî~ÿðaé¢Ç.2°ö]ërHà[{4;¼5öᤞ²|Ýÿ=ÕOäùñ¶u©`K_€ëC|œl´Ð"ôÉR¹Õ…~a©fÉ©Áz%²Wñés¼é¥Aä8@1^£œâõ­m|¦H‰ö§ 1Z,çZÉ<Ñü¡_€}Ƚ¬êåâH®¼»ñA5[ÜÔñÒÙ>Çöà´a+­ñÍ;fG37šÅH)Mf„³Y˜äîºÃñø¿è=èÓÈ+?¨ëŽXvâƒüþÂs™±¯¿Ì¹zÔ™©%#,;2fúcF©OÍQâìêŸKuû?u§ˆŒ‰|ð@BÈaÇÈ`}Ãmí@í‘ýÛ9§ª%éÓ®–n6(ðj­ ‘Ç_¤ZÃo”Z@°kóÕ ¥ú¿A¨ZMRì®Zé‚4?á^Í÷¹NÙ‰î‡5…Ýr {µ?¨hQéçdåœ{NwK_®ò»jQ0@ꌌÍ.:¼¡Â$5oëtOÍ£–ca+ «Ìá­aª%)Iïûöy@9ý:‡©eÄ¿q5:ƒ”Hk\¹@¾³"õô<C‡ñc„3Yg_ÅZË6©|»`žÓ÷fèìûâ+M]Åî¨ÏîðJ^b†ŠÃÃ#Jx©ÉNÛ¸ƒï¥¯\]+O`¹p>¼!U×–ÝÊ58Õ4à ÉÌD±¼‡>X‘¼–ЊdØž„4ZXC„ûòfGß‘NeÃ4W5jÿµ²ïœ%’ïrÂæ>o._%í-”U‚pó½GMƒ3ÓØ»ð‘S}Ò¿YMÑWüf ý‰ZÆhÚn §ÄždëŸe[æ|+cÙVú4„=£iüjª#=Öñnx5åöcÓz½/u<ÆéCŒHÖ8»²ž’ÑaÒdŠœ6ÿªX" ñùä’Q>мwãzÿ<-+ÿ®Ðì»Ä{“‚&í=9á 2¾ì“é¤f¸^7a#-K <œ*4ò†iúæVŒòhÊç•5-¹ï¶`,dôe¥ù©¼¢äB8¥Ÿúu]s·¬bïr ŸÔL:6€þ Ç·cïð¨ÜdeèÄæÝ_’ ¤6Ý&Ìø©1~ßT’ K˜ù10ü#:_wQÂXU}ÿ åd0‘xÉ>‚ (‹WÐA]D°¦Ú¢•ÓÐtQLäP.|*þÀ«×Å_ƒ‘oï‹÷úUpñxïƒ%û²ª7J-5ƒy§ ¨¶{Öa±NÀÂ;]Œ(h$ðµuEõ¶¢þn¹u••!ù¢<6Sá¹Ñ\ €Ž)9(‡êé, ô|UÚIq¾¡cÚ˜L)!±‚\)Ý8ÀT“?Ú¶Þ6î€8@^à­äÒà·!Ö‰8½!œl‡5'?-_2éÊï¥ïM¢Ù(*ó盋Pë…%ZÜ_:ùÚáêgP|ÈÉŠ¡¯{S'šŠ˜­»Ð )¢Þb_ÏL¤ïV.ÎsÓÔ´h°¸Œ.ñ;+tœSæâ¤¬ÆvY0Ð]:ŒGŒA ™xxw„Ï‘ÐUC¹‹½‚ûî/Ñ´Æ)DÙißÙ­}{ä»lÂá`Ìñ.½sòØk4Nýç]šÙ4¶Á”u”)zùàªÕµu¾'<÷¶*?…C¨.M­×²>,Â;DûÏ^TOV”Û–;ðŒ]HiÆ"S!-º³ýp´"ôµgÑ7¢úÒim.ûÜâzs%ݵ–Òá×À§+‡ÂËaMQQtzË"`½-Sd÷Á¢=jšx³ yÁ1ÂEߺúqbô=U™ülQ ñÇáPŽiì!yë熔ᩎç^ b¼¨ÕNÒËÓnw.¶ ÚLîtC/îðZú±•m®Ž„1DzѶ®9óJ|vG¶ÓÓ·¬õ0W(Û×’IÿXTèè?6Øü¸GS= ø‚ئ¼ü‰9; à‚·<2´çD²£cO„“îÛ `ø5ìÚ©¬·X‰I«‘‘ñTžªUþ9hÉ8Ul"ôqW/«B¶ØÑëØ@Å¿é¡ò-û½õE3 770<_îé„ö÷åçŒ&ù¹Ç‘WýsÛ ˜®î³yÖ›.|Fl†ÍYc¹×²«ï%-½D‹ÿVņ5øý{£_è®WÓ¿öÒª]m¼ª"–+,[˜žò"Õ *½ö¨^TaÖówbF1$:õ¨è©W·-WU~›_&ôÁÔðbȘ^ƒvÖTqþXi.8#ZõïS×iý4ÖîØ÷ÿÍf~ܵ>4ü@\ÝŒc"Ö*µhÖÝîf`\`&(VMç ÜµYIh¦ [µ…Ç]2*Ð7ZV$þ–ñV1vÛü]X¼æ½E8ÇV‰|QDJ=[Ž“›É. À;'mà6U÷¦W1aÖ•^òÝ_’‘.±™u,O&Ùu»?T²÷ˆ¢ãÇ5ž.2ÑoÝVTV  (ÙúŠ u@rÊ…ƒT 7<4Hüy7Cv< w¿Š|£tåz6¥2°APîNÿc I²7‹°—p†Úã}ó'ä!/.'R‹,AÉõbQ²ð©½×ÕŽ’)± lÿŸÂþ ?výL~}kfP•rdxúE®E­>ˆ~ÚzW-ÜÀ 0yÖŽÄ;Øê?Ðr°ÛÑBpÍ^Ùè á9KÂ+4´¬]‘'G´È=ìá5qÏ`Â;Ù#¹JX,‡íô0צý8¤ß:±ƒ°¶Ì…®w~Ë¡j,6¯š~—¢©LyPfzSëä}x†· ¥“†þÂäÜÕî”OWÞOËÓ¿Á²‰ÖBè{Îéß–Ç‘lp¸1Ü}Hõ¤Ly–P‡fUä›òZÌá<Q#Äåc™&/¶ ˆ¡Hi^Öùl¾„ÏyP½7‹ ¼ð67—¢Ì¬Qþê° 2n˜ù›R°bGR§D䨩 Ý»TÙÍcsøa’…¨‰"y›Ï½ñ~Ÿ´=×*z,{¸SÙá«2¹Î9w;õqKˆö²»2 8 ³ÎJ§èŠÓÏiuÔ.ëÁußR·9I½×\5³¦ÇAøm¨ƒ]¸¿ý()ŒÜpö+r•¯ÓyÝ¥E êu¬ïÜa“æÐ´q‘Îå@=ôx#Yï!—« ö”ÔV¨Îê0ßKˆïñ£ÄÀíÍñƒða ‹>‡u¥È ƒ¸á¢ï;[ÐHÕÐ)¨òŸuÈX¦¬ìljŠsNÙŠ_]Ñj^Wðo³«Æ8*‰ ·À> 3^gâõŸÜ7KK”†Ì ;/Ÿåíþ+㊈æÄ)/á½"Üי̸|Àˆ…‰À§ ` Õ`^‚LìkÛªûhÙ–UÎx dÏoƒ§¼<:u4ÃÐl‚·hªœ‡dM9ùñ(FŽýÓ5S¥A15,àk“`=¿[ÎZ0›ÑK£{v²­îI„^»t‰fÓØ¤­GdŽzɃÂ][™–P͇·¯ª~Iâ*ë˜ËÜ-"WÝC ûu§Ó гÍGo6zóMBdΡ ɹ5åëï6Ô´y¬¬» Á‚èj²?P÷Ô}Žà{WÌ¢/Þ# Šç†_ £d š*jÚ$\–¢³g­T¼T Y½ƒ£«WühÞp‘I2=ñ|J IöW™`Xá°8eF§Ë×ÚïOÒwïg`™9âДÅLÄX„4uY{=ÍÏ!vÀALFЭ¹‰IGا?Wþ8‹I—Ï}QÆ<DŒü>Vj™xœßÏ6µÀµ `gà9Ú&ãhÞq„8„ò膹Sf¢{ó ¼oÔÍqæž'ÜŽ±“eQ=cÆR¥zõ3ô€õèÍÍð·@ žå'²ð1?ÖÿM¥/C>VA0ˆí.[_C]€–a9å ÓnëãÐÌÙx‰ÞÒH bý~cè»kë#aŽÁƒñdÁäOÐ4ýÜÅ]Ïñ`&u ŒËº·ð,Dê‡c& 1AÍ0½C®‹Ò«;H‘k;ׂ À1€óöE‘¦sœ»¨ãqCœåC±ê¾•%>kò¾I߀‹ï† !ÊdQyòG¾ã×ñðG'’©4*¾˜³P'eÃSˆ™¡.9+AAuÊÚ“s{Ž.Ωߢ…ùe»`Žƒî"Âð¢$b¹ºU°ÇYR*ƒšaÄ­ªúÉÊÙ¦¸p2ûø³€ÆÇ¦êSüËÑ#=w!ýÿKRÿd£¼Áçcްë…pÕÙpó…а0“ƒñàC¸c†(Çÿsw…y‰CÚ€jK=´å»Q—IÓô0}1D¶œœØt¥ÆHÜË^…|4×¶ú9³£€~z ca„hgI‰úüîwoÇåßV¤å 6îCƱ²í™öÜ…#’Ž5̼ä)DñgÕ~¬0~Nþcƒ½X’€/‹ŒO³SwÝrôtå8yæ¼®'zF¡66Q*«Ë[þYìM‚-Iá§q†ÁË>hYËd×Rš;ó$êÕÕ'+ ÏÝ‚lT¼²D*8Ò°[<Œ,brY @ºwÿÊ £4õ9øj:v?Ö¯4Êf m¦o?‹O¾¾ ½¿¿ö¸9\<å3¸ˆ·aë’4hSy‘h2ˆÑP©øM{ƤÑïi|7 ù †]J±~ý®ù•íó¬û0Îmuú béšcçz…\òÄ9ïÛó˜*”$ac«ìP#<çóhìÖ[‰§™ë ^F'D1Ì-¾}›AÚÁVõå6Ïñ}Ë'º2„W¢¦}p²<‡üK‚Ú»tc?±,¼_¹Úsï:‘ ŽæìÊî{fôöΛV“"(§>¦ZÉ+Ûæm#NL§ tÆnF¨£×Ú»º´•®þ¥"íï Çœeîµëoc SD@¯0Sº¼~žÐᕨøZ®eˆãOX"¾Ø+#}¾zÉù¯;Ñ/Ó²]àBÒõÉ çš?YzèÝÛ}3ÐåÇ'µ^…Hmö€4ø´tpŸ®˜®â™¦%RQ‚¿Dס!…«9;L¹Ð9a¹> µrÂó ^ˆD )ïÀýà2B¹ÐÔX÷(У1:¢ñDX^]I<g'O6 Ÿ°Ô|!«cM¤ãmHÂñŒ(1vöç¹ùNqJ%¤ VÞ’mUÎÚ¥pž¬jLTVÔÄ´Ém9¯Œ„Öœ°—1Ã3ï9ÛÚ¼,)щþ³ Sª*}σçʳ„âdr¼jÂ_ãYüååi°5V®­‹ÝöŒÚÉ9a>b·Ã³SÔ6ÒÈLœÐž#¥¡ë óaÐ̆_øÄ)¨Ô~¯tX8¡Ži9‚‡¡Úñœ–&±ÙåÈÀ@>sƒXˆD>—EŠ<ú¤‹*È×8j7zIG6ÃmŸmëy9ñ-*´SŸõ{ê7ô>/Ê`ÛêÒ¥«3½p|&;{±TË”öè*Ý ÅÒèHV Bƒ%›(lX‰éÛí~þ FÞö½Í§¦ú,«à„0±;o2šW¦à›X•ƒo7$X˜‚gRÝMÓš’[”³üïcã¥`µ¼~À|41¼Á€ñ6â»tv& C>Á»4îs»­Ä×ã³õÈ#¬²ÞɈ^fwg8–…Oð_{¨ˆÍ3O™žÊ~|Óë–”áÔe©C!­ŠÜ˜ {£Sc?¥*|g‚å­[ ›Ça‡ÑÈA‚qáæ TÞL:ÒÊŸØWSˆ†VÜrüÇif² Œ°fиž%ƒ>ºçåÂLDL<•ªÖûkÙ¡›jHT½Üzƒlá©ÎýI¯<죎Å•‡%êU8È2]¡Ôùek@‘¯cZËã Ý!½ã@OZd£pÝ ÿŸL ؤˤ—i=â›'¾Í_¾)ðóÈ”5tþtóçùmÍLÚ}Q÷"žc'–xŒò³›žI2e÷G±ãú'QX¨)ÊFGÁ½eLf‹½å<†ìéRïŒÑ¨3š÷e‰Cð'ä[÷éìs‰‡^5­‚ßE+õSDsJæ5Ø„ŒÏÌfå;Gš8î{H uð÷0–§œÇ¡Äû•Ú†¸þ$xp1öíÁ¥Ÿú©EUJ5‰P¿3@Œu)¸U¾¸DÈ}™ÊÄ%Å i‹³ˆ.‹RÕŽg_#7ArH#Ä‘T¡¼›½‡/ÕW;ù¥*¡£IX±àév£4"ðeE/ýsÝ}Œï%`\|±Ì÷<õJ÷’ .é°f Õ)ù&‹Â>}¸ ßKŵóç|¿T Pz‹“wmòIŽí¤Ð|ÖaW ×Üi̹Þ9p‡TãŸåëíÕ¸7á{j†ϫߪmÌ9.¯¤ç4ëÅÃè¹×ünJ¨µõr· Ôí(Þ|¼4·1ºþùœôÏÖßÜQܸwWøÖÂÔˆ.í×Maw/éI3Úç5v%H²p"´p—Ê–š¶×P ::L\ î Ø ö7Z´“Ô\Í‹…L?¬Â?`ØH¯í¾9‚;ë4M4Ö&+ ¿AÔ™7»‚%NŠl{z|…¨«ães²fJ"6+©|ã "€¬ Hwpåúp”e¿˜ô„˜5tÒŽåíÆÑÇàLZ÷Ñ™#ƒäJd¤ ì®ßF-†Rÿ‹ûLŒû¾”ØV;o› µ–ÆÎE1 ›ûö×'ïÌáõšGÊm©õ2! 4ùÉ…ßíÉ8@Á´d7[>ø‡ï±é žÛyÊa÷G‰eßð$}«¼¼ÄŽ–5Ø?)ôÁ‹”kÕ%EWè®Ô8Øêk‚è~þ']ïÍšU³Šù˜.#’™ØLÏÊCÌ Âc¢_B_0¦\‰òñ9ñuÒ`¡Õh8ðMß !r•”¬"+àZ?¯Ü@/󼬠CÇXW,>ª÷r¨ß)–‹C”Üó¥à|ÜÚó…ŽHìQýR¬(;ü¤èà” RT[Nqþf%«ØdCLÕBM}2qžvîûíÁ$Dò½’â5>_Igë?]±¤“ ˆµ$‡{Ýêí ÐVMi:éܵÌAÃ%ÔZBÛËÞâ}(BîI]R3iWuk’J.øG½ZsÊÑìS; B±*$±Åi~Cì #%.xcdP§‚£WN‹ä7Û¨••šիÐWzáÁDL']bÓŽÀ|~úÙ±“0‹ˆ€*Ù«c~È"l^ÈÓYáŽhºj\—A«|éSï¿ew€·W=vK­ÀÏT3_YI©÷ÑÔîÃŽ $-pÎáú[®ÜÊ„Ï[ÉYÍ /Å¿hªIÐXôn õ¬MA7jþÞfŠS€ ­Þûú†…|¯nk̘¾Íã)C##v4楔ßÍ»X¸þ¥dRÏèÀ9¥iŽI|^õ¯À8¹Ž5)ÍŽ÷¡bdì¡N™Š®Zàð¸Xï'­2¹R#ÃK\aš!¬œ¸qTð³ }*wÎ[ƪà¶,÷ý.¿Bg˜Y^ÓC¦:¦ ¼¢ú÷O~<ÒKGèæ?8©8y­PVú;öh²_F•¹4ªæäy&;¹„Ì~6qÞÒSw÷YIGÑ>G³àžÀ¨ßG¯“7rQŠÃøeqt»§á¶Ðܹñª€¢*~å´²HúíÍ—¡ì$úãòßc§áê¼ýã^ˆ¹°49'äÉôÂò£ôèzðœËùP`b„ZÚ¿H¤ßhŸ4gN˜QÕ¾CiäpÌÏæ,ÖÆ)Òo«–ù†û‘œh9:?-,@{¾þïVµŽîš³¯)­Þ!¨Ìi™¢+_·Û59kÚi÷Ÿð¯N1ÖuP©Ø¬àÉ➣c{°m©®Pǹo.¬d¤Òºæ:Ìs͇ä.©&,$ݲ¯\á{ÔÍ šà%䀨ƹS<*¤óçÊ yƆjA&ÃPסk€[Sk¾{‘—ýXŒk;‰Sɰ»$ŸðT#׺­}FÕ&’/ûx¡— }èð®rÅé“ZüeTAÿÀÔ&ê\Bß„ºõ53ÿ@Fd¥<ë°ÃÃoø°Ô”|Q8Œ_UÅGvôÊò ñ›V½ˆéq¡ÅD¾ÄdSÊŸÀºY\CÉ…jM†eª^Ø­GFæ¿éX·™•3¢ó|𬠰íá ¦õ“;x}âÍi‡Å½kÍÔÃùÝïŠô¢‘ô´Ÿ~gCIùt¯“8/ ×g°ì‰´UænÁ5luŸâçŽÜ<ï3ÑQƒ®µî#*ͬåWI’šUŽ’áÙ‘¯µïã組Ip¢}…©"i+¹H=G=óV¼GŽðMÉ)˜qÞõÎZ×¥›¸´è¯"J®¹ƒ'pÌf#Ê1øSÇEâ{®9kRƒ’f@d}QÐÅÚ”תV‡ ˆf'g“ÎàJº²P¹jÜÌ À‚8ìÏ6¤13a·”c\ã ¹*÷)àAãìî­Y[\†;¾·ùL:M5Xh{Qšå8€­ßFxsK‡ö—jÍdŒß畉]!ù7clÜ`-YZÆ=¸ñ=®îiÙE¼Øõ*ã ¡ÞÏÅ…¼xÈßx¸Ô_íÁÎv«Ïˆæ‚Ï2Ð&IG?\äºp(:å f¦Z4¬ÕjÅt‰ÃO› å]c.çm*øÒü†ƒŸ.ƵpöÆ_iß;l†›k$Š7‚Ñ?Rä7h‰šóêÿ[³;‚P8´wøä¸6ŠùpÌè)óéSŽŒ­cF,l{6™¡Æ+Iv ¿”?ž£j¿|ÅëP?ø1êÄ:XÆ™TW23;Œ ö-|˜ÝQ?°:‹ Ó[{í°qšÆ(»^¢¼ôH×ãžM`Ì”VyL'zPùÈZøqJ¸ =î‹ÂlWŽd…·gþW`tT&ÿ¿q0wÊ`A”¶¯Œ#?õ±Þ©Õ!RfŠÄ6ã'QÚÒ Öi…§1çž¹Úk\Qo䃊jÜ`޽W†¯D¨»3Çl¿_ÓÜ1ËÆy„ï°ÏŽLóÚG÷éœlã–1è‡ Å÷Tl÷†”›w„ÎTô?ìlÃì…! •ì…¾Ë8oÆœ»vtÒ%©‘Xže*‚ŲïX:fš‚í%úx$¢,d…O ]xŒ÷„‘!…“þî´ksüêýÈÏå½^ÍÁàÍB»Œ xŒ{O ü`TÞu ¾§Áƒ‡€µãè`W-+#¾Lçœ+TgÑѲÍ„l¤RöøBaC||Zõ·8ÒlØdN¾0ù°‚eb(OŒR_§ =˜Baœgq”o5î§1JtiLõßÛÑFt1ŒøÇ<ß¡¬)Ñîçñ·8#(µ Àñÿ½x‚³¦‰ö  KPAøŸJäœÉ´³hR+r›R,ùíÆ“Éµ³ˆµ«HÀâtcÒñ³&7°üx»R- ‰ÄAË`ªƒõá½féÅV»éI?½•–@Ãä²ýÆ«œž¬!óq\ ôhGrÆ?HO±ÜÓ&†’¯iÓì8Â:žå«*¾OoLÄ÷Á«2C³™-–ëCñ/>JgåZ DÒGβÓñq'8Åä¨ µ—¤•¨ß_hÁê(Tº‰Ž‡:âi¿üêÓ@3+¥ïìõâå§l5Ð`68#£k:w°“çPç(\ ξ^Ï&Y Uñª63ikÏ1ÉÏJfƒÂ,‘¸UPÂd×i(±9*ª6â­¯„Õlš¯¯ýûÃõÝNJwdÖQ?NZ®"‘^Uþ®:)2á^µ{GD ýæ‰Í©kž¥T¢’¨2ëSÎ~dÖDާZ¯Cf—Wû;åÜ3MøÖ‡|õú`.5åI>¸ªµ”o†[|i[2'ö{ž§ö’¼FºÀëEl¿%m¢Ò¸Ãù,ZþÓ¯8ß¹9 ùX ·ÿ£,ŒWoa5¥¥Dýy1bÑV9³ ZLƒ nls%ì8+&N1sÕÎc—¹ÝÞ³9Y•6yٜխ˜‚Žx–“A/d™Ê½|“Õ¥¬½¤ràÄïóVåY¾l­1Do.ZÑMÚnŠZµÀY«0€šXKAf^êÁåiˆUÑeòß(x¾ 7Å„×+?fÈ:Û•~yâñ¿z„ ¹ú¢)9nÇžŸSKEèZ,U .ÃëÑ®Ü,“v-Ÿ{31 ¡ÕllÃß‹9—õQåHFtß"Á­NßuåžAJ‹ ™r é¡'î ËzY ªø¶…ê¦ßö^ oˆ¬t`ø¹ùWë·WW c¿šÒI¡âþÑéßY¤rÖ™…ñú+å9^ÒÅ@az—ð19·¸òêã»lþ[ XÒ¾ÉÈ$Yø/žˆ­îP0À%c0m¢µí©1M°£"“´ÓÌù£ûŠtTv ŠáÿŒå”0«ê †íà˜U­lË_P¾ö;½wýмäåp§àɶõîœT¹ÖWlùœó<ý8½×Ÿª$8ý]GwñùÈWŽ"G /x+°tÑ‘Þ;œùªÖݼP5ÀåÐ-:Ï9qZH‰ûhúðE!Àúê%ðVÔÙm î‡×‘t³ÑOÉìòØá¿3š‹Ž­Ô6ŒÓ±4py&®íbÞêìÄ a†oÃ,ޤJ™e÷³2˜œA¿!ÏÙ+;eÝlÑÖ¤ä®ÜI-Ê,ïœÐ–üߤ ª êffµ›¥çì×V×äê†QM«IP=£‹IÒ¦½‚h¿§\½(O&#·¢bâ;°õÙ §¨ë¥ŒPWu <¼° @µT„¸ö˜ˆ2pÓÁ¬6Ã-ôÆ+ù̽­Î€¨Éñ>úâ\šþms§b8°§åé•pN}ë”FÖåtIÕ`ºƒ_9».spk9Ob‘~±þfx¶€¬|¦ŽäàAP©=ñC%)'«šÅÒ·«ô¢b¥?µ¿¯MAC}®ê1•ü¤×bÃőʗ7Y’‡çáäbk ÿ†þ5Xé×κßåH[&ôåÀ÷Ï+M.z‹a`:Ù”…Q,’C9êæ÷QÖì|þkbjAFÕƒá…õ’k9°ViôjŸ¿ÚKí¡Û’ËmJçZò3¾P½?ÍÆ> ˆõÍ´Û憨wZRkÍå`ŠRyE/åõ*ùÖ¨D€ÏYv”‹<¡îRëùÙð‚È §ðø|ôµij9õ’ǵ\Þ©<(–ír3<ô¾]‰)jœÙ73BhÚ:»,1 нŠ9"KµN·‰k 9Rå@3Fâ²ýEÜð …t`ü’æïÁ§-¨ÙòC^«l ȾÜü /‡ŠˆÉ“éûJäfweŒUà2X’9ZI©`#ûd‹Ÿ…0$^³è¾‡¨xõt vÇ›aµ6¼*–˜Ü†1 “ôý5–B‚4#@cµ·T×UIº4½T)0ýF)' q úWNÕàžM  D r†Wá-}A”zîßì“a0¾¤§2w)Èi^c@Ö $*´ÚE¯—·÷! P⹋#…n§‡Ñ{':%7¥ãų!¥Íl÷’‚1Ê"Uá_Îþkª–›Þ8t¢£0'ê‘ZÈÇ{?îNo繸տ‡ÇÐ(­î‘·þÝãdZµÄBÅ-®>fß±ÑfÆñL{š Ö¤õÉ]&VM„€÷=4ä ÍŠ|»bÇ·K[#Ï‚ ¸µ‰ ý*ÍMBËœû&9šÌܽ—»*PûÏÇy.åxú °¦y«9äW•±Áß…3õ”¯;㈻sìtñ€a`ëöe¨n¢@™)yKK*(ƒÄÚ†‡ÒÕ·£ým±@`‰ÜR¾V¯ä¿3D`«BÆ4bH!giE³øÑß{dÙá“-¯,ÀTæ(,‘“ÝW}¾ùgæÙ§ÔÍrî³D‚›Â³÷Š–>ÊÀ§‹Y"*~ÌMdÀ(E£·•åñ´ù|Ã8x Þ1ma=Ý¿A)ñl­|Ã]Bî¾y»5¥T¤êÿls;_âÓí†Å7ßìÂ.tRæ5Ιï-=õ¯»fÇ}ûIwà'èøøˆÄ5›wwšYŒ|hÜmÝXmT6ŽöÓgó™'ëÓ?% ?îÄ6V”(ä>…±¥xØüI;¥Ï´,IüŽfwñ|ýÀ­®.ߦ›a¶vÙ*ûÃKEZñƒ2{š©@AÖ<…xÛšÁÕ÷m?V‘ñ¹û¹ÌÈuš ŠÜÄ€„´@u‹t{?&}΂ÊÝ›¯#R?²Š\¸)ª/·óòWÆý—I¾“š½ˆÉt[Ž÷k©BE³ÊèulpnfÂûö}]>û&¯ÐÀ»ö·„KjÖ(Ðnd TÇ"ºôT#cYa³²j¬þŒ`©P_Ùà(Ù]2‘Ÿ0 ÕÁ´ã™¸r~V>êŒ*`HžÌqjÂQ‘2~é|NFm^0#Þ ׫'WÆ›ºc¦`Îg(¹wxÛœí·Ê[E žñiûD¥œâhÙa#Ýà‡¯ã-=Ý)aroŸ“@^ÍÊ/kú4x ‰Ÿ§ñ¿Q '!ÚoU¬`ª& [_ò—“é»~jŒDß^ÜÚy+*qƒrúï4la2Í–£ÛîM«Ê}|Õc™»[íò.dk=&<2 mÇ”†C“ ¶ˆví79f„ vÕᦠò<Çh¼å 3÷V ä¬ƒNdAa%pQ6³„H!ËŽ8ÒÁ©_ºî_¾"Ì>ŽêÒ,ôä·L·"š¸e/ÅrzܨÁ ‚{ðZý k?rl" r9¡+d–Õ´F54À@m2¡$ÃZ%}§ì/TÐûû®$šn$æ;Ü0šˆA£‡ßª¸1ÆK— åd>¬yÇ•˜ (òƒÌ7:ÿˆãí 7-õ°x{µ™I"–VSÔt+œèxŒÌ@À&TYvÄ–§I–Ûè‰*õn~žÙ/Å–Ã(©¤°Mœ›ãn>@l— (,ï`9ç¨Ö>ƒxhHÜkåÂï‡áµïõKÆ…I9-.¾äI² 7ä­wÈr»mÏÂT †+ '¥Âà§Ñ]§àj|-#xÅtv¨p¤7zêÌLuèëj¨4ƒÿøUuíBÌø&A)‚`'›´a¼Í:<¾Ehbžc\ Àë)zbÀÜñÙë8Oè*ZÄnAOŸm>m2¾7÷ȨZ&Ü˲r£—õt¤þ.k ø´j-tÞŽº¯6kÐMcÁ^a“%s_9¥9Ïxȧš8†OÓ.¨ýè|v!L³ý4ꥸD¦rZ<(2LnŽÔ5®$,t ç<‘Ðál‘)˜ð®ÏÞ¨W]†"…¯†Í3?†ÓóØ`…/™}ÕRøäK½›¬‰LTˆÑÖ_pê“E Ç㣠ÁÖ`_ðÜs¹f>ÙÜW丆¹!&¼Á×â/äÎ41ây+#£K(Ó#ôþîýx{P9ð@ u苤ÀáÚâ)—ƒŠƒ/ÿq6N꣉®èÇ$»ôúpÂ£Š”õ£R†Ún¶?„Ù|Y,Aâ,LÁòùš×žŸlz7÷;¯Þ× !žQÓïZ©(Ù 0Á* ]F½Œ˜¹ þT"¯žA¾UcŽU§°Îh\ºGm9ƒú6H:ãqj¤uËëþ+ðO¼ŽB½4õ3oJ&‰Ãiöìæek‰í‚q– a”jÙÂÄެðø2¾jq„Þ qûa#ŽlftNñÀf<ôgJ òŽd³á­Ÿ¥´¯õÜ«©+ölQ¹†ñ"@üD«ìÀxæ}×jsÁ ƒ¸QTÐ`€€V¾qåif¦´Ý˜bÏÓ"Ež~‘³…ž^´Üé2×O[çúj÷üØm \ Sn¾åpl0 ¿‰L¯ƒ¦yøá&9¢%ÀôœAlhb[½ç·¤ü °uÆc©ýõï„38Ê-V€×+™…Í}¸c¤^ >¬—+eéhŸŠ.è5\g¸¦Ûêaä^ëMtŽ˜îo¸^¡Pøù¡¯—ä_iûIdY,ÛIµ ìZÑ_ãŽAî2z¯—ÆN½òø¤ gO³®.@—. |yÐöÜû›£U©'›ŠgFPƒcðs¸PÝø1àæwGLKѦè öc—Axò(sí½¨Ý/nßy½.§p1b­ FE¼Ð-£âeߨz©ùÓ:>¦‰–bÀ¼Y|”½3ÛŠ =kÊÕSÓG»LzÓeW4ÁèØ¯eRXpó¤U~ÒòxÇÚæMs¹¨¡6ÕŠ ÖÀx³„äº(€-¼é1»š.Ôýöb²: Œ>ä^…SréÔè!=74z=ÏZ¦5ƺœ(Ý hËM.# …a-o½(uçYéšÝ£üYòH0Ã6Éb˶ÔA,¾X Hê¾cºYÍŸßÚÍZ[¶tíÆ‚Ë: ¼Ó§™|¢…ùf£˜Šxì-#D“Ûçé'µv»%œSÁz ¤è$ÝñC&¡ÕL¥Ž™€œ";Ÿü5ÇŒE)â~îçÕ39¦€Ò8íÌm½å2 ÙYÿ~rVyžý>*Ôþ–©Ôâ=¸žøJS0tu"¼Ñ%7–àU€7³í<:Þ()ñÔvš±ºå èëTHþ'K)3çrž•ãç»·*n…ŠÕ¼[e †@„Ïe­þ­ö$‘gNžWEí³½q3ƒœÚ<êxìúnÙ"•©ÿú(Œ“ïêñ°· ’„#^Ç……ƒþrXïgã¤b—y\´ú ±êlV§u.¢á‰AŽQÿ˺Ž6X;îÙZ<kÐù®GéÙ6PÏrVèIþäª$óÏÌÞÕ^3&ˆ™4Æ h’lO°·••BÞÚFg^žé´;VÔý hѮ͔8Ç<,ö•úßu“¢gEIcM÷ù0Y)™% ˜¡·}-§ðݿ՘t\ª0'~#Q¡ÒЃ.6ã4®M#󃸼¼"ý{½‚ VÕAðb:³Éd ”Ô¬‡+.¨Š;Ú¸V¢Ëc3°öÅ$‰4:-¨¼A‰ÆFoXsªO ‹ô { z¿©\YûÂçæèíŒPÞ„`Ö­›FǦñÛ_Dž:I_Ï*¡À!Òoö¶Oé^G:pX¿X°ˆSÅW¥IBx-¬£…“_¨¥ô9oyM:¡!â{àv£Æ¯27¹±1«¬ÆZGQe‘ì žfl£ïq˜)ÌŽÁ¯Sù“@!¹0³2î˜,µ0U»_¶ø ¡x^ÔéQÀñ¢¯‹öme±Ö†¡äû©`³»wj„ ÞQæÄö…ɉwÓ·ðŠ¿D³7âT$oÈ:¬¸•UYÕ3RXÇAÕMÊÒMšþ‚¬ýèc#äø'c†5‡˜íëŠé8!·nÏ º,â&ÃöbÉ ‘»ŠYp×b#‹Ö³cëÏs)‰ZU‡öÞb—1{ ¾Å©m› ‚#%ïâ ëefMj£ÁïÝ­Ÿ÷Oà:t¥žHWyˆsÆLÊ%S¥É‘ï¸ù¢4cK0‰x™XÅÜ“€î@Ò82 ƒH¯–½GÌëÁ¯Üt³=¥è/í\x‹z0ËzÄlÛÒþÆA"è2ý'ãúQý’h†‡OG‰V„˜â)”ÀûÞ¶-³×ràdP{÷CÞDkuPóyÓácÃT£ô$uTýiÓ2zÖÞpyDàÔG¬DÓSÙç ‹‰[±üoÇß4—ñZ/*©®ûÐÖ­©oŸ Óð¬³Ñ±a³o§ ‹ÒÑŠ‚DŠ£ª© ³…÷{e6v<ªœR¯]%öû8‚ÎÉ?¾¶?ŸmuˆF†á¤iâe‡ÈõZ{Úc&Vp)ÌbH¿»  ÉÒA¯UìAŒDüå¸Ñ`¿ä¬$󈾵c=úÛêÚ-ó¥°ˆØn‹­ãx¨"‹ÝHm { "hÔO1ÝñÀíŠî©ªXÚ­óÕŽŒ=0¯ÿÄÙ˜B˺ÿùï`Î+é`QiT)ãòuN帩ú1nö|ýjgý7d¹ªG¾›Ch4}ÚlX4éKëÚÀòm.+–+_'™ñ’µPk´ X¹ôÊØ²¡F>¨ÿ¨4´©³“3ÙOg(¸šZåép03¡@ x}eiÕž=Íʳ”›Îœ"È©¯dp(Pà—®'ñºþŸቅÄCfÍcrÙ/ÇpçUá%WңߖŠÞ³Ñ‡¸sN>ÅéìI(èYKÀóñÅβÂF ûóÙ7§tca¼µ@Ô)ó‚ ;4þm«ðÔ¸­K ÁLlíæg«åÑ00xœÌû0ñ»vk‹sÕwͽ+¨ÕŽA Q3á$ئ,Óÿ$F?†\.`#»­\¼ùBDCSéå=M OÊ÷P•ÚÂ¥.w9¡»#0&d}á©â87bQ­1.v<­Æt„¹)Ù.…‡ µ¹Å÷ £e0þ‘ÓþЊX; j¦Ò—r·ŠF›‹—Öµ–¢4•Bô–±Ó®Óh!Ar£.â’ñú!³L“šÏôóÚs€•uÙ3,dnb%Z“:´#€`]¶5%ˆxYŸæ9v*„¢Êô4«À˜ dIÿ>¡¸7&B/;ðLÌ£UÀïC(#ÉaÙÇV÷¸T/½tm sXãZ̬ÎÈ܃t™d 704U£å´#dù¼4)ôÜÛ~\¼Õ‹á¹ÅµTåxæEÇçÎûàöG;°"}çÙÛ5\Þ¸ªd£/œtuÿLH{Õ jÓ»ëBýpÑäsº8Pþ!b5;Ø2]É,e÷aD].Q׿ ¼¦ÏpR„P‡€ÒR"-"*Ë0ýÑkô‚V.ØŸ½qG¦U^¡†]õÕõJ¿jé(•0÷¾—ÉMjz©Q(N”<ɱöR *Š{LK*ÑØ fM¯›.ò3µ–çûh¹HšÌ¼zÓâª{—ôÊk…ŒR±¸ Õ“4Üf-‡Îì*Í#Ï P¥ML“äδȇ¨>v‘MRíÍÜ| ) ÛÔÐ8p•ç¾¶/j2$p¯uLÙ¶V†Øá"Î51lÉe6ο½ÕÍ^Âᦺw,÷û BS  ‚oñ•MŒH&„=³/\(þkRë”}ëlßË!¹.ƒjOujtâåiÐEƒ<3KaÙ|ð}ý3![Hn¹n À„Úç¹o×¹\ˆ2KÖ÷ÛœYRÉ~Qr‰Û«ló}&ÆÿY¤Õxä‘í® q™X)ŽA&NÌáVÓS²“›§®¦0m$§é _áqq«~û“.ï{-0¥€Ü°_ä·IEÈ,¶¬{­þžn¿“c0š 6œSœµõEâíùx¨Ç³ÓM{J 0ÑïJÀ«dnãX6ä‘,ñÀÜò³ŽW?Ó>Scü?+—8•>ÿmBG²<²èÇÏÖ ·þ)½GƒÔÈ‘.}ӧʸ£zƒq¿ŒãXK<©9h"|€iÆ’‡i#”©Ú«wkˆD XîSmwN„Y¤I¡2«J×=½LÒ%4õ%>&EsÇî••oéM(cŠ•wÔËÕ|øa˜K1u©êñiT Äz¤æiYƒšÙÎ1üpÈaäC $^ðÛ¸âeÂùò7¦CC/TPÑi¥ª„í\[K~?æŸh!&-åW9& 2¥JD¡û…Œ©ëAzEAšô:FW嵚c«Õâɽ …0"-ìK-&"à«hDì%,ˆT¦’#bìfÓ!g7á*v«°ú»Cöë~OGˆÃÄ5ú6c°”t^*nÜ=ÖI6ŠQÜ•MÆdléWûc:Y»­4­$;)‡5VUï¤èÕÏnÐñwŠh°FÏC¹”W•9&–æýµBƒî™Àí à8Jàÿí=ºµ…¼iŒêên‡ åS¦±T'mä`PBÆ‘ojäêR›òÕp²(Ÿ-L‰¶va¢¾"^ÒWrTÏ/w‡ÌfZA´Ÿ²B­ü+Ʀ¬øúVBLo.wÅþ§ß¾ sXN²‡A(Žgv•CÌ|meÚ¶Ò*Ñ>54NËâ˜GfÑ#S§õ[:¡ºåcÙЀÊJ¿—ñi-I\k:”¶ïð"ñ½çG°$:Eî—©ÔÌ#4µÐ þkyPb­¤éã+D=ÈÒ-òæˆé·X•ßtˆnÆ_úûªìØ·èü€ëœ£…(¡—WüZ‰ªæ ô´B•§¯r9û¦Gç­5'‹U,7XxPСnÙ„âåùî¸eÔ¢­êOc® ‡;æJô—|êÏœ~•XˆêÁ1%¨õ™M³÷­Ô8¶TzþQFU0Khúìí L˜£"‡ìËku©vŸKÞpÝEaÈGb5Ýx(X¯º­“ÉR†Ÿ‚¿ܘFÝû7Jªî0zTEÓÐ]õzdWð)WHšlïø`1ïU >3 ”üã5µ°àÈ¢}FÉ‘’yƒ8bçàØ1£n#ãöŇ{M&10:¿§;I;L¿sÿ¾  ¢„shI£ÒX|‰…8—lÓÂjv<á×ÖeÂoU œMDóË“>À^¼˜×"Z—½¬\½zÆý¼$§Ù¬|‡»6Ñþy61†ìkâ7ï¼—dî;‡R¶–õ6bÊV`Yù˜¹å&†-o[VÞMdo¼9`oc’ÐÓmÑ|¡>8·‡“GñXÏâ]µçí“GU-v&uâ¿ás~Á ?—ödEÂÛob‰ÌkT» Xw{U[¡Óp©(óéC®]4/5 HuX±tJ f_öÐt¼-nœÑ§&~L.p^Ɔ’Ø©—§_Ž-:=/%ì’ýÈÉ| –ZÛ't+¾&za¤-£ïkÎCà e°Iêz•Jý¨q¾#l;‚mõülj¿æð×q’ev%o¢M… {®æñ1[Z[êh1[sê,6q)B®Š)@åÈŸ³ÐH’,fëèqs’Ï:x¨ÉáîÚ!zœ‡œÃm6ñW/ByfšäKJ’Ü}Ø#º8~J°)2PDÍH,Nº{ú¨û27\²0 §Þĸкþ8âl+eÈ{Å,¡t×oʲòVÜÜW=A›¦µ$‹F4ôn¼Ãjޏ÷s…ñ̸Ö4Gü\Ó+¸ç„ÒìtÓ;.ß.ñ3ö“WšUëð€«ŠêMEõ 3Ù§^ÊzdL–¹^5 ‡´è•÷ M•y­@Lß“½R‚l8r››ØÄ”‚þw­û-"ß3]o󙜙ðZ£Ú¾)²5i18@zü xжm²›ìg«”@AJ¤Põlî9âë<¶ª·ª‘ ¼›ïÊöBˆ0héƒ7®?'²ŠˆW:]=ÑÆÊµD¦ô$r^NÀ“oŠ(ôâGûÝ#VHEÎ~tOvÚeØ(žî}LÈã|ù G¤»?"NŸ Ý´ <˜ Ö®0û7²` aK¨"*¶Äˆû=‚H„fuÛб¿(<ò™¥˜a(ã0$fsÉ‹YtVC4A;|hb•Ñcž"³ðÄ‚Ý Üy8ª‹¶àpÈ‹r}õ8[Þúù¸m|™€ŒsÙµÆ - N¬Z÷Œ&…â;½ÊƒÈP™m tä¸ôOrNØ÷]½§ Ëkéìo#ÿ!š_òw ãpÉ‹Iu((­ƒËˆ(ñ”!^[ëRábVEhÁQñ° &+jɸ sõºÀ2eÞcÓR®À2KÝ+ âyc-ž<Þ3K {á6¸ò6=‹Ly8†£:p-ÿ·ÓZðD!ÍlòZc B’-~â® ¿À6ÁÛo[F„—QU[D3à÷‡)Ê=Y¥¬C$áѧ&iñÜre shð¯ÿºC3úã=h:瓈j37‚QŒ"¥ºï%Eù~®Ïnr½¬xZ€¦èÝ Hˆ‡ÿ¬Sé,O~½Jh—` Þ®0Îh!Í)ÞSÁ õVuþt„¢öá«®Ìn¹ Žo z‡z"¡,YBog¤îã“?×d—RÇ §yQ¾Ø>fÎ71i÷ÿožXË·îíh¥ó{v79ÏÅ_·°2 þ§!*°³*" Ã]){D§}™ï ãØŒPK*¹‹n U ‚¡Úk ŒŽØ/ÞŒIÒÒÿøYüãŠV„蔼5G).wÔÊyä⨧Kv\èMEâŽü3*NJs’Ìÿpæ½Ïl,n¤XhŸ’zoU¨µ{´GõpQr‹’¡£œá7óvKѾ™Ê™û0®V$f¶`}Ò>š>ÔúNŸýqðŽ‹·MD¹äÍ?-ÛT¸„zö"ÜÉø)«]w¨”»wÓ¡ê|V+}ÂYÜÆ`¿K¢zþÔo)•´EIO½1¸:¬T€iR+ü¥l’¡S‹ÓþŸÀk¤¥ˆ`…ÅžÓ/uðÒŸµÍ8p:‘ÔQ½"4ç”ãÅ^åŒñr¤s°)œ­‰ÆŸõ5ÙM¢?SÔf€ƒZQ»Ó1Ý În·‰ƒ´É’Š8÷ÚÄs”œàÛBñÊê]ÿ’ 1bê¨ÍÃ6o Îù‰¢ûÎcMÒ¾5ƒç¾Ír' JÎ}tÝÖ‘¢:†#8wîF?%typ_PtË3BQ&iæCŠý™Ø,á lMÔgÖrß©l=¹Ÿ¾k³”kU†c•Ù·=ƒL.ÙHyl}\µZ;iÓ\a™W²ŒŠß/_ ¼¿Žž?gf£éˆ˜ê„˜ïÜ’Äxdy¹†8,åÉjOïrp[Ñ@œÞÚ.Ðd»³dßÓšÐø¼ÐŽ`k2žhÓÛ†ß 0š¬¾Ì8fö¶¥}ªàÕfò 5²ÃDý_Ò® ¾åZ_ &¦kI1¦óêÊr6t´]ÚÖÜ(ýÖHø†4Òû—ÿmU‡|²é~iÛy¾ÔyæZ8ݘ)<[¯%Æ­ƒ o.âsOðH08Ðç I\Öªø„“¥x{y5ùÐ’QžµË> Pý‹ïú‘ñ¯/ÝqÜStMì)Ñ)Û }‰.1që¦}5ÐÞ[Û§IÓ0â }Ÿi*Á”Kå·,œç×æÒ§×Ý»qBRúÀÎê¢ø¼Fë _6ÞÙ =ó èœÈ_©å¡ñØNÖQ¨u³Í-pŽ÷*y:V¢wÙi¾éígÓÔöså¯\ iF=R®_°ˆ…PïØ96!tŠ«Á¯"G¼5å|h“œ72•-H®îáÙÝH±j@¤0d»Nhl ·ÏïÁXT@ä÷­d3«š,¢>9÷DÅîÁlÕTª¹½U´Pü›p8H?ùÀÝ=p\ŸNX?N›Â-ž#ú¦2‰ž³ »Úצ…}õ ËFl±…þs)E:oî)Øf€°Äs)Ę%Q2€ÛZª'?¡s 4*ñHÿ ¯×m™($¸±:ßZzüÁó½ê¨·Y/ë®Ö‘y§½ym¼Œ6ß'„:6]‘ œ,À¢o¡ÄŒ£bÚÒÍöÉüÃE _¨V3bÝ“†&ëí™Ql‚NX×bÆ6%dœ„}‡tA‰þP`fÚ–AAúµÔøøÀˆÐrÚên2Ë Üòù›`©ÿ&?³ (Ò(’­Ü}ÿ ­K›jUbnÑ=ŽŠs3±PîþÒÓ¿ i܃J¼j?šÐ±NÖ±ÞRâ0ìðŸËŽ6 !©»ÒÆãKÚö¢%k¨½÷Ç>4Ûõ#É”HPÕ£d ßè=xŒp÷¢½#:„Õ¶Q+ç„H†‰²È–¸ bÇN‰ÁSSH½tK©ƒ{KW™ UH-ý‹qY¶0ÈPÐæg7 —¾Ê@Ÿ‘v¯á]SÌÅ$¢{\ÌÕ¾æCð€Kãä£çi·!œ<(•ž¿>]ý±òQVn”ðÕ ÇŠAˆî¤>ÊøÄbês S‚Rh£>óÔ†;ü»a ÊCLÐÒ™÷ÀQÝÍX/‹sN«V­ŸuÓ§þìÿÜ_Np—¥#íkßgjÛÈü5Mo@½Ú4Ah &!‰…XjV/5á®TN’֡α^¦~ßMÑÞBj­òå6ª ž¢¥ô½u“6#ηÓÜãE Oð'ì©ny~rÖK@>´ªú‚]x|'„Û<ŠDsË«,<6•="âÂÜ‚CIYþg`!3×§†¿šO(ŽU–\+½ñe÷üª žPö¤qÇïÌTÂDR#ìüÖ^iÝ<ßS‘NP ¹AD’Õ},¤‡²Ò]\$çŽ12áQy±  ,Aegºe„r¤=[• @_¤Ž@£“DÉG1!ÑÕæÂæÈüÒ8@qÉ7܆kTníªdÚï(Qò˜¡ßD®y¤W¼„ùe›" ã{Gpß™qs ÷ÐÝÁò÷æT©,ËCô{¦UåHq‰n×!¤ÅÞjçUˆÞFÑ}d&8_, ©^†ðûÀtaÜÂ2¼Øs_k×ätð”ÒHã^¾»'5)ï8?RçàÅ*{3ë[â óRäª~ð¤)ᗞ̮[[—M/Gx€ú¹LÆ2ºý*8™åN/Lwìíz¥yå+ì#ôôSˆ,KøD ˜×‡“ß[zËKú¶AËJm4C ŽFgùâ‘I6\ƒÃE&*æ#4€ü;QaÉ4…©F¬°ïP Lñöª*º¼§´ú„¿AQ…оc™&eŠtá‡\K“a{lÓ4º‰6ã“+f.ÌarIÄÛkýæ!nÔä_jß ~å'ß@Oz‡OÇrvÛ&Û¸'–¿aa·gèÅ„îößbÖo'ÛÌ~ºÀâÖÀuHÖ;‹a°–´q¸ô’‚°Â}ìKgI¡nBžÏË)'ÝÙoïÿý@dB)æµL0 Ó·çôeŽèeo×/`àų -@Sñ®~Çë±Lu‰ŸÊà‡Bœ á‹`¦FtjM é3¹@ŠpÏ(ìMÏ‚fh]·ŽâÃ*ñ ›t€˜ø-iC ÜoŒ³nÄEWnÛîÑa–BÁ˜­%´2ùÎ6ÄöT<ØæòM³ˆšæëöâï;V¦¿Êsñ­|epÝŒŠÓŸ¦Ïú˜r–õ5 ¼yž»¥ôs·”ëkÊ—+ b“¢9+éð,™¥ÌHçàL’aõä7-Ñm/ghµ$è§€ÅJЇ‚Ñ6h.­ 6ˆD­QO]‘öŠˆ0¦‘Ûrʉï\ë*6Ÿ)U ˆ…ÉðÐâ0á;yuxGn Czè"­¥)\L×ÅÌuøœa:øxbF!˜¿ûµëÿÓòUXËô[™fòôîSû)Šùdƒ%=pø[ƱM'ÉW±”·Ãsqþ¼™‡>8{† ^5þɨºW¢ì‡ÆžÇ1k9ü'½þ •;`êiÖÂZ@’™UùÄÍÇÝXÔ Á 2,ôc¥2u°°‰-ùapê$ñÀ½TN“XÀŽ6SÄp¡XGÑñµÓÆÁ´›Uhux]²Ñ=CUl¾ ‘=·w°A”'PÎV€êuW|¤¯kÖúŠ6eü¬þ?¡–Ú@?±ÎN>W©ð²-Hþ­É€ß‡“Œl=f?Ýܰ¦[T5ÏRˆi-¡vŒƒn´DÊŸø‹ˆव Å®Ñ}äÔB¡»ì¬ìpYïBJ)¾ ê¾Ë!ã%vïº2Êßš£áI1µ ­É€õëU½…2-1SµwŠ "íÕMq'Ï‚:…uÐYªž–¤=N\ëpò6—2¼†è¡Ièì8EË®ø.[My ¾ÐHZ!vc¬Ï¢Â[Ø©ú?ÈÐ'Ô¢of–úE`Lv(õUcexÛ9dZÁÕy²… M²Cö|‹>nà›…v:%ç<ß[®ã•ìMÜ~β"6Oo½+Ö³9!¹d®öx߬PÆã"{Hã#]?‰Ô¹PÉŠH6âÈ]ò“à4„ÙÉK¢äM8ëz¡4æ«FóâìžÒS!fA. œV€ +õÊ Á¡ÌÙ<ÓªÙ%ÈPë–\¨+QËñ=¬ø@Wà™,ãécÐòh×åœØijç'°?(žñ²ùdýîÄ«l³÷ö~e­29 ëÏÓ*elfìfâ#Á¬“胉¤æ"áÆ­£kÆmD´I!Ћg{ˆáˆÉ|ìÉ‹í¿«e=pø†øË”Qõ{V÷°pÂv2 SHu®º0p'Vûåú™߯dèC¿J¼` qrÂ@ü5žeÈ‘$mjàrâûJϾ,¦]þ6[ ÕÂ8¶&¸$ C¾çT"Ûó öüvÐ|ÎÔïѲž½cÚ‡ò{ÇÖõ9J_5Bš4Ÿ}¢åBö¤Ëç³ùf^ÏJñzéa袴îà­4k–ÞÝrøœ½õ6E‹PÆ‹4Î'£7À´þÍéÐÚÓ쬗8xÍÆ•‹ n¹å9»™†"¾)cÏö¹fÆxn%))›Cûg3ÈBém(õZÇ8³ %Þ¶àçäÎùgE¹@9q ¹ÀïJo^x5ì¹bL¹…kòèqd¡÷Ávgá=EÄ& =¼q“ðß’C¼aýßùÂQb`ÊܸwÚøÒVÝ*~2óÊ€`ÛÃ÷†HmÅ÷Ö!;+ÌÞ陞ÛÓkaã\XHÖ¿Y¥#›` aŠA\ Ôê‡`z¾¦ºN tô²*A*Ê¡`M†š^à Ý*×§R·¶=GÓej¤ZÍ:b-ͼ?»–"´çæ+‡àÛ}} <$¨†â-Ž>©#úìjð§&‡þ—?ìŒÊ-´~˜V’·wÑÔ\+qYóvÔ3ŒŒ]îÕQøÅ .ü2 2cL‹yK±KèíòIÖŽgsAPP˜ZœœË i[ÑQ¥gòê;˜Vùdÿ€:«oµ¡sNÀC,$ù§x¼êÔAP­VbXúJ ›èŸä/#n·¸T“4|¸‡ä•é2Ò ¥'´h¸§p|ò…=°ë)x-»•“#CM™NÈžFŒ¡Éÿ(|±S4ƦL ŒðúI˜ú7ʧÞ¡;uæC($±Ìe“‘Øç¢qˆ˜þ½P©ò±ó…]§ßˆOµ3(mÔ¦Äj1Q¹ÁHÉš6’ô’+œ]Ý]‹¬ôWÅŽÈß]wÍà ÷±†9^[Æ®lñ爵l›c 'p¾–Gà´jcÊþ(e7µápv 1È*#‡v])ÙÁ¥¯²ƒ”=‘±2ò¢Ñž«Ó©_.MWÑâ=jÉK ¼y”ç÷TƒõVo8v`ÓHC¾@ÓòªÎ%•ó¿—E}H õÇ&¿Q¢ü[P>š9q <'Ð(¹zCtv·L*¹¶RB­ù*î&KÞf{—{ʈu KJ0eÀ»p—GŽóf «—χBÀ‡á´Ž{ÛSûª °URÇ,» fqáâªÅÿvǃ 9 ¿¨²ly¨6˜U=°%IÚtš-N˜hêÁ»±€~üL»‰>»têq:‹DÌÿûWꟓWfŒªe«É?$ÄL^Zø8i@š[~¬ì³ V€›%O(Æôœë‘áòÓ_>¾LNc®8TRXÉÐÖ\ô\÷Ô%S@Ü{ȉ£FÖ‘²lÑ—éÃPUî â²ï–y@«}â´ŽwªØ´€é;ëÊÃÎu¼·'Jˆ#6m¸¸¢è­a"ÌDs ^åíÄʱ¨“@ÕxÚºo:îºûL{Ömña³å— hÊ$B >°Ä‰±`ÕÞÇ8x¶vw^ôYÎZµ|´¢°Ê'rýðõ`f~÷?ÐÛk}âígºnÑÕ–ƒ…ÑSsÙ¹\!ÿ/•®ï{•bãtˆlÒ°€ED†ÉÆ~ÃÛ·|Ó‘eVŸ5¦bÈÈ.îàöçÒ.ßEò)J2”yŽ‹(ö„í¼ÀH?ò¤Ìµw‰YËì²ðò#ŸoœÕN럯t4œ\žk·fŠ"ítçÁÏŠ&)\“>K/­ì_^‚m4Ë3ší¸RÓ´ û\ãOîf]HØ# Nca¶;âͲÂ<9›f­=’ÁÂŽÂÕœi•ž…2-Ô´´˜èM(|†xR‚êx!‚;*a^b Çf¿KNZðþaO”J׺÷üî UQ4u,Ñ.zÌØ_@?äc« ƒgÒe˜#’¶JUDÌ‘S™œ÷ûäíÈò̤"´ó##è\»9˜@3ÊV¯Î‘FçÂÁô¾d¡ÃÓ9´!f%GI§矼üó¸Ò„øSŽ)'üt„;˦Ü OðÜQ"JŽë¾÷Á`ñhx`[€{ è {PÍ…›uPV~c‘è®=ÁH¯Üˆ¬)$ò Š„.ãÞdùrŠ uÑ–éÒI8qˆ5É&¦–]*HÝæ8%_ÚLæšúS÷i·„Ɉ½&¤Û¢|Л”×ÒÇkX2]#Á—ë~ÕŠ¬¸§êènç$PÕBÑyb&¯ûéÔĀس×Ä" ½_‹??¼ϘÞà{@…È<w?)S<ôx¶ÛÁJ%e£æâŽFÓoüê1ÑÊ8såJ]Ž%¬¿ÓO]Ræ)r²ª´Tºd+lx®^|¶ŒP ›ã…Ï›ïüz¹°nßnºK^À‘×¼×mÈ(Á~µE *L ³H~uHXöÊnÝÙF–~`p³ž22ÙãÖ›ÊòèD ÌãG#ð7#Kc„ò°gù9 9ã(#Ý °æªÕnÐñ%)Gê#½)+¤HÍ©‘»­·„#‡$¸“/k¤½ (—^k`åø^¯öålÝyõIûÕ'àŒ 'ù­ö@:w=´½ä ³¥©J7I²ïÉß4’©U—¬Í‹è·+óz l¸ÑK±ÒYcâ°ãé –`”õ+[é@]u¬Áy?³y$Ô·'j¶†?DU9¢ñOäj˜Ý+—í# »l:–¶0óºËPT¥CxS+Ÿ9MͲôZ™”8„ù ll nöY4–N€QúqÛÑÈqgÛÑ \LÕœ¡Ž>®ÈxuËšo±ˆ6×;ÀߎÐÚ=ÅÝ™Áôv{pûP;Ì©ãôß"F²Öo7Є§¦W&³s³ç¸ ç~À“£à@½Þæ7ÿÜ%Ò†&¶ú±Å¦égˆ#ç;§Xe玻ýwA°ºX•µç½?uÕ‹9…‘o T'ÖÃ܈ª«ØºãöÏÝ…ÿ„‰Õ™îLw7H‘ÐJ>tKÞTŒ«ìäÞ\om õòŠŠƼÜp ›cZö¶C&CqÜ Æ?Œù®¹´ $`ÔàkDîGN!‹]è?c7ö¾oUÁóÝXw ó€ªê Y&¥,vخߘãOÅ SØr?…+¤P…%¯dÍ“–bFìÿ4Zäïe 9YgAѬƒ3¨n—ýêsz³4|ä °Uâ­ÈƒW%ŽlÃuŽ9G•î¡üEô.ýàk´M ÏÐõ_¤H4DÛ®Ù™]ä|P1’íßüÔÅWþFÅÉòÑÈÎ2SÁ>°oâ=âWíµ&ôIÙ†‚b,z®ëwœòcÊÌ%ÍÐãb÷ñÇ7‰›º ¬ñljÖRs™š*NaQ²»'®¿å&eÉ=áëú„M§w4²Ä ²%‡…*úNÎlÍ\¡Ð¢­‡9áÇ©jB¶AA…ÔÑ3‘…ꩱk©Ië¢Rœº!ÙBpok­â®‹ŠUWAd̉èµúø㞪Qíh ÷I¥øÒÝl./+Û¿Ûɸ¨Åf¶ÞäÀ“ bM‚¯ßRFÂ,3¿vRÿÞ%ÙRL÷Óÿ¢[‰úØUöËIñºô‰ì±ÑiDó–ÙmsýŽŠ¢É8§™M¯€ó7ø‰QËöðP²ÁîÖâ$HúEYWí’36ò‘Óܸ¦)ª¢Ìª­Dèí<³œFìÅ_ÓJLY¶‘l/ã÷[:þµC5·ë½Q¯\ËŒßÂàËÇ“ï ¤•âCBH£V$WçSW`¶×T)6~Cé0ûšz‘AÆq%…ñ¬+œàØdRŠtßrCtÚÚ30…¨7–žVðØhŸ&`ñ™¥\JÉv¼¹eC> Â÷ÛËh‹Á*Ó»­oÎ?þ:iO]|D[Òi~à5}Ôú÷…Vû1ZµÑ…¬T4ý¾3óíÏAŒ¨Û«Û¯Pe¾|¦jÕ@nÆ‹ìÑ0{dFE Z£K±Djt3œÞ%mõ.ãûõ¦)¹¶?ÒF¥vþ¹ÃÓ娟ˆ¨5Ù×—Œ AƒàMò.j>ò¯ü$Ô¢hXÀ©ƒ?^t[2b!ƒðƃ=¾Æ„£%•øAanh(ݪB=Jqiq³=&Ù’ò¯ká¡‚njT=”êÇ/ÙÀ¸J¼Q¢{Ž£¼M{Yõ®™V3f¢£ Æ;‘TQ 8±¦Ã.Áª‚Òýü=Ü ×€{MWtp~‚0÷…‡}Ý€™Aw$K,è}]¯jcäµR›@y=!2yÔzSÏ“µ¡ÌÍ“† Bœayk'tu«W²òõ`å¦kPËÄ“ͺjqr~qç½Çk†¬Rh`;ÚhjKMO² ª‰;×t ˜ä @©Ó´Ô;¾æˆ^UÊîü²ëu^ÈÕ^ʽÌrÐ?œH7¿,V®áŦ~Mñ¸B&L1[\µ7üéŸà×ösEAƒîï:võÙ/ÈÐ‰Ú ¿…–VBÖèå20h̬k)[ؤ8@~âÀ‘9©ÃæD´õ rÞ7£>ýy/J†•í…9ܧÐ5uõ³`d>Á³™QŠw¸7FïQÀˆ¸Ì¨ÂŽŠ#pÖ6€à›Añs° @˜ù€¨^2ºBD†KdJJˆûcõÌIÒD•—¿,c'xÌAÓ·m¼°¬,nôÌ;¨ý—ìÇ@UÔãß±«dû5VnbA‚óÇóïö”ªjI²ýæG¸„ܧ¯™£s¾·ôâc‡w¡ ø#qÃ~Ê·D›is"gãŒÞ%£Cgïòšà'}ÖÐ K±|×>dÌ'Eg¶×tëçº__J±ZjÔ)/sA´1<î)²T+deÍLàbÃ8ªÞÿ«c’€‘h5 [¨kÉ·R ¡Z *sF¬Ö‰Qcw¦§úÖŽB”IÝE÷D„p°OÝ/!eA݆¼WêRo¦ùÏŒÜΊbX,>ÔŽJ˜r+ w";2dÔ–Ä9$]˜š£DEhWÕÛ*·èFºØô÷§ÒÖõBÌA Â”¡ïøÌ;£ÓóI;Áè¬ÕìlŸyà‰"ñ;–è‡F‚€ç²1`¿IÄ…`Yö ïÑÞ;?—û([nuÍÑYôã€dk£Éw!bâ>URäŽï߫®S*—ârlrq¼:ŸÇÉwd%¹ƒ ÁŸ]O‘BPTn„A´9zg¾z†ÒcH6‘Ãñœg]Ü|«ÔÓ~“ëÛËVh²k÷&'¤"çsÝ^-S eË‘9w¬_Šs›S‚S:Ùl¿\KöOƒÛmv Ñ/³ßÖÎ \M‚¹ÀW’,gŠƒšLr”³¦Ùêýß1Üõv‹j÷Ô ³Oõ`|í§$®VI~0õˆHÈ͵ĺ%𢳯lšü®ÅsOG`”\‰ì fÊE&™oŽEtR˰7j‹XÅÎM©¸¿ÅÑØ¨Sog!ÅzYuÑr 2næñTg`Ê×ÞSdmºÜk%€#©«*ñÕ…ƒÐ3{¢, Ê_7µ»jC¹ –®y\—5šhn:AUón\5J­“OZ½VÙK³}¡s·ÎCË`³Õëkñ[ýŸ ìæ´2~Ý^ÐÇ{-¼£Ë¤OÏf L,¸Ó¨þ<È«0ÍÀ@“g å~6Hžâ¢†L¹¶gÞ‘U7†F°`Þs:~LJ«4>k¹½Œ]ûñÎYÏbPz§_JýD¥c|‹'y£ 64{¥4ݱ '³ü³¿;‹dÊB˜jDOFÊZK;L É÷骭KZ54ª¼[1wø½WódmÓïÞ(ù€ÜODf%Ø_–›oeóÜ^–†ã*fÅ]p·t¬½ßñ ˜Ñ2€n˜U¬Œ$÷hÛ aüþJ+ZŒCÂH𑹙jI)v“9VRN0èÒ2R!ÌÀèÄ¿ÌÀžLyáÛšè›òäÐ.óÿñÝ}[ºnÏipÀ]Eæ7@Ê彯–ÁMªÿSQ†Z¹k†ï±"¼ø—Àš+¬aY+@)x~»íC–/‘Û[rÎË8¡2$ý» }¤ÿ2ú£>dvïSU—i®Ñù—±í¹n‚“‰M%§R$RyRÆö´êº›C&ÐOQqÐÓÇŽŒœ+YY¿a ál(nWMñõ˜ÒçÑ”áÉkÛÀ©¼$€øMô¸ïŠ˜*Æch0GÕÈ„zÁ‡¯»R8·¯=§ †§°O5®y÷B¼”ÞßÖ“FE­¤ÏéB‰´1Øç_qÍó`•¤)EKa§Ê‡må+•É,á 2Å#sÝ{wÀßúôKØìå&4pö -°M¤Sdd¾¤Q·vN‚ðîætÖÓKÐ~Œ!Ìæ’®I‰ÜÑÈQeOeY¶sÖð™9Ó™štA•"·¹T>³Ÿ¨[.Ôì\8ÆevÊþ&ôðŠð(Ù0ÙgëñNÏS·[´jüÇÄ$Ôy½QŸã@P%Ë‘ˆA‹v®m俼YW¢«HÞ³)œÅ“ˆ–g{ÝÀWx¼‡MG·üõ4GŽ©Ý ie€3 ‹aSA=~/$¤§†(+xšÎ½T—å‘Ä÷eßëCã ¿ÿ\:rÓ™«wûPF}n:';Q#ÍèûÄÄêÞÈ—®O90’Î…–L¯çÐVx l@FIaDY¦þ˜ACí‚/šîñ×ÔîÁÍdÍöéœC Rú£-ò˜È³÷*ŸíÚØpRÅ[Ž8¨HêQBPͦ’§ScG$‘LÈR©±Ý÷?óLP&]}¾ cqÆjgзÌÍC8d¦"y ¤SÄ×gÈÝ–Ø…ÝG.­ÆÆØÝùݲGj£ÒÁ€©Ô›†s.…Þ9Ó7ɇJãXBºÍ£Î›Jß²lçOvTˆoˆÄ~"CÀ ‰’ƒFºæÚsŽª[×G –Ç¡µ­@‹hh˜wàT.†"Qʳجœ5E‰çšgfÏ•¯f^¿\ê¿'m »ØÒ†á§S²Æêÿ ]î+Ují¹ìwt°¬dÜÑN}ú­ ü瀮[Y?A¡ëáäšD™€LOø·xÂõŸUáH¡*¢ikçܦ‹ºE¶N†ÆJÊL¤Ïìr²vç='¿—YBö+ÄVf:‹Ðú s¯YO+‚H- “ð sÉôØòû±0²¦kõ±î‘îv„^ДNØLÃ~æíd@Z:Ø-ޤòÜe#ûqÞ®@1cüSWd‹Gtó̪׾}‡íú˜èøqÚ‚²Ñ5#RÒnè‰åkÖô5üM8†u`£E¦¿ÃiæÝˆúš‹RìjE+èöÓ™Ò9˜ z<–¿ÚãNj,Ù¬ ÄQkÃnæʰ¬®‰S¸bÙmú/š±v´÷a{ÛŸ!Љá‘ï)kå>fŒ]¸ëÞ]Ñé§]4é'cõ Ö$³_‰5¤Ÿ‹œ/Úä‹"ø*ý@´¥$M#‚”ðGÓ¥Ã!Tª6 `vô$ð»lœžuTޱû"ÇØÜÌTƒ)RRv[+4‚”iõÏNB<ºÛ (lN¬="½¬¤&¿æÔ¬¯Q>ÄcÚ[eù „´OLYÅN3 ê™(©íá1M ]§ÔlÕù. ”¸«â—106,!:¶DÛ*ëo¹#g7’ì’↔Ϫf¡†-ªv;y>Î(L³Ø“yðÚÇþì“¡J2¢\"a,Àìä$}xÇŒY%¢ ôaÊ´h5íüL²¶ïòHhÆüì°Ç}Ë è½¨ì‹Ÿ>¾•„¨|3½n¥IeÄaÅmˆ6ÏgPÆRKktý.¿Öz!ò ç“{2æúY¶H׵ʰp>\•ÁmßïŽB:;ð°Ù.kÉ|ã!±ëö„q… w*_¨-Ѹ²«)¹ô‰¯‰Þ—&Yï¨Ñþó ³ÚdwÏJïOÖÈR†|Í+|aÝo3Ê¢o&ßOÇwÈ…-*í¡ÊÆB/ܯ¸ ÔšaE¥Œ‡.4SÑ/ºçí¢˜¢$“VÂᢨòÊA½¹+‚.o.’÷Åþf²‰êÐó ¹°í+SÛv@.䩆Gúãú»Ir<Êá%8¥tÈ›¿ê·Ø—–áeZì/U±T¿üm.•ôÝËrñ¬2‡/ÚÔÖ²›¹T, ø XIÈÚrÓò¼¸°,i’Ix·//‘-}¹ûµ…[ zƈì 3x œ¶@Ì…×%üQ÷€>ñ+ö¾0íû¦oSžªoTº¨IÂ|H­ß”ážSTïMŸÖ³*¡Óø"~>‰¹éqü· ·ÚôÁ¶V†ï‘AÝòðûMŒDTQ"i©…Õ×ÐÍ Ã=RÎ+vLuNí°×™ÏçT(u½àg?Ø^83~^Œ.ãW`ÿQçm1SÔÊ>-`Ÿ¿þxHW#è$5¼"¶‡ÍIܱ`q ^ëÛTò¼4©›|ðü*÷éÝeuâûꘔÉílÉè-Q௠4§¥U Û`IE×[xônˆ¬'÷Œ$ãõâ¿ÃOp/ÒÕÇ2J®ï;ÉWwØ$ åð¢#aÆ`âE÷lZ"”Ƴ74›¬èrOŽFNS£åøk7èca!Sï FIÍÝçת‰Â¼j‰q6N×ß“ÊÁ¶Á‡ ÅÍ´æ€@vBšÂÚ£ï¨wãñ¶–±™I¶{c¯p7È奨‡o$ÊÖ–ÖÞê~i p'4¦?\`RÐ ?$wSN›¹[¢FÝÊoJ€ãMq §G]iJöhm{¦Ø¬¾,ÎZc¼¤¢á1@>·ýk±´¹ðÂÓmÔÇ̆Üt@v1F‹H„H):"_?çãÀÌ16€äÐÜJµ¹b·UnW«LÔ° ÿ«0‡‡ …á+ë¤5%ÔãM@ê’ìL¢®”Òb¹Y¿Ï°4_Ìy ļ'!®Ù#(ë·æâÂ%DÎùbü 0XIA{#Æ•«³™VSüÀýùаë[äW ²ÑçLpgdôR¶Ëe«K¡ÃñT¥§vdžN`à_0bù9i<ÂÅà¸ðFF'çoÍ#_Iþ‘X]ˆs3m&Ëù]lßG…Éf‚X1!$|=ÊB½lúÜÍýM# Emæ‰F¿ÖÄþ]:´}N=2½nÃ8ÿsÁ€²®5kqðë²Fæ'3+ŽVëÓ`?X_ñ¿$ýÿ͇š†„ý  yižLÝ”JMú8Üg§VÅvEKK╎‚q­ÑN¨ƒuž„1<ÔyC˜Ú²ñé)pÇœˆ,ú—ð +Ë󌤣áÄÊ_ ‰á 6êu1è›õ%»hTrui:2>ˆE l[Žwó´“7n=y–ÿ©H^¤ s€ö™ 5• FÑF­êÄpúí~ j¾©4%ޤf{Ô{Ðù_Šs}°À˜‚¬@I?9µ¬/û¸Çé\<Ü5]äÜ–Vç£fÃɦé›c⤤-ävFHÆ”o¯£-î¶+èÉ3|SÏVã³Ã«MÓØÿkq‰Jé'u"Ƭ?­>ɼ^êw‡P@sž»ïƒ¢ºùª·šŒ •Pkâ ¥‰Ñ°mP‚¡¥§_§ööŒ†Ç59ÎaÐÍ,növÅ6ò‡µfn@â‹zÇÃ<׌¤"kŠâg¥ áåk{ñ=¬fÿ¯òBÛ‘ëʇ¡7‡Ë ÐwÄu‚º­á•×Õ`Mès/$àU †~xÂ@Ï2£)ÀÕÉÁ’y!yèx°Ãâû’ª­iŽÀŒ?£ÕÙV)õl¢Kc’0ûÖl¼†±'ñØ-å›>e®—(@¬€:qK¶éµ¡jxó „÷ZBÔ¼Átó ƒC«9û—šrªƒ/ý)Z'xõË ™£öíµ`P°ûßnz@´ï©]pb"¹E).m–AÅÌ,u?>»@1Ù=c¨kœvðÊ1Árÿ ³·ÝSÓT½^HÍyŸ9?Á¦]éºnm3·Áàzåõw( ²ÙbÎËv>f)Ÿ¿ãTnYª° ›NAŽ&ßèÚAï—H˜G. ß“‡õ³kø˜ä¯’5Œ>)òŽ’Â‰ï Ñl%­½½Åpgh¥ÏØ.ä¥üS‚_] ªäŠ~”x~[¡Ò"„˵ ïú5ŠË¨ñ1œÈx)s;Jrz…’ãáö©Î/MºÖ€²ùxC¥0¬T¥Q÷1Å1\ŠçÙK§±¯€,mÌÞéd}%Åñ·ì‘G‚“Û÷ý®fÛ– ¢êåÌ-Õš"Û£xfz+ŽêsÓ8Nq‰|ó—~—‡ œÏEÂÏC²«_.ÓØ•OÐÙìö{rÀc8@B6£Ce/jþ±D¡LÔ@D½ú9žMs·m³Ã¶Ÿ63Ç*°|v—ªSMÂ1«D'+kL‚ ózõ¿® ·ùöÜÐ8ægÅŠKB”hýN½ 4H)Eð{Բ愖xòöĽ߈ó§É2CŽ—1„Ö")D@ÖG‰_"Ñr嬸¯À®/¹¤ðS‹ «GÐXœ+Öÿ…k6Im¬óåÒFÝ6ÛÂHrf6ú3Dé„eƱքôЩ¤Éxo«Rïpžщ©$ýé$DÜíwÊ ¶m¸^JG@DN ˜Zä“ Í P¢åº&¨sל‚wÑ€ê Õ¨`hgÿß7ùpêü4æ ZŒ}…#Ѝ‹e¸'›š”jÿ5çF‡h¦š ¯;z¤.‚µß×%Ðþò©Tëžù?‡9ñ‹Å8ʲdDÞ‹è!fC»±âÍ£jE¥r­•ù[qÒÔÝ£(†O)ú4z‘²]2Z^Âæ´Ãît\xÅ —!7ìlµí\ æÎÝ'Ê’]êm`,Tn„ÀöskÎ(>ÿY qKñ‰9˜®‹ƒ.¶nJâÁʦ>ì¼ÿr9]>:1JMx7+ï(P Ëpç[S2*iͺžA"¾Ô»TäØ?Ù8ÛB7w§Ø³Oô%¯âꔥŽÀ4ÓK`7~±Fº3˜§€ƒ|1ª»ÑÁÚ M)‘„2Þ¾^ÅÚè”Ð6ެ”ü[f'=Ñ^oT{Ú…Ü?C4¨'!°iÖNu …<þ1¦†çá¬)ùi¦šjMŸÄ¡©yTÍÔuIט<9ã~‚÷¨A•×bÏŸè«[˜N&C„ Ôy5Öæè4‘y‚ ÓRw-vˆm½Nï3lÜ›ÓÚªòwÜw?3õîÜQÆŸ~SeòˆÔk¨_ä &ô´d횤šÛÓ™I ìv÷Ôµ³ ±#¹‡USj.Ìë´ÄŽã5“Ù-û ûX{«6tpîtºÏËHnl2'ìÌiÜ]ÌvŸWG?ÜŒÄW;ûw­–÷8Ÿ}û..g/˜]esŠ?‰ŠÅ0óDÒ6ÍÜD²‘°¼l‡{©õ3U2±Ÿ~ü©‚òϬvŒe·ÚÕր绹J9ÚßQUÙØ†îÓðÝMÌ7)[ÕzÅæ¢t¼”5µ<4åxÃkÑÇ *ñx‚!ܧ‰×¶~hp™ûË)—펳Ú­%Ú 1‡\[€ GâÔ8<^@$ݬìÒcs¢o]UÃ9yøè!f¯ óý8ì>mŽÝµ~ùìYÞÄÉ;bD‹VL^n8øÕîåwüìÏÀ)ðü87…"ØÆ…!{Šywö厧‘¢=\QØœaqxö})ò‘6›«Œµ¡b`êp”Œtl1={\Š %ûWømÑn´-}ɆMÊg Úñr‘/Y[áÞßNg/àU뜽ÊÂÊ„·u³€1Kâ²ÿXy+ TÂÏ×&opâ.C{¼ŒY‰`ƒ»öéw=ùã+aü'¹%´3e<Ž„0• lJŽåô  .ÑÓÞ'$ñ¢ÎÙ]˜é(ÝÙ\Þ>33„G~¶,ÆÉB6ø9@˜ ·¬·áa5¼ì7´µ€ÿ :WgÀ­wë­´Î[‘ͨBxª¤M•Y:€öD+Š]P¶yy«jíš„6ÀN½(¡ ¥ë­7F_ub>ƘƒÆŸ„“´5{ÀÄ þúR‹^¨n³ ®­¦&Œõ0ÛˆYKѲ€^Aíúh]k=éÙgm–ĸŽåYÏÌ_!÷,yÊŽ–¡>nÝÆFEîÝk5®ß¬Š‚oEÒMŒi½ã&¹„͹FB^†m²x©ñ·xQÛ}¼o Âú)ÊÉ5“f“¢ƒéJ°Í18#+µ¦Œ¹5JÖx öº&IãDšl†zð*xzu'aÄAš´ù^käh}Š[˜Û“ôÈÛ¥ú…¦Ïæ½$èïš²Åêõ×|Ýù÷Ïz“C0=äQBgÇ1¼gåÆm®h[Ôòh¼Ÿ):¨H´>5fRC iðx'¼¥à[DW Ñ_ÿ2öŠ”Ôõ÷ëÎ+`¦\ŠuŒ #Õø*ÊpŸü¯º¼Ãrï÷åEý¼åâ9ð~ˆLla-Þ­GVGŒ-þ$"/'¶à࿘ÈÉÓ ë#ÄÉ” …H7-¾¦º”žOíBS>ò3ËîøDŒ|Æ/–}¤R‡$Ë)n ©7Æ ’é8§ j§\Bå¶ã¯GCFQW¾6X›†|^žþE ÀÔËœ bÑ vqê®×·oŽj`øpsž!>ø9fi—`:ðE¨7 õô 6†RŠëËÃ3£GZQ<_ Žˆ34ÂèêÅüÞ5B¥ÿƒÔ–æpz°ì3ÇUdšÕ(˜×NDWÜkŸˆ 5¥„v€yIl_0©I´ÀÉ+Fõt3IÉÜåò\™ÖïP7ðB …÷‚÷¦A²”¯ÁNÑôÀY€V9Ûd’ÛŠzÈ?¸ûz+²’©W«4Ƥj8ÆGYŠjhßÏ8C€×Ù&&öýä9‡Öcã± uçîl;Ì£qïÐq`qö=…¡b÷6¢JGsEU Œ#%/-±ûÁT?±2+ÛpÓå÷œ«÷™ù @ _m>;«]Пq¾F†y&T›¤ïJû“½ÁTÈÜ›FüÅoLãk|«°œ+>p ÏZŠk-šãiH<d„Çy#žnÐÃÃ/0¼t­ž€ùFçÙ7]¡SþD°LÏ7âk<ÇóPÎ}eM3UÑ,Í ¼¡«¨z´‚#ÜzWÓ"üMÎOÅG3ÉéÐÂBa¦S«ÿŒ8&Ëé%bpl*¢”À¸æá#iR.§¡wÝY&À eÊ¡ÒݪöÞžÝ(|¦žíiNJÈ úd,­nÏDÁÒ^kˆâÞ–•¹âøSIÏÆ~{öÈrm¼Qöèyãr1Ëʱñ9¤,?p@Ñò+ÁÂ#Ç]ÀB0"ün7ª}? öUt ’«7Gú‰÷J|Õ*{kŽ ÁÈxØÐÔK) GŽ Ã#Ú¸Ùc«dºBÊâlИµ7ü÷"mþÚ ÞÀ:qÂdˆ08Xý.ã8±Ì©ÃtÏðmÉat$XìšÍÇõ’|©ÆöR¾î¶$"[ésé,!µYáÊ®=œà¹ãÇ–/Þ¼Û`;.†xb'ÕívµÚv©y8¨F´Y§´6âòª ñ‘¤‘4W”ê@‹L›Fi<‹’_V­¶ç4L‚ôôÉÿaäZžm`ò®K÷ËŸ´`ÙZËc³Í‚‰ZÆRg•º™r&J$ùgü&·Ó;6,;ˆpñ9hööVk½Ûp³mAÈ—~QÐI%-É0iÅ$÷Xäú;+¨²fG¯]c‰”í Žy”Bk¡‹Çß‹™âœ_pÃÝ¡ Ç ¶’<Ý·¡RœµúW¾7žpà(ÙÛ‹Zó{¥üƒU‹¹=öˆÑN=ÞÒ‡Y‚P…*òäÐHªAwÛhÝÕ¾FÄ–Sû2dÍ:Õ%¢•·K*¦©TR^'ƒŸËq´M”Æ—…‰pçN‡àÿò A'W—M?ãßž>>ËKà»çÞ½­ºW}Zñ¯Û_ }E¬mI@2„QÊf&°„ù87'°Î†Œº Ã¬ûõÖýô©g°æjH–Æ-CU‰+-›eqÏ-¿À[jâʈ,=Ρôwêìº\áíÁ%dÁ„ož¡+màVj‹úÑuˆ\”—‚WПtÓšk¦ªPu‰•0bq‚ÁÿîìSføOVE¦‹h:¤:„™ð—Gÿÿ‘mm:Ö|èµd³ý-î)c#–磄±Ž‚“*uÔ©W!‚ULÊüÂ6Hgük¢hã§_k—ïbµ6èÙºÐùÂGAÀˆ*qC7Ò¹†„ïÆþC†«¿TÚ#u(S,bËñá™Ôh°ý>¹ê/½¥›íJ /Ô¶ Ê<Õ ¡38ï`Eç1k',‰æ*L·jHc |ž…„‘\Iïƒ0ç(½Ð^ 7ä3HL+rÑÖ–}ÙîJyFÀ-ŸÄô|ØB­ôt©¦1< .ŸÚ.þOŒú8úMð“QO5°YoÓˆ@6ªH$â¾½á¢<'kÖüÝKïÿ­ÖÔü¦žœ¸ô„ ±sa|ˆþ¹ù(Ë~¶µØÕln(ÕÌt“{Ü:_Ä•ÙôÍ,ÇãD«¤3«V‘¬I:–‰n²Wì‚ÊÀqY²Bø‘¬}«b3”X¥cý¬È -”§ó÷·¶ô¦ÖùöJ0’ ¬‘ Lc]Â\¡Ð hì~–—ê0­nf<²‚.¢°ð¿§Bä~ÏG²¨OšCÔžP\%èg†6øÙÌ"œzb9r`sõ•±ü¤¬( Ï.Sžû @>Ù€ên¼Ð¿?FÍ~–m¥£ä0”ÎXùÔöô ‘%ãý]“G)Ä‘0*MóÎò)¬Ç èqZ4~Î’Ü‘zîšÒî«]O±0Ü/áAµÁr4aÛçà\Bí¤ÿR†ŠE Æ7‡æ'٭¼ºEÅëß5ïü$¼ãàðEbœï˜âƒŽ¯öÀ %Ä´ˆAC9Ò6¸ìbÉŽç0®—¬tUßWðÈ8›¶ ªzÚÞ¶9–ª| Œ¾¡HVŸ‡ñÍ3ŠßÃ-éBûhe1Ú–¡D­A<`:¦cêCS¨"À«¡_‚&*¹‚‡ùi¨X³ë€1Édˆ"¸—ʃüq¦nŒx*= h±‰£)7 ^ëZðsi"€¡«›&Êñ?bŽ ¸ã×Å*ØA1è…}äXΦ™wvXI£R-Ð<Ïÿý 3 0y„Â&sÌ2‚&Ñ[ÒÁ|ymšQEàQî~öO‹éùŒú,·mŸC¤±2øZgT$¬´5¦®%™‹M6LVÉ“¦:µ˜X99 ~X¥H=°‡”„g+\÷ /ÿR”Oe礂9àÕ(Ç„ s\«LRPEu^Ü£œ‘ÖgigCàÃe°H¼Í$Ðïnò²Oµcô,õÛ><­¬ëã%òÊÑñ¶è˜Þ .F=Þ±PøÃTU×Cfûż¨”C’Ê…ŸtD€H{ãC–SfƒÏ+àùYžX2­#ÿÐ}Èd 6¼†ñ ö+%‡Ž>ò$Ä,Š ¢7Ëc[ÙboGf¥Bé¸Úôoþû`fÏPm+Ï?&0FA¹9½Û£Nú½Ú ú²—ÇCÈ?›‡E¢¢iÁ‡ÖƒÜ½Øºíú£E›Ž3ñ‡ ˆa9¨zí_Ê.FÏ÷doq·Ä;c´MÐîv¯ø7ÐÉüÚs{~EjNÔ )îƒì1ª,9®mn=ùQl¹ËÀ‡ˆo®š§swù° S1MÆ‘¿;š_ÝG¯\ÊÌØd™´þµ .±a:NrõæŒpÉL"ß6”¤¹ã‹—˜Ø²3Éžâï·)¢ÿk„çõZ£5Hµ‚V5 v)^ó¹TÁú ÒªZ[é/<‡ ¨2‰ì#p5IÕ/éRüÌ/?Y»O•gŠ«&ÂÓP¨a[÷ad²Ÿ¦0çwþˆ<‡ñgËÈð…¡¡ä(œÞÑfW§EÉnÃè•gLiû@ŠÛ_"Ltµ”Aú9«ø<ŒcCÖÏÚ–6+Öýû]Æßõ×'¿k½›Ïчž-‰¸ßëe¿U¶ýÂnv7™»í«E£$]Wö.sö®__g8Áê%lTx¥ò {­_ÐS1B5$Œ¸ 2vf&ƒ0–?¨ugÐSm"b@Ìpfó‰G¢G칪íÓì²Q3ÄFÏúUV–òòƒ¥À%²ÚÙ_4Ü”‚Êø.:iPÜxßÓ=æ`mb—MRÏCõ¡á‘Á%(ý”¶>[†ùåÝZ•¢0¸q¬‘/m`¢ uÃMаžt ܔʩåå¼€„ –ØõU؃H ê>—þÝÖõˆvã²ñZ€ƒ¥œç÷² ,†OŽÛsmß5µ[B|beÏI9<Έ}¨« €¬wf…²c“ɲ]Š #¤_`^þ}ôlÒ«"¨S˜=Ê`“Æð²(ö:›Õ/ÕHbÎê&Xlß3.™C’Vó]§zÙ½šê×éÝ'nÅÔÁr(­}©Òÿ·îñÉ,Ìuf„ãnR0)sUÏôugÆ=ïéûyâF]`ÓŠýºF§.Ÿ¬õý–`Ü£¿ZÒ\å—Š‡½;U­!˜žoÐjÛæÖÛQðrƒˆ°çÊX(cšŠç¶i¯¥‰ºna©v‹Éµê\>x4E®Þ"‡-ŸÇ‡ÜåëÆÉæ…5Ò ‚+Ö/z5Dò®ªø±Ÿì¿v™»zJ”1%k´,8 i²ššBÄhMÂØ2IJi£0oåó>h¹ø¦ÏO]©’6Â)&Ï€)äçëIAq.\ëÚ«¥N^g–ã~ Û¶/ƒ#dç®8e¯ÍÍyâuïõLþ$½ÞQ=N¨eN¥ wi·xó+R ¶QBf®¯T²œz¢Hcõ5ƒºâ€T ¼ñçPtœ*޲º ¹[=™®èEAÛÑ…x÷a÷,Ìíó¥Rìh‰bCo &ø2 .¦¸sLŽ+b5ÃL¢åºÙ¸ä!d®­;ÿ"2kI“y‡mùü¤û®®õ„µ¿'$áÏ¿O”c#[´û_K7dF9ÙoBd›Î§d|¿ÍH•ò®‚ vµg4:ú—J7À,A¹G Ç-r¤é4f ¨ áâ'/¡¬LWä—>4êpQ«Ý \ÐéŽ4'z¿]ŠªSJ1Ι¸ÅÉYvÅíݘ=Í`ÑÙ.ŒV¬§O·!R0Æs‡Jö‰Q)R&‚&¿í,/½•…vAÞýI  è%wh•I¤Ä¤áS Ol›¦kQQ”î³±þA æLÉn’ê¤]ÇÁC„HôlR—!°p ðÇyHY†8œšË}q^–«fµG‘Í:éá´ˆ¡·/Hy ³ÅÐ6äÍT¦w6Å×E“\™Îò¿~ ci.ôf@Væí·o‚ÌÝÅBÁ° H™fŸFjs¶ ØG=:ÈNe©1)ðÇÆˆ‡¥œûÒÒGˆ?ºžxTÅXñ…vç‡i¼FèèÇØ«>ší­ôÞ#£v©ŠgÏ ²KÏX×¢ùXZNìÓ .v…è9jdÂH÷M ïDpoR`£©ª®¯‰Xc«4Y½ÑO~žœ"Ѱø­Åí«y óëA“˼ÅӬ딘•Õ‹°@c¤XÓ%“FTü³gw2?wÚ9Uúëœk8=¦òlãH÷ùÇÛªï=_ZVî^Ó çNßG.¸*yÇybÍg N•å4*Š”ßQxï-´Ò ¹¦?sТp a‹Æ–8¹‘ïBC§3˜Y/ä_ë‡Æùx(S"­ˆú LÂ:N½ÐnzÑ^Üé'OÜÚ©­£M­¨"öB¡>£—¥ ¦*˜n²óz¶åèÓ84±\ „ Ô/.cšßBÅO{z=—»kégœ ²é&JküC¡Å÷Û1½ÁA—ú,ˆVHlCŸS¯¬ÿ@D–ôÅ»Ì"\áöÈcüT“W6d/úÇ~Œ…¥qú`dØåZ¾Ø"¡÷•DÒ•Mh:ú ùƒiGö‚G/ÙA±û­DIO±Pø2Rý8†ìáßih2Ï y,£/—‹Þ½û·åkß½ –)Þ¥ÀY ç— 4”i‹Ç(kMOd$–΢/™ýç"»ýÇЈ+0ê*c‹ýÁæŒ,<–þ+ïÕt0§Yî‚ò"8$ë‡S°2¦Ò@òã ©ÙÜÛè ƒLzXv‹ÑK­µ;¸Ìa לJïôüh7»:mg™’Zê<¿ 1Íq^C;øZ rùR›Ú'TcÇÝüõ¡1#0@Š%‰\Í1-ºêÔí²]›¦¾ôÞ—=Q¿Ÿ=ÌZÓw™­’Œgê.ïSR<$¨NXEžä¤$—6Xvåeùï—T^»bœ˜Q XgEV—Ìl_(hq_Xm z±‡$ýÓéÍè?9E?Á>»ù½ÊÊF¬=VZNIB‹<ÍÞâÿ‚P*_âW‡/±™Ö-£:#ìf´–VK©ÚIß*#¤Š†^7; jK]¦ƒ[׸ŠÞowäÜ;yŠqC²d~ù³ÁrK&a6J¾ wŠðÀîÕÏ;¤ègÂ31$@<jŠj‰pÞJ¶7qy&‰Þä½ÙãíFÍŠ¼^{¸VoÇ÷ÀYк`~“»\™ÏËÍŽwçP¿YÉU"&*ºÂ :mí‚ig,;ß^o×ùßÄùQß–²ûñZ®`‚™Š7cd†`« ׎ååYóˆ)ËVÏLwÓPøDBËíÍåa-lU)€ €¤)ƒx”}ÂCg“MK÷L@^I8ظ5ÿ“æïÓˆ[&ß™ºÓzon*î$°/Œ+’^275Þù”õ_á£7皃åørƒ›âX¾£WTSPIK®êYÔd‡2.ÑwÔ5Ȩþï™ÝØ÷¦‡AN4~Ë1w¿YÝA7ðvÿŒÍL?†×‰ÝYß ¦ÇAî@Ô¢,eYöÿI«·ö6ÕE>§—xšÂµÌ̩ٸ`qäj/lÑ(€æÿMÏ Q–!$U`U¡vGu,ž~ÍŸH^—L@IžéØÝlúóA’ÿY3wuíÍöÌsfcUÆ…î&ˆ+—¿Wޱ¼t]í…¶0¨¾¤¿|¥ûSÂtç õ`Iу7ó uçˆ-±Rwˆø^ñY¤˜‰Žû÷ƒÎ2Amƒ¦ÍXH£·F/“]R›òú_¹hû·0ƒ`o½!×̪¨íýøs5ê;dß-Ù¾#©S~æ,—Û/WÕòÞKY/´u(£&€Ât‰Z0^CU¯µ ˜Qéùª*~Xò¨¸<û¢8ÔU`çvtS~;¢~ŨP©ñWΔÞÕ¦H«©DÜÇD À–uè]Z7á„,zÑüw™éÒ-ÇbÁ‰dc-0/î$[‚áÚU±%Öåñ .kt ‘f+¶R4:YE#çÛ ·Vé> ¬ ¸>VgæÊHç‡Ð£%x2ù¡¼µ­Wq]…/a ¡X»9˜?ùe†CU|¿¬l š±þ,Ì,cío¢ Žæo-ï1Rø„Ziƒx÷˜­ßY9g‹ÙGÄý)Kž ½NØ–r57Rª–Ù퟈~ò1ÌOm.˜h­îžš¦còXÖšqÒcøÊ%ýµ¨<g<ŠªÀ—˜øBV%“à÷,¹á@P†Y5PœZüØ”_d/ÈHb·@Yyà\%7uH`m¯NUÊ &»_tp ¬þïräF§9˜ž¦»òSW«d¸©AÊ* ¾Ç[Ý7y‹Å)tJV%lוøçÁ›ÓÔ=$Ñôƒ¿.aQr+i]rª;hFÿ1Ë8@²ã@ƒ>ω)³@fq¦Ù;ubVâ—qëD(ùNf¨\ÊÀp »Ý²)Œë&eÞö-«6ZÏvï JN:éd”ЛQXì~êSùZŽý=xt>0ç$às>Ö¢ϲú Ǻ!ðë*̧Ãdy½¤&dîç¤Á.’ø*ÐJ,àé]`åü —QŽAKS¶£g‹U­hÕÚ»qºU¾ÓœY¹j—;QJu ÈÆx_˜œøª‚öÔ9j6q˜³Êå,µûÊcŠòj.Ò •õá M »0‚[! _¨:fÏ‹|{as÷<¾™M¡(ëÖÆ¨Ïö1f_?ƒ0®¾¯JEà Ó+²Ò4b¬†’ªèõ4¤óç÷[¬†k½À×)° B¢ûü†W¤s`©zÂ7¶¼m*èÄs¹=• +‡ÞÇ2;j•Œ@ïÝKeom+†ÅLÏ2ïY•¹¥¤3ÐlÂ"¶ã ¦>wp¿Šùq”< ê™Ê¾í6ZQ”“õ¸•âË<–Vqs‹û^єʂû†·ãÓcŠâ¿Ë®,ʼnM®y&¦}MBç Jd§ü¿Çÿv§‹Þ.¡v ¿ÈeQÈYÂǰÉ99Q‡^ïU²gq1½ÖøßÀûžúò´c_@ÑPœôóA†rÐ)8þRpûEg{Åqä,ɬžÊn¦Ñ³+kLdzINH8i é×ýû-! |'e¦²_bBtœ ƒ…Òh¢3[+ÙZ-T%nÏ1e\Žë¬.áSËp òƒyc13SøÏMúd›qh;{ËñЄ¨ÆpZ“Ƀ¥Ž|ÿª2iIYt†Ì±~&«Á Ä›m°uŠU Lµôw‚Nˆi5ÖtÙ ƒŠ…ª]Ó,hÅèT …ì(&Œ¬L½® ,³”)I¹ã®Õv‡>µyð›AL/?[wdµ6ý¶Rñ·H;—œ_@·ÈÕ9@k èwÑ^ëï_K›4 nPí² (ì†= Änpc¿z¼-Üâ\·ó¿SœRxñƒ=ÌY°ØÄ˃ž¢TplŸ{ÈÞÁ¤ïÉÞyòt,'±†qê ÒxJ~¤HðLˆÕ ÀhuÖ«c|Ǥá$Þ®æ €äøtuq÷qCž: qc>˜ÀÄùz ¡° œ=Õ· ‹kÙŠÄi²Çs™ˆébæø2°êÔ–‡©? hµ“»@ŒR_G}y…·ÌîÔ3 4U¬~µÐžÛ¾Äí<©d —µ9¡Ó<§5ßµßÖÍÛ…X““F/êî·°S„¯½ÀŒvÿ^¸‡·¬õè(ÆfŠ‹k›nkЖIUCs'±Ö7(§üçý<+¬c¼ßÄ O %=ë&…µQO…ÿA¡ZC+ô²gpcs”¬¤cjŒ¦$ÌíÌbwä® ¤É&›Öþƒ2%x©±ÔåÂ!2ÁøÓ °Ïçâ$>ívB~¼l9 Òž eƒò_*ï}’jG¦?É¢,±™*šY­(ºVö}!$A݈"‹5$¬Ô?:î£û¹6armî~òø‰Í[´[ÒT\ÏN@¹(ÃÕ#·×7oû(µ…,l$bM/y“H>§³U,‰ÌI‰Ÿæ‹ïÒ¸ØÜ¢ˆFÐTf|0æ*¡Ú'7_úr|þÆÕlr¡¿lï€åXÂVf.÷ç %]¹mË7MÉUB± »a™Û•øGbObÇà>¡vü‰QZ‰ÏùqŒèô  ‚eçŽz…¹Ð(o¶LæÄ03 ¯Q`×P><3Þßkšùˆ®a£*V$>¬#‚yÚŸ°Œé}Ú»¯j6êÆSGl™.þuÊ^ªå’HÔ±©7—k¸çŽáÂKö6µ».'L0EBœ[cí¡EW»ƒ¸A½Mq]q™jå%ÈFëMËãož‚‡uYÞ…=‚Gz™N¨U B„ –Ì3RsT9cž¼V˜@Ú”n]a’ðÄP &„dMÙC±ÉVà[óÂÑÌÖÛ튾„ËÜFEÐpB ýÛb0Uî^tÈEé1¨9M÷yô%ƒ ÔÂFZo…ãŒ=ƒÜ§›FxF~ß¹A‹„uÙS77I[8ï=¤hë(ïY(Vè»Q©yïª=ˆ©±,±‹\0°MåÆÃøäõüwèWþç}>qûG¹FckœØA+TÇIÛÅìÃFŽ"ã=5‚ÛZ øÌGÁÓëû¬×½”ÐNÙ+ÁØ·€¡í ·]9»w‰;0QìàLjƒ§P£Ž¼ÜH9 Syƒ@œÇä<„f-pVÄÜM à* õ£QøÆ²A¼Cr¸Þ!ÕxT•v(Ô8| 3— ƒ“oE(•_71¦â$­|Ѓ³zmämDÚ k%p$NÈÌ0_‡î%çˆá„þ}´+õä[<ÆŒÝåô»¼æþ%+܃óàwÜOxÕ"#ôØ\ì¤èö€5¯î¨…/u̦+‘Atï3€ˆuX5Œojߣ1Q…žÆ×´=‘XÈ­wàèÔ•š˜Õ?WsAò4]…uq Z‰ëáAUÀ$ê-È캖N¿~¡¶KŒÞ0¿èÆ‹ÉÀÏá0ù$Äò=>¡K…å>KõêmÃæýÒñƒ][‡ÊȸdêUÌUÌšK¶×­AÂIÜ^Þq™µ"BÀ| [ºï*+õJª ¦)þc´æª7‹‚†]’røqaÙ Ge†§˜®üP¢2)×z 5Â#% ÓôŠþaA¶Îô¿³\žù‡|5ªkÑ#÷ж]ú^•9’¸¹¬nÚåG˜þÆéìå  "Ã{àf!¨ÿÀGr¨š‰zv74â,g‹Ø wÒ)ŠrÆÚä`3™=9¬D„§:ÖN¡Ç~-!ÝÇ~­ÉÄq^Âþ‰¹7.¢ozýЉ' *ý¾á«7ºOc=(]*é艻Û-7~ˆs!±ËÅH%ü3Œs¢ÖzäÁDÐÈ2¼Ÿ°ûù©ˆ¶¼7ïØ¢p§œq‹„}“+§ .^BHéksÛNÙzj˜ÆŒÁ‘n]6Cf²­Ñz³‚ƒYÐ×¾öþÙu ˆ÷)ÃÈJz Ç91Ÿu§ôólC£ÏŸÀ¼SoõÀªf¼  P±÷|Òâ*à·Ð0u“Š+8K7êo²z\å,ËçÚOŸ-”^±%'°JöÑÕêzÀm΢WT»Šü€0–vý—"”Å~*û#b°;ïÞDRö'à AÅ€ÃçÁ†5Éñ$u÷ž …£§ Úd€º ²‘uKeõJ:²H’ŸŒý²†VÓ3¥õÉØL”Ðà Ê±‡JÝñÔýâ'¹!šw”=ÈÓ÷£Š¨¯;ñ³9”‘f‘þ¬zG ÈšÒïLhŠùñs›Ÿ}îd~R«.Z"{ø;Ý@j®ÌüÃË»ö’äXǸ.é¢c­=ýà(îu¹LS– +uµù¦ûù{-~>4@ ±–dO)S{]—àiÓóx´B–ýҪY!‰é¡Lˆ}…š 3Ôù`—ÍßÁ0ÁÙÕÍ=$¸Ígd RÖ$ýKìDùÉñ"?5Îo 3j캶”ßÅ3l’Ës"Ö˜ŠËŒž‚íXx#61Ƚ·€’"Ô~•Š0q÷õ׸f2òÕëù¶9õqwcèŠkú†àžðr#_ËËDôP˜˜œDþÊ=¸Ç ö'xc¦¢[½r!„™SáÏQ²ÉYbìd {¨Ÿ$øÙÆï  L˜ô~7%( Bûº 1§ÀýQ@é{jñÅbË0·FG“‚{ò0ÔQù!(Ï)Ù§õp}¿|?×™b6x\ÇIÓÅ©eÑ‚¾÷Ùt+íÌQ’¡G6æ=Ü›dcy›-)^ATÚ#âbF÷FÊH!"y!y[.vH«ð˜E´±é=”am.Knx Q¦]ÞCÇͰËN©ì+°|c©öZËrð ¶¹íÚD診ýñA |ˆZƒ‚,µ¬@t¤f$÷Ó‰™ÔÂÞ(°jZ¢óЙË!Ù»(N³ž¤2‡:¥ÇËÏ.Öû?pÀAe0áKgú‘Î ] °/u(´BœñZc=†ÿ›™æSN tlÀx©mʇ¸qbÄ4Å]¨OC"Ú°ë@ïýNu>iP”üIÿ k(Ñò¦';˜zY¡¶r‡k,¼kˆçÐìR3¹ÞNÖ-ZM’íºîmœó¼Ô©áÁÑ)³"¤‘Až,ñ¬ÞWPª6qÌQBlq.†Y…"ö»wg$ñ p´38-ªhz~ÂùΠ§¥D2Öu„Äxïo–ÌayA$DXôGY[Pµ^m^³´ýí¨Ÿ9¥MˆÎYø+¼ D; Í–fâä~ÖnZßmÆCȰ‘ƒ¥;Ë ô _v”ºL<¡˜ŸW=qËBx›Ý©Ë]¶dœN*µøL¥aòÁ­uמ)ÇpE¹3ÒÏþÆÇ²fsâYE¢_(@BWy–fÜ;…ɶZWŒŽVa2hvN‹ÂǧÏIMöqBÛÊ*`hÆ‚lÖp*EY¢Á-ã›dýÄûä&Õ‰ÖãˆeZ ý¤n=`@"’kÇD4Žb•e@t 4G ‰2ì°ê¸Ê@âJ¾W’Ÿ©Û=„ªÈkOªLÜ>@” ΪGƒžô.ê”O ÏqÐ¼Ú ’”føSG³¨&JpCä ”Ú:FoèšçÒqÍxù¦y-¬L½a/ô…|ÈgwY %ç(‚Ê&ÆRWr <Üú‘Wt]£94üÖ£?}K`žÍZG©Ÿžf6íB=ïÍÈSl¹a`™gòÞS1T8=ScïI’ÂeÅ©úd€ÃZü$Ì_€UÓ^Šéè(†•ba­ùÛL9>}GÜeb¯bçôÄ\Ï]f𵯡÷ ¬´ÊeåééÉŠ×(W7#ë<[êi~sj•]5†ž‡fÝz¬BßÏEå°ä¶iØv浕 s)qTrºO*‹³ÛèVZ¶Õ•”Îs}ô(Ôü<ç’LËUwÅ<ÍØ˜]¦Aø øã¨’Lûÿ%Fn«&P~+ˆ¬pa‹8oú8ÔmÁÿ£5Y\Û$=ž™ïr;®L®K²gZÞNzaÐUŽxNkUg&Ͳ1æÑ_²ãaõ533èt¼8®$ip§OÝy쑺W­uR0…ž¥Ù£ŠÆZÆFR8swѬvŸ§ GþS‰-oé+irÎÉLðK”ò6*¬{Ë„g6ršº0ÊÔy°ß鱪‚€ÒCšÜË-bî«Å>‘÷u¥Øþ ^¿Pàç£ ˆ^üšl´WÃ.Lt?1Ä.몕í×C€wv7ôè¤øíF_¬˜‡ÚÚu™«8äÕÜ3ß U´À­s=o듼ԣ*áhàГ;t~°3[sÀl…»óB|ñfüß'êí€A;uËüÏ ÊïMeèøªÔ•…#Î8ùfìz4°Þ¯c°Å 7œ˜s¬Íx5• YÏ+ïщ´0ûWN¹:ë/ŒèŒwüê'zA"J8ãßÉg2i¤’˜>Mwz.Ö‚:è‘#3f_ÂC4ýé pTø*ãdšaÊ¥ÿ4¼Ï g }É- –ý„ ãúïá/BÍ[R0/:û/¨:]™gûû!Î_J–†ËMü;¥1êeO4ÓõŸFëqf© ¯Ã¹¯Pù.ç+Ë,.†} ÷ÐÊïl-?ü·8µ~ŠIä_¸CÀ•ȘNî|‹K¦˜?2ɬ@3Þ¥‹ÉR’Rã' Ÿåþ¸é¤Š‚ˆRk2)3m¹[ÌÛ6MóÕ¿Y6­ á}{NÑ­…ê‹Þ†@–}FQž%éâÊ…éÞÒTŸ¯}ÐëOd’\`±shߌ]݈¯=÷-û+zC ºxŠóøïÒ1!àÞä—Ie²¤|)âÎmAg©á<…zžõFØðd¦¹-×OŽ¢s„˜J——i60t¨ƒ7 oóŸ\’^µ|a»ºxa»èk¡º~‡Tíš„GÈë3›¤ð~ܯ<–9À'‡3µý%IÅÄ«´áœáEê¦cøƒAMaõŒˆc8 çþ]s¤Æç½ñµÝµ~g&#òBÍj6ܹŒS6zÐnòã4„ò;BxÙû;^Ê dú&ø¯-õ¬7OòT‰úlì'U÷¯¥M,Іuöý'Ùt† ÐbDè Mð¾"”žBž—ÂýÑ‚“ž¼…µ”<éeÁˆ»‚k(œµIÌà ¡µâ…y¾ôdôh)¡(­†éº™þ à2Ý1­2¨•k7”x2VˆB iÎý¹oWD$ÛªÓŽ¯YÕ‰½/;œÙPüÃG¤Z ]ÇT§%*Ø*¹Læë7žWŠÔΫ„ìœ,ˆ}È*+jœþ\r7ÒŸn×.I|¢)vêí«cTF”¦ßÞ À4}Žj¦ÿ£!z`!ŽÊÒ:ÁÒÒ\ä9×[Á‘KÉ–.h€Àª B Û„â~ž‹oGbÞÐ,ÐÙ¢®táõLrÙ¡‹Š÷‡§EüófÄYF‹$*@,}§Àô¥Ç@¨:ÃÏǧÛ¡ -ø\ú¥4ª[š'ÿ@>úê°bæCÖá&ï¬qÐÁ˜Ráe¹®’ÒÊÄ¿QkØÌ¥ïð¢íÑo_ ×eãÊ0²N‡ûÖ~bÉ.`UÊLø5\ $Ík¬ ¿"ÉY‰Mù¶»* ¼PÃ}?y¾#ÿåC)Õu…r´ ü‚ŸÍê?©ÄÿΙ!WKÞ¥üš%Ì"BosÔDLPÚl6>‹ób‚}sÇçm(:AÓ7_>½l}¹e1)aaäwlaêáÉö©[dqÐ=rlF—Æ08¢I$¬¾Ê3ÍZÑ…>Mì’" Õrî;åáÄM‡Žñ³gb¸ð4À“í€Ñ!²h^œ QeÄ”ôº`rɬÁ9gªµ·/©#é¡2áõÐýd†ŠÚ‹…n™ªý¤7hé6tõ(nüñvˆŒ¤“ï°J pѯ«î‹HŽî~‰ŠK¾Fnωö Ò_0Óe*éE  )Ô2ÈÁ †„Õ+çügo‰EÌÏYiçZæ®b݉\ 5®æ“MÛï5 ”éD„lz™•ŸVãk^}oTòæ±ÞýF{Ï¢GÞ¿âæÐ¹wþúUO̬$ñê‰W$A.³Ui¯m$ç¦!ÜÖ±eÑ]Ä¡úa;ëIs€ šrúÏR³_²ážh*Md-Ìp¾äv¹éµ…ü¨Äsµ»f1ÍúJ„ÀxBHcÖZ¼œËÓ­§eJ0IÏý޳iß xuuš^{(Nn+ãU‡ÖÚ¸”¹ŽýÙ*î « ÍôæÔL]Û%$F¬ZZòZÔònîá»»T^ÜJx~>*aî4ö¼™ë}Ó-ýÂFa¬‹3$“ËV.¶ÇµFª·¤e®A¦£(ï”b)¶ö]° ¿Qô †Û¤QÑ—^¤û‹sTdZkÎiŽÞ´Ø*íúÔ©ß‘é!¤ã³©ðxº?„Cá}­W0LJÁS×Ñç$Sò‰¶n;¨£¦C‘%8÷!]0| ÀéóØg"#6£Núá÷ˆWIß=è²Qz€ß½¬ÙŠë[.uŽö‰´îB´Ó-Ð6úh…R6¤j¼L¼1üá] -êÑ5×KP>‘ÿÿós‹s¾0èÌ(Qø*OÚבùzèÊ«SúJÒZh§.Ÿ°P6ö˜ùGãçüò<7*¤ªøÎ‚)ÈÏÌI̪4œ ¿ Yç7æa0’,jàQ3ÍŠ9Ùµs”t–KvŽü$cP\Ã(«€‰Ãc¡5:pM‰î/‡T]áîàoË}‚ÑWN?›¿Ï»…ÄÎýed¸c½ìÅœOËGJ5ŽÄ5É1"dõ¸_×Qiz¨¥©È†jžŽÇˆ…YŽl9&×Å™¾m ‹éFñ&”LÍN€¡ã>OߢzGÁ%÷²lK&¿ý†«O%•.wË7zHwBspI!é½Î8ûpÊû jßOÂöuç×eô^A=$oì@@«’º§Oè HÚOJŸÍ–yòn]ÓQ?ú¥yU}%À“A˜¯fôÙÁlÉÌCõnmNȃÈEÓÎÚMV.H!,OÌPÞ.F׫µ™sg9· íåžµÚäâ ›Õ'§F3$/óN»צT´Î!ÜëYkº±:¡ƒsr€½Sº笟Í%;È8Š+«­bVü"Šb9µZ¦zZäKÔ( WÂP…"¤9X n#ræ 7›¼÷N$•àŽî_6:‘MžÔ¹º~‡CÆA#?)Â+]ÿë5¯’Aö®S:nhe!‚ÇS|jHö‹ZÑ5,Wÿ@ò~ Y‹#£g£SoÜX [fë0Õ‡Ø!Í÷`÷ÖÒd-«ëÀ§™µ§9¢ ÇÏè‚ÆQ£ŠYñšíFŶWF’m¦jV“ ê'ÄoÈ¢‹àöƒ¼`§¤ C}é@ó4ŒQïQ’Ùªñüßjlvok&ÚB¨.‚Z¯ðÈ€{ ŠO‰²°°+g"(0Ñ%›=À^&´ÿí%ù -’p"‚x&wÇä­½„[ÔÌFžmTÕ‰!»k&1z7ÎïVú;Á, ¼øe•€$™LHѲrfŒ u× ò:Bíízi@ÛÌt‡´w%P€êG”kP¿z¢E¨' Ó·sOÆ;Y[|?fQ›j®!{œ’ßëdLçÆPj¨ÉÙE½fîR-¹4þüU8ŒÙqÊ¥›m$Ζ«±Ø>¶Ëá4 )e½Í0.3Þ|%7'„% –Öºv…?H«cc±fÕ„\í9°…es]?Nȧ mzDÇ6uãÐäåijŸT"µ7¤ÌÖéßÒ³jÇ”¡y|·£‡J­ç!t ‡ú{9·뭹fÛ%ñ¸kÌÏœ –3V‡teiRåþ‚Q<‹ÓýÃxˆÆl¥µS_®Æ …%ºG¶ÿzÍG|è :傘OYðW7ï-Ôî~†èQEÁQ*Ø<8ýˆS™>(‰èuÌI;œ•ƒŽ~˜Nw‹:XEî¿‚0=R2ãòE$)ÏM±þïä}Â=¶Â9iùfËt•6Ú‰‚…= ›°àbY_RV³=Q¨§6ÓËFàwæc-CK]7{¢Æ…¡P_=×ï3‡Ëâ Vur5™Ös+¢ï]h: ù‹¯ËšÜ§€ _—»½^„ß©žIc³½Ëu£u©(³‡Ëª°šÁÓ¤ÄÑûÀ°uýòí(έ|‚û4^!šµÒÁÁ¬PÀ¥/¿ ¨nŒ=i#™âÍb*ø*0udU”7ÕŠLªû€Ú¾˜Ý½ƒä%މ(‰V©²ù®‚K˜jÄ‹&O‘ÿ9ŠÞ=Ñæ¾<¬–i )3‘«’U¨ë³×îօ̲ YBNý'㽸#„,ò®ŽX¿!ÐÓ!q×­X0â¬CKfJ4‰*ÎÚ¿&_aæèƒù…§ÈíÆèQòzþ´°’gœÍðgŸŸÏs¿·§„šÍP;gØ[*û—|•¡Ìf÷ïׯgžÁ67ÔºLq‹/,sì^ñ÷½”1™•QL!(r>c¼]aR‹â騆œuóÎ%o&¡F˜ÝvŒ±¹W„ÿ»"inö“üJŒÿ$OȸdÑ$;Diy¼ õ'”5@à9Û{­º¡_»­q×Qœí§k× ËSòÐñgF·VÖ-h1@è½Ì;­Ð½ $Á]mZÅW0é€GíZ9n²v2eaõþ˶UQ2ýǫ޻ÖLXï ”+lÔÉ Ï„¥§ Ìc´×Þ%ÚR;¸ |,ò¿©~º ¸°âÝpdgyÐþÃý…}î¿#›SwJýy˜¥$½?Zê{€ouÈve*yÜõýôŠk\Z>¼)½èÂÞxn*4e Ü_á‰åºÕ3bjÈÓ¬è«%®Ï\&˜˜-àÍFlþ *X¦šš…ÖOqAj gwÕÙaV8ƒÔ?9{±·.0 ÿ¶Œ{$s²¹Z<(äÌ[XijŜ0Ü »†µ,bô£†®„LÈ@›)cBÀ@0þó•3?{‘ÖUøQüHÉtµÉpïú˜J«AJțȳˆu¥óË¡£¨£·<—[?nqV¾­¡7 ¶n0©÷DÄ—-¤¬n ðB‚ŒEú˜[ŠÕi‚³ð· ÅÄê5#5$6’+/dnSއÂJÑ%טt ôæ¨÷êÞVâÊÚ¹3·è' =.#ºå2C°ª+ŒÞëu› ½—0¥`v¡WHcO/@¬§„­Zd;¼˜”xkÎAXU÷?“"‘òvj,ƒÞš"«]ÛÅ$‹.ÙéÅ(ׯ@U/Ô^å¾f Ðk÷§ô&±›(sºÄ7Ÿ%~MÏ«-™BÿØÂÄ›½Š=НY9wíxõ%-›\–š‡º• O¼i¥žÊØå6(?y—–âËÕÀäc™Q΋äu‹…ÿ0å<%s;î«éÑÖ>Y*«ÿ¢b5{öÛôl&šßÕábúX)nõ©J£„¤>îu'“A¤8’w‡ðç€(>´|ÉC6Œú(dÛ_0Ç„ªa¢ ñÐ+È2 (47:Ãì& <–(¥±!pô25KÚ”[«Ì\Fy_|Ö¶ïÊgrG’:C²à«›F¾8EZ½ŒÇ£ r|Áœ@¤ë²Ÿ•oê·†‹fêí¡¡FR¢«l¯®…ß?ž<ÖŒ‡Êy.n&N˜Äµ·Ìq3'@p2Ç‚?H]mEQé§T¬ù¬ù[RÛ˜¶þíÓ%jäÖä5Ä2nHÇ:Ü»\­Î£Õ ÍAŒ•ØeAzw\ç¢B{õ*³ù¶Æñ{2‰í·3d{´eë|]T”QK='qyøhcU<Ì‹'TšˆåÞÇp†âÙ…Ö•žç‘õÈ. aÇIpáÏ[@‘UQ})b\ÂÉÜUm 0ÍAvê]bDÚQt’3FÝà‘”wƒñy;ŠAÎÀ¾Â´VÉ÷Éf/Ak,ô<¯fx¶’œ4ý–Ÿ~|•Ul.ã”F.×âiîAï)ãØj0]07r¶ßÝ~؞Ğ¢âm÷QJ@·éã\~ˆvYt¿/”Äí zp`êKDÌvŒ•æ4ÖL§JôcôdÁžš)WLÍê 2ÓÃOòâœ'3Ç©¶‘€¶«KöuF´À‰Ý0+“PÓä¿ QYM-dzw„•C]_\äd¤WëFìÑÕýMCE¾%›ž\A~y 5Õ”›êÄ{í€S0ºüdhSQ)·Ð{B×c Âv]¡´H[ýVÃâýÛëéhY³òþô¶ÿ,—µ]¶?h쪪dÚ2C‘ˆ²;ná0C—îezÖú8!…0-ßÅ/-• H^…¥ç!ÞÖ­¡kÝÈáèÿ{/©’@üÖf„0å á ÎÆNÔªõ²"ˆŽmâ&-­á#bQç†V_”LŠ×;‰(aR[ñCV…."Ü|^9K¸íÒ­n¸ñN_ýánÁ°ö›;{]¶=ådñ ÂV»óÕq}’¹µŠÃÎýo!¸Ê"ýJƒ-/)/áÀš“IÌâ .ÕNñ»ëP‡}u…B¼gà·x@Y~êi0qâ*ûÇZ kC³Ð>а…K ×¶¯£–Sÿ¿Çæ|&z*›öÐýÂ#5 þe-é`ÐüòÝ [ÝßWÇ•w8°›‡á­ "ñáç4šö‹¡Äw]3!¶pÊökê³9ŠÌæ;°“°ôgÏ$qêÚ- '&˜SªŽáží&Äv$ì7’Î¥1Š Ùµ›» l鸭à1ºYT׃dlñ—Úƒdå%'lÆDË»ÉÐÒ<=ük*â)ú-ëÔ½ORœxö„ÛŽ@°TU[ x»Áß}§7ö/ŒZ%_ZÛ`Ä $^¤K$–ߊ•:fdÁ1oiiAàÕd'ÓX‚¶w™¡Î¯ò¶O•ÑJ„Ô©ý‚¡ÜÚ¤oÉ Ã‰(ùÔ;BQŠ ˆ=3ÜÕÎ/މj𙓹Ìï‚rÚ÷D§¾ó˜ÝŽú Ûmq䑆%ô@…§`G]<9ÉÐéó»L¸äMiÿä¤Ý7²ñ}Oø¹V]åòÃz[PÂJä6,ÝB_Ÿky呚6xÎOΙ[ºW›Í•|Å£gßÿ×ÈdMëëøü²| Om­¯ eÙ§ç« i“yœÓø©5"Õ^Íá`?ZK€FÞšá|åÇ÷ azÚñÉNú„ö£lý21è¹› ïmÕêÖ}þ)yˆv¤|CV[ƒd;Bi~ÈÊ‹2ÚùaUüzýŽj&ã†Ñ«FY+ÄçР -j5kÌ!î]’­~†ò9ºž³‹pB[­³YaߌC;ª[ …Òǯ¾îcÑÎþ†€^ s[Ü.ÂdêÖIN_IÞ§‡1jCHB² <>å4=ÿÍQACç˜TT ^UÃ.…7l:%¶lÿÙÔî÷tÅŸ•'’g–ð+sf½×¡Ÿ’€KÀ:Wö²2©ýÃýÜ÷ÛÚ½Іk@Ql*mEgÔ]®£¿Àë9ÃPö0…Ef>†iZ¯ðؾ¶âXu…œ9Žì×ÖÄR7ýRÕ“Ù›öü_HÛtÜcA-š[™ãýÒ4£±qAµ;%é@[ü¤%¸ ç²=$Ùeí¸÷Tk“üÝüôÍ`9Gaò›:FFB4€¶ö5ÁNFþèø¿ ˜|eyY~}Û“Hé ½i\ÒMëB³ 4d‚g¥øâIÚÔ_ápw.Ð8I%¿z>…b6gµÜýV@ǘ^î‡9àÝø+óaÑrU&mà.x°s¼r•ÕÞâ'Q¡Ì)ýÏœ8ýî´iÀnixF,Æ*ý0H@Ï‹|‹'ö3“Ϋíö™.ddns=|nPœµ­â«q]Ïþ!”ò9óL 5HÅÃg¦ïuŒŽÆÜz'¥½x,Cm*êKñ".4î~93r´u!ƹïfBü°\¶À;F†Bå"Øg¤×9Z±øysjð­‘%)‡WJùä:Íî—f¬WTÆâ²-«`C¿ ðq´ÿűÍÔµ_g éÑ?e>‹'9b…xI˜FÙ;ØQÂ_fYe>¹êׄÞ!¥Hƃ¼ÊrŽä`Äi›él«bZ/ª% jO”<\nO»ÝñÍØk ù& ›ÄF ×Ñ$’QIŒtÁ¤zèüð¦äçjoö4Bþ…›7ƽz™ü ßkuÚÐmÿO÷…GzÊr*ÎwÝØŽ/À),¿Ó­v´ÛyåX&8ÚGFº¶›¾îJ ¤aÙÚ°€ˆ^LPJßÚwj@Ø3§C¨hŽ-SQ‡äûL-,·ÐvC±'Á1½ù²œŠtGé¶„ Ô–kÐæ )©´Œ2ç,-|ßx1H:àë GŸW€è¿a>(+$&íÉaín…¿¶˜E Ít°çjÆÉóî„Fm:ª²½¥BƒhåÒ ÞBí½ù‘Ï쮚 jfþb§ß9µ‹…÷GiÙ!ˆ½já¬Ô $PÒõ LÓ{)ƒ»#Éß•±Ú&µt¡c5?¦³‚[ìæYUsÄ€·’¡cרqûláTµÚ =¼áW$|–Ð!õs0 6Õ¼5Ì¡:†ØƒŒÞ“ë¤3à}° æ€ݤÖµ‹É£…–B²UX!<ê~iZ Å%"|R³ ,€‘Û'”Ãùáˆ*>:Ïÿ›‚Œ*A>kPaaø·#ܱl°8ßiÍà \ÈøÒ†ø¸@bV•ˆ‚$‚"9àIÒÄU{d«È7˜]0qèÇm#n zÕ“›a¶1Óa!Õkn99°€ŠáLlø{ÖX8d¿¢ÕÝcÄcÈ Y˜ÆÑìu0¶b:B5u§!QWòqþ¸-`ûozÙ¾ÁÙTÇF.2ú ‚CЄ¦œwèß +©C™óÁNb:»BÕý,ZÂ_F*B¬¬,»×dŽhäôx6lŒ d 6@ÕqæX3àÁG'žÊÏ”'Z@\O®a1QOÐå-øç)ühH²®€§4Áùj±„ŽðŸ7`~' \9,#ÿ²Ù÷Z†©è§øB—aö컜Ա´ÿçðè+.íD‹ô¾.”ÊRÄU†.ƒQÅÊ䜧¥š†"Ó‹S?+Ÿy”NQ»”*˜ù‡·h«ç ÙR©,="’‰3#&¿X:ùÉæƒYŒ2Ò±U¥Ø±Lxú^ô‰Æm3nY^g\^@¯ó¡v6«S¥f±Á¤zï|ß®*‚•ïê¡ëÀÙ•é„p¥…ÙcQ·a¯„§à¼“Ì^ÃŒæ³kÜ¡E9ÜŽF¼ê÷\~RAŒV¦…Ö'Pý r½ƒ“›óìjõÑ›tÞÉ'4ƒA¾¹ö2¨ŒÆæºì&7—mY«[\ðWÚèn¯µ ñú3j-TVm·ñ jŠ_¯Ó°ó'›Büƒ^êÐv¸üÚ "‹ÊŒÕML@ s½ì–J’4ýQ¶Qž]K<4 ‚WaA;âZa‘;êœá'Sä‚Bhæ†h•†ÇhÇ;œð-¯÷¨ôîú¢án{úe½×åÅ] `Y*â©8¿ŽSŠ¢6¼Øš`kØ7šê…dkB~"Õ\¢¨½ 2L-¼0k¾hÕ7ÜÖRd³å=‘´}`îYüvìrÛ½`¡æ¬îþ$?͉ñÖÏ,1írx`µƒG\ˆÖ1‚ ðI¸¨Àͨô ÕcÊÒè¸bêB1ÀÕ d:£¾žžäů×g¢WÂ}8.=}ÏXôøà,NêÐêAJÈ®Át~ª$gðɸ»OÑ,÷ëŸÔã—ãâ0†RQ* ®y5a\Ðê‰z_þ”'¿Â Ûˆ±–ѱü€{ü¬™[ X:ÌíëfÍ^ÏŠ…UÉà8?Ì0tÜùì…M‡âj@Uü¸C4!=ÚGÑkÐ ½Q×_ÿØ!àbë^A>µˆss ñ|tçœ_]¹qêG‹…þ܀㺟(]€i‘ÅYÝ/ÄsÒû$evaGÖ¾¿žŸ§_½Ùã›ê•º8Ök6vžç™­KU‰Z4´³vÖòvHc”:ÈÙÝhá‹ë:DuŽjô)\ó2<˜å;ûë—¤ù÷håGŒ©Š mO!ÈÔïvà˜.¼oºxÝkûo#²ÁÆ>…K7ã)hD>ѧXÛÜÝÿt›–ƒ~yUj •iŸVªÏ ›C}ÎŒ£q3ã #ç"®ÏÄf3)ŸÒP³×å5 e†ñ‡âÖªI#Nô\-}æµ±¯<Çã¨ío(¤_½–Gê‡à©†Z+f½Ø÷TŸï¼›Èܶ7„ Sd¤š„½¦®È¬Ò¿“É$ê©J¶…îÁŒueW¹ ƒbËzféLl åuX§ìÖ¡f´­QÊyЯMòô¸æè&¿ýצóÙ6¤ôX¹>/ð‰£Û2N˜›Ë-¤ëc7K”” óXCKÓ·­‰QøŠë‚¬njéÃjŸ[¥ð™ä Ê´|¢çηÜgyèÉàâú±ée$·wEªˆbñ1J­g²·»l‘Ò¶w¶<#´ÿÔº_ °£Žÿ]t•fx­„2øÏ@a‡@ôœ_ÎÕÑjŒD>7ÇÇnžåÆS4˜Ù &ƒüÉk´½€ðBá°HÅt¶ÑíëÂçª]oôX^©¬âþsè¹X2ûLÔ»ÿü”,˜B|tñð¶Qg¦ƒ]ih¹§7XœÂ˜É8\\<ÌøiE±vÃí!ÍYV¢§nXا8ÃbisAŽÂ~¶IÛ{ì¼åèôtIO™¦ÝoÿTèý·2PQu(Šƒã±E¦SÔöAÐ2h*ßx‰dQÄNù˜— ý©šéuú¨¦áÕµ•ò‚uiÓúz¯F«0;–sc`Ò'W$ãÊÒÙWa®êÄD1{1=ªqʘâ _?±Xù50ûœ·áPWf"ð¸™Çé{%ï’ÎGl² 9²û$%Rø§¼…áúîüõ`÷ó©Ñ«¤S†Ú²ÁdñÅ_L-# ‡{ªÐN`qFkFQѶeèl_rôCÅ} €¤·ÃÍÄU¼±—RL êPé+ù,ê"_vÀ˪9p°O*¡ „³ø=8h÷›TnôY¾ÛaQ ߨc_x°¬9Ów=¾ÿ„–5z¾ ‰°wòF®hI3ž¼Ã¸[o¤ó¤¤^nd\›¼.”êéq@0-óœ0èœõ¯Œ£¹’&ë2.÷ä SÇwë|ä.´© B'vKòû0ç¬gÍé°Œ,* Fù¼¼U‡ÎÇ7Áø7Hø*ÍlKA•&Tª`ÚIî‘îÑJ s“ú2Šx«ïfù3bœï°+À™ê”HX¾<°„qyÏ“M©E.çúPŒ 6L/žý c·HêÂÿ,‡’rƒ”9%¦Ë ‚Zˆ¨ $:ÿfKTݤiX‡ˆ£¹ÙHâªÒë[Õ*y+äæ*g¦ ÃK§ØÞ@oý¬ΙiF–I­ßa! ð]ÌLÌøs­eEÈÓ·1S!LŸˆ¶¸7›AW•Än¥ËÀ¸`ÅÜZðoœüí›&¸o^üQ¨çÖwDs SôI¤@IÁî 9äV‹bXáwu;,›q+ˆgœaÜŸÏLGBý]dz K ù’»É˜—®‰üc׋ b)@/?ýã–=fˆ7ù„Ïb÷ûäVV)žÐÃæïô.8ºc)Ïw–î" ~?™jÄŽòQ0e?U3мGdZöûEÄe‹G} ,ÂÚ׉Ÿä0»ôÙ PgèSZ=ÑêÏoOd e|¨ºHÂÐO™ýJx‚YZ¦P¨x-?n–yÙÚ²–ï< |J8 e A÷–©kíW0& ¡¦›ñzo·Ôí„ð^•eF`-&•B7O ÔO~þžp05·Ÿ*‚dÖLQ1åö š©Ÿ:A—Å6Fâ]9!7¼•òðçZ‘ y²¯ûìç±­MÅëͨssÖ':€ y_0¾þåÊͪ9‡À4°®²4¬® –ÿh—{K.eZ¼ªaÑ«o¸]mLN¹¿}œx…°`©.*c ö¨GN…§›ðÍ ®£U-1«eû¡Àµ’‘æ~‡ÓùdQìN ýF"ˆñÄÕtaÔ÷‚ÊöçªyÖòöùoÉðAcs í…Ùj翤~è@¥¢/P7öX2|ìaþ²|"æ™~’;(øC•˜ö«­»Miri¥}Ì×ÞÉQóUe¢>Ý_¨]Ïü2]BSw’}h¥‰ßpŸ//vº¶a] QzŸ¦·0*Æ»LÔG©õ\7^ï_6àë™>;¶Ø÷k±#Ï3œ ÇAŒÉ‚š-J¢ wâÉú˜Û™uOwðÄ~GµÄºìä|^'çôøWƒOˆã{ävPi¬ÛqQSo. wI˜cЇ%Q³ü-%£ƒ*ØIŠvØ?|à0{J‹*dãðƒˆ÷១Q%ä¯lq‘97¤¤ê³aØ~{çÌ„m× ñµ¥ÚPI­]‡?;ƒ#©|Õã ˜ä0Ñ–¦±,dÂvøö½nÍÇÓ.å~ƒ#ZeËžo¼³(àz)U`6A. 'X;æ ®bQbÀ’ÖW°,}¢dšý3òœ¬žúƒñ6yÂ;8@b\žùbÖ„cVfŒÐŠäÊÊÃØ(çO‚O(%´œÎ{å‚Ò™5Âû$x"ó›hçÐÃRÜÕ¾‹pv­. _VÓúLméè4UXG8àÍ…7¯BŒñ ”Ÿþ ÃP|Õ™x¤Ö¢°£-Mñ=”|äÐä¸N›æ~ ȤPŒʨ¤Z§ãa²ZÊÔñh]°ž."DÍÕˆ,܆I]}Ì+Uš O‡5iãÒ'ëóÆÌ8ÅŸp»´DÂ뻦 rœx^±ÐŽð¼•>e’²ÎC†;å™ý1ºYý\S؃ü@*0‹ØµáÅ &NäoòB~¹w‹µ§yþ¶˜¹Ðýþé”ùWÓ»®u[ÎPߢŸQ]ä*FHnÿ6áI*[«‹T•¹Pê±îN@7rZíè¤~,àÒ².ßã…Rb ÞbgÉïdÇ-k[”C óDº‰”©ûšš @³ý !TajÛþ9"40Û_µ©ØV¦ø‚-6¢É»ÖzõAIzþ“!‡{™oXp¦»NÅdtá.iZÑò‡–+‘k ÐPFÁ/îÇV\<Ÿ»¸ðV7’î9oȶݑÐVæ#Œí¤s¦oœU¶ä˜_ì¿CÁ˜ÿ¼%J—8_;„žÖ¦[ÒÇÚ‚/A Î;tƺk‰À3ö|¢ ÎFå9X‰š!û G” /˜{£–¿CÀz¦”‰#øÖE -ˆŸßš Ëý]¾ß‰Ôáଠ–™4†±,p´¸ŒÏêЂ}ŽaȡȻ¨¶(¤(ƒ[•KÓɉÐþ”ƵÖ:xÛI2ýaF$i.Sÿˆ²ãF^R8;Ì ÌÙ-¢+/UiˆM8”iüˆ Ðß ‘rM2¸IêŠU\Êù¸ UM 8ô¥xb ) à›²%½ÊwO2#­%¦; Z¬cÝãuG¬ ‰ ²ÏßÏ|EÛ™aÒÈ,ý­Õo7H¸—›’ óbL9cž¢<¸kp”T¤ÿÛ¢VT9…xôOÛºìSsôíl` (,~(îç |ö’ÿ[´˜Òuá~bT­Â]‹c!‰íw »`aø-‰B§Èç$kj¬v%Ô>1¤o]i“|¥'«{sº}üØq-º…¤_ã¶úf>™Ðóo©‹¾ JI'Ýë#©fL¬Œ^MBu:¥³È´n\ë~½±£ÜNfzÖÏ‚LaŽÂÒÁ=ý›Å~¿8µ8‘ÕSŠQ‹/–€¾¥Zy’ž2¾":QÚr|ÇÎ|l‹oÝ3­®ãR:Õ$Ê} %ÂIÛ4w.}ëbf‡ÛÖ½ö«´Ÿ_#¬àSNŒ<Nò Ë1ÿá·þq»È"*¨ÉÚ”-¼£ºÂi£¡Zl«­µC|Úõ¥[^âülyóGRz´'–õ+(þ%-ê>uøŽ‹ÿÑïˆÇ>÷êÕÇízšˆi•] ªóq1ƒcôqomØúÁ˜¥¬5åÈ Rº¢‡[þÙÇh0s"< ¶Ë¿2¬wGZàÌNKcª@‹ÊV±S€ÍãÕ¶À\#ö>gSú£‰ÿ Kà.'|™[s²÷W ´­ž= q¯XŽÌá+~x˜Ux­‡Sd]SÎ8c–b™’ê¹%õã™kîµ¶§¾é¨È=-Ô×qüi®Xœ/Pò{F! Û)|+ÎPÑ""ë1†¡ L¼Å¤©Ýp]ÀF~´s!JüѰ'½îÖ{lI½BR‰÷¹€ó½®Ì«ú˜âípÖWæÑ¿pg¹p_AÜ+ºÐæÙfÍv@J.·Qç'›ŠI£Š+¹·ÅÆ’i3¯,Ò ›áo7AÎÚ™rÒ>ÐâËVß ÊïŽ=B¨gçÖ€Ë9~Ÿótàq\™e=߯Zü=›*ˆsZÌíUëk4ªWö£VÒúÒ˜ôŒª¡¼µ™=mm×U +J´"-Y#éèAÄŽP«å|úZл[QgøüŽôÄÃPÀ©/qf Ôcð˜ð¹x93hÂÑ pܯæy³§bašûûÇfRäÊçCFƒ[vý§S঺•£54‡ãн•ä ýdIšM3.(Eƒ¾n½À:W%­>ª$F¬G4*”è.¯Ñ.×T½w[Óçs×6da3cÕЉ»<êr05‚D[À”q'YNÒ/‘š¨Å½d¹(Ï­‡L.ŽL¯ÜÃe+6öôåÌÉ.¦7ô$yà°†1²¡­%²|IJ™×IZ½Xœ®&+»¡¦ÎˆÜMV­gç ]†DVžå49ôäÆç,ûÛç&2ÒÈú—µuo-»¿÷Îd¥¯d'öðï£ÃfÃsvmw§Æ-áÆ`’ ³Ç’zªUÔü£‹8ˆŒú’öÍôuÅŸ;íG™yÑÎwmç_?HN ŒÄ"‰:ØxŠòÛÇÀÂlÉãý÷÷‘l[ñ|‰Iú¦1>ž5xý2;TËÈXíªÀ,&>ØÄ,YÉÒ>á¦ru™l¯€}BW²î<Œ³…×ÓW’ƒ]Kò™Ñîd¹#¾$ì.þ5¤H™ÿn¡ú#ÍS  âY—h`ifÒ¬¹¦ÏW œ.›TJ‹ÕŽî¿‡îöìrq&™Ù`aá¼ÏR«Î6[¢9ô‡°Þ¨‚·¬iJµÝ{ôŸ`ƒÈÆ1[ƒ\Ú©®’ÀÊ%Ã*0Sm Wù$>¼-d’š²*…™€¯Ø8c~%Òg;Ç„ 'VÁve56’ žzÂÏ'-bB¡Ù¹·T|KŒ^™›LÁɰg€ˆ†êz.×¹ËÒçt=@ó‡íÕü(jt«Ÿ#÷}/¼Àž¿_;ómŒŸ‘š™„UÓzþ¨-ÔWG,#sòÊ“ŽY‘|‰]'‡ÁxLˆ³åÓGÖ‘Æ#L½·»‚ïùÕ¦°ñš~¬cüâJþô¦Âl±!TȺ ÿ"îq\¡˜¿Á°›ãxUO6‰‚¡zë°"·]·¹4;¥–ù„Ä—~4ú†xÜX[ïaš8¸3¹ðªq&çËËÏl°8Ò‘«#Ìjmì’×6_ºï×c>V2jFšzã„ ¢| ­ùki~üS[r,úÂ7jŸq!^Ó…wfj4‹,×’táì?lÇ~xûûöÖëû¥ƒ7ô˜P¼Ë:øoIBné^Ù·ÿ@øòºžAP2ÖExôˆr´éí‘·h[*bQ–‘QË1¬ýµ´Ý_¢¡Õø)³ßcˈÂý¸ÊñHî6å"oºÚènˆøš÷y£ ¹#2›w–ƒQ(Ð$—“ ]îÃÛ°dCn|Äär–mW…ZDLg!Ç (ðo%àiÆ_£)zDm@ÜÖEMû‹|ó;«„æú`ä˜#¡CsQÎá—oaž"AtÌ=Ä[PÝÎ0Só@ Næ$&±ádW1#­êÍé;3Ó9qºl»tp¦Åß!C2ï?¹âÈ¡¿ ´û%ÞY‘iMil}Ž~j‡K'æ ¨u£Øb½@æFL²"¬ v­Ô~Ïíë';Ýø?ã_0 ô¥sÙêß ¢4Óyˆì«²çŠjÂyܳÊÍ´wQT_ˆ¥;)Óú|U9 Â0ËȈÕsØ]ŒôâT(ж@ö|¼ã„[ûMª»l8ú"ÿ\ˆpÌ]WHhÑ>6½uíøò‡¦ÛÒÇ— ûÛ½VËÿÙ‰©Oê1ýƒØãTúÛu,Qá…Ù纺¸Ü­lÛ1ÓÿH ñ—¡~ÒÁ SÁ$¶¨ß{MIÿ‚›¡íy_ϯc½êÚ|Xö‹z÷½ÂuÈ“Âí^bµ„Úpá{Ï*¶[ÑÇm…d~ï¶RÔ¹yõv¦«œòtŸƒµ½š·ïP`ò±óÔ3[Æà}‡Ýå«ccp}ð9aµVz"Ps‡¸ãxë5 —šìÖ·îld¾5D •ïpÿ¤Œ2ÛK` R xÈöúÓr(KðKt¼¾à¼µ›qWº’vyA–EÄóÖÐÍiÞÃmâδ<ü -‰‡ôì]e~l™Û5šðí— @ððŽý‚Žòë3ü}«ôOɼ«®E²œ°N¹û Ô;ø’c¯Eã!5ƒb3™æäÔ÷Cº#œ~64i‹µ§þÛ_ã™ï7_Jý§Ì/!v¬ázÑA»Bœä¸£­AP‘l«Îºú®bÝ\S“R²ãDà€…z>îÚ/@ÊVì×=ºÛ{Ôݧò/žê¼¢Ä2;®“rvr«&ÚÛªÒ×Ö’Ýü õƨß<´ájÞW@«ÂDCtˆ¢ËÔÖð,šaDŸ­–ÏUêKtv¶Ñó]„)²þç¯9nÇH¦šY0½k£3+:e¦ž»(ïË+ÜÈzÎ,¯±9B»ÛÁ}_þy·½Jþ caÏ$’5Qm€ZS¬Ž#\7iãètÓüœ¦b­ÛÖT¤­NgŠÀeó€ò.äoSšYn“Q|HÚ9r×/ÝtëÎ üøÔ]Åþaì æ!ܪBû0ösá§O(ˆÖ†=‰ý¥m®8§<}é³V™ùHàÀ**°ˆŒ#Yý&BteÌÀHÌ®?B•tåŠg%²¬Ã2F© DàoÚNåǣk¿]ùœp€ñu¼]_b5/T ~lÍ2|äHËcñ(grˆá^…` Fó4\•}›Ôœfäu‹¶ xv¥‰«€ÚýåÑ4Ï[H1”ŽÕ šÁU^dÔ´BtÒ"–«ÇZ¶3xa¨Ï\‰Ö±ÛZˆ© {®{‘zG¬š×o4¶>B¶ˆI_2ì‰u„L2¶A‹¹ 2Öêܬã`yñøèä2æŸó§©~Ø£YÒX jì9y:Åf¼ÝÅÉ` ?½®c}Ç6ðõJìº"ž˜Q ;½ jК‘xT‹ÔÂÞ»äà…«¦õ˶'Š: ë{ßQQI›/æµfðRÖ«G€Õ5Ã#q ~}ÒºVþËZ‡‘í³¡óƒKÆœñ%ÇåûÀØ*TQ|Ž€îÌ!¹cIhl¡`úˆEp˜5ކZCÝA¨aLB-¬1ÖæÈ ¢ùbqË1ËcŸá@:PÔYßçYÐúÝHmFÙEðñ²‰dôDbõ-G«O¯LÌD^²·‰mëÍ…/ŽšƒjÇ©EÅ“[2pÞÂ9&–„”Üb“'Av€â‡¼Š/ {»_‘°zÒŸ–•\@`æ¼p$4ù j™îþO ”Yi±®ûÄ­‡Ò¶È@·X<BïÛ‡ì2_Ñ*Ž Âýÿºaj—ëèCTw+,ÿò˜’oAáÔÏšs‚!©Š{12â¦è¤M¿byû¶÷£Œqîâ# ù~l}Q8¤Ð·(ø’‰¡Rû;d#MñI“6ÈWâÏ@~®ÎÓ—j‚-¤¢‚ykMvCfÅ6EÍ¢ê>sFœ‹nJ:6ÑïrýU5ˆ&óßµ  Ρ‘‡/Y!Á¬X\8MÊ0d›x ƒ¦!Wg?ò·þ‰þ…³°ú«xII ”jl‡_dY%¼§ Q÷!¬«âåJ¤åsrZÿ´1ðíq}· •"%y⫟"êäUdŽ—W ¨¡Ó‹µ >ôe‚•ëÙ´NÛºY®""‚‰R|ú:}â%/‰Qúߨ¾è|îý?  5æà–ž… ¹P#ÉÙ¼%{eŽtCy@¦ú"v¸t_mè~#•……|ÿ,¥Ó:…|õ#&8o"+sQ^É9ÿ ÆÊÐ/aÔò¸|vg{}†h¢¬ü™9½¦«*­hìT³·Iu2޳;äGúºJvx|5Zìcbœ¾ÆÂ<¦©ê¿ªUS9Dç†Çš ¼fÈmFÞ¤Cp8b/:ÕAÚêXD|ncѰUóÇÖ’døjwy>“öTCçp¶%DžÑïÝüª1Ë©wx¶íêâÖû¥Šs­›<­írg¾xìã6Õ5¯õ0ÐÒÛàáž}’._å§v}˜pÙí‰NÒvGMˆøù¶ P/Ž[æÓkµß¬\¢m¨óoz  ‚夽î&Ÿ|¸Íx>ókŒjÓûÓŽÏŒ?žnûvR!èÖ4&ñ2­ÔF]Àzu¢"Û"öeC‰Ü]‚éÙö!¢¶ªæp¡?.L¡šžØÖveïC•¸ÜȈG?Ù‘Tb˜9BLè[€»˜™—ª_Ei=¦…-뀅ø_½‡Ì|‹-1ØÅgPVØú#sˬÞô£æê”ÑûP¹ îR3Gé):ߊV{ï:û×·‰á™[Ú%ÉÏÑ}ûMò“:îoC:Ôÿº:4.Ül î ^'Æ ´r’å¹ùæÊßnÉÁ¨B\XûTgÉ %oˆ‹r sAYš”)ØfÝñW]i{µÈìf¼bg'\_þº~vgyÀ¾I›èÕä¸kˆûè¸'YCˆÒA)ÒkÐ~i04¶¦f5+øù‡+SG®Ý®˜›Š’zŸ4@©Zl=~³¿8'6câkâ&EóQÊa”¿,®‰€,’Lé冯ŽrhÇŠS¬‰]¿r§"¨‰Ìë«û_æí/-žêüØ„Áüqæ {àÝ5­A\åowÅÚŽ™b‹Ç|rÔ%Ö´… íY?#:~MlbgTZï5»G#¥Ø6^¾#Ø=z›Ö4|ߤxÞ×Ög3=µæ¦úL*gc-*|þ9QdÏà@||;3ÿÜñ<8mc&Äv±ð·¡ þ×Ó©õ_î é¤8I^ˆ„n‘Fô ™8µ1™© <;’Ὲ“„“@¡‰ Öα¿ÍTÒýÿ÷šk¨d6Æ>ÜRdk†S©zX¿TC_š¡ª@Ÿë0ü;#7 ‡ï—r)öÃDv`ZFÓµIóÂRA¨i|l¸6[~Á5±ŒÁVÿ³"÷íT€l¬§—È6èÖô>ËV]ŸØº-1èó:!7,RÅHc„·K4ý£\»^vþ8)]±ý¶Sµ‰2‰×«½;“¼*Š<ºÀàú8”ƒwËÄÛ\²ªCò×s~ßÈv~YÅ_«ÂRËÃH©ÐÁ²ÑÏã·øè.Û`**ƒCæÔÚ*tLÆ´‹cQÓ Ï\†êî™ô(ÃÞ%pN´•¾É}i²[ÌBd"PÀetV0tˆô&òw,û~7zÖe{øúdõÐN캇ß=•{Ïíª[ò ȸþNò™¶Á§@ÕÄ 'IœÉ2“è‘‹ aº½[ª¿0G a‡™û“r´4æ³Ls²÷`<ŽmÜýKÔ%±¨ÀɼŽd"P¾p ÄÔ‚É?7iý.”|§âïÿ÷ríYO#&ðä²0På纤Ísôü…¯¹ðÑ“lÿ Õ ‚‡\Þ]£ý—¸¥ ! È'ÒvgÄÆt®3[²‚ kŒô#ö a†¶z9.KåÐB‰Žø”ŽdzƒÔ¯³î„-¥Ú÷_kfWOèõŽÉ%­â½)Ã?j5¹g¾# ¡ ²/„F”XIYÌgË^X,‘>Ö¬ôl8Ån©”ý8íÊ·2¥ÅìÚÅÐSµ 5áЇ4™M¼õåÒñ‚™öÑtÖwjŸ?0iA`¨Üæ,¯ÊŠ«OR‰£×¦¦ž’£ÿÄÈ.´895|…„Ƥɶ´“ûÀ nÚÏõ™&àªÒ ;@ˆ¿ÜÞºg׎€k½:ëã|g’…a"ËN.J6_ó#cBùjÄAÑy -ôVç‹bå8ˆs¥Õã„ÕE9&y DÃ@î‘Ñ^dtb­ ø܇"`|àùòð«9†®… ü`µnc,ržû­:qòˆÃZÙÛµ&UcÅÓ€4»ê®5lÿ 0 –• Œ2)¢vRËÒªB_wx,Ó÷£?Ã$ðSM”ùÙYØŸsuÍ¿ëëv±@ª°öU~w‹=Cuníà%ŠŠL ÒÄ)´}á*bˆBºìxå˜OÄO ì(/r^ï—Ò0ÏDãÖÒYpH¼¡¾šÄÅðË?"ƒ. #E_UÝÚ©þe˜äçhäqùž^y\Öa– z|Uüú2Ž¤Û¦h!ª‡;=öÓ\´ã;ª§"¹Š/Ð;5€ÓÈša”ê„¿´†šo”¹n0zØÅj‰Êh°6©™]ò[RÊ ”õ'„§™Tý]U<åI$u=bpZеtq”wõ¼×Óxþb†]¨'6[´–¸~~£úfìëg‰v2’¼”—q°÷n·¬›c ¨˜AŒœ¦º¦áè{qbÂJóì·/íPM€M‘|h…@˜U6„ÚHÇrï^"·ÀÇã.R˜AêyHÓ‰¦þøãOÉÁ¿Ù$øžô» ÑeU~ë>Ê C~Skì48F˜ËqñÓÑŸäÉÇ%0‹¼ÔOJ&ŸÅ*­šGô%1È–_$!LeH)_¨”Z€Â\´›Aª)Ÿ¿juH ãso‘)]UŸp+ÀYôþ¾ísâ²þÞ”àǃÀ›tbÞgÌE÷ÿÕBOu¸ùš°ûðýd=Ÿ±põ§fi~ìT ôó¿\ »C6«Žð¼j=²V¾Ýr ΙXËÓ]¨ãJÅíú&Ä·ëÏZ wQ®Îòp-û¶®àeibÒÐ}GQìŠÇÆGl4«{¯ªÝüÒ†žºþœÊdVˆá•¾?ì· >6‡é¤ô˜ ï¨Mw‘ûyXKÃ;ù'€´$dyò¬pò¢Èš“ÂUfã´ÍO½FɈ{ÔwÃxsSû¢JÀž41gU[äQðË×Ú9ÓÎÏÕ\æRmÔT¾°M›çªu æ—êoh„ÑgaA)¸Œ nêþÁoâO|ÅÓA½E¨níz×1Ü‹_ÔÂnKjKXwˆÓN†Ð>˜‘”ÎGÉ©±$±éÝdí¥ãÎï‘ÑÝÓ]aΪžÅBÙ†wõsO=>3gýõêæRõÚM3¶~>õèÁHžÛ^JñWmÎÖ«%‡ìT…ÝâV¬/•,8(‡bÚHøçÁÉãé Hôr•ÚâáþHŠ» sì©R ‡ñX¡=Y·ÌP¥]aæ¦IÉð·ªV]ËÑ4ÕS£½ë+E)´)‹2ÄlRî¹×‹S„“ØP¸Oµ¡Ø(VÃÎú:U”4>uÞXGd”sUÁ®ñ7ßSK.i,ɤÛ>x}g¯As6ȱJÂïINÁÑk.2;°º‰ý•_Tâú–ض§>ÁA"EóAâÊ8­FÅ)Z„ ,€}P\Dù˜v+9Ú»ù®p áñ~öl“[Óž»Bü“1‹›‹@J+ï!UBë–¬ïèGñGel[¦*ºõ¸ï"ÚÂ[˜«gJÜ w»›äcÆS}ü?ML¾öìÜqcZÆcÒêÞw2ïðÃr„ ˆáÏÛn¾ˆe»Ò²çÓi}1‚ÃÏÜ >7;â¸P³q˜Õ§«UG-FÄwÃ|Å„5‡ºVwhLj¦óùTÙ þ9-na}´ˆ%¯Æxðöœ ÛËuïr¹÷xü€è“-õC'ûW]»X{Úôßï:´Y¤1láËÍúÐ%óÔ<ÛkÝaËZ.Ë^ÁlÈ€'E ,4îéÔ ‡‘~erܲ&óZµ¤ðR>úò½~2$åêh{tÒ“«lížñ‚!ö¶‰o€áÜ[}¢æ”â[S÷&JJÀ?&#ZåUõF$Ôf\[DXe?­ìÏýTÂY1p–±HJ Øo-l°ìœhXesœç¾&\>`Ú]Ùü»øGRý•T„;»àjÏâ'©I:øÀ/V¿mCþûiÙ+ñ©n a|<ͨ¿ñÙÿ:ŸkVCÞIš„€ÂÂæÀGá— s±¾-–"(Ùgi”¹å5ÑéŒGOxNTúTŠ«¦\kÔU¾ÿ“œ9vÝB½Ìì*s(²nA¢ó³¯ £ Íw"½Fä•'ÙÕ¨"gºRÎáfk÷,>ûKö‰Ôºð5\Ï$¨ÄM¦ʤê¤ Ø™0È3êè;u`#”êlp|’UQˆDJ„TWJS¢gù>~+Jk:ZH.…¤0M̾Ÿ.+5=r²LOCáË\¹"‡;Á«§aâj≪£5һ핷øÕ2²q¦ÑÖt½†ÓùZ„¶®+‘G}n…Rnù ß6Í!¸EÚ±|àꥵg áú·†äâ7ÅeÄG±ì.‘ƒÓ*!%ÌHü­õrÅ™lï|EÛ îdˆ¥»¾Þ„Ú·W =©’ñ§¬¶Kx4“ùì4È2á©âåÕPEsZBYå0ÐøzÜ1¤›ó‰Þ ù¼ïs†8Ñ¥&xi¢+œÝ¬(bPŒ‹²Ü×ퟋ‹‘—Ÿ‡=ÓâMçd/Žyºy{>«‹×þäâó¦ÒÁß;P‰vÓq‘ëÕ+p»<· %³¾ýW¥c=† !L¶ÏÀ%Ä…ú©µÓvsÏZrÔòŠqôÏc¤a‘º4år5‘¹é±Õt~l§ƒçËv<Æ©•<õrÑûM£òüñ2‘-© ¥ÚæŸ ¬-Eö{‹~n|¯’sðU~×—$<ù †¢YPz¤d;oÜ[”Áù¾LS­õÏÙ¯sõÙ+ìtœhå/(ù ‰ã÷å™D(Ó0±§JüèvÄ7!þä Å\s ž)ì’:!t18йžõZµ¥ÃO(“Yñ ÷«Þ´¶"úp…,Ç—ië•# 5ò(¸áš;à-Mf£ßÞ[ œX8õÉJq¼ÈI‹W‚ÔÔ4©£wµ•Ü´2®/VGe#>Þïáíå@~öûÖfxË.@Jy©b%†j}Ë(+Õ¢¸“ÞA»>ósÃÛ˜y5„ÖÈÏi¸*µg6†.òu·”òkn!Œð~þ‹o¼°zšÉÝ‘6Õ8]àºBBfz/ð?RI&)ù¡+={Ä󰛯‚Y%%ÎUfÊ9 Vvâ¹èWáyo£¥“´°;pBæ™ÖÈ ÐÞx’ƒÉP~=C-!<# ý$nSxJÅK ^Z~; 3À™¯îf–Éñ IˆØxÜP:Û´{CèÀQ=GÛõõ>ž¢.i"…”5—ž,(­ P>¿üð þißzõ÷‹ßÉ^Šmæ³ÍîäÔ÷—õA Ú)õÈ@tæX†œSÇ%†ô€;"(q(r74ò)ÒG‡yìÔVÎàÒx…Â'e^—ãÑd6 *IiA»ð@’ç§¼/WEÃngòã)×—˜–ÌÆy®Éƒ>-Åš³y‡˜äqM•,w/îw¤ÚµÑ5–ê¸p+?G~±ócì»óAK¼©'™å)jÉpù³ zÖÈûÜÚ¿¬þï øä¤vÌ:Ôâ­‡é”/‹ÙÐ5'8 >I]Š÷¶½©õÖn’LÍYþ ðøUÓ_ñÂOÎ6Ö;mfÂd½HÛT ñ@§» ¼DÁ6êg^;Cè"yÎh IÈH lªíø– ©ŸóáÆv:‚üEV*{FD,i ¿ßG'K¢ŠC˜<änS'ý6"Ñ"(Ÿ•u¹7á‘M…,‹Ùr:ä0"%¡A¸ пƒ~Éü_ž£V/„Â=çh ‡EŸàó¦*ÑŽôÇŽ39»ôaâÅŸ)G«_´(¼ñLNùûkP7¦ÝqV¨áû¯×J˜Áëöx¤I“­£‘ÚÒÆÒ¾è»~1)›W²¯5€ ˜ILŒ$õ:ÞQ™ÊúÔ¡Áã™—f8o)Âqj0*¦…ÀDUaážˆÖØ*2“NתŠ^£obž'â)n1 ˆQ2aeÔëO®·P‘‰&øsAÛçÞÙÓš?»ínýéRt|m¢ ¯ÇûN²œU:Ëÿ×Ç,Œmàlòy¯Îf0 ¤Dƒþ›ÜïϜ㻬G}CòXoΙ{‚…“éIŠ–ß(b¶zR 8©ÒŠå]9¸ö×YŽÞó ÀñB]I]šVÝéKÊ.5PÅdg'ó“h²ôk×´hnèË¡(;ò«ê"…H~x öÑi$J 5&ÞýXvù.Ø™4Ž+ŠŽl[˜·âgÐ2ã1œa>oåÃ8W˜”sA†&ð´•»öd³#xª!/ Íž¼Q‹±ú]›MÎ0,i = Ó‹–´“'“mVˆçŸmÝ`í fW ®åü<ôÔU fY€Šê{Ý¢[<'‘5…z _ÜÐÇ;AyC¼B':ÒÃq¶÷ °ÌUþÓ%>&È«8ÔÖâ»úøçŽaM´ ¤|.u‡KÔHù6foGÀ©ƒð_qïùkʈ1Ëð¤ßÈ…E°m8Nƒ±µÔ$ úèP³î|&ì¤EÐq޾¼œr Úde2>=튜.©=à=ü¬g!òF탅—lï0ÁdúÃvËI¬(ú¤½#l}:Z‹³m}Õ¢<ç\åQ Œü ÀjÍøç¾â1p]XS@gþÒ†Í>ÿ1¶[\›ÆŸã눊r-Ÿ "„I¯ :‹ÀÜ\˜æ“ÖM|»X„ËÈÔ¥W^@ …‰EŒ,ò]elæ™ãR½´s—:1]â#í+ÔP1uçoõJÕ·çm¸”z]i_v#=÷6僃Ð×ù¨Q¨›ZŽ,C5ˆîÜŸìÛB¸JµI9>äÜthÕ¿„V …U6cZï=x%È!î{à«ýö5SwH×3sG ¯AòïÕö*q̧5nv`Ì[5uÌ¥@½G~>u»Üµ¯Ü#°\r$¡“a¯1î¥ùDƒT ÊŽS\Æï7hÀ• ÜQŽ0êMÐ_ãªË.áåwV©XjJ8lS¦¯m£ÊŠsâ[=5š‹Ó/@ -¬±´§-ªLȵ) Á¾VÛéÈ´²fzö= 73|qºÂH©«oÛ]Âxÿ ÿ…O¹ £Ã¡ÏçSwxæ¢â9E %Úòœéì'N:,Ò¦?¿'ˆ¢q0 ¼C»Ôs¶×4•·÷’üÜ6ÔÔºéQø’.èò2ì>Í3¤^Ï—Ù±4aº–çß]N‘Ñ@Èï1r s ÙEý) =qÛÕKÓÁ>ìÔ7@JÔ2vÑøIï5Þ÷…1=‹¦*cUgJY‹4o7µ ¯”lú9\êfNl´üÖHà i= Ÿ$¯øR×ÐM?ñó×§$ü_Ž5eíøÁ-ƒ³HwE­Šiø6Iì©GħÙüIÞ ¦Ô¿];­®à%f˜;}ǺÍO! ø —% %kÊÆËÉ ¢V„:/™:@Á”}*Ì’r8ÁP/¤T'Ú#t/ñ„ri=.§vBômøY–°êó[Ý3±’_}ðï.!¶ òÉrä<|‰ŠÛt£m®€€DpÁ‰°³D;å_Ý‚ðHñ'WÁ©áÂen.K—}ßñœ’X •‚œÚZÛ`a8²¡E{ÛPÏÔ×¹¼ÈZSS¶Äkð>)‘óB•"avÖIôK=Ù°^›˜œ¦möÔ­‡ÜH|ë[ŠaÖ¦…"QÀÍã‘• ;Å}½>OÇlµE§eÍÐH§!v†0¦ µºò¸ÿUçÑÜPÐjä¯WCÝràáñSo|ÇkþèaÚês8LÝKš´¶õFÏ:Î@xÀG ]{—…8»ÌDUs5I¯wþKlX®)å ðÿ]Õr Dùú»¶LŸßÂ" ÃÞÄy—0ÁtÄ6Ý KÉ$Vò2×^¢–$GNO% ÂO!š÷¤ok9"©±¦tÔ‹Zâ (+ñ@PàÇUâÈW³óç´‚3Ks‡Qº‰:eO££!„K糟¥ŽÙïWz†ýÑ÷ 0h37Ž»¥>LÙžŠ\âýS¸Å_Wž@ñ<”çýB/"~Ãbv9L+ ãm¥yÚÎn½ä¤&§â|q—ÀgŽ;UøÈ–|™«žÿ¨þ°†/U“É@¤rw¹ŽÏ]©q¹ù·]²,®¦(ô?Û°ßËѦ ÅÅ…¤°‚ ’-Ð…£7Ãá”;ݹâNȼ¡0¨Wgu‰Ö‰Ôê{ ï¯Lpô8Ã,ˆÑ¥Üƒ†Œ %½ö-c&' Ù*ÌBC­"…Æ)9wËCG_ÊÆt•ú&XðÆÐª]ü2&£L@,ºêþ£ ®˜{7UÀùvþ³PNýžÂV•Ûµÿ™…o ±ïSaaÉlêB“!ëêÑ»HÍâè„Ab¥ÒC\ÈqÈÿAÆ‘«+Ô óÑ·‘ û1û®¦E¾Ùˆ¯ÜïÑÑàFûBÿ„uÓ_4NÒâ,‚dô2…ûåNVM°ÑS€ÿ”ýÔed]FõYP€¾ç¼Ê¬†X~ë’‡’R‘ ‰¹Ü“ƒÁ5lá7Qz\#Ì€Ág7Áo„@‰šG8Šß„íêK,ù-ä­ó|Ô•†vãÚoy!û³o¡ öJ&BŽcwf$’YƒÛsF¢B2¿Š¬DLf!Pbû€` YŒ‰¤|>+.³X¾ Ò*±ê2xÉ(Í„5y^%8N—Þ‹XÃsèç4($…¤¼ë ý€×upö¤ÓÇÃ! ë^ñNϳr9½VM%6× ¬h•9ÂL{ݸäÌÿ™£sX„:> õ-gbÁÞ G&;ÏBBc±·æSBKl„ßéÝ¢ÖOx¬¡¹¸†{%ÉÐ8änúîü!üÌ7ü+OÜn ußá%ÖÿgjChB`Ï©ˆYäUœ/,Í% A*Ò«©˜W$¥¹u7÷·Ép­-·C:¡¿¾"ª^h$‡§ÊsüÒHÞSãM2' X´x®©ÙQ.3¹áÚù.ðÜ@ˆð¯ªRoœÜǾ1–ù2e—~[¯î^zˆUjÄxロ)'Óßgr-žb‘í¼¼ß†ãÜéÑìÏüVˆëZøuÌ™ÆN:™=f˜´Ï¿µKb׊‹wqma]@m®„Ûì ´+ÌQãmM<æBÕfHCÔ¨- È<ÆM<„ß¾‹M›á|C¿à‹v?Ugar>f®¤ºKúIﮑÛùîU»dïÂàÛ?ßãœøâAÌ)õ§êqÔÔÅÿCLbôÞ’¢*V·úÊŸü•î|e‚U,ö$íQì¹ --iBpaðR¿=ù™½+•Ó^¶äS/ƾL×¹su'f\‚ñ°Ž®=ìjÕ5üÐÖëyék]®D®€ªÔΈI<Ç$w ñu]ÓoÌ*=;f²Â›¬¤×p…cˆ#Tk0B‚9"vžZÌvÀÞ7(úøœØîñugÉ?Ѿ{!XYJg—\>óö²ð {ï]ËÁúˆŒ˪¾Hpop¢ Àà!w M;¥F©«Soë>âŠl!¥˜“yq¶­‰Ð¾DÇâYÏŸû¡Ò%Â’wõäá¾vÁ'}ŸeVshDK} Ù¶PZC¿ztO#¾/b7ÿ¡úQK>¸ÀLÞmçZBèàæÝF3ý¦E«Éݹ±¦Çà ct÷ü5g2X† O”s1ļ«^Bî*/G¼}‡ý!žé!«2S’1,‡ÓÙ·, mâ†çNª7µÆô˜îsS6‚—ûK#}ê=X™†øœ@éË^Ï´rLl0?¯‚+"¢Ýîÿ-!ºsúyÁé3•Ävs|µav/}FÓñ×ôÄÐV(9lªnž†ªkC¸ý‚ÀLâ!NÜP¯>³Ý\§?Û=5] Y} ­X{zL•ŠŒÉ²´nƒ /ølù°Ç ×/Ä6[æ\Ñ f‰éý©šKvlËêíŒÍÞ¢}–2”"~0¥t <ØÆ9ʱáfÇ6£½ þÁ“ê ‡‚j¡Ö(t/2)­Âh»_0‡ú»M²¼Qõ…*.KâcJˬðÌ$ H)¸1IxÈ=¨¢úß50ðaG0ÐŒöÀK³‹!ŒO,@F¹ß•ñÙk°ÙÍÞâû¥˜ño¯BíÝC7¨‰¸iÔjÈè°´÷ÙTÆ5T(]X-ª 9¸|o®²3ñΉ õÜQ]jhëŸ?™=n+:&ŸêÆÄŽÝŠYÜâî.ëM˜)ŠàòPÜÚKîìš¤íŒ ÖzÃáÛóžz YÙ® Bå-ÔCùÞ&>èj3ä4J9¦úŸˆÅ ]½‰—^¬ŠáÚå®?'b"ýQä‰ÂRwÍmq~íJ”‘Þ4„3¦}²hØ3E#ÐÓÛ=ªÜœ\Ú‚ÎæºT¹ŒŠÂ ¦A‰sÊ¡ óò2ª½õl¾°¤´^³Ãƨ—}GA ñìu³[ãÕõ¾,‚É hæ†{62¥¹¢7.ì=6¢þ¼qt1r`ÇñºŽýrñýÄ{Î3ˆíM•X×e áÀ7ô Ú"99Øpð±6Fž*#/¢¿`Ng- 8Kžú&Rû>ü¾M¨Ì}Þ<ë*“–ñÎŽBå ÄF9OtuoŒ4ÛP+[&ÔI>ÛZDbCÄüÃI·ìÐÄ9,œÒ*ÇŽŽòÁ7Åh‰ŽµX‹2ÃnéÚwa‘…ã0¤áµ†Tä««1ÌÉ’°˜b‹°›>Çü &þ"¹+•ÖÐ[¢tÍ“}ö»¾§TïŸw62OÅùô4>/¾ß/ A6Wê'¹™2n&‘•«õI¹XœzÖÕú+!pžü5,ñÖ!ßÓרˆ£SóÆ “eø,kͱÈû€é ꘼$Ï…6¹ýÖˆÔ“m·¡×ÒÐnùTnÎØÏºçvpöÁaÅà5„:´ý™ŒAžyɦyRqMw¦ð@·C¸ˆh X6ßÂÈ­˜ÑàP;$§¢|éå ¹š©YîωÏ;'¼£½{‡ÎFõˆë¥[;1˜oêï×°ÏMy À…ÓÇ<‘ÊÕGkGÍ?OÎçÞ/tã€Q¦•s¬¾ìþ¸šG>bQ·5i çoÇHyæ: }üʹò®j só’ûlå“‘†8>(pǘlØÐÃ\¡Z$^°èIʨJ iVü»Õ0öÓ™nïB>UŒï¹/‘嬎=…/àb¢¤Yp ûcSÊ%`ùQ³­Òm1±]j»˜ÕÌ^oçÜ TÞãíp‹4ºÍ¤ñ}WuKG¹ X¸KW%p wû«dáâ‰϶]‡â±”bõ•ŸµfÔ*Â"HŒ&_iÿ•u„¨B§Å—1üãlŒ2+[:u9VãxaPѲtoì“Ã1G^Í5íËÅ`LéCšMIŽO48pk1œAK“äó:µ´EªŸÕÌÖsø6®7<¡>xwð®·:@¶YæƒB¥¤Ôi›‘›ân Ø"ú!ûS|×N6bŽ€÷˜Ûx*àÍ+?о2DA}»/LŽô˜F—Èk6` H›×âLç˜_ùg”¾R(z$–¾îSLÉùçÊÝZÔ“ÄJ ½¯‘Ýôðk‚xŠ+9z"´®ƒI ¾HiVb懾´4-$Öó8ß÷¸&$–™I %5HtðR¥„1DÙþêå]4Ê·Ž)e¸–vƒxÝÜJY̧ĩòÐQˆñ^* ªîb­ÌoaŸN“‰Õ‡cA‡Ð“¾d‚`r®_”Á=¹ÇiÔ=RÅål„“¥˜vÕ”ÕeøÞ(£o’gߤ‰£döáÒ.GÓ®"ÖrŠcU‹‰3oV”¤~{³6#k‚ò¾ÍµúKÆ Û6HŸù…¨,Að¦—A¾]9té6+T)p`äzÎ÷xéAx¨6áŠèœëBøÏ;¯'È4»$˜i¢t¯\0Ø óå¤/4¡Tp˜7TSÒ$‹ —L‘CÕ­qäŒØÎ\O}HÁüÛT†ív¢“üOâB’‘øÁ0ƒÔ]l¾:{’¶'.U¨}ô mŽåw ÐŽ¬Uœ7Qëå ±÷@Ra¦o6ú0‹R¸ª¸ˆŸ „8vûÃÝž,ä½rž¾ùvKt®g¬ý@ÏÁ¢gÝ¡ã>Š“qîü|H¡ÒVæEŒ¹E!ùJ¶Y×3¾Q—†)9ÂUÝMEb²6”èp‘È’¦µnöÀ#0"f›¸Ë‚¿”uÝž;!ˆ‡î §;t)YîŽPØ»¾žFQëkr—%í4È!0…æ\E¸ãÕÕÁ18À>s—ª-¢®«I…‰w =ožA+‰.CAfè^kY¶j•/ð°fˆ×éßîG›uÓ§B VìÜÁš1z/À}ÜõÚͬ¨“ Xk§rŠaíkÁÉbÃÒÐb,Ï‹ þeòËGÞESH‹,¶–¿ÅзRºÀuⳈ§ÊùÐ Æ)µfä4¦t^l„‚¢  %ØûÿBÚæ¿"Ô¡=¼Þ¹Å‰\ý:á ¤<Ïî}Ûp nX{Äç×¥x êqà~”ó¤¥uÒ>ºA;WàzÆŒ¨‹h{.¥l4¶9!öT_ޤÄý°ìü`bõII{šÇÛˆìÓš±é2 ¦6B˜zAVs—âx#)öÚÎwx à}¡Ü¥mžË·6S%¿‡ xø-à6ÛØZòR  °IÖ*GϹƒ{r‰ÉìD-xéÞ-¼³ =ÛÐ&Ô¡$\qgѬëÂgl cô·÷¨ÁÏ}î§£½ų5|COúxlb¸%;ñ)ñðð É]yr0CTHð€»A"úム^áÈ•/ÇŠlÆ,}è¬JŽ`Wd%ÞF\U©€‚«©áܦ™hßÛlW‰=÷?ß÷'cJÌ´ØÃ÷oVàôÃÀ J…70b…ÔÞv” ÉŸìojŠ'Se`RaŒØ¹ÍPX¶.ò¼?‹Lãü+¨m³’‰ý’@n »««F±tãì™'éÒ_/sGl £N'áØëÛ®d÷™4Õñ«ÜNqõ§½IÐý ®QVôÅœéý({A’ß ûŽºë¤>Wѳju©£m86rõË6e*=Àé¯W„Í¥žÞ`™Úš7Ði©ÅayM·êÊUíF™;?ð‹³:º“˜ò\/pIß‘ÔpIœIØ7„%S H L–ÚÑÒœdD[FÿÄ—ªê£Ñˤ¨¤Š=dž™v³jÙ‘EÈœs†­êš’h¸¼ÑmøuÓÕ`g8™÷8XºV¯•ø¨Y SŽc /‘kб›žB;ô—Œ£XXF4BCÁÎîÊ?æèô]½Q*ü“è“è}þ`Ò]¹œ!ú¸ ‚8i¶Û³8ÿû½™>B2Š îT›è_/t1œ5ô¹UÖÉ)ïso5áÝ ãgþ[“O%h¨äsÐB?ø…ýn(S‰›wǬÓo ™fõ^ÏÞØDþËzj8p¸ܤf¤p­až¼å“S"ÿ–JF\ÕÏÔŒëN‡)•¿\ W­Ò9H`ÓqÀWlM3D0A}uè†ßt‹z³È˜F”cTâƒNìÇ(OÔ¬«Q0;´ÇîÜ´“x•L –ùöôƒ³{ýBNPŒÑ ÿD'"%½_åêè™§«“§ÁbxíæWþqà–-9 ¥##¿D~ݲŠêëª/©üÞ'Ré¼à™½ÞÈ–è¹’Ñ&[f•ãX–¾ bEN/ºTú°Ô;&ò#!Њ‹ÅhÈqpÛ!û¸þø›b‰P±}Dg;r” 뻺ø·â  ê̆ŒÕHMuAß –ᆞ€Ä‹bmZél¹Àùô|ŸŸ¿õü{òn*"F4₩Bá(‰™@[¬•9© ¬÷Ô¨ónޏ\ äîUéÍÐÏ;ý/]X87X–¯`U¼û!tV}bgaðò¹s€ .ANoæ JµÚ±åe*Y²”ÉV÷âî–à>1°ï5dz3†ckC»«û”V¬|Ò!½`¿[¨ ?+B¿®[·:؇³Î:ó†BÙê™ÊçäçM3u$W\ †W ê‡ˆu½Q“9Ë)*%Æ“R§•Ù0€–ªrsƒÝ úÐÂ5¥Y‡B¾÷^²=¹¶¢]ÚÜ´’­ÅÔÃ1B(Œ¾’S˜Í°jÊÚõ=la./×ãJ:]¥éC]}9.ç­üFìB÷4 ào<ßÕ`7GÙïÄÚÙ­.1ÕšÌ,ù\ˆ["ðÖÏ×nNK‚\¤³LÚÂjy5S@ÄY”Vµ»¤Ñêðè^» ^¥èUÚ æ2æÎŒ5Ù¯}á—=ÿ–\dþïeÆ*…ûËáÌ ËIw×&œA‹0 Øä~»É³ã{G‘¦%Gi:†k5þÉÃ,Ô[Ç™Ùâì4òÉ® _2rAÂÀÌl‡¤ãG¬…ºxðk àÒZŠÖ²XÁ({ÕÜÔ»·~E aGƸ›n¥œÎŸ àCM$fi0MäaÏd[nvÒiA]¨§hûb!FÎ…tó¸þ¸Ò÷Π 9þ¯7ŠÐž’-ðݘî‚íJS\•ç noÂÜKNêÅs˽(F×3 làåÔ!‹—ÅcìV]iCþÀ—ÙŒâüÆ?Ô,ƒÎ÷Ü„ñßgšq­çÙ ö*ÝKuQ$kFÚß ù¹6{¼Uë½ØÝ–wÁ/ þ©-£ÒD<=&lë­áxgÈ¿xR‰üœ‰®ÚÍt@WFÄäQY¡ÛÑ¡ÃÜ–ðf|8Æ·ºsxÇÇ€g²0ùjädrƒ‚wã%Eôh»±JC¬3–§®vz —n\?Ír¨ë…þÒg!éVà~غ‡ ‰ h®DçÉVÂ.e—©(Šóf%8ß’¯òÈP`ÓŠnœ—{qVwµ”ðædÖ³ó¤éáZNÜ|v5ª ‹“A—Æ’Ö‘ˆ$•oIJv€È>/¢‡Åg¢ Ó=•Zý9u‹+hÍSãø<‚ìrr­¯½©stLükr»O#YDðÚ^ á‰i¼¢mmÌ{Ê+d(‚eØa01üÏí]$¦hGXçºW''Æö=(@ï×{4ˆz².TçÍ%œc38ü¢xUF 9>- bÞ­ƒ•ß ¥6ÊB²Û©ðÎC6ÿëúþ¤…<0ۯݴKŽ«_»—i2ÉŒL£—2`&Ä» Ú÷ڽܶà­ç€{ä`æè¾lß’ƒV|㞢Á„¾ÿ¼é¹‡EÁ Ág •u2©dÆtÆÉþ ëý+JµŒV‹Ý6]HTdjZ±ëTI¹I’úϰ©† QO· u¬b¯‰Ä,Ÿ(§çÚ™˜ù—F5 ¦?ÒXÖ‹¼غ;+NÍcÿ~!¿ÂiÉÖîppji-Oº|kµ˜3ZYXÓ?V3«§4ñTÅ–å0aw¦Ù·¾ÉÁ²»¡Ü(îk<Ó/õfKª™®/bÛ¿z¢6šQÈðƌޚÁ¦qÂv¢kÀ¥2•~GbÛù \´Ò6OŸ‹yûVc}± ø@Z3–x0‘2°§gäìšiä½ u–ûé¦uDiͧüŽ‚ç*“!ºg·Ðë94A6yQÏ*Ù#q¤¢±\lvËŸ#ì°"¥@Ó7!ÇÛ'ß´€‘"â2–Ü™MÄJC¨%ø~1£J¾±B ~r—÷ aÈ †J {ð‹1ŽšúaÞQê_PÛÒ¤[—¦Mæ<ɱNÛgž)m¥‚LbI3Yv¨þh¾½]ÏwRóùø¡Ó mÝÎØÄjîb"èbеRçNüo§Xâî õo‰?–ï>ÿç]·05x³&"p;sŠa 5ÈåËP²%pYÄ„>`ÈIæ ¦Ô D„„#ŸNtj³¨F‰ÑYwºE£® ûíÂãžiª †uÜüeâhYåôˆ†fcEo–t‘£BÎ £a± ìî·]Î),®è5À0›íÊGÕJó r`qW5UèF âLZöHŸiÛ¯¥±W÷¥½«yªCÅ€:©c›×2 f÷çqÊñ.•ր>Æç,a}›½+@ %'ÈöN -ÐqfœT ¢Ó »N ö)«aEÚe¼dåÎÀÎD‘쵞ü\š¡wá1ö”ÜxOQ£bçij¦j —•S†O}Ö= ¾fcè‰éñ¨´ºÿÐäªVèÌ Í[¯ºhE0õœzúbuvªÿå»T¼*hA»úÃÉ´‡hΜí ;1 †ìuÁÇ¡8ˆQJc—|lE´Æ[~—ÑñªXAcÅŠÇA“jÎû’lèÔ—Òto¬[n8ð.þÒq¨¤3FÕj‰ã…øäÜò ÂÆ¹ffý³Q3âTý7—{&$W JK³eó€>½wï8¯uq¦,’'Å9)ˆ‡tú€ç³òìØ=¦]ñ`=ɧ ˜ÞÓ@ý¯å]Ñt{·f§¬¹ì-hé<µBŒyh…“Eë>bʰfæ2=¾Xpò›’±B«|ÂPlÀŒ¥À™`vCÿ¡HÛI;É~p5kc¬TžÍ`¨ûFz6´ÁªÈ^¬@ ÖÀA/)·pµÅÎÏ™[¬Ëtlú#Ä m_ÈúzDhía!ÿ. UÆß~¯’Ç€ÈqtPÍžeˆîé /c¦ÜNøy5™ Ò$Š!÷$mo;­¡T£ønæ•tK"mµ”þNòîù_d͉aþª p2Žtñ˜‹ïE”±‹"ÝgäËÂùËnSŠzÑBu¹?΃Éã`MÙeU?¾9g›ÆùÞeÎî¥ÿö^YoÞÔÐ%=ÓCáç<í˜0«5Ïø™Ò ʾâ,æUHX‡iý)øŠŽùçþƒœá§¯Î ¢ ƒ¬ LW|R»¬LÏò?«P®Óëáí³£;I1u² rò‚ôæšÈöÔó%Õ F*nßh5ƒ·!>ý‘ƒlæÙàoÒY”Œ+ËŽ•î3¿^«}ÛæH¢½~Ÿhm¢p.)-Š’¾Žs´_"’}!0“]s:6 .ë:í»(ãÓ¹ö‘7cž>4ÆùTLÒȾ%]Ý=ùJ’õbØxä48‹ÄÜö_ˆC½ˆ-oÀFŶ³½ð0T†$ •oÑßð$6%áúâG'òìq]tËÞ…žØ¯áê½2k:rß±E±N öчÒ-"N'hªrS|ðsµo%¥P8ÝsHa¯LU™éuß\ML¼à_ã’I5ÄìEÕöeG4Ëh½ÏñÙ Ø›‘Á£ÌÅ”z²ŠÓ[ƒ¼ºíå뿽gïø>'"HÄf¥Y{ÿPöªr)KÆ£½þÈo¶[À/ñ—q%mfÎãMB[Øw9>¶°M,N Ôöc†Ÿ+Úbd ²"ŽƒU!ÞgøJé#uݶƄ.“ËF—Õ¶Wmìfõö\ba »veƒ?>Ic%åÚhîC+=®!—_˜É^}la£`nMýº–N;:ƒ;\ün׬79ûN€èÒenÝ{éz-çÝ»;æV;† ð‰èÅáÇÓÜŽ“cÐÛ¡egàN ùW“"õÄEçú]$:ØŸ€Üa´1Úv1<¨;šû"S*eÑB¤žï¸£ãÛkß&AÜàìßâÉ6Ý»×¾$®ó$ŸäœK¾üÏ]•Û!Âa{»Ú¢]ޱçk¸Ê¨LöWR›Zçà~»üˆ3Ç,΋´7@CÓ¿¿ÊÍèioÁj°>KÝÑ£&¬#´k^ÍjZNîý齯rþÀ`M5ýÂÿ‹—8‹;0Sa ÐWå}ÈêÖ‹ïJ¯é‰½*c…ŽqM*ˆãŽî‹ú³­ëzF«ßÏâq9õ•3®{æ%çGiÛLò‡½©u( „‘Ù@6ah󸔬 ÌR¶’Dv·ìxò5ü|“(±j[k’}ë’Ð9 ¼ XÎ^ð–¤~õ¦DñœÖyŠïhfË«áR2e™ÉpSŸJy–5°+hzÈÄa®ˆêjû>“+gÔ±ÝÌ«æ7L¾ªÐBˆÿa±,eٖôB°Ù %|VÂ߸n?x².> |Òm  ßß’¶×wr•ãn‹'< Ö¼´Ñ-m€ºÅ¯ OªUÛ¬ïsÐ:vÞêE”w¨¹\>ÔµÆWÃoÌ%ËÔ¯„l£nû®z--FÚÂóÛ¯'FÖJŠL$X¾åu-×哨J´êŠ$y%Ü  ±3Û1T@¾8{BGeÞÞAzê…¥îœìS‹²Pxà UúETÄdujd8aó[zœñÝó’(–Fé!6ìSpþ² /A ߦgÚi¬vÃ,â“ÇKŠI|Õ¤FZ-©g€¿Á{gñCV¯ÕCTøƒ¯ÀÞƒƒ<æœ:јµdžErHqºkOÂÖ<_‹õ!Ôº1×aÔRáß4%)0½`ýݪ¡¯´ª®ûb^{§™7ƒ¡¶õ¥6¿Êô WÎ_{Ö=ѹ³>5òéÑFÒE Vž8P¸Û¿8kfå)"ÔáýiF••óÇ\ÑÍ Îfþò&F¸›æ( æb^p¥ñ>­Þ½L«ŠáîˆÇ ¢’÷Çû”õ›aâ8Õ‘|–n¤G‹cÀº[ú2ÍÄ]ìT\aŒ,ÏîlûŽ«Û%<‹|öã¦ÎTzGþMØìüxu€ÀŠÑ5x÷#äEúB$|%K,w¾jp,A|Xÿ¼'ò•©&Ò´ZãÔˆ—ñ^;:­È8®Šá¦q!a ]ò^œ£Ç“óüÖë+ãÃt#K@à^LH£uãØž‚B±à%.¾f9S=2N1=–;.1!Ë! &Ig#j+Â(«¾£U³¨O®ív¯«þ娠læy}û)âûÃ|™~£ÓöÐì«Õ5´k³Û ”*nŽÈ•0B.ê …â¹NY¹MµÇ +raaA¥þäÀÐbÞÄ­èrŸt‚a‹©ŽÖp‘Sf¶ðvàµ^ó±yΚS=úè:•8G°{ݪ–‰§[•8þ]M-6=Sç@žaúªâ¤³“GÝYBú÷DTçß¶ãäÕåg-ÜØ_ãW\_‘]ßÞ7Øj_BBLÓVäœ!FŒŽ§åVÏ$cñ:yé…É6÷Ó@v“‹{s QqÉ|ñš]‹ é“Aœ#±m* ÛûIaÒѰRÞµbwÇŠ$GM¸Gzƒ!¡œË!õûîf=œ|&[ƒ»­ÊŒ zŸDuÄ þ¶ü§Åì4c_Ê~mŒáûRì,Hs¡¡%®w“†o¸á|è§®h'_´ûI¢¤"¯ÚÄ€¨UTÛ%k€¡'Uè[á>O!· OçHúPü¯Æ±ùø3ôß•gM¸·A¤Ì­91dCkF8cž*"&ÙïF¤îg°«qѦ.åF¾Í?“YðŠ¢}8×¼¹Ue7þ:Ü‚â®udXÉ3kî]æ÷Z'[ÆrnN=6Å àpú}²“[Ç®âšZÏörk^†7*L2(€*Ýp3¢‚ò\ `nݤ\.*>^¯BëmÁY~Œ£Ž=ÝMÉáÿN-ü»˜¹#L‚‰x²Ú8g¦|â:V%AN×·B¥¦§á̾¨C8Z ºõŸo’$¼0ϯ„Ó‚ ZŸLØ{w¤Ðµ¼Q+à"›×“¸æ§¦2±rÓ‚Žú}È…)à:®§µ,9S÷]M Ž(çJsE9š9ùå’€[¬Fé79cWa¼?xˆd#¼0b ¹šv±« îÃ5)|Ášh1ïÊwõOÂØ²ŸÄôgôh»ÊG¨ß~ÁY:Nö'óJÍWâ 1ðØCß7Öì²¥,ÙoR~¹…>ÒJ‘”’xjÜ«¸¬ŸmO©^£Žê»{_·ÀXi˜ÇT,rÚ]jÂ\/Ž€ ж^9àÆÄÌ= "ü‚Tf™o¼U³'W»€úèESyÅð%ÌŸ#ç–…-4EnMZ¶õázÀPG\ð%ö´nÇHvnrä»iÝ·u1|xŠïTÆ V«ìÀü¡@óïF¹¡âá!T?žwp(þýGšÇ˜#pÚC6ýJž¶ 'Q.¹ƒ§\5Ù½ëÆ¤ ž‡%±Ïã‡ê`¦Ô¢C‰Ì•þ‹u†¡Ön,lJBh†äzjˆýÙsÒ6zyK¢_GA †4þ¡âN7%—dbò®ÒŒ,v“v¯§õŒ§ó–‰Ô+=ª:C¦.«±ùHëVö‚Å»±ùSI—æEû,Ä!ɕóC*T2À{Ýg÷mûΟ3ãj”Æfp ¡nÿ‡ë ?v¸} ˆ‚¿üɘ¤úe–åífG<6éMȘü/ÍòLž]`$ŸS¬¢ëP9˵]ém*Y™~”tÖ$L…»“ŒÐÀ™}ÁÎ",Ç ˆ8P(Úõ=צe‹Ý(mþÊþ¾Ùº»•VÉ f”ïûƼ tøŸ 6*»#]'uF¢bMÍÉ}+F¥eÜb£x9eÐé: ‚àp}:=‰#ô çö¹n¢ÇRx÷åæ~HaCúõcà%®» ™<…‡oHT‘£hΘ,Úf³Y¤Ù_^&²Òå²/Ÿ è¡SÈ“…iîy«!ûÄ/ÓÁùX¶¾›8 é3k Z„ÈfàTì|¤¾ë¦ F>ïÄ\.o•ŒA„UéÌÀ(ƒÙäN›Îk í±:t,„!|Y¸€ Ö5}å²MÓ>ž.jF¼c9°ÊñnLjˆõnW< ¯si÷NÂî1t©Ñ[©«Ð}7«y <"‹CçŽu^\ :X…ƒ»{MÄ6" âÍl7jg1” yNâ¼ì32FÆ(Q BÁY¥YÓsn?¦´—s op¿5½­Òxft¤mtņƒß4]pW¾ê?DÑ^郼î‰/UsÀ“ºéµÚÍÚ!€~"rAëIENrGá{ü´ñ)÷™ÿiŽƒËUrîw}¤p Ê›8:=©ó%ã±åàïÉ…rU9•Ž/7×òä³Ë®¹"~në~¼¯Ü«4__’Ò{è ~Ÿ Ù/I®càè‰C7JiˆHðc´­é7ûoéìì¶*V€ —¦¼¶ô¨Y ­×‘Έ4>²´À9%8X éþn fµ–®áw@óËW½ü %§ >ˆ÷)9(=K"dû?µ=»%|@ì•ç#L‹¡ÿ¿§(¿gè8jß,Œž-† ÊïéV%®!³¢S*`¹¢cònljô³M¿®¿Î'ò ³kõWêq'·…XvñvÁÜ™½~ú~fN†r¿%VðvÌÊ1Û½Ù¦òbŽ]ÒüäJóp´HÕb‰æñý4CU×,-:ã%ãvÏW]$Ê ¯5>l38`ÖŸP•bvÇU.,ÃEF¶s‘E†¯ü}2訯%qÂáê Âú{ } ØÆ»Õ¡PÉÏñÿ‰®C{IÙÚøø=ÝW×mšýWk! ¼Ñ3Qô¨çO(´[Ž=Ư²äÒœ8¿±6TÏ!ÊØJÌ^d4åÞÄžk,y”'g-ùœˆòRAù+mï‰ÕýÚ&_¬9Þ'AŽlfÈÂ/ƒ-âÖ’3°:‹EWá§û` *ìeqsz&_„0An¶¼~†ÚDÙ0d26êÛr{‘r3ÙqðÄø ÓÀò£^ ƒHè3nÀÔ“—à|æÀ–=Ñ9¿£ù¹ÍL³âƒ=…›´nÉ%Ôy¼1è‰TôÂRmV–5MøäÌ5 Hl÷¢ÐÆç:šÃ ¨Wé üAùwiWNòèͤÆbÿ©ø ²”^;qx#(-ð½RÚª#gÕ.>qÙ#´ç¿!åô¿æ‘¿€×ëA=yñ)Ãq‹œå&Í|S>¢ Ë «Ø1{¹Nÿ^åxƘ,lg”ó]r>›ª*9F_Í—Q‰Á“÷îAõ&¢- 2Œ´è0µÌÏ}Vºô‡é9óÐóäaÀ‰ϵ(IMŒXöNÁ×£FˆÙ*‰Ý}­vûÇtfÙßjm† äp®Ýj[‚4ÓÖ+É86ªòÏZ¡@ A7 Ò9å÷'–HµÈîœõ5¨™Y9ŽÏÙs;DUÛ ±æx¡“l—xØ™k±#Zõ«r¬Aˆ€¸d~L"AR™¥(F¬_ ÒŒGˆÔ™@.Ÿ«{¯sfL›rÅÅÆ.r­çŠn q»ÄXeIAr¯û2ÿ>Xð£Åc¶î#ÿÉ#@ŒßÔRò°^±ë*› —e–©žwûø~œ„A¡-U• Ð²h\«—®ËícK¬]wÙ€îuÍ—É?»¿žÍN¿ïú¢ó{i¢\ªLq¬.MH£@÷†T¾ö‚Öôwm/f§7ÇoȉÒ&t9Óú†èÔǸÇZÅ1¯´%zá­D,Å ‰]ÜïÀ …Dˆ‡|r*+NÄzuÁHµ-Òh‚]'3JaÚ¨$ì,[ÔÛE¸*“çè<.(þà@M³¡o1n06'¿Ðx¢a§BŸ{××xªìÌäœi¯³¬ìÉ®ôB" ØþBœë>wéÞÂÕOfQö6\J.»:ËòiŽ0B—°w^\¥7†€@‘FípçßßG‡-- ÕHx·ÙÞ©C‹žPâ^×ïO°´ŠŠ$ÿ—z}äâ×=Äß…Žï– À~ëoÏíx‘ÞZ1®åϯÁFº§[ëHè¬OfP½W™§yrIFËtDºI• ñô”½ ŽÝdànn_³ÕÆ,e “´¢ì_âêB«+†z‡ Iº.|e5À膄þݧ˜Ï vª>/v¯Ôµ ‚*+U.(Ì g.²[N­ó}OE2†Œ/§Ùkèq%Tã!¦PÆâƵ¬S²Tn¼ Úö ÷ÕnÓ}‰ ¤LŸ´‚þ.; üÎÀB„üfuyNùE¢ÞÐSÔÇŒ³Øs~–Ý«ºimžõ§Ì2$`#—ˆ]Ÿ#ìMÓ¹”u1‹C@´R§^ 0j×ãu2¶Š`Í#%$äƒü{™9ÚÇ9T Õ«Grz±äy„â ô$7¬8Œàæi^Bä¡„kœƒˆ¸ÒÚÑG¯ôTý(|+izër,WDßš+q/Ä `•Çë}4™½êCîVOû¼ #¼cŸ:õ ÙãI®)Ûê›B‡íN[áç<ŽÏÐÅ¢´ß#)S‡ì‹pUF-X\z0Ɖ¶ôÔq¤K)[^v6ãª+KèÄKŸPÆ^ɘqw…ÓZ™ u'À‡&&§^M!ö},4Yö…£€ñ_ø5ø âãn˜ï I³( ¾æ©fzžÇü’JZ3ß}J¯šíòmªšœM(¢)¯wçgÅ‚MQ à|Xnk;P_o>ê~ùªK55áhÈŽE¥ˬVôM0&¬ÄJð‚ú2›]2¹9#Ef=ÛóçØµó(ýK³èÜ@OŠ+ì`§ó®)>Ešñ_›,šVȲxK¿cV´ÜÜ5ë^ç®|vÀ`¤(ëÀæ’ÿ¼+AxH.øJËuàbÓ ý¡Xü´[Íê”4\Ê+ 8»åDKðrv¦¤2~¡³ÂŒ³›m+ á·n4Àä}Õß©`Àhôy?5qFÕi6¾9zÑõêL:¢Ÿn&ÅÿˆõŸA4½æNãnG°# ¿c m åâ‚AO1NŽq°\ç†HüðÁd+Î+'­@d¶¹½bw„áæÛrkÀ‰Ï½tFϹÊýî/œDžOZþמÌL°\ß ÔmÉM©,!{ÿ8× 5&uM×0¶#Ïüœ³uTÓoˆ/˜-”uŒrâAÈEgVNSš^%•q³½=[Ž‘µ”Þ×î‚*º+qÕk‡¾>ûÀ-bæá€û5Z<úi_im3.¢ö÷Ä›=V\k&³U‹-–¸A¤±ßo,£+eŽZ8¡mw°cœÄ9tt(^ê…Ï×a¯= 4!¨½cÅš‰Š3àžà˜ì-ƒñ,?¥4°öKËušž˜Ì»¡ O{¨Bí˜í½<3wé÷Æú˜ÚI9œaÒ3Ðt <¢¨=÷¾ †hýÆÄsêŒ~{Ÿ£}ʾ‹üšµ ݈¦Q´è6ÏÕ‡‡`7@vÊ«E4ÓÅÝéM¨±’›Öká1<Ó»­QÎ|ÆRÊj%>>”‰´«?ñ»ŠÈ2Z,`ÃÈðÚJÒ}{±ýY×Fûo™GH?ðû@Û '™HCE¼é§O~0²"’bJ®q¡ëØ“ù ²ŒyLí€g«_X +q#+pFžõ¤‚Üœ¯}ÆóéÊÌ‚‡½soPkSÁákÆïQ°¾t ÈÚtˆ£' ÓÀlïÝ £çë€ Þ…–ênBŠÚ˼ÊTún&½?ËI¡"TÄ/.yÿý ,©G׎T†[¹„÷*É©V9~jz‰ ý*æÿ þÞXwÀÈÓ\ÂÒ$ĶpêõXUU`ÚÈ7(Œ¨wk{N7Mº²¾rÐØU¤€9|‰.”txa¨rÕ»û Vº,'–+«¥¿œ)á§qB'+S3%]/ Q­û¿à™ a“ÿè ŽþãäÌ(\ÒΣ¡ZÅÀ±œ™.Û£bº–1öM–-´öLì¹põlkdÕÛ JÂû¤h¨ve ¶À§Gm{*(¿Ræø ÎYðÒP#x¾ÊÈ•BÏ|óE? @ÛwÙÌÍêÇaxcÒâ/ÔÂ'¢o®Ž0*^ j€H„–/ºìIVy†ÖŠÐ¦òßrW—ÇÌ^t¹CZ;Iï÷ÛþÈ8ÉÕ¾ä­ä$ôÔ[ÉA|tœ§|õœ¬aÄ)ª 4:¹Œàˆ¶‡(.Ž*‚„Ñ"ÅÅÍ_íèûÎ.Ý ¡~=X †I|hù½ÝˆásÌ1©õ:w3À'}ùqÖ4Uïkƒ]ºâMÔvE"=Ôqn> RÐsñ® ÚiÏNè< °k²"mz× z¡³õûðŸJœ.§6•T=Çխ˦|Èù#퉂\½©ÄDMìX} ë£û{õKkÈ#Uâ êrŽ:U°'ZPµþ¿u2D1Ÿ£Áæ(Ë™upšÇ_‰\’—ToÚ4ë±e³NEG\ Ýa£Mp·tÁ‚¥z7’ÊÃÓ>k2R†ï‡ Uq¤Óú62ÁDIxÜ›?³ˆ`?Ç?ÀŸÇ÷]Y2à•“f¬§]xl!ý^íºSi’[BW‚“eªÖHÓ›€5ëÒZDù! ëIVpL^ ó¿Ò’'úÚYÍôkëñè4k0ÇåQPvþ pˆJœâ¸RÑ>±3O7þÿœïÍÕr­#öD¿ó¯4$”ölI?èBrï:d ÍdFW¿€¡‹Þ Ïré>†Û–)Nq´úITÖWT`O{óêcø™¾}Ê c=÷ûötÒ¼Cµ]?ç„Âù[\n•^x._üUY^s6& î Â3šh\Ëy~"Œ ¤ÏúAo„-Æ2AÖìzÁÜ:PµÚsz°/x Ù¿X]Gí¾–ò`%RÑŽ]䟮 ؾRKáçM`£P‹'*æxÂp †écf¸ð–”¦!’‘ž§TßjYÉú¡É\Ü=2‰ædRögƒ­¦MU… >‘ˆž3¬ä^Æ^³¾˜ÅíàòÆí2»4}…Ÿ‘n–ÞÕ¿ˆ+k Þdn;"*7•ÞÈÖ‡ø4;;8ù·Øm¿þÔëÞ^óÀ]/\Ÿù÷¤7Ä{ر›N]¥Ý…`!ÄmZœê—C‡Q/–˜O z‘#$'Ê]Ã,é¡Lƒ`øµÅYZC.‘}!,¤e:“ 1n˜kéà>šVG~|ÝL2Ú7î‘õgNO,6]Qƒ…À=Õ¦?ú|3ÚN.!]ÝKÄí1Dç^ Ëí/¬Ûº³;¤b›ÊÕ¹2»j¡ühÈ£Z¹NáÉ k¯*,‘¦ P ™,ùÝýM¡v/%½e'ZlJ|v©ƒÉûÝïeªòœUеÓfq«Ô³â³$€âäДþfo_«ht×Ó ¡½S aO.ذ—ç@¦W¶³½rtfcf¿kÄÁyÝeÿ¤CüsM€!â$Þkªé¹L׎ukw¼ÍCµÓ UØâ¦|ý;£9—ÓhMVˆfÓ¦ç!£™Ñ3*˜,RDaÈÛõZøô5¥:«OCo›€Vúëz&yÎΖŽ%8‡…j×'‚*Éö‘\tÀ}çB‚#Ch Îàb&Q¹á°í©¼¬í]E¡ŠÜÕ5¼l©‰[gÖhy*âviðϪvØoã,(Ytê䯑ù›?®à¿4œ†õ®)î§ÙwQ ’°ùgŸxwªA\- Šè1_[3»E÷¨•ƒgï|tò.hnƒ¡uØlʤ_‰Øšü/1w µ¨ÂU‰WÏ%Q¶iÏ‘ï' ¼$ê„FAÐá í®߆2#8`>}ë9Qº•o2¹GEûâkØ(Ïm°ßáÔ<+I˜Òj39”/q8y>,É`Y/?¿|sB÷‰eñ"w+Ô¶è²­´1W?å’Þ­Zz÷!†Ù°…ª–‘[`aܹ˞(Ë3’,1”Zˆ$zC&ûã)béLómN~èœýw%uì"g»4¥æ”W?GcZ‡¾§–ÒqìBQd„òÀÌøhrÅn6jžˆ¦³ãÏŽ—"~?âyœ‡Úìg§®ƒ…ïÏ‹W5Ñ*û‡Ø€‰ÝsÛB¨ŒR GÜèé ”}ôU¼ÀÅ_ö¬6ŽfxG±\Gj {ãì׌±€d ÀŒ ó• †¾¨ª""—fk/íÛs–E0=™D¿AÉËB<%ˆ” ðÔF5ȆzöÒ'%uSÇÄ$ÉG?'È{¿l WáÿX§kòëòÂxN:L¸7W ç”øáøByäˆÙ„ źÛT-g'B£ oùÏð~ì›ÿíeº½ଽQëEOí§UeMƒš*c,/Á¡»0È|f ò¢ZgÁ¡o•å;Ý0‘dÚ!Ãí¡;SdB›%³N³H ‹¦+DöOáÒV”ŒEÝÍØ}®¡’H M.ƒ¯sø™N7?%µŽ7žá—°SaX¸=¡C‘w¶êû²Â”}ÆŒHïý’]ºñrQ¶›C¶Z¸ø›ÖBý&¦@Žé&ÔùB023Ç?$ó”7Ý´Ç^'1LÃvo™§^ˆuL_âÕÁ8È0#¶'¬P¼ú ßê“ébV32§P¡`$¡]Øg§ûW•/I„—bæd:Åœµõ$[c«ä‹ÕñÂÙqäyëúy ,~z¬¨Ý\P{XªÔ”^½_;Ë€ÙÄúJ¸¬ú¬za ©ë®M0"<ΡeEnüª±3u?¢-ì_¸°ˆ†ø^Й¤&;Á¸,›z(œî~:YçÕ‰cêþz#äì3ƒB"ç D´*þÿ¹Y¤©gRpý§1À”¦2Ó¤Õ°ûÐ úB1~J=ûhŽCÚ÷P»ChIâZ4Úkú1þ²1“®åŽ{d&ÒêÞÿ¶S`¶7v j€–æ(™HDv ·°lžáåú©—½¼@Á‘§k&Áë+VÂÙb«, tyu,µ»D.Ù =ˆÄ3à õÜåU?Ð+Cà] àŠ5Ñøc“¯œÀ¿J=¤[èÆ•é® õعàùãéQ8#™s%¿cÅV¸çiü?[Á@Þ%õ˜f‹Ø¯Sz…{W²ÆQ®­A=®³‘Åùýy§6cVaÒ­Æ®Ìzí‹¡Æ8¸=BC¼ËÒŸˆúï[>¯-جùÕ´X 5þÖíÛ',ß°¹ÊÛëdÕ:Š ¾e££C’üQä8z€ï¼{M"aw¡’C¨F8ï:&7_¹ð‚Ú9JhYÏN‰uÐáèY¬žHAˆ¸eGNÙDÙõ]‚±@GjÚ'7ŠÆ q:J-jSÖ‚ °¤Ä0z 褉OÝúçi3@øRñ[.{pƒ™äˆ»é/õ/©ÞC“Í!–‡f‰N°‘·èÝŸ£4+à~’2‡êæKѯLïÂ"ýìØÔ‹ë:Ð3 Ò!r41¾<’5£d²¹ÛOuSÊ©¿ .Èíà Ñ9½c@%ê_%R׋Bê ÑRkbvºÖ}<ä‡ >’ aÏÛ—gÊ"®ÉòŽ[¾€PÊïNqк+¾À&£&C11( H2¨‡ÎºÇe"­É4ÂÛä•u˜àyâöš×¤Ù–aÉZ ê#í´ÀÆšªO¼â¸à=¦|•?,·þ=IA}º iÿJ«¹êä\a7¢Lz)tçÖQgF–.tðŠÃ™Ã‚™ÇG™C¥¸®ûž? úA•üMû8jRéUÈüÔ\€¨ǨׇɌ† ½IJm‰3˜ŠFà+ªI$73 ¡%ªè_+6|¦îÊǹýúM‡¬z‰JtöÉ üŸÈ_“­Pþâ7Q8Äî áÐãCL@ÉÐ vuå×9ö¥e2üYÙŃØÞPRAát.`>Ø—Œ}'Kì-ÿ½ ¼õäX; >, ”ç8(Ì:híŽÉþåEärºçÎáÃù #G€—#]ÐMY¬}9ºõxŒ–«ÈúdÆv ¦^«šÝeÂ@™ô”^@XóŒUâ ²‚q‘QˆtŸ¨ÒÄ„A3av0JrPò1â4EœzB'³Þ‘õPSJfžñpºžÅWG!Úü\,¶ƒ)ïͿ͗ _S·­z4ì¿&CÛMµøé:9ZüŸVd ú ývψqŽÑ_}Óe<Ì[• ¿7í[{G]+|€²{=léTá¬ø`Ìð£÷ìšêkÏ´G¾Šñ¼ŽÝØF`nÂéí „Ü1|£õòL± ¾jï>²¿0¬ïÚ¸ï¹útª öù8R-›O4"5ãÒ±ö³“¡ a¼U€Ák ž‡K—'ÃÿìxÊ™þ9²Z7õeÑ?ΰZ wÓ"6è5µútÖ-ýQ”E”jçÂÌCßÀ`”øò¾ÐæÆePÊD’~*1*á`¨9ÞÒÙµ¼ò\»´s—T—^‹»nŠ Lv`á<à‹:W2H‚Ê?²,õó'hr@v}ZQò܃‘¡®Â]Áou¼‡¯3}m(Î[þoª{íÛ;J!> ?%o<©²DæÖGÐS3þumtD¥”j€ÑºF–wàpîÓ¦zm†™µeÌþvþ¾¤ž8ÎÃÇu¯‰žmW{²tÄÔqÞæë-¤°¶~½âÐÁ)úoãY&Ãÿ[RÜuô}JpÙxd—/#óY¾ð1çÛæEÝ#¾~IÓ’·‡µ…¹—¯ÜNc%ÔoMkàx“A¸wË%4!…:å–[  D¢1]–¦³™ô!8ã^ƒüÈZ®£âþ-±t –7Coзµ\Ï2"XÒZ§¡ô‹Œæç¿†¸VÜ„™Á¯'ÛÕxxåCâŽwº¸±ˆJݾó LûŸB“êV“Ó/ÊœE,ñ®Õ2µñÌPÍ–E b¨›[µ¿àïéQj†â›úåÀ¤é.RSƒ9l'ëK"øk„ßÎ*= ÑªXéw5ÌVæY’9¶DÂÄxƒöÖ%7äd‹ƒôŒç_ Üé€m$€,àräƶpä2´ûÏ{ô$ )ÿy»Œwhôíe<Ÿþ]D”L“pW_õ—®\=l‰¦2YAblJ#ù¥Ýû;¬Òv`ç6a†™˜€sŸgS9#qµ×Ny$[1ÒÞmÄ.ž7ã­„qŠqÓ8ÚÉw—zŸñû}f‚ÆÓºEi4í›í®É À›‹Œ'ê—•i#k‚AlbS 3bïöÚA• à!õn©ùzCßœQ&@ä¾É•7Óœö ùÇ’0 úuŽ®‚ïÖ2é/ËŽa͵‡™lkQ±Êµ´¶pU¶Y>§keeáwàTó*8ˆ—/_,¶NùSo‡²X¡µÊ¹ÎÆpN¦WGì®æ>^¹Ñ_í¯õƒ:» |ŸP!7yÊE Q+jÞêÕœâ¤Ãö´™E¥ß™â°1kvÄå9ˆR÷ë$ä‘sÁ€ÙrX)÷ª€a‰î'ã×LÒ±ù 6AÔ„û¶¹%à{é"œ ˆ%c-y67žÈÃÜr“t)ËJ†î¥œ¨Úž‡Å•ߊXb›<Ê~¤ÖÙ¤®ré5L¢…JÀ ì–×1µñ9d«]±º0cÎ%º¿.†*Ôœµ”Çûý¨E8ŸÖ£ˆ³Oâërù%yÞ<Üî4è¦Jð9«¬Æ‘ýèºÛ1g…ú§éQ dL’Ò_ZD M¸`6;±ëÃn ñ6Þ3ÚXZAü-àeHj,í«w>1Zt¾Â »GJ¹ãkwàzÔÄäò]@4ŠuÞuprL !†Ô,ˆfÃZ5ºüréÏzG0ë‹áÕ•œÎQÐ}HMˆð$·f׫"ùzo<* ñÇæçßžI Ó`ñ*ÅÜÃÛçç‹o‘zDçßeÞ©s'Ú„ÜÖéì•9ër&qô:é‘L‰Ø2(Án's;åµPcmÊ „¶'æŠUè Ž}Å—´k8?Sg1‰1±’Ë‹4yB ñÀnƒ9eÉÀ@³¥‰ëZÄi˜%N)ošfÉY©hÎËje0‰c;“Eå[!)ÝfëKS©z•äïzécó–h £6ŸXÊ—óèL‰{,ñ¾;³”hÌð&ù¾át*nIþŒöp1½+Fc I QZ¦uëcx¥ìÉÙ>Ñ–ü.K%]èo⨺¢FJÖ$9¢…«c©*Î'K0)áþ‚ÓEBžª~ùWH]¼Rv¢;IIÏz”æ9ænQ£ U¨‡Ô¬½ÍÐÞÈ~D„8á9É0Sð*N»ÀmVcöý¹j²W»ÿz`øý®¸é »Ò¶¬¸Eš–Ô¼.êì¡Ï¨A³ºûœÂ®ÓýyÖÍÜ}ÐR ±í­ÃåùlœÃ޾¾âˆ\×oíbˆ wŒ'X{ÞMò`A,ŠÏ•5¢«ù™ñ·Á–AÙ¸Éø‘~èH’wœ7ßkÐÏ…`3;Cß™1#óVpWmggô44:‘]Ÿåˆ¥=<¨=?ƒtvNÄâÎÆ7,‰Ixà觘ãÊ|fqEÊy}XÚ %{/Ž7=Ìe’`á«M××Þæ@}åœQÏØLi—CnBc ˜»¸ïås$s¹¦LJÓ®*Óñů3gèByì¤7Ž\ðv8Â}™»}ÊU¹O÷Z[þš¡ì®œÓÊ.Š6 ¶„¥>3‘²õžç˧Ä)%Ÿì+U“sãAfSï´@£Þ´YÖ¶+¯èD ÕÉ ¯†"±ùÏg ø©ûõ P_6Úc× Z¨H•¸ûŽB! ¶Lº°ûÞŽ>ØG£-|LTâ-‹^ø©Ô±í"ê Ã凮†vbXp 81Å+rÈÍCnúäÊ¿pÜ~z¡Hx²„MjÓŽóØ7¸LwÃE%RÁÆh~xëp5N†C^QÄüÆX±Ä,zÙòvÚ5ËöÏm}Æ/º$Â7^$Š }Ë-8$.k¥Éò¸-v€©žD.ˆ¶b<*$!¡ksŠnŒÈ«f=Éù14˜Ûà§L[50=ßW€6=Öéc‡Ý¿=Ñ 6 ¼á^ë@°—Ózò>‡ˆó¥#m$#¨Û¼d°hù²´â¾˜sýÝ7ƒèœ–±é%¯dš.N;VO)eg¯ ÐÀ@ÛlLMãé†&«¸U©°°bjhEÏY·jãî(+a£Tà ™ô¹¦!º(—V/z#9I‡L7™ ñ­ªS±ÏP>Åãa¯øë¼T OýŒw2‰=âÔùÅR<ÂLúŸ›ýtl¸X¼ñPMؘÔá´êZiçꆤFÞÃj¥'/,êÒ]ëQ{° Vxå N!pÌèä¸J…°:sçe—»äûjgN}µÂñ…`ÔÀ (¦(ªs:/“%ýÑ%býØ~–Íñâ;u¢ˆŽìÑ{Á_n§!_÷FËÅP¡6ÄFÒBª­9²N÷Ô7–ÚåáC%õs_¨mOO6cÿ…u”¸w̵Á3}óë…«ƒ¥Ù·#±“/IøÜU†š¶Aûs…Ï8îvä›}±±-Šýû)$_üeNkÖJ„5ù3ïna¢h (ÍN&­ˆcß(ñl¿ÒÚsDÜZ)©<ÄJ³Þ¼Ä{³Ùä»ÐšÅE¦k5 ÄM{ò«Q•Ù„Ç4ÕÁHú+.gƱš*”ø—.±}˜4ý¡jæY}@&¬X/ß"~P„‘‘©ß¼sdú®ÙÑ;tJ½`²ñ‰=ŒØ›âKMÊ? >îRõ ck"vþ‚8ŸÉ›½‚£üôq<ó \nJ4füË/T,€ú¸fË\ïl=Û¿!Pɨ.„âØj£Ë¾YÜ0 \b,L/¬.¸™xkýgeTã¸)Hy©òùò=O;XUéln›a8Û¡älùᙳEsŠ'´V¡Õ¿9 m°ìñ|Ö@µçæV˜þ¼ö¬™7Bx“4ÒqŠyžâÚ›@P‘—ƒ ë[œøçnÿÝÛ_ôg®í$ƒCO#–¦AØïÑø´`3’ô¬Á=ǵõ-¸¦E9å w lR¯ö›¿ì™I†ÂjHTÕ@ÜcÕ tÉÓ»M*ÿ?‚4‰À×Ö·×¼¨éP2.M¯Vùþz'ê=f–UÇ‹Œ öÃñ©˜*|Ê×£ˆQ,c©…Ù"TaJwt0ë[Õ%XSóE>)1±×”´“HôØ\ÊÌŠ†ç˜ovÕÌhŸF¥²?}kdG(`Úözvƒ˜Á¾l‘Ü`ÅþØuxž¸Gɳ–>²ÒÐoj¬ghwk²öÐi1À A¥ƒZræìOQøD2¤9*^•§C×ú¡Ú$ÎIçÙo^£`DYÃñðâÔ }#CøžQòë_·;…Ò}Y¹œPžs:‰!áSR äoÔå%ÇðpãråkÛ·S´A Ë)ý„¤5© ̸Ú=ƪÇ!‚ËŽÞ/è® [ÔY ³U<Óøà©?ßðv˜ S*4*³WhÛy¡Ò§ËÒ#nHäYSºC‰-!ærÔä7Âa³ü¾êÏã ž»Òæ†Î¯uÄâlÀ)´›G¥M¡°@³ý¹Ë_ÀÅõ³´&ý¯Ú1¬^:—Ø*ïÿÓ†Ö GQ åÍÞ£F DöÉÒÞ‘¥’/6Ç~º¦?äšV–bæŒ&µuÚº_¼Êv¦LžF8ƒ7Ÿt­™Û×ßp0‡=ïäBàU܇#Õ&5œ­ŠÅs´ ÿùt¡­÷›'9ÀÝ"{ÄáBU:ý7<¾nç×ûI1ö^ /¹mö¾gÙØ“ºH4†Ål‡ú† Di”Ù3&‘ª BJéžt –ÎŒzª÷F­‚7)Rüé­_`Y±¦n†¨$½,Öáªô õ*™úEÌíÔ×^hMžÈ $®7ýact«G—q@”øy~ˆ…FÒXÐi»àÛŸñtf?CDçX{+X°ùPˆ¥D`¬ !¿MgZOM›öpç”›°I8¹ˆÎK‰¹>õ㮵d5ÓêUËË`«Íª@:„Hq²•—0½ü*ðÊnüêÉ/RÑÏ<òH„<»§®vk qWpG.rqWœ#!‚²âÍ»#n:ô:X’\k‡béÑÒ®3«<–›/¾nxSž¤£B¨QmIº² ç¶BLˆêÈñæ.Ì'¬·Ú†änëhê¹=ç}Ð4P´\ÿLnC_HÜM[q‘Ü6ÞŒ1-CîU:oS©¶¬%2Ê~Ö4O®iÓ!”¼º>o±Õä€À %¾ô§eÝ×M=zdz6~¢ûªKpDGô7%H¤ VWŠPüqê°*H)ÁL:7ÒÆÑ¦Ÿßêö’mûÆÙl¬o²qÌÀóc ìÆU§¹x¦þó͸a+ŠÆsÞ]Jª½V?Kê|RÆ.Hí@ ÈèJ”–NÉHJÔ€:èN•hF¶EÜ¢nò¹SºlÀXR<ÄWQ­@`+BŸö L€ÚüÑ5ãƒWì¿â*áºÁíÄp™9•Jx‡ØF¾jÓôå¾£°‰V¸j}q·I:&ÿ”û¥L¯'¶L~ýzuÎ»ÔÆ{ÂÔãM÷Gïi­9ô‡+òßOŽ¡Ï¸zñ‚[?.5þ:T¢8ç(M5O+„W’þtÞ"íïòy>%I_Y(G}÷M”:n¸ÃÉ×ï,’Óbé]À \½ºµ š¶.¶`)™'(“¹.·¢9–L0¨à­m8ÞE•–œ–UFÎ<^T Ÿ:4½ˆ%±©ðÅÂuD'Z^=®‡ß]tüP^a¨ÿ¦,}OFµø5‡Ž„Ÿ½ÑavîÇæÕ–ÇîÖ—f`+’šV;åÁÛÐÓ®kó‚×ñÔäIî“ȰbÉ/¾Sâ$í°Ù4_fÕƒY4Cqû©7öÆi×31\©$ÔJÇà ã”"9,Ë»Û]ª'Ãv¶÷`Ó2'ù¸F@Ñ\¸|‹ß=§j”ý"øg¾ªAûÙã½³L‡"Ù3f1\\ä+çðz Åý•òiÒÿ§!+êÖ§jÙùR›Ä §„xT#iÉ |zq1éÌS‹¯±g¼õ$è ̺Éó7¥>wa£Pk°.9Ýa±ì0÷Äd«:ú¡Ú¶>øiTjÅBRá7#¸:?ÌßïwËùù¬a€k »wœ¹Ù‰,P(ÅÑ»çÕå?å{’›ÂtBÔ3V÷d8¼<†b}ŽõÉNǧ ~ð[ã-/–¥!®Ï7¥• õùåvÏBG|ï¥ÉùQN[Bf¦uÏ NX=¶âڪΠY4 ON¥±«¥ýN‘‹+ q¿ÃŽ`h+•x÷ZsÖõÜÙµVÛ2LÊó·"îiÞ0~ì6Úå $vîà2 Ü1ïÔœ<”t§ cÐq‡‘ì²c—ü$³çþ·¢ Ô ÜÕ‘Ú«£…”%.åpäþzùPõ•ça#€(®YA®½ã÷¿4V°8üþ½?#™ç ñŸå™'ó6e’P÷)·¯œí7Yz½{B¹›-C¢ì+"·&¥¬RS¼2„]m¦"ã¡s<ÜÃòíÙÝR X®·N4j&c60ÉR™4´h,ÅJO'9a,ùùËð ¥½ŒU:Ý}IÜUaå÷ËkQùÆ$@UrŒIÕ)DÒ¶ßMVÿÏ}U{Ds¶%/,37Öe†>œJ¹}ÆÀ~¬pJj9‡û߯í!I,2ê7Ó.3¢TM‹ˆHZNÑ#üxÑ*" O'mo<ÌRî¢Ã!ÛûÓT:WÌŸiu®YC‚ë8+Gk­g7Ù…—÷}IY;(wš”ÿ«æC×€3èjÉ1íŸË]!ûÏ5ƒK"ô>ÝA¤18Oõoðì˜I7—ž×@Í ¯y†Núü®ð·bÄã²mtø€mÕ8N\/¨ýÁJQéÄ5­ÊÞÉ+8йkеP"ü~Fj“Ùè!v6$j|¸[¡­ÛÛ&«ö‚ßt×s‚¿E@µFßß´1–2Î)¹rÕ‰ûï~ÚâãÈ:5aíÕwlKw„Õ[„š ™5”ÜoWu¸´¦¾ó<ŠÅdÞ³‡žª øÔ»ºl`Bàr¢u2¸­ÈK2±ehïþ]ËG´ÇðçÞ±'\}de~ˆj*Œ˜©£'Þte}dt#ñ%3SÒ¼/3rÙ ”3:{w”È$ô°y…ÂÉsnŠðªPþôd?‹uý’˜NR{ÂSÓˆZãøþÙ V2Òñë©l Þ[åíZbj».I'ö~_s¨LÂ.lRØ.bý¿ÄîoÙgŠìû•u¨ž%â ±FoAGë[Y×°ªõ…JËÜÞèAÜ9ö0€¡×ñCd˜šl¥å +=Ó«ìùÌr4i}=WcⅦѭ{8C[OIo¤–œó›t‡EqžŠyœ•vÓ¨ÄWM‰¢ÂÂuÒ@PcZ4LhëúøqÔ_!ÄgáN l%•ÖË)Ï#+÷Þ勵¯NÃ5Ø]ùlc 1á°xÚ%oxóXaI$óáû-"ˆ§á¼è­+y'c¨,Iz~¨“üìÊHÙã} {°.¡o¯¢—Š(LìÌ˿ղ  ñ¼„ªV>Éë­iËš‡vôĵˆdœ”0¿ø2¯dþ•YõôQv°`“7†¾„Çdè2A'E€]Úd5ònàY‹”K¶J!zö*’û½•4±8µ¿Eö ð´äd4–nx„gòÇ&T»IK¹N ‰º'åÓvÎ ža˜‰ÆþwçØ8­b-a®O¡­Òšó=˜ðbn‚…âöݘ?ËZFãy¨¹iÝUã1#y¬¸Ã3žz < PBW@à Òüˆƒçaí)ýu°§’'“ÅÑ'ø³ýÏ”ÝÀMJfä2?™ôµ|Øæ)u‰xµêÆ•wa@•=«]Ÿ³½Û¤¾yCx^F0¸†ÐJü×îyÊ  ÈŠüsŒUoï¡§óŸºîßÈjëð(ˆ‰¿meÏÖV’¡¥V„.%‰Â”g¹mƒ…¡ó¢Du]æÊeÈ¡x&Ò+€­ßMø‡:´*ššH},„J]ñ¼"}¶Ûm{K Ö ô̬\ëyÉ€;;†žƒŒÜÀkÏŽßòÊÐâéP¹Ö²òŇiDÜ4ù3+Æ… ^ùwÜ2{ªü„í¾‘û|F‡•R’½3ONPlÊÄÔ“)Yá[¿BøŠ=uëÔ|ŽOGTìM[•ö#zÌEÙÞ5Á¥[û_|¤ç± ÐímÌ˶Õhô›’Ò50W¶ë+`‘›÷¿³ ­…çðÕôW+~gq‰Ñ~‚bvà\1da_skª¦èœj5½*I>N'V“’HãÖ•ŒŽŸæ`:X8 ©Xy¥x¤öô´^þvUp­­h’:—ó´ÿ>©(Ü4+i¶d ‘)‡F¢2]Üó@Øce(•SLT„Ÿ‚¡>9n†3¿+»¢•_2¬ŸÈt—æå7ÿ·ý4^¼“àèg* B¡XÃùBq‰ÈéøøNÝQ¶‘'´à÷;vê,X1ÿÉs~OÁ¬2úßÔÜì°˜{! 5tì¡é »Qϱèµ0Fâö,†ÔO“†=ªêÚI›×;üö‡ãš1ª¾¼9%5`e¼]-9L$¢cÑÅq@&àåZÃ3Ft¶7jk4|áÑ¢Ó®yŒÒíoOGå}æXäC|ô¤08ÿð?Çî@ù:ûW’Ó»ôX.Ë:©:N?yæ—ì¶8Û:Ã*N¨X’‘®b±²ÂðòùÓFÕ¼óý¿´ Ý&}”ñcþ…—´ºÛ†igÎÌeðÂxé$[×;¤)…IJ$Â_rzÂuyD8†aÒ§ =w}œ¤Ž råTv‘Õzedsíeó>æíÐóeHà"š ±âÄúÀ™:S¸ÃûJ¥ƒÛ”ÝýǦ>“6g½}Y™ºÏ%†cÆ¥–.gºÐÃ@w4vÜê3»ú|Jc(jUÌjË5I°’ H9ÓY_ü=óõìt^¡Ö7mçG\…fŠ2êà;aìÇg÷hÚP"ÑÁòp¨¬˜™Â³«Nª–„É1çs×—¡ÌÅtŠÇR5ÙÈzGóàÂ2QÉÛîà`Y½ÑÜ¨ëØ L¸ü9U9Œ×3 ÀË,Ò½z)Ì]ó¡w_«W:J‹Þ\ëÒÎ,¢@– Ãfší»Q aS˜ø€œ±¾=ñãÒ$ÿ}%°™ý6Åϱ5;ô~?ðCMŠž9cB£Kw?jÖ2à+P·R†S¹øá©¶Ê!¸K“hX¥Ô]ò¥­GA)ÕŸn‹¸›Nò7¢õÐk R]·òbLLâ°¶#M1•Â? ø—ÄãÉQU¡ïú#éºñléµmÑ ß­‘¦Š´Jtn%ÿè êâ*ZÑ´ñl¥nÍ’b%%# ¾IØÔ´±ÍLžr/Du†ó‹vý∹N6©7óýRãouéÅÞ—ò¢Uái÷œÕåz´)Ùê÷n:©ºÄŸóö8G'Y`Æ}ÈCÛ¢»@wª†7ò£‡|z1]ʰ¦™˜Áv‘à.´~1tK(š2BîCëÎ޽Éí]ßÚ‡ü‘ÕÂTC‡bŽ–½÷40X‚ˆÀ’ž ëT5MÈ©H¬ôF-ðLך.‘s/_Ó¡ê.| F+ŽP8kÝù!ÆLkë¸ÔE ‹Œõ‰Væj¸RÀ qÍÅzÐ ë(¨ 4Û¹¹©¨pªi$eŸ?rQ¡ãU28¡§v4†‰å}ì@Í¿¾â3g.?Tä qÌ…¨v›V%cùvQweôše1ÂŽÑlL“ŸPz"³¥“è|0ÊJ ñÒ’˜íýX`ºÄTÃwjDÈK •QNfã¸;%¹Ä–EW)XîD„*ú)±òŽÒ\,^z®–ÿ3Œ ‡2‚Á£A¼|ŽžðÔ!ÙA—ñ¶HÃw|­NÏÊ`X¬ .ÓWj'$IðfÜVh¿/(ÄÅÀHEáë̈s!Dmb´êNUwo% è½àÕ>±<ñÈê÷pÚÅ  6-CH“dN`Ï¢V澆^F¢¥OA/©ÂÑ!úav*$)ûø!"*"ôå…šzUˆŠø®;ÃùM4Wt/ì/vvGÄëò*Þ§Ü«¯‘!DæÙ¶AµÖÊÜ™xx.Ø £o²˜r]Ò,`(4ÑjxlÌ+Œ¾Rc\ljR p׿bOß¾E €•¥ågo’‡Ð¯âO?&8&|Ta$K±°Ô½ÞG‘.¯Î‚E‚GS ×`j´ðú , ª(á¯G/&U‰hÓ´¶sN{2¶áHý)íA¨€úSéß¿5R«·N;Qßê¼–ïT”™o«E뚉„@p¼÷V‰X«£eZe±iû8Äw )I41õ/±fR&KÄû\´þ%s -FOáØøÒX›egô(-<øµ‚î™(*@ˆ¼Ð¶â‘s‹üȺk`AûË xå<Ý -Š“Qz›]HÍj7äÍ¥aÌ‹†Ù/ ÕžÑwƒû}jÒ,-gfœïþ£n£\ÇC­ãí˜áØCjS(ÍõüYíÚØ H‹¢”¶ ÙjûaÝLé×2MŽãLë•À]g×½ET³¸¤!`.–^L¨¨ñãay‚ùl@õ‘‰2±ƒSv+‡±Aæe Ží¼pö+6>uú_ûï®’Èy¯FÊmÃ^Õ÷·Ø`FÉÛ¥Œ5QX5á %£Ìy^IBŒƒSÖýCvð Öq­÷ñŽúHm¹¬À—]eÚÈÁi†b´˜»‹¡¤­áGPôÈ»¢ûÀK´ý”Þ}»!i\VÇÁ…ùÇŽ–ÚÌjͤ4:úøìÜ\Õ pM¿ÐÐ&,>.ÁöÊ´œFôv‹ÌÛ­#æ¬Æ4ú°»y´`ÁÓÞà!™³¯E9º/±l©?³™»¦³Þ´!@åþó(šIk:[­ªWG´P1úGZ|Î/h§þº‹KÃFDó“JòÄ:»ˆ@WŸ>Î*ÕLаjE{ìŸ%8Ö#ÓqÏŒ‰ß¤Ž} ûî°©é‰gá¡%f_°ýä>ð“O„8Vì1v ©Ï#¤0È<‘¸á`áb )y?:;`y„Ú©ý”Qp- µ¥ZQ7êœÀÒ5EŽIC@¼ë'‡¥7Ëu\ç]O%°;ÆOù¼Ä³lj4 [çÏBÓäÒîf—)œ/õ.¾6òÂ9D9]ÄÿíA§¹Ó æ lEùR¨B{#9ÓåñõÎÓ\%,-Ù¨ólñp›tÿ/—Í"­LJŠÈ@f«ÍãàœÆÈþ½³ˆºÈμ|- |@R¹|ªÒ»ˆî‚¦xÌi²µõ13 w7ÊH&Î! í´ÛËØ–çÿãEr@dÀÚÝÛ”ŽÍª¼ -êŽ7Ä»¥ y×̔ų Xí¶g¤©ºs·Œ­Ž¼ê ûUÎ>ð  ôù+"Û“*§Öf±Å²A’¹0nbˆF ïšOr†ÂŒ“$÷öznš[.k³?ÄÍ»%¸Äq&W¬ÛáÞg^ "%_–F‰Ù¡³šôŒ}ÓÁ½¥gÀÐj*  AÐÆÁQF#Ë{¥B¤,.¦óªõ´¦ÛÓìÑ!oá¯d{j‰fþ¶ËÚÃºÑ Õ ¥¨¸HðôÚn²U‹GQK ÀÝNhƒWXA6‚“šŽû²Í4×mŸ!yRþìM•JÕ 7y踡°.x€ìF!—¨óñ’,¨`É/,b2dUƒIÌ ªNI›ÿI5ßý1ÜÐí'ñ훺»êæ{ÞL„…Á|$O`ˆóÖ@ànïD[[1Èf0³¢²Š¶ª¯^ÖsV¥·¿Š^„­ü!sf•¶Iì×n3®´5h}8æ•]Kz:–Úš$ËAW7,ar¯9Im” ‚ÁbÉ÷¥l†üÎßÍÌ|hØJà°@š<öÈ_ËѱÏóú_'.‡¥åüd Z l¸=ïfŠ´/E÷·ºÛhüc|L@§ ¤œFV‹ÇáƒËŽK÷K×â<.Р¬AÒÿþåHÓ&ÐÝó`ºé¥é¨Ùöq¿ïkøÅ_’n/žÂ¹Mùc8'{„²í} òÅ!?ÅB§Q¶“5™½xGú]2pt¶áÈûf„ì04d"ï‡M³jÝD«g¶Ó“¨:뤙,¡¤MnÛZlÛœ.€]A0ÅSy2åöG«^þQ‘ü¯~zÅÁ%sœ¢ˆÍùÖ/ñdwå9y…I®? ÛØZ€2ðUÕ.±Û¯1`Š:vçÔÆ&”¹ë{>^ÃJå+÷âJônÂÿ”¬¹M†æ¿ZëW®½¦ áÞ-?¼3ókôðÖ]zL Qî¦Wì[™ÕÔHÂ4þ ?/`(Ò+o"r‘u‰hžÂeÃyØE/ñ‹8˜»%hTSTükƒ&Î<Ò|ù°Zð9ñwÎ@>¦Ö:Ý5‡sD˜ý °º3¯<*¨f¸ˆÈjÓ_µaj0IÌR¬>DúÖ)Œ“*Mpe‹Çg¦ä+Y€¿L`vNE‚qà«ö›”‹Ïa¾gMc©™5B&ç1×§-5÷·r H ”WÖyZ¡ùŒvü Ç®Lá8ÛÏ£=†´ZÿË1µ1 H@/Î¥·N´xž¾ÙcÞ‚C(ÓxÒ €ñ‰›1I#g¶^ª›“e† Èö†Ÿ93МXzl'¨UË×ÍÚW-.úÊ ÁÜò0î±["L=þ"MÀ0üûÙÆ>̹ÖéÁÁ9çäÞ ÇrC.¯B„…Ñ1Sž¨ Ñ6¢¾Å`7¡>-‡•$ÛeºìïËœ¾¶¯ViìMv•áD´Û„ )?‡«î ÉÀßl©‰-+H,Ýw^¶ ¦¥ÄCËûûR8g>B§ ­£µÄÞæwOš °ïΈ6߬yËï©…¡-ú|ýôÔФ5Œ üÉ[É‹¨ûGóðÉhð]”—WÄ"þs²­ß·ÒO¬i=¬&ÐNÃDÛÞ;QÅßv|dU&‹â¥±6RMöLt)ôÆk rŠmÌ ¸¸ž5BòV·’åöÔÓ :½yó²#ß½L]”H  ÖÖnö/Aô¼øßÕÍ’‘?mï4íW/óT#mˆ ”ë«…=ì›MüEÆ¿<b»‘–}¿'_ú³JP/ éAâ7£ê8¶‡ƒlâBx(rÿºnnÝkF…¡B×Õ-Jòµ@í‡QÉù¶5Û IlŽŒ±-9É™4]š]¦WF¬2é3—ý1ßâyÿè3©•-ø]'M 81Y™Vb^Ïã¶ ?•6º¤TV"XaÚÄ(¥ÚõR'ýýð)Œª=o°¢‘_§i‰îý2n¿Íª„’ñ‰ÑO\ !?X./zÔ»Âû™7»®ìÍÈèïÆªŠêlÖóI£ß BõŽ„ú\;Ê}È´ £¥‘Ð5ÒDEÖ×Xâ œßÙsC¼<Ã!õ0‘M]Ùê¼[d¸ç Šz˜é©ñÙ,çL’;¤Õ%¾s¶fµgë –!}UÄ]XÞpsr"Úz!0GŸ ïñI‚’ã OA²k¶cµlÆý ÿ~ENF9þ¡RnÂW¡¿-èÝúÍQÅŒk¹OZ3†¡^p?„a35ØaÀ³íű7¾c©÷Ð?Ÿøô¨½$ õÁ(ÛŸª;XöL‚«3 gó[6lB‹ µ«º¿²gÛÙbŸ-YÉ>)5í稯Hö^DéàLjî`•ñN ¿PÔ±€±îæŸP]³ßšî…)¡ßÙ>C2œÀ\:L}ƒ{ .þ«ú+ä(-Fn*¯‰øß?ßó>u~æÜŒµòÆ++ ¾’31VÞAE˜÷è½¢ ,ÇFÏøØg6ÇGñÎr¼seV¼}ê‘d¼aH])$ ú5¨(!œ`Ö|‹û(G¨ýbàÏ\ ä\% “Þƒ)û‹QÖ³H  ‹5Ï‚q™þñ# .ÛœTƒÍ{4‹C ¶¶±e]—šÕ£3óù»>ŠÖ®ƒžÂc¾ /osÁ})AÍ­ñ_Íç}ãÅÕÖµiVxI8 ~UBÖÞIÛï(,} Ö‡qÚ0¬Üé®O&¬Locð+KøÄËp|ÁÆ#2ïÒöO·Ì‡¶dJ¤›ß:ªõñáp‹¬8Ä}@ÛT UöÖG¶ h”©ÇL!Î2’Wÿ½ §ÜWChücåÔ¶*>‘­Ð8õY<ŽÞ5¨*e‹Yéž¾ÞËù®ŽÃFÉpí‘㢪Ð/‰Ë¤¯ÆÌÁ:)úí52¡r˜Z¢ˆ!ˆºÊo©ò8¿cå£oXþ+`+t»iKŒJê\gCŸ¦n\uÄ›»?jã91§…H”РÌT,ï²9¶ SÊê‚«Ò5óù®è­º¥â¼2¤/õ×ÖŵµÀöËE‹B¯ßÏßÈqÄ#€y§Uœ|­ƒ'ˆ€ìòQªW |gÝm¯b{6âÓ•M_îºD½ÄƒUœÚ\@³„Ò]• ò!Zzð$×i‚v`I ôê›y÷çIZìð·’/ þƒvB½ïˆYËfzàÎ|2œŸ€g‰ðx€‹¨«F^.ᇂ[?ñX¤1 œ@êfaȾZ…ý›Þ¬ 둚¡N¤]Ñ+PœÖ*x%àm:Î;DɾðÜ*’8¬IJ¶åe†£ÖÑŽtý¢õ¡ç¶2ñß´‡¬ ¾Ž;•#;EÔžq-FíùIuó6LBHS0ͦœ™’­t%\&aT¼7z©FÅŸ¶+ÝìÇTÇà€Kä9StäK#…ôOR_‚º sþ—ZM 9®”ŽkáËÂNLÖÚ[%bŸÙÀV¬85Rv‹x¥|ãFÖ… ëY"rïԃĈÑöÛ#ñ*9š/nby~I˜”“ô›Ž‚Ì]•}éYi½$@–,ŠŠÿðwd«vµEVû~'¾»ÐsKì:0ü½„zF.njªjäHº~Ûçž“uqX÷º O·Ú€a'ðã'±u?seÛpUæ*°ìd„=AB²zõ¢æ4ç0Eˆ ”øýÔ-¡cg1Š4«H‡!'õ&R Å,‹¨E-)v%‹¼èãDWh彋•”;b#£h´~’&žÓÂ©Š¢2S&Ëù;©¸ä˜Õ“EòåÐ8ñ÷Úc“Ih œ[—¼0ÃQ©)’^D¬é*2&Ú$“GT€ÊÀk/¿á7ùPÛñ¥ ¢ôÝ$ï§ü7©èÑ—ë¥$Q½w 5^ó·+z>\ÓKˆˆZÔ:G_Rv)%r_Ž·J 8OXÕz:U]}ä—³oˆ™=ƒ¸²þ„Ïñ8N”´®Å^‹S[{Èàò˜ÒŽÒCÐô#ˆ¿þœ¬ù‰²ÎÒ}:¼= §d™¢êй;Ê Ò•Ñèˆî‰YèÅ;”¡ð¶S¤áQÁú_Cub²ä D¥_åqh¾ú\)êñ‰ðÖmågü$ynö&û ƒ3ÍRŽKü8|·týøÙÛ¨'vòŒÜ­+<ãûÍ)ʽ Š.l¨ìIX*Á&Ì­N$C– H¸­yèq¨G—¸k÷ùZÜï”»îüÒQÔ˜•4p±iþ0T´Ï¹5¦ƒ9ý6žèM{å·…äÚ•d{ ‚õ^–ŸÞ€€¯Ë™@¬\È=®-¤Ð Å|Q°Ù¨Ü)Þþ,:}´8Ë»¬Õ‚ ³Óaɺs[Þ믶HºA¬§S“Ã5¡©¥C¤ÕoU}¬EÕùK8R«w­r¤E-ú…Û:4û Ñ9¬bj¾MiåOcñúg- :d±ýnð&ê;@}Îë E7æÛe0 o;1‹§Šß]*Ût¹îåE…óYú­ìoË;¾ƒB˜P*ˆú%…üy¦ ÿ1Q¸;ÇF‰£•J·0{âþo”ÊPÕÔ\â„g¥Ë¢|9¯Ú¹ñH¸bÝÂîôï0㜜N¡Ä©ÂþÂÉÛ¯Mú§³í(g©óØû3ÔVFôÁù½tÄžR•²³ï'ѳØóçîÜ$eZÊñÑBM™d€FßD æª4° û0Ã;G(³ÆÖêG !© EÓsToUkšDÎÞ6dõ€0ʇ˜æ/Àé@ŒÐ+iFnóÉ—GÄé ¨gF•Ð IžgŽ+[’u]NU‹©æøùÛ îÐ#‰Ãµ9m*˜jW™g7µï*ÍŸ@ZC Ë€9;ñ Ûú7T(7ê@À—;pÀ4ìhøzÔ–Ù™_$YS¼)%:Ûž¥:{ÄsÔ{½æñè”mäÇ1ùpÙˆýXmÉ|EÛôz Ï0üä–zâ3Ê’áø>Îá •Ô¤õ×mre…Ð××¥y8þ$Žÿ–ôWIE$Ná_Øíù¬s,Ll„^ÑÛëè¸X17äÉHÝÝÖŠG'ƒHb©^H 2Ö±NL•þÅå߀BÆÞ ¯«‹KásÜm‘y~t ‰ùCž3¶!Ǣ —„ø?_£ŠÃ"(T¿{÷Vú&”JΜLÿÖAwX’9pçâ'»è9!Ö¨q§¤Ó}D™¥tâÖò†©tÓ8X¡¬5v_.;'ùèw"ÞL/óU8r$w£çu: ºXÁ·HÆzŸû­MÔ‡K¤"OûÏúÎ.ÆŽ •MÀ½=d¬«¥5œx=žnGEŸïz³h™˜ð*”ˆªù®hùM¶Ò³Õ×U÷Öñm[›9Õù`eÜ;k‚DêfEQ"^þøBì³í¡C¥±Ô.ˆãE¤‡×F`QâÈÖÉñi;ð§¼£Oï¦[òxyaüÝÅß§‰Å0±àCtãƒJ†5ö‹VwX±Ô#YoR‹ äŒšÚmÈ;Y·*XsÑœnÍ ÈiTëvc–··@6—ÀL[11Ýû"šdùÞ§^A¼1”,0y‹—·=ÓP5(¶Û‡˜†Ÿ9ƒrâÉöÆâ^­ÝH€bâá‹í…~Në©ÊÔ€Œ?¦vÍ#ïÛeo ë]Äp~Œÿ>?ñLuæ 1ÐñIë¢ùðp+ϲ»4™}6ŒÚÞæãE·í‘uˆ>¨ùgO·úoìÌ( 1à“ˆ…÷ãl7‡d/.-5´Øô”}›CÄz!;(&Pjš¹ï^);sTƒ¾ ý„No™{µº„ù—¶ýŠeĕ芺¶ŽyS)ø…ϯK‹ãÚQöbRן®Ä¬\ä LS)g+j˜·Ñ”‡þh_œ-»ÿq‡¹u/Ј78ÆË÷z ©Múd9H’2ëÕã¹ñyÎëa A]ߣûr:U'ê„Ïg©–8ûÙ¡[F ž†ÏÜ^Ò~䶥͕­ÁIuþ‚C;Àé@6›Jƈ#¢ê¯Þ€{±à6úÖ|š™}ˆ!2h¼Ðœ?}M‰Ý±}’² ëz/.ÆS®}…„e.‘CÑÀ§)?<÷¸a/± )Å=(]˜tÀTÔŒÎañfÜŽé +txt®GÐSVŸ Ø³à™MÿѨQ£ •Sêìª`¬ù*cqÆf¿Q{¥˜l&_×äå S[y Nö!J £s:s‘R°þôÒðÛ.̱“°€I”Ã@±‹òZ—u'„Ô|)TÑb¼Êãmþ¿®\jç |ƒJ*ÞµV²ÑºÞ`ÿ9g5/N:\'Éý'R…l÷8c\Ìþ8–Я.FAà }ôÀ»?Ó2-G¯¨i‡ƒ!ò g$ s¨‚Þ/ÌMÉ Ô c‡´¶òANôÇ>ŒQþ^¾«uý/ø˜i3Òê욬‡SÀÒœž,¾¦OWvbR× –úsãnhÓ`òª½ÃN0 ì À*ËÊ@Öw½¥tT‰^©³yŠ 'UÕm±‡Ð¾;Ñ¥>‹Rü“0k•=OoÓxÅísJ(Oµ% {BµPŠ<ž¢ì øË@þJ0rïæ#Ĺ<XêYA,ÝèÞd?jË.¢÷k¡[\5¾]a-ZIåDùÓ½†c)ƒ‰=f¥Þo*6œ*ÑëÇe@ÁÿãåCÝuÐ+'³s»Š™Si Š>EÏpp }Tµ»„ !¾“jX7Û€aEÇ©K'œ¢·7•¡ÀEºÂlŸ$éqs8?6üÞÒ;ý3ÂݤÙ.²J“Åûa“\€JuÔµ÷©ÞYÙf¶Ü¨î¶GÔFŸûò ‡øßÌ6?ëÕ¢CŽ´l€‹.XD¿.awó—êXä퓉åðWÓõc7ëv.¿$¼jn¹a°âp¯}ÚƒŽ€=™Ã–ŸZ}ÖŒCx‚ØÐ‚*P_ÄJ Qï+þ'I8…Ìå S ©¶aíÚäÈÍü®O*b†¬o ŠWu«_¬w4?=Qiò#éz?'˜ëNØ·Eöô+5 “hJ³/Í$hŽåJKîqˆu±7CQѾðâ1€(îÑSy·½·< ¢+)ŠXð­€­ÈlÊ¿†f‹Fý³Äš±B°}™ì-äÈ£S`ëvÏSœ'¬ÂçŽþ RpnG#¾~x×Ã¥ 7l¨£f©ÃÉÉA:¸y“:–N^ÁMjzÆßjo=0ÏêjõüüÜ¡1š^3¨ŽJ9ÜSÅR`ÕõîQM¬7Ò n…€}²þÏãàÑà³È/Et󟶬>ÙQè|>ùÉüŸAoЉ²¸G…!W Qe7>§¸6Èü:4[‰æag;CoÐ!b&ÔÈXhk…ˆYIšEÿ·öÿ†ÖE,§eS1nWÄùoß]LÈÃYk@š¾¯|±%n­¡ƒ‹ü´‡Ãc鳈àìž:žXÜVáB,ÐàÁR¬õgcÁOSÕÖj~­`X´P›^슮ëû—ÿ¨´Ž‰³ãOq«èI*6x·>»—Íx® Ö©ÛsOÎÒò-?‹È§1-õsئuZýAƹ¢-à Æô(`G7_ù-BôÁЄ…%º­•—Ùpë¸çUff¶£T†°œŒÆî-°'ëÑ)òðC¤ßŒoœ™¨¾ëÜ”`¤î_ê|̲çS²†,Ÿ5ÝÎ-×4¼@U%ÆKI¸,·|…‚D3è1¨"c–áH4|Úû<þˆ–?xc¥)XáÝBVžEŠäŒ9dl‹8Jõˉ»2¦_~×t18- ¤žíPÃz¹Û¹|ÅkUõSÝÐõØ‚9 u›XÖûdl$@ÍþGüCRùã™Á|‹è3ˆ‡KЛe7Òµ®ý´ÐºfënfÌWªºÏ`8O1?ÁƒtJñ2k[À_¨í ÐV¼ºŸÐÅ­¤Ê_\QY"…«-GSzÀ]yJkåäs•¤Í*?ÙjnèE*¡qFÒÿ5>òÂÔ¨‘‹ÀøÞg¦Ø=¿´?ùõ·JGÔÏý,Ûu†óæHÆ£4鋆Ŝ¸~¦û }Îbۤʃ £Ô…K'†—s~D waf=}Ý*ŸìÜ9‹K t[å5B×;GHREíG1 Œi™PÆ{Ý›~^MúâÄßß—YDdØåèɳA‚ÖžlºC*JÔ–T¹ý?8ì)ðè3ÙQ³4•O×Y>û£8›¼tæ‡ó?ý²iÈÆˆ"Žðä`<“6ÄœÒêÉ¥›÷:k^ m§¿Èõíö `|ž8ð1ÿL{ÑDiuòª\ó%ÆOŠ™X<(¹€ƒ%Þ\då!b¬g^ѱJV ¸¦æ#•;…ðµ÷õ-ÁëÒ.ð`¼ ÛA6VpÐ~êŽÔ%¹~Ô.žøßýÌÓWص‚ûE «‚æZý¦XÔú´+yڽ׆ÍXïëPú¦Þî[Ít,œœÄõmʶŸoÎÅå/n<Ëɤ+ð¡b{/Îõ®´|1.~*Uo/2Ñ Þ[>= I‚…,¿ÙÖ2;µµ:2Ö»éEwÿðä˜G•v³Äïnz¹°ŽãÓ17l·zƒô`Íá¬Íˆ(­ž±?¬yvëɱÂ-ýƒ¹¾é¢AùÄV|/×RŸé|Ô‹À¶u_Ù3øì&…í©™Õ´ÊÇeK½xaV¹#ô!uÞ†•§ÃA88…ØÓËUôvÆêPÂóÝ‹¿îaS½ê±ëd[3ŒX¯?ÄO˜ÌW óo±&Éu«ÞNpŽ”qƒï®K~T×FY-¹8ÐáìVïÓ/Âõ]9q/Ôa‚S<Ž$uÃ2*-œîÊC@Ð5¸èépJµîͤ:í$«P -I4nHa’uÊò³Â|Š‹e2ÏŒgómªX1’ºírÓ¦¿+Üqëýwkð¦?™Ã^Ü[…95p]°~³¥düô>Ÿ5 ‚ýÅ_ÅøV¥,àBò¬:’¥Öéð½¼±±¶£õXi): Xváõäb¾5Œ›n˜ëÕÓÀeX@³gý7ª½î:Ÿª&”@›51ñØ?w¯[äßÀIÔ8Ñqäü:Ÿž_ Qk­ŸP^ç`!Ãég (­ƒ0Ö–H$µêQ4 œí?ëÿ#ªÌ¶ÙŽþ3Dá8¹Á B%ØÂ|zqf¢.í͢е–?òþ¶Ž‹‚L:„ØØ~´[V÷ls— æN…Bñ´úˆns‹ dî}udWz0ÑéZoù Z#b¾-¶Nn]3 ßTe·éÉ}œÛƒîT}X1XµÉ>ñ‘bŽvÝ(þˆ»/ÃëÊ$¶žO¿nfñ©æñ†¨ðS k„0ÈÃ*ŠŸ9õ0¯+«ÃùÍ;Žë<‡Ê$à[ì~tJAž¶¯2TŸÂÇÄé'¯KÉo¿·Ãä4ä—†Ú Œ& 뱃u‡ÊdɆÝVâäÄܵvf“ÙU¹)C xrêÏí]åY¬{è± ˜w‹´FÛåevËñªê4mÓù \EªáYd‰(mYH{“C¥s/®1騰½™¿áíú!ûå¥ütEۚƲe@rzw‡XºT‘zÖ¦Ÿ»”-œw=¤r6>q÷ö»ôÿ‚ýPEô {°!yééxœàGz2½Ø·Cy³øÎQø…{ž™fDkBtÞh _m•09OrÑy-ßWÅà-uaª¤ðuVá\hÚþç•9›æÆû}έ”(èR¹îv n”!ÉEþ)°»Ëú-%ÕÕõ¶o©¨ú6ˆ¦Txdû3Ë—( å?x*^à{"Šß(Ñ{/º¡=öœ>Ì@:ù ‹Í‰Š‹hãÊ‹M‘(VéГ4ƒo¥3\µK%D‘z›°Æ»ÖÝc‰~ªnÕ©m„¡ Z^1+[º¶Î¹’–ˆ‘{ßïìqˆûZ”õpýXÀf´¡¬à£J•p‘Yú{nÒbV Ð÷(û|4|¯“ã¼Þ_ñu£2™ÀPÙ_¸5U"˜­L ˆ•m¤2'ä[%QAñ¯¯x'æ‚‚h.^ f­ØŸÛ*ß.Úù{íßRÕÆü ë¬L¾Ã'–ˆdI¶ÔDyçÙÃöG;DÄ);Üöÿ½õŸñãyúk„º‰¿¨µâ …º-vÓ;6dLp]ÝW¥6ÉÈ ŽcØ” ¬¾j2γìÿœ`È$¶õ`0¢õR:Þççz$™Eœ%‰Ö‡#ì]uza j“—0wçžJI:-c{vJ’;g%=;!¤!ØoÎHš Q›­üâˆÌ7b«\[¿×y.K “Ë`äU&s]{Zß•´XyÚuÖÚù§ÿ_“9h”Z¦ÿ_i¸¨¸Dç{ëêžêk[•ìJÅo‚ešû^V+sŸQc]²^=]k}cÓªÌI¶åÞ“ñðÒk¼3°ûÀHÀÁ»fãJÐË8ŽÑa¶T…´Ãƒ5Jû(à-Z²"*ªo§.n'2–or±E•qãßKÊ~Ú “84òþµY=-»r8 ü»%eauž‰Þ¥Mš‹æëÿŠYÊùZkFI¶G>ìΟŸöý)³u4OÐ뇑yÕ ,ÕZð¸Å„šð$ËX)(˜‰›+ë±Ã¹•ú|ê‰B·r ü°[Ô±°jw÷ÿáYôÁÑ¿·gÑ›î¸ÝØâüÉ*W†29<­bý›•A>VÁa…v"׊5?Á\þÀÎÜû ùªBfó2(*]-P戼Ÿ…MdÚ¯½ .¡0ú®ž³Fã ØrÂYõ-KwQ]Oº_ñúN) –P™!~©ãvPEHDC§¯œCºu% "ì£;mú‡Æ³®"zùX!! G¥'Ô¼¶g÷§z†¯y`yùãÚñ°æñÕÂèlÓ|šP ‡º› RîÜŒÌëÚEWº—,ÀãEÓŸ:‘ÏÓ`0`rj{È´WÜ¢­>µñO ¡{{‚õ–Y(=%À¾0A]¯C*[^.  3]'¤¡æ&Ã(>áíþ…ýÿ3¶nb3N<¯GMeuo™‹Ýä)þê²*Â8¼ØX 4WS.à ¹‹“±4uœ[ää°ê™.ô¯çEiõê9m*Üh‰ˆŒn1•¤#S(˜\$ÌSåÕŽ÷3LCÃÕf¢Ïƒ~´Avh'nI NWëfj-¿¦>:Åá`•î"ÓG´%©ñ­9ýFKúný¨êvù#9€†ˆÜ þQ·€Y­-B¾úHÐ$çbHÅ …Ž>lÀ‰J¨À»°Ïm´óò±?8ú†H‘Š—z7=0daµ$œ¦®Mü–=zVúÕ=H»øÞLðYƒÊ½ÙÐï%_.ü–<TP²Jlί¶‰§š.ÖŠ}æõpËŸ/¯Cdû¸áFú9~ïhÈL,›`MÀL—roVö”€{ó^H…6„˜ q"ü,N·= ÓUPC:0öÈÖ™×…é‰+Xm :|Pý¸–4¨>¥¿‡Ð¢Ü-ŠÔ¼d6EY¼ [ª¸…ß4\ùd+¯ââtsÎ?^•¢Ô §Ó;o\îÓFffJ@é3Ÿ.д¡\øÓn¹ë§¨´S,U¿`øHŠUK(àŒÓí¸¨V»Ä Kˤž·mò‹#î«8:ǶÂÖ Ør 5>´¢*Í:Å\y²‚„sêeò(ЦGÚœnÛ[ý åŒ¾~øû›ÔÒV¯ÏWàV¼ÿþ#PIÄõ :]tÄ <©O?w…Òí顪æW £IÁÇÓÙ6˜ ¾€(Øù:ÐÊoüµÑ°ï VÝÌ8TaFLª¨™WÙMg”RF8ϦŒÿ2ÎÀÕåÃXû]&ʆyŸ¼=ì–I—‹+Lm³îIú,Ô*¬‰$–ìæò/"â’E]œIVNÇgeE¤cÄ7»HÝTªDlxîlw˜ ±4Hã JRZãn _‡mG“ç§ÚDÍ!Ðx°´hSs[ÍÁ1‚>â¨âm¡¦0 CÀ””j"Pý6,ئpú÷a;To_šiÙþü.âÆÎ’ü¸¦èwúÈ`ô3ôn)½âÔ/ÆÜíÍ™¬Û âbn³b&EøÇ è+ª¦1v}:Æ´Þö8>}24%ßÎS¹%‡MK…b+ø`pZ›ôd³\—2oûë“äáÕ ß>­F};³ÕŽ"¾· r_œšý¢‚Vñ°ë9Ué¬*^©û êdµb÷H r%+F?Ü´ü¦È $TŒ/gq=–Ư“’/ö·AdÅ ²¢n¨ézžã럢 ¦(d¨·%É]Ã󷸥,sÿ‹ÁdÒ.ŠÁ”¬xX´Žðÿ:€+úô©ö †š²ÃβëÀøç^Iùîæyß« §ôV’+j ¹}éÆWü‚xJ{ÏPbaÓFáÖ XhA0÷Ö>zÛßd¶ømS Yv:Þ ¥Iâ‘-–³B ÁCdÌБ$ïõ¾ ÏC—æË›fÔIæjç&K›w÷;I,—b ¸ÍÍëÝÑŸiY#t8ÔhÓ-»“B¥c`ÿÚx¯û½âφÎJÅRÓ  ¶k£ÎÄ…õBœK©µ»½1Ø]HÎËÛ’LX/é©^T“Û*üÓÔwí½G×ì›c'àŸÓÒØúS ƒ%‰p§ž˜œtZw4Ç/™bkR¾gÏE³´ó¢LJQç.GÎYWñ•¾®$BÕœXV˜„r&~‰Ò"Yµ@yß"=¤<Á_›–é‰Û$*>E`ee´tDª™øÎ`#äùe4`ŽKômÈ)£à²BAN)(nõBRÌB¯¬I¤ Ã|Q«ÕɪŸÁ|åN¢hpj†¿Y«e·hÖmŸñfêÄ_äÒqŽpß%%Wq£YÁÆw”BwL¢ó³Ûy`–¾¿îtBAžXWÁpØ-dJ&ä1heNeuç52Y™ _:xž [öš¿ý?à>»(žpÈ¡æÊ<«+㹞8¯ÒÆßCi©¿Ÿ”Lb„#Ìé}çsGæ ûê÷E}É`"šÓò¦Ÿ ÍC2‹ð¸ á yü8 ±–Žq”hôó—¯ ²äÎ=¬Õ蘪-lfàZ‰¨̇çìþõ>2Fºw˯å÷ê|ƒ—Žù‚§ jд2ó?6™¿~ÅïÏê¶Î]ÁuÆÊXTvKkä‹1¯À~êáµCB¼•µüK–zQÜnAûÂï) !æ¹U5ÛTwú²²p‹»ÓVa¼ÏP]9 ø`“Um§ƒI…Åî»q˃¼eíõ¤ešÕÚŽLC61jCêN:|ÅvÕ^e†:džîŽð—¦lº}ÍeÄÕºˆ+–/„V¤wgs†(¿0ÅUÈÎ':wx¾¦Žª ê3¤àlð2¥V]º@~¹ÚK< ÔÙ0â4é¬6…e7¾6q)qCŸNóbÑM"Û®.¿tlæq$ý+˜OOÄæêþl Àî?a$t©~ÁkË$õ=²ÿ™ ¯o¡q₌L—ðpÚ—ˆS¯çÓ³?ïLîª>E‹ûw{ÒL%#P‚ß(Ò¹¶8EßâXŒs-Úö›†À8Î þœšü.C‰9öJ‚C=SNyŒ+`;ÄØ£Z£R,sÒÑŸÝG}4!ñ§n“~9™Ð…üN‘ Ѱ¦8(TJ-«Zâ3 ÒàþäXš5R àûÌaÕŠ” FˆÑIñ“ÑDõ±´AFÉ"€¦Ô[B!2³ÆZ²ù8¯-O39ÅÉïô2¨ïuú`40+ÈžcùÂd¼ÿæû øÙÁX”W!_Ö¹–Ø FŽÞÿ6FŠ­ÞÑCT7S~m0(Oê½ ìbÔV ÐWµív¼Á›Îßû«¿Ñ¿ý(jÁäãÛ((nMüƒ{@–±|¡–»b„ÿ$qàTá®íRDZ¥ƒhÊ4ðw4«åq}cÁ¾¶Ä¨H+ÞL´g.Jˆ³Ã^náÜPÉ–dà‡ u cªô{Á5¨~öEóFß Hîì‡J*›áËèVdn½«Ú4ºÞ™JBh^ªí6Ö¯ž4_<vCùäi¿·þ¸òʾî×ú·vÊG*œ°ð±9Q_O£"àÅK)Ô_U§[idû¨ž[ Ý0dËD_˜vœT°i;„¥¥™Ö¨yRå¡ ½ÐwxŒSçÑP”÷óUúTá¯ýFµÛÔÔ¼Xó–ÉæÎsö¥\ê×S ¶r¢a•Õ±§î NY-—G‹Ž-Ž¡Ð% uk³=8$ê4Ÿ‰.uÕc«»§ÕÝcàÅkßl)R¹ $tä‘SV `çGC%Š854œÐñ² Œ0†Õl½ÆUXn& âAì*“ò­˰f£F‡»f²šÍTé6¨–¨T5÷¬úˆö†jÞ8¤8,A¬é‰juø^@ì¯à:ú5@"!NõÓŸdJ/y+è·é˜Ñ8ìÜsÐrÒÌMš ?}J«ŽjòàO‰„Xb»Vh:(–„*ûB™«RWni ÄHŠY§_,öE½$¶+2UbãÈ\$Ô*žôK_ŽÛµ·›¼šyÐn<8zÇýÿ(êØ¼úßjdö`ÜûÃx5¶v'‚“,”™êãC¿qO<އ$Ã#ÍËæÐ)€ðþ¢Ro rn{¶•®Ñuî‡u›%¯iYú%1gQèÆ°Å­‰@ 0ÿØ>%¸màbT(P ýp¥‰»%¹uÉEy;•ÙÜÜmÙœ3bŠÖ|V úsÜ‹»Ì.Æ#Å|'ã~üÑ«–ëP‘­¥œk‚cU½›œ% +ñàT è€_'“ÓÅh–©fÆ´úú’ÆØ ¼ À€ÐH”åèYÂiØ<^ž¤(ÅkPE‡ö/ÝßȬ`F·Òk·tÙ x"Ìœíí9º„±_¾žæý0¢§D×ÐWm„~}“"Ì+ª Ôy*z Ê·Œ!ÇŽú:ê‡úB¼CöjºB6©,AT:¤›\iÍIyÏŒí_ÉŸ› wb:@ô²¸äßW%û Çî€ ˆT)¬a0e¼r÷èdÐ ÛY>…]áÖ .žÁtºi$èF’Ÿ‘A~5VK>RCW˜€†rÜ6<á°©O!b ^hrÄï œz«v\&ÞEýÔmAåȵJiRv6É"›8kb< ²»¸Œï˜`ãº4dw@tŸyXN½¤ûÊѣ)çèVÛÒÉÄʤ|u8òg I›î•žx®ZˆÃN™ê¶§ž¹—•¿ ,L©$y?†“bªsÓ~f‚ ÅI른[¿‹d®÷X,xL"[×$—}ùä@×ò¦©Ö´œñ^ÀâOÕ; oZ û‡Ì”#¥·´9A¶Ú‚i¶—1·} ï€zöÙº)˜&øÕÑÜê_yçï=£4rúéŒN]è1{ͨ×ûKXú{E Òáx<ö×Þ%3@ÇÊÜ›ãݯk?šS¨4í΃6:jètª«˜OŸ7sÓ?z¯ª©i‰òt/ÆU¾Þ#Š&ó×¼î+RŽ8íájìI›–Ïo ÆHe"ä¡‹W5ó¶°ù(º{!eüiÄ”7šó“ ¡ð¸vü Ôöžg«lJ»éV&ƒß`3¢VËB(£ÂÊáÌÑMIUŸ³6Wù2Cò[ Ã#áp§"lGÉ›ŒM5B›½©#‡z¥ÙWïbû ›2šWl‹oæü 3 œ›P28ÌìËY‹ŽYA"4á¹öQ*÷zenILtHSkÙ¥Ñùp-É`„B¯“oßÍúÙ öòŽ`ŒiL+¥þZ1çóœ,©Ä~)$è’~¸ŠÙŠÉõv]{ß)®´Dî{ñpe3 Ƭ’ý@nP)³-xíøŸ¨DîE·"Exg}”’†wo‚Nw‰b¹—4iuÓ×m¥ÕžÙ ªÎ„è±¹Õžém;cl WÉ+©H©ó†$ð|ÉaΙ• .Gº¸hW23X® HoËXlG»5èõ {CÆ%)WÂN‰|·ç‘ãdI=#°m<_·SÔwîáM϶zç[‰w 0¦¬ßY -YVzOc@ó³Çõìy“js@¾MOÖå‰SØa%«R¸ý—æˆåŒuƒ¯¶Ü‹äd”ðçݪóbç^Ð5þÃÙ|ä%'XrA·0]}`Õú*)ð³1<¬¹½L,qTD„/À›¼£Ñ4E£†‚ôûw007`oÒßÕ]O1H×ÿ‚̉®‹óZDéµzì?·‹ÅÌ·æéoqà£4}¹ûªj áN WG¿-;–ò³ˆB@RÉ’¢±²Üqè˜!Qì–¶ÆäAýߣÀÔQ»¹ƒF Ê«~ÝXvX¼@$Ú¥©9ìI(ÒwVø×ùÏ‘-¥÷Ñ„»K£Â±´ô<’ꤹ5xÄo;k™›ƒ.P¿H<Ž0%—ÀŽ"ÿÒS{j`…j-ÓC¥ÍÝCÐ"ÄÝÿ2ðó)••iEF¤²89vK†Û° Cÿu%ð2ÝÅ`3G”ÚSý‹iõB‘€’H(7•ÙðŽ7C0\Ô˜bÂCï.~0˾¥ƒ’Ÿ±{_ãø¬èûÑ&S~ÍÊË×ÔoE]4´v̤ö”uå>“¼îú¡ƒÅ¤Ñ[«°­úi|¥0•iÏUG»9Ko–kÐ RøÙï¦4HB_j¿z$¤¹¾@[Œ·–êä“A lMWgHw”`q\)CwÞ±^C¦—ֻϔ–æ•Û‘„ËÜÚ½ïÖ…ªW: "M̾x§“ð†T—?›€6(ñºkÎþ‰–?ɇbð[cl¹ ÊýM‚lñäÁÙÝeëW¸òòHj‹˜×ÄkÌŠÊœäò÷n¢|CÃï.ܪÝ×Eçòθ³eŠKR<ÃßÒ„†ÁVû…®n5´š?J^"z;’¥_®½» ã‡A” 6•¨®¬¥Â^ PÖØÿ^_ LY‹QU`ÿ…«–•€W¢vVtlnúÉWqèŒ6ùɯßþ3r¯Ñ­8Äv‰=†ðòÚX÷×øÕ­å9ç¼Ó»DD )èþ­º½IQk¼VzL/£f0¯c¢·Ì½;·¿Ny/MËÖ)Ähð«%… „ XLRÿƯ˜„‘ÙF…Ö=”9äà¥ÝrH@ص‚Ùz@LùÞ_.-WÜg),rªª#‹Ì˜I§¯+z¹’7žl,0‚ /%P‚'¯mù;foÊ"akvº½Ãn¦j ¼d“0¡îíkCwèÄ.ðmxc/ ¿“„ôx>Öãö÷qjIÀ*ÏÆÒ Â!ãA›JüiÌìš?Ü,K;WœéxN]DºëuÈ|–ÎÑ®2¯DAi]͸,T†*LlñaŠì6ÖÈÈÄÎÉm 5hiÐ(ÊȘa{eI$§)A*umwp,´¾*q4Ã…Ñ€úðXœª§½a"¦K¾%ÛÓA øï#Ñ~Îýw6c6r 3 ë•…?©9¢Kõ’Xèâ°;ÛŠá¶·.š“s0Ù¬ZãcŽp,¶°"ƒmè qÅAZ!d«™NX ªò?Tì,ÎÝε¿bZçg×}ÿ9Æ—04½${¿6§…iyƒ¡ú˜a›]²u:R¤xÇZQn$¢¯cä—ððW7O­R´ ¡ÈȶA²/¼Ò=f·Q ±¿hNc:Ò–©¿&Œ$@Cl´\CöhÐY®¨ IYÖ_™c9ö5€öÀ#ÚLˆ ®@Wt©î!øÉ­á½P»8òÖty©öBc@ÕMG~þWÌoIûkÀFOÂ/PŠ~9^…jëé~Ç——¿.è7TNïMoŸ7ÇÝT6'S^Ôºö³×îЈF¹¸“>Ÿ@ü 8Ãñ¥ð¥4d¬"™öD€úTD#Í©ð¼ÙæK-N„9(? ?þ°êãåeƒ0u0í°³áqCÑzÐÇ!á ž=í^yêLóÏË]0ƒLÔ˜~Èf4RJ¦…sC“Øjö:áíÖÝ¡¼^WÀh&ħÔT'»v^¾˜Žé‘hTRÀe†îÿÞX¾o¾ögl¨Ï«y±ö2±K1yznúÉ,¡˜à^u,=§oëP HwºÁ˜Ùÿƒ¹0¦0°ØÜu‰T5s&»_l.‡F1ÙÒšÄ,aG6_=Ž™FL‰ðrXÁYs0×Íoª¡òòçx¶8ÛQÿg\IÐŬšMÊúã´ð Ø Ä^m­ÂPé0ÌK}ŠÐ˜ÁñædæÆÆDŠ£#Bñ_·2ß[ïi¢r lW¤4“l‘ek#‘D³`_rI“5òFÂì¨`‰1›gèüÔ&¬~o_KȤ©à­Ùë5ê|¸OO¹†ú$ß~*`ôÅ— …›}Zåžš%f§Ùœ1*Üâsú™Lb_¬„ý0—’|‚¹¶ÓG¢ÿøx8KÝœdª€ùÀb¬5’n:mù¹&°Y9kÓp¸/´î4÷Üi{ÕQüv:O&·kð lk¸¬æ¶Õ*^ãÇÿT…‡¿»ÍloÏH~Ùƒœ–œ¸;|Œƒ Ã)gÝõŒ2Þ£cp<å÷‰ùy_¼Ù»ø²0Ôÿ¢Qð¬3É“C&ÿ# Ý«ˆ½>ö{jFÕÄ#ÏÁ´†g®·E~mîXÊe&Ö£K[ù"ÔâjBõhöæOjæb÷ƒ›z6Ê1‚•¼­ 3ÄãªlqkŸ¾öÃ|ø(çÔ>j¿iÁ4yºépzŸ?Ñ9†ÃHh„õ~¥ÓYжsôpi»T²Q÷ç­bæè›Ö}ؾ”ÿP¦Fž-~NÑÐd°–;bư 5}‹¢9RñÙûL.E¥d0G¡š©R]žËƒ1º©ªD;ö»³B˜Ò€T =NwX®°—ü0¢n{ùàò™Äÿš7rk¿áó÷OPq þ‹g:p '„rAs¡p$|¥uZ´-ÿÞMìñ”¶Ôdxåæ^ˆ½éð0‹³¬ƒÐkJp©”Òí—ùk]±Xä^q „«bMçsó&q·zÑ0âMIQ ¢‰è6`@Â÷øÓ'œ}|C,ø±¶Ï@7ŽjÁñFŸre ¤:k2M@Š ÊÀ4¬“BKu´ñR÷z±› ¤œë´“úU}ë¹gýØa)êÊH^ÖK†›%Ê~(H*btNn~;ÿsù¨4ƒ§i¦ù)Àc9Ò/ÉŠ5¿»ÇJ'š vWº7XÕ/`ÈÑZ¾»ŒPŽù€¹ R½ßœÅéÏ›Úö™.T›e"@W{ÏSÜ1øÐ•£që’{.1Ô³²8@—Qˆ~ä·Ø ÞÍ—ö}‚üñ_â% Ÿ™½Ãk)L {…m1Å£M¡vœ8ö‰ĺ—0ª)ž6©rɲcç€Ý÷ø;LÚÓñ¼š²\+›YqÕ€ûTmÜÒ=š)]«\ÑŸF¿¹èB¶Ããzñ×ÛlüÍëêpË`›‡»eÞ«·R}<Þ6|  ¯œL¿ç,+þ¾QŒƒ¨ü=äKr¾p°u&OÍNàÚ ­§ÐŽdÞÉVQ=6Fã9LôCìÙ÷ó5ö&ýœK·/)¢ï4ô=›¸š|áV¹·ÇTß>‰q!kÕò }-ÉTl)”*½é¨}ÐnJŠ&­V×·ÿ'"ýø®†ªxñRªC6õ$¿uyšÖsuÕñ Á¥¹š”™poD$àFŽªÅœŸ¼ç·Á_ÄbÕížÄ­ªZ½,_b?’#+ð¡ÎFEt/ Пøøró÷KɪŠ9ãJä?][ÔÈ£ÜÁÓÔøèLÊhWKä,À•9Îjû¤…ü{‚´?(gók_ë¯Ö¥úHäÈßÓÂû§÷§‘¡¦À} Hå¯å®'QxkõâÆn ΡÜ8Åvd¾©·ù$ëÒ²·­Ú¼µö ä y¿˜ÙºÑø)N;HýÔÛ0uìl-qÀ›Œƒ‰p§Á\üÁÀ—oXkSj$„PºXÊ'v@²Ê ýé¶K7ÉÙV}ÿjæc×J¿ImkÂBpóè““ r†”ç$Ú±FîxcÜQ"B˜Ø2„M×—dZáÆÔ=B©V$¹éhgèò’TD[_• ,ÿ@äê€;ª÷ý´©/F)Ác\"Ö9'û>_a*¢Ðk#?ûöç —R‹ÖäPˆìÉšw,ÍS|ÛpFoœ+“4Î ž‚…ÃR,Õtvð8Ùv郗ž»Ž—êhÓ…šøÕ GêÙ¯‘C.¬#'>m—`‹”¯Ï|ì©ï—®‘4}…zcÙ“vN‹þ·ïº¶Y‹œVmëæ)kÃÚQS¢^¾’I«2L5ƒ?Û' WÜð3v̼áÉZ­uáÛáb,m yï²ÎÝø£µýÌÕ§ó_ƒ±ú“§:±šgÙ„Y߃Êl®âÔw‰@¡¼#2ÕÇ”‡|yA7éÌ©?s~ŠÐK€Þ3¯sŸ¾‹^+‹òÔ³a ßæk)ó/˜­Ÿ'NöÌzm)o`ÔúõíäA‹£pJ‹æûS÷G‡=¥‚ Ikë ¨ök…<²ø!ö÷2·©——͈Gö™°SaüsÊ® °÷Ž ã&( ýv3κzu¾M.jª ¬”6-0|¨í¹šd0È—fܹwïØ¢æH \íž‘@©(öJ“ Ò<`Ó’YJô÷§G_<ýçY-·ù~{•¯—Á›&Åm h¦maÞ YÖÐE$ÿ48Çó> Xö‘Á­>û…z½•·ö6s/ÄCu5"ŠK¡×#Ø„ ¿\"HÄ««~½´f˜çñÑÙOçŒ#LAUÎ-­ƒÃÍGŠÓIõ×îJÏ^Ñd d0Y$S“rÏ–œÖ=ãV7€paîìCc~jÊgmò•Ä iÁpî‡HËÛÕj·›ûâíB‚‡VÉ*w´ËÔS]gˆÜP´À+þ›Úà\žâ”·‚©ÓôéÓ…J¯³¿‘XóS¨²±…YPt2­ (Ûí°£iÿ+ «˜£r¾æ4}»—â«Åpˆv‘qŒ Ã^¦Ï?pG†=ª (]šH•6ÙŒ³.·d,Iþsø""Õ$©\ˆš–Y&‘ÎÚSXÈ«HËKËÂÝê|¢u`ʹ&ë­ ζF¤ûÏ÷ºkfy!/§ÖöÓYŸDr8»tÁ"Û ÙëÅø;+†îBõÄ¡xºPá¡5dn~z×ãÕ( É`µŒoË?ˆj€}Å„&ÌÎ`çbJÌ¿µÌº: [ñ°ƒƒ’’S3xc,Fù¢ê’Œl¸[oCÁ§s‡}I„.sämŠoÌËÜ&¨.>.<ŽÆ ÁbYn%âÇsQN`ÐPÒFëS-—Нt¯p³/̉\ýdnãñ­Q¡†ªbÊ]†«XhnAÆzO?™gŸÂÁX}Lºß|P旂ŠÂþ`ÇwÐõkÚÕ¨‡ŸµÌSy‚i²º-´¡ë"HÜH³Ê~öÙƒ!°ò+r­ÁõÌGÅpf1Íe²j:ò;LŸ ©gò¦LÓZX&rÊ •ýÊϦ¿ªW®Æ˜Ãé6‹A  ³pHCyµ£L]%.V&…FFåžËëò&&£Þ—çÇÈïqK…³ñï) áÑަ…™îåúk^mä—0§Ê¥ ˆ†!žMSÞ8ñ@cm7Á¦ÙH'¬ö58®ýõ´9íäˆ:Ø—ÍÊ©MW^%í›=_Vr <.Cª¬ÞZ¥ÏÑe~uÓ2ZÙƒŸ§ƒID[bšÔ åð<¾a…;·€ÛÐ&æ…‡rîê´eçîyYœ|UÕ• vŠÛâ#9Y\ç=ƒ@^ámè‰É](ßk¢¿ûÄË#²º¢ùr"½ÛV©œ¯”:Q”…Ä‹’ÉOÜIYQlõiȆé¸Qú÷dS¼Æ+¹† ”B 9_N ³V}bÓ¹]æÑšªO_xâ-´ öh¿P·ŒÛðÃ7+°“Ȩ;Os–÷zÛt¥ÈZš½ÝT{¯·ªmb¶ÈGFÊ…‚VN^Ì 5’ŸHвzŸ‡Ÿ(•£aâRñZ½yëÕ)Vé.gš˜áÏ,[L§‡há>Ý+ÚwOó)m•jBŠ4ÐQ8¯–J  ³äÄ:e^©²n¼ë0Y[Œ%×ÈCa˜I=FMÌ4€²¼ 釒fs•Wƒ+^Æ@ñ‰Vw {MÝ,XÂÌz•À’°:k»oˆ«<¢ÍàÝ_¦LPŠâ»ÑŒG!4¨xó"•¶5ãûl,xyä=ƒžñ¢ˆ‘”>—%ÒÊ䤣™uÏ=½ -ÑECø¢Všeîbuã B ÒÌ<ɤÃ4¿*5üZ  Qny¦.‘øku§ÿwÎÿŠ¥Ï'w°ÉÁú?VJ ©>üŒrå%¥rvÓè¡vàÈ‹~)O΢Z]_®]Ú‡ÔÕBn#¼ãØbåfêökw$ºÜ靿c*ÌMnKzWzÔKnVÝIòȧ KœËlRr«÷D‡NÊ©þšíÁwŒ%ŽK] êHÊ#FSÂ8ÉÒ:÷üG"]Á ßïõùµs{iwyÄ d0ì°`°ySTña÷‰á°¶õ¤Ì‿>b9^#?—'nZ2sUz›CÄ2ù›¬÷yTv¨RiQ©(O«%j ðýT6À[= ì~ér ;.ÿ>oúâqÔƒU¯wA¥©ú9«Ózß‹éê˜2i¥årä¿Ý‘ªéẄ–cŽã.2Ÿ¤ìqˆ´¬È~Âû¼b„Ë9¿ Æ,h‚ÊsÎpÑýyä‹užëa–÷ˆ‘Ü«k¡¥0UØV>æ\>Q×i«b†ƒŽbnãI0W¾Ì40¬Nž˜Ôxý;ÃY´·…=)òç×ÁÍ=´†¡ú1ïÖÀ.s¼Wæî¼ ÓJK~<&”SdglS¼Z­Ù=øC•º÷ð(=l³Ç-7 Ž®ò2xg@E6 /™úœ s*j4Fn àœø¯$½<>‡öµB؉”ÊPض—îä–TtƒxL pBTñeVJºógÒs]oŸL/1zïÆ!šzQ¥cPqÃ;ʲf!)FŒ£êö†¦¼z)°¥b5AˆH›L†‡t¾âøöÃ#5#BÏxl_g“GŒ“¡Ìg`>6zz¦Ì›Á¦òÈÊgûòùI½O  T*xÏ®©ÃÉ<*]' Õ¸±¶]ø£÷Áƒ­>K…Ç*ðïüã2ç°o̼úRVÍÌ©&­æÑ¬šÓRÌ™˜Óà¥ȳ˜ggø÷2w<§nלå7¥;ý-3Îqü¦”b² Ýu¾=‰¾J8ðA²ó‡FµýžåWkˆ}¦ƒžÀê…P¢RtÐj‹^/áá·ƒ›ÝLÏ:dtd¹|,L–’W´ê;³|ê«5DåV=ФA4CUlæ`Ó1ƒÈ(³GfÈS?úeGŽnçå>²Jò¦ð¶³¿)ŸTù~·qk˼ê9Úß•xž;¤¥å¥êÅ­­D ÃT}6isyOæHhá{¶1Ô"P…&½,ÕeuâwJydó¼cë¯õ'U‹³èÙT0ë 5þ· ÏêgùÛ5ÝDޏõñ´’ë<RÍT}y£ÝãŠÿ9?¡JÀªÌ/sôz&†DP1Ý;I,¤ŠëyJ¢§€ýHcß3'ƒÁ©§jFªb=‘¸W(Ëx˜1LM°ÒÝ6`… ºf@3¼Ï+‰»ðŽšQÐgþÞ¯ööxw¶aº¢¶=)r0`Þ j‚‚RÛò¼—Z_fÖ°Ç:tB;ÿâ¿ë&ør»6#†À¶÷JÅ®ˆlAŽìÕÛìÿÍ\6¤[óÔýò¨‚gÐOmÅ)•z„ v×3;tÜC’†NB[ñ`xò磚á`QØš¥ê4°KÐþ1®0.üØxôt³±z‰¦>áêää/3÷Ü$¥Á ©¨õˆò—ðiŽ<€!­í0+Hʼ™Hnž¢Ð!¦¸q__OƒÓŒÿÆå–žV ”I=ÄÔÙ"6•<Ž,¹Ôa‡î: ¢˜üs`³§]RN°’¹b?POËâL`c£î©œŽï·.·hæÆnуÔRéÉX³ï¡])„—‘NR…¯BÅ€°`jŽL·„J¹Œ8¼Ò¶g¡¦-Ð1…0ճƺK bMŸ?îÝúŠº­r„7êˆÕ?M=ƒ-Ta|ÞI¨>†ˆx_$£`ÂA…S±©L3ñ`êJÎ:^Xxr¶À¶úrDoÚN¡é²p?‚4—e`ºŽC/a½yùA¨9!HÉg)–·¤q4Ú¸ÅRà-øû388X¤Âî,ÅøÛ¾ ™Êiö›Ý°ñËFô5NV71èò÷óÊyøî°)ÌÈM4Xœ¯äîŒñæ_ŸþUˆaJzÎ!‚±“Õ¿KÁ{W†à¦ùÎYm-ÝæCÝ â}+ÊUìh–Óz_H‹ª  ô<&ûëÔ”A”Pó‘_ H-£ÜòÈáÄꀊ3CÄA»1¡-ÊéÊÅMtÖUØïêÛÄpî‡Iy‰æ¥ TÐpv}»û ÑFÞÍ!dbܬ”ÏŸDˆzê+t6Î:jfèÜŒ]ŒÍ‡ž-Á¡Û©tn {QrµœÊsVº…6+ÅsË€V‰ e¿ÛÈ«ô£È¶¶žÙªŸQ¼–wšœÆmÅ 6;Bwûò-|Wtؼwš0ØÑº¿šˆH± îßD¬fÏ÷‚ý„Žw0P7»ÞøÉbåyÊ—œg˜ÍÍ©F€—‹ }~üFùÞ’:%2×lòY$ÖfB»^ÔÑ€œðB©V‰ÿ%q‡Šÿí&n޶Ý[”Ù,¾Y)×i?œúH3w#+0ZþË~(ï&〠¡;®ísWÒ‘ú6hãb¤ˆax³(§¢ *z*¬ÄqV‡•įɝ9iÀ‰}9WíX•Wˆ'™®QY¨ WïM‡áÇ‘åM·b¢ r¥MKN™RooWvðþ¹¥.é--¶©³ $ w)Ë¢ ˜ü“ò€çU_Š]tzy“æFìmâ¶]EM™—d‹{XH$©NÜ™ÒqhJµ2kDÏÔ]ȺâH@,úX4šçxà†›ÓÅb“>pî»^T—W¹™'èl Õœ 4¸–:ƒ}”|j5š’:¢‰¸ù º‰—Ó Ï·…&ëÛfa_„ûJº±*²Œ:&ÖËàñ Èy©ÏaËÔŽ‚ÛÙGñã×jéü2ÖMFº6¾'´œŒâ“ÅøhX• èsx‹ÇÏ2ܺÉA•˽½‚ëhâ"œ7~òÐJ ²óLHys|4¿ob¶¹âC5)ш|hwÛDK»Ö‡þú4>ÞÁRÇÇòé´*c…™eéó¨}T…Î1¨ ®>'³îÿocÕ¤"‹ßÊ€å‚9º‹Ô‰]’NÑUhŽš¸s}B-°šsZ]ç€LÅÝžÏm*R˜7‚󅌥—†Qi9ý¸©®9^’ŒTšL@+†žWQ_j罫b‘~¾v¹Óq¾+Ç…V‚4àd÷–æý,Z«õÙʄǀ³)¥>]BÜ™1óZÄœEøìÀ\Ç–¬øµò—wL)hZ9?†µP¨:0apÅ5Nâ=Á†ó ë’ïãš^µSœÊùÄ™D.Í̲æ˜ ÅOK¥dš×èÁþAaZÊøŽiŽL¼ôó7ÔÃC–7´Ø—¬fzãIùí—0ßÎñòÙPÒMZ’“Äy—Ι€¤«%Fw1޽‰¹­º¹õ—­àÛ84Ò­ÍØÀú4ìMr€ `N‡çsð§,8ÿqá¡+qjޤöQF éÞÈÚ¸ª²…à îž>ê]ºš;òýãëPw£4éåµÁ í=óºxK ÎKû0¡xAX*½Ñnÿâ!“M>Ä@~„× Û|פ?2²] É9|¿Š¥÷ê(q?ÉG#x0•¡ÇÏuI‹qkàÃŒL©cOVþÞzDVØ&Žûˆ ¤Ç‚ô|–s5G:`ùGMM©`QÌì]q%`XæÀoµƒVÍûû©e*šÀ ¯“è¨OeŸ)l ™&U 'XHˆG÷å%ŒÝб=hId(S)DÁþ3‘¡®DáyAGቋôè%q0P^©·ò2(iGkÇ›H4¡éÿ <´±ÃM¿µÔR¶s¹Ãw€×w˜c¿3ŒåQ|põ$úw¡,Ðób?]4Y=˜´O6ÞñÅFÜJj™Î­>|Ò°!˜Ì¸µÿHyšaºs 䕊bl¦xnN³ƒí/Ñ"Õ½ i·ÊÏѧ&1Y¼øJá§À´†akÈ–AåjYw‡P‚à2«ç‹¶Zfd÷4˜ä`…Á‰õRü$Óé,KùÌÑèLîÒ]›²Èg°3ëu–ÝÆÍ"”ýÞàã+|í¬Ã­˜ÊÖnRq‡á•LuÉ{¾lÇŠ‘*GÎÎ*EþÇ#é=ëKãW†ÚKKy©Nê€Y\ž5‰zdÝv†c‰Yàƒv±Se!´¡R6·ï1öÄ›‘ÿr‹åÆjvÌÅÿã· Ô¼xRE«'YÔ{ÀŸ}˜//§\a…ÒÈ:£Ön ‘¾LK ÊŒ¨Ù¦\ÖñµýÔ¤±NÕdÛO Ë3AÂu…¡Ö{H1(Š˜ÓôÄßÕÙêvUã¬Q~‚Î@<¡'š”r¿,¹ ¼{ù5ýƒ‹örFI¸¸[îó:·u@l0MU=¢p|ßøJÿýµLHcNviDÁžmôÊxןËÇ r”Âaô+’#Ü$<¬hÉØ{Ü—.Ä'7œÿ}Pr†$ò*åºdV­X¶föJ#”‡F¡{4\%á3Ò(TeÁOúˆºËÀòø¢¶uY´||ä­Ñ—´¼.IÂežÜ£HÚôø€ì—áÁí›n ;ãAÏßqÊ"¡ÚWï^á9Rùsù Z:}xRß^Ôu"ÞVI&§Ò»‚6G„W—€›ÌËùŸÝnŽR„ÿ.«?ƒ»™Ä‡›&×~#æ(†–9oÕõƒGXš7!“‰%vÀ™´qŽ"òô9ØTšhèX¦k¥rP¯l³gxJ›®µûõ¥ôWí¿mœ¨P_{©f?ƒ Ȳ–ÂKþ›bÌÔÉ;Š”ÍNBEªÛÎ$ ¹nÕ¨³;Ã>“3ÓsOºEðM¦0ÑÈ®@aÄÕÂPa½ÆÛD >'¾l ÐÐA!¿ §K<ˆnYZ"QÃŽÓyR¹¯#1G·9·„? SZ—N3p@z1Ó^×Oä|q;bD>íës ~r}Õ¶Õ æÞ¨ÓŸÝ¶Úµ~ööË­ð'ç1À”@+ec ÊJÒ7VÛ¾60Zrik J*¬I«1ò*š"“+¶ì3*0IÙcTûܾ\ú´ŸA¡åp®Èiç‰x!ƒgnÌ;waàdÛs(²Â.¹wÞ¶Ï[} :S5Ñ „sÉì{F¬¹7Q&Np¬ÜP·Æ ñ@„Å‹à^õéµGÃ|ïÎuŸ‘{ÕOEèzèüTG‚H¹(@ãµ¹c0y¯%¨qKt‚»ŸhÒàAÖ­LrG|zî¬ù½\ñê¿@QD½,òâluVz€$ç{RøÓf> Ï¡üкùÝÄõm942ý#Œ£‘õÎú¤V/Ò£jº)õè6ÓêõÕ¤äá nÜ|‘²á lrê•ëýðt{†˜~|®¡lf ^Šˆ² /évjœ‹ï„ÔVþ‚~Ó£C¸q‚RBMuG`N˜µàïiïhä b°ÂqElYNÑæj85#¹•¾cT>sжS9Äàpe±RÑìoÑ÷ñÎŒÒTþQÈòïÂßÀ ï^üƒÈóðq´Ø„P½ªœj}LV„72~%ß¼eFî¤R)Æéàa,ÁdÚG9)ì[ÐtKiéÆÓ s%›O&t†3ZFZ°²êcÝg©;ýªy Ä{•‹.×éõò’ÙOÇín½‹Kº¨»yº#1TIþÞü{%èç[¨üäåU˜Í¦›7•ï}¤JgÏÙk}ä\w¶Âûq.‰aFÖàÌÓÇOZªCò~i4fœ+SJ+ü‘¥ðÛÓ=ZôLa¬wõ“Å3ÞݬkóÉcĦ‹œA:à(¥^\<êÚOŒ#X‘¸«yfmÌçðäé.‹º_SBxæp±–ÆÂ÷ÈleJ`ì,þÓ]¹ }Ú¨4 GŠ*.N¨›S›ãì‹UÄà`?|È``Š63‚g‚yLäöR'—g ¼ïŠ(J'éb Ò’C8ÐD~3 —=Ì”ª²'áb–Á î;SFX…JuéN¸\ˆVg06Ú9@y0I¾ÆJ‚LŒ =HA‰9‚ÊÁöIÉ$ûŸºÿ?¯SSHêO&Pþ‰™ÃUÕä ñ¸If Í@_%ðz'Â[{¶sÍûâ_§¹{D'7ÈÝ–‘ZáMz ‰#p ÉTQâÆµæÑrçmõ:‚S}˜zÎ Ï…9>P0ñJÛ%¼-Õoˆ1Ê“3@¨ë óóÅù~n#%ôñ鞨ߵôØ'uFÙ"góí.Â’pG貜§mñnÇÅzøºÇ1©Ê+€¾²|ðX`„ÕyÌ, I ã/®Ú—8æÍ–n!Ф~ˆøå ¢ÔvQϦ‡>+Z+­.[[BR¡¢qÇ‹rä­gÇ9wDØ+Ï©†Ð[³†·®<…µ+³ü‹Ksë'¯iÁÍ6ˆäg9xZ¶fN&­ç*úæ9ÔØ*h”4r‡å9¡sÕÃèܿىÔü|S¤ÎzÛ·‰õžž—¼_#<®2] ö(ô3Ç@+Y`púPUóz kȪT1Ì]w§UbÎÐE¹†3‹oaÿød¸’Ö ´ï2yÃC‚L&‘Þ? ÍÖŒb¨æôˆçÚÍ;R"½Ê †öHä¡3éÇèš§/ýssçjØGªTuë£/’Íi æý…îóÃ@ü}Ðì·z¥áR;ì;!häߌ(Œ^JçV%”'ëà’Ýÿj[ü5ðÂÊmºOeoïÓ2fU6 2­×ÐÅóìÍTÌ))Á¦?Sfñý¿¤WUüæ}R‚X O=Œ¦*¡ùðËòºŠQO£.0ž—Ä/§ì‡,‚j-7‚†Cª·ßQØAZ‡{ŠX_$RòI|[xŸçh ´ú¤R°-¾lj„kPë›>¹´ÓsÒ $ƒKàš8³íi)ËRì *[,.€Nè¯?Âìïë ž›yjL²¾IëÆUé]ÛQÛŜؙ s!ô`##ù¦ wù ˆI/j6oÿÊ—ríáÁèÆòW8œåú¿ï–ÿyJ^aGÕ÷¨ñ„$§ûøµcâdèV¯=!?—*ËÞÒ†]u¥%¦{TDû Éw5áÊ Äõùe]C­mëÔYULú+ý*t3šÖÞë ÄüpÜXóLê€~3ýu¾¢&¹„§ÒÀ }ò´:Â,ŒíVêò>êþÊK£ejà)Ò(:žÙ ì/¾…Nô[ä­ }ö¥ð¢!ŒÅŽ*“¬®opìä±SÝ¡ï4Õ×òzâ9¢ rõæÌ°ò„ ÁóÝâP_,uðç½ï+Ô2/ÐoïYN!£wT.ÿjv~ñì5‹~O’ùØÏ¨¦WA‡ÉV…¸tK¹§^'ÖŠ*â¼K­¾ïr¶š¹å‡7†Hœ¹ÿÏ”,+Õü¬¾” 9£žæSÃì„£Šk¿ìî%,6ésØe²Gpp0gŒ7jÍ-Ü5^OWŠ%~;-$ùí\ užÉ|X£‰bU}d‡ ³é) [=Ìî ÀÍNM Ó xp°e¬,.者ýPö¶rÎùvìƒòµFážnE>xoš; èÅ'$Ý}Ð÷ƒ!n2Iß¾:¼¼1ŒD]LÉ«MD12»¥ýµó#ƒº#š^¾§÷4<ž÷¸fõÞÎÌO©^©,Œ§SåÃíÈ,ÝÖw è×ÅÙJIÛ£dx^V½’¸ŒÌÌ–M]xÕ”á·D9_!5|·8«"•Mχ‚üieª^ S ùå}õh± 0­mÀðÐUlMÈä'ë[ Ž…G}ó÷cc_€€Ùô·÷Àãë/T†»Ïþþ¦óDP„.ëÎûvËìÌu‰0¾]õÏAÂX˜QËÌýäd6…ìò5]ZˆŽ~öuÚIÞ:€ú¨˜ÛÔ¥íA¤ËÚ/·~Eìj~àø©)rbOôT`ðê`SlŽÛƒ\kKH3Íà‹»ÚZŽLã“U-öÚ`%OÅP“Θ{¼TޤDáž¿¼Óõ·mzb€2 î¡Ó ¸?åS­+&ÏSý=‘ñ‘Í‹|æøXéLxg¦¹7nS›ˆ!ô ›½+TcPq/‰®¥Î¶lÍüjÀ[Dv…½v‚vÞnÚ³{OÏ·Ÿ\3ë0’ZZºü7C€­¯ó¡r‚݆mªÆ M°I]Y¨ÍÝI>Ôk¸Ïèo'UލxF,­Ål!^êÉÑþ~x¨äÈ-'…¦)•½€¿r£›»ªÿð™À/áü.å`m1œ1Höº¬„ç—šÕãÁ”·äÁì×”Ù@•¥¨‹JÎÊ-S‹‡þþÍÛìnˆ®3Þz0÷‰®Ê¸Ów^+çùdåhˆ·“ ô¤çXšF±­ }Œ´”-™š±'*ªå™^ñù{tüòBW ÿþí}~ÒŠ«ÜòyÃÏcÁ1k~ä¸gPVK†`Ls±j ÃáGl#ˆ<!¼É¼Vçk#p&h¦lÏrh®¨jL®°·µ»I;d;çÙ_Ÿ@ß:Ô9¼º£4?0vݘx¿ 2 âc‡rpV5ï<÷5·ÙKEU! ¨³ê°SèhØÔæ]üÉúlÛ/…ˆW•+û/BC€Çè ©ÑZòeÊ~5‡n>Ó¼ÒÀ–õ jPhÍ&ôÄŒØâãM_óÍ?ß‹ò$’º<æ7“ô@ÇWßÐÉÖx8ÂFSÈO¢@Àlüêé×ô^œL?¾¡~¾ùB£úYˆacçG§¢üB´èÿÙB²ÜÄÏŽm›|m3<âª×Oš&}&6C|¯Òº—wióXÜ‹æfta+¹»¨ÉRfç’Çù^ÿ`³B´;ÅDs3x€æÈ)¶QMìrÈÃÒü’M:èûBKÜiÀâMT (iþ½a´q¬t<Æ5ÇZ›_ã%Û¹8LN6YÀiiÊYSñO äþë äƒÞu#ˆŽ‚à+RB{‰"cC¾² ŒÁlÓf‘ #©þT«Þ§>âç¤{¢ÛG@%;^û¾ÿ$eiòPŠeù[ Æïù‰á“çòdÄnbþ©7®*8É'`¼À'Ô|.&‹æÝÏÔÏq˜zbF‹ÓoŽF¨Ó]•ÊÛ&ÜõºI­‡ìÉŽ§zíVø¤ðrðè6N¥Ý> hÃHÃÑSdFx†¬ßÏǦÜý‰çϸB,Ö®>BDñ0>Y ½ 8H¯4È÷µ· ´³ w«å8€uºsXµ é–þ,"‰/ Ĺq6î2?OÌ™ VÏâú/µÙBûŽb¼Þ:„’aU~cýf5 KÂ:#®š‚ ÝD„䓸Úö3ß:*lÞ¬y ÏÞæ„ò?ªÖý3 AÞæ1ø œ À±,iÇÃôÛ k€‚vÎjmì5?D¤~[½'!ßun 7v|*QçëíÖ 6è.»/È#aRà¢j+®ì¢«Ž _¢÷‡0ññ¿$cæ=mµÚPÁÓËÜÊyÅ¢µMŸ¥³£BHQ¸_¡FU†Ýì.B ¿ ÿÃk¡tfú†šöOc5$§~ Õšû€ü/ŽŸËŸ×Õøƒpñ”ãýñ¾Õ>ç81Ã)e]"hžÖP ¯dõ‡,-‹_#Ì’mý‚d-1iëÖßÏb¹Ë¯òPÆ„Pjlëxj€zASð–Š&˜Ê•Ã盦Óß´Y ¡ÖÿTëÌãT8æV²J@> Æãâi’hjâœïß;Ìí44ܳ²WïøGTžR†€„L¾àu0’ßéÏ´Ë‚7ï£5‡òsé¢i7¸§€‹ñïo:Š´ŽŠhÐkÓ…S“ÒÀãa`|3l$Æ` ²³ƒœô·¢q4¡Fe[MMFÑé à-(9A#ÇË$™I"AþǬ¡šç™khE\"bM> ,FägºÍ ±Š²'3B œÖFë»ÂÁeƒ(TÀÃPÐöçLøé4¸9ÕX1ž|†qĤ¼ö8§¼oj½K™mì‡eßi§·ò1ÿ:~àøÓáR‘/íÍV÷Au ã”UòŽo¬Dˆ¤x u¡P¡ËÈlèÛ€ŸÀRój…ÂÄQ?1oÏŒëcË5ÁeæH5æ0Vmúx _¡Ö š†BG Ÿ{0Š]ClNìóyÀ®É gï•ÿ'Îù5,Ss€ô0[8VðÅÒUeúéU(·']þõû@¹¼Û4ÝeÆìÆf–÷\t8‰ŒSËR·pém¤aŠ"Ø–½»dY'|R5k½=ѵÙ`uQÎÏÙ§%àùàÖs¬ƒQf¢v›‚ëZöŒqƒÎ9¢äQAû«Ø©¨8^à¿Õ™ØûiåÑU3 E¥ÚÊ!o­¢Ÿ¸]œõ$7 ƒè)?ve Ìr$m\*vmüÙHÒçv?‰bOüÍlR¾ÆÚ¿¼C‹b_¶ÅîàË\à*^±÷¯ÿC•:ý!©Ý¨å†Õo;æôÕÒœ#Ô=®µÒãkËTy`;Gºø/×kI?rùp-]¢$éóYïÊH楣×›å^mÇ{åïÎgû¦)Õï¨.Î xõú.²Û¨®Ÿ?P¢9;“ë~µ{ çdÚ™;Á¸…w!ºê? ¾žQGÎcfO{©…{FÔ”Äs $´Î}ìU¹¶Š}œ1R—z(qÖS óÔ'=BΦEŒGù›)Ï1¡P| +IyN9­Š=,0¹ï!Û»´¹×­æSïwFÈAá}nbrvM¸cö&Ά©ÆVÅ ÀËÜ<2VP¥ÙÃêçÁY±í¬_ ¼²ÊK¯À‰ø‚UàöÏAC`Ÿ1»°sÓöTôE ‰Ïtµ\8È<1(©¤æ6©ÌÇôjÝÔÖÛN‹Kƒ[»|ïHbör;‘í‘LXÝ•˘F¾G®«,騲mjÞ†n,Ÿ8‰?÷&L‚u›Sßaû.8Òêšžø‚ÑÓŠ=ªÿhlb gË[dt(…s&Rü fP¡vŠœWHL}{×S²ûf¡NÐì2$»î1¶m‚[aªÚ3vulVµ’z6)ûe.³GÐ4{Ï­†2²ˆEŸê3¤6Ý.Ûô³ÁM~pƒÊÿSºw=N^žÕ•`sGPpbGèuÓùŒ ®ñJ«þài6-2ÐŒÐ@³ØÛuMÉéeéïtFB…RåTÒÉË’°9œMÈý‡ ·ÚÚÛõŸØÓ‘Mš?6`‡¼F ‰¬©§“²›Ý}ô¾’Š¢”ÚlØL€xF@-*¿—–5'2"°YkNG¤kSj]ÿ2•ü~ñP„õvÿ'‚{hšï­L¥_nk§»žT„¡£o87Ù©|¢p"‡(í ¢†sQ‹²R¼ƒöÁgÈ_‚}Ϋ'gHÙ=à‡äW4½ACÅíà[v¯Uô‘œMa<=ŽM$üè¤Íæ’Œ…aj^ŒÙ a!„3àR•²"Ê´ƒWÔnŒ+Ø 4Ät¥ož½ƒ/öþ8¿_‚vzŠÞLóCÒ‚‘9·6›3— º'ŒA¢A WohýçbQæýðkÌ\‘õ.ñ—\ê]ªòõç_káëû¢ƒ÷ùkˆ‹´ ±V+î/àNï‰À‹!I@ïg,—éóŽ€×Ÿ¬øöÿÏYèBïuø¾WEýó9A™¹Õ”Q*HÊ2Nr§IéðÛÏC¯¯tº"ì˜i³bæè# 39¤ò-kRUY‰ q/ ./ P`"Š—ôÒ–C-뛹gjc!ò ¼>’îòøù´Âæ( ï£M7ù \8'ö¯Èdmû¬Yül7ÝÒwAÐe`ýÀA´Õ¥ÿl¤¼UÄ7Ç?¢û8Ùø·Õ§†ÿD‚ìXRj)8/Ù‚Y:(ƒ[RØTf×]Œ?b©œ3†˜l—÷û¬W°Ö”'. D7^;UÍÙEÞr‡·Öÿ:ˆWLaØC‘ÌS"Að…ëLô^VAw¯2™aïϤ€óÍqÎóeŽÓñ&±Øãù⮈¹žj¤ŒáüGeó%'N#¢:qQOŒ c  7A´ÕDðÖª W‘ʉ·eì’~uÐm ÄÿQí4–\JÖ=Á€1Î'4éÊ‘ŠUŠ7§à=LKÞКä¤îëW ÷Z±Eû’=Ys‚ ,·wU›¾šß€ñáˆ>Xkïuæ÷‡Œ iú#Ö?®t«kù™Tem«xp׊f UÉÕm”R÷‰Ê5âq0Yn?ç@KËyüÜž IÇMãÐ7½3þkÛs\¦š\::ÃÉûèõ ^è-,Jý¢¥NÒ”¢}A¯Ü Pï?mf÷Vè#©”å7®ˆ‡J èãÎUÚu›³>Å~_^5°¥ê.ïá”r«5(ïÏG—Nõw{tGÿTøÁÇí¶PP,5Æga†nJ69h¸×“ ÐtÇäåóC bs‚$40ÔeW?ÓA¿ní ±o`l(6òá ZçšæðŠÞàj­ŠþFƒc¬‚ÀP ž¤®9ËxËvé9·½x¨Éy%=cûÖìÑáw¼8žõ„~^ZÕé ”\Ñ>—ŒúæAïx(ç°ÞöiB´[zZnxKš±-­ÐÀš"qIÀ S©ü‘Øø‹¥*êó‡ȶ¹w¹e¼Lšs'¦ã¦TÑÎmŽš¡RZãß›½ýzºÖÈðGaY£‚û¤?·Átû{Êï x\F«°öª€â\¹N¼ƒ À¬£Öî6/ ;G1~š÷rR­ ⸡K“þœXÆ[Ùl±˜Mr¯˜è:Û­y=ø#šÀÌ×äTëéó¥è>äxXTOôÈgþQ?D>àIYÝEóëøiŽÅ5å-Ýâü)­á  BpS²ö4ÑÜÞæÃñ§Ýk€¼phD¿ôÌM£®1'¥Î9‘0•þ±c'Š ?êÆ—P±ÞÉhåx8n/n_q@&äGs)íòZt€×í•GAKI !-ß͉a”9ñà¥9™ Kh’U§}w~ ç‰~;Æç¿ÿõzâ,ýÛéãNxœµúõ@,ã"X²_Œ”†™ÿ”š&—d`ØõCÚŠÜ'Ïá–OQz>F‡yg€ø .l‚»'eñTPå²5'ˆ·ßØéOÑà7ÌK°¿\5?ðúQÆì@Ó4j6"¦DH¼î^À*%rÈŒBC÷Á1­ ùàhßãÍkZ\$.b* ª ñºÌëŠu‚ÿSæ,vÃôH³¼ B@J ^ÄNÁJZéѯv{WÏ ÎÒ‘©»Ñ§£XMÅ­´ŸOXC÷2^eðâ“ëÍGÄ›Dqò_G]Í ¯g£‚:i7|w“p´Ÿœú©Æ]b(ÿAèUIñ@ã2IÀ_ËrŸãþ’AWÀ÷±õ¤y\T—"¼>3#³ØÆD¦ž2ŸÅð@ó=(H(iv*£E4YsÓh¹s°TÓòäKÖ¡pÙ¦`f–ÇöûÙbfð°¶©¢,‚ 6‰š2r«¬c.·áÎ𚬹;§¾•H ,· îh¦DI¨Nwóe°jt Î7…dzûöv0&ï·ïB±aé™ÙûIôâ]CµV“VU,¥N¹Ní¹¤ò1¶HP^äÜŠ¥¸Ìñ W'±FÔÓÈrÉ¿Z ÄÒR~ÅaΓ‘WCo^ 8Ô#÷8jÑZ|éÍ7‡ì¿ãÀÐno<ŸÅ[§m¢»aZ™•æ»ÆºÏYZèÿ—qGæº·É ä2hk¡vÿEËtœ!##`ð–ŒNvíÙ”ÒÕ/ƒõ[ÅU)ÉR¢Þà¯k]m{³OGJx˜sñ<ÔVO߯EQóv>®%íNÖmîOÏi(Æ^7ÌTI˜çš¬ÞìàG0ô+…×Ï!~-ôÃýŠ®LirÜžÉü¬+†ÏäÊRîï-ç›2X¢cZižó¯”±Õ“íK®Ê¡èl^¯…¨ò>×í('*uÑ«ä)£¨±Ýˆ´‰ÂÖ\±8±)_SŽ‚êðº|èpZ2êØ¹¥·®Ày=^›Û¢ó,[yÖqÈOÇN`ù7 í°3›¤Ïà}¶0Ãÿ«mX–éA 1ËIú«£žfÌEh¿wÎô¡Ä"ìˆ(ÿò&ìúŒ7ºlnõ`•p°á`„"õW¤aX·çŒ)F’z‚”¨»’5y²ñ¥ô«Wÿþ¡kL›¢—;65„ìý’~…ÀZöáö©5ôù™¯ Ìn¿qlwÙW³&ÏØ›à™?÷Î2Ÿ€Õ’úŠ˜Æ—›MÝ>¶ym"TŒ ޤ‰ú,¨~Šâ¼Šóo*Ì™²Làp¡2$…OÿõlUqd¯ŸÞBkÞ{×4ÛbjéˆÃe¾ª‡¦ŸQïyz@¾éR úÈÏ\",ùDÍÌKõÇvæMÁÜAê÷úƒ?¡ø¿›ºK[ë„î…‘d$ÛSdywl£f†(Ý_”òÔþ¹é .Ñn&©Ò¶ïR¼ï½‘¯a;’ŸÜÒ;ɱýM ïRŠSÚ%Yiz^ T_ŠcÐFLIÑó“ ôºb)êk¿ìŸK j¼úµ'•$t )Içkï}’ÉcßíŸéOøJ,”rNîîÊZÂø 2W©âÜ®@Æè¶—æ’B±åÙ·A^ëwYþË®"Ç ÷ØŸÅxs†OÅs†óå 3Ö±èV mÆ’æ¿}vù"e3Ã\I˽°år<:»`ˆg^´B—ÂðøæbÑ¿·ƒO&mr¦;S3ï7â{w ÇæGr¯KpLv ‡Ä@·Á˜l¥]oò?añÌjÙªBׯtÆŒ2«uRO1G™—ãhæy¶Så0åÅñò`=ïQ.¢­ù½›wó Ú‚Îø„¸_žÕÒð7R»A·š ‰·ëMÏHvRê¯Ì¥b®6ªžÞ8ÔÖ¿¢ØïE³Rt¼jÒ–B;G!V I3™¯½r¾Ýô]{S·ßõÐÛ4)|Óí-®üóÓnœÝþz· ¢“ÏÑU=-è]xÃ|Ž{oT©•&}ñ59[ŒÐ2P0{Ý÷HˆFÒ øJ“cƒFP@ŒÐÒOEPÞËYÿÆŸº•7{>;ÝM„QçGeŠäë\V–9êë™§Ó¿zã$²€§$6ª…ªö&Ëë¬Hw^B~BΗá<öâ{;€“o¯*—À¡Ìú–LjV^¾,,žJ=lŠæÓÙ"Þ6r1n°ó%é/Cï¢ïìDÝÒB†Þ#ó½Ó^ÓåäiR 6ü?(€-þ‚å€'ü½½/Ä—LrÎÊŒ>9J±m˜þªp‹„ÜTÏêÜ=£9š…MÃ#Ê8ŒödÜ‘TKvàa㲉€ÄR„fËàÇ29ÝK äqœaÃJœliÍä«{ä:ɈFEæÏá¬7}ÒåC l–7çoQÿ~Qm"ÝJuáìÖûl¹R*ªçñÄbáŸ%Zï6,žZÊLí’S†‹µ7\Èoµ) Îè<Õðk”wÎ6쓈Ë0qÑFáÿÚ«Š›ÎŒ7n¼ö©]xØŒ½£Þ·µÑ ~ž(Óå£&|Fúum—»ÈÃüÑß7FúL01ìAãZ óvö$cÖ4*„Å{•‚…q‘ÈÄF“9¤hþ«±G™UÖÌüöâ¨hžµ}Æjw5•2¿e±dÓwŒ]ÏcAËXRB˜…äч¬gaËÒ„GôtH¼LM…áWðc<޲a2èʽ\ɱ'­üÁ‰œ8½Ô-­}z¤j¤Ÿø'¸fk”ó±Çw™  ×r L¾GG`Ix¹2ÜÎÒÎ3¸uÔ`&A‚ ˜ã äòJ!€ôÓÓ–tg» hê€E+zE5!X:¢$"©• û­»®N—jíBuu Žc2‡ÃHíŽðØ ¨Q¡Ú˜CWNÉ?ú¡¹.‹ëêaEh‹`ùõG¹òåbçÃþ˜ŠÏh§å3ñ‡ñe§©%c€>‡~©Û~Ÿ&]š3"|†œyÂ"³øû”n‰Ów±†ùÑ!oÞùfž­¶NåŽr¦b™`ÚpÅ7ÌeˆP{H½Ga¤Ó^ޱÌj‚¬äÛIZl7/#Ðn=ï6aüÀj°0nyã€1͹K»]¦u¡‡SR¸å¿T{j¨Ìày…9c}8›-…Š\ubƒL£utrÏ$4ۘ׉O%‰ £Š}‰éçˆ9RÄI¸óÝ„@÷ÏvÅRÛê>࣫"JyÝHÒUÍ›´mõã¿­Šù±‰–Q-†Ìä¨éÚ¹wym •L•aÏÂr¦ ÓÝþ ³÷MyŽE#Aö ­|À †þ\s××Oãê: ‰‘u½õ‰P'œ¯uyf ðÊg?ó!X;‰ŽdoŸÅªÂµ±Ê‘ŒK Á?Ÿ¾ÎÄØ6||Œ„ðÏÜšE}œ\ôqê.¤a[/Ç@w¾o|açëüz¢ †+co¢S˜G, ’ u¤˜qí®1-’ej û£õâïwÅø÷/÷œmp^•ÎýË ~Ñýf®ê0¤40ŒÇ³»s‹QÉÒfæÓh÷ñ¸ƒ³›¢°ø0¡£=Ë‹©>Ôë°³f°ËîÇÛ"YBäQ,;–´gí^þE?‰?ܾÈ\[¾™ÏacM‘§ =‡Û #Yj¨Í0¦ íàœ®­ÅñÝß*6ŤÃkxôî&¯Ù”§Ç†€£pÍŽ¦ „ 1¾L&(îÊ2®S`ÜŸ§ÐuI}»EZ;Xµ>ÛÑX»gÊ3nL?³Ÿè—„ V\ ÄH>~O#¥ÛQºÏÆ5z¢?å°oŠ`yå³a‹Í. ´%BÃÛêßI_¸QºïP¿‘Ǻõغ¡ÖúÔß3“l©À?·€ »YZ»€EôgV©U{ËE)Nß­ùÞ2¦7™¸ú¸¡`¹˜?+»ó@ÌEj„„§œmæØ´ áj±M8vd’¯–ÌÔË=•5.Þ° æ±ÜÑ—YRW³”@€Ô‹.i4L'ˆrÑ¢?¨ °êŸ—ÒlÔñpQ©Ï1¾¾$(ÔR~ÆÁOÿHÄ¡9l,† A#uLv{úÿ¥ÍÈÊ©àÐѪ/›˜FIô8ÍE¡…è¾Ë[˰Ä[d¡%B‰²V†éf/›Õ²­^n&gìÛÞR‘Åö"C l ß=£ƒy÷O.Ö@ìÔ÷ ‡XF mJØaºó·}^åôºi«}¢-DbÓ/Gn ®•ìæâŒ­foåT.6%¹a2¤(Ö…$D}÷öE±Mà]åC´ê#hïýúSªâvЦoIõñT¤a|FØSæÙh;KAöùè°«4õ¿;î¶¹aÅslµ"Œ?¾xÐåÚTsÖÑ @:ªæýJuÒÜbEüΧÊIM…cwCög~û³Ú"TŽ “Ô2à7v+Ë[½¯ëuéêámlÙëÉ6²3.ñ”E¸þUTï>XF¯FËëæH÷ä³mãþGÏ=.½H}á ÑÝc¸0¹bª±}ãßü +‘a×EÞÖWOµ8€¦V½K²·qн*DÝÍÍÉî@_©HE”#åPE?.ÎlÐ0=ë3µä. +EkD“—:¬ÛÖ[%÷ €p·ó=3|OdF ì:ÈtÖ¢‡ˆÉÇ(‹®¼g‹ËQÀdüì—zk¿¤÷`¯¶ágŠÁ ¦þØE[K|pMU›Žg¦K#çƒD3K¬¬Ø’äKØEÜÀ§Þ*œ=OGÐ)-ľ¶å÷¦·µØIQÖd@Åßæ|â&R¾ý¼]^^a­r„F•%ªŸ–‡—#* $ÆËZzÕü‘°Š¹0d^ë)ˆòº‹M˜Ô/„Ž @ûv|‹íóèì)¹Œ¦Õd+ ëóOê]ÿ=ý‡†a»¬²½9è0*jf%¶×–EÓM“­Âž@G ‡¤¨ëncl3ëÃ*´EÆÜ$ùèËœÿÚ!Hþ¢½m-E±6u¦‰ÆÌž²;šìwÁ.Bí§ï±«tñOnó+\<{¥kÁ*/( újåÕè È‘aJÎI”¡zû-¸ü$ÛîíF’`›C5Ôå†hTï>¹tž@1€jÔïsÇ\OèVìPþ8à6@:|Û 9GÌ^Žmæ¥3î:(zJbÛÒfÚ‰¹–·AUÕHŒ¿°À­OÚQxlgkŸ3ÓhØ#T 8®œùÀ &îVñCëDÛÑB¾nªS¸ã™.£ÛõßTVh6&v%¶‚5¤¥â&P§º˜¹JŸ.JJ熡.Lßý`5æEü|FM*T‡¬îÒs®ZT«ƒ-`xæIzs:„ẋNÚ×*s”THŒˆ¬L¼>DR¨œFE*f4JüäÝ ^¦øB8I¹ ‹—è׺¥Ìã‡øñÀæsiýC£üBfλ×/J\opðFñsx"p”¬P°}· Í[Ú<œüõ] ÆO‘±™1ºFX»ûÝuÛôiŽ<(÷’E»Mún¥oe{ìúÈY¹2s<>zK–•Ç/õ”Øà:ÕŒŽïVmñ¶öì»NÖl…SŸõMàÞ«I†zð™|«•ÅU$eÊî`JGtgÑî÷ÿûdÜllô…8fœØÜ¨"Îýh *ÊÅâ…ÁŽS#` À¯Ø´ Éy?f».J’ ŸIs¿“âÓfÁµ§Äk€öééÔëAL.6J·7œyÞúÒûØNWz$wrqàuŸrU]Leˆ«"G‘Ö$`‹š;‹ªÓ=\a<±ž»ygç1_|Ts ‡¥íKáÿ@RÜZæŽ0¾‹@3˜á‚ ½u0µy¦3?ãŒô ê'ígq²uÆÑ³I$P¾À®?v‚Ä!‚uã×ö)ú ÂU_|•‚Užeœ Á”.„©ÃVG]wª˜æòצ•«à€šoh |Ÿ'Ô¥å¨ÝímW$þrKøúÞQ6®8*©Ù×h•À' årš_àäFééK¿>°ü°O^³p#¤Ñ“Zßb·Ø*Š¢[žd…¦Šn“ìo`‘jc•†¸ÏÇ3`Ï/ŸoyræÇ§t/C`3ÖM¿0%PmÉùX§Rijmê(]îJ#Bñ `ð^Þ jÌü¼Ùƒ—EU!Ë{—Ãá•‘쳆û›hé•,Ž,dú]£I†Qñ  šA‹rg=‰­.‹bé58%¿£ãƒ,þöç \l+“¹‡éõþÍ‘4ðTŠ[x­Fqé®`•ÜÌÄ^àP[¶<MJÈaör+äÛ^ ï eþ7ú¢ÒÁ3(‘Ä:î™èÍ´½™«ÌÏ.·xŠß!ú¡ì!WszevkäÞL¶Ö#Ú­_ÑåtÓ2—޶C!ûCdf]³ny.ãaP£½¿“R².ÆvBz$ŠÒÑǵϴàãcà5û°…ÜA¾Z o;wÚDJ‡‹‚ŸëQµº81IÐ-æ (lŠiéKÊ5n&È(NzÌñ t£dþõ*!•:‹1FŽk8(uú0H4}øŒœ½»AAvºC­ ªH»€vƒSÕHr¹»5å51±,©ç׈ÒúDyAöMDiHÇ—ãÚ/ăUÇ|R “Û víóJÃýUa³ßm¨)|SãÍJ¬â7U Í ýð6IEؙ…°¼ð‹™{Mð]ˆ2pæð# •Ý”ðG¿**!¥ðÖæÕxø¯2\\FróÚüò‹ÉzÎßÎ&PÑ^Õ&kÇ¡S¡‹œ®$’iâ¢ìñ`Q£aþa‚4tÏ ‚<ÀxŸ¥5sYŒ,¬ÿªb|ÈZ8p)ï FN%’ÐÕ= („‘­ÖÑ&ñÒ:s9´üØq §½»iž•¬³Ï('оsRccRAŒ¸` Ý4úÞ´óœeŒìòº ,ææqÆwsâÕ¤)#„¹{âÿ¢×K#¸á|'ݱ¿Ä6æÄ|¢=ÉÝ7ØsÔT^zP>Cìé±yË\JuPv‰ž…MC3Ì(¨»pbîiÔ¨-Nä±çØhkúÉ®i¥ç]'œÊ,Îq)ö7¼¾—Y¨`לõ¿}¼æ¨AÂ$UPîª,`ì”Û{S*vµèS$ÆDÕ.‘äß3¶ZF‰ Ý÷³Ž²K40’‹¼ÃPà»Â»›ìº ÍjÈaèW Yáµ1Ä#Y¨—cž _,T‚Â<™ij 7ãx9€”ç7lÜw4+Ç&·^AY¿¦÷ƒHÃ`w†Îî2‰;"¥q‡¡ws•Oî_oQ[ ¬Óâ&Ψ6ü¶†Ñ«àÃ3ŽÈø e=Hé‡úP€¨ ˜ßu2Ràb΄†T¾-€öåR ‡G);L¿ÒºeUr=ã)ÀÆüíqÝRìž= jB£îËàÿÛ·NC¶ºï×OÀK¨ü`«1ֻس9Ó©À? ç‘àΗçÀHpŸ•Ójì'œ~©B´pDÐiHù7çPTcÿb§ó¢i]<é{ùtIÛ,È3¤@õ©‘úúsØ¿÷=©_­Ä çÓ“åÃÞàÊdâ„}!ùÑÚÝxXÏŒûÖ«%‚d>)ÈÞTµÙ˜\·¶PÁÞbÐ\{Êæ5+Ôêvx9 NÿÃy´D¬3t G>¡à2Yn0 “ï‰ £8 ƯÁ ¯€î안 O°Ugàm}›èX±ˆTËû«¤Úa|xП‹‚㉄!TÐs„>ÀwbŠâ\}77¡;u]rL"•è¶’¸¾8Ú‡.Ÿ$Å_;3 J/ωêŒIÙª“˜·ËZr$WÔ7l*lm:–ˆ‰«²×J„eW™ÿææçæS+§Sêë};[ R„¶¦O¦'Š3`@›¨f¨çBšD’°²ûU ¬5Z›¯ÃÍÑË{PMÎHôÐqléÒ¨*€ˆS9ð”Ó/œG/0™ýC{ï`ã|^Xv©!Å‘„Ï ç– Íu¨ìýа²‹ÁÄaÝL^>±£˜ƒCÜ—ÛÇŸ^wý,ñ„Y®Þhb}ظ{7·Ž£»j}¯—±ß!’xËì„4Æ)ÔB¥Ê¾a8; ëÀ@®r—$=":ð$A¢Å8}ò€ß¾uж®Ó5ýä/&=ÀUlGC'3C‡‹YS’gÐxÁT"ôÛÖ´Áë>:|Ô6ƒÈfÊ¿ÚX2&¢»†”hÓ`¦C\]B?‚êA­ã’šæÌ866{tJ%G¹‹D*‹[9jµ}íAÇH8ˆ†“$ó_Ô3ŠíÏ—ćÙîi7ü.#ku¤ÖÉ#è¾DNìÙTª ' íU5‡ùêIž&¬i½;Ùžé.6´œš~¢C–Ô@0Âò‹‘4©/°õ¦…˜ÙÑÇ ™³ PƒÈhµz¤6ŸE¾T[çUæm÷Rùýc(6½9Rßcˆ©Ý”)Ö³d+öácÃÁ}ò»2p:JtºÕ—üäÓyÒjØy˜2ˆ°Z7UA—[2&ð°­fÜKD1DÅ-çÑ‹ z¦qO+ÞÁ¦¥áb æRSk3˜ëPÕ#®©VMñ†%{ÀÈlª®(7àpÒÏGÒM~>•VÝìnöQWdµ1~=ÈÏS^×Ý>?áéÒ” ¤)ÒC÷ÞR8òj¢EXᑚ$ÂÆ‰•Ë\$7+@ÛºÅ%lªBÛt b¦dÂ].¹{Z|ynÆ÷­>W:Eޏ0?H¸D6ñg0Ô*–L[ûò\I ÕµUÿycOJÌÅ“™° GíQõÚ>•T–DYê…8À ›(>™p&¾(Í͇ož–dßLM|ùIºûN"qº Ëã]N#¨._mÍá€áÛvÈéÀé7’Ž«OÛÉkPLF»~-¡Î3 ~ HÝ«sóȘ ¡‰C͈ª:»½œF<¹‘X`ݶtÝý¤nî·ë¨ÚöŒ;*€RÎõÅ3Ø÷ö&’…q6Øh<–7ÚZaƒÁœ›¸ ¨þ̨h•ýMM+e½Š¤ÉÛä˜Hˆ}õí(+¹õñjž¨p(ðj7ûר££†þã&ÈÆáM >hº3)µöÁ©±—[™¹ µØáÎ{awolPæz JŒ@qþ_'ýö«z·.>aãL«æjܼ¾MXÅ‚ìÈextKæY§'c0ÇÍðëЃ#@gêt†}Ðy‹$Þ¬ifÈp%Ò›a ÎòbL 8‰ ”¬°˜Y¤±ÑÁΙ> wU,{e‘Avω#CÆX ê!€BfîùfF{æ`7›ó·“< õþ£Î–“ÙøáKÛ”Åc4óÁSˆÆ†ˆ),)õ´®#é+ÁQÐbn{ÚžK°\½õ_#™å¤å(é•ð¸€ùÕ¨]Ï2ˆ×“o¦Ž;¨¸¬…‡‘|C³ž)$žù€Ì#CF,Ÿ[{_ÏŒŒŒAxÈø ?‰ç`¨L þŠÊÖú;³95!´$QÂÅÒ®ä{Ó,®=xÏVžÕ>–ƒlDr"ÄUíó0ØLô Mq\]ÆÈßZÀŸÜe”y|>›ùX5’Ò7»-h²ñLYJ¡Ëq/`|Ð6IJ€‹YTµnÛ•y@@ÒpœB¬/¼±ßo Üµ7 +ø¥~8ø¯Ø^N÷6¸à÷¾‡u[gMÐGô9<«f'ìy_ʱÿ´|b7ÚË(Þ¹‘ˆäíCßãg:¶$M¾7röÀ””#fö«·;¯ÐZËZ¹}ãYÎmx¤;5ÒÆÄ¬jõ¦Ë˜=9Ì€ó<ð±ë‘Ÿ–ó^bÄýôÄT‡%"»R™ã¢{íééГöt:”Yn«‚¤5 z?åO‡7¡~x<Ø<ç1_7Vü/bÉ.êèïnêÄÖ Á³™Z|ˆ ʘ*{Ä6$7MR}c€®OÅ{ÀûRnÀ4Æþßâ‹y ת™½÷¡f5S³¨Ÿ3Ͷ¨ÕOBnÊ{ÐÐ~ëkX}OêÅrÀì_„Å•œ¬¨ÀwR¨ÙÁhÄxxñp/Fó6´h-üˆiY }R; “?òªxQAk]=..r0KÄØ(N3\$¡|¸©Š³;¢Ðw/™sŠmRç½O‹£=1„/O…ñâqU«gÎ'Ë\+·"{ÙÞÜÞú'¡i‡4;pà+a ¡"v`¬eܧšÅ+ÛæÙµ9¸å©#Öa—µ– ·_ Ç I·”ìcI«†Ïu2$!z¿p# ðˆ §!B9Ï.㠨玤ã¾Ò¸(ÞGA͘äaä~¯×«ŽY-×Å1ÄRê<ï¤Mî?-—A¿”NȤTég_¸ÅK æH–Fî‹¢›,#é=çM²|˜‘»Ú´=ޏÅ$÷'þ¯È Qzíq5`Dœ­xØiêVìg’Ƥ˜æ0ÛHqÔqÕÅ#£n¨Ç™ };ÍÒ)fD×¯!Yf…# #–MwÛ&†©X9Ò(y½vÛjÎj´ªéOa·“ôÎe¶Oú,Èô?zl5ÅÔFùfÒ³A|9$aN ë(m=æMpI‹³y‚ “‰¸ÑRñ™.†{ž¢ÍPþ:ôÙm!Œý;G¬oC±{tÙ'v²\!Ñ×âôÚ–5uý_äµ]Èðà•Ò%Í=ž(Ú³Sröb†£z¬ì):G'Ë­kqž™¼.î8Ž `’X rB‰>‰ÞN5!c (,ºô4e»9 e?DµÛéΦ\MÑ(®*å­"ÉAÐ0åzé2!uä0º,NEãÞ™Aãå?‰2_ÛÝ™09!|Š _ a^"?dVT>ÁEðœs¹WzÔ•‘#õüW ©¾xm\ òE9mœ sÈ«lÑí h'×9IHÜ mS†ºá^»†^רÓû–ÏLž6cÉ š0fG¹›#Äiff5×<%Râ¹á]µºÚÀ˜ÔóF­kÝd EÛ,7…ì7<$óz}9ü•V¢~¤W€µ™)5éòýtÌNdÜÖÛ  Û•£Á½6c Bñd‚™]ùlü¥¤3h~'t´Ô\6âJ*µ!^@¨¨¶Ü ,œ“QÔÜbê‹ø*\ª^;z?2 wrK`8 ëæÁL‚µ8²DO.ïçºên8¸Ýa`Ÿþ­Ê·åb_ø I¦[wÑÔ;ûRYÁé‰Ó‹›Ð¡ñqÚ9ƒ·…5s~ð›Ò#¿”‚›z…´¢m› á®[MDèÌWd°ˆS„ýF”7wì$ÁÇ×-£¡¿ßxfÖ 9 ¿›rïÃff‚‰íL”JÍŸºüS¢óý7ˆôÀ,#â§t&ÆX_§dÅ4nŒÓgóô›r<Ž×þbPíç´öjTLéc aÒ-¡ËÀÎÍüDíü^/v2$`ÝYùBogŽ=ªê±dK•qÿ'…‡uÅ­Ém·«_þúhãä8ëB„Æ»9´"׎ãSñm’BÄŠÊ&a}qj°cæÀN;—æßxÆ¡¢`fQ¡gwÀ¸·hù4 ×Ö„œ6ß²è*â’HHÇHoübHúé¶øYÍ2J jβèµùWCl¬§…ЦuåÊ1¤&Åì#ùÍrC¡ûT*ÔÇÕ ýP‘œòL+ånPO¬ù+.s¦›ˆ¢$öŽé2xH͘£¥à¸¯ >giÖ^¡”CTW¿%áGeÏÃÀ“ÒÁ•î >ä/5/ÈD$ˆªÛ®¼$$}Ë0§ßúþÌG¸ÚºûKW°@¦í+ðèxÄë{£ð Õe9ÏòÙÜhB»‚.  ©rnºDÕl¨LG⤑Ǽ4J ÖBÙöRÜÊn†õ8ÆvŽÕ: @Ê-¢ÎD3Çá› ؉·83Ã-¶½gêüÜÛÄ+®9²ÏÃ=T|.–ÝÖÿ¶q?rpEÆòE6 š,üÅ~®o&i4• @M“]æId^nœ‘8eÓ>pIËsô£?ãò $©LöÌöùr:{IÑßx Ö¦|3ÔþfßÄsØ+Ù`šJq¦Šþççt$ûŠ  ¥Ø(M'å:Ôy–Lì‹ÈU-Ýæ(.™Šwå‘ã”UòKGÂyh5ë3-ÕNiP™w˜ £%g´|rßÙ•JðÇæV((Q@šõIýGZ&¥Æå´¼v! U‰ô8müD0÷/ƒ{Â÷‡á»çc„²Ýy9l@*®zÆ!ÁŽ”ü-ÕõÂy" Ñ/)íïE‡Éˆ"œõq—çºääÛJµÈ™Ý G¯X}d_–¿ÆdµrН4 !ª‚·°Ã”°ÊÚÉ«¶0AÅh-žŸsn[¸TœÏÎ †FwÁ› Ùj~ÏÜj1zµivú‘i§© Fô“~ªzP1Ñ›`4/Ë=H£2/O„Ým<5_?‰ Õ5wæÇ:ÿy˜ÁlèX&‰bÑyºqàòÌëþx1ð²Ãc’˜Ÿ½¶94’ŸgHÀŸ„¥&þ“OïE/³#|Ôñû)nŸhX vµtWë:ù~{ëyeÐN1ng½zužô²^Œj@¾CÅQ&̧t:ywÔ3g«©r°ãJA™×’·"ÉT¥t+gÂÍœÖk8e°q©O•=†‹;ß=ô“%­5·¯i+‚ªë6\çzG—É_| ³]™ê¨MÍ‹sËìªåî„ 98_$…á¯M-bxôa lêön!÷¾t®À3õí…Tö=TTW^¦Ì2Fõe’ÚêÎì"»`U$ï³mì·½ eïäp|¶,«Vár ‘¹þ”'DieÀ½¦á„|&ºÀDCêZ™*˜(L»çãx¹ù˜ïj³.ïbçç‚-VµB1•7QÞlåº#”ÒvŽrà`PÅÕU"p æ æ…§Ñ„׊2IVñu%*¥òôŸàq²h¦äÿB^ã:ä¬%e\ó°9§©&Ao!ã@“D¾ âa/z¦ðìÈ´êò¡_^Lë–9H5^öÐ;ÈÎÄïòPÙ@\ÄBhsÛn:ó¾-Bg²Y»o»]Nt鋱3¨.æí]Smþ¥öì—Ò’Ú`-¿‹”bíº7@ìH’ßMöcMd‹Eò6w§Ö0/e6¹òv!-Ï>$Ò×ß&vŽ»žBÄí H7¡jÈßiƒâTTyªϺÞØÅÖˆôë¿AWä›Cªl‰)3È1?á®gugkµä™ä’ˆ?12¡? >¿&ýM‡A‘'Y€¦:{TÅ!œe–v<–ì®Á³"]äß*Ô9ðéÚåb¬Ç!vñ© Iúl–Õ„Ý F›7"¼{‘rºKUÏ, ÖóéÐNŽÉa£(•˜zªpö˜nÂ,?rÅþ¨ãõ¸ßoúÀÚÈþ·äœÀéu ìÑ+•´ñâq9Cb Zø&½¥…c[üÍ!2ø®-Ø2ë(-\Áâ$»Ï´[ÝÁ Utd·‚W+Åc‚%ÚÐ)bêN§º£à>"½«>‹5N{ _’\"ÉЖ ¤Ò<’üšŒIÁºÔU|[@* † ѽŠ;¡'™ÏåóÜ¢³Jüx—¦¡bùD# @ªá,-ø“ÿ—Ü®xO…y@z°«aeUÜ’L Iò…ͬ÷/Ÿ¯.f=»6O\¶á¿»+ï!%~{€2βŶŒ%tZØ9£1š3Õyò@ó们CüAz»ôz•B »7iB´®žº¤±Xdt²çô‘æ±Ù84âb™<8ÃE•ÿ^k7!ƒðM{¦y¼ Sn”ã"|ßšÔÒ:æòKšù·f"Yœ({YÒ×sÎ\/¸ém3Gw~–BŒm©ï­–â”1LŽ“ù…г¸È þ•­ú›#Öp:B¯ÙûÙEXü‘&í,€bTÐB:*é~/KühÏc×QÐÙ=Àb¢ydºIp}À4”ºé#üˆÎüýhñ»VO¤™/S¼×k$O<ÛÓ…Ã\ÞRn²à?:ó„ Ðåþq Öü‘¦b–I·#Ó:E…d€(F÷BWs G`aÍc±,NJVÐ{n:7ºˆ2¤‰¯”vV[¥Æ`kªN^½;›ß\îºbT©ªë‰ÏP…®!5ÚTh™UK/¸œö€šXSÇET}»>ÅRIýEâ¿Gö1›áv&I"Gÿ]¢P¨xô_±šÊë·h 7 A@qƒv&DQ®GU&š¾§”ó†$%´ÃKE ¥‰t­ò° Õõåöfàû€c¸Ô>׌ÖC³e1 ÞJ_…!Læ.¢ om¤¾ô–_Ù _¾¦;ª´IÈòµ/9íÔ" UôÈçO–žŠãŸ.zfì¬I´”:&(‚ûp¢b“ÇŠ§,¦Hw“¶Ôš æZž%-Þ¬ Jõj@ª¬¥¤û‰ýÈݾíav¶0ŽÅ;mÛˆ"õ¤‹·¦Ýò $¤×¿ÌúžL* Ñ!‹ â¥kžäYÆÔñFú¼ä‘û ´Lhpâÿ#3cu Zî)‡5F ývÄÔmü?áQj€o#AN¸1¤'}Ïc«ÀrÊê¢Ê`ß$¤œÁà|a0´a‡®‘\‚?m{\âH•tçzÀF!—ì#›6XŠá&BÌ{“Þ*ŽWD¾Åýs«Ä˜ÿ˜]„·Ä0áMgž5gba‹1Q½¶ŸE€ªË‹+'A›Ð—I;‰ÒòÂy ÕÓ𠬬\;æx‹¶àHn­ìã=RÇ^c Û´(…«¶w´ rrš>ƒuÕçDÔ£Aã©EK1Žu¾rFÞ9]H^:R-qáMû›-¦ ¦7¾ëõõªpMítXÐØ•oï]¦F‰Ä9"Zðj¹×ͯ*³_4Tê¨Vn„½´òhœeêÅ¢³bÕIòÙ™™QjþiÅçx`ˆ+(íõo„CìÜε™þ&kKaôIy9aeQàsJ¢M~–Ësa’¶AJ`¯Ò}”Ñ¥åØBÈz¢¯¿uÙæ—}ú±왘Ä2x©P©·÷°ÁÃàåS )ÚaèýùÔxQF£/E”×X£Ø¡ìnpFVãE`„ŸÞ ÞÀd Åù¼É{™¼¥‡Lǘ|@ÄêAû@íöZÍ9\Ö¢ªÔDtŽ.Ⱥ;’Œ˜Êš5h„U€¸³TW’”§L»QÃ×r+Øè¤½p—j÷ŠQ5æðYÓî¬Ðèd5¾sZž(œbZy€9¨è×…s¨×òû2…_gæi‹‰¬\Ôw™€º.^8=é&àpŽôüRÙÆ´}W÷Íù«îägÝ0õ¹šV:ºNøÁ óŸ‚uLØ=‘ÆŸêB‡6BIû+Ýšš1íþ¿ñl;è%Ÿj˜,ø§Œ @·Þ飷-½ØK˜¦qްDŠû Yo¯Ó?k†ãÓ.o¤ÜOñ] ÅNÞõcÅoÙ/ÕBí&$·1Lƒ£ 9íî‡^ÛGj¦ìD%¬GO2£3 ÕIÓ]cUÓ‘OgЀãaô¶ì}ðà’³(÷8†=ˆ@‰–‰YB{èp/G×Úªw0æ ²?j jªæÂ`_iÁñ¤_ÐeH´s.ö`iýí3ücÀoðzÄQ˜¨$“”^IØRÞê+â 놴pÄv'ˆUÁ¦Ðï†Cšý,bQ3¼ñÖYñ0NNXaØï¯TCïŠÉôÆ(/m=§Lp $¥#} ',e£o2qW+±O‘m7‡«yFHámÙDz¯©Dù kE}=ÔΫ‹ÅúE–Ô#¸Ì7va‰,·¿PZ’ø­mt&I„g7]³ˆ?\úB…†NDÍQú2Á=Xåï {XG5R¸"ž¸´2×kxûO2ç#}!Æ€;‡›Äåñü¥§ôÇáÝD^uà=Ï\KȺÏ"᲌9vûöüÈ|u—%Æ«Y‹WÜ{…áÏÉUU ïs¸(3"€¢Ì“+9¸êmèPîÅû"*Œ†îŒÝƒjdâ7~RBo@#ÅðùìíÜøá`†Éñ”b¤õM0üš¤Ýƒt„߉0•»ee•Η.ïWqL‰ðºRw²8Öh 'ˆÎ–!úÀ.튻Y&¿„T·½µ¦êüh¬êㄤӿT~—Ð/€×T*hÈŠ"ûCGžöŒ¡ïX¿ò–/.‡qéÓX mtì"Z§ïýs&LDãš9r*6%rº £vZ¬`ŸÎxÞfC êãÞ3:¶p)i3 -ë¹¾ elù r$EòðÝu 7Ý*ÌqVbŽ˜àô|¹$Æ>ÅÇF¸˜ò?×$¾<€“÷‹€ºå'Òpeý Bo•yˆ ±£.5…^ÉHÛÝo„Á×VˆÐضŽvhÚHÀ¤ýT·³/‘ –òŒ+Ëúl‘˜ª¤ä–°üåMm¢ÙòÏx§´Üúë“vÒÔ±rvÒu•3º<±kja”N¹â3ìpŽãÖÛ¬õ]äVí=ûµŠÿÇö}"·¶.Yumaÿqn"È&ð$TçÙž7,‰ø&ÛÓmhw†7¼ËƵ fkx׈`ÄyTI‹:XKÞàO3­½Dœ €Ã©5#Þˆ5ƒHØ¿ÉÀ¯wƒžºŠ•ï-K'ZB´ÖÚ™¥•[‰Ô.<ȰҼ9ô;Éõô‰^k+ß-Â.ßÎ :*mZÚꜟÛóA…ÖÙ(˜ÿ,ºŠÑ²C>¤6Ì‚lïOoÑ‘úYbC1lÇŠ¡¡]ùN U±)µ‘Ѩ‚h›åìeXçnn§3ÑÇ|Ã|¢y“…6Ëz‹7t˜UWý$Ý÷þd0#B›o’i’Ü—^F jM¦ÕˆF6¿ëpM‘5LÅùyœ¨n5½¤Ø’ç²Zƒs9ØR±%Or*¨Ý¥ÓS›òZ8Ë¿>¿:4ÏI|Šiè²~äæúŽÚ•HKŸ—­Œ0O]{¬x¨ãÕ¢—=ýÆž07Çžñr-$O¾º@²…Ú,m¨(‚< æ1°Ùe‚Ô+ãàªúH™9/Μô•¬vÔ³‰¯òíjË#xgýA› XÉô¾è íÑëE u¦cð4+…Óò©:YjÄ»Šü…PÑ:_ç—[¹Á€r`¶>m‰3ñà¿i‡ž)æÊ©®ÕÞÔ*±.äGݶjí Mf…Ø—Þ–U¬‹ü¶öS'qÛ;IÚ­›œÇßʳgB îûä–ö¬+À‹N f˜vÈû dí <êHñ$þT³N   (ÐxR”,¬@×õÙ*̬ÎCöåÎ;£Øò¥‡LŠÅjµ—•ØÄ3‘×gcíIœ“J%ÍRÑ-Íxq0Džj)eÎ4cã ]³ØþˆÛvNö‘'üõk²KqÚƒD×ÈýÏ–@kÊ#Ü-[óŠí€~BQžÇ_¶rœÃ]÷ñÚ§==Z½|ðÈ?Ì÷B™,˜ŸØã£·ÑÛäÔ‘êyæÌº"Íñ^ö~î_™î>ëº&8¯Ì?iø:1CTØpYÂc8¹—Žñ²?¨÷<Ÿ]2êÿHS;%È:)9 íóy—Aã”u„iÉùÊžºm6åȉ¸GüG]Bm¸¡ñ¬N (sÂÅã€YÁ¸Ï3_«ª AIR,ݹK'ÿTÉìƒ+Žž›‹Ø!T½ãLÞ¢5!òƒ&…ZøôiCé‘áƒæÿéW{…àüØNt5 ä2º5ºœ~G?k5ç:'{À«N2O˜ƒšãþ;½«¥[í ¡ÓSäITD̦ŒS/ð°¹ï%aù®Kdö©“?d&H¶Epê=Pô@ì8æ÷o½8»<|þHRSÅ3©-$îzí>n”%É [þ-©3|3þ¾Ä÷ž)Ìý&J±W¶•ßoÕnQ X¹t]×¶"„Lñ6„D·Ëô`Ô¼Hy„Ƴtßk¼XÜíó•u!Š+ó/ÿY5ÐÂb0ØŒžÊ£Ý!¦‘Ñ·Îm7ÿü¤„]YõÄ9ûx`vËW/¥•CÆ»›§SÑf´ûÁˆ\èŒ&²”'Zâ@Ø0ÐJÕ;¤Ü¹\Fј;Tî¥qh‡»«Êrƒ©ïœ5|¤}³¾S*®%éKâ ãó „¿`¼¯L‡K%¬é}¹¼˜î¶ñncbò7d“g Dl*)ëÉG½yåzž™ý;–S¶­Ib$BÕ³ÝoX:yZ-•¹% !É÷cœ#9±+|õ³§%½¢½cÛú}tz¶$ C)HQ9ôªÎ¬âø6uÊÐH³•e€@—¡ÈKöKw]$\Ã-†€~åA¢™š ïgkÀ_Û,;Õ 1ûÍDŒ™«oQA¹Û™Íj´l°fÕ3£Lææ—È8ð_h¼ ©2ã\G¢ßn±T×ÁÌm™çï÷Ÿ¹ø *yò©–ÿ,‚¹vƒS̶pˆÃ¼Wt€§¤ëÐÃ’dV®-ê;ñiÙ.ãz=‡p#i¡ÔááRkFؽïD‘ øð¾¬¹.ÿ¾ë!/› ŒWïׇ\³ª‚¼û"q4NKÑ%Ë«ë³4J•ÁÐàðͰ1×~€Gà^öŠ%ÑÃØÀ¥î*×ÐÝ]hG\0ÕK©sIÕøÉÍØ–Æúiƒ°·-Öáñ}œ‡\&AH˜fŒ"bðM­$_™T„¯,}|ÉÆÉcœ!”OE¾ÓÞ' "éª=£G¡ GÑLäVgfšCé_ìŠâ1DÝé­‚cæˆ%ö.2ÎBK§ˆPé›cø×Êð=gŽ“ëoAssP®pM>ºyØÐs †Ý0 ‰1 Rd?‹êëóI¥ìƒñ*]°‚$£‡[«ä‘¤”Ò'tl¹~¨úŠIh8æPB”xîµ]gÉ÷>Z¨"Ò¼âVõñ …BUÉß.l³›p—÷Å2Eƒ!*Ð0ûâ“Ý×&®R|Êߺ´–Ó[0ÑÁ‰üL±¾]mÀ§ò½àÌ”á rù}¬ò@·Å´ƒ"qLÔä ÛS2ó•~A»ýpÙù•ºn˼Ïtˆ®ÈV¹öð(›^¨9)Oa&«˜ëgxHd8•J<Õw`ó™©„ºî{ßæå’ÔìWµžú…lQëüÊÜ{’¾JK˃žN»ÊÔ^pÞ%Óÿ«Ú|^vâu«³X`ì"M üuò3Ûï§t“ƒ9¼IºŸépk†%4ÆìðÝÎÜêÃ~Aã•D5lKÁS ‘(ÜaM·ÄLA­i™+¯¾ñZžlÕY¹Ó#œÉÚóOÒT*&7Â7Ö"0Þî!1Ä¡0•ò†7…aƒk˜zPQKõÇ8SF83e‡é;#˜?&~ˆvtm£ 5>²6rÞá%I"ñ˜q¢ˆ(ša)— ïŸ/Æðä쟤ˠՓ¹“Ö2D×n³T¶Ýë¯?÷r6þ˸sx¡eV‹<Í8õ¾f­rÑèhæ9q¤-T~•9*{œN\3m•î>'ð8ž¹>¶¬Ùc¡P"ô‚ÏéL‡©¡ßÖžzì)³fN²ùh* qdâ¾î…³uÁަ¯sˆK¼Ÿ¨üá!MŸ1˜NÔ¡Ë¡½C ­2?-5Ž}~è`^T3òB / Ôþ½çŒO¡@±ý}~o½ËEŒ¨[–MW®"½3…?¬U‚ë5K ç&°å„ôÍ3€x·Ÿˆ =­GßɰÓx-_Κ·Ù'3xK‘UíA½µ‹Ïø,Tƒõó™.è^’I°@¼T;kTâÉ×Dþ<æð áEchŒpéò?EK…ÚË?•fKŽ=üãµî$|(¾uêÑÆÓE~ÜβûKn‰üŒf 3÷Þ!XP Æ>8 K8åàÌqFáßjœ‰:gT²yûÅZ4Ç•†¾æwWx"eú¶3*Ô.Ïþû7A:‘,}Ã?ŒKÎʬQâ0 \ŽK€®‰e]ÓÆÊ}¢yh'1Z¿øòÂúžp™@FÅV¯”kó\z #1ÿ<ÑD¶ S nÑㆊ>ád Ÿ—míˆßw_ÁánoFÜÝ^ÓçäÞŠìl{6'Àü!Y9„œÛ kY/Ãä[=Ö(°'˳ç(F`gº’qé)«HßV§.z‡ñ‚j§ý¡öñ©~v-ªw§ãܾ¿ä éÌ€"|ºrŠ>´à™åÅî²<€ûúft<ØM¸WxüjÖô‰k©²¹° Ä!Â6©J¡¹«>e oók^.'éA¹é[j=¶ì{lÒÉÁÁÒ,þÍ›¯b´ƒ4mWÁÇLJ?=Bzk‡eV#M 'HD8¸Q@ïgV"²Y ôõóèØhï­ë½¤uèþ‡ïâš_HK’ɦpŸ*m›ãן}Õ‘¶ ¥[Ñðâ»C(€I’ OKKNв”QõüÁ”1½K—ŠäºM"üâõùQÌØ§ÏÉYuüD n{dDÇ«Œ[—ß®©Ê†PõÌÖ çò¦×áNñL£BÇ|Ã8v~cV|×6Çý¦–<|r@a¿t?t@á$€HÐUc5`¬ø%+30;_¶h­â‘J©|à 9—þ½aÃÃ‰ÏØÚ«ˆlöµèq÷ø ±mâÝâõÿüEDÝ–Ë[馭HßlqcþxõK~e€§>[=aªÖ𴺇ð¯l=-éÜ¶Ž˜‘œÈ'ù¶S€öÚn6óÃAà9;+Eš¾ðaÙǾ§ª\þ‹,¯s·aQ'ÁÇJv\€`Á&;™æƒŒ bõMÑiRêýcÎåFÒ‰ýÄ£ç£(i=ãT$´óÀ¹AS³¶ À©êž(OGˆ_7ßO ÉtÔÏÈÊÜl¾vÜó|¡z tÊœÿ ýq]Yë§Ê!ÌQÉ‘`ÝÎ,Îz“³¡ÞÓºªk—e˜£-ÇWÆss øFÓÆ“¥sšD ü¯ðy»ž±ÔaY[Úa,â8°Pèã½öÂþS²9ô4>~4réoygËóýþÆù ÃOs“5QþÝ>ÕR‹A ZfI§â-úü6š‹…(Gõ> 9nН¹h¡ô&ܸ†Üyn%b¶™>ò Ãw 䦸µcº_вUŒ£ ó´™Z7kvÓDѱ•‘òµ´Ÿ¶—Xpè1¨£n=·ûñèz¾Ñ*‘lšœV±ÎB«?)èXZœYÅg­ÉEÈ®<Ý×n¥ø f?7±âà}4åJau¿òLæÈÅ=I;ýD¨ÉtKð ³ÚcôÝhDr]‘[¹Ú>ÝB%©ø7tvýÝq»èEn;˜±½›˜r`°%Cºˆ‘áŒÄoñ ˜™¨mÎq ô®»J?ÓdUQ=(ëøMö±Òò¸@‚´Bnzp—ß‘ëÈã·r9¯…×íd–‡é{=Ê@±štg¦ÖÙÌv‡›Ý‰ÏÛq¤.`è€ ^r^®¼*¾gÏ/´N¬`¡<¸$u¡9“E°&›ð©13ÖºœÜèa„º2§ÚIŽ2Ò!2" P²%{ˆ,N|ÎpŸÎ¬QìÆÀú½£çÊE팩4@¶UnÃЕè·[ 4B)ˆ³óÜ"ãŸSÑyžÒd%êø¸ôY \Ûås”NI_)ö‰5$Ö»ÇDÕᦤ§„u`z™é’U×O÷Sç*–Ÿà±F¾¢;„²ú R~~s”LÔ<Éã/¾¦vüÄ,f0Œ#¼æÑ•Ô#ŒÝ¸†ëju{ž’Já80[C˜c´›øýTà–ò¤f¤™>*¹¹Úë}SF`©`?gœ€@ÉB;gïw™t¸yÕ]œáž¯½K…‹­G 回›ß¢UÖy—í‘ ÃÞüHÕ-ÀË0ôÕøý)±‰ðï*X'WH3;º’Äþ/5 hÇß%’ÖÑùÒãUa¸,£ï®Å޵ˆ[Uò=€:ù:VÝ‘cRC¢üR¶~+Ródöæë'’úÓFO+&m÷e3X¡ª^Àö÷;¨æ[l`£û:ÕŽKøŠ!hbN‡Ž­·,¡ þõ¯»Èõ•ب 0Õa-7=„¯`Å k{µ%n¡˜c²ÉT·ß†ˆRÉ@÷ûèA¦´©Î E¿müg×0pDÄ?ÖŽ»m’²,d)j\LqbAÒzéÑënÍåžûä CC qx˜ßìã|(CÓ¥CKhÊu8r.Ø5),Y­EúÇ™Á=±‹7Qñ5`µ~Y øszQP¯N!, ÌÊ)ìCÏøŸs,(ÞJ@ùYuõhxð휔f¢HL7Ø/waD·x¾à9˜V"›e®Ã»{}BÈû^ðX(ªMž-³="›Ír™9s£ßv¾óÊz éëK³m1¬Lpá¶bAŒüêé:¥º â0Á*é“¶W”HŽpyÒO°B [Ï–ßI¦½›?kµØxe˜³[’ e¨•Rµˆó/Ú%! šÃ bßA´ò댫ŽÖ«MA·ûdW~{•»9RèË«ñ»ç;¢ƒb’#z)3‹?Ù&ewŒ™Q¯¥Û$‚¥?Û2ϸHÊz>Ò—WS4/]pnÀ«F˜¬d(Õ‰üKr±¢2â­@By¨¬·3§)~*ˆVîªQ:-KûÀΠzWŒÿsYÌ9=»B%®aüÒ‡µgÜ£¹ÑT+T‡7:7#2ÔS6ë–'ñ0ô¤³[5E¦(”Ü/fBvï• O±ÙÛÓzÖR>M!Wç§t8¹|Äd(Þ9G˜ã0,½ôdl‰ý%\.qÁVG‘@4øgàFûDª3íæa.Ï­Îvºò,G;.é…¥¼dÜ’Šðv–Výûq>}ÿ*غŽG›ÑB.þPÔUQL–â.ã)E‰$Ï__µü4óA¬…jñ¯Á™E[1D©ƒ^¡m€F]yYÄÙþö×w§1ZG¨¢ß4j3èÝ | ¿yš ’'¶§Ýö2_-àY»?’OÙ#eGFø?DA^¨|¼æ¿NÞ]"Åt„ž"¼çx%¦…ºèG/îÇÎÖCmh¨Dêtz­Ð‹'nõRþAã!EïåRy„&Yt{%{ÕÝHk?Žª*1ù”#Y$û†jO.ZÞa½^Ý \G¬:#»ä3º_”I}h}{5Ø–KëÅþçÔ¹[¦ò˜}Á€ú6b>Žú#)ƒ,%û[Éw¡ØO϶ÒϪJäUj賎OÜjý÷u/ÿÊöû\ ßš "vøÏÏ|WŸdÓÄqqÁU™“gÏeË™ÇBýë)›4 ÕʈÂrÍ;•C¬N%l’Á$u®[ÖTÆc’R‰e^´Õ Ú\[@Πá(Ë€àØSr$ú6½8f¢£;ë<Ö§™w†Ï£5¨°‘ë}›ùçÞÖ{<'Ïc ¶Š²MÎåù¼p­EÿMƒt ”°/w§ÍMã„â ç7¸ŒrFC›Y7YBºâ¶Ê/ç'w<ïæ¥=ÌÉ» úè=Ö/åÖ˾î¹1ù)W8ÕÞ%=+?›µ¾(®p\öõvAE2"–IÛ ùÆÕ¢•–VdÒ ÐSâU›g2e §)0od`üf˜Cô*¤ÚZŒþ…ž„â3ß’2ÈPh#Եߥ•ª—à­»nmCCt7Ö͹Ԣð( 4–*ìh’(ì [ bùo½Z»ðòGŒG·†€Ý·ù›ôRᣴßy6㊿s!?¹2÷·€mG§î4i†â» \7Ÿg‹*¼öÜ9ó|¹ÒóhÊ—)}Y  Æn­]àVPê!úð¥·Ô£^¿CÛÓÆ%¦ñ²£<ÕKþz7Ubƒ¼ø3ôé™QZ­þey¦äp··Ì†LK×îË ï}¶&~²)׿#å*g5ºÎ™`ú:Ûœ|,%8ºö†XkÌkS'ÓÀr²âÉà0Xá•_65ÕlU¬LÖ‰^Qñ6)7ç5ÙÉO‹ß71§’I[Ǫ™AÐk9’|»t—2׎Ñc­#ÀOý€"‘eèàjÅmƒá”vŒ`’¢3”¨,:´CmÜp]²õÏm@éÜ—‚ÈÓ"ÅGã×ñžæ]¸Úp±{Vý…u&Mîk"ÅSÜ”N$¼‘Ç K”ã˜K.^Û–`ïR2•ß èÆFwæOG"v‚± ñ«f`—ð³lEuV#‹. —'ÖC¤1ë½¥oK%¹êx…MÆñ/`ãV¿¡@ÙàGË×dzºâßùêNÚáFÊÈ9-ÈÌ”wª *¿#Lƒuöi‚þ¼-=•´ ¦Y‹û„Þ,IãNªár›È䇼4Ab–Ä·ȹFó î3 …m§ãY}N‹F#øW Y¾–ïÜãGŒlì±Ú^_¯ÒÇœÀ Ù‹ÞìÓø”HÉïþ·µïMÜcT²-¿ ªY­VQ@WÀÃà¨õͽ Ä“íV%ò †±m+Ô|2ÑÂà%äó¡_ÆV+»TrÁþs X€º¼v¼öño”¨ÀNº 4OéMâû$½î+}ŒK ºC©HŠ…-}ÍÆ3n×jÉ®…'GeÏ Ý´îu¦ºšÁÏ2SÆ^r\æÿ>m£ÐÞKˆÐ·(+~ÓEnyÊn†.l‹þú,œT©¾¤õŸÈ¶°1ÃŽÊ&—ò‡[§ˆT¹Ežkà¿pé9ã"¶Ll’Ø’¨ èq0Yn…ýºmQ3ºZ‚†rïö;²……­ýUã;·r´'­OŠÂ﫪À‰âæLÿ‚⬳0rDU'! o*ÑiwA*Np³pIÿõv'ñ¸TŸaÈ”â×dz]ðF¹×D&EGÔxç™<”tq×®æçHìü¾¶¸SnGÈtHyK”L¼x25Ç"$¢‡eäÁÒµŸJå*$T¯®Ÿ…+Ì€ýÑR{¸AB÷$nÍ,¼¶“NFû½…ß~ád’­¬Ïâ„ÄÍO—J?&Ïâ½5þ{;¤ðr<¹!C0 r±àÐí=¹é}E:^" *èaÙ0$BnüÚzÅ$ªÂŽj%J“ø ÆžyŠ}Ëí«äöe¶t¥"þ¦ÛÖæ®¤# ,¶.Ñb]Rº¯z>-e¾,™ÉukWî´|¾y€ï‰‹ ߀:¢ä‡‰Ç%°¿¸¬ö½©´ïK0° ÙÓÅrÛÃ䃨¤# 6îÒ[Œ¹BÐwŸêqÃÞ+%`›!ͪ–¹Û`uö–‰DÞðYN‰„ÆUÇ6ò_©³ 6̽”gBlî 3TÝ^¶ù¤B`£)C 6`Þ#Î'YQ£Àg\tb<ª†»¿u)…?‰)0O¡~ÕU’[¯\RùxÀþ6æ¤DÆàfµA.œ¦«¦ç|<ˆ¯“nå•Û÷Ðëóô8l™!VZ^Pí2 ¢¸êÛ²hÇ6e’=N³²Í¯’‹±LÐ@jÝ^MãB çÞܸÚÚ‚œg-¹Ø¾Iò¬¦Á+æn‚{JÐ$Ó$kÓݾ³G–l©B§Ý辎Ðy|ï+Uªgqq7-\ÚŠZ²‘;OH2£©‘ “ñÆH?ÚZLC»¿ºDš\4Mnº_°ÄšÙei²`Ë3.x«Þ5Aµé¯¾ã8Í9]/q‡²£²×zÏçµ ÍùC8Îc}oûeÖjv¢ÕÓ.‹v–/‹b'ßQ¯U4<Œ µ¥~‰›zv§ø[@^ÄéÁ¹lTÃßÈAPkýöb.¨u?ƒ`¶ö/œ’üèÉTfz?Œh;Bª!ið¹)ï;wì§ÿR™'^=öQU¿+ÏsÞAU2Üϱäê;ækÙŤÓb­UûQc7kŠnÖŒ4êUÑÙ qSjý~¬†7²—ìÎÃDôº,…:»0qέ"Dáž÷Dè÷tM¿™óB¯ûÇós©ÀR½¥ëQñT ¡ÓÝÿðºv!KœóåñU8Üæz] ÷rÉ÷2C Ïþ²íñ[ ~eí¨ÍsB! !(çÂ^Hì#8µ'€:ý^®AÍïZUø–¦€ ‰íS€åÀ«™Æ>Ü·)ú4¥y§jâó¦Âtö [‘Ö¥ÿ!‚n¯¿î‡*'œ÷.jz¡›±ð,…&}N§ñïpøf%¤åÊ: ïyúdàÁoiœÿJŠ_>T’H-~_–hYvX±«Ÿ?·Ã”…ªŽºÀé+=NT@¡G1BÖ¥/2®áȱ¦*¬@ ¾ºæën-k?. Q­Ý{?åxv½EÊgsÙiX˜0>^càð·Z£¾Õ *Eö](ìåp!!Úâ½7§Ë¨¯È7$É™ìÑäÍ`aè¶‘C|"±;!ÇB'ϯÓFš^8e?*…óü<|b0_5Ý]ÉÎáÎ|YF¨ÂQA’oÞ;nÉ<ÇFÝÎ.àrÞwhämœ€9C4нÜàØùhY;»§» žÝ@»"eŒk31K}£qÃÝÿ„f)›nxýÞ(U-˜ßMvtQ2ÝüGÅ¥ðŒå §°ñg(A|µYO·œ*P`ž\zv(c'ßΔÈ .Œ3=#½±Aþ•4 ÿ"SLj®T,šb1ü]Â*ÚA(ᱨ㠖P—Ë–Ÿ­‹Žj£j[VºùÅëE  ÞAALŽ&Iñ¼öi 'ô0Òc8^Õ«$xR˜$¹3©'éŠçŠzqYÙ×ñj’ïíÛdCÈyñʆÏÒƒ£¢£/ê!)Ÿ¤L¦T]$²ãyøh.NÚMiLyA<¿F4¯Ü•#ªê“¢p¶'o— Î]˜©âБ_Ùt÷ºÝvÙëJÝ|I],ñ´Ê™fL`yfÐúD”ÔûaD6ÕiqÎ ˜[¦MÕ1nRc§¢†­ $H÷‡r³"ÔÏê0g£c̉V4êTc9«6{×|ì¾öÜ Uú»#+PÎp6î(%ü™4ô®.·¢(¦Å» •8óQ¶¿ËÏÛš”EÈmÔÖ;Ó€ì|÷€¿óÚ”ô¥_ITÈ\ ¼)Ñ8½Ö]sèg¢EÜÆ± ~÷€ÖÍ£“çËwÓSÖˆMGQ„nµ}Þu=±@ûp”¹áýQ)Ù׫ø Y‘|(zÇ_à/wI;ªØLuä0gCz ëñÕdD< Êæ“j‰ÁZ§jàÍ:y&È3²LwÌ^ñ˜ã¢“GŠü ã ÷üõl¡ZM¢üò/Š NO–[]ž Ü•9hØföñµ¼4òyƒò(*¢¿kùlzÅ‘ìèu÷úC2úëÚ"æuW±çRuJtM[¶Áƒ«=a©—vØð g ì°yÏYoAÖ%±¬{Ó×°…$ÞmnŽ%ÿv—Ìþµ¯ë·ýùºË徚ÚkáY{”¦©•äî öÿZ[Ý<íœÃÀ˜ŸezA¬)Pºî™è³!úhɼÚ0t±àç6‡R¶ú|ºbŸD†£r—tÊÙÝ‹?^JœK»ØZ hkË2"›/ÔÛçkÐxã‚âì ÿ×u´wÍMMµl~ψ¦ÿGŒ·Çr¥¼=°·¢6åå~à 쭠ËÏ»­vC‹ïÝúý_Þ@ÁÝîÅcµ ¼{ ì뛣·»3Rjrªó Ç "VÜN[Œ|M8Œ0s¥\ô¦ñ «Ã°3–d®ÊÒgÛÑ;#ù#Àlpoaœ8"’ûCµg‰Ó¾ôƒî–¥ •ï»ývfæï ©2¢x!OÆš!?–S¹·:‚‡Ò£¾ÙÃÚdºÅŠª+lÄ–PÉ?"Æ=ðÁÛ–º™`KÃ9þ ³‹Mî£å—™„oߤ•³…E÷9ÃnÙŸõÕÓ*U´d="J9Mî´¯ÑË!¹›:¢x Ô[]£UàGÝ¥êôM“q¼g­ ró-²åL{L[)àŸw•?ð,ø¼æ­>ੈÂ&•X竇ªfoIºiÚng»€úKX5JŒænÆÿáÿ€EXB‡³Æ.¤ÅÉ»¥¯%:0óÙ;ñ yð$…û˲å Ü»«™Æ±‰elàóK-ètþžE§rÒ1L>!’µ‘L2ìϯkŠøIžBùã}ˆ\\ÍÃ3®Ð´“½ Vif"t ‹Å…•ΰ‰µ”`üS~ÀæŸIÐE׉¡rל“‚ ”ÊÐæIo¿ÌT¥©jÌiþóÙú†=NcÀ-`¸¯zêËzZ!óÅBxA¨uã:cQ꿜' L”¤Q^T‚qÉV)J.Š÷Ë8Q!#©™*_Eë´¦^Z•] ¸øl¯"îžâc…ߥe˜ÂÍ«Fjºbh‚ð¡wL²6ÍFQÉÐ1¿ ÃfQñY²½³–á— ^ó÷` Yfc|¹W/–nã’ÌC~üœRv!Cj‡w}v“˰§¬æãýÙ×Þ¨$a­¾2»ciÚm[CšÔ&·µ#J¹áDÐJ“~-鹆ڗ®ÿ Z¾Û“ð• |N¸•u‹(/؉ÓMXðw«pìHß9×øÞ‰ødƒßYY5qÀWÂ(SÑ„"gLŸH¤ßù%V» °'•­½ áÀÅ­ {Xö=aEẳգ䑅=÷¤±¡°§Ål-Õìó>““bÊÆIPŠÁµÙ€C®Þ<¬\÷JCŸòl•+‘&ûÇ4>Iµ.åˆÍõ ¯¼¶w7YŸÔÑ‘1’×XÈëm§H0K ÷mÏãc;|u¤p§ÑøQÝuP¼vÛ}BÜûöí §[ËaŸá³P¹r·#\˜Sö}@€%ßàœŠ‹á Ö–²G¬kÊ;àú#ábsŽqJxPÎ 5*J׸3’Â%üý-0€Y¯â\5KͶt¤›èÓK ~³uéŠeMü)Ä2h`LŽu› œÿc*hÙiûí-¬Vo´ºîaXi1 ‹ì§_J.Ñ®Ð_åÛõxÏÈCtrµn֦ȩÇ|í¼}°*¹ŸˆÆW=V¤…/û·‘#¯7€´¨…ÿÈTp“n™‚¾ÖZ´3z®ŠçW` ¯ÃÀøL/âÒ.› d`k² éV±±Ämó:ÒˆéÁ%áB·ŠÃÝÓñºÑ'RùôzU•]JòÍ|”*^¡:Pyü"xƒ5ël€öÙªÇRb·nàeh[^rHø:H» ów¤ÈܧQêÞ¨¥‡MtÂ…&ƒVB±õÔ¤? 56dò¸žRó@¼V³w¥Á{QßÞ¾âäüDažú`9ö ¢U‘å´ÍïšÒB¥_‰ÔqIlØ…½¡U7'j}M…_¸’y,²,D<7΋µwTø,:YÙ%$rõxã8›†|~…-nð©6讋í{;“àqH¤qQ8õr÷^8ið„¿.¥yT¤YLº>ÂÁÖzITÞ÷æ1kV¦³B]&«Op&ò«¨²ö­ŠøP¨å²"àˆx8F]KmÌaú22YúŸ½ìâ^Mæ1 U´HO¶q|½TÞ¡áà$¨üwFwÖn{<à–·ßzh®ÚMŒŸ7øÞ,,™²–¹ùº¬¥O)¨™­ù?d¾%š½æHÇÿZQºìoبW5BüÈEw p>î`èÓqYGƒ€QÓ'–bp0ãJk_xí¸¦­7ø V¸qÙØ©?cX—óFíÌn#“û%©KTê0_xÚ⛪Âó9vYô0¸Z„$’‹•”sãŒõfª’Ï¥¸ý€;C¯Q…¶†‰‰a ªªÿDbôN!•#[ˆmTF:O0'nÔ%úÀ"þÀÙòa½Þ2gZM(´ ý/s7ÜQà!”°pÙ-ä-±¶ðÙ傪¯ÙÂ\>HXí)?«³[?—TŠo&†Ûr¹¨§ÍÆ+ 6ý_–¤ÏÊ E6Íc„â´t¬ (î…·8ÀUëõêy AN)d!ò3~]­BÓ(&5—´+üñ^à'?¡èØÃ¨¥õJífTê—(ñ`cÛ!ñB:©¯”Ò iR¼ oÂwN1¨ÄY}<{¨²EŽ>P-ûºñÔBÄã0kµÚBbÀ;ȶÅÌüQ8üΰ¥Ë¢±CŠCáé"/SLóû$‹‰;In#6q†“Ôr#¿âm–㥙këV“îçšx z¸Ól:í—™ÿ´yþüXë]8VÖÜĵöº„¿§4§UTü‡–ÖÉ1}ª÷a~™Ð*ÿXæíÀ Zø$c—X XU&©ä/t\+Ôv¢%¼ŒZ˜¡ÐLÖùî­à+ßaΑÜxiC}üù_@lS…mZ$0h]¯=Ç5RFhp÷i B^PK@©2à7÷‡b4øÄ o˜-XhâKÇt/ïÐàe64~£ò>ZžË0fx9F¿ Ä-ϾB÷[9çx,ˆÃnN¸3«D¾Zs÷„”ÐЕ7Úróþ¿,jãPÊÝF·Tîö'™_µËcÜå‘årdügÕ|(2Ô¯m~•jmI¤n?œ{:ËœæÑïR2¾¶z胔³ïùKš»›BwÐCݽµœm”¦üãØ %Ö çHÇh%ì¤Z2U`Ñ2£+› þþË “¦•U¢ZN"R4ÝôŒT1nÓ.Ñ4×ø1ê oØÊÍÔ²]oùίøò^X—^ pîaÅÞö îG"\ŒÌ;Þ¤O%êV¤7G…Íü+iŸ†T¡¥"8wj"çõšwÕ{ª`~Ðqų":×êâhøh¯ÔD QP”ÉDšª"RÈ-„ùƧâÞW áõ$¡HÉšMþÕ7 sÕiµ3d[¢w%Fºÿhûr‡0J^¹R—m“™é10DÈGFÇåa‡+DÈÐw #Í3Á@¾rS„WÛ–;[qd¦$í('Ù»Ï8‹_ºË€\øöï$rš2ë… ™Ò‰†^¹%êu¥1›év™1hS«XI4¡¾é]Åoq†ÃÖ‘ÛC:ä%V‚ãQ[„ŠÄ÷ȶO®PþÅ]ïÊÛÖÞVÓ~mëjËš—VrÀ“j{È /®±)¤¾Nï7Sùœb§–f9Ñ^ôF…-s³'pQ|·Œ=Y½šŠVªv‰,—…y>\Ô»9+ÆÁloy¬£‡QšªeÅe!H'ñ‚Ï´i1•Ÿ‰ª¿)‹XT¤ç`ÐL|*”·;|à-4í‹îJ]¸!öz–Ö¾ G­ñ ¢cÌøìÂïMºP¬Í#*rª¥Ó3T?ùÁÅÉn¿Ê•¤Ýè.±ãÝ‹x¿I2êk+8ÓÝ]j˜ÒTW©Ä&2ðo‰]}¼Ö«Rg#ˆT?môÄ—ù$Ý©óbÈÞ´·°v“Õ¶´ì=`iÜsÿªQÁc]$0«•Óþ›6MAVÞÁ…ùc‹ò\é   ]”,æ°ÌM3|qѽG~âðÁp£4®À#ZU[(§-yŒ‡ £Ù¿ë9 `æØZÛEKSu`Úã®;BXLùA°ÿTôH)9\ªå±òƒ€Êý¿ÕFb”É”º°‘~NhÌ]ѳr¸Ö‹®s䯩§Là.À Òb·à*…8¸p¬ßÊÊ ”N@@àÂþ#+qÿ­\ÎðXY4Îkãã÷ÆÑY¨½º?øòÖ¦Mµ˜}{r#2žï,JZkÔ0¬±x;—N]Þ/SW2¬úaOCØ36g¿ýâ’íè;|w¹ˆââ$®ºÊ­6iDŽ.‚e6ÇöÐÿªœFÏ`L´Î[7 dëÛ'6.ZZrÎÂzŸ³§Óª³ñ•KºzL}Öì¤I¡ üAíÄ߆i—Õº€ÄPñgùÈVmC2Û˜‚o®Ñv¢ü莰oëØ7¢1™ÚÝyæ{Ë3øOæ.Màpzú³Ôdñ<æœ7Í›¯3ò>»ÕðH-€>ëß`%¦ì°Kø  ‡GvTûtðn 4‰siˉ^C,Þa[çƒ3OžBðÕ›JÚÅÔXiU„K¼5ÅWI+>¤Ì¹Œ]´[êƒb¶+—k‰åx«<Œæ`a“Ë$lÂí ·ûà¹+8“W¯…F&»”š³F©ùÛ™@ßvÍE²D&}þU§“Ö.)ÑÉi×9¦š²”Ùõ¼æÏJÔiÓ¥•)û!ô t",ë@VÑL§~Ìþ劳ìÍ=¥ž~Hq 4ìl1H5д=ÔƒxÙVʆ¡‚—–Tèà¢ÌZ{yfð)î7‰¿^&6l£j™Ÿ&ºÑVd,mÉì9=ÁA£OíóTjJ·399®A‚[S61&ÐÕ¬Ð#S.ÕP@M+'qŸ_R'» -9X<%ˆÃº¬Gç0me—JÏsÈœ ¤ F!nA(ö? Î3­%߀¥ÎNò²l'Å^ߺÒ@ö0§2SCvIV¦ÏÍDy­í à¹IN.æ´ç»ÑÛoëò•ŽPÖ!O=¾_°rwŒúŠŠíLÛ2ÈY)¯MôI¾î·"Ròfäìåó,áçÏÎÙ¹Þ‹Œ^$÷]ª'KóúþÐJðÇmlYM±‹è”’…=øXwŸB’ï-c¤¼Å¡¨ÅÎGz˜›_®É8 U!÷vUXJgº’ Õ†è„Pª—ˆ\—hCÿù_èñ8sQS‚“üzã»cަ»yA­•+‡Ó~h*î›l¶Á*êHÓ‹ÔñI·QÒ¤/¬ðI“ª ¯nêKm;Í2dštæÌŠï™p9¡ÈáÜ{v«'ù1:ÇauÖCü3Ñ/ZnwFV[ ܘË®ÀµÖø·».ÔŒõ^ec~² |×yŠP¿ãWgÄþ­ Ï"à°´‰Aúô£jèmî†>þÃaÞ¡¾&åþW÷¡ÍÞQÓ "¸%ršÄ‰ô «T’¥­„iæùÆÅ¯Í¨›lµËBïýnµ·}{¹¶ eüˆÒZª^ùB‘]ò vÇžaäÎlCSfA&¬›&F m·ï½NΠi7Ud…àÌA ‡]l¡¸-ê¤6·ÑnqÌó¥VóPÂG’roš¡xIë×&[ â5„gXö«X!&|]+àzP¢’9Ê6»q|…ÃWC$‘`г½êÅfc3œv乿-ôHJˆœ)é:6Š^m‰rMîL!Á5ê„ÌŠ0•Vpb„À Ežã¥*ˆ/L—Š·€xék~@㚬:f‡¡quÌŒ£{ºý©p„ƒûªö 1þkZ5ïi¬¢$ÿ‡ Ø¢äßëYð%¿Q,…¢ºWn@à Ôïyb„לù8!7.Žgö* $|äEV4DXÁCŒõy^w†¾VÁÉ]}BÑûXeK÷ òéÕÌ;Îí’ݹ(_t{Zœù\‘ ƒò{L²MQº¢Šx"xíÏ®šÓÂgó„8Ü4ŸV‹ó󰬢“;ôCÉdîFxŽß@>ùJ›Ñ£¨Á¼Å/i ç¨=)Gî²réxƒÒ, &èò"C ‡‰˜IþbÂFp˜”§ÂºýŸa)؃œÛéƒxCð2w§\ªòC yº;|mÖ€°›fÜà{s®Y„K%šQâ½Eי¢ñ¡o“ úøí~3Ù*чËv^æßŒªºŒ²÷SÛ;vBKˆ¬¦";šÏ7³«|ïÙˆýþ›ÂzpÜÿV 4n²Œ¨gB¨;ùïFKâDÐ:~XNhf—Å.Úx¼ X°0[LÔ§Sðð³ öLT¢é7Ãp•¡±m]×vÒ&k¤„ff±ú ]†‰øÎUË0˜²›tÇ¿„°^=nZ^•nˆ#3|B%0¡h%0ÆzzíÀ‚ût+éèi}¨zƒä®¤ˆþ¿ 'ÆE¨Ò‹v,,ìàP±»Dç GnïP̲ª3T©繼ݣ¬ñ‘ósÞ÷äa0¥ÜMïv‰ æ@Ñ+ävüçÅÆéRÕÍÉ Ôz(ª»Ý šú «þ·‹Uºx±`iNTJ퉫“ªsá¤5šª“ºô<ìú~µ§oÏ£ŠgœKËYïö.¹F Îæ{úé ûè¶<“Ì¢×Qüh@ËI rXS˜¥<­¿ÇÅÖQýµ—6oï'Hþ±!­ÚePKÔê^6ô]“î,-Oo,ûo”ÎÙ)Å„ ?Àõþf£P6…>:·3/Zæ¢x ¸ð…t±ºU}‘.Üj¶4ü›¡ú ª7Óztb»Õ‘Qª»Ì5¤AÒXð—Æ†í„|íIZ½Î&¹uŠOË7—®»¹v¾Nô>I=bÞE¦}Èkô¾,Ý/@`ZñFÿä'ahÖuž¨à¯<ä%Nf.3.¶N¬¨cÙ %»ï^¨j³¤lËúßæ×Ù›(½?ÀªDj«÷@QÔ} 'Þ ^•Ù7@èfîŽë¨Ï¦nX|ï˜ûظÇ]¾_‘ÒË”-bï>é•Ù]<~0ê“C>/Æë;Erº0†×Uy#=µ1ƒ1 VÑŒÉ݇á0{+c@DbaÑ/”¦mŒôËϳ¨ÞÔ˃ó¥5\ÝÅŸÄ…àÛרF©‚Iú•Ødê¢Ùè…»±*BsB—6Û¦´ž¤E›2ƒök‘NÔðö! ÓøïhÐÅORµ‡Œ&›t}PÖpA²ÓÈ´eÀ¹?òÛ4”ÿ7¡‰6™eZ6Û*7Ÿ…D p„)kõð»ç!ËÒCênÌc®òiiJO€”R—¥ïoZÆ™ò]&º½sµð{G0Oå1V߉ûf`\R¶ø¯" Уî"Dz)O-["<ƒ1»Ù˜ÚR\¢ "3 xþxÝŠ3ësæöŒÜ¶ŒÁüC_’3Çq»îvÌ£æÈ¤ÛBK=e\á´…V8¥6­ì„mÉOûÛÆ±[ïŠ)—•ødcqo†qP¼?Qx÷æØƒE%ù8÷Î/ çì ²-ø8¼FF6zæóBrŽ6ÌGÆv6üZíÁqÀâŸØþ•¯ý l’±Yb1‚œuTÅÈÔÊôkY`"Û.Å•ˆƒýƒDµƒQÄDHËÿFgƒœaä4kNQÜ28Í|#2†½|º±,ýjlAäOô®éàµy† ù@âÆye}éRËCéЯ>3.3šŸé®ˆ¾hIJø—Õ‚´Ó6#‡M±¬˜ßeÌ\ì[¬!¦È†YÝCÄòoIÖÇ…ÐG'dËw$BŽýGþÂÿhp¯+àvD[–Å(ç:7'ø™~V➯ë0Ðññc D ypyžp-Ff4Nöì%Êçqš* ~•ø’QâW;jÏ¢îTÙ6‘Â6˜„†y׿¾£xòMDùÜÞZÔØi›á/È•&ŠF!Mæ5vò½/Ö»§œÐõŸ kŸþOu kÐt ­Ê¨ /ø±ÍG }î¶z˜]Ã#g‹ ÿ†2ÒtõÖ7€YƒO ä@b•Ò:¨”ßB'ãP¥ÿN2x9(Öü5¿±ID²àÁ„¥¿á®‡Y $·ŒâQáïÃ.$TqW¸F›v^1Æç¢f}æ’Pnëe òL÷ÍæiÂÞ­t*D1Wxé\„U(,ÿ­š¦‚1éìpI+6ô(ja­Ñ*Z8­x·É±6‚:aÙÌp…ÔÂiúcu4'8¥‡W«­Œ¢i+zsUÞyÃ<‚¹ =üÒbI‹hâ e±^ÙT¬M˜{ZúÑ'maøÃr¨PkéÁèm ­¬>EærLx߃¼·oÁxK÷ûDÞú ØÑë çXþÐ1åLÜü…ï»à¤Njº¨8]ò´O¤ÀÊófïr2-T„ì¥ÛBËÁÅW€«@x‰‹žd+ÈÍ©±Ñ3 i¤X¥˜— É5—³e;T©ä×›¢¹}œTÛ k÷ÉJÖ{‹>­ ‘Èýå, 7(ÛÈUK&[RŠ0dsè/Ë7œV0N£û(H=,ürjLÜI{>z\L7!®öôr8‘ñsþÕoÖV"F‰·(p.¦ä¥ÑçŸMèzË;¤` uBNxÃNâãý»<ù©†ß\ø°T}cß3_±y”Û&n.µ)P,|ŒCÈUÖ Û/D-@Ã7¾!ÿí`þ¿úôY:ÄšJ_Åw%¨Â¥&Èå¸oU¬ *È\¨”QL¹ú Îý’,ø!1´6øj¡ÿŒ¥ˆÄm7sO˜ÉXúRДWÔíuÏ®°ùzHÂÙôˆÉˆ¡ÐUœT‚o þ‹Ãóâz´ÿEž¢ZIʈ ÷6 ÷BÅ-ÂÕ6´÷,P˜óøö7ܪµ=˜åDל*@ãîkÎ.h…~rï˜Óͼ2»àzÑ9hÆ#ÛÅ{¼}W»œt{p< i’2j.>P†‡›ñ—.i™«}þ›R¶ÈS çŴâ®ÏPsDm c$gw7Éç1t€Š'Ûy>L]oF"OÕ lY¯›x=]9‡Ö/–¿ú1Ïò”µ ”{aLµ+£Õ½â6W—Ë?íäªÓrOëáÏ$j¬QvìYæï>”é»UL_Ú…Kwa…É[8ÆG2mrö4{6#>:-0Í‚rl"Õ…áù˜„¿nHNl§NôÞ L½UÍ||Õû`þJ—RØ_íôÑ3X_ûç» 8‡Ñû•)Ï®Ëï(8P;J(P—)Pâà”›=CT­üd¨¢ÚUVä‰÷@ª€ ¬ƒ—º E’Ùû êa]Þ]ú  Ã¥“)~:S¶ÏSKþI'÷bNœ3ì7ejÉÏhgæVØ=¨Zéµ@@K’*|-NŽ¢"n9+àÍ^Ö­'‡3‹× ˜OnÛ·ÜØx#œ7ö{X(àË;†(4É<)S¬ZNh&ÛëÍç#ν?;Ð5Â>g| ɨï›FôÒÆ~‰TijÈ<·dƬgWò¶”º…%K«.}¶Fa() šæA%ÇY¡)è,ip„køirCãìÃÞGa£~j«i+Ÿ…M=ïõ èT­´/ƒf"j\EPÂÓ9=þ[#VÌ;þ¼Öa=ÝS•_mõt4îCÅ/낇ZD3h‘s,øò-òEƒì±3'äy,ÄOíå¨J¬ã‚VÊÒÚì¸ãä ®Œ69¹jµMÌé-”2xozBÜq§ °~æwÙ.õùêÆŒÌÝW ž[¤êêðï$+9²xLùéÓš]’ÈsÑuUK¤u sŽñfŸyÊ%Šùà¸ThÅV„ƒ;uW% ‡Yøïî Öšãó‡/XWºb‡íÞÍi8RVð±BÏ’iÒjgh»e[Iùï b>Üò(¸­«|> ³š[x ®/Ýâíyð§ÿÚ/S·$0±&vnÞ”½´©ŒA´vEš¼ôѬóSýkÍV¨A±T¬:úÀ+j±ÙÅ&mo(pƄĎÎ:ÈŠµÌ]8–†ÖÆœ}¯š¸2]lKˆÇÖRl¤¨W¹—­Vwø•þª_¥Q ´„MKîÆÅæØ¢$À}3;xM0›ãMb`i‡ {¾øz#ãëñåßv·E=,ݯ·4§7<3ÉÊe/[+=' úÂoªêD z€àAµ‹Þ&2ß~§ÐXñW›Q8FÖ,%4¥ûÇtNºƒ¬v´épXßÙ…AÙ>—Œ<»òi>ƒ˜_³r´'m~7í cò“&aßyY«ìÚqèHÞÇÄß?&~ßùâ„¢,¨ ¶*®Žpî¼æ%è»ÉœnÂŽöÇK#EíªŽ×ÍÎV&W ]b˜"ùg@kú}bUòGž"û™ÓOÄi¨ø–8ï~ù8™Î…&Ѹ¯9yáÂk¡…¯¦Z}h³w‡}åìH€…Ó¹…°ýt –$ö–¼`—o‘A䪤ì¡Ã¤x˜(‘jKíH]Áfc‡œÌx»XÈ~_¨zÒ äÌæfHc-ïtÕ Â«¶Ö®Ø|¾•‡LÝš´Ö¬»k@c­M¬Éº¬9À_œ5+5dýfÂúÏ[Ñ”^óú•bÕ|èàIk€z'š±‹2g2:Æjº¾1¶A?u›u'²·FÊ‹“ˆ_>tT,„½Ây•`cìPºQ0évSBðÆ|™ã#¶Nää `º¤Æ‹‚¥%ë±*î 2”Sµ5ƒæW0á*pž&Î$!0-PÅCáÈø HVµ¸t¯Œ¦åÁoû³ ós|)ØMBÏãB“’ŠÛ') Si…Ð\akš+Q@yÌg|©‘¯é Ì;’‘¢"c"˜Å!À5v*wuÀ´B2Èܺùâ,þÓ-{Zl†`ÏÛæ‹Q{Fà‰£ìÚÔEè u)!ÿIJ߬×@p5‹÷£„%hd:Æ@à‚–¼]Fž!¸LÜÚD›sç¿øo¨’¹ÛPù#YžÀVAyœþÔJòæÓ«ßÍQ:÷%®PÛÑ ß±Ê°cºÚ†ÍŠ™yîúÒØ“ý±ýÜ<|B3PD£ìZëûgChoqe>ó¦Ç+T-fYªúŠzéêAbñÊ€ÜS X!š”švÙš¼¨Ñb‹Ó¨ìã¦áê¹÷*ºÊOhÃ1õ–3ô`‡•Z6$'üdƒ™Ï 8UF‡ÞF;DÛC½ ‘Œ‰“XãTÅé¼ -Åay}ÜËQ16íe·{•ö157òuíþ:‘/JÀÅÓõA9ÇW±–4fj&HŒFÀdÍ[¼'— Ry9ñ3!@ W"„\³òxáŠ# 7¶J»3nN«’ÅL{ÂÚô #p:ù+µ ÂÈ|äöuF^-0)È÷‘.Ûö!õ‰ëÁ‘é‡hCèw"òIŠÃþS94‘iŽé"×ø_Z|L´°jùÇr©º—Í)%/Mq&m²~ â;ùz—Ï©{6üáU¨AAÆ$•t!¨HÛ¬í¢˜—ãÔ©òéL=‹" Ì—»—@xØuVz¾µÕ4% €_œ 7Ä÷ä|Ÿ~ÆŠ^Š_hê÷6Ôq/'CWsÚÈ'ùׯœ%«™Q¿¢R£_Á{ôÔ^|D.j Ô ÕRÐ%ÇM8$q~W¹ðŸM.R ú2$íÍŽÐæ0#Mì…¬©Xä­“Ý ÷iÕà}Îâòõ•–ÆÜ¸ B$’FNŒb»à5]@•p!äÒØ+ƒØ½Ÿ˜C“é*¯ÄŠº3IÅS½¥Ô9èêÊåß|Îùðmú­ã×c¦Fq/d[õe¬ÑìNQ™Èfë`d€¸$Ž~+>÷ðV¨`0PÒèµ5ÍC)UÛ¾Žè€èS €Rr¸L€kÈÖ/ (ÓrS.¤—¸ Û–t†;yÌv’Ö+úlƒô~Õ‘!kàDÖiÇq&Ëòž”E)eIUù½(¸HØO݃œrIgÔǘ®õ§eÈ0t˜KÙ=’c§µŠvCN’yžAv»%Îãñ}½÷–kJŸTRø9ÛKÏŠ«JLu‡ÿÅ”ˆ­é–w¸}dn‚¼9B‡I~½±Ì2÷S¯Fµ ¤Kä kéúêÞy0Ê›dIG&È[=ü7”¢B+ੵaݧ|"ª;"yxŸ¼ORë|áü×/X·ßRÅDKT™²7Žt‰yÀŠƒåBÿþÉ ܨf¥wúKGú0®RÜ–ŽrK‘7￯r€nìeiå¢m©§+æ‹%U% }'œÒXÉÀºAp< „ø4e­Å·1é`=:ûhm 7çôêc¨ÎÿÓ$,ðQð`ä\K†ÿˆ·àû7yªÏÀ ”N òN£Ú%ÂaD‘Ø ½-|\'S;ïè"B ¸ð$—¿±‰RR8Ѥâ÷ Ä…Ù$™FpF:\Rî™J<Úþ}ø7%d€"Jªƒ£ø!ýM‡Š.üƒ6>é¬+saÁD+¸³’oíiïÓd—áŒ~×—ÝÙƒR/Àø‰ºZ7šš`4HÂNª0‰¨Ãºr…è‹ÆQÐ|ý#®xeôW;¥¿„SS?RÍîE2>ÄW„ÈÎEUŸøÈâÁ3 º7êt%ûKpÏkÍûWA!­•dx€C7Š˜+IèY[áãZèé]û9SدkŽÃø^«wjZ¬p“Lí ê*J•xåÝ}Nn†œ*†î‹Ww‡Ò"Qȉ7ÎÁ´P)¦ôžD´óÝ$ÃS¶vËF¡ý#*u²³ªwZ×}6ýº´èÏ¿%|+½¯¯€Ìd&íhˆE_ÖX{ì¼S5ƒ„ª7Ü@Mƺ÷UKLnÓ^Í©qXʼÀ²•Õ7$lù> vQGRvÔ9}ä¸9P=;n©RyÖ¥œöÓdÙÓÀý&Z¶ìÜ΀¶`j¯ëûuÿ!µv:‹ÏEz~ÈZâ» zƒgB«Þ*ñ‚ZÎh—­n¢šú ,;M_£yÀNáÿfG8… ,+MÃLœÝ:_Ü<æk+às¼b´8Nû1o¿‘O¥Í^óŸî<þmuŠú¶â¥tî2;¯ú¬|¬,+UÑjAsÐåôÚ…ÑèqÚdã|7“³œHwö<÷bŽ=‹v´Ìö~§0|¼c 0êÏ ‰jS>Äž<”ÌYÁ»9z¨cG? ´¹^^<á²ê°Îù3ë êŠ6P¨~õaoÜeõJ©ÁƒÕSEÁw Ñ»ŒMqK kÅ&…ÒEšsôG± îT5Åš–Þ‰VvSi}Sެ£æžÿÛ}÷,¬Ò¹6~2‹â,6µÎ Á;eއ UT£_rˆcŠ´&h Þ¼ìÜ$# EðÅ<ÈlÓ 0_^ÏkP¬ÏØHC‹å¶ ¯ù\øòßR–3¹ÓWùê»Ù§6ƒxŒL˜7¾¯©ÕçÚÈËt”éq³Øø—(lKt51‘í}.¹Å«:-³Cß•Ã[á…gñ‹0ÆØokº%qh,„¶Èè2Vr%ži¢Ö¶Ãµ»T å3ç}¬F#w˜ëõ,º”ë×Ò’Ç6“fÛË1éûXèTÈRl ¡Ý• ͈ÇÔQ Èý‰]•¦פe;:]sQxNK I@`PeÀ⦈¥«:M?ÔûàÓ/5½jÄíÏid J¿vøC²¢Ñ¹ÿXˆLü¹”MEÑ1¨×BùcqŒ·Öi8KàíÞ0 —wŸßϸ„ˆyö­åD oœ"J…¢«Û_ÃŒdøìs¦¼Š·¹UØ©oÈlûå<>?Œ=BEXSŽ#Ò8E8:Ά…#zêÛáÓð툾G%Ï’Œ¶{ö_ Ϩµµ?øÔÆñ‚Ç îVÆÌݬ§¸<"0yôò¹[ÁzÓX—øú´ÆèæSxÂFÁ¹Öu ƒ*~¨÷50M è6ZÈûâök6ÁúU¿æ†ëÆþ¸þBÙnƒÐù«ä)5Å~ï€Kã-@ß2»½¦£“+™ }ù´X~ú/ÍGvÈ­\ÐI ¯¿ÑÎ÷œ“—"Ö«g²ß6Sf!¯µ§¬ò8”µpËÑWoyw]5;ý¦SòJZ\½ |$óDÄù`9d?d™pK|è6ÒXþµj±¾n—ö3)Ç!då4-›Î°¯G@‚I ÃYXÑöYr^á‘¥·TÞ Nî€A ÆðE¿@eÍ /WEý`ÈõÄî¦ÌF?ÓˆÝöêØpÄ_ 6³t¾Fh•¦x÷:bxŒÞ9©aP‚ˆó±˜Ÿ*>Æí™Ö!Ç"úד–{õ´Ÿ­.“2£?Våd3•X{Šß•0]| ù Zö$4Etu<,+z$ÏåDmG#‹’=KÏ7VÇõæ|اøÄŸtÅòx#EœwªZöòÕmˆ¥/÷@$„$úV¥ sPlœ¿pX…‡Zà5‡ÞèºBðó;ýõµdÿ÷zÆPSÿ<>Df(t?¸%>ï7«[Mp \CPì-’«k•è…½~1[r€5œkÆjªJDÊ ÈæÕàyK¨ºÑS÷Ðg¿R¡õÎ×ðóý 4𰹪–ë™eùZýÐ器>îc*„M7Y–Ü/vÚV¨ ÊkB•‰Z‡eʹ} §ç¢?yíß ÈÔDW@š_’“V Hà '/öß!¥ µgý½C’%_8ô8 Û`Auùã 6_¾»¤ýI±µÙjþë`ëL‹Ç)J¤É$þf)Lº¾…N½½µ•òÇñáaM0ª„m>,¼ËÚsÔlÈC¬j2$ž”g~.)l‚ûü¿ »â=c׿×9ŽÃÙ'ú{_üÌ5"´s™’Ìû¨ì6è« Ú-ûŠ(gŒw÷Î9ú몃ÿÇÐ…«Ì ›ÓÁk3:c£¸ŽX®afIõ A¢_F½(A¨hBØÆà3ÉL–•uBæÅ”±jäoÞØö~ŸT^ÿ"ÏÛOojaµ#/*ùÕ¢¡‘íÖ²üÑ’n›fÈ ƒ=Ù/åË[”¨\[ð7j ÷K&eåŠ_Œ‡$2\œ¢k5âRtÖàµÖ’†RPE\ƒ8Þ_‰ù ^7MhøºûªÈŒ¨ê§‡2Ïú‘½*ªsðP´Å¢ Á:¼ÛpHÔÚáfâÝJa}äAÀÆw¢ò£ÿqèjØáæqO—hxb?‹†&ú#Ñ3 ä\|§½û‰HªÏ>ŸñFî®83Û²wÉúœmô, VXÞÀ€~oSA,rÄØ4BZ;]Æ-òz§†µ·‡Ÿf f!”ª—ÔŶ¬Î†Ý(“aMáÈà M‡(ÀT¾M¢tÿ°Ie©Ñ¨ËŠä ¹Ú—ÞÖDýË„„XY o“½Oyíxä /¸Ä*Ti…ÖÆ&ÌPºŠ4rT•È=ÔûÛBäŽs&t`ª¯Ë)7zâ?ÔñØ®IýÄpíÏz5±¢Þéûô||×ùÊ=¦ü%·N%Á(ÄÀŒV·”ï&ˆ˜v(C%·ü/’à%@ôkÈÊßìƒãvþ¾uó;Ñ‚HŽvo—¢zŒ‹HÕm7§<ÕòDžW³«ÅQ Ÿ,H_²(W”BSîuDDÓÁRô<ËãÝ)igt¿Íþï,;6EE3Ž·ÂƒžžªV%/ÕŸö>ž`Z¤iWf•è8 à™àñW¹f(g_v‘múÃ/å…ãÏg*4ç‹WænkcìÛSÈkg{“x Ȥ-I»rÆjG•¨(èO>%*°3áQ²euR{€Ý{àx—‘7ïÉo­¸¦Oâ²s6SØý}ùÓËD¸AqíÐdÞ{¡ÎM»Ä˜whoLéû2=à '}â‚D’äkS–œ/ˆº"Û¾U¢X½®²yÐôÅÚ$_ß|o~þkd¨múMqy#ƒ²–±‰þ„ù/Z«Åzcú'ÃjÛ` sp8?ëÙ<Ö¶ãÝOgÁŽSÝH0§ŽùŒ1rüÃ,ÕD¾L`·¸’0²>5'uÿê’¢LÀA­}]ôé¯öl üå Ñ\/J­ /B×ïmn–..‚Á+´e ×T½¢Œ 7!«Á~l·KpG¥—ŒÑÂ=Gõ‹Ô¸¾‹nÅ FJÊ£L“Ë‹ŸËIéfñb¶’“á‰"ç4‰`ÜʪoK_!÷å8&hM½™ÿ1|ÄåÍ&W]yÑ.}Ó„ü£ƒHd@Þ)\Ø] µ{jȂܖz¸îi4; ÜÈ8™ù"¼VÏûÓ®jØ]& ¾ñµáÒ˪ñ@ ë ²Ý챪?^Qoq(—”õ[®µž1• Ùä)Zš=G ‰G¾1­EÏuk18Q:…Gѵ³ÙDŸô.¶‰Ù^ɯ_4r¼€K‡FÈm~F’ï‡}ŠœT Ÿ&ëx•¹¶–.g§oB­CÔãø‚$‡¼3£P:×mÐÌ“q‡­ÊÌLÕvŽã«/ÈÜÂÊ@Ê#D(NÒÁ1<†Ðƒ’mI¶sÀ9ÅÊÜIÀŒ'ƒš¡yôbÆèø$Œñ¦!òäyHßÂ.Ý–eda_”4½iÆà¾d?x³b»ü²VÓøò‰aCIcŠ94s9† q4‚*£=µfå&¬¥@¦Lúå þž·9Nò1ÈÌÓì @:abF%@2ß¼‡·' &}߬b¶ùChÀ¤¢ä›”¬";Wâ ´·éÏ“6Çm%¦¿á­×òª…êó,åÙŒ†"fK$O2œS€ý¥!ΜÅTY¡ÿ&ñEìÙŒø! E4Õv_ £Xe‘ßw¦Ñ‰lC‚¶BDØè¶‹ ~&YiÑV´d„8œù@?æÝùÀ-ëõ«#õµ«H·yÜÌx‰CZä¡¿ç™ÈÆ‘û_”Uñ^W%¿)ñ™¨´tƒ(‚IG÷­)!)‰S­E-ì”5·ëçäjw…>v¹P`…¹hH#.{’žÃÔhw'CœFX 5vŒ/JQ7f§ëdfúb™¡l0ánHòCiÆ‹žpqÙþß½x¶sBÁfÃÐY¶KµNoèëMq¼Ôuµ,$ôG”Ûµ€·lÏ=Ñ|Êık¼½7% ¼èñû‡ ¶C€lc·iõAåÙ]·B°&ÄEž TŸÚøÉ6bb‘ÅÌÖœ ,¨Ò”y¦¸¾VH¥@>1‚ûâ ɤð# ©aeÝYÔÝfJÿþ÷ퟮ—gN¡€ ^¶{b´"]Ï·»e œéq1ŽHÒ¦Ù–#ÿ=éæÒôç8À¶ãîdëg7†bfD‘N&=F„¢=Üø©ƒ‹ƒ(ÿÚN+5ÃY0¯Z^| ždŽEżú¬œHv–Æ•ˆizÒá¡ß¶Õm2òð.]IåíØ‹×â¥5þ¬Í𣧖ÿx %?ô×Ìþëz‘³‹s˜µž*ãŸÆh‡ˆà=^6¨PÅd™µÞ¼†Ò ¸ƒ¯eŒ(jx‹÷®ht.ú¯G+Ç<Zpk+nõÇ]úã#õ†âž@çIr6Jö¿º…{ÖTÔiP9[¯áf{o-%SÐn•X5®ƒ{&* ÑÑ«Žjg„ˆyi×nÌ{ׇ‡˜ù]ì°NÒr‚ªäci3 ØúG•‘IeOA)ˆí0ÅØ$1ÕÁß墪²©7A‡X:ŽÖÛ¶Š¡7oã[å [VžqûöB‘‚M&KŽÙÒ°ù3]#z0ugԾ߉–cn0©ë o"e%?œ¡nc8<[«ÆÍgWwC4ºGáÞjmè%ng¯Êÿíp™·`ÏÞP[(ÉÒ,(S3»Ox¾äo¨¤~‰ûȶc$Êáÿ®úmïGE€üxR[U(35ô.Œ5Üùv˜Tº ´ðãDùYQm§Öçì«s}F>ùú–"! Wâ æ}Ë0(Õ?‚Úù?\±ÇW“^ýBêÊgïð[mÄÁÀU*äè)PÆ)z*Cr¬‡ãÂÉdªÀz{,ÕïdLH”I64ž¼¥Ý™‘(¯"u¥ž:Ñ»ýe ³{þ³ÌÍ]¸ŸFýƒjØ4¨D_ÕK\²þ}÷ÿå˜{j‘«š Qt¢¢¢«çô•Zî²Þmw­‰P\ñ)Ÿl#:Їîl˜™<¤gà%Ì;„W]®ÓƒÝƒîa­»îNÏ«jw 2P;1|ÇiÕÝÝý샫‰ËO^yióˆ}ésé>7á+"©ÍíyT3)Ù˜X_ÑfPümøìœá[óžÝî_ò“)޳c¡Á;¦æ2¥x§tCÝx== g厯ǿñò|ÈNm@ð™ (¾ì=<žA4¶m³æž²!ý€ÎÉÆš,C–6Ó›qh£Å+Ž>^iVÔAÈ,¡Âêc÷¦7 ˆÙZÒË Iwú¨’x¹…*lÚœÎ#ÿ?}'TPß!º*.ÖG'\| 6ÓK›BtÆòh¡¾þxæfºËij?6CÏ• !þ^ø7c< å± §òÚs’âÖëÌ^T_jŠÖ®ÕâGúôUú<Ê(aÐþ"5Uø ©²‹¿TjO2—Òu{H‚B/ð´&E&‡ŒÁå¼Sì{ÿœ~ÎFÛäg€Ï>“ä+,ÞἂŒbé4%ëº3»±óeâ#Ï׿°gèßà™žšô_qÇêÚŠ‹ÏøÈ†cðÊÅP‹3&áÊѪ=ª”ù·d‘ð'*Ïù‘Iõã„ç(Q6WäJ!¡"š˜¡yXäì<€iƒ?º5¸ri¤L5z£Ì6ÏR¸´]P»{ "ÝÅ„|\oXÃÑØ/à ÔBWW­.­‹qu)ÚõP¬T49•¯¶Ø[Ô“I5À\ï¢KP½´(†Ì¦Þ½i!ž0z‘þÓÉù’‘^¡  5³ÇÌ&[al& Â)x?Ý`FÓxåx®VQª_àç÷N7ÓùÄ;þ錳ú”d ]оÎâ½â‰†`ÛÊZá‘äêvØ}8Ö]M7Í5›O%ánèà 8\oÿuÙµm't› ‘N]>™\w¨` <ͧùˆÇkX1¨6í!®—K8 &Üs&œ[E@¯ßˆGúªL欳K¾Ìý¢ñ΃æxñLAÉØbÒ³ó·As¦D2-(Hû#B8C[pH[M𔀡p®ÌO—Ûxø$5fL3eã‡p2¦×äºJB½­¦ñÆìäX¦†)‚ ½× ã¯@A×h›…Yù ’HþÿO.FõGd ÷Ä¿f:lh¦ñ‘cú_jØ, ÅD?Hq¼ªì¸ÜOå{õ€Z¶Iò{AÔ1ü¼–c{R«éò4]ñ®w"Ot&7sêÏÝfÆÇm‡8Á ÏøÍ#îê|vIC]EiPš­ÿöb~)$2‘I€”÷“Ä¢íF,ÎcY³hߣkYS°:bî³~¬Úù“!Kl,š=áùÊþ·AîI—ßAÛ6úó݃òÝé4jQëpê~øãýú˜¥Á»1>xÏpÃ(Ÿ¼"Ù**Âd„«ÑÁY)p„ơܻ´¹SèØsò÷ ¹è;Uv´C= ø5¾í; iÌ%+#¬¾_Ò9œ5)â$¾;…>²éëløZinˆœ¥¼¶Kš‹ëüuâxÍ© Xæ+BЏidÿlqçr?Ä‹IU,‘¾y趬 ¸¬Â±žÌü²!¸g›ZzÅ\¤ê¹ÏUÏF;fÊúŒàË5ò¶Åžaº °eÎ…}W*lÑ¡€äN4g#—¢ýK=Ó^¡ÒùÕRC…\„?ï¼ùוÊã»Ì¿¥ÍQÏ_ÌøbÅ{RRßâJ7ÃYýL•6‚RG!¶¦3¼Ÿfs\*yó¤¼!‚Pq¿//Ô2r¿ð¸ƒâ¶0œóás+ÖJÉ·µ%LuÑßõ“¦ì-±qjW˜• ~m&¾ï…*"GwÒ™©N<-ì(Ódó@¼)ø$°šŸª²×¥†yÅ‘IÍߟß[‡ëžö*˜¤‚-–A‡’—å'åWk‹ö BCÙ½J5X ¦æc¬˜º’{UDV¦B…÷:iL:cÕ<ŒÕlb¶›pdlHü’_[[ ®]PxaÂÐtÍg>ŸÈ ÜªX—sfT&íf²Ž:ð…î8›ó<3ÊYª ÍeõŽCQZÈeHœôlC,¶ó °"0±{gHâW¼,ÖyȃǑ–cnÅ\ü3w<Ô˜hô°-#ûžØ 6›;~~u³Ÿí±ô†ñÿžNÇèøÔy¹Ù‘Ôûãe!g=#ÃB}A°Ø2“5i{òÜ"‡k?µš¹å_qt›sÿJS#ot¥É3:n%ã…Kb|D*A—Èâ;D Zì¨ [)lGªc Ž~T~Ÿ)R±Hî5^r†mž?lÔrs¿u.ÆpxM_ãªþêË èmi¸ýÿ¥ÓúSvSWÀéóÛù§ËhÀH¢V·~%©~ iIÑvsÛb.P6¢·WÎèÅvq£lu1¶’'bÈ~ö»/wÁnͺ˜”ÃÅíh"®›_Á÷-“Z&0ª3Iª,t4ÿúï×+¥›F¾å²¨#k0ëáb°_Ñx™(‡ÂÜÁv‡í2)üÑ%œL´‹ o-¬Ø¹spå ÿ‰6zX!5dâc¢Ïäh'†3ÑQ0ç4‚MnE&ëã(x}}PNèâ®I.ÆùcIožZM—µð”kÂ÷þg4ãÑíô [ àÍgÒð Rå6OËÑ8úÇÖ ˆg6>»QŽU3§ qÑuR[ïñO|´H"Ðy91mꃥrs íóGçC0‰B¢a£@Òy’¦T´kô…ö ÔÇlÙ¶w{#nSR´¯ì­A‡f)ù­léy¤þH]ÛΣæìÿzßrÉeìÃAR¶V!¹[–}hUªÌèìí¢Øú–ìUPß(&¤¯±êߨC¹¦8¯±ÐDΈ‚kxòõ$Í ¥Ý§ç ¿ØÄ`æ`üU Œ\¦šžƒ{á(ÿLk£þ±#Ê PVëTº·©Å¡èP5Ý'ä8‡y`çª~…ëë§[} ™£H–”±:ñ‰Oa$Bp¼röýçÜ~Ndj,¼äA‘[KS½zÓ\iX%rV`}L<¬WÜE»ßñ*=ˉB,9M‡rÕ$µ8sJŸ±–y½"Šºé9¹òûÏ3jîܣ薜ÆuÅõ¥Á1¥¹sÃë¨Éÿº.Å/x3ؼµü³aL-X˜½‘b‹_3Iß“…K²úlj$ê–ŸõJC ó}¤ãUÙÁ}£•Q·ÉG¤Ûãv|°Ÿ€m?·sôà²Wªp4ù–)®5볉œVè(³Hy~?Üu6÷ˆI û=­«¥7䨒²2–ÎvŸL—:eØ÷K»ð"Z/ ù>tŸûc5¾F†Ý¦Ÿt“þg¢ ÙÛÞ^3\öI1“‰¼‰>†ânëóA¥ßÄTJ;Ãqü†›ØèËЯ½Eçú(£òÜŽ,9ØLŠå»‰‰°j´«…2Á73)ǺÃ/ «Ösß;³ÖÒ¨ÉÖuîÊA°³ïs23Í :ÌDí±Š‡/c$åòs­}è~Ô#¼ÝšH:'áùÄØëŒ¼­×rÞï(¶áOÜ.Ù²+ù0žSê®y 0XH]àq|ûe‘ƒI¢^æz”èÅ™©Û©dé„×Þ>ã@áͪª˜ÑPë› ]ÅèÈýï––ô|SG:ZÕ‰O!ø\ øš¡=öEû ”Q§N¬ápµ!YÃïÅÖ'– jZPouÑKæ¹6´ˆþæ@>ŠLaI?pC/?Ý™$ñ.oíã$cÜs´ß^˜ì¥!¬s­S^)ºÏ-z¿÷ü-ÛBØ4§œ±¬xµÉDYØ}Þ–†`G Ê1ãáßî|úr‰CñGèÆK>YâÈ^ï'Y5»æ¢1âv\ì-ŠB¯Ì¤ÁðŒÓÓÛ¶ˆáì>$¢úU@Ñé½;Dë Íu#Ȇ@\×b$ÒÇ‹j!ø¼uÍ÷Åå1n›Ù Oh–{7oIpN¡H-E›®°f[À€üçÄ…”£í+#^ðWýËäø<ŠòßÉvéë̉¼é©º\eì”/å»ÁTÓm˜E,™äáAšüf0’¢2QE_‹&ëþ×zá~ñפ^{ÜØyØ”68ÖüˆBMƒ†~ñèYÀG:……Zã¾[£•Œa‰*z¨fr´Béˆú?–GÜÎiÐzñž¦ß¾É äÅÆ{ëÇ$U¢ÂàÙóg/•œòu*æ3%îúrH¤aì@<á9G¹Ý6¢ùÌ€L†M-ÎéFýdŸ¨bL Âèð +ßµãÿL&Ï4PXL¨Õ™0QÑ©ðHŠëÕ#¼ŽŸÅ›5®5Îl7ëmÎR]wÿ¹òxêÞ‡õ?ÆG\ìFÇ{¥øÏèÑ2·¼¯d8!é½E²žÕ­b¾0ÕÏüøÈ†Œ¦vŸ0L¸÷GJüíjº©ŽÑóìof ®!ÍŸè˾— \ÿ…Å<´*xôšSÞȃÛè$ããZ¸´4i,Œ–1VNi¥dŽºo–fcó´+ÌÖIS>vuõ@¯þ)H8Óô‹¾¸÷ìy…îɨ†Ö:X/ú“¨Þó™á»¿"uДl¬ ôæ¡”$Øì0ŸkåíUk_Gõ”F‰Ïç’€Öã#¿Á´©áÆW.ôõË>ÒU xe6ÖUÁdúB®:j.’qO6ÂCOmCyºx¨‡X[ù˜ òò›í!Œ+û5Ñ´Æš‘rÞ¥%q¿¦ãl mæ‡5jg;c”È·(ˆb¸€\ú«–?•T ˆµäÀk…#ÛËl£ *ç÷¨|Îöb×Cš¸ ‘'Š´¹W¥2†UäÞÎý½q— 1µ\æ¯ÑÑÙD¨½ç<[5o‹B­gv»ö€…>6,ÑZk¬€Û1”¶¡A¢àØ"BImm£É}D?D8ygÓµŒ—&o›ˆú%§ÞXæ-@:8Nœb¹¦ª+š½Š¤Š¤"¢nhZ¦š {ˆ`2`‰ë4t,ÇFQ}{§¯ËîÏ÷•ŒK\ì8<ÇåŸT_.æòr ÊôÚX´¼T0§å«û܇øo)QýYdv4Ë#ÔÃFÀM;8B¾€³•–/C9RTçïŸÅ üä#¯É­Ú…­ÿ–èì¦#(@ïRíjt+¡) ßÂ%½‘ÆÌ$OrÉ(¨7Y©H˜%”&ߨuc‹üqûöZ*¡ò ‡ÅO¿^zƒZkݼã¦óú|îTÛUÁÙÙ›B¼½å§ ¡…‘ßêÉŒ ñ,Ûø–Ç8^cyæ¯ –Òk1ÕL ž¹èZ\wS¥[õtcug˜£…&ò÷ _¡Ž3òh‘Üïi(n:x!SòNáŸC°#Û“qcèŒ?>ïüDaª¼{õ.%é<¤l¡!ÕÆý÷•eS$ ŒÕe%z¾¬u*'#.F(Þ9£¤Ö+Ãø0€¨’«©J3ù/Ùœ+Ë$ ²D;S–ƒÕŒ)(÷¬;/ŸeÌL7fq~¯e¶ QÁ»Þ£©VÊpÈígMžÍбâây™—NôfVØ#êñ¶ÎF H¿eÉÞCðgWPìJ/îÅ;Z¤x?™ærö(¸ÆèFòöÉRà½aǼ*“N(²Ë*±a Ö1N_äèëb=×6έA; n'^›°#_®¦}¦Ž1,¿­CÀ ²ÞÙøÚ°ÙGtÄ0ñÙ«È: £¤DÛžê;Ñ`jºŒn6zòülß203Ž×1/~|‚™4KU©h—ÞEUÛLzža 5}¿ t™±)­²yéyëãd´Æ/¡~¶ŒggL|;‡çG® ûz%Ý8‘‡|\ÿ3Š$îsü·>ýÚ+—3÷:§]ȽIûxÒ§=°™Øts44ä < ÷h@Ù$ë1Sßxž»ßÜm[Pƒòi&ÔÝ}Èé.#º$rr)íÜ"’Ä`”†Õ¿#cí©Üþ!èØN=dž¼*U\pB¿ýhË"î(UTï>ª9¼/<:£·soÉD:7è^+ÿ¶ü"D”k†_ú©í– ÷{Mªºš-:LIƒ>ó­nä¦ÛáƒÃª¦%Œ…¶þ´ P]Ff§—>t(iÕqsdZ!4>Ù¢/cõ>R¸:Ï·ü[62çÇuKþ) a<û‚·A€‡O°Nâ¢õzDcûb¨ÞhÀQ¦x=âÛߌ®í­ñ0ÄÑM’f (ôã˜Xbnúà÷'ö¡ŠomqŒ©4BE)9ÔJ %¬ßÜ…HsðÐ9¶²÷Ïš8™‡ð%’“©¤‰­ÂæÆÑ SœàI\HsèüŽZ©Qåå·Ÿ®7ÖM „¯ ‚àõJ.1Î×V*Æf9$«yͲ{µ8/E5ãð‘¾: Æôh¡›åTIžuãS6;¦{Ù‘!Ý-2] {˜é@ø‰ßt[Â’ƒ:WøZsÖ/+Va"9î’bC·Ü´šÕƒa«˜ý$œ¸xY|i@R“Ú}‰B‹K¶2»ùi¬âO `úÈWð|\Ùû4û’—ƒí᪠cšvuP‰Qõ”D˜@ã g*Ωšæô¨ › ¿“ö·0ù¡‹å8Óx×ÙŽlO«áÕFa²FÞå3PZ•e4d±ð·Ïè¶R­—LÒMl¿; £Ê4B‚ïABÿ8°ÏDsÅ’¶yÓ7!sº¤æk½ü+$f`š5&iè7¶ÉûYéÒË ¡ˆ†·Aå?“§â°:Pë$±ÖÚùæSÔ0¡y÷õ”ÓË_da.=ý¾«0Bnë‚—¸4“b•T®Pœ65šÿ"â©`u/ÑäB”ö!û¦ªôóÞÚ©p¹âáÑË{¶  wqIU×ÓÚ*ôeÄxø¡l†3Ò}Kø&º&[f4i‰½ê î|$ji+šWP|dA»f‰0B¼0 3‘†þ9 Ó·§—L+[{a¥00õí˜Ù/Sšú$'ú¤ÔEʤëh·= ²ƒMùÞÞ„Õ—>¿ùL¾¼‘ÆBŸëÜÚšŠ U8Vε:©0¨8anœÃ£g·Úàù¤WD†Øš Oˆº+þüµeÍç^iWXS(´:*Èt0X‚p&“o%-ôgžŒ%ˆçW“mðŸWÔÒ}Á ɧ%Îq¯Å*,=ïàsGW»]ÁØIžÁ·—CUkVÝšN²aÿŽœ„,Z ÎczyN8àL>33®[6ëWÔÏ&ó°ïüîYÈ›PD =*ÈPQÀh'tì$Ê(Duä¬èï_I[.­1Åô„ȵ?H«kõ’Dj–P˾³iÚdGÂħb âªýRÈvŠI‡<§ŽæLöÖ&'ùjuYº (ÔR‡ÀÏøGóárýÕ™FX6Mr?+¬áñ?à¶¥®×ZÕ©ÖiØÿÁˆq$´!ZÉÉ ¦ ±W¾~ZÉ"‹É«ôaÍ1¥0¥±Œ¯ ïž M(ñÌßãfå/À…¶aE*Áiâ×qê©›ÖC”HÝY1>†À4:QÈ|ø’\Èöú‰žèšð\6¹:,ëÎQ#¿Á§hC뇀é‹ùMž\n…Ð!¿ÌÃׯ´TCQ ²ÚܳM\u_6|ô‘‘Ùl„‚ü¬œ%‘U8ìÑ=¦;5›*ƒ§,1'Läªv<‘ –•†Aq¼0(­„yÍ̸,þ‡›Ñ••æÈHº*ˆ{¶X~Ì<5´PO'vCÝJEg_ [$Aº#u«\5˜ç׃A’iaµVè€ïb‰×\™°ëЉÐìÙ×jªpÀ6 £7ã¤mìu¢úMš1% arí'¢ …=£»;w?þϺ6„¬çû5%sû±1éIû‚fÀ`²~Uqwº€×'.F‹‡ïî—7Üquóô¾›h*èúð±{¬ ¿t³|u3êÁ `콩»Ù„²~#@›¦"}oW#„E"û§ÎŠzQ‚A1ñ_¬É,-<€ÔDFï›\;ížÝW\«ãëèñNìE"dÒ{`‰í!°)ø À¥zÝŽÝFšç­ëäFpRC· %?Šš(çσØÿ8M 3Ü=Çï«Òƒƒ¾0úTò^L ‚MŠ÷.u­'HØQcÔ“vöNÂiÝTùŒ¦+íÏ̶j±qFG¤©kJÇSaÛ+á‡Ó^È©øà¬À Rñ«²n?r×€ãImµx[~̉ O¸ñí\­dxÌÞ´Ej³,„ZÄÃüÊQÛQ[Õrd2Áo4àeª¦F™RhÃK?ÞmÖd;­|;)^z:ôé ÃVÙÕaŸœ¹˜Q`tëè™oÕ÷]‡Ê«‡w¸}º´.Òóíã«O‹í;ö†c –Ý©[—¡¼i°„u›W±FWœí!dqŠ<*§Z•Uù›n©Õ€…¢N¹ ýCÊ0¾‡ Zñ–1=ÌðAûáBFŒ&!¹÷ekÁ/ž²|¶$þÎf±X¦ò¨+X!ÙVî¥R®DþбS©º+Dê#/Õ•|M÷ôfpw ¼/Ò¿šŒf¬Å÷ŒTåéì-¦]â%†…Ä—äg¦¡™šö¬‡¶sSá|ÁÙ_‰j×$Ê«àÖ¨Ä ¦á4ˆ¹¦hó£åQè× ˜ÖÂÉÃÚR]Ô'´´]¨¼–D¶1æ±úùÁq$¿-Žx Ã?by¤åä~s^Nð-ߺ°È`Ôw/šBŒ¢Œ¢~ã†7k'9µ½¦s eªÔVö…žã°öî+ôiKÈ%ïfCÇ$ùꞥÎùs³î˜vc]T?y²ómq€E—…à5ÍÃBvwhò"4˜ºÊˆ)qƒci‰ØW²z ±þ8š®'3ÝHP£U—‡§£mPã!)"Bƒ¤/Âð­‰UéO1ëõ¿Ÿ¯Ö€èXÐÄæ¤¹ÖùKÀ°‘–-áT¨•gÄu›¾VL¤Ò·±8ßÊK;@ÏfL÷Þ4Ž8ݯŽN™&ÀôXˆZofò hÅrµîG´¼¹ï¡ µÈLþ£_6ˆM‹ijškÑpíÚ_Z’á%Q»ýe™ +–A"ˆä’†Á÷ÆÄ#Š{ ÓnVÓÚÂôxrDCJŸ8„:çŸä?e¥†‚½Ê€¦[Ön4•¬B‡#ICêÒÓ§¦o¥”!ޒω­±DÜN%’):Óâf”Í••ŽÔv§æ2ŠU»‘Bf„c€b¬ÌßÉÀû¨Æêb…CõìvæØ#­†ÇXíÛákÔî¡!ýÍ4ŸJÊê+F“B >`§CíU.”4þÊá¼ ‰×öN;Æ{q²ÍŒ³ÕÇò®=€ýÕ¡ü)x‹[¯ÀPµýŒBÉ]‹xlGÔkº“4·Š€C‹)Ù™³3æ²@w¬¿/R©µå¢Ê­‡Bûño•W#‚ÐØÄ0…›^•EFÁ.ÉË ¡d>»à…:´µ‰ASÙZî^¤ uQU‡•ᇵê{iéI̬‘B…ÜŸR¹ùúRڤ²N’¸>ƒþ<,˜5¿Žô™_Å‘n0òKØs?±|‘ƒˆsø®ZÇíxÖ¼ µŠVßoë ›Æ®Ï[ ÓgmøÇ;Õ¦¦¸>þ¸D·hãîXr™üßùøÒ é5.׉óCÌÐ#¬àx]F¿PǸ¼ÓìWFfÓ;rçÍëùK‡NË.æZlë—W8øÓkëí Ø”hª8[}æVœa¯&¤]p…fñE½Ãá".º }Íà€EÈç;:MO΋Â]»RºåWÓ¯UÌ£N&¥šu2WÊÁ–75ØÆvâDa-Ò­‘ùÈÐãÈ{~:À0C©¥]yõ^Ò•‚„3åâb‡Cƒ¼âı–ûÖú yj[±ŽŒC©¯—·[!æb®à%U‡Kô¿-Ñ|V˜¿DàH4 p¿ ̆î°Z‰š ‰ *3ÆtYI^µ^ÿ-³×ÝP5ÈÉV÷ØQ5ÕನØþlàÂ_îv¹Ó^çÉoغ@@ó¿;uÎüq¦…ï¥+»Œ«Å¦\ ݲÇp¢ýLŽf æ‘Pf0Yï*`Ƶ›TpgŠM)ÍÀmØ;Iv»W‘ yqHNªäpg-ó4`ŒÏ›ò@–`¯Ô*|äì´UÀyŽq6b\ìÉúÖ×Q0R:CZjzΦ±ÔˆÐŠÙ§V>Ü9C}Ì®Öe“2—¬¬7v6=¼»÷ ¤x¡÷¢¶˜Æœ-±©Æ¬#«Ð˜‹\‰ ¢³ïÎ}ð±6¢Í—ÿ¡7•ô±…„Èßÿ£ÈŘn¤'y²$L<­‚Òõ¤Œ©íùÓUkq\Ó‚Œ?¦þN|}…1ê+ä5/â± „Õ‚Y·ÕlOâ!ã-çwÇùåÒ­GY kŸ«¬xR°ó·qGà0ýuÿ1±É=ì•Až.‘õ¶ØÓÕù6·ÜúÉíO ÇØ‘b:»­Ë’žØ0¼ù 00²„«(ò!MþsÒ”÷<ܼù™lå%Ëñál8í%ï4†&¨'1öª¦¸“%<2á0¥¨Žãn(‹=¯êøªdFZ#ÛâiƽÔt3ñFèe¹ºi5öWѲN/~­éó)£â”¯ïn10uc×ÿëüho§ƒƒ»1Ü“àÝm„Š&"¦JMqQ½?8ùýe. 6?QSºÙØ…íôÒÑÑDm6S`iÒtC¯çLѬÜî?Qôlæî½/†Ð-xÍ6:ÇÌì (ÛÈ_ó"³ÚéAìõñ þޝŒ‰ð6¿r(×ܲ cŒÉ7ˆÓËÔž%8Î/a³PP»ãÞ©ðÁ“¶põ…ÿÎÉ kÔ‡>“Ǻó  ã”:÷ƒÝET=?ßæCyÒ}q¤A 7©Ã= `]Åó!#7¡àW šH6EYxÝ–â=IÔãºnám‡¾¸ŸT)b‹jüc:uôp(E5¸bì¤ £žj_o☠nˆß‰|Jü†×?“À\3ôõ+$¢ˆr¿€¤Ç#ìOã6ίÃË ¾&QǦç9 ˜¥"Ñ©A„£óF¡[‘s¬ØÊ}\Ú­¢ŠŒá?¢'[W°Ä1† ýŒø„Ô_LEK”™4©+8P’ËýÙ*U½V7]ÁÆåáyBZhùÝ÷5€Cø­®WkŽGÓpÑä»Åaœ.¦štëú/Ó„¹ þ²6ªªï‹Ï“æ‡Ôcd}ÃõT¦³K'&íVÂ.F´;T¬{i‚aÙïâ9ÒÁ&žåK¿Î­'¢lûÙ‰x[—bˆg[WãÞd´(ìüMð¸ð€· T¡¹^¥¦—pÞ?5DC­àùh0TÐÝXN¦ÓG2æm#G9pi„EÊþÒ]^Éèƒh3Ø‚Àç\€ÁÓà›t‰òW>åªl}±OöF…è²Ið‡nýÖ°=ª6©¾­-ËÚ5ãLd‚Í}×ãOä÷ _’ù©öÓ­]=³@ÝMeêüBg×ÈUáýÙÅ6ͬú~pcÓчT“KëÌ8ÀkN÷Ä‚d`Ó¡zç‰cý$±´ÖöðªN­‘¼–M aëátLYKžDjû²Õ)1-¾U}Ö ¿j`8Ù—XÍO“É´»\é’—]4‘ƒ’Tù!›…ö¥aš3 •N`íÜFqL­|-˜.d6mûŸÍ{6LÔï˜Þ’³5¯°‹PPä'Ü’‘x®Ë5☱”0ST?åãŠtõ[Bo£¥ äší}dcN·Nã¸Æ‘N§ÛâÍl5BB¼ᆾ1±.#@1‰¡ ‚KëëŽî˜³¤d×$ì/7œGŽK˜­ˆÀe%´p–„l±¦Ú¹­À/uaÒȤЌbþŽ2÷/™]ôµÔkGþjQîÚØb±XÏ ð‡üKÔãùlt¾™'b-ôÕw`¼PÁ¸"Âãáÿc ‚/£v ŠáGëxNZ@b!=šDP¥±fJ¥¾$]2`’:ÆçfBÉ$†æ^úÔ­1øó²ÅÃë\¸ûÈX$Z©`–  …ž„0Fá–+‚õ€ÞßA2"èr·ÅÖñ"ÓHµ'8§7%—Yªx@w¶¾ y5 ƒüÛo½²»]åtö }ç°cfÛJŽ…¥sëÎò €=j4Fs!ÅìáAÚuú-Ö‹<„'‘XµæO”M1S›µV Ö‘ù±ïÁ‹¶èÏ¿z!=ùØD¥™S Žgx9b~U#f¸Ž<±Tbef¸Oûò„šÝó¹ÄEµmáÈ5nm‘åçaÏÏOØ–.rËÇ+è~äà†BïbÑŽ^!—9‡¤ïÌxul¶8lç¤Bà|Üõi_¥Ìí‡Ó-“ÞiT œÉuí^VíŠR·¨ëцX GˆœÄ/óÿxŸ5äu¼} sÖ®”]O,ˆpŸ#=ƒ´@±é*‚UqÑ2ØeâFîðå8É%ÏfiU<áβ[Æ]…|{"Ó,Çû[YQéÑZœàov"8:~ØœìQX“P‰W5ÀÆcÌxw¾ ÒG h¸³)<ô Á͇>#ù!å¼x§Ú&f;ô& ¶Ä²aôºÛs‰AJÎê0‘_|´á·àk}@{lÊÕû¤&5Öè__uSžwº²Q$nä“õ&ƒnÂ’›טj‹¸Ù¥Ù+e¢ÍBúhSÊ•ËD¶—L%é˜äF´*l¯{)Ž«•y×d ¼õ|‰"Å£Ô*³YÝ÷C=´ÑU/Âñ¿¿,×!¢ÁTLmé”TÙÝï~ÒÇþŽÁtÀ€Dk›ÓAr^ÖÜŒwÈg§rð»¹ì-“osÁ ¶ƒÎ寄"øñœl343{&Ñå ÿ^µñWcwyøT¹Þ[§®Ž¤qJU›¸c(.(Ur3äš\¨|=æjBÉ©_ú³ÄÆ£y6¦!BôŠgz6¡²ÄT¯6ØÙ§^Ú¬ÞèO¹_d&lÐZÃõ®š1ºìþ}äåÆk¿gŠ`®½ŠFÜq=ça/=yÒT8ÊðvÍ}æè’sÅ E<8+ƒMHà~²‰œ_ØÄ#ÓΉµð1¤ø)É:¹ÍÎÉÈžï:—ÖeIm-Èây4¡äâ;b•×>×Pñ·µ¼nHÓdr€ÕB¹?ycš.IÆ$r¶´-5 GÛµ:a´} AØe‰iYë$2Õà<²b\ˆ`ÕãažîVÔÈè•´Fy‚а’N²£°)†Tix°[†…¦–`Ršͽb-,›n?¡  C;|´ {”¾†bqh‹ÚºS†··ŸÆL6@ p¯~°‹ôúéèíI?…ÿ}oλgW1Ò°j†Ë•q£‚+°pk’ltG „vŒ9—›¡H*õ(Bß* ãöú7Vò5¿Ì‘"R˜½ßTé‘ÿõ4p"*T…¸5óöËáÒ´úë Jµ:\‘/Ê©§ð%?w‡«åµ¥™*•±Ú…Ë+æÚ€Tª*wE1\k³_Zy‰h±¾|Ù`ë0Þ·ÿûšR;d9·+O§›®ÌοÛi ZžÁ,Å(õõó,”{>¨º’‹r£¦ ¥‰!–ضë(¬Á~ó¼2Pƒš_ò~Z«ºhsB˜BÈuº ,óÁU”l×DµM(5W0úŸ¢lò• ¿-‘†²Úà‡ü¡à‹„ÈÝ¡ Pñ²·¸(ø7NíÔg¨›E‹X`jhût1ÞHœ£g&jzv©efù2)é8&á*^ô–m²:WÖL¹Cf_œ¶ž¯sÏ$®AÉ«>‚=/E«!.(4ßBa ü~X‚RÞÄm@Tvn1Ö”íÕ–0†2†.•À_C`Ë2—4>¯-²W¸>zƒ•_H»¡_°j=‚¼ dQâÙÎ/T®Å&hžÔ3ôÅæ<šå’·,~¨…±+ügºéæ!.ÌA£xPò’5 c„HÎ û‚ª|®·ÁRX°/n†6°}ÈŸfÌZŽŒ‡ …»ÛúXîÕ~¬ ÆT‘Ÿ­Ú/ ¡×Ò«‡9KH&xkAw¸ë•h~çu½¬µ—ÔôÚ'Í–`·fÒͱL¯ìÝeä)l.a´6•Ps0Ù8h7’”É«p>ÌLj߬6„þù«-–Fd/…±G—é4"ÊÔ›H MhÅú÷ ëäC!a10zÊ †÷ö Æ&ˆåÏi”*qTš3þ2Œ¸û]S ¿½¹v}'yXJ®jÁÙ*Сäuô,æ™fÀE–? üó ªðÃ.æp ôwñ×tͳVå+ªã=¶ÈØÐWe7žÜXñ ôÑ,õPøÞ¶‚c[γdȧqíÖ+ïdŒ5щÁ¦+Ô@WhréÆû¼’ø©¿7±À £y’mî3ùr~òOÜÞÛÌ‘ç$Ô<ÃÁŽ­=ýabv EуQŒJ•Ð)õYoådßNä@p«¼‰H™„qÆÉ Þ'PŸýÕúàÍ¡ªÓèÑ]}8J“gÀp@ûÇŠ÷í˜,ïQ‘-e˜|öWY?ÈO÷’–ŽFüVôÇÓA<•ɛźÚ/ÈŸ’L5‡ŠÏ4䉣‘´y#‹IEn-ÝdGb't“^%Ôï{B·R^!îUZ–bkè^Òyñ-ØÈ3`rƒ>ɇ< ¹~êzeĈ6é÷®Õ4 °i{…0øÄÁ~WEdËìèÇÎ2ØWkí Ö‚%ML9Ý_¢ev™?bFÑvFwi‡ÀŒh(oɃÚG´1{(vó>çºÖ˜×”ýÁiz`‡ý„?AS»Z½@JkÞ÷…e.ަÝwëe|oՠìûÛ‹râ‰Â9>:~HòÿÙ„²ŸðFær:á–$ÓVjõïÆt2ïNDžCZkªF`Þ!yGdAX¶¥7-Æbßí­ÞW.î p+lÏhk›àW$cSÂíèÅo¿-ÓV ½b‘àpz8ÏÕ„#†ÖÀÆ2¸^½ö†qZq“n±¨y9‹ˆ<$×ù2b@s¾Tƒ ëòØw N2n³£"±ª»wZSÝ$.-íiã”Í?÷Wnÿ4ØØ.ÉuJ3Œiû©cßÂö(ÃHdÜo6„îê® ɲ…*w¢¨=ðï<ˆqÒq|r$Ê·a"­T"ÛhVa5™É²­ÄÿbÖöÉr_¢éd µÇs¿1À,‰Ë}Ïu#̳m D:×¶+ˆÌL(G {ge½½„9Ñ`¼göŸ¶ï|Yþx@œ±«}f:3vï"?†ú²)ï— )¸àÔÖWVÝν¤Â¹™ãkY”Ó“ÖÌüFô…ktP#ƒrü‚ÇÔ¾ã€v.ø¾•m¥ÚÜ=ÁÕ[ A¸Ùß‘ÿZnF1» “‰XHt–€‘  ž¿‹K-CÿÃ(ÏJî 5]±ºä‹£$‰Y@4|¯eÖÌ@Ø­Qïâ^¼¢ã¾'ιÅJæÈóÚ»62íÓâcáB%`‘ï(o b—l`È䄸ø­Rv(-îJ⡊YÓ¶¾$;ºÂ ‡m£LG#˜Ná Å‹mLìWUdÒlGExâOF_„Ö/š½ú„g×oÆmò4Áv ŸÌÎ`ö6ÿ·]ÅŠ(?|9«÷bèÚ(‚Åï[!1åÇqÇ>pFQ9KÜPUý!O{MÂ,¡ð5ðh¹»iü3î•ù»¯B9Æ4 pÎÐásøý—ÕÕí¯Zà]oŵzâ`”Ó²À{®ê=ÀáØ,äõÊkÚwú**ƒ¸lo/`»A=®>ˆ[WçŒì©ÞìÖ¦t"‚Õð€Q2€c½²í¾±DËxŠU\ÏR|XŒ¾©¶5²ið„MRu*tbçnI¹„¸ o«ýg‡*:Ðý‘\Çii£×‚x­³Ú* îUjß+M×Á«øÛõ•€Z³~6•0}AïÊ[‘•¶ÉOuÉè{ïØ0ƒ; [cŸ«¬FÉ:iwQÁP§»H@'8ï§ØHøD‡ù ^šxü£è„~FDtZK®Ûû5ð™– …bcXÿ@d.H/†œ)ê5•„õ;)]æÂùµ§n*A¥·ž“Œý´M ËçtT'¯¸…œ—™¡GŸÀíìgñ–a°Ž‡†rÙ~†w5G&ËüOú¿Ø\=úïÈôs¦Q|ó'Í2ÞŽûôü­9†ÆŽ›¢T oSU¦pƒãi…y}JäàEEµþ¶Ä´lŒÓ¨ÈåÚá%pÄ$ø”lm²jÌâ¹á~\|ÉY­ù u?Ãå{ÃhÉÚÓŠ8”sÆFÜÖé83œû—”Ò±Gbú©î¿ ]ë§Ÿ»†Q[cæ#gí.ú éADÉ úÓg{ßè!ÐJ?s· aW8n™×ð›[nW·Ið÷ ·nl¼ÉPº8¥÷1$Úýk¿(«gÉÁYBŸ‰ò,*©›B•©lÐêu¶N[R Ö at!Niµ}±ÏNziúu¼ö÷ãz†¿æÈa}ee pkGùˆºû´Nf@ö#žÅùÿü®>òwÿ;W ”¨§"Ïf33ú‰ÁØÝ[þc䯊N§ÍžÚ ‘‹™p¼í£há‘CÓ=ÄHMöÊ’VÒÙ¿<ÅÍ+ä/2¸õ-LÂJ~àXÅ.1t¥$½³$N©âºuübñP©„ ìÄ¥¨¾*ÊBú#q ›¹‘æÄœn±mcsFüuîç• [k+KæÍÑ )ýOHòö&!ü0Âæ@›¬:K„”‡\Ù¿ÑqZ‰ @u-HúH‡JÐÜ'9-k¹ç2 y5õw¼QÄYÍSɺôeöÄuH)ëQsëÉØ{ ¾¬î?àDn¼â-&°ÎÃ'.¥Œ¶ÀX‡’?[Ëq˜TkÛ›±ãwkVq)X’ º:&x}à:l¥ÐψÖã„Ðâì~[¡ýy³ÕÕS´fi A†Ë ‹:ùׯI}ýGŸ£ôX"*NGã¸#'C ï1àî$ïçžÑ1ë†ð=šÃdÀ¬=uëÙ¼ýAùÓžZjÐi`6¿bðˆQ,Ó¤îŸw–à’­íDn,e™(¸%òO…ÔH>¿ lÿhpåȶ…›…ª"’í 1Ä©¹ßÏL)"Óì?W5ª5=°äj}'ÌhGD~¿%ã–½ µÃ„¯ìŠþr‡>%& …WY.I¼îGœøÞÒ(lG#'†TfG7ŒhTù¨…ƒJ•éÀ`]š¨G3Gg‰´õíÉ´I'âËÜO/"$ÔI—A7ù€/—uÆÚ—ÑžçàÈòÿú Úk¢V¢'/*ßÅê:Ýò3‡ìøô®9®‹;®Jc®¨ZPÒ–ºUe ñ µnBüŠmíøEI«ÅõQ‚ѯ¶Yß4-ªôíìÔü¢;­.'bæV*®C–>޲®,á˜iªúûC¦ûFSFïZ»»Éá8¬ëðŠžLQ›Âf›ŠâždŠ@Â= @×7–µŽÊßE^D±ûñ;E(Ósžž–ö A|–¥L¯‰ãõÝ“?Ä¢hê™Ð‘ κœñ­mLg&hžî@ú¸ÝaáCÌI[± ¬<ïš²ríη|„|tžåø¸îKn¹Âûõtˆ(ÎQ7À⎙ ÿªÇS±Vb °Ïº:dYüVZ¡á3 ˜ÕWZSÜíŒXU0ç€'Ø(ÓNí%Æ*†Ï–Æ]ifsßBj ~Ê…ïÇšóøR1cnMeØ$]Ü =¹‚]nd1ì/ ¬ !±„- L BâL¨l“ „Ê)Eàô)N";Ì)ù#‡6o„lˆ°ž§(~Ýõ’ŠtÖpFµDïÒ¯@ToØëgé쟥sl ÓD2Å#Ês¶¯‡:ÛOG»P"®]R¢DqIO¤?á'fà©oyßáúÔvuŒåï¾Òy}T^ýaùoüD£.ð=Ú¶[ÀÏöy ¥dŽþzÄôÓ¨4è’þeÉÚ_̦¥⵿Id/ÈiΙãÝ:?«ÐN|éHŒI“o²ïxûémÒV>É3 аqÑ?G™ šÆÁÈÓ`¾“Ë ‡éqé[IJÍis{%ÇÙˆ>çx›àòê^•4Ñ —d“óç.íX 2¿n–Ù/skEá¨~$x›ÛöC†Âãá / (ÀÑŒÚ3T5Ô]œcb"ùg«‚¨AvÿÆfgf’¶óI®oÀ€ø²™.ýYs±0{*‹òyÎÕýòóÊ’«5õ0)‹&<.à3&†FùtŒî׿–°ùC×”ÿ@úòͶf’^/€_¨6ª¡¿åô^¢Æø³'Í¡^bJP¥Í/8¸ļÂ3žnR, Áó_nZœàŒ]òΙǎb)Pa2#å ’‡Ê g1Mt; É@ÑÂê@÷?ƒvÖôŠñºi-¦u^´Õ†¹†=[s/ö—6·ÈsöèmVböUd¬7+!0æ—é¥xÑo+l=[×Ýk.>çKÜÝ\Ÿ4°£ùÉLuÍèLå H—?búB~¢>ªÓ]Û;ó´ò=­E¬ÉŠD YInöR×)ü¾3–_0©—\Žüÿóz™¨½™÷"]ܨjãRnkZ>8g¹a%~O_Èúmç~þwH7ôˉéÒÔsga´c•àB(bbº‹Xys¶À©'I0y]ò!>Ý k›zjò¤ÕlÐø‹½»= °œƒùéúÔÊX `ô1 Y}}ë~ÓiIàÇ…•ëR‹ÒI…„ÿ3¡Ç#‰oÖ(%éÇÛPŒIXö ™Y{ñRe´„Ù¿'¤+›Ê̦ÎûÏÄó tJ ’?¶8ô'£–§ nWþ/÷}þ%3ØÃwûÔ ȼu“j8éy¸›ÅA—(T Ã,cwáúÌqE—"â`åÀZšÿ$€J“„ŠƒM^ŠÓ˲:Ž:¶×lÁmÐ]Ôú’×ð(¡kªi³ßY5îÎúT˜^ûÞö(-Þ‹žýê¬Mw=^sG|èÉö·—ï|¡¢[‘ÒÚ{ÿ’¬²Þÿ,ÚÞÉØc¹ÞT;ðEc¤¾yüL™Í84Põ[<ºWp…‚Ž;~ƒ·—ûaÐLL‑7Â.¶¸…bß8‚Œõ¶ÿuu4Èã=YQl`Y ˆÀ É‚„l®êK—O+ÒAìŠA†äL„ñîÛé Óg`¼þöBnªnòçs=§iÈ.ˆG”±T‡|Ÿù½FûGtYYL+œ%–ía®£4Ò®õΣêí¦/:F•"—Øvô)g†êWÊý!×í£ß¼ý¢³› =ðpxJÕÅÁ©1ÈDȧzlþz/ö™Ò’èÝš*Ô&ºQžgµº—Ja §/5e%…~f ó,L(7¬ØßϪŒÅ¤“ Š`÷ˆ®¬³dÄŠË¡£”Õ•bÏ´Æö¦¿i¡L®Ú@C>Ä£Ôt´—jв-Ó¦¸¦8'ãÌâ0¯sm·Óà¶<¡"oƒ£<œÊ ?Ť>g¼sÝ%'w³hÿ=°Za+Öý`ZDY‚=çcÔ:·Ég uƒ ½v:Ød‚óÄóÊÀy†‚¥Z‡…à`Å+òRIˆtvñôEíN ¬Êg£õ僞v-L<8É’À¡–y‚»ð@%1œ:è³[Ý^«\Ç>1w@m  ý^«6Q%”¼› ™H~ó–Vs>®‘Eô÷Ш`j.(n¬Àl³ŠÔ¢îÐv‹µGÝ4®Ñ¦3§Â<áffǦæEg`Ÿ¨th¦É©qºZ*Üvô›æ]ÅÍ_Ç"‘N:Ç|‡ÑþŽb¼:XA¶§„Ft9²õW©MÉÎõp­åýwwõ=YQ§TN¯¯„4Û@T¯HÀ@ïѺÁ,`5 ^¤¤$Yg[@jÑ5¬LÚ=-¨Ðc¢Qg)å‚ÛÛ¿Òv1õKÔ´7hDˆ|ø=Óqo`ê[_¡a˜±6õæUìmè9)fUMÖÎNÛWQ›´Ãöhá7MÞý·¦Ò©FÚ;m·cÐGd‡Â i¸ÀoÚåÇ.öµùÉKNܲákÛ2$Ö¶Ûc“¼ñÞbpÑÆg‘3¬é”È#·‡uÞ„÷«mHÈt/zy`éµÜôMã"fNgˆŠŒ ‚¤avuaþAJ*¯ƒ÷8ЙLYå?SbVãz)ü˼>gœ²Ö ±ž œØêL•Ã= ~… m& ½n™±õ ÃøZêGóåø3«`¥£ û…jŽ)Zv~æ3·Šò'¸f熔;újï%½Ù#Q%Àœuv,*@{áK÷ TûìÎ|__ºÎt9‘¥Œ.bΖx®ŠM?g‚À¿ð”ã 3ÂWyÐ’0¯)0÷šL å“M+¡åoõ¬¨ïb#ѬÂÙ D$œ“h ÁÛ¨GßÄAá ìzKeÝxF4âYsg%öˆýö*Æ ŠéælŸ…æ§5j§îm ”` úàÒ$»UyZ³·~KÍ<ÆÜêð> ƒ%¥ ÈæÝÊ}?eGçy¿îC‚j©ºNç@C—]Ö%_8èH¬þH ó›ì}à•ñ//ƒ‹¶`ß·Y·qÖÿ1Ô$ê a‘¬v¹áYD¶Ÿ4’±‰Úh ^#@ŸD¢+C¿âø=x^žÕxû"Ïê¨pž9_²³³þÇǪ̂’Ô-´;¢P‘ÏL{'Cú]Ê'Ï !2‘Âi°2€ Øûãʉ*eÍpÀò«)êO‘UE¶µæ"žÂÊtR°>ç6Ù j¢À°¯·8Ŧ—3f—O亻L½Á»p„W‡ó†zëlvŸ±÷­}Ú¡ž¹7LT©²£ìp'‘wÏfŒÔ Ct„¬_†p°”îû/ÜúÒxŽb›5y¹¾í z6£Jj'ÌuÞ®åìÊ[Éš–7"Ì º¹¢~Áfq•d‹B=ÌÉaOFfûÍwV€+§—P6ó4e–HK’lØýû9ü‡ŽÿµÓ§ÈÒœ¾ÀÛ­]°õñ:ß­:qF"ÑVRSÁǦËS¤]±ƒÑúÿö ÿ” ŸXS8Ÿ³”ƒ=± éƒÊoz¬í!í7;ò Ä¥3©/™WHý‘C·ØÞh©= bñ—oˆÕÙäzB&ŽÞºx ¨œ‚SŸ;ŠêLÓšæj›¡ž³½Á¾géÛßòÄš¸BµΧÜÈê“d‚K$çr„\?ßÍÔ|Àë}C’±ÿt‘)‚+pRlˆ„`²bªsÄìYbK‡š•Wn[ˆ¡Ÿ0?eÁâe+ðg­ÏÕÑ`yÄÉØë€C½Ì˜[„ +¨ÅA‰ÿ»S”zÄ?Ÿ:*¢[Îÿ·'ò ˜ å|äÈⲃk\ÉÑäe=³ì_3`á=÷6Þ·îR/óƒÑÁ<«m~[µvYEÐx´Y­py€¶È¢–eÇæÄüb NP‹bƒkztã+{>[FÃoFº£*C¾2àx6ŸÚú6ŒÇF’S÷¢f¬5Wv¬ƒ!÷`‘ޜԻˆ0 á˜>—Wo†‰-µ6~§N% f³A/8ùéÀ‘æ-!©Ð!IÂÆ­àau—ü )èeÅä}Þš„;Rzš@,`|þ÷‰!œ6ó&pÈ›y×Íe¡'ÓÝ­1YšlGànà¥}“äiíe'$²kqÑ »Êš âD°îYS4óå'óš“+Á<î 4ûf1*±‰Gý©+¶WçäQÛcÞY†å’.jâ/ ~©õyh9BKSW'˜‘MäÂb])áaجØ(E~ˆÝÓG¼úaÈ- ”ߊÌ!çÀ7ï&–³Sv•UÓ®Áß›ÓêàG‡)²ÉY—ä©mÑê£l:c‡lwàzè_¬)gEÕ^û6ìQiÇ[a-+âš^ £Ün»›HÁkõ}l&,sK_“s¯TQSó( "2;µ£¨™ºmo>[A^Î>Èb˜=wží` 4>¿tî]tJðЗG"œ=ÛÍÄBäøÇtˆ: äÍò9«­8šüü  ôæ[(SXe » få¤F8¬` Œ“A}’SµšNübR5y;a—Yf’R¨üËž œóÈg°™ùâŽZº´®_{TE@q§N|§tôá—,«jGï¦Ûv§ì(ê‹Vù¸‡#ôȃ×BG,S3›‘K umÕø*Já]pëú2šaTÒz_é%VžU6RfðÑ\'RyÎñ°x‹w%™U % ­î\‡š¹^ [ a…,{Ç/<“÷, ½æõ×’Ê)îÚËDáÞ ÄêR_BNÎÓ3ø´ÉÎUóôVäiBöKj¡v›kI§U"§@ÌÊÿ½÷[h¸<ìê°‘F×¥±~{ݎι!r6U ¹øá)ä\ ؾÖY¾ïÚ I­ã«>á¶ÚÅ~ÉKSø¦7¯p•­ÌÅÐüºr¤\Ë:0¥hŠx‡P«XqŠTÆÔöÏÅÙø=Q<Ô¯”lâqänØôðaÐÖ2dun‹¸²ÎB @LõD NtâÀeœ³p—£Š"4wïJ‹è¡#OCŒ·¯%w@r .ÄpŽ¥>AcžÙ¸e,ÃWÄØêsÉ™|܈\§8¶ NÇìºÆÙ]K«‡=M¢“®V** {M'…ë’¸l^•S¢›'=Ò–»GwóíÒɪQé²-Û=lg¬¹Ã¤ ä!!3 JGˆª¸àõXÝ`>ÌLk‰íJ€£‘Ÿ{î‘Öl>fYHÇ¿”E Yö‹ä Ä>_/;{ªHÿ²3LÝmIðÆæÝ–{Ò1ý€ b¾ùU­sùÀ<†ª•Dö\i&™õJáškÕ5b*ΈA¥FœV2Ÿ’¿wɇÝé.·‘òJJÒÄw8P~*@Ýx²ÑHwðº&À×?Þ‘÷?ÏK•Â4~¯1çûñ ãOWºj—j %Üò/w8s UƒÊEOb´…ñWnÖ+¡Ê¬]#)ß## UoláëÄb”«³¶ƒ2kº¶¯þ,þΆμýªÇP°=Šÿ?ªÊ°°IÙBÃF~Äåi$ä9_œCõ…ѲŠ"|Ykj.qV©ëÀ”Æ>ì°y^$¨Ê5֤ʮ3s5lcDQF¹ã¸äƺKu~k[¹ºW)p}›xÞ? >HÕËq~·£lRI¨¤€¦ò^‚ÛtïWä(ZB|Úè{AébáÍ„˜&x¿ÄÊçÉЭ ¦˜ÿ“ŽløÇW¿ãI”ÏR©¬W™sãaׯ‹¡9¯£èÍÓpaÓì”Á+ pÐòÛìGõ1µå¿õ"3²Ü2²Ô¯šH§Œ¤ƒý¼fe½$61äKÆ~ N°b$K °À Xì’3ØÓtxéV@6f-`”Nc,„˜«µò‘z@7EÜû彾㞠®×bÛžÊWsM+h÷¿ŠcÆ2ví³gÄŽ- Bêö_ôêCm#•YZê˜koð­ÆŽÎ[{V.÷èó¬Ní`/±gyž¬Ø (¯&\)û’ù–ψŠ.¶¿“ùØ0:ì6_}'î¡^«i\V:äœn•aiåyß%‘›Z–vhÜqhÎ5Àíëó<^âÖ«[áãªøü}Þx/me“Ž©Øúó Bÿ¤e\üöÖOi=©3Âɵ#’Ò2¹ÄøåÓ,9P{·­y`‡U1,lÿ}Ü8ö[ÍÁ û¶XQ̬"o¸nÎŰ Û)ú};™¹È)Dí5(¤pßÇGô7å'´<-s*É4D¯!jéqÌV(Î#“wò3 ÔU!£4Ëü{¾jIÛØûЩ£ÿ •ÒGÀ­£©E¬1^ ¶öøšpÙbGïõëfî’eSN-ÓFL{ ̓Øt¾šfùCòâ )æëÕeò“s/°²È_)¹¦"UøQ€fZøA¯ôÎ@¦#æÆ›ýµz÷©9³ðGÖ÷š2âËíd[z¬±uù¡ÅÜGKYGh`ö¨ŸìܲÉÑTKÓo©ù1çp©iLX*Òà€e°z¼ØŠj›ÐöªšyüÀ[Ÿs\Á|6ÂÇÀ^‚qÇÇ>ö½Ï¥œCwelßV}Ë ×îÏÐYõ4 ô†îEõe;ÊN.ßÌÿ+bJëY~Ã8‘:­…5A€¦¶–ržÔ©Úi‚û]‡3ÈmmR®5=?Üã{¡jÒ=ZÄ%òÃ}h¿Ïl:np_1¢2íP(±{~øo}}ᕘ{ è:Ó—ÓÌBy·ÝëèëT‹úªØpÄJÁCM)r-ç-67´íó²z Ðâ RÅY´ñ¢Û¡ [c§tÈ÷›}g˜«u«›ô¥áM?ÀÁ=hÇÑ#¨ŠYŽUÊJ°E6k«Uƒ>M¼$˜DCÝ ×N:÷AÊ•“<HÉZßÄ*A¶²OA䃔úì*ÊE³«æË|NÙÚ¿”9çÐäs—æõ.ß|ÀˆŸÚícÞf5¥Æ\@kÍ“ÊêF%¨P9¸Zc6¢ÚœK¿ç@g„—`tÝß² ÂV®cuwáw9£±Ì8»?16«–ÿÁ}îR±˜Qri€Xa±Ë|=+sÎwŠ; à?×U²D#qŸoùˆôÿM½_Ü"eÚn/ˆhb947Ú tñps=þ³«{YÎÇåõ=iS]¹ïµG(é*?ÉV¬SŠ0Ò}§_(¨¨ðN€qåÊùw^7I81ºJ(…"”›pM™Ö.Ù¬–~¡í°OkÒ×ÇP˜ ÂÁÎ|¥>öµ½I%¨‹?ÂîÆŸDãFVutÅ'Æ-2‹ùáMªQ‡kŒåûÖ´rkãó€?=FïÅzÀ:îœÉ‰Võ¬¼ÈZ¨AÆ»EÀ—ß_óšÑ)×5À¬µeJŒì:  úNÑ¥·Z`r¤–7jZ!y(Ñr”î.ìºRµ=xŸÂ„þžB )´]’:¼-EQ¦Y ÊÐë ›Ðü²¾õ‰Qï¢àÁ„\ê¤éKàßt•pÿجÝ8¦BûÎ//.žRÎ.þu­+Š~²¹0³¤¼§Z£¨ÔL”Áäxªš®A½®zÓ£³ÖL³ë÷ TWjW—•íREéßrHãB7Gÿ±KWŸùÕÐËF<· #úÏôOÜIÉ4Þ¢±‰ÚRx¦6Ð0²‡Ï8ÄíSò}i[q”ÂÓr"”éhïÆ$$›\ ŠŠïÉx4eµÓÐÕ=àÊ(»â´ÿü¥ÚseÍiÓ½”@F•°Õ#rÚå´GÐw«aj×Ìñ¥»È"Ëš}™D6|dHžÝD"5'RâbÀܲ'ý¡¦¿Ì*jÔ35XTÈ:ˆÀöæk¾7Qz3œŒIàkD‹Øô[s-¥ÿjÍç¹ÛÊ«„g+bEbjTs>WÅÏHµãçxÎ¥´T‚[ÀR¶i¨œl¡¤Ó´-S„Jš¯ð¼&§^kùÑ(£–>óùœI%~ëD1ŠQ %‘Ü4^øÛénH†(("ᆙÚž&ùyõ‰E7 s+œZ{¬^*ŽI®ÿ~ÝZwå/ñ^Y=¿Õùii»ËÐMcÝJÎÉŸñœcÇìxÔ*Q©G:Z´õ½¿QSžëeM«KQƒ,å4¡kýG¹ÖúŠ Q4ƒiÂõ–Š!P¶­Vƒ\—Iä÷2®D‰SZ0Có“æJ$§œ˜2;Åû™ÈiaÈBò,qå˜Ê±å>̪[K½ã>«vï2#¹õB@|NjÇøU¹Rð¶Jç„¶[z5\±&¹¡9P? ¸«MÛùíŠB‚)*í}¦ R´&ŸŸä«ŸmÁØ:÷u÷´ÄT¡‡¢ÎˆFsÝ5!'ú‚˜æK«jæý16ÆÅ±UXpjaÄe ›ùcǪÈ@ò~X°Ç‰Í êã/ôFd=dÁ‡•¤~8 Æ3êÞNÅ©«{qCg6цSÂ*U!­i.TqƒTßlC„þ7VFp_øÔ"+Øà‚Õ-¾Æ FÞËÒyyšz>V÷¡ƒï±•G;WlT¶7Eå•0b+[HB–â“t/¸óq†=¿k„V׎kBãÍË3^üP¶üMRÏ–‹ ¬R¦*+aX±ïœï­—š9(\àVùÐ?§®Øö=q¤ú»ÎܳFQ}¨ö´2’ÀBÑ`¿‚Ý9ckfµÖAùN,gDñ¢¼Ã=’!¥»yÓCå>âæâÒ!¥•tÔÇ;/tHßÖ£_ÿ òtþKk9îܘö•y»—McG¤!›"*»ƒÊï—–+³ê…ÓÑ¿£©¬°±ÍHñ”o>©6€šAU»ÆºSík;1†Çj«Ð$§ÍZ?ªÿyp‡\·„Þ©•>\ª«Ö° Â5avDŠ*«þÂ*®X­{oð?*az÷† ‹M#g°ù í–\ O,ÅëtÔIγ ×jù Íý1Û-x1[Òóη!¬ÃÖd0Eé&9©d/KÀ Ô•ƒx,n Ûfg¥ÕÂÝŠOF% ³t¸Ï¿¹tnbí«µË‘ ÜwÈÚ;ŠÁÏ‚7|¯]¸·rÉþo6P¯œW2jÖÔL3ÿ•XÄÖ/U­šWnˆœ¤&ã9 “¼Bf,«Ô'üĨ˜TDGºçqÕ`_;AC\OÀþþþue=$­Cã`Ä7:`òаÙI¶ƒÚÌ-i -ôˆýÑà¹]2}W±À»ÊŽ™J;”ÿZñsÃê¶”ÈO°T¸ƒJñ´)¿xn¥…ðVÑÉbôí*¬×„e   ês-ósEQ(ÌgS®n [z…ñ(¸MÐîDOXþë ¥$måЮ0cŸzOl†…и:Û%]á¥Z@oâ& €ïª7‹‡wKöÏÛ—f¿bñA¬6ï‰Ï©#&Ž}ji•JDiK²ðÎÿS"àÒµlÂl0©=[m/oqÞeèÛ”LÛMÄIÿ¶ QL~`º`[¦^úÉf¼e‘a›t8šÉSGPW஀É84šÀ/Ë¥öa™T»ÞP^ì.è4R =çu8ó†½#1@÷Íàe쓘÷6Hrx¸fõžb L"]@ƒT0ÕTu[õx^[…¡ðf;10ÉÙ°èI*7ФÚêÁ¬ 7ãPºL¡„°àÞÌãAõÊÆeaí†K‰”-îäÿDâJw´ bedx{Æ`+j•„©â›ÏÓqj#Õèê&ËH·S~K÷.j¼PM±?Ãaß<† ³tŸ·I<ÚH§=CuÔ¦ÝË7ÐIÂ\àµokÎñÈͼ xÙ…Y‡Ìy•ÆÜyk»¾©~×jáÑ‘<“ð‹ÓƒíÿÈêŸ!w´ÌxR=IJD‘ ÒèArQÞ·ËyÍðÓŽ5€ѱ_L<£pÌû úáÒx9±ê,àñ"ᨨTX„}½¼Õw,F?G=GÙØ¶ADÉeàžµéœÚ]qúƒv C yÆ &ìÒ ÝvÈ"œ÷¾x»Äh¸’|q«ýáÊÇÞ ¶8¥·| ê€Å'œž.6»¸J³ç¸¢êõðn·Ÿ´¢n‘N}ÿH0ë(j˜ú›°.µúÈ2üt0wçSï)ËËÜÈíÍ-ÄÉûÝÎGðá=ÍÏnEKX*ïø@ÿq'aI>þå’Xå´•v¼²f˜pÕB O_YWö6§ãqóNkCëlÈ<=27®ë>¬à×F3É&LÒÊŸàÓgãïË+¬ÃÍ”~q³¬£²Ðg'ꓹiÓD—KNØï|-ŒióñÚi+(©é‚BU /‹ËJÀòYLû#í४ôhÞ6û³ˆ*IO×¹îä%þ^}bË0—CDQ݈‚ tl«!ÄÒø.)Ê‘~¯ÅðXTÆ!ÈBXªšmüí¥L¶Ií¿c õtÉ#Oé¦&ÈFßBO¤9ƒêGtŸâ`óÑ#¤E`†hE|#RÛ½ŒÏ>˜‡îîa`|žÇ ˜.ÿÔ‘Ö¾D÷ q`YaÒ¸ØÓZ+B-Aú¤Wñ¼I0½=v-gÜ?&½h-Û £Eã­“?´ÖóƒžÅöé6}ÍQWùdoºÂA¢0O†*X8à©æåTj»i¶¼ ‹Rw$`µuò]¿ÂtÝýG°-Þ­.À2&Ço¼FåöQØxèRÅŽ1ÈãŒ/mP‘ÈV] øÐó2 ÒÏ œ;·iÈ­6žø€Ð =2‰Å—ü»%â`÷€ˆEô|`~ØIÏä9ô•Xíw,wÞC½aRHÜl­"gyųž[‡¹Ü͆ƒçˆ1}Vv#üаcò@YÓF–û±åšXÂêÞ~=®ãž-Ëý” ®²‘OƒÛ¥GØ0ñfØC\#JëÄê^õ¹4Ñ? ×*CÙç•( ô&ó®Ì­‘ö½±hƺnHäÜo}4]Úõ ƒ±=|# èx‘ŸðašQ÷&mÅrœ„œ1‰2g» duIç6Àû^í‚tAJ@U›¢0;×NóÎ-:s¹LyS5yЧòDkÔßïZ%hÝ8ÞÍÞi…g ÈnS¾SVÉ•»ÄIHÒB­<åE#2üÌFNÁÔ)sÈËš{‘¸µPÒ‚‹±æÓ‡F†ôL²Ü¸ˆš¡Å¥% CÞ˜v ›†ú½ý§"Yvæü‘Z†÷øôA¬Ý¼´cTÅ”›ÿ¥”¼€öxAð×`²OÓÉž¾áÚQ8ï‚e oÂØyp!/Ênþ²—Š2(€¯’ÙÎöwæÊ¡””×NyÆôlok U ™Àˆ ÏMeøö\‘!XÞÙݵVøUˆ°¯¡‘30L¤N%3žˆõóÆ!ÇŠaà‹RŽîè½@ÛC$ñ©Ò‰c^öL+8‹Àb°VP÷É^gC¢}ÅÝìi,âçq›p ¥nàÁÇ›×)BmZuÓl­4¬Xžìúõ8Œ y Þ¹‘¼0äî|i±.;vr„!D"2zR07tA;p‘¬4P&XKþß¹ &Uó{E»peÏ]7©¥ö¹–¦gÁ"8ËŸQÛKí&PA¤ù­Ä^° Ö™·.MćØy#&,ˆ<ÈðRU&!HšªžØïí|.wá6Ê®áË’Nºßjy é¶‹šóÜFtß gB lصœmOvÄ„! Å}é`} * ÚÜS0RD¤mXy'•¥St»’àJqʃm¾V˾²~ÿÂ(\Žz¼rÒ¢|Y+ }ǸGÝ)2UwÜæÅWbÖÜqï>j}ú-¥ìJêˆxºVÿáM.]Õúˆ ÅhR¹÷*fÓÅõä¤-˯´ûãm+6Œyc,2)Æ\Æ·’ÆF ÐÀþ-'u­¯ÔœJÀ¿ËɆF±|Œº“„ß’º~¦¾Õè›Ç霠rÕ¬ÒY¸æåwa‰ T‡„ŵ¾ :éÈÔÈ”‰š·.^ f÷ÌßOàÒí´_U< ÖµµZmÅA5^i™ð¤ðÒ$"×󽌚¯;æ}y5À µ™ÑߣKÏU­*U%njt…Μ.ÊÕAÔmÀHüØA®É)»õr¼=«=,&«p€ÿööŠ›5¦¤½àaž®£:WMiƒq2Õ6Ly¦ê)p¡r$ÔŒŸ5Í<. 4û“wà6Nçh¤S Ž$w²@M‰ñ$C °×MdwïD)ÚºáÏù(Õ¡ój²è׬âl£WÁ+¹;íl PÙªñïcß#=Ø8p£P¤Î¶º»à“Ÿ˜ù-4"ÄFwBÃ^Æ1Ó&éoùSœƒ\qêgvËd tÀ×<è‘$êTOÛ:‹£M.Nõ”`q÷§ µªáò¯ýXœ…câ3FÇo¤r€ø÷¼8•áêÀôjcÍ©¿‘AKæçX>KºæMùOíXgfì¬ 1Tó=Atx¡ëžovŒ Þ„ŒÝzüƒü¡ ÿØ‚³Ç/¥J›7Š"H#hAZCÚ¿n³Ñ™pìL~WKáÿ)Ö±…0æuÅ ÓSɦ+»§mÆÒ¦P⩚“`Ô7!)˜$Ü8 ´@aÆ8NOO£~´Å+•Ÿz GC?×.šâGµðXì‘ò²j>Æß‡$rZ‰~ö-Ç"­õ¯á\êª;\Ù2W››! €_¨ïò"IÎß…¤#œCŽÁUò?"Õ»àåÀCèê¤B\Ùy‚.mŠf‚ ‘j•79¿qç7M¹™,ƒ:mNj"àh„ây‰4ËçÊ̬°°4¸Ñ>¯Ú¯u)Øn õéKbh€{’b—¯ÌdSôÏ“‡Bá—ŸkwÞ‚Q)j¨ÇM”Qæy … ¨W*62°f³« ËÑ¢{ès°‡$eeq*±”¸[mš)³uu¼—dRø'Tš8’¿>Òòd©\ì©nÛ6|4:dð Oæ æ,.šžVÒdUÏ'!h”…÷p• ÌQ†.Bl—'J D‰— Wù|îÖ "½†Ã•nÚf9q?,Is‘âô0É✰Þ6a"1»8×,°Q2²–Õ4ëJEf4’v æ…É¢ò¨$ŠGoxŠ×­·'Ìù‹Íë ÇŸÞ5æóäÀFÁCµÕÁbIY,,5·ç¾Åä{2JZà aÐêßð?Ä< Ç=!Ì =kd{Ë e§ i$"Õ²¹eñ"¹æ›2ž\n ­Þ…]οÅ5‚Æ¢SNá½>ýü:¬ßn“ËñKvÌ@ÆJ_¢°1…†`1mçic½AÞËgUO’@À¾F, ¦=Šºù…]ÚDÄÙ{7¶—ozœL[ùW¨ëXÞ£ïÐÊ3$Ü4­nN˜8X„UúØà¶6šL¦Íavu7åÙ^¡øÄ[ÿ5—‰ÿÀxBQ!ìêb Lø¤·§<‹kúLl0wÉKìs?ÿ& ô©i£eu0¯ÅÑO/%ìãÍs?µ±Á©}ÀËü™9z[=ñïøù§>€4鬜 ŒáS5UíY••&[%²ÿz³ÂÁ Ëî8NÄÎ1C;"ÇÉ?f„u¨à@ãšOš§t÷%´clʈûG¦Ž*®hÓÙžÿ".—M8YSJ@÷^5ÇúÚrööšýÖV茴Ô?•’a®b\REgÏ•œ¨-!–O@y;«—ÒÙÈ›&ˆÇ4(’^f8ÃBß§ .s+š Ð-d& H8Þˆk×rç‚©™dþa·…× ¡ÐÀäh`w€! å´fzÖ ì´µñÎØ¼›.GwP÷¬1ùïÝËÈ»{ÅÉR­8,d⋜Ýœ0¬¿*_’ Ð¯ŒµC?‰:'=Oá•Cލ„c{æô,6® 9á(Û,õ^‘g^×êþ–ŸÞ{¿× x!k³‚bއ>­ñN`wÍy¥Ñ|4ä‚Ò„µœæ?¤]æXÆ!—V1ƒp–^/•³¥77›÷rO.aÜkyæ(~ˆ¢ïf?I[;ÑrÒâÿ™Æ«¨_ɲ¹à){a`‰SDŸEôÓX¬¬Y¿wyEqkú:9TÓê|$nÁØ> !ùž¦ÀVÄ.Q?ô„º»›a’hgDQé§õÄšÐÁÄÌå!”†iâ×Ujª˜ú5ã¶Ëu"È ÊHs(»!(—·Ôó/äAúä?át4öªR"³8†G(O3¹ã©MRwŸWèÙÒµ¸ZD“‚å¤kÏpÀ&Ër0l¹+I’0cmä/â~D½ŸvSÜù?‚s* sNô2ŒY©m>t—tÄ×NˆIB.´÷âªËEígMjNw«OÖÒÉ´6³íEŠg5Úµ_èø¸ù˜K B[MaYØunò)^çßÉÕ90‡é&j^‚GÁt–rIŽ(·Ð‘{|êôú“"µeBÄC;†þ†¢ éo¢Øw]°÷+­gÃU/ú(ÃÁ{Þ7 éá„·ÇDÙÙªÐÂ`þÁOT¸HÎŽåòä;¢½æÄIñý&qæn–ß~3à©V/2M*ü¤Ó¼éD…©+¿[¦fAu´EkLÅŠIöKÒ%©¹1º³´œ’õâg<¾’„ïÕ¢eúsÁ%‡ì|ƒ>‹CxPæ¬ÎÝnð“Í»«£>õRÀGÍ*‡Nóžíb9oÕHíÔöÃÀÄmÚÏ•R{!Ê—ô(çà£^™™ðÿû¸ö­Ç;cÔ† ufz ˆ½b— Ï…ä SXAvîß_±‚fòÚ$z¿jÂXO©±’Ò¹ bÁ™2|úˆtÎUáœ%ûM{øŠÅÆÁ$4 ¡/Ž«5IsP4ÃheýCzZZ"HHX.|jYD(j”Mß8wßwÓáÕáè7\(Û8dˆàƒm“B+ëÄ&¾á¤ÁƒÜRÆu³¹OyØy™Š‘š]¼;¦æF  õ¥M „€o:¸\Fƒy†²pl²ÊÉÍŠ‚h¿êbDþÛ$SYHg¢«<'údbÙîÿËÉôNºXnÇV_ÝBT7Ý|‚= ý ]æóF²A›.mu4¶b1¿%­Fl³£ï@ ¥NÍ«HvPh˪i²&6ÍS׿¸x›çW˜ö –ŽX»ÀÒ*¨±Û]ŠÛF*$:å­˜ ²»¼‚¯3Î"Î૦Ï4§ì€€‘-y4be=Rvj²„õVšæ‡FF섉ßf4«®ïË„ãnj’´cÒjçÊ9~dfÖ@ãü©ÕÂòéïnW&šn] kèãžþÄk¦ûIE¸:¹›¿¢ S3­…ÊÄGXæyAJ§T/ ΠÕEu_Y¨öÙPÍŸRC Ïä‰R:GuW5ÑŠÙ 6~CÀŒs[2‡†ËŸPúº¸}¾óå†ËmߣS‚€+5Â〻« ñ%SàJþ«cçØy!TkÏ3/Öl®|q£x(HJ²‰É·äŽ€ùÏ/Œ(GÀ› „Öü2|ÖY×ürZÙÎê[îºQ0ÍdºÊ¬Yx¼TÊü\ŸöìÚ-§¼¸HëI¯‚È5ך§±e7½bÜG°Ö#ö ŸØwáûî{ð¢ ?LÌœ&C{qÿjtJÙzw¶:~ËÑôAcòÖLBgÏ{סb³¿?C"«VºÖj2Ã-cj}yõnßì> Ä÷>àp^=ÚÙø÷Š5!à¢o"†ÛAáø±ŸƒsÆu/Õëü){L¶TyˆðÄÀªôSfË'ÌbÄ–Ú M&:¯7^•:‹EX9óÏ1ôc̰%’¢fÏËPn¡Ÿ!´b:¦-j0òpKwï3‚ˆø©Õ‚¼](–›ø}ŸKGëçy›¹hgaáu½‘* Ítã±Ý E䈑åe•wwP“6]÷ !‘ìfNVp× aë™: çÿ:zØa õ½ê~ë‡g~lÇ ò¤ÔH¿ÜZ9«ÕbD—K€‚õ›œ°."ÙŸ¼À1K«™>ÙˆuRµÙ^C”*OÔfBMø“ùé1á$‚Ç—ìºìšDìyÆ+Yš¸Õ‹¸VñÆ«ÃBÖF¡ôA ½<€(H®IW»±ã‘•lÿ}×µ¨Ø%:X&X2è²Þ˜‚êy…é.䛹A·ÿÞà÷~öÔP:ªi0^a­²'ø7mpCŒ}!,„BêyúF£xHš¸"ÅUPAq-¨Ï/£›ž þ7,æ:ؼ’É­‰˜<6YFC'UÁ !@nÿPÍ@VÚÔ ü¿Æ„LE’,R8iÄ–3,¿Jáý†³›Þ¹50YÁX/nÙØÖñÖÚ!“2b]4ØÙ[ƒô³i@”Š`0æ"%†c¤5R¥ìk_9žep¶´µ[‰Éì$þ׽̽Ά©þð¾hð¢Î¨€«ë´îúµ—‰®Sú®}ªVhÖDA• õÌ›¿¨ì"$=ζc·ø)ÜŠ£„ï q¶Ö]yÖ Êv™Æ¶´(wIPvÂO@4€¹¡ðÊØf@Üu”Âÿäò„ŸäA‹æhä½/éeãsõßYâ’P¥¸fiàIm̎ݿŕÔïñ4_)Å⟔"OA‡på;÷‘Ù‹s6;°÷ · ›"³½{Å5Y GôrÚ3ªã¸âBfhJ",߆Ëß%Ä,{ÅÙ[ðš!·Ë„Hyã/…ê¥6Ó}©mFLP¥ã¦\ö¾>ß ±Ñ@p½àR>€sw¶£ÓnóAäk-}Š¢ÉýR‹I'ðóÏ¿ Í/%î%DäÝ7-9¤aúõWa°=¦YÕ!î6àqÐ{ã»ùS•Uu©-å`S¾gR#„\í¸{„5#<’4ìÛÄ9Xf²F -»ìâ V1|ó“e‰ü8È5x¡¤$ù©}â…évç‰õ(ðdJ+g-øb[ˆT2)vçlŽƒy檣¥ÔC&I—Êóëö›?Õ ›Êaë¾ýõz ‚Þ“&²ÖFÄü_R;®# ¥Ñü{kC1 å—¢~è+uÀ P› a§ÏYÁ#ÿ}(UÅØ˜R2‘ŧü),Ô†uÌEoްšÈ½Äèä¾J1êÍ‘wš’õÅ áðgèN*DŒc<{*.jO!üÝÝȶÙŸzvK´Y<^¦ Ü‘ª¡>fÓq)`ïÆ«‡S‹_f'9{®¦P²ôi;w­±ìaÃÑlŽ,¹0˜3ÍÉ.fšÊ¦L£Ö¿PäIº[=ý’rh/üGjÍuEWf= èöÆ-ÚÅ¢—ЏùŽvŽ×E ÿèàVòNžåüµíž#N„•CàRZm ¯÷Ù…”! *ÑV¼å"{~¾ÈÍÖ;Ý/núx.9'Ê Ð:ôhWúe­££8¤ÚB"0wãÙ,cÞç-åùÅò|ú'ÆùÇx…eÚÜ¢ÔRÅZ+Ö'NØ-xàª\¾.¦$Ùa8 šÕ¸â¦Œ/ÒïöÄ#-ðß=%åÄä%/ÜàZàeX±tñðyz¥+Tr+6dva) ™c¤ JÜŠC;ãr☠Sr*²"…¡+|3îã¸ÏÖ;hÖ6bTÍ~äÌ´&Ñ÷ãH7q®'/÷Ïô‡ Ž0r7ÚGK¨¸©†W 3<£å¸í‡æFí©°‡Ï%  ‘jµŒÇ1BûËqìŸúÞŠØ*¡g„ø°ÛYÔ˜âl¹Ä™st©Û»£`6zn½$mÐ%Süõ|Z Tõo¦Ê¾©„ ¡9ŽûÈ0‡ õ?…–¼+Z"&$ æFä.ÇW”ÿ"ð§Èæ‚ø{ µ\WúD*û§ òØJäh?XMŠÖ`e¬ý¸ G|H¸ÿÄÆnå›j±¦ß…ÕÒáÔýÎ4|Ië3-K­¸×€ªæ¥çúGR^LËŠâO3µš-8‚b”ç}P¼wƒaœCÇ Þ­Ià·Ú‚ P,´9"§“a™h Öy¹és{GÏøÇÛÒa¼46³¤Q‹énëåÁ¿@]Óâ³2¹—¢Þ^#rÙë=£uõiçaµ¸öŠÂ# ¾®«ùPûŽKlQîßNë“t/¾;4Qnòr¿O§WdOa)… Ö'±%DJÊ‚ŸyþÄÌ`þRýzÍš«6&2|.96­¨%/wt«¬ª¨ŽTÀ}í_\ˆ³D6+ß=%»,ݯ[t—´Iê´»v¶‡üä ö²Âålà ‹¬$ójÜ•Á]ý{½ C‰#›L˜Å­DgT@ïŸp•¶>˜|ž¼¬YMC§7ü·êRï¬5¤>ý³!H˜\)ë·¹Ÿ÷OA“²‡OéFûYŒ¯tÑ/^ËûC6®(œtlçŸì´­¢ÑÌ÷J VqP¨ÕTÀÂìy˜Q•v£zqÖCNÒSͯ)¬˜~vWÇ—äOW¯¦ë ÿm¹I€âôzÖ¿¦ð{ë-œ¨—u”•¿\lF’žÈ |à WÂÆ–tuÿ –ÎPˆÞ!â~`¦EØñmòj‰‹l@¢*8®ÏuóR¼N–6~ØSzuãw¤ª|Y®ÕmP\DWÀ­³?‡@ë¶”Áí‹nvßD¯¹c$–¤Z«–bŸ Ú¥1Ð *˜T 8zíeè³,Ä¢[š¤Ûmjhk™òð ®™åÆÕá±M»¶éT9"d[>n}YÅ‚WÓŸs¿'ÜÍéñEyü$/Ä!ÖΣBBÄrÿg‹œ¤VÄOq=À¢‹£šF•B<ž?›Ìþ7ùðèâÑ3»A âT™+:Ðya#E>`i.Õc쫸‹×ѧW— éªÌ˜ö¾òd³jö¡f<ÃDö¿{“ eô%¡òñè•d­,†D hùN¿éž±ÄsŸzø}Ëýˆ%ªÀ…í<à1 o'ô˜ºYÕ@sWqžéûP¬|Ïÿš#ïá|‘Ê2‘ÁÞŠ Ù™bæÇéAõt Væ{ã;&ÎÀE–Fâä¦z;ûFÀ‰ý£®“¯öçHï”eŽ&2”?‰2¿Ër¾ˆÔ`B‘û¥¹‰Ò×Eæ}»Ù9^¢gCæli+g3sU«Àý–RN"\²èº:{žý@"xš /wŽÆˆÈ+r„=’Ád>5ØU êø¿¨Ë©ûýõêœA,B,näÐû¤Õ\ï‚5IMè‘-rhƒ¹,A7ÏË3×»*ê²€ƒØá³çKÿATsWÜ+ Q©‚—ÅÝo³Èô4ñS œmµ³—sÜñ§· üƒÔ^÷®ªr±“<Ñš·§½ÑYžM|±íàZùÏ+ëÝŠ¹ØN=ÑuB[Xó§ž³´¶7+¿9–Ò²5•jt™¢-sQe§zÀ«dÝôÕÕØ?±¦<¡—è{ï]*¯å°,ÍÅî1³øù–x8õÒr(k ó›‘…Ô ŒB”Å\Z§å>^îðã©”ô`b& êüþ˜›pO6A„ã|)hñ/N(Y¢²t (Ë’×bcVOןnMŽbe‰ýuÃ%h›»ÝF2(ýUC:MÌ&{\ÜÚôÚ$鈛©VÂs…e]ð¡ÐðjMâ8oá[ŒQÌ®Bð*F[S`Zƒ¦­4ŸÓÞáOwÕ8a;,~H 2¿#ù¾‰Pã¿ÿk~˜ØìÇU¦è’Im5!ã*nRoÌk›_E[¬Z¨¬7ÔC1ó5Ý÷wÈ}³xûõ^ˆKî®›ö†D¸d/¨nÏV+h:–ŒXªL:s&!#Ûö¹‰ßQ j0½nBÄÃï~8;0ÞõšK’‡Ÿö,î‰ù5àô(}¦É)%OèHwKjqmšì£æ ç¯7ëN¨~m€ýÜnðS5]} ¤Ð†~UˆE¦‹¡ ^±^0Bvÿ[¨5”¢8æJ°÷1äÌUwÔY™úk›Eû‘O!³/d‘yèX4¥_,ºŠÒä¬Db½ÿ>yÌ{ÿç2².Ø!\i…c{ìß³É:¶"ˆðÊëu€}î·WàZø~ù!w6ù­„Ùã®nÅÍÇ0UÄ÷áçç»% |§ál:úôQî¼ìî#ëÇŒŸÚš¾ÛØZ|OóLäbƒ‚ 0Ô%Ò{ˆ(¥`Ó3º`©oê•ùaa´ /An)#°€D*ñTç¼`¶\Âõ×Íöi<žËÇ%îÑIýÕ…{Y§,£’JÅÙ,±¾œ SÃùÇ^³¤ÂºÑiµÕÒÜRPx`žV ÌÝÑŠf2Ñ ü‘"¬ ’S ¨ôÈ÷Â9.%Qv»¥vDOœ@¸ÝhŒéøÓ<©æûTq>e¯“yæ´ÚT¢åÔç…oÑv3Ù•»¯!쉉ê±Hk(ëŒï8µˆj QzæJLç”ö³¿£>ÔUh’Ù›0˜ ©sækúòA«üA“<"ŒTvÙLˆþá4JV±Ü õÁ^Ã9\³€ùÍ¿£¾ª£×kßétW§þT3nZš ˆbL× sÜŽ£/éàÎ œ1&¼ùiÆl—# xEºåÊ—éJÿI€(äK´gÿƒqبû+ççÔê@AøžKn2¨™³¸uƒÏ!¹õŽ—N¼&põú’NB•¶Ãy¨¿d°(¢ìðn[ë‡ðÊæu²RY}¦šDËèÝè2p=<ƒC Éléä;"Ëåú“Ú„þÄìkÔ% hM7,h<õ,øbѡŤ[lA¬Dõ ÊBº`žƒ>©Ó* å­m1 j…†3 Õ&G¾i·|ýZ”ÜýYÉ;692ÃÀök ,¨ç]ˆVQ£€xs—€œ…‰ Ó% M“d«¤½q„¾<™=S?ªà²!Ø¿iú Yº0wÿ~*ëÛ+=hq.¡åÐ5â‚,Gí?ÿZbÑåX·¢¢wGÕ ™ÃÕªnf õö¸¥ÖÒJ‰°Œ:Ña*‡¹1: 0eÜÃî‡Ï?É?O0Ô¡5)ׇ{KH|”!×§=Ѿ'Ó ~‹ï| E*yq‹¶Ö³[¡´3tuUiRæð2ž=×rÁ­ ò)¹KO6¦[ZÔ3XÇ(ÈÒLï¸íÚí£ÁÄW@ij¼.j‘V^Þ͵ ~<ž8dö¡ù v}¥VÖ›Ap#@5 ˜¿œ7ª ,øVº["¶’Až wBF¦r¨(—š^Â7]fÑ€ÐR¼5lŠªá e?xªkÞ*hû6Úµ¢†L©HepÓTÔY¿“„—vø…¯/ª·_f¢]˜šÝ%9–£W0‹ñ¤«ò#@ÅLHÆä ã‘n~{Ͻçóò“yS|ñq—V–¤®ºk•Šå2`—âíàï“é™PA}Ýn}»£¹X»ŽC–èázýã«qÑÃd×,{;I+6&׳Aڷ̯i pã*‰!®!Xƒ†„G“vß²þ)s`ypYB#häM–Œ•#©˜[Sz®pÖv®]®æ–B̲AËÅMׯã«Ñ§¡ö8™ªúý7Ó€WUHó»mÚâL©%Lv{ØL;aíÚ²™Îš`‡sÙH#vSu,rGËÇ>¼·:á²¹\pìÔ—ùsÍl-÷¤<Žî6Vxû ÀÕ2·ƒs4Œð—÷Ëô€zàÎ*èœ{6¹{I63¡;°WÚ¹6i¼+½Ñ ð«%¥xDG}XÝ­, Q³™OëÃT>\3Bß%b8«5·A`ž\YªdH ›„ÒèäÛq s]M yg½VŸàë;TPc‘fßœ¢‘‘›á®ÿB­ÿK%' Ô|š[h`«M@´Ú@v†råÓ°óö£uñllû‰nþ»ü3q_-ëøCùMœZÍÃÝN›A¡¥‘Å”|èê÷‰þ(ñd˜­Ò¥¢ÞT™Ùz4¾}{DBY Rùz„ùÑû}¸úF}‡é]u’2“@N l“Bå®xF4†ºk`FÚè–ÊaK°}oÉ.óKûhßg–æüW€ ]Í€¬³X)ßûîÁ½õÿZYDÐVàß°¬(ÐWÕ.™÷FIगˆ¯uy»åzà×D^´n²?„*ušN fp¬=ݖ톖 ’z¤þšŒngÛ¿±Ìa­ãáÆV%ÍQ¸éGƒ¢GT9̦w« ¨ÔéÚ8 ¤z˜GåÉ `8û=kÍžA˜Þ÷䈹—¦¥ŸÓÆÑêunê9]Vdô.–y>Öýš¶¤P±o @Y·K4¬[Ýe¤ÒI¢×0ìæºü¨¶Bûs ¾ºuÿÐàqþXd*Æ(Ž vC©°µÎ™ouñÅ-ü''‹þah¶Ø/°G[:‰^Æèé~·JõžÊõÝ­ÝœGÎG¿EÂÒCµRèªóóë ²íQ¼õEžá”Fñ;rÉUõTœIgñ¥¼âè8&wš”Ä…¬Š^vÓfvª˜4fæòÉú«‰î‘™)fÉã-ýÀB‰÷æÊ%¯rˆbã5¾Í=D¾¢œêv+éÈqôC µK̉h9}»fŽš¯(ûá¸ÞÖ««»±çfx듃‚]âC€ÝñÁ{w#»„QÅc ©¨ÎÖÙ%Ì^W4ý»LèÅyŸLrB¯=÷»”,þI>q¯¥U<š öa‘5È,ûG˜­RZÎ’2¢Ôt÷¯°Þ"\bÅìl4‰vFVfÌYPB‘iæ¶ô+NœuFq< ¸„ùÜâ—Úü§ÄúOçío¦;Øë(ñžGrJ‡"Ðÿ¢)l¿éc4†¡•É™ŠêÒ^QÈlzÙì$\ÐkQ0éøÏБ력…ÈàW­qÛàɲTIé:Û©É/Uö·‰5Å1pÍ¥¯júÆ£›[€¹è€ë—øróâÿß¾”¼žî{*aDÅZ»Rk,S9TÃRÏ‹˜ +œoÙ9ŧ¶žx øó!Q2n -…®¼é´tB„0O÷Þ‰H…yßLä¬[C¤ŽËöÿ°•ñ8þ»G¤Šç|SD¦Na-އQô¯«q’´ø )89µ3âý¸¢ƒôégwU™òcCìÐÖR`C¦-àóæÿlÆ«¡¿œÏög¯½[:e„WIŽßÊêžNÓUÄþ[Ê&Užt…JhLJ+]àc¬€¡í ×0afÿÜ[NĤ±zµÙ¹samkÍoæir“õ‹E½ÃŒGpM‚.õ¡g ¯Fk—æJæjK À#w}9$ª„0mzj)ݦ5&LUò~ï;ßs¬U{÷W!߃¼¨d8àáÆ¦´öÉi¹¶ðü”§;'`ìûN¯Tu¦GÛÒ3YÞÞ3xÄmú¼;ß8èsMC#*€áS¥rÜUª9wt–Z·ÞÐÈÞ‰ÖÐÎŒ£°ò÷,¤46¹G#îþîßó?›:wfÈf› pÂ@@q1eV ƒN›].Š»ÇûÌüìA?óIu`˜)«çÿÊZŒòÓ²’|¬Ù¡Ä¿ß®ßˆÙ! ÿ$wªÖmæq‘½=‘?2ÌÖ7©ñ²78ϱª±Bs{Îpkœ4sÐo‘fôêÇf€ƒœ“ÖV9ÆUfÖ’/{,A!Š*¾.¶L¿´¤Îók§¦/¼X[7U5eú“¡XÒ .wHÄè˜ìø4.e’Íx*yï ¹jr c ‘f™¢9Â=“P¿똭áìá¿Ý‚Ü‘ÏöI@Ät ¹! ºØè @ñ þ £\öüDSEuhÁXøÇu8ü ‹Ñé4lˆüܥɶæß‘à dÉVËÔƒ©ÀµÔX@échKûí]'hˆ×Øm¥$B^+£§çͼ¡Ž&m9ôøpQ€Î†,¹ܺëAפ­â¬ö¨]»­ã²[ßOÓ®´YbEÏ%PàPŠ«¨G<‰|8u¸W¶VÜX{½QþËç<޵™J+V.‡ñ×h[—rŠì¯þü Z*ö·^ª©GÉDE0,xlÞÙG1D¥:$~ýaȈYö`€̈†‡™Ç¬o­¾­~*à :wì›–„wd­+VXD½zëžG¡#ŸÊÞü[5«¥(oAÛ!Ð. è9«Wi­v;±Gü§¥Â}`h6ÿ›¹κ&~I`ìÝAqF÷›. M8œ ÓˆÏÓ:túãË›}º"7i9·êÿ¿-Ïo(WáÄ®&^­qUN†%˜* BuÁK”“w;œ}?Ss€Åø›W¹AÅž8¤) üõñJÔEoŠ _ÓUk/x7ždFZtÈV y—E‡JøŒé–‰= ¿;™µå l7{–—fꓳ!Ï]Dg¿Ä8ù³ªÝkÞöXdE¯m(T#©G‰¯™:`-Lf!¬Ôj+øF£Huzi¦c`Å÷Fo6HLW-+QÌÃQLjñ•ð·6/è-«(,A1†]ý™% ¾74»P3·ÐGàßfár TøUÐ`]åÚ$)›XîmèɤWã·w¨Üô-óÂfèàòqLý@vjÅ÷åÐ3DúÛ{‹]c {ºì–2/Mp³dD‘ ‚M­Ûêõtóé»P^‰ý,5w6nD¤'æÐwTvÑž—/– 4,h¡w„Ÿ›—º pí6Rؤ|íìËx÷¯™ÅÍûׂÒ:„j°*êÎògÊïéì¿]·®œÖç¦`ýÙ‚ØœÞAQ>ÆZ6nñÆßÓêÒÿ¬È$¯Ê<˜÷­üf|"gŒcrÌ üW9ÆM0¼bXEnê.ÈZB—.OKKÃ^ˬ…z]z¡½d* TãƒT%$Ö}r™çt¥ÿÁŸãY^ÂÔzÎË¥ Õð!]úös]=<·Œ¤Oú·‰’å唂å2Ñ>D·öbòñ¨¦“ñN§äå` `ò`œ[ªÂÄêË &aɬ²¶{4ež½%%$)*˜ëÔZs3]« ¹X"È'±*F«Kó3˜ÛvOé>)´zÂ΄lk‰ËÎt“YÇk;´<÷_‹{¤Ä6S%˿ľ(ƒFCÿ'7Ç#ã´‰=n„ÆÝ¹ÈuÌñà6·Õ­Y}M&p·Ü¡Éí êÓö»ºš›s›ÑÕÛZŸ8¦sfÓoÑ×ÇMïe¡ïÑJ¾µÜ·%µ{Îåñ l­l\bÆë|æaYx ³8n:º“žîû`øD2<)Ö܉҇Ò%E B­3¤˜ÃH>¿žó]|W°„Û Ì&[46sJ¼ê¼­ª()ÏGï°ïȲ8§?pš¼{ H[?\ ¶'×”3q½f#š×t¢‘÷ªºñ[ÊÉæ-ØÒñ »£š_3cØ W/|©[&³_’w–àR ÛCýÕ7†:‡^!Î×_E"Xu«$ñåºò ¦PjÓ‰÷ÂT¤ ~ßu§Þ¿š¯|E  "´ ƒ²*uW‰h•ï²'5ϾZïæ@}²À”=;IêxxÖ–QÍs9âX%‰ :Àq®¥BÙÐÈÚlf”Ö¹KEÀA•!Nÿò8è&£“ÿtq1‹rò¦yžCY¦ÜÁ$µì§_¾> ¨‰U9 #´jÇLì-N¹ù A§Yáy/JÅ+_aœñlH ¬pdÐ[…b/©øÿÚšûΡLw]Íæ¶äBfh”qÿ©Ïð=©™ýÃ×m­?›ØRܲ¿Û“h(¬-'°Ô‹°†ÔœÊõqê˜\û¾ ,¿íåᥭoc7u‰j[H-ማ_ÍÍfgŸÜîŸÌÖi»W‰Ö¸úím[Hv\ã_ô¹½’˜®Ú„™ñDBöb¶Ü;ƒØ¬ŽN;©²ÛB(k8;3ÇfM1úP1¸j^,ó ßàd1±YÉ€#ª³é¢¢U ³ZæVÓ.‡Û辌 ›Ñû¨²©«°§ÙáÏ]R¨Óœµç¯œ°–îmŒèÔ©UßbXìM›ø¹bîì°]]ñ™‡´IÂ8^}½¿î ÎHª>:NÖsN‰#€6ëP½\Ak†¹Ü4ƒAFG£`íŠ?J¦§hÂÒ++Ù'·ôNM’Ê#«æxöòxÇÁìϺAyÅY~óP +žô¨°b%÷†EòÕÖ¢Õ×s², ï=EñÀ7:×Ëxcr9÷w÷;¼Q§4'ߺeEaÝÔz* ˆ¡pfîÑFß׉293R÷êßú¼ëѽèq-Kdyˆ7AùÝ&B‘ðܵ’ŽOüBܸg°¼£1_«yuC™ž™¹T$kº¹OÉX"D¯p!ˆ<¥Ù A¾ Ç á·i¢BœnÚ˳ég°,2˜µN)y*iæOæs²’á"ÒŸG†–‚³„‹”ë=}6môÈJ¼JÞ¸ öŽ"Ms,ÿ™ºôç U˜ŠnªýóËê_à“²!𓾄råÿiô„„I˜ó#—e})žŽB9(÷3zz«-™cÄŽå D³-î¢ã []Îûºãºcê:DêNÈWbš^5gvµ¥ê¢û¡ß··‰†GrÒ6q™È- ‰ù¡ÅX=þ"·d3lˆ dÁÉ«/Å÷ˬu ¯w9VìŠÅ‚ð£>œ’!Öç˪sƒ‚¿Ë:þ†à[§6oÿ.Bû·l,4﫲±”²‚sUÛ Ž¼åýäQ7cºŒré‚ãuÚ.F2Ü®{(B‚BψßxiB®ÐG*ÏÉœ¹7(`¼ñáËrAÓÞ©7øÊñKÅ~'>/zsï¢(¿F¼ÛfÏ3é6´¾«üö<Ê€ÉÌùÃ%•›vÎè?šiÑ˾??è™nà•|Æ¿E$ì ƒA“î'Í&¼ÎWqù"âÝ>F˜¡†é\%‰£îšÑrYØŠ‡áè?¡')Á¬ !šy-.´fÓ·ß3ûm9T"< …Çö1#œ­¼*ëÙ²]Q Ær¼ÅÏ š™ìÂWãâ*uLUÔsSAê& §uº[)s|“„TÉdÔëY§ L©¾·Qø3û‘0ÝeGÁcqÕ9P)ÅçZÍ Q6½U°”¹ÌÒ7)Áù²[{ÉEŒ(èþ V^’:!Ýõ«#(áQÄýªò¿ú l+Ò­ËÍgËž6Ãê£L±¬ËüB¥ø#9ÑŒsäJ¹ŠvÇÉÀ=-9¸¡2þ©æýÈ´ýÆ @söŸ?æ‘Á²<¼r'z}ìN gçªoKã%‹æ6Íe‹ 5k1a!´Õm¥6§l$›îuܳ ‹y¬º<èfX‚T½ð(³>nÛÒ:¥a˜y«kuÁƒC믂šB¸¼k3½Í3/´d§#ÑezÉczzŽ›ézy‹"TˆÝ ¾#´®s¶º(zJ¯};7?+Ì­oÝÁâTÕHÇî$l˜tZH0–…Ëš¿Òr £5¹ £1ŸÂVDÏ^w‹@ˆ0U‰•ù¸h•ÐOTºNšДEÔyO,‹0¡^P™Ö)çØ`ÛùøJîO2XÕp¶YA”EU°—ydA¥ì ¹eŸÏßLïá½µ5ú׃ª*‡­tö™kãFñü¯ê©#mCúmUqm±Ø÷¼,1g=.0éä­U«_ "ÔÎöÆ7¦f-ì@£_€b’¬LRþ• /V;8^g·Ë*ûšþIõ¢ܺWõ‡û$ÝZ"5MœéR•ãæé˜Þ‚Wý©É²À„®¾s]–bs&¿PwÙ¶pŸ4ÛDîãfƒ”EÃPÒ¹ uÝâ0~ã'Y<ÎP«ûFÒT9Rá?"ý›`då‰_UÔª¹ºmÐ÷,¦ÙワÝ&†P^d&«òÉ?ý¢&Iº hò3³=Ù8ÕMm˜C†È¶~<udiŽÌç˜}K¹ NûD ºÃ[©Ç–ÞÂ_ÿrrq*פCº“Öò>1H²bÚÁbƒZ£™%g³Órê1X‘ê{kÑx¦`wl)¤¬¢ªOjù€5§”dãïrB¦õOgd›E¼7Ša–²€>%‰sŠK‹Ù±.ŸóA’)—qËÏõ,ÎÈÌ’7ë^ê¹I9<p¨?Ø^r‘0ðªh¢ÄÀ6ƒÉœ"±²Q\ªý^£<¬ŠEçèj2Ám ià˜–ËÍï Ø®3‡É )•ÛWöh˃xÃæ#?Ä êä¡Û•#ø)á9ˆË½ïÆ#ê¯MÊ °UØk’餼QUàø[ e pÒ:½?£5›CÑJÍÅ|~†*:ç˜Ày„—hšÄ|+{ʃŽRmBùƒÌñÊ5MõÁ±úòq¸>Ôá@–LžhèϽ£ÀZÞëŠ{Šâ–1^çðGMÓ¯þy(G ¤ÙþðHžHý/+Ë·~{Ò;£U˜HCƂљYAÜOMO$u¾Ê¨Â?ÙÕS„!̱¬³"«1(öW6H ˆ¡ž£mgð-m|ü£WUE›´3.®#¿¢¦If47KÚ"ž¶ÃY¤}û—d™¼¨?õ6¡ÇúE'âèV‹LŠðôÚ/†Rް8{ŸfÛc¨|WŠ7ýy;ó¡eÏ#לík´ÑfìõÝ;naÇî`ç'†5 ílB vÚÁ¾Ír~Þþþë›—+4'àÿY®‘?×ÛwÃw˜ïŸML> ã·1o—±±6¦Gá¢íè%tŸ‡¯t¢«Hß=«benùUHq·â)q¹Ïl~2/3Í–¯R€K)¥½Ïé£::šhµËÚ”› "å  ŠïŽl&Òþ$m¯öCcÒ£€¨ ÕúY_Ë–‡Çܘ4]V Àår Ê“ˆÕp|¶æ6P¶Ÿima— 7'ÒÉ#è0kwâd¾«’]˜DYž„ç%C…ËZÉsb¹¼xïºÝ‡€Îæ˜e1 ê釟^ì'™oÒ:™&¸×rß,vEÕÌFKȸ¼Ù]±ý5Ì+†·ÜqHÖ;€ ÏHšŒ¯tô ¯:ò“ÓùQ‘Åv/QjhÒÆÃÇœÿpÒ„¨I5~¨É|ÚCöÓ¦m9{XÈ ž¥YÕÏØ/þqÝuA”˜&- LSÕ.‚úò ”ƒõIl¾0Öùm-ݛĘ îvÕJµGæ•(*ø‚)¹´h%c¹¸±3 ‹{öÛÔE¢²T|r_ sý­M-ŠÜðªP)ƒœža ÊWÉò¾ÁEƒ4¦ä»Ãû-ÖÂÈÈ|ù±¾ g7 âJ–-+t†Ccs%æ™l<Ç­H³9ë¿…#ö§€«Ä…ßÍ×^Ѩ Ò¾Q{Ê©Wt‰“¤!AG¶>ÁKÏs½ã& OE@WY9ÖÔa¢Æ%.¸sÅ^.ZY­UÜE± é¶ÌÛœà5æÂäPÓÑY¢>¸ ’޹ †A â¯4¦L-8S™<^7x:c!º€mG‚ˆöM&ºHß4Æ°ÍØ3–ó¼ ]kñ%üì[ÒŸ y®ýs„ 3‰kþ\ìÔºîÕDµÄÑÿ7©f§·‹Ä~Gò–×ÿÀ57}÷¿»ÞH¿¡Êb‚úÄÿ×9mØÙõ‹¹XÁ³LÈr/Ðãùs¼ï­ÃÅÉuIùêÍ@âH›|žßjµ8 W‡‹tQí—=~Þ¼)I|„&©/œ…þ„‰ƒ KJ=¤Ö ~qèªá/út-ç£Ï’}Q®–†SË1ñ`±ê¢ FdӔȱäKòY³­¯H=÷Z9äÂrr+Jõ‡]æ]xg$ã¨0¸  AKÌA\48ÝET×+Ú?¥JÑ ò¬0Ë¿fÅý/iã Â3Ã/ –»9øhq¾ÖèjfœuïŸ\8‰í÷‹I &-5ò¹ÿ5Dv=Ýi¢oñLmnW”YÕ£´q•“.ý¦©z+[¢<$æÁ­ ÖoÚì‚té·îÿq ø‰ä„ô懑©˜Y°÷Øwwû)j7E—ÇÌ¿¬kKîJj…úÂò¥Î¤¬þ\FÄ(É篺ä˜ÿ)¹BÏóp?Œ »'.Ôˆ8åÖ$ò“©¾Ûƒ½9…€ü†þ؃õÔì ?Áí­ý®š­>axÀݬ㪹|†E©÷«fFïÅq,‹¼ænGÄû:®J)ó³2üg.MA¿ 'e¾Àù-2’ m¡5HZ a]j@,²5”ÑÈ?°#Ù6¬w<”öïÿ}]ã}‹]­˜ç:yLÏ(@0ÆÝ€/Lö@_k$ÝÄôgš7"-èRM‘Ô«M݈rëë|c‹¯k"0{£uÂG 8µZôƒA&ÍÂ+Am^Ãl-è1Ó^¹-ÑÀ! Ðò<ÄQ¸¿ÓÿpŒ¿ØÃM(ÊËþ--Ï«¥èÒ1$æ,F¼¿Ñ[b` sgk¦¢îVú3ðJ¯cÁæk³à«œ­Æ9@LêâØi&:qò¡SÄ$¥w”]V”`–(ù!ÖZ*ì?R© 㘠IÐØ—®%ìœkìÝÆlÛëA9Pƒ?íǶ¨RÐÓ©ý矼§íÅ«T+dô}i. ¥ã¬ÓŒûÕUº"¡UJ´ÝÑÆA\",‹QÛÎRº '9‰=Ðw[puÎî§SOØØ]²™ƒm‘©­wF²ßè|‰Fúfe·ýßñV[튌n&z·hh7>³µJ ©ï–0֞Р™àã»òÒ¼¯K÷4ŒëP\_HS”è·½.—}5§˜ò:ŸÂSag¡Î_{XJ.S Ë8 \PJpÌ¿¢ (7¶sOc;ɰ‡¾Î²6C‹õWN4É”8aæê¿|.f¸Ó6¶Œ‹®Õ}ÞØ[¥j™W5"!¾º7þ¼þ^uå^VH3 0«»q¼*pp¸ŒÊÃ$¾„žpmû9f³z99žØs€Í¡¢×']xygc¯¨‹–éÊåbÉwY¤û—I%!q Ub¦« »ìŠAÀìš@t¿®·,Oñ?L¿4r%mׇQ€tÇL. O–ƒï‡?~²Ý¬89m£Oš:¯¹yæT•ÝT¢Æ™ ço¾–¢LýK„-ñŒ•*žÚ6w®Ï¨Y2ܤQ|A»Ý[†^;CŠøòÓ?â1[ñ<†@kÝÎOJkÕ¤%˜"¢ØÊò¨PM*¬ÊV ÂÀ ü9?ÒÑ0?gU JZø Í85ÎÝÜ@÷‡Rê œ³“Òñ4øÄÿ¦LO¸Imy纾Î^}§€eYý¢É8­[y«þ¦Á‘…áL+¾6J@bRK/j)åñ}^®À‰Ú` >T>¡‡zƒò̱-Ko²ó/;j„À Ã-˜Iz¡š@ 츘ÓÊ â]À,b3ÑꟀîŒÂ¥`@è@aª-ʦy[¬<¨ÝrRœ²6Kc8P- vÌ têŽàVUÒ1ÉÄHd’#í¸êƒHœtQ>nÿm†:æþW.†÷}>˜ºÍ=!’Ÿ8Šm¡2¤÷c1´RZ†ÇR›¬S’nìƒ[¬ûaÎúYäŽ'ž\²xî³¾™ŒVÑ·Ú®â)¶£†QªvvéÚ¦‘ªð ЭaÍ=ÅméíG´ÒÚm·?|‘±/’úõl„\‰cÅÀ»Ç+¥È àꢚƂ¬ÖÜÚ.k@Ñ tu]êZ,ó­Ì2Ÿû|¯˜ÖmÊê×^î1)Xá•Я2Ôµþ.ØBÓï#/S¥c„Y>Ÿv˜¹VèÃí=˜ò4²)èÒd¾§ÔMœ§ØGl¿býÁ´ž™8;ç^N•ÓF¨oñÙñŠýãzÍéï:~$þN`Wt><´ˆb.åÀ•mpœ#•pñÕÞݧ£Æ¶ê—7–ðV)땆âNÚy~Û•xÔ†R|Gg'ð‡“ÍêiO’þ¾º}+4S`™Ëp’ˆU·øvÜ›“„w&~"f5ñ·ŸÀFÎ¥Î*ã5ô[f@м@7¿)Ò]Ç¢EvoqG0¯<$‘Y•àF~ºäÉô“„T9ÂVjzŸ´BŒŸò».Ä2Ô$úÏàÂ@ Êê,]Q‘A‡ƒŽ( 7iÙö«Ìße yNC"Ѡ㨀ha´˜¶¨m?-¨æýyõ3sSîÅmË‘eß.\îY3ûå̰4qɪ4—~æ"oÓ?å-°É.B’.f…+=·7¡§ã{|Ë ü;áe\«Ó‘bBJ*ºpb| oô6’f„*V ž†áäaXo¬™ù£»å©Kåz.éž—üAv»6kwí[Xè8½N¥"à¾rfÜôñEÁêlBf–µ³%NÃ@ºÈòÔ¥IBÌÖ¨åI|›a¬LR×€síyªÃ·3š®×sò ÇåjØÚb™’$îU!@ÞX¯=4Kêøi‹‡Ù4½-¨™3¤|ÙømÌt0Á¦ûfEˆƒ|Æ{í:ëú ØÙ‰šHž;ÒC<ø»ñÂEkÿ«b ÿbX²wô± _¯gwK±­“›Éj“zÄŸ]…œQý!²odô’·Wgïy»­Rg7 §(ž—Ê”QK*ÜàH EðwÝê~~]ÃV‡æ+ܺ¥\¦ˆ§ñ‚Œã¤sºU µÃ~Ný’ÎMÄO0¾ÑŸœqæë]@é¬Få&\*ûý¥od×çȘÒâ6ZÊY,|1ò3d 9uN9éaŠúP€è¼PÅ•Û.”åÔ4 î¨ÀTyÔ\ Å¸0÷›#_I}>R˜Æ»œ˜–¡ž“¥ónž~x [tÐ×T¦ŽB¹{KÙ+‹ ‰[tY—sdúgŒ¤¹l>ˆ¸EÔ[À­¯ät™ Sÿõ{U6éwg™ä†^Ô„`¥¥40'D??\Nx­_±ê·êž5€úÎpút¥ ¹|âɃ,Žv´ÒgB+ÿw–ÚÎ>kÜÝ©ÔþC¥ªH-”mdlQðAƒ‘ídpÖ—;–GS |.¢:%B¸ð­•ïö%€eLIÐG7]uâ&d¦0[÷WŠÈ»á“‘—„eK/µ¿Â*I.«‡Ç8œÃ}ë)üì“«®ï¶§aÕÕŸ+ w¸§ 3COº{éðŒ§J©QŠc&wãyÜMD¬i%FÙ´ŽôÀqµ‡àß}Ãìÿ‚ZöŠpD¹¹Ëü,ÖE®²Î2J_ ¡÷2á"8Þ—g^×`° ôsq«›¹¦!h‚YBi"i…w€?=õ¢ù:g}w{À(¦¯COƒ¾hA< ]Sx­ÙC`ðê}}Ü´Œ¼| ’°‰ÅoŸ«€,såO¡}À|ŸüÖñ0¢D #„û2·UV®%Kêè$ú3VºþK‰>ös±öë™2€'´]ž“È`öIÈÅ…Ö×Å€UçJÐ)¼-‹‚Š6œ»¹ï<+3@[óð87Îùp3 ¶£'›‰Íí)Øà‚y°¨ÀÔvNm­|DÑ ©qkzø2ŠBe@ØIàÎÜ-(þD2åÏ Z‹æ’-yüpòœ ¼Áµ³+F!PhÓ’n£& ïk^J…§Ïö²ÜªÑ/#iÞ¸(ÝÎv4)cÃ)¤Z™r÷‰6&û|ÍHQ¾)€D!¤%fËR*J¤F¤DÃhtRœÆžxCûoªlµ2XÈÊÞ×´½q˜3Cè âÚþ¿ ]lÖûsGkHhPe§µÁëjU\û¹”®±}©ö<)–ÿUâ´±£#/›&_ù„@’Ì|t,P0Ø\ƒ‹—•þio‰!Lkš^IáX˜o€ßþ»õIlvLh+ÑDÜ©o³ÕMLüXæŽSsƒÐ {kÍLj”Ô,Ãfø4ÜïÈ1ý³•Å,cšžKž¯³ WÂ5j´ŸhòW|ü'9ÉÐJ>ß j-0 æ<´+ 7×ÏÎë×Ä­â$ýëÂ. i‚z›sqž´ÌµÚrÔišApÑGÖ¤¾Ò'„é5‘Ë¿l*ÚC J>òÉÖ⛃kê^Þ!•Q0FåÂ̳æ½â«Y˜a&±‹((Y¬ÙÔ›j1ºAã¸oçc—tÞoÝŠÄÂýU¬ Qyì¥ÕÚ7Õ¹AäŽIÓbÀÂÚ¾×Jñ¢Óå+¥qgþ4¼rËÅmIÁŠ€ÿ]Þm¹*\1M­K4~Ò›0<´¿ùáûðÔA9¢‘$’Î*:Ûóì‡*XHkKPÈs$G²Q¹&×+‰ân¼áO_¬Ü- E¬XÑ'óªN¬ùLèn#qéj/oůÆî4Ø,õ­˜ÿ¦ðû“|:1—©;ÆŽbnŒ'¾sçÑôCßÜWn:ß>Ü)ɤ,N²~”ä|Á­Ó[œþU °’|‘=Bvc²SP|ãÎkYMKMó³âÅ£›¿¹y³ë9ªrBß²hãPDF¶[ 7oÖHšZÝÜP×ÝG³KÄŽ¹m?à¶ËµÐŠ.±fÊE]Ò]ÇNd<ñô±„Í^ç4èÇô@H%QØW&\¶5«îÙÏ}™íqVÉQK"n>Úøa¬ùÉÙÞk ©MwÖµ+UAé‚>ÍŸ=¬kLí&G︗²øðÐÃÎ.Ó6Üøø/dŒÝönõ|Ö͉WëÙTKÈ&3_oÍGãÖíÌØïG?nLJ‘2¥0N‘:ëÅF'é·Dª¡F°™p»QxàRÀ®.7‹)`=pé›ïjB %£(‡{E0þ.—ScD¼´K#ƒcðíVéO…Ÿ­ÉÇÄ‚8 ¯GÅÆüÒÅ2V_»“Ç,¤íä£U3 éI|•Ñ>¯1zÉAféåVt“­ÀeB#ÌÞ,Ÿ¦}ˆÊöxí·>dؽ¦j<œ²¾¾’Ù~Ó­\pµ0űó½°Ém)Àá² QG¾ê!9%^<¥ÆQ@‡×Ðÿ[Ìe¿:,COéð^×õ´f q`ïMÂÖáñRŠ Ù­ÏNÔ€ÝÉS¹Ö*ºÊóÍØê„¿Í ¢k°¼ÝôBÂ-QØ—À©X¿îÖÿaþƺÝeM{Ú”¡L X6bù ñÒ€-›”qÕÿkÖiް=zÆ#½¼Nª·òða7½¥/ké‡È;ö|4JÛB.|„¬¤÷L{‡û·¿5Ó—ˆ' L3êkÆ€àL]Ør-¦JO·>I´°§žG`I¾%gQ %3¦"ãÓMdKe*$3*DEQá }¿Uj'륈‚?=7ÎÀÉ€:Ga)}7¾Æééô¥™ Z"‰ûdWë]É.ÉÏJ°?dPº¬«==7+©~o5Œç¡çÿÒY[ë åÞ9¦ÕMÆ«(0‘–&S€~¸{ËöýÉ;ïy·ñ9`+­êoÓôF¹ xòÇÌV»\꬟âñJo†…ÀD‘åI\Ô«T¾‡ãÇþVŸ·¬BÂ:‡)úG‡üœ>3|ÊLe"!B„/S:|”DܶµÒÎ`.Ô uW‰3aôrQkP>¨W>à|Ó‚»ÀŸÍêÛQ ’‘4û¬{=+ŸåwŠ`CY))Ÿ9 ’ó«>¦eK¶JÚ„95ìp±‡(&¨¥ ZÎBqïÝŒDë⸭ò:ïÚ -hVéÈË—H»·ª©¦eB¥ –(¥3Ý&#`£'šnÆ”ïÁ#ˆD·ÝB]^Ò罹Ób•~]%3ͨ¬e¦HG<©/È´ 8ÐVÏEÐp7+|c§Ò/ŽuX,í’DEs€5M€ÚS„ñ^ü|,Q™\¶O·4Ï÷å;?¨³”¬1§}mIÛuôÀ¿â>’Ž93¼ys*“0éŒÑáC¶Üöþ<†d‘þG[%ý¥oC…¹wS*ë1±×­ÕÞF”á“¥RõÍÉŽ¾Òn=… R¢à§ðÛƒNDYˆ«ßY•pjîF¥™£V¢\5Dw¿è >òrvù:R¨‹WGtO¤ßMȲ ¹Íû/u›¼Ï8y` Öš¸†¥ž2}©š _­AߥâÞë’«iê@ÁfnóÃ`/òã ³iÊ´£Ð®·È¯úv¯$Œ_ݘÃã„]"³ç±©Óâùvò-àW _G'kãÒT¬SPcKák˜•m~O˜Î%•½f‹ö¼¥écs¿À½DúöËD9Ñ‘ €ì3ÄxÄæøyF&I=.½õðmÖ˜Šÿ‹tä8µµ—9Tåv¥B–ežìÁ\0ô·¯IrL |Î!hü±öŒ9ÐÑKe^ŒŽûyHãû»¼h+ô×Àü#ÖwÏÅŸ³ÅIiƒ*ITõ;Þ”’³/Wüï²V’Ú«¯:ëë׎v˜ò¹Ðímˆ*­½ž”­%Ïñr‹mòlc¯Ÿ(H DŠk¾‰+"R“9ƒ†1j·t'µ°,OB Ó…oMüšƒÊ×ýÜú‡'YxëUò#uÒ!s¥Ÿ{V'ê»ë“å”R÷*žÄAøø$ø{ÿ*¡N{ODâú*‡ îl·¨ðçñQt„šÉ=b"›\Ìfï3À¥_»lpàx2÷ê‘¡YüÑt)oféÄ#|ä¦Ç5Xá ÞÌT_  ‡6oLÂYëb¾ómM2pé'úv– 'ÐÎb[·ÌÛ„hÂ^- ŸÑÖÿ?·²“úÎÒ^w é×ú 7•·]ýcŽãü³Ý=EÁª¿ºÝ Ê†zÉU6o?P“FÍ”w…q€(9‹Ù1ùaúK­Á¿@oæ4I>(J°äwãdt´Ÿd Kô×ÜÆÝ1¶"bp¹Ý|~ ïp!RÔÞ~_6¾ò½/ X—¸s$/¦ìò §çmÕP>÷nOÔ+PÓŒ¬VÉxRA‰ñÒ©ïàI‘|d1ÞQ¹PåWúøgšúÃb{zVmBJß3¥±ŸƒÓ³ìàäøþÿ-Z>Âá›Õ½ï*csÎ'€ß¼Á©¼÷ý7vÌnHª4¢hUcŒ¾Zj%C¬À†Ä.ž•µ&Â=_ û¤ñ_(™½»a‘ÔýÈ|“»Ù¬É‘óDÐæµ;øäoG@¶Õwß'¯Më¤AZð²Jè"Nb 3ð´ Ös ø¨Jª¡ÝW»Ã&£žË ¿ã#´`ÖÆË!J?õanƒ¢)þm×#–ó»*•‚ß@yÄf…ùØŒ¸· Ø,k£‡SßúLu¡'² ¦p Üç;‚¿Âà]ÎÐÚÇ¥6Mg6òƒ’ân˜y”·²M„OnYE«ÓÖÉT¥r~N›x‘¨9Ìhv°ÝÛµ@¤«w#‹îЛ¿[|ÓÉâ"¿ˆTÅ]Åü¼ò±ò§"7Ò@QßÔOsƒgFg[Y;!¨¨$ogñâ2ƒ…Ç HO^ ÿ]9ý°N 2´Ñqã¶oú:&,BlðÔL,Je™lH¸4³‹u™ïB´—¹…³Íu¨FÉîß–«3hñ f¢ˆôaDĸq·ÓMA~g·&3å#Ôü|ÊýNáÙæ/H}…QQ²éx—dšK· ÷'@½W§É4üEÛÙKV#7®4FÖn_4F?”ýGŠŸ{¸l|f…·ƒØw°Ðžg´H«ÒN¬d´f^ýÛîù^fA=&µ‰:?¹ÌBPˆckh…‚{bÌì:©sµìVgVÍ–’.,’Dc2ÎÓŸÍÎéèÀ ¶û+sWð¸+Ò+$ˆ.h<©G)#n¢ä^Æ Ùlãk]qed‰ÛŒ5Ñüj^ÃàŽ½ßÚ†±µ8P „cg½¦ $õÓÓÃÿý-¥i•ƒ =tŒ»½8›CÿnEÈìFµöÉii&xU $^=jB±ÎÚA÷gÕ@`Þ”DmÒ4í1_g<<ÒBž2×cò¥ùµÕýÆÔ±ÖÜ,ÀÎtû•L dRàÈP~ã²’5«l)+ûF(ïöJS‚С}MGG!Ã7L€²K€3?Ï!hlV/ƒOòLo3Åíø$8‹F­+“N"NxgušUø?-J«î£7äRú»²A~è:¶|Ì)ªò2C·]=^…Æ nZØ„aŒP‰ê ˆ¢¡*ÊgÊD4¹ ŽêòZtXXSÁ•ý§"¸Æ:þZ·´²TUc÷•Též§²Ê<²!mô¿‡.CyGî7ûcꢾ³=Š fï·T¥Ìçy v\ ÍöTc W±ië¹~ç gJ°aTÐpàT–e#KhVÒé#›¸G@ó²gý¦•yVøcGC6 Ñw™äËÙpòð¤}qÐ%PWK«j‰^ß|Mòœ¬f£HŠ[ ÊÒ8Þ°® ~èÌ…¡¨‰#?ç2ùÅÕ÷Ipÿ _àÔ‹È¥‚ÇIF‹z¨ 7¼ÅhÚEJÖœKçU'W—”z¥Oþ¨k½-u†uD'Shša)`[Ú4F2zÚd%±˜õƒ3®K¹œ‡¸/kͺ²æ õÎÈ È2;FÅ-~Ò†æâHs«HyN”ƒ«qä„ôû¨0*„$ebô]“å)9¯ž€azkAË9Iˆ½qöú™n¡^²G6¢‰¬DMŸ‚XØzE üržó¤?ònAʧcZT#q¨õ¯E"g[ëQþb4¬üЈ⶛X j¾=·-ø¯{ÝØ‹ÔÄ#u^¤íUc{G,›Ù0²Õ»HîDZÙô¶óÖ6åcV ]xÎHÞÓóúKë@…’è'Û§îÊ>›&º„?5üŠ)³º×-M¦â4ÊÛoòßqËqîŸ ˆL˜²RÉš²WM¦õ*ïä.Ïb²qžÕY².ò ³³`«è¹ø[·JE$‰™Âpt^½!ÊH^‹§E[uT­?tråNMbjψÂ}í’ÈÔâD’e—™¤ÂÔ2÷”óB*Žý÷§q‹å¿ÿ‹Û"÷Ÿ××¹8ñG ¼»—‹ÑäÂòK`¼±³¿"³cBVµ'ìçŠ9üdìS”‹ëS[»3Bî{°RÅ¿ŒÈ¨„¨PŸRqñCãdO­ãÎ Jòiõ¡ l(¥@r ìé9ùV]®NNÉ4â‘ë Ì?Ïáàõ@0öÖ2ë§mv 5cU0]<•¸ÞPdOfµX8/»²©H6åØ‡ÝŸÖÌbl:Y]:&læ5âg|®´‡ƒ†@Ä ÃN*K˜(üXtÚAü¿zNB…ŠëK(§diàŸs©êáÆ‰µwH¹(ŠeP'q3H¨®í%´åsõ¶äªv)ØÅæ”,ÌRÌí‚&F ÒùX4K{œ)EV‘¼z–g ýH÷Oq _Üÿ}äkîB)oãö3©ø¸ée—Ãò‰žÕtZn6þTvLÖß}ñKX„3¨±‰±»Y÷ÝêpÓ¸"³[•â¯Fq¤ wÛŠF•ËøÛŠÈ)ŸRÀ|¥ŒŸRî*XîSOònÒ2Ÿ,>ƒÅÝañ&¶a0>¯¹ÐÀDú¹ÒH·aÎÿ½y1üÚ"G³Ù0ñ.žšÌR”Ñ­Õì’»œQ€òžiLVñ~º¢¿PlÃQ͘‡)Q ÿb¥ wÕÄ×ZÔt²²ÆÞÕ²Ú5¨ñE@r&[Bk+0vüç¥ÒTõ]¡:v£k‹”yiÀReZvë%÷å Ý#`AµÜ#(&0é—±Šàæ™ùîÌ;áÖ˜›¥5ÏÈþ Øõ¤ÈÝ óÍSÓºµ<óp1?Zå¼™F“¢Ò›ªÈêñìŒÕ>XßySüMKHz]8–¬‡”#V„‰À·Ý±ÙÜQaiaJOwðâbž~H¯©\ï‚ò—ÇïÚ¢T§“e‡“ä_tUG78åE)TÀhÙª)¶·ú˜ˆ4ãö[zñbå…r0m‹lÖ‰¤‡E‹W)åÝj¤ÐDÊôã‰Ð'0Ë´¬K¼&&>9¥ì$νzü>yîn·R¤ÔŶ=¶ÚUê™n,Èü”l„ŒO| Q˜˜î_l':‡‰æâÍúùI2¾Á®*W¾QHWÏ®q8’^1µùÛ ïkþ‚ ãr,¶†P!Mž?¡ÑŸˆ˲Ðå{÷3/Z= ©6ã€7¤Ù¥‡;­ƒêÐhz&bµ³( Ûì®3½Þ!¾Lh$×^">B£Eú¹F¤²¤ÈwPð×,>1fàó‰Âå’‚³mHû9Z@h|'½–JMܾõL¯œ&÷áÉ"i4U÷J-@']5`héb³Ä©%ô~'ñN«»ÿ9'›±T,ò‰ïX‚´ö)Ñg K$’ªüaPyæí îÚ§þ&û¨g‰ˆjßer-1»ÔÛ·uRcÎàVà]Wã\f‚Í»±’†õôƦú±âÊHH©©×pAhÍPEô"Ñ”¾Ù`rß&£IÃÕð‚lÓŽî‚H˜ÿtTœáüi.ö#&Ô¹…jÎå §5€!<À“H=@¯„o§EZ“‘ö¶wB„ +l$Ÿ<9õô ¿Üü ÊnŽ{½§vì)õßhQëmI—ÜÀýŒyf:FVYdì pº6¨Ñ‘~ê‘ýß-ÕŽO$¥’P6\ˆ¼¸2Ü®ÆÕšäûçÕðs.sJ,JI•0È3MŸÝ×m(`nI/°çp‚ 7)<[‡W3§(Þœª7OŸ;×¥û£AõÌð±?Õ€#Za3¢LölbªA†+2oXÔw10šðÑù‘…܆FÀ?ÓLÄeÅwÆaw ž )ñ\5í³Ú#Ýï®âË£._»Ýßhábi`AU>[ÅŠQ`d”Py¡Øå¯Ð—+õd i=é§`#‚[\°ö.Ü¥ ‘›]°-7o9í¾C BPÅùžRÊh¾Þ_–œÿÚÐI« ¾Ò;ûáû(¤WØw²! 4–/ËþÁ)¿}¶>â¶B.(Pîô}¿©LœK-é+N¿b£KKìCß·¦— Õ`ªÍÊ—#m$\t–@˜d~, ˜9`ÐT/(mL¼øüß7_¨Ý£ù;Í•x$É:‰vŒœi…fër81ï‹CÞÐAÝ9koºÝHbì[«Í=›»µò3ïaý­ÖŠÇ®»Öž<¤hÃt®2e‡A ¢1&üœ¹–œR¾é¦'²¬ˆ]–iX¶e˜Z¶~¼‚Œm«Åád‘ažvÎÒIó0ÄÞi£¹TAq[+ð±'(ˆ´²’®Ž·£&ÚžÌ\UPÉôù)îu“Âë1°Ÿí0p°ÙÅΔS\MÐÓÃ_Gô«Ä;*VêþɤXiôéµ=›îü‡Å£‹émÈö¶¢N1e yª°.lÖ.gTaUI³Ù>4Tœi ,†sxE¤¢7=¥‰·:³ é¥ktRäe0†í‡4Lï03ùí ™H8û]Rq uquoH¥Ê8/ÁÆã'¦X8é¶\š¤[Ej^ǰG´ˆYŒß©W¬Ì é[Ç]²w?º 8¾¿O!`€²…ì“rú®·„5𦅢_$ÌѼ”(ðaôÿ\sû¢ “çyë#Ù’²Îùw8{ó¤j›€¶›ŸË˜šgž:â)˺þ#Ñ×6­â÷éÌ‚†“©Œ2Ü>e´;€kW—_lg¹…ÙaÛe-ŒA=FR(ÆL)>N’Ò)=?*ýØ(ãü™€M÷Î/,ŒÏÇL;VijúÒÿûXák¨{o‚躼¹'3µöªËj“tÆÒ ƒ”…;Ò¬«ÎUÍÇ ûf“ŽÐuÚÙHÎWd¾¤sx{dËœˆüm^w>²LÞ-Ôy†Ò±Ë-[®ËíF»K‘%Üqt¥?åòU§ÓÔ«¬è%¢/½B•œI:´J¤Ã ·¨–¼v§vwpœªÍõ¤á¿fÊSÇt)9ÉŽ`Àwƒ“Í öŸú®˜ï£Iö G^S iþ=’ò(p{ÛIyt[ðå! g yzxUI­;³¶Ø_wC¶“` ¦ÔWg<×èõBIÀ„Ôh•“Q·¼(ôÉN(âŸsælUÁåû¡<Ï{ÖfåvÞ±¤x–‹âŽo=ú,…ދ֮nwï5’ <0Óý`7 ÖØ>Ö³ Þð^hWýXŠ€ŸÃOXZ†×3x1¨4c>Fr_Y"ÿÄT"ã))üÈÿ|¥+Fc úæ‚lŠE£õ³Æd†%‡$½¨*Fu” ˆ™Æ‡éù®à2Ù\DµYê,ÊÒÆÓT"Aa¤ÁëãixJz¨Ÿn뛀ü|ÛK+#‹^…ZPö%P_c^NNìe—°¦íûòâ¡{]H³¶ƒ‚˜C'ÑiªSú¾¼#fŸˆ—Ôqtôå^™bHÈŽg]é——ý 4»¹2d*pËëšæ¢×N†,ç®|p0ªWbçfhÖ¹$àµuõÃmÐUKf qî¾ Osøåû9–åÌÇEµ9´ÞIVQû£ÂÀÉèÃmá½Â ,<×—yÃóvž½SæÄ­ÆTf¾Ø¥_Ã;ì"À;àåØáІ”œ‹w ¢Š¢Bíá)Oc+œV†ç‰’„ó ´ñÑcŸ5(؈fçìÆ¯ßüº)2jI>« &I°M$Ô;¦ :ß§ÊÁO¬[³øxåªgËé"cDršap§]u êäÚ¥Õ”K+–Ô8¡qÝ«BmD‹¸S õußLŒRÑÎ?EG¢8-gøuiFÉK»Ö1ž†àûBÿ°EÅ ·_¦¹”-+×§»0‚±MR;% ûZ•`e`ö7ó,…äü>Ëþô£ö |¹0k@½É»êúÏ¡C/({¶>ûz†&Y´ê¿rs,Ú•|k’[ † c: í‘ ñݽäÖ_‰Iz´¥¿Ò­³:þs4³\=$4A–žÊ¸ ¡¼¥ó€-š‰w£Ð ÒL+È8DÈ5†ÓñH/©µ{«";B¶Öp»|¢ÈÄZ®'FÉcf+y͵Š_ד®ªØ&ŸñãéºI‹^ÂѦKÒoø‘†`! O§û“7ä=À5:H¦¯õ®wP~Vï@ wè/?f˜^ \Yƒ¹° A!?™‚‰=‡T»u¢týe"·±”a¶ 27¦d?Ä”µx&¬¡S­(É"Ä.ì¤móþ3,U¡@˜JUåË'Y2YòZ°PL #lz`lJÃ` Ü)qò¨ba°&”ôÑÿ[õ±ÚZ+lßx·O"K"wf»öMÊÁçiV1Îët]½]ÇÆ 0qô†úÏ©­>C)‡Ç;± ½ohDMD±–ÐïgŠÆšÜz…ñ;"Œ{BL'q"xÇ/9³Ÿ\.%_€í.X´hؤ[%9´Qß’@VÆ‚Ûìk".oÄéYx¯3’uÖÎ)žo‹Ù«0­EVÎ<«¶·ä(ã(tÃ@y2¾p×(¶ãMÆ6˜þö„ÍÂòfÆC+HÒ^œÒ¦qNPW‚ç¸éy¥BÂß·ï\qdnhÅl»Afdä/kÛÞ%ÍeþP‘˜øßB@£ Ì­=™}“}’˜:›:á}p-euvÇ QµT7"4’U‘¹.™8àÿ4¤C×<ö#æ^¸\Ý}Šÿ¥w×ux|Ë“¸]ÌØÄzÄh¾ö¢ áàªmúIÜä*›9ë47ÿ|`Þ®Œ«-ÞÁ›}uºyëºg\0þ±4+î3E ¡~WJohÿ³r»2'”j¾qp0¼ºõÙ·*ÄzÌJ ¶HüŸ§:©sàlÚÕ´ŸïÝ8åðvÂÅ{¿Ú¨ÙsVÏÿwx¼ ëìGö#É6ÆÞLz8¥I_„ Åß²µŽ^©PÔVêódW)n%çÿ4Qzš{4’R˜c墨³¦-7F Œ"¸k0TÝ¥µ*=*”AéiS¼Qf$>É-_¬Ò8Äm0á{ß•e¬åY‡¾Rb‹¬ãì¥ÚS“p=BágJjØÂEK 4¶­Ð¾Sb1 !>EZœº÷ÐvÒú?í">•ý„3â 8Õ–7õ¥€¬µÏÎW*FkD¸ƒã»Ô‡¿(¤•Œ†*B ²Hù@x˜éR(üHEoùbëý£]uá+ˆÊÍø!¹|õ¯ÄŸ‰œ‘‹„]ÅÜ!»rŒ¢ÎÊÉ0Hñ†UvZ… b²pƒ\Od8îStË4²¬é{Ü,]‚ìÙ0Ç9GÛÀa>ž £ä¤@დnS?m‰I"+Ó#rv¾#mÀ¢vsb:èËÈdÎh©bcñfî¶£QedAk…ÕÅ:Å´`#J{†âKAŠ‚¡$Ú^k>ù_³¢PW‘©¡¤Zzìb‚„S¥.>ö˜*'…a1„gs­ê‡œtî[~ÙbÐOoôìZ†&Rv›ncy¹zÊÇô«ô:Y!û\×P²µév²IvÓš£ÒkˆT~bò÷ñÜ·uW»JcùÙr~AèY=¶Hs­©S|‹´àÒ>Îi£ó®3¨Zjcm .‰¤_dæRÊïBM¤)mm Ðår1;àtØä|ŠH£l'çóRj–{”bIð%±aûN¤yäËØ†,íÿ•R1s¶»4ô W§x w0tÕFfÙã]ša‘Ñ@æ2Á¶ ho85óX_ \½À 7\¼gúü¢¥Ÿa÷„'nøR^cE>EP€Ù÷)_³èf"6¦ŒØbŸß­qÓS/!üË_jAh†»Qâ‹aß%Š]q]¸H—2šHDC!“]ù G\ob¸{Íý3¤ïïa|—U÷&+VI›-hЭNüT¥;Ïýø€ô¢½\±ÍÔcõ<ò~MT”ܯR¡JuT¼P˜×&"&©öÝþ¢=,‰µç+ Ž–7¶ tùX|í:Î<éÖ™Ý}ßpÑ%–â-` ÄH¾^¾ IáÛ1Õ/^…óYœˆ©ÇtϬ/$w~°øw¤¥± ¿ª *—W6ò‚tž˜÷«}@ì‰-~*h°’µ…|þ5¹…ô=*åéßÚ@‘iáä6¤½EVòÏ¢$,𔇥Ýý£?÷õ_t\ƒˆØp:ç)¿Ù;‹å\Þwí€((ö¨ ¸•4á6>½¤×&‰ñþÑ»Sn·’`æžp 5÷ æCÀ¤v‹Ð_˯U.®~Ô!é“­4+`m'8 ™ØGˆX„+­^Z»JD…H!p.ÿXs‚ùYÀ²kÊù*#ëã¶óG[o™9a¸Bon’³ÐÞÓ÷Hs³XvæÎdvÞ,¡[“Ø,AØ@›ïS&.Â&färö/V<ѼWÚ>ÞaQ~Ö\ǨµAKÁíXØI”Цt¶‘¨¾¾>¬ÇAÂ{ÄéýNÖç’k&ÍÞð»¯æôÕu ¹o’ÐJqÉýdóC®ÈÞ3wåè³_<ƒî“×|€P“SbÕúGÐoÈ©Ýyš’`¡p±yµSî»CÜ‹k19}~fÞDÖÀ|höÁFhd Ö ‰JϬCÎÑ,I¬ó=†•™¡Ž¸tNàWF‚sìE0…êm¦Äˆõ¤A-¯ÕgØ`9ÃÄ“¢ïAòV˜*/Zã—jb¹êÑ»•Ê3×Ìú2Bb._-ë)ûI“>É{·È’±×'«ºí½…{%J râӥĩRm?±˜!ôOs_£0¨@瓵`Òr!´*Q Cʉ¢äL,|€Zçq¯ªÓæH!(qK‹Ëf‡é¦õ†xÍ83üÀEµã«]”ïè°…ä…ì Æ"£Ì?&¯>HÞgÊ ^Š­ ÿq ø”[q¿¦‰£B×ôŹ ;6š÷œ¾”Û‚“ZvYW ÍÐ‚ê€ØYÕó¾j²Í“IËÂ+:„µkt\ϧ)ëú¿$Rèˈ™§Ç ¢¢Dš][A”È d¼w·Ü Ç>|»8eþj`߈Y|p›+Swß‚tR+BÓ[Cãg&\'^sŠÔ~·mèË :ÖÁqh¡DLj™GÊaŒË—5×[ûØ'²¯{wTâøƒ¹ KwVL¼ûÙ !vãÆy/Å^‘ÄGï1æ$ÙݵÃNµ²9“ŒMï¡z"6¿3«"^n^öú@—Ô]†Vh‡¡é…¾3 œùoÄQòêV&%¢Õ‚K2Ö´ÔIý÷@\ªmO«ü‰mrúå‰ðɴƽ½zvª.»÷Qšëâtì?¢Ú,ôŸ…:̸zœ¡þ“™p ú`èë·ÝßõŸ†þ_ê/² v¶Íe õäë)Bc ÐÔ¹Në(s‡nûˆój.ˆd¶‘€p ¾øÜ(MµÄv¸´kÓ´0}Shœ4$~ÊUïg©|QÃðÈXÕ•Í2Áo^)Õ-„·~x*É¡£bC!ydRÊßL….&2нÀöEõv꾉sé§©»ìc¯§ø‡U¦ '&|:N†¦?LZºáÐk†ŠL[FÝFœÆqëÄtSW«F+’”òÂJcçRÈuOPØ àô”±Œ>  ¼ „M W®eæ4u[»©gžÌçbáGßn®(àf:)¼¾„1dýjÿª‚ÞñŽlÛPŠÈ¥f< R¡uƒ1ªñÏìÈ&tøóZÔæ'<´jÖõ­Îš%'h0|Qc·5Ü÷ˆºV½f>¨Ïí­Í ™á”øK‡KüuˆËALö7½ ¯òÕ“‡‘?“ñˆ*ŠÜ§X@ÔÖš˜¢øôfc@^bϺŒ^sw)’®²+uÅc”]#Ë+©Q⤜™¿Sblÿ¬]NÐOèA:ãjf*Ž”Ãx‰R£Ó~„ûº7)ˬRõZ‰ö 2¹Íæk¹©:"æT½±Vt¥u•˜(äJk²Æ‹=ñæ²quîWÌ¿Áj6øJ½ªmíj%ºx×ÓØÿÉfÔõÆVòŒ‘ðiH @mò~ȿڢ†sb¬Ã={œE£ Dt N2×2€( ‰d‚ã»O q¯ œ ]ó\#©yDÙålÑ“»Ü^GÍ5ÿD@=•A¢ÖSM"*BއÊMçå{æÕËŽ©§â¨†Ü‹ltû^ü+°hØÁÇ=íG\®¶Š£S£¨æ’×Mo5‰¬8y,'|4ï± Bëï¯*ý.ØŠO„þ„~â*®P-hg[™s¨ëbur$ù¿byqCŒÀ8NudfÇç|ýpBäãîÊò,lÃ`ô²Žc莉ÆÖ·âÙmµ8¥¹ðµ“ÎÊÿÅô¥‘§$#@þßòX³%Vc50S,ùrðºa‚þÐÏG.kË>Ží3$2zKwñI„¸Èȶ8M5ä λ „–Yž 1Z= ;,HqC5©Œ9³^Ê È1áð7íxÀ»Äÿ¹Ù.¯Y×~™nއ¾Ö0 ºñ,“YíSõÿF'ÛÏÃ;g±8ZãÖ“eM¾¥Ä¾²¶å¬øâzÂ-” Q(ÇÆ<æ‡kìÎ]YˆÉÁkºÊ»©ÜÉ7ÆVêÌ'â¶Q,ëb¥_<ɘòåÈ\¯€ñ³_Sçþ ¥(ï}ÂOd‚JV´þ ÎiêIt ¨í»K+Þç&ºèoøè¾C†$€.ÉÛXIuÜa@DdÛºÔ¬YNµÕ‹ÖÙ6Ö<9¬AÍàçxêûjYš2ÿ¬¸4>Ô¸tÒóI¥•7d&òN4÷y’Á Ä>¨Râé÷ôdŠæ%tU† SÓ^ÛR‡RXrÒØéDÃë[PÓ©”ÉÝZȸ°¤TÖå àÊ p]‡¯÷>*K¥=?k´ £á¹•ª¥åFE¿@iÕÛàwipßÉ컇Óh„¾8F<ÎwÔšÌüKîqÞ6úùOøeÈýgW(*8¶‡HaíC¹ƒõ»QèçÎ3éWçéEàmW ã0ø˜ggã4Šu»r!!šõhkþŸûlÎ;ü`P@ѹ©ªý¡_|ã-c(µx衊†ªHw‹&÷{Fœnh8 ¬ B¿c©)•¯³«‡ – dbÐ_}=¹t~/°EØj/yoýq|ΟÃ8 L²I'“æWHø~Ô%¢ŽÐñìÎ jôªUæ'çõxtÅ¡`Jyù¼úåŠ×…Ë<Æhåü¥Qô¼gªÖÙ/CA”§™ÛÑ–†Ë·Ùª)tkú¨ 6-ŸZ–ÑË W7©!ø³PuFßoyŽ5ÃB·É-_Êv}(}Œ ~Œ±ëÁCÓžé’:Ëkˆ+{éK²S3öÚŒ%7¤Ÿt¤¾\ÃQÆÃ“ÁÞìJ^ãäC—~lNð‚¦VŽŒ0ç„ì ŠöœP°Á®m'¦Q2TFR".P௠¡´ø,€C¹ üõ"ÑåU×´Á×E¡czÁׯp†ß\*»·_Yõ®@ƀ¹t+ïÚy¦i0õ*o/Óáœ4ú•Š Ž´å~n†ÔöfÝÊŠBÖ<¤~ú|TÒMõÅækF(ðP¯cÀÆÖà‰0ì£ò–¤›dà”ÚXB9äø¿˜BÜ㪳vÝFDÛ©ê.S+Õö²[Î(ÖìŠÓïîô­­}Ù=¸ÏA —íËðÔÙU±Pá¢ÑÊ!%>yVžÙÜãø~K£NûÆ81³´–`ÐÑ áàþËÇëÆ9ÎÅòÁ(AÕ;ú àë^¬¦hàÙiÑOv¾(—}îq¼Oa•dë4ãE[‚àGb1:I Á?)®PËæ9Xû¤~Ê3§ÊoydY¿—Éê$´:¬ÕÙ?;Í åì9„½<žNO\ —ãê1Ã#•쫆8èn éréÇÑ仇ÏR)Wþj¾â<í´Qy–üõFX¥r’ÝèºN`Éyt?NX¸k nŽ„­Eéz¼F(±èRo¼Ëa¯ODуò©Œµ'¨îP>PÌÝ|Jªî™­9¯Ô ‡jèÈ€eÍýùPa‚Á ÜåÍä!GÄ0úÁ–èÉÂvГÚQÎD|7 ëA©Èvy“FižjÓ“ ótk‰`3ýcA#iÁ¬e Äßû¢èÔZÔ"C¶Ê˜mGÐ!ó¯ïiißxgJ$|&w‰[ºÓ‰Xì 2oMˆ&?û†Pt´Œ/„I¼ì‚+ ®YÇ꼇í|G•åƒØ\¼ò¸ßî·Ñåž[,}]£´B–V?\ÚvuI*µ” ¤‘Y£Ñ‚ŸÌ¡ÚDÌÓx^'P‰ï“ÁÕ‹Å®ÆúòÒ¶E"òœÑ]ϺhêS0à)´µÇ¿½íwo¬úÚ¥âßó[Ô>h¥Am°&¸m-áÓlËRâÌDí)ñ(÷ùÞÇ܇WÔgd{ó Øö¤ê|Ê)(+ƒ¡ªÈõr›-œ,ä4¼F¼£]¾F¼»U1ŠÍ…AYhv-³|–Ùa4šÚ ÓZA[ñÕ}iêQ±ÊÈM­ëx `Û¼ÊoÓJºnDrNÇa%pñýÙ×88Ñ÷A•8]8Ôå†Hìè7-àoç:½îSjFÅšul]íë4­Y©ò^Q~g?[ÿÂÔlB›L–ZçÆÌòCÊ2x1Õ8 Æ©çïD}·nÎê,ò5°œÂ¹2Ç‘ÀqÃÚ iú¯/#9&nïÒÜý ¡]Åb¾H{î'{X¹AúéiUà¦tÆH*»_=ÜÄž3ÞMoyb³¦ø„ )ÖÆó¡¦Oh®¹d6–G¶Â¦ˆÒw¬Gý  ¸íaÌô¥Œì6Nõ0kËV¶‰*”Ä߆Ôbí5ŽØzuº‡.Î;På~æÚ¡5?âÒšç«‹ÍF„èðmåe ª‚D'«‚€ð0~ñ“¹jX*†É¯Ýs÷9¡îã»Ê»ùVôr€çUS‹× Í´ý™t?Mzp—I¼¾\t.pr*uŒT!„xëÈ%Z k—M_›Î¹Ÿšø÷ó±jº…UÒx¨ªS¶Y%&°0Ü<ß²*·Æ±âûQÑá!‚AÝan6:ª…—´:3î÷–ðPíã¢ÓÊ&lŸ“Ù"Ùé þnpšnXõ­y 3ÝJVLt íŠà&'ˆRA7¹„ze ½Zc8$ÄØõ–ië¡U •³a*éÚvOQÎár±ÙÒ¦%ƒyS¬)} ÷tåtº( ßÎÙ¨ÀóžMï Ãê`i·ïƒGüÄÊlLéÖ´õ F}ú L`êÁ8KÝ¿¦QkýÏÏãƒvÕS­ŸÆÎø¢$ôå±I5ú¨àfSï7­ºS¤<‰>÷×YÅàµ<šÅÏðøðb÷†¦j½tSâ„Àx÷B!Õ{GœîK>êþ¤Ì\|¡~‚y^þ.˜ÙîÛ`›'r];f1éÒF9+YÀ&rÞîÇÉE>|¬”Ó@$j#Æôàͯ<—2e,k}&IòÕ`ý†þeŒÛX¸vÅ¿ÄË 3¨}¦C;æ\¤HpNŠ9A”qïôzÓ&—O‰&Tðù_ÕŽšÖ¬©…¬[)ü«Þ/)‚E(£¡ÑA¡²ºæÎž:öý®Ã„8¡X$ªäIYWÂMÜ®ä®ö9&š#¡åø”¢ 5ãßDþèÐÃWm„~–s¤zpûÕv Ê´9²-Λi,û “¨rψ­g¿$9ã|>¾yg¬g²Y=˜ ò¨0sÒ+l&³i›ù¬¢ÙyÎ_ÇJÒTƒ”@ÃÐIÇ$68WgóOìä­Ö'm'€ê¿õß×Q'¦zVa–Ü%ŽK@Ohöƒ_ŸoAmhF „E+ÏþÓ-8, ÝcV±¸9¾?È[¤ùuœYO°åØ?Ê7ôÛ0|ïoTWß.š…¿Ý‚€ý†&(Äz:´o}%»á£gï+ðÊMWžçjí—%Ñ!8÷r"évíã­È˜ŽÜ$¯ˆÜ˜t[8ïű÷™©¡&:v~wû£ T›‡¡µi¶¾¸5(«ÖéLJ ìÚêM9Lù¦¼ÎoÏ{ãÀÉ'\{PÙðV´âÔ(ž¾Ÿêk¨ÈÙˆ4iøa¾ç 溒­° ‡›PN‰Ad„üx–}üÃûÉJƒ‹{‰üeÂ-àvÑcg‹ˆßÀb›mèÌ ±‘¦Š:¸ÁÄ|u«ÅäwÌáuøµ0y´‰l&|ƒoDm÷û¼'#*ÂN&ÛfrŠv-f+³Žî|F»\bËeñüõÏ¡g|[ú]ÛT  +~8 lÄÝÑðÿÚYžAÝÂ¥eûjUDKå“úÚ'ÊTŽÛÍ [óYõ½àUÔžÌN¿ŽÙ(œæö¡sä`E¯üE¬U(vÞ2:@#Æ‹°ž1ùŠ ÕÒÒߋ߸ä4l °¸l Þàâô—¶½¾‚@/nykuÿÃâô6r„(%ê™ßoNn·çö ©=€;È«ýG¯&àµëË{_Ô?qÅ;úN™'(Œº$6¸)é2¡¿nd}þËFíæ¤ Wæß Û°›ž¤—úx˲ÿ7¨ß=F°"jâ{gN3ÞÃRŸL?ø‚ð¬v!'|Crò“ø.‡íxûZNB¹õƒu†”ߌ7ÖÏF6gú¯ÝòÚfax¦®xÍþIpœ3û¶Ïît0œ­&«výÏg¼\ÿc¡þGk¼¾ô ÎmüpäúPÛÙ_i>é$3„ØGbHRQÒ¨0.’óò§!*R \Í@¥HåædììãÔ!ÔŸ%)ÏB·Ðž[ #)‘…îìb$±‰k®—šÐ‚²cd¯\Ò…,«Ý¹uÚêpB¨yÏ—9:u’Ô¼Xõ§ó ërÞͤ²”dKCOƒõ¢Š1š©+¼­³¶`´âùÂ|óÝ*‡;´’¬]0æ†j ìžþÂÖòqð çgôK N¦=s¦]ìQ;ô‹å¯Ÿùs•øµžè<˜Q× ó)AøwH‰TrëP«ù(L]Še1¢ïF¯ÞÜt$”)¾}Í®¼¿¤ÓzqÅÓÁÂ8#˱ë%ÚYÂ÷äÚ“#ѨlçøW5&ÁpÇStæÑŠº5æ‚9ñ¾ñ›~ל¹0ýc÷²Ôç&¡” Öÿ]×ùl/MwÉ-U} HÏ¡Ôð½ú9°Hac·AIn¡õáà9msùc”É×]ßÜif¯PÐ:Œ€¢ÜN1c`q5[#3†‡F¦É”h@«­ï°t`Aö©3­9ÕÚ®¨£g¿Éå$£†ºÜâ‹êÄ'æ A:&‘aa|Ñ;cò£˜x èÐ̬×åëØ²?\ú~ÃÊE–§ºb y¬?>>ÃÜ'e“pN°U-[â[NÐ9,^“ÔŒñ5UIC€zõcœ†œòÿ rý·›>¾¬\! µ#!ÕåW­¹×Ø®k´’z*œsök‹¯CÇCÍ—QÙÁáz#‰!‘uù½ÈÓ3žˆÉs–/ÑΓØ¿Çö˜³4ŸÈ†\–ð4íß,‰\«F‘GPrÖtÇwK/5ðŒn’p4MÕÖ–KØÏÞ•¼º¢]ŸeöÊUŠŸ´±Ðq cŽ5ÒFf½¨õŒî¶®CZ"ÅÉ-L;Y £Ö·Á©RðÒù.›—Òpêº>»ÿÙ»êÇœ[eêÞJôôi\ÀN€¶ð4hc î7ÛžÑ< ¶TPµ+j Æs(Ôtë &Þþ¶•⹃³ù<çÌß¡ÿªÊij¡ÈWöiQþ’ð/š[ÁþÞ'f;¿o·2ä¹&/ÛT½$ ÓÊm±Kújþ0žo§ðQÆô×d„¢ÆwÈz ¾ŽêßcÅå àŽí9|3ÛÈ “¶O:ÎòÈ“Ià7ºñEš3ØÞ9žz݇pLÈjPZÈæ’×qš)éýÞ;¦ͧ]3¢U8þ[Õ£ÊàèÎMûÉ,2ˆRvcZ:™MÙM}ÆÕOõ²apqèõzØ;@fSƒ”PÛ¢b¼ºÝá­~þ Fµ «¯XWJF¼íQ‚Rí¡)u±OáÌKª€±‡9M_˜„¿jý÷õ0<‹¶W6v’!šÎļ—u¥ÿëÌ×°&ݒĘØgËÇ)ú5Lhx* «ú®eb %i¹QàêÇKŒÎFNÀÙžg™}ô–0À:غ]ñÖï©êL¿†PµÝžtÓ¦Ó·ƒhŰŸÕÛÇ·m­S8Uàm‘éŽZ3„­aÊX”kðGÉ:ø™ ·ÎÓ˜Ü`_öÈêC¹pb4•»Â/qL2ŸÁ#Ü,À´'kß•ÚÇ5¼= ¨8ëzÖk•:Ìô^õ'ldÒ|¡£ï»ýÙì4ÚëñW Ë^ ‹;æüàE•œ æï¸þÉÀ¬à-ëJõ_»ç+DåÏ·Æí~4gØ£1wüüQ\X1jJ9ë`kÀvÕ¾ê!¯µDw‹™3IÉ»Äo%`£Û‘új͸¹«½D¦” »¶ë™È)ë½+ÃyäTТ§&’ÈÖÑþÅZ_¼Là xׯÿn¿·³ä׌Øò˜•Úó†S7çXe†•ªÏÒÉódÕéiµ̵OÚÈÐßIbK%:tfje­çœQ¥EZÉÏ"·þóaC¯€{Пâ }Ðëàå~^ &°µäÙ†í@ åü!‚ój8Fnñ)ª™ãñ›–IrË®ä虈òJËB M޶ …ú§§P‹xûzœmí—–<û4g˜6à`„…»}Z*©Nµº ˆ›=âí,‘HX±ÁÊ :.’œŽb\ø÷¤7Õ¶@-ùëhù\зSdzd)øhœÐükbžeÓŽF(÷c¿fDtÑIà¨ÆïkÞ|hŽ^„:ðÊÿ*œ%™sBh&žò7¼5U£µ11Éœb zzБZß*G1¥OÉíì.]³ìÚVù*p·YYí;0ÿÒ$óbb¡ [NÛË2ŠÇo ‡$FïJ&ôôŒŽO—l‚ȧC)VÊÍëÊ`¥dOÃÒteˆgÙY¦EèaQ×'ºQbÂ:LHs_Ë탿 êè²±çaм¨bt Ö"©°E驿!§7¸uœ|I‡^1©±Z,j߉®ƒ¤ÊM‹MœVõÈ%°¬+ü«T±Ã0Ò\ËÖß^–å«x’°Üü ÞBÏËjM’®_Œ‰X„k3Ï !Ù ·ãj†oÓ‹"wzäWYWV¥„7fg¡ýM!²„¸Ã›Ú×Á(p—þ;ƒŒ©Wd%¥ñ§ƒ¯Éz—ô«OùW‡ í£fÃA\c0åäœÒ°FÈLÛ=Œ:n×–€wØT‹U › !´³!3pý%£XK|11h·c¯/ëÌÍ|¶Ôo“"û‡š‡P ªý\ëo÷¹º9Ý{%Iü îòXbFePQ–iQßxÑ—T¸Òsú¥ß§ƒëÈål+*¶ýWnrãßùÓ$4§ Üˆ\·ãþ–¿©¥IMž¤ªI$Àh Ôå|ŠÉ䡇@”jsÍ™œ%yw¥÷Wýû0͵žùÕTáþ1®Ê­ExÆGG[zfÛ¬Y"2U…®¡ nz|þMÎ>ÏÆ#að€¯"Òóf˜îg¤&'¾TN+·Ö>½s½#g·òåÉB;Ó_7'ª Úä¾þ¥…ØH6ÛbmïÉÌžò±Õvº¬Åæ k>-ˆ:l.>ZòÖBºƱ·jÜ\ËhÌ:ÿSÑИó’U's÷‹ùä ÓäQµÊïF#mþÃ™Š•tªÛã“ðP1B>rkñk ¹7é½ÄUåE.7\†É„xó0JÙ“HªÀPyÊWJ’♌#Ý Šñ‚@¬T5LÇ5€R [Æ«· 3ü¨ƒ7ÿŦ ‘.Š:"Ž]¨G·3KÅ¢ãÆmPÖV±Úúœ ïR§âIx‹àŽMq£P4Âñ£Û÷€úô¡yñ'þ~<ª_±dLöâÒ‰Ö¨5ôÞ…£ÃËcöíZ¤žfb ‚ÉÛ°È[,Y* }gAƒ•öfå…ÀŠbpû1ò¾š"ûpÅg¯m—Í6WÍ9„ÜL…|ÐUžŽ‹ÙÃ0^I&ë‡xª(&CýöåÛÔ·¾ó ù ̘oLr3Œ,N§y’>˜œ6i(ª30%˜—Ý%AÃtYaÆb4Rw‰ † ))fIf m?s(¥á"ßÏGV|Ì_ç•1ü“‰ÉåˆøŠÿUeWЈƒŸZn/’¹ÀQö_»p&;¦ðD+›¾þ¡´Ó]Š›U÷üWlDìüÔÓï³óå‡-«ÓïXg Æ»ÐØñD*¤E¯7ö2ƒ>dw†U;Ef¹ù„C ÂKŸùˆªó*óCv+çÇ åÖ< Y»È$\_ Ï’ŠH7@í+?Txô3ºµÁ ½‘›¿(ÒjÏ,>âÿœmßÅ ÿ’/¼/NÕMEç˜Ýp–o»u©%îÏ„8²Q›9ùs­‡VõŠ#ð 1 sè–¯Zèâ°ô*îÕâXBÎ Ú ¥°Q¦ô2:¦Üe IÈúZ ºQ”;úÐDIfW"ÖQì0ašC }BK–¾]•9ƒØÝ`7`ONït¼ •Å<;ámÇ®‘å£P”§¡?‹·24˜ôÝþ$ü*ú@×€nÃÄ+"L±™¸cãafY)†’™oñ­B¥kœ„:s0ÜG‘ JN®¯ß…ø€øº ùLdøNPëzò”Õú.Ëážtr+a*ÿ^Ô9Úªa/Æů HJ´nÕÝü*VHO«FàÀiR"õ¯WĹióÏ¡„ðªOÜTú+}Ç :“^ŽV=èIôZd梙÷ðÀ-AUÀç¿ë Le¸ì®Z–y}À½S槦¢[3i߬ՙÞ40úÒW¿,¼™üþL£vÒè³%¼N¹îä9Ø­›V6³*ì}þšÝûFòq=Ûñzrz½•¡UaÌ [.‡aøs"ŸÕ…¶`p®ó/f\ØÍ›«É_°ÊÀݶÖ¬Ù¿QLE«Ü RG·fõ©iÿ|èi ÏšlÅî{òØg“œ{0Ë@8tñ‘6óš²/8´÷q(ê4‹ŽH諟Ó@ ø9Ú£É~k|Ø[bŽÃ…ÛŒ…%4ªÆÞÔ0g( ŽàaVu×›9¬U#E–€um=SìŽÇ³áh¾ýò˜ùö&Ï€ðJ‹Š‰æBj{!rÛìƒO汬=`»ô,€¿Ü,-yÌ¢Ý,w¿“Z9w´²Y—Ïž²op‹?.7„å/øÛµâ{ˆIþu0]Ú/炪%YWŸâsß¶À bù==êÌŠÃ/à¡çB×^^½â< .Bª³F8u %˭뢙€iÓµçÛCF2^ŠàÑ2€„-\nø1ž®TK–…Å›dNÑb½ …ï\iÞ=—%ý Psó‚ÁŸÀ`™ˆÅ‚€E;çc‚®úk|t! M‘ìºkM˜Ó’³ÞÄQûThðw/´EÂîl2k'üæü“4ö—þpñoÓr!ÆéHš·{¾`Þw–átÌmžÝ™’¿Ü=ê±…H³Aâü¯’$ïbú$¢˜æ„@[Á˜ÏAŸfÔÊô4éEÉ… »™¤é®<€õÕF¥(^Q‹PXÎ|\¡à)És^ýS°4“GÇZÔ2—¯ó€]ç#f¦[XÌWBŒ˜æF,‰†ö›‚"ß <º ¼A©Ò}"g.õ—nîPý† ô@y"¤ žjÃïèá0¾Ú ÁZ}}œ, óÆSæ%έ¬ÔBSr.ÿc›MH‰ÁõâN=Ñ;¥ÿ˜M¸q·Z‘À[åŽk–Øryàw9¡dEã#Ë Ó]ö6¤e:ƒÜ«rÕb~"‘[ÎR›@ˆ÷Oò~NÆø€ŠËwI] 5léM c’PÉÌ^´+ —•P3À~œ !ˆ/£nÍîRoœãZæíöhfTô­û¿RM§Öóÿs󳪯ÊåV¶Xn£[‹bI¹3xˆs1xh|ˆŒVˆS FÞÉìEK>ÿBÕuוó¤ÚªóKÎzk~Ù¢&… ^Ï0a=lX»Jmê2ç.A/$WښƸ۵zhJPÖ¨×`pµe±0úC¶TY}›ë‘Ÿ7ƒª#£õ´Ù³Œ/×ê´jEŽÛÐë¬^äÅ…ûtŽöñ<>œ¡à™ÏÞÙ9=šzÞmÅ62í”!X›å4Ö Ò,N6N”dÇÐËìjmB(ø¥¸Æ—<{R"ü¢pž!n»é£šæR% 7†ü—ÿ}E`Lp?¶Š¸x°b]çã‘_Xôéo´`΀N©¶ gº}ˆ*Ϻï‹Ü_I Xv‰’µ8_óÐñOi)4þúYè>ªQ""_O¶?!Þ ÝiãW­ó9ô®5Veâ.ñuëÂëvG%²´s^š fпQ’ûÛývÔø¥½ð¤s—lCÛë:,"‘C[6bê3'õc#&.ZŽ*xgý®Á÷¥g&?:%~:y®Èz‹8!•¸¿© •ÁsTŽ ž @èõ"<˜5³+ñÓà:6Ê‚…DXZW ¯yw"RÌ9Í(½÷ªÑ¥›ê‚£úÏiJ*‹”!©c8¡Dç#:X667ÂΫ‚û^#¹›-]C »¦!6 I|ö :J¿ðŒÂ›4ûSXŸåIýFŽu6þóã[[-ÿ±†­°WÂ_Ì BÑuÙá:Þ¬íáØ.õȃˆ’ƒk.]cKz²# fÏ• uý7F´¤,PxçÖ¢u$“¸8@Kv›j&!U(™‹åôŽ|¦¢ayÿ âƾõ«Üzv†¦3òÌ*RdÂd÷$5{Lœ•¸f-T¥b Ð9ÇÝàW÷Q˜ÿ~°N6oYú:ÿy¥¨Êɵô¼TëfÚ}'żHyÔ¼2cþc:‡@êìáX©Ñhƒ°HÈ¢-õ/íÎU*;p> ¼Tx­'ö£æöúon‘‘½Fܯ½¦ü¾i#\W£ø±D È!EÀ©ª¼h[/ލŠgD7\©SL»ÌëØè /fb«áƒ«G‘Øsç¶u…Ãa¾Zi‚”7Š8ý·‚* ðüë×Ä6»A‘Ë¿Ÿ=:]±} uÀÓÉG«Éc¿f”  É[ƒOótꂳsÎ1>0·Ù= >Ï}†"šœø’€ú©Gù’ÿÜ2ÿIíã…?ši4<FÛJk;äæÐÊ[X7“"ì¨rN=Ý}/žWV<䓌&òw©)=ó8œBXj•ôUO¾ÂÔ€,~Å…}œ¯²éÇÂXWSÆ)ÌG§×ò?Rî[×q1Oý,çRHzÚĪ[ É‚]ÝÖûy–†!€Ny>aƒÙSiAzû=’œz:uG2ö²ÍOá~ÈD|£[­±ÿb³@.ñ·ù¬^V-„•¯é¦‘= ºMaáE­ õgÖ¶tBÆ•ñÈ ˆCËxÕŒ¶_žÑ*iGÈèÍx.öíxôx@­Hb) ‚òàr¨0LÖcyžÑ·#íÂt¼÷u•x3*`ÌH®Õc!‰ÃRåáÃ>¼«#äìæ6ûιù}k$ÏvwN=‡»ßl2;”P´@/“¸! « d'ñz†RR¥âIÆyÝ@•ì@J}šRL†¾i2G­† öŒè§#«O…7—P¿¯6Ù|P¸çÒ®Ô‹¢_&hÇáè¬]öžŸ¦¼'ÖÒ[ì2×bÆñ$Çämüê½dÍ‹ßDýÊKêl¬"@Ëmå/ù3D:ùŸé.kÙ‚W¯ðf2·&—9Þ‹™þ X&Øz0|£Àéz ¿u0}kár.¯K¤¤|"`î· ni/CÍ‚%qÀÞcÂú—’-ÙͰ¾áÌÔUûì›Ùi~ðªaBVSõ Ü4åúô”·wžsšQq-wºJ²gƒ"M¸·Z{®RÄ-œk~(óD—š…í^ ã— ó ƒïJ$9”hÑ‚9Q§¦¡qIœÒik¬¶ëç{u ð 4¢ÛãpúµN{¬vôMÒaäZùïbh8ÎÉ=x •—Z¿©ÒýNkíÞº)üîQhV=pD„i€ÚÇ9Þt®ÈBnÎåõ Ý[•²§Një1nÕÇãÖ ÀÝ팾,†¦2}?n*v¨H:µ¦–ˆÇ•êÞCµõ•àXI ûîÜ,qTúX”Ófç#TéÈùlGs³ªÃv+,E#iuè'ï”ÕWiØ‹ôÔÉF²áé¢W5N¾Ë,—VH¾6xm»8ffžf†œxÆ’gj•%. Ð\üz·ä¯AOŽMyØ_N”³¡5é¨ÇŸ¿¯öÛ}¾ÙÑÖã£zÍÊ/·þ«á¨‡Ônò‚µ\½!|ð¯ÓJ•£%pÔØ€gs+t ”´»ßÝšX·@É¥Iè9’WÚ#¨Ã’úî:ËeÚ£¿Mš@›M"ŽïïtU\(Öí‹dðr¯ÍZ;áÊ ‘ÂÃ*Êu][$«'´èu xù-ðýç£Ü°€Ô8؃ç9®UŒþãÏ{ ø»ù5ìbbÈ/…¿¶|ž­Aü„iˆÌ2ÎpFk&¢ÖC#‹†ˆŸ2oE°ƒL \3JÃ/ ¦"PÑ›kÄzºW`ëd;8C˜Æ ¸ÉòÆ|1ãHSiÂ#¤Œ DXpßy³æybÊ…ªÿæüÊ×…‹9ÆZ|®Ï™Ë^3©Nä™òS+H¥¸­É]‚2(„€ó "ù¨ˆtzøOµ&i ÂãóYÉRµ0SdîÉç Ç_ésp:%Ž©8kÔQé>ц3Ë7YLFèõŠwŽ»l ­/,UzõD«jEÉÅ‚>’uäqF9¡ári†õC¶JJˆ+Wzî3ÿ窱9†ßØÛf÷nNHHºC=úýfç’S²Õ1V\ z>¤ÓfδÈ-¥Û°ß*%6”6~@OüÃÍd·k\ŠÌmzÅ^ì””ÖÔÃ,Td­ú‡Xüh*!]~Û–¥býÕ—çCÅÍŽX¯¬ýqbšÀy ]üfnGùQÚ¥§Óg;!ò:I:ž=Û×§‹3ºXù­ºâ”öU fÿ?9Mg™Òìüj{Ó°z\oâ³S)Sþ]îÞÃZ×Ü–¢«€ý³0ÚpmÓcgUÂuƒÞ?9#Û¹úZ²"þdžžV¢vØšB¿YRëQ³´°o‡ª;bòwºül˜mȰ¼RýC‹o_>²b<]ˆ´Ä–¢ûŸŸ)L”’I|5°æ¶;Õõf'ð`“yXšúy5·[Ô–²jÑŒÓ46m¶æÍö¤bÏ´0GŠ­tÀ´ZΫïÛÆÈbÉØ¥$Jñ‡°!„¸@[[?Çyªiüqî0Ü^n×z¨Rýú#c‡V¶®ÂÃÁMPúy#N’´ícSÎaeù¶ÀZ8Ý^"óllh6² öa„PÓ=ù\ÔõîÉJI–¤“%¸€œÚÌûpÜÃÇ ½Šliv ½wïÀ[—ß­2îÛó&=üû ˆ6]rqÑ×I§‚|7º#äaöôôÝ«°èªdá´oXÌ8F+æIp¢rwZ£Âî"ÞÆ]‰ÛûPÔ@p ‘,+gåÈBÍÈÈ¿JýÎüßNM©¤^›lVÂSK•<Ï­¡á 2½®Ú×üpåaÊÞGd1pB‘Ov­ØÒËlySËmÿ…óø_$Â’™&÷ó,ºY«FjÖ¥n‡½b/k‡Ú³$ñ‡ÿöžÂá[$üÂBÈ~D¸ äÝ>»|Üè#–;}Ð$'ö¤òÈ¢¹‹Ê—5ÑIX£éCÁÿþØbÒnOë³J¶!˜‘4¥È]²¼ßŠÛÉÔBu?ŒüŽX+Aj)ù&:Ví‘ >™í C¾G|Ôm’•z S³=,÷ƒ)ú7`ü(ò7Š®©ª×_ô¼Éûª j¹È§}Ǻ‹ ›62Ø"•pŽý™¹‡òxÚÉ4J¼Ïª<£3uÔç`®ÍvM‡IrhLþ¼ôk(@áåݳãÈ YÐV³&ÞvGkTݽ¾2!›knhH99F]–rd<ñŸ ðh_ýzÿª2‰\hMõD„ƒÕ’r´²ÎßŰúUK4¯¤IRv¯E²¡ê<|×$‚–„Ò'!·lžŒîW§óÚé´ZbJR¹fˆgWJÎxnùð¬(òíáÃä«S8{…HÒgAé#ýÈ¥èJ×>QË üN®g_©LÞOLçQ$ÉÃ5žAÐ]D{¯ÝŒL®z©—ºÇHSvC ýê0NÙZp´%sÅüM°{iÀôQëAžoˆëÛ@"9ˆcÃâAÓ>C¶Y¤À.’HœØõšÃãÛËÜ'*þý RÇ2•U4ß–æ ’²–fä‹ÉørdÅÁÏ.Nbe£ùl2v¶3J½ÞYåÌd„éºrÕ<Á¯ö[*$º€ ·y0nø*RñÚÄõX§™¢NYåÌHÅüòl¼œ!#â cu€ õÚî ^΀‘Ͳ©ñ·Â•Ĩè…‡†1Põ2,Üø#• ÀÙòüó·©8 @ÿ?;¶´Ào‹«ï̼.8ôt>Ý9¿#iç}§3Ø2#‚Ï8Ž”`óð'h"¢yÇe¾…YÊv/¶ÑøáäbÑS¶­ó(ß™aÚÅ(jØ•ƒØ_=!`€ŽÍbçµ&é8ˆs¤2ž—Q—-^vÅ̦„WJtÌH™Š-ðM„)ÅJÉ ‘¢6Ž-Fad›èC[+âì4 G_4BpEã@™´/tæŽ92/½žY†ê®˜nWzÌ&'¶µ*ÈQó${™¾”q-ëÖý >v"r[„A¬7õPRϵ[*ŠøY×V"¨õé¿â‡J^AH.Ôp)‡ÓÉ!å¯Å¯ôüŒî†`é BîRXøèyÇŠ%¢…{ÃÚíUÊÁ*¯ÀrR;ž—zöb}v¸!Æ?evâyÆ_Oì²ã·bF!ôz¶Y Ü¢]lXwõ×®'úrªÿOTíÛðÕ29¨.­ãÑmìþ`GøÄ98¥júŽä§–ͲÕEV†ïP¢ö)l¼ÿ¢{¨Ø®^Êñ€!òTU4}^&C =me ¥çMVRxd¯ o˜•X6È+Å×¾ &BêÛµÁùÈ`>‡#s @ÖùËf¥4¡}õ³O=,m b%ieVG]·zýªßNøøwDÆCe?Jrj*çÚÿ¦í9$>Pð‘?Ãf·ŽÚσ•Ï‘^@×ÀU¸Î"±{YvíbkS/Ã|#4¦ªV…Yq„·Î‡¨°~MÉr.>a‡2ˆ]Z©[›5“Y«Þvâ#¡|ŽÒ%O¥*ü¤TÒ|(̼q¨ƒ¦• ^ÊßÇœ»óï `v¨P ¢Çcã–K©zÐþ,í:^ w@ê̬p§)¨Á³çÈržY·¤F ’bŽ2±=F²ÛÆ9öj1“w¦ã ©0%iY%‘ÅÜää÷ U¬2Ò½Ö›ê5Nãz¦Ät,ôÇð²¨p¬Œ_OÞ|1âÉ3r𳆨µZj FWÕVl9g&uœÒžéŸJJh®?ºwв½4/È0ì=Bö¸ó¬6¶CpHP–«6ñn¼Ûìb‡£„ÒX^—U`‚wÐæXyqšù)gJÇ `]/3yäpo²pyOTô;gž.£òý‘Jþg /KYhäåÈ•b#»Ïµ˜>„S˜ý ,UD’j¬œýDº×0cÖ-¬^Žd Müšwf“¯@Õè(I"öcŒ8ó…8¾ÜÞÇlj ó!b˜&Ÿ@ž­[1Q¾ú[à˜6R‰ùt˜’,Ž> ”M° )3ðÛM}™Ÿžgy1ê&¦o"öà™E-z¬pñfF¿ÿdÏÿmÏ#’*ÁrÐUoáºÓ*·¦²ÂÕ2¾ÜñÖkÝPN4á¯0R>’ôÿ.ç¼ï`*a&“ÁåÏ òZƒÁf_¼$ðç:?`¯Çù´5ÌŠÐòª4™Ä@¬íÚ7T¦Ê±ä}¤Y5!G•D‰£,šR8Ÿ+ðÊjÜ­i ­wbk°Ò"Ÿv˺ÜO§8}uDU.·µ@ØiJK'X]ƒ°Ô%ßÒv…±4ÝÅèIΛ‚²c]T k€Ü¯SÚkà§œþdì;÷òãähóF $à,:çï·Œ)T·®rÚÉW€È÷OFôsØ<°|îrËR²ù~Q’Œ§–´(ŸÄ Rkð¨…Ïf,ìûè¸'£òåU˜žÎ€ ®"ºóÀð\)¨R /ú_oˆ¥F…ý[:ågB³€Gšû%Xß­k#/8³34ìy†3;æsW$)s‰««ÏŽç—¤=×£yÈBšCûP²* ƒâŽ›ÓâAý;±Bôõ{ñùPÞ€8ÜÀ~|Qà »âäà»J͘+áÖŽÑ(ÐÁrÛ:!ê ûj²½­^…#²öL$hâdöeåé"4-þ¥/³y—/ÁPP^µt™˜]¤p#|ÒuüÙÏãÄN˜$I‘èƒVk%k¨8¥Tr*9A¾ó´©õc/Õ9Kc½J§¶µûL>éâºþm‚}ÉS¥ë^PKµþB¯¦MÆñ›HŽ‘ý.œý Ât›â-˜žÿ ÍF”ƒü=ãs Û-%9\vË}|ýÿwMÍȨžøt›åš::o'"ŸxU¹Q‘‡TêV{â”$ ,çøm¤*\i·ù^]ã*<ö:õXg¼áA}ØïU}ð'xbÿèKAïDAe ìÿŽ‹“·B_é9|=!}Ï‹ìA»‹·À…lÙ’YŸœ¯ì¹¶°½;+”BCu¸f\”© >Šð_+&=@@ÿk©ìËßÔi™1w)ôè“”ç„O][A†^o Ç™ ¢LVhÚÿ~`]ÉÈ^ënŸœÇ•ùiÔÿ¼I¥Ù†`O€g†ò)%Òrª.¥ZÊN‹ï3V2|CŸGÙK§¯&÷’ÈYÔØQ,@Zë u¸œû/)·”ÁÛlÿP³ {IJ|Rã=  U2ü>r®&@Ë™ˆ„ZnÜ·i·\˜T`““¸€Ç~(0êÃY©Ç¤ ™¸B;[z̸ô3‹‹4™pj7î©bœ¨ôq½q+‘o¾÷ôfVŒAâçÉ;iðj,tš§mÏEw¸!ö$f+¼½§{ ›À85¨Ì  ,ÌÆ½ªË›ç·ú7~KóxWu´_Rᦓh.Ž0ó‘cúÔàü:ˆÞ(ßœžó½×Z§H@°”E¢Ù.SH—¹Hf–õøØØT%ty—78c¨a:½®zå~ºÿ×!õRX5¹Ø¢]Lå]¨¦-¸V•G¹~è4˜rC\_–>K;´þÿÀÏÓÃ΢—&“Ž’íØûÝ×›·u—ÉÕºRþaqD„¿ó>QÂ)á¦A|"ÃuL|´L>²æÊÉm¹¼˜·\Ñ©ñž­VrĤäÈ5‡&‚«­äy noüŒU¹l øN·d¸5äQ(·÷¹Ë³Iƒ?2â‰Ku¬ŒdëOä[¸,žÿ Pîˆ]·«[ÿ¾Wªþ­¹ÂZ°’é»îW*þ[–e‰ž»bñ‘À]î;«ï^ôe³óãÙq½E³µÝêîQw´ÿ$Ü€µK-Ȇ”$‘ý‚à™–T.U/e#o‚ñ– /_ž”±P´þ Lv­VeËСVì9q¥q§ëÆôÿ)aR»:>«Ù¶¥ÓÍ=„–O–€…‡œÒ²‹¨±Õœ òŒ´-—rh_d…llø»Í#bž‘3”ú{áŸ1 3n…¶Âo·6CÜ<~ãbL+<"QÙmã“Ìô؉E.ØÚ¶GþT„jºÑ§m7’³?†a— ¸Š.Ÿ‚Ž=N—%5ÃL•ž÷ÞÏÜC!pH&˜‡ÓÃÒ"ø-õŠÖðF^Qm ¢ý4 ÇÀÍWBC-:ðè* ëejs€ÑÎÄÅœõv\¾þ7WK‚}JzäHEuü{e ~pœ—†wŸØSN޹GMxA3-RdË( ÍDŽ3‚ÄŽäï9ç1Øáêž±ÕÐAçZÈ«yBÑ¢§s~È7$ïÅžÖê3Ÿ¥.t S«×ª…ÀO5#¹ÎìL½“ž¥õ᧨ÊËv\ØàWV5DüÌŠûÊ42W4Fð×¼¼6±3ù.nBºÜ‘h‡ÜbÕêT…á1ëþxMžam,tñ{G¤¯dÖÄ#{Ÿ¸Ç¶Ñt¶g*3¸çO­Þ»¿IœÔç¥TÈKå¾fV¼èÄ'Mf;~W=“ðÌŠîC5´Z$~v^¨?éCUb¿¯ðô‚r-ÂZd“»Þ¥—NIP¢ŸÄ²…²ö|¯7“„àÎ?.ð§ÌÞØì%užBn~წћRLÅ…O³zU„íã9Ò²€ÌEYwÔ‹;˜¾ÄÝÛw Í€âº¹Vq–(™.ÝÂõ …Ñ/ NBÓNˆäʘÅSÇê)!n Úr àè”Ú‘ñÎîÛâ G}¦=“½Ó×(]–Äó`bFÈÍ'H=±U&ad%7)GêáAª¹ÝRÙÛªÖ3ë\l?oba¸P„è‚5¿Æßè-çƒÝM1¿+¢¿a‚2/(©P\ûw(ü­öoàÛ§þ?´r§Jän QŸ{q»NÉ #ùßUö;*E+ìíkŒŒýKl–½(=[‡ë@ÿ›iåVsGòœLûo<¯„ ghAUb‘ñbcõ‹Sñäo‘XpÁgRòklm8޾_9Èô1ÆÈ——̰ú;û™ ²O¢Ñæ=ÉÄ»AraÙ·ò,'àúŠƒÞMÆÓ»óoy5dºZ÷ï>ü2… |>×g úKg|õ)ÚŸ¬*);D†u¿”y-žÅîÍtöÁà9¥Éylœš‡«j©È2¸Œõ lvÿIf鑿ÛÆ&¹V¥¼ï=‚z4^dšëԾ؂þcù5C?ÉjbýÃ*iÙ‹*MltD–2X¶cy=b¬ µÔSÆJa8¾?] ÅËv™ ¸ •tŒß¹PB½`+et4º ÁJòWVJÊ16q@¼ì t²ã¶¼xà <}‹*Å6R@UcÈ›Þûe1ðgTHmA“’C¤ª a[bt‡QJêö|{%3:#GoeÒ¼÷AV)º±çاÒÐf‡7Nš ‡ÔÍ",·›Ÿx §¦ØWƒ˜ÒDÿ³¿• Ú“Pwæ &k>Eò6׃‹†¤üsÄ4$+ X‰?€‡@äÿ³°iQ2Bú5ÙŒ,n“d.5¢<¼µ®!À§ñ¾Û<ÄÖ“rg¾A˜’¦Ï«‹4]ÉÌìdYâÕºôÑÜB³‡lSí*b[”`Ð pÙE‘ì†õç îçf"õÚê!„uµ¸ØµLÆJ”xsŽ êô˳OÙKŒ'¶ßê‚>üPßÜ/bkƒ¼njÞì6àÖžÔº«¡òÚTT?ê™ð¦xz•K bB‘üj±‘žê‡ 6é™î¸ŒPr"­k$‚¿øç·Äøƒ<ÔžCäíƒâúø÷",Žgõ††+!²ÉÞÞ:be.5°ú/0ÁAð|òÿ£qRz„ÛlÍá×9½R>éB–-8UÜ 8øñý=s÷æþhš23Ìm­±o𖳊Jx^Ä $ûwMÀŸ­…ϯ›´?«?o^<ü«¹¤(Æ67î5“’HéôFLÉ6ʽwQò±Èa@övßE^c*[FtOPØIÅc£Žíãn[;•#¦üU“Q˜šO™ãbßöá'0Öת<ýzNGÂûzËdçì+þóà@3z’ö´…‡ƒf‚s’M­{¦Qc4 ’&¼ÚCrÍ¿âþ¹sá@Ñ‚@ÄM²q€KoGõÂDÞ.…ÈeÈú°KøœLMHÏl@ÔúÊÛjˆ+'%œ°¢‚í¾]©é±o‡ˆð3Æ6ž®=¸Ìûo`lö¼¹Û‚þÓŸ¿K„Ë—ò—¼渻˂kŸc|Y“'â¿Ú“÷¡y"~\eJBì˜× .*š|Ü€}R ©ÝRàö ^ÈÉÙ+kINv¤IÒ?UϨ+¥Ò-~øÂ ¥¾ ʪ„ƒæršR”5ýj‡nòÙ”fé{iô&6í‚Fíþ'¼AV¹E í½^ˆmÀg{M>)h‡[-csm¾t*±*¾á…×u±Óþ6B²A:¬µY"ðµ²XC1)µ…R+É…}7lû.vfÆŠu µ^ÉIée¢š(]ç–»Dߦr³½ØmÅŒ”$&Ї™S˜z’)±?AV¢¾C|Áòa²ðw…+ïNòÐ_¸«e¢THŸÙ%íÎ«í·¬° Ù÷x"s-©.­å;mxZ²Q‡ÌÈìRšt6±ˆxöº £ýþ—sÓDÞ€G"Ͳmç„ùâÍíÅ‹¹ô‡þvßpìÓ6LÞ{„þ²qMèjÙ%ÃÔkÎB5˜Æxç`&7¿Oƒ÷ø#ÔßWÛA%‹ bW½_*½_ñs{/v÷×Ã{Ø>¡µp¥H„êÔv=%~6EPfâìÒFVšÎÛxÎþ%Ý=6M.ù*tð¤…ÔL›éëDNŒømw.Ã…Ô6¦»y<´“ ŸÚÏÐ\v¿Ãý]âð{¥]IÉ›Öì¥àʾñ‰ Æ£sÕ¸>rvÄÙdÙ6‹|Èš—€Kr³¯pÝnf;»™Eá²<ÕÝ ê–½B+y^Rýv^KÝg†4=X½¨,tË OØÐt6 †Ö›w¬´Sq;÷@ÆÑ¯=hJ! šŠìRóâžüÜÕ´‘î!o¾U”@Zu˜YÃóÝ9×¾zëýTiçÃ\ñßu¸ÏnS(’3ãºÿÀ 4˰­Q57Ö{ŠD‚ÜG2õÙG±¤Ìå/#ù—Źà!hN‡·‘í¹ªW¯û4‹4kãœÂ¯þ€›5Œ™x½½ºUà‰YÅ%)2»Ä­ÐS‡Éw—©×Þhœ_k‚06ñPå9JÉ4o–änM7†¯0"‚úìîÞçrW4Š¼Ïº÷„ï3>í«îWYͤØíÕð¹XŽ+ôm?;˜óhHþKOÚOtV2”n½ÿSÈíÎ}/²ù¸Tüª”IëþI§¦Ï]²– óÃýR5¬74«Xïžr¦¤­ä!’)I>òÌÏðA Æ‚Ãáye¨ÖÈp¶{#RéíÉÂ=Âz®m5c<}Ý“Ëy„1º‹{— ¾ÏŸœ*WŸj•`Uó¤Þ_â? ¥„ˆ„ü•Íxe Dë<þU«ÄEþ.ä÷¯¨Q´F”Ÿ¢ä7p,mSˆA½€ûšÇq nY‡’½®Å8!{ h"42'åwoÖ6D¡[!ÛWRºW2q¯dæ8r#f æð­´¸Nõ5›·ƒÆ è õ‘“¹$yõŽE&<ËsÂŒ…+TÌñà’áâucãRå©ÿh¨¢¯ŠîªÀ°s¼õÌδä›þŽ$П£L31cr"¨>¶œãµn¾ÎVâÔ%¨Î(Fq%jØÓ¨¨ìöOR5[c#ñ§4 ëq.h÷À ~ã+–ög4<‹E,šÊÂ~½ û¹r<æ/-o !øln`É8HæÑ‡X7ÑD8Õ0X|ªï9':xQb.ê×éà½IbŸîÃn«9ƒ øí|f+EÄòY›£Ì»=àdªŒÒâpù…z/kÃj ±6MjÌÓ•¨¨^³¡Uc2Õ1B¢¤Œ9£™ ºêaŠ\÷ÍVFßÌ+>²5ÁŸÅ+ÉÌ(Ø[‰(³qc§gó½.žÄ2ø.pÑ1†åïz ‡ö 8‰œ\ˆnzdƒ"3tUÈ ÷M”Lvý7î0fÿ¶€ “ÿ ¾uDµ%Z&ÜmHή^Þñ:‚°x­!£SÞg¾­o‹Ñ>¯)5ÿYÀÿg!Ð-æm™";R˜VMÛ;aß©±_WâFmBâ\eðãÚ -:¡’Täf»æ|.Ò,èªÍ”µÎùL€J†o’ßÉ‘ðø†Ÿþ}×w²½2êýh D7„Ê©‚Ôž%Œj xCü$ÙîÅe{MÐ9*â‡J¯™œ)8’Ûà ¯âÚ4 °ÛìjCz{™BiÉïï9Ç`Û΄Å[tGŸ‡åÖ;‘‘0L—b5¯bƒÄ‹ÂÙ9%ŸÉxÈF{Ãá`÷Ï© àcÄ0Wpu?0l~ÑpîuN‰ÀÃÞp`R¥q'ºèœY¯Ã$\MÈÉ™<” ZkHÅö÷N^Î’øeÉ ¾hÏœm›ÞeÍL&ìcÐÆ¦´Z¿Å>‚‰©&uŒå³–¡ÄܸýôqÌ5LÆ<ÎIýµg$K€vÃz_²ÊLÈ  e­žzð)”/Ñ[©Ö¤ÌYjä»–l´;¢¾Sæ-wXصàÞiÅÊ_5V‘‡S—}˜k Þd—аpbõÞ|ódí—âíoÕ$™ U%cE˜øÈ¸DâŠE2z`Õi^0 µCWÄ“.Bà`É ÃŒ8ŽHLe:ÇY¥¸Y[ßÈzÇ,ëR©X¥Æšš[ÄñÙÄäQô|ù3‡àCÓ4µønº[#ô+Z4"óª!5­™àŸêDé…?zhÒÞéHíN­Ý_£Ð=òõmZQ’Á™ v°/¢N±wŒ0rôÃÿ2Ö‡¸ŽÓY:>MÑYÚ ¢-Ý;d@ ß^”V ëÇåÑÿü¢'¯Òo'~ñsôt•Õm-HMç<ú =™¯©[È£·mÛÛ¶ÄÄ4i=lf… Ù*°Fºì–6GÈí-©f%C,ö0äé]YÅ÷>Ïn¬áŒ¬cIÿGœÜ‡öÜ8µÑ¡G\æÏ©Üœ®!h!qö—郜n4«†WBO#5ì'9ƒ€ðÙbâx”P2B rZ¡„,6qÿ?P Yö¤ô¬•P7à!ÊOþÈÉ%öŸu„É? îþ¥¨ÂÅ×D6E:¾„[ÙîHÆ¡*Ü0Ã>Tü8ËÈ"%î= C3] £ÅÕûË2¥ï'÷ô*C"/¤ÅŸ{~¨Sä{²2$WÆŽ*CÞÄ¥µ±|Nÿ MÏØ‰¿ãܦk~WSâjsSõx‹J¾‰ž!SákAaZåV¼¥sœÌÈü:{.öO©Õ!/·^pKd(3Àïá°Å¡ÜJ"—üÿΑ½<[wüÏÀX‚Ù˜ó¡×Áž‚%þ¥»lçÐ1ÙÐLL1ó0hßB«ñÈÐ׫ä+¢ å¾ØŸÂu"äv¸3Ô•mù[¥ñt)leÔ |´Ó`§ø¹2œw}šÏy,£¥(œçX))RMƱwj¼ÖŸ´è)2È ©%HíOÝ%õÞ«n—mb Zw£–+‘›kô—·À?Gþõ™w¸Ð¶ØÁ}•± ta…ü±Pº8`C¡DŽ“b‡`ð¢ýAK†q ¥?Õœ£YN¾–{SÿüiÔ ]roI+"XšÎÒ}íA—†d}Éd_¢¨¸a3Sæ)M‰46bB¤Ùo¦}JsS¯-f6Õ]ŠgS ûfòM`l;KgKþ±¿ O„gCá¼fÈk½{«\Tz]TO ¸´• vÝÚ„¶CdÁ³‚ÞtšiþãÊI¶0–Rr^šOJÇkç1ãYWS¹EOxwF¼¢É(ÂÁ¸=TU6ÑéÛwH2è˜þm”Ð{¾ÄˆÇHó‹¨ÊÙóáH¼ ý·o—˜±Ïë±ë/Õ¾M Ô¡ï§w*F˜—S²ÉóLîBñó’œ@ïe Q €Yg#ˆ‰KcóÔŒ 'ï—ÂRì¬_nÃâŒòµ»‹5HÇÏ…B{>¨åà a¹•H"Íü'¤Lî¼nÅj–ðÊs ””CJn—Àž+"¸Áøiša ò‚ãFŠ$ ð=zdÿ«!ê¬ÉWj†Oy¤¡ :Ï–GYÙ·õM æ“íóƒˆØKfe5-³¨&# ‚ 0Ñmøe<ô¼¯®ß‹Æt‘©ôøéØÔ€%NոÓu4&´ú®îšE LQÉL{Äy¡}üˆþ´¯‡óÊY¹ì ó:ÁŽàšC…¶ÅÎÄIº˜LÎãìÉG#1‘©ÕÜŠ Å‹ºõ´Ëlå9ˆK<‘zΜ¬XÓ©•Øž9 ·®5_yœøTÕÌ%r\@×j‡UÏi'ÈæGÐYâËsÈ»¬ÀÑ|ˆÛõU¿^´¸ý…þqŸä”{~\þÝgzp8“¾Åå´ÿSx¶Çá rÍyL;Xµ©&zÍ'$côõ lz´•ùõçI‘Чú0á4{ŽUHTÍEG9WLºq Òìžf­’ÛãNOt@ƒõ'²7Im‹y¸`¾Ë'Ìqq}ö+»˜R*¶‡$ÃtJ±Z˜jrÀì‘ûÉMÑŒìúS‘s4”d„M¾xœo;ͦå”pX=²¨âä ³^nW“ú°°@ObvJ•÷Q# 8\&ʳçx —Ž¥Íb éD‹‘󇥞céÙtðû¼ÃE’vƒ]§‘sJj\²+ÖÛ™¾œ[ývŒ‘ÖÞ 0³£Ð[ø£r ( #Âäó¶òòMÉ{ F"CÍþ íg/Ð’ANZ«V]á¼`Zí}XQºÙ¬c2f ÅÂɉºÜè^Û }&Qlá<dhÙ¶TÇLfí2iïù5²A¾6‘gg¼Lv8ÄèRg îx®¡ù#)sàÌé¸ ìàsË<®î ðbÒ/3hjÁF”î¡¶ãÏ4Íg>`ÒLBiŠ5›²JÓ€WVL§?ioê°'FUzŸ1!J ô§13%­ãÊÝÂ`ýwO@ ëC›°žˆ)JM%ƒÂ'Ýi¶¤˜?’§“ÁÇX›"H’G¶Ïú>ãREÕIS3Jçq±M†8óí蜟˂›á·£øÉ£öÞÏÈ‚ƒáD1¦CÕG}Y{B¥p¹N—®}O{õ†:„U“ÄM¢.Aofo)¡¿wš^À¯ïH—¸Þ·à£È*zÚL.¼?ËÖÚyj=êÓE³«¶ðqˆZjî.kl@Å’ç.¥”m÷ÇÍ®±ëA\í±HËc…Wv @Go©¹Ñm¶çaúÆçµïAç㈠~fì ÷^“I´AÑÝT5g8øÊ6²sÕë3[ŸÝpE5ÿ?Xˆ];xj¡ ý^xënBó3Õ‰ÖKýqKº;ÜZ°K`|(P›i:ç—¯Ÿ‘ØýòaóèÇýðN‹×ëy’LQ)º‹S…Œ:Û^=è|Èò­qG,Óg,‰†”$þ,høé%µ½¥Í¾] Î\!å´4͈ÍÙÌ 9 ìi¶l“ dc¿€ iU|¼«ËL‘44®¢/<ך7®g—ýT˜5‘øÄ¢ò(­á”R¹8 ¹õdʹÒ>™&–sv¼¶õ ‹kj¢‰Øi-û(.E±í KtÓÀ@|’“‡­þ­°ÿ(;÷›—«9_Ôœ^ü#P°/S"•×û>ÑMÚ™ 7Rk{Ÿnͽ^!6·ê› ãôƒJK'f‚ ŠÃþ«a †;Ÿv¨‘@ìGJ¿Ÿ¥ò¯—ž¸-•6IV‹lÓvêx±¼¯ËŽÕ¹›È¬Vâ¹?‰eÐOT( ¹55»Nê%ûöçÐ/ÞÏ$ð4ý£â=¤îÊ6\DàŠ*ãèÄQæX±…†Uw²s/³ÁQš€œå¯û—ê•<߯±£ïHòCç.ÆKžoÈoñ‡©3K¤ iô$Ý’G@IVÎÕÆ"8›îˆ—^¼»ŠhljgÉ5¿k^rfñ £(|¶‚*Ò£b•命y ÚhM Éwðª çýrˆ|ůcérñØGõK¯iëº8: ì×LömȄÈz-ùì¥rû[°v^T3»Ï™2]¬õŠ…™uhV™ÇqÆ%•$¡iùM· ôSqÕÎá?ôBýÑ„•Ú\ºÆøÓ’ºJN,3ÿZŽùó¶…‘“•æ\M(&öeáO kñ½ ¾,Ùó²:õû–ž9rœAˆ–<¶+†ëøg¦Àv®šßø¬˜îãÌ[ÄìC.%ƒ#c¿sµx½kÚ'1Ò¢‡¯0ºŠµÆÎÕˆž£ô2å¸7*´”àÇ6N ?(STDó­Ý|TL:Ðû«9A…#šâ šd7†u”RsV˜ Ÿ²°¼(Hìn¶ßðOHá:Ȉ ÚH}MÒ­ÊÛlÔSË?Ü å }áÐe.îíOü@¶[@ãë Þòepõ%mò8hHáﯷër/p³qÚß$ÿ¸OÖ:ìöí”Íb8eõ÷ȸHÀ¡zÉr˜ùÒᲓ9e‡_28È'Þ Âáj…fá+CG÷aS”lµ¼Ñ)Š~XÊ¢« ®pdª^u Ü_d‹½®{—(½%T؉ ôÓ{  Íõ§W«ªª*:x~wcæášn™!¡æM E FNoÏ"_ÚÖËž^4Uhtüw@k»B@^Ñ‘}„ú>ýrp¥íýu ã^#±Ò”¿aÁÀH”M[}°svì¢|!Lª¯âLªMSi-;÷…² œ¡juÙÅ ›ø8ÿ²~!}ým[UEÆ-e¯ÄÞA–Ñ Šß•nãe¶¾m¦B«Tˆ |26¤>H£œkÉiTŽ¡D:÷èƒÙ(¢È³°zMÛb|Ã-ÖäKÔrpwÆä¼}&Ó“Ìdl[òúÝ÷•ª¶Oà û«ÅtdÝ.¡«kÒC”ñêÂú®;«§3²ÂICq/öç¡Ó÷¡mùBŒ¬œô$ÿ–ª‚@Oâ‹› Tÿ¦0÷é´™ÇÕH„¢ûûp(3$Ï~^vk¡UÄ:Çtâ•ÁPKAÆ„PáôéÒy%#|4°BÀê=ŒÖbýl Y¸$Õøµö’$MüÉhׂªV_/ “øUØ 4™Yî'ò²ý¼=üD¬JD$T´ÍÛ2¸¤š5,©°*ÓñÁda±€L/ \2a5Úõk&¢Ço/½›t¬˜¤rÕ Ÿ¾`ñȆ¢}šÚ}XQÆ»QÍ&‰{²˜b2¼Qœ¼°Üömâi{‡â³¼<ànZ«a±Ø¼BÇ>ÓJbTMµñû(²úÖìuj-JÚ;¦õs2CAÇÃŒe^Çö²iA€+ßÑ·Cå1Ãêü³0óCanûÆÆpeZ—k/*á†3u:›Ã^~0Qû>ôéuа ;|£û#¹Üðƒ‘Ìž€e‚P"˜0súþ¯Êç¢Ìæêç5õ[,~ÑÑž® 8=3*ѶîûÚÀîÉ;5X7U¨Vž8#Ó&cŒ­ÿŠ&u ÓÜã™ TºÑW«lw–æ6•ùy¬õƒaÙºUÿvúÛ]4ÒvL[äâHñ¡dáN½û5àºV/ ù2i¿=²Ò~I%xXtÕm«ÿ¾Mw# ÿƒð¯â•.ê—£²„èŠ2Tüz÷-F„x=FtmKòÏ+ZTÊjKsÔWŒˆ†„ºQ©$êÏiçèµÃüéV®À$þqÕŸGP*¯ Âl,úÊÁÍq'ÊòØS‚¸ÑzŠÖƒayˆFŠéFƒãºÔ"ËXÓNíè“ý%nÄGksC#04^Ê/á9a‹ÏfQg΀¨’ì+ó:g9ږߘFê‡Ä%÷Mho):ãÿ…¤¹AôÁ³Ï&k„"Ÿ°d˜IÜô“¤XÛΓpŠ2uЧQÓËdÈ"r•¹Q×½ž½#µcº¬„iòá£ÍQÌÓR ®•<úÂh]ÄÎ$©«Ssr²QÚ}Óö u7¥ÔAÌž’(dΪµú\û—{‚Øu¥ájÝc½J=øÎ‘¨ä}AüÃ/è`´Q9d¾Òä'*£ÿQ›ÆÚny}ÅL¢ó›YÀDÑÛa²Ê§8TijºB2—l.r ÆØ dN`*žic=¯ÚV]Ñ.ž“µY Ìô¿(ÕËàÞ”‰=J¯å°ÂÂÚÆH’'§DgLO|jU$ Æu’60Ç™‡×£ÆÜ°¦a ﬚ß@^XYR[÷O  J%vŠù¾_ëEmkÁñ$:?¡ÑJæ|+©#`Lø_vÅ”¬ ס¤"ˆ0…TÐEZŸ¼eˆS¶5µ0“M»j猠Å}IÁadÄp÷QL9ŸO”@‚Ú Ú>&Œg[vè âÔÓóöF®‚ªXÚç[8"{qZÅ €ÎQÕÔbÕe¸ 0-´ô"VÐ6†ös–`Rú‰q©ss˜Ð ÄËðݽ[Èá*‰Sy#„UVS&AP]4N!aíß0—y¯‚iž“êü±— ¼ôáþZ£ž?lƜаU= ¯U1+þjw"@Û jEB(< ’…–™œ&õ:&ŒVLBXOæ…7þFÌ«Ì2Ýò kÉ«ú¤hdž⥜%Ò9í­9ÌÊ £ ×¼›ý£g»â‰{™ç—ÅÛÑèÒDæ é ¯å™Å„JD‘‘̆Ìs¨Ž(—¯¯ÄÍ+œ[µ½%'qq¤&ÅÑ›¨³ÎHH¯6‘üÍÜo îÓ¨•5j¾óßÿûÙ`3ê2À\1Ì&3â¥êÀ_Þ¿L‹é´0%ÎIu!+‡mÑí~ÆDѯR[þÕ˜‰(ÿ˜‹¼8ôOë#çM7¯K<(W® ŠÝ[q6ÞõaÚ¢K‚Àø_2²’{¯WÝèEt3–³ÒM~0ÒN€qÉôãSVsÁ•™Ø˜;Ä_˜üç&abrЬ?t±}†—p>—*J¯6PU]íÕŠË ÖïwhǬ(å6é1v9cÁ,"ºEÁ×cöÌÑ0x3ŽüÁ‹¾^F;;i=‡'s°"‡—æõð“'RÎ^š]˜½‚Œ.ÖŽ"bU 1u°<ÿÁñ'¡¦Sl‡íÇúumQڻ㯾»v!·o¡nÐÉ«”–µ¦ýÅli­†½ò„¢—Õ˜wø$ßn÷&-þ«©#¶¼3ë6® …ÍÕRÓéÔZ S• MCAdÕ¬µ{óè=é-úJ}¤ŒíÚÚ=BÍüΞIã}Œb0æŽì°¥ÔÝ f½}Ù|3§ÏÚ"ÊT™£Ù²–YçZD͘~Ûb‹OwÍžïÙµ}’|,Ùƒ­{9ŽÝʃ&Šh[ ÷‘AQóïÕÓ‘C?xMUQ‹p}3¦µJltç‹Çùt®»R#Ö:-$áÒägCÛÈSfqRR×kŸ³ø~Ý©ÅW¾tûK@‹(põš¾IèÍ¥ ¨Lï±f\U¢ò§Õèêe„ŒA€Mðµú3Á0u³Í’·èij8gÀu(øû¥ÒFTÿXJKõíÃw|:Ö[ž"y·¾@a„î÷¯D-ºVÕ«õ2µNìe®±ÈWh­ŠÉ“dïL»ÞÀ©Û9€u³äç‹ÓíÎÒ{osx®i[ÐXþaÀoTØ òÚ?·ýRAlù¥CµZ­ÕØóÌÓ¬e©.h‚¯Ã~Ñ?¶2ol©…i…–ƒI?-ÄT ެ9õ1 Þ •‚äcð <Á–•ÝUÆû;ÂÙìôKÃ¸× p¬÷¸f©Gÿ“ÆLÒ ’[|LÝ/¿eGv05‚Ò¼¦1ƒÚàL[Ž¸Ç“œmà}(y†ùZZÖ¢*"=ó¼`€=h¬â9 ¼¬ÊqŠ€1ò~iD„‡hü¶µ…¿‹RNÔ§ñ0.X’_ݽ »Eå±µoך桯".Ð^üE²Ë_à€(ây4<||]ÚA­dá“^PÌHõº4F.½WÜâtOaa½1e-@æË{5ÃŽY²ôûæo´ËA1¡óÿÔ×8À¼©K Yf\ïügïH¯’'AÓñ?²mž$ä.Â.ê©J0"‡\ÑÈ#NnuRžq¡™Ë_ŒzçCͪ€¶{ŠÕ€¤OZߨ$5á.;×ë¼¹×ÏíÒvÍ—q~wÖ7Ø1·×ZÅÜü´~!š¸ š«Äkޝµó/<Ø™h¸ mÚé_¯uäúfDYz>”­°ø® ÅEê„Þ_㎯֕ÝCx¼†^ÍpÀ­˜(ÿ@X5_Û¹Fõ[Æ…¯¨µvàuv©,z3*¥ñŒÉ‚é¬tº^­Äu,r„W™÷»O<þʹ ó/ù0\ïÇü>Å- Éà©°Z!×eÉ×cLtø_U°j_ý3qz\Á`bQmÓD†Á©ÆLD°M‚wãÀí/-Ÿ(ÀÄ&uÐfý&ÌJL!Ѳëc;ëŽpWjÁ}D*¥A{áþ«_M*û“å<„?ñJ+¦g„:AäOVun|<¢%ËFv¦>ºP]±q¨mÈ«£—Ê$yÜ9žV_ðuù„œN`1"Ò‹üþ[Ÿ}Tîÿµ¶Þö›­Ë7ªèžÛªO-EHpO¥p¼Í<×ßo3¹ˆàNÎ%¤Â+šfM¥:fLÅ7bñ+£^9&ã<)ßp–iU= ´ðñíûbT¼ãcyêlÆï)gaïü²@ºº%`/f]Jê Hj£+D &¡b`ª8Áù GEê "“ÿ%Nƒ‰( ]Ö!…T1õªG´€ºïýÌ@,«®}‘ÍÑçÇ¢rn³4p¥„túò`oú‡ºj¦¡SoÒ9¬K} ;õ¢>ׇžçÎ2IWáD¬ {àLJ‘ –Wð!«Ø•>Tá$çExS»ücÊö€8ÚÅï‰#®áGÊÄœ&_ïÑKnƒqó±|¾áÇúl uVÃ4E–5¢.ýQuÐÅž, 2Õg‰Â_W?§´Ø‹ˆŒš¨7*T†­3äøtlçÀã"@ ‘¶…is˜Â2¾¿¨B+{ÀEë[É£B§Wóøjn°&¬ÒiïÀØpßuâ9‚J5žÙŽDçáôÖãæC €ût() ‰eð‹RbŠa2yß0qq2¬í$¼ŠEÔUÜj*ßTgOZ/kÝ^3 ç‡$•'$š*oþqªœŠ1 =wT; šÜ­Žé»ZHÚNe6Ù6ïäÚM¨ø7uNeA“¿:¨„Q%iÛ1¡8f¬ë«·óÕ ÞGí¸^ÂWq¸ãrô>¥úÙkÄ«¶˜S“¯9Ý9/݉O û5š~·G…ÓöÒ¨›vc}E.bpï² ñ»ã-û¨šYªµ5&‰ óé…É3xÞ¯w¯¬?ãd«ë>”¦ ¹Þö'ê|!>ŽÉ½¼kˆê0hqW¹]#{‚ª¨xH~ô¥h´Gª(œÎä_ p&¸¡7ù&¨"‹w€h¿YQX„Å ƒå‹KÖ#²ÃïzR yÕä…*óôƒ¡¬%×gÓ` žì‘Yd!.jÍMwà<0¬öèQσG»_é]øuã¸z-Àœ6Ø|Ö 1¬ñÑUÊ"€*ñ(Ɖ¢Bs̾5o/òæØ2>•¤á´–Ü~;™öÍÓæöHz¾VÆk0#Ô«Æ1+ó©"„Š(Fí³V3 ,³ÀFeõÚëˆk;៺ތªû°iíüÛùqSÝe#Až0lá%ë „»ûÅè—`Rz!8š!¡¾Ä†Ë4š_³ÜÊ LÆfñ ‰üŠÖ(’´X½”¸´Ìÿò•Ü/M9Å -_‰°rðç¯W½s͸æÀ!5…-ã¿=Aû¾­ù–H®ŒE™tÆ °ÐuëÉ„=‚Ÿ¾Šlf_Ä$dê½½36y¢p%V´WG¨TêNc¾ÁZû£†éû, S„û¡˜¤ŸG¿ü"óxÁjŠ®§ó¬¿±äáíÒÕÛŒIŽ„JB>­~‹"ïºU(¯Xl™m ¤ «Éà•RÞƒ;ãS#Ô u>óÿî¨Ý»ÌmuC¦šÃ³$¯.HáÖl2A!òÕO+x;¯šÅ£sX½×îç1Øi¿Qãz-ý÷Ò L‚ÿ,LÚe ¬®OîcŠ÷Å÷/¤ ”…௕ɂ$Vh™¿eDÉzÞqACR¸§LŠõË7iH¨Q÷ÁT}„% K3#0ãšj¹±ca=ÜÚ÷,yGj(Œï+cOׇœ¥|ª©\†K ³1þFô‚¨Þ\£Æz;'åÑ÷1Nèk-O´ÆNIÑÔb!ïVõ«óqÿ7R<*jDfŽP¡!—¿ Q¸TÙ2缌œÇ°€$«sZÄXëÕ½ ôù‡U÷»äŸa+DJBÎËÌ:áU¢Üí7¸×Õû³V3”b ]{á+ÌRÙ¹K&Ÿ¶0hC¹1 ÒåÑÉaôàM–`»d0Ÿ]SzaL$Ñ{Õ“G)'Û\1•+(šî‹ò7Ѩ4ÐÅ/öcßøp0T‹w° Ê·A¢™SBœbgóܗ0­œEøÄÙÂË6ŽÐ}Þ¼C"hy¬| ÀUW±ì÷Ÿ²ï7ª÷•Þy- ´Pî©p±ÔQì»64òœ!k(R#Ö9«……¨ '. ³ÖËW.ÞC·u3Ö¶á"4á¾=oâ?A*wÊt¥V|UÂÿ¡C¶ï©`Ê‹ͻˆ×Ìøc ¹<®3Hc)2Í9räׯÑ?lC´ÊHT±7IðtøÎ±¢MoH–üº¿‘vÃÇçRŽžÒÁßãò54æECëÅõæŒ~£*]ÝRW\·ñäg¾@©G…MW¦°Óä§kÔ¾Sé¿NÉ!ð÷hÿ9óΨ완¶;‡ž¶$fÒ/üV¾éË9–…}Ö#‹¥Òæi^"¨ãAøkÌí)“úÍeyô‚Y“J‘Ñ}N¹Æ <ê=ˆ_ö€±3PƒŸùJ£Ž1GÕI‹…J¦.skCà–˜zá?qÚ –0Ôµ.ާç^·BrÂ=]åž 9õÖm—ùÖ© 0¿X5õËàæßÎXéb ‹pèÝëPwGúWß1½últ/n x¨<> ©¶Íq&^„ßø)P<‡%õDS¨ô€}Ô1f•àtqŒAô‹àYÜ^^r]C}~äxnÃàó’UX™‘ÃagüD•d¬`ÍУbcjP0T:kôs¹å¡3à:¹ø.S‘–ÀžÚéDåU¡áššŠýXàXWžÅDôg0ÝC ö?8 ó2Ò0òrXü`·Š÷¬æÊ„÷ jbW}¡†òVçV‚3µ2ëb8ÒZ3…¡:å~¹&‹©AZÄÚG½q‰òƒN±çUBÆÄæqéþDøïÂÛ/CõC4½œØ=÷­ (½ˆq¹40Éœ›ÿn"@µAv9Þ^óùÆ›2’q¯ÜçÃv-ø£y²U|˜%G\`§l膘%5……w+ê±i´CÄ4»ó<ùW *Î,ñ>Çj­gÏÁØã5HaÓ þ5EžÉ’˜£VÏuë°ÑÞ]âI-Qèîé óVt‰cP³CVûø˜‹+cÜ•ÍÖf[ãú««}ăh0<6·ÈFDœ.Ó>XžÍoe·½¨FûAhëNÌÃÁ®}DŒp£|kc¨q—8eO6UÃO G@[J‚Õ)ëSŽòXx¬¹Hœƒ^T–զæ@÷¬ãäUB´PdóÚ{,”Ú‰‰›Bx¥Æ8êÑJŒG`ë¤|¹^Zº ‡ fÖ#Àd¸å~´)›»ÌÀÅL£$ =k§0‹°ÅmÃì̉©Ë¾(Í|O8w˜LJL7 þfbÒ"\’Н K…üfÄ ¼Šð9#O…ãú‘')"× Çj¸@j··nÓ¨Òí3Õn“±Õ>vKå7ËU§*v˜ùØ'ðxÜWí_™?ú+í¨Ãòl,$ 4æçEU2) ´z)îç™8lEzø™Ùܦ‹ýÌü˜"u0zóêx²‡4K–vnÜ1‰ºÛóVË“æ·U•ËU¤ N‰p¡5p£è¼§äL`1"h6R׌¸Ë¢ë…twVK[”À3AQîΰØ«Q½žA½C=—-Lÿp±~ïÄ­5ª€AJþ¢J÷™XËˡݚ‚ß`kð‡…cõ*Þ #•XpEÜ+4®Œþé «XDœDÕVµEPôoò¢˜b_š¾íßyJgÐg‹dMóÙ÷ùžÛ`«U¨”  ñjjö•¡ ^L>ŒMÄuŒ¥îðqßWaC ç€\»skÛ­ýnÒl†V]ŦÆS ‡«M=0e»’÷Nrõ!ü©|]·ÅÌ/„TÛÍ÷!×õ¯’ì(ÇG0°¶y„è35¢îq6Ö«†_<"¢ŽÇ·_;0¥­(ù!+9Z\ö¨q«]È1j¸s\¸œŒ^úðx_ªÅµ8[üiº×ûô8}‘›§:5p•ø¤p4ü>|M8p„2ÌûT1‡—)Лz”1Ó8Ý0ÿaÏ#Á€K ÅŽG‡4iùEÁuÒ£R³vg?NÂ8_–ÿäšÑ¹øÔô õ†w‚íïtÓo²Ôå7'Ë4M!¹(ÊûM¡'#Œ¥Gx˜¼ºHx€}''iåë³þ…1Yîµ{­ê@އhi¥Å!Êé.n;îa4_Ä¿Ý8çÿj¶ð¤.ú¥Öô–Ø¡,PW^ }S€°& ÞÆ+¹ú^ïoC°–‚ö)Ôw_Á§©¡š¥nЧŽ)¬'²=¶Ÿ*ËXDe‡aFá]í¶«K$š7j“zÚ±Ùeä,²©0²Rý1x®Qõ>­Ó£ÄдNÙåöÒT)ù~¯‘¶Þ=eô%3käí•K4Ÿkÿ ÓN+î.»D7Ò8þ  \‘l©qà 48ŒŽ¡žú¡˜QJœäÔµFÑ’)n|[6åõ z1("º0,¦: 9§§Úì‡b+BKì€=ŠOÔo\™ÃŽ€yöϳ½_ˆInp+xÊÝFLJ£UÐOÃOqé#²õ,’‰1*=L‰L†©–tÉ_B¦Üû¹‚ãgŒM— µÁ^‚ÖíÞî6¾æ`Åu7"·mãï]´ûÉ@ÞhŽJ©mËäÅàÁƒ27Ÿ !EwÑYË}ç=©€£}Nâµd“5L_”ÍO N,‹¦rXžoìFDwÖ ”†@Á(mŒZk(XÉ•š®ýßP4å¦7:`f[ â‡7CÖ0Ä7`älÅZîãâ» |›„;En:mû§·$²›úc—Àa 7­=|Ž0!S@}ÿÔfçåûxÌÆÍç§m¹rÓ»‚–N{9p]?ûÿ_GW› %nŒÕ‹˜ÖqP‰LzyÎá·ŠLõyþ±u²MØ6¿ÌöŒdÜæ”õéÜEA 5±V5*HÕ1êåÿ’¬k…ßû2¶šSEɸuŠ8óØþ— vÍ]*ÒQu«´5GáJ§Tç{I×DgQ«*ˆ{ôØ× ÿ1ô¨„Ji~o)[˜›÷ǦÅëA×uoV9cüØ /€â-‰nß½ë†}*˜f×ó·CBé³6‡g:ÇÎh–ÞF(ÛY:õ0~æ÷¨#‹ÈÛüN™&˜a›¨Ç &VÚe×dQä±ÕÛ)lÆžXV»ßúçbcÁËѪ`ˆq¢ã—ðnÞÙîÞvúÐü—è]W”ìxzËG6ʧ÷DþÂÏä"’;ä‚hU P£»C?ኢ„•pÞ'ÃóäQ"!“näá)‡:$,>Ö\õâüäBÐ/æPüÅâÚ [0E½*ǪQÞ°³¥‰?hm»lš¤ÉêпZË™Žj^|£«ÈØ©Ÿ9„†#ói™Î$wÖ»1¼Ô0}Zéà“ËSŽèŒ/< ^ƒÔS54Ha0{pÞP,ɵU<É"£¬};jBå6<ÿJ-n8sv¹ì$€úKÕ^,) ²|®„¦mf“ ‹òcÚ øÍQG“ä0,}HÖ%æ){Q?M4Ë¥Š¿êù[˜Ûrc,Øq1@×ï’‘Ã?:íH^ðmFT‰w´cþnå…÷%H®™þ–šþd|Š ÿ¸–ûΓ¡¤ï“am´ 3ºAÕLg³‹¦¶b ÉVb‘jû’»|ýBšqaÌyñŽ$¨þt5L s×^A´ÌÃK¢ÎoÌKTjOõgKØ<ÈÁ¹o–†ÁzœÙ2Y(ý(r™NëÇ…‹wÇ‹¼W}*~”óâèYM¼—JJÞ‹lEm?Ž_¡PìøMÉKGÊó "vÞ@TpÇŒD#°Ñt[N UÓQn 4N•0øÆ(8º¸ïT!í™sÈPîxCÃ>Ë”@ŠoVÖ°ÁSFš¼t\y­«Ö°Ùßz1ºÄ¬–_pÇT¥›oá=0 N¨)xýؘ"2t„™rŒŸ&È ×Y–éâq+N *ÝÓ{FÔ,Q¡Ÿ‡;r—B“–j$Üñ¾§JJ09q‹X‰áo¢©ò\‚q Pp°Ý8ò—#òäÀŽ‚´M%+ð&×2´É×=§²–æQR\ÀD,õÇŽKä‚Wò‰óÒðÔaøCæ—’–º+«ßp¶ÝõBÚp:œôQrÇNý:d1)!~óv^0Ö6r ÿl§.ªSǦµh N|ºôí-B·“™nâ]SÂÑTæË‹v½2ÞϽ£÷ ÿNb±j >cS½zO!vuðý¢ºKb«WnéânŒEö¡uô°©$‹@ì”vµ–ÛI-‹ÞM-íž¶×tO§T›Š\@bcË•<õ“›Ý¹S_îuPÅ6LÎ7.àY+'I‘‘ÅÅ ,¹Ž§|¨¨bD ,24¡ ²JûÍ#»v Ös¥Á~É>³ËOäüùŽÄóSô­ :¸Œ1K2óµK`Žôýn®©„FÛqëZd²Æn‰Nâñ3 Ši<­÷þ!b¯£1xX¹MÙàWµÅ}±ÆSÛÙ†g®Býr¢–Ý-]ÇbޤÕ:„ŸXZr”\9–$ªSÀÑÞ÷!Õ  ‰MŸêïNá•ãH)»B÷ž‚z^4EÉmçc¦:S+¬rBiòT¨fïd­òÔª°5)*Èúݽ/UÓ,ÚKñË ytèy6³Š1Ž~ r.ûu™ä$µ­<@)õD8jJ·‘w÷R]ŒƒùÅDáÐSy—=Ë7¿Gâ•D ¨Noº2žd£*/#Ñ®ß &ãb߇_ôž^ÑlõLéÀxÌUn¡3ûH/:¬Ó¦à•i[å0)5´¸àškô6©c´ÛÙ'VÇ¿“ña ÞLš Ønï Nh?Šy3ƒªjÇ4OÚâ*|,»WþÆ¿;F؈Ïs𥿴*ŠXX¡ Õ6ûìS …’/¸XÍê `ðEh&:ÿä¸Ðäò‰‚.çäæÇ ùÄtC‰ =ïqÊv†Zò MÒѼ ©ÐÚ(²ãR4­r»5ïWÈT¤¼_øß­@vht¦uÁa¸ß‚=¥ó]ŸoiÒ9–Í×\\;e¢À€%¿eiE® P¡˜T*@oˆ\ÄO9å…ÞÐ+\·”úbصT‚EÎSê/úÌ'|}Л:WCI9.Ϫ‘†· t­9íAõqþª}46Q®Ó¢ ”x§$í~7”U cýÕÒ´x aµ Ÿ&za‹(ÒUÞku/ü‰óÙ¤V-ÁꘒgÌXt0ÛéÂ8Oñ¸üv³ü­éê*ꃕÎða]™¾2` }¥rˆƒ~´ô;®d_‡*×ó.cïÒBO‡¯E~ߣmü°NJ6ÌwžœâŒ¨#C_ßyBÞÀ««=Kk—4Obò*«rM-jÂò¿ÖhÒIÍ(¦çÀQmo 8ÿB¶ø Öt™åYìœÙ>@7P¯)§Œ–/«$ÅÃ+:ÿTf0e¹r°íê\ÀªêÈNyF䪭_HÜ”ŠetÐÂÊ^Þ…¥ü<Ÿþª)µSŠåX‡©©kfƒ1'å¼ùÛ£N3/É:®†Y}½}Z,eÇ,j"†³- ‹ÇvV on¦]c.Ôª§ëG]˜¶¡uÂó;#°í¼‘Ìe®i•³BèɘèF$‚¬Ý»y|^1I¼÷ Ðh°q¿1Ç×]&Öl˜´úÊö?ðÃi0Š Œó ziÔûõ‘çÂ˲ò͵8Ìä %,bGÀîŒaɇƒxó_€dÖÝɧ·:H ÷Ú%‘>93½}È×é„r:,¦/ð|9Z@ue7t–™ÅR™ºÜ~³6Zú‘x—ö/ãŒÖÄg—E3æÝry xåæéüer¼-Œù1pxä«%!¡†û!m’mÿ5®½7 •ûU‹{&ø#¦‹^¹Šæ@DL„ÍBÕ´ÖÚá·Ü€|C,…BDZœ1¨÷¡-[ÙQ€·‡E|o‰MñDÛÆH¬SKh Oþ«ÁSödçKêæjf#–(¤(Ò4ëS®Œ„ „ê£Â°m,F¡Àç Ôp/j÷ >'ùT3_ìRôæ`?ìrk+šáñ›&Õû[Í·SŒ=´u´Ê4yM4>IÐe]—«˜•ú4þÈ?ØQc:}b®Ðõvßè£,1#£:)ûª&°»›åR­±:ÒÙB†£¡ÀœÏ‘l_’ó\Ûv Ô9Ñø3Ío®Åj2=›§—Ö^Ñ}‘úïÜŒ,÷-hHLæ¢åcVe•x½®þ5]ž}¼ ufó@¡øPÛ¦ÿÛçóçDéîX3(Üy²OC϶»US™üÚO$Õ“Íð„ûyãº:´K¢ /_ªÕ?¿îÈ×L-mÑÝd ²\cû6÷ÍÊ‘¤xÌSøM/¬žž¼åÿ`RcH‡ÇRÔÉû-R|Ì*ïEeê5„^I\ â*“úÍ7È·›LìÛDÆs=gñ I4³– u¼Ÿ^îV…ÂpGÛîd1ãž´>Ƙ`Æžÿ*n›;ÇöÑsh2YHŽ”Õ~Wš@x{·<¶…´˜…„Ôù'†Uî*µ úSÙ•„ÏΔª˜âCmÒ«ý'bÔÒ.­‰ ’¹­4ï)³í]ñÁ“3wševX|Š¡éý¤à©D4.^|V.PDG‰lƒ RYhÊÊV ®õ×N–%À:E‘Ö„ÍôYó<»yco‰>gìôú|Ó—$ÃÏuÃŽf#OûX›£q ¡ª'¸D_R¯£¢…gØ|üW¸e7¾áO-ª³)F\'hñü±;Ó{D`ò³ö¢G,3úeÂXyŸ­Ki‘@)^”•;É ƒÉ•í$êzúÍS,ùs:1°;žùM®ˆÖIÜÂY,CýË{ålŒ,ÕèŒÔkñ”¾”Iã Э²MdmÞXÕ;ž×oÀ®îÕW&8ÈV&],Ä(~J×2²`l[Ñj\O‚{óešßÝ\Ü@]upT“ƒ˜+<¯ý2ŠP»¿œC(sÆvøò„GY¹g¸ÑÈaÜQ<—Z\õ:)°°)ƒuW„ùYÕD w:5Ã`P6!Ød/1„ÙûÔëêfo‘‡¸b°c#ó‡ý+ñzF™ðð,ëA±Ëís_[¶!¯ûl°xUóÉ>cîY“Îg‘1>Ùµ¨öpâ\¼óäüèS º¶âResÞŽÜOJÓ×мe´í…a7ƒ~¿ˆþÊ/‹+äzrÝ…°ÿÒ0Bκ$užpÙdÓjj;€ònê.§‰ü-²gm³ MƒÓ~RP>¶E  ­†e¥%²&0ð]jfFz 5TC»¨Gm¬ép’e2þ¶µ8»]—Ÿ€ÒŸ?…ζ¿øcéÖž¤yÙ¬¦ßW\ã—É÷ Z*uÚxÀCøÑëŽ hÒû§h«/)@\~c2`0ÂÆ’a…‘¥ëÝmÆ pß³™õ Dü_z40#píÝ™pc€úîó=ð©uÈäT`±å9m&†5íh,¸æŸSK1W%Ú¨7¶S¬öé¶…R  ÁÏÒ‘Ö993Ûn&uŸí³|à#N«çm\CØ ºA ˜e.pØ_bЂEËyô¾S¤âMØnWid¿Ý|¹ÐË»lY{¬) ­òUù8‰1GË:D%ˆfoEúª0Cvš|]Zò3äkÇ”‚PÖ4[^ñ‘Ðê'JØ,–=®ZÚPÛ•q^²†mgóüBr•ƒªþÎ=TI’[œ8ÚL‚w®ÏZ¡*:ƒÞÔ—Nå3ävÓå^=ÎÂ?7AÅÛT0UµBXü„ƒÄ It©  ZWå†ÎË0 s×·Ð_ÁΛ³~À`ê™và™ížd–å[e²ÓTTÞí7ò{)¢~,‡€"'Òvä×)ÎO@ø;XKØ£²› ÏÊÁ—¹–[³(`Ýðòav²þ”ÉÅ[]·ïw°ØÇ‡¶÷¼Jp¾¯¢Ù:*r M |m:œÜ&ð‡ÅHi²ÒÚÒŽ\î¨pè6øÏ1tÅþÂqÚ¿±•ëB›[¦¬¼®4Ÿf\ôìªÚ&€ö*³X@K÷›ÒD™y ÆÜ46<Æj a‡(XB¥kc[ K©’¯áf¡½=Ö¡öi"Zt¶3æøtôghõ÷êÜžª¢¡ºâ{Ž£ÊíõûrÒVýI}xj%;#dX7ÿŸü@'Ô¨ »/çš«[È.¥½ °RnÄTЃ¡u¡‡[u:~5NÏ» ©……ªA 'ˆ/)m¦‹—ÞYäbÏË€^kW{ ¦£¿Æí]èÕÉò+Õ ÿ5™eã Ü]¢½0A¡B²c®áÙ.ÇMÝú¾þoñ)ìH­ŽFáüâ´ÑÑn¶ƒAþô?6YPxoMH¿ú´›„ïßrÿªŠ÷|O WÍöeL!•F1«è¹8oé•úÇöÁõ©°õÐáÉê3ìw–²ÔÖ(Óˆ±&kAv.fav«vðë‰ÕÏ­ÏNLbØ÷ Ó²„äåy œ LÀ;Ú!æÏ.ÍÑ(ÎzÃHǧÿ+²±Îøe8¤:·¹iL²`JE¹ÓvP5ÔÑ‹‚+Îñ«˜Á7+K¬¢„—Ú p$ ’õ×G4¸„ÜÁô/U˜½?«{-‚m©©…æ Iö[©(= õÓàï&ïÂäž%rÊàÈäL?Ï,ŒÍÐYŒè\ÃI³¨{ɤGÎÅ[¿”ø¶d„»J¯ÅuÇÉ/ ’ÒÄ|8íñß \ëg§›pßÕ¬Ô0š·Ôè“…”žI”¡°±“êÞ¢xóxå-¹ÔΘˆXµ«ts}à£ækŠ=ÑŽÎl”g—h_âÐŒ¸ÈŸþÉ,þÊ5dæ^¿êy¢y>4µ¢%‚HÖÌg<þ¯CÀ·…/RÉ5•Ê‹‘Ý 3ü”ù£29x9aùïO@0Il €ÑMû3)D?!°÷VËBØÕïö:³Ž>SÔ–,r’}ͤí ,¶PCæ„z1"•ëÞ?:AhûY°ýçYJ]’qüº.î¥?'êåòÚú:žœ¨·X3z1íKsò/Ž¿âçö†§Ï }`‡rè£ìè@Ð& Ì’¼þm(€ü?‘ þ«dùMîßñ£Çæ¬Ó½ –\²i¸|\AÕѲŽ$^ *}]JöÌ]Ššx Õ«ÓmJˆ®VÂIC'¥»ßÕ†6{{äA{Y?J²™éf Ȭ\1H< E ebª×þ¡úÊ'E2—é#1>Á:ž™¬ewò¡Ï€òØ¡jZJ«½«Þr¯-Ó&Ç‹Ž>Dñ~s¶(hVšv.„àÀÆ(e·‡¤Ã(ro>óOOJyR?iÐÔœ‹Ï÷™N¯0þ®tIùË ¬ð³ÐHE;¢¿#†Á©¸æJ4«ã$u2Àÿy·¬†×&M¡ U‹ûøOá.'M³ ÷;F/Žž±Ï7¤jˆõ¡Eù±gÅ©ÖÀçáU,%ˆ%ºÆhv(„íúí.¥ëaÉîëJ¶b¬>4ˆ¾ù³=Š­•-T™ñ{Ý!Á=yZBÖPØ£¨ñG œB£Js#ÖÍüËã MÀpF#¹ÃÕ¯w7Ã;ñQJ>‘ÃmjÌ€ çd®:qƒû±áÓµöòŒ^5ÙCÌáŸSvºœÛÒ„æÏ$âPŸI[¯ï÷%æqËgcüUxið#ùˆŽÑ,Ü•­FrðÆŸi0º§-”ÝNrAÞ œŠdËQUÁ»˜PfgÉ»=‚™ÍöTŽÞ˜A­ãU ì&« u"ƒø¾µïžwÆÉ`*áÿ?Ù¯:À§L`;ª(ËÈÎälºìOÙZê~å÷ÒH;Ñõ÷¤•ƒÌúf¡AÜQÇ= dHrŠÜêB88šD™“¶vØ ¤¾PZë-Îàꛢ™ÎJ¦Ô%ŠÎT]\ζ™: ëá€Kt²¹üùiÚÿuÓ‚$m?Rù›1Iªa·‘‰tq†Óhjl¢ '…©?^µIßa¾kï¾mÉB”£ÆG#MV~kyy «><ýð˜È<ÓÔ¨æ6ÿïf"õ¬M)ÁyØ~qÕ·Ô´®“ÿ±†”‹tî½~ ø¬±µŠ Ùë?OÇi×LÛíôˆŸÅðwŒ1)ŽòvÍQä1å¥|Ô}¶•VÅbÌßeO`ÉÜöÛ¨vh^bvjéW³#Lo{Èp ¸™ºcT€ Òrï¥úžÁ¶û¶ XžtãÆùòD Ór?߯ØÄ2Úqôž]wqÅ@nùÏ¢Yþ°Åx± ‘xÀ Zã¼0¿¤ñóOsUkÄBíÿ628%êΗËAa[XûÝàQòËGëÊ·M° ¥/‚AŠðf‹T0çõ¾«9aûß•mþ¦*b9[`(:ÖªÚv°ë#âôD &µ²´ÝÏy°¸¨›éá7,[“€¡Ë"‡2I+KZ®.ÆÊ¬!@ìôÛKp›té*ªwß‚òù:WMg±ÖÏJ FÛb0ðDI®öGýBçe”ú¥,¡ª·D§uŸæW× 3;êg)ˆau¢@ùV åóßqþ>]U2ÀÅ&”Û1Ž6ÔÜ;#Ó-î®>C†¦æäÔŒ˜ú¹æÓÉäna¯ûðbKø”Ù©½…YYâ<Ñ6íX€÷¬ööîÀûèLDHn_3îÉõ|וĖ«ÑGž\{Äf-P¦Ï3{ˆ»„CÙ=@^.Ø ºÖçùÉá«óŽu‰IPµb*¼É8ð7w¦Ä‚YdY…Å„ÇóØÁ£M#aª {?oä|±ªÔ!PïÙ‰w å¯ ldªNåùù–²º¨«cJJÐûPÇ æqŒÎQ:ÑO¥bXå„ïb"­p=ÑÆ¤!^§†’Yª[E)·þÆ^ܧv£üVm„ÐÔîãlªºj›ìT{ ¥EiSçCXÕA=ð¥îÜûè8†c%[ѕѿocÏZÂCÇý°fz â•rd˜Ñüç‡üõæÊGíYÕ*b ®âsC” &T.Ú@ûÁ¥3%ÍÓû-'2ô´Zž¿~$é"j¦³Í`ÿºyàž@\5Ý2#Œæv‡ò}¿%†ÝEÃxUÏ‚¹ÑÚ±2G߈ø&¯&ÀÖݑլT­•ß7dÞ1ý0UAà©•D b©ßw˜£/.íMxûÉjÎJùa(,à÷Ù!š˜ò+/XëÕxOdÐï©´ÝÁµž»Û8'•¥ÚÉ æ¶)ˆª ÝkÈlyÝø¼i®³‹R¶‰ÒÝ A¢¡È5%¿£îo>°G=Gk^QµX¢ƒq.“J«e.ô(gØcã&18EwåœàÕà†Ï4È=ƒºÄ¡øì(b‡[êÜð‰C!™ðHF½ÉåÑ‘¬12ØÈB~A¿ß å‚á3.ó `%ŸÂ9ï¨Î 40îF´[×ÌßÿÉ,K“Dz²Wûþî &ºZU'ôyF±“± “Ïõùô£C 9䉼\Î’/Dj –¹©6쯌ÎöY»{0ÕÎWAZÞæKDQKEZèy’sAIX±ùàÔo.$Ò,44‹ç±'‰¡ó>ªé[9ÜÓåw̽޽ÌYî O¦A'…ëy5*÷k?¯ Ö}ƒK¸%( Ï&ß{.·!·Ð~.„Eè’ C^düXZžÿD€ˆRÄ€6 <Ô—-÷I †sK„<Î"­äðîKÝhOØœ®2ºâè£9Éø û]†UiãZÜ´‹RÅò+«:4¬p8*à0T ÏœÅaÝLGamE»ìº>à2V6U0DpÏ´„•²^#C'e¹óÈÆg?û½ýkPIwéÊ9á8<žXõ ª?&tìq ~ÿ=$$Þ©GþÐhx&K m w[Å•¶¹,ܵ¼à “UÑ´ºÜ^5Qòxï…œ|¡kaÖnËBÒ† ­¡ó¥Ç?œUÇt÷í¡e˜ ÀFã:ü‡ÂýÄÜ™Ó ºþô‘æ·S ÈRò—%W¨gùˆU«|üÐ^3ýš`»k >(Ë‹‡RüLê81ÙN­.ìÏi¬ööÈGi?§½®Q°ÃH¶tÕa– «ó7 âð(Vÿ bã5»¶Ù×Dœ%ØÙ¦µ/l&ÉFIq…ÊZÅÈŸ˜–r ®¯‘ù3.¨ôõ,4Îíÿ)?°Cæo“Ê¥ »ª¨êrèVÊC3œÎ€ísU “÷Y¤¼»××,1‡œCàñ¾™=’Hy? ^êDÈ| ^Pb#…MºKo•BÕ®IÿÜ ¹ÇE‡&!3¦É£Rç‚§d÷-šWàcÈ8×Б÷:€þñÝ"dLͲ¡Æ í~ìÜ2Ý•G 6^2ÅfQ]ÙxöÛPL¹“†îa3=ÇÀ]숊 ëÚ ëøq¦€1˜€Šë3ÔÓ6ƒŠÃdówüªf¦äÿŠ_ ¸zfÌR¦Ñ Bù¥>‘ÕÝAŠC@ÝÉfÂ1…8ï‘"{ô0³Š ´¤k)_n š»Å‘¸¾é ¯ßdì6å].îöïÑɃóeHÀt:I©eŒªŸ¡åÖ±vjûTpg„ 3ý<&Àj ‰I€éã²?âv+V .B3~º_Š‘ûÙB†HóÙgH#ÕQ ÂÝhøLaWÖu2›Îޤ›[…–QnÃèÐÀÜ6/¹Ûgݹ =³¹Ì”v?Y… â è`¯Ö`ÛflêyYwêÀ¡0È,#bÆ€ô‘7 rÏ(u@KíWÒ¾y9·T¼ÄQÇ ž ÏÓ¸4î$nkb÷J¢<*ç_à\L× Ó€ôÞùH^È.êDq`‘®NmÚk?îˆëAÐÐónÁ+ä»õC)b[ä/Wú;Æê&Å ©æUT8‡Ä~Kõîóöp§‡“Î’^ˆÑˆ,½œ¯Ä€¢š™nÝšÿs¼/kÈ”è‡ßæ"P~T7Ã|ƒÿÈûOmÔ•úÈåJŠäc€97~oq¤´›ÕqßPÅ(TG,ˆåhýTׇO §õmg•eŒÄd„-»#„BgTm²ÙíjÂ'“’ÞdÍM;À³ž_}1p=C²S½+û Øö䄘“¸mÔtà ìkæá˜]!mºpqã6\¨è--£jUËÝÓÖ8Uaœ¯eÎî¬CÔ²î*?ÄÌŽ#ì¹Å&<£ƒEâÌG÷y ¿é¨Dwæ,Ú'?ÉL.z8ö¿ß€}ýÓLÖ gPd¤)-¸´š§6å¼ÄeŠ8×Z]Gô÷¦r/'hºý`' ínI-ÆeCj7jg­¿!§,VNH‰*cWµáþ&øóñ+bÜTmá#¼H3³•ÙQ)|CëÓ²±!PèÓ]ÿç†?PB’uö£OÚ0æòÛ K!Cm sÕöí²,«8ôJóS”èù*Š—>ÚëëÉYdtùOųµŸð¿ï³&—f란èJ|~f‹~å\T»ó`´YB&õŽX†½ß7œWæ£É€§ê£G’žŸ¢«6ò˜îíŒüŸ¥ÔtKOÑáȤ_@Àxµ¡{–?…8ÎΘåï ¬E¯“Í•¢‹`)‰ÃH<Šƒ]ny™È?ŒïZ-c6ýëšG¬„ÇP^c­Ý==y/ÞžcÏ  È&úT‹‘â>#pR*DÎênÂOWÊŒ=ô`yØe¦‡ï8¯Ã+ e6$núp  ͒ð÷ÿõ… U¦ºE ‹ õn>ÎÍK“3Í/7M½^í9žd—,±öNä´5’=ˆ;+AîM1!Uw÷ÍÅ€þçõ@ÀÙ8Û²áZ³ˆCï$Bÿ)«+±H²FGº±Vì¦ô/ðá°É¥Ç™[[V¶5%ßÂà úևϮ„σѡ¡Uª»òWö M945-9Û‘Òbl7¦Ýî ÐÖ&âà¤,S.qùà­3JØ6pݳ•æ§®Œͦãp½÷âÐ$ÝMÒ‚Mã@ÿ`J¿6©”Úä½=ã͉»³‚¿¨/ºˆ¤7cµ×Ì Ósˆ_¥ñÍph„"R§´}›Øùz°É#Ïïvr? 6^ÂÁ5jç× FýNZ׉•—<ƒþ¡Ã'ñ±2 ~ºB„k§ãÑu,_OåÁ1ƒ°a¦ Q-á™}e(kAôwuÂy Çu‚C …C,Ë7ÐêοW¶Ýt%0$Ö²4m³´£¿º‘Öfs€ßÉ"l<'oÄev°bú Ä šÛ9*:…âÂòrºßY¹&—ôs‚eI³pd½dªÂ(­8xAÕpE Ðv+3êÃu°;§ÉuÕ}rQë)•f@Çh#„€Ô0¾¬C®ÚÊ—œMyhD`»ªûéû¯óöëõ¯¹7Æ ÂW’Ò„ µÕÄy@‰Ìveð_ó"`<´V¨º„°°8ÂKª½©<¢ÄZôµD¦ã0Ê-,ÖIÀe¬¿!x;«Põ`Ÿœôâ’Ÿ¯Žd›ÙðªLÃ@.Á Xììçc´Ç¬oçuB¿[Ë|[ão6mEv¯TN¡vÝr±ecæ  gzF‰ÆÅÝê¯Þ-\ ÜóÝÂe"~¡ä‘c\;Õé¸nèj©K?ymÌu«ž/ºî­Á£C±Àb2 µ1?ý‘Y`}g]4óíñLO2äÄDMP$ÑÍßQkܑƻ·\‘°ÇË8/5Êàß‘B…ãÃ:Tò"&QUoƒæN¤fŽ)žÚu}˜û8M‰²ÛŒ zÞš¯ÈcŽÃÃÚTƉëÿ:zø—f¬¡ä,ŠbÉ— 1({™ÉÌH'r`‰‘A_? }­¾ä?õXøî•ÕsW)ÍÖô8 rÂË}Š=–‰U™¾t`Ú"kÐ(Ê»/›¸Ÿk_ÇÖj¿ 9©ãÿFócf«¦êñ½ÐJ¡ÚýhËÜAøï´uA"pëu™]dçhÔ€å h½œ7¤Þ™øJÌ|:v³G[€y4¿ ë©›Úè7¹ñSl´0_Ó—n!VOgbáÖ—A¬Œ¾Ã3Õßj\Å.× 4íôƒˆ·IÕÔ‡NB3褨נ£Üp%«šBRƒ]ÞíʇÓû©06>cæÂoÿèÞѱýv =}eïÀŸU(@Ǩ.Ðwÿªd/ûÍN9±÷.ÙË_×?ló•ZD©ÖÖV!Ú±’3Ä4½oq%cÉýAºc¡Øqû2¿ uÛ¨š™ÚÒŽ<ò‚¢‹ÎoÓ\HïÝ•ŠµK`¶N%rÅqöI–ÞÐZÒÜâö8Útì·¢EŠRúÝ…Eȯ°"Nb63i¶&€»¾ýsH¶Zð @zž¤ÈÕ¶BãæcJ„È6ÙLæ†éee£%|5¦e.õŒÄ{ƒ ¬!ïG|Qdo-lù%\~w¶ê6Æë0k:¶”W—nÊÓÐ ÀÙ ~Î6#…1F€qÞßÂõÔÊ$ÒÅ«bÝMàÒr€œ®ô«¹K€åìEõ£%ŸV¤GzŠBRáì¨jîš\uî=ºëý3Ö3þ‚ùm;h1ðÝÍÒ1WÖ~Ñï½LéçœÞÅà"»)qîÞ-ªbÉÏië‘Ö ×9y|Ÿø—‹Vs¶ˆ¶¥—‡ÀSè…CQ-ÇM’¤ËZ¤¬šÊ0£Ó½·ù)¦huv­Çp[°ñ+ÃŒõÿX»[ÐMÀÑÕÕ¯üFdˆHzVW-šChcÖ0² ™‚Ú ÉÕµcéò §úVK½£Yo'!ûE©Šñá‚wðcÑé*Ä qõ¨½¬ê¤…úZ1ꤧŠjÑBõsõß™S+%±¶j§êë¯\n´¨st‘Ú»áŠeˇiú•b¢DÝžÝO){þ&“²_éC{@§=@ íÐôI”Ùµ$=­À£ôt“¨gž>^•z9^304/2ûêV¨.·sš˜låìê®{:Ì´|µ7WÃñUphlL¢=ºG²N"kT :pŒ¾†Òù™ŒôدڌÈW-\0±—ÑqáfIé×®ÑYù©*†÷ð Ç {Œš:5pÔ×[í»Rèm³¦¨£AçÏâÿqšjå‹ ”|J´&1`±©.[-Ô3.=W›8/ñÐ)“>’ cžÄdÕЇ:~X¬í%.1\©T@]‹jKÔ~“‡®<Z+9ÖÖe’ш唎ÜÅøN`–3R­f)ú“ ‚ Ú}퓟UXζHngëOCMåÙ sú_¤K?Æ–ÿ¶5Ù£¶K‘¢ŸüÙV°ðµ>€8Ù·±:ܧ¿Õ#ZK Æ"U‰à–Í•hvÏ3“aa’Íœ‡Ã„ £Ë‹_Ìfô7ÀR¤‘D“uQµöìM)&hг–cX£}–&S³Ôë ]†ŒH ¯ _ݲpŤ|hÚ©M¿¼×sœŽõ,æ@~ÇÓÍ‘Ìþ0duC=’˜¥B@tì aø:Ùà»'¢c2dAœnJo}#z/ìÎŒtèsЦO,ÔÑÆkáòxMkð™082R ÔÁÈ4Á`ÂTà»Uñó+W·ß†È.J ËÖ·'³Ñi­,Òñ¯¢Ê.‰½NÐðs®fìóxéÛúØËùôj^öÙ‹²l¼° >±£1Z.ÃHм†6¸÷$xÿ-­Ü»c·Ä¹Ùò=€ê4`á.æJ4Ÿ]?ýì¯\!«âè—Æ`…ëí4¦4xýª;ÀÅzD|cZIÙ\UÜÒ¬¾úp¯\•ʹÛç]8±×ŽuL¶‰M¶…  .´uŒ¢)CŽë…8x¬Ë¤=èJØ„Ùí0R-˜Å¬XË­jï³ÿ鞦qEâ}&¤çÊþ½m”=¿s*e º``š8¤Ȉ9/Â7£¿º½ou¦àŽÉi‰ xÚ'ˆÛY¹áûùCñÞÞú€Ñ“츤™5);£`§åí¦-©¼ëè,eDàOžÇ{ K×]ÿëOAmZñ±I{íó¨(”¬G㎠íÚEªÐ*">ĈۑCÒ—ŒÉ ö™Î…ŽÍ¼.-Oui]uKL÷èV1-  ½¤Ê‚Ù[1¹oJjgóÄòb/}%ÈD;3ê¼h÷fXÑáÙ ˜ /O2ÕSLò²[Ù‰hkU:¿QîÂ}ðª]û´r€ø“&xŽdÄi'óG5ÐOS®»´3…lCõÊmšQòÌI3Û®Á'Í ôŒÿc vHÉÝÉLÔÉlvq ¤‹N'ÏÈ1Ë[ Ð?}dÏ]èJ ²œ‰j–øåÕ/ÉŽP¡c„Ù|[+ Þ{E ¼ï‡kÝèÍuÑw„+Y·q±ìÜñÿí?Ã(*õ­YõB$ªqI3pèxü¢n¼÷ ¢.·e¸%{¾eȽS5]æ ½Ì¾y¦[IøXίXª˜e Èn‘pšwÆÔòwZ3¡)‚(² {Ÿl'g.X° Sè)/n‰}ŽQ¦~ážvh’oPïþ 9t”=u¢ÓL2ŽçÚÿ‘Ö¨{†Ù2g#åáùüص=ÔÀ´B'¶ð‰•~²¨g‚ÔåDM}1ÓdRW =‘úš¼ µ¶QqÝ.Mus¯Òæ‘aÿ›ôúîa¥Dç^¿ÏZïžjGü7àÁ:”lv“×üzŠv±e‡ú½]†3kBåqHÔ¸îbaeª7Ë`É'š“Ì{s°/Q8bÇ8Æ&Äû  J?©$]ÐsíS|º¯L¸³g‡ÌÀnVŸÙ$Z~–ô‡_¦^ϦNjSêª$6é/”\uÒÀE:ÌH.L v1;½–öÛwØØfª‚›;~Ý/¼TŽø­kàRŠ@••·A$\ç‹Ù Ä<|„Ëó¼]Ðá3•¥–÷žq1 o .(] ÊÞçx¤F(ôŠŸU¼‹yæmÃAÖ£'ªaÉ,t˨pÝAAÕš@(yü6ý_qÚ˜°Wÿ§ÉØÕ8 ÌNÈijéf¶áþ%Ûú0ûç[_§-œ£ß•,uÛýR{j3'ìMoÚðÉ&;›v$Ráp {î`£H¸Á4H}Ôæhî¬ÏšlN(Èæxf}ÂrÀIx×ê]¨špoAUJ O½ÏT½±=¼Ôr¡WÔ4¥ ,óæÚñ.1‘ÑAAÜÆ¼_ÿßaÑÐÝ[hùJϦû1 ±SÈ ƒ.¯"ÅÊ"d®ýI{ƒ!m†s\I R"Þ¢T3À˜Á$ãôZŽÏ¬Úãá%TÕ¹¾ìút¦¦_ÙóÄóLi°ÐŽTaB¹øDS£m-~)Ô ®U­Ç?A3Ö?ÚŠûI'CÍ‘IN ™Ý‹±#>D¹ãÞ÷¥ÜÊ¿ân±.SRÎÑLXÓhË[Lê„GädÓï ¨Ìª>Ç…a@‡úªîääÂùáCð«Î)H×G’h5ÞØë¨£»Ò;BßW(¨mä,ñS!i 7ŒMßÎÐÝ8לòG0 WäÝ+€4öPxOMEçŽ(Qò/Á¹rÓ’KØ\a2a¾Ñ ÓFŒàò«ÙIÎÏ õkž[–n†¿À²gOÜ5E«(¸OPZS8¼cÂûxº¥ÚVV, '{ÄMÎV@°ÁîÎÖ KïVŸ´ÐÕuN˜RÅ‘gp–1IŒÙÔT;ÝKý+Aï£w×ÌÃ_ŒÑg[’Ü/%ø¨’@¥íÌÁZ:ÛçgÙë¥O¡¤Cœ2+Ò„¡¢“™º«12¿âÔXC×*€8¬¾¹íe¨7“¡™vNFL0Cè|¬ã‡ÊiR†Bf9."Uð¥¦ñù- ëL£ÏÙVi–#¼„~¸Í—ƒ-'LþIV²’$ h[ƒ"&$È Ãz’&w=/³óão=Øv:lAC‘¸˜3{òÅvZ¾K^ õŠò—y§1unæ§åþ¸à7õ÷½SÄB·mÑ<ñC(Yë¾³öo“{£aÃOÅ÷O“PÍÓœòljs#GRUlpÓ‘~@¾óÇå³íë†eùõU®[…8\§ÔØÀ-wëÌ Ãô…)³™H\ë©*Ä$~ÖMÌàrQv¼jâqÐË?òc±lI¢ 3ØêÕ[ÖŒ!÷tµáÑ~Vj—f7­`þƒñØ@[@æG¦à8q ¥wÊŽ ž¿´Mt˜®ì±! Pû0ñNKwæ2Á-ê#½ôèVY\›duüµ«¼7kueŽæÚ’ õiªÈt]’2æ_":f¶XXÝ N6_‡{/Mº2´ ‚r7ÐF ´”†Ö¦ ÑX©Ïئ>Cuñ}$©Î÷_eƒp½ 1‰ÆM‡þ¨ç¼x"'¿­o#Ç(«s&GDp'ÑXÌÛC4ÚáñxÃFYyˆ3ôˆÚ¨>2[-Pó9°qðQ“H=;Žß—•5œgíèxÉ”,ؤ`¹†öZ µÎ8æÙ‡Lä™lE¢È‘57ÐéQ\ÖŠ&nîjÃx-„¸G¾‹EŸMp¿mcÎÍS7^q$¿”(–Ðê›û'ÐÜѽFé=±QŽÅq‚F±L^âO¥Äwû'XÌHÀǰpáFÛS! çR´S%RšÝé¯_02×"èu¸Ê1:¡Ö›.pï®(cœ9wj'… C}ŸðªI\ÊæAjMQúvÌùÖ”tÓjPš ¹™ «•v –U*S}1Qn¬€š¥³õ9­¡SÑ=˜6˜ùç¢â;Ðÿ§ëF/4ÖYŸÈR“Ø);ØÉU®k¸÷€¶²0ÅÛmQE¹ÂòþÍ6. F~Ëig„MŠÂÂu¡höe¹ÒÉ?Ó𓨊€ïWÉiU¾1èÐ@D‘µ5M7Žv«ôŒäƒ±ã¢µšº¹a–œ´äOæ6³ù<Ø&Ä—íÚp³§XT’"s \ÁR€¸|ePU1¸(NFIó»56vÖÛûÛ} ÌR~רaîÃN‘%ô^’ ÓIºë qifñuj¥öðH¢÷Îm‡Ð<Ç 5™¹æÂ@žYCT—¨:*TŽþ]qÄ!WI hGu.óÑÖMx:Àè_ƒÆñ)Þ¿µú˜V§ØÚ¤Ö! <Ð=/×k7;=8nœÚM(ˆJQ-á& ³‚¦°à™¾þÒŒ…SÍè¬\bPÛo噑A.<+š›5 k¢©~Š 6(¾›B×l4÷“l¦ —PS\ÜwKF‡qÜœvõI*±@;[bQú/%Gb|&ÖžàÀí0Mó ç:­ßªÊ°/[w?ú£msOK€Ãõåc7:Ž"®OÚ/'ƒEKwÁrä!Ƚc¼6nÌèÔŠÉM*5!ùjŠ{9’o:¦5¨[ ’㿚™•m…¸'Á'KB7Î4 !‘¢jüD)C'·á²+ ™àòb{8½ƒe½’ÆmþT­bÂ爽Ä]4Ó@±­È§’alÒÊm!Î dÓYN€°tf%Qèv8Ó1©”Oì"H5/P×…5 õÁñi¤Á¶Å t[<©0cô±_{$ü)D5¸Ém©É´¥=”µLS¦9ˆ"¶ñaŽ3¬Ç‰Î(>àÉðZð<&®6+Aƒ ‚×'óåPî…y|ðù·BÆ?ã-°ñ<“ý‹YcØ+dýs¨®ÆÒºÀL¢¬å¦aš/ÐãÙß…ØÕ!´yŽÿ¬3ùm’ÿƯó ÿü#†QËúv¿Õ3.i+;RQû|ö9Ï €eït1{æ•é#KºïýMZþ4õ꤮¶Ê3A"%µEÒhÛyE†0CGÕb»Àæþߎyž‰7‘E¥YÂw™×ßêrG!ˆÊ¢÷˜=ÿ˜ˆÕ0ÃÓ'«t&ü±Ë€K;’F'¨š`všÄ¥m-7Å“ú ^ j",ì4|êÏȺ®:䵚£N…vGÃÿ7¢@Ñø1”áœâJ—òl˜æ>`Mo©ö:±Ç|è{k]m´¼yêîŽðò“$Ü¿,2¦Ö>,]Å)=¹[W€]æ^¡\ÔEëÝ •ƬBä²äòù÷“ììJ'}åׇªIì| _p“Ç»²[êwÿpP÷2©àÚ·Ú½/dçŒk&õŽãœ/7úÚä…çb>@–IdÓåñ‡gÖ7±‚RÅb4Œ•Gù)˜ÉhþRuY«¨ošVm´.êF9¥Úê0]•a—þ;Ta| µãö ÷^hqMá mR/Ñ€‘€áÊr6#Ñ5¢ß3FÇC|A!­o?®U.|Ñ™óR`"LJaÄ,é›zvÍËÆDbN<³&‡ÿW¹ìÙ%V]k9µÏÒ~¦Ëicïª81«'îERƒ*ó$ðé:\£È¬? DßW@t„f“W‹¡í(0/L¾èfÕÃk—ÄxôwÝ,‘û!ý‡¢O:±õ„WmˆO[0ÏFãIÏ~¸‰-5G^Šß•…ÍMûSZ´†¶¹Ùú[]OÃè 9ãѧRlRÓkØÙ èœÜ‚ÜÎ5dÚ3Ù‹dÊd‘»ÒWŽ`¶E3 ª$÷}޳—æUàÖ Ù"àNqµøªç)+2ÍIÛ²%ÎjÎÊà.ë¶æ)å‚Üdbḭöå%¾tinCp(¶ç¹q{Ä2Èi¯tÞbš÷ë Cz`Œº¹s.Ëô©îOb‹%~ŸLÑ5,0æ©ÍÀ‡5 *° úf–½9ü¢T‚î¦ÜízZ³Ôº]A\n3ŠÚN–Ö<'Câ%«ðù®ÿÑx¤ø‰ÂLŒ«=ï>Å©´Ë!Z°_q<é¦ÏærIlJ^°ùÔTA÷×Ú̈XD8(›²Ó"êÜÒÂsZìLK´õóe5hS‰ós?Iàà4dŸd5€¤2 ~”Úåîb¥#LûêçÄÂͰ¼˜'0Ó±ûæ!¨”"Ìw`…&Áìd®+÷e)sØ›Õ/n²’O7üßòÄõ›¥B>¥4=8Ä]î-Ü!±ø¾¿Uû¸¡Ë‹à TÁûAëpž-¹cÖ÷ª¹` '7åXyiËá[’Õ?{¨<ÅDf³Z¼ 6¸vršó|GµïxD§ß›ò>KÖÛóÝh§pI +zº´ÇÝ K!—ÒÖiB Šy•ÜÅ&êØ Ç%’ÃN7°Ù«1ö%èZpƒ7$‡'“>ÆP ³ÙÛÿŸ“œdpcc&ÕŠ•Ò#ðEþ$´Ã"öƒåÑë$«ÌØY–נëD•×ÿÍ¡"kÜUÍs#ÍIeÞÚæíº¯hûh”žEžJmb¦]½äÉ™¤ÊË]’ê¦à×Hî¾v8ª ï{WN¾˜&ÂÑ•G ÈB\îpÑ“qëxe‚›½¹ÜdH­åבæñ]>ìå{«Æ+5”KCw €B>›¸ ™´Ð•Y /%×ê×™þ}{ƒ¾žŒ¶—öÜI¨äõv*Æá”!A _¯ZŸ7ÙåZíû§›šóCF ]rDXìÇY'¡j$ŠïRô·ìµàg1LÜÄÀ&|DaT,):­—ck\W|·ÇNvö 6F8•~ŽœŸL#Ž7NmmJ±´H¸v—ýØþ×Ö$5ZX³ÛþŒÞˆUc2_liå]®S½£×F=%£VÆö©d@WZtwýêÀ{Tv],Fæ¶ Î%ºtQôv·CHʦˆôØöU8Ò"8–265':Èa²“Rñ]dø[«b¶–ާõÎ/gÉ#‰é%¨Ã–®ÿz—n™Pî© àú9ÏÁÚþFnîýn áiSÅó.ðëØñÚ·N²­/øÿ%q ïÉþ×ö"øÛdäf#’|sÛF[“µŠÃÚº˜t–€ò©¢ H¿lxHߦ±âA@ø½4 ,ð*y/Ÿ(qƒ0^œðo:ïpˆ…§öQtg¡D£ä€‡†ÿ—ª=]Ѧíbˆ‹N[ ƒ§ tñUr¥”éé¥ʆÁwRöÄ%˜ÆìÓ-NFn.ƒ Èù. ¯ðõõâ9±šÃ¢5CÉï)î¸Ùl[½ qþ¯©ÖkãÈœ 6mgûlËš¤¯Í€Þò-hq~ñÛ~ýDY_Ò[¹Õ+€¡_ëÁ¬‡·¤Qý&ÁDuL)è6I®Ò@Øñ8àqS®yÀâì.µÌ˜ÅéÔi¨?+óu=ó‘, wêÚOfÿ¼ÌyJMÔÔWMË¥z—\ÄÄš·Bo$Wj=難áÑ)CKÁ4½‚ÅcœBˆ Éc¨X‡”ÖfÕÇ=c}7ØãÝ>wBrù IÕ–Žô4:Ï”nX5[c’h§ˆ.oÞ¢ -·à°Ö:a£y–5À&ogÜ.L¸g8âìªW°€\!¨!¿Û´+‘Lp]2 9nW]5¯‰ÄµVr•üNÜ ]ûzÁ×Ñw­U!:G0€·š™¨a^“8DêŽKÚÚIP7#-s+t5†dÇ~DV¬ÜƒæPˆdJS°9»wãÏpætæëèlxά҉}ÅÈKG†Üš}[#ì ðÝEB;ü8Õܸâl¥*\¨G)»C·‘»°Ác·Wä‰û:†Þ–}}<Ý4xðk4Óª?–8nAKýùtãÄ2=iº»…ëBM°Â¼ã$ÔV±ÏGI±UïXéÛOÎRR?øgü¥@¬œ 'Ô&ì〉ŸCPÂ{òÁŽ Lñÿ—|yki.ÒZK*Á‰Þ[¥“û4¨†´¿æV\jU›&«6Z³ ÷ÍP 'U42á`M¸àü޳ WÎÚîîtνɷQ»«£) BOgæÏžouÈ ‹yîþ>-Ôò¤#ÉK{ÆTGý×Ô}"P‚–¯!ñÁiˆGT¥-¼ÂƒG.½sb5 ½¸DZ"¾6JG<'ñ¦Í-ºV©xÓV#V¥cŽxÚó²QDjÂÆ@@ëy‡ jéJ ·žÃHAå6 ^ïÝÛ¥ã‡&¸€äWëÀ”0P ]v•Æè)jáîÍßO6¶?½ßÏxxÂCí9/ €¨Æ ²F&ÁêŒn‘UZÛl8VW^‡¡½@§φ¯¾R!M‘0 £êÿbDDÒCVà)ž²uþ´i¹òå°¬Ä/ˆ(4I‰ô~Û:Ü,¡wòï"*}_¬eÖ.׈AÆ+9‘›wŠ[¯×øÜ Šv7“QŠ‹›ñb#ššöëƒ.‚îí ±™;ë×Á[VÒ„$“-Ä>è0¬Ô}W"uÕ¹~ }<æ¢1E5‡ùšaVÉÚv 5[*ºÿнR(]k?l§Á­“'¸­r*–vŠÌ\Nü©È¼„ ÂMÛQ¸”Þ'ïÀv°‚Y@ß©‹òD_-|=xð‹û•º–ô ·úÑgpP‚ßüâˆÚóÙ¡›e!ÿVº€‹òâ/[Ã,{ò×ê¶¹Óôç%ÄßUÿM²x¿½ç—±?ÞÝcGû¿/ˆo£A(?Þhîxª²ð*I\Ëóü¶"µ!—}EáÈ¡²ˆ6Á{@‘zªß}¾à´P¸7ò×ï«ËM„¦µ"¾¬BÞ ÊSëlA>´šˆ‘aBí[œ÷ $/)u3þwc¿÷_ÖêÎ~…ÖÑ&†ÆþW4rT×¹¸uüîj@·ÁâjÕ•¡8TühÇê„‘ƒA$uÝÕr¢2ÎÜâ© oy$g){ŠÐ‰±ùŽU·ç¸£Kl(~®+gùj½Ð1œˆ’ ‚@ø­[ø:tC¥Ò,¯ãxrÀ±kÕ|" Yr­¢š5ÒÎ1ÿ?4Š Øo[Þ\ÑÇÔ9{?ÙÄr|"y[V^€™¶^ø9÷”U@GMwI`öÊã=Ρ2M7Á—¿I™ X·sTõ›Øf‘ô- e?TL… if·8Õ„níö¢#ÜØ°òF¤ÕÊN1?´ñ ½r¯È¯_µ,õ AP5}¦üç8pýͺãFÇu?02Ú$ ÊZiMÕðWþmP!ðÐ>!ƒR>þ&ÏŒnÎЕ+iI<çgΉ×Êm ÇFÏEÀÀ~ì. ¸§k@wÉx q7¦jÛûC…n¾JùÕaÆ"ñ³´¾·M£ pê^K¸uéʯÏá3|Ê٬ŚÚ`½òêwÙ'Í£`7׃bJ»~%aܺöÔ:3›e‰R<±7‚gÛf”þXƒ:;Ä‚ÿ†•3üä…ëîWS¦éûblh´«¹2»‹e:°¢yá÷;æF-ù<íòkèSB£vÀÇË’¾¾…hYÖâÐvB8ÍDo(¾‚ o Üb$–€ª˜m" ß#0ÕéõæÌbQ¥|n»ñ°£DŸö›QÜíf€¼<Öó.‚lžÍüßä˜n[Pib Yðè›<­9>©°¶ .ü;/͵ÛïÓòõ|>¾‚í18Ṭ‡åú-uý²KDšüôŒ_"ÈÚ,ãM'þ'‚Jå§0g{VºÑצqäÓ-Çwõ›¶ÊtÊ ¤_ÉŒCq—ÿm;¦¸5rŠ|oì;æÃúWq2e7(®üx¸:aãQ%Ö3c/î"ˆWè1"”ÕÖœ<·ñÄZáúqkdŸîv:=D m¤á`Î'HæÆ/Ñš(Ý{¬‡ó9¢¦]Õ£Y"m¿™a¡qyœõé¾pãVˆJ[=¾×ØÞEˆe5cô¿¡æ,ø ÕÎ ÿƒ\4q:JíoÌcò6 }#•m°Â “ªÎ(è…‚áèj+›ˆM»éÖVåÓ¢¾9¯s6Çv@Q±L§JØñ‚0Ýȹ8–L¶¡4Š#½wÎæ¡ÐmÁÁ°D®›øÿ cÞar›Aw35xXÏÿõòÕ索ƦvhM  î#ÊÚQÝ332¼dñîˆ)—€sç’(¹ *"Íäç qÕPDÁ1h„¶YÇ Õ“Jö¦–·ðéf1¾=+¬/"Ã"Þa`,JŸˆøÊ6;i­“ã~‚½'¼É\{Õ"êAOfïzïêbSîÉF§ /ñéç „å÷_k%¥ˆp>b™¹ëw‘ò0™Öu‘ ov]œƒynÚ­ }˜$Ï%C­à4,§G­ww#ˆºŒªªÅìHÙQÏù×\,IÆŽ“xZºØ›í¸JÕ—ŽÁ6øvóÜöuå¨ß~—£|›X÷wÕJ:ðeëQ“ (“áÐ –Ñg~ý`W¡(ëžàU!5˜å #yyóôNo dsWœõ¥ÙyO®eã`µŽgpC¹X¬?ÛÄ2ynÙ´3Õx É”ÉÑÎkj]îl»Ê*Q[;=)_ ]ÎØHçÎoü|&( ¡ÃĨC³Óή®9EHÉà¾cCq‚1cõ¯»ô–a  ‰>Ge—cíAéýpO+ÞV >)Šä¢÷Ý&Ù0k‰Œè¦²aAfÊœööœË£N"ñÿ©R‰#§|lÞ¬lßËõÙ9]œ¯ôÉ&ßwï$ Gý3÷2“Øøc_-E˜XÌ:Y¥Öíd‹¼Ä_¦C'‡K:ïø©µr‹Q°yTôÚF«ƒ´cþèA±ë¦¡a’µÜ±|ÂÞöx(8}”z…¼Èd ¼“où$õ7f ;¨'0l|¡’ŠÚåµ-îÝ?Vº¼ëc¯Gq `ÙÝyb­õk½-°oJÿ$S“’n9Ê^ÿ‹&MÆÐÌ2Æj=™K±A( ošÜ“3“{Õ€pÁZ~ö]Ö«eImö ìø) ôh1-ÊCç1nh“#?÷¾,þˆ3 €O,$P¡ æybIÉçËíÄn§ Oúˆ^‚WNØæ¶1ço)½A6T'ˆÉ÷¯¤ÈÿÔ?³Ò<‘„i„U½¶oH Ê1p€Â[PW1¶n°K5f›8ûUJ…ÎeäO™Â³-D_``*¼Â꫇§ØÊJ÷TLÔÖÁ®Ä:ym³¾ÌÉ`é°›' þQ¹,Ìí:ë–P][Û¾ñÖ)}hÐQéeR,Wæ¡´ËÐûm^ w±~ÆØzG.ÕŽŸ\4Çñ†í<:¾˜˜.#Ü®f-ɨ«dKÀ ¾Ï3´A£M“&oB‰óÏ ¥œÁ¶X®™š€”ÝòEwr#¸€éBà[ÞÕѾŽ`‹í #‚íjó¤À?0pJÅ/”½<™Wˆ}­ùî«ižHC3ÂÔ tA ÷Âp+ã‰3±œå 2ÁY|2 1,ü%Y÷=sÔ“ÆŽ‡H¸øj¹`TJÜTýa[»²ÃM0xifÊžžMqܹñÛöÓ»¦¼üKo´Œ6ÖÃq¶H-ß³{غ /©²¯µ]¬°JÎú‡¢¾%[Qüý%06™‘ÉÕrÿù˜&”f/é%ÿéR÷q"¦¶x¯}}zS‘&Dõc‹³ªbo«Ñ «>ÏK_{(¯"ØŠdž‡zʯe¬h€3óÃ,Ë|Dçù$‘oû%`aFéCœ#Åg)¿¿µ,Ê +ñÅ.ûI™h@àm}TuS3i¸ÃUÆ]F¬9‚@›%qç«i>v[cDP©÷·tÀìš— ÓÞ ŠáàÀfÍRoD]a:qøÅ*¨žE\ý«÷Ôþ‘ÙGô+k”òýÉÕÑ´T!qÛˆ'w$A}b<ÙA2üíÍ’N=Tó8é™3 ͳD°-ë,]˜êñœ}¹I\Òm‘áC¡°ÂYvòßò§)»´LIòº˜.߇4¢Y¢;œÞ_[ Ù·ÚxÅvÊèLÁÖd¹v,PY‹p’O•ŽG 2L–ßt¡¼ …Ò‘ý•ЬáëE[ÂWnÐÂf,ï»á@ÚÏáFš/2ÙwÙx~xá´f«äÿB[s‡í9BâCóFÌb`EŽè«íd»5Ó ÓV¦’T>õkÁšn;àXc»lR}[Pµ|¸á“Êw˜yÔ´öáN[4^å1Båyi\ ¤.ññÍ¡p¹_Nd~˜4â˜Wx{ ¿¦¸Ç„<¤!·štcYœ{7õÆ'Ø:̼2I@bê$cèCÍy‰Ù•—¢4~w‚•Èhñ—¾©§/]Åš~2•¨œù:Ý Bb>ÓkI,Õ— +[:$:ŒˆPÚíû;……~EMpÄÃ4¸pîbï3¼Ú-’0Y6¼žq¶zÀs™Ð%ÂÌx"& «!%¥áE^«þLXý®;".?ºÕUŸ-Úô“ûï)?µ\fÁ~ˆž7^d—OäÇÓ€ÞÊ4,-_•xAàÄÕÐ7dp _×C0`a+?dëA9 °¾>¥^6'Ö»xzñ4Œ03Â0´·©ÇÀ$>rµýâéO7qÉ”@^¾ù÷MÑþc™Á¡­0Þú\G[°iV'¦àÜ󻣛n6–²Vßé*Ó.!7NÕM™1 ÷½—ÆÝ?_ÝÇYfñ;‚®;þv|ÎÍŽÝa¸o%!PìZL¬ù¦¨µ°®ƒ„°£ãÍÝ ‚„ôYðH+_˯^ÄKÚîIk™O-ä²Mƽ¸ ÅõÀCŽEAó“}ÁÁ"æÕ •n\U²Ê¬Q×ÝŠϳIFÝéW;»éªú‹¦xÜÍõ,gß^Ú O§&Æô›ÌøSÏ[§î R5;w=”ã°1ÝRÄë\wKXx-mßÚÚ3ÖŸ¦„è?³z±_XìPÖÈÆ‹é§,Se{†ž¿M$V¥e°°žÅ¼WÿŠ ö­ž¥–ñ‘K\Ïh!ë>ó âŸ9×@†Ú ÕíC ùíR£ºô¦`*=ÆJ 0OË¿¾\#‚Å6W°¦RwÄ¡cN‹^È(„Áµyý÷®Ùãk]9†t­g±SV£ýÈ *o±Ÿ•cr榩lð°*M£6›áD§Ö$ެéwKëáá±™Ÿe;f ¸aë·‰+KÐSŸ3ËOr%“;“¶ãñ_vÈ•DhÃÇœ— ˆ›¾-°ÖÀ‰rX¼ÓÒ[¹øOÚ„»† véþö¨tv.F<^¶êñ†gÿÌKG21¤MÖeSŒ•Ÿ)ÔVø0àµ>rª°¢Í9ææ*ªô¢Q¸_ÍBê*RÀÿQ2€šj¬ÞÈâsXÙyƒ´øâ€‡RôUKÞÉÔ®»uBÌÑk06yëÙ\ Z„%]pÂæ¢žÄT¼`|÷dÀ…JÁÿŠ /ñ-¯°Žœ¦‚þØ<ŒÖªœb.õOý!:‰l¸¶ÓºRÇ««iëÃ3g?(µÙŸHÁ}%,k“Çsƒî¤õ£&zh_L õ@ô[åûë~ì¢k]… .*”R×̺Ý1p‚ÝõVw(–~X·´8]ðå›'EPAJÀð·ˆ#=`œ™T…•ÚZh"ÒF-ˆ¨‹]aW‚=>°¿äæi¨S–SvE¥èN%S¼d)9ðÉ€.âR{Ò9¶ÆV’rmÄt¦/jÈóš0URNàxJåºWd'7¸Ýpth3Á¡Çë`KHýR«ÏЬˆCúbÉZ¸•ÔtžùQî Æ".kÿ ˆ2qQ‹½D—”Z4Gñ÷~Ë­¼Œ·òU<R!ûMÉ,KèV~ÊÈ£€#Ä×ï-…þ©P¨~á\.tÊ|ýAªM÷†y7MlÃÃbx}ñ¾.Ä ¾˜Òª†Ù|®F»‘"ÍÝ`œ„ \t–ÊÄ8Ó¡q¬¼Gh²V@"ï,¾‰`3Q4n¬ÜJÁìÅ÷îÃ&läH+ë_ø=¯²M«k×\‹—ûQøï­df¤.:’^Ur_fœiW”ÊlôU}×ÛòÑÑ©yÉhùdÐi‰’c/D…ò€ iHmÌýùºØ¿È.Pb[1OeE)Ã#[R7·zm­ˆ§\'ã¼ü𙱫‚«áîn¬0÷N*J ‹&YéÕ"9 m[„ÌÕ㲋4õogmðÙM B|ë«ã¢–üŽÍˆÙÄ|ì¶»2ˆãäwëÔeÑÕ­æ…OÐí×üƒŸõo¸´_€“m¨à®q‰y1K}é¬]RZ¦ÙýÊúçýÿAªŽµé—oA!Ôj´æbåõ)¥ßÊûåªÜBò:~™;tnU×ÇÙZ4`wí¿ï+FÊ‚’||V ¯Öz%Àṏ@v-w| 0Í"—é2ÏÍ0‹…nZ v£kø#X§ßæLE«Èèõ†Ž¦æYžÑtZ—1ü –Çö¸wüDô»ô“etj€LMñë]H>õ y_"¹bïJ¿uŒb[BÆ\Y+B½ã9¨! o¨Bœ°û$Oë ¯!ê xEêÂÏmg4Õ¸ÝÒ(ccÉ좧çsûQm3…C5¬~Uò`crZ £´çãš3Ïæ>ï–íú±‡0hœ:©#‡À)YÎkVHÿ{à‹ñ©ŸÈ_|ˆ¢GXºäÌ%V€+ ¦ÐV-0”˜ËÿaËì¡í%/­'ž£÷ï-’€’Ý2þž°Sg¯ E_N‰ü*rUQÓóB`FÀ.Y’­¢“‰öÑ,fK`52¿!æ‚#®I/Ѹ¸]&x»ÅT ´ï2P»®«0DƲC«¿Ø‹w»d.vt%¥)Õ¤õ‰ËèvÆ ¤GØÐØöç¡jÀ…ü1Þ6É ÿÅdL±ÙvW3$:wH¯&o¢OèÓB;ð€"p‰‡D€cYpÈì)Q³VQ­#ú¦Š(ˆÅ=Óe‡¼ã…9p )ɵ’\Ì,TLXc æA58÷ò‡8¸€Úú9íIú:âùr§Pc•âB˜q§+Hâòb™ý©ÓVµ»ý\Zê.¢gÉ@Ö$Í‚Õ z'DÎGzî)q?¾‚˶ø5@$a<%ܤÍâ¯d•¢U|)@|ie8·¢v½/¬Ò rVܪ3¾î_Ðçÿ,Ì›§„ÇßÓ¬ˆZ”ÌŸƒQ‘*Eí±µʯÕÝ['d#-ÂÎqËù»"õ¨ Ã#`é}P‹n¤©#Àèäk.B¸éÜú͓ÃåW·þºXˆ¬>»5cå…"2®Ì›¸:Ë>IÞ„¢D¡l5¨~¹')”’gcˆ(ôÚºk6› ñãïÛ˶‡:^EPe½kÖv?k˜¾Ê}/}ò~'_çkA‹1? ,6rw…—dŸlØ? úœûòÂ|&í?ÊU€ ÔD—óN‡]iu]š.\%€?\·®ÛTÜ“üv&·ù0ë´¨ý3c.%¾›²‚ù››¾s/ yõäª)f0qî}°]˜wº­îþ u¿y„•ݲäÒÔ {ëR}š‘Ï 5›úêòûß{ Â2ÖíÈÌþq ¿xŸõ‡põ–î®RÊÊ笭åf±ªyÁá,¯öVdIõÁý‰ä¦t“Ú6yWœZ\¯ØÎ'=ßœú Ú¶¤hŽïÿÀ¤<¹s–E[ââqôô lk+r°¦64Q˜ØbquD+*yqùy\¸Õ“u¸8bño:DM:l´»€t~œÅ„á‘aµæÀ@Ïš ²Ž=œyH>vk#ëÞ;®`æÕ‚¸¬ÀWµê™ ´ƒI«â¦®ØMN˜a}mog4_@ØÁPb¾foÇŸBKOÞÔ <(P½—Ÿúù®Â!œÆ²ÀñÓ$E_ŸAKmövÝGÝûäÆ$RbUœœyêäó>B)‡Þ‹¶¦Bý—Pfp©¿èà–}šÃx‡Êã÷7°]°hUçn¨ ·FhAŸ,Fýãêà\jò›U²‰Óø¿+/*)HŠJãç¹uódî¥~Ùÿk<iòê à?x뤪î±âUŽF.…–¢>ÐKÌ#*—¶'Ÿ&¯‡:igì2ý|ç·7–( ÀßêãÛVoÿª¨ó(³"/™„0]LþÏ€É)èY`Y_Ò2|G±çÖÔ_Vh=˜2zwµçyZ u¤ÈWm~:#.mר3µÑG|¹˜½`› Æ_p œ .ÒðxáYåNŽø•ü‡tåFÍ`˜èÚßßMådž“‡ìºrþCšZׂë*â7¨d«TG ÃþÛ½:ØÌs ¶˜,Û§ÒPˆã‰…=DÁ\ŽT¥…ž|ÈæF‘ëàh—_ÇüçKkNt7¹«§á$w† ¢ì‹d”Å´•E|tÍRÔŸ©\)¾šéTùÖªg>ÊE4Pªøì[“É ;y©nÅ?d0þkbDîÎ2z/œÁ§¡q2‚þ».4çZ±z-ß9>ü—åpŽ2è€BW;b¡ 1¾¾½‹F•žä`JÝ0fø5®¯qr¡™gZ±e“ ãz5±›>4l}nÊ Õ¶(¿?íéR"+ÅÕ9t<* "¡dë… Î) ÛmÒRÃÀÓöÂ@Q!òC ïÒþxñ<媛ë¬×ØA¤¢;ÜB\LÃ9/ Þ{T-KÐÎ8záÒ×£Œ&½áLŠ®£‹Ñ?> Z\;VXaðŸâÓ<Û¢6‰9Î$°´CcŸÑ=À lô9†È¬ç+Nï¶BœÐgî;@öiˆÈH›Ëõ—¹ÚËÎ;‹,ä ;Ë|1¯/°`…½Ë-Hs˜ë‚”Á9K1›ã„s“Ú'Éâ  2™GÈÚ¤Ík…3û-H!5qx Õl•Z´K:(aD46ÂÑIôþ@ÝG´\ŸáZúN\ò7•ºXKÚ=†<Üó#ýû”ý‹ï`‘ˆþ©ˆã5µ6Ü%=q XA˜EÍ;Èky&¾ÛJ+ùeœaàiÐõ+Õù È0½“˜êŸ´e`ŠY{Ë,¦ÔU†bcÖ ¡ì•}Õ­úÇ{(×\JaÏëøÏуTc¬âŒ1Ý5@–ov*¯RÇ:…‰UxÈ=0..㊞Ÿxw~#®;0çNHĶÔÇ\ÅÐU¼OÔy¥#S~Kô^‰w§às]·«Å uµûn€pB—P%ðl Žx´SlöýèÁ½WÜÜY°1À÷’Ö< w3;®¬Äœ‰îšŠ¬¹ ‹’úì­„_ÀPѯnŠóü £‰b×á›7kžÒ.h,×ÜM,¯–<޾m’CÄãúª5ÁÐ@:"ýJpо“k+Ì|b?£ðí+-‰Œ bt1çT×|ÛtnoAË´kb%dŠÁ8Ô·©ÒP© µÓó„16-ƒHLnÖ…ú¼fþá½$ÞÉç SábT|j°—èeîDJÅü;MÙ5¡+“zb½E%³W³‡C•›É,B…““ »ãøZ¢ë#^Uï)/Û¥ú%V–ru_Ö¢ÁŒFx{á%Ö¢Âî’Áj:‚qIâB&L‰¯½ûß’Ö-§‡þÛ``aj äO*Õt‹&¤(…Õ?PñGi_åðÔÏpcþ}¤…oá×(øq2›:v8Ùò=¥½¥±‘f áˇ]鈂$šé\æ$0˜zŸ¶n®ÚãÄñ¾AEÊy÷„ “N‹*Ðð–娽'1Ç+¡^Š”ùŒž“–œVpM^PEÜD\´«ªÿ¬ONwMêZú^°×âoq•ʈ±-ë\g F¸Ö•¿að‰þÂÛð@Ú%‡ŽYd$•öÀ!=ò7JlJSÌÑAìá(¥ ^uKvN¥OR* Te‰9ÁfÑ«¼÷Seð:Äw±"¨M{%+$˜™Á 5 ¹7ŠXвÇža„­Põë†õõÁ0]¾Õáƒå}’/áNïk9,°Gf jZ9Þ$9ZlîAÆŽCÆ.¡×¯ŒœŽàóÐ)!Þh}¾i¨¿×AÿNå-ÞKóÆØÏ ›áŸ¦ŸÊ`‰†jÁY†‚÷Îß¾][´i’@çþ¾P³Ü"î{¦ÓÜBÖo“<] ô¯) .ý)>0¹¢ý±igÔ„(ùV|Í ÝÝZV3swCÂ_„’kdH™Sô#õ9¢o8Õë”^íRµUÙÔ}ÖõIyAxŽª²>]“•²z¢´ŒÂbÅNKq{iÒ®íÐqŽ=¤^aDˆnhg¬ß,Oº”6ÛvRÞ[_Â,b6»OÒ/Ð?^˜=xÄ¡Õà Uü y,÷» &û,¸"ípSb-–HF+åÔE#¨Õ_ý0J!9nŽ à½È«8˜†®©a]:‚Î~/Š@ 2ÅŽ=Û>›¸b•,^Bï´[7óÓ»£øŸuµe= vrÝ©“QZ;Y¿ïö˜‘jZ°ÕÞXfÙ9¯êó&Æ_ì#ÎqÁÉ«Yéõ3/5‚ûz"¯q×pùÕ 9[,;v1ó-Þô.D…ψ/\¡ç˜ÌDjNÇ}õtÀ~ç~¤æ ô>x?ß—ðxã “[éÓÛÁƒ– F~R3¼ÍÎ&„r3YY-”1A~#O$=3V?8;¶Z9õØ ËÛ‡Áÿ<¦K„y?ß„®Cnu[+Q¥ÑÐGû¿?˜6ÊV €çdùþXJÎåhȬÀø³>Ô.±ö ·£fy™Ú©èÁD¨a¬”9= D¹DJï@‚9ì|woʦÿéEÒ**{øOméßûú­í”¡5€Ç`Ob[Ò‚hÎ@9Y«ìaÄÔR¥û¤“—úOŸxdž}¶ònó1jÓuàµõg‰Á¬Zr×±õ[ ™*æ>¸’ ¹¹&æ¾_MÅ¡o:?|dè†Ôu(F‚Mbxú‘AÄŸ¯cûÒÄÓBžšÝ‚ÃîáåŠ9=3ZùUÀ†{ßP6vsW©ÛlÌÕ7Ø›„p︀¬Ðøª¡ÿ¤eg°>"2nãX.ë¶`ö9ÎŽŠBSŠ2õéª$kÙfÄ×µ œ²ÝCíQE ²h#I¨?©[Yx%Fl#‰s †ƒ5F¢îtl²Œ’qyá’‚3’g8(¦d™n©d£¿q§Ú¶–ƒP‡Õ¯èzu”W–½Ð^ÈzŸ–°—¿‰p°íõt‘;ͨÀ7léuˆ×YÔ%'í©ð*oj÷Óe—¦BÁ±"ˆí2B&ûnªaÈq‰FjòB<¢´pCmïÍàä3}6Q•͇Dž>ÊËrø¯‡ÚÔP­‘£ ²5Dá'–òGC5Sª‡ j!m˜jNIØÿýd‰œ†à³˜ƒIzš<ùofá®ê„  µöœ wçNH;Gì:ã†*’ƒ“qêªpS‘Fwã-¥ ÒõûÖX78\º§p•†Â禫'ÂôÎ÷]D3H,ºtp;üÕçôé-Jþ ·œ–=‚û•êÎê,âqû_Ws•ïêräÞ0F!Dâ§^¯-1šÌ嬦`$иÜΞdSLD:CR¹åsˆÌOï8U°´¨ ²#!Ò)¥)ÏtC-ëQÀ÷<$òÆC`ä FâñûXiÌȓγ–@LœÍ£³Á¼0r P¯ó-œc½ýž6ÊVr,Ó}]ÙÒa#ea%ÞÆÉV7Âi”}•­oB.µfFg»ÅÂ?ôVÄô,SÝ8½¼ýùé ÇŠ?ngïQYÀ—°˜ÑIWçôÝA>Or‚ò^Râìy …Kd¢6_³‘™ö…VÚŸU±‘`‚í½e±B”s¿€ŸU“‚":æ\fï8/¦)yÍѸL‘S~“½!yïÓfM¥ÉóaÍå–Ì…£> ¢3t¾¹a²:¥¯¦ñ]Wî+yLTxÈ>.dÏ®\=€²°aFÙ?äkõ† ý~$.¨+Þz È ‹ZG׆mä’ZØDi=ßZRé$!¨]0yûæIÌ‚´…Öž “öé7ÙPi‚—Ößĵ!dhSüJ䣿<úª^·3ÝûÜ«•6Ma=@³Y¥ži‰E5Ÿ2ð]ñe&%Œn²vÁÉ5±uøÚzñgº§tïj_ò0Ïv».ßöÏúÐÐ=ê_+xK\Í‹{ê_(õ /ÿ7x–C…"Ë )0L¢çÍ-à%ÝŸ:>¤vâÄËÆu{ž‘3\Ú×LzÄÄíM!®{ÿ!éÿ–ÔðTð‹M~NCtG“ËY­ví~ÓÙøOÅ :i—éc{ƒÕ ÇEÙÃH¬isO;l6Ü!ˆÎg›ÛÛL·ûp)OÚTÛy²"tH.P-_NXý‹g^¦éÇ\bØ\‚®yäÞ¾i@ÚÙ”IÀ‚Tñæªe€ËÕdÝsÍ$¢0·Ê®Øþç2Þœ³O©®ýjgiAò° zò¨`µú5ey#i2©h6÷ž 22^†n*s¹¹ç¼-´µÄÍ0.ÿˆÌV™hÚ‹Éáíî[té7â"ï4?·ú®åë„XIŽ0à?òq)¨–µ5êW½/¸…Ñû[ð&í8ªºÌry²òeˆaê>rÓÀ³êóŒ¬*5"ý{Ð* Ž0Š1MO«¼<‡«„Ÿy$>ˆ‡® 5Æ’Ä·n»”˜¡®@ˆ Êòÿfcº“ãO3îê¦Ñ¬U{wÆ=7õ]+0Rå²weÇ)¤ÒYŒÛò`&öó!7»Cç_H›ä–l3£¯"°Hjä¯öƒW%Umoê¡G®0+UáÃn÷½0vŸWÈ¿7íà=DJØ”GåÛCßÎÚ æ}“5´Ì뢥%q Ö aÖ:ÉÈóÄAetQ&i¦7_‰j "Ùƒ”•NÕX¼ÒûÒ«¼9õ/‰m-&TÖ$÷BˆñÙþa˜©É¹Ü´ÄòÅD9hÓò1 8óÊù”ë&žç¢ ´Ë£P+ o³»Õ©Ñá±YÑ׎- ˜ñ”ox¹ÆÄ†Ïˆ¾2Žï-I…£1 ¡ÓGš:ÔyÙ¼K{'¢“cØUÌ^ÙëP]›|ŒžKxJ¬Ö¥Ws¤˜_3×gÍ,Ìr Ÿ=4šÍ¾=lØ¥,ø]rÉÚÄ@mñôI9½L®ÒŽÆšrû¹ÅÈpÅ‚[xÚ‡Y8‡ö ²Q@T„:§zãOö‚Lªkõ¿pNâáéÃ8Í\q÷ßÐñ7‰f¼ÐYd÷üT¶ÄJÁT"RË•°?ÅþNÈøWpPPžóÄDXðuºZ€r+žæ›S‘xeŠˆhÌ^DùEI¢”– ŒéÙó@š8#÷ÀI°»‚7Zb÷þõ]ÌŸiÊíÕ²Kƒ»ØîÀ™a¨œÒ}ª|O¬ÏÁùP\;·ðŽn Ýë„ Ý©&ËëŠ*<é³IJ”3 ^5ñ)ˆ%ÔãGÖžþ€?RÁX°a±*©$õùø¹&û%!ì5Ä®Î>–´4Eâ‚5ôå`ŒøÂ¼ôr¶f€§G›×€œ3{³úy6jPá3•(ò€O_µ‡³³£8‚%µ"ÿšÔ˧ˆ!íšCø˜yþ¾C„_Ã6ÚÖtŒAèvÙá ÑÜþºéHWŸiÆ36­Íq–×þVÿ1² š M 1Q ~é2Í÷¦x©'³m èŸ#6ìm©«4×Qýk±ª Yí]hæý+,¨t+AgÈÌ5¥ÿÛ¬2Ò©­ ;=½Ò;,™©OÐUê´ñ&¶W¿L¿‘e¤ž;G‘ç!.$ï¾FYž~iSÊ êwµšä«Ñì“ÿ2Bxxh”Øb°ã4Å3uĵ°ß=¡$I9 º—ÄÛ(öìÑ©2îà9RŒŸa}D}ÿ9·Ä?ÖRS¹j9€¦ú"ÏÝpCÕQ'˯âÀjv‰Å’ ‰o&\vf¦„û¢lB7ê3iY.㌣A ÚÕÅ!v‰q9ÿÑAùââ5Å0Ëç¡Åþ%2/ &W`|?¯LÁðíäø#4¥²6ÀÍDBI8W+E[Šº?+L$Åá,**¸-›B¡k3=ˆvj ¸Rkë¹—Œc×£Zô×´ºïj2 ¸Úl6yÉý‘}¦jŽÎöáÖpGùoO4é6%R÷w÷]-8~â…­©@Ù´ßgUw ¡“x€Q@[ ¨ó«©[ë‡]óÊs\^ÂÜ…Û¢œR×Qv°|ifÑ*ŸNFÝÏ,Íì7µŒú™6Ç:Í=OC0ªH×Í^¨™¯aÙ´°çº™fªµég3Ù\dºãØXQ¯æ v ÁqÛÞ-$ZNî I¥ËÍ>Ÿp„]7ÓŒBM›\€V€dpxtΚdî˜Ô./\6Oüp-ãb3À¸ôR‚)¼ ½¬ò]EL¶”м/ ÆÚÈÔÜ´ó±|(ç`ñU‹NøÊ$¢C9Bå{ c‹M^^;ÄÙ”ÙŽÙm›ø}™]ð¡bu}ÁíÆ _#‰@vseÿŒ2kùÌ›¯E›ìSö&7ghMöÓìbµÀ”P`·$´“*»Þí¡’¼˜ÑÌYÎ0‰:q&”<äÁ9²…5Ö#SPk ËÔ‚¶Shf#CÒQJÌQÏð¸>bÒvÙÃlU–4Eܘæ÷Þû$Üt)¹¿~P:¯¹ÔšíK¯ìF^Âçg‹ÅÁåi]^cëE¡ìÇ{ƒúZu€¥Éáµ’§@a•CÙߣqßhþÐÙóëÙI~5È /f1è(žsaŽÒ•¼º>låöI7sTc£¿DQÑý©ÖcA©Öšô²šË˜O—¡óÁ/ôjé½éDC¿òüÍ_`|/Lè&M}€%ÁceÆ¿ø‹ËX‡ ¢s 20~·ÃT5ÞóeG ÞOY«lÛÓ=O:ùô£l¡é£æN›oæðþXÙ¢„ã9Ǹoî+©®üéþ¹ÁóÍ+gÊüò0^šVV«ß-¤kçoÀMiEýãˆêðêõ†É‹ðk¥ãË% Ïí»ú±ni%!¼ÚåÀ uð¾ú!š7}ßÜc±6J˜³pÔÕØyAÝʵÃñ‰rÔ s?è °¾^áÕíozÞNú²YŒm)»ŠUR,¶=öŠ6­é³þ³dG]Ë5Õ„²Zâ™Å©LL¼”WhÔòõ±XÌ ý¼oã3Ėㆲ_`³³Ûv¤IcäÍÂh›wƒQ* ŒSçJV/S”Ó’$«àaÂDÀ:¨~“Ú ¬ê˜õþ¡ ´¬h&lUðEJvA‚—H91óêðä6Ipþ«rhçæš4…öúý[m9JŠ…jWSÅ©ÿñÎàù8€@^ŸµÊžF…ì;Õ€Ïû¼àð·@ZÄawwmš«iÈ\ðÈ3‰,óÙ÷á]oR“’D¢ÏSœ‹€Ýñ.lëUï#γ¯¶×h»ÝUæ„Ë' 7ÂW®šC5ý^håµGÓ(ò­q×l2zPížãOáØ8÷ž·!$Ó'‡`·#3ivJbÐãš@"ªá_À‰ 8ÞH1Àf²èã‹àµXñÈrÙ%'±Ÿüâ ퟬ$ýzëåN_¿¡òmšsÝ쯳©aî¤ëóñ¶^¿Šý’JýT\ãêØfj¾úKÒÁØmÈWÎÏ‚³|‚ë/)KFÄ›ºáj¾7¢ØA<ƒlÃ:˜Mb/¸ý²…u¨hZ_ȸö:8æÖ\Ì™„ñxòÓÇ?ÑÏ®ïÙˉ¤ŒLMõ£¶hoçå?\”\±”b°ž½º_¦sƒæ40©:¡¶>QK<‡@ʰLí¦†¨¦ ù8»SÜ@gfÆøÚHd»ëÁ²¤Ë†ïŽÒ–<µ¸&DMJ1áE•³ÙZtçŒÔZ#¸M¦pžSbM°s $|…ˆ±÷$êWô¤ZZ!ÁÞâÂí@<ÐôîwGð`S5²m¾ºõð~òÆé·wúO¤²¬·'€hX;Í`~zpŽ}6)ö_°Éǃü‰„šJÆ*¥|êkrµäfÈX ß$ÆíœYw+s' lü"Z‚’Æp$t¯óa?wßøŽ íœº|Yofü2\ÙÌ úE?Êço_êFtÁ•íÙNÝNîûvÆå. 'ÛñžN¿Õ~©q`¶mTeš Ö÷.®q¿ß`‘Ðò¶by“3¡c8%x—êíNµAûaëÔ‘·è^@@²v»Þì.X™D{ [L‡l-îðè ”µ„ë’…CO¡.HsÈ´µŒz0KÀrÀ°%ÜÈúñùÔCzå„\oÑ¡&Qé÷Úcð§85D5îÊèO3`@ÈR8’_U_Î\ZYMkXêBûôÖÀÁúàÛTárçŸÿèÓeDÛ¯SÓnxnEðñ³õg!ÄžKEkcÏ~gßBÈ~kýÊxX"Gò;ÇK=Ö¢eüÜñS®eù ·t–®°ÛÝÐ"ÛóâéA‘ìJD“‡L ‡d²l'‰’Ú*êìÌGF²ú ÛzÍüÇLGzZpBFMXÏÞc­§û20±ë¢î,L ¡ 6ó´¶T ]>Ò™ŒG»ñš}œe˜Žz:(⻊}J—wµ€G£˜Ë?à˜¾wgçàÈ’68Øîr‡[æš×%d$!)±å„n^¾7ÛWI|ÄŠGo=jOšpŠwȾyâžcÙ¶Âð-rÃI@ª­ë•UÃÝ!ª$…šÂq,UUé2êjp¹F×G ·¬Ó–KšÏøü&ì ±M’Ñ7‡b¿cYàãç<ÉÃô(£1…exÎÂçWµ”|וʓåböºg ¯P§fÀÁ£éèË9PáLý_Ÿ—Æû¤ÙÝ„ àÔDÆ–RUà±;Ø‘Å;9)×UØBú w6(ª€`¬Uäx þ¹êÍAã¦ìpcíH›f}u§ ^5¾0Å…KN) ˜Õoáe2¦åÛ¥ Ç©õÙ¥!ãþê0†Bc^¼çD¥´EUp‹ÂqO*nr•~½.$ó6]ˆ=.ë …>6³‚ÐA}ôǨk¤ {Á˜ùš¾—o§õwW_® o~2#ßÿ‘õ~&PÓjbÐ9¹^ràh>ózU´‡sps¼%e,Ü÷ $ŸQŠ,·B/O-ì=Q±½ˆsªO!?A‰£üž‚î$Ej)!1Ý|.~‰bGÅÿÍdÇK=bšX_cž–|ÅÔ¥µe#6°ÖiSÁff˜^™‡§e‰v»Ѝlš&WÐfÚ.x¹üî7È¡¤žÞ¾©hûrÔôüv¸ÂkmèQŽó^Y5“Au½Z¸ð"øõIÝ'‹ôD´t®´Þ޲óRLd‘ă Ç>mF›}6° ÄÅHY[m&l°”LŸ¨ŸŽCcz°æa>ÙA{Tôœž†øîD$j ¹çßž.¿çÎ)Y•¨§Þ7¾‰Uõ™‹âaáv|üÃ!ÚpQÞX]®nÓDZçÎciñÃtÕ* ¨Úpé}çìCå~@¥w®S‚¯‚(R éÒ‡™v¯¤„G­úÞOqq™m¯…3VûTúJçé÷_²‚Szˆæs¤¸i2K¤EÄ –lð44/äÈ‚èÇŽ£`åàæ“V¢sØm:êÖÊþE°k½ñÏbf‡ìÜöĬ…ƒêZ×$©´Í“! ¶åèdkg4l¦z¸Ý4ªŠM…óp=¯JgGÚÓc‚±ßïñù)2ƒ@óâôyJûÁì36¶nÆ(OãÇt!Ã1Ô3—û"÷XêÖØ6^ëÏüGVi–Û“Äng3ü¿Ü๸¹`ʼ[æójNgÛK‡w¬¢ëµ†6zíômR³TÁ˜»û.[@çמN‘n^Z¦Žÿ=Êmî+’‚@9‹¸OW‡&Ÿ_OWèÝrñç‡FõÅèòB9û bþ hÏÝžjð¹ÅáDJ2´f1©”åˆ^Óȵ#x\øF9€–5ÃÁ™˜¼wŸl—ØêHR׺¼<îÍÛÓÏ‚aM>Õ›µÙoŒ5~ØH¢ëÎìܪ% í|©°&?iLÅ$¾yµ…OnÃ)nEBúY~,¾mhÜ$QúÏ3Q5‹`)U1¡†x¶sꊄdBšáX‘S 6—ŸŽÖd X†UlHøaÔ¸ÃÙßSÁ‰¨"ÅÀq4«~GÙãHÇX±®FZ‘T À|ލV¢ 3[[ôŠ„’î¡Bƒªç³âéœm'˜¤Ó8אָ ;©Üîxܨe (ò½«Ì$OS —_ï:y kß«·ö˜Îqu‚O‚N ùÝ^16EÄYÚ%“ÃìMÊó¡XmN¼>IS»úíÄð”n«f2¡­oã R†@€¸­²ô×7µÞ##c‹–xï±|gµ"ú¶skÚ6eDI¿à9¢€¦•”œ™[{ƒÐîOûÐìÛoLÔ‹¹A¹fI²>wbð=å’ÕÀJ’}V÷a–ŽÅû–QËJþ¯µÎxÕ¹›à€ã„Lð¨¦,. ÜŇ“` ¸Ýq?²V…ä ÖÁ×¢]«½ND`û$ 8»÷¬Ï Ý$ËïÝjë Û±è{3E"8«]Ÿ-œá:±mNFŠ9Ajñ¾1ßgŽ ·ÚvyÊWø¬4îÓuˆÞ$!í^hö?ÕW˜±qmÆÇ'YÃ^ öPÞÀ ¥í=ó¶Þê§^?–$‰^ç³–?l¨­õäHóvNß`w(òO\éªõ¥íWñDK·(ûš0GL@_K¦ˆ{…47·¸&è6?5R[tÁthœGD9â]!"w•Ô=ÁŒW;ý™ýüR¨ÑÊV¦¬~gˆ¸%HG1S2›'GWfDñ&oÔ¡Šœ²c9{a+ë]ÊǤ'L˃TY€‹¼²a>ÝûÚK¯åÈí´‹—?ÈbþÉPŽPÆÉ·—÷-½î ÙÂ5T#GÞ9GÓ½d†|‘e‰5f‰Ò6hBhÇŠ@Œ[¨ÑYØÿÏ,äè ÖyoÅSõ“—øˆ¿Šž,æà¶A’]ÏÞí*‰äÍÒwB/ÛzÃò{ î.bk-mÁê3©%øÃrUÿ æ”ÂåìGŹߚ=“#êÀ’2¼N§‡fó\ýóÜÖѵ;ñ*Ò%¨²RŠ3…ë.„ë´°k—(œ3:À…RÿÕÏû@‰- ½±Ê`l+Â{ÍéÉçæ\MæîAzPAÀ¤Ä#³@ž…˜éEù1¶’G3¬¯¹}¹´Tß#wÝÞ(æ¬jnlH’>­†C¨óKh©ýtuíRZ9÷ë*„h6›‰VAh0×7ÀaÚ&Álêe˜®Ëá¶ 9¦?Œ'}â°Rî$ŠM—À3ô’ÕÌ_ÈjmÓq¥¿rìJúBé©<\öB£ß´BõŒxJÙ!q!ÀBºX‚;WÑåÕE³çœbTylษ<ÈIúeѰ zãÉk;zÃlM–ô¼‡ì,NÆBÚÐÒ¢ã•Á4`rfñhÙ†2WuУ,|¬¾8¦ªWæ´þ ^¶!{ù¡OfC42'Þ.mýa¥r¼0á„NË^â†K«e ‡ÖŒñ§Ñá„…­Ú`-ל<ÎARgÚôUCÆ”íð³Ï¢Ó6;x×zJ‚)ÔØ3]‡è+Фßq6½a£š‚QúûÄ®V5šô솠dÁÉ–m XˆˆBÂq¹2ÁZ )"•løìMÉP•ï ±È#û Oü"Šö„µù¾O¡½TaÄú‘]½—Û§kÈÌà\ðTé[ý »ÊvŠñµƒóý×dL›ò!ìøQËŠ( »Tdªí6ãy­ )i<ŸF¬]¹˜¤Z ðRÎ7[¾S‚±S·Ą́È+iέ…\ëq–u$2güêÊp€8ëÛÄÝü3S’ ÿOž×Hõ_³îÞ~5·;ªÂ¸åûrò\òòwŒE§³„fÇíWŠiÌB–{¤‡êy‚¦M¯ñé‡Qü[5“(êÿoŠí©ú£7Ë ¶Å!¥cu©ÞG DÚûs;© ³þú×[jr¢•b ÃhAÂ7–ˆ¶$LòÛi“Ûþö§ î ù\ïTöôÔVg#°{ï#õ‰Ì£êë±/T¡ÖîÏî…¢%yì$"§>] —¦NOþ—hN‘MûÀ²º’šhµÑïÈÑpK‘ žA ÌÚ¨ßÿ2|ØUäc®;ÚÝ úm†ï"X9L:Ç6ÿ·ûù=Õ‹ò:guj‚Sì„({Ë«ÿÎ0â¿k»UF5£Ú…un~KžŒ%se´íz´S”èç;ëè]½1ÙJ|cè 39‹fà¶³ÊÐl¡í‰^*­©t<øÝCÿK-<íí<—¨F°ÈI—Q×f&¥™” Ë’ÄBHŽ$Æb€rÚhb¶Œ‚@K’Ò.Ž€ãr÷úÀJ` ÿ¤E’˜È~¾¯¼zpÁ¥*æŠE|GÄßXA›ÎȉÉzpƒ,`&ï’´óß´iUЏ?(B½ŒŽÀÉ?\'|6N2@ká‡á{ìÞÏ=¡„3¶b™wñ¦D2§yÖ©å¼ë×.”·Q–tÞ#½…ûz7Ü­Ôþ©ÚíÞQŠvÒ¤Ï1þ: TkN9«c+n5Íá?ûÕcq䨮 ›}m´ÑÜ\ðLÏ7‹‚,½£ªV9ûW^c'ð&>é*y#œ{¬%¾~± e–ÎËi&Öi¾º¶«¼ø°ãsuIŸ”€T81ˆzEÆMmrG£7µÎ€]ÚæªOײ w³M³{_B9)‡·åÝæ¡ðpsÛl1™’FÊÇ8ÝàÅ;‡W䄨nÊœŸ‚Û~"ÿu·‹A 3•‚{ Ìþ×­ré!8…Ü¿nª®nÁRyöóOf‚‘:q1ŸÀ®\.î|ß’®°‰œÂ´p\am„-«ý‹˜L®]põûG0gn~lVøwîÅW+ãëÉ v8‡ …g§æ7‚B(\qñoØ"‘Gªüù|LæOì“FÂÄ×ìb ½qÉíõI³v…Ù´µú+sGÀ J"V“ÒpkÛYóFv¥EZd"cÒÒ2 —>™¾tý}†Äâ¬D¨Ÿ¸|p´õžwL¦-±V9$¼îJýb_ð†¾–6CÂL@Áy²¤/_茢O²Ž~3æ ©o"‰²—¨y Ë]Rü"~(ŒŽð¬ë"¿,åY‘e£UÏ]Îl@$óOHê@êׄo~««{‡Eñ$oScªyÍ[ÎL“2çEÂŒGlÊÀK(þ3_vsçY,”Z&šàÑcQ Íî ÔQá÷_j­¥"ù×Nn Užˆ.Æþbz$Îxˆå†ˆ¥N|`%±'½J\y@ݾ¿Ó¼kLÚ\̹…Wܵ‡YF—H’u÷™û^Ó®ÅÌ€Ý Ã6œ0" sž«Ž¨uÖïœâ9ç¾|¹kŒ&Y‘õÈÎM}‹\2˜<2r'ùüÔ½qÞU×à&jÕ¤ ‡µ'6”×± áü7„hæî·ÆÍd) ¸j_{ŠBla{ A”Ö ñ­ø2õ"zI7ó!Âú-rnR~;;WúH/Û/…ÂûÕH^"½<6Ʊ·‰‹/‘úm#—ÊaÿÀcž´óÏÀîÏ­ï«¿xMñfß`å6¡¹ï×6? zá$¨æÆä"ˆñç–ê"(Ù¥h÷@“­ÿ&NuO¾T2ô[†àÞtn.‹®ÿÖèp½2´.÷É êASÝÐÀf7zE‹/]“è1G²—˜+vúi_ýïù•¡ç ݽ>_0/£óËÛÄZà F6 ŒŒ,8sáÖÇúJ'òÿ—˿"ѹ„%kt3í_§.ø$x=Œr$ªã‹¦0qªOö¼LÀ³Õ®£ M|sOÇŸ Gœ£Ê¨’¥$Yœ™,PâÂí 2´4£cZŸ8ä‹pðp(™·¡Þ““¢c%iV•||µhUn]±0q¯ð{žË#3n$ ¡f=ž[MÛ%DÉ­‘ :ŠlôSp7¤é ƒ Q´l©—>²Í¢DÝKYR8û 1éš\d¼HÏ“+÷¥’é~¶Žo;R=™ÆƒQ»¢áBà¡ ² Eªœ_ªd£¥áœI+v!åzüÎàÁ¿üü1„ذŠ` ܦ”,÷Üø8ù7ÇÚú€Ñi‡òÒµãmÒ¢¢L®Òæ!ÐÿeÆ„ƒÕlô`×Áª€ W¡Cc΢l2øÔðŠòÝ'^ÕçÝ3FÅäbƒåi›]#Òÿ•Ç}ÅèG²¸xãA¢p“ÇÌÊY¸CK…¨Te}7ž-„]óTjAU’¯¶êY°´Dz…á%‘’íhu鲂BÜáZ…Ðç*ºü2(®"Á¨±YØÅ˜Ÿ.2q à0LÄzÔ€ûß6|a2rMò¼‡ÓU9­M/¦ë‰ÉâÀ¯¼­V©˜];šwýï9ܱáó†kŽ-¸“•Ñ÷û€;¢¾è@R×™™¥Þ¹~fq3™RpánøÄSb—1PUNþ²N죚Å3e@< ¾DQ/gÉo¾ÂÅ'nÊ}øho¨uë0—ü «>"`ΈŽ[ÿ> E)—kã:ÕU‹bŠï‚IJyƒ+¸×²Ç€Œºý>r»¯þûæ~/ò8µ¡^¸&ñö¥™·UHÈ}_ô¨æÃzYÇZÕ³þI’Ž1_XÜÓßÜïh½§–eö¶0³âîTQûgLñšÆRް‹¸-D­ÝÊ(Iv?ƼŸÁÌÍfJGéÞäÉ[Ô!Úfjâï~‚`â> ´F’gõœ'ç0ˆSãcRáf Ö±häG8ux\àþΩ .EF2Ló .s†P§(yHB;’žÏK%¹zuìáëjÌ=Ùª\è26ìõZ~‰4êo?6#cDáV¸¥ADûÈ_QˆmK”Í,ÃÀ ²äùLC1rf¯˜p=é÷¿Yö%¯ñËVá¥HI Hm;Z· £>¤wŒ8Ü`boð]ëyy5Eá-¾­AËkûI¾KŽPèŸÉ‚ü¶¢Þ«·Gd;*òò®yÚn\rÍ”k EìU´F`Þõ¡ ï÷/¦WÉ·ðƒìZ¦¸¨&(ƒÃã*|)ú #À Þuí—ûÚ¢Ô¡š†ã ÙÒ#¥ ·—7¶êº¤£n/íT›S^Æd÷-ȹúdV»Ù§*]†|ü]¦?-ܺ#¢FêóåÞÛ2x8 x{)[Ó´]Öû¥]:ßþ&ðÚºËN~"ù7bö(?Wê"g?W׿2îg³‡ãóòã|ÌŠÈ™ƒnž âf‡‰F¶}êúÏŒ7iŠ*'óØÃdZƒhEØÕ`g·Iîöˆ–-,q8?8 Mgš@óîÁáæÎ÷ym+¨.%"‰Q@¢ØiK$ò&jŽ9k¾~]»M=õUÛ5ñ8…‚ø¸¾ÙŰc9®:}äx-EGtÁÉoÎHcéoKá»ZÐ8`rD [NC è‘…‰ÝÖN›¬þãÖÅŸç{¹X|ïiWAƒ-¾${ÜYÆ©«¸Ç%”\_÷ÖMÀpŽVæ,  .™æLR…`žRÈ¢|ÝÜL˜I:Á”ôÑrµ'¢pÂÅ\Å1™’̨ûsç{tÇ«Tø sŽWÃXÛvgÇbPã/±4²ò0B»Ü\Iî,U{µûû"¸ ›þ” ÅS[’ĵñü»“Às¼@ú¼µ”œ=j°!Mø’:$Œl‹ª0cè­}(bK¸ »"BsÔ‹ÊY¾il*RüÊúÁD5²Éþýe¤!F0¶Óûé› ÅÉñN{ÛAæöC©‡q§à;HU÷Nvê©Id¯œ¸´6 "tV{¼ùøø˜ú÷èÙÁоÅt™"©…µHd¯öÉc¤˜GÉ$ðQ«xrj GYíU'tÜØA§Q,KBrw'DSÕòÈ'Ë¢Õ’Ç2²;*)Ë®?Ùù§ÎYÎ9. p‚§|Ô¹%hP®§|óþ‘³V¾Èèo/ô»&ÊM§£ÊLÌb×n ·9,HW÷ÌñDuâ'T0¸]&”ÚÓ(-=kûì‚@2Š¿-™ça‘§#mV§¡©µöç‘öwP1UïürÍI07% =lí<-FXÞ µ¯HoEµöíaP^à‡D‘YöÂm. Jñ¹¨Ìé°­/S Èô#¼zéì'ÖéˆáÂ…°yïqñVŠd‡·¦ìÏOÏŒôsÿŸ&?†#sP­R±æ½ŠÛÆ›å¢gù6ÔFj‹ÁyÃã[ßÖíã1G|ÍëˆyßTÉñ„JRP¢ÌÙ£¬Í%±!£ÙüQ¾™äß.ôß^×Ä Ëüb‹íï¶W§ÌÓlÎ –ZüÚV yÔ\¾ü?œ Â%_Š:˜Ô`Ö¨¹eÉ÷ÍoÖUö”“}`INÑûB€'Bګɉ†unïö—4ö"Ú ë¨ØR߯§‡œ7Ûs"86Pçõ:BQ¸ì[’˜üd®®míá;mwøWõ¥¢ÛGAðµQÙ`ĪŠÇ¯ej5åwÃ$¡»&·O ŒÅ>bnQ# zh”°aSA,Eþ1z¥ðh­N*?Î’9ˆ±µ¶jÒÒ2ЮR‡ÔÑÀκj¯¹ãuMè­wª]µÀ‡7–Ër(>Lû¸ב±Üž° ÎJ<Ôq„_Â×ÇáB}×?ý©ïÞ\¢O؆ò³©‰ŠÍE>”V\ìó;7–¶+ŽŠC`J󣦯ãåŠà¿IûÈ’z>sFÎÙÙøVÝPè™"€ÐØuïtð-wÚ¬ w“‚J¤" IGÌ\uIí¶ \öž1Y«W“G.±;<î2‰pJ[[ç›[ƒÐm?Cž#c$Ú—‚bÐ,§Efi¢È ò9Jû)/0qñs$xÜëòûbWå\êÛXNàªhPKŠîwR«{‰(—ŒT*|iê!ÒÈ-ÎÈ7ff%êsYP?‹Œ"•=AAËTcÐÆ×v`ОÜ>V•5ÆA®2áþÒ!nõ)>¼óXÆ!íV,½Qd“e}¤ŸêPo8ŽÆ9uÜý‡°MóçÑp—p;ýÜ7³á¡ì<ɲY$[&%i@b¿7õŒÃ[ën³Ôû â´<å 5í¶Gµm}«¤óì–ÌÍ£b¯Ù8! ÁJy!â©â\•øšƒN° »¦ô˸Þ,Û|ƒM߯4©GEæGµ³ RÈ&îms{@1¹ñè[€d—±6dáá­x‘!üÕ™Ö–ÆlT,Œa_'ÝÆ ºì!”ÖÖÛ„ÎêÐ:;Ónö³KÀ¯w@eù£ã¥ŸPî»Hú;öŽÌƒqØ+ñó±j´þÜ_Æu<“õÒœìòÊY Þ,A~¬ÜáBãÅ"+žêD*µcÌ\å¶ÙpÔìnŠ&ë?GçÁåÁ«8vM“Ì˲a\i´V•'Qæ›ûc2ÁöÃsºCã‚ º;$«–w*Ä÷€àåe„˧Áêð*÷Wì Þ«Ì·aÂ^†uÑÆà€?:Ÿ`ŽAá·ü† ¥UZT¤0„áEQ.8FЀÐrlý‚Î×dB Þ‚>ŽC&¸)°{8^û—âãŠf ì¢s?­Æ¥«ñ.u(²êˆˆðî°9æªË"´œ%*ª»I]©:Víe)Ú@²A \«ª&‡ìù–à°ëô7% ¯€~AQCs¸JŠnµø_«É­µ«®k®ÖMj)Hë„î¤÷Žý6Ï¡B‹–Þãs‚ŒGS;÷Yiø½Ž®#*ßiz§•ÕH‡ƒ0œ¬aÔ7YÆK $•Ú” ßW‹úËg”xhÙwNÁÄWíéx¼)›G%Í‚q¹L*”ßwœdŸ Ù!D]!?Þz5î×mòM¡•g<¼ŽÜ3„Ša–ü1н„_,^ xØ–Ý4ô\¼Œög=ÈCWÀŒw¢_IГ® îkÍᙃ^À*MH#‘uÓ Wȯ“¦kíìNO)ãQÄmZÉFŒ*@G^ÓÏј¤®Q'ÆsÅ‹¥0ˆ@êe\¹¥ü{`u«:¦Û½‰ŸW N§À¾0Nk¼Jv]½1î½ò¾‘5ë< üûÿ„/…ßͦ‚³¿¤ŽªÙ|ºÍÅßû”¾  ?štÚ7 8`.¯ì¾¶* ¼Ìœ;I-Ë'oYV»A“íükD–ZÖܦ1ÊévW¶°™oV1–ÄÜÖ$ž€¤7J„¤fBÁX!Ó›Ñუɔ+I­Ì>TçÇfÈÆeôV7¶@´í—Û` ¯9g“IPëOÐO‰Ä#¼&/pr‘óøØë͇^õbjzÍ•>¥õ˜‡Èh±À>”! AHuÜšÈ[ít‰š µ' cO+„1²d˜…ûKÆø€¦1 `ò^£¥f$‰JÊÚiYw²œï˜pÒôãpsÀ+¢ÊTb®þSÄ º‡ï‡_ã3bÿ@9$¶òV"ò‡à ``%zÚ:“€©˜º ªÝl¯™rv§ Ìô]@–ôÇŒ8p{Ž"²ƒ5™\Ü.+ù÷qàÙ§lK8ãí£°¬Àbõ&6:ñFôl± ëê!ŸóøsÌ6Q›=ÿùð“DЂ+`·™~K°“”ùÃgþ"Ÿ‡ˆà=‚m¸O ¬t,}‰ú~ŒÛ\ íM4¦0» ЊëE‰íòì9*…)ó\_æ¹oà›IN¢T˜i4ϱoGb‹—¤ž„æMÃ;NùÙn¥XÏ…ÌšáÚ hû}˜ÆëM2kewµ”@8@”«v$5¨µ÷úôÓÜX¿ðfkà;>iáιC£ZštÇwÀ;5Ã乥(8uUÈ9,™áÚÞ""û<>¹÷í‡~‹ë™ø¦è N bÂ:xà©*2tšM\°7Ö†Ö‚B»òÈPL ‰sï\esD2eÉgB™šSÁ‰ÖíÔaínÜ -q1ê â¾ûV ‰v,É‹1Ê2=ÕídÁd©|ö²D(þóàS]4¡#Þ÷¾¢XÑZǦ½hzsQƒ´öÈ“‰–7HBM¥­0˜«ønr¨Ÿ0ëXÞ0»°OÅ•e/•¹âqúxpT8‘ˆao5Ð@”.u¿)XÏ=ŸlJÒomå삞iÈœs}œøn3€èiŸëYxƆWª—if®±žK.&IÍÈŠM —ëZX¸àû©é}Â7NÜkTŽC¤A‡e±¾§Û 1þ!›Q;I€¢R’}ÞU·6ƒ$Å©z–ÿKóïßHÅj¢_¨ò”ˆè\1ÁѶœaëð€4¬ð­Y½Ç4ž¸¬Æ­=bw””žøKÐV¹ôÉàwUXé/«Ö„:dÈHƒ75wb! !ÒB´&ÊD£…Z£ð¶A·¯;?¢X¡È#¼Ⱦ\äÖ^OñkB>înÿrŽ]źš9ëØnm¾”ä4©¥Ù´Ò9ê¸A䙿¬ŽYØÄ ±=0.èŒ5¯Ÿcw ÒÏó±ð:P¨’qMlƒQø]=›ü“Ô+¸úòý®éˆ[Ô‰=GdÖ¡C ãbÎFOr-è; hx㮹¤'ÙœNÏ`“WÕùa­>d¼'?¤ >¯2X‚PËÿsæDÄÔE¶„ê^•?¥Žæ*+Å~;³‚³°èN/ÙcWÅ32#ºà‹Q?ìÍä&š¥b2>„>=+ ®ä0 ±£ùl àZ<ññWäÂA—ð• P{õUb÷6¦Ê†ipéoó’îZ Y®Ü–â©Ó\­,’Åý=ŸíJ¾µyDËW¶FjØô•Рw©¹¿+óm’ Æ~g~AI ¨¤æˆ!P޶ØCMNþ- X!H#BúHZë¸0£j΢=møàÎÈÑ©zsÆ•4Y7º;¿Kñ»ûµžË£ãŒj9ùª(Ð…hAQÊ;gùLj·u€Ý=”8c÷Ñûæ(•6…b<Å:ca3?7ì²GC " eb4më²Úç„9¢Ë=ÖÚ¶ õWƒåêƒ8_‹ªÃ=2DŠÃ|9h#‹].ÜÍñrßÞ»{Ïly¸y˜}…>Ó>Ѽ–­ŽJUŸÓÌk^ÃÝÂ"¤IÚjq;ôæ˜v“¤·Íq¢½˜¬ÁÆŠ\a‹"Mìõf<Æs¢H>i‡¨ÁØš˜Tè¨Löp³›~E6gAzèlÆÿCNBÄÃòbÑÛêÛ=Êù@ =JNʘÁ›ÍºÅ$ŠÀ¢gœ¿ª?X÷°Æ™MÆê#ÖNôNm G«³€êßR·…€«ucŠ“Ç·Íjª îº#6acLwêCJÏ+¼”Ð=œNÅÉAyd@ÿ¹­´Ú5j ˆ)ÓJ´k öëOÑà‰±òÒ ú”5GQëlîÉu\¦ÿͲ§Û”yÐ<5ë¤.C?ªfVN ÆPóž¼PuÕñ‡¤Z0ß›9º¢Œ(“VÌŒ«á*ްÁØJ| Ú4 Xå–Âqù]VŠØw€–çáÏ6TXò2È~óF‡k{¦”#Î×Y8YMé$|ç)÷ô +<7Ž”á¾M¤_t8Hß„#º|;6Ï$¹Š¹91:É ý¸)I¡=§Ž'ó î†ÂsXÆ…‹êšï’&”wø¶BÂŒ­ÕŒÍ¯b¬°V‚)“X: Òòe– î+RÂËní–ƒ\$契ÁirëÆ‡íÕÙ<±.Ú÷¹ü0í7£ºzŒÕÆžØ!•Åqå"oèÔ Å™­üý)íøƒE‘Ù~¾Ùÿ >æäüÚª;óýËO'(`‰d‰¹’’zSÊ9C««Ï4&g÷3Ò1%¹æ ¤%ÛrþŠHEŸ½ÏWk­åHŸüÛJvÞc¨88ÀíPJœ[<[È´tŽâ~\9L0¹Ó[é;hâüM×’9%{H*ÒÈŒàË\³ÿqÿ5OêdØ:@ÞqEäò |èoz®púOF!Sض7ŸmÓéæ~Z¾£FJð ñ0”Wëâð•uéN=êÿn³izÃø}o pvWœdª±£Q)îæqr2íÙ¦ç½Uí¯{(é³;µ+Åîêðxò"wz4¶jqùBÃüëÕ#ÓÌG'°xamèpûäË¡ÊuT‡ „…-‡|v-3fØü4SÄ!Fļí÷Ppû*·`<ô¢Sa}‹£WõÀÿZò¾êÜt‹s ç„Va×51m|So Þç0ÀOQ®‡o–í'ޤ¤ƒ¿aGEK¿ÿ ä1ß\5ƒNìÆaïþ•.„ 镪sq¨•ª÷óæHyKÓÃÒ’N>ì#Ür*òbšžÄ`sµGŠò ¿ôþ–/×_íVèÒ%ÎJàóIºŸÞ-,r‚PÆæ‘_Ö›ƒ“*ÙgÚi‹øÈá“DœüUaxYæÿ6MÓS_ê ,óHq‹f™ÅP3IðùrrŒ°ÀZØyo³æ±ÏkIòfæŽå)C†——Òw\r9ý¤=ÓLÈg\D­…j9ú¡´a±ŠÕaŠ‹„Øõ1M6aµÖ‘é^öÔÓ’ÿ;þ§â™W¯,¿âi’‘™‚.†‹)Ó6DÚ˜Üîêt]8îÝ~%6&±=gOþÏ/Z˜Ñ»½ŠD¸ò¶} ”–i¼ Þ*†«[ÊY2¿äô0èíØóñìl6ÌaT¤ìA'ä©^½öØ ßa ¡à”=ÏÔ˜®AZú=ë'S°¦7—œ¤A~à!5HÄNº8ãßc„(ÁߺW,¿Í>ƒ ~TuÃOÛ~æD’óÛTÒ8º3èÉÛÚ¶ÿ®!BãÆê¦ÃîAØT{Ò( Lü.žHjz\(ž¨uOp&|ٹʇô²+Ðßù§¬v)Á|Å7’û†Wâpx0'KƳEJ¯Æ±áÇYÄ ¯&—”Ð Ž6÷ óbÏ}ôßÉ05BÓº®&M⎦¼ur×t9í> ƒÍx—céëö xÂß ~mѺ7öq Üz­I‚ à§X˜fXôvþ“ˆä/¥Ç:–­Õ²¥‹­O¿$…Úh±Jg-w_|wAXO ËcnòÓÇdÜ7{¾ð7^ífTgçí¿%ZÚ|‹œÀVŒR»*…úôÍàn ¡MêùÜš‰Ì`¢x "R¨t'¸ç¼ú–ºX7ˆ3 ÿ'£!¥__–ÔúÈIãËô 1N&aKÛ·µˆr,™ç[·¡ë É"ÈÞ«bØ×êÔ }Mx¶Š©VßÝ1¼ßú\Ó’ï…ó½X·n•/Úº:¯…åTp2éE=ä%Û!åštÓy•G“ï]áÉ;Ù‡ ­¦ß w•w´.?qPÈÓ(2\"Iƒ ÝšÑꃩlŠÔ·>W ¥Þƒ#³ç¡÷ÌbS„YŠÔ3xyzB2^£K8äã¢$À?sý˜8>þO`¼ªsØòyÌ0Š´·'ýÌèråÇËKÏíÏ&LNñK@Ÿ É„r@1ÜÛz“xk§ì3=“@Í%ºÈ»‚;µÙŤ‹ï4°¢NzÃÏK`Óv§›ÉyJ@­%BÿŸ;óÒS ÎΖš>?Ñ©ˆ72s€_ Z¯Ø",Ë‘ƒ[Å›•õþÈ6(oûiJqT_ÅA‹¯%Z?iıl¶&ÔÑôWî¶OEÆœb÷| »×®™0Ô#z6Æ?¶×§XßO©ó籯êBÏ£±’ðáôñŒ›I23˜­Ò–Àq»>²|Õ< Š£.Èý™øï#B #]¡Š{môyùzFDÌ£>1ùåÁÞu§…Nžã¬}QÅN¿9[¶èÃ'Âûšýs…@Þkì2lðÍàÒt,Í:Ÿù92ûÏP 69Ã,—Џ:2³i>zˆA)}df ”›f'Îñ§ó§ê.°˜(´œ®›ý5¯Õ䥴éŸÄuÓr•&°àÒ¹t æ&Z䃅à-ýN‘‰ËM›¯'‘„ø0Äæ……ýe~â]zq{î‹˜í ®É½n’]û?w4 Co€UtzI« ÿ]@3ÿä ×ЂvNpÇ&oB ¤Už:Ïscéí´œ1!˜ì`{¥x8.Ü.ß?MÎZ­Á³›6tGG¸4<9qq”×öŠAØÂ"ŒjhÀ‰eW—x|Ç–4úñÏ E\§L6ÿ"KD nT¡–í¼DfžêK )ÞQælIìŠ4Á|›nWZñ™>IÉ™œÄjø_EHÚ£Š`=óòdCíUÎÝ<ì 94ESr¡Á~ßú¶„® p?Pª=åËÇ kFA³$~âxœ•ªb¤¬h|=Uj£_Ú9*4e:ä`çºïðªµÞ¢¹x̰z¸/lÔ'ï>“â[išÅý£  8¦™>-¶+¿zÍÉ[÷4\‘†,QÜ—šÉ7ÿÛ(EqÅNÿÑJÀMÈsбÏÚ{Žm´)b?"Ÿ¦'á”Á âqùÔ¶QoµË4º¦†‘¡³áPxª‹Æ.B„µÞlÏû¨>Õ°Ó.]€ø¯· mÜK1c¶[`™=³jcï¿ngº¨MH°@¤¦š.ït´Í¤â]\Ùnf¢ˆ6…àœgC® dD"™‘lÖ(E Nq&3q7‚øâ1ò0":»ùqûΞ_$ €·Õ׿ޔ7Ùà®F†Ùmi^r6=yoÉź1 ÿæŒw䕇úC/FcD^L˜Ë[hÌ«ßkàš$‚¾³ÌÜ &{Þ!CVŠÛ˜é¨„ä–u%ŠýM¥y7ñ‡AzQ?“±[6âM2-z¯Û³áHÑ„(”'“ó&›!M>xq8‘¯Pé뿲ñ:×…ò`»MTÀÑ“¿ªÙ؃)’QÌZ …ý ÷ˆw²Œú€WU‰ »GÐù M'nø/Ý£tùæˆeŽwñb+î}7vþÏÏ$7Ö9"Ò~;Ž ]+Œ+þ_¿èVªïg-Ä8sy­+Kìâ5ÒCÄéü5IU>‚Ä#Í$"DîRhåHÝk ÌèmXß³Q@¼åoFPAóm©TNŒ=Ã’]o»MB«LYÔŸ°ƒ¾#§ÒËÆé2Fç^z:êF9–üUL1ùÙÎ 8)n¶òÅ[I»gÝYå³¶³rÔµj7åÖ¥¨Ôvr+釦ö>Ñ׿O¯ÄBd΃oçþ¬=Fmª­_ =AÕjI· a@ÆÙíŽø °T¥6p Sqùê:5²££ãñœô’Û»Žü¤ˆzØí‚ã¬ÊŠ-ºu­µœ¡¢wò6.iŸ¸oN;ÿ‰¹6T©s~o9©qNPÔõ,Þ¢&-£?5^¢£ô€Ãh¸[þ–c% -_JÎòø n_§õh¾%E£g ï¯íÌ‘¬… ¹ œ|§ö”0x–î¥ûL7†{˜%Œ:8ÍÓêâ1˜­ðF„[݈U`;^ï†^5fBeK‡/èòžþ=§ÁuÇRj RU~‘v§ó²0{.éÛ7÷*ÇËs YõQÑŠ|3bx8FOÓ$â® Å: ÒèŸè¢Ù4[˜Ã”Kr³Øžz%F‘ý6æÃUs†âÄ6“$º % <õ¨'ÒòŸ«å€ÔV«ÆÕjñ“áîÖ~jä}Ü6_ªºtBÕ½g¼ºû·ŸS­Ë¶?gÀVýÏÌHžb[•‰t©tú”G$ ;6˜þ`pÌû¤±Ièa˜LÌ)óÁ^ Žè%ŒSÑŠãÄ´øJy·ŒÔ‹Rí¼8WüS967TÝ«1ÎV-(]Ià¡Ö$O„WQJÈÉ ü~ïòyÍê úŠé pÉÒÍQ¥Kí¸‹QxÅk^R(î\â@wgƒråsžu£èªYW>‚kÙkK›E:.’ê ïCWV0®G8b³IÀß8ú„6ê {`„Ø^Aå«"Ÿ¨Zùñh^´)ëÔ÷¾]yØÞÑÒÂ$üúHŸV.1[g;"é¯^æ•Ô’ýÝ„á¾ER~s¢¯ž`¸–Œw5ðg"äü|Ù! ‘±G¿/ÔèŠmi¨:¦ b0| ™¥›9¥óØAùÎÇ‹ä>w þ!°pÛ4DÚx5õðð¤ªÍ5D “)\%Ò( †û?¡ã*è<ø¡ ¹'@JeñµÃ´ê¥UáÄ齨ü§&¬Ÿ|¢{+Dq£ Üï»Äg¾±#÷úH½šl/IÔÂåÍn¬ÚSksøc$sR`mFœïøËÉ¿» ÈùèF8Äç– GWÕ’«ª:–•_á&4Sˆ‚XLÆdºïŒ]™Xµ6ö‡ ¯8£ME‚Y§îÝÚÛq¥#!³Å“ÔÇþ2ãâ6v”Êm½ ‰¸¡[z/' Z¡HÜ¿&.\IÈØÛáÿâ9êðàûï ¦þÕ=Ń ™5¥9¡©W:ãÞ8ÔÞûîä½:HK‚›L°‚pK>)d]âÁ«eÌézò:!…-«q2Ë+QB´’43ž(á×)D’b*›`Mîøâ¾ö*Éß`ÉK]“HÅ–1×ãr¢6Ž5B‹ž:÷Ò—@¡•™ïc œ”=Çð╘í{ nÌÔøOrlÌz·Éïu’ˆXˆa'4ÒÅ_‡Ëˆ‡`sN,ñ•ž3@aÈ‹ü)/Œm]Œc3N|çtúIa†‡’ß«=_(35.cúKÚ¶K3[µÜ´a²J¥éÇúHúXÒHfŸbQ[¸É—·tøk¡³wùs\À0?ÛMd×'àÙ=6‹ÃsSivKÒ‡ª¨»“ˆÕÃZµÒ!ˆkÌOl éÉÖ0š)l|În9-·-¡XWø„Ô… ÓÁÞí'-fjÔñ6hè§AlAzJ•Çg©ÔKtÏ€&¨ÂQ&4Ä·œæòÉ_[>ç¾ÅO\¡I1ìë¤á¼Õ&Y0°‹Œtxai\=éoy->ŸdoáÚ-ÿT~XW@ÒÅÞ»¥kŒZßñ‰¡AO ¹÷0OlÉëò’ì2ØÇÄ+üÜ^©s9º|áø€ƒ½Ê MÊô’A‚öé†#ïŠcƒ(-™û¥Úl') Š”×íè€Ðsò4q`îñ¸@Ç}0®„UkT@8 ´%Uº=StÿÈb=»Žø k‚úA>Éêç‚x™[üyVÕ.:¢t¦–Õ¿–8ÙI¤º;{ÃÏÔ—B²ß84ò°ú<•cµÛp›I!º†‹áøjé¢Ц[[±âúvì…%ÞB¨ýfXñ)'LºžBã%ÍÄÍPÛ+Õ‰ª™8hº5í18ï£Æ;楾zub÷^㜵D¦B#wYD)/‰¤a £6ÌzËò€ŽüÓHK›£Ã)Âeõ"¨ít4ˆÞß\m²-—|­0·fñ2”#ÚØ•ïçHœ´rjãœ-£Þ™Àu­êøþ>xÆ5 X¤ø‰b˜Ê «6û= K°lóß‡Ô á”5ó|é;+­+9›·o>ñ°róQ7hirLÄseÉ»6–¿r[]¶ÞGYr%'¿Þ”/ÊÎñIXXºÿÎ< Qõ¼€PìôºÌÐz颂vË-¤kUÃ6‹MÒ|hMûXz–>¿¾Ÿ fòÏb´ ´úŸ—ê‡1(”Ú„?èR~ôÄõÖJ.55éǯ­õ~èšš!o´Y^üZNtqûõt¿ä#ÓK=¬ß·B&êà%¤ PoqÌ­™vÖ4WØͤûÄúqkƒs«%’‘›¤)aÝö@sÆÈŒtmñ¶Å,ey¸8‘TW4@‹GVV7äëÀà }wSxï¦ã$NÏ>œá¸g@‹Næ´Î§|Š8‘`…saè^ÑUÔd#DŽm›Ü>`'ÁæOY"ZŽƒÝ¯ ÄõÓŽ^GÑŠ·ùnEaBZt¥á*ïú t¡2¡BŽÆœ®M+R#c5Ñt‡¿Jðušb›«½b؃ò á¤ÔæfeÒ×v½¸ÑñÃ;Ô©8mÕ9ç8Îùæû÷öðŠÃ¥scÅj.ª]ÆDòxø&`V(]«´xlxÌè|Æú¯ÂŠ¢täl§u™%Y®÷΀Zø²ßÌ30Ï/¿Å"ÉëÕæº,%)'I‘ v{ט\} xàÒšBpÖçì ~Ð~„¦ôÞy-=h` FÑ{ÅW³*Ì|ÞÅF'ñ òö1=Y3…²&.Á`“^™‹ò—þDá+z-,›â6f‘h#Wì´€°5ã lÉÖÞ®ÄÓmÇ×;ò·î# nN9ç°å¹y+Õ¹ÐÖ~ÐXõǾ*[ÿíN¸Ž€Rµ³-™ÿˆ•åAñ›äSܬêHé±/rp?–€PôÚ­ŸÓºÃþœ*ØÍNmÉß­Áø$’¼R„0Uk>±·¦™ýÖû­°1eF¸^Šq«9œË\­¶Ç3Ðè'={_g™i˸a{IE—åo˜™w¿W—ôõVÛOýWã}Š»$z30 þUˆ£-n`íÛ@´´•¦<@¤K3qõèëAi2í‡ä’?p-áz#¦w‚Ÿ§ÆÜ°MeJÂíâ6aÑŒj¬¼L`¡]h¼ØÚëixD“mI„¤,F£•§'„3QüôpÌ€û‚W>ÄÐJaÔ3^ÈQÞØàa뇸³Ÿ© º=¨§ì€‹á¹ð«k½éüY‹8*Ô~͸%AÊAµ"_-‹¦&:1zcõJÉŸ‹ëœL»õ“Š ^Yq¼V?Üjn¢ÈT¬ü¯VÕó¤Û%bž^qõ†›„Mv'ÜŽ!EFUR\Ö9s¶\c_0G™õ”¾î¹I‚ÞJ\u¤€ög”ÅéÌL×>:wá3õ@€ö‡ÒùÛmWCä–TOµñcèp>Y5º¿õ÷r27ŠZ´À8÷«3*È·9†U7×–+M)ÔR‰/N‹Âí{å!¾OsaRÕ/9È”í^ØuFSnRZµXÕºú{N´*òý¿e¿ ²«½WÈêt±óž¢IÒ”À¬™¹Öó#×Ò†µ ߉6ljnM®Búðäå¾,'ù·ÛÁ‹3Ñ6i97° ÍHL´/h±¥#Mý—•Ï™?­á­¦½9Ìà=q0é&ß¾o.™?Z;Æ—Sâ *˜¯—f,=ÀBUÄÓ«û=Ï.%ø§HBÓ”9¿¬xT—ãêsÕ+Ž&pv¶ì‹Ç7•ij«hÜ«töIèL8Ãd¹´‰gr‰]ºàYì±ø£?ƒ/‡AÚãddýïS•–$¢àëš—v`·!ä?”[¶'Ы‹¹Zž2ªë½5:ç"‡ ÿ/Dª!ftþ$n¤Ø‰„T¾ ®ä{V¿Þ¯¸™$yŠ.ÃSýÛgà§(Zì:åE¡ÐEnQ3c^ûfÌ0€ƒúØÈ²êQ(RóIsRqÞVŽÑaû~úE{wCK›|¸ápñösαÂ{ò T2ÒËpnZGÊèk#egXXeoÝÓgk ÌÕ§0\Æ 8ÆÇïb^ÄïÒ“:Ò‡é«arß,­„q„k+N¸"j„³¦²ï¶V½ö—fm­ý´ê&°ÿM|0?âÓ±;œcòž¬o…Æ -!¯*g—VÚ¡k~)‡f,ž‹šÎhz¶÷MòYå’sSÐ7lã¨'c! ~Íè¨Ê<ÛŠhg…AŒu"tÁˆ #Ð[¡-/6{+/‰3^H€¦Èè'ºÁ&ˆ.·ÈïbȆ}Ì¢[1hJ¸àè:$²µØ„àÔx+VeA)5ú`7·\Qy›žÃG<òI“è‹÷ž¶wŸ40ëý/š¤õè#2ñµ<ÊxU¿{fZW§æÙR‚»R0ìo ÑÂc‰ÎÀh’Cþ|mx ^×é1/©§Ûó/£_\v6aÈoÌ3WÄeÑ ýaéò»õ@r´EªÍ8SN,Áê|åÄSز |«$'‰Ï£.Îæˆé‹OpvDC]QˆÞ½ 2½×á-ÅV›› ò Æ\¶0ÇA"hOd„,jÞâX^¹í„³ ®³°yJ&ò¨ˆ3¬:é Ða=œ‰êÅ\‰\iŒ(EÿGyãft@Ä«tbr}uè[ö’ks”¼ÝÊœ¤|à N–½î¾r9Šö1R…ÐgKsŠ^Îhœù+G¡•Ê2ÓŸí;r/í|Y´ç{ vZÊö²žíˆÏ¦ÓžxóîH SFê’€¬Ì5^ä­Æ K …&ÞÌ•µÄ º…€s«¨$3ÌÝ_ »¡u£4Ñÿ¹z”ÃpÖÿ9‡ªp_c5M'iÖŠÓNßAyÀnüB(àéÁˆ¾3ö7)Ðeïj|gùɸ¯îˆ¦H)0äG ËjÍ™ }ôòBÓå&ìûç)Š:–ü |~–Ú¾‡œ=¦!.$¼}YïO’Pð8 õ£ –ßÍÃGA5]ÉMÀ+²×–èîúTþˆ±¥íó—±=¸Ÿ¡an›c]šïáidEîu\¿J?𡱅¹€iZ1¹G!/å¦ K—úlLÓ¾Mn!2pwö @Â’Àä®»ó>ïÛÎ"F^ÇÓž,Xõ‹3Ãæ‘šjÏ­Chð¦†Ø`@ö[iq.: lùU 4vÚ&y‘çΗç:RHçù÷â.€HE}ì²#KÀ_ϔۀŒsï‡æY„'\W2bDRk—,²ðXË25H?¹ýú} åe¾Žy‰^ën ʯCSC'*e=- ›YOtp}GUÉ—Ž Æ`>Wý¹âM5PMœð$^ùIVâÖØhF•8è»Õ¬»®çmo|…äu¢Š­8~ä @S¤+"t]áF;gäf»ÂD#ŒMü/àŽ|%Nû®Ì²ýG€=§ Ù3;±¿Uœt.Ÿ¬µyøf Ñ'Zaž(³øT>¼rÀ—Ó¹ØøÓnDÁ‡Åüå·úìsÓÒÿÃrç¥kr ÍPNM8U«x#æú5=žZÿ«aY°£œ/è¸Ôsålø·Ù.úWNX§ïq•©Ah}b/5G/¨a·Ð炾ë´óN-ob ƒ0Ø6d¨cÙ}÷W®š3íóù¨žÛNe€_ì#hª=úÝqR ¾°¯v×DxŽŠÜ-×È(G]ë³;¥­ö9?”b‡*¢Ó–æËAI/ÿº¢Ad:2²ÍÜy™¶ÀQyü‰i¤î#nBH«Ž¸nÏ{K-®î«Hã‡bE‡ê·RÝLY~ÞmjÖÍŒ³þÚ»&ü@¿kßö˜o³ÔF@oô^@‹S »,Vq RD @4gCçn⃠¥ò¶34c€­&*cŒA¹Ð©IJ  –_…Qr\’¶ºáË ÒÙÅöõtw‹¾ʈ`,«LÎL£²µÌBvÛ2I¥<%e^eˆÃTÜi¶á*^£‰¤ªÉE®aøâ…âj69/}o6pëeSMÌC|aYI…ÜCÔ¢ d/[Ñil.±Ï^µ½¼_‚5<7­ÉæÛSpyÉm;¯„ŸSõ«hi)Pj€½ ¼³{öØænÄ R¢sÄa°ìxfeìùGÑÖ݃üÀ˜6~G In*+f?º¥n 42J™`¬ÜÐM²I¹¬aüoè1¶ Ì4ˆôÁJè^ô¶ß*û­Í@Þél¬ÈA=ÐÐç0}0š°ö*1P$!•u”{QϹìWéA¹iT¡øZôÍÈ”} Yoü}­M ðJ‚â×<\ÐS4–ÑàŠ\¢Ð{±WùÓ(ØDÙ|T!©8¡bñ„ØÏþ;U€1¨‡¨ÆçNTHZ©ÌéFoÀ›¸rTä[ãm§všFpŒçQý3„Y ôP¶¼¡éº/zˆ4gê30´©kVL¨T¤Ñ8Pù²j/DåRɶ2"¡¸½ýFuÚ5sõpvÄjþò0Û MÕ«Z^nBBˆU!vóGà$¼"ÖªF9ÈÈ6|Æœ­^Ñ¿²‡`û‡òêéìøhäoV‚[W“­úOz/üzï KÓ«ç.Å”dšŽ@¿“)8?뱤‚2õ,‚8F¬é¼¨?,màÏ``Áè°Ê£€~„˜S—Z‘|¿„+‹ŠfÌJh+ØÜͧz×a!Æí3l —1‚<·@Ç3+ÒêSt.:YL´ ˜¾Kb’G• F÷Áœ“­ók:$!k€1H |Ã’”¸J?&gŽÛvÙe«þ*"ȯ/¼ž`gÀ„Oz>Ðpk?ßÂÛBüLÎèÆ´C ÐúUuÖô$"R¸‹|°áK‹ºÞNH±` qœTà×·í¯ñ;ŸHmçàÓ#WG*Õº¼>×SÕ—_&€‰¤3Òê6RºÚtLSåÅÆ@ÆB|€-H¿g4¥T\Ò"ÂCÁ ¥UdÈÈJG£¬Îw¾}~ ˜ º2 $¨˜ìMÍçÕè|Ð öžH}¹M™U>ÏBØ ÌŽ-³&!þùxÔOzGÖ†J6Ÿ DOý¬¡ò«ÛŠO6üŽ>wý©õwƒÍ_RºíXþ@ÆÃ‡Ð붯£2ˆoí_#í@ïBpÌ:©ôŒ½,O{'µ‚~ `/«qÒóô—¦EDàä-•ƒþZ|vå ¨Sœ„u:bZhµ.'¸£*L{dé;{þ76c#ã33͆IáK̺«ÀÖðUC “(ZVÆ Ö§Åõ°Ò„„]ŠH´°VÀ‘¹cƒ„ìâØÃÒWŒ&afǸŒù«âøqí×à½,ÒäˆÙ³\HZL‚{ÅHña¶õ°21<†À,° |ã,Q˜V?)0×Ò›ìŠ]{JÓ8ãùz»ØðÔvµ1σ¦T„Æ=Mƒ^‰vyÈÝ›~JìèÓZ:ã3!Kš2”C;€òƞønÞ"}1Ê©ênaÿ q°‚Dÿ°>Ã} #{Iït­œ¯ÄÐæYô1/÷Ô ”Žytô…Žƒôª‘RHˆ† üú×2ØѸ!T`æÐh{ gDw=ö{¼kÞ*§2YÛ©wÍis•Ì>Ïj«¯G±Àì¶RÆcFÞR)E Dùm©aû¥¸Ÿ?¨ŒÿÑqí2ùhþ]ŒÛÒî¸ý x%‘'¯ÎÁ¯ ”¾UE*º¬Tj „Ö”t*XbD·ˆRZ‰¡Ý½ƒ;e%â¨ÖŠ;Ç1uÛ²CÉk¥¿ÚaäÜ“îåÐ<¾Ë°Ìßø K*8ãìqúìLù%=*7 W*íé%@f èFi·^;Áß°Å[èæ"€ÖbAY½muûÀÂÅ7sŸÛœM6m+j7>2?Viþh¡qêÑÎQD»æüÓÓø>=›æ˜ 99ÆäÖªÂ8yÆQÀ6_…vЋíX¬Tßä{dreV“r0ê„ã§«Èxß¼<¾94»h™TÄ¢jµ,GT%…›¤Ÿk]b(‡h¨RKÚþpª†ûÔ›¾Ø¯¹ÞòCP³EÔ+ñåúüÉ/³p‡w²^ÁtŽ_»×»« QˆÌ…çˆ~÷`¿ó²T¿føê/õ,šô¥üì×JÆEõy]1„sdœÇ0 )É:qpY=“p¬Z(MÑ01}\qÖ5&Vtì*”»²ˆÁ®ymˆ‹ý¼7Ë’ˆ°y<ÀM”Ùy*÷4,U =g<–¦ðú{üŠmHŒ`DFŸ“Mû’ƃU—‡ÃÏöY3ØtS2­M+óåqtæ|bhwh*âµÒž¤h:ämùþJÕέpZkA¨¤ï®œ« "Ò3i‹D'‰¢ÕˆÉi 8N C™Æã™RÃu‹Yý)Ú‡õIKµ8ÊOg0û–å1kDE -N`•°“¡Ÿs—Sèì¥[]C3(±P°|‡ý0XaÒyÐUò‘÷®³”ŽÞBᜄåü1l!™¦®˜Û{¿bJغ0åÉÿ³ð -|Ë¡†ê|ù~Œ‘"¢[0 bφíSø çŒç?SGÂñ•õZ sM¼°¶É-4cçmWÙMsÁMšŠV7»ÌšmHÿ;¸˜ÖûM¡¡×kêôEíåwøbÄ#yŽ%Eœ /*‡’*§-´‹Þ¹sðôªPr‚iIƒ•*Ï#—_‰ºÙ[˜{‚-þ<°æòþzIWé>é®Ïp™I!•È úù´ïÓÔ›s)ˆo1ýO„ª¦‹gp#Ç•‰—-W‰—½/¿Vzûœä,fÛŸõë”ÚjOàè=øwÕ³ú2GÐëöàQJÛ[Ò–iG–^0æHiSRhÜ3Î34÷ÃÁe©Ž®:.b4=/»LeïkiÕ©ÆÒüo…‰l7þ²w\ÂF¢ÿÇu°š«‘’BiVõP>œ´~`R{{ÿ†Iu׬xLhÈ„x7÷/g=ŠŒ¦†ßÜK–µþ™´@Ž£eE©‹27èé™múÈ€ ã‘€E¸•sä§×à¹û²‹‘:xq˜ÄÊnÙ€\E¼Œué¶øé«AÈó--AáĘyÛ'ý9r _{)ShËþ*oC¼¸uÓÞˆi®;O×0(:”ãŸl/,žrãÆñø“&“ÔT§awqaóó;Õq„D9Ùfc&ÎÖ8[!g¤\#»Œc P†5ØûÊ ¯&Hœöâ¾P†é—¾%Ö ÇÓ«¬ãGÒNÈ£ƒ^FҔܛŒ=)†ØõVžœ£kÿ-“_^‹ùd¡žYÊΙ©;‹ŽUµI ¡{mëe5õ¥#ˆàÛn…©>+ð‹ÞQÆô_'°Äû޲î &5BkØzá9zæ2"ý®Ð—‡á`ô]ÆÝoG‡½=yÛ"%«Jè©xÏñ…‰·U«h[8 ²“,åiô»»Ô Ö_Ógâa³mfù-sôýþŸ}G€OìyâMDq*ýù¶Lƒ€Ô¡W¿_‚#µ¦bÛÌø07jµ"ÒDÓ‰rÉ!ûÈ Ÿ›¤Ë\6†0¿¤‰<Ͳ=¨xò»ÄÑÈß%]sj$ç³ÎOÒq"6¡kf‚JT+>4c]Fj7‘óýÛ=´óböÄ-Œ’„-.G‘võîtP6Œ–àD”Y*'Tâ Òü$¨±KCDé ˜ý¬\œˆãâ©vM¹¾%N÷»ÛÈ‘ i1Äy$ÍØMñÍànÞùÛ% µ>Œ0¿@Pr8weÂ+ô +êÉV…hâçåÐfé ¯y°#mÿT'ÐèÑp‡>š†m9 Ç=ª¡$ã² 5@ø‚ˆ‚ŒJ—ÇAB Çį¨õE[ŸÎ}5^9Ñc]‚Ov3óDáÒnЏxwš¦Á ‚y¼sÜ8gÛc§ÿuô{ÎôJ;ÌÎIm§½•˜ÙÚsò–;)VŽê©°§å€ê'c‹—S—Ûü æHqèQŸ±0´ê{¼û¶s…;”d…(;CÃT¦<î&­ðë;€ë[޳>cÄ€º×ørʧVÅ7ÚìK »6QŒp­»–B—©Ò!Æh€Á›¥S¤Ì©&ŠÂßTÛ‘€§Íáy¡O‹ÂVþ¥Ã½z÷C„­šØ´íŸ«eßQ„¶¡]O a,Äáçþ}ñÜ âK°18ºmd§VèM¢y.WTξI”è¼ÛFˆÚ —ž.ô6?W0Œæz£5Ä»Ìäv'Ã@Z8)hƒYä¥!'³ŸÈÚÃß±\oñ0YðJ‡ÉM€>´BZ ÷·<‹š_Äž¼÷Ì2C~])ý6®[K7Ü%oC¡FÚAHXP_g`¬C]`\ ŸÌÑ7<@§‰ eÑJ»²DÛ(?ík]§hÓZò l:¶ÕdÛåý€Õw —–v¨¨ §N-ÊÌù]»©¢ý»¹r¶c¨é&ÑäcWžuüWsüI[ÄÈÝr±ŽÃü›¨×Q…"Ó¬·Xô-ž/¿öÈvä·ªÈ —437Ê7˜~Ô\€ï{¿*†ãWƒ¼}¥pÿCqè_‰GÉà ;‰Bæoñe>à-ƒs"KX{£ÆbÑwÁÍöå9Â⑘ÙCˆ BF($¼³Dª¯sƒÎÓi¶‰åÈÖfö{V‰ÃöÅù>ÆS J M®4Žˆ£¢@”Rú—®U;‰:÷Te°z»I—Fq?S:E­™aÜ+oåááu’²÷áÚ'µ‹<ö8ˆêoS±Svvl¦é#™‹ B?%îjÀ}—Hÿ²ÑÇD«’"ÞÕŒÔQCk£qÅÉ;zÌH{$µöUCуÇ$7Ä6iyvkL†hõ)o‰¦­•¼mú°Ï¢å2Ñ™8v3QVñc³¢¦LFÅéé n3ö÷ÿ.[jÙòE‰ÐïY×ؤ ͨèë-ø'øW»ÛñØoA…{y’aÝC+>ß8ÅQ-M´ÎikD˜ås+ Ÿ$WÇÕÕ…ºÂz*¹èålªÁdô™¡ Ã'>‚Ô‰µBl?ïrµ•6ï„Ü“†•Ÿjk4†Iú8‚ROLEóì‹SºŠæ±»¿HoóíâAJzüTÝ f@=ÒÑ„|ËâE/¡*AWŒ0“pp,9yÔl±5GAÎmz“QpzF³åç+ˆô0´p1Ú×6£­öu†¸H9TÚû©Û×D˜¨""˜]è FYnf5yø%=¼(4Æ©âü›XYDÓÊ.Åܸ#Ë ØÀ†a®)ûà¤Ò*e5c|yŠEBƒÔl  ]÷S ¶÷fÚ§ÿ„ñLûÑLà‡»¿ åª-»mšñó’ðyxSy]tzD'Œó }¾Iy¦çx¬,‹ºã"ËÜmTT¤ù(W¿2óvÅn,f¢D>§ÚêsþïRÏ>Ò(D.pØs­]ÞÌ/9û¡[óðòQç9T½÷f*U®¹ð)åÕ|P¶,Š”ÅФO5MWÀd 7 ½ÍÊ–£Ö„aÆ‚ÿçþÝÎ&dSüœ°@çüÖ#JÆÝh'éB…A¹K‡/L×Zu˜›P~HÎl^@îßÖÑr¶X¬üš8š –|²Áp«eˆF»žeèôk¼å—&òª´À®¸c žfÇaH»ÿ×ÖMøãþT¡tè‰\ïóºq×ß{ ßöÓÛ"Ì}ŒÆ}ô0¨¾ öâ±A5åE€ºZ‡Kþ”^Z†¿Ì>’Õa€„qú€…ë|, ŒhF0›ßg§¡æqBS·O’³#ê ñ=Oùõ »õË™bðàfÄAjýrË ß>J=ø¼ç–Ò&W|t5Hz»3˜)V„± 'æz¥(˜Cõ‡ŸVòge­¥w> nÖ‡8C‚´sòä>a¸BˆžñnãHµ"³:й0ƒÈü(†ÜÂ狟„iKöÌc Û˜«‰fÒpH«”ÞD“ꔀûúÇVö É­tâݵïxp¥X]}´¹Éûµ¦7,cý¹•ÓQñœÈHu*3ÒCm[k~Á ÔjpÉ­ÂÖs‚‹tˆïÙ»aZgŸcH‡'­êúЦ•sØd/|-*SÇÆ¾%ÈUD€Ó{g÷25mg2¼ ¨~‚ì•K^Ïþ¦ˆ"d&2Iqg €ðàüÖ( Léaô[ÎÅ¿ÑFšÊºÜX»þ3r«£™0ùª<Õ»ŽÚiÎòÇéREþã>5—-m™®hf‹"ô;•+ûðÃ{´r¹ ç»N¦ì‚_#,}Nrþ€¸ÜkG™3ÎhF³ã¶Å ž¶vøŒ@ w"Ì*un5Ëõ¼þÚ¬S‘»‚!®¨‡«îzE/è¸åKV›™È8Œ„ëê€þª¢3~?­*<ú™µTTÛràtœþµº¤ÔK(“üÏj{rH«³£wUÏÑ×ëºùVAf êZƒdžÛ`ÝÔ|ãK6Ft\–jlkƒeÜpèUGo²G4ÈL±è9¯[A¡¥9y‘+û$ÉsEZ¨­!ÕLËÏ­ * ÄTÁ˜?³DCº½Š­c®ã€›ôÝ_š©X…µ˜25̼5ªOB:,ƒQÌEÿ„7þAR®›acý~iæÏ¾J«0MŽ,/LẖÐ=àr‘Užü¤ì‹ø¢¾ŠL5ÅIÁAÊH ¾³æ" å` «Ï{ G©æÌ…±õËóyŽc L§?lÞð@oLìÛrÉä®BÀaÏ]‰×¶Xt=!Ö/›–¬¡Ì®ºFÖœߧ•¼VçÞ½ËU¶ÄØŽÄÙr%$Ü?TÁýÁœVýTà®%&üˆ¬Q*Qòõ›‘ñ*Q¸¢Yr*¿`‹„äçé²áø…)|‹Ä]8öYè×Ãsóêþ˯iÓç2>C'ÁµtŒÞN†@Ë÷Ÿf&ÂJf dû"oå?­¸UÒ05yZ/§¾ïÄ/¯ÌwyÔÍUØs¶©'7Æ|×Jᮯ©š®¡MSéw÷0ösJü0åè…ßÇ×§œ¬[…×'Ü ‘ t©ŒÕ`-Ä:ú: z -ÝÈð4•Tr¬§¶~á kOàÔþÃ<ã÷$¹ j×D'Ò—û²°Í¥Ä¦;ÍNÒú1šµÉž¯Ó^…Ý<¾ªgaó»Cqö® ß„ÔùÔ{aváÃÆOÿÑðSF§0ˆ†ì]mÍ&Ƚ"ë§¿y‰ÀùmAîaêšøgFýwæ¤Á¸GFô›»ÿ[A.I<íZ(k’¦Ö•Ñëež¤ÔœþŸSßW:”¼ÿ¡~¿XH6€°Ás=7·uë·ÊKîq&™± ²ÎÎÛS}D­ƒò Bêô`äTUË{ØY»ÝŽÒ˜[/=g^|+É¿aM¦·“J^Ç­C©a2Ä1-Üœ„ð©?æcã¼JÖ—Ì M‡Î4O8›>ê’ƒøð;©€G'X!æFØMh½2û8èþ ‡yþ>Þ›ˆC¿ÑE g?ß>\ Pæò·S›8'Ö"V‹AÞøý!Ѻw>âx9–øÜyhùÙKÌÒr¸8ŠÕãíˆk–]’lõ5W<ªs.Úw@«Ç‚I9Æ{¸6Örgô£^M_kR½:KÕ¼;]e®cÑ¡WùI‹‘žÓ¸b†cH¾(­ø’…ÅÄXH¯A_îà+VanÇqm.OW:­¬ <).º×«gåe’ô"]CÈú(¾èhrI¤šÇr‰›I¢¶ŽÂßjÅ<ˆÃ3¤©ïýüX«žó[V‚L¡Ýª‚lÎ ÅE¢æNÕÚÛd°—’æ³`âHCÈeêy1k͆[ª ÚXÜ‹1vF9ô@áΰ‡ /ll§ãî±á›Ð®q+üErPLjð¶Bimâ<£æ„Ô'M˜e_«w ×ß~}Mqj‚jƒ²±âuA¦ëË—º@Ôuðb7ðwS*bc ù?ÓÁdY ·k~ƒ3/ÑhËÔ¯ãaމ;ÍþÚwÍÏŽàê>&1|´?†u~ø79ÃØcN” ˜øÏ&çg┌yPÝ!Bî–ñMïi†ÖApdX»¨ž—†,þÂÁÜ„BãäW‡‚®ù’ô‘  ™_w`ò ºª 2¾Ë™²;†!jª&=¬‡L8æÏTZxJ¢Ê‚Pè´"€Ý¢(,7å´Sפ«2;‹d»6Ö¥­’fC)"ˆ[ÚªüÀ»rœcoˆ_ß¶€¨+‰Á½@-“¢%O¢‹é‚á^?¯; $åΟÀÄ`.šÓXb>A3¤©.¾“,[ü÷üަ3Ów²N>䨷ålví:­´×or=Ÿ§EášýVå¨WŸ{jÃyáMËÝ’—m¢«[¼Gæ|Ñ1Q݃Q\ee,(c–qxk^·nfà±Ô®ã Öõû«õ§Oå£Éœ›ðÔÌëà BA3U`¿,4o â>>WJC¼ç×ó™v± ‡F`9N›ãùyV>ÁÏÏo3œ °BÀ ‘ßÝä͘oU` ¨škäÏéf0[ T$‰1´u®£([6ãÜÑæ¬pƒÌuOj¨Ä$owê­œdºLrôÇ™mqÿV†TÚ¶R8<þHF„ìmjªoÉÒW7,!Êó¾ž)¹[DtWi¨`÷2‹8~ÍHŒq+IùM¹0n­Nå8ÌÜþ/b>»Å–óDMÆÌÎyÂf¢Í¦Únâú5lÈSÆ8z®ð4•8ìÂDA›-Q&0i¨ò>Î`«I×WÁƒ>~ & ¼×¬ZÊë‚z3Ì=w¢å.Ÿ[fª£õ_¾¢­1Ì:Aw÷fV˜zVþÕ3rëÒ«Ôg•ˆ în†ÚÝÚãØ¤’–VDFV}’Æ…–nÌn|\A¡xfxöV22™œ¸’®ãBñ–LpEgqÄè‡jáÅ⮄úcÒé2eŽ4Zª££çgâjŽBÞ7Ù>w~4€ÍmTè^-ÕÛUº¬k/Ì+çC(%œK¬nqYÆ™d;íl öÑZ>s½zX‡Å¹»6KÄ=˜ ôœÔ‘QøËˆÙÖ+¬øSµ|û(Ä*k–ã~ÅæÄÙ–ìSeîí™ØcŒìXInoËqT?Þ:ªüƒºôö3šˆü}¬¥=qœà!›Jo-Ñav¥>¦q5@*®Euø>ȹpùwRØø¶Fdœ;3á·QïïZïá™­çß@0’±Â¦“ƒð؆54”AÅâÞ¤èõ1â'°—Í‘†éâƒi—ÔÑœ„$­'7únÛBq}¬*éÄÔùæ~P®‹JIx˜afæVÛ{”HWh¯u(¬;`·G,'íðdJ*=½c¹åØ@º)SJ6T3y‰´¦þB!bqâRô—{Ø­Œê@±ÅÎÔf™Eµ´ºÙlmŒl™ J¿…K,œ²¬¸ŒÒÑä) eèäe£l¶Ä)%ÂP€5ЭZ™†ì󪲳FS¶a"C1½2Jò}pd§G¢,æWèšcâ^­D(üœ’zäÇQ=?γŸØñ5Ðð ŸÂ¢y²­­mµƒ¦ÏB Ü#„80W·åÏu'”.Ì•÷sžõ@aTÞ¬ÌSŠÚ2›1yöŠÈ k÷&Z A×C¸89 Ö¥4ÓFôyðÎ J&tÑeÓäe}VåÓ`iDšgÞCÝ,¢îPV`ѵү‚(žs*ªœ£"~· 4S»3FÞl¢µ3æÀyc8RgÒˆ¯aËO]p@ôD6$RÞç¨ ¥GCO×S SºÏ­ÅÅþ£îJÞa/7êÂ'¥ÕÖPúFÓ±×y ƒÀ´>ÐæBËÕÔµ¶ð?q¹žß¯¶™,ý„{¦ò£1tu ó×eÀ~ªéëñ¹ÚÔ$oßd­¨E2m›Ö즙ŠxÑ ÿ.BN’4ùÀu‡9c%w^o„Òkoƒ ‡•—áuäJËpkÊAÓI¢É‹e‰Q—Ö@|­s}qir=K 8>v#ÜuJpŽcÎÈncúîd7)¼Qûœ1€í~¬=Æjv©‹bYÍž¦ð‰·ÿáR˜  m¸Wúç6–Ú X,¥p„ŸŸé>º¢è5¼†ÝãÆIÙuxQ»uþmXb.¯ÒòçB¹”Áý<.Š›Àô3qW¶íE†büµµpù´‰Vߨ¶6߈ôUMd5Ͻa¾1ÐÆ„®¿ë܈(ßdqu¡0AëÒ€Èw5!2þ¦üÙtô« &ÇÔKXÍrßv…9,æÉ™¤VŠs볟¼”Eç[<"†#â³ÿùe.ês,áTöPÒ«w:ÍOøÒ²h™!Êðm& E8«Ø§ô¡FÀÈDHè•×JÓ<¶"y“££eþLŸ“»õ…Ș̦–7®ùÏX Yw7ôéG<ŽPÊÙßWÍ%æÊõ÷ †Þ›èóâ€õ=l! &ngjtÊd\Lâ%¡™$ØB†—üOˆh‡a·R«ÞQÅͺÉÌX`O[fqÈT ¶óiS¤§>Ãót™:q¼ªŽúóˆ2"E‚¾±Ä! ÿMÏó&\áÃÞy ¸2è›?hg}Žš˜“fR3¤Á¡.ÑFD.-íê;6d±ßˆìÐÆüI*„±tÈ{&ÊbѾ¥çN±ÛíJFRœiîठýH:•|oÊ’‹ÎP`k>T«ñÆêwúlAÿ¦ ÁñMÜ- '_ÑG”ÿ[Ò6a†zsÉrÁ2ùVz̘߽ Àµs’4¦pð9¸Úˆt",Pú°ðŽÃýÝ&4 ª‘õ„ ËkëÒQ`×⩉2ÇÒûY†nJß›õkƒ»ÃaÁ•·í<±Yä@ƒ/ Œ&BnçÝnpFØð&"EžïÀbAßÈ|z‡†e)O½ÊEòáãŽ-Þ±o›n™Ó°úÏoh4ÜŒ?]+™)v½²Ña›Ë.*Ã߀æü‹Y®~UÎ"iÂ¥Srբ̻¶K|_aœŸ)Š„¸ÙyÛüØwÞ!•5:0J=€ÈíÏ!ª<ÊE“!»ý„GÕ6 oÙ1²}-$#´zX Xг;jÝÔdþ:;ãÖD%´¦uÛ H æŽEœ  ÃCP7a ¿ÙÇõ6H¿úb³ó=ÐE£éð ¼èsáHÑö|téG »æÊ2m¼´e½'öˆsæ£àé“#øÂŒ.2o³ê/²»è‰4¾Í KÐ=Ò«Ç¥7ÚFõÐst>²z”:e%‰è`tTA6,ž³’7ƒÏüAVÌàsk\åDò*]¿Ukâ·§‰0]9Zë.a÷§ä^0@’Ê ÁÏB˜paqÓÈ}}]¨‡Ë²Ÿzš´Ø lr÷ºµ*¡\ àÿÓåÆEåtF“¹LQ-±/:´Î1HiAm½^Sq… †·/fëêp´ó,œ1¯'~…ëØ¼]×ÇÅP lYíK!3–’Õ#š®n?’3ΌͶÅÖßs‘I06-”™IîðŸÖXaõÇ]÷Å£©M••ÉÅë»4yWyÈR‘°Vãm¬(åçðd€}7^1TËñŠMÙ¸ &y=ZÉT‚\ ŸmÞÖæúŒ˜¾•N….iaHQÇ5€M–«n9¯Y«ˆñEÐ(ª Ô{ÌMß»OVó»ÒÅ\ª¶8¨Q¢Ñ³íç?pâÔ¤ì_LžòÆ7÷–fðÂD>>Š .…¹×7î»f„ÁÁmIä+Q7b†?,ÓþÀ#uAGÛl6‰v8£¼ƒí2÷_Ön\îÑgý¥„ךùYéŽF| ðàª$xœT!ÀÌ ÷Á[LÆAõ”,¡C\5›Ä4ÆØçÿ.±±õ8qi „ê l²kž›!ÑeAÈ6·¢ZqzüÿÚà˺º¼ûCn²a…aã76ýLŸ\Ig׎qDZ¿Ý<êÊN”yçßb2Z4gê-ƒ$-é©ÃrýÚ¥Š/%•ì „Ç会ÝÔZ•>Œ/?ìØùÑd‘lЯô½%_¾}Q™ÆFŠô:|+ ^Wר>:à ûùFÕ[Æ–¢Ò3Ð~µÂ2žäÎe¸rÈs0+q<ܨQ$áÈ;:ñU~÷Åy(cØrYÚ{&d/[÷ׯÉ0+ÂGLJRÇSúXT>KÀT8®ÆöYT‹¯Ä!•a@¥ŸájÛ’ÒÏn)“5 Àïïúσp”ÛÌ$÷ýª}Ø3Û*À>®$QûmsýH~q# ãÝËPé`uL(ø¶ƒ!fÿ£“°ºà²ÙËA‹œ€Â¢$ÖҟÃeQÛÖèÄÎÃÿŽßgéøZµ¡1™–áŽ<¸Ic2#®Xò+®C!*W³J zþkL½,”ŠÔíLMjxyj¿…Q£”ëÆ RŸ i£Sè8dL¶PÁ±ÁÂMt.Ñ1‘9À D–FQùÌ!*õsFnè…‘3´Ï5fzeÇQq¡Áÿ½MÓÀ)qm½Èÿ]Ú>8}ßwù+(ïo«á¢š éíG¤—ÀHVn@ÀaÓÛN5òñªE]•ƒ­N»± *²lø”IÔA[ci뤂LÕ°Ljz©¹‘0æ?äiÜrÅÀE£Ø™³qî‰*Ø!ÿ:D¤ª^¼âïR¢ºåús9BÜ0—ïµ;-¸POËþ}dàŸa™ð¥«±öÖôœ@fÅ€=ÊÁß"dîݱwe¹Ï‹g(é¢:‰S øUœ®€¼&Æ€àßá¢ß•–ûÿB'Ïa$½Ð²gX¬ºÜ+ÆPÐÍŒö@–ÁSOLŸ4‚Ú£Í@Œä‚æÊŒþê êK:¯¶i ž9»1þ·[Œ"ý}½þò}È`kËSĈÐÈФÞ=†gÙŸ•úRÏØ0?‹Ú‡®@ª§á7Sr{â„æ‘%Rî>Äwï»ØF´3Á _ðÒØKÍVÙüšS ½H/ßW':pQxíÇî¹#*[ßäVɪ$ö×¢öiw2r4Ÿ·û!BÛi„5ýŸ(_½˜Kp“°JûG@ù•%¿§Ò‰R©°c1½Ýá;Œì™å`J£ fIO‘$rÃSEøiÒ­øÀ{»Ä à(¼Î›8jh^¨r.ü†çþô!6zéMäÞÞh–Ãi,6´t nvš_´—«âoïÌ´PÔ§Ã &°×žÇÒ¹$"¶’9:ËúÚ¥ ü\•ØéuX~Í“Ï|Fp+ju§ä"W?yt_Ü“3¶Ù]×£ÌBgúáѽá·˜‚ð¹”´Út%š÷ÿ}¯çáEK†e,~øÜ–QÎp·j*fÆj‡­РňÃq¿öf«‚pÑ2ñ=ôªÎ¯ï6:  6³ Å È*òø‘²’P~<-…ßW L¶þÐJS‰yà‚ÐT¤a]]å/õæ‡c£”rS­ Ìäxû þ fÐê–ˆ­þý&^GhuÜ`íiSEš<.—u2ï „&f¬Fד]§OH”i”?8fОHON@\ãYÉ ;­å¬õ?²{‘ÆïÀ¦“†wÉ<ѳü)þ½‡ìËò\&è-h.`ŠÓ™Á@ɲDË ßåâw ýð]|šlæ:ÿÓGâž+Ô;¶6GÑÛp¸š…uÈ1`þdG«!vCõ¶qÙ FØK†k,[Ee8âó¿Ž¡iüt‰:qDP=U\fž\I‚Ô|f2Óômh‹ùìøÅÜï˜ 3¯M™o´p•:CË¿ÍÓ^SÃJf…}v—aònÂ6ã ­ôcM HÖÓdM ˆ/F_þw5SfËWÅ^L5Ç[u¾þ(Óü¸»¢¯oøö’;j„´‘}¡IH/u6UåªZ'9à‹,"”¿¹ƒ–*cuÕЯÌ4ß&ÓãJd«áyixÔrõû^3.•ˆ¹áCÛ2¬Iˆ=uå‚YÝ´ŽXnj°g8û]%cƒ¦Q²ÅÙØWo¨–Õ$q­·¶ŸXFô”&¡Nïüû@‡ßæ°ŸÏÆUƒ¿ÄåÚ³TEÿ³,¥7Hþ¨û pDuø{óôÓ§˜gò|0:"SX¤ªnXu|@^%›}õOŸ Ä-]Uô~[ùÉóÀö@ ²^]6ÕEât9¦´*¦‘‹Æ˜ØÖM{ÆRew*yúûÙài! X¡ì±É%Ä8:²Â"FØVc¢"°ì@©£f⫌ùª%tëÃjA ®ÉÄ&ÖBV›Nw-¾„|¥@ƒîI!eÒ"ŠgZÿ÷j§ð&…EÛzßOs:C±‘ 0nôðæ€G娖ícÏyNñ÷yÎY¬”•h×R2—ã…ø˜:¦ËEm0 }ÖGi¸é+¸Æ] €™;ÿþb#Wœq9OÄÖ*!q¨å—úq>Õ\MÓÓÒÈR±”ŽÈÖ³ cÛ²Œ¦ö¼ñÌ<œZÑd­<ÆÈ¶!:ÁÏļ̢Ï])6÷Š8÷ÒÐ^„R,>Üÿi¬á˜ïÞoðÞÝ -Ã]­¬I.Vò®I¤åÑÓÝÈËPÌŒ]´sì³^é4º& ã…²‰„¤Åào{x–Ï ªùÞN˜ÁÉ…6¹dã›LeÎÔxòñüM|.ª8‘Þæ G½nLÊüƒ6°BPý­•O”âík;ÏÍþ‰£äO¿ïTÁi’{VыƛFQuªæRƹY«útûš»Q`fvè`•?˜×Ã(jÌ °–ŠÂa¢Î}üv˜¾£téâ uÉa£F#§Wźw.î=ãgÖŸß¡qâ\J_êuPš7òƒtÔE¡¥‘;%8×?~P:8íÅ?Á( ç|{äa\¼þGg{ÓôÂXü¾€ _6ŒÙÖF‘‚“ÍÕõ9>æ„Y•Â×SÛ3¸O¨üçþä“Eâð|dÕÄd–uBÖÁYµ<"Iz·È’/t,¸B¿ë 8ÚüEAQæ»Y€7ªFɇù;Š#`ÊMÿ´ò(‘ÑÝàé¶XæAY©@”ÄéÍÿ*A!6˜¼ôqàØÊd¶Ùؘq\ç1³ôO³D®?"m|&s½œšð@ ƨ9±Ì[ÒÀ4‡…•gæ1cäZöˆ¿K\º½Ï÷ü²iÆ›«6mpDù–qc(~iÉ zL';'¶uªCn¹šP(ÅØy Íí_ɦ%_™Ó†:+%Ï*„YØ=ã)arŒ!\ç[_²2gPöŸpr¯!“Ê<Ôˬ¼„( ߸©y{Z\ÖÞ!P¾ä ‰ž< •_ÊìGœrX£oÝÿŠsÛ›ÌÆð•;òÚ]´m®…/_;:BÂíeX…'"MréæÃj×ø œ˜¬›Ø7¼’¬ Ʀ5­Ûðòùl3kWÄR+õôúbÐùüä¥Ü0õìÓu„š÷cqˆ›Hs@Æ7ãÜŽÐ;ÍN³„hÕþ‘ýîmsá•þñ(HS{@òNFqb%W6(3í^‡-‡Õ¬@³ã¾|ãÕh‘ÁÄðÕ7f\ôåûÎD K?áo’I÷=Ó«»û •‹è¬œá—ëv·p埳HŽì×Ħ’G+…§•Ų}Šå`(xFÔj)G(GNŠB*«#³®2EVe¾g¨¦39æÉÂ5©êvs°$‰ÑU'f^_ C}É>]Öÿþ>Ɉfº–;AíÂFf!hv³‚òb”1_ƒk*%‘`¢G\ç´Á?¸ÌòòO]áhµ©Ué Ï5ÏštWª Ã-eI‰ xWˆ+˜jÑF‡êŠü^=–#W“/Úbyü†òüîàt;Á¼¹5pá‹¡¯Rµó“²A¼P*ÉŠ]ÃˈÅ{³÷Hš;‰’[n´‡S¹‰c±-ûª™]7ÝÁ„w/$ƒ³Û£??ã?P °ÔhsJÉê0ÛžK 6é5Ӽè„»ED»¦¦Œ¢V÷_ݹt¶¢åœcÍy | øØq´žÀ›”àð…¡ír%FS‘äQ«Ñ3«ZëV¶¥‹×>¾s\@”¿VAVTÀ¬“Ì4 éãÛêÍÀZdn®.S|]à þ`?¢…¿>¬{áü¨ä›#ƒþ2àÿùžÌýÉ×aäü˜”gÕ}Ç(Dû;F³Û„Öv›ËÊ{0*ƒæØÿ—Aú‡·|eÃÅU¬TÛ߇æ€q›šËjW?ŽN—oÉîO˜¹›_^òH_™û}Ð}à>Gí¢mxµ€Yà ¾×º©¸ú‹âÚ!·®„8íxžý^™¾ݾïK¬äœ£ötÙ=Õî·¨i†. }ý˜R´…8Qý¸Žå‰ið|?M½'2nO®/™!|ZgÈ%Ä$¢‡¶w23úÅ‚¿Èª,Ï•£ª²£œtˉg(Þç¶„2áç&IÒPÕ>öUIg±ÞMº¤6±èS!ÀX=‰Ñ˜F›ÿ‹uÐ/È\Å[|‹¸ CÐʪ=·ù¼¦~gB°_ñqÕ*Ƥ 6~:RMØžp<¶ß/[¤äè ÑÕŠÍÑC~à¯ï{y4v%pSä}vg©ñTâiê2ÏjUÝh'+ tÛ¦øŠ:Ÿî‡uö µl&¼îú ¯ÛYêÎÍjãpÃæ Þøtå¹ óç MƤ~½b½¥ÛE!ë~|ø¼)Óp‹Ôªžu̵滟3»{6MßSÅsCÝ&Áôßwú`nz-öbVJÑúáümyösD„vÞÔõ¸ÀŽH`É?6Ÿý&ضëξôn~i0tÎnÛÂ]œ¦ ÅE‘PJ´¤æ.×Îкó¿-‰s1õ<¼“k»Ø„Öís›>ím7,ˉ€æté¸  ­î, éžBR ôKûÚRñ.´c!¼D#¶!톑¿‹F)Ô—žlMŠúo^ÈÀF‚»¹åè;Kw„ÐU¼Ò¤õ®ÏUó°ñƒŽÛea>‚ÙƒÝ[#æH«#²QwØkè*í‹£™8½Wgÿ×97¼ËÂèUt~¨u¾½s<Ÿ›$? Üõ^Oh"^\h/‰á»óà•hWÅÿgϾúS,|S¯ûl§šQåûX@‚[÷„Ù,nØ•tlx0$5íÛ“¼Ïϲª¨Ú¶£èUS±]0Ë­±s›&}M®ÂT.E /ØB°sBoÒŸÚ>ϒ𩪠ÓŠu.Ý9ßWÕãtûøû-Kq#ïò—°A'¸¸žÄ§ÕÖº{-bÆ0ô,W«#Í·Q³eÊš ¬¢Ð" ÞdWP­éuÕ»yòô8yÔ/ŸB6œÇàѳÌò™©- \#²\µ¬Úm}ÄM´¥‘ÐÀF»‘Ð̪”úŸyˆ?àï”/·“oŽ·íQ&q)}±¤×¤gÞ(Âú1éAÄ&pä~fµ——÷ˆ9ÛÑÇsÇn­ðìÏfSÖŠÔ KƒµÈ´e-Låv>®«‚ú;l{›ªvS{ œ)fýqÛYïÕ͉ÈHÇ—9 æpÔ­3ŠÔ" #øã<‘í9G;,,´0ézsRPIv×ï~!w êuüüJ<.¨x Ø[“+¿‰^l·ß¿{í @˜> ³Ê±ÅT&5:M'Ï~|˜Ý|:NÌ8½îÕr?„£9uá!ξå*•&b(dÇ!îÊ:&YM…Ä´Fq7Rï„ÍÔiKE„Å¢r/ãõ‚g†c¿ù.øø½EE¥3sóÁ¢£þúZŸ¾šZþÔÛ?ÄìNèF%­3žúËÑ…¾¾µM ª èË9¡ô`Ùiu‹ß;Ö' 6÷·ÔŒ>l¹Ë×<Ëü˜]»‡9¯7ÂRs6*€KÒ´J¤¡YðAõL ggù)RcOoÌ%ƒI >3Ÿ'8šxòËtœ~& ù>¦Äìù¯ÝyÍ®´üÉ6¿¸¢8ã¹1n_"ixCT ‡õÎO§¦Ð…A¨sy¯v\ˆ3ø‚þމlÄÅÍ$tÉK ¾³— –ó(n¬ÔÌPø ÒîÀžq©‡øk4ù’(Þ~ ?ÁM r%1æ^×—\3*çØšr¸pÙ¹ô•jI³)aU)j;ˆd+Ü[:8…@†j‘KPÑ&,Å¿¦¶(Š xd,[,v¯? vÚ¶mD&@HÏÌ =€pâ!”“PÞ††\ßAxLžpåOf{HArýv¥f\ë£;0/¹Gcþ Zu§òòýiéô=ÇRèõêò¿ÕEòG œ+ö*ò~ï§Ÿ’ª'r! –o—¿$[q51•3DŠÜµó[¦2Ç[…’·v)úä†óF?×ϿƑHÖ %Û.Rãé÷¶Ä=§úx•-5§÷ž¸Ë¨ƒâ¨ xi#)vq) óÞûHåÅA̬‹|Dù"C±­ù”ê;š3Ãï‰&ØÑ`S4è_ e®¦»U9Ø)%C\ æõ§j ÿI|‰éwëÝ脄ëò´šp¹mÀ£Ž…,pLî0³3ïéFMvYr‘ß¡WIˆóPorÓªÓ˜N—Jöl¢[Å…OÀìÕ/GAöáöæÌ-·Yâ›á::¥ÏÙÛ’zv>è{8èûÈYÍaà;•Æ;:à/Jšu­„% ösÇ7ÿ1^¤‰ô»±°÷JôäÙN}æYÚ>½§н›¹`3(öåUåÛê½Ã“µ¢ŸâæzðH°ñ^ED.Ä©~)´NÉö™4`oþƒÊ`DÏhQg°*íwOaÊż޺7ÕèŸöšýƒ”<þ?²ÏV¼ÀT„OÚ×nìÜ7MKÍ"pÖ/V­!ñ6MÍG'(”‘£¾ÂUâP Ž%ÆÔZ¨€„íó§¨S—“òÕ —¤ 6íž,Å?y±¯½ X)Ô*æ|‹¡¶gh<2gœi:m6mJã(Rð‘1³¥­_f3Ne‡—xþï:JºÏ‘5峑¯«€Î­$¹î´Må\M7AE®£›™‡;ÑuTR$ š³Ó§b,ášÂ¥ïE·ƒÀŽÝäný)-0ûQˆÝ—37±Á:üíGyDú 1’ÂG³ŠFÈêaŒßØtMNÕ|VÚÃÊᦌˀ5ŒÃÌ.Î_¨`èU¼†º®4–âã¹°ªƒÂ=ß§œÐŸw«ç±¶9êõ]M£Za\,¥ÉPDìêkÚ‚:*žu²€`ð­šÑïE³mTUùA(™<ŒuM‡’æü/K›•"à¦Ã<ä$„n¢8N³ Äå¨kqL,é³¹Z ƒãâ ÓúG,ƒTH ñOŠ“ÜŒÚ[h7›jM$’¥uÇthIÏdJý¦g‚QátÏCùCÆŽëa\¾¢4cíŽäj®*M7‡uÛJ„vÜŒˆùáíldz‰¼”xßí¤ÜY*çüÙVï0‡ ,üŠtd½Ï6ƒäOèÎiuŠvØzsÆ7€YQä)‰¸¬í%W$ìòa¥­¦öB÷V˜ê :¶ó4ÖÙ4i:z¬êPÝÆ…°Õ"Ál95¿šæ ¤Ûê–*TäÑŠßurtŒ ºA»qÞÿWLœ |¿ ™°^ šé³ñ¶/š>vëf”Ú^[S_ÌÓã0+?ãiððQ>ªœ×õ úwwè¦E`Ûk¯ó]â©@1$ÞÍ·¥´ }¡õÖ Ÿà`´Vd³v»ˆÖÑõUôŸCo¡ýÏ£¼0Æc0 (ïeÙÌE`ä*M&}j߱н~Co,Ô,—ˆZ0?ÂÊW`Žíseÿ¦žTÞ±êû¿¹Zƒ…Zh#( ÓQœ–Qt20{`²¢+™ÞJœÇKRÚ†>²ˆ;Œ¡´j—1Œgþ(Ôñ¼0¢’Ø 8ýHçI^À Ca`†Ý‹/"Jo4bš\Cõ:?ùáΊìF] (,%¿¼“bo[ é:Qd>T¿HØO;ð_0ܧB£õçWo-ÇfÀ^Q¸½øÄÞºŽ?óçsŒ =uá #Rsè©Öum¸T¿ u^S©Z¼Û0‘_Ó-e­øYûgV1Vkö÷´kØ?{÷&òe†Ãcö|Z]3Ÿž‹ºn¢NW¥_5í<3 —tp阂5ÕŽ ÒéçôyWžêÃQ[-@‘º§ÀÇ ó¬P˜¾÷£FýWKF§úÛ§Ö™);Ó˜H¬‹´]m–¤»fðme:tøí±Öð­ß•oáç´oñ‰-²æÓ꾓ˆùî5´h-íU§ÄPÙ¦H^úÚÖîÔÚÚÉRËŠ‚˜Žú”Yû¾ƒ0æöÍ´˜å«¯« ÆVƒÊÉiµBÒwƒÛ’ ráÇ¢w¾!I3¤ƒšWû¯¸ZE ºÊ[§ñ<Ö=‰RoÂHµ®ªQ\ª6/5CYÝŽÈáÕj¶! fê,ŠJ$Î9¡ Ô ¸RÄË,ÂBîïÆpM@¹Uóöý¨9•ÁhÄØÇ¨nEžüË0ƒRžnéYÉ\ßÔÒb¿µ¡^08¨¸Ýq°Êr5¾uöpi¿34R&"ŸÃ(²Ä·hÓ>§Z(Ų¡‘< ïþ5 Š©¤-»Ð@VRÇ}!%_ŽZ‰A`‘¶:ËèÒ Mûêd ·ã4Xðk=t¡R‹û°ˆ>ËÉuágÝÝyf=5)«!¸$‘…zF$] < XŸ{…†Ã36¾·ïéÁ¸ë‹{i˜Ø·=’¤pë–‚Z>¿ÎâZ­Çß|#bôGÙéêðQ²rOÁMGBØ ‘ç=4=ÈÁ"Ü ºéGð ëæ4©º²>¡”UÍFµÕW1ä¶7Ê-—±Ù 5ų„v-ë çptyÖÓjÞHó¯#{³Uq‚À0¦^ÎüÄž÷}çÓߨoˆ#Í,Xéñšswñ±ò‡ÍÚ-J·6SÓUWè9a¾L/µ¦YÇûÏ×âÃ4eÈÑ¡ÖWÑÒáú¹å%À OÄ™ýˆ_›†gÆã¥Û¤?µZ">E¥ŸP¸%6E·j/¨&ÍAסUE¨6àø¸l+ED û0;Ûh\ –ó·5f¤©uåbçd—]’buW¥]Ó‡~þ¢nЙv.ÛÌ¡ nuŽéUH6n.ý¦¢9 `»¾`mFo#"|!{ãçÖàŽ¶TÞ0Z››/xtë-P±g A”øÈ?s†¿ºÚ§KSŸóË}ŽÍ…Ø>«Â“LÂØšI±j/ì»î K[5:ARñmš/f^?PÔ«Uù±X¨œªXóš G<ž_:¤Ÿ¾{k³’Œ!ê“:møÆ×õX›ä¥ÁÇÁª>¬JaXµáá ÄL´)µ”5@΀ÎIÖÎu=g´¿_i#®<}…Ãïó fëVguÝè$cµ'w#`® ªZ&µ°ä%Û»Ô&T·šeÉ¢. M÷æ·hE."ìÔ^ÄÉŽtTn¡bUÏ¡ê†6ˆÈT«ARØ›!Œ{- ³D4WøÚ|©RЕ´Y:á&Ýè°Áú«.½$Ó -W{I£}Eä T‹9·UÂ9éuˬhQ¡6Šø}¥ÕwmÖ–ÆVÁ&àTèK!…yê:îb4 ¶ÝŠqHÑ[ŸdecB–=š½×ið8`ãùAŸXœöðß>ÜIñ~(ç«Â¨(i°&Køb2Ð3_^v”Špû+kâÙ5[+œ 6\Äx‚ÙxO9ý¢ƒEçÔe¿¯‹ð–‘±NŸ8ŠÄáÁa~ä%ã*‡”Á¤¿MG²#†5ðCð³Ï¢·£`²t·¼8y¤Íó3Õ®{¦µo‘º ”4i •=âø¤|Ø!§™·ª¨ê }’§Llßð?;‹üEQœMÅW£§»£¨6Ëœþ+1±X® ßþžìXFQ{Y Hèº"”»Ž[„CPìXÈ©geÅT‘>8cöPÎãˆES–:vZƒ­,køa6®sHªê.ÒØ}þ2BRW¤oí¹–W¡ ‹‰ÄlqQ–qîÆsH4P,K#Å^cœ<Á¿ÇîÍû¾Ò‚ãËš´!«Ië\ò•\XÏ(;‡™8 OJ½5Ù½6ô#’MgsHÙwx Úí=ù§ 8]ÊΜA8møÜüØseŠpŽÏž4(pÕ&íd<ç .lÂkg¨…ªIVùðk±¸JzäÂ×RÚKYÅp#ÂŒïG+¿[É)â˜-·›Ì:š³í¢˜¾\Þ±`Ï´ÿ¾™%÷÷·ÆL0³’1iþ79¥yô› ´­Š®ÐóV úÔVNw3P` ï#[λ0”€BÞËÖüï­pøû¿WaÊò9¦Ê·L‡ùýíD§j±ÑÆðÌšûÉ–u>vB:¤{ȇ_[Ò~C<¾àÌÂÂK%€³RŸ*MäjlÌ·•F1 $!2ÚŒIô%7ro¼:TkÛýRæ‡ûâ¶·o±wð_Ɔ‘’|ÚàHK¼¿›XT ?¼ä‰±AþÇ|W}'±[õÇ;&<á GÚ$³A‚l3ÛMÈ’SÝJ&Æ;#žü= /‡\…Û‘„±Ÿ‰\Ì›šî,ßlœõfÓcm¶ ¦:v#W¨+2Ãðœ—AàŸ™€Yìþ UO¹ïûw’/ã\´¤’=Bf8[¢°‹SÑ\ÜVÛ$•”¹÷JË ½ê†þ¡c““öP̤›G<óÝÂ…~3AQVó –±k¦Žªbp žÐ@²#D„"Í¥I4os¨Î>±—ýD·Óëz,Q†®½ .C’nL|bµ8ØýЬiMÚ;{‹¯cÖ»X6¿å7E?Κ-oùÇŒl¯§Á"sÏÞN¹¦6{IßÏTþ) Ë­IšøÛ¸‘“DÙÕÌï¾/@ÅC•›ü~$íÊö±ŒË ®"S¨¤é/¼ÃX\|}¯\wÌ“×1:B†2ÂJÓ7 $KwFLÞ‹üoØ„ðy޵ò`Xѽû–"KŸázNË탂2Oò2+Æ)Í!D`u'O R=û²oàIíâˆMÙ}¡'<¢*Ø%ýz‡¼Ýc.«è)2ûššúÛó\ú 6ÔÚÁzSI0šœ]2PRhóÈìW…æ‹M­Ž®¢ë^û¿Úýk…}w‘´’¹WVÊÌ-Õ–dˆï{l±¶Gž,P§¹¾'´OÛ  ½M*Ú«°°CúbaDñ¸×'+½ãËF4lǼx%i£|À ,¨H«VëÄ{9D`øQÖ°Ê’eü¥²iìzµ7¾«”Y‰êßìtZ*Õ==+73 ÍSW뜋óš+ÆåÛKFò)N _+xvFj:yN*~ù\VK3Šb“]í ÿhž”‘–Š]²’ž†äÄ\ApÅNIlþ$+y °¹`sRÍ1ÕJÞÚ3ù™vXG¦P"#Fú óå‚"‡ïI’äíJFê¡eùž¼ð=7Ù¡¬ÉÜð,ûŒþˆóû'wL¸ßb—ÌÛqò02 ó…Ä—ˆnZ$ŠÉd³ç@ƹnqHÙ‚õ…žÉ«üé\ùêÂOì òêîx$Dô-¿#ëh{x±@âT=ƒ©¶¾1ù_FoBçž<¿;»íîÑ,<­†öêÄZR?Å&ì&æS¤—¸®!f á{“ˈ”¹³J4cOãx /¶ãUGŽÒávˆS3ü¦p”¶æ6ùóÜ#Ö2í•^e‡Ë5L55'ÍÀyÇujœ?žÙçÝžGÖÞi=Õn$…}¶]гùÝñǪ½¨‹ÒsÓöUe&¾ßZoó¢n$Ô ±”è—A±˜Íú$}{•Äš#§Ê¸7ì¾*!®ŽLcƒ{d¸m©ËeN@Ÿÿ¤Zó<ÛÌy®´u‚û×q¿p¸Á#PÀæ’¦I`P¡§8ñ)ƒ†Š®.ÜCåºZƃ‚Ïɬ·›·”-n Íý?@Δ2GA«²öŠ (H…¦6nö¶²Œ*±½H<¶¼©Øõ*ñÄuô`ób");äÓC#ÝüQ`@ÜBx‚…ð‹%Év XØ&äüé28ÏBRŒÁmÃVF–ª™ñKgSÞ:3ò)š¸èÁZ ÿ~y“µÅh®K*½ë\½:€ÉPÍH8k Î]²¹Pb’' ¥Ì‘Š–ÒÏû• zܪçs“-`Kш“ëvø£xØèoº:ô¦gêüê•í‘Æ!Ò-M²™ÂJ¡—lÛXˆ`5&ƒ/ kmæq&Eä<©Àæ}üIÌù™ýhθåò8ߪTœ†Ìì;;äê‚b|‘%aÌZµ-yñ`Ì"ðhõú\²¼Ú‚XjÚ›Œ Öö–ÃLb‚çêëOnˆ¶5íMe‡YÂWP–sŠ ›KgvÃBnÿgaÐ,”R£³Jl†;6Ñè©EmzF‡«ýÆ&.š:|2šÚ†¸œù9›X#©»U€à|;–YX‘¦XcОåÕF¢0Ö;`1†Ž0~:“§}_výžWçYÃdœgš‚ æ›©qàö´eŸ GÔÍΨҎ)ûôž¶3k+Ëïr®pßeÙAsI.8¯¬^tù£ÙRÄÛžë[à«}o·$ïÃÒñA´Ñ^WF®Ê•N…›çÁj/.õüÞ÷öaD'8=Þl‚pA¡š×ᆩó&Ÿ©òF™óÁR6£¢ÑÍÐÜ5od'h$TWן/drIͯO®¶ú­Éí  Ë‘¡ˆýÊ.„yFÜjÚÆ­˜–o†h5ôè¤ÖÒª^³UÆ¿,E¸›¿­ ~ào‹^3Þl“Ì›4K“mou½EÖ\Ͻ†BïÏ™;5™åt j_rÐ=Ú±óª «°w`ôƒm®˜>Çqoùd:‰Ö[yüoɇtCÔX‹tv¿5ˆŽ rÀ“ÔÃ×Ö„½H9“WpÏwØfÈ S­+¥CûHý t’€¤®¸äþi¿9Z8Àðr Ycž¶B …%ÿšIi×ižrÑ)¤>KÓç°$è½Õþï"<´3b ÚêFä‰Áp›&ÊœñÜ׌oó–Îo¹&‹ëì~e·û]d¨·ø|ªÁ«‘Ù¶ñwjp‰Øš®>/§M…Ös#íÄn|ÉsŸu+T­n¯X/š²Q¬¶gÖG ?ªa¥1Òk]l2Žæ;DÓ÷ {KçÖªpžµnI'ç®XåʳÖgŽ6iX5 bµu›$í´+ì‘êë§–Æ…£_KxÓÜt}E#0—?ÃMÆ®‘:ÜrÓöa±8®«ÜoH±¸,(á¾u¶î§`Ú¶Côg_踼ܰ´¶•¥Ë=(—CÝ«AT¶¥ݸ<çd 3È?÷¦b,B@ÁßÍšìÈÞÓüÝ(†Uk$ Äž)„«áPêé7ƒ:9žˆÿ²b{‹Æþ àim†tÓ139¶Qž †’B\’ÿw¿ThÅ2y¨":¬KƒoëSæÅ:H]É«szEFtš„³'ÑA̶¯hB»6~LjSÚ:”)ÁK Q,‘²T¯˜oópä!rcn‹†.k*$úÖ¬<Ì`Ôg$Îõ;úÏ:|v. ‹Úýìç0ZÙŵ\Éßm#^$“ºžü $]èاñ`6^·Uƒ'ÖsZ« ©o£ôç›ø°âÈ~JEÓc3!{ÆØ•o—¹ožû:n‚ajB÷3ÜfÚ±M=–Ô_Ï‹ù¤×ž¹[eSÝ3Í}+ý:G=PÀ”ù¾=‘ƒ.AÉb¨†’ezê5Ž·¥ŽqÂ)K£rÄ·*ƒ†P_×?Od€ª‰ý4¥qh¼ùˆr¿Øwª•Zè‹È^:10¢Ó´ ivÌWkŸª°eHÇ@[ l¶Ðq²Àþg†w)7á3ä &WNiù7ç‹=Ä¿÷ââFè ò‡aëŒ@½j€>¡Øa*&Mé Æ–9ˆm¡1N©ÖX§`ó j©à**Zê–½~4Kp"~=ïlóUð»–/òV'HòØÕÅ !ó¸4˜JwÈVF›¡¼¹é»F¶4bÿ¿„èÎýùz£)¯°o-£ [Sìdfæ‡:?±Ýt¦Å9š]êÈNÜÜmð?Åè¼Ížô ÈsmÊÁ¸wÂ:'¶SRú,Â!W*Ê­Æ MeóϰT¾tªîD’u±¯p«îg¶QŠBàøe•¶ãxì­Sô„½ Ù2¤^jùe®'qð6½Hr.q•½ØZÁ*|° f›ÂßxÀ†»ø‹ $ Ú$œÅ—S0=þ§Á\àÎYø€G:¿¿Ö‘pQ›Ð§ôƒßÛš„0Îè‹tÌ)a(Ðyf³ç}Ä2AªÜH™Áî#Ú²ŠÇSÝ{)ÁúY¤sŒzmàÕPša¶M⼑Ic©ín''31¤‡“£W‰$©¨è²ù;¢VäiA…á©P¶ µGÔÀCu |$h–‰ÓPd6œ6KJ™ÈÂéD8,›¯±9ÓÍAÞ¬1ˆfK€—5esWqJ3ÿc«1CpнGDÄBÅ8qL¨:L_ôŸTNQÖ¯ë[«ywMÎn'Ò-x\6ù[c4ˆCATi,^_ÍÏÐÄ"Ο¦y®×c¯—ÛÒG{h}Ö'w÷¨DÝbÈÚÄ)íîWàiwÅ I\`éç²€ÛGàh‰Ùa÷âù3IϺ·ªò£ë¸—Çø"û!Hi\/ýˆ `ìx¬c/¡X3îEb­W4rŸ—hÊ Ý7úµT’ÜpÒñ$7IoxöRs•/ûûí¯ßd‘ZÈ©ìfztÍF‡õ Uƒ¿ª 8 Î««p†öÖ‡ª½|o+ºŒ§õuVX¿¸¸HÒÇ]»[«7¡6Ûl½sô_MV²´­÷´(†e ššÿÕÙ‡# zˆóxÔ¡Ï]öW_(ÝÖ~¦Šô‡›ÞùeH5 Y>ážvY«KºØk(6}Ç,¸žêö.Ž5qðîn2ªñ?®pƒ‡·G˜ÝþÊKJû‹Œ†;«í.ŸžxQIŠ|‘C#¬×7?0d5’Iʦ~Þ\«éâ!Ë–ÀwE…ÀQ Ý2E¿ú/ti‚ÓJì#Œ/ÉÖ­ë -«.£_'¶¦©©Øú­ž)qA´•åk5â * Š<¶}ás] ”lQ²‹·óK»Ôï3̇štÏbÊŒ¢šÅËZ*ã#Ù÷Ì_¼¾tf@ ¸Öz ‚UÇ»=°oÔncN*²ºa(™Øª¿ ÃÆYÄÈú/ ¨1õ'ub¿¥SÁ+oe]£ \ƒ8ôžÁ“Ê£.}!Ͽ߽¯°–¾x*z…¿¸MàOÔi~L-lïÛx!Z(/»6j÷a÷A6àP1çÖ5‹iTº<Â,E57ä¸UãøË±& G™™v±¸ŽLåL\CòÍжoÊm­rª¼”©‚ B:3AŽ^àÇÁ;ª’âêÃÎå~¹ïñz”BQ·FÊæ TV”˜Zs;E„ñix+„ŽßÉdA[ýÁ9??¤à¤ûû?Óµ<º§“˜8žæâaˆR¸–Ç )¾¦´#\HPËÜéyÌ´þ&Íà0¹_ÊЊ\ñ¦%Û·ÐGOƒéÈnŒŠ+±§!Y}hgRí”l’Ñ3Àã¸TJ.ö³l¥Ö.aüˆn˜º—óå÷aJùtýk!4†ô¾yø # « ÆK>qƒeøJé½ÞWN‰Í^ÛtF6XÇxxËa™7‰ÿUÚh°›ÞQ3ͧk³ˆ69²¨$ ¨Ïhcmå0®Z{Gb%¾ÀY^ €L­}È©¢ßÚ7¹hæ˜Q¦¯Õœ×uüÿ¡¹"t½A¤&}GDበüj×W[÷ØJï;âÜüˆ1Ký`ìõTK¹®É`{]²å6öð~×Õ8 }³èïŸÜžûѧ tÑEºUŒ=ùÖN4 ea¬Mƒè\ ¦Ãšö´Ct³DÄXÏøzÙnPèÎxofxZý! ƒBﳈ^ÍÞVà3å»D_³ÇoðÒb¿á ±ƒM«à;´›ÕÊÔœmŠì£CÈôÇ{HðÅ'ü;S)sþ*cR÷8_h›qõ˜+HžYygÅJLj­]ÝÆë·ã¾IZjsí¡Ç[ XèÞ¸k®gaN®}úì2¹+%w=7 d¬  ozׇ½Îb ÛíWº¤7v\hûz¼Í›6_è¬ »wBà£Ö“k¿ÄalLjÃ7ÄPÂÛò“,2qëäk/` ÀÂÏ;±¬ åC»#+ Je†eÔ„s•ØðŽ™Ö;ÈÄ*UÅ¡0{s!é¹ýùäâ>6Œú¾âÖÍ|ê¨r‡öø†¥Ø.7ÎÆÉ òŽîàűЦ¯Þ™P‚éq×c®¢ ¶›jª~0êÂå½í«Ç"L²ïk4<¤¶&Tl õÌ;#)h‡v¶„æÃû:x%i㓞éþi¹Bc:eæE³’ÉÆ þY¯é{B»Ðû€5e LÄŠÐ/ØF*Î}’¯LÍ&–³dóÏÖóÇg&«¾Àµ£oû6D …EqåKsãG€'”ë»À¿V|g€Â7ë—4h× ørÄL¤xÏ5D–‰1ò×[ >‡ q Ö9X2±V#R)h9}0”œáG¦Š¸Ï2£S0TæRrÒ[ˆ/âu©¬ì®j¾”]¹¶È“öh*Ë/¿]˜)ü¼X•H›%ÑLjíV˧’ä'ª‹¯rí׎g¤{•%Ñû¯äs«“7VÔˆ6;¤ŽaÆSyYKÙ9¹Ÿú! ×²‡;ö+X£e…,fXÆU³Õp‰"ù3ôE¦çã ¿pýdy~‘Pg¡(²ß XÖþ›P¥r®ËïqZaŒQwx<ôÇ-îHùtE!‘:ešìíó(µÒÔñbv¿‡O#5à:Z 룦@‡æsV=ÓÕ…Ç!úÞx[`öÆø¾tB|>ñùKí}~!³;û÷"}䄆†€©¸öÙenÙÐ÷KÊñÄ–€·Ð&$Ãlçó°‚—ì‰pê7¼Hƒ–¦¼8êà*M»ø rL˾+ÌF3—ùS”ª©ž@•­SÚ;UÕg÷@]<Úp›‘4 ºjñ|q¿‰æêDãËÍ:7|ø{xtò] µ»K ðå5Ê ?b3>Ž¢°J'Ñs^+K®ñp™È_Ë[µIóèo9®{zåi"*ñ<$FÊn¿Oj6Wað‡ðqqxØs*5“sTÃÇ@Ï´?5ñ\ÕŸ`1µ+!FÛËaE§YÖ®³¾Þ>é$w<åpXËTçÊo+Fˆðˆ£F°6$³øÍrÏ>ìoú‘wÜxÉ&hÝ Ë †¤O¦õXð u#µÌßî[j¸(ÑÜóE%D9K1xÒ‘ÄŠæc¢hmG:†¾ã¤7$²Æ"N–å%9jýh’[>´}CŸž }ÙÐKó¹Åß”ÊzÎF¸’à¬5åîhßÝæŠäàäÐ2·(!P{Ndn¸´Qíb‰¾p6õy®ßçiO«#^^‚ÝÐ!hßKoKïvdñcN{ØNOËOR³®Fòr"àÈy‘³Í^ŸÊ*ç&aÂQÇj¥—§Q©)x‹á½ö¬ad/]fe˜øÙÚ̇T߉Îyâ€Ça(÷Æ>ÍÒÂÀ… XÞ@ÏànaݨÃåÕ!äª/oçÌïð‹7›æaf¡î¼ÿØ“õÿïýØ¡ «fšªÓÐÙF~Þ½ Qy9„nSW»@‡Ö`³w9׿sÛSñ:ʯ˜>Ä,BÿÔtQËHFrßQ1àª`ý×Ì`y"ªEܽ 6*ª®%]Ç QBe R&pc[åö +úëØ™¢Þø ™¾ˆÀ9_%žñ@5ÕgC§qQŠ^¢ß`!ï鹄ýÝL4åÝvzs¨~õµb3de³ûsp(C¸_ ‹Ð;*3›rñ¼#"ã¯R¢z‘€µ’#_&†¤ŠG‰³ý¨ ÷öýÌÆ”Oµw0Nb™3¦ àÞã ãòïØË-=ŽB(÷+:\»Úck¶ôš Ñ_úJÍhn†áÕ¤Ñåà¿Ò‹àsm¢î"0f;’v'ºÖXTGupˆÇöÂêÒšþbõœ'ºJO¾'¶›œÙ6€ìF˜Ù]Û¥Ú†«0ÿÍâùÝ€‰ê”œMöëZþi_½uìFêÛHê進…}¸Ì9›WÍ2ó×™¾’qƒ.4— è±ð‡iŸ?Ý™ mVþ´žqŸ¸k‚ƒ_Ñb£¡="Úa+Ã`<è£Â~ 6¼ˆÒ¬*tÀ÷¦¤ãåk§ÞaF.›-ñ kDHÏØwR¿F²ÔWŒÖ;À‘κmlœ«åš÷”¢õÀØq9:$Í#9é /ç%Õî¿Ï^™¥,õS˜eËOÿ~öÆ è5slŠ)*Ù yÉg#u1÷0NÞ8Ť œz9×ií $Û’]§òz*M„ÈÀX÷´ài†uÈN<÷ܚĎ`îL•T ºŽ§'’X•Iõaö¬L¨}jëÛa%’h3Q•Åö¢øUS“+Ž™2¤öš,ä=Py(ËÓƒÎÉ?Ë:Úî[·'(<„œ¬”ÂŽþ¼cÇTG:ùÅfnMØË*˜Üb¢Ñ9Æ•ìÿø¯ïÇyv<ŸÕg~-£>*òÙŽž Á£3ž?¿¦uô}c…`û7=,Oá?K¸à^ nõžlõ^!*Ò±¼EOrâ{i¹Mû»¸Gö­¾1ø[EÃÿhôq›“*Õön>ºi§/Ây-ÒJóƒH5÷XÑU ß:HÂÎÕ½'^cŒôó-‚xGÖ_„ëgêàïòWÈó©ê• ‹¾ºˆÿ×¥YgϤ½i¸¿¶4Þ5v–¤És;âö1~–ìwàM´¬h†÷—ÎJ7Wy]êÐöÀÐÛgØPŠIñ½V$Oêù€w›‹­r•wk2…%“.b¹ok·{<ç®ßôé3ò¢ÛÙEFÛÓB´ØXØ¥ýóýÆaå"¯µ¢a QZÉ­T sÈnÒ òžñ!Ù×%á⤔yU0wLPôÞX£oĘڥg•Ìú“q;àÙªÄÃw‡‚3©&‚Ah$ ¤Ùp¡ÓU[ðlH‚J¥Î†ä5…:ƒ­§ì 6ƒ_‡tÔ‰§{,–ah‡Q¤kTÓ{Ëpè:~vv£h%ƒ¹šÎP¬Ý‹,7_ÍA´X]ú·çÂîÑÀ¸ü(ÈÀ%–€?•ðt“ZŒi§ÉZÛñ¾Nz¦\´|}†ýâ“)h©¢‰k(qAÉ£b¦ÆqA¥¥sÀà™^?JÛ:ª.âÛ@ jêf$9üTZÈáÿ>,ÍàvHÝ쮜iÒÖF¦{d¬´6¥»\›¼êF´ÐŒ÷A\‘¬OšVŒ ‹4-Ë2ËžeN>ëc+`ùD½¹gŸ]>$nÝîh{È;_‰Ýp-^ úüc$º~Qã ¶Túy³fêÐ…‰r¶–]ª¸½<Ä Tõ²Ãu¬Û­8Ò×é£É×â; ñÁ¸¾ªýË ¡Gèþ¡Ã]ó,áôŠ™ÿÚZ“0%Ú7o4üjì¾éc%zÔx÷« ÞõY”ö»DºÍ°LyÚmç{ò1ü}–:'­a${Ûð›/AqJ#sEonAŽ xÇKXX¡Ü"»npXˆÌûC¼¹á+ÎÎßð³Þ#±=í þEüüákC¿ âÑ*1¯'v!T »‹†n,QfhKÎvý@ƒëj1æšwêpwé4DV·Fo˜Þ½¿ºöÎÆÏ#©Ê,ÖZ{œ­úÆM®P¢ÈÔIm¤õ„-ÙonÈaÊ0 …•Xá5ä„¡Äz뤭?\rH~i<¦ïÁSÙm¬Û<,S·Ÿ]6µêªÅídœÏÆBôKÉzJ#ó´…áÙ"]4 ™ºEâÊNÔg|@~FvÐùÖ‰dÏ¥|%ßQ;†<[ÕìSa›P+¼æÖ;ÏùÁ¥ø¾R_Þ™JêÅÇõ!WÜûÐÁ–F‹ÿb3ß–(Ô!.B$7˜ÑxtÐô‘XÄßõÙÖ`¿¢|„)b›ô5_±E-»ÅÓ¹ó†¾Ó­' ÏZòÛª€¬c'Ê^3Æ`þSD¨0e{9 _¡f¼(ÜmÆLÄ;"Eå&‚žªbeƒ*jCK°ðw›Jˆ4 ¥ˆ,^¡1rq‚v)×à}´ê|ÿœ"M[©QXI¨ÍŒçÈzÍ$ ê%»^†uTÑÿù¥BZׂÆÊ‹,'2Ü*Ó¨Þ¾@æFN@Aƒ£W#`²5a‰ÿÄ4ÕZ>ÕD…ñf:b°hy ‚sñ¾QÓ×ð)wø¥µ³âôiÜé TÔ[¥¼ÌW…L,:5&ÈÎd2÷j@{2Ä!~ÈòÒÎýó‡C¼ejÚÄψ"psø”d²´˜º~œ 1ªÇŸ¦1h¯ÆõÊÇÚx't$dœbˆ¹M*wqg¬zãSDûl“ÇC¿[yB&PÙFsqÙßÛ¢ñ#L%>J¥1Ìk9 ’ýTY„RòQÃÅZJUEðE.„2<¡Py‡jrût'SF-œ UÚ•>MœÐ >RªÄ•¨ZÎC.ÀcÝ‹˜ò;P˜GqTpÚZÓ ×DÍmÂAkŸæÔɯöP³ ý@2?ìÌ¢ŸI,£ñrWs u­‰   fŒHþ…^0Ý6QÈ0³&UãgÊ%¥#ûîbÄâ[˜E`J3ÞóXÕ§ÕQ'iø|aÆ Ú¸¿Àž+ÿG?yémÁcî¥zk3Õß!>ÿ}•xº–C ‚(ùU‹d•Vÿoß½íeMYK8KNÕò66ý¼Š „=¶¿*þ0ðX ÷;kÜûQÒoõsÄÿ;óW̹iº_ÙèI_S8’Qø.SY¤~98(±ßÂäs·Ëqª*.뉅qLåë®Ó·±40†$½bP¨A5™Ä=žÒ«²iñoW©ÆÞ¼r2Ñ õ uhÞßJ¢¼Š‘†h¯à³$KLU}àÝú#=‰É“t]õƒŸ|=Ëí,”¡­ª³M?ñ&¸–à^½Ñk¨r;é[rÚöÀ‚¨þ¶Åwè\% ÙÐköîuH}[åv*hGcƒïÙIÚþ‘ÐÍ \$d—û­ŒÑQûŸ8êöñÎ{o[‘óèjW §‰Š¢ˆv7§0KF“ÇÂkN ©‚S/J(ÞB÷O'»ßf€Ì"°‹ :PÆí[ê/±‹¥ýúÚCÅ"ÿ—ô¥þé~Çá/6ê ×Ûpu{g®cOÁa„ï=1œÏ¯ñÇF„”ZØ:Ïue ¸R0.õX–K5-ùM,¾îó•V¯±IÌVB©;†%¡ÚY¦Ê}KÎÉø ñ gbÞš86»º®=†³ý™Nh¦Dvõš§–¶Óôö×pÍ ~Ò¹0f¶–>i/,\€›•H4ZÏ\ŸÆ/ì¬g`°ƒÊoTÏ2,¯ë’à?(ÐѼãîyŽζU÷ïMÛ´ éÌAƒ&ÇBìhõò«1UŒH¯bÜãÄ^Ìæ‹/?í‹‘;k™Šz´Šƒ²Ø“eõz?(mEipƒ°€&˜è:çÃs—ïi™¦ùp;^ý…,½”DHÞü¹25-gºŽÉäL¸é˜z’y«#Ùg—N|à¼ñ`š¡Õ•žA%ÐÁfPCõn]¤,cžM{ªÆ¨B¨½…ü«w9‚,vžMW…\xNŽö¿9é…Yû)»W‘_½AÒùÕÚÈ!WŠƒ»–6!å¿Ë ô#J uÓ4.²H0>*íl7CŒYFP[Zg)©zÕè¡W…)‚’¹ ¨„Tp^S;Ö6̓>ížn´ŒÚ¢·v º÷<Ò›,c‚§²\ê3žT Ï2x:½pu1Jr±ÌäÁ±úô£k] IHgDà‹9pÊAcUœq™ š©®{O÷|UhÈÿ$îØp hà ¡ÛT?n/¿@Û„eƒÑUÈSQçr»Œñ7uÕéKª¹†*+›3V¤,"ꨊë:Š–ù¾gÛUï…Uví+€F žvó`Ár;4ÔÙJÜVgLìs&|P¯¢¦àíö¹ mb,kCOÊQnüýuŽ°ØŸ,ô`|l ÝݦA‘¾~ž@¼çL‰‹ušÁ¨xó¯,¸–ÁBˆ´Ó´ˆ_tÃüÉÿÂ0ÿ‰DTŸ©ëø³×æ)üñàaŽöµJK…ï°kBö·/p%ƯjS™Š»sïCÏË| CůB»î+DÜ¥ ¿´»¯M;Ø¡½÷5²ðöY›ÀŸS"5®ñYP7¦[IÔ—w|ĺüîéŸS5Lµw$Ê!ÖgÌC)¬Áðkç0õ:°,1@~!ç¥nz³+$w±Ò ÒêÙœåL‹âc߆HkP&Rá—ÐL¨oR6(~Mu`7×X@ Äs–ü㬉ݻ±ívt$>8¥¬MXÛ0"å39‹(˜Ù«Ðé)¸”PßÎ_\@1q2WüÃÄZÃoîCGèhi€‘Ý{þÓë³Ö oØôCn楄†ûÛQüEí4æÚ;Á‹Ãcè'º:˜.yW=J†Š‰6ú÷¥Ý^M·^×o MžßO>ØÆ@]æri÷¨‡J¡ðü©Øïz&²ÊÙÞ^޾˜Šˆv>¸lQæë°‹ù’óÛtÍLÓ1/Û‹N$V¥ŽÏ1¶âÛÌGl–>¨†X´•~ÇßÂoúä·€´Êª­PVMH…ë œP… 0Ì|ùÛŠ|&[objA.UŠKrqþ¡é!f$Œ³|Áé`ƒˆ ‹!†N.Ï2èÐ<ÖfEHF±üЩ{À hOª_B’ñË4BÑà‘G^ü ÅÍÎbGÌ_h(o‰&DZ5\h`k[Q0õ߇o›~‘Ͱ(›ä%Å¥AéÀPñ,“%ÒÒ´ü%HÓËÒÙîÝŸokØYyEtÉVs½›¡ay)æQ,  ¡ž!°E%ßš£(Ðw8é¦Þaû|¨€ræVR‰SÓiêHŸ 2´¡ôÀû0áªèŸ#€*w¨â´2Ó«Ã>%Ên]Y`,&å›@TîœáhŽ•veïÌç’«ßòDÁ‰Š5rÕ¦‚ ô fôM{ßlÒ‘KÖò‰³‹±‰»ï:¤šÝ]u@MŸ åžÅ$¨ûáó T|Dfñn„Hž#ÒücdOF"Ö„Eˆû]@ë Eãc¯3Б‚½(⯠ô3ݺç­êåÀÎ0ËóÙ.쬌†ÞË |¶bæ Ñá}Õ‘ Šâ¦Ó¤š7\7W¬Ðw9÷ÕÈ$‰$}a¹à'aŸ‰ìžâê¨Z ýûòI”!ñ3q¾Èyˆ4Œ£»K¸õ ›Cå¥*À—Êâè@Ûaæ´ÅØgÎÁU³bÖÉük’ø´O_‡Óz½¹Õü–…J&Öð°Ù¾6“Æêº’Â衦ÿT¨?¤ à<`Ϥ·eò± aQÓÀét’%áo‹ô(yq-tjñúk3?Œ@ÿ×'l|—R– fPŽT Я|Fþ Ûmu²_•mäÌÊâF½?d|å[ì±îÝNa|£N½‰äž‘ Rdž,ÐGEvg–ÔÁc•¯%‡râwÞ;šYD2ÛæøåÿöXìoð`]4q zÐ2,‰‹~õ«K×ÈÓí~ɳ,–«ÛÎÉ\J —P#ÊMev·ŒœÂPJ`¯\[ø{Ã\3Z(wæ”c½ã [Þ^9ž,¹?Rð ©*î‘‚ƒÒ;IIL‹ÚsO#fêÖgc¶öùzæÀfÆïG6x&ø‹+f¡Ã¸ÜIÝè²áÔ[Av~hÏÈ}µˆƒ+,0Ôõè÷mâKö¶^aÊÙKLx»†À[\øgæhØ4"‡\¿„Œjó÷È•`5XÃz¶¿Þj_U[ÍL™zoî£çQÆç+ðœâÀÇk³dq·²"23Nb¥)jänÒ sãEÍ£Ñ6lÿ¥gýK¸k$PÞdÀ^2·u«VáCzÙ¿e˜&¬3/ÿØq4»ÖðÃð:»P†³ý„¨”«ÐY­8³¢ô0,!Ð{ütã ®âQÆÇþUè6†Ô\€àÜ"J¸–å+ƒ3 ZL£æoI¤­(î$Õ¼Á\¹´J™â^¨Fuø™0§é»ÛY…îNsæØ#ÏxwªÀ2/Y–ñ· µÎoéû¯Uî©ÊŠÒÇÀï”8ô»ùHäÓ"\±G$_‘®ï†o“àkd»¥,>VùKwç2MÀ³sìK£?%Ïî»bµ$ûúÛüÓØ7ÁËhò‹pËÁWGàT/Ñ#xWI…»×”´….?½¢ïQ¸Á.ß ‚ΖŠlJ—‘œ[“Õrt7ìÚ&oŠÊI¼Â”?ƒcŒ·iApq¿ãzYa–ƒê²·Lb÷˜?dÃZ\Ñ;é3fF€Ñ;»Þ«&gXy~þ±žwÚàžp‘ï&ÄéÉú ´ìZ“ê<øLžÂÕp)%ÞTdøGš%9\4²™Õœ?Ub:ÿ~dÆ~eȆS@Ö–ó0Õx1Ìòý®Ž}åÓËC¦}‚"ÌF`ÛíëËoîå0£F'ØQÀw+¸þØfÔíáu¢ÿsG¨À ´+CÆj¸ÅÙß•py¹æËR| HùSû•Ũé6SSºíz䊶ÌjB6åÏÊC¾]ðFæFˆc9nÕj §fßV¸ëe  (¨2'‰‡QßM§rLææA9²qz1ué"¾V¼Gž½Ú‹B#hBGó‡÷B¦nev Ÿ8úžÝ~¼J [‰ 7ðC92ŒàQçoW;ÃW:,#– Ý„è®2¬u^N”¬0‹80õÓ:ṠݣÓhüç¯ê8¯íꃥ÷’EÐßsàã N,džQbøÙ‘? Íeí‚Vd£RÍpuÝ¿¡Ïö¦XW”}üŸE¿‰$ Ïþ6&©°Ýa—ìXiÀ§?È&Å•IlËW8ÅoÜó Lv'„ˆ<™¨ÉÌØ\zâ‘Ý`¤N:¤Ðåⵟøþ%åíâŠÄÌuƒ¿nÞ$ŒRèµñ»67Z  Ûœá¹(&0ýŽÚ-õ¶­(q•’’O8×S;}ÖFó¸äàÀ)÷Iã¯Ä_<ŸQúÂdËgÓlÄÀþÜîÅãmD·6¤S0€åimùÙ`ÐÞL,^h1r.L§ qkµÀú”e6%Q¼òÄl~]ʸ¼kRŒªŒ‡ØEé½Èlû•ùºPåncÛ[C ÿHoÓ®ILnô§ÃúHký[ºÚš³AFÔdìC'\‡^74'.g ðnB7ücSÝ‘^®½RâµîPÇqÒiíݸà }§šÁy_IQ-~wÐó§y»®Muyƒ-æ6K#\¹f™ÉÅvÃ;Ø1´QÔ­É(}’̧ ÁãÓ‚…‰w9vØ¢GÍV¶ß*\Ï¿d0h†—‘9j_`D.™Fë3pñ»¹|»V/AmCðøw#—™®ÃfÏ5 “Q™ë°Ó1IE … Ò±F³@ !÷¬…æõs^§ýcw[Î-vnq´CTR†÷¢¬FÎ_› é ûg íØù?9^‚KÆNY|Â]M[ûJì1à‹Þœñ‡ TϦFÓ!||ó©´òÊëí5$ø’ÃP½Ûë{BˆÆ®}b ÅÇ14.zKã¹”ÈJ¬=8sÆ\“cÁuD¥®áÔ·E&Þߦ:$c¬XÞŽï«’u©®Ç¹B«“Ç'ÍÝK"ªìÐQT/÷çUDz"ˆÊÅ&ª:ÕIûÑ †(ÂŽ €€±dFßü[ã—†V ·æ€e­p+š?õÊ— 8/4,Mì»0Ç ¨¼û ôLÀ4¦†Ì,éùM»Ik·GæVߊÖJÌ9ùêP‡¨kK…ŽáþT…ÈÍo‚˜Œy4 Áw.¸÷²ÄÜ=€T)ÍbœnŸû÷£­ã\,ܵ÷ëŠÀ½+Z —„92ÃzãÍ€_¯Ïì«aß9þTåG…àÛÐ+…MËô6BÚQ¡ÇàÖ‰$š};T™ôõ±yOrfVf6j€“®Ö“Íšµ&jšuÒ³íº­óžl’ØÞÕ ZŒÅ o].|À$Rçh–»Ý[¾gNeõð:¼—i÷VÃòÑoœ¤›´ÑÔÑn¥G´ bÓÞ‚s§ÂHâ%CÄ輽ÊãùØzïqSÁ-"4u¿W¬¦ »D~wüb¤Hl¶[}"“ßQ‘h u’Lýû®«0úãÕàç„„g„¡¸A^E £4,Êtyœ¤@àt£â>ˆ´ªˆ^)Qo¯C<Ód7] ûZÃTæù‰Åꊡ>™ÔʽVi6jóN¢'Þ¢N Á®ˆœiŸL¨”mÒÈ Iæ³^v ƒC¥1uwæÈ)‚X±õâ†úK'©Píd´´ím‡áðJŸm€§tƒÈ­©‰â«©;Â4&„rÒöb©¿x÷è$÷Æ]ÊnÀ3а.†F³*)èPÓ[£6{ТÓGüº(N7þ+ºÄô-™þ¥« |gz$ M²ŠA·\W¸«;Ín/ÁT ã8`É&%¥‹ûiü÷ð¨.ÖÌ x–wµÝ×Vzk$Äž—²‹q©Ã¤’È  — wi«W ÛÖy–Ä—z†€zÝ“ûË’T|l¡âW .zôË®ùÈ:>¯ÜúE_ôdËtd­˜»KW« BcÛ—°ä䈽àn®ÃÙ©ÎdptÆQm-?ãMìÆy¤ûá…p9YŒ¦Cø2{X_PÃ:¥úXµcuÚxÔL>ʘqx€0‡ˆDÃ<zø’óŸ˜ð4žþÙ¢%M¢±ZzêQ¯Çì[Ð#„!÷Šr ]0#Ù•XÁÚQi¡uL ã¨ï„¬ÓÙ}°N²©š}å0˜KWHƒð0ŽäCV¨m`¸ãó2³†nj6,‚Aùç´²ÐØÙo #ØghQ!§ËÃzþ9søÇزx@äí>xGÒ°‹Ÿ ¥¨>ß¹ !®Ü?\jС§saGgß6Á6ÙМ@g yFµßCû+Qä¹û½ý]<·~ï®…oÛꨘÕcsj°cm?!8áûèPÅâ˜QÉl‡Šˆ ïD°•5ú‘v#“dìçØ0ØCÚ…Ë­Ó^ %NÍЃèÅû®ü¥áb3¸óJ”T3®CâDÄ·<Ú aéRÈæ(é” Óì ¤sœÎ¹¬­Û¼Î\ŸHBÿ0©ËŽóæœ<ß´c˜`}Q,èâÑ6R+BuŠ<³3=€fBö¸c’3AŒ÷4Ãë3iØ„2t4‹ î³Ü34xCh¯±ÇÙØj½þ@úc"<“‘jÐ÷ —: µå`>†MKÍ¡@ä– ®…%PRÖ£³’FjUÊWU£›6@ÉVôæûÏäF x)Ã` c†é4ÆjŒ¥8žÒœýsLÚ<ÿÐK¦<Çx²ŸY`é÷©Ñ„wèy9Íc9ûÕVÇöÀe Pżô^( 6‚ý"Íäôº® J'€õ’;Û³C–>è„ÌÙG¥JÄP  WFvf·Š^TSP©üs…['ÿZíͼöYQ¾À8('Â&hÝ?ž±Pò¥Aëk§ø•ãƒ7Ф JÇ®~ø6jÉ*Ó¬zmO‡.e܉}5QfxPKD‘ú=¼ü§ÜccÌï´|}÷À &Š&·²LñÑDÇâÃ:á*$—<— 0äß«Íã·ÇHLL2.:ë¿éÇî^¾d¤)ŒÛ—å+©K™A÷ÑÙ‹âá;´RY¿‹pß]xÛØ’WÜë¯^Í: G³g«ñäS¨$ñ/7ˆçÂ<èo´¶LmEÊ­mbs-uì`´¿åæÿGõ_ܤ‘Ù-ÆXU¹ÓFÉïÄø8ßÙ-V¦ÕaÝÈœ>rð¯Í¥š _Jö fhÛøÄÇÇßÐø£làwíj䙜,¥Ããõ¶îŠÓ Ù™ákX‰¡6m’åjÃl¬Bœ`7ì¢Nÿ=ØÔ8i‹wMu¸!(‹à $tr9˳ò9c¯â~Àše'ã~™È¬IÇÑ-ö«‹%—k¹7çÒš‰Ãüö?Ϻš ês‹ )DRÖšžq#0€„Q:Eéewѯ#ÍhïÐy»I\¶Š…ÄÈ׸ó¿uý7®º2ºý&ì5† —úCØ<­K›1•Í0|2\ÝùtÂI‚ïÐçÍÞ`“4‹|™È?•øÓ1 ^j„ÄþLg¼RÇ=t»:Þ¹ˆyÍàú”úPyÓLöó9»Ã´,GŽZ½†;o²ªªŒlJ³Þ¼%uP 0˜µËx;EŸœ;ÙzNÀ)åî}îkg\ýZ:…½9PÝ$tÒy²Ç&Àϧ‰†Ê—;ó‰9‘±±½†5‰]—AŠwä/½ÍaºOÅË{¢À|n¼Û´ˆ …Rý@:ÕžÓWUâQˉŸr:K®zK[+qt©¶ÞB&3û=˹vˆûÕFç¬òô!)*âs~!*Q Â5i¨_dÏäNsðö•Ý€¼”€ ›ºiÅÐcUa~›ª2©Þ ŽSò¦Ës¶Ë‚ìš~¥Ý‘@ŽO)Âé{ú³)»€Í·P–öµPžàTÈÝë!".(íÔÒUê5ð(>58P S­êðº®spOÝ­¡~rÉ㬑‚€|â£"ïVÀ˜/Émÿú±ÀŽš÷ô(Â9.)Jî«r2…XB’ä{î01.äÚl îè!ÏCègzІ 4x`½òQ†NµJà'Ì0~±jÖ!ôK3켫R$ù¨E¢}åžAÀÍÿfû˜ú’ÙQ÷OÆ4óÿת6–òؽrˆ½—P¹ÇOôŽ‘6Ë%Vùü^-5¤§y0¾3”|¡„zÁPº¹è£¢»;—€.n§‘°»#·—÷¤Ûãí¾øŸ•ôs”¥/³tŒçöD* ü)œÏF?ØÎå’…cÛ’šW°]è7lxaT³k+”qoÊ`H­”$‚¹¡rü÷¾©{p°Èä[ɼÎR—p6@:JŠA¾‹hi ëÏn{¨P××Ùð0óúÓIGÛS72=pE³.é¶r2|®e`fÆ9o%ˆ{³¤2}Çu=[­™ëÁÇ)vɋ֖£77¾H–ÑBdé¸GŽêû™¤æy¼Ú“0z51–xz Æ[œ ©jAu}R¯@¥aR&{™B2u€ª0s£Œ7r©!úýÙÏ‘š4ðƒ)07½ŽC7ÐG8‹Y©9Êt±v˜è)Le/[³wšM~ÃåA£$UÈœQ˜—yz5x +ÚKv-ÍØn©¬óà.‘ûã­^Š16î‚|÷ν¶£¢Y¾â6Û…þ1ߌcÑ-E`Kì°p‡ýe'ë8 ÏK6?¦f[(ÿUYË'„Hã³DPzÿrœV¥^ó¹ Z£W•âׯ½¤B=Í«U¸þ-¡Ö&ˆèˆûÙu».¯0«ûæýÕØhx²ÿZ˜ý°‰LvAЧädžsf¤¹Z(lƒ†ê­içÿ6Vª[½‹ñ|^¶ ñoÞŒûc0õ/ÿYû”>M€¥¿8Ò>šàV‡ê®SI´º‚‡ Ïì%À_\Û¬ª`¤á˜ºU~Hb¶'ö;Ç_‘K:§fágîÙöê°-Mç¤ C œè´ÏÖ¶R¢®¬œ¤û³Ú£Ì‹0ž¯›iWWÌ–\±£<c…ôåÌÌU¨°"3?BX–Tþ3ÔG½¯ØÔ,eÂ4NèJã©N —«<›1­\ÖÝzkGY$zÑMbsÎ6'cœ Xäû º¶¼dáS+~hsiKªJ©I¾|oLªóŠ8fÈÊ zË]âéÔs"¯¯ü.¹IÂïzléÄï„ñràäæý€·6ª‚º÷~ƒ2+# Q¶sŠHˆgc ÇPŸ£ˆZ®Is+c«cŒð6ŽW±‘7_êmX±ßtêžÕaTþ´MÌͳJÝSdŒ5 )Y—¾+X ¦Ð‡0üc¢²…•œ“*çy®,AØñ”D;“µ Oª¦Å\ŠI™3ýQÛ;x]ˆ»i³«Yx.[Ü›‹]Í£DéxÛç±Ñ\éõ¶ö 2d¶ιäe-¶%WyãO9‹qìøáŸ'»™Ð®HÂ¥€({Ö4~ªÀ¦Ì"”ÛsóåN-Õ@—Ö¾ÿϵ+ºä½GnËß…ÄKßH/ʲ)Á/ç(=‚š—Ž\­*EBýו6c.J'U™?TÖp2¼ÁÌ()Ô>þgÃÿólGÁ’ìÖâGÇ ¼Â¢õ€Ä»îÇ–ÔL;$¨¢ q,t’!Ѫéó—pO‚dn½"µdrD{ºzÂæ¤á۸雕å>¯´€df`)Í -AF‹öó"Ó‚ö~bIðcÂJ*§zÙS¡åÞ;˜ß œêCÚ´-¨œœîU¨)¾É½%Ò“RêGZ;î&ÝmàSâàv R±PðMÐ Mè̘ó"ÆÜ³’Ò€OhÚÙ'êvñÝîõ¦iiHéY•ãPÑÅm•ªœä½oGe„²Ê¸‹/Õþoê±MHªªq³uŽ ~‰DLs¿°RñêõlãC#?³èÈÒ¯XXU³$7+tÓì2Åù ÁLë’R¤Ã"EwÛ;‰ñt (µi½~ëH Áèì‡7*<1DB¿®[Â>äà&Ã1E»e«MÈšm)l…)™Îé¤ãÌf ©{ÿÑD÷Ã,Ì·&k¾6ø(µÛÜ è{ý‰ÔflþÞeŠÍ‘p÷¤íV‚K½ e%ý›&¾üLx¾^R/° äàqdänaLNˆr¥ Z‰Ëq#káðãvÀÄ—×Ô-½Ê“Ô–¼RûÂ4)§sÇD°ú•-”Íy¢l• ø R\À—ví>a‘Ž }”­ûÅ7Àûæ#(“ÅÐÚ¬žÑJ™cA\°}^õo3?˜–iâ» Ëø†‘ ˜2DK9S’É}Žæ¥gLìÂÁá±Rå„»BÆwY(®ï@ÈÑøùàÙÊ+xRJ„, Ñé2æ¹Ó›×÷¢u«|ykZZÝz9by´Æ1lûnýyaØ{íœÈ¤1aMä~…YW›Eå|ˆÄtÊ ]4¦¯ „?qg* °i>¿Â2 %¡X)_bM›q„èŒSÂÕéÎ²ÊÆÑó¤YT4i¨Š H.6¥ù9FÀ×òoaÿ'‹D˜°'e+Ø}ý•D9`OÑûØÙÉ=´_«ä€ÄÄŽž0˜séð–x¢z5IñÆžË {e®\T¹3"޲‡Ú¨ "š2¸ëÃj·i2åEM¹UµŽ©·mqàco6‘ÿ§‰^"&}L˜àzÿÞI$u ƒ'Ó‰,}Θsaæõ2Þ'¢ª˜­ÿÂB1“&a—Æ4§ÏÌ«Üùé8 ]Œ=ç¯'*'¢7RSȲº½6­™ %"û[©ÉX,a?0ȨÓͯ»X+çu+5(´âAó¤s³çíQÄ`§Ì`Xr?DB@dð÷ÿ}ŸDWa•xr第!W!à0i×Ù«ÌÁž>Z.Æ¬Ï ¾ã&wò|&Ü*â%„gݽvW¦ŸýY„y¸§ÏÇΙMGÇBŸ´½eá_ÎK­Äšª¬ S0.´8‹ç³À­CðÜiÜ”¹c´vÿlרWï1ùç?œ¸ð|áŠôDmÿq"s‡Ê. ò´m“‹žtSâÇé èÆÿCˆYŽTõÜuL=ýÇ<Ú:OE‹§Ð«‹Ì1!)Q“ÐKõÏ5fYþ8€1`¹"È[û`*×iÛ¯ËÊže|{ŒîÛ»î8GWsŠ YnmRÂÏ­ÿà¤1Ú[X…âR>Ÿu<]¦p D_\= "ÕÁâu^Àº*„ ádFÞÕÕr¨_kèÄsás?}Dç1äÚzY×4kü$MCR"±^“ð:®®.ü“QÈÔ Òqó^2ÜÚ¤æz¸–¯ïlVƒ³%ÙÛ 1/ʔʹ“©|ϬؔÂPOžjµQUh"xÃþ°¢gÙjIü¢½P8£ð\èÑ@N5“~ù|{¡aô.¦ø ‹Ã±( J–>¨¸ŽìÜtêìÑaoË:n[2]÷ã¶JƒB”(ÏÑì\Û<†œi=Då´Õ(aMÅ 2¡H˜å¦B¯Â­îoƒÔ3*±´›[z­BÝ–çH˺û·•KÜI{q£ýy"½|‚zéaéå®ê,éÞ¯Ž™=Ÿ)¶È^,æ®G³ûƒÎ*ÃðW¾Ÿ°ËžÇÓ>T3gµÏL^=*ßÀIؾñµ-û&^ÙRŸò/ë 㶸€÷>t[„7;m¦Öµ½L0Ð#°6ÜA2 ±RÌÄ~F ‰Nè+¸‘·¿p)ô!’UE”[$½mNÙX\fú[†ô³…ÜÁµÜušºFG6äH&•Éç|¬Aã‚<-fËfèµ0y—šYZEÉ¥~?_á‡ÕxZ ¤´Qήh%W±ùŠ .­ó.ÀÍøÌjý~KÇÌDV‚ègŠÄvúÖv`L2ßeô§ÑÅì )évÁ¶ŒöÖ¥¥GµEÔ0:î šÀ®2®r÷xÂ:Sö2Qh³ç°6G³Ç ½S´t"Eßy+v1œYç2HˆÁ9ŽÝ=bf\+Ü%¯œÜUkà¼!ð9£Ø)>«`ÃkëÝk’Ýè°¾5»T®šÓ\›Èy¸Í2¨ŠÈÝïŬãÇ”•FÚùCp±½¥³O.|hí¬x4¦: ^øfÛÏ+uŽÄ>FT“?q›-?=“Bfxí{ÁìÀ¢1âÌǘpò'"RYþ²W>¢f>ÕL(ÝXÚº°P)ÆC-kΈù8Ý+ݬÅáÈër3Šå}¦â£-kׯ«‘>£÷¥s»Ó5ñ› Âü•fx›|›ë•µΈ`樸?Îw­ bAt6ê[á¢ö›ß²-.Dp³ù +Zi)ýøü¹^Å«—–ÓC,H®}ÉZ:+´–Ñ´ñ›!”³%È´Éç—ÝñfE4Õ0)[ e“9 öÂeö$^MœTZ»2Í6èošƒê QtNwpÙì+ËxÅ ½\Íщà»7›ö „eB”h~–lXDšSÿëóÿ|Ý´€>¤ù·àÁ³½ÿBOc¨õ?ÕJÄ6a‹áµ!(°Wgí„G›—#¾Fý ¯çvtè´Î¬#"tã4Ôkr«ï‘Á9":ؘš]qvIÒ’ÝÁömå}¦'^ äùx£,­\»¡Km3cLÞÆy+ƒ‚u‡RoɵîôeÐN„:ßnBy?iÙË6w+£Fíã=¾QN”sùt·Ã^\frIDjœþìª( =pβ\ÐwüößÂÇAhd€^êW?Ù+h±vs´õMlu¤•¨¤9»q@E@§£Ä)øU‚ðõÍWÎÐùÆö•}ûªmrÄm¿z µ›¾x‡ß­§ÕçDg4­OçzðÜTÇy“ãèQ"°qƒæÙ ¼N¡’ FÕøÔ¾Y K}À ÖdÐþ‡§;Xœ^ôp°¬hÀú´Ò£\ùØ*VäÄó°h)Çø5 q6d0V¥ÂHIŠøöª$å“çôƒnþnjWMÑ&(6ï×O¾+Ùœ¯ûA"E¿„àü@"Ú„?z¿8Ðà³Ñ ÷­åOPa%ó80Rx:QÃÅS´àí<spî«“ÚkòÔ[½M ›Ö®üÍ*¨~R%žœÏÅ+"O`#yfÆM±°|¢BH­YÛxÆÁ“@<8ÀKIõ¾þìIÍáΚ \eˆûÈ’ÖÉ/†˜w¿mgËÊHŽØ„ê2hbˆ)ÒîbmTˆ ¤=¾ï‰(KŒ÷ÄÖ2$/â=úS–* èñGÙ”|g&‰ Ê^úÈ$æ)q+iw›–-Ûûúù{£xú´ò9Î^ÂkiÌvxüK{׬Éh¼í®°õ³Ê'&ê}ÍÿJȆJ Ú·µh¶0?­+ñ,oçOF@ñ’þaÀƱ(\Wד4éý—«Ü/=ì}›s”&3,á2ÛíUö’o5ÛAòNIéTˆž5#Q3W&¯Ý‹°Þ˜k;:~ôŽñvè[:Ê•v-{îgþ(”‰´`I_ ’½¬±) ÏÉ á½Ó&Ùc€5±%U؇†G¯Ú‰Aˆ±iNZO)仯[Žë£¬ÈÔC&]·wGIåO2›î(¤GÝdÂŒHëC—NoÚßËàúl·¡ˆYœuEajäQtOhKþÎâ.DÅÝl­É–Øœ–Ѳž<÷¼çt"5‘J•L(|”¬ |Ìè ''ÓçÃð1P E „wW Ÿ|á ÔÊ%ãrC¿XûRé€Ý'°=Ã*£–&îë é×a&õN Š×ù” –-êô¨ál4ãüOÄÃJ(湕ÕNQŸd„ÝdÁU›‚bï"5ÍŠèLѪcqêpåÓyHuVÕÓˆ‚q¤kôm˜ÅØp]hûç€u­Ng/kîíÏí耂‘úLá¡S—7ÖVZf„<ªÄ“ܵ»F8^FaÉ9ÓŒýÆRÞ/Ç„«â•…ã¬î]ôËSë¡Á”glHóP•ãö%ûԀɧUQ&ÿ_Jµ$n'2õÇ ¯£Ò?›U)Íèò¾Ô}Í<@XI¯m“Ò{$ùË`ÙÓ©ˆìÂ7û‡ªªi•ï!­^ØP99";ê \2—šR†Tçs\¤[‘ÛÀLí©×¥)ðuïçÂØÞ:ê6^ÉÄ|ÄîìŽ)'ß'ÌçÖć_áyÖÍ*ã WÞÔÂᤔïKZ{Ëìæ>3w ù4ßE_§k8ûÎßì§F1­ÀúÆ©/ÚÖ%{oÖ¥˜mR’O?x¤´jÖ óè圇Ȩ¯'wÓeêfZ ÕJÉÅr$¤«+ˆaõ˜$Ì|]&D(H„5™2NÊGÒÝâÏ$s™Ì£f·fø»Ðhö—šŽãK`4\ z\ü¸±«\‡º /hrù¹ëˆŠµž†¾¦‘曥’åç ·h­ þ*ÛOTÙÑÈ‘¹½@­ÇÛªfkùfGCMÎX2°*uÑ=É]ïÕÚØ¶ºaôYPoÉ´-; [¬~š#8î®üUæÎíÏýöÅâç@|¶MéDÖÒsÒ…x‹Gv&‰kò)ÚMØ_¢pöV.¢ùSaÅ{‹×ÓñÓ›xðKç;˜ÎÜ=%fXÓ§dòkM5 òæt¿¢ð¾¦Y5¡&XJ'¾‚ìG$ÂÜ·g3«d)ü°ˆ¹¢ƒ˜KÀç*ÒfÕ~–ðˆº~-'ükÌù"E+QA‡šŒdÀ U#aZµk´3 ˆ÷Á ÉÒ iÒO“ ›8ì˜\꺦'$Éå¿pˆ°†•]òn]Lk_]Ä:€ØåníòN_†^Ǩ.²Î½L?¾4_ã îÑöº7»Ï‚óÛö&AÐéTU(‘t3Ô•oB4Uò3ú±P?¢'z”8ý#«öQÒß¡ˆo3@늬=ïnØdu>µ†\Èe¿§åÛ*| Ö*ìÍ÷CæDDÊÜîÕGžl·&ß»ˆ5â{êf=þéPQ ǰŸìbaÜXÅ{Ï¥¬«{Ÿ¹”—;ö=¿ù$ãÑutæly‹èM‡ BoxÀ¸Ïºï’x–úuWÛaðË ñ^µ¤èË{ƒ9u ïêä% Ê„Ae6cnãÀ[òàZÈRù›(”e zl ]ÕmCÅW@(°Ì ”ÚÑY¦h€ÐÛ£4ë¶Y`"&ÐÝð[˜ö²AÔ³ð´õ(½®@|ÌñrZ.1oÂeH©GC환²4øðÍ”²0ÅK‚V=Vgü·OÄWXþ䘛[Ò=¾„¬$û0àu¾_…? ØÓßi¥~ÑÿΘècñÊoò5ÐÞ}£˜ä>}¼è»DeGFšÒSHeÁÖTÓŸ~zqÛÅÖ4ˆ‘ÆîÊ ·á*ýÜg¦Ò¶&k¼|„¸66‘l{B!ÈAw„ ÐV~U±”y”ÚãR韑إ¹<»QÒ§DÛ÷j%4ü…ú •U•ž%”àcI2ê©Ì¹Ü£ óò \Æ™¼¢‚òÂTf€è¢Š†ñÜc—¥G[·KhèP]à#¹ ¦™¾¯à¼ñpƱad]ä'ƒà-wÙ­X´K×¹t߈kYÚtVi˜äÿ/Mˆá—æé×ÌQèM'ηHbÒÜú Î"bm2¾×s ¯ôkÅ:ä9ï¤NûÁô$jbjÃUà.`æ»ç2PX%AÏ-r}I†ž:ÆÎ˜rsvá$nŽI¬aŒ»P?ÿž÷CüƒöüÔýÖË‘÷TüióÊÔùLª,{4“p¥¬Q>!¤õr­ºÿNÂ%[1Òà)*¬µ™ M6ýçÖ︿ Œ^ŠD¦„´”©b õ’~'ÊRØ ò+ï+±kU[iˆ£ù‰„ˆÔ1´BHj±©X²†l€UŒ5íµm²ÞoeX‹PlIÖ¨´ÄÂg8æÐt‹çlL˜5—¬OÛŒ=^â h#½¹áXelÖ}»{¦_lTvÐfÖ¿LSY,­A?c&é4ä&ͯ[%ñ£1Œî`h^oÒN+•æÝ2³‰;[Þ›x°DËSà‹,j³àg»{Ïv|*°¤Bðé.ÈŒÝå ~rö®ÐšÔu™kìf×]ääÀ*~7{VYÙiÉD%N›DÔ›zÄA[ÐÜ#ÒƒÈqº+n¬¯^a•¯,M66Íÿl¥ß½Ç6¤ðÒŽÙq§•}“Äà†:lÏž\AQ¬0E º’Ôÿ#?k'Òð€8!¢0ÁCþ·¦W Á'¡>`i,zò@ÔÁN‘Çÿ¶ë‹zÊ üÆsÚÁÞ½^@(% >#ÆœaÌHúpkò@ ‰ÊN³QºSÄOEY0BògwþÈ™L!¨R¤C£åøO¤(cÂx:³òØráÎAŽÀÅ{ÄÁɵ‰õ—« »Rö(Ìš’Ü©÷5kñ7Ø@*óËZ@k¥ûe.&^@‰ã8ýuåêe_õ{¢O%ú‚PC)Ot(¸×ÈÙˆoUèjÉÒ!ÌŠ§Ø Ip@;W}INPà·\¤æšÔ©zð51#–륾d nÛåFUJÉ vùÄQñÚwÎßMD]å}ˆáµnØ×{ù^u«ùSdîN¥¤Ä5)ZÓý´”<Ì ë³ÆC°ºV„!اU ½£]bE³ç ²m¹ÉÑÜϯ¬‘à!I>?Y`=é™ÕcŸ¦Þ]@4l>PW$‚iÆV1‰·N§c§øQÐÆÓå‹¥Z1âÉQJ×+©5ä ¬ž†ýXt›‹ú¿è9ðË&C¤|HzyY,&ÊùÕ†?b„‡BäÖ‚‰Ä ßh¾Æm»¿¼ï ƒXp³ª— Ú‡Lå4⊻á ‹‹qŽ[N¬ ªQ^Ê[üÇR…gJ<‰0ÇúvÁ…ÐjXm¦(•´K(˸ãÂ%²å­€—ߦL;‡'»Q¤¾,‚7ù–JíÍ S©2¬+ÉÚÅwçƒòL”½ y6»‘ð†‡jˆ³Æ'HK/a¶Í¼Î×&Ï<3Q‰M1ú&›ªaìᙨŒŒ³*„ÆÛÈ÷ø“o¢{kÔ€ù憕ŽØ¸Qª‰“ßiZ¸Ü_[3°ö=jG£Ü…¤ßø`Ã[¾ø´QJx˜KD : » ÑbÔY„F uFîxýÁ êÝ/QfU«ê— ¢õ¥×S^©ŠI9FØý¾ðú¯èý¡îìi…œ~7†¾7×™Ìxòh³uº« âR¦f•„ètñ·ÞðÎüF•Ô+¥¨íµáÞw³ÉÚZF—ŒÇ™.ì8Ò;ÜuR›&Ÿ:.›åfݦ²;QìÌElÀ! é$±}ÅRAÓDÓr'e¥ý¥\ný»‹Ž—Éj*ía´}«»—«Ø§Õ%têN♞ä\ÿ‘ÐXK5—é$‚ ×p¹'ç˜aR ½!;ä”3.½ÞiÈQöL¦wbk¡R4:mI* p ,ü”ÓYƒëžÆ\5çÆãÑQ, á”úºlMÑrZqŽÎ„’Zˆè>1’ü¬eåƒÔ:tIÙ 1µÓÙx1œ(–o¹v]õiáÈû1 `HL#õbÊMÙAA± ÌCp\'>°¤[/IIm¾“ wmÿ“,Q_|•¡Ë?´IËŒ¶^dMÂj4‘P ¥‘á}–(LRþ-ã‡QÌXeÓf §ìtÑX,ÏãGj_ùº6€–íœøD"2€-óÎ"=²WðE}#Q|ž$ µ´50j?·Îöëµ6ÛQ¹4'V´iºÛ"©Cjð‚“UÛÒíê’êQkÜÅ»´ƒÉi1ÊɶÁ³8ÆÒBÀN´?WüŸ¶p»îj¯OtZ´å‘mþ£Yu.¾–A >5†ö‘„îV‹åå2t‡õæëŸ¦…ÿúÍeY ÑP©²y½ÞÒƆf!4-a@ZèÈìhúûFÿÕÒT‡¬gì±ýPû$‡G<™¶ømA¹ý:•UQ¦Ôåö±wµ»OâF"8íXOŒ2w˜Íñ{ªš¬”TC•4˜0Ÿ6Žg‹+Ý«˜èË„]W <¥e2¸j]½-»RÆœ„ôú"âý TÏ…tã?û"ä²€ÿ# OP5`ì’¥B¨.íÉÖ µ_£efL‹M/ð²Rçæ…›ÅéÏ ùg°Ê›y–TÑMV­¢ÔôSÙ‰ îóTj ‘gU¶U$F^©ä÷ª?)qT“y\4Î "3åÇ©à²ý ÃDzÎKÜã4ö¼­Äm?"ªh™HÃKvˆ°¬á °É-J8–ÅßJç3¸<ùñÉÎìžÜg‡˜‚ßDV®C iy½Š—Ê/ÿî0‹7ƒŸ{òe„0HðD)önL$îö‚žj9|mK,º  ý^º‚²fEÂ0h¨1¦Zï/£–¿sà:Ôò=Op1‡ ·ìú5ðñQJäÔw:Z?:¶%±œ<‘GmÁ&I%}$ ¸À;ú»Z]„N+>肼A±˜Ît€pîDtÖzI")£xN¹÷ïM7a±ø“œ¼ÔXÔ¨g@¼õbž‚»Òèòþ#4Þ¦*\œlVÓÊd ÍeŸ¿_)³·º®ÍCجô:ÖÃГV½|Ý¿‰ªËÐsca›Ç6Qí•PðåàÎZ?ÙX9ºŸ Ê«â©ýPÝ*¥¼îôa²Q:¡|¨½Ae}Fe;ìc"SeÕÛX%±5âux×¥>7ûuöë¡Æ"ä‡Äl.ê9àX<¢•gw‚`„âQÕýGÅÙ7iÆ€š«yá/¹‰9}ì~ê1!PÔE}¤)‘ÕŽ<ª* 8Ê?Ѝïl0¦d¿*ù/#ºš‹ü¿QtÀ¾à*.«Íç8ÆZw¼çn¬íg¦tÁ§­«‰ß•ùÿœ1òT‹Eî,×þ¦–"A3µ–@“þÍgºÒƒ s2¿£ÑðÓ¶ º±+?Îån‰ˆ¿2ÌjÚáÜk V4ÅÏs-ãb×σl•’¹œ*ÖõÀÜdî±›2Ú˹VÌÒXõwSì&YÎÙÅßÎh©ñéœì¸cÉ‘1e†¾ófåX†‡N{£ÂŒ«ú¶Ç1íáñÁö§G°–—â ¡%¿¤šPžõ| f¨ :b¥}éŒlKÌ‹¼UÍtkƒæÿª°UFq>ï1P`;¬kö%Q©Ðs³jêãq!ôî¹r¾Lk"¼tº‘1DYALÄ ƒê˜Å¹nmÒñH“ÈÚ¶ør«Ù¾S!S3Þ$²04ç¦ÀµG’º2÷N•]Ž,þ´=9…kŒñO—ŰÀE•bð”ǬÁÆGÙξü Ö‰i³‚Å–2Ìàý>ÃÕ{|®\¯Û¡G¶0ðH›Îº[W(§¨?ã5âwÐz2/˜ a,®Êÿ~úµÂÔÑlM„\ËêÌ-bqÒü´¿Aä«ê²hD°ÌÿVvs&&‰hÇóQ(E;‘otviâC¤„Q × ï²üÓm ÓükNUÀ€3‚açÆw°n‰+D™*Ã鄘U‹/E]]0)ú¹X ɘY ð$4n$Ž€‚7Iá!ÁÞ=Šƒ‘(½ öÈÅG åÒ¡ž"/C˜½l‘ò¨vÿbßêÑÑëÆyÚúÿ÷¤¦8Ë-˜o,eÕÑVî¾ÁdœÔ¦c8Åiß0ÀÌ1Ô\Úú÷}§jÕˆt#„îeñ‰ÿÙ@‚‰5å]By§³W–æ­xeçGpC¹·Á#HôâNœQ‹{â­4%QV_Ú.æ-àß¾ƒ÷æQåìô%ŠU7Q±—ðäÓ¿|G”Ë[è%à#CXžcö>ñÀúÝ^+¶ÿÂÆ·FP¬ãb†ý„EO&ヌy‘'B,ètb]2L˜·”8n÷‘ÕÒŽž+dâL‰NxÀ à¨K/Èͬ3Ýœ|mñ¯¶lÎ#>?Ö­ÔU•Äîý“$­Ó—¥ß¥|Oq "Ï11íãv)Å7wççZªºl†«T¯Ø¾ß ¯¯»`¯F6~ù1¦Ž#ô dûpV Q‰ð?8;Ä­³Úþ>ï=Ú^:yH¤>œ‹Z'†ü}1j?'Û‹Q²¿1FP5$ *‰’ÊÙøâР~k@ í€ÇúZt ‰o,¬„ Ã**þåJäOW³i`ÿ+ßDêBþc¡ÿáÜ.¸;†æ£Lúên¨GE¬\à e£t]²À±ƒŠè§d~ã]Õ™mVY¶2+¹¼(ÈA¶zc}}µ\YÊOßÏvæ"£Æ7‰…TÎoq¸ŒãlWºv2ÕzÌ0|¾ç€Éýy·B¼.[/ˆþÖL¶!pmaÁ·iq«vãô‹)Ý-šþ1t1glP—ùc@³0•t¿_ˆc4–Bv¤ãÙ`eöüc”i¢¬ÆDÛ@Æà_ßæÏ2òV(î„Ó-O¦ËúX+×ë¥éFAaoÍgŠyj×Èfù¿% ÅZ˜Õfœ\Û…2rš yÔ“S…``+ÂOΑ85úê¶xòÏlj˜ŧ4iª¾±+UœQpqwÚµ:Ûþ{Å»^¢À=ðÃý8Ò-\l9B4&’Q¯6ýCíãDú›‘ù>C L®¤"ˆ}_¿²-¼\}¬A™XˆÒ(¼Ôør'9«´Þ‡ïØ1îš !ІtÚšØä¼Zƒ‘bã øþÞù3*fÐŒžÈ<¼>èߎgÿÈÚ|;ýNnKÞÕÏi/Œ{x'²›,‡ ^Öó=3Ĉ‚•TÖ¸ËazîrØ©áõ6rhˆÌ ðC>­BéÎ…H2×§åzʘFݬÍ$ö̉æNVk u'{q„#õÝl ¾”žªðNP|qà¬Á8¨O£Çi" Sì ©¾¤Å–º’h­Wpgö´{¦³3¢ëKóåô/kõÝÊ zgÒ{tÆÉ¶ÂÅ’e-ùTÏMOúÓ{µÂrÅ…¢xceน"F·{ýÜ` šð8i¼uH‚øâ™°<åü¢ÈÝØ6ê3ž‡ÈkGºs)y^ĸªÍmS¬É^S#eïa¼6°q¸<çGES7lƒÖ¢Tbƒl¢µF5õ+ÃúEÞ¤¬ã˜ÆÞ0¨9YÒbQ MÐU×’CPísT%sáϤhw6Bí pëFË»`{PŸ mM‚¯ôì!&‰×´@'.`ðÙ4öÖkßßò9‹¹®Éƒ¿§Y¾èTûæËæž_©ÐÜ”[ÉV÷E—r•EB'FU®?Ht}:—I,ƒJÃA‚ùB‹ƒÂ0ÌJ|’àQ/\ ~ùÏÃ>,¿<+ ‘*ó‰ÿÇ^°·4)¾…{ç.Á(úFC&òA{uð¨ 1…†5ü¹ã@F+,—IJXä×ÿ]zÒZƒï¦¤õf^Ê"„1Òßî¼È`°hú”Ê'vº”MÎAýã+êɉ8PPÒcúöD=Ýœ(ò 8‰/'ÕÄK#ûDók€ýo&˜ò¾§ù!$Áålñíc(Wï‰á¢)ñÏÌwÈ<ûNôŸWtÉd_Ð#N¼eä¸ú®³å¢ä ~V'†nž’{yÄB–sd¡©ºœçnLFËÔB]'‡L›œykÝ•]ÈÕ¥I¾ü€ßØ"¶cMA±¯þJû„&´ç5‰*íXzzÞBà0̇ßM†¡¡’â7`ªH1­ÉQüΣ)EÿDdPDû£Û7~q?d¯é×möà­g†ºè­=XÄÐÆbC*2ºtõ_ÑîÅw¯&eï¦ê«c™¤òˆºå/-§QiÔ«”¼`Š£€•³Ëç¡TUôY”4<¤ÆÌHcXAù0Ö¥WUá &æ6.0Ø/^*Ì%É2{Ó~›¶>§JÔÛßÉâŸÆn(-h¤¹Ö›Ã0»FI ÂsLÁç‚’ ÇË3â.z"! hjé'0M$lP„F€/7¢tæìzIÑhÁhPNÝf.£ugï¹¾T°/3XCzOë8ùQÍæ-Kc·ë”µ†ÅvÏnŒ²H@:€¡¯ÏÜÄé`u-ãßI+-P~=ià–èšàÅ8&IÒ?à9éĽ^ã‘^ü9®Öø]ªþ*È*€tk‡Ðk†pjj]#ÃqY2Q×N²¼u¨¬ÿ‘B½ òç¢ýR8¹¿Ã*ºÍ¬Fñȸ)ƨR!¢n‰ªðzâÕœp§[Ó™·ˆú­dT"…Nç H{C¢l}¸¤f¿Ð‚q½$`W.(¯ª4ÜŒXüÚ€[”liÀX.óÙ3"7Ý9ûƒH–VÐ@x>s±dö±±„û“ô‚‰|µÎ_¦Çêsò¬Ò^щOiPÇ“ÌìÁŠ)&w‚RÇ*‚ƒF²“÷Põ1w ðÎ3ü‰ŠÁ+ .yn"Y@o²µàéí$ê…³Dµt"&Fþ‘%„ºÔŸþãÇ8³2›(…QñdÐ…èÛB92þc âÏa«$‡Iðq.²ÆXqÊÁž›ìûff*uÁ鑈Ñjõrètl»3}GK¬Ð¢ï·óÙ²ä¡õídY·#ꊛhM8øMŽ.m‹Çk¹Åç R*ø·Låù¢*’ås¾øúLÂbÁ^ÅzÑÝ8³<:!,·J‡‰)X¼…¤ÎR$Ì/5bD7°%³SÔ.}H_Sý0ùsR–T¼›¥cåZpÜXÖ¾]To;àÕl¦¤°ø¡£°-µþü‡h¨Ç¿4Dfã÷x¤±ã@8­¢%a}Îà!ƒ:ƒ& BNܼ¤æve_÷4r*r oÆ\v—‰+•j€s!?¢{(Ýá´¢–ú='÷_¾wø€ ÜýòÓ Õ+n=<²ˆpÄ þÁ„ìM—H¥CèßóýÒk`íÄg…ðúLø¨ãÉã‡]ô‚q¨¹‰£Ö™ü¹ ’Œ¾š¼ÛM>%&î—¦¾ý\Èý Q<¾í >O ÑŸðþðå’)ˆ‰x*: †ùžd–Ù±£Õžßi>¯¶ó{Ù³Uë6d~jå6ÑmrW…Wù_Þ XKkðýȬ ó…gÈ¢¯–/ùóÌ>ù ¸ ÝÔ{p<ÉZéî*‚"ŠTÊ“^ËX¡°¼Á¡„H 5(³2dV>§~Þe¸ÓÅÁŠî+}±ò©®x0¹4/e–'(†–óÖE3øP%«ú`³Ã Î^‹ a',B?oüÅ ™Cðj¾ÿoúû>Ø ÌÄòÕÅ«ÎFA#£6hxÝXÂÜsÈU-ª{(€9™¿oÄC¯á<Ù¥‚mÂô¾ûò}³I¿ÿàÙZMåÍ­1h}‘A —L\ù5ø`xŽ£fXÁ§[ó ©A'ðÍJùû:új§ÿÞâ_É`‡7 kšñâ;³[Š70þiK*d£AÉü!×ø=¨næÄ¹y°º\4'ÔÑÏ4æ¡aΰ°Ö ~xdûfPEºx~Œuˆ[V7[EŸ|'‚H#,^JÕ{¨~!ÖáØD#±G¢êƒ4Àju2øS->ìÚ(°V-ñ ù—±i5þo~‰u~tÆY^>àj£™Í|,$JõŸìr)þc/Ùº–8BI4DYÜUøkmÈVj•TVeÎ&¯É]Æí<å\¢§a•ÀY‰o ó£øÈ€ý߈ڙœ;Û€y"ä?FgYæ!O|ÝZð†â½XP 6û^.zÑáXËÝs9Ô~¬ÙoÔ¨g~Söƒ(jmÄ.‘"~ú¢7–%¨9‡bÆt ·Ž (äF5áUPÆsá!ÝÔ;Á­éªÁN@$Èðç«^¹Ù±Ríhb 1,Œ¾º Hø‚98Û=ËõíÈ®Æâ³¯Í¢þC™S‘8©±§B^$8Ñsévà sÉfö@!ÐÁOLWaZ¤BKAA¡ÂBTzþKVêòA£³3ð?:GKhV«4,i*H’zM»B3k¬"-¯æ.ø?mc³@D*º—3xèÕ#“íÚó©âÊíšIB½Ï̺| G?Þ&ÕšÇ ô.øŽìÆSÌÈΉLEÞ…D9ôu†Ûç´ù §’'.e9t úZn·ð‰È{’æòå~sK¡Žö?Ó¡ˆÓbê8OŸÈî&GªÖ×ô7¦.³UäK€˰îØöcqædYöõÕ²­‹1iÌDòAvy‹^¼«Ónç FºÙϨJ“MÍs´u>Ьó¦tšçЪâ.zs0[¤u{¹sÀ\Ðåƒõ 4@‡,ƒµÑ*‹ °ƒýöq‚„š”òöÍ€’²Þ¬ýÝШ JÇ9ȻϠlyHk œémVÖÈñŠ ¯‰Û¹gVw:ZïE+æ‚RÀ‰d”8þ…RY#ntÚ2—¼«—Ýã> CàqsÌ솃©TßÕ¢Yö[H D83äRI'³²¼ÑÑ<{‚bïõX {ŽŠš¶ ÊêÇFª¥Å›ˆnkÛK_1`…và'3¨±IS¾>Óé¥åõÒìßÒÌùEuX|Iû;ý¸È,fMõÊ*Že ¹\²¯ ܡͨ?ÖY6sâõ†Òý³c Dc…Î…­f‹!7y3y›¼5\8ÆUòýêCy| å(ó1V†o¼šïv…B¹¨ ëñŠ 5(½Ù|?òô¡š (F=íþ%¶%^ÂÔG@×pÔ½ÈdõNAÀÑ—Š™‹ñ¼êé΄qd‹ºtJŠá2Ýo6}ÛÔfÍÙüã}…TõCâ‡`a뾬¾½QE †5ýãé{[™õ¢o‚º=Þ‹²b˜ /á>º”ÿx•«ÿðuõ/;xC=àÀf’ÕÂ…Nš’£€ãŠîçt(&rõ9aî–Y 'ëî–^SýdmÝMÆøÎrøHr!1࢟!'nM&a‚ öeÚ¨îÏpq÷²hެúôwZ{bóÑGÚ¶´&þ¸ŒÕÏnÆ‚ž‡U¦ )ñgÊÀN.w>íøO †Œ/÷Ÿ~…¹PaJòßÖ}µu’2.9±²<×>¾^+·•n_!C+%¦x y{¸(4ÄG˜úÑÜÚöÝ…-ãZóûpAlCMvÒ¡2ú?6Uï4D=J¥VĹ½aóo%ýÏmîÉ0Å=ç•}i…‹J«šrѹ¯ð¦}0åL'•5÷fPlR|=Öë…¨ˆçmçk­¢àGò:¤>I[Ç~ÍóèYÛ픊éu]¦¹}uZ™~¹Y ‡Ãˆr«Ã}¿)¼²•[¡}3òq7qiÿP¼µ}K1Ê)`µ®X—3Ÿ&ƒR»AÎÿÈTKxT-C'‘Róíf]þ‚`ä÷]¿Ñ»m[°6îd´àÐ̲·ių¥²þá·,(2“]1ûEÐ!ZÙð<Ѷ3 &„ï™ø©£ v¨Ñ¦b8'ãäæŸŽA×O9‰…I­uLïF#mæ²°'Šy™cåS‚9#(¿ž±¿XHW‹¤1Póž±Ðd¹®´ÙABµVWý‘Ÿâkà×é¶o¥q濪lŒõñú™¨zuhØÕÆ:ˆþî_è¤øP½7!ÿH¨àÞyr¹|ÎX™îýæ a¾•FÂ)ô¿ŸÔ7ÿ $ÿ:Vké­ùk7WäüóÈß«=h`]mÇ HFbM;r4•:gûÅ ÏŒUî’Ÿ±E±n}™ÞZªQ,EüÈ.ƒ£P¡Vû™;9µ” Žc/—÷ NKnÏ»rŠRDN«©P c±¼Òô ¥U®úAiȾȑdzQyÀþFØíìýMinPÕ;[E¾ þPÓ¸æÑ$hŒcWÄoºÑëʱÔ]v‘Q­Q'oX›~î.ÌX±˜V.Šª™At/ÄÖ «¦K¸QÅè.TyÉ÷²9ú?Åý県\mT•ëôŽ.2úVÇ–$ÆÉ}žVO=𻨚:…— cPîÑ¡–ÍEš¤/!¬Ná=s‚#4'¶÷“"x¼¼B™#ìp¸àIi"ä~`˜ÿríÉÛ•©”"Áêi×Áa\ÖI8ÒÒ¹GÏ®¦„Uƒó}k?áŒ'ŸØŽºE»~-éwàT‘P‡[·¶{ 9ð¾•;ª²öMžO¤%¢a»`òKjø‘g³â®€g’ÁóŒu³G4pd=1x…¯1‡QKeˆdr¯oÿj´fјIH‰½Ø±ùU/ .1NïE˜ ýàšük6¹U;ôwA#dTboò'^y2&îÖI"]*ï«)ÝEÐߨô·;ã!ާ ³¤­!éÂE¥~,»^ÁQ Ï›H8°§«ñ°§¨R||ê`ìIÁÀ—6¶¯W|Œ´€ _pjçEËø¸s⊗œ§u°m•Hñu[`¬ÒžßgŸ¶v”à2Ò…¯î%ðëN ȪÃËÿp‚£Ìš®i=JæHºÆ¥tºZo ýàÖLù¥‡[e^³™Óµ,ËB¢Ù å±µ•Ár½íßÎߣ¨(Úµ¨" ¤K×ÄVWÉpѤy›×LƒÛ£Ú‚â°:þ©O;4y«5RßJå`,Û¢ ?¡:„S[Ú…êñ]fµœ!ÝÇÆ' âeïû"- r•rPˆ^)Ø·×T=ŸO•Aap<€ÉÓœ ³ñÙHSŸ½Ô*X6ûMþ5Mæ#MW( B„§ØêçXBJ¶Ð)ënÄÙE,Nˆh*'•DRƒ5$ãj©öÚKb­>r:Ø(yrÈÙ‹'º_jðž?]¨Qx™ÇfºŸ Ó`î ×pxk%º…oô69ï„Vnޏù¡è4ø¶¡$r •c‹G ÀÏËÃŽV§PSé3X¥s ŠOÖ˜­TgóïýȨú‡‡z”•FL>@ÓZH²8ĔݮÉ_¢A°àl*<²ú«S§ û 遲 _„LCŽ¡„̇@ µb<ÊÈFçÐå;­Jó9¹–»lcÕV¹ÉE“Êɺ)<ã?Uiݽϊ‚Ã÷ØÖ{Æ#ºc,Õ\³Ý¼ô WÛÌClĹs&eÊâ×™ÝÀË+.fÌQƒ`ºÀH0Ô1$³Ç]d©­ ÁÀÕŸEõ†×]¬hJÛé4ùÔäd³VçÑŸµüÅÙþÛŒÂ£Ž˜ƒŽUŒúCâ7ƒ´ØïmE¤ nØÊ“@šŽ!õTõ«x²úÞH²w<4úõ¹óú |jò Í\×Ó©ã"Úìù°¿ûmzæ& lÂgŽ·9Ô•Ï–8]Ž\;Lktš ºÈ¶LAô›÷ƒî}°Þõ¦J ˆdNÒ£›Á£:ua’}Û¥Ddï“pné>m¨‚•8zG.qMÜÇù g{͸‰'É`»•îÜ©µ—=Õ)Ñc!Ê5y£ûUkI¸3Sê¥ú”…yFé%: „#Jý\¥3L/®Ÿ°µÜïs⦠´<ÀþÆtƒªª>…‹¼yQa`¶åò„ˆWLÙMêǧ%¯)»ko© ®¦Ô°%«çíÕåïƒ#+8£¥¹ÓM,ÍÙß‘•Ö³z³'¥ÍNOˆrn9œà¥ó²/¡·ž=öùLÏF‚n\'f'ÏÄÌM®±ïñªO~yã¥ñÉ׳'§ÎИdÔîüx1ã/û.Ù"›Æ`&,œW ½ÿV¼Øs7¡šû‚­c¶(ÿŒO¨;ŽÃû3å>Ž@?6å)%m8y*‡™ÞGúÄ ‰Ì£A6<Éþåk±)5¹žÊÓœ}¾Ñ ø›zozn‰œÂåEhð|Ã×êÐ|¾ÓÁ³ŠÛü I>Ë×i¬›÷Å –X%Xꡱ¸ëÛ¯-½º;èn Àá¥Þ,á$¡¥Á…Bøàsj„,.EƒQÔŽßU•O™eeŠä²AöÛ£’^¿Íj3'þe˜%ÿ¶2Œy"´>y€çaBñ»¬î±1d>ú$¹vγØü©ºh>†¿A…:Lêj·ÉÇÔ› D;£¤°QÆÎÔši‚û¸\ñYü—0 Ð Ç)PÜÛŠ6žÌï§É6õý¸›ªâCB©Ñ¥–ж~ŒpCKE ú—üqy~Ng°ªî¯Xº‡ž¢ |Òqw•uøùÆ#»ƒ[»$(ĉ'VPŠep¹¦¶*ì³Ë«œ}/€©ºgQ?1/á“þG²¼¬ƒq`ë¦c ½òjžB¢V0¼¯(7/œÜ6ޝ¨…Tl‹*mxæ­¡#ÜۯʿÊh!÷w8!¦!ÏH6Û$$î‡k6bÍM~îâÚ@“MÙûRÙN™¢ÙÔ9Ù‰ªX7=k¤5ï†FÖ]¹.Ÿf9© p¦˗쎯L|P-µØ+’¢¬¼bîÚ‰Ž¬£ÄBußk)à—.¦!Ä̪Ï‹Hè]X B4Ý®e2I wyðªåýKÃÒs4’bšH:À.ñÓ‘þÔq« ˆ¦þ])€7Ò÷:ä¦ý––žR^4V÷Óô×ø:Œå ×»×£ÊYNÎmÐĪlI³šÐêâ ³îaHv—å|†/ O\ŸðqñchpìÈ5¥6q)ŽŸèò‚M’Ç“X•VÃtH…r­xµ< ÞÕéôyŸÂŠhýÐüõ6.ŠfoS\~³¯¶³„®ª­Cø¼Ã±ÊïR GÙ$UM öû¡(£ 8ØN"‹¡Wô%%;z ‡ó“Ô»‹ó÷ôå¢ç <ö›ù¬$H)˜ÉÔ'ˆÐµãþ°1C `QEIÑ雚- áú²Æc!®ô¸Ð²ûOW%âzy„®†C¶JÕ6ܬwõMú¼¯gÎF¼MhEͼÈòOfÌ8¼”b¢ÐpwJÇ|¼»mˆÇ·$×iÿöã÷ÃÇ.):>fŸç& <ôr%)è# R­I©Ñ“oÉŠ•Aº(­BºK‰‘É×3›í5äÔµSSÿú-qDZy(2Iã_ ±’«–¦@àf¨~¨Fƈû9qÿeL~`£û¿ÄÍ—;Ú§÷xüÒ>"ë»(-˜ÃÈXIWÊ2×Dºz(\Åèò|–óNåY‹qR‚Ç€x³JƒÇ/èÞØ„¶HäáX§ó¬÷- »Z…NmÔz“üíHúH‘V²Œ µ8DyZZ«€ Ãõ œ–ëÍb€ÚÙ“%-²ú¿§`>rÁŸn]ˆþZ‡,Ãr‡[R'†½2sAÒ}Ðbò¥²ÑÛýS|z:ï8ahµ6°O"m°‘’3šO”Rí7V¥Ûùº1°b5÷àþõQ¨»/ñ¥÷Ȉ`|ÿs9Ú/¶ÆëZÌÃÏä% ð ú$N hņìѱš0ªŒzªr–ï) Þ‰®‰ŸFØ¥¯–ßžÇ)ÓÏc÷£å=t%[ù/±HìmR¸îH2š83„:Ëð4*namó –‹±eLô ‚J¥q s®*æ°¤ª2ìù1i.5b½:³+òà †Ð¶ëîkøíŒh¿’¬ÕÒûÝ]À ¯_* Ίә“vB9„Q÷EHËöhŸóœÀ1j8ç,jÂÞ¥yè¢*² ’¸Ör·QUŒôFšÔ#â¹Óæþ2BàÝàõèE|úç¥s'Nb­j§!ˆ¶–¬¬Žª€ÚÞ^è§Ìš wi5:YÇDýFn9v„ÅÙUÖœ s Ý0—^¤v¾•rø+ÿ–sIµâïZ•}ÉŸ»Ç°õÚˆØ\F¬ ­„1W²1]ÛÒ çñ2ó×7…òémKj¡›<ãg,ĦΨ(°HÌ* Ì&o#CTÏ Z6p@Ö¢ ²™‰Ä 1¼ ^Õ„MncØi2€Ðnª^As†VÄxRÚóLŒïl`% «ëÙ•…m*žÙMR `¨ú ûTtö{”Q#)v^.‘9‘š¶C¸¤Z¬lmqBàr9Ò¤"º S„¼€Â8À±s$C€œ÷![gáBH/;³9õZâP¼Òžùq-Fçê¶“¦l¦¦ùC®nPÙUU¬…%¢¦GÅ̰u°/.A¨ÜY¦Å»oÎò6J´Â#}oa0Í-½T $‡†4¸|X0wF&³eÁ.Å%¶Ïy îVQ‰†fw|¶]qBú oNƸٞÈ×VÏx>'åEž¹\É|«;{¢. ßù9{«gÍÎã26ë‚<™Ú)ã„n¹þ~¶RgÖpJçÏ#6@‡¼œéEs& dŒå×DÔ»hnÐ]gù.ç ¯§8@ ç Ç®½Réç6IoñµÊI2MU‘]Ʊ—ÆwâýãjD¥r9Nj†UAZZ{­S1*Ú›­ÃD¨ÞyQ͆ Nˆ éDz- ÒÞAóD)ƒP‘ÖØü¯Ü?kÑÚùM»v¼Ñjš‚Fœp¢ÁžG† œ1ib⬄º¦q«=cö›¨/»Šê Á®î„d`ÞÊâ§ÝÙ.¨q1é+0ôb¬ÑÔ¿(óAŸD- Ü;j‘Ê‘î4’GuÙ†±úã ¤—|¹ƒÄÀx€k{!%ù«ø(‹p}4ôˆÖ êe¼€âë[J·¿aõb†‡Ê¾¤+éqröŸ]é"Yxç×ð>ÂP-´ú?~½Ì]¤°¬€ç?² wý8Nñ“0®FR:£^np¦ˆÊDÀx_®,9Ðᙯ‰ÇX7‹@›6÷0‚>üã„.7ÕoÀ·}Éú´m^üÀšh'çb÷~Wgœ6˜HÒöÚ/%‰ššê­Á‚ VétÂD1œ»÷¢ÐìÀB9ÊZ•ðb7]êÞÐ>G’‚)ê´'ÊóÄ’ÕÃ!»ˆtQÏåî*ï~‡—g·üWU¿üŽÖ«Öa©pÄ«ÚRÆmòLªÞ&LUî͉ MçRñL-VÂêÜÑ’ŠºÄòËõǨO™ýï@‹yºž÷À¶¤žš¤gܸŠNwÕç}§žgÄ™TÚqô‘d²“(¨\°Y?ø,Fjº‡‡”dæ²Hr9?(6~fC‘Á"v¥€û¥Qƒ4fl„LOJfí `˜!%Q%ž>¯@и–Ó<@Ú§7uîÓØ±°’¢`è)à8‹¨†®7 Äœ¾ä"¯©vó2c>ç öwy‘ªØöE/»Lö‡?>!7VX…e¸›hÇ}!ÂI¨¦&q 5×e_.ºyÀ€Ö *Ó—c«¢Ó@¦1>C¡æÓ.R³õ³,š§R«¸ÈÚGdšì`ÊXèåc2É^FY†~ø;º~æ¨D±•¿×˜½”ÜÑö]Î!\L×µÒNE‚ã2CÅŠBê,eS¾¹xÓ83*–N³Iñµ„غ_â –ÏXÐ3¿OC)†´í*’7ÞÝñÝpØA]˜´=Ñ-Ha})i8QXú/ÁW$qU}uPzmi_É[p´êõØ µ?V&^õ~¾·*í¯¼ ü¿P‚Ò©=™`žåþɯ}Ÿ]^*ŸW•–ÜëEy—k£Ó@:aDõÇ â¨d¶ÙÇ÷Ó{¦ë¼ù¬M%@3õv¤D2rp1Žð”×C–ßu4÷ ¦èjò’:Nüq°2Ý—7×ì|2n#•fAßHÂÀ¤Žs(ZÖ6ƒÃI}}´ÎµaÙo)ðù£é~€Æ!h{Ýú¸%‹]– ú™ý|j«œYèèn‚õA‚Ö)vcáæ—míÜäŠ-žé]è4šÎÕ@øÜØ\¡ô£Qdï¿JqB¨5ðUW»\ G'Hà,E#††Åi^…¼m¦)É"›ù¿´0¯˜ú–s‘_ÍPU °–‡qó½8çÿìLf@·z.èý•4Ê+ãtƒùQ<<§øÄ̸^õ<û˜¿Ž¹û~ÀƒðCEg2»›£ÁýuŒâI.&cU¬.£o 1Z5 tõÀ_*“ : am 87˜iÅ4ñŸ—ãÒ¶æÃÆ°Ž¸ôKþfù©H'»q—°¿°Ó[Áªêá7tokw[a— †jêûgÁÆ:cˆÍý•ŠqÅTâ÷O)`ðìÙ5% Ññ8ÑëA›¹±›×8^{l¬æ[nàwný‚øl÷膌~ÖÆ ùS D$ùºC³Ž4‡øwNÄ?j1 ’Kb4ù9ÇÍHÚüoØê}cÅÁÅœ|ÁÏ0¹6"ò9Ó.êO÷¨RÿšÖßT=d•$a YV}'hIÉœd/éLm®á€‹¦YI¡’T‰€…ã x(µRœîni«eÔÞ¼ÔÙ¹Ö†1%a½ÿØ^vt­œ÷æõºf•æ{Z³Nø´Cœ·¾†r}v½ß6üCïͰ¢Á`&ºº\ýÁ‚ŽÞÞŽGEgs¾˜ëm 1Š•0„î'´ìÊÀ5„i±Çß1:©$«ò“ çXòñ;ºÎtV$\Á "’aŽR‰€MLƒ¢ßú9@ès˜½Ð\C €q#%þÂÁñ"Â*WL¤Y–3§X½[W31™yw¢Î[ÊÛ3ë•rSYý<•]UwÏöÀ|ìt”“"2¦©Øå$S¹O.¤²·OOhK›ƒ(’Èž2!;~ÎyüCÒ&í‰6ŽöË' ZdÊĬ´¾-±:&' Õºæ˜×ÔmXÙr]EpÃ7‰ tcèï`8g©áõ\©»ÕïÛ&cyÔ‰µÛWYN?aù¡ÒH œã¡¬€ 0¿ôþ:Ã^TæR·¹É+-ò°ÑÉÄ;Çߎ° 7+ ßÚæZ‡b32ò6t—(ø¼ !ÞW’ø  ®? })%SâN¸ž›ÒÊç{»-€¢CqJV œÒÆ‘£Iµ¹9¦s›#nG<)¶›E©[JG‘,ë ’lôW:¶U·Ôª ¬þj|G`|Š­º¶xÔs¬CDv³-‰XÄ!ÑdÉ-}ÜöÆ*\ò!^Uyh—®Ý½JÖÐ ‰µøÒå4/'…+òI·ÄŒïO¯”ˆd…¹ýÞúì¹×`!<“¸ø‚~¹_>¦¤HhËvØgÖ\«"XoK¢diz}DP›L ‰ª®äØà¡2LTn;ÓþK40FÎM&‰Ái¹+îhÃ'iZd¸E^ús"ù8°k—ä$@¿m±èŠ–íøþµãæŽ Q³{ÌXwtfHŽŸ—!QíFkxËù¹Dñ-¢æG3µK(Äå-ã¦Ägë¤åD'¸È¾JCG¢­düK6_O¥÷Œ¤ ,J-±_6?õ½˜èªŠ±5>>Ý­Ðfïpx¢ÝÅ›J›G2´ßÒwN°aÅõë@g4°@Þ4­Ÿ3°«·zv,éìk@± K}å’ï÷ø·ë+¦–ÝzÊv/–IŠwXýªrdò¤êF~|ëÖ°»ïUòU°ëa¼lº« ,ÀÔ8?|Î?P™ ÷‚õº¤ÞöûXùO%ÑÚDŽÙür¦DàgÕdÔ.ʞ͚ڼ`? à÷ÎÊÇ"ºäÂujb3a±˜‚=ïµûŸAÐÇ;uÁçK`VÕrí ûÐWF'OÒó.h)îTêåqТܱ•g–ñHéU‹Odú_V4[CÒ@uÙtlHÌ+nC_rH¶¼ð®î»÷Ý/º©2¤Àâzf3µg¬OÇ÷ç&AW†hÑ[ 0ƒfïâmÛ4ôÕ±%­€òäbÙ²(v̓ŸmÚÝŽelÀœIRcv´=è&Üu€ÓÀãcQcÅtÅQ>øyZ ŠÅ×|4V¯”Š]Ô*ÏéáØûö Ý4 Õ‚¹èö.ÏZªÐ.›µÍ…àkg¦‚r®%Ö¹«õWø‘­êìF*Ælg?_“•"ܬۇ<ÒDP©‚ +)ðŒ«õÄò¿»B8|ý(¥AÓöoÐÚPèµË¾µµvE?Ã}wrË' ýBÚ9Ÿ ÆØzÍbÔÅÕÉÇKK¶å iˉKŸXËcW*ü—´å#ìÇOBPG©–Ò`UѶJe$vÌQÑÌ`MÏÁ/3\çå;z€Ø¸§Yê jÐAÆ'|¥ílÄÓ”øaá-6PN… Ïò>„1vžž[X_3<+–Ê)mŠº7ýÂ4¸jºçÉ'Œ¬€”kú4w§îL`ì/=¾¢^‘Øÿ¼×ù¬9® Éô_‡uØzÆ/¡i…Ò´T©Ôÿ£ÂvyÂkÓk{néR£¨è³çò˜ÐÇàí-SÕ¨õ%ÁXíÃŽ|‘§Ö™é}ÄÍÍ¥có‰ü Õ]·„ E`„>3Ý€#õª¸è5ïòÝ!Ì«âçj Ü-œè5cTWšjäQFÚ4:ÌþñxþïU±ðù\Ÿá8gjPbøEÛš?•=ú*KŸúg**h©z0£¬Òó[i¨P¹Ñ[”ª øÚz«• ¾IF9ärcúšÍZžz‚ò«Ø$¾®/±ÅÕPú8­=Gß™Ãjn›¯Æõ2å1¥U<–3;UŸ ¤C_˜íÛ„#û_ |z­œp³KŒbûýºê¯Dá":@௰žX‡ÝîÂÆ `-nˆU†Àêì´OÛ•œ›•cA«øÈÿ;2'i÷ _+îG^àiÝ €e†%µiÈz÷ÉßæmÜϯfd!ìAX$—5•)Ž0æ“C;Š?«\¨ÞŒù{q×ï2K¼·›ÞšÛe–AÞ›¥R„/rŽãØß,‘Žk„&Q¬xÞ9–ùÊÄM>ì¹Y§D>#¬»Wk_? Wi›Õ¡UH߀7Ó° Iq¦ܢ®Gw ïéià}Øs§ÖXµ§ gs+¼ÆÞ¦^Û7rh^®®„óþ†°‡À¤ m»¥D³Ýõ•À]BÑÑê { ôóhg“Ÿ ¿ >æþË@~^°*e ×£ª-ØZU.ë¶/‘YL¶îZR0:~“µé)h ±ŠÓ'N„Òìƒç$ÚM$+éP³“RVËÕ,iÌÅž™¾3ã`ƒ"Ìõb½‚*3óÝÛ™¨ˆ°˜‚Ï;lnr©A¨éùvÿÆ|ŠÇÎÑ:«á£Zj4/Ø‹õ„ÅAu-žß©×gÆ.±úA®²Ç´t*ô± oæ55¶EÚ—d__ßòzЈßȃäV]Aà %õ\ô!®X#$7Ý–N××ßÐbB'뻄—ľëB‡7;{ #g||´ÒóAþíʼc¹»É$çY$VOÓ±˜²[Ø…ÇFØÅï”LV´)ª&_°zÜ oQŠc \`,èî…Ž•ã ˆŒÕ.œcÒFZX‡Zr“0‰Ë 3!÷W£ýÃ)å6­¤.LõGÚKY@`iˆY¸I0iw~À–.¡ÇÊ0$¸ R{æRNŠo#mó<ñÇ’¶ jš³˜}`nkÌÅ¡@lh™,% ™I"°7㑪Ûï!”‹;Ô^yŠãJžÙÌ2€lôKs÷£2Šÿ×*7ô„ ½*§Ïi²ÉtNWwô3Aõ`çIoä$·ºþžõªÞáf‘ª7=adàÿ͆\?#“m?lw=¢@Ì"užŒEÄæØ*¤†¶BŠÝ£6êo>kt0¡›jY¾½R¯BE…Dö = ¿¨«š|Ê6l÷^ñÛ}\öc…~>·Ç:Ìà~NÚÉ  ©X~)¯‡¦f¹ Ÿw¯Þ=…Ÿk?",ï uõ'=³ô«Ú¥6ã"Æœÿ÷ó0I1Æ{û=0žž_íVãQ ÷ñKq”“ÛŸ€¶„v a¡²°á8NTRUø "©zÅRàÿ›OßòËÈ:Ãcµc(;0L¢dXF’(>™)“pÉÜco£íïþU!æöš&ô‚q§ÄGϘÓÂTCjÂÖ¯O¾E%qyÝ¢=èk§²ËN’ €­lÈ´½æˆ*F2†<Tw ô·Þ9¬02‹¿¨/A¨ »à&Öœ‘9Ƭä¹Py¸Xoÿà¹tݹ6¥gq«iÏI×ÙÊõ»(m¦K{+Võaqa_µEC‘¾@b¢™§p«ƒ­5hâÁÔµµ{û¿o¡ºCa/€úQ1ÓƒI‰rò¥"?.´ù»·*î·«3GÔ§î5ùÐÒzf3¡:턦Ï:Ëw7քȸ `¿„ÏÛ?g’¬ õ²ú@÷¼4¤i~6™ÿ"j¥Ý5.o·ÿ9MDüú.6j‡‡` jp£psÄĆ¿ûØ6?y »Baï EæÆøÅù „çÏ!ÌÒý/Þ0Q˜x£æò'zV:Éÿk=ôIr3Æ,¸½êàΠ4}ÿ1 Š—½RƒG.qQ悜7oJî?ûOñÙ*ß=/®“°ºm¤·¸N/;n3 ­¶Ð†+¯‹U¾ûn½ÏÏ{Yì%žØ&×=Ç3™Åe3˜ò|°mº›t¬Ù„Ô@VãëH£òâ^…GK?ƒ9ÿP§†ìÍÑop 0û§Ì÷²^ M3þÿsÏvÊh‹™âŠì±Y¦Jcœ”N‡œ€Îâ/¡Û"GH8ÑEî*coÐ T×,n ”I2ž—ò“WWöœÕ‡-7Y>¢n:¨-}WÕ*yþîU¼ÊÇ« n””¯¹só>¹1ÛA­ô~­R§•>Zâ­Ê”OìµÁ(ñý©Â5SÕ`êc›é;:VPTÿ²í/\/SP­©#G©Q«àa¿Ê4 @ƒÝ5ÁVüyÛàÚ䨎]y“¿+ÒäÃÛT}¸q0©ó© Ë3¦/ùVÑ ÉV‰æâÊTýLÂ0¸LÓCÙt‹!Aµ“Ígì)éäõâˆ0•/ñáÕì7†`ñ~bÐ ¯DŸÜ¿.#–Ö}¯6d̯}[ð@¯Ûáü¼î:H¹Ü&dÖðq+"‹Ñ®\4¾ýg«=Imzóظ$ØT”žCé“‘w ªÒkñËÅ»ˆÉ®ºÇ_`„®ƒ ž)M7®P9~ß*5FNp%ç=äýÜ…6HizîE -IœÈ7Æa4Q2 ±† çÝx´Lÿ®qœ>Û°ø.ê/ð“dΙá-t€¼º<ÃÖAzŒ±Ùn My{ª—×÷ž„ëùûí`¬®ž7ÖõžŸ>Ë€•è¼®LbšZ¬Ì°aã‘EÒráãfŽ‘x–•ú¥ûŒKò7´<È$ =‘Ìÿ@å*÷šR0¸÷DFUCe”Þ’ÙÚĆ,þƒ`ŽÐN XÚ¥}(1·4#5 t²oAHŸ—ç«_™urEzê½ýì;ìz¶±A•îë6õuõ·oN{ø_a4h™¸Ÿ®ƒp8ójjHg|oˆ®`ýü…$Ø»ÞN—¨¶a«qŽØ†4öªçÖ|äÔ¹eÃÚšrn翘`>™0&yÓè4L˜Óâž ·™L&e)ÂÐ 'gqt­)?Ž]x>ŠhFÞ‡MÕ{Œ"·•R¢_W(w‰+:ÜX)ΜbÞ•áuYæ^Ÿ’CvŽz¿¼;¶6uM²k‹u/Ƃൈ†…©aG®å)ýƒ®³bž æ8—A¼bÙéR}~óE|ûÇïºÈ°!Ãí*â'›­É$MkŠSíú(Ñ£oñ*Ø5 »ùz €‘Ÿ~±Õ€àǪ0ÖzÂZtN¤¿å<¢Hp“Œ’λ$•=dá“÷9ÈÉT ¨‹Ú)÷Ò@bC¶£Í ·@»f6Kð ãíeJá9ôcE¼fÕjêdLér‚xc_í”{+ÒÅ…3§žCDp[o.CH‹ôÕWœªI}Úºä;ñgÊ#×Ьçø/áÅ9t| Ûé]w”ãgR3m PwØÊë3‹M,†¿éMÀ£êf°Aô@kŒMø+õÉA÷_Rö^#¨É3݈ ‰D]Ø%þ•ÖÆ¸^”§@uй')’¨Ï&íÂØyHØPò“sÐì½LÝ{ ¸ëeÓõ–Â6õ>òv»] ë:±§)¼Ð¾/¹p§Ãi)Íö¤ ‚áƒÎMEƒÅw° æÔsRó¡Hôr 6„Kÿ¸ íó÷õЄ;SIm­:|xÖæË­±è7¯QI¾<ÆO!ݰj²—õèJ aƒÐåtÒ#°~êÙ¥#aÆó@à‘uïœèÏã¨i*mðWç°“»ÖÑrĽ2Â:d±È4M(ùJ²´Ò!lcr€"8Øír),¤jÉâ/&¬ìÁJjõ†´°0ä»jÁpHAö…s ö7Àà–Dê×Ñù(Ô¶¤n[åŒnè¤î‘ϱ[ÙñÆÕðf8”'SöІ¼x4,ü±I/DÖgx^>^Zõ"r©":Ên·Å>lŽŽ#ý§*ôNŒä:ÈFN ªæÕ¶Ml)}ëæ¡;p¾¶y†ÑªA1‰»èÑÈnµ‡A—ÂGJ&³fwr® ¦cgçÞ?¦ÀN­ëêy³=ƒk#~íÈÔ' i Ó¸.ÑÁ×÷:¥pô>9†©{npVåˆJ5¬ÕÍ·Bûƒ‹sí®wim½¦ÈçnÖgí‡Cãxpƒ¥Ÿôè+¢'@VãÝÏˉø棌 ©ˆ”'¡Í` ß™Œ”ªZsPjñA*üÓ¨ÌòÚ°<ÔìdE·å¥Kˆ»Ï†*€Ü'Þc­lŠëŒÌˆPúÁè·|âñ֯ij¸Y¿íœ4ñp’ÑM‘xc´Þ£Ò_#’(Þ®|÷~7ŒÜZ‘±·‹‚=—»¡ÝYŽî»9•"G,Ê‚s±ôI’8Œ(³¼Ú–yíëçE”—bM@ŠŠŸVPªÁŒ!-hËR‰°A}û«}–€ñ,èE„/U¡aùaÕ¬X’ˆs RóõÆ çL4–0ñ¢¾­+ Û&P¾„:p:ÙÿåÇqlQ³ÚÜž¹Ãîä–Îæ_‰Ü¯È+øïâkÙ4áò“Á¾˜Ð ]¥ƒƒµ··RJ=§ 8ä­¥C µs˜3ÅU9qbBx[šäòàžÐœSFï Iå?¼ ÓÝö”X]ÐuaÁ{‹XKÉw”O¦´ÂÖ.ϪžK‡fŒ PÔ’ÑJâ ¬CI«àaÜéâZ_|z}ã½”`cV¶ÞZH®ø/b³Ð"û« ™vfð3Ø.÷dìtˆêV¤º- ÅÜÿzñÄ÷Déû'´_ðÎV»A¿Dí<È[¦vs:›ßhû9± z®AElC:É—õYfì†t©ää=†UÞ.„ÆN^5U’A¡ùü¡ˆ{fìJ¾W$jø*¯—¹ ß²þîý)…ç-LçÆÒ®©!_Ïd:ò¹ÅVKsOäÇ¡J§JWéù<–‹Dµ§ÃÐ#qcst;wü´K«Þ5¦;ý i[?êqAåuŸØw„ãë姃ò’>ÓSƒò´Ep”@ž\ÄÏØ@ä¬oÿJôßžlªR!C!¡Q=ܼ¢Ôª>aâ ¯¿, jלõ×bbL2GØ<Öf¸{µì.ºÚ΃Aær‘°!Ôd=ÚåPëjº!ƲÒ^ª`zÑŠ—Wâxþj-@s®VŒFïQžU} çXO>ËׄÇÒj*˜­çøjö!᪜ó‡Ò{N‘Ÿ`°vëpŠÁ°cP˹¾V5çP Æ8£ðš<,úñíùÈíFjšˆ ´’*©[¹»Öó¨¥ÏRòb}Ķ“n÷ùÜëÄGiIOeÖB='uÚL´V)eÄ ÖЉ×OP:á'œS Ô¡°;ê)wB¿¸øôõ*øìE)x^çת–L÷ÄÁ_â`(šÓcÅÎ2Ï/rØ,±ÿêòA؇Ò"gɳ«Ì#Ù²€tGÎHâ²ôF±x ÕF“PŠÙA1sÏìXSëg¸´2…ƒƤÄp) ¾‘Œª¸rJ:ñ8v$Úè©`¿snÍ}å^”¢» DAË}Ü¿U2ùÎóräð3#ÔÇZ¿A[gº³îu@<ÅrÜI8q_Muz–%+UãÂß™•Ç&8»k«ŽPÿH²*<Í6•ÎY)Å%­ïê\¢…ä·ñ‚С»ZÂܬòßíŠKÂæD .F×HÚ»{¶x¿ìÿ`xþÀD¿zg,P´FãøAÉl/üQõ¨¢Ç~'–]%»üäÑnàUhòÐ%AèUü†¯Ú~îaUÇ:®C2@ßÄÙü‘|1¸ô».B»¦ˆ¦‹kûq}´ÿed©ý…œ¶Þ{\òu?%ò…ûŸ€çª, –ÒÄ¿aEú/sß‹ò ñuù·{@÷«aBºW÷µøéÖQ—4~Óo8™c]Ý¥´‘uŽr™¼ÅÉç Šƒž©s¦‰Zt‰×MðžeX{7¨€¸(êòÖ`ar9_%qX×좢º"‹ÀžÇK¡Tu“gÌ)Jó¶»ÏÅ\j̀Ĥ„ÏêýlýÞ|bNS˜Ÿ3·àµvâÔ&½¥0Ah7oî¾W†"g·ÊÛu&”¬q±?.YÓdªöàbÒìpøt±]~;¼üäº]W/û­µ0aEP™‚‘w!¾Î\®k§`ûZöÉ4– çõæ×¹öX»@Ð#Øàù¢jÍÕ¦&u¼KV½bÃöp–C^GƒÞ‘Ù5øeö!¿ÓñX¼…c¢[dÀWv)b'[@ ØB1QúWÁc5Ö„àh&Ö§™x1¿Ó ‡—´¯Ïº§e·3§ˆß„qÛ6˜Þ¨Á’[þP p)õžØÊcd°ž†UÓÊŒW4=5ÇÙ¡Ûs9΋üY™O'ñ~ã:1ŽÓêáZzáÍôž1”ˆß@-N;¢2=GeÓ' ­ 5ó‡[^3Ï*3ßÌ¥fdõñUÊÝ12’:¶»?,4‰6:´¬!œPƆVƒezYöðmê'Ð÷½g4º²Í,;€y2Ë­ëðo]ßÇÎÈÚîÔg9’ô.á–Nq_.ùøðj] üÍfg¶LcþRƒÜÙL¥Ãñž‡îú™“déw8éõeÖÑ£Ù&á†8ÈKré‹L8”…žÃÍ뻓ðvUèO·0¡ëOþ^Þ9 ¡ñ•Ò¦'¹Ì$$¥èK»Û˜UµüM¼ éü–º”‘ ŸÚŸ*áü ÄTý9Å9Êñ)sZcPO=Bà½AîH¿IGŽBøÀ‰™Ó{ÄQ1¢9æ@ú|RªB2¶o¹’°!N ɯß0 €ƒ,¦{D˜``ÓÿÍåý€KFù›L%nSŠ—väèêk ç›KØyGMНH°]½`ŽWU剠+«ylxäÐk&$ãu°œ@Ö©…Úê;Lt @N ÉmÑäÚнoÜ™WINsÝHœÀ/ê9×r¶M`“ªs–|fið_š¤ ‹Ô¨sÀ|8¨t-C ñÞcáqbý™Šr]¨hM Ø{´0Âï»öÑGò€I + xêm’·‚ïý?7¿N)ÐÞE‰E/ã[ÁN¸Ή'uÏÕÜØ@#(”ì6;'ó¢œPàîûþ§+ºËÒQþqv|n¶yc¸”~`M¿ÅÏL†Ú•ØN¢µ–ÛjÌ%ïAÄLÞ@Ôx»a¦d2àwii—Kú€Lëí=T.`> +‚ •búËÖ’ôð=!¹¨àš¡ˆ ödÓ¤@â&/PÜ–2Ë"ÑT®¥þ{ c{m£kÈ:,€€‹¿V,º®GÓœïsÐr›[Êðóê ·È$¯}®ã sŠŽÃ n›˜Áü+­¾/–õ„AúF*ʪSOv”[ Ó—‹ b¡q~ G·(Øý> Š ·,UAsÈ@û¦±Î‚ÛKü¯˜Ý7J_Ñ[䚘Û’ì¯,ÅËuIõ^·ÈÙ$ìK<4ƒ=Ý®®lý‘šY?p«3»Mlj_¥û¾ô“zóÐÃNˆ:Ûö6¬Àc'goA[!âÿ¸—bo€¨×Ç7Ý5Šˆ“Ò%$´MßµX‹ÿ\Ïâ1x)ë¡#-À3ø'ŠPúûû3Ä¿O锽M¾]'¨ònvÀ¸¡.^—§@;ª8r#ûóãdÉ*O”Ü*l›«ƒ)ýWhc–ôUq(+ sñ©¯z³”ódÄBW$H¸:’ò¡¦åÎ6µ4¸5Ïœ4‡þ{‡.Õ1µOá1²öÁϰ4ƒ:w¸Å'(ƒ7~v;`³ïXI=‹ ™¢ÿ™à#€[uº™ñýÞ «KkÔ©kG»{LÅe~Wh 8÷‘ÆÙäßH𙤙o —ÀÏÄ')šûö~t7öª,›ªþË«?(& Ý ½ø¿¼®> ^ƒæ²^ŸÕBÂsâT Ǥ¢+­éÅ»9¤ÙÖ/c:cÐCY/ìšÛ&’¾Ã®#R>¡, ‰‡%ê1¼œ®ÀÜ|ßðfcm’T=­¨‚ÙZâö6a ÈSý» n/{:êDÄp*U&\Ü`”ÈZVxÒgf?3g#ì)éDóÜìðû‘vîÀJLFÏĵÇ=ŸF5©‚‡Ìs‡Ï¿æýTdEv &T*D·K& £²¸~ÉAñq ¯Ž¹Í<“†Á$›ò'ªSzþZiï—ÿêHy„|–›ÝÿÀÒS§Ökëž'&NñÙ%÷í ³ƒ×ÑÐèü )OL‰ÀݬCa– Ü¨²/òC$5ÖPÝÄÍ`lþ‹‰XJ u©Æ#ý[•4³ôAp†0Án³\ãksF¸ËM—5²×[Ú{·ôL‡be ÆÓëü”´Ü?]˜GéMv"²vZŽ9H˜z„}m«çÖbGiÏ…½ÑòóÔÊ©°A…’ƒÎÔ0ä™ósƒ-µ6~ç_Ñ”<Œâ…¨³OÊ$îå…ú鬟‚L Œs¹&ѹ߉KRUr0œ„e9ðÆQ[´`IE;œóZ}c„Ɔðµ‹QØ:Ì,½d\„]ÏKµah…o¼€¶}¼›ö|h@™ù2–2àò;×ÉÒוD’¬1@2Y9•@=PǵÐDXÈf6[DkZ–_!dÓ2ŠÊØI 0%OÓØŠ¡\têWI¥–©ŒLWå×­c{œ(f:Â{…© ›°¤GÚø4дè=Ò^„¸I¬‡·âOÔísãý *!)ÇZõ ˜9™<îü€],0婘•;Ã3² ÁcèO:(ô„SP€;}¿*âkád§XP QHøÃ*rmìñNjÚÝ€ÂöãXã¿\ (:nòê{oÈÔó5º<Ú‹é[ø'§7òÁ2j^/óeÑv„î>jšŒ™–È(zÞí*´€táïƒ)Å÷ ‹µñX3T?(†Ð-ê ÈËs†ÍKsc‹Ÿ-àQ~x§2i»:ùþƒ²qi)“y€UÔ&ÓSuqy BŃhË8Ó£ Uü¯A•ÜÿòßJ¶ÍV<­Ö¢{Õ.ç^É—²ŠLZÕ»€®0O²îsî•;tŒ@æÍ UÊÎ'¯ Ðg¼h)ápK¨q3´n°(ä…±SŇÍöUÇ ø=,[z§Æ÷¼yLEͧ¢™d¥)a‘N}Ì¿Z€—ÄH»ŸŸŸA[ðÊ„1§3ØËÓëg¸>Fï²ÚuD¡‘¡QÆ*¤m¶¾3¶|w0X¶†c…&¸-³M›m'üù¬1ÜÀ„SÇü[ŠÎšX]ȱW£Ÿ†¿dç¹a£*×xØ™¾Üõ"Uþ¤´XrÁßi9 ÑÓ™œˆŒýßSr";¬ G¸¯MÖŸÙèlcÊ‘àg=´S—?1ÓÓÏ%  Û8}q4çTcóã—ø·Lý×+,76:Ùù雷§S¿Ï*p[s?ÓÒ§$¿ª!ÓÖúYrˆÜ‚¡ó­T$"©ðê¼ `˜_ô™ÑJe;{ÁÒÕ ž%¢òâäéG`° SóÃKª(ÉVUÔ-±ž²¬ú} .Ĉž˜ËYíCår  à`ü¾6ø vÞÓ^80VAȘ '¦Ÿ¶2w!šò9X ,hÞ©V†î8ËñêkóO„ÙØœã·0¬Ÿ‘‹A-›©^(_Húû4,"ŽL3©†³ãŠecê õ2{âûœ_| }Œ€˜uÁÊëº_& ŒE”§Pµ-k²©ÁŽ‘ŒG£Õ’Ì÷öÑÒUý¤³Âøéäó·4Jÿ"•Ë»€A½ à0=dª0eÛ‹ԧl#–NS¤’€'Ô“Ñ”£TŠ{¡gÝ”%€Ls¸ÍÞ/]ÑDÙÆðþÊv¦Wå×°f9zS¾œOß!ÕþÕ†n‰ˆ‹{óTã"ÕB@göz~ƒÕ½?»©¿Ô¼ÓáѨ|‚27ãÄã.…ôz¦@x~®z< ùⳜO•ÿëJˆe§ØLXiŒ}÷|žûdzÈYmw‰GOñ¢r ‡|t‚âšgé§:v¨=¾B¹ô&25ª£<K¦x™ž$ì#ŸÌÜæbiäº#Mˆ9V:*Ot,6¶"?ÄNšmöYn¶ ¤1Wžñ.Imkت·.™ßç³§“»&1?†ñ(bÜPþío&Pe° ú°³#ˆä7ªl¡œ2mWª;ˆ,m—¨ÅJêj¦~ra £¡å¼UÅ0¢˜u¦@Ãçïý%]¯éiªÌ Ÿmï‘æyDŽXÕÖ¬£´¹„å3fO£ñ‡R‹05&i»!QyÃÿ‹àæÙ_Sˆí9½„­I¦¬;A†ËÀÑŸàU)ù“ÍæÏ9Fºyœ`ëÍ„ s‚¦![xíó05hž»Â´‘a†PÇ]sRE·G6ÔWªË\¬ªKžhaz[`¹š¢ÂþS~5†U˜oE1ÜŽnoŒ’²EQãt4ÓÂÁ¹bÔäžpï|ÂD4¾‰~pëDÔņŒ/Å ÄíõTÓ[#Ο·Pôü\>¸ž¾RcýB졼E',œÿ.(²B,˜—3†ó1ômxRU¸²†¦J}’X ;bËòßµt¤1#Ê/Í$i†Y;׺0S¹Pªi™Xô³Å ÄÓ­Ž„Í׫4sEJãM86gÙÑߊø÷ ¡ÐeåOñëI,›xÕ)qôSJúâäômšn’C¡RîÈk 9{ P^v,EgHry“І¢U·H2×)£×¤¯Kz£¦·ÜBkèy¼pÄ9M´e¯?"ùæLUñÞ]¡És ·G=µç6 t£êŠ æø5¿½òþVƒ'›®Q5hýZõe]ç@õ_›€šYÙb Q[†"cÀ-f,di¤Yüa>˜c#­Ää)³Ç%øPS²+šgŸjDiR|éÓþj ,ÌÕ÷jœm.Gîø­¶oùÔL ^S¡žùp2˜ÇÈ琢qhûÖ¹÷dó[/U£‚j¸Lõ_½“uÅo4Óz1§>!H(Oœ¬¨ýKyº­¢¡µ~†ž¬íð£Ó%ŠŠQ3 #ªÙiýÑüq›f&M n | ¯°ÒëHkà[4mµs¬õè»gjVº7Q|.ÒÀ¼4DG»èÿ6Š ä! ~5 ÒÒùÈãÀæç/<} þI[ùú§ ®êý€O¬M‹¤¨%² ß‚îHÑ•¢MØתbž:¨|ÎfѰl¯Ì!n ý±Ù(4òI)‡oX¥7O{SxÏà ډ 'G9€:nêô½2.ã–8ÞF`¤Rä({œä9o+EH¢ÈèùTõámFì½›MÙ¤mAò¡Ÿ÷ü eê§AãF2TŸ„y)Ó¡ÏOiÏ<º„½ƒD#I°¯R ^ ÀÆÚWÚŒ«ó¡ÔÞ7|1îÃ?«ÅdõŠJƒ´—E:(¤V¹·•ôMîõþÐ g]UkQ«Ælfõ$Gª=wÏTq,Rm „ÝOùl2™߯•N¹Š˜1Ú1Ü |Õàáw´»§¯†mc9’Ãe‡kn¥âE'BoÛwòÙ§¼PÑ'}ŽÜlmqyw1ä¯*”&·¨'´*¸'TÄ_²‘MM¿×«%wN·‰8Zúfƒ*ß4dª™.ì׫‡¡Baï*éãr8Þ´5z 쎮žÐ¢SŸf84Æ `ÙÑ›C}ŽÐåb,ËW^¯@7žâbAá«&|&UÚò..‹M<äöÑÒŠ5oƒMùPÞ%È6ÖŸô¥éΖòƒâÊþİAHÏ:eà y¾ÍxˆavŒŽY”‚~ –õv aÅ&^HjÈ¢QNù“Ú| Çx&$¿|<%b{^¯µ¦ÅØ æß“Lßc»Ë£]Ä\ôŸš…ÙÊ¡·ú0×|³{óï©zËÆåcœö¼+cÖ'IŸ½3Ô!¯ò`R Èé4xÙõ6a®a`P´$›]ýø´"eeãߥ)¶¸ÇzšXw­ðßOWØ×ßK´ièàé\Øt#Áñ©±;oο¶³ 6Á³WôFõ“nÙ]Ÿˆ­mÿ&[Í­Ò&y莨#2åz_ÓÕºZL’4×ÎXô$‰z4¯ ˜»É#iÛš˜Â~\õ*%ø£‹Åº„|ús£¢Bi~ãc¦\ê Á+¢Ëü0ˆZÇÙÛ¢=ElÆèFÑ{¦¯¢Óæ: >Ø ã{¡ý;š¬Òë]¹Q4*¹…ù)ánÇØG¹Â=|~ŠXØà“‡äûg¥>€¡ßQ;^°Z3I¹“¡)–åp„Õձ?»ÕüÆ‚¼ûRÉFÂJCÆ•ŽjÈû¦°Ø…÷Ÿd¤>žãoa½³zŤÈÿ_°Á=‚].~öH8ù†¿ãû8l¶ìjÈ@b¤º •nXŽdéÙ J•œ×ô“¥xbeö‘W=e9Ö2·âH*ɀN8–ÃW£¡!]˜e€E»-/qËT=Ç[‹G KôÛûËf E>D2ÛüX†ì¼¢^Ö%éc¥ôÑX"ºÓ̓MuìÀ*’]Žo4Ž ž*û¿n‹RëGu^æ[8]’—„r ²§å_Þä½ÀH¦þ»6ûn1àt½•c»O$„F\åpz¶Ù-ò&RÕåê{¶éhã}zN]й¥hM©*L¥"jê–‘­IUñ†Å™¯ ˆ#-á÷æeXßѯ[מïóÞ݃Ü>–iB•xÈ&z|^¿MÓC5?NQWô-©f—Á ¥buH&}xvË`Š‹ÚîÔzAV bèUìõ}(žû|j:åc9;VÁåkÂB&P‹å¦,’õtFîê%k¸j×èß˱õ“‡öœë*‰ü )§Æd‘b÷ûÕ¡’}-Éý$b;ø´¸™†EÞ]Ð5]i$¾§Áû‡'Çú¬Ÿª*›P/!Á+ý™ƒ˜ÙËàZ~TnÖ¯K’ߣֳpøþtÀ¼X¨|üL´``uj]mùÇý‘6C).Ÿ<–—:i`ÉÌ]ÙyÀAè˜tçâM–Ò L8½G/Ô–{×`kþ“[ø ŒíèkB=Þß»ˆV ñÜÄMóO |,·*®ÛõU*â½I` ©Ô,(0gU#Ô«¥jÁ’?†™(':CGtžùÁnžãnIà"ªÅaf]+¹Gk~rócR¼[µ å7ß~QîÙ_IJÔÔ›ö'|›«÷Ä1¨8'®ƒ²ÔÜÆìÒF6ÚÚãmHÔg‘"rh1é 1•èRcß.‡è‘F5M 2*ë*‹ó‰[ ëMóÚ*Æ92Iïü»DCŸd¬õâ3_ž”dœ½È‹Ny5U9Ó(Áš£¦MB†˜]0àh@Ô4€x)“€FD kZBR¬vx–°Jl耕°@=v*™Ð·mDÜVhƒÆA®å ½éøâ `ÜoD˜þ- %%x‹YÑïåO¢%Ú%HPØ©WZSȾ|-“@Oˆ‘V]oï6þ>ÙÜv7ª­?®&»ç64(Œ,œÈãpoãA«-\+)_¬ÉÙ¤$2è—pY·ŒÑ÷õ–^øï]Ñ(­twѾ?¬lÊ»‚\â,}29¿oŒf—¬â[»B*ɹ0œÌi’#"4vêý³=±ÈEÛ嘻¡2>0­ë#Ϩ:ÿ"âG³r¯Ø&­ò•à^´Ð9i–Z58 ^`^€Áo̘Éñ"•¼2¾|&ä†Åäj8D,5jc-æ×Fö¨¡F¸ðÜ·z^¥]Îwy^¡V ]C¼òm÷ž¥ô¼†6u:‹è.–+oäü}äb–ïºÁdÆò­Ö2 –ø ²CÞ„+e¼Pž'kP*p‘Wói•LØÓBõŒÅù¨W6êÒÑfH¯°çÖo*¦«Rš ºAAÆI¡I`: ñwGU¬V¤Èk¨¾!±ªÖšX:åפZÓU²°Å3°B»¤•æÐö­U±ŽJTO 8äþ ÏæÅÑÏDO¼ö-#ïzrrõ&’díVà·¸ü>àŒÙåÛè#9xkKÖZ%« ¶ î0Q2U Ý¿ÿK2®~Á&š™Ÿý)4L‹)ÒÊ*ô/ ©$8‰äíÏ› ù0ñ«DË÷Cj§6ƒ9p!çf<Ø=¨ò Ð޲B‘ã–¢Æ>|]êÜìãxCÛ, 8B¬z• ç‚.H¿Çø”—>NªÇ¶pë®w¾Ò·ŒE´M¼ æ~´Ø¶è}^¶4qP®a’¸œgoÉôgXÉ¿1+ñ›©!´‹ž.°[ÄŽt|+­¦…ÿ,&±Q^¾¹D“Ûƒm؃”š¼Û7ðì·É4P¤Oºé_d_€ëçÙvÕÅÀI"•|'ëÚqTΪ ÷•"ÜùÞ‹žZ2ƒnfØ Uhß_˨“çͪÿA㣖뻥]"[ŒÄ*€-f«Þ•f4G±ÙˆTAÉ1=LGYG-‘òyA>Ù†áÛ …—ª(‹ÜÅ¡>9FåZkkÁap0æ©í_ÕÅ#‰}º,1–6 ÍÓÙ Okĵþ’W¢íHí¾½òä³­àŠˆGð‰«Ê‰€” {hnØV©»F o 6º±ë'hÎî/ʾà]ÍÒ‹¾ÿÙÂC‚’yð÷t7Ò \×ä:RÙéÿÕFdµó©·ïFŠë­ÿ–)€j~:Ü0µaV={øN£ËÇTÄõÌ3گʓݖ1=l†·ÅÑ”[Ⱦ-Sí#´¹ûÀЙÄûwkvsÚPÛE4›ˆšc–ší0…/ÐLô‰€v£7Õ‹·ËliÖ³K’'­ú¤ kø˜32[¾@]!Æü¨³ß´×§›öñ]‡ãžÕPñÇØ…ÝÒRá\\½§g:«ÃÅ9îc)2Fú·y@èìåjÿÄ,©š„‰!:Zñ©ƒA¬ÞJ9šVµã’ŸWL,‘¬ókÙ âÛntÙ;>ñ{Hw„é]vª~shXT'jv¸iþ”Àçhž´ŽyÞs¡I_ÅOÍj5 áLÌÿðY}ŒsÈérn¬Ø¹OîÓD¸jø°˜, {Öt©¸ÖÑaÊõÏ|³È®87\»µ3mÆyŽÝÙÎA^gL} øº Ã÷š¢8÷2LŽ /ôè'úÂ|°7?ï½c_Dc¼‡í×yrâˆ=j' ¥Ü·ÒEÃ]ûY½3fï4j(í¨¡áZ†h’äã.ÔÍëá4IË[B1»‡ßóÑÔq©¢aº©¸cí¬#·ÍÑ䥫,×¥a+Î<$*¼óUmLafÂ$j„ùéî8Fçm.%#$1zø0Ä AK-±Ç´e#žn¼¦Y Z|ÕáZõÅBR“Ä&Ý+žJåÍ'V‘¶×zìÆ˜4œsû²LçÐKä"'9ËÉŠýÕÂ8“¦a7iÁ»}ä‡OkÏ 'æ'‹¶ñ¼ $ÈMÉç0«Ì'^Æê3#‘$uUuðÃá8ëhzCÉkX®‹–Žv>„Â&]!œåì*!U‚`Þ­¡káË-äG§ 阎ðûsáô× ­VާÙøü:Ñ×p!|9Ë UTp‰Øú9;‹è¦SÝ<ç¦^öññ'¤þ#5F?g);&ß’¯ $Ôí/}Ö?Ôj„k®eI†¼c VGÒ+’)y”fLCmzÆWÚ(©ò†—g>l Ù`È%èF@0 *µ¸),Ó9q’ÒÝÛH9>ä¹ ¶ÆŸ*Šé†žjz¸Ã.,0 8«_i‡ÊTaˆÜDÙ/Ô*ÎM dóÇt¨XˆÊÕ]ÜÎÑÉÃú÷Oæº cŽÖ².Èx«—[í @ÇÍw$$LCOcƒÛ÷5OJš+ þài곞›‡ÌêE.]cã·r”æb~…©…*¸†É¸B ¨Ø'$%úg.‘jjI1'„ ZüPœZCy•yÛ¸W‹î‹Szd¾j…ƒoÀÕÐeý| xâb¹;Z-«ƒR[ÏU+N³²ƒñ«®X<¸g}x¨oTþ:)8¬èÒÌ6‹ûi;“>Ä7>ã•âͯô±¸YÀÓãfø¹;¸äEg—Ë*'5ætÍa0Ä5ÙsÛì¿Qñþ)ð‹±¹úUKX;‘:Ñ3öh€XÂBáI_§¾–í&<ž Ì9Ÿ­ªXMŽ)àŒ  Ê@zzìûð×G_ô¹ž ðuYqEßwoFbŠôå¶A^'™Xé[;ð}ëåÖ|ØÚAßq+Òß2a¸–ǵ^ãs¾sφª§?»¦—Á}™ô+!{¨_WpÑïnNrÓÉ*Mú¬¥ô’–ˆjZˆ«ráû'za,bTdÈ,Þ·á”V°Uõ<™rˆYâÇy#®‚ K‡ý·]f䊫 °þçðíãËÔÔ[lØ¡íj"ÝJN¯ØMpCO¢†ÕTñyÀ„Äð¬˜8M3vVÕ°,Îâã·œÜîùP ÓŠI)5¿˜‡ê•gØ|Ö LåMS¿\¹ Äùùm&µ+Ç+$>+îWè6~#v d²Fad¥âSãd0_…Äw²³Z0¼hn° ¨ëìC´¸Ô=ûž˜E¸uÅöÒØ Ñ= +”»-dK}ÉôÈhm  '[Ù¬`'áxjþ€©BÇû ^ƒÝ t¬€¹×X¢ã’–{Ùù%Ï*u;bÔ¤uÉuÑd‘¨ÞóÕœ[ȧ§×šüï–Ég®`²1`I¿ÞKI+íRmQÓä‚ÀOàæšßO%çGèrIßD¥bëN?{C'XL„ ç%•Óæ¦M µgÇÙ¹jîGTô‘ëÏ‹\cØOWuË3¶õ˜øöÞâçÍßÞ`Î9þöÛµƒü2È ÐÚã,ÂÊM˜K#«›Õdl2ÄB,’xu!鯽¸½ef áþ@ímû£Ö.´an_@ËL\g„d™Þ¼gžKæß Sß¿,º5t(,ß6½ªn骧\]<†RWºÒrm¦FÁs*Øœƒ‘)! ™Yú†og’4ŠpÎJýüJ‰ü¸ïfutŽ#Åþ{`EËÂc¤–ÆF¥™„FP2²šb ÉJy3á«M|£å@“-rQ‚KÆËÙ ØwæZá6™ñ]¾¥žÙÒÍ%G61—èNÒóލ?:ƒj+¶—G²Ã'A—#FŸ¡òð^”ò´Íºá¯ƒ¢ÎäÒY«´cÿzž‘ŸC)Ë?ルkü+öí xSŒwm&‡7EN^ô|­Ë,¸Ä^3êÍP& ”¤ æD grZÁc´£ïöÓ6;wÎÅ dÄ–6²‡ÀuËÚ8VHŠò.ý¸ y !t#YïˉŽLÂwÌV³ ¾à ¤»Jè\^XÖ] @vId°È/œJ?ùiÄÿÝþL¦{ê¢êŽÜé—À¥¡ÀYÝ´Ý0?PÐØ¾q×2:w¦ˆê´¡É…zоy<]^ÞÀÛE7øØbS:SùªE¹{áò%o«!F,®ˆh_&YP¼AÞø,Y©lÌí%\_;Ú·ëŠc2Cßc‹Íóˆa=ˆún·ª:@µuÞ oÌT/ç2nD¤Ò7j‰æú2 ToËGðØS±¥ë˜ðM?4YØÍÆ÷­äQ£žê.MïY» BÈ«è?ø@¾þãA.ýߌœ« N¨–Æ9ì9곂´¢þB§—(´`œUd/·rd2ŸXBNâ½€*ÈÑãûÍk÷10ˆv·{8Åkž7¦ù^ðïvP¦œx´–ÐÝjÀ/Öˆ8Ò‰šL­Ð[Ç3†ç–¢`¯ev¡âŒ†y‚ÅÖ-ȃ£c=+/Ó[¸C’–6Ò¨æ…Ðr5k~l×§`ˆ)“±Jø¡ p̃e£º²ˆêÇÚª¶ Ì·y/¨ÙÄ#îŸf»Rs-Áq•#N[Q¾´¹‚ÂÛÚµt»vtx¤½aÉH†o2¼Ðj| µZª²{ó_ÕS¹3fÖÂÁD³5;Ä24»TްÐ}kæ>”±JÃMSfXˆs24Ê´ÔÐ~Õ3D³²Wíl Ñßt/0hå°Ç 4³‰>ñÊ„›Î*Œ‰`t#¾¼ íˆÑ“íz…÷õGa¸ýqïJ?BvÍòˆp•p¡û0Œ‡¯§zbË7™E°Èló×À¨1”»|Ðû‚ˆò²¯·s‰’©?©$7 ZìÝQUÉa!ø陽°Œ¨†°ãªdÑfÄL'R`ÐPáƒÊÎM[õˆ¦Ï¼ƒ%7ÌpbÇÔëÒp¿6ÞµS+ÜÉ+PŠ êÆµë›ON:ÄïÖØ¾· 7‡ /ŠZÇoé×÷7‹vëÀ£tÇ ôC ]2&ÑÉÆçÙ©(©¬(§"e„[US!2•3IÌÏ;ÙñQLÆcJ.—T h;Xæ*f<$àÕ”etŽÕXb>0R€âLîØ‘T¯ƒY٭ƱÎmB¸€DFjüÝ冤É!RsüÚð~’k•œ)c9å襀xÙé keº±äòü–TÓ>ÎÃc=8ÅÎ¥+Óèy¾Ÿ†ßl8Fñ@º½ú/ÝMø‹ˆ×  šyQ‡Ú÷xV&˜ãÑü/Ú=ˆYžyGZæƒÖ̃»B&zërd5¯9æJÈÿí®`ÏÃÓ úž ½õ¾¿ãÿ´UZLzì¨éØ¢èlte¤UjÚijSXt®6Ôïå»ÐVÏû4[ ¾UW?~ `ôŽÚ c—¯†Ã¨Üü‹±ÃÅjø†9ë3wÀÄ.ÄJñ¦Ì2…ŸŸüÉߘ]³6—ÖÃ)ÏT”ׂÏâJsB=ªoà·a›95û§Ööô=¤G«k-bV#U.ix„ûïÆöSÉߺŽ__œ:ñIÎÇzÓÑ„ÖÅrs¡í@{Äaý©Ô*9E Ô„¯ÊqC¹?uU–“iq²“iþÑ×á7 |™(’0Å/ ¬oýX•@Fgô[OÉI¹Xý>(;-ÏV°v ÆF_‚CaRŽ›È0EòÎTÀÐKÕòñuˆTÚØÓ!¼ÍT¸Q›½O R,z*!,ÖÁLv}`§S|R• aö÷êåL¼9G·ïFMØLÕ Wi¢ý™!”×`k•ƒ]„MµÌîFUiâËHh6Òµw|)¯HI—Ø£ÌñWÜDˆ˜›d‚XÁ­4µV4pØû,%fg ÛÞæ2br•Î7.~Ú Ú!sŸ²e38LåÀâyŠŠ×ûšÚ¯{Gö£*îu¢÷T˜•·ô­3ÇÚËùsoü™ #¼ÄMICv*,¥u^=é¹™¨ðç<–ï«ÑاÚ?`dèè‹Ok‚ØÚÀ6])êhK".)`^ ÎúÀÂ!Hª&û‹<‘Ñ¿Eÿ¸"VœŸ‹-^h5r–7xî€'©n‹µëõ˜×\Ãoãïn8î™g½ys´«±åIN¯“®ÃXk9¼ yÅTŸù–«-…o’k̸ڽš(7Ml Rº °Îã’aq ÔƒR+;üKˆxÊ ÛGŗ͹×D-ƒ“£†ê&˰h›¬)kUÝÖY I…P€°þn}b:<ó,ò>ãCž.™æ!#aj¹¸í ÙŽÌ„z'‘Iõ1þ%¯öˆTŒ=%×¾ñ¸k¾ x%KNýÕJézšuíüœo(3]a<w1)êSîÇÍ7d¬KÅU£Óar<Ý‘¼ç·¨:Ô˜vãÛÿ UÄ£z2&ss, Óô0¹ŸÀÏýCl†7I°¨ ϸÝþrÑl¸HD*)Nh$¢|"ÑKïG“_˜…mÜ—pƒ0ò¸÷Én=Ñ $Ë).Þ/TÏÓRwºÉ¢=+;ʪJn.6?DÈ—¿ÕÙ‚°'üÜñæ¿Ü9jÀ¤¥™ײ£?{fìÔ–*å`?Õ+;ø2¤ØUÇ8ÆåK_pÝëÙÚý—OŒ2pŽù·{]™ V|,•ÂSÑ%_¾‹ L™ŒõÏʯ^aކh0Þ~PÔçå†ÚË7ïK8Ȇ É!ê¨V€‘ŽhP£èO/%0è)Lwžmjz“cCx6 zlc©¿hA¡èÉ]™:î1/ Ü2ûËÜZÎrm,7«#Çúk»ß ør0]ùJ¼|aôâZâ…Ëæ‡})Z7¶»ÍuJœ×c¹¨Éjcá»XÅÑ×ÝNœ¹zá6“çc7ÞhÀ¬S2¦ôÚT$Àù‡!®2~ôTpf=‚lä &ÀZ8 HsãAð>LXA¸¬å pÙ¨šY-kP¹‡³¢J¿Ž/RSºzJTd­™'®l_Ózí×o4÷„Ц%’”÷µyºÂË'¹;ÆÕ"“ÂÇê Q•DÅŽÀß–ø`z$lÐàæ;œ•*¼\9]ì xAŸtxŽb­Û§ëËüukÙdûB@”x.Æò¸Quƒ¦¡}Æÿªüc ‘‰™}¼­—¯Õ¡€r±„$ƒ6vÁè¯c¶nZí³ZZØ’˜þY3…-na˜w‚‘韊ղ÷\BACš&›;åK1²»:KW.<ÿ“'v÷/l@<¯»œÚ42?Ø®ÏPÆ~ŠT5K•€Ut^¨n$+!"ôÎHXÝ4•}û±×ßÉ,Á€œÉ‚Æ/v$•ÀÇRã¸çF[c[©¡ ;|ËhZÎsxƒ#_.ôä*`rø·ºÌ…DœÉÈ™rfo0LÛ÷È\*¯†|(þØE¤â Ò¤ÆúD!þO#»m1Hƒ )ÊÖ›l"h·q,É @í‘F;9½Šþøa½œgñÀ¿åa³Fy¹é5Zgm5{;…Ègàx\Á$5ÿË-"iÑ‹9ýaŽnËZ[ÝŸˆãò®FÂýR>‹}Ĩ"„q"—)©puq‘Còv¤éÁ÷p@ñÚQÆG*¡8㿘pÛOa´>ìi)ÒÀTWuN›÷FÛ3öáGS{¯/Ëí·ÝÃpkÿJƒTôcVtçm³0lDŒd;‘»É¿V ÷0ÍGC:ä ”+¨¼‰¹'•oêÈYr§ˆ¬5ܪ€QÓz^lP:ôo@×eƒ’[1;Ÿ|õ"“дfàü ¹2ˆ"ù¡ÿÇ @亸¥-½W²–Ø$¯ø˜FžÊ°GHœàZ›ÐLíØéߢcëhþ PÅŽ‡CêÒµêè6@#ò’:»pÑ­뛌c~ËJ‘MšwEA2íZÖÊwk{ªÐyWÕ¶Cõ|œKc††K¬ùàÔv,n±åMèìËú,TfvUœá‚Ñ-à Ý‚c’ݺ'”wÆÙ!æ4ÔÚV¤Ú¿Ô‚•Ä,#(ÇßáÌ A–ÑÔý… ì¼FÚ.Ç´]Ô)ïµ€ïÔj2+/Èj(Q œ ª§¯BKùUyÁîËI[T‘ÉÆ™â9}æ`¾¹ÐÇé_·Ø½I“¬” fz+Þ¹y$6¿€ž^àÁ(Ýä…Åp6þ"ŽØ*í#âéfr\¨ðñ"'K®œˆdžwÂV@4)Е˜`¬¢"Á±Å"˜Óër¯íÀôÿÇCZ7¬Ý r˜f²<ÞËwmˆ·¥„g)c¬5Θá’ñ‹Õ\/$jö€5$Õ41uýá%©ø:/,£‹*¸Þæ¬|Û%?{ËRs`a%âE `ÎqsG`SÃoÃ|÷áþk‡„E¤ŒuŸÓÜLPX1­:s÷|·Öü\ÁŒ+ÜÊTGÎn&ç¶ÃJãpPž&g£¾š1k¦dŒQ,žÂ(ÿ ÷æ¼o¶ÈÝ,ÁðúhÆlízèg5.ž-ȳ]µY|ó!W7øÑް:²Hó ”¤¸×4(Ö'ùÞ³^Ïßv“yÈQOv¸ÌFó<Çn䮉oòÛ¦WÝãªGLLßÿ{K¼mDXEè™×“Xc'¿ÂÃã°ÜŒ>L‘¸Ì¡¼¥; \uiÐÏúþ$6Ljuƒòts¬ïåÌ#”¡1R² דÝódÛÐÓãäìy0Ë×RõH3Ñ(ø)Úm{@×öß§®e§øÎÊ5u0»æÒ¨_5 *M{ºú³÷ÿf3pÄÃXk½HTö‹eU§/Ј¤&#О–!ú¯@ ³à]ûæíè„“®­[{šÒêp¯¡Uj ÚE×Ô ôÛi~mÓ@ÜúˆÆæv¢¬?+~ý‹”P:V·ÿݼ]RQÞÜs?%ú2¶º¼DàZ­{ïÅØeQ­¤–þ<«ŽŽ§{ô³Ø7Ê0Xb¦õòSíÅÔ|®¡¾ÁLû_<Φ†ÇXŽA%å­s%’™|hq‡·%g€õÀSùëA^–E´Oµº@BŽQ‹éÕµ±hç¬wqïî`§¬OOÌmcˆÂ©½ªÅœ ë6Ô¢”Ý1 ð±´³[äLØÖŽÄ˜¾&±SÞDNîÐV›sÐaËÝÚŽU'ét>ÿýýò4?þ*y_<ñõ6Ñ%ú¦¹#ü!)¬…Û|;7L¿tkܾ#†Û—ƒ+ÍI @)Ê4%Éxaj+°cIc ¥ïö;]Þ'Œ4îÒa;kcë2Ú›tOàË‚~;Gže–æx$|íÌ}¦0 ÑYÝéK1Fº+»!Á¨¯¼j…Óv†‡Ë=–¯]PáÚ§SR•q _Gfø{™L÷P[Xà\m!è¾hr²KœNcù”›¥VïǾ¯-DˆSÆQ²É¯ûã5Z*Va/k‘ד©ß™ uOƒ‹éM_Z8Vº°xö—èÒ}†ÎîQä&Y·.ÁK%…Ó%äXT$`ÿ£‘21(Ò«Ñ.ç&ÓFM\jþ¥ àZ•Mv¬ÊƒݣÏ©YW  ó¦D¢Úm瘎NÊÃIQ(çžqy÷4J¡º}›iwÏúÄïèæò{O˜Äåô_Ù¢Qê¼½u¶T)\´¼–¦÷Ÿ™yŽtµ‘7ÅAé/ùÏîp‰ Zj¡Kà‹ßeÐõ"ås YoŸWËšy¿7ŒèÿÊ,/„[6û'`Zwß[OïFÌS¨½å2ÃêR;ˆó6['Û Í‚Ñg»Gi»w°²i í:2¯œeŽ+-ê#YTÑB1{ÍüfýA'B™šåMÌ%ßp‚q=øq5zúUU†f´y†ë67fÕL¹-9™Òÿ0‰½åÒM8¯W¦]X½]T†G =©ˆ¬ Ø”M¥—¥,ÁqƒHi8’a{'ÌÜÚD@QFÅ‡ï ¡.Õç×Û»XTž?vDªË n犇½#Óù~œô•6$*ÆÝÌwuMP_U¾‘3¦ˆ¬ÊYj‹ŸVØþ–jD,é¿ÍN;¾Ždž’VˆtTU&˜¶y„™|â¶"zq²qg XJ]Å;aœôB»¼j›¹¬JG¯+ÌûP°”ðá¦vï·ƒ”ƒI?8Œç¶Y%‘ØE‘-r‰Lâ”D‘_Ü[òhõ»~$K}´ø± 9úDÄÜø«f‰)†NM‡JqÎ?)ÂR Ú7ØÓ I¸£TBö_¤^ò—½{$¼w‹€HIX¡˜®èûÚ’¯k$üé8ÿˆÖÞ¦YõŒƒ•‰}!Úxº;Pà®DßHðò¸Òó*»Ô| ¬>jwJ„ع¨½qHåÃÜrw" Ó^yhÅ‘Ž;Ðëc¨A[ X;Qtñt€l>¾!Žv§ôO„¾°àM„‘KmÀÒhã[P™q{œ±Ôš0œYoæ^V'±Õ¬É q\ë’ü£Ã:´EoÔmŒ—Œ¬[Q²§Äæú¸b.OA.ó§ÙÁˆùAXÒí¢îç²q“1PÕÁ¹ÙÍä¡’Hºƒf±ä,±LpŸ¨„Ä*¥J”¥ÚŽ(“ùÍÝ){@Í81uŽvrg놈Ž7aÈ$Ým1X.¶)X¯0\]íWóÕM|»¾ä‘ªQÒHK‡QxíqbI®Õ}¿<»Šcqx{A‡S›·àà‡€I%ZÞŠ.äÃ}x…OCþºÒ¸±7# kyk.©ÔÆÿ±ÞQÞÂñ XÊí«BÐS`6è5û}'¤—µA•PI³¸óÚv°1«Æ¸ nRyA€rtv „Ÿ ~Û™-+ÈŽ"zñV‡“žSö¾0ÜÞšRè7ϼw½ëíp’j‚yö¶;DajvzÚ;ƒó[(P3ñ c ’;ã–2æ[Q´Ž¢_“k³Ïk¤ižÑ©`¤ÖF¢ýW€¢c}ÂˆŠ¬ãïðìã:²¢s  nhú !Öý"úˆ#3åÏÎfmS¢£§Áu ¥ä쥯ÂöÚ´vN_‡ELo×Û–J߀^ѧßâ¿ ÚÝ5ü¡/(…ÝXne©á2î²x¹6ŒB²”§ž.¡ŽqZÊãi9ž»Ë¡¥…}Úú[ÕÓèSx\Ùlãt3ÐOY¥2??Áï?ÖªJJ^Uu'‰Åà?‹ªr7Æ›XJÒKeÓ#û"ÂûX둈ª#çæ›©ü@‡Ä”tøû ¾+2˜ÍŠrÆŠå'5ô㣦¸YI<=í¹ïú?òæ/º­|‹j%i¸Ø[Èí  ?ƒO›Y¢d Uþë\3g]é? U>ý¶¡4?™ï ä×"Òä8-˜ÛµÒt2`²·¼¿ÔhëT~(bk5hWGƒ²Œ»x¨"7†¼‹^ð$ó@®RöÇ ‹"Q'lqE«mœjn·Å¥ôðÅ¿(Œ3œ4Ô2Z¯xìå-™“zû¼ ~Õðå^…Ö´7Ñ?7¨tò³™t8qki—¿¡Ò ò†1hÁøWZæQä˵ôN{ØÐí'Y‚tw"À4ø)cP»q£.,Þ°ì{£Z*íLÖ*£Ó ùvÒ$Ôô9†ý:騵+;bZ¶Š´³8.PnÃÑfµÆ÷ÌâÐë9²~¾ø“šœ@üË]Ød†á„1äÓ’žµï²Mû&™þ}9ÊÖg'B36È!‘d„«f:’ Š#Ì>¼”õÈ;ýÿRÕ_¾A N²ÏïQÎ &N~áOÈa*)VGqt† ²[ÞêkiÓ7$F¾ªdž¶UHdo›Ü. +pšl<ÉÁ²ÃÃìÙE 2!­gª}w$¹C˜<-àsÔ wXIO-+`¢bÍ„b˜ç3 +#§qÁÀÐËúò¦â^Æ|Ý•_-Êcü×ø–R¨¹Gc 8EbOÉ©(ù3¹`9›*^Cî{ú‹Vw2Ö<*ÚŠ<„FùKÂ]ÑæôiK«Ç°-VK÷!µ³nGÔÆG¿\,M´¶scËGo]ãoO1¨Y³Æ–1ÊgqUÃæÀ\ýaÓLÀhâP–{Ä)ø‰óîDsÀ_ûYE¦k²Üvœœˆ°Úå¿.òv2‡@¢ÎÁS$•[]poÞÕHh[¦$ÓÞYƒK ¡Ç®lÝ)ËÛ?ø}cËÞo¯àF…ê‹ËÃ]*•¸ÿxS½#Ø0N¤¢bäRH#bî’½3L$±y%sjÔDsÀ?pPxM©Ñ³hî¿Ñ9ëšRIf|)%UX˜^Ñ íê颓w¯_=“ÛÈÓ±X¢±R}SèAѬo¸žƒi.]xéu¹*øØn€máÔÒÃÌIçÐ "ýZ?œèÚPG÷Å#d0F»´"Ö0ô2ëàYªDõL3Unº¾ $®ë:æ&ðýaí?²C“1mœ«ÖÚ³g.£Ù„›Œ Õ þ&})y_ó«ó}Õþ=ÿ:‡;2ö—¦¦üBŽ;t+W& Î“½¤ññòp1ö&#χ'–¤üFÈä}Ëé^C ÜÃg;Ó¯‡Ø`$X©$©ÍÝG’‡ WRo¸æñ(¾XCÀïÛ ïºCc5õhu¦¨ fö™#:¬)FìŒþ“¹'q1Çm¸Ç=ˆý#àÊ&cº³_ŸBR'–ƒ ™ò]oLõ}Aôw¨›ˆV??W懧‡Âr™KÑ¢_²VD1V'ã…™LËË?H¼¦"<¼ñÞîEÖSݤÞ"×ÄbN*•¹CucÊsæ@—–›n©g­äԚƂêT\ý‚ lí?޳Sðr»äç^dXvN–䡚›–f¯ßn1º”ÉÿfD)7ÓÉ"ˆåJP}c–ZCÒ0ìóÇâ1|žn{E 7qÅ£`k§vÊ ˜3Ú¶‚çÃwÄ8Ÿª…2º`˜`˜4ô*ÕÍP0iKÊRS;áv&WvBj—"¶v÷ùÕG,§ ¿òºš(åâ;LY•ïë!T<$2/bú èL™$7ýí½(¡ùùh¹Ë¬[t…ï˜dlY´2 !šN;—o¢Ç†}²½í×ûRßò(Ôã¹ÁkJ C:Wüf7æG?ÎTâFºœÜo?vÇ›ók¥¬ÑŸ.ÔàXì{þ†B%2…®ÏR¤xáúÞ.T{ ™—ò•ljî®­øRÁÛk þ0ê¦"áf¸œýy%Š‹õ½Uø2ÖDòÞWŸ`÷½æuŠ· qNöè°¶5§çÎÕ‹¯‚ja›dX&èY€!êáÀÛÝÌ#«ÓÔ-P¨þWLt•ÇšP»ª ¾®<é3a´Z©&–[ŠÅ< žÚ‚+×z tÞÀ3ü„E©YAôÿ׎òúÕ’v7ïp›Ô¿P|>ÈÁ3UjÅC=/$` ÆQh6ß^<‚øg®Ô¸,…–í¼¥ï‹nÙÕŸÍÚ·Ê¢%p~‹躋ž‡¼H"æÐ¹­è¥gmíwxÁ/ qžƒ×[Ì#BxqM¤à,äC,Oe8g÷ƒõÜh#J¤&¡:ŸÃ˜6áfÉž~¶UBÛ& 9ëCÌÍ È> €ø0n¹¦Ô’%oÈ]€õsƒÑ¯ÙÞi3?5«í}Û2‚#+Þ©feØõþiÓH·tu¢â}f1=ÉHÓIKÓ¶mdWÐpªu’Ñ P9°2i? 6pù5œ3YØiX©}Ë}¨e7ð¬ÌŒžW½˜ÿzý:Y‰PÍ>oûù7¸¤\4ïÀK];á †¨Xž…œÎ­gJš“½Ê_ñQ‘rÐÜ$AÃÛÿ½e«_`ðuC;S0bÐXɪ¥ªw€Úã S–Íst×!k*3®W<‡/ähðݲ_O×ó‘`/ø?-åêy¥ºVbâ^ƒ'¿Áä¹Ä#›t»ò»$YlKërqNÅgßWÔµ-óÇÆïuUeëJ"åTeAÖW%ŠŸ<•|—z kÏUÈžÖ ²A71øÙ'í¤Êv¤|ÄÊêôLëÄBf¡¨$:ó—‹Ü_ÌzBòÇ= N¸ãÙçõ+×ñÜá >gákÙ €u•ñ´5vfh³Ȩ̀töËÚQUqJ†¨:ªLÈ“>­ Þÿ¯ÄâóÄÉÔ­Š$þ³?ïøcFÿˆ1ìUÊ2Ø(Š­lQü€#H%ÚМñA|rîì )º-:šžÛÚÿxD "x¹ôR¸,3NÆó_I£É©|Z¤l ³;ú y¾œÕe6SSJƒïWúŽx€Çw 72ù»A½3è²6Œ'yIåà´7˜æ¼6ݵ•÷áÛoÍKZlétÓ+åj.$ÝêŽZ=tËÎzÛàÞéHw¿}‚4 Ø)¢túÛ’ŠÃ‘*42׈ ñP"mÆ·–Ví~…¤’N¶‡ižqëv¸@f´«“hô &ç[°}ìÅ‚jlS•¬ Þå)é‘ê~¶ŠqíQéYx)qOËy„¥ S_Ë%c•êAþ‘M ¨ÈÑDôÜÉ™X‰™ˆáÎã ÄnÍmèÁAå'µQÕÅ py_±¸ªÕùÎÒÉP:q ÈñÞ•bŠŽpZµXƒû•*ÿJ𜪃­ûæ91$5YÖ䆘ÿ“ŽFsC—íp 7ñ÷‹¬ñ")3$5UšJ׿G“ËT/‡â°¤ hAu®9ûJE)—pê 29+²¥`†Mê®§˜M¼©*ÜbË­DåJ><¯T3WÆOâ¤ôÿ&UǪ!Ñ‚¨~4s;×ré\Ú±2lü<r%Ý«ùëúC]ù§6èÀÙ ¦ÄS­eÙXõ–¿õZR‚êâݳþš}Š"Èw9ÌNOžßá°|C›Ì$eï—&-I^]EâdQÚú"´q<#z½î‹eȺ¡ô†ªí½‚/¥k:ÙÌ=îÌÇѦúÿž´4†ÊÈÔZt s;Í/Ãå‘EVEÞG0ÁØQ}È'ìãHï•#Cliµ¾!+óâûqÖðÈd"1MÌwêx=àS æïÖmÛ;”+ѧgŠ à'%Q‘§§]${TؘÁð†÷ Ûü ÃÝvø¥{ÒD?j\Ÿcè¨ÌŽ{¡™î„7L\‚Ç]\ŒòauµiúeG’¹‡Ï›5bOz­›S”ãÒ/Îì®ãˤ ‹Üì²G{­_”`隣3X²¬ùºŠUÆ3Ñø~aHü–t©PGtᆇ «I4'ÄÍçh9“‡RZ;wƒ_«./ÝE+‰-…Pþ{ü«¿U§¶8Ä* Ë2õL]¬ž‚½N°'¥ÖŸtÓ%lüGHýä‰m9;œëßz-ž‘¿o¹T€–~U¹‰OˆsHκ¼Ýã‹N4ƒªß`ûöómKûŒ*m”żCÿtáHOé9Hš3О;+«öژ׹‹'(x€‹Á~$ bÆ5ÃqBí3ºõfMÄCþªjû$XÜ´åªÑÔ$¨ ]‘Jîç›G”»S°r·*Úǹ–Hòº9…»ŠÉG_æb0}Aêž$ìqï T or¾]­ú:Úö…éÉ€Zx$ÌqéeÆÌx»‘è¤ßÌP‘ © @6“CÓsNŸ‘ •Ü`ó«j+Èp£ZþûFîÕ­YñKœÚäð… ‹zÕ. Ô†™¡m&Bâ*¯(¼I¥?š‡7‡£0IŠ v+¦`’ùÊ ¤€ºâªy»×òââÇÔ¦Ú†‘7pÞÊ [Ѳ”´Iõ‰Ò”m¬õBɹœ.ƒff}xw¬"Šs·L¢ú¢5sÞ5§H˜,ΗИû&r’–kÅ€£ÿˆ­_Àåe¡t í1¼Ãà½y™9Çww …¬“ÈCâ!ç9ê?!H1×cé|a.öz‚¾v•Ä4[3Õ’Í?g+ryu°ÏXU½vc¥—p­zmW˜Q7ïZ—nê‹Ð¿>výÍë¨/ºbµmÄ"bŒ¾…Ë~û_ÔºD*ñ¸ÜÚâÞ‘²ía/ý+sak@:CBLj;PÓA¸á¯SqM0è±½hýJË?ˆMì÷ç;ÖòOÖ‰‹?0çãÌhî·Ñ;À W0ýO™“Ž«{öR²ý‰n½3ÍKê0ÛLãÜìAɶ_¤]%§Ù„˜œÌx–ØyÜl iï'Ž ×æÎqÖ Ÿ)^nÃRdÃÝ0+"zqç©Õ2u–û=,Ý,Aß’¹+–\kIý±¢-©ôuTo8:.¹‹Üùézœ,’D¯U.ª²<­ýYrA×B$oµ’HsãêS´Ìž¹ÑåtpiízoÃíÿŸŽ·KŸJΉ!JÄîĖpén%’ÊGÈ3+M2T½.ºúëLjtŒÿ±ýÕîÉ/j¢µƒOaˆwcf8×òuCÙHºÉQ÷KªIToä±–Ù ù©S²ÚÅÒ¹â½G yQ§üí$-õájðĆ+˲4âõÿàp%èûWƒzãÚ÷4¶ö²»”Q¹Ñ‰S®.ÆnEj ì„ÎØ’s~QmÕÊ\z% HY¼TX†OsèfÖȆ®mêŽøÕ/óôÞþu›½¢Å" ³ÜxQóMJ:æzôNƒXzy¦äþÿQ]À^òUô§¾ –i~åÚJWņñ@¹ƒíÃõ­.b–VD¹ à šGàæ¸˜QCø«Ñbl{-h;zëà ٠gt¿_÷éÌi(¬eÑr³WO:®“G,礨3G*ÂH¹TnÛÈ¢ÿîlï&cD8*_Õ»z¢Ï×ÝBç$2øËlX\6Õ*SÛ]ЧFž‘lØw0¿˜Mûĸ¸B’¦ÓË¥Õ#s8%È´SÈPýòÎD»ŽŽO†ôã“UPaÏmq„t-Â}!Åðå`ø;uZ ÌÎèKù(@ìG-¶¤¼ë|ýNüY×ÑžŸZ%dÂÂ9–·ò,;%/[T#§;ÍÉ'Ç/¼2â¡BðПM¯<±¦2%ñŠ@Za,ÆÐvˆ^²büVþ±ƒŸ(­k<Þþ†j ¿Ò­’=Š©ïöħ³c·•>Œí¨ìº™‚ArDÌÅ  ¡ç)Y”Õ3?æ6ëÁÍ@`£?Í*ê«© =­é;‡˜ÙºêPTóMŽ9÷ø´Ï›©5’±!š˜ïêÑ‚ ¼Š f„6Ùûì6«©RÖÍ+7M‘ Ÿ ð«B7oÀì‚6µ½WÕ¾í.Sˆ?ÛX§þUúod†C˜é”S/ç^3­7gãm[RK˜(3HSaÌ7@/¼>Î(æüá9õ™vBÝ0û5`w”öFÞBó’rãtrmc¼ò¿ÃòìôX{r7 5VKÿ ÞïÝà©èlVñÓŒç&RD)O/Ü&†4 ˜FBÖ½ƒÏåã(Ÿ©A~/®>5 µéåéi0[ÖÈo¾°MûJ‘½Š ,I:±åÑwÏ)[÷ˆÍT‹ q–0¿*ÞîR§šT JOòôüi‚¥óרš~¼ïÙ#x÷X>gü.S¤p#ñÚ·Íq>}Ñõ´V‘q5y–$Z±×ð,mx'Ki(–äÍD¿yuQ-®¶ÿõéÿÐìÏï¢ìz:¡ˆC“[ÈYÒ‰z—óÒ%!>YvuAü ìcƒRÀ=‘‡‹ÜeíHÛ+kI´Ç óòÙÍ,ÜûÔ~w½e¿4æ\ÂÉUæ,É>ê·ÑÛ"áŠG‰yý°G1Ekj5ÍÇsP¹íì´ð#wDŸõ4{5õ£¦LäQ–‘gƒ#ñÀÝSd+¼Ñº¶Ø0Ûñ`Ñ%Ÿ[ö äÅ•C 9A÷ uù²;ÍQàÊÍYð™ã2¹ú¼K!õb^o¥b9Æ!ÕE,xèß͈^b;k+¢×PhÛ¼bÓk~´:-ŒÎ(ÍïÅ8\pÚ_f¤ýµK óO0xñÅu(憈F¶~q‚Ö2RÁ/t4+Y¾~¡Ý¶XZ¬^°¾îBˆ@²|·|¢šÅû`ô—h&ϲþL‚^ BÑ$–xÎúæHÚbõغÍYG„m¥ó>áùÅ!˜|‰Eñ¤@åtfil$Äɰ¹>@ÝPÝsRò¹;·aÉú€«€…PŽç×FÁ ¿F£è®ðK}°ŸiFÐ  ¢ ÒÁÜÛ-2{ºúÍ·öÎØöý@C ©%_¥¶’ípMß/¹…+C6ë>É '¸zýÐ6%-'îdÆÌ¬<®Êæ&Ú'ž€wz,I}h™RnÅ‹€á÷æ‡|h”Ù«ŠÑÑ1äQ=à«í'?Yk¯ãîÊë@ hT‚/j„öe‡U BŠ]2s6½¼{Ž?%z5f¬ÐT(N¸E²ã ÌÜTܬVUÃõ{ÿÎ›Š½Fîñe„0rÛá=ØHAòF"æ~MÌ'Àw•Dhô‘i"£øD}èO(4ì*‡3Ó´]NMo•K)™dÞ0@ y\eþÆ›ðÏwOÞ~WªÚû­ÄÛR¸U‡` ‘'ñ÷T‚I@%²±tN¸Á­Þ-ÚÝw[í‘cb™±¢…¾Ü®U’ùïù7†Ì¹\ šþÇ eÔâôü7ªmçã¥èÔ ';5e'&DÍ®jxÚ´ü &`‹mP¢èxDhíË<>ɼ²úž6ëf?âŸg^Í“HMl°Îéÿ.° TkØ=õðù¾¨R¹ìÉößCEÀ“sJx‰zNÚÙ!@\vã -ãÒa\v5ÖYbëúY¹ÆÌöwÙ4æ0–¥Ã=°û+ùô]éîø4N¸Æ6‡ÃgzBÖí)Ж®5—ø®ùóî°ùƬ˜<Îü !Y+§M’ã{ÙæßM´·9:¸5ØlL‚¤4¹2}ˆ32 oé‚Ûá…÷†sáј>Þ×ñ0X%œzUTê³8ž¸ü)[òÞq`7A ­Ñ­øZ©fߌ)„;z|XŸyYñ‡˜(ö×ÝVöò4€Âs$ ÂTë¹fñlË·à2äo-yŠmòéåþéÕòŠy%Q–yt•‹½8]/;–^èÒý ÎIHLiòý•½˜_‰òNÕ¦ñhܵ޷&å«—ñêà]™'N?ÙwÀ˜ØíDІêç[r]¥yHg“©oêê3¬wuûPd*wcz¬™ÇÊo Jå--$té­O©kܬ$Õ°êlÕ ¼²R·ë#¯Þ èQê9Ƀ,ÌΩHU_ÞJ†©™ñQxœfÚãó‚}=þÃx7íó8ú¥JáÉ• ©ÜvÐr²s{sõ<%Ú…§,ŽëŒ\æïJfÅðè5ð ö+ˆD55 §I14kö_AÚð[á¦9=ß4Á®êl°ñÛ²ƒÞÌo-Xf1™uÅ@ƒšB¹WÖŠY!f1;( \p!YG]ÖãŒ,óÍëXá‚>žÊ Vù×·4"¯Ö=á½k!Ñ]‡scŸ¸Éå´ô©WM§{{ÑH›);†²d…ögÐZÎ~KPOÅ|Ü Tc¥äC˜fœÿ65O…8û—:$ «3+¦þÈI¢xæ;HðtŸ×kÖ½/Ž<»EC;x-ë(Þêh¦Ø£‡Ž«U˜BÖÖÛ“/ øOí—Y=_Fɹ€ÓrZLWäðSþJ}õ÷¾ïMJB ¯ÃHéóö‰¡(žywþÝ"Ýø·¿ùs¹ ƒ­B²‰þWô6×|b{È}¼¡Fï"4û à†}Ì ÏùRüa—ê›u‰ãOÿ7¶B"îùÙ›‡¡¿‚-º‘®I{7·œxŸ'ÞÎñoN_ûw(ÂðŠiíʤ¯¤Á í«'­eÕX[Qñm*ê­o‚5Àoê 6‘@ÌKkIÿð“¥/D-q–RGð9»\h>¨F´ÍʕΆ*å]²3~óAóÏÓÃϱÏà´‹»Ùñ˜5¬nf;(³; /Õ´ÞuC€0-€TÁv¡d´€ïNèå5÷ÝùS}|Ž0BÒšÕ± lÚ$ RTÃï>ÀÉx¢‡¤Áù%—âÖ~o™t#‚ Þ+Çî§š€òCAr×{ꝵ ¯¤N .lAzén8ÑÍð†S"°×OPÍ;-µÄ2š:§ÃS¬™[±j¢Ì9¹Öªˆšª¦“€h À@ë‘1pHÊrÛmÓ`ä6Ã&;<¤Ü.=ÓúKÂÕ›„e™"Y)´¼,ãö‚Àˆ>Ò~ö¡Í¨aÓ‡H€TVKÂKÒi¨iÖY&ëŽò)©š;žV1Aܱ3)6ÞW±.ÔžždûûµsAÜ⹸ûçÜÍà‘)׋¶Ð éDO\Áw¸˜™gy¶ò}^®4îx“ +ê†ØæïñT^»{®.~ÜûÌvC> QOÅã»ìJUÿ cm#}Œ) ¿ •¥¢ulå%9 äK¥Æmö T¾[ÏKõ¢ps#ÀR̲‡Èoå¥ýÔÀÎÓýQý©~¸Û>/ê;šo9^è‰ßèÿ+íFgõ¥ó Jýh 9rÕÁ2ÌnoL<_Fß~ŸŽ‰îH d¥aM­?+–²™ÔTX?ßC:ú]²ÊóQÞ±¾Ê3ÿï3ÚŸ* ÐûFÌ‹MZ±õ:,/W«6³È¨Pëb1Yôm"{ˆË†}›n³=¹î¬r¶ ¸ã§i6§,ôÛ¿‘p`prÆþ|n,­ý£~éò%2·­´‚OžHùÒPþ‹p6'‰ÌÓª\õ^¸i”¥òÈWPG£Ñ¥à‘†ÐÜ,±€Â5ƒ{£*Â.¿Ñ…$qóFh«ä¶K ®À3£Žõ—§ûJÿÝ u²1(_PÏ@zŸ1²“E*ÅÅÿ.˜{Éììú‘=À™×èñ'å6@$ví—,År$íê¸Õò˜)&2ycúPÅÉàÈñ-×q59Ùšg^ ÷9d§y~÷Á¿A¨ùŽ©V:× MH¯h&®°SŠß<»½lç…naÆéÞBG>{·9¤RR¼,}¸Â»úB¼MQÚ‡ª·«Å=HîÄÃútåÈxc(OWAÿy+°ŠQ´ÆHe×¹D²y¹_šQ„„ È*_ÓdÿF¾@Þ¯™Úâ%™¸`á7¦cåýÇ)™w:@è+• ;”p¯8¯nÏÞ€Bºp-“ ±Š oý7ÎOjüBˆ _ÝèFû%:Æ<¹«»G´ÊGŠúEÛáÞs†Z y‡v!¹x…j6:@äñ I]”By¥sý7á0 2ÑæÜe 1LûgÅ—Š<ì˜"ðãlÑ}†’F? N¼žJ®–bmëb»ÕÒ1(ÙÝ~üw¨ðnp§XÌ„‚W—SFÂ]O%äBÎÚîì²ÎÉ/CÊ=ó0¶u@8ÜÓúŸ$’–M)X>×b¼þª-Þà·!4?•ö.\ Ìù>bsMÊoߘÕ_pIå…ÎÓäÇEðcèÐsž^ŽG2Ç*~Òp ™äj•[» ª Î%FAúhæIµÑm[ª]‡õÈž^Å(5ˆ‘J:ÛCT¥£Oúð>–J-o4 †WÑ‹ô¿YÆ)Eð…ÉS®¾°Ñeø£oÓ|¹å2sy $)ðTí¡MZŠeîlfš%S« ͦ,bN˜ÅMÌýw„QžŠi¾žëá³X€ô׺’ çòëª'*F;jc®§j/Qis²ÈË YÌMÒ¾1iŒ‘Ü!œÚfG!\•0íVZ°±Èq¡ME•låmv3“lzdËC»)`Øcp˜ÄéCS6Ù ç¹E«æ$Qñ’XÎpgÍøY²&Œ+ËzØJ-¨'Võ¥a>²ÿœëé(°õÐ)T qp­E ºØò‰ã>z“ï]Aû†öŠÙdD‘¨FÔIÇâ–ŠÏÿ~K¸IÆýø¡Ûn³³IÆ ÏŬ;´€†ÜQ¥ÈbÊéôMùx€‘Ï6„÷iYªŠwj-°ìê®;)R²Äž evw‡ÌæO(AøŽÚré¹ÏÒ»Ìæ£—KØÒ‡ ñ«Û÷¸H Ð )U’òŽ@¨zyÉ_÷Nš_éê¯2gÀ?TŸ–¦Ž$?<¥e” |[Ô¬«ùƒÚÂ\f¡ûÓ"V‰¼\¨F°H1îÛ9‡[g€ #ÉqIö”ÈDw«¥jŸn"u“çoA–âçûП·¬[Ô‘Qz/@jq¥Ò¢ÆXÛ¿ïƒÑGtå<»©ÑöǵA'¡‡d2ø1ÎÔ™èXQM¥ÖGõáØ¡Þ¦¢Û¼@§íÌ›; {Z q$"kOxHõÞ#I¤«¹SqFRB‚‰û{‘^ÕdÙ¹sĨ¼&ô$øÈà §2f_r8j=áÊý/°>ˆáç7ÎiïDb–ïH¼¸?=]ùÉyž/KßÕÎè×»H±uoK²…€Ѐ=ù¸‚r Ž™þ÷@û±Fr›õ‡fNöÀm‡VŸPé *Ø4pex1x :Êè]b†œx)An­öÎk‡þo¿0JñÖ7:o½qôbpÝÙ-Qªž!@P!Ë¿û'Hô`”_²’j;¹Oé´Ô½)O=µó€xÈú‡¶ø}’2EœÿY{¢%…•Z⨭ռ©ªVÉí®ÛÎè_«a¸‡­nOÉÝ Oýl_ž*)ýIŽšÉåâç8¨£k†I‹¬ªå¿x†| 'e 쬅.â#ø ?ÊZ#Oæü î÷|1E§òóo±½Ë:^1ûQïq%,Ú:¾ÌàÆ¿5&5€Š°+¦ó¨Vvyèö Qg³v^ ÝÉÊ*/§;%>"AûbšcÐ’× u¸±Å$ÙŒð§8¼C&Nl[“Šþ’›-:èxÛ­“úº°]—è?Õ±µp”QL½º¿Š ¹¤Cõ5PÇ)ÌV³ù7´É‡Dòb<©ÅòrÐ~-?®˜ÿ¡AÍØŸQMÕ†»Âú Ê\·ëáza›TI%aâñÜׇ'Ú" r<ߪxSM­²ƒ9¬ØIª7þ(qà+ìòj©€åMžÆIJr‡©¥BˆÂc`ÊÂ9›_:ïl¥9QŽˆ‚¬KßáÔRbwìͬM}Àö· Mˆ3=^rxê$ò4õw,›y~z!`]‘±÷Ùr=R^\RÓR85mh”Tñøªv¥x/€Â„TÈ,ØÔ{¾æöKä©q޶«/£b||RPpU1?¹f0:ð9(úap÷Ãàú2z¸·[GH’6‡ZÔš¹7€Ùe*ôà“{ ‰_"á¨vÛ' —çG@Ñ‚³ž^ª¢£/­€‚SV-pköÂQˆ¥l+áR&èiîù¼Â‘‹Â­ÇTtCÁA6^K(ØkýßëiÑDJéÕùÿE¼·ð‰$Vf$fÕ‰™P5ÅʧÏÄÝ6‘!ÍpÏ‚ )ì}°Hµ/¼‰} å3ö²®£w±l¤É³[B-íÕo;¢J#¼KpT(jÑYÞs1±ªÀßNJ­¨×¬]“,8’EÀ:l¾(å—…®ÈmbY£/³Þûž”ÎØš¨z{„c;³oþ[‰•A/žÊï‡[ô££áªã% å—rLs§z§[FÂï¸ôÕ¡}áG'#® ÕîêÄ'„ô« 3¾Å*’["µ—º5P0ᆵ—ß~‚U¬šÈÂÅ Ñ´ø•A*dtHì7’Ø»Vƒ)a¿(öÏQHå©êûiÀ¨_Y êhPÝø(äŸß½†EyÆG 78°¦O\ýˆ—ßÞ»¢2m›˜X¢±’f¹•R³Up¬œâ6)m=‹eôb.>q„ãÃM6ÃÂ÷+*Û=¤Ž|Ϧ#}Žê’w lV–ü'° å¡ÏêxÛcWkˆ!¿·•Òô°QSß„ݳTuÜÿ :~ ®Ñ †’Ô{SMôàežÛEaE#F5?À¯®b»ê ˆN»ÉFïŸÜL~Ï)„ˆŸ­÷CÇø>¡RgÈ'РûÞ~ËEý¬?#MuÎq²K£ªJz—÷=.WJÚúü vvŠ^þýŒC aì$†ÙEâ ú.Ø¢isܱòäÌ$üŽVh¥Ú„lªE3[ 56({¹Œ/é÷ž©²4~¾¹2±:½*%®×±A{RÊru·‡k@åu{>ÿLl8¢ù’¼[ë3àÑ*ÇûŽÒSk”yõ{T\¶•QÑ`gAÿ8KÉPulÂ~h ùµ—ì TÜX:kYbážØ6\gÇ ^¯Ü uW¡,×–„ˆo ÆzæÑO ¨Ÿ ÑŸ[ôÈp%é©aœ±uC]ü½DIÑ/¶kD‘„x¢oQ_P˜ì+A»…ö²[ ûºf¤‰ýì·xþÚMƒZ €®K„à9¡éœ Z-ÀÅ´©1"ž#JÆâu’8jNÏE¨}ØõñÝhÃø,,Â.œ%š&¸~âç‘C}¯jä'1“ä5¡ž‹¾R° z¢n*¡ rô6Ñr{„Ø1ŽÓ<„T‰Ç ‡ô(Ý Å%êòÔÉ>G´ù ´›Û ÝW¡óu"Àž ÆêÙ­ªÑqOO÷‚Œ9\Âktß7îòv;ÚƒÉ)Zw,ò;oÉýN[]›Q" …3}£CÒª"¥’³x›’•}4Ì!ú”ÿ Õ;x¾}êÖ†R´GÔê–2”¿fßj›õ¶ù²3Ý{‘¤ûùA¤ŠRsÇ6*X ór‡*C`(ÜTyÛœ.qÙœ\bÚLzî ÿiâòaµƒ‡÷Ê|y¾ÂDß}Ù5È fÞ÷‹¹ÐyÉÃëPj#]$_Œï•G²ÆUž¹@9ƒmš/1“'-™ò nU'?´ˆdÇèÐ*$J8&»ŒÞ¡sB—±±iƒgs%>%Ù¯ÑÖæHj µ©¿¢¥ …esMúÏÔ»Y³~öÐDåzÒ‚ý{\„ðnmþÁ¸” ›àþMÌb"s½õ j*%¡JÁ3~ [BI|ÊÊ‘;Añk“:6ÏPO™Ç§¢}èôw™å*I¼@úÔ`ô¯¯Eàü÷Ë^vUüL™CO¹U·Í@EÁÆÚ ªï,zxN)ƒ¶ü÷¿‚¹vh£†²ÁÊ?`†£ÙŸéãÀóoWKÅЕP’†Ë]%Þ]Îb6Ñi…8þìôažãFu†‘IíW-º¶ƒ¾N1<¤‚»é ,è=ªd35Lp¼¥·Þžÿç‘)ƒꨔ/LyÑ:ÄV>ƒÓš\èvýÇgX¥o¬?.)õ†Wêeæ'‡8#K)þ¿@f}(úg…±áÅ<8ÉD/F?mð™ ˜ Æ«™.|®Ðð»×´Ø5òú®Ð Ñwª>d¯ì ªŽ—*ϸ½ÅôVäZAŒÅ«&€‹tÙuƒ6ûÓŒT2ïÀ¦•>)5[ƒm°€‚øél Å3­añ¥ —÷ Q ß*ÝvË›OŠ—ôGi#õ˛ٕbʯ“]½Õòeôª¹dJ‡ÎJT$L[OF?KÌÝ=Æ]¾ûn9%ünCTÞ.m[P‚c{Ó\rþ¸3…êx»{&­3]yf½V¨2=Q1Û´ÙHÇ©A>•K7e/À ±l¯A¾ ô<‰VÃ’Õ×YõaÀö9÷ñ]ßLmúw´ Úo&Ñ¿Ïä(‡G'Ä0ÅÛ:š§°LÏSÈt]ÐÛ0pY*^|V.p7(Oó2„µ+Ò±<œjeˆÌtUÕä!ÏÞ ÈôfH×}|ÚºŒ°?D*ß>Bˆ}eÃNÞc0@9‰¹íKuFI$ÑVJvÿÑ9®6q‚÷LrÓ ¸DŒdM,ú/X”‡Îs》¾RnDÅàðÁÐ\ ï±e–o¨m"÷Á”ÿžÏ¼…Í?âR~ðÆº‘¡õÙ†b;yéÇp–; ¸¯ü'MvRㄘêgm,CÙb³k‚,»‘û©–<õ  Í ù2{HÙ×+ \MVh¢Ë{•PJÆ ràq€´©:óACfÖUFÁiÒ[óêbí)²ræ"%Óai!ÌÌLã,¾a®oÑvÓ"ˆýËÞù§ðQÇå2“”p­ÑÎfïòŠŸEmSúø xÄ=ý+‰W1ሯ}/ù3‹¹H/Fà*Ÿ’Ó…íè'(Ïjx‡§Æè«úãÖ÷³É·.÷|=u 8/†Ópµ:ê­¡xbŽt|Þ¡¨G!G@•T­²ìÀÃ%]PWDa¿ÆÖ«ÓŽoŽ™â@}áýÃUïž}ƒ–H„å,”Ä/ñÇhÙ$¶L]VRoê 2A ÏÉòLÛâùfäå®S`\γKzKð¤b5ês·ih)„-•¯˜eFf¯€å+`Ä›ºÈÛ­p7|.“û/¦&-ý2C7Äé“bdÅ®ãù&(/@rß­=•©ncl.%ñÒ_}¥L;¾¸g›A&’<èy6^7:MÑ<±<‡±Þd‘Uê]UªŒ#°çÀ)åN#õ €È›ubùÝ— pºýe$.È@ªttègã”N)ø.®H â{_ê³õ‹‡l¨¼C&ò?ºãºë§ý‘ÜIýI“”*ÞnΖ½Ý C1ÔŒÌ?3Í×ý33€P³kºnA{óLòŠÛ)¬hÆ*%¼õiñ¹ÜðÕ¤äëà¡ùb+ŠÌ{:™¾DÚkÝÀW m1\ …Uèèºÿ›I¶“AGÕO•.8âÂG A F[ë¾2÷•fwk¢ üRÖ¿¤ºH¥íq)™*ñ[s?EÖ^n®<¿ósyôÞÊøÔX‚½/—Ïæk®_ELËä׈ yde¶Ö[h  ³ýl1i _.*6F=A…óFYÁ ÀýFMzY,ÀßóŽ$íOˆ'|¨ï²SæJvŒ4Èæ§éz¤µ^œõŠðx¶üÓŸùqÕŸÛºXöÏsüP0ûnõª¶ñƒêû#q KOõÙL£c4V;¾WBüÓ»/ è"’£úá¡Xž¼ÉqkZÌ,ÀW‡«p©Æ#¦#üK(ù¤È+©Â½µˆX=½ƒJÝúÂCç¤bïK}R86Ÿ‹_,§€cõí”QÓqp;aòì,s#ÈH<?ïÃ×èù\%yGG>1©5—¢¹Ñ\›µ‘Ï"_gßç]ÍŸ:È_ò)@yµÍLý¿ÂÊmÝ|ÁÙNB÷­¢¡ÝàI ØáL…Á°ª¤,ÃoŸpE4C4öªÕ£i…Å$„"gÖä!Ê.Nž©x¾CÿJ%ôºq_It@vÜ)bìÉ~m0ut$PQ#Á@ÂŒO½µAd$¼xÉã¢Æ©žÝCÉÖn(ý0q¦–ˆwÎG¶$™e¬\†§9BV[jnϰ­=%DÏÚºwØúXÿ1dIìáÌè¼°°À³…®I.jÕèjbš ´C¶Ögj¤™{úRÁZ>M” QO<†ˆFQæ­qx[Wç @?u¥ê`•Bï%£ŒøÆE]Ý”Ðô>"ž¸þOåtcÈ$¼Kdm‚ȲŗÜû-’)ÈgâU’?Ïd8› ƒ{&b PØ>ʘ/Óâùb375öΆʼn¾é’õhÎfÀ:ÜûÛÝÎ[ÅÏúmy*k–`x Ïj×À¤Î]'»Ø$Ãsz”‡.G>mϕлXpyáÉá©ô¤Aìaa9ÏízðAÀ6¨‡sì”· H7¶ìýBp„”fæk45 ô<ïÚN¾ '›âÚ{âô×E£} »[Œ.YXù~¦±þü,÷³ÎÓáÝÍKT³ËUn•Ï…UñKç*²Pnì¡<)H?b} Ãb„Wg×$k9{pÂçhûÖ>­™ÿ‹;õB£“m[0^¯†µi/÷÷Xõ²,w,t¬[ݹd±œ9ö¾ó†v_‘ÌÚⱂ´€JÅ[OOiû•lîÀ„ŽëðV’ÞØ2ì«î—| ­ž"¦ª\÷³MIåäk/7~Xv4’@AÇt(jÍKã"u‘×S£6„ÅU©ze^¤¡8¬ 0n‚-šHÈæA›të›i0 ;y°{ñ³¡y3ä/1AÇHƒIïÚ £†5eŠŒ8Õº“ ²Œô‰\inß¶5 Ö–xa¼‚¡öª(ô6®ž~s^à‹4'‚è±ÛûÀá'–®j–0¾¥‘~à:MØ@Ê}±W·+1V`Ÿ‚Ñù7€äâê'Kº†5èL±Ó“'Ä3‰:‹aû*ׄWù&à/ˆ©¹#@¨›Nª!1«kñ<ÉýV0Á¯g"ß_%ÜÁJ t”4H ЛGÝǧo ¾\›ñ†Às¾qüT¢Ã£Ysu·v¿Ð Nöx€QHz5Uƒ¯Z4¾”óåÆè£¸l< ·{‹H¼/uï8GvFi88òµoJ¦ÅžSÈZ6¬¥N '¯·¶›üÆÖÑòôÆR"c3uD"yƒò‡«“ uÖÚˆÐi˜Ú /|ƺ·±¼î%ñQS5‘NáÖ1 _¥wê¶Ï‡&4HFëN_fB“éÁr£àDÜü_맆DÌaîŽÞ_ùÛêÿÌäB;*y•Á(Ì$UùÜØÍufºJéj ­Öxí§s’Æp»i?i—¬)¾yÚöG”Pê¢DÎcî6i°Ì¶î‚­—°í¿*Ú½±~ˆ PAƘ®“|åÌd?ß}Ë—Ó±bW/wS"fÈźóÀ&!È€ry°¬JDÌ-‘Õ oD’‘ާÐÕ³$"A³6(—@mÅ}È« >!±ëàQCrk#EJ›>›RêþòÊeclølæ]éH¯­*1´øQ—Ô0å(¾ŠV»¡ïžÆÆEÙ”wœF«ëŸ+AØþ½ÞsÂÝÏ>6 »uAÙÔÝ}uŽÞÝa\Ü\lmÈ|Ãû@¤}!“€ I¶|ê ¤J^¾ÕÙ;\‘C; Äoíÿ><÷ñ6 2rpãOÝAô¿"=n(æßÕÚž½oD(àRgMìû6ÓåÙí) UI$’ú¢ïûItþàÿPO% ät ‹þã “jtÛ“%nÒJÊæãÅp»@»YJ#‡òFè–«ÀY¨«Ñh²`êøFó¢³:6¨e÷üþ=è@ÀôÐ1zŠöÁ"BT[ >¥k×–S¬ËAÇ©¬á`€Ç|éM¢ÚéØê—Œl˰~ý8í#ä¸N\ü²-`a…t) ŒEŸ©b|ÍT.›5äBŽ¡Ç¾ó8C2N«íH¾ }v9ŸÂSÛ9S㥂ŠRfì‰Ýw°3˜cI¹¶¸zSë±£ƒ@åA3 ©©]Dèéú «s©ÏœSeÜ.Páèœ/â\¯Ì‡L¾LUï×Ó-”,­HDx@u]!•ŸŽ±~exb½ÁfȨµï±Œò5*Bžù&yÌ1U?P4¬q"„Âöf˜§!ë~>8’$pêðaJjy 6Áûh"umŽßvÞÏ8õ‚¼sô¼ùdUZ¹†Š ºk·Å¹€8OLÏ×ÂuJèûóÀ‹Ç±.f=Εjϵ5 UÂêját¸ˆ±Ú Oõi¤¶Xͼ"Ò,“ó^½ì{Ñ4Á7Ä›]O&*©c5¿¦7¥‡^¦ÏÉ m Cׂ݋t2òE©+óßìKfôX‰AMùèÑ»s,AÚ2ƒ/“,æŠ3 ­Úß6ß²{_ ÕëV†º…åíã¸ÞþmpñœðžÀüÕ u·¤Š^Üsg©>£úBÄæ†¡ÇK®oYK/λ0¯<'­Nú¶,NÝ]DÈÐ/~ªë x¯„NÀ6£–‰®·rªqF‘í| H¤S1Ž{–VÈ¥”À£/‡ó,ò~º+M®”QÙønti3.ÉøAÔêi#k0°F?(ßê^…õ‘8ôØb¿›¯+ϳÒ\Yé>|[#Z³VúŒ 2^ô«[€»”âYψë0Ïucˆµë5ðÛ_„­?àʳ|‘trïT/ýØÜ~j7eoÆü¬·;ƒÄ]^oÁ©§œƒÆ¥AçÂQ›$cSÚå ‹ûÃ~äµîx•„®*hΓÄYÇXŸ³AK_››ú¸àþþ,®É”nÃu#©ª¢ù¡èXôü~Çü‚ÿ¯â¢6>Ž xñ<ÎýlJLÂ*Çiìð¿/Ç2¬ì5ww­YLZˆú’ÁÌ0`™ÜÎÞ$©~]¡´\®4ʸ Þ‡çn#‘#㳞ӵÿkVbâ,_…X­é{º-*åó²#.=_>+£ø¿ã›wšÅ Üø5‚§GØ?ìØ­°¦ÌÀl-ܯæ9PT˜TÈD©Vœ§ä”ŒÜ G¡ yð@ãY¦t ¡aË.GùŠ¿℃»´tÎ=§²M…œM¸+¢,†(û)PuC‰è\xrÌ]/j &€½ð£«a«d8\&,CýËDîÁjÓŠÚ5£>Ð6]êóã½øeôc;ˆÈqk§ ösçUiå,M’ºt’d€Î3€ÚA:§ÞgÒ8 aÅþ(&Âc¬oqZYÚ#[¼œ“©äõ?dg‚he0‘}gÿtäã¸Ôò*Ù£›®ÄÛ…Ñ2Up~18`»eã5KsXqî襨 ;§!AÁª@@ãµ3mÊ7…àE£S« OR/¾×tþ¾|—“EÏÀ®MvyÙ*~Wh¦³kt —òŽlXˆ"Ð5ÎWl´ÿ“ÍɃ[öÊ|þ¹[‚Q…ߡȆÉ4»—¹r ¶ù_g·‹ðCÕ3qbŸ?kºaU"˜Å/Œ°!Æß:’lsSӆ˲p„rÿÞ¶;]#ØÚ6Ä|RN·» GÆ\Åc¬©þ•vé3zT2Ëã7®‡©ß¦²ÌU¡×¿õ0|6ë3‡±¿—žQÊqÔ|  ܰÄ@™ÙNý…¯€7fõëéËè2Äëåî:Ž)ÀâŒmÔ¸çªV 0Œpc NŠvMjã]½ýÙxu¨¿ €¸¢ÆÔ:¤˜¸DÓññZA'¨y„ïôÆúúôySV%’j¥òVp…;÷R©ýKm1 I¥ÊIοjGq{h„‚S}dߦcFï(“õ‚ÅC¨o¯¥(Õ˜!“󺥿!#¡ƒôHp¢¼¼Úgz×Û- ™c>ˆ¦ |úEÀɦDѡϾkGqú|Åðvàú¤p€ú˜ ×lÓüÙóCœL É]U¹ëÃÑŽ™HùtÀwô†„…òËûydû ×pqÒçÜ5‰éUãÆ”ä Sð•ÎNW9¨£‰” Âc>y¿hkª‰³øÕj…¨–õB÷k§Tº¤ºgŸVÓÎq·ÜÐAI¾‰ý^7µ üÂÆ¿Ã@ÿš2Ëô¨§.R5Ù1Üd‰–åÚ†|ò3@ØÃÆÝ¥µ|CS*¥rï¹:TR‚-Ž«–õØ“¸e„òĺwdTFOè¼|Ýi×Hœ1››% -ㆠHçV&©«JŸw¨ú&S™›¥ùàÌM®‚Ëq–eÙàÏù•"£¹¨ëâäS/HÛ¡oÒÊÛ#…½UFéÄ2®K|šê\nØœ%¡w¬hdÕ1Ç·Û*¶ÖÄMIÛê" d3æ«ë/ÄóÎ,½"·ùGóãd5$ôzjÔÜÚ˜`{`d•v8bg~ ±UÂùÊä:ž!"¡‘)•Џ®¶¢]*¥j%•+HWcý¢ óŠ0Œí‡ÞŠZÜDNJAô¸Å¦ý¯6Œ«—I5:öZœe '¤S³B¦ÁÜí+†wѼj/ì§C4tàà}÷§àĈ>¬+)àÁ•¥diPÛ5ù4±‚Ì´:[eåpJ+™ˆôå;,/yòL¡VkëÎÜŠ>î®nføÛ'ø—3;íÂjWÍ»Q‚Šò $ß'2ýrjmª`¦˜æeH.²Í_¾Ñ»T’æÅ9.¨ó c'·U)õ‰‘ÿ—0уñE.|‰Oeþ_×õb#[óZ8ù_ÎÈ·Cœ X>bLΓé´.‘ Ž æ{»‰¬"‹pyÀaÏßšëz!Ò}ìl{Ï„ž@§ (®V-;ÎÍ7š‡nr‰Ö‚¸9%1„RHd¢ßa•̾Ïkÿ¢H>æ[3 ¹ÓÉœ®æzª<ÿ~)‚ë[©tkó?æL}ä<Ü-R/ÁXtتÊ=>s«§²¼áðÀS~ÀZ óm’¾P49$o«_~ {:æ]Y‡éâ‡X¶îl³º‰—ùï“õ5\ÕÁõT ëV…Š­LA”9+t銿ú‚¯†D»­ºš3;mÒx|dênš†S·ë;¨o¿~"€3R¬þf|z Ü¯è*Ò.}«õZÒA<-c#ÃJÓ­ñòñ])Ô į}—ߢ)Œ['äà{.öSºßýId¯qÉÒ÷ªe0kAWSXHñ£Ä{¸ìPÎëU?!”Qc¹˜}\óŠc¿†|{_Äá)öíÖxM¦äóù6'ZUbt–HÉô©ÜdK â糸ã½(&½°ÞñÓ$"½ƒ÷cáU ò ÄVìÖðy EÝâs:6/ÿœ#gfüXï!ç“ËQÇgT,Þˆè"àêºJ?c å|Õ~ ½c<Éw[L{¼ž{¤ÿþÀ»Ì9RÀ鯖„ÎøñD%ð¨AéYf±KL°æ„*0°—Oh‚——• ~,¥m³ýmò6Œß1ƒ¹—xÁ >ã9ñ¡ÅºãejÙ¦s•/¸/] ÐÜáëAGæ“×Ìç׫1&d?…üµˆæ¾»=®z³ïÿ@—;¤g¢úG’ïBY͹Ò Œ2A60¡ ц‰µXû†ü°½ú]OÎ\!”éFGò÷õZ+³f°ê\fº´[§™~LhÏ4 B§w±t¥ð¥ö¸ÿ¯«?ž}ˆ`’ä/׎‡[É}œv–N¾¸¢V‘¨½Bå)4ìpÂ0N‚¹nõ¢§¢7á¯ÞMÙfëË›Nºp(tôÞöáÂ’×VsϦîh$¨¿ñãúý7“©{LñÒ½²pìAèÊìÂ2t$šãÌg¨kK¾FÔ[-”±^Æ~ú?€ò½Ç;3ŒøFæß)‰µåø ÃV 6¤»šûmá¨ÉÀƒÍ|ñBŒ¥·_Žˆù¯—z5¸2ã¢â&’.ïM—ý)î7ïœY6â•uÂéa_©‹¡ˆ»{ˆßÞ -xð+ªiÓÌû½ =öÔ%C4mœr¡ÁdÖ‚ ÐFÔü_dhó†39¾¿9P“DçmT¹ð«±×&äÀEÐÑZ·^õû½uK#øF…ö )Ü×í!Ä?ºnØ8­/ÄœtÅ6ê<óPØQ„QÐð7úp -øuÀÀâD£×è^Ÿó~þ¸%ߟÒj@ÓfÔ$Q¤âÍÐ0yãë’ì š .%H›ð´'l0ÊŠ°Eˆˆ€QÃM5Þà»1ÈèKî§B‰ñб[ÖÏf¿t¶ôfÐyg ov[¹ôÆ.ì¾Ý)'úzkÈ6 FÏÛŒOçàç¤0Y.ÿAî¯4!‚ØùÌ,§ôùÑ è€MsÝE¦í6ý—@¦›c†SÉ|*½ƒu„ÎÙ%£ƒŠCn^U‹d¦êK¸ø…îƒ`2êlŽ'ÂE¿½³Iªù¼ÿL zþÆÄ˜sp?`dÍŽÊ6ÔÄ…èª2æÌµ´%¿Ï"0ÔmBqÔ²Q9çØ?vœ„»• £4¶>Ï`"$}Qt‘#1¯¹Ùôª'S¯ Uñ‘PhÑÏâæô¤o£9üCøÄAMk¦í2-¯™fN™Í-«û¶³Ó¾óUxsð|gÕU¤·ÅsÂ?y‰¢Ô]3—aäÇðŸÛ¡ý#Åz>U0Ǫ²êR{¯‚=‰‘ÆÛTä~f„ST©Ý½Ì« à8NR]¨O®0¹ÈœðúÅæ.ëM/h [Ùè?X‚ {„«î¼Bœ[ÅݽcOá ð Á€'â³™Ý\§9EÙl‡Ð¥o\ÉA^Ný½±ªx²[Ô¨šƒ7&bû[rßÝÙ†®àh#'ìÛ £sýûÞQ€Ïx‡=üU¢>‘¯…o0ó éÅ ÞÉúJÇÑ9€«÷èšyÁBóßåA¹]3w`àÒt-øÁûLo·ÝU_sÊÒØU 8í婊抛UNAÕ¾«ñ pîc;eZ!³ÐRÆ‘'0ôP³ëw“–O.‰<(ïIÆ;Êì™±áE¼©ä á,#“‡r¾çDÃËQÑsd±›™WëÒ`ã ~4óh‚#:&µ‚ácኦ‹é¬ù7ñZzêmÊå6­s]^˜Q¨9侄Þ_q÷J<à[Icnẏb:=ÔٽܞDxàj€8·ù¹|ƒÀ=Sø{}“kÆQ‹ € ñõìA·V›­ûØè5¹ ´@rᇪ㉘‰2_6L‘&|Ýzê70•ìBÃ8ãt‰Å˜qa)„?(Öu`CÉÒ¨õ¶5ö-Eå„§˜©u†£4hœ¤†(ô‰ãƒ%\”3? …ÅH(_{¬¬Û Ô²œÿX’ /îd¥ʹVHÉ0rœÔ+ùîO©€Úi²ÝÙB$Û©¾}Y'ŒH6Õôx ¥02Hçyx‹éó.S’Is²]Ôþ1-éAª6ù瑉i3,µB2pý„ÅiW0±">ÿ­þ±ýîë¢6aK@?^cTð7•L¼‘ÊG€Zzt(±¹ôË%GÂTR 6 Ð3t[(y5<´¤³‰W½àŸs} úWܲ˜%ŽßnˆŒ¢ŽD£ì»mY*·Â^7°EP¶€gi‰ SÌ@ÿI„ ƒ ôSö‰’ªÇ] ÔŽÒ°÷ߥ”ÂÖ&ˆÈÛaKL ¼õ,y#!…Ö"kîØB1¯¾,O$LÆ”N´tÂqÞeX)Êi숫~ØTty±Ù£S3fÂfW_žLS$p#û¡Í3qŸmåD9ý¼ŽÖÃcªÆÆÚ]ˆý6/;Áÿh^ÏdòfŠ.r(¦8áWÖ\A£>påúÈ·¾ñ:sd‡>=–ÍžÄßø¯ßˆ4S«ù£Y‘ÄŠ«Lʰ+\ò%á²¢¸ï­ä«ÑŒT¹Ï q“Kðæ3r¬Ëq;Up3€þRé4‹UÈë%àö»3£T¨É¿Ô+‘*|ûJd sÄÔMîÿbo”·a%ç|ÜØµyÉC¹Â¯òjX§ºU“·V7.£·ŸjÈ3MW“jkò©f/)Â’M×õbeðèæšÿì hz[=47 Õ~²¸{:‚M-ÓÞˆ#ƒSTYR}m¶¨%I©kP ¡¶ãm1Õ¹"‹$§ ^Ü=²~ÒgÃ.àõÙ /Ñí•ÜA½’úãH°݆ƒRüé¿èh`Øúù:#-N£B“ Ò¬¶ªÈ“çzµ’?×ìËŒa UÈøq•GMÙ¶œ1%Õ³üœw`ƒ}ô:™]•4[I!—ÄÛfjã:c#Œ*‰umv­fò7E†¹¥eóøñ ¨„Á?,·±ùöbìFÍÿGÆüƒNÈÂb;ë¦i¾ì©º=³Æ?‚cËø“‘lgÛä[:c¬Gkƒ#ɤ?ÙÔz·„§ Ý÷`Ôw‹ÐEÀ>%5’MMXí3·F™.Ž+»®î†ß„ _!¯÷óë'çpE³î¢ ïMz<Þ‚âk³ÆÌá¿huXÓó³¬``2ôæ‚G”?yH0÷¶ˆÊúlÔKÞ§‡~c ª4üTæé©70ÖÌYjjÑü£Ž8sµkÆV$(¼?TnÜË5NÙÖäR0¨-æ&%Å–^'§pŠÜhG[wF8Fõ!rÍï› Îþ0[N|±‘??쿃•®¦>Üÿ¸LöÔÆ„¦³ÆÓ6à5VŒ+Qùõ¥P €]‘4lh˜]Ï o¯Ë©§fë÷W£f'–ggÅi?â†Ñt7¼ºÙsøM¥µšæ]¸;Þj2?& è"¡@Ý6}ü#Ã,Þˆ"ZJCò$Åê!,¢Ö›öÏóÓÎà™ êE¯°§a_¹SÇVc²šV˜½©yÍ%óö-‡¿vB—t¢ázü»#iᬛõ|lkµ(¦NRâ çÔnÅØ™º+%¿* ­É¾œ¶üÓ©í˜àÇ%Ý{¾6V Ã*Ù…ûTf«ÔÁ0‘ÿh4.}•Ù\ÌÒ,H똈8j¨ÓymQR·éOØ!^óp‘pçpÚ7 ¤úôÿ*{?þcŒ·Ždtý+Üâû]ƒ% h(\>Š\v Tm•hÿ©&‘:ØÿUÏFÝ á­ÒÐô’ÇÈyüå%RÌ4a³Æ U%QáúRgçòÓ‡ú‚`ÏÕu]¸ƒlG¢òB»i¯·“µdL­8Œ#7Š#FFTÙ û1»Òc³µð»ùIDÔ3c¸†Q@•2B¸¸‹'‰EÂæ¬¥˜€T=GdØø¨—·×wõ?Ë}Fuå8ý^ð1gÖ¤ˆ±ƒædëŽU¿¯[‰ÜÀBŽæ”'ǵðÅÔ›5vwøj °¨lº’ïlDRÇG‘ÕŒ‹L@Ä)ÖËqý[C¥šù凿V­½£”)z9Ïß¾Ì_K«[7Øv˜Š’Þ§G†÷3kÚÏYÍmzE¯\åš×ÕqÑÁ¯›…ØþÏ21£jІ†,®x¤ ek€qþu3Øún7Œåö6¹æ ) ‘«(4‘`ƒ Ôüú`lÿq`BؽO\ý°$vÛÔN•>)äÛT™'z¢0^éecJá’Dý×?Œu3žç5ï6Ãçz ]˜Œ¦Öüz~“Òÿç„¢¶VKïªÈƒ°/™,r|¿Co¸Ý¦¸aUeÿ0ƒ;+ŠQ·‹ÕHü—ßPÈÒ(\Ïæ<ëøDÖ’äjˆûoM÷«ì ÛÊEЉ~¼!$\‚|nà‘Ñ´<·HÞ¤×qý|v\e\hÆ;¥xùõÍô ŽÔaRìo-o ¢þÐ>3 LM‘;ÙíqNŽê‡v r®(¶z©[P‘ŸH{à»V»ûP-_ú_.s•K‰¤÷OFD‚Ë]9uFß1ç %”»¿.7-¬ ÂÂtÔËSÂ}Y%Qé¬ÀP¡®}‚w2>húí;ƒfP^:ÜS Ñœ5±ÌA#“ÍtQ Ên¼Ò(¡½c$Á¾¤GõºšûÿÀµÈĘb{@¯C:ÁšV·ÌTLö‹±ãŽu³¶©¶nÒÄÖ{mÎTˆr¾{‹iW´sÑÒ¿¤:( H Y±SÄþ[Ö£¥ #üT`¸^^ªF'`žè“êÒï!6Wë%´Úó³}¤×YÜLà ×üJNäb¥ÍçTm7ª]ç´ûfžH7YÓ} 摽Ï"ðVf㠮DŽd^\ÙH‡?¸­Øôþi–4ô’S±³,ü|0Zž‹}N:Àšô”`^$ðUq¡K‘8Uô¼é¶SöÐtû±«\†65~çä,U]^ì˜i ükö2 `ù­Ì^6sÚ†‚íPê‰aKÖJíp’î8òk¦µwë*\%ØŸÿqlCx0¾ë Î`øóU®w©|ÚAtÂEuÈŽ[ã÷”.’ö^Dñ )f ˜Ø<üÑ èÍþ'0£§afþ§ ­PT vùòªë2 øÄÁ¢$æAÙ·<¨¸=žL‡â2‰z¦9>Aîé“~‚‚@Èf 7â/c!Š Xº÷¬É¶‘¯¨>2ô_±`yÇØ¹’š°Òw§ /g©A[‰'_{uEÒ(¹ ?F2˜OiÅ=!ÌÕ¸`¦ŽC™g ðò5XÂQZf¥ŸùÛ´œ+W{ª¿ê, šÃ¢qé®m´a£ýG—ÄâD_WV÷ÎÔkÅB ”7¤ûPÿ“©\¾MoøªG5Fw!fBî0žü ÛaSZ⸊̗Ñ3ªMàw7ýû'¡a$ógÕ˜ĸUÿ¶QÜ? ³klØZÿÁ²Âñ^„l4”¥¹~8}T|Yj¢G%‹[è3š_¹)0ƒg]÷b /H‰ë‹#úîÇ>t ÁYzt!è Ô»Ó—'Yiñ)˜©;*¼#Š€Þ!:西¶ÈžÍѦª}W€¼MU÷ÂlÖ˜s¹J檸C‡=U.jŠ„jvyß8¤ZK|¹*ŠÕ1 ³Ìbî•ë¾)çðça‰~q–™¬oî)ky7iBº~Ï4Ñ;²»„Þñ :áht«ªŠªˆÛÒ1¦°ÓQ×^Û.¡rfX»¤¶ø3çþZÀyPš–€ dõf­S¸"¯-h<Ýq,ÙD‡ ƒ»¸ÅÇJ£Ýðß\Žx rÖ'x° ‡Ì+DŽŽôóÑ3­!GÐÀŽ)O–øeÅ{l6(Oç2{†O»i¶ç|öT¥Ð [PØ™°Ì Xy¤ž …S¨ïÌYûË×'²|wqRÙCV²g[0¤-4j£Lq/OM̈·y(ûŠÊžõ¿>{uþít|^ñ¼•Kï!@ý:.ŸeʰöîŽf@b±Ð;S– ®³õPäîÂYl>¯ù™7Lõ¼I6%êÆèY Á¼kbóĉZ– ­ìÌçe7Z¬g})nMiñYJÅõ£Gf¿ÌFÛä‹#~QxÉ-ím˜ÆF]“Ihâyçqç€x¨ l·/æÅ–6Ë銳ê‚Ý„Üt“ŽÆîƒ #"¦ð~,¤! ›ûYŸM©¢æù@yÉ`Ñša,G ªÏl`žÏzf½€ƒýŒµÌmï-]J0 md çÈ Ç6¹²ÅúŠïáÑi²V’ðùÇáÿŽÄ‚u„Ë<õ9qÍÒ®"‹î>6^rb¨ÖXž´Ío6ÌF~kÁØþ!úénÑ_ÁŸöÇáƒ2oõž<ê}̼%FpœLc¸Ç£ynêv#c¦fñm¬íãÅPZ^·ôÝG'6G:HŒDê¿Ð_Øò 3r&¸å[ÈmÊpq+¹$Oei#¤“6–Ž*ÔOPƒRQâ+.±(ÃÒЕfp&J¹ŸFÿK j‰ìä£,5ä†s^-CúЗú¬œ¬`úF–ŸâvDV0⼫žnîÛVÍ+(ÝTþ/:p~!É"³ØŒÅ¿Â›OαÚ!A;ÙJUvÙÂÞTƒ9þÞ¢î­TŸilÀÇâ`W÷~ú˶޾2ß1ÅjD¯TÅ¿¼åþ2ßKÔ_dUUbÃfE: œ^˜ÌtI¢ÔýžÎ!=‰œN¯bÇbL{ýØÅõw÷h³vý.Š? îÎý[åÙ‡Û‡¢hªrYoŸ~D6JÕOS½Ni&v[žÔ’óœ_ÏE:ÿå´Rw‘í ûÞë¥C¥IáU%!ziMêánŠüÉf .žDøÆ âÐöp‚õ/ÅÄf ]û­$„ øQd?i)‡SZw–Á,¿C—H®<‰a¤µ †žÝ›Q&$k‡¼Ê…™Ö”)b8É€a^Çó:–¨ƒM(Ï 4*p)>æL>¬ÊWãŒ'ÃmŽ¥˜ÏñЖyIIDþE0¼µAÄ-8MU¼‡ïÄy‘}‚Š EkYmU Œ22 FéOʇÂ7:oîlóV#«}T•ø (d½ SÇÏ`°­ëδÙóàDâk°2»OæÈÎóø¦ð µpUC!åävÇqÖê.Ó¡Ü‘ÑãdÖ ) ¥ÖϱæE=<¿ )Ò¤¸ Ö–nËå¬ažñZ™Æ:k–ÑB«G‘êŽyÆXdù7ŸÞÔw-𽍴£L7M؆|èM¢¥ó†9?dÔBärÕæ+‹5˜qŽð$•€IÖ­Âë¢äþ[‚~­Ä<®r Q†¤”Àhô0[¾2 ý¾|‘?“ýžR&\ßdÒœ ! žåœ‚#&ئïråµ’9¦ /¶Òœ(çéhËI¬c€Žÿ9¼dX|ÞP‹Ô³òŒ¹T¤5Ý6ßñ˜j©jifŠ8“ŽŸ/˘Òl5ÐÌs‹Ì›£©ÏwÛO³Ì¾Abìkô/›¡x*… Ò¯Nu×GúshÚW9²ò VaG{&ö.lúœ>[iÐ3É@p˜ØðJ‹—ü"dÃX-qiŒ·i—iB½Kº±‡)7x\íÞê7k‘ñYû€Ý£öËÅ®ßÓ’‹'{+ÿå"^¹gcª\×gÄSBË8úGÐ#5Þ¯„u¼!¿ÑÏBÛÑæÍh3þ‡Rpk>ZTb“œ4'á`7Žd‹ÈbÏzq}‡Ÿà5ª«‰¯ÿÂîT©z[½¿f=ÿowÉu{Ð'ÊsÈ òp\¯gÓñ–{ï(¼’s9XcàæÇö^[Ñ ¢ï33~l¦€œlÕ(JôêÌTïqhp£ÉGª†Í®u¢ŽYL,ìn™ÊƒŸ’è?8ìmõ©:çë¢ãúü♂µŠ¬j(*­•2 dÿ[=v[á. ¤"€8Îà¤y¿‹ºÂ"OØøEËp3b‹›Él›s†Ät¿Gå48.+—;ÑŠØ-£}Sƒ‡¸A®ñzjcÀÞÿ6­Êîü‚àï ¢Ôir ÞžZÕD¡õâùåø¶ÙÏ®sib’¾y¢²Ç‰Tû"€ÀàŠˆçKæf C¥Ññæ“0d¾©r÷ÓxƒÕ_Vd8¸Â9døs¿~Z`À8XÑðÇ Ûý9(€:à5¬íY¶òT¹I}„çú¾÷5ù%3¶E2H1º\Ÿo@œ'&ãë1!ÄX²@Q¡Oñ©MÈ_ÇzíÃäŠúÂç?‹øUÞÔúz¼eƒìVNE´Iº*¾[xôÍqòPf\4Ùj&^ë¶–¤ôõ.J°š5÷Ò61K‚äÖßI±Ô&†Õ! !E؆LâÄ\ ³Ý"ävbyyê“%û[Ì-†ŽËA«õ)`–ð}Bë2yI¥ñÓóä,¿ YÛîg¿l‹Ò  /òÈîòðC´hbybQ™ÿ_°ÀBêž‚†kA›ø¨äž´NÎ:1|ãZöE‡ÃNˆ*Â0!#õE)üOüÔí䬎R±£šY„ÈrÒ%&u‰%?èkú|VxŒ ÒÛžè¡pP…]ØPHœÀÑŠRqº]O<˜|¼UqmMìÇo˜U*d0£šmû:–ª?ëÅNʤ7PB¯W—gˆñ¹ê8 ”r8ÿ`s È7h³)§fÉÁëR¨ò©Ø[fzë½Ï†u»À»ûW¯Û]rªQ¤ß@Jz/~³]Ìàfõ‚ ™ß“ÏñÒ €÷4ÀaVúe°Ï02“ÙYÓÃ1æºq ©ôòöbå¹?-D¦Jq‘ØEGÞRâq았[4ÐÈ›7Ž ‡×ƃÑëìËÛþ¬¥Q˜5¬k˜[í…kõ’+HÈ-¥ 3E!ä¯íå&’­oË$Öò¹3]jmcúã¾%q_; »šO[¹Ü:ÓÓÇ1ê’ª¬}H¢Î+‹Y:z™Y¨:›Á¶1ܧÀ“¿êuiyp½˜ŒèßÙqdójGï`OSËq0'ñó—µ}ÍÕÍí‹”ër Ö œÐ^UPÓõÙÒ~¬B¢a³ÈšíroPâ„ß>Lxš®Žn} º“‘8ZÓ$ ~Â÷,ë(It*þ)ˆâ’qËWÜ?óÛºðˆÑôìþŠÙ÷b€7í¿4Ô:ÃÃÝ$%Ú‘¸G¸©#•Q¨‰. a”ïM'ËR'ý A Sœ›ðS²é¶ˆËU†ýþ¡ `Í‚ÄÔÏ!å× o?}.pu­¼cÖÿö÷)öòGÓÓhÞøß@Ç©¥D32 ÈÊ"ÅÊ,—n#ì:[$ë Ãs›|·Qêj6.¶7Ê0c”ÀíÖa]x`O(˜;Å_¢¶¦L Uåƒå)è ޶-ì1‘¸b·š/˱œÚ£² Õ€]3³Ýó´iýæÿnZÛMXÍ`‚)oë7„˜«-HÑ¡¬ÖþõÚÍ/>MV‘ Ö¹TIgްÅç\Dðqð’3 j°;ÜH²F²L£“aõ›a+Ï5 Ø>‡GÄSCñ¨É2G/i7ÿ/Æ#]Œ‚­0ͰAfÙ˜/¿ö3÷`L±ÚbQ¥ xLG?ôŠÉb%CÇí¼A>KÎë+™¶Ê±ÜQÈ\’Ùáå±ê”Çr4åêvñ.š­èaÌmXw¸p #Ë“>¤?†\:!,„NK×v2IQÈ¢0b’4Ìg½Þ‘™ƒ‰Ù­öœOI-ZCdbHíŒÖ|Ö‚/ì‰à˜-¿ñHÚ¹v°ÉñþËQ’2"òà§ßö|}âDfÍŒ¬<]+´†hµ-à!´æ›KC„ãî‘Ý%êÍ7ùô¾ õ¬ÄWŠ«o}]}Š:94r•y×­Y…>¥ÇOÉ:jÃÛê3?vAtÐóHA pÈW¹2ÊÊ ,Õ’ûû;æƒH¸ xèËQâò‚Ë¿*m˜®Ðqà\›Ï¾èì jx$ºQ«íœxß§ U@ys8éë•GBSÖd‹£í¬‘€¥ÖtRMèTÎdè4ô!np‚Un«Y-r:TÂ-ÑUOÍVþÂ&¯ÃH•¤º8‹8ÕRÌ‹‚á£NÏ#—w«lT0™¥‚ó=ýˆÆ‡Ò$o±ïà Ïô2û9dxäN…ƒ†Ïh•l³ïW;/&ó}¼Üܦ‰T';ÊxeiUÝŽ&]öž„—v '½•Žá(ÂEÞÖIÈ)Ðr.Öž›¾HÔÔz䤿m¡ò½—¡•=¬¬ï=Ãgh¸óÁ,r•ȧ4wÍ~Qª²C¿éõ$¡°w_ &<Öf oó¶+{ÞÆÙvlÒìºL4ãÏ Qÿ_ÙhDʲê@3õÌ~ázd,ÖÊ í4–/²y*M ìÏþ±Î^z÷JàÎɹp}.uòÆêž ÜnaK7„=G’9ˆ¿Ï8}û†^[Ë  åºlïLâ²2Ýp´¹¶–Aµi BR[ž‡=¤Eòêñ^ÒºÄZ+_N›e.V Êás8¬ 7 ¡ObßkÑiÎéW÷š·'Ò‡f¾úþ ¤¨§ÊØ5\–·B?Š—ËH[xO^'QÛG۞Ö¨HÂ[ß´®Òô÷!±(œç¡ë5‘Y0-Xw,I峪‡6¦5 ²Ïó)𦶗GgQ¦Ïoëi²“¿âCpI¯Ø—‰•'†žÄ:ÝÇù©aHµ|¼î»o¨?›«•4ü`¥nB.Û­Å(—øÁW&¶‰R¦[•Ó€¦È•²Ð5ïnñ5G<Ù~è†Ú‘˜Ú~Zî­ï©+@eɪ¥ÖVÑhgUk7à€ƒqᥖs§7«£çI>zé~Vâ<:d€9<ÀÜ{Ü«bC¯ÉM)©ð²“èfþ}µ0óüzA9周Ԛn»Ð‡,¸Êð5µ[T‹—»º±N$LYL÷@¦!ÿ„#vöÐm×c3V&äÅ'ÃJ%­å¬ òM3 ŽUb‘7Kz0âÙ|ÒÓû5&7óðʦt­nHË›QísŠ G¡rM›o~Nl€3Úø‰rÔ ]ª‘E´Z•ú½¾ÞyT4Û¤º$~ðú„•±3†”.~rhä?ø–óÕq¦0,“žä:‰·– ™ÂÏ2TÁá¬áýIÇ„åtBÄKóÑ ÄÃQ1Lîp¨AŽC*‚ ð/+õ»jÃ*Cà=8pê@F%¬KµŒN®³m³~HɬòŠÉ„½lI™“±™EãhSž7¤á]!;-æW!Ø ±& $Ô ìV[C8,ð=‡öJ6ɳO†€QUò1?}ïxq¤÷—–TаF¶0Rf'´²ý׿ˆfÏÀ,Y ºù±¢\ .¥:š_w¾*p¥v/‹líê÷•¿6¨°ÉTêLD<ÕãÚ,uµÞ¶‹§âÏ÷Ï÷ª,Aõ¤C=}´)ñl‹Bhï·ÚZ‡ãÚ3iÄBSUÕ6BÁWníú2JÿÁë{dfÓTì(_ïšHíì„¶ÖÝQhR'U¸Ô©yðy:Bo^¡»?t[8ÒäÎø¹l«“♾çñ§W¿]Œ‰V¹†Ë@å%xgÂÆ ü&]Û.°“ߨ²Òzr44°çd…AŠ’\y¨= iŽq|bþÞc]ÊH;ÔÜ^¢<ó=ƒáÉݱQ,™¤Ì‚›!éZ Ž:¾ + Į…ú˜ˆRâmwª¬‰È\7Øû=÷rœÒ¢÷~.>‹ÇŒ7±Æ}°KíÀ~[¦£ÇœD&—DE±ûв‘ƒ0Ïmª2€óÿ澜}Ob{e­ŠìbZŽœ)n"—}á©ã?êÆJ}<þ´Q¼£\íèê­í$],¡#Vúë4XO†.ì—3h&Mq…Df¥ _­ˆ`ÊáÈ»ŠË•?ýW%}àÖ9äZüe¥Ÿ5ê9iè‹`tò~˜†2¥$óql²éL¥-O—¡Å:|.ö·ÿþìÆ9>XóáOœqïÁÈj-~Œ“D3Ví©0îÔ>y<ìxo£ ꟻã/––‡‚ÓÅ[«5'2|^5¿ `ÞT¸ŒŸdhïî§ õøç|:coOr† ¡2ÊÄOêì³ ¼´‰>wF)àyîOÂ%ø9‰.ןŸ<†')a¢§]ç"h k-qå­„| éìû92H¶UÉ:.Ëÿí²}±µúæ&÷Ç*Å„¸•9_”-"erUn}ü@™°ýoÀRÄp™F¼Q¦#:®Þy9'™Ðæ>NuçϤ©ûñÆDk(nâèA^´ß¦vᄌ Q|«t4`%º²ÿÁ٤ɪ_ÎEC;ö;‹ØëY{UƽÑ2&¥ÛʇéåÅ5³!MÐt5é~@c"aµî®©ä]‹®[ä}³Çts)qì÷¸(š¼/òJÏ‘Ú[„4ÚÑI¤…óqÎþÌV¨‰Ú-§[)=<ÚOÞž70·B·m´ë¢3æNú0ŒZ¦ÌíÑÆ“ÈTö“§|k²ÒâÁ¢ÌXÂa ž¢?­Ó’Ô@<ÈÓ'|§ØÈ]ÈdºŽ]AãÀÝu¶Ä¶KeTNçEÃ=÷‡—ÖAïHÞ7’ŽYÐò úIŒuÿ±þŸÛ‚ÉNs6bPeê!Ë}Û¯+ØCúOáÂü.JñŸ0“nÞ]‹ªç‡šØ(ÌzNÆG˜ÇᆷAûÛ€Û7ÒhÚ†ßV¶›9~–BÞHŸìõíè„ô@_Ê»nGê2AÓ±øz¨vÚ-"7{Áì³×úô¨ÍbÏo·AÌjEè.ŒÑ9Ɩܽۼ,Î:±÷¥Ü(œÊwR/xß±±”‚\ˆÌz8·ôj8ä9íæŽËŸï½ÝF'Péy1ðÄÿYž¤qW ဢòÌQšXFñ*$7=XÿÔD¡Š“/9`—Øt%ñžc%—€ÄuFöÍßÍmÑÓ#ð«Ê5:™'Ï8õéúpRL¡k¨gþ2Íg£TÚ‹Wæj¢­ Ûo}³äj5ƒ–ƒÏ*ÛJYOd’cÞ0Ǿ¿Æ¨´HŠõŽñü]/†Þ^ê)š¸+®¤$/!0 ñ§7}yw,ŽJºX“ §²Ñï%yޤM¯ä #×4|­ºÿŽxÓM¼ôXG;{‚¬2öíÎû3œ`Oϸ@®¹±5èƒ_×ï/^i¼~êw4ïÁFÉþAm¯G¡Šò¿tTü4¦&z= ê ý¸ÞA°–uKÍô¾c*]ÐÉûÉ3ôxíŒ-wá<ŒwIPv«ÎtÅÃêj×%µÚ•Ïì ÓÈþF„Üã¢|µškb xªTóÒÂK²-qìéT¶r?¡9Ä.,×µ…-I‹ˆ"ã"uäí6¬Ì†ÿáÿM •µh”íµÕÞ¥k `1»0¢â¼é÷[$¾“A‰­yê iÔ-²¾Ûÿ%Ýäìš¾_SöýaÏ>Ÿˆ¦z_5á ’úÚ-@*/\õË"®ràõΜ?Ûø µ´ ’äÜÖ"`ØyŽìØÃså£-ÁÍlâûV|—ÑÐ •á£Æ’FúÓˆe6ŽT2bK;ññgs«êg„7|{­:~˜1žªïu$»5lª¸;ÕØróX?p àØc4¶aøÖÙs•êl!€”€œZÔ8 ÒçþÌ ªÕô_^/P³L­Ü0ÎùfU„¤‚waLÊ›ÕÉß§Îë,»!Ü«7§²U¥¡0NútÆ6—ojÀtÃK¹m3C ÿ¹¹­pÎP¿5W:áI¶ž;•JÆ‘þUܲøˆðŸó«<%eÛ /¶!ª×,^€Ùº¾¡ L:A¨ਛ•°Û`€ ÉóN^Úp²ãQÄ]Ѿ_tªÇN}Å^à°Q¤‰ŠWÄ‹KKþy3yzÖíÓ¨Ž'-R*üœF«°â¥T›kjþµ—c$9·¼µ.î6øH­5Œ=‚]` Õb2Oºˆ5>å#1Îì83¶%ïàÌÑØå*êZïHioN—Sí† PLÝÚ·ïI{Úf,™­ì ¹"V— õ4º×à¢6ÔAI`=š·ÿnLPgQ² Hr½82jâ¹?Ü—ªÏúá®HÍXЫW]©èÒ8#5y]»Å`Uuz!B§ pQ˜ÿmnŽU¡›¸—ßÀçdPÛœE%Žƒ¶m‹hŽ_ªå H …Ž­ÿƒÖ^kX Bn:ßÞ›ñæ{Ê_b½ª-Ø¢y•Ͷ~Ÿ·å•óõ·áŽ=¾Þ”;—hòÐo˜3Ÿ‹!%§¹¦›5W(¶8(Ü”!€‚z¿W7`iÚºÄ$êV៾cDCgÑQÛž†'Ùµˆ£x´Ð> ‰õ w1ÒZTÊ5+¸t÷ª½çx°ßã‹n´¹_û_Õ˶‘ÄÜ„«øù6Õ^‚Håò0ÜL´(…R?Äp¿ £Ó7?EKÙ‰þ"æ9”æûÓ5*æ½Âú•%Ž.°¯¹[ ì/„›5ÖÚ’æ·#rÖÍ4UÅ"·z±ºYÐŽ¾W7Béy„váÚþœY´ýã Êž<Áʇ­äùìf¶hZ‰Dß#,‰TƉ˜ò¨¾²ø£ð<úö)ûUWEà¹ð«Ï6³’¹'ß©uGlŸÐLꈑ̣µ0!‘1|Xs2›˜‹Ö×xË<‡$ÞãZ—Hƒ”è´Bß9•·‹;f×n]¯_ÚÕÔ9B+Y‹Ùû0n®sçñ›*v·y›-Í6 :7 Š„ éyÏá…UÎ?Ps!Áëîõ!KÆ<´EZü0¶uI­ bH&ºÐ;*âÊ0v"X'¦CxéYdßÚl¹Ù0€¸ÍÈËô/¦ù6ι‹­!®¤KýÐÙXVÁåÎîËþ7Ô¤ð­¦1Òš´³Ù{‹Bv¡R5j?k|Ðs „«øž ×4szýøY).Ý·ñ“ðÕV6çozÃ5z õ:|jß&©PÂÊ•ÐEP#ú«Iªü&Ú¤ßMw˜ BËxž­Äv§Z'ù@wðõ‹'<y²*_€`¹×r.#Øÿh“ “À"sÄÞ·Äñæš¹yu«ÊiÑÝ9µa˾…ï`¢§EÑÑ §^üƒ³ Ú<‚W´ñ¾wZ¿éÍ¡­Çf4¬ýkp´†`½6pÅ)vÙ“ÕR$>eQ4uÇeÁzåzñ8¡ô`?¼Š¢ÕX¿>ª÷Ùšši꽫Ífº;W¦ëÅ úw.d–`@ª¶ÏÊ+V™ðEÈzÈ^”oNRyDŠLڲ靖-à’ƒ²1úWÙ…¤Ÿ!T‡”mkï×…®ñíü@˦ù$gUŒ®d¶.ƒ°CEE6Wç¡MÕ6-AW¡…Ps›?l¦ªÏ· ÒÏ/ÁÒű€[ñ vÝ’rÚ²fó΂OîÞÖC¼¢=6®‘ÞUï´¦6¿ðÇgéõrTKýÉ|ï·èd׺z É¨²Dcê¿[©JB‚§m!&½ò ©³<ÿã›ÄBŸÖ¯0‚9cÉîùÈ’%$òd–DÓ/Ü](æ3RsÎü–˜#à].ø g$pÕˆ ñ"ÉŽ8â~Rÿ%mÒÒþùáâ{õ¨”…u‹•XR+X©fVÚí}Ô›AäëX—¡+°Ãž 7¶^Sd?ŽÚ“ÌÑÏ™¹z@'§` t>Ê6)~Éã±[£žò $gXؘ;* ¹ô‡z;«üj*Œ©@ÇACæ³ZPënEO VPÕ *%òDJZþ¦&¡ûo¥j/„e)ŠaÕÉ–&¬\úA°´ýÃ9º‘I]ë‡ÉcÌ“&§:ñ9Qþüa›À %¶Ê†…Ôf[5u·ÅÍ\òÕTYS<Â9ùX¶> ãCm#÷óß{‘m£ª‹ŸœÃU”ø’½¸DÉ€oJ÷Gsôp/J¿_|Ô{Ñùb:Y<­1óiΚ1㮾I†š‡u~ÿ ©Æªû¿á̆9myPŒößüGÞ ^TÞYKתŒ)ÙÞÉô?±¥ÿÇ@òåËÉ=;ÛóJÞ½uëÁ|Öá$›„ ÇÚ–*½†}n –'eˆó#û’5¿ÏèÅ©¯‚ú¬™”Ÿ¤õNŽ:Y±'èd¦Ÿê!¦çäDr«PâËóSï$ÁnûÒ(î5Žel7oÏZv„P\ LyŠ W´›¯`( è%º% †ðH¢æê%’–l¿M).‡%ó˸Nõ$« måWTýÖ÷1ÈÁ¿‡ë4sÇc†,qƒUk³eà–´Gx>y>̤ACYïŽë›ší&.Âÿv)Êéj“—×»óM*C&kÝ÷éÔPXÊ5™o,¶=Ðá×Å}Ð D”Cáì ‡âWh¯µeòéÆÈ`ß@Ë€véœ.~G ¯f2ei>ž©2¯rÚÑ…exÊ—7äP-ºÒØqÇ‚oÈ\##”Ên!L«AÍY€}ǘpÄ h¯¾XòÝw®”; 4[‚—ªpØŒS¶œq+ø‘oùäeãÙ;ÅM?ôRoÚz¼) òÓõ ì@¼ÇÓh1}Îjõ(¤Ô/™ |Jg±Ç²Ë‡;A9߉+xdîä•+7¬v¸ØX”–¦¸.aë+D;°.ÍöItØXÇé¡E®R :óúË×äv]Yny“'gsDÁ0 !v¿þ-Ð Ï(¿¯u>átimˆ­ ¼òEì%´.â&—‰ ±ž“ ÙÙ;¡>T‚¨ñó¨õJ3ûò 8žn)Wd•\×ÊJ•‡f|2oË&áõuÿ LDÓ;˜ùJ㪛§íÝÇQ«»S”~V™+,=:ÊÎ'ÄÁ.yîèljS/¹aÕjœ,/HmgF@¿qbÆæ»)F™•Ê­¥‚“éòY½µ¤NåȾîõŠèÓ3aººPem‘|f±Èq{2”"HGÇ‘=_ȆN„Æîî[@akÉïEdhYüŠn`µÌ™’]"³“#šž¯ò´Ð¯B½‹ÓHÏ"™œ­˜žz´<Xcˆ‚ 'J^ÇsŽ€ø<Éë(5«JF^V@€AÛ3þ¤FrºçþœEk~Þ·g%dá`›êÿâÏ~']_ ‘‰y]¼èh ·Œã0ÒöÁ¢ Ïœu4Ü@2„Ѱ̆ç6iÜÿø˜{ÿU×øú,¨°—…Êl·R]ƒÉ·KKÌ ¿ÝKì}&(°"¤<½×ZVåÓ¤÷¦•œeÎKv¹•ð‰Y@¤mF‰‡–^—þ,*D@ì3£i×1Øž’¿\Ì”¯ÚeûUŒ®‡¦Qéᯃ4îoÏ„ n®n…|ïŽKt í0,âWÞ¥<ÜXœo‰\Ì+¢Z~¬|O½q*Ôkܘ2— S‡†ì1 Øå:íá+a7ØÒŽ w˜ªWE»Ùq~œ?O^Œµ5Q{¯¥‹¨¾õ^åcqO ‚h6¦9¡d[psFù§Á"<¥óm‡n6:¥>&-é3µœä@4ÌèÉ´VÝtD¤¹yµsEÇ ÄzT7"ÒHÂÿ¯§Ó~t*ªø¤#¼+¡,nAì¿+ð*¦ìxKäIÕ&8á†óÆÄfËÈ!ß> 'QîáJ~Ƙ'ƒ½‘Kü3ÔC<;BZ©rx?nrµ\þ¶¶Ø],|W´wZ$~øŠ×å5ú. D-¼¹<%pKC"S}²/¤#`ÙKwéÕ”.D<~á°Kg¨z Ü¿·Àe·±þãØ@G6QÈ¢ž]® n\6ÎÛ’5ÙÝPò£U…EüßYñ`q?©³wÒ`K»1X<ô¾¸‹éÊ–)rʽIBÏ¢5¦N,²šä)ÐêYäàÜœ®dÀ]¦êõaÔÑ(º”I»¨Z_åfö+â!"ñÌÓ©ƒ´2ϱ eb¥]oìu t-½áOÑÂITüg•nÞôúrÒÁãnd2QÂ.4g œ…dаp°Ù’Y0cí‚êupë}êo™îÇpD¢°Çè—yGø¬Þw¥P Zej±6[f×hÿ`SÜz/‹3~T¡´¸ÑLgÔªÿº.¡x3YbŸ\g‰N9èª'Taw‡BY÷£þìØ^Ë I-õ­á®]§e‚{Ǽœ“Ìí7ÚŒ“§o2¶Ì#Î3N´Â`µ˜~³àBAq©dzïö"5„FyAƒµ1Ö=EþÕƒ+uyÓÙ4¨_"Læc6ë_6D“¢sd4WÌ™W‰U“—µR ÃNŽ1Ynn#‚+𑹠’Q€}GФ&y!Á**gsÊR@F+#Î4•½Žÿup„ñb,ÞÍ5»a£]µù£n)øÝîK(C‘Ö‹-øEHŒ@ÐÐ \ ìºòMiW´¼Ì¤£R ƒ‹Æ¼7¡? U±ÜrÌG¨×¿‹Œ^o÷dƒÚL‘ÇÉl;½8à6Ía~ჭ´?ÚÛpÙ¡Ô—÷ Ì¡âá¸Î¿ˆŸZR§æBüsi†aJ¾* ~JÏ´ŒJó¤ÌÕ>ýñÄGªåHìH+Á“Îl¹ó!nä|\¼:Ÿ©Í¡mäYÅKÀ¤*Y‚{wÚ¿ò¹Ûû·<1¢'m—œ³.¡²¯®™Hí¾i¿ÁU?]Å©-ÇvoŸÆê0®¤ì~à˜kÉtF´>}Ð$¨R†šÊ€tèQîEøŸM—œè›i>{FÏcnª±„›…ÄÕÓ­¥¬ù03¸:XŒ‹v‡˜» §ÈCd4§ÿç‹Þªø ÿZçyç°0º@žþï´Á[Îå ýL×îâÅû#¬õÅ š9ÅL…ú%¶YЄkÅÙ,4 oa}Ü,L"Ÿ=–sÉwñîyT¾ÙRAýH%ÕyÀCŽFؾk@ ¨Å&\€‘×0LS-C³%žã¤!©ö&ãDú}yÊáò6÷|rnÉÄ£¼D0»GWM4ïa;”Ù8xXeGy$Þ•ÉÙRŸ\\eémó÷ûhêPÏ];h,ÉñæšY'¨€Ñ6ÔÉ+ììku?£½á¬%j“tû)¾TÒ•‘»e­PâÛ„Ä–?ßa>ŽWcêõÎ4mfÇëÆ ®Q<–C ´Éiˆéû†Aÿom~T ¢vS72nôMk¹º¸T²X+ÉYžÒ.‡Ñm0ì í }Á÷@MÿùMìϾL Â{²×ê`z+ï–ù«¸[MÐ×7Ú™ThA É9„¡~vÉÑ-f4šRnµYmÓÍWï) ~’¬|÷ÕΗ&S¤”!ïßeÏ´³fô™‰z^[T½üD˜æÈCº;¬8{ÄÏ*‰Üë£ÉòþkÞ¦æ†;¡.{Uqpµð%e€.ž–á8š`n±E¨S7åçÅ€X§4Ìé#'ò  a)ÈT…Hnaû•ÍÌ~DI%üž‚®WÀ ÇÉfÓ2#‰jQBþâü”ú î¹5¾2‚)ýÚ Î©Îh“ E'üAEŒ*ì5KÒ‘í*KßE*,b°nŸð)MI–÷Þm_fmþ*ôö+Þá+L$˜S™ž«ÇÌ6Ç£(ºÈ_ujXÝš”L¡W„ëc-Zˆ™ªª‘Êûüzd ÝïÜÀ±½Mçtûì¡Æ/†Nâè±òÏàäàåùqí(‘EFzy׎_3é;[ ­×úå)Ï«¯j ²’Å)O°=Q"P7bÐÐÊÊfGðj~9wüc œ1û¢F‚ üê …]ú­ÎéÇÐówˆEkkqžGT)qJ§úe–‘—ëmÞØ¦o÷I´½‘ùÔÈŽ•ÜŒßØŽb¿ sO7$#m?Ñ4UcàFˆ"îãquÇÙf |Ð: !€0î|eïµ Óhö4¯y4é¿Oò"×r¬kæ±ùì!GV—FؘÁ“Œ?ͰPÃ’ºUÉ7¥èzËÀšžgáíõ …ó¢{§J½ŠŸ³«ï¨T†"F@ èaÖ£žbŸºVOhñëø°:–bE³Ämÿv™-$ГybÞý×Í-Wc4¤¬}ÆÕþY¹)Û˧ÀËrR8þqhcí‰vôõô ø’T†—Ü|Z£ƒÌûûÖHfšÁðÆ? 2#D– 7JdlYÌ”=ÿšN€0Öñ[ÎwLÐ:ÀdÃõ¸ìzxû«ª]“ÆõiuAä°_íOu¼l 7êÄçç[œÍÄ ève‹‚š`qc~Wi©×?Âó+=Šú/_1ÕŽ4ªõDVSÑ–Dç¨8›õ×Aõ¨M|5ÂmÁ žƒ˜õaŠŽ®~ßk³ÄWݬ;Ðs”w8»µ¬I©©Ë*€î`Ïk‚…Þ¡åEìüzv;þ´Êà Î΀a%ô•Êž–ùf˜ñF.šXÅ¡xéÃ(&P§Œc«wfÒVßMð÷Œ,ÆÓÖx1ÎÈú³Â§†yѽ˜ûY.™-…„‰›& A îéW@UJqŒ·cbr»›äp³à5báFœÈJÊ}€Æ•†«H#rwë{ó¦Nƒ] ä‰Ú£”ÍÊ=/4ë&HÓØ ¹x¾eÝ(ô\7Æ«û ˆà˜=´Í`Îɰ‹ˆÑ€Õ@¨×jIö]€Ö›"è~k¶ˆ~¾¸Q®É }^nß¼•Xz¿Bcá¤iòìsÕZ ž•xhv}ýðù¸šwßÀ!«uÔjâÍ‚®Jˆ°¶ÍGϦ†øVý&¬2èºb¦ åÛfmPk˜ÀzÞr?F˜«þÙ€±¯¡¯ÅÚóõ2¼FÊbÅ–»Š¯E\hR3ñmàã¹ø]Ì4µ4í°ˆ”>`£µ¬‹ˆ§ðw¢ínÐRïÔÉpL;ÆÝ¤)1–œš£1ˆRCõ7D ¦Eíœ0 ýÍ% ÞQËpz¥ÕÉó?÷µ¶èz÷"Æ3'ãî…zê²o91GÌ º9¯r.vÝy>Ű E¡ýÜ ºüvR]¿ýdÎ$–úŽÃìfé¢Û[ÉÊ>Â(ر8è=Cäü‡F:+IÇü ö9ÎÒ¡N—‰Â;ÖMou×ãv¢(¡j5ÇÓ#ù`·6+Ï0 /Ã.e¥x‘!:¶­ñ¡Õè'Æb&.·Q¦Œ?@Pø ÉZÁAØLؑۢ¢*»´àÂŒ¯>k€o%)­¨Ñçœ H°_äÿ_7ù½Tê¦>—.a‰V5 ˆî«Ã£”Ï-ãšõ­–:\0:–5«‡A¼Ò³ìSCÔÞ;× Êì8μU NŒ2ÙëŽæÅÛ #*ñGyÏ$b˜¨ãY­ }08îƒÐÊ‚‘Ž£œ« wû¯YðÒðÀKEÝ2~ÛMå)䈤`(ßÙº$M Lk;Dÿ±EhñÒYÙ•ió•IÁ‡¼­±J1V«r|a²ADž…U§Þ¹ µ‘3ªi÷ïÜ-ß›ªÐtésjýp.{’Í÷TX† öŠ›€Á';žV®b˜Dþ¡ft,°¤\µ@}¸·)?³Ÿç„U‡*çQÙ¦±ä“ˆšY/-[ I "ô—ÿÍ$Ź"°Ûz´v%½±fßKn ÿa+’mýáfMÒPVß=—òf–HíˆØæÊ2ó}½Z‘©ä²Í…É-óâWË”Ô7à>PYPXÒp¾ùñ­•?O2t±qoÇ!ô*ñ!qµ-(ůuGüo×ãµËúûR«PW ‹Í÷ì8Z5Ms>ˆÚ+ºËgynÙ˜LGÞgÍ£j#"ÿ½ˆ_ãž ¾’VCÎÓÎ87h¬¬ÐÃ'ÑU/ÍàúV. ém•ƒÚ6Ó|Âýì¾ÏK¥ôóý+dËžFí u×6àcx‹ÑC]Ê‹èrò*ø Ïè)¡©1úž(ƒp0g¾šûמ€Ò» Äe?=>ù,:6Ë|šõª;j·V¤•C·¥‡9akÜ@0>ó©,H×ã”ìZæ¹=û¼;=ºt…«¥‡]úY¯B–U£Ó±ŽD®™8àéל¹Ëö™êLc‘vPu9þR@¹¨ à‹ p'ï¡OãòÓ§EÇü$ÏC÷Õ¸ÂÃÜéÖ—QÛÀ/øxK'¿g)¬XnÛÍ~›žÚ½Xn"™q}óeÅMi<¯çîÔʸ‰n¬NO…2—¾ýJ).7_i,‘‹5”×VjÀÎóÌvØÄO+œôwÜ­/füVùÉLýºù´¶(Ù=ùèjk~Ö_Lm •°Ò"¥yþ·1_k©jÄŠE]È[9‹°Ó®ì6W?NwŒ¹f{Åÿ¬ùOè— ©Œ¾ç‰Y‹YýP³$#Ó]Šv)ÙÉì> ¦%<èö}˜­É:¥ÂW£ZE’?Ó#ÞpÀ¢iˆD”ƒ`Õi3þÛ¶Aþ¹|3UíCëe‚µÍ›i âoI‰§Kîá­tŽÕRÍ•ú¹ðüºëæ.^»xé86kï UÙ¦Œ¬ÓÍ›4·:WA׬CÒè¾<³pØ7·ñlÅVhµŒq{°þGF ŸK)Gp‰_÷ æCxW‘¢1E ; lf^·f}Í•s7\o*Ü9],ìDؾq¨ £,Û&çY4=àZÀñÿ÷>.óWãé’^ªéÖ%ÿjìóýý “¯¾xŸíÈr{ñ grzeUkWX¾K;õu·ùôx£°y[kNEÕÞ¦º¨OV#öm»½ìqÿ=’I§$%½/Öð8ûœA½›Y 'yv“…ç"(cr&—G•ÅtÔ~‡G¦]‘cš–ƒÉ£±ÿÔZﯧøúÁ¯û6Q(•Õ_™à~›Ó…)Ó††W !M¤‰„NŽiQ\•KÂ×®›… <Þ Ð’õGÆyh`Îĉ‡IZa[cY|ÕŒvV .óÞû¯ X§ÿj/}ÀâÄEK§mñ¢«<ûRå6Žô*)ˉ•d® îËUöWÕëá3Ö@°åR¥Y±<ŠþTjß:dì[öX·H¹}oòÇÕ%HjaýßuÓÞ„E¹fÌ@ÁÔGdù~½7E؉ÿN–Âg }î¾ó3F3/AˆjõÐ2ƒ5øûÈro;×½Ëð‘Lh! ˆ×" Ë+¶Á±3 y¼#ø=ÿ˜K9A—¯âà’äÕnD*Ý´®ÜÚ¼á®t^ ˆ[q),H[&a¼Ë{NФ¾ Π¯kPII40×Ú‘„üÌ,uO¼›ÿÓ™…vš­WEº™ÍaOs[B£*t‰w¶~½¿&é£å©EQ ^qŽÐ€ÅŒðÞÄUÒ]¸2£ÿ€\,ÛÑ¢K¬ú³kylÉõo‹æ …l=Nlߥޫ[Æ¡^ä¢[Æ?iÐKD[û]&ð ÆÙ6êPºy“L'KËT˘i­nD9ÖÙÛó·ÔMŸXäËÒâÊ÷Ð2žÐÇ>mêhÎøï­¸«j¬™‰–Ê0BlˆÞr£ßÖˆõú°-6‡ÅÊ«"‚ãŒP¬& GÃÔdÅö}§<×Ñ1Á=àô»|³Íà©yÍóéÄËžAMqp0jtY-ï<‡Ö·|ÜÕÂÓ™vH«¨ÀJÔü÷õögôØ)-`çã«WÛËYÔræü/™3ôÐiÞä|¶ûª~•Æ£‡Z™}&,ÅÑç,ÄäQù(–º÷ò¤·2Üʘ¢á¶•†P¥JÿW°EE4‘¯q XêÞÌ]˜ê¼W'+në:.P Ή5ãÁl\¾é22𠋉¤ ¾ïŽ~ºŸÉú_aê£4h<Ùìç7ÜrŒÁÚ}—Â{XQR‰S#\ëJ¾‡ÛqXóO"£žÞRí!ö2Š—MB¶#«MŸ0•6§öN3ÍmWí=›×—×[ÕÙ‡ùŠëä° …5[$د>dÜìZ†sÀk¥Ž#Lådªü/Gäuæ£Yl%„¯® ™°A÷ÅÂCJdÚÁ$¤O¶`}C÷¨ÎW$´KêßY sAEhÕð¼Ëè–’°XÈéHÐóùÈ;®žÎ~(½™K€ŽmBj¤uÕ%TT^VX‚¯.µkæH$|<‡½.ý:m®¶ƒ†”÷nDË zKe˜-hÉz5Îã…ŠWW—ޏÅiäêÓþA\üT•ÃâÇ LãUGÄ—5Y ®º´€S‚ÇIÎ`aÏÙéS`Ü÷ ÖPq³f˜l9e†»nï¸ÓZ+ƒ8ëú¢© Û Q`£%ï8‘µV eîIÎGaPÓï:åû‘9†­Eöšßœ=¡Ñä9˜b+Õ/Ush!ò:Ð¥‚'¾OŒL÷‚ì˜þyêµ|EîYÉË~ÜÐÆøÖ3ÉôxƒÆó ªàëv@З'|0·3+ÙѼ’§½š~€F¶£KçD{½XygñbV÷bJ—Ö%?íh¢Z&“Êúµ6‡T@.ŒÔ ໋ö>1€¯¢ésà.ô!$)ôC˜ŸpTjÁ’Gÿ’Ûý6Z8Œ‚q¡W.l“È£‚èÆû‰Ç Q·‰é¾¢Ý8Ù‚D0™ß›äâÞ ¶ÛÀR„h¨’ –.ĪŒX…áï„ËQÓì/X1ÇD`fú­¹Ž 9P…Ô:¢ñE70°”Cóy¦c tßh«†öRlbˆ$¹ÍÒ ¡1H(émŠICkö_Šï9»/ëà=Îò«Œµ÷õG€œw²àÚ( ¤4˜ÅûÓH¹® ýŽ+ѵ|ך½­WØ ¨Ì˜à‡HŒü†;X#È8ÈsÆ/ã°QqtŸkYÊ,Ç7_ ûCÇcÛ)Nަ¦‚Êüçñ‘Ú`@SÙ¾´)'kÄ•KÒ&W<":c~ªøöû¬}ý•³–z¡$WQ|Ut·v “†iaÈÅ' Þü‚Я'¹,š^2äÌ,—ÿ•Æo3Ÿðar†àް=qzHí‚¥«­Îiñ× 7¼q;-€ù,q+øsíá§?³²uR ƒ.!Rº–qž„Go"#¿²Çï#;øš><|ØsÆï³]ƒïw °3?¡¸ #C3Hç uɹ€îrLò„Ï b9çÖ¯§Z–e?ÓNÆå!EW² 8“Ó•’|±çý½7KÂDô>È[ŶiklŸü‚wSøìÐÄ•óvkÉÙ©lNýð?AëŽØé0ÚÄc/¬T8Žì[ÑÕñ ok6ð)¿y¾ý™ª`ÚdxQ,a×àóýb[8*ÿRkÒd"ÆPì<+æo³ £Î¼«Ý×ÄBñêUALoKo©x,+J›¢ ñ3WlQ+Ìáú“÷Žúø0•ŸœÀÊ›rê+Yß„äüm}Ó9Sǽj Î7+.㇫¥·COÖ )]óÀËOÇ”¯žàýV›vUÞ¾˜ë \Wia­Þ™^´]Rs2²ü´hü„7‹§x‹€dÂ:ƒ–S½”ÛÚ¥¹èe"»èLF2íÓÊ1Å´ùí3«’×ýFî*×UˆõTµ¯ül#V^KÛš¿ÔSƒŒB‚"Îß›cYïÚ³ Þ…ÍfU"º•€Ml¿ —$‹¿þz¬’BX3vòlü6¤Þ÷>Nhƾ6OféôŒb²âÙà2àžI,à%&Ë6¦öKxSUyÎnLÆM’7 û·<ƒ(L†Àú£NUv¡fô{ÌïhS¥ü6íw %túÎ0’ºtþ©3Û&F³þR´oÃB.*ÇIóŠ×VG9г!ä|ñžÍjýþh ·;bÉ ìÕÜ#Cü¸p¤×qªÄN«¬TÊaj£¢1w}f|Üt†A+2 !DhÉ£bÆÑÆò×U—¶q°YÚh×2ŸÞÖmX  ®¸¬MTP-I^à1 BÜ¡žâËø×s0Ñ1ƒ@V$%ŒûcÍÕ›e}èW£.4á ž•^Ÿƒðyëìfç´“C¬ZÄk<ËjÀ®r]â`¸ƒÜ£[¦hr¹÷ ÿÄÈíð›¿úQþŨªo A*iÞg‹w@‹÷R¢]ÍSxö³pâ ׉àEÓRrMM>~õ¾ßVwý&7ÛÞãPVt%à>ì·]­æip8/ÄýÄ÷¾=˜îÌk^×`UÈI–÷­Šà’ßëRMÜš,KÁ4ºRbö¤ŠÎQeÁìZÌßø~wZ^k6‹úU@Âõ„ôÝ£ W÷Ýñü5VJdXÞz„èd¯A^­ÁBÖDË|Ö…”IòwÏ:gÂÉ3/´goîâ[{‡ì*m*IRIk¾®N?ê™ÕèeZ£k½ƒw›ý´",°‚Ñbƃ[bfNÓ‚¹]lâ9ð`F}÷ŠX¦yHt”o²ÛÂ*$gTÐúþŸOŸ¹WO/†×jðKøbk½„„ŽBIÎWVÉw3¡µx4›6ªçñöŸ±TP¡M`®RD}:­ I:³:íì Šœ@+ÙÂv]ÒÓ¥¦¼yAÇ}ãQˆÄFàY’JQ7M\­¯çê{…³”7äGð~ÐD[ŒùÅ%TºÒ²g;(ú„êXŽÈÓ.® Z\e¶—¶å,~-ùQêª0ôQ/Àï3©†NϸK´’ž6ÉÆ2H¥ñ1¦¸†ÙOôÎÙ¸/9LiËòÜ&ÀËëÙÇRe Ç;v"R퇇HV¿Ý—ÁD_íÓÝæÐ"“J³®cB7mƒšRy‘•eËd-¿âŠÕšÍ°¢ø`7`ܺ.©9Bv¨þϘ=ˆUß]/H@Y7ï°‘f î—9pÐé«ü ‡DÞ^!8>ÃѳÛ9*¯ï›UùÚÃ0qX=A—7âò÷ÖüoÎ++™Ý0ÄšùU+J*Äj'Àú@‹1ßo‡N$£fäM·£kÙë>ð•t\ ùLËf´<öøæˆ¬Ä?òíû&¨CƒÈ´'dÒ–“Ge”òEp|{ü¸údqT^ì:^™‡Ä­·Q‹Ú1â¢K )HíýÆ}²²u¸#"1*æ€ôË‘Ûþær/×à[»ÆÓà‹›Þ•ž¨êb…CE0ˆ[ kôoä›ISž„çݲeùÓ]8þ@] ×+°ÝÞ¥=ýLÔ;¬™) ¯tj¦›ìâr+ë:•òÛÍ·&¶þ…ƒ=áµr‘ø'€ì¦ê¹˜ k»½ÐBYº,–ÄSM%a¼–.Dê}]f³;X{HiøøœÌ¸œ2@Ìu¦!vMD¿*Ãs{ªÚ¿0¶ý_„›Z‚2Þªiœ"Pš…N6ø]òíË{Ùï߉Kg,͹¬(3ób+÷$d¦ùá¦b62â…ÿh¿±º,ó":2x¡1Ëžšùõô Ô0?Ÿx_³N›™ûÆ`k¼Úk»y•.j‘ÛlÒ¹pY¹Éý–¾e˜†K²‚ªn߉;ciJxº´¬?výÿ¬PI§"žÍ.w€Žwÿq‡ùLVçK®¤wo5O>{‡į¼CCe2ˆ%ËÞÑýWR¿[æ É¿i~U`DL¬šßuâÎá:DZF¬[Òþ.&‰*A=„š½qv›3M7eIÚuj‹þ:6d¯Ý±6ÑóþËV¿XýfÖ¢ÚE9'=dïN@ºYÔ×4?$³VðЖùYp W×Âø­.Àûf³ÖÛ¡ÑUW*®F4ÔY´¬þò«h Ì4?(¦J}ÛäàÉûÝsÐè3êz±­Ì¨ƒ9ÈlñÍÍ8÷-fì#›a¤3a7 óÁ£¿ö¤—\­ƒâ†³âm;ºáBj!4‡…*"ï»ëQ§Xç9wéµ\ÖùxÖJŽ–/¢±GPÓXEûbÜ)EôXxÁËǃÏW–¡Ý‹x¿˜Ù›ê…ÎO ¶¤?Ö %ƒ[Bú¶Á†^ÁØ83qœ±ÞÞ?s…(J¤F%nAqò®úؘËjD‘ :h7×ˈƒK¢€]ÄZl?RàNÔ1Þì=XrqƒN[Ï ¢’í¥„¼[ Pýͼn­AG‰¹\þáo¬8h~È1‚ùrý†S½þHž¡v´cûŒ'¥ÉAø…/¬¢ dK¦½ª•ë!¦þó$mÒ“óêR¦YCÒN!MX1ìΓ´ì*Ñ뀼‡ „S”ý¦:gQR›°œp ¢”i&™n<6E1ÃdÞ—pjв¦þ¡`ý×-4WAaý¡ÈÄÅÙûÇ/›¶®öõ1dµ$Ÿ ¦çxlød;4Å›˜VÂ;hÏ28ˆ{¸…âu–é˜^h,ÀëÄ÷™U#™ê¡jGVbæþÏÐ%ÖÝb²t›MBʨXõ„Éʈ4QétÞk”Û5Ëy¬0¸±Ï¬‡¦ Í êœÛE6s”ù]Uþ‡yÓ”äýDÚ.Òÿ4UiÒ»tm6º©Þ,~)ѳj•37ôKsÐUäB­ÊËþˆµóü§Ïó€vŠ)£ôÈŠ}Oüi%RãÜ<$â¬ÀܪáÃzت_5ÔÎýŸÄÔæQ%wˆ&L1ô¿J„½®¥Å"<]<Àᆕ `iwÔ$çaÐUgë¾6iD6ó{cçò“z!þÁj´Rzâ¤JO-bAÅʈÈÅöX}ýÙu†îû]Z•’%³QnòÝÆÄ)£l"‹¾}ÞwÅ!qñEÆ"0ýïl’=¾Ÿô×i{ýykY¦t‹âc ùPã …’J&!_¯z<ûnígRàQ¼!c½LÐ5ŠpÿGJÕÉÑvÞín©1V’žHƒÙÌ\eà8ˆ5  ±MpêK=i,‹ |(} ”#²Îçë"£¢0.k+’nDœÂü‘+Ñ–Wfò×Y÷Î3à§Y!ì3ÿów|g)Ö»ìÎ &,8‡ÄWOž¿Å[ŸÝÒ½™­¨âhð¦ÖWŒ`}³±„å8 }4K/ÉLzt• ô()™y¯¹ÀÔ4Û>ÄO˜ÉÒ}òXúì'q=Ö)ñë᜗ßzN£vßfÂ…[N-Æ$=¶ŠÔÛãœ`F”ð#T“×3Éòs´›ñv@Þ:OÎŽ¤h©Ä?¿í)l!ÈŽàLÿ;ŸZvÌ¿FL«;£·^Ÿ£VE œ3’SAÊÂòð3Qí§NÄýeùÏ”‹§jBãF^1Ü*Ó3ùü`ÓøM=ŽâDc}ZEz?´Û_¡åžñ%9–)úQŒ÷~ôâeí¢aªcœß½tÜ_ß‘rÇ%–‰ˆÍŸQTrG¹‰ß`æTÆÂо¦g†¤Þ´pó8-Œ¿"‚çýô/\‚ÚP“õ±c0ö °±óŸ…ib[`ÏiTL‹…ånl/ø{É›,4pQ™Ze]®JßCÆâK¤}h0ÚŸyxQ¦xdGÇöïzœ9< ºàáäZ@Ö¹Šl¬F&¶ªä[ÓPË»åjèXÀ™×d!'*ƒq¡ÓPÊŽ×/51%ê•…ÞYêò ¨ÌÀº~ªOéô…2ù!ʘÁ:zÅ¿çXcK'·ò‹)\lä;Òð¡gQÄ )åNTyŒU0I¡ÐÄy–Ñdã‡y*.RáÉØ–ô ¶)Ë@§l¨J)½éaœ‰|n÷ïw9Ü[¸ß¯7~Ò36ŽÉòÁ†¿¦ÿÉ|ËTžBú%ûô3ÔsУ+Ôè{^E ïtž ¦úA‘8³o_Nݤj)RbH{LÃ`„Ô“¶.¬NLë24ÍÛUrß~°„À%ðèÛÓ üßï[†;hàBÐ’aŸ™ºefZ-ã/•…U5ðO20U{}—uuhyÍ£ñj¬¸£¾ª¢Ú¯J½ÎöL]2¨Y %_JÁ§ àr)çå™Òh†ÈµÞ±Î2+¼æq®¨û¥ÄÒÐ9-Á^bv4÷sÇH^\öÚM,ú èñ.èb¡kO§iÈ\û©l¡>3¿/làýÄ óôïïÆZ t@®&ÖQ1uVmBV™hÈ:Ó‚(AùT:4•îšà‹Ãç´¢ä£pýB ÈùÕ£>Ô,¿hÿ®˜O$57[É¿àn"÷óÈŽË[{H³'´+Ü¡8×VÔÌeÛ?Æ; ¿cëþC—`Ú^¯i=|i¨oÑàL,.IÃWAYsš‹Ê‡ ˜µû¦¶{×áàio¹ âIﯓ¹É^T†Ó0ÕžŠêý­×äÀJj×[—o*mL˜ä¢lb톸HèÐÿÆHËȆÍzqMÿ_¼ Óruæ=™j–— ¡Ò©Ã_³,ûñ֘ϹN‘è×nÀ8Á=„§%¸–XDA‘Ÿ}ˆŠ£}‰Ó 8G#Ú:ê‘øñr‡;=B´|“†è°Sc¸L»ÂÑì»lcÁ…öx–N¤L5~ª`j>>éûéý±¹hõÈ”nþö¶ëáç Í»êPƸÐU´1;|Žô3¤Å¯/rø3n<î1”Ç›9lXKÎT3\~9'`Y¥± •, w*îÑØw–ØgdY¥¶)6Ø“ 4Ñvƒ“õƒ°†s 5 ÍÎJ³ rgÌQã²ÓëH2U²VóšßTÊØpÜÔ?Çì•DåÓ8S0 õæ¶cñÎø»5‘'éSÕ ;~‡<1§”¬°8íxàB%%ô(»q~cûkc£Qæ÷­]½R&ßwbŽ9çÑ¡7lrSoЭ®™:n/¿â`«TÒ{#y†°a äXÀ;OlÑðÀ¿ G5kÿdO’9-ä/ãBâQâpÞf“7Ø'bDÜ·`Kš³w*VÂý.†誨_;6!³Þ•ü}ѽ²~Õš¹/ÿùˆ.<¡m$ê/g]<Ïy›”“‰/îú2-‹å(›º)ô™Õ4¾<Ær=3­È´<¥Vvº$F8~Ês3@<ŠÇ㲈^Ý`›wìà„jˆ¼·jBtu *eâÈ-ô´ÚÀ0{<"ÈýPˆÎ¸ÖR^t·ÊÅB·ž¦ cðBýô¤¢2 ,mž³É¿%VQ>ž8BZ·›ž¾R=õ:p‘Îè­8P4†{!"],8Ú€æšûRf x¶=hAôR/Ëx€³„Xƒ ÒÞb4ä1ÍN[onr½þ@ŽF¨½ä4õ²`¯=JAņ7‚áV}sˆ^xÚÞøt‡¨×úR|ðËÜ9Äßë‰qS™o³²û”#…™eÆÀ“{ý#$Õ!:·õ7Vé–ÐÍG9J'DÙ÷_óÏ(©ã˜snAÄÂàÍ3lƒ»lÛìd˨O—8×·œÓÌó;ƒC ð‚ñƒýÙŽÍËש<Ç}A÷ˆ‡UW`1‘¦O Sf¹çÊ?³&ƒÆg†ª†!èINPÍà¦QZñ¸W Àe/¾AôådÙ-:r(°U1_3þé8÷l5_~“ØÜh©=‹X¥€—ýG£«ÂÇkc4¦|Ofn%ó¼6¿sn÷vÿô±–åY"øSqæâ¹ýgD .xcÏÀÀÇ{×C­ë)µíâµó{3çytñ–Ô™ J-‘¶A›ùŸôëVÃèø¢¹àó»Áòû4éØÊóJu½uÍ¿:t Èó.lÉxkÊUC–-C*XŒ,î%~æ­V¹½w©?w úQX|Ù¢’«Ö…ç~77w¢ˆh‡?”Æ6æO1DŸðO©ë7·¹´‰P‚0/,3¬ÌæùÓ‹~ý¶ôóyrOá­ÊÈCÇ},ª>zÁ/óX9Fœ.s ¸/†éNké"ÖW®Qó¸:E­õçµÞv·f,tr(×Jˆh‚•ð¿šÛ’Ž Ã;SŠ[òyO¶Á¬Ž}N©¡ãé/}ø¦:Ã=à¡ÛŒ{¾w\$»©¢h_Íà%Â×´b›§+å7•x1ù=°ãÌjÑ YާpW)ÌÕ>b}—§&ÒuŒ[®ÍÔ «ä|sÆŠx‹xÜY]àP±J(dÝ uX¢?íCÅ8Õ?ów|õU´Þ*\Õ†•»Õé×%;*æªqŽ ë%{ÏŸ°‹m~YàK§©ò®ú’~4×g#ßãéÉ»‘·£Á= ÄÄt9é3 ºø<ÂpÕ¹°+÷k—M߯®  ˜öæ‡ìo"Ä8ŸŠY2òðˆ~ÞqÏ;ªüMõôäï°®"L,æuoÛ¨¦îc&Æ&˜ §Xîgm“JQ5ýÓy9ia‚#_ è¹–O¦¦n01fKUW[‡NÅ:Œ%P|;\‹Hæå)É3¿xÏ/È¿+ ´ÈÞVÒÇà)v%gÂ_ŠoHU-Hó‹ý=ó„a^È“2µ\mT£#TõÍ9Êa"üXEϦµ®a¬íC‰¯Í…k„"ú‹2ûì‰2›¶“iv7S‚¶Lórk|Ò÷ó¦SAZ¥°¸‰ü VŸ (UuæîµËÆÌ§µÄDjÄDiÀ3Æ=z×ýºQ O¿¸©[%Ü~‡’ž1í=½ —/rŒÏrŸïèñ4¸3s}’´§ø‰äåf““ ×+º k›z'‹ïÏYò!G¢ ”M÷ÀŸò\ƒmEÂNYÄ÷G ùPí¤ö1õÀöœk»éûE¯¡iU½í}.bUÐ%É”˜ìÏóN¿' «ÆçRoÎhç—tÀÝ–ñ¢`Ñjë´ê¥¯-UtªÞ;ª Ëa¹¢,Ç©ú L”Z)R0Í8Òþq½‡‘nµ ¦ÜìRŠÏâi{Q£ªš,Ùñ%Ù=,õp\%k¯!òÿ§‹cô ]ïÂÀÒ.ÐúÝÙ^ ωj¡OW>.Â% ¡$ÜYŸßò6 á¶=¹,áÈã¦sއ¿ª$›,A¦ÀÝ*ŸÙ\=þ„âÔò‘>èO&FšË;¹ü 0EžÔ¼D2’a¾°+Ma}>ž…¡y 4çÄ€‘bV ù¢¥Ò ACíïÒ÷O¢úBþôvÃÜ^™Ô@źÏu¦Àâ¸ï¯&ãkRaÿÓfu[QMºa‚F%~ãò‡ý¥ynîu±j°·€kÊÉYH̪¡@GnŒ&ìú!ùæ€!B5¨ð£"¦!矹ö²I§Ö/ßÌ•ÍÒ_C‰(ï,¹=@aÌÛnXá©­çäÖÄ¢¦˜þ½Ã/ÔË Íþ9ÂrhØr,©û!&úàbxi=[~—šî˜Ç]©Í’/àtòóA@@ÿÐ.­^ûêQûyÝ£­È"î5áÂ`ÆÉV®@O5v+¥ª-Ä2Ö °w!{Tº“³nïôGû/¢à,ĽÆ9'Ìþx ö»BÍXÿŒ1Œ-«OÒè]È«>Aû¥›vÉECå\'÷ÔÙÑÛã DX-ΔӻyùÚ|pY Qïõã«Éì ÏÇ»¿›g锄ÛZ´a-’Wzî4 å/s-c’·®Ü’Õ?åÌùýÇ<“lV´’­¦ó×ç´¯B# \4eyÄ=pØ«‚¬ºx¤ˆo„S:ÏßyΔI„,À§,õ7´‘/Ì©˜pï|¤ÀUÍo°hÆ uò«qšD}Öþ9CU ù7­ ‰2åBÊþÿo®éi;çûó’[mS=¢æ™ ‚4™ p¡Á.]eRŽb.á:Õ¯@*zÅõrd¾©zþ«!ùQò«eJX.áeðëhG´0 E‚Ša¥sÔª‡œ 1²Ëo™ê >à—âš|dý¦Z°ñZ»¾•Š Ô”h3— 9@q¯|ã‰CwÊÇw"jŠ„ŽÞù ,U@§Òáœ=*Îs?9Z^´Lï?â,•/&Ó£7¼ÿ¿uRïIN±)&¸ÉÑ:´(S©Íû?6 ›Rú®Ærf™ã»8$ä»fØ.óÝ…Soì!€ÁÕù-ôK.k1¨a6"ÆÆýÆ*7ßZ´žôç?¥Ò)<¡P =çÃÜ 5“*?Î?-*DÆ?€]©®¡DªF€òŠ»Ÿku,?Q6ñö×õd¦øÏ:;ÿžÍO¼¦±ÕàÏañ¤U4è`‰­¥…™dǘqá6'bI*Æá±æ .&¨öEÞòUqGx”_Õüðò’*ÇdAôJÊËʉ½ãr¯ŽuR%É–ßšAÃUFdŠÁ-þ'ö‹sàˆX)y|^ëU!CþsWź²Tr“Ùî+‚˜‚J›þžÛîÙÅQ(q»ÒâÔ:#¿>¬EƒfÝ`w0 œ\?ÒMWæ|°0ü â/ ZPVvDºGEÕë‘¶·ðW…m㹊NîF|t¶Õˆû¿Šb1ȼþ§†^2—4Y°áþGÌõ–ßæ¿$ÍÀòŽÒ†kzñʶºePÜ“±¸|\Ç,,{G¦µÁì"|óBeíÖñ(x{¹ðF±½ß÷Éa7N³¿l\œnZ¿Øœ–•uߊ#gp^@?¿Xe»©vï ìxF‰fš«#µYç12¤œÕ)Y9y3u­t…ª¶kÖ7BÐî?öª üAÀ_镼ƒ|=öî,âƒ]Ü ¿NäÕΰ2«~Ú‚ —v~OÙ€ÿì@Üí6"R ñžL* ×ˆ λU»zaÊ^ò×ûlú@4–Ê‘JE*y Gq¢B'«7æ!N5ä~%»ÖµmJjÖÉPT§“ZAÊ…~@€k[®yïLúì‘»gêA1¥WÓš ˜ò>nK#(´Ô😃¢›Ÿ.ñ$‰–®ÚÉÖÈó6`ÎêC–ïáf¥º‡ºzh™HE…oÃ'5iá%œ•÷žŸÕK^9Yñ®3Æ\…(êÚ»eý_1Æó6°óÿt9=9j€–µšÍä z]b#óÁÏ$¦ kP)í€Á“0Ĩޫ¼ÕyïgiuícARzëÐØ1yN[Ö÷Ç¥é,^ê\²zè|›¯®_Y·W- ï{ !Ç;+WYÒÛ&+K/àäžxNNµ#ŠãO1W‰!¶þ×p1ÝßÈ Š8=H1GL«ÁVų@(›c£…’¯b…¿¢YRVªÈ®2ë†ÅBÓ&íOJgTÄ=WäS-އ|¢d5ÔÊÂXg–ÂÌx»Ï&Ìñ’¶k׌ŽbÆõnÝSÂÎeà†Þ*D ö0¬•¦zÀ ÂTÿ{Ý oqMÀ8Ù eضÞÅ¢jå¡cJPdØpXŽmÛ÷I`4oåyº’XX@†ð|WÆï%]¿4ËiwŸ2mþüeM {2ëî?Â7DÙÈà ËÑ©_¬l¼+‰3¥‹™³J5EñƒvÌ‚Ýn໬ÆdÎÏÈVF“ ®¶2Lüh䆴ÜdåÍ÷LÀ×48 –y_,`a÷å÷iâÕGÉq½öTì÷h¶ˆÔû¥½a[«eú¢’´¼î¤h¨7oÏ4`ç'M„×ÐÏÈ2EÞò´mè/yí¢,éß®õ­M¸v‚ªšÌyÜ ÞZJfaø²n*fe$k$ ™}ˆþ šÒ艅X¨£˜íŽ÷•åûgá6= £ Û7[_6£fL7I[O}°Ïp³E\ÑǤçð÷‰½ÂTg‘`j%UANýÖ[ô¬áfk¡ÇÏeŒì÷k:¨ÎÕ\òrú£‚ÜD+¸ÜRçý kASÙQ —pMHǯ·‹›¹5¦œõ•‹Ø–—ÌNÂ¼Ï "HÜãPµG!@e)ÂD‘/Ь;¹þð-™j³ȳ}û¡ÛBÖ „ÃsËQwqÛèù÷ÖgS(Èbw8¼´$Auˆè EMEUkcil`¡ÐÚ´F«J"¢ páráƒ:w<$bžÿ°‡{ A /ñM7ž—ŸôK(쯥Ý\ñzã /*àráf¿xËAUL¶Å$=é4Y¦š;Žš`©nœm¶1VÝ:Y@ô´å~‘à÷þØ ñ H“oá²eô®*ž$A×+÷ t£¡v k¸cŸy}`ËxZà…߉–¯ýA!¯Æ;ÚâÁÐïT¼CäKÝš”ªŒ[DÚTxv]Ålµµùq.­²ÒzÑÙ—qP=ºãÃÖ"ºRgpŒõK„ ÃÒº:Ö®!ú  %M~·Û~“•c§øpÍÅb2ˆN]ÒM-¾ëÅËinlÛkõU÷8é8î$U/.Ç¢úìô|–ÀÙËm†ðœq>TIž µæUG5Lf ;ÔòûÔdŸÏsyÍ Ú%9%Íç+c ‹î <KH™¦é„ÖÝ!é–©ie¨ÔXj¢\'X=ަ^éŽGXkALöÆ×ì*JWPœ&Y¨ô‰Ý7~µMd©I…§ü~ÎÌù>íâIœNé„LF6±~diì“´ÚÅ;Ý/‘mKoA"êB\0®|9 ¿|×¶NÏYÂ}<ãqÅ«J0R¾ V`0ØÆý±­R4¸E5~<¶MÿƒAh—ÌxµÚÑ• Uªâ°F¥ÄžžfÁjÈ4Ä™äf—}¾"Ç?éc®ŠW¶d'0)†ösD}ÌÒ]#V ý–3 ß'Z³†Âœ– ¡«Ýi#Å€„õ<¨…—„)gœ²cò”ÍYiïaö#[¡³i4Ó{àâ?Œ‘: §§›Œ‡{âVÅÀxs•ë$Šhè€4 ³Þº!"E-~ÔœMuŒK;1,í=ëÞ!‘ ,j\Ö÷žùv‘׃•ÄiEMØÔ£³ÿ¤Qîîâµ€möyçwð¶Ï=;ŽÏn21šô¤j= ­ñšpvÁ¨ÚÏÆ-½õð ³½ãÑÈó‚ 2E—ÿÇù¶X»£5°]•eÉNCm\aû~çáÔ^N“uÔr÷î.‰ tÛ«~`ÏÄú¦C.æ0ÆR•¿g‹÷ÊØÓ+×(/ð¢ç‰ ŸÂ\~Wéý ­¤Q¦R÷Ž•)Ù—ý“=Õ?ÑM¢„Œ8ÕÎȃª"Û­õiã bÀ÷ä‰$Éñ®&z¦‘ÛÈè[5841××~B ,ô©qײ`‰C×ïÞÇB¶êöIÝAÔ|ä‚Ä;Î7ÊEgÇ“³,9,³²NxG£¡¸H†/p€LäÂ…> 8­f‰Ü)`äu(d庅`KúLÖºüÞ? Y)Ã<œ’ ð¦¥0²ÏcQ:ÞéÌŸG"(ãÐ,ʹ¾×C¼e«M*©uÀÅ1ÃµÊÆÖ휺f5å«7¤?C6Ѿ¨BÕ^Þ]XÙþe§1w¥ñŒsÇ)pM¿ TrÇóË ´*ÓWÛœ·‹%¦al ^Q;~BÆ;“í¬…yÙ‹ûyé`ǯ,’Ã<wUÏ”»¨òNÚÍ0#cx\M¢¼áÆRÐÚ%o¾zgHF©I¦•߯Bj+½þ¢v¿e­ù‹2¨”2ƒ9 o­ïA®QX ñ±]øWÔ*“$3²PzIÒ3ø€]\KN˜= «uäû=ÁXãu(nð½%àŒe܃К3g¯ôƒ•õ¬k¶sG¯â†+·ÂnzïÚ¹]Þä¬CßIâEÒf û7§ãuöG ùÌRëû¶­‡]ùv…²D pÊÝÎà¥n·µ~vŒtM¾ÊTú·[0µÅWM!û “– 5M>½˜ð †1ˆÂ…/@ˆe?ó—’XžäPfޏN€õ-z_LKfzT–štýñ_t.нþºÃ …"Z·¬´ÎžîúŒc•`ãù¡“ô7|\›8À+ëè ïW"§zª¢#6=òdÏui}ß!’âa igׇø€2–óýÓ2iöL–Ï]’XW,:ÿ¤Ö× €å¨È}u›®½GÿÔGŸÍ3¶ûJ_$W3âÆjùá5úÖÊ?ç Ð òÅc0Ü }¦±‰!|/‰'¨VQ_KêûySé28€J î b®ü¼]¡aÀœ>ÿú?ð³‘l¿<£Œg]bN_{p¡ÁC ,Ä¡¦nUú$霪Ç4ÒU“…›´cæù§1”‰ÝIG%ž¼O¨½…OäE: ¶÷úxˆpEÕ-r‰…œü¿™øÃh"u»¸«ê‡IY·×dÑpC0 éÖŽKoƒ}´Ê×å$3ÞU:ËqIä{@bk±iöŸÄUÚ¡7ÔàÁÄ9~f³—¨®>Üä lOƒMyfÌÂÌÕWqÏÈ·\þ$½ÜtéçüyE› 8ÜšwßV8¬¹ß r„ºmM ÈÞÄØ hÖôPƒR„Ãà/n/0¬çðÖù9Rf4Ю}_ÈežZ÷©°@™ŸJÙÅÆ–Å Ôãj«d~ž¤vZ.Saq Ý…©)þĬ¾Zí¶+åK/tvP¿æ¶º…Ó€zÈpX擄À/" =JŽý¸¢^œ.Ï–1t>#“SLYæ/[Š®Y‚|èZ)´n¡Åœ‡šðÚGʳ%Æ«ŒPG’úPvöÖ¥J³aôÜ¡‚]OfNjMj…Ú,pÕVéå3WÌrÛ"/~îYÒ( kÜT˜ÁGPõš¥š¯ß¨þŠ­…Tƒ7¬ƒ5"À—Ï‹µ ŠÒKq¢z‘ ƒÕü5ä¨É¶ ðR “úݧ!™|†ÎÛÞ’»DìªÊ­G»È1<¸"ºCfV1De ›4±jzóNªÚ¼8ÁñT(#N“mòÒÖ@I*Hå9,<<ͧ‰&=ïE+ ¨šÎ3Y®‹@àz–%Yµ»+‹coý¥½ï²¶1UQÛœ \Ö€Ø":ø;q Ú /2 õÝ•( Þp\õ.å¥ìŸsøìd«"^³adãˆ*Šî%š­ÏBmyž}re¦¢*ÍÞ‡]4Ï^ì4bÁ½‚yóYÃ"¤ Ãç„ãÈ„ª ‰ï®&ß„î4ä'•lÐõíT-Ø3T1&ÊÚÝ<‰N¢z â“õ¹¥@¿OåñkFæü¸$¢œèS%T@U<[žü¯‡'xP8¥˜ lŸ)ƒ‘;¦ŒÍÓM8^Ï'}ì{ŽèöÄÌ‹(pß]„]ô »šŸ“_^ FúÝP4üu|™îµ¾‰üèùÕíÍRH»‘ŽÔ,XaS.QK‡±Þ¦ÇÚãCmOÛ¡ \H­dáw%¢-¨õã‰~‚WÉO§ )TdkÀâZ\›LÎ"û +wo…¦d”{œ÷’•Š´A•6v‹k«)•iA;Aæ% BCÕ…¬å¨($f) yråZw‘™ø]F³WœAˆØáœj„×Ê=üêÂ._êáºdÆíÀKÆäãm\V¶zÜ&#þçÛ¡†lGÑ–‚^2ïÄJµADJs½§ ¢q ÙÕÓº÷ÀÍ ôÆn>Š ´%b¥ü0Ô/!ChgÙÀ“c)‡Ù_…îHI 6ø#P#¼˜[íßÂ=„ÎÕk+ã§ÿbPú= ~ÿXmêÙUGv !hùÛhÆpGÉüØÓ-Úõ‡+Šg‘>ÆãYÜ«VšH”£Ü©îUéiì¸/¿³Œ^©æ§w]ù—Ðï`2 ÍÞO0X½% £k[^ OV[Ï|ïAÁ·ÁOmhϤyæcœÇ”Úu÷àpÝ^‘ö½øÆø‚iÊpdOÜtod<°d|)Å`~£ÜeFañæÅRsy'¿‡é ¶Él]óÚX}íÚ¯ /ôù?P]$Àù=¦U³OÛ·Y¿J s+f*îøPØV(xôžÂ`Ѽëb‰ d· v(§°JúÖ àÄ`Ä3åˆèG.nk·F±ïÝ›ìWç rc+ûóÕèìµgxm ¢~°Hƒ°Ÿº¦QÒ c„ÏûJE@kÆ 0<†¤OÚÆ©ËŸ 5á/’C‚O¤âù:ݹ¢ê1 Çê@.¥…ãCRä4d“úÃÔ/f×—mŠ{º§ˆ8 ±ÛÅê %@æ r,õƒ> PCÄ›–ÿ´"´j¨ ë’)<˜¶*!±258À 9Ôv2c‘—®c­53c‚~_zÕ¥”ÌR@ÓH¢üµšÔ­CÄ:ÇþÕû‡ ò{{^(¨Þþ˜2ãéóö˜*nÑ*þÐk5kgíf+$r°°7¢1mš¾ópŠîtk»7ч ó¯Z6ê„Ö:§U˜GšìWøp°wÈýÔÔ_rØn|î↩¿ekA½±c„¬c¹ã\Û¾ï3DUt) h¦È‡!€S¦Ûõwv´w§PÝÁþ”ž(HùeÄIÝÇU+Í=¯Ö&ïO÷ø¿‹HÈ6í¿ªƒbt¤a¹&,›"Dˆ !?Å1=a¢¯2y2eVuò(KË~žÒIí4–õU}m¤«êÓû‡iüÚûJS©ï•o‹pÅ0ynú×’±Å) ªÔØ ®´oŒDlñsyØlG"Kë!ïGWS ie‚r¼ý soŠìÐ(í«¸qÑ)8Ü1¦.j7×Ý4õ¼¥¡ÙJÓÛ’õGÓÎÓ?%â¥w‘PnˆŠ)x¶øÃñ,ïêÃ8é \Í>}¼*yq·Û5»úN;=5íIÀêîƒqÄ„‡Ï;äÎkNì³6¨ØÕÉ×@ñŠvž36¸ð±N§(d™æF\O“oLè^_ˆæ5wãÆ|¯4“¡ƒ´^$¥ãàéŠåt±|l`ÍNNÚˆ¹ñfıu禗zd&§‰ÑhžJ§ù iT±‰ÞlÀhpý•Ù*iôÔlåÐf´Äd)œ7\Ê `ÉëñÒ#wd7BeÀ;ï£aû`wÂ+a­4îá&ÖÜÜ|'^W€Üò0/Aè€;Êó…ÙK~A§`"•ØGf‰;¬²{dÜÛÕù«:/ Z&Ì´Â"‰á<['êU=$©ñ¸âÕåøêÆU¿-gÂ7ã‰EÂyÞÛ„ê씚\Ã&£®uÝ®Æe\KW¢ÿ‡1”ˆIê0=ÀÈzO¯wNù=÷Ó‚zÜ©xÖ`¥8nD¡Dºa„ÒqHe4€œ4ƒ £¥ÀÌA Åã‚)Äv÷ÓE˜0áT&[> ;×+hþ?i¦†(ó§7…|´éSjʼnñ •Ò}ˆˆ?àœßô$W@Uu~˜ÉÄœù:b~{ƒ›©Œÿ‹ó€ @YÖœF~H¥}à”xF» ŽB ÜS®Ž[ƒ o6¥©V”õÆW.XÿnKOE½¿tÐP\Èf'mY…!…žŠ­‚MÄ'Ã)>Tž”Ý—8/J¶àe·1Å–þT(L¡Ç® ½ÛªsBWóu«¦MEuíÐÅî였²*ƒãÔ>w»ౄ£w”‚J^6Š~.Vâ'—F×-.'‡3Ž-¯Í ×rx©ÁÉ?œ òÉ’¼§ÍûÖ1~¿ç“†’jõr‰Êt•²n]·žÎ1Ð9|+ÿã&Ù%$˜£~o@ѬÉàeÝÂߥ*mƒ3mµñÎm‹ü3Ý%ŒháeSi\´è¯SÔ¿•^ !Åê³peïÀDe¦û’¡â¹¹hX8à!N0ù9À…E¢ï À(ϯwm'S÷‡eCœ•&æ¦]þšÍÛ½·ãm³GºÛÝhwò¦‚w€  ™0“›4h´ÿ † »Õƒ¶ÿ,uÒ#ŽjÅö2bÕgh_+¸8Ì!ËBJ—¯·ÖñØA©õ9öÿòLˆf‘Íÿ!¿2ÜE­;»Õ×]â£22j‰ÌݹÕ†‚ 'ØOy‚Í—•i;¼vÔøŸ_¾Wí-:hŽ'ž,¿Z`»ú&:m÷¤ zÎ`%:GÛ­’^H6ýØŒWÄ¡»XínÄ™ù™žJuN´<œBcÄyâ*ŒÂV|mÕ†qǃy¦€à ³èÄ“ maEN!Ý®è[–]ñGl =OÚj6r@Ft3Ék.L§R=ýÈÛlü+\ù[ûè¨IÉA ^_¡qBIa¦ÝÖÌÍ-t¶LE;ÆsÄn_“¤ á)˜spGÎ¥“÷)Oy>Åä5X1þ¥‚ 8WsavVœ3É.WÚUìÏ6^[Á† OÞ#âÄ|2cɹ˜Ý5üOâ7ƒìCGÓ¤]¾§Û6§¬å´áw à!ž©È¬ÓÐ(ú¸íÍùn‡øÇv²”%’„r…øº :Fì釱ØdøÙ Ϊ€×Qw% y×o&gÌ"Ô2#°¤‰C{‘¬dq8Iýîˆ{¤Ï¼Ø"øö²þˆ P—ÀÒi “ëÁߌ"ëåG^²K+•ŸÑgŽ6½Ã®†dîrýyœ¿øá·a%†t¼L Áp0Á©ïµO| „Ÿ¾‰ýëKüdRç™íÃ)»j}ÖWŸ¦¶‰ õ¶=—R÷#$__±_ÑÊ¿Pg¤2é\%±ïG)aÂkÜ'Hc*ÁS¤nnG†M'®Ø=eá ¢îh"ŒèïgÅvŸ ]^¶é)Ô¸0°#9¶? š oX9WS…½†?¾öGËšyîú>€‰› ðy“Ó°û¾cÄêeò‚ø ¡0æ)Ðüùô]&îýxh?4ZiYϳ6,ýK<›;VØÍ1Œ+Ä"bä€ÃF@i˜‘ËMÓ—ÿµœÞïaÝí&Púe¦Ó'Z `:y/z·j·ðÅÌ1‚þ. lý—,ÕÕ#7Zm'Ê{Ù(žu#+’õ§†QkCð)Ÿ¬ A=hšÅ ¨Qwú޹Lþ(jæ‡î"äÌÈMržÃTHŵ´]Ðyˆ¥'ÓŪœÞŽ­m  5“™ðpêµ±£ÉÅnü§¶Ñ‰ú.:ŒYŒ w’"¥$8$?Ö/ÜÌÆ£ Û÷Õ¶=¦V…±Ùzm)Ó_àÍžxÚ Y¶Ýúª5Oà9žÇh«°6y@¶ºÂi·}˜ûw9ªq•ÊòªnöØ[V2'ýBØÉJctûD.šíz¬Î «G™ ´µ;`*#?ëÌ`1òˆáyÿ¸-Û(în!þĸY&Ø+>ŒË—¢×ÈèH„áÎÕdS…†¾²Èá¥E! —ò‘PàI‹í@I'ò‡²ðV»«„cÓiz{O?ª&gÊY8Ž1”‚ß ¿…a=ˆ \Å{HïRƒÍ·Ú¢ÿ¿ilðà·é*10$%Ó, ñZc2|€Xµ¼!4‹D¥Ü‹ç®'Ù$®r#ÛÑÄßf:˜»‘ÉÊ/=`Ìhé]Ééº,TÜbX~cÕv®0ílÿPç‚} RüôÈÄCo-ŒvKÖ6(ÉðîJ:XxmÕ‰„ÞqòÔBí¼ùN.öHÈß}è¿›{FL»ð©„Í8UʾL®îêÒ€!NsÌŸñNù-¬ü+›e¤X F ý••åëHQ•hÂçzüµNÖäû2—B§}ôêM‚Û߆NOUé¿Ôàç‘€mnX£›omðR½°_U7gË ”²~ƒ<Ÿ>ÚUìÿM¸ 7=ø€…5ìÙ[jòÆSn`êÞÑÕ4vÚ8Ô¡,]óùamì”Õ8Á7e;áõTY\w„Í-{0„š\îNWÂ[IÝH!þW o ¤þ‘«—Àá-U±ˆ~j^Ýw;y ÄäPáÈ=Rà~,­Cè<éÐÃXAMØ=½*Ü\†òÈ"&Z€Q©ˆ¯ã£‘ˆ×®êÊk×-ÞàCòÀ-«ØõKÀ¯[†¼•I¿_¼a$#)Y¬jK™3™Ï7Ú`Q¢‰À²r}¡ôÂÂÏ¡à¤\¯MVÐ8lŸO ÷ÅFNU¿h‘dg"ø¦§Zº0¹œÀ=óác‹-Ã#42O²¾`4†³ÁÚ~´æ2MÖx—ûªÿ5œõϸŒE*ÅĆ$ê¬E¬`—«bþúÑð˜‰xBDþZå)»€ÆÐ}|wÀYï$¡ N—9Ð ÓRz¢Ÿµ¢4aAZ q5ZXu­†¢ž«þÒAǧaPpŽsŸfùר³BcΊËCI¨ñ÷¨¨ˆÈ‘#‡ò†±gw r3ØSéS˜|u\rœ¢gCå¹õ{Kê¥b–¤I ¶º†ªÿk0ÝF@É™^^°Óëy;w‰µ.}&Åò$@o€àÙ¼\=+Y¡L^èŸZ¢G۵ΔMúWkÀÿóŽlü3ÓáVоÀÇ=„ˆÓ…]#7Bb’5÷â6Mœ­‘×tGÿ<ó3£Oœ Áæï›Š6(ðö¡kJ©[ÌÆF¸ç{ÐÂçÖ’š¥&r ¦‚—™7inÓß°ÿuoÄ›Aù71&žÞ•¢¸©”xªý¼I~Â_î•©‰WlŠPa<®ýõ½Iw½ZkKŸBÁ""”ãø k³R#_Õ—„Éb¨ƒ .4ÌüÙ´¬#ý+:´Z H4Aƒ€æ½]$%“IÒ=$ºLãåh1z§Â&YðL¹—ÈG݈ûØÉå'‹y†A[=ÌZ1K®p¯ ‚!Õzñ‹¹¢uõF¾3uÃåÜ ÂÖ1—ÅéG{\îA!PG¹ÿÞ‘Ò´w¼ô.gÚ,þLЄt¦8Q]F8·²n5 4Mú6ߣøXz3K‹7ÈïO6†-Ûò!tšíJý1wX’9%¼ˆHÉÎT~?½ç@S!]=…†Yò¡bדּºŸ`q?|ê’ÔÒktËWÊ™ ÄËžon VÔvƒƒ\–c; ;ee¹*n ÔÙ'à&¡ÈQV•*½ØÍÙpÚf+N²X‚ÚØöeïš[tPçŠÆ¬ÜódÊG%oSoV #(ÊÔVž8¢¯yiðü  ¥™¹³v¤[aÌô뵦’ÈW€¨´Òc(*ªÈmì@ì‡à~yÜâ‚õž{$Vø·‰:‹’ê [Á9Sº7æB9÷?3•+7ÎD…­T“\ˆ<ƒ]¾µeŒçMZxïïíÛ~ÛúÏ÷Ž:9½»¨}éM±?ǫų¼ƒt៪8 Vôî ÄX‰¨ 0x _¼{EÿOÅ]Q“[K©‚Öðä2ñhèÌø!šlćlûÜ¢u¹I‘ÕḑÅÙCéwKB…Æÿîii×iÁÇu]®àµXÖnÔQ42 á¨WdÓ¯µOµyE“¼†#)k(oç §ñÕlÎ5n‹mìΧÈéó^ö­¹øÜèeƒWYÞê(ï#@šé âFE*ÄŠÖ,”©8kq;^1=*X3p©Ö3Æ*vj‰j÷º;ýSeâ,‰‘‹ŒŒ8·ÀÖŠåc©4ÈBéÇnËgÃJå­€€p±U…½€åöÔE:iíƒ =ß<¤PȾ¼hMð±Äm;g.4 ¬lÌeø%•¯ñö£Úè¦apáEpú®XÚOGDiû!Û§t‚ÍÖ@aÌå÷à»÷²¢‹2äUšî ‡ðÿÖrŒõÈ夒þTÔè$ä9…¾”ùe-\'­øDª¤.í+Kúm]„ù€Ü7Etæ'2–Ò5ÿïK_"€ÅÕ_rè”ìÅåÑÆ-Jys¯A„–7®Ds×b(Þ|–¹ô^˜„üíÌCt…ÍRZ'¥ÁÈ“nÓïþUF[o“¹$¹æ¿Â÷_Ã{a{în1ú‡%ÙÃ'δ¤Sv1ñ´Ækïvxl†»áo¶¤`óªÞTÆŒÏ#Ò=.G­çxƒ–jR„ݪ¯¹°ÞG''ünš:3‡á߆$fLkn(­áa]+Á‘ž£Èª3$vÀWÚ¬ó·›d~âO)0$½”“Vî_?ië-½ 9QÙÔì2£ìº] 6Í·ìq·)²E¡ÅkÞí:C’¢ ulö"1”™û\²ê>$ðÐM7vS]Üw)‰\nÃ¥²ÛÖ«ó¯`ÉÈ*Å’¡²½ñ›IŽÛ9%?úý}LÐïG÷ÔýnÏh¾æà¦&ÈÈÛ›ÀþÂ8PÆ\*@Dzú†Üã”În~ ÆwÐþ°)±9uUŠALuMÐÁÕ¤ÓFéƒ ›ìjY ·N[<àW{Ð}ÎK Ú-Ýœ_2bóÀ{Õíu§'·¤ÁHór©ŸÝ0PUâm¢"ý±X²¼ñ‰6äŒqF#Ì´‹b#ˆ< ‹'w¥TÞ"çÊl%D.ý@ô‡šáëàDÍ™ëÒÙ‚§¿U\”æ\[?` -÷Ï’MžÅ/r×\íc¹b–lã#|jëó¤á‹!–i×Ï‘te0oä¼ËZnüD¦´ÿÃèNؾvœav[Ç^N R¨#‰vØ0á’{G¼-b¿‘oNéOÍOúÏ%M<¤ƒÊ]j?±Tœ‡$ëPHׯÐ’,ýg·¶ØŽvÐï-¹l°ùÇÌÂù¥´zÜc*áVHl¢³ÁÜ«7æÿ0Y¨Xd²k@µyÛ̯²á0ªÓ ¨õ»ÐÒªI¶Æ¬®xî¾ã»"p§Çø`ar©W-Yt'*u”ñÙ  ¢·áº (\½éóßøv­5³5sF*€OW£«-±!{åÈ~ù:ƒ•Í=¸4~œW<¦„üå¡ôPtïHr¿f{ ýÖÔÉð~pB%nRzú°pƒ‰lQÞÝç'(fE·ë´Õ(úó:‘mF,ýÌñ›Ž û-®EÁÝé8ÕU^¥`Ý ™°ðÑaTÌ¡Þ Þ©M‹êbdÆö„]o2ŒtÑ ŸH½P‡4½:qjò¸­7|Œ©ý­M^!’‹»VøµA¡¨XG,,§»ä1%Ìùþ.Êm—ñžz° ëó|ÔÏ€A¡Ðö‰M¬ÌÇ‚b¥øîá~oµVëæ¥¥û¢YÔ2ýØÝ†å‹¿M#®ÒÞWöRnÜ„µ³'µ] [PZç ZnNÐøßëWe vãÔ{m¥¥óU ¡êË}oë@j¸¦ ]Áà‘Ðózåàšý<ìÝZ—1‘Àu)¿ûÆÅK òv§¶SÛu泿 ŠåµL•cï¹GxßÞ2ùðED‚—ê§ Ö~!ž„MÑR~Z³,fŠ qøjŠ/Úï®GO\¥Êûϸ‘¤5G45Sæ1"¢W£”i|,ó6Rnõ:ä|•wçp¸[)§×ýÑwAŒþþÊ»bá§­;ãRœÔð,þеàˆÞ€ԣr@Šå#–q-˜¿pæJan m§d«¸…ÈW0µ¶Í“+§µZ ¶›£|(•$€)4IJ¶4áö¦ü@q4fENÑg—ÿŃ>þljOV=eòǺ0û„±f­ëîÍÕb³4%ü5‚6жœü´ j2ý¤óδž§"iý¬ ’N‹Þ¦ËiMx¢–lýì@ž7’0ÐjêX9™¢‡ÃjÕu}®Ç|)6AS?›©YÍa=é w:ÓVø+k𤶵’®¾˜â«5îï”fPÕÎË{¤ÆD? ½5´m‘ðŠí/b]Ãþdm(˜6,¬·­Ñ—{¹Qî]_xž¡"õ¼ ÊJ}BººƒEpã̘ê¤èóxõm茬²ò²¶H¹¯ÎÂ]ÎÚþcþºA… ´%жõfº‘Á($@ jþc¼æsŒ7{žEC& ©(Èsª”X~pIs™¡Zâg …˜ªõN6Ϫ»šòQâ.„bWtöbÙÎö{Á'zÀT»iê ¦é ܃á2rÏæ*Û!? _Û/*?ól¦õÍ ž ˜öÇ•A~Y…9îöf®é‘^O£.˜çÍèæÒ ˜ãl`ïî~OýMy¤_X† ßW­ê””ÎOæ7oî1ûGìl¸ã_öÊI ^VKëìHÑäÜ¡åùpÌ drdÖhnµ&.~øžL DÑø jc—h V•^ãFÓÞ]›GÆ”oKq\ÖaµÇµŒKBšEÜ/R7ß±Zøp"R_NTþ«p %ƒÒuý‡Ÿ)£~ÑdÝQ˜¦Ê%P.I”ï~øÐÆæÛ8ú\tpl³yà9·ÒtfȸÈgnN|7àø)ß3TÁyˆ¡Èç9{>PNÇHá´žÀhlân ß³Žªaœæ'þ&t>–-¢­ÕKév`Ùí{Š?ò Žb’·E´Ðû„8â"H0jÕŒó+ò¾¯’XÈð¬¢Àž4 bUÌó-f“kå$…öR+pö1GâVnM‹t“qÃuþ=æ˜@ ’¨ï5‡kŸý‘Høn·5Ù[ïê xÊŒGû—]hת_Ùߨr=þÕ-!ÙD^|ý‘|>AèI:‘ËUY@쪄CÅê* äÔ?nÕ¦+´TZv ˜Ï®ËƒHÀ³‰¤ù¤›ÃêúXÞHî«ÄþËÓ:Vê¯z£Þ[àÅq5R%ìPüÛææ2 7áà»_§X]“Ùߺ)CÜ”ŒÓ¦–½oÁªn1^nIZÍi/î  Ø'ì&AâÀ1“ïfâvžvK§¹äQ}PƒhÚºâõ;TÞç”â ùý1¢K0\0HZ÷"‹üèeàQ­„-(ÃÓ®hº„¨ƒÉªÄ<¼Â±\@®Æ%>ó'—qá«ïS‰G¯ Œ!°Ýórýù;ÿ%úJ ÆÔ B°®&WŒó G¿úIôiÉiÈx›^±©™Ô¸Ö°ÿÑ£žÏËûøoÅá¼HÍÀ»Mò«MŒúÍ&–N?!¬•e?wXʧüÎdµ> ¯ö«±µ²NR…? †Š hT(Ö¾2ïÃÉð¬­dÌÕžÊñ‡¹÷úV†w,ÑD ¶¸u"!Õ~'¼•â÷í¥ øS/NñÀÂÂWÒù•\23x§Ä—ÛqdƒÑPm—‡MÔäÂxQr*ó%`O&WU¼ó^òRq¾®oAÅ‘¼ËÆÖ4õHy°wPæ‡áM½J…±„²Êó|xª7zжÊöf(þµ·øxç»1øLÞ×)-žiõlš¹óy«q³œeà7ɬ¶r¡`ºm‡Täû‚óêá ¸ ŒHÇUEš½–×*b<¦Ö©ø©x ·ÿ«(hŠÀÇTŸŽú)üq®çé‘Å`6˼A€ cmW€—ñƒ¯°9Ò}ò:iïêÄA<™DHJEV“B†â!اOÕÛrq¿Ó-M|–WMVøV,¹XÊÙ¨*¡{\ùí×·Ù´þÛ—–½‹˜vÕíµ§5ÜáE±X–åAÚ¨xªÐë­k¸¯47~vÛ ×»^Ú{=3Ý£­½ªeìüö9_víwxN|;Ž"WK&°^ª½’4ìy“Íû®¬`#/E@¨ùŸ Ä[h°Õ؛ԃçî>fNlsŒbDcaçðóhµ¿5Ãn[¢E­×ñúb7~3@)F7O€Bù%o:CZ§xÿ꜔ ÌÌåÓ+˜66Ü¿C©ï«µÚÁ(FâºdŽÇP‘ vK“&•]ë´qRUŒóåzùö`‚ˆƒÕŠ·OçHÊÈaKÐd‹aÚÞ·¾l‘Ã-Ÿ‚Å dL¢Ÿ3A…¥è^OEô@Žg}š³ŒÊNæÀëzôHõŠsŠ”YË.94€Œš9Wšb)Óö 3âɲ]̹¸ÛÊZ¸´Ñ5èønù¾HTzÓ+‰Žá— l%0KŠp!ÝVYñ<"áRLaã„î4__8‹$c1ôðq.i‰Ömœä.W­â—¶8gC€Pä ìñÖ]˜H;QJ`ëÎ n¼«“×úWC7z›é]©Å$D¨{íRä›Îôa!°Ò+)^G5J!º)¨œâð¶jqÆÓO»>±}tîÇîí- A–ôb9áO¶½s2(ÍK·£¶§Ä)¼ÿ¢›Õ‚ô}ÂÀAÑ6i±ìœ”¨M Åa”Ü%~­Þ ¸gZÍSõb‰£Á„!'r?ÂfìL18QíÌC1Xeo|ÃïÁõE:d~ãbç}˜ÌGpr?zÿÐ Y{­ª!s þ)üiåÙ‰ìtîΟF±Ô‚úµÐŽ„Æb8 iØs¡šÖ@¶¥½­×9÷žX ÕT»š17ТYC‹U¢Ãßܪm?6EÝåØÞRÈÿ™ÊÂ$o1¼’L¹ùÀÉ=‚+å¨ ¨J*EÊaÑ&+ ¤M[ÂE Ï@ŧø9AÂéìn{*d„>Û“‰¸ÓµÇ¤®’›ŠÈ¡ef5NÅmn¼ÆB¦H”]€)€’hµŸ_ò#Ùd€,áìí1ýˆ•~Ésp‰Î‰Ë¾ôúdWDŸO:Ï ’‚U°|Y•‰TfÍaþý®˜Í™k£ì…¨ ;’õ=W È<@a©Cîø™ éÓí.‹†Qzª,Ýýø'ʃ3±$ͳ̰pTþáçzß+°Þä¼ï‰¶ÅJ 0;Cs¢z;¬ äÕðû÷)÷ô鲎èÖ†1Š\ccjî\Ô³rûñ=w+¹pp Áõ fAòÕq»¨Âèû;¦™„ó¾Íeà€Ô¸}Hglo•‘+㢠SvÖçfu›¬4^qæ':vŠ ƒð%ókÚFöØ^<ÚJðr°h¾ÄdA(çÚ8O÷k÷RÁ*u^}ŽŠ%SêmODà_t¾±“Þ5_ü«­ëå¯ÄŠäņ‰ÖOÔ‘h“NðûÌKx¯ömvžë ‰ºlcpÙ0dHÙC›£Ñ÷G-“±+ë»?FäŽuë£/,™<ºqÌIN¸|W¤Ëôá­±e)¿q` Oz£Ðð"¨ M?í`1ž @âîùìôç¢`ï†Jç³mÛâý‘ ô<2!‹q2Üö€ŠøÔ€Òu—ŠÞ½P ^¶^>#ÐÃKåç?ð­²ÍËá·?ZÂÅ#“œ¦©è ¼ø­^.u6Æ•xãÊ™~í ¥è$Íú^¶7¬ðQÕ"95*Vž3Ûƒ›¹X"òæpž26Ë  ¦yÆ`¨Ý ég"ÍiFVà ¡ü®b¿^% ön²K¹1RaKŽ.W{¼? æÔ¼­Š:bY÷Á®á3°,ĸŒºs4È«÷?(Œl8èáþÏx¦o&aØ3ú,ÆÊt ܹ}*ÜÅnÉ Îò0;0×" íR-ÿï”wT%Ü=ê*ðõÇ4DRƒü+|Ó§•\’êC†>gðóÙiûñOÕm“±<,^Æ™3¬âèéK­ö°ÈW`t\1p«k° 3È+Z&Aƒ‚j«X}å©Ã£Â»_ì‡ñ˜¨ö`ßúUO˜ë'eµü‚%hJeaóo^êU©ñiRä:Íah`^ÒÀRr»¦‰îQÛ˜´ÆÞy«E¿ø à÷pŒ˜aÀjÏû`y.ýÓ}ªJXµlçá:7äÛ6B¢×χbö*«ŽåmtÁϵêgÜöÜùSyl0è!µ‹ÉŒ I‘gÔÀ`LlœýÖê$%ÊY†HŸ€Þèð–šÂ>’tH´©¨ØRp¹óyTIt¶´®‡Éôj° ÑÃÝ<_²ºÔ´¡j¥ZÞš°–ÉRÂJe¾›F8!Jˆ’Âp-ëEb3úSìsyÙÔ¡ZØ\á+Åà<ðÔ¦ ‹îF=À ÊÐÍ‘:,?ýPÄ@¨‘!øø‘uÃ¥p˜ ÛŸžD7‚ò¼ fk’¶3šÂÄ׺³q™g(T»WtŒ*ʯ [zŒ¸_ÌjÿZ3^58D IÇ5u^yK~h‘W6@6ÄòÅTÀ‰-À²Ÿ#1ʺݵžSð'¥‡ú UÖ0í¨|ú*lx¬Mr7)™pÇB#(ÞÞõJZå@…º¼¿—äa… ~ŸÝd}b›”Sf7#Š+©p¡ªº=b³ë`óãë¾k‰úµ;!7µœûlìYTø“‹¡±úßÝÕ c–8¥Àx*(Jݰ´´3˜žZÇŸI>¡Å>:Gž&ù"¦ôP ¸¾üNXµ$¹À> ÉZ ÓÍÁœ3mAÎ8.@wÙòmÃC)÷/í3Ûu•½ÞÊÅ âü o­þg¤o ÇÎ…Qïð¿Õ§ú³Ø^ÊðFüR4C¦ŒŽ Ü£¹ˆ”§2(ì ц#tm_d!+1çÉÉÔ¬Ÿ8 »bàˆE 8tàj’lNF¼T„’pÅÚ ŽN|´çÉÖê§hæŽôùi&‘ÂZ'º›µg÷tçE$§Toq0f®<¨¶ê×{ØO«ÝÌOÌØbç·ðØ"9ØwEÌÅõfúb»n2ð— ×$^QA‹Ô=啽ðF‹´\0ž-¡¸èDYÅuí `.ñÙ{:zcß™-35(Ñ©]oñ"§=Ú©acŽ Ræœb>eZd¾hÊ!RºZú'šv°f$¶°ÄuÅLOc†OMášÙý›5š^ª=C¯:ª"J¾,[+Þ`Y|U•7 Ä}ªOÂlçdÏêXe­Æ2¾M†<î°34õ'»©¡–ñâ~rOŒÔÂROŽ“½ „ Œ˜JÁ¿¦½î^ïÐabŠS:üFõæW#= ©<](2Ý:!í4x´ª¹Èã·–j4LdzÊ-KFµ½Ù­cø y⇮(Û®À 弜ÛÿG“*ÈŒ*șԵΠïIm4<¢%Ñ^µ¿Ÿ»=ÉÒFñãkU·±`ÒòóR£.¯)MòÍ”(¯ŽÜÚè—YO Ò§Â@Ëg¼l/jÅ JTAZÒ`>tê}¿{ †ÔgêE2»1د<·#ÿtâ^ÎO¾r‹z®ÖµGç’U–HRÁY Šgà§ŸóJ’•ÆëÆvAa‹'fÝm\‹Zc“©»z_dEÿ$n×ôõEËñ Vïš7›å½âã‡Bå¾É°÷5 *Ü8{ÿéæÞj¦Ýúã,aPÞx@z(PezøQüi¾¡[g3ŒªÀÙ¸Ah2èýÜ´Òµžµgr(ó„’w!1(Ô=õ)ÒÝù2›’¤T!nÄ×yM#ÚT}wÀnb°[/L"JZ`¿*¶n) [âtòìJd˜lV1Ȭ3qÇùñé•A2¦ýJå‘À™, qÞéñ` ]ç= ”ø³zƒmþ±йÙï[r’Èé CÖý Ý¥>vXÝAòSkœ;.ÐN¸·ßõ\ ´)†D#ý,ÊÊe0 bì£ÍÇu2|¸ê _|tÄWbK'•OðÉ RGF•¹4 ÝË—'J€àƒXhÉ’ªÕcË!þ•Ù….«T^éƒËóÖÛ ¼³©†mz¹÷aÌô‡=™WDᔥw¥ý²Éx{~FÙê8rw‰÷â,=U¯9~)3?må|YbhLÊ®§HD¼ÚxòŠñº-f>´ó÷¥<Ù%Òº‡Gà1Šwô •ú;#’YæŠý|®ÐÄÎú¹ˆ$7DIgR:Û²r‚KǙԙóÒAmg€yïèpº[Ú´è7¢2µÐC;òS‰ൾð¾’¡º¹þ‹œ¢ýp1õ›-q², K$ã!×HÒ®\͘~|Ȇ°Ž,"òˆz"@—=^ò«œýð“+ÏY˜êM¤ÿõAýP¢ç|ˆÖ  ³éAAŽHúôÙ8Ù ð1!® º¡4\Égé€&K2ëV÷UÔ‹w¼ézÿå(zY“m‹  ³xÓèæŸ–jàÑû›Ùlµ§P ‡Êµ'kþpÙò 5mˆ²´õ³PÞ²%ßI,–1 Úò=íDz±hóeÊ×4Va€ÂAq‰ ˆ¿`j‹/Šy7~¥;— 6ìÁ!ôVêöºX$òËcæDl‚ƒzÀȼË&ŒZ¸øY{&oè:ZåB\—¡1%hŸ\šÁ,‹K"+´tá¶=”›¡ñëQ ¡ÿJÏ:w¤K>m›BÆ%ç!ݨÄö¾¤ö˜¹‚pÔ[÷} ü¤´„è;†NgµZíßô2q==ÝoêºÓb8Ä:r™×mo¶(T6"®ËÀs.!!ž{\·‹@œܼnß}ñkAŠ\$m2žçÖ#qB¹ëQò!¨ã#tƒX‘$ý³³òÃr1›Ç<=û_W>–^m>•ð\ðµ­KÇ)¸c<¼%~Dº˜5âÓú+Nó¿Áëå(-ëÔùÒµ@áŸ@Ÿšü¹òþ¡Çà[ðº b¥Ä¨ØÄ[Æ.yÒœyÁ~‡KDW1$ vví²<%\’s ËÍö…&3ŸE>6˜Ý¹ LHßoØp†V<+ãníl>;S÷ŽúÅòwëÚ †ÑPå‰ëñe +´pLP<Û|'Ã*¡*ÚáÕ×?Üþ§Ÿ SS|û ö#\sÑ’ÎmZ\†Ú:SàuÓ^M±Þ{YRuÕ œU…Çã¡!ÁîßýP½«Q¡ rL§v.©22hÛ¡{LVIM"`ER,/ºº=NÖÄeT™½û¾PCjYOó¹Ä&pÑExWq}feãêôíš;äBðPMåoòK ø¹n'í7ó% Qu’ê¥-@õÚ€J% ¸ãq¢ ÈKÍbÍ?{BiC U†Èɵª/‰6ßRýÜh|üùÇU‹HdEæWÎyX?–u^ûw4[}D¯Ðc톛]ŸëÚ—ŸÈSmÍsІ–¡§¿]¤áxqí®žˆ~yìûqä|}bÙÖy7i›Ý—!Â{‘yÓ ŸU{1:“!ÍcÌö3P(¶Ÿ•¨´×Ÿƒ ~¥kæw|m¹“8ßä÷k—†Y”—Uq>¯]yH-i†Äæ¦ñEÞ)äõtžã$†™Èdðt¦É#F3g€t’¢Jù›úÐyVP§2˜àÞq”‹¹cQíb¾­ÁÖ=)É*¬ÔèèPÎ4·Ýì+é=OÕöëïQ¤T Ú@?ˆ0šìà ·xô¾Éø/Ó7‚îѹ}Ë’6¶Ä³ÿ_73ë%.ww0Ç ¿…–.0 “aZbŠ,g-¾g}¼–Œ%<¬w§Û˯̺–Oà¹}©9àõË:RO%Cä-ý°höñ¤%ƒ«Aú‰´6 ´QóFyüýôêŠhÉ`öu)Óq^ëgèä×-c­¢›®Z¼ê¦Ny‹§º”W@U²ÎÌ®ùae(SúÂmï8F­“Ž îÌd¿ÖoÀÂùd˜€_‹_Øìø^§i£nZöc[ êâÜ#g ”©ß=Ðש·0‰<‚¡JP†¯'XxèNªiò‚”‹wpž×‹eøg¶³¼74›T‰ÿã&þU‚.›Ú3SgÊ&cyýp§Âé“Å2v:n› 0aJ4ú°<„°¥‘.oZ3 —ñדֺ‚•"“ „î8 ½Ùg°¨:uóÓàᙸ‰§*ˆ V“foC–?\‰Æyź]¼Wï–õ¹Ý©ÕbñTšÈrá©T°HjuÀg Xp5/7„om\„ò6GúwiV¤”‚ ³µ@*4®›‡Âí÷ŽÂ…KgÈr¿±:ö–ˆ“B¢ó‘ yAáçì‰Îöœÿ8ï8ËJç0 Í¦TþÀ•"L¹'žôyz±]3‘[aòOý‘†1‰l°¦œq±üló‰H1{”3h^Äë …jÕá_q¸ý瓎ð¿T@Âë !‡« @³ÃÔuz¨_¢Ò%Œý–›¬¦šŠ£Í¶mÛsR'òk¤Qˆ)߸FqRѽÐ}Í)̘£\‚t®'¬HyNÔutVÛîøföx!HøÖQìÍ#.çˆ9kÝ2Hr§÷pßç1ÄÍíÖÐârÜþlý:µppQÊe&&´™óAü¤Q+p`q¶”r3+èÙ•GöNkqôFèØæÖÃË^!|œÙïGòËñù «k#¾ Ñjî§iÇ¢Õ¸^ÈפÌk[#=Oz–L½ï-×PÊûž@ÓÓæNÒ-ý6øM'ºD‡Ju.ðX±É†¿‚ð:}ö=…dÆh0p.~ #>!£¬å2\b,¦()šÈ6»ªƒZ MžÅhW Ï3óWŒõ5PÞ’ÈB[Aã–ðt¦côÙÞ±«2´Ì iÑ7ãÚþB?ÀKßF>ÌÍï4ÐÂ'¿ÎªißtñOšµå¥×Õ`Åízß—I¢#M²×äÍöU¡sË{!êÞÆÅÿ“‡B²þ“Wz?ou+…ä­©çÿË7-8ù:¸:Ø}\¾Æ‚ˆ’¯£‘z:ñ若%x{x Y]™ä(c1Þ7Æ0 ùÇT2=èT)€| ôpÆŽû |i—1ZG™o Ÿöä9x0ïXÈQh;gú¬ûTË$Ò”°%™rjoÖÇ莀M±Àžy\æœciöÐOŠ’IÙÛ¨F6p_üÊOÒ±lÔ‚š(ur¡TkÏ;‰Í™ñaz…ó"fÎñ/CÚš[úŒ»Z^ÇNÖßd“ðnSÛ7hÌWuÛŸ>W—º‘ÞÁ{çê=m!¼¿¥ßã72·ó:žG&u3Kæ¹udV“ü¤;?É šìÀÊ—©êœ Ç? çß¼UÂEÀaËüjÔg¹î£'u7ú™GZ'ÃÂ:>¶×ñÓQX%Ù—'Õj¨êa†¥uƒ«5Ÿ?Iàï'”he6Ý}}&¦-î?f“•:~áÒ²üIZºv…Abžû+ØBÀÕa>¡¬{ç½æŒT%,‹£¢í?¹9{´x%„˜¢¨š«¥*©<–öc*GA;FOZPÖt[ƒ2ág@S´Ú­yÆ„ï”ÇÛú¹ N#ƹu ì7f>ë:Fwá»a}«5ð34·@ïÙ™ ž“¬É+Ÿò[+güoÜ Ñy1lmœòÛH¢êÒROA Ñ´ KævT^ÿˆ3m밨Ƙ<Õ>ø&ÍÿE#-ŒI󤄽S© /|tæðE^ÎÞ Ô81hbÆ¿@>ÓÝD©€ðYÔÈÆÄi5`[Âð5<ÂÎVþj·×9ÈYäü¦`ÑøÙÿ“·5øò ,®ú™u•Ê‘™p‰ÜÁ&žŽ8± ¼Öç£;BÇ3Ü×î„LõZ<„ò@¶nèÎgo’Ž9AÙ+þ׈&ߪIEÙ$wrBŠkP-È ›YbÝä+îö¼“Ë KЈÕà¯y¹¿÷»§/ãþ;R4ÅfþêœÓ%³[BÅÛ|V«}þ ÎàFX*ê¿ûĶ]^”ÂíAÂ÷P…®Fæø¸d r8$£æÄÈyÒuÖ·¬ë7‰6±vhÙ5ãd&”¯Æ³ –Ý7ݾÓÜ/™:{–6'ˆ–Ã_1äË_R¥~‡ñ(#×öÔ—Ol=Z=¶6tönMË_y“WªÝMÕ#¯$PÃŽ,E]`ïN5…0ñ óÑ¿ü^XÉÚ4Ü¥MÂærÖ¶ÄÒý+ñÙúF1ÞåÉ7ÀY¬º„™¼0êt95ÍJuCí$ù…˜âU6lF¬ øÑ¬féïK.VŒsÞeð7n í½%kêÆCsg«>` CªõÃSafhkPìë Ôk£‰¹CÛÓæË&h5¸¯M+<ƒÍƒH[ÿ“P/g¢y¼y4jOœö{+ìæR³r‡“ ‡m*ÒN-3À‡“ÇÄŽ£¿n[3ˆ“Açí ã°ŒŒ{pqL\®gWŒOÿOLž¢#ˆM&˜SKÐdÉk|uc¥'Ç€ £ Ö„*JÃŽŠVãÛv²ØÓë‘·l¾‡"‘Ý)îá3Ö_±,õLMx›"fuDuێש)ß^KÞŸšwjn°,ÛPYÍÒI1ü†¤æB K‚{¬ŒôÍœ‘ì_g¨±P¾ìãYüOÆŒ4yo²:¿m›_eØëÙ]àÛúƒÍ¸“¦.&m«›ï3e´Ôúl_ ?gëÃ ŽƒF’,~Lv#g¨_rÈf о''pÀF$7ÛAû ýÝU䬮P+£s#m­ßÚuHÀŒà-˜…N¶;¼éWó6:û Án­ó(„ ªPè=c‘Ky„¾\Ð?,ý$ WáÍÙz.±^ïÀ’§«InIïí3BB|´"¨L9Ó²œgI(Û¶²I¤½ª´ÓÜ |®šðLj?L“‘Øsì °Ðÿþ±û†áµja–”cñ ±™"÷—ò°¡„Н=K)Ÿ¶Ô’çµ™{¿9š= ö Éâ6BYx ÂÁ",ó7Ìû¯7˨¬x «Û, ¨~*Î+Öþjþz¶u½x‘KÒÖ&¢;¨÷#’ G@{ƒ§&<~Ûã<‡Ûíc çÀÀdA#-SÐÕÈ>š¬„âžyÑ5NóÜ–;¦ÙÖÜ„¶Õ΄«…u wóü0ÙBò \=](FN™ÖnÏÊã%Ò‘wÚÕI–õ’ö›û´ŠHâS¨6Zò_…p ©ßbfæƒ9©x/\~¶˜Öaád¡d6]LTúÞ]Ó±§¿(kÔ½Œ.ÊøÑ²vußÖæmT4[ 9Ù T[®ë( Òß8œwCå+5è|Sù﯂K¼û¾Jô¡ÛåA}_þùPhsòr¬ »:𣴂Ï'Þ.ÔG¢áwX!aT žºC%óç±Û9§¥DÁž_Ð'Ý Î3 %¸‘:fû¬×í ‰eÍDürc»Gõö—ä9³ªvE.p_‚quCàL•œ¹Õù:ú*ÆÆ`I=äÓäúƒ¤‚g™Ô< ;Y-ÖÆ±­`~FQÐû´óÁœ@-„1l«: ÏU˜=,c1lçH`ÓS,±Ékv‡ FÚžÚòøON.AU©?ûµ¥h÷tN£=í¹½YçÖì@ bs̘Â5Ñ}Úïê45©€ šˆ¼é*t¦mâzš‚Œï–d†=çšRÓ6ò÷Šœ€ŒÖ•¤RîZ§ÐZÝ]ÉÇXo_l¦~—‰ÑGç¶Œµ(KHãþÖrߟõ]Ü–‹"ž4AY2×hb úLDù‰A,9Ê•G“àéy)«yQPúÝ[·9ÉÛ¤UMüpù)aBƒ—\[ÍÐóÕ C^½?â-€°H:½ÏåíIY»@î §EWd5Œ«Ö•/ ´qÊâ=¨y²ô58ÑàŒþ=îT ¬¤¶ÅZóì'D}ím¢ó,ÒýÖˤ…NÕý–vÖ1ã!Ó)efíS¾7Ëü¶Ùh—w ˜åUìyKR/øÔèÅpV(J†0‚]4œãtdþøµW¿#!£uœB³ô,6ïü—™UÊAkŒ¢<sЖ˜\LC 3a`ë8 ]u?v®.œ¦ÎïöS ÂßtˆžÜÏ=Xc¢3¯ãu¶Ûh÷Ã[¦Ç„,Õ"w=yœXìÂó'—uþËó©í¥Ièh=ÝmÉ…åÑsMÊ„Zmâá)]tðÞ&PLDåØÚ4UœË æñÌ)ÿÉ=zñ}‡‘t G f™ˆ À}ªÝôܾêlÖÈóüþ ’mnŪï[»ø387~+]Û;š? Vß.Œ PO”tùjmù‰¶öç• Šv9n)Gyfg½ÑZñ*ݼ„ç×ÃG´¡˜)½F1eMó8nô‘/£Ê`PüÆC~ ¯`)Ý÷@™€SéÂ$Ïàœ‹Ì"êêt§¼0ÍË‘}“>h/›²©ÄŽ>žhã*Þ,³­{ZÜnns@Çõôó˜XË ŒþC¤lóNƒ«#&-×&ª=ò|>ß'% WöýÆÿ7  ó•½”Ñ1B­å¡QÃ(Ј‚—ÖúðÔì/¨Ð°I#o¢z¦ÑC¢sh`Ÿ4å÷óÔ™Üò9&.ÆV%wäYËZ=ÞÄ vòVÄ{~Œ¿ñ@4*LÕ?µæMP¸I»ÿ/Ôºªøa«ÑsÌþ°#iaǃM38—ôßoÜ+,–:AVQJ׊Œ, ÄžõȤ¹Sð¯n茻Ÿ¢~6ù…„LG:>¿g¦Ÿ~p"ƒóMÉàªYì×ã®wþÜ“¬69-Îð|ÁùùeÁr jN÷“"ÇvbRà’¥s‹D‚´+˜`¯RãïÍ:²º Z­O7´jy¢Ðèæb|°g}sQ Œp¢+EÊÆxx“¦B–º5ÍÆú@TŠ’ã‰ØXa“Çìa²“Â7ÈÏüdßÐת¸½¦ï’†.h×ó"–»û5èÏ¯Ç ö,Ò4HUY @AÉá(eM¡ÞÍv !£6é%DðŽêë¡ãü89Å•o`¸ù‘$/’@ÕŸ/„T í=]ôÊ oòÍðô%¥A|C&Ãeä^-}}Ób̓Y¢Äeœù¢›vÀ‘¥ÔÄJžâv[wêëúã$«(„ã‡- V%—ñ>ê Œö"ÊÖ†§*ziºù"g=¥[]J`_ºØæé&8«–Ö.µgåñ$Lñw>HÙ«ÈŸh˜±§äoÙÐLF7i[29ØÜÞ²gÙ…Ÿ­¼¤µ£JN0PÏþ@Ðâ< Îy¬‘€³ÕtŠl™.wöÈØPUoÜÆÞ ?ÞZ„h¡ò” ä›_Ù¤âȳ=Xp^Écë­S™X,†dɯx¨>Éfž¤ç»KÉɤئZŠ D·s݈‹,Ù²<ì—@§ÅwH³G˜¥¹¤ÜXà,ÒâÌšÏëñi5é&q¯f»èšSO©Ëk¼7 êKö>Å€¬6~~ÔCý÷û7‹ßø‘ZŽ_YL9ÙdÎO4“ F¡®žã˜ÑXrߎÂ`©§I Œ¼­ûð¹>ÂÔ—Eú³#ãœuD6¸æNÐ tÄñðîŽðàÿñk öª°¸&Ñ.y†üàgn1l´šF´Ôf½X/óp1êÎ.£â| wHîû.Ó©¥~‡¶üóâU1Û©ªsâY;;Ùéü€¯¯ï[&½3ðR3\bë#@Þ]eš¥˜øäë 1‰ÞÒÂ’èÕiÀUtå/YvúëV„Ï žpÛ&"öÉgåÆå·€44©ªIVzõlèóI‡.ÿ=‡ÎJs ŠÝ{oKÇʈ~ÀéN`úÖª¾,ô'ç´·!TIÄ“ªO˜{ y'Ë„Ávi‚÷¡Íî,÷ŠÎWfZ¡žYC¹äžú`>B(ˆì`íXâVÙüáôçŒ5ºÇ÷Û‹1k²>À< zÒÝ(ÿqï£>1Ñ×’pýfµ³˜ÔsU±±.%xe²ÊÄ+ßûò~‚Z/lçaç°€gêü¿æ—78Ñ竈áУ} éoí*A63RI´-aº3}¼¨MŸxÊwöù’\á€@()(ÎÕ³»É´èÛ+2ía;Ü¿fƒ¤QyF#'±C¶ú'd² F–,8¼SÌ3BÕœ…ÛSÒ|€D]‰Âco€Çœÿ(ÿ{û§Ÿ©Óoý‘gÌ’~1b·o,!ðéÎVzá¡, ~âzâ xXAééò]*™û&]v‡k÷ÂB;Y=Ö»-á.ï$ò³ù¯¾IÆ’èl‡a8!?å•òÉ%Oþ3e‘ï%n§4|lP 9 \ƒßéÃ[?€¦GIŽ™@¶CÒ²?Ÿ—!ò†4 ¼¦æ¢„ ¹lñ¦ (†ahÊ{ÛνËõ¢H ¬m¹Ï­«Ïß¶£ôSK}ê×bÑh:[zH`MÇ"¢Ì0‰)î§YàÖ)æq(óèš0ˆÛö4 Äìþ“,8Áãï—ÑŒúÂÚþ†OL§ÅÓÛ±r'Ëi k|4Ò¡ëÈqå3å†¼í¹ œÂJ©•BWôÉ©\…šùX·RHPý>«1Ú{¥Eà2Û©F›Ö)˜h×Óϰîp{úýD4‰ÔIõÂÐ Ð"æItå4 -§)kwŽërr ®º§»³„ª‚+ÊŸ— `5pþu¢&$•?hªÂßÖ›©¿´µYÕ6C€kw­A{Sl“ èà Å­" æH¾êT°w,6Û”§E›ôVNüDLû0êm<%aîáÛ³ý!NÜ,I)Wæ0··F®:§whVâ{‘³äú2ëÏò»Q,&Õ› ãr¢ÂvÌ—Üñµ¨#»^Ô#Jʤsx9ÿ’/ü˜9B4yRùAMò¥©,nU4~˜¬\î0‹Ñà ³uÚÕh@ÊdXÖ! #¯IYèëdF@ëA©ð9€ÐÞ‡a?œÝõ‹kBPÏ)‚KÓù¤YÇ:bµH½oq §!ºœ(éôÆÐïNs`ø ÷å‹ý ½FìÂXxK•@o˜Ì“|½’Gˆè^ôIïÓÀüƒìþAYÇIÒšLîiû"Ý‹úº bä“!ºÍ¯ Ø±v[ä7ðIrì+'ø°¾é†­vá4†mrKS}1ß>vñ§±;tùrÒõƒõ©¸@jpU›u+ì+õª–SQ¯®ôU¼¹éLc#ÎbïA›MOBY ´îG‡kœp*ëýÐãü&ÜšÂÃ8k@×h³czX5š]«{‡ðˆ¨Çéµ*¢Ó3yͱ…w‚Ñm–$Š¥ÃX9O_ïÁf± #^»Iœ i4,3ê+•‘ T­EB0O¼ËzÿnÏ'àI, íÎÞñ]ÿ¿ð÷÷*òͱä²I? GûNg|Ž·]2­üy/_>Ý52_Ÿ(ê‹Ø3×­~kª³Ûf¢Cq¦©çÄ‹@–îĬ à’% Y¦Ð§òÆA—|±°Ø#_?·9j9Þ‹Åе¤4ÜЊ­¥3nƒÒv¶t@5å4Cׂ´ÀIF`GÅè:$•{Ös³m"YŒQé’;Æùhü몋zÖ™á¸è̇ œ ¹ JýMÿžÿ^(Á‚•éKËîU,͘Œ¬51ßVwA*µ‰GaµÀf©n´»Ãî³0M³·ÖÂkSN†âEâZÙœäÏ"2¨|ÜðJmP'£ Nü¢£ã ”oïBr4poaI¨\kó©tò?,Ž0ÝP¿¦Øv,Òœh‚Ë2cÿ÷«C‚„ ¶4Á ”06ßÎ:ñ+”Nà/"gò'ÓB\Æ,…̾´ðÄŸ¯S‰uqš!+)­hRÎ[íS¼JeýÑB>W=]AÁå#£m.yK”»XÀT͵—Ú?; ~Š™„ s+¦×„cvMÍ’ÛIŠfoê€ÕFGˆéÙÏ»à‚5Τû}ÐlTŠo7Üøº;} EÉw’µØðCð`µÐÃð·~%e+ÀµñBÁpAÃ4¾Šg¥Léú5ÜÜ#è-¿Ž:¨ hŽ4i¹‡;‡6}e)x´ÁV ×ͥ܊‘¢[n¬Ùë§<`ZòI1gU‡1Œu·Dˆ*h¸™ºmyG¡oßç¥æ*j]U´R GÅ94þjüõP#ô‹#äD#:içø|dÐA£¤ÈktòŠ »S~MÑÏc{Šš@ŒžÙâ8ð“›c‘‚¯½Û Q ž·‰Ðÿ§,O¢mˆ —[ÍmMºà˜ë¬„šV‚/¤ A0í£IÅgVbkMž9ZéÀÍ¡»ï¨m™s†-Ý™F¹V‚» .VöVH öÒ„ä*˜mæê*Y>÷êL6$ó#nøi39•ªG6É”XÞ ¡ˆ¬å6ÐpmFzŸíè;wv x%ë–-Ën¬f~«ßlއôÉß—Ü"!И¶ŒÊ:¤@±ž ì¢Ãï&, é¶`'ïúõöõª~]pI[¡ÇpÙ^xìØBögJ½ _òQ p;A1í´oð:Lx³€Æf TpÌEè¥Ðý²¤æNž‰Ç†Ý¸ð×¾PæœCÖ0[Ϲ éÙ lñ€Qïè×Û˜M½JK6IfíȰ#P"‘¦ŽX>¯èáì€ó·aVµˆð›[N¸½¯©h®î¿ç¡+†”7œnbV":Ö‡æN¤!ª½9YiÌŠÀAj1”é] ©šJXw>Ìs\É*¼=UÏÕÆR5O á:¯˜&T>¡Ò8Ô“2ø€~¨¸˜†Ó~|¾RœlÖÜC±]øý¹1DÝ1¶iUkÕ0<˜þz—'úZöPÙøV»;™ˆ"™vÓƒ@ŽxFç¢b¸W„EUà·LלkYN‚KUì9úu:H8t @Ái=* €~Ì"ðF••ÈxíDLöªœ.Žö^ƒ|eÓ&D´ÍW ÏîáS-/!Ƶ¹hÑl¬¦MÑW=ëäl—ú$a}Àï 'æ–Ɍڴӂk•‚x¨ Âz¥Cl<‚kêµlšRZkÂÁAVßPBæ,à35æHOÕ’(è&|…Z¦xǼ§§ÒY—~Rý‘10Wí€yõ‰»û× ‚©ð”øuGÐÜP×VCÂNî¾_ièQùÈØ@2?uŽ*f<ßÿÿï–j¢ÀWÃÍ{·cwãBŠ˜ŠŽö½•6Éa–î 0uÃîàO(´ŠÈ×è›y¢Jˆó˜NÞõgqåWmÿé¤Í'™é®„Riøè¬‹˜L«ÕæA}Ò¯ˆ.W-4Æ~-”Ü}‹oó©OÇÿ¿ÐöÇ¿Œ„`U(ùÉdU™+™âP¤NÎ)Œ»Í+7TðmJàYToªÜðÎHéqù]1fÜ<ü§úzåáö™!÷^dªù•zt,¤,ÌÊ]»ù3¾ÐÌë8v°ñ¶ —® ˜¿×Ã?nœxU¸ÖxËåX¸wŽDüªž±O|ô)×<É{ص€±& ˜`ŸÃÇêO¬$„€ë¶•áF’p›SÛ=smÒÝhŸü@o_…šøÊú‚Û•Ï ×NÅê«׉4!öϧ)ûTW©¾áê¤7Y>ŒÇÌuDIEݲ·_ï¦l¥ (œãÜ¥äZ[%¯mhÒ,)r=Ȱñq¸' åé\ܱôVÅ÷­ ÑS’äð€ yN}þÝLF<„Opƒ½‰4Ôè—B÷ä?ƒ¦¹¹¾—ÛÚ—Õ\»ºÊH­Zjò¹[áZI@ûv/ÀˆdtµÚPEñ ÿmø'¹hT^‚STªŽb­wƒøüª ¶“ ÝÇÇjyú±E¿¶ð¢#†ÓÕß¾ž¶jg®ŽðØ{ž)Îz»{a}ÂÁüa ¸ƒŽfå‚Áç^ŽÃJýƒÖà¸?±EʼnMNÄ*ã²ÍO™lâÆeW3®='¹]Ñ 3•Ò“ÎÜUƒ@ìž u`¨<ݲž£äÔe„Û¯g¬cu“8¸-ÇÜc…\wcp3ïÐ_Æq¿±3¢4~ïnN–*èèãRE*‡Í¤´QÒ¿“Ú6§$\À°ÈM¢º%ú"Y]–9®ÂÜqEaúgžŸÙª¯;ëͰìÖ¢Á¢îÔ^âœêŠE×\P ö~FA:È"'0h†RÒvåõ~u¨Ðy\N†ÇðÆ…¾B“ÁÄŒžy6÷U±RwxŽîœç–™e‹¡VLäSµ/Ü{ªÇ× ý­GßMºm2éwèa¢(6¸ÿ±~&Þ„ õ|géÆÐ¨ÿ¤[ضxþʃ£&SZs½•:,’þ”Êó2âô *öèÖS"s¶[ÝœÿBà„-Ül }I¾õøT…íùnÞ_éTuTVJ74ðéô šSÔ—;íÁÖj Ÿ©Êá(¦•SêÇìkÔ_ãø…qÔW²Fˆ;9!D¼Ã¼<Ì‘žÉÍÊËô Õ•Â8‹„‚«TIíÁ_8ƒÀ-–Y‚2¤ª®q«nÏThãa!ƒÅàu¯ˆŠ·@¥6/­ùžz±b¢:©Õ)‚&Õê@…呂’<í[¦ûóÇî²%ô˜õõs(”l“D«0Ù¯c0¡ò£âÈÚ×ÑË›>ܰ;µ1BWä=:ˆÑ.ú£pN)\‹¼ÍùäÕÿñ± dJBMŒàâM^Àp¶d«ѶeË‚£BPà$çpm_i¬(Â;‰Ÿœ°µÜìDpšgJ¢1ýÀǾq#©§"Ü?kYö…)\m<¨¨§Ýæ~©ÔË͆m ñV.8¬ÒÎ.X—¤7«o7 GÅêï`NE·Íä¯>òáG¼å÷§?ÕA(ÛF¬ÁBR4—ß sœ)]'†!Ë„{×fÆE–FIù;4³ø›¬ýƒ&U’P—S¸»Gè•?ÅS<þáHÉà Õ˜æ* Òx+Í?‰7dVV(X_¬âã4Ð`¶\¾)ÄGEu½=•IÈ3ñ-¨Ú@í’΂®·S¢" M„‰d‚ô®} E䯲ӎ5„#ã׉jã /tXT$g“1R§X‚þ’òQZª(àê{7rè ôö;•Ñ[—í¸Ú!12ä‚àŒ_œ½¡~YÖ‡gê\DgÓ=‡×óöpj]óŸLÊ‘{'¦[< ß|ºRàAçEO2Äa‘­"Gd é¿Æƒ—dŸ]û£P kB³ É¢F#“µC$I,âS®zßZºÉ15!%i\É×”ªîÿØ6i1c^»~JiÙÇöXOóï´@ï‰Ýù¨GŽ¡3oŒçRøÐçY~“6 úFªÛuÈÞ”®T:%nè–ÞúkCîE i/ÎòeÛ7ˆôÌV¹¡ùJá¢ÑKrÁK"¾~3’t¥Êæ—ëTÔ/¯Oë¼/"Ö ¶ ÁË;%­x'ãY<ßI4! b¹—mQB¢ô{€ZÕ}CŒì¤‘h…VýaÒÐû$F uM.TÔ7[Ÿ°„Ùð»¢÷Ôc¬lD­V MÕµÀd™Šá{)õøa¥>=4Ø6^E}“†ñ›=’võ‹n’ƒ¦ä+êæãàè!¾GŠqò]çÚñÖ~ªHª@T¸ß.åŠÌ@‚êz¹r…Wή̦펙8É¡q¶² ŒýµÜ}¹…èÉÛ¦”-”«ˆ•óVTÊ?T ¶ƒžlTžËÒͱ +09²ùᱺ€ZË1½Õ’èê-}x)¦à3b_^ÓÔ#°lñ•Þ¥ûì@c9¢œÚ’Ë@€=¡I|Têß#q³Ý›†n ŸžÐ=Bv¯bŒ8DEa©TR”fA³Äd3”‰Û̦. zOÔ63Å#Fã§o_ñÙŠð:B®ø sÐ0L·¦Na ʼn™‰–9Z¹`ýòÏt{SäåµJ±>©l·µA£Wb¬+ësGê’=¬ n³ Y/îùMž7³Xg,¡.]hàÁ©9ôm}©ƒ§ A’I™8>¤Moßb’IMíô$–”î¥d9ËAô]Òt)XýLOÇÎMž‰ÎΡ•k<Þ¹þoÈ&J5#Šuq®êà ¦g¦ʲļ\T)ípˈÿ¸˜¬æA/;e¥µ/¶†Q'7Ï̯h@©¬ª›§Þv(w[x?!¤´ ª¾y®„nwiÛQq•]ÆL6æþxÞ =MN¤æ?Ǿ U&ÍhÄÿ êè°òŠ:Ov64ÒÛ¡i ežÖLÃÕÌnG‰>úOÏ¢zD©G4b^„7ÔñJjÀËùp5÷ξiËîoMy܉ÍÙó]x>«*àk8Ñ,4&©Ïaôlz1T—Õ;ãÔ‡£ÉÉ ¡öºFÚUø0‚céÙOá&±Ÿ+ - |c{ÑÆøQÌxUIÊwƒ§;¦!×€õôAÂÑíŠ[~e¥S&›¸|:‡8$J­çs[ í ?ºoß·F>6üÄp…uתgÕk×"¹;­«Ó#Æìñ5_®àc1¬©ÀƒG*Κ´š 8D¯känMô]{ç8Z§7/´—þˆ£¸!d0n„W6½!Y=F‹i•»Ð bðCkWš¸ûážâ‡3Í<†#SåYV§uénŒMÑjZõV}KƤùsâï*ƒ,/ä•/ëâžm#\ ­â³¯`EñÑÝ2óÄH;>ªÈ -Ç@h„˜íùx*¦ß~yÆ6Z>d’’ù&°PâÍv×,5ªÛ@¡59É„¿…äz°ïJ5ø{,\‚HäfÔ>}ĉ!-zMØ~†„ˆ&a3$B@3G˜}åÛ~Š©iñ¥Ä³#ÊÜ&è(‹{×ÑiןÙÒAÚÓÏû«Ê6ƒßŽ9cªó…Í ¨Pǯ¦0x/Wƒ„~ÛªxÈRv§‚š@r¹q·ÈÞ=U>»_‹;d°Ö«ü·ôÆ”¶€E€_´l*,ÒÆMhÿ„‘<™!KÈÄúÎèâY8¼¿Ðýôîó;7w|÷¢rûLñ×ñnö;1¢³Ó6Š3ÍižúèHiD›»³Yò®^RõúUEiKDöÀ–q¹ý =ÎÈèJYöš¡T&ÿ¥Â]"Ç\§ú Ǭ¥XsfSÅÒ1xûÂOíA…À€~6‘˜ëŽïá:Òñ—·œ»6‹W~‰âÖ¸"8q5°~Û=̉ì£/ŸÀmTðøÑSº¾Ž +&‹ÉÖ7ãEÊSÃ4±ã?mÛ›¨{ý¥ÅÙ‰‹£Ü+Jk&ÇyèÁÔ̼èþb뚦sšÐæüìHA#DrÜ *[âõo´TÉôWDeLÐ4%OÂ9]h?Í™ ª´:Šwap­âÂŽÂØJ=9ýÖ—På5Ä‚/D(x´¸0UÆQç80†oÎÅ Üí郖ÇD—¬Ì ÿG¢0³»ÎÀoÓW-jÃçÂÞK562 Að³ÐycøÛL©–AÉÏߟ&Šë…>œ[4´? *|©»Sïžæ6‰~sŸê›üÊÀß'¶)d¡ùlU@¸¯öm$mv „õø\Ý ‹’­‘š>"ÛÑ¡X`uóNdgôuÅ¥ÌxVƒKs#ò¥Cû_tNÖ[WXÃ!m £Óþ“7Ø{’etlxð\mü¸[qî^ú¬t¿Ù6'­³bß8,4×(H‰I#j˜ #Ð2¿=?Ìh¹ºuóäC/@)åp’Fa¡’T £\&f2ÅQÇÃ|ò#‘«5Çé3KÖ¥±Ö=—É“ŽéfÌ@„Q |:L¹¿Ó®äÜe½&È[óÈ‘çÍY¾M§ÒÝô\LHò@bXS?„o .ÌRJÞâÁ΋é÷âƒJ ðUýË×<6e‰\φ©tªÚ$}µ£ôfÆ4GzÙ׫A#ÿxMÄsy–GQ–ojÙêidâ{–Ë¢ÍÐÆÝQ•v—ðšüéÚýg™U¶:н‹”³J™= cÝ'l:YÁª°wâÓ›Òî¸Ñ-bU$ óþ{mž T5­Ò¼wä`Û¨·hŽ’©#2éó{©9y}|¹n{~•7¤)$ ¥pm_ÿÖä+¬2;¨$-ä-ÞÝ1e峊>×2Àý’Ú—iåt]…üʶ4âa2KÎßãÔ÷l®°°Æ:½I‰l²B0m—ò̺€X@¦†ÎÐuA †Žè² ê$±3 ʃ8¶Ú Rd‹éyžûšƒït•vñÑý¨¡[È£9."{zŒÇ åQëR é(:±Ž¾h‚n +2H_ë¯ÃÇ"&Ÿžïá“Z˜?;ï%vúx{+¤F¾‰oÛ]Vú tê›f«uèEªÞn ^?‚NQ×¹¯/ IŽvc”·0‚<™…Áª$æZŽ yÁ0€×`õ«"zñXø¦6ÆåƒUKìk¼`®d·n»Sg(ª¥þâÁ;S2œ¬v‘|þeªcÏf£ú?mÁ”‹€8ÙÄIJ° 1>çÌÝÅM$ñÁJ±® e'ñŒüœ¬T‘jT­&¡V±´s³äJt™©óŸà—œóýµ ì±ÒÀèt$Ñý0KâÖL#³%高Âõ+¢b£Ž‘8ùF{½k¸F¤K_|ˆó<ô=äAi–5*G­ñP9°x@w€.–ÆŠ»Lý‡$6Œž”FõŸ¼€e}@)‘^ò´Ñ‚YÝ„3ÎÂn^Òº$ÍX-¡dÜ™`°¯˜Û—z»öðoº™fÀ5ò΃T6qO ÆQÞÎ?±are*¾©ám¯â^ŠðШyíT+6È>\oûêZ¨irÍÉÐU<¨›çD§a þ#<Š|‘=¬„3Ï6´ëxÑÚX¿rDœÄóª[—ÚŸÐèéj{FVårõ $ˆÃçAg9.»«Ã/wQíî`Øå?¸.zðà(_çìg ª|]¼Þ\dŒæ>Ñ¥ /È$`‹ É<®ÚòTªƒT`º Žú<ÈG-ŽNdªk(ZˆO×›³­è±ÜíÛsc^<Ú£³­ñê?)ŸÆƒ‚U‡š$4Þ"Ä‘&c,¢¹“d®µ±æW8Åò˜FDd¨q¾eÑ^\AÑJRÆÖwC¸ɾûdØJ n7tšà±»¦O¸×ÖúÀ2NA+2S@bèá¹&½UoH „„é–—Ü8ج0‚aßMOj´<6¨Rz\ŠXˆò>ºgþ7_ð8U3Eò™þ·i±Í¨†7]™â§lŽ:¹+ôœž!¬ð•ˆQ»?®õê,A¦u²«¹K×ôéõ±0?­¥~o"Lp¹O¾âz¬ÃMéw©£‰©¨<W¸²1‡½KQ“;Y^Ô¡£r˜ëË|»ßçãõ±Öêz¢ÙHøQr’e2ð¹ÚJéPÛÓ³ ž¨“„‘ßPT\l°l)Ìð›à÷PÞøfO˜ùU:„Á)Rày“:¼”‰Râ“!e}@Æ3¬ä™Ã·²ÚòEØa4kÜÚ,vÆ@se0[‡û¦ÞF;Øžp=z­g¡÷’ æêu™è³[‰¤òÙwñÕŒ{ÿG)0zt3)Wñ¶«à˜M:űn„ÜZ~uÂøÌTMh«eMZfýÞÂÔ«EšvëÄBÈö¿Q‚Dk•jf¸Y ;–ý&Dí =–Ïãk &Ψïy HMgÊ¢Í"Çï·tשnJ‹³)ܰYÀœ*œ*òªd”´¥Ò=5A¾§ŽÔõ罃öyšÕm10oÎHÿ°udd:òïÙçž­¬÷ÕâÊayÉÏ–Ç,á–Ì’[©Ãþ eØt¬T™ÐÒË{\[K)KUäàoAå (|ο–V¨NÎû…Ë%õéŸð®‰Ò§³¦jÔM9Ù4&oòœâ°È](íp?|…PM"$N½I~¬8ÌÉ~òØ­§«™!èî˜÷bðU2¶¹½NV´Ê„½òˆÃ¡ö³rhc«¡"œÛ˜o#²k ·b•X-žKãY‡+~­Ç•É´EV¼Öy$rÑõg«ëDÌ›Ýñ²Ygƒ¥€iOi d&ÔÁˆµ¨¸ß1 BVwC\¢æuAC£¬nñ¾"i‘¸Éms}Ȫ‰`/DØnQ™h‚ïøBV¯=4Øëql/å^™¿ŸÕ"ëéædÈ¥#žÎOÕ_dAñ™Ó¦ö'nsC@»ÿ{-æx@'v^¬Í'‡b¹7æ¿ooÌóáŠ7ËbÇÛèÁ3²é¬•o¼ jÂí¾ Ò¦£Ý4zÖ[ò‹‰HøÝ]!¥¬`›·É/n4"®I$Ùô#oY`Ã:f-RVß¶¯VkÍãþÐûô©©Ä…zòÉðløD^£Æðß Ë¦³\Ȳ‹½åI¡&ÿh?øÚ5c,k)Ì¡§ý'&ج“`º²Æ¨Ç§‹SEÐ"p!ÔÓz­ E4X¤ýË#2tÒàT!®Z…ˆ%…¸ ."#|š)ŠÏ± 5nšÊ9ÊQþÐV 1¹²µå=nÅš€È(A„ƒÛɇ@S¾¹í$|¶äd'ÅÏâÔ­Í!˜X¯ó£ó­i(´Ë»‹¼5häKTÅ\7›Ú¬9é£ æ~ yu±jª½vÆ_(x“†N©q<þ± íð€U}KÌ §¤¬ö¶FK†X²£žÂÜ'Mùƒt«2R·~(Øû‡š„½‹±E'£uÖ•¡ ºlSA6ГLI»¡ªþ{Ž@yã RZ¡;¡“~þ,‹Îê¤ZÞ,Jé4F]Á'|—ä¼VĹv o$ÓÇ".ð ZP~è†óù¡(Þ¿Ú°ÔA¹þùØíƒ` =Ã'¶@À×ðÐã1„'º [RÅO Á-ÛÞØ  I™y¾ÉVØP­¤ÛHô”q7#úÿî8G_íŸÝÅeubÔ8¤K„Ñ܃ùÀ “cæF· Æ ä§(„&kœ>†~½ aÝ/˜ºíQr«ö½žcª½ìÊ"BôýB”Ï/¶Åû´1±}€G=×¼£’¶¤ «7Œ)>h%3*;ÞS[YU–0õßcþšÙ(—V}âß¿%VvßÄ›hÛ#8©78^Wë.Ðr´.„< ËÖ"²¸ª[1%‡NHè[¶IÞòÍ[FTÒY Œ1-ïôhAWhØI¸ ®Æoàåm< 8úC|)Öå›iÌv¨x©köÌèšx°¨6$:&¹°ÄrÌæ1ÓRä@ÿsÀOÂF˜DÑŠ8¶˜%kRÕMŸÛIZî®öîÕ¢´!ãŸv+•Ñ÷Wè{Ö‰ë´%åß\š…ñ» ¦CµºÚ”@¢p½¨ÒãÇÜ>p¯ôéÜ |?kµò]ŒÞËý1ÿ“ÒC$þkyN¯U,ʱ/§›‰¡éHˆ{4báÇ^XŒ…ßÑŠ4lez(æy()V•y@hë~-ßB“†?4 ÔÊ@‘Þ·½Ýx÷oÀ÷fìa¥±ã¼¨ë0šÙ˜_ÜÚÍ_ÝçÝõ5›ûßÅ®©…ÑO“r-›´}ù~mœH;4©#‰ÔñìµÇ8hT"þ¤crX@Ãד ‹Ùñ3Î)AJÑ.îŠÜT}2kAÌYÕ@ ´Emˆ? ®‘¼©(½—Ê7}O‘åô€p^oW,Èõsj:ðÝN™Ñ©EË•£¦ã ê”Êžw½‘ìW+༺[œTÀèųVÖÖÔ;(¥˜ªÝ1m 4Ú ¾ `Ô òzÈXH§§ø~@?,H¥Ô¹;@šÕ‚ ÷îUÕÛ)•н¡{œ›w_>ïO‘W,9`ùÃ4+\-çjù}“:7'èû)”ZOÜ @#(\×›ù¾Ê>»SDdr8VcgB¢eÔ°<ý'™ƒc¼ÐÉ¥Ä^Z1±V«ç¬°h^ƒLm»zŸ¢ˆ|RO¿(ÖÌi~uú7l˜(õëH¢aC4âH!òÔÝÌtðuÑC'¹Sœ§%ë*"%A8„zzs0Ä™t»u¾F¤Ó¤çQhÓ‰çÄ\?íÄd˜:O{zD÷Üñ@‰7ØUÀw‡ö\úÙÛÑo¦œô‹ðÕÄ‘æ;nßv=|~ÄÐAÃ5òQøyÈyà „!ûÔ–Ì…‡ÏïÄ'Ý…ÑÖ§*ýBÝ’ª,ü…ŸXª>ýéùõ{¤¹A›ÚFÙ|VÛo$‚îw°¢$‰ÍâŸð2 â@9õ §Ìe²Ö `?6‹™ÚÜÊãLÈp,ÀI«ÔdOC{^ù6úÁ©˜d8¿Ýào¥~îK”œ  ¦´ÿe¢`9{-ÁëeÝPÓg™¯] Y¼'tð[®ç“‚ ÏAKò…o ÏþÛœ€áNý\¾˜Ï›T;«ºkÝK'ßÏñ®+ Ư¦CìÙ3iÐ –úãÀ£mK ¸mÆT;G "erƒ:±y\ Í1Ñø Vó– 0ÙÅ¡¬ð÷E5ÊãrŒ'†Í6ßz&r2/"§ù¸65× ÷}dw¾÷·Ó¢©ï8Ââñ×Íy™r'­PÉŽäk¦  §‰˜ÑÎY  w#ˆ6ø|‘ ó‡UTìÍm>´wÔ,5åÚ³”óÑ%íûyãŸx_ãŠ]ÿ3ÞìÞ±Ê)ª ôqK« Þ·a¿³Æöv . á7.ö)6¸3ÅmZÅ¡—g“äÜ@û÷ÿ²·‚žËÙ"¿lh™ñ/aWOø&:$ÂXÖï”Ú:l>ýÊkEZ¤6JgWö:LŽb”„'oÓ©¨Eå^|c RyP5?Þ¯ú”rÝXÝ B®$œ,]¼¼t¸^›œ"Ôݦآ²:L+øœ1oéh®SbÏ_aÔ2Ó4%¼>’•fw¢î­ùò_1d ”Ü–b5ìsv–^aç (¾19ôá%DÃ>p’sÕ³ƒº×å/Ç&Ó‰fPÕš«^@åÇMfȳÅñÌh[¦~pð:¢EZ®˜I/ÄÒÀUÕÇ8Éî”óB™‚ÿdÍ,øÕRpìì’ŸñpT€>pØ®K½½DÍ^ì>D¿Öx×èÛu FúC…¾Šº?~Kˆ{ÛRÚcƒ5=mºÅ×Ê»û3pÁa·í J†™Úp¢=Uë<´8¶ÙÇ€äá7ÃG€%6pçÕûVÈN6 ±.SÓ±×K^6~Ý\Z,Iµ²Ó+mTyQ{U¶kð€*ÁÚJ™,Eºå ½.õúØÝ†½Zs¬¾Á_[½EK».Ã<«˜¢ub˜{XÃ^ZxÂqLÚwÏËÂ×—ë>eÍÉã¦Xk™%úئ`? G•9ÃrUñ…°îœY²ÊÈHÿ=O8ç—­vÏl%ÂËR‡àÙ`ùß_?´_4ªæWü»Ö¨'L³¼,×Ê4ÅÏ’EŽ-M¾syxÚeRÿ"N‚^”iúyèj67JÒ„ÇS6+Wý¼ûÅZ Ý}qÝt/sNݰ­£SCsßÿœ§7ó”)^gfP†e)¢{Qa¶\T»å½ûÂì ú\b[:ÑR‹r{ s>#2šÑÑŒ N5â»xô P<ätR7ßðJµòþKžŽÚˇ+«HYÃdÅ‹ùþílW×!À({"`ûA)¼~až¥þ“zeEã\5Ô¨]ê?e¿¨QžÔÆzܦaŸv'UÆÐ}O2ß‚l 1»ÈqxËv#å}ÐИ'!–@85·Ô׬ Êj·=õ «³ÔÑ¿#ÑãOi”Ø œr*îà]H¿1ËíšÄ „‘ú7$q¬mØ$›]/q¶ :Ñ…ÐJX˜=),JþžØ†ýÓg%¤?a!^1£p©¢[Ò†Á8éE«¡¥×ò’œ”r[˜)Æø¼iôÈÈÿÑvµÃ¢º¯€’Èî˜rù»ÆDêÄÐÓ4j0m#Üÿú"ré™ãgÄN¸)Ã[pn*â¢Xs6o¼ö ‰ç¸5ÅžÆd;§ÔбĿ„E6.KZ)±¡•iñZ髊±iOJì“}>ÑÎ?«‘ÏmgÌB‘cQÅÇpú^™<#–;R„EhÑŸ²æ(þ?q‚È>LêçXŸÏ1X9C¼m$FâãÖÙ‘¼ á5» /›o§©Ç»L~WàO„‚»wÅ)´ª÷ÚøÔF¼xŒ¨žG¥› ïÇ|1¦`X®¢`õqyx³ó6°²½ñ~ÖP{¾ì‚~°:;²`ËH"ÓTZÀ~{Kî«û:}ö'dÀk¨Gf9TǸìÇËe¨BèM»™ß·-ÆQ*}øÂØýnÄi—ÖãS¢2ôxÜÿU4ìõ´X Ä™Â÷ÝIó±Íòÿrî£É½®²Þm쎳!'„Á{bW»TÞ´1GÈ«®¥ªbU‰.™=“劃#aÕ|ô£E—u•w#¨ÃŸ¼;îÝž¸'¼†6œÕ5ñ[9;vÉ+ö·fçÖ0¥\ÝÝ®À93p¥Ò¨äæÛ}‹!'²ðÚ ñß—ãpdÀ4d¿×‡ñ’ Ÿ?÷Ùîó§xTg€‹ŠéBibÒ•£´S­ï¯”g•p:NSUé–ä¦ íÛ kb–²û"H9Z*÷†ÊÉ̄˅¥üŒ<®ƒZŸ…ÿ”ä1Å[zz»Xh®ÿFºLO½}1rñY§r¤W9…,E{{àÃŽ¹5Ù¸ÚŠeó>Í|óJŸ%Ïͱ퉮XÌÿ‰‹1` ÿÛt['ÐûѬPEÿ4®^¨;¿ÍÄny,‡Ë<8 xi¢hžœ¬›¸f$ñ÷DÚ«,üàš`“4dñ"Ý^Ó|ãt5¤B¼2}›sàðþÞîA’äUL^˜÷®ô嘪ã©ñ¬Ü~Xz”)”º@Ö¯žÕùªn§dÑ“rªy]t£ 6¡±_1®8©âÝ5µ’,8«¹|o¬ÏáßKÌsÍO Ðö·ÂQ(½ o Ãfꊒ¬­øm"NáΫѥÂÏE‚‡F³ÝäŽ6(sàs¨÷Vó˜­EUIjü„ýG¸“•!]d!én‚š“ÙÒ²ºó‹Ô†m£šF]#þ¿f}Â}åIŒ„}{WQRÿß…sópýHIŠ7ÞŒÝJ‰¿u¾O[Y³ê´ã#×¢(ý®B)6ÝŽ"G•®æ?ˆÏ€a)ö¬¦:áÐ4Í//>ÅĪ—›Ñƒ±–ìýQXÇ×2iÁå³Ñ>÷ŸðçEWœþ˜¹ÇeŽ ¥&”€vyóÞjéŠG %lI-+÷ Y7~Ç ¾#ÿè(«Üj…¤¹c]U·p<ÕAI1ª7ü:¹åº·Ú\žˆ°ÙÇM’úÀiøÁÊ]wøvo¯ºb5àûnÙ=K%ÆÁyŒm:Ý Æj0¡@Jv#ŠvçC —¤+í(…<§ {ûìMªS˜q²ßÌ¢C÷VƒDkåJ p˜q÷e†áS²¡±WaxöúÝ"©Ð;ǘ›n5OPV„;:ÇëN䜡@冎ËSºs®p˜§NmÍhBÇÐB•ˆ ˆ[&.Ë %÷º húé¾£Ífõ¼‚?^àâuÐp¨?Xe>me‡ž"Wˆí/$Ð uê¨_r=[Ó ŸÇùF¤ZXðl÷(Ô±‚k eÛµ`‘ ßí­IÔºT9eS)»6ºU{‘,¥ºž„tµøÕÝ/·¾ÉK·_EvA'ży_N]N0§ütp®ƒ‰`³çX05‚%¨ÁϨzÍ¥wÞ%þG)ýmðóB)•a8ôr!þ¡8ÍÝ.1]õº=„Ž„–*œtÀÕìA ü”21{zJÔë í(‘ÎQ}Œ¡ÅuÏZ0¹®£ŒJ9½©N·‘¾ÐÅóxŠÛ·$ÔȈ&E[»cÊ@é½Þ¯äqllÀG)óË˜ŠŒ•Þ¤;Ö]ø2xN-ÜxõŒ²'AsyÂKùí_^ãrÁŒ¸¸™ŒáÆvÜJqïÐEup¡ƒ•§ý°«>Ã8%Ø$®›.ò½šèÛíÚcW˜v@ùÀôª¨`ñ´LZ:oå,Yq/¾h"ÅëN’ß¹I¤=!ÊÃWÎÈKÅ~‡êmSƽ8š_ø²ÞÂáÌÐCôv £[†Å§OÑ«̀GèØüAK-Tä±b=O ¦óÑoÚãp ‹ˆwB¯–y0á)u‘,CúñMó&S¬”Ü]#¨7a£?6è®Ù¿y,y¾ÑìÄáx»  Ðu2ü5d¤¸5ñx8KOØo”ª”Óªì½QžW¿}ám'¸ÜË'g匶³cäÕS[úŠªràü±¼çþÚÛw‹ô¨ø½)9>{@(àF“ú@ào%¬¢5šøá…‰ØÛL u+·g³ 2crYXƹ ‚¹ÊU4 K`¼Kü•²üšžóÛbnçL㌃jêÊúëCÙ|Ð:kö! sÌÕú{@¥]²|ŸL0Þ¦€úí[H’~ú•Æ™ëé35×_eŽIàHÇÈQÏÐLs²¼lqÆëqlЫ¸Ïc“ <ì8þXºs)ñ¿{v§ö˜rïQÐyÊdN¬J%Ÿ”'|Ï’{‚tt/gg»QQ÷:*jqýƒ`.©Žþël¿ˆ´L(”ùŠšãâ$Ðõ;“‹([š*]Ú4ÄV\ŸŒ ±ÌGE¤YU”,Gf"tç:™2yÔNŒzaMΞE¸Q¾%o”p¶•ÃýOˆtPWê« &‡ú²­A{iܠϾS©]žºÆ¿îÐ"&>*ØÓx:m{GåEË×ÁÑ`,†¢¥Ž¨‰¥ßzR$cŒêÆð1:¦qÕ:æ ~Û. ¨ƒ‡[ùl¿`!wø‡Ï~1W“kÆ‹¬}­#AàFÖç\6£‘"ô¾UÇPÐÅFVþ“Y±3*|†ö^¹~%¶A1W„ò|d\;7‚úîµyM€fçö lj$ì‚ ƒ”1ð\öðqÉWx›Ä:7$u€z–n7}>Ç*•|!Ðéê7éž¼³ß®ùH@c)Àaâ¿èUWs=ЀžzŽ ÉT}ãPo¸RÅm0#'ÉL¥¦€6)ÊìZØ0õ9 À¶¤ËÑWÒÖ U‚\¿P€|\ zô𨾩r{õüÆÚ×DšNõõ"'kˆNÃЊ/èuÛ§¥‘—¥WªÈa‘S€Dõl¿fJWfN€}b.žä`ƒÌ9$¿& ÷UþÙòç_8Pÿíw7&Kö)+ìá1~¶œmú>‚ÛÞA\¬Ÿpk1&‚ûÂäÉ[Ÿ£?Ü•\u¼Þˆ²ª‰ ÷¥Ùêë‘ËnBRü?tÜ‹”_®›¦Iüo%˜»¼"PêÁåô?´LRÿl§¸Ý®5Y{9´bÉÜ º9žTHúŽa¯™…ªØ˜‹Üq¶=f ?Q1Šz²&“Ef«Šë 'yìXŽ­GÈ÷èMKjrŒ–° ýû`¢sŠF¸Åùì¶Š$~²|>·C!åá½.W:.{y^fº¦ð›&Ñ0”9SB síx÷é¬6vç©VOp¼ýóUÀü0¼k6 ½CÃ'd¹…VÄ(6r§Iwòø)fY²ñAžÂÇíGæå-e÷-þ0)|ŽÂþI[ÀÈ· ›3w&Ô%–ôH‰Ñ;b?%Å©#2;ÒÞfZ´1nžN,WÀ4kš¿îhOAšTßéœ `û4Ô5"ñ¨ÚL,à,AõI*ß•í "õt’—ƒ‘7æà¶Õ’Š—µ­ ™­`RVo3oß=w¯.™†ŽŠõ%}%£àÑUW`Y¾™Æ!Jè«æóäZº¼ˆa[›wñn2öïi6D¨l>÷Õš~ßVü‘¼•  è±ë"‚`ÃŽ•^f¢XûA}G wœJ·F˜ ±ƒŠß8á„«Ž¼`ÂâbNäáŠ|ÜiC«”ö©Škn!*ÀYcäyóÃT"ÒKé#¾pÞúÅ_âV´6„·f8%°«š¦4üRðïÿ\EnÄšÓ¯Á„D v xûÒ(·oï᳉íN•ôp\.CF1ä€1Êâú!kyûXý…w§ÛÜ}.ÖÃþ0Á ãÛ…vI˜f·­XäÜÙB/O:è9†×ˆAF×C$4S9R0„SÜ>¶\)É¿4‹¡ƒ÷7+걦J÷À/#V+ìg:Gw£1©8§øÚƒF%·tq–õû} ý‹}=¯Î§Æõ?U „·ý¾|øÃn´¦3¤ˆé2óL-¥Õ^W=^ªBJàT—GË=.w×üE}5À€›r=3·C5¸ EÜýaæû ßas+zÍÆÑ}¦¯ÆY;üí]nfáä.jc† ¡Cž&ekÎÇïã.Oµàœ¥š#¶8ÿÁ¦¹2{“¿nœX—D‰©ÇÄT!ÃW¯ß]ÁsFE¶„µXý­†có¼>'ͦV€WZ ûVžqFµc/uü;ÅÃÀ²³ACSº|ªíN”5>˜¯Ý£„ýÞªuH-7c- OÄîÂi p<}Kæ54­"ÀòÎåÌ(—ó-‹½ÖŒ[“re;Þ~á'EHœ¡ž‡¤[u4 ¤˜ù_ñÔXךgŒDìàÒ5w؈v­Eð9¢V@›É²½)ÃÈ Sz5ž´Ð)~¹Æ6AhÑCËÑÓ€¸£i#f·˜ß-°rT¶o¤Ž$JÕXOŒ(ˆåeÑz*@ÄTSÕÚá i®‰ Eº°þ-Frk\Ø» ½Œh ÂÿaFöÀaÈ…2ÙÓ™ Šº)(ì÷&¯”ŒM²r#©ÊT—RzŽº§#uõ±¿Û.;èãþØôÂL˜ìÔÞoø¯SŠiUØDx€×¸´õ˜ÙN¿¦þ6jFÊEä`B@žkÖ›@ZµJnY6ŠÕ/a v ¥ô\çÐÔ^V`Ñ#½ö=ðµÎ\AèAi~„²Wö 1³ãµS¤)”^1Pu½GÃ^ìBÖú—ÖõÕ³…cœbŠ•ÑNÑ}ÿô_¬7€ø÷8‡÷ptU´‚U “øŸðʉÜ]O1“ÑË3ëj!ìDËÀ,tF#"„¶Ðå6‡jG† ¾K¤YÔïKP»eó HŒ É…O`Cá*»7®X®¸ ìHpÄhäuEcÎ/çýöÏ2 µ†-«wôjTñcé}Ý.Ê÷©ßß ùáaˆÊI{$àj5d$±(Ü6’hIEÛdÖãN›Í¢;®Â\.öF: ê—)Üe3±'w¦€M/oZxEY$üàY]MG¿ ~c(‚ì»ÍâÜ$À±¯E•7’Î í0dwtZ¢â‰ßú|㦥œrva‘X;ìó1I6 _³Ë(Oë,îñiç•#däwiº‡.wÙ¹´ êYƒF šÒþ¾ê¥Ö9\ªG ?rßÏÖ²´¥45E`z+Î/‰PÅSý.æ‹» :‡“®ÄÑÂ$AùñxRãHóFû/OVPe¿’%D~mV_ ‡ ’ÎN°†Ñ[vô\Vð½…l`ýê½QCx™¢©Ùͪéÿ0rZÑþ=GqžÄÉ&mÞqº#ÒOº9«Ç<–G潺*ûúO9iéÀá±²ú‚å:~@u%ŽÞŸ’´÷LÖ‰$\åxB;šà¿@Lfã€ü¿4ÚÜ*Q¹cšD´Âtð¾º^þ*åFº¨¬w~RÄ…âzT¯št.ßgÙ骕;wg/ Ì a³Úá;Bs+ùì†Ó‘*¿ìw=hn´vÑš)WlZm¿ds½]PpÊ1:µ&=ïói2^(kþWØFÖ5fËu/î™pšÞ5)1öÜS—Ç4ÏŸNŠN"ò1²Ä)X Ìë/Vؽœ8$„?KÛóA]M†'v{ú›è¡Ü¼{ νêò-„×ngÐâøž‡ØûÀÚ YZœìØ^ëíÉñ ¢:=I‘±d}¬Þ gnûX¹ú˜L—¨ ò\ áôBÌ+ÍÊFä5‡~û©8¥µœS-‹$sxDù *æxËÎc~þ 6õtnˆÚØ,uŒÒA4ÞVÿws‚¹GHè‘P_1ve8JVÔº‘]Ë&–äK³S©ÂíU(àÍp—¡“& *–52 ðë¸u`Å@*¶¬ë,!Ý ¦H>‘<>´fdŒ¬]ß)ó½BK¥y“Št>ëHQ<Â".|ÍÄ`üVÝDpû{ŸÃ8.*±¥'*×Ý@¹ÜF>^&» š?èS`¹â]‘ë ñ·5Lñn„6yÄ2•uY(ˀѢò’ª¼Ì]ަ5G€Õ¢Uøo™×p»mÖÓ|¹V>¨Aðß&ç$?’&‡Ñ_LÇP2N´µ-žðÜ´K£bíÔ-ovzjrÙ£¬˜6Ã6ÍݘËÛöï‘ô}VzlÖ…¬é$5ôÊ&YSjµ¬§vAaΗ÷˜ý„ªë±t.2o§fïÿõ­H$½õqç·ó æ[&¶zæ"BKʤf¨èˆã×âC³µf×L!„÷•Ú­1sm| uq—êE÷è“­µG-*†W€Ó®»‘F¤*.¢ >$,Yç˜ ½¢g¥XI ¨û‰  ŸûÉh镾C\ù´'+ô ßt¶ÿë§«ß{v?ß9×Yn]ûs+Ê+.Sa›G€äã&V2J&ÏãêÉ0## ÿWá¾`WðÄ •qÜý¦©ûµ#ÈÐtg™òЇKëñ²Œål<9¾OÞp»°¦P«Í«Æ/$}›\V|sJuj½¢æáñµÔ·È7"‡ÐD5”LšáÎÿÔ´)²|÷¾ð»C»¦ddš=«¿·aîÓʳxN^¯Pب#¸eeâÛ¨—F÷aÁ×$Wmä oÇÿÒx„kf1á×½k©qÖ#§c[ÅGN¨Ë-&6M »è2Á“A!û¢Þ4cy9RЍ­l”ýBLQ˜déµ}©éqúºoͨ.ÅÁY]ìgmÈÊp°v)Åc¯l“pFÖ“5 ªI¬™Ëjïª(†½xõË¥=_l¯ÒÒx8¦nlÜ1l©X`;Ù}vжdñQúÛD€º9\¬ «¶G«bòè<^ÓÓ¹¼ƒxÜB®û •ÚðÀŒ,¨:%Ó<™>À…A¸CX¢jøc>¾§32(öaœ3j8žò tè€ÔRƒ7¦isܨ5™©Î4‚7Ø¡’ïœA?ÐrÓo§Ÿ¢¦“Ðå"¾ö»Õ¿F}àyê­OàtÁÓdtv8×Û𠤢 s(ªØ®T‡éØÇfÝzQ) <Ô&¨Î’ @c2Ò÷û_¥jtâÄ"„9ï5TjœÙ¿r ?:î·¡m„~¨ Yl9ÚÃ_âi9§ÊRìôˆ"A6 ó±G¿77‚Ó1¯ÀtüºÚЙö§ØµM&ò`2€Æ]äMF£ÞG&`—¦ÅURH*Å6nå­B$1Ç`?);L‚r1"aê“V@u`z"Ó‘uëš”¥à‚xa—*–¡»ß­ ¦‚íGhvæÆõI€eÚêýæ@rãá¸,HV[M;c Ç.Ë~Þ=@´ú{µçª„/O/m&ùÃDz:ëc“žÕ^9DGÔMR±V…Î{;ñc<™Ì:UûÎŽ£æŠ`( qËß»¾àÊyZ4©Ä~¿}.¯yÃä O·§^½sw ŠQ[jŸÓ¯[Zg®n@…ϼ£L¿#Lªü^žçs‘P%vÆ)ùw£*0‹(U-¼~ÉCA¯‹+øAo_O¥c\ ‘Uß^à‡M¹±ûOE šs¾‘è¥*§©cgäó³fÃWj¿I,æ‘â;FûR`yºµD¤¨hv”£Ù ÃÎ×XçÌq]f¹+è&é˜zÎS!NmÞ€Æ$"uþñ¢4D“÷Ý2úí5vé1ÅVt­²„: ÌJÝ…€,³ŽÆù1‚W[éãKl†ó†8wbqF`ÌÒÛòY¡’X¸ÏcN‘;¢ÂfQtB]H^Pö¤BTp&:W¨àæõÉ~Xm1Zü$ïAØVžûÇœ©ýÑ${…&%#¢«¢ÀG)E£Ç¾¯µ‹µ T×VÉæ^o•zÎÕb54ªòC! 6à&"1D‹À;OnóýŸjeN}š¨_4þ`ÞºþÅ¥[°ŠÇt%0µ3v°mÔUÑå×r72¸.Å&ô‘íõ·i§aqòd¦+8Î0“éDqíMÎyØáOÑ6ëÛ^ÿ¥¬Á›Ó¡s4]Ym‘üÀkÀ• l­•šO_i­ Ó@¿Ÿ}°НíÈŽ9…UoæÚÂD<Ý ·_ç(‹óÂÇáÃ7bq!æ_bR;ûËÞ+ï.±Ðw…’ š :ùJoÕ}®mxã­¦, M_üœ´¶lXÄG-F|²K Ë0:LuquUÒ…å¤"(ç)Ûz2žoÆÂ2"J õ›™÷=ŒÊ**ßp¦:¬ð¼8Üö CøüY–öeÉ}~Õ^i³ßSײz+ ã:é$õì¯Þª<Œ9ÇŠñ”¯›÷"‘\d èɌܭ…"Vmdö€ ;ƒR…)[dLÍdâ /[vZ{?×Ü­ŸÚ³ÍO<]º¥%]ÞÈéWŽ¿|*þü¡‹ÅÚ[iÝûWÿÍ¡•ÖÓ…ÀÝLsíÌ•ýMg¼gVŸ7Þ|‘™á5F½–Œú¨©‹Ú9Öþ#¤'Ù3¡‘x¶úð–ŽÛâì2€üŸžÃ YiÙÐÊ)öS*–úô÷„–£Ïñop“glGsuépdBâœbÖ<‚…(­³)½…qHqÉC¬–PS¹ïvÀÀ›ê”Ó ÒgM' ž¦"]ÙɾØX¯göÄß¼ õÑæôAß, -4fÐæãÖôK]j+y—áÆ†¦s3’1¿>L~‚ŇéîA£%†¸ÌüUàÓÉÚ´Ò:ø/ɸéJç-¢âÑ›n¼ªëZ«Ã$h¦rtJ´òðL…=Ù½úŠ‘ï©Ø1@_[Q2×’P`=¦ZáÊãÌ£ï|Ë2Kà\žºç4È¥=Trõ[Ýô˜±$ØÌƒÃ—þ é¿ï¢!,6y~ÈgÔ>,?‹è†¸rrkR}â ÕÆÔ: 8ÀŸºˆî99ÜcǦfé—]øP†Wýq’É.Â2ã U‚Eú þ×`R'SQŸH€ãËN@ùž¶žàà ([äV|«S—_®ÍKþŠyìTKûý†Í+ûSÚr´‰™uð)s5U,°»IS01ÌÉI°ôžUÙg·vÀOë~nDÃaU›m‚U#¢ xHbpÃæQÁ+×—¸ÂúežûoÈVñ("TÙ`0Ô¼ U«cwW9› 'b³àO›¡« 5Lʕݕ~Ú#,,ˆv•Y‘ÿ;Ü»t[îUL¢Y=2a-[o¹J´Õ›ê‰+c¾™7‚÷x05Ä>Ðã7;K¼ ~þ×Þ€íð!”õ-K% E¡C4;ÄâdÿgTÄbJRZ¢é™öµ6Û(C*âê¤>Å\㛤ÎëÁ¾v/mUL·thÜ›VSÇÆúD¶Tmi,IÙ‰K²´õâ½òX†+y$¨Ków¢ÂÐÅì^vOšÔ›ÏÏ%ÕVè"Ü—’ïÉ cò1 Mï6¿ââ£úmYØ*@Â>oì7›çã©ûl§ÿ Œkã Y´´ÒéFl+”!;\{t„= 6@é5ÙÈ–ݳ†X0ú]þ«D]CJÁ{5ƒSn?TØG‘È+ÂË[¥Ar_úÝqŸÇײS$Þýº÷º®3•˜ †U˜eïlãsˆíüŠ”¥-YŒ±„**z[áê(8:¢Éj㑾Ñ•–»ÏHÈCÜ¢¤J¤”/¥úß@ëð釚Xµ¸–·õ'°Í—Õ~k…§’)ð“L·É€žý2¶ÅýI1òÍNž®È2æaúbŸ‹N_»SÜWuN¨æÐÒØÍ|û=:h9´%Ú+Eé5C£¿±È‡Ÿ‘©m4Ž`ÕT=þÉA îšÿÃüiØ0äöEMbGPÅÌÓ()¼þ‰µívÌWY¯Ÿ¶6SÅòØÈãêôÌpùôZ|ÞFFõ솹ì“3…Õq­ï°ó檬ü©Ç·1=V *Eç¶Üô«vÄ5?E\$"v†2Üô,â*Õþ³÷¼ZR+—½BQ @°®Z*CeçÐÌŠ1­O¾á¼kj$šï—Âv7Ê[$ðFÿù;ùÚaÏ1ðOù“¶G«z²ÖcSw×ÃÕu|z„q¯bG%3RÓÃk=®ô—]$±Õ²Ü]ˆ†ƒ=ü\Í’$ÇbΨÿŽõîKK÷×(±Çˆ[™~±þ¬‡aJ˜2ð_侊lª"¼G@¼kñÞ â΢»–ñ”DAöÑ¢~²çÊ=³øâÔTÚWVºýUˆ{£ÿ±èü§ -K:]ùØh~7 %† bÉͼÜRõ¦ãL={ŸÈ\Á5H¤5Vˆ"IéVü®tkÐF*¿þ cü6jåײÝÜIzõzª D¿ÓY»¢l‚îsËõ¥e ?©Š_]¼Óç½¾)u§«^oÈw³^=EFÒ} Óóã)Ê!Oµn|òµšÚ|Xk°zŸl‰çµTgѦnCi¼z6"§%öQš>É1•è¾ñ!sÓ¯ü”R»-=FŸÍT Šñ·ä ”0 íÁ÷XeÑR/?p ãGvŒwÎ%£Áà&“ Íд]&ñ>ÎŽœšŒÅâ$6F4^<ªÃ)‡=zź¾=Vw©µ{¬»wâ!èpÂ!Ú0«7þ¾–šHMmî¡ëî4eÿÿ›Õ]馕lFV_TÚ}fFM1õF¯éè&¾þí¯Ÿ_,ÕU̵—öol~ûv‡¾Á¾©ÓýÔ&N­Põh,£„žíö__ò°c‘nh)hYM¸fˆÓñ‰¿›YVûÐˇ#S óÆ8"¼)Ë’#Vü¤<¾;6êÛðÞ~5¶Û`œ2GL!Pt«CäG£×En÷iâ÷7Ïßv…c„ÀÎ2û{ýßbívÎ 'r®Ùýºz:4…ý‡Bf‹=$G=»—˜ã„? oü*ºj©b Ø.l¸xóÆ)§v6Ž¥_Ó4Òƒf†­—ðŠ’EŽJÈ8 r²©†@c¾zeMÉJC,ÔšêÃZ¯'\+Xu6†0ZóšízëOಠ(KXÑ+"ÓpÑÚÝÏ–”ÿs¿]0»9‚+e·6S×B&i}'‘köY73ñë?¦«”%P ªä"Íì†êew æáMGÈvwJÂþ¸tQ…B{ B÷{‚Àñ‹0Jw¯—1Øò!£ø”È-Åtÿ«Gã{¦C퓵aƒ½OV~ãQœF {«½p©[«æ2¢õgŒ8µ÷és­€…µ9(¿q™eíúa{Îü¯¬5/šyK–ËhÁÔ'Kç8º0”÷¦@bePXK5¢¸W=´bv‡[ÉÞª ËÌÞé5RETó1ºÈb»“µô߈XDhAÒí&öÐq¨MÃâú猽|¼oÇm!­ZƒËE.„€„ª7Jìµ±8·/:†-¿8S&2feK }ìþõº¦c²AÑËofo¢¦ÝZ’V M悻熿‡%ý m*ìðQÁz‘Ý(—~šËé`Q­òž¼Xd[I<•Ö•”Å“ —ˆ€ž4q7(\Т˜¾Òn_¿±ÎñE ¬YµÛì>gÏ$3Ü+A½K¡ŸŸ7ÄeèÖm{ÎìeÓ† ¬Í’¢Ä¯(‹¯€™N òôC¦—îÅ[\ ¶(&ÚQçáD©ÎR""¯Mî½Ë‘ŠZg˼áÏX~/¡(=ò¬sÙ0S_­P¬I.ó==Æ5k‰ºsúÂ+¡¨þj´ÞÖNÑ10tø4fÇo——éºÿÿg{Ðã÷ÈÙ93Ôú”º`³S¦.À™0oNi!'d°­ËÇb”H`FíÕ3ÿâßC·ìQy½ý’Úõ¥ aîïVz ó=»º„uòõÁ6÷&ä ;÷¤âžÂ–B’ Ã½°Wžà¯g¿£’KäÐ@xÜç—6ŸyåÊÐC‹[Jþ.f;F+(F{×tÇéÂ’. NPªíøöz'ùaÒ)‹\á9%8¤v¸âÿTÎK2ßí ˆ g¯áŠÞkN¿~|ÎVlý&šnO)ƒŸ›€t#=|µD†¿n¤öM»F:vßcUê ÙÏuˆÆ”€Æåo^³W>è$'Digž‘uÜù5:âžNí܈ŒÇõš!šI·" ¶R5Tªa¢½¥NÈFÊj"›Î ÓÚÔëg݃ÑÇí¼㹂r­ Lh»Ú(2‹ñGd²_ˆÀˆ»æO lZÉy’eU°K!|dØÄµâG{mcDG4)r½4ŽÃAý:x¼IäŽ%B¿;>ëI÷ôox\C´öy;öZlj7ž1~h‚®ei¼[RÚÁUB"3½!…¡"¾8ù­©¹¤¡‡¶ ˆ$qwbîˆj¡Ú6¾™¯´§äè=0)¡³>Ü9\}’Ø¥®sþJlx·€½º¨Î!¨èÿÁrÙ-àñôJæÆÝFÝz ÞÄ–ÝuáCݸòùè‘k}7* óΈ/ÏZˆMù1¬W̸ÕNb–B–ˆ´?)¦ÕrfýŸ¬ì~¶hmɬqóßÑó¯ôù.ëµKÄ´†ñúÝ/.±èðDzÿ߉:ÿ<ÀÂ}M†E…™[ ¥£¨çº|”cc›ÒUÉÔµwž™KøRSŽu‹Á´äœüÌ/f`ÅÙ‘Ä[§¿Å2&õy³Òk þO'§ÉG¥=Õd1U[õô<¦¶q¬W36g¢#•7sÕž†yù“pÖ¡<4®ºm–Ãvýœã™±D¼ŸÀ¡ Øù.-» ¯«†úÌS1`«Æ^å7ç‰5‘¼IÜ_ßêÒƒ§YU]p¥fˆ LàÏE¢a¤ì Òÿæº|Ù÷¢ÃR`i„—²øVÝe¯MÇdëz›ä­XÅ´â ¢M>õ-iÐè)îVä#Äq(kRžªhø'WòŒc–"¤Ê• ”‹Zý=jók¤â\Ï¢.åNÓâGèi£È j2M§÷”¿|C4ÒÓ¨AvàGª 0¿¥5Û±71y./‘äÍÛK“ÆÌo$ÛŸr&…¢, µý­žúôù"ò8ß݈ »tpñ¥æãVëO'ns™Hv­ø!”¤É×¶nc¸ôôõ¤5EöhÀ.˜ Ã"ÿ­Ô™@ײ/‚ã¯Â/£»åÒÎk‰Öø%Aogy• p_ðTç !Ÿ:šlC^gW(Öƒ{@ËFÿÌ}|ÃsÇ•E«-%âŒV™Äi›&ä+j€ük' þØå¼‹»%§¯¾`ô ðfádºm±ï ?Øì(lÚ{dL ÖôÿfÏV¶9'Izÿ2îZøõî‹]RÚðAŠ/Êq‘]“y€¥[™Í¬‘\°Ô¾óÛÊ!åG—éŽ09%«ynuîÖµéß8îúÄyžü/†;â_ÿB2³Ã 4œÒ!¶ÖËwYÅìgN÷&fS˜yh{ÂÛBêûTSú‡XÄgd“r¯Fd¸œ¶Í9ôÀúMUâ‹ï£ elôv;‰o‹×ÁldGÖZpŒcþÕ^7fî[¯×-Äü¶De±ùr>cÂîâ©»:/Úqã0¥$L^-ã>Û¯‡úº`Iz=ž©ê>:“6õñT}L8×Þ2ô R€?—=Çk%¯Ouí6댌[ 6ò„+°Žy3Š"ÞŸ4vs¿"чŠí£‚k“³L"‚ýãÿW¹˜R“yË'ÁI×&ã§´¹çmÕT§Vj©96ýJbŠò8쯂=©Ê%gM%ª@KhÜÕæUÔóÔgÄx»\”£êë Úä¸3Žg¶*-´i$¿N½Þùâ°ïÔ`s¬„(‡Ôäõ؉ë)ЬžÅ8i‹[í4b¹´N‰ŽŽÈâ‚.ë,UH€þáÜÊ’÷H`ü7·‰É£všõϘ?8'U’§Ðœr>Ëéñàê9q²é2‹¶eÖ~Eð30éÄÉÅ’T˹E+…IXI“ N1¬aÔf&G Âê ~âν~Nâ£Â`Õ8(lˆ[ù4/›Ñðkb×Ó¶1í;y øòˆƒžum^õ2|)írÐ}3Ä%sÜ»uK"°Å)[§¾ê9dg‰Õû3Çšö)©‹V‘VúP÷cÔÿ0±U:P81C7/Öèí`1=Ä à_Ï[Æÿ)ww›õ)3·ÏÜèæ"@E­Rߒÿ\d”ÐÌOábñÀkÝ€ZhÍÆ,©«ÜÁ¬3Ó”†,˜âA4(y€ÜþG×ïa¨Î•L¥qj$Û"¡†”ÜlÈsÉ%soe€kÍÒE+Ñî3}Äð7fÓJždˆ;©q²ô¿¼3g!¾×ê1¯äù”Ÿ½qY .ƒF¿©õùp‚ "ãô¶¶Ó#5­VÞÃò#tÍŽ¯qùA›WۇȎAj"ÉóêŠMÍÖõˆ‚4·D+ü­¿qö“/£Î8r¦AHˆYíþíPOHü5Iͳ®=Ó#>›&%òŸÏ4*ƒ†¢Jä\?&nîÕôÁj]B^uˆ†A(7fœ(,éL·°¸|_AÛSd‰à¾MÃeÑ=XG†‰‘:š” ¸8ÄŒ•殞Žx‰Ý—T?œW—ù]Úò©‚š™GUÁ©ŠÊšrFäñØR:ŠQ%ÄVò&‡é ¼X”nŤa÷z׋ü2/©d½.ù£"t[H©ûZ&â¾Ëi¬&ÆÉ«=‹È÷ à»ó~1 LX]®á -†÷âså.Õ Uâ·}¿@Mó6áwâðvý¸}œ¾=v{W”Jœ®‡®3íKܱ%dMöSTg—ÔÅóø\ Ôtä¥ë^F2ꊮF÷:œCÕäïh@$÷ìíFôO‚¶wK#Yô´ÉT%/´×c°<»¾û×®ØÊ”úˆaÆðhü`Kk{Ž¿´x,YõÂìú¸k¤| W‘¢‘tÊñª²FY÷·ÔàY/MO6üÑ[Ý3gF«QeÊ&‡4D…ËXÇɶýJ‹L5a®LÄ qðR//: Æ1éêj«ãª˜qà}Ä®Z¥8$ˆ4‚%;ææ‚1J<윫¦zUƒn&0<+ñÝóbZžýÉ›&fïËjœ¾ˆá»´MG×€!3zŽî»…VNÏ¢&UARÔ¥æ©9çĉ}ÒyO[sÓ[UIo]e ¯qt5¶‹ZÔä>øˆ”cÒÎ 1ù5¦ØŠvl廥Vø” 49Zõ¹R’'×kéIBÄrüyñ\Õüt?¢:óäZÜBlÊ—•\µ/X!8¶À£¾Lä½2ÇÒÇ‘„aTr—í‚ÿ¹ Agp¬“åë²j¬÷°†—G. /óÿ”î=¶·…æ¹:*‘߆â«ý³=ŸìÆ‚çDÒ*W±/Í€tÖ ÁhB°pp# øé†¸¢Ý05¯Â+ caº8[›Q[å ™$F«Crˆ:â{Q}]¶-ÅúükèµM–ÏYV¹Ð¯›ˆ $¼:ÎdÉ“j9 Yiôé»ÅE*»È\‰üÂi™=ZhÌ"!äéÌÓ Òö$ùýçqmá=3—K/Y}9Ž8÷fD÷Q(~‘ŠäÉè祴?¦;‰ïµdÇø”H&ûäS­V{%)*c5jŽ™²ÐŽ0C`sä5 ÒjÕ1þ÷ š-kl¨åV-]ç ª ­/w߉ܨaÊùöÌ_`¡³§P0ÀÔOã°:óÊ]‚“aãhIrf™ô%l}̬kÓºþæ,¤ZxNó`¯–6`¿‘cóúE(ΕÁ_v§QØÓ©•; œ°é&E£mí)2<|Áß døYü‰dæP›Nõ¸ª«6™U[WŽ«\ËÚq¬µ?Ý£—/$p¿ Å¢ ‹ïÓϤ'JüÞ—ûÄE_}ƒPã”$•€¿jÏÚŠ<â¼î·à±ùº‹A])×SÅÞ?/EÒV"‘™©ašYè¦~µ%wγ?óÆœ J4Êõ¥h~€ër• ïà–ÁfÖ/RŸ í®îy{ϰŒ$QÑ–*š/eqºq&½Ÿ¢}…«!Ö‘?íÔÿFìú¢í ,Ï(š?ô(?Ñ¢u ~µ[ÅÛÂÀmDþ–µ€7+%…–˜ˆD-I‰ÉÅÌ^õIƒ³ànñmµÝ-¬2×ÊNrû\åâаW  IÄÐ5Òü>ÞÿMÊŒ±Æ°8†óêt¹-̬°–ë *Ný²+µ© Ùñ%>ÉŠðQŒ(ïeé’fX«Õºúá4±Í£º’ؾ¼Ïjãö&õüLzæ1h°ˆóØï‘`fíøS¸Ö15æAuàJ{0>—[•xUhk0iJãÅ^„ ;Xé¶^3{WÑD?ÂlÅmÒʧ¢À¤³Üw¸§Í bÎYö²° 4Êžùé6á²FHîU jBâ7ÛïÞ!ÏÈp9ò|ä'`Ceî‹Ã¯ebõ³°Õ+/,ˆ<<Ô‚‰(ö ¨*1=Å ½€ˆÀ´ç4EÑ?A¹4=‹ S|Mš òSA_ÁœC hD¦9¹w‚&Keõ(‘Tf[Æûþ}¬Iªñ‚×['8¿÷ãØž”’®l« sÑž죄½…—>b±MõOs*O3¬/@˜¨p×ê/È¥‚ m¬R׳÷,N±Æ™™™¨p×S\`ßr/5C÷í "¬‚@ h²÷ã¼7¹a†r2æ¹Óu)¨å;ÿz·ñÜcÛø¯ÜvOP™öD>…×|jj5±.¯€:io#H‡4?~<ö¿CêJá)e¡&>iBÃ\qóL•&ö+´7H^vµÃÌ»í6’a®àºgƒ7¨M‚¤ð0™¾U.Ǧ>4 ·Ý‰] n0­»TL.(éÓŸ«¸YÖAñ¦Ä›¹¾Ñu  HaÈÌyæcVz4x¤2B8tqãŒñÏç’3ƒ1§j°Ç÷•BáZ²a ˜žäÃõž<’C£Þ:Mx„õ¢íÇìXiàÁŸUôϽÞÒ‚¤¯ó?¬$u¯´ÀÄ73zÌŽ¼ ³$Zóéfã?°:–žÈrÍHÕxTþjïÒ¢%DbBw%‘ªOðÐùŠ#ƒ“Ä]Ÿÿk2^Ó]c &~êrNù¡>â_ìW©Ð!Ó†PÝ2›ó!Õ¯Ÿ’‡ÕÕÐqÁž3ìxî‡v)̪3`f$ñÙ€—2^Ó—ÄjJ—¥ï·f/ËoräÄå.ùtûþ¹²ÇjÒ\~älÍžãb²rèn,{ƒMGK9Ã`ò°Y¤q‡êv!‹V6ÑÄ; 7lôáóÑÞK= ½l­é{§3ÐwC%b±DTÚ¡k`Æ ¿“n¿úwZåºWaSé8%M›1GаŽ.;ÚµV+Ìa¸l‘Õ’1,ˆ®€GLr:E§ÙcZ ëÙÅ.>$Â[ÖR­…baÉcÞ±n]צ•ã*Èø.\yQ1s™úÖ<Q´—!åùÀµt˜ûüí‰Ìµ…ÖUh£›YÏñ4+ ·ûäÇa•ƒ„ùÌ<°˜-W ÎßÒulrÜ Ö·ÝC¬y¯ÐR1¼%hüvòp2œm{Ó;©™Öü»ý7Ì3Á¬„ÉØ´‹÷åСÞHAÄ5g];ù®Z±ƒ}$í‰\÷)É¡¯6«òªhìfaÂJ92ñSL lÄ!4c‘Ù¾\¡³ÁG–ù¬bË̃q‰ñ]‚}ªg s^4ÝÔŸ e9Ü7ÅvЉwºP²YÓh¸€µæªüy¯| FšÍÃǬ"ahª,©B[MRDÙ/³ÉÆè¢;¹¹Ïw%Mg0ØBhZ"WiÇqìæœ£Ô!Ñ3ôYÌ©jøÙyÎdM«D”JÒËÐõ”>"oµöºDŽÂß‚Ô<81_N§è@úÒ’lYìOu‹)gÚÏE„$à¨T€CÛ¨ˆ«Ò/©bé Ö«ùã©nQDÝ4SiF…m‰Ê~;™äÒ1+#ÔÁ׌«ìÁÚž •ÉDaK—X“t({ õžÊzÐX˜ã˜u‹ðƒ±óD3V)Î0Éoð÷lx½¢³ÒøÝòAùe\Ùâ7` M,AŽ^²¨Ë*°e‚¤Êï^?òránñJAÒ/[õ/*+yp3YŒd*¯U‰M¢“õ•¢§×“NaÆÆÛN ßn>`ë^‚ý•!©¾ÊÚRŽ,ŽDð ¥ › ØÉaÝ[.!}? F ¾?âáðaN;'7æ-É•µBA2Œ„*ȯ­sOˆUÛ$ä'ÞÓ9Øb¯kعmâ2ÙÿBÕšU¬ Ž™ÚÿqDñ@\ÊU'ä„®ÝJd®ÝÜ{Rƒ ž`"!´þaXª×ßîoQ¢Ze‡’ß„ë2îºÂc}`e÷&÷ŒGZÓ ObÑyGŽkä …¬CØ L‹Î¸°.F2Í‹Ù<ð}/·–`ÓÈ¥‰´JÔHÕz,ºôf#ÝýM†•²¾NÁ´WäIìWžâ¨íò=MÔUFHmò¦¥·LÁÔ£˜ênPG“Ý&z½.[NÕ“iš ÊpD[c?õp N‰äƒŽlkï.AšÚë§©üߟˆLÙ’˜› C’cø|r2¥\Ö&Nvëãâ%Ùâ|uCBõÎÍ̸ë0tÜØ\n…mSÛ)‡‘ …Æv$tCf¢Ò¡)ˆvsJ!Ë1¨YFMúÇ=W—€Q{ÆÕü<ŸÇ³‡\ –Z Á°¯LKžZ»÷Št6y¡]’£d\ÕÇ+ç­ñ¹É'­T ÜÃÂØ@j™ ³1Îtš¬f–káJ•ùZëñç‰XªIxÆùkÃVàíOŠÊ9´ÁQJ¹í8*O*úwSÊs¹h†{0 ßvk¤+\tÆiï*ªKq½Á{QÁ*Én*8×ñD©×QrÃb]èÐÂLix9E±ÎÀJ^¥¢(¶k€´ôøÃä}Y7ÖL.AlB÷Ïà¡nnµ•[±P#_ÒÁ‹<—7äõqAxî9ÞÙ40qò)M²< såf¨Nq×&MÊü*ûÚh¶äjZúµI8Ô*âjMSD1í„s@àóÚ Â–ê„h:Äm› XqíMU㵆kàâëõü 6pcpn÷«AAOú“¶ŸeÖ/%Ë}«ÛÛ‘Cè¹Ãºö<À—Œ?K«­]²=ÿ¬)ѲêÁ ‹˜¶Æx¦tÏÍÒeîiöL/TNÀðá+V¶µ˜_þ9€ñ>búöÓPÄOF*ð%Ñ nD¦SWìÌ´³–c80ŒÂ®¯m.%ª›¸¾×J‚Z¯ùI}óÚéQyQ"ú|“Ø{âVZ“­iŠó¿Çrmï™:Rf$ùhŠŠV€ˆý¦N@Õ]DìøžÃXÃnèLâ+sꪢ[ÊL…Ç;:á<4qª¶_dô>O“òh݈eQsáàÖ‘u[¯¬€X›=§ÐÁØ‘21Ô S=WýçOª<·`”IÒQ¹Otqr Ç·‘à7‘@¥lØß N;À%ˆ+g@ø*˜Úî#îhôçŒux$î­¿ÁpþéÒÄίJ1l©_ê]Öð]£9ðËÅ€Â@Gõ°ŽUh²ÝÀ=¦qÒ'ëûI`™#ûÐFztdÍ¢+«z+ÜÏ¢-ä+ûdvŠa}-Ny©G™ Š”°­\ØvŽC“lú¾>q®‰tX”uÕ¯lV ¢¤ëªúÎþ‹ 0O¤ÍÏó²G†ôŸš:> uð•k'ÙüV$S*£¨ïþ%ã§aÞßU?yøó‹ºË-ŸVžy¸$ƒm<Ý ‚ðÛÝ[«앤Æh'…]â ýÅ«,ò#õyò¶ØL}Œ5¼0\ '{sƒƒ?7£ 2¤Á8ÛÿhÕÂßËidÉ}ÊWØ7÷(8fÊïs݈å´BõQ,Xk«5Ù:LƒFÑîf"_'ä¡{¯|á+þ¤¿±Eå‚7ŒoEݺp $¯íx†&^&f ÜjÍâ?ø^Wò3Ä,Äotü)›ëqÊ­Ì×NpN«ºO—0ëI„ÉÎ`Bï{Qn ”ú¶;W릊Lú¦Nc8N˜÷aèi-³ ó–qùƒ‚㓾°k«C ¿9/\àª+àš&ä é/0ëþú3ès.¾ÅH 8›’ÛÍvÝ@ú KbúXUÔjï`92bÂKÙ³¡ÄŠ¡'îaÀÊÒ“ópûK01ñêÑp ït[)ºŽ‡¸¸5ïß2g­l¢#²µQ¦-ÄB`”¿I~y(ÿÑÃWüØ„ðÝ"¡Œ­$UcyÃ1hO¾F‡_ÏK¥ï½… ™–Fx—gqq»v ú§Ó¼Ýò[²ó‘~i LæYé¤YvÄ¢IÐ2è,ÿm|U½ívâ-ƒA¥ŽÐ^`3­òVÔØŒ™y­ã{1á*·’½$’Ê»å*’+ÀÑ7ïƒWÊ[\S£à6&`ø=?4µ«žªuÌ!§ƒiQ»éÐÀÈBzØR¦^@÷b&Éø„þŠß=l½BË2ÒÐïŠEV¿H%/DäŽ6 ãæDÍ^§‹d«þe»¿kÂs’仦ð¶²ß©qÛa¹!7ê¿5—ŽïES(›:ƹiJÃ_þ.>k)Kû ©]t ÔÙ‘´Z’ýÐ eг2gÒȉà ™C]C†ÂD€éÏÄùZ“úÇhlc edvèÄÜ×ÙòT13ЩG»†¡8-ßÐÒP–®_úveÒß9Ð`^ºdòk× lWD)‰~NT…8¶*æ-I£’I²‹äQœ Uu}åg4óèíB¸Zì-Ìœ ý82Ý»rre‰±ïÉáöÈrUqk°"î®týúéA?´LÞÍsAÒAw¼³? æy`RWDÞd9ÌÎwuj…˜ kARÞ>pA6…¾óPøG9ñ«þ‘µ­ÙxA+4o äÂê“+:|ŒB‘`”ÛÉÃW/¨2jzŸýÜ×—O®¢`KWÀ“‹<úÿyÁЇmfèVQ¦ÔÛ×c­’ÇBãVÚBâpçáÅ–¯EФ;׋ÓÓÕVö±¶œ›Ýæ ‡Å\-ù=&ÌQÕ\¤b®Ïq4ˆË⓸­>?eb¿Ñœ55uëäZx½Ï¯€/t/)ôžö1§c¹ó\ w`ÿÌÕ Ê+v}ÝîªNг 5ñoSéGšÿÅÈ=D!µKÕú™ø›õ­*Ïzni.j¥¿´‹Þ~bÙR‹²1›`b;Ó&lz€¸•è©i"îÿk]pE ¹(-ßâ•t9Ì£×KMÒçORîÎL¾Q'r·,ÿ9R/7rÿ¸W Á€òàaßÏÁ½XHÃÌË>|ˆô»7¸² EŠ:”‹wÖˉšþí“€“Ið|ðL `§“!²;)¡l§ ?ŠEù!¹…¨lk­ž…ÎëJH¯s³½ˆ±Ôëß™t!ÈUjão)ðDѦÚ*†=–œ É"OÖEPb¢÷Ì=šÃ<á gkþ˜¤e‘!µîNX‹£–Å…dè=;«Ì%¢‹RxnÝ}©¶OÔªhKa˜`¶“à‰%Õ»1ô5n;xÿ+‘rá]ö\V™@–ævƒEr­6Ï:±qeëŽmð샌;Éy¬vë:æHª4'ÙȪ>À"uDÒ]|gô¬Ï®2­Αì—×êoDB©-樬t<Ž.a©QΔu“#Z•‚öV- AÍ=îVEQ3¬]½Íj®BŽ}Å=2D²I½®õã'ÑgIŸÏºi{ eÀ¶ÛîFö)Á>Ød'ÍõïmIþjÎþ æTˉÛÀ.á‘ÚWë„ò&à*¢âQ!„þåÎÑaŸšÈ÷¤”Å•,˜¦åŠ…YmAd¸ß ^§«ªŽHX#g—ž¯!W*2ÍBIÀ}O½Ê<×÷ù'k{uÖä‡ÃÏz@Ê©íþövˆ‚×H2šÐI/’¨€«‡ž³‹fòÏ@ý fÂ=H¯ös+fAºî­PÍÂ/õ&W¬[>G4>gÐG÷ßMdœÓ8ÁÝ Üx/7®"!5ÈLjIëô±ÞMFx½H%s5à´]¨\m’‹|ˆ²ºý®Ná˜+–€ÛVõƒbK×UD 0FB*#Wšã7{%éJÆuÍ!G2K~;f†ž[R t›œ-Û8^Y&æx[“é 7o{¹JZöFqàŽL‘ùéWn“Ñ€š.ÅÅW,‹R¬ ð/ìZvÝ»®à{¾ÖA~ýb æ@Ô†÷§ÛKOÇvìØ$²¨ìqBJ7÷ã%W z4T—nþ zÖʳ3•ohìh§{˧FsèÍäˆn!ÖYq:Š­æüÔOdŸlfÁ#w†ñO}7QJñ³P×…ÈK›P/dj ©¾ÿê%ƒ3ž1ʫNJh‹nþÝ0EÌÖæàØñÊ@ƒO!U Ú9qÃ=,ÄaÉ¥×[= åò3+Ç<ãj¤–QËœZîóúÙ¥2ø+ÑÍ 3Éaù?¿e…¨(¬z¶…K0-èÍZ˜‰ðf:€võÊ“ç Ö|p¸9JfûÁìy|nÿ•zkpq§&w—_Å…'Fˆ9„‘ÀT^Åâº06+¯;W©±•cò²f悬‡*ÜÐï×ûŒ•VN )±øu)K¥^÷òºo=à^†Üm¹îBC­¤2Æ -»ç!ŠšJ6VÖå×#=psh¼hV*—L(xòŒùhV‘H ÉLµ ŸK¹%^ ˜ sÐKà¶µ)¶Mó…Ø,Rïá5ÅfçNÞyêhçøQÞ‚WWz /±)i¹ÂÌò¬8嚥Ç;ç-â¾ ZäÏbðδr9#,M[`¥nßßä>èEÓyä.FìCwÁä#ÎE5[>=Ïϰ1vLÐͨÀ–ÄÑÆ+‹m!îrxzL¢Ãõ_º‡¾Ñ[‘ÓŸ¨ÏÛ ™Á öY™ecyo'‚оe ŸÓjó>ð[gbUެxø÷ßG ér3+ûÔ!WãkÚ>:ÁZµ­ˆÒZD˜ƒizß•xÎàE÷Í(½!¯Y#LÍI8Ã& P­Xce-c'šŧ…¢ª"Ti”jŒ¡Qk2ž¾Û^º†í7JxÂ5 «ŸÁsù²¹$1ÿr<š#8»\×}œºz•¢Ï˜pHQ“ß ¶:jNë°p{.ÉD¯ Ç™¾qÅÀ ®Ðeô¡'3ZxY ÿõr;CD´ÿƒ|¥=9'ðu{_µwÿÑJWiò^7ÙùGã‚yl¼·²CÔ÷ž¥°SØ¿»Ç i­ò!f5E6—¼Ïö¦26Šª½Ñ» Ö¸cá b[?o9÷¥4þt]D2ÿÔ`y©2?ªôÞ©Òî5Eâ?Þ{ƒ™ñºj€œ0ÒMZ€šx‹”ÆÌ Ìý¼f?ÔŸª¿ÇLFcÁÛba¶§þ î#èÑè#_fÉëzP®–¿Þ"È5ÑT `D8Ñ:2àDÏm§þ žéªy,3i] ÏŠ&¤Â&D*Î.‡A½”aÕZòßó¼Dñ%«5 ÙóŒê¢3¶p–G?‹ˆ7ðõ?•”“(w5Ñ4ýe„Éê.á=\Øõ4Ýèå‹Â¢¦ÏÙ…†#߆EàAv>’ 9Ž©ª<êÔ1ÐØíõ[»år¿µ•NMÛ¨ã¶+à´"©}CáÝv»ŸôÚŸ …³¸ öûýôxª>ßWÂ{]ÏRrIg38v>ú¬ŒÅR¡»2Œ¨+óÅxø¦—òZ)ÜxE>z~z9§e ãÃ'?í£@•Óu!˜¸BþŠÃÐ 9wœÜWžú[ýõà3«ˆÑ?«äñ³Ý¸åÉÄF›Iµ£A×òà± W´ñ"¢ƒÅò½¡=‘ˆ‹“ÆJ‘#ÿ}µµó´zŽÕbºÁ`š¬dxÇàN®ëõÅ¥ãÁ>ìæ²pvhÖBo·˜ãßàÃ_”s¦@<ïšó“Ü9_ó¼)%OÿûV˜­>¡o§ú¾"¸ ÙUÚÕþ×5ÿ/®ßI0M–˜ÝŒ¹Ô‡Në¾EœšS‚Õðˆ Ù¹ÚØLâ Î-~êêwÃ]͉‰ ó“îØ´}¤MÝØ^šg’^²Q®Cÿãã ”™§2G«ÌÄãF¦éäUµW¢E`aÎïìUQçâ’p„síÝpò·gŠoø1[½yfÏ"0ù“[7=°c^³$¾æ½0±ÕøhÓÅZÆ›OÝÑN¶ñü#ñQ/=Úéðô\üÒQïY¼OJvfÕê€ÛZ4C7»+èvwùhî¹ GSEÊoð7(S4ê“ÏŽ,H⇭ƒ/µo ‚üÓô0«p¨ÆúÙfü'ÀØ—VNŸ¤ú§,ƒŽí=Õ"V3þ• I÷¦gÉ;©ù q ÑmI'/âwS‡€†d¤$’¡Föo ¨PSvG2ƒ‰þ~—m†YRµ a> [ü}1èrÌ^Èß-±Í”.wØ{b­qàrC³ë] ù¯àsTå‰ù³jFÆÕ©I>Û<Õs (•¢É\ÔNÝŸH‘ ÅEb«4AÃn)àý øÞðŽ) ÎD0@HÖô6û+o2à8`‘{d–Wk­à…¼Þˆ¾<þÄwŽ‹ @^Ø+ -·¹kÂh~(«][ÚÓ}ÃÅþM@ÑË’c°Fº(ä]àËÉm°¸Ñ/×Ô.ÜåOþÛ7V!ÎÌtûƒy‡ ô(<= `”¾¿2JÄí¡í¸HTÞãÿ9„µ²)\À(óZ¤î¢÷°~AÀš÷Ôõ|)5Ó[P;£°ëÊWMmwQk’’w·ì r_ÜbP; hlÝ[ÔFM1¢ëz:þ ªVë *ýB£»î-µÿI¦$Ù/†êý–X¿¬ø$fœuHRð%²ªbÜ[_ !„¤$‘A}î-’<ßzˆ£:ÃY–Ò©ÑfYp­QV”f>{ÆBÛ±&Ѧ§ÿþ9oñÍÂw\:Â溢ž¶ÈSÊ{;m!l"8–P#kñfЬö%uî= Ê ¦m_¦ˆ uC|—¡[ðØ—&ç\6]+ÒWGY!0å>­râƒkDP²ÇñE…I4RQZ¹+ô¦üCHyŠÑËŠ]I9x€öb='Ó–/˜Lu·Z ЀqÖ„A”ŽS+åÏÔX„`5" NåÂ/þþÏt;õEÐf¦Ø·:îÞLM(ühøäâ%é€t’8µG ÌÄÆ¯{ ̂ɰh[Tb6¹ð¶¤Vx]TÍœ ¤zŠg¶\DÂýÆ (Õ˜ˆ–Ú{ñfÂô3ZoÚ³dÚœc KÁæ):†£ßõZóãmØõgí@£*3ª^{$µ‡ww´¾­ñ"2…F4Á™¹™òã̸]¹q‡Tö#ÃSÞ‚ý¼4¸ñ+`í@þÂ$¬|´òÓYymФ•¨1…³ñSŒF'ná'‰‚±s¤køІƒð/šŠ æ3'ÊÖÌ¥¥ä†U nnù);&Å Ô˜‘gdCÖµZ ÆOjk>÷½ð_p{ízŠ®‡U™ï#»ÛíKÍøQnT›Í¤îý±Xzi ­†Ÿ‹y—·^O²eK:û_d±šódz­åÑÑ誮ØÁé²r]ßZ>x±lz¶ºÌÌ¥žðûƒ'O(q`N—ðr‡†gbxIô2 $UÒA˜R¹'Taoœ¨Êõ0õ÷ðoçN±à«qÛsµ­èozŸŸSo“ndÛ3Í ¨«¦ä¬G“ì~e+[À/ÙájNÝ©®0²àÓY™Ï”V¥2K*¹:4ö\óßd“ }' 9ªó$(xÂIûó¹ç9$í2CsrÆDŠ!‡õ m°]Êdýà§Âx¨ë[¦v|YSa ÕVXÏõ”qÁ޵|df]pfµEPôÑÓzr À]Ɉy›+Ò`ñ´xç^¥¯˜“(aLø;%2v‰f|$¢Ñ»mÊsjëDètÞôÇ#ø¿™žýC…±'z˜Ø’>%oêçƒb²¬?ß`E¬¦›Þˆ½roCül>7é{ë>LµõuD—VýÍE­-C3L5Ðx„tÁan_y"جѭ¼V7q¡o‹XyËçhrGN¸¯x3ؚæ4þLêH®ž6b“-¿'ĈIG«úµtq3è–Lh“/TïMÛ_¶üŽ¨Î¾1#x«×1ÒÁÒçg<ÃÇpQbŒ¯ã¶>«^Û¤½`i¢¹°Bò‡<ò…s .ò¤‹WE—KYLÉszÕ¤w‰K­]¨÷¬ˆhÅÿ½HK´&‘›µzaòŽÐ`Õ&4[mÀX—i壂a✠‚ikˆgdÓ”×ZOèSj•c$…Ø÷•iÔ*/b¨tMêÂcñ¼©~«ù8bËÎ~ãÈÉ/3K$=“©â^Ëþ§í¨ ƒgûÛ"jUF2p´ö ¿€ªZïWPÆ83•W/ljâx Ž5‡ÚU! Ë÷ŽdXæ§7T2’MÂ2z×/Ï‹ 3Ãõ£¯<‡ï > µCþ·=) 4‘ñûáB°›qÇ(WP=üU¢iôÂPýÕ;ÂÞÇï¡&´pëçBОƒ7ðǧl1ãö]9§y £}´ÌG^‘b{§ó”^qñ¹¨tyxÛ{íö†%Çþæþ¡´éE=ò@õ~.=“nD•Z·á¤k?¨Þ*ÍÌ6ož£œzºM'f?"÷ñ^5ÏþÒUY§¸?ÊTb¾A”’Ó–aÙ¦ò«·=­ F´¡Ø‡¼¤„ £õqpdåfTôHß Òk=zÚo ¼<ê\¸„ñ¡0¿B…N½u#[dJ„扥¥ˆR$† ËËÓM-‘ ¾ Eù”à)œ$ÛBt”‚æE±nx2¹éîIt«"ÌZ:‘óÚ±1]^­³Ýv4f¥xÀ0w´èJà‰4ó5«J²‹ãˆI6ÙÌIk¸òöbÌq-n‹',»V;?c³¢hãƒqΪ¸“ÆM-+fòR™î5BÎ*^ù5¶­†6tÑÿ‹§¹Ð:96Ž¿‰€Ôç C;UPÏ—i6¬—ûüd<¿zÓØ¯÷Š[%š&i=ÞMƇ½ñjoFHµb0b$“_¹Ù§#ÿc'0²hrr.êã1uÌP—!à3-‡‰»w9P#§ k§Áàæ°ÂYÎ.0ŸTÜ£d ùCÆÆÅøŠ Ï„¿’ ørÆ«ÿ Ψ§UΕÅçaO¡éeºê­v|9 \¿Á=¸?ñ2µŽ®<’³—ò?*–1ô+8ÑÕ¢uÕ)´aDà=ádlÌå4‰qéeþ‡bÐVeÀ67}ê\ü‹üLýžåû çÙ1ž¶8@”' ^,ù‚},<7çxØd+ÂßIÅækÓ=TlxzWÑ«ñº~TÃüÑRaúà”†K/¿Ø2ùmÓßÌ70?çX²}M÷ÀsÍ>€uEgŽ“vATßwRå5A9Å%àZ|T´ÑôβZ:‚˜,U¯ÂñX˯…kIN2•e²õ` T•Në´u§Ç´±V‰O¡µtÃãJ‚mlÕs”ŽKÔSdBµˆq¸eºŒØ¸/r3‡¬Î÷ŸPHkoѸ07wR¿?ZÜ:·ý„hÎJz“V±×RXÖ '¢Í†ëpÖ¢®vüsÌÓµ9;G§çžˆe‹CÉ#=‡hÅ"!x';-²„”–ÿýíK*’<¸‘£ä›z‚Å?í+Ž{Ë 3`CÛÀmUÿê/ÚDEªòët&Gùž­¶"($WIB @êôwŸÊÍ¿€Àtrö]ÍòM3 à†MBó …?NåÔô(…ë'Ù¡9é€É¢AFcÜBÙõ뵂€¢l `Ö~}–…]Ûn-ð‘%·<½½¨0VË{ÊYͦ#ñÝéVŠë>š*6é#“Oµ:.ž¢ó+ŽÝycÞo¹ŽyÔ£]>Ô3XC)žÕ;›•uJ“øžd,¹@])Iz:4Í[îìšÙûn$ >šøÃ—t¿¡±cS%E^ÝR®dçHÿQv’ÜdötC%+í€êñðì5dZ3%—ö"ì°kU5½gûË[í{zܼj5¥Š­p.X¿‹^åˆ7j»8/.ì¯o]ñú£¼Ÿnh†íwËEÎ̇“ä½¶“­°çNÆêo­Åÿ`¯&“mÉ?À1¯îèÉ,7(V˜Ú½r­0ã{ó£ ±ÐˆS%g‘…tÆAñÊZ÷ifò§bXU¾+d ª¾(ð«uä T¸2Üû†ÂQ–vÆ¥ËÅ ¨T¦ŸhâïsÜÆæDåß§6¡qG3$ì÷ICfe"˜°ãd,•̉_ó,Ëž­¬á”œÒãU3äƒz´)D–±ÏX8üƒÄøÇμÓßeØ#4”x]ÿ¼¢\9¼~ð—ÛÀyõ7 ÙDñ|Nwä™êë®*»|èA7R̰pžßíÏQ« # õ-etÚÕx„‚µìL7Sïv¨‚ÈÂMkï®]®zž,qþ$½Q5Æ·Ðû«O71pôKuÀÂåÉD¾½²‘?E”Ò©‡60¡´ûzÐáõe 9'Z†"ˆw©„>3èÐb—7®÷3d*Ô¡9f5ÿf÷ŸÙ€bøÊÚÄÍôCËZÖ÷i½QoR‰—0zæSÈk™ógÑRûI¿Ôìƒz]¶tú8ú€0@6G`Ý{DT¢G6ùšîea• :~LYà”pZïÛ»•‘ðñ °ÉfH5|S0#‡Ÿ]/Þۚ+žá 2à,¾Åztnm-º»ãÒbõ뇘ŌêœÍ#”ÍÊ ãÕ¦ÆÛ¶¢oçy˜rìmïplÄÞÉteÞ>,P DÍðÙ»ðH>éÚÆY6phæÙDñ§!ÛGë$pnÑ;ß;ˆødX ý+—H4ÔI¸µ[¨–¥6óozÇ$ ¯•öañ®_#Œ…Å\6gµU„ð\Éaðc× 0ò¡Ÿ±‰rŽYÁ]( Ë?eU<˜«èÙÇT-…hB±Ž7œ¡ÇÂl`æ›.¨àµnÊl ÜÔk ¾–¶#|â=te gÛ¾»)õ!l•çX8+Û^![OtÓÐä ’½ Ô6x2+ ®« {Ë&¿1 —EJG‹! &¦Œß•^/'ÕRÜßws79”'u¦çãô àV¹¬DFJñÎ#*¯l«‚…ö˹XÓ@gšŒò“±ŒôO“dAK•ÿ‘$¥é‚Œ\›5ô þ"·u,Z¯À>Ë‹+¿»Wa›xL蔉ø£Cê_×0"o-©,}ŠÌY"?²°JíZ}q‚øÔy 9‚à°™§ÃNk}ÌÁUTíÙ7þp Í ÏXX}[¸r Ðé¥ÓÐïY=OßõHCåÍ:õE¸º“}3B}äçð)åÊ„=n´™ÙÂÐ^bÖÎÙús<ˆaéëHkûý×6"ÌRl¼ÈʉU+ýzû°6¨—$¼£JÔ5é…[]Ѭ3õìÏžh¦¿%Dªyv¢^NôêF£Dp¬Ü9e!ðÈpî\ÚÈÀ©Z/ðÃͰ£w¸ê˜âê °k½ÔR6ú¶i‘+ÓëØÀ1OA92þ堀 ªédûø@²X³Yr92L~Ö_©DA ‘{£Aç8]¡åÆ„‚b6­ÛÑq•ù6—}_Ñ ;cúÚ†Nb S‚8K \Y›)øéU–öGDÙ«±Å¦—ñ#¹{¥ÿÉÆ½q”8GaÊ€*7ßcûó‚ªUÕÄÔ>¤o´æKó‘UðF›²:\”¬û£üþ˜k †A*zóvÙ{¼;W|ªáI¨eL±¢ÑÅùù·³¾•ÓÝl J'öê‘i€Ø«:\¾]Èн¿ }öö8#¥HÝ,ñT–%'Eö÷i¯ÒŸc¤iJâqGuÿ…ûˆ {š§fE±%¨Påp›8ÍyŠÒÅ<̬õîÑÝ•*ä,Ç0ë^UÐ9ëaè}zJ[·¯`Oý%î}ó¬Áì=ýæZ.,ج|žÿ¤ªåå‘ïà™eÌuÞV'pc`v4z?gOs4‹†/~´ÐMœûÒã¶ô:c.ðVP/KÆ»,C«Éð×`ÆÒ_ÿÂ7ô“%Ý€"An×Eƒ¡EŠO•€¯ó'1Èç:UÅqùçV9=VmÁ±St! º•¿Àb;´ä@ûV í5Æ”ýUøɼJp½³Â­ø^ÖZ2'_Þ?»íÜ9ítlDå Žm')¾×YU8Œ ü Æ'4UW3ÔÒá–k ptÊTqöZQµt-ù5?)§Îè ¼åš[ýÛæo•-¬E|˜õÆ^õ©÷J÷³œô(˜#§ÚE-¬››ÝDe3 #&ú¢}¾”y¬HC{…°‰ú™È%JgþäÀšN‰Å¥øO:‚ÄioŸÞu[*ùÏ`1ßC7JR=Ô·ìÐľ`L‡UIAlÅ`ýÓË|OÑ}0-ÜyL¨œ8-j”·¢M„L,êní¦/ÆnÌóP÷ËX£ªì×w.%)tîâ¶± äQ‹²}RÖ8Rö¹¹ äcËCvK᜺6Þ6â€oÚ\ :ÊígnýÚ‹‡24AæØÂ„€z¦%¿SÊ)Ýaãð0šöç%ÐB-Ðl`¨Ì`”5°')~f…;/782ÆÜN²ÂSò¾ƒ‚aI̦/õ—?º*´ÌÒ£v‚°Rì%'jª˜­\¶ˆ(Æ”lR^-¢~!$WaˆîÂçeoq€úgi˜ÎYBdÊû×ùý^Q¡ŒÚ·³AòÒšjLk÷­91¥g–šTÓÄ’Âð;êõÄÜXª/x,í‘Õqgm¤Ç¨U”w}WEïpÃÝüÜÐ"ÆrÚBжÈõè*éÍ©€Y'œbé9XÙ0¡Ø‘ †7-æuðlF¿ô“­+Ž·<|eF®î-n„*ºúÒï;Œ;5ª«¬¡@î2¨¦yóÁ7ÙÓw–ÚÍÔ9‘orSn9,tþ§ x×0˜çS´U<&¤ÌâGϽ[+uã³Uún}ñK2Ÿ2Ék~€ó’k\ ØLy*#Qh#K/‰Ï“ @Ørñ±“¸ãFgõ;õ…B‚ZG ôvWÔÕá ýã7Õ}f/V+}×/A¹߃ô‰ê§*“ƒÁ›cI®!¹øè¬Â2/ÜŒji-úGõã<¹×†¯\&CâMGÎgÁg@&amjQà©HÂ`ð`b’@붪§ }g§%%¢8À@³ÍOf™ç¸ÁÜOŸêIj‹ƒB|¬MLè—¦œ³î  Ž–žõub¯`uã±Õ'-Q”ô8šD†ÝeVpmh¶â$VÁ¬YbMœ¬8¶Ãȃ€£ÛÃm§%âu÷]ãpC@Õ›¸0 qâ•âðgG§º\‘̯î$Pê;ÏAËCúÛP°ÿ.$Ï4»ÌÙ¶“å¢yªÆŽ!:ÄfÑ!5‹'óñ/ ®øÙxÁQ -ƒxç…àu6Š< ¥×“4Êâ…—/3ÿ.1È ̦‘x£û¨›¦ô¶Å Õ.æÑ­â`e¸>ô²d%‰Ý`''ÍÕ/ Y•vªCù<[°½ãoLÙ»ŠŠ.ÈçØÈ¥xêÝÂ[á×mç_ÀPì u©)Ä©K”ÞÌ|ÍÿÑ”G+gÃЬ——¨ƒ¢€EDª~çzR™ò«t[Èâþ5dížó÷2vPÆS 7…!›G´Î»H×Xq2å\”5; D™m ŸO@U#™wµi‹QdC"U,_³ÿPãvPÏyÓÌ9ëô‰­5tì%:»æ)Ô JÆ.tÝS T+\Å):lžUù% ùßâJký¯9Ðþµ‡Ê~Aæwpv`ØP¬=çcéxÄU—ƒ¡b1Í Ed2Œ*ÕÇN—?4ÌîlîîÒ"Í.£ë9ÇÌvº+4$ë™%'¥Îÿœ¸vWr®†ªš‘hô½BÃ{²Cñ‰… ÌÎÞ û¾ Ëj;fClüô‹Ÿóm¹œlUéVÌ7[”žj,¥fŸ²rͨ”+b²žÎ«J#›å3)ØÌiúRLc]-é[)»ïG¬Â€Û± þdœÕâñr4¸ýea…ÓDÏ)}:Koow¡ÿ¹ 8ÞìEmÕ^{’ =‚·OÒI*z»y¢DàBW–˜ï} ÿ¡aà  úï\c]5W¦bô\€+™Ýü…£’ûàíó³TæDÉÛWíæ,IÃM6/ùßÌh|mäT±î²²T•¢jRQ_ ˆ60ó-d6’ØŒ7Æ…€ƒ_§Ÿ¬vùŒÏðöÁ8ΙopjÆ¢.ï(“Ôr½(ÝßòX: §ÅŸ¼ÕWÚónfD™t Ã'KŒnÔ™sÍÈ …JO¹eþ÷ëü’zr\JüâûKJæ]GµE«˜Ö'‡r¦‹Ô_;8_BØ:ÃÃ) Øz|‹— D±î®GTO9𦩔Ù6ÎÇÞƒ^žÎò,䤙&øZh'yt]2¿ªÞŒRzëy¼ÛÂ힆¯cpSb`‰ô”€/Pd‰Ý—ÕwM3ôzØ©v—jü/;Ž–¸€6¾dÂØX8¤Îüu"¢£.Üâ¹§iûT%&ýR¶|–ì0hó.áåóÁø‰ÑÎNuúqv­û»º·¹©ÂZðê É’ri×a³±Uo>ÚÞµ!ÈöcÂøä븜s²}*θ¸ýµ°©ä ¦»%ÐòÇæuq“„C{ÒÃØ¿u×Þˆt2F½.‡Fx"Ô¡ ÃB?¶¤w›ƒzée…éeõñy'y¨$xб‹’(Lr,ðDøÓBñmùfw•’Üë`ò§·è©tÖ}l59åÔ 1/x>^~NÕN˜ óxVÇ5çÕ hD95\UEÛ4vAÜ]ãÙ6”"Ó°Ðêrw»­Ùâ]‘ ‡C‰J:ø0ñ·1ÉRÉ0¿{£zE˜MðÅÙ¾dæÿ –d6¦Ñö<UÖlþ<EH»žº9ü†×–ˆ=–Óí7øÈ nbÈ’²PWõ8|H«--õ*^C5vv$B/ؤ_9vîN=˜³J”#æ±nn)B}Nh­ñN4óy]x‘g(׃…s©ß 7Å™¶q.GûW³Š“m¸hf"6 ÂÄF€\vŠÐ_š?E²ŠOƒ‹2p÷5òò‡* p““ñJb¤l$%‰æz'k2GBsÈrbD|eì¼?ÀäÕ‡B¯vsAüIÇ/t_xX¯€5#ùù/ Î:Xèì{ÔÄÕl'qÁƒ˜ [lÊ­~p³à91A+]ŽŽ¸º(ئ “ArÀ›Ì?Óâ'Tì+•AäZTó?šfÄüv° ªhP¤ »‚?ƒŽ' ¥ ¼V’öES™Ê'NLF€ûà rrLº ?Sôü1rt'õ¾óû)“œ¬X (Fò—: Ããºpm¸„ øµŽ"qÚ!³éF%]ÄzžyåC·9ÂÚ…ÜßÐ-K²‚M¸Éïëdçjïñám³ ©WMOº ù*R€Ù¼tùѦÙà£Zda¡ZΤ Ý„' µÿØ¢IeÖB™fmÛK’VºWâ#Ÿ2VŸûYàîɨLˆC5UdL+¢²ï0¬ HF’Âw§›£0°B#'À{$rͩۮWµnÚ ndÊ¡ÔiÔåjbŽóUâÂ#ôÏòµ®úÑô†vwvî8Iã»­ŒcSw¬Œ¢n‰X´å³ÎÁ˜£¥ëŒig2•鮆&TÜ4o[Y/½q{B¦§‚ii€Õ?ÿ bµÐÃÌ Ec]žØîŒ(rt-Kªæiíg¦ÌdIiMN ?WŠIJ fžî|‘E“ËdÈÖàB[lèJœŒ¯¬DU.íœFo³’!Üì ý{"Á §¼$Y˜ÑµgºC¡÷…“Ëd]SeBj®0œ€ýšþ­™Zœ;ÓŽ»³0©_£‹¯‹Å1„J%˜Ž‰ƒ’ñ}þ÷v:#Їř©¡ ­·Úâëµ¥æKWF<éßúC žu\ Ú’ˆ¡i¤ã?/|JîÇúT¼DNÑ¥§ò½˜élíÕ.ÉçGôQ»¬¡È_ñôí+uJ8Åþb.QoA7•þvÌ«HmdÅ Ì|oËNð&##2lºÐÞ³¸µñ¿¨@¸¤Ó_Sô~9 i­ˆU_e¬Ø§ëàí3T»æN ºŒNýmùHÐJš›ÍÓeÙ <ÿΙ·±Óó¹S4Tس|&Î8óþŽÎU];Ý»÷Œ)™€kâ0ßDú·kD¤*lDû¶sÆkšRVBfÓÁÇ`´"‘ ¹Ú'éV‚v.Ãå6‹1Ãç ­×ë±…ÇÌNõ/“³ÿæÞB2Ïåx C'L3—Ír’GªœFÉC·ay/Ö¥÷çÜ·£…ë‚!Ì& Oçšëž‹®X-Ÿ×q€Ý¶îGX1´¹Uˆ¼³Ç@˜ÃÑdZ'áB]Or8±Qá"1½lõØOÌu‡ ¶Ø¬ÆŸf¤Üc1`?Zâ“çR Õ&ç<èVÓ¬õm3µ#ö2$áx´—Ì N1ÏZ«=§.Ç}ïzñ˜ŸÖ¯ñykf6?jè-»@nÄ‹Ñá©0ªou–O\$1y¥{ J¿ÍówX®{ÜÿÏøó…?×–Üfe,îzÊÿ¶òеdWÍ…žý ê¡<çƒôM›²¶ŠUït(V¼‘Ž![”–£ÀüZI¢zêEO:ðÍÄ‘,»(˜R§£¹UGÅTÛ î:ÁöW!jžUG»Z!fôVè4b¨Ã¹þ'r\ÎñÇ9´"' !DJ?Â2',áÃg5þ+£(Üpš¤ú[†ÓoÑÊMŠ’ˆ $}¨ç,+¯"UÆãIçJ˜Ú»]!Nc„¹,Ñ:~ëI*ÈŽm1¹C1Ϩª)p÷M¿wîú:tz‰kmYo¶}ȧ϶]<¸Í‚ΆÖ^{ÍO¬¨ ý\ªVŒrª¸P i™“n~ÌqNQ éÝÍJóxÖÖ)3 –8ćÙt‚e–• œß1òֶɚ͞*¹@ѲD Ÿqüêm,„ÑgÕaÃXo›’£rÒ{¥eTÁð(‚㻘”rëòG‡•%¬÷S `6Å&E)ó~cÊå»§.¢>(öaÕ ½‹ Gá_ öû”Yo ʧ3íë¡¶ç*( |™ÚOŠb-üÙÉ( çÉÙ ¾ök^=Ø Æ€ÿŠ–M€èþ…W/!â 9\ ¡iw*†ÎË`ÑvDóŠÝwgø…hWý{–Ê$1ÄçpCœŽ_xÄž£b%œQäÏ—Ђ¥¥ A¥$Fh²fbëÌf7ªù nr3Ôaµ•.œÏT^y véÉVæý.ÿÅ^ ˆ ««‡ÖtǶ­n;Ád,Ó  ™ h#Ûome%®zÛ«}í2»"O" 0ÓyÐÆRðP—Å€! ½—~ýk)0wlŒ”²P«ó¼!ïÝ>ꌮ®÷üâ[¥¦zàrxaõj²Jÿ„ Lz°¥G~†‚X8™ó}¡”IÎ0Ù_Œf©&hϳߠeÖ:Ç€®úluœ{3q镦!(†9¹˜­['[² ]¸RX“•1뛥Gnw‘yV25ßng›ˆy6%ÚŽDÒB[°¾Ó³õ_U­AÛIáÉÏIuù÷Ô‘0ô~¦1Ñ? éSHô¼ì|&!EfòÈbŸ Q.o¨NMBké8¾YÑPü_©".PÜðA÷’« ù†©ôÅÝE  ߢö&·­ŽbHü•ó®ÄžEÇÜ:¼UjØŽî»oo,çZuù|ûX£)ÜôfÇ=”„yso:„Ún8šù÷êHøHæ»TW¼ËgÍ„Õ,IætÓ=åî%Aƒ ­LG)Åil+êÚ÷ þYŽ›/¬^¹;J9MÀ‘nËûÇßÐíóÀeæ/_óÞNZßôüº½Å—["Ð6Û ª%'hŠ“!++H­G÷OÌ/T§g¼ÎhÄ*˜yÏ>‰ˆˆBW‹æçvÚŒAj3ž[ú‘4 )-cklìW‘+@VdÀdÎyK_ÂE¯þ>¶•n)÷Ûm¢hTSWPiÚ(^Vç´uòH·^-m‹ê´¦U4¸YdDŸÝƒ@€_¿¯gó¦ÆlýÍ_@« f>Ê–Š+_äTó«Úkü)‡Ðš›OãÕêtjØ~2“ Dù=å9€Ì)—Ì<·ÒáŒGb a%7G˜}—ä-½©Ìw)×%Ï‘/Ä-éÍW ç…@…i‰»{QKÅšWä(ÌP’ÇYÒ5Ô7e½`Üš|›š"£ïD@3¢Ó5ƒûµJ¢Àwš×ë“̃ì,-”Æ©CkH(£´ß“K-2¹LNú`o3²1õ^‰ZÞí sDe MWÓ3Ï_Á º ©ÕÌ2%7ßÜRötD<Êhž7åÕgáÓ:M]±’”æuI4q óX±¡±6ä'+1.Š,6ÐiRÀý’‚½"E[¼ÉåT1¥Yè‹MßmwüÎźì=è͇u¦ABh†bl³®,ÞóC:€Ð¤´HšCC}†$„͹5†ð醑]þàü÷`C÷u™ÌóÓ2§¶ à,$~4m¨¹¦ Ž«¿¼¬Ò;p=•¥^5¯ãK+yú‡éßåžàÀÿnïþ0ˆ¡Kàí7×@ßÛÒT Ÿ±r~ñ],”ÜT s#H+/ËvÈ…¹WÒœü©A‹´Ô&Éôì'aiØX]t]âí>3ð8K®fÜpÐU$þ6î´š‡ô³9íâ@ ®$ÿtÔŸ“Cݤ¸‹$¹<}"»ØÎïÎÁâèÅ« D‘/ÚQÿP…E^¼EPKÖ‚Â߆Qæ&ÚSöéujw·Ø,pbùV¯ªF¥4…Á™,öy3Ф •5É£ôÑ/èw›ÛíŒß')ÄJÛ|Pé?nP"+YäZÐÅ›©H”0âÍT3ãHJtˆB>€l›ÕÞ¿HÑÍ)ú­ZsáIyoÍÛ'‘¸‘>ž.[“%*#Vq’àl ¨(ÂÌ?ptO-*õóh‚×ÜA³É¹N+æÿGÁ¤v¦ñŸQ ~Å$îÁ÷%—V¥à ײbE&•Cp!= •° Ã›ÉâÌ¢‰bêÛ'u½w˜1LUoc!Ç}´o§Šª[ûdp]¢Í|m¿ôÓ3ZïñW£Ô†è¡â)`¨!ß ±#Õ9Æ/O„âüÑ/ƒäa]¯7¢â7“…®Ìk³ëÏ ß’yÚ¿ªÍÇFWfmlÿ 9PKÑèph°D“dw3VYyZ^òvö^L6-(NVÑ,Sá­/ŸTº~.eóˆZ*‚vfWpræ÷hÍ…U­kÒrŽ®Òæ­éÃPøc:ìÂà‘7ÀyZ=ñp ¢î0tg¬Î³Hú5aPðÆu&Ñe“©Ö¼<Ó¬6¡4¦Ht Zv| ?ß×;ŸèZóÔÂ=ž¸S;4g›‚ÚMèZK9ûáÀ_V§õ7ë ¡f‹(±„Í*ƽƒÄûþi—²41¸Â$ò ⣽DÌÄÛQXÐRö¬uici¾9º+–û#r¡²>[ÈBU ö´é„7:üÏO…°=d…"àáó±Á-ô)ÛûsÏÙž{ 7ÿK˜Å®zéAK—ð“ר[þ¡Ý²÷K6Ä/‡‡jk,yîaïØÎœž °žŸ¾­sô´ÆGóåùõNŽdÝÈ(íšeˆvwRu„Ä£=ý2‹§ÁÏ!¬÷0ØœËÝÇ wÝ%äãqfµ‘ö6ùOúEÊ(È‚¥Jî·iv¡b}ˆ·-úûA¡÷†¿HМ‹øô°§¡„¡2¡QN;f«$ß­”;ˆÂÑ´íãvK÷a9hh«ëT9ŸµÝxtèü«DZm’GGnÆjÁ až¾Ø£, ö¤kœ'¿N)ÔYÝ6ØìËp$f%«ÜÏTÍBé@Ä{Ou¿·èŸ.½®œoز¬ ÏÐ6cãhUFšf>!Ê.ÖÁÖÝdÀÓ¾_ïìaØÔk¸r*ذò2 ä!ƒÒp?hØ+€«®iÕqÕÅ·ûî}ddÇsïËz¶1(:oÆ¿è-I² ÿó”àK®a¢£95l˜Éï±çœdWٮЭA Dù"“§RCþÞAÁ–4¼µR¡–ßg–™]i4TX æ ÿ±÷È•å^’bÈÌ (»«†ÙýKUp æ»­©÷ç“*]Ó¼H÷µ ë!Þ–»®þ”*„¸å.µDa†‹&»pNrLÚWž'«(7ŠÝv€ë¾*À4ïÈ*õb§¹:B®Z½¼­ ë‰a &Ëko6Åà{œgò¾©lÝÑ7è _àRH†ë^…–Ÿ^*›·ö„"Ûè9kª"‚ÐîC0#xéÝöÛcÝYÍø8½†Óe#Û£Çr¥¹ã ²IãÀQ¥ äòåæ'YlÔ%hS_¹ö´@ ’Ö{®‡¬8ô’t€{î,FªÁßMØbáOÊ䆧ôçe‹ùÍ^ÄÄ¥îÎ:1Å,[ò» Lì¶{…øxH#DEÒ-þ÷b_ð—u8ä&êÊÅl˜åw A,{i¼oÝ¿'ÞÀø•÷ü±µž(üyM¦ë·åá³ Ë× Á]V¬îd4îy˜[”îÇ’x´T ãq£[J1Ê[›®`®DÍòæ#'’Ün"O{A%,Œiþ{äg"æà‹;OrÇ:á†Ã±ºHLâ@º¨ã®hüö],Ì‹¡vÎO¶l57”À9Oñ"*A°à¾¹È7>n z?'åº4—ã}ÜD:N¬elz¡µ8ð¬UÍH}œwŒÒ’½{ÓÙeÌ[Á±¤Å õdCv*Mà4ob#JhØüC 9Õ‘kÖY‰ kþæÎ>Ë1éî'Ãû §ßÃ&Û@ÁU3VÓW7¦D>Êûbo³¿×ý¬z´Îr Œ¶oå ˜RžsíhŸûåŽIœ­FÀ†{I—ZÀâÇãCšgO/¶Š~]yS8•o…Í{&\ˆÞÙCО…ªÏú¿ŸŸ÷"·ƒ’‰Bÿõù`mè"Žâö©šg g¨r ߺôz¢ðPL$Õ—§ò\áCAïÜÍ›k"*é¾ÉN÷…Ň’é —׋–r<@ûÏâÇ:ÀM¹ LYQÔ¦ÌØ‚{Ñè¿þâPø^(ƒfôPå"¡m¡ñÃ!~ ³OçŽ7oò9ï÷ŸiËÎR¤Ô;òB°ø0¼rÈ¡åÖ¿úD{wfË­\¡“ý@è)Ú­æ)¾D\ùÏ£ÿ¯ã¼Ü‹™ “l‘J@6/Æ®Hs _Ã,ƒË}®A†‹â“KZ`¢°«»t‰ag@RBZ4(ý£+‹>`†ÈŽÞ[…ߦ¶læÃrÜi„Yi7û!°éÔ‘{c#"[SZÈ€(kÙ÷B9 ! -aÁ7Áq´Ž_$Ò_#Ã0÷7Õ4ü4Øõ¡¾CßpÞ L$^³$¯I½.ÀÏñK)âÒª-2ÐÕ¨¾ ÖÂÐ* rE ,òvÅdÕ@ÑѶtîã7DÑ12°ÔɰÈÛ•lW °7%·“o¿©1Éx`˜Qû{Sò¸íÜø±¹ÑÍ«—O· ?JëÓC’Þö0eϦt‘çM…:èD}ñVÝxe—x*2óøÓH`Ód?uM{êÄtp¶q$4„l¤ o¿Aý&5™Ÿ Ì?ÿÈñ°Úu"ˆEŠš©øþœpë˜úËwI¯ñdJ¾,•ý»lˬc݆ 0ÕÖÿ/ܸFËå™%aôm0ëéàk)MG>/Tb׿®øì&lä4~ê_‰ž:ù~Ш „8¸;M;ŠŽC̬元É#k¿þUcÕY+°B›Ïõª40™ð®Ï!ÞÒ—ê–þ‚Å µ˜>…´N¡º6 èŽ)Dâè<åLIÜEpÎ0Çxõ ¾“Ü´â¬×Èb&èIŠ÷.zÅr¸—ÍsáD² (œÇüD™sËknÕiyÛ0䥅Ë# ®œ×öëÛœãZr²þ#ßü‡ ɨ æZÛzýOwy÷ž¯NJµ1 ëô>û¸¿r+UtÛ§û6rÛQðÔJ§˜¢gq’l?$óž«â1I“‘&+kY©õõÖ`@G¦Gᤱ²ð6X݇ã˜þh›\ö}ty¬à¿CÿoÐr•ø~»Zã}Ÿ^Y™ÜbŽÕïË·¤¨·ò²zYÈm-*a~Ù#Nnh™›^Ì™Ua±÷iìðaï Æt\¿•ú!›‰¬ŒÉD@z¤²[Bλ{ÞÉõ[¶ë~&p~Õh_½p~–­ÁÏ),ÄAëbÔlRsì›%Ôù³’_L™’{éfŽ>`¿<ªì5Ëç<;g™I„Ý–Ðø„Ûõ=¿‚Ã/Þèa!«ˆ•#gø]ŠæÃ8dBq’UDÛ¿­¬ƒ„EKšh“Û'Æš†I¶\EÕÊÄw9(ØÞ]Œjý4Ê”¼S·ÄgþÆïÔÑAvök¨Y™^Óf~™»BÂú“@q4üŠ¢L-‚k½àijІÞá5ÙÚ°Úø J;·¶†×&M iv<ãUiÞ5<ˆÞk£\³¬‚UË÷<ÐÆÒÔ§>bÍŒÿzzí½x=%4î9+œSÉ¥)ÇÝ&/X=Ì·øå]˜-pš¼48çYiåMXŽMNp»¯K/ZNëµxäÎñNÈ q7¥çgz:ïúš&ªˆ=ºÏ6Äô)YK~+·’B­]O «(Ó·@3K4ÿ4Ðj…¸ªE•ÆÝ'm—|žS(t•?ECÁa{ŒPþ&%f »³S• iŽÈ¬ MGæ;D[Ôº¨¬½ÝiY¤³¤ˆ¹Þ÷iÝümåׂ^¾ùUøàøÉ皥–Íþ˜NÜý•Ýù?±¸ é ý+Nœ|hÂ5‚B=—ÈG±(䌸ŸY§‚öûlyRþFEëž» @³qhÿ´â¶og·:X'æ(ÙR$=O¥Ë4)Ärá© ÂâÙÖj½ðT•¿Ø8ýÅî[âµ›¶¨WwçÐýÅ3¶]RÌ>?^²w=wËPë÷I¦ßh³€Õ½û쇬%ÎNfeGqìæÓØBçC¯¨1YìÊ*’¶dts/Né´±-RDÜ®Òñû —:Ò:‘ïb8¾hÕÞæËµ3<¶ÍS¿;ª$?YéÛ¼ªSÓ-š«c\9Õ8éV'‚ÅÙƒÅà!>!1“¶O´yÇ¢ 5tÈEÇÝ¡X@„Ñ_n“#´Œ+èÖïcž˜?àçxŒ/յ츔Âv·l€‰BlˆÛ2D˜k£ß©a2€\ Oy‡_‘¢8_–ž€#­ˆ8óóÉ‚¯s¥ézØJKÔOdRÆLiTÊú¾ŽZC1ëHé× RGÝ‘Nj²ó}¦ÃÀ°nOíFZ6JՌĬþýr穳²C•S0ð …à–˜Ý_KdÊB¡wCΡÅ6K¶8mAÉ0-wÉZKBÍ‚‘ª.1îŒ_£}ÐÏÐOϰ3Á<‡b¡Ò þÍjiÌ¢Px‡×£yöÊ[=øÓ‰] C—ÁðûxŠÔ,|#rº—½Á½/›N ¶"µ½{åøï.`{×g²_ݤv£ªêM0L 'Îßtý+lW{e{/¾†/§•ê ìÆ™Ìþ 0¾H4³ÃɈŠfø.qnnÜGTjÜfp7riö¹L<[@:^6øæê)¾ç†Ô…N½É¯Éðp»¾Téi|׺ŸOšCáyº6lIQº˜˜+w¬Dû`5wž.ÙðÊšS4ªà”â+T¸ÉGO{5íZ,>QÍѤFS£ã5jT“òƒÚ>cëú‚nTî–€¿Býšù›íûú b–mZá<è÷ý-ÿœJ.KjdÇ!(¼æ]^$‚ua{ogÞlôHHt dtV`ÑVñ׺Ä9ºGsÑ~²v€Ý÷oC7ê—ï+ôtQ±ôèÝg*@†O­–Ÿkã!|;=±*]ù5¡ƒòäÌ rÃΚ9áømíûþµÛb Èóµ³Í5èÓÍJi­.ÜÛ»VoŠè¨Ä:¹íë'y–YW€LUïô´®‚ázü•ÀκºJ}*ÓbS8þZ|O¢,ð)z¹ƒ¹¾èé [íÄšîÀÔ%Ÿlw²ò!CK®“…o]Î=T¹Õ˜kt:\j­ô* Q¹T‘ä5‡œ¬+È¢ÆåìæÙR0椹l“¹×¡ó>Cõ†"ÈþÐzæÍ>H†î•ð#†X¿/€:µ¿äŸ¹9c•f„Tt˜ì÷¥‚¥½C@­¨6+Ô²ÉSÈåMUѺFZZæÊ`;ƒÊ2*ïütŽéùŸ?¢ëppzø2•k¼ê&mÅÆ½Œ]¶¢E ¯ÂHCœÆ[L—¾ù!x@!oí 69­3Rá¸*½V æ.|±–¨CK:D¶IXLƒƒà®ˆËmzs.æ–jÚÞTçæ5'‡zcœµ—Sž=@º!±H…þ +‰¯?¶ø­´ˆ)Þ"÷ú*®éDh­e¶?QÏí^¬ø˜–´{wüPÐ×}£¯ê,h„}‘ÛrÔ0ÚBÁè¸]¾Eüd £F9ÕÊ×ë_UÛ`…R1¬ŒÇµÎjçkN9å ØGÜWõ`ê…ÌÓ ÷ ѽÊ焸b¤m,*G\ýùKcMë€Ìýñ„{á‘æÑ†o{È ŽL­®w!µõÔCü¾˜)‹  Âä~hWæ‰ÞcU Š’F¸ÃjpÃ!\'%2 Ë+kV"“)F‹‚ÏÃgy8³k)™„]Ôºþ©N3N½bߢP¤aZȤu¡ëm]¬È,­T€fíí˜ÅÁ‹ÏR@|ÕSœèZ`¼G}@¡¹…9þ0䣡gE20è]"•âÑYŸÐþH2\‘m¤™3fˆGÙ‰T#ÿ™ÉÌg$‚þ5Z‘ëÿ±Låé[­ˆ?é‹Oÿ¾6{D,êÖ"qñ.â²¢b5j‰#Ï^ˆ ÝÇ_RŸy±\´¨á;Œ~î“ðKÜÕc{À \^]¢<±]ò%ÏõÌ!ç¤{ËvNlY†àŠT­Ý—c] ÆÑ¹ ¨!ü×txG"ˆ´wÒ(Â.µ@q*ÚYw«¨œéî˜ÍÀ!Ep© J¿ÿ>“—ŒrU&¡9tùz413â¨ô{ßd^`®«¨”kù種œrk}ÄíûÞgßjªª üœÓ2jë|÷ÇDº Ì!ƒ[;³§9Æ—ËU' âTEFQ"™I»Ø š‡°jÛ[Ë}Êͬã˜>:îÊXÀÐSc‰F(]Âf‡¤}v«6uËož~F?BÆ7÷‹(«Ó¡«”>ˆ‚#б—®Í6Ì“ïóòEìgÛÇ^É»<‘†«\ŠÙž˜ eÑÔªBãk€vŒìqãl?M  ½Ö˜Ð#É1ý‚7^„"q‚æ3[Z_6.53—Ãn¢¡ð;Ïÿc@Ÿ"f£­–„à¯v–z£Ž\"xrÈ'd{à?2ÇjG‚N}:èË‘‚r|³!Y86NÖ -î¡ö{{ZàH›ò‹we”[Å2û(Fm9çY”£Væ8¬JÈ2*$îm¡M<Þ: iúèOY|cHgQ4à=xŽ*Zé Um¡¶ÌÆn\œ~4á*o¢‡ŒC!¡׺Ÿ/Âߨ•v¸o^/r9®­G6-©¤«€žæH4üÀ²Ê¶”“¾³*”˜Õv_gg»P‘lWð?|ëŠ q2îåÇå²{÷ª€ôX§/hˆá€RíOSC^I wü6kR„.MApbÒ~KâÅî eÀéÆÉW"íã[ºõZnýôµƒSAx´<lj¢IyÝÂŒ;‰ »ª©»÷D.<£¹Ð_â¿T°iOkN›†À«Õ*H¥­›ò¬]$J±V%²t&TèC'Úœ‹þb:ñ\4¬*°a °Tmk)2ØÇÅð?¡1Åæ²ž•Ëe@ˆ"Dͨðö·Ù׸+¬Ø/7ߪ  ¤¬³Î áx÷'Ãq±%n¸/xü‚Vè( BYS}7i™ ‡µ*ÒãSKû`Ø™"S̵NôÑc—="-(ô}dtþQ¯-y¾òêã_•› ºì+­ÝÉÓ ù BG‚$ÞÖØJÊ`€ŽKÃLŽ˜Ì§!Ôšç¯n,ŸåA&nînlmvÃaq]cJ¼càÒ‰BŸ *gïŽ6£š¹$˜®’æ r‡"̵‰«0;90Ëïã®HÇzÚ<ˆ\°ÐâÜ û!'$rMe}ô©TY½ 4í†^{—,¼`Œé”±R²ßêjè¸~ŠhâÔVÌkÇ5ßEÞ—7ø #¸ ¶…/îÖªš½f’Ò鈘@ÛüÒÙ!ïýÖ&e½¬æ.DÇBÏä—dÓµ^±$X)Ž¥%NŠl¸^zù&…¢á/ŒUóçeEOÀ-â<| Ž5_ö‹ýkb'Ìx¥‚ÀìðwS‹ìQr‰Rfî¦Ü„M~ÈÙžýÂÀÀ%ù_§‚$̑ץks~¡PÀ‡8âÚRôiÎØ>hë²*×­¹º#JOž‡ +1gÛU u1š©†ÉÐÍ¥¯£¾q”*ï°x ÷c ×}–×ö$L`¥HÉ#ÛL­Ê–êÿZb£œwgÛà#©‘ýúQpÊúîn·Ú»²ß²rPŸðý¥Ëäú¯W€ŽoxÇù 4d}iH§—tÝô§ý˜ÆY¾Ỏdö£L’-Õ““43dŠ /ûþ©‡…¯2µ2Ú¤¦S¶€ƒqš×›¨¸Ö»ô;[n>Ï”¦ùc‰*(êÊøBö¨…î¤:51"¼ƒ¡ÖrÅÊÐÒ™ÿ4b »ùÌRmknôA¾Fñ9^T4ÔqO¨¦½ª'‰Ží-ÉnÁŽ@„”û¡«ðšž|^ݯDt€ìÚBµÐµ˜ßTWÝE¾»§Ž{€à°6>À©Øê4Oñ4‡lý.>K;³ìXIÓÆåÞ,Oâ{ØÂ9eQtrõw[B/m¦/© zCQ@Þ:临m“ŽžzÊÔuÆ7Š€4³B­­¨]ÒBP%($…¬g_µžNfi§ØKÿè º>åŠb©`ÕhY8›¦`n¡cY ³è¤ä“¶p›½‡¯0ÿwV•6˜„È|µúÐ0èÖ2tÜ_W¡B]VœÂDñ×A¿ñÊh¯3«÷¸e÷ÏÑK©XÒ7£›ZŠt´’´+OB¿˜0Vè}2˜ ¡}©.ª¬ÿ5ø‰^8F4B>s¼TŸ9CE('iåˆr0¶Íõ¸ ·ßõ—èïs-CÌøÎ½DzÖTlbÊxZPL¹~‹S|‘‰ ©ùÖBQýßB[¶M¶œ*5ÀÄ€üCFú¤gªÊu¯ŸC©¡KÐ] ‚z³7XÖCÇ ÚyJ©¦B%8]Øcž’Ú£öóšÁYÔ+Qø‡°À¦¼²é®YU^?ÍÐùä UùvÀõGÐþyr×¹Ú©­}`!³¢«e-º}Û—»bP>gi•ÝÚ î X/y0<‘á+óœCzvg“hqñS?Ý£tkŸ¸‰jš¹*φÊlü­ßHÒªâ4Z™øÎdŽ]Øw ¹hÃÕY袌ÍnôÜ[޶8Ûz:'¶.©“Y_g¶¬Å–;Ÿª›°4, Ú΀7} º4 ©:C¶Iݧ×[±Ì°—P³Ú÷™?–»àr¬@ä†àL鄯’sj‹dü'¬$ÓkQá•Xœ›?@Ú®qèñL×ì1s5yØÕÜõŽv‹r¯A¤@*Šd0Þ£&¾H¤WƒþFñÉÖe¤’JØï"TS,­5kß1ÅG¨’±r¨ÂýÎçh³Ï2­=W! q»$1ÿòe4½QˆÎ ˆùšT™X`Ïx  âõ¦ìîc V~Á9·je‡³÷Æn€ò©¼øf>î±Q¹·~¤×i…gE©¢ð»º¯º!´H·ô²òRßQÞM­Tvœrv†Aƒb¢^MqöäâÝúqm jk0ü`ÈK¸ÅÀÛ§í©Á»t¦ìÔ=­\1•h'pìKv¢;—±Œe“iç ÃÝFNñ9(Ñò;p”£¢™5êÀLŽITÑ„ƒ5kdæH^ý–e–I¦jåë#s'¦¯³ÕÌ‚QÑ‘ínû(‡§&Öaz“ùÞ,ÏìÐÏgL¸–TŒ ôÙË4›‘¹ª¤ D—ÍtÕS•¨iÔÐsÂ¥Ý$•ø³m‚ nméA™CFûÑ’}L¼ŠkÂ?ÞÄ*ÝIfÞÕ¨k{‡”£è¿‡¿*v\Ò Çþ,‘³²û˜èÂO*ÈùŸ„p GgËâ6šÅ]×£¥ÄVUQ…8¥w…Ôí HF]ò‹¢¢iW Λÿ!pɱ×gžŽôßÿy@w9T`esN ‘úÇŠ_]ïÛ'ý³éqÍèQ†^D+¡7KŒÑìYN‘Ò9 °Þù?ÓŸQí;@åÂ)ûc4øÑýQMæ„ Z$l;Ö ˆ ܼr:6æ¶8cä !ùoÿ÷^tÌB ¤–“i7¬« HîÆ`ÓÇ…B‚R®©'Öõ‚³x±Œ&˜)¦A†ÁšÝ¯à•Œu½ã‰OÎlŠÍ8yA±[Åg­DÇ ùUu×éÔ“Xãû÷°_ñò~Ô‰‘žZôs_Er AÐñçvË‚Oc)©‘K˨¾Yƒdk¯ÿy®0¦ÐnÿÄÀõÏÌŒÙN‡#~®a§Ò©9nhÒ‚fÚP„ìu†ñª'Rd¥P/å[*tÁ0—‹Ý~Ó+Îð>«#ìtˆE8uÛ*=˜ïYø,N]ü糞œÐ\[u™ÑJ˜SòDÉP:+î5dãåAmÄŽµï<™e'˜Jo/äªY™¦7f/¿} £å%ºT{É ƒb\òT!‡eaK=h äJáùD«‘}èS-÷Ã`£.ç‘D,<©Ü7Ôšf†o“æýb6»:¸‰.åRív/ÁÇŠ‰?»w“Ç"@%ß0£Ù9Þ­Œ1cÛ|óX{$æ|ÒUt̘r²ÝƹúÀþ¯êB×VRûo“¡#(ªøý8ÑJ‡ÐUžŒCÛ·4ާÑL_Ø^2¬¶sgŒJê“´WpxD¹Ä¶TÅ YCÎï‹w¥¼>è}ßÄ6³Ì@Эv2”&íoéµ<ç«~›¸ˆÅŸ M˜$¡øtp£k„~@"•ï³Û…TCÔ̈1묉ͩÒ1K• iÊŠA”ºNi(‘­±DÍ þ‹z¹qB‹]7DÙxÎäÏú·’ ½cš™7êÄnæÔ ¿£NÇØ6½eÏJnIEÕ¤­@óŸÝ-‘éJâ_Gí›Î."Â~`£c$]ÍÞ ‹D]QyÙ`µYHo=gΗKvĉ^ }FÒQ¿£^Þu‹Ï«ÿ×~¡ìrIõÉ- ¨¶(i5;î³ÜÆB…s–þÂ0“ì Ûä·©ÝZ:¤Q‹‹ƒPò!°Iy¢¶ŸcäÍ#¢÷ïU±_Du?g+G:5k;ôœ‘K !\h&q1ƒª P9k²c,Zë,¯l—*1H“'í|ž1ltæ_æ-o 8aÛ"C*4#“:`o“$ÊàëÏžwrͪщ9^£‹R«a^°x;R„=þ—çà2 FÂ¥ÖÅšHB²•Æ~í(õÊf.Y¨htô´ }N¿Hªi/"Íõ×R.]?Kéyï\|=Š’³¦ªÆŒ¬ƒ]^´ 8 n"7Kìòá°›WìÔI¢Ã#u§ †|]¾–˜p+H¼üÉ6Tç%Óòðc¾Ácè‚n€À4!¢Ñy‡Åûª1Ãb Ý[æ~Ô\ŒéaŒoz šZ›&ž¥EP3s˜+¶õ²’Œ9~Ø«OÀ¹¶h(Z© 6¯÷–oªÖT6½‚ˆ¼}Œˆ}±]GÜl^‰¦ð<ðÓdêô(!¦çÆÓV<O¯¡»¶£÷rJé"tZVÁÿè³â´È†GJ¾šðw Â#ÑóAgÿÀÃÑõâégH“na4TÑ@ºú¿fþšÕµ×QùY½^ŸŒ§02Žß ›º±6‡a)j¨q¿„>…àûZ9´>ý§.4~’NÑQ½iÇ[,}|èˆÆ'ÖݪÏ=!ç²Ô s¶r_Í×oE”%é¼ië¬hY|ÌÔËQ̶.<å¿*–þóþüTc^šb$lñY™Á9Y~/¼ÉÒŽÇïü5go_è< ‚ï…BÁ9wêÚÄV ‹–¥æîkëgéòmñô®Ð*Ç4B '8ÎÎùñ¡Çf§'Dz†RQM¿fÍó4*RkñdþcQ4ÙC˜LHö_þåÅr­öIÜçèYêͯ®Äj<ñgû—XýÿYÀŒJH½Á`ÜZTJ˜TÉ•¬Î¢æ[Ù³9æö“h@ ¥y^¤2…rÏ@Å̬s†»D ©g²SpÞ©pó½ÖÞuµM¨N`+]"g, N„¿q iÛW\ÕÿÓFÈ“Žu܈(íDùl°M5gÖѤ‚Ü ªFSýã7ýܦ(HCéežž|MÙ÷w·;R7ø_(ZKi¶ƒ3{:oÜ•¤«\ˆf×Ò§´ZŰÔÈcšŠiæÞá…ÎnÝqnuáAL"ºØ°ô‡ì{/Uó·kfž:ù¡ûüìwV£ÀŸœ]ÃiÝ÷v—sicÔSó°Èì,%Z³»¥¼ÿ~Ë-Pñö<œV Ê7Ìí^Í>c2ÂÇ%ð1šíb+«û–’íòK¦/´éûr–fn¡cݘñBÎø±_@T„ÄoÐ!g;YìPhÈlynö¶ è{Ó<&†rdkõ8„£Ÿ–0ãÞxŠò§m%Š*²ª¶ÔÃ}'Zà8ª—01®—ùüf8‰ÏâsæJ%ÉZ³e”á5n½¼ñXŠÂ+ }ØD}ÕþË[ ç ‚8Ѹ¯LÔ"–š›ûB˜Ö¹ðÇ"çèâY¦¥fÔÕÂ? ×ŸÃÆSRuZ)9ÒWÕœôÏáÖO£‘ñÉþr¦BNšÔ5’±§I·c÷°™ï³8!r6ϬiÇ óx=K]åîp,Í'_V5WD-ðè¨×ðŽÉ#rþÎ%õ%&æ…ëogð‚@”¬¾·õášÅ †UË0¦éú©”ëQRë3Ù»Äj¦iDd~`‰PÐb±6‹üö„yòf[º /©8ø«^«(³ p}/H¼j™¿J™F:8ü*ܬOvÔ–Êt¡…:†† Mþq …›Ðú5¯ÛA8˯1¬†t·¨:º†Râ2“ÿœ©†ÞE¯X1µU”òllàÑs9M•(3)ãRmá%-N.¥ÄÌ¡½ÚÞAÄ“ªV1“mþÔç¹ãÝ(ûMqýÐÇ PµÅåíF稥R£m=ÞZ1åhI\Kz§T]¼„_[.d;¨4|H;V0¬oÁW¤?SAê b‰²7¬¥{|nƒHzG1I†Ø%Í;álûv ¤Æ—¢34?:ÍÉÈ[ à(±È’%-ö€™»*!Ož DNj{ÝœÒóñ}[Ï´"-›š·á釉èM¨C²{Ò½hD»³GÀºgÈYýLböÅ$("%û¦`?MÈr•ÙÈ …9¨Òõ”Z¬÷Ø‘Vº°ï¹îª*}!$""V!öôQgáÔi4£èüGMÜiàöEËo—cÿJçrDK4ýݯ*me91Á(?Ñ|¸ô¾¡'Ò4Í,œ» ®yfIªQU¨Ô1וø;ôÛÉ@ÕÃTè‡oŒæí.>Yþÿ#èóä&®»fa”‚ Wýþ囥JÊ?ç­â!|ºPð×Ò’ífNI¨&›¦·øF…i°ëÛA—[u´L¿.D83¸¸·«yÛ©å"0Ï¿ÔüìUÄæ¹þ?vÖR6Ðo1­Ø5”‘:¬UeM`o/Ð9è¬Æ[.¤ GxØS{ü)È [ÓR¸Þ5}€ì`ŸHŸã]Äž®¦¾ÂyS:¨ò`¸¾´6OL7R”ómò/ úÂÁ›qú¹YuÄ–Ô6Fœ§ÏЃwÝàÜý]ïÍÂ̲p±žjà{n(Ãgo<`ëG%“¶ûPDßL M2 ’…W¦ÎZýÓ¡c˜p"¦¿É-élDÀœPn|¥ÉBo†.·U×<§‰ÕÌÏê4[sE¢ÒÃ|œ÷¸®öü Šr¶Á¥ÙÈÝØ½¿M…úG¯.Tœ6K”E錑¦ÉRÛ/6µÈ`ƒ”œ£w0í>¿Ý-ƒïH4"÷›çâöp_>D‹ Ø-ðÏ#² Ôv`0Õ¾>¯óWUòÙO®øžq(y©5ñœ7¹«kïì{Oóê¹k¡(ð ?ñZMw… ÁX˜ymBÍ{]ô™EEÿº+Vfüt½7X=w‰ÜåàØ £ uÐ<J¸Ñ!*'Ç€ù,Î/êy2T‚Þ‹ì;æUìXó`ÏîVÀç‘a¨|Ô½71Èj­°Òò“+“»—Z›`Uq¬¢¥ñÉ¿%;¶I®ö<£ž‰¿L— ‚á‡Þ¿àº­´È…\)ÊbI_£åIY7YfA6^Ò“¦Býé£+¹âçà›m8e“^´j°^‡`ÀìËmÚû^ý›`C!Lë˜Ìõ>Y7ûÁn´‚Ü%d‚×e52”_ÖŠzA?•­ÿLw* R)º›·ûñÚy2OÏSã½°Tý¢˜ÿ¦èÞ Hê”zÐ'ï£ÑÓ²Kò³DÕÀë%*lÔ*Â,¿ýH3XÌf/-úì‚û5? ÞØœ2K£G$Î{·ÑT¿hðaÊ¾Š²­©W{B])vh®‹ˆ·™¢Xâ Ši!46yr*|¼¯«öÆ33 §Kr_’»¨8v“ùþ>xo[vá*ˆ6•I±¶$ÙÖ¸áü·Dï’Õ_ìŸ*u ’z°ƒìêR­«ßëh¢© MÄ'É=ªJVs8^Æü½Ä2žÆÜ–îÀ2ï"94𢀍õYEŽûØ!À¢ä&¸ ¬²>†ޱ$d.ˆdú¾/s/ù;¼ŒxÏ ²ØÝH‚Ä XÌ‚‹wn×ÂèMXÁx6‡$°)c×ýðú×!¨’B+Bû¾‚½Îs]¨Áã<^9f¥Žm1r oƒ ò›Ý¥×£'šEBÛ ’؃­}”Ž 9qýG=ÆôÃQƒÛÀÓÏõWÅ8šØr7¼Dv"ÚÚ!ÅêKº)ªêG ÅŸPƒTẪÇì]ÈŒ›…F÷èÀPLèA¾(á{w!‚ËÌÿÃVp9n'œ¸;{VŠ8NŠÊ“õ²ÂçTöò6ŽÃÁêÇFLï.)ózë&^³õÕë’,œ ­ÒÔ‚ÚeâÔë(ÄÔ #†Ñ|ÃP¢Å8ÅsýÛ ¡Á__ËÍϱ²=ƒ_2wG +ä£npþtBÀª.Y«ü¬u2ý@&©Q=ù|Ç'FKz²Ã6ê¶Dùd¸e†/¤ÀÒòrUèq«GN1o_õÆ7…Ó:ÕZP€êR—ø#´­ »òtMwþׯb´ ,|`±‘tjǹü±3—~ÛÙ04ƒ(%äž“tX4eûä¤p`žsbî¦÷Èh€Äà,)ï2Üq }øÞéñð5@óRû ìèDNà%9 Õ¸ñý΂f @ðÎÚþQ~•yÁ·ÞÿŽl~/¡£6B¬‚©mS‘~/hhd‘'G´Ô…Óz›;Ýt0)»(¨C÷sÇÔ K±âÆ^g*Zq]dóÒ"Ò@:ÎüªshcRf9¢Ñ$}äµÚ"Œ#úÝô ‹=9În ÒòïìÇø cR Ü9@gÊ4¿˜Z´F\ñD·òåxT$˜¾,¤`kò+ÂnæµtY¢·«„ö»C÷G4£¶øTÄD£Ç ‰{ 'C£. ð³µCv²žpx+àNN÷ ¶£K6•ŒàPi;·7VÄ·;rºËþ 6ΈJ½)¥Ža£Ótq#±¶4 æ%z-øcO…Xó-f½ÃˆúG©BÛ±£:9Vc_.øt'¶ì½Ø~Íì”éú<¥©øøny+o¶JI/•=ís-dìÏ:6FfüØ¡ áÈùTeð½y›G ’͉v…½7psùކ“0¨¡½ÙË óPo)v5‰åº—¯Ú]²xå#²dÙ—$ÿÿÖ­†FpÍŠ«;\“ fÁ¥·[ú}4ÉÓŠŸ+Û€JAy?©@9Y޶²Ð‚h8æÀúöÆÅ1Ÿh…ARõþü2<®/šm„áÉåiG‚FhiÕpɯ?s »²9…”YáqØá£Á§çbö ~ì$e^ÈD¡ÿEÄ. {âLIš¼ÑÙñ¬à‹e»?Ym‡§í9&ÌÝçÇÅp2%ÄV†9)h[˜ öqÒ;à Í™ü-úMÝÔ¾yv„j:I,Æ}tÈgCí•™ÏwJ溵Yà)²¢!µ 5YÀµÆ MìàaP‹s–5ò´]¯ø[Ÿxûº,ÒC²ðµãF³v"yh뺋m€¸ýá£å®mVu퉙‹&CKžœT;˜ßWÖ-£Xœ®Á.\=R7€¶S4vü¢ #m(Å|JzšXÜ>ל•Œgâ´#ð³ &6Æ’qÃçúfž¶™Ò¹ ÿyY³äº;†¢¾oÀlÈcbħ’‚§ógVá h“ÔlÂ ÏØéIh ©—&œ0ªõç0¦B1hæÎt×K zàØ IgxrÉ{IV‹aÔ’Õ벤€ñ[÷Ssp#NÆ\÷í½}@0¿¯-5¢´‚¾÷Õœ•ŠtÍû^^ÛÛ̻҇­¿a¬äÙ~+R•?¿ÏI‰¨p}šÉH¥ªä„ÝuùT ÓYUÁúM-œÂ¾K}»Qo¡)ÛÐè‘ÂèÔˆ¦KdH7†[ ^ïU–3að»F¹ðu¢ò_‘´“¸tüú\yŠ¢[Æ4 qS €êpïÙ3«5q:sþPZòt££ —¡ OéÍ.Ú¢Vâîð’òP³ßú½ýx ZO´YO˜¥ 5%*L1›×©\^|÷Zë—ùaý^^Aª™­u•ÏÝ+U¯øJtùaaòÚ²ó«Û"¯>É ¬ZšÕ¢árÛ€€L¡1sŽõ˜ü JþÌ^Ö컃ùûÆâ¨!ÃvÚ­r““@ñìÀädo/‡œ5-uÏ_¨~ƒŒ¿Ø±™ãuzÙ‘=?ÍÅy| `OFZ ¿L£Ã`99ÈMžüm·PÌЃ¾Š_ðç¨×Pæ †}U’¡$ðÐêœ4Öñ‚â°˜T~={Ôl¿ä¹yW®HÈðîVA<&Ì7ý9™MÉ»qVÃj+ÿA cÜ"•ÑÙPóÔØ^»+ÓÙ­Œ¸ië×íÒ×}ÙØ“¹ª¸Õ‹õ†"áB=-C—¥{ÖB^º¨ÿýâö¾ºEɼAÝ|ÙüþQóâ#߈Y¢”íéögA1öý/ $ÌÎ솤©6ƒ‚)ƒWÄåÍZ —ö턦@Þ ðé¼,ê–øgÂ'¬U,2˜AkÖi¥ú–BN*‡ÔU¸ýŦ Žäf¶Óìm“+sÅo«>MñÓY¿¦–pzC,Vµ ýl `Ž1¦¼§ß#fÖY¹Hžëñ<(x¯Uw6·Ø¥ëç,~b—*5zü2?}@v“‹úš :{òtÊT¤Ù;m¨Ü|VLCžk•€¼w/Ç].Å¿õLQl4è7y@úŸÎ1f㩯ëö…¿ت<ðï\P¾hͺ;D15£´ K?æû ‡¬¢YPÉßijìñŽ„(Zìœu¥€¾דžC’£1‰æ`¸e_rr~P“Ÿ&ì7¯xÞ¯0‚ôpt®ÀgéêпzxG{hFÅ¿šnžÃ ¬Ö‡ Š2ÿ®ÙKó&ë€òÚ«¶ Ã4Ê#ض)%Ðýà›‘±à\Â_"·ª<)mN7PÄñ¥¿ Ñé¨DE0šµZŒþ- êyAÜJIJþ›»VÉLÉ(ò”x{̰J¬8)ê‘% ¿ˆ<‰LwÅds¤Óþ@/bŸ>pZáyv’ú„)˜VeA=éÛc£0&:¦üMvx/¿â$TÔ˜3;Íp[Âë•>}zŸ†NÖÑe–­VÏ?Hhö16(}x?ä)+@@93€DR¦ØRùblz$Æë“u½‹ŠÁ-è€8d¶‘§|¨ŒâiuCÌ‹‰‡ª+’ÆöÌͶ¥yÐy_ðñº¿>ÛÐ1F#;Ñ:<€ ÅHГ`µÎ4¾¶¦7·z ¦{õt‹‰‰ ‚îC-U(f•˜h3‚Q<¡Y;Õ’<ˆ6ê7ªyð‹9‚‡™4ôãÑPP½âÞ¢æ'/XÛÄ\.ŽÅ–Jl°Ù ìÅÝs»¨ˆãGx;(¸Òò{mzðÒâ”ΟH'ÉN2,d•Á¯ °Çœx#ÜNø>ì9µš]Fa6«7·àæ`yæSxׯgY?_œg(`æ†]‡|›Ù($Ô?5$ ÎÈJú~²ƒÈ #9•̦é!ž•J±Nê’ÿZY:¬™ÿ˶ä mÛYòu½‹öøK4î‘l2âcN±6m.A7Ƴ›ÂS¨œ] CØQ¼½Ø?¡"ÂÅnöµýàWÏÞ‡?Ùïu)ÀNP––ÂOI8Í‚¡A|‘m Á’7Å?IÌ9s’}R?õP„^f…ljïIo½K·±ÝOl[-ŸÜ*²*ŸÖ};©-FAF’vÒà<<Ð÷Ѷ)qâø€_’^dÄÙÜ}ãM&Ó‘}°$ÝWka¢ᔂÆqß ™z#ö'‹åljƒ¨ YvÁ÷Âp"™h=˜ÎjDZóÓË2‚ÐG™I~*_Ùë«¡öS,š“®C9,“æ7?ðó¨SÈx%X¯þV â#¬¿ý‘(Ê¥¼‰Œå,èG¦Ô,CákÄò J~ü¼èq¨ø7ÔÜßÎï%"ÞŒü)ÍÏpEsìPÜ„qM«Ýýn+kN†k¨6å(±QÀäê3Ö³ÇyÕe"qÉîðpˆ'Ùà(' p_iǽ!|8b2=<>;ç=£.\°4!¯ÌP4:ÚÉU|³äkQ,Tß“™ÑU]1šªPÉú“Ž£öõ]zç~ðê«¶n‰7îO- E¼¹‚èUgWÂY·GPõ®ž:ºÐï¶àñãK˜r2FĬûp ¬’(w¬í±îlbˆ˜€tÑŸ§lºƒZéòåx*Ž÷ïëÓ‚Ç´¡äàÝ^Áï€YМÖÂÜÂ#_Â9ùYà ]ôñ7V ?›Îä,{šSðwO‡jËs¨G•Ô~ÍT½sáWýê<Æ5“¤ªo£ è…aýaǪr>íü§¸㸗 ãj­&‰Ïrco$8E§zš^æ£c¬eØ–Bc„ñÈVÖn¥¤h¿7~¿Ë'ÛÊ]0ÿ~íß›dž’F&pñ9ÔcÅ™ç{å@J²œ@«sëRM9Â`ÒÒí‡>)•?ó){uòŠqÑμ€dƒ=¶vÉUÖ}!eù£ ‡5Œ4»ÁOFµH½Õ‡:6"jª¢ša‡±®©šúè YkÐV°è/ýœÈrñ—:KM¤?±&Æ:w{ÝŸ3Ô¶’#™Jq^†dŸÊM”¼÷ynCïx|†$X˜ì²°H¾X.›È¦N3ZÆäV «u½žN¶3æí ¼> Ôßçi yMõá;}ó£+où!KgrûOŸñâø”îÔ 6¦¶aÞ”`ÄU Ám¬<Î<ÚîçÔ£î9,ã[,œªׂ 5?Kù{S‘‹2š8:6mñ¾¬§°uçýåɰÅÀ}¥¯Ëƒ‹§¬´Þ_àÈ X¯;â«>zÄrfb°b×çVãʱaxrà`ÕözõõS"Ø9ÆKÛÆÓù.8” vS)JOÇÓŸ´(>p@ÝT[Ø ó«¥_B¯TLo0¶+8ÜÙ†Ñßô=E‡Ñ;Grˆ?ŸyžXP®#Å<4ûqà_„ç¯^WDÚT˜ÓhF¹¹²½æHYáš¶¥ðR*“|p¬ÆTý7ý/ ‰®óùÜóxÞT1W· "Õ)d¸¾]veñ£GŒ)¼vü1¢-ÃÞÃÔÌ£–(`Œ8ærçv泪²£šÌ‰ÂqÄ'Œ ÉYLzy¶bjpPcjZ‘펵Á½PY8SÛ5´êÌܼ]@ôzuÚ6­ÁNîÑù‘C¸¿Å;‡¶cæs‚aÄ„)î}?…ËǺ·éÉiaÃåɨYƒƒ×ÌÖøIRiyaØ£»Y“î$ï>ÔÈæ”Ħâbߘœ.=ýðWzªLÚ X­ RÑ|èÖ‘î2ûfM¯ÓìþNEOŸê!6·{˜v¬‰cþwÚzõáaD{Àt'Šê}놗¸uß™·éRV€}ºç<ÖæÑæïWu ¹PxõP|³†¼¼ûZ?5"ÙÓ“èhŸå¾‹ÈFÈËQ„%2퉞œ[ùÛa#{á¡9*C»>–ÈKœÒÓ°;5I)ƒÊp%Ê%Òý§z¸rÁïä/â /÷¥µuAÒUÍõWÑʽÄ(+g+:Mn•ù˜“„ê 8Aù–â3*d, p˜](Ý÷"É»”S‘ŸæXA¡têûòûÏ8ÉJ`|vAõÉž-IªYy¯¿Ùdã¨ÆÅ–·ëMŽ‹í xœOCûÀz@ ¯òv4ÁìÍ’?©m¿£%ðßm•ƒg|fÇâªgÞŽJg&Šž«0€PrÐ~'¸éš~$£¼á?j²zû„ööÕ8Ù#ýœŽ? *:„‚zÈMmÕõÇL_©ÈnØX5ýÛtp`·W2ÑŽ¥áK)L^RìІ3SÈ¡¹Læð90Kë/ ¶ûšy׬ +À9†ß¢Dª'ìÑ"ﲜóöJÈÃá•#+ ¿¡d5@\<ú @Á<΃ÄÎV‡0pOÃÁ·qÓweU– [žc¾È ëWÙƒ/ú$ÅúÖ"â{E?êË„µwÜÕ”ŽÈÇéì:Áì úý™iW⨤JJÓ:<¦Éá³Òqú2Õ¹A΂Ù`žK)A ³Wî3H@ö ÌNw›¯²c¬bìÓ_&”Nü€aRÖG@#ÔøÈPè"¹àg’âfô‘fjnE“ GÊ}>Ðè‹d_ßzÑÀkͳðÛ[˜•וª?ñKâÍzãÖ°|—FÑæ\Þ©i¶ *”H2þÅÿ±ÑóÙfº…°ýM ÓyxÖɇéì‡ë ½´•pÂt=x¦}ßúYB2m–¨Nv¡žÃƒ1@WøjÑüx"ÓŠÐhÀ|òœ58ü¼ŠV~îÔbåSò¶áèëΕ,p]`iþA}GÞ]£)´ žWÅÍJ‰ØŒ6D¹¤ðJ4ÄØž-` ëäd rð!Ëê[™Þ.n¦­ÆÎÙÖž£ùΔò¾0»ÜZÖʇ«PøÅ7ìab“f¦R‰Ÿâ̸ÎTÕ¡NÀèÔ Ä°dçIa1Pã¤çÿÛeî÷…ÔÐÎÙÔœ°ÄJÃhz%¦ÐYl$ˆ*gªS÷²¢p6£9,ÚÒ{ðV/W~E‰ïL&˜ÚUõ-T8¾èO/[ÜM•ºÞ)ò²HX3¶#˜y°°q ,¸ðJSîNò7[HX!¡ï@ì|)ÖŸï—›¨ N©7ÿ.Å7Z"99pÉ]JF¤"¹î?RâÊú^¢·R)JìÇÔ¡•ÕÌMmD¿¾wêÎ,E䀬£JbWM?Îþn#”ý®•æ¢Îyé’Ç‚;Ól÷ßO¶;Çäû rÁÌãòÈì [äì=/ ¬Ò 4—oÛ[›ÿqŒZ·êOÃaÙ=Q©–”o/I%„7‡+3Ò$§l¼y —¡­P¥fÅ¢% £\§ßÒÝ@C׸Çaº¢ÀyÉ€æaM9äøÏRi@ÊhŽDJmbRºsØ›ãH“»ãS§ŽaW£ãm-´¤mFÒƒ±|Ì&B÷}õb4ö»Ù£÷¢nÀåv;é§ÖîTæH°)áXÙÑ„SÝ£³mS2ÀA"þ%Ù>•”Ç„4N'´a††÷Ƀú¸ºh£œÇ¹ÒNõç› #TÆôcÅm¡K!Q ⬫zîó5z‚3(Æã^¹Ö(‘EsVe5ý[†Ö#YaÏ™…?]¨tgÇâBÖ´_s`€S¥¬ ½O¸•¾‘ »MƒyøÔè@U3ý–XOS¡(S;Ø¥%:u}z  d#UÒ4d ÕÉVt|´Ñ‹ ÈÐUçìò‚󹆚öò2åH’«Xg\[0ü•"àZ$·ÂÕÅZˆa{®=ÚEË%Çp ¯tìþ“rY«ÚVÓh ¶6S&ZuÝâa_å šƒ+ zwsSbÞĨ³`yÖñ…ó£uÛTÛ”ˆ´ÊÒ¾$嫸RwÒà:K#eðý÷‘Pªéƒ¬?-ñpõ_×ÐÙÍëº>åt>”9hJ᪓xë.Œ ÕOgÇV¶MfñnæÞ„匛]¢‘¥RÈžÝû,-ô†dêJ ‘yÌl%è·§­k=Ý5=&R–´g3v\óô:]«´>*­“Ôa#H.:›—»ÃÝæY¼A5E—±rŒ(ÆC‰< Õç*Dš†3ÆA”©>†|^è8‚4sOÀyé!”ðt•{(Ú™W×qÜÝ?ÿ¹Ò8¡ ëìéîä'†]é°)â;U&£fÛÆ†ìÊ´ˆwžK3sÁ ë*`„Pß.ám ÈŠ\*Z‡+Ô×WåèÖ­îÚ°êÚ›äæÏ€: €C+t¤Î ¥L(ïœâ^¾ê³5Fᅾѵçß÷#Ã`0VïyXH¹-‰Ú™íÊJÏ&©ùÇ+«u´H÷$'€%ùGÙÛ>¶û=n8ßKŠZp«"Ç¥ë}º–Ðݯv– ªÎŠÿXÛ¿È'‡[4°Å(˜º/Gò%Ë”Rmd­‘ßñ«³I$ùºBN¯ôèe#ô/\‹«ÉJ Gü´ú)—©=ã r¦2½å¹$18Ú­ —é};š´ñÌh(ÙG!Üä×Wkpƒ‘^%«šŸn_-ˆ~+bº;qÏÞn¾Y'R+’i†_­ -8³`ûxž®Ê–‡²x€„‹Ã8¼®G›Õ àáØè¶ñ2å™nm^<Òðþñ'á‚=lúbÊ]¼yæ:©HãÃ¥ê}ÑSWÆœµ­cCï+ªÍ$Q`­zc†‘cA§,_8Á<Ý×e(@'þJ6ËP;ƒ, ˜o&ºz|ê—¶ùb “þŒE^;ñßkb…¾±³cƒmûšš1ž)ÐäHMê!o$¶íu;wŠÂ[ÍNúBÊŒyùá‚bŽ÷ëè{¾ºpÕJžQéqi×ôòÝUu\VU5Vá©é“RG{³"3fGõ­ìöØš…],G8¦¨ÿmyz VГë™äSÔ¶ÏëAw¸ —)„‰¡l">Iz«î]‘…fé *zŽ74S€)K“gp[A¾ò‚¡…yŒîw»£$À‘‘³Â%5ÿIÛÅ,Ñùá¾õ,4‡»‰.7S'gœ¥©ö(îá2ØŽâbØÁ¹+ñJdÄs¥ ´+³ù¡Y´†Ÿ@fs&H&ÒÂÃSO;øÀÞª ‘¦ko@>ÞDÇÌéö"£;ºtOk ¦ uÌ.º& Wý´åÏ. Uô76”™ò5¶—×ex+¦W¨¹5T4öÿ¶U&©­ó‹|Æ·¤{Ì ÒP/¢Þî¡9L§V-¦ƒ‚p'ïÚ^8PðU¨–øcñm va´8šžäZmg3hŽ â…Ð2~*Ë› !£½°ÅȧÇ2WIÀýíh,âÁ2'þɃ‚š“š)Ù¤ü@¨°ßð4Y4𗨍$2^:Ú‘3€@¼™å2ÎYëRƒé=kï8Õü5P²2Ô:ĉû;z†±ŠwyGá¿p³4˼ûÂu%PQq€„*óK¦@Œ¾¶ù=$€M:íç†YWP¨h} ³(Vû4—]WR#¢ZÿÑÓ$=}êap »>%ö'8äRÚ•;¥m61ìb¼;t ~FrEÖöª2äl«Ê€a7É«æe_Œ;®^I• yLnJ¬­ü%˜Ï¨›×?!vÀ0˜å2̘ã¢Å“¶ŽøI¤Ø£ÚBn×C±hÿ¾#—?R[ù´ síiŒˆlbÏX%lzçþ7ØþÇ:kD>©ÿ1Ò'ž6Ô{%v2?ƒ:C¢‘LôG 6q?÷hë1á<–Ú4¶Ž¶óSœÆJ]|t[Ow yá%X›ËW•Ĝݹ²*ÜNÿ´"° lÙ寷ÐÄE\Ãñèœçw<2„IþïÆ¾×3ïŸ[Ê-fÃK˜øþQºŠÄ›Í«î ‘õLþº+… Æ­ƒÀ.´Øþ÷,yjWmPE.OyYn°¸öicŸô–©¼ÞkW…ud¹ódc¤å…¢µ~ùÅZ⬲5l‚unó™ä5ô„fwé&&žn8K*°{©l:üj)6‘ Ǥb lìQc+Z=àåwªñÑ1ržðÿ¹GkãD“¬aGåƳ¬âW1¶¥Œ6½RÕ§µf`þÙ`m2ð|@- Ü#ç‰lÙ9Ϲ;=vA¡Žw~à¡+*@3š)„dêG6ížyç›ìü T¬Â¿C…bo/ÉZÃŒŸ5ùñá×s›ZyŠCwÙfÙƒD’”¿™z7µ¯ZX‡*`*ô>KRýb»„>­&Û~iÑžÞ_—iô*If”Ò&¨ê*xª[!Æ9‡ú®çN˜UÁ?•M©ìRð„ÐÄB4üÞ\ȹSO…²a’a¡Høá‡m›QLÕ\¢H’JŒUõ]í·ŒÁWÎDZÔ驸û’ÝGeBÉåµ”$ûŸBy÷f–cjëv”vÿZÜlü†°äóøÕÛ§ì‘æhÈô¥%L+õxaøé¤8ÅÑEYª$”ÅÝò§at]ÅÔðÀ«‚÷?éÝíÍ$gvä÷£×‰Ö•y°è,Ïä›â©c§Å[…#Ñ»N‰6×Ðs­}ãçÑF£ Õ¶Ûu°I5®B Ê ÁwàHmçš¹I©§‹æðUÒ?žêúÅœ¢+l–O Õêv’'Ãww­YͪWV¾§%˜4¡¼µÓg´$=ºA¤“¡Q}ð26³Õ_‹ßÜüTÁÜ„j;©k­±~%N4‘PèQ,Ú­ŠøËe¶àkx ^nT¿ê¼»}€[<§+æ 1(àÁN®ëè örž%k_ú£::¹”ŠÁ‰óΈœøÞ`UžEÐ’7‚¤ogÛ©ô6bØ;Â9ÿÎ7¹´é%D84ZR£É3))aÍs¹Ä÷1õÁ–ZZÊNÿcÉXõ¦– Ò 0Ò¬:f;8̯)$ìî È¿¡`¶Éé6ô‘”»ôú"® †°>qäØÕÇk‰P ¥jåñ p½…¾í}ƒri!ñ'Š«Ä ö•ë«ÁÖCÜ»ß×{­6fÒåŒÿù<+xeô©Á?¨Ñ?ÅcOab[Õ@‰îh‡>ºU£çZÆ?öÍu#Xb<¦QUÒ q4p½2ùáÚz8ä$ŽRõ€„àíäld@wn9—RçÊ}æj4(Wnxu— îvºÿL¦ ZÅAã×5Kj$~nI—Þþ..ãY¥-Vá ³ZÎ8C³±áá¶P’ËÃÅä:ðD2<ñBܺ$³Euj~rŸgÁó%2îf¶˜‘ÕëÝzõïÀ„ˆ¾‰¥ñw’f^xy%fÍ3‘ý›ºÇv,^º˜Ò$ªÉ{!É}µÇà …lTÆ’Môd…bî8…k»7JO%–àÃÔ¼ðÄž Án Ì¢& GÄÌcÖÄZ7"å¡WVeT·k)šaÞ:ÆROytRª3·!BIiXžõ= å¡ÉŒjðw›çºi‰V${È·Tõi(ÊýVÀ¢”ÐÁˆ þEw‰¾Rj¥Ñ±˜\€ß-‰*Þø}ÌR¯$7yÂýî2.ìzcš¼†Ù™¡£Á1e¸Vü9ò9=Þ¼°‘ÞhÔE´ùûqåw^0~%;Ì-"S93MX\ßH+‚Þ·¨*Õ–€°ì€ømn×Sø´êàç(-6ƒâkŽÿל泽@9E¬X¬Z«qÇ‚Q²Ã$Zt‹1^õ§lÂ5&MÓn5èªwùxfãì¾Å AÇŒú¸™î w(ÙשWùôïšUˆI†„R¡1žû¤ÜD³Í:a9YcíZyoàûÔçÆÓè?3r T ñ¡ÂÔZÝ#ªÖ8žØë{+rظé>–ïKfƒ¤ÈäÞÊVyÀ[ã›ÿl„'|’ÕuØlJK˜ÊË:âÔæÎÍ~pÍ/k‚?øÔWPÔ›|äU Jõ , “ñÓkw3`=4s(·ª¢WE=m•/ÎW„öV]ÎÎ&di'rý)º'ïç*6|¡ÀTVïW…#q§Šè`Hü1UÑzP2Óæ= „q°Uúäiß•â§Túgx>.Hîu¿g?¸É£pòŽ+‹IDLyÞÇ„À¢ˆØùÑ´ZKz£‹‚éh1 ï÷9¹åŠæz¾“vþ×.þî2—QÅ}h{ÐL¤ÊÎÓàRÃ%Ï]GY9õ8;Ua%áhÒÿ {0ØW‰—»]«z”­÷Ë IaÚó]˜ÆÝ/ÝüÚÇAbÅã’–@딀Þ.[z¾mA'ê †}÷ùMÍŒg1“ð¦U+'…Ùr¦@8Bàœ€³ltö~)¤×4’ÔäuN;ƒ0E U´ÐôÀùHÏ( ï5“Ýå™þ}´«ÿŸð\Ö˜¢3þ€âغFoÂí«x­V€ K(;fÝ)XúÝw2-‹|ÈÎãË’Ù\3Ê€C1⢺…Ø'‰Âc"ÛòŸ‡·Ãs?BêΜ–ðôJ/Mâüi>b“湬»ÜC%1&ß~7€´4wÓŠ Eý0‚ÃF}1 w€‘PbLþ¨ŠmåT(V~ Ê UÜ §Ÿ:LŒæ¶eY£,"ï Ç2g;Æpi‘ ×¼}7âm »Ñ'®mËOx–€¾²Ùºƒ ±Tò‰ÅÞBØÝì¦"T½v¼×<™»ú^v–ƒ-Ûá©H÷ªqÃyÌÿ°Ë"a,¿?Ù^'j4J/Oç¯Á’™óÿÅ¿°gh¨³gX>M~­‰Ønþ0ù‹XÒM Zö&›s"Ù®ŸöÌYëÑ“ãHÜýý00îVuwº¬·´ÛФ# ¬÷úÓpÔ–ÃzPú‘ µH­C\£Ò†(Ü‚›¸ÐȬÞ)W¸EþìG 45Æ‹ý\“þ9Lú€eò—Ø* w½ŸP»DÆU bÃHPLÖÙ²Œˆý rݾ“ËŒm7%Wè݈Yã2ŒUƒ‰ÁÁÍ—ˆa¸¶ VZTóÞµ^ÊϺ^Þ1.ÅuÔ¦KÞ¿4Ž;š®oüáÖÀÞ$M=´‘O%á£=/aÌEè$oÝÚ_v&øÔ¢ƒîN¥«N¥¦mUt,ó9ÀÍY òµçÇ1sæ˜ {»í5–x9MaD³ƒ—•4mìÚ–k›¶­þ(8=ˆƒ‚ä•^½Éy‚­píª²íhÊÜ@æ[}MNG2KJšÓЧTœ[L©¸K{‡P¾ÐÀhøâ‚‘ìQòÇßPß' ÓÞE¦ZŠ`;k›¢»$ÍçÏ%IA'÷µêh…ß`ÄSÅ4W¼½ÊŽá`¢f^‚ Êõ•¯ïóHVßußôW˜¿+ï5Áé/ž.ÞXFG)Ĉt%U;yÍùg¥Ë+®ÝŠ`rR"R3¹[»óÁ²B‚7ž#)6ïVÈ™{¼%òÙ·6ÿÑ‚Q× ¼ò¬ÀÇ’×Fåzd$Ï…ûŠ©XÎä½Í+1cíäŒÉ x“ëYD;’¢\è0szÅ>ù¸z¿ð¤É©€x2÷@]€nTÇäLîÛ~ oäÉtèyo@:Eª^™•ÇÔÉüç¼áº'1Ÿzؾpñ€V4ØPÂÓmñxä¢ß,®& ‚ÿ“‚u&z Þ«„WWók¡LëøÑ tlžl@Ž=yAur-Ò0þˆ–bÔ»k>ƒ÷\sš/ô­ë æw“NÀ$%èÆDè–~ÊÞ}_Õƒ ·ÛµËW{-Æ¿(ÛãLíkM4˜AšUV wxùꎔ8ÍÛ–u®›!øc~”G+Pöú‡!íéHáþßq|Œ¾eÙÅÇÖ} žJ"¼gã]úÝ× =Ñ7ñÂÑ$ƒË­d=ÿXÛsÎ)V“c‹Îl¡×Þ,;Q  &‡5#í5fð­W7ã#úƒ90½qB†ÛùÇôÁƒij‚  ÿz õ¡íåâêϦ•jÀ/aÛ÷[!1Lb½ü"È}:¶Ænd$à°CºZÀ„ymLö³úËI«Ï @…ãÜòöŽ M—Îþ;Nzn‚«´>kÞQ–ø´ãä.œRt]s€+÷ô¸;|²â?ð™Æ9}ýÌÐ#q”Ú»6:æ]X²l?êíš™=øR½¹gùé4ªÛù;B6ÚÃY#ÿ]¦TL¿·kfiõ²Ekðâø˜–ËŸn¦¥Axh·ÐMÎÏ‹W"xX·Rš{¸½Kz?ȽÒ9;º®àNaÊgÙgZ®tâ#kž Ww:‡1ªaÌÑ•j^Ð'¡éÍX ‘`@4#‰ ?úävŒ¢y¿ö7ÕÙ.jÃ/þž{4ðÀP¡Ù^¡g¼Óæpºä¾ËŽ•(x©©ä+Ýp7v—HÆX%¨þ ¾Ábqó¤@ù ­ÀžØ»¦Ãž¢_û\¥Èàðù‹&ûIŸlþÐ 7˜â±ˆÊ6BSDz\-»¹¿2 þ=»2Ö¿e± ÷ògÑã?V‹ ÃîÓŽ÷‘þƒ?Œxqˆx|’£ü™Ë÷ü'ŒNŽ13AuðIºÒ…ûŸ´s~;/l¨û–Žá=i &3öš4´ÿÉ$õ°ª—6‚0Í5Ûä Üš+lyXÆ”–ßa%žuDæ!ˆÓsö`"÷/–R"Ëîþ?ÐjJ†, =¶*¢ù¬ìVç¨2 éKe­£.wØzÖôâƒAmŒ¹·§þw$H¼@<Òº€ìŒýùí\€Jϧ>$Ì8É7¸4_t*¡é@ªŸÝþ%Ö‰ŒÏEêCæB5ª£—™4‰‡ÿõ’˜y¼ ¸ÒÀÔéñ4fÔ1@tŽòÄ 0«Å‡q2siŽ( ‡$‚¿C^ yÙLè¨ù† Ìc\–&tfÂ’Á óSãÔ­„å‘h~“Úh8Ýëw†Í’ÈÀ­Ò‡=-5£þí{ä;ü—@‰.$ IBÛtw(ÔðÿQ¡—TC} ‡’5.  ±N.>%K„Ô>Õ%?ÑuÂo«Ù‚u [ôÞ²/£­åóz›µ Aæè±î߇ŽïaâíDc,AJñÜl¶Ò†íX¿£·Ýàhô€"ÀZ ~ÈôOÙUMDo†c`‚Ej[;š²U¢> þ£qÞ®¼6Š›nÔ'óN'¹ž °ìÆ£ "ðlê‚*$òhe ɰ"é–Xâ}>™m[ —Š<­³OZ&'A€á>âêà+׿ØÎàÑ}YËV&³üt&í»ŽvÐÝl<e…•µHé-JXq Ýš¾Mˆù®Q÷´ ¶øôcñ›W3½¾Ö5D’ÌRIºé)[D*@ûwÆ÷iü#¢Í§ÓF!6!Í:-f½Q1 aá¦5›!Ëñ 3…ëõ< ýJò¹Ša_z-ü¸ùw~èòäü<¸Ðú,C¬¡}æ£ô*`)ýä]hïüìwÄ qC½ü?4°Þ¡C§DíÅã1µ¡/qiéÒȇ¶Ž(¦³3_–>òO´_»ôøþÙo~sÐbÀì¿X¹q)s]mZ;YlÑ‘C¿m:!2y88Š9ºF÷© ·9Úº¡±5ä‡S®¢´¾ ˆf„ zЏ`1!ËÇ7±0O_"ŸÒzØÅYÌyî=N)úuÕì& ÃΡyLMj3 7Ä"#)š€g]º—iÎDÞ†vêøöÆAgµ¯¶Å"Ìß•ªüÓÈfi9.·¯ó7Žo¦›¯%ʤ^ _rJ²¦ãÇäÅoŠÿJ;·Îº«I4Ëí+p‚Ò­­…§uÜkòŒyÞE' ]O{ *Û›PˆHz¸3{öÚ›@‡–Aç韃‰j2¼Ê,Ô¢<…Œ¬¨]aŒV_ù!z‚„$bEåÉ™ Þ±•qö¾¾1%&–Åb™R¥@꓾·¤ø]ÿv–ÞE‡âÖAçÄZxÐèg]ý¼ë¢@ÿBsO`PáÙeUSã¸+¨»ˆW˜w ©hâ`Õá/sÔ}}eR#TN—Ð"=×M ´á‚pÉfQiöû²¤†a|R@›Á oÆ0®°¥Ž,<@ÚrkÿƒÒ^A³ÎÙìÅ{íK•!Ý&_þä}ÀLüÑäݨèºij|eÕŽ(óK2ë‹V‹J2E€‚¸Œ¡ Ñ8^K !#Ž;9H¤ÅÍ­Qz=šñ~cåýŽð*ךB›‡T¶«¦ëŒ‡n~øê/A3Ülc[²bû®&à7J+`´ä€ºc“1Ø»í±‰}[q^§{¶i´!²fZb–=MH ùbžxëßö5JÇ*U>‚¼ð¸)ö¬®•”¼­E}swdÄi”'%! |ÊeÒ~ø7ñcuq4T½>”VÖå#–â>dkˆv• 1â‡ù3œ¯ x<=°ÏAxŒñ“Ef&ÚÙ6¡ÅaÒ_j«RHð ЊuÿdíobÁ%Ù2†xk•&âû|xÁ’J§ëŸ%óÏ> 9ìP3*ü-ÎópóTÉ䬄9²ÔÏ"=ï(ø¼\:jí;AÑë9 IdÊ^H¶^|-D½k™ÈxÃP5ùìuGÀˆCW¡ZKÁý,cXÆY.ka`0R<â÷‡ô$#¡:?C0*È‘v€/8îG$ ðÃÒw\öèhFj±}{¦T(›æ«AãÑu1v’á~—# eMÁK}²@z.êU_U\@×{»URì"í‹B´òz žþÎR0Öûì0,ñ‡¥ÇÂl 7Ÿ#gPx,Ðke´VTÑ·zè¾­Òdá˜<•ËO”ÌéÊZ!üý$í¥%Nè8/^’q¡ñ—)VØ)ñ&sÁ"wŽ,¨ûSàÝ ¤Aœ@EÌìàKÇE…€Ì[È\DCÈ”Õlkù°Óè|Új®/äÜ­T ßáˆ`æ›î'5eÑD`œü%ì°´hºxšGmlÍ •P’l™ ÂW…™~­97²ïtîæÞä¡.6ñëè“ ) p!IÌ åÿk®"›ä!¨ÏEú׉+y’¨ü|ÔåWè)=ºl˜j^)˜4Îy = Ô{U8Ͻ+çxÿ7Š—¶ÖE×øZ~‚Ž‡Ê¾ ±?ÚÀ¼Qg[gHѰ•CEù—öÉ«t "Í>~|:{ëÔùüXI;çK`œA#º1ÿ‹}ÔœlÜï7Q«¯¯bô„Cc2ªËáeÎ}^…ÖLt‰78©ƒõJºê5$úNu×@^ K+ZõŠýñ ©ÝXLöä”ð¤OßqÕDÓÀX¶Ê¿ïŸe‰¬‘¹ƒmhoÀÙ¿¯Ìâä¤,:ë}A2‚'à[[¹ÔYE›žt è"M,Îm´B&ѧý~¤GhÈ Tèßp·åÞaGkÊWüêëjë9©ñ'¡üº¹'v ~Y  ¢¨¦–‰­nÙÞ$o‡‘cêA·fE’†žH3ŸÉÑ©7ú³¢X1Gà&˜è#´;hÒXõ¿p2}H‡±RüðhÇÕ<)ë~;M •lIeØu‰Æ¸3]zBÕ1"¡³§ID<¼¯¿„ºA.)ËC‚“3ï_Ö½®B "|!Ü{˜6ž!GP¥èí"ž–ÞN`‹bxJ(¾z]_=ÎiJì•ëhƒ+ÅÑöoòKþ"×[Y€†[VáZí^Ú9­¾FzÍÃ1ÕÙ ™5¿/ÅñeÍ`ÌQ ïÛôdŒ“$ADˆ±XÙA¡?UšÏ›\9 0Y%è¾x9ç±ÄGCÏo¸ ôÅDèTqE·«ŸìrX¡òÂ6̬ åp:yx®D¬#XP¶Êgßü ŒÑÝÅZ„LOYê‘¿Ç¿¶9ÝÍŸôe‹ýH ›¶\ %ñYÿ[ZÑæTfÿ“Ò†e$¢ë·d×BôÀs³†Æ-ü³®ÚG–bK}7¸1eD‡"k K  $芴ºÏ¿ôo¤¥°ï€Ëxú JgñÈ5•&>¯›:¶C5ÊëXiG\X°ö,½§Í›šï5¢ aßtñD!]VÞX…O„8-S¡t'&¤JÚHî ¿ 34»ý/𡪶5v©‚ÉmÂÎÃÏVŸó®ã@½Î‰á¸l`ü“±‘ê ¢sI£ì4ÍRÏd¥–cÖnlÅD9± °펂Ã(øš‘åm¾åãó/–(o¢¶5iP¯ßó¨¯yÆE•º…<³¹Z…¶ðj¤)É%Î%å’Úv G¢q»h×tÏnèÈýHžÂêø€žfÅò0ŒJÝœ÷ÿE Ÿ²OáÙ.y5[³ð„f¶ô¿ZߪÁùøŠƒÈêc~v&°±dÆéµòµ§6æeÎÑcâ ïù±r;·cŽƒ‹Zé¯&M%{No1ɯ߉í?‚Ò)dʶ]p˜Ì>#÷oÛgÅiÉ…±:bçÎDÊ ’÷7‰…¼Éý`ᯣ»h n;´xC‚é0ƒ‡º0Eà¾ñš<©`%.Os/ŒY!-Ó- ŠGöøV›/ˆ‹æäoS>$\™ÿdÈ>0arLäeýp¢L•g3ÊßÎhl¥±ûK7ÞSØMÈ&·¶é¹œ¼q€ÊÃÁgªìQ•¥~{°Í¯b¢wÐ½ÂØ`Ò’`Gwì´E¹GùÉL ©ÃkV× õqÀ‚ê¢4Þº¾a€tÜúf@^BÕ<šisïµï û e@¢·šJWTš`û´˜þ7ŸÎöf%äÎìþÇÁ£‰Wd +B‚VÿäA•õºr„¬i6ŸBÚgŽà¶po=•ÜË ‹£Q²èc€ÁE†Á˜Ç÷ÄA[Œ/u¦°P£O­¤®ã¯r|/ c €+ÓcN©&õ’„hë¬+>£grñw¤²jub§÷Qø`6¯ø'W} tCPP"Î )Ǩ<š ñ‰ qÚAÄQ×å%p>žÓå8ÓÓ'kšz×*–@Ä yذÀ®´Q<óã—…,ëí ºÕe?Á’kâÿNkíÄƒÞ JÝ8¨Ã³·î-âê„èéÍ;,Ý÷pvÝ Ô™N²&=Üä¥îñåéˆÐŠy%Ñû|Œ 8’–"¬Ÿ¶Ëõó_‰Ÿiÿƒü²äË¡’,DÎí¢ÿâè°\jøEÓLú†-·SB´ÇhÈåNtÊÔÛí‘P|Óú}“Y8x.nÔ„¶P¥›î;`äáªÏ`‰Î?³S&vMžCÒ@w AàºÎŽÍϾª|ÎÏ´,×m•´¦R b$Ë~‰¸Uãlwjo`wE¦Ÿ"&yaVÎ#<4¤´OT÷C…øc‰³gSdèv…Œ¤4JýBÃp»çºJÐË饶./>j+ùÄm¬ Å›§ÛºC·#Ä.º¦AX„Ï2ËÕmU~OˆùV¶®€Ÿ#hP© ¥mŠTñè/n.fn‰ˆ=Ó1¾å(Îá¢ïϯÍîzþI9ɈìN)ØÙÐÀz>üÈÜ‘±rŠê†¬u`Ð y¯é@ˆ#.äNãx¶ë¹i3MãÛ_¥8ÏN„y•TaÅÅ»ýy\L#@€/å£ JxçòvA^èmë-Z­Î0¸Ú\U ¹a¬õ:FÜbMC.E¤p, ¨‡FlÆ kî9#®^Ÿ×]­Tšfû?ñ3ÊITäU¿}ØbîìRü¡¼RÝ>Ší»±)1ŇP5NMw³‰;óçºd} ý?vkp£±øsóà0pœg³¡.4 ¨®Ûè¤×__î ©«ìA³ÖmåVÚŒ/G+ @*9E6­ ™ïPw˜”(e‰¾Ú†ÂW~€åï‚ÚÄj9õÛŽAžÄ8ÀŠ<—ÛÞ¾ß2&`/ÌÕ ̴@¿§µâÃ[Ýr °Äê_¢¶ž Î^`Ÿ9zjUJ¢½™˜/íù¾,RiJëÂí¢…âÿO0R£züÒwmlË7"¨åbˆÖ9¶Ñ(ü`$aèvîŠÊ¢hÇZ=>ú¥ôUsQQ¢;zÕ Æ•¨øXs~Ë'Œ«zÄV!öƒ~‰Z`ÎkĆ÷™ãŸ_DúÒpVûDIªÂ¥9ý˜Rζ±GÆoïÌ;uñ üZfÏ)ch‘‡¼¥$áÞns%Á¢O«Ž×øßY¼†tÝŒ­ïoïž–ˆËY–6ží»|Þe¢uU¦½}Ø0©€«!5•?Âaš|²ÔŒ¿¥Že=Ù̘À{kÙêÄrÝ»×Øî°p¬Ú`¶ó·26f棚µt¢Ìµs> x=‹ž 9VhZüÍx™ø7bMr±6;¤m¶ÔÀ„9Ý dKÖž¿*ÚçŽ˜Ó ÙT๜‹ ¸nk“,PæB{Wš?’†qaˆ4[I·kå8!CK¬ÀÂÃçÆÙ< Ü6ö‚úÝ'Ï»4Ÿãâe«ò|jûܲnþuL¬¨UÅSHóÊ+Ä :@ÐÁîÔ—Åð‚UD´U¿¾ùƽý"øtZ 6M¹¢‹Ì÷©AþÞü•e\Žî`‚/è”É.Ȥ*^ÑB¦ ¤µOqÄ{Sêÿg› ê+Ûᔦ¹$c ›)Ecß uÂï? Ó%îYq›)@ßòƒ£8uÏ™Ú$tØ¢ú±¿¸h˜’×rبVŽÓÊl;1T*¥ÿF\‡Ò=hFØS“­¯ ø·ëä9“Ô©77- [;“匲çc)?÷,‚UQŸ€Š÷+åÏp+ n£Ö<Çá°œ‹¡æ7»¢Î AƒÁ”¬¸Ã›ƒwÊ÷ƒrœ³ã)?ûÜÃÆT}²ôº¸óQs}ÊîÄ´à  s3‹©óq'´œd ;£¼Bg5$4¼Hó-ƒ²¹§£À˜«¾¯ê.—’5”»â­á*ª?TMŸh„(ø*c„"7Ž€ù#ÃGmuš•Ÿ&Þ IM{¡¬}ˆÎ†GI'ȇÙ#¨3)HB?CF×Q;üæÿÌ5ô5MÎãžÁ˜÷°9§¤: s‡G ÊC?о¢xA"y"äè«®Öáe~ô(3Ïz¸Ýó6ÿX¸Â uäÐáAÊeÞiðaÞ¾#)¥åc­þmÒ†Ò%-›qÓµA½$”p-Î=ˆ‰CÎæI°s(7bk××€u~‹ÌN8&Ͳö{;Ý4/ËQšg d ´Ê:Ø£Úèçrh" šY’õs^Ñ®—‚b¯U饴[1 m½=]ô[x$¶[ÊËøDO@2ìÚB>í,¿5þ/ïÛ~`ým±¾È°¬EåàµÂ‚t^ºÃõ\ŽwŸ¿~ÖöjÓéÖähˆÞ¼m2‹¿8Èj¯9ž €_U›cè¾.]@ÄQg*$½lRZ°;ÎŒ:@ `š 0J‡/æoÕmy”Âw‘0áÀ÷‚õã§xýúÑpÌG—RIåÁ¶|õ7òU¼¡YÁŽ£îÛÎ9r1Å— 8·òqà|+”B_ʰñ±È`&ƒñ²G~öpô|“¼Ü åú¬^&~Ó…Kj“¸~ ŒÜ°í‡Yñ÷oËñãÏó1Io€“I"<óE?Ù2íP\÷Fjµ×_ãIÕÈÚÏ&ÕƒŠÞ©¨—‚ncL-¼­KºRæ[{[ÿ¸ÏqO8lWµggT÷KãH–aÛæ@ˆ•µÌë]Ú~Ê™»åm¯ÎnÏÎ OQéíly"ŸNúýz45=ÀâŠÁ˜'Ýľ%Ÿ˜”Fsy½C¢§bbJE _+¸a™„™à û5Ü7ÝÉó¯ÉÈj1šÞƒ ˆƒt¦¼Je׸³”Og†3™éC›òÈw ñÙÜz0qoÔ-µZ  ƒ.’«çÒm¦1¾±“Ä–š·ä OÚî¬ç @K´[ä­u@ÛŸ£ˆ¶Mf–A…C[¸!ÔÒE‰[YN2â2Ñ«¸Ë"(B–Æ|¦Áuá¿´Ã(yeâ3gE³°Fv}©g'Pœ‰q¯†éˆ2%YH'ðZÂUÇ ~ÎC¹O÷cêuâ¯a÷7T±jîúÊé >ùMp.TPj­¸çÄa^Âùž¸k;W›ê¶¥kpìav»C¦¼_«~œe`v3[Ϙ«™¯8%‰V: G['•ûúá|ž'&HÐÚûέ-Z5Í ´Ÿ+>Z0YôÑ—M© h¡¬ÅØêg¸G˜³Š4'ó¼íúã›[ì"‘ ¨Y®‘B°ï³½÷ìcÕ¦YÛ7ߪ4Ñ’zJ@]H%¹Ä:«í“S¥(ˆâ>Êö©Ú‘%½ƒAK=ÆPgGHn®WÙCCÓ¶¶âjç&ÛÈ ëɼJÚ4¬* ê‘x;¾äM˜­ë¸(´XB a£û7ŒÈG¬ÄYsÖ¦³Y7WmØ9.SVýÎi„Ž)ÞÉ€Âú”ö1°ªqf,«3ÍÞ™•U”ÄÍ|SX‡ Ó.ƺ’LÇkr™Ä”Ì‘D¿îQ6¯Ó•{ra€zw‰àSžXÛ¬ÐÁ/’p´¥7‰ Ñùþ7¢ž¨K D®=}ªÜLÍ Þ(æ@JC…ÜJ¥6e½¡Ô÷‰'á¿\$†Å,ì^îö±1¿ÀÄað?W'[v5[-ZŠq4; ‘¹Nè’ )ví8 ³¢ÉÍëw®SrvA›àÉÏnã¥` ‹˜S÷hNëOÝkô•òÍ\Þú2‚Ó:žg»WêÎeªhê÷m¡z\¨IáœÆ®6O<dí|„‰f–MÜÖƒ¼ÛÙØÐc3Ô‚Qg*ÌFç•€@«jÎ=¼X:l{ƒPk2:I&\Hß»üÀþ`'ˆ@®ÕMrÅ-ÌÐ,3œZÍÁâªYw«¹/Ûù«…*ì×ù0‡éiGèq±wÛ/ÌÊ•³Oó®ØGi#Ū̄)ãø®žämû_PñÕ¹ÖÔ ¥¦äž„ôQ.t9;Nã’‡›¸ÝISpÝ‚•’Ý Ÿ‰Óù̯‚G&óÛÂèØžÄ]š™@_â¹yÓñÑïVñ?ì(_Žì(¦NáÛÞŸäU`s\æ{û^û:{ímîî¸u¯t<¼›¼ýurü8½åú\@~æZ¦óÑ'À³æþ$n¡yß>ãXCïÍÁë+Ýߣ°‚(ðV3©ý}>¢›l‚âA](1i²Ìj$û~·qãÄ3‰þŸ” &2—¯=>^sS÷ ØË®ý-àŒ}ÓÀÑtÛ1à¿Ù“¯WGÚ¶ôÃQ=†*di]Mêÿ"6«2˜J§ j Ë"–EÆ‚ e ƒ4[[ÎRŽ? ™ºîÛÙ 3:fÑ̹¬ú¢ §Ü<>ðÈ]§£DPT+¬@ïø»žÊ‡¼õþ+•¦Åã?1/†83«œ–ù º(ðÿúªmmó&ÅÈÝ’Ì1Þ»8©Š›ÈIÈ /æ4bÕAY¨h]Ÿè@jè¨Ò›‹©À\!!c(ÐÂì3mžv\}ú—ª‚Yw¡›nku!Å7€#tsÜÚÙƒ»vJ‰¬Azc g’†×²×çöÛRnÖÀL£Œ ¥÷úïì„{(â˜xØd›Îq&T|GÔLa›š¦:~ý²~ÞMå9näyÿä‘èm~ f†Ç­6J­X£òwfê5à¯3ÇÎãs |It1TG‘Dø½¼º ^ÉÌsÛ\ bD:Y¨/—-œTy|6uíµ$ò§kÆs·ƒtBu÷П±lÐ[ïW>w¾TbJ­­å(†4¹AûÆFöq”)ÒúJDÄ'È#2*x \Gù®3„†Fà`“°Ìôlâ+våc¨™Ç;X“ZB‚: ò·¼c·õ”;b¹ ¤Qa0ýb([wÆ8Ž-™#Q´lmÓ¦–/dfž•Ôw\Ê&4ò]ÇÜçY2J™QºÚK7ÌׯxúØœt_íˆx”&Ž#du™&m _¶¸õ¤ˆÙº9ªjÐt»d ô‘Ž]ç+-½®k…æ¡‘\9 ;x¹V &e>_%ˆÝ©ÞûhÊ3o*ЮæŽÜCÆ=Èiß´W˜ Èb¿˜[Ì)-Ú›àGk´îo`·•™=Ñ#PE k©s¾­Õ‡HX*)±ù1;¨– Q–=+Nh|gš¾H)è•%E'ÆÍÝ+@ÚBàHø¦ê˜<àÍ…ØËš±4]¼¶ õ?{³´= î EÇ>BS5·V$Œìð¸#Epži5|=ÔžM|ŸåžL 1:`áPv{e&0ÊG œ˜RÃÉ„ç|˜ú`0(R8Э á¹7ƒh\D¾ˆýâeÕÛdèíçäž6äáÓnŸyØýØü¦;€Ì¨8ä‰m‹r‚¿YÏÒÊõˆ/™ áýÔ„Å£^ŽÈ}Ä{@޼¢å?I¶»è¾ÂWe¼—ÆŠ½7öέžhð>G ¨Õâ@Þ®B뱂‡@ ocáS¡ ž²™Ý˜KG·£°Ù]мJ}ÐýͨãÂW)Ù*¦†øo„+’†….¦§Îp.…z`ÏÓYÁ²ÍÓ%±8Ýdþ‘Ùö ü–­žôRJ#&Ðãi{©‰u˜³ïÉL½1:i­äžFÊÉiІ_eÀG½mi˜Ûë|IÜ­^‹]ô¥_¹ 4À^eEþ=+£²Ñ‰¿ðq¶J¬ÝÍ\\^U|Ðt Y‡'A€™ˆ)‡=‚܈ú2?z]ÒÍ(0òié¦'n@²\3z¤‹,ÜØÚ©g¬6ÙÆÙZ ïÍ2ˆ)Z|z¶„D#Yæ×°FMOÃÝ´ý 8ùC¨ÍàIjíZ—ÆùàÕ$º¹Mw„lÅØ~ƒ/ÏÕ$ûúÏœ¼JØÆ#OE ×ã¦1ßxò´jB‰é—4^í:̼kàòµõ™°ÉÍ*˜š=ås.Vòò«‚¯ì #HŸå\o'_¡©ô¿bSŽúÆ£ëÒ{¶öÚtÄâÒüÊeÜÕ‰H4Õ;ž¢ª–èÌÎA]åÕðØ®ÿêêʙƄ¢®L«EãA–»U9æ?o»9wå{ækJ#ýOYe3Fqà·…’áN´á½Z´ÉÍõ7›ºS\m Þ*_€ÞªÔ8,…•q•Ä]þXêÛ0ÔÜÀ2Ó€œúFšhž—´&çüúŽ÷¥ÃM*Là­\%á!kÅÅc‚Ù›² S©©œùd„Ä¿ÂÌtyn„ý=‹SÞÌH¡÷ÔiYªî÷æK/%@侨ê2ÜD%)Þ2Þ嘕1µ^‚pÎMo]š”HQF#Ž„¼~/NÊ ·ÙÆ®\ò£W8ùŽ›Ì€æ gÒüø0åEÏY‘ÀÛ¡tA˦U.Êã°—ýõ ç›3á)[«*K-êõÓ#û£¶ßGØxP˜ ]ÍB¤8°Ó€vmç$ÓŽL£›¬1œO¨¸il lèÅiÞ2Ó‘›÷F#0œŠ¤Øòþö¢wau9 E~LDË#¥4¾ó{•òøuaÎýßBB›l;ÀX;ÆjÒ5™åC|d\þÞ¯‹Énê(4:‹*“ t­ß4?süD Y©ßkG¸¬d‘—ϰ¢;}#ÎàB#¨Ð8å”Y¶3X?Ç¡SPïTy¾8¡ï±?‹’‚WÏ%ê8ÁÛÝQÔ]¾¯P‰®aèYɈ3 ïUé­ósíe KÙœŒÅ_ßVD‹#’‘éq· ŸX†ýÒzïÉŒ®¨ÈÈï“'¹?`!µ3ÿ§Ö[5Þÿ}°sMU<‚YËUð_c?S ‰…€±¨®d’S¬Çq¶b¹‡ã‘‹ Œ°ÖO;›tÐøÂƒYÏFfèƒ/’wcƒàl«JµŸÊÚ…j˜9Âcf ‹H© €j—„b)ÃòdQt•¢´hE iãxOç¸8˱*×2S¹ZÍ¢ëfoæE/p´¢~?—†]`Í ÕKþná?âUðg¹o}e ëOxïÁÚ³/\l™£°Ì3I>®ƒ)ñ¡«2DÈxOY/™:! v5_\ú23±`& hÆÉ¥­mvhVîüôÎÈÐ#<ûWm˜.|¬ØWÙæà ŽÊàJxÑ©ì$ßCf÷m·z!J²Dç/Æ?fQ‘®tµ €jÿào…ƒ£ø8oÂÅÛ’ª¨Ïý`¶nÿÀ·Þ~”ªËa4¦+°r”ÍÈ–x yešýë"8Ÿ+ƒûãù<ÎHjƒ0ïàC SíB€žœ*ØöµÌÞüR`“ÒÇ€ž)¼·X© &w‡ âí'æÿ>®¶&-<%‹•á á·7Y3ø°¾ÎÂ=Rò*ç„PLø,Vny²e[Ö£1 TéæÀë_O¤ž>àQí¯FÕ¢A½ÝSⰆ몒֟êòèï‹®‘ùÂj $´x¸bØAkC"åe¦“Ru±ZZžušÜ»"H*ØÈ×Oš˜çˆ¶ÞßîSêò»ë î]½­˜AUTÙtšI)[N¬ •·5ú3$=ƒÝ;¤üTúc©û.ôûÁH©9ƒÑ(>G(yx3d±Tb˜%»­£s°™YÅœjW®mFÕñóöóù€,ª"ßLq%PÍ“{ðµgõø•l¢«„¤Ž3âxß«€…*a*c—‹Ô±¿mú|3€Nů>lɳî è AüsôòE²Ôˆ-š•žawCÕägsÌ YÿD›·¸7Y$n©Xï‘M.Æ2µçžn‚¼`pCè¦Ä÷×Õ»ÖG²†Y`Q™>ˆN:´ój{ºa.Ù—èÛ®Š65ñ<ªZñôàèQ7Ÿ£æ%Ç3Üœ»ð‘øfŠ3c"uϸ²¾_ â ɡ„Xüñßõ&VÆé1>y­;u| Ú=RO¢È~ªŒ_•I¾«,B±ßM;ϱøø÷¯ÒÄ [ÌÇGË!‡Z’‰1¬ˆÊ’çCSØ´o Ù̧2°f^䉨k%Û+ÇŽ L—q,uü¼sÎ@úçPs;3Õzf&Ø»?:˜ªRj{å}À—¬¡+t#°ï}Ê5™¯ºí蹄¤¤‘¤¢øëMœv$QjmU>Â&?ê!Ô'c·í\Ï3²ìÓú_AÒ ¸:9Wë §û(. ¿£yfG×!9Þt5ÿsç˜òSÉ'¹È²S–ñå/—ÌIÔgöm,õ{×3‘ޏN†ËT²Ò€ô¤.5Oã§½ÙÓBTjËVc†""fŒ÷öë?ž9|¯`¸åÜv±ž½@¶l¥tZã‚$à‡ÔvÅ­®œ¸%àzdž÷.ý±”ØìƳ«˜'øm@gã|Páo ç;¦ãà/¬I>õcø7CÐw0éhŠý·Hû_³e¬Ôø!­¨<†ÔSé² &ö˜mˆ¯W;@VŠgqë¸ â¬Í `tÛltIziÚet³†¦Ë´q!~Hª~QÊ‚a³–Dç²ZÑuIšðȆ‘q‘-k³ÌPF“Ü+†µáÞG1 O@/sJ›åü/‚òw—üïêK*‘j\öYÔÒÆ—9™ÆÒÏŽzƒìG>£@ý5Öà‘¿9ÈnþrŠ{€¬áÕ=t/%=h |ë°Ø õ(”o†^9¬£Ìa$¤wiâsSéžQá—`> šæ®ûiœÑŲdÆè2²¥ž™.«Á™áUªñ¡Îüη¿¡?½ ãE”ÑCgië´„hèÍÔï”Í>\~«= ~R¤ª?D‘¯cÊ:@ÄÑ(ÿ,ól÷ a2—"˜Ç4dÅz±þŽÏ‡VXñ Šva•Zðéà<;Á6ë+€å4óÛ= X·vGþ¾ Á gH5éþôfí ‰÷¢Ç}ýîŒÐ5Øâ.ÈÕXÇó."qî÷güïÂ;joFÖ’©²!ž4eM[—e–¥k Î%Ÿ/8ñ­eË—6îÚÛØÔpa)Z<Ð}ã{ 3]£ªj—MÖõBDÖ¡Af¤®Ñþ­€wó9ªóŸÁŸ6ýC&¿Öü@é Ò3Ç4t_@jÝ;´¯¹èmì<4Ü{¶ðo“Ï6^]9è†í›´©É»bßr¤è´ÇÂ( ü¿Þ Àaãczt-lCÜ¡ÌÕjl„0b&(©Ês«_ß«É9¿a¹ ýY‘›Þg"D(œb䱊§ NcÕ•P„`Ç/lï8¶wIß·—мe@¼°êa‘è:”€1¶3wÊSŒ÷6—á›:[œô”ùmíÈãiÙ­Œ(Ðý‰Ò_ìËß M¦\A¼Éž`}*æ`3XB ™ªAX‹*8 J(VÒѶ}96:kHg8Mƒæ|);ôÎÿ[]ݘ“¶s}V-l†•µrÛÜT)0࢔۳Nmít‚ùÒEÐÜ4L'q…ÄÿÒS†Üê4`×Á„øâkºœBš)X½,Þ›cWÍ7ÌÌz:øA7@‰/Ž6iþ~§T &öú±/]ï}²ô7Xü\a[Ñäá+áÇoùÉvpG®FP¯ Û3:×Y/ä8W^·¥ilê߸þ j¬åቃ¿ŽæZÜ8s‡êŒmAth{”Èy%}¶JØnb=—îGÀ{þIø*sÚâh‡Â–ƒ& ÅhÙþ9˜üËÁ^®¶v×,tÄ-‰à,M8Î 8‘é”WôL0¼D¥€“˜švÕtR îÉÏoÀ°HŒv/+¥ÕGÿˆ€?dÙ'|¦•:yoPæ¶>qB‚,ÓçKœŠ§×q—ÂŒSû{Nÿ7yŠö_³da¨Ô_[`Ëk4$œW¤2tLÚ^û\œV#F3Pÿ‘½¯Rm1vÒj+Îçæm‡ã—7ÆY÷°Y}¢˜áS¶CZðèkm€ŠLÐiW†À*]=mê¿%s0ð²UX?©\v¥²%ÀÃOœ†8Ä äõáƒW"T|ÞuRqÄSïi¬:åZ;dÏ^g6i~Æðý5ƒ,&M¬ö¾G…ËÜÛ4C1†sÔ—·)Ía¨EpÍT: ?)™Ñ*¢¸ïa’ êo!²1ºÒZL÷iè0¶p¦ð×£‡#¬kA~Kâfú4?çÖç<ªKûP½÷T!Æ’AûÀçÓÏìæ<“›þE¬LAéZKxŽCƒ°·_(£ C­ÙD9àöM3v÷tX9mžàö¦z2W;¡µZkÅ¥¶Ço\Y_.‹‹?u[–âÛ!Ÿ Ðú8­ñDJùñh6 ¬$ f0¶Ïj0v¤qf<¨õ&cTÓ¦ ¸’±Ö·†¸¢Ë]Á<ç°¨reèD >²àWÑ[Q¢ÚXp>_¤rÅ€^·©"­Ë‰°Ä¨Å*¬ÂƒklÜX­Ý82Þ²löP]!Û;Ä€Õ¹éS‚îÇû-g p_A‘–0üÀæ€Õ÷âûQ´äÊoVLš|õŒålÜîïÈ@Xw2®rɘÂË×ÉÂM5³µa¶w+xF•î:¦xÉÔGZ¯÷Y æ~™@f,fZö]°Ÿ³³ùL¢Õ±W2§‚eãü"©Éc^_tº@ÎøSÅúøÿùwöGäHÕŽ¤æ3\±D9ÉOy ½•±Ì¨§z¾sò_ íf)y1UÃ_$OJޤÃtˆãõi¡Ã…‚ôtAuð¢…à´(‡Ñç|Ú{Õ~z3\›dv°‚YÂ>6lYuø­pC è T.›ÌÊH"åÆ$Ù/kJ/&]&7¼<’>ôD‘´í’gF„P?ÖgÜ%‚éh^âï·öÿ"ÂØšÕ6u@2kúÍL5ƽ+ÎÛEó!¸Ãñ׈íÉö~m DÄuí_]é|¾61ÒžòŠÚÛ+b&UþÛ—uî­)A­ô§µ»æáþˆèHê—aÆ-F>Ã3å`+·qÞŒ×)… ÍZ˜%Îw¬6áŸÝñM–ÞåÀ8»€üÚÑ¥¹Øç\‰&¢@ƒa4ãuª&z¯аìoHâ`¼7•p]À·„ëCÑh•£²Bù´KÎp~¡2ø€K¡ùûŸ2Ç,å\w›,ÿB@,ƒ#ÀQMõâtåÔoÇVR•Ê,0¬’„a‘!U'6 (œæMu‰:AR/c~mþ£nä­¥o¯gL»˜S3þ+3ÁGA·ø ÏF~jŸßç 9sº·’s¨?5^úÅ.†¸«Öw¶§õN%&Ý"Æ3…J›]Âh3šK 5{ØrKréVœq쿽Sç7CDÙœƒ£“Ì[:*êúdi¶©v4J}ha Iaßÿ"µæ›à ÓW©(¯a¡Þ¤HMÂxçÚr?îK˜ôŽ“òéIT¿fÏ‚uN» ò æ)*Ãþ.êð}½=0Ûa¶’“®7 VKf‘Üê” ®ôùþÔyÐ`°î‘Ó_–«d·&ÓÅ–ô ·‘«*•àBê2»O†únÌAüž]f6£Ê–ªÑkñ@Â4R'¢ bb@‰‘6`ž[JæqCÄåis‘’ȸí=}ŒÿÀ¦qß‹‰Ùñ´;ÆS{*ä{×¢M\ku‹³ÑÕŸ‹¸É]†‰ãûìg„åõ¶Ìàc.JœM¼ Xõ°qà¬]weÜœ8Ýèý…ÂkøztÜ «™ /Ø.9`çàÕø«ËTër`À/Co…„"Eeæ¸[zkL)]L6M:|mhÚqGüK®$u–®+Iû}^3m¸@p)yž‚pöUo‘¬³Ð_çÞëì{À¢!˜‰F™N±Ê4€Oš'?>\èÜ:kÚÕëàψ;¨G&žŠ`ûøú…U¾¼Eú)‚æeÈ‹Ì ,ç•/,ú ¢“J"Û,¾q{s;õÙ˜ý\ðˆâGC ‡k‚Õca*ÏÈŸÔ‹É{Iø— Å- ˆ'ýúÀ€2wÆ/•>ã$B[ã©íëX8c³´®ñ˜¢£Õ‹{<–é†uÑ›0Ï,6°áîuø–ö{4¥¾U…:ºµ¥0¬oI¼tØjqt Qï‘Ò›vleuÝÚ{õ×8@±aÁûˆZåëO^užzòwýR$¯ôiÛz·?€ QßPÇ€/T;OÒÝ=S–OEE•ãäô¶}Uœ]q&ŠºÃN«‚ǦcI]_‡¹š8»·†~·W³Œ— ^¡£æ ó¬ÈÔÛ£š¹¢˜§å£¬Ä¼ä‡)Ýä|Ã0= ¬ŽOš=¤²^FKïR& æ´z†€ówlÍb#s†ê%“K®÷­6 ^˜–ì䏨•OíXdïüD‰XoJ"€Ëd˜öF‚ÓiK+´º6eôEcO›¢n5eZÏ»ðEY/°ÖäÕYàáT“2IH|•¿ÑÚeÞX\Ê@/½}³& ¹t[h477á!ÇDAÐ.¢Y€[)˜‹~çžGxJšÇ‡µÜž+W¾˜æñSïsÓ²:ä$auwX ÁË<8!«l<•ÿxÈ-^%îÄm>I&1üfu!*Wû:Vô æœÂ4ÓN Úyù.ÜVŽóax÷Ô1G<{©Ddz7Ÿú æýS,zEö'I $ÏÐ‹É L÷€°. cÓß½FÏkU3½ø…£,QŠËOEò“S(™¼H”·móých0+O%BSW‘©ã¥ß­òàv7µT1¥Å <)Gôþÿ°Uø·•a“ìKø_l(¯—#ŒàþÈ"ô³™µØÈþ,µ¿S™ÝÉÒF—`±e•}‚_Uâ ù—ïå©à>ÝAZÿGÞB}ÎÂÄb›-û}ü±Çacüíÿ?zW* ¬ã;gîÔÁ{"W;]dÐZgŒ^b’¶Bg­¬Mn¸ÑXB>-üf~i_Z¿GrÙ4òºA+Tõ‚ŒÜeš!™£îJ¹å%y¡¯{„ÿ_°õCpÏìDîØ™*úÖ.56|MrŠ]ƒüx¬Hô輦Ï%9a‚¯×Ë]Ê!z7 tmé–ç{¨v•/#f \û–7`*ª=â±×µFó껳÷<[‰Pç:@ÒEè¥æ]bºIô”³÷i6ë‰ø°[ Rw4ðÉYÞM·ð3çFçªùW° ÎE²×™|,iŒ¼ÜÃ¥ŽÜðd×ãV|õmÜŽQÃü¥¨à^¿kÂY81ž—ðxŠ®_Å~¦,ƒÑÎkÃeæ:ÜõI‚LGÔiªLòûWalFO·¤©g"ò´ˆ¦bøaV9°Ñ>  êxØ §¿Ø b8Êôlؙȅ¦+rþòþ+ùjôUÔQh‚H@$=¶MÄîgÊ Ì˜Dåúƒùàm*øçaƒŠ<¶‚|؇š“ÓKÓÄ’8¾ãÛôD:5òË¥h VÖíýWÂt]îZl,OÈ¥I÷„æ ġ²ô‰|§¥HĆÎþÊ×*{EŠ»…~øíUÛГÉ5ºh×\SJ‚É–_âHñæq| êÃ8ø_W¡ú°wÇyF÷^hÞ Æ‹á Œ`• 9Æiïþªôee©7åÜÛ—obùFqx%’>¼Î ›öÆ‹ã¸lX&ð{Vvç+ÈßbݯäåÂ,òv! íÇ|C!KÒ½ÓëæØß@ZœX{ªÕ´~ùjjÚYÛ†'Ê8PeæFØpXÌäjï²)«ý¦ÐV‘&?ã!'-Ó¥a0-w¯ j'ìÑÜ{cî"”jäåGyi)rEýάŠ?ò-á&öµ7áSý§&^Ë̦oWaV¼ÛcCƒ±ÊNµ`Žé<ò…ÜåïîæƒÞmÑx®š5…±¡•í¯ÑÓ¯e¹¼‚6tÚ²ÕÑÎU~ÛÅiÄp6ás+¤m£³AX÷,ÈŒ‘îY^%‡èœÂ¬ •\aס}6%[Ðy4£p_ôææ§æ¶n÷-ÆïÖe /¬ ¬U¯§l J¤ó¦b°uä<롌w³T£1¬.ÿþZãÿ ÌPÃk±@àφ wjvx#£õ-†œ_’¶—b–&ìü=Ö*b²‡7ó3%øƒ”O=‘™…ÎÝs²Ú•NÔÝÓX‹Yú¿”Ÿý‡³ŸÊF úçß+x´@s^9×x„!„¼u{šå7ßR¸{÷žjwºµÆ©CpŠ„œ'BwÖ›¤€¸jB&Ýxûàr„¿$ ;™ ÄçÐp¢ÁÊv·Ý?•å¡ã:ØPް”qm´*W¥s¼‹´Ê"òVe‚¹Ÿ­“ãA»Ï]AÂ>Zo¥Ï›PÜ™=˦WÄê9ô3ƒ*Šä‘–DØkn<±‘èYae­‚Xo2ÎpÜ|!~Ùüå-p!TCÊ—¹ýUÓ.“­¢Ãe‘dY˜ÞÄ×µßjPý3þ9|ë !né-“?˜Ž!ÊOXfÅOžYW‚«Úéä`›QEŒŽšpe¤ù_T~RO·@z4Œ•þX¤pèÊÈnmÖŸ™RY¤[!ìR’²Y0/Á‰¬sÏR]òÉyx4-çYqîsMb0QAXS %\EÊ*’BÝ "5À3‘2…±3ûÕÚ»ª‹ƒd.R¬#=Ñ㔸½Nðàš€d¾¼Ùé½öefj™5qxÔpε¿ŠºŠã²ñǙ֓`TðgÄv>sÄ衃p[©ÎñÑ«{×ÎW w±…Ñ"-Æ ,SRCN½¨w<ÓòÛSYÙºO­Õˆ|·¢ A›õÀ ãê]ÞËÀ À“­®0ø™]`Â3ÒYUðœ8¤ÃWv"BoöÈ8bnÒ?ìníÜW¨]ò£=JÏwï#+A"dÞ3¤€œÈàÙBÈH# øÅ!íé…iY¯«;uÜæ¿Žc~wÌt+’9þqŒÇö~1t;|‘2ͳ3Šœo¼¦¦šï7Ž@/·\.«S*fÉ|}‚™K¦*Ñ?aÀâRBŸsFYÚæD‚K/ ‚\‹!Š¢µA…Ä”’ÆG;XË™H¢ýMtÍØõuܪ%‰•0D‡K‰¥¡¥%•±à?­\“åD3U)ŠaOv¯òîß2§ÚÁj#ùó™y°W® q$bꓱo*6vPãÿ´íµ\MYÒh]œfö »ñ§¥=ĆØéÌÿ'¸´ ä í‚Fr:IL¦®‡ÑúúdV™&ÔĦèþJfå¹ÚZòæö‚7æÝá$Ÿwg´çK¢¤XÁ6ØNg`¤—0sY}ï®6§•Pߤ£3 ýìÁ;ù¢(°³ ùvöñx32ýšk–úÂjŘ)ðñpÓ³¯T̨èÝO ¾¥¹þʶøï1·A‡n¶»¢ëB$ÞhËå¼ä3ãÁ›œ¾§‘T@ÊS‡Âéh²õH˜úE%Â@û¾-ü$ƒð±Òm-i±Ä¯<±R^Haì;NQ¥hUzó6‰hª¡©àW4 }k©ìp'Y7‚Û¯½ÌÖŒêý§™›vMÉ쩯‘{ÁåTfÜSÅ{hr…WR$Ç–ÏÂ}5ã É*^èÕi€ô‡µ±ÏŽÛéü…º´;y.ÔVÇq´tVaE§©OßžÚÿzÝ:Ô=EÔpÔkåeï3`“r94'ÈÖóŠò hÎÂA»ÄZð}×'§fÑ‚|ô¸Ì¹¨¸<§´1 ÷„䛪Ì3ELhá®Næd:çDå•Wž ÿLc†Á}cð…´â}<”¶1¡Å_òÂ~“#-Ö½>VýwÒq¼Ò‚2IÔà¡ÒY—–ºT5:i"Dv¾¬¥C…ƸR±jòv™ÌÐ-ñÃ. aøVÊ€\"Ësñ6&0Ù ;¹TÑ ¼ÊGwÀ ƒù,¤[O3=º:Ù{ B&%(B#•äÞ€à‹NñEÃô¼;[×â‘ä?y—*-Á¡éLªÖÁ¶¹ûÌâê'õ§N·™õQæÈZp,-$“RØŠ‚¼³¶«ï z,.js1~½µÊ¯öªò‚¸cÉ’Ÿ°XTûŸÿ+º3¥@—Ò ñ¼Ë@áAJ‡ûŽc–Ê9l9t#Rë:Ì-÷'O9Ê^jåÓ²ÍÒ/ZD·”@ G*&£”l{û€Ö 0 ÜÚ„H9?ÑëŠÂr]•¢Œ={.äwòÍúùeðŒ‰‚@•F“øßí`¤éd/ò}{½=Ò ¶®ò@ §Î¬²Ðö–³´3vÙûÆËÔLn“óÑ wÆ ÆNj€6ZæJ…ðbæ.¼X[sI ƨ ½âêh@6Ó?Iƒê((Ó^?J(‡ºÊ“`A„F¶8醢^²Ü[‡2™pO›“^bISk•«ðj9Hþk8µ‰ðáôBÕ÷߳߸…ûüß&Le+ã ¥is„sD|DÁÞèÅK½a‰[óý§‹œ¯JzgûiÅÎ{F MŽèzH(䱚9[ÎÜZ]™Ó†Ú±ã~“ºL@’Uu8’y|5›'5í…~·bé= ºæÎG}S¯fÃÄ}üÇ!,„ðó¤”á¢Z€R£¶—‹TÛIz­vI=!EÐ+©¥ Œéqc2©å?ŽŸ’1ò««]™e|V’;ÊÐ(ÁlQÕ¹!»¿Íôa Eº(´ž¾ ¥÷¤²¹ïÊïd.ûÑ –]àæª¢ôrϼMvÃÏÜrO %Ps”ÛÆW’hù©ööy“WˆÚshœÑ¦“´¿…Ù‘·,‹ó²Âß'í¶õ ãç#Î4KÁéÅŠ#rdÕÔK¯_c;å(òÓVÄ4G‡áï”ô½TßÏl°,¾'ëÏûð C^LíÂN Õ"¿™¶/ñõNÔlÛʇ‘€tbÎ#¤z=­9Ü*Aî,gòj:&§‰½<ÃrºÏA@“ µ4IÀ$=¨boËA6«Ù±u“ô Š€lbštÒ‡8 §ê‹r÷P%FÒxÌàtß1ë\¯*Y4¦âjÆ¥MžÍ¨G€|¸<¸\Ë Kõíj¶®Š 9Œ‘V+Ej;°—‚Îß]'*,†÷÷F³ŽšmGÚv¢,†šPBÜÃ<ªá¾äݽVyèà—ÕynüghRyç-"å šFhUŠúÍYÅN‹‰Ö ¡8XÊ¡eÉ¢ ¬)1HrÒmbb ¸v»1ܼ´q»1Í¡oì©a¬?£"bŒ‘,i½¨Eþ\4Æ.;lR’_uÃß?IÍU0½‰n”—£{ª§WA Üp}-|t)¯\½™[ey2() a­À#ºõ §tô“kitËÉ|Ö•S™›ªä†=¤ÆÊ0Ê 4É3„À1 ·žËØ¿‘ÃÜ 5dø``ÓO4úÒ\;Àa0t<× «Öó‘ìüCÀ Ü!nM5pr,„§ìÊ1‡pÀßÛ¦®d~ «¦‡ûá’*d(Á®ÖdÕ”‘ôäœl\+om]±B~xA¹pˆ>7cN69õòºòYÐVê„Ö˜’d,/Éé¨-Ö{D¹©Øg6ãbï“ÓOáÊX£T¶jÈâLTi;Â÷·/úñ<§[žøuç'‚'$gÜ5¢ò¸ s˜Ãß2«ÒGûüÇ¥ 2#¾Ç)¦uVŸŽ8 &9ä>2u{3Žš3Èsojrœl“ÜßÔëÆÉtPžr÷ÙŠØôÄ#DGûô„ õþFæ¬ cדÿô .*mçš}ëêólkµL,#1¯:( &CÚX+x¼3êIö¦«bµ&Wå—^áYÄúútx€i Ú´¼Ä$.d‡W%—´_“%äžÇ´“©·¶×\GA \‘ý~Mòi»ïÓª 4Ì·/ì߯=+ƒÒt³½Êúòtò’›š¾l$6f+M!ê´‡!T ÓqƒÌà $p’o‡@£3›Ïʇºj¯Ös«‹üäïRß.ŒÚeϧ÷ü<°,èºÎ3µ­Gy#Ý@‰µë¶¿kó“Á÷½>#»UseýJßóA[I8…êiKÝEó:ªð–¬ï ].;¾2Î1Ny}#T9qŠˆ$Rï®%ó8‘a¿T–×y ¼ØÒHúŽŠ¥˜Ð'ã3=«@X~s¸63ºÔ¶µçþt8âuô>:à¥ý/$I}˜¥î0£}¢HàÒü¡¶kCõàSû^ºðYÖúp{,Dñ öª"Ët•f1‘킨•‘*¬Q}Uì ©õ™ôÍío]îQ x£ó²³á ÷‡ Þü=Û—Çê}$ú+ÖÒš±a·=_E¨hõqõ|÷:„ÉcÈ XÞÙ+@7ùr ÷H‡†x¦û¬ŽGΦ¸ˆ#‡d)-°œaméÞ"†\ äç(ä°‘ 0î@cs2Z‘ã³thB7+“à?áù°ìÛU|E: d‹v½Éž/H©-ObŒ¼òÍÿüT¶óž©/¾Å–:¹î%Z´IÄ{\—Š­gjßÕÆà#:L¨V;} €àfGÈÕúBpå20BvÂ;2üæ­xC›´þ,‹ßcC¦oÛa¥…<<¼|ov£¸…Æ›’Ê%£s^¾Ø¾”Q&áôx0°¤¢ •©ã:W&{¹KaYf¨/ z”ˆÐ¸™@×8¬ûï0Ò¤ÉW¦Ç<7Éʯ¡‡®dª¼ŸF:X&¨ítžn½Ð¡)ÀZöÛè®ã{ÌJÃЂM ĘŽS]§B¹4‚ñ¹¹K›“ðZlj–‚¾¶þü"zyØ>³.â5jõPÑ\™4Lþk÷ΤÉÁ2iS8nÍp—àGFê”´ûÒÏÔ\×¢w·! _Uö½XcÓFzCª!.âü¡]Ka¿:î ÓÜuYDÌQ&tØÖÁ:Mõ}³ë<É¥›Øâ§ÕüØÉצ{ŸÒb>MØ¢Ó7 ¦Æ3·RñÖT|–¶ïQDY-ä…íº¤Óõ[€ Ÿ;UVôç‰l¾ñ–lü4¼¤~!ôÚ¼L-ìd*†Ôé(=Û*¾Ê(îÏÂL² ¡ÿ8w¢ÔNÊ@B[‘ó[¢Ï@_üúG,–k/ìqÐCÂâ“|áÆkRÓ¨0"Ö¹nÕúñ³]ÂbŸÄ[ÂËS‚’Ÿ¢mïçÔ`v„ëÁv'Ý ÂŽ×BTxõ~èMøý7Ê4u$ p¥JBH0†•º÷=¹‘ˆ–dR´,¦”ï2&‹>–Ãn†>R r?¸èeO› Šôxêu zƒÂçîcÓäH“×vVÑ Qꬾ¦4ÚHðfÆvØâÌ6çuvBoôø©WP²òoœNv´Z±2pä6Ÿ¥Ý‚ÞÊ{á—ÎHz}ZË÷W]¤>œe“óÊu¸ÄK•¤=~ÆÊ0øºWùú†zܰð !B‹'a׃h¨¬Çr܈c+d³?ë¡Ç¤2¢kÁX”%–ßmBd’ítÕ‡3ÜΫ£µ G?«´œ÷peë»<³ì4p´ C^P9êMµ×.Sõ r“VEÝîÈ>˜Oômùõ(å·q*“QÕ¸Àe]¼¬ò÷Qv~¸vúëÆå&Aî´¨0úýâÕméµÙù‹*m¡ˆy'¸HÙ×Ö9˜³|¤Ó#^[³È'cÄÆ|¿Ñ/0®ç0”WѺ„PSǹZ˜=w%Œ/ŸJcw!I%(~ôýO‘àø s­Î{«ý«#ʪ6òô"›ÛÌ¥`r73Ø:HÆ™¶ ¬™Ø|²@ËhÍHpûbrœnÙô‚Ðñ4ºJw\5>ídrÖuSã<‹láÌÖÅW¹‘"ŽDp|§VŠ)¶ ûÌË!ÐçØ_2­ÆtGê™.iÐPNo°x µÞ‰ûÉ(îú•¢ù.«aˆ“m kYÞÔªxbr•Òò«Š9^bÚ‡Nùa?“]C¨X=ÑǪ1n.C÷¼M•‚K™ëÌ~tæŸØpóƒÓÄ1×ÀÛŽN\ï·C p·GÙ¡Y°Í(€±Ê´Â +ë}çg—¼ð6'É,4ŸQ‘Ý«N˜L¶B¬_ààÚOÊøÞÆPîœx„ª ˆBmM ºxe].ëèø”œÂ?ã|ÂG°…ô”ßúýE·j9²z6Êrå{3øºjo„kÈÄ}ó”V¼û‘~ÏÌ Ó¯ýô :¹›q±jÆÇÝÓ$»µÈÔ„A³ú£3^Ny§çdžÄ5_äñú³½žg+6öæ×:ácÆ;îÝxèàä:µEY/w<”¶ ª°W{Š?ºÕ¢Þdª{´SÐ×%SNE04·îÈÏÎÌ––̲>ÁˆrDÂ{+ÑZÈÞ¦ëÉàuÍ[Ž»q= ’kÄ@z»²Ðz…ÅÎ}e½ÐŠ3Çê‘Êyb®ŠDHj!B²¼?M¡áGY_ÎÎí-"R´@ñ±!“YÑÅZ3¨5]§…×Þ‘ëN·÷PhxFq–4W$Nù1|ÆëhlòÛ\‚i;BïèÈJ#þRgYu+Z±âN„6>eÊ㬑×nB~UÐɼƒm8‚Ö5è‰%9ÛŸ¥Ì.Ê×òžå³±éàø‹~é® [zTüý™kÞ•ÐØâ¢½Úáô²|ÿðî<Žî­–G›èæÞrŠjÜòA!' qŽFI{ eân€éâ‹!xîÎfˆÿ—þþð4ŸeHí|Ý]É"UÐÐ*mãbûœ}AXÉ“Zƺê…ç³>À ÂÇûÂò…¡÷]… ’•eàî‘ÄŠ¯çû Æ©k^g‘è~£aVgwea‚¾ºà®XÄ,Ù>r"ÓÆœnjé"1|Ü{TMÙâƒWŽâ½M™—4'ö°)ÊV–T\èa+I—è$R³ÅS-»¤¥¹¥ïO[ªÓòÙ«1+s“– £‡m¦ÒœÏš±<íÅY»Ñü(ÏSTL«¯4Ì´:?É,IÃF†´"áiÇb ¥­q€¦ž+m?u¯â§>K=VóK. 0˜µÖ¬”Ýc¸ÖÕßCÅ~{øº¬«"Lí°Ô¢…fNçÒ-µgÝšWxüÎeJ=pc<ÊàNÇÏP±AgC±VD›»œ]g•ÔÜnª@/¥ÕÿK%)f/ . ÇFóWŠŽ‚Œ.ð”,hª†mAÀÖæöW²““»ó…ë‡Þäˆg „}Ä3>­Ò‘H…XÕ÷×®ô‡Áɘý¬Ô1Ò\i-g†eßA®×äù°ˆFo™z¡åÔåÖö¬óqÖIHfú‡ÃX+ÁMÿžgÏót¨uÄd˜hëš@šQZ´ªq:„^'2¹á)?‡9î“•¹u Ç2tE'OŒlù^4‹â°,æ`wÒço~Ùì ½¡ aÛ‚ ` 5ë.-½ Û6 z0yá…Fš…cqLy{Uó#™©`~cº–¡ÝŽÍz3ìj­á·Ì÷¼Büϲ^ˆcæHüy¼†2ZŒI:-¶KæÑ8ržüP²Ë0,ˆ]Mtª¥Õü׆JJéˆü¶áÇwׄ-øÐ•D¾ 'ôª»ç¤,oìfì›j ¥Û{Lï:[$/gìP~êOæÌIñ²'µ·‡ªÉM¸ Zäí¦ÒîëSÄÒ%jó_fþ0€“Ä"?îÚ_y£@£úþbë$? Ç?@ªy]>—Ëh_ýQÁ°ÿ­™R a5 ¨—t 'aððvx¿Ôs—`˜gJQ²ç‚™Ï­¼åìðM„ig”ËIÜHëü…g ï»a§EëcsÙ@0¡½4&,²|UŸDœÿ|)âclÈÛÃâ|@ Ô59”ôÁ¨1è&êP+çQ陑“Ç{@ôrÇaúí»áYÂÉt’LëjqÔÅãK¦lA¢±ÀÌøu É›Î3‚¨c­?ÞB%Bfïæ®ÙPlv¥Ÿ–ö0"× [19Øx6—CÆ—IOãpk›;gÞ4‚"™Þ¬ÍŸçVázì‡ZÈ ƒÿUe†wìì<ߨcÎëcoè|¥™õÙdåi’uôs1^û Ö¸RÈy^N5¶™lºx;†ÂCh‰ÙßÊ7Y†wŒ]J'”.Š(ð8WþUg0p»ƒ©['é\%¢Wj Éè8æÞæÒNC¤8¨èúžC¥8×½ÓS’Ùêfv<Á>ŠD¿OÇÓ…~DÍhæµ$ÅB£ÿ.n>¡Šà‹õâÇv‡¸ç3žÙ–õÃÉà–,LèêK ·ßuý!=wqÇÑ ê÷ïÍÒD~IÓ05±šÞ±ƒÿ%öcËQó|"Dóñö\¶ çOƒIPK7wi‹÷¥ð)ÙÔ ú‰n¼F…8¬÷ƒ™¤¾v½\rh _içÖë ÷å²èoNÛb[QƒÑŠ›3ô­©H™´U#žˆÇƒn(«@iƒ(-O_²‘¸¦7cÅŠ=SˆÓ¸= 8§Óh1* WEGX47¿*†§o­´¤Ý õC—äJ¸J…5Ћ¥¤R–æ$žïÖjhñ>OóÔÆ…FňpÅiÊå{¿0‹^ö0h´ŒÐØ…D9Zä'Îv 2û’l­›àš˜)°ÁMTª_ þٜԯû‡S;V Ç;ƒX3c;}êo€Ú,–¡ºÑÔª8dOð€zsdÓcêOßpºÎ’r¿ð’'kd+°càîô ¹ål…õ>ÛS˜n8¶pof<•›ßïå}/œ¾¨ÕÒ]Xt}Øè®çKÒ(©ñxÍË µvæèó _}Él= í%¦‡ó=‹Kÿú)*1—tŒ„Ír&}N”êÍ x+4ï’¡fšm™ØLxŒ,U ˜ÚT۶Φ3‚Tç×Õéª N•ç0Œùu­šx|m¦/œž÷F<4åSk‘x9N ú ÎiC¿Ø G݆úVk ¼§{ÙœI< ˜!§9ª¹B*«ÍGþ‰¼fâ!~Ocu0(*~g=IÈ79RünQÂÏ¢ÆÚÝ #\¸® î»¶”Ctý/¬æðg£–-( éB Þèq®ñK"Qßg+ÓÔKºOú^æ9•Àu8;bJ¡S˜Ýº€ø´CNj×þWöÕS»ÚsîrÛk÷̘[˜úÜ Š­†At%83ÃÈͦCÉâq³+Sßå| °Ù-Ž ^iþ6™¶__´w¡íaí®³[ݽ¶­$b\U€›jÖž´ûïùtI?¡Ð|}W“Dë>ƒ¯i,9¦:xÞ—uÄ~ÚJöŪÓTµ# ´rÎË|nâ #èù¹K]%nëÏ5”Ð7&9ÂmkXí0v0Q«k áÚjú+oÝ`f~±XX†HÍFuÌ?2ÿ²²L‚ŽièÉ‹U¤Ž Ǻ~˜îü¥,S ]#ñüŠ>(\dé…‹•Duú߬c>…Fx9Æ9¼µšš¾¯$&,ÉvÎÏ÷!ë ÍÔ;!0åCñ+U™F“ˆ5„ÕúfzáÝn‡¬Ì˜<À“ ý°æ/Ëž²õpõÃUðO?yF¶ùÉ!T®*ylˆ“¤JŠìí‚xêvKÚAFcˆÙíËØaÞ÷‰;kt,¨”z¹©É~ÓWTIõ±”›N5$_vŽîMª‘-RÖê%*…¼ëÏgo[-#i{J™Éy»Qî9€iŽ „däRnu>Í„æáÀ¥ÆHAdU~dÙXŽIŒ{#÷n€œý¾0î WŸ.VGS¤0îÒ!ÔLq—rù2ð\/nFÍò‰I0£ÅÊ}âËg¼0qãúÞÕ_ÇF¬ÿe«Ä®ž9ÅJƒÇ:këÅ4äÛóŸ{àýmÙ7<¨eÌßí¨€ÇË}8ÌÑAEýÔópvn‚ÇH{ 4¹W “œFí×]ÿ¢9ø |(Ÿ0rÒ·°ƒzµ¸±6Wvá'îÇÇ:›+÷¤Èš@k×4²CÛ=×$øÛ"Ö Ñ鳚¤Û67KÑàÜGïÖ¸ò!ó–/5–0NØeã’qTÒ¶"÷R^še#1óæ ÷Œg[p6XôlÙÔ)}¦¶;'‘[LrQŸHþFãw.ÆO”WÅ4ÅÐv›Ö@øÓ¡îq‰< Ün«*ɬTkõÿ•±©? ÷¢êºE×i"yXúQ³5+$L9)`üØéÁá— –;“rDT Kži•9naKn1¯EfÑC¾Ë¥°xU$ü(ªF¬|},¾f3ŽS§à›¥¸âÃ3I)UFzÕ£õ›©g–Ûåе]Ÿ;y /Nˆk\€8긻žrLq“a§{4¾2z˜ß8ôø³þ€„ Õ`¢ è° Ó|*ŒLί6ÅïÅ-™Ke_z…“ÄøPO$“&vøˆçWqû²ÜÓ˜™î^Ú ãWÜQ>z²$þºÐ¼*ö ^Y5v"Wá´ˆšæÞ£Ù.ÄŒ†â9°^¬¯ˆñ¢ØIœì:A0¿^Uêòȉ Á­Õö¨óon„ƒc燇Îâ(æ–“VΗjmK¶g4^× '!(œ?»½™ Ü¤Z¢p+Ÿg[2ý¦ó@8_>Éö…- YY¨Ñ·,“Ž"ÒÕY£g# Æ‰GüÀy_ÏÄ!_2?à….7éNíN°o™ð[ËÊ”vúŸÞ­á©RpÀ çu+Ãr,i“Á}ÑŽ®z Ë‘oD5`Œ"K“Ó{n(üŒZ8RQ¾”•ö«EÒ•\ñÉÛ¢ØÈgȪn[¬5r*¹p寵¶vúŸêå¶Wïþ*r ÏŸæHûÉM@-faxQâV¢CbJ§?<*…V¹Y¥>³iãNVþ"F¡ó{g9XpöɇÙÞÜÊJ.jìP³;pZ7Ñê3Õ䫯qïíDRˆ@œÙiÛk©smþ2ˆO“”%õ*Ë;©é¾ÅOAx¦K-Äm:¯ÕêÜkþ«/`š¸c ?|ù•«ÝÏ0¹"nAIb>žYhÕÓ+¿–{«±„Çc[í¡9¨R\¡H,“*rWC˜IÓÍ J²K ¢±Q‰˜gk÷h²ÉWX€}8MŧR$w¦´!àÃ) cå‚P©ì^™ÞYaHR¨Ô8+8îYøÂ{ qBá­™Ìf}ö‰}ÂBÐäÈH Ñv‹¾[óO¡‹-µ‡Æ?a?ŽKº\9‹ç=ÌüãÍ{ýÜvâã\. æ£õ·Lí Ê÷n© hkÈ´f²ôOúFüž›‘“d¶Z1é"Ѷ[æ ¯ÇA’˜Äå+WçñÊ]?àgwTŽØ,Ó6ÍÒ16¸è!8TB»¼,Šo™¥ ˜: ÝÊjE¨€%âJðð$€KE~<<4@ï3ãâø‰/ +‡Žz/({ÚÝRË ]oÂt¦²7ê¾—”ûµu"l„°Äc ¨~ÎΚïsäž*{už£$$3ë~Ÿ‘F·ý+È–ßQ§­.«/`EöŠØË©7ë¥0¶²÷[}†¶H‚Âö¾ÉÄþÿË‘a⊼¥và¨.uZ–-š*q#«CàDX£jù¥ ßÍ å$¿ÿœqõm_^f] |ÊŸ!ñCÙ…7ÅÛ r•ðUÝF1ŽFÅTÎ ÄßYòrìÀT“ báÒãÝÅÿO‰aSªz~¯Gƒ”oÞ±§UhkŒ×ü_hLÃÇ™ûâTÔ/å¯×ùG.½ãH–GO.¼2'Ç®Œ`ôbà|&x-O†¾×3Q©iG]5ÌžY!zOÆÚñT0â‡i7ž÷‡+G1šÀ‚3ˆÅ8B؆VpW ß‘À»HR¶³|‹‰N`áÇŽ<%Eo<~ z}$¸§oý#¬"=óú‡wAª0rÞÚªf_jToi%JMCl™šÍ¬±Eý¾ýEQÕ•ƒyâÎæ\Š6 nbÁÖ+^vÔ_ÍjÑíZ—H§¢AÒsædá0ÖËïòF£QÍF!¶úöFNEý–bÕ`²1¦¢‹ï<3%Žk‚Å¿Ø鹇Ìpn]%ØÔ~ÿ7éýC‹ak9¿@Ç{ÛÙA í@ì[;³ì5 †£?Õ¸Îî×ÊO°Ì…t¯_ÌÁ½EXÛ2×]#ûÜœZ§ÊßKäG àËmç¼9¤ÿû‘ŽZ[­fb“í¢r:íVÇTªB£[½Ò¶Œ²Ë'Î"ãßá §2iï,ÈÎ7$„Î\±ˆ"pœ\JÃ%Ìç\VŸ>e¯?§ þ”¹‘¨;|7M¶™mÃ/Õ¢ò”fÂjFDuÿôí劷ɛ½×8 &aâ`ãð£r ¾4°Ñ­§`Úz ß„ÅgdˆòâmDþñIÞ–+;¬,gçàJ™Éºíù¡gŠüEðV3ò~I 2kUþ 7ܯ-ÕÅXˆ×'ÉûÍl^(mS-—Qn:ëì´«+ˆ'=)+É$jÅÏÄš»ßÏìÓx¸‹¶¿ 4Á|Š›óÍØÝ²ÎãO ý@û0aØX…gÑÌÆØB^Ûp9Í·I, gÂÔRÇ`¶GlÁ¢z0úÍmQXàÖœ>z02N©_­êFO¸=‡Èæý§~÷âqnölß4OmìjCÌÝò€„Ú¬£³óÕRÝÉ—Kò@º ¦qŽD×%$©вãk¡ì„¡¢¥¹¦ì呺šu g¢;ê g¥zþ'~Þ¢%³*Ä[æ3]âuAÂWþ.‘¿7ÛX霎ŒëÙiW»ËQ|£yöÎR˜Ü|Fß—…ZVÍÓ¬*éfãñ/[‘¹•†<ùËκåa72w¤XÁë6g­úä…ÍN8ÁÉ:“¯‡fï×W`r“r–@§ÈõP‹nðÒñÔ—·¬p‰ ÀG X\]5Å›Åwo$ÃyÚŠ¥ƒj#go̽2,¸Ç>àxÎi}}á|YðôŒÿ¿‚æz¨4dxd© OMœŠil-Æ–I×Îr a%QûM·ïÙ‰õ1WY<ÑñÜdßû.ïí7²Íu‰çn‹J‚ Ó÷7n˜$ßqõØuê•™NÃ*ð`æ`ÒñÚMw·în1ø^_w„tŠiÅû@~AeÌÿ4Á>U¶y¿LzÕýMøòù|HÈÌCrÞ-À³QÁ–}ñóD œ¡¯Q_w¿Õ)•›ÒϤGÌ…íl×*z.CÇw[ZB >fÍPÚ«v8·+"| 4<6Ó&Saktÿ+†í˜&ïçÞÑV®KW€é%â¤"Ù2køCä*ÃÖò”´“½ýKÀGC`©1`;&'¾õN\¾ørÂ>´ ÒsµY(¥8úué ÊØ®Ü42Z~Â@y3˜ðþIó üaÉ«#í}ç/Þc|ê #äa™îÝFòÕÓèO¥¨i:š;:*XÜJ2T[eЏš‰Üب ”üøöæÚ•z×E²äIsxǸ”µ J’;°Á oWMQ1y’#v|yfø~çÖÐAFƒ<Òî’Ì·‹fÝäÛ±ý ±!!'‹^Ÿ·p•[•'Cè6ªI 6ûÇþ›~KH$ÉY2{Ù”©kv¢§÷9­ÿÝ)¹-`bñ@›-S»cV2ïÁxÓóÿâŒaN‚’$ªè´H(Yt2HFɦSè°È #`geVˆÎ£½šþÞº“ÃYÄ߃þ«øó7(öŽÇF Sá n‚Ä@©@غ9—¸ŸHNňԡ>ZYÏ@qÛˆ v¨NI—½æðͲᚌÞõVN`§h%¥w/ð_î¦`ß3þà V°uþ„¯¯tœÊvØERô ¡bÌB±ÊÝè"[uº-Û˜[ÖÍ‹'K¢è¤¿ß,~šUBªH>»K¿[ƒv‡ ;@owd0¡V+À±VZ¼ß#á®Fl ]‘jUÕ€’bžäE2ož˜çÆ‚4&MµÖ%K"Ñ yóTzH_ÄëUùö‰ ;ìùI¬"ï\þNr_Ä[s…‡¸;…þOm¶ÁRKãkxÎ!ù3Jëµþ¡'¤ãR—¬¶£æ`Uÿv][SIuV-~ú 8¢wÀXlcRm¢}Ϲ¤€Ѧ<ÇãfRÍ=ñõ¡s˜0©±ádùˆ&¢(ºQEO0–Å —àôLü1DßßcYÏ‘¤„ìÎL?a²’ÓRÖÈÃ’Œ·6Q šš%€ ß5}Ë—ö­ *  ‡k R‘¢P¥ú¿SňgmR£·6¯ÓRެ¨·ÅÛ,Ù>-ùüÕð|*€0 “Q "cö ݪÒǃ崶V@qvƒLF9ªrJk8‰Ó„¶òVnZÃÏ|‚¢í’¤cU›w×ÙnDÖ•ƒOï]ÝÉ~RªK×q ]Ä£˜6‚ ÝåèœEwïJ¤äæ5 §-Á¤ ÜÖ}Î<ŃÎÿÀwâ]1ÂïJóŒýʲé¤CÜ]Ó$2ä© |uò xŽJý„5Ž¡%Æe³ÌëºåÃm_Û QWÞ‹ø'^À³îr¾ ¡4WÌÆz“~ùî×?"—g¥nô¿#Å ^U‘]iQ3ŒØy–ØÎÛ±³@Ž`SÛ”¬ hÆ$éý7Y“ŠÃ—\Ófœ¨¤ÇŽPI^Xå'³‹È³¢!'0,½ë~t ÅS¤ÑGhé¸Þ°<œìX¦ïDɆZuãäÓ."–ö~ýtm0Q v¼žÓ’†Î#¶uÉTU4”0WѨ¶Í §?ö ¬–ù‡ÔÔˆhM_²$"(m²ùû¿ „¢¿ueÌÝœ5L/"µ›ëÅ?7‰”ÒH £âU!U]EQ®Nb®iÈÌßO‡°j,FqH›âçêM±†cY—#y!Ÿ»@|D?`Ïx›srõ¯ãï«çRd@%Ó¾ À¼ßü…Ö=‡F†þ&ƒÔt~Ëê¥Êÿf™mû»„t>㡼Xü!ÞéùüÆwõ:Ï;¥ Ç:ù&ÔUô L‰‡Ì¥W¿@û…û“‰…ˆ|&C5«àëø¼Šp] Š/EÒÎOÊÀ ²dã¢Ù–Íã$º­±Ò˜MÜqp‚Ì´ÇEL"¡ß™kô?1%¬cÖ¾¿sÄP·N+«úû%Qe‘‘îðàGW¥£õŒF]ç;y˜d•=HLj6h4ÑdÔ$~¨b z­Å=UT a·Qêi(d›bQ:P £â0ÇÑk—D<×_U©­í½šÎ=úáQL/X(½®%H¾êàˆ;}ÓGÕÜ›„öÊ“šD×·F¤r-:ð¡þZ‡ñš“W€š—Šcù±ÛUÍÑù±fCÿ f%b)µÇœÑô߃¼gý)j'†´5]Ñ3>)yÚ0yËuÐ…öxÐz•Ë.7^²^ðý¶oX#Ÿù8å²ÍÏæyIB _%‘Ò±eâlË+ò(€{®UyÚMÍŒîUÅÞ‘¶ƒ$Ж; †SõÀÍ´Æ]ôÌVÈt?ÇDÙ\B·—[ûÉòº®NÓÒ_^­‚ Èàö]¿€'ä«Î–ØNß4HÄ9Ž5­‰^î¦s=U?‡D•ak/$:ÛŸËpkÌgáV†r2`ˆKáåÍ¡‹êóoc¡7>ráémi¤]ŸƒõWÊâÓø"˜«õ×ëìc¾!šüÆoWôþxª²V´J± :Hø—4€æw7¯£d $ 2~40 ìz¼eóÝ µPë3:¥2¤Ù=meÒTóKW[rÝ(›ë!rý7¼H3°ŽJ FB²ZðÉAÂá«h{C?@YÕ'H¶tN¥: “ÂÎOüV#.ï9ý/ýA+[Ì2§uáêÞÀ¶€WÚ·+ƒI`úsD@¤D¢C‹¸`no§%Æ6™úÖH¤i…Æ\q„f?ôŸ‘q½fÚ À1[âc°0|ð‡KªµN:Xª<ÀíIp.íê9-†+Ò3w‚ ;¢£@SH¬Åþr’@h# Ð]ec‹ór3G–éÛ#¬ªËÚïÌþ8®mì2øC:l­x™¼ANÁñ8a\x?‡Ä ŽÈív¾Åç«ì8±î„٠ͬOã(0Oì)|¯uº;KKŽñ¬Ð¡>'º©ÐV\opv4Ì@•Ä BÃT’±«¾ÆškR0LþÙ[3‘¿éi-쩵Æ#Eò—ÊÝØSxŽÇÝVW…B…—Î%Ú9¢W˜gjOÙÝû,)kÂ¥º˜yßjÑ–üŒ´ÑŒìg{9?_­˜¼ŽyõD1"©Hz£2ª©Šô³‡oÇ0Þ‰nX½æ¸¥ð2^Ò¡úæÌ¯1¯Qn~è6xÁ¯ýCòuM®Š«B›Äl¦GÚ²d¦ÿƒnÃB?Ù¯¥ÿ‘ýø\oÙ•'pÍÑ ÜšÛÜ#¾»—W°o†ës&´³zAÀõL dšp¯ºÕ`ìapAä›v­4šb¾ô o'(Âёˋ ¿x0Œ Sƒ©©ºJ=N,%–bz¾pMis¤e ðú¦8 %åK73bNçíwä! ø1‹O=ã¤f…‘7ÏYóâ_í÷ôÓØ }_ÌË}®ÞWÎëÇÜÔØQ{߈©¥1fæs9Œ]0% ¬}LyˆQ)ÿ•PW-Ò k5\Á5^ÊB32 ý½MN¿š€¿ÃͨƒÿßnIí& âîNð5kòJÓ®†Mª+S€í$mãÅܺFÉ›ÂLj&4v|2‚iù~$²—~†¥·9goý}xä•¡½Ô (ñ 5úv ŸamcÒY`?ä«Í{±ÑN6pÚ¥ƒ,A‹W­´¥ïIN÷Õ•öƵFöûºº®&Uаù[ç>$ÙaMÑ«HøëÊ’çú°ö˜]®Fkí4БŽ=úïŸý7äâÕ=Œ¥öYÿ½‘í”J»è\•>8‹~pöÄDAæ¥Ä`hhG:2¦vm¸Œ°¥éðtNAÃRXÎ[pŸn׺hÁ³‹do?z'c /¾'|ŠðÛ^*‚_è¥é°³>Òn½D ,IÎ"ºn<ëYƳ³"Þá$;Ó{$Ñ•ü¿½ÈÃ#ÁÃ,Ñ­cGYÏÀ×; {¢H­^„c'^Kg¶€]è¾òÀ!øXÿì²æ8QH^ ïù‹·|ù r&Ö*f¸ô¾¬¼ÙþÜ’àìÙyÏÍn)q¼î_K©kã¶Ïª£hÁ†å}‘àh{4ÓN“nKKró¼˜êÀu.cHd¥ßa†ÍÀ…û{³Þ»$47êŠî•@ö&lDÀ^é½í ¼Sxò °¨åý¦ÂWøœxÀ(›ÞÕuD‰ï¥/¿ÑÕXëΩü.*†Ï;ëÆ:sÁfRÀ¤ú/îu€Ÿ«sF¡¤4r8€®™´¡H<­Pdf¾á†–é²±#é2[ê`Æ îÃåæNË0µü6|Z÷7I† õ/›,÷9ª»vŠà˜H÷~›Z‡GN§s~ó«iZS¸hÈM?Df¬–x¸òˆ‘AI^QåvitúI´jžHñ  @±ý|%¼×õ÷¤ ó‹š5+ÙPýVðàkÌ&®¡ØE¹;tv˳IÂjó§K˜ Crz¾ ]•*—øLÒ'¹¾Ðµ„ÞÌh6󿹃~LkÕícæ+2 ¬ÎÀêÏs:á½MØ(¼-Ò¬ ·áoÊ 1n†nAžwZy3•ªÞYbž®»ín&ÖøA¨ÿ[ƒ'ÙÁá;þp7újÖvðh*Ùí‹H˜]ŸÕ<þH!ã—çvÞŒVqåvNÒÇ+¤ÙÜÝOë~ÐDâ³è§P€ÏÂÂ1àê¸ãÚs«‚¸×®iÞ¡_ÖŒ©íÙ|lJ™)ùX@È»Z:€ 7Olô3o­Qm\!º/aÚ)‹‘Ö'¶ºf~ƒÈ68¨³ä;0‡rëú™ô|!VXÌáVjHÅ/jŸ^É?€Ë(ð“g²ž@yøõý½;S7\(®¼1v íÙ5†p0Äø†ÉÓµöí LuâÛ¿q«À§?Œ™«tË/ir 2Ðÿ"àÛ?UÇ Ö7¬û@ÑâÛóFz•h«øÚ=qÏDú-Lg²GB}d]@AGN,õÒ˜˜òýnÊ!õº}X:‹ù%oé˜R Ø)'õãÖ wÍF\°Y³a—«•Y®‘U·@ò²†kJЫÎ,v˜¿Lö‰r/ICóD»<üÃQç{ES •-e’}%ü=b¥ÛþGB´AŒéhXæÑJþÄ¥ŠÐµìœúƒÖ.ˆÃ†[I…iXü,¾Æá›?jÀãÖK)IícTà軤ֽÖx†rrHeíæ”x¥©í„díIú`K\X@(þ"«~DäAœuÌLõ1x V7{בáx Ýyþˆ'ì%b±œ:pŠdÀðf)Š1š–~Æú tƒo2Šœš#Âs¿Gê“”†;ZT7߯pŽ=W’¨÷¢@xÒ{.[ªõíå Ù¯þ^îMü¶‘Jݤ@·—P'ËËY_<ò“Ù§È"}— ÝÕsƒ¨øñXïò¯¦3Y1#Ni5¶è@8¸ý6&)¤µÿcš€´ýÿ]Ø©^ÕÜlô† ùe[Zî¯o4o É ¾J¦ºEYéËã‡;ŒìCcªëQò9“#°E“ž_:‹Òç!ÜÖu yd¯*—ßbÞ¤šÚû§D,=|8 ºëºü‹íLñTcY!-5zýž¶çˆ‹éP¸Â–d§ª¦n©$úû:û0ò~Ç”Kªµx‡uPÊŸ]Fµ†‹”Q!õúZ]O°LºFHònøhµÎ^e|äÜ$QÚÏS*ÓÔɯ|ç|1ò¼—PyM®/w΂دî·ìj¯ƒ6±Eý¨0£FñÌ$Ü«{û­ð<¨ÇýÝ „MYáµbl*\ pªôÉð¿4RäÒ”œ«·1£[7ƒ žö„ùçi–6hÇï6êÝœ·‡—ÈWÔw‚€I KÂ!¸JL¡üÞ@BdJ¶$¿^»ÐÁ÷s æÔüŽ™NúI ±e‚LÖˆÌßTnW¿]ݹù€GÛ&4½çm1íyFsÙ´¦×u瑷䄾–Sm‰ջゾûdÍ–8°47ÉóóÏ[nYgå£q ©tÐ,1ïÝ >Dùü.‘O$hÀÆÑIe±B¡Èœ$ŽTn_’H]Äy>BJ«‡jŽïO¸cÉ™MF…q•RbAò'_¶½ ;D–tÔødŽpþBŸ³僰Ô5OÖëŒtf|F›zÃHeIŠd&Ž­.wtüN)².Vvq_e> Œ–íÃÑeœK“ BŸÍÈçB™Ðbý?Ùˆ/FKÓ÷ÆsÉ™0Ñxh¡¼¿=!ŠS¾aÈI¢fr3|Àoxn.ž~!ĶxP 4u¸b©8bÝ%æ64|~3ZR/H|qYUÎò¦eÉÍÈ­~BûPøH}d$™bçMUSØÏ6Pv DVËúÐ?ÚáFt£;€‚r¢é^9¼·ÃI¿BÔ<}ÇD-²]ËbäK¹Øþ±Ù“¬þ†S#y-˜.Ø A^Xî¼GàžËž¸ØJxÈðu°c¦ü6TGèÔ”Nxé ®ÞÎ>¹V¼ÞsûCŠíPÝ×*:½ˆŒÉêUZ½z,cøð…çc¬Ï¼zX2Û£¯QÇò”÷º®È§€²RG\]ïa­f4!G§µ)Ö°7¼§¡0ç©‚^Ô·s ñ™Š*°²LBÅê°Ÿ½s<7zI’yþ]ªÇÒ5&U(ÿSô@qfæz#Â=QH *&Ùc*Sš¨þÒTLM´˜'µŽhßxÎÒpÔÕ‘ªôF4 hŸlžÙoõÖÃ}¾:b,ípôq¶…cB ·nO^æ¿^õ>hÝ{`Ŭ4Ϲ0á µQCl¸EØ¿½¤›Ô™Ñæ9N|†øÔ6/3û3DfòDÔ­¯sQs=?$“|U;•p¢XvêÝf¯n á!ÿà!Ú š-¨êfl¨_¹¥ª`¶mË?C/ÓÚ A¶JÆ ·|½>¦±?NÚ_Fz—¨Òec­ß! ¤¦e§ÜÆà‰‚Ëc1­2|ã¨íŸ ʾò²Ê÷=ʉªøÌÀa¡º÷ƒaƒM¹dû½¿§¨`Áë­ÿ™Ö4û‰«áÆ×ê="ò,@‚pݶs¥zվ·-›øŒ°ì:,·ãºûõ:&)«yEЉHÄ0\y¡¢†@8ÿk®e••–i_ÒÑŒÏÑù(Ä-¶ÈÞÑvÕ ú„–¥ò"õÊ/Å¢þ²þm†ÄD¿;·T/Ž0—ùÁyfá åŠÁ!= .K€»XgÑ¥7—bØSÌŒ}„ÚD8“¸x2k¾ÓüÀ Ÿ|¦äFËˤÙ^2.º4Ɇö«°™çBŒ“Ÿ4Y˜zVýCÒkûÎå²Ãô=R°­Z=‚¢ÐðÈCvPÉ7úÆç‰ˆå¤Yݬ÷¯MI°jY¾ÙúÐJÉKɵíâPWPD\ÒÄ"YˆÛÖ' ˜Jì¼èµù¾m‡I<3cQÖiXú"néÓñ›ªhey£¨†{iæU:ÖÌ[S°r¿¢ >S1ä1aîä =þ·Qßð9q˜WABx‹©§þ¥'º¹çÇZ`¯ß}¢—1ÏÀSô„-ûllÇ’­Ì*zT}0,/Áìhè(ÊÇ¿ÃV=[ê6©)$^ >Š€8N»Xo°âW—Cÿ5·‚° T¡Q¡çL“ÁY7UÃAv5ÿ”?ô à¢=Gˆ™éíÚ*Ïz”1V<_º­g:Ë‘-ï5,š\ ”ÉMðHÿ­žÙµšoíZã4/z¸°bj¡ÈCCØ€> .øú™ŒY5¶dœÚ ‹Ó--ÒøÎÒïÕ»Áˆw6-«Šûد™ëPåqàü”ê9v4‹wù1øÛ1+–µ{Pÿ“·„$HÃ!Ï-ð^uǹ@ž9ð| atS ãrøÿìÀüÀçæ>µ×J¢>ôÙoÙÓN'ÚLLŸ±†F“ÕqGÇŠÌ:8;®á7俺:$[™Gv’8]q·=,Ë¡>pLþ %ÖÜ\Ö¹S@Þ‰v1_Ðö³§ÉÅ(?À(O+H“Õ9d†8(¹H|ÕgF O`Øt6jc¢Ùý©­{ ìnUUcB+ÇoBŠ6øÓ+lÍ×…ÐÉ€²Î&Ý)j^¦Op’xŠ`‡e»Z·f6À#Ë,|¼Þ÷ÓŸŽzpyL‘(;AûKíÆ¯°êßU@ÂÔü{pÔV;B§ˆ5>§÷¸bSk½.ÛL¼m:hÜn™!•PmïÚ‰ê!fƒGcy6ÛäÈ)…ä÷£ˆ‰òu²Â ‘&ºŸeŠŠµì\ôì«ö_E…Ôòü¬ª3íHÔˆJµG lÜ ¼¦*‚ÈG¾PšìBK†š§§íE²Ê#Z3lt(2€ú´,ÏÆÛ°Õ W•þ©»¨Eð7B‹ÚVÃT$VZÈïc ì Ëœ´å_´ …è$ ÑïèéñÿÌYqtFé;N–®P} yÒÎ"YÖ›ÄÒS<àÓè¢ñìÖƒjºÿÙ Nj.¡’.&êƒР`ZÁ°`%gbNXÜ¥U6«DMf~"ç±Áo0QZ¯û,u;‚ðXñ`oD"»ƒô9üd\\U¢±¸äÂO"pÐKO ãÆ¿õ}ŠÐ½m˜Fñÿ-Äa DÙþç6Aaª6Š;äC&îâƒüí:î\\“ú£ÐbÕC'uBUß ÏùÁryÇ—R›òSÆTK‡AÝ«‹/?¤¢E‰œQc!ƒþ9©|€dPŸ­Ãb—£Ý á7—ºª0„¸|Î-l]gØ7òbýè‹ ‡sîüÃæ ¥‚ c¦N&9ÿg§Vö# €#‰´…ˆ8åí†Ö"mC (’)7‘\Šïþ J‡ðb 7ž»ž”(å’m"³[hݦ÷ÉtjÚ4˜4§Rñ:?š”-¨Q«ë™2ÝߢAr™]8’³˜òÎ9ÖYÈÈz!ãS‘ͶçHåè@@€Z>—j~òUH„ +8ICþÉ:Ë®±ñÉ:s|‘Bl‹¤ª÷ŽŸXͯlýu¢›Èì.»Àf;¤‚±§^d’,;LbèJñ³]ÇJY÷òŸVr.š‹°pe›‹S£&½ŸÈC_[8L.:@Áê:õvk*àƒ…Ž:e[òzCNYˆzXD}ŽãÐDwü®̹‡iëÁÀ’mLpw;n$#hò2kqLsÝ?õ…QŠ·½»vÀÕó–¡'þ3CÎÁð >ǘ,°#.C?fÁ sý¢\pC[Åg;­¡¥™sß]…Ý`ß†í§ Ã͹ûõù8>—He× <ß[ïùI>ñ*wƒÁ"ÜHû{ø„×’D4Q6]«„—¯Œ´ì•¢…û9²®Ã“Š MÇ6$ð0„;0–3a[®Éâw¦"IÉha™Y±)‚KÚni½¸‡F’QÑ §Òø>„d\¦—×ÐÜ£´3Û¬´nb* :\e|yÃ{ìô>q0£¼b©Dbýïäåîâ.íŸõ[¥B¼Exj~J:ñèؾa—ïħ¼)œs³tK%U¤ˆk|â}ûÚ'é¡„×€šnÿ…¢ Š­¥ÍˆF1€3Úg µÄÇø/n†.&š~Éîx þ2sÑèÀ”ƒÙ=ïÁs¾ÌyØ ÚˆráfÞ)¡OQaés¿·æå>×–E)ÁŸ¶a·Ú?äÅ!Â%ãÃIŸK7×´%ÏUÑõÊ:ÊŒš6$’•YÛpsy}!ùF.Ú±ÆDò‘`!ö?Û̃m¹:7üS°/üýû÷]ä$äÛ#¡ø½³]¦jSš¸Æ|¡ö]©OÉS #(Üz!#Mù»¿€6ã¶3Mb ÖF®ä‰aŽ„ÃÆ5½5·MO)#–²Ú¯:ÛŠÖ.†ê«’qè+ƒêÞ’/­!ô”Þñp䮦tù9¦Ù& 8Ç‘È#¤Ê¶Vçù§2§éxBGp¦™[…Ý|/.¾ƒÿ$H F]Wd§r°sRÉásC+Û|lHЄРÊ~[´®l’g9k>m$bª–YyÅnÌþÏF@çKý½IðZÆ8Ý×D .Êf-[„y.ÐÙ‘ƒkÝ™ì+àÆ”´ºUà„-Öº½­k9 nà`XlY.v ñk tâç¤Û²±ÃQ(¢ýL%™›w8QÓ¬åÉß~Jllñ£µÑ²mt–²c‹øîÜÜ›‚,IQ§$æc ÃýX;ÎwNdo{;DÌ àVoQÁ{¥– §+ll__HùSÃo–Ûwn3+;2®SªnKŽWF‚ÔZ!«©ÈûºyCÓ›ð‚—«;u zé*̵Ë:ÒZùUÅ7=iëQsü'íØ”FŽúlžkŽ«4ôõL“Ó„Hx2‚Eô)ÿâ ÚK»*¢ŠÆÜ]¾|ûÌ: i!GõʱÀÃK±Åû‡d¯fÝš{¢TÚ€*A?º ÑTaPNê JOd¤ÀV(Àq•{Ut˜åœJ)=2‡]fÜâ„ÔÊ\ž™ð¼Áèé­—ߌl%´F’áºk›ƒ:?uÀ½ Y]}×Â:KU(ºVÀO³ÁÍŠêš)IØuqèÖ›ÂÈ[“›™oŸlj¿çYíM#žýxËõ…ðÚMeŽ#|ÚYùRø±¢7K5 <£(@W8–UÊéÈåf~²~4hN&:Õ芴æ”m92^\tBôWØ?n‹,‘8…£ àŽ«BÀæÛ”¾MËëW4»œS:©¤šÐ³¸<`ò S[9tjÅ‚ûŸDK—Í1=䟲7JìÆSÙÅ=V˦¡Éú(¯¿Œq*âM.›*„6ì! RŒc.Ì·ó˜³ÓÀ«ËŒ`¤–7eIÆÄùWu˜G¸XpYø?G,Ó†ÀɆ²6kæÖÓ— 'tåî…“iòauê0pM¸TJÖéq:À1 µ| ©rÕÄ„´@y©°Mgu'`eÂÁ¨õð±ºõ€Ûè&}%5akâ1Ü ª›ÎwûÖlâ(¤gsn«ìU9½iÊxÍ™tÏ èÚ*üìvcºÎÍÁˆkÀ8g˜EñaÛ,•^Ð}"<¬›€¸Þ«„r]¯¢šo´x>ÝÄ’ÿiÕ’®ƒžþ×*Žë™0Þ’* %²S¤¸æô¨]wý)ëâ]~ï<•eR`nÉü'ä;ºo¤‚6ëÁA+›éø_s»PêÙàÄŒû¬‡’®ÏžïDºÄg~½`«VÈX‰¹Ég°Œó=?“ØÅ‘hòHùÒQ›†V„ð:b¤pßX g— ½n­ûÒ»¥ïHèèE°ýÇ£•âZ0Ñ~A^Ôί¤¹y¤ú\ò¿+ uP6NØ Ot“Èïe p=Êþ•óËRò¥æ5Ç!8B*ÃJSiXËVßtçI²êèRI·wCõÝÄ›%¸ªoÀUH³åZdÃúa2Ãfè-ÔÐöB+4?IrõÈhÈu°$£Ý>Slˆiñá¬Î&µ º¡•‚’; Ñ1Æ3¨:kµq=í¦uà-¦)=OqïO«g€'e».¥D±©"+¡F¿²èÿ¥hx™ƒñÐéÓ¾ãb“õ¶;SRÅ‘¿H"xÐÕï& õq[_¼yØ ±÷jϼzé)Œsxc ¿ÓaZÛŒ3 ² ºMiÂŽ%¹Ôe¬¶Ø+ùv F”KWb»Ã”#××OIÓ0^kßNYï¡¢&1Úè@ðIuôâÆ—¼àP OAÆkú¶PðâióÜ+­ú Ã€·¨½2ó~Ò]i€‡¹‡Œœp¯îQØ1²8( °‘ö¦ öxG*]æžœt4Î fù„Û×ß|“ J€²wÅ.fN´×€aníø«Óô剨à¶91 ûT{ŽU¦¶ŸBu ùµ;ý¬OötAm‹éT[Ð;W¦Š¥§‘ª7R—ªÓ<”žÍ÷ª2í¢§ñõ!òâÈæK¢»ÃOUNV]~%Ϙ =ÿ˜±m*?³é¥"eþ¿ý™¼n©ÓeÇv Ü?¿§ qã‰ñÞ> $¾òvǼ¡õÞµ½Ç¶réH¢GÝèË®çx?ÒØÎG8½ßRµÓZc fž9˜öu‹´2wc—5ôGÖ=2‡¹s´ª NR2áÌ×[%RS©£ ú¤@ãn(«ÇÂE–$ºRÞº¾ o؇¿\øÌYôl›*nÞ×LFýs¿‰§[>êe¬à…>½6ÂS¯î”ç~m.Ú÷é£Qγý@ :p óŠ-^9ãã¡4¹kÒbÜp͇£NH ºÍ ½¬ ~Ó† ÿ$²…[ÃÎDC Vp“4Ò;D[ÚŽÿë¾óTÏ Oq: °÷,Ic~[ ÖãˆP!À¹ Föa |—¢;ÀGxÒ‚(QEPÓ Q!löíäFÎ×}ƒ! 3€¥ªáäñ?ø“áŸ8uõY?]“ñ¹¼; ªd[…¦¥ÈŽÆ–àÿ±žgåvà%cQÊ/ÆâCóanú?ýR«å5n†"RÜ~p]õRMþw~Ñk\D³}î蹞þF Š™éê„J—‚®ÜGîÃ\´éÕ`“Údë†Ò‚"I8iÒ}Ž2tB¢­’GÒ7—é-œ±{Ò–|‰îñfoÞDy¼â}bÖÓÝW#é¯Ó—°V™}9–’¯Å 7T>¦©ÚÐW†@dy¯D$P{Æo.»jãz)¢ò™~XY+ÄCÙT†ŽÜC¾•ï9K~Q“3 =µtŠh@ï²Ê3·í'¸ÔYó¿: –‡ ò?D÷`€%\¹ÂRg°Lq8³—-è‰{iþ@Pò –ÖÈpè(µ„™6‡‰_ÕÿšMÿ|¼F&¾#½8sVŒd JÇæß3^S`ô–/˜J¥š{æÇÖY^pó¦#ø_ŠædÊ^×u”®±ø¹r×oâV?›hØ?»Ñ?(Ÿp¾*Ó~Gº;ØÄøØš:AŠJÆ¿Ý<¥*hL—ŒöÝÆ‚œ!Vh@.ãÚªo;cwÉBŒÛÿ`PK7Û€¹ˆéi°ÉW odI­Ó$xpKΔŒ–(%ràRGÃCçÎËí¢ ecT²úKh3½QO%d±×ÊVÀ½¨K}f¾e•쎦“èY˜%LDè^ÃŒÍìm åâ'£ê{·Ò¾ÄšrÜH¬€è1;Z3”3žîj¾UÔܵð•Ù¼4„ëÍ„€½ù|Çç×ááÜ3’,5 DáÏ{l•,•aq?E0Pwß/{¿ƒ{Wðñ&°úÞ8ðܧGœ¥µ9$YWg°$¤ŸÐÀ¤é—dÿ´$[ˆKp·g.Žy©mÏ^‹ 3Œwɾ¢ï?XÁLYM›Ãç¼—Ck ׂbàü Æù?Ý£Û×IxïNÖ¬.„; Ä[”“Ä\²%Kï£á¾Ã ÞüŸgqªÏ†Á¸¬5: ì·|p,æÒ¤®u¥ý~!G;îðhüÃÎZiëpøw´Ãgl45%H.ˆû”Ð/Np&õzçMä~¢¿UŸú11Ömé1?Bvè¹äTáy¤DºÝ ×hð“¥`é 8#ºãbªBÔÿ &…àÞ`°Àÿ¹ßéª9NÜÓGf`Gåà|ÞJÀps ÖÁ]Ig¤õ¥*¬ð‡'@ÐæÒz„å$ˆ¼%áíÖ<*E°™¬7i6 ›Øw•¯NcHtEóNw„f¨L°›ñ²ÞÓR`ø‹úÊ`˜Ã©ˆ1Ü`À$!a¾ÆÎMržœ Òô™£q¤gé Tl“ô¦uäš@ýÜ,ç”Ê.#eó\Õ„êzY¥Í´"™ hJ-nˆTKý¦.E ñþΊÀ‹OMgdÞ¥ÌÏh,@ûtÕœ¥†âÊtú':hé''³psXŸ¶Û. ‚{ŸYÜå3n+ :ò6hØ.Wﶃ5Œ¸Á“ûÕË9%íAB¯æjQ•Çù, ?âO$åí?¦µ®ç€˜­ÚóµG;¢Ø³/QEDQLQ·ω=<¶TuûÑûoVdø$þ}8µçÌOk;ïëø‚ }09¯Hœdëw|-¥~ _s€}nTËè­Ø;O¶ y3™þäAU§èñiÕmÔîÊ hH»æô—O²L[C!ëD·b8;£¢ýD7Wl^™³VÓÕW*ÓàóšÌ¬Êb&Ëœ~¬5„F?ä™ZÌé§È®te³„c ÑrB¢Ò¢¯ÉËh=ëFÁÐzvUÝüÉ ’ãæ•\׬zŃùš—Ül:ÉÝ_’ ¼[²´:SÂÉký}ŽµÂ Ð‘EhQì ŽeDë¨Ú¤Ƨ¾ TßB·ø &1©1WÃK´õ¯WÅ»p[Úx-¿ú6“FD|Ct^Ìv%!©0nŠøQ…¨›1²éÝìà-õ'Ø´‰’t)`])´ä¢¬Eœ³Eö,Ř«G.þ³Iî½T ?‰  ¡æïØõN:"™Oõè×÷*M/gé|ë$t¦M×㸀¼6®uØÕhˆ Sd\üå1>íFŸTæ²;|ãkˆ{£HYdØš6ÿ¡•)²´8ÄH׎ŠÏ¯)já¬Â ëeð}"Eùåp.ÆÔ,wøÒBJw0_…ÃDrÅú§0N7o†uúÅs¥œdÍdoY'ŽóÍb‘ä/9ÒÿPcñ„«';à,c8ª†«gU…Ò¬ØÃs%0ŒÌ½ åÉ'Ǟʑ{ºç÷ÓC·½ßPX–S8¡=ŠRñÿ¿¸öyz}2Ö«T˜@}ésÛ“@’–„'T`f•†áxlW¹1Ý$ Üe±kÄ`eˆ­ uZ7)cÑ[›ë>—ݯThšs'C½¨AµçC·qòò½9Ÿ’v °ªØ³uËÞ¬2–Mã–gû¸ Ñç©øÕY.‹Žö÷«|JD˜’/zÒ¹@6M·Â¾ë·„´U!³i ¬´ 3ˆÑ çšOÏï›ßÙ|˜žU›À€‡Ü`®6<ŽdX"vgÇ¥Ú»ŠIh›¾`Á7W+Žq²õòŸ}P}<*BËàt=-Öõ!xsΆÚDm‘)’_É©nÜTÆK&œœ'ápvV2¢µûWA1üÄèÛòmc1-n‰“ƒ9Å.úÜ*—Æž¾Q¦ÜTøú"–Q®é‘'áR»€/Èί&ZTR!0dÏDòYtĈ¦˜ ]áI+¥µŸ—ß‚}¾ø}•©M ®í‚Œ‘ˆ93â!·ñæuBIãx§Ý«—clWZi$Ÿÿ !ï Lj' M‹·$H¢Œ»¹ÕûnÞy ,gƒÜÂÌë ›¹ã^Ëâš·¨T`Z™«ìÇEc1`ª˜÷^Kyt@|ò´h1‚ÚE)Þ V–~8]y+ecè¶côqÞÙ•Ñ7ãð•k^TùáR 0èå2ØòæF†FHVzP‡t½ÃʱuU\—×£–-5‘@få Ñå¼Wë•ô|¯ô¥{ÃKЗ]£¡ ôNW'Ö=ÊÖÉ0Ѝ­JñVé³úå-˜Ìoîx°EòôƒJ½MôÏK°k¤!‡îËnks4'{ðø¦z×iÁí®o5†[HŸ¿”Œ¬ÈÃî‰0Ö[³’¶x©ŸR6ˆ%ˆû|ƒì/T9¼ýsÒ‘Ì—Ê“Yî]*hNš²§dΩ ¡¸Ã´…Èåw0[ a|Ì^Çã5A­á)qŒ%¼çaç/pu¦Ÿb 3ÑFƒp\õ¿½3”ލÍ[⡟_Ûç%XJHŒAôQ§ÌvM-ð¢r¬".tšÿnì8L²>›„uŽ@‡ ?>_nŽî$°Ñ ·G`Ë-Á@¼Ëþ÷ìœ0ÞNR ‹-/ ªc\¹Zçž*¾µÍÏè35ñç+y=ªóþç¢wZñZ8DŠËÆ„e®-ýÔX‰%Úã#¬^ûBú5ÓIí$À’È+@¯DÉ2ITšÂøÇr§›o27!.ìî¿ó±5žâÊQ†ê•p@xaWg9pýŽ9‚÷výÙX½tîK™K ýúè‰ Âu M–ÂëüäÇÁ&äÇ´‚8$yNë:¥^*"€¢Â Á竆>Ùøí!;)é&Ã1¢¨ ˆSñ)uðµAl¼÷ègöýÀ}.Ò¬aX ºl •MÏ\ôT'Æ@8èj˜5†Ãl,WåAÃXƒ4 Ó9•”ĆÅBœ/x¼ô_Îücš¦ð%!«oу_ü!£,m™~+Rh{`G­b ׄ Gªiæ2ÁFo­”TjWÇ$ØMÀœÐÃFØ C­‰ÄxÚaºbh¼˜¦èéáZg¯½q%pæ;+Ká;]ÂS“#xëßÀ ZÍhxîOp×?·_qbJ¯Ðm¥J“Ñ(ßÎà5Ä–ÛM†æ›þiMKBõ ‚^^áKâÎèÍèŽ)ádÀ¥‘½»hË„¤&K'lÚ©ø¶3Ý%ïÏŠ@cô§Ý^Æ]Cr‰ EÜH˜_å D¯®òÃØü›ˆ‘Ì„NcÅnœë‹ŠDëwqcô^½ÆÂL;èwk÷wù­‰Õh0 !­Ø.œñ¢Ä~ª×ñ®mëu›try’ŸS û L5’‹Êšm^¾ñžKPÚ}RU?q®Q¶M‚"‚Diɹ. ¬I[ÏKÅ[u˜²Ymâ±OLr¹F]žÒÖ.ÙŒi#Ì@ zŸóãNr¸X€®7އÀ•>ªÈPW@iá"êHÜYe äCòŸá9Ÿ½<ôZA·ÔЂ€ÀM'Wkù&Ä«EÓ]hKsèáõÇKظ„UüÝ¥9„3©ƒ×»úAóÌo2?àœT¸U᦭à ›Õö€ÂX ƒ¸##ýÖL’Ó Êm!ä”N2ÏŽïºóeÖodòÖH ÖmØ]çE9#e®ùQ2gáŸ^ÏK2x;Ý#Ίx´c êd~A³ Ãki’+¶ÔÖÎ5½î§Þn®sÛŸyøÞpù%¬HHÇ~s.»þáŽ} 3ào¡®g^Ïá¨ÝùÚ*u~ õÍÊì÷l¶0×x…â.; ˆG‚]O6d4ˆ}ŽP´4GG‰ÙæÍGj}`ó…ˆ]ÞæNí;@ëh×eŠÞ‰˜aÐ>¶:å¼ó,8}nAÇ¡A€ Nxú( ¸d3Í5&yOOÈß0$põdÃq‰B Ù¶VÏ!îòÇ??4^’bŠ`ÇNÔÑSBI¸O s!ë1S¡Øw½¢ë£K5œ UeiÆ”oØøzyƒéª‘y å:ZTׯÉJâòýbpAÄBØÈÌj‰ûÖ&´(r?æÆÁz'}Ñ£½å„~Mm—ÃùŽÿêÈd~SV.'(è;Ç÷|Á²XÒ\É‹Núˆ¬‹q½-2’8ºA1*ýë ýÌœÊoÍ@Û˜´y]U4ŒØ§…ºa2?Gƒû˜éwƒé»(œüΔUÔêf¤Kð$yðO‚¢Ö‚üÉ¢À³ƒáZ¤}OI×.nQ'« §Pm‡~àé†3·ZÝ«;(?Ïâ&õvÖP®Ná<Ö¿_ç8-‘¦;­×…yu’ÚwÚ`{Œüð²_µÞpS®ÛµRûÔP烙ÑÊtƒ Rsˆ'nz—…@éÍPi‘?ž@ÅIO>Þ i6ÓHŠƒa`ûß'>ûqGFæP÷ E-­÷þá'Éc1u×èåÏs``ý ,YÞ,FYj¢ç3öΞÌD5ö}؆`p¹à¶Ç`Ë ©øs¯ð?@¬Mpé{¤²›¶Š3oEÿómÅÇØ½h .ð˜Ëlo;í);T#T Ê Kd]xù.ÀŠ·tïàKÏθ`‹¥©äÆ~e-0è·#ÞOó=xïÀܦ¹ÙßOý%ö.Ý”ÎR>†}Âh Cpø>¯Œ5ˆQCÛÚ«|î8 ÜsfðŸ+ uß}f«R_4Ú\SÎ+xÖø7Ëq&¥m¥” ¬c(îXë\»è—HvKDuðEXUHèŦ]¨Ù²”)%ìcâð¦ðÃ"fpì6 )"OŸdJCöx×uú`ýÕ<%ögCÚqî‘0§‘U‹`i+W1åWjh‰Íc&Eµ¼zrc̸ú•…ײGO€?W2òž=ádmêÙµþyHdÇa¿¢ùæ'1Þ9`0KbîŸ(q/ØÙÍTYèó¬„úóÆÔÀ ªÂNvÅÌøSñ\¨B츒™ã ï4e8K^@±“.Æ&—åDg(†ÒÕïá!™€vM ïÿqÁ #)%>Ú[ˆÉ)ÞRƒf†C‹ 4M¦£èyåÖïÑ{¥–Û¥Oò—±üµJA9 BÈE)'îòàœ$ù9„Z=c“"|gý¸ 13ìì© ùo‰ûȆ~¨K…i^¦áÁˆ®Ú"éÃé3L/-çãŒ-{9”|¿S Õ+q]2:FC67rd*uPå¶®=´ã&H«R,P@tx·íø^Zp›¿[943™ÑúSÐ3µª‰ÉQM{W^{@‘¾›H"ßSK?œ8 FxUÇ3;í­ÀcÓ _æ/§?ú×ÔiÓ#¥$-v§˜@€óa8\ýrˆ‚'"À±zœËä©K‘7 úß»•ºsžQí}Ä™Ñ-9~„EWÑê Q$WaË»°zëµS/Þ¬cg4ï¼ õ1AiíãkÌÎQ¨[`—ǰ´n*==¢¼aý0Ïú¢£H¿ÏãÐÚ¥õNBí1§¿NSq´¿Ý7…t[[ ‡ûDÉÆënVtŽt­ËS«·ÌL-¥ö©SUÚž•0±>kIèÜE ÕÕ WÙeëL‘uP3¢ú¬*±–‰æf$Mn7x Ë´Š\BT…7“н„ø§,ìÿ¡‰Rª!ñäuœ—HÌ¥ °Kö›Q;»¨ t§ÙÓ(¦·¸¹}+^Äø@t€)9©F$8œ5ûœºè'‚jjæ1RŒ¢ {qr0ŠyóºôÝœ²zÎlZŒð<¸0 Õ„úW‡; ”ñÇ2”½ÊéòlùÚÈ/H‘­K× ©Žª½â=ìžïr¶ 6UÑZlBµ´Byrù“™¿×OI¾a‘>‰X‹GžŸº|qÅcúL u¹ cœÊI•=%’ Þ+J“{£åü£Ø„Éëì§öxZp *‹Ì¼WÁï äuZŠÄþˆd­†€GYôàmí¤z'!ZœÂÜ‘\æwÑ6 _ gÝ@Ô;ÀŽ¿…s`¹âªãÚS aAaY¿–Ò°Üa~!EWM }µwû#x@ï|EŸþBO Öôq'Њ> úéöhÕ`bCp†µNÔ&pر0–´•+N}.†YÞd ê†9’·a»g‰o2´.Ðèuå×ì’Áâ7VˆNr!Õ÷.Ÿ¹ì#;‚n¯ÅZl‘yI§™bÉ aDN+F‰d¯ËXñÃi‹tÇÖWC4^“¢!"Ýû C…•‘\Àq8i]žœ ˜ITÄœàƒ1)"ŸíÎwîÓ?¿Óa‹*–1µ Q8c4H@OPîB¹Oö0 ¨:Íàý%dá°mÓ 9©ß°xÌ_kÒš4~¿‡ΰn¡]¸u>=gÍ>åZîh5Èz±OˆÑQ¥…@è›&jxµtuïýEj"–åïp höôÎÞ&”ä À/é—jDBPÛ5|¯Òµ·¹íT|3§¬¿˜uxàþ0s–€íúå0àØ¢Ài*Ÿ;2;Ô*šl4 Õ])«<Ûi‹è¤ÄÝñNõ¾ÁÏ.hgàŽ-6ÿ² ºš×#: a4€Ž—̓™ò¾G\C‚9ÔfÙ7­Óh÷ ]»PóäÙ¥&©2þvXX1c0ß'3õi6º„zümp&†3à­y¤BÁ[Õûàæ†Jïµ¼"ìÏIVƒn„ãÆNò3ˆî¯–ig°ZH³°^Ú½1õÅŠ xû¼Ú—[ó•)˜…:™ß@Ž!yk ø{2Ê9®µ°ð…ªrÖÀì˜`©!–Ô…Ê"5b6l`}G6­ÏÜÝ0@¨œQÖ— ¤â^æwAn+B7Á±š&8I/|ú×Ö€õóxÙÁT=‘Ù×xïV ˆá <UÏÀi ÞB+”ZÅ¢2ÿ¦hêÏûŽ2’ „Gkƒ&šwŒø ŸB>}MÚœ܃S‹eF·ÕÃØbÔù28£³êú"Ø8n\”ÆÅt½êã.³ÁѺÆÛ“¢Â1Îbâÿ3ý‡É]œÛÓWJ0vE)o ÷ýìÆi&¸"ÞJYi‡qÚ¬3u¥€m“ Ó¸MI9hÖXU¢´ãz‘mW Cãs^KPè)Ôxó£ƒ"{™+ŒÖøFÂ×qÝbYD^ù{ôd|•oíüÐÒ³¿¦PZ]5Pïgl ­^]fÿ¬»ÞÜ‚ÕfærXÅKf¿ÕR_06$˜¸ï†Õ®dL ÐS–ö5Ä`£WMöƒÀTJ**¹Ez;¹7Ø ¡_Ÿ¶äZè!]ïÙ”å ^¢]—$ n×m×-rwÝ jœÌÚÌ.œJÒD2pt T¦÷ÀÁPÎk‡ñHUžQXç¸'#ÝòOhÚ¬—DC5x†²xöD8hýŠÏ…„ ¡Þ¤XT¸>IÙÝ{¼jà$3ðùAD"ƒˆRK³_1ѱ¿î–˦ä ,sx·<Õw9ý€¡åSi%¾ÅσŠ‘/gð¡¿2Š”¿€ãm@õð¨N.JÐΠH·´ßbw—‘7æaÂ’~lÊúÂç Ûmûþ[‡û%gâfÌ`?« l³£¹ý*lu*zÏ Лšâò’Þv‘ûwS˜gÔ>¥rbb£o-Wh“ú4Z1[‘úô‘ ¦8µNA¾GX»r5ú¾Ç¥RÓFn‘›WS—¡šþô.¥Zù 1á_ÖœdqÕi 3B*~š»{¨á˜Ö=ÜU&KW?rÌÃL½qô‰ãa'/ÈrdTŽ?ÙPdejÜwÐ6¬û׿Ïe\¶fsøùkó¾Æÿ§æã[Øzî_Ǹ®I§öïäÊ#º#)Eê"tìøV j7™â<ÒSi ËÂ}å®zFÉå0éÁ=ÕÄ2­º jxúùjïÎTˆ‡5SÑâ»ÈV¥Ü(BV$k¯i0 B>ñxÇEäc£4øžö•±p³qžVÜl²·éVä:…e5ûepvïͤiù\ Æ8Š1)̘c‡¶;‹ÖX5³þÑðK~a¡™ÆÃWùüoœ~àþ`Ãû¶ Ò…Èt;« M¸{š€Áí”L\€ÿב¼Œy=`Dû—ï °œM¦~å;£ká6Þ‰œ+w^á‚ýÍ›lÑaëCîxÑhÙÓyaÈ S¾€„íjOSí<”ØxãË~É}y7Ð ßͬµuÀ¤ñ-@žºcÂ×Ò† ׺½>gŽ´vëhÀÅÆ.I‹,êM\&{Â+n…æ¡5{UF¤42 WP€óòOஉPæï¼br`é­”Yf•*~È´€èäv+%h¾oJÅt­ù-ƒ8íLS+§–TEÚ¿L?/–P%3Y=ÕùcšïýßÔKJ¬+3!ç{¸,ºh]ÊíPgb+t1©r‡Æ.þh«ÄB÷.XwV¡ÒÅŽ ᔤı]–=nwð½Ÿ.pIyëäëïMæ1€Êbãm-öcañ8ß4öþ+Ü+áÞƒSôzx[S¤¯`‰¿Õtêx~0¶&:SlœJü‹ž¹äl>é¯õþ ƒYÀŸ÷8rËà_íª ~(lmG¿Y˜J‡p>)1gƒÅ \Ú)ä!ßÝq–ìÓ€‰ _Òb*(¢îþŒ÷Z2õ¤65*L˜¬.v¿‘03šö=·4s0Œ±Ø#ƒÝøLhá ù.”eÙùí9†Ä3\èKó%êóôÎç©;P E¸ê D ã@…(a¶fÖe‡é¶õO•œÕÒNìÝ&¹ ‹¹¶ëÊÊZE¥”Þçñq<,hUDvY~Æÿ4àbø~'€E›ä„&g à½&Ïì,È›jc³ÏÓ¼RÈ[JbðIX‡YÂdæUçxܹºDn^ØH3s콯•¢×wodzm¸îÀþJ˜2ûK½R5²á2™[>L×òÈ„6¿"f"¯}´=ôDFÍKJªMÐ4Æ¢bf茋wÚÍütš»¢9Op$Tæ}hbø0‹UXJï}gO±«¦’ԓ“fAümgT<£"Rta)r·¿iu°ø sêmÕžÄQáQL¹³·(]YIK@ÖШÐ?Z!OÉãø-ƒ5é. ?;€å 6éhÊx-xgÄðG.|œ 4QxV °]/ŽQ[Ôaz›u`Ý€ÎäOS+vœ«¯…5ÍØÚ‹Ò¹zasbVYö—³9DJÛ"‹¹~‡ñ`âª! S­Ðg"Ø“ûñ±ö' JOcªö>ÆCRZÐoûÇ\-6"¶Ùh‡«Ø«g%téC€Ç‰=ƒ‰L+¥žÕ=ÐSb#!tOEô‹—š"Agœd„‰]ÁΘ;E‰4Œ¡_=¢Ç… ˜„œôŠ¿ûxãbP„Èæˆa9NÇ:^L8pª³Ä%ïçg5.—ˆYðFŸí2ŸPÝV„!É ÿ"°à´‚rGs³Ó¾fûÒ=ú Þ\„×I5;ÅŠÉ·µ‹ÿÊœ½B…fÌÁå½E®ÞPæãNÏÍ/ïbní—òPúÎÆNœY?çƒÚaÅYuì3 ”[½Uï.¬•\&‹võ1næ[ÍÙÀ…ۙ컻sú.ê.Í`ƒKL·vGUê®u³( õ¯›Nq”t>ç«g'9 ¬w×8Ä;¾qZÙJ}Âà£2âÿ¤ÈÖäDñ+g|Œ­¬‘w0^2 ߪ±Þ²N%"°¼sbQ“º@Ë{[¤4¼æƒ_•í?¬²V;iD„g‡ï#ÿ¢f^æ=0‰ëi‡€»#ù“ÖKµ`uå·$Ä“Î7›«÷üõb¤ÍG¾½÷qÞÑ;5¿aí^eîp4‡EÍ1øM#`håáÅä3Ç |~ ‚¢k ÌaèèÛ Î”OhžÒÛÞÆÇTÜV¥Ü˜‹3ÍAöH¦š¡¥-ð¿–ì8Áºêʦµðk¯’ö-6ÞƒwåZU‰bL*+óþÓ•úp,JÝäŸÝ4t6MÒø²ü–àŽ@*ÁTÌðÒ‡° Ûºö2~Ÿ…ÑxòdAH…ošÎ{àïkJ;Öœ697ˆë,Y‚qVmVÇèkr°Àõ.ü|QiºnG8~`Õ ½|‡QYìåùŸõ꙾k’„kàÀäÒLòò¥gyZ[õªÜø8,Óyê=÷’ó}Iúm‚«÷}ä>Œµ³ŸºEdž94ÒH>“»X`‰è«OëŠa'ÔáFž³’xψ¼€åžö•e þ6ôXpåUS…á±É6ìµß{ój¿µ›>TW|A‚cÒ=f¡7Kt,ÓOnºŸkàžŒæOæÏ´¶Å¡2ÍZ˽Îóbð÷:ŠÊ ²Ø¨y!ƒkkɈZd<»gÑãl¹8ä£.œïÊ)˜sAW„vÞòp‚ÙXÚ æ¹[D$»«_²“P®}ê&ÀDÚÞnðþ])be›îò¥ÉÕTb wrùð©ý©o÷b²rš¢*0eR)O”·t8ý8è KGxQñvJïÐWZ1¸{É|¾³Ð¿ mWÖKPµmöf6.B/sÙèü¶aÉvןÀ™ lú@¨9Ãô3ëû×A¬­^3JGÜi&üZž¯žú4Ý>tÙâˆ9…[qÖ\«d (ÑÌ¥Ýø{'ÛY¿¼)Dí0¬ è)»t®Û—ƒ¯&úvPí­ymȉàp’Ž…WÞXCèÈïãöõªÀêªÇm‹ÎyTVh™P°\ª¯àaà3xSAÉF·>{¸K{ƒ®ˆÝnkó"ýǧ&W泥Ȕvsvðlߺ&о É‰!åñÁ\¼Ey”0ÞI›'vn¬95DÕ÷‚þŒÛôˆŽí¿¥•äXn”Ýø¾hSÝô‡eÊ?ݦÉflÆf°Þ)|ôÓÍt¶“œŽÇŠ”…Sl°mÁ÷"£åj…me¶F®3O™j¦É$ÀÂq¿SVê“ûŸg ¨RVÑ»wÍ Yö~J=S(åm‚ç´½î4dÝšvOÄ\O(yúòjθSUÊ{jà#“ ö¿•׳E‡7=—&«¾á‡ïŽ"Q¼ÀßñqüvG~ž62Ö‡Ô&Mùô ®hêøÌÖihz|u¾i“®ýM0ФʫþòÞwçêÙ1$¸¿S+ø\ö8Á´n-‹¬ib¨¦*¯0ÈKñÏmxI.dk7¢¯õO ÿWCÈåÙ‚}м…$íKâ+¾íÊ4ÒÛtÔ÷Òx™GyG#Ø“…Þî¬ÿ•¼H˜³ÕÅþÁ/ƒòÛÍÆ¢ý?ðëV fÖOˆ¬S kR ·×ó$Ëß5&^ ZA.ÔšHŒÎ¹c!¿­v·Þ‚ôºåoŒDÃâ £d¤gnwEÞNëñ é„ÎŒ¥¼*¤„kDßDƒ d¹FˆoUžî±r ¨¬ú“"“0{jéQ·cîlªö+R–û±SeÊÏÓÚN0.V°˜t%g¡ÛPô‹³?µxä²ZZeªavíj]#‘u}VŒE›ý&¸ ‰ ™ÎņõbzI\º¿ÅŽqZ O³ 3FéÔKPeÄ+T¦â–õ‘EŠlfÎü®%,²\_"¡=pÖ …¬ÓrWõ/ýQU¦†èÝé-®~ûáF¯âÑ`²8êïÄ•9Rk&‰¿ñ÷lìW|Øn’¡&¨ø^Ì‹"û{‰½ ÃKg1Ä.‚&>Íê_áô³&™V'k_žå! ŽÞ!"‚œvEçÌta[UÎö®•S š7[Ä a9EîÚX˜E·wŽöÃzd1šu]מoæö·Åöosƒ8ï4丌›}ºû+Ø ÖßSQáÒ0¤ÁµÚå ,K Ë· ö:6&³2ÎöjDµ©G‰;óóU0œrjÓýê_CŸ+Ù¤Ü;‹¤ñ¯pD¾Õ‚$GÏ4×h²’êÇqÖ(ûpܜϸþ9të½¾)‡bcÈnÁRµJk °åFûy‡þYa¥m­iBºÏk@úå?1ÿíÌ#•FB€ÓN ÕFéE ;œ¶—b®ÚÄáÉ? ázpz½nMÖëÜÄr2ÃL™03£Ï|¡eço½1b»B:G&Aú®Î•/=µ)ž>›áRKŠ÷µ .íƒY“Ž..©‹ja¬«?o\Òw6iÕË’ÁÁ}ÔõÆ1øKïjdy¤;nŽÑH-ްX»ç¤¾R;#ìFç±F¬Ü·…C—Óû;IG7}A¶F‚}Tñê ² ¨òôk9ÓÙ*—YFk ýõ¦õÓÞÎ'XùöÓ¡Î3ù.gqT’Oҥϲ#Yõ|v!~Æ_+²ŸÈ¶_>ÏÀáÎíÕ]N&›fZ‰k¦F}=]2X ~2 Ü u‘¤fwc €“íu¦&L4ñI™V1cè Õ3\Bi?Á ±~añ@ëÐ!½57`ùï²­¹oÁéOõ(èǾ(ÅÂCKÂ~[ëAåô‚fÝî¿iÿ}ˆ@S“žãnw¨(7† ¨êEˆ“Iâë u‚as<+ù¼êÉ=ç¾€Ò–ÒæšaoŸ˜‡òsKJîYåèPÕ†R äÞ®G`‹“‹¢„yÁ ÎO§MT”ÅÂãóÞ‘Ÿvê @]ïò"øeˆ>vÛ1õ Ln¹û Î2~ë}ôž@»E3—íOjcÑ }±csdz•‰X:w*‹…É·5'¤Å‰­2Uö À–ÎWE‰ÎéŠ9™ø»^ÞLs·!‘+ï+¡Æ«2‡µ™àó—òm|f Ïu ª×ÊBî½Qš"x¤z ¶§z›Q•ˆrR]žfxFÞH _Ù"¦ï¢°Hnzgó¸] ±p¹3g ø‘ä=UßV.²wÐf H›ÄÀé¶ÿI0@GÖc8c˜7óîøï¢ÉHd1‰ŽÎãÛÕ`z’ÉEîIG–#Ò^Þ¸¸"Ó_+!uðÂo½ñCÀópÿ?šÁ0u$ç±SÓë¸y½T†qȰmt׬ŠÔžõ5$joö2i³Á”ª½¼ÿ£A)Õ&™ç+XC[»Bq-©V£‚h8?0 þ$~äÉ„çï«„ìMƒc,e%nV—® ™DYÍÇypwößÒs±±âñ±`²|er`ÒL)p52æ]µ!~Óòð!¨]¬^c\ƒ3Í•OñrB‚Ãw…A+¸!$$, qýÙÚ †aC(>¸ÆÂ‰ËŸ÷¿t.¸@…¾.Ú$Hª¹TUÉ6I(6F¼æ¨*=´á/dŒ#gÞþ’Û‡Fm`\?„0_:ðœâW:ø ­á0Ž Naij¹Û—?ðš „úÿâg Dði¾QŠE+XOD,;H£x N!y§Ô^^M±çÆòÕDÀ¸8ÉZ:Û1Ik´6)ƒÉðÃÝ .¾r”ç^«Ù ¡Ý{ßÍ…¶%&wškWÂ)ø®)uAg¼,*ùÅó’ãŒ>êðÏ–Y–åtòÌ_.¿>/?Â)²Å@ß*ñŽH)K§Î¾]y] †cÇ<ÚMÏÃe¤¦ƒ‰Šœë5 …ܱlb¼ög gy™ÕáiÁºÎn¢Cn9‡+h`§MÍT0^ U„ͨ­Ž¥àË—M±Ÿä©erä#°6°Úl7ÉG@RzñJò¬aZ@ÆgÆ$`fõ°7àš±#g†2‰¨!¿Õ¡°%ÞÖ¸k&;b[kwGÐ8®ù”xˆñÉ–gD¾\Õ¼oa}\¬Ž7; *L¸O; rî óg޹JÈ‘¤(qbfnÐÁ 1z°>ùm‰´ae¬1 a*#­5&^£¬À-†ÍÚè\zSEã·¬¤»ä%"ÍHÚÛ hüa#p±z|^ bxΈ‹n0kâsPSKýsPžÕÓ”Ó @ —ùîâ;m-ØLÞää¿ð,ÇêÓ‰U6ä⯨Æ+q!DÝšâìèÞ›Öñ:-%›ÔÒ…“f¦|&ƒSQ ã‹Çét«‰n@¤vr/®JAQYi/ï‡aów€µL/•*)ÔaªÓ§ìªa 2׫!e6ü÷bÝ8"L°qw¼U·]Q.¥ÆmήÕ[(Z«BœàÊÝDÂ…é›[ÓÖ„ƒ‡‰ €ô?ÆÁÒ¢Òu“c¬ufºcoUáa¯ Xk. yÖØÍkw°¨æqÛòa\fèÊj—Á Žèô¹ÕñrGÈ皛Ô¦±1X–QðE*šp¡¶hk1o4TjhG³¥ñ¦PžÃ®È«À+äªÊݧÚàpB ­{:p:0l­‘{çÏn {8'îo†ƒ7MIÀXeEª±zò<7úÜxôÑÄ\/•.H¼ÐÇ>2lô“‡7QB;=wä3âÅкgâyq1Iø´\ËF>žCºB÷¬VEºT*·5rG¸å|¡é>õ?e´½›ÜRRMx½n˜{e¿c¶ª“^ˆ)o8G~ IE*×êY…Í:ù«i‚L^aÝh0ðÐL’]8×½ûÃÒû6x±.‡èø¡K:ÿXç~WÍï:5aÉÔŽÐÒû1›ZœeMKóqC݈UH%AûSÌ`Ü™×RôJ ÿˆòOº" ÎÄá1,ÿ»¸Q3E¥4ýbïÝŠŒ¢LŸñM´m ){)´ÉÛ%¼ŸM·NsG/»~šÔº»_÷À” T6ˆE /ñˆ«IPÀN1V,Þ²1œÛeÔ‡,t.¤.P+‚$¾sËt7軘€«šÖÝɽOѽÛÌ›ÆP™Ÿ6ª®á=´Xá8cÃg}42;5}ÆÁÔG-¢™0”î¹ +>ñv›Dc­û9%.¾(œ…ë–‰tlÉÑý]µÉÌp¨ôO¹yí©)…ìØ#Gýd1Üùäâ¯D|;•ÍãñÚµÜËeäÕ^´²£q#@h›û¯]êf tèkôÕ¡œ«Æ¾—Ÿ,Edu²Æ~üW_ÊAàî$ïb¿¥(6ÅÁ•øMÁ"zK ‹’ÉѨló¥åß)ÁÎOa mŽ„(‘_r0 ¨I¾ï.ØÈßô¿:ø›ø:Í›/°ÛTCHÚ÷•¸Øv Ä'–«UÄ é¼®ñú/%‘`|¡Œ4|m F„ |=8s]gŽy2qhŒAmSuÕ$”âñ›~q”äõ9n@¬C"'ʸØ£¼-öh”‹BUðn:{¢ ØF?*|"M9n? Ís×ÒKGQjÞŠ¹hgªy@>+wBÔôeæ"É®ÂHhª¼/ãE¶¡ º1Qç°_–M³B£ë÷Ü2xzüÕ|ƒ&eÝÑGoaƒã9¡-¦b®ÍxÎwí¢›°zö2,/”E]8`g{ÊSáÅî×/cFñNxŒi‚›y¯à Ÿ¾ãtµo¤¥rºÔ¨1󂤳]ìÂÜí· ßˆ:B…9ÿLPûƒ HªwèÌí!ÉÛyW$Ç-½„eš$Èê‚ÊvêU\¹oó¦m%e ³\«Šá‹Ú¶þ6x["Œ_4¨ˆÙHiÞ„#M•¤ìŒöc.ûù<ø^òç·¥¹Ã„S‚E^¤îÑØnÁf®`óè#lBxl²`C Â_l‰2*Ø¿ZhSÛÑÉb¤±ïkéøJ#é¼U¦Š×}•lË7? Âç§}§Eè°2BoM^á¸Ø ³Ò’•G/³Ò´çdwg£º€"Ø« UöÈg¿ªþ( Kü€Z¯†dµÅèr€Ê—g{OÙú\UôIÁljyõö¯ ]!æi72(r¡V£f9ãZò¿¸ˆ“8Þúx<[%oÏʆ“Ip»÷íñ$%{âþeÄ8¿?•‰Ãè_Kv„Pà v(é>Ï]¬=Ný@˜¿7€‰!I7ƒ ä-a±û÷®Ø™¥S“#Lô±+.X¡ ŸY…DŽ<Ɉ«$h`wÖe’@»F˜ð§ü¬ ‰-*0`·Ò€|1OvôSe:-]Ú {©£­:†ÊbÏèëQššn%îVE,ÝD÷’甤Vg÷D%´-pÕŽªby‰KÎeJÄáùúb†ºâ@„$ºkÀÔo¶|J¨ó@õ{6áC §+|´<‡ØîA3ºðƒ)R•áM3kc%ÿúÉEò/àËþ8 c?Rn¼K¡ÁáUÛNW}™UVå¦å|ÄŽóòËnì"YÇ|¾óWˆÂ$åï, (»û©ˆj7¸lí¯ÈÄez†$¦e&#ߎ£\yb¹0é`X‹ðª]èóKy'RßUm)†1ç¢ÎPºjê%jÇqi6Nö‹yÿßmŽƒð+—Žž1XBb׬rrêÉÎÙF7yŸÕg] ǦÆ~ÐT ipÀ0ôÎÎÿÁ4õ|Ø(¼“ËLæ /_š`jk{ë£Få裊VÑÛAφte3û_iDº€Õ~Õ‡"î·à¢¡hKaÝ”Xjû ¢Bú °¼,¾mMŽõ‰"þœñs“ìQÂËsß2U‹Ãh|Í–®XB€ø\tƒä«=¥’S<@…^Üb„µiÀ÷ ü:3dÈã¡ÜY«]Qã@ßPþ4¢|jÿ=Ƕò(Ôy‘Z[âR;½©ÜT‘¡#³2òÄ'–W›Åt`Ü­ùþ—PqiÕ¦2°þpEòì:4{#¬I0w)‚–q«r†·ke¤Õq‘€ùºå;¯|Ì"ÔyîuAM€x…p¾ßrRtî÷º™Y…‰S÷j¯5x¢CO•«ƒÁîÈëú°ºTª¸³x0‹àÏÅ•Yu©°ŒÁ†/¯˜QêË]0ÀMXÍñ‰¸vK?ëÁÜâ9Á;ùO>_‰ã‡’`íùÌZÓx~Åà5L#¥nv:Ö´èLȱérï¢éælڌﯽ0)IΫÍÜéëvožÍèï¬ÌëÊÞàh¹.Bž&ýP}ý|Îw þdÉ—ú [a6ÒHà>·ÍˆT¼áQd³·E èz%+ˆdü‘Ü€‹öºŸø uð†ÒÏ­xØ@ëiÕ>xÛÔÓìôŒøtŽßS#M~„oaº®c€°•Ùâßø¢\´‚ã{‘^ì2üŠÍ”~E–×¥¼z܃C¸…—‚Ü&±Ånû €øP .ÔÓ »ÃŒ`ŸÃŽE¥’½È¨Aö„:ÖoÄ3\¿aŸpqÇü¹‘å³?Ù&©ÿgoÀ[Ô O;xÖ’9¹ó°÷þUpñ™g·Š,p¸T ÄœrÞ«H+M¯ž1˜:R=ÜΓ©^¿ëÅs²mPF‡}â8nEè¢ýdP_ir@ÄËXáH‹m8Ž™ïz*œé;¶1²VÐ¥5 iáYšXHZIVº¡_ÇÐüÖ-®½iR¥ðV‘%¯š>C<”ÕªL‚¼›Û{U ¦¢ýûŒBfAÔZÎí‰äÛ9®–÷ÄΖ²ÿˆ/X§i0ðSñ«Óô€¦n¿Ç¯ÛG0ã9¢uò¡|ÙûNB³Í1·ìt+¶‘XêÜØ— ×Dý0H-þ™™½´JÊÇV‰Æk˜lÚáwnûlBöz3³Ù·§(Í…]ý=|Ñyëäø‘?Á@(Ü[[¿tÈe޽MÒßR˜Æc…D½ ø ‹jùªÞ,NFæMi§!QÌÞ”å÷ý¬Uq}>È·9à›Ìam#ã[~º(« ÷KCÏã„éÞbk£ðê#ƒ…ùzn,ÒÇüüU¸Ú0e´ TT`>ðd­’}AgŸ‰(Í]×Ã!£°f†TÀ=cZe ÍšÂÎa¢çáÏœ c~á…{[N”ðÙ—ª‘Ú}¶Â§cZMà`U@A•;ÿB”Å$Ä,’d…æ§;¡ÉÑ’É…Ò÷AT¯9ÑÓpÅ8u ápN©ôŸÕGÔO˜bH™·{ÆÏL4Uï£w`Å®ïþQ:ë^¡Ð¨xØ.´Žvʾ“v2c¸Ù5è‘“Ü æ2Æ…E>f˜iÍ`tØÜ© ¤o¸8«¿-~€¨¤þ(¤©jÑçp\ëüÞÉD ýƒ¤æ×'ò—@ßùÀ$ôCŽ¥)Õ JN#¿Ú]T1Dx/áÁ@?}Ü HÅç[›'½¦E£*ƒqµ`,¥õç° ˆ ðM6²é(}A¢üû9­/zT†ÚÞJËÔyNNÈ/:Ýf˜F×”Îß J•t)¹_zX@ÍK¦Ú*ÇÔ¢ÃÀ–Å ñ]3³~0&"Q ÍÏc“r<‘\è—êR Zô§É i‘cß[+ 2\sø~O1tëÀÀùGœÊOaKm~ P Y7Yà`$$Uä\¶Iœ;£#W±Ø.ŠU¸4=ÏŠàÂ(kƒî€‰-¸ÞNuß ¯9„±1dXOÅÉ)úDÑ–Z^¢FYj³ È SuÛ;¡£[ ˆÞdÅUbßJ»Á!=ºþ±GåSãxònk×TkÆ4}tÃ&ôt;C0"†9›8®c5#q ÕØEG ƒÞ>c·kæÀÆ›V"…í4ÖëÅá%Î^œ/ñ°=Ný›\ g.®u_3µæ+Ñ‘àÖY´Hï%Å,vkÑÌhȧ‘Ûd4t߯¦f Ï•ülÑ(FJTÿ1I¥êE\bÃdb­‚†Ÿ&WË—“²»†È¥¾ÆS ß&­ÂÍý#¿J׫˜ç:ÁüGõ$ÆË]µ°±ck‰ÌÊE¨u8[I÷×) ·é­”^bÆf R2N„h/’~ª Öý£&‹L¸`ç±|7’æÞÏAtvÑ+ýs³Ï¥ë?-Ëþ1’s?gñO½4¶j_Ÿë炜Uµ/„ž`r FT÷˜pì„DÆb3ÌžŸIªéz;|D4¨•^€€b˜c =ðÂEšL»´1t1ÜG0t_ŒSà•WfX(Þ¢žf½á¬þõPÄhøe¯ Nàæ/“lDŽð–«“WƒÚ+*ëæþFîŸ}$tÀ ÉŠ5‘Ò ý²›?zûÍæ`RŒIõêaÐf-y;”žÇ•¼j œ/ -­f5Ž’‘í踶òÁƒ–=ú$?xVH}C-Œ®‚ukç;_YÈÝÌáXà%·>{ÿ³e³^LÞ­F*ø’§HRª»ß,F¥½ÎxÕx»ÝyþÉ~î&uÀik°Íf±ÄZdÂçOœÎc\©–çc)Ð=§]dWZ .sÚd vq˜r¹lIÂovýó%N™¦þž~ŠÛ-9j8Â筭î–êLÆ9B2ƒE›‘o<¥âmŒõ f/Ò)¦Øª`Uº¢”p4è˜ŠŽ ð@aÒ%f";Ã{fÕ3ì˜4‡s’6©˜± âwD±1I+ ú?<Ž­fÿk° —vÜÃÙ‡Æ p{ø(|„*ØÕÅ6Ö€t÷JZlÔ¯u÷ЪjŸÓKíçiù(p¤àl6Ë-ƒÀ¦vjƒØ¨œQB¼~)ŽddËa¸ ‹ÜVb¿8ÝáoLÎæ}Œð£#õ²–iÃÏWXé‡uê^gu#ж¸ÅÆPÛþQª-FBJÆZ@j@øc~ÁÓ&|z“FQ øÐylÅoÆ}-ühŽÐÜ·&æŽë÷w×%ÚQÔ ­å‰¡ÂYPJ"¾Áa é†sƒ4Pf †?)?Ç©n_¢žSŒ¸u¬Ê»G¼ ²p{9é…¸®èn°øƒM6ÃóK(šÉz“Û¯h :£HQFm¢|%Åá4¢Â¹„Måþòù'éiÌ™@·Š$^w멬oUoËŠ³ß¢o # a-(Yˆ4gúbŠ2z7kðj™Ç„Ì”{;Û˜2ãšÂ¾°f0 R¤ª›ÛA‰ª²¾Â-:Í5óÞ¯xmbzliôûo{&‹^(çG„«õã§8Î_ËÐ/ÝÁËÊ$¦TàT/Õ ïo¤ïoô´%{ ³=æHoÎTËæñEhµ ‚èiAÙ¡JSó7+›À…æ ½cSªp”Ÿ˜¤qù;ä× ¦vàúë]ŽýVei8DÈç ýKMWÈl­û@m' »h!¯ºs4@s‘ŽÌR¨ÕCà]ŠÅë ÿš‚ú¢>RA¹~Ýp: d¼¾9fú€=jKNÒ<ï!mz#‡…×*i¶ìÄcuA©óìBºsÐW`^1}É¢ÑFãU~ŸI¬ú=Q Ä÷<k­ÜNŒe€™¤Û/J´yx)Ú–àj CS¡ú„!Ä ÁÈsY®, ü¥6W¼bh¥ƒÒõÒÿ,+D+8û¥ÂIð)ùl’«@v|n æð]+GŽì1L†žL²ÁÿîwN¬»Ö.CÝeÆÆ4wÑ£%~úúd×"ŽœY¤Ø8y_žkÄ-è6:¯‘ìq ¨ËGáOÊÒÓÚTtå<á'‰/erÑ#fG/O1R:DesÍ„àŸ+ ±J5”DOì4ÁîØõP:K#ÎpíßdT®ã¼ÜBvšªKà%ðV¼?P ¼Œ?'À,!²5¾Ú×g8g5µßKRùš|ÂXF¥]}Q\§%…XžÐ"›ÚlH)ç^nžãö›7GÁª^fܪ‡t<-õX’; ²/¾€4ãC0q B!²öÛþ|G™®: íK {ÓÇ´žhå*‰‹!ùÌèÁ. P)„FGÃã“iœï)uðÝ=Ë&¬)c~v‚êDrÛ¥ÄÅpŒtâÊD²™Og…¶³0`“µÇ|…gn‘E—ND”(8nz}¿ŽO\5áô–ÖNš^Ó®BI*3¯‰Ö×½‰c›·-îjØ4n =qm¸”…¿Š¤ª¥íz@êüÛb™ôŽx“}cD ˜J§!†ø¼v6W[›^[—/ Ö!'[Ç£Ó„Ž%<±±¹J$|©àsä ØÓÁWÅZfq;âÀö\Q××DÓߨ)÷Råp‚ԣёG—èãJ.s\.MM»rªe¶¯öÜyÄŸëá{šôIÞ†*ʘìj!˜x_–1eæFL1€É$@¹«p ¬ê‡ÑÒ=aú>$o8Ãí3jëŸÔ+>j ®3œq‰)'±‰‹ù3Òg®‡™Ñ< "¯tŒ+ÃV4§Íbp‘ô¿Û Õ©§ÆlØ n˜ë«evmìËÑäB„¾bXwÏHÕ¤.4/°Œ4Þ •.IkIóØ›pðµ®>PˆßYGkñ.þ|Âà[Œ~^\Í@æÛ|„ÉŒD a%C؜⠥wÛ,èû﹑i·×­m€ÉØ @y‹ŒÔŠAÃÖâËÍÀñÔ·ÃÖp®)‚ÌŒ{2êµÐ‡¢ìív±]`6íåž—UšÇ¡ú’碌`§Èí\êÔ—!Öâ?FV~Ll¯C wxl³}9&Œ±–ûu‡§‘¦/¿I`¼ú½¸DÓ)zšV~M~´ñ2ôò#8Xð§¹iÏvÚïѦtê«fAxÈÜëiÄŽD£’ϳ÷/ÏѰBLúßv{èOáÙ´ºÌÅiyÖÒ*‘*Šqê©J?l¥ÞÜb™ÂËk¡k¬8è¹}„-Y^øÒ“¬Œº`Ê¡?|ö1“»põ!b_öÞ´:y]׳SMO«kw/ *?PtÒ´¾'›þm¯­Ä¯]lóî/åÙk.}cüjõo0ã:ëÏj#¹¯¯ù7,0UB®UÜšêµÄ=úO­‰È›¼°Tqõä‰>–Õµ„S×ݹ4x$¾(«©c/cLÁœ'Jì™BQ¾Ê)ê¬ fë6/¼­±)sFX^=NsÈ€onë»ìe\ZHÎïn’ô/ïrþØûösAf4¼ ½¥ê¼6ãþ ”¸_1Öçmr…¶爻¬½á¿u2^¼fuº}•1¥^‹*i3Vž…ŠÙ‘e$û쪠Ó3{!PhIçeƒÑá>HÞ·á[[Žp‰^§ ±C5ÈÛßÊAƒ÷MRtÍÎáéI[aN(ql üH7ÿO.hJ,>7E´ýÌ륛t„0}ÜU·*Ÿ3]¬¶Z{‘¡là]ÈäS·gW{Húu:ñ~а†u5 Ñ–S¡³˜…ýßWÆ’9ãuT;–¯ÆßùF€%ñ cãÐêV.Æ_ÁƾÝxw›Øˆõè ’OÝÂM¦Ï"zÿÀ’x¼‘ò~e 1g-ÝèÑU†ª!_ÌûÜ|%ìιçkL Œ‘èpE­ð>É^7bpÌ-8Ë “6'Š63ž©¢íûTZjâÕµu·+oÛH[ÆAÄMa¨Æ›VDqu´.Ù®!ÙÄF€Á‚æô$Zc2áèoã&ø¹B’YäoE(݈—0£!¯ÁŸý9¦îb^€[]ºÕ,6S {Z‚ÂÙ»šDÊñ"P8j€¸:â ,Íá”V€ŒŽŒð²s®^s•ÒN³žO¯€“乞=m%bÁ³e\ŽÓW–ÅìIsôÝŒ3òˆ¬_]RÚ›Ô‡m%\¸á4´Æ'H¼èŒí(Êþc-Ô(|}gEüˆ-ƒÀH:T{@|Ç„½o˜¿ÚÉZ„‹°¤¦U5Q”gΩa¾*=¢Õ»ù¢„ßÎoOhzîä8bšD 'ŽG¢ã¤=.i¹†×m9nã5wçXcÞÚÞ}ž¦)„%ŽO²è¦F!šŒá/ŠiBæ"†ƒþ=×¢»%Ÿ¦3ÐcoCPô¯äôOx"rÔ&hñ!¥P¶LC9XÕ½upœXÿº– ¸aMÛ1Ï{>s¦Ì7Ô?}ç(‹è³7&ê_˜ðöߺ\‚;‘Ÿ' ŸlÜÔh:ø™[üm"|,HiYb«Sß²]®4ÐËn~œ±+ÒHbòwú}…Êl¹ÐßÓóƒ=Ô¨þž•kÁt-‚TøöãI”±K{*XþÜÍÃå“¡²?TÛBþiý°AVEoSjÑjµ¤G‚pp­B¨¦9«ñ÷ýU€e­É/ðÖo3©]‹Ö¥J)X[‡Äl®`ª{’MrLuÃP]~Žê»OA'æ(Y|OÈé S©­tõax÷êH‚‚NDÚ]ü¬¶5¤RòXy”åñ{‡p¯ |¯L<0¹"»‡KòUN²*$V‡Ýé‰]âóð…?Ó}ËQž{N„GãïeK)fá€É×ÈoÜeúã˜ó‹%>^:~†{GMýRž4pÜWJ[¡† vÓªÿ®¡ä5´X«™~ŽZGXÔôŽ­øä•3òט %†Ù&_¡lQ!³‚±$A–M#ðcª¼ûE§JxîÔùœZ_šxÈß…T#¬zþ¶‡ ¹áí–Œ2c‘1´RöÖ˜vz¸ñ'au‚Qa‰Wþ¶Ÿÿ‘à:'ý6`-ä>­ù}f<¦mRoÕ¤œ²¯[ ô]˜kZ©¡8§%¯DÐC¯Ù¡ìÿC¬ç;¯½¬0ÜøŸ®Ãç‘Ähµ®í«\^æáK[L†¦4â{× ñªÃ±Ug~­rà‹»6­›ZnïôE#3>¹ÓelQ»ñË¿®]ìÐ†× Ø–EGò ‚Ö‹¿YŽWYR*í,Ö¿¾ 9t$²¶,ƒ«}àÁ•ªy?IGü61iK)#±‘gèÂYEP™|é‘W¯zÓ{™a¥¥™ÜȼáÀh¿²u~žô£Þ›¦š¹ŠY¡>•70KZp%ÉŒeÙêZA£Z® ·–¤·Y—%+Úe>C;âÓH9û¢½Ä$+û3§Bäê´Ë´õm·ÄqWk‡Ó,uD‘“pÅ,*µÇä„;ÚÓ¶'™ÖmGR`PÁÁœ?ï—( _@:a ãÖ5ûD€Qü®¼¦2É] ëO7†è«v`¦Jí©ƒ5-% û"®Ø>´tÜßµGmh³rþp‚qÝá#ˆ/tÐw´X6§6A›:ÑéÃjU"¹k6µöG†û{éŽàökMÒš³O’>žŸÆIÎyUâä 1màÙʉºQíÅc½¼Z&™‹s³Nþ“ª^Wþj!@l- ‘`n<ð`3Q‰ŽW°¼TÁ>ñ_¸/ú: ²y]ozåDsvå<¡j›¯C¨6äÒDò¿ïæ×=¸!„úí d“_íÞ¶F ½,:5x°%éå ™9„ôŠ(Rù"/œ#žÒÿËv'kKïRn6óÇv9ôL³[s$ •¥ôÕ¶XÁõùB—’‰„Xʽ(ó± ¹˜Óå§³Î@©¿'_ QF¾Ú;ž䳈ñ‚U-[ÛP5S¡—Ôãæu·…à£åÏÎlĭŽ%Üž U®è»•Û¶’ˆlŒå*[”ë;nBü°‹ÀÊ/r)öí_¸ºíØn†øVãÝ3ê@JTb–54Þ”7ɸ{€ô÷ÅìÀšÒEs«*ÒAæ$wRSÓP'÷Nü[=&&aÖ\à6m4ßêv2ûzøç‰yƒ"_âT£0Ô”IEéºG¥äÛ¹{ü¨7»vÉ­I"I¶T•‹"¤ÿÛüöjÇí}žŽ™\þÒ}ä ›ãœd¬Ípã¬FªÞF+,9OBÝå}ðQ:^µ¯‘Òìw‘n–˜‹^Rjj § n{S NwŸ¾€Ñû8½“±í åÿ`Lr: íIGî‘{Ž1(:Í10€h/ʼn*Ë]“U¦Vü¥]éwÉØ1£mæ,Ÿ·õt{`ar…Œ‚“<ðسøŒ„îÉì×u) /QÆyòq»?¶àÖEû#hß§¯§¬­ðåSµ+Å/»X…ö*NØ?ÉkÃ;¿D›ÄâË\A) .í€ö­f·:ƒ6d{í¯ŠÛºÿ¯Úªe9>0õE¸ÕpšD‘ú€Ø€‹2™¯\õ£px‚]ÌëBò ,Ž(CÐöد;3‡˜Û–[ºqê ºØJéÃüËJ}ñ¾„rýµî‡E”6%ÆÀY–Ï]úéYÿ?át&vèBÓ]BkŒhþMuŸ^&®­ ɺ Bcä¼6ÍDdèrm°ñɹýçØëâüôí©è½îf6G—Óß¾qÑb/ðÛP¯‘+ðÙõLÚ IáE¤b–®F•`I;¶N¶~nCMVÕHÿ,Yèõû‹@gW[ÿsd|Ü™XŠ%2ŠþyÙYáϦ› $Ý~j­èïíÊûÿY¯=-=ÉéBC3-쓳! šw$<š“sqº›Ô*h¯yÔ¾a4I냡e%SœU’GT’öߢ×ã~Î ù¢­"xS|æ‹Ã‘þN •rlÿ'1ô%ÈðÖŽ´ˆi'Ú¯EòÙ ˆÿïÜ"{Ú6\<,gÛð1íMì›Õ9¢Îñ~¥ ØZÇ“ƒ¦ÄÀ´-]HØE7À¨2ЗH5¶Ž¢ ËwýÃÀBTÓ¢‡ó®ßóüãf#Ž•mÿaÁ¨ ÊQ•—÷¯Çg­lÄEäõ]§ ûk̶4B¬RPþ¢õÂTÝç–ùÖ©EÉC£”žlxUì9Ÿ3 Êd½¦VkåVAÈ9ê «òQõ„„žHtØÕÊ~MÇdQ—»tI‘ÄôSûÜÁÙ¹m™ŸÕ©LÉ09œs„ˆ†n?b&U21[8°E4YÙ˜cìÖˆ3MDÌtTF£ßgú½ÝgÐí»æSä2T 6Þuoï§ÅÍR)ùµmí_,Àlh8ÍÆÿä¤8W»;¤Ö9A_3¤Çó qR݆R¶‰~¯âíïìm]9L-¥ÞŸ2-[hƒÉ¤GpùƒgCó¬ qŠZc'X2„û÷„ôÇ«ô!’ës#±´»ÙèÁ Øà´óÒ4㦑F~ž«f(è&4ÿ*Îé\# ÖÕ&µ­àõrèræ¶?¨»ÌËZ¨9z’щƳ Oà¿ú…ý›ÓU ÊeJâÜ6­¿}0¢öí÷%ÏMaå„•AFqÊ¥_ùˆ˜”Ò“Ú;¿;%5Æd)TG‹RCÝC¬É?µSCï›ÅÒ²þ 3}¢Ë7óßZ|Ñí}úg‹?xæ·ÿÒD‘|y-Ùæ‰rR£…]b &Ë·¡ñ¸?ÁÂp7Ó~ @—=šTôRÞ¥g‡loY‘`á»FcÂF È¼mŒ¹Z]ƒµ×0V†3ñŽsfGÒ˺ÔÒ{Þ|Ž÷EŒ1ßE Õ+³Ó-üëÄx;;ìÚ¶N‚£ÝAh+JÕXá¹ö…Ÿà+n®.l%óûJqsep@*{½ÇÌa©HªÅý†œ·À~í¶Yä›()wúÚ²õk€h=®0ÚüèÅ«#¤V%ÃECMîÚà mKbªyÕ‘ËCòÚXw˜P(•ÛQaSchñ-­eÞ='·þÅÜPåe«_—]}KõWœb:€g’Uæ¯8ºÞçi=,8¦åâ„åÖœ\¯)K >_Vä­Öé4¹ yf½Õ+ó Ý‘šBÝ¡öd.Kh“׸ÚI ÞOZ‹pËÉØ'ø¤ƒÑ.œñ×"‰ò7¸ QÖ€ì’#Žò&®ˆž}¸ÿ^$¢ÿ¬8±ÈÇV@vÖgTr˜áAL©|ÒZ¾Á/8 ?ÜY ‘óïý«ì Ö>Ž‹P߃»ÆbN¬³gaWþ™AÙx¸&¢YÉøÐ,«WØÅ%û7Û ga´èð»Ð-Zo×(lo›3°¢po´;mwÃâ½ÄAáEuÝE@ìKPeͳ…ºz„û‘;Ë[ƒSx!Â]ï‹'1xØïÿÃËúP6¸”ý!'·žV9궉ý–n¬ÓY[ˆ-¨˜ ÿä³\/+0*#®hžHGjˆý¥!†Ól¼@/°L™ƒèU :&YÞƒ€ƒâZœü#–Ùs7Áé®~¡7¢±g×€f±‘À’á8ª“?8|£d%!GÆ_]´ƒËi¥>tÇ3C“Fúu„zîû¼Ðû“G ¼Š€´Ág£« âÃÊ”%?¨õrþkA xÃn«ëÕþ€4ôëˆ' Wʘ¨FpzÿKPF˜ST:ñK9$¸œ ”ÊÊáçŒP REW:·–i‹Â]¨-fQD¬,ÌG"‹´¥ùH™ñ Žx|&øæØ¸ûðHˆ!‹ë¾Â”Ðȉ\ï-çèh˜|ÔÐ9g7Cåéƒ:<|Χ3ÈTÞ[/;Æn{{ÝZ¼e½ÀLçò"¿fÑz*P}êGࢠ»=o9âÄú÷&.Å™2WùÃHUM‡ô‚¥„XEÆô G½W ÕÍ«2è•è"îð:B¼Þ¿ßùËo®½"ÝF¦FÁz@³s/Œ?Néo–P«R×>¼-þbFÀ~žP“×!WV$oíd!5'ET濃Q±Vß”›}¬àÍÁû<€ÇªîE„.•¬ÆAùå.ú&Êy—ÎçÖWD¨QÏON¬ÆÝý¥)å‘@2JN™ :Q‚¹™!ñu¿ØÇèÒ§!˜L¹âùÛÎÍmñÃŽƒ0ÑÇÓ Ùˆ¹Ëpl²³Ü œeÑàʼk†³œîÂäD‡&n“:¢üÁx x]°T i.ª¤Ñ>lõÔY޼… Ù@@}Aô5ºã³N{®hŸ¶•Ì®VTͼÜèB˜Æ2~I_p‹õÇcÊTŽùÛS F„ˆ™x¢™¹ôi.S~äý" E”d‰¤P×y¸-"uº‡–D¿$ªQ€‘ –ÃΫÒ'¥ÔüÈfk›äF÷ñÎhQl¥§5zdAêâ¡Þòe«ëÛSŽëOßxÄD7Ì•5‰Ñ¦„N曈$n³=¨søP!CÊ5!*~„O$4(‘Æ,O5¼ÁδŠÀˆCKá¤'|¸Ó+15]9”×›n4)Øz2רåŸÒÀ+.¯š\ç´Î=d;³­óÇÅ»Osް}陎것+„j0£Täo ¥3ü®÷e’8YêÈÛ•5 æHA(‹ˆðÿGëÙm©•59õyè´93ê Õ”Ú £ú¿™˜ t’Ãë’ò¬•¦BOY:Áä 6¯ihþâ‚mÇAÔBŽ:Ù3Á÷Q í`þ®¾Gô8ºsa,¤Ê…“ÂG²×#9—)=¶SÖîò°s}føgèEÕ÷%±í!ȯ›h3] l«MºÖ#™JlŽˆ—;vCâÉ1)Ø8Ïm½"üx.@¥핎ߊѸñ'<Ë‚gªP7nΞ¡U“ƒ3 [û]xRh[±¥ô€Ö}±l1­¾3áŃP•VúÌE>Á2(V¹<‘}ÆéjpOÅ´Üi™™½6µÇ¸¬ö‡NkÄ›öŒ8'n*cþò.ÔÄìtáê}'µ’‘ÛÀz£ÐS;—¢½æNÓÌ¢á η ŠG“âá켜f­Å*8ü‚¶)C®¢_{ƒ›n/¬œû•Áã¨~Šcd•‚œvL€LÒ÷›RLÇÞˆJ¤0‡žP¦\ÜËqøè\^û ãb9Ü~<œ’¦ÛJz[IJ·`Ü 3‰ƒËܘæÒ°{z-2”Ô ÙÛ[+ (V^s×¼Sf6<ï¾, ÁÀ¾åó‹ X!ŒQ`òý½ºH_~ÄÍØ|Ç>J‚H±roàä8¡À÷F…Ó‘:é:&Ùж2Í\—ÂÕì}™/û>– ×=£ å²¶Kñ@vÑ€ÊÑÌE‰{´nÜ3›êøˆffw:xúÐw‹Jí"òåGMÖ2†$¥è‡H’ªý…=l’l¡·+¦Æ‡\™â–DÇ©.Š8I;••p< S)ÚÅQ¼ôÄõà\¤ Ý‚!: õßšÑL©MZ•9âÖ=¡°1»ó²›ã|iÀsA =w”<“jÞÞ²}ÑYçöO‰sÚ2FBÝHw!YÀŸ*ʧØ wOøÛ:ÉÌ"ûg•õõùs´ÖZùˆ­+ýô¯Hê‘°i­#ºöÉ«äzÄÂÛ¤f§R2d=fm‹ö 6¨„6+2;ôuFù²5Ýð‡ÆÊÿfV‹r©ÓËÕw ØôŽ-‚Þã>Þ^>´IxUÝÒ¦A"»DŽKÍÃÊ]È«³ ÔçJ)Œumºê ¯O‡ÿÇÇ1oµã:/ÓêrÍãÃ;ÂpÛC~‰Û=9Urªnÿ)Ü‘þ =ËŽ@Ã0è (‚=º“ÒiBºù/S„Æ:èÚÆ÷S¦ìt1¨w/ó¦7l§ùÀ6;*Q"âgGƒf¶÷‡Ôd?žcþpâBŽu¯¦Kl"lU Òè,ê TA1SOSÊ#Ç6M‰žFwW/–’ê¦ímã«få2Æ“Ýíéãv6Ž´·9\"E˜‰v«ùð]XñÑü Ćz-©?KÌ>l½‡Ì­÷^̽Éèg>y6ÐK„ÕÖ­S@^‰A1Y”÷ÃÐZÂäÈ_ßB˜g~ÍÈ…¤}ŒçN(\-Žþ¨£´lé d•ïù•5`®/â¯Rö«Ū@ÅBÝ“Ê×cN¶Â™M7#”ôÛãN:Ø^ OSû_)YYãt[ªò…ºÆö6BÄSÚ#9Ù¼5~â„ñ©j×ö ´áä¹W õY‘|zçvä¼vRâ²(Ý`8V‘º¤Ð…ê ïÝh­r™y+ A…Z'Æ2FÚ¥,©—ÆiOy(‚šû¥H$¹SN$<ÂÎÌ(È¿Þàš1šƒ×jß݉óî”ÈÖ˜D@[ÏmÁ%çA`”ć£fúzKnÄ'qNs¤Ú<¯úæ¿u‰¾²qÇÞšWîJ‹Bz¨^+ý/«'.ÎnƒÏ–M 3œˆ9ÄP !šIÿu§4—˜# ´‘œf5ݧÿ d=ïŠ|Ëœÿ[DÉÏ…žÛBg¸>„i°9V×g@I|ÜŒ6¨ù%ÌG¾c…æ:­xfšÓ7þô0ï½Üòèúã$ °f‹XUŒÅCã«<„pô #Hv{t3R§ŒµÊGÃ!¶ðB²bž{ÍÌ6êØ¸…ÐŒ¾&AÈúXìØZèÜ9£¾|/ûŸ¯#@úŸ²Ø”5‡’ƒ>IÆ_]æ½§DïÿRhúâA…ÛêÅôâ~ÅüÉÝÛ¤RX}Q+êX‚¦)ÑñWRŠd$œGoÇÍx݇r¿# è¼Ù³>€ÔYHŠPNFÒŽ&’åâ’ÅÒöñö,ZðË$ÙæX“G‚ÝÓõµð•‘Ó³µ§¯:·.M»ü8}Óé.¤\}N”LM¨M”«g-ÃÔûÁ(Å$žà °³ÙéLòÕ*ÕhóÿïH/˜î)ÓV\äȱ(›°Þ–!¿NÆ(eë„æ„ XÁ–¸£ÛÄ‚®­!HÆ\UýkÔ|®9;®×»E¤„ îÏÞx½¹Å½j*QWÖ€ß;çÚvdna¤ûSq®Ù¤9çŒ{“çì;ׂ… Y–ð‡ÂÈ{LjÁ’ Ï]Љ¾ qžûóè:ãðyú7XÔ…s‰ë Q ²Õ*²Æ]Ô°h‘€éNˆ7—ôíf8Êš°õ8%±žýt[#Þ0ÚÖ¸»\p^£ÕgXoª$æÜâIœ\¡¦ˆ‰X-˜ ‘.»ó«Ð2ÝZ–«UãÒ¢–!FLMªÁN}ƒE=ÿä:e# ÝÏ’ì¡„„ Y4Ý^QØcIíÔÞ-ª¢RBêÊàÀùzÚ“’ñÆT×DòJ~ùnø;ÚQy*Ë¥¸TwñØ?/hõ¯çcc0úŠEϰ‹ÅÛzˆÇFquw¥I|-FˆÊ·UJc?+†ßÖ ÚÎDõΓ©†óÜørÆ„ “»Ò]ä'Nô3ÖH nWü"&ÚøÊ]¹šŒ5ËÖÅ2Ó†CåŠçÉFz1Ç€fVÕ,íÙ0oè¼ËÅ…ìXë¼±ó=ÑHM»œlbØß˜šëÞ¢‹T®*ÐsãkLkä¥j_"º «ŒüÛ‚ŸÁgêþeIPˆª«›¢>áZDFž'• œ8!gÎ÷ìjÙy>hŸÊŒ`åè¡0iºÝÓô³wÓ¤äyËq’ƒȦ(™å~šØwÄ/"O¨Ô g®¥YÃævo³L:y[Ιóû°ÄÇ_*GÛsüÐ),@® þ¿‡¦b¥ÿc¢ƒÃðo¦ Lv‡êt y£×é¿Ë\ŒáVÜô/-ÃÏxèj¬b˜VF”ç?¸¸q57R«€(¥õöÚî9ôÝ9õªÆ^Q^+סcd§1‰_¬`ŠÑ×úÉåc R—_™Ê=P¢™<$—Ïž¦ÖƒBb¨'Zê^/YÞç)»ÿC¢z(n½JÁ.sÁ¦ï&݉Ñ#šùFï+ ÑãÏ<= mY¢â ÀÑõ»(¸£ýšƆÛo7 £ÑÞÚgyhGmˆõÌì«Þ ;ÎÞð½OöÅ÷ò=2â¼\Sç6Ui+ƒúúå·3k'Y,ÄZ»3 hópŠÓ ­Ó‚~à ö~©é¸áήÙë í×¹ÓV¬Ágó‘é?··ïnÙ·¶¶Tó[Óª¿[ú.¹bó-‚ÉOkf¾ãõÌ€c¸°¬äUŸ~¨\:KFˆ`ÇŽ½Msq³kDN_xŒªŸÞŒmGÄ0,}@Æ…»v¼@ÚÂã‡f?½´¦f+3­_£ÍˆlaBR°g8¸d°™ò§ñëÜSuÝÐðò« †MÂ"¿·sHJÔÂ?¿×ÿ9{Bý•É9‚µY#gÒIîþR¤¸ÍcÃÉ¡©¬ŒXæÁ>ûg&hRb¼yèbíòIÁž.qøÓ_xžQä=Õ1=Åô#æ=kHŽ8–=H^1+yö²Y¸µŒ*±Jò…Bû¢2ˆæ IÁ*ì ¹íü‹å䋈֜J9UÊŽÕ¤­YáÝ7YZ1™íÀjQܯčU"Úp€84ƒó'îÃ,² ¤RÈÃWÅ2L ö7LCL0ß‹ªê&Þ|Ä¢rd‘Ý £¬`¸ŽÅýmAÂZú“ #t‘ÃQë4³ö©#Z Òf0ùÈÏê|êÚ¡~s¸–d̈<û?ÁúYX\ó :€Oy-s\¤~Óö¥âÓw?Ùf2ŽÐ”1;ˆz(¤­52:íP¶›žä循ÅÜaâ¸hµó龺b…ÃXTF²Ÿa±ù"îvñdòW/X ¼Õþ…ÈFHŒw“M‡Ô8ÑŠBÓ§QÚûmÊê . AôWE•Ù®x'LÛnYž0°ä®14(Õ!83fÝBéÃB«N>\›àó¡Ã^tƒ§7rºgŸ  Mó³Cák½¸¤¶ß¹­ñ‰w&»³yMv6½·mÕ„X͵Ý0ßl"„N²|ÝJ •¹¼døÛ O)ÿà4FSJ‹¶<¼}]á·‹¹± „”ŠKžüFOVŸ¢9š€¥¢+KÅžŸXà¾ÜÙÅç?|ho(¯óo+>6ø9Q,ž¯´ hÍùæà¸¢Ç ¢3º-÷ŸÇì[Í~² •ÑêXŒTVšw&MÀD9zr!_¯N˜?”MÓTþ8ÈéBÕ‘ŽŽ7IE§úwèÔ©Ó*öº(4É$ú‹ ¶ó#óƒ¥Ó ][ÛëšÍXã&×ÿ­YØV‚v÷ÛC/9„BíóÙõ9À óý.³€åth}Ëïnvĸ»u¿ТŸŸNº ÜwÝÀ‹Ý4°ÆI]˜­wž¬”z7?gõäphÞ¤K¹âhb,l¾ñÍ#}hÈÁÀ®t—a4sÈ5†Ùœ ¨5s'Õ«Y-¹B†æë[¿Ä)tkfÜ…4t—Flq;ìklBHØØ-;‹á§mÅΦé&™Hä9D<| ´ìáFøÀô—ýõAW¨~Á3.E=Ûþ⦢e‡Ë0r3-H\ý€ÏØ×è‡zysbhÝ :j,ðUHgX¾^òÎZˆ ÎíbÉØ ‹<ƒÒ¯ì?/îÌ(ò/ÝD­=ð3ŠÂã©áõH[*õª^Oƒî£‘f4ÖOÒéVqÄÈ>²ªå™$Ü~óÄ—T˜=º4*¡¤SãqÛÅÃ*’ Îr‰®Þ´Dïâ&7¥p®Å%\*C¼‹Š¨Ç)&X!i–¿Q[£!‚£S¡@ôbÿgÌùO›3ɹ‘s lJËm¹Ç*£#vµ »Dl‚;b3S¥È¥±Ø}„=ãJ~M‰“äLˆÎ=¡hì×7’û^²˜$#¨¬›¾7Ù½¥5Ææ¿PCœc «ŒGkF Ý|ƒ`OçÉŸ™3ÚV‘ø#‡kÿ*¦º/)œ XR{XX`¡O C ËkýB†á‹ÖÍâI%¼s¤Ë›w&[ç±T÷>·Üâ8jš:ŸHÔÃ3‚Ûk‹‘§Ξ3àOðlG‚ÂRôè®ÿðS¯š[ey÷D!ü’„0²½ëÙöKó­—ú"‘*_Szâ¶Â,ѱÙ/»ï9kŠäi´Ð °Â1 –æW˜°mÓ—#WºÕI'j9ðøjÈ-5 ÜkŽ{¸æ³ò»Ý§:'5Õ&ö³–âïxÎ6b–u¦oÝ¢m\(2ºqu矬hz³NÏÛnŠmA‘/ø|䘎ña˜…ÿ„²«MG^ {4öº~‘r+‰LäCÍžËU4U_oâ+n ^C{>‰ŒäÇ4VNÒbŨZ%X ÀK7ŽñNE ’Æn¶‰c„åT(¢säOG²r`¢/æ!sâ²($Ç÷}¿âåj>3{@(äTÇ(õx™ÛUPëÇuº§²È¦É ÐM@&ËN#Æ"Pš3†–Ä$ö’(eujRý >Õ±· ¡ºô3˜Ö«žÅÕ~òÒ1ë‹ôž$þŽT·gUA“cQÃmÓLZ`–)YFðˆ§X¹}¦Èާ'÷øß©ò[S•:îZIÑÑ ®ì•™/|+s¤¼’¿%B%¡+´Î€ ëLáÞ‡gc9@¼©+þRa À§}äºP%ëÄ%ä*ë¶²ÿÈtQ€BË´ŸØ%V•öx D+¬óžáôåC%7='zÇ7ŽÝHfq"hŠAóqAïg°é©Û š¿kkøÅoÓŽ¾¾íb¨þ"š‰Å©ÉPàEØg)ªq$ÇšÁQ ZýV6Ap¢eˆÒµ ݧSÅ·îfP­ý“7ŒaòÔxiWx ¿÷_‚†åúfµ¸­*Õˆ°‡W aCÓ[yx¶X{$0Õ®ÔκºTxËNÜŽmãûaÉlð„:£˜IÞø{6„JNeP±ÕT9þ¤Ê/WfsðÞfî¨;k$ŒœFšT;)• ¦ò¿µ9ó‚4î¡Ô£o½Aʶä÷=U¸øq"yuң꫞É—ÉÁ’ÙÕ#EÆ,§]lô/7P¥%™RÀìo:y.[^n°Üeß=áÍ À&fÅú€U¬ Ó—·ñèòe¨Ð85°õ‡À ιìˆåÌ”®,PÄ¿Ið_jjÄymÉp‚[~ÊÏøÜÌ¥0zºw†/eÙÎùî·eëK vXûÚ¦V¡ù1ÐòéÎ žò+ÎãÜ;h;Ü-»-ÞušˆI þéóO©„`9§Ü ƒÂïþzð(8úcÜOèxÄ{¹³;¶ì*~`-¾O‚ö1/{ò¨ü©è M¡âë /$½µñX-ÍE3íßßbh“¿HpasU1ç½”„´ûkЉæ\“.©=P[PèôÂHõ@lÛ ÓÎȃIZÓ¶¨ÌèÙã¨c΄$LÝ$ìš78…øí´¨Š &ʉ™4úžÏ©×z²˜»Ó¢í>™G¢èßûAr>»‘*ß'üh5óÍ7kµ†0 ’7Ÿüï9@ô.—øUOߺ”Êô†fòÐ,ÂMYJª;˜~Z#ð&'˜Žw-œTÛHŒ¾Õr}`®©œžGU'=Gf[¬ bVT°sr'„Öwï´óÂp×µ0LÚ“•¡§º-4¥æW˜ýÓdŠÞGT„L(óÎýïåSÜjë¨ÖH«>Ûè¼t¾!û)å ïD›ÈòÆY^,~7 TnˆR‹xtm³I©ýülÛPÛÕ Q¥²ª ³0ÁÃfãKÔ{770ØY‘mX†kÿjMC±P^µ¾Õ´„ú|³.察ÿ¦…› d@™ÝƒÇIOê*¸²„w ÜjV^µ\:«á­ä£ x¯—Ì{:—G® 5n 4ªK×TÜ/ïйbKrG³À$ÉÝŒÑ­ÄØä•½¨:áˆB2²ü£”‰w"& Ír´Àà lL´ï³°Bé%ícg5=Þ¢ˆ Ð6u4Üÿ™q;’¢™&>OXÀò?ÄG–§aG0àxIñ¿¦q¨† ?J…eïwÅÞBž‹ §:ÅáU~u¸¿ôÜž47Iž^}LxNr¹ò!­&cáo†_~’¿ŸŒ_¿MÇyÅQyb )ËŸÚN?ŒÄ-ïg³yiy:í׬þéF {8jiàÒþ‰ýä •$M_îÒB})Tn>û.ÞsÜ€»wß¿íCүߪ5ïs]±Ž„Qg†(»„Þ«9t|Ô{K{Äf‹SÔBíÌÚdõž=Ê{ b'ÝHM°€t†©Ju’æÄ#…u¸ÒW¹r›ï‘Uw#ÊÔûÎ… “â=à3Ý¡ìŸ?Y¸i~K¼pkÝ?ež9½!ÍÉÊ ·eXÔ¦·O1°)£ÇZfçv—åp^k]“'Tž±ùwÎé¯W†÷â4xuv^úqHnD8 ßÄF`9‘ûpç‰(صÆ2ˆê:Y¨ÌYšdÙ [k¬¡ä½"é6Û‡,‹ñë‘6Îéš <á`éîâ†'ëÄ>0£àTÃ((éiÇp&jh,ldêºúƒ³Lo¹ÒÄ`d4(²Qfº`+´P°ØÑ,ü“Ó~Rw]»<þl€vVÜFæîQ–Æ;¯€Øýv¿ñÕ{¡áúáC^Òì’²µc®Na6{° »¦:'> qxpî èI†-âšÂÜ/IéÓú$k¨im°Úÿ8!xð¯±ð? F÷Vî¾ yF±ƒÇÑi  âßrúŸ=0T(û Êé NÇ&MQzT—$n¿VcK—çì·Ÿ–égN§µ 9±Üý0Tá'`¹ª:!³ƒŸì%ô|ë›NöEÄ6ôwÒ0Ô>ˆßµx7¬qqÃÔ(' P-ì&£+.N ‡œ×‘tÛ3J“ª:q!|‡†Äß %m“3âèûºöL¡W-$Ѿæ>ÌÕfÚÕ´þGc¤Y,êNœ\=&t[Í5²“®6ÀQžZ_ÏÐ7ÚPñ#RQöÅ0;Ÿ{ca³œÃñÈà_圗‰^»{ª,×h'^bßùæ9$Š2Uƒ²©ÎÓÓ¯+¥#z°Uzûÿ“®™ÿ·‘ó4uq¾”³=ššƒbÞœ¶ä»`}|y®Õ*/Œ¬Éª£sB¯PÄ ¼+}¸`W&Ça…q LGBõ]ÕNUaüáC˜®§TãŽ/`]®úCÕ«'Ìm´ñð)w=“Ä„`ðè» ÕhHÊgÃ;þo§«RÕZ‰ÞËšªny±®Û$^G,¬~C£5U‹{Ïvb]™´V ÔÍoƒ—XÃ>ÝTÛ@#F²ƒ`üOð*ÂcÖ€Ù\Õ¾nçÆCiµÏNдÖ(t‰rŠ® ë¸&ù"ÎÐFES‰ªðYð7(}OHèÉ)§xþ ͇rqØí²XÌJ©â±$¾4;ëÌÎpOF¬"õPœ z>ëb¦Y1µŠ´ê{Gòâíi}+à>l_ xE³ºý+IÈ‚(̺K¡NHYH%60–tÿg!þÒT×+ ì£ ‚—³I¾SìS¯§¢àÅ6ÊSÞ–T,Ùú%Ñ<Ë¢3Ò<ÜwH.qBJ:·ŽðþȽŽõ®…_¡Ó€Î]½ì¡Õ`Óæ1s‘¸èÛQemÔR­r-ݵÔIô´A±ŒeÚ}RêhÍø`-7K“·=)l‘Zpc·Ÿ[[&´}Ð9b6á”ê°*˜]ýF±]›È@çòz¯¦ßÙ{.ê-Ø…¯tÃÛHØ‘`p_¶ 7G:Ê2pÏ{F”Ù‡=Æåeßʼ(hˆŸá”æˆ`\Ý\þÁ›ÒÔ2ã:'ÚÉÔ”‘Åß2(ëÞùA3Ó]Úo‘ß*>´†8™Ü¬íûöÈzã'a3û¨fœk&÷½¡{wÀD¿ïTWjú'¹ÁÌßæ9˜rre+Æô¶N‰pÃLÅ)Þ-ÊùÚ *ÈcÉ»GÁ™æµœm TÝ™%¯r`[5‘‹Kv¸b„FXKr<«ÖÐ;¬¥×AÜ\¤dçÁ\¹F Æþbøë«‡p¨Ô©È-Ýtå/ªÐl%¥A<ÿ83ä5åœ`Î#@Bîë@.;ºõû>˯ŸéâÖ¬áÌ:ËŒ`z;p‚á¡Te-Lò?&u– 9~62N´BùzÌI}rǸF§´â¾I¶)bI&ÎàïáÏÈݾ¾˜[:UJ™måpÇâ•t6nkeŽ›È £åHH\˜ 8DïN¡ ú÷6ú^ê ω'í•Ï]`ð^%#Ã.v²ÐÑgtöÑ ñx°>C/€çò{ñŸydÑ–3ös°Ú’ Q—h `%.ôìËTĹúzµ` £ŽÖ#lƒdš4áÇãÏa ìþ=:úã<¨¥dl&ž;?<éØ ²´+ˆú)XýùàxSzad*RîŽØÝܨÛñíÀÿëHOÏAÃÖ†ìH¾ß…ò»¤Ž…L˜Ý‚R¿L_W¹8Ý—¿óöiϼJ‘¢´Œ{ß< Sv$96ou6¢eÛôáOI𭱓b'§¾Å$’»‘vÝ•ÿ:b¯TMÇ/Npv˜öU<7δ³ÁHù-üî4²_M”È»:.+Ð#;í’a‹I­¬o–Yðç×i Bp“uàØ%ó {]N‘bŒÌζ__µB1ØÔ( µ Yû_¯ß=»å<ÁŽÖͽE&jC þ…ÉåP“£_š®¤ƒ<·‹K^Þ*³O²JUžEEæcèJ{#Ã{rðÂúK`,“`è3m3æÕ;oCFá-ië,âcÒ›Œ=Ö­“ b AƒÁw]šÖ#An÷xÝôx`¡ö)€--Ç8ÎVyz™^YºaûATKÇ$Ð#îî~BÇO‡{©ÕÝq¿ï|‹@Uö<.5š—~>‡w÷Ë Fv‰ÄCû#˜Þ?ßOÎ?õäÜE÷BœÍ 6*†÷?=F=ËÜ…‘-yÂÁ—–| Mz!ÐdÅš%§it‚¹òB8F—˜ï¨žÁAôPÔŠh_ÜSzØŠ•y‡Ë‰ í¦ &Y¬0Ž”!B/Eá…Œ 3 l”JcÏP/~k¼ÀúÖj•Æ8+ÑQ=åR±,#¸¨Y8ÞÁ¯¡ÏòÊqéPÐãå ã¶ãú:}Ì7eÒnFÇ2¾%ÀÄǵý´t%ØSé”i~aI™''[w/«¼`Û•Rp­÷ÎÇGÛ-ƒ¬WãÑÜbÁþ™`Û”ï½!óN줥ڪs°ñ Âæ ÈHø;0`îÞÞó¨[Ï.«£µ£×3!‰•v2ký©ÉkYF>y“XˆM àpìáZÃNE¸)“äÓY'Ê¥ØÑX7÷õɳf¤±%i’—‘MJTÖÉuÕ$À·O•ä|ñR{L?îš ¶c<‘«pàìÉYõÎwÍ^4Ž6iÓ… ®òÚ÷^ ¥Ó×Á‹+¥ç'Û<ìuP™{²9Î;‘}à¾Sý{ÙÂGU]dœwÁåõõ—szîKºpëŽü«íÌ-ÜW’ÚÏTgq8: õ´öîT™Ó/STˆ~ä( #þ^Dîåñí9åÑò×-\Õ-YB{”*†74ÿ‰sý“l%ÄH¹Ó!»ÖNÈ6§ñ¼µõÓ3ëé %5ã§Z\€_×GåöÜÈû°²h^æG–YÄ9]NEm©jÓ(Ç# EøA¡åšæWp=`žJ¢îÌ•f˜üë(Žax)¸æ oùÞ]ØcûSõ‘i‰n…º¨·@W†üUìÛ“Ô¨\>íú×DºN“§@ÆTïÿg÷ªïÔ—3èá¶k¬\ÇáhTæä¤(K ;^>L•z9ݹ$ãœCßí¬5þEÉ zµ ÐEš/·›ˆ›Èå3H0Q®ÜX;ßÚ8Òè^$nül.™¾oãÅb3Š‘ºÝ»ÞÁ«:c¤+–rÝ“:7’ìçT­%NËV;ñ4²)p®K3î««OŠëŠ÷”z5# êï±}‰”Šˆi¦*ÖYåC“ߺ ®’´*ƒ0±g(¬ojOöYaíñÀOŸÚl#ø;wÉD¿Æ¥kIót`›ìÏ?Äçûm_ŒƒðíçÚ ò3yˆ$ƒÜ_²ÑÁf«ïhH,ì­406/™~êMu—(ÌLaÞù9¹¤Epôµí‹î·!YHáô{n“c®2^)9gþ h‚‡¿½&¥N4#zlÃMÙUĵK¤2kkn˜d‰s-&„‰w®’=%0´GlƒTüÅû ´žC×ìð|›Tà'–N qa³\Š?º÷iež´§lg1! ²âªóqn/výTæ§°$ÏcÂ: B°NKj(ç%äúÂȹ—£ú<šÍòZ«²/×_ÝÇt Az9bºU7tòÏ7'?GÎFº&N±8Ø¡‡Ï7|Å/ñЂ¦5¦Xã²!@?ܬìv-™7‘W®2 oV\ؼ¥ù¨à¸½Ùܾ–U … ÜØ ˆG|¡aýI´>WéÃé…2¥š€õ¬É<çNx,…E[…uûàPˆí5ïÝÂJª÷Vöÿ@‘mIíFçÓc0{`rh”A-~ïôùoí[8¼%œ²¸Ó»ærVF llS3ú'÷”Fþ¨Ê¯ð§Ëd’µqü¾b6R«¿šÛ´‹{xe͇£÷'z°V$çN]ä%Ë)F5€U®tÿÐ<çz¶ä´&öÓ †0Iÿ¨ÌMf!ÂþäqÞQ¥µè€FbÛ ëµ¼ë(nœ;'ÏÔd¹Ì’c›Å¬‡ð‰°Ú܉ZœŸEóª„Å=c)šÑTO6‰[~}¡_ E<§¹Þ˜s,û‘³T÷£â&“8°S‹Ž¸ÃMPþµ¶o22ŸÄÚ¦ý,ÿ`{£l™1$H È4‘fV¼·¢!Åë”Qr#ÁÓ·6Øî£¬qbé±ÉÈâÒ®q$²°<ùUŽ~lõxb#Ô¸N²`ͼ}™ ™È‘©7r„S,r 5Z9tá–`¿ÅÀ°ƒ ýV!@¼Õª0DNÆ”æ›Ø—g3IÅâ‚Õ»ëEèS0ÝÆ­^$q'ë[Á6þIÙ> aÖ9ã 5Í”ÏÖ/‡Ÿ‘Üt|ÿ+o}åµ8€fϬïljy‘pʳÆÃCÁ‚d8ß}j¸.Õíã¿¢ž§°Rßù[7>éfÈÊL]¨ ”#z¬GõzÒ] Ç<ã#Ȇ¿¬L«WØÆÁÊ> tÛµÀaˆ…/”¹½aaP2Õ¶K&Ìi–Kð§ûüÙ+r{çŠKÁ´‹$qXØòsÄõ%¤qžÁvÜ»¾¸hÉðÎÔ²n½]µ½´6†æ[ÃQpœ¼[‹f—@Üxkû|/o«òáÔ_(s|¤Ð‚‘ôŸ ^Úa¼€¨­É¡†Ë"ÓE i‡:=Î6|~tZ¥ë}¢X@M@4ÇoI¨ë%è0^d´Ì :E2 W¿@ÉǦ²¼ã-§Žpa¹[#ŽI­|/ä\Æ(UÝ~oòÅ&£üçûq#qÓ±–<|’‡…é¨`/¿hÉ7´(­ ¯˜ê§¨u4Ⱥ²¬Y-Ì@=ÑÓ¨§ ¾û6‘Üë@õ¨Jº:< LêØY”ÿ€ /ÿI›}sÊiŒ¯Öâ0yË #,p3 ›'NƸMH—»=‘JŠlðޢϘ†Nß@š¶W=FúŒß‘ðâ‹YèGx¿°ÊÉho?ï.imÛdí š X¿{æ¶™È|ÏÊ}UkÝ£]W@{ ¤Õ‹ÞØ?`÷5³›qJòêಠÛ7gC)F-3݈-ñ ¸ YÕ!>0ɳÒCçă3ùöÍ-† ·«iÏ•zÎÜ’óÉ GwÌL2 µðgBŒSdÓ*ñl€:êÜú%u È šdº¶)<¼#†ÒdN\UÈMɽæ/+˜Ž/¿@jšÔ9õ|ÀèÙ;©w—8Ga¹~€«ºøˆ!Xg2vÕ¾k2D^€îK;;{~RÖqRõs œD¡-jfRUÚFŸ¨ÝbºWX˜äñ}ÄÖô‘ U ÓÞÄû„= bQåñ=d¬ êÄh~ù]ü¶/$L•¿Bª ¤²c`„¹‹Ñ«£Çª“´œ1-Öe/‡R SêÕƒÖñ¯¥YÉ=c5{‘kƒæø@MÁµtÄ2Í›4PP±çóîZã§Ó=sq¡2?€5K‡|µí·)Šï…´ÿ„PÍ1Ïa´W܇cÉ5}µ;WZïð¨ߌ7I~3Ú iÐN¡C~ÎÓÓ°xˆê•S¾6ÖoÃUG”×ov ¸«8ÙÌ€ ¬‹ãkCâò/Ü2½Ž­9rUý)Akï`:1æïRå÷¡=œ°\–¶S·sD¡Þ`йÔÝ>D|þËZ¸í±wº &Þhe¥¯‡: „ËU€ï{-:“—¾½9*²³¡1Ö±QÁÕˆéw5¬öyûÚÙ …©kºåÙEA]I&ªÀr¾{Z‰9Þí85W.=»f+¹!˜LÃù,`.È‹`• µÛl…†œÝï‡äS”NWp·ˆëý ˆ¯ÙBbήÜ”„nZÝâ'Q5ÅßÙI$«j¯¹*;& $Êp HJ °J-©:(ô I¾®Ÿ KðÙÛ[l z|’8r±ñåhµæze«;â²AÀáX‡8Þ úQµ¼±ò&þÛùpÍQ¯˜à-¦}Bzä7<8'ÍÕRz¿û}´ÖÉâœÖ,áÑåìf1:øZ8Šlú-½ V5µšÆGiýýYTElZoÂ^¢Tc µâ ›4è˜ÉªäAŒ)PýIÌ€dql\0Öšêx(T¡ß×2x…DÙÆ):ãç«ù?¦8¤É43.wÓB<g;ðbì J¦¸S~†ÓvS»X5³}©Òa/…qíAù]ˆôW©¥ùƒxE|{þƒyÊ¿íÙLi¡‘; ¸³¹q–W] ó£÷à `¡%“§eȶè^±>jLÝÜÑ@ì¿È«fÐß}U¸zOB÷ MÆN]¯À'½®b#*æy—*ƒLkL•h{ç“ÆW«g°«%OMoeê“åÃH¯Šþ;6@“õómœÔ«zò:_—8WÅE—\É`d–=#ÝZg¹.…oµxõ›Ô±»±€L^]J-Uþ Ýa·XÃH’õr9¬ÿmG»*”JÏÃr––Ê+¡V±7@ áYCcæ¼J®Â§ÅŠÑ½'T¦„ëzØfgýçßgž¥²ìâå…1Ùyr 3µ­N½5îïSì¼®Õ§’L{íÝDP ©xc°×?Ð÷–ç¼”Ú?ˆ06Wj•áÝRë¦NUí•7¨Ó³ó§Xñ¢—™<¤9–ËqÞcgÛ²‚YMèvU.„M·Ó˜¾[,üÌù‡559y l}Ÿ_a1Q=:ÌÃlPØX l¬Tc§šÜŸ²°ï,ÄQžçF6}YLî c«ŸÜïþdñÎù¤Ã“p—]·x))A-y°wø¸=t%N“¨þI¿Ïj7¿£BÔ*ìÿƒ‹c…$:’ðn>ÓÕ&¬9qPgÙ_QÇá µn˜Ž=Ò›ÉöÜÛ„]8P,¸;ò¯!§l@´TÆM¾¶”všwÀb³P†GÇ…»øZ$ý¼e½|1 Icx a·K~LpI¦‰PìןI°Ü¡ù·í»âDYõ~R4kàýׯ×\1Ú­”°í¯‹ëßJ(»¸{̯°x7òÑ~TK5Ÿ¤çÚÔãÀö›à$4Õdz mÑú‘”:ÇÖa¿Óc;ƒùÓ™ì8éÄ,$T/§ÐþWu˶Óû[ãe£aµ¢³…ÆŽ!ÙÓ?¹^ûÝ…BÙžEÛøáØøŽÐDWš8lšý–îŒ,Iù2À"·TcøCßâXô#ë{ pŒ¨cU%wÃU²ÜŽì¶÷ãc¼@:*â‡)ŸUß¶‘Ôà̘µáÕ_²‚câ1|¾n¨¤Õ>zƒ*™¿MbQ®Ì¥;PÉ»[â’:3ðf‚ßÞã̃zå);¦€mUú˜‡b½ ž©Ö†êPg¶ª¤§ŠE›ÏÚ|ÎrKùå­ùu¾nÚl~®ÔèèŽnjvò•«‚‹šÅ\"ù¿¿Ejî‡ýÆ­•3„;¬ðë"øÇü\à¸$Ù¬vœ‚ÕêT%ïœÿ8ßQÞr¤G•Hòÿd½5ó焌Z…•J+]ŸÀ“{3(7‹i…cÜ^Ü9Þ±Õ‡‘-U$㫲-Éov£&¶”ïÉlF˜ O9€“`€Ö¶`W}ã!°ê^Þ ÄÃb~+¢©X†ŠTŒ ,ÌiÖ¥±ù— \xîóIˆÓTPR¢™GÚ,XêØá€ƒW¡—ûõêØªLVöeõÇúÙÎ$iTNr 4¸ðˆƒdIŽAÓÚi°ªòƒøa°9zÀ"”Wî¦÷õÏ»Ö xßHÜ Š"LܰoZw²÷ä¼÷cïŒX„éJºëS†ä®Y«ÍÂïk¡Õc˜ŸÕ™R mõžŒò”9¹u—S/£d)V|á´{ξJñ‚YrTÉÛ¦œ®<Òœ×y›á±6®–ò¥µãYRgæ^b¤Ð~ðø$ö+öߎMä?}ž ‡@2/Å?Á€&‚jA½¢aþ>ƒ'ˆûo‡ëaz*vß3"¦æ­ºßŽòs7> ,õühghV†géøÖ±¹·¬1XP5馚߮–« oúˆ¢Ÿ«ÈÊžªo£û]s“öÞˆ?ØuàM%!k½d¾”î‚þólÉq˜"’fY»ÅÍÇW¢o†·°WѨÅÙ'û¹#£7ÆoÇëKc€]¹2" _‹¨…èXºÔq9á¥üÖÔùcû¶´¾+ /³pßf§¨|ühÈøǤÀœ«ÔR§`ˆ‘©*×äE"kБ,\f¨2 g0Žâûe©¥-!úÚêÏY‹&ˆknÅ‹*c*Ôd“¹[ åÞy‘KT%÷¢Äl sÆa¸Çõw%„•´šúê0/ÅNÜ£‡iá”Óç¬g]5£sÉ®Búò÷"·ðÉo[-¤ ­ ¨ãç1ÅxÞOŠœ‘츿‘ͪt!ŠuìjqÚÓ- Á\)«å¬Þ†•/í…EyÒ¯g@Ë Q­³+´&éût"èæ•¸ùSðÂëMåÔÜ!Å–¾Ï-›ìY¤¡8ÁÛúÚBäFÏúÕ˜¹#@-R­ž&ÆÍ ÀÈ鸉@æÿX_Ç"ÉŠdþ¼ÊžM–|9}º7ˆŽ\a 5¬ *½Ff3|ª>#C³[fT 4”4Š8¼GÚÔbáhˆ/ØŒÑçGÁck¸GU±ÅüTm&«áŠ—Aøû¥ø7¸=ÉÊhÙû´W<^ú ´ ›"KîÉŽn\fÉð<û£8yÛºØ=«"ðw%·¿ÚD;ä|0Іj°í7‡Ó}óÌžQ$(†–%0¶‚—r fNæÃá<]¯ÀF$a¹á³¨å«}sôU5Û›ßí  ‡™«¿rw2Ƈ6s!.n%¿¹ˆß^ÒqæSW5ŽþÄ®ùÇ“üäZE³>9V25LOl´XÎ4“Üû65c¢õ:ehsz ás›"7k0NÔ]žU;—$Kü¶ƒ½O1Û /´Œ¡+ÍrÆ®ÁhñŸÒ.­Èò[¤Æ^ì 3&š¾/{ ˆ®› e‚.ˆèfRjŸ£þŠQp ”·ñ?™aÏ€â^Í¥§Þä}óÞÿQËôBØ4Šif¥êâ¯nV²ÒÕõÒÛV UòOñüñn:°±ï·7lZ§.&F®æ&"qµhpûÍ”ƒt8õÛ7„Y?ƪ~©Ú.ȦnÀ»Î;B¨“£„¯â¨l©ƒgR`«›eF;Ž„†^­ §Ÿ7WªYOû «äâ@„}J¹rÚ—Ö*¼z”­e  Uy /¤Ì±ý86ŠÍÏY ±r´Ê s䃮­]š_<©ÿ>«Æ‡oŠÁº®’NáÙTpèÍSÎa)‹7ȼÏVg,޼ˆœþ– 0RÇ(‡à5нAÆku¡`c»Yd«º,\÷¡­Êåœ*/ä­b‚÷PJðÉð'æwpUøÛz–<À2ò€LFŒ9ÜüW5Ò< Á*CKÙ9ÇpY“ã5xmôË`íj1žTxIJµEñþ9ÜPÏ”‹kÝoÚõºƒËUœTÖ¸ô†>*ßP(žl„IyDlM­õƒ´Yr#ä(1ÑL—ò×"µL ¦aq: ®Xrõ€clD#È÷¤gfâTü³b] õºbg(§eÁËàÛæ3¾*)´ Hì5Iµ±´¼>ߨ€p”Þ›ÏHä B®3W¹ôøaº¦wzi&ÈÌãE•æ‚ F„?Tò[N…ç!_[ ]™%ÈÀt6B·±M5Íýô­)QÛ;i÷#6ÿ`׸î_~û#ÄÁF¦±™$šŠpðæôp:æê V?¢þKVQKyü~Êq-–ÐŽm7w™+ÿƒæò£/M¿‚ºOè=ŠÙX‡7qv¢ÿ5Û¦N± ­ˉ$Ú4åŸ'ã±¹tl8ºùü±x õ–¶]ÙŽ”¬cO푵á;Ì‹T «¨- êoãz\Y–å”.Ý©\ê ‡?¶{­¯áOÑï÷ûà8áFgt8À\šX F!íaÆšûö· JÖÝ<¿à¥«nƒoÄí4ÊKJHF©kCì·4ç5Þ.øç&álÉK·oŽçó…h"ï`««h=‘4üü6F“PÓè98jxAÚ4>0–ûòtj`g¡êM†pÈ0nâ«T…3Lé²_¨œ[½M:_¥†;‰ß½ÂªMØÀúþÁ2é’ÆÎÅM,´ã.§–Ñ!0§¨'BOÍ«ÊC»dñÒNZã«WׄÚ×ÖÓ)Q'ª'ìk Š`bŠ;³.€Þ«ç.B« @NÚNcÙVkkôMü%‹=zÙ}ÅЀ¾·W’ýåHiž³¾†]›‚Íy«_±5\6è 8\¥)ó9ŸÏt˜GAÿûrb2›í¼r|éèú}§w®ðjÒä†×K;|=eî,MÉd¢õ§N‹×ÆWuýæ½ÉQ¯2£OG ¾i‡¾»òǥCö¯&—O˜¶[mÌ•õ`¨¿]¬Ý-=uŒÏyA‡0ìÄÇ7¨¾©öÓmz@b¢›NK,‘ðøw´€Ý8H\/ÇV&€^×ÐŽ°™aL°&AºIåhz{qßúÇS‹åå›Î«2GëÁåÚDø4 ˤPž³¦þ|Í\¥;­³ºÇ7„5N3@„l(b }U¬sdb§åK¨<ÊˆŽ™…­ò•¹áîöã£á ì’§²œå¾ŸJH¦?Ó·˜¹.›m1mŠ</ÄK«µ nü1LÖjù– La-!¨àHOlø`già ðÍ"Ù üqÐîY@1fR~#_g ²êáõ6û@vV‰ÒvÈbÕÚSõ{fBҲߖNùìØn~DA8Ô–nÏ“uGš{°Çº`<»s¡ŸW£8å&™´v‹Téì<+J?h£•ô’îQÌÝ µX”NÀ¶Ü Ÿ,žÄ(ƒ8ÿIçMÉjpÍ rëV¤˜œšþn{Úå+Áß%¾2—Ûêm”>€È=w²!3çÅO(@ÛNX¥ä p’;àg-VÁ#æÕBªK ÛX:,îXúá,>É7K±BRržÍ ÅŸˆEÎwúë2tü¥°~ÂËåà½B]ê­ÆÍØÎ?â©@\ ðÉî±»-UØ“üÃÄßL¸e ƒè>ÊEêà¥ÝÁTŠhZDn¥RURñ§Jâò¢¨ž’ërÕ,P1vF 5â(RÕ½¿Zë9I&·øañ Ëó<À@êäíDà˜⎠ÅeºØtU‡ãMǺÃÁgHÙ Žh véæ—3t²$‰¤íyH¼…Ÿ ÏmÒÈÍv°Š”¥Â!މ2K”ý¯€ýëUyÉl£ÊåT¼Àù´îeˆÄ£OVZœºÂµ˜ILvÀ”jQ¥µX`[ï7o3½ëÉþÏ«e¼‰oüljw,jËo˜()ªÉV¨Àƒš¢WÈçœV¤%§ÏÊ5œ]Ä ~IÁ£÷ÿ5\¤ePy/n…:È6ˆñŒütÇ÷Òùá5¨¯µ¨zçQúP é.)‚SבúŸw„”V.C£§ B¹šÎ9§ú$ÂÑðóÕ±ÿÓý÷ˆù¬|b²½êøùoĽ¤–ÛÀK›*[×hd1R}ÝNÿYÍ9‹Ë:* ÉêtLjx«”ç6³)ÿš\Ïï)ª';E²*èúÓøùœŠ7F-½{¯ù„ÒÍÑnŠÊy¾ÑÃ"ÝIBÄ@Šz„Y£½²*ñ0ª´–Jvù–rÁësã>ävÞ|n¼d¹)’¹¢ÑÍÔf_$™ówm{RMùyM§{›€,âÑ“ä̧%Zç.&1Ž×W)!¸¤uæ < [ |ò;æsçbÁH·a‚S¥¸3ôõsã¹£†j×"Ës£î¢ß±Ÿíß<ê‚G±¸Kv^x}ˆ°~þÄó>ÿàW‡÷0â;ƒ¡.üõмûk?›}f=Ú¤›#GŸóß×# \÷;CBFÄ)ƒ¨£[K¥=nýrõÚu,ÔUóë‹Ç6µ SlnÇ€ç?R§²¦U$lù}“¿=šy˜¨“9ýÆušÑä%ìÕuŸ íò&" 6Vy°¿&´c1=L‚0 Qá Ü´*p€ãÉrd4S×g”þR°†+~F€t°µƒðEÓ¾š©špøÂð@Ù®J2¨ïŸ#DñJ|ÓÅ ¼†ÏOQŠ(t¡^vÒ-x$Jx…[޹nj¡?—ÍÜ39{‡(† ¨Fåíê"QLõ”q Ü=º( Ý Ç_‰öCGå|ȱ:BÖÎÑË~'sWþrcd›¦þ¯*‰®ªð<¿„æa2o림ŽÞŠFv¥Õ› IuÇúç¨çCð7#!qSa¿ß³~ð¹ ³~÷Ç,¨‡Ûº¡Í(¿(ØåLsÜO«{÷9“©7ØpU‰ú}ét„ZB=Â,ãE3DÊ‚ JK KUHñ–©¨Ü½ˆ×´9Qìç×åÇìí<@°Ð™õrÎb;°y¤jgåÀFŸ\]v*Ž$xÕ‚Ç¢P4F±*hwYÐ<»_–¨»‰&ò–Õj ­òÕÔæöŽÛ(ê>+ v°ÏLÕ*§¥:Ðô,Ù.¾K˜˜Á’ÅýMøA=Š"Œ’)¯#Þ˜¡×ñd IÞ]É3ÓP–ÖH¸·Œ!?äÖt¤DP?Mðç_É«NåÐußËûóß¡r‚›dcÑ|Ýýð€%ÃòU«¼‡²_ç8âXåÖ½so§Pƒ99½XÃôUצÕ×îöùt ÝȪ2´“§KQ%|$é/êlÃ[Cx¥Z>ÿ´Ì—u¤Â¶a(ø’÷Á¸WQ‡%Ϲ–gÜ0Ì`#qlÐ1eVBsMòçT`‘» S[¼d WÁÖ»Cç¸bË ŽÚâ#²NGá5ä¸<|Á~ ´Ž×ÂtPºÈ½Ó¦› C¦SpE Bk^Ýi“§X›ÝˆïŽ€&n]ö›Æj.5RMH³¢FNu²…Z§›`*5¤p ðüJ Gak˜'c´A§Ÿ%°´ BÔ Y¬¬âGd€ˆ ÎæÆ¥é\‡Æúú± \û«ëÏ). vÀ¾× 3Ä7RÞ‹`ÙvA“¾P‚™H¯.(/8ú&çž`½|d™aÕ¨‚ÉæVHôû;‰ S ”„û±ZJw½cOl¯ŒÍ ÷sí¸«¹“™äX±žÊ…o{‰[ S¶ êíjÎDzkÔÄ_ÏlŽ›MGAMä˜s¦°97‰.¡7ƒŠPte´ˆ—„¹£ZzpÅ%Ì+¡£C"¢=S­ˆ!ž¯…: F?/úOCöåʤ t¦§–TÞeÞ 'T™*‡Ÿgè†ÂÝ<Öß3Šãåîæ ô3Ä÷•Ñ•%‚Ó¡#Õá @ ­Qo?dR¨ixG~òቨ ß\^.#¹¬hÊ"-Ëþ¹Ü`&ßÕ™ªÄ1$Ùÿ8ïk¸Tù"ŸÜ'G¤&ð[ ×R4c8ã·¶‡¶ ,åáOS*pÒVÌ[˜ì\DWJÝ‚ÍÁ–—ïÀ²¹r©ñ~âƒ~r);«d³vdà …á9xR>/³œ"xºˆ«aá^ÙhÈÔL±ª¸—™ˆŒ·³ÿØ¥v_È÷6<î³ò-â½"Ô½ÕPàÚæ j8\޹*ËÎéñ†¶x›µaRÁ_Cº§…è„Ä@ª>4Røˆ'ÄZ“¬¹Î¯¡Í?þt›¿ôg°ƒØBf¡ðæ”HáÕ“³„ùO¡]<†)(G(-ê%»«E9ªåñ„j1¿„8µ@>èë­¿n…Cï  ¾&µ°‚•;>´VNöìQäFÚBô“@T¾Îe¬ªzþ$|ìL`Ýöa‡e–¢DŸ1h—[À‹jh€‰&ÏÀÇk:ÈQäÿ× `猷ÿ8LëÔå1Sà³N…éY=„Oøn1¢VÙZ䛢ñYþ?w)j¾ÈZ¯Ïm×"µí[¹-GðІ3ƒ„åÉR]iÎxcõ¾/6yNÒͤmAõ\¼S¢]¥†[+ë-›Ôí1]ëïɪý¨æ"H± ÓF0ñß6w­nx]92»æt+¸ h¦4δµ›ÿ#fˆQpå+jþ“ÍtE¼š€n`ƒ¶ &çð±$ž'`§^‚Oª$̰œ¸s<^öþ^RÉï¿¢[`ODWQž¾‡èò#À¡pa¥‘½ i¼™f7TX½@tf~8’pÖóŒ@J´Ä¯¦¾hª«®\EµÅá>‡ÒÔçääB®X«Z”Š(¬ìN*ö”ø›MÐzìk㛯@™×íöo Ñ8pQë2yjÍ®>KhüÀ”Ñã#ísÑÉLRâQ爪Ä:µvƒ@m^aPeºzÒê¯ôüu~Êôý-¸qTyB—S蔾ÿmO?i˜Í:åšå"›e½Á",ÀL Õ»ÓØŒ8 ƒÉ" 6 \Òï %là&Ôzp@œ8q¹ÐGÞn,§ÉTdQ‡ãó{Ô@B$M_ÿi?ÍEÉxY?95=(À§=%° ­ò2–ï­C2|iÃ!²U b³ùáV‚$„ÞÖ¹qË‚Z¤©ÐÃèÅë7iéwõ€Š·Þ»Þ¯ÆôÔ‘GÚ`êŽyÙØ—Iê´NAc Еñž¦-É-Ö 0‰z¥yKgLsÕ X_i`=§Íå,m¸Xí¢dŸ$ªç\`†iKÃ?ïgÞ%&éX`{<ìkc]vv@Zê€ j4^2ÝäåOΪȜzvþM¤]^2|wçUé`Ü¡$õqcfrRõWúÊa°™d5ÀÀ®""½“Yþ¼qƒ#z© Øçnë¹Á)ø«pØK&+OçÀ‘7šáT*rþ|rªöykþ>ïð®ý ú}n“Í,Q`®þ$K)ÏÄüW=©  ÿb¹œŽ£7¾êTn¬¢›páCúÖ' ¸àa’®Åœœ9‹ój¤ÿUÝ“ÖÖä$>‡>²§Sv]`…lŸ–Ê“µ‹± È©k“óÿð=ÔÉîF½FuÌþ´4“R‚ß)67èÞÁ©eÑòvž¿UT'~ô!¡"#ù6Z<”þ¢Úö¼°h.e Èž}2Z¢J*z*óÛøþibõ•¤Â$¿Z²OÕ‡mW•ž21Çr…XXoýœe-¤=ç~Ž@ÇœýxÓT7¬„Å×­\Å+$ù°ÑFhsÌ|ö… ص>º’žÒ±Ï(5‹çγΥJÌi´ šŠ,x=Øx6®ÊÉ¥ÝuâjBJÓÅ»¥ÙqKõ,ivãDÎtc‡v»nÄ/¡b¦ÂKX£Ñæo¡úX¾È8–YÖ¥g¹_¤‹9ÚßxÚœoý¬=iÂÕâ…Ùtƒ™{Zø}ôbÂ<{‘º{äruøœ©†¾kM´_¾ ‘ß,‰ÊnÒŽD¶0ËÎlPÙÉ’W¨Ä‰öÐ?íD`„Üwls†¦¨¬ÀÙ»N-HŸs«ëéù±,âZ3ûVûîøU uà9Y]îí¸áM²´Ù¯åé·/Q`ö ¶YÀ£©À.‹ƒg¼1ìôT[*dgHi¤º0ï‘8K •&1—œ:s”!X]åõ 7¸Ú¸~˶½ÖdN7Y|„˜b+Ï»& C f©2BfS¹°…(ð¸”e?ðå8Å-XMðwö¤¸ú7Z»7Hÿç6«u] ½RòMt}3xi_S_ º >e¬Ü!ö½ —ÈÏ]Ó•Œ_zL[‚¶b©>¸Ì{ýäd*†íe …~þ;&¯¬ ¿î†å÷Ëà'T¹'V½hŸC³ >QÒ$>N0"\:#²c#ÏSþššÏ’b;«çNÑHàÁ;ár @·À|Ã9…8ÎëQ:WUk-•qå4sZJÅêGÜl-XšÆÂþȯW•n²ULEûbŽ Õ¾1ügÑF aq¹C^êš"¿Á¸;`Dƒ=QC‰bV N¯­—ü…¸¬‘ìçj]aÞUEÒa=Ѝ qmM 8>9õ ˆk«ž2OØÛfëG r9ZšâÖ Ê»+Ž!a*øFŠ% |‘BØ'äwž$–õ§(Ñe‹2læíf·§ëÁ—Ôba?ÇháÍôÜn=‡:ØÜö(zS NBüqN„ÈèV®ôArÌ–ãô :¾‚̯OfþáÕ!16&ãl$qæ§ µ½ÛóëÅ#¡ùºÑ¡4Óx n0Ú-ªËÙûÀ"ѼúÖµ¶³ðêÏ„ûàƒð ž# ‘KTS½B0 ¾•L‚ïÑ¿¡¯B6¸8ߨ9ÒœÓJõÄÛoD2vGÓÏ‘(<»cqH}9ã¼³3ŒâEá«Vð7åÁÄmÁìH¡¦Ë üŽî +\Á›qÒôm­XñSíV‹ØO`NÌÿãè{À iÄQ¾À_LFعôáØ’p"d «Í çz½’ÝÊWÇE¢ÓÑC RS†³AÁ®|.4sùÍIcôŠYܺ'Ã4žqQ5HZ(Jé%Å„^P7¹Ã±Kvdœã¼5hØã-ÑêªÀá¾¼É`â”® Õ;kRÚgÅÉ=Tú w/æµ²y}XS¾N…4Øêû‚¤Ëù7AGẇpŸ~rPw¸•Àj—;&p;Ù•{‘¾ÅåÍQa1˜nd‰{X3\Ò?×"!ÂV0k2oÖs ,§=1x%©Ü”,œâ"®°\T@÷#^舟w2ŠSVá@Ѩßt7#޾=½vÉ„cÂÔÐ2”¢æíç™nv Z×zÕÿ#zYIËùfÌ’ÙÛ4¥@BµÙÃêûs®ôÏ%Ê@¿4ZÕ&«f£Ì#‹hÖ¢¡vn#v` ÜäŽËª÷Rp7¸p*®uw+¡wôfžÿ!YüÜ_øãÕ–íÇi™ƒJÿŠÛþ)ꛪ'²uå'"Õ4÷ÊÚ}ðïBøÛ{¨…L6ÜÔ…¬û£ÁøÜwô‡B“Ò¥$ÒÝo™²Óú8#LתÜC7­½<¿àª·ý üþ ˆ½X>|7Ç郙âdì>^ÂÏCÖ×¢ ê»ãY•>[Ì¢§IÍa<+‡bʉؕˆqÁËv ÿäÄ`à$²´¾ßS]tC „ß(O9Ê*3˜¸jl–/ýw fýbíŽõ!–?ß'-5–ÿN ëÿ¿+‚‘rRãåP\t"ÚÚíxüGu‚Ë¢ÜÙÍ¢z¶x™ZÛëCégug·Êš´|óç_}AÔÞb"‹’Ó«?ªìÜO™(¾ù¼‡1»¾b—Íi¯Kb­´ZuIÑ?H7IUhºiš¥^ˆQ÷pËt²U-¡mEë]o*õÿAGþ6tÝßöH»?bˆdŒñtØRéY9¡ê> a(ý’È{Õ}¸€|2Ô@_É _Ñ©a@ƒã…ùY¹CwX¯bcXmeFÑ57‘.7nR¼Ö§9é§!Ì)¶Z+v„·XW8©×«Ÿ™ü1ûÍÂRG4±AC3§5B¹Õ;ÿ*)³ä”×w:"†©ÉJøͳAlqÒt6Àú‡ “ª]3Y€ £tÛÇéøzmìn@Ëhþñ†›~Æ5˜‚×4ž3¨*7Õ³¹øÚè.}ÅqíZkGü,kD››VÉ×½ãI ýòîpiB¡(«6Áo\êêz’™NÑ\þ‡2Á Ó–KôòNaÅ S ãñ6Ú<“E)Æ Àî{AÝ}«TŒQPM3úˆw¿-)Û§Ô½á61â¾¼EX«|ˆ›8Ë«k8š‘k| ª‹Q“ebêþÁê!¥B},¥”ÿ𠑇áö–Ýx_]Axy˜±:Ó wC”á‡{麞 lZÁ‘Ö‚-èÑ8Œ~‰¢~aUÌPhyqBϱÞt5ñöí0À?ÞšKæ‚#ËŽ™ZÜÁ{P‹Ñªh!Œ²!/Wá^š1Ö?AVI®`Cå±çB­´5Á—߯NHM8âµ# ûC¢!ØcËãIŒ•“ûP³‚[<éDs\mf<Œ'¨±j93{D¢òfú;MÈÐmŸ`ˆé[0\YîÐE’„ó^Ñ9#òéX RÏgù¶×`ˆå‡˜7P‹02ˆuÆãcž…£šœ\½«½Iƒ‹"9@Ã=¾ cïËõ7·íÝsÛ)Dê{¢-xs™ɳd¬ ‚§ººHÊñÂ!¼«}`RI=QÄhÊߺ ÜöÌÇÓÚñ¥8= fuæ1“¯”³ýA·¦ûý‘ÏÀMÆpá^Ç ÜfŒ7ä}Nñi_0ÿÿ0f·(Qví¾£ôÙ¡l4¾u~JBU±'’‚ò‚—Ž%~bØ‹¾Ë»§¸ªºj£Yh2wtÊ®˜æ—ÒÞHƒó)Cq[M^R¦6]¿§ŠyÅî*OpÅç’ÎìöÛŃ+:A#˜Åïµ2Œú§ù쪘Åuô%ç9z'å s¯”ƒðÕ¹&y¤àltbÌÚhûOô_Èûš)­î"Œy2/L[DS ` pH¿JÑ13oYGû¯uAó0¤‹>‹76c4V§ Ñ>_ºxìÙ·õÖ­TJÂ6¡(s[óÂw-`ëëa_°æ£‚!Â| îbþº¬ïu½«„Ð<@T¹¾“q pþé– yÌ¡&ÝŠGÄFÄ&hHÝoZmz„×­Á¬s1°1ºs= ² O{3` ©@rÇH{S/¼ÄEB£f÷‚‹¯ ÔMºµ"Dª[Â¥ùÒZ4@2Œ¸nŒKmÚ“èϤ±G´} !.dÊÉP|8i \<ŸdÛGQ@Ê‚ú²?˜³p‰¾ÆF¶ƒ¤aˆç<"Ï ²³ð=3sh ö`º¨*ÈŸ¥6Ü:Ñû±E2ë8­ÀL®Vz°-õ/ …Ý Ø¡$´{¢¹gÏè_Ë6fWÓøûâ0Ã@˜Ö{~Éx~Ï–f¬Ås̳öÞÙº½<ýeø¹¡O£­2šq’u ¶€8…£7÷6±•‡#U”DÕ$!Ãvš|:6FŸklZ®7L}'÷UË'eÙVë©ÂÇCâ³>™z)b¶Yä$RÑ”U“„$ß,³£pì!0Eg.â­až®/è“벥駢§i•ÊåWsBUíòˆò0ä>œŒúBíf0õïhЇ÷¯¨ŒaÅÆ{2HÏ(”'X^`‡ŠtL9ôÂgâÙ¢?û9Â ÖØ’Û7UÈÏåþ­Xfõb¯"ïÒ«—’P”–R6þqF2-°s8Zt7D‘Q=Cüä èR…·öd¯åÔò*ŵ¿¶ÊáÃJÔ–_Kîj²bmk± -ÄõŠJ¦]W› ;ËSGb†ÂÒi¸XQåÄðK6 ¼¶RÐÍý1¥vœG²@ ûBŠ &ã² Øí9ˆÛÌc3ù3]³cqI¬ë²ÛgªëjÌ•³Ç[(E²Ô±Žž¼L䆯AE×ÕÝ>­ñ/ðÒ'S Š»S‹!” ¡†ÖCí¢a_g/gä9BÜ|5½´A°…bÂeÚ#2¦v` ¹°¨W¬ˆ}ÍÙ‘ôY»¯ ÚõÔ^¡Ryg‘¶TÕÏFa¡=oðÿzÒuÔhb{Àòw%’œÄ3x{RÔ \ÌKÂr§Lõª­B²:?QÕ‘±Ä×/!ïõØ%Ú³ÈRiÞàú:fñ‚Y(;3ä. ™ÌÐá™óÒ};Øó–Æ*'ŽJùJúÕlMzZÝV…5ßa£W¨ °msÃÉ ô¢¹† tb­o½RÚ¬'ôº–å$"Óö>1|ãMýÎN,âJd‡}æŽdù„Ö{)Mý™æBØ·v"èõÃã”Dï—Ëäø€‰Uj£ù0pÔ½°^÷ v§üN@Žò®Ñü5Ä„­»±¡‰zÛú{™ãúnÄþ«•}5 sýýe[U³”j,œØPul¬ß z¿ “'\ûDŠÂhsÉ|*(½çˆæGxJ±u_N<Ë÷‹¦0pA¼ã›¶0žærˆ‘ìoÏ£m {FÙâ˜FéÛØÖq`Bm«kµ"ÿŠjôr…ߣ„N­$dÇU}qÅ©ÌíD»ÅE}qÍke5ϧj^Þ-E7·ŸÕ•ÐÇè MC|…>T‚ڗư.}¹ð Ätbx}‡mã©ÜìÌ¥orgˆWɶܢ¶Ì*"8VÆKŒ–rÍm³zÂpEºK?Ã7¼¾½õëÕËFʧÒN4'n.´Ü G£oïí¡Ê=ÞµF$©aó8TX‘98¦ûpv"–BÏ éXûö7.ƒ`ñFëKÛ«ažñÿÙF­öÊTûiJ ’….ûÌ{å¡¿u¢ºT{Yv)ÛïØá£@Jóu°šK*jdžš×T³e VÌ3&kÀ9eþzk„+Ü#pžj)Œ1aÄ À«ñÄ€žgž“Ìk鹿¬‚ÌÚÌã«ë¼CN#ø¥ú}šæZh£û€ë#q®dèPp¿/¥C›âAky–ú¥nø”ý=©µ5kXX§VÜ6þöö„Qº¼U4]çE>}¦-è¨G²q»,§bÛ<[ÜÅסóĨΗs§*Ài0QTcñ?T,+ËÍ$û^Ðî(ÛZ§f­»<~vÊ@Ǽ÷~"CQÑP2éY°)’°N·2ƒ!D:AOƒ«?è¸Á*ô>IõlÁ)¡1GZ[-;LÉ~‹’ÑQ_Ó—1ž~ftÜU“`á&FË¡_´^uý_ŸyîÎ^:¶I}%$“÷긽±W0ò:ræv‡Í¸…ôÇí꺋ێõ×s}PâëªØìŒvI}|çP¼¼º)áôÍ ââ‰mæï…x²äyÉÛ†A>(]H¸õ–Ý?ÎNA_Û“n4£w`×øa´|NRF9µ€Ÿ¡Ã­É¡Òý·Q‚FûèîX0‡*a5”öôN”,§¸±®{t“£œnÚÛ¹ú›lÏtöÃ[¤âñ—Ž~ËkŽ(>½eÔË:UÌšTc ¯¸úܨ*'í¦cç¤kè9ɉ˜C;'˘øóêJ ÿ›€Gî—Z³ ùYË;hf? MžQ.PQêÉ“NaÅpmNiÁÂQ2û›FpØÍf3ûr¤ñ´á·½ï8œÓjdò×_ü¶ÜîêšÏ""4 BÓXÙ­š%Ýßh<ìžlnøqäÚ™12¶3÷„D Òh>L1õÏÂ:SÈwœ>õ©=>= Sž“1ce,ºE/1Í\ ;Àr•ÖVžF[Ås7š`Õ)¬òLY¢ß»m³ò5ÎùáÇ£5K…Ã§Õ €°.Ã~ µ]á“I=âÞÎ;âE,Zlìn;ƒ(2®m±q"%ÕŸü eo5l鈅–èN±…,a3ÇÁd,èƒñs-¤™$–à¿ad$/¦ ”û‹øæ`&/mìlÁAÒjsået 5Î4“ü‰. Þ”{ÑÎÖOX8à£&Ê®kƒmÑBmmh%›'ç5¸XÕ—šŠéxnž}øã?\¥Ž³ýüŒ2Ùz"åJÑٲ Ù©,”}U;»Q¥íV›¤zBÜ/Çs/+Â@Óß²¯lê|=¸àß–[LŸBßý«6©%Õߦl²$˲PÝŠ@Î^žòù³¹#Kû%®¦‹VBl$w¡={Ì “ßä]Þµ2ß;…¨ %˜Žµ¹ã†£¬þ¤=kœ+uK8ö?¦ã»€Bÿ6Ïãh5Zmù¸®‡¤àR€`c²j û@&ìZ¯ PK¾£\S¥"ë)05…îxæãõÔÛw&W°E<a·}ª|õ×6>W‰õù÷0MJù@T d ‰é¹Ê0e‚™âKÆQ w—ºkåËd q‰³ÑQ¤¸AÊMäcãF[žÚE‚ÈŸÀ—£×*,$DÿpŽ~Dé^D×â^{Òž!ï9ÕËw¡Š8.ïlLJJÊ^íÇý‘š7N¯w|Åÿ„'!Þ”6æ8ø¶=DĬîù·Ÿë)‰ÜŒuëÁÿÁ2×H—;2"tM˜íÎÛa óFÃ:pv¼pa¬á ?væÜR.ÁœGKZ1p"G˜“«#aý:w­+y"(íæžgIýO>Ä»Œ0'55xûKwb¿FäxèÇWÓ;Ú»ÕÒ½ØNLKïck݆ ‘ZÙÜš¹p4Fæ{_±éDqç¼e ÆÓäzV¤ê »‚F²²cZÒ÷L;`…¨2žºWIVý4ލìÁÅrÃ0?QB| YE”çw–ý’ʨo&Ï߉:ôNe®‰Zþ (žþUÏFÈsXˆÁ†±D’::¤‚›]H^c,LC§ZÝÓí¼³ýð ³Ù5 _;Æè 4ƒ+±òïJs¨Žm5;þ4²7 q~ãžIF´lC,‰úþ-ÔA×P /ñ(÷uܲºÈ‚MktòLÍ}p†Ž»BVŸswµ{7€¾ É,Ý\^Úðü¬þ ïݼµ~ bÛh±C±2¾6ºFénP³RW ž%%ª¡ÁÂØ(¥ç9ÅÖÇž¸uP#KéVpá°¥!þG=J¤0¬¥Ot¢&ª{YêâÎòU'‚9£–g¹¾ ôq•¬á}ì"ˆ„¬Ÿh®šDétN«[|¹2zm/×ks©!Ð IÎò éìÉ÷é­&'/ÈyôGûšjyZ¼!Wõ—2&¢¶ZéWbƒâÄSD•b¦Âõ¡àFE[ST¦ÿÕ¥O… ücÅ@㓼:š¨kfå…¾ „ ”޾׳µ°/|¤Çß}Û&£Ãu}Î-¢DöûÕ"§¾Úy)(ŠæÇ.AI4òÝ—ÉIï~³Œ·‡Vyèþ B“vÕ"atžM¦¸æ5Kä0 ªÙnÍ $¢í )3NX¦ýѹ†:E!tZx~Ï…²µõƒm¨+KAÀÚ)+©ôÇ19™•ƒM¤â8(Rã×TvR>x.æ'Âd9ez›=˹Â?X ’9Èt?äÑÚ9Ã,I¤šZ'ηh7aò7‰‘mVÇ_ä!þ”‹§(îö²¹"@,Ûr"â4L‘(¢ÏÐÓòïÙ<§ï5Xéà Þ&#‡Ù+ÉM':Èh¥ÈÂì'ñ@&‹Ûûº–C²Âcr;²W1&½_‰¸†WŒRÊ¢EF‚leào3|q½…«’Í’ÔêUùÁ$åó†ÐNÜ~Ž)%cÌ÷kŒ•õ l@«¢CÿÚݲ µmaù,oãí/i¼³ºr9—ܸóá8G¡Óis×ÁL$ZmëÐA:š²àK#~W~\iÓ£#ü…„"šò…²š.<•«Ú ¯³ÚN5kùêíEWÿÿe O´÷…mN/Ì>85/B‹-h¼òY/=s» ul¹!oMé!]øË”¢ÍÈ]ˆBY¨=ÙlÈn.˜0ÇM;÷dž‰“õkaÉâ! XmåcéÑ&«Ÿ÷y23œÍ"6”S»Äøˆ´6RüóŠ VN¡Š0ë¯î+oo\1÷k?믚`ÈsC¢ð7Ž” ñø{¼,EÏÌõ¼ÔJâþê4»þغV{}e«f7ƒãpˆðnYB¯Ë9·æYÅ–ƒ 8Ý̪WŒÈ´@¿ºéu;/w(45ì€å>Š· N"+ÝI )TíÆ:-¯`‘ÇFêc!W)ð,W®åô¡ioÅ¡% fðxå¥8õCÖÜ¡Ú"[¢"°\Æì´À¤¤ggŸoû›ß„÷ÍWèÊO ÜªÊ ùG/¶'d\`¶ì&Y»Ûn¥Ø { Ó|(„Îz.æd  T¦+âÕ<5«ç88ü ¦{ÑQxÖ‚šòâØSYô‰&ÖL® ¸Áô°:ÖäùaI‹ Œçfç3R’ÛNh¼rùT¬X”4Ô2žæÍÛ,ã©C£úé2‘¦+e¡a¾G4:^— ça,OT{#X¬«!i¤6LCmà"?ÃÀ…—å»ó,û¯À‰æŠL’•韷[p­çáâ–Dz|øDDMt(߀’§o‚•µž„“k­®ÄÆZ¦ÕwW»{¹{°QtF?Ì*üúДe Qºá«M^oF(º9˜=P=ç¥O, ðs‚êýûOI¥²sHétœþn~Uÿ]’_Ãé•´Jë”=øÒ<®Å½ í¡cñ­W:b+ïÂÏòN5£ü:-?ºô¨¶MWÁDš´VØÑ!á±ÒÚuZÚ·l›Íˆ‹@§­(8É03ÐÆEbñÄAèú©pW;ñ)AßAX˜òF4Ø •¦H|Êž‡š‹îøpú÷Œ úÎ7Nå`‡v˨£ëÈÿªæÁÅ2¼'Ex†æC&Ô}E  ¿Nbäc )’ái"ð?mÌx-—Ê4³oúem|G•ú$5M@|ï³òøÜaÃqêIûgŒP½%,q4k&M¶Ï$nEÑJªE/î¹Þ¢7=R`Šô?²ø¯ŒÌzlð9«1¿†ýåÖ¤ÛŽò4­· Î S¬¼ŠhSA$Ná¡å,X&\d´Q €e—ówÑé^]!46› ÑÓˆ+ê  ír‹H]¯ä;ô{ßBOEsž¹dG–ø¶’y—eOpƒÏÊð*< ‡e4úŒ9ZyJ5<&¬3Ù^eD߈ýÄ’LBþž;ìÙá¾ÎèÙ ‡çí®ë;„+†)Í'Üç_F)á'ÐôƲ€W)ÒŠ.‚Á[<Ç»äžÀþ]N*Î>+ò×Ê[cËD< Ùo(,„"© ñÕXGe®ö4bøª;¼Yì EJ٧ܾ­“yo#ÖÞ’z\)0xþŠ•‹ÚU2ÑC*,þNëA;;H¢ÌMökø`·´-ñ›Sg²ššÚ5­¨Åû¿KŠ åxäNú!Êü}2޶/<,\¨s¸ìÔMuÍ9§S¾òÍG‚°÷üÎÖq T‡P×gÖxþ^F::MÝ£‚ðºÇ-Y–¶®½ŒåiŽVwã-ãÀJ&> ·‚Â5 $e›,˜ô>wCÍ‘{éhÀ‚[ˆ€óeú1.lVó¿•œFã‰WÙ±qðWì!œ:PBžì®‚›ÂêÄcÑèv„ž‚Õ“u>¢S{·ã¡İ /ÒZ¶ÝW›ÀHçGv޹™qÿŸ³<4Èðxš¡àC8¦Z媋CÖÉ!ó…ÒÝÚœ,2•þtWb¾iÛ©mI‹?`©-”ò{Í•í-gø¸*œ‹´¤ÔÏP(<ãBY6›°™výÖ©v)•£bèF)—z—€—ãKŸ­‹Â$ű”6—7®ä>¿ìèù1ÚÛ’~V» åë©÷^ÀD5Íù?õ¼,ßÇq}ÊI¾Fò-Q/& ú‹|‡náÃ…Ÿ¯F©lß1?EcŽÓ\™ºáLg’¨Ï†ïè¡›peô!«ŸL„K¾Ù;ï-ÿ¸aÓˆÎW ž¬Ê$ÇÌ,Z ײ?~ —lw¿ÆqÅ?YûfgJa;tÎH‘kk= ÐÐCWìäÓYé¥_EN‰q ü‡Ú^„ï„G'ë} ãÜPòoà(¸¨â¦,Ö@-SãõG²3Æ%‚ÉŒ™€¸p.ãï.Vì›&Ø©ê˜Á-ÓLãè‘‘‚º,Ïíí˜ä5ùà +Û•)Ȳˆ•FFÌ4•'lh†ÅžA%–vãFÑ_1`KïþœoŠÓ¨†°ûgà ‚`lfŸ’ÃÄÞf©Âb2•.æsæÊlRûh~ØDYöÏ3ˆ1MìÚfèE£²Ò6îsðƹþñ,$:ãç†ãêaP5Ï¢FØÚ®« oûKÀlS€á"§ƒé´§Z²›µ©]úê¨!‡ª{7tLÑ»7‚nå“K`/þôÙõgø„KæËŠDI=%°RJi—ª f¼+((7,‡fQ«W­x$Ó”˜¹»” fÆyÁê—G³Ä‡>!î*óì:Å™±Ý xaª£…€RjÕ0ÃÖ¿–Õm§û[D¡»j¯a¦¾h!—04N¸G7 ˆ¹„E¿’¦Ñ‚'H&jd¦‡ïäèÍxwÔ&>$Äœ Ý1,,D¨ªòHq›‰£Ð?·m¿øcC&hœ%ˆ‰š]mw~KÉ`á¯nSܧðYÿˆ‡ÛDÏãØV FÊ ‹4ð}ŸTWP¸[+†e]µ˜¥ŽžVæÕ"n.@-q/caMÕjf|Ê›$šR‘ï€VC¿'· nÀœ3Ž^õ´ß}om»xäo˜d‚_à•;€õ<{ZÖ7fljþ€ïD¼"Wÿø÷þa9”²)ÉÿçQCæ!Ž*eöj‚¾ÜöUp·,ÒE‡¤Íx¹‡;ê3Á: Bh­K…NAšÆ2ýšuÏóÅ Ð0òæ éh’Ÿˆq„ü¦‡#$ò’”W\ºG/¶ã<¥!­ïǧ =3Cã)¡©ÙiûIÝÂÚÏ,âÿ¿ˆ®›œ•«¦ —JH}Ó‚0÷tÙºí{ÒÌ='ävȦV%_ØUç'µ#`Ʋõ§PŸgh_ÕmÆ¢7Ú‚°Ñ(hѩ̤nún’xk[“-YÚlµº+E8¸A«ÖÔ²¥PÐ3ö˜N¬ÂƤ9 •w üð¶?Ë&ó?R’Œ6¥Õs©|U´õQ]™Í/[½û ¬óUaÎ*Ûš³|ŠïÏ-ô*²Î Ž´ŒëàDC;ß²MF]]®–½ì¿Èù£Ü±±ÄÅpžWY¼Ìe䫱Št<ÚÐÄ™]YŽxï`°Ë‰G9¨P¿ÄBÄ$“Þ7×L+ 1ć´ÁHvØm•Óû7ȉL§ó;!G Ï«®{¬v)¼Éìˆë<*)1ÜÂ|¼Qiàl@a`6ßq6Õ:­êýïòêëÝS¬4¿ŒÈ瀖¦A1.KkÙù)U® ùÂõÝV„й*“æÜ/-þ]¥éAʰž¿š¨«ÿ&‘=ú¬sz‹yéõŸ§0t•€¬Ïö£îüÂÂé_/†ñv··ôBZ7ó§VDcT¿tn¶¹ixÏObãý³UãIÒ3º®…þG‰h­qv@Ù)׊è$Ǻßû£TRTo†F^¾]&/Ÿ6|æ”»ƒÝ•( T©êØK,é¼ß͘×Éç>[^b#s%ృcÎ!æÝdcµ+‰4DbUïùüu;/»²‘¨£øžc¦\ùjiÅ%ƒa‹ÒQ}Š:2fÓÁUõâO=§[UœR…ªÕÑ—„S: W©†F »5;²¸‰e™Ê?©„#è ˜,œœy˜gÇ[Ü7µÄRýiî©ÇËÅb«ÔД-¤Â(ýŠÄÈTR¡ù§X76ÉPß•$€x½¦ÔòòD9ÆŠèÖó”‘V_wˆðÔ¢¤rvÂp¿|MÒY=â§®èö®^c’í_[ær 18F .£3ìC³8)Dc"¸æ?c«T f”ˆœš „ÚÏ;Ëúó µQ$jLO^c*•°ö]iÙZÕ,<6hG ¤ÁßD‡D ýÕÝ=e šš ¸ /õE*Ôµ#:Ui#È8bA?—ÞMõ1Z³Ù{nIÒÇVYžœ¦»tÅ–]4®ŽößES>½þœ6ú|ì64k†ô{æ¶ æMñw½C4œ÷:ÎÆ¡Ù.Bæ‰ï:f€áâøg )¥ <ØíUDjfqVÎÂÿ»;Sˆ‹x©X¬tés̶±ÄT– ï3S€µG¸êB Äà“ŸrËæ\ Ô‰åGh³6UG|0ÿ°7‹ŽõÛË¡‰µ®gÿ¿Ü'ÃØGÂEb‘\zt†Né hY˜¿©Ý­¾³Uþ‘®«IÞ57DèÛD![ŽýªTák-¾JÅS- Ä¹wìM[GêJÀ3 ³«¤Èþ(‰ˆb{–ç `adøÉ:gø4d¨¬!4EšfBˆM>!N° ˜¨uPD¶ÒY¼ƒäš§ßO‡œ —¦lÓ㯠@yÏq)…rÔÇqªÛVGè–8U‹ %»5:؉ԛQ˜1O–›)‡†|7¤T2F?§÷ny5Ì:zËoCÂ˰¦Ñ©RXb)ö˜@Ìñ”À³'ƒÍTóiÉK=² ·éË6Áù¢W¬kRúh:n·?íÄðÁ²^VüYêÅMØ^T¼±š‹×zÇ4|chGËuƒ'»ßà]WínŒ2qïbFIä°ñÖ9DŒ“nx>a7/Ø[Ý䛬ÒÚ3½+Ú”·¡aŸ´g®ޤ·žN²\I”ût`øgÛY<K_iöY?JThKØöÐ=]-øØ\qhUbNŽ»Ì"ŒEz€MËȵÈ+x*“v©þ`°"ŸßøÈ€_Ç[ˆ2¸(<|ûcVâØÀ¯ºÕí¥3Ò· åÿ[ÝÌYÅùä9BczJ½«T³CNΚˆ›Uô÷öÿÓK[Àùƒ)¸Ø¯¹ KeXq€ùa ¸ñk¾IpË)`Ö}ýÏäÅŽÖF»Œ›÷k4‰ˆgilŠwm°—G"Ìö¼¡= #™¬Ü®R„Hޏ5Oï²®xs-ú¡ú£nU¾Õ ^”Õq™Øp3DÛXìd>Ä×?ó4 ²Iƒ€”¶Ö%…æ6fÜ^·ò„œÒrp»Öáz‡¦… 2{‘ÚÒ‰n´¼pŸ¨”È8z”ÃcèeŸ î¿+ÿ1ÍÒMög!q\Ó«GœåeŠQØ¥Í U´Ú‘R  ˜ÃG@ïcØØr¨é@BkÁ?œ3žYEáÃhYí6¹©Ñ¿ÿe}›ÚËChãìy^ôµ*IÓ¼½hü5úâ¸-À"ž_¼^M;9˜ðº¾]dï%’‘È¥á¦W¤~ótìTfëƒíp 7‚P·s· ˜zðjv&‘3ÙG8ç7‰g#>ð&«?ÊœÊÁWShæäL¡×^@ºýF mÛZ¿‹Ë ‚Ñó…µ­w€²° ÓƒÔàsøÎ0ô­tswýõwV¾:舑ȥŽþ4àØ;ž¯‘ êx…J7¬II ç€.²Š‚Uö·f§²°¨D \˜e’n7C¨1Ö ŸÈ«L«5W ;çNL¹¨þSWþ)~îʈZßR`UÈÙÓ·åÒ÷|y|,¾7À+R†¼¸ˆïƒ 4e5ŠCÀ‡ÏIrËÆÀ’8Õ—“4råw>œH¶Ÿ†8T!|"läž5Ér"ãùZž¡wabwuñaÖc¶ƒ0ó—Ûñ›¾|7ësKò Ü#ú‡/snâ6½”90_86V·°)H@eþû!Û‘€. ~â$zÂÍŽ¢(˜+yvaÓö¡¨ÓD!ëïýe\l8~òæøšln‚ù£®tÈã>ììz`pxMDܶ4€Îÿ!ì„j¼kú>Ih/É!zŠUY=W›µ›ˆ$'ª‹šj\æ+P>æ ñ;T©@Xïï**S¡&aŠäÍœ b‡Gº ctäH ¦©0¹¨WŽFæÈÑThççEüO_1ŽÊºÏGǯpÍîœuxKá/Õ2ó½´m0RD(çlÁY0#¦iò¤1¤ õê«{å¦9®ôzæåm‹+mO†ÅM”†Væ¼ ÐÒ J¢Bº:\»1jHÔ›u´Q'¿ú<­0•æIˆÆ‡˜öj++°dºŠHOŠÃÍ÷S?±“oÀP×«Ë šÝªà31•è’ÞO螃æå:8£kÞŒ–sôÚ^äz…”˜Z¥UoŸ9 sÚ±.É$!|ý/¯Ïý2!Ž+å…ä0½LŽÆ!Fˆ5…„¦Öo7Hhìæ:ñz:ðk4óÉ_z#*?ØñÇ3cþ©KštW€[ @“„³J›Ÿ ëî|Œ¾ Åñœt*aŽL¸r>wº•®>… Õ¼ðùµêÑpòâϺÑõmÔ%lr®(’íRåhŠ<7sþ>®k½¨Ä Y2Âw ÍØ” jú±û•måÌ·Æ.à„.­¯µ¶£®5¹ç€Ò§Kχná™Ol[]·þÝΠ֌añÓáÉsÙn£Uˈ{Ž„zå,èj'ã>ÀËC$¿,ÒtÔBD6Bíý›ÐwN¥ æŠÛ^n͸cÿêˆ%hÊ/uwI‘ŽY¨øŸX' ~ù±ÝáYSW{c³ÅwÎ9˜öžvqò¹ÀT¤´ñƒ w欔ÏõDìíÊËw%ç² l=æØÿ°ö¬ìv Ò Iü‚Fæc­tʯˆõ©I/Ê ã…%Œ¬Ú¨c¿À§­Ú|20Û°z¡<ÚÓ¢ÔÊU =ˆŽŠ Ü‘™’,ÄK×Óx²ÿ™ZRÉSˆvgבrËè‹©kŠÖëÌÿATn‹fçdz‹Ò‡z_í¶Ý»}©½Ž,žŠÀt²\I€êå6Å\ÖÏD6›Àø»†4ŠIL¿Ü”C˜³Ô0˹€TþúøðÊ+Jæâƒëëèò;ößÎxíFKú¼ô·¸„ÓšñV”ºà¤Ê½èαŽs’T‹Š|µ%ZòÙ­¾™õB¦ä©h|h«ë"å,œµ -ÊX— fòYv-¯Œ¯'6É¿ïÄõšß µÀü@ªíÎf‹//(ãjV;vLªT ^»B%x;&*o7¥WýY>ô¦ºèW|˜$Îß¹±63‰ºm|iã†C6׳[g»H10ÇSÞ½:ÞgdP«¢8úŽhÈ2©|áo&Θ+„G Ø©³]Ÿu#³à—ïÊ+Bmoùj»ãv½'©°†þ¢ÏÄ-JÅЖ‘é€,Eµƒ6‰t•=‰hHhjÅ|’^Ó0 âþawÒ±zïPŒ)YŒëµþšOXtö¡³G5üÙä*ÄVUMeQ%eÎ Ý™'túL8J{hâ°-œ ¤ndœçž øÞvý·Ÿ’i¡d›Rcbï#:sƒ‘Xª‘ÜZGíJ~&O…äúÿÖïYµ‹Þjtùà™2a£ÄoÀ÷ˆ“ïÙÔízu½a{ éÖ†JØ’ÆýNƒyEð¡¡ %>ï)1ÃæAe fÏM’æŽâm”ÕV"æ£dWT„β«íiδåoó›èTJ =£’!·­ÔpË“ [Ó?s€ä<Ê$eæÚæ ç-—ÚŸñGï‹5Þb£÷ ¢~›¿ï÷ {ÀžÑ‘1寕À˜ÛÄi`DÙ/§s,+»P¸ò$=·Ú0ÍåÈ €¶±Ú†ž…L9Mc£Ù2'£uqÆ‚q/>Ã?’u³Z†»§8~›¯œq3¥ÊRóÛ# è¶ß¡¦1¢ÞóvÝôO¡¹êoå0”»dì]²Ô?ò1*£™ÇXoÆ]‘?ÂSzˆ<ÕŠøŽ;anÞ9öFÉW{H„ب õ!ÔwåÐ?æ4OŠÇÜÿáS¶‘¯êå芖‰q‰«MÃ/#u C‡rè©Ü£­/ø´®¼Þ‰í«&rŠ„eüÔ Ã„;B ù-Íëœ:ÊÒO8|ûY[(¾¬ô9¬Ï,`?ìä-†À@쫬_Ûâ®üQ’´“»®ß{SKÂ[¼È^Œ6ÊÖxH(PÑŽÌq„«$Ö&±üެq€¦>€øÌ„oNÏ8.ÚXPrE±O=8ƒa¥ãMÉ1c„¶&‡CŸJÂòæ¦§ŠƒbÓ|R̤d[…mÖYÚ^E•°6ÇÀç—™í#fæèš<°âe‚»è'þ¸( àAC˜´7é „Z²œÖ>ÐÇZËv'—(S®&g­Du·(Ð襈ւìïl/ÜÇÏ#Ч4Ÿ~@6Tþ•“TÝûî$T†í3b™Þý7x —…R*óGIO´!kÄ鬬«`Ig8€}oi§—M^Ï7éIB]¦ ìÙ6¶m v?òö¦_ýWãÓ¨úŽp„6ÌGz ñeÝ Ïkw'ó ù¾SC(~¼,@@{~jü²[Ì,÷7p¥.;3>樥T%s*ÀÚÝWEk'ètÇ»DtW¿Õó*î¹$I_*¥ð|šÚâp× kM$°âø¤; Ösa8b¦ÑÛ³MléY{{¨´øt>Ù *>\_nWθÕ_…묆øŒí(fOùà}àDïà‘X!˜ZŠ©ºpÒY’|VMð¬'ä·ºö¥5œiZ:{Ä.Ÿÿ m`Ìý͑٧¯-›?)ð¸mÍ7hÙ“ÅÜoÇŽ#|tÔ^Ô©R ©øú‹pþã©åwkI71á7ƒŠó®/=œqÀþJ‚¬}3dé'@`» ±¢.´E»J82|´…ZŒò‡¡®Å^¦ÿb×/ökØ-•ãu™#§}6<í_äˆûZ›4ÈÖ˵، ½,³ˆž‚÷¼þXÉH*ÝïüÕDV†+ _ÁDEVôn–åD.Ƈä²ùnUk}óBì&2„p¯Ë”¬ë±·®hþÇ×;¢ÒÐJbØUí yÝw¾,ëM 3פ¼ÏK±-·un^…þ$¡7µªpÙ¼]³žâKì'ƒæõ%€C-ž&ú{IPžŸO9ÿ{t\ñÒtp=µ”„…&î}¥-*÷æÜʶ¾_;S°•  ·’‡ðD¸µóõ€_S¾½Ú¯9\ŒëÉœ‘§sÄ©{@ò]Ñvý·,Ù($7ªè MÝžõ³[§ö× âú Á ^çe‹eD3³ëhÚc²ÙÁÂbðXX̃2 $<…Åæê–;Aq4®Ý1ï\ÙpöÀ~zøì=2—^ALœ”“ùW›k‘€‡¾ö08ë¯Pn*/-E|vËTkŒFQw‡ôt÷¯±ã -ànÀnâ:rJ_+™—f¾ßUçŒ =tiÊ›wr¡©Eydáw‰Bš-6öë¨Bfï.¸Ñ<ì ,lLJ™pЬ~,v8É{[sTtvö £­€!õ÷8a)ûL€dT(ïhG,9¨>à«wï×ãb*ÀÕ*¡G_H¨C×ç µ2G d~ÖõÙ"CÃ2qÚJ-5þ§ój¨‰â“ͶËÎû&Ê4æ0?gÛüPKªÀõÛò÷ù\˵¨˜l LE “È|5»À‘ÆÜFð嘯k V0=°Ÿ)0bé ;dáJ kr¡äßU„`/Áüî*àŸ'CXö9k#Ó•=&/†Å˜ƒ«¿®àˆ:¥JædÖvöqà_²¢Fh® <²ã\¦Š8Uý%J…I·ÿCyªTßJ÷‰ÙJVg€æ6˜q¾%œÈõ~Dý% Ku"™qZË7v]û†? Õs‡-[P¤ª|]ë[¶^]<-al<‰'q̲ yÓýA„4ܪèER€Ë¡Ñ|'|ÏËÙgŸî8k•IóÒµûrÉ™è[f¹—©"°®>.tˆ†…lÏ_Ü$ d ‰~íÎÓªhå–d`l7‡3$FNaƒdh=Ód‰‡IÖ<múf¿q”CNñÃh,Õågõž'Ýô–À_M·nÈÑÝ›&|`¯âÄÙJLÀ·¶P–k=–QRQÔ{_çÐàǺk¿J·Ã?›\ Âk$@ÓÝpºèÈ \ë%–!𡹃HÉmÁ…ò×?^ø+Ö‘Öz½SÆÞ›!G¢Ñ0Ó«.,s+ÏlYlÆ¿8•‡#æR‘»)j•_£Aö8Cêu7ެã/ž-ïRÍ}gÜ‘#É©_aþ8¢@tÔp|åEÛ˜d„(3ìË ŠDþqÉ×S6Ä«ÀÖ˜ ] ª(²‘yÿó¼"‡)çÌ0ÙÇžT&œï³ÚÍ^”à†£Øž ¢b½žˆ´44ÎΠ‘•È(yùÏ  ¹ô©C{!ê4ñPî<ˆ#h£BÍKLœ¨)X<ž[1&%ЍÕź~}„,ÐÓœœË}!‡'7?lÒ7 ³±µ{¸#…FJwDð³a«ù(& Ö'¸­­oJhÁTZ Å·n ûEnfN}'s›±ÉØ¡ùéz‰UvÑ ×»±å޶°&è~€Íî%=<‰W\{œšª&@u´YU1vj•$%˜n·a½Î )¶èÂz…üHuƒGô:›¹B+hg#¬&ÀÊ„°eÑ|\›“®Ú]ï/¸Qؘ›áD7x:XT2*WÇz8F_øz|)š&Áî¦q¢ÂÔC)D”`1¯Cj€Vü€cŒ0ÔÍX@¹a·Ä¶D^¡çúäÅÆ{áf£Ì:ž’ÊÁ^ÒÅGM"CÜjb}-9ñˆ%»¨!ÜÕ_ÝPº^¢‡Ã #Û øÒ‹:Ä\vÅžik€ô+‡‹J#tÐÁ½ÕSY)PÄ t3µã{”ºÞK^¡GsÐüwƒk‚“íº´c:h6°EGAÂ<ù±ŒÙ8nÂ/µ+‰¾›¹&2¼zËÆô:ãïï¯]Z¦·¯d@“iEïÓ’(§“Wí;iUzX¢}¬è–çÑf_—£{YŽ¥yÖ*h6¬Ü’m󳟰Râ‘§Œ"¼gfcAFö<Ý×P½X µÚÖ÷$‹šÞºën•‰¶ßa‰Cc oô†F’ÈÚO™WôÇòg !Ü­¹½ X¢êÈb}ãHç5†_¦rµØ*4Ñ×cÄ%B7[ ½þ{d.¸yËóR 4ƒ¥.Î7Qåx|K™›û‡A;æø+Ô"®ô-ž_µÉJ~¬m´/ùû¯öŸZä¢?3òmL“'À )bÊ–0#?þâj˜‘²îwÆá¦óÐ%µÔ¯[fò×'rùZ§×—gŸ2Š"ÌBz䢚·B¾B0]ü@Sö‰ë!W/–ã/£“£°|ýª]ˆšº˜|–öøª{U©(Á| f^ ÇÐRh¼Ôi‰øçIü1õˆ€OfÏmSèÇ“Î|ÆlÏó3&ŠBÚŽÏ:æÂ µÏþÃ×äš? 1=°Œ"‘ ×hx7Ä'H¸zóÎ)ã‰ÄרR¼³–ý}A¹˜§1ta40ç#ör~ÐOË’ðU4™b:qxýu¥-]pÝÔ£É2>üüþ~ã4ë()ŧ¦¨f»çFT–t}Ûîþ5”` õqíÿ™Y6K “ÂwÇ–ºªÝ$ MþdyP 9P\##Ö™M=•ײ¿¬€ŸªÓWÜ¿xoBë›7ÍMÞ¶¢xåœo–š¸u`Ê{ñ Y@6út¥5Öï`ÏÂ. 'Xu$-‡ì£Ó®Š(ž :d7Ú¡Vs(ÙU›(‰Öcxª6cK{Zß8 À¨±JïÅ<óÙ+V”‘ÄÌœC ooKÿC@"eàÄ ZI˜õ<}ºê¯]©qwŠÜO€3S«oõ¡o”.žÕ0øÍÀ¼g·r%Æ8.àÆ` %>Q?)òãSú)í$à-L%/ ­'Üc¼‚ùcÎ0ýDŒC;e#,~{ÐDÍ­føÞoQ9ñã˜4Ñ–Ò.1Ü5ðň äv¹P– y<;V§F·œÒ­Mýº‚<Ä™RF­ñŸ*xU-ì*j¿ÊiÙÜÓÁ¹„ãÔ™»ñG!={ÁuºGHöI>,cüÖ~…†6»;8'ë^³…;«#©²/ë¢ÀY‹ÑPÂ2håXÜÜ?Æ­5ª½ç•g±"•9ÓiŽöoìŒñì‡c×è)çþsäx–î0]g ¼ÆëNUá°y¸$ôN)éa®œ¿àæ³<÷oäÙ[ÿ8—fÈùŸQ_Q.]HÄacY£ûmfuhÌ‹zÓE ˆH@Fg™îqänj‡ F'E¾Ó3Nó˜Dë(BXÌ>ÿÁ½¶vqŸGÛÍ•Ò,jÂj~kz‘2ÁÇ„Ñ~ƒrT)Æö„7hz¿Ö ôVŽ„v€qýÜSõãqº§ažÃ-+¾Zçû¢úqòŠ_©jºg2UçWÀ±7-Æ„{õÅ)Í'ß‹k)¨åÌø‚í°îîÅå™ÛoÕ ¢³ìåÚð3XC’²s©ipÓ~HÀQ!—/Ÿ€;ÛÕWúcÄp°Èv}gKù##EeeÍ/„›^‹ù±™"»©Ih¨A=>Qa&]MzŸaÖOØÉó'‹ {Uî_%Saë~ë0{ã!é³GýкŸYÙø¬kQçÛpÇ·QÁ×.Å—™IIoáN^i„ÒÊ\Àî‘ç w_)÷º'o+B¨¯¾¹z"ÈÜHБÊsÀÒôõ§ÝŠNá5àÉä µ¢9Hñ¾À4¢FÅyybч‹¯NÒ¹W´ÿ¯¥ô ›WçoÍþ ‚ çÑÐyuJ¸D¼‚à‘œ%HEq+Ülc4ÊžW² ÿW;k‰¨I¶9>õ4Ù°|ö®äó"˜>e0ûÕR9’ŽþÛþdœK¶J*P!Òö)Þð˜T‚iãôyÃ{Ÿ•Q‚RÀ@ºp¬#ãÝzb¹ˆ'Ç}ˆXæõ†Z> 6†VÅÖ\Ån`®)ýòBØaNŸ# ^÷þáE³>eù«Ú47‹f\§ðÝ‚™ÑYˆf‰yeŽÌnŒfÝHd OD!Hé<Ö=Ôù.9×Q†ÉÿÙt×’±' *5Y.ys’æ·Ü¡<,§ZF=´ V™©vÃÐ&  ½´ç ˆq]EœÃ5 âI!îμQ]%˜S©> ·ø”R•Ðøü»³ðò >ăä@ÏÄÁõù]Å×é¹ÞÓÈÚü6ÓM*бí~þÑî¬K«ÊË’qTî l-µÉ¥ãL–(ó\àþëó{lgw%WB¸mçÇ7{Ÿ™€ ×%íÈQX¬èöÐÀMœ ⧪L¼Ÿ³Al.¦Bc_Öž2Y>¯VwÊ•8޼ìÔá٫GÍ‚·±J©áöÅ\˜w&4 àÑ …/8Çõ“øÏDàdâfÿwìÁ˜t¨ä1†3¸*b=ù"ŒË’§:’„3ePõM-“±8=)·õöêÑS†AÏÿ¡`e¦¹LÑ(·Á”MñaSÚp1»J­ZRdBÀ¨ª½&¶·8¡÷@jHçndTAUv~¹oìüWX'8Z‡!w¬)Ö$N ‘m¹¼³¡,[©kÓGÉ•XóPÃPOÙ*ÑxºNHïÒoJÇ—¨}¤£@È*"IzÀ«-a9†±=É¢¡ð,V%ͤyf äæ"q…Ö¥ã&@jß6R½,ž.Deqz4ÍÖÁâhü¯ ý]õ‡&­ææø¬ß<ÛDHª²™¨ÞR,àЫVç8Ìy#Ays±‹Né€:žÇ{ËÑÛ‹ÞÏþ±Œª[ÈXl¡ä‚xY(j~û ªFPŠ ,¶r]žÑmà›é'l!¹üÜ## ?†âï°ùø†”¹/ÿcN EjsdFýø~»µ˜wC$@™ ƒï5Ò·±ÙL[½ôœ®Â¦³ûª•w…2÷ pÜèV‘Þô Ôè5AöuÁKŠ­\?R…Xù–7 Íý6,d§!o+f#øÆ!òüžØJIm1€üfø· ©;ǹužx¦ã"ÛU¤ªNÓ[;#¼­žÛJ  &•ô/¦öt8sÝ£ù©%u…âT¢­7´ Œ°é•ÖNnÀC5 ößýpwä~lq§ cô‰ˆƒ­ Qt>!>ì[‚drÎÔtñS¤lSÂŒ_ö S ¸ p­¯¦¼Xé–M {!ÆuBð= 0OQË ”_Ù˜ýOäW’/¿,ÝX`Òþ±±¯ÑýÆÎ0udQ+îÚ˜þ—êûlÁîïÂg¼F=ïmrüÑiGË;YŽQ,``±~þMäF&`Ô<í?·€èvÝ»j£rsëXê«Q° ªÝ¨‚>¢Úš|¸Aþø”z¦uP—%5˜ “5læm¯òE0Û*DÏŒBEÙïW Ìu&À@ñ©¥ÏÞ«dø!³¹è–Ãpó£›wqÙÕÑ™8®,y_§y›M‰Ùù«1εÎS ‹Ìø<dÞìŽÊè÷n&ÒJ–~¥ªBod®À\Â9ÿrÝ ¥Z£'¬I€ú~‹exåDSw _m¿l`}2®¦GmMçâÃô´9š@úWgm}/ŸÔ31Y¯Ž‡¬Ÿ‘ ª…Ž]–R‹Ká‘'¿K>kFä|ãKÖ^ƒ”¼üÌbHf',ÕEÒqúý隟ÒáœçËž“¬|te[S0múïþžA’8(ãèÍC_/ù˜g(R@f\BÍ{°ëÕa•oM1à]þ±ìº~³:â¥a£µâußÔ=üþ¸õqw,¤{U³ã1³>¨–W¤¸þëåuÈ£EðQ~± msú[r˜4ÿ¢X‰¯Òc ácŸ:@oµX¦ìCJà2‡h·G½*V¬±^ÃÝ`¼Z9Œp5«©Æ¥Î!Ò.D+Ñù¸\1{¥]¨ºw›—=÷Q;³¾ÔƒB]÷¬ŒY ôkŽpómDoÍùýª x )ìòÓÕ'f(bHÛy-#!Øh¢O„ ~ÛE.Ìä[4©zˆ,±2FøIõßsà6¸ÄQ§ønˆÝâ¦í9Aê[¾Š¨^Wk³}U¸’»KM×Cgú¤CP¨u°·vËÁ^œKú%v1¼»ÄLOôKÄP—î\3ªïZ½B ý!„½Iò¡T«0íçwªm†B/0ÔߘØâCÆ$*ë‚•±¯É0™´y©±û¦NÐXèióíò 5Z·Ý<Ù•¹Bp’8dìIÖë_jTS¡]àŠÐ)òŽ RêMI#ŠŸô=q¯9¬B!”¹ÙÔ»Ž¿ëBKøeÚh·Ê9üM]øxñd•ÎÐ.R°¥z°¢IÑØÆ'ץȀfÁl®wN'm›Þ@°6¶Ñ» u Ð“èÆ í»>ª’*zŸUÓõ/ñÇÂl{ÒO¾ð¹ÔÁä‹[ ¯áDK‰'C½;¯Â=¸Îä““©„‰ hþ7î`P€ªÛ¹HjÁtÍVሉ\3<ÿÞW&¡…£éÿ]a!¼ WÞ…ÞØ¤Œ·sŸºm²ýž:|¬ÕñZIfDPo¢C{ލ¡-ñ16Ö}v›7 XC-µ‚u–ÃI'ÐÁYÙµÝüÑ;52 b¾§ÝÛ¢fÏfŠ¾ÝŒ’]Éó=ó7t]0 “È‚dðÉ**oõLld>26ó¶~éƒý!ëV¬™ ×§nXAcf&³ÍÑOê5"Ä"ïÈI÷YËVoO³&ã|˜õP ÇC÷…ùZצž.nû°Éy·ÜÜ  R9AÈlK«(›äTl¡ Ûƒ¯h»›P£-–D¤j½Z¥vÈΔÁ—·–ðœ²N€½±ÐÕD!vÛõV5žz~ÄLJpFÎὶF";è͉ýÅäÑ1=žºX/ÍY…7 Ð|M0Mæ>K8ï5¡ôøˆuìÁÿþ»¿9±Gþw†Ô¾"µêE(\,ÅûŘQãy jX дQ¶a2Ø=؇y>ÿ%Ù¤Ñîû?Þ‚8ê4µÓ›}ëïÅAóUí" AŒ^$÷œüy¢,Q醣Ӗ|³uÀ¦¼î<$§s0ô8~œÍ¥`9ª(ïfÅݶ–¬º^ö‘£^·F¡º¥\Œâ;•’ˆw}ãV-ÞÜôw¶²š}¦tEÿ­›M´¡˜ÈRÑ&gòÎ:¾4ÒI†OZOfV²ÃŒmP¤å"½ !Ãü×àÀªéʦ}¯º%é^ó—`äREí]I×h|þ’±}T…šÀ  Ú§ÞB#8ÞmrÆ0¹îœÿCß¼ÿ©€æè'Ÿ¶ð×Ý.2„ÑígÂá ÜUpQØ¥Ÿ™p0p‰{}Üëç‡,.s-®‰Ì«èòR⬀Kp€ ‡ÚçÊØ>®H—ˆéØDŸGŠY5èš#*uƒù¥Žcµ*¹‹Ä+ˆú(±›"[Û*>±¾^Uàqúôå¸Væ‹-øÜ.¬6E\y]dÀqœø:÷1Ùòõ×îÒpDbð«Œ`ý rÔ‰æÏŽ\@r{ ¡?úô´ —‡!pU0¹>Ï&2Ü“¦DÄL^ö®ZÎå°Óývò¼˜/BîÝÈÈL("µN{ç.S‹H&߈,iŸžg¢²2:ÁP Æ¢ê‡?ènˆIÉåi ç(srÂKÿ¯ûäÚ¦T’7¬)¨ªø– yL­À²À ÃdÊSµ©®lú5å:Ÿ»”XÁ ½w¥¦ NüEÜÊÖxÉêÛÚ• Ý„Eïm›¹ãÔ¸kö8Ðçâ•”#‡v¢Ço ቈcöNyѨäîz‰ýÝÌåóTSó¨!¼¨¿á~(37<‹Å¨Ž¤áœÛ9»ýàÎ K³Ùø`6 W’%z73H÷Á#‰ö a2ºVJ¸ MWø¨O>”·¼I¥È¬Z§iM¹ØøMS»I€Èï‡7þͦ!-ËÕPƒ’$˜%ÞAoöÌ%nƒ¹ÚM´öæ(–eÎS僙³ó÷ßâ®ãYün¡hðÛÒÅ?2Ÿ'é…wæO垅lj¥]xîÊu…w–®uë̾ÝåáÁ…_©€¹+zÛKç§„&y ËڇǘǴζ-Ån >ÕÏæ4¾ö¹è31ŽòÓ(¡1´ä€`eí¿/¥%Ûõo÷YæõyÄŠGfsØq§ÛÄχe¨sž|©Ö š‚ÿá<1ô:¤›<¯¼7¿}â³ØmîÏéÚŒá«f;E4eØ#b‰;ÞÄœ™ &¢Tš”4IÏ>À“ާƼ‘!ØñwÊ5áÂñýQ×;cZ!pTÜÜêÝôȈôѪ›ƒv…Ær¼IƒÙ›³%Ë Ã´I¥V\¤Å{Ës ë`§5išÒ÷Ÿ ,Ûæï7âuÙ¤Öf6J7º“îC¸žÏ‘SÅÖ4‹·.F7 ÊuUʬN¦Ñ ›ÂýB-ÌÂꀜ!ZR%9?7HÇi Íu¼Š†ó¬íÔ/t¢?bß"äF…䇒þtöWãÆK#,Ðù\¾ñ’'Zðzå!õ9J5x†Áúbo£%ú4L©#¥àˆÆÀ+Eއ>8ЗÏîÈ„¸  LÕ±]Bm6IᎺÀÓeJ}sG­™kVíÐìfoIê²?DZE¬ØÎ$ߨÍnÁËn;÷4{7€·(™*™ »²aRè’5þ{sbMqÆ4hZµ¬&Bì’ ÊìK1Zvƒúó¥l{Ì亽€5KDПp$&v0­èÉP»zUãì,üÍœ p”n¼ð_óR0'kQ÷Äoc1 W‘ÂH„‘°0Ædú†¬/WU:Ù·í£YcŸ° ¢îY‡£t™Ñ²÷Óv0"¦M<®äì³øPk-ýäÅmXºŒáϲ¢­a À¹˜pùÚ<… ÊcâÏDc ‹‹z‚M§,[íNE ;ÍÂÉš »L·Tï1CJp$´’XÅØ´™Ú©…ª9^PøI̼›2o²ÊˆM év[´ ¢…ÿöâÆÕd ãí˜*…¹«òé”§¾8ÏhiJÓ¶Š%øåmˆ‰LÉÙ»!&%ߟږ4ˆç@¯CK/äå i¼·Ùð‚ „8ð"Dæ¬ôQY–'¾Çî%L¯êp…ÄÙQH6¶;¨ýx—8A—Âä²Úƒ—tå êÞÁH%bM4»Ùwÿ •“ÉIŠð¥Û¯ºÒt*è(ôg^ÔÑJþŽ•gRóqt¼QZó&:QŸ(×;4©°2 üßÕ§±à¤›nÓÃÂO%Òk.蛹¤ž·è+è…2K‰ß–ƒc ÅáàÛhå·aI¬ ™e®¬…[2œ˜ˆ«Þ;Nt_OüzÊó!Žì¢M.¤ómbÔ„Ÿ PQõõ…²rûûlïOu·8IîÑdìky‹3LFj*D_m•ÌŽëØŠ‡=5R ¸ú{4 4š‚l|Wö1Óþ¹wÅè‘÷c5‰êrï¾—òœèÂÁ_ •-·™\¤êŽ`â÷üîæ²O%&óå¨k.ÏŒ>dúÞ » 9ºb¥Y¼k(¾.Ä#T3Ÿ˜~i¹Ýˆ|q\„WÖµw´¯+ÿbØÝ“ ³LVQß°tËû_®½ŸÐ5ŸÆ‹»3± ;èâ+[¹•呉˜“¾KÃMù1»Kã¦Ã7*¬÷‡ ieu½Gþ©Ö濨^àEaéåFÞ_O{uFD˜ÒÐ)ÍK;²G l}¯FíoäPý.oúK‰’þòÿ¤öq­;)g:•ôÎe¬K_ïy 㢈¸hxQ*#§ü.Ú±Õ†„No†…l‹o™åxô¼±ÿûímepÚzᢠA­Œðô×`vÔ”½CWsí´ÓdèðEáäi‚Il¼Ûï û=!ݘxƒÚë1ÞéOÌ5èz´€É]½Ý`;Hå’Fì[ âé\,JàÕ­ÿaÐQjÚQêÇ\‰töÀ~!¦2Š¡iÃëüâA÷>«)ñäpìì*M£Ø8îËnÓqÖ±j2Õ]œz/)¿ª¸CïŽÜi j¹0|— ù(¤ßÞ"žÕÁ?YKùøò‘°š+±ªÚàMôŽpÈ})PjÄŒy)ÀDóS¤•)sgØ’1Lñ”òdfŒË™3åÓñÃß å)è红vO43àØ¿Üåv >†ÚÙß@íSбC–ÿ<ÿÌÙÍz·Ø÷´Ò:Ï ¾I7ñ³ó#qÎç̊Ƹ9oiù"32GdZìÊ\Œ¶©ú‚¦¯££ÇÙ0•N\Ž~ܾÕÀ¤lÀ$¸è\…¸Þus(߉s£µ™-I"Ô>Rè-É>{¾°Àà?v®2Ý«µþ˜f~Œ@:wc{'ã¬,Œ äÊ1úh§8ãéá «ô,F‹”`#§¡°©i» [ŸQ°\ñl[ïG»¾-y5©Ñ^º+n(CýuŽéÛntòÉ~,MÿŠQ®gj<²¸}Üah–×â¨0úâBåRßñí ±X+®ëF.Ù “>‚üj¡êð4'Å’×~DÍ¿?o× Zb1<±?‚_u<×ü¸q¸ÒÙ¼5„ÓHÄò”O³ÌºÝý¬Ž,ÁÅ‚ö_GÄçjR-ìüTáa,Vqm\õ´g%9ün¾®h™3hEãÝ3@ûž€¢ù:äA1êÇœ¦ÊGD=¿XîÐëgÝ_ ØpË@%/k~@ ‚ŸMSƒOQê‡%ã/ÍY…ùâ/÷o¡&°‹Ej=W{öä::Š·¼tºJUô'§Ã)œ)o”šC@s˜d,%=^Ï‚˦ÌÄ©3òkðY5³mwJÃiÝÅ æå¼=Bœ¤\¶¤æ–ä8ƒ \se€¾ †¯¥FNök*dІ‹œ‘ ‹˜nµP¡,†.À2±¦|Ôƒ9T+†† Ä÷ÙRwÅõiõ!Èå¡O놎ªæõÑ…ø2^½ºXpØ…!Dî×M¬öàL~íô{ëO¢v„ã Q·‹»Ìb»£¥QCø6I_ Zè—Xƒëë- ¹µ5FÁo}—bJŒZ)Yô£ëä¼±_B ~’5Éÿ+­õÓùx$ƒþôé<Ð2­ÂšÆq`Ô”Ê=9Ák¬Nø×oÏ´;Ø*%&"ùpŸ&€™ÿ¦a:Ôº?=‰·ƒi>zÌQ_•üpÆÃ\€ä-Ì„ò|`]€ðÔR¸;”g¸&Äx¨>£­÷ÃiÂŒ4nþʆ÷¿l䂦_ôØ ù‘%“½>ÙkLì—린"J¡íVDðy‚s9A-ȇ]åM(JóQM'õÇ»æTæÏ1îèrx$›`>Ûß¾Ÿ²É†\‘úi¨äß“Ô鼎 ¾ë##'‚j $-Ï1F›Š+„ NÐÑ‹7P?_˜g™,ßH)ðô’NÈìf>'žá¸MM3¤LlËæ|³ŸÐŠ*;Šǹþ¿©&—ÁÆ!`±xÙì¨À»÷Ë…7÷E ª_³ô¢º7u`—8²9èõ` 4ˆœK‹#˜èÈî%°åú¶¦*uä ·L×–€ˆ7\Æ5Ý[£œW‘™Í¶3@UלÂÕ*²‘I þKãj%4 ]È›>¹×ü”z‰U®éøBÕËX2öŒó¦Ç³E7*dÅÄoºXž¼wçböª£ùb ï£#¾×Œ‹Õ|Kx þÌIö&:š«mÙFŸÎK$³ž ½êà ßþ ø/ §WPÿ ýÕ¿TÁÏŽÕÊQóélÐ2e4t‰¦Æ’à<àêýhÖ; $«”ÊÏ»£[W›–û< òtí’¾7¥¾ ÚŠ»[å"ÚÂ,di¤8²´,B¿ªu1TšÇø‘d<\ù’xHQöj×™5¶![þ_Ô/1]p±")zèö8`Ôób’Ií›Mí1¹÷c¨»ÓvA‹ò‚& PÓøhGçÀ곡9kEÝÏ _Á¥Å’·,¿qf¤BU‘xAe¸«’¤µs¾‡}{ Ð3åJååa6eñÆ_n¿!‹&oÿ²KJ:ufkƒÕDô[âêåÕ ^k¶(â|«Ë_ 3g¤V@¯÷aˆ—ö{Ü™¬CÅ€ÂÜätAÖfµBs’Kø£¼M[™|EÜòʆF5¾™Æ’´£ó_ÛG(ð—R„©ºN¡ýuèµ+b,hÑðK²¿Œ€Sbg„QÐ+›ø ¹^ Í9 ·ižê”MªX&KF 8+íg0ûÀÛEý:åQ¨ùíýôݤ‘1íÀµ`ý`\T”³Éx7V‡½p‡Enek:3¼»«˜±O·¸Æ-vXÞU¤'Ý)WyŠ´Ç¶jÐôM%{ÐøÙÔÙW¹¯rèÛŸ¤$ê#yÍ—´Ú³³¿Æÿ«¬n »KÌ8ý¸'ý¦Û;Ð’gÉê2Þ~”nbî±ó  +ñ;§Ò½¾Û‰¯Ø(üÚ®âË+Þ«îÂ4N&?œ_|¬ h¿Ö‰Â.Ô³<.-#Óɘ,2àwHÍ8`ýYšk¸ÔæØÂ;ÓîS½±}óJ4sÃ)Wú?x"uë]¡L¶{²IuÆÔÇüì—”Ò y‹BÐׯJê{i¤}¢gq*Š˜Öß—t­ÁAši›ÅI\qþP¨ßŸ­Ÿ§Nr­¿wg¸òtúŒ)ÝÓk»‰ÄüÅ¥X»:…Â?ðáŽV,tÿrè¯^¥gØ 7Òò™Ú†ú˫ȿñ#[ôžèéG¨L ÞÊ¶à¸ Ž½søL~" î^£=†«Ÿ\Ð[¾19º†Ë¡Ð.AÖ²Éôò™“YO¥\0>ÈyQÒ‹”§˜tZ+_KÔ±-ÃãÓ-¦D§Ü˜¨÷ÊÔ,û°Ýý¤‰Ð5L´ˆ]¨ofµ8.xÎì¹Në7ÜšêÏ_¿ |•ÀI‘.{ ëiD¬p~,TœÝ|¼ÛËzžœúx:‡õᛇl¥Æ'Ì‚óSìŒb‹å‘+rZr´Ÿ>ß߇fÈA@‹™±¬ÞÁϨ†v¦ú£ ¨ªU–V#åÚxpaµÏCâ¾Ü V-£Â£†÷´ñðjMÞ?ï§ív—+úœGÍFâu{Üɤõ`Ï V¤LÉi3/ƒnL#¬zF¬h‡ü}€åõ8Í Z«e `DOão©¶‹qD€‹P÷åmâºR Ÿfž÷™è¾ ÞdµlË+íõFñª|‰ )Û²³)ìǨ¬XÕ ÛE¿ (åÇx¬mñzì%qþíJễ@ì?ÞÔ÷«µ¼ê¬¯Ùòƒ”’•jóÈop]ü¹õU@V½¸áiF>qE’ÕPi7è”ù°å¡ Ì=DzÆùã@ íU,yåÎ\½ÕôD °NoßmùøzÒÕÍ<ò—˜ûø ¹ÞcÍ`üåj©÷Q™±”$\sjü¾”Ò^Üù)6NI-ޤ‹ÒÇï‘7 †GþÁ{‘JJã©à…=;+¯Ú6¥ÙÅ…V,?=Áçyɼ—M3„à…n¹¿6HsÉ+PöÎ¥i¦ùÿ,C6ÏÊGm"̼')Û÷¶žŠèt½mmAÇ)±gt&—n8í§Dy“ñV#’)E]îºM)“åû£1“Eu)¯t"þS;¦ºØ¶šzÞ}°Uĵ›oᔨö惹óðÕ²±Î +9w'šf•q‹.TL„+~’v«h3üöEåj‘ÌMq=d­ËÜ«ë©=_†èœ‰Z•Õ‰ðMñsË•m{c}×è§X¬¯§ÙȇË‡ï£ Æ?î¤s¸£ôEµ´ôæ½>¿Ž§¥"ꜺþD3i°¾:3ïsáiï1er Á|Ìn¯—n„.žìÁ;yy¦jÑö’]÷'ÖF‚-6p”ë2þ"ꄼu'úRcCdîÎ`j ×}åÇgT±öþºßŠ(Ù!gû Ã?Ë)žbÈ@šÉûs+—QývêmÚ$§Í!½Pyãšê4ëe(vf,ƒq _‹„ +ämÝ‘9~‡¶AD³”9OêD¯j·ó,ó!°ò‘l”¬ ±fÍAfj­²ïH-=ìoM¥*›÷ôknJlzƦEU†Fl/? ')¹ dRJÂ,|8‰œø–ñ ×ûaùo-ëìG÷;zûÞaÜ÷@÷Ⱦ§ÜºŽO4qó £%1]0‚®áFÎ*‹ºz?"ÍùL{ýÙaJ¿9M ¤ºü™™ §LÝ-†·ô¾’ƒI9oaN~¯X2´à]Gñ{î®Vw“Œ²˜jß¶'‰ †þ‰>¢þ^bþi÷  UPx ²´rq²+¶†^~ÛØ‘YöR#—ëžOžã*,à3Zx\«ü7‰í×Ú§V:ÓÓªfäAÂ?\EvÛªˆk†Þú•%Huè5üÁ²’"Âô{ŠùVÎàwМ±#y@Qˆ£.R)]]Më¾é›â L£¢®GGW³] ‹¨{ÉÒZ5Y <°ÂB²qºm0¬sLU®7u;®4á™Ä0µ õ–cûÌ÷v/éè]¸Øtx"Ö*m®–„å§{P3öfÖ‹7mú Êr9~mé‚çˆ}MÒ]"š8}”.Õí¸ˆÙQ4—ëeMÙc8LZ{åjz#R 4¼óõÇ6“ûòR’ÂÚWERRWZÓQC˜Ñ 6ÞâÀc‡;ZwÅ•¶åZÈB‰ëP¸ÅðZ¿å8ŽÔ¯ÎLæ÷½2µÌþÝ[ÿøCãîH¶†zœž»ÕjÊ8hñ€$š]_ºÚ„Ãäpµ åPÞ²Úì·¯ÍÒPS†÷lG­-òNiOm"‚6_ ÙÛx[`éÇ· I2OŒ—Äî)|¶|uÁ½e¶)ž•:Îx}rÙTCšXï]h%Èt¬ï/ÐÕÕ—œ|iPYƈ‚u…¹n/…¬OÓ2\ë_ä0î9]Õ®WY‚WçZt!4ǃ‰df¿¶’äO4û£=ÍëÒv ì$¨–¿¸—Ž ƒZ eû*4ãò¬á‹¢':‚èªñW—)#¯€Mü7Yeý³gg*íïÉ~úÑb†©²¬¬uÌ«õBæåý3“b’yòRr"Ó‹`9É~ɼpš})¼&åHžj Уºr’­4.kÖÙžåëL”ïWmÑÉY#v|X",\gíW4 Üþy•JöuxuN'‡ìA†úÒµ$7Ú2B ›ZrbŠ}O_FA×2<@·ÝAêî*¥ V#ô¡Õ étþͬ& è/¾Níbb/tßXÚa)ªÍ¨ãn»× B ØÙD"¦ƒ³‘ZÁ}I{él¼#Œ‰®éì ³Á!•ˆbÏ"&ßEO1SòUBŽ~Éë-} ½Gªê&@ñèýLè¿üÒéß ‘`öùR}s÷!\ÐèÂŒ?¦ Ô½¡2F;žˆ ü–I·•Ç@$áN…‹lÛ3î‹)Ióƒ>øÙÜJ¥lh¬T2+ÉHg)ƒ<ß¼„4f]' jJÔ+¦?·Ü ‡j(÷obïÙH.à ö‘R†¤Œéô„âÐçýcšúéï•-»ÈÔχÀ\@G2³F,JêÐ6+‰ô>ƒ~ˆÇR„‹ÿí˜ÆJܪæaó9ëú` »ZégÖ ®&t‚Wþ:¨h&Do  :Xµ¬yd܉¿fg‰Æ)‘gÑL\QObÆYßõêÁã³;—½aÐeM_1lœÇâææi¨R̨)3¦Yˆo!Þ¶¨DvE«Ž|å9ÝÆ§¡_*5£çvð‘<: çqúr/÷ñ2*šÒôà.%Ú©œ\út™oGåŒ ~ß“Fž…›á²ÿ{OŽ;g¹Ö2Nù0{ŽSkµÂÞ!ݨ¦YÕ1¤³ÀȆwÐÚz5ïK¼R…PŒ}Ëâ ¹ñ1N2‚uf=³ê"ûo@nጬŸ„´ ©‡¹‡k¿* ;<m„pê÷åá{fŒ˜ÚµÃÒácÆ E@š30ƒUù! ôºÖÕÎò­qÈÖ°HºûÕ<ì>Â"i9ÞTÁßÁÒ†£Í4 ·ê„FØGÖçÛŠ¬þBÀ»êi·<7âÏÎSYñG¸¶O7e\ãøÔ…ùþ†Xï žDÑ'nÀ¢!G‚ì´bVñÁ“fÿZQó&ŸÊü¢üÚÔÆî“1¬^ήê —\âK\ú¾úxÏ^̯ÅÀ.ÚºYDL·=h¬¬¬“ÝãBiÞab¥oau ë¼ )f[Ôÿ$e¼Mz"n,—G¡Öˆö$‹ŸÎ$…/ï†Ñ‚…D7Wùp”˜ŒuZ¾¼¯ËMd€@²fV…÷ Ã:Äד1U $ ¦’™xR© ÓƒÄý%Aa•´(þ›<šv‰ïŠÇæQß:)ú…*°*_ÞÇyy±w0>”âîc¥90ʰ6Z)k‡H.Ø’í"‚taíˆï(ÈrC—i§ÄJ’, #~pgnó›„4” ›ú“ý}X÷¹~R—0gºQˇBÿÎö .ð§ÊîÛÀ£}N” ë¡çe¸s¿QHÇŽ÷˜Æã¶ŽéSíJĈ¯Eõ# P@ÛÖÍÏý‚èšÌ¾åû:³“wÒŸÐ…Ð+Ü"~*Òµ¸É•ãÏ;ûpŽÜ‰Ãå8k%ùТ+ÙQ«ùüÇ®Çj—0¶‡ÙgíY~+Ýï8.IÏU‹ÏÈPÞLÅÒK4R .Æ^w@@ËóXql³Ã²/4ã>É¢'ZjпÁÎN(O%Z6ò°¬äjgõ(¥ÁÔô¹èò´ÁÙȾäè5Þ'G~¦Ÿ¹¡Öeïëó gnÈõ”0μ®Þ1SX 8sh„2WI—ý©‰Éš “îeWg193µÆ$0î›ë0›šjÏ×6jŠÂ ¦‡!1”8\¼ãJ|0ðCŠUr¦.nõåE˜œPõôZ™×x»ŠèkXÜ`´ï1!D^Û‘.d’IrA!+¹‹ÜHu–1”¥_(: Z´¬TYÚYûaˆ²Þv½·6È ¶€|Šâ(&ÍVšñ’·bމßÙ9SÞÉôñûïས«D5wTÁŸUcúOì糋_zH˜‘Eî׈”%q>™~ðÃPòŒ•3x7”‘_«öì ve%{=ÜÓŸ@¦v?fdÙyéGÆýÄä’Æ÷Ù'©x°¯X¶Ò; F+ÿNg{Á‰ŸöU@àU¹ÞÀÇëÖ¦[Ntµ€jVT;10×^Äm ®ñ¢©Wòs<,¡cÊ_Ù³ô ®pEŽ5ÆÏd†§ˆ& Ùöïñ®%‰æ_‰ÿÑúÿY0?T+(AÙóeòê É{bÇ}º‰Ï¦âf˜¶úätÙäj€r”öS QÎ"s»ìjW~ðØWoìajˆ+œûTß‹æü¸`®Á Ó™ì˔ҪrÖñè IUî‚`Žw¯dy½;|:Œ–ßâÒÎМa¡ˆ>,ªã¶ã¦ Œr*©-±¨„zT(’ 0©ÝÔ ¡Õ$+‡b#É ñìs;XÚE»˜‡3r4cbI¿Ê‰)‚#¶®ušÐ‘#gýßÙZb|ˆ±zg){bi¢]6S„F·ÿ3 kúàwG“ßnQ×lc°4¢çѽ¸à OT?K"Tˆ‚HWAc<]u‹øLv‹âNx‰B3ÖqÎ}ž-$s `¢A¶ÖýÇtÁê§NZ"ÊR†N—fYßFNøùBQl³m¤:jÀinS;Û Èþçk²Ô{á‹éæÁ'·¿ÕU^v4õ<Å|¹±4×EÛ@œ¨3'Ö3f)ç<>'À†…èh»~ê:‰JwIéÞlûtƒ‡ÿ-=ag$’¿3®Z ØKBäj©ï\æ13ˆß°‚V¤·l€•Øþ~ƒFªV£_©«v ÐÍ·Î:݃h3ò+àÉ+¦Ë÷¡Ì“Ò”©Îêµf z¶ô÷u|¸BÖÉ„†ù»Í¡L‘CC s#ï¹Ü YÓ¿aU~1Sø®/&ï!üÞ:Ì—û S7öNk-é¤$êeÏ DbŽ€È¥¡­z¸=ûзd£3\°’ –!ª?æÔ;#T4‘þÌDÔrÊP¡¯¼ÃÒ—^U„fÌÞöU$)YröúŸÏRïÿ>C/­5¤˜%þêøi%¦Ñã°ÐËe±q‘ÛãÞ“(¤š¹PØØ>¶#rj¤Wm±¦À{az—Yñ4kþÇM(±mPLIwîz%|On/!œ5h ü%4Ytå]w‚3¬ÛqZ‘¶¥5½33€âÞ䚣¬LvS©¨#„yÅog­Geµ3’)Œ#^a›)Û’Tý×O%àÂ?Ö§³ß yƒ|t0Ì»8¥ÓF DfFg9Úý*0Ð,LÂûÿ¢ŒC~çnÀ.ÔðŸ`()Ÿóð‰–è)¤vÉhA éá³5¢¥{ <œTá&<ŸJ´Ú¥" ö#´DJÄà²U{=1 £¥ëp‡*æK*»Ê·%»Á^Lj¸ Ä?ÝePÍ]]Ü=s0U÷]Ñ9l±@9Fß”–_u÷JZÁ: ÜÚÙDÉt ¹¯FÕE¿it+o­ùÞ†iZ°”2 O­‹–²’6†^ïV„@{‰Q$†òb*|à)Ï/9‘½>±v䋼[Ã2£¿‚ rœñ³|×£Iõ‚W€,£$2Ød|CžÄ£Ä˜\‘ÏÇ#ë3ô¸‡˜ZŶc53ù‡ì䤰¦gÒÒ±ÆT׳Þpyú“Ì% ñ‡ò”¸‘¿jGáJz¹ƒ³*顨÷š¬gæ HP«´ uI®;H†þÑ›ZÈÜ`Îg™·Öªã9.Z÷HÖ®öt—£>ÿ_sG\É÷ g3°Îݬ'DdÇ¿ì祤uhÂf*v³!‘ÿñ¸$XˆÇµ~€ï?¾°Ä]Lz#UQw»/Ÿ{Õõm¥õLÍÂŽK©ä#“W'–"6"Î7%!½úä@Ô®þøö@­‚˜²?2ãýin0»WütU^˽>«xáƒ14jZIä¾tuyØða–¤æ¤¨È* c¾/grƒ &âGè¶[¯@Ñ·;Ý{HÂb}¯Ô81ⸯ›}1ÿ({™ÈFeÍ+ü Ä&F›#aìÖ+·X÷Œ{¥&@¢ÅyžÅÃB웫|Ðù^qåÛ¹Æê}©ãS(ÆÉJÏ®ÎèƒæX»€1þp‹ß3¦W±fŽöÖçRVÀØd§Þ*ì‘wµöÑóŽæTÔm÷z¦W¯jÁP¡øK\8Ãá ´Á°OéåB.SóÇ—Ü.¡‘ÅDŠÂ-×¹ëõ€{튅(‘†ŒnñFa„½wùûãVSƒá‹ZØü»éü¦E8*â¿'¸~Ç´¡öì1ÐèC4t£L¸LR+ëçä–jy$ÕpÖ/Á]§þ›ýìÌç*k¼u§ÑX°4P‹ÃííÄÝÜÿŽÿsÅ6³nªÝ>JMÈûq²Îè¡GW$z\Kà ë`}9â;Y„À4&_v]À1}ÝIP4=TYŸO[~©Â>Õ4«<¢¹/Ž62¹"LJ‹›¡j]ð<c´¥>^ÎW]:Æñ"zˆ mŒ¼Æ@Rê-•òÿèé¹´fS#(4ü¨Á¡øïwq–I…ýñG®T'è (¸’m€Ž¢ç†­j˜ÎÄN2~Ò5Š›¢Œ.+µ©¯ êJrSøáf–ž³nhßÛnNÚzº7v6n™€2’(ÑEŸ}Ðù` @±4` l"d[aƒ×hf›b Õ=œUÖkFÇ»áícøJ5ʘ™l¦®0_\§Á#ÛÄÜÝä7ÀŸgöÿÁ9]Ä4Öï¤Ïu·ˆ²¥}( (Dèv])Û–Q[h¯»úIn(p+?uð³çHê3YDZ«`Ì^ob_½µ˜ ~y}NƒÁ›öa„z¢¹GéÁ>ÀH`ðzÍ¥.пÎdßÅ[r†Ùé£ãßļ·´tº“¼Õ†:œ»¾)ß5»èö¡|°Gò™3¹ž§[I§u£cÊZ—Ï0$UŠlâ»Ìás@Þ®ÌX“„2l¶Ø œ›Â³>\hé±BE^¹â/ot½ø„ÕC<¿êlX€9^x¯ê€ˆržæµÉzÜSSÎõ—O¤v½Ò°+~žiÜý•Ö×"ƒŒ‘#gZÂÑŸ£)4õBï›Q¿]­¸þªzÀMp[rk»N ÏR‹Êë©n„`£2×ÔYω+Vo~®}MªRûËÈüxÜÏ`ÀÈË=©÷ã"e&Üid¦ %àÏhÍѳ芹å™tçoìNƒ”†/!ÎÌ/jªÜw×P^?Öm#zÐÏØ{<)REÀ´Ã¹Ø<Ðäâ³r’]îÛ­,©o¹­y:o¼ÏÙÍÃJ£p˜0rè†wäõ7S*òŠ®… ÇnæÿIáýã‘7Jis#$ŸeJô±A~™SºüqºKNü-3³­bx@-K?€MŽTþÆ1àIøÜECþ=PÕ‚À=2Õ..EM£ÆaV#IýLö (iÄpJµa˜`êò÷廃³‹R“«K;/ýVª¶n7XõVM*®¥6Ã~ÓŽCJVÚÊ7$yÌðxEèÇ6¼zn-¸YaáZ¯Ä˜‹lϡ׊i»I/KK‚ŽÑ²Ï9ÜâJ0UÊ(4_~`Rº¸€@î9@NA›ºÍ¥|ö"ÄKÀdÆþíþ\A²W)¤,`VDziHìB;¶ÑRØ85½#кY¤²{cÖ(š—L¾ ÙóºU܉?€JæµÀ799.쾡€ÃZ]­xllF;x9WPôop¹w͹ˆ?HÅz©ÖÏU ÅçA–qÈ—›ô&³âöl®tyìÿD\BGކ¬Vü~K\<~}01HGÛ'i÷OTë¦ Ýf=¶]ßÕã›`X;Ÿu÷²ì\´C¢F ó)œô¿“¾\œ-Ú°¿r¬&f…K¢o1IM÷y{Ú—ÐAîÜu˜G0èôC †‰–Ç—TѪ”iîÌB«]î9ÖPrܨŤôº¢*©]}¿+)Èð{â}¢wÕ²EÏYºR÷ì]Wv.ñL^Í„àX{Më²)ô4îŒ\Ä«J©6É2Í[ˆ<Ñèð³Š|ªþe‘q¨¯á¶Ñq©Cy‡Y­çš_S@¨‘%1j//7®Þ²7‹­ÈøŽ\" q b^iÛKXKÅ“¥Ò ´`Ïp\ÓÖšj‡æ] uDHb §}áþƒ @ Í Â>%‰ ÿR0ùëéãÁsô6æ¦1È`YÏ‘zô•ìÉÃæ§Úïtàðj@·^'E@<8k­‹ÖèÂC³§Ø¶1!³f6W³ÞKHº–Ò>aùíwÛ£–Vèãì& ƒýzþ u²¶ï¨œl¼þmÓ@ÄŒqÐáÖ r=ƒ— Й9%Oþw½’¿.ý`%âùsb¦$B¾ØÇ9¥ú`å;Øï-(w¹¿„g½)ü§÷”ÛÃ$±Ÿ½ë_môèKwìú‚ò pצ€‡9z„Ži”4ú£S×°nÁ >W„ÈúEÚItàùØK,uæ•ÔñŽ©ŠñŨBŠŽ )¢ØÚÙSŠýž F×ö»WU9φKb×ʸ:â-Êî8ÝñÜß§ ¬C“# u8N¼Örѯal;—¬?©Lׄ©çÈœé¬ìgHã»ß$x½—Ì|,¬Bd:qQ³)àÓîĦ±4öÏÞ‹…IyœV{ ãÿOרyàëíX-u-C«8õ ˜„‚Ö¥0NÊ€†ô<ÇÕq7.s›9~h©}´,Žñµ€½öQÍ㘷Ä'Ùd1¹¹ÐÅáà²sá½Èý]Ê9B°UW¼ FUTlHXÐkàÐó øÌp¤Ü’š¥cj0t+1ixÄ2Cÿ¬C¶;%„–K3Ä*G{å°ùèE‰yä z6prå\­6$½®¢aØì›àfK¾©hÔ6t[5¿|yQ7ÎeÏ÷½¨eÂsªëzyÚJá±A–»K¸ €…(TD+ 6p~€?•ëeËÂ^çèÒYu£…消íÍØ­3þ&úóÊæË' ÐNK™fg[¸¯já¢CÃâ;‘[oð²¤É¯ãâzR)ÆuæÃ6 +?´3lX„¨ºCxí×5Kè³ÌÙZzÓê„0|ôS # e¡;EÏUd @ã[¶'s@-§^aÍ /¥ù¢û¿ Q‹ƒÂ•h¦”¹,s{‚®Îæ‡bfzÈM©÷vL°—KJ?¶íVº•Õ6¢`~IJ7 ãÆ}nBp8ž"cµµ9 ïJ௖ëŒ/ðaAQPãÅÆz+q˜sÚø®aOÁ<*L8ü¦0ªnCˆéš¥”/æË»¨b¿ù’ÌjÌ¢ÿã•'gb<âD¼&æ#ïUµff–»÷6Wíd7±ÉVS,TþR½VØlþ³©XIõ¡*X( ¤–²êq§lFO©ðVsÞ¹ó:¼@û³û Ýc"7¡M¥+œx¡éà¶µ¾ ýr>S×Ä;õ5ø¨.t‚‚i›'+×Ðè’µoG£C¾N@í=°ÃµÙýT êüdÿxù±Âßè-tÜ™˜iB— ^ŠúAô¬áö«­ÏÍÁ¾Ù+žDôÐs@Øòö–â8;ÎVJzÇ?A—¡¯„æ…ö-ØaO- `;&fçn¯²*T%˜.í‰úÍþm4meÍ ^Œø|ÒSíÝŒ@ì`ú È Ð°¡±ƒ”˜z…4E%Ëq Aènek…’ø|äp.Ä -xÚ”)ò.)Ô›ª» ×TF•›—ëc%ÁéŒ1JN0èÕhÒ«Ô·ÓäÒÁ–°ª³(› ¼qÚ@yn´´ô¡äªìÈÃEçÁ0­†Y·*y-[OcS)HÜ™*Ê%›n€B[Óë þ„Ö‰-v%{¶†aããóó©sìÝkS9÷òo%?z­ôu°M{_öŸÇݺIœg-µ™yƒ^OäIh’ˆ@§ƒý½ß‰P¾Oc®PÈÅ£û?ú0ýÕ¡6ÐÔ'‡•th›ÖnÒ ×Ñ£cÏûV¾~Xs?¤³pàt˜×6ÒJF…ŒÌg¹A6M°åÎ „ºI'Y:½iìk÷hP¿âéiDf ¤fGF#Ú´YëhÄ»‹£ïâDm˦€^/’Óà*|câÁÀˆô÷kNZêÕ¬m-xÕ‹‚ÊÂ+[Ux»óm»ÍKkfhÉ ¥¨'Ž›~¡BZ?ìŒ,ÑœE5pwz_/¨†0„ÿS©x»ÌYò …¸ñ-¬ïW¶¿×Œ$¥3é« ¥‘Ƨ7zñì\Žÿ½e¯â*5çeþØÙ–­€2O¶S¡UJƒÅ÷0צáÈR’ÇmC n ºRz$m‰\ÈÇœGk9‹Žø7[ËÛv.EX °›ú‚’/âŒIÏ‘f‚tÍ7[&RØ%¨¬·I¢B— --TÕÛÜ29öqu8Ÿ³-7WãC-ÞM8jÏ-fPÐmm¶' `ÕLÁQ!ëIÝℲϱd îÄ8=k+·eÊæKX«rä¢÷3#G(Hj?4RôÌá<­ ž$·³Í áÒ…{.ýHèrPLÎÌJHYy•t±xJ”ièŸá0=éÈ)b´:Qt†|ÊÖ¯ªr¡÷LyC×ÓçÓn»'.B»è£ê?ñÚ8ÅQ³UU€ï›Óú 3<)È|š¦)úPuÙ% ¸ÛuMBZë×Y´/¬Œª"ùà4Oî Ðþ¤ùã¶•ï4ð±N½n޾XªÂ3tÍø¾s)*&d±æg2_çqC/¹ú¥u‚n°¾C;¾ÁØáÞmß/PÄA?î5JêðÕ¬!ë(ç©ì·9P™Ipw`µn²ýqØK¢¤¯5üÄqüäB[¥—¬ŠË ÔXov¶6ØùDghÞî5Æ6e^÷ˆŸ3ÅZ çy.¡¡Ñgv>±¶¸5›ÌÒï•¡:õøØé¼Œaòš2æqè/QÄZ Ö?ã#JW£«ÈŒ>„{Édh$¦c7Ù³2§'/i¨OmÎÔÕ$þáìßÃíÖ=xß·~šB í¤\7Itã¹οhg8É®MŒ›OŠÜüŸ}™#ñŠ,—þo\Íó(;¤î“<ÅáÞ¼W.ùt¨”» îäú;¬»…Ñ«¼íh½E‘U%ÝUßR žh9`­zoñ´ASåòÉÄ•(ö+Y ø¹ŸŠ–6¹&ƒuȤïãÙDÙ¾,5ŒC•—v×/ì~í.îÂk…0ÉF-Eœíyè ²íuôí/ÿ¬.¯±_a¦#Au~öÈ*D¾lfIË‚,y ׊¤zZý$; ÃSk SfÇ´ØžÖÉæóYw{x£‡Êd¿F„(žØsi«fb‹¥®êðѪ•άÞE[¶ÀÃa* ÁAœ¢ÏLT¤ý‰ÄnDÁsL>~!8Þ‹]’zOú÷K"&…˜¦pW‰àXÚA@‰?§ ½'ÎÞÚl„)‰Û…ø¨Sá5ª(«P1Y9ªp+¶Çì]’/–¡üŸl¦N»&•AÙñILË4MàŽ!óWN¨¬±>Û7:°+Ṏ7QCû½”)ã׌dè"Kw«¿¨MPÃÆCËñyKqîu2&¥žÈáûŒ[CØËòØ09éfæ]SK"£ãÇ6¹kê\3´wqg¬ íDõ.×ꇲYÓjdVÎcå0^yº !ÁÚ‘núúŽÂî2?Öá7~^40ÞŒ«è°s% Ô•ub¹“˜z5ÒÛÐ\ÕîVÙáÜ›WHT¤Ùß›ë©C3q@ÔÛýÙÖTgÙ ßcõ;ßO3ƒlâɈë/©À_g¡)av#XÚ°§×Lc³šL¨Õ¨K«K¾íü¥ïÉxïJ`ŠhÂ´å †Û°2×[¤Æ'wVͽàMò™ã$¦¾„¼ÊeÊöŸšHÎ-Øoøð²ý†‘Uð WWõUd Ÿ>ŸÎŒAwˆã±úZB}ªR3^‹ÝPâ0üõå¨v·.'KKºç$É7 äÕV7×´s<Ž9Ц®gnÏa³4Œg|ÂùÉF‚d§×Nz+Ap9 †ê‰ŒQ²W€Õf{yïž¹ÓIäPÕ§ª•&éa©é„ÿ8 =àòh° wÑsi=€ÅšwÀØë‡h>Ï‘•@tîÅ>óY ɦšf÷0ZÒŸr`×Ö€”ó¼Yb-Áƒ3$¦&4t Ú.ƒ®™©ÓÛð†£f•ȆŒBÚ7×ÿ G7žº4~zù˜'NM"þ´m;ÄM-à‹­V!€ ‘%­P-ŽØr³V°MAH2gsyÿ¨§Ã˜·QÙ'u¦¸þ3Ê–OÀ3º7M‡¥RN[¯™on.KRnj&„ âЏ¡]"#,_\ ‹‡±aâÚPn(™¶&&û[Ë'–º½"è· å&ì#Îaónr¨hm˜G^ܦ‘p†>âOá¡9 ?f€íð`¨¹ž|,×ëwÖ-I®¿8¯äâuS'.ƉÁEö†7sÄ®å)æŠt`Öţ&´ÚÛB_ ? 6ž—"¦Íœ!lÚèH ¥¦ô½ÛžÈÙÂhËâµcºH@ðIÝÇF¯,õ½<©8Êû½ÎZô»D«Û*õ”èe”eh©â‡³×ÕSÈË’œ‘U½÷»súº»ßDsq@:…E¨“JÀËLŠmNPtü¤•²&<·«¢Gò[)»üɤÊ;M­œñJ!¡–UˆHÅ .¹âÈø†m1©ã¹UÝA?̾íÂ¥i€ÃÛqÔ› ðõ¥ßS3\Ý”1lžœâ>ýÌ>—ªF•\C±m›I2ôß—Ž}gŽŽ|Ë~¾Ð0ARG¹˜™¼_ˆ HÀ§—È=åƒ%ÉiA04º±W½œcBÈžá„°ºún£9˜öpC†³X­ctpÀ¼Îˆ¼®ã ¥Lz {ûYº±«YØ£Nõ51^ô ÖÅkDåO\$àéf¥‹jËW!~U†!ܹR;.ŽAi8ÓX^ òÐÍ;Lc8[Ø×{Rã‹ÇÓ&ô-­øÎ¤åRØÑ|EÕ²‡ãŠ‘†R+µõß.©ªÎ~Îë*$†í…mÖûdâ¸awþ›? \ÜYEáâ&V`ú¹w¦ìjÚ3Á;dïAµê…¥·×êÔmû­ê®éèà¦ìU¼·ìjÆ›C1RÔ„o¿¯œ x˜¿­©/ßø¡«£²âMŒt¹èÒâ‚&¯içñ©µ?²jMõuA›øŒ¥O?Jž7BH8¿‰}@^Ôöˆ]Œ²ÊkÚÉLlð M¢ªÍX¥çµ]á0¥e"7‰„c¾ªC„OŠþ4sYïꇸÇ~(â¨ÙÚ5a%7¢>êç¯}¸õЉGŒ<©”í+`Ѩ‘õº*wó·âš+݇™–ý¾‚›„`Î*_jÇŠÿ$3S×m>3? x|œ|rT"´"`§ç=àBnj¬T7ë<óÀa ¥;²†Z£äaÐNgfK-sž.Ñ©þØy°¬ö«þÄcÖ É4¾³ ¨ÍTP.}:9þ‘„ÒsãMŽŠ…Û&öÓê4–„õyúdxŰ–!*é©w`-œ‰¥#‹Zöût­âF~<ÞæH4¾‹Ø¿éÕ#„#iS_ȨGw%–d¨ÈðÆ.>¥à°lITÙ.ùi3RßÓá«õóMö]ïBkîÑS¼Žóèb™R){YçEhhV›Î‡€<(k9z^†TuónùçXœ%?HãeÒㆌ¨½¿?ô<Ìõ<”ŽQtÃ1EŠø—ù½v‚å6aWTú§ъ:>{NžNùf¤®cBpDØš#l#(iŸêÛ\ôÁÀÇßGŽ úW–PkJ~ÿ"¿ÔŒ ¸+Ò3›tíý¼íàrêQ&`©½&hwM¹DÇEâ͹óÝ^yê†×T‘kyêÕõå+Ã"‘B§Ò€HÇÃî,çÚŽFA]%!Cʃí:Ò,Wðð½Æ§-“ÿ-“Ì›­cÄ9WEõñ ÓAcU Ù}±Ñá_š Z¶ IÊÝZrJ󈞒e8ë Ò+öCɳ”ÐQÑMííæ¦ÍÎÌëˆF*Ës@Ü<ˆ5jÑã÷Lï§a}ëðž]f~[]ªNàÊ5∎+…ÞZ~0¦AíVçWˆ ðË¥l/KU@-½ÉY¤l.ß³.¥Œ1x~K¬³„ž˜¬E1dà-lv²s×2'ûWpì)©Y2ybNt’ÙÄñ8Vžšœ MÔ¿Á &ág”˜BMÇÎÔàs**µ4}w¿©õA¢j±Nv†ß#3eà @O•CHè‚2›ò÷»‚p3X#¹ äx‡—*Mü&_)käšßÅ%VNVle©¤ÌZšUËßz‰‚ª´ Ô±ˆQÐn!฻ #ÝÖÀëså·*de Kk¬gé=²@(º‘S6)缸•×¶Ü…~ 6>9„00w4L¼+3fß“ä fjjò.Uœ Dé'š³P•ìx¦_ëîŸD s9–[Ÿkyðõ÷«…YŒŸž°@Ët>þ*Xx³˜àÚ˜½ãÛŽ}©¾àbîåxXùó:VÛa®jµSx¢&µD h–ؽX\후"þ`ûöt¿dôÃMÀ^‚BÙ¹iðâ‘ìr¶øqÀ~¼ ñϰú Zý ‚Lä6èDøßXÿ}^ÈùŸìa}¿ÿ#°Ä¦áö5Ÿü&(M"q,Ï*1fÔ!ï­ƒÄgI‰®’&N…ž5å ’¾0–ø™¨…Á­‚ÝFûFw Kdçž!»†~8"þ_«á.ð*T/l•%ŠNÃXîPÌÔ0Ÿî~N¸¡#1c€_ۀŹÂ|?ƒmÑ·Æ8JëBÂ:û’¿ëmË6•@®…_U‡˲̒Ë)WÔr¯ÕReÏá±.A<¢‰ÈN_r«Se­–ýBXK mœ ÿdÇܹï_*ÄJ:…žÑ€@º. ±ÿÀŒ¥µ-ýx>›d¾šÙþ›V“ñcÂôKúü D ¥wöØkÚä § PÀãjñåòIâG?}¾cʆ1Ãú‚@q7ƒg™ŒY;…bÐà[N, iDä§=ô•#óÏBôÛ°0X‰j„‡ç&JÜøÃòiPç\¯Í›ý˜•¡;Ý‘v0]†W¼!öÙÓqüWÊ šy`÷}í'äì¿~ÑÂÌžOɪ'êTLuyÅ’JIFîôUž,jªx5‹ÇÔ½»º é?­ £¯AðÌ•øVp¹Ü¶µ<Ʊ…¤ep¸qõè7©V?ÆsûOêEŸúžì(HhØŽF°ÿ´£i¸ mÔB¹o0¥±,öÔèÏò“Œ1iÑCœ+¶6n^jàö»æŸ·ÒrÁMÌ2#x’ß7´öætzÃ7L‡KÅWÇ”³_þ»;Z®fÖG›¥'³>xFþÅIv$AG©«îï8X®hðš÷—‘¼(„rnçÑ55Y³ÓÖ–¡ ­Êý"Ð8” ¦µSkS‘ áÌ1ÞGçøŒV%iÄüQÅëÀìk S½àÞÑ^åX$wÏ^TŽ?ÊÇ÷kgAÆ ³ûïƒL$Bôg÷ªw‚j‰~)öÇüí¯gš­7¡¾å+:Çôþ6 ƒÏl¾ƒ è ¥ˆ\]Á:Ÿ[šs—†©XÄ/w€utìGJ“}>o+ÚòÛ9RI®û;"Y¾ïÒ ø|ÐL]w „Y’ĸa „"pÙÿELÀ~틞ý0Ÿª0~GžŒè,f²‰æERDZ’^÷Ë« ïCíQqåþ]Ž”b÷0ÅÌ™;_•,Ê\¨àû­Ô=Šp=ãž‹bàðaß²X5VnPG#ðì6akŸl ¢È©þ矪³¢Ñåu€´{ã(ÄØ3%psʼäá³.¹£s®Øö gýÚuáÈ¥Òm.‡žç­c'Î…å—¯´‰‰“KBøk&æ"s™<˜}DÑ$¹æÒÐSÄÈ/ï#ä~j‘a¨ZTmÅ®fò€cFÅ´q$»gxvMòå”4k×¶AJÕÕÕŠ¬ gª1 7q’€¶äÕÅoR»7ª-n¶ò"±¦¶5÷öTbÙ‹ÖÊ€˜ÀÞ·ëÆþŽÊÔØ¾be(~÷-ÿâ­ñÝÃEO/W³ªfÇèòrþ^ÿ‚îªÙ F[®Gœ¥3£l{‘ =* u+U%Ô[äIZÏA5†nÑEfÊ¢roa…h§é4ôâd§htÄx·õ?Ÿ»‚ ¹ÔņÙéÊ÷´ QÃö]ŠàmÞz¯bÓž0S5$ö¨dLÍú<ˆzhÀï§àËùBO¨2à¦Ë 8” tlȽ‰»··å!¶ÝK]Þ šž5U ›óŽr£ã´·ËYÈ茵v‡{兀QúÌZé}q1ß0“¾¿5våð•Æ29—v’I2è]óbû¼­oÅ{ûþ˜î—JèâüËH×¥‘®ðU^šìRJŸ6ÀÕ§W“*)œ\HâßÎÈ|>ËZ+ö˜Œg@äÌÚÿHQ_5©¹»’uáVGœÍ=çÌ _XZ†§5Ÿr{HdÅ–üäÙ¥rt:Vu 5¤EîÄÉà¿QUÒQ6[’§¹ ‘Ze ’J¦Dü=¼>P$Óyä8Äгê«ÁÙpÏùpÞ³Ý[×$Uë=œ¿íb·“„ê:¯ú°Ä€»i7n^OÂ|ÞU/2h˜ös(Òs/|àqã•.© Çý(kŸâFOXÿÊäñQpëނCUýüœ«3‘zr û™ÖPÙYö ;<º3³2ÍÅÜKIYЖ£°ŸŸØ˜µ;ähÛ‚*±!BョT¯ˆ¢õˆ·†®·»û‰¬¡Ü‡”iÿ,š\ogG”`/Nˤ«ŠˆŠWT cN ,#ž™NOÀÿèuÅêuÅÑ}qîw­Ip¥ž16Œ8.®&‘+'§ºv/™ydßán½À§’ÿ>Uaù™póqS‚lâ óK8‹b“'ÉcºÒïBNHvÇqÿ»ÕRŒuj±«Œuô¾,œ´°ƒ˜¶øwµQð+üЀçµÉLy„¤àSc„jÀ÷í&(–ÚÔçnÃ}öŠ¥;Þ¼­Ô[óå×ή.31–9óNÜ/î"A„n\XÚ­ *ðfãóX°éOF=áaâ¤oNï@tž×êtÑÝoüÙöf/9¬H¬ úÒX|rïþ^ AŒ±i'sÊh¦Û[Üë s0)å‹|"7j*w’xñœ1 ªXÞ*Í•dõÑô*Ôb»2¸w3-ÚØ‡šÞF£¾°B¿—ýËõñšËæì¥2aD<Þ•é*/J_מ¸’|‘–J)4ÆHZ®ÏgÄí¨jsÿV¸¾ `;E öÔnµ/HºdÒ'~Y„躈>FèN¸c õ=¸wlÓ„»&„‘š&ì£ß× Œy@Øñ Pëcìôy¸&ªXõoSDo9)q²t <ºßåñ(5–» >ð4p(<“|Zw‚ëÜÁBzG‘‰\û$ã ~Q!¿#>p |s ß‘œ9ýÚ5pŸ‚3" X›/ý4†ÌßÀŽ‹0"‰× :Xgþ n˜Ñ|“FZVèÛ§5–Æ4[²cʲi< ·zþõG‚5|é·¬àJ¹=ª…;.Ôš°°ü^,›òžãoó‹ùAy,*¼ìm¶$ZãY-2+¹{ t\ð1Æé6.ð7ÀJ&¹j‰x?RNW˜쇉8è]är¤²ó9D‘N@‰…‘•rÍ0¤¼W{úè•¡Éœ}<=kYXu¡¢ê¦rXm—äoš“|u\~„ô8ÚÞúÍaF› öÙŸŸÅËlãtF®J‡ÿîcr„HgZòF‘ÅÀv…ô̸דžúÙHµ~~—laè…ƒ¼ø¯íÝ,lKðXß-•UÂ|"ÓÜ&––çŸÊ$!P5·Æ„Â@ãCÆáÑ?œ<Öê‰ßŸøÇö)§ga†t}tDO>Qµ¢èo–>inh ›üÐyŸ­éTÓ{X&„Þ|ý¥Û¯ËÔî鉰¤§m{Q’*óœˆ5'Á*k F$G$4Ää#6{¼±I¡©Û¸´¢‚ùÞkÂìž[¢ŸW“•MÄðÁfoݽdíY¦j×Ç%pÓ{ŽïéÉ‘Ô=€«LA ™g§Â-6»z{ŠpV@ÖhŸuŸ´á£d‡HÄâ^6±•3šÉØ’nl6)à”g¯kÛ&“ú´+f£ýn?Z`׫¹áqüá~U°1 +6L®üýwؾX›²hQaF×Q¬ÆMŸ¶‹ÌÊ„q/òP;áâf½ú%/Óžœ$Í®jM1;ƒ Ç6è" ¿¬tG°þ /šßp0ž^|`¹îµýR‰i˜¬ŠÔ/3X„-Áë°dÆ3f%o¿KRò-0Bv'-x-–í–¯‰% ´¤òJw7Z©º_G˜s[þ@oª;™`ƒ‰$þÂ+äøòƧýB³ ‹ \’¢XÆ¢{ñøÑÙÉ2Æ¿ sÇs>µžzš Œh±ÒM_ì4fRÞ–ˆàdôM½ö„Ò^þ™r‡iE)!50dçÀË£iõ êÑn/#@o¬²o1‡ÊþTÒZd©y´ï7yç— ´ºùP|>µú °«]=¶ö¦ÉO±7r¢ö§AŠ(š¨©MÍò¢i~§AP9ë®_Œ4÷ñ›ÔÊÑj¿´Gú'‡»I£¬ýÛø—™ýÕ¿·÷žªb¼Ò˜â?k¿ºiN@Ë7ýy²aÿÈÌÃ¥D¸TÛÐNws÷ @b µ7÷ˆ•NÉ6œ]ƒ·›[¹nXŒ±¤Y‚7_j ßB[^Ÿ§…°Ú矩OgîèBu²ì;Ô~•Q^›]yÖØÚýH×á´©Îü¼œ7ȶ‚Si¨…b¯ufè`_“zؤ´*Í0–Zckù|‡Ч`õ7uqru¼lÄmE î÷KÉ´!{'Iö‰C;ìªIlîB€paæÀD÷PÙ±S|üc˜ÓÌ¿#ôŤªýƒÆ¿ºÈAÕÚÒãépÏ5BÁ›s9”¯Rñž‘Õ}ŽÅ(”? íñ©·?ƒ]4ê-_À¯Ež Ù®ÐÔƒßùØ;3 gÿ£‚£dI ~;™›‹'ð»˜ñÅÆç¹|9‰—= ˜k[ôÌú›Etù¥•<- (%z67´cf4g#Œ¼8qìÊõ™KbGaؾÝ»…°*?d9¥:ð™C~y¬R3E»v³ä~ç„Ù%&ÂaÅÓNé8%¡å‚b7ý®ô}+f÷ð_Û÷aTP;%®H»ã£S`ðZæÞí>ª„þ{K†Öëg&µ'Üã‡Eì~[Òó>Í«¬àÓÖž–ð.¾´C”2îü¯ñ¯¢hL¡·ÀbÕ¹ÐöC­ÌJôMíIW´hJo€âÐÕÒžO±Øœµ¤n¡0ß ¶ Üž>Ï®GÈ$U^“ø´:LÓ€p Ü™ä¤7ɾ³púD}S¸z>ï ­+GµýRØ/ë/¨48¤óêxX!jèÈ–½rx>7ÎφÍdÖ_‡åFè$8Âuã0f̵R)>«3†—¸•XÀÞåÉ,ÿã '£‰læèº¿Û-Ô)Q[LÞÔ4õ¼ 8_‹*o÷öò½!›w ^ˆoDzE0Lˆ%•Y’/ª:½Îe¦*~‹·îš…šÜ0%F¹S1×”e³ ¦ýè´íFšÉË“ÎMÜŒx]ê÷L¦c¹éIÐ|@í”ùÌO+|-І!ì¤D€ 8„È0ù;ªâ61ï¿^ž6-au {Ä÷¨É-_ô­#QT¡ƒrTw¶èvÃŽ#¤ šÓjÔÀl$áf²˜†Me=ljˆO¢ì(i0[±¿¥…ñ€¯ÌM´•Ò3èyÖÍÝ‹°q¶çKÑsLáVßÊç°b ̸6oÉ|ƒT¬–_“îܽD8ø–Dåš—ºÄt~¢Ô½ `ôx ¬÷ú9ÜÒxù0ieIä,’ïÔsÊ3¢TXfª€¦¯X–¼±1ž”w#} ¬,€òß=u†V;ýð´råˆqp–ü§j4Áí{Àí¼áÐÝqž(1dNQÑÍÍ„®P`Ì&ÞL°ª˜ÞÖ/ö%·¬lÇÜ"F’4Vœ6¸i"P‚"œÉèêÕ‹jL¾õõ°+Z‡ËIQÛ—s5^UžYôô,œ­œÚÕ ’‚æ4B©ÈcH²‹» Qm¾m^Th3DÃVƒj«?í7ú€sʤKýzÉÉtb‘°Ô ç…ÚƒhA€öòé;®Çu)Ýêf²^ÜöÖŸúq æ Î[}«a¡3ëvF4Ì%§wF™å *mcWù¹j±A…ç"JÀêêÉ5=ÁOå&íÞà©_+­¹8íÊ8”#ô„¼E1çЯ-\Ê6¦Ví‡WkónU%^¥›ZτɷÌX¦’»3a…稦ïÎëîîó;þ…jQÎË¡ËèhùiîÁ3AD™0Ô#w4E"§Ã%÷Ò  Øä)¹—}ÙÄÛòÅsº¥ø{·¾T8]5©n; ¨ñêy ”-4ÚÆ É(! ‰ñƒùA†!¥*ÜLçs‚›Sïs6·yΧÂ5”iÚîÃRÊ[´>Ð?sbäJ¶ŠôBcÍ´Ú°¿ÿÌÆèU™óR‰©šò›´-í¸ ä¿â;¯pˆ3£s¢ü°Ý¬NçéLËW„ç0áUý+¾Ö n˜)®Ýæ[›8¦Ë]:ÑÌø÷ƒll*‹“jÌ~o²`Ê)F†òþàºAù:ü¦ ÚEG¡þµ¯ã(°îÞ gô¶Ò«kQ€Ù ¼ØíÈY“[¤ýà CêQ` Áó6 *ÃVsR<*@ŒÕárƒµ|ös*®Jmã°Ÿ¡!±qUóô13(µ±¥S=Ê_Fv]~öŠ;ÍÅ®s¸Ã~Tå¤6i`Ì÷Xa 7õQ0Ÿ¹è©„€máž!ÍV¥R†…eaÒ ôŽ~?É!™­¸ =."t£·§:N•žI©Ë1;ZX%×FŠäGƒÙÖn~¬y+Ç[ËÁ‹ &À¬ÿFF_ÚŒ³`Îþ¬ãY$?pnFЍ-òM–¶Ÿéœ¦þEñƒnžbnT¥.oH…Ö‡Z[´Ä)DðYAu™– ×òû ,Èõ„™×&Ëm%b UÖD¿°QÆ}2£ú®½Ý†>Æ&a[]µã döãEû¨Ü¹ëÎ6#ÒFGV„¦ Fk]ñqTãt8“ôÙÐy…g×Lì©ó ‘üz.a/÷VDËà{¼Ä1c¶¦,´¶M[çû þßå:ÃâG…N<¦+ž¾ *åKCÆÊ¿ÒZ‰‚ÔS;™â(´ M|ļŠz”Í#*ÇD¾Ÿ"óçâ™ñHP—R¿‡{¬QÉè`çÉ zún±lo¢ Pšl=R£¨Í û׎õKï`”(ýdü°&v3& ̱65‘ÑCkš©ùª£>^ØÖ_—¤ ú_› —ócj­²A#a;3¬›“*a"XòAýÎ5W$Žì4ޤ~Õ‰à|û³”ÂÃÍQfÚ¸ €U˜rÎ(ªrÓy{ã\P°*Ôÿ‘–Ýà_깄tw…Žö4G Òo¸žB 3ÑEiÿ¦P¡G€Š“#–w‰¬eñàZ§;HÄï›fN_3$ÁÈKõ_T%?^øÇŸÝÑÓkZ—9X¤­fRüoô¤’Õ<½Òc¯ÿF­œàÖ7ˆè",͇¨Å×"ˆýÓ]?ïé€J3˧Só´¶›£MEõÝ»á³à‘ø|Úòå:KÒ´ ò¦’¸åÞ5=’éAÍ.Ô9äºINÐ>±ª3KRgCc[FígF[¨,ñzQÚeÂ0Š)ékZíùN¶ÊõG6“nÉZ Fª®‰KRöú•†È'»V¿+uQõ¸MÆCCˆHÓï8‚ G‹¸<˜!€;Sõª"Î-Ùù—¹†=ëòtâ‘·ðïÒ$å ’þ¡4ï]Ôóq€q£#ãUÚŒ÷(êe(yDÔ9òðñl7&‚cƒ¸µ­¼2èËèìxì®):‚„ñka ÕOiq…Žè&gí|`ù„P:Ô!vªzIÅP±¶±mmÞsCWý]®‰{ô–¤Åޏ± žø3ßø!Ô†ZctµPÀwEC¿§¦àwÿæin'¥”ÓŠSS®Ußaˆ×}»CXeØ ')«ãÖç×:É!I„ùóáJ™F±ï´`×½„™îRU[~^NÑR G{ÃéENMŠ$×=‰½:YqÑ®µäré-n¨}cžÕE’›“M4—ÀA·‚3­ÞÏD4VøÏ²wí|F•ÙDËîemcÂ@¥"â‡ÚÕÑ1Òñ ¡mô=¹&´áf‚êå…"—´ æBŽÑwn¸Èà5㪌h“Ahù¿Gså`Ðo3‰ á Ó0ufü-”?™ÿ÷!b…9Ù®·ŒV:ßÎNþ« !—”ÿ¾yèŽQï÷p‡F&~fA0)°ØØû9×ß¿Xõ뇕!K‘{[“C¥÷ÝÞL¤©¸á©¨6Ò¶)l½$µÝºn¢` ЀüÙŸ|· ʹÒ$„†—|®È?7OA¡¶*jX@ân€½ÁÝ1eWë×û…àtCI(SÓ–Öß¾wD})óêKûï 3§R¾Ñ²Ç¹¼“u9¥ ê¯#b% °GX&÷ý_ýæ%üاðµR¸AƒÏºŸÂÈÉ3ªÇë¨ç²cœõáfð¤ˆ,ôüÏ&ø9ݪÐèBF•1†ô‰6ÈO™«¥X0ë*©#„gÓ³R1b±ª—aý#â¢=|èz?³ï¹3¿CÜ}ôÖÖèïüÂF˜~J82”½ëØ5ZeË¡„ì€6î’Þ_T—M-ê=°Å¯cÞše˜”G+ÇÄpùÖ‘ååÌùú…+ºæ²®S(c|76S€Î˜?'Ù×0£d`Fú/%o’¨hr‚ Ó‡ ‘{ã\¹_»å3ÎFÆ€LeˆùOþû_¸zª7óbѤ­¯i×ö·!zß—‡ËZ#Òý¼<åT–H o0ô­@Uœ•ɪ v׫m²‰aÕ¸~b¡ƒ`ùR}GZõ›*cƒŠ¬¡T¸sß¿4¨ ùãκ2܉:r f',â~•±ݻpÉÌeì´Üó¶ûsdÂ{êõ¦Ûæ2RСZ‹U9k©´/ÿøplìBªŽ`žZ…ÎDÜÈá÷sÊiðR;òÏP=½ÛgÄÊuv±»ËaÞ«0‚Eóú‡çÍ+Ž4ø,\Ú¦¦ãå^ãqòsúWÕVûÇ'[LÆg½ÂÉ‚­ú>¢ä: »³òãÏA²®=Xsmo‹2—m‡wg×Jy_„1ücEpÕER´Æn°/íNù`R]㓮ׇ :Á,  }¡p­e§œ,ìdæÁ3üÂ2ÞÇE¢¢’³ä<ž]p¾€¦–ñ˸òêH,S±µ»gdô7ÞÚ¯ f=î¶ZS㨗;þOši¨"Õ‰¯5ƒÖ¹·ºã³Y1Q|í¤ØÖÐ;'9BRlŸ–;ç ªºÛEðÞ+ƒù6æòìêyµþ]¯È ý\æ«(†QÄ¿j»®ê?å;“À|íyÎÆ¸¥¥Ë«7BœÅÊž ö‘¥é”¾S3biÔÁÅw"¿Iþâ^h.9×gçJ(7sÜo'+W:××Ï• ÖhV ÒÞÿ«Ž7*5åF’ö •h™Åä-’å’›ø_IÊÄôa×'»ÕêÙ“ç_ó¡Ý>‰Ûi¨Ì@k׿ K³rB/2ÇóÌö u…ø©d$ÿcÞ£ù†Í™*+‰œu>ÈÈަ´Ñh¡Û¿OÅêºLäI-”VjçËŒaÎöÖØYzb»(kÁÉ` á |`¡øçKt‹ý(ƒ*yˆúdžƒMÿF4ç/X„?,žS ždJ–í§\ÊÖÏS¼;4@3lµé'elƒoèoz×Ü£kRµ4Me=ŠZóI‹%Á‚ë¦ÚÑ>™pWQ„ô¦-“Œ¢wT%¥úÕGî±ÿðJÓÈ`õÔAêÌQ¦0¬4…¦þTìüÇš kŠÒ°hä“Þ×.áŽSäŸEQ[÷bnðÑ Öç)12øø-oûËP"o?1VÔa±4Ü,¹7‰êr<è]MÌ¢G•$ÝØÐ¨!îBÁ½RêÓÓ…t­*X>‹Û£v‚´<õýF5JŠi€EÊX„°·¦L'äVÌzŸO“/ÄÅ2ÔŠÇzÓV†ïç‡âI\/qÔ(¢´U´!Ÿ`8ìªPøüŸ¡…RºÆ:Ÿ ¤…}5/%7ŽI/¶Y b€1\ÛÓ0(ÿÍ&‰KM½7 zhø,#ˆž‰LdôNˆÁKà­0Ñüö2÷\‰©`—Æ“âËôq÷0;ª¥óv¯$×4j¼¡áïv‚’?Ü…Ô0oäß‚ ®ÒmHP¶=/ûøÑ·UÊ’TCÜíú,²áÈ)V¤Òíù@!´ðI¡T(ùÕž-„3OH“³ü (þÜV z™7šðÞ¨T I[öúw÷p0ö´úÕ-DGÖy¼înŽ\AuEMèðÁýsAÔ´ü™l{±´95dÃ=ss0@‘½Õ-3_Éׂe¶©(Ö¨/†œ9}K·üqÂ÷ß;W¨êðþÅK–ð>˽m2Œƒl™®œßÆžuœpUx[ÀUz&Q0WËgñ2io¥8#ªÙXu˜ƒ{PnåRTÁ2`KäAtœ‡zìÁyõbœÜ ãÅÁì0bòÆ–à•úçŠo—âÌ}n~nñ¿²;j·*[}øãÛ ˆü42 ;Õ‹Àa‡ô·©îv1<`8¢ ¿vî¡eÝG>AúûÎñkVè½ûÍpŒ›ëL_ ¼W~Ó˜àzÄñÄ,0g°%|ƒôð¢vóÿ:(Š¿ü›h ëDZKdåØj D ¹Œ\AØ'`ó ‘¼eTõÈË­žXGunzŸPÇy:ªE1Tñû^J©Ã| ŽÉÈh `>\UËŠä†Á¬$é©3ââÏèx±¢ÊJ©nÂ>:•£>â1\ ¢gŽXšÄQHBØpQŽà^­{h½l]ž ”ƒ¿ûõ½W,ú³2kê[B¯ÆÃK§zŹïŒ,}_|©•­ýüíVÉuë¦>c!L‰Ÿ°×𑉅e¼èt9…ñ?idLî‰Vñ(³yµà!ýÏJ€Gëö&íP—ª¦SÙo}ïq"<$FÇf¿É• Kù„¹ÿæi%híjK\4Ì®ñxQá'²ÇÓë%¡ñÀ‘´Cb ÃΪÉÑf(.‡–cလ+äiÆ;ý¬Yñø6äÑ>õ/jZî[fñ¼oɯ¨¾´8ØJ8”}É84›‘½A,ô—^ލ„¸"Ã#"j:ŽøD G^6ù®îZ­1y>ø|z¨|ÿG °P-”}‰Ìø>~m°*gºq#šO²<Á³c³HÐ$¬A£Èæa×4½Y€ÃоÿZvC ¶ò“[‡GÅ#ã·â=‹±8ušoábÞ‰ÊìI;VÅíÈ©šo±ê•‹¨à“Å Þ ÌÔ˜2he€úE~ù–ú,ncú$DMH62í…Q•Üw›o‚‡~Ðì«”ëŽ;o”(eƒ4ƒ¡’%±‰Z´BŒ{j9ñ}¥ñ"E­?®](›½Š&ü‹kPÁ¨¨nyªúªyÌœ”. ˆÚP\“?4æiŸj£Ë—¶Ï°Ò10&]=„_"AHë¾8ÂD?½\Š]c&!î÷ ¹y¶äÂœŽ¥ Ô!K®ØMcR)DëØ€ºˆ¤ô†&¡b`É}É>‹Tˆ‘ÿª%'Øå„øÛûFÀ¾< 4•ê…ýX¨±k©Ñ·0xT­\³Z9¹ï`þ3´Ù_‡Ú6´ÂFüû›1yË©º²¼~S—,-DîwE”hQš—Ù'@©¾b±”’ˆS0ÆWŠ,žàß&•-I uâÚ›åXx¡ïÁ1ûãóxüÕ^ •Êþ¬å¾IÙùû³ˆšI^>{3Q‡ ½v…TÜu \áHN»@ö&&—Þ» ©U š“r‘Cä{„ }Y«èŽôÚ4 ;ã.ÒûëG»¶¤9u•‹e„x”[ú é#2ò£[–½oÉÍv¹É_q“}æ³¢šAm %´HË·¹Os`̹nRN9¥ø)‹3u‰–y]yð ð5E%ÙñŠûüNq£ð`ËeJüe”yŽÞ,ÊV½Å qš‘1%VøñߢK»àºwÊÁœPÅiˆ¶úİ·`em'—üØ}X«€Ò±,dlžó#BÐÉ·¦ªm‡ÔéÞßYÓÖ’Ó¿6€Ë„­åûçC’á“ìÎGKœ7UÕÓ]mÁÿôh‚ª ”Îzð6 ŒÒ–ô©(èÙ²#‘d#ôòR@ûŽXJÍ@ñ™–zg°¨ØìéàRðÁ3oÚõâgä'–ü&cӀȄÙQiV6õôâß9ynÙ]ƺgZyB‡ ˜À¢ÛJVg>0£´uœ™SV£8€±Æ³v`L‡ž‚Ì„ûŒÞœÄÜa6PÈík­rLÒo·¨"´aíHÈc%ÿx±2S0…i{cÇÔ¨»†¬îë•¥O'#Zx¢áò —ÀÇŽ‡Gg4XÇ-ýU±|càg\»Á!?åÍÏØ]Ô3ÜÒÖY¨R)­–SŠ­ô¥Cޤ¶Ø-‰»¿Cê…Þþc±`få“yýœ%”+ ?Âw'n^å½ÿ7˜FÚCB7Ùú,5%=NRÆq,É_ÉOCA^`D;ÕDCN¶{l®Ée™ `ãP&í†ÍcÙ­HH²¤æy×oxÂ5ßVñð¯e|bý7 ü ›…Ä'¸à°™™ùo¼ýtÏ€i+1k­Â²oœx¯Óðª5*R4š,þÁ¡mˆz%Ÿ»!™¦D(õd²ŽBwý5ÈýÉz7€¦%ÀÖ„êñ·È§UïÀ$³ˆŽ±R¹x„17¯Ð*ö32¹‘ ¸£ d&z7ÿ4d²*ö²›à)QeýËšjêy¨iÌ?Öù*ÕÎ^(+ã4@s…_-µß³×>ÜXlÕfK$PhIY y¦\Æ3[ ã™Ç3A`[ |¯ŠÁ:kWb"÷!K¹.Ѻë}Yu&ylÐêã´py…!7&;“©ìekÝúŽarëÅÕDäˆh7Nßx¿ÂŠÔļ˜<3ÕÊeV“æ´W?øŸ5D;¶®ÛeP#ZÞ¿¨€ÐÌG»¿‰VJÀÓÅÉð†¹Ô+ +ç³ÞÊUÙÁ jÀRDL“ü‹CX³‚Œønzjó6ã-ÌàÏmÍ-óÍ¥ÚàŠ^˜YRîŒÛü”ájtuÇ6œð \b‡ÁC20ïtŠ2‘'6{·j Ôw}>æ£ÿÒ½Ö©ÑûZtðôG™òË,ô7a«Á -4ÖQ×®ôŒ²¬jæÝ3ß'%ï‚UÖ^W+¾¹UÜÁþMñ)ÔÓ|›b<ÀÖ ³°‡OT³]ŹýT{Œqf<’?µêÙA¡×ä*sí&ªŸ¤‹ÙY€'™C¡Ö\?õjåÛñIvkS¢]/¡Ÿy˜FvhªÿÜz3}¶4!²"Ç@²[AJ ú¨°PÄBPŸ¨ØW¥««tÒuÜå9Kl=¯­¾Öë¬.wÂÜ6–Y Ù:’PÍþ¶2ë7’èÆÈR2•:´ÖŒ‰ñÿ~}I‘fùÝü½5AŠª9‡fMDâÅeH8÷|3÷ÃÑ#ÅÛæo!ú/á§Rè_lS–3xžbuÎ÷uñlÂlã¼·2=sÊ´"©Ðœnùœx­0,!S²â£Cgv.‰ÿµd=fq›?}ŠWâŽ$‚¹³ "ÎË"§°¨ÅÈ%£«ø¬Ÿ)elœþL^ò“XD8»2¶i¯ѱ @„X¾j…Lgú’–X#ÛW`€´|ñ±èû4GÖ¹²ÄÇ8øbÙ3©ñiF»G;û6Óð$9¼¢)zl±¨˜ƒ8a窑#û˵ít…‰Õ"`¾‘~T%¨ˆÇëæ©üשöæª[#‹f ®)f£D¡¯{1)—;&œz†RH°Ç·vŒeƒz‹àZŶðe ý s»ºÔ÷é)pAÌbMøËºS ÑòÖ-ç>˜ÜŒÔozºjæê™^/@J+¥´š+îÀjä’,Œ|À`íqA¯­âó§úò ¾{/Fö…‹ƒiÓlu²äWÝ%öëÜ÷íJ´¸®ãZÆÏ¿¾0s>„½$wG®Åÿ–“Z:×t£n–×ý|´=¡ß¢å'÷ó ¶Iu"[J_•êäü›EËKEêÆfOÚõ…‰}E­»S";vú ø«E¾ßI³§)ORòëMv!ª£ÏQòÆ4pŸÑ-²ëdèã$% =5~³%F˜ÝQ¥§L€\@‘Ѽ®; oò<Âzž\E¡}©KûLy²ÕæÊ+ÑqÔÙöÉÓ*tOa&VaöӬׇ<eÖCA[©Í!n¼S P}i¼ßt,Þ f•ùwQ< ³O 7LXÀC¶N4H¼ªäã´By¥f¯ô~®‰Á$ÔÎ Á(.±Ž¿R•EIlÔmćÓQÀ$)ÚNB­A¸£5?ÉÉJP…¬¡V‘¦\iá.ãñ2Ò(M$3–<—ßS=)Ñ>ö$:„‚PŒ[ÓäÈ– 5P%»–Q0N9DN³^uÐy\ÇÅUO W*`æe—×Û`¹!È©ºòä¤4D„™Ç ÒÀMu¢R×óƒåäÚd„âŽægÊ™xñX²vˆÛ†Ë¹£‚äêü±Õv h(Ëçqjǧ¼`íò5ºÔqÙ‘?ëËÚC;?#ÎÑ4E²°K³¨ ¨8Â^ãªz·Šù#¶e°ÆúÑO—ºÁ妛š IZ+åcÌ;ÒA!ñz‰G’@Úäýs1”Ø#Þ|îæî{g ó„ïÉ=îÔŽÈgwÈ{b0nXMlR0Vl˶ÔÜÿûâ²°ë¡àH65õS߸ ¾›¹W<Ôò©É©ɪâй}ý&Á\<;ù•¡ñE”³È0ýQ·$¹Íˆ˜pI#ÿ©T6ÿÚ+›­Q–i•®_LcW—q3PjtbQeÊöòmLÆ2($QjH²=_ÅÓŸ"á^ˆ ¼GÒÝà~¡=ÜßäF;÷a{Xã‰nëû—Zež^tÓ9 ßlë%' ­|n3Øv_>u0Tò*Rñ¡[ ]ÂpÌ÷¾wÔ0"êßÂ>Tëû©PJˆ©Ù©gða±õ_ëã´ž‡R Dá1vᯧŸe×£jÅž5:Il:zSL(QñhXµ¢ÊÙªÕ;þ²ˆçzÿÒ™aUÑ qs†]ò¬®Ûy Š~rxLv–ÿ!íÌöП×-~Ùùöy{‡t2dŠÈÁO¼£x÷a•0;Èäìª!±ú¯AîÁ¸›ž”O<£?Íj!ëÆF‘ lÁWÜàS$³ ªàŸ+¿æ¬´sœ{^×´‹¬kËM†Få +.Ý0iIU1&éÎ[FCÍ&¤ÇûìÞÐiíª0}Ý{ÒzÍóêT.(ħÙNGG°áÈ ÷MK!è·Lyľ^WÜW&Ø<ýÆÕa3U´35/ã›1A;Ô ­!–J$År ]Ùð63ߨqÿcŸåDø]²Ñ‹øñ·©ýá®ÍØI*«£ƒ†"©@õ…ÝwsVQzÆ><»ØB5W!ýlÍ_z6ª›NÜAÌTv®®0ú×dæÕäF0Ã5‘ÏÙ(Õ†ö;Z± ¯ §sÖqÁÏè!«@HÒZ(ao ¦ë½AÆQ‚ty"ô”ª. ³¥®ëîoH»hDÀISó9©SÛDœÁ^Y&Yß`ût‘·ËW­¥­‰×°çªšÀÅÀcžrh`i®¨cØXíý?¡€›m쀠"Aò-"•’©¢qÂ:Üë…üã Ì|Ù2dIje¶vt°6‘-,Õ7öõY~× Gëcúaº»"S eòš­pÝ)øŠu™ÝuѪ^Ö?‹n‹…\D¬Â»R:¸Í‹¡•ÐÍñ†'Óœ² ²g¥+ã°à G$î[ˆÒãùâ+Ð÷êÕ<,ýÔn1ð"ªð—)úH¨dÃÇ6ÇÜÈÏUÛóURRtO5VûÑ4ãQÀ tÉ^²œŠmO“zgÐ$¸>ðr–¨ŽÐ‡Ãd×Ç”›Y„FŒí0ü–vù&_zÕ½p ·£.Nâ}æ€M‡;ûWé[Š`%|6Ç5ö¿ì-~ñ•è&Á¿fñOðIMåÞÙÌË5ÚD·§€eNñoÊÑs æð¤òÍdÖýHø`::ØÐ^Æ‚3 •h–ó˜ÎR9£Lj™î’_ìõ~ì@ƒ³°­iT¸ü-±^À&$½ßX¥šAjòø&^öY ¥3뀢à¾%¾@ªháЧ0û 8Ðÿ|V¢Óì¹ù öchpWïI¯·]¸,ó_Yž|g^9ú˽ÄõãU¢§ –`’‚½ë8鋯؛[­wåžÉ8=Y{`~ðåWÿ¨Õ×];Š“gW­dø}fØ0øé>ˆY£Ž k¿ýågÂj}m€Ã­à̇>^ñøg0„É<ÇÈÈQâ#YS’ßàä<½’ L,%ª±^6ÑwÓqi S$„ôÄeShéte ã{­p ôDY@xO£`_@œh¸HvRPPvøÒäµÒâ½-h¢ ©ðG›mEÇ‹ÓÌ‚º’d£}ùœ>ëâõ|¿ BþÑÎDvŒšbC  þ¿w6€ó\šë[V˜rtUÅgh‡ËûGಹK%8¥Æø½òGw ¦q1’Ï òû¶‚=À¨­èpèõË'À~ RËdP¨‚gð’,7è uÒÔ·£r¸ÌøÉê$õõÅMOè,+r£úXÀ¯7ÁwÕǬ¼õºXŠNKìBÞ®P?Àbúê×…¬éMìÛ›ˆŒh¦4?6Xd«9¿C9TëÏž“F¸¯CZxL¸ÏÃaÔóTô0w¢üxF3ÙćU£€MŸ@ù¯`à픜  Ø~íY(ãþm[qסá7¨œ‚ª¾Æ³'T·ÂãÅ2vzˆE»¿þ’oKE>«"yažMæHtM²!ø’aì:Iã­¡‰k ÷sK(¢“8!ÙóPf£²ÃÛ2]=Ñ‹wó,kF#¯¨ÁƒYzª>½¸9ÅðT-‘¢Ò›ª—mrE fêgɹ¹·,ô;$¸¦5cO­…7 P¹ÎÕÏNQSØæyÃýæ95›k×ëÜr¡|¾¦)g7“N^¦^P)3ô@Á~UtHªDݸl÷e5J°/ü°_-à†%aÛ „XÔ¯%Q_³½TËÛ(aßó¶¼®…Þèy·0é˜ëûÉô—½øR²ÀæÐÏü%S/—äÝØ÷ØÅ‘ö íå-¥fÚ0ÖM,E"EÑy]›¿ÚV.[ÜG)çLdÙUŸ,Žé.p G™Ñsw« !<!z¡ˆ¼S³å_yc°¼—9{„øòDËvÄ´0œ‹1åhíFãZ1„©úú°  pä*²îì`ƒÙåÉ>1r’Pü“ [G$1{°¿CÝÚ#yX:Œç¥A] ›@$‡Á.^3–7Î4 S¼Ü²c@ž;€Û[ϬìERü\o ˜èØ@ýŸÇÙ¤ÆÁÁ°ØÐ†“bUfQ*í­¸4í(¯C<˜ÂÅ‚J֒ެ[üÆ3—ãlÞÝ£ç3 +ÿvÙÐYE¾°š Ž fŒh?}ªìHz¦aΟLò‚£P»Àq\Äñ‰û§|w¤%ЍÄEÝšäìŸb£x.³p}uSë8 þ«0À‰;.suf8°KëÂ÷÷ ÔáðsÎNÈžºÒøKÁ¹tÃÒÈ·R•ÑM9²éAœnjd‰eçIóeff“®D¥ìÛÎzß0pL6÷z‘Ø €] íŸEq$|Ît—¯e{gÚ‡$¿C‹uÚ¹¥o ]zýÂ:rñ3ÍúÔ…¢€b¥;Upø`ÎF²÷؈ TýÎéoŠ í¶4O­P«øà [f—ÉႼËÞÓ«^…ƒakw Ù¸:tM Î+uù o»A`™&Èñöš=µEâ>$œ‡èß,ÏG!k­Ó×óͪ=f™e¬3n%&kÜr»\ *Z›Éª–-’Á oüP")úô#!b…èy·µ?ȤtbdŸÏuª­µ˜·«¸gò• sµÎy˜ðò -G%Ù¯6bd M?ÌÑm"•t*q/ •X\Èá¶÷ŠŒ_!«ç_q—ëªHPÿ5A€êØhÚ³`ýÝ~/cÊÁÂw¨ ½I[ã…MLn‡ˆõ  ¤xS/¶^Lû86Í¥1Æ©Crw&'¦ãîµL…Hãü†’_â[ÜHfJ~®o÷I3PçË Pa~ØkoïªÒ:Ò~% zØíÄ«ÿAbÚùÚn›”E¿—„sBšK—FË·Þoµdlyµis#›è°y·t±Ër€ÇV …Ú4æÿk—w!튙Ëá™tA£­/ïÝmÜT+‚<Á°c;®…bŽ{M®"{%uhI=3/“wÓ|ìÄx5õµÜW=z|Iíƒ"Ãò5ŸÐÕ§IñynöÁ½¿c¼ø'|Pž¨C.Gu Ÿx|óüépYsŠØL²Ä 4b'$+ŒÙ–ƒêx[Íö#dÉ‚†ÛVÑ ;ÓD£ËE¯M;Ê™ ¶x4ä÷`s¸”çBF7Õ©ón‡F‹_A¥ö-¾¥øpNð÷@¦ýÆûyýRÆãÕHµá!Yœ·CÐÑE7Öᇳ‰ÜÖ¯g › À]HðMÓ” y9¨ïÃJ¹ß/rEaB4S“ Ÿu,‰gÙYÁøº%m ˆìÜN7G”£Zù*µ¾R4´”'\-n ?YÞ˯NÊä *1‡ÆIdô]^ø´Å#b‡ RòòZüy~ˆÔF/Õâ€EJ¤ÿ‰ÏÀçá»Þ‹vËc7â!¿–èº\iŠ£T>e¼¥Ì‚÷œ‹à½ªëcQÂÙRí ÔÅy/ð$Ëú3ðîg&UJá²]¿ÿÇ‹Ît3ˆ  ;SÆϨï7cR<æç!yšs¶ì?…˜h>e 'SÜPàéô"ÛQÎù2îõ‘$7ªÖ#t³ã-DúÅ ´ÜD¿f<ôJ9ÿÚÞˆµÑä«Ôc¿rpàsé T É̵•Qò/å©á³nðæsÃÆÀþ¾0Î}¨¬hYC²Bq‡C*j¬¯vøšçãpªt,’ºýRS!T\_Ü(Æ–QsíµŸæÑ^‡#€òɽÌoõÖsâÚðë z誫#ñì…d–#]«UÛîw&ç,J ŒøA@x`2h¼4ðXH¾~$Ö96X÷wÕÏ++9ÏG 6îïÎØ ­žiåØ}ËëéM“P„ÝDmÐyãõ|¼]2’ýÕhG’¶^ÇvMæhqÖÑþ÷ŸüÍ,;V éPÆp¿gk‚T©Ä^l^b§¢Ì‡ºq÷3N»W‘ÞÇæ{í‘Ùl8,Þ ˜¢ž±aõH¹»ïØ _úÀOa•§<'‡«a L÷ö™%+Ã/iê o}º´ÔÀHLäßòÎݵAtìBÝÉã¿Êi7`\Iž ÂÃ"Á{º KƼ]Î/=šK4Ó7dkó"¤kÑAuÓøx¨O¦ç^çGh·¨SĹŒÝ¼¦ÿ‘Gù#BIsyÙÑ„µû˳ŒëæFøcÝ<<åV~¾P;4Wh÷{Î~´ºyºáK[ó)~^pk/Nê¤Õ0£P·_NRÄ5 ÷ñòŸµÀ×ãv¥·ç Eärl\èÓUÝ•Ã3½ÍWQ=Ž´p7w·"L×ÈŠ±ëóNxº@ÔÍ‚ÝBÖª}Ic<ƒ ŠÑˆé°ð«7GyæŒ+ õÿë¡`H,!<à“ëzS‹‰5xÓçàûšU~>΢}ú¾Ä²/ª×§ÜÉêvzÀw»mèȃ4й™éëØÓƒ·¥vR®¼ —Ÿ´i?ž5€-!%´?‹_Õ:¿!‡¯›ƒì©Q­U˜Ðoˆ^ Õdnʾ0v´…Åìzû?q4·ÉWÚÓ^#Ï oßòÿhh NXð›'o„ïÎ- >‰Ë¨ºŽõaè1ƒ=: ¬zôÉöBÚuTœ+‚î2ï’yRжn¢$ €%Y3Ö¬À´û¹,L8ÿµ8(?œ5ËÏßT™‡¶Ùg¼\Ï-«ÖR–Iâa¦KÀê9 éˆ9§½ÛhŽCUß[4¯4 ¦s…ûhR¡Âøs9f´ùÂ^3W‹K$˜q`òÄÅðžÕÃ…±rŽLH­_¯Ìt‡bæ!qì÷K\©ìèk4§,»uÐ'TfýŸÀˆWN4B $¦1ÄÍßÍe¹uÔ`˃‹s`Ï¡l20yïÔ ¡y‡‹Â´‚S쬲e%YÄ-j4`Št¥´G²IÚ ¢øRX>qTϸn÷ä´RD-á“/:ÞšÿÂûç#3¤@©C[O½d«oyíÚÑ7B‘„šŠÐÛfÌr–w0û3G¾«É:P2û<õö>î¥?ÊàHƒÎšyr†ºƒá‰]°Ï,”> w¢P9~”Y -Ò"i}´¦Û¡Ü¹“ˆ ¾JÕ, ŽlHvœî+uËÐ.öõγ ᵓóbÙ9¤¸j:ÀŒG4 \z²½«;ÞTº0ë%&Ûî…ò!µnd¯‹êÂÔê asNØNV‡ªsÖo‘«—˜tšó eT#äáïQÈo $I>áë"]tžRÈ5'²µ|‹•ÔqRÖ¦uƇ òSôuŒ~Å< '¢_Ëþ¾D &ùs:&¶ºàŸãß¶[qšã ÕÑpÇÀ¼ˆv`aìgQ0³­}“¨gx#½âä™´ü)$æq\£^ÌÞàn;â'&·ÿÜ‘öùðÔhI‹5&Á¢}çq`å &ݤZèÛ”®Í[«­m$ hɈäj0BôÁÚÌ,O¿6J»ØKG¸& ˆÜÌ»\ì.'…bÌEã÷ý(³c½ý®UÑS’FÊÛ‡2AcÐà#ÓÖ¦öƒ’0"Tb9%îY‡x¯ôÃå•– qv_¥¢MδҊ¤ :4™Y faé©y×ìeŽûéO‹üé€ÏLAi‰ñ¹½)áY±kxµà‰üc:ò¢ÎfYx÷gÁNsãæ}+D7dÃËà¾5‚X&™Ü°‚©ä`¼‰®nõÑfô9;ÚnÚ@“š_z4?Ö¶Ó;‘fË +Ô?nÝ€l©~­<(Õ/¥%D]Qù×{òS&BªmU[¢2HoÿI½tAB)|ã ¦?|>ÿè #®|ðâöÒnj9«z¬Ë®ìtÑ>²VYì4wµ$%”ˆcAA+B>9?àQÌx=ÔA$3>q&oªîúÁ¥Åÿ·!Ò©’*ë!*ÿWì‡7ࡽ[btô¤3êÕ´ …ç6Tó³Z˜¶+Ëà“çx8ìe+ÎɶËâ{©úÙë©õ&[‘lÈ$ÅÛKæý‚r[ŠÖ²¦Ã¤ ˜ü»‹m\0[DŒYm¼s»ÖÔðܯJ8,PÝÁßSK÷Jã·ð Ø_’v¾"ýÓË•ŒI€ÅnèOt@礦K?üã FYD#Wæz—›9ÊÌnZ=ÊAf~l6ºÞF®¯…?³²¹1 œ1¹Ì5Àñ0û@ë#êü¸ü)Bx°_šV­8Œù¼À¢C¹/ÀÈ ”åÁ(O‘û@5s݇*Û$œïÔxj²ÏþBÚf+¶¡“¯ ©χ¾%‘Ës‰nd®1˜Ó Òáó†ì¢&OÇ· Á:,MÏ„\sK’¬;Ô@ëܺóÜ^ R²YÃNÙWûâ£wê!Ò²¶rr†Ð*ðiáû³f¬@JÂN¥év!´6_T<Þ.pÑ~Z=Ü•5°0”Τ ý4yWµÏNI='ñ%Lšñ8ß–Y‰ÅÌ£Hî¸BÛ]âá çJŠ™ÓrÛXŒ*ïIê[ —£$ù.+´#C®×Ê.j‘.8Æ6÷I!»Ö\² ¼] p¤’w÷tŽ(éXQ\dKa¯[vw÷%I‘¿?™ðG( RñcÆë¥ibl|ƒÛ+ךИº3æ•YÑæâ ßʉÊ%|¶ólªa¯œã—uÊý2:-WeD71é0°€ž] ý«š±œr#<œ üܸ âWÄ\b=¶þŸV³Í›Š](™!ž—4ï1¿§9ìtã%;&˜1&Dè3Lê5¸˜”2ü‰*÷ö{šÒW°—,_$¶Ê»Çg-e.YwpAA°åÿœs©s—ù{ˆ}öñ›FjßFÇê§µŽ è¢0ÆÓDÅ ÓþÇN ¿³ÉŌ֪…ï0—Ðd+Ï(Ë`¡i6é«ÿ[¨®‰6àÈôiZ·^ ù¯kKŒùÀê£~Å>×ÇãÝ\bJçtY¸Å½¯ÎhU« N ·¥îtàù .Ø ®Î’û0—é}µÜ`)&ö¬~–íZà® ãj+àHPçõÙãèl n^ÕêôK9a$È‚(ážã# *ǯCvµ‰ÀÓ2òדHSíÚSÝ:å•x~Ô ½âÞxX÷O½ÉfGœü„ð uäŽlÚü‹iŽRÙ÷qu:Wò\ÖGmÉü¤¶mNouÍkÝ»E¦Í™5 þE·´cŸw ~ôœ- Üwg¶¸Â;È®XiRÆŒñ™hûã -Ès›½ªuP¡¾‚jTjû?+‡ÞJ¡ÁE*þpÃp1ò#t-þ²¸Y ð„1°?sù Û:¬Ø¸ŠI,ìt™‹h¨±Ä¾#zãT÷ˆŠ·p@h&Z_U{&ºº×úãE?÷ÞADB­ƒxô]$kÝ¡mzË–b=ÜlpâÔØ÷ç°l"ÌjS»ÜüCïc(ó¤°% 'jÛwÜj-7.„Z†–¸4¨PŠw„>)­ènÜœ´GëA´¯éU2D±-:Çøò†€Ñ_nIªÏ-ê6s]õ‹õ­œˆayìœË=±æ'nÚ‘ýå¾Êä(ƒcœÀ3;úp))ߊ\ÎjÔU†»·†¯‘²üê“( ïHydÈþ!Šù<‰”cŸ»ïÈ´Þ >0dþó;Ë“ÿƒ|×ú{8T&; »[¯BKÀ¾=2ÆVêHɼ桾†7|@5 mC„÷‹˜9Êù‰Ë kîF¤Êõ¤<;·ÑzeŒ­YM#ŸÚBæ)sµ.ÏP÷YWXÉÊ…h§ž|cPa‚Óµf{íñ¸«ƒhÖJ ׺T‚lçbÑ.†Ÿ ï¬4—IÉo©ó”»ÓMéú…o@Êí﵋ \Q¯ ›ë±L¶êò¼3Gè#ößs˲٠ƕ_Äœ¤¯¦˜e½Ñ™ŒÇ—w‡LëÂ&šÉ¤æE VLŽ|æé™üìV#=´úÀ¹ÜÞÞ”h`ºÕæ:k<Ï=ǽ!@×—ªšU;qÉÄ¡·õ¶ÙWí‚)·ÊdHI£š‡†{9ÅEu™Ì)âc·vˆÇ›]?þ¨íF˜PLÄëÞÒQ§ „Ið+7¦s˜pj0Þm¸’Rñµ ©¤ ê=]ñš×¡„mªÚu¹M²1~R1ÛÿÀqÄjI: Y@Ô·¸êë™û»¦¡-±ãp/ÓÉÚÎ//"qøù/ì¢xc%E™Ÿ/Ay¦V‚G0†"RcYÊ Þý&BˆÎ'Ôç_*i_˱¥ÛB9ÍP§fOµ2Z Áœ9‡£n's-¼:ñv§YH7l°aEyˆ}ÀMºäˆ—é4£ûRN°ÎËHÓÐ1Ù–¼#¦•jûNå,Q,¸9ãAvÄø,I†$ïT{”aØç0áçé•JÕ¢R'âØuXÛ½Ñ65õ (n™6KYùJûÓµ‰ÉΤ Ö•LŽ~°³•*^u_ugvÓÉ€ziþ3¡p%ö±ÝÈUÎm¥;YÆeTÀ¼„«F¸ÌûãÌy+”! 5®~€=Eô†‚‰B×–eäŽÝÀ#A¹r•Á¬.åþÚ¿;þÅÇktƒ9“Õã¥?%ø¢>м½ù;¢Ñìì*†úË;ìç’Ù^yHŒí„s{8Õ•n%÷Jç;-è4Y¼D%´~mÉOñan\††&±Hˆ¨JÊŽW)Ðîï¶œhCOâ—}U+LTáWÏ äÛ©_uGeèÐ'r±R’`Íæ/‰ž> £òž"ºï–pçëòºÜ³7UX]-î-¶ÿ+5ÿ}gçghcmVc½K¬Ãø»–ÑSÌI®iuˆ”L é±ãæ'¢V2Ò €Ñ2ʈRÑ“>I\Yê/žlãe¹Vƒ£MÀf+ëØ‰­r*ýãÊfc:ë~™ŸF”›ìS ÿåAuûôœåh©e°w+¤ RÖD¥ûE*œRcֵğ¤´rJ©d:+¤ËƒàÛ8,xlåøžI‰ä%S\8Õç¹Ø[Ç”L¸¤íâÓ課Iùå„òøª¤!ðÒ~ªßØÄÿÛ5U0òÍ%jhsXCUÌ@͵‹_º©Ž,; ðˆ ƒùÝåq?°–:y äÍØ P¶Ä/*ÌYqy= ÷%í]Q<.W#Ctð&¿¢›[ ¾ß™*â¸tâòx” ‡€Î®g™soŸÕT8Clɲ¨`‰ØUÕŽÙåpþ°Œ†³ð$F’M˃õÖY]ž ,ùðo0l…¨/hlcÔ74o¦•öî뻨< Uä$îB ݱЈá¹#ᅉ岻äìˆc»™€Rñ-rúð²}}¸“Š¢0¡ËfTÊ–{`©+.åßv<–?³’÷cõ §ùF0ÈÓ¢Žm9§P'k…3nzÍñlHÚ'ØI?P©2Ý kÎFã‘í‚àD¦lazP¨°x“K¦µ¸^ïçˆQÈÿá ߎi(rô¶Pð}£ÌMé»óǸ¯Ô(T«†sc3ž(³ú2^‰j^Óþá/JNGY lvùÝh1²«Lïp3 %QÝ%ð@Tåb‹1Ì{˜K¥âT]„B“Ρ §Ï[&©ý‘ 0ÇMvöœ*ÀÿÜœ€ÿBzK,ð!éöÏ4èÜ‹k†óûL3Øá£Uë˜)8ß¡ø…£ùÝÌ:¶ÜÈY>â•y¿y,Ä.©ñF`óƒálÐ;–³Öür ÞS‡?‡ˆí*ã¨Ì‡ð†7£²š) šÑ8q +^`Ãǃr H“[j T{È‚çpØ…w=&Λ§;׬˜MJcãö-žYšŽaS¶É©bþ6âãÐ.ÓAŸË3™PZ5ucØgiì}¯Ym)±0£” ŠÈh º““ì^ü79K¤‚hLÓÐMƒ^”ϪÃ8XúúŸ¥·1|ÅÈ# íðùàÞG"ýPæÇ^âÂãF¡‚ÉÏ<~B=‘”Û ÌœcÈ²Ž­(D©ê¦t„Ê%À3½š™ZëNÅäà[\XÔйçÙµo£òP¡ ‡:&›æDÈAàu°ULt ½áÄú4ˆIHBøÁžý`¨^A%N­J3Ëš›J!ù¹¤ؘ24ÄÞþ¦6^¼nMI×ìZ22rjqwn+÷Aü¨ÏØI°®3,tkl;ºeâ ±1ŒkÍÅkN´Š¢àêˆ>¬jhp5éÓxŽ•v´¤ÅÈQ­ºJ¯áéL/Mª[¸ì±ç5‚-b«úF´e™ ‡›äO¡.s -‡A;_øeù(ØÜ0|;…TóÀçW=rÒOªù©…*}%šÅçÒ>–a²´ÊLEüKÈh)íqåÁïT/äæ„œÆMpíW+šk~l$òcö¤„þþŒCoµ½ þª-9ñðͤ0_HÑ ©æÂpIÈ.JdAÝ‘yÑ÷¸²•¿DزÞù‘¦œ÷>Ý5=̲µíây¤‚Ûšl@¤QwZ¨óÆÕÄÚ5=H$ذ'=K²U7vg¬(+M¤{¡±JÏRÛxÇ—ÓålYPÞ¶š±û²…†Óíw¸ÚÄÅÐðÎ×Öcƒ ܺР(æ$5C'àÔAJ H9КÊÎð¼Þ]ì¬^WÃÚ̳Æô¿ª‹BØ(¤Èù“ÁÖ}Šz$hâ2ÜÃ<êA-¬; Cé«K¦®ŽÂûÞºÁž>8UÖÑTAqˆîNНÀVrÂmsmö™'ªÕ¼6ËОùt§yú{;+&‰{C‚ IÎ:K†®Ÿ¡!XÄ8h0cÕÚxN¨ÉÓ…¹ìœ†g<Ö,E¦Á7ß Ø|æq}(BžP¦=£_ÿª¢û|7C:*lc¡ƒA9ïˆHÓëosJq"*‰ªRg¼Ò‰Û>¾ÎÓÖ4i@çÆ,Obü©²¿WWgÛm‡,R”òN³RÚ,[B}×þƒÌƒp—nDø·8œI6o%¥Q$Íï7@æåu—ø3€ìN'`³›Ú:FžŽe òh­'ådSc§4ðzwRó6„°±ÂL×)Pøüšæ¬Rq`ʽ!Ò`à  dž¿ÎO§Ù Au!šk ñªÃ;Úòð¼pso»_HvŒhجtµ_uÔ]&ײfÿÇÔÿÇNl¸Ú¼˜°S^¸šm-Ée–Îh9ó”ô½‰}¼AN,m‘sºÄ˜œ}ïØCüp ŒÊ5<¼Ù7jφÿ៖bîj ý}^6Áßöcûÿ. ³(éöÂi.ÉUÐYI|‰“I}©_$S˜”bÕ2/¨Pr<"÷^é‚–Š!v³ )¾‡ZW ìªQÑe"ÚêãÎH´ù­H¿—¸¨¸O¥üä«3±z 뙾Éà®EÁµž0µ]™²'Xáó¼ä N¤ 3öÔÕ½°š,žêáÉâBšoaIÔe‡>G„B•ýÈàÝõSg^Š4¥/ëD¹9˜«%ÛòÒ¯á¡à¡&U’8:=‹ Fn -MÇ6oHJR¨ôzYÑÌ¥EqK[ô$nGú,ªA%•Š5Ë¹ÛØîè 8ˆ{Iokk¹ÖØ™f¢ ë;™%²øxZ>•šaËÏ÷ª6R(r'?ð„¢8>6+iÉŸ½›kZ[ŽvQåVì‘­ÐêGŸ´ƒ©¢0ˆ²JÜÊÒ,Õ\)´bZ$o8›Q÷,f¢ãù¡%½§W­i,CøvB‡wú,ðð gÈŸUãßYÿ¾ª 'ðòºGeKéîX}:ö'ú|hò£áÃÑüM…^^öõÍeévÝ¢ÞüÆøÔºÕÝÃW‹À¿= ŒîW]läϼƒeå¿[°íkö Ar¼ñ÷ùX·äf² ÓaI*û¹ä‹iμt½ÍçJsyðPäø¤M· jõÀ*ØÞø¯oN(ÁÛQËÕÉÝh»–—®Tñ†S’Ôí\¤Ð¥¶œÚÒG‘âRM¹iMAË ìÅ–E3Bùbp©'‹“® »¡Žâ1RχÉ|®ñDXÆØ¹YRi¥ 2‡²±—ë ¨Ÿ˜1`ËmXX2ÂiþÕ躇\•.ªé I ‹éìRÿåH ïòhQ´s÷ÌûtX¥ª+•ý?ð…ù¼¨ÔÊ"«²§åQ?…w’ÑÞ瀺Á»NîDbe^û*5*ÑŽËëöêÿÛÜ*þ!b­›Ì 3×±°œŠÛ|â6'a×>g¡ àgT@㇮ ¼WOMI†S,³˜u¦>(³§c$Yœ_ˆoá"…øÉ\pu"f$d>IØ<¾ú Lg¥ö ã¦xß>'¹u|M|­­jª9#VÿÀ€¾fÌÛ§eßMÏÒ“<ÿ–7VnEŽH G{µyÒìÿ“Ÿy¾=Xìuâs¨ï ¡su–¨© „6Ô_•õ š™—’·n*bÖnÁ‘<¸ÿÿ\)¸í¢ýVø~~Îꌯ-C–²!«?~ /Á€æz+ÒFœå®Îšpi¦åz;)°Å¸À5QÔv¬T¼ŒÎøAp(Î/Vz~‹_#5F9­=pÛ§7'­X £,l4•˜Ý7“Cræ’ÀŒ6¤&ÀrdŽÝ=q7g@]nm@ì“r aáwKã˵ªŽÁV,éyƒ-¢ˆÍäOoJÿÀCAL5:[Äi9^À˜ÉE ;Òáøe•ÕËn­x¥±uðê".2®S¨Lå<*¢y] SrI”±RQèq[WßP”øÑ¹ þá>á;ñÉ õZÍckèñ¶EªœÞ$d]ËçGâ‹°Ëz7ð`ÃT Î?‚HÉä°q/gÀì5•üC“:mR»¾èúÅ\I&GàWGrµ-/¹~‡»vÏ&¤fÔ ÷ôü¤Ü‡8F×Ãô,ë)äÀæ ê•âîïnVó#)“A¸&›Œ÷Ð`Ô×ýÖÚ :R7ÊàÕ«*Pìu+øÝ6‰è‘Û½Î÷•fpšaôòŽ jEfû„ì¤/\  Ñ^cİÆç£ ÜlF™×7Ä6^sÀä;Á ²I缨âÜÈ•i7ê`ÛË ò³ˆ o«f5§¡Ïÿ< º¢“ ²¡ƒbPehÅl@Ì4µÝÓÔðA G¢g§¸TÅÅ ú| ˆÃ1OÍìR`+V]¹#ÌâSÿ„"Õh”Ha!ÿ- ÁÐHó),ÂZ@¶a=—‚Õdorà3hHÉzÛ[ņƒ¯^µ V—ç+ CÅ-1×q&T#ÑÙ´ÁL‡:ÛvD#-Þ8u1§s®Àw˷ܘHvµ]Ù[8̾”;aªj&^c¹:QY>˜qÞô˜YÞ)‰ÖÅ>so‡ PåC +²INý |dèEèÆ`>?Þ³Ùƒ3åôjžèàh{™ôQ$>–²Â›Ã?5ù:Ì› a]eV¦,Xh"u5l¼¶oY!Ñü|­Uíñ½JÞ¢øW$woÓ9GXy€w )å„È´V†>¨k×Ú^ÑÔ¢æYçêýsðþ‡ìí(Ó2éE…FªÆŠÿS.vŠÌ'Å಼ª;jzï6™j½TÊhwé @rn[XyüžÜy¸6¢F¢h®Ò' ö,Þño7”HÂhò<¦o?Ì&_›!ÿ}ÜG¤k³B«Kû–5ÿ*teÍÍÅ5]ÁöR$0yOeŽ­€Î­pG )–) ŽÇž9òaY1‡üµžuö@•ìÆ·že lpÑ/5ëK T¹—(NˆÌ8˜ ©¯…·n›±ËnPp½«Ä_¾5^<°ßq=™¼— –Ý"—<ƒPà¦v]¡Æ|Ïpë ãAÓv远uÁ ¯f·ÆAùÊúknlýÛ)èVa8ø_Ø¿ØR0ÄCsG¥¢vI3܉%Æt•­_#ØwRÜåü¼5ƒÿŽ ø„./›Á¿¸ïß2`I Ë1ÙtÞTØx(YÂô\q.,JÊV XwR‚ý‹ž´¥ä㤚ý¯ô ÔâAš@¶ ÷3dÀ”' _¾ùó®{ÒŒƒSD—”›ÙBâú]Ä$ˆÅÈ×€áÚÿª×7ž4Ñ%WÞƒ>DTå4™™Ü É?K…´¶MŠ> Io20Aôõ좹ò ðqÜ¢VÀ8`[ •\QÔ•i°¬¨"n¢÷¹Ô œÝ²Èc˜Â—úµ0ºu1¾7_…=ãU‚»h²#ßÃM_7§c‡òt°Ié–¢ú„Õ]¨âÚ&^.OQâhC‚uòú±^~w¢#¿GóÜ.‰GúÀí"ÖÒè¯y?×j*Æ Fº-à"«ÃÕ«…ìÙñWFqõîþŸk¦"Ȉ¿PÂÛ-ª ’“¡*¨l,t_¼²uz½úì<³`‘n¨µ º2ßd< ­{¶¼O^)ã{Å¢M ÊC|ÎÝå>WMoñ?‹™$:d…Â-cçnðÖxåŒ%¢ú=fps÷ô±~³KYcÑ•æWöoë–LV·³ñãR5ý®©½ˆ‡Ìÿûˆ!_䳬«©¾@ ®„¤Wm`̶M<|@Ær”ˆ Ø1†¿[À]g7º·:á–¼¸,TŸ±¢ªÌçjÓ8aÁ¼‹ à¿,3+yJÊÖöûSÞ¥RæP¿-g?3šPл‹ê§”¨A:Rø%=T˜³<; …õÃ"=á!}ìgMÛïÚdQÝIuháŠ=á#ÞñáMCåµô… Æí8âìž—}_t Ëwò€Ômñÿ8X¼Í¸z¦1c\ù©ñ2ðfسËKa¿zÔÂ!zwµ¿ôD6ç`ÂÝŸèѳÀĨÑ5¶ÁÌxµÐ`âQ]ïJ2ÔœçõIbhR"Ó=mD;¿²‹Ò«,‰[ÌX/®~e¸9)Rìè¨ f•¾žK¢°í¦7ëdÎñÊ6¶_°ZÎ FÚª9!ØšE8v¼ûçÀ¡˜(§÷pî^?鄪ˆJ=¼3§)zV­gÒJ]xnþ.«pßb@»îHž–”%ÇÜ‘q¢g–o•œ,oëç7SÈõ)ò„ŒüÙ{Pô°Eøãì‚fqD~¿»KþðŸ a²1Ý?`?2_V™’.Ö¼I¶ƒ`S~™¶4à]·B³ât×üªÀ÷L÷júÄÈ×ÜÂ(2fäÚÒ»'TýådhVû–u뉙6}!ÄÁ‚þöwÕÛ$ÝMÑßÇ|5YЬKTxÃÛC !²´:r‡Vö¯žiZöÚekñO!Nô³òÐòìýŸb©,âÄ7aÇOÔKŽ›£íA?=KsñÎôÄ…ˆ]¾©”ÍŽn‚@9äòn¡¦L'4Å£úP®,¢ .<Ó;`Sòçé?‡ÈU¿ýÉað¶E«ØMÛl$^»f KºVÀÝfŠ¿÷ÈÜ*nšsÀ!@HÌJjíyç^©•”OLûP{â³Ì®bR®·¾ Ђ)0Žá ï¢­M$TTÙ%S$ƒà>v¶¦¾®l 0Œ#¤“zîeRZGÚ9;ù§œçÜ_‘?5~‰¦ò³i þFÛ›Gû9£>Î'µ`|QEB>œ!['P. ²}dÇp ¥‹É™ß€LŽÔL¾Âû• A5‚.MÍÕžé ƒ,Æ^TñÓ´+ôáBÿé…,Ýú§ â0†.r/Äñ,þñêèF¢wpNÕ3y“Ç«@迺Akþ³%]í~Õùi¾±RLE`ð‘ƒÌ!C„Ö: (®DÐÀéQYJ­!Œ‘‡`3¤N²º1èû—´“ ¥û¶‰awœÔâ«’c¶œf›]’œ¿2$X² }©l¬ÃÏ0ËCèw¹¥Ðòß”§ö¾õ1&Ç4…Eù¢NÒc½«N$røweqš8“?RT-,ËQL'Ê–Ë6‚梵‚Šp*V¡êso¤ƒ½·td/Xè=t~he ñÒxË€„ÌÎkmÞ—ŸÓ+Äe¨· cíG°Ñ0WCß7)u/Yžõ‰$¦G°ÑiCÖYž`$Â+¦Ÿƒ÷´`j7 p§~A£2&Åw7î×ï—„ Ê…H}%œ©:dâ,’ Mü¸ÓQ¸A¨RÂà-íppX'ó)^°×ƒçä~›EÕw¡d$lñÍW·M¿_lñõMéþ`'‚𼕩3k;„±à; jÑ»#”BJÑTeQ·”àö÷Å,zm{Ì¿µÊÅ@ú- [ç.­);!;2¼ †êK{Ú°ãÞÃöš›ÒçWUû…-àÔdL È[Hºå“ÍF8¢€;ó9ö‘'ºáQ'LJ;ÍõÇ›W&{œ—züñ¤Nëý<)¤<ƒtÙõj/’µ$æ í_еªÔÑ3]‚ö åý¼ƒ$á'ÇYA3Üö"BZ)nÄ£ö®³¬Ø?ÿ€š¸¤CLQÔV]µ’ÀWFUrh—n"7…a7Õ+sž}l讆n³$b]Ø” xj'"x’D¬ï¶ÀÂ1'T0Ó4솾smSªWÇ>…á‘Iêg-G,¹Æ[¶S!É,þ¯õ(fÝòïýí¤•H'ì9´g šš(²†“1 ÓB ‹ô,⣒x²aÔ댰ӚÓ…!ã âÔCíq³Z!ÜÒÙbýŽž\H ´ôÎÖ äüñ žèÛ©=d HjÀK¹õ™rO%ž”‚FUêåè ›n½/̶T7ÒU-W–oIöæ‚B^Žc¿å¡ÏWÓÃzbAG›yÅ>–+v­æÏ_—õzÁ„IÓ6}ÛO§ù–M'ŸsxœíüZ Çh¶I°;ø>ó´†,¡H܃‡w@ÊôŒÚ`·ddC ’šÅ,o­¼Ì`$w‰º“±LÓÉr“™<ƒÜS¡N"#u×e=½€ú‰>ƒUñ,™qÇž4Žÿ²Ï/–Ý0‡«ñõ¯‡ õî·¥¤{ÁüDêîÐ|á_¯)±ΜD²¥×'íÛRãYæiwzŠâ7öþPÔý†·}Vª§é¬ƒXµX¤ŽTê ¼—¼œ.tÖ-Üub±ÉfWĆàƒH v&m;üf '†ûÝOPÉœkSPYó_U`ØE⽦¾Q)—É»3e·Ö€Þ!T¹Çì%Ä"»P®——FëÕ0U׎.¼º*ÐÙã{qÒ Ë±óèP¡wA£RÀ¾ö$é4­¸#ô~i]Ñ.1L1žZ1èÍ%Á„ô–Sʬ“¢’¼ªƒAXÙ¦hX¨·ÛS ¾ÀlN;'{ÒÚµ×(ÆÄ™A_š­›<”¢ËÉüõ jÓ9j^ùkæyçðûêoPú=0×­K>è7i•Ó@šQßÑ–¶H~Jwá*÷<$•«+2FH¾Oà’5 ûh‡‚>6`؉C)èŒ> êDÁ(­fÉÁÂeǃDOEöz‡Ý"Ø™ÞÓûC®+« ˆºÃaÿEÑßXãqÚ´WŲúæ6áwÈG³qMÚDL½#d“©%c¡:ƒj#ß°õx‚‹¤×’ÂëëŠF©5×G¼äTuK¢· ßC eCi¨žb ¨xáÝÉÑgã2›+$; µé“S@v'àÑj!››»ZWð|Æv;@_Ð@É9ó€2âí†A°‘ˆCÅa¸¡O—›Y‘ °UÛZâü ytö»¾¹Ë‚®$êžÚ¥âvfˆ'œé†-á~…Ü÷œ‚jÎ ­ìÃsUm‚4ŽÏŒ“m¼ýÛW¢ûDDô¿ƒÛRnI%˯RŽ;k$½uq—i4)lUnÍrŽñK@¹1Ò‹øZ ›ÿô¼Ï®†~| ¨blcwX H}wSKLõÚáõ „‘»ô~1Zûý®Ÿo[Ù¬jŸSõý~)à¸íÖ–8–šÁ£‹Ðê|0ÏXÊA mï(Ä/:Tçu&‰M£˜ñ²¸Ú' ·™Bç}œCmm€+3}¥{1}”ÍŒ’¡+¢sTÄÅ–”ÒùF“²hbo©;x¾m ¡¦·Ç³Ãòꯢ䯒ŽÜƒ–ØGF0R³›¸°ð‹Fܧ¢˜‰7(Ü$P‰‰£g bŒC]ib`²ìÈ@DÙ¦ß Ýïíð®«!ø±y±GÎå’Ès쨖î\eyj‰Å#Ë)Ú2s¯û¦m†ÿagisÑ«Àªº&)†KÛÒ‰Š\(7ú ¢ƒmnPê©¡<ù?ˆñ—ÞÍtTŠûq;ò‰; Ù^²I)’äúW$E¶ÂWn¯œ˜·X$a†òñha·›Œp< ®³5'7©ÁSÎÊÆ„`E1,MM3MÈqA¥6€ÀutF¯³p±ø6XpA1f)_™•ûZú±™Bëjï)‹^ݯÏÔ†^(ë:ŠêÅåtÞ3múYú8ÁZ› ¶ÜÚ h; ·?*€­fLT;,;Yý»ç•±ÁŠû{Ïùìþ)gqw{2òAwê"Ü™Š*V”àú%=Ø»ŸòM'3ÑžXèmTX‚põ<Ôš2rÙh—-ìj¸ëº<øBƒ€^œ3逶ŒÞ‡Þ98&læÈu¨Õ¹vÄs„û¤af½¿|C‹pX£žî H09F"¹½¿è¹¿4Ì­±oMÌg±ä¿ø¡¼Šªÿ¦Ð×.‘Á@FîG° ¢­à_LW‚\8¦ÞÄT; lѨåúC^Ìz Ù‹´†?˜£½ì%:Wƒ¶Õ ü×|84Ò§´—Ø1+Æ™ ®ç7|ŒhQFåáë »]µòQÒtý¹Äо-8úµÓ_ïºvHí2 Eøg¦³Ðs*z4aSðyluð”›2¹4Þ¥dÄ[Ì©è–oUU¿˜ûžÁOº58 k8ämz•ÇýìØóeÄæÀz'(x¤Û¾õ>lVð‰µáÓ5¡ÙAhõïT%ŒY¯þÆLe>C;‚ë›÷>:¨cÀØá”żxëMæ˜T721 ¢x¤'y²ísT˜6 a`åT=Á‡£½Mo$Aò—}cÕMHèTÕ·Vm¿†MÂÙ!&Á,ÏpË’¦C¾ü ”(-O‚ª&è[4 ȺþFMè D¶9éû¤M†5…7ã éíb¦j¼SÁEsl axÐ¥~ƒ´NÃ‚Ф˜1ÿ—zT‡1ÈÐé*FFêZDfh[PðëTSe†Ìµ£*²e¹íÆC{AH)ì¨ÔJ®Q³‹©f‚g1=UäòZÐCå2p C¬°-¬W¿&Õ6¨ÁÞànúc$` Û›‚,MΚFpeuݼCýäj[ÖªR–Gv?c¯s”÷qÊ[¤÷§úh4UÚ·ÝàÝߘ̦fçœñú=p1‹\„Ò¯&MP‘.âÔ\ª}ž'óYñ,Qüžx¦x~|ÄÆûs5€£ùÛÆ(8‘¾¦UG£¡ýŸvÙ)bï€ü…Hþ!Uè4¢ñƳD P€ÕõÑYÝŒ´òþÚ˜¯•üuG •#ÙÄ*4XÔJP·M2¬JR8WÉ.UVăó}XÅ |åX!æsBSuû¦™ß뇌wx„0O{©M/Òÿ².-Äy!*ù{GQ¤IRõ^¯½î”Dk?ÿ&TFYl( ¯uþ¨B,&Ÿ@ÃrIˆGì5 yÔ‘䈫ý?˜¤¯ÀT–͵LÞ-’íLsšÌA½\üö ê¿TÓAɧ7vk4Á†šH5¿¥îhoN ¨'hÜ™)†Ó ;|m¿)õa:1‘ž{G^u$C‰y §Yý_P` >"* „®\!4²ÃKð@lÖ³Ïê¹÷bG§ŸHTFnÀ4˜@—êÂÌ6 »Wç³ß¨0BvJ^Q•Äáÿ)ð¼îŸOƒ;©ö¨ÎÂE~) Ÿ¡ÍÓ` ¢%Sg‘ˆl©®?qªÎÁ$Ò§odŒ!R†þ1‘\âs(© y UŸðÿKÜGðlt|ϼ·ù¶NŒ"c«ø~ëQç¢f,6'¿zck^i¯MhßüøéÔ+ÅãÏG$ýE‘évšS+T h™=&vXò×}!†HR ÒÔ5_Àžà¶?SZÙÓ€JT¾õÇ%¯mE¶ÍÛ¾ÛÌ^¯çòÈQ@gXï¬Q/Ô“EóÄ)lªÀ 9>~/ }>£&ÅQøhŒ–ÈÅm”H–)|²?ÒYà•HA¡õâí—/UÛêÁˆ¥>a\á+n¨·°»88.jò¤3QmÓ¦kßMÄ`¯(°C¯E/GVmÄ{+ÈW²•hµK-¥-lAD™Ñ .7ä _ÉMiWf!éVêZÛ>BbÕ?:-Ç ýŒè\|ÑF5½Þ¢'àjà¦ãè! Bê'cÃÑkÚ£s—ï+„:ÖË{‚µ»ŠÂL¾¨¢lU™¥³o¡½,Wª”U‡-¶nÅP«Ëó{f2\—o®þîÏØ<·5‚EO^¢í—ó2–èÛÈjSBdèÅI¤ùMM_Ñ*Âyž´ñÔ⸅ Ë²Å»þˆ}û‰/lÞ»¤ ÿ°J^T´3Þ‚>&Óš™»éS¶ß2ºÑº¤}&ÜP–á¬à7V;åMžçR!‰#r"Á0°DqäFzÌn8¹,ü 'Ë^Ùp?Q`‚Ͼ£ä€¾”ÖäªÔ»jÖä9ƒBø± ,(øNnWŠÖÏö=æ‰i«–fɸ°î®–žÓGÀ ¦~¤{ÞìMÕ1çP$ægÅAÿJ×€>JÓÛ`€ÍI»mru±ò](ßkuÀíÅUÖ츴,¦. Õ×*³]üÙíòì…î)P¾g,.î(#õö=4HàÖ%-øqä}<¢•*°F>HKêb¼‡aô{5¯ùñrÒ7"\SñYˆÛxÜív‹œdwܽêùlB:Œ}lŸ6êØ ž0â‹Û&ØlHõ6åP-*"RÏ’÷WO èlOŽí3ÿ%¨ÔâH‘ýš·¢½/¶M!9HÓ@ –¡YÆ9Þt£»ºúN>…ùVúpÈh`UÍšþ“”WèQx˜¾í2}]R¸Ùu›ˆsƒº5 '‡™¹ÅÖüP'â¨itw†ƒiNëjúkeltúžt™7ñ»±œ8à »àµ‹#ž ©–|Ùg0Ó4‰2À`ýä `)C¾qÍëz LèU-­²áÌLsÍ kvd¦Û}­!Uvœí¹×Rt!)¥ôpiªöE‚bœ.Åo–dš9Õ~Û[M­€Ö7IÞöµ!‰¾°;sõ‚J1À¬E€¥>v‹‘’шY+Ufâ÷Žæª¸I›K¼+,]Ò.ãSÇ~®µšÛ.vliÒöm!;~³~Bê!”ü0Ó[¾{Ù)Ÿë”WÔ<­.Øàßÿ3¼£/<5Æ~2¸C,ä¼ïX5°O݉:5NDÎ1ÍÇ[pÍ`“’Ejí"ùèbëPçšËŠ W¹§å¾šƒ'«ˆöu·ÛÛ¹’ÅN¼¢æ,ìZ©W¯´2FI4Çú"9,ýo,Ë×Qªi¢£­¦…ãèÅf·ªmó ìTt™Iù=åqboEâÎÅž?ZÙ#uºÜñ ¬ìOÌ¢‘.z•wŠýKÚ@[í$ê ÏH”“pi+W!0: Â$®wÍ,$rnèñÂ[®hÆ//t@ýyσŸ MaãüÛnìr­|°âgêÅð1Üw°%3þPPÍ#î„þh›Ûi³j\=´æé(}°ÉÁò‡µ[¤í5-;^5+È'Xr³áy—ed#Ÿw¹)e^£§ÏÊÍž ‘Ϲö¤PÀãYÒ¸aðä<ïköªä×}káª$Ê}¤Xk+ýPŠ)‘Eæ`ö’{νðV+);©sÅ–Þíxk .äM}BóImZ2sô‡YMÁ5`HcÅa ¹Ë@¤,Î^ë…Kà›ÿ¹i:' ýLjm¿@ÔÞ‰9˜‰0gWBÖ ?áºdÈzÃè¡Sã„å\Æø²²<çÒr3‚å·¯ÃN’˜«Íe¦·šq`èù©"¹îKe@ÛáÈ{ËpÙµ5Áþ‘ÅÉôHæ.0 Åî0«×»óŠ»BL +…dêš4CqÔ=Qåè[ž1DƦòô¶ëÛH…EÕy©ì>ùSàJ‹×¶d?_&çÂtÜ}Ôß§–ßÄe;¾ï7WžÀ¡žFëH>¯ÝbZÕ‹Oºc]/ßà¼ÐN{Þ¤ïðw mUÛÚ(Y…‹ñí­ þF4ÈÑ¥‰oëþú¿á+$¸À‹1%äÑ{ïS1/€×½øgòÁMzÆ@Úw «5QµŸ²µ?voh7fN¯Ð–wVýq4H(•®ŽŸ)[Ǥ [²¢ÉS1¢ƒ£ža( XK’ð)àÝKÅÃg aòªy8Û@òo†Wrã^L+ÕN;¯¼íèÞ¨±(£ÁXx½n§ÆCžÐ­°Õeü“éúXg/ÚŽÕl›©‚§÷ZQ3X2¯Ú°$˜úŒ®-7Ò”þ^#%ö%"ÄýŠSS˜ž%õ´&Ÿ¿lŽ+@êŒâ.è´—îÊá—lŸP+3±T/ã©‘ê¾-Ϥ„5Ìí…0-vzäÝ'ic´Q^RÉD‹Kn›®.1h%~Az룞õmig0ÜJiP;гZÞ¦,éZ?QyÝÁ;Û‹0älsQ‡ã´?r»æ& Ÿþ09zöršé¸»ÆªÒ[ÑÔ/j§"*8Ä+ÃǸ·gP¸%¹Õq ð  ›¤ñ€AÞákÙ?Õ3…¦{‡u†?c£¢ð‚ígúÈ’kŸ¥/êèo/‡7˜ìœ)ÅÉbT–ÜQ?øÒlßzãºS‹®Yêv®ié’½Á=Ö3Dzª7™}k¨³û቉Y‘ëÇ]ö6z~í•§/†À_È‹vUƒ—e&5¬®Bõ¼)(<šóØ>7kÒØ•“ÛÃWldF»]2•b-4ÔhUωÖ¡¹%Ó ¦ðëèüL%`›‡:Šå×DN51²ÚÝ% èFuÒêHP×ézk-L®zªˆE¨P@f"ÜÂöÀ²Ù 2}®˜2}þ COƒúûxPØÀéß™M $Z€ð¤\KÂ˜å žªÙì=ÂB™ÿ·îEf2õìrÛ÷¥öÛË?ɤmUsÊvÝ<‹ýüñ–u˜ÁøoPG\›2äk´YBÁ™$Z{˘HPD’zùP霒ƒr©ïfáóùf+c׃LýGí€[‚¹Ï6½ß„ŠGA ƒ~¦é/]+ñs¡\Ì"J¢®òXQɧß@GßJJ"»ƒ¯mu0^LgÛÁƒØ  2 —Ô'4¬.ÿ“bšxMžíékÚÁb yÌ‹…„5Ï'¦ðMé5•=èY°ïÕ¨±wª¨]ykÌ·Ÿ×7³ÈeSj*¬Þ½vE s TÂ@m<ÆñΜPÒG™6©ÒlC·A­quéÒ¨{h·Kµ6JðÀÅD‡8au™SÚÕ‚õÝýzÊ»¤ôõp?r¢`_åàÒ»‚CCAßl€àzN†ç€&Þþ7ÕΧ£v¡!5BÇPw¹Í<ÓÂvá[—ŸÊjF¸ù±ß >‚æä‰ÞÏ;WA̬¨‹P®>O@zM¦wÁƒ ;öxÀúEÎÂWf¡Íôg$@`ĪéÂ#`Ãv‰<ÀÐ8v—÷jóGCãÛç~ÏÏ(JrkvÙæÍÔÕ¿²ËkÌÞ³¢ð%A´·mÉÍ@cM–]¹¥öðøºüìô?¯Ž…ÿAÖ| ºoÝd´ôÈF5®’Õ.Ž3±‹Ö À÷0(6Í^Œ+üÏô6„^ý3lʼnR.vÉ, w×Cu“b\ýòÃáÚKÒGÃmsõp@ž¢kg¬ç”I;å¸Z¡b¼­#6Æçg~•ðÂéÚ:ÓÒ¿s WkªnÅqª/£DÇ^lîܲÅÅZ¼@’QJ½–4›B/ÔöšEͳï?7áikoÊ"ŽqG炬G­vŠçfž<§ZéJ2ûN‡tZý(ø°‘Êþ>‘ý`™(I4žò/„Œ™¼¹ ¾÷2… &šW¦C傦nœì£¯¹?’'#ÆæU0SL8j×%†…Ú q vdís‡ãÒ@9Ž¿z¡ªzyˆJ”€žB^Jq{÷ÿ?F(˧ŠéÕLCñí£ˆ7ñ´ó[Ü~¡©ÿ¹ºe™îBÖíEY†Ü4Ns m$–—Õzžèç0ý«$mDXðôP¾”Zp7G&7Ôeþ”1øß$ˆ{ˆM7žƒk¬àî&÷y»S1"¥Õ¨ìÅÊË4Ý)†Žé^=¯ ‚€i1%¤[°÷4ù±Éÿºwîš­U{Ÿòæâël•€g:ÁüKè_Fì…gÓ,åÞ× `Ûƒ£Z u~ îcòaW÷}ƨ„=Qo(“Ö/8Cþ,vK_•k1á>þ¿ËVrV m®Îø1™¾•# yê‡xæO_{)Á4lÚ†I¯qT3A¿’p€&\ëü™´È2犒b¸²zú7¯7³À ¹Mžôp;^Úˆ¸î…!X';ÊDµ˜C¤t‡æ$b¾ï§BµÅSM“¹æ ¾¿ÓÿI¹ #LKï6µ ŸÒHÏ! |Þe4­fè ”VPt2›¦¢o6xÕ£fe¡ølP ¿xêõ¸­X£€ÞÓ˜ZËEP9ÚôÄða¿ëw?¢Y<_ÌÝŒŽ"\~vÊûý€–)rQTJÎV€®¿…¯¢fq 0ʳÄ,U¨Ÿ‚o79ç ?š {š[ýÜ ç¤¹–ÛPèغ"p‰ï¸.Ц½ë­Wm^8ìöt­iÓô}ÒË 㪮©AˆÔüS4’À':9FΞÌ:Èæú|‹òÄJˆÅp„¢ åéaž÷b–qwZ`ÞØÜý:€ƒb]f“IÈ - ³z ò"Åÿ0OŒ¬†1©„oöûõiž™)èm/™ÉxàˆÄí{`s4`ž+Û»£®5_G¥±:©r…§¿.¼–Eî = RP7Ðu_°¨‡}ò¸ÕâEƒ0>‡½øa¡Ü‰„FÛÊP¾ý„Ul;ûÝ–EƒËà‡Eð ň \Ä÷ì™"‹æåÁbQOA‰ åŸx€×’««9üX×ìšæ9Ô¸ˆN«.Ih稩p« S=ð)'Ÿ ÐnüŸtÌ5† &\÷4OpÅÔÈN%-Îà•õ#jo—cùƒ#¼¥òÊ=óïÎó§â‹UB-v€"µW-:s®.£në{Òå}€¾ª­WóŽgD¼ oî\Tº‘ z§CÐl£Î´à/sÒìz”Éóò‡ÍÂ’@û$W‘aÅJ–xÍBž§öý°±4lÇÇo'ª)S¨|†áÑŽ9÷®ÿ,üýæ7™±r>áð%ư§”%ÂÏÝ74ÏÿÆ ð¥â-“=;¿ŒSVƹGTû žç#Cq`PRY?*Ä0Hºj{hx}hAaö†W{¢lìD 0t5Nï*Ý w®/§­£'Á³÷¤pëS¥ÙØCÓ1ÍDu⎺ÿ@¢ÕÕH¶ºñtåÝrì\‡¦w î„dy/¨°òòB$9Ù•hÉ¨Õ CA¸DeTwFŒµ€M¦7i&AihgOÁQõjo ÃØx#à_•lÜï ´·ÒIsÌù/Ŭ>N¾v+eýWLY|’ƒkw¥P꩎`¡‡d.äP²­¾¤_²³~x üˆÇJ?µTýø¨´vX4jY1â¬Í”ê\s/øÒBÿ4«–Ÿ…“ ¯·%]Ê¡‘ ;숵YùƤ¸6«±èÿȱh±Ûøýn0“éIS&]¡n»ÍBºhÇØ†£baÃVS¾ëy]r8 ä&!«Ý„¶þ›¾`Àf½3â˜G6GAÛÿµ0•«ùµ¤‡)w’¼JâT&V1À{”J¾G˓Ϯ˜¿2 _X#¿u]V€ôWî‹ìÚÁq)-)?\ 6Òþú‰QCÍ-åÚ¿,yì.Êýcà€lF 8fš›¶ &Cu;ˆSˆ‰ÍÆ+C€ÎÏ0 ¢2Ëi3×üìÇÇ´N+Œ0AœäTc<€j+¢5üÖ‘I°Ø:®Ý¹Qq(¦éùš€N– Íàg<9_ÏÒfL è±G]exà¥`í ÍgÔTf´É†êæm_Ú3ûîK>ÌYhŒZ}Íô%˜ךv²{,ôB‚à áo”U(÷µÖ(`be‹ìÀd 7^­Úà*8£ “‡ w3d(±ôìŠXßÙ~œ]·²ö©™%—UJ‚1²µFÅH±ÀÞŠh}~…(ppsQ|q$qD¡"­$þmŠYPO,©Þ¥q¸[ÌSJÈâà«â…Þ«\%æ¤õøÛX[·ïÙÁÀŽJ¡’öÕ&€W!Óë<<S‚dÈJHvnšr˜D%J²D«áÆ3ÞûO6çfÉg¼žVç{ tBÃX \ÔdãÔIîš?ݶöÏf²¤`tšf2v²…sÄ)Ô;’dö fÎù4­Äõò¼>¢ü!COY Z¨ (úh›ÎѨ“œŠodj<Ò¶t •¾Ÿåcq(„iµ¡Yà³üÕÿ±ÄDÕkµÍ,à9äFž*¾B0‰2*ÿì]š“j!ï>ðµ^ÑÐ|¨±9äÙ5Îçeʸ§îšŽmàݱ°¸ÊÃPÞùýwLöÉŽ–9™Â òr…Çf¬‚LñÞ”²Ý>=.‘ù-i±¼Ï&Qù‘ow_âÁ™JryA4­£Ðúç±}0­ƒ½Š¿KzKcŠçH)ç'癢*°—èú†…]`PU*à=¦¼XæÞÁ€Ä€ÿ‡e -ãv*‹Q7þ?»Í}Á'¯¨z–KÚ(ú1O—ýFPæ-–túºEÿk8‹¦Zktå6 …È °œOèsJøkf·hͼEU݇ÈCpÆA w¤ø‚O²zÄ£½sölZ0í]ì}ŸÞ×$ëI¯Ì–ã¡ÿéÖ ×ò@~“¨¡2c–1‘y›É´ ÅÑ´”êXrä:ž÷²yåiÂÕÇÙm¬G³|±ß.î¾ç‰Ði;Ũ¹óU:5BUèÚcòåÚØÙ¯S礑NíÛ[‘3bv^í¾µÇ;v¬m ¼ÇYhÙÐpAlÑÜ—fhZε¼ù5dO;ñƒ8Š'ÙiÖ<|í1Ÿ/µLü>Óˆ„"õ†ÀO4ÚÐ4_vhÿ?P)} Ql7ˆÿcM\sMû«Uàäôè5ü×ò®–¿MÊ&êž.Çž45ÍkŒ%E}—a܉+´¥û«¤/ +‡*{G=€¹qç@ã†ø}BŽÃ;ÚÜyÕx­ìt¡Äk58½{’ãÛj“žÒ¢n ¢aØh¼‘ŽÒyéA³ÛÎ]«¥} úÿ3ÒžÂX©Ú~Ó$‰èÝÖôåUÁæ‚éÏÏm*vYº2çsãU#°9*ßMî’–u¶Ö„^d¼»ã]Ô?e2±-]ÚÐúˆB>^KCŸ;˜½×…ö’Qf»ÜFÈýý'¨¢Ã¤˜*bö®¬§±ðÆ;jÂâŒêWPÃ|ŠÕô›¯èhÄ&râ×XEi½sÿéÃÇRÿã¾¥“([ö –øÀ–ÏS°Å ÷€}‚´æeZ4-ŽV³¨:®9.e‚·ºUÉŸr„P(ˆRŠ÷mnÂç¥óD ±^º;é§ñî$p&0A¹¼Ö¥zF½£•ÖŠ#0%7]´’K‘”øøR~ Dãxq -–@D°‰Ý’£»È W[[ôØ'±~ãšÜ|”ÖÝ`V@ÎI™‚po¿Òbª­‡Y ÿ‘„* òñÇ‘™JÆRR¥Š+⹚­Qê>C¨<È ?Æz…ð%¶Ù’ƒÝÜÀ´ Qxú—8/õ‚¨îî Xo çß.ÝõÓ›.öQMœ@Ü©‡îg?I¡ƒ=ñz;eDÁD3îÆÓažÎ¦ +•ü݆ÅüAóéåõª˜³øf:dWÀ‘ô$r’}Z ,¡a{K :T@¨$9nî^‡C¹ÀÄ{…6¢û„A«ï´Àþœª{ŸoÐb³”úu[& Ö†(`9`e˜Üök ±›²°ƒË+ WqÆÐRãϳÌ^-NÍJ¹ýê‡àMÐs3;!t«µÇcÏLãhµêÐ?ë]e@»¹T%9ÑDEiraz`v´ˆ÷q&ò„Ïÿ-!à¢B‚®^JZ5h(ý ™uS$éî7“’ã£ÚÈ´²bÃ}D&B±¹×#®~ëºî m£;'Q" ÃÉKoAúá_‚æ$•vÊ/¹’ƃéÅ7?ñÂ6GY¦$¯bŠåFŒóÇ23‹W[Xô8ÐÁk»–#¤u­¿O0e–Q{’ÄÃf] ²&ø˜É]a@æ×x„ù3>™åayj+ Èd ÂALĨ¼i€*x*°óž'_Š… ÿ¯7ý±å-{Ñ¿¶Ö4<¬‰sØhÁ| $²%¼º…y(35¥‘¤ÎéYö°à¯i hy%ò]nYÀÒÅXv‡‰Âç.³sÂ+q†¿rÅuºí¦hÆ}nßh8;ùþû‘ÿ„~|cd·wëv5"ÊÚò¤J³UH`S ¥¾³µù?­¤„î¬ÃeðŽUÈîÃÕ&µÂ)̹̕سx¯ž‚ýù²uvÖö¬•eÑÇ-ìO‘o‹Ä3rÁ'm —ïEÄU¦½Pjîåfµ¬èï,*Ìàè¢If]íÝF¼ðåKOÕòì—t%ú$©9fcGï|f8Vc™We¦åz–F¹1úâ^»ôlŽ6Ïå˜>±×|ï‰3⟉‡÷Ec HBîALØq.æÅƒQïÞ‹ ¸ÏÏÃÑî}¼j¸ì>.á+|¯þ=úA;HŠ„B¬xH†›ûšFò$Ï6:õ‚Q©Z%%ëÚU(>®‹Ü\Tb2œm´’Åùä­rµ§ŠØíPÖ©ezjÆ(‚œ‚PÍ×<û[†`F +†½õ¹f®©€{C/¨}´¹94…3œ¸d³ª¤é=ñ½Y‡'À!o~ž€Ýk‰Nñ_Ý÷ðÙòŠ=©î…⪒[<¢â¬ÙWPA/¼’³xü(G(ØÊ(ˆêŽ-Ö1“>Ĩ`לҠ=ü¥{;¢‰fcKWxœiÃ@ÑÝ<ÚpöçùÆè|Ú´SD&;­¶Ð˜E›D;ïb‘ã‰Ì¡´l˜ÚBàÚ×­3~ábê&¨ª¢òö0µÅ«Ñ&iJâ8ey5ªbŸ^\q:Ç¦ÌæzÂ+eoÚÍ "î ’™6Ú –Úw×ehz`_¬Âà„ð8ãÊ%RÑ&a¼”$8±…ÍLý²jÙ5Ž_se¨·²®AwaŠCsØuœl.æÚPA&+ ?&ê«Ý‰oPŒÄâ#|Ò¾|†]е§RNF²å]i$LÌÖ,åžèÔÞ夦VNxŠ·j\^½ [víM=ÎNðøç)Z‚ì¥î{¾#¦EƒxKªÐNAÅ4Á*ŽáNGHúž°Ý4~céÝšÆß;´=%{ñ  ͦ˜{ ¼g±ÙÛéŽߎ"æÔºe&âÍ©,Bû÷åKAÀk´‚ž=ev¼IßöŒ­µŒ•MNhì،kl¹. Ä0´ ÂN{Ë/‰iˆ:OÞÃKÖ‰$±_ÿ%_ÿâ4Å-6¶µU¬}·y‚`§â È~1ÑÆ6ÛË›#1/ ûûË¥„e ‹ˆ]ðƒÚ(º’?ܸ¬ÜÕ?~ô%ü»`^žÌ·™.Ñ–¹wînߪòú‹Ë×Þi—°»!_ÅX‚ÂÃ5÷ •õBx­W†eÞêœYã–R¥ä'ÂCsäQ|À+ „/çFb©ú&œbÊÔØ—nåXŠñîníxôðÓ+'^ñÎ/͆Ò.´º2C‡»cšz1mü]¡$t¶}c!¿€˜0ç™Ll féLØ3v^ô„ïÄ=#Ùb<Ý›ÆjƒJô—ŒÕM&I£2l¹VtÇïþÓvìÐó-³®sœ®½ nϰUa†-h$änsÔ·…¾üO9¦-Pé`ùØdhT½¯i˜u3Ь“¡k,…UùP@N&R›H¿¤ÇˆMk„±?’Q“þvŽ™Üq^)4Lf"e™ªcfég6÷OÊ}3Vö¥ÊÞ¡L²ƒ.&å9YÚU>JNµ‡G­xáÙ­ÏNœ+y¶úx¢4­óœ ¡TGÔ‹Ë=´·cÐ\A]pO»èÈ= ÅVýhе †í SÅ#—°Ú™’`PççÈ»‰þ(´…‘r/hÏõ,Z,í•VfMÏkÝ &: LÜxÈÙþT;V ýg4Eªü2DHüðNä³þw÷T^h‡ÿ`е9jDúŸêÞIócšRZµð—f½„ãÏsD‚ˆtáÄ ‚º ÚÇ[»ž'à†Í[Q„âI~ÿ?CuÙp@aRÚÈÜUu…R…Xª^‚_áìoEflÌçËSМjuª]7ó/U=Š m‡fÚ[œtB±àÑ)ùuÁC#˜:8ÁæÜ,0ó䤞í¬ãRˆàì£ ñý&D} „n®0›ìYfˆ¦”Å%˜÷»Ì©—j5›ªýÖ#Ü“7&Ú¾‹˜¨SØüD`‹0}HD”ÃêJFÕT;ÊFòœ—‡^O_ÊÙ]ñÖ*a´•ÝqÈ—t"©‹þ7ed6…K7TÑjÒ4 %P¸àt8 E û¸«ÁŒnO™Â?tF,%æÛªÖH©Ðßê'#¿ P{¤¦nzØ:©¿Îc _¸Ú̧ª46Pãá…Pxôò2»¬r*â!s‚’2˜mG}Šžã›fºw;ÍÏ•~ˆEò'7 hDÛA·Ò†Á>ûÁϸ_HwT¨HêÛ\´«ü;Qe'ÎcÙFáz;Ø êÉè†ñ ^·;Šq(Ë7'ªÁë0˰‘"£ëŠe”‘x:¤7Ê™¸³.·›ê¬ ³¼Wk¢+Qÿ‰fª‘­¥©Dâ9[Õôêó€€õkuÓ­°E푦ØmŽ»ã^ÄeƒïÜ\«áìXôbœ]L *Š æx7‘CûÔѲUÄôÞLóÍQUwvl‡Þ]lñtÞ±[†ÄØjL#Š•Q&áqŒ„â߯Ö=¨SN«›{z…âóòŒ_dÜRñ Ff¡«u€ó˜ŠžŒÐÕt=ÓØ+ N8ßXÏpk= pÒ}àyK0¤œtª[p¡­oГ…Õ‹ÔPƒý]á&¼%l-TëŠï»š¦›ª‹ijoÇ·tFn>ÏÒЙÑÃû[tCÓìLÞòõÁŒ|³¢d4¯†ÛÜåë ôÍFÍù3¼¾C±ñIIO †º—E±K.Šso (—’ ¯fÖ JtHF¶—Zg¡(pP1kùÛê}œ>3ÇÖìWÐï„pöÔ6½y®i;}F*y\PI“\,‰b¨ ì¢v¥8o•NnÍabl”OSn›}|ºðö5§û§V7êªuè÷ n£A½z ‰]´é~²ê’Σ'‡ì[/§Áy=QŒÈ geû¯‹˺37Gðú·)bήÛÿj-E³yY ³#G ã9Vê"ÊJP$ÑkÑF¨øtê×HÅ¡ãv9õå¬{ëbj¯,Æ åX1i#öö©nz°›ñõ[ÚUÓO€xIîò÷”SJÛåCn{9n$VºÍËTŸ\Ò߯1ØäìZæ-¢6-…E0­ù¿F‡Z&¨ I›– ÊVÅObtë ß]Ž¢,,óæ=%ç“Í ÿò»ˆMó°ŠžèÛhKî¢ Tb ßT“?ðyyP5TÙ<$aÛ¥ÔKáÝy`ÂÅ%ª¯ã‘0oº­ŒÈÞÚS¼P4©&h Ò³Ïí<¥m¹eŸxþhËþª]¶ˆï¼O©xÝß\ßàjïýpB‹€âê,qRã]L—¥šãA*~rN¨*Ýácÿ´O©³jWº-L4gàÚUÞ*M䡱Yž¾+{GµÇV“RÙPänÝyzJhÔ›V»ŒÖ¥L¹ØS ƒªx´%…–©Î…ÄAëFÖÙ«¦OgËíõÙ#ÙÏç__è$¥x‘MaW^ˆÝüýŠF<Ë&>[릥øz÷z%ÏüÙ$¿!mÇÓ4b/sˆþúµ]~ê‘u³Åà9R“…ƒïK¯Ü·‹BY¾&”ÈöîÂ(HNK"à ù…8¼¦)^QðàipqJZy—'+ìæ*cÖzüɇfêÊvŒ/òp;Ë€äñ­¨åsýTÑFNKs(×PK­_F9WîÛÙµœ9õuѨ~²û¸ìtu£ï `ð÷Õ§y¯Päÿ#`äo¹:”g÷JÛ¼xuF ª€žk˜Ø¨ƒc'7ʯ‘ÇÜJ/øÛ¥ùÙ¹>·=[?Øcj¯ü ¿¿U×FXš9INʧ))Õ%ÛKÁ¯&àê†õÙü3_6OAÂäì߆8h«‰×³åÑA}°~gSO“ĘëÜ€Œzø°?«\Mæ™Pìú,sJá ÈjcÔC²›I ÿ €ÁØ„¥Á]sïTÉ6ÖñEF„"È‘£^sbzéšá+’Àà}Ò´§±»×Oªí¤.ޱРá^7¡å ÔIæb—…ÐìW+¢}˜¸üÖ´€\Ï8Œ/Ýë,õ/øš8`B¢¸ FÍ?•î2/;#/ä+œ+ÃÜÊÜñÎùÛI-¡¾«úªO+aÀ'~X¤äý¦{¸ 9fc½0p«=Ñx…æáç÷h ir –[Y>÷=GÖ‚ônÛM£hÛDŒþÓUã #G @ËkåÉìËÝZ7v Kou¡Aª{'UXÓq³v]òl‹ô{Ì3%®ÙðãF´´ÃÔüg»ä ]Wf¿·‰Ç1õqbÜt8ЊNJÏ~KO-ý¯üÉ]¸V ÖuÔ‰â®É¼¤ nhÉP¥Î€¿9›»„¥ŒÕ›¼“ˆÝ÷NÏÒ±TóYqÈÒÑ:¡Ñ-=šà-péöù¶=¼Z“ÆFTz]Äû|¬ìqâ}á’,‚²I Þ.ùiµË!ƒiC-jE ݘ\¬ M#ihnº½gÛôµRŸíôJ#U‡bÚ¿)Ê^d±hg¨[Ü´•b£è+WÔœâk´¯w}#Qiyº@«|Ñ*@>¼ƒ˜çôîš!ª‰îž ÃˆO™¼uå…M ˜8åé§½·"ž¥F×õŸøhzÙâ:j+s—*(%<*&ï%fofPdtÀ ÿÒ¿lÉ-5kˆìçq5úzR¥, n$äÂ+1°?ÛÆW =ÒÏäH³m.ã—žVKåÄodê™QÒíØÊB%jëÈ“í6(ù¿æÓvRQBH ’ÇØ…•¾¿t˜Ó«Mà"]ÌÐF8,g»/52·«.—¯ožP޶‰"¾Îƒá¡ÇH Rùnðt¬JÆZ«½Q­6l+– F±VÈ›L7€þüÐ!xs=õ§˜F(ºŸ"aCù`YÅ[áDøAS€PpÒö^ÊW†nnÙ0tY`lªÑäñ.}ã{h˜æzŨÍ@šþlÊË´‚}kì³ p¬xÂæ?oÿ;y3mx Wõfí$Å»–µ'©Jj}X`À€€÷)sÓÆjê+ÿœ™ˆyÀì/Ý÷|ûW½ªE( Ø»ç¥©yAJ‘á¤[¦™„ ´+ß{=DµË˜)~à¥Pl·c†£×¥%Ž}|€;ßiÒèEZBÙ«µsê²ó°›ŸÃ¼‰çoñÊQÖ¸p§š£6Y0z”iößî,Ôæ` ˜Ì ÈE«¬‘4vû¨8«þ¼G}øàù`tÄFÍfÍ—ñv«{p®B{{)¤ìÓJçbÅÏèÜ•;.tÝÕEù`[ÛâB±ƒê°'ߎYe¦Y[©bYÛk«:<à›îÞ“²tÛ¯œ“¶Oãâoô#†µtIH]OV°ïüDY¿…ÇvB¹0é8ƒ`à“° ¿uˆÔŽû×;C!sKsf8ÿÜ}vîÀÎ ‰P¡»œ ´ ‘Âx¥PQ¥´‘®¥|3íÔÜs>ƒxÒÔÏ®üDÞ¬áV_ˆ7*Eßõ‰vŸkøíüšÜñ|/ðÖšÂí×`}–ó7?cŸXžÇw AÉ¥jS¤€A¡h<¡]RiÞÆÖ×?M!ß´áho¦É!¸ ÓBRÖ§_ÇÈr–çÞ!ƶÑ[À¼ïf>C¿å3-ÒpàÀk6‹ïUFÉ‚ÔWeÍfžOv¾œ¡#fM¤=?_Ïwì[=…jþ8ÑÆž¦pmòIIðiÒƒXj¬Ä÷Í;opZð«*WëèÁ oÁ ¼€ìlÊE¦lϸ9«)À$:¬=ĉÙãÁzüòT”š×ü+òl¡Ž…‰;ÖÖKa³Š.à\I­¯ìP²4½¤ ÓåÓZ¾Ö- åOÖý ÖÖ"XäKê‹…ßtPm¥q<ŒÍ´# ÖÞý±•ôÚ~ÿ)]&V;çÐÑ^7*6d·óœ×ŠÊ¸ÑÊ™PíDôÓÔ§–kí ¶[rÓÊŸù¼\/Í.µ’êY@ŸB•–œþ¼Jb&T‹âBÖÆ}mY öÝ4ÛÞÀ¥–_;矶=ý.”†2q¡ÙIEúÿèj¸½³´ž4¯ Àà"L+â{ qÀd0zÉa‹“:ɦ‰c‚ãË2™KG„–ŽYŽ“"c$)v8¬…¹ä3ŒŽ©Ø ‡ŽšcòíÕséµÐêª=l’ ’½}ý¡°Mˆ×R;Ñl—€s·¨ðŽp$ÐÓò—‰#>º§|pÌrS%šX;ï™aX!Ç„Ÿ_·½â÷Ž%£y²Û×{Ùr¿ÊÉó3•­$N<©|z ~Üàæhj<†ÌsËQĶrÖú¿=Ë%~@’Ĉ²¨UØ¢–Ù´lWÿ(ÚwµûW—yþxì­‰‰ê^P/ÐTÄlU­ /Ù2b÷79«½çèÆeÎ~°ÿBú1ûšŒåáÓAö|àëÞ)–¼±/¾†ô^R6þ ½»¢ÐYÕcáhdhA÷®ÐUhê÷C—îiÒ'õ¯úÞ’ X,Ù2j¼®¹,p˜I‹/hL*Á "4Ž"pqÖ‰`.e¦I‘õµŠmÐ9!ùÿ™À >ožÿ’Éòð h^ä¼ ¸Î QË"VÛwÒíqÒð¹•_… Ÿ,7"“€u“ ÀÌ,V«±)nŸ{[j ý8R´Ò–Î$ˆ×‹®7W„-tˇ^IÖ¡uˆJV@ƒY,ºÎá+ /ÄID¬tæA(X›jjÚVmG ˜C“Ÿ–¢‚öMÅú‚ŒRg¸Ù6ºbÎTpO¼¼çÔj >-°^±£hKŽY- /7ýؼUÕTˆ{”í5'Jp&KÀ&ZóêÚ#‚os¥¿ß¡JQM;õÖ.€Èîý@u{̆d ™“©2†Ù»Ž¾8%~»kB¸Xc¿F/*âá¹—o ï1e·£´'Ô$`ÛAãøPãß“oˆ?gƒ`\±N;õÚ$/nzë—kWê´~YhÇ_~ä¡°’!­f\OgÂj$R« 6¯¨ÆOöaø ºê˜9l+jÙÆê§ìI; E» HðJŸ4jÔÐ9‘¡fsÒ0 -Ål©Ä»ªF”ä7Ñ÷b9xoYJÇ”®¸eú¹Ã•LÄÉ\³>É@Úì–&³ÿ½OAA†‡m"šgWˆ§’®®;YÙµ×&Ú¯[…«íÜSeÆÄˆìJòò—:lHí¸Š#ƒÝ8PO¸dæ•P2-Ó˜YæÿžA;SÔ¤]ñL` 0…$Ñ0 o'•”P˜å²£^UZ>\ðÅ"DFñU0SxÏ2š²t —‡‹>Wóï8ÐCȇDÁ+>Žjú)²üºêbå–Eì&±& fþ\`XÝ–dÉÞì“~01—6°p´\ ¥9[º™ô p«6z=2KŠÊ’"„2Ä%ˆd(×"Љ¬üÐ7I´Y´M*¢xÆÙžûÙÜ%cZœðo$nâQ]0áQ¬áb qÿ¾jQÞ§dÜZÌ^ÆZÍŸè\0xî¶Þqë>w/`rÏk­zQï-A>>°Xÿ£9ƉO>fÕñùŸÿ£Âò$ÈUµ¼á2l©LÔ€eGǸ‰l¶“•ÒoºEtgGªÛb4å°F?;[ýsaÙJ ‚z{ƒ²¼¡P‚E”fg’7æSÿÚ>ÐôãNîÏð¾W#€ã’1âLŽI¦@£Mî÷>Izε¤õ›`—Ä–³iÿÂ;-fˆ\5•µÁ6f<*±;Ä2™ƒçr\2ˆÌ(;Ñ7!í¬çG…ÑtQJ|½¡#¢Š5Á;/K¼66-¨úà&+ŸW‰ýæ˜wíñÚ¿…!¢X/¤¹.¡[°æØAN­"N¼/Än0ƒwÞ†MÍèÊ?º›*¥è:ð¯¦L$rÿŒsR^×å„A€+ZÝÆ'üÙk‹À‘#ý§èÑòŒjTP˜pR_)|hË‹é ¥6ç{Q~ä ×Ý令ƛU‡ÑYE¢ñüÝ¥_Â&®ö(´éà DeŒ ¯f+ï‹§²„Ù ¶#8&ßüÍ•»¹&ìæêŠÏóº}¿Ÿ°’ 6Ô*p?B3=Ä>C \ºýšë5Yå(Ä8k4Ê j»Èz.2S®y9‘¬o¶]ã»tD›dýlÍq¢ööö}Å)i¶CÐèm­&÷i=|ÛïÐgl ¤JÔÇ‹‡›c–T¶«Ã9º€º}¹hÌ¥O`‚#ä‡L#Æîž¤ó£R>¼ö1¾Œéã¼Àe­ƒö/`¥DÌF;)‡YÏñzƒ£DX|¤ÕWRÎZG‰±]Ÿ.G/ÀÏœ¼É ßݺp)À8Þñ94©²]u^L6Ù˜çŸßC/d,÷;‘j¼Áñ2©Si©Ög©B2À AFúˆŸ½7#{—ÈCÇà̵ '´™ì\-Ûoò¹ /É÷-Ò³:ãÇ Åš>¥¬8d­~»"Ø•ØÝ¤B^ÁÀÕ ’?š¿E:6-…YöÚ•h`]sk™úûDpë•'+,½Ý ¬Þ™xZsáÊË:REE2ßWÖw8Ã_\[«ü]šuÔc!N+×m!@ÉÁÔ¶œ˜,€Ã›ú­XÖ%ê¦wÜV‘tXl{s}æF[C›ŠÁ€Â&x^îµgã$²ÿ (ãT^n£±LÅ2à8[Ûmœ‡óÓ/%0éÙ‡'@ueæßÀNާ’W¡ n%ñXš-âþ“u%Â(eFÍäö) :,´ïŽÄ[:^x\¯ŽM?û†ýuR\|éb%!ˆ Á͌é^=˜ÅŽ–¼ðì eE¶ [{*IÙZèƒÿÅAS•‘$˜šÊ©Ú¦í ¤‹m5^6Srˆ6ÊßV¡0úiSjßÑ­Õ¶;Êöád{©ªg>í+ú3 „˜Áæeh'V¿å…æ†ñoã!ÕâÚïjšÜ+_ªfçÙ›OŽT×O*¨ª\P‚ºB×=ß=‘~.ù®ue·‰~@÷!ÛY€ë&‹Ò( eX]° `Íwî.GÖƹ Ý 8Ê*‰@„n6®ª±àãX„6¯9XX¤Z“%=ŒRvøç’÷C!ý$ÌU‰‹œYà9V¸Æpø–ûh_þ+ðNz R•õ¾a½ÃïÉ™½v ’i˜>Ÿ»v4ßú›‘H<-; é5_ÄŒ%Vؼ\ YöäL`Ü9Å´9:¸,ëÐ]NmùÚa›?MŠˆ˜¡âÉûbf°Ö±Çàñ=uºvØÕúlNÍå“.9ôîÄ`6±­ˆÔOaZ°º³B@™ÿ“mAKl¼§‘ÑXã^×ÇG™JÝ÷=EÅŠ«ængd‘C9ìù ˆ¿â|ÂÌøºÇ;zèªè¯JúÛÀ»¤/ðiÅæ.uM¹Ô^¸;äÁ~²±/§ô¼Ëù¤,£/ú\ÕjkÅ×.SAÙñx^ÅkQ^»´ÉÃŽàA±,eµLJ¸ud嶦ùØ“•iž=­þU£¸¬CÓ† ¯bï/[hÿt+¿`ÝÌ&9•ü-†Š´¦¤¹©½ä?+\¼†,¢9bHÔ´ ²„cJ?,ÝAö•s°È 5A"Aû}õ'ú¾Â’©&?³F÷Ó{Ýèµ -wê£T1Vv™>hsò åmë"û0 @‹`~èô¯Ï‹Ö¢hݲÎTZ¿LŸ&Éo‰,†¯Î«u3ù4gGŠ¥I9*ѬØÿ)m˜y/Sˆý'1†4 èOp³6.«0 +x^æ™K«LR•œgÓ ÂIÚ– ç˜(MbTñ¨oOÌñ€1üR¦…‹ÉÞÛ›å2A`Õÿ4Ï—MÿM¬gM~´ ÜK.(-ûû%ÐU»Ì\¿°R¥c •ø ˆ©ë¾ÿ‘ÐHª>jç)ƒ.Lz¥ òb„š`0bü¿Ö«7xk<•é«gy!P#¼Åè›d¼¢EI)a\ÖXåUÚWÌ9p÷4ù–?©/ZÁè3ÖP-ÐJXЄ°Ã2<¶ŽË7µãë<6y`“φþš*ûêeEg2Â/WþÞ`fñ1KHƒ¶lÞmkl¦G;}·Ó¥Z\Ó^зÊkSÊê‡Ù†Ï!§ûˆú¸,H0Î;ìÇ­ ©˜7ðÍù¦ÎfÞñz/nÚÞ°dPîŸ7M×ÌŽ½Ôäi%„om73)Ô-ÅB¿bòoBI8J2ÿêñ×ö7¿ž†Ÿ'=ÙþBª#à}+-A–‚¶RÕ ®ú,¾ k.¸F/d=ëN~ÜÆ"“bY(ˆ–‘•¹ã7ˆÚu;½¨|*KÔB|qZ?»H…äàؼ̵*Ž(.òºƒ³€gÛ)]ÿ”ïáì|çæI¥ý!>µÉ߈Ce«Óìdù Úd7H"Ê;(Ž#Q•;‰!ôiŔ퓿Èíû[­š-\ˆJ§-ÕidGXéxô\`+û~tº+š“bŽøC À]±:ÍÓno£È±<½¶²,ôÉ•­¬Êºtmà]ŠlÊ }èÌ7-Ãög™Ê/¥Þc¡ Ì ›m¥Ú/u®mìó®7Qzu2'Ó"ä”KÚuúI¸YŸ)7)ºÆ.ÔB=¨Hb·åµŸ2Ž´"ÑÆÕÑOÚÔ@ÎÛ˜þ: Öò£FÈÕ¾¬EXK”H©Yã óæ“òW½iØÿ_å`µzßCôËÍ/ Ð]쨱àA‘‰Lè£Ù‘‚i›˜Ì Jpì÷t˜ÞI2âa=ôÚŠöíC?£Ç¸Í&Ó3Ј“£àöК(3)G…U£.% slÏ‘Ýì_À™ìDŒÓùå¶Fh—ä2U#e¯äçÚpª)<ð%?*!»úL‹žütÑWFÉhó°²'`‘£Eõ²â̘ç1ŠkÍòXuì[L]Òü– <¼ö—p°Ä¤œô0â„A¿>TÎm cw®²soÆöÌ·fÀs-Žc´²Ô†wB!méÇõOñ§ßÀü…W`ƒ n¶ÏT:x¶T ‘ù½—lÓkªM/¼ÒíèYøIiùQ[8õÚ¸¥ÁŠêß##z~œ;tžü†p'ÐSmþîµÈ[Fmä¢ä¢ÈÄÑØõYqñL`ù¢$8?ÁQH·–üÝ´WHkÔ4¶®Ôõ0‡êAâJÃó7¶!,fØsÏ-÷¶8‚cïQ·»dÏ\­:0X§¼ròGòö‰­ì™H=›ßºü€‹â“nA¶…ÊøÆ‚<ÐsN¦¯ÆQ¤3}Æ2ܯh©v²;œeTö YôПAþ?üoêa8F\yñY雾nØmÐÑx¦fé•«Xøj ?Ža„’÷áxJ‰)зˆÓ]ª”½¥¹+lNåsüùÛ?Ì &\iÐþd.’¾Ž²ÙN©‘ÕÎ Ú’±ƒ²iAÆ3T½Ú+—ì¥6&gÕO]ê9×n«ÆHh‘ìâ ݩ™ВéÐnÖ 6âZKÝ®p‘pÚ»«ýÙÏcshIcýxEt%YÚ(ÓG:Üo{•«bçÿF8×ð6ç¼(Mù=ûUÑnÿ#¢3Þø¥¿‚‚Ë&À®´ÛWJEm ýÚ,•s‰*H)­4—Ö¬„ÍI1gU‹ÔM %á!O)k.𺠚Æj‘$Û¯Å"šË“Yv$jn´™œŽjõÁ2/Z#Ñ™ž®—Ý°ŠœÞ`À*>™ `š!¶^„¬;ä?„Ä Óz¶ðäü‡; @Så7"~ˆü§Cæùá‡ÂÌLóa6àQb9Ð¥á)¼(ÙwÈ~–ÑÐVµ‚q`’ûí—Ä­m[È…mAë3âüç´UÌ=Å£×tÃïô=¿8‡„òÔë³®5§~r±Úv›¹è;¢m,6Æ$g¾€gŠ¢Y‚Kô‡H$ÙTüŠ©*·û'C7U¦Ñ.0;£'ôª8Ï0#îjš†Cx. _YS‹)0gÀr\`óDÉ[Xê1XŒó ñMª!>ì‚å[ù·yR57mª.½!Ë8ƒq½½»„Žp[À„¨6?ÒKàü=»ÊÅd?³ßË%â61Ž©…ŠEá,mØr\ÒmH°åõ$† ˜Z=ÎŽ£â/]µµ2¹äŽÇí6—«æXT‚Ñ„hœˆá¹ÆOTÛ4±·ì±Eÿ­©™e˜òMeæ^†ìÈú)ôžV¾:® òDT¼#Û »¼†‘é­Ü4!»¾|/¬<gÔ76WÀE’T &ÄÍÞe¥ÿK'«¯0qÑÏ¢ú8ö›/~ü.*' éNUdѺC„&ND–2%ô/iÀuÃR"tëÖ'šÆãuÖ†çõâýè…“üÞt`û‚ÑO²~ ëƒH~D½¿†‰Èhàk.vÆ‹Ü~i7eN91{ž2'Žø¤¤®—ùI;'ЉÌ1¢´Í°P7o «NJ,Ì‘!³6™Én;BÀ¶ <íh­Ö‡ìª'ØŠ±àšµ‹í!®>h9qÛxr×À`ÖÄMMuOh“F‹øñw`3À~#Â%˜Ë‚µ"äÐ×gxì%ÍÝKÞÈYär? !ˆð4k”I}ZbkÀÅIuŠ+àÇœÈtëòW¾ç(_*ƸÄpZ)Ü£€iÆÌî˜B½¤åHi¶T³êÇ\>-ï‰Í·êZî_(§-‡=±N, |:À^DKKw$sÐŽ&¾k”a1>>ÅÜÙÅöã›>!!^¶ÅI-PE!Ô–¯}C#¸¹á¥ªÙ{Ë …$6öaQ]ª¹èÇ ®QCøË˜"|ƒ¹Íuž”h°¬v”FÐÖ’6»fÉ›©­ÞR\:¢í"¿ ÈóÚT3ÈwÇÞ”HÛ#x%‚>Ç”Dó!—¡Wâæ­ý7ÎO£slyÕÜæWIá+Z“P‹)x, iLT~ƒ Ôcl5ï—†F O®æÂ¾ë©û˜Ê<3ŒËŽÑ”/fæé…ñ¥3…Oþ“%†† ÁÏÏãNoÕíÏ)˜Ðò×§Ÿ×OE%´w=£¹4¯ÿ~Em:™¼)<._•Å’HÊÝý›1æÝã^ÄhºØ0 @c?0f }Åf¼M¤Y<Ý”Ÿî8.voàR*ûå*Çï‘x°f1[ó{p’¨…™Ëä bgýAÂd;¨9Ç™îþ5eaò{ÍÄ6ÛÆËu½*‘¿ƒÑd| ¡ñc=…s7ƒåHº|}ÔÁhÈ»îÑ5ŸÊ?#í n—Þ%Þo óàÁæ¼Ã—,lŒ\íƒP‡y0vðí5q6M6Þ¢®r«:Æ(°¡N1º%g§~š±ƒèæž‘6æÊ°‰þOGÏÏïzÿ0¬é~Ɖ\>2-tžÔuÓ‚­T.á¼Â¨ù¡Rý0\`wÉ*E{åÃÃØ‹«¸‡Hý¨ª!äXÂ'8ïõY?"÷Ô—Sfî±Ú±"Õ¶º_i,3æ­íÿ$ï‰ Z ΖúÃmH7óÂŒi©4pÀ>†]E'SªÏ)lÁTÉMÀÓAá‹[Q)6©cqâðÛBljʼ«©µôžŒ±Aþ¨6Ë?0™ üV¾Ï ÙoP†($Õ¼°é,ôáë[WCH”d«$„Öƒør§ò“ü‰ty>ôùèä”uYOR«É¬[¼ÏÝ-ô¢Ïÿé<·ç¶¾¢s–F Dq{.Â0N½%u­„dKI¯ŠIÙäòe5…"ЖggÓ„/'ðbÕ¸NXÊÕ / `§ä™5€å³<üõ®MÛfçªüô7=rè‰~(¡ LW…RœPƒåÒŸòI,0WŒnFÖ’½¯xäxàà2€++:΋/ÁƒžY¿zNÀÿ‰³Dï…’š—ô”ÿ¿=þ:¥8Pæí ß‡!ÿ½¥£ã5~%zÇqwb¿Rì#K¶œ¥LÔv/Á:rŸ³Ð„Ç8ÚV7ï+nT‰‰ó^ Ñý÷É9僥õ†š× o„äÔ”×€ŠA^³b&dužžnp[ý„Šýc[S†T˜¶êA~ (nüŠÝ„¦ü|¨"eL¶ôô¶„†™Îæ‘Áø–›*Üf2Õ—¼Y2åIê/º:À¨öâeàaæö"{Ó-N’6WvOÿwÈsÖ ¤;ùjÎïÃD6pxƒ(ŸÜ~š1… íß¿’(nMª™Ýoë)H!ÍŠÂŽ¿I£\£s€êE33„Ý©%²0‘–Tv—)Ç"ÁbÅÈð…óM̄ʈ_Ï»ËMƒ™#Ðlg9T•¦NÀ ¨}@d‘=/¶MÎç^«ô¹P˜l'™ ŒJpÙÔȉ¬Ô–Ú°ðõµ»§hŒbn/2/“ÍËBþ–Ö¨»ºÙSØ[à»aøD/§9pmJõ¦lÆC ‰#_HGYGl6J<°Q²Ëa:u©}Hjht),'ëå7^´“¾©¨»é#N¥a¬˜i¢áø¶N[ÔÖd¯(Š»mzÙBgŸßá_=–zÚțЭ(ÁHàⲄ;ü»º Ýù÷hAf§·_$ü«—iAuµHö΂ö±ËQ„¼d¢`{Á‚“ùÇÍV©ã]úš×5`Ƕ>4 ŸŽ¦gކ‚Ízïv«c]RÂ*ÒÒDEl€nëJá•Zðø?OS4Ãsè+‚â×±Šº+&Ìùi׬əX½ƒY´Z?–ETRt‘y;XË‹¼=H¹ç«°emßOƒbL÷kÒØÂÂDèеïšyœXlvokfvéš×=)KJÕ²"§çÏ3Þ‡y©<’Šò’RKY¬Ä •µ²~æÂ3É¿E¼#ÂÌpD‹Š˜BÂíîÌ;yccÒ¨Ö7HÓÂhX‹{ŠjÔÈ”8y;Ê;x³†¸ÊlœZ7dò؃°û;}Þ§­ͪ/èÊ„ÛrQZD“ÃÝ~ÐB¯Ô½; :‹F@Q5zU>‰Ep%=Å8ásøo ѧ¹Å÷uW=ÓJžÆÊQ—ƒ¦æùÒl>ùÏ£…Ž48Èш“ÓÇázî.Ò_Û3)g#*M!'Û¦µÑÄ’uzêÚ9LÌWoh.$üÖWJ êŸú'|åôB’Ý]Þ7`#I»ÚäÖ ±ß€Mº µ,­cýF?’Ñ}º)1R³gïk¯k×;³ÌvÓŸÄ–#!|PÑì#Âì:«ž¬BÅ+'‡X’ñ™ÿÓ¥ ­ÓþÂËÎo\·šER ´¾J êd´§ðYo­4¯›ZÈà´Î*ÏÅu4&ІoÁU>ÄûÔæ«æ¬X“)²º¶€]¶GöÊþw %Σ_¤ ÷³Ä3ùz{*Á\Möy·\ ³rÜ+;_-qy©œ¦Ì$’YSa ‰ß¶óVyåÐ&rG¾’çRFȹñŠ,Õš³Äà&á·øúòɱ~PT¼W™õXzd—5%”ÊOZž. ÷™ JUŸ õ0Ìâ ¢³Lý¯£àÙalÌ|ê…MA£'iÑ'r“Xú£@žÙ0i,•Q°ihb•ާ÷ìoŸ¼“Ô¸ >kºIzOpÉzžæþd½¹z…%`÷ïaa;C š~ÒŽZZF ¶­À¥…ýâÉ™1•œŠ•ûÖÏù,¨x„b5Ùœ#Û+ÿ'íJ[°¶“øúÈE²iWxì_~¡DËSHyÜÊÉ“£oàhÌ~±K­‡1Õô©›tcO×mÖ©·çȪ©*:ébNÆš2¦Ûm]{z Wˆ¢¬m;Zu¨bPKAqÕÄ-ëTéw1Ë?z²…;h@Zݼ‡•-¤y]Iæ@¹…\V n3:HËZÚÛnÇ> A RnUwßï&Æ ¿MÄ€WRqtÖÈ0féݯÊö¾æS°VF-?)Ù0µ‹û’?0ûß>1 Ë߯ŒËÇ^;y,:´¨N6݈ýà­³éBÌ¿šÁwÝô¦ ZºeÒ9Âü1™ÔÖU´DÞ£¢ gå¬è*€8K'¬< Í‚…ZÒg[`aÉÂ+XÍOÿó{+˜<úˆ×/i´4 @ì*>ˆÉª…©Fª¿eQ•1Øô6oàäwã¾½’ ¾xΰ)ÀFL̹NQ*Ðqç:€ÑAïªüo±nŽïü4TS§¾7ÝôÌÞ6QÃm½ë{3ü‚µw¯ø%0olç’ñ}Óž‡0:hÓ¿ï4õà Dçüjò€Ã8ÍD¦šÀ´eµò‘$Y¥f$¢$ÿT]Ç©:dŒ5ª×íR{Ï"ª²Ä1*î)Ùk—£íÚZª³²ªˆŸõç°0ÇÍå´ CÉÐ {Ü&‡]3Ua‘‡%íÆÎ¿$füŽKÔÀÍÒ½¿ø?áLÔÖCª¢ÁjÑol·†´ÁM …½ÀÜóÊó¾‘{°kä6iÃ^p(-tB´Iá)ÊÉíKœ!þ¡x¾Õ–ÚØGS)¦ßT¥EŸÕ}(ÿ D4\[f‘q°Ò¢PxeúÞ´®nEˆ¿ Ã[Trk“£H}¡ü¦˜ÁÖ_üÊk²<Þ«üÓŸºfÓšš ¬ g”þàî%2ÊöǹBm:p‰É´`,7Û<Ãeh™S“Íøw¥Q&÷K+Ì߳dm™C,‚È¥ÀZvL¡.;£”³ê9,Æì|Ô,ï!÷F雩+zèj»1qôÊù´"BbÒIJ+½¡K72A, -Xè§žÍ,Ö1ñBÿrŸ¦#NæQe¡ÖÆîocH¤¨}ÃK ïµãx›¯4=Mš\´‚Žø¥Q•&»˜zuiMc÷K ÿ¥Ðêw:þ‹ ëoÚ$²·ñj±( '3$}¿“®ô>ômQîú¬–ÙŸ,÷F'˜@hÈþ÷.m€Nýò =YRDiñ à¯,ÊÖlw„’²AöëÄS7ߨˆS˜*Þ}½—Õ³w±”Í„\ÕœLSÙ¶ÂúH‘’¥¸üaÐZ0ô€¿3r^ˆA5ê¥åAáQ-žeˆÐ-ªÛqÉý÷þ Qâ\Ë¢>WwÝQ§…NúÛ x)ƒ-}‡lSêS”¥ãPÓ|‡y­mã" ”'±Ì¾wçutq*fÝ Í5;áÅ·qízè–…-ƒ<’Pm¯ÞâøCí=1í÷-0.CtÑ0¹hkÆwbù̓عËb‡BMR¡‚}Íëõ>Œ œNŸ¹£5QÔL²uôR6²S›±œ®†J¼–ÃÅ/TŒË±‘@y3,ÿü¢ŒH¤p¦ÌÞât%Ïfü@÷ƒTLË”’³L°%Šàpà ,gù„j©¡¿A7ö@ÒÕ´×cw°·‡Wî« `áb)“+@«$ Dø’›çÓP¸‰…–¥ ø‘JPCj]ªÅ¯Ë •M¤d,ÆIÕ¯k2ts ƒª_žµÄˆó†êñÓÍ“ƒ`‘u…éU€ß·-Akƒ1¨Ù&VÔöLùŸ ÕÏ ¯¤9ÞŽ&0ZˆCG`åTùZ‚/Wªÿ#óbuÓ8G×sØ@Ï­Aeë§g,‘ø©ª‚ŒždGh\©ø$BÌ1ú–0s Ú §ÝÖ9pgž ƒÓ9tˆP\_.“uÛÁÄ8+£}øŠjÅ.·ŠÈHV|½”…\^±àÆùâiÚCÚŸF <Ÿ†¥M»iÑC/ineûÉ­†6 v$é™818¶“}Þ Ñ~o¬„¥uIliù½@Sù2: î Öº°»¼}L'Y@Ýg êÝŸ uüÿ’¸t@Ú¦9ŽÎY±få®É–V¼‡ klcY%¯‰’åÑîì¾FõKNêìO¨[U¯¼ü"ì€?íNÞÝmo‹”Þõ= l©¿Ím™õÆlÕ;òb>–ÖIÂŽÑÐHµ.š’¨­L Zä0þùG2eýÄ“(\bþæë¹2Žb˜ûY§ ›m ‹¥~Ãb"øl¡r*Õ–çdÂIêwÜ‘ ¹UP6a×¥öõ%ëé™O:S¿shò¶—;¤Ó‘‹ä³¢·¿GSK+•Mñ¶‚µê%@Ë•Jž)„oB=ÂvÒ­œ0ºʋᄣ—K÷ù”ì§p7Æ­¯v$œ$Ž174¨i˜+PzªsȺ%•‰?õ|B·Xj/üo¸Öoo a×W,Û'ËÔÊ9æO—w¿{³Dbßô5ˆ¡h&ûbÛsUåE~ض~^¥LþꚌu–\ÊdÌtPµšÂßwÉ@çBÃAÞyÄ]ôíÈ~7â"ëU¡Q&QGÆý#õÔñVeà/4¨V¾Aªéë¸J±3¾ß)¥ÏoÇ~׃w²á¯U†ØxÙ»v©9…Q+på)äêAÝÊg:µ~•âê5Ð<9ã,_-’±[Þ²Þªõ£Òq?œZžNmùÿ™XøeM›ëýgÖ:¿ÀµJIŽ•­ ` #œ~f^ê‹ú^œ?¬Š¥‚¦ªÕRäëì–T­gê …Á¿%i/é51®û+ì %TõÞå ÍJ8u¦\ý„¸ö.¨Ù7H ³ÿ ÙxÍ9~*–~¾E÷W#þ¹Õ‡c·øtŒC"zOÛù§™F0"_ZÀø+u§Ja.×iwÒço«Ë Èv‘w‹|ÐÑ{á—Cçˆ7.¤f{ãæ§î»’Ö óù9F…LƒnWf’ÖŒ£·Ýp,ÉKSé¬Mo›òL8ßµ ËzhI³ßHfF‘üí%‘Ý5/æ¬>Š¡ì½7½£ÛJ81* ¤ð©%I0g´¾þûXÉ&¿ #DXôéî(Ö62‚¡Ð©]Ù%\öë0UΆ…òwƒ*í0xsÉà{û$s¯¶ebà«Äž»CÑÛ²ùXˆí†zêðÆ‚T gÙ²&>Äû›æãQÔs‘óQ8Τx¢®½Oà h4º“`.¬¢qé™À7;}’”ÝéCD<RbAZ…tÕª¬&Ê>,W—¶]È®LÚŸÀÿír$66 uiïzD" ðÃMoáãñdœB¡ í9Ò3üDÁ†ç†n¸0¶wOR¡ä£›8Âk8Q$:Õ6¿¡IXo%¯6Ép‰ßªÀÆ÷'šäΔV`CS@’›Zf;*kñT‰­í®·BßKÙì} Œ¦Þ/1,©HI¸‹$xk îsýŠÞÔ RÇ›°]|¹,Ã2´ý!É)èPcfù¦}'ŽjþpÁâg¡™|Ö¾^â€@ïßú¡´¡n"Ô> 3§œÏY|x^?[GÛZêÈ/ñf|ð Á"*§‚vµ “ÕOC‡©`Ï»£Œ½.ŒËØK1Œ#Ïss®0L~–VI «ùÜàLM–ŠTQ RGT%v…JÓª! !ÿÆh$­öó¦à1Ó;ÛZÕ^¯ÜËö“¯¡u×¢šuÖˆn‹Ãíé\ÐÁ†‚œQð^çZ¬~u6±îûVÔêÂpm¬š«AXzÀj€ Púü9Ö B+Á¤¡i†5O4,éìýŽŽm'‚)k5vïºB¢˜ á§ãuë¦hTs1› Ë©ßWÔ!‚éÌ`‰ë8æç9þ2’PEëªIë‡bŽÊƒêgX¢óIˆ=›?Ò½x™óùm C¾ãøá$ÿ)òÛÈŠ{>Æ®ïä^ zILÖû¿î³y˜ƒ47¯»>lÑüŸL(’µã t“g äé%}iŠã…‘.Ú’ò‰€ ŽÓ‚ªtRà²mw\Z{Ù\¿~ÅÉ6¯¬ñCÿèÒ 0_«>ßé )ïë(B RöeÍ^_ U圙¦#Eª~ìÜýäh 9…ýña.2]]¹h3½3GîÅ^gõ4¦ûa‘v¾Ñö?dèŽ5ù–²Ñ*Í@7pÝBJã¤öÕ¦ÿ%Ï Nu1¨x¾"à ôåŒnø H$kâ@ãªÑN Ÿtø&$À³LŠ!j“6Gh»Ì»áÐèÂ.U<äfm¡yV~Ië Å1¹ƒO‘”‰Í³n0_²©éô6±(Êpɨb.üTŒ!Ø2ÿˈãWüñƒN@ŽÑç48uB¾så ,î°˜zî$c¶‹ooÏŠ{ZsmZTÕâ:kß.ÿò0¯"ùf\áé"ð†¥ÚC´WOÁrâöúÍö€j£žKÔžÀ Ô¿vlõ×ס÷æc 3q•âž&®M¾åyrH¶m=0uPËeR›ÊÍ\!ž>–é¦N†(ûúÍï€Ï`XHÜÏÛ¥¨Q¡|ØÃ« Ǧà[â{(Q²V¥>TÅnO{znŒ§BlýyúÍV’ø 3h}ÍO¡µÁ“¢‘3âwc8F$#þêk.ý‡`ü£,§cd%ˆ­Ë¸0RtWkðwE÷úÐ4¡}Gå²\ïœx@ˆÛ¢$ÛK Ù¯ž{L|$‰6)T¤O#©UX†Uñxt"à¤;Â2€ÓÙ4Ôá’Ä[ÆÃÞ‹†ñ/°—ZSr‡ú‰úž†ôس}ýBè²Õe¬cÍ~¹H‡3ö÷–Q,-Á)N1VÌÈ"²ŒœÑq pÓ*^À†yѺ<Ý.ëý²‡EeÔ©§Ö )WÉÚ/Ý(€bšŽñ¦‹ªÕA$þn«B›´dûæz¨šsûCªä,î6Xµá-¸ ûA‘únoˆÍ8ÖÊѨ$êqƒS v¢4Ë=î%}Pq,o§æ:ÃۨȽ÷›EÕZï9’yìv%©¶|ã¢8j?~$˜Í¡û­ù'X¶ší†Ù#L”,/žPÜÏDb#qi•v ̾©£¨äzʶÓñ/ŠtcAÙ+RÀ”† ΃GO»$Ü1¦‘—Þ¢tÉŸ¾àOÕ×ZéêgÍïOÅÒ¦Ó–ôø¾Å>ˆÔ`Åá ÖæÊ’P0Áð#ƨ[/ׇü \y1v˜K@<’k#ÅAÁ]LÁ}%1S¡}vœ”IâÌ7tí"´ ‚Çc`îK´^xà†G'Dç·ûf®–žãõQ@J^0È]gEošˆÿæÑ<=ŒRÓõ?Å“ßùAŠ;íˆí/±ÄQ•È·, .¢Û cZ¢|ü”äá{sn)7Þ"-. ‘§.¥Td”צ£›-;Éë¬ûZ‰”öØ)øÎ%ôθã§UÝZÉÈêîÊ™ è&{öusßW½‡°pû­† ½âƒcnb°«o_l¨×Y;¨c|ÃJå±<Á=›´M`µ ØY!PÝ9M³ŸÎŸ•'DôŸÚ9{ìå•ÔSFI‡¯¥r»â$²¢¬•¦Áçïá‡Á7¾˜ß¾¥áðtí/ÏW%Åyˆ¢%È+qLç¶Øã¬æß¢ð)ã(èß=[#,…̧-ÕöX„é$¯5¯œéD ö–oe¥,l‡)Z˜üOö+&âúÄc7"gˆ*¨nyaâм͟!v ;<Ü’W›Ræ£Ö]ÔÁ$OøÅ¨ªÛ’5”‹—,4à‡ÉÑÒ< ž‚Jaå­_çÚž@¹É ç-¶Ð»aå®z)‘+Ê·ÑA3– 9æävFÛö¼ØÅϨƒv¥^Ä$Æ21«íõU‘Ý.â\NË,±¤HA©.§JùV ÄgPûyùüvþ†è4-(ÕWï“tk!»+ „¬ƒ“— ŸßuúÒ{óÁrt_®ÙÔk?=¢~é¹ÄÝî° û¦ÒîSŽ[¬Ë{µÝå¹#wÎ#« @¯±«3ÊÉrstaØ„ü÷yܺ¤ éVò0d 2“¿ÝèU뇕 Ür1Ã?+·“lú:ãøŽ]žOæüG=FG‚ÊÅ(Ÿ¾+fUÓœrÝJ³à]h]š;¦;߀5¡~Ä‚LVW·* |a…¢mDZ žÄíÖˆëGð©ôa\j³&]‰Ð;:!bCýY¡¦±%VñŽ ÁŽb±Æ@!Û6(x¦3 ]oË26õ¿e™\ ;ã@Þ"ÿ^|'ÿ¤ö¤€Fvm¡X4¨ PRZi)JÕE¸¼•+tkÇs[ßoMÛiy|ë2¯×„·×å6tÏÇ–tB5¥µµä¿÷h k¥`pïJà³;‡m8‘ÌéGˆ-ÛÀ“Þè0Íñ ´Ü:0R6p’oó‹B˜±5§;”î ɬÉÞ™£‹…HxKg#g&u‹2™ä`EÌݹW5IG=êð©™Á­.Œšù3s@8.M…ÓÇk©")AÖPÒX.¹ý~ª¤ˆÉGÞ-ôÕt¶ôXkq÷bwM¾Ä É “e[Ô?JˆÕ¦î@•¬S.6¥Ú|À¯b@^V®è~š>š<Ã7<Ðæ›.ÍïUfb'Ò]É49µìcÅO—–•WJsɆIÙ‘DÜgË©òæ­ t“¹V§qÈΛ%ÊŽ¡‘ q(7nvvÖ¿ 5É î%º10ü™ðüUê“`…gºüXf"åGŒ0àûa;[^€w ‰ÜŒW#iËìîœ^³òãÛGù¬‡`ì\õ%ÝÉ<9»ùŽW‚{H^ÌwÇ-$ë<­_Z‡„Wfïó=‡Wޏ¸%~„]NZã™\€„D:WŽJWÍäÔ5ë΀6/ê•ùPò!¸ýIÎÜz¬q¥¾V¾®³¢x‰Û—iø}ˆµByô%‰c—(ÓHO†ÍmÚú±¹™>•g÷þð;OG%9W¬¿FR‹Ï>rC À–$;çÎÀ¶Þc7;V¨‰>ÞÝf 2ùý|]8ÙtºpbM(ÃþõXgR•²©Õ‘36¹°ê.aÿ13® o®Gºo`o^TZ`Š‚—ÓP亀îpºD®Üút±CÕÀWêNn“ ³õZ¹±®zx£72¸6)ëGê„Ò‘ÿ¢ëV¬>ºÕjÀ×™ŸÏ‘æà›T±I ž­8d@”"– ú½ ]´úhö§àà6‘ñLÃðãö'9Ás¸SL(—9QÊ98‚G€CëMœfsÙŽÈÞÓX„ƒ|ÞÐeK¼éÛiÙ㯔oÃ7~A2;ê×_"Òt1¶ËÃÞO?w¿îù_Ei»G$õ“ƒ'·€Ü¼^ÛÛÐhFŽÇaÅhžÝâu‰ùmKV)\ç‚ÏÎô‡Ž±³Úh @ÆkO™ fá¤æåìÏŸƒM‚æ)w”a‘Eê~d)®FÅ_§¹{Љ1ÌÊi]pá^  %{:£X1ýè=ûÄéºÉ ç5$ëyå!/ó¤¤züQ»?(s¡•Ÿ—ÚqpbT†>!îdõDÑFªÂTUœ( ÉSwb7ïC1àm|ŒödúÁy`9èŒÎ~±, ¯&¬0ûüĆ ‰]¢í¸ÍqD&‡ËY­Ãñ¸½$¨h“ ­úTbÓJoÝ-KC˃ Á'lÇÅÈ›!cÀ ¹¹gž ÌaÁÑ&@'ú&!6ñ中Îf†G½Á…x@¡÷¿Ú^«g‚ˆŸwd{¹|ù±¨·3Y‹s¯ZÙö{vÊðËNaëòf#}ƒÂaºÿLrW(ò¬E­UŽx­E[Né” «` û¨¸ä%ô㻘‰ÌY$)FøÂçŸ+KV}–å8AøìÓ ùŽ]ÂÏv„sÍ2–ýoÄÔèé€-áÍJ›¸.…|Ðô÷âó¤ügÀ¶ ¼,ŠŽ¨ð+¿ÜèÕ†>žà„€ÍÁXR+®áA»  \?ø†%/µ(°¥\ûf €?þlÜœÔ/(1ïâ?_ÔqòÖèg®,À¾¼Ú¨W¬èi™9· *:Í›Åð¥ >ó‹;$4ÁØWhlí•vYDÝfè:$Ú]æ®iÃ¥d¸öÓrg4E_ñnÚ1nåœÊò¿kaιR¶¶®ð°¼®š)r¢¥qQ5óʶØmÂAÀo@—%±R™‰{K(´J7Õ'ƒtÅl™Z{̽A2zG;@ž§+5O޼¶*uª)ÑWY(ÃWKÆ’¾ýB¶YK³”¬çôë÷íj¢ˆ”X5íPd s4Jr{MkŽl?ÃøÏh‚µäKCç =îH…¤ C˜ñÓºï})±9\¶Tb®9º£Wb(ñÑÖOo )—'i¬ \ IVÈÑcW)»ÊG,îíÄÚÓ·Kæ br›y;Tøˆt±€:.#GQE5í3¶EYÎ*qé#ºÿ“¥'vò‰¾uÿ¦ÉèÉ‘k5î{ß+©Ú®? ç8«¢u¯dÆ>j²‹c‚àícQj™È”¸ÙñP2ý/ú“Î} •‚W4jêÊXG\Í  ò nAš{HIùY@‡L“*DÞÒRhÊm4j©&âX´²ç&Ý ¿`ª®˜[ð ¿»åVP¡Ú0"'ÿþÕ•! •gi”÷34°šëÁØ>ŒoÈ‚Ò^âÄ“+‘t™3Ø”mÐ}ák¢©¢,^3äù*Í VLö5H×l ¤¹[ã‹9H™%¬¿i¿é¦ý###|S¬eÝkÃ1 €㸧VjqËÔ°;HN!aÈÿ +]s’ª$ä6¤®ZÊ ¶—`}`‹Â•ÑÍgÿ'#J9똻áSŸ¤˜§.–!¢€„ §äÊ;½¤î«H0Þ‚.45Úδc£ Ñ$ÔÙtÚ'ktÔ¾˜Ìc{€׉L˜1³i¿šÏI H;fù³ÂDÏ`tŸÏ܆6Á&Ș¤˜Š÷å,xÔªY_N¡ó5 gÌJ¬AÊd(xãR·AŒ =mêù²;r‰q“$·ž`Uø®__Û¡M}¡ìrҾȸÉÊP%öñ4’¬ÌäßÞ×*xÉ.ÂLS5®±ÔÏ>åM,Máæt×® 4ÅÓhçÒ‹sGßm˜ÔgP˜ÀÀØÔ¶Jf3¢­è§¢¦mœT^eRþîÀf–»'k¥b–þ@‘¤7 û¤Ü˜ %ÆžD£Î­‚;òMUn}Q ZŸ«,$*¸eÑÝu‹ñ, Øß*ÿÓ`y ÈF¡O³Úù}òfÝð2ä@V}õÊqË—àZ²É(ç ^iP¸NÙdíŠ3Dp¸Šbùuë ûY”"´¹ÐŒIsäð;ÛåUV~7ž x]eŸQ%ˆÏ¿[Ø®”™ì×¥¢ÝäG²wYJn©îÛ€”Z’Á{ø.äOg€ù¹ôNÖ¨ÊÒ8a>,Úlްžn©bÑBõ£Öó…¯aí$|ýB{¹l`:› »ÿ'’&½Ïa½èør ÄZ!jáS…Ðñû€”`Qê‘ã»l6mv–«ð9¿ÞBl ú¦K@NKbÀ-³Çá‰ë8Ošl—La}¥´?ÝqV¨|)XØÕ¨VÇU¨ä‰8=Íö_RãY!Ù’ÎöˆvW-Ç2U0âÀß•4×øë1e>vN2K >Ê×÷‰³¿%÷}£sÜ0ŽKkÅŒ2#yÇòzfÛóË+j(h¼.0r+$Ñ qGa–„êhþ’”1yEô<â&óŠ1¡uîú£‚­N•uõE˜°âݦDúdÒl"N¢Þ¾6w¿¨ÕR¼ýÚã—Fgƒµ«ÚlsƒÈÙwÞgÛB¿r‡ß}"×7Ì?[vH ¹@ÊÈF0¦~Ëþh)g‘ibÝžøˆ 9ã-÷\R-_“ÖEed½ZúJ“:%‹€ ª»#í)Y ÔϼøÁ—#vÎ È¿ä`§F$òŒ0‰êANºãGÀ…)ˆ1ˆ¯KÀÖS $ S@Pœwq·‡µŸÏ”àÝñ¤”²l~+Éçòá§TŸ\Ç] ™rX`€{2ÏpžÉôÓò^eèb½¡Mæ* q9ÍK4ŽÛÅî÷Ø)1¶kítÙUL”u´iú%EÙg0ø ýÏÜŠw¯2’%çñ'Ñ&nYÀ׊¸2¨ÉŸ¤Fˆš°fói; 2+O.y¾÷t¹´RO÷sŽÁùšg†Í%{܈y^v2¢þõLw‹g®¸\Þ«óµy‰”^j½d”­©Õ“¡@šÅkaÒk¼ÎÔ}ãæço<óÞôfvØ?ÿ†ûAÍ>žìbk9öºož«ÂŠß`[Éõf {\WÝ"í´þSJ„;¢‹Y©g¤¸èÅvÃ(_:²N[{îºéÍ™­¹«±ž€WuÖù÷¸ý zo; ä(@áJè!8@bè˜÷VÞ3ÊSŠ›f *Œ¢ÿT(a®ÒÑVÞV1B…«—&]¼Ã¼#ÿv‘`† s¯ôŒÊ®Ï˜y|±þ% xäƒ'¦Úïõ&‹J¦OZAç>ÕYöN²$V>¬-(€r"êB«TÉO>ê–ûÓ‰=v¢Èœ©¥°M+'¯D¥‚Ü‘àµoN]}ù‹›¿°§ ê‚wùFÂ,HòÊ™¶E±Û(¹q'Õ’¸×ÀKž- ¦w2iHûk“ÈÜ}š¿&úßL%^¨Ueó´9èÈÔ =ùoÒøTЉ{uGûЊâw•œ×¼½?¼•Ú›ÐjuýØòMsûÈ”IZÕ_T ®x ƒŒ'LP3´aä!ÿÀCï)>Ø¡ÌaQz;Øß8¾oB™ PAQ«ñ¿Â«) Ý4;Á´ÀhýleækWU5`œczMxË¿NîÎ]ªðB e Öµ\åE¸ëÚé“‹Üj„M†À¿S!Ô[),¢f"áûFžÎ‘ýGý€ £O™k˾.­þòéÀ€ü‡e»gè‚æG;øû³Û]‚ ²Hås~¸»Rñ($m%ÃØÒðÒ@èiA9Æ(h´a”…ÞãG€H&Ž;J$h»…7üºð9kvåa5bðg­Ù4Šá¶Ÿ³ÚËsðüš:’d¦•5bhçãtÖKÎ6¡ë&¿–< nF™ ÖÙ6bÅ»QÉmEF»"òÛúQ¾²æ¼Y—m©ˆ\®4_Ëë3Š>~tˆã„F|Ú(3è‰v Ý¥0æücc½§îcQÒaÂ1üE3ŸŒÝÙy¬DèRU"Ø×xmHS qJ¹ƒåæ'L½HJ×ÉŸÔ–C|ÕÌÃ@‚ëú¨>²ž œÉÌÉ`@¡‘^‹ê Á,á¦bµ ¤¥ EðÔ–æ¿æÂÁ¹¨ Bi-ÆL56@‘ž×õ6R31½íìô]ìSÊϰ1Œ]kkÃsûo[£vs >I—ȵ¼h¼­¿lð î—æÝÞ죋¸zÌd™Í@‡Ëd¸Ó'5¦gÉÄŒÿV·^˜°ˆ ¤} C`‚M-ž?ë¿SiæåÓ}0@Ê0ÑǸÒNáö¶ ïj]:\²«^Ã(ÜИaâ¹Ä3)©ÉB`QvJ|}¸"=jYK០WeYî€ÓN†žI_ÑQ Bilž`­#’•q„¨fdܹ홪P”aF3œèpZÝŸ–$\›‡ }§q&¹5 b÷É좽·Yc+>e³Ñn GçWUZ!îTl« ¨N{îú18çëbòX>¯žLLGͨ.—S!äk ¤ dœŸä¤KÚ–ùk¦*„‡Ÿ.Æ"jü`Åš°ÃmwçAÿjBT :¶5«N.2‡UŒöàî¦ëÀêx>Ìz£Íae­š#©Æ'[ZúD—!ÖCËq¦5Òÿ„pŒº´’Q>|Þy¸ÖIñÿèYmÎÌà^X3B øûAl/½V‡ßù¡P1 ý¬p*÷‰öcºÖ“Áôç5ôrJ*¸à[*¼e­t™§^4ÌUú¦ûQ‡<—ÙšÞPUt&Úv=+½éûŽ1TM©DÎÄ«v ©Ãkã@¡]çOnÿq†¬Á£{¥xêÁ œõõOÊ¿µ#É0Õb4öì‚êN“¥Ø¬h ôfpŸËô=tÿz¥óÆ{&Ï,ptÑüX™؈ü ƒ•­æµ†O>~õXoÕ¥b¼÷«íyOc1û& @–qÂ#'€*se¸"Œhfÿïps¬Q7¬q¡“s\³ï9S샮sfÿE‚}!ì—Í+FÐ]TÉrÕÿÌìV÷ZL¥€ÊÎö[çÍpM©Z”)Ç¥‘l)‘»‹ |ãVMb‘òaÿ|- ¶StŠ•/Ûÿ7Ý·îlsª@Î&é%öyœ]£†ô6Ýлüc–&fdÐ{£ñzÑÅI󉟺2÷4 /MÙAü^I¹f6Ác"GõˆÖ•­T¦þ£#Vœ!ݳ­•ÚðJƒž²‰øØÔ°rãÄ)ÓN›PÀÍãSFNÕ=ÄÚ 6$+¯`:¨ÁJ@þ þf>ìBâhT´¡Ã1ÙÂ@B¸¤,dƒÆ„L+’j«íÌ>á좸îÖò¦d1Ó¼¾ØwœVÞ:"»À˜+ä‹Y×|\HZWp_ ,.±‡Ê&"ŸéUX§¸ô›”ș;~ tl·ÿÓZ-.8\' v~{6÷ß ×ÕÚâ¡Á94”Ò÷‘!ìÿ{¤,…ñæLú_ŠÁaA#HüŠK 'ã¼¢ŒÝm=«ÛÒŸ› kC¦[F¾?c­M¨ÿ¬±k xkØhw7Ø}óõ% Æ;ÉuM¸€@´VÓÈwn Þ¦”º–r¿¶º..ׯªLû]ïdlwÉ\«Œ,V°!1>4À”÷úMã0'@áßko*…à&Ÿ®A©ToRÔHêËæfR!á“C{ÁÕT£ãÉ%“bçî-°P)ïWUôK°ÿäÍÔœ¼Ò—×=Sê¹ ~°Cµ…1N A˜q‰ïjQ %¬8¸ÝmLfÝL¾k&îž¶¥Gõ‡)ÏÀF ÀÌÀ– õ8$Š®ïÒÐV ¾HíFãâFÒêìу–—û›h®Ý¸;'²áÁ¸Ÿ·‘O÷++¢(û Cýô™WâÃ_yn3¡&4ÿ¯ÐÕ´‡JŠýÏß\þ`@À¿'K"Õè ¶¡ò‚jRƒÈY±ÖXÝÇ*uˆ%†Úº’ªˆr6Û”kÃ.D7@ñ5íªjxw[ʙ"z8Y‘ŠÁÐÔÐÅ&¸…8º‘ÚMgr@g­‡0Èq¾# u!Ï%¨Œ¸]þÕH'$b›Hí¸/†"ÿÃ%iÒÄžè‘Ø&wö¾y”•oE«ô€¤h`bpÏïöåFÇx¸·O9”›ÍK>÷T™E\ôÿbÖ'âdÿÞq©&³&ÜÞ™TT»ÍtÞâs‘—5Nµ{¹™†DFF(RæzÖbÕU‹e8(‹Hݪ+Žž`¯ÉÍ«Î*’¦"S•™ ¬$ºÒÄÝ/3µp‹xXƒ<—]žrÔ¿á„§*AωÔÞKU*ðºÖßîi>.y”5— /YÔI, kèk› V,„Vx¬‘ëü/˜x—áx¼bSŠ1×üß –V¯vgtmWR'ò„Øq dRùUø#ücÎ,íƒ$Œ¯;c`Yþ(Ïo²Q u¿08É…¸¼©JAö÷Ù9]9H­‰ÈwL±ukí9ˉ×þ¦@»öèÿзÕ,•C× g%§79–òz,²ñ5B©(±ÿyAî8f¡ýP)=ŠǬaF†9d•j±=×ÏóS‡, £6Jÿ ãá„ íÝ4¥1⛌‚0Ìq¶½ ˆ/}§F~Òåš(ŠÂ½â½l”Ìí[ › ô Þ}SØ×6²š¼E–CŽfÉ\û@Ý9ÚÀª Ç •1‘µ‹Ò&àÝ„_+,41˜0}žŒŽÎ!i‚µŸý¯3~ǯe½!4µ´ˆ¡’ñ‰Js <ø<¸M$Î7Ó;éè{sUÅ+ðonƒ!™·ã­9¹v'ETíºâñS_øšh­dë·–$U¦‡à½Eyoý á;¸+‚ñ§¢d s[Ì,(ò'>¦e…BAM7šJˆâð?gvaÅEZyÉOU"¬sšcIÿÂÕg"Y.­|tä´Ÿ]'‹nÁNGš9AsãZcâDðDz_ˆ3ÕùFŠ£ èÙ¼1k«ÅIø½=.R[‰æ”¶tr¾fîwF¡B4“úq/«G˜]¾XÝÚÎU­[>ÞbE°©ô—¨ðßþMJ^ð>Úmuµioó¿ã+u÷¿’n­-Ò£óe¶Ÿ"7€ÆžŽîJ q«yWeõ«¶Ü×/Ê*?q]KœqÏYâ„…wcU#Y܈iÒ¼ov„¿Nn8nÏhŸÐfvxÙ&hâ}¦}~“Ëš¢¦²õÛÆ$Ð(¨úóÎÒµ­(Ԫȫ½ê…óˢ%ëØ5üŠ×çùK¯´ •-÷©&r*Å•9V?˜˜pÏ”W®xÒm[=€®ñÐ¥OÀ?ZÉþæ{ÿ5Eÿ¾~>EkÐNRÜ”ñÈkð·,×¹«èªn£¿•™ñ[UµŽx2ég‰yIÖ›“a‘£*¦æ‡_ä’^òéW0*°|<ÿ ÖïmIÀgöx‡ZÚÉ-ÕoŸÙÛ–.û\áÙͦëXä°H©Da(?<áFòÚyÝpnf$õé¡"¨Û›à’Zz©%Lüéá98b.¢VL¨ÐK#'OowÓB51YH3¿Ù³×³ós‘k½õþ{aaqèI6Æ(º¨Y²õɆÈÒr½öÑìk|¦Yà3yåô×`¬:G\:­Î"`û‚2ëž4IwYaôQLÍë&ë´Ÿýt* ÇåÈ}q?üÒ'®)Ÿ–׿ ¨ÞÂQí¦:©t]4¥f{FJ ¸ë÷ÖO(ëTkÊò-!­^&4y¬U³ÃF7àXßü§‰hÈh±¦ðºÕÖ¡¹ÐUŠÿEˆ2‰T´ÆÓwÆR¶\ÒpùÐFß,iEŸ/V0‰ÖÊçm«<³.¹ëD5HÊAG‚vnæ—4áÛ•ëó]†ÌðÁôêù¬õä“äÐûѺf©È÷VÅĬJ#Sª.…et)­“ùg‘ Rìô'½­N1Ä 9…‹UÞÕJŽûÅôÐ!ªìåž“^Þ¼ J±«Ô¤zÌž']îéjÑ ¬]0X‚¼©êû4êR/…¨ëíqê§XV‘›Q†k0 -‘ºB®S~/kjþÄg§²¯²ïÎo¹©¡#§Ý±ÑZ‰æ{”™éÒgÃŽ‘ž\»ñlc»çКb­çœ±~ŒéctÂl‡~öx?üüàHýÔÏêc(bºâ¥V•N(ø¼yS«tÝCê/j™aÃŽØ{ÄGí<-%Õ1\øæ`©Éd‡´2¼ñúý£ëËpEhýüh¾R>¦Ú ÅU'7Ž¢#PQÔÎÿ–Ü Hä“Jv¤9Ku_ mà{¢2Ó¼ˆò9%c§ï¤L·ÖyGÜQIî,×xŸ À¬ò<§-ýn–¿=¸O"c¬ôž¤”…%s­až o²ùöë¿H…¦ÍáYà¡ÕüÓ t7¤…ºÁÓ?òFÿaTkyÊøl5¼9 *B¾aš›¾|Ýüï¶{ 7.<×U8ª½¦º~¯¦Lð¸M‹(8ùgDm°3í^Ý…× ȯI¯¾ÿöã½É稊J /”~êwí%à$޾‰é<‚6Vr[>œ¦ž=H(²·útÈA[6Öþó’wô;å…5½L§ƒ§!ÜœcpÙö·\¸pPÕœä‚(ß7pcjðª6^ºÝ'¨ýÍh‚!~|ÎQÂ_Ñæ„Tu"ó™ÃI"jÌ\ôB«=uBô3 ø xÌèÏ÷u~k=CncU:[«#1ZÎþ´ù æ0R)k+‹õ43¡˜>¥/FÈI(ÂV¬Õ «]Ë–]Ï‚äòeˆÖfœ l‚¬ZU[P~’ã"@Ý1q3‘§ò ¡Òü+(Õ;²É0:¦GI(¥JÑ:rw(¦‘¸Xø(ëm,6,És™Ës:Ñ2(ƒÒsp\~fôq«Ø yœ)æâvövS“xèU /ð9kÓ•»~–7¤qƒíaÔëî>S‰ŽN DbiË„'Ô ÉÔ±MLõaDPÿìgϨéŠxxZšb“‹àŸß»È–yÍ9K¸ ʆBDçø²jïÞÛþÁ’ì—ŸeâÁÕ"é´ýr磟Ïá—¤<Ì|Z.‘sôÂG{¯WOÄÇk=²,íIƒ5€ºòŠŸ‹Hç‚ Z}šúT/!1Øþ>dØž™©ÉÚJÇý+éz–¥ŠùÖrM9©Ú‡0ÛϵSåÆê×ß)f÷ñÂÅ:jo¯usˆnðw~4.íÄ%á‰8sôþÍLt‰ÁWá»14Fi?±¿²ý³YÏ<8ŒëªˆËyeP{cõsòª›­]"_ÿ•Yv{ö×è40˜"„ľ—Þ­Áv†+$«cÔqÝ•È`âW 93$ÌÐõ#€6$®¤ È(u‹hh›_§O¾™2rs“ޏ¹WnÚ*Zà­ðŸèiÍQ@Äš"èí–.*Æ.YÂáÕ"± L;!”i * Ù ºª ¡ `èñ¤•ÏeRU:Wðµ_8ÜwòfE‚*¨éb7JâUýÇ_¿ bào’uËd‡2ç …AöŠYK÷N·-sËûnT[ɽʞV#t5·"ZÕে˜~Ý ¶u áFÐíîx"‹Q«eà̬v>6ŠkÓÓöÂxÒcO` ¨~묱fL€G<ÆÁ›Mwx‘¿Èð™ÉY®¦ì^&‡•Ùµ4Oæ.‡±¶j,Öñ^ÈþW51ržw+R~u5¨9Ž7Ç@ÎùõÜV^K°u›»ÌöÇQ2"PxFSïQ^™m$ZY½(?*ß4Ô;lJVûêþÊI€ÿ]䉦§Ã(äâ–Å*`}- éqBO³¢ø(»ER:Ê+ªî„nF†½0Š…eº½Qb Jíw¼O8'Iö™ 'ïéÇs=†'–qÓ@¬|u¥%£KaÞ&¡ «Ë Xèÿb‹×K…>ªrB†–4ïŸA!Ux0à-þô`,¬®dëIævn/ì‹{Ý.uOò"˜­†ÄÊó® wsg³ó{•àÊ#°úá{Pg›•ßéfö"Æ E&Ùˆe¾³ç'–A•^æv kÝÔù%èS¬H““Âá°[éB†Îvu9Ô ZÙŒesuû=žãKì/m(B»çSÖÁ·×–ªŸý´r.·DôH¨S3+m?Õ»ëUJõ“Œã;æ¾ÔÐg„ÊÅi›HÿdùµˆžÉi"¡Ò÷ëE*f¤˜”¢3VÝq7ýÌ^ x ž›õxAȘ¸9dk<Ü»y·ÂŒ“щü c“Ÿÿ”¦øâ+Í€9#þ¹ù ¯ÌÆhü®F°DC[ ÃÔÅUcúÊÚMeQM}¿›£F-±dŸQ Ù/€ëy&MxÊæ£Š{Š¡u½ú"è±,dlà¶=в¨!ºh¶¹Ð.cÝ·EÙAê O_k±:h“ÖiþÛm®RªcÖàaAØ>¶:V{Ío-boo‰Ú¡l»Ëv-# M‘eN`¹k$,+hZý<÷ê³ll¨Úá·+©APãõwkím.]“o{®[ó#bÈ#wÕpzwžGÅŸQ >/åÅåˆn²~ˆb@dCÒìÅ—:•E=·@“Y‡Q…ÀÑ\çø¸¨SqûÚ â‡ŽÄ}IŽ vä5.É m›H0úE¢Ü³?I£ÿ³eI¸æeµU,ŠM,²þJåß0Ä@­fn6•ÉY+ÆÍùO>¢ dж ¤i;à_!²ÜÆ8¾Óä›ÏRá@`_LfLÖžJ§~Á¤¡³±xe érÿŸVð›Ñ‡»qiÄV׈`C—Ûf;蜾¸†2Ÿ¦Me)òˆdV>Åò&hOi.Úz´[Gº™øNb=UzAŒ.Z™½]E;³¶«÷y Ââ\/ýò/ ÅE¤Ë@­>Û,³”ØË¿¼·`OocZÈ üŸêZµæ ̽Ó_|ÂkGéà¥É¹âaèþ'²L™ÍÈÓB‹Å„Ò|AMç¨ãè uñÌÂÐÔü _F Ÿhpð-j|Žór¬SQ&®{‰ kŒ{6š*rlš±‰ªÐ¹â_GÏ[eÆÿˆs¬.Í(€ý©351'­%¡SÈSxa‘é/'gbgÂc  õÕ’L›t{Ì/ª‚†ŽN¨G='BÜY {&A{˜?ô¤~le£ *Víî‚ÔÉ£Š:ˆ¬™vßô50MòÖ—r­‚ƒè·Æì‚ÀÌ“`?A~÷òJ§ûgn# :"fY¿¢F=;aV™ÏìYèÅ|j~-.¨ƒDÍ_Ë—if‡å*sÈ«BV v&AËŽºy-¯ev§vØèdø[Ù÷ Ç30«þìoüÖzJ‰¤Ü N0ïý·kT¶›ùJÌ/ÓÉê:ú^±êD‹1ÀE¾Ë:…M%t…n{Þù˜‰zÔìûË­–0÷6«âª=˜–êx‹ Îñq+ÜÂÞ.îGØË”ïjˆÝ/ïèôó>‘Ú¬nþ›.P!½8r[͵ýnX¼;´:qº€Q®¥¦ø=’SªîÉ_¯\Tüv•÷„ Ì¡‘ëÖâ Ü$nC6ØŽ„åeÒ}ü(”Ùçˆ4p€ñ91n9Òå’LºÃŸ§ÈÕu^î èª0Z^txÝà¨v×àvBL¤éî×—%–¿™Ëõ›Î<î4À1u¶…a7¨–”gyûØ=±­)/>¿ó„âf|x¨Ñ¼2€-°°ÇlÒb:¦f§x“öZÕ¤¹Àôß9ômÙàt¯jv\¼ä¼¢¬×—€‘§ÛDª¶>ЫÐçŒRJkƒ´nAûIöø”©‚m„úçCg*ýâ/$ñ-´R"|ÚźøÁ'cÓMBLû|ø(-FÅW}Œôw4¬î¯ÁV¢— dÐmv¸ÛÓaß@ JxBEc·&ú LdgsbÔ—äTœ­ŸÛg4| õa›o?mMEØáBÆ Ì(´´ãpV?¾&‹»nâÌ>»‚:øN$Õ½íuù@ .d¹)?Y:¾`Vçï"X¡¤p íHÐI¨^—âÏóÖÙéýÔ): zê¯õ݇ú#ÄüG »gf"¬”rP¸§N‹´V[UbbxlsZóßf7¯´¢cZpÈæè6'¢¨ábªÁÃh0dª:Ĥb¿ôHZmÿ—oMê‡Åˆ TØ/z$&´yÉo_¤“Œ\`Œ_©´¸J¦ÅCh-0¼$‰~‡\›h¨·é›]Œ¿&r\ï´ö>õäpÇóÊ„P,€5öt¹Pê©u¦û'I·_©,ûÔ½«cKIÏ|C#–Љ·¥ÛZ,Ë‘>ÄîÇKjç9?Ö"›80¥÷B¨—7ƒÓ3àe_ÏÔ_UµãÅ-+hí‘L£SîàDm8¹°ä‰ERZ ”íaW»+ ²UÁ̹.˜nz“ôšÍä7¹k4yºu ¹{îúÀÁµ%<¹p¬í¦Ë÷[ö¥ëÂW¡¾Cå=…’Ú _Ç´˜ùž @°C*£wÏ>¿ÉžÌD A:[=4œF7ù±0gŠع`‚/æôU:‡½Nw“ÑLÇÄ›§†œxès0ÁÏn%Šë7ŸsÞ[ùwŒÕßÉ d'Y&¨ M×.$z'/ÉzÐÅé){³¼ÒÙô_­I=àó·p#µjµ=ÍU õ(D|FTJí³œÍY Ä€yÓ]4ÀÙ[ب°›*åÎNäðaÖ¬öu zãExR¢ÊH媔«9‰ì•xÀ«­1ÕkzCÞµÊ^‹Þ°hF`Œ$£¨#oó3Un|zÄõ¢ëîuS’$3š»w–"J‘Mž_¤ŽG&;¹÷"¢yƒ'Ì“¶v.2ÇÚPì•§®†ßL{í’SMÌcrå„ë¶ç“¢²j~žZHȉ͠x˜ÎàNõ”³ áòÒ¥…ÙÀýØ\jaLÄ0×ô¶´Ü|ß›†#u‚Œ]ÊâÑA3îdxLc¹úº$è³uwT$$ÁŒætÞ!Òˆ@u5âD™Tû§4Þ­0BB¡ÿñ:,b´_Êè‘$ÀÂÜÄèm™r}aú(QÝC÷ «¢T‡ëšJotƒû•Ÿóxó×°ªNiSRCÝb|B£>îæ3Û¡óhðÞOñ<®r•à‰…—«Ûwp%k#Ÿs×Yà«cÒÞ1ò²-F…Ïm¡[/ô–£/ù8R`…ï@Xª·íÉ'wà[¡3²§¸'àÍ þÛÙáÍÄ•Q.ÌVq(Õ¦"vÖÎjDT¼©£ )˜–`Ù´(’µŸÓx –Èg(äÊÜ}5}îUئïB+Õ¦)d4ƒX£þÚ=#qápZ{ÛXª9ÊÂÓEXÍ&ˆý(j߈uµÄ-é´‰fÒ(/ÝO˺-Ç~ó-£žÀió2ZêãÐVjàtá)ùvµiæüʹ°Jdª: Gi ø4m˜fÞägLÂÎ ?åKH¹ø0¥mÑM76î,ÊIÜäà_Õ%Üó7mb¡@1k]ÆÑø¡³ HŽ®aZï†o.0â¥7hós"ýzt"À6C,Ÿ'Žû z³€Ü’‡•j»@Ïßð§šÎø†n¤dTÈ‚±²s¼i3í·:£ï4Ïún)ð‘P 9Þ.R6œ–´Søó»ÔÞl{vtú`3äÁr Æâ tJÎðPWye±¿ÒÌ8I†Ù‰ÿBtn®Ú=³>?ß`tœØ¡SÑx‘eyn6üëxMH}p…˜œ'ðuÚt‹j{­ô¹43Í>‡koÃ7xïkã ýdèøAÏâôÚrqe‰E¹Q|0„*9Eì3™²è` ¯HÇ'b¢·…¿Õú½â#½ ˜pƲù9v«ÿ…­@ºMQêècÜr'MÙKûîFÂÒÇY¸KíU¨ÎÉ«ïJD^¨Æ•§/Ñü•ʉiµ6€ÀfrÄ(ÂW¬ F7â><¬XÍ“¿Ý ›RBSÚ²89^mg—Êþ’ã÷ozܨl+ÕYœ9¥JÇOÖœ\B¥ÙèN‰í$ëd]—9Ðïœ]M§Ï±¦ ý6*9xòãNYÕZ“'ÖÆ9ŸäqÀ_©»20«ÔÜ«[¿Cβål•Zp>yUèh7œÙç,«ðSÁA:܉„6†N‰©ÔQ¼Ç«_Ì7ø=MïŽíL¢—lv0³Wë(h9ž¾¶0#kàDF¯[b0™GB‹—ßCz Ÿñ_r¡W²ßšè-¡ýä;(ë‚ïœUsŠü•ê£Ét–°sF7eu®·‡™&JÍ£‡øaGyoàE¶Ò:tA6¾¥Ü6ý #Ev´[ò¯üTÌl¦¢êÇÎ sçQc~KÍaÃÃM8èE”àÂþ©a“˜ætÄ/ë)áãeêÒÐØ;jÏŸÝ8Póó¶9Vø1 ÆÄ»¡äc €voL–˜dØ™$U«0Øáè9½Nó7Nì FÐi.Å"r&‰p | »žaûXÃvbnzZ!?U†žòrg쎞D¢ÞØ:usøô&Šälú$èãÀ.o:žp°5ë¹±qÜàÈ+{_§½kj$F€„ò¨$k –kÍX×åÊô!ÝOÕ3Úe^Ç`,M²R˧&.Ž“ÔH®áÓ ˜;"!´ÿˆ´†ç²c™^Ì6%êßUŽü’nwÏÕâ5//~¡áéÝR½¼ ^ҊצÏ&L¼•ÃÇzk)—ᣃpÉ’Hí¶”šÔ„X¨Ò1*Ë?üÉ‘4†2^{¢“]²‡QåEe£?胨-«xeUŸßêht/îO”çMœ¼ã0¯Ó„ÛMã‹9ž¸"ù±¦0x¸Ÿä6H `=‹3þ=”Ì/ÇPFÙ „q…üó¬QDz>Ò›bLSN“X†j§¢ =¹ï¨i¸À“ì@S¡7ûYEå1IÍç»1Ô´asòi Ô5ïÔ@æ¶ã…VÔp{†ŒDoøÈéÒé'ÐíÝE²“fª÷\) é¹JÌaÓ ´'Ûòùßšúð}¬æóHvTà”AìoVË\M+=0U~ÔöÏQK‡Þt…v^#Iª±‚A@ Ë-³þ«’÷±¢3GÔþýäÑ Žiß˳”ô¯1yîŒ1Rf¨Éè/ÑBuv»+Öíu¥+N\ iã¸Ñ¡t@_XäKÙÃ}:2ã_Xƒú§G"¨qn—.V¤a_^Eþw‘eÖœáõ¿©Ã¸%deí™wœÃQ@ö­8ØxŸáœEHEý$[mšSF›r´>d‹§âTV^×n'c5|”‹gy~Ü]¯üv† ÁFnߪq¯Ýv@óWéŸã±p|á’MÛ8×çÓmÓ:úlK«cM"Oï®å)žÜí2 çÝzr·U²P!u™r1ÚC…’z&ŒHŒºæÚÔ SY4U™ÓÁÐo–ÅÌGzQ‡úMfè€ ¬Œ4:&¦*ÇaÚq·)``óWçõöÜIœ?èƒÊÑ'•"u1]êM0MÇ~C :Pïûr»jéE‹Û«£!ßÚ D‚þéRlQ¢-v|a ­mÝõçVíü9/½[¾D›ÛÊ¥ÍÇÏ•Ï]$gãþJÊEu;Y•:Y›†äv¥Æ±lQ äÈ~žQ“¼4H°Íõ¡üAtí>”š3/ú“þöÌÀâ,µŠD!ÊŒqH¤¾඘ g;X»\Ù¼™ ¨÷$žn¬ïÑO Y ¶„½Ç)¿£Î}=E;´ÝŸö9ù½øêŸÒ‚Nô•*ý_‹šfc{ ŒNq>mÛ!Øü¼™5?F–€’2î"ÀDWa $¡ÑôÁm<›£zðç;™`m%‰r=…‰œ}¸ŽMècÅwŒ~”O§^¦št°Õe9™ªÉã2Ë7 Fcwò#`©y2™ÒóÒ¼/±U苊3Óœ?¤v×jäÑrüëð]b²­™—¤ù]² Û©z‚ýòv‡á[DD1[0]׌¤”ÝYäÂ)Ô?²œ˜XoêrèØ×ËíýnÀ¿bMÁ”OöºÀ†kDZ䔾áHÚ÷qJ\b»¥¥6ª'<R&{"ª¬êÍ-Së«‹ <å²9£:Ѫ#:Çñ®íKûwA Ðò~Ó¬HC¢ŒÐv"xÉ(Ùbj{æ0zWfªûu ÍW4!¢k¡lÈÈ;Û½üsƒç'Qá6hÿï¶f7½¶®(÷¹vÌ4µ¤8¥GøÇú1 ÉŸü°Ý4aÏ!Iç<öïÑÕðâ¬ø™Þ)WúZmÿf.Ügâ Y9w]výÌÇÔ ´ºÑâ¬Û{Ví ÄtëŸÙ× 7ì5}kb_ÃÚ‹QÅDÔfMå”Cà›å·nñ)j^<Ñ|à µ&D¼'‘ö¾~ˆ†Ïðpb/#šm=AnÏÆáu¾ýŒ!MôÖ•JÞÛÆMgâÖ² ô Œ,êqÍìÝÛÚÛµg“¼N]·®ø[ŒŸú%[OH¨Öm=„Ó1$:Ôý{qP‘ù¾*9_òî ô^¨H«Öw’¸‰5ÐÓÛoübÞ–sIÓ¤+Çã}c¤”óÄwÓÔ^výÁ«ëóÒʉµce· qñ}ážT; …ºº“¦HŽŸÊN/ÞykìI°F“C®í Di“]RŒ¢m˜ß˜­¶E‡l-é<‚ÕV.}Ó´Ë\C½Òÿ.¥ˆ9éG·$=vóyÉ7š|˪VÐ<×>øëíõN)šå²Mò8Ñ«~†×bz†ºÂ8ë¦z„ï-–'k+л8×-ºMš–Lñ‘ åJõ¯Â­Yz’‚í¶¹•áåìMƒ;>ÌÏGªRZ´!Ã…^mÁÁQÐîÍH¹²¹ÈÙ<(ßoXè…WKõÈ%„2‹ìÆ(P"Ì>_ë"ñyQÖxÔä3‡{ýéúp {”I7{³0 ‘Àý§¯Yz9Ñ`b›v‚$.Žo{MšMžõRú²_¯‡}¯Àì)GŠßÙí;ußk¾å̲)訫o/G‹q©§ÈË>_ø^iç/ ÐȹÁ¢¡DÈ¿ak/{”C9p¼Ì¼©B­ø_'Ÿ©„}ðX—ý“pj,° ø‡/K>ôÊ‚xÝ#k™(•´V‚í,|0«ûó¿F€Ga¢Â 6Ç&R”Ò› Æ]zc ÷=$P9Rmþ\îwgKŽÍä¤l9¦\WíÖÚfÀ/87ÝJxñMü©¯qã¥V7ƒŽv÷û\¼eŸb=ûê½0²µî8ø¤¤ËÌÜŠÄuöŽðèUU4÷éª2n¥Â¸Õ§ ÂFî,A¢ü·/Ó¬%Ü _òŠGp%©Po§Ìýf÷“£ð ßé¢ÙVåríT¦0o‰¯¤ÞM&NQPÑ­bubzµ‰a¸Ôõ‡ok¢³¹O{ ÊÅHcæ"º%h™g¹*¯pë°ÏçYNR“ÑyVO(#²wóû/ŸVl¾²¡ÙGDí'­:<˜1¼pS¸%âîT| .IÛ´öS'tã’Ójߨ§ˆWö@æyY?ãÉýgHyd…iWªÉø^u{Ñô^¹2™É¹ÝŽ\–^4ÆSõ¸“Žj€Èç€&Ȫ/š¤f$pÖÛ3o£ƒ.ƒ´Áä°œ@Åò;<ì–AJî$ ŸGzÆ„ Ô–‘uþ¶8ŸHŒÍR·‹©N6µWN¢G߬3fN&9˜ kÏ_zq¡)ø¬ìœ9,F2LË÷‹åCzæÂB(óxT4u nYôšØ|Rö#qPdxe M+SóÑè‘!ê”Ɇ¶±üÐ#pQ*ü±†ì®PQr`=H;0@qô "ùüRP¾Ød E0U¶$ Ù}ÙrìÝlÝéiÅ&½p~8Iiˆ®cÑÀÜÞGóiØÁÄL·(Óõ ™lrí÷‘šÕ…<÷¼.²6@“»¤³Ø1l\ˆ!§õÊÌq¯Mœñ;[¿Õ¯bœ:¨³ < MiÛË3ñƒaîŽ~ö”rUárãu-–•>R¸3Åo|ú( MNEL÷Ó84Þß]Û i&àã”l¹¹¦•›ÕÓƒøþŸn=W¨Þº{½ˆP&ØîLñYNq#¦ŒnÚUÆKæáÌ*ù˜÷ë9vS…Þ•’'Lä(qœº¹`K+)=’iëE½{àgÄɨàñµC \Kit^É;¨è;tŠAVËHÕ·¥~«;tN:k'ÍéÞÏxÅloy7‘á¼Ðl]o?Y |lÊ\" š9}ò7k9ÎëoÓÇ*)µÇ{&à3D°nÝI¨g²ö¨0OéSÆ¥N¡…ÃèË‹´…n#Ùµ_/ßÝ?oYIœ#æü"h ÛR\Õ '—ªzÁ´ 7ï„Ԥߢ GÊÐô²:ëÉ‘FÞFw=B”°;pͦ½Ý”…V:šœ%œÚÓ=òñùžïm•굿æÄ¹°!*úY:ÚWøàÙjÈ–×ÿ¨¸Ð— îj ¢³FqÀÅš—KñÑËxJ&p®•N¹¯H~sØgŒeõÆwÅÓ°v'éµ\ §Ó}¬Ûáþ.‚vV4Þ£@ÄÜÎÂô÷òÀ“O’ ‚8¸wïìÿDOÐ ~œöE ïá׳gŸ32‘uöðAS®@ÚL¸CI]ï ¬õ75Ù“†5uv!ÛÑ­½`þÊ­R›)¶Ì×)U#¥½#˜Öz‡1’Ú–Ã ¾Ôj}çˆrJ;ÃäÉÊžö×îy x/ è¢^Ò®8›iöc,!)ÏÆo~ÍÇ ™ðåZ³¡#rE~ ÉKÊ%Ï…ËgoÚ[FÝ©îµ9NB‡µMN\ü ×#_Pêlü´3-šÂ)ð\§eqÐI…GØ«r½™üQrGûïB÷>¢~k–zÌ.Û‹Ðæ´Eï£ÀÚ¬¾µpf”¢ÀYûµØXƒqü¢òÒ„Øi®„Ь‚Y-Ôyw‚’¯Á\m®~nÁLOÀДP¿¿Àá.eÔÄŸBMjöÑõ# * O“ÙzC ø\6霵QIÇ1S Ý[ò¸iE$ÙÊ0Ä«dØ|ÔùtRÓC“Dêz ·yAǘ±ÚßÉâ“ÉÛfUÕ¤ ËÞÑ.áÈÉkÌU]ª*—Àè:ø§6íVh» NÓ)Á(ÍqýÕ áßm!mì²cŒ¶·cYÊ‹³é‚híúøŠóÂ8‹•~ Lc#\å‹ÂGˆÙ®†:§xpMé¢5µ…Ÿ^t»Ó Ì%|™yºÊÜ‘NîRߤ“~Å^û_è;®B/Á—‘@²ÈGþ¤<´2N‡¶s8ÍŒ‘ ÓÄ¿ˆ¤©,îŠHqûÒ[ðÁŽW?¿z÷›ôk‚ü•TÇÑõ&C1ší„L&N?•³ÔÞS_Ëa.b75‰ji&rê+GÕ2²å–¦”+N¹o·ìO›ƒX43ƒ»j-$; ]hkgcB™7Ž4…iTØ~ö¸Ä÷ÿ1hš‘&ÓÛ—]âÅÿ˾¢40PJâĆԊ¿AÙKi±jhœs¢´/a‚÷«—@÷‡1‚Uɘ¶{Ÿñ¨•‘Ž™=ÓlÒY÷H|]¸Ý áÊ2õ¡³?Úå€|kéÍì€Ý´|ê¾?2)¯kÖ²×ùt§¼ê(w„£™%Ňƒ–_k×pvÊrÚÀRÕ««ŠGe>ÿ¢²Þ+Ò8$:±ìk:¬³šAg©Ì&¹å0‹çÿ\÷'#Ìç ¬6gP¥ ý5”p®œl!¨6ÉRÜüO;Ôd»P p?= ž‚C.š®ÞúÍ‚˜žM„€ªÐ¿Ž¦žDË’ŸÜ [†d©ÙE,,ƀ݂³½®“Q†ÕïÜÃL‰]‹ÒqUœ«¬Ç\íÒä’¢†”ËΫg€"&Øõ;ƒ±?®ÞQ~„ÁòÙv“açv‘³L÷ÇOx•TáT)‘á`â©TqƒÝÝoièVAê>_lW=c¾mñ l„¢lÆiXç{.ò k-ïw¥s铈‹X ¾µá¸câ°NQ¹å½K®‚Lÿ†·…¨œ$’z£5S®´-¬¦fwÈ´K,–œ Bf‡nm—SÒš*½Øl›C*çŽç}¢­½òØiµd}ø£Vš« b“‚LfÖý2vv°Ý| o¯8„7㫤€nãã  rñ7ºžñ,” \ÇâÆQIø"©ãÌÑÑ¢ö•„® *j7 ,äöž‡W?¢*OI,MÏêû²È˜Þe{+_=õl6‚ŠC"jó±U¢‡a¯FpU b5ã I÷„ÿ7gÝòÌfZh8r¯{¢êük?½tHû$dà± Ц´¸{ÃXŒùeÙM’êt;®´ÀÇÕ¦`qŀ޿u[±Øá¸CGèšÅ¶Ë9>“ÙÎæ€ûð&M¿eïÚTlU´sÆØRÊÐiD­cï(wpÃì^ƒi²¬ªÐen€aª R;ï2‰®Ó‘wÇ ¨DòŠ%/€0Kkêh%BM'Ùï+ òoŽwØíb8Î, g€ +a"„¥FŸúô£f¶Æ8 É2Ï’Ö‹íîñVªLì™6ëù†5šÀ¯³“ÿéxíu$ù¦8ï(X-€ EÞ¸S! '8—gJÓfT!xˆ á L! q~©ŽÄP]“ǹŒ=Ääéa 'Ö/ÚäŒ-þ\|©v¾WÇðåÍbµZê:m pÔlD‚+ä3)m)y/ã Ex:>…è…Ï3  '¤}ZpÇÓX&+iLÙå °~Ôd­ͶxãºÝÃÜ;Mò¦¤Ùæ¼¶í6@ ü¸[é@†W$V8vihYàÐñ¸Œ7ÞŸ%xªT¹±ªÿxfT뤵ՓCæ¹÷𯹠}Ü™ý’){+$ÞiO(ÄyH’I˜àYa÷BU^w1~Júö™m¬½Â ¬Ô˜)Èü·8ÍË n'ÄI*ÚQ{ì|Ë¥ìoJµ?•ã†òiNaýOzWÀLî` üà«Ü=öï\»·lãru·î&®Oñ3wo2hÿR%=ˤÒë&ÎÌ3xQC€îGÅ'æëO©ze/D¬®>„ûwÔM¦9ÞNÕ>γìvcL5m¤œŒ’íV]žøîy¬Åb†!Yá.>¹A4O{·$…øi©ÈßhiYÁà&uô%5¼Ô5³qlñ5-?0„¢0å(©379ÑRÇŒoíòh‡m$ŽŽºaÇ$ÕÁ¯bzÄGsÁú€ë äÊ®¯çŠz}o&ÿŒ#où‹DpI­Ò@µÚýõ܇ë1[•ñÖð†¨O§Ç{O¦©H›"qþ=2"ÐJZ'»_H„ÙêQ¬¸Eˆ9õyšúIëÈN0R¦1ãÄiz!lã½y/Ü^Á·)˜ÛÖ‡+É“å‘>à @ïEÒÀ%ý:×]HºžÛá¥z*±›j’ƒ˜ÛJ\KÛ•|íóÏ¡¤³/þrm'2ߣWõ4‡sv¥nßõ.®,rŠV?¨eEÔÜaõÌßZ?É[âi"2‡„OPq.ˆ@‘5‚Å‹{8#8‹Ë yúJûá{n.öŠ~ å7º½6¸@$$?)¼Qé,+ØìЛ»¢H*ìÐÔ¡Zƒý®‘/¯Ïçq›•îq‘–x>¥¢u:™Â&óù àõža™-9Øx܃w¢¢;gÒ:”æ8ŽÂL7’·;Y¶¼K—Ür±â&]ìÂÌ,]‚yÄ“?TšôªÉÔO§ zŠÌ–”(§± à¦p:H.¨ imÔ»‚³Ð’Ñ«°# áV2ü@×õÇ#ð<–÷{¦ïä<%KÓDkÈú1¹™!Ÿ6ma«ä.yÆ#I‡ùU - g SX1STííãµ»`Íø ˆœ<’ÕÆžh:»Ò‘ZLGk•&)§Ó)™Zc0tJF¨&UqŸÚ™ÝÅ\ÉFy¢(zÒ¾’kôt±îK«/°²!­‘3D­4°¹ø‘^(#ì*.Á$CÈgÞNô¡Úû`íÎåë RÆßê{ú¡óÚä—†¯( ÓÖ¨ÞÉÞöÃ<¢(ÏýDð¼g_×NþrEéÙ€yø’Ä“v½N0¥Ÿ/5÷¸ûpŒËXûV‡ BäÚqÎé)Ô;q»lŒqrxx¶ûµïÊÓ_¢9vÈP6¦ (xZZÿȧ‚LS¹êQ@ÆÁ¿l%Ùu­OòÔKªÂ |4:¼ŽÚëà>¶ã›Û‘ìU7·ççîP7ªuÕë&†­½4D^ |=n/eÓ)‹‰KY‘Åݾfêtœ…gýNÞžOY†ð¥Ñ*.AÛ[±±]°ÓÜÆ«@B©j¦ œÍʃÖp` Û´©ã3¥Ópö];¢ˆäû_´©ê©òù'å)žF“Íy‰å| iéõJ¦é?¸[—ÿ·3H Ì^ñÿ~§É¨`®³\»&EºŽß#þ[‹R:;¦‘(1…z]d~Ör H#ll U.b¼ÃpЬ¯9À†uy Ø1Òü1øvÊš=‚¤§êú‚¹š´ê€Q2„Ȳ§_Ï(ˆe‘J‰½¤™èXÅh}`• C÷ JsÝi!Âáàfjêâý±öá¢S z™¹í\8oq½âø¯rÕ{½–:9î”kU)ˆ©Â#|Ñî81·yÕfΊS ÿ=??í[PÕaTßFæCgc‰ô¿@o‘ÌíÁk2%¾4r®ŠÆðåA€&¥¤½,­Âª<®=s¡ò"4¢ïâ—EÐ5ï€,eÉ y× ÜÜsIÝÓþ޹†wëÿÌ0©Æûè©E-“6d6¢Š5¾z¤±0y÷`¯Îbw:M‘ÏE UjDFYÁ-ƒøspbB©p³€ ûTxß}w<'Èîçß\`™ŠbûÍ·· Á¬+¥!»Þ tî:; ZR²ßëÅøÒîžÔÊ4ÀmÙÈHK:KâgT¦ÜƒÁzªEúú.ßôÙ‹"†S)`Ròî×qÍ»]‡‡Ó8>¼1l#ž w9>cƒ1ž[O. [¨4´zzTìº0àÁX÷¡++·U}¨µ/Ùg¸7ÂOoû€ƒM‹»®Oš!eÒo-ÏžpÜN™V$ x2MÐÁÉ=ñpž NLg²ÛðÄèàédϰ´®…&´‰(½%X³œa¦ßÞBS¬bìXÂc Kú9üÐÔò§›Ü²*ÞT”nö*XÈ)ñÑó¼îki|_/YºîjÊ{ ×Q!ýPÂ%ËYÊZFO"“àÿ¥|Êu2d!’J©“ç™^ŒŸõ¯«Øé:'¦%üÝ?lÈ,¦ìy&~üzmÿl F)Œäééaq|QóLßžM ¥}œiµ–B.]üà]QÕL6”‡…À‰MÝÒÊö¢ ï]˜Š€•t©+ø¥Ž„ôÎ…ÌÑÿÀü`š=ö+7¢ JÉ`®üs!›y‡&Aèû@a»¥Š4°&Ø®/Ì©+rÙeý0r‡sULí{·CõR®ÃðeÉCVY¥Ÿrç©Xhc ñf&CG [iwÓ #qvÏÉãÃ;€0ÌÍys[2LŠT€b5;Ê$Òú~£YoÚÄY“ %+=úغC 0¡… ‘Fk"œŠiZsvž°?ûU²ÓÑñgÑy’pK>µF &pú:^”†Kèž¡õ#Úd: ŠM"ò÷¾Õ´C§ôú¼‘oŽã¥'?É€™­Ä§<Æ ~%úöHĤ²‘ÚT¡‘òî²ý™§¦bU÷ÝÅ ÙCi³Ÿ–ÆNÇË÷ÊØ^ÿ•]m¥pd“Æ”ãéÒ<¤ù¬×5`¥P ñ», G½P÷AÒøMÀç² ¯Ïÿ9pþüp-hÜ©Pß>f4û¥Q-»+õÅϳµ'öµÙ‡yñ½þPoÚùe [ŒËÔ·ë3¼ý4lYÀŸÇ˜%ŠQ0ybÔ«öŠ?§ã¤]ÚiT5Œ­Ìïè'~30„îY^ÕHÒâÝ •¼©X®œ®íOÙ xCü/YÇ”9IxA¼È×âʼn¯tZRÄžªô|ɪòÛ©`_øIfZY4æ˜ð>*näåyñÞ$<ê¹î…ânUáÒ|ž”›G{˜;iHOï3X@Äxž* ›‚qé<½¤vÓÐO¯|m*æX7ä2ôœ8`äFÛÙ$ËÞ5EZŒ“Rø)ß`Ìãºí‰©ŽëVˆ¥< ³èÿvu˜!\ 2[}iT½)ÿ‚=Ü]8·’ÉÆ]dˆí §'ØìÖoL!‰ÒÝFìüŒég⃠6<µh4å¤YTÖn~&¯M+ÇÒ˜ËHšM {ód€Œ·”8h|œäÇÁK±CF›óà—|SÐ¡ÊØèNŠ-¡»<†jt~HKäkT,¤sngmJû‘Ìÿ“‘7ñp¢:mÆ…Ædª¿ýcz4r}©Åeqÿ¯Ü/ ]¢ã×y‡«¦üðö5ìK_Ó½w$€ôÔ ÖPþÀõ975ßÝ£'òµ#Ê®«£}€Í™3¢ý/àoæ` C”Ù³g£–¨³ž‹ƒçùo@u;?ÿþ6`Éß·íÌ.hð|Q>ëoJwÔH”¬£á½zãŠ>ä%ƒÆ³˜CDÑŒLö«š3\ê¶qØ:–B g=˲R2»‹v0ýóYÞDW1õìTþƒt©UµÏ4ö‹ë9ÑŒBaúd¨:žðƒ„Ó(µ™WLj˜6¦¶Ùw¼åËv‰:L!”1©/ÄÏÖwƒ7ÜNI¹ØŒ'Ǥ„µ+}f—æôË=r;EöúìÓb@3ã¡I¡²ag÷0ʹ ªwD–>LÑì<Š­­W~NÀIÃ~‚g¥dD2-óT@}ÔûÃ8fÄwè)…‘O5¯)8 €» !gæ@ƒf`ôD@Oæ˜qwÏA(Mì½—úˆs ¹ÄKàñÀһ݋–v¶ºŸ¬~/nîÑ"ãxœ%L²F ”fÚ_Ü5ÿ쳕רÀKý2”öW͈‹W}l›32%š¹?Ðüpe¹‡dP¤³ÉÊ=gŠ´¦ô½=UâÓ”•¾ÑžÒE¥²éaІKü÷ æVŠîõ¦¥Â;V]½…G ‹~”ÞYäÜîññ†ã:Ûx%¨!ˆB4}Ì{£Ù4…!ƒÀ†5ZÎ:|K®N¸¦2ÄÃw?c?~~µâä\íÞD"Ý¼ÄøaíÞ0#,GxŠ7Ûüó[õ6zç±Q\ª‰\º¬†õ#] &r¹dø%­o°iªx%ñTCú˜è!_'äBVñas$l'Ô™6°›l4Ô;ë‘UÛ³o9LƬGµÈ¾›“`3Óó¦L˜èÿÓº¾•ÓýõQHnBRêk×±”Ø xÔ¾™ÛÞ,™O0∠#¨°lD]±¬?>øiæ¥Ížf 6áW8’~à¾í-èSkã%BF«ñþb}©ØÁEä¼3x‰Fò¹‰Ÿ£YîmÇÉGIã,µ—Pñe’ñÍ™”¬å F†2#cz¹«.4 ÅÆ<Œu0›9¦Ï½I›µ‘I=«™XI剞ËCWÿ?…‰]ì­‚K8'F$‚4ⲊnŸ7¨®Ò™; „Àý Ä(¸_ï6Öq§¤úÚºY­œ¨¦¡y¿,móie½Ù‚Æ–6™ö!\\eïHXP‰¿8èéýp4Í;çQ2ÄAš"Ù«Íh¸£-/5z˜ƒù‘¨«]]R:eÐ}ÿÔ]WYHc~¢¹ÂÉÅ´uêƒmŽX¬›Ôã@õÍ×جw´Å”GpŒñ·ÍÑAÒº¨t蛆s’N>}q\o›© uŽö2 ¾s¤PÑÑGŠ®ZêY„õÑ„T«äÖ B7,¼:ÜC¼e"Áƒþ4a£Ó¤B%½ ¿(k,`íATØ„wð2‡áf®Q'«1ù1hÓ°Õy$K¸Ô<«‹ºÄÝ÷šÂG^ø0”hEm/M4Í7¤4Ç vùc2(çXð;,rNƒFæÓž™ûðÄÏ·œi1<9zJôü°7ƒ©5:\×~»²ß<†o^«ã õ‘Fù~Õ´ˆ­hP ÁøBE“IÌNÎñŸö‹µÝHÝuÝÊ- ü¡>¬¼÷þí/Žq+¡–ø8½#§ ‡}»Û¹;–6:ÆüÄLlÕªW«3È« ‘g˜Ëó+B»½ô0ßZŒ>Áž93‹ë°8?B•xÆæbkðh©)í¬Á´ó’ÿâ\OÅb×Û(ö\9iõ–fK_g4(}U@²Îv¾—sóE§—ùÁOrÖ)Ì—ÂÁ0ShÝ•Âw9  –ÚËW ¶}à(»èVÉ'ÍMx^¤_Ø¿ÿ»qíCV>FŽNƒxÈæ™vƒ» †¦CO0!(‘øž}¬ S¿6+Yž½€u±EÏró_Æ.N‡S¥¿¸ÔHìEUI!½ìüýûBÖ@Ýo ß`—™ìÛµð™#§•Ú8ˆÕh’Ñ{í Sß goÔ¡‰¿Ê(C÷'>«6\å·$šÞ¯:êõ;•gñLK`(u#f[¨ÄʯÛí¬ÙN¨,G¶n6ñ2ãù¯‘[Ÿ½"A.‘g$4Æõ–¡;Vjä奚£´Ê*»Ú¢G?¯'åÔ´;½ª>[(¿Y¦ŸÒ¥öPgc‡¥>¢žSŠÒÛPþóJ?ˆÙÌX8QL¬Põ!µà_</‰7—„Êua8ï¢(Á±¿™™‹¸è¨lUgö$“VÚ:°W~Ì˘­ê8æµ»ZRÿäÎí«Á•½º®éäŠt~`ܺû @©SZéEõ¾‚;=Æ ˜í{´±vÚ›KF¬¸\ôNÉ»öØó%ÒÏq«ž}n(w€Í¾ÖtbS}–;¾}n(¶röÌ´!DÒ4‰L•3ª_¹QiÌûEluD²ÆNÐ˦èì\Jq¸6Ì1_i‹Ëþ”ÒA$ zÕ†z}C¹ ä!´UéÖ]È1®1QXðÄà%FÌ+v«h-SŸ à¼çÝ=¼8œVu;û«OO¥„K ÷¼Ö [ ȲD¤ˆ–H"|œ‹òв}ÅÙÐ é)b°[²†á$Y¶œ&Î"HªãnP«ÍY ÷XšGÒ(§VÍëpÀ´Üp-)ØÜ Îõ—·ƒ¬ü+ûÇÇDѵªÌáâÁì°uŠÑ¥®uý9¸ m#‹§„x§=Co|àl°Ä –úú¼‚!×mý¿p­:ˆ¯’ÐíUÙò)é©0D·z³F'µq%¤wäWÒå‘»oѬ[é/+Eгb"æždLУËÌ Pk¿-Âòæÿçš& 8ºÛÎr’)É5?ËäÀ5Úx—nxÆ.åºYžC‰¹ˆ³Y¤,\Ib‚È/ÍPsì°òë½{ªÅZõ„âI4ÊÖ. èBxêúüÓ"„Ø Ð« ç‹é8#ó=_ éÑ*1’¡8éÇHX¿5ðI3ÿiµÀ£8 !vy#Üë`ò`ðŒ¬î§ ùpïG .yXá¸^D¤AâsŒÐÂCXÖÚÅ£ŽþöûÔ•P8ûì´Ò2 "4}ÅH¬X˜¼)»RÇÑµŽ¹o¡ŽQwfµÉA¹:²䂌ò1»mºÖQËͯ”[Ö}Y)Ç•¡óÙ‘]äÌŒB(¾b¶0ò8¤ Ä/›m©ð2’ŽA™­ÀPá5™:å-"4V®Œd›˜|q¹ÊÈÇG€Èy?Ê üÃõ8$;mZ]0bdâ3—Fñÿð½-A–!ÞÞ8˜gÏó‹}óËÓ3Õlº3±!Zäý {u鯨(½Ñh: oà»;]¸¢Ì¹·è²Áç¡X?y•–YUqÏÁ™ùvÄ€À²§#ž]q \ÙÞ+¶gØøÀÕÆæ¼T‘ÔÊ”¯*3ıõ7mBp¸4ùd'µKú(Zݽ Z³Ózé–E@$ó]¦&= qŸÂÿ±¤öòãöý„±®<ôp±àÖþ7Þ\òÜÒ#Ù’ˆ£teÈ« ",µjÍ%•¬5;äB™oFbƳUòÖH"­Bœx€›gÓÄéWxÁJ!Þçön ;^ß}—eÁõ-àíØ:£C¶†…ªº@?…wÕ™.XA› G\+ë®<%– ·‰C0…òLJy®±ëÂ$B¼ßIØ­BˆUÚuLV.[âlîŠ †ï2èuOýéŸ.”s ÐëÛŠJüRô†KE¢ÒPàÄDö/‡! gÊÀˆ®+ä½4òb9°¢5çt¿6£RÂÓ)ûÜ݉6P[–EÜHfW–XøQ&kÑCTÁv qTreb¸¤@W’÷w=ö |å&šõW.™´Å&²./Ú-´¾D¸E»Àú¨̉ipçíKÖË—½šaê'­`Åb½«jdJ}ÐYü_[.å ¦ÛQÆ[8ÓLb½ýáî‡0 ²>¤UH›5.u€óBçO’gé$2P.ãky°éí#[½tôòÝk@sÿYR®þ'•å3LP‘[Ó¼\VɆ½°ˆã•ïìpõb„‘7<´pcËg>AFß‚ïue ä³n)Ws‘è«ñ¯2¶,Øâ°É»"SnÚmÀlþµÓ¹âµÂ]]«è><ÃôÐÄ{¡ Q€¶#ulåØŒËPNJ¶ïšÇA‘±ÿªß“·3Ùù[j áâ®Î§tQ˜*ÅïJY±ò§ñb€¦þ—4Iº®-(ûD]S*ô!+D×R`4;~?Ó?ÿ\üof~ÞÄCY§†2à㣵¿&&·n($€í¼Ù¼Õš-ÑdõáÑVTB;Ý ÊÍ0Ow]/„´ùÞ¤­¼¸øgoÜq Ô§¥Šuo ä–©è_¥[ R/ªYqÀ¿ø¸<½`Dt¯ï©5(à*çd÷ó«˜Ô1ŽÏãÄúÙÏ^wŸ#U 4Bëšr,ÜÆw¦N!ÞiS@tFÓ/ž= äµÝ¸f4yòZíTkÒœ±ô"¤'ŠŽæ6¨Þо åB cX™Z±ðrJ¾¯·’/#.ïË]_AêØ”±{}®íkW¤ûoç7§»Â%ئ³qF‡°ƒ$hò‚mÂ÷‡üÖ/,,ª®i›qû›Õ]ʳµ Jx|²º,¦7ýÛ¡Y&:‰f7vÇ6nÂÍ®~þ–¼µíçñ 7áv¦0µDÉ`Y£Iß™©uç:ÿI1ãYy]Qc”?~Èk7yKô¨%TJ;Èò_è@ñ&˜ëïiæëÙ,ä¸AÖ‹Nª—Þ´|³}¸X PŒötïRÅOKxmŸ³…^Ež%€vÓ÷nNáÛôseØÏéÄoP’ì†1†Ê=¸ÛÇÞ³É|5qS;ø´Û¤bEm&Tê‰,IŠöW(¤ !†ìÇê@Ë‹¥·Ow¢B˜¾šãϸnþ³a;„ç¶çœ®Œ¦pÕ#‘eAXä}ÈÁ¥¦um¢Ò­‡=YÚâVÖÒh—&ù:+µpTŽWgÁ–‘*TíE`\‹bóOO`¿ùç¼IߎÚã{Ú²ê6jdÕ’çÕLØ»fÝúe@^ã¡ÅÛ–Xœ½†ø‰ Mˆäƒ\6uõÔ—v®j„•~Ólö&?¿æ§]-cõ3¶VÍm;eãèˆSC¼Lþ;c³5z2dxóZt®úÓE黌žDÑÀ˜3S“"Wy„’.ì¢øñÁÇÌO:˜J®hÊðn£ ‘åì—kb¦s¨SÜ’Ù "+OÇ*by„·À½‚û«J¬h5|Áÿ`jòZËÔhAuãv+tÔô¦¶óI6pr/„!32Þ9!ÇimºW¿"—y`ÕwìÀ@ãm= Sè“zù §},¼(Pl3VUÆ!®Ô²âR¥ñ×V¨¼Îqû£¹oŒÝ‘ã¾40øó0ÌF®Ñóåì<ѬàY¿™;ÿƒþçàb?BªÚp 2›, G`Ž:¶©Òʉ ﳦ]ÃËOKöR‰¦×‡‰Fþˆ˜™§jHÀ ÎÿàLkW K±émCûÊ4èÿïÙº'òn`Õà.Ó$·§ÏSR‘$ݔ̓%#sCGÔÂqDZô”|Q½§Ôcaª>‡§*~pïo‘ãS#y `u¢}/%Ì Ó¿hñ(ÎF¤¯[n…¡m²$Àåg• ”ù#Cû–¹ 8›Ü´çà²(®>i+»Q–ô¤ÀìMÊ;¼2Í ü†SAÏ®4ïi0D¦jß1œ£÷Z¥rX³øm¡_Ùõ7µIÇñï£uÍ\XµP ñ ŒÞ½Þè•K‰Š×ìÌß9OGÁ¢Ñ¶›¸3 ¾®Îy6uñT;[Qƒ3}O;À!úú›Ãh²ÚPi­ÝŠÑ%, ¥ý„f©¿`xüm…[£±w k`i(ªæ¦%yÓâHºQûÜ 5kÆG[Ü])ƒm1sÙ;ÿE÷E—méÔŸ¤µ Å, ±1Œ•¨ø‘+Á÷ÚA+£zè¸>󅯇":Ý MÙ6Ò†ìì:Ž¢ŒTÿ¢<ŒÓíÿ ý2«xi1GÌ—‘sË+¹êÉ–NɵΪAª¾î€<Ëå>$ÞT¸5CZÇ“Ëx3nè’>ïQå´qÑõ©é˜(šÓ~ ŸF—5¢é(®ƒ¹·×ŒÁŒ óqB ¾ec€K¦åmhŽBÆÏŒ@0~4_e)?=ªZÎwY²[&`ÿ$Љ‰¦|e)ÔU¯{ß+]ÕèánÈÓ ñŠÍa‡BwoG]¸Ü¦Éú -NE¾öÖdÖü}±qh]Ò‹0…?¦XkÍü,öóèfz|vaT7«¡Fã±o©}‡¢æ‰Ýž’ëLÛçU»ù¸eò÷PfMÃÛ€úÖáÐRG×·É~!Qâ¹òl£cK½ÅñŠ4ÎÈð 9ã™±Æãs´zòEÈ¡<®£uBdšç|€ë'ª ñÿu.•_ ì»grÒô: —àxà{B4Mð—rb7bm7ᑵÃ)ºÂbéª@ÆÐeG&#m&«ècM‰@hÖ§N$jo»,™Ü@ù†îCé *MÊtû/¢"ã^[ÿ`ÌÄÀèê*tYL¶¹‚‰i§qŨ³¸Ïà Ô)(9'[óÉþ;ë8¦.Ãa+«4å—ý¨ÅŒ¾ý>qºIcÉ}Ø,º.½Ì ”^hqSkw{Úf#ÐôtQ‰S9YµcÁNHÿ w‡ÿ¯™Üb³5þàèŠÐ¹h¢4¤P Ls¥é"ÐðNóoÐEnÑI·NÛ¾<úh“Y²?ŠœUí2ýY1,,GýOŠÔÒ˜.“ŠjspkÙê} ØÌØæ“>êïë7«0+6(:`µƒú ià®9$í;Ûái‘ý’Ók2‘éØ*¢j×–ê‘»„ãr+v.–øÜ?hWÃl†-¾»_ðö 0Ê*DA¨‘äI#azj0¸^Wó03Y nù¸ê~#Íð6t„»ÍB7É+Qá>õ£y¬–|º\È¡_ƒŽ8ؤS]ªAbˆðý‰5MÊÃa<®ÇtØè¬Cß7ÁL7K@”2¥éo##ŒA1‹4úžœáiK5Zl–ÎÍùƒ‚®48_þ …$«€ðzNMQ2M¬÷<ËR˧®&èGBΦ5tjzvxBæô±ª¯¿üJíIßF‰U—»Û›wÿ4Ä—úÍðùØkR¥Ã’8tB3ðIÇ¡œsÍà©sL5Uq΄>GeÚª­Þòcœ—¸]‡â6áØðß’'xà—Åðä—|†á}­«hæ þ>qYï óšgä9G6‰B§—ªbK‹ÿÙ\>È¿tëí®Í:/Ž’U‡<0Ú#ìx!Õaˆ—7ÃTà“£¬õ n¥ÉÏÙÔã‘Þ¨ïl4&Œ!ÍsvY†$©ˆqçMØ3{áë ̃úŸ%AÎs*úÕ·ˆÑ#ؤ±ÃÇ7D!‰Ü²30Wˆ›â Dõ¼Ç7NíYj$ÝWÉ`מõIçF$ޣአQW‰µ*¨­vGøHY™í=Fø0}`œj¸ì€íD ŒW>!"I–MÙ5x§XQ nZûpÄ®¯‰¡ÓŸFXˆ&Ýý XÖªÅv¨6 ó VIö@ˆùk´l`P5qõºìU,Æ •«Z«,í뮉*vºQsXµ›ÎØ1¸]?â‘ÛïÿÐõ•ÚM1>„mU\cGy¯‚ŽöÊ#¿î›Óê©©‘€Õ «»Ç3êñh>„Xÿ>ƒ6À3:4‚EBeçɉ4Éb’õ•¬˜nàfiÜ ²É]ó‘+Ø)Yóµ²À%¬Sšúbõ! ãkülÄàeŧ¡Øuó0²ƒ¯sun*,4I 0c8Ò·óŸ#ý;+"4IMÄk|U~Áë<åHeeÃ,J¤sîd‰F¸±µ)5·Žß9v)$¨a^Ž@~ŸàÙ”ÔŠ½©Oà¾Dmi¢l°Ç'Yd†ÄTžËëÌV{²ãl,Ç¥ÕB´(õ™†Œ-Ä2˜ƒ›ŒÀ¿Kdõ ÁhEO!,]š.Êzz-¤p]õ±¥Émd0Ôè&ãÙPhoe°ÑHòs D‘ ŸÂ,îH4pzåU·ß Ý~䌆ݽ›¨7ÑLmrµDz sä=ÑSÁG1éZˆ.žó1B˜P¤£ñn-‡` g⬑$Eq~†<ÄYXÍû¿ Èšá"„EF®œéjIê}?NvžBïÎÑÎá¥ìÆÃH½iÙ[ZÑ®Øå5ÊËÕÙc.­9@8GçµX¢³èQÅfÊ$¶ *˜ ¦õÞï€ms’JÄÌ´ÿˆ¼³ÉK{ZD9­öó'WkÌx¶S­cºÁŸ#ªU7‰”›ž@\4V>Â…óø"EÜí¢nµ.êÑŠi›Ê“6}4K‰è,¬ ]›,ÒZsízœÊm›“«j\tð’EcÉ Q$CAßÓ]¬ƒ F‰Ìì•~oÊm™¡îG}y˜š[¿*ykÔâOØ/ÈÝùæ5K*˜û·™ÜZÅÂÌe 1# ööÕ°¨'Â""™¼ƒÕÊåUéF9ƒˆ.rµ½²GÄíiˆƒõ¿GB”-™PúäŸ `ânØZj0 H—®ÕÍKV>÷+™rúžú[á¦2I×9Ó*›Þ>ÚÇÐù’Çñ¿nÛ}ulK>8X*˹.ÂM§]V’AÏvkPf%´‘«¡ê@Ú@1gWćä`©~ÎתʳdtÌ h¹H!p p_yþÐg&úÝ&Ó~+ìþw³„–c=¨¼¬ 9±3Í?õ—w†­J"D„M84Õc¿ê@xA†¿‹Vús³<ÿ¢ú˜+®­bƒÈ§TÌf/±,ú\уò¥Ÿ¶ì‹s2ÏîÖO™â¨ÂªÓât:«¾û†³A¾Þz(¥Åð”òâˬ¦1+öçJÔ…çlMÈBÛ>0(Åä ú“Úr¬!Áø®ãþ ŒC ìðëÕ™m©ÌKàéjYD «©U¹f®QnA¦¤¼Þ™°Ê”ÈÔ›.å~.¦Ì€‚v–\L¿ß²‚ÞÉg‹&úεu›Z¶¥ ëÉ#LàÔP9=¥K?Š©u¶#RGÒ¸¯rtLšù5GM[gÐ|Ö-‰Zd¨Ò…À?ÁþPòö*ÅMcïÂ…‡î÷§KáOÄìÍaÇ‘k—¼]edÐÆ0Aõ+2Xü$¢š3÷}É£-#,lM.šÌ›XÝG²s&¨â®)Eˆ#@[’pNꢢÏ-,E£¦1^©pý˜>Ñmw¹vKÇÚ?œfâÿÑ¢ Ê'ýì ¿‘äòÐl/œÚ ‰DþÕÓ>ɸK¶ ƒÔ{ÇS½¶J?HoÐWµ›Ôž~jÕ¡ÔƒÜì çQ£ÞÝæ=†Ì´9§bµÁŸxñØÉåí2™·Œ(5íõƒXÈ2×fû‚hYçTN¢·˜ÏäƒM¿òiÑr@ºã§&ˆYHvSIƵ»âHì«€„á`Mð¬šÞ/§‹sïë Nâðñÿišc¤#¼¡oüDŸ Ô¹T-5ÌÝʺbuÑrIR»IîƒÝæüâcNh”“xW&±ªIdᤰÀDÀòo4;Ïšp´f~7Ÿù'ëÑ :8ÕiéW<~ǪE¢nxéŸd˜-EkÖ𿼪¬ç;U5,G/ñ¥†* ­ÔÀ˜öãì«K^šlÅa*PÁ›%/¥8s´Ï¶¢Zoùc‹~\Ün»›5ÅíÞ¨S÷üF)iƒömh|µž¹=o·ö—îWŒ™ßŸs ÇØóWÎñ–4Ðd­˜+vnÂ5C ïEð`bjúŸòŸê¡†3;$%º½zãr¿M¢½ÓìÂ63MJ•ó£ýøè¾æššxR:…5.™.zP.\L3x‘†`ñ&yÈ…Ú÷´n5Q’ë>Œ¼«ñ¸õ£ò†=Œ˜Mb³îs7J¶Xr9"‚½ƒÄIcšA£p}B¥èÐñݤcȇ*ÉVó† ?oðDwíA‘¬_‰r4ŒúhÕ8ø ž&æCµ$ãa&\§]/™ÄŽ>ŒÁ|v6`&kKÓ´¥™¬²…)鄌)µÖÇW%vt'¦“óÎkJ¬¿¥ŽX._»_g•`J˜`ØÃJ[ %û¤û×r®ÏÀ¾×‚Ðÿ„ŸHç ¢á鿨}°oy: Ó.­O/©ëE<8#;´_Îáå’&e˜ÉR×kíßX2DøcïF¾ùZ»âbŸ°0s Pé\ÉÄ•µ à÷iÿ:åi3mÂR¹ÙᆭÈV#üÆÒå ëJàdeU?mýg´‹42—)à|:Œa£2vÅŸ·@Z¥.gà=½tì-Küe nG6ë5¢@béyñw×iséD6í‰2cŸ¿ª ¥UbÃ÷¦ Õr;çòÝÄϹöø™#ŠŠÜR8ú4±k0Ȉ¯2æg"ÚäYÒâGf¸q±{ôTfìæºÂ.q7¶”TTš‚óW?ÆìiiôˆÚˆ°êô B‹ÃxØ"ÔâšïŸ0¯ É'+ÊpºKÉ×̧h¶ýÂÃä»Õ…æ(ju]øà')Q¢óSh*&»’öB0f¯â§à»_tV¾Ë°¨–£kÔ(?ŽB?nÚ’¿ÝÆö ´‡6îÏË I!{ÚKîVz ØùeÙäh:Brs8-Ü•'Òi«mÕÅ”5~(ç}mñlw£¼ÈÈB8–ò6O?Ì«( §É ’D£Ú¬Ë uåW[²‡¢êÔ¶l’ÛA¬å‘·žt:œ˜ÍuÎ'Î ¾£÷qÂŒjµ  ®×{Ží"‡’ÆÛ'Õ•šuSðÓ½Ò‰úr18Ÿñ&°x¿‘¤ÉŒu„SC’î;X§Í-Ba×Îö±#FnÏík¨‚£øô3'D‘9“ÇÓ±fRJÌvzmê\ö¸™Õ”¥Ð±ª-¡fEÀýð=àö2±»\ɨä~c¯’í<îRWýKEn Œ¾lOB¨ç$³e.‚8ž"AYÉþ^rÌ-—­ãCÐÄoáwãiQí`Ú^æ2z'þ~œ·Ècõˆ;£9» Ò­¶, þNfÜFZVÒ å…¹‡Ö{Ȇ¥ëÞҪÈ~ØL™&iX«¦ûZ¤“„LïWh½{õ(Æ®/ωBbØüPYŸo%FŸ¨v3ï§ÔÕÊb‡”ãF"W¬•ç½w¶ˆýùHü™:ƒÒwîöóM‡­å²Ö‰ß3(\nÆ)E)J_%7?=ßõä×&ÜL¤‚4$ŸÊP¹èÎ0 í&vóv¹®PŽœoœ@b!’…ª'…uš :HwøZÒfL’"%ýz÷g‹g.ÇÇ­3÷ÕæBéèÿ’h ÏÕEk-µjª°õ{º?6ý|^HöA,…fá‡ãÑSwSu]PžçSiB^]xLë4rœ*i 9Oùm{Š‚:§ßžìGQ‹|ã!÷y%#\( nç`J~PŠ÷üç·PÛbƒVßzÑ»‘·Åk£XysÏÕpžPË+´)÷-¼1x/PT:6 "0Zkx‚ WßVH¸©[SU¦4,¶Û€ _ž/›d-¬ÑON/…àöÂ-Ýeßp+ךaqKAS 9;eÄUÃôu¤ÃRpÓT V-Ø™0òÁs´çkrý ^ÿ}Øj¢,Z™ä¢?#º¡—ð-ƒtˆÖ™yü£Á8t¡£µ@¹ø<óªügà™˜íîD«B/¾ Ëgá™zƒð„)ÐÕþ{¡ÏšÀiygÒäp¢3ºœyÆÕ剹¸åÚöË–m…!8Ã*ÁC\øê¡¼.Ÿº‰¬SO-ý)Ø:ŬØôT³½ÎFñ3€Vפˆ:@ü& ó㓪$è¶C>¦›¯ÙìÉ­ì¬÷–{”[Îäé´é^£ÊMQ£¬„g\¨-Y¼`ÑUQ(¶L €m,´ëŒ§jÏ”±X‰Q›£Uzé~Ä?þ”æjÂN+UX€·¿¯6$ùbO xß1t³XŒR—ä_õ!r˜xjNªž…TÿYÙxÖO‰]Ï8ós>BŽV:UnÓXã° g/÷ß¼N'¿™ÖÅ17¹ºX Ï/Ðs`©E•Î&Ð'.ÑPžP”N·yw¸ U‡Ë]·a QYÒvüüÏ®‚7±ÁÏË ÔO!‰JžÔ×( H11ºðHáYHŒ{ÆJ÷/ÖˆŸ×xã9IÛÉèŸ?‹rœ€Zw1ÕCYy9Øþ¦Á¾¬‡j¹?žÓ·?‡Ž¿z ½bÅŠ®ÜhßqÕI%¦{;k|™–vÃÙ{„˜§»ú9ïû Cÿߌ1ÒÙp¼o1G»,o¨[9ÚÔ¿=Ó–‰Ùf² ²Þ|¢©Óf/~Xy Àêj=sh×ôhÊ’C-ü,õ½%y¬rûáÛ NÆuMÌú¥æ†|¸×Q“oWYN”4…¢] ‹œ¸Ÿ¯}¶ŒK–¾´&êËýZÕÁ—ÜÖˆÄߦsN-~5¹ µï%`i 7{|,¿R/…N°B€äÓw÷nÀK¹¿}!i|²ÜÙ7Oxh2E¾D¨OÄ\ݽ!·š¼ZD›Ó±A‰(†ÿ.òݽ*H8|/¥Ö·GÝ)ºS˜¬ŒêŒ»á@SxÀÙc;v÷dD4·£òSýw|9)ã”JÊfV8`#èÈŽ‹ f–ásަK!ØÏó®úùË5b3Œ Òè0ûàŒI×+ž,©]pËÛ´Oš¢î¯ÑâlzŸùg¸oîÑløvÄçðÐÐÒŠ[3QúÚb“[KÚü'íXž .ÆQó¨“o‚kì…ÝN!©cŒòPËš Üì FFà_­ªo?À£‘ÂÚ#íoA¯`Ú ¢žÏr%‚ÛÑü¾ ÅèûŒåù×\ÖÀO¿ 9¯ÕX±B|u3[ž8ë¸ì¢ºÑk—À„»cÓg]à5äRAÔ½{1Ž›Ä-›mû§®÷yd/AæštR^Yäà³o.†ü8O·æÉ3T{«0|:‘¿®Ë53@ø9•­G¯)¦ ÄEX"¥à?ä&Ó%µÖªÄ(½²û9hç–¯wÄ‹ýý€„¡L ò?~ jv£¤œ¯^žâae:@ ,G4öD«@©±ôx9tñÅ’ò¨¤i“O†J+çý³5‹à$ÍÍãÞC—‚ þ´Ÿ”À)ĪHòüY€8™Ö-FŽ¾Ú |nefjÝ /Š[Lé 4´Ž»ž;J>åß|Ë/8þk„¢Z¸Î/þÿÓu0RË@›gÍZ²ðmrچ†sŠ?Sð9çnZès¶¡Ój»Æ+i÷£ã¤(† Í1ôŠþq«d¸Î4æhÊûÛƒò8û(Âc¼iP$~¨ømÛ<Œ´¸=\ø'D¸ö %OÈû6:žõwz»ÍkbÜ5GT }õBß–ÆiIÊKäµußÀʳç N ÃÇ…m³.2ÍÔ `ð뫳h'•_™­n{޼¿*qô Ëá!7\ ýû¹<3n}x[Bo·×[ß<]îæŸ×€+“BRSõU“Õt P»¬N° ð»P@”v6ï'l®Á³NJHÔûzõqÈùU£B¾#Wª–6t¶RÐAcø†³ÀF›ik²a +A¦_ˆÎWhöŽò, ÊÑ! ÜÔàv#Îl¶%?}"–nö- ço*wm¼öI”C*,ñà Ê3¿/ÔÐA?˜±é“(aÔÔr™¥ö¿|1±Š5sü)ß3§Ð1¸îîmèLÒK a 7ûå5¬{|´ÓuåA?Ä[e• @< ?åFˆˆDJÚL°sÄåÓ;Ýšvì’UâÈ–ëŒL>âÿèDÌ—èŸM1£nÓg¸ P×àsƒ¸a,Fîô™T’[@sÔ–•K„ǘ¯”¸µ:ps(ÒÈ‘Jœ=ú±4 3Oó\ÎQƒåG¦ßz‡6:§ªÝvÊ¡w¿º‘´§Ç¢Éð‡ Ð|CÉó ö9ñ$ÌB2s½!ü—ǰ‰¢Û÷íìë…#¤p«Vo¦‰hÂÄ3zðyÚä+‘RÓÇÝùcaê¦3ñ\_ö§ í_þüsùäs…­¼nа›å £e­ó63¾7x7I h=ð] jš²êèN?“LÍC¶òÅ›‰»=¬•k*Ü6Î&•è²ô9UµŒ ‰-FÙ ‚®a3 ŽÃÜ6hmy $õ¼ç.̸€ ÜÒ¶é@£Žh’êS„$(~³ˆ„si¥B 8 K>9`¥Añ ùpgŽ!œê/¡€,t ØþªZÕ+yꊵ‹íŒùÊû‘ÙùïH+3½ßY µ'ªæÒÓ‚!}ר6ï6ÃGnCÖ‹tM :pnZ-!þ{%ë¾îpµüÏ"îlzÒü„®æÜ1Ç€3>éêt êM£ˆE˜îýä2…zéç)îÖ¯w@èø-CÑ ›¿<î´ §µ/)س±’Þ€&tYpîh75oîu¾ZYª–›sìUp·‚ë{6äZØ1…{Чj;ï4Î8ÁIž2;=ˆ=EY:}ƒ^T¿W<ÇÞp_r€ˆø%UY§÷ñù²ÛªØ{§³«ž˜sêF°ˆó9VfõÌ —2v˜˜a=ÊSH(‰ºl °ŒKp0|’0 ¦@Ÿ¡y-Á›KÁi–[n<à–pòãÀ<â‡^ƒ˜ê£_$RžÆº~cƒahÌ—°qÕ`T¡Ñ0­»ƒG[ü€2ˆÂU‡Õž*V¹byüpEÕ 2D0À£%-#tXCk< Óv­/ê´~qÞöUµ½ƒ,'@¶…¤Žm±àæE"nͬP1¿?›‚| ükØâ}šU2“¨7ð¦×:€Ž÷’A´71ëRÔ—Šÿì YÑ&ì`71F©~Ðìc‚ É›¶“½lì‰p0F*‰–R8ñS›ås«‹ª$¨ù¶zR«iBBý¶9%d§Úž4Ð-jsÅ•b÷C9ì=é'k_Òë2ãÉrÑkˆúÂ’G©2Ø‚3È4óu´Ž¨â¿ð—n;¦Ÿ+Ÿé0€¶Mïmùd¿ò;Î0 ©®J)WÀQR«7nƒ}”ÒÔNñ8Ímzû”×@®,²pRs³uÿþ ËsD¶ÊžŒÖšA&òä|ïE1È´«¯YB.$‘j63èWwò´’ J±Õ,É£¾¥gWŽ‘ø˜Óˆì’~õÑQ°ü&tؼ ;ßÀy¸Qtée*¤ïwñå‡òÉîÂ]V¢I”®çËæYZ9j•DËgÓ$ü·]å'er1ö˜†³^fýyR³’ˆŽçãÓÒbÁtÐRGfѼ¸Á ÑQ q×´°uy¨ˆù>I”jʶØÿLïã¶=Ÿ« ²×±flm‚âÍó¡œÇ¹R¦¦h8^«¶š¦ îvßhdÙ &>W(;êÐìµ$þÿ»ôfÃݹlöß Ñ…ú`*ô…þDçöWP˜†¸ð¨ª¤< Mñ³uùV9Ûú»æ^œôî“&Lî‚WJJ-Hƒ­=ÜB½ÙR¨bÆÜÑyª À”é?Õœ¸(yE„ô/ù4—×®½€ŠG Kú™Ó¯˜/›6ô$o%ÆìUÿx4U†’W[Âù®åòVEá 7Á_êÔÌAÐí¸Ìd O®ƒØg³H8>9Æ~4Ìù:÷úCP°A»¯Gx¶–‰9š¹£uGzš.ß;)6%‘ç ¡ZVà~ºŠsΚïS%Yi¬"©\Æ£ëÕ‡ôŸ›¯© ôÃBåP0qÄoÊÁè±_”LKSʲFe’¬ê}RÐ]Î[eÒJ#ìI^ÅdªARÁ“…èæO’. Oé!p®|ÃêÊQDÝ/^F’LkÕø–ƪX›:+ÂÒxoÿ=UOŠrɱïdµô‰ŸØ¢E8x[êpkõ¥p( ìÝ^•¾Ø# !^Cù„Yš–Mh•Љ坝N¸¶zf2‘Pqònž2Jñ“wR4mŽ’0¬Õð?Ó£š,­ON_ÜPž—ÿHCW;²Ílkë2iÔrx{Ì(ÈëJg8ìr‹Â3ÇÛƒ›eÇ&Ih¨wHx—§lß9ú`+›D0B‘ \¾w76Ûª‰P°7Å„¼,ïÆhv;ß¶}g濼ŸÐÞšA\.ZL¼Ö\9½4€H¶§å.½i’3 ¹\Íü£L]þU…@˜g›ŠF¥–oäA„~}Sósš(µHìªçdR¾šºš„ ¯w‘v•«ó,¨zÑ• ”n|Å+n lw‰ w«>QG™‘cºØ…{$þ[«¸ƒdšŸF¿ÇÔJ¼\ÔÇæ ‚jAR+!õòz¦žvãt@+9£Û8ëè™Ê3ÇàîFˆÃ¬ÚäLf˜”nAw·$àŸðBýuüìóŸ“hª7ÑÒbù,L?d//¤b6в|ƒHª~ŠË†“ >³9éˆ> @1·=¥Ïu[8\b†Rm,°jxLîU<´Ç¯×nß×þ¢ºôÒRPJ‡’jÖ’Ï•ÿ+×6! ´RƒœÆk£§ÍE$µàë‰3°ž¯lf{ãÙàIÅ¢®!IBÚrWe„ÍËgîo~èˆv‰åÉŒ$Zïl wÑ.ÀŠ·ùÓŹb 4y0™â Q´ „Ì^þ:»uâö;åËüâ[”nEµ‹©®\‹­. î+-ýUꘘ¸¼9õˤQ$KAc@E§›c޳äüÌÊ:%Ü¡aãÔÉÏ÷¶é­l+ŒºDèÔg(yym9*y@ý‚l’Há7¢Nº+»©%F¼…õì ‚Rotš­¾ÚÛEµÑl«™%6õq÷Xëœ_uîsÒ7P;ôŸÇeÔ‚pT¡æ¤5î9vwà‰ËØžäG³É@{FZT<+º'l‘9ÇT±Lw‰²ýrv7’#¡aª1öË+·n­UM7qßÉóaY>å߉¤ù”^¯fW¼G_ªvv0‘t8™¿­¦V‰Írå‘ÈR|î@ƒ&å0šF!Ö0ë;Ï·ˆrÏà?oÓº¦Åš'5Gð1KGÅ5SšO‡ý´ÒeXGRÖ+øÒ{Þy8¢ß±¹m<Úâྐྵ‡ â\ÚßÒzÚͽ¢ñ‹&³˜ì³êõ¤€Ògk€czµ±Öü–ä„ º þ ýƒh%Wt¹.¶GÅ$WãyÈCŠètÞ)dHë@Å ~ºíÀ ¸îM`ÿ5Ý\¼Ü?Þ‘‡œxû}¾y–¯ägúybýÛìÝ8#)?„ß>ÃX#îqÊäAVJzw·„µÇó×ù:ëÓ¥™í}ÑÎï¦0Œòfoʆð{ä(~CXYƒÞ±_ÁÉw6âÚ3¿,X䢰û¿\5ε«8zÀ4,vÁ¬|°,‚ås4¬].ÜN°+q†ƒ(ª9÷•üÓª±‘æÒDúïú½¼” QÜè )—¯CÞèÓúaç@ÈH-Ò¡a>–eP€­—o]ÿù8€x/…@¿„(k×N¤ø²e¹ý¯¦‹3ƲiºÞ2]Çs±<~[,ÇöÁŸl­>aô–I«Â½qteà-ºÎ¢áè¦#ñ±ó$/Óœä£Þº¦U![@D(e¢\e½m?MÓÐبY bêÜÅdÁjÞ4¨¯‡cº§ˆb"ñ]ÊÖŽ4h¿.þ¹… —âéäPk&ÃVWØ/H#~¼ðÀ† ñÌ8úrÒX‚ð»•J~d\’ÂÑr…øé•À«õ°Çâ¨Å¨à“Ä:†öŸØÙK,8A ¯¸€6]ø¶»@ʵ%†¼¼¤h¾CFã æõÊà‰Éb…+gìyv«DìÄeç+;•ükPÓú$´fçÞ“|°X¯àc’”šµn¥©äl„›>g´å9÷^´cñ)‘k£Ë­…·b…K¬8vÄa»…™Ý®ÇÁq”ö1#&öUf§¸»‚Ý9_½þ•8Ÿ£÷Ä—Ïü"˜Ñ{ ¼»˜—z@]æT)] J 9/ÿáž‹ÚzÃ8g¶°·³—!Jý IU®‡‚Ц JaadW}xe ¦+íhœA‹ →2ü:ð•B4*H7û\nû¶Ï.¥t¶KÄ’–ø z±’±q­[ƒr–…Êa7:i¡P­iÝŠØ,\‘_b:Jn“ ?ÏËÎC@à^y‹Ø‡€èÞ²ÚÂôØDGbõE,¨ý»•Aë>œÐåEwE‘_ìßæµ˜2a“¯ˆ²"™ø˜ Î6@¥ç±\XZô³*²fL˜ÆJ´Aª!™„œ¬E•—håðŒØqŠg1îŪD‰™lzêoŸ,B‚nýѱå—#çY%Ðë±}Öaò#ŠŸiÝ“ñ?&o,'yN·ö‡h¥Ý/}Gbç’µ(gDfÀÃòÍÐ×_Û†ýÅél´o§°ä V—Æ ÿ(—>ï¾2å÷ÞðpÆ8$X¿õò…(ýÌ»_Í=_»Â\wr}r«qOéËû F#¡Æâ°ÎÕ<§o8Ð_N¾)^]òr[O°ô-ZĶ ;/’×–‚ãì;ß(QÆ@ÔäD”Ñ?Ìn]Ï ö6‡.·ò&ºÊr»1‘ý]޵ðßù(*}ý+­ðH Ø>Ô™æ"¬óuìK<=«”Æ‹Ôw†¼žî>uEs€ìâôÆf<ã_Beµ[@sCW…UK(úÆÒ/@Æäƒlâç¹ø¡¦Ý(2´"Ð>‹v°3¿¡p#$_U§§ä¾8Æ…³G‘j”’å5é„<§z² SLu E›(ˆ@åv¶2Í®Ž8]@Ôuñ1e¡kR‡ZiÝŒ·™)ª-‚{ú_h†MhU¡Á™wxNôÚ#ÑžþÐØ×9ŒÝËlµÝ c)„VªÃ³Ï$ž¿ nO9*$«ÄÊ|FžåSAjíójQú#7l¾Ë÷{"Qöñ®UV^£WÅõ‚÷–ËZbÿÍ·Õö™YHV¨‡1ø+=ð0—ñ£±§8|NäÛ:sâ¤WLw)n_óJ¬VRòÄÕ³€Šf%í,žÏb6׸ÄÈQ#XÓ0˜Š³‘X¯Èk_Á÷øîo D03ʆd(Ú΄u• ³@ L^_Dþ´ú3>8ùi @óoÚ¤„fRÔo¯‰Ïµk0[«¡Ç®…b‹¼Å„ËtYl ®ºî–ï’=ËŸ¼Èûüž6k‘{*¢ `èôtêÆž¢&}­SjYm‡¥q"Š:|¿ˆk±Ái5Þ<«:Ö鯿rmдvœ8NÚGÝJ ¢åº¾>á!AQ#Rhiì)¬M ÌM%—[y;笈H§_ÿÎÒÖú?ÝuHÎ?²‘‹Û±Mk††Ÿ‚¢³0FÒ:öõšifæ›ûi馮ïg{ÁÉu»°>HIêªó6+ÆƶârÇÈöÙvX\·†˜šôHYªœ=ëê(`m]&UKZ=É­æ½A¯d6ðÔÇp.¼³œ±dÏo2.²wÓþ<(eÌá„JÍS_„ßE·õ(kÜŠ½þøkÜgŒÁjõÐ )è`¬ÑÄzKâçŒð–6W^EYX)äñ”fo£Q3¨xÂQ‡,¯’DÊ a'2FOyŒÑÝÔ§u‘÷Þê¹—Þµá¾ôöµÎÛl¡ùÙÌû½®ÝöÚ@åºWBRk˜¡ö_Ä8Y1ûë,Q¤m»˜Ôk1Ú)HÆ6Þ×Cý'±»mv½ BÃÙ~-xв³9N›Éo'óe%á= L§Û©78mßók]¶§r8K ±A›–yeôwé\åƒV*B-Éb}[ù†}õÇ>%V3úŽÕ8ö­ÓÆþärFx 7¨ÑO§ö‡±ôÁ)î —ÑÁ³>·¹1ÃÐÃ&Ö:AR¶uãJ8¼:t8±ùËb¢æ½ŒP^{ëT±TÉF2ç\Í‘KjúŠRS)™H;8PŠm‡26cÌ(¶- µèg|&³ ·¥ JØii`ý»£^ü¸„żÙzEB9–}ŠØ¬`LÈ Æ¢õ¸Ä%&B%q¯T=ÎS2EP‚µÇÞÖñU U@v–Gœ…¶ÛÊÍ-²Ò¡÷Э7´ '»ºò“º·hh7¼×k1É& 8 ´!àEµ ‡¸}$Z·º¯Êå¯Ðáiùµ=ì|>£¤{åS뀨M|*‘Qx£Ô±ð‰X¹H›SRžÝ©Á ½¾â<ýu1DF‰ŒôHi³ÌþÑ®H™|ARɦO2‹¸'ýµOiƒ‚¡Ç õrÑÀÅ¢H€<ÎRp°ï¥³å‡?{—_Mˆ{¾ÎJ€n_`ª+µWÙ¢RÈ|XPöìæä+¢ŠîZ—\f½aå`Kï€Z'Ü´†ê xg>¢ŽBºÜÈ1QÙï>aÌA»½fSþ?n3õå3pnÍO‚ƒùŸ—V`¡‘’AïÒV!ñ\þ‹3µÕ$“`I^.FF¤NfD?ÜÆ;geÌAÒvu‚Š"FiïT)Â}Áßþ¶Òð±PÞ²‰Ýšû "hï.¿}óéð`$K®.Tóª‘ðÁn,a|!´Y‚jw´ý‘t®ƒ.„Q‹ØºrVŒèáNi]´3W5(皺²;)$fO/{ó[ÜHç³»FïOÕ¼“jּ履ò¼€oς֤ˆ S±&È—ÿòHøúŒû*4y©Z[ˆÉŸ)ÆhÖ—¡¹úÛ+ ˜ªœ7Q™ºá«æE­ñŠ€QƒvÜI³mä5ê—·©‰%$ÓÚJ¥ÕÝÆ&úïy0ÇOeÒ¶†—(¯(1MŽüŠÐ[(fJ‘H5…ðý®¦¬ÖÅrEr_1º ?Oí×=½ŒœwoÜW¨—%ÝÑÒ.ÆäÃx±ày*‹DKˆ! ãÝ–RºYÜ(VÍzÒ/ •†¸ ä¤SÂLËX¯ŸpK¬”ßOÏ\óVŒmâãB%·êN„GÑ1Ë» ½ñN[Šh5ØÒ‚=ú¹nN”[fËÓòZB£ê„ÜÛÄuê‚Ý­%Ã1$v1'ú´—<^ŽdS.kËã]šÓzÝ€€NÂMÄÛþ:ôz þݾìAÁ©_ñQ/øI€`·+Iª³då‚$¢k½ýr÷ÙØ8¬Eú‘È©óìÉ+àõX RQ2ÞÈ“«ÝwÇóŸ…‚=ãb¢ ÐQ{5e¶O#"1îÉòšð@¤:]ÕpÕ6ÀÀÍtuZTq!@†È“ ‡;üà̤¹>¦ÔeH4®<}ý]; …!S6í=¦­sV7ëñOú×Ä`¨kÚ­ùRGV®z!”\Z~›}lÍ|3¸jŸ™ûaɸy3O„ÖN²6ROúbˆœJ‘çt8ŒvÀw¿ÊœX\Ÿ ¡ª¢ãZ(<äñ×Ü.Á'à4ꦒܕ9¸—3§E:Ï’BŒúÏv^Ÿ¯¾P4§C ÷vhά`ÀëqÂ`•`´ç¦=Â\¨KÑúØ"£´B| ’ý´,GþQ•Ðwã¿ÜN„?ÒÛÛ²ŸØÀŸVwÅëpßMÚãÉ^¨G×¥ÓòŒ ökz£hwÇ#ÛëF©Ü¸…aæ‚ ÿ±ÃìÃæ‰=≢ŽÕ‘æoÈÍ’¦žÀLÆ‘2J²¹VDïlP@tÿÀ—D²u Çße½—Ûý‡¾m‹k0& þqñ®åÀ„I åAúhž¾Òßþ´ä´á#ž{¤B™ü d¼y ¦Ø3lP?ÊX+Ä E”˜+×ë_c©ê¯<égv?VŠ¢&_rxB›ã¶®ý­m”ÀûG¥…}ÇÇÀ´²hø¨&ž’Èm·ñ@±°v Ѳ #!7† 1ÞØê3¹ Lt8‰ K]E›âˆº‚3ò†M¹ÏqMÃÒ ý©ðÍD7h~˜ʪv?ÜøGó û-ÒÉož•ŽS¯³¥Õ°V’åe¼*Œu[ EÏ3uèñ”Š”n«ßˆ?ë,—™ÏŠe {mPp^‰øÇn™ôìð !èÀ¤C˜Ë޽ožñ7ï¦Â²•OKóŽ-VÅ`m§ÁئZNò !Þe2޵ŲB{s­ð T¶U¤ò>S(8_Lâ5ÏíÑ ;³ŠÂJÿA†^ÑÏÂéÄîÔãmM â¢Ép,¨k¿Òè TS´u5m1 }(@aµ7ë“vÄ(êÒ%qŒ!u…Ù$Ñ´û ˆrÿvm…4Èðxu-ÕvwivaàН‰Ðä¹¼.žÐÁ‘¥ÃÒŨ–›Y–8»>|ÁÔmŸùpš0¯[çÝN®–¿äJFÁ€½V}óFŒêôìÓwFðL(_®ïíDâ_$#<”컑Ïy`Ïñ|Yj1χ»Ö¢Ð‚3Õ[ˆ fb"Ç»±Ef‘šØ‚ì>šµÚXùAޘ߳sYöSß´WÀ¤µAy¦žåtcšÞ̳µØ/TÔXcJs ó*å«ä”û¨€â`Ýc:ê&éiyz!Ô mRp¦z·'¡—ƒí%gª„ôg2¨Ù˹Ž5 ·$ ’ HÈU\ ß}AüHOžÞÉÌos}&k;tߨœ©–N£G:Ÿ þTõ"áV§yåÔÓ¬›Íâ¥òhªÄ[gÔ¤k&i«|ËTüÎÕ÷óá%®Rå'z•d‹/©U—oš¿à€£R¾_‡oÕeÿ@.“+ž×b7 $(íqzÕ·bå„ódÝ©/åÄÇÇž`ƒŒÚ´œNŽ©úò{5ù¼Kœ+KäKåºEaçv€¾C{a-xã*w}÷òç5‹(/f¬u`^'_¨¼¼~Vi„ÞGz)λWWí9-@.°¥[ôÊ”šÿõMw¡Àz¥ðM‘ Y=æ†ï|¢¯³8€T­zWt=#º4`ˆeä¨Ü&Ó¡¹9/·õʯLYÓ/ñå~R{sŰ Õ#t.’†—‡ 7àÍ¥ŒZ½ãaÙr¶]™I’ŒîÞ§9Ì µà&/$È‘@îÉ‘ƒLôãÚ!Ô F9|Ø!"VÛGDîÎ×.÷ù4 r·y>Šÿnt.‡)ÊÀd¨€ 1ÂzïwÇ654H?ÛÁ™FDÜUo×I¤iéÿÀ7 mpL?ãJÂô•îd¯ ½$…NÅ5²ñº~ ¾¹µ­<žfÆÅ%n>kÝ*wÜÀX îô9?F«QÍ–Ú ³ÿQ#¢N2Fçù-1Ç/Λ{p¿.áàç±»GŒWäa][΋Gåé—kô}ÙÅ®ŠtAÃâbìtôÕ[¹«m±Ýd-õ}Bmb›ÌuÎJfûY?©Ó¯YLÐuÎòÈJ(W<]‘Ö*‹”kù‰±lt;³†h|DR ` >KÜ¥æW)™\&ªe;ÇÚ'8êºÔõg§º‘ÌX‘[ü­ò¹ù†ƒñ‘§>t•"q?óÙZOø<Ú/‹ØM'C{ËçÁZ†•MÞ a”ìЙë,þMfþž’K¾ ne-øð$u 0,4d±²ôõò—³È@:û…šËÆ-Ìê.±Ÿx ß&jˆN±¨Š³Úˆ$•È2O™¼ÉÆ×÷$^Œ©•÷ô _Û°–¢©9š"Ä1–chðO&¸°»æØ}ú®j¾Iÿ½EÓí%› éaaÕ0_ùؾ¡ ‰‰=ÃïŸÑƒ°}.¶5Û¨¸[Š Oß@ð<ž{ÃöåË©’$¥nc¸Rcé†NF•êb•O:­o¶r·pÑzwÆ3M¨üÏVuÇ×…ó±æSàÁÕþ¹ÿ20Gªªÿ;¼ä~Ú,0ôâàTéÁP<ä,j‘|ø-<^:)ÀŸ¯åáÈñ%1zó6îÚ ÂG;Õ×j©›]Õ¤‘³Ž¶9•Á^œXboLyC j4é?¡n¯kWh#SglÜÀ…8b7E³9]nù*-õ+âÔZÙ´¥ÛWóÆjÏPÓ5‹Ûî<Ø!ւí«@Yv”#“È‘öâ¿Y˜‚[k·”wuKœ‹u·:áЬra™‘Oq5±•ý}ÖTíçGÚq๰Y>çsŸýÊó[ª ³½GUŽ}è€\æ,UÊõÏâú–oY7¯£Õßs yœÿI$(ÜmÕ Ì„¥É]þêx;®fÚÀÁ‡÷}Ù-B̵ÑUtX±3ïÜ´õþ%‰ [âœ'4„0Î×"¼s€Ý—ãIz‘Róö–‡¥Ìkú•°çŽÏ¤¬BëÚ•õzá¥VL‹h;ÙQT‚)gª“WÜD}Ñ|ÓI'¡-óÜœßëX¸y4¢”#/0¬Óîáø_øz]¦.ÍÎRΖ2px-¦ØYê ,^^­>#‡X/e‡ß¬tiÄZõ€³¶á‰·Tâ(î\ÇËç—nz—ýÏ#h/òï¥KW« ]HØ‹˜³U¿íÒºØ^Y¸ø™šC E¢ìû$a,¨2*,@®߃Y¬³ø6è+ĶP†5ë-¾rG4u)‰^ÚêÖ@‰É¬.{JhgT_,!£‹A%˜d@À`cé›ޘءÓsyLÜÇÅ®™ï"áûÁ»…ÎæW|p5G¹ÜÒÅÞáG¢¦“}?8ýÔNÊx$èg¦=Ln%FgÞCvWÒ¡‡ÿ?½â‚^W )`@ÂkØÑÔ’—³ºr³Sz¸â„h~Ņƺ¢+eÏêÞ X’Bñ™¹3ÅÝÿµ- †ËŸÂ9k `‘²¸ŽÂw ívßYl-Ɉ mðœÝ‘¬†[’5ÕâÈõÿˆÏ8¶pGM{š >(§ázßobϯµG܈ó“rSESŒx¡â…Õ/(Ôò€:‰ãÌy'ÉnIÉZbœi说69J\5XHdu©7À¼3öVoç±Y#¬(ø#™x±b¥H\:Gx?ª™?ÉBûÀìQ E‘BëRÅÀ.öÀl•"¦«^åe›®ŽD@Š» rDÉ¿õl­yüQë£øgø(›…fè@+(*’«JV{ Ó!/`¹É$jþ –÷-›.KО?0)\^û _ZÙʆbT)ƒ7דg¡$T±Ž@Fýÿ¾Ž¨Uy­`fS§Â{#ËÅUëñ9èã)5¡þËLi»6K–4Ó° 3+;suOKizQ6càVAR°RVÔXÓ9…Kû%cKoÅ#Ì“ú¸÷óÛÞMÝá °Ïý9ä¥Tœ‡UŸ'T-ë!K‘žzÙZD‘§’ÇAGs’Â8ðúu´)è;'PŠ-‹‰Án³Þn±’}Ü?àyöÖ̱ÙÕÑ#i?K›ÒšÆÆ¿`5ÜÃ/"»2F œŸœ€ß?ë")O¤àáí\¿!¶ ` µŒÖEÌf‘uÍã\Xû€¹ÓåXsÔæžÙ‘âî´áMtÞc! ‰§Ó+Š>ü·°©„¦ÓŸ ñL"èÂ-T>Ì,®"AVÕC6ûóÓÓt'æuÄL̶˜ KˆüEWxxh úé«§³«‘IØó³Èª²uòU†2ýP¿ÖÁâ'á`Qµ %®2ãR5EÏ‘÷AñçkÐp¯MÐ.NʳëYü§taf˜:}ršq~Ìu€áZãÃ<ΊdžDAWôÎlŸº2ö˜!gdWBk„Œ¢¡ú¼Ji°×…æg7ïy'oÜGŽç#œ(¾³3»“v›¬Ø¯´Þ$£÷Tc÷ºA¾Ä:ô…µ_vl„­‹œuq- ê›ÎÍì—çºy÷ÍYh»ðìîöSon0ü©ÓÌÐ7¾^þ{\F“gð:–-§q¨XÞŒa!ÑÅTOÅ…HÃG×"׆< î6ó¤j!±„ÿÈ“¦ïy›p 0ýó†‚ë›v|«Æ'®Î?†~ü jñÓØ{䛦’6Û»Ò‘øívÝté‰w«*$j³SN±v·E5ÏúJÙ¬G®8xœ?L¤÷EâU²öÝ^¿¿€´Á†”‘ÿª^mŸÁ“ skLÊIº/s¡M[yŽ#Y>¯i%èšÜͬÿ Õª½ƒ«È#ÑœÑT´ÉšæÚÙÎ}¤eåš»ŽMùÂQeóí½O…ÛŠ­ 2äÅ 3ús íÕ|”@b·Â,­e)WÊüòJ,B¨jd–£'Â¼Ö çWÅì2{T…_ ›U?½+¾°÷ê? ™æn ìÓ‡CÕ°–ÉT–íÎIÂæl¸ ¾3$ô.°Ózõ!XEŒ)mô×ã4nÿýY-Tì“"jytÄõÛü`b7þ|ÒUu)Eí‰ÈbCt½X—Ç–àÖCHÊÈö8?O䑟t®ûQß@%T¯=VÏ_“kªPîUé(ÛPËWL3@ç2Èö_þÈgêÝ·§&ð)ò†Éw(£årˆ"ýâà(GµØ3<Á³èÇE&¯år`‚ÜÒ«ëfñHå àg²·ÀQŒ¾áFht|$¯iŽº‡‰ÓZBˆóÎÁµÒãÆ¦ü€<Ô)ËžhE6ȹ©s]"ïŽR½¾îšÂÖݨ¨."Ó4Vø¡€ð*4Qp[µ –e/a~k…-9Í­mPïˆ(C±IËšÑ"Ë|ZÌ­š}Ô¿ƒcÓS4ÿ>šf1»w쫪Q±’Ë¥ÆÃ¤z„ö…ŽÌ¬ÃþþÒ^¦h$ÉvÔeZ‡‹@(½pî Áð^ýHX\½É\ž Õ-hK×õ‘»Då1Õ5oUÅüdËRaT«‚U½Þ¯‚:e† ôÊ)Àl¿],ðAáv˜ãW²ŠnÇÐoó¿ "”ðËžkÿJ…â3¾ù̧~Stõ‚“¦AøWà` &&°Ú“'K>7—kI¬n©§(6oÕ}Éõ~€iÊo}Ú 7}kZ9…½{á“ý<$z»d± 0ÿØÜxdç$Ók³¶¶VªÜ®ë³©öËLã'½¹fõ'irŽÛ(-ä×…‹N/ýŸÅm¯_!G;f ãÅoù`U›¼å ùåÐxµÅÛTÍ¢ z{zœh+¸hļT$©Þm­-‡Í¾>}ætíζ¤[¾Ã¦0ŠÝ6Gg TCS Ôº?ÔwR¤³DwÓú™`@¤ ö«¿ƒ'Ô«’Ǫ„ÎmTù¨`ú™øÇ?ø¤„€;¬µ"#}–[ü±£UÈÿ’V$u»f •¤qK› K©‡7]ʃ?9„9„ ; ¤ù°0À¿1B×NÊŸÍ$Ô`TÔ*$ùr1"|5 >}(’¡í7w6Á+Òî»6lÖø‰}Š:é§±€\곘;(0Uù›¼¦à•gi9⧺];è>udÍG/9íú¯à1M©¯dÛ™=‹ °Â¨cRUÎjiú<Õ&89Tk>-k¦AͯŸÄ÷|Zu Ò]¬„¢=gáñ®ü+H¢#K`Rí«C­›`ñ®Ib¤o¹õn›“ØgdÂÕ„Åbø|¨ÆjÛ;>_§Ïÿ[B^z¬XâMaÕ î²Î%+ƒ¨i”]å¾ÖUGâ;|æWs»É)ó¸ä¶—LõKZ¥*]©~9AÌgnSƒGÛý"ƒÛ«#8Zê]ŸIV£oŽîh¸‘+Z·^5t²Y—äŒ}¦‹ž{:,…´@º¬Ž= tˆ{±ä:æ†oeûW»2é]|-M|+dòwŸO°I¸˜S½ s·uÌÎD›” Ž}fÃíö­«i´¿Ò£KÒ¢n±ép.WLWWæ¹vv¬uüsÅâ^yŸ|± ÐUœì@Ÿ[#‰$¯éíe^%àííxÀص—¼‰àt>2^¦ðc‹qp?û}¿NuvË"mñXªÛùë!øwM|é7»a£úÊm„e[ÄsïÝ£¤);æ2ô}ÌxÁBÝ? >ÂŒÞW`‹^OÎq.-»¨|É:y! gñ0ƒ·¯Õ’°{z‘t7оZ0IjŸï$º´¢OTyj®%Í©]Ã<3»6ãë)0ýìl%¦R•úÎ[I¿6Áu¸ŽýOûÍê(ógEåøò3ŠÃOnl@Pïý’AÖµC¶éÿ«ADø;„T™çç¨Ã ã%:¥õÀï[„áM¥Æ˜g(¡ø„#Áh}3n¸W=,‡J|wÍ<4‘Ÿßž¥Ë¹pÌ_§|+“§¡¬Or||û‚7?ñ¿1ð|# yîn#n —¼JÒÉÕ´4øÖÎI»¾bhOI‰Ø¡ó?íhóâMÿ­Û}ƒ&µ¹€I¥_&\}p„´CÊïûþÑŠ6ÁÒʙ֪¥üÔ¸F0Ÿæ$ù ¬Ô »Ûûïco{}›ãXg&>á¼T‚'lNÔ/Ô¸sdРÄéQ–¢wÏ[¼ÿBÛwt³z«|¡å#`Åô!/`¯åÒ{õ°êwr³¸¯TÍ'p9F?ƒfˆsQº©˜-Mž (Ø;™E‹…öÊÞ”KŸ¡s,('·?ûR»Ç·ö"®‚yºbH|WVë9ú™å&Õ=d.±×_[pK]]á€Ùo ÿ£<ùnnhÅt¤T³†êÞÕ?…<¨¡ZÓÌó£Ïm—=w !«^Àg±Ù,Áòß…J™ZAZ ï±öÅ„2.Äj”ûÖæ»T±óík"%p³b"ް`:«‡ýUö麿Œ ÞNÈ;˜~6omVjÚ„›WdŸ±øGÍÓÅ{ØÄ`ôÍ×j¦w4¨‘Ó•C‘(™”K³}2Ù3sE§Yø¤SxÝXm 79&1geßT¡0éR M =ñ œ³‰/9:É“²ýûT΋R6txװɜ˺êÃqÀ®Ì·W“¹êoCê•Xì 6!µ—¦7¿ÙÿéR¨ŠºÝÐ_òâ= ”*£YZ„dH Åèþä¼Ì#\öGžVÔDhÄ`¥À£ëÖ'¬òS>+°q(j’™§ÍceO•°<ÛÞ]ðÖ $P}ØQÖ’Ø>Úü$zÁå?“ÄÎÎ ݱ2tDÓ””T®jƒb üúh@ÚÌÖ˸wöç“Ág–VZ?:´ß¹9Æ=ºjÔ+Tõ)fP+XÍ*-†(‘¶$ž9g4]´—ž.ĶæO–âY“ÅT.J¯‹–6¡¾™_»s–¤JÀíÁ~× ÒÛý›˜iZöZ+æKé—#¥#u³ÄúS DôBZ_©ùyi!¿M܃ œäU]vRÇFZþ‚¡ó-)ïªè!ÚI ñ¡l;£k”1€ïn·7ûÓ”!Ò-EÃÅÎ:Ófº¹öëYlï (¯íñ•Z2|Ÿ„}û@·Eêð%ʱ£…׎¤]ý¼ôÁ h àÒñfß«? |z.»ŽK¼ )ûQPýf9BÀ†m—®Lwб‹èžÖyXLžWg6 £ 4Úl~êòYï.¬Q¯þ6üû°öÆÐuv¿SË •×áŠDЫ›ág\ŸiÅXÏÛÒààg¾bE@ôðW¥›j ÀÊtÅûlGä€l.ÖÊÕM½©n¹FwSÓ<ôÌðmO ¡ÛÀFØ•ÑA¾‡Îq!;ßzP²–šE“Þ'.¶Ü°´iÒ¡ ¾írRBYÂH»óA(ÝÏÁÙ•lôâ¶KÏC…69Í9gÝVÑ('rÎ9âÅ{-ZÔñ°¡Á4Zb²†uƒÙYèßBʳgôñý ÃFõ7¥Æ[8 `äî}ÑT2i‰Ø"n›™lRà ÞÙcÜf÷Í®©DhEâÔ]˜ß "úûÞDÿŒrÂFäe¯Hä ÆLºŒ³.d;kïŸR ”M¥w¬K8 ‹€•KÑý5×Óù:’ Ѭèa0Ö0ƒuìCP'‡áå™Û|Û öU àt‡C°¤üºŸ~ðAn®ó]»š¸õéúÕ§…•JnE| .BxØˆÏÆ8ÁÿbÁµÔÿaáRæ+ïôýr õ®#éíɯ`L –].¬‘”}m!›O>ˆ–èÙ7i4¶Ù/1_££ÕœÃYcm Vb:»Óô€É×ax¼¸G[·Þ¢! 4.ñÅ>I"'Æ(%ö›ËW…HÄWGQ€øsÏõ9@Qç… Ä<¡üßy?÷ HÞ xàp}UR:xõ£ é(³’HoÄå¦áѾhîµx…GVQ¾Á½i›rЯ¢Ÿ@’ …ûMè®ðÛ–y*ï£à°»¶:>í" +ÓÆü¤:ørIà»Ñ£ý\#Ü–Î7?$ÛâžÔ1=©òޝ1¿šHP®v6‡Í3„$7^ÿ•×â—Ctèw¿=Èþ±HÄÇ2µØCßÐ].iÌ¢«Ð£p{ýeÞ’#ñDi '1•ûàI€ ¿ ðàá½Ý+çÿRí"èµòr•¸UåVLV&Æf•$}xê2;,p*Ž¥ 4ña>ŽôõˆbÇÓ™VuÂ䎛…N<Íŧ^L(˜U°\U%js»z¸÷lÊf‡Ñm0 ¡ <ÜùÍê­w´u§§ÕÇkßÝ f¹3 ©ˆÌÁK[vrdhFNvÛ´6ŒbR¸âFiîYfÄ\l¸ Õ.âA<º=¨ôYEls¿lööƒè´c|Ì«ðÆ å[4fhGË·Çÿ{ä¼¼ÔHœ´‰†“ÿÿ¢ó[ÕSª‹¯N uýÄó<«€8d(h vžd «ÏÊ¥†ÿ‰`žyMK{ ìü1ºÚ¤ }‡7j3^«*à§c ¼I#»9Vl#¥>©¬¹Á ßæ…¯Ü+”,¯_’¢<Ç'Á¹t÷2¦ —bí€H¶§CÝE]/˜–ɨcwÚרÏY ¨ô5}Žš\n¥ÐþÏ[€žÚ3…\Âb f&ïÙXìG¹¼ÇçÀp%ô\\ŽÄ癞æã-ùÏPgÑžh%$õˆ(ÔÐýü°aYº‹¨á|F0ëdV¸M×rÚÉb‡HöŒ¬H° ÉŽü!€J«€QÅÁKoi|¤+…†çäSå [ÒО*ƦqÑ#!)Z¶t„fB˜§%T¹ÙUèËPÒls©^uE„–¯ÏÁÂ)—[["~0­øjDy»«ÿ‚¹¬Þg€ ³ñJN™#­ÈDðpº üƒ—S ÑLļÖyì#üãô sgDOb¥¹’~øÓÉJ,ë˜ß«æë[èèÎï]Æ‚ÛT71©¹)ÏfsRÖGáT6z$ØðÓ™ü±!öå ‡‘BÚÆ°i­sîœðü¸£tx¶R½'w;háà ‰0Gsœ@6RѾèB6o§GXÎsYYåÊh'@šéSEhEaãkçιWÕNØ`Øš¯¯ƒ™°’fÌÍ"ÍÔé£{boÕ Ó“I†D25þô+ ÜE†ÍúŠÈ‰)Óݷ̵äÞ4@ùÌgYöbg®¢Ò«ß¾À)8dy¸ø¯ª¯ŒƒZlÌö¡–¶£@F¬£K9>©†؈ m1{¾JÕì=ŠÞÐ’ŸY†K Êõë-h§~Ø‹»$¤¤›A&#LØä–!ÔZ::¨ÁhìþWóÕ Ãž)ó…0Ó¹hfCÅ/®3ý$ÅNÍ øÄA¼’Ö-þsKÙ¢l+MŒ;žéqM0™vÂp·üñç¥ý,z¿\IqGp“ÞñEìV3­3ø)Ý6‘…Û(¯ ¾» ÀÌÓ'°ï×5*è#¦éýCWD؈‹#ƒÍ­…k2ux¼aª]°F€fF$ïc×Ûà–} HzÁ¾f$C5“JoKgdPèÎ×Ù¥eÂ¾ŽØOÛ°xb„éÈkª!’2:–¨\!éû¦&ë3-.=‹ÃÑÈ,™dª]Æ8%›ûI"ÕWCŽ¡¸ƒ>fÕž3hÚ8ÑŠ‚Ù>–³xÚýfŠÃ@¤Î?p÷*YÀ›{«ÄÉ*K€(AU`Ó©üÚ­nˆãö¿þIì]²§Ój>̳X²p¾t|±â5ZÌ]‘o3 `™õቖ¡ô…b§¨i+9›|ØF'myé·â/£SeOƒ‰.k{âÕ´·NÑ¿Kƒ¨ ÆNQ©s*Zè­=s2´ÏgúžjÂ>ë¥y>2ôf91ÈGA+{JëQ„b+Qoèѳ r£ötAmçu/ì!e$7*àùT« ”šˆÕM?_<³8 [õy‘Æ”8,ãgÏì³ó’ àpÇ„èX(PÜØvo„ÞMâ®Nš,ed1´ÚJSÅ*çñ°ž=Ý ,&dà€WB´çiLmõBQsLÔ$éÆãÁùLä@«Á¤¬ãP%e)¿^E¨©«ªÀ`;of‰H,sËH´¦ÝTñ ÎÖ©6©¶4z޶f¾LjÂ3$ä·ú2«½·‰ZWî3cj|R¡ègvÌu¸hæAËTv€÷g¦º± tÀ¼F”'“ˆ€úÏiE®«Êt‡ *¬ïÕ8Œ‹ji,3ÃÖú‹µbwª$|˜ž) jêÓ«?)`™ÂÀúÆfŽÃ;pÝ×Ho±µ¨{gݲÓ,Ø~ŠÝªK+7ŠœÖù‹Y*àq «KßÿÐV¢Ó:±rÒ›õÔs4 æ&æšÚØ‹%¤ž1Óú²1i6#ÈŒ7”ªvDðIQg›;ñÊô>z;µŠz9x T^^|iƒÒÀÚëÊIe–ž˜ý“¤Î”‘¡Â²Iðº)꽺S¦2{ÍÝ å©î 2ŠÌ_N=çJÝÀíîÎö‚i¾ƒ_Â×j”Í¡fu^ݘ»@E«ˆ”9Ë¿ÈX@ÈIH÷]º³cŠ' #¦tÇAoöx‹ÞQûƒ@à_‚þv]êþë g±úÿ«”îÎ=AGZå–si¬•3SEñ¬ak#+qº):…¸.ã[åÈÖï(Ã'Pˆ&8#S’G{iø‰÷ç %ƒ“Óñ Þ§-dBRp725ÃæqAÕËêU;PŸ0Ébã¯Êß9ˆùõàêëƒ6Ç’bpá»ÒØ]¦“lªº®¡v¦¥DMñd°1Ip†ã“¾ü¼ë +©™ÙÐ=·>Aשü|…\“8ã8¥“/íF–Sû_µ½\“è€8ÉTÒ(t“Z÷7kÃ]&/v¦‰Ž¥–¾ó..‰Rìˆ^1¿<ãÚ”XËWÅÇH Ñ À–Ñ:LC­nºˆÅ|³‰rlÌV†P'-.˜24ßíub‚\Â%†aA GY¨q+n°Þâ%£kE AX§¨Q­] p±À¸®ÁÎ&ß%4é÷~V7Ým<DÛ¤Xh•=̉e/Nç¶sàâ¬hØâPÃÍFqcˆ\»SUšçé72'c q V¢Mï­uà{a8Bð—ìÿAƒÓŒK¢`’ÉÔïÍD—MgäòÐ(¹÷ÍHï•wÂ<=³J -zÀƒ+'¬n {w{ç½NÏdÂ+SjqËß7kË˨ö±^æn•\^k^ØÄð/±6¨>{Wœú!¿ˆe`à¸på}èh%ƒ-ŸP‚¿BãÄ)r{‘º×  E¢è!qSª°»ÛÌò)Sò¯•ÕÛsø±UšLÞ&ÊàpiÞœ` z'÷ÇníÂI’Ðr,{­•Aa•¨ˆÞ¢‚ úy&6OãïÞ\tžk|5œ0Xé¼ê}·‚8 p#$ñ«À^m΄ ×׺wù§ÿy:·uÑ©c/ô¾E⎠†›Á28Ÿ åšUQsíÌÛ§Íi³…$øfìŸYÕ%Ÿ¹)Í_¤„¼eƒ"`‹¦=‰¼g¯=!öX”°UTäç·™¬þef>uiÊÏËMt¯¢D¬ùæ• )y‘†ôŒj¬G*å˜T†rî3Éí´ø4¹1Ö÷¿ØJD€*ľ/#tˇôS‘òjèôjši@D(^½wŽå¡ÜØÆƒÞÙÜ‘¥¨2U)¯ƒD¶FþÍ ÝCÝdõØš—8@^Ãôê[DÅè)«LBt"톊“G¦( -á©8¯Û2XmÁB®Lzîõ0-¦«©’“Gï¡„ºY¾e[”Á"ǹ”ƒ ÅáÿïbrÉÀ*è5&m~Z[íùæ¾îèbÜíxyÿ‚‘IÖs,h.õQ5«Íi¨U=Ö®€³œü2´ù$Žôq™òRNë6®Lꂼ:ojd!ñØÊ@¤žþa½I0ÖÞ6&”"n£ëÞF?7¶¶L`À¿+&•·a×ÍâÜIC¤}›èzÁêÓÎŒ¯KU*Ô±}ÚÍI¦Ìc—v ¤r ±:g¼XñnìaÌ#ÙR/ ÿðK¯˜3‡‡ÖÌ$úÑø||uª…ûÊÒ/@oÝ[§T Ûï~ S¼p1úµÙ£PB':cíµiX$ë|ê‚£Æyâ.µÔ ^.€]猰 ¸.‰ÀØ\‡5-’7‚Ä÷ëÈ©'y]ÕfˆçÄæÌ’{£§úÁdÞä8±áoº¡…Œ¨@Ëo¦œ~¿ÿ=ªQ¾Ý<Õë;RÅM ‚J¤OªcgyÔ¼÷žË÷ÀÓ8…l޾Ââ¯aê\w¿Èe'B·3Z$)Tü:¾§ëÛØXdB„1G˜‚ž±V6E2–½\*¾(Så¸Ó褑6n.TSëmo„½Àx/9m¯¾Ó}f¡ÅŒ q¼+ØÊJaE²XðW‡üMd—kx,nûjý]±øaÆ<á÷2xÄר8‰z²¨I(,Î]ž<\ò¨(Êóiíûfh`âÅ%ñèVÁ”ę̂ú´ü-–Ÿ"óä=I<‚¤5Ad V[V!:®´±GçЕQ}y± eÌÔWYçQdìtc ÿþëšü ®ÚЏ®KIL\A,TNÉÛ´AGw¬îÅÎuÔuLƃ6“Â4¹ö.º ÒË#>=Ê{Þñ1¼È6.` —.®æuo÷Œ°ý óÌèÏß;7öåq)^¸Øëm—M³õ‚â†)«y1y³ç„¼þNKúÔןø,F+¡ oú‰Å6"Åÿ[§u‚2ì‰Æ¨±ì +m„Szîòž_š·:'Bx¼NHˆ›K,¢$)&ÕÙ×ø! Ü?ê¯ß Ü•¢þ‹üÁœDThýü2·`û;êŒò.'ûI¹i–¼~@U?×È•°¹V``^Ú’à8ß E,çPþH1­SO9 qëtð þr¿½Ÿk¶4ÀE‹=\ûÇí¬õp–Ü&Q?l+~r™ù”ƒ&9•>ÏÚrÒ«†èìQšC‹·ÊÐ;š\‰5 ¡±œ ÌŸ¯ž\Ƅ֌ßœž·b7lI«ÿIñK×J.®‹ÓB^x$OÑc0¡“œÒ#-!/—³¼?¹t‚\yHõh†^t[p˜N¯ÝRßìô¬…›Áª´» ('4Fƒ92¡Ž- D£Ïvð©+þTxºÆ‹§X¼™Ÿ™?ZktŸ9‹hø•w--p³å…Å~Byägõõu á;A¸Êø[4aoÕž½‘ Ï‹"ð;Z|"|¶~¥Æç왣z¨lrˆÍâ2u{R“Áìy4ú\`qô–Aˆv+B+;Ið.¨pycª£é¬ZÒ¿îQj>eb³þ)MËÈ/–˜$i]z°[¬=Vä~‘¨XTvõl˜IhÑh²M“ ,† F~‰z Ú!›ÃY Y4  ÿ |]Âgm~:ãZªÙB:ïô®p}õ~8“DìUÑÇÏy?šfÜÇ¿¼s4U#!Äê{ŠïUqǼ!Óü5¾k°]ÛªÁð;£9;pK!èÛ—Q¯ø’)Fx:÷ÊÒ 47Ç<_ÆwÏT»/‘ëIÕÅ‘2_g½?á~êà[ÑÖûéËÔ½h¶Ï^ö7–,ýbÛ>­˜ÄÞ¸9øïñÆÖuï¾.MU¡kß3Ÿ"^c~᱂hˆæŸ Sd«Îik˜ 6Tý×✙ 2¶Ãò°pZ3_9”8­úFV²”8(¼±‹ µ]<ØÍ«‚šfº¶µ9) í.¦%´ŠëVدÑϪTqi'·­.þÄéÜ‹éˆ žJÑÙ‘w¸ÍN/bf™¡PL±¥²—¬Ê€¬¨·ô׿4iâE³ÇÄÛ~o/)l*dóyÎH!üü]$æWûˆµ¢ » ïãÀRºódaâŸ8j6G×B–㦸`s•£pû«•^JЊ÷×-õn8eo>ÓWÜÄò,îakKð€7>´«´×Ûq•kGÇ[t²Æ¹Ö€yÚÜn™.Mª¶ ,FnšÀòý›ë3n #f/dÏ6Šüš{w¨B ;C™ †:òxñßPSa v"h^Â\õúÀ ««OмbË⣣ƒ·: ÇÒÈßΆŠÇµMú;$Ÿ=ú¡˜ê î'®>7¢Ø¶Š“²lB§^N± VÄG`ÓPB÷Ë _—›ú°tpºUßÿ¾h4g,"`%xk!ßgW6Hçæy+]ü…úlEÔÙú«1Â/2YÐˬR¯vI©CU­ô<\V:–®Ó?耞݇e‘›yüV\ÁÇ/Ç*^·5³Xº$n·>!H‡®aPG a?Ôí÷:ÉÞ£gÛ 3ßÕÙY†M¼n.½¬jA.2 ÉìÎÄšÇ×⥋9[ Ê)b¸¸V˜)ö£j±¢‚ÁüÍÕÑAL‹¸ Æõp<))猃&g«'æÜú,gÀáŒh2Ù5N¼M\€]*Xðj)@^š7_Ð0 Ï^ZGé‹gÃÉÍÊúšìRäŒÊóÌ(•SƶÌkõUùGþo—…äÑ£öÑÏ ÇyÆ7YÜÆ œÝ@èäâÄ"ô.8®‰è—¼Ãïûºø…‘7â,.¢¡Ü–ÔðübV#µ¼Ó‰P)¢­ºXT>^ªÉvp nÎwís“´©¢Dø¶K78¯¸›KËU Æ.2½äÒŠA7!0—ƒã˸d˜pw†ÿ9¤|÷ÊUÝ©í÷TÑõ|4¤?OÅðÏ}²Å[ëQŒf̯Yq­*sž¢ã陼ƒ—:Ø,Ú4üØ ½ä¥zö°æÇL˘Urç*Ýå"®A§ßK)¬Ø`Pé-_Ë—¢ÿŠÊ«Z‡Ø~6©íyêªmλJX²ñ‡—âó¥o¥ºzq—‹æÕì8@Ù:]€‚Ô,3Ù„q$|Ôà±5_xtdC3F´‘‡¡"L츒õ«iD »X¯ê@#ú5´+,—ë§cE¿ä^åµ£³<á¥,Ømxš ºÅi×/äK¥=S;­k­ý4=ÝÒ kÄÎRøê¹L ÈÍÐAΫZ±KiÖŠ™g˜”»·jÛ ä@ ýýðJk®w”²+Ö)Ýr>Ö (»Ç¶ûgOéʼՒР¹PpLg36GØòqçˆÑ‰æŠu+TÕ5q§vI … ¯¬ùƒ›é]ÌXOê¤ì’rsÂÚí*v¿ï¹äÑ"žZ¶¿)¶Ç#‹)^?ÅRjê¡ñÊgQLîmÙiñÔeôÍ’ê_7«“ÝF½˜°Nιå-×⑵ÙöA`ïJ+[ÌŽ:0a ê舾ÉÏÒ:ý¼Ê‚O›làÄ«f++ };Ëð å’—‰WÑäâ¹5ÒÀy¬îÍ­‰­§j:I‚Ä"!ý5~tÁxR‚A¨!qÎV·G›U²bùÛ®o»?l}·l#C·ü¥H¶tÏù)”#!áÚKŸÌ¥^ŒÖ@IDú*V‘‹‚; ú_ `¼Î‚ ÷aKó—'@Y)ÙüºÚoÀÏqõA™ÄD½£™rHBñщl|’›fs€x²ë–Âm¸Ž§×Õ¬E€Áucpû…|®ÀëY|ÙçÉS 2õŽ´†:‹ZµxlËŽ—šþ2ÅHg‘è¿Up‚†h‚(b\¬ß„Þ ŒøFVŠÄ–~–¥Êñ*jAœÈñ Ás‹J¶'I›‘âA#ùtQ°|%äa½\MâE·a‡±ÊÿÜ5pµ1jJÉ$wÅyIÒ”lTžñüAM1÷â^ÝñeZMFuÙòÆÅ_ü9z!ãf‹F‡tˆ”²Ò•ÃÒd ¯y,4¯eh ÉÜ ®ºŸÞªQg¯fÜâÌÑô®ÕÅÙ¸Xú‡•X(ü¤¤'|"Bt0å_!‡U««t9EéÑk%º,HJÅòŽ6² ÅÔ¢Âûð‚ÒoÐ"óWãú(îaü±8»{…ÐnHAøFM‘nAáPã˦›çº :Mô"Qäø­Brÿê ¹îì7$ —7k,Ñ•2Ç…l»ï† ¬ƒ®÷ 4KaJKÀ†b~c_3j‚!ø§òÚ_òZ†ð¾º%–Õü0.ŽèAD^¿Åà§Ã^òщWäoÇèƒdâ:ˆÃ¦Âs/fÄàúrM é96©O­pñt°Ñ¢kºc`5 ÑÖ¯ûÂädk¸h´ iƒ¦{¦èE8ã Î%q?‹ãÏ„“«­l#&W${ÚWHv˜bè‘Rµ`¢(@lØ|2ÿsªü2j´Ä\¶ÏÂG mLCÉúZ¨;ö$ÔCc”$!yG8#ú\ }ž&¿ÀýTñ¨²C±=ç[¶;aH~Ùí—Äb…+.{vnƒ\[q|'À¤7"˜ÿóÝ«UÿñêÇw¬râÜ—ñ›}=pk§€ZÚë‹ƽzH¦#+@éiyf­øJ?§ýzAj\neD×'»Èäúµ=5Ê{\•ºæ’CpaǾڃ“6ëY½vÐïë1‡˜’òÆdô <ËHä8~1ßÕó€ºØ«o8O@27 “kŽÂ˜\êÌù¼ƒfq (Ä€@i(tD2¹­“ÒT„ËsÎÓWýYíÞ/™[<)ÝÞ¤S€Ìøn_öÓYÔ ¾Z¶Ð=Ú°mzõÿIõCÑ·üvx,ñî~zþŒ­œÙ¯0žÆ L"?ÝCo²m{zÀs$osé¡-ç€&œr¯>–-Œ´±mžyùš³HH4ŽâòÆËYX{æäo.¡Š!£Uƒ¬…ü|-óàâ¿o ~¢!éÄ$°HÒâ–`3PmŒx2㦰KóGÙ$ Á§Y~ŒáÅáªÕWlÒ¡¸\36AýyÜ  ¬²vµé$‰.KÇÛ8£ççÅß Hú{î#{Ü—V/ö¹/Ô „ $:å'…ÝÂ)‚ÇB ®»ÙQ±Îô3Ë\Ey2¸šÄ ý@q"§Êàäã(»ý. uBš‹þ 1é÷¶•s+)dàžËC¢ý¿½îjœ¶¶ |ù<—jMÁ¨9Œ+æq€÷C€F7SÞÇÞ+*€ýÝD}a]¹œR‘=LCÈþ¬²‚×;To-ôz^[ÄÿDLÓ0ïÖÛÙö2ð¥ÒîUȲ"¡â¶åÓmj'ó[ñè¯PÔÃ¥Ï`ØÓ#^åˆo1G5>°ž•eúHºöV¿ì‚*TÆ €I£ñ¿ŠˆZ[‚Ô¶Ž_»ž£Î¡^Iqr^ P¼)‚ÑD2ü.fÝv`‘Z3¹ªãä-@6 ¸sN0Ø  eèŒsÆSË¡èl,cz;k:§UmALE Š—C“!êÓ¢Na ð`)îÁÓ¢fôž’z€µ¶ŸyÔeU÷K)Æ~Û’ÉùXsÃ}#¿d¹C%ã[…µ¨\o-[q4Ú´qj‚ô²—Þ>AAñɆ®Qƒˆ~1`︔='pª}út‡°ò_’çÖ@ÚsS4´Ní6‹Tà³ì¬³æÅ ADl‘ÚÚùß§\ñ æŽöO‡fÒ‹Qt b‘¿NÓ™jôÀ ±_h~#CººwÉ·='C.tQ?[Š»ò¢•ˆ;;Ci´kFáÚÙÿoÃö«8 ¦…@êª7²îb1ô?uêê&æ>7¾“çlÖ໣ÈgÛ5iÎ-°NC¤OÚ)9ý‹±{º^6½šîr`èAÇݸܧTüwg׺óKŽ Tqi±ó7jOÀå*”M˜€çf7{üÈhâbdËpô#_~Ëõ¨á꺆Ni×ág"8Ý÷ o P½;ƒµ¢öÌ$/¤…£dì˜öÅ€x$ój™Í‘zk4zÍ2&yîIœ¶H¬Ù›‡w ‰JÑöóÒ L8êàd˜]W ÝjS Þ#Í;-c-ã±$Dˆ#ùê’´Ó )Í”VIæö+vcÎq—;à}P…³‡ì%|Ž÷j6¡õ1´à´²©&ÅgÝʼa²v@z6«WçQ2†ö5Çn‚7ÃÉ4rD Dp8Ùîà£æþ?¤—/G馷仾}í@•©ª) *—^#WÛËqMŽÝ/Æ£yÙÝò'•¸Ã%­ñ¡$‡q—lÉi; jMD+ÛN ôžË²ª5¥Ð9I7­G#O u³5&Ç”f§õ0J—+cñ¥ŒWÜ(÷gûÃó³D,ä(WúRµL¾šå€øª6? ¾\Ed̰ùE‡‰’= §#×pÙ.Ö/1ó>`³¯Ð†ëJ¹Ë¯£Ã˜Ô’.´³Wå¨= ͳ¯«9åìºÃÔEÅ`û<*ñÇM»X•‡þ–ƒNIÄR¬~ÃìÎÆ+œop‚µÁo-‚znïß@ŽßóÈ£J9B.Ê“NqàÂâÎ|>s±#õç>××lðŠL¿±ÿ6ÂEknq*<LàhàcïØûžÇþ¹]Ùz´Ú`B Õ|é’æZþ;‚ÛMð— È.[Ù0¶6kŽÔTIJÜú¯ëk|+F.r99k1²"Âþà,¤IÝÏÂ&K2¢ 5Õ7 ÄEË(û­yK‹•…T)&2»5±Óàè­3r"ŸëÔe ,˜ÆŠ•܃WSCÎÎÐÅéxKÕåÁ#£*(X|èSùKþ¤ô€°ovdìõpš¿Ž£âÓÛŸÔLBE!_Ç§š€†¦OíÄbOKÃË ,Q9`°kF6ˆð‰xò!ù*&l6d|ÂÍû±/†Ì ×7†Ü«rk¦úIWK \H+‘}4N<’lu•€=–3k"ÀPô¶åÄ^…a ÷;3¼C^¤nøÃÂÅ)Ï!pì‹,C lñ_Vã×ùPÃût NB!:0ò6ߟ8™MR„÷ŽçÝa!îzãƒ\~Íp>¿ ^¥êà=ª›â.ÞDÇnæ¬4ŸÒ -¶‡xXò–ÏÒ…›÷ñWƒ²8Z¯.W¨ºYÜŸ’DÊë4¾,j…Æ‹\B}€H¿Žw¶Î̼Õt7q•Úpšv „ê&ÑS w«ÍçÛà¡:œƒ°dŸ yÄýÛçàçÞ¡ùÉB|ÞE•õ¤iæÀ‰R•é8o7⌫BYæC!š”[iŒÝ™4æŽòç_*@ ’×FÑ ¯[‚'µe~0ÓXàé’ ïrYþ¬Í³“^”N#?xYÚwÂÄQSc ¯h`׆ìI½ü¬ë®õÑ‚£'´Vë«ø48z.ÞÞò& !åæ>Ÿ®pÑöÈNí9Dð€2~¸¼í­[Ÿ³FA3|Ãú}Mkdëâ*$j±;2±O®` #ß$?\ê i­ü è ÀZoš²ÝUjˆÄ»úÏÆ PÛ”Æý4X3ì+7@¾ÜZ»paÂoEy.¬ËÚyQÞÔ¤÷K‘ÒsêÊ—ñãE¨qÕÚj3´аJ$ÿRØiANÎ"ÙÔõ} L=ÑÓпØÎÖû;Y@ãý=—†^¡FÎÊEV÷å‡Û4eó¤'G²Gý#´bÅdj°3lb-{}Â#1EK¾w¨K\úÈ ³\¤¾Ú\¨7.µÄÈ0}"ã£qÓ6ë:¬ÀøGÎúpE…î\êfÏŸo¾÷Á{%¾vioò¸EPĸëÐdÐþ¹h2Õ û!@ tÆÌ=3§SY»žyrVjgA;DÊ9P2eUf¶ø?Ä'ø ÂTB8£Þó°Ñ(pnñ†:ï%Œ£”Õ7,vàט;HBx —ºÜO¥°q¼Ð-Q«¢ˆ©£^÷Çó×Å=%[MR‡‰|LJÓPCûy"à‡ÀCœµ¯USkWXÐÍ/ϳ)«–µÓ‹b¾‚…,1+ÂÞh€r(Yì,f—~x®±Bì™|‡ˆ8qì5¬÷œ»DRâx¿¦v3ÍûVb¥\„qdóÕ¨­ù^D®ŒŒFn°ž5á€fn^RФOò»*Ì4üÓÂzÕ5Ò×7WÖs%‡üYLÁÒit!xgߟÕ9À·øˆ¨…˜"·tÌ᦭Gè4Ov"zšE²~bW ûÜlOÜXè'Ÿ ;~¿¸s=Ù j,ÄŠ>ïÚÿM¼1Õ®–?òÉñqDÌbxдlîkn'°( qÎÛûÎãÙ£~ªçÛ>\_ ¹WòeübëŽÎ¾a´¸çL\=£UÃÍ êVG:Àõ6ÐH™XUBÌ|hù22ó/'?„„ }‰ƒ£ú|šüÙSù‘~Êí~8#=EæËj&ì–Ò}"§ Þv²rEÝ—<}$<̓¦o†z÷œÆù<™<°ÀÐK¸ÿÄBݙ۹ÿ™Æ€$–y|¸º•†BÈ#¾Ð}<Êg3(·¤gæÁbŒ´å œ6ô7«e ŠÊ@™ÏZÞöR;øæïkû7Ï~Þ ×UG|¥÷~hÛ—!—æ>>0‚¤¶0 ´¥…AAuwî¥uËz¨Ý/4u˜ Wz8ãû§SÞPv?Í*«wÏ‹î-yp{Œ”x“k.“BäÝC3Ç·#£·F•³'&í3bA&)éOVÿq‪ÄLJùaƒ ‹*uU#dáÈÞõ0ÊE½ä:Ÿˆêªk®ÓÍU.?`/e — <ü΂ßÕÛŠ#k4Ä`Xhg7ùd£ôm™E||üA“Dµü¬ê09C ŒîÍ55Ž Ñ‰¬Å\šÁ3S/ÿÿ¡×UªœåO¡¥h¨9çt óR’¡Õ ~^UâAÃeY¤ä[†š3¼÷mD¢ÇŠr?Yšpë%î×õ–#ðùOÎÝJÓ圶ŸÊ¤‡6Œu·^¾Êì`QiØ€•=„âÕøæ[ï-êO›Ž¨ÿÆk¡ñ’ MÊŠº¸10”¢\šôW½ë¬ÜæÂÞô]v…@Tbí}׌ì¾Å½æ š ¨èZSCú<ðìtYÕý-€ýú—}qlÑÚa‹÷3oØ–}ÐÒLÑTø³e´„Ðѱô²³Û|®—ó©ý¿akÐÈÖÄ‘–W£!iΪJT¿@-Ý5Hª‡]ñ¤òR²Oyó} 9ÁLÑH>GÊÇ4ОO’÷ïË%ÿáÌq92ÖÊIYv€h_éZÙÀ^æ«ã:d-WRú¾P[éH‹É!]äI’óZŒqnΈ\U@9I:O´K èãZMÕâÎ0ðç—Ëù4JÜÏzaÅó–ð l–ŒÜ¼¯&õÇÞl„ çûp´‹00¢„ ÍÚ?°( ½’ËQëûmljf(¿— ñêîOWlæCÆ&ue†¯A£,0­ÔM\êì$sC11¿@»Cq°B+˹˜@"¬Äà6a ®Î¾”ñ^ÂaþržÇY½œ/LíÎ ²Þ„ŸÖ^zG™_ÖÈe­÷H680wµ7Ä?ÏB/ØóÆÍ´ $“ê;ìTÑà©D¡f>ŠªP©4vÒòÝßRc›^‘}×PM[\¸ÿ‚€x°Þ¹ãÃêýÛãÀ¡Zw9)r{âÀ½}¢t¨ÖÅdÚíëœð89!lˆy~âºçpý8–= @²póõ²>iMRPUܹ¿e%ï[Iž1§2·¹!x;yÂ6±w Nžê:ÀòJ”ÚÇ—ã É@¿éõ™&yÜœwP`KÅ­À‘ ÔÉÜ”‡*7'O¢!2Îòí½¡CªƒI`•ØPù áÀ÷²ÏûŸÅþ=¨È»#Ëz©ïu¾?^ÿAíĬ‡bå {ïžÒó€däÄDòiÅ|æI¾Äc<¨#ƒ>Û¥8®ÝµD©5 ÈŠö}½»Ôø1&_Ò Õd¹÷.0é¤KµÎƒØIA˜Hß|ÛUæc±žŽ0K;Êi8p)€#yÂêuÚW-cÞ'ØGþÛê¡3OæoKn( T‡ˆ/®ôô$¶N" ™C ÝA=Å]ÆëzÝàAGªlùtõêέ&OÏ ó?§G©‘´3*óæG?(ódky¬= }Y\4Vƒ¹‚Ü@ßœð#ŠB4¾CGÝØ\`–dñëYiÒ~A-è›àòbtˆMé/0áNO2uaÀ~,§ø¯VÉ:ÊÕ'DžçYPÌõH'Û·è¹9ŠBšrÁ0‹w#àò•@úQ˜âCQ¤3ìšUN?— Ç'€á·Š³ ü„ã±ÀÃ1OV«VÑp>)Ò*õ¤ŒeqŽGwÐ}9§SêUÍJöc›ßçôð£À†Ã͉^0-eÃÚ±t&‚eš9ZB:½;T 5DæµòRž|^Û‘¿€ |> D^¬* ¥ežW>øcÑ´yR³Gå›"ÁÓ/\½wn¤ 0Dª#hL°ÙÊ…ÍåLö`„‘ƒ ¼wí%>v-íÞ§5¦Ô¸„iIm—› W5¨7½«P.ĹHkÉ€õÀ®7ÉÙœ·6y™]°nF®ò˜«ŒQv'~eb†”#,X§•óäÕp÷þ|sÖyVQMH1QØ4Ìm3 ïyƒÏÌgEÇiCx%Ö¿˜N«?ÂgwÔTë V·ÆÆ} 4î€e¨Züƒ.a€KVoÀ1@6ñ&x9×°óÀ~h¼}úƒQœ–Š÷…­‰è––cãl© þÕ¯ÐZ•¸§ëÿê[ „숲¦>&aò2t³ï&´_rkÊ=& o1ó¢—ÌjkÎ( ÃÐÁa8€¿«úµ˜ÑFƒ’Gá9ˆô!²µ:ÃAUæ<¢|âO®%x%eâÏ7 GVˆðuþqb¸c¨ EqBÌñ`=}1¯®SiÝÅd~’ZbŠ­ßJ/;Ší˜_,+'s!óÂÝ[zôwŽ+ò™SnúqÈ0ÏPkëEïCëꮜMãŠI×$Ž„˜¥YÜÕ²&|V[¨ˆpnÌH/‚2~CWÖÕÛ/ÏÛ #RxÃìžz²—;—èé¶r†ªì 1Rs~G–1S]”Dø­ýBSöåµí¢£*EŠjt¿ðÎ…HÉ({TeÊçFó¢do•Ä+É<|2e£²u€Ž+¿©[?ÀT«Ã,zmÒóR:>Õ÷"Qƒ˜G~L§œð`Ýüiú]#ƒã¬+ÄÒ÷,ýò]k \I[>êqð¨‡:×â$NÏ€ÉþÅ®ZIf³MÖÄzÀF ¢t˜o“WG:Ú˜q½È %Õ¾gÅz‘‚K¤øîæ ·¨vÅ)ÏÚa÷|Zú]cÖëCHë¶¾©e§A— oô+ÚÒ ay¤ ㉫mìÝ£·—qðÔ8è@ËPŸÜü¼/:-&|=†‹ñ3Ž¥Ž ëíôâ”a,`®ìÌ-³c9³fŠÜðõ·D¡?K’ÒžŸ×Ö­ yV蕘¾çv•„¦â{sJ½jlø’•´W6§»·oæWì©VSXÑ#°Ñ¼¬ÄÁ©Sã*2‚4U¡Ù¸ªÔ%…«†±qÆPF_%d¯óêÞ­“´t³ ÈÕ«Q†tÈs@²zòs.½ctj‹%׿6³x!É“6ëHU{Àèøe}š ÂÏïJäPÑêit6– ðÉ”{ÚBv k9§°Á4 A½à‚Ìwþ¨ Y{òkÞWãÜ7)Äòf Àƒ¬'qrº Ã]}+îØN]ÊønÛwÄkì°o_C’ô6¤î.y¦Š¾ßÊrϾPáÑÕ󻢶Ô8ýŒàDT,¡ ª"¦Ú—}žV›Ög·µ©˜pºä”~“’rbMŽùÖôó©÷²Ô°PCÏW!ý˜?+]OèóÀ¸7=s. æXÎÁI&U‘c¶Hm3v[aÜG£€€›¶†î| âñИ â„¯d„%;ù¤3A«û†¯ošüãé«Z(Ç0tÇSkR‹\VÜ9¥§:x¸R`éuYÓû.v¾ªI$u`O¢]&½$«­ÒCzï%ù±+œšJS&½ž½^À EÜ·"fáÓ2ìQÑJ†õ¥’Épo‡¢{‚ýÕî&Ÿ/Y¥ÖO¬3®ý±~©$±éÉ,_îóuÖð¶”éõIäéù«¨Èû¬pÏ—|Œ*£‰»ìšúf«+ü€'6sýd¥0íGt"sGŽD¤K5ášoø ØPÊg;iwý L¡ú îüc@mv¶jãd›")ÁPvAë{ †í8‹¿)-PQ†Gh4Œ2†¦H‚ ªKú ‡"ˆñî9éΡIŽ^4Y5óÛšB/°ë¯7ö2aÛõìµ6ЮšÑßW*Pár Já2TO½ƒÆX\½m!–4èOÑš/² ­'Ù½µPξãÚÕ"lÂk2oZÙ#rYH‹äø„ÜÍÄT²B.#açì6ZE]GÇk*ê"½5*‘)ì9ÂíòÍåõmf‘y@ãv'µº\ÿ]K.ÅSjœ¬~Šì¦¨o¯Åy„Yß0ð&•ØW*äçÐÉ=`Í*›.þ ¡$ѱ±^°ÿµ¡çš°i-,SçôÓK‡˜š+Xež© ¹Ù¯£X÷›¹.·Z¹×í1Â~ŸšÌsUCú(-r½«-îª6~ ìa®Ó´™6æ@Y;åS5^PL&Ó ÎŽ{²…±Ú+[]a@ÙÚÇ'Ø¡I(ÿ‚a³yY,Úö¦ñr Œ °@tÞ§,4¦yÁ]g”MtH9æÍ‡MÓ:ë_è~k‚ÞZÓÂ!(ó:,Ãȸ'5¤^©o¶ÎÓ*8¸¤ˆ›œ AÑVâÙ‡òðÇÙ*)XI^ŒÈÙX¨Òµ÷V§cÒYØN{lyÃò×£9µcõòUYmÛE.æ0QÐx<€}Ÿ’í~ØþÖýXDéϋԑÜב 6MGWDñâ±a‹Fm®ƒæúÚù°õÍ0Ÿ6éN; ⑈G€…¢-Y*êd+î}ýÄÙŠ,o-0uD‘Û×_Gý´HèÏÑrŒì‘mèCíyöгFh…ÑgÚ®|ä™hÚSˆÒîodƒ±Ñ»†)öü«I=5§AËdWÕ¹Ôý5ú×Ú‹Ñ| ì pí%(†¼WålºÉ“J‚KùÇ#ðÅPÒ‹éó9ÿ²ôÙŒ*‡}ŠIxýPyB<5…v˜¬T+¼hʑαX8ãQxQ& üŒ ú MìÈá =$ó%…àn\ûéºþ¤k´ëOÛ³:Oÿ¾á"ó쬈XÁúdpêç%Úˆ‘\¸§³aw }Ï„GL¯ÉG–;4ô(¹4«SN0¿·¦VNÁúê˜QéÓNÀÆK !«A`.¯Êd&¯Q´¦êSCŒÀ€ÁP,DH.ý»'m)jK9÷¦Ÿ‘ñõÓ¾™Î4ýÞ«Ë ©Nš†÷,¹jÅFK×]Χr+1tiÈ% 6Ú ÛÓ};]-­j`pb(‹|AiAMéÀQNQ¥ãE£þ1¿·LÙ·2US%À¸âøGàwõŒ Çf†ÉÛ£ ªò³ÑB„DÀû½ÎÙñq*LÖV‘>¬ Ã@§Æ˜= k~ã/Átj’É&Ž–ÄïdnÓ£ Ø/¢˜ÙQ·_ß%5‹’J‡å5rQÐvÕ»ï¨I¼Î â¬á1‹™·ª€DŒ³i:&Z-NÍ!Ëù5CÉN3DÓFüW9ô¶6Î]dzŸãú’“uyL}týÓ&ÆV0ÂUle'/n*QEÙݤ¡¤lq0pÉ#Ç‘¼¸oŸn0_oñêK†C·óä„ÉöZívÁ›©qvž®ix·³%ÐtybœÃuOSfŽŒÜ"‡Bräü¤²þ*´.ý¿æàÍÝ®°®”àiATÁñjô°óÞp®±…vjååÆ"’åºÀËý±{3Ð(Ð8,ÚÁ€.ošz€Ü¸Ë/úÃY•WÍ?0é˜Hu†!­ö80é‡ðáeE¨³4ª­Påõô¼{2~^¬Ü—ŽH–qwUÖ~ÝWÿëõK‹vàµÙÏ~„]·6ÅâDãþ[þ ½ñÊU c_A¯Õ \( óËò¢Ë«‚Zúú54#9щPÀ¼‹Iã£0¤OJ¹N1éˆ’ÈÆ‘3¹Ø©Zû›'¥Ï,8Z°Âãk/Ü|)²"ý:V³\Zí+ÄG3Ö1ä”+†!x‡|öÚä8ª|Ú;nÚQ›1 €©júßðZ <ØÏ@Îb0Y8F3@Æ™±w@œ7Á²8PÇ]²†AßsøO¬ i3ó¬Pî@ý“VY{¤#LϤÔÍ…xé è^Œ`ÿMhk\-zÆqäÑbÒlm› JxÒW»J%Cñ”®A_B•tNúja”߬¢>ä4ˆ÷ uµjˆ –RÃH8½%àåzóÄÉΥD)5.ƒåu.‰iÇÜÁIÊÇ14O/3[¼P×V®~/òÀ‹™xD¦Ñ2˜xJàŽ¦ŸX·ØœC~€åyª™ùÌóTg? DÍ¡ì±mdÝÈì½?'–Ž"Œ¸Ñ¬\‹'âÕw)““¦kì¿»l§ Ô  …°~kò¢¾ ½ÍŒqY 81 `¤W‚=råêß`»"¼‰dGÞGÿ8‰h“ð3Ëýï[=b$A¡†ì#»vz’ïb1vÏ•uô JØ»"vÒ‹fËÌ4µÙÅ5:øšUÏws_íê‡*-"ÌëY–{æYþnòΰMµÅï¡ÐøÃ5Nð³ ’"_hµîy…žâd-¡ˆÜŒx<œ¼Ü‰Ï‹ä;et ÏScR«¢^ÀwBß,2:+­øÄºe¹'…“òæ gqIQøj­Bóì+ÍÂ0fï*vë7:Û”kTØw•f‹¡O¡#§Å}e¦Ùd‡"½KÝá‰8+s•p#g2KÞò?‡Û8ËôÆÃÅˆÉæ‡Z5l½œ©XíÐP¤f ©ó ù’Œ«NtB%ËÒ©òñ0Ö€®€¢v[ÇpsY QF«^«•\…r†U—*#£Œöf{ÊæWEa…Ûí  ªB S‡¤MO˰ˆƒÇ N{ïݧ§ýí¥"—f¨kfY½ûVH€OüÇWiIù'x®<$é3)ˆçà»<¾ð ïq†DöJƒ5Ö²-Ýó ":ÅóWyŠwâ|þ4oû=ª¦n/Æa¶µXÄz=áuækeO@h?Ùê îÆ‚¢¾Ï¨4®/Yí[êuk¨wDTÍü]7×ý°çTäx…u?;d{99.ç½à¨³T ÇŠ.zFšÉ›CU®öƒh¼a|¾<ʶ=.¤9ÌÜÿDUÓ7³BÌd‰jì´6ù®{WñöÀóÚ&qÅò9kݑ̙z±íŒÁŠ"* Ë»[ó8 aØ+¢œ®Û.O¸ÔÕz âªKÿµvåðq]茲¿§×"ð´ô¦ý S]Ñ…ºä¢ºËÙp•QÐ Gçö3M¨‚°Ù¿UY®¡ßtLÐ÷œرv™3“c»~Yë®[Ën"^ Rþ“—`¾»´.1]x_C·‘‚iž¹^­Æü9-vµòos–fŠZ"àlR°^>ütIÅåCÇg®Í\<ŠTŸJFÕfݳnG™Aت'jÍ:3ÌgƒÕ &0OIRbµƒ|èܔ̧G;¿ØÍZ嫇 à€¯ûu&¾Êׯ—Í"ÕîÈ=‡ÐM-ÛF‹gu>°Ûu B*B²ëëh}QwøÖíþ"Æ ›=r E:nÛ¼åz ÓÀýý3Àül`Nç+`öÝt<Ìã³y÷»Mãjr°5  WÿÈ|½è“ÖK­¹´KGY•L% ·5\¬-p*¾ é ¬¥ƒsÜK±•¼VÁP=V WJøµ^ûˆjžÇÿonº{Ì_ïø&ß1û³Lþ±ûóâË~&3,üÀ—/¢!C,Ö71¹†-ôx¹2‹ãÑ,K:SÈ^„l·ñÈ»q×áÙ ™þ [\þ×´“wxöF ‚m}|©€­°ÙÐu*Œt»ü ÿZ^+<‰ 7WÒùŽ.NRCØü 87ÿ]3ŒëHóqvUIé²V¸'°ä×ña ý¬‡4Sšô·2©A&ª9øè.[jaâ¨':œívnrQ‚—txí"?Ìg`ç4P]YëI»ÈMSu8–Î_Ò}dkºQ374ˆíQÑ5Rœ²¹Pçü9§=~sÔqÁ™&O?5T¿×ËõGpáùÍÂq´«ñ¹ýèh[ËŒÉ×¥èè°+É µB¢F¯œî?›ÛjŽ2úy¹Øÿòààù8ÛaäOû˜'=äFò¦îF p<Ìå°+igg1C{q¬Ä$ï$Ž—e¬R ü?Á~ײ°‘ VÝî½új=Þ?pIkì·•Šèã¢1o‹Ðmo´µ/¹™b“NÍs3Åß½–ÏýÁfÀ)‰/ÀÊèÊÈ€º½Á¬ŒD8ìÄ®‡ ¤ËXvŠ!Ý|Ô+ sTEßéž<ùüÈ~À²Ú=RjÔ²5Ø;)po>Ô å+q?ˆFNÕq{”—\lR™18Éišýg)\?šéQ9…C‹ˆ'=µ4<ÕõÔæ/+ÔyK¼zˆ…î¯à9>f»cQ ¨‚dj•ÆÄ ú­eÄhü ÊùØçÿö½%æÒ@BÛOC [º™ú”ØÇlðWáÖÙ†!MD®¶‡h÷ÕçCVx,å5eEÆÊŠÒßó¾Q9¨@!}Þh91¦ö$ÿwx§=~]åÅkäògñ(Ï.²ºrÉò»/Aä‘nmúû3-T9öá8dEZ6î >‡M¶Ì¾:ºvê-ùtµOS´ð‰ì†Ãáív²”Vä´À9Õ÷`V%Ü=ðj >²9<°7,Òʦ6#ñ]è”Üzqg¦4d CðtQPü‹$S ~´yÖ©³þ»Dú¿(ˆ¯. ¦Ï…ÝÕ ºàAÃv›Að lLŠ"ŒÀ#®Àøž7 þOªà¯‘0O7Ñã"T±%j¸xÆÏ½€Á£Ñ£|‘—­toöóê‹Y<´ù6N¦Ç2)¯Øí®ý'ùÀ\q&]Z§£žé:D’zÆRz 6¢³ïX}›YC>ù.]×U#Á?±–ðØ‘5–EGíKH¼(5êߥ&¸ïЋ2îhãW“‘(j­¡«öiÕr´6¼ÈwŽ£nDA¹¶ ]Æ¿1ôñí¯Ùœ®zÊ52ŸÀšTsáx¬;©%ljçHOÁÛÅW¹?ÿ½*§413úÌ ˜ƒ¨‘#£Ò.‚`xΰ|+!Ù9ÿËè¥3é ¸‚iM‚Mí†2ji‘Æ…ÌŒ_²:~4ÎÄ U¶È‹éq|ìf™/E¹¤AÙTçç=¿_Ê“c«›ÂÄíh>%[¥%«'y®z¦“Jñ³"|— 3Ä~wî…/²­þ‰eÓ@Úúo­À)%.’˜&JeWD¹SMÐ|ùãì(*÷ún¹Cÿš€ ÿ¢AÎÔþ[^©\ÀAq„kbFìF“}½^»ÉJu¢ãD!!Ï (æ÷lÞ±_ §á®€eÒ¹ÔÎÚÀZ­~šàDÄãF¡‘¨Cà&ÓR7ÑZzo ïmSÊjŽïÇcÍ¥¡ÐT+ãÞMÇÍõV•—¤µ™NÉ`–h‡V‹]n­»Ë¾¡~2t”ºk›ÌjÏF§øÍIne©b–v8¯ÆÓ6¬ÇŠ ÔuTÕóÍŒ,n^ie߸·Ûö»%YjImµ˜„W]º‡«æ›YÁ>¬2«öUöØzÜÝOQþ¼ò˺ 7LÂÒäjÎZÅ(2Rη"Ïà!NOjkÓà¡m¥#ÜÄ „Ý-mºï¢¢…uÅ£-X´µâƒ¡ó•i4D˜ÙÒÊz€= mv£[W=€¾l1@¤€N/ÐË&ÆŽ¨U89êÁÁŸ}Zšžµmõë Y‘üF¸Sa‡ÇD —iA$ÿ‚°¡… ¿ fv'ÿÓ:'ûÅÙk÷%/KC_« ÷y®‘EþíÇ©ˆíŽË¶ŒØ2Ò«zß¼¶*ÝÒ×¼U_ÉHŽKà èAÁ¦8@òÿ ¾» È[¸8Þ"„OGd&ËAòî+ ¨ô.açý{íW¥i.uê’˜R<ÕfµbQò!8wBX³–ó+½€~yQ‡¤†íÇ­’­“—iDK, ø2&WW™WÈ`“a( ›5B‚ñCfloß"U¿pàÄ•/4:ƒmΉã²m„-]V*Êeó1Ê›¾ˆ²»¾yÉ3 ݹ‹\>íAM¿6ë„@Ãq ¤[:ßP,æûki|ƒ<‚¥”ӼǷXM7øív„ëÞ(" sçOêÀß\¥ï!Iò@ïæ[ý;ŸAö@éMrƒ}cøå`a@èðM±z!Ç^'üyª'Cæ>À]#b:/#Õ€$×5Þ?îŸz&›À£©гúYÔ­qœä¶i⯋Au53CK¡¤)ìl`wâ#F{”Ùn†Tµ…ž»ßrTéeÈÔÖMny““6ƒ’N,¤9ãBÆ‹ý>;3æR)›º+_C1» ¤£ä›ßOݤe8èJ¦,ì5Ç@ŸªßN/!©qï—”i¨¾êµ}äFY#­Ùw/à øÞBg|çoÞ;u}ªk‰¼7hg]–#¡%Rëš…š ÀŸœ=ÄSÌ«™'K_?KTÜF;îÚ‡oòËÐî–DfŠ/›E³9¨V[ÆèÎH°ïD̆§EÆÂÌ‹ÛmÇY ˆM @?ƒ™¢„m‹°ãÌ2¾ãÃ~à;¡‹ëÞ"o\7Z:–¬ÀH "‰ž§Ä4¿e” vqgêÕf|kõ´¨Ë^ôînßi¶ñÊK儵5øvÅ`îCú.¾¤¶«=ÓÃÊבS.äîK¹ ü ŸKÀƒ„|¤2 RÜ.º=éM¸Å#à+s¼Çž1æzª˜¬’U/xŠ¥HY"9äoUÞ]#¢Ê{‘WXƒwæ6=¦õËÍð±V?M½vQX,YTn¦åNôï9ÿç¹»l^¦ÐQ9å"™”~ÝFp7ë´)9sV}}C5·›WÑ僾óD&X1Bñ½ì*t$vv§†c£¤,¤X;ÎÍY•›f¨-üG߬~‹þþÂ~ìûA/!5%¾:˜.ý‘?jõ›êäÖ:çÜiè¯äÙlty ·6én>':–,R úÄ{ÞÁ„3{/ÎðáóÚ@¡­RŠL/•V*v¡6ñ¶9—i¦K±7 ÇšùìLvP\ûEû$ò»Á¾»{iFÈF¤Ú”í‹g-“\¾ûÁn‡^æ=HžÓVõÏàäjØÚÄ[ºÙ¬FÏÚp:EK‹ ëW,ZÔ$§$4ð¥ÊáŠbI®zyùyª ‰¹×q̸þ Z÷?JŒÊ^|EaC&êW÷ì]æÄpÏ!OM¨QKEÐW9l«¤[ä‰X^’rfKÜO.ê±ïÞƒH3¿RQG†”ìÏlþ´•Ïqém®3ͳ(AÂíG—)Ûð¨râ.ºP…ØìMÛ«y²1>¡æH²QƒvXõYþSoˆ -^p¨n'r¼Ë–ü¹ž‰<·ÝRöò3Æ<÷od Z“ •£q›sÚç2 `V¢F ›9¼Høù&wýÜR©UwÓ¶I0©‚]‹âÇø'wÇ1ǽ|Ü{Cöýf•³”Ó ÷¬~ì&Dƒ Pf3–ðî9³l·ÿ눑ð§ü˜^}Iy R¿!ªåJs)%'#û´ŒÏ7d=–¾^‘jXåéß…ª5à……­yv¯q»ðþŸ–7V¼Ñ]¯úmú -úM®R**2¨B—8ëA`v!)1 „£à¶B™GÄÇô÷H õt4ЇW€ÛµÆni·BŸ]PÒw’È”¼¯,§zi™˜a.ñ¶5à7gM˜?íG,'êCtJÔ£•Lƒ‚M¨—ê$t¸NMä•t‡ýPt\ü5ìW!%éÆz(X]ÑòÉuƒI¸Œ©Ëö6*á–>>·àBTê •¸½HÄ L¼8ÌÑž—öÓ*Ñé×t4ÉF¤Ñ<ë£€È •®J à¾a±K(›Ýç±€ŒÇ a€—u*”@Y¤‹@¨ê×%>˜6ûÔ¡€Æ^ûôÑ(m‹ÌzµMmˆz_¬Æ› a’V?鵊Ü,F[g?3÷‹c1íº6šñZLqp™GÕàÞŠ$x…d k„ ÆùYľ—ùTj0/ò|’£0GXS-$ l)H ЍÀlrôœ6r¿°öhoåâ³÷é9¸DÇe¾ëpÀ%æyE±uŒŽ¹|âWª|¹é¯Èn>0Z&Ae·°âˬb~XbZ~Q'}‹Fš1Š_Ú—ü<ýßMäÚ&Egð{uÿ•¢NÿãBô„õBN,oÓD(˜Æ–àŽž ya÷­ÂÙÔ¥*=‹¾-Ì…†iÅŸåfW'jMD£Ñèµ4Ø©bÐëõ°ÒúNaPëØä¶"ì£Oêá2SqNÚ‘XÌÕ·Wwñ¹R¸x"2 1õ쓸Zp®ãî»^LJ%¨¨|°øÂ”ãè>Üš›!U ’[. `wÈ +ì¯ø›è‘}.bs˜d”P¨)Ù\Œ¶ Ñ©«5z5ó̈òò©›a'@Z'ŽÎî?+gÖ³êÐÃÃ#ævÞcèí öFpLcl‚ ôÔ,œàš 2ùœS+Tˆæ’Çé®c‹ñŽÜvåJ–{½ã'?Œœ.ýz;Ð×S×elID ލÄÃ5­þÓ…%Z€/ž]nê~žp]1æå¨U u1vpc1Qþˆ¼Îʼ§Á¢Ö`ã’‹. €º„1bøØ®È{Ìóq·¡öÄþŠ‚š¨s¾zˆMÂíòF=g“|¤24…’1Ëœ×H\Uy„Ä¡J9‡ÙúE͵ /yåßõu÷óé–ö å½ðˆ¥1e4-4´4i©)¸·¤Y•™^;cdt<ºQ‘QË>ÌâÑñ˜åÇA¾ÎüçĺYpÒ©—̹›Ùê72ü¾w ,Ýòf–X?Ùc¦]JîÈs/Š>EægáD95¨³øhµÍI‡âp¦fz9š9V¨Ÿ‘}›œm¤™åqó+½­,· ççîJÆÆ3ÒÔˆCÒ0Êí»©vÐ%²˜ â¿2¾JÅê´)…ÿ´®7ÊrF[Ä).Oî´F&?TB[“¦­qpú>Í_ÏŠü›ö ˜%õ{û§•Ov\8Ø+ºœ*“烬dC“båñšU´©ÊÌ!˜%nºÿt¯ÂJ?miÀIÛ²ŸžæÄRÄb¼da9úQ±•)’¬ø'|¸ŒV/g— †½Ðëi­„ìZÝÜl:\Wn…Ž“?mäóê‹Uâ°åíÌçš/Ü#zrĘ1?gÑ<±\;'åYº B8& ècá/dJ„@:IõNødæ+wq FõÉ%)ïE“ûÎÝ×dÞô¤+,­?¬ŸNç&q}ë(ûmøG|S%_e^w›¨,Å£ê_ŠÇ?fá«óÄ}͵µQìh ‘ éŠý‚‡!uXt‹h–Õ0~%â—L·’u¡c܍ޓë+OÒ¬•„[L ªÊ+Ò+&è‘x FÍö¶Tú ü,aX׈„zgV¤Áœ÷‚êY6¢ÁI³< ÛÇ/︌6¹™{û—•—·w—‰œ¶Ê{óÔ¼¢X»üjpc§kE#ð Vž ûM ˆ‘ËÓ,ð¥õô¾Lž[ÎjãÌ¿áˆÜV¿ `ƨ1û¤z&Ÿ‘þ¼]Ó3[Lº>\DÇ6!î¿ }iFÓ¿nÕ\9èZŸ¿U·jó‘$}ÏZ·˜Šõ\×Á£#8¹þ5¸¸»]±Í:¼ù’é•픣ý§YsñŠ’aHÜ{$¿‚l#zt1¬bÀ¶j#BZ7Üp^€¢ù5YÖa‘Zù ÙòM3áå<ÿwCp> aIwº¦ÃZ3• ùH'Ó¹:†ä|™rÎÍnlðm29Q¬€CïÛ ‚ñÅûЏF‡£#²\T åšò¹“{x ƒì•©ËÏn–•’±rÌK›äƒ‰b Ì9Û‰c­;t¸´Ÿ¨IÔgþ%yÂε*Á:Þ€)_~×µ`ÆlÈh¥Ø¡±L†5ýkƒ‡âSLƒé›akÞ»Ü ÎEFœB´b,S#få†Ì^±Yåc\Æla·‡grp‰j»ò’©öEI¢fƉïÊÎþËi8§Ãì^4ß'NÂq/G(‚ÆÂÀ ˆŽ»Üv웽¦sÑFW—>³½òXém?;R¢¿ñ|¬¬Î'J„¢jb zEÙ4‹49­–o%:kih4Üç›7lw{DEÂ6€2w’‹ÇTwÆ>y‚-iŠ{cõ=Ѽ û6 ãdÒÍ!‘Þµ7]>±°9J¾„!Ët9Ú •ÅëG³›~Š´\(ñ©}ÛÙþÌþåÝí;ú†{äÒa±ÇÃ9üê¨%ú”5•)VŠ¥‘ƒz~‡‹ï3†çxñzßA²Q]ÂÒH„ù$ßï×Õ­±¥šY«·å_hF­FSÄùx¡4Ï•T'ÓŸ‹‘E:«~Öez’ ¥KF,% `°ˆyÓ˜½Ë4Oð.dk`)N£Ñ{ŸrãMÇRF¢8/Äc™{UUv/¸ÙH戶(Y¿½N’d_këþoW‚#?b‹‚Üþ©ƒ[µS0[iA÷^R¸·•}IöÃäA«¬7s·“XÅ]ÌVVðƒÀ‰É¶öºÔ/òxW‚þŸÞôneÁ?¹im‘ =·Õ6éçc>¼pLE0¨Úy¬È$­¸¨©,‚“ü•*´¨€ñ“ÛÆÏŠ¢º“L¤B0ü–\‰Ñ¯=>X!Ù UÕ.ÚÆGäôÀVâºÍTÿ*ARVÇhνàæ7=‘H-±!õåøÂ†¯Ëz1‹9ÚËðˆšÞì ¨ÄVHl9¬åø‡©gË[ä#¿-AÆÙL:ÎqÃcñ,ÚäµåˆL9l6cÍðM›d7âgÛl+<uų’“•R)"üáÂO‚ÉùמùQÞï͵¬AçÞïä¨Q´÷cþ³Ç„þI×VNy…Ml­‡ðfЇ5Á¬²†r¼½ÊÞncô=T2P¼wCÁ:ç™VEù:¶¬þ—=ä©hkî—’uf†,ï;)9kz÷YjD笢"§B÷@5·®8NDC Ccög„¸i°,ÌOØõ:†•Ê„–fêïþÀ?1 …ÙâìÄAþp¶*ÐoáE­Õ¨Ó`"dž°ÕFÕ=7›R~¢¯ 0xP‹ƒvå/ •Éu™…€*QñXmmƒwÆNÁaO#Â}HÈÇMî:; ],iXMfæm–'µòÏ@ÙÀ½ø9+ÈpBUÆçÙEлo€nE±{çm,™Ð¬vq5`©ö~µaoôs èèG…ÍŒx3ctÓy~ΔõæÖ#R,NŽyÀJOËëƒûœætW®zFÛvšþäW§5HŽS9FWäêS`K⊗8‰z¼ƒÞf'ð¸ÆR­Ú†œ¬þ×Ä£ßòD_›Üok·½t[^W7éφ6À%®¾/ÖqzÐDŒ›ÿø.‰O¦Ôìž©&,þÚ +šï ü¥Ïð®‡Ï}ƒüc ç‹Ã‘Lw±)¾ÜâãÙéƒÉÂrµ­¨ªù¦oç(šnÊoNjÑL8`ŸÕ îáµ6I}œ¤.ˆXÓåDx p©`ÕöW<ù›âtÜ’2¡Ì˜m7:¦sE}rzûÿ"”WC¯›X-2™Ã†[³áåþ-gŸ"ˆ³÷$¿…Ø @”ê r¢±üۋ¾ºñt'Aµ,¤Õ'x±™‚{3î•àß*ùR´SBXrh/üÆvqêϬšN“5A[$ÔÛ¢%Wº7ñd •?´®›mO‹g$XÆlC:â€í™û*<m U?MaéÃ4u\Á$…ØÐíûz Rd«Ò*¸b¥!Z?™nµZ0°ÖMY@74ºdá““kƒ’/¢gs[9ðG??ŠtX®$F÷KÚú¤qµ¤*@ô•É£púµÝñzlQ¿ù\ªÖµo¯¬±Œ–W<=pÊmj®lVª_>©¾e0áîÏ«¦]ýS5€)~xT´1J˜€bŽNÕf¦C~YÆ“‡è&ZIb¿@©¾¿Qm-7. PÓVrS¥sv¾vvÑ $ñænï8ÆnÕˆ¤8Áû™ñX2{A””HrGôéhƒ—©íÕ16‹èˆÀª c¿8úF@"gÏÅNÛ³OàñM$ ž7lyž‰S²BÞ)&¿'>2f!¿ÍÝ×}ÿ¬Ü¿‘wJç罘8²<Ô.i¹)ìJðï®ãUÙµaPÔ`q·@ðãø>•78FÂ…¸Xxø…¬:ÿwÙÀ¡g¬ª"’©`0õøk‡P—«‰þ‰µ:ºžº{@ìû0‘•‘XLak—ƒ]ØÐ©v/×åš5÷Èü/Ô—]£@¢Ò9PO%>á/Ž_`ϧ­-–hÎЋרò<œZÍã1šO,­Rª“(»H@µ&dšZ§oÚÖ·yë‹dWyK‹²¬_¼ô˜lžJŠ’ÐJ ‘ìHŒ@þßQr.ƒÜ—jïÌàãÐûVsj`¯U…eÜy@7áѸ+×"®!e_R:xE+S—À ñ¶3è Ÿ«Të³'Ç4ò÷‚Ñž&ºEénRÉÎçåŠpÒwÀíT‚Ñ.Þ&äúø‡š{v ª3<έíf?þõl=qL°î²nlÆÚåF\7£LMžP„{üÑ7ÙòG—®EñuÆi…pèÍV½¬8Ý!ã ª£‘†¡|:¯_Ž õ"[²·Z{&ô£©.ïÔ.àÅ8â†ç0pqiÒ_| ÖÂâ² eÌ/‘RúÏÊQSîØÀoü°•ìr,yÃ;EÀQ·&„ÛqN3Uè;Ðy`RQÛÌ[O ¡S–Ój|~ãïÏeLY*è5Üx£–uÊÃÚªF<º‚Pj±Ó¬V%fЦ„G@¸œïb`{ÔÅ(‰5‡¨1ç4Ÿ/íxÐ&”ñ:CþÈM8©wÄ7Z:0ÜËZ†¼Vnì»À\Êÿß³ôLWѱ $ç•Âg[g“fÂöeZƧY°:ëúûpË/„r—óâŠ^$DHe½‹âòOÖŠgò9ŒÔ¶kDi òÚ©Q? }«šßÅeÝG¯ ‚?Ù ?|¸u}ž6®1 ‘*Þ%Öô[b@ˆŒ +êorXˆËˆ¹F×LÞ![n-6˜{BËÏ"5l+„×3RñIJIÁotzé:”]ÙU«½Å‚hnöÉnr|=E7PÎÔ_‹÷»`°ÄL|e%C¢ñ׉(k*¶¶0Ô*Ï! ÐŽá¿á[´êCa_¦wü’¡¶õÌÔÙûÇ 豦¿ÊA›ŸG>¶ROÄi\j€|‰uB±·åY¬gkÒ!½±:Q7â5nìý°©Âk0†r«ð­ƒ^ʇ¤åév—6xÇN.ôÞ{ùà»õÓf/|8jL¸´Û7;P<â ¿;ÒÃéwö¼D»V¼ÊQÔx‚hÕpº#6©tü{¦'1u¼)¢àûš³Ö[*ìog=ÇöpÅSײ TÂ[+˜Ê O´òr×£ŠFFÜ Å¨ÃÕzi¼“r@I[iŒj€¾ã àg‡|úîò@‡ßyª\­ÚCB#ÚË-W)HqôWÜ÷Ï„P,nuJœâ¢›D±635Ç«²a”‰c¨-o«¾ é=1\+¢}¡ïpÛ‰ï»ÿG^à¢o—€ü{F‡2U# )ì™ÄïJñÌ%£¿âÆÌIáŽæ§*—Ý•±ß ¾ä0yNŒN"Øl¿ÏZ•𔽃 ¡y ôø?­ÖªM¯¿×Gž¢âØi›ë\«uñÐ[Í¢¿€¯«Úÿ%íƒ1ˆTÆñÜ´™ ½ˆä.´)H> qR"e¾%3#b7ü”Ç}{oºÂïRIÈ?4ýVbq•Ai³ûTñ§.0yûˆÉ –Q‰DÍÓ 7yPbˆ]\.±ÜkvGy®B i.§¢Ø„ŽÍe#¦Ì´×¼Þ}Ót½H‘é@ñ%8l2ž+4õ†MKB 3åûä9÷BJïY8t–€sîºièï€öð¸óüsŸw•¼oóÀ“-%;6!"kç;°ÌìnPŠ(J>ÙhÚïýŪm¼ê$NîÚ¤I.ÚתÏa«ÖÐ7ÙŸÔûémVt†þ«kŽ ”Dx¥3ûÀŽèó j Gf"¿ÆG7T JœÄzú`–—#•KY²\\h¼VYV'ŸêEÚ"1øA¸!Au7ë†Q”qÂò~™ßtþ½2l:&B€)9*‡4`'B2ÙV¼ßc‹‡XÜ1¡Ô——Ù&Z̶"%”|F }Ã,3c˾i›£üµMgH ­8UÕBè,zèwO DŠ£f4ôTexj>ïóâ®Ù67qÿRä¥5’eòúAzTƩر†¿ØF€AW4ê³ci¹MÔÈ÷D·E[ðHÖLóst Ûÿ“oêã;… (³')#”ŒèŽÉ"å/ <…í¯J±}óº¦Þîkxû§ŸáX”Ré·bš°©éüÁªþÇn>¦4R—â”ò$h]38÷ËaÒm4”åüÛ†AÐ!È@Ô| k\ÿ‹ÂPûQ霖GqÞ3>Š^üî#TßퟫC±ëèû<õ”þìóÙ¹ÚÀý !ôWL4!Àô÷Ȉs©îG…œbwÕÉ÷©l¸qƒÄlëY¨Ñ* ÄžÒôò€“FJ µ'kPð;¨Tp¥–·dR…ç<-wBÁžê@åÿö\ø½(g“3aØf™Ìe‚¦ÌÈ ýc* ÀE5jØú:-Ҳ ùô6wFìï@“?\®“ÙÞ~5mj4"Pñm÷¦f­{>\ùjRìÚ9xéE „åÝÆãM|„æÔÓOÉR²Á´·ÖÍéîøãFìrät+nvÉIWÊ # ´F©þ(ˆlÉ~#»OˆW0Ѽñ>pFÍSŽÿæ™ëªsˆ½ì]¡šÚdhÃôé Vs~¡cW¼'s3à=Þ=˧t7ìØ6žúk³šŠx±og]ÓïÝ*vÚwå“óØqó·A†ó@¸z¢ å9»€ˆ.ü%–ç]²+?iÚ„]Ó¤÷ Lõ&_vî„:Tçx°ï×ßþ=9C{êzžMëÜ&Y}1ð¬ÄëÄñ/ÔpK¤5fqœ%>?Œ¾€RµHåv¹ïŒeY=üå†tÊí öVmsÃûõaõ–â„è :+Ã_‹‚ -~RÆÃÌy¡ næàl8ÅÛðAqS2š5E8YÂ7|¶Í<‘î€Hc°ü†Ú¼SMNô ~ ,Ä Ä{ZÆëR „6+D"6ÝÀK*è8ÀóGÁѾNZ8!Xèåäçðægtj%rAîP{%:žÅ¸xÍ ?0?âÙx5¨‹BPlelº¸à^†8Âíåµ…~ë N£´pB¢\³Þ®ŒGSðëݪM¸*ðÎ}7@ŠÖ€ Œ³²P¸â…§B&†oaÿàÜêÆ°&Hpª4\pCÝ WJ!¢n¯ÕâÑ{î Pm~]ûGà>5L‰ãòàæpúì&ñ‡zóÞã†Èã  wÊê2´ëC'°Ì0uðh=Iz&ßN>'&‚N5Q¬ÿÏ mzVçxžrT"gðþº‚#~½‘sÆõ´Âÿñ^,©ëø˜ß0qËbªÕ:時+¹l`ú­ø(‹¤„“h?ÄPyºàEÅN,uwSôšø~€¦MDe4°x£•…4›Žmûï³6⫽g8w'í±ˆî¤»˜)s‡ˆ\Ý´ï·½Okzj ¦÷oá%Ðü!›…Ùçv§×±ácFhwZÛ^W¶nÎÈPŒ¶E¸ú\ÝΧ¯YÈ×â»ükÖFÇ߬mšä¦»3Jðebmm'½D@h±¿:ÒŒo„?´õµËo¢b¨ë»,ÓEçt4aÍ’´­%¯™Ç>Úf橾×@ uS{šÔ VäÞô&I'=ü@ƒ{»læ7þŒ~ZŒÇ#;Â÷™ŸR¿Ÿ1“çŒ3Üý; I 4?hë^„dκÝv†X4~•‹)©†zìËdÑñØê†.Õ&³6…€{u <åΑ¦ÀF0ùÜ"ƒ–+ó)'…$µ0y~-pë}¬"+´·pWé6 µã7»»ƒÇ€%ïÀ @B!Ï"3nþýƒ;@=!ÙBƒ>vH÷ÎÀoŒ]ªy{SŽ8ÓñJô´¤-|Eáa£™3“ŽÈÔEh ʰ™Øõ¬Ð¹[;ý‡þ’WõO ª6õˆ »óé¥=©_©< ‘PÅK½ñ‚ ^†ÿ¸ Î÷ñj h§ˆéíè¾øéxI*ô7þT3?ÂÂíbÃn |…¥ï1©îK¯—`îP›Ì9Û]— ¨Ç›ýº"iCõ³dø'sõø´4ÇüÕ*æi›Œl¬²ýunÜk¡6"wdq§NѸâc•åîFFš‘:§t“-é¾Vç¸ú©¡îuçaì\ÓCΊC—.5zÄ焹e³óËÃ)Åž_êØw‹+W:ï;'’è;ýz¤ãóCñƒ“¸šf~BH X!H`ÙWÇê=Nµµ—Wrâ÷P]lët{æxŸ~.7jèf®Ö®?Z|ä®ÏÑ›/ùw‘¸‚b!(ÖI#6ÒÆ›„}!:5ˆé›‹_ê…ú5Ãç!ÿ³Úì úNWø/tÚ\ØÉˆ2éÑøt¬ž¦ðÍ ›ëábòü˜dAxÖc”²> V+9½eqEÍœ…§ ÕM˪l|­RXU&ü²®Ûü—•6t¦[ ÐÃ63xM“럾WËf2D÷]¯#þþ ŒY8beÒ€½‹5€oWDô‡‘Lßz‹ãÂw-¢·›ÍLû¦J¢Þî "—"ŸWÇTŒ`¨ç™w܆©yËSÌômm>zSìN(Üì ·Yhý˜–²ÿ¾–T;ˆ—·Ü„n?“ºMi¥ïè´å0+ßÒŒ]·Ú3ºE¹Æ}¤!¢‘g¤?­ƒzàv&Ê’‹yäÍåhEÜaL²QA-N)ˆ²¾³ü6¸ûx;–wÅìwº·ïȼ ±yp€!¦ìLÀ þ‹‘…`¼©Iô§>†3Qÿ´¿X[«E° ®>â0ó?cRU¡>ïÔGé÷m+]¤5ßv‘Œ¨&£D0¯éJ”ü°ÆÏA™:n õ3.¬‹‘/¤1 fSùöÊ«ü.{ä‹¶öIQ¸œ³µ2jÀ´Ê‘¥ 6P÷x.n»‘¢/ŽÄ"Ú;nŒp.%ÐRÔp¦Ëjz?:V›‘j7>Ÿ¿ÆÚŠ—!üÐë`_ if MáQ”ìÒI¬ƒpBËtƒØ.VåäK.\6¶ˆÜzŽÕIo`²0ÔD 5˲êw 4ñGBlHý”Å@¤v£ðJÇïä‰2Ïã5*ùñ½†S@>ä0±ÜÝùDûq=4ÚÖVJ V=®¡¤Üóôü‰Ä=XŒB_xgV;×Ѐ­B~÷[2ÀòÏíìvY?9É“ù ‡¡ªÇÊa¦y“qÄ·Í´;›&W%qÅó¶L„¢"HðEP !«é#M6gcíåsek¤¶˜þÜI4Êq?2+8ÇÕ®».ëb¦nÚÁ‹™vì˜Ûnþ ~壢6´ÈÒ{R©ñÚˆS;ËtOèÞÓ°`Ÿa{ŒÌ¡úð„Ý ×5ë=Lxˆ:±O]nμõ$9ù‹§lù¹eÁ#Ì´¦WÃ_AG`l:¥F$0Ÿ¢¤À" s~^û‘B׸È~H"FÃÎüÿÏÏUH‹Ñãçr ;Ü ß?J9®¨ûÄ2±~J.4ò€o‚Ô5ÖôŽUn¥j8¦Ãk|EW+©…¹6~6¶Î_”Œ—â'˜Ì†ËÙǦ6pŒÓ¢ µJä~ú^H\z^º`\@uE½#£M25Ñúæ_&b;6‘¿8èøÑMqìTQ<@ hEšyl:q¹’èŽx ®Ô×mZÝʪ‹ýPÝóØœê>k…0f^Úøš æ4‘è\A©JžÓÒåO»X™à‡ ™—nÑxÓõ‘GüôÅš¨$vhƒ"_å/Žs±ŸìÛa¹ª ™u4´²à1z²…Ñ4?édôè§Ä_Æ ü³?ŽÆ˜Ð° ‘RÔ΢qйþµêÆ/ýª‚â.ÓÎâv³fó“X7å ‘JÏÒñÕ‡@š®"çAhôÙ­Õ都ÿ¨F<èÂá·ŽR€Ãäô@™SÿŠ'(¿ÇÂ+×`ÝmË&n™¼9ßòóAŒTÍÉ<Í c*3@¾ ;{ü#E? ëÛq¹Þ¶‚ûv,Û°ÓÉ:ø%ëW{¢+_3ö‹ øA£ÕÌE^˜ÛÎý^ÊÊÌNTâÈ~,Sšp4ä,¨áUÚ+š„”¾>(²Y3Ïün¯gÂÁàoÅ¿T¤Û²6~ ìx=m8Gðáv/ŒjýSH{qÎúËÒWW„sŽË)±ôã4ðùЬ5 V§Þ.»Ì}õÕ)I¦3 f*ØäEiÄê!«ûY­ÿÊC”xsæi¬S¤Þcþ$ÿ•£>¼Ð{.-íþÏI3o¢ª_Í{Øu&‡îê—5 N#pYÁ¥F¿ôømq;açábIÚ0oRš4½€ÕN„Çî5¼<@ ó¶…­s_¶©SÅòPç»}ì2ýœ³« _* lDr€bå?UCº€ÄÄçºt,ì뙨{ýã¼ËËéõRhÅ$T´HÁµW(Gè«Á_‡ÓöxØ>x¥Ó˜êÂpVõ¶@(ñ$ÚG¬,†·eS“±‚A-7cöN A÷ß'² ÃmV½À׫¿…¸„)6o5¨‘¯ÙdÄ„ÃÚ‡¹Gôü¿˜–¾Å¾Ðú‡wò®vdzK&ƪƒæ®F‰15Ñ™G¼8 ‹§\èzŠ_,_Üba^3ü¥ ùCøÄœñA$X‹ªüÆKbgÓMVkÔ+ŽETR¬Rè`œšÍ•²F‰ëó¼Üp¦_fVÚÔòý2S‰ÕKj€v’)± %‰‚"rx]Á}Æ€à_ÏA•óg÷=¥ÏÂo±ê¨î¿·š—Ë4°;(Dл>–c.Dlyój”R–~s…j ç‘OhÚ Ðä«s«e¾å܆ÚÀ­9Vèrhegú¬¸Î¬%Uìro«;—kÿ9®cÌÚò•M¹ÁõvÇè£Â\QšvŒú&¹‹Ï‰ðPˆîî‹ÊhQ!Ä:ÜËZ„³ù¶ÅÎAÛ°áÑ1¥dÏ2ëãfät=ê½nûéðú[#Æ*¬²9ƒG¬Ž>†€T%~½ÑJŒ`vtÐÅhÌ&P?¡u¦28/_ÿ„• E,A쯕ÙqºëePü¡1í §üž,O¤ó$­.©]ëò}µÁoA)s¥£¾MJR'(QGÂ¥“˜$Û½tlœb7>É’žçH·n‚îW½ÛYc]á)9ó>º ”¡àÿï1¬èšL‚R®*ÎòÚÏ; 4P R×òÐ%HP‡´!i±ùxTñœ×¥'%‹˜üÌ2î˜Qí¡ü< H¾‡Œ2s÷qŒsDfhZŽrø9gÊcèN[&srhP+§Üøtl¿i^E³ÿD§Çõ¿».W´¨9*Æô€ðyö—¾úå„¶g¶¡†0 nŒ¢¬–Q= \²^ÿ-ieÔ¡2ÓÎ[ã%~>ªlc¤rk?\¢›ËkH()ö§Ü·yrç7ž[ÉdŸ1å/ Å8‚P¾³Í§¤Ú»Ðpæ2§ WDJ_{ȼŒ<ž:±–EK©õÃÅ ÝõrßmÓüÞ5OpÌw2ÈÝð„¦¶‹^¦SmîAzºz¢LB1pÓ$|4RÓ^F¦š”ž-‰L•j«›9î!Ï£A¼*ËÛ:à Ô*kJàŸFµ¢qŽÒól¸ÙyxXŠóЋ`7‹'fnÿitUþZOò@(Égˆ‹ãJJB Ã!Í^1›X¦Oº”u…Kk¿$Ò9MÁ`4•¦:û.&„Éÿ—™"˜‰DqVÉŠ¦ÊYöÝ8¯ZÇcòÑ£¥ÑWþíûTª^¥PÚ¨ñR'í åÜ27<ðpì$]èʸLèÜW.à n_ÆI” pÍû>‹ü­O]5ü|…Edª5eÄy‚0hœf‰˜ÚãõêÆÖáÖòr[îÄ›‚ô°{+w¹ðµk„as¹fƱ(ŸFŸ­ôð{’¹KÉÕP±öq(ÈýIyÒº¾ëÈÆŽs³¦…ßx¯lÅÓéë•põìžWÔ_¡Ç¡Z“8íà 1_]9FºŠõv¸kÍ Vˆ³`¦â“g.f×roÃr]%/›§ÉLez‰xü]ìæˆ‡ö‘$ØÇJÝ÷nÖ4°-:Ô²P‹´†þŒ g Kƒ\”Çý&:zË2¹%§&(z9Œ§¯O9Ì ²!#CŸ@r±â…bÙÔpR³—"²N½<ùëáz^¤_š;;Âts >o>ÌïnÑpöa[npÙðŒÑa´Hm½Á†ö,»Àå [R'ÃGE? öææãèzžlÑßÅn§ñ¡9Š|Ý¢ßÈå @4,ÖþÝ›‹ ö¤Ü0º7†ªŸ±ÝVó0Ë`µÆ\… b8 ™øH›üà¼lß#2`!Üä¤00³y½Ù¹¶›¨Új/nÍP"ˆGùé(jRHgk¦ššðæ³ÒÂÅÉà2ï-`ºJ¥ŸEÚùKY=¾«ÕCá|7ÿ¹ÿ\¶ëçö¨ªëü°Þö§ ÌÃë Ô¶C‡‡Ÿ´Š1“›7Û·Ù*iQrE¦6cA™÷×zSšñ?ïÆ˜z›)ù üÁâ øZ” í™c} Ü路©tªü‡iÙ¬õ“𥄛DQ¤Å¬¥¨,^*j¡×úûÏF݆R<¦z†8õÃA!xÀ ï›6}u 1„É`áv4ò¼N•á{¯žÔcuë¹~T½öcƒõF%VÈ9{Ç ÛDC ôòº‹¿X!àeUe˜ÚLe2í'÷‡æéâYÜxpêâá%@v†½ ñ‰(ËoZ‚Õ$Pc™eþFФøÛ#QÀ ªûûÇ>Ÿ»¤’7B‹3ºfÊÛ7À8 | è¤J(s¬!)EêÁ“¹È¤év[—¼¨vÈwË1Ñî­Õ@î’M¹È ƒ£ºª÷ܸÉÆ²ñ}Ûíòq—‰’|vW×} r›ëLµKöjG€o”s Å›úŒ7WÔ¹Qÿ™ËŽ)#‘¬‰˜¾ÒçðïN®M[¹Âù9É’;ë·PŽÁðïà´^àí^f§7Eñù_ãx—UÊYýæ'xjÑcSQ^´±ä g†DWD£zÀ\(–ù}AÈ~}Žá°Gjj>¢»©$2SO«ª”»hJߥüØ6Ö$¦Sðœ)LpÄ:ÐJí„ÖWæÄ<ÌÑBHf/Ô'ÏSeÉ‘Lrî‡ ãàë=Ž?Õ4½uŠ)ð¾(°Q¨&í'(úŸÚII‚ÕỷKß Î´ƒÈGŸõI¯ì£¦¤ã6» ßþŽ/žahùõ®Š²n"ÉÒÙ¯úÇŒ7,ÎÄ”Âà@­›6_°Ädúèð8ñ€ã…°Í¤Î¤¥ÊXF0]fnι\z;orm‹DÃyž³»'¿õ ´Œ+‡ @é`£jPQú›<°Ø.šJ^9ÈcÚÍ-p[-Þ©Kßß]üÛ‰u“ñŽí¶¡ø?ž¬kÔîëSõÒÎ;}L¡äúg®eGãó݃”¢Èà‹³¦E¦|ž 5Fç†U1%ÙÉY$$©½j=$}ÛÐ+×kZ¡G)²'1{"Þg;½E;ã˜\¬å xã#Þ"DÊBIvÝ!"ìmèZ+½,º•oY7…–+ÛÉ–ùªåR)ÒÆ¥&bÄEs 2L ¾°e¾ 2NYrœ†¼¦’äÇÔêu‡0+IPklžª<Ç"ù£Øw^©Î/d“ý=&‘Ñò9Æù$V½òé/‚pq˦°o7Ê&®ñМá!©êu8_f¸BÄ5ȸíUÁ:1©˜¦ÔAhœ?töŸä|Ž=Iìd /}5Yø¯dž³»Åg£ÜA(ýñÔjÊ]–8 ôÇXò“–²ì*ºýƒ›XÅædŒd’mf.ÙXiÁÿâ¸c`–‚̹¡‹~»×åx›ýÅi1¿ß4Ûszcœ×ÀÎët¼€…#!Zª­í¡Ÿ1#“aÑð.›¼³à4–ªÀžÄSOX [bwd‘)…þXPÌ,€Fxn7|‹Ä²öö=Ë›´‹o'í@ù‹–Ï|V“øË§ C_ûÏ „È]ˆæ¿4ÍÀƒ}¸š±BdÅÎ͸@)ŒáíÔÒX؇½Š!®ƒ¥LŸi“~HÝ8ÞÛõì{|‰ì_²³xœ0{â£Í¬ŠT½{ÑZ¸JÖ²?…¦.C€cÆüKíÖïª ºA°L‰Å>¾L[rgŒÃSÌÉŠ’¨s~ÎÜ?ˆ#'g$$%rã˜,£Ìtêoæ9V—dÆÕP…¬^aSrÃ6îˆj(9•…V1)»zäu¶cÿ‰ßjºÛÆDç}eæºú}iŸ­;7Û‚®®ŒUÎÒ¸vÓpjôC ‘Ù©,$ïF0&'–3†DeÿøYd—/<Šú‘ÙñѾӣ‘â¯ah…&>òÜþ­ a¡x± L¶óË_$æB uçΧlBŠ®Ÿ…8¬qÁÍL'G‘Ár9l‘)Îtf6ˆÄ`U,² m½/«^Q s—æyÙ“ÙÆÉŤ±·#“5æãã\ˆcšöûI÷Wi0ÿÎ'•·ç!ýa™§:`«oCsýØ]Î\P êÓ9‘ß©ÂMV½K#úŠŒby £Ÿ¤cvÿ{hbúzTêŸ4uAfŸÀÛ`ü‰IØiÈà r‚Ã/ôšÚ­¸1IõùÀ4N?—c;pÖ+ê¢cãuÓíÃ>oš5ÅK)7kFµÂbŽ¿†õ¡'éλ|SQÕ*G„e-ôà /p趉à&€µíÒ œbÙáÅÎÍÛÉq+wÎü˺¬2ÙÃÝ$Ô¥‘ÞƒÅÆZÊ_“Ûù$©“¥–›=ô»PÈÓí½…û“ÐÕ^{Nü÷}¶b.Nª|§0 çÈŸ‡ÏÝßÁyƒ¹@ê½vŒ¾(}‡Ÿ¶äé™|vÚJ©åi| ­šÚapX'NI3¬5Dr@M®:¶N™ü¯:¡$q$•bGK^êÙX§ŠõPÅëd? ÷R‰ßœ©ôË&)šáÁ/”!¢ñB|E 2pi„öí¢õÿšñÁâ˜ç{hÀÈ*lt€¢W‚©àÙëºAi÷øhÜf>q«Ç¦âD›JCÕ§÷ý†DBUÜÜNüío$ÎìD 6ˆ©‚.æ$ ‹F4é¼ùõ‹{Ý„lvsO• ë/~þÎ}ß¶ ›6¬ ù;Ã/¯Qã¦Ù.‰0¹jQðó»TÙTÞ"k HUq(Ö:;Ä©g~\õl@ý„Sq—›#gWAÚ\@Ù…9'™¯fƪý(±Ù¿Ÿe-û0n®qIs½ÿæE€HF³¸~40vå\]mÿ¬éW©‘¥Üç5@à[Reì䞈ãi²Òo©ÙQ˜ 6Òs„Û¡‘¿Â¿eæ [Š÷õÅÂT<úþÚTæÊî8¯8’3ïmM< põœEMK ­°-¹ÎþÊÚ©SC¬rm %7»?XáÆz®ª°S¼œÒ ‡ÙN9]·ØÉvn{H-–ÚÑ?R¨Ìç+Œé˜!ms(Ö!Lâp£€‘’˜ÎZ˜C6X› L¯­æC â#`†k"EïAþ÷jKM‹.µS }Ì0^§ˆbCû•h#_©f©ŒgØTN|O áµ!ÆÔNJ(¤MZËõñ'ã8Žþc«+4¹zAW€m `òga|VüuÇ¡Xž ϲ˜ýƒ¹Çò ž¶˜ûÌ:ÀâÖT-°)l$_ ÝÍc­O…Ñ<x©k¿:®Œ‹ðkxÿØRìzA%S ¯ éã£æ²þv$"¡Òú²-ë5â·ª—ðh2p@Í|ibïžãçÄC„û+UÙNªã½™‘ÐuÈBþS ùÀ6–eþ0v@Äå¯ÙJÚê6}E_B‹uÂqËøÏá:•ˆ9+‹šïÖMw]à+ê,¾ÈÒ¥R'À‰`9ŠBCÅÏUKûåuÿó”ägFZ‡À&º1ãëá·yB祻.9Lá˜ëCÈb<@œ‰Ú]Ò‚O>Ñ4Á¦¦[OÍä,_¬9„¾}Šà;œ…î|–5Œ%å<ÚÛþÜà#n/ÄëiYY皯Æé·‰óÞÿ…yr¯ê÷îOõ\J@x”|U¼òÊK„N?ܘ«¢E"~1ʉmË0÷ÿAži?›`‘æw- ­ÇÌ’Ð*Álxð8PtÊݲª9é ÷fþþÏÅ7Vîó©õúcX?Ñó‰zÙP¦[bø¡.çŸJ®H¦S“†f/ÚÈÜ<|çÞ3å6r9‚àÉt}w{ŸÌ^&>FÄ’uö‘µ!H¬ØWÕÏD7·èÛôÌ%]o£ôøûM S¤üý…РÁI`a€#íµ È"ÐMU½Ò2ˆˆ'tÁÛevÜ(jd!‘{’Õ¸p¶Ú¬ˆ¤®µ!ZÓó6„ð…,o«|+nr~ú¾ì£áéÔMÙíJâ¤ÕŽ}¹ÝNí¿YÍï׺ô™«7 âb¨ °I»ùŒ¥ÃxÁ—T…DRBéÉ.ïp¼J¡UëGPÜû§ÈPq7ÐÙ™ªó«ZTÌ¥ÿ6ƒðÛ•yóx‚èõ¢ÇA]¯áðÚ°óÒ®¼ïrŒ‹ÈR¨|*準ÈÙ![Zòc$Âþu MQT/áY Zg(2Z¿øOB …ÍVQû6~+{Y5ð êj VÕÆ dÌ=ëËB±ú6¹I_Ûaî!ÜQâ+·BGò—y„iŒ;êœa«î#aÓf”5AîfÙSÙ·¥ª‚o‘IÏ¡#–ôÚaoº¶Š)£°+óüF§‡B¨ª4kÄèý¢ýê?Å∶Ïû(¦æ¹¨ÔÄ…ú¶ð\QnЛO4žƒPBÛfÒ™óÜDp_ ùÂû|I-sà8’áú­Þ6&-ú#oU7vºMOßè²ø‘º‚´$ôž(ä·ðä²Z¨¤L Sô}@йGƒíú†©ÙMÖHÅÛUq Œ¹Ž½hòÏô±˜!™#7AjtBš¯â¹‚6 ;4EË@NRê›=ڙàïµhÎÒ’f” ¤Ñå¬Êœìü%ŽC¯D,³¯)öxbåTD©,v1½nèÓ@ãúv¥,Ë™™„‚mú&ü­( {/ØÚF äïBÞK9œ±p¹ßsº„¥mê©{.SxV×!ØÃò l ™éüg²½PÌuóFb–«5j}~Q„|d‹eEÕœÃjVÐlJ›WF©LÖ´ð®C2‘r£­ú.¾P•Á†ÈìlW~§Æ&?Çkiy‹ãxh'¡€³ü œÊÈïhf´œr÷‘R³Óê©_'ÄYÎ(WJ£ëÍ'Gצ©8'è” s9Ý¡mV9ÔÄÄ*wDË/Xy )ÿ=Þè¨?Ó¦–ˆ­|QÄ[‘ImÍÐR©ŠÂ«;)Õ]%¢j ÷7Ôi\°±Ã÷§Î÷uxÛÚ{êÿ¹ÂŒï׿,¶'•ª{X˜ \f,ÈFníÎôš°ä¥u¹þû"qáž“Î-³ÖΉ%ŠH¡3è€ ƒÛ {¥ôyM'¯úÌz€$3ñn´PC 1>̹ô‡ÍjljQ{½ÉÛ»ˆòÿÁ©^¯&”NÃûãû¹ÿiæ©Mu¥yuNp™Y>¯Àc`VÃx,dÒ‰ï}Ëìöá­ÎU°XEÜ$7ÓÓR©S­r©lî€Ì…UKƒ-25w’´·7õNw1è œEñÜÖ6¦Y®–”†VVV'KøIa€úYl&vtè ’ã£.V›à.dõ?£âhñF~yl@¾Œ3¥t,u™d‰u|‡¼uêóê¥3¤€~‡£–miC1b™ƒg¿\ê‚3Ý"·sÌoÇ]öÍý ³ÝãQ;=χ¬ÚŠ/OœáÿixÀFh舳ìkÚ˜Q¸ê~#1ö¥íd¿6¬¼í qN “`Ãô1ô˜ Η¯Ù3«’ù‹beFàU±HûÛ7‰9h€fl©—aìúuŸ9ƒ+߯î«ü ƒ(„áÙñ‰éSô”‡„•âïåø™’%ˆ°,©‹·3Üw;­¯©ØÖ”5ú8½ðë¢ÞÏ;¿¬ ñaSiß®sÇËão«LdÖ&|»AcÐí:Õ¿(:æÛÛ•OVްO|Føü VrcbÁòšA°¿: ÄŒƒ7ÍUu‡iÚìÔ¹¼G:rBoÖþjŸ?ïií ð ÆmOM é;V`hq‹Â:\ÆmÎCµnhÌÚðdšdJc“j°HV²Åë^¥Y¡T:Y;ìíPÔ¯åÎz°C/ð4Å þާôëÍÜö“&³¿‡)­`?T-ê Á=Ù½ÜE:°ŒÕ¨Á°•º›Ž;O|É¥ä”GžSèµâ^lv ãòý>Rlórö‹d—î?ñàò?ŽBÇ 0~b…ú˜¾$¤'ÁÊpÇ4C—Vr *‹r(9¨¬Ž­+Û¸~ùZŽÙNÜG7êìá÷ã»í±¦¿„TOÿñÞî¸ ±pÀ€ô€Hµz„JÅúÆï +WåPHÔµ Ñ…ñ 9xû£Pé?þÑFtŸÒÆêüŽÞÐ$\˜ƒF\@»ü!jÒLOýûUWšø“ÛÓe&ˆÿåÈÿ#W8I *ÀE º$Zµ¹&!“þ]Hò´–[&³ì5ý&탯3xAŠ¿Ãï úNàñgÞK¤¤Íi4A÷|^h˜Ú’}òµÿüa¤¸îƒ^írÙËžr•9ñA?oÅ#؃…Q{ttSÞXæÒY6›Ö¯dL«*W/ÎÈ*Ÿïÿ$ƒÇÐ]âÔkE0 3ëoK"!>¾¹‚„Òœ"çàYÚ8S`º·ûM ª¯)<Ÿ=¹ÀQc¬íY^ùH{>%ØàæîQ™º#tiÑhªµ>bÇ#‡®hÚ*dSèO¦jž"Àø¬È—¥(#Q-ÅKÝ-^ýeWzíûZíJ"ŸúÃNS2h@“V¯°§Þ8ºB±OÜóŒ™`œ_¯ÌþkÏæ­G¿¬~ :Þ°gr–¢H¼r/ý'jo¯…ÞÕûÓkšÆîeLñ²$ 3(~†2Km‹»TkûÎ…òÉ ð>q ãé ›ü.q@k¡œ›Ü¸<™Ì‘öLhaMU½BáÐYkiÅ®t2­ór—Ia¬¢ã*îÿP¯{@¾ô›¸‘jûìk' _²Œ¨ëÛɾ‚]tzÌ Ýä*7$KŒNn‚š3î}^‘€-h¬õ?]ß6øùDßsôÄvj ³ç{ÑöyLÖHb¢•8ƒú…"¡ 29ñgSgÆCï!OAÑšio~¾0ªf}V¢å¬Ëöñp±¹>ãlqSöpFWƒæ@NO¡×'ú¡¤›· B¸ÔyîæÈþCž~µ'øº#ä¬kc“öê©t‚>OÞÚ†qâßÀë€Èä’|q5Ïì4¹=l/Ë9k´ó&„ ®DÜîÒ°&â„Fží?ª7ô×ÊZ;Ë…½B=E ¯w³{-“Å3Fl{ýØuÊ ‚,漓zE£s×ñjsՅãùATãfÿ•eK[ŽZª‡ß"5 ˜¼‡¿2¶±×YÞeRñR#ü99Ü»À·Qš)ˆPQÓÖR±êœ/a ð êòëgñðþÅ=Å*™Á Òj5¼ù Í_·Â´k&‡ÜzyÖ¾{øžgª_½.I;äM¥Å\ žq,ŸrwõºmYÁÖQ3¬Zä¾*åêÔÀÎÉÔ€s¬ó†î5Ûÿzd-ÁlÅV ŸÌ]AEåD Í”h îkêm¹÷S>­åJôlˆÙ˜ç!æï‹–pÄ— if,¤)ªH"›­@,ðœ p“xurAÏ63‹ÜC‡ç mÇjáhw–Lyþ?Ì@™Áÿ½6ŽH ¿Û3™ ¶ ` VdÚÆAA ÅC̯•/iI­¡;Úk1r8y»ADŽ”¥Œó{³Êôn¡—Ïñä Ì\‹¥Œ¡ d(¡§À‚h‘䯮€ÄÀR4ö²&?éö¶Ö$“¢Óû×™> ÑËVx@Ÿä¡U&^‡øëmv|ŒÝNÛ“GÔ¡å)Nùh] w¢"~ˆ$ Á¼»cxò‘«ú[âǾ ñfNÈ™á,Ó×´úä›$0_¸O”´@q0ž&_+2g P#*˜a3™žx@¢§1›D\úßMä Jîå=iû¤g‘ 0h¤b¼€<Êã)ô)ÄM¦ ËêÈ"H³rù_¥¡ÿÉ™õ‹Æà_Fž]6|/WY”~¼¦®ÒC5ñnPMßE–ºû;¨@å̹‰NÒ€2f+Nè®?^Yõ…±›ÁÂw3DS~Í@ãŒÒ V¯«HÄ÷qŽ{G=>?òCÍ0èõ"‹—”®XñÑc½S ÎÉܲÂ/>ÿ3Ï;G£nQlåÕcç‹jl‡ÊËEÎ\S&œJMã¸`„ a(9th눑ð³f«šoSÂP>^íª.µÜ |7‹%éW7â>eQÁ )­ŒµK¨t»<è®aUÉØ0<€07ùÌï+å8Û[¾šyÑÃG1b2Š4/+>Pò|sTH Ÿ1;¼»˜ÙÞ¸xöwÁÍI×fˆò¹I¼¿$/'ªHÛÊÜãfHïÓ\nÀq;“y)Iþ_‚­v‡ + Ó |lbß|ÙDhüe«°–ï9 y R¾ ë•k‹x³žAá¤â»rŽ„"Î&w£Û çùÕîÇ ñ¡(E9“‘ñ†¦û5*S…oèx›CI6ÖN¡´ ÁOo¡N;ìr ôêåp•dÄyF›û=甇c}ó ”Rá¢iüë»6äÊ õv´QËîþËŸ 3>ŒëVOÿZEœ á;àS-çVÛ ] ñ Û7Ò è•:—8¨žÝí•¢L'‡O~äRjñ,ÕÊâßÚ?œ™Ð÷!šúÖõØÕ2~ä ŒY\¶ò~èZÓ0˜ŠO¢°ÖB³BaðGâ‘0¡FÒ'Ìqcñ縄±óQs××d'ÍЋ¢Aœ ØÆb­}ì©Ã wœ;×!£k?%[É„€b¡žl­^÷¼§ ³xr5ùÝÛï»É’ºN‰ìJýóñ3|éÓ›çªc‹Oñl\-#•¤R@ãqx÷·÷³1ЏdµŸã4‹ ísûÚÆ¡]N•LJílÃÂŽC %Ykxo³sG2ìç%Hp,r„B$ pí¦òÓ'ån …Ô/K§æf#ä^Ë^VuMèÁÔê–Ø[áÿ1ÍN»E¥­Î¢²Záí®l(XXz/L6‚Ì jêðrT$ô–á†t}yF®ÆcºY9ÕÚ€ƒS5 ŽÐ+±Žu÷HÀp¡ã0q¥18Î¥¢qï#™BmúF.V@ž]Œ{ö«`4¨ ²ÖVP I>~Jù\:Fê•<·¡¿Xè°¸3Se¡÷ZÛfØ'Khì]v9kÝÞ» ëAî¯FlÄÇímúÄÎ £P@üé…1˜ x스{˜hG¹òŸLè$‹$hö"ì$ëq|L?çfŸ.çqCˆ"çi(~gÜC;Ëû4!OÙѲ÷`èðÞŒ]ÓÚìBLS\q­/Ëù¾§ñ°èˆœÑZ@9 õïž l`£fýP;X!tH@ž×Bhù7u‡Û>Kû*«œ›ÌTØëqÜ£…+š~>+¶¤+†Šì. }2ø¯*³¡.ãÝ9X@ éÀ[©Kÿ$¯Þ9TÂñj$*v·!§¿b¼KÞÓÏ¥Âr/®«[µ¬^­Hd5ÁxÐY>.ÃCl‘ª‰™1ÐÓÕªì:í;5ÛôOÉ]¢hZš0`ñK^Þª>¨JV9†G¿æQVÚgÆæèDMTÞ¹N+‚Ÿ¼“ÔõF¹'‹r}NC QœØˆé¹G3DñtžûAŽg‡-xiIlÅÃå èüá[ûɘµÕ¯ 7cšà©ðŒ:=.ß9? Iåæ³ÉtR0{y‰¯]œÞ$û–¾"Þ]&QÖ>LéïKÚöš¯RßÂG_w"â*w*ŒØw}bs½ðUžëlø­ Àå†E|V½‚ÑÿiG°,ã ùm_ñk±–—&â? .y“僤 ôX PB-KªÈ†&û£aæ'"z G…Š—­'Þ¾PQaÒŒ6]'4š€¦¿â›žC¸lóß²:˜+Õagè|WdL÷™ù<Í.zuâ”æÚq K@ôÉHC­HÌìU%OŸÀc¦çUk=o«:ÜzÑP¢bà2¾¥ULÆ¿çûEÀ_¶1išú~š›#lí¦¤ù2Köa€­/7NSñlü»ÛžBTH¼ƒXPIzÎ~ò>V´I…uœ@Ç»d=™•>ù$¢T²KÌ1W³[gT’yJÕ»¸ŸÑNa{mÔuƒ«˜N½q’RX@.RÞN׿¦{)‡ý,©†7r0ß¿ŒÎ8¨à`D¿ùú‡šÄØ)C§OaˆÖoáZŠ}É…D¸åðöèœ,¼íd)´£Ô«ùAx/즌*vé.ùëæµÜ¨×&ËÕ9s&dèü‡›wÚJÑÐI2ä–aõ ¸¶ D:uí¹ŠàkW®Cz"¸Qïê+«ÔìÑ„3O(¬­Ç@×qé‰:'0﮼‰¶¾Ç`%£ <>è^°Þ?*‚F£‹ŸÕÔÔ˜^)Ï:”íx÷ÿ"'5k;ÂEË«Š9,ŠQ¤p‡2¸—z½Ÿ(÷ïJ¾<娢ZáA¡"`»p«± A´‰ñ4þ$‡,­xqt‰è¡'{YÔQzIàh±uø•" Gå)ò’m Ôap[7ÁVßMó ˆiá%¾Ð÷òý¦zÔi€™"0Û#‚–+ÎÇÚƒ+[5YknG‰Î¬Ö|àÊô<1hxî*È%ßSX߃èƒé›Éø89¾„Ëw\ªhÿƒëÏ´WîãR“G .´×C°cf9œMò¸žgkEúý:J;‘â ª¨õÞÿ@uø–]I#r$ùËÖÖIÃj¤vÜÂ+5Qî=ú#ãfò*¯äùO§{Ó9O4:q¦¢¦3UÏ͖ܾ1_ ¿Ã±3ŧyH²~‚e•ñ9¾Û»":‡ÓŒ\DÛE£û-þÛ賯øý”ÕIÌàŸÆÑQ²­hGey©šnç©ñ‰ûmt‰Má±l©€q§“Ê“¶¸—DÉ—!ëב±.¹¡n}IëÉüàÌ™,ÉFÓ9ÞŸâ&î&¸{e6ç@€ë—@ÓI¶†AÇìÿc5î]óúI;:ïV²Nïëæ2£ïÆ×nö”5Û ³µ›Ò/ªé31Ã,ï–iÎ8®Äw¦±Ñ†¯'BDŒw’*&ÅP.BõÕŸ×y,3&7È‚~6.€3>¡ÆÛ!ô·ÓR:š·"•ñʈeUòVªY‰×—k·“ù³‹•ôOówÃ2‘¼‘•¾`Ž¿i΄ _š¦©'ç5“Ú\è4‚TÉûZ†)65 {‡ÎÅ˾ÃuLíËiü·o$ëÌþŠ­×ñ%0zº±—|²²7Õ[jzÿ½§ù!½©°UÈ‹Cêvœ]C` ±šå5JO~Ç©õÓ©2NŸ#ú*·<óhí„;GÜnɳ±—(ð44}~¨Ì GJ'“­Ê§­"îùvº~þK®`Aœ•Vs3…\˵ª}ÍmIRQª’—«§Ï +·Ê„=òx Óï²õÕ·ÒSƒ:Ÿ|ñ@ƒYïe&$Ÿ¬OÀ’U*†+¯r~ª˜EÊ šþæ’úœØgg˜¨AD£¸§qƾ–î*šïäF'óˆ¤!žÉä00}ÍŽóÝg ÉWÖÝ—"¤äO ðm‡8~WCüÓ‹éq샾 "ô†BÑ`à ¼0 s‘,»˜µÝZÝ¡¡/„…RüòUB‘–Pß×È Ý#™¹?-ºÌò¬-©)QsšãŒ0^øúð•M!ñ7Ì8êû4h™uŠ(Õ¥K¼Š;MíaTØ“Eä¯~®§€Î›ÚÃ|ãÁ#ÁiýL@«®j³ÐÔù»ó7 %ßéØÓ¼ü aò¥‡ªºô$>Ð)q%^sçîWêú¢“¬`t<<¥p‰H²è²¸öh”;M'b·‹š§5Ûh'‘qM!-Ë)Kpì>H×ãË´6wtúøKÈß;<õ/zj-^U>t‹H-½Œ’tP—VÆÕ@Ÿlˆè'ɪMh Á@pxÚ‚Õ7”þýšŸqNYíaaÎBO›܉Dþiµ²M|;m2YfÐHi—C«¹îæ5ó®œÂ#¼ç<àæZ˜½óGë¿£û$€=Ïñc­ò631þäÐ2Ý 7º[¡lãY-)aµŒÊ§RNHW¤o¥ý"5ŽgCÎ"VoŒÃ¤$’‚– ž¬^£ËšüÆÍEÚ®¹×ižM!,¥ÍS¡}G†º[Gä n)¿]u• ‹o>ÀŽ—l-ÑMl7 ¨ï|PÂÞß$`ú´{–­Ð»[ÿäŒßu@x„ËH.PÎJ¹¾P¡ØtáP}DŵÏÉþ5¶;"#²g¿§†h š ´Îß¼pNbXŠù\ŸV Ç©óXÌ92ÿ÷ÜÑbC˜;á]òð'ôëÛVÁÍö@Ù¥Ïäè\nSÎ,¬[?‡z†Ò²dƒ>éNø„Ð'’ê ²Èû—– Iíˆ=ån˜Õb§‰s<ðŠF¿/¨ þñR„v. ™„K»í~¤È/ôbc`~ɳ½VsŽ ¦±7…È”ØÈø_Ü£°¶ÿúæ¢LžÞs»#Ù€ðúW3x}û?¸4áNøÃØ«(ºÖv}ìŽê Ô™_.pq ‘,J †wR‹CÆ@ѲÐßÄœ²-†¨aÜŒáÁýÞPÖ-€e W˜í›”ÑÇ®P¥3*vç{9àS/åÆå|[™ß,Œ½€Y£_¦KŸð&YZé&ÇXT¿& `Ï]ú¨n+}Ý.«r¡û#-LßÕÖ#¢˜§£;»ÛÎí]á ßÃÊä`RQt{+N<Ž` VÛÄéE¬d9¿Mžg <ºÜi ÇvÚŠ“ÐVÍ‘¿Î/3m´Œ\?w¬Ú­f2 œ ÷»lsvî¼_ ‹Ç$ÑŽ}R<¯',›19 ˜æ»DBÓµZ¸öžÈ+Ç®óm×h”‰ÁÎX­D M›Ë–Òt|™æ©»ŸÓ QótõKŒg“~ˆLùÛíf¬#="Êr¸÷ö…3!Õ‹3mΫÇ$Ä;‹Áâ$¸ôåA›Úf©î0\6M6§ü]ªñ¢¬\Ì )bÌàH$Mûw»kVì8Lʈ„…5 L§}ýÛ½‹ÉÛj­ yb¹p©v¤ò¦‚«3¨bBVÕV¥ï³¬Y'¢©~i;Q& ¡¡*—5ëýºJKNRˆ3àG“V·ãšŸwO›ºAùd€4C¦Ö%6@h»¸¢÷Ýgµ>áÛÇÏ ¿„Þ,ݪbÕYÉÐ\žcd"œB…fÉErƒs” ũٽš¾<)쫬ߕ›heP!»q'$Ÿ&g¿‰“ânYœÒb’'XÑ Ý "“ ½õ¾x¢=JÂůÙ,†Y{Éåñ@¶Õ4ižiiFŸ$&­5Zõw%Öù¿j¼>²lÏ>’t[µûÌ/£sõ"ür`j3""ŸÞ‡o;D[l0rþ„ø¯ „éÊÆœ‘÷kÖk7ÌÛ)èƒ PÚ •ïƒl;1¢5°0b´¤öd}yu,a¸S U­@øñ•Ý^×)‘b‡ UmžeQ‰Y•÷\ŒÌxïý£*˪¶ÇîÍzË»F_¿‘¬¤bÌ_eŽc̳D±­Wui¯éÁ‰÷ñ~Ê2кѽ£<4 `ŽÆt½&³q"D£ÆÍØÐÿ|[ÆÐö3%<“ð}:`ú“™T&¿RµªÁå‰ný_®`Ò¦¡Føªa4 奚Ómy OŨv:…B>H)ç9´vMNkÚŸ§Eœ¸Vã.°sÁqSé‘cyµ˜„Šwücí\ÀÒŸ2 1B¶$'Ízoz\h¹`ò;g®:O‹}i12oÄþ¡šœK= Ê6òu…”ï$ŠÇ@1¬¹*’lU$õ(f@£Óœ)ŸeÌÓ•fO‰‹ÿ¦Q)éP¬RK#P–xwй®|™°£zÆ©º2éÞ ïöÊvç„ö£°Ûx<ï‚Àh°ïªúj?ÂZiþ™®l&‰-FV¶p`ƒ]™5àõÂN×-Bñr°w’Kl!”àbfÏZÙ¼§šz®ŽoGøpý¢g¯F×s1^ë³k¸ú‹qÒ .¬íÌ »Ó@lVAÜà?&5eg!™î¹ˆô(r|8 …Ÿ·¸ÙA¿tEYòø…iéœêëã ¦òZ⇿ó9´ʼn!«–—¬‹?UîN¶ùY2?ô#Ìd„Ýëdg0¼Éf‹ìâÞ$óÖÁ¼×—¼xÇ“túK £kÑÄ*ßr´‰Ÿ:×tŽ-Î(«þF—Z`W2¢Hàf‚µú·üm º¤J-™’¬ÍBK«ã5Öÿ@ÚÝN˜T´ÚÖ&àj%á³Ú‰wª7–#tÚ™îÔƒÔáXíõQl©(7›YŒÏÒâK ;s dŒ ÏÈ?$v”Zc²c5aΊƒÅœÒv»° ’#è :5ÒëÉBàÀm¸ã<ïcC¶#«.‘U RãµÒ·,RvÐWt^‡OWÔL¶wŒ®«œaõç†2~öUl•.Ч›Â\¾çbªo*ÓëS®¡Ì~{ЋYNù;ÀLå>óÃw¼QªóR¿˜_‘çwK;€šù$•ZøÃ½¢¬/‡[.¯¯/†_&;ªr%ÀaO¦£#aµ•¸]ãwYòÀ‡v€£[³ßl´>¨Õùœäé¼ š_¤ „ðÊ¢˜ìƯ€ªŠÈƒûFtØs®ºv¡Ëó<·Ó°õ«ºy¿’Ú|rØàÙ¿€$<5;œéYNX¨Ú<ÆÍ’tªÊ\¼T6Û„{¥©Ï+õv*Ð×Ám7u¤}w´Ì"íé® ØAŸûúÊùƒ»u3M;s[9ƒc*”;´YÇKi{â¼b]U…c5 Ù.À†õQ(À&¢;¿¤éŠ*pï†ß¦hJ‘Rê.Ú79k'çbr¦ŒåJ tU½fY†DèÁ|NØAúX'tÙ¶ÏÅ€áÖ‰R¦j2]›/šÌV–@îºZ{Ë`šцTHõßÅüøÖ¯Èÿè=)³Ó£",†K­¾ßÛ™Ø=!é½ö¾÷czÁ`òqôU]ÚG¦¥o×7T0Á ˆdaz+5çÜHϦŠm K«Ô9’ŒfÏ&KliÝ`ýf‰mœ7ú½CÅ56T š“Q°iÐáãòH’Wª_ž(ˆÂèñɘˆ¼€Þø†»:2ô,¬ãPnåj¤ouþ^¤j§M«ö2fhgF@„dóÀåaFOħšGz_ÿ ûÖI!Îã‚ʺ@¢DˆÖ}öÐBÇÐù™º¼­hélô6aM {™º‚O'…- ³“«Š@Bp—µMë~þeå ë’‚)ÕB„F•Ç–¼gT>„© žüÔ´–AsñÝ’P)b¹ÀG^ÁÄö6\(-ª:ô˜åvrµÌ¡ =Hý¹$Ò]ôî‡JÚ”\"N£Ò’’ {Kuï¹B XÙûí„äeßF?áÂÿ4hÍè}á¯Aú`=;Cx4ìƒ%Y[Ü%'¥Ë1ò\ÎåÆºÒÆ0J» 2á;Œ’6Ò¨sIR‘=Α=vþ1ù>ÖVð;¼UaɇÓÉLþÞsŸë!—eü·­Øl ’¬<›ýO&N©7¬ _÷åyàá|Ægfõ-ù>wÖ¸:˜‚Ü¢_˜ŠºR™okÁdYÏ¢„>š±™õ¡÷ ­SŸP‡>;”+Ôo§’”¦î>UÊ} ûV À†Üg…Æ&ÂŒWum*ŠHŽ,ù•ï³ UÂ"KÆž=)Qº²Z‡@$²a  Ò˜(DÌ™×6’n3ÓªŽÿ+qÞ"8;)%6Ÿö¢m/•¦G#zX+aŸZ s ÃlC iò4y·—“¤Å1 û¢ÒJê䦻î5? ’Y+„×­¯Ø«†ZpÔ ”Hã \±=û[­Äù¾]£’akµE7)@Ž®Lƒ3’¯œð¦âÁìmþד·;Ý ,M… "Äu¡HW´Xçj=€RÚÁA±‚ O¢®z v°™h«žsÅpRDi¶Kèjeª Zø@ؓրc]-Xíùjõ†€,ü×{É ÉÇt³3„rCZÈš4YçúÁn ¢íÕ«Ú·»6ËùuÒí]0Èvh8\X®ePÔTñ@.”ùŒÆŠW;äÄ,h¯’{Cê7uùñY>–˜åÌ/^g9#Š©æz¼ZἺUGnlÀäW£ñjüì’šƒzc­,Aq!Zï[ØNMBÅæ&Ž,HI­leG4sµÔºp8%UÊÎ{Þ _c i[úÿúP6ÍÔ„!\VœˆQ”úÔ€Z´v!³5¸ ,0•:„–D9HðvþºðwâÂð·-«—]¬èKåOÔJQ{RåɈç…ïIðÖšg~43+|XÎoÜ&蛎-¿EŸ•´%¿•ö„µßÆË<ž?`×/C–[ð~ñ©ø&õ0‘ÄËŸvpáµh-Y]P5Œ¿ÇLüù#1AÖiCás…ƒ8Ô¡ÍoL(×ÄÕ‡^ÒpºÉ‘þ¶YDÍbÚl¢§l¥©Þº˜ˆ4ÿƒ`eÛ¨«ÆMâ…Öð‡X¥CË——cÂï©Rh˜Ò úž²LÏ1ß÷ âIÁp¬%Xà)âT>ØZÐgˆE àÇYu*M܇.ƒØ&] ýRj Éë¹zb0ìuõ@¿«'‹ƒŽpùIˆ½)±‰±“@bt™‹¹}Hˆ­‘ÑÔf;̯ò4WŒ„?x’¼I«CþuÕLHP$D?âî5+Ìô¼™1\ ·®ÑŠ=7¹olüezgü.¨«[jlRÄ5F•ƒNÌëØÀ$VRÓ¶…êþéï¸sˆ{Øþ•†&7n¯ƒMOë¡í! 2Dn~ëå]° %638 „’Zà ¡&ƒÕFà†„tQÆ;˜/\°‡NÀÁy:f!û‚éËmгÛ_…~ªk¹õZA¿‹ª6Ú’Jë¦Ø_ïyÁg–ÃÚ<‰QàûsrKŒ€Ç/º"fË–dÊ)LNrU5ø‹KÀp”-ή¬ø7zD¬»×ÿ~œ¼í(Yÿ*@&URR¢è‡d„“œ1Ö»¤D) ›–Á0çX4ŽMÏ~Ž{Ðziz2\„Hæ@Ð÷”ø‘AnOÖzwàG8ÉÀø[Ý8¹ÖÏA_kÙ|–›[ùÚ=ìUZì\š¸dýK} „Ÿ¨5ÌrkƒXƒ ½ðç%LŠ•rà…tú ›m’‘YO\¼Rß ë$3 a8ŸïW¼gÞ㯃?úŽIÖO_•S_â8֌Ӕékè`Ü¥qÈbZeÀCí(…‚_“‚ƬÓ2Üy¡˜¶«¬ ã¦få‰BòADÂ0ÿh7iŸ›üÞÿ¿ÍÙU­‚„Á±Íœ[àêzb¶û eF+Ïºçæ“±}DàxÌgcÖµÏ~¥§(ó¼l–Ý€µ×®Ryù6ØÁÀUh§÷@ßц¹ŽKB™úÛϘupÂF{ÍŽÔ±ª$¦æô°lž¤àh „9èdüu1u‚é-DPâÔa9ò>ß_þB.¥ðˆ±èQl+– è’ÿ^©r.ãn¦*ïÄ®ñIf- ÏÛ[ÏÅ}GO/8®áHw 1‚õt/‹!±«HŠ(@j‰á¦™EõX[& \"p=?jŽdrž•«Ñ¬ß¼=gòvzÁŸ36¬3=¡*~}_cß0^N”Aê"”ÙmÃb]ñóÉFKG}2ê\ìÑÁ^Ž9®áDàñ—Ç%ÎJÆyô ½fÎDýi­ðºi(jn»H@p™í :^þÕ~$2£J¥Êç ²Ê~i„-ßèóo%Ñ\@éÓëäüÕu!ðÛ’kŸäDLà¥Ä[6wÚJá`JQ$´›ù(³â4ô9ï±@ù>ˆ~_Ø•à}+mZÙÑYä—®ezVB¶f‹09ÙÎa1Å·¾ˆýŠL§zJÀ7šæ;æˆÖá,Ì­£Ì<:¢x-éàb ¶åÔ^XŠŸ»Š»%_̱·ª;’m1²Œ±¶ °zç \ïWe_-ªë%¾-Í~Á¶vu•Üð ŸT–¯ß‡̸ÂõÎ(¹\ë&xÃþãEåðlþ>šxˆm„ãÉ®·Ë|Õ,s$gë(I¶„k$Ý·¨ßXºÁyx¹ ˆŸËcTC¡Ž‹ÂÈåúÞ—i< #×±‡‘c¬3ÍP/ƒ¡ßj™ú´1Å„º9À—Õ…‰ƒ*øTTZÆúdpŽÙc“”ë2un,ПÍR«Jì j»B[ÖM k˜Ül¡ÏWRtx]@'ä;A}k¨Pp™G„cq»ò»ªñþ¬Æ7ŽöV&Ïì§ût˜ê¤—q8šQ8„ qVûj{!åf¼û0ÿMXŠy+e*$§ù”'*]Gsn’¶¶éíÑ=ÏD&vÖÏ8ÃåE11úRû8¾ÁÌvm”w×gt· mºI…)â¾@ æG;Ü>"FT)˜´@ÞQ¤ÃskÖýIÙ‡¦–ÿïþ1~G€ƒ8ußx,=x¢$xb懣IôǨ÷6ˆöÁ×W·½ö8J¸ã…þ¹Þ½hÅßbÃðEoÝGš¨ñ"ß ­SÙ²uIÎë#Ù;Š^–›ºâ=<š²iOqÂþ^syõ"aiœL¥BÇ”>ãüÖ|û¯†—ÑvÐ7ü¥BµÔú F^NmA·‰Ü€ò7j,ÍÃ)FY49  –«‰¾”Þ¶6Æì#4‚J ©ÏXM-­EYmÌFµdoÛ5F; ?8­$nI9ö§Â•ÎÖ,ÛÝŸªN_y&åF&B÷ûë÷ãSu]{å̵U‚ÒOœ´™Òƾ—ÈÎF¼ö¿¼§QúŽäò0ó÷¯FÕÇÝÈÏ0á :Šu¸Å¾Èáy¼ï‹C I'†—÷òÞ]úչ̸ÇVqçkœã~\T«GGŠ×½dì_N^”öU·?¢™'0.¾ó ÷ ÈáÓDÁ3–kI!jÒHÅêËÕêÑ5€à€ ‘VpBÉòh⊄héeÏDLä]x;%/ÎFè¥ÛH9Óú‘ ämðA ˜Rk^K¶g ³Æ È3f'ÝC¬‹~¨ò‡´0ò¶@hlO´É³¹c–(C€[Îõä> 7¸í‹UYåRÉå0ÎdÇèº4ççøüØûç/LÙ£Ý|£,uÙHó ه͇¼Êï?òÇJ¢¼Æ ÀFm5ðÖ€3q98“@º«“•GŒr4K˜2[Á#šÃ÷®æú¤`’ËÄÖ&USœyúWÂë2Ó*‹ ÙNs­þƒ§-n…¡\5SÛu-vòðèRYTrâŒ{֌ƢÉAIÜ.£ûN¿@Uû§ÜVK Î8þñD’Ú}›Žˆ`Õ‹‚· KíÜAtRßø4šèÄBcø\»½½NÉ­@« øp¹¸Çhª[ˆ4q…gªË0kö³Õ“ª‚m™ô™ÏDaÛŸ5`lë?¬«“íHø·åÍB„/\õôŠƒR²ó”ÞCßzÑpîè¡Úù‰(ck/ ßijL ÷‹ˆæxñí¢¬½/Ðï‹rwáËhfGÔ-öóû‹–òµõ´p-ºÊF U †æÞE¶&l džéб˜·³KZæ EÞ½X¡‰ÐS,m½±Ò>Õ}6¹ujemç7T¡ìïL‰îy4Üc~ ø3S²¾&lzû GmØŸ"•!#ç}·ÒßZÒ×?LÞi¹O^ÀIñuj±/P,³³²n6Xw¬Öö)ò\“G¿S?öu;sÜÑG/?UîÓוÚw«`w"­˜´µ®ç’`, 8‰[JŽÎzõJr¶4ªÐEZ†®´2^X¤—*Îýè0r/WTwÝ·sé~{;:F2&)Љ°ÖávQÊÛ/¥z×'ÁR!÷F3×jbèå'"¤}“s™$JÊ^<è|Ù3u Ý„¡‰ÿÑ#]l¶Ïûð k2™öVÿoÄCɈ¯Ñ£¢éÌ´‡VЦæÄdŽì±Ccµ³¼E+ã*Ù:7Ž=ÿœ4zhôtÙgt’ˆ†ÃÅ1Ñ*ž÷ˆòš6Üø0ç—ÁçBÆ’›”ñQA|³\µÃ„x¹‡m–³@Æ ô¸—¦c‘%OÒÓªf·+)2¶D*þŠßxæŸ)¯¡{¡QÂÒP ¬þl¹ŒÕ–.wÆý&õ( eŸb3Â_ô³V÷ùw%þýcÖ NÚ;éa+ú¬ŸºAEsÒ ­3§Æü;^zWWO8åc6§Sk52*G@ÚZÍý8N²¿ƒ€˜Ë,'¹°(çoÿp´ÀÛ×'ª\o+ù64õ {@Ðx à¿=WZ$ÐP}Nì(Šù\4Ñ4¥ùòG°Qçy`,éѦ~@_oGl†‹þȾºÍ«B6Gç¯zEt*2íGhzÉÚYâðH Ž1õ>Æ›œBñ`†o¾bÀՊηäPcG aËWM±¾¡~Ñèü \!Ö™èF˜”`MLÉgp[Iërrؾ¡ˆHÆìÁ¥C„þ þK9ãýþ/3vœm”·пYHeô j¡Ñ?†6?k(ÛÒñbÒNž)™Á™öx¨ª3û—f&ùfm˜çûÀ+Ü_™†+8,ˆf? J£—Œ4I}IÕgò³¢š˜ çõÔ25©ú¸¶¹ it.nêz­Të•›{—«ÎÁˆž…+/I‚"`WIyƒzʇª¬A\IÜ¥‚àV«%&•ê»\«vã ¬EªH/æHæèÿ®ž±Dlºr ˆ*;Í2ú.Ö3! lòH{$£Qõ»Õ&}7=VÝIáÊ6.ôè¨÷3•»~ÈÜÔÜÞ‘Ø«7ƒÌÐþ/©réi«¨²®¾S»ŒÉ>÷dK²åÉë%Ñz´\P“¬B‡0eó,<è\ž­çÜT[bëd€ŒÞ„!cÉÀãv`£†Îå=TLkf¸‘Uƒ7«s¹Y÷6pO8ŽgI¶BXg/ªi~º»0j¼‚oéI~¨K…¡“UÜž }³5Ñ˸ åЍš´­-Ž£€ñþ ›7 {¦œûwNøïôT©$¥`]½Èn.¦¨X>é"#,rަ¡ÂºØU‘V&‡›%¹Ù=O=Â/Â1/îtÉ|¾š3ææ+6çè±ÑP…Y±—:~s–³Ÿ£­³Ž®0=€cÖ´òzNFP»p“´H¬FÊrtUÉÔî,©_Rθª´©´>Ò£’?¢Ñâë4ÝëˆÖᑬÝÒ‹¿ñ[[K Ÿxã?àÈb­±Q’…nw·I¥+ìXækLJ@ ¯\ b?=Æ}§ák r°,‹Ã–ÏWŽáqâ,‘‘ì@âóSVEö9í´ †x4¹É-KŸû΢$àÀSÄwšß¿–¶´ :žþXνØvtÖK¨g®èÔÓ˜Œ3+Øç4MÙɨýîüÔ@8hfô)¤R­§²WÑU4þ+oz:õ‹\u5É3zfX/rûªF‘›ïœj -¬C48Êꧬ‚3BhXN£Ž?,ÛCÎ0äW ±X&xüìü‡ ~ßgNü6mO–3âÖk n9X&ŽE†ŸÊaOà:P1 ™(5:vQšþŸÂ¥âB^²l+½“Ò›J1nÌ+³¿0¨¤]UiŽwû%ŽÍÜc…}ö $Ø9ŽDà{÷7ÏÎÔQºƒÕòd:$±æ÷)YN–^ѼùnÈÀ‡ÿùšÐ{÷ß4ÈJi>!2MLÆ©Ö;#Jg“áH±Žúv¡6¯úæq@Uƒ,P¹S×úâ­˜dªWV¹MmªZXùŸOftÚ^‡´@á‡?‹ݨ+9èBvöi7b7Œ†4f3Z—sZ{uÚ安غÑÙ¯|8þŽ=[žP}›8.ûÆ6P2H·GS¸bå÷ᓚjv³fzÔáá٠ɀ䂈÷DµÚÄ<›OJk ƒ(Ük…éÒEGÉKeÏ+w (Zàïÿx¸ŠMÿE}Ç,[Êð-JƒÔ­ømR[xZ û«V^‚Ó—ÑždûpN$‘v–N?$Vq&=¥l‘g^š¾â<š#/¦ÂZ,’r~œ”qZ¼·Œ¢¾…p:[ñdÆ„©ÈÿäƒÎ‘{j§–¡Ü Ýsþ¢FJ)k–ŽYÇ@å/ûȬÔéÉêdþj<äã/ÙN 9xÿÕÓ,,|xátz à_ƒmWÜ®q>C•ºÎvd®©ý\%øÝѪ'­m`BZìnÜ>W Ø~VxE·©¼…*1Hêµo àkÉŠ Òþ¶U:¼3t"øÎlU‹“YÙ4-™éŠÒ;šŒŠÊÖäBÁ^Žñë((³Î-‡ÈKfJ9.wþýšO—DodÎúH ˜¨¥>Ú*êþ1C’Øq4In󦋨PœšýÚæ|ýçeKM£iÿ²ðáœZ.Éï_ØhB @Z¥$r7b’Æve[dže.ÖZëP휡ìOÔÈ7à5€åŽTJ ”$ž¾hû¿XQÇiÜêbº¸M„“:3ž£÷NehGÅì³áEM¯nx2™A•m¶òÝmØ—_ßL'×T.‘'&%úÉ _È÷ÃC>âSHsJ‘àCZ[ÔÌϦc N+xïóÉê¢YÁz#I.q¼Ÿqø 6Œôlf¼ÁV›gcg„…ú,ïÌ¥ÓÒc’ßâÕ½ÌÉ©Újü0¸xðùÂ=b±÷_1YJ½WaK+Ìœò¬íÖK¨Z@äaC)ëÙ¤Ñ"¡>™ºfaȲ) hå`ë(<£¨+½ i3ZÜ'˜9Xž* ”ß%±õŽP-Ôcþüa0ÅŽäìÿºYï/<Ø@ “ƒùS(¦J›Ð¹âCŒµ¶äGžUéCœKËò†ÁUë;X{ëy©Omô?ÍOåÀ™È4ßfrˆ—Y¸yÁÞQXMè?š²‚ÒW3- X.0Ÿ3Vêá˜?˜H!)z0Vð<ôH’ï£;­G³„ƒ8,_ׯw× Çê‹þäÃckT±éJ´Þœl»‹• z §§(´°éÄ ¸œJ¢9Ì”ÃÌ÷çª1mSÝçm¼ÞI¶ )ñh›6¬7´®Ê bñF<í…³v€b˜ÜTß÷YVšÿæœq‡ô¶R' ¨!ˆëeî…L‹””FÀá*xt„T×}¯”´Ó·<ïSÁ'œŽmWZRÚ‚ÅÉIÝíaXbÁñv(PàJnKà10m ¤&tEmNÆ 7¹.$Ùë¥O7“A’!cöÇϪ\;,Š¿¯=ÓÙiÿhæ"ƒé»‚Æ=ų&»¸Ù–µñ;géÔõ V p¿ÒÇžÊy{ñ+_Ü0íØO›·3ÐäëÒ ï>òä¦ÑÍ8ZEA6 <—a2¹=V¢/>—Ï"˜'8SŸâD·C¥ôøyfœ7!¹J~ö0ºJ£hõuÏÿ¼\dìÄ8+Ni‰’©å]s SSœél1¿A,z³ *ÄSʳË×é|ã©Xuë‰;JÉÁØD9¹X€ !.Bù ëæäÏ*1 "ÆÔQ¼b\£ï[F•*êÞ°DÛŸØ€8/ÀˆsayL'è]}AÂN¢w†øë>1ºÊ:Ø$a1cßÙÖÏ(¬U‰*ŠØ:*ýxË7õõþ+ß"g¾dÄ£ünU!¤lƒ±8â2ˆ‹l.¾ª$;7cçˆåùµ f·/A9fà¨w”D@~лj¼ÿEÚ<s>Aj/!!ß|´6nÆõü|¹Cj®bŽí×ÿU©’þ½V·Iãl¯è†ÉýêÀ^¡Åæf’Ö9ºxµ]°”%kÎ[òoÏtÖ:|G’•§ˆ#\­§AKŸ[! ºyäª?cò ´¢"Dm\8KNx׉'õ𯻥Ò=Vz/E3VÓh>ÜÊû;$‡AzŽyRxºîÿW@ÖÉ>‰g´ÁÞ9£Üæ+Ûc”J´Çqü1ûjÖM:BHîX¶ ð”OT»ù­Vé -–ÔlB¯ùÙÝ!¶UºÿY:m^A¹5ÏŒ$¡€àû†œ|ýf˜¹¾ë(ùú(¨zÁ$«kÒPµ»¯[¢x°9;säåñ`òÏ28€”œw–[âh¡‡ iÙ s39f×›fœ¸¸ÀfYOGóV4ž£ŠÓÍÞ^®â×äµ#àÛ3²ùÞ¨‡08×JgZ³YƒÚ°‡ˆùïç+ eðò#<%,dðرd(`Õ£0±’vÈé¦á âÙ#§gwxëwÓ8k™ñVã\#_‘éºÀ–.t”bEK§»1±T…ëk ²‘ޏ&¥V¨Â·Bj¥iŽA%$‚˜Ïðxd6SS`™_¿˜Œ9åÓØá$&½é ôáõˆÐBׂЂp uŽÚx–Foµ°´­ °¼Ù‚»&¹ å0È{P›>Úûæ0gwŽšì3«øFå4žÉi,± âc*†8ùåy”%ÐgŽ®WzÌÓ?øveÆ5PÈDÇY# šçŒ“=Q€9<v.oö)Åé¬ ÓOš‚‡æŸqéë-|éWR¶x+$E7–ï¹užæ%RuüÌAã(ëIkŸ›ñ‚³Bö,:‡š©Z¾¹g+?†ÖÌ-¡$œˆfGÔá>v“ o¶n.ƒ¯€*mºFN1×@[·Bs¡ú!ÛžÁTT /qrºNŸ†dyƒ>Hz£:5WhZå§äw‰ªŠ°Ý"+= ‚Ô˜óídvd–]péVR¥M|6~vÌW<ǾE¶‚ÒªXÜØ|Ï·@tOáÀm_ñª½.²¢—ö¸}–®j®ÙÒ7+˲YÜ¡R záp%L„LE,Ö<¯ºt}:—Œ=ƒ?eUž]ÛÎÕœdµª’7ë&#;«ÐïzÙãß+е۱UÄÙ´ª1ÍÚV/ÙȰ ‡µ X×5ŽŠÄ`ÎãÎÎÚ»¶gNéxPPKÔ%Zç\uå/ÅùÉyr¯ôµHDd1p³Âê n=\ŽãuZ³Š‡í.ëÚÒ>±E-3Ç–^vs—=D#¤óó œ¨fOÅ S®ŒäöÀ÷÷‰Ã?wºû&g»ß Íèúì6N"·d&4j3x,È¿SR渲³OÝÿÎHн4M …R2_oû¥t<<$Dk­—§*u¹ðºW÷{MžÖ]÷ÿ„«¶‘Æò=~3N7“ p‚~‚šÖÀN­¨d%.·µÎ6‚¶1àÊê*&¦Ô/of¨ä&äÇýésW‡¨xÊ®Êä@—› H“=œ+îH™\ãÚ­ ÜEôüŽêÓ~òOü„ä1e¬v££ƒ t2w¨¶.É®è¯+‘mÙ:Òr!âáG¦· y¼„[È#1ª\cé òÏÔÞTÙ¤BÉËé̪Ð#;›Ó~íデßDŽ›Ç“,¸‹¿ç½‡®œlcš½Ì”Txœô¹£Ø4´Ë~¤÷- ãÑŽòüþ¾Ìƒ2{¤;ÂFÕËš(ƒøÆI'NÕ¨öéЊ †²›V“ž~±‘ÆFÌ)¾ïüŽ;"‰È0Dãu]è-õd¡=«ÎÜûEj^Ì„ÕNÛ]ÚqšÝÛÄðîϸ¤ÿ×:¡sVU­f‰T7ê©ôÛ‘1B S˜¹¯@¹t±÷¢Ä6…‹¯Íè;„¼žþoN§šï\º5%bæKàA­üQK†¡¯drmïYúùÞX¸ÞvÁÙVž[æágqÕ˜ÔÝヤ“”dYq±h 8T½áùv%²B®e§¸'Ñ‚¤å74KÓèš"œZ»¹ŠJhpqpyÏà® ‡RK ×BkîaÜ€ªâ>–ödâðW¿â"ÙЯ‘!‘‹HóÜFM±æt†£4Á€½gŽ}œ"øýk¬ÇALqs¹E¤‘û/˜Cœþ6鞉OÞï­ŠŸî`‹ˆv)ùt9ýÈ’±Y~4ð…K>µ,Íê;pr;H\o(ïÄ[r°Ñ¢ÏÇà@€ÎˆÛç(@`‡ ˆ@gñkulFJ€È×Z XóP1"ÇÏ}ªk}7»á ¶YÑdÙa†Y5åéÐÜÝÆa¥Ä„dlsê~°Îsº’hƼõ"{™8BÐHÞ´ËÄÙ¡Õ®uÜ>š¢Z{÷/)Å&XK 'Šð«G$«`´ÁRœbzÁ¤EPÊŽfk7ŒåJæ·”Þ#=2¦¤×„7L]wzú5Hˆ¼Ÿ%Ž,ÄxQú3JÞ·“Ø`‚?­·Oô’³Mö¥ÿ„Òdž9y$`4U§±6þF>DjR²Á§W޼º<^3V¡v›9›ÿ˜ØDá CÖ:ñ¡©‡óM ÑÀb 0Ü ËgG¸†#e‹ãqBS±§E¨–¦ÚˆãÊðñ Y¨¦DŸ“Å v«RDV€Wt•Ôõ;b׋2ª´ÿ´6n0 #ø“W7‚Ǫ̈~q­øgKÿLû¹Ý÷I1¤ìz6nHcàN1·Â e*ÒÙ7.˽cVŠ¥˜½ §¹Ø_Hû(³Màt/Š´êãŽád¤“Yø,e•Jƒ¾ˆ-ÏWÑEq‘¦yä&˜ Y/Ch¸Ï1C}lý“ZÏÕ[šÌÑ1†Tõ²'ýòųŠÊ6ТœØ´~lŸœ‰ n¦ ’4xãÖV3%½µÎxð&"Ü•ñ [±[2éÃ_É?Éz]%e;Ò]ªC}Gœp_\}€uökjØ(âð éw»Ÿ(âj¯½0-›TT>åoÇs‰‘Ã%1¾qÿ²›2{ªíùÄÉŸ-¼sªVý5$ÎÆ+^Ãg <ƒD(ìt»ƒ‚G¥fWÏøÎö»§á–Ÿ†àÔÜh@“uåüŽ3f:ÏY°ðÈû^Lë$—¯…õ¢T®Z^ÅÄ·â0²²«´:ìËûkµ†wCq„ü7­óãB'ám©~ÌæG^/F= 5úýqú¼š;5 w‹¼¬ÅÝp0‹ùÐ"û¡óîŽÝŒ}y¥ ”°V„ãmÓAUaB—Á åÔXz0æ™óÌÿ‰“c®§ÆÉÃ`ÿš(.%XHlÊWt&{EýÓ"'JƒqÇ÷y@±n:¿Z ÌGÉãfªuÈò¡fÂ<€ˆÞðë?ûï†íís¨“vy› úpèÆbÎÜ~ƱD÷?óõÄ…»÷§ölAzؘ±ÐÉ%™¨˜ý¿Œ_ yН¼/"Ñ%¤“ÂÙdé¯9¼Üè¢; ÔÎ{쥷0ÈÒ]E¼Þ9 5—Äp|è NÈñ±î]mùébÉY&àËAµÃñxªQ‹O<Ú°*#6/‹ßìmÈ®QA™ñzBI|èáMˆüàŠÑ‘¡FØNÁnA_OÞeÿòóŽ Si74ñðå¦6· Äe‡Z¥Rvñö+Ås„ÊBVS€m)IìÔ†ßAÍG‘¨€Ã¬s°šö¿B{ÖÌ N¯Ǔ;ÚÊ$¤ïáDˆ§.Ž:¿C–ê£SƒÖ†é‚0ÊàðÙ {r›' ~ŒƒîE"’*_‘¦ûY€c Ë °Tc(‘–f[³œÈZ¼´æbâX”Í([a%´!þIð{f±ôH`âÞÇ1·ÍÉ.ì Ûªs$jmîû»ïP%NHŒJ»á!¡xUœÖoæºxQI(% GüçJþRzƒXÖI#Óv:Ž}Ü€ïÜV]q'|ž[…,†z³ˆµƒøph;¾='È-€È3éÛ­¯ï“9cùÔ„=8Ô¨è\Sð”Ž7ÙÜ#ž¾í\3FÓ‹w€YÁ®DZ<ìþ’jÉg(¼û†Šco„ÿ1¿?à ì(fÜ-G}r ·+ŽB^ñ0fÝFdÍ«ïþS–SόƗRõIJ:y<€K¾„ a8Ü0ä÷‚w/.oX”9P5û÷Ö˘NÞ8h·eóåÒP`!‘Zz=­/Õ=%,F.úÐ’ e+ÜŸ_ŒõyDäSeŒQO÷àXëû¥ 'Øè–O—X&_r•!][´$+´±?e£_[‡Òœðp¤·~yfø!ÅÙÇð·ì{8^£ÙZFQlÔÍjw&ªp¾á@lIlûÓ춸ò6¬‘'ÍÊÚïúøÙÃòÏxÏVâY ýÁòJ3ìI %¼ží8>gØWè\^2ñh;T·3CãŒþQõü¦+f"žÁaS~À•»sþ:aEä‘8£â!&(ƒìh!|¬»{¸œ‚]û÷…ì‚L›ã+®zÒ‡›x%}h”ÇΕãH4»×ƒ~¸³¯WÏ’ë|ÄðìZ·-V.…Ê› T_´Á5ß“Vžû`kWToZuXêõl¶êŒR³÷n·7Má_f`“\˜aQÛû\ßø0ñúvÇê2É÷‚æO‚Å6%­²öÜœïZ½XÏÁ‘ø™ªùðŒØë´Iƒï9SÃJGÓF!£ÎÝâØGr@kÝ¥ÉG #<²ð+jcÕÌ©ÔøäR}•èDºùà€öЫómW¤áhù«úÙ·–º¿QÒ§Þqèˆí#rpÐšÕ -úÊ,§K2ªÉË ¤^ÅÔx–bE]òìû<ïSt¥-vòè¨JÒøîGÀý䉘4kþ UÆ¥@ 9[¯¬3Î6cõ}sR7µ¼ÐD*¦z‘Uþ¡ƒO²èK² 1.¯ãk õ‚S_´¼c1!5¨ ó6Ku>Ù€‚¶â¬hzU9fâoXÁ’¨èyïL‰„Û3(:jü/9–6K¬!†¾Q©æ³65ÇÁð]EÏ>íC¼µ;¬×QÀ˜¦ø§œä%@Ïç‡ùžiy©n¸Ò@;$~–Ì’.†–·9R™zè1¯N·Ùñ/œ1|Á$áÐ NÞºùd :ì+]¾,àä£Íh6gÏÞÒf7[P²ÐwSG–ÖãF:/džµ¢+˜y- fF»™Û£ÚÛa|.ózé¤ÐcfQ‘½&Ä •Þë?žKÓ¬ŠŸ@Níîèö S|ÖT@nŽA>±V´ "?Ó°U¾ O¸0ÊÕy¢Ê%µú(¥‰ü]²ðÄPme=ò€.%‹ûºÖtPtj´I|ìD“蘆z* •jh €œnâ¤:‡ü(OɧP»¼”åb¿9P̳ZÚÎëŠ}f/Z´ðÚ9z&Nz“þþR9C˜‡Ç¡†Š"-€™Ÿ¶˜4¬Ë>h¹á²ƒšÊ¡¿{6:ç,Þ­W ]J-”¿lÂ/á®1Rcìúîrqù{Nr€0Óy Ï(6ö~¥Ÿ&ï䯠ƒLV®ví¬({‰IÏÎìTëlÌgK¤ÏÙ)×rsN®™òHeoP,Ö­Aˆ5 qDÊØ§šé5›Ži‰¼szzÑÌDÊ`x8¡ [c@-Z6GÙŠ¶`ýiLŽ­¢ˆ¾}àºX^ßÓˆvNŒu\÷“´S… Ž ¶e¡¬ƒ–µ™Øu»ã`U}«u™iUš9B‹ei÷[¹fûðe'€Îhr¡uîñMy@¾¯ŒÒó¼HíI¯¡÷V$e²i`{z#â6kýX1Ý%¿àŒ”¤¯€Ì°éQ£¤ôx¨T©4·ŽÂÏmöFxlbW[êš… ¬B ¨S9¹A£Dì¯!j§ÁD#‚r&`+b'Ý ªŽÿ-è3T¦»1´NúÛÓ¨t *Ôº¹l‘ÊQ)g!Q0‹vލZJf¯Þò¶0S„zª„Ç^ÁÀÎp—X“ñ=ÈkwLœÆÀ®ÚŒq9€ {K<|î#…°n&Éá8¡®^jk£æ’bÒ÷éÓòp£K>,„é+ÐõzýúoÏ‚›Å.Ÿ¯k“ÔG8™NÊÌíÿP¹uo_“²8\u]£gd˜µ÷rf–v±eÞ;ñÍÆÂæüf]ú¨3½6ÂHû·¡ÞySYÃkBHàÿH“²HË’kJP7êd¾Ì3þmvTPάœÎÉžw…á½$Ëj(}PÌí(¸w æ%©#‡¿¶až`šu襥ßó@Q „BÌ«¹—隦‹òœ)[Œ ÙO­5 lÙ4Öð$d’°‚\zýH¾¤®™"üþuÛ0aR+ê¤é‹\G6,Ùp© ×Ciµ”§,¯¤ž·lO<²#"þš:=´oÕës¡#6W|±×¾•ãqâL}_aº_¡ G°KéŸjb9Ï„u]aŸ7£W=èRãd#|¡úsð;ÛÜq³ïúu!&à?´/¿G_K‰d7’òÓ²9kíwáC±è÷é”ÁñË•‰;ù¼ŒN}VLaÒãS˜ÙÎMî7£öŒNÏŽ•Åsn#VրƽC÷÷wÁ¯×ûòYËwcòG ýpº¬Å‘†Jzèªê¡œJ ¿wäÞ²l§ÿÖ¥‡^†¯ñ¯¼àùŸ¥N‘V œ¤C'4֬ŗ +t½HCÀ›Q´ðt Ò4 ä¢Ëúeøö€Ø#øR –nÒŸu$“.ô9ud( }¬çŠŒj‹ÝÜÖ¿æQ$(h“e•Mû Õ¸ÄÚ!º@7Œ<òE ©LúYv÷lä® Íž°‚±Œø> ´ÜQœÙœÌQªß¢Ô\õ²{¨æ–”Р¯¸%h0#9õô—žÙ±-ÈûóHÃìD‰%„CˆDýi…ë±VQ‘deïÝTÅìÌãñàÆ›¿œÄ;ÖYÇs1OO„ç\‹šV4…:S/ð6Z©µó¼LÞHä·µphÒ:õ6~„Òš™l²±–Rž ö=¾LÛ)|%UæÍ•s„9ëì‹EŽê3±Ù›ŒûyÖK)ƼŠ—‡ö1Þ{$¡FíÏ­ˆqŸQg«ðAy…"U5ï3õÛ×Xpª®°t䯞#~á­/¡ŒòÙ¿Ø0oŽbÛ„’%صdذow!¤R¹yr"G„èõ”D`¦#ÂÔ"Põ¼¢d€[Ù¯¹—ŸcÜç©wHÈÃhMÊŒù¥ˆNù' \Bõ¹p3…ÉMý©Þ‚EŽßNz#.öð_sÿr]Nm´ªi%Î7~€ÙÍOý‰8SæŒ&‰y¿2|ÿö?ØuÞ¨‘’(Ô ¯#F…`b”OHÿpOŽí¢1þ\>°å* ä#bK.[zr¤*ÀnŸu'p -‡ÖøIÅ¡ÄIмc“Tƒšþ×Ósêè3,šk÷¢GÄÿƒ•ºÄ­déÚ“t@Õù·ü?l8Ïê¬a»ß¢xLõ]D’FV˜á| Þš)š‹Ÿ~GÛ*tŒ„ZAuº¢ïª8~ãêBç;½(SiŒŒXí£@˜o·-X:ÌdÛÈ嫸g@®Åb Vö‡­ÒVý,+ 7| •:þ6L3âÃP®îÝT¤N¢Ï8H°°‘tM}I»®À/kÑ‚J]i[bµ‚t5÷û'x}Ìj Ê¼Ã˜• rð2*º+h=|°mø®—TÝñ.Tºè܆Í*éBµäJÞÈh­V\¶ù†±œ*bV½ÏumÉ]ûݧŒ S³/ðp‚9@ñYÿ¡ˆ¦N¬šÄiÔ±8<&‘ì”oWÑsÇ*¹ä»c½›ªõUþå ^•çÀŽø ¨Òt~·uîþ2 ÛVÂ>Áy—«ækšåä©;- aX¿’ŸŸX"Ó<É,®£»ÈÀ¾`pÓP7o'37#Dpž”¼QW¹ŽeÍsô"ÓÆód0úQéi"“sX§(zßà†€W »bZÙdm”¹•òºFµÆ‘³00XêfW7‘j|–9™w8Œ÷Bz¡:Žôœ†’ íw¹NY†2Ho äöï ­OÕñ/Ì1²Þûèƒíwá†vòN8‹G'k÷·OÓpßu<Ç¿à¢=ž¼W‰/r1 ê.ƽd°ߌMD%õ%KJ©T…‹U:Æ'MdÊ:ÄFëy¶×y¦Ù H©”®CklÜí×"SŒêx‡¹M‹÷j}鮇R ™Ñγ@ £ØTÌ43‰®ò”ë>/Ô’ó¹m§´MÉ€9X2 ;d†9°_,Ž’ZAâ•dSZ@>4ÔßSfÅ„`/ ›˜u>f+{±ä‰2§ÞÃF4ÌJ`"P–*o óùvYø>¢ýãï¨S„˜9.$¢:gýö;A¸tf& ‚À~J7–žµúQæÑï¯Pêè;%ö7ãj’ÎcõãJ\³ÆYßìI…O9Ó§|wÞ¾„éäùé.GúInÃK% b~kB£6t|ÙYàOXÑy,B\zA‡VÅÛ 5Üê„·WÄ”SŠ=°óÛ;Š/áüP\û‘ÏsÄCêðÈ(ýáÆ“é"€FX¥·6 ž\G>MTØÝЉæ!½’êga—:wØÊ©±vÞ¦§Ãr†2Íãj$ qài‚FQ„ØùJ.1·™K¤€Ï’¼Ò¡ãÌ ÍÚ1!º|÷ Ë‚ûy2È'ŸÇb€vô¶™|Õ}³´¦ª ømÖb»Fµ$beå Tà|Vâg­«·Ö²ÜoäÌ¿Dj¤Œm1@âšâ…Èm9,@òÜ!Ÿ>~í‘b«in2?1rÔÆÉ ÝØÁ“76ŽFñì²9™¸¼ð}0}@‘–¶EœôŸ;³}Y«>‹(;é»0…°øTBѲGȧ8†À?Czgb}y¹|‰ïô‹þvyÞ&P´­å¤×¶Œ5?+ïëÂ' ú%¥ê²Šæ‹£–í¶.4…Kû%¦‚±}…76Þÿ íúK±$!:( \׿—P1ÌÒíDáz¶Óõ­|?½jˆ7è¢k䯆$­6­Š%û6n*W•]ÞeH1N;œ¹Œª”š¾ëBTcÅTM雷§AÙ¿ø?‚[ñiP1ŽøÎwŠqŒŠiFqè4Î@ÏÍ_ÔŒøÝ&· ×oâØTo„ ž®B¸™{É%lI„ãÞÿ~&Š¢?ƒ>tìóZµXò>›é.ñUóžz¸ñ¬é[¬q™ê!ÿ¨*P'òÞ·L¿9©O”Š<ÂаžO6¯«Ð0_ì+kG”.'jÓˆHÛzx”Ë@õ%àHAš J¥·zj»ý6‚bç'~¨f·ŒWÕxR÷µÚ+oÇZˆ¸†Gõ­ ÃP©õxÁ1¡Ê´£‡ç½¨uVã5~t%%X¶#7G{áë«õÈ1ŠEè{—H‹´Ÿ~ÑÞµÛǵE`+•Pc**ŸšÆœ“Cºœsî¸Óû-;a-Ÿžã¸’WD_z·ŠŽbL‚SPv—ìrï{m~±òd8îœé¿!»mF!í·›9ÊiFÕuB¡×±\5´yr2Ùl“~’øä+±U i.4pPé¾(_obÛí~^}8Z¢$ö÷*q_"6†à˘y̤’ ªŒ°+sÀ6¥›þe6 U0þ{: ( áj¼±9ÛÜl ¬œ TÎôIfjÈå­¯c­\³®ÂÛ^ÄëÞ7 »}í¸nz…#ËÈ倈Q°þ7Mp‹J³M­Ê¥ž>€>YJýØaÓó(±Ã[ŽÇÙÍŒ1rZg­Ÿ¸:§ЦP'=2™zb¤åö¬Ÿ»òÌÒ‡â6æªÃý+· íÁ&D<÷1RmC^Ö«¤ÃP’ª ­lƒþÙ Yc".Lÿ;ªÉü¢¦NèAØsP"nŽ·œù°®â¿»›5Âãϱåé…õÏ2µ IGÏIªfù^¶§ähÍ1÷YÚÀ1: Ïm¹ï×â!7ãRõf˜— €•–rÒ°¥XyF’ÝØ˜CpMîQ¹Ójü&ñ–Wý8×HD;[ªíx?èÛú‡÷V$îO_ˆROF9Xä˃êÑËkÊvÙ T>°a3ZŒ\ýd®ðf¶Ç@N̪ã5‰ ¨LÕ ¹ž<¸)(tÖÏ\ÀmýWŸj¡°:`|Y‹Xlœõ8îßûØQ—ûѲf?°x@9Úù Z†×+h94#®ÿìþ’}7ϬÏÕO¹ÿá|ÒÁ»ƒ¿_@xÙÑÛ@|458q£v3\9¤ërÄà5Ÿå°v¯y™ïñ´aRâ¸AÅisÿ†zxrI±Ý™‹“Fÿ«÷1~A»y%ãõUO_¤ÿuç'Øt¡wKÙtOüYÏËݱ¾¸l5iW£ÇÄ!ÍOôKÞ«ÑKâ)+Êî_²Ú‡úœ)Uð¤y´§äToþŸG—kõÖ€Îó™?R4C»÷dÁ‚8h)µ‚ÕPv^×#Ô°±ÇµO]Büs!‚¥Ÿ¡=œ™º>\ß™’€!P|ƒ¿Ø¦ß)ZBÀGYÉ&³P_ËÀØd=ÐÔ‡ßþá}~Z¼ÄÁäXz†ÜnÛ—©ä 'eôc ¾uÍTܾ¬±¨¡%p/׸?SŸo¢É䣘D—}Ÿ«Ý[—ÛÇ4ý¬6Ÿ¾¿o$›Å!I¨Ç‰ŸÐ©7>ÃÑ寔f€Ô«:»J®ü–‰=n¶4™n‚E¸ÕŸ(âÎMÖ„¨·>Pí”ÁFUHöMµ »Ó­j9|@ÔÁEƒnH;ªdrï —ÿVÒ2a¥öW%¶¸›G<¦ A‘ØíŽ,7} ‰Ì çòYL”ß›–Eñk–Uô 4ǘ)GZˆíÄO¸¤ß¹½Tö‘œjÌ!²9<ßï¦ÈðþŠÁ*KËÓb®³ÃÜ'IÎô[!CmÇ;X{[èh¥ $±¼ì' t䦹sÓýÃÍ3mæ§ÜIwÁ®Jøc>U]œYñʼn­GÙì <á7Zqάë a‰ÛÍ™&»t`zcüÕKši‰Î-²üÑc'±jÜÃ×¶¼‘$œ<5|ô;l¿ýòíÔ9' ¬7ðýÐj7DšÕ(ï vâ;> 2º˜¶EƒÅP6aªö'\¸côØäX¯SøŒvƒ T‡FÌ#K ª_ rGfÏ–§€»^Ž8PÂ.[¼ÛZŸÖqÔŠ?½-H 8ÓŽÿ½Èêe7ßéûýI¬ —[ßQ(dþa·W‹yC'ùÉá>)$+ï‘jLþd'4«Y}Btï¸.þ´ˆñ_Ó¯¤e}Sß"Æ|Û?ªbcšÁ”Ö·¸T&H0­aÕêE¤-㩲uûÝ y¯r©áX,LZä+þsd G¶†‚ #ê¨r 1 q¡3‰QÅ eâ”èÉ(ý—^éµ],Ö%¦Ä†9KžòSîM!ú?ÿ\رaÂlñvÑòUÞÙ¼ æ9؇PŽ‚X¹°hoÖä"¦§.¶¶Þ¦Éбï“'(ïªb J¦óí›xfÊÙIÙæjH¾„Š]· MbÙÚ1Ec§s]ú0tÊòªÂö]Gkƒ´ºÕ_ÄÀ‘‡­ræcðì¶0„ ¸çO‘…äÀ2‰æ¥D†y_:åU…õ\ý.{Ø…j}0@#¹ú˜wo¥6ßꨉýlFñ{…¡í<6ËÞ]þÈb®œŸRŽL¡Ž” qÅÊvø+#)ÂÏuÁtÑžA¤H}pìòu*м ®ù›Bx3÷l=ØçÊeF±N‘Ç®?ކ(ÂÅ@øùtné"Œc)·¾=¿kutÅjªç,Ìçÿo(Ó¢MÓF“^F0…=PàÕÛ% Ÿ&$Ҍ2?+}­õÆÎ77WZ†±“ÙOÆç˜bÁÛònÍ)§8Ùà6GdaØiÍ,=ÿß]Û2"DÈ.ýø÷c÷;g|°ªT`ÚØx¿Û¤Ÿð¶Ó«D¹Ï/U‹‘¸%ù킳)JGveæûõk¢À°“ûÖÚiÅ7þÐ8Gh®vZ—ázõÚ¸ïÝ4ÁáNÁ-)3ŤWWÎÚ*ÃÐHÿË$x/_ܵ­àSà(sànìPZOÉ&V-ÍŠ•(µÖ@ó(úf¬” Î: ‚‡W§ Zg0“a>ôJƒåE1×¥ã*QœšÚ/„&{–Ò– B^R„ƲÓÞ&„j9„Cí8Ç$ŸÔKA¨}॥&òÉ—r-좈¥”µ»Ø—"Öˆ™¬t¸²Âåáè7eJ5­ÄWúêø/þºøÿÚËg¾Ÿqí׺ø #a‘ò°­×ßåî.o0†¡Šôšµ‡üĨÏဠÈÎZ&Ïz˜|% ΰ¶= zô;„]Y®œƒÎÿ NzÁ^k~íž÷4”ÿù¥GºÄ 9Ð¡ÓøV@m§XIŸ;5Ÿ`¤¨=Šü¿>É2ʉ)îNˆ‹%q–Db¶SGkçòç¹t ¶ê´›v©}ÞL-  ™^¢]yO‰òkD1Îô‡Úñw–ò1J…¶U­tYcbØŠ³p¡é§>cPÕSLY±cÅ b\|Ÿ4ÀÖü(F I “&óšSè¸;°Û´ U/"àÒñn@›Š˜ivfƒÀUdQmVu>)/l,Æ„®ÙéÜfS9(a?î§Õ­r ¥¸ÒNhП枲‰®Qå{Ÿ ,ŠC ‹áÁôMt:VâÍûhÌaøÿꆲJâÌŸ:©XÄÙˆб;²îk4)°ß¥Þ,Ø¡kÎ8êÒîvO=HmKjÛI¶ö¦^Èp¾ÐÌ…E«ñ)úÀû³Á(yª¼öÚ»-n„é@D !’B±)¿Š×:NÛ]È7Û*§ëyÌ4û»)þÁü%V’nn“FLm®ôs’…=y¨†$ÐϱkúobAÔdL–xvöZ¯\%‚€Ë£îƒ¸¼^%üÛ% @Ÿ"›Ájè5?ìhU«¥F²®°sB¨Ì[Ѱá£Pæ¹mµ¯Ÿ“@^øœÃg ¥3¿C õEy`¯P»ÕȓȻè8þõ,~µ"Cð„ôæ—k3ùK@GDÁ«$&ÿ=þ¶l´Q㚯Ç$2ñ¯h`Z¢ôu¹ .ìÐ{óP¡;7ó\Ñ Ž{­uQ1 d}ïÙëW¾LzéóA‘¸ÆB[5j*d#µÃ‚Çæ˜WÙ¦(XJþð{1˜ÕD‘d ÕªË5þÅãU<@Y'Ã0Åk)ƒ£¸0%Ÿ]° 2½àõȯåŸgº¾Þ›¶Œ~ŠßÒÇMðI¤Uœ}ÂfQ#€×I+àq#)Î-g\ɇ n•nÞZ~?ŠÑzs`2°jKú?4£#úí² ª—ÚµŸõU6ÙrZ†¼ñ ˆSÒ>霖¦¯iöï^·‰ Âsë7¯ " ߨ­&4Ò¯¶+ Ö„?BôÃÿ0üÑwL,àÞ×ʆü…ÿ¢QD= 6Ã,Ud–.ªÜþ¹ò‰ëç§ÞéÌío;‰$T zýkÑæè^šÛúÀúb¯ê-ë ¾ ÁèÒxÂ|N2Éñš+9ÛoY6Z ”N ú-/A'?s>ˆ ¹l§vî®&5T\à4†ñD1å5eò®%õƒÀ§ q×ÚuXmA]ÕÎÓ655©$®ÐZëZ)³Ú „îz –Œ8 Á êdç4n’ôàïfsÄä 7‰“ÅóáEÂë Ò,o¡âüÞ‘»–.uxœ„7wAŠcÞ&ùçµ;w‹Ÿ™ˆð­øblÖôw½[>‹VUļ•È- ÒüŒÂ7@‘æud,µï[5ËöËÆ*½Ó¼Ÿüîì:Æ˼J½ïtRã ¤>J”!BŽíµAm®N(stÞ—RÝ,Qþ2ë°•Ez¬ t+Y_Á>ÁÂÀ‡CO¬Ïœ)“ÚŸ\&5¬Q6ß§”ц[$Er$6îÛ%~‡¤Ý %«àï ß2¶ögÀ‹Ö(êÿ‰4ô2úoËf‚¾gö‘±NÊ‹PÁiàoÇP<@``߇£—Í©vžÈåJÁ® Û) ‰Öÿ3qQyYb¤]C¸Jý`™r6в¢C}jï+òº6Ž»¬ùÄ‹Þ<úTѰ´—nÀŸX˜Um~°kÒÙöÁ}I†f5N%sŠAïñÉJà9á‰U¤[úœiY«j vû-Ì;s§bÛãƒ9d4aA½Éþ[ %ºms¹…ÉÍWÉ Þ×exÉwÔQër Ýâ îLy¯™Õ0“ùÒ|cñŸu“xv\²ÕŸÚëh[[àÖ0e+Üpò u"ÐÜBv‹KC¿’±CzJ5*lÓÌ3:ìÉëK‰’†$ ƒŒ©ñ-¡?kxéÀ{ASîÕŠký-l¯ ^^ÉT¨õÏùr¶}‡ÉS…Ð0L\_¸6é/d âÚ‹`‘´M¶S&ñ^½«L×O<¥w&Ž¥uÃÛ–b3®ÏZ´¬Ÿoø¿ÿéV þáMúÃbIÏj\í¹· *ð}2´xœ¹6JZÜ( Êú ‰±"-´?—N¾¶Æ|{1¼.Ò%oXá¹U¸ÞÊm©òf[f`óÃ5|@?Ç<,8åù§üröfÚ±›œ=ÜÒmì!žÕ«ÝŲυž0+1MhzFPàS¥kAåd1¾ Öƒª4ÏÝžÛùd˜Å;ú铨,ûŠ~5z p‘…£˜góÎŒV~&¨oíû ­fî z9R¼àFÙg[ŽÔ¢&9‹ß$!Ú†Z!ö}0'©æÐèƒÈuÿ17vˆfs¿vDsH_jžØ§ã¼ÅÚ$-¼qG}³Y{#o–í¤a|e¢žÄ”Äôò’ý6´V­©rsö|ŸõN2¥¤ 5jZ}áÄøÑK0·¬ø묟þ™Cí_ã £(ä sFbÄODVÜ8{XøBxXÃüV[äH†·Èÿ>‘¨KÚ$Á¨ ÚÐc<ÞB¬BÃ1@ó´Óü¼.írG I€©am¬–A¹fkÈϯgMøFªLö2Š@e‘<±¹Œ±¶‰Óòl@é@VÐÛã(ž{ìø$’ñn3ðj¹1N/ݱ Yípœ+ûPUúûEPEÿ\‡d‰:pó¹6M¶àUPñ®®\4¯µ^uzäŒ9í]‹gøõ6œ£N÷hÄ=f•Á«~c9cá†~šýE)yîÐËC–§]Z!h`ÚY¸Õb@˜Ñ‹Wœä@®¶rbNÜD rç›-Ô2ßÅüå Á+‹ys=RÑ9«xÒ:ÆoÛ¨ÏvT`”@ÖP1šiRìõÿø~¾Åö«æ d ,ß$@ª’ª¤Õœ½»1ü3(Àº@%ˤ“¼þ¥$a²Š–·?©…ÎÿÁŠ%ñÚ*Ž)#ݹ6!ÑÄi,ûËÁqËN ðª:Cݦ b ÀE*ÿHÙùH9M´'aùÀÅ$Kšk"wJ1å‘-Œû_’Þ3ú>M¬Vj¬tjP8ÎÊþΈ ¯*Ÿª.@6É]I„Ëó$øµ³õÄ6¡CÒ‰R‚à+ºÖ©ÝrƒAÑ€À?m²ŸUÓè&8´Ì$E“_.êÑ)5&9ësfn£Ó©½Š®(³yÿ\Er “>Â5_ñRÉÐni*C¦Üè ÙÞî'Ëš9b‹œ)¨ Ì=gá¡IþQ—R)§¾Ÿþ¦ê}”@GV}bp•—CqÌõöuP 콨–’†Å“ ýÒŸlÅÈÍ´*L1h.fñDoÇ‹j" ÒÚÑsñ7›eŒ nu›!›òÍNîKWþ˜Y î~öýZ«ÕÎ#ÔqèT7Ûƒ[š¾ãÜÐíTª3ˆf­öX$»[„H,AóSqq\6ûD¸jàmh€ÓƒŒ«lþ0ß ÿj¦ŸÿC†Z¶iü3¸÷„=h…hr仄2Æ‘Œ-HRp:³Üèá\ ªj`â·Ž\QPÅå¾®5‘ŒB†â°“Ÿ¬s^rbI +Ûm§iUÈÇÖ[ëo6Ö ö‚XrÔˆô„¾k!j=og_IögóK6…µçr ÕÓ`bµcñ™Äµ·†tå’ÎÎmë3"ºU1\×@M´ åf˜_ÂÐFd¬Q<¦ÚCÊ ÏQ-µK8®'WuÃ&÷üM5çb_¢Õ2Ü¿ŠÜ B€Ð¹Þw6HEZ”y:ª©Íô:±³¢ÒN³3 °Q2Ö¥Nä\É%å$aÚj0KGXÅ8ˆBþ69ä(¼Å×Ù­X¨îc°¿#%çkg«[©c/r_ÆH<\Pýìi<ÇøAÅö©~{šDaÆË«±±ýUGWÓ¾nÃGýiHâýÅxO„HË!ÞÍ*9×€Á/mRðÇUi´¿6G12ªÎÓÊ­’™fK<×°¾…—u­¯5&Ž÷ôãå5§£µ\„vë’º1»ì>à’Ãi§ e®a0º€Œ¸rHÄÍ,ß¡¢{~%^w‚RRÛß×üxì2¥„UÈg”{·É¢*«‰}ÿ1§ŒÓOù* 'û怉.,C.¶rV³nGÈŸ†ôâíLwsú)gµ2㤠®ÍŠ U½ÒNvs¼,ncã”øfh´ó,|ß /5Qêî9 /K`;SZâ`k *2ÿÿÚ*:j©¾ $+û‘BĨ”:;L¤zÓÆ[å\ðB+Ä­ÝÓa’*ྣ°Ù¶2ÃbEµÕŠ#¦÷„>[Õ«æ›õ¥ ~ä¾Zôô+“eù!€—«bCi§ž¾½}ûnL•½sì„T^A6¶'}lÑ¥;Mñg?Mˆ¹éì DÁ,lUJ½Ÿ[TM`F/ÇYC#þ+‚l5N@3n¡íÈ8²±åÚÜsúaå|îOiïï~0D›wºHj6568äŽCTñ\¨}êY~Ïmbæ;âÔ±~tpüMFÔQc!™ÝëõÓ!HÊØw¨LÅ-Ý5BmnÉpÇ” öEÕ1MtY)ÂŽzá᪷[ÓˆH7µ Ó Èh/?ÉF[Ÿ°NbUSž`[VòÕ1šo“>®Y }ŽüKíœô§ÅÂÖ .sSŠq¦B^™½öª‘ڛܢ¥À>R,YúˆúèoOž¤u®¥… ’˜ŸfÅ T£m×ÿßU¢ênfw³dLP;¯åꋾwfÔ#ôÏDbNqÊÎ6G2ƒ²ô¤tVP«X%Ž¿glA7OB8&§×)Z±&—3m9=ô£Ÿ vhGký¡CcÐ0X¡¡d×H¨ØŸ°Ó4¬€¥®YÀ”¹2^Ðíáæ Þ¹â3UZCÕÁ—Àõ¾Ó?Ò\‘3€.TYp?½rtP¾M;Ú»¦‰ú}VuúDdåÏÆ7¨Œî×èX’Æ4SûØ›*Oy`Ù§£öÞ÷Ë™!uµçT,Dºø D•²fUÏF9UšEŒŽî€+\wf,§ý&TÖ÷‰3p)›ð +Ùä— å«n¡¹\†ßVŒäÐÍ«uˆœ„¢Æ^8ÄÀ&XŽ^"å/ö¹ÏçºèSŠõrždc\6n/Òj¿I‹³ˆÉ¥Îª`àPš<šŠ‘\p¾úÖDáN!UÅÒzØPiQÔ_;“Ô¨(“8ùë[•‘£û|p\HxÚBC?`œ¶u¾;8þÛ\ÉÈ!iž~’ܶMOOVa[ç/è2+œ™ã{執;8éO ëÜ"N£ÖU›8x}ó ÅÌ—ÕùnÃ[Óou°·d5¤õÆu,ùl¹ÿpD},jsÿšþ_N¢™a†Å4„Z0 Têøø†]N{×Ï~ŸUî¢@ÐÜDêNɃ>'òÙÂÓ°kðKïé÷°gÇ™t_Ì@…q¾Vpk¾Ž÷]ôC†N&JK:3‚IÙì¾:ÛSƒ“‹TRk:œ:Ÿ 6 É/²•˜É Ž”äQªÑÿ\üU'ÔI(!Ò”Åú°*óZ8ˆ :aCr2y åøË­=ÞÀh–ä%“ë7Š ! º±|C£ñ(†mpÂG.|WÒ±üГÆIwºûûê•?º“SƒNï0\m!Z~ëªûŒ ŸäÊøðçW´×øQ´™sÅnæyb#ro·¥ mu{M®> AÄP}ö0YZÕæ¨l\§”b´bÌ[—µf¡5µ˜'ƒŸ/c†ä= †èU\ÅUÜìz/¤÷ù–Ò ñ=NT¡ìH^c¯Ä6ÊYT<·AŒ£¢$ÀV=”‘Á_¬Žç~:æÄ«€¯ôÝÜçh”'0(c×"®ÏÄ·hIßCE¸k\@ÁѺ€ƒYA äC´»±×+ݽ_TÅm¢ •º|T›Cß•[Å»§¾êÌ…—d„Ô5"œ•?C£Pº.±!ÀO¨‘NйçÔzNµ@BLËw~‹­'WÏ+€ã’5¬uq×Õª½U¤_[Ô¦y.c-k»è mÏu­1ù¾?ÏÙÖ7OƒÈQ ʺé#쌿ñ˜Ümªêtœ+tþ˜kˆ7¸%é]øÀ’Q­’¶è¶1ã%”phÔÐÔ?˜yž â&Œ:ÂøuÂX«-eè2ÙÓÉ)ù‹éî“ËòÚ¼ ‘f9V&Ôô‹âõ»Â\BµŸ —è·ìfsðtµ:É^d]¨Ô¡±ê¨öè;fb /¹ i©ïâ¼Ã{»â I‰:êTó-5—¢¦ñð9´:žâå¦FæcA5vœ)¢žS}[Gâ)Ðòõñ$?˜ì/³b ù ^æt‰Ë&êdB@÷‰XºÔÛäbÙà‰éâq›#e4൬Gñ0%ûQ0OæÔás׺QdÅt†R~@³Ä#л^GCg „‰è€y§26AçO’kÚçcj.üîÒܽî¢ïµÚ²•ß·—Ð:Ü‹FGÒD¹ªó&fÔ1ºÑŸæ ák˜2Ô!³„ïÆºþÖ¶VˆÑ—/¾#B3÷4’ r¨ò]+=×´Ë~@š‹ï´¹i²¦Ú£Â<ËÅ]—OQÖúF‰_‰hÈ?»‚†ÿââÈ0­ô¹Î`Ïel˜9Àªmû7’ yjU•i5A_ã/¶·NÔsö_Šœ Y—z¡¤ýßKñˆ”<Þ[oüv#-§–¢Í‘¯ßð•¦ßœæÑ.&ü ÍE QI(dA´èâÌÐwä];ƒ_2ë`'Mž×ÑârJhùM`Œô©¬ÏSpä¿J1³Øk<ÖçA:õc±¡,{!ûß²ìSgކ¹ÅK"5lQ)z‚ræêÕ᫟†Sn²»Îí i‰Ö”jI¬’0wü &žö³íñÛˆÁpÍtsÊ9.çÞŠXÓ”»ÖF*Ð ·åGÑ'úçåùœ‹Mº:Ö'âŸîÞƒÔ–^pSø›î ÈÎ쉀¥ða£6`5#{Ø3jV7éˆa9:¡ö±®?ß®¬~†E’|@ù…) ã®,ËdkwÍ„©M‚ú¬¦1’6s'ñìˆÆðÙ@p‚²ËY å /PðÉžçÏàŒ6¾Ucßa¤ý\ém\ßdBïùf“ôsþÇûGÈ››w‹— æ8M2Î mWìÐa{Õˆ ?Æx†18»A~j_,qSÕ\/ûú éÜ<(åc=ÎÖŽDXÅ+åöÇJOÕû÷O6‚Ø}/ö~h§[ÊUWYôîF†ál#ź•ÍŠÝ^…Оâ %Âå!HzD:VÆ\½ª]ŠT᪨|%Ê@þ„¤âÃ24 ¦·V A¸Ó·z·.ÅKú‚9¼0•±}ÄÝñ¯<‹¤‹?ˆSâ>5³!Í©J…@Ý^ŸòP%¢/Ÿád½ÿ]È ŸaGA¼zÞBú™÷)ô;½i§–.yë6CÛÖ9]oÐ&=ŽEI 6ù ²gqÏA²AÊ$uŠšg>æý6‘¥Û+ vŸ²oQ%i!¦1ŸìOȼ±G[ÙP6…:Úõ%§ŠXŠ»‘gC¦.æ¹6‚äU-‚¤KxÒÁ‚ ͯ´ä%ïvr8x)ø›*ÌÑÇoô$J˜CF¹ÏŒˆ§"h×ÓÊ>ü!«'Hr©A«9ðQÉî´ Hw8›¼›hüÁÖýåÜf —·›*ØŠi•lÍ2Ä®R„*]Ïš_ÈÐm É·áÄÓgëÉqV:óf:Ãî.º4a7¤Ë À ‹»àŠš´øjJ%0¤x²ç‹Ù@šÀØ »)•¯_6z÷År„¾­çI(þ]ÕCò9”bcYÚäÔ2 ‹ƒÝf"Þgý4Ä3àõC轋Ýú{6¾ª^òX"E2 9Nü1F®¡uúªÝ„j¹v‘L57ZìÓ¼éÕý‰2¼œ©ý*%ÿ¶E]öÛ€Úõ-p$ü‹÷‡ÐÁ ˜·²vSïGNº bŒÖóö׉K0+—£¿2 Ì©åôÚís^! !|I¢C4.³V=ô§ýéÕ<&€s„&½:r˜…œÏSͳ†ÒYJ&É™…ì®ÉJ­t³Š¹/ µqýx:´¾¸XÏs4Û*ì7¾®ek\Kï+ÕžÔ½¥zì>=OÕÙã¤d9[„¨9ßCGÇ\DÙ<Ô(«o‰Q»ÙÍ›?èª<¯…®ÕžÕU{‰C²÷%àJ[”ì‹j7€=, MBTËÆó£#2‰GkiÊ?k¥C:e°8¼ò ©#U !Ù ¨¹Å{rÀ©"áoúDä9ï;Óôº†°jVR ¶Š@u“Š@½uôÜ9*ñã– äÙs‰IH çR— ‰™ ÓY,—f*ކM`›ûn'Kˈ%™Ù-`Vg<¬ùTï¡x‘|«»…/#qÖÜš|õ¿}e“ DáÔˆûñúVù ñÛùøšIç•®¾º\Þì3ìa¹Š1'HïԳ‚¯¦RÁ–÷u~3‘Þ C6LHÔ4tÖéÇ(ÑŸôí’jùçþÛGöš4Îfw_FƒpâtÎ=+D1²røÚüY<Ü"1 ÌDøÝ²x@P¡åÃJ”$¬Vq :K¡›±Bè]f‘ÙIQ+þ¡›„dÒSÖÎë–[ÕÖ~ZQRK«Î8F°Œ« ÅŽ †çæMV÷“ .ñd Ë‚Å3¢ 3)Ýs›Ÿ*rø+¾þdBßó^Óbçüc¬À´º87•±0)õF&iÔw(þôùÕô`´ P»DS2îzo)y(«þòÌœ¥‡MsíËéŸòÌÇ,”—ž7»8R77g@ÓS «v¶Ã£A=SÙWfõÎD33ݳ±üÀÚ~b7×%$!Y¼Òilzv—ž¯f[Ë G–¡X ³¾OÚ.-NE9†È’¨Åp•Lú|‡õˆ'½_,é›1'*¥ô§}Š}áaQÝ)µmµ äƒpŒ„*Ò`Lî÷W‹I6NØ1"Zó;±N)òÆý¦1®û æŽEø ðœµ*Ÿì=4¯uƒß9YœÝ†&ŒÀ‹Øè†ºoƒ ˆ–Tj`W÷ÏÏ~ɧM>—«™ãEm„wÇ¡öåú„«u0Cn²kŽ_Và/eé¯Cá(M© ƒîT‹äŽoVÝùÓJ¤ê4¦yicŒU¢ÃÔ¬xiïÞy¡©Ÿ¼»ÏÜ4‰¦-Æ4ªEÛ°Ùý ÷¼ÚÅ‹äN•º-µ~+‰Œ‡†Œ˜åsPŽ“­ )6Ñ!Ô ÿ­Ù¨È§¥™"˜å®d)ÍpðGw7l4n¾å¤…ë£fŠ_Êðv‘=ScgÇÈ–á]sà€¨z nœLÞ¬{¡2Í8^ïú¦^±ßí\ÈSŠñÙS†^ëØc*çFf&³ËÁmÌœ]ä4–ËÚ\ÑQÿ•F÷!|®­o£kB°=a03£:8DjfÍe!K¡1‘u;Zýöái‡¦ØiÓþ Kß²²"9}œ£åîé1t.fô²ôéÀNØBé¤]X°™¡`‰r43U!²þ¦Ú±ê7Ñï‹KnÙž#Ô#·W¼ £§²cU‚ë /ÀÒïp€rkö¸à­Ësa~á› 89éc¹$3ÕgüPÀ¡G2')$®>ö ¤ÙÕòI.Bö£ù±ò[í´(Ê##hÑ”îÂQ ¾Wµ,yˆZ„ˆþW‹î¦_Ä>ˆ‡Ðnz'íéýç±+Hˆ1O[BcË’3Ç/™ÿà ˆxfÐhA‚ïnLý˜˜‹–‡P4TPÊŽ/m½#¦ ÇVýˆ(ïRWÕõ!G6 NPzg‰L#A5ûÄCsá,¯,ýùÙWy¹”®Cˆnƒû‰]%Þo¢ °lÊ&·=žRi¤= æ€¾®krçjOe©RX±%_åÓ^ÇžÅo xI ·Á0;ö{ÃÖS²­‹¶|/þ{##ÎИNlPÀ™2©­‚|SÜ%„¨Q¦mÏwÀrý¤W´ò{¼'+r™š%ÓŽß8õ¥FïèÇ|½AµÆ pµn‰j™Õ?“t>ïp«Î!Ýä“*NÌF­q'Õùߤú&DÌM°{_‡Ÿ+xzbtƒW˜û-•ãDÌwÿÏïË[_ºˆ¿èFû.Ïb[J¾KFZ8tÒ—Ðß¶§Šœ…¹x'ÌUÀLʈ·zo(§*vÚÖ„ãh ¬ž@8$ 9‘6ýc¶ G ×x· ÷L³Kú"¾:{Óù»tãSdüKÃÀàÉõm^HöŠ6Lb*¨oL¡ÜÜ…ø«h§ü0HØùו½ |±Û‘b§úçã!/j׋7€š¥=!á^™`’³Ž««„¡ª›ÒZ‡ñœq² ‚dèpUv”»éS­÷ͪõÒ/ÌÙ´Ÿøí§óÂéȃp'˹EÒV¦K’«u8Jüõ7¿Ö¬¨—'L£.ÒO–ôRΜ•oT=¬¢©RŒ)9€ô弯;ľ¸¬þ3IQMç:û‚\åRÕt¯e‚ð—$L §¯˜mÈ1*o÷­pò‹‰Áy[™½¾ÊF¸–JñŠê5¦'Üâp°ÊaÞSI÷F¿¸ênV ÀåLæ8ù„ñ¤Ä‘ÝSº>_½‡‰é!:Ëll¹pöoŠù¯hµ5*BázØÓ>3Q÷d^r^ú&Eùè©¢kÖ4E £÷Q«ëSÉú¹’:p‡¯y~ ¡g]^çÛM(Mþ§óü+²Kb3›À‰×]„ˆâ|Ûa•‰¬QP’‘ŠšÇr$”bе@I¡<¶?ºërHÁ5;æl@ñàP„uƒ¸AÆýìr«õ\6;TcÂ~Nø<ïƒ\B++lÅ´ýæýÙ•šë/ "¼éº/Faa|¤‘g“™ÐŸmˆFÐb¢Ùu¢5pdvÉ­&*æ»Öüm\Í ®Ÿi±ö+ÛÔ0úZO›u[ <êîN‰ÊþâÖ8x¸î0¦>Ár…jU2貓±íh‡e€®—xâ½ è©ÿµSòÈ9 †|§9.åå(RØ7eÂ\e·Ìýª‡œ¢ ,Mc9$± K&œni¾‚÷À¡âêпA"^«%_Íßy@Ûö)@Z üLnHå^é¸>›ÄPôˤÉ«í¸Û8>#‰Ú©ƒ ©¿%ž³þIÇ1yb§Í`aB@kQ`¤±c½Ü²ÅÈóeöÞ«UZ BEåUE)+¢è?Œ%êSúW—<®ýÚÝFÿAƒÑb HÞœñnßuµ&`R5|ïð `D뇕©–t[`]-§õUVË~7.Îí»È¨6èêjô“-=[Ä9$%SIÚQpq+ב/;Æ ÿàHÔQê¨GxøOßÊ[Õî®nИÇ"ŠÆ™„†›ü÷¾}È«¢÷uoØ&ÈÁnj©ƒ!¨¦ÛâøŽ“Яk¿Š›'^L¯”1_¶QDm“HŸÕ°Î=ÏR¡ âè•Ô`zU+:Ç·œÞtYžÃ{ö¸tvu0Ö'bu1à‘i|:QM9,-ǓʃÔñx•^ AË“xf\Økos^bîá‹*ˤášžhí…*6O3?&Éw†~9+Š5o4fo'œ¼yàÉ4gÚ:{ììB–ÞX8üÚ(ƒyvXdÄâAtÇ9nóBŸ=>ÅÈŠ cBÎ]ê Zh¦Áj7Ÿjø°ðò—Š_ÎÉüœ¦‹X멖Й½â =¯AOÜу›O{ÛÝžJל»S8<èöy"aÓÁëËG¬M¢=ÿ­yðAáÌ|/Ûg……ïØÏ¯aXP“‚6í˜bÝ-ÌIÈúê^‡úâãºéÐ; õüS÷K÷²^L„!á Aá–Îÿü´È’ý%ý:q¡3»¤ ÚÔ¾ÊÓV0ëIÝŠ L–ƒ’G¢~ÔФº;A"/Ñ¿õ]a6žR…50³læÖ7âF·Þä”áMø…´o"X Ï{ªãK7mò0ÓQÕÃÓi”Ò¥¥CéÄKF¢nŵk¼6£ç>£5@@ ‘0bpÿqÖ6›v?1ùSfö3a)ª‡cçÜž-¡gÍp{U“þÆŸЩõ#7/öM›Êl#'ª¨#¬Š³1ƒã¬ñ+ˆgÜþz¡‡tÚäܵk³%ÝÀ¨hQ¥Å(ã¦ÏØV*{D?ÂÊU ² _bV¯sß}öÚS©ß›ècöÉ .']Á÷l_f¿m²kÜQ°ð=’òš°´ÑªÀ¦_\wñ}ÓJ²k}YJÉz("=[g miª1C4JT)ÿp0’‚íº¹41=cú•‘ƒƒOã2)í=™œ&Ò§ñúó ?}01eÑÐwÞM‡É÷œN»"ØWÆc3fñ@ŽKöfoÂ5B|×>â¸Y—Ä™õH-¬—jŽÂ˜]Œ¾t–7—kωˆÆã%†[€3[6¥6¾ªSÍuîÒ./-§j&jÚ/R×Ifò'sõ‹bºE6‚F#±š6æœØ"§»î4ü“4ûˆŽ×tGa «+á.x%EÛ{@:­Ø¢ùUiQZÉÊ$:L^=9µ4ÿiÊÌM%j.ülóljÜÌwâ×D |e~ 'hÞt®Ù\ú…Šû‘–ªàWâ~W\Üm€ñ¾Ö¶£ŠjŠý-·KBÁØ~üUV«º ê×nèHW$÷ÈÕ#1?àô}þSïb +.§|ɬýèи°¬ß¿?¤(΂þ0E¿=iX‘´Ô·ÂØÚÍÙïŒUî;F}¨#µúšEH»a°(/;Ì-0e°¿éR÷“ zô¾h*ÍÇ¡TWŽ,:LÑ%ç%^Îp~¾zùÝþÎØBB€.áÞµñªŒE‘¤©yÙmJ©ñkÅã`µÓÞçèuØ*Æ>ÐÏ}͵º•¿éß'Ö‡p1±ææ\ŽýÙÑ‹û¥JÆø(†¼Ë'Î;%öc’˜?`Ñ!¯.Œ4‘=móÐÎýÞâ©ù´C,´ÏÄ e–%ÖÏL­~ÀÅŠ¶X,Úî7€gæ“l*à;£ØEh(9F©tØï«Scïhg4bâõ˜ºP£‡¦ö­Žm8ú… ,Š'Àç»à,Á-k£n:¿RÕÙ qd§U2ó59{÷(1ÑW;¿‹=ï#ejïÁð 9©”@à*åUè%»€•áEµ‘<.~ì'4ÇCHÓ%x¯äµi>¡ÛpäI…>ÐÃQ$(/‰f™õ•PÕØ_™ò/Þ4qwýA­÷ÕM"¼žÀ¤Jc'ef–F1A¿©¹†H™Àü‚XÛîM ¼i‡áGtWMù”ÛN>"áLäuÙ‚ŠŽùPç âw¾à;pcÉýêˆ=`W`Yª'=ì½\ÇfNµˆNÉϼú$ÁÒ6ÔÈHüšÂ×KšóÅ×1çZÜàТµ~-yšsÂìlÔ·b+|Äÿ…_mŸD¥}~;´!!VÌHøÉs!K6Ú{#uIùp3×M‚FÿPÈŠ÷È øÂÀ%+‡¼|Yþ~wXz 5Dë:â§±Rc2û»¾°”×ù𜡠2ؼ•> Z ó»È=ÆoxMWˆöÄe¼۫scãwGÈÄ µ\¹_ÞÕ—kµ¡-R ÁSô`Ìý´ü˜ÇÀ_äÌ‹´  ”‚vc !ñMRXùÁ7¡6W¾¢nלDàÓÜ>ãB*Û *žTîÿôu'©’õÅÔ…þŠ]«“È#¯¾P >|Ô(§?ê‹Aއ•ã]|*9gcqòÉ®™ã¶»IöĹF,ó?©B vuS_xÏ»{bâNúó¥ÈøÑåþ|{íŸI”ºµ¹6ðdmS5d¼Žß#õx•g6XÈœÜ{Û ç¢ÏA.¯%iYÿðmÐÙ-¬6ìðÀ˜;ÖÀffs~7ôpRýl€~­T|óá~Ñéß‚¥RÎ$ôÓ†Û°Çš@õ9B5u”çSµ;If /Ûôu¶É“œƒœíä2¹áj¶Z‡Íý¿þ Hoî¾åz/“í±íš3ù ¡0Õ}3 ŽìfMw ×+Xý=0€ÒyÚìIY½Ëò6ìtš¯¨`zöà#j‰øLytS§\”}mqYy!zÃmfñ9êKyg+>žÙ‹‰š¯–@âot/,z’ŸH<@BÑÆÚ|ô…5ë õŠä›ˆTÜš;Àï?Ф- (Ó®ôŒG!ÝšïÄ›âh¦Ù‰‹š¿L쩜¹ÄÉOððŒKFkÏbxÚ˜jYârÏk€^ß:±qÏn·tî’õ¬Ç¨ûÏÞ–]ÐÅ4LÒðEÝ`¡È¢S³Ñ¿z#§Œ¢uÇ Úðsv†â“>ØNš›ôL8­"Ý4{oGqzxSȨo+иí»‹ZÀÔÙà½`™¹ÿ¶ñÀl‘R:à˜î˜Šd ÈŽvLJúKºº2I)¤^·ãF É´>ˆ?EŸŽ$Ü}ªüçÁûNÿº($\åÛ¨å8ŸÉºZ»œŒ¥QGv 6Ÿà8‡^±Ù/G£-..‚õ«¢¦o˜\‘MêGQ +Ÿ* â‡û5ÉIûªJ}´Y’²äÓ œ~/D~&·>YKn Œ–8ToÄvõ|¨¢êa¼8®Òî•kÙ¨»4iqp•/Îïˆüh%܃²0CˆïzvLµS+¡À“†L!ae,åv»ûGP'ãg"íÙ·á|U™ÊÖòU¶ø3éÌw¬,0¾oº,ƒ`‹x"õþÜ¥¦’a’BþR0ªëâLïTM ÆáßÞÿTÛ>rÂóüt.Ô¸·ª‡þ|rCsk¸Ï‰—»ÉÀCÊ?tr!„¨GúEr5¦ØéFa)CKë_5ˆúîwªCÒ+xfsq:9ŠkR~ëÍÒ¢bFé'•¾°º]X€'_¯¤DH=&NMòšÙ%5E«+A“FIÆ•ÿ ÷6ôío³…°awCL¹ºšŠZ5—y'¢>‘¯J ñ&¼†YuÄv†$¬°H5šÒ2wAÃãH+Šâ]KÐ*¿f³Í׿’í®×«ÎeºeTÍ-·ƒ—hx­Ã™¯^¾xÂB¦¬‹*´u·Á 'Öçv¬6¸-:)bj2¬ šiüš¥?Må xÂúÙ¼Ê¯Š '×#u¤½îG«¸ŸH”µ  Û3òp(ÔÇZ7DÁ¸EO±ƒÅD+ê¿0cå2“¿l7Ù„Ìñ9Á<ºoÀÍ@BÛ°ìÅ-:î[\_Xê}in´{·§iÖ”¾~Fn¨×ÝVñ篻¦\oÓ{o©?²Sì¡nÔ'L¼¨†\Gfœ™bÊ Šõ9¦NüÈÚ†Z2r®'ˆöò1½ÌïJ@Qš$‰}’¶Ã$ä hF=â9,»½ÿgjïŸj@„W~*1»ž!€g;·Kú¨ÌNâ½½E$zßpR üQ+¡m€²òð's:xÙêkx1¡à‹U›ç’òª›²ó¦„î`U~ÈÓ “Š‚ðrFDƒEäâ|‹¥ä]-¯µ§ª)ëO?â’W{[’w K«:,bƒÊk_ßæn!Õ,rm1ű‚Zi®tQäíðŽšYÛî'º‹¢ûNB·Çù™Y ‚†VJ:›åZïåæÂ´°Dõ˜Íæ ÑnøÞM2`®+&h 0ú€#øƒ6_v÷K~‡bAr„F•&WÝíRÁ~l´­ÒÖß6Â=ÍáÂÐ)°(Ãïé¥òéÂÖ­43”= ·gço<1¥«DÀºPˆA·Õwc†„•-|z(¸È~B ÆŽ pƒ!›N~´ùOdÝ{÷ÆàÂF#ä‹îà²Io©·¼Üèíåúš"°YfBköóa³>ÍÕ ÚêSyC`ÆÏeIê$1q5;롽«gêßވ͢РÏi²ÃYº%Ù«¢\é׈Ô6ÂãÉ©M7ð)&²+Þ> 2ÆOéžÖÔö ¶xŸd Ɇ«-òR{ùf7ÛFGk) ºñÄ—ŸÞ‡×?sþÿŠ&Gs•ìW<"Ê/~Ìj-13¨)÷:ËAÆý1T¥û)yrÍ€o‡h_6žLƒLáspq0¥zÎlS2’~7øBùµ[Þšäìhr*×\~ð¨fPŠú·D‹ÊÀwQ)brŸ2ûA_ 8 èd…KÐ)6º³Ï*õi›Úæµî`­hžûÍOvØJw7„Cx3í›Ğ˜³QÊñÒ¶WÀb¥ŽZL Gþ½g¿Þ.L»mÈm1ÖŽ¨Ò0†ŽI4Šˆ9v>ÄXê)ÆåÔç¿I$YÖŠlPß|BíGÈèË5ug¾Cw­àõG5c¼HÌaM¼ŽÁ1sÖ±u`Ì¢DþÄ*-b(›ÿJüª‘;½Ì­K'pGîam¤Üq/*D—f²Œ>F¼Mˆf÷>‚ðŽ™:lzqÌd?ã@LsÈûã¤cÁyîHi·Š^‰ÞR0¦e2EM% –.Å:›bcq87û_hÙ“éPæƒÿ|Q<`ø,5söå‘öN–1 \×·:óUú±ùg–˜Ìsk^sA¾mó>š_û§KÝ(ÑëÜMÒÅíxûÉ/“áèè+ ·`KMnw'Οá¾3ò¯FÛå À Íjÿ΄Œ‡ô½’Iµ™ñbs ÕLí€LGšÔÔ¾ûÕ4=•±ÈDœ€®‡¤0÷ ÚhpU ¨ÆÃ5KêsÇû\mý×*˜¥xª$ôDÒ•öxƒåi¼–æàqÜÛ@kƒÒÁÂyÁäÛâ¶xF )'>Ý×T¤qdsÅãš/4¥S!p]‰ŠI|“ž!$–°ä8åv¢ýiv K&y ²ù£…Šh¾è:˜gvv³¥F`¬#¤‰VŠÞ7í-s¨rZåòµ¨¦ \@ÍÕê¡âï‡Í ]±ã°º‡ -$æü?G"’É6ÝT ¸ (ùM*™…&OG3FIy>\X,Q(®s¹ðš¼ÖØâSMu鳯39êËýVíd妧ÀÞÇëë#‹‚m3ÎT²_‚ƒgÿ•qP²ÍZ*ÄW;×5÷öžuŠÝP1(-ð–ŽÎ¹ˆ´¶õè…¨æÈñz®š™Û›ÄXP%9‡ôKSṷ̃¸hÁ1Ë”&$™ŸEz®ƒ:ÙüˆZq·/­üU‘ ÈAL“üßÓX°àQ¾;l¤¾:ËÑËÚbÖAYÜ=rNø4Uÿ¾ü†èV|¥ÀztX±ªÛ“KÛÈpмF)èržK~_J’ºTÔ™’Æ u‡ÓÚ”ÊË-Ö÷ðÔ"äÜ"vZSBy³]5qóo2g‡)F(j뺶yþWUü'~l,º ’™ânö.á¼nÑUãO;x‰þß… l[iÖÝ•±ÿ÷ä+XÃö^GÈ6^3r.‚ßÔH4×KuÞ‹bsU½ŠÿúñÿæBÜÖGÄVn!ù5ˆ,–mÊl3î;UÉ/íp‡úæY#,f gˆ–—ŽØ¦~¢KŒzKX:vð'ö=X)-wòÿÅKŒa ªÈ»{~÷Õ 2`°Q¿¥„]t½àÇëF1^¨r™jƒ Dk$ã†L…ùÊ63.­óYØ»ûM“ M4ú¼HH5¤ãñ&TrÉ-v äÛGâ°Ó$ý @Þ0; }.cÏ㨠àvžÝ7e¯!¤Œ“Üžkr~Ä~ð›…AhRUU‘Qâ ïEþ;älÕs•4ŽrÑñÑÿµDÓ\Îõ¼¿ü ‹b¹RÏ…¨Ú}’ì¡7׸ia×c³4‰™¹oz:p¬†YÇ­ÉRy»ýUŸçèÆ\Iv9Hv×?WÄ㎒U­¾+%Aš ²*Ÿîéo¯kñÿÅa¸Ì?#1®©Z¥Xú'K÷Œ!‰oò¥W厛rìT¡Ù™}ЧÐ;Ÿòš—‹4g9þK*ªþ` U¦`|ÿSÀ3‰h­«)gòB$–‘y,ºMꮘ4o¡  êĽ0K_G91¡´!½2i„3ÛHã‹|Zý.—˜—¼® î5éØ×ÃGº°Hª£3ľÂ<ßçØçDÎðý4ä!ÖgAü*#\ü @¹5\ìþê½ '˜¼óy͒͡¸ÿÕ5Þ—.££ÊÁ§ëü£‘n›pÓ+Á†=ÖÏ´ž.Ò—˜ŸQÀFû ²ÌÐ~ö–ÞÇ GàÆMOþ(æ8 qùŒo;éýK5zK’ ®|!§™Øê¢¹f`N_žÆ¹l8ô7I¯\Æðï#›¹”±ï^ýVô¥jnIf$ò²c J«lî}Äfîr¦ÅiyŠÿ1%¯4–ßd‡JZjqâ2"ɆáÆ8Ž?¾¬ÑípîϺ0Œ°0ë®ÞCàW mà°•áo¦œ®8tÞH $Ÿ¥ÈóÓÓŸ•ÿ¤Â°$("âzû3ãUü·ªé‚RŸXèEÇÿç#qq—8êì°B¤½ˆ$·lö‚W!¼Ø´­2‡ª©üŠA¦ëÖŽØævî(?M¾Níé¶/fÅ=îðí7Fõ¨£Ú.±ùä]ü%'vÕŠõ&+¤)úÉñ¤Æ 97!å¿â„êŒç}Â-¨o)©sâ+æ{:톓<Ž]ûab²‹=nœ²‘ìÙ6-/3¥ÒÌ-ßhá?³ÜÄö†úAŸG¦ÍB&5)_oM ˜—7(ã¡ä‹yÞ—?Åú2.kfMã&–y‡¸¥[š7²Í2ù$ïBwk$º=¹N­6øiµZlÜ…Õ)[ZÉ];.¶¶”kŒ1(,ý7ƒ‹Þí/Íb5p€øFw‡‡ KK¸ÆHw4C¤â¼2_sêÑøÝ-öÚpŒ‰ÈÚ]…a›íjÀõjI—b‘IÚ^Ó£¦–wlgLŒd[æEŽR§<°Uû—Û²¹Ž'}¦NªT^Bhƒó‡CpNìÅÀÁ8Èi"äñôDØîB×äÚ£Ð)aüŸ²Jqû ͦeµòX\Ì~"üø¢¾bN±:/«Û³~/šA‡ÊÃÚÊÇr"_i„É(¢±•GæR•)U>ß„à*þtóyÓڀ㒄'DVÓ¼ <ÒGýþÑKŽAú‹cOyM8¬ÿ~ß0 ºl #¼ò”#-{Ùg]®lõƒÝŽÀü¡Z¿^÷¦5Àœ²œ¬wÂç+ªVP6¸d¿úðƒtM{ÊEÇihV9=JÅ7DGmå,ëÞi7?[ê’† ÿï#úѦÀ>iœO<rè,iµS+"A€ŸVààG”Fô{JZ‡n]ệ9Üõ„µÑþL´Bë•–è4“Úõ4îŽXÂuîJtZ#ÔCP³6š z÷¾H°æCíÂ\Ÿ"ë íQ£$)¸ŸÐŠ·Ê±ŸUΙ*«á²¼Ów–ºßÒ_Áï ¥2XMW„å­çC¨5÷#Ár¦PK\ÕeöMø«mÕЬ9AÜsÅŽ ^ª¼/\Ëéé©sä^¯1†}—ï|“É€׃¬nÿùÐW›|²ª¢lÄè¿ïŽÆØVk•¨†³Q mˆƒ ™é}^÷&éŽB@’ŒþEòr¿½²”’¨bžp÷i@ЉàÁ²‹]‰w0ƒ6¼Ð¶ìÛ„ˆÓeÁÀ;Þ{@ ¤íé…« ÓûY‡jùâsè(î›™(—t°2›d¢J„Ø':œå[KÏb?C)Áî@ã7¤Ýô(ûJ±îÓg×µzóÒ—ö<ûô‘ø³ÖÓŒŠ“]8ÊWÐY¦ìoLÖn‘£Ä·ñ½-ÓúVË^8ÎQÕ¾¼}n á¾â†K W޾·Yv8r} ‰á¹nª7¿ù—Ë=œ‹kT£ñn‘Œó>u± F^©#>6td•\jg7ÅêÄ× [Û>böÜ«Õ΄öŒ‹“§Þ¥ÿA+D«Å S¯C+>¡Ø<2‹F¿M_…f‹„ žŸQ†°üŽ–SŶEecÀ{mk12 ßÜ¡’!}"åüxñ•¸*ç7ï÷_Ÿ)yT±ûÏ Ò’À+‰Ž@dМ.SÍB4({9/,LÔz&™/ÑÊÀÙ÷Â’ò?Í·Slá6C &™B¸š ›ƒc®V ¾P|£4Í`÷Ÿ|ó Uö—¶4–¸õ%`f¹ø¦5FÊÁ„ƒjàr5S€ïóÉ #af•9|i… /›¼²àˤ‚L§£*öE%ß{ÿ%Ý×x7¬‡•!ç†Mªo¡ÂMs4‹‡…yi^…¯ëniþã*¸!N\ýMÛŠ¥|57pM)c·Ê9I*ˆo˜2øNm0nÀÝ.…Ÿ+¶Ì°É]jlÐ×›ÊK‰&.Ãç;ØþˆCSfw'^pÿô™ð‰gµ½À¯s@éÆ@ËÅ€‘û@-7e’ áR¯tXÊŽ{Ä—àâ°c=NçEºŒ–&3;nÃଡ§A«ÂyŒ¨lŸ™ûÏq5R®¹:ÕÇ¿2ìÒͪ=„AùÖÝêÀ&Ùð{_jèƒ<üËý1û¬±Rx`¬’ÿ? ß¾Q¸X m¸]ç?Fïˆq®H–VhÓ‹C«}–o$TÀòÝ{‚úß(—`ãÏ/âÂ} ÈŒÝ÷¾â͉“§sÖ¸ •}~ŠàjÅ´ÄVHòŸIà(FÚJ`$Gêù{<À/›z½âÒ¸Yx0Ä5…Ó2|ñKȦ¢Á,ñ´~Â3PÌŸ ®¨©º×Ê€=/^U‘­»‘·¨%a'Kû¾x’®Ïé€x?åÙu¤ÿ3êŸ ¨zU»Î/Ö‡íØn6 > ¬`ý`T븤ò.?˾bµwÂdöüŠŒp‰/~½B—@´ ¨¢Í§„d¡n·Eˆ±%úþßPê‹;þ;$o¡Ò“ò¼÷­ö[ÕD„Ô½Ç9S™µG·E¤¿‡ÊGWåíH¢‹Ñ\ÔøuÙ*«›Ía`$¹…åk5 OmX:»M?²„¤ÕÈ`š7x- ,­S§04Fɵ?DÑ/q þ/¯Þ¯Tüú¶Ïû̔˟iÇÜU±F¼ œ«lO‚j¼¿óYcp<£ ’Ö¯FE^Pô)ÚŒa¨ëlü¼ÖiÄy” Øaßj.nZÚ×3 ÍÊη}FŠ”çÎq‡^ËÉùþ|ÎW±e/Nœ'W¥tájoVXAL»ÿøtk ¥2éØÊJ8ÿ­€›w`KÚ<çl/¶®©€Çûm âZ¾È­Àd=`Ÿî8vèùêÁ´7‹Y“î{”@!uRâÏö*°2xë´úH£¬[ÿã¥WdXÇÜèK¯5)„ÓŸp¬Øgo#¤ü®åLsmIí ¢S®í•nðeÿ’rc»\oÊÑ‘)­‰&*ß'½ÓÅ £LIúÚ}Ó @»$Æýxw6?¢Yê:Á ~åJֹȋz´®õž8lѽ¦I¨¨³NF.'8"øj$~ „ý•nÁÿôSÔ\ ft=»È+Õz‘Mø†eø½  Ê¢IÞ[Âí»±=žÄT~0†çß9ž5B ­/ZÈÔJ»Èâ=#À1í^äŽc²·íÙnéJáØ’êÑâD¸Ô‚× ÙÒJ,M?ÆÊÊYþãÑ]o¯ é¾õÚZ}±T uçà²H׈UI„i«Cu¸ÖNÓÐÊ›2Ü~]J‡:ä0¹sSºIÜǽ låAfoŽR8§épœÇIÊ7++´µwÝÛX*Pù:æo»9áî„Á-Sr£Õæf2j6X ¬›ž„`7⯗‚ØÌ‚íNKô›Í/}1­°Å¶d<”i(‚ÛìçúÁKbÛ;ÝH—$”z)…xúèϰ‹íwÚ™hHxByeM”ú0¹kÔÎ/»C®ÊÝRƒ±±R†¶*xØk0­ø€üý=QUòµ~gã0^ñšÎBð‘oŒ7"ÞUA£‹ÖËÛßÑ¿Ø=0oãOif Ÿ"wÓ˜ïÇÎØÑ¯ý}.Pt&v2ÆÔhÝí …Ì“î±^yÝ©uÁOÖ2ÜZ¹ª…€Y,É›ï–)&}A€mØ€H½[òb Ÿó :]o×~¬z!ìþé‚´©Î@}» ¾Ç?D¦…ó¤äšQ¨ÓS†Rt¨d÷ò(EÍô2 ¹˜)·ÓÜÕ‰ø“{#:¹·àbèÉ Õh;«dQô ƒífFöóÅMïkÍ ë—À¶i@y·s„ ¶Šÿ}ÑPÎÈç¿Í~Ú=Ä=£v„èe×_¾3o\ùÖ°Ålîðð 4F¶ бœl?Bè0'?¨ ”sOö8À@ü²ï—æ)Ú}B˜P’ÉÕÌØ»ym­7â”î îRÑ›£Ú^Wwµõ¦¹%÷ƒÄ¯ÕŒS._³¯”Cx^DÛæË´ÒÓb·°þ´ÖÉ™è¥Ê) SERC´QŸú“7¥•¹£É€4VF™@~$|¾Ä.ÛÔô j~¶ ýŒv1M{…ӡ˼(3ó‰ì⣃üfC¸k×Id9Ë4%Tм,<ô5ýã«ã-˜¨ÉÏÖáþ*Jó«O¶çùX†’q#eôÆpör…hªÚÝýŽ]˜‘ÂГfÝÿƒ´ÚÇ~D§°”¹„üªڌ-)¹:øTÃIöø ‚ßarò8·õ pI'2DÊ~ÃT[øsíÓäBŒïý’PéœÀˆO¸ÛâJPP‹`$Iò ƒª±Ÿ(ŽŽÍ`ïJÄ»bz"YlONaD–¾ÐÐ øÌ!šk€UCþ Å,/cF0{¯j¥æfÊ]!V\ÇÊ>Ù½¡•áµt–ì}²5Jí¹$ƒb¡}!¥Ë ¨×`¿­>TBúT‚AË UV–\Ñõ½ÞIÕ=ýD¡@EHÇ"߯Ý7d|DзŸèÄÂ~°LSœXÝ<`£FÂc€UC€0‡0•…¡#.ë3aô%»,dë"W©y9a;{oj¥f…öVÊ-ÈAŽ­úÆJüÄðO—IýЧíÓy¡7^Ò¥üô&ò ´`Ç> ¨ãD_‘rÄ¥\Ìï#}ðËrÍRã1ø0œ¦•Mëö'Õs‘°Ûf—8L©¦VÁ>K§Ê4ëŸÒŽ’2ùo{yœ6‘BFaþø¯BK”ÜÍ:uW§àS`ܰ7{š Ý×è t>uyaoIÜôvDûž»µƒ^¸W<sƒ:Ì«‹F÷. 2àUûJ¬}ó¼sG·"l—ÿè8éßH@µRÏ1 i\ÌÄWg\ÌÍÖÉùdITJji‹úHaÖÍq(pE¸Åó ±!í.%!W2W¥jvß,Í÷_’E€Š8œ5:æ+, €ùªÈDÏ¡ˆ‰‡¬]üº²iÅ]ÞSèÔª)ûZDŸÞñfš?©Á–RÖ Ûãv„~'²£æ k dØe¼£§3$H¨˜ËͯèrbŒ9À'Ç ¯ Ï'’rkn=9S¥78ƒÀæ*õ2¯ãé¯UÛ£Ëòû°€>ÿÌ‹DP‚žÍ"‘³6EÎx~÷skÒAÊHY\ zØâ•ˆ[@Z¥.OšíG—_ ~¿ƒ¦SIý hM¹¤˜OÍm‹‡ñ9ulªz¤³O½,5³j“Øë•6wª|ðÞ±%ZeÞwƒÃ¬ƒ±ˆkåW´çÿ%–[ÚD˜¾@r[Ú-L@µ>F7ç%Ï^;­?â‹ÄωÀÓ¸9Š_l#V Û˜ãà—FAJýz7ÌÈ.hR´ñ~fNHú·hèJù6gî~CwÑ&-‚a“}=š‡V¢· D_ÓˆÃ÷Ø\Ø_È™¶ÂÏŠ|áµã˜u™¡5Ã×áÿ`›ÀQé´’lâ‚yÊJšÂiã(@QSùy,4ðh8;~º^J!Þ4¯ÏÜ50°ÔXŒ~¬›Ò¶Ü»9§¶]G\øè.Oh`Ï««h¬AüÒfù{l …ÛTWßУÞ3ÑÂAGÿÆ^^˜Ä”á‘×è Ûú—ýɆV3dò#oz Á‰ÑÉ…öfËöa0ðU ipes€HŽÝ&~žlUeuÜR_øéغ“Ï’Þû~w]¸ìbâ28;‚\õjй o᜔U=Õ˜>©øyø¥Þì/b+æÔÚùÍøC¦ýdzž®kÄ(ƒ£±áiˆóë­ÔcüZmüù˰´ˆuo*­,„b+ˆÔ–=®odôŸÅ´€ s:- óâ÷ñûÄYkÿ¾D@Ž:¹j —øax>_Ø‚ÍRØsb…{c ÏÊÞÇDè»™={zµ`FˆŸ£ŠÕØõÍzšßŒf’ã?ì§”³ÔôUyÖû‰©Ãb”WesSyÝØ…\BpÍïÔT¤Ò@¬þ.D…W[/Šy©R°ßŽè—'CßíQÈâã* ke›þXc¥obR—á9ûX¦Î1s3$1ÌÕªcÝGŒÁÇK…:[H~•IËœ/ü“YØÏ:æ¥×F‡¤ëÜ81ZâRñ·Î’yÐ×aC´Ó9Äz°yWÁ™3O›û°VÙßdÌdà{­p‘uK]óé:àSáÚU zœ£¬ zxlAêë]ÜåݵßõHDq­VOó}ã7ïidÖ†,Ø&rMÕ8Ÿš²˜˜kˆô!cg~jëùeDšÕ÷^¾#ZÇðÞÙî¼^"ågLÆñ2X¢J¢q‡ò yJÀºŠY·Ïã_À ]ð‘ì7ãXÖ¯CkxýÀÌa%¨°43eMÒÀÑIœéÎÚŸ¯²PUtå¸ïš‹ÞF_Õ£-߇ë„c¸À;Û!=9¹„l+çC«gf}5ùž‹û¹¿³ºçÔ™KCàÖÞÒ·„Ø1$dÁ‘|_jßgÕR”rèaymÇ>ö:P\Ä´Ê4{.Jk‰žHýÄws㘦_ÁUík¶mÕ ~ö"ê=¹tù±T^†|Ö<6ÚƒV 0˼_u3HxWÐ_¢(Ù/h‡%Ͳ %I¹3mlx®‘óξjŽêcÐ÷.T "‡Í&,÷UëBOÐ)³Ì‘ÈðZÞ$Ƅ垄ÖM$`õ&„#ЫÞßÅ(FæÎ“¨íÚÎ »0ƒà²¼q1?ka9fçijÑõ!®á`Ö•í&ç×õ’öÌE©ÓªœÉÉ9QKa®^û·V÷öë—Õ—×ÞÓ ÷4ÞP]J ´~­ pY§7hü*"k«fUz;QӢεçñ8šE?Ä;\ÿk©…D9ÑUÙˆ¹°‹« ` W¼VQ6·¥æIŸzœÒ_A('czÍ…"¿_}’e? bu_³ 4‡˜úpY˜mXüýkzÀ¶!Yø NUãã‚ÂÎL6™NCÀ»s9V|÷3§m^OSVF›Q¬Çm]S›p™%¼‚@¤óÛµc—ðG»Þ‘´ ƒVð¾Wi_bü¹ cËæHñ¶Y£P‰0+¯Jz¸Dd¼N&k£9áÐï”ÌÞ]R¨5Ô1ÚÚ^qŽÏN Ü-!MœŒæ g‡ŒŸ£á™GÙ¬0a÷‰ËïiigC–o~ö íçJ*™§ÞÈuûÙxÓ®üñÊt`:šR`kþ6‡ß¨™V_—ÑÊXÕÉ`›rv©Pfú4úò…8tQ“’ ×ò˜ÚB”†xðe'`/$¤¯b~•c&ã¨ãÅ­tZ˜Šcñ¬ÏN´?ñÌ™!§Ze!ü”,¶Sönvôa7ÿt°B¼UÛEG×W(Þ¬Éë—g1ŒlB]°ºJîáÌvàê4zþCüûkÜï-§bC[kÛù˜ˆ¤”w ñ‚È-Bf}߉.ÚTç Jº€þ•ùum‹vuûFIÛKv”±”^©5Ø«)¢ŒÀb}îÉÚÏåùééªÚ1^]Œ·Ufšã¾”µƒ¿5&6kSð=k„ëåcæ3RÛÇÛ1ßfebˆ¢Ùãí.ÒÊ*=D¾Úåkv¼ýŒ® ­¡[Šù…¡í§©ÙäݤÑ“ ør’`¸º\„%wÞ (R}§J<œ‚ˆd.3ÄHXs’RÆ^‹åÐ$9¹©ù5ŽçYÄ‚'†öùO õx— /YÃÜ8,¾4{­/;u@áù/¬â3Z©’ŽbÈzRÐn´é9ZK©‰ ýGÚûÀ݃áõ¶Õ1_ÀKûûöâòWÚ¹Œn’J‚O¿é£½>ÏêS ½Ï­5@ÛŽ !ríLÏ­¹|a¤@ 2ÛáeŸ¦BXûgdeRk»œ¾lH†4ZÕ¨OvzW;ZÉJËJA°(ý– –Ü—öd¿¹º®ùzé\É.ÁV)ûa6<ÙJ÷gm‡–±¦€RæqhÁÿŽãèמW¬xqÙs¥¨QòúѪVÅù„Ù£«…w`-ž`}Á½sÖýŸzêêó‘« ê Ɇ‡à¾Ð‚Ðí]}ŽJEÙ“ÜèT„Ù:ÁMPù ÄÚÌSøösmãÊXpÌ“½FáElu…˜PÃû¸Ê+—É }{Dpåõ`—B£.´`A³+4Zz­„ñ¶´T>Â$S[‡$ùípÖ²ïçøóÎE¦v7åü†o …Žxú'ªxÐ7Þ4ï`•ª¡´=™wévµaô†’IÖr¦£T/GZ‡á[hhùõ‚˜`Ï"þÖfAŠË´*žVÿ7Μeø°êNDs÷Œ‰;y˜lÐûÜÞvØ‹J:ÎĨŽ>KŠ9MÆß,5àu‚N*ËÑvÝ/g CD÷Ãã!ÿ¨,ÆÑ}¸Æ;dÕ,O0‹²ãÛ§ÎÕõE§Íå/±‹;¶¸Ÿº·_MÔÏàýÛ8i¤‰1þ¡ëc­NR5=Alj$}Wàï¸\ÇN>Ûcaj´Þïˆ Ì? <ß\ÂPÄâ`2¡dEƒºŠ~?sNSYØŽ¨l¥F^17ì É6ØØz_¥‹NØÙEüã”m¶>Ä}l£Ãý Ï¿¦»×²:9Ø1–L4×ÖÑǪ ZÏÍ<ÕÄ]'”9ì#¬öMº-Iô¾mûÚ$t¯÷É_ïGÛ™ì>ã³")¿J4éÕÃöJ¾÷ïj£´»ê¡ÍÕcî–žˆ£Fƒ;Ûòã6º>›V;aGi†í¼Ël7p<_–. *e;0Å}vÓVû§‚,P[Q•UáµT ¼býEŠ7O(Ø–þÀÌúÊÐÓÍ«~žÖQåüÊ*ŸÃ»å*á bsîcu1"g‚Éh †üðíÛJ•  ¶-“Bp4áÁ³Ä8xãŠË˜Ê·ñeÁ}°SEòÆãe"×{alEõ|fÄÒ×êìW=†#½ñ3UÉlE|"ØáÛ2iìC™Þº^ äeP•ìÇYѽí‚ì ÔþÚ‹j°c›ÎüX³­¦96NØ¡‘Àãöê–iº/V#Þ ,»(ÎÏè9¦âq4µ.ÚxËW fvhð«â1]o¯ØìL»`„!íÔKr;¡_nÕ8wb þ¤° ™Ô­th  MÈœ!xíQp4ªdgF‡+„p¬>*~UJ|A–É_â™U"¥I¾ƒ-ó1\𮨀 Ûl³#‡¡jódVoWŽhPÌ+ ñ˜Âmtƒt¦öFUŽA«ýIºvìm¸%$¶de˜j·€fR©Îºts5êmÕ'…N¤ ©ïú”V# /Þ2íA¡6aôwÍÖ2y ש™Ø¤ÂG|£û°"©-s1ɨè¶ÂÉà»§C>âSiظjé'Ƶd,€.SÑ‘Á ‹³Ç~Ò~ ó;Úï‚^ðZòðû°µϰð„nÓM…ƒ±òkúhµ"Þ~yÒ”É{àÕËM²!È–› ¢Ê¡AЍnJ2ØŸÅžõ1åXÔÔÒ¬*n#J»¤í­—®4Y…ÝcØ5Ä–îê=Zƒ©W‰0#¤Ÿ=ö;Ï´á׿8mËC»GŽ™3]ýë4?U‰~KÑÏNÃ&ù…{¸t:Y×(ufÜôiíÒh‘ß¹O¼Ç±Ø6rÂwn–°1†¨ðL¥^—ɱüûƒŠ¦÷/•á‹0ôÐÝ(,‘MTácúÃÏï 6ÙÒ¿¾¹MŠ×*ö"ò&Öù˜]]ÂhÆÕ+5„b)fE˜íl@¸˜|ÄÀÔj«µ§“àØÔ2÷ãz¦¢R¶'VVt}xû•w† ¥%¼ œ;^‘Îj™|†š aMéÙËøy‚ zÆ—€¥Ê[ŸH0t¼¿y!›)G˜’aÕÀeÙ9o2;¡^n>:5:aCšiÀIæ¾´ÅAé]áÁJhÙ¦ƒ9tÉE¾wV±ë'„mÞQÒE­Ü4T À] X+Z#-±õºÛ‰C«ú8îiÓ?4³Æ2ß-:SÝyŒTÅ¡”\pR[Ž„1@{8ä4c’íŸîíÐ=+âv3¥‘m”²=„@˜,¥%!Á–\ R*Ò=ýªHš@íðÛ\U–<" Ÿ[3`ìëPu£½·¶÷¾--UÏ]õÇ Ç;Ÿjôßs¸é9w2bŠ¡ ¸¾ùÍ2¿lbÇW1uÈ´®Q™Ðe atô8í“û£Â`vŸ7‹#(&ÂK ìÙPo¢·#ʽñœ™¬¾w þì ¿cÖ×¢:chû}‘ÙÐîåT)Ik2deø¡ K¹F˲pVB¢?R`A¡-Í¢dFŒ’#E‚ˆê—ÕÆ"6œó´Ù¢ÃX–œä56þù[r¹’¹DüÓRk›÷£?­ñ 5‘z å%ž©ß¼„ú+ë×¶”ˆYI£³¸3íóæªæ‰I”5´B’mã†1jñQ=Wc”syÎ;Õ`Õtýþµæl0]o#‘Fˆ°î“T S5¦Œäßgo›æþüí ™ÜÝÌö¦JQ{ÙÀbµ`Í„üþô€t….IDK™‡ù[.‰?[X¼9#Dƒû¡ç¥<Í[ÙjIÀÝß8!Ø5Üòa¼.@ý.[¶Ý°ÃÆ` Þ4¶Q¾¿NøÚ}1KGË&>¦è¥þ¾öù+O©ô¥¢ív¨¸xfûPw9!ÄP€¾g¸ÝAjFãsÚÀþ ¬Ö‘¡ÏÄi`i¤ +o'Á‡Rh‡ÿà±ü§ÉçúÝ8ÚAiõ¼k?ÿ{¨]3³‰7lªüõU{ŸìkóW»SÄÍW é- šÓ¨‘Qö…ÄnòÜçq…lÿ7U!‰ŠMÿ;Ô5úÚ Þ*4zæ÷`(lšh[÷²ŽU_yAëû‹XÖ"‡š­”ö¡Øò|‚ØMyö`ª ‡8º»šr(i°VÁ¼’ ­2€‹SÁÍsé¶Pgœv¸3T],‹iôj´]²"f‚Áä¡,Ó¢ºŒOR¥œ9ÎŽüxirò¿mÜåÏ?"p-™wo»B÷{@«Ê Î í· b® ¬÷ÿÂ>,‚Ÿ“Õ¼ù.p` ¤ŠŠ_ S.dÔ2†Ã#­4‘²¼¢2Ôø[Sü¼5ŽfôË—;‹„‡ðtÕ7‰FÙîUc«< ‡8A•73[ÐC[Þ2 ¨Ü)wŽ'6އý¿BðòÄŽÙJ¾ìØˆŠ B…¨!¥ê©þj;…ùY,_Rü¥¸õ—¾¤ô1ˆã’/O¶ãÅ×w_¸m[¯–FâýÝc`÷Â.¢qGO7u%üuê*žÿj+èz%ýìºðÖq"€Ôž4ÝVÙÑÚ¸&ˆŸð Ì•½ØUðAÉ¢ û[à‚y®aÛ‡|-"ÜŠ=h¹Âž3îhâ!$‘£¶ûL>Æ Ñ•?´žÝ¥„(ÏÙ˜3¡ãxýÕ؇ÀüùwÑy€{zo ¦Â¶IÅ\-k6ZúÎ`€ô6Ð1;r}$Èô*Úã@IvTÝØ:& ÔÞÍ£ÌÂõôŒkrsœA$Wë6˜îõfëœk9‚z`öj»à'˜:¥ØpÿI–—«G{ˆ™ gHÿÐ`Rû»é ü¯#°îôðtÜ'P3>gÞêæÒÒáˆq´.ý`‡ÜG@¸E¥³0Ê¡OìÍ$‹"•KU‘MQ’HŠÃÓ %§&˜°ï+µEáu»²5æçq¶¼mK]Ä<“C ®?pðx›íŒØè ޶¹õÕÖ€+ i¤ãó€^…_€âûývJÔ‹!èöOØíÅK,Ûc±øp2÷²àÐ8µƒòŠf"¶Øa¸UCC?Ù”0Þ1ló;‰§F8%·a•c¼O±³ô ïLê0Ò~£p×ÕÁ”ƒ£Û¾ ãŸ.£žÞšZ=gÒ —èå KÎrlN™t›ß°Ü¿y1x8™4¶·B÷LTÓ¨Óß°ö·ÛŸ¯ÿG€£ýü‹ q˜¼q¬ø¢”ß)³›|i)ý¬Ö3a‚ï/Ƶû†%þ&º+»×kÞ0±ëŒ^`— / ZqU™åYœz |‰¬ç¿ò,Aš„)T7Ÿ%‹¥ø OZö“ þðÔÿ®,ðv·óËŒô·£ô1]TÏcò‘‹,w©=`‘„2øF»i|È^J͉mŒ,~O9Ooq|Û#`°FÒ¥Ívð1ì1À·î“MèŒ:O…{õ†ˆ+êQW¤”ûš×.þM6tÏ †9³·Ô/©õˆæþ aÂVA áŽu¦³³¹esfh}ATæ‹{€º ù²mÒ¬üØó(˜I¾8êD¼ÒNÀzBÈÖ¿„É=vb/°Ò³ú"Wlj¶óý˜€,B*ƒ{F«Zœ8ù©hâ’ô«°<µÄ?€x±h*“aœÞ‰€ –~~žŒç¿%Ø“šE´^tQÚæåL{ÂðI3Êü¬hQI"—³û6vBö|á¡ 7¾á¤±#´Ÿ¿ïû&cg£ cD8*OM…cT×øÏÎÿ¡Þ]î3éJÊ!"½f€ºyN§µת–:á}QB4‰ð°VV í¡×¡ëò‰(ˆû¡÷"qÇ ñ¤O) µùÕZòF x=Ÿ©!{úUÅy3Û{ÿ®Ðï4£†ØãÊ„×TMǾ¹@Žý”S€®¦›ÜWdl®Óä0± ýٰ͉‰5„rµáËÅÜb†½)nK À+3^žbŸ_ψ6kOÐ:¸Ï}·ß˜¢õŸ7ã)ׯZDØ`‘Êk¼çÛe}ÇîÉu€¦ 'ɾ+Ò7²eè¡átí!ƒâÌ*³ßÆÎgè÷–‹zBî¨õ Ç¥c?;ﺨó„ÃLlZ”•–rÍ„™QÐÇä Ÿ‰$7úwã\ªúˆ[Y‚€Zr¦Ÿ¢ Òåmžw—ˆEÄõÍ£Çmg™ËZØØ÷- Å'”:Òø¼ ¡zim¡âôßÅUžfÏ@ÌIüUòb·³dˆ&H·òo+¿C-tÄì5H™€Oû¥ƒ½%}•yuJ𲦔ÖÜ †R;óc"ïøIY˜ÝéU´ø-¸bûü:—ž†(}+‹Vx³æ¯ÎßthÐ ¢¢%œQÚÜ,°h¾XàáNœ.»¹ @•~ûyHî‘€BÕ»D1ÄוCšÇáhÔY(dÛZxäAæ?jq‘“îQé1Ñh%m:¾ü<ξ:üÙ™ë%¢è›®äü4ÙzóÐ)¥ÐqË5Nþ@˜Ò'÷ÎŽƒ"w»äzT×±‡¯X"¥Y„mØXÅ…py×Ù‘\‡ËrÔKÈΈˆô |÷jÛà £iö¶³Û êD1¦YrßÐÉé<ľ0)85³}3OHü/ˆ“ÐCâ¼"ƒ›µõ&(ìZ./®¿õXßôé²Ãhªj94ó7dÓ Ø“»O7ŠîãöÐ<Ù ž¯×Þ`o-f•¢UjKw¿·g7pêvy›m ªÁ᳨»°Fƒ,å>§¾‰1…:‚>ÆD,¿4¨K9y@Ú#®¸¢o1§„H—¡+®vÛ†—\µk¨­3BÙë“âXâ°5k_$÷ÒÑ¢8ÖÍl—\ Å@Åsˆú3c¿ùL5Æ1S¶»ï6K»ÃÞôõxEÎQ¶¥•ÏŒ§Š#:‰xÇ ø¦^Pû. ´M/4 Xùûó n@^s\áÊHÜ(X™czÕéÝ xd¬à¾XÉáÏ¡­äâ\è#Ûâ¯Σ²©GGÝEŠ”¹”àe•…¦ N!äypïlÿO—BjJ¾·üƒËôAX”©mrÓ—µ¸lQ÷¤Èà×u@bø»6 yÙ.‚§t·L|×M‰|´.ƒ¬¾H°ÛK«Þ¦ÆLÇ\^½=HNàl)G¦Íý´Ìzª=-³<™jû»ßšÏSÒN Ø$Ý,©$yHTlêx‰>ÕÙHá眜ˆvYô¯ “Ài|ßOµ»&JŒ©Í>!“þ@aQÕê±<¶ýß~,2DÔÏR3.¨)fãɨ2þ݇Ɨ‘³~ ·|‰+®Œô[TT‡W*ÌÔNdÀkn Ïö“Dgý§ì¤0 À´ïà¢Å…½2\ê_æ§í5ìQ8²3B— Ûb7êrH{æsL6~ ïøf0 ]9sÏw)F¤–¼h߀¿ÎèÓOÎÿ] K?'¹äb­ ÜÏ…F·¾W¼ŠD—¨9ÀëŒX…žg¦Ö¿+¤#ª;¦Àóg£‘V4+I¯’)3EOT\Ÿ>ãHS}l³ˆ=$CËfyÌÀIZšÆ=aßæáÅ…[½£W¨|T'âWDŽL³ .”=«‘HVÓfn½ÛÍ¿0w[®KYbú<Óä-|2$u=m(˜RÂÊô4}…Ò‹9(| YätyØÖ'_¦)¼› ¥£Kª“ô[ËQqgÝÐv*4† ¸Ù÷Úâ{ yΘØ×9(ã¯ê1ô,ûªÇ­©X“#{õómûŸ þ%ÐÆNý_-œ¶_¯Af$„± Æ ÖoùJÙjv»0ÄQOÿ£± >Œ±U@| •vD2×@>@DED¼ñOàMî•? t'Z\bReTo³ÒšC^e–Ëti>~¯Ý/¦Ïh\d7Þ€¶vö"]cW5½÷r•ªiNvášG%8x §.7¸ïÛÌ]c*Í@ÙŸ¬r*ý$êT«jb`$õ ™Ø˜ËÁü»FëÃ{á‰ÓQ¸:1/ÀȺÌ]ü¸ƒj°R,›€]jr â¾Wn£"ÿ;4$Ýø:%žÈŒB‚½{”ð{+# DA2cºŒøQ¿¸ÕJ7Sˆ¸ `Æ.|{¼Û{lëä]Žz"ùìWËé`5`Áÿ4óÛlx  %°´?@1öxíÓëß?¬é+“)±S ·Ôuûfšÿ^Uþþ¦h¯_šòH Ðof%Ýaq†Ò4X˜cDŸ(k••“O«¾¹Gp2œýMóhü“—¨Û9£ 4ŠÅQ(¯¯–|LPé>¸3b*Ê‹v‘kغüc7¨ÔrX,3x÷l@gÓ*Ðí~®òÊçÆpk¸X;ÞŒ·ŽûŽ,œíîèB¹bÛ‹RZ²‘Ùñà'äÜöœMžbÞ5”ÛgŠY@ݱ×÷h&æãæÉ²QU›Ö$uJÜÒÏÛ:aÕp”eË4ÔËðŠ‰‰»RÅô˜ÔCe"ƒîŽÜ|AŒö}êpÄWÑœ‚(Õª]ÛrxÞŠxTÿߢ Ì=›ƒx«Ç&ÙT8ªš{¤šô‰/3û§ ÞŸ{{Aw¬>@h˜–(¥ýî.]mMêºî• yF1Â÷Ä®ôs߀š>ûJs=Á5@ÜVƒ'ÌH8F° ܾ†–âáõB€w1Ô¢íߥ™7Ôœ¿qd•²<˜M'®÷)S=˜œ›pÄ Y¯’RâÀ¦ÞH„ú¾ ²Nha—WCH0_Y8 5Á¨[ŒúRÖA͉Œ,6Ç`Òö™Çþy¾"=p 'O“w^žÛ//þþÎ*ZýF8>sÈQ£Åd­€cHàÑ¢åõýè+Ï‘:ó_d¤ïZ–`B³¸ GǪ[<¯óâSùÏýÈa²Z€4;y•ßż•ܪe÷l7eiì`5õµ´›' Ôó‡¦òm­XUŸ qh²f€!ˆdÍ$‰ÏÑS@ržG?î#•Ÿé“©™‚R/ ‡kàcë)ôéÿdk¿¹ elô÷­pÎAC?i…°ÿÀ ná”æÔÃóXn‘5ú¬—i©›š„˜¯Úºƒ]cØÑ¡A{{ËÜöqÖç¯ÇY\óUºôžÝVŽé'Íqc?uÌVÕ9É8ÒS÷.â]½ò öV#¼lã6 îE ,йÀvO&Ëv~r6> .‚\–q¹~KU4Š3¬K >;/@ì/šAUÍÑö7 T§ˆh>$ô]üñÜ=_Ń\Ù± €ž¹Ãýƒ÷É'_M ÂD…ò ‚õ+ena8]BºHæ%øaö¾xg®ù!N6Ë2A†±¤ã¶&RkÈ8LŒ¡|.¿À]ih¯Ý¤b„û?s~®&ehãêcˆ`œRÞŸª³º==âŒO{ƒ…$-ÈcÅn\o¨,IÌ?äëê_ƒ«°.ôÚs)²}`tkPÄ37ïò fÇÒ ÷‘éÓ•‘ž ‡cÅ!йt(ã!;mR³ Û ó©Q¯9¸çɪTû†÷Šç¨Èñ ,‚¡üZÉü¸ÌvŸnqôv õIóŠƒmÐM‘4qzÐñ‘O³¾‰Ü¿òç1Çút.ŠJx#}¹Ü B‰n&Œ›!Åüæµ;Îéë(ÄŸ‡’L »ÒOð ¨Àú Ó½m^•æ è ä¡&ÚiÛó;¡›#}ºqóÈøh/! »ë½¦T-ë)Uáå€üëJÍcqŒ Ù‡:¶\6휦Sâ>àðŽ„:0³û¿Î¼l±ÈÑîËKTW)¶ˆÅ5ÑÞÎGÃ6 ‡!Š6CÉu±¥^ h–1Dö3·ù·!NåBPQ^yyžçi=ÈóÑ™sšC×õ7ËÏð<F± >ðU2„1et¤æˆ*nt¤uçÚVcê²å2?Ä¢MN5-â£Àì›R¡. ëÛߢS¿Ï/i¸îË ¢ô›Ä­Â—ûdO¥ò/r2ŠtØ`¿Ï´’Í„§¨ix¥w7’lV?}AØøÆøÓŒ¦ì˜5A‡µ¯WàëºzéR K +*13mHâž(ÖXÁÍ6ÃÁ’ãBZ±CÏ-Ì»t˜bIâkh›cì7NüÛÙœgMS³ZUŒô¬à]ˆï1joqFR5yv…nÃÓ AþÌ Üi ÍÊËäÒ0¥*ËUý¥£3Xï‘`”©t"Y¤ÕC16æÏƒw ›ÒY‰=ï^ß_¢Hƒ:V ¾úÞ´– 1ø‘,¦Ú =½"“œª(ƒ>ÁIŸQâYcÞÍ)^¹7!Vb®ŸÚË< P‘±œR«_4ŠOò ÎÑÓæÂÚP¢Ûº4àô‡ó¤æ[ÇŸðÜw@2odk¦¤SŠöKJô·÷è1Ç;zð|6­—BVˆ«KéS‡Âõ1Ü”'qOqéYìïzÑKe„ö¬’MöUœ ó´¿ê˜TY¡ƒy>ˆ««{”ž‡z;EŠ›赤`jý#(…‹ËM½”ù±Mwíð1qÂ.W¿È0—ç҈ĕ*ßg¨!™“É]¾´5uí´žŽ=‚ο~BÚ'˜/þ"°]p>Ê÷Ü&ßµjÞ|·û£`,sšL»sÊZŽ4ÿãíï˜6†È×Tè±aã{W^p²Åotz)µ¯Ç®àž#ûÐIáAU_¾²ë'÷G²€¬Ê,þ¼¬.T]*á3…9Æ€Ïø›^„Hõõ;cµC¤ëŸétÆÆ¾G¹îtô ¹Ž‡W@Ï^ÂÃTþÅ3¼MWÉ[8I:ô¸w Êéby¹Fcô@=ìöµ=\2ÓËÂo À©4±Ÿ8îüË:L^ñꆼr‹ØE½$âÎ’ˆk„PÕG ×F÷‚˜ŽRJWû}åhq.ǹWr Â[™º„{@t” 'Ë­[üc(¦eJ&•CoÛVÝ ˜žý^SÈræìccwtþ¿ëƒG~˜n2äï—žï|ìw SóŒñi¼äÉ;*¥¬&Âí{}BÑì9ø&df?Ó𶘆ö´rYÄÈ á‚ð•/%B[ä¿jgƒJº×Gr @nH†×Kݧqn·Ú  Ùƒ‰|–P ͘ü4«=KYkší'ŠƒnZêÁµ.û¸¦9¬·Â9 ‘&ÈS%³Ì¿¬`I\Ä>SäƒÖr¹+ïÑL\‡úë®a‰UÖï)ÅüKPÂð™ 8?žhîÖÄËïՖ˘Nµåçö7n¸FOQ[©ëi]ÿªÛv ÐòDÓX–('Ag.®šm¡ì,²s.X=RV#(‘»€j~ozÉ~®œê›¶1±y8¤có`‰ מ[¨¥N1ˆÇ–Œ8¾×+˜ºDóIâñ‡û„·{"A‹ÒÜUC©Ó‰3‡c@ÕP€ÉÑ5æÚåÖ‰e0<ñïƒWù*®ŽÐ+çlsù³Õ”ºdç="Ñöÿcë ¹pz‰ðÓPÀìó5뎞n–yá&Õ&QJ³- >ŒÖkÜß½'÷3\‘9бíd:âôiR¢ hwc‘®š×va’#jÿSƒ¼‡/ÉÓïÓ´xÊ|\©.¼‹ôDKiãdÆïCq]MoFÅUs¶V˜#™e[&Sƒ¹ËŒ´Ù¼*îXå0Öè¨ÁHm_ &Å6c”ýè‰xÆ÷Mu'±µÃü5`Ýè÷J®Ï7´/9ïXYí+´*9W:uF®¦¶E814 –m]rR‡þcACæ1´¥û']sÛ'¡lÌìº.Û'­7GóeY«>„<Å”€¹›ÜWáX´0?^vôøNÝiô+}CX~ÀgD;òû˜½´&¼ŽmsL—>(³¿ï·°±¥’úù@a½‹å‹.ŒMël/¥±Òw¤ìW¦ÿfyÞ_z¬Ò}ØŒ¶ož6®ü†ðîŸïÆÅÇ}ΰO ¢‘ñúóà¹8´ÊÊýk») è5Ø~ ¨Îà®ñ’å•L–5€ÕcÿöMñú…SnxºªƒxßW¥ ÎÏ€}6b¤ùjŽŸ1R™™ÝFå^6ÓýðM§¶ÊØÔîš"~Zñ;ŸÉtÇ7V!¸]Jïa’Ðc"¥iØâŠô€øHX¨òF|ΤÜ\Û “÷ÈGº-6d¼”/äVñPîÿ¯îëãJÉ<€ü¡jwÚ“Âfƒ óŸF`õÍ*ɶÖnæ…VÊ”h-DOí9üÁ÷±ÒÐ!,í51qùËwÛ‚0„r'yô´òV§wÑ&CR¶º±e¹éáy?pCð„¿àvK~É‹™Èü®pÜŽG ó^I|# V—·6'ô×dT9‚™8l—¶5ø=çæ6&Ž+E`ó‚Úko¾ÈTj°ûyxµ¹ê(¶­±‚չg¹ÑäèVBKú ŸE‚ú™Ý}iøþÉDìi^v„b¬çë2 $T¦®Sè‚J»È++ÕpÏztÌ{ud Ì~˜Î¾ËÇ6cª§vz5˜iDgÆAð¤&–·$pÜ~'œ®0îýÇ£€ZTh"|GðÖæÞi‡˜åˆ¯:톉L·Š<ôqmæ?ÿ…K÷«Ñí7‰^ MÜ.§s”aÌê’iEN0çÆu†ÞÈîwø¨f…!9!?x­ÀyÛ³ÙËÉk:N w~ÝýQ”§‹¶'í7ûØ;Ÿ…ƒ» [™¤ÅŪGDÄKôE{9óÇäÌÈEžÌþ èÀ’Z‘(RfB+L?Vó“ªüˆò»kêu¦(ÙWšéYõútâ! ×ÈçÏ*L.kßZd‘=Üîâ²øIÔªPäöäc÷Rlú¤Žfüš¦u¿Þjù0»ñ‡ïfòà¦3E7/ܰU(þm/Ѳßd´þ¸ðb݆MµoA=ù0C—]䈡ýp:TùŸw½°¤1 ]°¹mû®ÐnºXpê2)R9ZqIކF)ªXa€svnj-xú}‡m„Òdnnw »`\î±{qjÊcMæ…‹µï³ù‡¿›‡f|ò$Ù]Ò‹=s6àkÿ©ë³ñäMHWÊpê>âÞ(L ¸päWívoKa€hÝÖÅpmã'J麋Á›O$«­÷`qY¹F¢B¹,Z»èàå'u·°¾u¸ÅÔÏPÒ9ïã17 ÐVõvlI™ M ¦¨B3À˜0·9[–σå%Óÿé–#O˜Úõ W¨åæßÚ~|¿ ¦íÜš ŠÑ ÛÅb碿×LMY‰´Îg¤†(üBàʱO'sï·žhõIr"p¡vѬ0ŸŠñ­ûrŽŒ {@:-}Å™9|>ꮳKuúœ!§8¼óvK²úk9HªÐi7w÷Š¡{ù4†u²í·jwÇÌß}œw•jHlÎ`ò=¹é¿„1§"'¾H¬òB> ˆûŒ*|j\udçA•˜ŒÓ¿˜ÕäðìKᬧ쓞í²ä"zfç—*Zt…©»áð Rݯ’B±e èâPw‰nSwÜ.edǨ“ ôüÄcê 3 ¹^«"K¸Uc¸ôÏîeï¸<˜+µAW˜ NüªÆaR k”±×Œ®#xtÑ×Ü+ÁcٯǘT]åYtòóI…éòv’ÍuPZ6·ü¨6Gíq ô‰uË¿Œ¬¾ÿàö¿s2n¿ª\&Ì‚hX fºGg¥|dôÄ£ƒ/_ÂÛ B­Ð@W-ÃéYq1OkS•púmƒ5˜R…ÊârÅ$-QmK‡ò¦š” PÞx¨f^Ô0ßvÞ0{ZwÖ9†h9¤¡L Xè´ÝˆZâiY‘ Q™u¾»pYáÿ‘€ù®œXI²®ElØ­?¸µË)Ð0i‹9tâÀ4v›-®âŠ£‘ˆ¨“§@Å¿qgv°¼UªXBŒ·NjÕïÓ>@ôeÑ)Ù/xÙzÛÕÐÕT>.|À“4c§Zÿ·o„šæøgúñÍÛò¶hÌHdEiÃ=Ó踀۬žþ¿Y Õv+¬>t£èè»´ûævôwT­ÜYÍ÷kÞõ¡F_âÓ>±·í5ÈsŸšsX/oÍ•Âgë>yÈ~A`/ùûg8¥…ƒkû5¹ ÌlüK8v~uj‚©e¨(¬ Þʺ¬¯ö¾1 `b^O3Ê*›÷ T|°5.FËx‚©¨ëJ™Ç@h_wŸólŒêAMm¥Š…™]ÜôF&VHN8®òÎ'=~ÏYk-Š»°H½5èÌØeûP}Xbð{2·2×ð“/jÃVÛ}Ew„'Ö­Ì¡©Ã§ØÄ†yÖÙ ̃òß!4_P_™" ûÏž} ¤Ô;ƒðüCˆ¡ð¯l}Õ Vbõ˜(¾‡køîGH[uAO'¼¶ÍT]ÕÊt/€Ò]ªôù4'Ý‘è1‚ƒn9g•‹f@@^±…cIGÁÃX.üRå‘Oëhˆ¶'çõí‡÷PL¼à’”„Q#ctWÌmPÒËd¿ÎsõRºj‡›P`ÐÌõž'D*Õ›Y® J°€/„ã­V°9ì|®‹ÿs*œüùáÇq5¬¥® kf‡-iþ×_á%G9;7ùeö‘ë…圾;§LxTðÉ×üøN£C6èžW »™4…ÌßÞ”™QL›Wá‘#ô±3äs<´£ÛÇÍ5áèE2¼Ìu&Ù {ç§’†‡]‚i8ü.Б*ÁŦ僉í%¸‘ŽÔó"•­·°G+)Šák†ÔÙ"¤›”XÅ{'}&RžQ7­Çúš’Óê¨Ü9žÌuU¨>åN»Sxxý¼7ʨG)]?Á"ñ‚Ò%äLæ²Ãgô^·6^ŒÅ'­Í+„¼䨈¼ê4ʈڼ$á1žæ#Tï*äl÷îó…gÀ E­/`®'ýeÿ]=¼rL¡v ®”Å;§šÑ[!U'oíšN¾ ÝÞ ¾Ò¶¶ýMÇ_ÅO\# ~‹*à9€ý™ti¯Lä÷{¸U>¢m´+þàŠZ ¦|8hg9ŠR¤ÎÔŠ¢ª­>°ÞÛ<âé6È Û`JÜì{ï–eÖ÷ªÁª.xjÏÀ¤¿Ã„GbÊéç8(!j©”rY¤Î°ÈK"<¾ø>b0~S ³ ˜ÍwF*Iµ ®Á‘sÍߊ.>#Þ§•úG>—â…²8IT]y>•Ķ‘cX¶¬åê¹Ô’cpÌöÚ‚|g# ;1™Ï@têùEIö@W„î$Î"ò¶˜fNŸO¸8¼€…Þ2_+Xs³[!pLîôÔŠÍ-o|4"Þhpóâs™——w«ýŽvkDÑ×5FKÎWfBÞ÷© TF .4‚­ËgЦuÅ'ç%P8ü[ãÚ/bbb'€×[ÀËÖ-–.Múk!I0tdî™™WÏËè Ï-…âÐÎúì!À̬ æ–õ£‰ *'·øtÙX–!ÌÕÜØ÷ÁÃÐ]XæE° Ó(v–YÑðþ_![ÑŽr jÌÙé{£ø™­ë{’%E_ü5!&“—yÆZ ´Z’)FÏ%Ðói§MÞMêæÒ‹®°d?†oÛ ¼#žíÖ“–^ÿBk[Œl9øHöÛe`¿s{ÓÏÐ-»Më·ý5|_uBµ9øŽ²RUþ±z5מÉÎÓ½#½ºówÜlóˆoøù ‡ÛZUh644ö[¬(sc›¢FÓQuEZsáÛ·-¯Ú0¦å|ÝÓM4!:áqÕ·+n<ˆ…„ Ü¡ŠM¥mÓî—€û8ùSîŠ KÒ–Äúc‰øõÿóˆ)똓~ÔBy«‰{hýµÚŒnÎÄØu"ãœìÞÚ5þæ{x†\ ~ŽÜöÇù´Ñ"e«Å34µ?yëûúP¼º®×Ðò›E=¥ÒäŒgsàS/˜ª±Ÿi†Á§.;à£R<0ÇMŒ}eñêU+Yiög¨‹/INrÌ芷`7J!7;€Ò‹ê\g¿õ-©ø;?¤°ÈŠÔß;ÝmørÁß°¸»°å…ЛØÇ¸Ò ™IOÛGíÊɽmd¡›aZ˜ä^ýì{!áÆèUû*Ñ;]R ãÖ ©ÿ@E jÚg²µZ|æûYNÞŽabgrq#½â‹y|ñɵo3,ä"ªÞ^´ï‘Å3„pH±,03ôŒÑø)d¶$¦áÛÛ€êÕìþ®çŽQ¥…–õ A>ªL‘HŸÛðŒ„“ÕœýJ?×PÜ3Wy.báþŸ’Ž]r~î;Ào!îjiЛYÄæùFñGpõÍíÓÕø•â{î*­¹\„©Ã·õxûU c èú]–+Çê°Úè§°ÍÉv„‡tt Rkì9`G‡‰ÈŸåláØWu׿ÌÛ_Kk‚É© Ík3štÖð:JÙæa È&ü¼÷hXY®øÚ­¼èö°Â‚ãõL"J¶µ1 Br…λˆ¿ ¯ !^Nç&å;%óL™ìLýà ÿÑpY,Õgw@+E¯ùÑy—TK•íR.ê{â’§kp%ŽÆnÜEd±áÌË)ÚL€²;ZÍÏI˜¨ºHd?ny›¦ÅÎæø|;FÕ[]N¾°‘\ídhKÂßBî„ål)õs&3ë6‡êívÎHMÎ`$zÌ€RÉn™ÁxG<Ãà™gϲ€ GáÕ†r" <æP“ªBVîqä%r×ù¤G—<„nÔщ¡[)À.>²´#èUܸڠõµ8ÌÏœ=¯S޵ÿ¡X ó„ñož Y܆ VËw·½2ó¹±±±f½X,¨:>²°ø8*üUä4SÀí+I¾Û¼o¹´87P3ÏêÁ‚OQ͸ ,f©ïq ï° ÎÓÚÓTmªbø…u°%ÜþQWÒŸyú¡)Ì–[bÿq mÝF 8Ñ&a·¨5ŽnTº0iETL¬MÜkæ«qÎE,ÇÁÀÓíÚŒYÌëÆ<¾. Q4Xû°ó°-ôŽgÃ(5ÖÐÿ>ÄÙ\7MfîT_>EYŸ~,B,ã ÷ü%¾€að„ûâ÷ IÈqbÙn„«*£Èè6‚·´*'…H1jY\ë 6ãN¥â%U9-ÿöÞÑy ú/g¨Œg¡»'x¨r‚ÃfëÄ~iÈNJT]ˆÛÅq¬\—’ÉMÀ+v¸µ³2å'ÞY°tS—.'>)q·ðÀ*óéx2dþÑø¡²gf[§ñEbÃ!ºˆÜ}ÖoAÐj|æîèµ5Īø¤žn¾(9—#€¥džæËú!exQÿ˨x!1¬§‰Œc`Vû¦wü;bë¥îI4°ˆYUÄ[–X Ô<ÊѤî`¿µRd¾  yí¼ˆG)Ë L‰Ñ¦}¹½Á̘©ƒ=ƒ.Àa'Vâ’uX~š =µ©†”ql„'[ÿxvSŸî§Ï(ì÷ºëùcÕ£—¯0"ƒMëͬI¦Îqªu»™Án•*ZH¶+ÁðW·¸äÿ»l5j!l¾¼ý¬lt2”.†«júkvë¿ãìüÝÛØ~xQ„Ζ·W\_ÖÞ;ngu*Ë.”‰ùØqÙø-Ý ¨Z¿­?'šÇi~kâ€<‡@[➈˜nz‰4Y5_#]s*Ñ+ð7Xlÿ4#ò%i’Û+ªí—í)Þȵcðzd—Áî~X–ß :$f?É‚…»ø.CËRŒ×ƒÊHlXüÿG¾Ä1³«í˿̸dY£î«GÁVÆÈÉxâžg¬ísVØžmÏßòó™t—ÒHjO…R4\Utlèù»³x„ÛkÚÃô¿çøô‰1Ëþ ¶È æjÙÌí¬@IšBׄùAÛ2^-ZÐcý“vöYpì ô'¬´uTYöéFË[ë6¥±@8b«|=c¢R°=ú±4Å<3VÀã®°à„j#Or§|™ ú„ÏaJ& ùÔÆ±µE-ŠËOŸS‡2ÄÀÅ¥°-¼Áôõ†¢1ŽtS¶ˆtð€Æ0´M6¦A'`YöQì7~î ïªøÚë¤,ŽþÂr¤þªßhœDB(¦Ù9–ÚF|N0/¬ ò55âþçh‡ˆ¾Ö—Ùb* _¿ãvò(¹hu¤²ç«+šMžiàéâJ?¬_°Ìe¿O]ê±LxcôÍEecþ°ËKôRÜ!ÞñV¦Ä£¥î”†‹Çu…zé<åÐ,­¥R”EwÎ*,âê.èÍÍWß@@ÖZ¥‚ºd*V\Oí§3é:7¥©É¸mÙ1§hö¼DÛ¿^æ AÌ“®R°Ú:…V¹™äÍ)×Êà\g9 -"À5$×þÔEŸh‰óíÇiÚ_åb]C&°YãP^94¸/ù» ‹PLà8"U¾†oî yPHs0B݆£¦ÛŽ¿„øüÃ`ª¬u¥qá¼QÔ°þÿû6ziá¨N!S7É8íû!»F§xgm«óà2Ĥ¯æõ{ð¾bØÊ ˆÕ/N}aí·×™]¦ôr_íúRá‚½Ý ½cÇ£QiêÆ€a0œÄ‹wÜœ5•`òEÍ #‚ùpw\·/ö\*õ¤z u’+ÍcŸ–Úƒy£Ø¿nºs6ŽˆE½¶ß`ðDZ}±Y“6Àa]åR àT“¡¼÷1™Œï®¬$;dÐ’~Vãû¡<¦Ï§;ÏÃN6l'£ñÙ¦–ê >õ»ÍqDKÛb¾µ_–þK*^éÁ Ÿön³ÈàÄ„—Ì‚¤|TÔl€\2ÕýôÙÈ‹u¸r:S# yÊGS#‚<‚–ÚhZi•² ì»ðˆb-šD°‰C±*PÚª£ Í·“nŸ ”NœØž™ytÏA’Rá$ffDDGUàÁ”¡ÌªQ•¹¶©‘R¤šÌÌ›²§¿³‰U-1§œ(Pmrõ”{L,_¶»Éœ’HÐô~why`i w|´’u‘+ãhP['€5 Wx$­Œõ¹F÷ÒøÂ^6!7ÂDš¯ Þ•eT ¶¾Ÿû ? ÈÁêšÄqÔßn¬FI:‘zvŸk¼ k!“MF¤ù¥Ñ¡:S˜@Y)ìêˆ)I¸µï²¢ãŒêíA %ùf.瘠=LP²Ã-Þ‡dHàõü ãÏ÷&^×ê’•Aá6ñ[œ„cÇ7W%gRÐ6ËÒ>qMÁŽ_CÕò©ƒ'SŽÿO±Ž> yYma§“< v0ÂRÖX’TÔiìS¾H¾Ñ5V3’ÕE«äUJ¨E£j)adQfT±ŠÀ#L#ã°ÉÁ†4íª`jጀP1–…ÜR.P³§û¬žBçìé%ñòæ:,÷‚8f}qE éý¿ç\VI3Q_/š˜WÜŒiî…š†ŠV屻啿‚Â|( ‰ÓmÔÞí…2ÉoÅmL¡kDµÝTÖwQìiöd™L2hÒ¤ƒyWá½Ö9/‹´±¦¡#KbÓvW*8èš›q¨¨QX\•’ééçwÔõIÖß}pª2›8øŽ¦Ð×]Ö• |ÅüÆrÝFJ_.>Ì¡×7ažv¬èr²} aXý.œR2I½” ë%ß'à^¦X)VŽüJVà.Ô½ÚÖ2öÀêzŒÒiH\~ ÿŠ¿&iÈ9¤¿“ë†y«ú¢>ww# œ\7ó¿¯2Ö/Z® Ó–ÉÖçtJÖ¶U`}Â(œ•ØQiÀáN©Æ"„‚N^ÔpÊ‚9G=Î>c@‰Qqê]°3Uw“c?¿«ÊŒ¾ïáähĬ‘ZÆ®Ü=÷»?+ŽŠª,ì±s§}EÞšðsm˜·_}–aDË6_0¥“LÒ¯/×´L=§öŒM©|©†Ë†ó Ui×KÜI¼ÁWV)ˆöô¡ˆè­‘Ë®1d9<Ë|×y!/Rd}ÿwè«|Eš"ÒÈ¡îÍbu\=ªKÚ˜¡ÑL!.!æ³kzžÜ5˜·µ•†gx2¡d_êõ uØ¢<8ºûCS~y]'-Çg?³iž¸ÿƒ"”ª‚SC1ê9=O …&Œ`G6N£ÌcŒÿ*ø³^ª’ëà·Åómß~åLU»§ŽÏÄÙ¬ÓÕŽÐ0Ò`þ¼+¹Ë@nKÎfÙ±fºö#Ýu‘Û˜Á•O刲­ËÅ|¨'P½üU7]BÌQ¶¬/’sÞsœÿe#U?X¤½K>ŸÀ$‚¢òZpÁ±û…ë?tV K´ª´PçXj7rùŸç*†ƒ’átfÅ“Ð8ïLý˜_ƒ«žNf´]Ñ©KúâÌVËé4žõ¾×S¼:Ÿ‡$¶Zôïe2šó„HYY!VÜ™ä2€F&RRÒ.Ûˆ‡ù.Žò•SDN…X`y, 9§rn|4%†A.(æÄÕ3‹êd>'¾‰ÀèÕH`Õ¼]i `Zæ2̤Bïfî'äïÇ® ¢­9`ªø$$§úg Ú5Zw&F·|ߎ3ÐT·‹Gy7Ê‚ŸåÇú©ØRñÎ+Á*rµ,¨°ó˜ÉŒáXÿÙv@ζšf´(k´ †üü• ²šFT5g¢¬Öþök XÐA*>ï¡#JÈÄ.H¢OyÌ9:¿w Ù{5Cä©R­Àu®vÕJlB®ûf‘93Ra}Ç“/:1æ[0®áqh- £ƒlžFçA½¥»ùP>h´/ ºK¨Âu6ŠW'V¢§F$ ¾9¥ÄÈø·&1Åê%dø]ÿõY¬÷RZ[·å„$³›[ðh  lã.'ûÑ]lÅàÒ»–Š9ƒ`>ߪH`0^à JžD7FëITiH/å4 ÖXÀUUQ°‡ÄÚaÈënWr0>ÔRîo§ds<Ï:éøöüü)œ>jƒ^ö%ܸC5Á€SìïíÚ–ý\îzªBd#Òy–˜ØÒ+uˆ‘ãnÆ~êë†ýU?B l–.Ñ×óÏ'™ܱß'';jL¶¾PvJw¶æÚ¡Á¦'Á?œ:œÏ&<é!¾‘ Ð4Ì‚CuÚ?ª^ULjzZ.g !6ŒÀ²1à5˜$7ÑTfº(A&üoHnŽ ¼§"÷êTwM5æÙ§ìùî4½#x»ØI†`k.†‰VVuâ8Gj™Ë,Ïñ >Ùý-ïªÐ¯Šް‡ÔPP¥LèØ˃!Ù…³k{eðó}`¡³RùK5œ½~©GÖ Tž`nUw¹jyÔ{êÈôFòw¼)^Sl~U^°!ø v¶¢ k² «(º–GðÖÖ„cÖ¼)uÈë‡a¥}‚¶ùj"ýTª­¦òž¬ÿÉRn·í¥üâ õx&ÄÛBƹèVÛ.×Û?ë0ôµ_-œ½85b’}X›n“mOäÉ©Øg2µ&’zÝñA¬‘>%w²~ŽÂSô´§•2ð•KÛq¥"0Àƒâ›š7g'îŸK1 »ºMÓ=ÒÜbVt¾ &«â'øô–£³;Ç¡ˆe…·„ާd¤º87OÙNÓÑSÿ­ÚÜd¼ñ³Óª—êðÌ gš"×·”l·³àÕUÃj¥¾ÁVéÇÞ‰÷…“–Œ3£ ¿è~³ÀE¯%ÒnÔ½JÇÌÌ6Ää+Ë¿“Œ €ü' ¯%ÐÚüú³eþ彇Ñd¾óIÄ)ÃÁó.Õ3®¬o;‡Ô׌قjE«Òò*N®ô,ø„åõÿ[›D[ÏÙ]6†V¦ÕÂ…Q‰ý¥ãÀŸÓ7ž–ò>É4º$±äÍ¡ ;ëÔì…‘¿) žåªçs Œ1+PDZ¹ã…µ œzžäqö=‹ÙG[r¸]:Ô-»íÚ/€øH†pªÓYƒn­/æÑwÅXÓ•Ç'½CøQ³ñ«w‡®„#Ü h/Á†|œÌ((ÌžÓÓþU …™|×2û\~ŠôêþuLûøE„#eaë+Kð7£³ä{­Mß¿ª˜˜½-¾ˆht¨-ë{Å…U²ñ19Ö Ê¤VJwßG#ËwEò{¿sñ¿!üÿÍa„U 3õ-r–×1+ïı_“$*›ä¼‹¨³×a]ÊÀ5µÀ>vz'åEjÇ» ^KŽÓèzb&>²X4X)Ó9‚.ý¬æ½ó¿Ö¥‚sT“*® L—r3º¦®ä“Èp@Í`s#ú\À®FÊ x[m,6ûm5_È€BÛÿ—2#ÖÝ/Ö ›Z"çÀ»›(ß$/ÃMmóû±«}b9),`n,ÐöÒŠÀÉýÒ.lµ8¹[ÙNÔOT|i•‰²ÊAº?gå‹ ü[”ú†FmòÛRøì€”¬Ms-} &`Oë{p‰M­m–ó}MÓL)#mï÷úÕc õéÿ—¯—âjÁdi’[°†ºU5¾O\W³S]ðöCmvKk‚ËÝÉð„< k3~w„”"OÌr§u}©™² ‘Þ(cÀóšh-½¥ÖŒbW£1Ëš¹iX^ì,½Xº_ˆ haCvHõȲŠ~ž…ü·¯âÁà ca…çè^döÞ³ŠÏ-~–5S5zIm°ÙË:@Ê®a½«¨»ñ°¹Ucý÷DÝ:ƒ8Êç§*,{®+ uTäs§ˆ#ž­ê0¯ys´-I1Óƒßpñ.HS Ÿî£¦¶W"!™å?rÖPß :ýÞ´¥à¸23}¼Þr©{¾ žì ýZ]}w"0À­F¡¤m6¤íþ3‰¸ÿàžâÎ-Y†@Mù—¿mÂ}åû³_Ð|/>øÅ¶×൜T¤Â‚ŒÎ„$Š)ôÓ¹‰%à`-—PQ-7½+¥áJ‘SR3ã**$àu‰u•Ç®ÕgfÞ)Âͧ;y3M#ïiFCo« ± †’"úϪޢñ>t¢ýÅÆlÇí^ã°¼QìÔô¹Œ½”ÖÌ/š'¹÷ýjì”ݳÐË  ô&_È¿Åq+KÆè‰,çp •ÈÅèîJ¨t˜ærë]úo°}„"çŠAq#¶õŽ• ìׯ²Ùü¯|Çi½@+g÷»]° ‘§*b+,‚ߦ )<Œ‡újÙN Ì%.«Ÿâ¢3n}ˆ¨¬&ÖŸé„Èå0Ñ,S^Tô‡ÂûO…¡ùÇ][åe‚”TdÚfµœk­á5^õqŒù¯n°;_@'CæSCJxÉF½ÿ]!Žçpjï¼ÖC¸#`DbèÉ|zÃPËûê•iµÌïépƒÒŇhì基…VKl›sw"Ño€ÎÒŠ)d¦ôÌxá¸N²gvÑÆ-‹H¥åù÷úÃüp›ûX ‰å×/)µ¼ S’`$`‹}¯GÒ¢JU@¯æ(Cº!T‚óÅôhqY§¨°fž5`W¨ÜvÚuJyW_øVƒ‰¶¸yFâÍî3UŽxÍ럆€ÏAlÓ--¾qÔ³JÔ"ø¦š£÷GHtîÏøé7Ÿ=&†„õÀ»÷º†ðo lËç6J/ÏÞ[ÙI‹yå¾cÚ®ñ×oïL!èœáB#̵}t;˜ï¯éãŠÜ:Ñ_‚™Òî ¹×¦½Ìß.2ÃÖŸ°s.i2£K‹íGõË@—’{Àä6Z¥>A¯ È _n¾(•;Ùaj®Ç`òkrS<“£€†¶=¡'«¸Iý¤/é"KÝ(Óæ†f!’D£vÞá¹ÐI)ª<ܵ:4š#41^©£AÁÆAcHqÂ’{æþ º0&ðF.âçîøƒþݸ+³UPùÙdò¡mŠÀ^ÅLr;KYÌ Á——â¯&&öN$T(ûã…ÊS%£ÿ…ÌêÐʇ_•|„á‘‹¼oÃëhu[(§Xzý úïQ…LžÙpàXÌT 5£}=:ßâï½uÆü"j/V^ÅP¦¿h/9+1£mx;ÁˆŒeM…¿¨¡ÆBD_d—W|×ëeŸ?‹IÔ¾6,š\µí |‡¢×Tì7(”SNš†¦¸bÓãJ:É®¯ÎÙæ<ƒO¯îSè½~«¸œ:LÂb§à?ë&–ĺÚ0³š›Ç÷e‘,¡6/Él6ìd¨‹õ;šÐÊõK«öx]¼3);šÀg.Çâ¾QË=}‹9`¡Ÿ¡K@Y“”žËƒ£DQ=3ƒAÆz=0k…ŸÁ×4m‡&Ëèl/ˆÄ`"©×':¿õh(áT:ÑcA€XzÓæl»RàsË™>QÁ&`‹â½D½]LÖ‹¬ïXáa†¡¼Ö <óî+oÊ>øâ×Ý©^–\…¢7ïOdP4˜Ð®¤fØr‚õÝuËîW¾§U je—©”–0*OOaËcJ¨æÝ¡Äõ »å“Ú³­’ m Cè”¾Ò zÚ¨÷ÿºb³ñðé“ðý\CfÞ—." 3I†ìº®áÉq•Äå=o±× ʼãÖ í9"…GѺqè(?™X€„ØdÂá8Âä{e¤ÅÕƒ^tÜ/ ÷+!üK2‘¿©¹;%G­é¥ž_+87?ú¼yhX|–ÚÑ«0ÂBIÜŽ8׈VŸô믎ˆ>ªÌ¼Ç\ॠ-M4Dà„?ˆšjò¢WàO䮈l’ŽÐ Dã ¢§É´OwáB#èÿ_.{’ ~çŽì^¡œeŠæ­é9lßÿ²…ïmA L\§ðƒÛnkžÁz¦? ?‘¯ÚÌXÊÆª•½®°çí@%ïǵfªq#r‰&="±gqÉ~§×‹iCÉ(ãŒXMËÿæý¸íèHôΜÝ3y42a]ðÎ((Ü ÅΔ»Ô‰Ï¿zѧ]Öó>Ä ¸?Vÿ¨HQ3>¢fS(¬?p0Ä Å˜]==ª^kñÊ…²¥mÈ/?«hæ*[ت'—øi¿¢i‡~0—m[‰rîëÙ¦–ZÖÇ>ÑV…m¦.,+² ¾_7ÊeD¡Šo\÷gÎàÛìÀw º–Êô½"Ax`-_‚åÈñ–ˆYñ¸‚ϕᶩuíÊ&XWªL T`-•¬Œ»ˆœ#pjOÓ¶kö7ˆÿd[2^M¸­e(ö¬¾oS!Oô>ÞÙ*qcûÌ Qéû_{F-sÞî Ã6890Èé[®ç î<èÿ«Ö›‚£ÌÒ›46*EŽ2›ZˆBgrŸ±lGµt6ŽÇ6weìJ(0 &˜>ÍÆrʼŽðúqc3^Å¢ÍŒÑ 2n þŽšŠšÿ $ýšq»D£Kõ‚uŒù¢YIÃÇç(â†ßÇÀL‚í§š•ë;)z‘.»„\ÙzàûxóoÀZ¸ƒAŽÙÄ'Ü2•>§±R림dù?ü¾Ç‚8l|ä„{% LÓG²~§Ïƒ Zµ2jÚ&óOïqn€‰À2Ì€gÂ%<æ;hÚgÍ}©³ÕØ`eöÌiù ¡Æ•¤ü”ÅŽ8>ÙKÎïµ­‹²|ø‚I­Ù›7«ô®@O¨‚îKµò†N+½¼ªR¡cc­&)K³”¡áèš9Þ‚=eºžDZÍXXpÓž †{'‰ˆO» žÃò¯œ±4l T¼ÆU _gp)| ]·^aCÞòFÙô—KÑvñ_üñsò\Ö êú‚wîU€½=.F»öV€Ë®ôè÷ 5øF¹²ùô­ˆ›à·R7ýTŽ î^`û@¹M½VÁë¶©Ø Þï'·KŒb qZ›¡ö(8\Øm!§×HOøEB×í]ÔÆS_³&q¬¸c]9ô“vKhs’2õɬcÃéb]]¸k8’á€û›”¼>Y./i<1´óUži‚Ó¨ =ÝzX£u<Ù¡Bü ãY-A çe[ÝIäÞ˜Îéößì*Î&a”·dëK°à5pgòD|¼È ý‘{tɬÐ"gˆ¿ìš²¢à#ÜÀ#Ñÿ4pfú¸ò•ÉÌEæñSMÿ@Ü*àóöP„©  îshT,d4#¼ÙwR GÀ¡{0qê9ã¹SS÷ Ý”þZ‹î]¥Õ±Œ%*àñ4(Šv™`€,(¤„ñ¾Ô`4áa~C‘É$Éʇ„¾’m_Ké³äØy*ä©ÏÀî!³Z½&©Êy#%Ùçu6¢¿­ãɘœŠæàã±UÜÃì6žÃ®à‘à›–‹bYbÕe°ûÞHéƒÙ·ïUD1 6åS¾Û¾FiÝ]:Q÷3èõ6‰§4îËnÚàg¿îaGa¯p–=%bvnÅ©trôOa~°ÞIŽ˜Æê¥(V c—1‰Xdý–.¡»0&öMŽ4òéq´ÿ"Þ]…ŽPÌR²[b‹ìrðôñSö3ÃÊ1~ªã"‘a½œÊ}OU˜V¢Ä&@ê„W+ë ßèÛ".‘ßzlP·vœi¸pm`Ë«Á!RxÇŸ¹t”]_­˜’>þ3žìé„\;O˜eéå;¬tÚDõÚXÖcãÜÉ16S#¿|{$=m×–w—áæ$P’êY70À§R÷ýg"`2®„!'4Ì™lÁ%‘Uüú‰ËÐï ñK•] VSqÝs<_èˆ8üzËR*Ý1yÂj@Ûú …ô‹ƒìv’…»õËzh5ÐÛÖa€_™Âõ ÷žä~Ë]íd õ¹ä@Ö 3²A§ÛÉ]«ª~UuÞeÑǤƒ›sìÔpsfgO8зԂa™ rÍõþ´§ùßMå£Ò‹¾õWâ/e½eEkàäùv•YÃúÕ)¶õbýLB<­LíØiر.é ?G5¿õBÜéø…)ìr%+8Ëw¥ý6-ËëØ)*‰A6–Ÿ6eŒœ)øºõïÆÀжuuÔš¥ë„yæØ;½ouŽ,;¬9ÿüLÒ2êïCé§qÝ_}²Tb´é»® q‘’dp;…`e¾a7þˆ£Ü|íH|™ Œ0³Ó%˜ê’ÜväÈpô=4, uÒÛm*d™“ÝQµMJÝù¦#û ½ö=’ÂU\¶md‚†WD´#ß³ÏãmS*àESÔüé¼ÁLN¸Ö»¥!s3QÝÙ«ÎñÍLüÊ” ôR_¦ú€!Ä|•Ñ…Ôà:›ç¨zCþ@áÁŠÝ»áxêçŘ-+F~âG:‚Çú£tÏ>üÕEV꺵¡+½H¬¶ƒ£–Û…ö%³»;[Š’Ë/'7_ÏÉÅM‰™F_"ÍÄSáP­¸úXïh„ ÍgTCàÑÈ"V„:Ó%ôðž!Âr¬·|ÏTf6‘—ì‹`Yϸ¼ ÎòVe’3>%Z|“1c¼Aïëó½R0®Eb®øß5ù©žOêòOž6壩Œz¥­ßœ:¾²Œê§ñ^³Ø²3êª .Ê×Ô‚ä=ŠöFçÙÆ"M6ÞƒasÌ­¥õ}K, :þ"´•d´Wœ0–é0Ö×ÒËn¥i<Ãà$®¡fkÚîM{›ŠƒçyƒüºxSq¸ÐF9ß~±,–Å^`.2±Ò; t¥¥ˆÛŸŒ¸b@‚CÄÞe2¡ßêí Äla‡ê|ÜÔÒæûðžâê…=»}Vìý½QppmpçÈí‘QPÐ?å΋iÖuÕ‡`Î&èþ‰{kŸïнOßKm X•ù(~X ²¢¤\E4Ÿ—¼Sfz¡FüaIÆÄ¶Â–?J•àÈ‹ê^Q ^Úµ ] ÚFwWõˆ£íî¶e„“P'ÛËТž£@SÉ”î$ Šä%-ïœÞŽØ¦³Ì ~/'ñ†ºKÀx®WÂ|ë2°Ô”8E„]Ùqæ'c"á‘TÍëÈ wMÑÏ)€Ö¨)/žTjä¢uM2ª•ËM·FÐó]ðŪfÄ‹*65«ÅJa¾6ú±ÿ=òñù^ƒ×øW‡+‘컯çžÿd>]ß¶÷¼û!7þS‚ )C/$à ù%zÐ'¹a®{–O!¬ü´þ¶Eƒ"Þ2KÅÓbëc²ŸÞ¤na ÏQènwÖ)à-~÷•ëx, Ã1­h.(z~M)iÏ s6 /CòÀµ)Ô`—Eþw(,Õ]aÆÛ/FÙIB̘Ðþ×x¶ ÃE .Ž‹þvŽBÝ»†¨è0?,¬×IOÉfcØBôšaâ v5ü­(‘ã-dcÍgTD ÛŽ >ÁÞÚ iGNúØw˜uO°‘˜ðÛù¿š ÕÁhX¼µŸ”vÏK_=üƒéÿH0Ê!ÑQq{)ï}Ô-’ïd a6nºÑGå[P„¥§ë ™‘êDw4x8…@(XÚÌŠmÆËQîœÊj±€-‚b7%r|I^ågëÅ©}XRC^ü’ZV®ŸüÅ{3,«sLöjD1“”üÎ(TsL [««èØ%¼8ÈÍïžOH'ˆqá–òtÁùGq1kEŸ™›å·ö_ óÁoØÊý Ì`Ìa.@t‰ØYŸß¢1]h¡Ë]"¡ê8Â_†éë8¬±¤Ül^«E4çkÙa®t¼<åÊe–ïý½mœ/{W¢Ï†ÑÊ.´rŸr;h£ÞUÄav10yþ¨¤ôs 2ÁwFLÉ¢¤k ÒÇ#)±uãy…'Y [†sÝùø"ñcY‚- ]ssùº=%IÍ£÷Ü™•oµý¤¼’y½uáu\˜ Ýd" À«Y3h:gúÍõ ÙÜ“+ŽÂÖ aÝ4.gh÷½ Q¥X)ö`dRåy_:í·ÂVNG|·»«ZSÏË1þ5ŸDtÒH¯Å—V›ï̓EöŠòýnN*°ïõ’dˆJi»Ð’<ÿšŸÃbÀ¥tAø‹-ø ¹CÂŽÒc¼ã£ÂVQ$»aÂåÍz×VÙp’ˤßhjãUfXWiÀÒ©–™kî óxû(þg÷vÄ3ºÖñ}|Ð3™Mn1[zŒH£À‰ù‰E d­c]ºèJDB€Ä1,Ú÷a¤ÛbgèÓA›Ib“ÞòVÅÔŠŽ¯S÷Éít ©QÍìvqø:Ãx&–&WÚFáA²hÝBi`~ãï¯âUjOi×ÒŒ¼0¥û2ÅãkÁ6 ~’7@{¯~öõ”7{RJ‹¥ht€n§L¨ÏYÅlXUý]IbÝ(ZSn&jiœ ÕY‰U" w ?w‘©HGÿÅÓ9^‘Û •·%Lúâ1x°¼#xad-fMýò†í¡¦"Glp€]všFÇ-cÝ2åû¢J)ŽöÔ¾üò)é•Ͼ·æ»Ã %[bvÀ´ Ô•°<-jÒîÅEÓ\µ­ñ†µÕ÷Ôçty ëŠ!̨dQHfÑég÷œi•ÚOh>eP‚³éª•µ¨ëÞ·zrõÕ`6ÉÂd‰HMÄ”ùúì8hm?ývd ñŠþÊÅh¡3*Íÿ†ž)ÊÖ 4›ñ ÝÜJ—¸~½W–»þ„*¸™?ˆÝô댰A~CFÁ©{5)^Ò´â†'lÖH»>0+¯w× 7½ï{‘gÁúa·Ü¸l ØÍ\¡ÝIÁÞ¶iûši ˜:Ëμ€™OnÁ¿0<•k@¡1ͤg:`)R<-¯M_’§óîßnƒÿß¶õž›1¬âÌÔkâ_1Â`JBé¸ó23@þÐx-OŒ³åú4‡Þ[ZÒð«ýÕ*ãWH¨#j—Ç ôNaU–¹÷Û“ºßÓ ¼^­Õrg U0Ÿ^¾K£U=,3ˆ§ßØPÅor1ôQ™x€Ä"ïÓ¹‡¯ið€B®ÑSØ#˜O=†vh!¶%¨úêÊa­C'÷JÎ'μ6¹alõ#߆‘‹ÃW–/Ìà²}.kšQQ'qË‹íïkGxÑB®1­dÔœyû ¥EšH]lÔÝZ$ å<Öùùdá[Ù½ž_•§`7²ÃÂÙu›ÖŠ– ùÅ×ïýR¤Ì‹X?”ídÐÌi„¿^†‰£Ã“d‘æNË8´x7Õ7`¿/€¯{äZßhƒÑÌöÓÕ<;îFŸBÔ õĨÕÌ´˜a{ÕèfLgø˜;{9á®»³áü †¬÷2Æ©í˜Ãûe%9’¦g底¿w»6ÕèÖb;%d’? (Š%mj|°v?á—`|DÊTX«iªNò§ 9`'¥Ðmn‰eÏy;³\ O?HåFhz©ÿ޵ç´ìqwSI+׌ç½xÚ?º[s  p.óKh'ŽÅ~,!“…u3ª5"#ðb”¼NÌ€µ¹¿êf"}4•­~ µ*‡úP]ŸU™XµÅ2‹­¶äH6‰æ”° _¾dÞ3ÿõù"CÛ¾610ið\ ¤ö²Š>mµFß8KðÎ4=F™„MàDìß¹)ÞP;{¾/]¼^ý>ŽÃÇ|B)\àûâ­ôuí4;™’L\ß™ªG'4p芩-™™|£ÛL=æ5¤Á˜€)÷+w2ã/îÒ˜#1@¯©VË ÕUÅͼÆfìqiòkGy”=SàÃÉX‡Q¿Ù|“øäUcÁ çú#ð¹ *{ª`6Â=cˆTâ(jĆ¥f:ñ9”íVèJN÷}ð!Y´¹)îOu ÷¦¶–™B[ò&-åP_³ ¾øß€`µŠØhyÀÚ”~-þD­ÃéÃݾ’¤L˜aòcÚž‹{ù#¬±{ϾÀrJ˜:ÖPo‰^¬…ú÷©Îôتé¶iï¦òŠ%ÂtÄT¸Ùs%Ã{©¶ŒÈÌË›Tã—ãÒïÜŠž°^A‚/êÝ'Ïé<|ü²Ç©UBª@òq¹}¹ÕÁr¸†O JÔeú äçLUüÉÞ¯>§’ħì-É„ÎÙ¦O"uuUÖó$lЇ4@›½è“¡ éÒ“ö“‡G`Â-*Bš“Ü)ÄF×ãØ®§ÁÖÝö&—MÔ.Ü\õ˜Ò@%á[-Ó¤Ý8”ŸË‰þÖΆg’PÀ˜nÐi[àú­Ò'¼ I¤Ü¢œ×öÁhø[ JõÔOôè²Ö\ºÅ )}&D*ÅüæÊô< A¯wŒÅGtµ2^-E¶UŒÓç•ÏÔ'x¾T£Pý‡Î{AWUšûb"|¤U0:3&cÄ9¤– øjeŠ879ÂÓ—zG†W9¾–Â3ÑŠo5–Y•¦@Ä*Zü¿O!JŒ—×À«ŽŸLðxÐ.ŸRªÞÒÇJê}Ácyþolõ›ž¦Å;i4ÎØÜX¬!¯Ýñhj š%}6uúÐ^ùŠ¿-ȶ‘õ²9ªÉd ”Nµý¶žH¯W3Äè45OôR¤Ccì—ór)R#Ã28 Ë®ÄA%NY.ÇÃÙ£Cöùƒ˜‰údsEÇ0ñå£V¶Û{Iá"úžˆÖn6(b…çÑ‚†Ï­8ë/*úl¸hϤÑ2Àqp#)2‡[‚ÛAAV`±…±‹!<6.=lTÏ ï½Îz….'§í„¥ÑGŒ^ºÐ€zuðÜ´£žt"ø~Û'Ñ}àßÔê¤ø…WO!e&Žc©02%L¼áœ!Í*¡¹‹  bœVTOš…ëËo'ÏR'Žðlòg¯öZýtmè¿bJñ¶V¸ÿéÍ$µ,Ðé¦,6j¼ÁÓ'/Ððìêwd6¦ýkzâ|[ŬâCbqªl8Н…RÓ“·€2ÐÙ} ÇÊó‘aK{Ü1ø”Ë:µÝª·&l«kUEžÔYlËù+/]]#fy#ŸƒsŸè弪ùÙæï¤pUyK‹#ÂÝdP3R_ê·9b’¤ˆ–9oÊe©o˼D§²ê·¶ßC^+AMv‚X€ƒi¡ª]M[†ÙÈ ¯‘™Šyj]SôrguËyHÙÜH+7qÁIOÍø—U8v+6=ªÔgÄ¿#•R×4î9ZÆà>®¢%/†0±Bž+šýò±Ø1i!k«"Œ< ÑRެ3) ss™ÓÒh$±¥[ML#Xð¼#ÄY ŽÁl[<‚îÆŒö)äÑWt+nÞÔUùq±¾G÷R5AÃS¸-DV–Fl°Ö2¿”Þ„%»ãðÑíÛôÉ@ƒ`Œètì#Ò΂6ǰf`åSºÊ²³p} ]"eîÍ~gmþ¹|n¤+Nß!¤@–WÉ}–.åo’Àæ7w½cýÿ*C³üqìPDCô ³Œ‰ü¬º°u‚­'±.§ƒköëjGóû…K™ÈioöÀ ëžyx„w»øy×`C”ìàgúP~´Éš2ÉÅýzö9>“Ô¦Ý6›¡ðŒwðyýÞá lùûaîæ½<|ìÚ\¬x¨Y²º0Õ&¨SÑ¥i¾S,›úÄ®ã{¼ã.Ÿ­†¼ÑðÖzršiïðÄá S£Í|"£õ— ©­Äp¾ÿ2œ±"Ó(˜Š¯šIr‹B™N;ú'¬8KÉÙèdÝ+ý6ˆùÿø°iŸm–g{R«ãî%ø™ìÔõ ÷gš×ÕœZ/†oÉèÂÐ&IƒF©ÿ½9U°l…Ë…yÔ¡LáÀŽü; fkÍuÏ!õâeùÍKÌtC‚œ`}¹ƒØiÊÿ7'vP€Œ@ryfÍÿµ|…‡ß½Šm‹ËZbú qTÂG¼ -˜Ù:!| ûÄ._·gßqåöA÷ÁÉÍé{„»HÝÜ&ÍŸÏ7ÝæSÖ¶!p î¡x®-¶f"›Â™Ž« èy+ _ uͲ^*cÃ$ Ž$9JîÅX³<ô°œnF½:«^k-sQ}ʾž•ùB…KHì…ξIÕ£ºš•“I€®‡°™eÞ´ÉèØhþ$\þ³S›¼mŽ?Pó©¸Q§$À{Û(,VËG­ä4¨`$WhèÒ »ÿ@œ½¦Ô½Ö¶°›±fú³»IÄa“YåhË|aË¥«›ˆ&¸(÷CÙ.¾€šèê¡¢h”³s+‰á2†ÞÈdô¼µ&Ѱ÷xŽË}¼Ö“¦,šÆ¯ä/ñÈýÄ5ÕÙÇØÂ>Ezî­“«Ñó2mkÇ+§å]ñ«¡9mm‘hÅ;GRæ9Þdѳ[$)Gûµ (c(ûþìÐÙÚl[2†qsxéxM`;)ëh÷þx0Œ\Û€*dŽŽ‹/BÄÑýÐ;ø”uþYaKbáÝDD“¹¹w)kÿ™†*ÓÏoߥg g!æy£}˜DâþDPØÛ#fó ˆ¦è&mv<À³×"’ÀÓÞGÖðýKtãó_oò ÜË®;¨—ºš+â> {™ìŸnikP¾©­§ôe°¤& —SX+ ‰@9rëÉmS4ŠQöÕ ¾Ãû/Ç+Q¦dÎ1H»r2ƒ©Î<ŽD+bŒnta¾$}/Svz‚¥Õ@œà‚Msa!]‘†•rí#:Ò»¬íJ s¨9Eø¬e€œ“C¸r·$7-"œDÈ ´"ïVñßÒ@ öòÍöC:äUt  Q;=âÒ)}¸ªšïߨdÉ7„ÎèŽ7w÷oÕæøÕ|Á亡Mù@$šÂ´l§AtëçöºC¡jùò“@0[ØâCù¸r{6²$5Ú ± ¼wè-õÅ\YƒSWlô ûR?%Û7LA€ð5ˆy>æa¾ÛÂ]<ø‘¡Ï‹ºywd·ì5È÷UN„Ë÷\~*·¬¢ ÊGߛΕä9»åß9%ØÒÊBo&¦- JÌõàì£!ΜJõñG;‚./âÔÉÕÿSMåN¼•þã'‚¢)âÐWÝ:.Qðçdžßa ¤ƒ`ZPÇÌìe]ª¬llÐЊˆÀ˜3eè² ˆÐwx¬7²‡Åˆ”r%xO×bC¼ëݳf”6ñ¬}^wu>à_»&ÒðX´hßËf  9ú§È8w OÞÏNià1m®¶noà |XíÞýÜèÄ-âá>¡@U½¬ú Ôsrè3¾R9”þ26æSh6Òr¥`]»ø+á‡j¸×ð ®è²ãû×|)++GD{/ØÎü|õLJk•û¯ŒŒCT€£LfŠhU"ä¯Hw«“¼Å€qøVÓUn¸öý?[v´“xË>&Ë͆ ¥vM!WA.E°ôÍB;éNçS&9‡•¨kÁâö¹1ÏRnHoÛdhÍŽMLA™®iÙÁ»NØã9(pýã[<$DÏ} 1s2QEo’eŘä©ëÇ´XFñ8âÕÿîYåôwP.csgßöï–,IsG#]Ì ø‹4äÆÜ~<Ù¤õ¤ˆc7_³Àjë,a‰ïƒr&Ó+"”Ü Ýò” Î4ZÔé#™Òc0Ãü÷}CUþøàz³‘íB+9¹é´bü-—Àþ°ÿƒt[޵°¿? þÍÉ3áãÝóö/hˆrzÔ±¹äãý4Á<âÅèÁßj†Ô¾ž‰B$„;JU]ËF§ Žtžíó#ÅX+~Ç'P Çh˜Y¬mb7È)c(?þ¡ŠFÂèBüÓêÏ?µ"7ºsÇ"x4dFÁ<ð{»…ºOî]çœ&™i¨5ûÌÁ­Yy‡-¥Èõç¶8gÛQ4O;æêãÿˆ}hñÙýƒ(Йé E )´Âòm'ƒò˜~ˆÌ„mû¹©¡Úÿ… 'ìÍ Ãu|Z%…f ëIºl< Ë h›¶ŠÈ!t5Ó‡žA'CMK U%#sOEq«kÄ’ÉŒ\óhk÷|ýPËæ»½¡Å ¶ÑÔ¥¾Ò›_NïLcXzÂò7°,‹…‡/êðÞ ›HYŸ?žyIU}³SPà B6HÀ( ÞÞ†“™ŠÂ_Ü`oeĆÖB©é·–ƒî%½H‰C˜õ3àè- Oé2ÿ°2·:W¾cðÐ U­oã~ôḎÊ2#ðq¼£ïáþeú”(Û ÓX.è¿–¼*¼c9 \½Ó<£&ž’(,¥àš†oÅ‹vi·gfï$£ÍT(åǨL¬¤KŠßû +°|™kõàˆ½¦“:…z †çN3'sAmdì§Ôñq.ç8SŽînÝ£§kÕB®oüh4ί޻éªohËñàôøŠ5DF;‡ÖÖúÌwWrž;xJ  S=­‡BµFIw”è¶Öíâ.ÌRpƒñ‚3ùŸ»¨tý§+ ,ví½ü)2^$‰¢w€LŸ £hŽÓÀ…Mæó$âùZYscþOýX›¼ùN©ò‚Ä÷ƒ‰)£Y\Ãò=Y˜ãM‰‚ûÂz¿ù½nu³å¼?ºØƒkȪAçÔ:©gÀî­þ»úËj6ái?¿Å.ŽWø H2Œ@ï+ûõhκ´ôÒB‡+s†õ¬t¯J)qÖ.Ågƒ×arŒ“ýqŠY×Âߦ浶#aÔc¨äŒulHŽ÷¹­¨y¤£ »™ëµ–Ü“ÌU#Ìl)þªD±Ç›ùà´2é{g»>ˆ00_¿j _gõ#\û\u?^òVÂ*M!Jxå…#Îç Øç亹 ÞØ£¨Ù•©Æ[Æûã'í1"ÌÃå²Y=óýøìûvE΄ÅÜ®®ÑN:‰Vp­Ætå¥Û¾ItÃÇÅh‚iö‚“R‰^lmÞe>0B*­F¢ ë 6Œ7vC¶5ë-.‚ýêeTí™ÃCF q’|õ9ñÜÝ a𔯠î/<8d ÒÏ/›öÏ´~ã–~ËãEQÐKÂܸ¯ø½Zùþßt7‚Vü—7í ¥²Ööü3@­ƒ­ó‰ÇÊylàæÀA@#²EO2ÔuÁbÖÔ!<^’J]=ãÑH¬Á¾€Œ¼ØOâÞ8Ó´ ˜çÑZ¶–‡ÃMå’i‘³·…}ó”O—5·Í(^…)äìÍ„}¾hŽ:Á‚¨>œ!wi¢`Œ3îCëtBJ²äícåèkf•Œb—M!ŸíÓ”Áz›N[ç(ëa‰ßt1tn9’2wT­ýÂGŠKI“\Ö¢6•÷˜·i1(£»º×eëñêOÕ%¢"ÛÙßêÞlз­ðÒ¹xà úîTÐfùLjµ§Kí”®ÁP_†krNKê>W”?' ôU¯IŒ1Ñ„f‘žá­Å(ÁÝÜF¸“QÈÃ8ž~ÙŠ§»ÝñmœC•µ¤W—Êè߯F˜ç®ÖÚmþã„öàÈjÑŽð‘èÁ =g¾ZC¿†1»üèËø3‘Lzù9NîÁĽ⮥32!/„)·Æ.éc@Kñ¶Öçòî8{ÕÏÅÍMÔÊ•f²ÈØü»ÐE‰ÿìlp ѼVø‰ 3MfÐ3]èÂL| À½™Xð<ÎëE¥R8G ï e‰F3É™¿gõmàÅØ°K¿ôúOö]Õ?G*†ú…f«72Óä<¨1cWÿ¥¯ARãå‰!˜ÑÔ³oѺ¾y)¸£¿ Ð>ìLO˜ä7eª9“èaeš˜Í\ׯÚMÙ¤ ¥£ý_½À@eG§=Nâëä¾HŸŒ­‰û²ÍÍ}t»¬‡YúL±éb’I ŠÍ§Ês…_k¨¯Ÿ¤Þ'áú/•„8û`¾½+»ã—œ ã}÷3UDrtPÜÿU8ݨÜÄaÖÞ`·õ /ìµþ¦õ Š%…€…, F¬h:áš#Ön²ýVQ£4srÙõK3´§‰ (uÓ´‘i+( ¢AÂ…ÎdEnªŽâ÷~æ‰e C|1 ó´%á›rÃÙÀÅ«Šÿr’ÒL´ qô'±Žåµ¸t3ÔJcòåá¼ËC¼wT™ÆãM’iw¥?øB®âyzÎ¥€§&ÿ°Eø"„»½{âî½Y8È–7½Ø­þ2Áªufu>M;gõA&€ËÁ¶Ò·ôâ{ø]LXTbPó)T×ü8ܱNmó Ä B¿GZQôÃɆ$À©ï!Á_¸·gÐèŒ|s×.äªçQ@ßåVÏ8¢ˆ}ËdãŠ$±áãþ=DÿÎArþFgÚÞD ö›‰É")çùó.W‡Ôð.¯§yÕà|>rB‰Ó¼$_àfçDÉ!½’¬‰ûê!ñíMÇw¿|„sþ ªHk™$/?ùaU`H14Y™Û’)|¹/N¦:;\'C¦1ôëdb®1+5§ñ$êfó Ü•Oõ9y²ci’°Þ ìiÈå¯,`ä°©Âys!Rüã¾Ä¯RÆe’<³ÑãT#•Vž!{­wVêxöúg!÷7 Ñsòþ ²v'Õ#vnˆÊYÏt.)Ñv0Vu™"…åÿÁ¢¡ 6½„øDÒÅÕû{dÝ쨊"¦­rëp' »lg]dÛ6q\%æL>'˜«Ó¶…÷±šÔÝ Ä÷?ààÒœyu+ŒšÒ½é4Ù¤Œ)¬>hì‹,DOh9E(tpJ¾ÓãPNê$ÿKÒ;CTËrps¨Æ$ˆÛml»ˆäF q-,†’‹— ‰ÂGñÝËL‚Ï `뫸î5ñoOâêg ¯«šfÒmB–UsØžÂý€‡Ä÷*êÕFøaM[â<ËÌÃoxc¸¬°0#AÍ}þoúÚ“‰'ÿkÚo9¬£†jĪU®&é± \~?ŸLÊpÙž dgÑÙ'—®ò>Ì'³"–y&š‚['FL˜‚y…â<¤íç<œÇd s˜Üå1URÕˆchÓy‰Ç»Õã°…GSõá\éÌnPÀÞAÅŽZ‘¦9”éðÉ]½k/émÕ3Ô}Ô–¶Ù“1TÔÎú¿öl)gÚˆûØšˆ¬’ËD|¦åo_åû€ì%ƒôHöëtèBjjˆ)clº¦×} è$ÓÑÏi1Kˆ‘Œ¶ut {D±`éXd³)WgX4þI*}ÒÂÅ“€Ÿ^ƒäÖ}´RÇ=å.8œüQR3í¶è•R–&„±ÊìáÙ²ºÛ {7@ÈÏÄê¼'èÿã<ƒŸX† I:*h_÷hI!´°T"[½†Šü¹ÜËž»äÏããÜõÖ)oÑ Db R$s¶˜VlÜìÇ oJ_Þ€Í~0yý ¸¯ÐºjÆí¤¸Ï2cìõáM³0}Y»àçÜ?@ÙÊ3o¥ÂP‰ë{¾óˆ ¹ËliwظQp½jÎä.ð=ÁÙò¼ËøBç{…Ž8m»1ù¾a -=šÕ%øÌok¯ÌTfR; mÍìfa"—³[ÁG»´t¹Ø+Y]ý1kp«ëfÄ~Å£ÑÝek¯äƒèÌR«äåƒê"Yt®»7÷P×[Ẩó.ÅaYõ(-³Q²?$ÉŠʵ"tÒ Iîv6<#ô2 ¸>ß'“g\ç¯ÚBdq\‘e¤¿5óFðÅ,øŒ‘dCé›E¼Õ“I0L \7QÐ/Ÿk#œ°"[mýëà‰õ [;úÜ,‹%’?Z:JÃCz}ïS/´Eã~sjÌŒ±4¼‹eE Ïr$ BÅßW@ôÕM¥AßS¶ÉÎ’KÍ)Æ“ÌQÙ n‚å1åì-É„%¯"ß±d±`oüÄ¢E—^'<†Eð;Sšd[K/E½nÁív]žˆu%÷¸%Jßœ[:`ln÷4(ßpfQîÄç€R"ÿÿ Þ†ïLõ.=`·hý&0õÎŽ“úíüGe 5ÊØëèäz0Nj±÷éjž")ﶉèÂÐg퓺¸æD‘f®šq¬šº ›…ûOŠà8k•[•Û÷s»µ‰›"‚®Î.¯ÇÕ•nðõ#©Ë©uk—@`º®2ìçL¶–õw?þÝíŽËùÖûœE$!hlµ\SØÃì5X #©<ëa’\ìúÌÿR(”‡`Ø»šJ+ò¾¾k­ï¸aª¹6þëØ`Pb²¸A>VJÏGQÚ«ÌÀ-¨…Â-|œwVqöHºÍ4-¢ïYÜÃ~ù]ÈæCÕ62ˆ¶.F1<äɉØS±˜kýR¡Ñ @Z4>t`‘BÚÁƒ޵êÍyåÁ?[âÒ;ï¬>¤Æ¿ß"nÚ2¯¼+D Ka&ÅŠ¸À(ø¯“ú­É“4T® #VgC»ÙÀLxmų¡R†˜+y2Ùdxm=¸:€à­û@]¸”7‹¢mVÕÎ*ó8«0–+ê¥ü¯õõ˜/¶ZÊðË>œ;¢×Ï YâòÕ#ƒš&GN=€þd«›ìLŒÉ'¬¯ÖÊn£1dz>%¾JšõØe ›ƒ`O–}À¤×ö};ØpA¨ØÍõÄ-Õ VÒp;°ÒŒ•×ÚFЧXž¢3”hs”!dšàRé¼&ÐVvsVÎzÒd»¸¦ÕZèï 6Áµ&O­ƒÝ»ˆ ¦˜Òwxymgß2Ò 8žõ*õ¥ª-ReJëÀé]žÑÁ}2ÃýŽ.k. :ŽÿŒÂû¯[u±Âœ({u¹b¹wÂÔu_‘ò‹ÞPú—>Æà³×•QidºXy~±8a…Àª•StÖJê#ÛO-ÝÛWüãx ãí2Ⱥ€»ƒÙª[]P œq×;kñvÕÀ—лü€7²¼ëö(nˉ^ 9¨¸§aŒcÜ⪬8ù T¸õPc|¿€©&?dX2"Z&€+Ãh-^ÔàI•â©B šzíAS^lw¦‹’ÙÝ g8‚ûË †)› “[Oö+Èu=¢Ì™LÚnpµçt á¬*¯ã‹mäì?¨Z$‹7Z£y1qhòV£×yïRëô.zÖS‰çì—ßAAÉ:P÷:Ö²kÒ-ºÛ”Å.ZÓö„ì(5Åv`>{BéÓ™ÈdYÅÎŽe,O⤈Ç9k9í'Ç}cÀ8’q–É4K`ûôþjduÝÒ¼}B㌢€²fBìÏé ¯+Ó”'™§ká |ÌÞðÕBµ‚}¿Ã§[ƒÇX¯¥x¶r)úQ` ã‚-ÚþÛKË ›JüÉArÂ'ü< üÖê!+k¬’$©u¶™¬~ÄÜ´£3¶¡º}…WîÄ¡Kà.Î0[$¿…ù¦ÂâÆ•ÏÂA<½‡4,Ü÷–-®mjõ]i¥_Ó0æRq(? š–ÛøƒÄУäáåÏËŸÉ}î‘mÑæ#ÛÆÀ~b$åú%ú­@ütöYæf¦QŒq‹¼2RB¶Dð¯9m¤ß¹OôëŒb²Ûª’׌=JKG5Y h#ßçq¹Œjž_©MàU/·òâÖböWРá©7i?øŠ·¸¾p;®!²Ø*JÞª©ü!®æ‰º‚ÖZËrOL’g&é90òΡJNÃ%±öõ'ô¯ïŸiÁ¯¬i àCþŇŽg)R4Z|ˆ+ ÃkN‡wYf7eÅ'áé§‚ƒÊtáÔðLE3Þ³òà&PƒüÜŽØÁ­xÃ~; Ã$Ó2.XÉ:‹Š‚…sð†ñ‰8~¢q¡É\él¼·ú„¯¬º…R,ªV]JQJX1zbBávæqõŃà×[pY(M™6¾°ÆÍǧټx@‡òܬ]Ñcz©ˆ£ 3Öâ*C`ÙŠ.G*03§0!Hô'Àk%'Äš]z ]ÃîĶv/Xì~ü4(\&™Ö±oö«›Íý¾šÅØoʇ@xJÁ ØËÒlôPÏõ]XŽÖkš ¿E…wÁ«Ä*¿6“o¿X5 3»P¦($xa§‚ÅEÐr0òR8¤ÝIEUtö! ‰ªUK}n½‹äûÉÿ<(XU÷ež·V³ò[UÓ»J>q ƒRä\æ=ù¦¼1ÈëÒÖ¼©-°QoÑô, Oþ¶Î7ÐM¾»[U¼¼íNÝ\?BLËŠZL ö\ï(p“aë÷âòèÑvÜ©Í-_²K]/uÓGäì•{Ë4š=¨3…!C9\R–|ƒmE¸³««hùEÉlS&ÁkÞ&åÇÇèJhùBͨÅ{Ê ÚŠì1u*ƒ®»Ãû/Á$¥+»š-=O­)eÉt¿¤ðÝÈê- pW“=X4ë„þ”ÀdšiR©}ŒIÌשŽ!v æVõwŠÛ…òœ(x†Ur°þ‰ÄÓã®ùx2B^\  ̬fÆþå%Í-G[`É+’ŠcMm§ ;`í…bb *Wkvi¶™Ö:ä6RØlhFª¬ Ý»”ç\ Ž…"J#2ø‘Ÿaè€3âX:—æ™Â˜áa)]{õè)¶žäa”U§÷W‚.è®PVvզã°'^õ ¦M¹Q¼®lHËJ/W²Kmb¡=kÝýÿ6çÉNo3¹½´ºt÷†–{7ÿ¢‰ÉÚâ¿gЋ~ú«õÓM\..D -€M¤*™!Ç­ð)ýŒõù¹)éA ‰ŸS5´6-콓rʾJXk°Öo`ñ(ìPÒ+ˆa"îñ¥WÆÍÿw}>•ëÞ·ýÙA%$Èq‘[âÈÊDÜxȰ6° õôãõÈܾµí" nxÜ7*ìÇF²€œÉ"‡Áø×Ääøî9¤”àáÚ·'3Û—:¶¯);SOkâ®0o- å (ø±2lÔ ðVí€KQ%á·/|b@i{¿£ã¡Ú#kEE‹¥Ä`i´¡Î±A7·Æêîç Èj†SC´ÇÕÌB·œ)Üþøü3”ŒŽvòÌÔ4¡Êwœ§­ íâzò)ü9ËjéÎh³Fµ|z!aqÏŠ-¤ŽwêÇ&žLB\?»ÙÀ½N¢ïE<á.èg ›ªðÆ02‹ó|H4ðk£:ÿQ¯wíÇiæÅ:Œ7ö|ÏŒhE×(ÊxV^§ú”¸í3šû‘S;d³ÇÇ1Z¤ñÔöiŒÝIb ’.mج9­å„o™`ƒ ¼mÿxÔ]‘Éøn¢5¹õ¿Íx÷À_s²¯H|yèˆ>–jâ^bÄCÑœ] ‰Æ=s.lj™¶öDò‚¦m¹JÞpÒø‡¬œšÞÜPƒ7ì5—ªSi0ëÀfkkâ*V³hß¹-^z/íyüqÕèü[rí eZƒ°ß&]×cÿFyk&Œš[nȱ[”’ÝSLôm ,«#sèzQøaW‘ön Ìw®°–pã<Æ‚2HEW#??í‡ÆÒ‡Ì$”×5Lðý9+ÒhU´È+húè-ÑåD5¡Æ¦).:0-«X2®vü_þÍÕ»å/]Øøâ–;vc[¡PØrÇ*‚x‰kw"mÒµ®—~“À¿~Ÿ9$°·¨–Läbb.¬å%¦Y5]üÈÆÔ²á—Ý“#çr ïÁÌQLAhmð[¾¯ { E†ˆ"“ÒE nwºOH1å p†Þ;æ‚÷íQÚ:h:蜚GÔé—ãò,M@>hoè1[m¡@cžèº§o³B¨ëˆÊ¯,å ¬b¹_à`•ú6óP ¢]ɶþ,.,9ÝzE«ÈD}×FÈ|È3pûÎKÉú:º¨¹@¾Ø3™êH¬Sóþç‰+%U›@ÀÜ¢.M/Ø`óìRº!E¸,Ôk·ã 5ÔïO‹P3“4®ÊD× ¨/b¬Vu£jwW8ýFx"Ë;92Mœõp~{°÷,­ÏÊIѨ]@À‡´‹¨¿ádßY¨ÞrF=ãæOö•Âñ0«gÔ±),µÆ 5çô8Û›KÌ›L œ%ay.-ËX;/k¸á³Õ› „ƒŽÌ bîiÓ=üMmn„gÇGIÞ 3©(íì"å†.VŸ€˜3ð}$ѵ›üZ³¸ùùê&~Oí¸ñ¢1õË!Nñ±ÙÙXh*D|ÝX4 K4Ù.øügó"^û}R[FWadº‡–Œ/ïÕÒGÜ%ã{sn¬ï©W¦Éúǧœ¬X˜6"p…GCU„õ®Ó²~¨Ö*‚o{IBdV2Ú¶5¿Ej6$!ôÃÝãœ]õ{üNý½,(ÖŸ Œ`Œ3Î$UO«<øžbŠÁúºý™40sNƒF‡uq†õ"ŠÄ—¯…H–³æ{Œƒˆ½I­G°¤¸ªŸ€}y€…òuRWlºô¦Ø²Ù LÌä½Õ³ù¹CWP†W£˜«ŸØF¬rT¿(än|ðYÀæ•Á ÅOz’7‹¿ž‘“}E8‰KÅ7÷yc5ŸjtI¼á>Tê9úN¯žo«UÈ’TöÆ‹ó¯âÝϨ‡êÒ½…5¡‹v[û7ViäFþÑ‚T_Yu9Øò/âFIIÅä™¶–… ,,Â.{õºŽ'Ø\¦Þ·]WmØðëRW¿²WÕ‡¹î&n¹¯ãºf2BsÚÞNf 7‰§`"£«Òæ‡dNæ{vpN æZæÍ 3I莽mwè ÆkØ?Þ+çÛ¼YÁ×GÕg+]ZóYÉ5ÈŸ-msNùɃÜð¤×éeš»­ÉSÃëž?¡e‘¤­Á=žà„M Ôú—uj´0î?ÀZ°Ä¨Ñý¬¾…*RÑ¥û¦{ÑÖ°ûžÀñ\e÷Eô¨¨8A½û o›Ê 9%0í¯¥[.G Ü%¿¬TúAØ“—³#È/¨Où)24l;ÕŽä!ÝJ„N;+¿…Ëçã0ú¼öKˆsìâ²\I+ñÁo’A÷ñRð£~3$nÕyq&«YH{ñcæEú™·òyÒþzo²r.Ý8JÑî¯Ê6•ÉMQ·¯l›C7ä+Oœ šiKð6 šsßÌ'çÁµÅcŸ€áxï¡b9dOlͧ}„Aäan¥VÅÞÁ×Ô‚‹Âß„&Ëïb ö ‹k.:›´*Ÿ…˜Ú¿¨ªÊ»a—}ä½gÑ+g¦„tH7ÆB"sÿ»¨ ÿÍKh™ÃÍ5ò¿° WCFÖ’¡dìx×SŸaÍ-YãëàU^Üꯅu%A ë¨Û¤ˆînñù`t ¬]øûù°°`¾s°A›‘ôù$:ª›Mè­ˆìõ_\Q4ý%¯kðpe+=Ùa6UŽÑßåÆÂ.ÙáE†šgÃ!m&{¡’ýí©R_טÏxÎzÿÐzU"é—dÀ¬…qž÷ÃFþc$$Ò 'œ °#1f\Jrý‹C¦~Þ 9Cwö‹êo ¤†ëQ0à¢Ò±ž>çàÒOaðK·ÌëÊÔ×A$_ŠR'øvüÐÞ³ÈTÄq–èO f-e1¦Læ@»z4L÷V|8› (Šààl3Š…8¬;j‘ϹVŽÎü–g¤jý]Zs—“ô¥l ¹V¢ÔßE°o¸/Pv&¯ö ¸ç]ô›Úkr•Ê®ë”zžq_@ê"+üëAGQE!S»€ ,43FŽÝÇhgFÇ.%K¢'Aø¢Zïc\tØÌ;~êS!æý9 ìÞù‹Ú|—»rî·}Ów÷ÏqZ§EÔ¥ ¨‰¥÷W!Äœ$Ÿz†ãdLo‹×rÊEùs»±[+ô©OÌwL±T Å|ÀÚxÒ¨ 8¿<Ãy£R4+œäÌã7oTV «S´Ï$D:ÉXÐQ2‚Î7RÚÓ†4Œ:øË9å`›ÿx:‘\ç_Jêö ·SŒ9µ;v’P›9eQöÅCZÃv˜0‰–îo*(‘lêx‘ õI ã÷ðˆ~hç7êUʪ }·([wF__â=‚ Kv§Äb-@—µI- ÓæàGb½ÿºÛ¼xXR´£­‡øD¼Åô êoQ9¸c£!°t>]‚ŸMœ­Q{d’È•ËdÄFÝ2 ¢y¤fI‚íSØ&Ù¶aÊ,,«^‚+õæ©Ñ‰MÉwbù––¥¢}P÷‡ë¥ô)éèJ#fÜÆ Š ÿˆ<;i-yGÁ)!»¨SkǸ%æ•{Û´áK© f{í^>M(MÞ,ý„¶ÔÝË]æƒ0﬙ÚmNw«X&îz?^ÆüM …½)-WõÔ$Œµ,1”„’YP½·³úq^¿œ‘>hÀŒäoÎVäs»ò,­j-–2´Èz7+ æ8<´‚³ö¿S¯q/‘åM2zkÖeûìiB¸ë–ˆËÑ/ž­dS¬‘<6©“KfTC{~Ðu?¥Àê#™Áð`[©›‹);5͇†ünv¼5»;£_"löŒô­m`ÇJ¼TXRm!¬#®uâE?Ù]e÷îº`œdàGåv~'Q ã¤>Ø?ŸÔ…%VED}ÃQ{Z†¡¶!¤Ï­† ™¦Ñ4ÿ¥; ]d%Û<÷¶ÊSDçÛeå4×h ™#E(i0’½ôèƒ`Sµ§/#Û²õe©1Åôˆd‰=OfÜÏëqß Êè2w@‡ƒ/P‚wi›âP/ßInàP±a7Öïú”ë‰ÊÉaÄ×`ä N!qãÐWÈ^üÿÐëߘö¦züý>(\yxýTŒþ™ûÞU&Ú¥J{j—†­ŽŸÃ<HJÆÆ:d`Ø+PÑ£n´”¼¨.²µIÀó÷¬tV»áÙ¼â\œBÅÓd\”y!êýÏ>òÖ>¬­‘ûf]›¶{;I£Õ bñøBÏQ=]n1à yÜ;o¸¨ª8Oc>ìî#»½t™ÖÆBCûxö7ŽrÓ Ss<¿­„B¹ë±'hYÉ•¶@¡ùêy2oI¹ªÂ]ò7(d¸i¸æª¤ÖBÃg¿˜ú^ɸ۱lè ëŸÙ_…Ô¥¹C2ÛðÕ ü .¶5B.³N‚¬;"RFÞ=ñâe’K>jÆŸ4¾3‡Ã{ã3.¼Z• x,òö³ÍmØÏc<9¾{&m÷]Ùjé•Ùc›(5Ö9ÿBц AžxHjc¶³2ör7Æ{Ç…²DQ’ÀÐ8=ÉSB\©j¨ã€,úÚÕ‚¸«¦EúŒÆ"QK?l¼VDƒî œXu‡n}×:a:ŽC\WÁÖáLQ¾~¼¥›Ä¾îkˆ2yHŠ&mŸ¸¸,ÃïˆýÓ +‚øˆ¢-‚g†”Óý5ÐâÛµi!n~È£ªà¸{/T'ʆâÚÌe™ìž0Ià õeN|os—Òbèµ§Zõ» sóøiI$:áŠÛ2PômÔ…¤E`¸Š[ñmKÙævåÏœzñ^Ž¿J\´,›·’äñÆcýݯ¡Rµ±œü6T¡4»Et}ðçE¸7rPÀr0Ë~Œ Þ/¯~­ S«–ÚøG‰¾Ÿ™*ÆŸ\-îïõ}hWög@Æm‹A*R™>½ÿ. ºxÕ›ý_¦¹è™)pï)áÆåB9ŒÚ½Nd=Wõ÷£3¿¦Úªl¬µæ[ïø{yŠ}·V—Õä=…F¦¡?£þæDèeØm>ø]¸h ²K»_·0Ñ“Àa¼¸šîV->(£µ§ÆSãK£¢–¤ òÐ häŽ]O;4 o·ïåû±±^ž:¾–—t÷»Ì(5&kÕÝFÓ'™yr}Ê_¶ úó([I×­ïÀÉ¡éü©}=ÔÀÛÇDÏÏÚÝŽЪ{ÀÓF0ÉhÕÛH%½[Y¨Hl÷‘2Lž³ù€€éÄ pNŸ ¨~Þ3ñ=„Ô³zvªÂiàÜÚ#.©*p*<çHî;ŽjŸ=¦sÚ#§“aíAâÄ,=­š±÷;³öþk«û),}ñm†Ö ¨’ŸõOÂ=÷I`)Á+ _'½,¶oÛ¢&vä|ˆ‰\³eÅ­ Û[mfž®&§VÃH6Ü H"¡S‘E‘ÈX:»E§‚W–Iþe/cÕ»ý]­4²]'%óù6ƒ†òèã8?Û•kÉš(¸öÑ´ÆÖ­Õ56í8¥Ë‰RÖÓL!$†ˆ0LÖ>µ?:b=hd›YÚ½©Ö{Ë s¯#“o;Ó¢¿nõ¨?Eì¢U^ŸÙ©¡|2 q(´PP&[³‡O±îL„W&7,·QVÇ72µH}4¶f50n&GÿÕñ„kM˜ØaÃßG›ä¨r°Ýȶq¦e\ü‘ŸE—û LbêB: 6l­‘xã« ý30-IÇ@rø„G––Û͆d{§hZv±bº‹ºI‹ˆõ‚®ðǼg˜"Œû¿:iIN¬¦ý2À¦z(Àç²êƒIŘi±[ñt‘?Ë·4кyù±ÏUYÁa—Ý µ–^w¶½þ‹>úí‰ñÈeàÜçÙýȪŸòáßú÷ ãý«¸÷>t¡°ìGm$¢¾ºZF}1ªjý6¬ D*…Æ¢LƒLõ½‚Päáð|1Hó¶"Ä<ÁjÚ@Îz’_ÛÓ‚Îc;¥Ÿ,Îú†Eäfh‚ÙöFµ kêaõ\÷‰£òÌqýN76ÂÄ%, ÃÆ'!Aø¬¥sÐÇ_0ZSÅù1Ìp‚ÒYA%ªcµ¶Ôe,õ³¬ ª‹‹àX9¹Š« –œ±Èí'WË%”öûÆÁ|¬$‰ á±Ÿ">eéeèz ?“ð|ò¤^=8ŠéëøûhdWA:@޶â> äb œŠ¤ªfNvK6ƒVBïC¶wFcÍÇܾ^¿!%C9¾Ý§Ƥ CiäÚçš'Õà€Z^±éø¤3ú¦¤‡ŸW UüBÔ+QwVÜbEµ¾U†}åÊQù,¼Ê}¥ì2¸|D@Š~žìy[’PWäQEãµvÃm©CÖù—Z"Š©Wà|}ÖóŽdí3ãéqÜ­««mþÚ´y%”‚7• íË.JvÓ0ŸŽkC™óÚ*%öN¾^—µ#Ò4£Ûé2iw–ÁØdæÅëµì'x+Ùü¼&É·L“ëùDôÕ‡ ªÏác  $EìØ»xꔇ-;†¥ÈK§Ö³mƒÈ@sÄÌË·l±%=†Ôó­õK>&‹ÿSŽ/D§/G/Œ:éÃGõJaYŒBû£.Pš£Ù|‰ƒº°Bå`‚ é.Z0»å¦¿M/hcalèœE÷úD ç¨ÉR|`Ãdñ¶WXà*ø¾®ØŒß!é6ú›©ȸ<~Ñ% X(¯_Ó§eqÛ[Ìy³r<Û´øËšH„£†–<ȘÃËëjmÆÈÐŽœ¸„RùòÄÎÊ¡;m>÷¾þM“ë0úzG’`éÍm½æVë7GáKÊÎpWDÆOÔ‰‘S¨ºi=Yõ”7Û‘Qû" bIåÕ ˜H·ðnúÄ$߉¶ç^о*û¾Î=¸bFe÷€î+ÊæGóH}ð÷I}!Oo LÜTc4ÈvuΫ" ~„œþ[BxÝQ†È©QåLÁ áwË·µ.¦ŸË?|Z¾žáž¿®f€$‚tWÍ#ñïÀ(l’ìs=øÑ¬)¨ zѽÃrhy„¡´!3”h)€‡£åºÎþ­ G‡€»å5s(—wÕÝŠR³oÏ>â*<]pÍúÿóð°YG ˆ—aÉÜ{°£¬òKØÆm}|ç÷Ah]ò Èü8žŠ!̆'ÊsÛØë jG\“’ ª ÂkþðR'­˜ÛÍ?8ÊV¹ä„9EéèÖß6_*5Wô%ÿzöÇÍŸ»½¸óï¬7WZà³RpzI† ’¼ú¹zŸ¾ÿI·Ø§Ô+Xü®¾TaŠ_xžqP7d$j=þþv¢™X+!Ó]yJÀÒØüà`¿ãÁA^^. ÅÔ#FºÚ›gJm‡*»Ø– AWÍõFøkÄe]eó`? {˜³„‰¢Ë÷Zk"bKšÈ Sé^›Ð[^DôÁ W¡Þz ¦G»­?ºDÀMj»^2µçTàg6ßÔçCˆ/t®H"qW~f”°i`@ËÃŒ÷ÓñÊD:ªÈ!pZG–˜s®vÜÌíW–ÇñD°-WßjÕmoìô´€ó.îôóÄôIî­Õ“›c´¼kÏrÁïrª=a5Jç:îü,ÝŠm¬KÄ,5”ÆŽhÀ(Pæ,\2“m@ÒkÌîïÌCn^‚]ÝaÉ­QªÏFòCƒ\@ù7žëƒÊ‡STm Ã.hî>¤W‰Zó4éàÔ6R9z»OŽ&&÷2 FÜÇ<ã­x¤Z2ìQê)<6ŽB÷Ó±|wLîr“Pu¾Ùz=xUL±¸˜‘Œ-ºÎ,™˜¡!~I¼¼k5‚Ú½yéLƒê/<0pѬ,Ýd:X¡‚×<°ÂÛ³w Vù··¶Úᥬ)à…«J*`íôQ¨eD3k´c1NÒ…e3 .Þ³d•š;Þ#,ÎíÁHšh-ãú`ÞÁÏOxK5ÃI›&×{à€Hùèõ ËtU¥ßRz·N[i 2"àw~³µ&ž‹K½¯gèùáqQ6‰e• íã§œ¬‚L­‡©¼ µgHè-ôzMíci;Åö³`õÑ/ Z™¼júéÕ¥/ù+ÿ7 ª§ÍÓIv®MEÌ|GŠe9–ôÅL,h×}Hýiÿä\KKö—bPT=»^ }×^åûì‰ícÉŒŽ{baßøÆs„Ð_JÌˆ­z‹\PÕ6Uk÷ÈÀÛEí»™æÉÄîØûTqÛNñD·U1ƒÙ¨5ü}gÏBt4‹ÇÀ#äk–X>½n¸h@X¼}ï½" ¼fŒ½¿K*tû†²»^Þ„gÐÕÞ¡ö”÷L/Ã^5"ò‚‡[·Æj“É+˜Æ°÷ÇC”޳ÇöI›Ôz<æu†HG†q±¶ŸÈ!ä¥"µ³vw§¯Ìö’m*+89ÚõõuUë^4J:îã¶ ¨c˜Âk­ÃVhÅ`úá![oÙŒ§i}J2åˆx_`>ÀòÈP%öâÜŠ,I4y†NúGà™îa$çX]Ç¥_ñ€V¯]HÑP9œF\GuöÁx殺££l¥–VBìsÀ Ov-Aõ´ÄVcLÎÊëÝWТ}zÃܸì–P\—q«áªéiñˆì’ÿõðÂi¨‚€€¿ò2¡7¦)Ü_ðûxÙ&kvÑÖp­ ¶y4þù"ˆ@rè^I^}‹•íí«(,ä.— Ëß§Ùr¯Y+oxˆ (b–ÙôIÃùg§ÒÇ‹j•Š{Fq^'‰52QF­ÄË‹åD _6)õzÝ‹8LÉí[WMÖ=ns„e}(Y”ÖüŠŠ|#*½FŸÏXl*SX¹ÄZ·55õ4p¨ýfn:t¡@¯¥êo‚IuÒaÃí®5¯_÷ÍÜLùšO|5¼¼"?ü’ò¤`±ù7‰ùlo“ø±ÊKû¾8«A :Š£Žl1€¯úᨱCŽ<‘,Ø p¸âÒKW­"ûã’îJ=Ñq ñ cD¼c¬å¼á¿Y{ÆìgfœÌžÓÂÑ6ÛˆƒŽÐ—Þ£³–~ëúÞîÀMÄùv÷KËùv J'¦;D炉ìþ7r¬Lw{˜„Óã»Í›d ¼‰ßÍ š‚Ç„!Uµr%ï–50ýDÁICp®M‘HëàסfŸ+o}Cæ±Èƒ¢ŠÊBhë­¶ RŽ(úÏÉ•°âÔ×áq­@ú=“ Ä•zò:Îq·ß¼æ âñ ãËÿ]‹'&íxOý¢0x Y¡æ)‡ˆ\܇¢zÒ h/ ÂÛ €ÿu¥§#Ù¨ó"*Ñüe«9ÙÖVµq‹°˜­‡_Ïn&ØMÜi£×å£Q£®÷‡Á4·¶Ô·ø»ÐžúŒ8¹6.[tkPc¡J‚gxñS}Æky`h+¡\4ÚJ4‚ÿ€®7±ÝDNÑfÊŠröÛÁÕvá—.T³@]®^t´¶¶åyÛܯˆ]&`h¤ Y캅 `#Üy³eÅM”Èßœí ¦[­ot­uTviè˜úák½Ø§U?ƒnÜeØøÃEs„CΡzz™Á&.ÃÄùÞ÷E(ãF*E€ÂÖQ£2î`F!v°kÛb©<Ë ï…!-@ £–V’PÆÑ=Rjî§»gØâå rjö˜— ÙVè Í`¹gzmÊ2¬÷s¦2 ©òK35;ƒ'føÛ@83Á-†hSPVƒ~Ñþ’Øùà€Ú¤A^ÔÙd´.Xýkï»ÙªÜaáAžl²õ륹.ZQø[¡ygxútZîv ©l¢§Eô8¤Y1€ø,4ˆc‰g²í¯mõN“òþ°ž¬sØ=<׌#!)k\¿h¥·î\Œ€:hÂL2UæÁj0è1ÏÚ)Fµ¸2}‘ë„À?&ý+ÝŒXɳ Æ…ô¼¿˜®˜Kt¦µ3b&à“³`‰EmY9˜£½ˆ°Q±œüwõ:ÈÛH‡_€RO¡Jèâ¿£«Ûá1ìÑ&6ךõâžèsB9]! WÿK¯b¨—JAË>ä1ó'®Ûî-çÉáÓ6 |X®u2%Ð!ßýîZèÖ𑘺E0"NŸÒÏb¿Qú8»Èo,¶X>%%¡¬fGË=‡Ïm û¸&Ç]¦·©«"6'0Ò.!…ê?ï¹F3»MIд‰?×S"¿ˆËR9Å×,*d¯¦æòe®.¼–Àa©Gƒd'¹mIÆø‘¯å³mSõÿ×”u6â­³yèuCa>«Ëñò/ 1‘ÕݰFbزЌ’=3u¿ÛÛèzTgo­Ö³RdÄùE?pü³ŽEàu³)³u¯´/ȰٲwýÙ+×µéÍG¾¼FÊdvª–æªÕêüñå¤Î&…Ы¹Qnø‰1b¥6ò‚hrõÌ©Ñ@­‰F)X°@= ­ÏP£¶¹7OQ±n†èÿ!6êÍY¸ÊŸÜà÷j>;…AºcòC8DÞ .¼çN|ðøï¹þò‹ d²=lS<þŠøˆ¡±§qâdtj[6üéÌWëãÁ‰Ò.+ï2@Œ9TuÌÞo~rETÝ–®ù,Nsã(ëñ0áÞQ/ãšG)†•³ÞÏ¥tM³P‹¶ÑãÐ —ˆùéó Ér‘!Ál¹ýü’Œ&…¤ÑÌ-»ÎÌ–™× ÛÕ| M-ØqJΙǎ»\çÞÕ»±Iñš‹-îY´+¸.¸Þö{ÞÝq@\àEƒ»š"M)³k×¥'|N„ ÷—£²øYä5Žc£bû0õÜL†£¸sr è›öH*™[`ã¯VUÇUpïÕLÝVD‡¸“Yr-½AøÞ· ;¡Òt<žÈ®ëƒ_0{Ìçù~ÝÍp³ó}†Eþh#G±„\>ãþVpHû3ÉÇíÓŸ8Ó¶—hÆ, ¬% Tý]…*Þ¶ÌCçLLë5÷¤_ò04càQ~Æ’)Q~`@б»ãÇ'Âùa1~8 0ÌÍBt,«xì X›ÆQµÝ щ‹÷ÀÏ4 \Ì"qâe©rݦ“µUiM4š¤6öYp0oµéçìNDØÉîJnÕûæ}ìH·Sm¹ÛE„É›\’¦[¼Cáþû†ø ‰E&ªvÔWÓ©ÿtKÁ)/>Zt;;Ú¥*—=»cœß)ð a/¿«ä râ ´§Ïrëæ§ùß,—ªŒàùü'ôµ CK{n¹ ƒÎàM<Ù‡‰E9R¹ô ¸çÿ¯Ä´ÛÜ™FÓ}ô¯UÖ‘½U&Õ¢qêæžÁ®‹ëšeI ÔKHÕýèÙ¾&蓱@2îZ¸Ìv‹—¾PMÏ„”kÜ ÿQŠÄ0Œìvhîôܼ‚š]ƒkuI¶êIÕÖ£zó[ñ¤®,±à£dÅPèéùÛlžGÅe8xN=]bäVØ:Á§Ì`KƒØl6i‚Òzúç¾KÏщ’~„|yóZ+Gi{›9µo¶ íxÄA‡R2*°S°‡ºhQ4¹¥qÒÛûŠhÄX$‚nò¹ÙŽÈÀèGK¶ 9ˆûò]Ks\xtìÖ†…DšPñþ%ʪa™l–™¹(ï‹ÕÞ–Õi?<—µ)| ª`¨û>Õð—¿¡ç9 ùÞëT(©YÐuêÒù ¨;‰\ç$RëR|i ­ÍÙE!ÇU›ŒxäÁ>®¬,JÍêgÀÁ:ærY§õVÞgæ}÷ñd¯þÑ æz±Z³R\°pÏ9<-Ö¸9i¶&…Œ”pxtVºf/ zyÑEÇ ×º„#Kxx2ÑÐz®0½—{â¥5ǼåI±ÃPFâ>À/ eg(IAŠ‘#ÔØWŽ•éu~„ {êGB¶ ï O…^¹E¤(_Z’º…5 ßcuùÝy¶œ²mƒ(d‹rÓ^d/ f€Ó§%NÀå[žU°’µçÏQçÀ–î󬬰ìvQ¨Sy]ùy/yÉÌÂΔÒrê„Å»K¹„Ûi‰Õ§—ñÆZwÕf$Ý&îTz¦’ÕÍ>ao’©6Û[kr¥ÿ`#Ø”SòчÐù&¶c2³‘ØÄF\ìfÖÚ½^­‚#¤³kÊ6©¤”@–wÍ< ç„d÷ûæÚ}&ÅkŠÌ\Ë®naª²ÙaaÙ@ãÜ%ÅvÁ%},¾D™Ïòè?tâ¥|·3 Q3÷G"Q­&Ò‹ C~šÊ.žþ ŒI;óèOë¼SŽ„ì!%1&‹Ö8¨€&0Œé  ÔÀƒÀì†M÷¬úÑûLIA3í|àO<¹`zµìók ç(ÆK{…Ðhž nܼË0âLP6PˆÖÙ"!ӻı …½ 3vŒ6îŒñü3ŒÓŒë| %ÎLk·WؘùYýÊ™8Fä‘¥å9˂𘃶©°óAUóï—rÞˆPXDª>T ­t¸-à°£úmñÐ1@r‘#µhoT²HË7S”êÄÊk5y»‚G)¦ÿI‚õ30gPÃÖÓ?â¡¶8W¬ fM®JÀ±‚¢J¿xHøóÇ«‰W›D[Åé³ÑÊÎ弆Æïûòµ?áw¤õ„T!õ<ÃçØqú”Ç8kè­?hÝšôf’ÉñE4B5½09}®,9›iQ_7¶Ütkä–¼Š=ú_†XE0œ"Ôî#%1ÜY:í ç"gÚºI*‚móuë Akꜜ㳩äâß«q _pì#f6²£ÁÙ`ŒŽ\™·ã¸á«ÆÂÛ“w±p"Ò|M‚ïÚC.î1@EÖ@ß}0Ôµ.È…B?ØùÓZnºCPÚÝ;Ld1/XF#ø=Jkîž·©-%Hs„v\ˆ(#Y¦fNÓ TZ©ÍŽØUàJ¸x9¡¿è¢ÄV–OŠ'}wV¤PxóÅÉ>Újd´uIBE ±7-bFiT?bÚŒŒž4ÙP¡ñÀbξy’e“6«cƒáb’o±ø¸<®Áª#Ùr¥,9,çòžç©Q‘gkwóÿóBm³ŠYöë‡Ñr`÷¸ƒÚ±÷Ùø\@êÇz9\&'çHÓ}w˜¨œ—Ê'Go(NI€­5Æ--!WCˆû€V[<2×¾woD¬QÊ¿]aŸ":¢dž—7Ðd¢ÕÔ‡¥Â9<“þ7‰Ø‹[°^TU ÉBT¬Q~_ñÃh±›-=„€ ­Ø„mBx &žÚ™ZÈsºªÉâr*ô1Ë9óÕb %k’F»ÑÓœð ‹Ï\ÔãÏöñâ«Θ"€Wy’5†Tº» ÎáÙ'N4ßÕ¹/Å‚ ß$C‰vÙÙ‚Íù\Úýå+úÁøWD}È©‚E“*ä㯛”>Å}Q 9OÊž¡Ýœ™*³TøV›7ÂÙVPPb( ›šÆøÎ’C_„fŒÝâWû22Äb3ôÊÿË^VÒÃ;pf1¥Ù"ƒÏÄÇξÃÿ­)µ;KOÇ|œóç³ßhÙAiÕg{2¼b¸Qr7«p.mq ¤0ÖèØf&àvNܪœ+~õ&øÜóÕÓ©}Ved¤ã.é‚÷ýÞqaad‘sþ_÷z ±à¸Ì¼sF-[éCï»~¾U½T¾¾ìOñ¦ÝR;¸ý€ (vt gr(^Va&N e"ÍÃĉ/þÛ .%ã:·ÿ(9{!'ãus°‚êjQÆþZR5—«bµ¨Ÿ†TþC%"*c]inOQµ´>’¦çv‚›v'£Õó¢ÏÕHTVÀÀbÌ2êzRjŸg¦§ýë !¯=qKÓ5ç·òí&Pì9‰S„ë,MºÀS<á téD–ÏEQõ=ï'/ì©“ñpë6KÖ)k‚Z®I€ˆ **rþ#QZUÕü==Ï ;÷=ÌZæ7η£ñ ðlIL$GwM ­;d aÒSQo`ƒ«ªnžßoÈÚõ™½É1ƒ-½#A¦¦GÈ’w*Øœ&ªrªþ"°k(bÑÞÔÊÇMu¡ ›Íy7 E/š}IEXx„J<¦xä,owÕ10S]´Í{jUþ ‹kˆa çÃ8N&„¾4àÐu gR…:¦’/pC™(ô‰<`pUÇj;Á£ÿ`‚èíât™•h€_LµÝ‰…íxyœ?lžta_ºãùÆÉ ö®Çú;ý=®³ÝÒYDîEfgÊLÇL5ˆ"ÈOɬ¦@"Bm©£šzˆÑ¤1[ˆG?®²2kð0Š.xÖê­sŽÙöc™õ,zF½'©Ï@*Z¬¿"`ã¤|Nð¼ÑEH \÷Ï#Ü&XGÎŒþÑ4½\¥ÊÍýri¥^‘ò9#¾dóŸ ¡º õÖ}S¡,Hµ¤àÝ\/5O`çµ· ¸åƒo§i¤ã=dC±Eã)f²ƒ pq½JÃîö–sÊdâ?€ƒ9ã“>O?»ÚÌäm9É#•4Û³I0!øü´'aUE3Š ÃÖ;À&ÜM1¦7v×åáÕ¹¦$Èe½ {Ü8TQ…ÝŸ:ŽAiª5ÚgêðŸz—9#Éžµ×Z‹ÉðÔ»O4`2†%Ú˜Rr> Í9T‡ÏÑ V/8¤p»—‡¨@SÕ_-wÜ¢ƒ {°þÀŠ“$“óvø˜¿ˆqÍ?¿öV‹´Ím&oŒ³ŠŠsÈH.[í±MÞx<Ò Ì…†¯g¤V[:¿WõÐÕÖ¶‹ .º±ñ¬Î9CœÖ½/~îRd“´.¤3ÖK7VÞÃÛ'`—×gÙª*Ž+â¢Îƒ°—AKñc‹þ‘qwõð—9¥Ë5ŽŠ·¬¥¨JÙO6j>Ž%@jÑ(Ô~~u»ï±–¼Á0͘!~²óÅf|í j±Ùþ&¿Ò^B€æzï-eÕ¯”óø4‰V 'Ô튘àßÇlm¿ò ÆÛZn‹Ôöäö,o+*Û›¡KÂ+åàé„2~fÁ¥T°õ±¹QÍ4ëcÑiïø9¥nÁøé±º-fn{D‹ŸoÏ>?ÔÔ’šc÷.¡2ìç¿Eà¾UFÁÞņ |ÃA¿¬sZWl½žzÑÝ篘5ö³•ïSŽmvÃtíSôþeÿñ ÷KeJôø^^û“XÅýqÓÓ½r|ô¿ Žv'Iµ.#´\¿"éÎmu[Ôt­ôó_3|^ç̷Иټ%¢By(—l9‡h PófäÉ(e…/¸û£õ‹H~KÛXѨf£ºþI@.é*Cê˚̵ª­CÎÙO† ·¿°MûÚTëö—{†«YBd‚ Þù”šï î¬0Ü2  “ÔÕRuÚf÷ÆKÊ4â8Œ $îö¬…ôI²¨ïü9L¸œ½…œ*Šº°¿/!÷1rÃÕá‰áU!cú6BDlÃݳ¬ŸÏ„MwôKsœ!Ó–É·2°wìäï÷…û+½?xn°åE,/\?Œ‰^èåa³V/ªOå\á9• b¼TÊ6©E‰3·çÉ#¢ª÷õB!D³o~ÊI„ܹu/x]Ù¯„—¶-ñ”KÂZr ýþªú†C£;»j»¶Êg¦[ïþ±Çz蟘j»‚ûNæTê+PloDššÔEƒ6Cßüº‡¼rÑæ,ï~àí»âhßr/!üQs$µ¾O±[ª¦ã­»Yý>[b†ˆn-/y> •xY#›P¼6Í|i;²’Ç&v2Öd.­G5­6ª½!š1ýéc"ƒœ P{Ím°þ­#¦&é².fþ£qqûHj½NJ[š[$½3|ÞÞß&ћ툷dÌðïT:I7ý3³µìkKÌ_ «Ç×Èú‹–òœÞ€ ªù½³m‡yªn‡ r |yå'½^Q8¥éÒ•D*c`磺ð`<©gµ¯è&C,ìSih?ìø1u³àèÞÒüA1NAŽd2Òl™ôÄçÌòæ5FâlFtð ëqb73ý½©öŽô:¸_ƒèÍllùêôy™“=•qôQrÏß?Å›FU} ¹PÇajaÏs¹r°.Fè=ޤ’2 ‘­cîÌG¯Þy+ÌåºÔ½yæX¬ë[:‘¨tΔð?ƒOïXèØéP4åÙÊ©Å%ñi¿Ç+ †ˆªŸŽŽ÷7ßX;w*6&‘sÃ/n4yâà§…¦oÆüPŠ¿‚ѽ“-Çš€Õ%óé$À3±I©Æ;‹‚…Q’CÎÿi¿3À£7½ [ v§Ú`„ï;óç£Û0h9.¬Í[õ VÑ9KPG%Ø4kS "ÎbÕ…:·gJ5Ò®ÏyÔäú!4&M„ޝÛŤnÚ!QËú÷z× 9Œ,W&Ô”¡ mŠª¨µÓ“›`*ñáÔY.}7ÆÝIÝ4›ã‰Š·³Æ·”8ÍJ¯^M _Oð‚±h@Ý4”#'laö:¤525 Âùîžhø/7žÉÕsõ9@J _îþé PËínæûKKëmJL­]cççKÊÅO/jažéçWqÛ IRÌ×asØ&gu¨6©ÖÝ—õ0#Ø‚ÀÛêuaÈÏwõM»é¦¥`Ê?ú<Û„<£ã !ïúl2Ea°´Ü”~·5`ç{‰EÈ|ŸÀ ¾œÍ€ãûeF“!ùM{­?ÀÚxåê2¥€æñaFÔI‰}~m[‚2»’$Å×nã‘(÷?Ð*íßx5=ìœ0(Ù°e°ÜïœMˆ ¹ÆB¦4Uõ퇵ü1[‡|ú½o«2þ[Ü“°&ùÞãÖ~¯ÿ׌zÒGé´gö(Kâè/¦‹lÿîâW\dgÄB’éüs÷«Ï…g¿@˃öË… ¤ÎOÂkÔÂ+)Z·Í…•6\ßÍŒ(®;Ѩß{¥mYtc]ʺ¦xS³|§cßׂxmaHTç°þ± Þ¼6ƒ)½ÂU.Õ,ܘ~Ò|éX d3JÖ%×LÉ_?Yz dÌéùcv|å¡BI ‘@3äÎF¡FÔMLPÛl\÷­Ü‚Ít/åCMø9ô7;DŒÆQ¼ŸÙ–H½‚Žøla1ÆÌf§‚Ÿ™j$ÑÖÄøî›™˜µ´X ú¶Í$fškÕ »Gv¿Œ*_;Œ¹6ÃÂß'§9‰‚£K„“Ë Ó”¼çb+ùŒ-< '.$ó†PjqTy^ÐtëXÛ¸X€Ÿ"§{þwkcà$kè6ô¿Ðþx^&)-vPwH¹¾/JÒƒ¡—cˆÒC7ë‘k@oàɤ4X ¿±¯Æ6rà>â^‰SØ<¹3ã&ÂáÜ_L­åÜ‚ÖjÓô³®­7‡5 Û‚ÎEÿWxÃÜU×(ÅHÖS¥çYüýRƒ2ò ¹¨e½÷z ÷SpôÜ瓊Ò\Ðả³ŽŠNS|¯2žm`É¢èŒkSuv™7F¨>UÞÅJ8úf™£œŸË.^Aýgw5iÒÞ„â|ÅŸùkK|×/UÊgóËoŸóð=ÍI¾~_ûÙ‡žàØõÝö/žOJ d«ß²Ž‹ûW]¨,Y£©e¡YÝ·ÿ¢ÒöŠO&—mk™(Flr´`ú·eÔ«÷ͦA$ÿ¿{‘Ådi«nsl7;«oW­æ-’¤h?’PyðŠ•¼P)ÍÄé.CÛñ›bšöqg¦¿g=§…Cï¾I>ÅÁ"3aK% K‰æ«þ6Aj{šj#é¿;|Ó,—iw²Õʼ–¿lÏ®ÛØR¨y 7„îM_j~ãa›SX–„¢Ö©A"Fˆ.¿¶ÞØŸ+`øgG—캈C}vì݇žß·â¶:i˵z]P¿R·òú¸¢p޶¡íÌ Ú«uÛ¾!Nþv’˜§ [lÕ9Rlí >4BΈѺùc÷’K YQ98)d^”P…ÒP{ñP4(Ñ๿çé|A–7“QÚ¯WÓ|–÷l“³?˜åJlÊuáùa‘¸ôeGeE«‚’êp/Ñ€qºxêí[H+ÓpÍ4¢@^ª/Yòf«Ð”Þ”Q09êxlüÚ í¸? Ñíó-ÛeF{_3Rþ1µ°ªÓ†ç7·º«ª¸–RÁL·žð­’Q´éÇ^gCæš:Ç©)ü^4‡R;k”ÿ?SSºÙÛA{«)®;¯\¤·XE.š‚–6w,l£/„-/ `oyÀ¡×öÔX݃ìBò^YŸ·ØMû²…Ït¬ÓF ç[v ª5RgΜÆä€lúåÌFÍ2†gAƒWšnÓ[1ˆ£²P9M%&òÕ|CÝKðë²X˜‡',o­”Àt"lz46ÔM³8¦G‹áb²-Ôg©¶¹¦?¸·ì¡{~¨tn—úâYEºr”Wîb§ÐÜš>2†üÜfpSª“Ø_|jtp¥êJgl`š΂ãĬí*$%2ãô×mãÔ›tÙ!Êí.8²ò/&YYôöN!PŠ1çøA?‘2|û±8}¹cº(tAm, ûùiô±=_Ùñ|ç6U“PLvû/FKV–|Ù™d𸳈V{ЖøµH¯-ws‚D¢ö/oµÌF!¨ŒjвMÛ.39º ¬ÝJ?Cäۜ׼B85kn²VDØŒÒI}ÔXo¡ªl7pÎpëBy¹¨Å‘Æ•ù‰‰Ñ™u6au’aª‹g×Ô£ Ýoµ¼ü`fÎo=·±Ý‘–oä“kþÇŽq 9eÌÈôsÁf>H…su¡+A»#ì!éÅ”ƹ~)·Á~j” JÆæqeIÛ‡d^ÈX½¸Ñád-&“:5ÝI­Îî¯öãy¡z¢PW[wˆ’ÑôhͺÈ! ™#aÓͨÉ=¾Œqì,²CF¨l©Gì![h)Oi M—%_€Ú•<>P °Ô“…Rº¢R’VÁô/ø#n.žFÛgß»(“¬4—ýW¨Ú}þ˜‚]ö\*ÏÊn%«ç)¶0ksãÒ ¾³rkÿIj :µÞêajŽu6‰_×ͧ· ÷O¡~Ü v9WÙÉ·ç4… Íbû°ÃŒ™m÷>àÁgóR‚— m&]ª²ñÉjÙbsÇï}Aé®àÉÎn<Ïm‚ì2:ŠÎÃ×å(¶åY‚ƒðZ2”’dÆ»ðþ&äÑêB{$ p0ýç<,Øü˜Jøßý»UZ½X6ZÄ t¦¤LMãSZ™YŒ§ŠR­ÊÇj:I›YÙ*¢²0ìû—Ñe!¦ÉlÊ›Ù>qæ‡i¾|(@ ¥êÍN!>#"ÊHoȶtþõ¢ÍàÂÆëmbÄ<4‘ågC˜&ësp/ÝÐ"½ïùšÿ‹Uyˆ9ý@Œeȱ*°²«K5IŸÀÁÚ–CãÿNPE®F& ö@±‘QxÖò£0òR²3+I"ŠV3Oí½$™ÛV†·ß(gM°Û>rò‡*þ-‡3W <µòDSw¦ûš¼åË¡Sõ—îSiG¥ýÖU:WP©È$m?"ƒkðzµ¦°‹%@3ü+˜çï­nôÄ;1èÑQµzÏ~/x0Þî X!ØÁ g" I?~GÜ@.Xk/€›¸Ê $·û»QúXŸœÞF&)¨0¨XÙónHã×€ØaãÁÍÿYù,ª†ð—‘:t*zWi…_À¹3[ª®ûLëâ$˜>ÎÄ¡`йNèõV,cMZ»2Þ+BêU8ç…T¸bø¨À;úþ9ì†c|WÑÄúV ×Ï…oweùQµ­7ðH-W½_ ¼®þBpô ôŠ`”ÉöNăÛp37c'bb/žŽ›1¾RcG$32U s— ²6ô€­¬ý_áÎ[pQNoXbB‰§´/»ïŒ(Ó^sCâ~ZJÜ%ëC«»Æ…õ½8Ú1€×ö^X&LÈ85yOÅ->ê’l£í›{¢äÃèí¹HÜ£ÍÔÌÖó°Ç‹â¶º¸-ÊãÕT»f£®aÛpH_:~Tc‚ÃS?š1^Ë·KJD¥lº7&ªƒWÙEÍÈÈõ#(èß1ß ßC:ÀÐÅ9ξ wæµ°–’§UM¾ÐdyÙ7cÅi8Õ‰äo¦¹bj4¨ãÃV¢wE‚µÀFçl¬zìeb)¥–ûÂ*rw•Œ×D¡&1˜$ƒ|Æ ûހώjùIA„iõaŒ‹Ÿµu+kw‰j®”¿ZîM™¿š–n÷¤X ƒWú…åêVHáóEš9ˆ(‡ÿá 7§^{‰ DÞÛ½›ÈFn×Ôîìyè€F`zAr+HPd‰1÷ÖG+ŠXÖ2¬øn¥t2µ$g½kÿmÊHFH/œþ™cd925p!‡ç„õn˜­JÆjÝùU®ɺz’ÕàÁ–,oJܯgÝ'… £ ÜýˆÆsû ž¨õ%×tÛ‡ˆj°…c"Zøy]ÖMÑd4áe rm}ºEçÑ“´îèèkxb×xÁ¸ÞÅu2SY UˆÙÂV5G‘‰ÚÉJ; &øÊmڋΔO§ä¸èÖåu±ƒ)¯žÚ€ þ¥Á•@-<Ä"ÐN4ºV.UbGƒ—BzÔ5¿SÞ¹  î¬4²õ‹×(Û@¼YéÈü[¸ãÜ¢MCZ¤˜Öߦpðs ð®ÕãŸr™êô9OªŽ2Ï~ªÆsªã¬iðs‰¬‡‰1µ––§Y3Ÿ$UØ‚?ÑdÕ˜ú¸‡Æ_Ôy4Áï†Ý¦œ\v…×x^EUa[¶hnû5”Sã]¾w OÈ”6b 5ªI +‚TXŽ ˜QIQÖµg/°Øæ+ï†X—-T;ciJi£OºQ/ÝJb'!&× |t³‹Ñ±y.ÄÝ*|Q&µË•BdhKö•hõëëÜ{·ËK¥'G(Œ¶¦÷ÑÖ'°^‡œ\ªp¹öÌÍ£rRé*izPÀ¹Z³È LÌñõÎkÚ{[Ú –LDJ'¾a½«¿µñ[,å}þêjN¸fÍUWrVâÜ7Ô%)œ„Á$yùÊõP§“$ÔF„“>-x/]Åœt&ílY ¬åGúsÊ“<©Tò‰|Dœ{br(Ò;gÝÈІÔ3ñŠÛGc4C}.«üJ‹¦uç"€‚¡¦pþÃ$¯v¼Þ_Ñ•gਆ²Q…Œ~UÆÛ½ÊÐg˜-h6®4£:ö-óÝB<Ò®£ Êa[>‹{£-¬¹³µi¤…£ 7Çõ°.Bè´‚ªbìÚaQ¹ÇH„lk]Ñé§üº^ÚÊA ,¯˜“¸µNîš_'Dr¯šœ@K|˜=y¸ŒÞõ;.ÖSn;]Ï6â.Ÿl帽’õèó= ¶Ún³å1Œèí ´³Óˆ¤_¸ìjxNºIXˆ^Ñÿë;]Õc^ƒ–͈>L¸ÉÅ=l}é¥r3Àîú.Íó jR•HX×ÎÚŪ–³A½¤À‡?˜6Q~v·2“HGFDŒ4î'ß¡©ÛI¹I×N:iŸv*B>u5/ gÔ1ØŸ°ÎWž Ó+³5B˜|fÊkåu÷Vly®">Ž A=Ž„æëT0 wŽò’u <)‚׉=<˜k³œÕb‡á$pãF:‚›¼Æ]ŒQòL« 1•éÛµ Žö³œ¥å;Ñ3 ü ‘7®"MÑ9ÎÕìÞæ Ím™Ò;~»è±ì¢„8ü Læ!yo°o"«üù qJ©/ðÙ’?¿ë™!šl^`cKÁ!/@gl®æEQ,†Pîdx¶ÓƒS¼i';d†à˜½6܃çôù:´ÈHú«ú:êøéõÜ#4`UWÎçBUò©UPÁQH$gè4ŽúC3­ãÆSÞÒ‚§12Æ#\‰Í‡™ÜÐǪ;²kxU='Kº‡TLƪ±8»… ¢ÒØ LüƒX!Æ–áã˜ÂŽ7R¥îjX·Ù&õ4~üòýxÓ– ž†REª·ÉGEÍâK¯A=.^r‰CæŸáóÁ=h‚l†®»ŸÖX¥`‘®pa4_äÒòHs6”Æ{bÿ`U9¨˜¦Š„16o6¹9[0-ð¹x.âXƒÛ‰ñÿ•hFÁ >p ]]›õ\ƒ€´MÀè=µæö¿õv«y‰%aæ×°)Òé+GeCb×ÕtíŒÐéjÑç0&ò+æ[ÇV#*ªá]]í;"JQ†ª2îa -~¯1t|Çâú[•Ï5‡¢ïŒyuÔR]i«ÿ°ðµƒ›ýù®‚š{8ÄD4+cÙdˆ×ÊËe¼õ5·#~J¾ÂÈÀ’¨÷.IÌc=x„ÈÅüÄêñŽ'j›g×£ ‹ôñÝÛ˜Žsí¢T>š!wõf ¶ÒÆt~ªdçßɰâxx½ /²šÍ$b®¥U #œ7Ûc)˜PVçhå!6–¡vÛ{˜®@¢‹-øVP ì/..1¤?Û®«»kü2Ïù£<Š""ôДw‹â­ “ód&OÁÒ`úh2#½ùØØÇò¸CÚˆŽ™jò²ÖEoDi‘ÆiïÕ¸SÜ»ÄÀ5"®8ëbi’ú’x4µ®?cO*5þ{ÚÛ¨V§Ìíõ~ýc5²1*ðær'qÞ¯ÌãPcÁ ?o:>]“••ì˜ue…umhÌ“ñ[¨è´% HØór¥ÎöN‰f–qô[—.êqvù]Æ4yïô>jÍŸ6ê„a¬”ƒVçK­º¡âJüÏ 7ë¸ôùþà·*Á…DïÈÊf½¸ÿ&\ýžÚgÅùõœVð,-\vñ!Èb—Øû)坨ÛÍ𘌯W}§ãó²ÐC  "'Ò ô—B:Fx¨~&žU芉Ÿïº'`Ñê‰ÁªÊMœ/hê”5@ƒb?òKE¾4ÅÚ•DüͲªX&¾Ö†8j]†×“CVŸ[x<êíYo BYÕ+0ëf¦í ‹¢ˆ‰ç‚ kp‡¦ y…`wFm¥>©ó^ù8WÉé¥m™€¬-\"ÞæÚë ºMž´)2WÃñ!Qzˆï£J ¹3<Ï´š‚ úÌe>í4³;Í ‹œe5-G2¸!³û¼ÒôÁ–lã¹ã5#æp}7P=Aˆ;·ðð—÷¡Y,-þ¼£ï+e‰ŸõèögUµ¶­‰vËj4QI©¦z™„ƒg– ê(TÛ\a¯G)[¾áE~LRô pp®íô¯Â!J}ñÀÿà$ßgns~ˆA•V÷†‹-Á*ú|'“>Àˆi©ô…‹tr&vÍdq±Vçc ~á¬ÞS,çPþjO²ùÉýìŠåQ÷Vâ\7uPËÎ9* ^›h%Ž  ¡Í"ÉÅ…YÚ&×ÕPÕ çÀ#™È2”e= œ)3JØn H½¿ñ¾\üdúmçuÁDÊÉÌÛa™º¬ÎVË’rºÆÇñv¦³ÎáKN>iƒ…Až Ñç¤ úáàãöó¸LC’º¬xl‚Ì5Œã«Hc÷‚ÉÛ¦x­Љ|®k©Ö[ÇÐÎ}oË1ýéÓÅ•?3èÓ\*§Öˆü¢[üÐ[ ¸v¹êeQ3+îvö×dŠ„îȼjàÏa¿÷]b6Ú‹2îÜeÕÁñxRïGÛÉdE­îL‡,¡`>à©mÑH…ª¶AN?qëìKÀèè¸}Bˆ˜Sl²º#Žxú²äQ(`–æt'U·hÑ)!f‰âôTÅpi ï Y­Œ.Žk#N{VƒôhmðrlE^äT™óG¸޵Þê›>#gcÀÐÓøYÒ?r o O|¢H_ΖhØÛˆzémàHvˆôïú d¡ÿ‚òPöÎD(‰þ:²{t‹H|• ‚?§›ºFè™ÜÂòã ÍjcÞ:—Ðå±ß6…沋>ZÕj_]:aÛÓhÒÚ¹xÁÚ->àÿªfùÐs ¯)¶Ç¢1Ñ}¦r×·Óëm?Fèž1½ÕÜÙe)²Ÿk–Æ5m͸½È¸Ž-˜à¡‹àVòE¡IùkÙ#B °€ÃÈ—@¼Â.Da°)sño©A €Ö¹tžÖÃ_rò‡œãýÀE üÀQÊ³ÎØÚ… '§t j-GÓj¥JzL’óÒâÀ`ûÛíÕ‘¿ô³9ÈC©ÓîšM§KÏu; %b—öE‡TH–%r}Í£êÕçŸÖ?Ýrœô›´Îg štyÃ%!\¼„Dzº8~:Ô9t…è×À­.ZSHv±§Â€=x° ?Ê”~ª†fî Ç •Yê#_‹¨ÚñXU"•&g{_Åý dØääHmò4Õjdgm¯£¿bÆ5ÌWe9iÑ÷ðÿ¯¹<Ô† Rœ—÷C4?q_Wí.ÓîˆÒHœ©`³Êã%a¡w;ß]égUYvmÈÂ,ˆ8Âåx^§êy7=Æ••£¸`ùrÙ @×Â.„–/¶>î›Â„òÁ›}…>ÂðõÒ‹¶£1dËÑÈDÕ¬$;¹Ðgg0á !á æÑùþ&gQ¿z4q8« {ãtT"ŸØÒÆHÝYÕÝ$)+7Ý1­ú„`Q;£ŒÔ:ÁVñŠÚ@ÿîHä0ÙÔ¾ÿ©^Ä?Zp°ÑP’£³aZŒÁˆ¢qÔñûܬw½ÅIú;ìkÓ\lõºh»!7SÝ02-é^>6pÓ‰åÜY™Ö{Æq.o²E}üpˆ0™U¢ ¤KEPþrd/…ËÆç¶µSéRE.èIÓ¾0ƒ 3ùu Ùd{LÂáYE‡Ç]F‚诽d,Ó2Æ+ p} .1%›ÇÏ¿óT,³.ŒÛrÁµè‹“ÄGK¤•/wÔ£•«³? ù/’¾?ÙeÙ¡á® ÑrÝsko$ ÀF †š¿y õÚ £ÀS@Û~A4EEŽ^+“ ¯^àâV¾8‰ìÈkÇ~aMâSÅÐÜ_²š×%àB6 Ã@WJÃkå´k?TÈÔ==Âæó¼ñp¦Ìp2ÐÎˆŠ©5ì't×^- Å ž£lúfÓöN"@ûŸ‰Þ"EǬ3…Èb (Eg–©Ï´]þ+ÜÒkonîSv‰*¢ËfñÉL¶Ùt.#ùoãÖÃw©£h¿?¬)êÉBªøÓÅ ¢ôE¡U-ÏÅ÷Œ{XŽÈ´†ŽÍOHÁ­~K‰[sˆ Ç\sÉ+VS ÷»WÞÑ­òiŠûˆ$ù>‰JàZü‘ÇA‚WŽÁTG+Ukw„Ç*œKðüJÆW=Pë¡‘Ç~i¶#rÚÝÖM”6¢ˆÂ‘ü$%ãnÞò6Ò+–‘L0¢ÉdêT‡çe[½òú•ZVCÌù è²¼‰pt­ŒSƽ¡­ÈˆÁç1 1Ps]HPÞú¿ltèéÏ%Zûf9Ä”b3Ä&à#ɹn£ÇÊ6@ûþta0NÀfFýÁ»Æ(ÒÕ¦$$@|Vš_à ‘øKáïNPÊ1xÉ[þ¤-ø º3ÓÊ õ p¯þ-üäã/?èSÿ”i*’ôÊc0þ‚ €-VÃøŠxr±#¿6]±)͇}®q€'Ùc.W:~§ð?P+WG*œE7ï…³ú?Û Ü¿Þƒ¥"Ñ)¼çyëW6Îo ÇlQ¿é×)¸· ámé@à×K¥0wxH`GïrE2%#Ä´Ä¿Æ=þ¡Yʃ[ïmÕ]â\ÿ}Hµc& Ð( ¨š!ûÚ c£ŠÓo.^Ùý ¸ƒé [|y”‚ +7[rî£ä´BÆ‹ˆ 57­um’fS"\‚Τ¨„Ay±Â½éâÏÂ¥<Ìù¦‘x‰åmZ~Ì‹{ˤ¦gt`-¡Ù¦ºÉ¿zãY»f4ìóàWÝF{'Ñý­¯À²qs²8nëc´Æµá„xª‹—½“8Œ•j€}±ž2< ý—œ«Pü#ãôàMÁÂÇ»81cÏ)êQýÔ œôÕu6Çu ˆ­ý µçÝ<7É„RA­Z ´Ô!ðOA Ó~k)[pz—M³WúmŠø˜¨ý2ñ 6Ф*>ºŒOÚŽs>•ÊXão.3‚•wÂ$Ǥö¨2AÛCµ¶!M¬X]Óm=Tû>Æšî¬3€„Q4ŒœóC‡Èf“ºÊ)¨?Ëk4y÷qíÇѵÂw~&LÆ$àLì¨ NéD‹,æ÷RöÍ÷Ó·;â¹xî…FÞ¥/)ˆXmZsЍâõñŠÜ¤øÐwxGÕ:@`]‰ôæÔ0¨Üœ0Ó»8•Ä\Gþíí7HF¢,‘b©S£ A÷í•ømlF´÷sófŒ [ÎÂã=|zÁ¯ÆÂFo–ÖìýÙ‘{PåP`¨Ð(öjÿBß>¦Nˆ]¦Ù£°-À»ŽÍÏ{T‡\Zs„ɹ²I™Çúžô‰$:ÕÒ}B3m3Zã˘«PéÚŒÂÞ4Y÷rg;ð³ŠmOÿ"9’Pây¼î˜ùkðàoº$À©ðÄ\9¿§Ðz–Ì]p\ìqIÑcþ‰o›‡c‡øÿ[],Ué¯ü3ÒwĬÞå!m6PbæÅ\KåGs'óúazBF3ç˜ Ûz—iÚOœ oS·^dð+¦C•ª­u÷¯¿[g ¬]”Jydëò·Aæ*ij;iá“æUþ%~2Ê[/rQ àj’Í£`½9àq>$#±[ª4¹üªµÅqtÚMÑ—¾¦˜ouWDºIèßÛÊcÃŽD¢³lôÇÛ]lqŠ?ä,…“~/¾Šr•tnúBÈØä‹÷÷Jc+🿺㙪ÞïÒûsºšžL÷ ­•bMq­ úvZ7ÁŒÃòÞ%(ér¿¨8µú员e}1ÓÆ Þd]èKîLŠñûòP$—ËFs¡‹ÒFͧ.މõÍ)Äì !=CÞ#6ô6ÕØD¯•ëë›±ÂЯ†.Ѓ GÚŒà4âÜò°¼ö®§bh?‹ÿ~ßµ H^½êžTÕ‚jlxÅ\ ¤}F/Ò”àØUV˜ÛN]fýtØ Ï\±¥ryËc0>ºÙr<ÿ#Ãç”Ý}[¿!m†7ïÒëôì3 Ùë~ê_hYFW‰ÑV÷~¬J3¡ÆäÆ5î6W£žñ7†“ˆ· £wQÿ®a›•×ÝÓ*¾a,‡‘,_v$ƃ®«Ë¤Úûok(ô3s[1û,¹b¶Øìë¹è¸#Ev`ÞÄ O}èú1üŽü6š“;WÈåÅY‡_X ª ¿_Ú€RÚT°÷Ó¢\:6>§–·¾[|³µbœ_ÕC5í3&µ äÂÞùûôKΞ°)Ä &prríŽ1˜qA+ïY’ʽA«ŒÍ•ª¿CÄæÙuÑžEÔ0ÐÐ@„F€ ”|?YŽ`˜ ³Eé§#w»šË¾IÏÝÍzxOBÇ÷Eж+×úÿ^€è§‚nZ7‘Hp,*X–i·—óá¢Èüáí¡‰âsŸü8#½ª{ €mqâÆùâ © ±|Ó=W;r™-Ók%‡¿—ÓÈ÷óVSÇô¾®er+?sŸ£ Ù<¤$¡úœXNg}ý%Ö F@*.æËr¤¨G,cZ bƒÙZ¯ñ†ÐrÈsI§xMãÚô_1p Atµ¿tõ·$;óVrC%¿ÄkêrÍ3«`«溜K¥Þl[K®0 sÉ|}ãê˜dn1:ò}]äŸSBBÌCæÔû]§œÒœBÀ³´aàXbº œ>Uåiª‰’náï ô-Í"ŸFª—‘–Í)|©uJa[P¬ÿ¥Ó<ÔCéÉfŽý)E1Ëɰq²sX‹—cü’RÑî:ÌŠ2Ñ#í1Ò_Øä#TÿfÁiäí#ZXN#©æ‚Kš¼þ1phµ.*DS-×ažm:›’CÔŒ_é&Ï*JñS¢Ñ! {ÕDÉßݘe9dŠ8ß6ErÞC)NÁ8f¨X¿¼SŠÙ4ðåZÐ*ÎÐëçû ‡Läò$T*|C#g®>²wѯ)®S{#åºa`ÃÇs;ªxü7Ì\\• ®²>¤&œ¦ï€6£‘T*ž7Mx!hv}Vˆ¡@ë0Á“G›Û:äüA¶BÕ:Û,WÇo|`ÉA`ø—’æooâ‹xjvϨáJ|%Ä…3%»XP/ìV 2éÞÔo(0)¶ˆÃѯ$3+e3uÇc#Ë{?nŸ£Kà&^F>Óe1ŸÛçÈØ“*êÿ]Aúnäx–©þ#N-šFϱšx›Ã†Ä©\ìWß6¤i>”ŸH·ÑEHsÐh­eËD¼âoß‘ë.£‚=ì+,ß<Åaæ,¶7ã~s• ¯cgþJóuȤ¡½Ã”eu9A·£¤HB'^·Ÿw$sÇKnž³49¯å¹ý)µª™œkÍáui Pâ>œ4Ö~ëÁ£ƒ/fß8ƒïôˆXüÝ AI.€¥Òá(OͽR°…œÎʱÃÒžÝæØ"Š„ÖkFŠ[ËïÒv°º?Vbbp¼¿9’‘ÓægÙ*¤4@8ú‹:ë…Ü"sŸøŒÊonöÿáYÑø±˜›4¡•Lꆀï¿ìoYÌêÄX¦-kHDŸOPWah¡Ã°6»Bø²©Óq²oôÆ?9ªØoÞUíãÍ5{Ñ Š8K¥ùÅëüס/w‡_Q‹æ¸¾;1˜u£D¥ký=R»j’Oh øÆ+pÃ4ÿÌ3ï7±ºÿ¼ú`p¸¯iÁù½,ÖW&Þâu ·|¢GkrŠk»’½uf'¡8¶ßÊ_>ûý~‡¾?‹eÙyh ©@Éþhš-—¡ìÞŸÀ…W>:ÍÓî4”D³[ü=[¢Ý¦^`jÅÎå¹ý¼hWw•sûœ °™Á† ‰œž‚QííE \JÓ/vOëH†€óT¸¬Líô|‰Š)ýfœÎjàLZ/ Äj¾’#uì¥-Å·q"†¦d׿«Rjå ¯@KnÉeg[Dóv®\lxáJ0=rî|ω'؈hãÁã’¡ˆÇýq•\ص&Mû4‡d>v·ëí  ‚ÂYæFó?™É Eˆk JÐhlˆiµ C%Ì‹=ÝŒØÖ†Ì±š4×ó¡°óÅP¤T•JQ_ÜØ ¶Wgâ\¤Ÿ9K­î”`i£än®cåòâ°Ñ܈f±±2_–Âl'ðßÊš ÷bmW(h_Œ,%( nöÛzr¯}ˆì§\·†_ðGhÜ¿#qÀ²ulHêñïC—둉7Š­ù8»§^úsr>™V­TByó8bͽõÇôœY;åÕ—yn§ÿ¦ÉÀ@° SÞ¦£U¾.ÿô°è% þ‰9 s×R£r›g{Ê«´_Ü•Îí]» _ý 9“n-k £\ôÿfûIRéGvIÁÛÆ®ÙcóH]åâ`\?˜¬Ë[•¯Š•ÁÿÛ¿,“Ì Q/ Åú–ûL»+Wï_v…p0ƒF‹9ú…ÉÅåÌÞoç~þ™ ’¦¿œ`@fQø17†‹½;ø%ÂÉø”f4LÄ逗Zˆ)Iƒ"Y1NlÓrda[ÅËT/ù^.$÷CM>rÿ´¶Ë…J<©‘ÝŠ5yج®­’!¬ˆssª“¶TË×ÓTæô¯ð/rÑ«äoÊÏ—>˜ô‚9 nëK~¡á|cÚC‹4¶ç›Ù\AF­yV‹V)±XCÄçPî=mc„S¤Îî¹Ô¯Ü„ûµ¦Ú‹ Ù5¶ž4*ªZè\ÕCM³¡€“@ûØÎ¬ùy3å/wJÍò#œJè(¢ào`!9D–+N(ý¶ó«KtIÓŸ½Çî¿ÞˆIsZêöôãíÇ€‰ì"ÛÖA3-ã­†©Ýj}ïNåùñ\qL_@òîµxG|ßÔCºÄP•ƒYð«={ jûI~Û9³Dãá`—$À`ãW<ã„,U‘¡ÙDÁÑLPoWY~[ÿ Z¼ÄLcô­Ï||N“Vh84×å&ém¾oU}( ˆ³m}Œîbõ%[#˜N«Í#m›8 ˆˆÅ/±Ù­íì%ßáRP:À7ã ¤ôœEv± Õfàlró²Z¢ø)%õ‰"^XPô|‡ÞÃggÈ+ïÁrs0J)᤮1åA×½ÕÆ:xxD9lE~\Ê[¥„×qƒ~Š‹€ÿU.ZÍŒ f«À¤d"®€qÓàD>‰°¬ë3é Ç/Œ *ôòmjuÃ…¥Üü µ‡è”Ôü¶õp^´- ”pŸ/>tÍÌUžßRp~©bßk\i²ÔI ì1¿Þ_Ò¶Ôý‹Xc”‘®?à„ÿLo?F6/)7Vÿv!Æ¿8÷$:Äçuø€>Øp}‚‚{ìéTî~PÑN˜µ–›Õ­ 8ՒшBúD’H8OÆÜ°g2Âl¹€à˜ ·T¬IëdÔ&Ulëí…“ÆyÑÏ=wÖèÝ$“Þè=Æ14Rû¯ë„Ô…îPšºT2ôÁt³´^Vã,„׿VOözȷݹ Zbé€O%é°1ãU§>š ë¬æqñå3FÑ7Dh\(v¾øIz9ͪr†l>À^0…a¡å&wC`ÌÞ]t20KV¡¡v‡ƒòÊb|[[åÜ=¦¶ µñ€šnOëóˆF…#!“Ï´»„ó yïÖ5ás¡è·F™ãDèÆaÞðï BÆSÀ­Œ›”\u–ú:µâ;¹IÞö¡,]Š%.%à‘Øû7?¨&†PoÂñ#ÓǨ±½iF!yx—okv›¸'¼q…ñ”.ܼzûÝ¿·ªs¿lóÅ­~Ú“î±Ô'ªïÁxýÂz€Æ›aøºAAð‰JOË·Ïäèù9UÕv ……ßb…~®I=qf÷N{Vs­-aSŸS`TüýVêãWе(£X?¾iŠN6¹, H6 Ю嬩ÓJ‡U¶š?CÃ*Ô¡$Cù)[1?Âöí:};AÙÀ.¾ø?t§¥¾T~" Æp ø-…C¿´ø›é¥‘•s©‚4uA$yŠ?®YxÆhÖ J;©Ñó‘&z²~ ¦ƒY°ø w—ºPFpBkì´Ÿ×ø­[s`ßç'!\ bš, Ýëørœ\-üÈ &çUˆ]8‚kýh=‘62ò­gùQ‹Q>ÀrÇëõÔ‹ŸŒëÁ…üÊÄùâœæcÜÇ…ÖSýáà  ˜‘ä?Þ ”¸9jÉ õ×#™Y “nb8E Û2eÓqðÿ!ˆöbí] Ù/›ãÝân46¿bŒ ¯JˆøUï*˜3ó¨1µ Ÿ,äjŸù›½ó ûï–_7BÁec«ŽdQ6ˆò™Â„‰ú‰šÉëb2o‡–BÔt§è‰Q¢{9„=A1€P»ˆÍd` @Ëý 8ÜNj–!ü®¸<Ò/O,l};¼= ðmJÈLóJ!Hl›F´GÙ¿ [SÚ¢×ÍSç0üD-RS:"1›ÖÀr¾Þ< ȈÔ&¾Ír™÷q=¹mFô–‚§@šFáõ2m.7Æœ«ôYÃeù†hòˆ;]Ó'¶ËZN§m"©áϳ§O™>>Ñnê#"ˆaÐWXL;#x:<’k·t]‚·3*®·ªC·#„µPdŒX2¯w”ÎQq dú¤5™À$ºìh©ìDþbZÚê\¿g/LZ¤ž<Çñ —‚Àë{‘œ´—áªÉ!ÈŒFäPŸ t¡á”šhÑEÊ|—³°™ŒuÍ8„MØ»ïĨYçuÍ÷U0ßÝä:±õˆ3Û‹m]ð¾Q#c‘3)SÃy*³  à;¶|¸ƒÞ¨è¾r%êc¯M¯t‰ã½ãá‰Ê¦‘XrTëòPâù †éÞoP5Ù¶ó;±h«Œ“]tè@\äÏÅê0r±Š%鳯æÉÚ²Þšl¼£û@ˆ$û»Nºm¤Òq Aˆ]™\~}ñ/p(>qjM«…Éx‰ƒxc×2È·Y.nÓó"’]ìÎ/a]Sæþ¼‰Ì—c5$O3E¬ìú!üÊ.ªë¸P Ð Ó×Éñ+Jâœq±jZ-t™´0ú9 I‚hšðS4Àß#F·ÙK}ˆ’lÁTV@ùGðÐ{>ëÇø3tþqB˜yõ…Ÿ,йó#P']d®¶Y]ŸàSKö¡ðç›ëx׸Ù•ôÎ5²QÖšÿ±A>+8ƒoOrþî!ØØ ôÝDûÉcÕåžžÓšÄÊ ¿ ÜŹyÆÎ¦}9ERÉõ®¹ðHº×TÙÕ¶³$»¤‹qªîÏ­-™"ù ° þ»ï·>‚§üì™N2±°våº%~2NËì/1þçêõ—é´W9ðP¼ÒÁŽÉЋóöniù•<¿$kßZÇØ¹ÿ€a‹iVPÜ^QC˜ÍX]Ýy§¯,þǽ‹Á²ØŸÕSŽùx [ó˜¨ô™$éúU£” n–ëJ(dEäC"­øhŒ®™‰Æ@î8=«C$*h’ž¤ç ˆ¥¾ô¯~‘ÇnÛ‰•KmG.óÉ]Lø¦ f†õòÊ0Í£r=U!Á9E¼™Z;ææ0ž¼ñ)®8›çÃ-j?FZ\÷Ã9ÇXIõs;P=xòB—‡[-nÏ Šš<ÐT ¢ÌúCa˜Ý<ä¡ó›$¤_†«#ô຺ÄÞ™¯‘ÑœdœÛ6ÕTXë¸òcˆnZçÍWq¬b–³ÕÄÕ„EÂzù7‰mâ…2 ³ñ•J„Óª«‚*H9 žz‰sîÙ°lÄoþãwÆ]•ÛîóG‹añÙ<¦žU§[+°ÆÚK ò V2g÷o×OĦëóÇbp Úǧò;;”ÍpaNLÀÕ—™z ˆþ*àÆ©ú_H8íù~õKkªïæUïc.Û1ªPï_ß|6"ƒð¯zñ×ìú¥ŠÿÄÙÀQ\ï §à–L‘4éðÀ&Ø•ÖÊ;‰Ò ™¦âz/Ã0ü !ak,…+¼ E1ÂŽ‘!ÚøèAÇ';üÓÍ40ŸKyý¯ i‚@ [ìù%ž’; á#Ò~5U+Ñ⋡޺b8yQ3úÙ¢Œù–k:­4v|Ü#‹CBEϘ›º k¹Š—\_i¨]EÄÿ8>†¬±€%9y[g”@ziÄÎàAÆO<|ìå‘ ¥¼X;3o=¹x ¶§5rŸdÄd5ë—YåË%óí¡ ­ø¸È±û7Ò²XG#z‘y£7ºbÇñ_mÓηxO F[²ú!5æo«j»È}u³WüYœQZÓÆr/Vët’à qŸ#skŠad0š{èa¸p‚ñTð› ëˆ ¹Üt>À—S0í‘Øeò¸†\têʇ°Ô…’¢Â\Æ‚iº¨ÿ`zø@«·ÿ¦úÝp7ðH6úˆü÷çÜ¡õºÔöñ×q"»‚Ç-Û©çˆ(UA¤p®>r™ÞÉÆAÖ-²Jù[þ"tû5: Þ8 ‹bkFÀ):Àºon¨Êd1#Œ’L <Ó³­åQû/°B¬ü£ø^¦¯¬¤Ùö»¥ wCg¾¤d¼ìþ;´;4&þµŒp¯žàW¹Ÿ g¸¥p–‰‰ªý6A¼³ÛÛjxˆlÈ l²^f×:$5M> ž¶ÿÊ0ðÚ'!‚ˆˆ¥fŠV Õ<²¢€íKtÄ2¼T ËÜ¡`£Ê½Knÿvº~DÀg¨êlù®ÓÜ.§A¶‰)­± ¬QõPÛL—ô8a6ìhiHgô! Ë¿ F. ÃÊ`Ñ’7ª+ÔY¢GÒâOÒvY!Ì¿˜ùíïé }3–Ø£O¬ÙéVlã07凋Pü…„z.ZóEÞúzÀ¬bÊìjܳ\°¾¹ñ rË•e‚ôk„iZááÕŒ¡”—9”zãaÐ_ wŸqÀ7Xlbß\ © ÷ßñbØ)Y{”†$|¹'¡AçÍ0‹²Ðök€7Ý;/Ë ’,0²Ä!Ü„7ªö3FñÛªz À^Y³ÞÝþtaÑŒÇA)›æÑE«n´w }Ò£ ™‘SmK;äå£Ú˜,ÜKÁu†•}¢ ¤¯cç뜓^ \¡SåÅS.æõÙ9¦œjÞ©Ó°+’5˜[T±aîå6àmm %ԾɂB†¾®º!›ù¡TüÉ ;__wýGŸ&Ù4:gžÏÄÌÌô±ÜNm¿tÀ°Ø¶=´j/¦¡b'†J$"¶Û:ëzß§§6–wPÁ ]¤!0²î!Óìs¨–mnÕðí=LÿS Y‹,‹aš–(dÀmásØRqœÔ’N¬]h\Þaù²F‰¾&Çþï£ýüKNŠõ‹1–À&z ð8vÜÔhþ˜¶žü­Šå½b3`á(LÉ0¶isåì6•7}c#»ƒîcî]=‹¸ÌûA!\“Ï?S+À¬ùÌY-û«ºF_bóP›‹ú C;ª×‹û34 ’G"ÈFX«µâ#ûvû)1çÕBÁ$Î8d÷˜pÁm§n÷”NtS|)a^Iþ–竾ÎÀ<,ÓôÅSH¢ê~¤Omv¼šö?Y¹ö—*Ó¶t""ü9’%?I[¢Ü%-‡s‚Û$ ãó”R¤:k¨ ˆˆ±½Ü¦ âõÙ—µ5·JÃãö²rn^èyhœJͱM!onùFþQ N;° êfݱŒ¶H«Sדy„Õ¢ÌÎÆFòû$ „Öq»| \ë%ý¸4ô¡3´_Âú°P´”ps–W¡Ô²¤kù=™$Ý‘Ãäã–¶‘šËõÜ>Ί ǵÓfæ¯ÕÉZY¶ÎÔe§)3¹÷%{гçm©âJÿ‡9HBJ0*øfH¬AyUºO.uÅgzB¯o.‹¹j<²þµ1arüÅh>µø¨¹Ö¯ÉÚ\'ŽoGü–[nm]Š–¢Afx»\f†e¤ëMclNþ1×VÃûU¿H„ï ¬ri.+wìîÑw‹ÖÎB`~·j%¹¼aKÆ‹(º—Ý,Í–Ìçeg„ÇÚ1Î näú Ÿzï¥÷kÑâí'Sù« Æ&µoE"=.j_X¹Æÿ°–Òc\ììD’1hd7=‰,'LÌDl5úcˆÚPØ·yÃ‘Ú ×0± >neñÊ&<Ógëô÷­`ÑK¿n™þÐ8.8‰ ƒ¸WÔÂ`´\Mžèò!t}{ÄyZY`ª÷Ó -LbLtw‘|Å·Úþãbg…¢kj@*…®Ý‚Ø5gsÃêÂm†/ Ñ0uQ¶\TÙáûB”OæçhÕ÷ùô^c)uóï7 ¤Ñê,nX{Qé]¸˜ú’Öy„6Ì­Àè.qhØ>æÚpª~ã-àø®F?ËéJy´y{©-)Ã,T1ŽI¸GŒ$ž6‚$Nãj³3šùªÔ‹ŠH&:Ûƒgw¾2ž,ÿ!©æ5GÞÕ"“¹nþŠôà (œéMêiû¾N}̪u@=žGæ’tOZ©»øcRÛ£¤hMb'™À42ñFÃîÈ^§%›ÙTÏŠë÷yõè—y³ž"Û¦W±Õ’â¸4ë¿ìH ÄÞFüÙ]}Yyöt…á5 ⦒±ÐÁº·?œÕ¸aÜ!/ “lqfµA±±æ±0¼Ki:(ô:ƒJAA½&aH1¥ç ˆúÔ^§ïù¥¼#cäöõÒdŸÎ|ã£ûÿ˜¶@€Ï*DÕä+!Å ãXTÝ¢T”O~}}Å1š¹}v¿µ"SÊsˆ€:E¥!zì÷»ö>JîÚTé”á4E :„~M¾½`ÖØã?eöì>$·XG`¥ lJŒ"` =øÅ3ò ^Ãá·]®ì ¿,-öŠdÑvÆñ+Î(ôïЮoC)è Á†ÌPÃ>ìCÅÁTró0ŠªfwŒÆÝð=ÀÔÿÉ×i*ý• ÜxRæ{¡ x9WØrDÊZG;-4z;)c¶Ê€àÌ| GQË_÷[#m`X’…N3Õ“Ö‘I€\b=¹¾#ròÒTdsfž†a¹*ÞPaá"…[ÊáR õ†ösøon¸3'‰ýx~þj.¸ÝéÑÑð½´ËÁîHäúϲø!lº›a. a­LõL1ÒÍaAõ랯ííÈi]½é ¹ Â…©”¶Ìª¸p댧m£6»$ßÛºË-÷ö;ÿQŒ¯Þ˜ÉYõ”ÃÓ}P¯ã_Dþißj]‘»zªV)¬ÍR³#÷ê@çü¿‡Pl¸ÈQ;£ÒaÌ#óZåú•QNò…ÙÀ~‡Æ6Æ‚:Ûø ýÎ%fŸÑc=—À;üši,]C§A34E^£ …•ëóP&•æ¾%ÞJH({´x·€›×:J¢†W ÙÙ¼öõÓõ%Ä Ræ4ؽé¢2Q ?8’ ßl6séR×óËB²<…a*™&:ò¹±~m¼ƒï5ÚI Þ IFÝFƒ€1¯ãYaÖ;$¹Dü«ñÜ1îfÁ®$e?‰*5äÑxsGB’r§Þ£ \+ø“¼Wò©rÁ"]iBkÔútãKi: š¥û}K…šT/Hs_puZ¨Y·²j[ ^ßÈäF:œd?íCí00#žà/tˆNû³ŸYsj“Y0 °!xÂî F¯¸Ž}³”ô«U>#ÀɃ=hû -.xDs$)ôÞ»äàÚh=ÔnM…å{W¨Ô“œz£8w½› ŸQ"¸ÛÂÀâù¡é›w—Üp;‡ð¨VÙq­ÔBB’pîrï8íÚ ïõ%Œ.©^A3"¦xi½:;†æ kü O8UãÙ¬,ÓY+<„¯´SÜ$êomõ=; '†+±Ü +¤k¢æ\ˆé«¼‰¬Œ9éfëS¿[¹AØÍ\bÏÛ*¹Zy †² ªƒÈsÖþWàα„mˆðøž£ й›¸ï¦“~B7x’,õ~îG߃Š8—Y¿ùa=Láõ–ªß' Ì£‘Y9hX°±NU9†B~ÒFÛ»ê‹ÀP=1{£5E7R¢$?°Rê(Æ~ „&AÖË Ò•Mp¨tÞSzãnz_˜DÔBql×ÞTÂÛá•*qS·‰FÅ*j ¤‰oåUDSœ”ÇT©¸_¶ˆ˜JÅBZ¯2ÎgØ@–µdð)Ý·%8ÌeåŸWNäµS˜_¨+å¶JËÒ•`sV¢ô$®£Y;n7’2JM\ßAŽ+$¦ŽUVBZä_°„èoÍFWmû m‘è—÷ÿO„W85å%ýšPrm&ËjxË+çbÈþ?wþúw—µ÷ÍäÝÇ,ÛmÚ|µDºxòH ˜YäŒ{U7äÊ ê·ÙŒµLîƒ1,¿öW,èD+¯ Y­nŸvW/-D¼âÌG‚e΃#"çsŠ*H¾ü5m¿öBX-™|Žt ­õ¯ÖgÅáÇ„.)Fob÷öjYFCWâ}wã¡FHˆÄÊæãÆ/“Ãü Y ZÏz¶6Ì]Ç1wñ©‰½'UPfv­Ó'Â"m¼ÆàÎeã o˜ç-Žüê§Õ¶·Ï×ø`öky 3ßî„4¬Тזô2®³BÓ÷|íï­¤û&iEq7³«s ôbêí¾,ŠŒrŒ)ÉM5"½H_Àƒ/×f‹Âú0×Ù¸ ¨²–LÄ/·^+¢½qÐÒ{Ç~ç¼Nà„»G› è{ )¨.íú^ðu‰XaÈš%OÜ[ ³0އ¤ïº†UþWF­¾‡á±±e£¹Œ"å×vûâ³.¼ÕîŸØ× k0Ï%_¯‹õ,;ÑÐfé]â<[Ókö¤fÄ øù·~ËFÞzÙ)÷ 9 x¢¿õÍn ÀöÁ€”ÿ˜¥ð¶ñ±›¤hn™[H¢ÖÃ[¬K<“×ó WœwâC62V’ i˜Q~Uª¼©îP¿-ãÆmáÝïZv;ö/‚q‹Dy\¡6:ø$åyyÞ_¤s ª%S¯([Fýÿu³+Umñ7¤x.³bP:D’ëbQíå4( ±%_úô$†ã¬÷Js¤¬”ÐB ÃÂÂÑ/RîiTÃÇ8U¹2—H.'ÓÒIê<}H¸?áûc­Ö´Wÿ)†g¡Øû¢¹/×§OÉsØ®ëX…õJ©!§¼@w‹æðÌ'¿<,É·ˆæÈ}ò葦ïf$¢n¾ó¿iê[q[/ógK ly8¹…åä©ÿr%š©©¹înuòE ÏÌ{¸¬ «_3•OÓ…ÆÄÜrüYBDŒÞéyÑÍÝ&v¸‚¤MB‹@Qš˜V]ÔFE²ÝN-üÃèCdic˜Ž×EÄ߯VzÅ<ýƒUŠLäßÁO0å›èÅvŽKdƒ¡¸cû+‡4ɾôh–UùŠŽÄÇ Œ±%—õ7†bEèMÕv^ÏbR¦ÿRèoÞñöêÆ/ªï¾F‘‡§<;ܨ¹eÒhWƒ¯¯š`ʬè÷d½Šøÿ”úp¾w /x=ïWûV`Û{D粚ÙÚ..„Ûc³|„¥Œ˜}—w©¦î´ÓÏŠéÆ+'Žz~¶UZÐò÷ÙÉ€(UQN@—B¿d*!x°ÀÔR^ãØ]¯ã£¹Äθ[œþ}1w ÍÜOëWl@ÖT4•ÛŒnqšC%6MW¸¿|ÁŠ„E –U®ó4µ²YQˆšž“¾¶.\!3ƒ¤ÒÞõØ=¹Ê_‚r…:å©gŸíšL€ýH1áopâ_ ?ˆÑÑhNƒ„Ì¡QRóNvÖnۀɄrcì*‚:šh“¸³BÕÙñ!€çé‘`&ðBÁ†pz€|ÆÝdÒÆ¥„ŽÎöSêõ7®QÁçg°-{ˆÃ”©Eaa”õ˜‰“rP¹ÄÞPÉ»¼È¦÷m‘Ìõ(Kÿ”ÅkéÙ'âÍãàX ›†òûobÊ8àÜ ¨š»¬( sîûmu”“Ónm6‡×`‚Ú éBT[UÒĘˆSû}C,ðC4n¸ˆÍ~ŽuFïrS<ݧð:Q›gÓ9•üxÅ(º;9;ä]H$~V³$ÊŠð•jH®µÓ‰s0ƒZÑ„aÛb†÷æëϽ¥g×Lˆ[Ü„H¸Q"÷maÕ·k_3¦'·òÃÌ´×Ä5°Ô IöåÓ‚ÐÄ«´Ú)ð¹õ”cÒ0OŨa§àB‰Áo v38)}„&žlM,ú·2ecÐn´P »ÑÁgpüÈ6¤Y”'nOôÛÑä¿y¤õy+Öå$gíƒíó¯­2ÇtJX뎛5¹Ä,B‰GœÎˆŸÄa©gT¼‚$Ò…ÔœÙv³]óYȽëŒj1²snçÄJ)Ê-ÅÆWûuŠë½P”‘æÎ:ªv÷m‘¹cÂjL³;!~Ó{)`&…(…ŽR™èÂþLõsòLx´ëµ¾Çt©‚aå"{‚ÅD¥ÎÌ™Xl—€QxÃñ‰êÏ8 3d"…RòFªè]7_íÌ+´ásopáÍH4”: È—Q:B0–[–,ku¸QAgbuø´JRŠÂ“±Ý:â¾})ßx)¾†03ÝÚkoVšìòw^ímß–ÆN>‘ȆxRãOZ{Õ¦h G¯*îLÏA¥Ds.ÈEù;¯¶amRRƒËƒ•ãP ›g–€èb×G+›'Öf»th;çëõpL³‘MgBD4³,ÔÉUð’*ʧ O}-â —]uJÓ·оâåÉû-õïo§ûè@ÑÄæˆX®å½C±Gqn¸®–Ò¬£|[yýÀ¼DЕÈZ©%-nŸ­,žÇ2øéá¢ø¦¿Ò›šM=¯É¥Jz5 $ªƒ˜5¥mŸD`œM‹˜h<䕹¡éA­%ßÿòZÑ×ôœXkÒšÙF+`ûc‚^#YóJÿz+Ý6Ó#8µ7èF•BjØ~›7Ü´cD­vwÑµÆÆîí4Å.¦ñ—º)ùçó<Í%z$½fͰɊáÝ…S@®û½{ì¦NÑb¨«¶”¨i«>Éu/?i¤znÒh\{.¶ˆR·+ñËÊ[]o]TÙïåŽ ØIg ££8ýr€«ÚïOzü²€æ1óºŽT+Y…×ÀÛnÄøks¹÷ÚwÐ>\ÜËc4ükÜ÷f¼<ÄÄ8(<ýXÜ'€:Ò»€V©|á­ÈT$èCUçðÃŒ¶ÇOÖ÷}ÿQÛ:†0,å¸÷@äøˆÜÃc) hn÷{¸ýgÆœ€ {èzž£b¥ó×4d0jI¡ÄÄR½J<Ÿâ8èrM³;ÓþvÈ%¿-†·+Zb,ø ^)Hô°*åkpX?Ni ‡¼×ÌÉþ6êioêïwøÀ©²^Y ‡O87õêÇÀb¦›K°þQþ*˪ÕbÞM ?L˜•§ÕÛ~7Ô‡²4©ì CôX€—¼oÞ6qìT[>¡ ލÔä‰VÏê ìh‚ŒÀ´Z Ÿ^P™Kž]\¯q5G;ìc2©€„Êaò©Ùœ1§Äƒì mMÿítJyï;D%§À.\Ì'*CÓ2Wò渌ù Û`CÒ @¶j eZE>ºµ–줹•B—¤¬OÞ`¢õHú8ö2µoPšC”of*¦ ŸÌZ›7æªëØ ¡ëÒhò@«MŒ!©à8sàÁȗᕉzÕæqÁÕ9‚DNuzæY­q&ˆèòX ŸÁ &òèK?ê¤b³ânœB•D¿si†$ùs&eÞ‰Ó«¤p’¦Ä‡gU¼“´wÓz-²#ièÓ>Šºkâ,VDÑØX–‹\þµU—‹Õí5GY~ÿÁý´¸ÛˆvyO-DÜe‹nŸfVädØðfe]ÇËré ;ðìMYÖ½lÝôùE·ŠHÊO†Á=o£ V„.ÎKÈ)åã|ÿÍhwâjYK~°ïиUq¡º¤NNX 1¿%œòbDRX[Úøqžá£Yüó2Ö©bsS%8®7¾\Ià[Ÿ†\þ.µ¦?XØÑ½ÑÁGM~¹~G¤,A'ª]Ƶ¬ÆÙWªN’:•hR@~– äþ¸²²ócš5XÆòÔ90ÓHü®û!oÀ'íupÃïÂX¼ ›;syç±)éž=•8GDN_Q0«pj½¶yâKA›Ø¿>p?{_Ì6‡ÁrÍ…™Øveý]Ãjýþû˜oj‹ò+F*ã¤47Öo÷‘iÔ*AŽ¡QŸ¾ö*ŸÌ !´3þšÑ ¨Ÿ_99L §0Kn&¬‰¥ ‚R +W}k´OšÒéeY{:(áød¾ÿþ¤l¡ÀfõE…¨  V÷ïÏϮïodìU‰%ÿ—ÙÆÕ,•"¡Ì5€¯¶‡‘%:¥g •&>éº0€å õnù-ξ0r+f«œ8ÕíÐróI?@¿û™ÞiŒ–š¨AÄ¢;ÙûóýËé§LVG0ÝŸL²é‹üƒÆ1É ÊX¾ðsÍ–´`K´¹Æu˜ãmì}Ù:ó x:©6ûÔ!Sû‘`¢s' Œæ¡Npp± <¥Ûfë[Îù(jãùA‘ AD…¨z,ý륗ÁNKÄÿŒm)ÔGË„h¬kŠÂ[ê`íõ´L°"DØ—€§ee>ÿ}Y®Mj†{Üýíx¼/ó…žiÍ3 Çc,s/µñÂŒÅ-èPš<ˆ­fÚÁѻϙýÔ}BùRõ>]Ãú³s<Åxqùmò²¹å¾v!…ædÉó€ïÂmSþàJâ4t¨B·+'ÝÝsáO³ ÞBE©v…!–¯Q5Ž”âüZ©æÕÆõ!2)áõOÒ€Hس†ã0­18®ÞñíëBàßþPFtsÖK Ö-ðú0 ¸Ã#¾×àÇzÄ5Æ!d®´µåöÈÕÆD=$^Ú»yEævø%átá`–ée”åXppî\‘xŸ>à«Êe‘Jo ºCîç§íN¡VÓ|@ Ÿ]ÁÙ@l‘Ëý.y§›:`aTWêÜÕÁp¶)ÒʲB©¾µç¸¿ˆè äÔ²ÛR(¨n˜qÕé'ŒáÈó ¤dËlŸ©%ãŸoB‚E•áó&ò_æœýËâV;Ÿ" ULìõªÉÌ-}§¹&ì˜"ATÌ‚taY»ãFÌláUs‰¹F¡,ç2”?iD_:èlׯüé‚\„N†þoòJ}ÂÜf&g]®q±Òoèûé®nÛºnG™R0¶:ùâMž.Z3ˆ§ö´¡±9®¹URsQ/+@0ä>1I‚ªmà±4Λ$·ã˜?aãßÿ,×=Ýó¿‰I1âiyï—X?æùìÙm¾·œƒ¸~‘È>”¬4ÔfÇfäàÖ@.Bõ1'bÊ¡ë tîU‰¹8ÖŠNé7½§áÔ97€ne l×øY']ÊÅ…þPëc™EZÎwüÞèd¸Zl©ä«ƒf·£Öý•Xs"«’',>k‰Ñ±ÒiwE;îνâ)Ç;âÆ’2™¢c—6Aá3N“«¦sŸôdÍ“Ø'>€%w­‰ZZ+Ëh×Sz³9^ñ‡b# T!ªÍþá,ÎzÇX‰UYOÉ6†‡‹óÿÏ3*ñ|„>z_ÌÙpkþ‚¿ ¢zõÀ>íϼ 9yløô‰,?¦4Âòi ¯|ûøOôšk·ò2,‘QÙ.ùH z,±aXä) ¡™ÐhµP–¨_OI0»›ê"Å‰ÔæÙ~ÀCä Ãò§oaïÁ¢kìÈÌØ3„iGáô*–FÓf¬m¶>ž"Gâè¡ß¡×ˆœž ÜOk!{f³\BóÝÑxåa%DRÕytg­}c_ã’Ö([EÂ-©¯‡»?åëM×Uæ-pB›ªÐ+™ªÍ#N¦@ÇÀ{0_ª§ðw­˜/‡ç›2ˀ߯‘\/:‰v ¯<~bùµûÁÌ»âœÛ^Vå«* ­&Œáµ !!¡¯”àÍ–Ø·3ñh£‰§C"ƒ*Õhøç9øÔÜÂÆz4«Ô½"œ(Ik… £[D€.6fE?¾ax[[Ý‘l¼ƒ…Ûzˆ[‹ï ô+‡ ¡ ”®ß¦lÕÓX뤧Àl{ÃÁí:²þç–Ôj —¿Xç`£i[Û©¹6'ÕI˜9Õï^$yªf±ÌåîÌêUðÊhfmÉàÒ@l]ÿæ•6FÄ•»(_Ò¨€ËgSŽåcº>Æ3šžƒÌ¤ŸŸîÌrDeî·þf;µ´ˆE¹ÙUÚö<5úeK©×}+é@_²÷W~J2×Å /åEí*Òyùîm§—Rü¤°7–¿ö·¶«‡K"ã7¸«W=¦Šæ=ÅjwžïŸ»³EäG²?¶$ÓœS±^³q<,Á%ìIoåå”’Þ9·÷³2ª95ì3-è?ããM5N…óEþI┞]P£u“m@wýÚÈ¶Ë E/Ô µØTT¶”¥ïdLÕwÖûLJ¢ºa׆F5Š’K(í‡ß6Å•ôRþ 4O.?¦™#Õn¾¡ä3Gêguc.ÙR.ÿ®ÛÞ,\©:p‰,ç‹°æ£5Lz”äNŠÉÃù…\ÂÓÉg×|íýÙvý1ÛþW¢%¸½tH›1ý¯I‡ïùD%P­cVÐ[­µ.¨)IØŠÁÄ‹I1¦“³û“É/´=Ö·ZLr•è/ÔBï¶í@w~¡…ž„á»×ƒÁèÊìæ‘í1‚g©M`¸j!%ÌØ€‰ß++4ÂŒzÏ y¾Íᯞra¯"`–ªÆM&ˆñ·QO|ƒ;»*å™PðmÁuŽÙƒòùãÖúXUË<:‹jèÓi@ÿö¶pÏØÝbe»©M‹„½q™à?ÎçÕ‘ñf¸ .Æ”Ô|ˆ~× æù Žp Ã1¿aÑ}îrÞ “f†€‰ÓDŒÌÜåÒÚOÅ!/Þz£Ðg½ãžMÙããm¤TOƒ¬¹K >ŸþwãGfaƒ+»ÿøI2³rZîÖÒ™æùšÐl¿„^ö ïºrÉtºŽe™É9'ênw -¨3 í©½ï ü5o¨5Ï51¥,›ñ—*mIÑ59“´î9IvU‚+ `ãä¢ÎÏ“èqµOÔ’3õQD î=y%I\A§i¼Ù¼®f¼ƒð9 ´Cg·|4àÅtùæ0Fló²H¢Š“ô É™8ñµ£<à«WâáÚ!©ˆ‰ùx©êÔsè¢)™ýëb”š½wU逹 C^~)©t,P1„5y£LâÃ#åôfjk÷Ü €Y¤d¯ tS$®DLÝËæÃD–¯¨ýMdckOËÜæ'‚ªo„ZÕÌɬrx}Œ{Ú‡)m6£*âšI¿aŒ°…Ç> opîXtƒ§¢ rüÃG‘†-áÐ äi4;a¥´S4eFÄÞ5+8cÖÐmLE&™x dB¶›þÅËïë³T¦C{€yúÁ‹\'i „8`4cÅÉ2²{®!ÅtÐK¶M¼em¤¢Îw†[Z‘¸ ¢ÿ<-­"l1ûj=OÚAîô¬?Ê {ßÖð5iO6¡8\¶q~åжsdÚyÆæ…˜P›½á¥½Dô‘ƒ‘O‚#}¹ÒMƒ;ñ?n1áä^Ü/!Hî¦?)nB©L-@"$ ©¸¼i 4V˜À• ©fwx2]ÔR•“þ‰˜éxX[rn'-Ñã‰9FUøŸi'ùà˜äGúŠ×LB7è)5ûuùiÖ¹`ò«&0jØ"³×Þi<Ð$„ÇÍòç.þ‡Gêwگˤc’ȃÅJž•%¯6ןe S$*âÅIW—P|=ý®t7ãuìÔ5 •!¢NQ½_"1•ŠG‘ \Ї,´•&‡7wIdÝn.u,Ñ0’Ù?wâ0™?€Ø¦&ó÷,1:„–ÏfÝnFNÇllÙË\E—UßQ€^ïmöÈ]üLŠû¨Í‰Ïâ{”Z²][Š\4S,Ý÷ƒÑ¹­5‹,ß±l\ä*ûyÊi -ù kÙ?`gPÖvÑ,ÇUã¸çÛ70ZÅB…T©²ë§œ·î‘’ÝE‰Rä±íÆì`0‹³ëå—ê' °Ÿ¸Ü Lq'!/âÑ{¬…>–Íuk†0㈟¯ì›mâH¥¤ü¦}P÷)Y²ÑO¯Ê˜ÛiŽyÒ*ʵJœ£?íVm1Á;š´ì#!vi'·’ÑÙÄ4eÚ±½4/cJhÏþž@!97hð÷¼Z•Êž÷ +4ÃÄ´G-r­ÏË¢I¶¤YSÀÏØœUfÃBS77¢>&çtÝúå"X¼-;$µÅË@ñÔãÔíõ×Xv­`Ò¨S%¸åÀú3ÍAÐz…õS9wˆò­»×øêœ½0iIËsCh€¨ž4…tiŸ–~¥ô5ä÷ãý™xN-'Û 9Ñáûi8;Þ^ǹ]–s½%ò)ªkü 1÷ܸ§äJGŸ• þ‡sªQ°z)çáï—ÙÖ|bˆ›D÷|ãòÉW‡ÃÊŠÈ2Ý‚@(7{FjiPm¾•NìL®D¢üú‹ØCŸ!óÖ‰Ó&àœWG=aà]ôÑÞoò²–ìúbݲ€Êü02èˆz7âËp7¥·Gœ?F‹§jÁ©¡‚iû ~#sÆgòDÍOW©ŹÀè6½P.…·vF®!ÌN•Œ*t¤‡Ÿ̵l;ÄÌã6_-ëf9à¿õÝöxd¹±7žxÈk÷+>£¿i[Öóg7‰ƶN‘Òö`ü§ž ÁÃÝoûËFµuù\Ë7ÖFRáŽþ“Žø“hÈ4ÃÕ™DÔC÷ØêåªÅA,†­dUúYéÒª*xx`b½r?ó½õŒö@adß}âv ¡×Ëõ))‘¢üã)¨m¨,Eª—Ä.¤ý· )äî™ PóUi§H Ý’°HÊCóÒÎó½¦Ü´7½É‹6]Ò©BÐO'Ï4ªÙ‰âä©/·ÁNÈÆ%S™…©,ìXØ\±"y\m!è’|téÖį­ØYs gT|üX"ça'dÁß3TY7}† ]àçB0…4RÛÁh‹ÑdèåýºZÿt.š‡YNwPÒ"HÐãù~ÕD'‚å¯Úï Kn±ã„f·±Ôvö™|ÁqÉÏDƒ©rš7êëâ‰,øÙ—SyJÜôݬÍ7æ?,¨n‹µ_˜ AÇßE§¦Ÿø™Ô‹Fùc½­þé\>T³Äñ™ÏØæ$”¾b;¿:=7°ˆ[³ß3Å_—[但…™.àx¡ð.8‰ÓQ§¢¦wõNï`Z9Mýôs¨5.¹„ÿ(¾¢àÃô>ÖF‰îµò6N“owþÇ=´`9.ooK•Ȥ ©ÇäHL±fìgaVÙÒÎGã`I¹½1+*Ä£?{D÷ušÌÆ Û“¸”¼ÇÚÌgºdÖ±¥Ñ“/{ªÌr'…¤U¶ÏPöx¹8ígVc“M¡ ³–þ‘¾£%O¨Qì.GX¥î=&ß}ÍòúdÞ78lL ’Ó r ßÚÆžXû$á€ØØV ÏXqB­œíC‚Q78.Œ*àd;ËÂV›Ù3[È¢$zÑP¹­D[LØ(bã»L‡lµXe…©C§Ñ#_ ½3§?ZI†â»%xeA ZPÇfi—[¯£T`EÕ"ºgÂú$(!DYl ¡¯í•Aîùì%—eÝÁbÅ:¿°C%&k&È üLXåÉnò¼«z³:¤©Nj“Nî¡m’È‘¶Yw{!h8z\õDÏš5çžûIßsÉReŠ]5|å‰êh3.öZåØ$ƒ²ÓíkÍ8¨fк  ÜJŠ˜ E ÊÑà¼pâ# °%ŒŸxQzhh7ZrDó>œèB§¿á,VÑyΟ߄Âyr‹!ÆT\9TÑ'hÑ}Gûý‘´Ø˜µÃN{ÚÈ¡®Ê‹r#ƒ¬’ÙY†ðâü0b‡$ O…2úsèO¤I²uõŠ Ê"j$\ƒ*ÿ¡‹zDq{ŸïÆ¥R"ÎÊX›Ù£'(YP:ëx&â‘yäê¡ÊV2¬ß%¢¥§}À!òžôndÃç°‚…ZˆÒ8­ÜíQÓŸŽÒ¡l†×‡›©²Ûìõ Çšx¦_ÇÌVÇ8d#‡èÒû*ƒ 5ÊJ¸Ç²f¯‡¼:äæÑ<^=~2}ˆù†Ø1Ñ”!èÛˆ JtVVmÜyË}Gˆ–®£>üÛ¦¦,Ü\¶§€½ÎbñäþíXÂ}sURþœ¹N"¹ º«pºAŸ‡Bxñ6GiÇ˳m!,2ñµR ƒuw_±þ¨oåT'õ?R›Ë+Ô ÆÀÉ;î’¯RN½I–’ÜÛ S(wÈMEA<2›iÞ‡kêD¶ž™*`ØI<ãH˜¥iØ;¨>gù¢›Fm­—#ã)ÏÛN”øv6¸—¯Ý gÉšp5kao‹uŸMÉ‚_ä¨ÊR`²Ü"¤>»Ï]Z5s›Ï⳨//õ­‰Ð&kT‰E2^¦§NPÔnØž{ælçpQL7QVäš00«H¼±»?–ë*˜Ú¦¤§‚£…DmokÒ O7¸ ÒŽ·@ÓÃá†aÅB›–üØ{w²ÝI3«’I"~©’]o#iÕú½²6£øÿ¥7V¨mÝX]GAê¼C®¿SÞ¨öH¡`Heµ½öõF —©,wTÛúÒ^JìpÏöåć¢Söî–’ôº-%!ÁC’-Bž)¼'Ôú.u9œ ð/X1?'÷*™ø§å’‡ÈhéQ­²=ž”¬Êáçž’°ÁÕΘKtŸ2ÓºáL“ ´Ž\…ð™(œFDЕ‚[þƒ£<»ÈŽ*/`sxÞ©%¨Ïo"'sN­Þ9DÁ=Í"M» Ý CBx9‘¬fÉÌ..Ìþ9—0tLˆ®K¥ó‹—! »uzšVoD¹Û?㦆«g›¦= Ð*L¡nЗ>;”ÈZWK³ˆÖX.Ô ÖPÄÌcÙ(‡CF…êÜeÖÔ†‰Ù’³ï xW)jc$:e)Ùø1ß0ÿ·uÔeÝDû4=ù©´¤äP}_»¬Q»°‚‘µ«ÑìÇ·~×3#d:P§Snšäæ.bc˜Ë´& L·Øo^:èˆÜ릴`I®´$`=(THøÌ`…{^èqQyCáÜ4GTW£jpS02ñÄíjø¦„à#þ(¯Ä"sÔw}¨-ÝGs÷÷úÐR2ýlvιÌMd {i¡“ÉË“Fµ!6]ÕEòl-v¨Ç‚çÅÞ‚blOñ‡j`݆G€OF0ª¾Š$N8æzÞEP8ýæË!ÚH¹Í¥•Y•[Ò¾ë©Å‡`•©lÒF3@Øæ8$AØþÕ ì=°€‚êÏ÷M.–}´lÛMŸ"m§•Žr@:àîÆ€-;§©]½š Ù÷êÕàZ^9 ¿üõe¶_8(,›Æëµ~í×_Åw¿0HÇ3 €§¨·†šqÃ.£ÎóyNVC$«„W<[Šó4§ŒCÜWÜ“ˆàËŽúÕTEóõ 2‰`’ IF=¶–BåÏÅU©IRDÍq §—½~ÌMŽÄ[´7•¨?†Nz‚øà핇öÒ½,Íô€§÷kÍj,ÞX8ßY¯‚ï² ‘cNã7åGey?ùŸšñÏÚd^Œ4‡”àø*ŸÅo!~z\*áà 4Ï”@Û‡Ú ´ÏÝ^)8~Â…ÒÏr[ÚR.Wïë¦iÚèncFr¡W:0hù‡éÂæ¡TÖO`ONµ!yIú\ð+¤ú3J-;„ߥéþ‹K2g Cú Ož‘µÑçÉå`òz«ÿúw‰&ÏHWŒ¸FãYÒ=îySOŽÂ'ÜŒ@f 6vÀ¿&vJÉpäàt¸º_ŽìWˆz\èV÷gS›3åõñÿ« ^L$’Ü(²D’?CmÉ%°c3]¶FæÊw¡G¿òx «æ¢Ç¿És1~¹|~ö—¦¾ôݽl”y±¼÷—‰Yx¨P2x2bÉÙ²yÿA¤OÇcá7£\·Ð&óyzo˜h[/A‹ÆhÛ]*öü†ɹg2½@®¯®/R0-•'fzb¥z…%\lß7ùŸ—õw,né b¹[D– ±¹é—ƒ L˜¹B©úÚ‡a&¤\O4«…ÜÝo »¶þE(Øìƒþ®ðãz5õ´]/Ìi¿Ö³©7¸rB¹ù¶ù®óh¾üÅ3õ)§tÌý.{Uɽó/øLE³UHgUPölIš›‡"v§Tyç2JÀPð‡ÿÖî^Øìr‰Ë‚¤Pgj4õBj÷Q˜$UmS3Dsj¤aê?ÿegвž#V2àî†Þö=X–~â¯o†P¾¡’ç\‹«‹Zf µyµðÔl+è¡_æ{IkAÏ*í¾—öcÏé »\/ê JJ¼zˆ×þ£0•°aÀ99‰ÎoQ¸ —´4hó&.}5Ýñ•²î'}Ô³º‹X–îZ“ë± ƒgYÕÜþ&¢ ßêÊSgœÐŒøò¢\ƒMº•_Éj¥â³#pոʹ1©u†<Öœ,“vX‰=  ®ƒþF†ÛœY•s´¦ÞN2öªÎ1%ÖY×ö뙋»¯x%ep@òÖ;HLýäÈú3wkúö%ºsRC*€dO‘³Qv%½÷1{ÄjêA3¡éÌ¡»We=󾎷¡w »>X”rþt%sv=æ(¹6ª> ôšxõü ¿ îõ1–ׄ_p8­ ïjù³Â@B…Ð:U—¿,6‘-$Iß—ŽÈo(`Ó/›ÉR¤jM–ÁVèÚ8…«Ïï…´fabúá•Ü’Ú³³Ó¬d:änšëYù8Ó$ kIœàúQlµð™8CcëN/ß:\½ö$ë# RÍCnYïÀ°Sg³=í&ß rï<«X“"E}DÝe®>»þzè — S?‹¶s4ºÜžÉö,<Ù×¥íÁ1¬f&Ë.ÿ§¨òW­Vl›cø¬.ž5Ä…Žh’é!Í>(úJÇ6@"ò1_Nól3‰ õƒb™§¦ö·-#ÖâÍÈ»ôw¯.ü!¢Û»f¾CH›Žâ!__tfiÚ‰Vôg‰WOå‰ÂoM!Câרz4…¸1'Þ* Fõ G¶i÷„¤`1ŸÝëë²/s›Œ)¦¼à[¾›íä¨1xÄ)ú¼‘jŒ€ÜÙÞKÇYZÛ_èWùÿ¿”SN‘ñˆ¥”öGJœ-ùŒš™ê˜h%) µ¿ž:HGqþÑ#Hg³œµÕBMO9TvDtüÁ¦IÅ;îúb%FîVù‹xKKñM„ƒ¯jY\”6m wøÑZcrNgßts‹·½8‰Æ]ÚùsíL¥Mž-c”»ºž õ(ùDÏ]A":ÐÊEi¶L'Ž–îŠ;ƒö¬? ™ÃLõ<¥€Œðy~“Ãqé; Qu=GIЭAú Ž}°ßw /á;k¬8Í7ˆÃ"ðÌît‡«åQ_ùÖdU›zI*’ûƒ‹vNl€¼²é9|â*áTÔX(¿Ÿú›¸<‚|¹L¨¢O‹=3Ç–òD«½˜Ôý\@,™~ @ÿž&|»òqÄwØ{s8iäGbÌ¡rÏN=IgÌ5>¨Ò¤„ÎH‘$TSñ0‚æ1ƒ–³ƒO(nÂþ2£Ôrº›þþað9ÙÓ_Ë$°È<ÕwI£ «3M«ýÚu¶2«‰g‚±}çnuÈÓ_êþcL;øe ¡+! C8éØLS#ý°Ó,ú—W1q}Ô¶t ‰Ž%Æñ%ÌäÈI!(UèªT5$+Pz•ýçü²Ìd”†¸š§ÆæŽ"xšÒë¸M',O Ù×[.BK}ðdr‰í|f»hJ .>Y‘<– F¯96üé³¾@zG<ðm?ç!çzìÿÛ€°yOÒ˜cnˆx+áû^ác¾]‚ÿ¾Ö(.òg æº÷rcåP‹‰m³šKPì2)Ïœ|¤¨ˆ"­ {ÏÓ;ƒ0j¨î޼4(rFÕÜ_%ì=®Ýœ*ŽŸe²çYé`òM¦Æ¬k½I(Äq·±›¹ÈøœàO’ sdÂuïf9OÚå8„V'䪒ë–“×rë~þ1Df%V|Öº".|Yo´U݃ïrÏ઻wØ7cÔ“bW:‚­µa²Y±€'ÒGÓg«, ¹l]rHY<yþ¥¤ü’‚Š×Œµ-¥ƒ‘žÔǾ¸‘ìÕOT6j QâÐðïªAåbÅ) Èo¶3·‚-øTÆc½teGä§úÝOÉ¡;v9•*`úž´ý•Úàij”b‰ƒÀÐsam1^3­YV]ÔòE£ 9ÿU4¼J°F9/'–nÉø¢•ï„4Wªà‰ZXÛúcmYËV¹½Ïe¢Í悱Ù÷ΰð:±JHÈë@Î1\UBjàò«zÛG¥Ð`fž¶à¯w¶©ašÌдûþO±!æ[(”!w–8‰–Þ–Ekâr”‡'Ú¥º¢ùË›ÀW™ _œ‡ÌÿÓ°¿ä™;”Då ÈÕж¿Ó"ÍbA豂"­§m=SÝ„c£¢‘þzJI¡¢úBïf´tkTø²¾j2>la8C·Ú »+£­7^DT`Ãþ÷!ú‚þ¤áƒ•c­„±_jPnLßÚck7Ã\óàܺO´7$O‚»1Ã[ÛA!/ Ü4¸²-xúDŠŒ¯×7_®ŸáÈ‚L0·9;OIº`½ž“¾§q0ÀS]'}â-Åtüƒ:/Ä@˦m6*OÉìrÎ Ï?ð÷½Tª€;?µ&›±òÿI-"}È¿A~ÏÃ[yhOqßl.ÃM ÑdM¨öüí1íu³Jx’'ñP'†k|vv‘Œ¯! ÷U£‹Ê5W² ´ŠˆÒÿHÈ€êÖú¥³c‚G=_ô¸õZÖrC9¤ð—^ú¦'lcT±¥œûRÃ@Çæ$ìþ=ÙY掳zQ=:Cª#Ž5@€¨[±]Ó4j­QÉ\šÂñ’¸ÿ˜º„8ï3’ÉïÝ›r [ã&9¤à*ÌcÜÔ|:W'Ó[tr¤À_Oz|ea#Š=ñO"'ì¾~ëVCñG·D;(!$0X4±ÚÚ„³º…@-_;ƒ4tÃïðÖ {'ÐŽ¡é+Ëû²ÝH:ñg ZœüàÆ"îõÝq ˆ+(cWšô£ã†• Œê,·T,‹ýfô¹®QöïÓBùµtðßÙÝ™Gµ½úU†œ²Ê·m¼(4zc7äÛ{µŒmºLhZt¨ÿM]<£óPüŸäújKýNl¯ßv‘“ñ—\Ø7Æy!cá*fŸSí}LÃCaÓagNû²=‡‹Oìì'‰8ù|NF„–à2Åu|:çm’ç~,2ü†!¿ç‘$ú€Æ §Ê˜|•Øþd-lÕu¯K.ª2‡üú Ø‚ÎuZì„íY¢42S)—Ø8Z‰UÍNá..82bõ*×|p(Ðavµº„8ÍíaoŸá?AÆ_ègóÈ'0nÊMGznDÓñømO6ðë·„ä“íò l"= µbâ«àÿ3F6=¼Ôåã ëëXOüe?AàK{‘ÏÖ._!z¢‡v*pñúHw˜ò!=˵=ÎÚ÷·³Ø¥œè½tnu$‡aP¥Þ™05­Ü*©Ìš³/ ¸Ð¥ý²)3ÊŸýhúØ›Bò2±¯­iΩÈíŠWä…ÊÚ­›`¶.´0ãЊãù‡ŠÅ|œˆôNMè­£ðYDLF#±&óþN2VdÓÒ˜ ®L_®ª¨c‰±ò½VŸŒK‹b‘là¼4<·€P…ê³4i %4Ù DþŒ,áô`ªð«šè`”l€QÒÍÁ9·XÅæú̺ j™ª*Ѻþ’pÊ“Ù1ÍœÞÚ9IZÇ"Á&aD#{³ìpdÍQï'lé0KV'Ú¬¾Ä¿ÄëN¼ÚÄ”Œâ¸/Û½ˆþ!E…Q4·o¦¸Ž¤iÚÅÏ -PÞJQX†Äf‚¤ÙMÅR #‡ýEuÍíõϨU¬âII,ø^øã{Ô1â´msOrú™ü0¿Ë$oÙ7b¾‘ ;<ÆÏ;ëg÷•‘.ïWå³ ˆQ]kXÀo_ßQsb¦-2ñIž¤å×ׯaG:î¿~šfí ñóêýÎpÆSô¡ýG¬:ú˜átž~ÖAM€BªµxþÁbÛî.vêŸuÂÌ4ßFjÆ/B9FoÞVÛ [.øµ™%ÐÀ2\pæ+¥K“¾®»Æ/ è¥ðÞ¾æIìÇÆ–hîþ*¼D¾™2ØLN‹¿{cðá-½ª—ãp¬ªÀæyò7 Ę+ Jyx'H¢°Fj=ÚHñ਻B}²@" ÓTî%(¿ÿN“Š™ÁŒÅàî“»VÝ}oå✓°o7fš+¿š¬{zeÍrÔ-y+ÙË%žˆCN´÷ÞLͶÛi!Pú·Œ õc_W&o#S7Ãdí{.S“qÝ׋¢6›û©ØÄÒÉ€oB¢þ(ùÁlv¼×¨ìG*÷/BÖ *b»s°•ø4q¹ôt¡îF”?²›ê|ÝÝõ#-ï°I]µ¯#ák5@Ï‹ö¸ {…ˆßç—^ [‡Þ@nÞSpPŽëßìI 6ª+T—‚ux¶·ôd.¤r‚t ½ÝÍìÏ)ØŸÙfá&>†g×ÑÖ·;i§Õ¿/6E™¦m½œQÈyôÒÙS¨©ªM'Ñi-pOÁ%Ã*ýº„¡`D¼úÁlJOºzN¦lá?½y›-<3k(b½„–ŽóÒ~áñ’>›@NÕIÈóÖjW žónJ_ç•¡Ì3SâOý´÷Ä=Ö<]â³8™ˆù¼îÛõê²4Þn½^:VË·AíñóY ŽÄWbÎQÏ~ÆÝSm¬}ø2ó)„÷|2Û>¬œŒL ›}Ôñ ˆB%níÔ|ïÖÚ¸d4öåµ¹½÷3÷†‡ÿyShÇ%¤Ýäúy)Q"ààlWMÈTå=UmwÇÚè‘2u¢7KðpÕÞEµ÷‹®÷’ÐÆ2"@ŒhË2@Yµ+ªÙ{êå·´JN€çòZ0QÝÚçw‘y e%XFÉð$½irv·¶.pnàr²JØði©i@«R.ûC—Ä ÔP6£y]§ÅvÁOîªõµ˜å÷¹ƒ·šü:î e)YšlD&f‘¸"Ò×Ág-ƒç–Yö—RÈ£M¨jw˜ù|ÿªÿÅ59!µsWÃFøë.ÜWäDåjoR@5ÖËi)ž%/š%nÇ ö'>%òÙ$zœ¶ˆ.!ʺ<ú¶òn§1d¿©›šPoÃÎQ9{MSù”lÓ˜IÏÀ°”qF²}µi¡V#ÈÐWÎ…ÇUÈëåEÈÿ'⎱¤c8î%ѱ°É Ú΂7(86öe@ŽI]fíý?óoÚª<1 îjÉÙùòßÙ”öÅ­Ž]aJAeü[TÏ~1%ö„ÁpI¼ØË¨ˆ¶Qú3<ì8]¼ã‹eˆ•M‘d–eÇ·Þñ®_NÆ‘Î(–ݶÁDM–ÛzY“Iû¼JÀã4auTqT(Z£Oz_<ÔÏGM|M–bãÈ 9 ®ò68Œ$dûïP*j‘_FÝu|¯äj§ðwÁèçŸd>Þ~àD>´¾ Ÿ|ÃÄe8£êvŸv‚ò|Kz2¢¸8‹¡íeQW×–›}çņ߅֥_RˆpJÐ϶‘íç\Á 0Ø ½©Œ‘ÕŽï™Óñ]åx#ÑZÖÒ4´O ¡š¥—¢8œõ‘4góÎÃÿJد<¬=ögŒ­>R±ëY¶Z2»á•d†Ûz.ŸÎ\Ž‚ý¯…÷Á~5¶FBtŸ•Û+ïŽ6°},n7ÆHò‹›„µLrQ$"îû©¡¹9Î|±(¥ÓN»\’vçJl|â]5 $ß=kNŒ•iJx}ð_ÈÆÈh.*´. ‡–Ñ Ø}Bö^éE ß$—‡WA¬^f”À¼;.×’™rê¥P•Eûщ™ØÙ¤¹Ò” ÎÜDp‰=¸O“ˆ:¾Ã:r~¼&ìóhÓuõ¨h’bÄ—†cÖ{NëMøòxpåó pª€oÔ»^QYs›O¿n8˜::¾¶äPRâ見npHÒ²{ǜڴS I㪿PaÐd½¡©YÊt“‹d ‹¸û>Å€X^ór‰„Þí¤Úªƒô¹ç"#WÙl4rº?;˜ƒ hÊypÀxPgX@V¨€ ÃìÐR„ñ>’F“A§)ý¯G¿=Iµn‘ÕVPÂ~@ƒGdz°ì<Ì…`OÞÍ<%r˜¢_0=@Šv/Oc7‰ýªEA*áºÆ ¤ßI>q}¨´œÑ}ßKé‘ ¨³f>€óší<Í…„®ßÜÝâ0b*“¨×R¤’ÂÈÇÑ$ÖÓuù^*‚Æ æ+WGÒÿ´:²@Ñ,“Wg¬eH¨çÖ§ÎíÌæœn-ÏØšdîʲ»éÆßíõؘéXT­TÎCJFׂlïÙsä¡Rü(”¦oàØõ¹"Üüã jêO¶˜[`8ød+à•KjïƒzLòUoE}ÑiËÀz’‹%0UýAø}™^ˆ°žÖ€ÒˆÝ§’«õ9ÎÏÂVÞ©ÏÞ¥2»ÂN´}# 11¹0=„ˆÚ ݸwN#-Ã4—ü…® ‚ r4lÝ’&ˆØîLA ý¬·g7™¨ÈX(ýÝýñ <^¼&°ú3:æSŽ¡;¢nòO(ý–0A厮æ‚#•÷±ÉB"-sÜ<žÓã?ź®œ1E¯l9•¬"µ_„=M·õÍÐŽâ!Œ›'„¨/Í ÅŸa^Œ€Ø¢€IúÑðPdu²MvË¡Ò7åŠx 壢U¥÷kÐÔN[ 4º Žj€C´†.j•´àvp˜«|"øŠ’O /¸7ûe Nôƶ™ ³Ã.à5gm_D¬É]øÚÝv±‚_¸ÃUYƒç’ÒÕgÑó9õàï±Ë¿{¬ý,iºðÅ¥¤˜[°2äržæ(zºÎß¶&?VIȇh»4ÔʹÝÜDëvÎD\÷lñ"è¯æ‘@»ßn)ž¸ˆ£J[—¹„*ñÕÐW: ùŸu/j†¼W®ãhݽaw¿c0f,c!ÿÒCXOG´ÉµNáú¨&“üs?ׯaç2Íé,ëÝtß㢕<ª•|!× ‡4­tê§Æ±§‹‰É hnOÇØ-†~µ0gníi ò÷,H¤±‹¯ÉãäßÎZ')ráV;*wªtxެ ´ù0¯:W{·³s‰’á4èH†¦ëv’H ±A’õ#Èd„¤)éîM1°W¯*ä²h†v¯bãxß›µèßÍOt I-i®²™/âeoF⮊pªÎ0ål/£çz€{Çw¥ý&‹éð=¯ˆž?8 ÞÐ°Ž­“*ؘ´›P˜ÿ÷C»ke…4¬ ¶§–«¡fôðQHõÜßLA…a²0 ÚëÚ„+³ ,@ BðãÇÄÖ|ë£\»Ì¾¶¼‡iWÂÝ ÜƒÙ‡•4š+Ö1ûLuu¿Z@çS°RP:chÔ‹RÁ§ÐyBö÷õ;ÞouÀ†‘ñ=‚m²û54#Ë\3c6i¸ãàï¹µý` y6É]ÊCŠÊ±¢×ˆÖDÍBj­¯íC¶`¢ÒGƒç |Â|îN·Rkh-WLE„Ñ» ™eþ±oÅRßòê ËõT€²õÇ‘xÕ˱a,žÐIú,n·¯C»@L¬¦ÂI+«&¤ïÍ'é+‚bÀUjÿÀ4Ÿ]¦ÛBŽM@—cXýµÁÓ‹ç—tM$’ÍÀÞqRÙDÖÕ¬ÆdiQ93QÛžÒ.´TÁɳû)=–޶A¶5CR×Í!#ýoÍí.¸™©øô !´þG[ÿ®ºatŸä}#™Ù[=“'„Ûàà k%d!ˆÌT }ð¿¥lZM#z´A:_Ür}Œ4çPþQu{XЖþø„õäVUøÕ¹îv—\Ü™Þoaü¨'¦—8VnÈ+rr "çÒ1Îà ž­4]“Z î†5¿'5Â]çÛŒÙfþèÍüá¸Ó¨­Ÿ˜,¦Œ¿ÍPΧµV¢O}—J>²¶y^àVÛ!÷&Ð#§é-î…E;'î“OŽNþ_ñ>–"–Ë_=TŒ¯#à^õn>õÎ^É÷}úÓº¾æè`zíAþ“,‚y>´—˜Â#ñ÷§þ0À@UÎN„dÑ8.:0w:$§Ô˜UßÝ¿§ À/ÃòðµNÓobE†ñé‰p“á:RU¬—IeÊwˆEÂÐ˨®ÚHšlž}×ä"³ ‡t?ª´ÛXÍýrè8NÉ,5ª¦CŸšå™œUyˆs+XjªÉgHëS‡Ÿ^Ŷ3ÜlÌPÀÕh¦@Å»ªœ¼TìA?ÏH=¯BI‰Í”ˆÄ(÷8Ó e¸¢öØn%mºd;¢†ô̞ȞÉQÜtÎ…èlÿ œëlKÌWá§LGîŸüsFZz×N–iüdµC[MðpD½z‘“|VX­^"{1¿®PºGÉ ,Ì3? ËÅ•~O,a„`¯ù¬Uèô’r˜}FÛTàéYz¸«Á3•»Mhö´w2 ÞG”=fä¼u—ñœ#ˆiaÖÍ s˜»ÍK]G?sÀZ"ð* ßŽwœ§+‹Ò±càòsËŒç‚Fkü¦ ‚ø¹!¯»æ| ކ–˜ Á\ÞXuºœ¯=Ó`+°o/uÀ¯s`Ó¦u£QVGøå*½â¿”ÍͰÌ-|_Ò4šíLÓ‚Ÿ]é¤+²«&1Z2PPFM¹H†­AШ¯|Z¶›éª934Nr£ÖÄs2£d˜e;ŸBö¬=èýÖkÏñRfË—óù¸ÔÌN‰ßO} (»a§¨rÙs문s±¤L…RE%%: ¬Ñm}ŒÿiƒNþF‹yB0îInã@…øœÑ¸,%Ô>ða™¡rõÿãY6Ãwžt˜é·^K¬âUéKïˆ63oÍõéïž G» X)¥C¢©Ïq¬ÞH³£yTKòü‡ã·•ßq ç6ëò oŠöô]ÊÊ dÃt*Ã[ÚÐJ…SünÕAß·aòß,=rú<\š¼/1$uhbÛCd‚ªÅa8BÇÃÖ ‘• º2íq¿¿ .5ó#'íÔ@ëÂÿEß)WVý|½}¢à&èr¹üC};ýë9ƒ Jfªë§¶KbGfá¥ÓN§ÛuŽ>§-éÅ,…º‰ŸÊ²;£Á*Øé;˜›‡4“ø¹ '‘n?M»5-‘‘ Ä!ow½J–Ñ¥½ëÅ+T˜P€ü³ƒx2LÆÔÍzÅöUÖn‰7êQˆLRV³ÓT3 v§BIWúM€C’î 0ზ…o‡}Œ±•-˜²’,¡•¹iuÚ:2×ÊÈ#Á'Kð"ä±øÕ¡A´g¼“SC$.œÉP‘>¬ˆãn&IšE~u¼¨<\ŽžÈOâ×ý}C¼½<…7f€wôí -Äì’wÍò céæ4«ƒnôæxÇofÂÿ´-È]'ÓP ‘ èj†›à²e -{`†Rþ”‰, ïéL‰!AjÚ¢T½QGÐØkYp@ºZ[\çbl±o 4šèõx¾Ý~z‘¯B+€/ ép[s̶Ð4ö‹¼òšÉ(fX玮ÖDf§`÷‡‹ÞV.±õ!×›°Kí¯é™J'5^ÉSœï%YçØ F}%&Bè=•ѤÆtn¾ó5v¤’³µ‰ÍŠ—²G3é) â|Û8ZP ¤§¾5—kKUväØ]´±Ö¸n šg¡¼Èd['µê¡´¼«mÆò†feŽ3W_M(0›ú„Ñ@ØÄúfC:×`ý9/°‡MþNÚ*P`~ nÑepó‰…§(%ÚÊ. ÝÔDè( øÀ9‹,+EÔ†PÀcì.«¿~lˆ#+Ü©•¶aù­ÐØâsœûFÔ?·È´l( s cÔvð9í'ñ*b515FõÜfî‚ø×À€3¸7ÿ6WÚL}Kƈ#眗•~Ãâƒe»*6‡]pv¯ö>®b:ÔÍ+©!,ÕvêÕ—¥ž {Õ‘¹\YyŸÏI,¿l¹ª‚Æb¾Æ O*¢Î5¸–PLyî+V|­œ@ïß›M5)áþ&gT+ÝÉjVÊC®Ï«ˆ4Ø2Ô¹@r7Z]©Sé ïS[tL2@«*V³ñþóÿŒN ÅÃþ±ÃŽƒ=AF&Bér“é›Á1š¤ÒˆË^÷-5`¨Ý´–$yt‹üq{È6Vav¬ 7´{õvðý¨¬{õ‚Bh§qÐß?–’CjëUÙÙl‚)†|‘&À 1Z!)[1)o¨´ÞFëI€ÖãÄ$ç%a*  ö…¶Â‚úÝi‘\@€ìFƒÐ‰üQu”Ç'“s–&-äûùÄØ©Îíï)ny')<䄸w‡˜D©“c“BÙDAÕíP6×c´JúÏDuÆZ•ÖrÝ}!Ð,vA>xŽãEˆÖ׌(JòFƒ]ȇ:‰I³½Ý=ùßB…NlµJ3e˜ù­{ ”z ½a|ÉóŸ³=„†£È3¯i`Ó¢¬U=Ãdþ·e±¿I¹q¦rÊd5ÍæœFŸZ5Ú]ô{xop½í9e¦Þ¨ñºnHe»e9Oôô–ÖŠïx£ó4ƒ¡+ÝCŽ^Çœ"k7`GFyXý‘pe wÖåÊšß»ÒLª(ЋÚA/çö¤èônz„`·£f¸To‹tFÓ¼6¼ü´¡Ú:»”s°€þáù|[¹Üi݉a?Ê‚ÍcFÿ°w„"¬†ÑeñÑ·ÚÒZ• ÀèŠ*rmbv~(U©¬OüˆøÌãÿIûú@^Ò*u|L@w¤3ãRû©E’ÿmýNHQaâ Üš&R}ìW9J=‚…zqÁó·Ÿ`\‰\´ÐD¦[}(s‡ûiáî]0mlƒû3GN ´?×ìÍð UIf88ø¢d}ÌuÝ}ÇâÁí¤L9¯X ìf0'ÑËý—H7No?W*™± çàˆç,ÄFjcþ·P=Q!—Ãâ ‹¿sêÕ«tDz~'ûa{ýºîœz§r<”õi4Ó6Lp~«Ãÿç-ŸÇÓ„xêòxÑvÊm7 8@÷ñúƒø©ÕùÛh¶OB§Ê0¼xõ.º@ê¬o\ùGaÅXK“Œ×?epѯb®3ñÖýÜE%Ôׇ”¸yˆnIÍàРçä`ÿˆ?(Š•OqN†bïûx®°D‰û’öÿ6€ë?¿•%Gjƒ„þeë°G\… ?YÀ´‹üàoô,ð ZG.Xy·‹©ê7×ðQáµÕ´Æî¶½às€:®òš=%hÆÊdÀÛþ†ª÷„ÓDuÄd"G5†AØÚVà•š=@7®Ëü(¨ .@†™M­÷Á-‚t:G}~«×FÍä9ú2Õù/Þ«&>ÐÂ×­À9¢?k›·³S7'>5Qj¬¦–ŸÐÁM@÷5ç„jòÒ¼ØÞïÚ—ÓH•´ïSYit®ø[¨»29¾ ׄä=f—‰s“}Ñcj±[…ºðã®`èæœ¼’ƒµ‰'V e¿6_Lp7–5=|‘åcmêÒYÊ´¯»„ç™ÙU°ªæJïêçÖ¶j•m ¿ñà¼ìN[?ÜÑÞ‰åz8"$ ³÷¥¨¼£€q<˜àN)ëd³?A’ d[ìF"a<ÙOzzk ¦|æ»›†¯l÷ˆaF,0Ç5Õ‚˜"æ<çnCF*€ì€Z{G§kÙ‘‚ð'ÿ Lý¡@"ÂÛ©®%ŸV¾QfŠ›õ{€¾üßf ßâñ Éö…Ò\K=B?^ÿŠÉ‚JÆb° üŸN†—&ôÉ7¶Çõfr|UÕA.¯óB£Ï”†š™.7sS²þ}ls7ñ©.©:ç–<À€™ARIõò¬gº­ëz±üR€ÄI2¸_Ù €M”¶ág†?Ç÷UêK:?¢.o _´e¦‰¯• ²è… –ã³Ü¾)–#$'çÔô°¹Ih¤S—{i{ùgi1ÐåÎ&…­æýa(³ à²{ÿÿ0} €A²ÜŒgòÉ5¦f's)¢JÁ¨ŸœX>ãÑ#¦bæÏ òisÿ¾ÈgP£§‚É7|ò¦ôÖ2S"ٽ祒ºÎ,œSÞ6Òz‚w‘`%ºš’Lì¬NìþEõ!'x«yKbiHôJ?Ü"‹f&ºØyã{°°œk4!oïözšÓAb~Cå‘äžOúÔ…š–K³·¦Ú¥d³)€zBÑ`Æ>Œ- F-y“VçB„ocH‚êBÌOÃGàJ,FJÛ‡a!]"ˆ@Ù…O^¥ØFž15í-tYÊ÷€!ò³<‰¢ŒP…©œ°ñìeêSχ}ÒŒ{¢ÚèieÛD£j“¡çù[d`;›â·Ì‡Ù¶–6ïMm>Š õÞJw>äÄev/×R2Í%åÞlzÞ~ðúٕ⥱¬ßCÑxÄýãF{b2=¬ÌÈz}]^rW¶ï˜9Æm­£ß:„Rs_6ƒW;t¤áF?gùfõí›Ã8¬˜øjdÙRà…ÃSðncfwDüz­ÌIª8TáÑ(bÉ™Ðãþ_}tÜ´†…]*Yï’}n)®ÌÃaåûô5 Í€¹i°É7 âõÆÏçuþÏC’4Å0ÊÖ`Þ"›‘Ë-Ç ³Òi2HV\Œ°n¸œtµê^ C Orøs·öÿŽ ¥›Òu|B¯âËÌÂ`Ý?ìþŽÿçÝËLº÷ÈV>üË “Ã7ž. ¶˜šoÏФÝK~$©0ù€­¢UH&Þ‰]vUL;ÈbØ‚‘·ÐÇfîX’ƒk¬R4Ê„Œ/‘„ª¸ `IÕ…¢2Zý÷±Ï©Ož-B´IæJPømaƒ#ü†ÚBêд„ ÈçGo7žì’[s‘8Öí§')à Y‡AóìG>ƒLÓëBý>­q?Ž9PÅw×Ôïejk_gS^‰Z3Úè/^,ÂÛø\“¤˜ÂRÂj¬=¸,4Ñu–Ag)[‹í¡¸¡”¥éò…+µÑŒ‘pÖI <ð,©>´[c(®D\¯¤q“RåYAdre$môt'&¢¥üô±2íþüTvóÖVê¥â1—;)žxÜîzÍ"4yøT gL²Ÿav–áâ0÷ÁX’AâÂÕUÄ19ue<ËJšÀgåPr=Éõo[È«_jT{Ìl{·º+šž›ÈɯfÀ’ç1¯ö»v+÷œ Ör-qîóòÜ%—Qã·N;ƒ¨AJ¿ëuÏä7:è–“ÆYÈûŽÝJ*?çå w`(6 ïf«Žl<±çØwª.ú:S]o‚‘(úñB(AûI–‡¨&“ ¹ÊÍéüáëzYáX¢¿tj[ƒs IE¯ÌL-ÁÖî¸5“Q!›Ø½6‡“sO©d\/í±õEø,˘Úå¥1›õã\ 2ê\gðÄô–ý¤Šj k¯:¤ñ‹c‹ xHÔr[ÚgÍ<‰–g5èl#†°x¼äZy~Èê%\ ÞlßÛè”Øgeùd‰GÏAÇyÓSðûž §ÃO?]¬dËô=rVv³Ì3Ñzå³A›>ºþSçƒæ] I—šBä®8#LÃÓ xEe!ßl€ê\È¿Âì¤|»»!èGÄ Õý_¼æñ•3Î4>¡=²nTHp€g'~V¶~ÇÀÃrH('&b<¬ö”/,”ÒŠizݞܗнÿ#™Å`Æ[èw}òNϱ#½hÞ*;…€7#Z>9(\>fyÆoTG­Ö?ÁúµypuÝþk jø1¥¦±ÈÛ5ë’ˆjèóáCjSYYr !×ÛµóæÙ¸ÿ}ÉÞû…Rš—®}è¡ M™5‘Ïé±²Ês›P¬ˆìÚœÏÛSêÍ|ºÞ³ƒœÿýü/‰%çöÕkËK;Þô?GvkXP¥|¯Ê‰•H”ã¯ÊekœÀX†´j·ì‚*¹\á$"9LÌv‡†›ï‘†Âo›æÛߤbì^gŠ7 «‡,ž\Wž_ÇôTð3†­§µøø6ƒuq?Õß×·ç^G‹Õ-”4®VèëcšnKiÍíd ìauh¥"¦ë%Ç˯BB¨›®:ÙlÏ'LiªÉב:Én’…ÑïR0¬>v4‡1YÍÕÃQ)&E^õFBºSÍ‚:¢P!½EëñÞÇ1$ãRpšEWJ„Õíq Uë]Ü8s™•£¯u"x+M(ç}·Ÿ6öQ"òì+7Vž-ñkúâ>;¡8 §WÑ µÈÈ;?ð¬çOMÔRWlò).Uþ]wW¥\†SlŸ& IG`—±ã)d$RpKž¿êH˜ç£¿~€$wBŽ09»¥cžÉôŸê(eáÆ–Eü‹×6?ú~{gJÎè³4ʸéq€ÑÝ9 f,èߟñÉŽ(5åú¶,¯.ÌòÊŸŸ£^EYÙ9 ÓƒGPNb'Î÷–—(Šsª|Xí'‹®dcÓ‹Õˆà Œ¸YÌåelv¶ÓoIR¸f„kÚMæmïÓKú~¹Î%é!›Õ’»ÃM·;_}ÿÁm݇屟4懞Å àá@…c/ñj² ´½ø¡T:[zQ):Þ´…)n‘znô@ƒõjöÉ[[©û d‡QÃmh¤2%ª½jñZÇŠm’Ú3Ý¿'Ò D4’|ºè¢8ñ4X~R~ .m¿tM¡2ÌŸ'ÚÑ„þ½òú»3°4ºˆ?懒ŒfµKš¨Ìõ³> ÆG6èhü0FñB !=n³õ.~H3Š…Ñƒ°{¢ ×7ÏM´Ègm#)ê\¶>^"žÌMV¶‰7õ¿ìÑsVÎiÓ+´ÁέËâŽþоp ·`¶ÐlO¥Ú 틤›à˜ía–ëÓ±š±=¢Õ %~s(XBÕ–Yp!¾Ø†;åa;^ú4Zòn›f©œùénóë?~iKQÿÀ~l½Tlv4¦¥‘¤<{àGnh¿çGÑïøj7ú\Ýó$˜zÅYÀœ„o´‹\)‚ âˆN Ÿ^e™Žº¡7:µªçÉÌ{B¡ÓÜq®õm9ëqP?#_âGý )xŦn§‘•z~vUiq–yQfÑàR-/¹,UJ^yT´»ú6 ÙáK÷ñ¨JÜØú²à\nql”ÁÒØB¿ëFúñ~ì¸/°ã«øÍ–-}àdiù^¸æ¨õ»ÃCög¶¤Ü5<é°Ó  °¨PO{œ§¸œ$ƒ§Æq]Ýe´"‹_r$ÍnÆ«÷¶„´|Yºêá¥a¬/€Ü3ºÆóW]]ï„ó¹©FŠïNfoã¹9¤ÍYîc‡â”6(•U9#ÅGÏý‘FjÂ:ʼn™Ï Ê9w'¿¤Ê éµ(´³yÁ§€Ì^P4jqx¿|‡ ó¨«cóT,úÌMq_m¦r=ü<ðFÄ£l@H½Â_J’Š÷ ?M"gÁvi¸|3óùëF9jºcÃ\5_^»¹âèAüË<ø°GM¢jVˆw5>ðÝ0ø+:gyå€?j²"*xÿÅ)PŸ:󒢊);[ä®s2ìB@ÜÇ5þóÂq{d¶œƒ+¬^*îÜI£õ?¾Ë¾ò€ËµÙ½®¢jI½eÝV ï=Å8\çÄò]øi%5¨&ÀâeÆ1 ”sﵫ­n…6Ø6èTOÑÄ€w7çáÀ‹RŒ†ÿ0[‡äŠ¢PlnãšÃ%¨(¤3È{³¹Ë¡—8F˜™z¨‡ Q&+rïóê@à “' ñ_ Tº¥J)fšˆÊ°Ì–BŒ¾à„c®Z:ŒÁQ2hö­i‰ü÷¢¢>a#ý^ÅÐŰڮä‡ð©ÐÒÄ™ÊD¥pu=D§gÇÜ{Õ0g:Þlp‡‚â(ÿûK½Õéd6¼¥ 2ˆÚ+AP–›ûË¡1¯b¥C®ñŽD”‰ÆNj“3jêÄi3¾fðë븪)C\JHRôsjˆ 0à \ õŒï8âò…Êç r;ÈȾ¸ ¸—…ZD” hC hà±%öD¬ü/®wõYö’fʽª¶‡8 ÇmØ– zÁ2 '}ˆÐõp}Ò¹6½«H§Úöî!“¼'mÙì|'’"y!Jy*zýâçaíˆÏ%gAˬ‘¥ª»ù˜ƒÀòó•z/m„ÿm¸@”©%§ä™75mýGB„QGßqéJÝQñ1#ÎD-¦¥N©BýP:mƒV})'ðÃÛ”1U˜vì ¡ÿ»#~9jŽ|.“ÖLÆÍÅEû»íAjüc.åcC…^ÀÁÈ–ÁYš4mŠ| (h‰u«£ê×YSÝ‚\Âýökz=½™ ÷£9Ä'­¡í®/>Љ:ÐØ¾ôÀX﯊°…€´X‘!\œçì‘‚wBöN߃]×`ÑvÊ¢|â`R<ú, F…Äb´·'&ã…þjÊ|€èáÕÁš›i¼QEMgp´aPÆ.s+Á{Ãè–½¤58°¥N-õ• ÂPÜh—¾SâhÓ›¹B¦Ü.<•pB`ÙQ‘Ä×WLÒ¾‹=0!e}’wz3«x×@¶¤˜òIßúüÁ˜<àAÙª·À zÔ2{-)e|2Ïâ¶?é¶Ë‚:‰º`×–ESgL93h9ÄËlé‰cH:jÞ® ëÌ% ©p¼Ù¾èUŸ5“X­3EßcÙ*ñ³­DÆ»Ìò¢v|es8q†Ìœ§¨8]þŸå2ýÓÑ”_jºñÜó;«‘×u·umS3(Šž~å˜Ø þ¿ýàôh'-6> š_ó¦Íí‚Âå<åKª·™Å Y[Wµç9e,­¡¼×üçû~}×<š?1ÝóŒY[§·îÆD^d/Ò!s¿.R5›ußvT‘|ÁŽóxœy³>²> ­ˆ -.}½ó Ïæè 6Y¬“Afó\íÐ…oŽŒ±{ê:}»š3åC Æå¯þ&Ú'"ͳîóˆçþ7O—YfqÃ4ŠÐžò@£ }ðþ`xí_öî·7 »5`uw ^5äˆ&§|yXVå‡Ó4èHŽd 0c’êU±k´téÏÍùù[l/¤ËÊw%ˆ} ÿ!Ä}¡ƒépŒ¸ýùËš› òTq[•?] ôö5¬Õåe© +gOgn¥ifããÖ¸^8ïà–Ž;1Q:õíÿçÁÚ1`VÈÐ'–2 HÐV¬eÅ—šú–E=DùzÒdµf£ßÍŒå’jútŠÒâ¾îJÄ;uä1Ö€ôd}íö9׈­¥û¾ßeÀ.$Ìúóþs8?K¡+Ö’ªZÿƒOÈ4`r„­úxÆ|ØÀü,=J=áí $6L¸Ú0`¥­Ä6_Æ9™ÌAª•£¸ Å 5fCó+7€“0·W<.T âÚ—*²ƒFF:ÄŠ>\ØiÆ+Tpÿ?±‰Õh·qâ¬IÖ"Ó=󋞑ŷô"ŒgÂçßçÕ¾ºçï8بh¬b‰ê}k°íèð<:\í½aœ(¼×팽ޱ šµÐì±ÑØf:Vo&ˆ¹nä‚-F9U¶â›ZéU…©¯¨É…Tò‘I¤ï÷*ŠÂgb÷H×ÛñcU§šß#‹—Ìš*ƨ­z²ù©÷™oe•Ÿ_ÿu׺v:'ÒN:§. ÞƒTœr “ê2%Ò™CÆ~ÚlïO¯¸AÁÈ"ºÓUr <j܃UóÓU3ùB¨ ð»ÙŸcÝïÀ]µ6$2©¤šÀ ÂÈ@)û2 Üj„°°eÎ^þ3ø*b‚I Àê=À§x¼P©=f¢ A $^™nHì½Þž‡ß±ÙÚñ9šSñ›w‘ zå$›$B‰_Üj“‰™3Þyh Ñ+àzî·VSDÈòÜ•:ƒ80 &Ôé±ýæ¡ñ§+ƶ^µWÅ1|✽åÝ\+uÑH½ÇÑù<‚®Óu&…'Wî­ZâØÙ4T&ÛkEîO´ÿ·Œy¢ïm5eZ/ÉÉw.êÝ©kÒ_èÇÑÆ ”}.¨«L6/¨Þåù{öCû,“[ *è®ZE)U¬ •È` P ~…=b!ó›åµ÷Çdb1¼5öõ-|‹mÖ' 6^¬EúG)tÃü_YyŸ‘B2°8— ‚t2ïÄÙèÔ3o¿ð¾±)*I†&]ã‘·wôR#À‘ž0™Ù?º„:‘Äa»,Cïó# àY „¾¯àj*8}€Š^Ø–w3VÞ´>ª1©!ð‘I%™¿×é¥Mßж¿Od@‰µ„#±œm0Öá*f¾v?…Ü·ãD‰ª}¨&ù)ßT̾§Ci üáÚtS$æ-4³Ôk-{ên;ÛÏ*"ÊÕ$aÙ«ºÛ_žÒ…%¼žð@vMÿ£šúù—ç"½–ì„™‚CŸbË<‡8pï~Mår}5²Íë† ¬¤Q/)ª)N[”Á2AJ#·ºã›Œéão¡wû˜Èë`€B“OD/¸xzGÛÓeè€&äØ?”éàæ ?‚Ny¿ñ!ZLI%ÅàðÝ6?ê¬@OÖFë³——{ÜešýgÊ^øÖ-‚S½ä\¥ý%ª‚î¹M†× Oç5Yøyi´Ã9õìú ,R<à”åE€¼gïäÈ÷ ¹Å`úûvÃâjI1GÖ™¸qÊ.ú®Ür) ó¨[Á?3·‚ò³„ékQvJ7Õ›g¹ó-±xp }èûvïþÐÃÒ-”Å5<ãóe:…Ç ó–R;z¡;NÕ¿ ºcÛO9çŸZ‘–sjEÌuЇX¿Az¥Û»ét˜ž‡r):ä†8ñÏæ-l^g \ÕÈR­6|ÿ<í¡¤Ù¤§†Å0"Pd¼°æQ?nnAÏ·Ô“ŸÀ +Ò~®ÏÂÈ[¦öjƒ5ù½/£Ì§‚nIø¥«œD\iÖݰµÝ–60æCbQ4ªrê'|ÙoJ´«³=]PüwÑ^ô¯‘;‰@ÜXìæ Î+ª 52%ù@1\½e£bªÕéuìñl‹úD¾$!b,Õ[~B·ýa•N%-zÇ– ±ÿý:6³¬íí¿¡¼OM‰Þ‚ùÝD?䧪Æp!“úùþø³–ØûYnÒã¦ïðËw È Cny0Ÿä‘Zæ4wÇ8šXxPï]#Ù 'ŽˆüFö¦ÿäÞ^8ð¯›ó£E Î#ˆâÐ_ÇäÍõ–¥¬lé …bU¡ÄŒmQý7ýÿxåBEh†Hl0&]˜¦3í5sVÝÇT¿I‚›+¥€yî®é ˆlª¦o³" QçÛ0¡Ø2ã0ø ·$Ì_dB«ßcŠ8­Ž‚n×èwÒóŒ H§[óaé:–ÑYã­!Ë$jpscñZËœ¢ûËKs!Nï6 UxœIŽáØF †Ô6Wu»h~£»WùP ø·\®î3¿d+y“±§•'öB`W¡ è'ଞe:Ž+«ØµèŸˆwMÌÉUmuôH ÆÂ§´dPÒ¼§]XM’%=®¦,q~pöøg_o62ž­}’@¨@£¿<"€g6ç¤aÜ&Lì#Ëy™á•8ᨶÀ#ÂBÜÀø…+·Ž–¨õ”{Ïä þÓž¯wº‡€;€ûwÆdÓ—@0ÙóŸˆÛOÂífâORµÉu¢9',m¥:1E•ÏW@ÞñœP,ÑS°[q¦Î|ƒ‹YºKù*…þÔÇ4…³(õóÅqÄ,­óë2®ƒpÔügßH ˜[첊тˆ;K¯»ÐñæLfBT¯SVbÜÇu¼Á¨RÑ–ìu¡‹çaŠ3–Ï8rG€Ó“ÒïAóbR}Z^¥ƒP>±±Ñ\úiß«úêI0{ƒ0—ÍäXfç oæ®1 ÝÛ!–SŽò‹ •†µ ¯Õ;ÍÛ¹©qIn£œÛŸ‹è| žO¯e@ ø…1Ý<¤+•²=‹“Õy¨ÁCÿ«3Ë[.ÒÆ =•¬Ë4½Bÿv‚t^vàG!I²š³  bù®À*_é¶;PÕ± ¼2ÆÃ{ÛPŽ H­£t¯¿ð’EdûªIaÓì ˆÂØÂ9„TŠÊñ¹½(×’ùª({ñgKÞBŽe€\·´¬bˆP=eó¤Åí¸P· C«__ Í®À¾^{áÖ×ß‘ ë‘8^·!ùhbT ÕjðÔ‰<Þc”W“Œ Ö"Ú~ü3‹Q‚;¨ly\™¬B?K°Z"¯á·Æ¥ ž‡ÆËJOÓk)ƒr>ôÃ?èæ+¶¹TãR#z|崧ÃJ¶×h6“Âô@Þì àÖ Î)½Z)§V«K6†1góˆ–6é¬CÃ꽕 D™ûü%Qù1£³_¶¢–6]ÂèˆD˜YÅSï Á*‹>õG¢‚þ¸Ë*öè ÌLjªážŒ‰€ø}ǙϿ]pWFAÑžÆ)÷{_+2Òv–ì-ö? PÍ «þE’Ðe£²1/X¯ë™-™õ†ÐWÄn#~Ghýh$DWÉU:¡N¦A¤…fü=“TöÊ8£«3a øÊOv°îϤ»c®"ЇÐ8ZÁôQOo56XάΌ1¸AÝeƒâMΔ]ûž®u¢3ù´ñž£9xtÛ¼ÿ¦Å¡?zg?#Þ L[/,vo‚¡i•z£L \ùEØK´—®l Tû›ñ5¦»Ý»àNaè÷Ÿ”ŸbµvñÏâ‚Z}Óü(qIâÆ°ÓëXÝÊðe…+-¼›= 0u Ùw¦†Ý#U: áÿI®ëð_ÆÉ0gç<¢ðr¹Pˆá™+î{‹,õ^:ë I½ªº ‡ˆp¾hX²Þâ§ÆKäÊÐápEà†÷„0×}%6BFT”Ò¡Çb}0ñòZÒmBŽ?È2•ô|ﶆcã£Ð¿Q}Ë´øÏГ:qW 5§ ͨ%ÏÚŠv‘ý-øš œ‡òЉõiOðºû¦Y±©ô£D64`}z¡‡ØðÆì‹ØVÉñ‡\öHü ÀQhÝpá±£üÚcõÄÅ(–m,êˆAô| Ÿžhñ  ×Q„†kÑB0(pªësUY $\ uy¤:1£íd;‘8ol;ß Yhn"¹&Kuáb˜p]=ÿEW“öú¡ƒ«ÐAmæ¨X«ãgЬ—”q× aæý–`Fc`IS™%VÉ|;~6žãÔýö¸àÙVâ9‚2 v^‡ í§Ç¯¦½­§ B¾ÇV¢Çè ¶Ö%ìå>tþÁ>È É‚àcó¦š9^*¼uà˜¹ ÛøïßÀˆ :slúq‚ÏE/Súš»^ïkˆß5ŸÍdVpE0bð`E-)ŠáJPn6MSÜ [K¦Ûw™¡l›µ[ç¬._¢Æs®Í‚;’6–ÝS^¦qüXu,$䃄|k©¨¿¦‘rþ<n¿#r¡)lEN'’g×¥±’%¡œ¨R‰Ç»ãR­;³’;FV÷äý¯ï4ïÎ=dñD\ÎMK´ÃU½NQ·öh¦BsXX„NHþjî,Q̇²tûT‡Ó­4¦ˆzÈ$ÆmÒ7âðÂsN‹w@J•ÌZ´àÅYx®úá “ûé\lÛKGS@fïó¥DŽpúäbä6;–ÍùÃr÷üiß>aÂ#C䋉«¬°Žurã@X;‚ò°/>S ¬X.Ñ®­XŸ/¯ºj“ïø’„EІ:ÜF,ÿdH{ß/ñBt2FÝÐ`Bß~…Î¥‚#1 – 25QÖMA ¯ÚMµ‹ ãLCæ­hoy´:x•÷,é> NI‘’R)ïÄÂvñ—­‘¡€ JÆ’ÏòEöUçJeU 5‚\¹ˆ´±æL]hÓòßsHWnbܲ~Á>ød¬ssØŒ“ ˜H÷c<ùJ| hèÙ¬‘jÅ6pªÀŸ*Õ²ƒYS´‚ ÊM~K›S–¡1nÕ>xsnœ–Ômw°4V›3‘%`“oûÞ ‚t’Ñ¢§·Œúq§N•ù"…Ø ²°”&³¼ýpÇ¿­9…}Jš›({KÒQ/~h“ Œö ‚aÛõ"ßàNz~Ì÷øQÑ,Ëîs3jï®nf0ˆ\Û¿£©Ü¯¬¿ØÂÞ+§õ}{/À ÌzìQçnP^£Fý(†5wƒŸ&œ (ôÚ­øÒ9㫚¿E@] XÇ*Oçå="øî“aÖ5P‰Ú7©ÿDÐ ¹­<w‡uB^š :qDçÁ~’X×Ó±s¤ãç-6ζڅåJOÄçM;7]"~ÞÁý¸eîm)µzÿÑãÉ:µˆÁ¡T% qÎWo#ü)¡$ š¡d7 ª,\‘—(ÁjÌÌ“”:›¨û^È;îç<•i¼ª ³ôjp£µ‰&?£,`}Îì—ßXV“ܪƒ^U•›¼aXˆÄ¸ Õ9Ÿ)l…ieزùŒv6V¿‡dg#Êõá° `žÅþn kâ`™Sl=/8˜ß„Ó2LÕD™D9š­~XŠt˜è䇒öMÕž3¥AÊÞ6ßïYŸ±ã·¾é€!-u èâÍìü|§ÁuÇU­oL½gª;å¿€qÇÚómENo3&¾ÓTO¬úøFÑ(ó'wAé_nîIÑXÐp×neè`W=ÄUêÉݘ­ßÔ„®´xÓïŽÜ×íùÆ*(˜Xî•$C®rc1´Ö´ƒÍ»h8.ˆ»Œã?wÕ†°¬!fNo;|B2âuÛgQJ­*ÓCf€Ä~Ͱ•’Vþɰêâ—C[ö‘©ƒƒícÛ¥ü©:Æs›Ó¨ÕÃÿÕ%sþ„ÄU°äšü½[oâ6[ŒÎkd|îÆrar|ˆ^Æ ?éÿ~vÇg8ÝlUh,|2:˜šÇ~̼ºì¤TäC¬¢á–¯6;Cz¤ÅjÄ {à<ÌÃÛƒWlÖM0A­nBšy§º¨­²nýBŸ¥ä~/Ø´©J¡CšÜ©0È1Ø*ÝÑ"ðUÍËWá{¨¿À²Ñ‘{ß¾™K¿bxÓ…x†*gŒ­ Æ¬Aëši è)wãÏg!•[è™2“C9Á´‡£Z{ªÖDT×á’ƒGz¬3*|]eÉ¢=?JÒî_OÕ’“zŽz`¤þÒfS‰eW´-J}£¨yUx5N‰±EòÉËKL5CÕÍÕ &^ç“éÏÄ~ëÏøªŸH*¶¡J»1g¤í¥×E,Égeœ*X=DÇ‹ýI±£-"Ñ„—Á,2” ¾Ä;¦÷²…`:!š˜N”¦Ý\ÄßcÎM©Õø•öJ*–+îP„|¾•ø‰ ’Йl…¸ õø08(ª†«øÊãse$á´²ñéþG¶np¦¡®àN6ÂÕZÑ ¤\ÚPÆ«PMüºµqý6x´ë‹Iw‘êEÞÎÜh]p,¹m2Öˆ,Õ¶ÛGNžî„Ú·“IútÉï[«éÑÓ1G‡½‡GµRAܽ}½¾a1Ø*‹vãÜtÝÔi‚*†|¼›&¹!ôÕ£‡Î—l`*ø¡SU_q/ú»À“Žº’q}†^ãÆÏ>‘Rw¥l¿3£å-ÔŸáÿ¶àVRëþýÒ§‚<57^–±Ÿ¶‰u}ɤP–,LØþM†ÀÝsäO:ù»*_‡–×rÚå×È[c¿Ký(’áEAŒ¦#Y“uh,ð-÷{A` qTÍÖ8Æ»9°j1q°Ú.ƒ~”Dœµ¬Aðß·\@FOò2ÚjDÑ}=ß|˜º’ÎÍ’yèl‚æ.)ú³"v&Ph†Y#—ÂÌn¬[?PPb¬;i±ܹóÓÇmÉ«?€#û—\&¿•}æ~]eÈ©´lŠó>Ä]æÛ›·™éI]ÎÙŸÒº¡[òå}Ý ‚FMi–°ÂvÇÓŸìrGã`»LóØmÜM(ÇdÖ ”—-Dç\1Q:i\Ñ}™³’4þ 1Э3yhª­ž¿â¬¤le:x„Š“ßÚŽÖ‡”‰´joA/6(tHGæ-¼º{aG’/hìPBÁ£g?wþ2#ú¯„r)y£°j¾Å)]Òœ@DÚÖáöë¶k9rœÌw]D:RìžÄ“À=J¶‰M åH’±o Où>ýŒèÀ´Š6ÞyÛýê46$V" ±‡@CàŸ¢f«•]ô€“®{É€p4˜ò-­™Öt(¯ß¹àC¯¼ØŒýżâ‡!Âø–Z ËÀãñþ0ÒûÅÆ»^G0§EÝ}ù@(i´ûM—Ê2@ŒpN¢ÿÞ µF”rø•—·FûÒn>`ÚúbzˆùC¯™”î”èü›|Ìëº4¦ÓÔ¾kHÃ’¿[ùІwg:J¬äß`¡—ŒºNÆ$ÈüOØ÷qduô\l³Î¤û?Zïýq0°?É‚€×n= Lc€·û©ü$l”màæ|HÏ5&ÃŽAXbú ×¶*?!`Ùr91,»•óïv‰“; äð‚Öâ¶ÜæªÇCWˆêó+/À ½ ñæq8+nßìæ‚ó‚âÝâ9SU/\#[ÔŒ hîœ_­Õ°ë÷Þˆ`S$1[½ o{Œ†Ú„ßs*[L ‡Lr:VfæÊÙ(ÇØÀS9ŒÁï˲u‚Ê»1I0h­ª˜ÓÚvÏœ~G6È…àÚBžý Éì5:Ÿò‡ÜÅ/}$Ç{á ŽˆiÈóØî.ñ? Òä»fîBÿŒwÓ{bî”J­ú±õ˜˜û€º”¼M›ß R=VŽ\Tºà!ÿ:· j=»$*I‡iÉZUØÊ!TÚ¸²¥¶˜ï£&£'Uq<9TŒ¾ÁN¾ñhÕãO—%O¦­ O€°¼êWï`2¨n{ß×_æ«â…¢J5€Â ¸Ð¼›<Ó ’ödjÀVPí»sOiâ·˜ê— †ædÖÃlï~)‡jé|¶¦" ¼ß|Ù§E*yKÖ^qR Ö´ßÔÃõIpLÎÆ¬‰†ÿ¯áڪؾ®åÛâo'þØ,VÜ4÷[h÷Òª2Ìä¿0lÏÖS7^špŒ»6°¤ÉFàx~WŒœbE«®$pMm<ð¨íòs»¾æuñX4kEÍp¡Uþke0F:Ègñj8Õò r-ÂU]~~CÇN!iRòq/°¾Ü÷/#^¼Ók6jžÓx©¯âH·;T—WÈ쬶CÎÓÀü’VD sÜuÑžã2˜æ);uØ2Èh;¦º/9#žsžpÉ£Â]§ËV#ÆófÊ7"ª‡Xñª~›xC#‘®ž^U¼²Ë¬ÂŽÊ: óâZå~ i™qY«QTš£cdQ¿©”ëb²N›L?¡ªprÅ54 À­R¸êÝu·""4}xy&rkÃÀîR%^Ù|®(Á‘Á¬bxG¶«ù/*}Ÿç»1Å“T²dLzY¤aƒUY»î÷¤¥‚Ï3Ä]Ïi µ¬’!j´W° UÄ‘,B9œ#ÃÒ;¬~Ÿå/Coé¸0B„V¥îSº'ó®sªŽc%XÛ,ì^ãeúª™×_§…v™æ…äó‘‘Í´¯;“G3ºN„ã7p,†°º,D(›ÊSîb¹¢ÔîM½oHGeÎcÞ;JDUŠ Ö¼ú{ÚgÛ¶¤Ì7ÒÕ'„[ç€L¨#Ý^3·¦šŽDhåe챂¤•žÛ±O>}/vkåºl²}®=LZ‡½ý™ÞwËØ#°@tÐo>¦âëÇö¬@ «««ÏdwwŸ±¦Œñà@ MS)ÚƒÈNÿ{Èiìxs3 #ã·ÈŸXˆø­¯øÚcreœ\´0y]üºK0tì9µ(ªUˆ¡@BßhÊï ÎÑ•ÈR #úú úÃ$>eŠ.èèìŠÈ%•´ú^v.7Ò¹ìZàÉH—ô•ë\Ÿ6¾«ôË‹Û —âG©Ÿod›åAªÒïûÃê1Mœ¶ç‘óÛ.Ô2`R³|`Üݱ]¯ã"ãºQÕiý¤”ÐSa‰‡øN‚êî=ñOÃ'¥™ÿœ ( 5$ã¬GtdÎrGïÃGÑíÅßÜœÃ<ÜÅŽÔóØõf‰-{„P@B‘ܽúK«©ßîšî5IªuÇU“2©Ú 0§úß›„ò›*­é!x‚ͱ€˜ Kzú€~š5gÃìùÊ=˳Á¨Ý`µÄm1Ú“ýíñ´u»§aÛ-¸Ñ„…°>ÉLŒ†yÎzÐk7rCì–‘»ß qEý|‹ý¥›”‰Ù¦Û$zË=£ChíÞk^Yo0´W­å¥É®`â ¯Šb°¯RŠq%Ÿ¤L¶x £¬£>gø\l-Ê`í>6¤áJT¶E r}xRãâý{.±ùÒXƒwP¿ÆrÕ6ü©Bè. ]ÈèìüÉà&€Žkµ…ÖûÍp'DíºÝ$c=‘‹²h«<@„ÿÒú5Ç7U׌ïGêàÄãï¶¶°Q*R‰¢`ðH®$.'ÚÈÊ÷3Î!’¬FÕ†C±×£‹B‰¥ô¤&…L¬Mµ—”Ú‚ ìP>-{AŠ=æ0âv$+=6ÂP K–qð[G ;Ÿiµ-­jW®6q{´z¹P¾a2õÏ4©£˜ž?×pUÅbµ•À‘Õ¢:bšùi.ô53nÝÍoì5 ˆ  öãhYܿ޶ç÷$„+/yñ‡ˆ¯?‘à{°_kô37—ù‰Ï¡´*ó›wäwÐ÷MÉ‚ô5‚Á ·Ùƒ€j­çßGùJPÒoB(ÔZ±!g”ðS™˜üÛŽvcòÒd‹Ì>ÂĆ÷^ß[ëä¿VÆy Òb )5»ÑáþôŸ’T…וô–Øc9ÆÊÐêQ"¡=`^\š`‚‚ÌŒ5Þ`¤«*€D‰ 5ý@uj—6«Ÿµd“Ï0Ô)×L!øÅ·~\ñÉDýç@Mæ«h^V Ø{„Ù$íæeBw>L*'_GœÎb–Î|ršÚp^GÅ5oOs²æ˜!ߥÃj™ÞÏÇ,Ú¥ïRþ«6tÏJ#€8xÚZ© JDÔú7ŒPcl$JŒRh0yjšÙøæÑ¼‡°R€é ±¦mmf}VÌÏå5±n3Ž ½ƒ¸ôð]‚é0|K™ÅÉéýÇèƒòwCt›\Œ!n£=ô«‡+‘mú½/¦R:œIR|k Ö:VríÎQ;®{âCÏÍH‡Êà9Z_ás`ðùù€$Pcg-Ñ<˜ì캉»­D\Dàq ŠFº‡^'Z‚&$ý%· RN’æ8ï5;Ás´ç«í,šv›3r£=y –EèÛì¼<šªï;¸TÔþ­´ÐšPß%ÍK%“t,ÛP^L²¤@,úS59ÞÎÎ4H¾eŪœ:fsÑØ­Û*Í& }Üþ=ˆ ­ù°×× E¿­G9P‹k}uþùœm‡Œµ:@h)éúZºæ×ýŒE­y¦HÖ/Þ†"éê‹+æ zfÞî´®¯Ï‚¢K;é^´¿ïf‚¶âôjÜ ž¥Ô³¨»ê®Ô¼š+ÒsZ*W˜S Œö­ S9´ƒû’sÎÖ“ÙËcºx侃:ôªÒœ¶"¥zQÔ+æÇVrK•—­<ú;M):{le»7ó·ƒsí¼VºÙç.%ÞdâE2׌ÜÜߑ $îY"Ò¡Ê$nˆn5Ë{_L~ G“k?‘¡¯/>òÀ=tòÀün A®ÅTVº·B ]8Ò¿¸¬ô~íõSŒã÷:a±ð‘MÆÂ†SrPƒBìåµ[Ö¸Dˆ‚óŸùX¾î–­È@-´¾;(“e솊jùב4ŒƒŸŽ]Uô sË ûkó’F’¯÷frÁ×ßˬ»on<îÖßC‘ÒY&{lXÆGxšˆ%¥Â ¹dóßyXCõêþ.Fÿ ü09¤•Ÿàþ6ôqÄ2 :+gk‡$O†=?ùR½žYØ"ëfN®Ú¾/{^tŸóÅBâÚñ¬af©r r”UHeý¡ý¤ ‘leì5¬CG1£ÙPú„¥TËÅ%›À‹è8ˆÃtlÍ¿¯©k¦dµûƒS¾Ÿ;kM¦œÊ/]¿p8÷¦²gb=oÌ3©ï\WH£hD"ÞimÞ°sh¼ŽJÓT4Ó­SÕgä÷c÷Lû}ñEøxi+óP?jŸ6oP=’Œú0°Ó&µëL5½9´=eüßåHËX¸ôôm™/(j˜–cœÃN5ŒÍÈh¨lKÑxÊxªÉTU\hÜäÐïWE7,ˆaçê#7ø\šÍ£Ì߬Ööœt\mÔtR˜’ì…ð„‹åRåŒDRÐqyØetIý ¥—`sI¯ÙkÉ<Cói'h`NºO‡UÀð|T¦ 3¯üb #‡>¦_!tAÔ‹™:¹óF)J0¥RÈË ›¥uº6¸nž©ŠpW'Ï!oNEŠÆ V.Ÿ Ÿþ ÍwÖ$>f«ù¹(z¿I¶ÎVÁІz¬þmŠñ)áDÄ÷ìá%0º­OûOKDk¬›Ë]/û~>ë÷‘Õ!IL±Ÿ– žVòÙËøÊ4¶‘cÝØxpäâ™éÁd©\H@^ssO¥("b÷7 !ÐÄ|FBÊa)<)ÓoSmú­&ÐYÖu·ˆ½ß4d¼ÔT§+w³†Ë™^ÇËôÝçÞÊhöJ£ø…x€AÉä#;üé[“}ƒXy„X¦\€ZW[_Éôð ,Ó W5‹¼)„ˆê÷&–Óºâ¨õÊM8Ÿ`Gd¬pþöéG~’íɺtß…Lz¡M¿/-Ìs˜!Váÿ Ž8»fiiO.(­;ãíyýÞVº.é©¶¹ª4èŠÍ¨È¶¸Þ¥ØúRù¦‡ûB¸¾M`Œ¤œá@]ŒÃ ,q£Å¶’»ì Ó¿7 îŽïàhÝí´Òt­4ràÈø,³c?êï]K›x˼9iuSWÞû†¹ÇÕ@1Ö>¡`r$$¼OZõ¢QlÈÛ®ÝcÔFÑ‹K—4J-â ¸8aØÉ'+Âñ¾‚[{k¥S~D×h»®Ýœ¨oà :*Aâ°“üìÃZTq‘ðÏÅ[Ñb?wÚ­º‰¼d ¬õ°¶X¡Ï¡è$]ônEÔbS~1˜×bÌ¿ñLj¨>?÷+ ДæÝzÑ–”¥­OP˜ ñÒ»‰o†¯€óY´D|Æ?&déÓ·Õ!wH³™~ÇTogï“å—~¾a(:E\éÈð:¸ —Hn-§~ÄØÓºX¥*˜(ÈU”…f›ë*[>U!ç0¾(“äX+àu=´ÖNÔG²Ì³ÿÖüƒ}¡·¿g=ÆJ¬½X~Íc­C$k'ü›£›x­Œ»G‹ªüg&Aýñõ¬‹¨ ¼vrJ]‘Y‘Øib-™l)Ñ–"dÁÞ öLË >ýÅSŽ/ÐzÂש ¨÷°Þ4yø9åAÆ~K:þ™£ôapª’fÛÞp?Äù®}§6?ÊÖ&h`Ü#’u㑨'î{‡¬Œ?ÏSžåûÜ›à%¸ˆ¯‹OÄÄQÃOù¢×Pª¥s@ú IÄY÷1¼››E.e€cÄã 'GlN¢cÚ ÎÏÎüome•Vèj{_<ÌØµKè÷©|ÚÛÚ ÛÅÛŽä= ±ö7ðCHÁ ïËo ¯Áÿ¶b¸cˆ»—IÏ`$ЮìFÔ^áÈ©Õð‰Þáq#„ÖçuÐM† hûÛa"Ì@H}ô ÙûP~(ÝbR‡þl Ø€Ö¢©Òÿ*\m:™õÑn•«{¿¦˜¬i+#>#ê##!ñ¸¯2á³.:”ÀG£‹&B…ÁÐ;ÈÎ:ºK!”Ǫ~HÕãµ€šÀ-ð{ZmÐ’dœ±¨ ‘«:ø«÷|_Rí¦H;8Ùõ'‡¹Í̃FçWSî#£GŒ`‹ãpËÊ@N»Àza/ÆÎë òeijSÝ9Ž2çÁ©ÇéŒÊï§F¢\#}ÔÉ@,×!ÌR¢ÞÚugtFIw!"ÍÌk'⎣J7Ìu¸F.MnB¤eŸˆ¡÷^(µ„cøãÕ£uéµûÊM$<ëÚ,E»Hôü&#“èLÂÚzi{PP†}™>ˆdJ-#Å[šm3xx¸ž6Þ’kö˜47»4ÆôiüaÀrSÐsà{0˜]pŽ¥Ï‚Ãêz¢eéØïXûE²c_´(¿"(X][X›Æ÷­èÆ›eì©¥õ197Ùï6¸…Ñ ׌³Ô_dXvc€—i”ÎŒtbÞªÖ€]zà žˆþÔGSYpg(–¶|‘^¬óŸ$Pj>Bê w93¬]!e¼yxÍ,´‰bIà¼'<‘žÆ:Nã¶£Úùh‰¨2ïng$’WýÅÛûИ·Åvyà+͘†Ø HŒ¿âOô↿âáõÍnê í ¸OŽò¬•”©©õ#ÕÀ ÷VÄÔõãê1yàà+lÎ(L7ÝÑœƒRí[]|ƒmïä˜þùéiЋ”gc<Ñ—ˆx\¿0ï°ð°u¼ ¥Â=v «»žƒ"2¦‹Û9oÖIfT$´òVKÉcÅUà ˜%OC²ÚÁöŽg\Ë…V½âЕ*AÜ G¾ )ø¥¡kmÌL (2„Ö•B<´Êg-÷¯-B;4í™~u2ÛXLšÂâ à!}:åì¤m¬È_£fdä#,žØcS6-"áÑS{p'ßtý>©çªù¼U-1oo#S%e§2ÜWN_#¿`Uys{ŒyYr—èî¸cj¥9Ó²»UTb¢lÛV zn‘ҳɊBŸÀÿ½õfð`ï=-A>ÉÏ==~Ç®¥£@¾q)™ÝOµÔÉrù³¾i§酯ê®ô.¬n=#íP„†»Ã e“?·ŸüÊ Çª@SîÈ—N¿'”'ò›¡ú¸=$‹*^ˆÕYA¨0nå3"˜ÞñÝ÷0©ýÓsûý.LÊGH*U¤R6‚|×µö­ø¬ÿæsØYFO0¾dXèÂ)þ*àRÞâR&zo} e¬‡p$˜¾”²©*wèZáÕ@žËûöïùäÂüŠbåõdHý,_3÷p„H‡„4Ðæ€tÒ¿ `3`p½\ ,òNE„…B5¬¾–<ˆ$A+÷ïßËž¥C€td0Y¨- úÉ©²,XÔJ:—ßès› ÑŽ#3¤ìz釼¾Ä›öø9'»ú¬^¯Ã‚¯LíH{4þþ¸ÀAWÈ_[nøi:›ë ¡g;æ~iÿ¤Æ9œ=¡ï½+ùŸÃžkÖ¨ÛŒ;4­UGˆ2賘ß]QñÅGY«’O:/óÎóû\fÁ^yD’t㉗ÒTâP«ä‡ä‚tï*˜pÈ(B¿Òr⸒_ƒ‰cˆOâF]5sÐLFû=áø_ùº#ˆ*¥”G«uãJÎøê«ÊKƒ9ùŒžt]áíso…½€y•¦î ð—c·ÖBÀűåÃÛ––·C$dùpêb¨ÍùEð\ñD¤¨ƒ˜È¬mòiÓ7æ˜Ù™£ÙÊ\ŽäN[y¬^³/ÔúÓFçÍAH»;ô“õQˆµ8{ýؘX´(iQ¤RmlmøÁ¼ŸÒåótÆr½‡Ê?þ×’$E é9W!¶É陥Oó¬ÉM^Æ­µ÷±÷V;æ<3/F#?Ñ’.æ2çýÕcΫ«°Wþ¢-‡*Ö½Ò¶ À¬Û§ô=SPHªºÍ”–ÎæúaF½X î²zP´i€<·$¾K„æáE¤Rc9¹wç±É[½™Íÿ*µR&-áxjÎÈôÞ•èvŸ»O«v?ßЯÐ× hŸ¢ÛBfqÞ$=оwT‚.(”üËtBsúíDýy¥´¼d;R+s‰U"'Vh“e¶*K¶I8[¬B?LGé4+¥¹ âå£'àIPMîPÆšQа¨b˜mçÆ åB0¥Ÿ¼®ÌïÛ â¯4:ÙŪ”eƒÜÊëÇ ½„pŸÈ²û<Û<ï#ä@îd Áø>Ó‰j/“E*øÌ—iL^ ;7MíÅZ5gêKµü¾µ8Íyá>/þ›"Yñ´ ÂH.ø*` d!JC£ªxŠSÉIa$[8ëg#Ú:>*nV¬Ì[›&ܱ±£—¼KEˆjC¼D'.zˆÀ•2q²íY”ž¼¨˜áEÚØõ•¹®:lß·2ìåiCæÏ’ì¼Æ©m¸Y ,YshèÔ*vûÒÃ@<¹¬WV+ö3&–gº%²¦4'¶ Tüí´#M“<ù©5 dÎ—× hÛãÏ%*aÑ›Cò1bæ”(È&®‹GþIÚ™\ݸ|bÐÝB²vîèÿ<ÖÞlo%ÎrÒoŸ°’1­¡Þf‘¢>APûôŸW”+˜ž“ªjpžGÍ奭õØ£\p+„Y ¶çeÏi$¶`®þ×YS¼fžnzíö[.»šIãŠòµeì,Ö@&g¦c®»W5>À¯‚œ •:æYuÔ=;€U“ác³©pU-ux íÿ•öŸ›T-+š] HŒË›îomê}̹G@âD1Ö?‡ˆ_´k q>ÉMr£õXåÓª¤'uF&Rû™ùÄ@¿•œâ"GþžA½>E«ðPb#øÄòœ€\5?ÚS†S%³.u¤O}]k‰™»¿ãÂýÈ)n'DèUÀìVù3êý)oTL’”}E†+°Ž“þˆƒõGy… DqoºLÚµB¨¯ÍЈV»œI¼çŸEÚ¾Ã}ÙŽ‰C{ßZ}y -i³u˜)i!°Ù¤œ¯¡ª×e0‡ÖƒN͘¢&ÅQ¯ ÁÚÕ ‹£íl ½C¢z7@þ• @vXxè¹!ûc2ç’"±ÝóX¦4„…u÷=§ ¹ôÛ†¹cÛëâ¢ìËÿ3Y_ªp~-¨¤BÓcºcäN7R57ö $$âÿë±Ôç^§KÛí±«‹è¡wAŸ7•€Ò<6M϶7̬áŒD3Õ\Vh¸ý~8aA¤žÉD:ZEý ýp‚Uù¢NâÉñÃy>æçô‹0¾L‘"`9¦ ¾é:×Ä÷ ãÿ~G$§z)W‰ñîITÍ¡e~•P%yŒó š¡¹VÓHa=¶¬C|{®æ-iúçá¸ô1 ôÉÒ9ož ¢þöâ›g×ȯ ]Oí|¬8_ ò†ùî¡~(€WZÎŽ HtzÄèÙ›;™‚ù_àƒœ$±ô‹—=Z;”“Ú€×a1e{ŠA³õ¼;™¢6öSêî~°»¶fÙ­ª‹'nhÞï& ¦µéÕcoH†œ$eqò«5~€Ãz&Î?Ð ¾üóŸT*^}À«‹£tÙþه햦.ϘúPìEO’ ¯j¿¡aÖz°#ZôC<È&Tà ¬äD³iÖI^Sç„@rφ§ßU‘Æ1>j®šêöB{PS;`zÔ¼åÉAÆ…CŸÔuE‰ï´Îj‰nÕΊ¾KÀî(¸é…ñ#çÚ5Ÿ†Øôn¥šªu¶b‡7:ÑYkÕ.œ¨Â€G½Ú=¯¾ †l?Ê27;|€O« ½©›ý&¤7 å§7K¦n”ž+9;ü€¯Ø¶\å1 ×0hžÉú©ÿn– ‚¬Òu„–ÿ즢â.'È2vÜI,u¤M—UоXj­ë›ÝÈE?ÍÃÃ2aMZJJ€´»¥ß,¶àS“é5h6Ç… Æœ‘OàðÁ† Œ€ÆgëÏè Ð:©XŽx}Í^HzD©m­CÐx­â÷ÌóòCè”P… a>ô@)©¦üiŠ6îßxìa' i uîr>½Yµ~Ù]ò³&º8» Iã/«sÓ™ë$FV!(Ñ-¨ aØùÇ­¼%«¤÷DŒF.;sÇP§A¦¹•]ï¶Ÿ5"•šÓÍEœMïdäm›þ™õgråÊ^yü”EZ»¼{’ò¸õÕÛ3̨öËvèû‹P—^,Hk^ìXдµîJ6§Ì¨ü¥3 rê«!W!rt±«ÆÆ~‚Dµ„„¿Ô_Œ±¦˜ñ_R->…š§]ðÅ@ºuâÔ1¤ëK0(Ôvv¼†ÌFˆx ©U&xêjù¯Š÷,ÒÀ1CÒgÈžòä/—ÿë³í°ë:Yü¯cª×z_6¯ŒcÄaÖÛ¡áªÊlÒvË&_1` ɲ]E`ö6¬z1Ú'“‰È÷ܳ]3e@£Ú$¥ÁY£íׯíá·O@¶Åˆ¨bl¾Ob<,S=9QÀfòƒ‹|®^—×"¯`t£-GïÒ9(´ Á¹ú¥ì“FψÍ@3 ÿB5).Çó×b².è{‘g Åš°;dÂWþ8õ;!S5`yºµ-dº±¿5G¼4Q!ý§$„ñ¹hAä“B­? iIÊcÇ_›„ŽH)ÿ2gD°ã¨¿ŠŽ9QW”E†$Ðt¼±é:ØgJtƒ~W”êfât“F¼~l—]ŽƒÑ!€u½À²áNñªMç#óÝÁ» »Ø Dà9äxN9È O :>¬]Úð!¾D¢ïu%Óé·‚¨måúzÝ”­6âé1Ï“»à~ôŠßRîå%Ùhï$lì[ ¯^vÊœfÅÃ&:›(á‡Yjlø7^0 Êüá¥êÅkù;ࢵûÜ‹ép´’Nc¹Cb«cpcf6~[Ìg¢Gê|/ «î¸ (P‚ÖVza%4aêR7üd”1óÍ€ÿ,jßhä6[Øý}ïá$¨OáIƒ|:`^y^ˆF+Þy~  oÍŽâ² ž-€ÍyX‹ÿÐëºúeâ?ÙôŸ¯©›Â‰â厦ðóR8"z‚sÛ„ÖÙ½èÜå¿@•1:+Cù+ œ ÕœÚßì%¨µ \`”¦µƒOá´p»ä^©yrô™ýYAz†u°Å°Ÿ«8&+ïäMpJr”¬ní+UßìÖ×OÇò˜#Ï…_ØòB”y&½ÜÊÈœ€ß’ԅѦxŠü Æí^®póà¹$ƒùúÓRd„‡àã- ð5ÏþÑÃJ²¿õ}‰DÒL7i~|3báW;âd]íK|tÖÈý«Ôzžý²--kMÚ:©vÒM'7¡{­>¯•L[ MpMÏìY\žRÑEc %[‹ÉSËóc© ãÎO'o!jeüD”xîäŽnü8õ¬³)xÛÐ+ˆüh=¶Õ§=:=g¥ÆüÎûõ¡,A^¦ãJÕ‘¼îZ)mD¥‘Ÿxj”iD˜2ÌUÔàj•AÄ­.#«¸©¥3g1'ò[çú*TùaùpjÙñ¸A øŽØ\Ø.¾½¯¨×:¥ß˜oÑÌ|¥ì,0k·MËÆÃ&ªs^Ì_E¬që)Q›/7ßåK¤šÂ?;ü60…Öªu!”©LÆãËñBWâƒH“Lþð¶Ã¨0-}¢íÆT4G -¼©ÒÔ xóª“òŸ¤lý} –MHÇ!?AuW¯ú\'A‘K•›ù0é;°&#­«×TêÓjCŠ"ƒËÕÃíOWÂ=¬Wpƒß f´ jž,€â$ؤ*¥RVrâ“NÃxªÐD}Š™‚7ý   ÎÄ\ï­cÜ´mÁTx44òp‰ú8@0¾ÿï>»ß1££þÚöŒÚÇ‹w Ÿy{VZ_7¾Ó{J/ü¿ ½¿‡ˆ«JºMêW*çÚZ×ÐËè°5P2VO?ÚsõŽÑš â¿=¼—©þVí¿¢*ðÙ@¤&9o<Í|sßoqKÓf>ò•,UOC/D \§±a/leTƒ ¶[éÅK7¤‰Ê&}¹%úgÈïÎT¢î`¨.Ž\ͱ‹A‘ƒ—þxý"£¿|í²5Ò”Y™Ùõ,4b¥›kÿS§»Zù7ço¨»ê;B”áþžMQ1âß¹_nØ^sú3Lig^N'˜K‰G¤(¿"äed Áõ“éØÿ‡M× A³…Jû?¶Xú®“í "ëv£»¤2>¯¼µBÍéOm³V¨<›NŸ+‚­à¾‡ré¯ì“3Ë pCÂ*pˆ0šhïíöZ{&EZéŒ$„¦Š/¥OrÉ5k²m >$wñdÈ¡f1ÓöŽæYßÅÎW:Dþ¸Éò‘•ÜÍ`G÷j<—!ÃÑÆªb–¿m]EÌp"ÌäâlâÞlPæ<Œû·Mƒ2/a›Ep`_ùN#u´ïzˆX,‹µ*Ü"ºÁå_­VD\ÞkÃ2»Ù”V-›&“&ræûùr¼'e±JaÓùrç…·GݽÆz<¯‘“x’°pÃ?;‡ÞB š²Þ†l¡7ÍU'oV($÷bᇥñ 4/d··äó>ë»ÕÙØ+GHä´L‚r²6¶3r*6âpWy¦W{güÔàÃø×=ÅŠøÍ¢¾£«\Õ­Fíâ+>½¯ «NrU£BDuþÎBdÍÐ#6!/ó–Z[ëLLjxÒ¶!´†,kîˆÌ­õze×nJl÷=_ —p ÝÁ‚âéOÓÓ¦iùF·m¦"„FÛù?íFPªë¢ùy^1X—6)EŸÔ†Ç—Y¾óøi¶Ó R¨€x¸ì…C Ê9cW­ëŒàxö?' iØA%Õàñ/€%§ç‡÷ä–w?~EwÌÏß ¡µÀ|QóZ­ ¥Êô kSõ%»áb*òCð.ï6wQ{î{ò7ù˜6ùG b—‚ÅUšðòáäÚ_T@ܸÆïÔܳ G5.¤æ—ÈÊàJ~¦U¶‚Øÿ”y]¡1§§˜¶ÈòòÑÿh/ä¿–ÕÌ^5Ì&-K}n¿(®™æQ…Q.BîIP^äùÌ¥f>Œé>ëñä÷+ɄР¡ T,9ª]aÄqIjïûHOn_C™ìEÕçQÌ÷Èëêhn…ú?>XÂWºìÿ£ª|=¼ºKðÅQ3Dký ”äõFƒÓÆ`Ro«C.kpfØFõÀéRº¯;yzWXæ¾§½¨tb“¸d4/Ñ]&ßêªôP42zPš×o%Í ir½R¯›™§`9­à“|qÅù³Ž´@Íþž©Â&Ëxë ó2*Wqd¤Ñ‹=È JpÛ˜kºuìO½Ä®ÈVN‹Ì½ÊªQaŽ(‰Í€~Òš4_ŽLÚHúfß`.ç::-ÁyJe ¾?x(¾3”kYû3AnÚB„”ù{céìf90ó}†¡37•K0‰ÇǘÊCho¾I™ðôΚ¥Ýø¤ÍœŒ|‰ãƒ#|jL«ˆS“Ñ ¤#h,ÎyR~ ©P€Ÿúœ>j!úò·@û«ž`öwnËè8oדÝsK7¡dÐK{Ê϶ÉÍ_1dIµyÂ&é;óL„C¬ØÙT\áK¹Õ#Êÿ~!rà1ÜÌe©m{9ާ+šr,œY;Ýžp|+·ˆŠbò:ÇÐoŽÅàÄ ãjKXöô½:ŠÎ–DÏ·ª)§Òû1¶Jƒdð»æqДEP£®yÅÂ}—–Ø*;V`ˆà 1ŸÖ™lÉFýž§Ë,o-`ê° ÍVh2õUÐÎ_GÝÚäÙy©Ø~sÖÔš¿•™Ù^ ¿4çYöoÿˆ~ÎÏÿ;àG¶&­Ä‰Ó«à¶²¹QbFv»Ñ`hN;?¸¿e›¹ú ð ^mÈî’ ‰Ê»©“;ËW˜C°!lcÂt“-FÑK¬í¦ ayÄ[ƒîCëëGì% »éDt%¿­ÉÙ‡D»‚žŸ»¦<.1;ºÐg€‹µ7ƒù-ØFäŒæÖ.ƒâöÝÜä9Ñ9Ëh¼ qÊ´¬<²Š¤Øýéð `í(·šBÏV1ÚüÏë±Ë]w{Ø@&Ô¶&¯õü PÇ'_EÀkè† XÖjŠ;øF̺ëƒn´üt¿Þs »®AŒÇÐR”†¨°`õgQMŸëb“T•¼¶M]ÃBi ÞNWÕ·Ü4cqJåÛ ¥Ã 7aQv*_!B&îL_ ¤šñ²u€_†S‰&òºjZ Ñ¢–°ÔÊýì6ÎÞ1M·hEϱå gýJ\xay>p½´I´–ßÿT ËÑÌ™üy¢wÅAÛ»qC›Ç‰‡Wå3!é»í ¶kL{n*‰BÞèX pL½ ¸äó%~׈©£„ /óBµÀ­ÕXlþ¸%8È»4&º@ËÇ~|Ëó».UL~Ç!Éá]o†©<ÄÄë˜Èçûÿ41uúœP*Θ¶ïöTcYŠ$J­°/±ËT_>”?CVñhñýEƒmà öØ)Öa Þ‘öó2Ý;ÄMú§#BtÑOSõ~Œ1'<:ºFxŠë„²…©É›&”; ÖÝ,˜Ñ] >´+jéN7ã_ÛIJ?¹±äA1L¥þúʦeôî >¼ü;;æé¸íØ ÊÇ©Hh3›÷PywGpo#N m3ÙÒ‰™£ÖÈ`Èúz =&Ž& ÖùøÅ:ìÄìXcª$J•1W¾à‹2?®ëÁ7©»òä½.hsÝOü"‰@ìDZ24IWtTð rb7颉|àrÜ©3݃®5±ÓUxYÝ\x‚#<-Â#mÝ8­‚‰é“cÿàBÔ½]>õàGÙÛDHª4%W¿Â‰R ®FpB|³‰F5é½fs±£ ±¬Lm²I O`àæî!Øš°/Š#—ñQI™)¬TÇ QOtœqyÉö›ÌpiR8 ï8„º=ÀÂ0 4ž¶w'(¼2ÅAàGƈÒJ»¶{&Ý÷E´Ar(¢c¥Ý‚"e©®ºåz®ãgj±Ð»7‡ëî麚¤‘T˜N‘±Rñª~¹Ë,káÜ¿oVGöŽq þ )ÿ¿Êú0­žì1–rc B”ðWyÿí"¹u˜õTÒ M¾(ïåt Ð?#oÌ@äÂG—-æûðVÐc±ªOðPˆÊ:ƒ{þ!’ŽUD› )mV·@t‚åÝA‰*ß6]$ú·ÞIz†Yý IF£3ê^:5ú˜F qFRíÓª¹áy”»yVC»&A$Ãah|ñ^x¦¡:Þ‡HM¤ ¬‡Ï¯oL®2žP0}ÝÇǹ*‰«º›ÄE• vÚX±˜|Ã;5MŸÁTvWf ÁëÞ£sß;ûè4”†Ì×ÝG>M‘Á$©Îˆ.nªYú¬ñ­÷œÑ|v¶ŽÒìAϼ²ê1õë£g€,mÏÐ>èRœÙ [èŸob"øýLéŽ'D=RFgdJ±ô]óçäà$Ž„9ž õ‡ˆ” ¾Àçé~¥6•„óB>ÙäÐÞqg1ÃÚjÊ3WJ…¯û%´—¼È¹ÜÎSç ”Ý[Ñ~óÖý¸ÜÀ }Ïñ‘ˆ”œüYYüg¤óÔËÞ^ñKÒØ.}ƒ-½}l$ipî⥬{˾Æá_YŠnÊÙ·Ðj‘û— ©ëØükÜ©ÞA|«<|ˆ™p4·];°Ï?žá²ޏ+{Ã}µÁÐ+@r¬­”Æ]í³¤-gí,¤Ìg*E¡eåèn6gTƼµV:zwà kà/è $´žQ-6µÿ(@9ÿ÷2 Dr/¡b/ßɉ¡È˦kæa(¾@³{•T…âÓž‰eµ›:†Ö-ÕÝ “г‡)•pQJ‡çQ™(å€þ>ÛŸ –ÅÖ¾Çy?Ø ¤.vBzn’G¦g!Ì{8Êw».Øë€ÑršS»¦k+TiÃ<•¾½—Siܰ¶%«©œÊN»Ýâ=ÎÅ _'‰­J¾rÓéÛµf|óf³ý AîG­h¯0KE.ʘîd‹Ý¿¯è€á”OWFHvk}®Ç€í² ©ƒ[ýå5ØÇ£´Ñ©Ç˜Ï Ç®úÃ;¯:†ÔÄfJŒc8õwVÚó[˜ê¬É¹ ¸‰LJÏ)Íý?ÿ^G…ß•UDzQIÎZŒ=•T„ÜŠ3½¡QaéÒøó̃#‹ñØ·Ö ‰´” &R¬Ì’3yþ©jÂæ?GŒ9°Q·ÑtðÙ]þ…¢.»L¯”a­RÂL^⎎#Oì *÷Ú{éz²5õë²N‘=t¡|]dÐ~þÕbžÒ¥uuÀ±])&[³u¢$—ŸX¢rL]™ë3 ·^%s·¶PE#[ˆ9òBÔ1ÀÀ¯ã`Má‡,ŒÑÜç6ŠAÑå—#y«Ðþr¯ '¿‹:³€Éy­¡ÑFmïÿ£ÍÆ@]eùƳtõߪjóH{r€~œ1J:v'vsF´GšÏ¨†(àÅt–Â@ðaÏÁH® –¡°8_/ñ`¨í9H>HZ$2æÎhQ×uÒ!º"-á*À°‚¼¿0d*¥¥¦Iô6¥Oÿ¯4À«6Å¡ó²ÜàÔÒôlÆ¥>~N<3£îõ¬ñcôßÉt÷“™ónç%Jxjü!Âzâùjcþ’S–nýöÞpøØóï,|f€tÑûm5U_6|Mñ#U!ÝïõŠvij’@¸âs^µ‹Š„—‰Þ÷Üþ¨‹ü<€Ï¸·lÊìYõ`óD÷à|YÆKF©ƒ?Ò—™Oó9KOôÂC)Óø•Ž)/2bª+X@Õ&!á°ÖÔ±êŽÑ&'ba€Sµ ™_bß]¡}vÛàh¦¤5 5Lk=¯‰2“pºunÍ÷\ækoÎ` ›Ü8B½zäü²¢ŒÌÆEKc¬éÑõTVE7ó¨@Ãûfß|FÍjÄ¥¼_;³ÿõ«í°Çf³Hú4Žáþ÷H¥Úzaÿ±%¢˜,ß4êýyò«E^ˆïj…@êt)YY,±š§…{Žç÷‚»|†Se2)S˜€ {“mŠ·^NÑŽ£ÔË{Ûp|9 ”…ö5³ä/áVh„!JÓYO:Ü`&DÚŠLBx#Æ?>™ÿ„¨<ôáå–g èøßŸä¨h“e®þÎV<6º5óûgèÒ|#]hµ€óºõhGéa¥Á—0©õVL*@íãÿêoxáCPó¨IÁû"NbVà>*„)B ?ñz;€g}xO˜ûÙ»BÂí¡4¯Þ¨ó—3ÂÛ•oÈlZ+:П‘ä "*@”M;[HåªÖÌvªÊ,Ûü˜8ïìýimý<æ„òxËÞê6­Ý(# øczÖ÷¾6þS6Þ7•)^07.ócCÌR¥®ÐkÈ¢Tö–d:õ~‘û´Æµ_«wÈ ×æhÑ å2\Œ}í—âÿ’ﻹÏäh ƒ®3üGôÅlN=Ê>©EC½åïÚy´íÄÂ÷ ¶reÒ­fCR½{öJe÷¯™ã‘X•ù¨VSÁ¢WúñVä¤Vúôu @™•;åL[ØS{ê¤Å’Ù8u+E&´ãi!uINeõ‘vÚÝþ`1‰lQ’jÀ^?B!,ÂVêwÔ=·TÁÃF›ÀDj»ÈÉ0íb!W–e8Y6˜&‘*ËøW0žÿ4¢b•6¹?^‰;wp"㈴/xm¬€Ìÿ×äéš5PÅš<®8…U4Eaw…än’«Ë:„\F^¿G( C$¡ÊËÓ3”⟠_²×àúÉU¼ÆÐ3ïdZJçgébƒ6wO`°ažB„\Œ0qé0ózî;UÆH¸IwŸ?€JMŒ÷n›+LœËZ <3í‹0=±ž7Œ«Û¸hþ´”eUš²´nêb#ӛ墰f¥Ör©KLf{kèñCì\ËŠ¹kxÿÚÞÙ²Q©öˆ=Îoz”¢DYÐzäO›HØ&I5¢Ú£Ë½šÇo €sýi‘×óûÓ^„æÝF›+Í-þg sç-èr© ,árCµS¹T(ÝkÌqßùn„8 ò¬© wô¶ª*Èméù”ž©·Ç!®Ý ÀAs™SÈéiÕpM´ðþ».ãí›ô?Yƒ4¡(J…ž‘±·îýtå’…Üÿ˜Í-Y¿ãÞ|ñNˆ``Ý”rˆn›k”ÄE†‚«!gÓ%LŽ#;‘WPªhOöÄ×DÌìí¹æ‰cS×Л•ú!±c/$¤Ë8?*Î ½ë ±Û¼cË猪q²mpž8.NWŸŽÖ&xbõúE‰CçwɦrH¸Ž×«yš -$wêS*npê]ù ãN5_4“ÿ(†mH…«k ó u¸Km€T8Bý ý³'Êvý]êα©G7W”æ%¼G>Y§§ QPMÂ¥0Üàö‰wßzyxà’¯ƒô±y)bKY]‘âò2;m!õ›>FHÝúÎâ.ë{^5"’g\Ƙ/`tŒ³}¿/Y¡çGUÄän%I§0³†*䯟CVõ}ÃF €äæ>ø’»1¶eU#wÎóÛàÑècþØ0üò €.å,²jÚ+ F|]ãaš‰dÕ©À†š`ìܪŽ+9ÆÌå»Ò+xHÍ€9¹J>hµIѱeüv8Í ½f%jÀ‚[`Zç¨Óir$÷šdZ’GQ!ÁÇÛÜï˜cöm9÷h´ÿ€áÜÈKãY¢˜šU|àX0Ö&Ï#ûŒÛÇ<–`¹áùåaD´µ‡ØŒ¿‰f2T èv4€ ë×£ž%RXSÎ ¦ê& ·M*{’6&ÂR÷wtÈnc^U o}·Àhö4+ó^”~ ÊWi‚£a$ 5œíGvÊ„Šûn¶æ~®¨†oJ9´œí'$›Gä9TXdêzµ=k^éÇ´¾÷¼ì±ˈ ‘KMÇ™KÇÄ‚¡acSƒ˜¡ )¬én‹¨Žÿ½aÈJ±Néß'ô˜½÷‡«Ç;¸syåM(ƒ NbÙcYÃг7þ^°wŒ qÂ}Œ<·#¾¹31ˆÅqñxLf5<ÌÝšú÷ÆYð¹:eÆ_4¯½ã Zq’: ?ß%B¥ÚLdÝÔ>«j‡n¤Gêtµ¾|$!O/Ê[—l |Ì}¥›XóAx=\±.¾ÇÚ’¾”5ÐáÁ ìßÙ€×›¡äÖ‘Éi•ÀŸf_%ê2&Ö›% ^¦àž5X.ζyÈ%Œa»?0 Ãê焱ˠœX¯Òbžbd¬ê@´‚»E…†Gá%oRN=oBEº‰®úÕÉÒÙñô '9€y2T£Yr—ÜA%bó<ÂïHp˜5.ÇÝAH“Ë|íj–™®s¸´÷ižË@iJÕ0zÃ|¤¤ž0?4˜Qe ×;M|bÕTÂÊÜd4TÞpo9R$ÝÃ+¯ž¼.,E§,¼ó¼©´ÔmYÖV¸<#ÇdJT$l&õ^ûéì-j½ïé í{`Ö÷vÓ|µÆ ¿|ïHœR=‰¾˜ŸBy±9I¢%§ ½"ÿ†-wúØWI‚8&5&h¨Ÿk”þı£/½x›`1PnTfA4Mé.*ÇøÐZ`ˆÄ¿Ó †ñkëuÄ‘A‡òwX°ø{hD½Í+η+¥TŒO)öUXK”—Õ•x¶c×±u¼IžàÇ×y¢‚X!óÃÈ=ælÛW¤˜ô¥ƒæ+·NJNTÆ_êL.S/¡Ùw ™ïF‚å° å(4 ÜѶÿfg)t6Æ@r¡Qè ªåÌn÷ÀpEÒ·k<¤bLïž‹Ðp(:èµö.ŽÞ®¼3¸LüKR]5á8åWb‘ËñÏ‹ü€7°sëÒÊîÑ%eÒÙ™¸x² ãïâSÀð|Wê—+´ÇÔ)Ré/m¡ 4Š(•„p!õÐ$ÁÆë3¢:Î +|…!EO©Œá)ì¨è„ÜVßE¸OÂo€ƒú°¦/J*‡õÉ'hU€6vaíå’F÷å»Fƒ¿l°VK”›ÈAçBµ1R¯êïû«O©o ô¿ž¸ê®£ È*ª˜„˜C„ÌðÈssºÊk™o5 —3:_Öæ‰v…­Ör’ï_´Æ#´Á­q¬Þ×À/¨esêÃ66€gw/§^…¾ÚfÌzÕUn29¶4%}"IúY+’þ øqËõ¦¿ÝœèÀ ˆL}DMãØÂptrR{Áä:=`•\xÉÎÞC)æ’[˜&îòi¤Á0~ìxæƒ&‚úºª7TÌ®‰ñbÙ®×âžr`rqk¡ül57EZ"A:3²Fj7âᮡ°ï^þ•‚…Cá3°þ.粘°H „ç±O¶²skq#Yèzð‰,gM9µLΞx²ï÷q`¼Œªòî@ê|ˆ W7ç’ÝDi~UufÒ¢™Â•TŸê`…‹ y7VPÚuê÷©ªawS›EWÔ#5°4àüÃ6Xx=ížÈ‚ —<ÏËiÝÜ—U¯ # ø ÿH˜®¤koýý–MôSŽr6ëòøéCÑÛódƒISàØ\°Òás»X~÷°lØÅ™TUö†‹Cf)æR”°%¼èqu)Š7·p ù¤òýçÖA×#˜§’Ä$H@0‘SÞxžÂ ÍZ¦Ã­•͆`œäŸK‘-a»$èÓ/ó<”£òlôKú¬¡Š&i™éûÁ:‰xº!Z4¨c­ !CÓ…5¨Ì\xªì;—ò‹X3ˆˆÑè‚qp7ÙôMy¯€ê?^!¼—wÝ\³‘DŸ9Uï´îTñ‹¢ààºçÉ"”-Ôs§ÔÈÛößïorRŠäÂÉ 1É€"þ#1bäM—™ŒÍŠ$éþóȯc$CZ³åÔ¾O3½¬2…5C+Bƒ6->ö7búO¢ŸXp BQ¤g´AÙ~¤ÐÏè Ø‡g$§’(!ï²\-Ø/Éy?§a•*F6‡È'Ú ŽöÉß'ñvßËÄ2Ìb’þ¾c¯u‚þšàpá&¼1µe…Ú ˜rU‹Âîx4Ý} ¬&rNø¶hÆà´W‚J70ŸsHUŠ-ÿ[OyŠkÞü•É1 gX¤pR°Zéóÿ}³û|uó^  P\¢ÇtªƒÇ/LDY 2[ôòF[[eω…[ ÿѦ™|YÿŸ.Ë{Dw*ÃKŒ»îµuˆ® þ–Êomn—\€Yl¹¦ÇÇ¥…ð41ŸдP É=~º¨‹0´ò(M|ÁgT(ʇ×ÛZÓ!ÒQ<HÆöÎB˜7·Ò±ê é1†Í½©tèñËÚª.˜.@ (Eï3 ³&c>>Ÿ6`¿8Þç!ôׂÛÐÖì*«ñ|÷!€g¾ÜâËt½«E«=\~†n¤±qº†Ì¿¸¶Â5rQ¶–8&¦F·"ÎÅ‘€;1êÚcyÑâϤs¢‰„Ž—D+¼Ò×oBjÅü~¨2mG’ÔÆ¯Å.Gº5Qž¥ö xBôeãP3BÙV¿ÔB`Ï0ÎâÙ’ïÖ´÷œâË<ðsFŒ¸4l±:þ=*­8ßP_Mä1žMQ%ý`j6âÉfѬ¾P~Ô"s~5-VPµp;¶D”-‡ZÄÑ•#:»½¿>¬2ý§Î²‡èIž\d(: žk¼õc|â'êä¼E+Åú¹™[$ë<ýÇÇïõz’C‰•Ýp3¸Z;lV'€ýâ–>N̦ùûd?j˜HöIè6PYTØb›ïn9· Yykåøkol!"ʑݡ” ÒãŽøªÐ ŽnøÆ “߉]HàìËäþÕ!]Ž—`7Ž’ë·Í!;΄B.DÌ:ÑUÂ,¸”°i÷õô§RŠ à•¬Ä“1=Û´ö$Ã('{@kÙò´tn?ÿ”ýE_j†~«H,Êß œ¡J 1$ô’3ò«”_ç(&rä}à¶×Q^sŽ/gØfÚ =;®è¡.ÖÙÝ!@æÜ!¼DýÎÖ2þßV ‘Õ“–‰¤š3LÆêÕˆ±ÕII^WõÙ:,íšîlŠ|›q_{J£uÏÝÏ!úà¤ï¦%]Ù_—””C+¬Èùå}g/¥Ô”Gå.ä¥éÍá9G§ìøÜæD è¡!ád ëœÌÒ(V–^úÝØø…רÅ!ÎcEIs‘zÝé@=ÖPHÝ`èvÎcäÎ>ç:\¦9DU¹‹ÜG ÙÆ¾°˜Jý‚¹wòk=œjS:înÇh,Ù9¼V°I©A¡¸¨^ÇFPrFT•˜¾-²ë'o”&D ·ÿJw Üè…Q¨ïÀBäéì’¶Ž&çmèƒ%ÁS×óén¹eÏB£˜ÙŸ‹Ú}}üÀq‚T–Ùäy,˜€Z28'.”3`†š«qlõ®¡“+ù·H.q¤«Sv'3­¸Ùw1“Cü öOz³ú X;ÿwh %3p_añ‚ÞýÙº7Ç|•våÐD‘W ç€4yûz5 æLfU‡’½×§öØzqÆA<æÔì‚óýä+893«KhÑrížÌM#]pÌß1 HÜ{JoPĪX#Ã/…È}Ü)Í(­eà  8KB-p_õ~øÃòô_Á6+÷Ü~(0;RúÖºÒ_@Ù] {Ym°Ð2víßi"@ úØI¶ÿSe¬Tè"(u…ëàEwX–#D |±jÝÛaÏ•»½ ç÷®aJTJã3P^kp«=÷{ùu!y*øˆ%En•ýTºj°§#Åþò0z§&û"O¿ÈRå3}Ä:ß,Å¢“C<¦ ÐÆþ4þ|Æ*œË¾BÃþ9‡Û_µgz•¢ûÀ¼ëgé¾WE}<í0ŽÅUàðƒï«ÙK®Ì¶˜ÿFµ:…à‡M¬¿Är?; g %iœÆjÎJ¦Z·ö-Çǘ âuÊ‹ù&ÆT‘!Ø?¸—›|Æ¿öÖ¶ésÔXÆ5¼&Ýçï_š‹sS@å1>1ˆIõÕ|‚…aûÂOIs\6Øö{£¬L<þîÑìµù¹äûr÷Zb Íž½—kç>f½Å¦șog”ØH šÔ´QÒVU×!‹-Èþ&xÍ›é1ϲ¯:óxúx¢öO€Ì[ñY¿Ù¿ª„yx­þº:¿‡!Í-¼Lé´ÇŒý eð«lÌœKºI8ðv‹ÉC:vše´,ÎÒ hůõæso¬£ß?%BuóiÊ¿ÒÑ¢= ºø%¼&Y—’·õú;š^Ëz¢iyâ9G™¼òM<-AüÔK½¹!cÀúò@1%JWÄËq¢û+øÍÚÊB öô;à·å’zr}{ú´€5À°% ꔤ®­¾™Ûi:~D~v­¶jö¬åÊhF)ÃgmÕe„¥Sù®‘¯ œÕ„.ÆlQ+µy¿0··Ñ‚¤&Ь¿)f4j•EGsp'‰ØÉonøA ü»ÛÖ ?ÉP©î< €Ý«¤„2™ObÔûs'Mw Å·ç§U?ê0D†,WéµASê¹xJH‡°Åt4ò7Ç?'v‡F)ƒ \^ŒQ»‡{X¥·´0=ìhB¡è'Œí©ãEƒ g?ÏŒ,O`8dý¥ ^=0@XùƘ<5L W>É¡YÑE3Sơ뙖˫ò.䬖4ƒ{Átq­gÞ ýÝ® Ms<òS&ÀV€o{l2]Ó±¶Kä …¾ðúÂoÑ ë@Ì`vL8=ýQ„OŸ!æwIéûG냪"ÞmÍvÀåL%ÎBàÆœÈÝ“߉´.é¸TÕˆÀ»­¡Ÿ¨æno0‰VaQ|nºþ§ —x8lKLØ–™±]g·:;…¦åwBR÷?òÞ3?.ÅÚ £¢³:äñÉ­ß ̽±ñ¸ÝþŽÔH/ÜTSùûG±ü Î׿q–M Ëoƒß‰q~½ÊÂçWg#=O„Ò¡Ô&¯H*—OF_ú\áirá´ÐJÉ•rdU)‹ë\©Úó9:“pçïýÔ þ;BLZÑTöLYhÖêEþ‚^¼t³©GºxJPÂÿ¬ýó>h\׿ªÙ¿Ö”ÅDl„ópÙ ù1$ÔݘW`®pY“dë¿W_¨¸ÇÂuå‡ÂãÏyEËŽÖÒ‘’ñÈcõý'Kaî{K”Z¾-žÿG+Ø -œ ­Ž&zêØÄ„¸2¹ÈµÂ'þê|¬QáúÅÀXKè7¸ù¼w8Ïòz vrðï¢v!0lðrÕáÍþ`PX‘“Ù «êÍHÜHëŠìÍClß´ÑÞh„ ésÊe`Ò?ŽxÒÏÆ:ò k,ëx^\Tý12&ˆNcº/—»;Gêyñ²V·uÔŠ2›ìŠÈ4Í+ ¾Ñd~2C÷¤ó‰©i~Na{ÄÑïöQœruli_¼l£cþ~ ÷ú9Z&–&‚{bl9X#Iún —;zäù¦…$&Û«H7¨º2ª‡aB Qìs‡5^à…VL%:¡€@.0ós;Ÿ:<ì_.”… âsFPãèhüŠ LGäXF1t{’Lx¦¬m l´@ÌŒ]&cNI2/E@}ìŠ7’J{ÄÀL „z@ØÚP ´ÚL¶^å™*íÆ¥&Ø.…'ZQn0ÈÀ“®j1ÁM˜M+kLï;ë`?‚ô“æD–@å ¼ËÚ]ù#8²ÔDùnZ ß¶ÚJífˈÓr8 |«tößኸ/’gê-¯ÿi×âÖËûZ©-,ZvÔÃPÊ…³n»¥+‰ ÅÛl DÛúDj*zz9×Ç>Åê~ÃI·áÉE{/!$1r/$1c´+EɰáÔ‡Žty}ª;·jõÀ¿Ò.9¹ŽÚ_4&”C=„HàÊ¢D¾?›¥Ù¡·fá;Î3'¿d*åÌJ ëþl&Pšlê‹H^Ú¿#c/BTZ¸óa¨{‡ò\Ç¢Ð.QkuÆr-ÊIœLanó-?*Ýy·Aˆså’GΦTâj¼·E"¢e ø(éYâÆ¶¨o­¶oULž€¥b3¨R7ì52:¤”:ô÷ZI=|bM#§òÌŒæŸÖ!*hìv \)'€ÚE­=û+ÔÏg¹%Õð^ÖåµÔåÌjå’ì”E2Â"¼Éèdur¤d7qoÄþ½.€ÓˆI>áЛ¬x­ÉëyZö“‹lÖs-M`תX)’z§”*ƒÖu|ɉã2×ËžZ¯_ûs@Qý~g‘δ$p×›}R-©%²Wì«0Tm‰8•ÏÄÞgu0¨øºÈYÂRG.èRœ1áèw’ñY)Ô[ñ[Æ·ÏÁ6¤!þ·ÆÕòòMò2¹•JöÜûƒj×eZØè3þÅÁ?@Ú ž¥—[ûwÞD*&ùÄ9&¬â1Aà_ÊgîKvl¡ ɯˆ‹øËõØ1g|¬r×cžòÐ)òF¨ö†f%3 £²`q”‹ÊmZü?@uœ„$ngɾWMTàTsÝ»åVW³ž(6Áö›#‹j¯R®»Éâmµ¢WN†<›ùË"/b×3…|V5åˆwV_z¤A¯ƒÄ-š8ÏDPEŒ’+´$ˆþ]lâíÈ´‰œÝxGc~þÂÓ§€­:.Hu ·-’VY Pºq<ÃèÛÜwêÂYë¹_·"¯vACnÚ£.>÷ÜÐü¾î¤Ú ˆß_«˜Ò¾¶»uóQxžüÞ S¾T6ôcÞω¢1±Ž¿*àçç/^ʰ“ »*Dm­n¼ä<ÆŒÞjß¶ TŒ4W® ^|×”0Úè®c0ìLëóiipÔ. *r8{¾|×õèùŠBa<ˆ’ŽXŒ³'5 y’9 öˆÏË ¼%sÈ™"…$;›`†ihÿ™fû:Æ\ ‡W)§ÎÅÊÙË÷ojŽ],»·*‡É‰x›gÈç¦â‰Gç8í{¨FÉæˆŒî»„YõçnxoÏä"&sU]}ïšMq]¾b¼tûL ÜèÙ»YÄZ®5\duµF”@~š~½H»ôÄQëV‚ýDÇoQO ø¹õöÔG1âÑÀ%ÿE®ð”Ñ•sºfð´)±7:Œ7YµR3‚#…¯üÀ¨~f‰ˆh?( âó6 À£|0FêÁ߀þ÷c0V Ô´%ûðò‹ÐåPSD@„Kr?³Û$˜0Ø“§:Cú¥ì²MJûÀϾˆL„HBµ %°Š'#ÊZ× †Ã4?3¬é¯Óæç´$¯Âªó¨ zþ°Π¹—ìüdm:¯Ð¡vã=Ø@½òŸ“¿dôd ¾ïô1/^ïrSê›°#%sÛþBoªÝ?ó.\ (áÑŽ˜Sö²ó%0oYÔ©LpCØ+Ê퇔ëmˆÛ‡åT^y×s!9PÓ ƒA¿Kno)™ óÕ\j8ÑÐ6U°R®u´vü>eïøQO"öÑâ·Õ'Ö­ñöÀdó¥û;÷`ëBÕrü¡æÏ|¶ Q¾#@„ã˜=JúýH4QÈ[5ƒ°¾ ¢9Ï-U®y J`h;j´n!U%µñlöã1’X\Šb™^øMÿÞ¾Ò.jsÑßnÙi¹Žª@îX ÃñQ#•®ºöÚJ°a€°³àó, —øS7Kër@OqïØó;ïì·‚Û»”Mã‹›)×þ5ØÈò^ÈÔ½ð<ØýðSøJŠ.cÁ»áô0®Óê3sŸŽþññ–ö#åWD±ôÆ4é&'‰‘×™{à°[<É~ù†·a–ÄHÕÑŠ5@´w½åR˜O‡l`ìÕY{4¨‰Þ ‘Ñ·ˆdAµ÷Y´!äú¬î0®Ÿ™QÛÌžgd Ѧ1®TÑN7D¬‚Y³ xH®ÓЈÃSrXº y¬yg[ü‘ÅûO‰Ý«¯ùú§‰Íº=Õ¾Z%¦ÿp.8ãpÛÃS†YuëØ„‹ø‡U¤5Š~ýÇt½p 2òÖ-­ØÞød—³„L…Zº‡½áÄsÁÊÜ…`õ`èZ«žë±<³üÒoÖâž\„’öûŽ•T[pãaûå>±4ävQwCð_šÙ´š%‘èBˆLœPt·Æ‡Õè¸ß™HÝÜòUñ~’fNÞa±é»Ûäž¡æ¡}¶uÆ6…®<³°²p «ð÷ÕMã½u‹ŸÅ—®HÃÐIÒBxÄ⌱’Mì[Ué«Î]=ÌÐJ¼¡_mùb0ÿ ¤Q/ °Ø.ƒiÁ:=+ÕaælŠ,èR»ÏuFàUá¬ #mE¤ìÅÇ›—Ò$ÄÊM0ì«Ñ5ׂ …óé¤/&Þ±H^Q’CL~—è„x­²ìØxâxŠBޱ¯HùÑÏï|z„P×Á„n$¸¼cZPÓöÄAï·#õÁúM´S-‚Æß=Ô`­eyë å Ÿ¾J(Þ›+ïð%ÉTÏ;õz\^ÔB—aû™œ‰a£¥9½ç|ÏgPmvl}[/qg² ºlíÏ{Ãö}é3ˆ[ýZXÂàYFsŒ«Ì†ª—üá¹å…W¹ŒV½SÔ“DèïUÕ0]ñ.~ç]OÐ ±§\b¥=õ5È«5\켘§ÒZäq©©¯ V²j_˨»z`ŽÇ 5òß,³¿µð¿­È{.f,tdäé¯@MITU«bË´9óa]àœ"«RzccR“idµ@ˆÐdOg#3S挅—.^ZbÚ‘.K|>—I`hŸb˜äp¶ÄýýºÈ((¦ðR$Ö]3†Ö\ú¥Ûèß ÜV¾—NF¤yúØñ+èUô—ñr?æïJÒŠó¸9ôz?±!jç9‹ mdsé<ïu¿Æî~8j|=ˆ0û|Ññ‰;Ù>È>ÔŸ¤uи´ZMåŽxêÚE¶ž eÿö¦³I¯[ñ “F”ÜsÒ}Н-%vIÍÞEÊzuÙHn+ûá„Û‘)n[𥄆aùÝÊ»÷çÜÜ_Ÿ*ƒMe@#N3³xÔËy:pö…b€ïϫɧ¤OLã_d¼GÖ–‰ŠÆx¶.¶ É úgÇd’÷C²X< †Åœj‰Þ±ºãƒ5Xû…EÐp£Œ8?…ɾ›’©¥ä"4·fЧWФí›Ì?-tw+t6H-! ]–Ó#ä&ø ìá?íûlì§½Ÿ\<R•¶yS5þkìP#&*)ßࢆh¥Tg§™ðfaL¾¹î,ñ‘U©½Là%²Ë5Y±Í{ÛBÍ€ì½-@ƒ»AØ3^>ÔCƒ)úÆ3î­”“ü¼Äwº#WØã«¦?å Ÿ&ÚÉQó.ß]>¶höñ€´å«”—[Gta3_Hˆ;½'>žÅp7®$R­ +»ÈjsïjÅ,™[Ëß”0m?¬Sóº÷©mNLOABÖ—NÞ1·-†jA‚rãbèr«Ë¸CÉ,¨Á–¬¸ýáY ê‚ú—£>ñ6îëõ‰Qø%ª• ÚÑLuxvÄúý·*<¿q?Ê[Œ×µŒšg0ÁÜyùÇÚùða} }bÆ÷Dœ—ê¡I³„€Šó¢‘³f½›Ûo±M\“WCìÒ%o$[µp5=—ÙŽ[_#N›$I¥!B¢öuiJXýÓºðùÏñÈée¸=°.9\ÎÌŸ®¼ËA!&Õ—¼|`èó‡g[|ûÞœìE¾$ê•÷ÿ@É]GøÐÚIÙßž2•)¬ô¾Àßݽ¸mmóÀ礞žK…qØ{ØCŒ{¥%:«ÉGï‘R‘°œs=GÖÚÏc¾Ç!¢º(5Az„AuGÿ"½©{Mγ̣ºµ°rØVJoÄUÄt.Cöiø2å3õñUU¨…[¢:áˆQ‘-@KºC³úÕúKv¼)dT‰Õ¢Þo`&ÙÀ5¦¸¶TW;5í¿DÕª» ]Ñê{½w&c:G‚Tüw'uƒnt¦U讎îÝð2ÚOå•ʤaIÚã绪êv;o½^¾™=­Mt)^õµÌ²F˜Ú‘ ™ÞÕ´ ;6»êÀE-©(X”CÓÀ}{å‘J[Ó Ï&pBÕ¹…ß`ÿ—X$žýÓ¬©ÚñÖVÔéœ6š_Ÿvñ‚fwoe÷xÝjN­Œkê&,:Ó8Üò¢úv'O¯ÔŸÖ‚>•$0ØŸ~È€ºŠÔ ‡™9¼JGXñ¹¥)~½¡ÓÃß2Zª£à˜‡™ZØDk©³žÍ4}r<}fÓƒ”ê˜OQ«M¹AÝqvüÙ'Ìš;•ó=óèÆ{›ÏÕÑ%¡¤¶sþz`rÝn1Öö¸.³€µÊ~ì-ImÓóµSÕÄB* ÀÖ%õµs•”2ݶÑüS€ž‡«ƒY—Â)~OÇï•øZ×dÛ‹çF”B®N-x.DÂ=›pX¹}[«Pìú4mb~§ p›ýëä#§Î€@‘a“º*kB$zìO–"t¸p|fiØùN|8ã{au „Wì63ι˜mª ]0/XëŠšÉ œˆtI`\‹Ú(» ŠËà™.˜¦'if±µzŒúò„º*÷Ë6ö"¨~15´ž|-#ñÓ1Å;õé”ä´o¸º”U:1¥5ÛÍ@ŒÛ4*ÑU ku`K³Ëp¦xTMO ÈimIL•^Úa›ÞŽÐ¿-Xútÿ˜žüÇÿ û‚Ø‹×küÁÙ3¾âú£=ˆž¸FðÊÍ~ŸÊˆŒÆ,}?°ž©h¤#ô43;I ­cНòr T£ƒ²<Œ±;DñCÃÔdÄFyÖð2,ËÀÑ„ÐßTRÙ)Õr¸*fÿq§QP"=“ž løLN|J³3}®ÅéuÁ+¹ë³³dKú „«ƒ]Wœ¤T°‰ Gé7Î~ešjAˆm&#´út0ƒ§ü—îß Ìjäâj#¦‚ÝùMûhà«é,É¡Úáüµvµ„(Æ@œ±¬Œ2Â}I}½+W!$”ù{ø'¦?¢^_!VÂvMVG˜,7”Òrû½äÃE\‘Ú ô긃eOJtŠß*uLà“+ŽÍöKµ>Š”Ë3'áÍÌ£™{æójÕË€¨£Ó„ÜPe¶OH@èßV ƒ´C.6ÔÅÆ˜ &àX¯¾ý/J?6Ä$Ý}œ²&ÓÅÚÐÔI4‚-ù.ôö x8Œ˜Òê~ÇDøË§öúùðŠC6TÇ¢¹ €šÌž[ÑzÖgÒ}ê¼9’a¬)t·y3‡J¬ÃÓ•½•5`·²óKŠÑÐB^°Ì/þŒÏACß!0;\x j‚hݳyÕ’îyÝK|³’ÃWÈgiÿÓ«SáYMU<ø5B/ =$c•Ò@ –Õiêì‡w¼èJ¡t>MÖߥre€ÐÎ4õŽÀc¤öѰ[öŽˆ^¤W­4Á~2‰x)Ä=Àb®U³s´»´CÁç'¿{‹l½±‚¶·Íïÿª^i¹Ö-¿éÕ¤U…µRÿO„M®WÃ8›î«j5 &; dè¯y~Ä(“Óµ:ŸS•ßAÅhFX¾Ùg#ØŽÔ÷–9„4/he Øò÷ZjÃAýˆ9¾²Š’,Ã!¢…Ž4{¬yÏ«‰6*L’[Y½9kjDŒ% Ûàz8 j)‘Ѓ+µG;=KŽä4Ž‘'ðQ˘ %ÁìROÒ­ó݉ù«SÙL_ߨýЊÉ Iˆx:JÓ[Ú3D§[Tš²gøwK»À~$~Ñž‰Qaé/DçÅ•ü„Q`pKÚ뫽†Ö îÕðïx° %páZ¥£)#«5sÐHòLê{Ò›Ãëu¦fó¯#}ÇXä57D¥ÒYôSr˜‹ î•–Ùöáòè˜1A·òC© CuÚ$ì‰Ô¡bq¹ÑKÓsv1ãÂ2À>húÏçmP$ ¢#Í+¿Üe¦ÐÆ’ÂD¥(ч™û@v‚}ç¦æ­eë¸~ÉÓÿÔ6jä,#Y*ØÁv©äÓŠœ ³´ÖiŽÔÉ=ŠeEËïD<þÕ”ÖÓÈI|>?HïÎl bñôZD]gð:0²9°Y%ðg.UÚ¦0æ:ʼn7·Ó¾èws ØñyÔ‰ ¶/܃?'woƼÝ(¼BçT³ÍEÞ—mžã쩉¶áG‹S¯Í6‘9Øžg#åÖ"‘µ†· qÏ膧^Ïò×\$Í/NœÊºPåöRzåYË翱 há̳MÙ‹M´‡±¸7ÎÐ 1Ñ"åŽ<2¦‚†!úÀá;d™Ù1—ú(¼?nüj¦ÚØ/(ÕU‡ç°µ±’ü:®i(±„Z©ý^âVåÈdg’!‘çIâÑᑜúLÝ‹:’SV´$ ¡ÒÓŒûY9M¢pز¦%*vof4ž—{lÝhæAG¤üJæw ¼ó>ô•éÛäË‹03àµPs ‹X+CPÐU*n,!æôi²}þObǧKUdÊ ª(£S˜÷'¶+[wßc¨3h|¶ÛxD±¬ÕÒHÎàÈñxݳµƒ¶Wg·tÉØlJß²=Ê×Oµ!²ÊÞŸoÙ«¦¦R8šŠT1^w­Iê­=W;ÂQbÂu6H2ˆé/´!Îh§³O¡¤°¿·TܽÁBžë“žÉì€ !s˜uësƒØVµ•pz›O1¼W7#7÷êA‚%CE%h¸ö|\"ÅÙOE;*/Œt‡_vè6ºæ_ñèú.ùHÚc.´!µ6 ¾"ÿ•ε4ˆ¡Pm̳›Ø‡«’‚½ç…92÷¸nDCà—3\™ÂÈ-Ï ó¤ÎšÆåV¤äî;±82†M…†×¨ÎƒÁ#`‚ò4(ڢϩv){†P_´ëÓ«åëYËYD¾s´•T¯À: ª{‚"C Õ̇¯TÒµÁ|‰ùëíÇ…ï·³þU{ÏXñö»E¹mÁ¦n£YJ©,øa¼æÕ¤ìƒ »¡ÏmFÃ{…>€ÈN"¢"±]®ïŽ™d<åík3©ë܆hR$ÔÚüIù"QN)]X#fÖHr5Û”a¤O0odˆ1K´ C)þ4Bö=p…7l»6Øû4ª–ŒÍ@QG±Ðª†—Ü82ôÍÝ!KœÁñ9næþß”ƒ݈$‚f¡QuùÙ$¾Œ\rï›àƒjÃB”* Õ„É(pÌ6åkÚdÖ1ÎW¥¸¢x1YQ0”ð¶ˆSµÇ8.¾¯ή(”˸ ˜K T»<çÆ¡NÁ¥ÕöOYû0s¼P¦ÿ^Oâ ©žäÌa SgtS'}AoYNS¨ú._a%áÜ9EzJ™@>Ñ4"ñ|–•®NîÃ6ù¾Û6!Љ%3Ø“„‡Ðp^œ_¾p%ÌqåÁþ9!ä$>²·äÑP ҶЉ" R‚î|×úà'NqdW‹’jcͧ.Ðw%²–8 Šº™´¯Ùßß7·±II—ÏÄL—wÀ÷˜? õ¢Ô+߯Тþ,ò4ÃŽ›ùñãÓÁæñ…&Öð±æ‚®Dâv aË´¢ü³ŸjŠVU€}Û©ÒãÛÿݰ¬©Qó¿E Õˆ¤Ö¢×zî®/Î^ðÝ!÷ž„I›¿£À*†LK»*ôuûï%ª”ÄŽKHç|;)LÑñ4Œã±NÜ+½´}Ûé¿TE wƒ>+ˆt”ÇRÎñìô#F,ÙùãæçfÐm³‘¤¦B¨¬º¯”ûËj:B;ÒX­Ì6¦³'ÃçÒ9ÖB(I…q;Õ-°B,ºåZI›’Y¢B”Ut{ÉO÷n ¯zßîKÃEPK’Z`I8áSçeH1•„Óˆ™D"ï¸À}å9%yã–Á?$͵•ÏL¸öè[âG ÔjÜ º@x¹{žU2ÇËA›%,_{Z~©¨–Ú½¨Q‚Æ»2‚šqÜlÊß9cîf,´†}ÎþÕJ™È"jž²ò5þ?sÜwìG‡ ¡ÊLØm•, vvÛË%iˆw¬ËÛ†âÕ㦱P™@½heO¾Æ¾V!ÄÌ@¹³-.!äør`ñÁÍ g¹s]ôdÒ<#ÓªXªû¨ø,×è€.g3™¼<çÖ.ÌB@ÚòBÉD%íÈ=×í‘} ž³ü²'¤Ò'nŽŒDUn…`gB\ôS*/œ4›ÿ‰ hXM½œ~5ÐÜéJf½³ê“á=CjøÑû>+ÆÅ8ü<ào¸j´nŸmßINŠv#œ¹0ês~Q~Êc÷$̉úQD?l˜ùÊ7Ü WUàžAð€Vê{ì¢+ñ%Gk7ýuÛÜÄëúÕ¼•ºc7|³¦ŽôÎJ˜ãsl¬»­ÉÖªáé0)Ö‰Í'&ïY!õž'ìžxЦ•RþúÍ93B€mZœÇ$?z//óü˜ÂYARÂâ….:™DŠI8fï7_™Ç•?vŦ]#%Å"аŽXu~6AÿÑ @_1d½ÑH{ZTKß[ºU¾TD—›wšóFð¢w È䣥ü%g/Ž¢'á®ß8ƒƒ.øV–x…¸óÉž{l…6jÀvðF±\PªODET¼ü"Xù_·™•RÓÆabRŽô‚èÁÌ ½%^©¥t4ØùýBï&¦„ö( VÄWüýSÏS[íy{°ÛeÚ¢ $m&ZOù>äZé¶—N@ác=¸Q"ÀìQN+omWi§ßcyF=•xÒ#˜ì¤tØjoÚ0,Þ»ú Q“%s5$‹tŽO\–©ž{ŒW#!“æƒVrÍFžJ§&cX;ªk‹~á&¹.JH‡sU{ &pÄ%aÁ{1¸‹æÒÍ’§gM²E”÷1ýwN³Œ@(õ‘¾^ æù¤HÆ6\…+GlZ;‹Dø6IØËãã!­-wYâóâª$sqy™³êy袑´ki/Žá3;wPd“èÈ«w}ý<¨ò>î‰PŽ^‹ãH×Dy"’ÓvH<÷Ñ$£ ¯yâïÜy4'q“´¬>Í6±W¥ïÑïÄE…ʤÉ*f°$x×K!‰[›X£ÖMcŠláÖÉÍÆøn,ËÒåÑÄ1Ò‹íQ/°ß>•è3ISy‹6ÏíWÏèûÓk 4”A0Y-ssŽËŒ+¿Çä§ãôü§ Cá˜?ZxA§OàÁ¨ðÏ¡—4p‹#±!Ý´Š/N@š¸^Ë<,¨5^‘}1¾hEjìiaØYbvƒ…"÷HóâÆô¬‹‚î¦w®²¹[´¡‹Rbtj3@¬™†á·Ö?Cæ®1X¾$ÇT¿˜½RÌä«&þ £O·Õ,Þ‘ 33¢7Äž^¶)÷ËxËÇB oÆ®n×Àu㆔`—bÚ×ñŸ`ÏÔ§¿so„}Ü#¨ jÒùé"ÚD\ÏRóvÏÂÐÇÍ;9! û Úìcäa$í¥O¡ £am,‰ tS€Ú!Ë@Àíªž¬s⟶ñýxL5U rÇ’×§ë~ŒHû†LV$9úú2-búJª‹zìÅOŸNÔÆõÿaWwûˆ’X£t`çðÑ÷°€± }1•¤E:àþ¾L7¥yÛ·/C'vtâíó#ካ"g·¦\Á ³‹Ãá}íGL7L¥µ×'óÈ…µ) TyJr‡Q æLdb Þ€š¿cGùPk†JÖ”"í?PÍ’ü¢ E¿z_·(­I Ü+ý‚Ì5'º\†ë™Ë­§79êó[ Û|ö¾;z<ˆì¶"¨¥zúéÃŒ®T®œ=~cO#ªíNèµÞx™Z_øCWÀ\±³0JŸk˜+ ©5HûµùôŽXøGFG?;ðZG–ƒŸøf¤CÏ+Kµ¯Åž‹ €7fôÄXt÷(âÙœì@^'÷ ¨¿z«¹P®»:ýXì1€éݬr÷䡆dŒ Ì|‘Ø÷lõ›DtÙŠP¥N‚qd0'0i3XÙʾ~€x†È3Hw©ï¡Ú øÔ¸aíB&ôÓ’Ê’æíº²¹'¥x7ÃçŒuˆ¼#4%Cùl=çØ ’ˆðU 쌫HäÚ‘ ˜Ä|áMÖxwß§Ž'üm–’ïA4ãPZ–£Vþªk¦IZ[DàC‚TclwÞ¡aª¼ÜŠRÂÃ(ùUG±÷ï°¤Ù¸—øD¾˜ò-³GYw¡¦ã¸°èÿV“¶^´åïLµL€Ëq¶]Žá×mêõ¾¥¿u“‰zSOQeµ1ð»þpœ “êÖŒÚ (eéFTòÄã€3p‚agB7Ê£ ;N‹¿&™Õæ?ËáªÙìÚÏU¸õÝ/s:„¯ô$áP£˜ážP$dJ†;£… -T¨sý¯Sêc—6M¬iiÀ­Þ”¯Ê‚èè`0(¬Š— ¹À>PdÿÖÑ…ÈM½jU!ݾ¦ƒiuÆ/gø3Å×ÜØ¥Í=Ç}6ÇROWt'ëO“ÜÖìÂ"PÁýÆÖu @Ç~ôpÓû ÊR÷jd;=¿¡eÅr¦5;åzÅ«!@8²œ¬[Øw÷©4á¨F'à¡5íÓm[}â$/ÉÍÄ^<7ó3ŽƒrmùÁ©éWz LmïvçdÚ­½èœ Fõ«~r›' žBºÒW zy:©·,ת —;Ê a›ÓƯå_ûÌ飙ÏHE»SJPn´Ì¯ ëR‰ÆáÂ’0¾†pâsÙRæP=Ïqd• pe ÛŽ‹ÍÛyœ¡å„¾ï‘ö)Î[Ä3°ÕŸwšˆúrüL åé΀&À1ã㢫Ç-ý8ñ§¢ËšïîÉ.(rt³&-¬7£v’C2Tô)èÁåS«ITÒ”…XûÖâuyèoX…ïhq¼’´å ô3"óÕ§ÞYs iêXܶOD‚jQ-¯1ˆ¶ÄÔø³dw´BÙ³Z¹ÊáÑɯ ³R­Î«ÉsfIýÜõHe*('ÙýÜ„NwŸî¯]«â–kÂ`.)²X½Ù»ýÆ15ª¾f[h×jÈæá/öbÒyÊ*|¶èW®Ê©¾}y>†ÒÄ/d§ª°³¦â^Æ\#A¦öÕó©•ÄÁã$òµ9‹v§ç!™ÎÔ©u~+¦mut†|§[¢O+fkuÔôZ-^êØ> ÏLý~Ižš²âaÞ€Æ#\i`ïm®>Ù±x$žðƒu9ЊH "¡ËàÆ#a–R }ÍÜNà;þ£ŠnZ¹3øp.ªÑ6o•ÐÅ{‘¹¹RÒhpà ,Ë·¥¢(–Y´L[ŒmHž’æ%²çËc4„™Œ {„“ü©c ô‹[ë@œç2š‘îl9ñÏC³ð@ÁGí@j°O´o‡ê3qÁ—!³V]†¹'èhÝååÑUøæHE‰ šÝ!”‡””Ši[Nþ.$oûUnÃdbÑí¦cþº ‡¡‘F5y`f›ÛxB= )ö‚TÚ9m’§t±Ÿ‘Qžwòç{ÏfD¬ÁîùˆèÔõc ô7KHp ‰£mçkÚ\fô‰ª0›¼åLIÀÇTl³ÂÖ L©(†æ\þK¤Êïç¤Fd6ÉHЊ›r™°)- @eÏùª+æV5§á6¸°DƒóåIfå–ƒ÷mµ€ò3;ˆfâ;·|ýµ]ÁJ·ä ¸dêOZUª:š‚§º‰o »&Y*ÌeŒƒx­|³éEÞ9ÖKZíe­Nú?æ‹3Ýå¶X]ŒÑ46³¼ŠÐÔŒ™Sf‡¿’Öt6_.ˆÿæ;ÇEÿˆ…Mð¬£@ 2Pl¼Tr\pê)•ÓÎ4Û9âdÃø¾!Z6\jtðŽú0_‡ÚD<›Ãn'èB¡²ˆúbl ¯ c£(OÊŠÊ÷–Hi,vÎ&eŸé{ìÀ×”öm|QYT°ZÝ5k:«òû –ÑXß3œ¡›Ûè$‡{=jC‘ÃÀ$ y¸f ñâµ³Ù ½=AI¸Õ…Æ^¿—š ­bȼp¿Öûøx¨“ÃIx.½˜›î[\þÄ’…j\k¼§“¨ÿ¢È=d¶ÔŸv«ov˜ÇŠ }Ýÿ\år«x,ïÞîÞ&:vÙÓ%¾ÑÏ55î@]AÍntõnä²°T5W¡o¬nŽu ”.P~‹O@|üÿÑ šœçè~°ÎG  þÎ ÉEU¤°À"ñ‰V:šÁ)Î+BtÈáw#ÿÄ&W|>gSpÍø!ì§sóeì7­,ÈE¿ ñcÚ_±]~qvM¬ctŽh…ß_øéž±Y«Øçý®1¥Þ˜”è-K@–[þÆ‹ÑÊ:Sÿ|ÆüÙo¨+s®[‹U¦Î“äLI˜V‰jÅ`uè%” —³*¾z²³¡v¶Ø`šzª‚ÆÜ=†ë×;ò@æI?â!M‰Î`ö.n‘:›»-öKo Â®¯:ÿ8^ìE"×±—A~ˆ}5µ>³ ý—Õ Ã 3Úù*ì¼ÂÜŸ|žûl’’C³:GïEóÍ.§ñÿ´×_ñ‘ùɧ@Ž^m¦Ë_½ÎÜŽŸnäšC™»6>áÈlîÅ­VØ?~¨tWŠh‘¤æÖ*‚Ét#AØáÈIVe&íìðõÏèÍCAÈ1 ÿŠßC ÏœÃG}ú϶€i=nc u€Õi’’XKÓ¿ü!lŒÆ?-:PÂ!u†ºx‚&‹?áJmÕË;d«‹·³Kf‚ifoEÜ>×f¶‹|\£‘þþ eR²>–ã^`ç("3ê9û#Äk@ð B$š„Ceª"++ô™§RDÖ¡;†&-†˜š/Dk̨F ô˜â½ ]ŽSŽÔ5/Dÿ&xË)s¦ØÖ¶¾òªc½nR®8;×l‹™òñZ*dô™cÚævÝPŸò[R$ ¹Xd!ÂrýÝÃjæëÁ€È§*‡iR†,!íj6´}ä°p|ÒO2Þÿ°MÃ&«ó€iÓêuÅù¨;b¤Êß\#¿˜|$²ª<Ы|Ç‘z—±Z|L=¥‰ãÑnŒTŸfÐ-ξ!Ýÿ®:ÀClàÆmË–ÉÐF–§ßŽðF ž7}ÇÜÛ¸äR÷D îH.ƒLC~Oô·FnŒ×„Ý/—= Èßj±w3Ê?Fù3^b‰Ë€DþÒ¢ÒÏ ôOÜŽý4Ÿükã3üÖydÜÇ%ÃdEƒ ÂUAÛU•š6˜±Ëo(<â.ì.üfrž„óvjçÜú¨ ³ßa¾ÍŒ±}oà‡ÒZËW‡*É{ó+vGÃŒUKxÁ?`ÖŠ-+"î§t)ËÉbñ`óêÕö4Áû5CõCv_å®!blªµbßu4”µ‚àiÃ岿t[ì·F¤‚\ˆÀVþn®×j€2v“¿gÎ ór4Aµ-ž\34"š†W^à¶ €4,—DL„„þŸZ%#gÁ”ì#¾ }¬æzúf¸&ÑQº¢º[—´–‰è7ÜÿQ#¯ç:…ŒÄÄ3¨Pbz>rF+ Î[nü¢yê¾»¬ó>´Î¯-Éc`«žãnMßj¸}³B¾!þŽ­‘”¡=¬ßô!ú¡jG"¼•ššPÈ}Çò°Xl™§´q¤ì›aÒL¨Šòw¨nÔŠñpeˆÀ±ÿ9/ê,ç'ŒÕy˜R•"mE.ÓBaì.ì1Ø TüÈÄ;RLs(*`)‹%J¸(¬5¹œÞ\ÏÔcGiAàéœR¿¸ÏªŽ3q{à¬4ÅÀéçuKÏÕÜq wALEÍÒŒZ¢tåkBµ@Ÿ£¥è YÒ­j5†~N •Pý¸> Wà óJ$y@|JÒœÔôðšùb˜!¡¡µ'¤Dx3%Š·ãïÙ(žn¹î[ÏÝ¡bdó ô:ÇWq¨äFì˜}(CÞ¥µj/†D)ȯÛÁÇÌyà€óκ, ¶°ùˆ‹bY)jÍ)0œ§ìè«1Ù»±‡íÃ$¢NeíL›F+FTå€q'D߈†þ5pj|¡=3+Œ ÍµÃOOÄr¦ðÜníjþù=,lÎg*Uš-°,5ò¶f/Î{r2B¤e5ù%!ªÇöÀ€×ñ6’øñFî ¹l/,ÛÏg:Åâ[Àë ¯ŠŒg}ÁŸi1ƒ­<ѱŸÅ´S i†ºg¤Í9)Þƒ~{´!qŸåëPd÷w$2®¸_2]­ÏD2ü^@»!ù¼‰äËU…X‡}Ú@Ïÿõ]üglow ’VóàN*‘bÅV ×Åža è,>™•꺣w™•먞Nïæ–hc*: ÔºN‰†g‘%{ËBïJÖo÷7ë\èãZ”}Ñ|'y’¹àŸ>)>Sà˜“Ow9ûí*£Íß(‹­†#1)mqbÀúˆýp‰¾1UTínž–ÐX–);Ü®è¾å»JR DLõ_Að¸äã=cÇþ?WÖ$\¾¦­b]W{0‡3ó¬Ã~:$· ŒmŽG|‘¨vÕò ª“M€ì4ìýÙbÓüùŒvBœÖ²ñ ]n=zÛ¤}¡Ÿ |GXfMáeaÜ]+¹æ Ósäþ.NKrL³áF4´Á ,beM?N$ôt/ ©nyÁ>Ü‘V_¯¹µ½úi ÛK>"°Ce]êDø˜[ü'_ôå0å‹fþþ°ÏŠJž¤»=ªÆÓZ`Iìu¥Ãb?Ö‡¯xdæ&G»†½GVu0ѾÃÃhi0•¾¹JÀ§èiŸ¦ÄVLUÜy ïrÙ£À<‘Û ¯½¿ í´IœNíÜZ‘a=[ºAÓsv‹îÔØZOï´M'“ÐÁ•mbmBÛÂR!rÝôÐ?!РETj¡Ð6Ç™H0•æÕŽ“ÂGªJó±nHâ•·R-øX lX‚=œ÷?ü‘ §d•¯×ä„Ô†2¿ì—Of¢HÖ>“þFš”1QLïÿyú`:¤Ä £’d3 D³¡4m´232upë|òj U2÷,Œn1¤QÑ@Ššîˆ¥s7Ø¢çê®+‘ÑsµÎQ¶¦HŽ“ç¶T]"›+ÕÜÐ5¦*§hË7Tê{ä¸Ó›[{þæElä|<ç^>[×Ç’)q¸jÒ‚$ýO32YÅoåd—­‹G—S©`ê¬Ír®|GíˆÀ ô—®µdŠ¡» Á§v7pÌÖ+à4‰€7Y¥”Ìài0´ì f=I7¤³)õÎ/'JÏ3 QÝFCœ7èw׬¸”©÷¹0ØãGXˆhci%| ýΛÄ\懟ePq_å¶7Û…Gà’3oüyΦ~BÆÐý‘Ê“òa4ofBµ8žf7{wɬîô)€q-å…Ú*ü)˜µ‘ð‚t£]]5u„Â+h,^ܳx¬ŠLéÁåÃÓ–æw×Е˜xÑ¿!LŸr‘W=VÛKõ§Vx’¶´48Ÿßã’#Ìu­g㨹¤à:§HLÛ&ùM¼¦¼W+Œ$oß´tÃBFƒs¤@gÂYÞßp­,Û··sr?×\Ù=f`• [|*'ÜôðÜÔ䃭çÕq$k@%vcr0±œî­½¹‹µPMÐTP ºœîžF¶’‰»_C³w½9È?Plý ¨K-êú_ÅI°Àz#2¯C]ñóƒ¦e÷W}Ä]t›ÌÁܯããK¹àQ¢ kôP¿„ƒ^TloVÔs‹ y"a¦Õš”::óýÅÅã½3"žÚ†Ráí{Ù<\æWðr=&†>ò³HƒÜš¡-E½ŒùèKƒðù´Ç×)}BEe’ô×nzej¿ŒËþG„R`†ñÉ©î†d~2]-@+î§;ö ;´àMwq#¤""Y Gvûm˜c‘£™Ýa¬'¿Cÿ?Ÿë\*Âú³³Œ$© º€Î8쇺R$²`5(:ÚÕÁ4üoY»‹ùÒO0Ó`¨9‘K=ŒR¥Q8vûÜ`·%â¼O™STl JmÈ &ta¢Õ„ð’åÊÌ4%¼ñ nÉï¶Ô‹ýï¹ÍGH.á§ +ÑïÑøFdº6ìS‰ ‚%GÛk´¿O0Ô~ ¼½™se÷à£3ÿ±Ùiù9ðÌvßCýAƉ3+ÒÈPÇàHçY˜a¨œN?˜™¤çã‚PäwÁÚIXÆáI ·>¥ía,dßðÛ^=%¤Üá¯A¦>RªÛC1‹wñv/g)»ílóíkÝ’ùðžPáª|¥Ú^,‘ ½/Æ<™Ñ÷0¢ÑªëW÷Žc™_r¨„.QFx4)'ÂX&11ntÌÂ.ç¡Íq­Ó;nëó+Õ¦ ¶ƒ{%[#/ß´?ØÜÑá9¸ —&»ž‹ºí²@Ì©Ð6Ü YÅ\¤ã{¥˜#¹–öì´ZQ«¬Ø:µ•BC¾FQR!®=®j§[®ïoتàl³+î¤Ë>TÁ4ê ðúÔ+¬ŸYµ„m Y'uCUN—|L– …CˆLrô0ïLÏ€zD±q„ã@Ê)kg'vßQh€sf¼ø„×Z[‚ÓÇ®/¨~/ djòýV¶uDðÎaª^­°‡)C2œw+·#¾‰”•ŒŸÚo¯Õoöå7 â¦ó-xAÎvÉ"h77d*¶’? éÓ7íP¢béß i8ã±0ç‹}Áß ^^ÍΜñ†èûS«ÔHSã+¹€g ‡.6ñê”(¶/ÒÆEj‘È»®ÙÖÞ=ÌôXûJ,6ô?€©ÝǤ.,²Ž\ß™)Cn›æ'ÐúR[Bî¥ÝQK¬—@Òùö²[œa­ú]ú‘£ ‡’÷ß7‹OÐdú¾ç‰ö·¿ æ¯a©ÏguK¨FÒÿ Èx}Æ ººÏÌ{±!hËù&ÿšÁH¸[ÍŽ…²È)]®ÁÄc鉬ëâeVLÅ þ›_y©M 3¶¿ÑùÐ*xç1JŽÊu§Ì!wzHþì_vï2¤.à{{Â.Ñ•§Ãšý¨:„zΪŒ¿ÿ àO„. îÁ}4øáG¿ÚùÀ—^Ù_’£gW`Å%à=|]íˆi`N X„;:Ç¥4)N‹Ü«P4¾d`lq³Ô¬+DTµ¾8çv¶´?wÆ…NºÝÂþP|êůJªržjÍÄõ¶-ôÃ65ú9 º¹Ç&»@=€9!¨+…“‡¾÷:Á@ 3p[™&êÕ›Îö[ ÌŠxãò‡¡¥†Ë™&o”’Æâ/tnÿ¯¬ŠÛÞ,^&< z7æ, ¬ç7Ćþˆ ÛM¥Iæçä[®ÆÍÕdM¨Å[ÓŒ@ù°op8©‡L%eTœªWø®- Ûù †âÙ £ÍtQÎ9ì’%“ÿ¶¥µ½¼ãf2Žâ¨,ø8 h¬ñ “7âögHÒç£ßÖpŒ~'é¦Ó¸}VØH,ݲ²¢½kªb±büå<*ÚµÁ'ÕGB¬·KƒGÆÎÑÐq6„b-üôœnú£yVå¥O·'É%ìm…î^ÆLõm# ÷§]cì¾§:J±5?iž1¾€cmΖ<3ã‹W —HMójDÙâêùpýtì©_òTV.0Bh@´$…Ê¿*$˽3t§­OÖB» ÍÄa#Íœ“޳–¨²EÖh†lÙµ™½ù„|ܯ#P¶4,·§˜ÓíŒäa+r`Xu¥L5¿ŸÒÁK£yïã%[¦¢þ3üIöÃsS žÂeVñéswÔçw¿Jl6^7#”¢$‹vD=i%¦Ècæôœ¶7‡¬ktk¼óhº70BŒæœè¡>væÚWLÍþlÓ€*püÊÇjµÚµ³L1ïg•’Ú< -èhÝß”ˆ4(_Ñ´aòsÿÒsJß;ÚúŸŠøüí‘G(¦l–d³v!¼@A}l ›C~ß¡Kœ0HÕo ‚Á¶œ Ξ…mOéÓn/Œc‚¹&¨ÿ;+}üv­JV¥ÛàîDËû–2K¹«0Ò àmëš=ÇQÓrÅtY‡5L·—ìý„ž× ,/t ³®ÁèÚš¥ÕµP¬†*‹ <¹Ù'ÉR܆§óLO•k^*ä!=ì-Ñg1$…pýµ€fYÞíŇ„U^“êNwïòb‰'rR}'Ôˆè›ÏÀ2Üî>Ö<›ù®ÕËÓ±„ W<ñÉ•POnŸ P°·]ßÜľáÀêGôŒ›N_hŠt4_ب•š›œ`‚åB®²«iõT›r‚*‡îoç; _¶ùxqiÍw~4X“¤À¿î¥ßˆšè _é×à?Ëó½ó ù^&ü‘5vÞƒ&ÓÃ_.Çñ)Ý“ä¸C@5Gœ\†K.“h»2µå’¹½ØâM]1]ÃË5F@kÚ4Ú,41Ó…†É0Þ:Ø¡ úÙDï¬ø`@eç?IU´æ!i2ÒŽ£æò1 ƒ0˜yã* ðxs¤!÷Qö Ìåc6˜ºûh‚é·£9’ !ò~lç˜ñ>6{¹e¢V¡µ¼ez*». _½7‡ë4º°JVf/ ´ó£®eSiú³l bvc,±•EcÆ2³›‚+ÓQá*ùêÎ>n´¼¨E]½&?>  *ã%¢×êÇfžö*¾wýÆþ¾K55Àˆú¯¿‚_Be¹¼ ›ÿâ¨;U΋¶Z @…æF>¤â|C˳»ª  8§qÎûCUUE‚÷Ëä¶9N•ø®n³ÎŸß–j¬ràÕIÄ<‹k…ÒOýh]£)ÌFØ9A„³¥;:ú-ëCa aèe=×Ýk,ÐBD¡‡â&U¬èäÔŽâ•¡ä– >Ï_•Ešèk ÃM®Y#Qº¦Ý÷ójv°Kp8ÈÚY2òˆq ‹'Ù©ä#¹™ZÓú3v *I_)Åh_…«BÓ•Iˆ!Ô\ïÛâ¿Ä6%Ï6Lø+Òhá¥ô¾]—ÇH3nÞݺ^[ÙæQ&oÃþ@Öñ¦Þ²TÌéI2ù 3YÀÛÕfç©ÌÅ9BÇ7~j©((˜¾ ÈŽ´•ä žºfƘ@hò ›^k%¿Ã…ÚÒr;ÒÖƒa$Îú²ÈdÅÖ%ÏÏÑR´­' [xÀ‘ÐUœ {„$t”RÝš ï~Ä‘@Ð5o<ÜË/³…˜$èämáİ*ÜØ;¦6dòF[¿'†¤òœI,:uÉa<„Âd~iëªo"\× †êBVPwóòZÉš‘‹©·ÜÎh¤"‘+›]Zw±EŠÕÚÓC¾Ê×â~1ŒwŠJĘ ªƒP}Pzæá÷ym*"¬ ´ ¹*ÁΠÁæ"ÕÿóÄù¶0ià  :Xý©.ØM8Aß ¨Dj¯æN¯Ç&á§jël0¤&# ±Ýã;~ouÝÓf«ðS©z t£7U€ðÎï”a7·ðîQ bèÞRLѹ.7*Ý›¢ /ÏÄoÐ¹Òøª@µQI› .3´bY¼¹ÚžB‘núŽìëjºÒ“ñ+ÁŽ>”I|B zlgñ«Ù}šÍG¿!Ùó&eóÊ: eRSãÞªÈÉ$ƒ¨s“÷@ö²î5ÄÝ.I­__ï5ÔV`de½ òãîE±±&„X!i5ðÒ`µ&A"4ò I¼d·æWðv^¦Ÿh÷Îyڌ䀠«,ÂÕÜoP¼7†qa§G¹ú¹ù“nIQuym6-èãbo˜ÙHÏÛáá«É ƒÊk)«LðŠ»ø!ÛÛÜWÉðuB>†âû[$C’óŸNdÁÝÐ2”þïbBæ£%±«ëXCïT1{0 ܟ÷*U™Ø˜ê}‘+¥£YáÉë‰Î8ꛩ>Æï[þšÉªâ"HÿÈß”ãèdDÃmy˜QïÀÒeBËÌÊ5È? ôPÒ_–ŸIRª$ÿ¤ ñwnäöÙâ6€7nÒßÖ|—èLɯh—£Å¿ôŒŸ-Qu_©Ó¡sK7UHÅa³P)Hnmâ»±®\²¦‘¶Ã¥—6^iZË0E¹®ø?¬¹û…ÚÐ2@_šPtÑ®•ö§½ö:E¾­÷¨&¦¯F^ÇEeÍko¶!%ÂOC>'zˆËœ&%yeRM0dZ —±²±rí4ÌfŽ^‚:ß!mîÂýÇ–~ö»Ù»« OI/aI§C¦€7U]¼»åÒ5«]Bü¼xpÌ0Ù>Þ9 &FÖ*Ñá瘙ÏlºoœŠÔôOÔÑyçÈÊ_˜žò— (ÆÄóÁ•Nܤa•¢ènçÉ]$|UJ£O²àF™T›Òx¨™‘û½‹©ºCÄ´áÅ0„Ô›åAWã(Sf-;UÌRú¬…ehJ8H—Tì 0tR*©*Ë#ž“õcrúp“Ó•PÍQ9b’^š¾Ûs a‹z4ýNb!'üÀžot³\½±ÎüÕó¿³”z·K]”`!^#«Û»Ûn4}TGÉ jµ[›òt®Û”›Æ °®y‹FEˆ’Ù„"° ÈvÆê9 ¡Á¢_|d‚%Ë&¡Ñ5ÂîèÈ‚uV¡(zV(˜A¦›ZöœgÎèPΘ#âv` ñYÀ#¦Œ?ÜlÊëåÝ݈/ ÚÙ­+Š¡_-<„ã|VÂÙi[HFâP ?*¬5y¨©Ôo†¹„Y—0PܶBo­Žçù@,á³UŽ€A{]”¦6h Z¡eüq~á[ÖB§Á2µFœd4mê£ðä”±¾Ýí»ª#¼˜ôWÛ·Ý…à Úä®['¦ÑkÉb ¢¨’\0ò®n?>*Hwlñ>/æIùhkаã6ãˆÈVòŒM>òî;«kî:%ýN¥”Q§;ëJmjLÔ§µ%lVÎÖmaXg©îÅ£-ܼÓÅeÍíºÿ¸…íµ¾p)òF‡~\uáøÔ½ºO“³QˆÀ{;I@¯+FX@P~J+¦øÂ霦Åì¸ú¤zun†¢Ÿe‰±ûf ¨XžÒ²‘‚èåhÇ­p ÒZr©wH ͽ•Ý,ÈÒ1QKŸ›<æ)ÙŸÛ‚Ïqs¬O¡Rå¾Äi´'wµï‡OQ¶re}¢ò¹L6•jI~5Ïn=%hG¥wZ t™b?}‘â»ËßÐÒíŸ'ƒrsB5±®iF±ïÜxùåçXjl9«~×ÏCØrÇeÐÏu_Nð?l˜ðjI÷Ìõ.,ÏvÍq.uÙé¹b;a&Œ‹)'®¬Y£({"Tñ’¯< p"Öä‡{Ò¬‡øág¼®‚Yn6H„)˜ñq«<ÐÊÌã¼ ¸‚P~Ÿ–ùÊ&.üñÄ#' _íqÃü·Õ-º:láâF5ÞL^÷Ìòë·kÁnk’Ò5e‡³÷›4ãªãèêÈ!j½wd0e°’ÇPÑ÷åÃaãnÄ“lòµ{ÎE_ÓÚÉC 4²hº–Vº+N'V[G§Ð7¶¤6?²Ë»RX_8j¦¢ï’ßHCæZ=å@†˜íóÂü)Úx3_YbšŽõ³s`µ›Jþ½û§)ë¹’²ÄWø–£E’H"ʳÞë\º½ÊÈL*SÂíR­¼’á†ÕÀœyغ(‹`XU6$kÏ/'£à3ÅÔËEщàü'ÿE!É|R¬Pa@u)"Õú_tnËÑPJÊpY¢_hÅ$qénG¬/çC8Ž'ÐõÐËÔ[ÎËÅ’~9½¦½W¤WæÅéÐèÿWM1W3ä±÷t—QýuîHëåÅ…{ˆ'øS6›„jö)õ€CuÈ"u$‹³¤Å[i"g@Ú:uÁq°Vû¸¦²èMШn«Ëi&cÁÇNƒ¹e$D126õÑØ:ˆÍWÚ±d žuWØiÌšJ<œVYˆ°-Vãdú§BŸ–B·b¤^˜Ú²*&-i܈aÀd~sÊœ•:^U(s­ùhâé$1ÌÜ>ö é}øëî­ þ†¹x cv'ð* t×KæÜô/8 t-âgY‡¸¢½¾kcÖ¬ñ«¶ Qê3\Æp¯E3*¿¼h|N!°ƒâMcèd½541ÿl]{O3 ¤3•½ÌY7O\/LÐP°÷ù †~¤³¨Ùž.¨ÞP»rÝßtéZÛŠ_R!³½$S8oPåI¼T6‰ö(e›ÿÎs˜wÞâÊÞ¿0èpLÒžƒ¯Ž¤F j{ÑÒ#T|PÏ~Œß9UêI9§´pð#bÿ7r.vD|Ýã/ï0'&ì˜C7¨DŠçxNW£ØñÅJ#Q·»xöÏï^jÞöSÞî$}ùŠ»æ|°Îò»Ó—û >#¹·V”B§.‹ AìbaQä·PµQ¾q™l„Jg–a3{LCu^BëÝÙN÷ša{d¬óÚF|äÈÄsÔ‚6ÝõàSÑ\hè¡Õ'Ús†B%˜ˆÚáG§yqŸÛ;ìMsÔ]S–u N½7/¾åÏjfɦti§GôI²æuôÕdè°këSË"¤öwNŽî¡'ÎtkÀÝÛ±W¼÷GŽkäÕ«û%yÕ˾ĒöÙžý5뢞zŸÁ-þHMÐQüÆÈâè«U„~ Ü€9HÿW_âtó6ØA‡ÞÔÚóŸù§Ú‚ó.±ÿ;fý*»Åï/ùg7ÛgcP¬BMpóNEÂüÇ"O¹lP!£ þ§UcÌSÿ%[8Â:oZ× 7IÔ¥¶É=ÕA¡zË+{"ó\Óz|ÂÅB$¶Ë‚:Œë­Ð1brð°¨j}T:Ç“îýa©2gFÒE * ÕĦY¼TYv"ª½hw¿1È×®ˆ+Éè½Ä‚O«äǶBX?ð€Œ”^ðѨáºbI€olÿ¯˜#ÓÙÕYE®,Ri_>R:×ä&ZA "žÆSù7Ç™IdW}ƒÚe#º¦ØÇÇgÝÕ•éCqZ7óôß4;ƇÀè‚föæ`dÛÇÓ”öPs¼S="-],üZ–ÜaŒØ—¡.ÖˆÌêvÕ6¥›¨G>MÍ!Þâ¡A}©1j û‚ˆžßÃ,ëþúG»i`O¼.àÃæg®\W{—gò„öA`¥ñœ$ÚÙ·{˜×4 ÿ_ïŸFKUcÃxø¸ÏP^úÓœžr¦Kr,+¡W(/O†w¢=C}w5$+B\¦ÒUR®§*ÊÃtíY^OÏK³#Kû‡ëÂ^l¿ÌŠÕ"/Î*;çÈK©Gš+ÊßUuo©jTðþʆ€’¦H |ñ]$ƒ¸ZÙ ˆO÷ Û\p{Þˆrv©#ÐЛ-±}@UzEèë0Å?ŸŠЕaİϽ©ËºÄ)ËÜJsððå˜ ».•ÝêR×,þ²r/5_Å¡l Ž%O¤¨”º—ÇÄÖFa4Ü眂¹<”å•Q÷-îÔÚÆq±8y9–W4¤è¶ú„_³`Š »GB}£dÿ!†Z­Û/r¿la 5ÅÞl€—ûÔÂ3ûS“+•Ÿ$:ß1Þq du#Á“ÌŸÆ¥Zµþíë"Àtþ+—<@ðÿ¤·û¾vç~™C£“dƒ.2ýogòa[T÷ÁÅĸ£¥ë±C„hïb§°»Q“R0ó:P Ò:òtÂ;ƒI¡@c†ðzõ÷o ßÈmËPÉw6'¦ùÜœöɇßMBd}EtØ)Æ¢ÝÌì¶,ãÈ¿÷\ ¢?ÔaëàU|×b’NV:O¸íÖ£Æù~øÀÜ7¸õ·S¥çO—…û6ï|æ6ײ9kbØö3×Èp2z )«6W€èÝÑKk,À,Qªævk÷ËeOZâS"À‹øXQåwØ÷~HxIóª5ª,xzØ4¶.Å!‹f_‹Í(f¨í}JÄDøbKDlÑñšWÕÓ?7yó£øòºQ­¥ÌLßËÔÈËÁZÈ.ô÷7j>Rø}@o8<å;ôõ·’4¯ø ÄôxØÝ`KMÉG cìäMÍòÔ'ŠÖœ‘D1¬™ô³:-Ô”3ÉñqR&ôÊ¿²Ù^ê#G|B]Ý6ZG*ÊË¾ŽÆLxž²ùL”éú ÑãÐ`¥ë°0ó!0œèr÷}¨Ÿék2—žr—7f{1=_OÐzŽ¡ŠÉVæX¶hfè|‚ÜûJέP*ÒyX»ü.ô?23j8Ù‰äÖ#qVSù¹¹¢×,ÛÞsωü• œ”O÷B……^ŶƒL½8%–-®è/ FåDWÒ®äí¢ Ö%üX›ÓY«J”áw…R,šK ¹‘uNQýc\”Ó5Ã=ó¹ßTš¯p‰fθøðà üF™C¾\ac§Ð©¤•Î`ÖÐUW×À „”ªÆØ_Þ óuŽÙè?#[NE”A’ôPeT8 {Ò4;¥fÍç…¤* «æ…´ Ù•Lç½Â“¶¬ì¡:µsa€×‡5¶«KØcó“úB&×:”åy•‰ÍÛ‹dÍÁñ¹š{¬ò®BkvEõÍçþrÔÓ`|]Ór‚Qæ&=EŸöŽ›—% Å\‘Õ4ø™—,ÐùÞ¥¼Ï½)W›ÏõY*kj†8Ζ„ÂܹñW„N€¯©¸pt2tdgÀ÷]ïÞÑ·/>¸ÂÝ3pÿŠSSz;í3åWœJ5—ˆŠæ<|9áÙ‚ÄM2_à ÒàsÎN”ó¡£wPaônªt ekiÒ0ñÌó“*‚Ì‹WoŸ(fö—Õ6Æ“«“ÐÆI½=É<Ê"á†ë¶Äi¼ÎÜ×Xó^jµÉ޾>3S2æîaN¡Y0é`ƒR!Tus[V!nÅJmv’R˜¨FwRÀ.‚DEËÓƒÇ ñÀ'Øz'Gxs ÁÞgdé =m× &¸QàgsQãeºy„> _;)‘nAùÈZA1{}{]c™ÕŒ¡<á…ÑÆ%‘–bKð}‹·0ŸReAú41©þvr…TG”ŸdûÕa)¯©àTT„0|Û×í@J÷®ÔòØç ›nÝ%ƒ–GžÑ']Tàåt0,—:[ðUƒRì3¾éÚ&š"kyƒëYÕ³«JÝŸÃ{tsø)(éfC‘µÖŸíÈŠiYÒ›\[†§czõcÂT~ÍQ¡[a.hv‰~ÃÙ—„« EÜ~Øá„˜úõOº¨Îvˆ²Ò‚¢€nTˆ²ƒéš½Ó F¾³ÜŠsjK]³ßû²Ž¿"o|¥ßîogÕÉqOÚ¤°yÎê×1šÇôB y‰”=žkÅ><œ–s)kÁ©ÌÝ`žßÕ§7óñ\Nå½Å±.žŸZÈ‚jÈpvìæã€ Óß \௕ع„cbtìûüCQ|¢dó&1Çs˜ñJëhô{d'zI!ªqMÆ­¾E†ÆAY“X?ë> kÖºæÿašËÕ'ßû ¦ÞdæâÚ2Ÿ˜DÅ^’nìU ‰h1{눼óm?)¥ÌHGY‰áƒT“Õöo/LIârvÕùY&´ß¼ 4ÆÛœ¥P9Wª±fþñ ¯½3CBqï'µh–äá¸ÃA§Ì0VçÞ©ã úe©•Ð_þœ¢)»1ͯ±§Ø*j›ÍeT™ÌÃ4UŠ.ÂåD‚I9ØFÃ;#®A©‹…ÌB ˆK'"t"†áû£^[`a´wÂQëZÎô#·É#]¥Tª[9xÁžƒ9N>­Ùiõ¬@HF'oQš}ìËQ#𼿵pÚKéÒ$Ê"E¿šÁõ2zÂîýr‰Æð€À ›¬¤^ÎÝÆTq¢j6r™Œë–± ò3@Œ¶þ·¾}ŸÒ>`£@[&“½‡>=µ¡þé›L$PýE˜…æÿͪ٤žP¯š#(Žç÷5lB¹å½Ó‰,l-lóåî…,·K-©!(r^ï힎Έ"1gHÍÆTi¢R€½\ ¨¨ñ„'îN%ø‡“®ñoÙÓ>J.£qGÔÚ¦ýf9knŒ¾°Æ¾mèOmÞZDßUç8@µ\¨Úu¢‹NÞñú*Dš§Ê¦çP¿#Ây/.£¬ý&Ñuggß\ï¡ A‚n–œk >= *)¡üÒî$óþ4RäèÕŽ”ú&úèúÃëõ½±ÊT6¯Ñës躳(‚sv¾H­Ã¤Gñ[Üô‘Ú9€x;sã¹Å«û¿«ëßC5b&qÉ >1B^ í}|Êk‚Ck[]Éÿ¢Â æ¡–Š[Xˆ• "WŠÃBZKÞ°¤Î†à%TI(„D˜mœ]ºÀx²ýžW°ðcx~Ä>s{ëÞ«h=ŠU­ }¹2ýÌ iHÛñ$M¦ªm˜l—ìÚ*Š÷@–L\Âb(…AYŠý:ùF—Ë¥8ÿ”á®ÝüM[_¡ÜÿOHâ­è²‰(TNÓ®ÖÄ0:äÎʸfdG*U¾n7ÄVeLAk$~òí±¬~#dq‡$OÓʸóo«Ÿ«²ˆ n~è§šÄÒâý÷¶Ì%Aü~%#c²‰ãÞÞJ+·¹]=¡f7 @NLgFóA}N0$+íå#ŒÁOç„O^þm'8ÀiÿX!¯´Ç…è€Ì‹©ç÷´!sºG*¸ggµ¸çF™‚úê8l?ºÍe–*ÇéG¦$cÐî]²H.ãv.ÇDë Ï@xÉÙ§DCÎÆ»‘¥p‚ƒ»ó¶ÔAŒîÔCê%(‘T%uÛ-ã³­ûëïo)t¸ºØ®…sØÜCJû¯ÃòG¸þŸ•?"qòÔZlVÙ{ “ÞK¨kËÉ1=WdzæþêV¼¸zü+qhź‹*}yHÌ8 ¨ ·¤dLàµLs¹¤µ7Cû€ø‹çwÕ¶Œï”—M¡DO’@ƒ‡Éšâ\¡œ.§þUüÌÆ¥APL>·CWüÈ#HD$lÇÔ3ÅMw¢ŒP„×ü‰¦~Wå·Éëý~{ Rx—lÉ þ"Ô¹’}' õ#tvä7U?žiÐÀ©½ÊZÛõ\|òjÃn«îC òL¤\ª <«SCçÌðÞéK¼¥®«æô1°±a—çøÊÍ+øùbòb›À;½PÀ:k”ä_ÿ”ýŸ]¬Ë~Bð­¤@ðHgì6r×E§:µ‹…Úüç˜Øsï÷˜Íc—ª8òŠ`C<€Áð)¡zH7A•†Po#2]Îÿùr×íÙç+Jâ–˜Ò,[æ™ÅöŠXÌÃÔ£¤Ô.œ-ãÍÉõDÖb"L¹'^%8"H#ÚSÕ¹m‰«0“l/d.Õ‘Ý•æ.¡_¼öùXÅÆ£ÚЈkpBfñ'I8,§ØN[]Ú2cí*9oêæ êÏ=*”^êÑ„»»§‘ü÷ömLm—¶eEP¡Í=-.Ó?©ÑØÂÃÒD[ R0."aþHN)üí•¶…„¹XPYx gó©xþ0) H†o1ëŽO©)¨£Iºtó,„ ›‹,TÑ¡è‰âOæ˜ä¿0±œ¦è)–=ÉžwæsÓ†Á«a™:sÐr=N› —䈒Ëx©4iuC¬•Ë®+ {½ôh=u‹Ž4Ì-ªs®¯;ÁDhB¦çMXdÆ[foÅzdkô ¦£!…3ŠoI¹cÛ]}/2Á?£| çåÒÀ¨(vgw5=ø¶ù„W®pÞÙÆŸ‚%?lúõà"Îç`­ùÓLBÙ¡uÊ¿ˆß¹ñšæóîæ–C@©ÝŠÍ×ò)ÊÑu̺Eš|¢p_ å ŽìŒß„ƒ€íÖýœ²ÝCW&Ãõ€>8PR’‹¨ Y%û:¶›·á»­¿â1ÿìí'—õ…îþäkÒ p©PY úDÕÙ·aýAÌdôfÐE*¨^Z‘mxSr§}JNxÆC°Éc€EÖ x2¼$ùŽåà^ÅD˜%C;êÒåãYn©þrj¹ùΊ|Y›æqªÿÁ˜ée r?"Ç[Ëg;œQ«l|PC²[ø,ô¶Àà+õ¨¶?êŸþÑ)û–­~À¤'æÇ¢q×CÛßY2 ôõöí{½ï‘@²éºûÔùiK’àÃKjôòc&¼Lص±9BÊë1ÀIUWÓ‚ˆLLùEò!"ò””Õ"×o:(ˆO€M„kE׿ÃcÐÆ;"Œ§a;l»kb>bŸ¨V„¹j÷ÿkÖ!–?‰áS™p àÒsQàAè;`Ç6%8 £u¦ÂÆ¥‚PùÞ fZy—‹#{IOóÉÚ…j«Z€ù3‘ã°Ÿ¢8Ð2$\´1•v0M`à¡6²ÌGõÜÐz¢S"YÓ?PÈZæ¼øÎ¿ºI~ È­²äòŽɺ^†7–}j‡è‚gÔ 3ß§/?¶=늒Ð"iJ4©ÿVmˆ»FÊþk­XÛ'2óuÕzJ-6Åð½_Béesëõ¬Íû¥˜î‘£%ƒ»Ößfúh&à !Kçób«R—üDþ/ÿþì+­= œu<ŸÀ=p”Î"óа(ò;Iƒ/F\Ò9ÏiFOI9z3äâä‘­¡‡–ÔÑÌÄÙ9N'M‡D?¥ñŸ[¹Ï êäÖPyGÞø`~Eù oåĵl±r´AKJ¼V±qGXiã@30E›Èÿð9i î¤É¤VÌœ…SÛÍ)ºü¼Œ‚#ˆtR¿øÚâäˆ îêPàUÍŸºèX¿’±ú¥5´ê'V"Ç©Ú#óÑð­«©§†¯ëOÛþ `uHzze‡æ9¢b˜Ï¬«m˜Hý¿ÒTõØ=s½òDEvJÙÌô<†×í iù;Vƒ÷¦F¯Í1bº®ó„´Žêó²WZ*,6Ýé°³1õu‚‘¥Í¾k/=~!Q‹ûœçW4M`FY¥l>uë³[7|ôC¥µMYle´ Xf?«ï¹ÁÖ°¦«¢þ@iRƒœ£zõù;w(’“¢Vžë“p*Xo5]ì×Fpè'ÒlÞƒà“Që6´ fOL7ž0¼lˆŒå¡=#£¼dªMðR Ña_½ƒÅ ¦[Mmù×½‡©Gu#Á £m )ÕxT„Eu•²’_Rñz¢ÐS3lYowc-Ÿ‚F¿JÜ[A¹2„;ðp †¼^³!,ƒ¤«f,Ïg~YˆAZ–¹ gì0)”yíHÈt_!À¯œ:ç«èPþ‰ÛhгZ /×O(Ò§0€D[_ÖŽüuy{Û}ÕB4ÆOFÛÇÈJF˜µP©}¦¿*;t<³¯³¶ƒ|aìg¬òP™g'êfýe\ÝöüÒ7WÄZ}ïðšÜ…á…aû‚)‘ʾŠS!/c’ôÚ"³õÑ#cª6~z΀ ©±xK©fU—pÁÕ†ÿýã æåï&‰ëq‘åÜÁ² IÕMSd¡Ht¦ Y4ÑÊ(9#¯y̲,@þLEªÖ “èR^ÇÇ.ÞgÎä´ ð$ž ¾'þMb µqq5÷ô w#:0t`1¥‡ÍV­oOMœ¤Æ$yµ¸s½ }P[XQ7R¢Z.}N[b”ðö#‚nÊYÞgÓáx LóS®+Qºî!'§Qš lêÕíkmäJQ‘›[b¨¯L–¥§íjÏcgØ›ÆåÌÂkŠRÁÛ?‰OzÀ¶c2´îw{¤ÜÉ¿•Õ0õJŠmlÙ*…[žÀd ðmD]6K~4ò‹ŽUƒЇ+0ªY­ ^ôo¨“œ'˜OªHZxÿS8ЋD¶¸aÂpѰØi ›m{@ÆÂó=DQ÷­ ÿªÎ¿ŒËPúN ®8—t`l—{ŒY_a©UWÖ–æ™ñÓ•<ÿè»'å0µ6’aÍ"o$ìú;;Œ+=h[+Žçnó sD(M.i^#_üÝ{Vi~²æJ¥Õ]©ï ´otx¹Ï;ØPû?/M_‰&0þj€OÍ-kF¿i$ð×gkËjàhøwDc3mȄKœ [}¿6Éç9[Ø<Æ!%wãdþ²¨ª|Û¨‘ž(·òË%`ùå‹. Z#Ï{ÐUéwZåü#˜U·åÿ/? ˆÊÊ0ÐWö“YÂ*Ê2¤ñÇüPe<4ÐÅÂN’ ¸›W¼Ý4,袤ʱËw«Ó!”„ß+À/µ^¹¬Eë!O‰°qƒs?U<">i}~N"{Õé?¼d®‹i yößõ*©Ø F÷_Ì]öî.Ǿ? +ü×x± ̢䪹½Í)I홀¶ „»û=ìÍ=´güÃ(»ÎoìJG%ÚY1ŽyÙûdöïÊd%ž\ÆÚÑéªñûp½dg\][-uû7ða=$œq…‘ÕWMÜsTjÀ=©ëïZµü­°åDÈ6lš ÐYƒ)˽ ¡ËÚý‘—}¤µBîxi,›M¥óbŽ“*8-Шm‚J0¶ ã,“~¥¶7×›\M#öLï_ö» ‰ñ]¼÷Ðÿð‚û¦Úa³§:´ƒ*.cÛÐP¤/ï >Ü oõòJðbe6› ¶¨Ýk®M“úÑþän«b⥒ÒW!ævuņ7*°L œàfà‚kƒ§W½B¸æÛMª´wgúö´2FV^ ôb½9ÐëØkMþ éÇ–¥ ¿©@îÏ#>@׫¾^تP¦À-‘¼ Äþtñ ”ü\¯bN™Fˆ®Çuâ2ÐOözò0ŸY hqKU@ž›Yôy‡ß\ôÃaöÛ2· ±‹ÆD;¼›«ì4àNŸÙOjË™d]Æ|Ë#r9<„ûÞd°a$М‰ l†œ ÖÅ€]é»àÊ?]‹(ðÀeþó–ôÁ­Â^dcU‘Îb^¤£EŠ»ªgO¯qÚÊ6Ð\îpDy>Ud¸ [º:·IR ro]ýDs «Œÿ»)Ò¾íŬ…+MÖÊr™r¥¡'ÈpLÓ;ÿS Ã6ÓÊ×Þ# *•(zg^6Ÿ©téfx1½i(¡OÝ“–je%܃ äÂÕĸϬr ][yÅ{EìZ žbÔEkÕoO®0—Ysí´UZ™ÂÅ÷<¨ÞÿŠÌ*=5GD¡ð4‚[Yp1§$[¬˜Y¶Cw< Aké<ï»ØœheÄÂ?_HÀ ¶`ê2A]úüì[+CÓžuøWáà‘NÃLTŽÇ÷£¢Ä“þ`!ÅÂZ1øTwä20Þw¼mèΤC/ t…¦RKóI7t‡_#¸– à?®_GAš£…ïtËø—þñ¬Öƒ&S9ç&UòŒ–Pkyþ,ÙaÎ{ŠTAUý[þ°ØÚO¹6ÂÉqFÔÿ gh¡oi È ý@”}ê‹&Üœ‰Áh|‚ÄriÑ£å}zrÎ-fuæç°ü.ÕQÐg«Ä ý1c…79¹l}W[ ¨XU,$œ¼Ê"%õV}ÊïqLU"È60*ÆÇ‘rŒ{ã?)ÞRezŠêã}è†:øZE˜Öæùpò†¶ñEÃÓm•$ƒ+¸µÑvþ!…t GÉ2fuÁÄ/IÊÝ%?Ú £þ²}Óé§iwàQ4°­ šøtcY…ÌŽÁC¢ìßdU ]eŠ;˜¶¡NË™_œD?ü©¿x¾%ДÒ×ÀÄ÷?o*í»8šµ*‘5\O:ر±0«¼Ñ|_êðì™@YЮàºê¨äùᙆ7<ݧ‘ á ,r|¸¼IÖ÷£ùÎ&&òLƒvû6 rìU,J×”l®¥á9m¼ÒyQò¯žuçz•Ì$¬³Ó…(•{É©zZ-¨ÀK¬lq\Àᢲ—SðßîhI%ûDöÚŽµå&°$4ÐW¸ Ig••RE—{Œ49krã@vYMNQÒo³‘»m5Ö˜WÙ™¦\Ü©4õšü8d~k÷mÂ9b¦1"ç1ºg¾Kü³µÖ†Q"ö(k›Ï, Ëq{eÆû¡/Éïp LÎ’mï(T«¸ª_ t¯O}”Í]v4o¹¡OHÎú…»Í–êðŽA)ðŽÿóXsèHDØ2'hÌlÖMH>]Y¤Z€žcÓ‚j‡$xúËžÑ1½+:°§ó©¯xצñ[t9®4¦ÖVPóø)!+йªsýŽ€ÍozÙ¨€#l.@ÃoüpÇ)uêœ6ËÀjTü@² Ñ„ê,†™^K¬®RY“°c §¹<üÅÝ¥(ܨi°Ò¸ŒÆ$›•>c?œÛŽÙ†“b£–L â_@¦#ëNJÙ:žÉ‚ŒËR/ ä#ž÷®}üc½Ädû½u4'x…“˜u`€ Ä׬?ç<™¾øðØé–×¶¹^þÔ Äë*ßF|ØÂeX}xôŒy!ÊÔ…[èÿpà Êf0Nÿ—Œ‡&)káxÎ*(ÏÚìCüµ,Ì8ŸÏÔê¼D©Ä1¢·Ú7àÌj îÀˆA‰rø/üAjsP¦•誕{FÇ$"ј3³ó¹äI×LèÓÏ0X¾D¾#Rm¡üÿ.ÐESÓŸùÍûhÃ4ªö08`ª€&‚ûö’Ô!êÐÆOûÒXGýÀú¶F:‰pŒ$Öòf“rÔõD9wƧùdz‰1šH$WæË(«9yþJºDq;iÀÅë³hª"¾‘߯{¦b­MEV RÛþû3ÑEц¨î{`/³f¶mP0žUuMZ5€šsÔ¢ÉßK‹¾®äñÆìÆÿ¦kwï¬ö&«€»Ñ}þž;`õ!…y•ƒ n;¶K©ÂxÃÒþÖ‹ Ó"OêÙ[>ïÈoqzSŽÞ¤Ä8z·$á×:%–›"ý‘nÐ¥Ë6Àg«@è› vDû€Qèž. -‡'oe;]4bV‚0-ܤž-ï¶Íë)쎟ŸWåÏã ?Fn5q÷QJÄGH~OX}í©…šÕ•n¦x\yîÛ”-î#¾¸w¡ 56ˆªËuAƒí¤jR|j$œ«uIóhe¶ %'ið…Õ1ß§\&ï Ø…ƒ HNU| ›ahÄF±¿¥zù܇¾Lr#õ[XWá»—œˆH ‡ˆš—R}Æ©œKn`Ùn/·J?ãÛ2Ы0K{²7: ƒÀØ]ÙN2´ÑuBËIµö ÏiZø½äk{ô+ŸÓ)€\œ¨,ÂY’y°æx*ü ¼X¢È²õÍ8ƒöÎÖº»c|e6„!좖qž ùÚ!ÝÞNmx¿ušÙ~Z»9,t³”\Á»Iüõ)7µ· ÖzUŠä»M ^|ëØõó>H7K%üÁkþ[=aË{P= õÀú¡\Ï~³ZTm>yÕMåž ˆ˜È žÆ ³fD!šÕ£Pº­õ.ÐʬRù8@N>c‹L'±×Šž‘#RW¬“[2Ü:þ!y[BX B­7ÌĘæg$U…Hü¦›?"]dgztºàcã<«÷L‘–ÑìΆŒ ÑyË(£SoÃÈ:ë@FÎÜ<xÕ,œº){–²„C8´³¼7äµ÷j:Å%"ºläï=®ŠþîáÐ`Ϻ¤(;ùHö~øYR8‰¶"büE>ò|»b! |›ôœådN˜›dOCÖ2¨Zy9U_ùdC+K÷ZV!îê©¶øç«tý \HÑÇå‘KÞã ¿W*2Ðd9øˆta˜'ì-î?ÛOáy.†)ЫÖö‚ö×ɨ$|Åcœ'e*’À¸í¦ÁÛSÉ¥KÃyï•™ÿx}eÒ“”ÆF‚Ol5>öUq¯®YÒE‘á!_Éœú 90«ˆ7¬ü=Ïõ*Ø8J4wÛ¾|Á™³¤IÞƒgŒ#gð/É?ŒOï¢/í˜xy Æ„` Õhè Ó6 V-×ÙÒž^›ä”7îÜV¯Âݘûƒ”‚™6"Tá!Þãf…à`:” ¤4¡Û ¤0 ¦Ch%Ðüc|ìlÏ}¯}+v¢§žôr>ô¦Î¼š†‹ä誻;”ùa7ì:Ü'ÈÁGþl˜ ‘ÖL^»/ˆuŽEÛ*šìªIFvO²DbA¨òÖœ’ied夾NÊÞPüƒä:¯‚Œ¬Ðt)oýr'0€Ã%ö º‹ÂšDA"1Æj1¹ŸD;“rœZ¥°ŸMᢌ–@![!3Rç»y/ƒH½¿ü#N†1»rÛ€ÎáýpÚ ™ÓsQ[é;EŠïºzdàâp˜1 öx²v}€6Æ÷bÜ·Y!“6,F n3{†½ª"Q¿ 2÷,Éîys*2ÄrRÜ ôä‘RQ"ññË5s\]ª`ÝiÀqö멈¤{1‹¹ýg!F„/ðòëôç2ä'òÝ6/uòfÇô9[«d“Ì9‰’ÌC®RQÿƒêeC1ØÙ«‘oQ2À`éÿí4Œs'exF±™çò±ÒOº?9ЯÔeØû8[øCØOõKº¯%¢²ëÅsY¥Ö£ky¼ C½äñáa®Κ56 Ä›î,­Ý,k¬ùÿN†³ç–‚­½ Ñw:º0[¡¨b½‡e)ªn‘fjDŒ¿1w5¦ŠÍ(ƒDæ{”ñµê±ušVË#:tj‚r<˜œàÇ+-Ÿ6ßwáÕ×j\Ϊì‚ñ }ìØû¸É8œÖsUžù= êTH—­ÜL†ãØÜÚxa~·å‘4 üæ~„_«‹¤A+NR¹ù·¬ïIÙÏ]ìòÁ\Áê_N˾™hꔦld|X]Í*:m)‰“Ì.´}º¤tÛg&¨fÐ&/¡ DzxϹŸï+÷ÍfH~–!/v@Âø…âcÏOÐ0Í+mÛ»óŠþŠ™Z¡1iFMU8:Ñ^Õ/(±ìQ¦jc‹k@Dhõ ”Áü-ÄX*nƒúÑ¡=¹~ÙÑ6Yתlûÿ˜©¿ÍH3]^gºÛÁæƒØA;'°°ˆó4ñPãìvÙ›PÖ©ãý|ÏÎ:Õ3òàˆÅl‘ ·•q_ŒX7•knˆhnW·ø’qHp •‡ÐØL>V§‰?àx9P¨™ Jò,½©ú¡ÉJì 4 ·!éç<*H싈]®TRE%¤pÔ¤nÊLð1{±(ÜëyÀéF:“Ô¦ì{ F̹õqì$DU1éG Xñ–q ×På¾´øñ§Ÿbû#ëo£"äBÁ2˜q:àT߃U¯Hg\v½qX Ã, BåÈ4Œe£S£®³Ë6Üøùfáôæ_ûÈm“²à¸Æ[`©éîÌä?9$°ˆoñ‹$ 3ÞL–UZ1v†¼²AÈ{If®«Æˆ¯wÌ¢1Eäd½ÎµUƒá9òWCø1Â|\“ß/¶®ñ•¥rÉüEÍPÕþ½/éC`ôl–{’üíÔB$–-ʆ0q²¡ÖX܇iö}æ[G±(JÀ9¿Šsz¡¶&û¿‚©Âí5ÒQÝÛ› ²œnÈá¼øFhÙ¸³,=O±)Ñ#ôÞçrÇįÜLäƒ'hgqN¢ýfGƒ*ùucbÞ [ÒT^hû#eðfQ/™é—®+í5™œ#Þœdi1pŠ‹ÐY¼¡–ÉìV¬ÔR¦|Òâ3‹Û?̧ñ±HE(>µ$–cd X=“󲕿”!żjbî7Âšì³ÆV¹Ðg,°NK;Šd#áu¿…éøùA®ãqÍáû'¬ V0-‡§4ûýéÏ4AK1ý!0°3f¢d³Ÿ¬ð×X'·lºüø‚ñR•ñ²ðŠ»œXQ|/tÛMê+n\Z–‹xášB¸¹+5$­1¸µÙ§òT2”}!,š–qç’åœÖ€P£ì I£ ý$ãs†/ꨇ¾AØþlᚊØà­ïŸn˜ëvÈ>478Ń5Ê!Ïa"SÒ:fÌ—hJb†²ÃM¦ÑôdœÄ¡5„Èô+ʵ+“ú ‰dÌš’!‘ÐÞ`àüÓ,á5Î$÷}Ö<àèÔtç(Ó)~vLp@xõÉ@¨½2ð´‰XFeë}4ÒNúb6.VvºEÊ1œíCö®ºiZØ_Áî2ÂÓ-vb:£§D˜–<÷¶á£¦hƒ°×Tr#¢qO ŽÛ(ò Y™Ü ZgÂî8Ì‹F­Ö¬X Uì¢ë¢®Z†Rj…¡"¯áü £#å"Ý$Û1 Ç‹( œÆ˜ÈŒ î[¡p‚Lšñ2WŒ½@jOVürfÔ Çö| 2Õ\Yëïl›¸ä{†,ºÊ»(¦ØLYÖR"“™rKÛUiÍÑš4™½% …6—³å'WÊ­lÁR ½6 ›º&¿I|Ì@Ug¥0)&èöÇŒŸd%­»šè.…<±Ó ‚ääP #oÌ7N+ÿ‚ÿ)jOƒ³ îu*i ‚úßw)ˆ f­°‰±|4ˆñõÒ݉ˆþØ„¥êy>; ŠÓ ¿É2çÚë¿G¯;嵕Œ>½Õ†¬h èD@Ÿ1i䘣aÉÁóÉï‹4WFŒE™Ò§NýSz Ÿ;ô’X·ö:ìˆ;Wí±ú)LÙ'%ìg-w¦¯R@™MMv>Í&9‰¬yc0¬¥¤Ø¢þÁ›ŒÊÙ7Ú2™])É`¹¦CèjÇ'¬:±Ks¨¨½;–Z[B<꜉‰W —‘oœÖ¦T?iêfÍ)XXÔR6ãj~lò\ü$‚kWÅH^ΩIŽ{D)E,CH½“SÏ1ñ*Œþ½¼ÛI—zDW-úêQÒÍãz~ñ;´áÔ|åUpê˜fwÍóÖß¿ƒ…´ œQ«YÙ©Ô·èe×½»‚*«¸J±#9yGä¸Ì`hsS%DÙºðïn·º¸“ök›˜À¿"Üø÷¨¤Ýн˜*‘$µsP`àòÕ¸ûÁ×lµÇ× ÷ÓÇȘ Ý´™?µ¢ƒÄ˹I9Ñpëµ}è¹"AašOí1á³?<m‡¤ÊÎ6Iý®ã©íaž4  ¤ÁC΢”Mèv^?¯ºZȽ>™ˆpü;†ù5‹zKJGêO Òs½ª™z؃®Ó7†`"ã§ÔM¦S¶Ôo'øêVßño‚¨¢£¿ç¢}UÔWÂ;Éóê'­ÐõI…of7›ˆªw¨YV’*måŸÝtÉì?Œw¡ÕëœE…'ÜPЏnEФA5‰É`î%‰Èb||[ÀÃ*”ø’!›kjg&iUæ,ÍÕv^Ô¨`ƒ¼Îa¢Ët}(ÁçA&Ÿÿk!û=¥Htß${Udþä€Ýå7Ï!3ô¿6ÓÖ—5ƒž¦C“¾9•‹ÛXˆÞÀø!jä—'y‘èÉYeÞ›~–~ïÎW2ŒþØ^FDk‹ZȠ΀¶VòŸ‡“r؇™þ,š‹GRØÄ¬á|\‡‹ÑD0£­>·4>tzf£NÐÞGµð—PLš{0Ó—*Ô§%³;›ôæò1Œg`’ö¥b¥&SK›ÈmÚ®¸‘¼è‹z Ë:ùŸ¸ÕšK\3.8=bBÿ¿ÌŒ :–GtŒ’á Nå¤l‚EîÍ#ÑXŠ$Å”g¡9¸P¿Ç"â>nb!¦âI†MljtÕÁƒ{ݨ"^*¼óO®4,^EÀq©À0sF )'#ÏNzbÃÄGÊ-d­$’²AýAºÑpá=ü{‚è ¶`r9- Þòü£æ°b?¿Bñ’¸Ì â8÷ÌsØéÂ)ÍöOü’F% Ç€ q9‰Ä›3×gk)‘äÒ×ýLõ;ÀÕsÿbî™V¾Í!íP)Gn¶4aäy˜`Ä’¬™Ë“dGÓŒ˜i+ò;.LÿWõU]{é;ò$Ý1Â#V©™+ Ùù¥Cå Hÿ}†l‡,:Cù ÓÍ^¤§ qö’^¾œ"€¸ìbnÆ-‚ˆæ¼[]‹m÷ê(\à˜Î{—%UìmC³;ó¦ÜïxÿY«:——D”[§è!@µ!÷¾®½!{5Ïó°›øÅÅ!ˆ:suÄêU2ÓGh¶u,þ¦“_Z2‹ õº‰ÆdÞgcQü=Ô»62µA z¥’+xb×Ú™ “1œN$ögIñ))îÉÞétϧ …ÒVü³^~òÍJ%[âÙ#ø@Î .•÷Ò„pøÊÊMWŒ$ygBá¬?T‘uË–Ù °ZåžR”y¶s¿ÎtOd’NË;…Ñ„@¿£‹=êWžðsÃõ@ŸK„ëëßݾ31––²ü¯fiW˜S—¦5éÂèç¡OS’dô|Â…kVßérkÓ£¯Ø¶cIÀ* –òc+<3ˆºS)©·àË•´ü¦ûµSg¶€æ”5K—ú+0~ü­Þ$«Ìõâð¸ óMfÞQùÂÁ–ž 8E•o¼tHÞ¿ho •²•FÝR‡YèéEÆúR¦Fîe-øcû“¹Ó•zVùh[(S(pw™*VðTWOOJþyÐb¨ºuKŸûÎF^çœ8.éØì-œÿ"uuÏêàDŒà£—NRÖ¹Â!KŸ£hbö=ªèé@ŸüM¹MëD´tï‘ÿñŸ~udD5@Ú¹vg'¡X)³¥­€ÎtfèEØç ZØf%]E>]ㆅ1êb~¶Œ˜rf P ÛÄÞ×\mYwÏßXÑ]×3ìÅTÿ:ÂQÄœr4H*'ðsÕtWÄ´%ÆØnµ-Hž!]ÿæ>~Îi³c‹Å¢UÊâx³bMzZí[gr"ß|¾;°\ßÁ‰ˆÓçÏÂF„ >öÚqñéLQ‹ßÖ5¹‹ +®ê:¬t£€ h0Ê( •ª7KŸÉ–ß Z«ª^YÝ?Qé¿îwp*O¼oUÔ$BÂì./3J‰YGè™Øo8EiÜêp‘Z§Uá…r@Æj‚õÔŠè¾_î€CÎð=(¢R@®@ˆÔs&ºý”`®$į‹RÜJÀŸú%-‡1(¾9}þ%Xkïi¿® ìktÚ/JÕ”D–#ƒê˜PK\2P€žØÁ^Ðu’Z¤r„ ÅÑ |èCmv¾Î’ê,eŸã`™\`£`kCÞ2÷°_ÿ»Ù¾PÙÛM!~ "V?µÀ&k\JÏi)9+\L?«å¿"G[81T:Ÿ%ƒïFþ({¨à*ôÕÈ‘3b™®4…’ †$#~/zÌtA\X‚¡w0”žjã'Rý‹îü-}´ HbÒŒ?öù¼_À­f[ðF¤1Ç•|EÊ1€è©&3ŠL«/D—.Eò‚×úÚ¦&!߉Œ {²ÿ9±ÒÁï½7aÖqv¶áE޲¼~i·/DÐ]3Õ—CÙ5NúÍëwô¼¦À!ä>ghoƒï @'2Xq6½T„ˆ÷ÃÀnf>ùS”4Ô +Ò¦E:Ÿú(ÍC¸Š§ Ô%]¾CŸ¸;–É0ï@óÀ¯¤Y^à”äœM_töÂn2[ýÝP¹è "B%·5%YB©Ø¡kÏ:qlµží&T{Ÿ*ÿ"Fy3†ñRîzVÔ/[ãW^!Ÿf¯!˶HÙŸ"s›µ`U_ᤙW’^7™ÈŸJÊ Ã.VG#ÿñbìðxòú¶Z'õÿU!™Üf ÄÚ›$¹“ÖÏ6ñlû"%r—3²:Ëà‹«S£W÷A£‡û1{1˧Ÿ U-ˆKI.Ëõ ª/a¨l‹›A á±–a^ºÉ¤¸å9X–‹‹I°: 5¯’¹åÓ×éÕêÛr²é—àè{2@Þ³À Èq«aÆÖ³„ ;rb¤@ gÜñVІ¤ÐŽžö>eÀªÈæ¶4ýota %!i2õ)3Æn‰$%·²(Fœëç¦Z?|wSÖ~E,ë·ŸR¥Q¤ôu›û]˲f4ÎÌYŽi Šû¯†Mí5>"ZyÜ…=e,åÐY9VåëDJl’~—×°ñ—ŽU Õ˜}Îð¯•W«YXz~’÷M>w|ÔŠY'Òè+‚dËjXcáÒGÉot„ÂYž²üÒÖâ×/?;8úíÁUì`]yl´=õ¨¾#»ö 6í'ÚO¡@xCW=ÈÛ"öâ?«-4h„SàÕ®µ¯æ6„@T‡‰ ) äܳ§2¥˜ÿ…ÿ8à”™F÷nà ¢)÷MLY Kbâ{šª<Þ§±®?é²~¯-²A•—º®;3«óñã)ñËâ…]q°Ò%¦>©Sí²'¶›c›¦{B¾Œñx¾B‹@tµ!FDCËo÷t&øt”ZõÓ×8áåuãs|ŒÝé93ïö}ÒÝ[7 ¡£4‹YúÅäÃ=ÉËŽáÖ#5ÒÏò¤³©\€d† ;.˜ñÛ_ÜÜ:e9˜Ú3ê±ì‚l´~NeRPœr/6kÏy<6ºÖÈ­ 'Øá^Š ›ÚÈúO&§¨íœ^ï©|ò¤|h4CàÞÓWÏy×dHÁÄ–Æ/ìú¯ý6 ÜY\¤d•ú2Û¬„$Ÿ3ܘÖCú†Ò@DÏ0¿“Æ5U¹§v¢R™®êÍÜÚ' ¥þ vhÆ}ÐUÙüÇ&à•"ïr-É “aÎ^‘#u±7iÖ¿˜æq¾]-1¥(¬±n¢r¨KçŸ^ûãS¨VTó{Åhu\ì¸Ê÷g'˜‰_{Zigªnº¾½Å>v†»ÁÜI.ÿO ¬)!ÖG/lc«¸šÖbßÎG¤!cH.Å·;Ê!«!Ï4·¸¹‘’« lÛ=çêõO#NEŠäøÅ‘Å]h¯ŠòEåy±ÙÌÍ1[±2 m0bs$ï^žYÅlß;yÙß_|àXþ/ïðɪ^·ÇÝo·9Øü‹ÐXË·€ºŠZ{ó&¨h»kZˆc×6IZÖøâ­Ã@ b,m3u£g4™ŸM8ÞJÏ„™L.Õ¶†‰È!ó@=ÚßÝ@ˆÁ!„²vú‹1í%±Ëfeõ0EXÚСt$ü%-ÖŒéS]¼„± ŽM…A¢©”ž×°’&TPÝsØ fyF]wÀxˆ•ÛšôÉéΓÕ{Wɵ©·³©Ùcgvàýª’æþàð€Rë™ìbëM¾šDHµß˜zpÙ “sÿs¸÷¾£¡´eP±°Ë–™m F…äb+ ØYí7x/öD/L<@ë@Äsiº„ò0¦Œrtâí4=ŸÐJ-‹SV»æËªEbAü'ÿ¡Sï´iƒö-gbÛâwA­³2Í=§v.^ —]¢ža!îwºçxE÷þ¨àà é)úÊ]éî8›Ï:F-­ +VN½)œçb°¨ëccôW3Jû:©7Es,‡k õQ#.®VÌà“ÛlO3cÔ$ZÕÐËêÚr­³P”ø]ßn²[чsĺ9V¹ å§ëfuL:©gÂ&€tQcdøD‘tÏ©êR¸ËÙÄž(¶DqóAåFn)&Xz¤ÇÑ5¤–]‰BJ‘h32·ôÄ[Y5òûÏ=òÓùIwŸÁáe…€YnvØÃ’4óZ0Ùa=MÐ. Aç;iø > tOX'ÔÒIÄ–XÖ„?ˆ§“Vï_CØ\þÅtqºŽ¦¥ø$Ö»Ó6v_´[EM·šK‚êé¡9ÏœK[†]^°Ñ¾gަEÇ‘™á½‰§ø6ÁÜcö%¼bô@È2r …’4vËË%—)àž ƒáì‘GÆv›·¬ËÄ8ƒÔ»ò=à$âèeªŒGi~êˆûÚ„fGî¤o›Hë`}g¸Uœ*4t¶‡Ó®¬WŒ@ÌíI@ó âo{C^»™?˜…:BõÈÆÃUHŠõdØ‚mfíò%î³2—àA‰ü¼ñЉfzR%cfDú½gpÏ í(£±ÇY|J]ggÔ<$£Eý¤`öÄ›÷”i}gåÛ`Ù„êp|íGÿ°n‘G£5¹þW?cFŽEÃãXý/»†ZãQ¬™ø³Õ:K‘C†¢¸“v2Þã½}"¤(‹ñön Å8A1u|Å %¨ä¢À°­ìŸn(7^#Ò¨ÓÆYø";Ö„¥‚@µ³õ$êìs*²JÞ‚™‘ìÉâ§ÔòüLÞkâ$–Ü=X¢­Ï­w®ÝŠð›“CÇÔ(#Á-íìêçUoé˜Á_¿ü j.=ö†`fó+Eæ-~Xò¦„ð$‘Z“çF=þÄes@¤2q䜛}‹0cïŸÃÐcö—‚o4#Åo®‡A4òäÖçQ=Zð÷ï¬J Q¶7t‘ñêúÏÓ¡yU•Ïãà¹m_q½r¸àèÈ––w ±hža7QvÃtÒ‚l8*ñ”ʬdlá«Ì€N x‹¶è§³åÜHYxµ¨ü„‡îúq¥‡1Í–àÍIϼ16§SÍPó&^rõ’Éžâ‘gxo±_yce%Þï•®ÕÀcEFmÖZ¸ÅP„ ËœÂ%Œ|È \ŒËÕc¸PéšÑ™Û(±T¬~._ΧS·à]uPœírÅG™Q8†ÍS•µ{ÝS_'T§\æb¯âAîq?MU‚–àÉi­OhŠi¨óÍΦ2De7b¾ýÚÓélEU„ å,‘ï] 0»Ù§g÷Ô¤ÑQ€ ¬kOŸ¦eéÕ7 «ñ=ÏqäyZTyôÆY·ð2ˆ}ù=i‚p²·ÒP‘}1ÔÒš[jË‘ªûg_-¥ÍŸ„šhçÉ —››ÅšŠŒ’<ýäÊ)>” obƒîÆÐ00­(Çv…=w:J­±ÇÄ”‹£ïÄôrùß(AνÅU€P/² Q j7ÙÜ*|a$Uˆ×qBÀ¡€HÆ™¾Z¯kÖl~Ê£eêÐy½×e­·^c Å5àÛP±'4sX6:…—-öµ'w@Ÿ±P°»3ηqV±kRt¦Ýµ\Ùñ¨ÍU4VP™ê£Twèy]’°ø(ñ¤ð4†håKæ ÐÜÑØò#SôÚ±ÑÙðG´ömùþÜ(9C÷àØ sGц¼JÚo±çîãFO_Àÿ=è^~ºÐŽ«\®Hñ¡°€çÌ¿,2€˜EpØ£ýPw—BcOkïo§z4 S ¯?FÕÈæàUŸ'˱¼(«¯(T±±,ÖÙd¿ªsobØþp²'<Ï{–©ÃîL3ʦ¡p¼«¹Ä»µ¡|Êb³Šb9Ì¢Üß⦅‡³û°•µÄµ 9éÈñâQvb‚’Uwzgo—øË>—Är™#¹$°Ù‡åN4á³RžâT— òv‡gi€KxiÑÿ(ºÛ*ôr!'áÜl>Ú¢ú¿Óm»U cÔ€®)®¦ßõâÅ×ã®'·g%ÓzàÆ,@×øM ¤Ö04t5M¶”÷k~êÕp8Æ$>¯OgM”›w™ú/L¯4H;†Ó />ç§¢ç弾๠{ù˜s´Ú®ýUø2$í¬ïú\OêÔÝÃþÔõjQÙrûøÖ h‰žp¡åq¹,#ÉÖrðÂLô®Ö ÿ·[Òt›« ñJðëwW@BâyûOÌF‹ÙEàüçD ÷ýR¿AŽËèS…k„Ášƒ[[þi=íˆF¼¬eò÷öÇÊÍÙÅ8ÙëjO4öçêîj ðSDºç}ËW‹Ù!ìGF ÿ¾éãÒyF ÿßPS¬ ¾£=€q‰)Rˉ@ç•.ÉÀGdGƒ{ŠV5)q†Š;¼ž >Áµ~'9C[Í®*Ê:7IG¨ -„Èì Ѭ2(Á(‡lïï»±‰?ǹc¹»>ÜélËhú¼ýóßâß¶Ä” “‹~À°f³—T»aÒÌp]z¿‚ÛŠ&5Uk°0²ø¾\Ñ43±V9ÄøPLb!E² :f|ïÀÎÂ*ŽäÄö¦ü¿•s7;öômáHƒÐ+ßR RfèÓ¡)éæÂ,ÒM¬G‹}Ûó¡ä\ÌP´*=}8e2Ùf¢9­öÔ;ˆûšªê·ãxƒeÑH¶x÷l^ÆÔ=ïð =̇Ábþ4ö‚Gxzå‡I­»µÍ쑗¬Œu»ß–ñTeÑcUHMÞñˆÂrbêŽpÈŽ¢ ÷[T9FE§G×ó„`ŸFß¡ý2Ló ¸ÇNÑçÏïˆÅ—ƒ¤Íˆ˜™çr½FsŒ@y?ˆè{ñsÔW øµãqW«¨ö³œÄVç0)5‰Ù…°dyJÓ`(„!´`„%o,è° ¥–ª6¡ oOÝšï#ôe 3¤+âèw‚´ þh|ò[;[ü.¯WÀ󡍯nn»}® ›|J-ÿ°‚ü¿Nö¬2ü²†¤ŸÂ™N\{'AË¡_­Ô¾’àR=ùIÓ _ÒŠªý¢±<Ÿ‡h}ë¨%#Ì´“E–¬šÙdø·îqòÿwvZù6žÒbñ¦h#xçFñ,LÙ»ô*<+£¦–‹¯1¸Y6‚¢s¬¬< xPÈ))J€‚X&ÕGWði¤I1mëyŒp—Ù°%aÙ:8M5ÑVÖL€Ð"¡³«OM¯ê§?4îm·L—PÈ5‹=6²a"k‡fY2q+èÉìg;3K0‘9ž6bf!ÝBkê µPG›<àãSñ`T½ŒB¨š]HG×BñÀuãV’²Ë%»o²)¸&¹¥hbJsW„g°èõ«:‰¯šç¦*£ç,3û=û¨g5oÕŠ¼!ñ> ‰ÐNH½’@ò)"bÌ=ÛXv,Åu^âzÄIqˆ*—Bk,IGYðÈÙÑ#©{µ{÷©œ^ç$ƒË¾É0 '.VÕ^wç;ο Á›]”ò¨(öü+8dm, ñ!¢Tîv¹Íi.>|ºâÉð¹dÎ$JО°‚ÿ,mvI$©b0 Yõæv̳™‚^2Ø^1œ0•W¹ü1'H/^¹ NÖq’ƒú÷t^hyÐSÁ¹ šzgÂC  t=«‚Õ#hµÔm ;Þ¿xœäæœÕ×f\t–JÏ"ßA¬‚›U°tlWw`IžD}Üz @ ‘S×$Y,ð—)ˆxž¡jÐ{yr‹ŽöH¯(üŒ’pÔ§Ñ4ß¿uþ>E{¢°¦eët4 p§© ý‹µffôïMM‚xh45ýFRÍN»Dû Š0·Âì‰ÐæÄ&ÖN‚Tl÷ds6?y´pÖJç™”wiÏÔssøw!IƒàèEÿ–Ël"ö}‚SåÒ@É—*Š/(íà›Ný¶…RÇbêÏ?ß:a+Cs*Ì~Ѭzs‘Xbåk^„ªb%ÙÙZW絓3p)'–5ÜĨýuF©ôêuØ\- dîŸþRNVÛû;õ°™<€]Þ’˜nhôÝî/È™¬¯‚G½ü0öx. §SÔY@\§,OÆÁëʯp(cõ£ ¹6Ž™dðPHmåʤÝ…Åx©Ýž;OÚÖO¦AðoáÁ’œI»1¸ÝÇ/øèúîªbmÁW¯%ô³† Fβ‘z•»ÚdFÜ÷ˆí¶¿u”OoÝé]ˆ7à `ëÓʳoŸô|ŒíÝ–îoRzï «ˆ®û ¯ðùHý¹žOVœ™ x4g¸ƒÏ8w®oÌìM9À—¿ƒ(p`%>õá¢í/{+V)ª(«Hü¡åö¹}ܳÞl1ÁLëùqE"‘ªõ¢Žjºáͧµv]®÷âÄ‚ý3?D¿ÿ¶[FÜTŸ2&²¹PÍ’çy3s<ÁŹ“ÿù(Bì6Ìxò_Ü{dá^¾fŸ„ù+¦žIy¶«i„ýá$×1Ä&p¨ê±»¾3ôþ·BØò@YׇJ,¹~7«DÈÀ¹øá9Éßβõr*Ó{ˆjÆeÎ¥ÅY9K,W|®W—œCEsöršç|òù(kuæ[pªuˆì¥@ŠÃ“î ³ÀYáw² e¯!©‰ê¨üï0eîvÙãCI‰DÄ]­”gѧþ%¬ÙÆÜèö1ÁBÉ¡>ŠØ²ÇhÕ5`ÙŠJ½åßz ühuºþ¢Âa~B¥]ŽÕ~6Îi\–…f 3Ñr!Ü¢ý«?Š(ÁJ’G ló¢™î‡ÂˆÊf®‡ãÙ´FÂ÷À[Þt€Kr2r>´OõÛÅ‘›ûÓk,Àq  ¡o™t ¼ðÑXÂ3}¹ªH,·[y­ë‡ï½b°ù[ŸƒšÒOÅ›oÍñ÷lTÿz?}i¥¢+¢ÁòõxÆaöË­RØir™mðþ°ÊͽˆÙ¡¤È…>Î ŽaYŒÔ½s¥`~xͦÛÒÁp ¢tãLß$Vé–a60 höYB“ä%?…|X›7V µÇ¶®õj©F-4 ê†{ƒoŸ¡¨¯þõ^ö ñç) Ãv•oLw¢®-2ËÈš€)y@¼ì?DËs¦˜bÀbÈáÜ|zG(J—ÈÃȸ¹BÄ>"„jͱSTÆ+ùx#WAæÚ󔯫ÈÅ¿<ÃŒC#B÷žá…b¨u½Éýœe®0Ž,/ „æ/V\ÿwïjÙ ž!Ø6;—°ÙÆŸ¹ìHÞ§¼‚̦±Ø!÷ÌnF܃vÏ}œÒÕÙqƒÓD n§ ©» óéL#™Ðá+ÞvļÅy§m!€PþÿqÎ-ƒsÐ#Š¥_Ì¢ÅV¶uÿ^Ü I âÕ…ÐþÄ uß™H€šjª wµd·—N÷ ONvÐ+S^ù™…3•ãàè ]BÕæð–µä0šrŽ`¿á„W˜¥hPN;ÜÞ^’3´lôDܨʰ‰XQ¾ûH¹(ŒÆÉ±ýŒž,Y›^,JÏxM7„sZ³@kœîî¤ —©À šûKZŸÈ¬ qƒÔóßÝqàY‡ažYÝÁ6F.Ê£Ø8ˆÊc5.fp¸DÕr*ú"‰‘%Ï•5ß¹ßMO?£¡ê B—⢣Wx1’6FœÉdù×Eü ÎÂmj<äCGÅRу»˜]KƒÑa­WmÖs’¶ÙcëEfñ®5ô`›µ]Ã7V‰%]ÕEyù×Éùê{щ»‚‡2 {]Çu9}*1´¿ŒnWø+ï—0ÎÒª¥Î3æ++­.ÌÏÁZ‹Wš’ì˜1ŠØP%b“Ì'‡]…<9#~g èżÛNœ6³&3šåPT[FÇrhä¼ßußmhdï%Ýò ®Ø*w8i(i†̺y+,?2zR+má’'ÄþYÿ±èI†™î~qì3)ª)#0ºp šy(ïæ“d1W»«LÓøh¸`sbùßÊ~{e({Ý}ÕÌ/V³JÖŽ~\A¶éçãï»V–y•ézžˆDªñ[”[†³¶Ìó2N°5óØžìñiÝ݉´ÁÝýðJÃl¯eÊ­ª¶^OÃ4z㈧UèW¬MuÚÁ¹ô‹¸%G5N3ýn j©ÿá‡?¸i ‰W;(bé7Fi¥&²;§0›+¾¨Û-yàð ¨(PI¤2maIL§­Qeƒ‹N„W²ßjýhÜzì.O¡WÛ9Z¨w·§r*A¹‹÷‹¿ÓJÓ×Ê{>e‹Œö3k—ý—Av{§VŸY9sI[lã^‚< ¯ ǶTdõÔ„÷D멾”#Æeßëh¤™Ø€)ô0u=ôG+ÃÒævËð?Òwß§RDß„t±Ã|I¥àþ®µmF'1È­íí;ÎOÌ¡†84É{ÿ³sß,4ªòV:+•õT!T¡–Œ_0µåšÐB‹ØüÔÞèA—P³®%N£-»rç+êÜ$亷²žÒ^À@赟92­÷pщŠKiÙÄC¿lÚÓÞ ÒEu ¡!ª'1cÛÏXýTŸÈÿíou((9"9ìňtÁQ¼WY0 FU÷ÄÍc¤ÌÝÞ]Y£7ÌÇNÒm½N[ÁÉÿŒõKÈazyþ$ÜÝvNíu` µ¸r!dçgBå :B)=›l+­E¨³Þ½îw/‰î¿ÙŒñöÁ³k­è·BE>OìÀ÷¤ †ÿE>I]ÿ:?‹TÏ™ZÔቶÏEþ‚sÒ<òÅÅÞ§8öî*!GΈ–Q3Rá†SÔô²>Símׇ:T"|g€ˆó¥ù<Ò\>Æ{ŸÍ$÷µAu£Í }µÎf€94úÜúñêšrHsi<"Ç]´"…;jt±W·ÏOTwɇ°T—õT}»!Å*_z–Eh;9Q†ó@ÑO,R±…QIú±ÜÑi;p=[…a_–­xb«'SûÐèLIÇ#õ³kêø¾È§ö÷!//ñú¹Àc¼åõ9þ–AÕw§©«]Ö¯UÖßõf:ä±ùÔî‹•¹²Ø\|,A»«¨¼cSÑ[K# Šaò £ˆÚ…¯3(åì+t§âèÇ*! Èß³(ö%ñÖdL ØV8 Í»}¨-•4[Ó†£mI+„ñ£œáO[4ÞC„!Ó8sËÊ‘µý3pð\öå õ]å0¤°¶1¼:,Iõøpµ«Uw’ìÂ’ŠEn˜R®“zϘŒòø~:¨Aô¹Ú!´ú‡^øÏ„Ó4Q¯Ø3­´ìâˆ,*ˆ<Š…lùÅÝ$9ÏA)72“ÂêUíì3%¢®i|MÏã UN‰2ð/詇@lçUpC{ØRyÅüÂ9µþ_C “IAgüþ£ÂÚ½XÁ–Tï¨QÕ«Ò;ל娒)ìC—¶ˆ—‡ßñc8\W@Ýç·íîay0vÜKl']&ƒ¥ž?³T­[6\YÍ]•¦|wnnÌa²ª­*Ù#ü 8Ê@¯+/"1&JiRÀ¾X•Q³ÖwÓñ' ŸÅ_BÒCÔ÷I×4äiÐ/Âý*{\„¬Óí²ÞVÜŒô¯+δº7 žùŸ²òè5Ž û6†¼Ä÷nyÜÜGæ‘RUä^¯MYNÂéA&c쥰û›d~|=ÀIÂæä„¢P2Y®Âˆ¸ÌGaùõbü²"'ŒQ®Ì=VЙ^‰ö7×ÈeÑnâŽøe®=,†ø* ‡š:¾Ô·PG•×…{ކNÛ§NÆAÇHJ‘bJæûÔ¦Nä›Õ”ø ‡04«MG¨AojÚƒúíA”– =7O8-ɯˆŠ ¼ «¥Ù 8t5ß7– EŸú<„œ‰Ñ0B“hÖ:sНÈèˆh«t\QU?Ÿëm¢ºBgÕ ›i "´IâxÊžÁÆÚôé¦êj5kW¥Fz¿R¶2wº}”¢ìQf•öÏK7(qklÿ;÷äi.ZI8`màât‰Å½Ë´_èy”f!snc¼’§³›~¥ ˆdxíæÊ®Žý7ŽÎ¾îæö90PVa¥¡µ¶ñ8š[¸ŒÙë@Aí«]Á‹Nž¢š¼]5Xzd ß:Å«6¨Ù¢¢;•Ÿ;û«ù ‹†ãf·¢e€—E#\ÑoW. Hé{U¸„m—‘ÎÓu£ôåÏÖÍl-/0í)ÒèAbPmqŸ& ïãœ9Sø=t5/2êfaí[BFÑtÌ ©9U‘d-nã_ð#H->xܲ² €TÎÒºcãü=ßi;ºÃ‚X4 *ó{ÉcZùðÐe‡ß >xRÇÈÐþ-JÙ/7v•"‰Ãò€æ}ì1—Ü=ùÒ•ç¾0èHVÃVäs‰ìðG¦‡èÓOÒÐ)ÌE‘ž! -rÝÊJj Ú“;¸Õ‡«(6ê¬V|Ä•^[„Už7hóüï.Ãt'«YjÇ@'ÙM&ÂŽ>7Èÿféð }q§{©£H×Ïú_lœÐcý5FW“ øá¸Ú¯ò–ú´)Ý ¨ç¬ TŠÔíe @$|}”¨IžÇ…§qØM²m„‹ÄÎIgmó®øMØÒwußó¦ñÆw^Dv3kS¥pO±z mÌmÓËÞ÷,h¥[PïßÔÁ`î®AYÃPºÂÙ#êÉN5xyÇ©U–± ,a3u5ÇQÒ[d£Ãá¥À­ ~wsë>R!”‚ò“Žâ±Áöêt•ìÝÆ§a†ê›5xOS|ÅvY¬%ŠÞ”Tå]1ög(Ù ª!Xªk2Eÿþ3‡™[‡^Z÷Ö2Xûi]&m’,ٷΙé‚QÒ¿=ÿrüÏ_¬/BR ½ƒ¹·ð{Ï)Ú/Éùk²kFQ‘†¬I½D ÌŠØæÒPÈ”³@b–Ò0sÖ®ÑL¤òP«’)¡cTM .å´q õBj ÞlSØÐLäcëSÖNUY¸É}¯£B‡ÂC]Á¿Û#‚qãkðN~„Í—,ØJÈî@Öįڭ-¾¾FlK:µñ_ÁÖÍ™*n3Ð7Ç;Û$ƒËçXK8WH D~Å8N~0ï{®…±‹£7ï’ |çZ;w#üeaÔ õ¼Rƒ 5`Úîd¬é ¯y¨€4«¯=ø#. KÿoÓÃæ…5 8”õ ™S60¦-t/ ²SÉf¶ÀÿÑêF¤T%ÍQ$y6ªažtS–çø®yß@¹œB¢r2¾ä£–TÍ0sèO žZeCPßãx'H½›ª_ÈñË-›ÇÍ‹}¬2žðqAÖúVÊvúØZ I‚QÃçèг5i¡žiÌâÚöL–tñ ŒªžtÎVò±Áhzà ƀéwßt·RYN"ÎÚ‡Ö¡f ¤WnC(ë @-Ð ÔJäªrJ™3)¶G­«Oe[òÃJnBùÖÏ&WˆVsت’)öEì6Òywüw0ôŒcë®i :_:ªFF«ìy4?ŽMû€mPšJ˜\ím±Ä>®`…&^†Ïïs~Ìaȶ·*nF"ÎÜ] }V3%ÔV¨j @«ý¥>œ8*¾Mê¹à’Vã)†>b&ç}ÂMÙHŠfPI[ct<¶·LxAÒž'ãjT_qyYùÞŸÞÖH‡"uõïËQ­ãºNx§ i2DJœ[»õÏ=œ­hOhx† †®–Hºè7a&†&t'SË3Wu¿}ƒ¼¾'ÿWZÕi#é&A½b¯y?´âO§GળÎïÒó-´ípuÎ~¼wp6&Ïn!. 0f¨æõß„ÖÕ'yƒºzz˜è¦ØÚ É$5S† ï™–Ld:,à´cu¾b}£¼Œa-g°”æc{Fq9m¡ÊL„®Skò‡{]M¶ªh½¯qö6”¯zí ˜è-¸Ü[É<çRb·¹ð{v,nMk¨))ô˜ÔÆ\lï¸íO¬í‰” 6 !C5<Ÿ+ØÚUУÀqü¶Oç0¥õH)ŠsþG´5íïQÿÓå¦e¾Þjô4‚[`+ÛÔ%ãq)QË­‚H+{iƬt’Wˆ»Jl¨"Ü?¥C²D¦ž¹s‘_¨šÅt8c‰r7Io"¡aÏe•(¤Ú=›õ™5q‡] oR޵HBæFX}í-é¤vyäî¶ÄùÁÅTEFéSØÛ9ýúÕ÷]Ã\ÊkD.êJ—ÊPÝ`ˆV&9ßx׾ªZwóì‘ÜľØmî}A7&uâÏÜ Þ™²ö9¤¹µ 舕‡}ÓÚZpâøûD ŸºÖLxE{¬úç¾;˜‡Û‹ÿ{¨º ëã[5%˜vŽ-ZÔ ®ÀÐkJ)‚N[K=RÒ‰},À$ÙÚ—™¯³°µJnC¶õ6‡N“)ƒWÃ)§ï÷Œ€ÆþÙ}F¾~q¡$£ ÀÞ‚~lXæYsâ#ÆT”zfâ\_±¯øÑ§E~kò½@9P;³¤Ø"P`™ïÊáEOÁÇ£X¢^+PMLÁ’ásg¥~ܱ:+¾YÉ®lŸaýÞM‘Þ.·ø/¼nþ5vìXP½ïxÜgR0 “o®Bl3\2ì1÷þcÖÀÇÖÀbâ ¤²qÚ»å;€ÞZ®‡{h*{à•ç’ÃÊœÆ_Îd ÐÍyäð"ñÂW>¦†å»½‚ô“‹ŒQ W±<%àÖ•V5í öa®ô¿10‡TÇ´Š‰Èža}Oœ…Âæó±!ûÐW3*ª”GsKbZ˜á묚ø ƒMf1.{°WàA1ä©«ä}Y 9ùf·¬t‚¤Kœ²SåH2gÛP{Ç^¯Fãï—ÒØC)øc!$o>na A®”¤X…} ÉC›ÊKã®íãþ90ºðÒÄÎÕ¸Ó÷2ݶ6‘#ie3à:U5®tesaI­1N.’¬‹MïT\›ËèVs‚i?*¾1V¦oŒ']Ë¡].‚NÈíÙÌc' Ì:¼šz‚¤ëé•¶ëeiïÕYTž°€ƒ+B"=Ëp×®ûàWÈ­<õ¥Mô]´‚kÙFÞG- ³¨Ëý1i}Ú‡VjçükgúÑß“#Kb"°‘øPwCŠÏ5Q¬ÜáÒ¦ÇX¯ð|ž¬Ÿf®š;† M®šÅ’¹ú1)Æ.«®¨šQ~qªÒE ÁhÊ&!h0]¡³OU†2=gª<ü‡!­ð¬[f3É\ÓiuÀ€q”þ;VçÎpŒØ¡ãʆ;ÞaâÜ·Ñè“”Ccmž¨X²Ú|ªØIÃeç½Müä6ý+@»ü'òi.2á£_…´b8‡Ì©ÈÑ…f¡+nŽï`æ½å¿ÖÈšNq‡¬pt‚TÒG{jÖSnæZ|mŠvMâÚ¿šý[ß™ ‰!LÉõk…r GèòZr×ßåQ[( Š"r—1«É ¢éØÞE5hÖ2m€ÒÊtœÏïÿœ\5H?ò’*–GU‡BJÞT¹¹›ÈûþQož'oá_Ÿì›K¿à ì,«è×*Þ§¥Yz\hàXcØ‚[}tãz¿ûw'Æú1?ýÚ“O åËÕÓïWD-F6uYœÄí \þÞ‘FòÞ]xÙ³qÀª´_Qó–½ö¾sf5œ¤‘\Ç¯Ä™Ü dÊàzí”Égªq‡Ú.7ì!CÞŸvÓœúIXjêmËFâ-®#vÄÿ˜A'³#-Ü  Ad ª¤¦ÛKžœ4Ú )ô¦Úä*my?¦ì'† ç¢­¶¬6þ××ÒxÆú¢ÆÒ8cWÑlO–ox&Q—°yQÒlšðëïcÊ&7”¨$SÁd6E0ýO@˜CC÷“uŽ·Rok+™Ýh%òv‰ëÒjÚ©¹Â@ᆹŒºw6|x˜ÜݬÂý6ÿió¯ß"‹ ¾Ê2ÿ0uGÖíä¥ßX—Qõ˜®;¢ê]ŽQr ÛK©²Ò|3ú¬‘<|y3ïØ”ÕöDõ|qv ÙÅÚÄktœfµx‡,QRÏ Z¯±£ƒRÞp#RŒ$îÆZT2Ìoaî\Wš'Õô-uøBUczŒWïëIÐa©áå0@LúÔë$¿”‰(|"‚®ï†Ê˜!Us’Ø|öU ʦY³kΟ®¥WY´¶îÒY‹÷ Á÷ˆyÎmó!勱†¸»ñš\ém+ä—Ë %‹º¼[îÃÚ·T`CL×~ª“ÍÀ X‘S"Wÿ&rƒ¯ƒþ¨…WÔšá2öô,,b£r„º‘²íÉó*Øn]²=½JDŒõ -­ìR ¼Vé ìò'ÇïzÎïòG]Yl̃G ægð[Ë›”êκÓñfÓ`6ì–Òo…ÒnQHZíõÔп(„­œs´Z×ô«û¸uhú ÐA#Lð­ºÆÈ{ta>ƒ\!Û].Íÿ\I a#V,dÒxi¯Ó‘±n=Fò£ÏšD6¼H&x ]ýœ¼F'œõ@˯1‚bSeÙÖhø••*bRZ• òLw’Â4 ˜)-ú‹¾ièÙyG^øÖvŒÐ ‹fÊæ÷Žâ#{Ë)ôy‰Ø¿¿bõ,Óq_± {Uåo¡í°`¿Ú«ÙIà0–ƒ’'æh[zLùÉÖÐ躭¹†Š³õŸ)# ÑòaŽŸÍ¶ü"À÷xµE¹;]L,ÑX¡0ëd¥´}Žƒ{ hÏDðë²aô¥=Ï!IúQB(:õv±5)šNÝH€„šÅ.ú³¨A¾„}?²ƒÎ%¬•âÌ;¬ø@ÚÈí[íè&á4Ú_ù×ÐzÊãhF¿øAóº¦êÚÕ…üÇØ2 T“$q•›\]Ÿ=?´Ðñáž­c½U½êÞRÙfÎ èÁ£oAiæ7áhȧx2¾à„QŒ¬;x_K1×ûŠý™°ïTÈ[–#|Æ™„í"ú àÝ%æ¦gÊGkŠH® ¹ç]ÜÀ·7¶›¤˜Ìˆï(:»5Ë1ÞÆºû‹©²Ä”×.7\âXÿ ‡"h3Û«íˆ0Ü¢üSQˆ8 ¶—•4|ëÿÄY ˆ~rôeó€ÛJSÀ]7¼}ø ¹^wgJIÞ)Oö9ì7´ïT{OŽAÜâûF¤iUÀ õ¾TE[Ú½B…>Ýãê D}2!§Ÿ4¼ fõi=LÔ'Kˆ&»D ôJ²]u#@T¦&œ" ß-ã#ª]¾dÓüoX×çVa@“]°çNM×ôû€…X>#–(s‰qõ¾ÚÊ[_ZäB0?ÀÌ3ZshiÈXžg%OéIüiô›5; ÆœÅÒ.!˜<`ÆÒD‘šT<ŽÑ¼ú8¶â¼ÄÁw¯–&eôpI^Ôn>`j¨+Šv#­DW“-Ó ˜ýu÷û¼®Þ BèålóÂNòñÒ;¨¥¥%’䪪ݼa$·"‘”Vâ2î«/Ò䯛u.p–ó-;Ù7öŒ·ª0u®Éy2{-õЏ€D¸Â€!%¦wÁÈíæˆ;¢Wœ¢ÀCÒÖ¶ÒèwÖÚÿº6‡ÈÔá@Äu@Íj‰:Ô^%Wé†w³Ðþ¨H(aÂ8˜Î6 ¿;íq¸øOúMØí£“e‚àuÙÆ­Y‡_™û'Ëû‹1ä°1‹ ¼¥w=TïNâaÞRöÖlC+û:¥mÉcÐ9n 0•°9Bo@jí©,þ$bç*ßj üo—W3F( °GÚýª/Â=> ¬?tF£MßuµùKiGnUŒKyÄ”,¢"²<ã†ç17!ր cê®é¸>Ñâyö‡sDðicÇè&I;ãSŠŒïêþ¤ Œ:-ÿêb 1>×@禞¤A[s„¢GhÉ¡Ö<{Û›Õ›ú’^> —r çÂJ[Òp§ÆŒOÓ|J†‚XsõŸSˆDLe1دê´>ÍIÑ{ãÒ@tqqÀý|*$‰-ØÁß´Ô¥~¬;œ:ÊiIN xH-M6Åp†ê&w¨h?Ù…‰^¼áÀõ-·HÏüd 8Ý ÚuRïø.¼k>„ȵy*#”Â¥à£À]`Úªm“bñÕù¶m+N?ÿë´"#q<í!ó0{QšìdkéàÈb\-a¬Ñ84ÕOæ•>’O²Æ„T8*ÌÆ‘wZ p·:_ñ—îúéßbôíS];ˆ|„¥KŸQß þÚ8›¼„Y¤.,Ÿ=¬ÈŒy¯fžS-kR£*ZêêI§#Ï—ÙmX¼œ¤¶qC@oæRæ_4³‡@`nºõ }u‘óª^î ½Óá8V¬C>Ë5SÍ—qÿÖ_ùɼøÍdž§Ñ¿Õ˜ŽºIã“ ô`'ês€/ƒ$“¨Üµ'XúÔXI~wÖ%»ç똓)õ½íÎùøÕS]xŸ©-19ÃGV<µ++Y€l§ ~¨¸F P¦Xߦ«0­îNHUÊ'ßÊAY5L¤a­cH}¢Á]Ú|¨ã„{ÀkN8º›ÃaG°¯È•ö¬nÐRo48­ë€!LÄR^Ë.Cíçö*·Ÿ/Há!ÎŽo ‚“þ-ÛºD­?ÆÄ#cС?,»EÙT»âñyÖ7œ§ó€yæß»qÙW´u’½ôÊýj;f’ò=¤¤5RY¹Ä¥¹cAqı KZD:àù_o.Š¥ÞÔ×f׺+mºfÖ˜…vã‹0ô £kֆϨý÷¶~œE½4Ú±zv+ˆHùRah` Ó)FH¨‡ó™Ï2åCœCS¨Ô4ȯ9 J¦ÆC×áE¡ÑV)VFUN/•Ž‹²ÊM\ºH²æ\ƒòßŃ™!†H¸Õ&èf»ýv—êÁØ,ùVÚ¯êG¿ªcyTNè mP4õå7à¿ç„(¿y¦;‡-el ¿þ‰·`lÈQg¾ñh°øh¦ÝÅ´JH­áeš§eS4Š61§ù7Š"Ú¹8³¥TåI~ãêÑàæ.¶ é;’On#îD)¥ÿ'zØ[ð§M|:ÄøëD;ýþ‡þürJ;¢Yð=¬†vÇÌtŸø},òÂȇÙñM#¯žXðstKÕ¨º ó`ó-ØÏ»Àˆ¨4[X¸ÔgÆ}l3Óòî×ø7ˆîu›- c-ÚA†_ íÀŠdãÄÎxDuñáÃ∠ÀK]NÏO J¼àKN֌ԙVq[­4Æ,PôSû¨†P‚R?0â<}V¸ k§3×^ˆV±‹&ÇñcÁ³Ú³ÀÁî4Ó|3ÓYñ­Ô$L¨e=ºÔ]˜QŠ7‹Û_øçWøOÑ-÷žjªJðc 5ÇCqû €“ä4`ÌØG`lö3%4óï;);(Áðnµ·Þõ¸á™Ë»Ö”i¼üv¯Öj¨cΩ8:ÛW§2_C§"f´/-(†u—vHôÀ¹ äÎ$ªX÷×Hå›)ÿ³¿Æ“ª]øÇuwn BÍdÍ#dâRl‘½Ä¦æË˜'Ö«5î9ÓxDrŸô\‚í’âö’콞î®Gíí:0âY2.M‹¼lf‚ÜâÕWgÇÄP ö¬Á¿W™ò(Kñ84ÖS®RúsÍ¿-U-ÀÈŠG‰zÕ=£ç Sª,ŒËE‡=ÞžŠÁ®¢˜ø*s«¥ þi‘¿ƒV$sÏRQwïÆ77šžVL%ŸMW„Ì .:âÐɤNTú¤;†,å@›ÊéC42Ûf¶+³Y¿¬Þ¬^I•.*SqËç$ Ü+—±ßË­°öi†J˜ FÈÚÕn´Å]`ÎF¤Ü½ãñ§¤û‡Ãij㉄eXë\™¯¿†äôþTzÓ4“nód;b§>šåø¨„ÖàÅ„6èWÀÓŸOÁ^àÍê"äG5ŽÀËU½U›Þy÷{ðEÎ|£šÙvV‡®mUFn ­KùOYÕÀAq±¥hp §½‘,ÆÚSGh˶&NH”Gªƒºòi—3÷{Q [û=ç¼(ÿñ˜LmÞá,7€xEsóBßXí÷§˜Çuý§•óØ6æù¼BVMÞL7Räbí¨^ö’dsÓt|ž°°¡_W1&HÓ¢³¦ïf*ɦ$­û4KeÛÕx¢¿2º«¬ÈGzùð,]öJ¥è”QÑ!%ëš;Ì?Ý+׆ÇÅu¾º“c·Éøà ¯ö­}~I0·l­âø°gêG²GÙÕV×,zUiµ\&ÍIj]£„XV½µó‡Wȱà‡°mÛÚÝöÅ:é Xª;ÖÀ +Ùê â¾dÍZ±æÖerDy§/î2Ý­bPùØÄ$çÍ]ÀÐZñІºMÝX€(„hæ’c%f ªiŠÍ“N×ÐZ§[ó6pòåÈŸÿßµ-ªh˜«Ž}šÉ[×,.¸÷Áý2ÔùO5!ý2¹_ïòõ-t—b½m9ÄÅJXÐòüoÏ€^^&A”oCLúœ)xºW÷Ø€¶8Aò é¼ÙãUØ1ÍMã³ËÍïÇÿgÅõ[,8 +;Ï|‚2¾ß©Î£ë9Jþç¾G«Ë­zUmš‚‚-0A"÷Ÿvh 7cø6éDœÔ½|#NMŸšßiLep;ý |æ[N×Îã9U„'òõÊFJÔþ… ¡ðO¿¹¢XGq‚O‚®±€ŽØpf­§ÞY L/Ý„ËF’Ÿ ›Û3Ýkmù§¸hTßdÑõ±†Õ$ÄÀÞß÷qYˆ<“0¢!ÿLJöõÃð`ïÛÇ«e¬D®@TŒ`^BÛ†¹«u뀋äwàRX53Ô½Ò!âuL^(ÕãÒFÜÿÌ8÷vò„¨XÁÙ3-ôš¤F*×O—çu—Tþè.–j‚?¦Ò$[ˆm‹eËñgÏx¤€Z[XL››EËVØNv0#qÖx0õÍ hÙØXùG~p,­9)cG€X*$ª’0ŠCjFób6êjSÑfhþלèW¥ÀNõsÝ—ÇÕ¨4zèÕ.ÇáæUb•Íyí®~Ú•Zn)€gŒÆnŒk*¢›ˆQPÙù(›6„Æ·Ã7„ö1g^=Œ¦õtµBÆf8Xv*äa4+ÛO íêlÈ/ Ä£xi„³(Ø gmßÄUH Â’GÐ+5‚•Y8„äOzƉÞrUb\>y[ïd)D!bIÖ¾ÕËBØÇ–Õàœøá'Âåêã"òøª«‚æ´7ÖT ÛúÆ<Š(Ôé±?Ê”%c¨0jpÖ¿±SGúîIs>¶}OC7ŽÉ'ÆP£á¥Îü‹‰³]Ø9Dòñê†Êq?Ì%³¦™è/’™n:'q‚_ äí´¾.d"mØ<ÄV÷†od!=8Ñ «~7ííŔɦ‹)ðŸóu¶œ–šDuØì&㸔˜#RW›¶™Ÿ¬È€þœÒ¿]G´kÝG2(Ä/6ª ý#†°¡Ä #v§)h?/óXf"b 6:;ØäòaïÕÝUã¸J{Ã%dX« u"çÝZLé€-zƒ{Õ€B¶Þ³—4Ѽä8i÷ÿý«[•¡GVá’‘ý:þy+(–•ÇÌŠŒ^ TâûfSHî?)CÁ°4º0 ÏAˆ Š»ˆá¿ð™|õçjaºR_5q„© gæ¸ÃƒŽÓȶìÐ;›‡å.›k(4I’Y„›œ°^\v‰¯9bAˆÝ·I’ÏWÜ¥ÃXðJßñ,tbu¥7)tl®Ë«Žûf¯qîÞ˪ÜÀMó|€ªð·2jáÖ 2 þm¡˜¹Ó®KÉ4M¥ùéˆT.P©“G'«Z¥„^8O¼scÌž‚lB0§ À~Lv&¨¸¼õDåáLXÁŸ ¸3'bУєtë3 ½‡€]l¨ÛØÆV—^Rcµ¦gC °sNž.…_ê‹Ïžœ't‘)é|í‚ÚVbáIÛ©ÖoE¹ÃæwšíÂãŠR#ı·½í¾Ògs×á÷@I¨Bi3ª)}ÜïÇOåˆX*`€-Múóo%ײO'ÀWª÷TÈfÿ.ËzätÃÓLA#”æýû‹­ÍÁì_¡ltåáÞÈEŸß1#¡F|?JIãøŒOåŒ T–\€ÙÏ _¯› Ëbº*5ÿóCvt½ ’š­É¯ÃUå ø+ÉðÝf+nû…À'%Â36 Õïù¥Ç@4í Y¦Ô/ï¹ÞVæ;ׯ¨ðØÐpPÒkž^3ò¶†ûe­l_-Al„±Q GAÄ[ ÎâzÿœM¼ÄfúÕò;Id·×%‹ÙÎÎÄBl ¿î½_Âí9-à}jÙdƒb¸¥^¬SØJeËÉš±Ö+ŒYÍ7Ã0[ËbãPášÍX€<~’USçyØMÃÆ‹]ÐA¿Ñ¦¸ó®KZúoØ9¯]ŽÇÆ-?åã^´º3P^ÄR\¾x½¤î cdP¿ ©M¡8 ¤Êtþ¨8µsAÖ¹Ì]jsžXPÀ¹7ƒ^º»Kư—ÜQŸÃg, ± q”›mÚç–XØ(ÄGûä»®Þ«Ò•œäø¹ã5­L{ˆ”{¾ qi±'¶ÆB6= ×㼯!¡–)°ù¿º•Ú€ßÿ²P!š=ôŽôþ1ºbì³P-#²+Lœ.ºkGKÖ`\t«ÊÒlºn&8Bs‡'“Ó€î–ý=¯ ûŒ?G8À¹ž¦ð>³¸O‘ZE¡õú‘ò8¦Úù¦3‚\‰„·´2oþ£H8ùÄÐàpu+ºÎNó½.aï§}äg÷ÇgÁóøÓ\Ûï&RšVß3k8àO¸Ã•}Ë…PGØáaPÛÏ&ϬÔM”ÍñÃ2qf¹n³.ׄòx¡‘D¹bVÏbÒ³Ìäè 1R’ãæ±Ù@4c k™LmŽåø›ÛåmݶlæýÈʲNM ˆ¢ ô»žŸ—²^¨åTw«#¡±š–å²)ñÖ£«sì`òùr€ð¨îr°A»){ó-ùºâ©Íí:™Áv¸ÍŠZy”*Lø»h{± «š—("çäái¯ü$9yŽïÓñ%öµ!€4¾ŠC‡`ª­´ÎÖθ›wÙyEu,í›öIÔ·À÷·ù.õÿ‰íåDÃÔ‚kˆ3OK¶óÖ7 b«§êI>µ ì9ž/*•¬û}Ú]T€€s8š2byËsBÄ‹’½ÄéaÔL¢4yá¡^ê:/ÚQ• eCo&ÒW&¢<=죩æÎE¼‚aP€|–Îk$¡-%íÞsàXƒ Ò@í#šckÁÏ+Èó¿…˜UHµtó]ƒVò¼$@—7겯$  ¢ã{m즬3œô«ù&´¨kc‘¥aW޲Â/Cåh— ·cÊâbI›àc ——÷v-]ûŽÚÑ V=‚»£´ `H÷·”|aÚXùú·jA¯¤l€|žÎæì„;„æo=¶UöB`#Le53,±‘ ÖЬnGÎü6¦Ý=VM« ô¾ÑA·ÝáüjXÔ|Xò{à !¯]’t'ƒÐ‹;¼2¨ÿ»drÓ½´@kYëŸþç*A"Í⸹U"Ößfù›,îð¿(5BŒ¸––¹OuÆâÛ s;AÄÞYÓ•hÿªãòvTOYE웇ÁÆÊVþ „…™ç%e+íñ¤2˜¼¹­0à’åj½’¸:››>^‡°ËÔ×e?Œì/Zÿ´Y@_ŠO®|‹ÁBâ¼é¿.Ì÷þ™ÖÎ õî•x#¾)ZzA¸<¤iC<Ç·¼YF––¨ÊÐqÖq£TBUÄ"óLÖ¾TÏ ;cžÄ[IHr}|­ ›mÝ$¶öð¿'Ô@}sÇN>m`°ªü7HP]µHÇpØÎ'¦ ‚fÓ›4Ä ÉË€Ÿ/j L^*û°«^û/Æ(‡¬[B{¤ 7|Ù &Ããsá`(Χ‚Õ›|¾Î>Ê⩾pð¦éðPÚd*`pO S8,}‹ö¸ `GÔ©À7hK@Ίi†Ë¦æ(;áGd ²´2é QmîåQC(FŒ’""ô:ÄZ§]Wn³ÏŒä´"Gù“0¢ÆØâÔnA¹œÚ"¨\\ÿL³è€sí‰jY¬Š£µâ¾4f¬…Tò¨·øM¾)W'2y‡ žlãX˜ áwïÜÙa\¬sîÕ3¬Ô_Dai؈Ïöl¹·ka*v{JZ¯œ?“‡à&uCÞ"`% 5b Õ¿_5!¿-0ÕVÀ§ž‰”"ÓAytý쳈•ýyŠû›ÝÜKx?i3pê"GðC"w{Ù+ɼà‡A ÙL:$±BˆEöçÍÙùš¸™I=ÀzÛ×sPô[¦Gp¡l®µBsL\f§"’€~FLæÕR{øh Fí(c2V–ƒØ¸ú š¦ä‘ 2-9¨túJ…X£6¤«uÊÅË‘ýP@;›÷¢è§Y µ)S¿šö3~ÀÜ$ìžs‡•Tßv€oª'LïOüº£ ZÎá—·‘Žž:}æÑ/s[n Ûªþ÷ìb.ÈjÔf‡á³Œ®Bw•ÀŸ÷vÜ™fëÜ–>I¦>° aÆÈFyv¹°^Àƒ;ñÔ.EaÓk´ÓØî3º+Ê[ŽšHš¹ÿ4è;éLf™ªi ö@—@eºÐåâ‹S ¥ÈÑ74öëü{çÉҔœ‹ÝÒ^>ΤUdÝ|F<…vUß‚æÔa´3-*®œ,Ò3[zÍÎizÌú¥]ûüI>5—ã’¹åèÆÃMŒ/Ì—ßÉ©Õ^àpÙA8`?ÅK¯Ç„˜gÖ€¦sçö°ç¥oLg5C°sõùyû`v¹Òžúì„o—¦C$}œ?‡Ð®=:°ƒüœN;Ú8[‘>r‘¤XeX3ø5ÚÛAÂUîé‚Ç£N­BÃ<=‚Һ̉{ =:“Éåiþº¥ßØ…œÑÂ÷·ynbÎ#ÎùM˜º¼p~¤Ìæú+I ˆ8p+t€)rêòú«`S wñ~£rš˜ˆÇ>ƒãÆŸßbri?‰ þZàP/hàþÁµ0:ý/¬j«èŒþ4A ¿¾Þ4YA„–%þ‘,{£k`º¥P[ÌÆ^-º»©q{KWÌήG×`TPD§| Ð¾Bò5zÂÖ¬Hä/~êxT,ÎLP¥kÿˆ¶kUº’ÃÒðÏã𹺮¿_•áLJ–sãÉéñ8ðo¼­øz“è&i< tË;oûç<§(!8\á•üT»äÁŽTmÏ©”êí]í¡rWú«'Fdôe6E=(Jš]ݬ÷@‰]ÇÃqG\7C¢ºŽ{Ý[ƒº'k|Tg˜cµŽ^Øßž»$.æò˜´ ²)Ø\©jÄýu‡£Ñç šwG‚@wJ5‡šÙ²} H-*Å/Ü[)éÇ¢\ñÛ”#QýŠkO q©g¾ø^ ápc®{¶£ »*²vAÈ—fÕViˆýõÝh öy½#VnEj®íÞ£K@y¯†ˆ¬ Oêû¤— ;SÙ¬èK°d%ß1{þ[ /¡á©Y(ëyØÃÕN Rò"~¶eäš êEòÁ„6*5C®óÏŒŽj:RÌè»m ¨wÜaÕ9{\ͤ›u]mj|½˜ÞÛ‡9lD‹¾6“òÐ|¥úت·PŸ¸¿m%“‚KfGÓfx 鏯ÊB¯G ¨NUPY ÄÚW‹N‘°¦Ê^ãýâ4¢Ak~(‹'Uˆ&‹±þÑã8/ffàiîïɵÅÎg—"—ˆ}ÜÏ8þŒ«ª0Ý0Œ(«}AƒÕx¬MØk„ ¿?X˜ÿ"ëºP½Z=ùE¯™òe1©©ðÓ)'<[cÿM{¤ÄÐÔÊ?Ye·/¥øm¿€ú¶¾|êœÙÒ·¶’ü§ ·üͦŸQO·tO ¹Ërí€øÓ —à·÷â¦ÁC皺Ÿi+ÊÞªbM A^q2cš›óÑ;&}™DôÆ ]2M/Ö«í–±m`ùa•×Uдéwµ¶3±HƒÒmë4š—=ø›—g#Ö„½å­+Ê=÷`;écUͺ§Ø®ªVĈϒk#oØ•ÂÛRº–K‚èàYyO ÀæS?¯X8‹ þé°gëå¬ÊEÀp‹¥0ä4Û@ÖeEXñbóˆsRÈí·ÓýýRË~/sݲöá þëÓ%Gy­ËÅ\{»Üœ4ºÂÒ=O¸â6-ßè ‹AÁ %äÃþè•dq½ë»×Ybïã,‡­ñ1SØÂÛX0ŽÕ¿ó}7N=wß÷9X‹±):e¡¬áÌ`䣈öPÝ…ˆæœþúc¯û™zJ8„Q!*r@1uºbç"î:7šË6ƒ:ßÇ E“?I.?%A:ÎÚÖhéÝ1mvTm=ÿà*g®îÛÃDÒ±.’*A"RõÕæ‡Ò» Ý O–â!ï®AZIoñ‰“TçËèa³ÜÁܥކSI%Iš‘œÌÌ6j÷–H£ªÃ^ÕíȽËqî%…„và÷GÌG'9lŸ 0Q]Ã`´UðÐ!ö‘_þLàAy· ÍÝ3ºAC³õÑ”%SüÏ}l›"Z٠ةƭ,˜+#hÝ”W€!§Lœñ‰'6åaNi$H¯}tû 6EG}g8K°Îx¥éU2ôN?·—«,êšÖ'5æò6ÕÉîP˜…*ÍŽ_æt”Çm õ¡:-WRÛ$AA“†CHËšJR¨ŠÀ‰f3—Æ•5Ñ•¸£ ÉÞ„XT”†ïQà³± Yü€õ«&R×#‡5È ¸Œ4¼¢O¦W“t‡+úâ¾å kZ'Teqg¦Fû½ÿ‘Ii{JÚØÈf3ÞQ¦å«ÂŠÇ¸¹°À—«“Sʬÿ<ÿ•í¦©Ï@ØN HƉNô‘tó½$¶L T˜ËCìùé¸8øÓÊ2¤›Gù˜Î<ŠS>ã£iD¥%PiY÷xË^è²öä@£gÉñQ&]ô³äg9[DVfuýQƒ$×ßOÅ)«ú,ÓŽ0J+sú”¬q“Œë0.)0ü$:¸ÀôД¼ûM&°gâí!]”mÜ.-ûƉ·éeÚö`û­‡^ŸC Áeq‚!] !%Ú {Ïc (mŠã¾#4Ö@ö ¢^|`fìÝtžÒÌÚåýj1ïòÊf8Ësî×ã35$Žøtö7B#âiˆ‘ù°éÍÚÙ‚‘¿n+sEü[ðàÔ÷ |åhä5Þ,_/ï‚ lqx3_t­¶i%ä:ë°Û÷ê¿”A “&À)ŠÏ4ð\ý[ë•UÚ†s7_ßÀ2ƸwÄï\ì33€Æ]BpŸñ˜2¼ô†6ÙéHÁê¤(ÇÃ6G¹9–‰~Êâ;§çûÀž'*yžgb˜Ã§ù,Y{wàö$‰ýèYZÖ:r!ûNÒ’¯£:}ðg)ƒ«Ž 9À;ÖùZéå’"‹Øì[Ç›üãæË01P¡7×v*8bfÓÜ 8%,!?¾ié3ÿîüí¢–Ë0%°ffð²cbæ“[ÚTjZi¯(T‘vVΛÙ0¶iˆŸ¾Pê^¨–”€~¿Ü€Ç(`ˆL,È|³'psž“ÔœÊP—2–FaÔé;é}äÓê•xofŠ·ÏÆ)ãQö@sJZoÉ!)4ˆx(ûË’ j†cV½˜ÒÇ8†‹ÏË›˜öŽö‚©˜Ï¶å³œ³†ÉV ¸>¼%mÅì‹o1œ9]ªSÝ}KUÐØÖ8ˬñ´•…ÐÝ Þ8êòÂÜæwAÙ™^àxEk¸9Ù½r±ä¡ðžtÃù®{M6Êlmšm°ÌDJAM“ãÝy{äl©šæë`ÍäåОœÞ™àõ} <Üb'”Ûe\}fÛèãntAŒõè½ ¸aŠcd±YÀ ÔiK&)§bv‘ª¼Ï¸•<.Zi££<«Ù]¶Mâiù™ Ûd´³„UŒÝWµý̬5¢ ŒhXË+HG9ZÇ©6®àšÄ»R9¢²Û±;:Ãbž=aàȳ¨<ÿ{‡l ·apŸöÎ.Ü€0±øôEºûÒv\‚–uí‚Nº+Ìk?!Š‚gJµµe„dõú?ö5«•òU¤·Iès-%ÞÏwh|þÓdz¬ ¼!q•ŽÕ¶×Ï›„‰¤{Æòl“öeXRJ~ ÎL´‘Þßýw²‘•ÖÂ6ÏqùIjdhFü¶'#ª¶ê¾HÑ–¢oÈÂðá ܧ/IÚ÷Iå!öp÷Y;š«Ü»FÒîâkŒí|ßá?*é4¦ò£Á¡–~%ªú“EEµúϰò4½’ÚÙ”7ì‹Ûzwn8W³èD`ï©ÁPÎwP|ü ŸQÜÊy–‚_Ïê8 Îfò=Ã×sUÄ/gPdþjâÏ0í¯¦PåÿFOJßWFͱ³?؇¿»1<£Ü¹>WtV¶‡P=`ZX-ÍŠe‰¡<,ó¹ µè+Áõ70å¤s“žuX$xï±²~ØöÝŸØ!Y4Ojýý}H±`5”%A+û R•ÓÑ<è¸`(¨BÖï´¡vú¯@œ|)¿¸»‚—Ç= vÎúº²ÙuÚIW}* #d0Ýø:ôX*=…1?z¸â ¹ ßxßIVŸÉC(;¼—SŽm0»‰2Äc7Å"9ÅMÐ"ÄNoRKtD^\ õKKR^qç^~‹Yß=óz§¤Ó\£®Ös˜sÛÈ…÷Í<ŽðrïþÙ+Pª‘>-áΕՉܳ|FópMr%m$:ê° ûâÓ‡Úë©àE«§Ô_h¶ÖĉCƒš–o†Xóo¡TÑ“ˆÞÖ£‘i[Qx¥T$AR!}╽¥±êÌØ«7|öÞí#¿WÄb)T!×â’‚bEqjõ ‘凪]÷4%.ˆO´± ˆvdLí#è4³7•J/LÊŸŒ«‘ÏÕSÔ}×ɼÕè³ÎÍR¿­êA‡Û;6µyÝš×Özh–n‹”toL•”š kU:\ߜĤ xÅÚ ‰²õ\aæÀâ7bÁ©ëÅsñmB&<ÓÁT¿¾ÛJù´µÕdT]W\öÙõÿ",ã¥o±FáßO#§Õ‚£›f‰#TNQzSx‚:a¾Güõ$±!A‘rèÉÙIx$먀ÆÇãf®•¬'§ïC~ÚÆ*ª˜ÔcÇ¥ö`àòÍ¡—(õþ½IöÒ\ç‰ï5ì7â‰DVyvvàõ`¯Š´À† ‘Õ¥†Àßù_¤¥NŒ9{ô²¢dV2ßTuÚp ø‡ü¥“¢ói“ŽúNÐäî;Ÿ¾rm^oÖš&¦dAõဿ±´2õ1¥ÙÖð4çæsÉ qü4ÏY5ž°$HQ\þµkhÄ b«»ádo;;® £3 ðÐ[ÕƒîyÅóž¬Dâh¸[#=˜í‰ƒÅøl…Îð+ý›<vÐs×ÙåÍLFévej üF¶$¤H øÄP‡$‡zvŠøK$AQ"ì7¡ö«¶³¯u?`‡{”v"m¼ª¤erÑ&-ó›MVÕs`ʆ#k‘˜ÊOí4ÓËñ²,HŠeÑF¨[Uö,ÛTæ§…æî21ù;*-ÌáÿÍk”à\iU9ª¹+uÖD¢ìi€ZrVج)¶¾÷†H¾Wc8ÄX¿=‘’º˜£e}ãyžœÒ⯤ºÞp<†’Q·Izÿ"x߉BýœÞ‚8ÈwfI…wý¦ÐÄÐ,½ò#½~Tˆ»3~Ùmð!ÿ=Â*ŸÄ6›#¦^–‡—ÞŸ¼:ŽÃD Bª_Ý „(ßÐgܯ'<‰34Á"ÿÞÍbó›`¡Mì… fe6?ÔnDRCK%aQ”–è^PÀCwËÉùU¤¡Å'ª s€zýDi,¿UÏÒr0Pú×Ä×—h#¿²'Åâ[ý$èbd]ãí×WßwŽGèÔŽñ-ƒ·³Â‚"ŽDÎi[V‚?CGqF”1¹nŽ¿`0 ¤¨h²" ¹Ú J\÷#“+ ðç—ãf=‹í ç?}ªW=š¾^5)l±ÎؤÈls:oÆö„£ìü÷<í¹eá2‡ë™•hÊàšlùoâX0‘T±|Nµ Íµ“Eô®‹˜0/4ŽÞú©Û(ù0Æõö,éEd9 / [+ ½k,î¥Û¸‹î.g¶º¯@^(þ_m,ÚS· —Xy`'[ ËÈñ¸4íV8è,¢‡‹š#)B$U£$‘SìÄ“¯›»ŒŽÒ)T¨È8ºPú‹ú ù š»n£ëKEÆ®B®À\ÿHÉyB¯‡ou3#2ß`}ˆdžÅšl†©qÿ™8j¦±´«×5\QÛ%Ô4È+äļp^'dÕh“ò*§wMa,ah‘DJY6Ôu¢Ê Û¾ Ž„©B?6ÓëRÕÿEçIš°x È9?¹CcWlÖW´ò‡P=ç^Í•ÂØ +JáQfNÚj¼p×èÂ×|X, Ÿ’ó3üJÁ—ËÃX…Ûµ(ØHwZ¤½¬*±yæI Ž€W1îÙbœ˜ù{9KoíáêýÉÊ™Lú£ÖGñ4ާBÁ fõÕ’Á¨¬™¤©wèVPù¬M…œ&·—Œð `¬gŒ¯^4ÖF×D¹N*ä‡J]˜"Ò§2¨ž—ÉÚãÍ[J‘‚–ŠèÇÈ/?ÀU$‡vµË ·¡6¦Äz¥q³Ö1>v*Ž.ÕcmRîJ¬YµLÐk:¶û¯ñÍÑ(«Uœ¸}á4Á3‘Šøn“°È¿ƒ*ü01À½Z¯e`åÑ–…0%ÒŸÄLó¡Mïò ºì8ÇöÞ_¢(C™ï„ÍÜÇ1t…öÊÆhTßå&A?™/hÇB=l#öL¯u18Öî,‘#tR®Xcæ„‹Å«)%­ºd‹Q#Ö¿Ò0Žš6ÿö…O"ox •üsoZɆ„EŽñ@¾x_ï¯>°ÃòQx¡´©_Ë3O¿‡Kdwg1»{¬‘øí]ÖËÓ{Ív>ð4ÚšrÚ<Fã³Tå¤ûH§T¨…ª´ÏZw ˆåeÃU¹%œ¬ò¢†LUÝÁýþÊôQ@¥½Ý;]¯Ë%ûY°ÉYGFݤ”æé 8E?¡&ωŒ8{©ë%-SåÇi¦ÊN±LðŽâUíe~Àù;rn†(‚Ff>ú½—²Ï7U©à lÓüN¨SÅÿéq‡‰íÎÕ*BN:8üËÛéŸ&*Ó•«uýDÙSæˆâûçߺ´Ï–ú4kKPGß78‘Wéha›ÕÎöK·Ôö`@xSIÛX<NBû«°§Χ›t¿D®wÊúQuÑ$£LÊ몊m¡ õÎ4;@/O&;{rúñÀpa’1¾Þ甎)…«¢u·s:!މÁNô¼o^_&¶<4 HnëÌT&²?^.ˆ˜Í,ô5Ìâz´Kêþ¥>-IŸ]ƒ§(¬ÂNý=[|”ºêS¶ô^VŒ/ÿaByÂýìª[Xñ!Z w°gæ–ã¶£»[rá±R¸  `¨,—>ûàYRM¡ö(ø¿kÌ0—˜Ñ‰[‹0Þá…ëó’e?ÿ­Òp^³=—n"? ¯[N×KfΕ €¦ôå²ÍŒ½š©Xü̆äaó]Štç&ú‹Ñq2Ã8®=Lkû÷ÔKüÇ‹`ÏPLü: ŒžbýüUó´ñ^<f£†ñ^sÒw`ñu=Ó×á<× 1Ð 4¥Y@€Ù)É;%¤~ÅÙe ­;ë÷#Zõ¡ÐTÙ„oØ*œÞ"̱ bÜ » ˆysË$6?1Rˆ§œí|G«·À>‡:‡ùL®®ËPüÛmÏIŒa$“mL<ËÌ[¤"¥Xàh|Ž7˜ Àq¥L[jò[NDWʈ7óÍìÚb|¦í&Ó%+¿ò£(t&Y¥cPCÇ=¼Õ.æCaFœ/ž0†”}*jH«lF¨sõÿê1ˆõÈ0ö•å“?ÎÛT¾¯¶ªªÃ꾉þ±yd˜ ÕðÅLÛ´­šJù å+Où †pàÈs9ê¸Ý²X¨øæ9»ŽEÉW.º/(ÐD­eEpjàx¼à¦¥3êAô„V…„+éÇ´,.ÛÇmÒuíx‘za¶A“-KК[Qórí}v¦”áœéI-ϼ7 ‹0úu,Åš€“^ëÞ&d²±’Ùœݺ9Ò¬¿àçóá,wöcß÷èy¯Ú¶¼¦Š§Ær_eUqÍœ#°•„—5fßáåÝrï¿?8×h5ÜÁ„¶ÈZšƒˆ$k¶i7Zõ /Ó4ÙÑè—í_AǰÓ8¿Ó\ººø{<¢k;µÚ0L¸e›6èDdÒ:´<Oˆý$¢ÓØ ;+ _ Óñž%!íÁ¿…‹Œ†°©9”ÍŽƒ¼šÆc×$¤©q×-N»'CÑ-QÜ@!Û¨­ìÁËÐi»âÛC;?=_/Ô¾Vò¼ž¢2\²ê–ˆ¿’Ò¥ža•˜¤õªÐ†î/"'’ììð×&MŠÐÓx‡=øû=ßGÏYû›ùM IŠ‚ÂЩ–~IÌúv¯mõwÿÈæ•m‡UÚ”ïÛþÕ›p]iUÂöHœ3‰¨wadôÞMH·Ü †ˆt…hi5Bº°)\ÜsÅvPÄÅ/í“ÿÉÝê[ã!Bˆ§° •¢GÌWDÔ‰?ßò\fÍ,4~“ª^ rzaŒm–|™sn|Àœe©w¡Ý«g0Ä+S¬Ÿù M$ 6ÝýÛ>ú~ (0ó;&4§7Á¶gJÅ4<Þ./áwT,üØô©e镉±„ÏÛÈØßìh3äæ–É%W¦‘R:»þfJm¾b,/qÚºÆMåkãÄ‚óñ/ #1>! ¨í Ú­µgR¦gúµKzì và`ލRP÷zü¨¦õ A ã6€LF!#ƒ)›«öeÅÕå áŽñL¢ü–wR°eäL>{0fÿ6Ë®×OÙ $ÎymÑ%à%…«œÑÌ9 oŽM•&øoÄüE·ÙÓE©"•ûË’¼k øðnJ£†˜}¥0X×·!< õÕX˜oõmÇyèr~i_%ôʘý®ø’½ ¸ßcþ/?K¦5ý)ÖÃÜo-è,ïÁÏÙ)!Ãi¶"¶0~/5‚ÖQ’BòäÝÓ&»ƒ2=;(Ï'F€–Û¬)Ë$¥4Ø3ÌÜZî(h}¡¡0^dhŒQ4Tu¾GCtcp¼ÕÜF|,}ùðÿªpñŸˆõÅ~r€ã/“È6Äê;¶2iRÌûøû›WˆeÂué@’QW°„•Ÿ©ZYa8·éúBéœFuòGd…;X^ò¬@:“Íãái…üÊó6¶(Eû¢„ïÚŬ€3¶_Ô­P ­/H¨(Š….}×|ÜÊãjÓ&´s $ñŽ ÑD¦¾’€š _Þy€žœä©n(f5WÆâ³ò>cèLT§:= &>K©Edi’Ìñg~ÉÕ¼ã€ê"^Õˆ­>@>!§tÓQùÕÛØ+QˆÌg5úÓ;¡œ5~Ì=çÇ .ÐsBMÚ[ḖLnˆ½®Q”fm©Ð~ÿ÷vë䱕qì`vÛ ,‡U)*n (R㋹‚vl¹u™±2n”Ú›g-Ð|D‹tÃf5,„çò§*o%Ž»âaÖIí¡µ;®àälúñ!ßÚösuàI‰fV¹8Xê%£6ë±²‚ù .Òž·èƃK2s®åáKY}yÞ÷—.Å»yKÁ­‹ƒÉãbè‚ÁL,òê5úù”™:l–ðîÕ_ØŸSÅØ [BsÚìÎ tàÚcRgZÅ0$ïÎT#»6{«57³–äijŒ ÂQt‡‰~ÑÓ)EÛG"/’Ù“Ý´#㊘}R+_#+ ôGÐäªç›çå½Ët$@^jÏ1ÀL“÷‰#>9xn@È@îñ%2À]~+q"[VAÁUxÑLDrgqòhÇ öÀBØk?•ÞÎçâWêc÷nXöÊ„ïßU- R„Ñue$«+@¿’ÖféX‘USr¹î€žÑÔ)6v&Ã4*R©]… Ù‚º–/6BÌW—#÷YD 7u_³¶ ÈϪ·® ¸Æ3Óò²õi¯^ãÊyæ¶lvº‘zËGiìÃ0wHä¡–Aá­–|—ð}™l¿³8ø\fZ ‚!rïØb¬à@„ÃÜ„<±ëÝüƒ/´aßT›1¼Ö;ZtŽàÆ€/8¶‹íÁ»wuŽ;5tb€Æ$¹uÛ!iø_…2ÔÉ´4›m2öã+ÙŠ ÂÝ›RCÌF0Uý´Nbë0_Ù¤†ñ”¦O"[ÔBDIÔ§³Ñ]LÕBžZò™_?p:Ó…ëÉ¿ñ’ñ%Œ„T¨QÊw¤‰v–ßÚl9Áp’Ž«3¸ÿè3 Îêñ9.&…ÚÆµÊ"n\EGɉ¤l² grl·$¯r¥ó-ŸØEÒœ' µavÌðG1…mìаöÔ•_O8Lrßô”¢Abi•P-qš¯ã…Eg¹8Íò†Ýælû1ªŒj$wgV—ÛÔW‰ËâFGvƒõÌUãb]¡CÃEkÎÀ¹ÙTÿlŒWg˜ì¥÷ëzƒÁxÎõ,A†%Z(„àf)³ß¶ëâL‚tzÁyÀJ ¬ìê™6úØPËËYÈÕxYaÔ…ô.Âä§aU]qQ‹Ÿ3£ "/^Ë¥khõËRiÄóÜ Ði)[ïe$ÿ0¶“u‘®É¡Kd6UgOeS)„w©/ú¿ßÆÁ¸KJ#¢&þ|caÀ ®lˆÌ¥t¢ÛÔ·çá–+¹¤Vuçr"0“rÚéÆìŒ¿ÙÌÄé TŒ­=ÇBP~B´:¸ð)W£øˆ§gñ…[>XAG[•V›sø1I]$º# Úâ©Qê™a¯¤Ë×Ô®¨m——,=Ш”†mK'7Ÿ«»¢»ÉsÔ^èÎbUòR˜°ju“ùÕË¡)ôD}T$¿–^Ub·n*hzÒÈßTV¨£T0&éàåÔÔAÇ¿M’å9–JuþîzÛÑÙóšË^Rf uïw¥oõð;õ”ÀæVRnîo²ƒDULNÚzÈj>O,ÔMà´€$y¨ŸÓ)+÷½cǰ¨jQ+ìå·aÿw… }bÿLÒAü]Œ2ÔþrgŒ[<ÅÈŠ³È—JâøDûôάV3î˜ ÜDXŽ«Aâê¬4% €Æ¾cîK´–ÔÙº•&è\Žˆ|D ÖE£`‚ŽY.ñCY#V±S3#o­vªàë¿Ï$ ÉKáái«N„ç3f:ªK¤ÇC(Há<ÚŒ á>É2|¼…o8Ä@ºÉÐîÓÉaƒ÷œì˜å’f@ðÅøX£ÜY¼ùyÌå=†Œ•Þ”|í tf#}À+ é ]¾9Ja*vØ}d„癹Lb¸/¼º#wvã-Ñnq^IöÕ³ }$¹—©œæ‚¡ÜŽÉ¾ýŠR4 3¬eú¾™§$¥‡sš¯cË…"‰T,y^";Ùwä ˜õ1Äa­`möBøeMÒïGNxÞÑ>Èw´¸fæyª½&¹)1‰ÿ1(J1Ù)Ñ÷ÎA›pÒôz-Ÿ’áØ ŒVR¢.˜Aö±Ÿ§GF^q|Æë”¿è6)t¸ü¥Ò?yËD’mH>„0ù3ðý)¾TüGçªÝE‡J2Myª*]¬0Ÿ—bW'’狇É! ÄŘY’¥ï—œÄgM{ŽiPøö¶×`íó¤´Ó[mæv.åœRìž/€Ù5ŠÙ}‰ âzt¾2ËÈã£å„Ã`I‡ûrÐJsá`3»ÓAˆ :‡™üÜ«°ŠD¯¾X°ˆ Þ(·º‚Çkb´0a,î8w­4‰ÐÓs­ óÀëgÿ8ãuï}'úØÛôŽñdñtnêæÕš_+ 1ñãN®¡¼íÅ,ϲPf—=¢ó÷_-k¢S]‘£ ¶âÐID5'3¦ËÓ†ƒ‚K! ‡¾5ÃܨÎ^® ÇVàM5^ÌÙÁ­­“knå#FˆzµšbÇj÷°ÛKö~÷ð} ] Z×T³‹ÇV$ß„¹1£L‹ÆÊÌm#„Ë¢¼÷ÄE¢ŽÆ¾ˆ“a•<]DICÆä¶% lߦ¸tÝÖ²DÁÖÏIîM[¾_jVñA¨Ï>+½Ù*>øÖŸ:VöÿÍ T…öñšº'œ•S‰)Á^»*¶ŒmãÐi¦%ï”Û{{(”ÄÇ/¿Øš*ªI‰¯ï‹\ÈHª¸A˜æÐÎc“ƒ¶•Ù»î"þ]»F7¾êîÑœ¼/ ªÒ/ „Ù‰ŸK£6áRM_£Ý!ˆý4í05…~%·Í×\Óæ¡‚n;v¤¦Œšy—WÝÐ2¾-‘ºerh;Ý×ÅåœÒ„ ;¹yó9›kEƒ¦òäB_*SEÎ6¶&ø\féwó¿Ò 9z‡R¥9°x‡ÕÇ«{4>aå Rë[jMzÝ2{õFR$‡»`"¦êªío•EµÛ½¥œàd55sìÅlû1†ØÁ–Ú'è¡ãn‡bI“ “oDHz\ß›'ôö·|3Ô$ð5_A¾,¾€Í‹ü$|£cÁZ®ó|éªËòO±_É ØöIj33Ä €^3v#·¯7·¯Fa-@5,XO8pC~¨ö“¼5)x씣½f¢WÝiyj.Ü3Ë»,-4mâSòiYë!à¹jÕêôZ2Ø­­‡J+XÈŸo¥Má—ΗY‡[S²Nw[‚ãœó³S;FÇO½Ûœ•$[véG£šÄ™$¹6vWÇ »sg’žó¼Â-]åk–5ØA‹8M,¯úãä·›þU›Õ`+—† [6)b*jDe€ô™X˘:T5iyã|rЀ@ëìDnØ¢1ÝF áÙÆ¨ª”iùx™Üb5 Ñ_yî>9gÆ` õþb_£ªÌMÃå6!L ?oHaöèGëR È>Ý"ŽþTY•o—i|¸5Ñ0„£Xkg@ˆûWPßG¢^7’ꤤ6|6chŸ±Í~FŠ óî÷Ç#‘àx ±×ùk2%(aùl±Y!šÐã¾ÊYÊoû}±äI1šÚ9ˆ¯*¦ÿä˜ÔêëX-eîÏ1þb¥H·¨<:æÝApÅUÍÚëû]ˆÜ~„œgø0_Mkc:ǹ֗š(š,iv9–`’"{â?0Qç_#©1¦û92ŸügoµøHÖ$L‡;Õ`Šf ¶•Â;N`Ùl¦4ñ½K15ÙjÑ~O¾`Ó]÷Ô—Ee_EìÖòò±ÿ-¸¸ˆâ%O?žerŠZmuʪz×Á©ïŸl$`ñ÷ÜE€<±Û–J®ôñ%¤Æ„^«†ÈL º¢$×M‰ŽúŠ7Ä‹CÆ Àp›…«Í·ü*î§“Y·t~­s•oÙ›o&Xtáò<Åõ¸L—ÌvE×D2ç³â.”— ñ™?‘þ%jõpçE9]û¹Qì½þ£Éj]wÖš¹±Ã]I ¿ŒIC|¨Á¯X§ËIéåÒ(9ö–îÜDïk¬UÛˆÚccrªŸÃ;÷j¸u£­yL“v»Š0íBë’à—pacNÝÉEjqÿ~؉ý‘ûå*kyò*\O`µk6ðu·O ®­ÂVmßÁ¤:¤Du*a„w3-гb'\kÍ£tè“ÄmŸž…ˆ¾ÛÔ2ñÒõúAq®'z=º`]b"6ËCÝÓ2k‘­r.犰-Û<ëäÝp[xíÃ[ÏPmT›#šßÄ/ é¶¶K, U1Nâ+Ç'$ß+;Ò·pÙ.X³TÞeñ¼tÖ‚‘Ç%PݳnxWÃ'P AfIÛÏ48÷r»¸ÔtQÜk˜A¡1gæÎZàAd7ì‹÷ÍøÁøP@ÛΩSÐnœ‡íeŵRéXÞs„ˆ‚ÝH[·ï/£íô¤…vž>ù¥óö-ZJæcauëHâ¹R« UCWˆ“BU÷7´W„näû^¯ˤàa„Huø™œ!É“TYW{ÄLìe}W(—£@ïߪm¬I¡œ)¿¸Â¼YÜ’%ÒN~/Mw½ŠV]ÃG®í+WáB0VƤÀKŠÙ„æCÙœT8°ƒ¨}¦¤]‹Y•\91ÔD/ж=‚±F§mgDáã²LõÁþ¼Ø™p+)w0&ÛÚVñ8ÉQ­|iêùÏׄÄóÕˆÒ¡³öjsÖé£J¸ºˆe»xé—š@[£h£M™fw–\5€îÖ½ °•ÁÏkyzð²9kõ¿ƒ~• À¾ŸoT™Úѽ¬wªe(÷:‹H6èF(#fÑȸ‡…ÝܶþH·¥¿IlwºKt‚2¼ä31Ù’uô_+˜™Šœ×ÓÂÏX„ »¬4H»™ŒC¸Ž¥ÒMk¾9&ÍA¶ëêÚgÑVM…ã²GÜ66àz°¢£÷ÿ‰(‰sŽv¶ÝH§É«Ç¾Iƒ+UB1;`®ß¤úó¡¿©Œ8´tK‚³ ;ú~Ê£Ùÿ†‡{F„/‹j‹qÿ©ÝñgÁg@ÛXäóï^Nž,¤”E†Õ5™Ì±ARNvÎLC=«óùIV‹üæÜ1óuÇc\ÝYɸ½ÅïdòÞÛýŸ¦qé\ºX‘ÿ„ï§ÃË .Uåô³1ÿÌnt纋Pÿ*• ¸l·¨¤Sç½Ë*–åÚ"™G:jð"GÐ>Çݳ8>‰°14‰í¬^%+Ήýs<™ŒZƒ¹f 0icZ} &§xÿûoÊ<å˜De5 ýåÇd¦8óQA;kÀ‹Mc0×}|¦„!ÐÊN‡Þk§ˆlÍ<Ÿ(qiÞ÷‹qI­z†'ÎùÿƒÍîyO4·¡´ùiñ‰£·§m? ÓGhAxâOÞ›âþüÂËóåP{«(™f;á-î¬;M¢œ_œüë7|þcÍ…]‘P¯n°Q}õ¯‘O–“ «þpx†›¹Üdíð¤&:iìßIŸlÜ—Å2¤B‡]•Z2%aHÈé¿ïöèXÉuÀºqê‚(Pi•Úº&¤•£¿^­ðµëTÞ&<®ñ¡±`qŸ™ Å ¢:ýöltPë„Ñö¾T%ëäÃrëñÍM•´FDIÔ¡ú^ä$ÒzÝæÁd¾Vðqœ¾L"E¶î «#h'¨ªWù>¼Á.Ý É°b»™ÆG² ±ý0ÏJæ&^ M\¤àz=û¬æ"–3´x„|Ÿ†Ó㨮IËh;M¯ØÉzÛ †1ô‰ƒ cÎ⊽Âý*|ìç7)=‚}¯¬§š‚35§IÓùôsÙa+¸Á½^/ I`9¯¾ÿÖK +‘tûŸænýªBäò ™5!-ÍŠØŒìþsÊFïëV‚ó´üTÒi Y¦ˆ Ú"Óâž@ ë¹fK÷sªzßÄ·OáIÜ’ãÙõ˜¡kBè²"æ |e'c« Ðȧ€ÖŸÏ=ðùpKÇÊH&C…ÈÅŸ®»«•V\8 J@ħå~>?¶* }¡¦µÇuÔK!ro7hGI!<ÃÍü¬ )—av¢ê#ä©i$\2´=tÖK;%õú48«ý{ûÖÃê÷ÙG0i.<¯–L;ƒ£€Z»ªZöÊ¿g9v…]4¦­“ÛœI@ûÚ§¾aGsN6¬µèÇ@ŒßMglÁ<7 v¾«UÊÙ·•O#‹©æÿëæ›ôUwuêˆÏÈFuÎðÿôEV¹Â´ÍÆïéïñ/þù2ÕJéò󉄴QÕ'ȃØi0Ö#En¾-"FH1æw*Í‚ŽsÀ·%ƒ–7CÉ.™Û†»ü6=@ÿVš L—‹jôssW®ÔåEÝÝÆ¹ŠQx1þU|pJ2Ÿ‡S‰ÈÁPL4tI.•Œ +` ‡œÅ]·6OÌRrÇ®ò`I9ý½” š6—cÌ`œØˆßü¼qnzÁðeÁ†¾Ý˜— L´ú©2ª×ìdc MŽø©]\ˆ¹ˆDÆJ2L;†Q Ûkˈ˜À®Á§:}ó°ÓýÚFa²Ý+£ËÓêCuôí몵V²·à,Ç;‹.ÿDÀÞ®%Leô@ŠtõëÈ>y¹¦?&õù›ãYÙ`1 ZBÄ#îyÓ B Ò;ûñèˆ&Wžç–<ËÉ”¢‡Ù‘ÄJ™SÕïÂßdÚ4õõòP1;2F¼ uSg ¿¢vØÆq‚»>!ð­ó¼›ßÔeõ–§'#àÚdiÏíQ:Cdlú_¥ ‡ÉG¬o- ÅFY™ f´†à̱l·#<{‹ÜI wž@Œéey޽ñ0F9}š$Ur õÊ:XÐуl&—~8¸Ì”%NuDâÏ1o°ªùâˆN±°3:öQ­î\‡v‡u‘Õ6ª`†pñzô´ÓàIàåž´¤¦„NˆQƒ+ÒTš©ÍʬÛΘJæ©FeÄjR¸^g°ýÔ+‘F;æ o3z•Jž&…“_B¬ÎüU«CQqÜųzüéìBá²›–ëðe»8ßF˜z¢K®&ÃÙ•%xs¶5Æ£ämx¿Þ×ÎŒÝÃd‡i@Õ›6 ÷É´ g¬¹bi= ò*1Å$@*1ŠVüöΜ¡ÂÑëéÈCÑM‚ÿû¶'Uý<9 R˜¬ÊsIe‹C^$ÒŽ™TÏ푈‘(JL]%‹[ @­‡qˆpm­['y _‚/‹Gsoˆ9½ò[ÁÂ×›¨Œ]ëîý­9”ù™eÆþÅ’ëàÞQêñÿe2”÷ñîïÊmƒÁN­ ÿŠ@¹}‹zY/².Îj f Qd92“J:¸ÞÔøòòv㪾þ3*£«m†-5}áîÄY^¸1Ýt%@<Øþ3GBÒ ÅÞ¢¬ÔØâ¸Sç}é3#¡ÐÚÑÄ¢Ðü Ýñê;Ì)€¯9•ÿq4hWìjCÞºìFGðPK±'Sq eߨà61>Ðw–]¥õ@¸Þ]@¼CÛ 5¦|¤"5zéö(ñ)MP}-×pñ€5ø¬Ms?ò‘`“[V´k„š™”þß¼„’ê|7—ø¼jdÚa©ê·Ë[&ËÖ¥JôP«uÞ\[yb ‹øL„IôÛTê$#Ú: €$¾›HU¨åñÔ²djó 6y<šÉ_óR\v¯³»L¶=·%ã'…8² èkïU¹ÔŒ#ßµgœLÿw‘¥#n`õˆ ˜„pƘv¾‚Ÿ­%{÷ï~1ôÕZmØIþªJÍ‹$Aß)–­LỔÐÐ’EÊø‘ 0 áDØjñî²8èÚ¡(¡cZU©˜ŠrH5Ù*µ: fËÆ _ê Þ¯ô…›43\ÊxëëLÁ”²<ÆË½zn™0@¾Ÿg^Ðè[,æT¥™pñ†hNûF‡W-b ÖKv†JZàÕýO.YíßöMqqh -%ÛÎÔQ›³£û!*K^I¿¤•Åö@ä<{Ë¥tä#«úÚ3ûÊvUk°+НhžÞ†q‹§~·-µ «8{ô·0.† cü ½ÑáøùFJXµÌ õ1üÐ"r%äÿÀh.߇éaãOjñÐ8=Ç#üÏüÆf ¶57Äeôâøâ:/* Á‡s8BµZˆ–šýdëGš£' ÐGç¦ ?S„•+×Áb—pÖÁJPC+@ÈJƒ4îÎK>¼$iÅ.¥§¶euo ÝW• Ï–ùèËßÅ&S0Y qØ€K ÕŸ*¥Þ @Y Õ²ŽøéŽ)ã ½}F„Ýk™áÐâ¦ô?RDQ°’ ]ç¼W!]½Ÿõ8 ‚½B²¾×…³r4˜²‡2÷+#Ræ”?ă>üΨöu‹šÜÚVn5W¹òw@í¤Vëvñ¤)"l/x,÷ÍÇòø¡?"ü„3L Îííøÿ²I¾*ÀŠ?R4±ØùÑÚ¯‚çnEÉö\¡Š‰L‹qáLI5üûi{m-o8THœ ÃŽ¦’}·\·b¯gÄÀì:â¶Ã\¶ËyÈAbÈöç;ÍÖ0ÒþV“åä îŽ4'^„¯k ÔxõQÒ‡gYíÌeÛ£ dù #qÇÊVßaw¹$E8°e‚í[1µM|ýÓôäÀÌMcaš’£/IØ>t³–º‡x^ö’zlyÍ\g¬ä{ʇ‹Ð´0M,ì¶j9ÿx¬Šd$ý]¤©ØG·»­GV© ø®™Ø$ƒŠjG}2ì¥ï«0÷í}Q°oEé0˜UãUÞW &*"Ï ñdì‹Ý7dö¹¨‚‚ÿ,7ÔCZ"‹üX~‘ãƒtuP?¦ú²œ|O‡N9¢X„ØAÄú3ÝÚŸÏF)¥8~>òñQš™]ßPÚK 9g€î$÷ŠÄØßCÐ |ºwL|ÊG[k´9}"x y=UÚ÷¶š_܉…›mºû$to  «¾º‡ó9ý½æŠhOñ†Åͼ|ÍgÍLíƒþ6ÙŸÔžÙNpwZøuë௔ªÅ¿Kw 8ï‹‘.yÑ]ƒ&lu•©º­!¨ 1ŒxÎE^o‹×_2Éd,ó@îœ+e<ÄRrfÎÌý¾422w9¸Zj¿trìaâl>÷²Î/±sÿ|“â‘¢¶‰¿ãö(0 v‘³"WÚé÷PÇ®Pœ<¹}Ú.ÙÙÛe‹2³ÿŽp­…3v³àüQòJzgY»ÛÃkvR+ŠrñÄ·îÜÚŒwxÍVMN䀛¡AÕâY™¥à™É ÈNûWäË\ÿ5æ¨ñž¸ <‡*ª2”8n¯tƦ.vª«)¡ÁQ‡ŒUh}e…* Ï>%)]¼Ôeé ãê„þù®[Ã#*ºp )‰S.¯mFv9TÜŠ’1'ǪBž™o-üÞ6æàšØÞ»§³°Ì´Œ[j‡<ïm”mÕ{>eõ—ÌüF¿û'Üк ¾ÿÕ§ÄPÚöË#®þ¦»ê­{57‰A”Ô oæäµÙ]:¹°¾Ã§9í¢ ·à„?'†!ìÑ•Jî~ò™N9tcx±î%ˤ$T¾®ÅÂêîO/±æTàŒ÷Ðð2w’U¹ÃÓ'ovj^*p…`:çÞ×·ãî•O(A¿ò O59~#xŠä_ {¡ªã™¯,Lã¨vÃb5¢ö}­Ï™JW(Ù(# þ[²lî³5ï’LÔUCU1çeñ~‘ïÒFZ´bФ£Ÿ»ŽVCLà‚)ýXÞíýt5"sñ@õæ11nˆð§6yñÐô(Æ47_*g´sünëg!ul­ðßá¶ »6X£Äc¿Ÿ._?ÄÜ+¬ùE§ÓÁÀ².†bçÿ+'Mà¤ë©èg²Ÿ·ÖM’Rév½1¼û2šÙmÆ<åp=·9¢÷%Aq$Ýé²VU@ô¸RH:l8k¼ùèW-Ѳ‚—Q5$k~$€’ò+þºD­'êÒ‡  oÊQ«ø)&KJ ¤­/O·QŸY”ܼ´6²TëŽà…X.A(w­Øü{J (É´*ÚÕ=bnV R¸laÓ’Òî„"›×¤YŠÕ£0’Úðg!¸íC´ÃÆPh%poú †Áö(]W0V¥,`¾ÎªÂy*ô] ¶£ãÜO‡£ÕÙãàˆ–+c1¡/·…Û\A³tßdÇÒ·ñeùyúÌð¸Ó˜Ÿ°Æ¬ ÔuÎÜŸÚ±}¤ŠšUX=äÁÜþæöCS ÕþqoÞ£¢vÊœÑMéG"³– \Ï{ýs.®ÑÌoñYá!æ`›{D±}ˆ_mU,~˜Ò37³`òîSWþ$'ï O˜]Œ?§`~g(öâ>õ3Úަꨚ.¶HBŸ€A*&N'7»›¾t óçaRU_Ê^9ýŸst”5½/[N0iÚÍpúú«± º"$¶VÍö¿Ç%°A[ñ ÄÄdÝÏBåGPkCp&Üýä‡K›Ö… ÀϪ±À}­c^ÿ~9óœ·C% žp–(a &½–oÅA‘ÛL5ÒV¸Ý íÝIòåÙ¡’rí33m M½£jAnØŒç ­*ÙãXÁ¶"šÆDuៃљ@^¸ `Z¨ÊXæˆ{»©éðHgPi°¿Ã¥à Gg"ðæ×GÙäp•.’Â\ƒ‘à ‘ooJÝo«©pºçTÐCoS#ibý;†ea/‡­˜>LÊ\Øo€>àvÁÚo–´xÖðùQMM'Häýb©Ú2 ÂǬ­rY EuÄ=ÿÿ¶~é!¬‘¾´Ô…Á¸]†,LÏÅø¡b?Ò…Þ<ÉZ’I\0«Äõ’‚ÞKf#Šýcì4cÿ¸Û1S£ù·ëòt&NüyµHÕÂ&o§\ñ³žj¡ÊE©aü|Uy‚ž„TÁÿ¤9áIìè@Þ¸š£«:þ–A@ îI½¬1:a| Óœ“tDÓ~ :ÿQQ%î9íŠ ÑÓëžÉp–zÓÚ(HJ’/C7N£ãðƒù9/ZJ¾ò–»¡ÈØ%À1Óöda"§ˆ’†jñÏ*¡¤<“™ÅÏ/‹ÆAU÷?µôä®bqh'­ÛY[ƒ{n?ÒV%ؾe¸î¤sýáû\vyŒI’lõ(ʨã›i¦ªU†åseÙñ›\UûnÁ+DÍÛd&'º[Œª—ØTKBŽÖ’½½"¹‡¶6²X5â| PÝ€’Ôs܃+-–¿iöÇ ý|¤C:ÌìR¤Yóv´§à>¼^å(î9œI²˜5qòNzêoMÊqCÑðB'¯+ä!ç¼½°¦Ñ3«6ÈR¹îW±nk…ß¼ÉFçˆÄ¼åªÁ<Ü Ó¾‘n* ©à˜:òø\CÎ%†f¿ø~¬šâ—)]® èãíý‰ç`ð.8´mh)‹ª*Ü â4Cá·b58T]SIhêam—ZÕ®£ÄQÏ}Ä”¦«Šc•É R1ncŽ›R “Y“4n$à¤"˸å}Ó½¿åý%„mÕ£ ‚#m¯$äºçÅ'†™$›ÀEâÞ5”WÏûR ,¢8 ¹D)!‘’+ûÑÆV'¿¦‘Ïèì|…êFžã­']Š×!ÑŠ®4ý2ɵŸ³›vÑE¹u…ê°ó¶ôÌœ!ÙE´|î#®t¹M÷¬nÛ„«·iý€zÊ)óÖ[EåNÞ×Kvw>fW5tE±ÔÙxÁÉÀ:• K3#&š7õJàú—‘ý™i&h8rÑ;6•×1 f¸tok;.E”¡îû9Êý+C5A¼Ø«†Û’Ù¡'ï4Æ8—ƒ±Ú¼ UÏ?BÐÑüí!…SZCÓ¥HOýÜoÚ-Ù¶HAœ2.'p{ ×çxBÿ D*ÿqcFz)ÏTÛ1RjŽRÈ2FQmVi;8ùª ovTÜöÏ/¼`VK%CàâÙ$8D)Þª[Ø4x³ðSq*rú)¥Ô”4œ‡¡ÑfUéEû³$iúI¦+…¦¸ííï@Šå$ï‚iƒ™7‚Š(ö:EÏèc ¬4)¡ëzÕĤM…ÉýiÂzªv"ÜðÉÁPc5¦CbþÃOlLÔd‘Ð&ˆ+ëZxVULîݰÃâõ`€ýOP4³lm•ŒÝãœgà) ]KR6 ý(B;8¡b½³~o L‰?ò¡J¢E‰ÓP¿î§‡2ûã,pÂ5W¿køq|ß8Äg¼ó2‰C©#—ߨ.}ê $«ÏG3„ÀÍq7E¦Å?¾2$̱8f.hðhn.ÙPy°¢¥KRÖ\ðÓb­Ùj¨Ö3uOÜ$SÌG“ü©•\²M¹ïÙm>N¹Pä1¼á´¶úqoëâVô2¬Jz±#ÎOUm+ƒµX®íæ²ÈvªYqÑY^ðˆYö æJÞ}ð rv6É)ZUÊ@žEÇMÍ!Ô›™–è© o¬ZµO’†D¼€C -@A“á­œRQgâDžÉy\X£Yh$Ëá{º¤svÓ^7V²íB·6¼Ó[Ȩí9ǃ€{" ØúÁxg©ñ@t/ÜuÂó3Æ3ZxãÑñW:<°Ýƒ¼ýEo›¬ÆÍCða{XÍß[˜*–ŸzÏíÒ~6ÔT2°ßž `ånÍwœ…嘟;Y³FϵÒg~LaØW…nÍY qh ‘`Ö/hoÂÆa„³­š#¡lLhù©U!©Ó5*0v=ê%ÊÕQ¶ûÃfþC.0¥J´7@¯Y¡É§Òä@) 0Z0py¡Fì¶u¶<Ê•þ[î$ÎyˆMpÚ.ìõ¤œŽ´êжqˆxèn£ˆG?²)èø®ãp”hà÷í6ă¦,ve¦ÿý=~Ö·çÒ}¼¥TaÁ-;åÑXÂ?Uúy3ùN¦.Š¿˜È¤ÁE¥¤1Ü— ¡? M¦”éqÅ?•LOÌ1 /KX¨û,tvÖ-ÿåN‰¸?4ö=%%¡¦™¥X½cVEöìZåÍŸ 㕸dëðy׬^…dn *Ô0H½…»€…  Ïc¸ˆ8â‘JŠèæ’‘”úEõé`îIðeWþU"³zÆÃÔãë]Äññù>{78Ï\BÖá/²þOÚØí­‚$Ö \C¨­êŒ'O¶a¢£Õ¶:c:ŒØçµÆ½÷òó~ ;HöLèNǰÖnÎ7¬ ŽÍ}Ì輎æúŸËNÕãRæÃFéÜö/&„×™°Ì)šbg'@=1~È( @f>ëžAûšù§jÙnËËõY÷‚¦Uš”g|22å¸P£8k„štr›¨{2=f¢8€mì$š‡]êñŽ"évóo2èI¾ÐwÕ˜y·XT¡•ی9¾n¥¸ŽivÕBN–‡K×ÐËwù I"­Ôˆàìnår±Ï¬4atu|e¼@y¬FìÙq lÒ²vó-[gÆe¥î/ç’®®dÎ*ÎÕ}woù+Á¤1¨ÎÐç: l Ii¡”—u¿y&¸þáñ+˜sÂ\<ô¦ äè 0ñf|´èuóÕÇÌÌìV4ÙM‡ÞGŒBÖêÏ=¡.mo 8ZC~è”…ê$e¦Ñ#¶©=B«W)e`Àê8ñ1âØ¿ a+1ôÁµ¿ì•OÄ$Ä¿ü & Ã)AÆc±Ttb¿d²ØUêž×íQqéÀ#ÿŒ| Yšå`Ö~SŠÌo˜ä‚=®¨ïRu „6õ¼ç®šptU-øJsu M ||Ç|×^?Øã :3½Ñšæuô)ÎõÌWz€ƒnÚeý Í²» Ãi»TÜI6ÀÝW= b¦êÃaT ÁuY¶£†{B+òteôˆpÕ:„^qÁÄðºæ‡Ž¹Ñ¨ñšv ‹Œ lªXºÉ¶tz©ŸØ$IöÙ_Û[ýçí]^E©ç˜æöxÒàÓRòž÷ »DÚ{»È= äDB”¾4 Î+Ê,‡Ò·©›„=íÊËà‚šäЫ¢xº,®V–+žöˆÔ6›ƒv‰ –vÿý—ÖÙ9Ìp´æüÄÞŠùn@*%‘&O¤+ü]öÅRJ÷:%fõĽz°U<¸vðVKw•¡ïÍ¡Vˆ«Ž±çÇñ{äÖûÔê¶Ë9FíX¸Ä!F•ÑUËfQ€û- kªÔ`Jôœ¡F¸(„3Bwj5Þ‡©q’©wź¾›Nƒó spëiQ…<[dAJs*J€ NêÜãš’û¯Ë5¦I-ˆ)€ºVÏ&÷². 5…P 5½4ý[fIªs§ [2Ÿ¢ß¢|-@ñ0¡ªòyãõ‹¢Š‹9êI¢¸Œ3c…ĵ}˜g]ŒB„âWŠº¼ö0i¦Ô (<Ãæ¼dåæŒšH˱¬œA®dïÖsõ0·å™à«Üæ¦Øj9¢á%—sl^ÞâlLlÙ¿îoWgÇÑú´¼¡¨5ýWÆ îˆŽJ8Mƒ†5~n»S B¬Ç;Fо#uP Å2øëØÞLÙïŽ*šƒÑµDf&Y Ÿ;'Eú©“@·KñÕΩ†ø¶>Éq¨"á/„ÖÛa gC3B ¶Fˆ5¸¦#óTQi ¶”5°ãòWò®ª‘»v®ó²Ë9>ðoŽìš‹ô„Ô*&Ù½p3°W!…v7™`²@Ñwñé¾ÓÿÈãê ¨Ì¹EG Ö,PrÒ`ŸEtØãøDÖ.cèu^+€†Ýjc¥±5>HÎ]_ôìàú’ï ”ð=%c$Î+¿`P>„Öc’2€ŠÅhÚ„H_…1Ž éÇpKõD$÷·ž`qކ)ùÎK •öO#^Ê™«¹x…+tsi–Ørüé&búB§ãä×Ígðƒ¤þªÖ4Æ»ûš*€ŽÍsν{—z‡"¨íË4­ 2‚!†Á ·«š{,LØ«ó=k[¬jŒbBÅ|™ß«øzfxŸ]ÁÙG9‰¡;5³ïöÝÉŠ7ƒö2¨¸l˜cOŽ¥TA¼zQ‹OʶbÒ¾:(qP¬ÉG.¶!´-i9tYN´ÐßEÓ’@ôrØäšÏ»cðzØ›Ö(h¼ þö½ŸÙþ¼“GÍáÆŽÔõ2v]d¨-©¢yHÞOÈ)»kó ZÁ,Ò+#¼yéX´'5˜°Ül6kùð; f¯Ÿ¸Fzøu#Ê«Iìüô!6¬ç6´LKÅJÄ«êCɆGªË’­>xJeEæ{`7©À²B>%¸ŠQš•ÿƒjŸg»×8.„í ÕBÿu.ßç4Ö2P3@u„¥½@þ®5àåÔÂá=çË­M@ÿÖ‹v¼ÒSˆžÝ]0ê§]¹‹ Q †t–µ­&p”U ¼A (S}CŸü¥,$«bDºxÄ)á hlT Í }•„¦7>c;H‡ËÙè,Õ)2=¥ ¶€Žo›Ü^ÞÄn=–ƒ`oZ’ŠŠ] !ÙDq$E·ÑÀSK¡ÁKؤNˆÌÆ‘Fà‚@ ‰)w#æ©[«­—;Ð_-»¦ý‰·Ñ¹7Æ{þ=O3ÔäÜÜ‚†}.àºÑ‹*Õ•“G~Yö™¨ª@]®8Úì«Nã'Ú¶UþÂ;n¼Òð 7]!·Lΰ¥)!»Yq‹ä›ð¢–IXž²| B¤jÙËû«YZÛ*6‚c®¬+¼+ƒ]i._´ÊªåAæÀXdUÃRÀR÷+%@Ú(ªEØp‚y7±„®Roí÷'›„qÝâPÒ!_ZmS §ÌGÛK¿ÙõÛñÝ“ú2=îbƒ=¥y“w}ywº^%,oÙùòKÖòîŠú2[(òÙ… ´F`6$è”£È ¤DÿO•Fï:ÖBZ¢eoTñº©0vµ$<#a½mev˜­B!]¼¾¹y¯²@£J{Ó¬R1ÊHŸÉÿèëvËE~Åz>òeÝê~¢ 5ÓøžØì”n„Ü$7dz)@ŒnÂ⧺íõ·~£Cq]S#ã<¸æÈS+´iNÉø”üM¸Ì½éÀòZÝÚ+ºŒžM^é¥è k7Õ {'€!8ódÙâ« p&ažM'ªé@µ½–¬HÛ݈ßy8±’oÁÂmyÍŸ87µ.©£æuÏX6içw»Càžk²Pe #û0ûóR<3îþùtl|#H¶+Vü£"tLä‚Î+Ûmo,snGw×èÇ—×~ Ãß#DÁÌ÷ô¸ SÄ-·´>®ðmý°§ÁŽ,¤®G둾#³xïŽ?wiÌ#Q‹ù/˜=‚p©‡ÃÅü¿ éuœ` yÕo*¢cJw´ {Û.ì»–G.Ñ x£¬°tšU÷M}Áš"x„Õøöú%#`\@œ‚ë{ÕŠü"Ì/cØÏ3 Øg‚"|Z‘Ο~íýnb´ÑQ&`%àµYîÐæ‘¯VÞú²xÀ´S¶ù«ú­mÉj¿«À<Œ°tTI;kê!_b+}NwË4|ng£’͸ŒÄsψ9‘ÖVå'q†ï.ŸCäÿö}Üà ‘õ[¯>v}¢µò´`àþ4æ³pV·´©Œa‰ÛiôÜšŸ¬97ŒQQ.±@ +¿|Œs ºÄ–ŒG6ÓùT4h _4J\bC¬V§²'«xÒ±ÞêåÆ@gôVËó Øú}‡ëM1ÎÖ%&cˆÍEÇWsÕÇ÷KV;#ËïZ¯M½½¬¨bd¥†$eÏùxHOoÄ‚ûɸá*Wg <½ã•õ@ÿÚ f’X t”ù2 Þg›·Ô‹Ï€©À‚éü¾`…n|Ï¥Ñ0KQðUy„žKÙxÿµˆâ›Y˜qÑ=QöŽ( g‘¢Z!y®µë#ÔUc Ìù©¡Þ3øƒ ÚÍs¿meÊá\óâ-W1;–þ®]0”>§ðz×É ¼È~ÑJW{îÉkñ €ÍÞéÖ˜×(㠀Ǣºø]õ'ú†Æ)-£§wO”ž!üïÃƳ½ñP ö¢U@ \û§½µ£ŽkÂL¾ ºÓ÷º’Dî#=|Cö½û1¦›qÐÛÍÚVë”e¾ü.îÜa[B×¼¹^u–NH3üf+Í‹PóÆòQçÿ6'e±¤='žéÑxÖ­§ ¢ÌÈ+#|ÆtÜlÑÃðjíÙ…¥½l¹Nh\±€·¶¶Ïßí÷EpA÷i†ßö²šþ CbÿqΩzMÓÂ2õ*\»°$avìÚÒ•–xç›d¾¢ÙØà°FY÷É­U ø’én®ŽIôTtµ¶^‰OÉ&•ì©ÄPC¸Š5rßs<"·fÖ{üÉZòØaUy  XéýíÄÖAf k¬—¡ÆoWÜÜ/}neÚˆ`Ý7©ã‚Ç‚禩ª)Cì ‰ú®¬øÏxDÜ«äûiQ¹†‰Ê"Ÿ¸l°‡jÛίÚàüõ¿,¯¹±&{!Üó¨˜ʼº©Èp¨àB’ˆ3S)rŠY’5ïû„+hvaP˜dØfû0£2ßÅTæ"mg>dÅR©7>÷‘rP¤}lÈ]ˆWÒ5³oüƒ¶AepÕ´kÔ‡ŒºŠòŠîNU€\rÈ5d2¿F¡=å!à?×u]ËžVÄöˆì® Tƒzá*Î%ÏW»ÿ‚3¹03ÂQ åðõꮸ£oEGMÔŽw°”ÑlœÄ*–ªŸa{Ë€ƒqЭ(‘}§@Zs‹E}¬ÄMæpK;Öë?6¡âš`yw»aÝê{ÍG¦AÐìÆ¦ÓošÖ Ì¢T3—œ úíIµN#4/ÈŠpÚßpß[„#JŸnðV—µ%‡yè–ðd#ë™YŒœÏiLeG­! ΃² ÔA¯ÄÍ]”¨ÐJnîò{m×É T0‰Û°½ï¿äÀ~ËÚC_¨Œ_¶VĦÛ6¥óè•FÜ£ãùN£Œòk€<Ú(1\z2ü–h6X©ìò|ê„Ušü8E¤lÓZ4D½¸H5cµ'ýÞ©Q!àƒÁý$ äzKè‹Ò=©²¶mýlŸ‡Gv¨ þ½C´³A³Æj8Õùà¯è 93× ‘{¿cMçÞÌP^ üs—¶Šq 0ù§ÛG›Î îjƒ ¯µ!F‘m`6ÿtÏ~þ‡/ÀQæç;oÓš‹â{v»¹C^¹ÿÙO¼ä~CâáRâ ke¨„ç xjo*!÷«Ú1À­Êâ¿WhX F8£Ä@[>þ ¾ éÓß©¸DjŒ¤Î; õÀâoSTfþ1°§3C¤=èñ6!«=¦Yâ9ò„i2Gš¿ ÞÇe7P3î$~ÀæªlhÔ\®ØN³Ä€Ô>­"о ¥çÉè'pÑSHRyhè1)‘%ÛD‰ç*?ôbÒ.‡A§ +ïñû>º „ÁAª´Ub ¼îÉäzÖq¿*û® ‹žçà/à[á÷’à¦ÐO"æiéÓâÙÛÖa˜GÍU÷Ký+þkf2®5hCù¾×-©C_ŽÍF 21»zÚQóœ–Wû£pUשçDõ'{zé(Q;à¼*“ÊSX9–Ñ.lG‘½oý,Þ3Îw¡Á<†‘ÔÅFE—¶×`>º¾'ªDÇçµÑÀ18ƶíôÜY ÀÊë‚ÀÂ…´\!,áï/Ú³Öå$µ0I† [k´°äNðþ5Ö·ök€7˜ìf4M60ñìúìPÜÞ•Ñ ‹i’‰‹Z~MŒÂk2ö¢;â:¦¾üÐ!×xŸÉ«h¡íol´7“òËÅ@é ]@Ë'Ò¼¬žYæ'IJøÙgÖÉß‹æ›N®­¾N=ßêÄéëÒ¸_›k£“»&””á%è)¦Aðh .e°€ÙlŒ.bW{¢yåù»ý‰ƒÉÝÏá •Dþ‚(;ñ+ñ|Dÿ½-gg½%_JlÍßI7[ ¶¦Ö\ÔÕĬ5òøÖÕ¢q†ë›ûÏš‰(MœçÀe&w8U\%;Ó’ÀODÖÇ<ÚƒK hê)Ý±Æ ÊnF0Â(ÉÂt¾M°°8ªiÃÆ6§ö\t Ôе>R«lKkÇ^@<¡BU͘b»°BMb+‚y ‚ÇB–nH.¬>BMH¦™—:ín¹VqNn´1RE×Nóu@¿ôòÔxÎ~_=ºÂá—Òä3Ôòa²÷âþTº=s{Ü…Î:@׿l¡8Ó¾‡†çQû_ùnóêkitIsŠ)y0ÄúYìƒÃ4þ …Äk®SÓvõ1]R~cDûÖ,ïJ{É&Áº¼_]¶S@QÈ”¨XÚ‘2·©ÒLÈõ·†ÚEÀB:±Ôã@06Tû,byâ§‹»I¹Ç÷›N¤÷ >ý÷Mnª_}ﱞ[µÑU¢ŽàTg~ÏgÍÓ'PÕ<ê¾âSJ“`ÂCs$+üÓ ¡X¶* ~o)–ݶ)íĽÏ@Ëþ}ƒãR‰á±ßöC&DÀ:&‹è¥hM{ Uöû½Åcï/¹´±$?&óò8d匸_S0MµóËÞÝ… ÃX45ªuíM¥|_òá‡Ãaµ?»„djÕ¥—…¯æ!ŽBÊ«k óÌ¢‚Nü·°ÞqÊZ*y?B¨Ó@Ú d™C|\ð¯4/ÔéSœvX"ý.l—ûòO.G6N)hœ¬†›͈ @[û£BôޤÜ|I4Wƒ]ÛuïìçÍÉM8‘ЍÈYŠÒh@\ô¶§rÁà¹ì„«DtIUՑ޲Õþì¥ï?Oýrë¾h5È…âXDÕ¸35y³ih…¯N¤ÂÛy³z¬Û‘½sßl;„j¸ ͳÅÉÙ7C: b ì–°µ]w”ò¸MqëªÜ™U2ÖºÎõ\ݙ͗¨ÿë>?3‡^×Cti•++†•ÃÊ>¥S¹­qï“©ƒßƒ@ì¹Îx‘ã°&Š,‹·t˜‹“éèŽá¯mu9Ó˜WåØôö-¤ Éa'}Ï(||hÖ]õÌ㥠»&5ÄCÄyâÅ#Ç•x ¹röœÊ•RÂúª#b–z¦Á,žØÍqM/-VÏÌ…Î:üZÍŽ•‰*-|ýs·ägtÊßÌ©Œ[ò6q³¬Bè–ZƯ–*ßy©­gtn.ÙØ€86½*„ÆýI÷Üœ½ƒ ¶ËÑꎽ½ÛP¾L+)0€jB‹FºÜ–ÛtÀD“ñ×,³ã]º ŒJo‡¹¥ŸÂsÿ˾&> —w=óZ<]¥ž!#;.žYvñÙñcpµu%õ’.ìaȵå5…i¼š_$‡DözÕ™YšÈ´-´ãßî.Ì&Ò¹s<5ËíøâÛdAfY½µJqŠvÙ.XCŽ{sk›`OûKÒ.5ôÊÒ=ÑäµåÚÝC€eÜ›Gijª²11Obvw1ôër¼Î@S?(î!YÝüUh,¤5`ͯQ³jVúæXpÃÍÍ)ð<üéq”1­Ø[ÈTš:‹øº}8Ø´¢,{²^Ó§§=m‡@Èò8, @là×¢JŸ=›$Ðì+†rVEwÖ¹£D嬎`¤œ&Pý‘w/}‚A§t,¥ø¾qáYWƒL©£@¤–J´án~©Û¥Õ5"ž½ö]¸Pýd…2í!Ùg£'ðÛCð 7G_n1áTÒ Ê÷Á7¶BâÞ°‘ô8uï–špîâ°Úš¡R3•¸Á^åÔŽ‚R ´zãš¾ª'C!ê¶ÂOð1àÉ=Æof÷³ñý.X)šÓ:üÜŒäS¢D¡ZGÄT1]s¨v8¬AëºSÕBH‡#™9fþgæYËæRtô—âCÀ”1ÚW)€Œ´ÇqSæá¡½™ìÑÓ•|¡´2aG kh„ˆ|g¸•BØõ0>8fË6“”8wÓ5'H¶¦K‹õY¡û$$¡dDøé½kݽw‡4ÁJ…˜D'§J5™•‡› {C76ÐK4Ü,Ö¾›»J kņ°õiWaO^¦@4€¯<ôcö3q:üâ"çrAj«´è›Ôq#k!êßɵI–Ri>Sod ˆ²‚&ž6ÕÀæ~Љ]r–­&ÓK”êR(NÔÍÖã "HØíR¬ )¶ÙhA20‰Àþà7Ø1èwÁ¡Ëë·œì€Pb ­wA0Eu §Ua-?ïXÐ>þ¯ r²²ìâ5º¢|ÈNIõ¦Lß6øÎzhaJ-»à¶nñÑšŠ“Y¿¼6Áb/ì… /7j71™zsû»<À3Ñe‚ñÇÑÄj<=£À…‚ôÅÄY&[Á1øë ¹F™$ûµØƒ %%ªuä/Üq»¦9&=ÃëØ=ÖëºK¼ü4‚$x$̖ĆYjœÞ5prÈ—j¡;~ÏëìˆÉŽ(x¾¦,¹ÝßjuO;©1H"®S#Ÿ ÷÷\MÝÌÝRÇEË8¾×Z¥0Á=ð@{~þC9oG²á‡+j@Vºe8ŸëlVe®XÒ³b%è°½ê5#AH5ØèPžÂŸnáí$å;jÒì°øE”Aš‡&qHÝÁ +_‹òW‹:(LIšXe?vì±ù§™\UÏ~kõ>Põ×îf„FDBp¨'‘¾àûIØ/˜-u±“ɺ@šQ”¡^±·Óþ³«¡çõ¶ñÐK–Vâãx¬!•$Nøé„=z(Þ²éiÕœ"t²#£ûè ¬piÎ?بӛ2ÏiˆðS|Žpµ+i¢ouNÑx± ¼*û¶tB•¢mv¦ƒ*pqÅ&OªÆR@_Ò ¯to3wSnmßÉQÛ‚'Y²^ÔBI) ([nÛ3Ÿ%ÂõA™?U’ìõYœ™.õÑŠ¤=Ö$ÿ„R±»@éÓÃà—l Z”yDâo£¸&¾“•š~&› ¤×ŒËÐl¿›ÀÝÉ]|¢À¾3Òd Îh¸¬À¶§ˆi,Mg‹’öÂõöù…ßÚkîjDÇœmH/ÿÆÌq”;n¼é—ç(‹ön"ÄøÖv¼iïwD…™äâ1ç[rÑ€”<,þ´YÆk~—mµÒkoî)¤Iž‹€Û<Ö8%-Ø(až0ÇäºgÞy÷ÏÂ'äF]Þ*à•¢ê…-(~Wœ´.h Z±³ï ï¨Ng÷¤ÇÕ[2zÙÙ“­œ[KþË cxüQ¾Pò£Fî»|u‹:bŸ){¡`ÿ(´fã<nú9Û™<$‰½^Ík“=rq…1è˜~ÑoÅQnÙDbrpDm~·~òý'Èå¢pvAÀdÿï•+çn ´<‚êf]\¯pý/Vþ502¬%,Å¡tzb_#Ê'!e:È}®ô¨œ¾¾¬´c E”o9°ÄÊÞ‚ˆ/Š&©®øÆ~â‚b8AoÈÈÏÑ JA|XD‰÷={jQIÛ fIŽ@ 9ABøË¶Òòm¸¡ŽY×DcP¢¦L¤E5È&ÉX­„A ›+dщ÷ó¯•Hf»s5cÒ¥ZO»Þ²O.ú yß¿.³GºÛ ¥?%[] êî!^Wž×­8 1 ¤ÁZå‡K9mß¶»èn¹«¹ÀðP&I,ŒŒ:„%oæ|òš9öU€‚¼w8‚Ÿ ˆÁmY[>¼A>f\¡½¡Üÿz³+/0uï9­],ºÖ·cxéç5Ʊ¡g%‡>s- L¨z83 =¢bofÊ:„>óg7*Å÷g‚K•5Nųiç€mœ±Tâ-ušõÑÆ€†£ØòýÖÍëuH¦Ék-ÿ?Œo\Ÿ+Ϩܺ‚åÍ_«|aSLåqD‰?Fn¾îö¹JñRWÓú©0%®hí7“ÕV¡:‚1ý·(×èäyäUÃL57±HRxgØÒð„®¤Õ £9=,îRYD/ñ#Ýê9K‡PDsÕÜhºú‡iw*t‰?~²4ŽšWÐöw!R8ò¾“74G§¾ÐÜÔZV©š4JBt¬P8 žv7°Ïh E²…µ`G¼o¡øÑ.Âëð€êC (Ùã¦Dÿÿ»–0sž ÷¦îß+Ÿªmm¤• ‹iÁ/ÆlÒóleô­7å)޵®Y UÖS¦™3œI{SŽÑ¬¢|XÇC_%¦ß¯ WÊcÌdª¸b0!ù•%¡o†T¹‘´gi™AÉm´ðß‚ÇÓ¶Bz}äßj‚]±ÇLšÐ@Âu·ú}›%ãOµA(W †¥";Év]ìvÚAmÓùÀh˜|VˆÛ5fÿ»È/cLž ÀY³´ûƒ¢C°²!ÿl%ÃÔj0 u ;Ç3„î´ÈÜšy°òO4;içðt]süèVŒ]·œ+.^xß(¬ð¯Û@ƒb°‚ “^®âY!G¹é|Ë ‘ïûÒ¨ Ë´-q Ϧ ;¼à>ûØ#w£MŒÞ”à %'=W¨»‰SÚ¾ÎOÕ`€ ÷Iµ|ÑaÅw‚l_}ÃLèq6¤\S}­¡Õß`…5Ðl!"X7Qé¢i[p1oƒçw')Õx?ÅÔ'_eê)e)û…X¡s‹ êøH"–ßaqj´É3œýtk‡TÄ™ë±Jð\£Çr òD(eöØfÖNƒX#Ž„‚~Ú«÷Pꛟëø>aôñ‹çAn)ªØðY™ B%¾ø"›n8Ç¡ÓzËüŸgÑÐE#ešq¯ÝȨ}[}6‘Ò'‘ÿDzj)±)Xw+ë½x°ìEnà:!øÌS¥‹EšÒU/æ=°_éI røÙÆØÎ,* ^~@çWh˜ª’¸‘HlÐ_¢œÓ¬MÃæü0èD­ûáú‚óÚÆ/S6 ÆásnbkR¯ùW§Éó„‹M§êÏõà&ZÿNÄâuÆ¿X&àyû‰_>ç¢i²;)4 |ìb[}ÃCpYû»æPq{áçph¾èœv¶$:·=veUQ#PPòpK¯Ö™ „êZE¸î‚ží>?|û+¸„ÌÞAÜ*œ‘!(ðûºñùÿ))6Cßá¾ Õ+”z@½ë\¯ßoÛ/® E²¨Åùpüxœr©b¦FK}ÚeoÌz¨7Us“¹ARNBJÛÑÛë@<üä*/S›Ûñw©Žhðú<Ä/”rÃä8tä*'1Å-¹LŸk@× Õaܱ#P¥èUy } s\#¨kÔL)èhZmˆp¢ED·}?'Û¸‰]ß±ü¯®*â¾w¹]#Ý.Což‚3ÆK`þ•³ ¯‘ÌôÂá„2yÊûY·ÕVá 'A+xš™fAâ<ËéånÁL/…!ôCDgÓ·ÿ‰þç8 °;IÊü Îº>¦rŒ,Ô˜L×ÉAè;陪è ;ƒ©Ìk}Éõb&ÑŸˆUb2®p&L"Ô¦?ãFöÔ!‚ %bË›ÇÓÇd5¼x¾º»µëX˜Ù ÎJS$kÑz˜‡1)×ÐF§eÅÁL2¹5ŸJ= $;a³'*ÊÔ„{w‹f8qï˜Ê¾8ȤB[EÎ¥¸}VÆ7;?7ÜõÉ ,£etT0‰OO>C²âUÓ§•\Àùçq¢ Õ#,µûv¢¥f´ÔåQOrç=…^rØù]ºžÔÏ‹†ÓàñdüBc¸¶V>÷/ŠmT§¢UûÙÄõc‚€;˜>b¼Låa ‚²t«vÞ«½íÖÛ†ri;GÂÿ_• ­ÀNí RH"„6 è]5$q%à] Ô‚ÃÞþ}Ü“ZÇÖ×7}¤¿I'X~t}¦¾'€·Ç½:üÊ'ø"‹*ëžyÄóHäú¹61€‡”ÂíÜV‡àÛ¢RkæÐn²aMàñgÜ}5+#4èŒeðŒŒ„.:²YS $ðЇk59u^é“4§+Çý Ðyœ>‚W ±æ¦:0"`-6ñÜø¸-ý¿À²=MàèÌäâž:¾ÈèPKóÚ‘bü›´Ò®î§Ÿ |{®$êÔ$‹™Œ@ÊÑ: 6Ý~˜8*Èñ±*DÃâÜdr¹YFà€Ž% )U¿¤½8.D½‚¾l©é¤6c''¶6„7q:äã+evÓÝÐü»Csº…êðüj`Æqˆó/'¦'‰ÿ";Õyð¼\’‰QºÓ‹½®Æ¥ ‹hõ zŠd-³²$ÛIFÝqùÔ> G%EYÃþ3Èøñ “nâ'¹í#?áXÒ’­TCú~Ì g¡¹e¶BãÄûÿ“wu!¡ÕøJäŽ(‹ÙëªZrRŒ)`ô¤c)_T*¹ÐÐˇ2TåMê`ÍF»Xþ@O.SY+ãL¿_Sœ L4j)„Nàn4ÃdÐN–þ-ÿÐYo˜ÀGfþÛ'ÒiJïdr‘‡G)@m‰2×QÜñ‡A¶})Hv:à¹úF/gM(dµ3i}l×uó¬¤ä¶¦<>J‚¿âò…e£—¯–(†kÌ\0ê+Ås¼Û‘àþg>™°ZbA®!xšÊñ£j{”>¥¦ºA°Go˜ðk2¶czî(Ãjû\Ý–ã“ÿQ€®35êiªmNš’U}©"@èw?³9ý¹!YÓÌ„ù•û 0Iþ9ÜdQË.8DQ¿eã„®E"vœ’ Å~¼:;ìÏ…:6¿fŒ·$“™<¢L”êž°[°](ð¬2\ÔGLòiz›¶RYX‰œ¾+‡DtŒÞ?iBC MAÀUøÑšßÍI•—ûÀ}¦Å†þ¦ãí9 džÅÛÌíµ7"›Ò»G¤áÆŸl8‰å]oðת5p÷$·¹ÔGdç”ûæ#à½êor«Uœ ]çåÝŸ¼³ÝexÆ”—¨P‹±<ê/ ‡üJXð1xªÑ–zmãÂü‡y@$ØžbŽÈT‚œÎàÔWPÃÆÖU¨ûÚŠ¥¬Ð¶¿iJF=ñR$ÅPôõy•ü&‹V îm©œ|–ñ§¨…ùËÖÁUÊXƒ¾eƱ›â‰ïþº›Ÿž8L@¹>ªî´ŠÄ9"°Íè5úO{•º†–ï† ãØaÏï~›‚lñ©ÿ¸,B¦¸^æÄdÔ”pu[‘6:1»å ÎõX€ŠœßzY?³01=? ¤`/§X…ãH¯¾*>V¡~ÝUn¼;OÄk>v08#tüA^‰={.žpöz±5˜£øî”!\Ä+pˆÅ­uÐáÀÛ»1tfÍX½ÍæDZçUkwhnkv²XAEi϶SÎq Ô¦'qbšÂ;mÊÍQ#ìHC:]½RéX’¬Êp-2ûç˜j)y:NA‡iY«ìê¦Ù3Œ@}0¶ú1í¥®½ñ¨ÃJô<¨c·ð$'ø÷&‡IqIi z‘üy)„¥ÙGkÓ]‡¥éæeJ…ï$EàÍË$&Ñ P4O‘tšmýß_ŠW”Ì~TššÏ_~;ÑÖ´„ìeÍãF ¶“–,oÛ3éSØîq É*ÇÚ š<­&=‘¿|moÀ°m†$èòw3ri SÓ¹¤@ïÞý~gÔÜ÷P—a×¶Žeà~ÂI$qÃ"\M!ÂìcßÜ"¹à)m|‰ÆT“Ú£^»:!2>w½ÒEe“³Ê®ÍþÓ¡dáOsm ÚÛÙ'“Ilg}×ÂÇ«'è„pϰ@SŸk±‰(×Ƕ’·ªDÓ3Þç"WG"ò{dÅ$%ljÉl·:QžØö£M¡ÆnNûûѬÚ[Ô±ýŒy8#ÿ7£…m¨ÊØ^k˜þ°äú1·•°‰K/Â3I¤W´ÎîIgäâ…Ë10˜/û,‘ÊHî-TAwÓn0J ’+Ðiçâ¼oç ÿ˜ðlniÕRÇ5D‚«¹/°/ø2¼Ï’(©qa¶ês•¢Òòˆ·£óW&¼œöîÊñS",<'¥ƒ¨`¾°Y/÷IŽ“K•ñD•pŒ£ø8cq~kee±[ŸFÖ°Øì²æ5Í'Ù{;”ض¡7òSò£Õ²ÃÔ•#³·]á«*ŠÁ;mGòš0³ÁµÿÃŒÅxŠà'¥oœŽý¡âõz=B¢ª ÞÊV™!½~.r¾o$|9ƒÖ}ì/8Uìp¡hxñÙuî´j)tž4*2>yІûµh)eh¾išUÄ#ªäâ@Øp‘I8ÐYU0vNO׉=ó¾× .mÚŠÍ«µÞ  öÙAT![«’ý‚è³y CS™Sg£€gLTáT~GdÁy@í5¥õáCœNs³kg¶";ÃÁˆbp%@Å£¦Õô?ìr{dxIεºÏs•'§'ªéϘ9+c‡È %½!£èL^—‹)±œšúã¥Uå9²–¶ª\$°:lÅC½Í̇61«Ì‡òÞÙmúa=FÓi€îIòR•ø!ŸÝÁøZbÝÞAY£ ÷-=9¢Óôý%IIÔõ!i/Gá`­Ïc~ªôoši1¼»¶yšÍÍKKqûb»—9r³È¡˜Àÿ® b®eœ =ÚmæNJ¡ý¥ñ¤Ü¹[Œ56–ìÆá»753«ÅÄ7Ûyù³^þ¬àèkÛRÕ…áót1 ¿ 8·d›|è¤4ØÝæÙ`ñÝÙ]JŠ:‚¯+UIæÔðÆhŸb‡ÿ»»¯æhЉ]ƒ9òsLômñ‰¤_éoAïª9-YÏ¡–›u’† gŒ¨#ä8M_·èr„;wÓS¾Å¨«'EÔµŒ%¤ÜHÔ^sáŒ-øÒ“.NÛçõ:œü!5é‰ÎíF¶wô¶XßÆÊ† ƒƒÕÐ †dÒ%o‚œZýÔ+è9©¸/ãœxí‘l…w\új¦:üf¼j4¨ËõQ)¨±Èá\;YÒÚ}è•rÞõ»pÂÙ2×3™sðÔôi<†€g1Šj>Sæ_†s·±âN¾?Õ=~ £>2æ{æŽÍ· ¸×ÍZé—÷@›,¸Ì”œ«XæÜÛäL²ýV·ÕAº}ºMel§Iàh#ûŠd¤§}äž]CøÍWÓàÆyú ëãþ2¥gà¡Æ³Nv®ŠF±Ç¼ ûæGÍ{2»E0W~2/Ø acKß‹qˆL‰-ób¤$¬ U5åñ•‘…Æ8ì¨Ç³÷´pAtŃ{Þ1çú< I¼›6®¾q‡‡*GˆCì‹ÒÆ0¶Â®DÞÖ§cQÈ¥PkÃg2 e2Ó¨ “«À¤`¾8¾¯«¨„(X þÿ «l¬kC}®È °[Eó†ÓÑðêždpBŒp$K7‰±0£·öá !¨…ýÛv‰”Þ¹õQ¼,ëjvsüù™Þc·BÇIŠõó¢èžà \¿;Ç °Ä6çâtêŠíøO¶ñv~µ®†ñkùv}îº k«Èö»NLFz¡©;É¢£óIܽu Ÿ0èÅÙV$c¹üu]åà €F’ŽÃÃ×½]gè~ÚNÌUX¤¥†|ÜÙ§¿0®æ‡÷Y,Œ;õ@aמqòRêTGTµÜˆá1ñÕuƒ ¯$‡vÚ•.”~ Þë oÅâ'ÛáòÐ+;Uä“)¬Ý«(Žjç^zAú’¸[*^ÀÌè`3õ’gŒŒ¹êÇÜWÝÆM8¥ÝWÉù\x!tNÛª ¶$,¬M@5ÿa]=èJBÏ‘ÞËàökˆÅ5Ç xÃ)ãTðÓË'‚Z³d ó5GÃØbV0"¬J–ʼ7Ö»ŠäºÖ/z Ï5IÍTåMpY&·(iË# DšKÄøxŠÉ<±Íгßd0@× aax&Nu•¬¹7Ù:>À±âkw\;¡É%wÜ%úÉ–ˆåűO»! ¶¸a^JSšYl$„6Uà˜g9èOÝ¿ìÅ™õõÕŒ{ïcZ1ýé:æp¾d›#ï?Qˆ­MãiïNGÆç½©–ͯ4¨ÏÁÓg•~ñç;ÉÉÿ?ABRDl“a"gõÅ ¸•GRA°2½œí·³²%¯ÿ ¹§>1G5*r£©:ÓìH¥÷‰ê¥2³û7s;lþÅ\>Ý¡;¢G+¥÷c͜콅ܹ!—¨RQ†´Eo©ßgóFû i?HžV!qè¬yÍÄv7AÃèAìÅ«ò¦íCv¡énÛs¢0ð·:|» ŒÏ™¼|0Á8݈HžˆXÆ+Ý"`9þûwwØg(~*_fð⃒°Øir9¸¿Ñý‰CÇ©âVš­ig ŧeˆ:ͯúŸý•Îçm«H¹—H· (‰âŒüé¨ü!Èü<»ÑZì¹âISY ÒÈ‘¶ žàÙMd8Iú-Pcã1ÄÂÇÊëô'³Xª²UÉÝ¡×[¿Ñ 'Úè<÷WØr¹Rí×òVÕÚ‰kÈ£¬i|ÑÎòV¤å_×É !cÕ•¦IpvEÍXþ{ANx ¸o ª|ú‚› œ»» )eþû:hüþh¬êÅ*ƒÉÁùõü ãPõeóÃâzK:á3ö§}¼£\ÒÌh6ÞúX]ƒÁðU‰ÂQÐè3^Í›N2ôûaj[4ôÚ ÜòòqéÓ³qT–õ+ìCíðÝŠU‰þ_BõœuYn¥ºÚIwgýô &KªdPQ©¡˜dV¦¹ì†ÙÓuª7íîRí“Í– +é§jnb ‚á, º²®\¸Zœ»{­OX¹®Nõî¯çòGÎ’i}ÉŒÁ(!Õ}"̨]P«}´«AÒ‡áá¾~A– ÌAmó£Ü›ÇRÜíñcÄ™IñÈîhøµÃ˜—6Óç\I(°îvÚ¶²ÒÀ¬9ŸtM¦¹(< ~~—0¼º«ˆÝÕ;À(®Åä†uIª- TùâZbv€†'+û_\²Ï†y9êÄúXËv±o™Qô/‡]ð±¯þŠHÉ–NGñØ£ # ìºå3"ÈYIWšPÓ·)‹%“œ!¥àdõL6mRR·~°­ë}3]g~°äUÖº®»ó¡+,GüÑ€{¹C!…‘·mn7ø]—J„-ŠF¢&ÿ†AcBT×htö:~„c€–z B„ïϳËËô?ÌcÌÆÌn^1ÏQ³©MwàV#òì4ƒ¶Í¤õ š³¤Ýæ(~¾¹öiˆ;ÉÝÈÈU*ƒ8+.&µ£w㤷@&–æs¾™5“èÃɹWäøR+7£—”>>˜˜¸œP#ê •Œ8tK‘"¤_­Â g§Œ¨3)hyPþ@h¶p¦i›É:b8 Ì´ ØMÞ2;M·ÃÏ!¤u›¸¡¾8 ½¡|wr鹊•êUÁ/‰ªÝâ²”1¾=v´ÍCX ìÀbrªéMl³O‰{Ï“¸2±”„åRšYˆù“ÃpúwïÅþ¡"‘2€Ä4ý“MO’—)f¨ YÒ¤¸…†z˜Tf?²\(ïõÜLì_rWmm™Î&\•(Ï»ë~Ý\4´$55!]%¥y­€­­n :Ÿq'ìS7:æ 2 ^§Lœô¶YLë6}f3mÖT<³ßÊÕÉ¿®Ú?2w Å%§1ÉZdŠˆÒˆZ³F¡g±Â?`Š5{àÀeuÅ8T@ gnj›jŒQeRç$­óNˆ"vžåK#!F K¯%½ÂÇÐêg†–áø¹"˜`ýw k«"‘˜Ä¾—QÛŽÃ~¸ ù5‡ ô‚Ñ#õ›ræøe†êÍ\ûçØU?…•ëtP¨¡¹÷¡jW{å™R°ó.ë'™T‚"•hTs25ü+˜W–“ã±Ô‚׳`›ùvx°“ª-l®XWB4+hªfôöugí?öœ3¤½tˆöîq¯U®ó`Š® Û ˜Z¬ß÷‘ŠÔøNvš±!Âhtx¸ªÜA‰òÌQ¾(èÔÞï¢N!Œ¤KTmÐ`?ÕZbžà[oòÄ‹¶™îÔæ²#±8ªŒÇGˆ*…höDóÙ<ÔÏažGg“gåå<ÔÐE5³Ç%6Qjém NºI+y^«³…Þ­TNÄõ¦øâÔÇ6n…Ü-âw¹^é ¡—ßN8ìZÌb~ªÉ»°´âºzÁ#èÒgEÍ:&é GÓ*Äå«ò‰Ã²&:´ÒTe»ÏEd®®¢þÅ…—­ÀEÎN¢Gà¢=%,÷<á¯`®¶ÚiF³ÿw€¢Ok0^*ªD‹W´i™ „g°ˆ~UO_£qáïÿYÍŽõ^W &Àé§é"°`©+ä>ý‰÷±–ܨ•ÙøLÐJ`;:‘—Oý•qø‘I(û0+@m@ÅðûüP<±ÄÔê ®ÎxRN8–n…ÃÆ)Þ¨Vjù€QR ½Ü´¨f&ä ×u.Wl”þkÿêf Žt„3¦ñ7RBüìÑ<Š&3»Ö Ê˲Z:ÇuË ?!Å<Ýå»Ú¥<Ð͘-§‰ÛáX¡ÍÑ~Nú…¬ãå!\úøË¥F’Ñ‘Ú/WœöèIñ²–ߣÛóª2›áŒäH½ƒL Ïüe›ý]Ù©¡xÄ„®A@d ¬)¿­£2½‰ø9míê"ª¾Ä*ÀÖÎkmÓ×A7ûE¾d û×M°¥Fäð*ÛèvûØR.i¸J¶4u؉bxÁUC’á.œOåÑš<çxRc`±‡`%¯B³@‹©?ð¬Ü$ÂÀ§¤ z´v 9¾pv9}¢c ½TËŒ¤Ûßqo–P=A•ˆ›Ahòº3;о%¾ÆTA¿×\¿ž.G£ _ƒªóÒK¿#¨óíËë­[¹Ÿr¡éÕí½½wÐ 7g¤pÍŒ¯~0üIž@ ‚=ЛùÛ6ÅŠþ7hmØdåÓÊ’qUÅkñ*ˆŒã•êÞWŽ}d‡ –½^³×³“ÀŽ"ZÛŠÇNPªËóo¢]¤´k±.«<²Õ‘ÃúáH9ïO}¨7±¿%?¼—P¶Ž“˜Ò Šj9ü»ì\œ†`ƒÊ²T¢ìWqƒ/°áb5½¥L}ÖÖV8;üFï?§ b"Ó´³Ú9-ª<)QŠ s[<*>îv×5ç:•OüîL$æ\ 5ërZ¯$yo¯Í`OX6T8uU¢ÆN>*…Iñ>Q»TB¶I¡Ìô†uOÝhÄžjΫ0{ÄUn5WæÑ†:×KÌhW²3Þ&Øs·‰OrÖÕ¾Øë#½v0Å3ÖíñþŸ!:^‡ßDº5¹u‹a²ìfkq©05x>½ÓJQIó–(N¼J•°pHˆo¥Nó®sŠ„*Ú¶û ’RYñc‹Kx·Â7*Í9³;K›¶ýé±";q¦Ñ}Ñò<ÒhÞc Aŧ´Ão“ÊŽ¯ ¸‚%g€¨=‘ ·½XðàM¹*ÒjéX|üTÜprüÌs '»"ݰã';Å'Qî½*Ü›¨WÿY0-£62Dv°q™Ÿ\È \êÚ•–Ž; ï.àò.9æZKxÁˆ7Að}I óàìïáá<–y?»Fio^ã0¨'5§MèÕ2káâ~³?.íNâÀÎ_ùð§pöôüp}ðÊQÞÁn‘Åî"¨2 ˜ô#PtüK°˜á (:¢Í¾›°Qð„ϹîÙÉe ,/xèРhÇÏPÞ’WªÖjWu ÷ S5ÿ1_á›Vuâ¸&¿§P"ÃT?µRÙÛX{†;òG—ó1ÓÅ+nÆ„¬ã甲vMùÔútû;’pÊ#Ô Îk¶ïÍÚ÷!‹é4eVñÂWGÑ¿¶Í+žÈVÕ 7?+˜(mq¦G?M‰F}¥oÅÒ)óG’]ád›f`8øÎsÚ`Sæ×jE¢‡kq4íî$ÐÇõfÌOwvºë”üø†b¾ÚL­õ¤‘ L?Äe›Œe êæá›WÊzìÜP“@zéêÝÀ2û¼WÀƒX¿ #±1Öéì:ÜNjA ßtx™¼ÛÃWà`wuºG仉O“™tê}—™YëG-M4‡‘Fk .+/ðéÝNòpÊ·t™¾›‡Gϧp¶‘Ì~ ×kRû²p;áû5 د FfÇd£ÞÚŽ¬#kh± <' ©v¤+öÒmn=(ž3® …AkƒïPfDKC¶Þ!E¸ \ sï!דÂï礨i‡ ,û%ÜÌ»,úTdtŸX—ÚDß&œ‘ƒ3lz+y®ŽÁ3˜$ÓÀ×(¬øÖKÌð’çBËž¤ÝÏ_l2§‹NßEÄC¥O”Ðù[!Ôº½#‹½öq7’Vš‚7»LQ¯­1þ‘û?߉–k¿}¸dú»‰} åø«irM ½{›Ó‰Á µÕO‡POq©v1|H¤…é†àÉ@½…Yš~:ë-*’¸4F³E-[3Tay‹áf§¼Ó)|›æQdÑÐì¿­fѪЌ£UK²F´ð'Ep^ú'Ô¯d¬õü©r>¥Ã~¨wäQ@ 7 Aµ÷žfA>Ê(¾Ê+äòÎô,†°Rc:f=Ñ÷ý€&mâ-sAÿŒ²Ìa.k3,ÀðÉiùC'+þÒãaV¦´V°û5/`è_´©£-ÊŠ€jÇ¢,O½H<4Ãá*pîX¸ÅÐÀnx§Ü;¦5Q|qUæ ƒ'r4Uôy²+ø]Dõÿ|c%>kO_Hc‹øÎ¾dy­ê1úŽx[*Z#MÉ ¦‘æÆo»@™ w`0Ô,…Unç¦I]‰"õ„G…ã¢Ñ‡ “Ä‘-x£-™¯õy’V]m0蟶{Æóqsîå׋‚k?Ý¢…–Xïf^…SrAäÿ,éÝãö¢™ᱚ-mÌÆf»YL7¢CëÞ>Ø(_HF£v5{¦iAAÛÉË—ªJíS( Ó *å§Ê@D¬ÁŸ!Ë4ëx®ÜïäV±À N¹H¯úeôwžÛ H¾Åzƒ“DÛWl60eà>µ è•§½>÷ ;Ò©ºB‰%Âã.ØÄÈyÚA¢F­qâÉ¢b_6“8PÚ„‡.e:°B ír˜îɈ§Tßw˜%vr6«»N1h{wÏ®íØEȸã®H²šý»þz)ÙâÇÔéßi`ߎ]–2ÁÃc-ëÈMfɳàÙmxñؽ^2¥1Ÿ#K <þ¬“Ù­…Éä†É)/˜S9ªH‡ƒº7¿•Mò ÃlIí#ùˉ¿³t^Ô€CÐ<%æüÅ>O‡±þ¢udú/,Vó-³Ó+´þv\¡¢*“*râH|Ãp§Sƒ®/bf+±Ðǃ‰º ÚF›e3° ¸;€gí±«ÑèåÇißÙ·É÷/Mæþ15­*â¦a*ˬ¸öéÌ:ÍáÞÜ~À ?¥„/Y5?wneªn¢¨ªë̻݀mŸ9í÷äpÍíÔ?„Ê·ba Ñdèš}?D‘‚¯dZëÓÜ–03€@Åˆë» ¥´x¿”É«¡{Á„Áô§] „ßDŠ;s¢ä²Ÿ¢ö!_ûzÀµŸ®Tí÷©VEÖ:RLÉvrÖë0ç>æ`1C3m©í,cNŒNÝóoPUÄ¡Œ:ÿyØ£GÆþU¢"!5ko‡Ò€ï³±×"Dx, dç¶j“1*vo6ÔXu‰RV\š¥ï³Zÿ¤‹ãWü,jŠÄ*¦XY8oçë~Â‘Ï ŽïoâÆôõ0ƒµÂé]4M–QÛs±l ïey´¯=,e”®1™eÐ4ˆê,*Åð8l‹rQÀYIÌäú³µÆCýR¶EFJ¯,ÑÃè°#œ*”ĸ®ñSo-y ¾_àÿU0znHƒüèêwæV ¤•o.ePk2´+7›ãÍqX¿ü'Ò»§mfh}‹ÞGm¤Rö/¸r¦ŸQ·gŠUZ†Í³Ì?Ê»ð?÷›¦ÄÖ)Nfš»®ÿI‚1Þ[zK!©D Þ[˜-t/™tÝÂþïJrê± w­ŠzøOž®A÷KH^lqïV2Äð:ÿðQ0è[›‰6ÓrSUª˜‹âè§¶gÁêw9ËT ÇÅì½LÈ;ƒÜâlßí7M_MK ä*ÈGBÆ;\å’÷9è1·Ç?% `Ø•Pß¼ºHÂö®‘²4¥ hÖç·ÿ>AöFÔ¸¦RÚå|ÃY@¾˜mßûó…#K§dgï9 žÂÉÊ%1Û¾¾·ÁùWìåÈâ¼BxV$çÈFÞC°Ž»ˆFŒ?žOÑÔ4½Ál±ØŒ®ÇÐŽøÃ~¨vvn¨¨DxìU“Ô]ÔVrY˜¶1ø½¿,lypâ€÷u°-똴¯»XU˜÷Í:Õ«¹l94tÀ_9Ý¥îI×S[†42å3Ü-W±d`«‹’" @xé<´ut?ïk‘r°¤êqAÓöM¼V²f–0ã€æNë0…ã6Þ'Š x(ôÚãš‹ç\*ç¾^¸ÉÉ^ô¤Ï^f&œÁ5=›ÄÑ¿N¡h¹CL‘›´¾¢{‚pJQ]S ;¸ ‰†¡™ÎÐ_;ò‰§D¥Ìƒ®¹ Ö©—jRéâÔÛvUõfß.Ę­ð º n¼"œlIöDö`ü|Ú>„Í9Ñ|ݼŽ*{nñÆßYIÏ_Aº“‚²U8ÈÌŒ®Îêë¥ÕÑ&„ówk¢ó"¼ÏVîÌfhÞºý¸­*·þ‹›gx!Aô-û{¹e´ÆWNÑÅ@hªãR­²y_>¤ê.o*h@?j^”=ÉKÁÂQžÖ 1é?¨àóÊïIàà4m¬½FÐÎ{±WJqYPX¶-éDÈZc X–ôè4 ô“œTšS$õº¼‰ï¡©C¢_ç{⼫<$ÅDù3\¥ôÆ4Ä&?Çf©û)¥à×ܤîn¡>˜(±Â'Wß½"B ã»^æ@­åf~€_ ê¸<«i(§¦ “båÍåØ4Zʼ0Jüˆ©—µà<|Ó@½ÆÈ¸ÏÀ,™eiÑù3Ò„ ’xÄ9qaŽMŽkƒªÓ'æƒôsä÷HßgãXGSýY–l_¯ÿÙþ#í ö]ºÙp;•ŽôŒÑ­q9a –#EœºäiÎûIWvj‘®¨ô˜L©÷G.RÕB!úKf*^ÚN܃Br"Á¦`ú޳Ó+ÝÁ;PW(aD6xÑ+iòšÊ3çìÄh>ðL_¸¼aà» Ã}ªþýo{.Ûä«ló§îŒ¼Í ÕLæ:î Šýo=2 éà†æ-ˆ¢Z±yÇ_#¡5šŠŸˆßäðk—ë0ëá[¦™M-sVlrºÞ,` 28™?¢—ò(7Eº”%³„MÓõ–1ðòS{¹Dë‡=›Ó‰þ8'Á"Ø™›DuÜ|Mm°”êŽçÄ-pr;ÃØ9ôn° #qëám Â=ÊPûï¸n»ó+ ‘ÁH/â5ç µxžfÃÜC*Ê=†”ã‹7ÀBº¿’ƒ‰¼ä4ÏMǧO"ýÌø®ä‘àœ_–1/‚]”¾Ñ¯Þö–I­ôZ‰ÙºgJ…¶Á*Ž”-/ñÜšÖ€ *½Qï(†.S9ôþ ÝEt«Ö]¹hõk2|®Ò›]O8›ËéŸù?3”*JÊ”"a±:Ð5R¤OÑOðöۈ—¬ÄVC&ÄÇN(i`ô7Ïì× ÚŠ0H=¨ËÞ¹~«”š›’žT¦ÐÍžº»~Zú4~®)¶/J§2(\g×vQpîò…•Ó‹„SãÁ‘4Gc 3¾”¦û@cý9€~™\´Ð1ßœ\åÆÑ4‚ëµ5NÔèq¯nÎߪ82áOçgü#*n/dW•liÍOn5õÙ¶¸"…Len{ëë›/,©÷ um˜Ÿ4éÉß“¬òá•ìšYC ’¹œ0Ç•j]1wÒfþdºf‰ä·ZÃÁYùˆ¡¯øsÃ%ÛõÓñ=5vŸE¨IÎ#£––›o‚Y.¿Ôy¶“ýoÐ$’zQ‡Äåv<ø>S=ŸÁÐ)£MVg.”V_”i&š#e f2Úe­ŒB¤&¨8­û'PD¡Æ‘›RRY¯xx2äefü”Us†”„.¿ï9TKÊ“;0ä~»Qz&nµ¸>Ö5 °wC¢ Ÿ÷`Î"äTEzœÊ3¹ƒëÒ,‘Ÿ]ƒè–ô}y¡E¡ñjÉ>†o#ÔuþÓÿT±ÜÞ:Ïñ/e΂Lt7O,QDPd–4!¯íîZ*g"!Zq,|Ô|kº‰5·þT'¨´çûòçtƒ!^‘ aÜÓ±pHO¦Rþ3Ç­÷_ƎɾGG•Fø šÀSÔJÓ…í‰wØö®R¬ã³dbCKµ©‡ƒ°â7¸»å5§ß^?ÅPA Úæ«çý‡R¯žÁO£‚«dº•Íypá¢\<q%H™rÇ!g*^u‘2ù|¼ ¥fN,.øîÉRð˜{_ðGCmi™¡Ë,Þçj»ÙÚ&Á)ècp$Æt›&y5žÔRÕž[{K(½¡–ÔâÂK¡‰-È–ÑÍÈ>·ûe8c“Îø?]6v–KEî6‡a7vŠõ0)ý1÷oÌl’«ÿzŽ(SòA ‘ãÂXµzm½Ìw(Nn%ù’%¹K›â—nM§»þ@I*Ú7C÷Э#sàœ0ñ6K!@¨5bë-Ö¬ë€ï‹Êòêѧ•ý]_e¿d*J\,ŸÐ•µ•Ïiœò愪M„½GªþW0ÿ°qî3ë¹dxáq;"N´íë¤ÃÉ:K28_}ãX©4,V,#ëO$ºÐu:³àè<ÊÜ@Z톷Sþî\Ú Øëzô2%º/|e¹78¨‘Ñã(gÃXcÆ“ê'Ý:¹,ÁÞßwõŒÿCñþp þJÆù¤¾oý»×K+S+ض¨…èr{MlfÞ±pÏæµ¸¶I³Ü$ÏÏô”1ƒŸmäl5u"öv}¯E=ÿÔº±ŸÃjn¸5³½”<Ø;F—jXôñEЮ×ô!›è ×>äe+gE5’ŒSáÑåÜaƒ_Ѭ@øw"RKØçäõð:¶˜•„>Ö¿s½I¢K5n(aÖ?ºšaß-ð¡¸mx·l-°â¥ø±‘éñë íâ²Rz$§ƒæj`0Ç)Í\Ïš^cd‘°Ñš^“…¹–.L EY?Ê=¬ü"ŽJw¦ÑfþF­„ þÝî’¦?Ñá,C[ž¬3nÊŽ|È«¾MŠ·!òØTì©Ed!Ö'GDÚ8vFѽ”ŽÖ^OPD¿Ä÷~{ø®]_±bhÄ.Á§ºsÚKС|h*ŽNõ&Y#µÎ Âðï¹}ö •|‚ÒÆ|}Úÿ€$^²°„Oßà2Àõà~¸4ÅïÅMi:ùnIŸ~A“—„99NIä§Ï¯S  ¾ì•=¨þiU΢†ú¹8ÞQ& ­#ú?i•‡÷–OÚõÑj(VâêñcæY¢z.ÀLÀÙÕTÛøäw7okœ(Ö Êv×)gŸ¦‰ r‚–Ÿ¿ÏÌüÆùQìý KŽÎ9ü®µ“ç’AKæK‚™$'`âG)WJ‰Wg㽩ˆ|l±¼^n'BÃíºÃ'*SÓ±åáÒBõJg¼Œâ¶ª›»œ(ÖxÎO,Í7Ö”kÒkKÓœC5¹wc¨šóJÈ €ƒG|•Ú­Þ¼ýÚàíÃ?’•A”ÀR¹„mæ~œ ](9µï®Ì[€Úí¿XŸ[‡ï÷£–¸oE@¨ò]3e<%ž?mÅæÐ.Áò:¤2çb¡)í°¶=!ÐI5ðœ‹Y0âõú{Bçëx;×¶Õæsbà¼P¹æõ’Ká¶:˜­õ¸¾wÑ/$AõgÞKÖeÚ5{ö*­„5´l9Õ ç±€ÚÔ?ý£Òž„¨òÞãøiÄÿÅÇVã¼´|º”~¢î¦ï³ž ¤¨¥ý ‡®ãï×LD¬WñˆÛœp†4fwŽó‘ʦúsgê-Cð\¾WßÎN<;~5},²^ƒ¢M#ïê)FNK•5Ö†‹/ÿ\Ï[wÀWqÞôqx¬²íΔµÎ x1,!èÙ®ý¶É¹ê]ÂpŒqå|¥R†öe¼°ë!瘌Qt™´[>0/š‘‚à­j&;®Usï»ÁŠàãèO“s·|QBLÍšÕ›‹ˆ¾»ëNrÉ—¼¼·Xö¯Ü¶f^òÂúmû·q†ZÔÙŒ)DG‚šærú¸Yj²=Yo†}¤‚ÈjƒóéûD† ’AT|•ßY‰=-¹á>ú;GcÎïFªÝe[bÊI3ï·AÞð—kj¬¾{ÀxJGà“"Í•2H_îëi…g©ÆˆÁZú¢L7Ažf»¼YEW²Å»Ð(×q4$Ú’ƒ`àSŠ@¸œ¿Ô±>O2¤üv~;â^Ï]ÙÑì:ŸÅ`Šùo ["îUrtá=PÀ}O•ßfŒ.0ꉲJ.'Ö‡«þXv˜»°J|T;¬"cÈæ'tF¸¼B$Ý)Ó€p¶Þ¿ OûÜ™oš"CÈ€7Ê)¿æÐyBJ¹$¨ÀÏÕ#z?´œ3®ý óN »âÃ×Ý¢³pªašo6 kóW)51\b`dð÷©P pƒÒ ©ˆa¡û.X±)º•­I^bKÇ´³&jr žAHOŸòÎïÅ-t{/³Kûý®E­´¸±j¥¶ §ß7oú nh¸¿0–&t_«p¦ê׿t’Ëe›ðr낹𿕢·#Ç·ƒ= ùÇæÒ‘ R.dËÀO~מ§T³Ÿý)lez#’˜?ŒÐ¾?×áÙߺïØúÂS¶5þ¢É¸Î-0äû‡E]gŒ·1í¿o#w“ 2òüúïxŸÊ’)½0ØðÎøI)ùZš‹{Ñ ¶L2‰2Ô„Û=¢öà¿[ËíÔg°ÝÒ ,@ÈTôÖj+ÌÔ<°MjÅ‹eî”ÞW×£€Ëõøyši÷ñ(”þqV#«ÚWáÛ#Ø'“QÓˆQU"ŽÎuZ"ÓÖ…ÐäÙ?Ö‰ qOÇì·±\épki“³R«HÔh”3¡×§è`9{¯?¢ìXæCàrsÞ¤ ÔH–·mµ'êg-/`J¿Ñß8 ç¸Èrõ•~Ž¿Õ&º˜°ÿ'È]´<ÜT©  « ”ÕN•ÞAÂTŒæ ŸäG¬Ê3Êýä,­ ŸË¬ ¸oŽÅÜ÷­;¿µ‹îÙ¯Yøœm›¿4Ÿi‚é¯À“) ®]³”ÊiSfn(è+ætó£’m^pÏœ-åF­ÃÒúÔwëynEn̳5ùkÒ-AïQ¥¥ßPI0·R©”¾®õZs+Í0ý¦Ì² Àùx{¿‘N9f/‰Pz_…`áUôV÷Ù…î ¦V/#žÿ)ÝŒ- ZXžáã€O–žâÒd)²Æd? rýÛA©¹çt$#Û•Ø ˆOÞ¦. ˆ‘1ðÑ{k$+4r0õp »u¾ Gµ ªþËZÂåW|ˆ,;l}oc_/t—QK5’ZÊÅzH2àÛ_Pýö ¿O‘¥ èÅñèI>žCÀ„wܺÈòëã,ߘv †EFÊaÂk#!JZµ~ëÞvmÒåh¥òÁhï`kô®äsùó2zs‡Z9:ÇŽSÈnR(Ö,ÿIK-C¾Û¼Š¬¨0àý A™âãºL瀚ŠòØV.å>l®»—ÿÙ½ˆ5FË“ÊÌ‘#Çà’P^îÖ‹.¸·×å(¨]ô2–~Qx[I-ÜhNïjYûï5%L”kÓ™‘æ¤9A(îû2Pz=®”IwÍ*ò¶ÖëAÀ ŽÃfWáœêrñA´TÒ­s‹Z7EE^•xW{a{‰Kºñ~6EíÆó¥vn‡ftÃü)a •Ò hÇ•»›†,ÄԲةøH‰­UÓùhÇ-š‡ZAêGÊËOÜFq4ÿeé4¡ÐÉuK¡VI‰ 5n[kb˜KŠ|¥H̼ ŒYï¹èÙ†b“ºæVQ³lýÆÈ¢Ó8ӱ׎?¯,¡+ß…SP Ÿæìictv™ êÝ(ÞÑMv:ÊüÕ1¿ììA8v4OæÏ»CõÞ³,Ѻ5hXéJCIšÍÓîbW‚Á0›ß&4‹«ñ™2Sã òÜ‘à…Û¾î(ÔËÓW!ѧEýlÁ6 N‚ׯãÍ_éÖª¬F¾Ð~S7fV­¸Ó P°ä.{»zWëÂVŒ’Èys´ù}Šçl—z«o‡Ñi+®ñOÕG$† šmq…C H.Ä%4)ŹŒoý Q«sk9üŒ~D-×ôf~…á9É$ù Xqªiè¥mGÄ!•_ýi(O 2lÒH-–^@ê°\á?*Ѫ(*¿™o~ÐiB šË ZyçQ¡¾kï‰Ú _òÊÌS[%{Ûé*x]°'Ì'ª°ôWÃD«ÈÖÉ{úð^ßáÝsT\mý3²¦CÉòd安ªžkµG¦ñåÅñYwê¼eû~GLU$>ÌlÐõôÈŸf /1ÅÞÓy–X·©d·ýÿN‰e÷§Ñ&$pIª‚À»Cõx]c6¶Bœ·µSéh‚’PÔÒŠqKÌòwrïL„Ƹ¥ü]’|¸o·V}±?p×WW9r%Y“×åv&ƒù¥KU¥¦5Œv|‘Fløºó gÔÁ ¯€pûÈ%;‹äFr·},D3‡ñœù¾»‚‚j2”kÜ+'÷öQ3¬ç߼ů4ÁŽN¥é•w lÉŠuEøÑÜ.ß&¿õôðnàbò+ÄËŠ|‘~FçÌ€¨ý‚‡ëÅNNQ%ÑXqîrY6TÊ@œÀq_àé꟫gÎÞ¾ דÜ©„ùSNd£ìèl L‡´¦Lsán<q%겄§‹·n¼wz˜íÝýjg†¢èãm+DŽ$ê}Ê´ •ÉÞîôos·µ»³¨0ÿD™ <\…‘¬‰Jªžo–•›bz+¸Y±£ÂOjY»›‰§ùHfÀºâF‰êÐÙÆX†‡¹è6–"Çc WáX1èY‹Ë#Ò½BËðôáPn;· ŒYÝN.nÈ:˜>*X/p½{gÂ?ƒd{P(—‹yï­L>윢le#“F!øÛÆïMÐ6vuÀœ +º«…-Dƒm¯é'ÑT[l[;1Új¿ñ†aŠÄŠ˜}ë­µE¿Ä“îzøæ pçлgÌ‚„UFBâü‰I¢'lQÖ…„ÅH¶ìr:d²9H¥ëàgØgc‚@‡¡¼Ù ¿ŸøÂ‹À‘R»êÉäÎ,eÍh³É#^$>vaDé×£´ÿäËÚ°{Ð4¥™‡ crø ÌoáýulJf ¼ÃV6¡KõEÒ@z¥ƒ"HêÛxÅ€Ÿ$‡|Üé0^\³NëO»ØïÐuQ+÷QƒÏl˜ ËUëõÔ ù=Tê 2fr¯SJY·,+©È ¾fØþâ[`ÑzÝØ­Uþ{gó@ª‘ŠÝ•+u0bºì×GV5ªôwZùh wºFÙŽãà…èW4~è\{f"Û»²YPóQ‚]{ôAbY£PFi] (§¶!A¼’CÂ*>W†º·w±óÿbøaüpù!ãÈÄ€oÁrù43ÁU÷¬”Æß¤ÁÞ†¼úÃÌ;$uF9·7RèøžFyТìÀÅf¹dæQî»…—ú »Å†Ôá¢ì}®¶P<À²ïcÒüjVÝ MÀiÄðÃO!‚óßd>wB¬ùÆï‰Cáú±nr‰~ê[-c¶ªÛEéÔ T2†‡V•ßä¥áóÃn‘ôÑ$×¶SAý¡âÀv}7‚.öxzâ"ž,ÓË—®ž|Z½jƒ5`”­HvtîwŒaùh¾š&©¬cÉ“àÞó}¥GìU‹³Ž^Æòõž†t÷w^ÒúšŠ.÷?¢ž˜ÇP³œ°I\ªáf +¥ŸžŸlI{šÿjÈÏ~I‘Wb8MBÀ:&Ͱ0½²WŒ ]ÍùÚ®Á!ìÃ%Oc÷ò—a‘Æ(õª°”©äÆ–غŒ¬2d°2ÓÈÚIC俘ÆÑÉEúä{ùa(Úâ%øT¨µLù±)p+n—¯vë·ú)U<3Ze‰{â“×Z; }Ð8'Î%é5 ™pµw"à30âL2s€´Bã€ÇZ·Q‰/; ÉŸA/œŸúç*a àà1Ñ-LôÛõì ¾ÎWeqnË‘yµm%=}ƒ¯'THKd}ö‰ˆÎd7fÏkÒêS@µ\P'ò¡žNÁW¥³gy@@8±Mß]W›U”E g½Iæ*²Å§¼0Ï ¼¡XHL%c#8Rû!¨´ÀZþåÜm}Ðò1m‘Þ/øJÅ©£–έ¥¾ös”>ÿz§’ÍÒ‰'ßjǼ…O_jY‰ËŽ¿¦41¯Žm°,åô¤hwî²cÕsñÀÖ×Ò;Ñ3êÙöòd¤µÊ…\¬ü¬2_³ì£i­™Å×êų HÑ­-%Ï“UŲëpW³¤®´øÚCy} 2ÑLAKõ‘Se|¹ž[p­´„Çwó[˜•ø'Õ>Þ ‘°@Ù!_S¬´pë Ñ+.iÔ7ø¬sêìf sçø5aDÒ ðwŠ›o‹­7ÿ€„:?>tO/±ˆ_t¿IÒpÔý•3M[‚A ÀP5Vöc’¾í‹‘ÉKwêO3†™ø¼•])¯ñZH?ŠL‘~´^ŒÁ»ÞÛ_´5]Òå‚M×ßgº<Ç"gh€ÇÓ€A“ÌDQÊ;òÚêo´‚-Qª(1Àg SúÎÓ+Ìà""Aú!{Jûý8J®øÚ1v‡ `›1õÕY\£ÕfαT¦Åeîb‘‰K€€YÜt+ÆCÝOÂhÍìcý}++ßøØO HçþL+ûé2.åc¶a{…g%V_,CÅ‘xý ~«6¶9ÖÁîEH´«Á&[TÞ£ÜsŒ-Îl#ÃmqE"„ Ê‚|¥©SMêä9y|N©I¾a3”Q©Ø(Ñ„òž/ú—}\F‡ºÜ?ÄærÚ-ðV@íú‰÷dö,85Ÿcûí4ò'çÊ[wÐú1B&à¶hØð°ïê*×ÖÑÔ«gèõ¡$áÈE@¶[= x"iî³ÔQÛÂG‹’£ç(8/­ù·×­)!@ᑾ <tNFß”†É‚÷"r­~„e½)3“Ûv« ´– 9 ®í¥üRä#2_Dzÿ¬ò—e9¦4Àzv-eö¶F˜"ÇYR´ç°µ¨_ˆ9eSLü‘©‘ÿ‰@¦ùñ¾oÝU;½K%ÅæF¸[Yv¢Ë¬{‚aá‹Ò£—xoÇŽa÷"Qº¥§÷>GVèÛÎÊf`$•³¤—:6†2úwøA|Vºy_‚mh uí¤u ôÀ€GÛ‰<]=Ý&•u%s ‹L ÎF¾ÂpHèþÓX^âÔÙCÉ:–}*”ð’¸øû°6‚¢,Y̦ùuuïw9™ßù¦[aÖ’’ M^ô«ÙF&=1}ðœ| óE¦öwné÷&x8´F^#N¬BWKŒÞi•a@öÅ5v°8ׄ”^õ”: G Ônyf&F…xw¸=_-d°™7ª.U0 o(nkc¯ÁRyGØ£D‹Éc=AnÎÁЭpWd«¯ãÖEü¶)7,‚¥¦žöð»cvû–”8ó• óÀñ E¢oÁÆ&»-ß p™Ÿ†;éWîài#JA¹Ü1³Ûô}=1^t1)µˆú†€WÙÜ,—š¼s¿¾i&LwZ‘\–‘yš³$ÐQÆ|/û¥3)^^ˆéB™ª·¬Ãy2tʼw‘³™'‚^ ï'E°Lâ‰êô^d2~ø˜O¡Àl±pôX6^±Î •c¯õ§Ž¬¤]Âz½ÌêLõðE¢“ÌOÛØCúaº,ø|¨ÿÐý hsÚÞíUú‰-äžæ)&¤´[Ž…tt©N`|75”Æ´ƒuÎ,ýÝ ˜Åð¡ágË ÔŠprâH0ê;'”.;´üx®ª|ÖÅ¡ÂÐq1½cûøVDïTÝð»òï=ÜœÞ`pï±÷UVª?tŒ#ØmÚNƒ¨Og Ëä£þ³}J© >'÷Ï# ÔbÏ™W²î yÅœ:8Ê-ÇÇ?ë\3”•(†ØÑazµï±œÐ×ês3î6*²œd°Tg_QùÕ‘âd+l b æ©Á™²r{ØÏèÔÏ?5”»§0fîu€­¨î“,<é»|ϔҢ®Ôm}Lókj™ËüèÀòÎ%%Fy[ôÙê]¸¾¤W¿÷pÉ]ZŽ×!àkdEeYiø¯é ßÝ…×0õò×òèUd×7¡&0DÎ N€PœAÓL›£”u¹­3Fß“û<íØ!æ·Ü>?¶³.tÄeDÞ—½Í›º ¬<†ä’6f‚@"‰’–‚#Å3H;âQ>)r¨—ºÜ—¹ŒÜZsS‚§\TDyZ7…‰z;”<°PX6tª0EÛqÄ݃öí‡,B¢ÐoùÕ"e߃ñÑâÿT#’鱑“Ë`rx„ŠûäÊHûÍyð¢¡,2R¶êz7[R-¼óITÏs¤­o×8c”ë;OF»Hên¬±ãe/ ôË@-t Òm+%$u¾ ¹9Þ[¢h¯½ãpõlä^…’ˆ:*îiä@¬ méÚÐÄör–N’ãˆDPØ:ðXù‘Á«rv[ŽUW¦y…£JsB×àW‡·Ý¨õ"}…sIaš½(åYÌ[g~!.§ ˆê¸§ÐÇÆ©`a´Û± Þ "ö1ËŠå[£w,4ûÈUí…ð¿>Zhê”!?ßA•Öý›Z·&¼àzº L=ÅA’òoÍûeÄ®Ÿ·„ºâƒ#¦î\ˆ¼˜W8a”öG “NÖ½8Ò[(Ð…-rç~M…Î'o/=Ì–bÅ-ƒt¹<3BGlšö3³ï“Ù‹)ø¯Æõ*,¦œ˜¬Y`]õxéÏP H®‰YB¿*ÿŽ“ÃO¤ë×7¤½çpت8´BÂHgkb+ùkG×jüêÄ]úKÀ‘¥´{¾Q2Å91M2X>'³¶^(¯"WDÒ–ÞÚ”ö9AQ¥š8¡ã–+’ÂV j`¦þ¥W˜.K¾ åç²V°RøszBC Ħu“ÞH÷T‰Ïî­ã"„4®T±fP˜ºŒp\£A°?#Ì¢§^ÃÅûyÈÖØ«($ƒ‰­»þ7×ÊTŒ¯çt3TV…·0 HÀä[]#:äAÇÜ*¸%»sÞÕ¶ãgdüA18$ÂëLÇÀíBWTe§}Ì&Ðÿ{æôqI³_ ¶–Ö‰™EÙZ–å–€º¸M¿î"RÕ² ÌŒA *›MsT ^0¢'Ç‘˜“•-ÿݼ©~Ò4¬¿,qÚ7m[¾!.æ:°’+LL`bvÖq0›søÅ \ËtàûÌ_%AÇCCìFcŽÎSÁŽ·:dŽ›â3‡—Ÿ{C½v:²µX„™_S92¨³Ávqƒë.ÞÔ²Q "_;ýhšáÒ®‚æ­÷в;ùçµ1zÈ[®ÂêdÇÇ13„äÔb2w¦üàºÆçÀæJŠaö¾,,ÉpžnN¿Â*0‹KT‘ÿË{À÷†\éšÐú"‘"GrDX´àbkw/#ýc1öRcÁZ$ÑB!ÚìËU½µ!µç·BƒßvÙúÍ«ªûÚq èÇÇW¦äU Ùà󃔌|FiìN( #Ä€ªÝ °âh«æxƹ„ßã’Â)•¨úO>? ) ÉúIþê—²ð¹t{7¥mÙ!ö5/,tqQ<–Ÿ—cƒI˶ë%z»Ïù˜H&“>¦<ýˆb¾r&á~¶'˜E”nŸ¡\•èý)š£ëdI§LÒk /Åú{•e¥8’QØuÑ!œ@¼‰ÿzlª(øyÒû 9 ò«ÕÏ è)Ü·~ÑiQ[ºÂÒœ=E UxaÁ$©«•ìæC§ØÂÌÖ¯»ýóDöKE=A™4ºä`–£K䵉–‚J¤Ç .ö˜V,2òÄZÊÄý­3ëÊS§"•ƒ¨8цÂYmªöCùâ`¼O·3TÝ+kŒ®=¸e¯]iíºÕUH,Ò%Z1}Ë¥(óFù= by G€g(íFnLÚ>tÌÈZJ(qBøþK¸qkwC~r0r&ç«ò©qn°9îþÌ%:Ëç…:š›!ƒ—~#âàR¨\:xaË$L"<äÉH¤’Òb§<ÉD V1ÿ¿ói ‰7~Ö[“µ§Z:1=yûH+E)lí┉š'=ÍÑü£©mƒ'z°À¹Å–±#™&¿*|”IPÙK]jÓ _mÒ÷N]ë(.ëã™3ÖGjºÿÝÀĆ¥ÿ|R•" oâ2ö`•™/Jí²Ô£!lMô¨íïüT;?QßÜÀgÖé"|µç~=¦Ð*+‚3¦èZ'²º06éÂ@ ¾ÿï”y-XŠ‘Ååž9ƒS”C”°¯ëdá–óÑYé ð×¶c6kþõžxg«ÈŸwnë ßÁß즛 {¤Ó9 0õ 7UZðmŸ§çq^$ÜÛ¿- ùáï@Œ!=TJÜó µ­=ÿÁf$óâ,oOŸÍñhöE!˜ûb2ýÎLn.ßÖ"Æï\ß1‹µMQæ*ãÑ»¹»–4^ÑÙŒWÌë{βÓÉç»sÓXü`ÝVfŶ5;™ÁmLù¥x'G—ÏÝ*FYšŠ ¾ô¤×ßG%'­ioŠ)ùK78vT9Á Ê<;‚ïÉ’r:ù{ üäu ±àÆ)ïXÉp 2[A®ÝÍ4ÜÑ# ÏlÿŒŽ]õŒ >-EvɸâRœÚai¹NÐÑÿ—^)s1º`õ=a Dµx‹;}ÀÂfȦpª4Ê«I²jª¾õ1 eŽd^‹ ŽÖ½­ AÓúŸ(w‹nøøÁú/°Fއ¯‡.®dÓ>×guny鲿„”²Î!˜¾SŠ»hˆÍ‡<é5æc&34mm¡Oü'˜×+9°öÆÍž¤Ê²Ÿ'ì5>&ÝáÉÎ ÷ýÙ»¾rèÚ¿¢]QµÈh8@À ê¥PßÒSzOeÍIºzímñ<ð½N¬¯Sõ‘úfŠchX2¦2ñø™Ý É“â¥×v{O*’ïk¿sC.%ûx\û¦ôYæÎ1Í Þüϼ}k1ï§ž¹ó’šÄ©Ù{ìA¢ ¯ÌÂ~kpÏÒ\« ý»RÜ _ZÔ`‘Jk£tâåófåßáÖÅø°€œÄíEó¬îô¯ÿ.ƒ)FwTÄ7óolfʈ{¸úRW 4À¤Öž„Œ_PÝ¿T Z ›R¹·sËöþ£"Û굦bkª%²í)¨ð]ôC:pa†Çj9ôþ1Y0‹ŸÈõ˜áS#ìÁ½27€Êa¶°¶ÈKwñÂ[öÉ=nBžv6éc;CäS»–{Gd®ü#µ&osd‰wã7~ãXž çôržj®ˆiþÂgoG@G<#Ú×)9M#)Eu*üÑÜQjíTõqr0ãÄO€õæ–gL¤ƒ•D×k\À²‚ó(Zk'~ûÔBbg{S©ÒwŒ/Ó»§›œïÌÿã,¿ ‰ËN½hchŸpÆ/µ±—èÉcB_Äó‚wæ#Nî©¿ãcâŒbxÂ%¦[Ýò!Ê;Ùe:¥=rš žã-ÙÏÀÜ8ÑqVJâz~Ñ*І$ë–P€Ö?ⲄúºÌ’T!´×ÿéEUP¤*e¨°ØÅ€%”ˆµH=îLzzô ¹âõ…óV~lÔŽäç¤F¼}ãÉêJÐ(FåK#©§üAˆô:ù1¯@Ùrf³üÒ"qÙO;¹ŠÁŒËê.¶+2L „p-èÜêBû=°‘ Äa±ÃØÀƒçNõ‘æÎm²¥Á›áñÏü»Q0Íè¸ÕîíŸÏ3_—†ÂM®AÕg<œ×*ºµvÿ„UQº':ö··âwa3ᬉ÷@ÕoÏ«ÆJù•ϱH.ff¯µ9,ÂHHˆ”Ê­TÅe޳'B%’ '¤[™Ù[2%!MŽ–=>…èWeöΫkŸàï5S9øfõ$<{g)ÉTÉŠÅvKèŸ;½}|³¢j¢ÂgHÖ¬èHª™û²µîý?ÀD{ÊM‡Ï¡Ýà¦òkÊ罂p+A±øe>­Ó0˜†¬Ñ‘¯w÷­å:Nº1fÕú^ÑDUª&•ŽfcmÍ£½ õ T…hç4Y¦S,M»ì[÷^ëÄc‘üºØÄÆ­u‹±;V*j‘yf&µ&õ#†r­«˜Å€0aû1qó¯vS’"*ꢠìiñ1¿¶úc‹ZÛ÷NIïú*µÀÊ''ʈ[ ÃÉÒ4À¥¼U·q‡®¬AxªŠK€C¯}Íç+Ö4h!¦¼v£Ä›Éz>‘ªŸÒÛ6twÇo@Ò¸N•„Þ5xåíD ¥'¸Zý;÷5ª´B¤9ŠÅîÐuyµÝ›Z3áLçÓæCw~à=Vum®àî$ú--‰‡?»ÍÓH ÎÙ¾…i=)E¼w*Á¹!¬äò'-+8%»%×1 <{üIÁî)”užð:MÄ´[©lÞOt#HÂþ¢7±’DC¼WLLH3ZL¤Í|JI.ÆÔ6¶ú4¸AÓÓd¯I¢ÈGó×åàØt†7 -3«Ìø„ÓÔØSx¦à® –Š€li "¹¾«W{Á(êC:] bš~gîÜ-Î…5?›bqÈö˜Çr:ĤLníMI¯oÿÚ±_+[öð}ç6J.Ôýºwbõµ7[ \…êÿ0…Ç«sY?àR¦ùLªJˆâbJ‚dhß@™Ú¤ºßdw¶E7´Í®:vµ[×H©ƒœê0—ÚŸò®¯˜ð=B䥠AUD$:-±¤*§ì‘©@ûULÌøn¨EhÑç_s·êIŽáÓÁ;a)‰Ì$ª<£Gù+Þ½ ŽL’eˆÉ ^Ò¥Üñ$ y%ñÿkìÊq‡ëUZ£ÍEÌáxÅ4ÏİßÔ40¦²"qR–­ÍÆDÿRz½~8~\×=jdžÇ 2N9ËYôvu°¦Ãe;>£·5žN#|ÜZf™±âŽVx‘v´®4?<Ίv1ý÷-k¶·T3Ý~9­dç;¶ *·tú”ôõòÄU~Á@1¯€öE0!tž_¢®e­ú­poë›3ž1ŸÞ)3 œ4ÛÉFtC’°@™<}“LJÕØV“ä2G•Ò†¥ó®ŽY=Bæ+U—Ɉšx¸@84tæ²½ÿѳºF™]•¾¸¡TzH«ŠÅM’Áf¡)´(ŒKŸµ7¼/N6ûM¼ëHmÝ¿]Î7Ã=”í²^Ëuëyåqy"á—ä”ëÞ~¨¿Yì”VÝ0)ÑËËYðT C±䛊5ë €ÍW@[½w¼Æ=—ߢáÙÆ9<Î04“]˜b¤ÛJ¢ÿ*j§: ‰]–ˆ¼$÷Pó› Ê2³Qðc¤ÏÉ 4¸ŒÕˆgîîËwñŒp¥›Ž¾kâ»ò[6¾ÛÓ B¾ë˜`[3‹ÛÌNÔuu¬øÿ`_ÞGd*_yÁÃB¤/铡Ö}k[@¡· ²€Z€Câ€dm Ý3½j–¬¯kï°Èež&ATD•ÎéŽãfíjï!-UVxo€YoÕ÷”[6^Í«£20îþsÉ:?']øÂÞ&ÊÚß ï´ÓˆÇÕW²K£øc˜²—Ðæè-0£áOoV/H€>:nÈ’þ‚’¿+6ø§„6{ÍéVn/ªª÷J Ý ëb“j/’ñ7ÁtC_GÓW(më߈ÌLχSò°¯¦i“P‚0þæ7ˆ:îÂ"žÀ©…~+Èù—õ­Î ë+RÀ …œûËöM‰ý¹‘±ló×VcyL?£dúÏœ¶`ü¢³—dUô÷aM$ˆ—AâEòU³’C…påñYÄVkëb¦$ölm.'G1“íÊŸVã™f§õ\å÷6àC‰yJß,gàUå]d’AÐ%ø)1”m¨w¢ÝóÙI­8[£vã2ÉÍT1MÏOû %|?hyü¥O›:4ijÐx6àõß°t¬è1t•]yQç†-_¥*,Dõ±aÝ2‰y|=¤{=BÌýÅ}!Ì1éAÄ¢šG™”«U!BÁå >S.< á ™æ"ú¯”—õžãމ=ó”ïÿ·›bš)Û2¦•†5€¢·‡ÛÂÏF[QÙSe¹ÞN° ý´H ªÝsw,W˜‡æH:hã»F|£{ã+l°џßp|vôïYÖËæ¼Òrn8þÐÉ06Ü*,ð©`Mn˜˜¯Rª.ÝÃ0ˆ°‹‘šòƒ`|ªŠ€¢‰¨Ê>‰ò£Ö»d™X*Ò/MzÔZ¢œeß·Z %Ãc„O@ÐQAÝŽGÏÖYEO¢)¸RP§Ä?â–“•­6sÑz*·¿Ÿë4º4ì:Y²}0ßhSÍìYñ¿+ÒMbmþE M!<#±q—;ëx˜c­˜’‰ ÁÍ=‘´ÏxËΔϨÏß+O¯j Yt}ÝÆzœÐ: ””õ”K…OA$×§<=Óß¿¸U’¨ŠG Jœì=ôÑmkvÇ4í¢ñV¶æKcßÊ0WÃNý}W¥ŒQ×s¸ x¤!„ÛÀ6y.°ôâd8Œ×MsÌvàðŠmÖoGw½4#Ã5ìØTœÛGâ>Q¦G-5ìSåÕ`ÒEï™”™ˆÄ+&CZ3†8‚Ý‘ZÙeZ½2Ãê™I~—iíak˜-$[åÓ1R£ƒV,¡¥†TÜz8çíփЋ>›ä3¿áó‰yÉhJµîzš‘e8˜Ÿ”šºšÖ4deûй_øQ[yÔV±‚ øåT%÷¡Î€ú¯]€<Œ6'H ëOÒ”+N’RöY˜º§ƒo '…Ê–ÆóC?NžF*‚èñáÃ^~Ó%ÝÍŒ}ìûòOµC}™· ¼ãµMn†Þ¬Ëv¨<*ˆÌ_¦aPü.ØæsºÒPt~—áÜ—Ô)TA ¡jT« ˆ¾µëPöì™Â?y«,[¡/ÕTzäݱ¤U.÷¾¯æôàŒ c\׈;9zăw²2ýt¹vĺñ™_NÀ–·®=ÙQî|¯õyÄ}j¶¥¸À‰Ú.r¢ÅÀ›Èwäus|”*éøëÜ-k êýq¾šµS«jNÍÙ±ßpo¤¿j~¯kp&Ë áq¤ô<Ž 8”ÓÀsκܫÛ•´NÐôž·oøä‚©`¿ ª%éÖéSö«Jð'¤£­öØ,AÍÂ^¬+-_{ÅJŸ7®m>{ØÃe)Ô{Î8zá-{37ðUz’J Lõ»<ƒÂ³Ûè?mN²ÕÐêŠbÂ*íô(•Úoú³úgod!¸Q{züÓ“¯»O¾ò!ngö*ß#eÉšªj°&Ã|n÷”ìj–èG-QÔ~ÔÏf¯n†¯þô¥aÄî‘ ¤Wi)y3ëÉP=HË?Û9#9á„HÙ—¿o·W45•#3uà]©?LëþÒÓû×óÝ–ª(“êSû°Rï~ÝÁ•’_ƒ%•ûñê®Á¯RÿÑPHõ˜×i`™žì’öéëpq„C©:zµú:fÖxÝÝ™×Èpˆ+¢&êpoGû<8ùCÍ-Α=7ê†æìD ŽïÃW^rÊ÷j±EæˆNã9ñ~¢íaF“ý¿u©€òeNjœ.m$X÷žDמ¯I Áæû ñ SÎ-ïBd"Í|ÃÏוç‚[¿de åJ”’f¸Æs±Y„/4K¾Œ°'zE8ªjíѧÕ‡ê5òati«ÈÖY(Ä”¬º_³ð ¢šžj 1×0Žñ)G‰”9û;VÓ²nÃveáC÷ ×'qg§Æí}½(Y$t~hdžI/!š mþ‘eÝRCÝ&Žo‹ŸÁ…g”†Þ.žu=˜‡2Bæ È%Ñd)z×ê²û2î&§¤k y"f¬¸Ù(Y4ã€^¾aQ @bù²¯ßaM3é$+êäB[F•3áˆÏGð¡½Ç;Âüü%¹Äû¯´âQŠÑÔÜ—ƒ“Í1G-ÿ“µyFgj¸[Å´‘˜á$1ºìn¤ ‹n=ó•E ªÜýT×$°H¯u þ×2È:M†ç™ã2XíÚ6“¬²4ÄAÊ¢À«@єݠ m€ñv‡t ¶›¼Ö6Ú.ŠÞ„•e1Jðû{Ëä[OÓg +Óh¨+$µË Ãt¼„â—ÏJEÈñ3ÔÜQ©Nâù9 ¶tªKJ:D 6knƒWÕê¸GÌ€ îÆ”§4RNb¯ø×¢QJ¿ kI((CqÒù¹25»Mމ3Xå½·Èš±|ŽëΰȈâ<3¸NPÀ‚Ü×H‹¼þrHg‡ZµŸ¤EǶ6Ýañ #Îø·z•fP_[ùú’M¿O² hjˆy l1yÙŸ7 N¨F †G)3tþ²×J_RÏ ã^L¹À`_=²ã"tFùpí)Ž¯Î ÝêQ¡˜®9Ôçsån—9E$«‚y‰jÀ Ëoqc„U‘UÅóÚÜᑉ¹vV*wŸ»J¿íÕPø©‰í&©?c#D BnuV£¡¯8öT¨{‘-Ÿÿ¼*îÓ°Üí ðSŽî]· ?dúÏInkCm÷(U€ó¥¨Xð’KÎi,±ÇR|dÄõb¬/Í` Z‚÷Ó›²Ð³8Ä¥ #ø¿“Ž„(¶W_-ÿ­Æ8¸â”±™ÈöŸý÷&ôõø4É÷^„F/3  qßf&B¾oWlÙÖ2lö»·E“ =zE@Ÿ{í-^ ëFȉÍ:Õw¼.¶Ý+z7ÅHcòߨ5á§§ïÖþ-ëªÐ›P¯b i‘±²¨kfP"[¢׸ñ3XÊâÛÂÑ&ÓÕ¢LE^Ûd¿»0"FN&ù»5°”XñóÖw}¥Aˆ,oü¤gÂ<ÚZ;Ç"þoªèbücH†qç. 00ñ—MhëëJnçì[9.¦DÊÖé–æiP¤³5=‹S‹­tÈÑÓóÉ€¹¬Œú‘!­ e£?ýýKÒú-TÁLE×e¿Ê27µ˜\ÐÓW¬ÒÞ;ªc”Éúœ‰ÓýªÑr}¿"T†MuF t w#9š*}9ÇêÿÅ̹‰xÇÜŽ@Œ}ÿtwëAm¨"ÂÁÌé#üÊq„£F¨èF¼Ò¦LÃO,5¨Ù­òû%o¶ÔÊSE4êdÝÞvûôŽ4)"÷É WÀâ`.Í‘FRdª.í>Ñ]© †l÷Ÿ¬~ÃW¹|P?ä+¬ì«qÞ˜e|z‘üu–ô|Œ› ¼ÖŠ_F¹_C˜E/Eû ™w|0K%JŒ‘€jtÝEÌô–6c$ñTŽ”ºE3„p’WˆºR–;ÓþB§Ü÷’UîÒ¼ðÿȳû] g©zó¥Ç9gHœ›µwÁk1èqÆ/ûF&8âøêZˆ §F ~ݨÿš“ P”ܾ€×nç*J¼VÌ¥:‹ÈÒg]ÛµàÆX«ÏþI+H%i‡¬§8·òn:dÜ»%Ü}™}bÎçØt*™ë„ù\ûM;#ëYa^å<3˜Qa¥Î/L©lØiP¡el9»â1²w®¯P6T„¿wqË*ÁåJ¨´Â|eÔÃTfN?ÛC¢üU’|‘8si¨ÂÈ#æ¶4ÿ}ÑN.SüÇJ R”óõ]\|/Úq¿Dθ^ê 'µ²5çæŒç'ªwÃw ù˜Ôû“þŽï‰ Ea®ä}gÝâ¡~c(a¢„>†\ð¨(Ž“€vgßÓ$€ü&°œ€Ø;~>KÃ. ä˜ó`§ãztT Û©mp4F1â\:™^¡Í ‡n­+3hEü–Ь÷ôÞ 9nÉÝ7öKSøW4!÷Ä΂x}E _>@1áþ¿ßÕÏÚÃy!}$ÏZz ¾#`Wç›É!M¸P(NTnM¯ô]œ˜¬ •@^þÀº4@ì–c»Îºè;Ü;0­0s€§¾Ð|D¾‡q+¿He_".ýdÃ?ÖªY.¡»ùSà6öO^í~øú\_›\,þ>Ìöœ®÷­ro,^€w²Þ äN¤˜ªËL›L>s?QÚqû¾ÜÒ°•Z]k„ÐÂì} ©äÿ´æ’o´¤;¨ç±öäš#dxȺÜqDÜ·ýÄóVlXWe†µÚ¯Éc²ˆEp 94Ze㕬6ê_·³VÃ[–A n¿·ÈÂÔ}ñ·î–“Iã ô&°Î¹qÿ”FË¢Q¼ÔUV#j!eØJ¿S>tfÊMʬ¥“ú•÷5²ø1ýnéî~Ù.}m†ä|0í¾àqPt½²0!v¯5”÷¤ÎDÅžÒ –÷ÿ”ù<²¤©½GÃL KÀ»qA¤JýÈlž1C$æR´ÿ¿þ[“R€u/€Ý¾p¹|£Pû?ÐòÊ¢ÚÐÈ(³\-©ÌMk^ýc#ú½£Vñ‚f‡r3•<ŒìA¾^HCbMe~iù•ƒæjzØOwÊ%g` ³i«áÚ°6§„eÏ»TNßwÉTŒ‹K#¡  õw””ö¯sšq»_`÷ÿÞ;l¿ÎN¡Ó#õJ˜GÞ‚‚«8Í[þ–ǪûcLÆ¡•+RÈ+Qc´²uö=€ áû;ÌÌâ"¢ú¦à ñ¶ºÒ5‡"w.øÉ ^æî{ý&( ÐÁÛì|‰v¦.å<ãCÏ È¯*ÜÌYœçnÒkî§Ùôg@ûþ…ωBvÀTëÑó*zæ÷wÛC40²È•EuY hH@œë¨+tl¸‰aj3É ºÆVGð.ž(Šmya*¸¥ÞÑ0›1£bG§ŠQuÈ*øá®^÷CsMBë D»BÃŒPNgÉ‚×Qr¥—yÖ’¯C©* 2îê¨@¼j¼øoa FxoÑV¦G,(xÃ##>¥“.r¾iDZ àcËïßq¡ Ì—u¤p˜Q‰¸ŠrB¤åHé)tº…•þ6æ)»(F¯žšNGtÓø°cÑ‹³4”¸Âæã&T÷ éÅMâÅÊ$å¯ ákƒUh Y+ Nxv@ª„¬$m¹~~]…ÝžQŽ)f$'Éùk1fZÛŠ¯°¡‹ã‘L#;"’oCŸÜã´»aÇ‰ÇØôÑr DL`k¿nÆ_•˜·b**àæýî ôòôÄç‘ýG<·LïðÒ=ÒŬ7k´GŽ8ë`kuÔŽZ™GAÖÁ ”KN•<ÎEþjà¿a7êQ2*7x%{¢/—ªžíE°T2@¥%ùÓÚÀñ†<ßÐýÆš¶Í)ÃRLKµÐÃÚRÎK4 ]뜚ƒl­hz,+ŽÉf"&»5TÏÔ~ÔjØ gžxÆU }fí™Ê(ù³‰Z‚Ê¥f×[¶7 º÷‡?éù–ëï$2w-‹÷­©ÖêŒ`ë&oð66E×X’ò.î­H`ŽÚ+üûýÃ:?ƒŽN^í0èloÇ#ô*Z-ôfbz®§Øõ»%ì}´¶8tw ïpàãȪSqOŸ„ê Ÿ)|}Txšè<Ö傺ãÀlàƒS6,?ì?nm·“&ë¡Á¥T¾¿F!EÕÆ9ÔI=43\½ù½ˆ;‹]c¸9µafŽ`¸HËuðTwÏ1£B¹¨ûfKÒÑÞb½ Y"z/_*P5?xkÛ¶§2F6[ãê5œŸc'hw±¾{¤æ^rV8¿§ÕË)µX:cžáżsûpÃôâi«Ï´ß›±ÒàX nbª¹!>PbîMf-2=N³¹KÉè«­§Íˆqå§vÒ`ä†ý­Ý©¸¾U4JM«íUž+¿úZúK;&‰8Ë6JI±º‰kcd_!&´û4B){K.æ!¿ö«Ouuà…ÁäódnÌ•2—‡2º™ý¢õ°ëX$Y⋯–yö(Lh ¦Éw¯SÒ7("JÏÖÕdfÿØ(“äI®Ëam™ ¸ˆn„¾^É!aááZ3ú•¹â®2îË÷é£7† ߀8G2²-že:²ÛÂuŠØþšÞ+LÞ¬è‡Mˆ >0bZyiê‘tÙÓ9Zµ0ÐÒÞñ@Ù“«9­ üº’ElX`&oïl÷î.¢OLÎòtõˉO8L<ÔÏF(³:}/eâ¾Â6ye<ÿë¿•Ýô½°GOpäiù¿"Îå½’/·_dËéÝUºÅsƒŠÍ‰·ìtäJ÷ä©tçÎò|3>B©lD]¥…¥š‘…æU²x¨Îú…¿nPW¼hyc58I{€grìwyr\-è‚\a[+Ä56ŽHUû/—Üû:è%bÀÖw‹jÚ˜«t¯æºh¾&úØÉC V+$Pà8ñ‹)_—Uƒƒ§+¢C¾N“Óöx Dít6"ý“I©èuÅÄ굊¤‰Ý Ÿq“g 6Y´Wò,`¹‘Ú{Š"1Pµ¥ÁœC¦^«Ï$Œg*¼ÿ—zÞ ¶¿­ÓÓóÃrJK¼«;>ÌUSå±s™ ¬¸98CA •å²DçAm9²ŠåS¡ &MEÎáÞ-°œ‹N¢Á;+Ó"‡ÐAÛ°, ÙJî”Ç,™RS´–0Èü†¼Y5¦t‚ZïÈTòÇÉFc&&?ç4Ö–Ë1±v~ešâý›j)HÕJÚì@Â:©¹GoE@vòt¶øWKêŽQlêËKØäzè|ˆÅÂ-Äö1{¨Ð?‚?lö‰†Ží¬wÚ4pi Ÿ1*ÊØ™éñ‡,« ëeÄ/n\z`?œek0^ð‰6BȵˆþÁÏcžkæÀé˘í;1ò¾¯'P¡Çiô1kXñr£Öì’­z&ÓhÛîð™fÊŽoù€E˜˜ Û&¬b–ž¤f¾ñ¨Ù®t?(¤?¡¸Ux8çtðU@”¨©°±»Á‡NJºÈâ6†f~tK›‰ÂÓHï jPÞå{`Q¸TözÉÏ<ºq˜)™dèØBiôUâ8Ǽ¤QåMìþ@ >NüØöµaI*G´÷$âôŒ9E#oLU»lº¢+½í `KÏÊní%ˆ»¬æ}Üô··/ÝóQ\ç8 ~ÚríGÚ÷—¯oµÌ©Êâ…¡Êœòî¨kBx§ñÍNî=Çï %A7èo‚¿<H»oiɬµf<|Š;|7'žhûïïíðú[?  %ãWø7×t¶ŸÀ‘ÔYá?Üá´Œ³²ßsÉ͉ãMÛã«Ü¾íÅõ÷\£¢_“iû®YÒTq €§ÊôxÀ8'¸cË\™ÍzOÐàKzAÅJEê@©>³zT7•òg—wq@^S é£ÖÁnŒýe@™,%cVê[Ù„×L*š½Å|ZͧºOf?¯ÑDÄiñæ"Æ!Ÿ¹Ü³gæ¯3ˆ×j® G 'ÙvHE$êZéãd©{yP”’`µÈáM,Ú6j±ÄÕ goŸÜAŒ#’¡õ’G䨒Q¸!žSi`™ðÔ噋ê¾z±‹Ó CæžZ¿i&=þ]/ú“Ó[gÆOVÚÞ1k:ã5+lr=+/#|Ýiìz £¾‚Ž÷–ÅÐ<çµ%[l¶íè°)ü"/¹¬Ë±xåãB 4Ênr¿<‰Ê¶pçJfD{ÝD—4›Z-,¶&ÌÌ `¿È¬|¢¹‹¹¢€j@iëÆ)‡Žj˜GçäGm¨|£:R-~;‘‰§O*>šŠÛ5¤@Iì#Ñ’ëzY/OÇ9{&ùRC‰Ý+sß@;âmø‰ÉØ[6'»‚g°®[ü³§ƒÑÌ=Òw@ô1õFà(†‚ôj7‡–ºŸ©­ó°¬ êÀš3£J’¾®¸ y¬¹Yéorý[L]­´F,“²øC”€›µÈ_Ëm®´1Ê¿t)—Ä9 ÎÃ"QI!—Ì"›âSa÷Òâ¡…èzfKœ>Îí©ûCðäíC_‰h6%V38Mîõ‡¨$/¾æÏbKºu2/¸7[²IQUïÀXÆ¥,4»™,äÏb9â"•<ôT™(†O˜¦ë:ªî’Z¡Â ³_&~nG¦A¼Tý 8ÔüüšOO“ÙÁ¾S#k âæøüÆ—¢[dï„Ö/€=êø‘®çk ©ÇeÃGgÅTÃK6§·*zkhÊ!ïjE_\}zÀGnRTQðºýÃ1úè¡…ùí_÷ êQå—Ô Kþ° ¹]ViPyi/ûpÔ²twáÌðegsqb*lÚ}ã##Ä ˜!¢Îai`XT®b5fÙçözöA–ÝÜ ÆŽõäÑgbÿ ®ly±MöÃviÖ\‚šÝÃm>8æ~ ©Â|Mfð…fa /Á%íܦ¹°—¸sŠ&BUH@ä—WßíOé`3’¾Ñô(¾è²ë¢éÕºçN|0ñ“Žc™gïÐi`€D´¬ih1ìaþ";ò‹ K8Œbá÷¼’òÖÚÄi4Vܨ§Ùèúh}t+¿­í/ü‚xn„¤ñ wxâ.µMÀìJÞGµÎáC}1BLîÇuùˆœÞgÓ§¹G³÷°*™ÅPR)ʧ²¡éפA†½þu›ÈlHÖ%iêjQ<&bó2çDÙ¡Á퀓óŒû…2QÕKÄš}pÌ?ç2ãÅ5½ws2€ ¶í±³„àªõ¢hiâ²Ü®ÖóOa°E©ºÆ Ñ¡a‡Å„˜ÛUß Ã[ŸÔ•³¦Y‡¥Ù&2Í¥&½ f6¨±5=kÅ×·Œ´ iÁÕ·†4Ö*D±-asë|=»Ú…±@™ZAãr寋.7oÒº„6±aý^«_9AfÕn÷S8>b·÷ÁhìP1}Ö÷˜r«»ƒÓý#txãY«`yÛb“½eå]ô_¼v|ÇQ%àU\YÄàüÛþ·ÒrMœ¶KFØ~_ÊL×ë¯ÎuR×ÙÞN~¦`ÊÞ,ÁìuÓ‡/~u¦|ÖÐÎöI¼šeŽ×ƦO w‘ß6%]3ÒèË–fàÓ¢R;7*žC!³º†ŒC‘OŒœÛ ³ßÖekÖ³@wÃè§!ÖÕ”?v¶I°ù&„MYäªKfûAŠ›_é¡å3)¢)AAJ–ð›¡#"º&›Ç°¹Ü)5ÇSޝú6 ¶•]ï)À}8âõ. ›Íñæ¯!¨5=ã]4W¤Åbl=èòuØk&YÖªÿ1 ÇÅûªœÈ}nͨ{/•<2óð9.×sa>enHtk‰bÜ'©¶;L37¸¦ŸH}ù¦ð4º\¦qmÄÒ%£±ØµŠ®ÃЙ¡ªv¢IˆØÕ>taiÉ-[tjdèûÈkc•Op7ð'‡ÉGÚvTNw×eâw\«¯–¡zô~`€”àûiÞjÇ^Å€bLUàΪLù!yš©¤$ Yh =ð ÒðVãjÈ‚œÍrÏ¡$ö&9Åölý¥„ÅTâ,÷·ØñIšG¿âÅ 'Áœ³`ÿà:…Ÿ‘‚#gcÿ€ PX¢ˆiÅ„6~Cõ,ã%*ÍJ˜nì‘«€enm™×,5™Ô‚øS;V¶`SBN[ëFsFc,{t€žUJéXöÇ<ôK”|·™9©ßX%Ú^þd›Ý=>ݳ—d0Çëùìqœ<¸¥µa$ûη§UÖecGÜS!«’H µ}™£Õ¿Uúlìí\ÿãTãÄšÓÀ]º<ç1œÂkZzíõ¦›ñYRš(4°çTœõ£™äøZ<*QÝü§“ZGM›« s4=Ѹà³åi"¥bñôO4 žÿ‹™m¨:‹z­Ã‹à-vÜü¨þâÀ}ö[] `€KܼP•²„ÔÁM°ÜÄ$A𾕗â 2Çm¤I,>vЄ1M9-´ÄµÃo%üqÛ‚1ò$åâØ(WuJ —…ΗSGÕôšoPGæ,Ø„úv÷"cÆ\q˱›zª•ÝáαT‡:‰i0 T¸a-ÄpK€yAQ™³5ÒŽ¦ÞbÎa‚ßÜžAHrdB5æ¼ëJº#YºYT›xÛá!Z„:Eà]\jºá&Ö5Э—,‹&µUn}Qn–¯O°m¿rN]M5 ZPßF2RìyÊâÊOÈVb•»¿‚‘«ú¯9ž¡ Üõ­xŠÞ–úZÌK“œ?­2Ö]¶Vš0F{PÌù`Ö]*å¼ |áj±5+¢‡Sª¢5*qïƒjt–J Y( ,j~€|иñ:ÎɄ׃¯N>V¿¹ÇÚ7gº=äíI_g·\,:56»‘­Gïýi˜À¦ùi¿P#bû–TEÔ§7¿ö1ˆØL’P'ßEÓFèèɬøU·ÐA Ì$s_0dõÄü"øÑ\ˆðxA3!'CMyß”·¬œ¨^\j°â”´é¬0†lº1'¯QhÐ1@åû‰ÓØ-6Ö§Ñ ~ÎÒXÛþ$sQ¯Ûnjd¯/º‹+ªZ¥F9t“ºò†²ë20*Ûèö½Z¥²ýƒö"JzdÈØè²÷™‚]˜@ѳÚ"X>û%ÄðvÚe«»­/yÛ¬íª÷Þ¶dãâ4ÑW퀔T›œÉ¹dNRNšyIÉŽè Ç9¼ê^óÞ¬I1j¡ë†,ÄÔ'èQÀAÉe™#«1‘VEëÐ×Pý Z¡+Ðd—ãbh„=>õ3y÷~;ü-1•Ì0XáõÎ(O³Çš"ºpxp=fÌàoá I(ð…þq¹»TNVÙq_v—éŸYµv —¯~ë¡ O;3'Å€«Ü M2„HÎDZâlwjL•Loû·Øà°ò¤Í–Ù±ô° ûwߣÁwZšàÔöE½+üÙbQ½_cUÒª.ùèA%çþ°[Ä¡òŒ¹:Œ¨•º÷zU<âó D½)"Ùª›ÝÝ¢ì¿tí33ôŸÄ—¾;6ã-ç1Ex$ X¸evÏ.[ìÛK–º8‡•§¥vé²È9‘Ã(d 0ñу:òZR99\_õ Ä~ÓxÀR4AðâÛJß‘IÍ\žè\³9 Æø!R ¿Ï ³Xÿê´<~Ræ£'å4ZH4ÄúM÷ôê Õ£JýÂF~õŠÍ[tK¿~3‡üRK¦Gp žºœ†DqÌ”4…T^:Ü?n¯¡Êî78f}ÛeVu0¼²Ÿ$ä6Òá_¦x—¾û|¸Þü‘°3•ÿ¿å6IIù$Åæ}ÊéèÏõô-Ÿq=?õ’j¸T«b»3ÿ‘±ÙV¬]:ejÒw¤Âž˘õ°œÄO¸¦”Kl³Ô!ù\èôþ´îËÊ==滊Ì]V—Ì„sì'l2‹È\Ú4IXé ±ØT7¤ÇˆCº"3˜ïzZÑ2|Û¢C¿”î? b'ÙüÂû­Î¢&ß -k%?N¶ÉAú3¸oåÜÁtúò.€\¥Âs2ÒSÀ‘µgèÛQ¶SÛSc޲¶;ÅÒýï­ŸÂT¯F†-UñTP0JÉt„ã…>uff¾^1n‘wö/ô9çFR¦x0À*!µî õ:§n}ä ä"ð?È~{¤dDÇ_›Ë AOh¸€òö¾ÔŠ;ú$á›QŒhr€83h`]Þž­@÷¦=˜íé*ê§¾WÖ€]øq NSŸÙ=Ñ9ýÆ9§¢ºl+}gÿh-Æ´0¯\Á}®vÞ*ÎAÐOXЀSo©¨ÍYÂãðp¦’‘“V˜APjAšжÌã`áïÀÇÀ0É€§±”㋎ ¶X~Òf!ETЋR;ÂÕj7HayH§/õz ÁÚnIÛÑsuÙ„Sš­(~O¼Å-Öa–íj&°Ú·dk1GZ±Ç$L^üõ‘úM3Ž®Ú÷º*²ý^í^î¬{¾7€´{M/{Þ}XÇ®˜Ï&ï…–„É¿{§«^œ **ÄßM#nT aoŠÖ¾¢l¦U=¶‚ @i¼D—d4Oºl}¨ ÑÜ Ž•J€Säß%tVðƒ•™6ì/r/r†íòë e‡Aü~‚”ÒÄt™AßKX!]Dœ´%H!Y™N0/uïÒó$žþµÈ§OÏÏœ[óªTD`<:²âØcrö·ÖÜ/H+óI+¬÷Ê iQ¥îÉãŒ9fòž)R-妨oì–ת!·nzå¨@N]•?¤Û=ÿµ¾±ENrK~ÙŸ'Þ¯s×–tÛïEÁœl޼Z1ª”„>˜Þ âzn)8ˆ¼£Ï¯íñOÞ«Å™á}½o){ùdc:tß‹îRÐÇ}¹Pg8$ñM<>Ͳh³Z—ãÆýÝX±5Š¡í~AóXÒ=‘qá0{çÒ•²ºµ©â¿Ÿ><Ë•k>FÙ~kA‚¤Ü@(Eîü±ínéY-+•ÄgÿBg&ÿžWE²;v:ÓÛÁEÀ‹`^6ìPÇçsªÛ\1Ë<(xwã¹b2å“´Ow£¿…EMå\í nR¼_ΑѲÔQ¿6¸·»lÛIr~üœápwÅŸäW§>ÔñbQ?“"Þ\ƒ¦6ã ð.:vAÔŽé$!ô— æ¬ à‡Q-¢£Ÿ©^"1=€Jgi·óünmåºN[í¤1«`f:}kºáÕçáŸíÚZDœwqÅÚ6Âí?ÌáÖv»ýñ”m.ƒÃ5?¾ßÐÀV—·xzàë´¹³ÿ A e­ÈMO Eôùnc&ñç5ÆÐjiéfh[4‹àoþG BXÙц¨BËÒü‘Ycø–Åç¦Ý4± MÒ¢òŠ7Ná˜Õ1õéÄÍhþb¦|?Ou9Cšæ°Ke—ñ’¥›¼ksó¬­)6ep(}èËÕóR8³òúÏœ®ÆýÃX#«6Ešœ¾qÚ³®¨ú*ÏÄ„°ùó˜ «1ýÏĨ ¡ ‰<è Wõ*,Ušgë0§ 6rÅî"÷‹X­Eñ¥­x/¶,Ø"æ ùLøO aýV­Ô&D°jT‡/»|¸õŽktqš¬¸vkoEžQ‡ˆ ­”¿$ÔÍ ¥©õA-xrÜm=QØ}§óæ™XË=ýø¿|ÜJ}ðJ+"i]ÜÄ=žt&fz ؘ•ÿ¢ÿug–$ÜT/‹^ ²ãcÑîÿÜj›”ˆŸ·Ýà^’ÓÀ.úhÝ(ïQ×NÁ j©èWdÛ3;"ýô¶‹ž0R1çcjCͬ!c몋3ªyp•…8 ÒZ^Fn/AcxÞÃFÀsu\ëqÈ;‹ºÃdóW¸RÚQGÂó¤kÚÝ ŠØ*ˆÙè:x¡K>¦qJç;;‘oP¸ü%I…Ëø ÿØÂÃd‹¨¼^ÙËìAõt`ň¾ 1L KI}0~]9r°ÜTå²g8L&`–µÐÈÎ?Í<˜ƘÑB±(eÞê.úñ͆ âÕ7¢zË +ùˆ}t‘7kŽz•O"g-œ†½]0°gkÅ+Â{å…É"eØÍ›Øå+¼ Þ‹¹±¹ïpÍζ×RÅþYùÃúœŒ¹†ïC½S(uLO¥¶*‚uq¶òN9¢û_„ðGSbž‰ïZÌoµP×ù_ç[{ûƨže–õgËh[fØ0uôÒÌáYìÏbQ8ç1øÇ§‹))@žAÙøŒùßç|¹üsr3#óÄí.ÛĦûç‚–¿;“OøùÆ£&Í 2=æÆŒÉÞ†8ítÉ×>ç7# ôäø­$ôž lÏfÔpUã‹´E¡"ã-I»‚Ág3š ÔÄêç;§ì÷Ö¸û¯:{J¶´¦…¾V•˜Ç^B|Ôf]ôÒNPiä~·~§ÝI+Ê–EØÕhó\¤¦‡¦¨ŒwŽî×|?2ë@Ly¼z+\q>Âû¿ßLƒ±€îýÊá@ÕoîŸ(ø—2ƒzß÷Z•o¡„F¬ÉˆàŒÌý+ÒB²Vgƒ‘X*ªkJ<=Ù—êŠÀ?Så™ê  3ÜÙæIø$ÉpwÊ0ÍîœÜV%{ÜYÛÐeëH#ÊéÎQÖÚun^"µ(ˆsCó7èÝWÎ4³y¼b$“ ü¢«Þµ bVg~§¿wfnªo{™Ÿ&7ðBy)àüUs.òvAð›ÓQy¬rŠjIŽf„c Gì·¹x±HˆïNtè5”»‡agA\v˜ÂëC »L²¼”þ-_a¿SÕåI±²t7¢ò¨ÙuH0ˆ ̬°3£Ê‹”0QÛÞé ൒ù½boä¥Õ9:Ô6 ÈcG+hƒtQ8¢½Ž#, ¥ÿÿÕ-xmëaYRfòŽgøÆ}Ý,Š;Ö%Ð^@í?àý†¶£­ü’uJ_ý¶bl«íͨ¹{¨âÖb¤cá±¾Aõ•eé Ã’êÙBIT¨Dû¨îŒ Z‰ ÅÅp”ü]ï=߆h#îu q·º{>ÔǾó&³}RÃE‹¸á’/gÎÚ•–té®SÏMhÀ3Ô©é,ƒ}5±7…×îëï?œø V¤£üéžüƒ’UHô‡VÙeË5¾+íÑ >PɼªÞê=+¹]ì&k“¸½wÓLÆMßíp€— WÌÝIÊ á:̈7 éJ Ìž’æDˆ™jhwˆþ þØÁÇÉUœà¢v¾ëçµ›½xds™ØÃ(ƒuJÆ–=µÄ°0_„XÞ¦’‡Niÿ«ðî,¬hËØªå4[†FlG˜5 ^Ç”SãQ…áT!f}[öà»»CÒRlß ¸°5FÅ\”îÀ†Ð ØÖ±\§ëAi‹½ˆe2UCÖ9œ AÉ}|¬½.gû'âe|¹0¬ÃIö\R›[&j5肞«™Ø²ÑÿEdžqh¢(¬¯xÞ‚mF;è•4öÑ¥Úõ)3ßÊ•1£ ŽÜ±“Î>~s6´ƒ¥BËÍEæ< Æ GY¦mä6ÒD pÁ±§ŒÚ?Ï\•uÔù£á}lâgnmû¬Ê…(”½£ÔÉ[mÕ}¤þ-}°¿O³D±S~[w–µjô-ÚdûÎØøFôø‰57 ÚdæÏ˜þЂêÐ mh BûRH8ÅÜBjÑRÏ£‘uxÞe±©á‚Ý„× /± .¶ä~=Vz¹ ˆåyDÄiqäª_£¡L ޱ×Qÿ1Æíyá˜FÓ½upPÅâñqQ¼Cú¾ƒQ(á?º™û oP]J:Ï­¶Iþ‡¼¨¯ä.I)kÚã"ßdµ½•ЯÒ˜@üºªáÌßñ¤ä ·Í{¾ÇëMB]™…Ãî£H£r¥-³û-cf4ös®$‘ÛÛý¼p©‚1Îw×Ëæ¡µiDKFG~]D½Ïƒâ¹.k²Uõ0œš]U;§¥')/0©`Hmό״ £™¡gÿˆÒ‚Sü[>ŒR”ø—Ì­Ò“†)Ó3Ü.O8cÔ95æÑ±·ˆÝ¥Ð4XDŒ¡iO ‘„2Ïãqu.s«—|•µ´©‰—óæ·(Þ)–O¹¤¸Ò]‰Åƒ÷}о¯87ÒÁáH~ë¢VawµÅTÌÛÆi—ÃAÚwÓòºZ#ÆA¹ipœ‰kWgye¨ãÂSĬC®0–ßÚúÜî¥üTΞr¯¿CÙØw” Q@eŸáÏc¡8ÝðÉÇ‘ÝA£úþSsÝ{/"§Gñv#ëfµ%§-¦ü7¬±»“qeLûY‰â©èàä«ÜÏ¿ƒ3§@rÔÞ2Fç µ8®s¼ÝAÓç1ՆɡŸ ÝFuÓcÅFM&ìç¨\?Ü zÄŒÛË¥ {Dª‘/]‹´Êkáj3_]@ÞCÛ¹àØ¬êÛxþYÑ0â¿LJZžÖË¢|Â¥˜?E)`÷¾(ð­[mÏ0PóŠ´vOìJš¤ýS±?ã¤ãá¶9,ÈðC9V”¡ˆx„LB¢ «Ü,£”<Ø„%WëʧNoæ«oÙÒJ‚H¯|Û‘ð‡’ñed!AÍÃÉFy:ûÎîô;ßhf÷‹=9í¡ì˜D™˜öŠGÚ*M4¶gE˨À ®'ÚýS HÊ ÆÁ;æ"ª+ 3°YêvãÙ.†ÖÇòù}‘µˆY „;J~èk¡°y»Øð4}Höýé-5p5Ï&RCP QXt÷'-z6D½³›ô¶½Ok|RÏÜœ2•[/PÝô‘’ðü4.uDàÏš"iõü‚Ó“‡æ‹uKh;Ð|ÞÎ!L²“WŒ x«åÚ‘ãßg/Ð,ìFÞà=ß‹p{:Xö+Y5 sŒ–ô᪹P¼)tä4Ç=€’ã”r;¾RâÉwǘfÕe¯iÀw ²fL]µVƒ#:#vÊø¿œY¼ÁÞ9é‘ þø•8ö)SA áì«ô?óWôX(xj¡ê÷Rž¢5œ¤ô» :ãæÎ g8~ÿ©þ)›³´~úm¨ñAcþ™ªôpnbšæÀÓ…±éyN(A1÷ÊÝEžL †òo¨þŒMBª¡Û)TK~žº/ƒÎ‚ÎK¦2Øê6Z+¸êõ®ºaíB 6¯ìÏÅ´[±¨%·ð&ž¨“¯q6¯èª\Z *<Êë!牠ŸG9’…Œ$}Œt2n©èŽ ÏÇéºQu8.ye M¡ÄÇ"JçÂs¯Œ £Õ8UŠú¤^$ZlÈM«Ä÷~€?BV_ Wæ³{b_Ð%ÏQUy@`›d–û¢÷¶_¥Nð4íùÅt±;edÂoPèߪáÖp.á• j›OÂY.Ø:bZÙ<{0®î ð#R²;tÒÆ¹¿/W–?Ð’FócMÃ5çäíQd… ]Ttœm9,Å­ÛãšÊÒº2‚ñ3Ð+§L $÷oŽ} ÁE žÕ&cXØþKrø»ßnJAWøwaº¸\a¦ì×áÇ ‰¯Œd¸Žxj)(w¦Ä.áYò jý‰=YÐS`Íš||ä«ùÏ·Håõ'…=×hN6™®q¦p5Úä÷~Îq5û%ÕY~ðAÚÍÌ̆ÿø(Âz~ÏìerŒ Ì"–ÊEÓr0¬y»$íÊ4‰º{·IÞ©JQ3Å3…˧³¦{B-1„§Bcýä5¦å±œc~€îWTÓÌÀ<Ô-\9;º´Ûê°uŒ[¶mûµÜH­Õ‰03=¯]zMá}¥ÖÖåÒ]A¯ ÀÜ3bÙŽÈĬÑdÿñ®Ü·‹ÔIæh%œuÙù§ Gþ:Á7˜´<.¤è .ÌH¹{£qCâ'K!Q9.%‚ï€ÔDíp‡ùšúiÒgÉ<`ù£u>Œ…&¢Ö•JV Z¼ìݹS«rÿ[¿=»ûŒ,I†_=²™9ÔæÄb/Ê­7RlÆt==ïU‚Sõˆ‡^ImÒ“ç°Žï Òmz'CÏ+ÀZ€x·@/^HLÆè‹(ßÎW‰-H&íw Ô˜3‘KÜl¦ªH„é#Wª˜5™†l÷çö {DÃfPiîTPß&ÈÆ8Ý ž«¼vþ´t>Š¢G-Ê<·n¬:eé}Þ ÎÊ® Š€–¼ ÷W©ô×J˜l.h{f~\i:»Uè®O´™3ú¼Ë e²"yçïç{œMö¿‘XZŒm–ºlio 8Ì|t܈Ðèš"Μ¡-Dž††1'òe&€¼ñ@i…¶SJLX)áÂTÄ)B°ý›éæ›l¹œjH/z3{º–ÃkkÊÈ Îwõ=®h•Ý k ªÍñל3È̤# p©þK‸ÏþÜáæBžÍ«”%ÚõÕÁ ÜÁ.½·ç´ ŠdkѶ™(fì #Ï<·Å…¢eðÜ''¦-¡{¨"Ç~ÑÒqRÔñ{›2àeÒ/sÙ»<;!—ìÓX]öÝ9¸UHÏÅ7$áp!ÌCÚ?Åù@$Gý¡ÃcÎ]tmlÞæÖ?ÙÔ¿óµÇlÈ©·æ„åÒð`èfëRoºduoÿÁ-Y˜±öï]—'¼ô/"UèVw#³*ÆÑ}}²¿¦›-§ç`Žø¿xÇÂxü€ÜÁl‡Zx5™á]§í¶U» t2e¸üf›Uv¸&™%ˆFd^…º Ø›¹… òFvˆƒ=D;º¾ò¢ñ¢B[‘…Aö.çÔ QÍJ¶~JIup-W,&‘¹³N¢&Î\úÂ.\'ÙBl‹Ð3]›“y‚iÆŸC˜0®KÕ(&mÂ@Ž37(eО¹s\z°ž_&!ðþ®IÕ“Aßî.…ÿÄ?1º-Æ* „k„JSæüUÚ#£Þð®çé^ql-fRXzµù§Eq†ÃOÜû¸{î°Aã{‚/µæ:Ëá‹¹èø‰Õ[…ñbÿWp[ ?¤øû63Ší!ûðÆ]}»ä¤É}ÙcZ\k°ô‹%6°":¨lÔ ¤{>‰.õA¢º²_Ü$G Ùñî–Ž_ºƒO®ít<¤uSMX¢=ŽŽÏÅAW’<‡G)P„ÇQ|F-ºi ÒÜÓ ¾*É veŠß˜ãºé¿©ƒèV×S¦×OðüÆ,¦¨šûœö‹ëÁIðÑálAúP½Àøñ@ÈjâÌÓVĘ( 6qÞsâðjt¼ö6°ÐŠ`#VœëäΘ–Ù…ËÕÔß+ý[%‘'êN5NFœà¡©Ÿqü’ÿ:õ¡rŸY™%ÛÇ^47Û×'‡¥è£Ý |æXj@½H4Éu'¿Ö‘r•«ÚIÇe(ÂØâ« Â*â1 }ºiQ'¿Â./ÆÑ+éušË”^fdðgëSn];ÑÏT¢Ó§àÇßDZIwÉ)º C¢XtA´é‹÷<ÊNÜ2¤bÆßŸYFÌó¦”@5ØÝ¡€2ª<ûÇ®µhúWµŠ•Ie _Õ½#óžäÉŬ¼¬éžÆ—wôùR8m.Ÿô%W^ÇC­ÎÌ}jª\%ü ßð`6ä1,oùFB®>µ`÷½‡:}¯Š`Ð1µ”ˆ`bô>tư×t¼Ñ²o­Òzέ ŸËx„–ë`ûî­`Ÿ©Á4½²%ÇÑ-'m”é:FyŠâ èY\'cŠ;u¢HŠëV‹ö¹L‡"Jà±Âv¿7ÍÖñR¸Z¼=(tú"ê.0B€ŠmÉZç0ȼ™å¬)e\ÆÊMeÝ4¢~ÕଡÀ)ïX‡Í /°zs•XS·iÈÙãâ”%uδt­ÇÎmÞTIQâËŽ~¹X¿Õ2‘,)*€±’ÅàÏkêY`äúr $ †<ìýŸCß$´Ê;íðßïÑQ¶_ý}nÕ걡àM„½òÕ»iÍ#ßÖ¨ ³l¢Fª^ÕS^J©›8i;-µæô#‘רÑT2 Œ0vZª ]èüÇÀ»'µÏEöØS&ƒ6µòÐ>‹FØÑLKÀ'÷o°ä rva°¼<Dññb<‹^ÛÌè×Ζ/Õ´/Ì3â?e`f‹–ŸZtÁÙ¹—Z'<Ð*K…44ïßÈ<ØzÒBÅ¥¬NLCt £¬¡v0§iœl7U°Þon°©QÊäl^2ô8Ï[qŸruvô]8´6†Br]4ìæ&Î>üâŸ5¼Í´2 ›Už¸®0ÔºÜXÿF‰¬‡zUæV€•Þ¤¤­™úýz½l1zûpó|^´âÍÓØ^YpžXjðp]›cZ¤}ÌvÕ;×È;@âŠ_%ØÆBêY¸k{*‹ Šjëãê®ÐÞZjŸR’o#mPE‹ñ·¬0²æ]žå\Ž»"TtV…QÊq 0Eý|7n¿åF@‹ û~á ¬ýç³5*°K˜^t–xùØe Ù°_kBçVcˆˆá8Á:%›RÔM4uÑâ„”³|¾f‘J8Ù…#C _㸗©dÍä8+¥ç/tE¤®­ØÚ ~ôeïªÝ” ú.eet€`£U/½O¶Uôe”#’Ìäd¦ìïª,-ÍÛ`¿­Põ]6úúX+\ø[<‚”RE ä;˜²_ˆ5_ͤÀ×Ä"!èÌרc PŽÌèœ:žÄf6*¦µ‡„ç÷‰¼g—¿º¤ŸvPv"w@‡¢âÇTÂïÒÃò¨W]cMÂ4´f –N!ø2ˆ =êP¾ßë.­Iå[î©€¡}`'è ÜãM3½9ê¥Fœaî>vèÆ6lÅd)®›v¬mãºëÄÛ“2·GÿìhoZŸÌ')äHúajüV׫k† 8“›Q€Ø;nbû:o{rô)û|»ÃÙ¯¹ÊÒÏY}׼͊ÌÍà”+’WJÎ8¶…GÜc3º–Sýÿ˜^…iˆÉHs÷`~ð%ß|©’Ýý\1×Z ÍÄÆ˜Ú!~Ÿ>ÀùdµÙq‘˜^ÿd0§x‰DÇŸÜ¡ »ttÃŽn'ÞHfÇó: ï#ˆÄ|¹V· ÜŸ¥£I:à+5ñy‚ðZfþµ ÏFU”í‚2{„V¿{Ò8e%íBÛÆ”Þ¶Ê!,iaä°½„jwKot:Îâëó»ÌN’‘§=5ïB¬ã°9ïã½l•."ÓÛà„Ì]fâ± ¯’Lj#_ßq ‰”0áßËrr :ø¡(hsÛÿôèfú2dßËØ`eèiñplÉhoXl³·ÛÞÿ—N–Q±ÆÌÏŽ èO´C‹GÄ¿ÀMõ0–|ލÝ÷Ý® Pû¶ ·ˆy{mNr›‚Ù rë.º4›»jy—Œ¢ò²õð«X7,­sXiˆçÎë(—HúëÎ!ÖAÕ3ψàu…¼_Z€|vìêR1¬2[rç*XïÈ*&7~7dÖ€øÒ‰Ô½I<ˆÑ»›e‰ömÂë ·¢ï­À1W S–‡nŽ+êGÄë—y„%ÐÅâo@û?MV‹šÐÚ¡ nXíÆ˜)Ù¨¨Eäc¦!m¬Ø¨ Xd‚süÓkfCè­’àñ¹£pÙ9VB1;m;*ÞîדWkrû‹*éæÉ¬Ò…µ_2ÿ¯\#ÅI»Oó‚r÷~ó¥+C}~u“\PîáÐ9𢵈qØÕdí´ãG¼:r‹u¤òD¤ ¼nkõÇAÔrÙPÜØ²³oäìY¢î®r€™záD„¿uñ׳4@ÕV%}½§Ò ܈¸xúl—ú+›ì‡ 4ëWé®&×)vZ&娔©cE†Qûÿþá Š_s»n¿†^ÌÙÜ3NΉ¸–ràÚãÊ¿¾Mñ¥BYìl"—ó5‰wAã8¾_@w£ÓÏ„0 ‘S³Û€è³Ë$ÇÌ [Óð †Ç²U:íN)fFRz…µÑYU—Œ-"ìîBvêUå1ÁÌÄ ØE“T€—Ì}ærÁ 'äÅŽóª ÷_…ÚÐÕKŽî’ÙFl¤\Ñš/F1åžu!'Ç@—ÂÁXÇ‚@{ÄÅ!y…ñ¯õ!}.æ]/«ÎÄÞs© ù;óˆf²L‹íƒeB\X¨ŠÞL~Y»a GhSPz®‰—­*JÄÓa¡ËöÒPVÊä'ážÒ@-Cêê>eJûŽ*phJ’NÒf^4—­¿sX“ {VA˜òb}Ð?@Šk²ÚŠÁ úÅäàŸ¨ãùÍ,'w>QUåjËN)#ÕŸšÏ±Ûbimà%‰É±°ÐFg¦‰LÙ»Ñ7›‘ù áÐ*îé1¾:éÏ&€Fá·QŸEdD¨B¥oèBó°U‘þÂ-Ò{Î4OÚ9¥çÅ=Åè‘W³u>ƒ{çhä ©‡'jƒ¡zˈ§šÊMe?IEB‰gw’{?ŒI:š»oÕÄ– <¦5ê eïÑ]¾Á…ÁÇðp©DÝØÑâb™†I¦ú»;à™mú>2‹†ŠÝ½ú7¾>qb÷›eáñ‘é/ФÅ9‚¯†šhÇ´]= ¡´)ÿ*6-ƒ9¢Pÿ«K¿$1ÁÜg(Á£ôÝ SP´Xx0žCƒñÈ6Âs•YÞõ¶Qߨ{YJZŠ¿æÖ{梈/;(£ïíÿ eõý]i ¥M]Øhæøq2~*bˆ¥V!ÑVPs”.l$»1(jˆÅžŽ·¸è:3ŒW”X«]'†÷!ÞF3yéUnÐJÕ“h&Žç%–P‰nh¥,2‹ CЛ÷%µ{‹½HA²-æ{f·wócnÜåâL ûÑê.T®§g [%S_ëU÷óS\üs9ÚäCT¥IŽÀèñG®óÍ‹Äqæ÷¨9PnK޳t’‰Gñ­ù#ݬv ĘþÂØå‘}•ýi¸M-;èL ~Èà²Ôßmñ0;(¹ˆÀŒN¾HÕ^òÀ9sÙéNÊvD¨~ù¨­#Hæ¾’ÄaŒÏwŸãßM„*º¥à|ü£ÕÚØVhÖLüµÖ|‚D`Uš‡Uç|xîŠÕÙ—÷žCU§ä§[` tFÅMnNx—F¤¸Ž±C+ :OúOÓ¸ b7_M”1SnưYÆÎä)ª_UVÆÜ¬•ï1ÆBákM@º,”þm®»záÔR D» ä½ï‘DÉÞ]òª†ùd ‡]›ï†ßgž|ª¶!?BE1M0É÷ŽÏVìö ž&‡¼±s[ÑØ>ᪿ.Ø0Ìq‚BŠ4.Ñ«(O¸lpþ‰çzýb£›lõf’¢#n^•¤ÕràÒ(»7i=ËÄ Yvì±\ôØ­ço7E¨õ ’ŸÚÒ5w"wlv¯ã”Ë.È0‘àü#ñÝU)¸<Šq‰6`M.`…}‘ˆV‹‘õÔðâu™BØT$³¼+(/øaïÝÙèàtÏ©k«Eèö]•âv¤ý,侂Ç8)°¸±HîŠB,˜Ô> ­NK!k!Š¢* p5Ô‰J=Ùåzt¦çö¦Ûv•ôÞ1OÊ5#§ÈgÅMí5Íæ\ÎVÃÁ_3U6jôÄeoÇ®–8>.6j´é»`]W:*„x»ûÀ×DôC©Ð3ôÉZiÄÂ|¥A\ª÷fº3Ùd½ÅŧxsƒŸ¿  ¹VýT@ˆ5ØNBxUåš—x.„8›R>ïáØúȼ]&º|…qUn5Lò°ài–ÅFnt}šáC¦½„ó*,•ÃåŒÄÄ»M„Jƒ±À64!|uGZò3R#u[çÐ!~lp>œ%ˆ+¤D©D™ô¬¢r!ד¼ŽóûUpv=ï'ÒÔä[uæ©FFÅ ¢¨£æòÂX)l¥¢ˆª(xåFú Só¶IÆVLÊ­¨Åø r Ã=Ò¡ŒªQ­~ª‹¬·†_™•Âßó@g©OCÜLúÐÓÝà š}k‰x ÷íø #H*Ädc¹Ü0°fÝYƒ7/ƒY˜`ˆ|ãw=îºÍ”öYeùˆRB,át1-š²§ Wý¨EÌ=Ä™ësøÞ Ÿ»öMzN>Iõ™dý9R;‡E;}Cð#;Z 0}¡Tk .e€ðF…=wóÊö]spÎø™óÆÑO-õ™P投RÉ«úŠB cŽ'ûš¦ð±cÆ¢Òûq]f¶l¾3á/?ħ¶"ÎzË¡®4‚‹?‰(Žó;F¨¾Ðʾsê ‹Ê¦É J`åôM—q}ÝzH6o‚pCóyZ ÕÁä1“]‹¤‘*9æ÷ˆ¸µtãé¦é)¨¬Ù»Kúºk]£~ú"‡‚ÖpÝtÀ£2››”%…:U¤á†ÞKÈk‹¹Ò…*”c“#{^щhãܪ©Óê¶%^œâÐÜÿî ¡œ-ÿúk[€ŽB½÷¬…¦ØI•¢¦`K“Î=œúZíc6[<Óœ¿ž‹ÊXI6hNç`±e·äüMÅ! ¯r_Ÿay!B)fö±+«X¾§xÝM„™8ÿ –!zsXÄõp! à,åqQÝ¿À†%€Öd8j]ŒpmoŽìÙ?JUQû;:§G2hË,ö“·[©Í $™×@DqŠü½p(„Xî…yKCæ[mú܃bg «BQK~p–91‡‹dá±ô!5ßGÍeàÇ{ží¡VÚœøãu²^´\øƒ3 CvÛ2r÷yYAH1ÊÕÀÒÌ16<²5?UV~ñ'G%6!ûçI:ëspƒi„ÚÊæü#ž“áíšB³æ_“Ä*¤ž40â<`« =ïÈN"ÂlN¢d.-lý‹'ƒ-"¸ qv¹Ø¢3ðøë›°œWŠÙ}¯»â^iã¢YØ@©Ò`NÌ—q»¸6´XF%©ÍC\æœä[i$; ÿ¶óßHGR:jVàÝcÿ 5Û®wz˜;˜&y)84;DÖm…u¤©–?hçª(*øZjï—¨³Ñf©µÃ}SnÛxÊ;»Íˆ; gÞh‹6ë>›6pQá‹M€É1JÜŸÛ›à‚&ׄ4dþÞICOW³Þ¤*-Wѳwk o÷qÓeÞÕŠ9Q±šZc³ûP̉"°·m;ƒd‘~¬ÕõF6tHÍÁ×·I‚¦§ý_¼ž¿Ìn(\íYþ‚µ”ˆV•]åÚ%0ᶓƒ â±X èÔÁ³Efùû¹PûÖ¿’Éåê”ݼòaÚ”é•'@¹¿ŠCR›å\Žd’QhÆÌݺ{Íæ·6¯AèüãG,çK‹«G} Â$2ÈR P$…xúá:âo›®äRý[µ°ðLű <ùµ0ÆžêÞ³üÄ^*Æ/f¦)ž÷rª:þ“@Yh„ê•w÷L3½®qUÜÊ™Îkg¬æ{c­r q±ðÈ›úÞêĉÕõ·V¢ULòr`eä—Ÿî• !—ÇLHCbtnO. Péª%*‹}ª6TÝ,SO¿x>¼†¶`˜ 1+„5}¬u&QÖËs “H?® ,{˜F"G‘üó@¨WœýøzÄb9­ %À{àȪ MtcâôäýÄQ´q(”ÊÆØ0X¶sxÞ°]LêÔ))þª²J¥g±ÃVæk‚¥ña^—ýq~ÒMµèÇþ¶à;\øld7—fq¢gA³Z­»£¾òÕ­uÛ ‚GÅ Xá-΢¾7O•ÏEv8²”õO¿Ç–‚«7Û‚âÏÁóúÉÓiµœcQu‡ŸE‹¸æT|€nÌ ´â Éœ|k ¦Bi£N˜Ð‹ò}ïð2ÒÖwk÷¿V-iøzäúš4afyU%½Úùq£ª7?zaJþeXn÷W+©,T½šš;(à =×±ã±%Õné…ÁÇ­®¦@Dª3§uÚ,å8I '=ô2ïßMËÎÿP[uå£ñ鮹Iyì–s•Å|Ã.$Êí!ýFaü¥H\]ÑÏäŒ0c²c³Ú›p;kH T'¶¶k„äËðûòàš™.Á@Øó÷&“Zˆ“ãßÀ'$Xpð‚±5¯ù'Õ¼½rÜNJö¶Œ˜z zåÚ©¾H´× š¾Œ“™ë´Æ\–ÿ 7¨ 6m ð“uN§äÁ PïÜ='?üÅ9éºa=moQÅÈi¶óLhQ'õzi17 îÏ),µåâ?$Å@8PwhQŽ>8¤’ûÊìñïÂÁ]FZi½É<#ëþL`ô¬Ø®oÔuV\MÚ Ž~vùþ„Ÿ¶Z«ýÀöxw+7¿Ú}zÁY¬¨#¿G‹þQ@™¹UÆ™ŸM9ùèÒÃcÿ˜C¦¬{{â©Â>wWª »Í£–·‚“Ii®´¿ô•ë‚BG/t%ƒl|fºÒ» -ÑyLŨq|ÙB?Ýg9ÿq©‘à ëî¬À›äwº_?"D¹|ö?Wn…E1 æ5}8Êò²ºAþæÑ™¢vüÕ”Åeñ´ò¬W–š³=ᔄRËœ]“+Å}Rã¥0§åŽ-?wjÉKŠÝ> jèÓŽí›íƒ‚ QÕöÍÇz{|Ò»ßö,4 ë…Ôÿ™âöy1¡—8„ê×û_¨ ™$Ðû™äÈÚtà@jJ„çÓW徿Ž×dâ_éÖó¾‰äNJyz-óã!±ˆø'|ŒÃVŒ÷ V&{vvõÒ¬ß0ÐÓMæè•ë}ù›ßoÐßìÇÒ®ÒLÁRÓ,î*þMðwKBáƒKWïÄv³¿o áOxz+ÆV%Yw—=U^S/aA5¨À!(ùùdW.u$W-ý£´9H¡œÆj‰ui.…X×syd¢S@ÛÁz(*C|‰ÕÙzaüƒ˜ S'8ÖxÁ3(;—IŒõˆÊìÁ 1u¿ò‰ì+&çР°È&’#<‘Ê]ké+Цm¨®KACµ\Ìâ*Ouf2$Æj#Ü+6Û݆°Ê!'ºbf6®œ‘ B'ÛSb¡†ùµÃUýe^r2ä;õ » RêŸt¢´jÔ}‘`Ö™÷ >g³aM+x{õfó’Ⱪ±úµ]'Æ2Û*Ö€£Ïí MêT°ÁrŽ l»·«Ó ¡[#èÏìg¦+pDe›¼»ÜŒ¾ñ\s[{qìu¾sHì«åÿ–V›+Ü-º O3 Gí ¶Þê,ÿ‰ùøDQÎÿðÊæ›ß8߀¡g«Ç!àã z`Ž,½÷ƒA8b67sÕ‰cZ“?‹n–×ý´Ö3 ¿ØAôº" ³¬2 iø1:êeÏŽc+Õ'¹J]éXÐuËQQæ`±;¨×à·}  âRË:û!…5Ú=Ó¡|ä™Hõõ¿œã¢}±É™‰ç15éoѨÇÜ\í¸TGºŸÍySÁÇÎÐ0‰Ë’™ë MW8=0Ô5˜B‰Û–L´ãš„ùÔ„(VK-ìQ&y`†‹¼b°ßÙïÀÁÑ(1þßm¥@ž‡´nÏË©ê…?piŽWü¶¸³û†¿{Ož½­eZ6#oºò¾‡©Ø(#´›ä™aº£®k Õ¡¯TŒí8<£H¾Q!¥ÅÖDÎñFîÏ=¯í1ò–dvÖÞ?%(^guµôji‰pƒ^®X‹.w'ŽS¾ 9.^*x´·\DéFBiáZ+Ä/Êø$é3ý˜$t±‘nVŒÂm{’îÁ Ü}­ü`á rgTš±:BˆqFT°˜¨Vß»×Û˜‘޹Œ¤gM$„£TF3¤ÿŽh­¶wöõÒÛ¢jýº/R¨v¬ØìVsí'Ž–ü໾LÉ¢Ÿ!ËÑsz˜ÜQ5l‹$¶Šä¸kñ²8À_Eš ý½œèLoš¼é–Èô×KκT •L’î¼e.ˆb^ãH¸ls‡‹Êw·ÕZÅût·:È;L¿wMO\›GpεÄ[¼ænõH~CtpŠéc‚ºú–ÒÓ)§"¾¬R·›¹Nd|õ Lþá¼›L^&º¯ªM Õ…¡˜Ì!Èw DÕn7™"p6$30-†¯C6×7ïOafGVgÐAu îŒar=þTT½è¸[â`ÒcG!êcEЯƲáÒ€Cºž€ F¥õ•èé*W͹&š*¢"ë‚Gjivº“ÌU›?”“oÄÔÚ¼_0Ô…°M(#lT±« Ê¥pŠvS¯è[}£Í¦ŒCÀ¤òÇÓ ë©É?µÂ=cÈèw,Ÿh;@Ñ”…¼Ç7Q +xò²ŠÀ(.p4·‘ËJüšÈWÕ8”±JTøÒ{‘,ºã‹ ”—*´¹8”UvxÁb‹*8ò©gc“ª/qLÅl.H F¤Û¼5Ö ŸOŒ’f¢eÎüÿÈEè$%yŸ³ïí(M&`uºwBìuÑHº¸8ñïMþûƊݾ”0AŸhšC°6£ó[Ïÿ ¡\c<Á˜Ê)/©Û·#8µm]Æÿ“غ_ûÅSû6£¯…à`§!T±Còa°ëóµ*Þ~Éy;¥SW¶µÕàZå»d. $ÎÔÆ©eÕw©JÖpO#í›Üë“$„?&•\xu¶Ÿzé %õŒ¸ŠÉ£ù« @þŠ¥«'‘âjK)判ú 'OZ»þUTøA7Š-ÒèI MÈ>ؾЮAoë”A³7`°Õ x¿ßº• šK‰AÅ®qÐ`Ij0ºF⤨sãŠ?PéÝÜ©š‹{ÛÌ®//”añî6 „)v öúô•¼ (È#!ÕESØÉ¼4YÕ£4NµCÞmá0u‚{ ‹wÊsd†Æ0ÜÛ(³¡¤€AqpU9!XsIÛê),&Ø7iß±ê¨ã|j/±§…ÆçÁéÅŽð™wJ™rtøG× …«®bË la堄禵WU‹Ü² U‹¥Á#ÀxïNöniLÿV™/ê—$§¹ q½¦ž$jóåSÔ¦aÑbúµÖ­6à ¶;¯Bm_zƒ2™C"¶|ê+Ä15åLc¦ê4€¯öºiz\Ò:Ùºú«Ù =5/9dËŒ½5”ÓÄØî -›¶·ÉÈ¿_þÚP*Ùrà65ÌÇdv@™HFiƒ‘Åì§…½³†«„ !ºØ0ë­JyÁ?,?î¥9g¤{¢¾äºp'èÞéï-:®:JêÐ*:ÀWpµã¼ò[ÇåOŸü÷Þ“‚.Ø {ãÕe]˪‡Kɶ"SÃÇ.qO ß§ÓÁ?' ‹ Ðá sý€²r?jÖÁ¿y±ÝkS¸VÛZã¬t¤·¾¦íWª_?·[à¦û½ÔYœïœíÀu<¿PŠýû“¶ríý’ÈÎåÁâ®Ë¦ç‘®1A°)'fæÎx›ŽàN‰;ÛÚ=QòmÈQp8yw£bï¡'x´#¨ñê&^qÈç‡:Ä@+ùÌ "uê ^­W¾÷/¿J‡÷_áâߺ§ºÛõ¨¢"#Å:w(T}W€ÜFX*P› p¦zç){„›HXÙ˜”wŠ…´XT;àÀ–Ùùv¸'€+{€Â‘ûzX_zöV«;,«—ç»ðJû?èLGÞ" NdÇÀù´9%/ð OCgºnG[m¸{óv‘-Ò,2x"[e#-Ö"dÔͬ6¸à¼ ÀŽR:Œüc»ìòQõ¥“­³H"ßJö  D5ÚLOf(¤ô^1ѼE)šv®Î9ÉX®ÚÇ8H¬¾k(<CSZ“\acubîs…Îàçw7/»: ñuMs©îæÎÔ¯FxF]ƒW /s©'NrþëIsn:biw²ÃÃH%& I~-àNó'ó™½…žûá®Zk‡wöÙ*7|ò̇*14j ˆ˜è»>¤^©ìM|$µo‘œ²½û€9ÀÊlùVð~»"ņ3–€5Ä͹³"YÛLýŠàgêÞR¾wAt ³FN ¦Þ ¯$º¿”F¡9bðî ¥ýC7„ÉsB¯£=×±úÈH=Y*åÍ Áÿ çÏžWº$Ì7kíNã!{Tƒ‘ôÆÒÔBG=Aº•ˆnéS‚óÔÃDœQû$bÓ8·˜rIúhÚG›ú@Á«yF•@Å^,E;ÐOÊ>6艈INd‘ ïG–ixßmjÁþÙOÂCñ#Æ7“5ÍúÖg­œ®h¡‹öõ8€ÔJÛd5‘”=ˆé…K‚ñræÕ3Í ^À¨F•µÇ?7²þ­KâñOçeßU¼UT³Ìâà‡ücwƒEnÁá ±`™;o]ßÝ#ÀåÕÜnpâ?+Ðw‰ÜƦLUlá˜×LÏ¿zyNïšëí02Þ;6W•Å%ªVËtÏô;+qe˜’Ní‰¥È átþ:å(y‹ú£Îõ;_ózÚÁÄ!³ˆƒwB»pp lf†@ç¤ ñf" -ŽÄ_éþÚiÛ¤ØhWtBeêTupNåÂ5F‚kh3˽֊LdÒoÝ£20ÜrTÚPÄ‚ƒû0±“È#Š÷ck{Y²æÐ/])÷kÓK®Ï‹6`']ú"6Ø¿žåR¯ÊàØÀÆŒEg˜¯÷Fyé•L2ˆ¦5ŒLÄR­:ž!½ßäåßëý›|l3<¯KÀÊÞÓº¦ù(I~µæ;P®|RŒxÎC0'/mˆ’8Ô÷þR‰Âä×ãk¬í§â+eEI5ÉIM=[Å Ë$Nýß?ÔåæÐQ.ÍTexº¶±Ï}g‘‰R$×’f1‡i.¢:¦þ~ß9¼ºð{–Gmܦ1xT †õú-twàC£ÏB¹Œ—L]\eü½@¼‹…C—uÆã%0YK”MhØ]Í_#\X¤¶[¸•ò5!«$s¤p¡g ^OAwmTÎOx¾hOÛðkjëù$á°3}„—‚Ú`Cy\>ûEžy…Wiòï" Ž”¡¨ÒNÛɯð,:O¥\ÿSî|hR»™ï -.©X‹ÌÔ·ÖE¡õ2BÀ0DC%’ÍLŠ6a5õ¥¡µøèAÑç ¬"üWåÓå·Ÿ s9²_bx©@éýÒ`ßÕÁî_4¾C[:!÷}© ðb²|ÏЄ±ó'zˆÓoào®^íü¸]ç:Ÿ_JyŸÁøQA§Ѝü ýª z–Î!@«9Høõv ùÈm¹ºP©ŽÍ£W;YLn$÷PЉ­yßzö[ñü*ÝÝhð4Xu—‚¶Öéxï~|¤±ÜŠ)ï+¾ŠG¾dOlõ{ù)%a=JêáNׯ!¢m2‰šL±ÕäÓ îD‡$”—M^ îx;Øö¹èyéâEm×Ya»È dþ ¬ºÛñŸ?’Š’ÄÉŽ½ü# _¬ ì) UÝ`ò3ºÜæú«Â¼¢wt4; à.ºÔ\f xJ¢QäâK挫ÎB<žš} 2:PO“ zT»Ò/öûû¹©¯»qÈk‘Y¶CBìÕSƒb(Ó×l¿ û䛪j·oøöÏæ©“—‘ÿŒƒ«ªëÍ€y¯ñÜbW=zøc?¨©Ÿu?ö`VŸ˜ìô¸:Ø,._Ø%’OIÖcIþÍÅÝôÈ*È«÷´6 @k^áˆzÚå*ß$ßhg»˜&¤æTjs“û8ô¶Ìtvüã¨'U¡Ì‹G×V'aç)°¨F[žP3?¿¼h‡™ÞOX§Ý“–œÔì é-7˜˜»¾ª¦rù…ÿ 4 ?ó(ªÕ Oà¿¥˜ìd¿sÚá 5~* §øÂ'Ž9ævèߌÛ;‚;¦à±1èöUѧÈ\óO›n¥A@ºf*ǹ«!ó£s…ÓÜ&ƒ ú S„~…(…ŽB lœÔeÕA]Â0ËÚ‰p ueX×Ú&ÁÝ(¸˜RÕ:}Ò *ž¶f‰<²ÑWb®-ò ‘¥Ïî?*‚ÃÎÔڢ焒ˆ ÑkEØ ¿I2ù©–Ÿ¸™ô¥•ƒ©WŽúHB{‰à ñ×£u9W~4,Ä—Fj4+F¦°3C´5‡Öð×l<ù º¹‘J™“P NvZArçQz”ý…vtÀCͽ8ö+Ä?½åÆh-ý_ÒÐ\P„wýÖSØùî¤Úlˆduz‡Cˆ™ç/ΚR³ÃU!اÔ.ëU€Ðm½(>Íœu‹Tܤ= À'û è±C-ÿ—Ÿg&¼eóì›M¢Õba· ɲ]C,ÕWnžVB dX~v¾6æi[¿Ô¼¡] ŒÔâ3äyÏ1_ê™ãÙºd¤’z&7š˜}”’í–µnܵrä ¤}Vn‘õ.\7V$ wŽzÆÚ#“Q6`K‚lrª¶‡Œ°Z‘×¼T®ç« ”‹½%,Ïzq†Œ†A_ 5S‡°jLŽÔö‡`‹j‡®š»'h°|äZׇ®¹¿/AJE*ˆË4X¢ò &KØ+†L«èüK?Èü²ãÒ<„ëú¾;ÖÀ¤ž,ÂÜdý‚~LÿÀ!5{à—"¸²ä „¾ Ð`€t`é9ýS,ÍÊòŽ"6 uŠôZ}ÐÝËG ¹€æHò#1( Å=>™¥iGóL¸¤ßI9V„Øë÷ìõØÝ¾ñ’ýx'×ú÷pî¹xZoB\úHX~¡ ,³ Š|\¾o›¯sø®°(š^—Ò._ñŸ¿ I¨$mSÞˆÕQ|gÊõ© ñ†fõDŽZ&E|ßÉ€Õ6P¬s8§e~6–¸²Ï¥ÔÖ0[Œc¬%7`‡Sýu£Ê¦@ÑʵñKKb/ÑW*}ÄB…f 8|¹»«/­õ¬8ÜIí°÷âÒy…¿Þ- Ô²¼óú< )Ëf@ #†N…Àü™Í„¯NVtX&BT×Ìù¾Fè©øðém.9}+ОKU\\ÈŒtÆž¢?ñ›²ì焼=–qçtë1…„$ÈéŸ?ÔS€Tæð£#hÎXwòø:³÷ñ¥+ñ®yЉÄ耰!ÞüÑVVæÕéý#Ú…d´ví«' 2f}³@Z\%œFÛg1””d:HXL^xFìúAK8õ*T›)§sŸ üGaˈÍB_šäDPq"D¼Ò¥rá€*ç„(¬‘…,#®2 ×Û‰?™d#ÐלgÃKÄï7¤ç~ªùëÑ7äÝx4•Œd9¯‹¬ÖK@š4¡ˆ|£%ÁRê ƒÖ‚cÛ ¸ëx5¾ˆÑ Ž?j› Œ§1e|MÀ雨ØJ5òPJVÝŸîÑÜ«bšÀÝ^¯:œÀÓZ{þaÌu}Ä“¥%c)9= Ù¯3rP>a—˜ñ~šS”,g‚}H‡EÀªÈ©…mÏ6}…ï–M±utwnÈ:Ü©ô¶n•†Ú®ÞUô¿ZÎí·þ)‹-Ó 7ªˆ І¾ rAuKá -™ =®ÿÏæ»±vºv@|_FÌaÈ^@kJ+–H¸ g#˜­ØTÎúyó=ÇÃ/ â8•àðð!òcÜ{å»ðrÏ{‹'ŸÇþ“}Û â:çÉ¢*?;Š$þÞGÉõc9Ü+Zè:³=V_àdcãQÖB5¾'R5þŽ­!†ŒÏÊkxßYüï[ìg-xÜN ·ù],Ák'ŠˆŒSþ‰s<|)ÓJ\½°[ÐYkêè$YV`àÞ˜9sòÇžhoë‹-GQ8/4“´µ´±ãÝ æÍ~Ul!•¨ B,xÿµh‡Û>øuÞ5O Ó‡bÝ1®u·¯~íq4eÚúê ¬öÅTét±ƒô®–j9`¶Èr“kE0Áè&÷—Ê«"eÊš+¤ä¯ÝlmÑ†Ø ª’4&é.$Y«u ®ˆšgaö·¹Úb¢“&N8»—NVw¼d{€Ú ÀVš%;šê¯t‡2+€KÚ¦°-°¡@C§j2 /¯ƒŒX.”yàKH9ŽŸªcò}Ê=»Ûmg¶hƒŠ/=¢jœyX>8_¥ó <êÖ œÿÀ!Žž¢EAìq¤5`R!+TŠ(XÐõ<9Õ`BË9Ö¼4wèy”–Ky¨=¸¤zÈí j¶Î˹þ6@ƒÕ[s²ëY$c¾DbaU¤å 2¢vOn.Q¨ôß|ˆŒÃXÌußúSÉ !k§¯‰ËP0:0{+„]ŒØCsÆE¦¡pˆàEì´cÌ{h’PÎú-T“¾×«}3ð„]òPç‚Ífç(ŒY:µèpmî"·žÏ-yk2A"t§q0"ÐR¢f@Ó*mu˜8dw>' G)ÍÆ•°Cü ¤£ƒ9Û+ü à.²ÁzŽEHϘmHɘ´ŸH­¹N%}ƒ˜c‡-ãKB7l cጫ_b'¹F÷˜ÃzhcQTFùJ°çAAN‹1Fö£@j¤>$‰(èâÂüKÒ¦‘4’·/~B˜¾äfa„ƒëBìþÑcÛh]ÀP½ÂÂ|dYÿ²•­\n ÅŸÆEÍÖe<÷Ñýæ×yh±-¡;Ù¹žV‚+. a¹öå‘ÓZ\Édž3F5þÁ–aAÎ@ðû ™r~<ºý,´Ë.Wr>a”Àqì_AÇJÖ«PÛ.á²§›óý±*Jb¿Ÿ›Û*ÏÜR\ÆF³Bf¾72­jq;íéÐ`¬„eÖ§Ká‹ø7Ê›`-5û­GˆÇ•0œòóv‘Å7ÌêR)A0{WeŽE…àOd“ë*H†ÉYKá¨ÏËé\—Ç?‰Žr¿ƒŸ¼nl þð$Ê¢Œw`xsÆ”ØSO8ج–K^AÛ¼·pÓÿ‰C!$­ïO8ÑWªõ÷èôÄm‹tRE áxyôKHœ¤|"χSä~Ö‡ÍòíŽÆúG´£Œ­ÿô—eÇIKòÝ>Âþ4ÕužYXƒAÃ2›õ!꜕•ó›°Ÿn•Þì)ùºû©)4š\LÏ(Õm{¨½^#m·åÊSð ì”sZ'soUô n)%W5]ù n~â-¤ «_¥ ^?²G®ðáÞ¦á] ·î\DÑXà“‹¤'HídLco›×Ç28“Z-.Þ @ ^Ÿ+1ÔüøÉ[T,«øŠÖ¢ê±«vb¼ûÜË×Qr¹ ú¯[ÉT ØzTÿT \#Ów±p0Ûi½}²€ë€+š×TÑJ–I>„³×{¬ŠoP Àv§ú:צT»jKiøz52‰SØEÿ½ºòÃëû^œœÔÕÑ*.»³´g="EcÑ‘í(/©R¤ ¨2:÷¸•°ÁÏôÑ›<¬>f®hŠ­ÜYo«tbªÊ!ï·@Å]LžögÌWŒ|'Žý´öZÌ.«¸ÄŸÁ(GY{·oü9Ä¿êLbtˆýò=F!:<|n–üÛNX’ìlj¢YÙà\„Ĭ GÇY w˜ó7e]\z'InzGp™‘©x²Ð·`þÕL*§¦ƒaî &+ë+eD>o(›UV"«òKô)Ñ>"f,éü ¶‘*ÏE$°¸f[ãjüq UKݳ~‰¯êýQDÍöº$«aâ=ÔÆ•·`ÕØÇ©ìœM`©ávqRžÅ?™ˆæÖŽ>øê§a×6ùƒ?3÷œ"”ÄŽÎ2¢îV¬ÏJ¶Îèç€4©­­á¾1¦6šÓ!MaíEGã%wÖ¿–eÞ Áa£ÔqŒ·#Îõ\¦9Ì!òu}äÛÿ(…(sé8dYTÞ+™ÄËr¿ fù‰›%ãA½[{Zü¥ÿgüïÇÍÉJ2 {Eµ¥® ®›ØEå7¿¹¶¹ËRK.ºbµ~ä‚©XW;ÚëWSbë4ÑÀQù'¢>Ëëpl°Ä@ܲÐë¿Wcyå73CÚ ÁÚEãTÐ#ߪRÑ›-ô? ÁgÉÇ–‘<€ÆÎIÀ8‹ dRÒ“´÷åV.Ø/’óaeùÊó•Â>{œ R -Õ‘ŽîU¾:Ä6“‘BG·¶«ª’"¢~LNb{ÑM_šu¿Pýâ®±°˜Û„¡ÀéštÝqÝ…92+…áGB"ZÁÆŸGÙ¿a£»_ù´q`'€n€;FŠ\Á¡E“ÖÄXúh•nt°~7Ãúªè›ãíÔÍ·¥ìÛOÿñQ¤…U¤¦¼$Ùé;»gÛ1ÅÐ[ÿdÉO­ýíŒÒ3>¿r¶u¡)ó ’ªIÕ5ÖX—(†V²œäF4ò”„_¡¦Ÿ•ØÍ[ÖC?)ay{…D¤ Ù71;g9/‰ ´_À]‰à3Ì4¡eÞP9îØüSwY ªd³Úº˜Äø…ôET±Y÷kQ¦Bé{1vNýÈ0,ä—Óc<ÛyæQ@i6%ýŽVG.DìFÝPnÁˆÝ0„|gKŸ[Ä9LÞ¸¼1t;¿N¸Ä"c¾ßâJ¿f³Fù . ÷œWl5ýbwèciH5tN‹sºòï†јsì'6x¶ŒÔÏðò4’eBË¿FÇÈæ`¡À–cC€c¾¨=à³Pæ7̧?ü eꑳŽìFv¥_’˜¡É%ªzf~²’qHuÓr`¶,,ä¥Ì`³o4q®ÿ¯E%•%òFâ+;³iÁ¶·æMÒ2oÓ{›öù^šgû c¼k“÷þ‰}Ïr0É܉Á£¶•@ä1ã?%g̙ķËì'©hÚÆæ¿£Éð>zñ‘ N_à»5o»c$µ£[­W¨1u?µÍÒÌ>É|;;t^pôÞZ®¿à5Æ‘<çuíg¬Ïå­á3E¬äS– ƒrÁ{…"W•Ç1G5ò®ôÐ'764ß ‚õ–vXþäÓ—úƒK(ѦèI¤è†¾ØÈ©¬˜ÔhÑÍ=p6½–¬×-ßQ(Y¶‰þ H<ÐGëošµýz|Ä£"tšÒ ¾#øû;í Zuˆ8QÙi:©]käXëY*ñÜåû»êù¾ „”ËØ=™D åñOîâ-%Úù ¿‹BÉVŸ™.Kye•p¡´U$åRÊ¿i‡H§‚SÞe…6eé¹ÿ­¼[9 ÉWö'WïŠí×ätä3;EeŹã;Wœ·°ñ2Ovß.z¼Ó3jôÆž>1&‹_?XÈSM³ªÓ’„o~É¿5taKƒ€;Z@{»òÃÇ•Š 3Û·0:ûÞ®©/ÐÙOÊ»¹r—õ@ˆ¦)X„~Hs¿™Œ›ÍØ}€.r-gSÝ[³)†‹†àŸm£ÛcÏSÿÑÕþͰú(@ðÖéõûk\N­]Ÿ.‹äPm~6O­§dæFŠ'ˆІÄΜ5(OãÅ‚TZœý4]Óýn®á«¥lW;6Oj©ÛEùÙg¢,ÚÍ4tÊxvüm¦¢×î¸0¤Ä“*_h W+u"]YÚDä?AWÉ+¡?…p°H€pÙ¡¡ÓÒjsŒrR\>J—9¥Qo)ÿÓ¬¯VC†¤‹úÏEŽý_`çø©Dlº³f8í܃qÊÞS.рܷ¬áýÄaY†ºÅCˆÏѳ“‘ÖÂ$†Ÿ0r©)<·]°OŒhÛÒ7É^רü÷L,ŠjÀç«dÝ—¤kµQs˜‰þôó8ÿ ü f¢,ÃÓäë vÓ„°Ýÿ0Wõ=צú€éu)ÏCÞZW¡! yµhÝA:RÔïÖÚu:#\7û£­U˜ÜU6¦9ã¶Gög)Ú„¾Ði‘'BtzÀz¿Âÿ;€ËA~¹×³•o›A ?|ãpckJßN'•PƒcÑ”`©lå3dY“b½ªÌ+^1Û•Ä’‚v`C_~¬H1—þuûZuPá «”…¯Y°ZrÆÅoêÜc… •è=Ù —Ði+Ì Ë Ð°ƒŠÖD’ _óom‚ßaP¯wóæ¡,dßœ9‰Ú/qý­PȨ˜*ç Š Pþ{Fƒåëå¢E"§äWæ`_þ´£:@Çð¡Þ#Öé릤ÅQN½Q“}ÿÉ[£f£RTªüɦÉìéCHÔïÿÕˆ˜ÎCøi…Ünú¹ŽÐ?¸`þ»÷Ødqpa÷ø2¶íÝóŒ2“œòF’ø|Ž*P”m¬–šÜ>g7Òoy15yà š5gµuÜíÜîWU×LÓgklÛõÜÔ-_ÍöˆèÏÉ·4Î<] &ñî +‰i†í´QΆ51½PÒVÕõ,T«—:"žÕW†™¶“750 *Ï•dKs:’î÷9ÛZв3êÏñuójU?3dEm«:9ºó:U‹Øâà—¾EÝÀ#&°P¡\vhÞÕ£•.2GÇ3ÏC™©”¥MÜáÿºŠnXÑú–ZðÅÕ…¦=®†¾xë˜Òo„8è¿zr ¼¶ÖEÚçß> dhZ,—”È‹tVQæömS-ócmÐhÞSËØÕ*R›Iû;nç§ü.4a©3n‹za&:;Ea³uiíßž2Cˆô[e’窭 ¥¾áêóûtáŇʱͷ³»F3ißÁr>ŒºqÍŽi—iIj+ÅÄ@fÔç®#ì˜/Ë ß×W/ÁCÈåjº½JÙÝmÃeë©V>Æž3Üs%¥ŒJ7áÝÓBT5þ\W£9Ûù³ú´vt¤'òöÖö´RimÌd¯[Iˆé4qxh4l ÄKYöÄLjQ4Y)ÖqõYÃáSIxí“ýÙñ —†XKÒjŒ ØÿQe$Ëý8ë€ó\î‹£KT jË s7¸g¤Ö±x1öÄ)\´¬f$¾¦ï›…»}6œ²§“‡ØÉ*Hò® ögQÜ•ëA"fü(S:h”·99±v3/Oiµþÿ/Ò ÛÈ„",ÓM­Êtš©Î&S-ï€È^ߌ¨Xm›ü+Öÿ-OÄé#?ÆÇqˆAù7+µ‰bñ–3r…%[ãݪòCØG6´û¨~äÙRÂàž`÷-[´y”#íëM>tDš8Z‚¦ÍȱÉþ•õÓ;§ZJ7aØsÕ4dÜÞUe5lú‚KÚ±ÓÏn.Žhò†Ñ³ÿ¯$,¼$‡4ŠÈZ·‰Öu¬h+=†De`ÆÄé˜H%9[àl r\ݹzç‰qXöß¡ }L˜˜óÆO6„´^(nÙ#~´J›,ÐfÌ`ò‘Ôd™©’•LVÀÊú»sc07:ä¯Zmç2Aµ•¬RZ/û*¬O(¹•ôÿ¼Ã¸®vQmK¥òá¡ Lw$H¿. ¤ù!à´i£ å[¡ ëo—5Þ; C¢›ØKé-ÍÿÍ¿!E¥Œ©é ð=<õYqÐ2SÞ®;rdŠãS• S]ó8ççX?ál [a‹ž WJ¨ë¶pÁìèqVñ„Ar­X….»eJ[ÿê%…ÐdõZº$ Ê¿ò·8[6QÅæÀo¨I ê‰ü`$¿{ÃÐûRˆ¢]atªÓiÁ±%g—öÍPèv#sœªSéi¾÷y8¬€>Öz±ŠÄ èYpW¹ôöÛjuÖÌ[·‹`q"z3[Ê,{ábÐm¢ˆóllcIHè|aßþð^é¥N0¥­Ÿn/„+§3î/HŸ46׈=ìݺàòyAÕS®íbûC½Xa%ò– ñVDtĸ仠ǎ¨¿]xÖ ÷O‘¢W×;ŒbDa¡ËÌdŸ¢ï˜8l´#Ö÷Ù½Y»ëý‘2£Öž™@+ÎaFh†^ûä¤ÚÝoå[ìòש÷Ò—cú¥jÿA QÿZ_*%r@Ȉ;k×;Éya"™–’I/?䦚‡“rv÷Ç}>Fêè‹Ps¡,›å~–"6÷áï–‰Œ½m['Ó 0¤ïj­y¢à(/À›£à‡4A¥`MREeëð(j¬R:í£o½FŒÀXtÞô·u;ôÚƒ(£·u̱¶É|[Õ@¹­¶­/ÛW)«ãò&pÐ’W=k™ä9+¶zÕÑùJC=9/“Å× >–þp“µÝ9.fÎ ±€ÞÝ>س¾ª×ƒFˆó¹ûÖ'‡±ºVM1-øä„Ì"‹¾˜Ã.Å–$¯Ó=s-z-¯ÑúP‰©þÿ˜$·$*ÿ@÷y@=VþLÔù/aüŒaQzv ·Ž!'”¦CÄY÷÷Æ”ý_ĆWQFòS«°Uõ¡Ü¤¦ÍÞø­A’ªõ8Ù8ˆè•üiÌÈœšWU¸œd³NáípQþõÏoÑç|Î?.Diœ8ÁëKÀþ¹ÿew²pú±ŒÞp¢[“hÞímÔ³ZS äŽmb”ЗwÓ—ì¬Çu݄ԊôËÁØIŠÞ®#H=ÄðHDcÊËŒAñsPžÚÊð, y·ôÁ¿‰ÏÌõØ0¼ÕÓp¯ŽY¯´ì ¯Û Á¦ge{Ïw„îÅökk Íãs·#éQßé„o|eT}†Ûp¶]ÉWÁ?<ý#]åRë'¬¬%®÷jºr'ÊSx¬¬šËaú]½M#»_*ÏMhýšðâ',C¸Û?,È>bhíz=¦Yé=R8þ‘æ{> {ð”»‘Æq/­ZQ,!sñ¾`Ë`Ô6åÆÍ4L~0¸Ñ×Û|Îí¥ôpŒ^T‡Î´ÕIë^?eæH Z¶xï¤s0Lu¿ØçRë\Úê¼÷&#š1;hŠà9emi…¿XBÇJHPjoÇ¶È lþM¦m5íѲE©ÿ†^‰µI2EgvôM÷„ªAî ÖÈp عyH‹‹+Ì Š¨9T„DEU“N/:c#p.–d,Íy$l‰˜ ç“ =¹øö1•” ƒáîKšÉáÕ5K5{¥4y#Ķ­:XgRrâ~eÞB¢Ê¦b2:AÖ}‰«”üZ•rHÚ²”rÌî]^zí…ˆìIýåÞI†ŠZ·#q½úŠ6†¬id†©K`pP“üÜpf­o3Ví¤‡œæ¤é'uËTÓt«´2pÄ8ÑÁ£þ˜ÏîM¨Úïeí¡56Ï?%ƒ~B7â2ÃršúÆò&|ÀäïåÅ±Ë &?øÁâîÝ©KV$^¤`«²ôí·Ó”ʤI?¸Ãmc4Ù,HŠ®ÛŠ}§H-Ô‡ÕDÀÍ“óˆéñcïÕ°n¤DãrLÒK¤Iµ¶½ó´|”O2GØí †fе«²ÛX­è§4`¸d,pS–Ü× 4Ü#½³)à,,cz­°GˆÜI¾ö,êR݇!•7Þ‘!Ö,{©*Q qS‡KâäW`„ä^2ü*æ@ì 馹¸ydû†(°›ÅÝ8ù¨|–žñx¹Âè4°Ò©ÿzñ‹—è)5ÃÖ r 1ɯ¥¦nSzg°Æ’B2×Íæ÷ȇkÐVò«ˆMÏfªçmífV¥B²•Iè’†v— È]^Ça±æ¬8RÅ0YZ—ÄÛµ½¨|Ь±0(«'ݹåïogd¹Â¿E²ûT Ž‘L%Кò‚» ÷í¡(`8XÅÆr—èê¶² Ú þìk•"ƒóòcIÕ ®OD¿‰¶@â°Ûúמ€y˜¶Þx‰qÁ³÷{M;'¾¤h3ÒÙ±¬”'ýGÏ‹s¸r®·‹J’¹¿A3rUxËhï¡üa8ük¹ÃÂïP!U*Ùõ\˜mK[+”¿Æ»ìªø€£%λ:D›¶Jr? 5[û¥ôo¥]½0}IiÞÀ`ýÂ:ÿfSøÛû,ÝQR »0‹"#5µÁé¹,ÑJ` Ý -mèðCë£$1yà,YºQ!9ß'CñâÊY$ñá3’¦XÙ­O"LÓƒ>làœx¢‡_½ ¨¢À®›‘ãîÊ0ù‚ Q“÷-žt—èBzMzMòx‹vtdË1Ù Íìgôû¤¿%’¨8¼EX1åDZç+ìÔ¸ã^Œaé©Oñ·óºÿ8ößÙΚŒ¾¾ŽOˆÿQ{sçm-$$ìA(±ÉL?&Ö^¬ã:uÑßÎV÷`·7ô1 EÊbj¤«ígÞÁØ ê­Þ¶øœðd[!>ÃË‹Õc%4Â`m ®„ÀÅ¢¯¢äŒÞߥ½-¬~frNz/‡D@7´ñ(7Ø;õß“3*b‰äXϳž¨>ûFþq¢zòyz³¦…¦Œ [ d}¸[g»%k'ž£pä?W}»Aë´ë”ÔÓ ¿é+ƒÿ‡´UƬ€¥vìÔE˜Ì/Š@^Á ½\áqÄô, r \(0&×·ÛõyIš~?\”Çâ—º™&ÅÅ`/ •• ÆÔ4Žˆ¤PæÖÅ4é ƒÂ0•Û(xÒ«\¤ÓŽñOöá63Òxeqeú»#óýºú9šE©®¡_ýH^JC“ÇU• :à9~•λÀ¸€šþo¡r¨ã[“ÿËa»eëëä¥o¬1AóLzÚMA5—&å¼u< ùäYø3nINLºéo _…(ûž¾ÊR2§—‚Ú¼ïˆõ!zZ،ޛ%Ç'öÜÓ|îy~rH7ØRèaÎýhþf)j£Tx°í®qØ4:ÿL¬ 5›O~æŒDã±”ü’`œ,®G€éH¸Lc’ Qœ¢*ÒÙJ)592ÅjÇ’#°¨F[#½“ŸºV^1 ÃùoTÙwYo}Ú¬t£áÓû*ÇÎjÑN‡“`&hHÿu¯}$Á <æèËš÷J u2µÌ2oò+£9Mys—V_ƒ*a¸ŒœTîç11iŠ$A±q¸¬1î¿ûëî6ñ÷áùp˜ R}ˆSé÷ÀcÂ…¯où-[?ÖCsšß᫯ÊAZ¯^µ$•‘5ÉHL¬˜g–› è„h¡ByœÈUöQ>³­‚‰yà÷”}Ú‚DF Up±:YB€û›s• b…B~Î0ìédؼba—ÎRë|ü”µ4žÆ:ﳆl;‹= …ý þi×Y)B&u×¢Ì6Î4d±Âþ¹G¯óVqY¾&wò‘~:Öq"•Jâ în3½?­€¦«øÕgQ)á3‹&s»­úè¤@=OØjÇp\/¶iApiŸÉÄr¸ë@º…%`ƒ@+™ÜLs¡«2²x É@×€7Æ@@ÊGL£XíÐé Ò?…ïdðÄ`aX¤Ñár êÉ–N&4Á^5¹§ëiN.zg¤']L޶’žìðEÈ-÷¡¾þðöÛ•@ñ]Ü—<ÅܹŽGøÃ6w(ì9Uó~`%\镼 ›Y†g/ŠÜFŒ qÙ·ÓNÏûâS ¸WíZµ®Zúté™=Úhq«Xc¾b³¢ý}úÚÍÂyasL‚5ÍÃd/ˆnÕßø‹IòÄ}i:gú;dw/9—úúRÚ¹aÖ$êĆ·v¨·ýL ìå6Õ²–AQ‡òqÜ3ÏDPø©âg°?x—à&s1\9Šz'ç'”TxñTûÅÒyŸøHÓJŽ=`&D¸‹¶O£óeÂ<|!¹Ø­öA[dßlÓ‚ÔøPÇ%ˆ²:2Å›ZÔ¹DÐBëÊ“"@eÝÓatC¡»ÝV×zŒ°Þ,yï½€s¼ [v° HÀÒÌÎÔªX`Yq1ÿêHžsh,^QxmB²FVgÎáá"Z•·+`É–p8¼î*Ü©Žt7Ùù·xsRK>%øûf„·ü55‡ØHhѧÔtâ/Ÿ_:È*7]o%Bå¥Ì'ÈUÙŒ}—ò½¢s™x‹›’™µ÷œ¶ºS£Z_™í‹N†ûJÜFVÿ×1cO(ç¡ûXp¿• 'ÌãØˆ*¼)ƒÑfÒì±å€Œá,iMMn²Ì¢!¡¿,íðQôg×A몑?È4ñ÷]pU´SâmëÀzßÎ~Û úãÂ9< ðCª‹ *fE>„zÓɼOÐú¨HÏ8–Ün”•žó8%Ú5qj°?S‘”C­ºq&¶¨A%˜qŒ¢ã…&Œ°óÁ2æúÃøòƤ*Ì»ÕÛÖíǂ׹Õɤí«ò£÷^wºHo8ƒîª7àx4åÇcɪ¢Àý1î’peõñ({‚ÈH» 4žÝ‹ÜW[Ô)uÈÕ­~*ôÚM/³Zíš*`>ì™æ%½ƒž»„^r¡ç**BEù‰Ë§.9Á,‚³MéW—ä}]½Î«?_.'öø¼çŒ§À¤ v%´ðvMvà™@)œáÞ}¿ºˆ1â[Yã'¤î^rˆ´9”ϽñcðÖäA–…S\Ò$\ GéYs™<èNq®Œ}ŸÔd!Ùb½ú±:á¡1e˜Fì¹Ç¤œË¶r1 à¹ç…'ËêÕ˜E îëÒì0|­Y7ã;PŒÊÕ}j|ôOž0T —>±SÚVÞ¡ÎÐ 'RmTó­tì4`Šóù.¢Ï+­÷+î?¤IÇT]–dëÇ%˜qUxGñÏ‚ˆ àÙ´+°îÃ[>`¸Ò’h: “iOóE}BÖ"»}¹B~sŒ´„RV£êwOú!¯%uËÚB/î>DAäàµb}L¤þ¾Æ³6Þ}•É5´ ø°ÂuQÖôj² ‡/­ÔçÅêâç–P{ã, 0MßIصßÛ¨½Ú,¹â\:%³—C]'‘ò—Ö±ŒF_ .(i¿¹\öçMÖ?«t,ÆÖu|1DiÓs^þ8¬Ìq—¼³ûá„C¾àÖØÑ=è~©ˆÂ€WaXx½{tqRÑmUeò —T‰kÉõ`£Éoc@Ú¦‘Ýð éCpóËÞ.³”ÆJ’»Y"#Õ¥äËcÌ~– šøÚ¨#ÆN*¾œ½h0ãÝøs¥¿¢V¹,GNŸ-¹‡Ô ã‚¿üç„/ñ¬Íe i•Y8)#}R-ºr¸ƒjN¢VÝ)/ ଥ?ƒÁ²q]ñýunß?^ÒF…‹âÔi8àN]l¦v¡Çqyû/–h׆ÛæÌ]@Ö€Ý$ÿQcsy`ÅÈ(ùìïÆ Œsýwl;>é²Üüx4w\ƒÚ+KŸYÐ`<›¥R¬NÈîêD@&—x&P?ë£GQµés57ŽçNN`ѼÞL³çOé NÓÎ~ UEÞ»§{L_‚BîÔ¤RÊûûFÉ˜å ŒF’ãçÛ¬šŸu†i«¬,à€·õœý„É1W52“×"ÇYû͂фMl4ÎÓÜ(´Cr± ,1ø9èä˜Õð„mâüE¶5i>“8¬ªÜœkkžq=ÃoQp@Æ6\=XÐÅái ž¦ŒéHqæ÷-ÞØ¿ÃÔ˜7"jF“ç~óàËM<î6+‘ðÙ‚.¨ýyý‚e)†+TXÙx-aæ žÙÆ,—ÓÂ¥\z»fÅŽì€ Ó7¿9+<.-‚/µë—Óûæy‹D‰„MÝ´V¬°ãâ»·¶<ˆËïä*û@»øêC|dVÒŒ¶¡ËZÐ\Ó~"£íÃ,]á °rˆÓ¬“®ÊÐ.$Ì-ö!`Bâ9gÎúp¨*èãÔi:,Þ”§ÊC³|À÷˜±ÞK ‹Ò@ŽŠ¡»&Énôƒ°XtÓñ Ã…ã÷?Ùº)Ë »*ø½j1]÷`^Óî@:örØa.؃Ÿw‰çϰ™7J1‡‹oÎMW —~Æçp±[¡+L%ªVÅ£ÀÒµùíý[Gz…B¥„}`åÂðt%e› UJG¦ªì #HXÓVfÉs~[ïF!?Ç”0Ê+"_êRàÃÞ:Üxø§ /ZC„“h5j¦%z_0ßíŒ-nÃõðU/x]¹³‰ÕÛõ×­DŠLÿóÄ1…|v7Þ·˜¶¯(Œ<ÀIÜg0EnƒÈ*db»høÑo¬É´•3âåc©^™‡UkR{y˜:g2l4Q½‘µøÔW¼î-Äš‡1ž£´+ ¥ÑíŠÆµ6õ jàÖÙÙñ¶¦¥+J ÜòÝŸ^ èÉ÷ÚV•æ[ræü‘RPþ©8°¾ xîèÞêÜpöt’Õ ,Ìžë3Ýï©C³žKE}¾=i’Q?JIHº‚ž ±æ·¸È99=¸Ð R]¦Ö¦œs† Ýúç¶sž}™âXáwW´U¤¦ÈÃõØIÐìË•ç8¢%á0D!›¬Å®÷@š–Ér2bÄiœàT©Ö5~qj€Üű£‹G–]Üj·¬Ã¬?úÂc(§¦lnqw­íü ûK=3@^}ôÃ¥€(JÖsŠxYs5îéöÏn§R-jJWâÉ,ñ¬³g~¶ÒóBÜc ñn͈>>‰›Õ?‹˜§.=‘ ¹ÿãàÔ«ËTž¤³KŸ™„æ–‡–½ŒûZ&wõ)eìÄÌ%»ÓDŤ—=áó®ï—F•_uýC÷Ø_¼ªì²‘xZ節=[P^û±ë—?Š€åRL}5X£ DDgr«Ë—–î!(5ÆNÀ:Ï/ÐÅf1ðØ}nU¼"½BÍÄ8Lp¾çݽFþßÁ×Õÿ½¶—3žÆ¬5ÿßù¹=›#|˜…k Ž ‰%wóÀ]ÎY%Ãc¶,óiÑf4¸O§Ü·b’œ¨•õþÙT312 rn‘ëB:z'aÃ[ ôűÞLT§*Ä? öÿü©Çr %ýqrè”ñf¼ßC.±{Ó?ÔF ÚËk)°d5,ýÚÙ\ÖÛëýÖäù¼­‚Ÿw!Ã…fãd¨q[öÜ“öìÆ0í:w~ÐAí\íf(Ô 9áŠóÉ”ez=(Ò ð©ó:â:©ª'Lpl:óî9qHŽ¥€ rÙâgCôXN‰2H¯Ó¾ØwƦºô~‰æ½“nÜÑK nsu…:N¿4Éb£oO"¶BË0⺆Ä15%"FÝTÇvóF˜pèÌv˜Éر (ÔÌJzŽÊ?3àL—øAZÕ{Dó5ÇÝ™\$‡Fõü8õ=RÇ‘'gsRðm$ižûÔ*n›©uE™X@òÝYùûZÇõ3DMiÒ9zù¡£º›#·_°Ÿ·ì"½Ó³wóRZ:³xº€²†GÀt‚8î, ÅDQÛveÖV<»Õ BèÑè ÿ²Ó¿°y¥™è^šŒ|‚¡Y™r]L¶Äúžï4†³Óo½Ð˜»Jôa[ÔXã«$Ú†^lrYuñ{`8I£ª±vùFc\_ÌÜn‘Û°¨¼GŠäáª×ž `÷ )ÆÓœe†D²yPXÙz ™5z*ºC@ê[9K:?ÕŒ'-¨RÈi­(QºÐ;˪é,s/–J  ›Qü¿aDSr>°•#vƒQ–Ý`÷Ƚ÷4D,/b:$Ô $EšÿÅ ÁºŸ@{Ó)~®DeôÂîUõ ¼äèk½GÖN èx“[}²®tãSp±$…¾©X‘"/°ký’À讽¹C®uû[سjD5Æ_ÉosÀ¸ƒ - 9jÒ5·m,rûõ·{åDW_#Í=Í' ¤³µüÒ–:œ‰ÛE2Ï>bgäQL¾~ Æ4}Šw‹;C5v_‹˜ðèÂgþê:Ø:¹¥zsA`2ðÏíã=ßnM\(#í|&Â͇_¬Ÿ'/“"‰í³«OÜ›Â%HãëzC‘U©†ÓòĦ£ù´;¡Òvçù'ËÄ27´ýX9þ¦Q˜gÜÄ&4íð@ÊÑë`þ¸ÌPü,jÚ9Zi©PÛ´Ì›Göw¬tM‚Ñ„®3 Ð3ñUÛOàSlÖÎAÑï.çø7è™t=¿ª$ùÔ³OLUǽæ3˜NsF÷oЙá8æ5Á=h]çnÙšÕ+_زq˲ô‹ÀX? ¿M=ìZOg™šCá;1ÄÔ½dæÇd°V%é'3£óºXÔâ»;à‹ Ð„'rÏ̻߯ü¾2…Ì1@‰Hxö Æ»§äÁ7•©OP!&Â]|òi)EŽÀÆën^Ê ‰ú<¸ö€ìõ¿þo3ü•ðš>Ò¡ä¨çwøÈê>kh žJ,°ÇPûÕèµð“šfø*MÒV‘Ï5-s‚ªrð? ¹‰²¦ žèTáauàTh<ætÊ„DãÜG€bö$…<מ†X¬»ÔÚŠ¦â™UÈEle‚u¨E’ ‰® ¸ÓQX#<­±é»Úÿmºyf ÀSÌÓÇ””×Qê¹i³]µóòÚ'“l¿|—™?#“Ùþ›xÞ‘ë~Ü„/Ì›z¶^$FSµØ˜§¹™:–¨´¡uLÌÛz¸ˆê)Å÷ä-4øU•Pøú±„ýÙ.ìªrÁqõAºl>bœûÔ~•PBž¨x7Ü~ÖÄ ~‡nQѹù2RTâèëÎB~1mƒš—×ꇙq±Y̬ƅŠNU¼Hß@§ƒßÇwKvkÐ|¡¦Ö[w­Â°„’°ô¢Hêre*±Ž xþ;s¢”ú!ª«Âw1ðyûŠ;7È­¿Pb„\¢ýE®)ÄuÁ«¦€X ^ñ¦¤Üûe¡½S¯aµ›âG~!„j#ªÀ[?;¨"Ñæ.öÑ„nñ CØ *¾Ê›ºñCL‡rT?³"êû‰À`Å£e¿¶¿™—Eó×™”>tÈÕ5nÞÆyíæÔ••Œ<”qâÉî‡l8Yò­m{'4?»™B®Œ¼úóÀQÿX­©ïèîó$g³cWUìZ…›ïyت#W.-蕵О'2M kŠbÐëÚ%8ì€'HAð¿;ògw‡!cÎ~²u+Îx‘PáP1ÍôŽÍ›ÆÞ9?Èòá~'`öØâtAÔÚŒrìRÑLÍdgdY¥Ê°S´V{û¶òH•¤\å×úœIŽ-(T÷h?ÏU·lÈ’c–q 1—T;onåC:šI%ŽÓ,ðœ/Æ\Õ=÷Á;ù¢œUtc0êhð•Mø£àóuH,Æ"]F …kæ­OZ[ÏÓ²vÓåÈ7‡ã œÖ÷ŠŒ}óMäU¥ªQ?ñME[6…×4Y¬Ûpñ‚Íé•[³Ÿ%Ïõ …ÅnÓÜÎAKA€u÷¸Õ²MZK;õW£‘ê—««Ë/30=Ã’-"TÈÏæþõñAÛÆ^¨œ¿ŽšÎ.%‚G¼ñ 0rŒâ8_,¡ýZ©YÆÆºƒÕ~³‡¥‡§Jä0P®&‹ñ-L_Îh¢‘,Û…V•]}öï[®™ºat—Z«ÚÃiʵŸØu†å!ØoOÃt˜7þÉ»©ØE¡ß­AÑDÚ˜×{ë'@xÒQÜö÷äôK†‚‹¹Iñé&èЕHég‹†(ÖÙÒNÒJ'†[Ù!èÏ9׿ÃQS êH˜¿H?(ñƒdÅq³ñ$ë)íÜåÙ! "îH”èY»époOÀ×úØÎtpqµp¤†ÃÊ08-e|Ixy73JÛÅuâ5ðÖ°{iÝ±ßÆ?©Î«Ááã5t$Ø}M¢]%mÊ9ì3Ëú‘ÙP­K÷šnC(Ý`qþ9ÈbÊÐÑ1B-êéL¹Y`q s»D›ü¹’K^=ºìfŒ3À8ÈÀÇŒ÷],™ ã \‹UÑ£Œc’Mñ©ÊµXn¼°ªþ=sê;ʦ]-º‹TT®/ÛfÓE¤B¾@°NŸ&Âé9àùÔ/ÛZ4äÿôáH×n{“.Ÿ¤›¸†E|9 ̵'§î"ðÅF[°¯ ZÛÁÅ0X¾I!Í6ÿsuóæDÌ€9¹uL¡¿V)önϦlAUánìyÏÐl渵`‘“Oü/¶o'ƒ¬¢à§9Cç7ê:å$%gª«N5áuP±*ÙÊñŽw.ä¿ûÉíõÉ-ªÞ ì-‰rø‰Ì¸zΧYµ¯ë=µc/Æ£L~É‘LeZsk¨~ˆdvçÖ µËpîøƒT¹»á»þ‰gÚ>&2Ô:¥ó2›¤æxeoÀ4V«*Ö6úð oh¯H÷s^*ó’»ø€ ©[—ˑڈ_h–g£ÇÇx¯>OBì8ÊŒq¨¥ÇgÑeWa%‰Á8ìSìõë²Y´k>%XoÐÅ(‹ôþ夨üäL¼JI"ƒPtŠÆ ¾<ùIÞÊÂ(ÿÚR¦§òåy»V¡°`²ç¶qyžoß/êÚ5î¼>·6þ,¿K<Ò=ã0qÎÄQ<ë“A¾Ï¬§îy†6—1?P8A3ð¬u³dJcV6¾5vÏÀa—.Š'|9d~ƒ\ýËû.D>˜¶üçã`uÀÃ7ŠÝ¦ÀßåþM¶WXVìÔ'Ÿâ’\!‡aXÌiÖ*#(HÛ"”Š|Ñ%„2åÚžñ˜·¤ÖÝ[+^=6(ùƒleëq¯M™—Ap]§qÙìT&˸––OмêÞê$¨¡ Ýä¡"n;“$êgùõ%sñ͹©Nçw^tqK’@,–¾ã'zéhý©pùècê ;à¬#$™\똇è5§ô“¡‰¢üGbmxîÑâÌTô±ãú‚P:ó~YõÃlŸé_¶]_!žrκjZ«JÜßçôQ*UÒDЛópêòß©FŠi/šaáÎäÓK¤°°+9ëáÙײ«‡™cgÂßAÛˆ|>:ÈÍF‚^>ÄпÏóì7¨yÕØïHȠͥ¼sŸ#Œ?5®–HM±3›¿/ø\æìæõz”çEaÓ äý»ä&ŸG«òÿŒp¬'ÂÃN$ÿ}, ŸQ©¡NR³RÚÄmà JhÐÎí„ØÌÉ“l>$- &CbY÷«3²Á6+äoÐ|e¾$¿„µg5õ+%¬oø ®Ëên‘0NÝV™FVŽû¼Œ3bêYV[&çr$Øí¬ðT˜"ðºFÝ&ð„Žãú¯1¸ Ï<çí4«Ü‰lù©‘ÕUÁlo¡'P¥C?þJXFŽö©QÒbí¯Ä¾Ý0ü¶Ô2éöHóyC†ýX 8·,®‰¥#=ë„fJŸÚËŠYHtÒfÞ¥éöçÊÿ+Ö—[ß1Êrº°¸n–‰”)ÄÕ¡¹¨ëã ñÃ|åJx¿:}þ "¿XÂŒG&Øœ¡6ɱ²‰1œ÷p=v‚¬Þ§îs:ïáF¬÷dæïNt²ùƼ0²Ÿq-¥­ø­~|ûO–Oi T\hë/]6u›ùU¸ï~ÇÒ^¦èè‹f)íî±À÷‹é€J'l^'nÇyŠ…uIŽÄ±n”w‘£Ê?çjʳçea1ñßËf¨SÞå¨Õ1iЋ¹¤ ŠF/æ¦îâ8²®¹'(ÙÁ㚸#ÀVÎ×dö7&k%'fÈ~þAâ€SMë€ 𥔵s]Ø­ÿ¿˜ÖúíQ`‡ü|.Îï­ÿ­Üg0FÓ=oíóþ ‹LèÕÉ3vRàM¸’ä3º5Ò°J¼“°¥ÑË3gQãÂüÝà)ÆebUn#x݉£ßµHµ+_¾‰Z\oÞ€–ÛëÒÂu<꯶lùˆ%¦ìXcúYþ4Ü.Ð¥+r¹®†é÷e´©ø-Æ&¬¾ÁÇõVYRÓ5Z§$kžÅõ»S`zË`F+üü{¤´ˆãnMu^–·ès„­“6QG ±þ¼¨àç/R²ÌöXhpоäÃ^ªY®9Bk¤½ Xx[Ÿqû]j- Ï+˜Låql3þ4û\w£žNî´lÔŒegþúÎ 3KïIzáàº|ë‘Ì Jª=URå£ÓšúîšìŒ¿xûªB7|]Ýê÷¶•»]ŠŽ…2fí­qpEe@Q… MÝ$Ú¸“¨àêÔÎ`Û ZÕL7®A‚Äîl&9ØU M™›/äÛ¢,¯EŒá—E®X=¦Œ¼Uÿ¾Up”à éÎÑ9ªœ<Ä<àJtïKOÎÇßwa‰w^ø@¤  ;a †Ok&›ã¾—¸.†Ziè¼HxVec+YI絟÷›=1ƒB³yHÂd”%ªL^˜K‡e.W’­¡bNtë…CvqŒ»åNøŽƒ¬g"¡ 3Q_ã˜ãâLÇ€žå2<Œì¶.…zØ?³~?tc…Hë=%"yR£iù.Vy믕2ï† í¶Ð’b»{`‡y\û*<èT÷lÛ‘!ýÁ¿îçFÈ Yk@ ©¦M¿‘æò1û òïîMÌ1äW“wz°fšƒ×h·}E&Úþiµ«^?YÓvR, Q)ϬåØÅmbuôΦ=v¹*%G‘$‚M$E€hY?GBÜêÖȉÆCß,½ßBO,ã©ýC(ßp=¾È'' M"W€˜-%ºšfAídwQô„QHgØ¢_®ëÔ/” JƒýñB¾QÊÒKhà2Ü[îW™ÿü°vn°_ÄuäW®L ‘DzՊ7uÜSÅc`ð7›SËRyGUMqiv ¹’_iHå¸9@1J}¬ùrË2ö¢S1ËÎäÛx)0cŒÃF@$°#ôÔ‰?²Î,Ct÷Ç׳]‹"Xï¶I2„ªê-Š;ïÿ¨ÿ=ÕC^`±‡ÿ‡9@¸”ŠÖ¤MÁK[ŽC°XÉVZzJÞ‹[‰þ~äűӕéX±¢ûc-j˦™Ùž ¹'ÖÕÿïéÀëˆ\úìëÝBAm ø¢Ù4ÁÙ¥c䤈ÝXÀ{!°òÊJÃç !C² FáV¡KqX7™9`¢UßÄP퓘9}eÞ `ùD[ךxá 787P㉆"lnhí .Yƒ8Å=%w#©c—õ©ä¥ç˜ô»þt‹eÊZÃÛÒZõ %Úm›:êò)A˯m»w¤Ec™Ryˆ”ºïñ-æÑœbýzÞjœ ,žqqvîº5s €ßì‡!™,RÊW`geTq7BîÊ.y™Kò}Øœ€x½ZE1éC“_¬W¦s‘³D ¿[—“Œ³÷†æUR#Ö÷}ä+øàù’ÉÖ`+8‰'Dë¥nLy dÉ»ƒèÖÞ‘L&, ¡È&Ý¥åÏCI£¿OB¯Ù&†gò¾"õ¢¿Ñ 1iýÂ! œð/’Ý­ézÔècyfúÍSP¨‡ Ê? FÇV¹€‹ÂeäR{ÛªE çÏlu|ö o†³áyUp@4˜„eft(£ýénûþnÜj¹–%Eg¼Ô®S©1cuóüAÚ¾dwÊ´þìñcb;µY(†’ô£©DÉÍ·sþG¶¯ô¶aCƒùß°*(”Þ¤’¾^™¸ QÑà½ôKŽG©¶¦Ò-t7±ØqOØÍ;£¦Ûp"ÒbŸg|Š€"crªŽJLã»ZfQ–Ûí:ծ´XЯcÖÃ-+T%¡™þ#§„ÿy¬¯æFï!GIðŠÁÝsý¦‘ü8Æ'\ ×¬ DyýT¶<¢ësœE”*•çáëø˜V0]ÕÍQ𮻜£N|ï ˆ,q“£¨ºY-è#SNÞz°~ c¡}ÑõûÑ?Îl>™í^Þqöç‹ýgõðîºùÏö$k¹w”gc[»ªÎ-í¼UrÔÌÇ[ržœLÛòd±Ï˜H×HBM¡Ög“9yK…\ÂZʵ‚Óë¬ѽsoÑÖíל#6té‹× YÄÀä~:_½ó áµ7yDL­nýƒ¹¼31qÿjlv5¯×cã¤W œ18ðn‚1ûüÕuo/Ò.à|Iç„jÀ´ËõHr­ òÂi%JB²‹‡Œ$>|°–V5µˆ ÷‡÷[¥òûNÁÍ•s; Ê!z8:W’'irU„ƒ¤¾¯þq”f1|ä8/õ¸H%×`̪V€BÖ&þÛºsÂfü,^ŽàqT·ŽìøÈ>ôï;67©زc` t²ÖÅ/ÑÂ.*•ÂTj6&2-¤´Í@ì–òŠ]0Õ(=2Eç¼_ˆÅóU¬¿ Ÿ²f1Rö|-*(u´@0I}'x jÁ¯³1Áí¨w,"źÚ'G òéרøk6ë¿?ðõ¾^ÿ ;Øñ` ø•Þ„%/ý4ÑÚŒVÍZÝÑ8k `ùé!£fùŠ@jб0¬Pæ@Iâ»;RcùP³8XõA•¡­8ˆ™[ç9XŸ…Üþ« Ï6ŒOVY’DO>D¹6íj‡œ³7¨Ï‰ˆ›K²Å‡½­Íc$ㆠìýué\Æýe}Œ_J-U¸ü”{€µØ«SÁšœÏÙìtlT•TŸbtRUÿ€+c¯.W«Teã&ÂXóŠg¸Ú+k&z¡žà²VÁÅEˆ`æw8(­YL\Q¡b€!2{zsåÐñ_|“HÄ[#À•ï:;_bÀˆC¬3¿±­v{'xßÿ}ÆërWa !ái/½šÌ•aÉXñqàuòž×‘î›Øvîû®S¦¥nm6H=Jp…òÀùTn(åûÞ ÕU çšCˆ>û]Õs15_-Ã>Ù([ï@[RÆ]U”¦!î€^4wxvzç-˜Û*Éï™ÿ)¡é0}J !êÈ”YJÁì¯Wê(U{)CE-éÆ}–“)~ÖûòÓÇ3¥.,ª._4f?œzjžèÒÛïËJج””¹‰ÙøgŠÆþÜ´A8=âìÈ—Ë +ÕZÊ 3ã&Ìsx‹ã¹Ê€^˜IÉ\]‹­˜ç6,üuFY)`"#·'ƒæ2"$ñ§OÌ$MÓ°NTõ×~©àLž€‹ZF‹þâª-$¶fêXRmÿCîS ƒ_ö&¶ºKG5L·«Bº>Sa$á)Uéút¸u? ”JùŸñògïfÔ6 JR‡FqM¾b6x-.=ö)`q_#©úkÃ^âÑ—ØÕ"nØDÊZz´–Å!Qv¤°µ©¨ûqh¤ÙÅ´Ó¸ñqªej yÞDu „¶¶aê/‹ãÐVZ.Âõ¤ÁRÆGˆCðZKV£üšãP‰=ÒÉR[~{HØè¶Ì\&Î9õ cyB·Ä§ß¢ÀY5Wöp. }”P9ƒ‰Ìœ¦–²éJLë|«oò! AR®ú3†ÌJÐnÉ“†.™‡jÛ;g²mÀ·ÉKD‰š¡jŽ£µÞ×õÚñ¾$% ºmvQ¨ß/Ǩx$2YK ½ A€%„Q”óÚ|vŠ ‚£­Á"_|îªÞÞj¥GÙ!þp~$µ²¤Çµ×WÜ-(Hñ3EòWC9s‘;C0 ÒÝR¼¥Ÿ½…ÞLœq=]ÇòBâxHG§XWãe$ß,')Ž™Ð…çÜà¯ÀÝ+8)êߎaŽ•Ì¼X»d(ì]m·åö»ÏÆ6£¬,A¡ºÈ­ÀàP®8"ù¶^w"8nå"2+y^|f6Ráq_ÔQ3æÆ‘ íz#XEÿ£YªŒË×müB¤}}®±è[Ò¤¸™]Gºe™þ(·P~5EI$€/Ðav ¨êÌâ®ÊN,¿×óÒwðDœÊ`1 úŠ ±èG0ÁyxJ'Þõ^<·_´!º¸­;TH™¿µuû°’ìF:Ô^vÄ7ê—Q˜‰ jgˆC>ðÉÔ,fá|Ò AjO*¹7Æ ÈýîrfeÜ‘7šíëÎKQ„wýA¡ (P¬NùÁªÐåX¦“I'_€÷ÁÖÙçoÊ“õ\ʦû›LjºÄ”‡KB~fùõ¹r„390ƒÄl›}†ºÔZåCOwÖ‹¹‚Ò$¦z¬Ÿ%.#®–;¨ƒÆ>­!ÿíÿŒ>{7³˜÷ À0“Cõ Ñ^Î|xmËщ‡éïváݳ>vCyFÉì“Y’ѯñi"¶÷\á'£›’äâßPjf)q¦Š žÄüþŸš]°ßÚŸø_Hø³T—híó4œrþ!Ÿå»c£ ʵÎ6±÷K¨„ú“•:»‹|Í÷'èü`Û>IˆKþ Tm jˆ"1'‚7¾VÀ]L/ZÞ¿O«ã«/ÌJáWu‹÷L£:VÁ}Køç¼òop+/È•¡õ¨îÇqÞ;Iûñ¬ÏMžVRì較å?àuÒ5bCËìOôþÓï ^D±/˜_»WȨu:½éy]µfI ŽT.n}"?ì7ÎqÀ 8w”4¹»É|‹ £x¸Ïïšy‚YÍÖ¸ŸÕ~²—UûùBËGtG;ØýWçx`9ñfÞƒ.Êœ€H1üäï¶ðÜÂòõ•.†gõl [̃ŒVj[·Iúk0û¬ 8“Ǯѳmò&×U‹ Èa?梕–„“cúŤWG 9#KGá €Xa¡µ‹N&~ã5’ö·³ÑYëbTbP¥¾‘Rhä´"Åï_}Â㯨<÷?Ïíµjaü÷Åm+qúÖEŒ—o"R|šÈÏ6*÷³ûu…§äÔtoê~qd~æ¤Qy1"¡ÒÉ9œ>·òŸÙ¥º´% ¢£Û¤H^›¸z„iFÓëlˆÍ§2Òs‘Ãxm72° WÙÜg1ú÷+/øßŠé:G9眱P>‹¡l…[¸Û‹†(ëÅ‚*»b¬—¬„ôdxÝ< Ñû$9[’Q0 œÆ…’žF5éyQF”òã M…8þ¡‰×\‚TÆØö<Þa6çzJw(/x‡a2 6æFïah1eKÿór3"Äh‡ŸQ§IBú4e4¨ÁJ«|Ù‡ÜN‡†°²Ÿ©¦ž9 šB:(©87¶\øÇ<ôÞ]Œ+WåÐÉosg–ðé•I˜_'òÞÿÈU8²iÝK­ÒÅHоmba‘äÂðäí6£‹K§Ú‡ðpÛÏz¥+àJç:²s¹-1[ié¥p6€iéiX¿ßög뿪äê#{ ©Ñÿ*r3ØŽj¸Ë=A?é  !‚ÔA‹6o{'0²ÆùagR™ï'¼ÑÖž!ΰ‘Ï~øë©®™ü .Dýu½5Éë³<ßɦ",O÷UM±øŽJé3ÏKâ,¦ð"mµ# íTe¼šÄ¯HôV/Ç ÊfùrÆÌÂâB+ۆ숳‘쬩ñšŸtÐfÍÅhé¡jkéÚGƒsœ´1˜àpsz£uAõ ~­·”ifb|6«5Æ«~«Ñ |ön%*ˆ÷PYÝȇʯ¯7ÒW7³bh‘Ùõ g$Õ…A9ÿ7ËæW¶ûÏÌÐRßÀd[½ksÄ›#±õ+§c)'¦¯ÇaxÄòÛ~'g•À&s¢"–²ºbZ›ŠlGã/€LŽ!yËÆɉOéÞ´0®[agj-u›ÎZƘäJš{ì.2¦iª={WjYq VKbpSÿ I(—æM þ¹§S5&ÉÒÞ†¹ÕTË•êæ–X¨²¡ «rü1(ç8KXqH9k0bw—áöÏ{)F<Ëï¥ÂAæì˜ì—‡¥Í6m )ƒâ|Òá[­? –½Ì©qþ€”zyKäæÏ 8ÏQ“Šð"…o¸›ˆRê\I~Bud (éar(æF޵¹/”A*ý];µA*Ü̼'|¼*ËŽÁ­„XÓšŒ,¤©ŸÇBEEFZuwP`¤¤¤Ü2á7<)³ÆÞîÙý¨m¢/Ľ Òе^6Ü;¦H@;¼™¡fæ~å $8¹#b…?ú"a[{É3XùŪ\`Ü ñ¥j-ëÅ 3¬# ’EµÓ+=§1ÐB”ÈÕ“Õ.›|W5ýRueýV2î}á®MJêA’à)u¹ò!!.Œ-2°€ÎÍW:OA^«…·ý%Î}ÿÞ¼wƒýkOºñ1!èÏ `ðÍÁ`ØA+O‰•Ψ‰gU©ÛÛ¤«Je DóUÊ–˜EB˜^憚]Tÿ¦–”31' qE-¨BÆ[?³Í°ä÷_=¸ù‹W¨Ä~: cq0¹{€HÊiª†ÉÙ&4$ Ljð·%»S°'ÖªíÔŠRÓæ÷dù½ªÐµ!7Ìb~50A0;îäëù»I¢áyú†` ]­¢E™œ90† ƒóÞ‹÷·àé :½>‡"ö¡ê &A4uÇÚþÚ}ë×F×úœ%þpN2ÊÄËdJ_½4[dC(™ê^‡›åx2÷·f¨eÚü’ÍVÿ<ÑžÂÅÅòr˜Ò· ïtXø¨§~R§ !]ŸÒîÔÊAvâruên•^&Žü€l¿"^rZÐyÀÈQAjVø½(­~=G­ÿÑ*ïWíèH¾¾½×1G°ÂR%cbÃ2 ý„·ËL©Ö¿H—¹5Õ\ûóºi+€ùÇ€sãñ­ôÌýc¶±ÚèK«/Z7Ìߪ׉~ùn-\›Ó²Áª2›Å÷fj["LÞúÏŒ Ç^2??³Û©lllG(`i8ƒÄ؉Üz€þðHÍe¦+z¯òEŠòè%? ¤#Ü'ÓÅ¢ûvl¦˜F0ÁÉÐ/@µ›èaxe½RpP…çJy³Ï#Z b¸Sq¤¦-ew`B^Ý&\¢ü¼Ù>Äwð/¸‡ðËü°sh§lâz‚/ÝA8(oQçÿ YA©ñ,1rërJž¤‹ž¥í…Rã×$V§¡äÏùÃ’ñâпdy ˆòöjÝ¿U…i‘WÞÚÁmã]£ê²ü½`2ˆÎsߪûÄÀz´JÖ$œÞ©‘B­zF[®ÙSGS\û|#À’— \É->W&–lÒ½˜§ðÐ už ;s‚ãh7K«…÷q‚}šw­2qMQ ZWTŒýÚ:/œ‘œÇˆz’½Mù9íœJ ñ:bWG«T-€#«þbÞåJZ2ÊC2è±­tÌÛE„E¥·€ùaÉ Ìil¯5½qœð7§kE—?"L³Ä1?ÝKTŸC×­ÒQŒ¸’—µ¢QÂ,9¼[_à'1þ]%<ÃDÔ”Jÿ]+ºÂ,¦ /!çl5­sª\KÉÆv~IrC䎦Ìr¯L š4šš¿‰'¸U í­Ç[Œ)ºD3ÔrÒ"Zúõ¥¦KvÚwf ¥ïd´…¡Õp@LßWpn’Ño¿¼²_&š#S#Yð%¼;¾ÍL÷½ˆ0u¹hLzu›ÔÚ _h)Ro“ðl}YµknZ#s‹éüÜ"k d¡ò­´°OìšQËŸÙ<¬CñEµØÑÝÕPÉ5<€ÔV…‘0ðœo¸Ñ´+0=/‚Ë âaÔà“3‚½F«]ú§4æ5‰´ 6¹‹9BÆÜY_¼õZªVpþã;Ðq¨*ì±L{>*j[ø}ѤÀ&ÜÛHa’HsÍ3J*% jÉ·ªgÓà‹¡A¸uXâ?~q>$Æ™ˆ¸£íÀϵ•žô$ ^M½j[æ@E_½†Ówm×ú®¹§¦‚k øÏÊ@s—¨<Ø=F\Š‚)7Ë7!î7»ásèÁPÚÕÃjÎ"O!bc—ÔÞ¹’°Wù·åÆv]ú:?Àûu1œœèºe¾%ÜMx›óô©FL¶*ñ—þmïÊ‚7Þæ=v¼hH:ÀC+q‡·W¹fÐqfÔ¬…ãñÿÆï0lænã>²¤WhUMŒ»ÒD «œ‘1›U¨`Ö€©Ž–jTý•fŒ¼ªÏ‘Ñy/„¨ß’m°)•;Õb®ÚDžò<¼’¨þ·Ô?>a{o’á½ ‰ö´Ü+“Ö^ïOçÓ)q$ùé©aV9ÚŸj¿- Ñs)vŒc©QÙApEãÊ´þª~f¶”åA¦”F  /#"ê k›92ñ?’Ë Êt[X~]h1o‡,šñ¥¹gùÑdñ8=s»|ßìKæeÄ"#‡I½=ý-ñ*÷„ïÖ ±‰«]¾YR|Â'ŽÏûê£Ö©ï¯p ù1I^ÔA>Wìßæ7LÙt”æt–„€‚q ¯“(äq„CܹÀ#Ö7Ä®›€y÷u˜”të®5nl•«Kl-¥óÛCZ×Õ¢Ð0éÇà+­©.f ï¡Î¹0©}ŸSUNx”Ö3ÿó"‰Š78O¿<‰Ø‚‘Hû‹Ücƒ=·#/U§d°L•7þú¼h¬PÐ?1_úÜ“ &;“‹S£Ž ˜ìu-1$=%/"¯¾ÇbáœÃ@OQˆ=Í¡³éçd{{wâž=s•et†ñ´¯pͧª}ÖìŸV¤%üM¦¶¾q%eg¾u”ôîÕiŒ'½ø[% êbp¢”¥Â[`©WÀ@¬(¨ó`e9NyUܯ+wkûVñ_˜¦Ùë“| ”:U”É`Á›úÍ:R&óµ‚3Zj—èP§K÷¯ k«ö_oHy8œ1KsÓ-išQЂ1mYyÆò±‚ªï}?¡û7ÉUif‹ÀSN,>hÍ'_A§7PŒ¥=ÊþD‚e·T߸0?ÓÌk>dEõ();ø—Ú:þvþ8wq†1š(L@8œ„cwÝyò–¸\Qi$ žzÖ}eÙíÄcÝý»d|ýBÒ°‰rjúçÙ-ÉÓ4öÐ úÀäÇO³ÀÏ¥XÝ¥Û|¤[cÔ¬72Èï·„‚ôŠÈ€Õ··? E¾ëŽÎPG­Â%­næqSâåGÿ›êß7>Jo8]Q—‚5õõö«¯hÛdzSÃϼ! 1ľêÈÀ8±}íñΟwð~ã÷ãÛqÆ#pÇAæAJÓU½Õ’s¶ý_ÜăQ䟣Jʉ0ÀÅR¶ç:x^ì<·2˜3ì°pR‘ñO %çŠ1Ñ8S!`îñHÀ0ä¢P9K=ûHPã›àü¢úâ§ëš¬±tŸáÇ‘Öv~]%ɲífކsçµiç `¢ÞÍ%âÚ’ä#'æ›ëÀÆëm®U2Mö§“óí ”‡X3%5Ø3 âhMþ2B9xM¨y‡º¡?{Ä0bqYCÝl cE›iköÂ칌‚œà†ñîE‰¬êŠ*7ÕO9pþ\æÙLGºO"š¹'Œ`<üu€HÔ÷ºë¤Üg|fŠ?õ€çy¹±ü½»O[¦Ê^ Ê‡üz¶P¶|ÚŠ \ÏýNÖßoÝ2Æáígsm £:èbáfú˜IºjDÈû¯Ñ:1ÍÜ]ÐåKë¿\[ö÷Æ“ü¯ÍÅãȉ÷waWðæ–“Ú‚¹‹è€óòÆ']yРü¶6Â'~§ÿOW×^cs<ÇSÔFlŒ§Q½BÏF? Å´´bÆÄ‰‹ÿ“3”â(À&B%¬Z‹( ™ŸÅ‹«ñ.þQuI…D&n$l‹@Ðj Uqç%¶o¢PåìšH7®-z×÷^A¤ç á%9óð 0,„"ÚÓ§w"ÐVxuø’(Hz§®½ÆÊ‘têV'=2ßXŒ”IN̤Ëüú¦ìñ)%ñW^fk”Ý<ð )ñð…©IR ï7kUoEÆ!?=Ÿ!…˜ÞƒEw¡êÞë½€þ EW=$<ÈBíUÍÌûf¸ÿlüèËËÅ)¸«“Kšì\M°-ÛÅ<ÔÎ=£’‘y©„ž7~ôé³¹¿RI̘ŸíèªÝÞéËÊVþZf¸×É”éÉéÉèÒt-§?‡¤Æ®Í“+@RÙ¸¼õâÞˆ žÍãºY°œî¡W¯3"Zæñ5|R!*Ï'6«¿ˆ2÷{rÿ=Wì¶œsQ¶‹ÑÓg,Eì­ % W.œo†'±+Rzºuª«< ÔFÖg;º_*êšq—Ôm4©þˆKn¹´+¢ 1^TlåZê°ü¡«‡òs‹Ð¯õ¿æ;S<¸í铊AGlöqux½6„=Ë4¨íñ²[¥ÝŽ…Q~Aé¼ò„’ã-µÔÝIx‘[¹5ºL íGWBçIUŽ(Á[bµê­ñßOc& A ÷aHþ'B·—;õøÌJO8r°7Î-õùÕ¾I謉§òQ”Ó’oKºfÖE Á}î2u$‡Í_S^Œ°ÀíAA,ÚòüÚP»û —ý P†SΟâ¯ÿOðÐ*oè”8ìïÍ–Viü1ß]‘ƒÖàpßì.  ›Ø^/_ÀYÂü+×V"Ó)õº*þ H·ADƒC¤¨°, ñ¾`¢à/ѲI‡ê¼Òaž´AÏcnŽ]–Kw»møNmú\U°Ë”>¦JJZk{@ˆ‚}.”N’ú"h®ïíL‡ÿ =H*uoLÓ#Ÿ…A(‘…R6×cïÚ$3±¦[µõ;I¯õ¤Á¯ŠyE3Pc8çèÛãælì`šUÏ=ß••Mn“ŸB2*‡NKxM×&„yO”¯Vã®™ tÆaÙ ð¹Ì›97°u¸úˆ2¹F…#Þ8ñ§ÀØÅCïY;½Ó‚²À6˜£#½ÝG^Z€®9}¹ÂP8öØÌ*FD¢…ŸÅYÙ‹<®¤÷[¦G僿/À¶ÙU‚³t$Ûã…î-X 7¼¯OlcU·ÀN b}_¡BüVÙ×Vå,fË~¹~ÁÁ ¯Ö¹&Ž»Ï»ŽCwMd2ìâkRìøˆá’j ‡ùÁ€÷ôü¹o5VMÆNx`J ×:ÔÚRoÓ7ÓÂ6Š»PÄ™é ‡CßÊæÎ¨­R}"«¨)+S¶åúR[nÖÃáä mýaxØÙYÜ\w¡Ó9óãä€EëpN´ûk¥,¿C1Ò¨¹€tKÀ²Ÿ1*¾ ~F2ÊÅuf󧱌Ê*Næø»z+W)ôË:s7T‹EŒÓ’zþ?˜Ž¨ƒ3J‚6áÕ¾HDwÏ^²ð£±{~GÍóØX³l™?#4Ùv1?½ˆô…ÓÁ=Ý…™‰dÞÄèY×¾°‡;)ƒ©‡÷$8Üžìšÿ¹]6Q®ÔL÷‡àÇnÇ ½4É±Ô a M:+ Óæ‡ªµçR©±ô˜-ƒqd7Ô‡Q…Æ¦š‰ˆ’=ÍV/9[ajÁ;ÕÃXúÉ¡Ž(÷ÙÜØÒ‰‰&@$ÌF‰¾=v4Yuà’ v§:{‘yC—¾q%U©`eOÆ g qB×ÑCµ|4pRäCàøP#Z% o:žÚòò!@°›†m2jX38ØÅÌ”sÊ20û芨œ=ìšöÛßÓCîEnª+vNn!03.pÞ}Ù 5­û}\–Ü»f.:ç:u@.'-«Ä°Í#IÂáw‹Tä4¦†Fí%ßÐx6¸:ß©‰rÚÄÕ†'Žâñ}ëF 0G;idöpΡe±TózVýàSÐE€Ä•b߯ڹb°ÑÛxqWz+44M A¢åqœz!×®¬I=- RKBdwqjºî5DøyÍH–÷^ç-]½B0“Ÿ×ä7’—x%k+¬.v€þdÙå¡°EEhj¼4³wXjêÚø9èK¿'zØö]8ºœ*Ƴ³hÃóuÅ8ÅÅzc[3½fœ"APûžo,Öópàú#*²© Öèe¡'øŠšsI.tðjª)§RØR§ “ÙÇînï„<Ûbä½vA#ü>RƒžžKfй˜F\`?¨nÏ W÷gPîDI(bþŽîÔ6yš„ n.tú1÷ü£œÏÛ0èQp’n“ö˜5éø±ÿû¡ t.aåÖx4“20 _¬»í¤Ë sB'‚€ Ô¤!4¶áj…VùÆÈDÎßKê 4¿OÁ ‹v¸(Fýгð’}eâC¼qGЕ:ï‡ó5~„ÏÁ ¸Ò_.¦®p›¢xèZ ʤ­´<¼Gìv•|u½ü§ÌU ’~*¿èÍ?0aŠª†¦.<~'½ÙÀ LãÇz‰:^‘uèSƒºA}ç ]·lŠâ[ßuuÂР¬8•ζÈyðÙ3•—0D“Ûˆ­㶃ÏE¦â‡:fĈä;qú¾Ð¾!·¤wQCÜk€Q{ L=ß>Í¥¦9¶É#n %(+°S<:KÚéÇàô¶ÛY§Áä»,† D…Ã`b²ioDÍ–Ì`òáÝÿÙš˜ÇqÜDZ˜xc.9ç9JžœMNÙ è¯&ʈ„n6Ú¾Rµä˜3žÖœìêŸ:Û=8~ù``Í2dëÈD&>'*‘Ä]yï# &9Ü׬4M|ÿ°ºþÔñ—3Zòè×Ë g¿ì™Œpè3ã /¸UJXŸyÚº ß —¤´œûcÑbÕÕÓôÇ£òî0o“ÆvEW@†€"L'’0O‘³lV¨D4`„0i¾N)¬µÌ'•5‰†½«h³g± áç4UŠ0s‡|Õªw‰‘]ó"ûÞrÛI„~£D~;ÌËSv)tÆôÅJÞHnb޸üIéi¹ˆÿ¼)@zk;¾ÿ_AH†€šÑRROSï"Ôñl‘ê$}£&ŽšÚYå:Ç(¦/ËD¿ËžŠ¥JzÀÄ•hX+CÌC¬i?BàŒA2é‚€ Zp¡í­gdÂq­(Ó#­·¯zÔà çÐ>ÚŒôÆ·X`ïœjïü ª¶•Ìue¡ìK9.girÄZã´Ø²7ä€èu·ÇL¢¶ð'mwVëÙñ"á¹Î7©྅ûš‚çr«óeÜÎ6¸]XqTIQß3¬=Iú'sÿÑ\3°é“ó;ï´4ox<ݳãò¦¾§E„øÇó²[âè8¼œš÷yßÖ³û¯‰~ã3£Zrïݺ”³ ÔÎM¾‹zÕ¹AgÙB>軉_H>ÛÎÀ"…:6ógø)Cc}qígu‰™4 ¿÷f#»2ÙÕÆ†”ØöœZz¶›Sï`WW0í^-”” POï7çp|¨nôΩ™’1ü<—ìˬôøbNÉí¤ø+ù±kÈ…ù8˜@~v³Ä Œt‡:<}¢}=†í[äÚ%3ÙŠ_7ÐÜÿyjôL½ ùï ›ã£?â}=æe,Û§k C¬„}ãz;¬CAŽzÙ®ýP‡~*Kr²‚r -ý\O7DÀÂï./1øxŽ/£Xf»ÑE¬“øÅ­©€­NÂÌpOàdÄ„¼uØíÓúD¨©”’“~ù„Hž¶¿œ¬­ÞÝÓBkÜ&&fšqU¸Æ1¹v j©'9–Š&j²²È‹-a¬Û°ì>Éœk÷7ŸpŽ ÑùèáÓ&¤"ùdë*=Tz„›R_ÁÂ:ûOt+wË‹?ŽÖ MJfÌÔ¸ ‘a†î†Äo®’‡‘3-lo’¤X5º.ñᨋvgÄÚ´¢8jdÏ5ÐÿTãå/b¼°Ûa[¼*Âö›r¥z@HÿqÁyy¦FB#ºÜ@RÈex¹¤*†ÆeÑø(ñÙ)­ÞR€¦t–Ç@xÓ ˜ ÈkÇ‚‡Ø(gQ8ÜÏYû̲À¤ÌWŠxPbáÞ•9¶ŒŽn짨tº0Ó@®ØS.QÀí¹xXŠ%¢©“R°Ëúv<&Z6`,9° Ï:¼wYf²"­Z´,°ýÀ´Fp_Tû“ R"Xu7Ïú.SŒ¬ºO‘Hö°ÁR¯F÷¡ÏC0æFPì¬Õb^©3#Ét˜ß\è-6b~ne1Ä"2@l‚ļfš `; Ø#á*vùåžûjÊTFl_Ïë&–©Ì)gXúp!çŸêGÒYwa,)È%Á(nlFÆnÊÖø(š z€H­dWuEë7mûÖŒ¢ý¯ËUÓܧ31Õmryɰ4š[À¯ÿj, I?Á5½ÓjÖ"UÌõ/þ|“»¹ô’Á¿ÿäöøÜkõ·\×Amf¢àZ±Ò:’N¹pVV£×ÁRæ þ4I pGÐdRkþ>½K³z઒FMû•‚Å]r›ïßn¥€ÚÝP #‚êK .?t6Îd]Ã=xxãš‘Íc»ïœÚâ—$`ëôðåb£åQ~؅ ëm´®¼‰|ÀØ¥önþÓsÍP·kŠXZ*˜—ï?óཱུA€¯bH ÞšB7é#œ°À5p|WˆWÏ4#¶$¡‘¦åN§!–[e¿¬_2%[èL'P.iaø`+Ä.Éÿæç®U•tLm¼cPÿNgÏçœ3ýuÁ´+½®Þ¦Sn«$Ó‚¦ä©ÜwÖ´æñ„ âRk¨ãÍ9ñ–ìØx®ÁÆÅaôáÞâ´ûòÆ­qÊP„!AeDi«œ)®‰h¢gf —"êT݈Cëëk1_;9®t(·°KºÂR@jp ü%Á¨r°MÔZ™!ȉ٣‚ÇDfÅ+•£žbÎ>\yúC­‹{}°åy0Ïéñœïoå$s E?zâ Ù‰ÖS;`ŽpAY*pèñuvü‹’í“«@Z;à‰ëýt #‰ÑŠ1¼2X ¥ãàfµåB˜ÄAËÔ–9k&Îèò“!_N§û㮕þžBk’)E'óy´dÔX÷ÒE7#)L–&s\Äü¦—÷¯n ,©àŽ(ƒ,úùWy<%ç0es¼a‡"ÌëèȪíD‚©&ü4–“÷ˆ§9ñS=µÿB“CS uÔ-w„LšêkAᆄpÍ8ëP«±â{5¦`I8 ËÅêgÙ®¼2)Ws¦ðH‘´XˆYÿ~hWOÊ5 Ÿw„»ÞXûs€ßÿA› <œíÜÓ[Uø§ ŠzÁälrÂ0èËgš+– Ò²@Ú®SO4«\”¹ 7w,º£]s¾n¨Š8[ëªæN ǹ­àNåyY’Ÿ~iãd'ˆ‚«¡vÕÒNæŽÐ›½pA^†W¤{]ÎáV¢u™ÄSðð`¡aãƒxÌèdí|ýb”ŠÐ÷ꮚlÝYÁ¼ú^ȹMœÔË*&‚LuF™RÀ¾ûþ#¶È¢& ÀOÕ>äiK!+ØlpÈ#…gû: €¥µð1ÃŒ4 }=-´=}ŒIK{§ö áÙ”Fé ÆVYóûFް³¨ZIÍ|Ьá®ÇÝÜ(k°±_Þ&×½¾É­ô^Xø§–¦~!³ýÝ›yeͯ®ÌÍ ¸0¦Ð"¯.c£¯µÏ5*‡Ï[&Ô\LÁ–šóv Š Tõ9p¯XD“Yà]Ñû«Eò(ÀàîæÑÌ<¾0k*¶_¡éàò¢ôæÝ{  ”玜 Øã-r ˜=“M/31îæÀ‚D³dQïg„´ƒ ôxD`CòÞxqöÖ29<ˆ™gˆô‘TµJØÂÆË _’Œh*¬ÂèI¦×ã ñ\békìJzn•0VLI4Ñ¡  WӂϦÌü2 mb&XîÇn­·g2¦d— j¼óÊÿk3]ræ ™Pˆ;v‘÷‰It Ǧ† 7¦h¨ÀL‰*õÞt‚ç{ ¿]Õˆ±}|¯MŸRåc9ÜÅIcƒ•²6Eµ°Ûã<ùQzùFâ1 –ÆØip˹m*ún#FÊÓxoké|¹¯ì!×_?ÆZ΂'Ôfßs&XI×™^VºZßÐ8¯ì¿^6a²ÝC—5Ê)ÝÊOÉâ™Dˆª“]ä5Èi@¢ø(ê™SFë4Ùà…úÄŽÞFÚê'¦är¶<‚gþ±?¼«¿{°á¡S"2\ïן.ÚÆ=ù-ÑâœÂM˜¥–¹bHZ¥(‡É½_S&5Ä&wk7kfXt %Â|8 ÆÃ1‹r¯gO¸E]ô>™Sa­`Ô‡@ëP^¢Ò1…’“šj§ÏNU*O°ÀñWqk`kÚnÓ|û¶a¬Á°I°Šgþeð þ~Ü›¥3l Îê™Ðêu?rYµxGõlÌÅãFÈÜLoQgÂÛc‘Õø6‹Ël5w8:¸¿PaÜI¹¢R‘Ë(°Ñ7t|—Àî.lAZ¿y¾áÆWâž4¶E T>MlãÑrª¼šätÓš}‡€­k:Œ×&¨gŒ‰Á ^¢!‹Û«Ì\Êøí›ð <¶kÍxñ -Ö(QÅT€áÑý"¶5޵Ië(aÞž½)üvhÆø¯+‰“´~£$ùaU$‘H…jø(C½¤¾ÜkEVó@‹Ü•¡ýA^qv’<×2}¸¿è8?)Ç…ú›ªà€Øô×ö¦mnh¢Äª”%¸½ÇõÙb×±'?œ½sGsg ^V´m­ôQ¾TO`¤I+Û¸Vy³7¶X?®ÍÊ5¬’ÙX™ sñµ2Ô¿’ê]J!œN¬b»Wýèk"$v–1Ñ•õ¹ú/L–õ3²oYŒ@¯–Ôà+ Ù"9éY³$ë%íñ{ùdyÆW*Mݸ–VPIuì\g£G%å8l?Ô6¥Ÿ—}ºlõýü—˜® /ñàHõý—©Ì—0ëÇÂV¢}ïü{+ô‚YB_ ŠãœË[é½¶Su21‡Ÿûd<óƒÇ/„²–—Â]aÜÝ‘lmŸµ#}Ö+­ž—êA~t±[g™§ÁRáôɰC/ù™ª›—øeA>rÂþWSã³NçÔbêî’÷>q¢±X@X oÕ4{§M÷Ùàþ`J)Ы󨊎8‘Ô.aì†Â\ªâ­[Ð3JKQö@¼°ÃïWù’Ñ?d7)ïJY†;µ×œnA`=#Λ)Æ"³­§ú>ÚMMˆ}~>eNì7­kWË»ƒ‰ Œ%Õ­[[¯hHx­ú_cMáÒ¿‰"hµ#I(ÕH~*¼Ýª•í¾Ñ\æ~ò»zÛ½„Øži¯ßïºó&^9µÜt#G¥Ï ä͠ó‚gµcÍN¦ ²%¬ðvdK{v½]÷Òciæ »ƒw¯FGÃmþV«·9^§âÔb0AVLF*ºB¼0_%³ò‘×ô«4V é,6ÕeO iGT èM6`:æQW‹ïw¨w-Sm †Ï›±¨%%¹nu Œ#›…E92˜N åÒ^¼1ÓŠ k•T¥Ñ­‡1„¬,ðþÅÔB¢‚ÚßÕ¶àÔ©4@8ÚaC^7Å ÍrcŽYÝþ³3­#íQî}ƒ*Ò¤ í_aݾ‰{ɶ?CKÊ%0yO•à ¡+Ìjðy=!p‚x5é£ ¯ÔÃå>ªñËbüôâ=}€wVO¢1´à¨oÎ$u_rKÔÔiH25ëq ºÓð íÑWN¯üeÒFŒ³Yçç#ë+´ÂÏœWÝ)»~Ì–ÎÝ2/³S“މñ †Oæ ,}÷0è€ìWKÁ ØD>Yê¤]¥(±3N-éÞè"5 ³æÜ6’osL¨ ëÀµ©Œa0¤é0… ¥Ç–_ ;µŒ)^†{ö´v”ŒÜK Gü?ÚéÐÁvÆzSr‹2¤ÚOÑòÃ?5’•%çü)2-/ŒXFu+/óeÐNú9¤¡þ]žýq›öUp{üÁé;VI҆ʌ­‰U“Ìð ý÷x¨ŠH)hCÒ[sÓö| »!¿h*$„“Ñ…: pá‚ÊѽSwÿú²´}PaÇ*ÎúC? £*u9»Ò mxYÛ¿ŒC3)©¥ þ8¾Ó'ÅÕÔÔ¾ù">îJ $r»ì¸Ž4ûÇLz&‚]Uœäà†Öî© ‡&Cñtb+—-&Ç5ƒËÊuïBõ{ÚÝ % §WðˆúÃm8$½†7E_žÛ ‚‰×ímg (m(úT¶ö©uå´UïWëòVaÉDÓ° mŸc°‡%eÖIØÇ‹¬K¨1G€äSèYSæ&W,6CÉCúgFè­:Y[šš´Ö>—åh"¨÷ ù;h(cÒjžSA§x|*èáy„a{ÇNCLU$`ôA“* ÒºÂrÏ–1§Rßøî¢éQç˜Î·ðjjpZ¾/µX€ÌVýÂ\  —m9jT­:Òh á(¬æ_Ï7ùèJ«‘Q/›t…^Ò›o-W+&Î ñsƒì’?¸J¤§³_võªˆƒÏÜO=ërZ°HÊåkœq S7ÖÁ0%…BñtšRø—Š•º¹³Z³ u‹eš^E$à1 ?KÿL¡ƒâ+vVÅÄ1—Šù±dÄšt”E›MÍëÎj­$Þ£×eþ¿˜ LeöZŒÓu› Ø,eùÐôM«aË ûÎë¶}}PVOÛ AÆ”é{çåYšþ²ø ] #1–Üd6[Úbûæ “¹‹w $‡$(T7Ð7ˆêÚß%E=ûûù%»ø2:³îüû·™ ÙýŸ]R‘Wíb dæ¨Eè€2íÙg%Õ©Ô$í>šÔ m ÿ–jŸár@/•ÈmÝßÃ^[Š·@ ë³_e'F1ÀQÝ劣ŠàègŽF»wi&¦¢XZÎÖ§Ku¿-¸?¯ÄL%Z¼eñã{E·Y§(ýÊè2é ^Üè’M;ß—,]€ŠAµ’­ •êB©6hL‰½Q|¿‰ôè>R£ïøx2WU)å‹ehyfÃ@Öï°\/«`•^v0Täõ`‰s©±±f : ¦ü\*/A£,“KáAïá ¨™ ¡%ó@°Õª$ššy‘lu{Áˆh¹2´ëDÉ©¹µ6L(šž›Œs«‹MõÛ(;A–¢HR&97…g%¡n£bv$aË׳·öŸ·ÔÇÔ^NÛZ7y4Q-8+2ß~¥8ÄcÆ0i ðà¹u5æ¶AnheÈSœ¨eÔ¦9€£Î³pYÞáÿø]yäly¶ÍÒÔP–Æ¢ s`ìØúß8ïLj+runB²Mø£aÙæ%RÄÌWSšÄ›#!ï0©(ôS{ïcÂØ¥ÌÓßÊÖÕ@,mip¶è ÆoÀ*`¸5ä¿ùtÁ©ÊÁoæ#ª€×D,ôÉoΜܭ2k`E–d€aJžÙ¢ ”tÒš²™hâ‡6n¤ °K+Ù×9 c Ýò‡ßܯ}·ÆÌШ•¨Ó줶 âºTêøít±Ä|ÁïþrÄHý¢ë~%Œzë‚—ZY¬$ºÕ Ñå‚ê)ÍÞâ›löSìù9‡Ñ—\µ°»zÐÄO>:iüP¦ñ8Ü+¢Žš"²fÕBñ´2æb_]ôp˪¸1>]öï /³6ó´ƒ49A¼|)H¢ƒæÂO”¾Ý™˜\ljØÎ ‚8zµ¹3U´Qê-,—³[nè ‡$<«Ž+Ä^>lqOÈŒ%Æóª]êïsbרzgGï‚™‚ vS¼ iÊÕ"#Ÿ±ZUoßpÅüž) šXl„—÷Èè÷ó‚áì òäöMTüÛ|N..&¤ f¥-Ì¡©ëûàöt´Œ0þ$’>P6’~ÒÈ’^ù”2OÖ óâµö@%†ÏÿȽX[ðßR‰WÒ^Œ\„BHVŽB1KE¬â>Yùä CK#ÍNØŸFÖÇ2û±¹^5{Ë×ë˜#óà0 Ùeƒºûý_(cúhÐwüß%™äÛ^˜iFômбdè¡d€lýR—qÞqktÅ/‘xÝû„ Ûóíáê8šŸ0‚7B@“—4%9µU¦f_  SOê;ìÊøÁ)¤hK¿“suh„›EÕ<²{VJ°­`¡Ÿc›shžHrP¥v§Ø¹ŠKšŒ‘Kcµ55×8ÁPf·‰ÎlƒgxT)ž*Ÿ Ç× —Dš Ç€/IÌ†ŠŒ¶ 퉩õǓǮµçÄåhÎVóCþÆI`¡MÅ[ýŠq4W¹x"`Y yN––¹–þÇifj¬¬¬Æ»–ð×Ìó›´ƒÔ-ãÉWmH‡§Eøó×èÈ·pÌpQ¢ÈRÀRqàµ>>“ÃØÅe‰W½Ü[¨fûQ¼£±Q†´@í\= ­ Æø·d¥ý™ À¦˜Õ”5ÚPYÞ[󦤋í0Jø™"‘úJCÈ“¬T¯Æ›ù>µñžä%+A`=ŸíÃÜT‹HB © œDìß4â#èãWæé\ìcD,==ÒƒµŽþú•%qM:zמ eõŠ4#jǨ)€Zñܱ¯(ØñÂcþE¨°8ëeôÙÕ´¼ŒBË] Z¿~ ü;ñÀÉÄ«Ämài²\ÂÏ„•»½i$ÌÔ˜È<ûî¡8E)‚Šï°Kµw«jŸ=j¾–’u²[¶)÷cì¶e=lÈÚVµížé'–lªáAœ…¿¨.lÂËêªgvÔ„f²š3æÆÏê¬ëaM ¢Q:›fB¼övµ |RÀ'‹Î\î“11Z*3k‰„ðX#Šdl„~Eé![ì¤êÏ ÇêA”ªEi~KNcsóʶæ³fÎÖÞ× ÿ·œóN×Á{¾(á&ˆÀBî²Ûpí.4ŽÊ–È]º\ïí1›É÷´^½ø×b£õ^ȪnÂ]éöÏâJFítˆ ¾.£YÀÅbøúŽîJ÷YÈX{ÔQ"%÷ìò°zþb±XÒ=oi@ŸE爟±urÄ Ç!â’ñséÅŠáÝ'¹4çWí&§wÑQe†8Bºb…Fpr5 Š­RÔYÑ>Ö §%Ì}¹kŠY½P•ûaö¥4Ó€ßäã†i˜W x Ý÷+©©BŽG³áßÀÐj Ì GSVæ–¾ò,–„'ÿøð‡íY½å"c' z{f½1—2ê/å•õ«^#Éc}n7)y EW®?}³’ŽäÑÔ-J<ëÒx†±lUü(ªbí¹$S( °öjò& ÷;ìRm" g7$Qú©*J%Îÿ mJùà¼ÇñtüKðbäß4ú´cÃí¤¬öâ—X^íÁ,á¦ìkÏËræ0ÄkóÍd,*ˆ*oQµ^œù$9˜tRˆ‘=;‡ÜEskT†Ø÷‚=Hº¢œ²™%}zet*2t"Q g: 6D¹Kê ßÔ{Á>‹Qa Ñ»4XÍóÈ*Ji™€rJé\Õ. Û¢6ÈUUpÌ ÉüŽú>Ö1f(±4ä gŒÝÂþêA3ÍÞÛnMF®þmn8DÝùÏ#¹‰©ƒ0ä €2•Ý8_ @ó皘¸äÁJ,~¦µ‡"Á;² É~M¡s¯G]®­xp…ZDkÓl¯ã¨ÖdDõD´NùÄÉ53ÀˆYƶ‚]Ô;q\Õ‹ägÝ› xì ~Ì£;|($ÇŠ]“ ÏÃëXlA+%€€ô6DMð÷Cð°ßb8wÊkï †,Qçºúˆu ž"kì¢ÈYpH‚Ì-ûQžZ„@2gò²U÷pD$M:PÓPd^ddÕêûªg}N­ût¿êj_ý¹–â\Á¯®Bq=¶ìöŸ]8Ó¸M§¶—ÌçûÑDM šÔN®–G`o¡CÔèÁ(!;—žæÁ8”ãA®Y*¢bcþ¹UîŸqò»º6*%ðiêX†î†”YÅæfaD»^ÛÃÖu>–îÁ[µ"SVN†îa[ÑpFÆ8DÞ ¶_jKŸUÛÏ Èo’¥azA¡*§bu¥T,¦šÕ@»ýz[L¶u¨ÉªàÞ¥-­­ ‘h%ìx®Ïè›òô7›ú*Î)Òuéòîá! y*÷ë®#ùžQ•¢ZÈÒùsIJ^·&®5[¼95FÍCõ%‘U\Ä~ªQJbZ¤ÀÇÁ@rp,Õ7-à:,ö…Ï_%¡Úu‡¢GÔp+Žq§_ûfWÖ‡or$ÐqÇI1Š&1ƒf=r È=k[¦“>‚žÜ6œdÅ\•ʼ|Sû‘Êr›øš2´Ëâ=ÿ~çÆBð-× ÞDqÅiä¯yNyxE+ÈirÖ© yœô˜ró¨£Yfw‰Bͦ§Ö r•YŠvµ×ù†sÙ¼09QŒÁÒ2¾@:½Ð×%œ.ú'Ť¶X¦_È¿3tÑ»~hl)úNŽPÅØÅ×öb„.>œû¤ºVÖíi*š”‡v08.û™¨,,¦~^løei›U(¥«÷ç›rŸ^@8‚¯QÉ71»"Ny¤Æy÷òß…q{ákœ+OZ¡8BZÉW‡è o(yt¤ûôHVë7éC~á‚ý,ý±|¦[6s‰8§gLIêRKQF²fiäÖ“*FX­ÔàžÒ(ÀEîú"WüçmµCÖ¢2× ä³Õ%^É×DÍß¾»™Ì¡³Ô­Õ¢¯‚©ZQ‡e¹NäêO’´ÚᎋEî°ö]ØÖáx·Õas¸È^e9j¶!5?ÁB±¶1Òó˱^íŠKkrÈ÷Á‹í½+Õ¿”¹¼³²˜5*ªEÏvÚ"þœ™P碾œŸüÊ¿Aù÷{À+µå~‚&©êHˆ†ÚUì·Gð„˜n8¾ôh8Ó$:Ì5ÐÖŠ}½êJ6  æÕlˆ ‚ò™Ç-Ñ«›x»g­å;ÇT˜êpc¤2ˢبÍuÈe_™×áþ-Ê4͆,5X Q°]b7ÍAÀ­]UŸAtk®<.¬¬¤Õµ.K–°£rY¡¬ì< ’N%zbrÆÛÓ¢ŸÒÆùÙB+ÑØwåzÏ?MQëóQº•–6`È5z2.nÏÕ®Ô'Çû—Šk©,¬lù@@¼)¾.H°"YÝ»C5`zdλµ'8^ …(óõå€ÕŒÚ;,.ùƒ¢ù’h…ý z«¬È]ï¥HìuÆü[Ý[¥H¹?iÓÕÄv³a63GÑ ÃÂ1z}M8Eù=õ„MEÅÙ@°8®±®Rs÷lUæÛ  œŸ_‰¯ ¯åcÃ(¿gùP)öjËëµ£ $ýMÃM"o`ÜVtrµ¢Ò!9SþöØ?zã=+=Ng+?oQzjPÁùrï¥ÜýVÚ‡ª°Oî7 HÆÇ£‚L =ö¾'W….ˆ«Ä3²]N°®©µìWÍà„W´D\ÿ¹Äãž&Z‰3¢ cío¶ß‹Õc} —ÙÖðçÏðô%†ë$S[Ç.5_,Љá\¾#Ëx”§cs?U‰Œþg ©P3’ïqRKdœ˜Í<@ä4AVƒàœÔÿ…’šB´ /¼·u” úÐÞµžu–V_bñ,“pÑ«m< ÑWLWø—ý†¯F‰/ø§“Q9d‘K–›e•m½Þ.Ëj¼¡¿6ã¿w(µh`9×_¦ºù´E¹= ٠ MüWÄ2 Z¹åRÔБP\¬Ua@LÁ»£{õ…Ö—wšôƒ¹øóBÔ7Í0Cíê³€Xb‚åcöAù=”`ZDjÊ|>K½”ýfÈ_޼¸Ã± n¥g³• ¥IÝŽaõ~'Ð>›ÄÍtœú$åp™­p©Þ'|U¢nö«4î"¬P &ÇSK Xr.©ˆ’.Ú©UGŒàæb~Wù|.4,ˆª"£Ê;¼=…$Ö-Ûè×eæåß1ØÈcÌùÉ >3zE·d*?¨&:8ÏôÆQwªkU7c÷äˆÎa1Ó Â¿Ý€JÕeÐd\†‰ÞbÊþKCªŽiX]è@‚çÚ|Ï·9fw­0­> ¨hÛ ŒHÿAÕzst_Óú"K|›«Ò(ÍÀÇ$޹)Ëæ¸õ ‹ÑþñÃ}œžé×Ì!EX9r"=*ƒD`k7S¨ŠûA€L†íñ}­u·¯iá‰Knö>Wì:xÌ ý Ÿœ„ÔT°FÅl‡€q;0«7ɃSƒ„Öf$¤ 9"LÄKùëfAT±MXÖζZk6ý­Æõn ¿$ï%4³{ÀLXîD`ê*]’¨µ '5{ÇW Ål=)†K«…¡„þþ¬’¥¦ D¾°Õ†gmò]ô!G] ¢6Qðgòiýu2ï«‚þQj/#M^!nç§lÚUËúýºT‘3û-© m3‹’šthY¦.îÕ|*WY¤Ü/0×ÔŽ•¡sÒ¸¢‡¦EMÔZ!m4,ÜàkqKZfg®ç¾‹DäÓÅsÁS僸2pXœ²»TK…{|w“?|½…þ ƒŽ:ž ¯¯ÜòË’ÅNÖÉê|?GQʵXbBŠ[cFdö}Sr¯µTJU[“þ†ZÔ"¶têÇ¡l›…—ò=Z.‰U)½š—’žtNZOæÄÔKä’8Þ`é±f¥ènÞªeüï@§<Ñ@+’û;êVGé9Í,¥®†ÆŸa™eñÜÎÚ-¶¹‘×yIë,XÎDoÄk q¦9ôfK äë‚cÎôÚÏèG¨\E@1ÛoÞ7ƒ§¥¨É[Þ¨’ o¯³q¬ì¹b™¹½óÞCù]P*ïÒ_=˜¾²p|/yļ˜6î›ZîZrÕpw5ïwÉìbá;¸Ô‡yTTȇ²ê(†péº]wÃî™ß2` J.Übw Å4z,¬: zïBk)ÔÉ›L¾áúü×`UZ–‚¾ ØPc+³M3cãÂh¶.0s .tôŽ ;+tuý’t£Iï9uùìZ¾=¸R1ÿ’üEó'dý¿‚§†Ç³óïty¯T_SæMSEÐã68) ùM]Àî"”ó†–è VÑíÑÇyÜ6y–&1lá·ÛÐ-`¡ÊPž£ÐTD¨p½ I!rª“LöNALî´té­NW¹µ‰e#ÿ6SºÍ°eç­ãÏKpéu'FX0óÛN{0 š' åNÞž2íᬠ_Êq›cˆò“TåoâÊP’÷26ýU «Êt»¯'%ì¸:߃À& «µM£W&Í6˜Ä×8§ƒg`Æ@”æÔ°{´Ãs*Ò>çÛ̺QOÏî oƒ|tJæè ›íàºv3Yú–ÌÊEk?Jùß6e Ф4׸v€iàC C<Ù0vo%ºŠ=ó”à|º6><Þ@Ú\Xñ‘Jex~ñå wœÏ8Ã{ÒNß)I?¥ŸëÍ!qÁcÂÊ‹B Sа^ý&R{p2;£eKì3”puºhXm›ÖIs:Á©oä#m^èƒË¿HÖ?Ä¿Ø|Ó !5.$›x Rêp-Ug…*8¬uO+™ºŸ´Ë×ОÔSŠéR€¼-AºV‰¹¤&ÂÄѨ¸ƒ e©pÒÿÂü… €g™*ц O¨U­- ™!É{4ËÞGe`·ÚJx›ñãÀ&4š¾Siÿ2œ<õ.=q<-²1âø"=Ú]5þ¿øÇž—•,§¸“Ç@‰±^޵V@Y.ägáB±ÆBå3J+O›¥ŸÙï|™»¦ohv“Ö±z¡a¢Õ KòÚ¢K|5è#ÏH>¼AÎ7@ôÊoYÓ&rØ#lXžuêÎBrêÞH–!QÂó{]–|JsÇyÞœûmf[9„ÿï‡/ÍdV“æÿkŠ^ëBfæíQC_ž®ÓUJ<Ú‹M6„« ž£ÏȺV¡šéü%ošueûâ\Ó Ô´sÊ`ên&Ñ÷­îê¿@ã ñd1÷ÆA‚Z{M]ážͲ)ÙäX$™Å(>‚ ”ÂüF’çr)Á틵—"aP¹ªº\oh«ŒºÓ7é¾UwV(bI‹=]È8ÑÀ©'<$„“ÂÁ}™Wp°vBKâ¤ü-ªR>P×bª½š/沇¨i R¢`êCù个u•±ê·miÎ@ÜÈ^ûö'y…PÓ‡áx&,:< µõm$¨0¶"¥h@; m’iB<ì àDb *˜ѧV¨x¯íŽù×\ß¹‡ÅsÇŽd b}P•ó>,0ò£uÌï*twôo¤bëÖNfÖ OÁÙ=\”öÔªæ_˜Kuy4ܰ_"ñÍ~‚sº8%+~* òy8$1YÕrÑ'<$‡àä;N&¼å14–'DÍ¥_E?\äy K*‹þÀ)Åàvîû˜d´ïh¾3"‹¦Jïã˜óÿ$kŸ¨Óqóĺa„Àº ÈÄó/R÷ÉŒ´[„ƒKŒw÷dÅE@É­˜ˆ¼ÎýjæÇœÐA0hr–‡«t*˜éµ_EÛÔä2NöuÍBót~øS†K†5yðŒ—t‚„Éí×ÙÂyQS…íæPü åûÌÜš@ÙGÜ—phg$G¸]ÍY—Mý쾎ÞÎXÍß`:i±Ñu¬«U837;ÏÃä7½±²E´M@lèËÔégVeÜã,¼·›.N“ûG$®3„‹ú>›¼—‚]¼1qê`œËÒaTAzru°„‘Â')WÛÿÄÏtw«"ËL[­p´wnBÜ>±Ú,ä°.Þ…ä"mÛêtõð¸Ãø=¹…Ëáf—ã¦{šqÛÔóæîmS>^ÿd®I* ›Ô |^1 ›ý @®mR^J༠êÅøà·9å ÜæL’•`*Mäž ”¨…©üÈ1fÎþwÁGV{Ð$Ÿ Ul çä7;‚,´Œ÷2ŽË q¤Qy<}C׳*Ñgÿl@ó¸Œ#4ËÃ¥6ª ‘ÃÙ.yEßFW³Â¨*bïÆ6<ª~{.²–ü_`\#<ÞÜ¥;UqYרD…}f¤xp;lWв»Oì¾L൥*÷FÊï&*ó3¿‘¿9-Fè ’¤j|ñ’©ß•‹fÿŒ œ‘ZutÎ"ù…E¤FîžVÜÔ±brì¡dZ?m SožQ5²W øz(ŸÂ*ÛÅn™ÍÖÂÕoÅÜÈiÚÚƒJÏ©£%™1‚¸¾9ø–ŸÖštãdÀ±1hš_fõðN­¯—>ÍîôÖ±[¦¾5Tò#qƒ_oÍÑmUêD¿Ù¥€”;LbÀƒc9 &™CñÜ#sÚœv'ûà„ c´J Ïe][¸¸ç}?õTOý õ)ÆAk$EÄ_V~ŠÏçßZ$<Ž«móˆ,V¹;KÉ ÚœãÁŰ™¡ –±É¢nåšÖùïÖ;/# ôµ2ˆºrz]SO¾¨âæ>Иj~žâøà6Š/Þ™¶þ³ëâ2‘‡n·DX¡«Fü–*i(ÐÑ««\RGoìшæ^"zµ®·zÞ9p©=¥eN‚ô;[*M(:Mgø\~£;üŽô?É>JJyû~m:‰4HƒÆ¨öWº?<[ ¡õ’ƒ$û™•£³Šà=ÍCêSbLµEñ]IS€Ì)Õ®œñ($I V&In90çü1å¼R‘yöŠÇ–’¡x¢ØÆ{xј¼6=ûÓ-šAž²áëÆ&ר½d6¦S±T&Ò¿Ë®<§ìœ¢F&WýÄÙs‡öóqé,H<ê`Ü=Ba¶õK‰ùqù¸O=ë5ùG ×ÿ F`¶¶Öñ÷FÃq´òÊ*T†Ò èÑíE!Ú×ÃÓ2yÕ®$úµ¿=¨b%ö¾=ì熊íül—J<϶ï *[:h_ŽÊïUêƒB>wQ<íûsswMTù-y?ÎŽè—¥[´nÇc”ÈÙa´£¤‰7Ëà›¯àA/vÙl‚à)Ø}UI»gýþ8Ÿgû!žÞWtÁ\¾ 9ËF1šdùËí?WG‘>1oßc4!ØozÜ Î½îÑêÅ5jb©ÞR[‰’…1:áͨ°2ر2dü¡c¼´l}ÑÓë–ÕÚ¸v´¥éUÄýdSl¯y¯èžf3ô <Š';•_†{ôbKÀ¿ Rôb¯Á,î–j ÉW4÷ÍgL!ìxòÉÉ…׃&Øæ¡UßM7*“t·‹o9G ÜûN–T*U’€Ä4™0J8ÛakD·„V¨…5ª%ˆª¼ÓÂ1·Ä’?°+‡µzŒÀËÉö­¥°ùà›¢Ë1 ر`æLe6L"Z”eаÃs®ÉI5&1S"”Ëïâ@ÎûÐ a¦¾Äúÿ‰¨AÝ ~å^™36_ŒþP½Å‚ÏÔÄ¥Õì§Eö€Œr[Ï Øê’ç+íZsNRµµê$5Dy³g%¸’„%ÐñMˆÞ¥åêy ™5K÷•}À½v¿®õ 'øç¤[8°ø:Õ™™-ýÁ̃h/ÂóJZ¬giÉN¯ñ:ÕÐÄb¾E+#›"K½Žè¦6`od[h¦0, 2dgã>J €ûÞk ùtÚtL·9ΩÚINHBÐs5f‡lŠ%k´8Zò›e¿Ør¸lÍ~sUWn…ÎSÑÎðª¬-°¥ñþ¬ºèPÌÃ6 MÆh4~øÀé߯ íúbbw«ô°Á3¤¬àÓÕ®ÕË•£HY´å±ûê† 0`ÉŽæ&†q Ï•S–ƒ:ܲtKgìžÄ«ðý aòo‡Î0† áÖæqý€IÛlW7iÒÔÒí2Jîø¸ê] êB?ݽ p=‰‡1|Šâp¶·"tA~¬tzšµHĨZ2æv‰Ûbt\‚&pÕ‚êÉÀ„H §]÷,d %U•–¹ ;}Úí=é]xKÁ²Üq ž¯s1ÄhN´Ph²É-_”a'7(_ñÆ8µw–Ï j`ÂÀæ2…ý〭©ÔtçâÕúy®ëv9;ù0*ö« ÕbʈpkVžãÀ{›æøuáTU»%«j÷jâÏÉ¥2¢žñ¢œÎHÈZÞ€‰ý¹¬:=‰èÉ‹¨“FÄVy¹{zß¶e势$:¾Œ[v§æ·Áâ0{q/U®•—²¾5Î…?ã5•UË%¬ß%oã¥ád‘øˆ›Pòc);ªÃ3ýÏXcúN…ét×WÔ »œ˜šô6W.者͠`›šAok²’!,Õ}!!¡ÙÔÂ4í—J<áoc»H£÷6^u¯ð4ÞU[ŒÒ¢ÈsŠ„)1ß Í]˜ï%cˆÀûÿŸ,D3Úø„BpÁmè÷ kF WjG„`xÓöc’¥Ü^C?€XÍ/•çÓ=3¹ƒøŠ]{©fÈLG7í¿Km¸3]¨uЗmaZ©œ}èÔ9»Ôj¦Šh{¡uËn!1æßÞâÙ3¨4–dݰ„ÂÖ:âØÑŽh ½_‡y­ì'sX?ЉùÁÌǹBRÒXK‰Â%g¯Óþe'ÞcDÞñ{YûEg /càõK°•JÙ«R,;¿úuJýl%Ü/ÅõdÏríîÇcA¼¯ ôQ–¨ý·çç…J ·ÓJÚrW34Š’p“Ræv`OÒü®)Oõ™ÿ`#Ëåê1JèÉä“ÎÿÙ§kÀ£vB¨é’Á–ñpôæ"¥ð2öªVi}n+¸Ê;ýEãÑÚUžÅLí CTýý=Õ;}¹ª"Ö>Jç+ÝŒT°ê‰T¡Ñ‚q|©µKšŠ8Vô䣖y|#Ð#q³‰×Wâ a²±6´ê)"dÅ‹¶Òg½ù¨x1W&fLVÿ¿zÀ¹Y3‹æ!”?O?Üè7œ*€C:8¬N‚»Ö1̵¢Ójö‹\ˆ½£jÜ·—å°Ž+§šASôP˜?w¾&Ê÷ËU›{¬„ì)”èl°u-ÆÜïå`¤pM™îŽÂe à?Ý )M±ô¾Ås¿à,[™‚ñ’¯¥¿úì§Ç%Ц4É“lQe¯;C)µh$sž6O1ùq}MM¯_¢ƒØzþoNYØÑ×=ec7ŠÜXÒ+ýxYOo«°b}Èú¾¾2££¬èCž/µþ>¾¯ÆÝŒ…U€ —ìc ©Ë€r»Z Ïü¦;]Aú€éuË>'-×jHKaR¸l¶—XrTbûÔ}BE%·¥¸./åËl3bjnŒGBL%…/aj•_Áâ£æOp¨THjb&Ž3Yª@2´ŒþhL£™§Ú_vG,„¼Lž5šgÀ› |Ùdÿeák^è’xoMa?BüÇ´!¨ýì÷Rvˆ4þMØÀ6÷R2ÃÌP(ɾøÔö‰Ö?³ÅDá<iûž÷²î¸þü¿°òî;lë:«X“1T W!œÍ/~Ôë‘SU©ì¿yôn**X`Ðç‘Jƒ)ܪk˜b¹ x4éLñ¡ÚÌÅ5¨D»¯rËa` ‹H¢_ú¿§$h½X䬺Å箽÷ƒ¿Èî=Y×(U~2ÇËÀ‚>Å2"Ø,ÿ =N7E­$¶Ö ¸~¢i›¨‹˜ÉvD>ÌG‹ê¡ËÜbÖY°IHöÍ ÝÓé‰_â|‡ Ù±Ï<Ÿs]„Y•{ÉÔÖÞN?ÆmOíKVÏ /˜!|š*¼1“‹‰³xW M8®MȳCОŒKÔTHÈ…¤qŸî¹E3žûŽ“XÃù¹„ÌÀÙ“?Wʰ:~ËG/qsã~¿ËC¶ßåQ¹Üiãf¬.p#hn±•ëÎ^“ýÎú²/ëž`ÜÉÓ Î3EYÏHÏ»Ë-4ð°è;6Å%ŒiGyʌ۳3ßp†xú¹#w±]\Z4«4hƒ{”ª ;§€ADáçªû4Ê«•ëÒÐm´øÙ14"èûFðE@ø±„Ô¸ÂÞëôì™QÑ>swsŒVÒ"½V«¦oz§¤¤¶½ É3ÃèÎR/¬[-ÐVÄ~Ü?dû÷ˆJ\è~±Àb*ʃ‡«pÊXÎìÒ|Ä€UhYû@¤wš5)w‡ yŽ„¢Ø› œþl±Vkf2íM£y´‡üðxL‹Ýó,œÍë%¾ü z±ÅtޝUõÆ ÐbÊ›4jsгZªãUƒó­‡Â#(-~Vg¹¡ò¦žê”–r¶Bâ±ðµs§ø¬fÎFˆiÛÝ‚Í@éƉø6DÒ2A3ú¨(,dº`Ý'wï¨+\Ü)FËI&M±99gwºxyÔ½)ëŽ>táËX)íê0¦´ø(Œ“˜YÃñ£­²DÐTÛ÷q*òÑ6ôÊ“õ•ýÓRŠlŒë—¡|ÌÑ&䳇7LNËăDk®)Èž¸%讵óî×Röç*^â.A(ª–dëüsÔSoÔÍê¨ Íœ¢Oi‰.K³òS“4Ø O_õ6v—¥m®ÕsÔ¸’ cÅÌBÇ.Jtøø¤ÛÝcÿ4¬TY²A…~#‰ù¹:y€ÉË&@«Ù hmêikŠ(žà˶.õ6r÷DÁÍ Ô¹±¹ ÙÀ.‹Ë ÔÍLò[p2zêåO+×·Ôdè ÔEÔ÷#‘ÓŽP?¹À?fNÈw Æ…ë@úú†ž‚F eÙ·ž,ñMÝË‹ ¥?K‚ÆM›º‡i£N]¦‹ ›Srœæ\‘–>:¦‹Ÿ‚®ø”`’.¯Hztœà|¬,{5•&¶ZQ†PlvZRþbq5ï‰Õù½¯=?¾ÕÜG8q‘!¡w7RËa¯6»8mÝî‡êj矘’fkm,>¡Oìù‚M¶NÆÚã‹’Éü©C&wŒ-ýÑ{ Q-¶Æßô BÖ.?ù¡NtÑ=a½äM£äj]p1ìtNN3|PP&fK7i˜„µ¯7»ehÈ"DèØ*„ÐAJ}AuÜj‘U|¡îʱ~pµã&8È•¹>÷—öO WHKk„é3ÆT{ʾmÿ•–r   N6ŽÉΕñ•á ½"¡§D '0Gµ•"ÒÞõ)ä´Ú?Þ±Ã[ À eöUOsÏG]‹ŒðÐd‹ Ójç5EÁ?øW»ž™è¥}=˜«þ3a§G]Š‘¸–ô7­Q¶ÁAu¥çƾÍÓn\LÔ­òæ“ùÃlÓ+= ö"sÂ$ñ—¯Ä!pÜeýG⋾÷Ð;þ!ŽÄá—v¶Êò9×9Ö= ÷˜6vuðë¦Ì%t_ª U¤pjÉ/µ•IŸMÿ¡9À3N.–â@²P÷ø£¯”h7‘K¹zªÎ£@PõR— ^h>Hè>ø¼h’¬ÎªÞe›º øYõI„®>­kRPé}j2ɼô/ZÖ¸â^7Fš‡!ÜX†)²yl¶jŽP µ‚Ag$­¤Z7Ôådø@ s§¤¨+aäVŒPc[2ÿgp}þ4zeù2ÜÚ“‰Ð‡ž<$ëI¤m™+ǽjoy u ‘å~ç\ÈKÌf;I}–üihDB‰åâÕWú¶y­¤®ü*?>[I¼5¾”$æêæ ×´âë…_Y„3ÀËË®3‡Q´¾«¨2à࿺™‚ÊÅ5¾÷¦–Y›ŽÛl¢dø´‡¹êSôÜHGTa<ºúMamæõ¬ÄkÙ_ˆäDQi0û„uTH0º7nm’`}èÿ ñ<ð¼ FÃLäŽ7¬9çX<Þ#«-² =põÞ¬ë¹< Uú—šš¦1Hg!YÃêÙ¯©í}4ƒ#ou—´»…Ÿ›¾!2J–iòŠU­í¼ZÚD’Ò¾I²µC¼GK~Ã`s;7{ÆŽô —¼Cƒ‹Ë)WOCfÀ Þ4)dûk¤/œ€o›Dâ ‰lqÄýŒou%‘b2àÔÛhRÐ6ìösÒDê¿þ‘ûbày”y[Ö­1m—è î!â`œÔiÁÙãÎc«x´âÞ-D|ð+#'ƯÀ+äç0C9avYñÔ?j `x1à™:5-¨ÈÀ Ûì¾¥ åEº±(•I‹ÿlá|“Ïz'€Ã! ¸ðÓŠ¸÷áUQ+ @TQi¿œ4i‹‰7iZ¤|ygx˜ï‰ñ×`iôï}»}Ô2z¸¹+—íòÖè÷Ä.YH’q|ÿ8Ì×'•Eø-Ì[Ä vÛâùNV‰$]–dS¥»±ÞàßæA6Ó¥­§W µ#ÄmíuÇSØC€ïiˆWíÙ¬A·à+ÿBï.ņÔ/!¶ ùOsç4ÜoÙdUV§Æ+»)äX‰FM)s·ì“3³Îó¨ˆR½PÀDžby‚8ŽfÔ¥‹éDì¢ÔCÔžçŸþ)±\Ÿ_t™!œõïùÛþñÍÖ0'ÔcZ6«‹YB›±ÞtöÓ_ ˜×’c~¹w7ÙwNµAôVdŒÂ]i¡äƒB²ä…é#Cg;ÿ?®’^ËdüwÔȶs»à 7Aýn˜Ã[Ž`±)³€<´VßC ¶¾IJ{‘ƒÖYäõ÷'µœBSൕ~l!.€‹b ª“šäô’óš„FîIâk`ÙpÕá&ŽÌbHؘj¥dLN|åÝ›wK$Äã÷µº|SL„>–„¥/û P|õB„öDõ™þPÛ#õsŒK™I籌¬„<®JR±~Ozb?ô˜»õ<6%ÑFë;R›·Ø$0SZù¬ïqÍ/¶ÀjS•¤¿ðmw Ø uy8úéõ ÅZFYR6SAüÔe]zq©‹àçDWfJ/Ô•  WBßüLµ¨ß凗H1ë¹±êÇÏÞ–? v;YâÓˆÖØ€r?· vÞ/6Ù¢ëyGH|@ vùF"8ÆÿãÂ(Áø­~„’öù¢²¬§çÔÈ›û°4š´C×L&“—ô V_Æ»séÞ[`H¨öÔ^ÕÍŽožQ„)@ã¥~µñ§y‚)`$·³çËEÇúFäÌ£Ö¬-“<éÛبaæ]»…ؾ|fEÖ8­»ñ¤N÷Œ ØÔ ÃçLþ {ÏðÕsûÌBæ/$­r—×1w?Ñ·«×½%÷øzt’quÑb¤©r¶|•vmÿF3ë’øD„¾³miÇ(´Dž•ÍB¼%\s“ (\S\žíbJ¹ã—þ%Q…màô8¸T™ë„Cvjnw Œ*öH«av73ÈoC“aÝ”[ÈZî*á”_^g{Ô€ö†×Až&||Ïé"`õ»ê:¶»¼ƒÂ e¾;È:IzÀˆµ4X2"ÑàOBág­¢[[°NÅöV2^–#²´˜²D%èý} öA´ÔlrU{ødà“¡\ÛüHNGÜ8”üuà…¹]ÄÓ€zö PÁ²-‹~ö޹õ¶ØþÀŠô*˜EðgóåXXŸMG…^{òP.è®¶…‡Ô×'Uèu!ôŽb(¦vM'¼ †³áó#&¨F:„ˆ/ïëi M™‰[¾­oŠØÜÅ€–(îäXß{6Ù~ºÇWs¼ä´ƒì7Úí’Bï̦XÄŒ@…ù  Z °’ÀS³ˆhÈ=|ý½]ˆDSþƒÑÀ/`d‚H¸Ê§ ÍR'F"ÿü ”¥‘¢^2UûF‘Џu¨•fílÙ•…×6/ûoLÛišÊøájÛò,¦î«rŽÓ[~1Ñ5›—½2@gì`O‰[¯”ÞTWšõi§•A»^—,i&YQÄÚ²Û–rA°©ìT­Š:>¤ë{XŽƒö´Wˆvèòõ†Ô³„Cð ·ÔÕ¢ì߸J*› N¹vgßœêF¡’mÚ½—méËøQk‰ciLÃâ!¯R¤rRЭtÄÌ#‘ôŸ(¹ƒ­<ý_σw ¸D €9Ûb.1éy>-YehK¨üFµçng óNoo`6Ó)m¨{xS Ùœ‘°S\a oVÒªyÑ q¥V@戴 ª““"‰ÎrtkD¬¥ÑýÜdŽB䕸’°$mR›o£pÌ`òÔ•Z¯®ê~Ü(Tãd©ÁãÀÂQ< NÒðå׿X´É‚yø‡’;ÀOëû{+§zò5JÏ×g[ýßs6ER̶¤E©0=(ö#[Ù¬âÉ,òú¹üáˆP͸.¾´CsÈŒ”.ß®Œöt~OÁêüËÊ« éù¾8°À7P0/ËȋӋEàK;ŒÒž„ô;^ñ§öÁ˜uúWÄQÆ+#mñßþãkR‚ÔF”ãLp–$M‡§Ðµù‘˜‹\ˆØ‹F{xB½Æ£ÎÔ)G m€S¢­UwHácû¯ÿ#Ó Ûq@_á¨ÎåG¤ÄÌÈG(§Û™½ÿCOÑÝï3I )¶áÖxêxŸt ˆã èFÚ£ÍSí³¬V2ú÷­QVÌa€B¹ÃàëG{éçM›_â—]•8«"vu_ó@!F \| ¤–áY-Û>sWV¡`"ðÀüºB¼_lùk>*¤-¤§dÄ’cîB¹ã9}W÷w +©þ펗ÉéCáîðìsâ-À™äCλ$`Cæp ¬ñ4™ö§¶*ÿ’©þ´Vn/àÎÇ•æ.ÉÝ爷¦‚Ž·€fe±é­– ;é¼=åYó)MFþmdÜV=Qèìí‡9®‘1Eþëì¡° ªq”A‰òÐÊ…íÕDœyªÀKZ;ðŽ=»&(©Éø®6®²… æÏëí™è qÈ&Ûºô$€ÍÞ£S+ƒ ¼v&’¾®åßLÎD´¶×+ÊGáÐÊúú+#J´$IÉËWö”GçÝ-ƒ=ºÆ«6j7f¿•t¤³Ú+øŸoÚ0ÌœùôÂøH[+T…€°\³ UwîEàjŒ¡y¬ƒ¤]xoÏD.Œ3åõÈž<2A õEôÔf@Lá2’>ü t9 dä(š"tw9“ý$;¥M™]=T^¢µ‰\±‘¡9<‡ÿå’veÁî)Òëϰ»Ï8‡¡w«‰VIƒeל(tPÐ ÷/q¨²²#<ý½Sx\$_6.F3äGöö’IeÂöïP‚ò›‰¦Êó·è`^Þ}VÕ†X 1€µMo W-õòüJ3(ÈØ}d¨"fX»íöbÈ&³9ÁÇ–ÓÄæÉpëQƒí*¹¸YDŧ0s½éÞb «Ò[ûK='EŸ]•²2êëÙóZÚX¡§óý.ÙaS#.æÛU(¢_#sóPˆ&…p¬¡V'Ê´‰È+ TRÜ8Dïƒåö|ÅáÔk^}ÿÙ/©ß¶^©QÔÏ ÓW=0ûQSv±Tôgæ„‘[¹±Ð³=z€EׯÜb5ûäÕýªÓ,U”JçÐç äùƒã´Æ£5ØXðÞÌ”ÿÓçÕåDx³ß½%üÖõ-LsŒ0Ã5⻸„š?~{@9~þ”ê=®åØ*d†®¾ïýîìÛ¶÷¡pÀÞUKóé0UW˜ƒW}JA=…ÔöÛܬôÝ~\Æ÷†tœ¸†aô0ü€Þèê1(îSÕ°«˜Íµéª°v íж;‘r¿`;ü’g$æMˆv©âw|‡ÿbixÍbÎZçËÚgj‰„.”çKIHW²”?\ öð=³Ü÷8猂Bq½9™/ BËZ²ÉÌ8jM[*Ìlû ±5xýÚIb°i°–BŽ•…‘Î<ª×â­ Þ~×®½ZÇÊ^«“”z±•ÌÃý°åS± ××Àoœ\Ñ j‹<Ö:Þù)¢ßˆ_ÏoÐmKÙ×§’M7}QEgƒ>‘ÃV&¡»gÈBÂt%5‘‰ðw8Yá"HCœ¾"æ‹Èd ~¿D7ÜÓê/O¨¬}(ŽDAN»ÜÝnÍníúÃÅa'¤‘wß`¥ëvI{™"E{ dY.¾·<ãšzÄS¬-¶¶mJäýå˺»™[˜E²&T¬€Ú5#Il ¦žÀ\ߟ;z*€–‚ü•ƒcâò™Pg‰u™ÂËÎ ½jÈb‰ÔCQP{ó/²ŽöÀkwÞŽ’ËA=õÎJöÓ¼½¼Ö&è´V§W)’ؘ é»Îg¨C¡`wÆàöðFTÞ²išnÊ[Ò8œèÄW~Þ~Êjc¥v2+?§eêv7n¸ë}AH™·_žúŸ-ÒÐ.·MTV!—váüfrkê†_³˜$ þ£Ì^ݰÛÒÅ€?éÈéåiú#Ì€)æÚKï–Ð5B#U *-Õuºßë µ–à5z‡¦°ÂqË&lL"–êtn_ÞIÊkÞ"×tnþNÇÄQlÞ•{ÐaîÀ.º¥Â‰È=7wñ¶GèÓŸÊ0ã*:÷"Ùô¸:wÌÞs¾êSYÔÉ·Dj–y¹†bè $’!8¸âŽ~©¼{õÛ{´ Äì¤VC`[-Ò1ðf×SØu˜Ü—5=ésê‘lUSPòf¢¯®ŠKð-gî4ÔŒ·]S©Î'Á r™DÉ?ˆ /-Ø/×½ ÃX};döUuù1R„?`hÇB±Áß9qv^"¼Án»ò ûšv2ní1†É?¤_2 !OóÙg¡Ó³—Ǫ̃Äßピ¾µ¯Ð;yc<" ÇÇþú>Qo10fhRMi—‚v¢È[Þ›%`˜„^›Ül]t$³O_¿/„Ùϛ֡<Ø»÷2×+æ/Þë?è¾á¼y·$€Ü«'ÕôcYïø¢Û¡ x4¬F`™ƒóèÔ-¼Ï„;=«—ìƒÌ³%ky…LúŒÙP‹RëèÊýNT]š`Æ=ôy1¾‹Üð ¢Wíe<Â0¤Ë “HOäéT<Ȇò{pN7šòr‘½­›ÿyÑî…k°êÐïâùK‹N|ä¿ÇiV³ˆêa[™ºïN/qARnñVà7B% (•%(6¯çZqvbäŠ:.;™+«\—ÈP(t5ÌkÜ|[õÀÛ`?0û¨ÿFó4÷Ýì|=ïtÞÁbÍ'~Œ.¡MbmWÕ;gCkýn.ï´Ñ_ “±bù(ö³P^×ÀÇ :ö¸D~ÍÈYW¹v•;!Šû¹o]~D§€Y×x"pN¡9÷}ó‚´Wx¾2·k™8Gë^j«0åUœÈ„N {ŒIuÑPÚãŒIWÅ.º¾·ê$‡ý” ÄÊÝ")#ÒD ¾È\£4š5UˆéÛçÓoMæ"…¹Úx×ÊAO‡»™ï¡AU§"‰«àœ×P÷xŠÂr'úãt6ÄÉ.'iòÇ’,÷[ñßÊñܳ¬Š«¢Yo¢’̘¶¡+î܇ZIAyñóÈýpß¾CÅÄÏX»ñ²ÈÕD%Ó&/½Åî*“P¿~x&yâd5^ºfœ'OF¨ƒë’'ÈñôùmÉír£L5oOb Ÿï¨·jl§=ÿ¸ûyÐ2Ñ}T;T•Ý-ñg»¿vïÄYÄŒÑíl´šëÞÄ`¥g’aD¾/Új\?óÔ… ñ«FU»j¼lWˆ¸¶s‡?ç ãHÄx2_Ÿç£ãÄÏ^G‡sÝ)&š§_ÆË)Ûÿ·a‰0$º°ŸWºHÑ’l›‡we Kæ¡ôííÈp‘±Kei£ŠÌDqÜ¡ o…Ø2dá~à7Ø1øg}=àÚ@VÚq%î2Ëp{–ÿYRKg¯é¸†{A¿Ø_ø²Ç¯x$i XNÒ½ü¢@ÐÚ=»“{–˜OûÖGçVNŒêu gŒ2°cïÌ4”Ø'jt7«ÛKêN Énп±ª4ÞF‰¸MìýóY1J?5™zˆUX‰- ¸8Z&W2VÆåûÝVCÜùòq;âÇ,ˆð sй[¹ñ¾˜ÔúüVx]|@5Å꬯]¦ ˆOdŽBæÅý`í•W‚«7"Öïs;Äò:(33P%‘é§þøj¢2ÒPÚM4Ú#hi¯ÿ®ð =f…)WŸo¾ª%Ë.Ó^úŸB0^6Vÿ·)÷m$pÒˆ)»¦Vëͨ¥wÔ9/ ;,Z2‰Üiâdø£« Ëá)w¤Çò®Ý¤ÕÒh¬¿«[R¦Zí£Yàç«3® I¯Þ\n_2ΊZÒ§ÑÙÞ»ÞÒÅî¥Ñ­ŽC€D9Hð¢Ømªdí ‚Ú-ñ.¿+¹‚¢å‹~¤®^¼å‹üÎ'“û‹ŸNô§pdSí ×)—PÿúÐkb {瀻¾I¿@ÏK©¿º? h~[5ÃÂÙÊÐcBŒ||ø¤³5MúúÂwSŒüH§”X]Ê ÃÜ‚K¶ð\Ëó=¿C˜'¥…`•”ƒãl›áøð*Z8vˆã}XÂzD  €C¶´CÑ“óÃh¸‹uôGV¦ùñÔe2€<ñþ©±‰7[EF î—\L¡± ˜smu˜fk<ÎWôÖòô$õ?žpùÇåQô¦#±[¨Ë}sØŠkëŽ.–Pôã¹,ÈMD–¸ç°oÁí1R@3˶ eÓÝR«å=~µVöy]"`5ˆ7áÿ©œ¥«i¤îeÃtW•”ø*Ít±F£…1iÂ2¹îRâRVÊÊÕ¶_öfèºB¼ƒ!©ÄõªdÖ?‡‹ë #Ó;ìǤÏ}®ÇvGPŽ8tþ¶foòqjœ ÷ÏZ0¹Jb,~\YCa`a–nö4½ÃhQmhe¸Q “ìä'¬ÁÈöÊ*•È[ëa+U ¸‹vO`b÷ ” ƒ& ÀJŠÞþ™"=ɽ#L¸Y»‰Û÷ŽOˆ5üÉ/w—íFt$‹ù’Ú*šèÕ» ~‚­Žúml‰ôÙ~Ñ¢÷UÆÕÂ6÷’Á>p&áD„vý·|ûöÇZÊCO»½Ê=kßôäÇgþùqí9Ô`YUojØ[ܪêÚR2ôˆýwx oþl°²³øW¶ÓÓMæ‰æêy¸>ÉŒ=J ù¾ä ?ÝVê1Ð5<Ò­–l Ãjªgöså…‚¿ÈoÃÍq·îõþ ›ÆO„=Ò³Œme¥PÁèâ8 !¦åñ‰é@âbèÁüT«Fé”@x·Ñ©¶€´K};û‡hÛP¾“pÓÕ Âêº KÉ×Q’À{¡y2„bÐ4ȤÞþ-™cè•úwdv7æ0ÉákéG_Š‹ÚûÕj£Ð¼¢X?`¿ˆVú%¸K§ÐŠ©˜µ»ªS»‚ÓuÊ»ºQç5ÕmIþldf—VD³Æémxw¿5h;å,9%wd·5ãóe¢ï¸¶N3äANå>ŽšíþÄUâ1ÀA`-™Áµ•zÃ1U&/µ²¹÷D6¿JxtÛÃÏñ„úº2‰:¾ùýêg·x*¬ËÛmBIž‘H£©a$Wþò»Aé7œ¼Ví§7G‡t Õu%Ò›4@[øôð†H„Õ1¿]$Ÿ¨ ÑLcFF /YMYþ%\ÌËÛ´ÃwFΟçE kåsǽ{%\y«?ІƒÊÊ-_§ò÷Þ|£Vu¡• /fÄÌ6³C: ›íÖ *Y,Þû4lë¶v¥iüT;—SÇ!VÆÆ òD|$¼*Ϭ4¬A¤“€ˆf>)Ï0¼ì1Q¡+UG%p+ðylX\¿ÉôÞPw9‰0Qí°[åZT=Êe¥zÏQʦñ~\eFPX±/•fƒÞg$³"è˜4Xè1{Ñÿ£ßNXP3£V½ b*¦òbX§Å˜MìTMû«¹¹†¤§\€<Û˜ýŸ# öÎ`æè_&êÕêÁ°}0iÍß®|ðërÙE>ÄU(¶nÒøò:"$¼™Fm þõ|}ƒÁ¯M¢å»ç*xë¶ðôcD´(æ­Üt^j ^^Ç+Y¡Ã” =ý¾zSÛ %éQRIïÖô(Ëí½È›¹Þ…BL¡RWöy«ï!Æß3íÈ}(cy"‚aÒàX.¼ ©N[>ÈB9I/ZwW’ÉØ §4©Ìoì ¬9`ÚÇYo ©!‡´¸…ÐYŽÊÕ´˜> œãT‰–ñm± H“yEÁ»Š%;=Äê‰y¹õ °~úÈ\ŠCšé3…z‹Ç êÂéÇDVáYAè NJ3Óiéå±zŠ«´”ïüë†z3•ç!ù²ŠIˆ æ Œî–í8áãz•¾IÅ4DxM¦õ^Œ"è’×r¿n"<ß“é Pèæý–oo²<ôÊb}Ç,m™[Ѝ5¶{®‹) uÒ÷»Ž½°J(cÖQŸ1ÜXÙ&ÞaÆù¦¢¢ ÝààX‘2»Ä`Eè‚ø7έ{¶KþC·Îƒ³/„J9÷û}æÀ•K?M¯Â‹ÌQ¬Êó§f @¼ À Ò­ç_ÀŽilÞåû m‹$¾ä1qÏËÌ…èý^C,¾ÿu8–œP«þá~5ØõJâҿË/‚”؇‰r”0}:"'‰ Ÿ-ØE|ǃÊ8Ê‘c`ï¥&C¤ŸD]7IÎÛgŠÖ$ ,b¦Àhƒn(‘ ¾úˆ™åÔ“ûxßÕ %(Y½×i|IÛÚ‡krÓü|•êNçþ +k>áC zù@ú¥wIl>5—!yºŸäSÈ\‹&Π’¿¶i÷F¹¡$Gäí©n§æD0Ày ³Š©øÖþOöx4^ê>tþÓß¾»+T‡nÿÕB!p^HÏDÞ‘©Êüýý͹w ¦Qù  ÂA…ŠCª´štÀ_ÔŸ%Ûíjt SŒ/­{ä“ì­X¬›_ИàîûH÷ŠÓsJÿ¹î0s{e[ù¿ÂE¶¼š rQZJ½?X/$úC—҆ƪ~gMx__!×…ô¶ß• Ã~_æë´~ff Ù`\Qf†IEŸv Va÷ƒ óè…{`ààÐû©1Qè€Á¿¢‰°±ÉÞzIË…+6Ê/MaIS+i‡bñ^μu/ÊË ðñ ý…N¶^­­VïŒ+òs~žçPQÖ¡•Û ó°Êdó|DÑùåÓ#¶ó"öÎ%Ü‘Nc»F*Ó+™@ùR¹¸•ÌŠæÙ0ÐMŽþ¾\ *¦6½]@½àÊÇ~· H¦žzä)¬hƒó¢-ëx›<¨ r;b åô‡ãì4£~!C˜ô³¼Û{Ä?1ît óÚûÿX÷ì°@TØs–þ¼õ^I¡õ0Îb*;›&ÙaÌøæ\Mì«E$m ¢ô…+î™é9_lV¶h—gˆ2Tð'ð©xóû3üÇÞ𺖘_5õ‰6Š ÀiSIÆ ý3´ÉÖh§bÛqÛÊF°sA5¥¦Å#?\wÏ"ì^_=dk ­_·ñ:tÙtp;p¡Ôa™dL†Á=)ÂÀ8È~ÀiϹ"ÇÁ(84yP3öý‘£ãåA„v¥ ѽVÂL½ Ghù†5eÌôÉ=/”Šgx`¼›|ãW%V¨¸¡~µ÷Õ¨}eÃmÉçGÚ™»%ûùx¨Ñ.:ΜŒÇ[Ö–[B(dðU4°âÑH†!»ë52íCdUúѸ)¼{õV1’–î™<¨Œ‡I׸ bzÓÐ5\¸î9òJC…d÷eXÞÞ:w«YL¡möÃÓ>>££š(Ò'úád©»’ÕBóÿçëç ¥T¬p#v¯™iP¶5<žT½8ˆƒ¿æ‚¥-->¦$"ált¡4c d8%{D€úœâóÜdqežÞ„6x ïÅZUº´_,*º§>xŠmÐÓwñn™Sø™ìÅ‘ÚÀ\ ˜÷~Ý4©Ý ’1´Aw?ªƒdŒl°ñÝKCTUÃÜšf ±ªì㊔á-ïe¹Â Rª­ –-3¯8îxMi ð0ð‚qP¸ÛëÂâj'Ä.'þ{È'Ñ\?¹TÉ T„°Œ]æa3áîÕe«r^P¹êxÇÍÕ«Œ ”θèãù&«,¨·Ÿ/ÇbÄû šóÓ>œÁ,´ãw¹“3‚‰}Yš'‰~Úܵ™Râ½£#I¾2ÈòqEî¨I—škòüõ¹M]Ú•’»1tÓ`Fz_§Q?ßíÉ©r(|rë¡ð3OæP䟼E~C<¥Sy¯üó±6€oeùb ‚pÎØ‡RÛÀÚîÚ^’œNNžbä}>¦vÅ š'/³ël•£ —Á ó9iJ<¸äw¦¹Žf›Òâ¦Y*?f@âÕÂú°ÞNÓidÏkS„§Þ̪«¯gôÄzy¥¸TzÚÇœ’'±ÒÂت ³ô®%Œ¼­W#ÚðHj±SÀ+ ÿz?îÂâyÐAd¨¨M“8úHxªíÄœž‹®óÚ•&oõa*®iWǺ ÊÚ?nãk, >Ü©b°ü bÄÝGKy_¿ kWâ2Sp¼$P«` Mîþ•¹A1hÀÔ$ àk'?¤ñ Ö¶–ejS‰·ôÍxàNС¸­¢œ:SÄXà@ȶy“\Ù¶A؇œxK%)`Áÿ¤»¢ˆŒqž8ìDN~¡›R †¥ËÅb…8,?Ÿ‚9SñMúœVR¡fÿg§{q™,Ç Üý>v˜CqŠ¢„Ÿ6äàŠ‰V#ô & ¬aiE'¯À[†½„²IÏŒEXÎÿT¡Vélê4 H”¥?¸Œlƒz¹5}EÑö+è£p)BhJÙ¡ÕˆNT Q ­Î4ÔÉ(šô×éìÖ]Ÿ`mf»^9I³+´~pÎWâ–2š"=¬N@ ôÊ5}§wI1`/ ÅVÌ«:€õ¶!m5ëšîØEGxþÿ÷¥{msÕÃ~¤‘qȶîY~2ÔçCKï˲á.Q?rÂÄô“ãLµòA††Zë×p2%$þ¨q\òa|5‰„av©¥™éjðñÜ·±ÚÀް+ÇeI,¤2ú”˜P±Òg[.uYû¯®j¦Û[fš÷{¾%iE€2úI ¤´‹.r-Š¿E^ÖÒÜoœ¡#$!àcržH†e´ó»[ÍEüx6—#ÞUþù…}ÿî · w+G ‰(ý`]·FëE IWZ wº‚1wÍ]¾´Ç·£—±WÙ#ù-›IóøÞAYóÊsrp»/LH`óC­7•ÙA­Ö¢·<Ødé1â˹ùQ„HÈÌÊ¸Ž¨qw½u\×𺢅Ï$hÀ‹Z3ÅÄáe eG°½ß…i¹•â–ë‰ € ãÚ¼8>EëEâ;(È bFÊN[jb¸i.`‘t@²˜`iÀ¾¢Õ—:S\ú?µb ¼Æc!¨5u«åäÁáwU[+¤Á „÷˜U¤´ÔÏȞߌ€³H‹Oל äg› 1=øeΞ• 4`£ôâŒJ¤:b:uÑã×—ºƒE£Žž3ò>ŒrVf¶íÂSÜä%|Ê®¿$ð5u>‹hJ©œûýb¼ü2•xìõaî¹?³r®7.ð¡ªWé=+}à~)šˆÂÀIñáýî ïÎH;[!b`7Mêðˆ ÷ôßùÈž£éG–ÞæžKâÄ#û°™õRY&êKeá¡Þ°Ô:T7Á÷1Ì®XÍ.úG`ÚhIð ~²®&FQé 7ÿÀLn†L9¨SŒ›6•6žCZ`ͯ7ö(½ÎìiŽ{h )^w&,y'MO¬Çk¿àÏmk+ èFeŸ $.²ýï—p4˜`0òu(J†¬Ñd˜AC¯ý•ïZ<´î³ðmÙ’‰%,MÈ/I–Û=Þöh Õ[mäbbÝ\²ïFÞ¶ß{ìY";>â‚ÓHÖð¡ã°*!=š±ÁÞí‡'-zÌIK9†£þBg·.)2*­¹¿ù¤7‡Ó¡[Êfôæ]{QffgÕq–ti;ó/a]Vdº–ÁÒÑ÷¸àŠ>˾سGÄT ¤™Î>õm×CÒÛ@ÚXŠw¯sÒÞ eˆjÍ"-çy &WN™Qi\ä;Ëà‹zÐV’'¸°èËXXL‹(’@]µß¼Ù Ô4^k,h(Tàx¾¼~ÁÍTF/IçÛíÃ$ÑAG. ×°+."-Bé²óòWÒ}_4¤îp¾X! òE(y‰Ú,­%ß3 sõ³Gþ² ¶k¾÷Ç?@TqûÀŒ›á&@ÅePÖ™àû~ ˆÆ‘¡´5#Zʉ²m­ýrÓ^-¼Ý~Ã'³÷vD^&H¸0ò¬P½±£&uwG¨o@ãW+E6qê]•C¸]œ{N;p3”€á|-ea‚ïz}o—¢{ƒL{ƱüöÇ9(ÃMºÙ¨ËóB¹F¼ô .²B©¦c:ªD;& ,%Sgk®Xb¦ èÜ6ÁFÕ64)ˆó¬#g–]‰§¥¹%Ãödi„ÃѼë5ÚÝEEG„  MÏÏC°kS4KªÏgš‘ñ§…tà³&j&Ã&UÕt°Ω“ºÒ§I1V(!*1©™?q^î¦s0…üˆ© a(“¬ŸÍÿ·<>nf'>É‘¯t7cykwöðyö§ÁÈ#û$¥0 C8×»RvŸBýߨ»¥ƒsl'äPHÙë~‘JZ®yGþ¤ãYŒšh&ÕðŸîB¾Y¡ÖSƒŒEȉ¯—Ûë:[^ µçÏO ?#ì^ ÷ù4°ŽÉœùI86ò3)mùª” 6_MäÞçÌèÏ-ô"êŸÊÏ¡úqð+¸þKÇì¦LÛœ]P5; ¹;„:üBÁlÄ÷ËŽ9›?o'&¨î/€¾V<{ªûH$TAÉA\P7È£çGæe¼©ïyf9(Û„–øæ,ž*çñ÷þ3Éç)Â?^¹g¸Ï·ŒkŒB¸4ÀcEÑ3J4éö6wÁ±×‡6Óˆ õ—ü á–ñ¾zíRZÈ%ä¬Ñ P§¸E9¹Èë8Dk_©þq3OÖ«ºG»ÓÍ´õ“§¢ÅO>Á†û›¾ï7.k«Ý/ò”"Ë‚^qˆYy&þe‹¥`Æ$tø †_}cìFùþwÚ ®šðl¥£¸R—® Ή|£ÿüû€ñPíHddR„žæÌ?pìlïPD!§U_. ƒ¨¬o0H:’ÂQªo=zö[œ`ZŠ@sêl I1ëȱJÇãÃÎ9}¡‘«—Žr>–˜B꼊äEÌÚŽcf¸3X- "xþÞfôeZJqœ¸/D8Ù¯›A⎦Í1¡õwè&—Æ hû)|z«‹ôˆWš'k%*(WD{*:Ñï5-„ÃvŽè×wò}cîØ®4“ÞeÑ(÷yôñ"Dß¿ˆájŸA‘»JÎ4³ÓÂÉü£ºÉÄBÒṸäM|&a¿¥…!z8~ÃF{kZ'ú…맘®>H>-I;M”ž²>»WJó߯VÜ4ñEÛ¦ù<®80NÙ¥&Í[ïºyžÒgÍG ô_8˜aûvqä&íYà r°ÑBÛT{2! Ô¸œ±õøS·Åb¥¿|­Î¦a"n"tÕûEýÛ#t©‡îÀA€Bb%¢&sãeK¾Ã‘Ë'À²ÜS—Áþ°É«:xƒ£ÊXÁ·9‰$ÉÖÖ±’;Ù‡-ÍÍàÞ &ˆÁ„ö5æÿÅ1•I~Ṙ9MЯÃGº;® Vyþ'æIåN[oÙ#4°žÏˆÎßìëv:E¾ ÂOÉPvhêâ …ƒìçF€û©ËîÔZMÖíi»—[ÄM•}£Nöäñ:Àò²úðñÏ®¸½û_õGDXhÎðv—ó4J ó2gU׆â YÍi÷Ø»Èë?ÎÑ¥6  œQ%U°•k~寑øé%æhC¹l,ò9¯‡9EÅMu¡Ú f^×’¾ùÔ¹—=Î¥ÔŒü`&üDûÓ—KZ<ëš’ŬÀÈél?3mzjíç̘Ø.GëH2ÄVÙ‚÷¹’ ôý?†GæAᮦðü‡–€8ïzœÍùBÙT‘9„ZY^`8ä寱³øÎ%˜nßjÅì1T4cÙ†ûbJùb¢Y׸GÛÇ¥Ìâ7É/ÌázíhwÊñú`£äÔŸ»°¥ Šøßû^ï¨åe/;Ò¿¦ˆð2Ë·ãèS¥šè¶¾¢|Þ<¥Ä‰±`ö³ÆÀû†wÝÌËâA-Yb‰ã²SÅÕøöxolËdŽ-/Hª¸"Ô]iµ°7Ý2|ˆ‡½2¿1º¦…?´ŠMMx*Ï}i="€pšmÀFzë!hPº/þöû"G˃õăwŒšBŸŸevsQ¦¨‚Çð‰øSp<²štɤ˜ZŸ±È¨ºýäAá`0Eƒzß;»~->\ìæÐv1¶iµ±óy«+{ªQ+qíÞf&C|HäÉ(íò)Ê[–føD¼ãLÛ¿1a; Ÿ±<À^1kF ÖñIˆ“6CS-baeÙþ¤3·Èk‚,÷3Äþ÷‡§.k¬Qzº¥EÓ=ÊAã´´’”¯MÀr+ñ=(3kŽÑòY–Å\K`Ý✊8—àpl(ôKaŒ&å2¤pé%°áS?J¬ueÞ8V•´ ëÎé»Îy>œÔx¶¶t»$-Þ‹/PEîÌÁD3ò?üÃܨ]ªuÅ :9íqu¾]…±`~ߣ®åCð}r•2£'ðÔH¤;R”™ÿV1Ü“³Ìn¬Ñ} ‰Ô9D›ùl:¯PýL#S“󼺲 .õ3ÈKÊ–,5íÞé°D¦–ç“Êp·ñ—?´Ù>Õ{åT¯ ¡ùP]qôÕbÚ¶²5•)ȇþD-æ{TdGĆöV¬´gMŒ;lnÑ:é]amÖj WYoùôAl"Lø¯G¡¤T¡>/1ÔÔØ"Ã, àŒw«Í˜¥Gq&^§……ý‡WsÁƒÚÖ]wf×2<ëèÕò1êZþÔ¹ºÐn4p°s\8áÉ doVÌŒ0&‡€0’xŒÀç½N.žZ=ç £Ÿú–ÖË·Zs§x€c.`nYZ¤œÈÄÊ™ËÖOÛV#‹8A‘¡yŠ9ȱ+`·[@¸ßpásíê¹Ã¥+DMœ–ð(?À‚‚WÛX·‘Á%zfÒŠ>¼®–uxÓHÝCÜY×ӆľ2ºã*èS1 3ÿ<-yžC²7¥ióݘGå€eoR3Jˆ+çäûú‘wòʹe¢æ,Øb±)¥wÖN Æ]攄=.]å5bãäÐw@§+#Y´EÿàJJ9¶¯9%!¯ì•’l}HžKþLž ÁÕ®0ĺɜö+Úq³5ذp„ &L.âê®H8NräüO_‚‘8âßú{æQlv†¸> $öæúŒ³çUßÿ•£ˆÏ²2ÍÈòøZØH:(ð'ä¤7<1>½ŽnÑÔÑ& ïòí~ŸqI‚M$‹¦°w-5ó R¨O±Cù¥Ye‹ËnqL_pGÑXéA‘S/ê^éï”lo€­¶£ÈÞAÿÆÝ¸~Ø¡bˆpm!™W}Ë+þŠKÖF~„RYÆÙûpA>, Ô6`[D"-Þl×jµe¹Ü§?Ñ ¶ý°AKÄKò BXÊË‹a¾£e­Êƒ—9»eëžÐYÌÅÇ"a.¢¼šÉ@“ó ~va¬ôÆ™Ä œ„U÷̰'z¦Rív¨*É‹ª"¹~"c+ìcËüÐzºüq9)j€ –{oVfÃ7®ÌÔ¡ÍTR/‰Ns®gHgm›p¿Ì#/,¼uR“ Ec3d'>¦‚‹2æAp EàÃï8ŠE(ü‡*‹ÂWO$ŠL€ÃnP‹®§ªh_"Œ4<€T2ª>¾H@à#)ƒ•yœD'ÆÁVÛe^Ö,âRÝn>)rEuöÔýýû‘a³_!ø^¶1,¤v«‰B’” k¥õ2d€×ûa{á§1,Û&¬ÝdVq€i}Uú–ýD&“œQú(к«çq’Ç-‚L„Û‘%IìÄ\ãµÛt üTñ óxîPL|¡0î*¥!®o‡7®)` “ˆ ;u½›qÎH臄ï©Ô‚ΨÛÞ´§Xw†~l"ù³oWaLÁ—uÜlP©æ ÒH¼ó¢±oP„–è3~‹jÜ'QwPÊæ­–YÏ 狀Àkû #ðz¾FA=îëï…·3ÌÜÝ®ÖQjØ&åCuÔx·Ôáh?E.«j¼¡ÕºIûÿ¦0ë[ñûôígšöËq«(Ua͸–!Y(¡HýgiÁÆB:†kBËõ)¼N¸ +³ízô •Äè ƒM€Á &@I a绢â$* ø‘[–>;Ñß’MxƒÆâ(ÁM^·rÀÆ7Ž`&‹œ ù†86¤Ê†h©}J¡4÷ÇÄÅ˦ʦb²]Œò‡Ñ<Ú¬äiDTöAZ½ïÌà­"¸ToÄþ®™QP` (úC9bj+ˆÚsÄðr^…êâÝD?ÍQ·$¹Á牄Œ5¥~šg ßÞ8&¸Áì³}k7­øGp¤AÎMFb >Û§äcÔÕnŒz¯òöàŒRnœ›*Ò™ÞFæBIÒ«PÄÒ1½NÙw¡êšD3YÒê~“9íR°(ì¢ý&ND0Æ™ÌÔMäP–3XÐYý·ÍþÔ‡¡‡î.D×öoìÅÞ¶™náI\7ÈkÇ:åVöˆøùiŽ»™nÌQÈ7ìÀä„{1š¨°"Þ:j«þvˆ^(á8‘§S¦‰ƒ˜ú[³èÕ÷ÑQ"ÇI*@2ù•Œ»²õÆ¥ÈTت¨ùÓah5ÇÝ7 3%(Ò$ù#ý`̘·Š?±ŒéOÈåj™ Ζì½NhÒÏÃä•ê_Õ¤s–tëIŸ¨¨^ñÉYc…aQ…°‹>k®aþvG ÕÑÓ5ž5]²„d™#ÕlZA¶H¹n•Öz^äbLܳèìþtÄ ãúQ ÎSv86[øbãº[³ 7,ô¦;êÞj«¯¦¤$¤É„°b~äZ ÃPX´?Ç!|5#ÛáÒÞŸÄ]‚ùŸÓuiXW–Œw7  Ðo{ã,P:õ^t7=eâ•dÒYŽ·I9ãË Q,AG›DÃKq~1ÖM€.±÷Ol{ÔP„ 9l™Ï©ã˜r0²_˜Ò¸ºŸ‘[#yNÃÉ&'g'O8ƒ>%~$ãÍ›Á×&|í†"ù¦§´˜‚rˆÂª£ô´’œÆVQŽé¾B!f­P®I[Ý©ÊA‚x¤,‹ø‡„RsÇ´7Œ~ Àb$k0qÅ$˜Ç^±köZÕöò¡íÓT4)ƒè'ŸaiJŠpðÛÃ#=Z| …”Ó[ΑÐ_ÜÌö~ƒT7ìØ~¤ââu"X[°nÊz_lIÞ‡ôÿ/Ãd‚„Q|`Êf_€_§ÙLËr膒Õ"q|&sÕÃÝkߊ¢Ï¿Y°Ôú°Ä~ý}ÿÆêé+¿¼ä^oæS와6Ù +øüÿ ÑåO6ê·§G¾â]–”2ŸÕVFÓv´ñ]sÈã»øÇ5¼Ï’ìôåò`¼¬yº˜‚˜8œ ûT½<|Ôv. ýëIŸ“žÂ¯£*` h*Aè(pÖ¼ÎI÷„Ö¸“稡¾ÚФdÛ¥>ˆ'r“;å‘ö$)2q¦™L>ÚO'lly¯*vè²#>d?3à O‚Ìrµ´#jµKzˆ¶ÄÕå~a ‚^rðœ¦Þû~>Ÿd:–PCݦ^7€¹Ì ÖB$9Íþ•o#¾l*¿ALßm㼨ëÓÈTáÅk…'–k˜0‚“"Tyí€?lé {c«¢{|´²A ¬R¿vgLÌà: Ëå@ŒvY ÞÃÕ¼:ùóÁBÏã“óY&ÜøõCx¼Œ<æYlNÁ¶G§àã“‚H²}‚$yz‘± K¼*†{«9p*Ò¥Qñ¶J%{µ‚ûSq¢Ý7JHpîÁfê’Òa°òézß4G¸ˆ¿€,™Zð˜¶Óåmšù!Å=Ð ÔmZ¶óšfFþ‡ÿ¢ºÚЏÂâXÃèð«þÎõA㥩ïöyQ¹7\‡…†!¤èÂÍòwì÷£ÑÙMŒs§:ÉïFŸGzú*s`nIļì1ß E”d”°8-âƒg lüM^ð%c¹/ e$o{¡LÖO«µCjóÂi›þÚû1°TâÖ¡B!ndWÅ” Å¢fŽš_º§IrM’^‡ì©VäÐ$õ²÷¡o{Ž2# f‡Þ:ÙtkK82mxÕ‰Q£¼g„pb/Ä·æJˆw,ik@ÿ¾¸…¦¯°}þlëÔlj€õS?·d{Jtã¦MཇBv|­ƒ‹É³[Â*\†à<Ð2o:n†}J»¡AÈŒÇ`¥)³»P5º—ù;-1N?¸2 ·`{lïóçA%O&>H6`¾&rÆ''øÁ5<Ï`W ü+Ð…®MŒàJEµß@–Õ½EpX‘¡QK®Ö–t&Ð~êz;w‘?Q’)5·Á”­J $”Àc·b7ÛÃ’á—ODç/èEæG›Š›õ@Oê•1—‰ø¨ÑrÿÐåew(¹ ðí<ÖÚ®ðÅøWº84Š-«@ïeMlîì¿xlBi(5- ÂLZ¢o¨š]œ·XÆFHZï¯l»Q4+Ó„à7™0 Oï³Ð²Œ=»0÷ðÔ¤à¡™ÙØZ¨¨äN-ùnÚ¨žµR ƒÿ…B™’7v•½ÑãjÄ[ñ]æ­u_(x6¦Ëcbäsú—uÎE ÷ŠõXœ'³ªëÞ¬ÜöÙ¾•©¾“n¨"éH¢¡m ÜmƯ¸Ö|`8$Ú¾ê±\<¾°à`ªŒBª›®ØïÓ/¹D¶Z³·tÅåËù/¸¨}¹¢OI‰ Žƒw?WŠ2r/¡·[&½Éÿ^žH%/v¯y>cR³m‘hVbÐ’B${Òäžš½’u  &©{,Šlql< òÕÁÜç#Ô‡F®z›ëÎe¸ ª½% ˆXÓ}Ïg ˆÆæ£XHNÓ™ÍL“<ƒ|3ˆ»­… âŒz_1õ'?ô&™|àÎ8’¬o#eþhdÈ‚Ñ1ãã¤:ÄÛæFhþ4wßœÀàÙÿ9>Ü,Sû,öä# T»¦›¬b êDõûLIôõ?¹‚@D?å]r¡@^#˜Sïuq)[óûÑ˵À¢»Wט°ô’ök»Åø´’Nc‘íÉ•ûº“#Ð.ZÚ\Ü{–Vï^1Æ‚àSqKгíràþߤb˜®$ñt³wÚß„“iq;8û¢Ç¯‘Ï|Åg™9ÁjÓªqW&ë¼–óçâËÏ|f¬dí\˜t¬J1\ þ™FÇeÌ8ÆF—÷dt!{.ný×Ê?Ôa[`®rš Ù=਼¾¬î,ÀARÅúÐ-¥ãÄÞŽÓÄKh`yoÔJ³«efæAx!o¶bs•˜©W…Zž³4ìTãq‰X„8)ëÝWïG"ÕðŒø¨) ß5É­ÑvùGMUÚRdµ¶†.×UÝ)¼IVï´eÞcÅ~`Çq¿zãbn” ÷gY"¨Å!YdPû¡6(‰çôÖü—m©Šq•*â³ãIç%°,XÇŽ=º O3åY1LXf ·*’®€aé‹kPWƒÞüäCQâ?Yݹv$š#6¢[¾éžŠoŸ)ÿrñ¿j}5D{É#i;¶ ÆÌ åëØª©lS·ަwí’2À×40€²yc°B-kµÈ‚»3("ý§~4@tD¹tÏ”y+ú1i,¸×Ü®'öKï"Ùä!KZßAï9Ö’ôU’âŸÊ > •Á#2MÙ½Ñ,BĨ{Ð ùàž÷t¬ŸËØøyBHñãªI:¼g@_|B­Ô®(0ËÎ09$³ªê G4÷9Ñ5'Œn[eTémê[eìΆá§>䩺« a¦]ÑCá]Ô¤ ¡}pñ|%Lì é‡oXgsä_ÊrðA&Î DïÌy…B$D­ñÔRô0.o‹^¸†‘I»>Ú¤ã­é}7W*F¢b§Ý}—XÓ"¤IÂ¥€ÏH3ÀÌ)l‰|k‹hHÀê\A_Ô'xÈ_ [ŸëÜ¾ê •ÿAT$¹¦=`‡çDGõÓÌœmÀó”HŠi}\Ú¾`¨}f“5€‚š&(QZï†" õµ’x¶Ú”~àyÜŸ‹áüãQdõ ©EÄÉ0z‘Ôe ›ømn1ˆ£T8 +ê3ïy¢ãÜŸMt% /^Ï•~C –RŃb?R¾<\±ÝØ1õjh-¦œêKtÊ6‹IÁI£nö‰&^ä×ÿÓýI9B=e ´…÷Kí4—•@§ nësa–j÷@-ï™*:Cˆ×ók<Ó‰K°Ss"”/`»Gañ‚žÕý®JøsNnÿ²l´èX„’ SÄ{aÞn4Ê=Šóã©Ø°Yr³Tz«Þû¤5Î!iì 3ò©!ùy·`ÕØö,^ÖÌrÅŽÊ2}´<í-3ÿ¡Ž3Ì €r¬Æ‹©8Ï™˜ÛLR‘[³R¥EóŸî—Ñ࡜GíÆ¹Î«I:%s–ß ;sOa ±•u+׎£%Õ#øjë(Þh Ò& ðDšTCie]NÖaˆÙc¹ý æ>)³í±DH»›O•µ¾;`Ô~xëš]qxýÞ 6…²½Aðs£0Æj‘¹ꤪa°3D´L»AŒï“@ºg9ñ¹»0FôÇÙ‹ƒ™Ž?Œ@_§² õ;r^·?AØ×W…@ª,K¬®LX`æ`†?•]hžBéÕ÷\5‘÷žù} ×Âd2’fù/}¹$@1äÑ‚u|ôÝ©R£4U3ˆ#jž[¾µf4×´8ë4 <™Î<Ýy:<úøC—Hí-8wª­‹ Ù–¦)»Þ3V*7RÖÍSÁ¹”€1¾Ópª–Þ®^´õg××s¶¨`Φ5 ùÕÎNÌuß):4¡m »èØš9­ m)A À'i­qš{êu# ­Ïìƒ*¶;CÀC-ÁPÖ³’ƒ>vÈ\¥Ì`˜.àßN8£2jW…@Üõ2t€^²3Ãâ5÷Â2ô÷o½ÂYüƒ]!Œ €èž8ˆ7(´ˆ{SJ\X­¥ÎRo1B'úx½ î€r¡4¡ðÅæŒ¶ð½#£È$]¦2Ï@ò×¾˜±m}Ãæ8™Ç ^“ôæMÌy9¢»hKP§p´,ÍÒNÔ?_û$5™|»Z‹qíÙM†ùå Þc»×2—DZϵWXN¹iï4Vp¸&³ —ƒ2í7 -½mOŽ÷6«'e›¯‚ºJ!ñXjâê_íüïžÃ@AáÀÔ£9S$ èý¨H§{”lÃí™-D^¥¢@Œ­Oè4Ѽœ¹znÓ—²êè~;nœÓA)&o›¬o‘4†È„ÿÚðè`Ú4 Ú<bÊ„eA©ŠÐÁ¹•Òø—æ4c'â S¼à;0ÏWê“÷5y_7‡oï×—IGŠT¢Kù߇ŒâóBËì@’m.ˆâäáØÀ/#[üx›¨†Ðr$†¤¶P¨Õ5ÎdIévšnŽg«¡ÌfbL ™­köBg<·.‡‹*̧z̸¦y°ÂÈÑv–Ð#Æš«$FÛ×:Ef^tYT$#5i+ Tå aKÆ‚Íb}8ðçQddw#¾òaÙIáû8Æ6!»/禒J„mÁVô—åKíw04ßïAÞ`ëtßæ]*R(Wùçk3Â9~ôF·cz|‰ƒ í¥Ÿx{ÈoŽG¿ò³,Ê3Ñ{3tV"úÒc_<Ü(ÔÐ_¿ŒŸag&TU“P›]Öh( †Ë_:gO.‡’þet½è’(ów±üZ®¤~; Ä€Q¡Ü–ð§•;ÞåÑ_“ÚËeªx?”¨w›’ØöyHÊÔ[*nYë?D¾Ýž¿Ô(­¸ÃôªU°Gg,±9‹~R›¬—_µpgA¬ ²[—(T "ÊÇŽXb3xê§À‰yÆtå‡è‰bš€67¶-&†2L†ï⃢wŠÈëL½WØF#¿Éw‡GO0ô¹jBp»˜­ŒÓVôó]S1À˜ Y ó½f} þƒh θQ ×¶ÖÆV!8m\ÏíþkL¯­Ô|¢Lµ2öüëd¨<ºšSãY¸4ŽsŸn.Œ1£Â²†f§ð˜#¸‡®W€ßqpºï‚5ÌÂ,üþôiR;j›¬€‹X®ÁŸùÕà …ÈøâŒÑ Ft4ˆ—táQ|q}‘öì$TR룮îÆÔ#¢R•Ìã ,Áv§ЃtYáî¶•77ÑÇ$Á¼~mƒ9{H,…'/àÒó?ðMÏ+Ž(A½h½è‚UïX7Ðq¯Md¾vå^Ô2«Ôp“¼ tKnó™¼é“=Gù¹¹KŸLu‰lßåÔÑ®CwÆt‹Ú’¤J'AéÉ£øïÚ}€ad?@±¤`‰ù~6`þ S!&ŽÈë± Xñ!ZñFÔµ•r™ß¶Õ±9pÚëÅ!2¹­+ œc ¢4ËN<“[:åºÙ/5–&/×9Ð+Çb^é;-J}7Œ}_r©ˆŒE\ ‘G¦N®t-¾ ™cxkÞ=íÐÙ/Lôm…/Ë~~êŸ+Vùm¹tÊ2+åHX×%‹Øútäµ^C9ݽþuD@ºãwJ/ÕÀîaŸT2(6i‡#GàW3ÚƦD6;7ó×À„W¥3‹ÙH†YxupÈNP÷ëPQe¾mÇÿ·\êW ¨rÑ9±Kíp0Ü8I(¹)¾êÝó³gŒJN?â\ô@B‹RÇ,•`e2d©aŠ\넚2ñò¾šepÉûdÎÍûW#Bî¾ j‰°Dy0åCý³ÎQ.æ/«•F˜¢8M ÍZ¼®ftúZãF2º¿JÌ\ŽËw&Ú9t "íiâx6kå@ ÆÃ¬žqá}X˜ }‰væ¦T!‚?»”ªû”B)G¦ðѰSñF$é‘éŽ2 ›XW‹ ÏØõ.òŸ¥v~™É¯ð©n’ò/¬ë‰ü‘3ˆœçãœÌa$P´K8G~”ð]öü"¸‡¦ýÏ|/Wö˜-•Ý¥+jÛ®©½*ÓNºŽ7€æ§Â¢rD„æJ1T¦£š3Yñ¦áËáfcpÑOÅ»™†ÞÁäìÀ\Â^X™öØaûA Âå#AÕY}“!ŸˆÛÔ l†:¤=ïó‹"0£ÒÖNÎ Ý…ÃÖ‰ÿÁý¤aD—ûX_m®v®@Éü1¢šd+¬[gíY™>9ëØèÆŠ¥d"D`f».£wôÀ`V-×ù ŸŽœa7:ò¤ªPK2P³xE¢#”ÝWþ¾ý¨ý˵ûÆß¸Ñ×+Z …ÇÄZ?.îw(¸Úè$2[ö†ØÊM†¡1ó=F0ñ£wUP"¡dÃ+„A§:{ø9:s‹ÏÛqç p†'¡å°ˆ3xWõ¾qãÅ€-%q Bçद)ôÃVŒÝÎ~mòzðëòP(¡öÍDQÊËfêOÖ¼™)Ò7|—…züΨL€þv¹–mnr{8ªÏ7`f5„®Ú )×f뮈‡¬È@ÈJ2–„ …Á¿ N0á¢N)ÁªGœu*ΛÇOp Ö!ãFÜNû3¨‡ìß~ŒxpO×­R ?µ ® ^ƒ×GÔÀLV£Á4L«H}<ö ðàž “¢°×O6Òñ˜tû¼†·ÊÛ«lFhÀ†—©åÍpƒ4Sÿ"LV4.æ]Ú¼O™°æCý&éþoE-‰:ñÒË?º<™@rmI‹’gÑHDH¬´§F™6)‰à}ûÕ'rœ7A«Má¯$,m“ÉiÇ_µn¹TE<Ò.¤®ê#hÞ*ˆ˜Ÿ£p*õ‚X9éoÞºSK>PrãEª {-êæ‡o þ Ì«ÙwDý˜@ÐÚÏOm¯±RiÔƒŒ™Á”†Ý$ˆ>HW4«˜{É/•LÚ?#9þîÒ1û¼•ûWåÚðD0,ãÅ/­~Ý5¾Í@’6#Šˆš2:yG—^YëÉ-·«&Ñ]¨í„@¤¨¡Š$}Bnå½2¹.N©šîÝ¡€øùº¤YfÓæ¥dÞïCÖ©£—«ŸŽŒ_û"Ž”LyœÿËú4"É`-â<ëcØöí*ñtºXrñMž_á+Aƒ«pÞr w¢˜Ü*几מGçpþÞƒÍp‘¥šd‰ºªbh§(Œ¥Vâ_ÞIuÔ-ù»_\ifx ‘¸¥º2±I{ˆæÙpîÖ¢é$„µ«41ËZé¹ÓØZzse¡N¹}۬釢úÀ&,»¼¾eØ@~µº9Ómè N6º|ÝY€>)¸4Zv—ªòùàAçF\zo@¬ÒhËFjxÈ~á=;@ÿȧKTŒ¶Ù=œô*íš¢Ä•åˆ îXŠÆÉN<×Nîµ®@úñƒ«ÜÉqø”΀Õ&S÷ÕêÔ¹³¦|¬’·¡©+gšWQloÛO"sö”–³E2™¥ÕØ’|W«jvD‰§½ÕHª°–á7¤á†(µv˜Qɤ¢OµÊªÍO­ ©ãºtàêgcQMrØ–¬{»©gÙnCmRrÙùÝù ýCž/Ôv­M‚Z „D? È»aúà!†MP~Ç:‚ý´GxùZ妴9Â+Ñ„ÙîüÁ¢:/&Ïòí\ž<©ž„)ä!c^â¿CSeòòÅ›ð䮊ÜýÁ¬ÿØŒ—šîâ¬LM ÕJrµ­¦b°¤êÐdîÝD>Xâ+Úzû«$\bÁÒdøøJ¿Ñ•Åì•nÜÛ‡ÒaÛOx)R™¤¶$o>yâ §WuL4ùM§´ì:bº^¿Ëehªw½œŽP×9UÃÐ3»òÞš"2„ž&Ëe³$*6oXÏðŒ ‡H•¦yðÓ&G¡¥DÆ—ÈWÓmž"Pþ¢g;kzÎV«Ì|’t^BÇ‹ä†âv4åRN²pá–Có&ÑÚc4Ò€%ûé»aÍ÷ƒyPýµZ¡ÉuvWlÊ. \¬™zˆi~Í?ÝœRÕšˆÙA‘_ƒÐÿÄdÙæ¶Õqxþ­ 7 Oå…±òש¥.‘+Àâ ŸÄQ»!ïnbÆ~ª¤’È¥ôÑ[n²&Ö"PÃ}®´H›‡¼ÊË$Š«°áïÓþ㥠”–Œ”¢fƒ quÝÖÄã…ÝN:Smÿw ¯ß¦òD‡¤æ"yŸ… ã˜¿FÓòó‘Ã=߯p…›µ`W¡Ó”P¹ºD†›ÿ¾« ìß„ml¨bû~åíàsטÙZr~{žE»´ñ¥³æ1”ŒÈZ™µ~ØD:´dó¹tšüaoúéŸaLvcz0ðó„€,Uþ 'ZyÜód÷k Mª`ֲŨDI³ œkW…Ë€kÒIä[ÇM)+@úÖ­fÙzÐIo°©VüËP…yzYä÷4®p7j•Ý~vÞ?r¦`œÕчÓWIXÈ烈†aŠËÂ¥Éï‚¥Y¶]'13xÆcó¶ ö ~X `à›©mØÅn`t_©àšûÅ LBwkt_€µ`ðÆ9Áë¸Crz _pÑùúÅbs³H§º[Ù˜Íõî§ç7ïÜ>+Øi8t½V}øS‚Óävé¥>!kÙà´s¨3pƒ“õ0~ŒX"Aæåˆj—ñvgß¶0‘b±/óòŸoëëYÓÎçíI²eÅøJ£*je(ÒÇbâ6â‚B|ÖKKNöjƒY=Àx=B°Nô½Š]'Å™¸N(rSâÃFó¤AÇcÞ†Ù;öÜbå ´dßâȯ­èé:ÌŸV×|R.„‡1˜ò{ê„dÌpQ‰Æ÷òöðÅFù¿hø´`==K}`h9„pŸ-H6XøþŒÛë.´ÉÃ-ÿÍ6껢`_Yîr8CvêB %—ÊGðÚÒ-¡ºªƒÅàçda°‘aâê“͸X_¹;ì›HßÝ•iÒ‰üªà•âû¾ûyÓ¾YJYH­ºQ1»ÿ Dx”Ëç4RWˆ6Öa7¢WCD¥Ô —ÌK|—Ó•×å4òú}åZê"÷äpòHíÏQèš²›Ð&³!éRXt¥¨»È÷œye"† qn• gåZ¬ûP kf‰töëc… +æ†0àÀóÛñpÎ8óH×ÌÈEº³p…ÕÄÖ^ŸóaNî|’Imµ©âwê[ä.öU_Ö!√þí[å:ÖvF€‰ì8äϺCUæT\&û³¤m[¾â–£Ömþd?ÙD,@CPcàów bUþc‘„h3ÏS_URžVl*Ó!)'ªÈŽtè1c”Ó¡ÐñÍÆ¹ÄŽfÈ\PÂ’`}ÜùŠév …;‡2Pl?¼ÀùS[i<Ã&nB2_Dl-…œó½VG{Ñ–ãÓKGüÈ1âŠÈtùçѺ_o˜(êbü 4EØnÏÐk°ñ>!á¢ÜÆJ$r:Vø3ŒŒúRÑ¡56È4¤“j*Ãp§u,»öi ³U7—D8<¯‚Ù0¾®Rê´ÅÛ‹w~6BœpKµ§­@8ë<ã7h•Þœan7otëc¯nïÄÛ8êeè×èÌËÍlíZm:µvR<õIN g­fXˆÜW+‚7Œ9½^©Ô#=±ˆƒa0`¡û¥¥µ Œï:/¿þLŠÂ:ñæO£±”'³[9Tùüàš;Œ‰?iÆØpgtÁ~É)9]6Ü.Øg×ã~bÚÊ \YgÃÕœ 9EÛØG`þüNÈ>­+«6ù(f†fÑŠxo—†–¶ÞÑ‘ å/¾ëtò5VÚ±ÎÁ=’ù,MŒ«{‘çcÑP5,1‹£VêºÝ¬>Édûü™3r ¾k…Ï%æ!‹Q§¿°î¬¥²wôHl•ƒ5ü_6¡Ër4ù{Â[²ö9 ϬnsTÊ-¤eÀ#¹qµ0ŸZs9HñJàÜ:GzÖÅ„p’aù¥VìzNñx¿¼õmCéŒ)?Xô ÿßâf[À‡µÝätÊp2Y > p u©çƒ ©àÓÔ˜ëyxQZÔ!­/üÏxúIíåpF8:I—ïÑ©®Û$0¾ ™”JL1´Æç°°¿—gÂW!ÓÆ‰p}&Çø+Ïc3m hÎ…ƒº-‰®&—iÂ&|"fÆ„g÷½t1ÁÂÚ s U˜HôùYBañ"Áq>¨3#Uð@êm XíÑX¶µû<-ÀÉcñÛFPZÐÇõÏË>&Êž*o*üÇØ‡Åº+%pí6/&íÃg©àƒšxÁóNç*ŸÍùã|?þ­°šƒl²ª;€E¿©Éæ)a‚mf»‹y»ÞƒÐêåS}vôH~ÿíZ{+)6ΫJH3êùÓòˆöR™©8+ ßjÝ·¨<ؾ/`‚¢lñRö ?fMKE ‰ù’w^—ð=LÏ{·•°A$ÍÙþ骚-‚F0½3{ÏÃéž[ec KëâKUÊÂ=Üàù0%p¥^{Ë;×Ô‚;)É› Œ:ÜT7ž³•óG³¨ë ‚WK¶Âr½éH³¡Çý…)!¦Žß[ ¤j^ iœ¾g‰Á`Ûš@µmX0Rp‡qªÈnbþ6hÕÓqƒ¹bjµ6Œ9‘ǯ'HöÅÔè)°–'ÛÉó9oT(‡áða¹ÏÖ;½¸ëœ±,™’—ï¥R´wØRRäG÷‚•úgk2¥9ÄóQ;ëyãHµR ù­- ü,¦xeNklÉx|Úc þ°’¼Œ´ÿi®#¼±“®{ƒÃÑoR¿¢@+[‡‹ÚuŠ•Ý˜‚&»g;â*¾dј+\®‚ýrß9©"q’ ´²_ÞR²rŠœÓÝóñø¥têîBŽD²Ž–“9þÖr• Îâ©kg ´Aï/ùûŒzüè-þ%(P‹•G+pu¹VjFñoTìD;#Ä&ÍoÇ ÜË)˜%¿ð-yv‘[ewÅÜ{³c¤p9"|D~ÁR šÜ+ÈÒ+ÀÖ•Mý³iååíjh1çPS[<ÖÕ"Î8±€Â Zªô?8ìN{ *#S£:¯Ü<ŸŒP¶½ºàÕëøBïoØo¨-aœŸ¿kU]D—ÀÝžÉîÅdB¾¯¹ÐÔÆ¡ÃÄKHÉi³sÀ—>Äzµ0©ŽâÁݾŸ[™šüMœº‚\œ9çÚá!6atIô.ì3–ÿªOg6°ª{"E,÷ ºCºå]dXq·»q$jHÃÌ—ù±n¡/d r, ªiêZK19-ÁrÁ“^=+¹ÎÄmCm"ž‹ò† *Ñ[Sâ»yZl­£ÜG•–-œí”2M³±@]Å—N4A*cû;´3Š¿@ýµq07KŒ”0;ЍÝ)­W­±Zp^õyG# ÍÅ{%|˜ŠGLR]…äûXϼTGûiQˆö¦Á}TW—tÊ,Kˆ/! …!s²Òá…œ&K¯þò¥«^×lD ¦d—ûÇß}‘u:-eóx¡÷ÄÕµ” b Òï£æ*™ÏàÖ%*ÇÎv6Õ*þ¡(cå%ôZ&.JžÏÔ†íF)|4?´»i6\šU¿Œúðd³TrX Gu0…ôA6ïN…)Ñ v xjÙ¬ÿÙ6ëWÛ½º^p­;1È „7M0_èÏ13"{ZÄ6®š‹s Ë$`ä» a|Öz¸ –bÑ!Öá¬ç4ÿéͶ>­Ú & ¸·ÿíÒ ®'ÿ{¦:°(4±Ñï_hþ¿ï{Í*Óº!¿jÛÔ Áašpv.Ü&¯ç5·“s²9Ö:)d´i7RDð¼¶+ eTSÉXš¬ŠÃÐ::CºŸË™‚¾¢ðËéâ6n¢¹ R!ög²§À§×}Æá;[$cHÄúÂê#‹m"3‚yÄéçÌ£.ÄfÒ>;kÖ?Ël‰Üë6vfÒ“ö ó£^|/çˆX°I69&fK4,Fã÷ Æ.ï½9»F/N×LÐÜ%É %ÀÿÓî¯ ÜF¦Õ^‰È(t3d1¶c4×:ÎàÃä}A=¦­ÜIÑ5ö*¶%T%šZw•²ñ|¿ñ0Â& ,>bÐóu†‹Ûgæ°°¸¸Þæ¼]€"ødÅœ?]BžÄ©±¤Âm{:$„ér§=ù ÆÖÊþXÇ_Ó:;êÔP^§ð% žR„{?8ÇÐB_Ë…ÅÄO&!ï9ä±(Ò~x;š.Ya¹†ñ¾ÖìoÏÓº=œžÎ¯±†D%XØrT~ðy÷ZqU¸Årßì@÷ØØf—ë5Ô‡è/úNb ͈Èîs_züÿ˜¾YDXÂKMÞ{;Y‹·Ù0è@DÍ€TžÂõÒ®¶e¯È‹qÓƒ|Ÿ¥ æý”i4¿Ã .3šÆ;dùf‚§q`?Õ›Ӽ*Dã[¶2g4]i›.gW_Í#Jh)¹‹ì^“§R¹Þ¿„Ÿ*„ 1‰·¯ Ëò|ÝŠ~ìpÏ$¤x¸ßTO{·AÑî¼Ó©Ø ¢Ô!ûÍ4ŸKt1ªMî’j:‘Ê@™|ˆEå‚ÄÓ.fÂyO6gHlx™ý8ÓÚLp–Z…·9´VèIÔnƒð®&VŒÚM6„jUãå¹ ÖÏ — õ^ýêk?eV—õ>E¦™ŒëõÒiTûQ’‘À¢g¸ª»vU£›Ä4B9«„C]œ{"ç Ày8ùB¹Æ‹r³É¹è™£$Ç-ÒêÁ]Po‚ã0Ô½†p “#ôS‘$ò°—I Ò ªÆ²\zŒ\£<5VQ)€L.ÿ­ßÌÜiaèù§?ú3S㕪ÝÌ£51Äg+ö í§¼5Ý™N"ÂÙ=ÍZ}õAKjôxœW•9\p:eIîh¢H~º?¬¦¯vSûЏæÊÂ8‰…©6<*Æ æ*! B;uy«Á;¥?³†L{åYÑÄ¢¦Ä]¾úY ȼ°XB€I§âyÝJþÖؤÓáB‰N¡R—þ†Aö$µ¦dX+ÓVIàÈÝ" ”¶±¿QYqÊ-«è£MƒO¢¾ãw×[¸‡qáI¨"Ù*ltß]ù5Vû³ù±fŽ<ǨÉóá蓈Qý6a›~ƒ!³@µ¬è4r™\1/¯ÕÂiS¦¶â·ÏEÁCç¾.è+™t~‰Ówï‰ÀKq&'si%/цaèÚ.©d|F»ù¾A(¬e÷1ú¡vWãÖPS¡LC³²5©p~1g‰?)ÝLºú.[à#Oa®×­h\o›†Ä´dNm(GT>¦ê”jiÕs³0—‘l€Š|+¥ ®;¹odZ×wúÄ`Þ.°­ˆ:«Ðt`_H{GgT–Ú`Ÿê0Ü J² 0À„÷P·àm¸€ Mà^7-zTʦŸ›axYiÍ´ÚßèJ—Of ê /Ò;¸Ðï–‰Ùý£RZ»xXrÜRE`Æ4-KH„ªN´rh½`qþ®,8µ²öécÃ'1„i”`Ôwg!E›ØZÖ^3äÖίúÒô’ð#ÂÎ…ˆ“êW4xÓÄðp1>“C”šSãÐÿ_'šØ¦eºŸÝ Vd@ÀßÂÃÅî ÊœD{–²$Š…´ µÔ¡v>Ò†`²fÙI=àíΗ]Œ@~·ð]1'“ÚΓæRþV¾PÑ› %Ž1öMsÉOM$Ç»& †‡—š¹^ /ž-L6Ñ·ä½ûË稀•aû¼à360B“#¾nÂ@ö!ÌV×¾»¹x‰¸ùùåéÕ:vgò6¸Ö7ëë?a8» ‡£Vo“¼¾œ.Äæ±”,NT1O­³~kÀÄK¹™ÑaÃ¥¦ìJ ²Ù 4H·pç‹q’Ø ¾É £P…¸cÍGá0‡œ“ *}œè‘v:„RP½™BßOªÚtøVû!c«‰X©¹]=„(­ÆéÓÒ4Vͪ 3N,²;³«>ÝC~%+œ¿~ùÌ„œ‚O1v¥ƒÛ£âù½¿ù&­¿çˆí„¤O›³÷á¦6¬hã%§$mϲ5ÆJЧQ½ÊºjÖßPý8AèvÖ*FzpeEögeT |l”¿è!‘À 5Íž9PÁ¥<¬‹9%Zî‚Âü²ÒRÌ¡i#[ðø½ 8[]²‘¬=Wëõº®ó ¡9Ÿ¨szuõÝýIZ³0ƒÜm¬ÉT;PïRn%Y¶x@ò–“‚iÕ}õgyÕ2yü\$ÿøÆ1ÚÙ§Áâ~¿« n Fe¯0Û`hšÂ¶šlNv<ÙZ[<©¨—sTDNp‡ ”ªeK•‹ØÐ¦t( 9ìc¾öÖ·™õ³ÕaS5hã5zZp¤ãu‹`!iB3S{ÆR±v`—«œøÒØUY¼è¾æ4o-DìÛúXþdk¸HΧõTf`pàƒB½ðÁ€—1÷v£JÅÞLÎz‰NøÓôZ‹*QÕM*™NˆÔâÍü·5XoÕÛ55žO‰ÌÕt ^;ë·…Æ+ýÙ\h܆ؤÌÈ'JOá†ÛÑPÒ&ÂZÉ8ÿI‚ÌW¥7ú£–µoéi¤Áñ†P‘8tM–ÊuS~GG„=y­Ž+Qk‡ZI›ºÑ±Zô±íÀ`WNFIdüç˜b%Îa³6ŠñMŸ¼¡<™– ÿØ<¼SË–øºäc5Ywøh"D¿NÛ¡ã <÷_%°T¨â×üÿ{° n½ùçp¡ÎÈc±-Gô-Ôs–̖͘X¯!>Ôó>Ì ìT‡–âÝÉÞªQÑsO Ô0ÙÒŒêã&ÕÛ ×¡”aØê¾ÏmçdíõÀv³±›P-”3¢|GÊ&ݬÙuXwDŽËsHö=<æv»ºªË™\õW°êê%b ïªñ+³n]0Ï+l`¿®MUøk²14°`޶ëÏAQý‘ª'T’%’K*©5Ñ"SFhÑ' )ÜÑ{ß· çS´Œ(‹J²ÙóàÌvU¯ìiÀO:Ÿ€cçÊ„«h×&ÍU¨¶g»ºô é©~ÿ¥¾…4¦I¢ÅuV¬0R¤Çs€¿Ùt/ZB­ )'Ó–eÜ”yã7O·ªð“/^-Ïte³ͼotr&n*¥,‚û¼p¯9-gu"-[»ŸöÙóïFË`qN óð¾Z°Ñ€rF¨¶ÆäßÍ÷JͰqÝoQ%} IþéÔðïðÆÎk~m¬ö\ †¸•ü•– 9ÚÉðWé?æs{íØÝ Èš$eÔXß»°ÜCž ˜¨¦/kêÓ(iG0…æ%ÌT¥¢ (Z§8ÕÂñ óöÙn g§âô0¿:£ÑǪĒÊëÒ"Ø0´d#p~Jw #Kœì3ÞJòñuÉqðÃÑé+ÜÿìÓ–M‰ÙØæ߆ýŸXv5·ˆ]ÚC¦ßâÀ£;6låÿ ©"V°Éϯ¤€:¯³g:½Ê[ò[†µ mú•H`nòÔ‰’O^OÒÉTjûIBææ}ì«­h³Å-Ê×áñþ{01cw.nOžTÚ~¡$#΂뱗":v®y°3ýö„@~b±„‡Í:ÁvΫ9¾âÕþí” ~–ÿ‡~B¨ÚçÒÆÏÁlFHºšb.Ž‚&„dæ®Ã.OpU ‚?»ƒ™(2”Íñäö­ò8®}Ú©Êrª€ÅðãÎr´ À*EÆÙ¨ç_ó ’¬!‹ËZ}.Î̓.as ×ú!å2S—H]bŠ®ÆÈÕ`ÈPÊæ2‡ß@lÓb“•ËmÏ^¡ú¨÷d¤®~ù·}ó¨>D_Ÿ›eÂìƒxá—¶9TÛÙÕ禔›£3WW‘]ÐEbŸ?°%#›r yE—ž³Î«d¢þ3ŽóÉ&**_¤Bnço3š© jÖíú¿då"M¶ôD!ý8™VþS7P‘ÓÖ³bçÒrjþånÒ*úi3D ÐFCδëWCó wµiÎfUi-{}¡¨¸BoB–íácM’¤¬x.àÁÚ÷áCi§Î$ùní¾kP gySáÙMÑP=é<…J4B¢¿)|¸É³ÉÌÎh.W 3˜U"G„‰ಫñ+ï3$lý­B)úžMÒÚC›ñA6“HÙóÅqV¿cô”¸¶BŽÔ `ny<_è¦. #R>´§ÿДåæ^¿6ÅŒ¤ iJÛá'Wî(Ç® ?ga7’7‡ýÞ²N ñ`ÙŠÅxeRÝ]矺kñrTqž&áCt¦%@MÊ ß-,”ÜEÜ`ò¢>ØG©xJm=^`èG^K+D—jLöE1pLÃ=Ѥ1‰«Zè‚`0`¾’Š+ÌX?_Šßvrf+ñ;!|³àZ$Áì3Fú舢{Xa ÒÜLÆý@Ü“º>ôüzAÌDM…všÎj{¼YäîӚɖâºÞàŠ˜¢•H(”Õssçi•ÑÔÒ…¤krÑoº/\ùjì1ù½>V"®%Þ£­6¹tcž]=¨5äÜaý ÉΓ¹è4DSJ3ñ.*5‹¡Õ÷?¡w^ê%ØöÛ–&ÏÈ¿s¢×Þi©Ðv("pCa1rˆcOìYúÈõ¿vÆ~! |†¨÷)HŸi’/œŽG£œ¡(ø:ŠÒ¨Ä»Wiôš¸Ð è_139Ö±ÕzfnNÈËfÃî´k ©¹¾r9HíE!ëò9“éÁAz[‚ßò†Ë¢’ùcš”æÅ,̲=qz46ŸvCôâhwòË`ö–*[ÍŽ³ERªÑÃs\!Š3ËØ¸ŒR2áù3¾EZÙ9 ò_ÞêÏ«E²ßû¾4¯ÙVÀ 8¹@±È=2(E» È^í·Ù 3o…?k]b¤"ts?ÕSç Ãõ©°‰ž@©Ý‡ì'댟.c–Ú×±ÿõž”McÆÔ_–ô3ÔÇê ÃB†<ê×[{5œ…kÏbLúzqJ£Ye!ÄT:•Á»ÃU²ô••ª’ŠGÎÎ ¶xPÁï+Lþ!pü½LsÖoqÅñJ`zͺæÇÃU‰ôxnvð§‚”÷9’˜|‘Ü¡r¤|~]Sì0OÖ¼·Žz*ªÏV£ã!Oø WÍ5xdÃûÑÅ9NA¿<"›e©NÉ¼Þ ^£I¦9“ﺾÿŸós2]5º¬ôœ[wv%þלzŒö& º‚G±¦YÖž€Û•ðœW¨èt&qAM†¯“çèbèþn °ýØ~  X³f©Õž€¹¸¡Ÿ—i~ãä_”3+×1“ÑPáÛ/4ê;¢ÏÂüßp©Ï»Tì=õɯ’*]U[¿Žþn3#`×Sÿé×^£ìw6p+`}26£æ zlùÕí5™ysÔ†‡ë“9f/;‚ŸIU­ÔÓ°9.P<Ï>¶_$Á…‰BQ uO–±t“Uo-ªÎ>½ÀïL>’žd‰p_%}“Z€ÿÐ ïóa]3=×ö#ÏJ[‘ƒ]DߟõA 1W{ÍhÚöDôN‚Ð/«9ëì^M½~爫É4É-³l)j Þ¨?— «ès„~÷ðX¦ãõQBïÝ ,Ç從g%€g N-95 á)`ÜÈ<å¼Aúñ•FË:A›¼&¹(5±Ùõ¼b»Uõ=,z¿øçç0¯¢|0zÇ ÖæÞÃuvÜ¿ŽL@r2.i ‹oMëÍŒ¥S±Š¡å ½ª_R! èÜ3aþ²ºšpšÑ;‚X·{Ö.–ýþíP&Ã^Ü™6O@Õ5ûà$| Q^ñḘ=5%ÔÚJ9ø*g Çk< Q*惄J2T&tC²:WèÏÜ:†À K&/¡¹©9€˜Ó*8ìWe{ä…°‰´«Xp'ö$ÒøGýâ|‡:ìiþÎ%¤MVRUIÙeÆIôÖJ3™ŽÑ»·´þÚâ†Vp±ÄŽÙîvK­õ2V`™˜=] 4`õõ,ÿ/vK·êFx`AÌGWïÓÞºóðɪÇ[â,¥ã*õíQÀ?]üKT2ލÓ[ @½JÙí”!æY†R:(/ښ쯤ù–ŠÀ¸.8ä ðƒ_ª1__I jU¶x#ËñöP¼µ†©¯ƒî·Ü¡HÊJˆ®õæw€<[Ã;œYV‡Ót¬2§ØÁ’ bš´Âg†|&D’«ØÄ—­ˆ½BË–ŒåßYZtp0Ïh§œY]X±±–²ºcü¥4­/C eÓ(Gî½p1(ÝÔNø“i€x´ÍÊž3©,†' /j JY—­´wa}dz~T€cJnçO„'¢Sý´©·øÁ’!uéT}ŒäãFæ*y>èg¬Ò݈Vdeè6u5_¦ ÛIwÿ[Ùô‰Z¿H4"é9$€¶Åíœå3yDÉ=EÐY `A‰pK‘EIL¢¡•Ó6Zpòö˜&xÛŒ@ʼnC¸‘ê-͉eóTâåSIö Lvƒþ!ÀÍšjÐ}¯¶d+º¨ûHÄÌy𠦂s¿Ból›Ae#úéíjÔ84ùÒ¨íòÌ’”NÂK&«ã@5¼š{X±û¯ÃJbYÏ#D`QÐÐRœ "lèWÍ`: XÍ k)ƒõÑ|b’à­Æ^¸íZö›eLcªë ýœ«B­k¼õ4¼ð‡Í¹´©~Çz·‰ù/Bm† „ÒâïÒþðÇ+ÕáÓGõRžz.ÉÅF¡ÂTb‚@H]RCSí´héˆ{º]ή]rêéè]—/[©¡œ¼ÏdØkÿàLãæeúm3,[±á¦S$10Ëððn*Ó©ÇôTÌz ÕL ”ªJ;B½­ÚrïÑ^ç\âöDÅ t¼¾›F•‹ŠÊ µÖßn@Õðƒi‚`ܺ%ÄË þaDK¶¥ò>Tº•G‘nì÷»Ò¤ìUúGœçÔù*'B²è¬QWQ–Ðô˜y—"3ÎðO%“~âgÏF «U Kvá“£«Šˆàs̨z»~š²5ñw¹PÙÌß¾0.˜ÐZ!Ÿ¡?¶Ž–_½."Q Wê=Ñ$iÕ˜ZЊhjÔ& 2`ÔdâÓ&>‡xµÁåÀäˆX@!àù¨”ãk=Ÿu¨[V·wÚ èEv £KAÜkR€ÿ3I5Õ ¸>½÷êVŸÈIã‡~ñ3ñ(`Yç/´á˜Áíáé Ø¢ÿÖíÛ]”&£9C‘£˜Ù­€ËþµpÁ‘‚EkWоÖâLß½½5;…œãB¬>ÕMx´Y-hЉ§ëòÿ‡ PŽÐ©Pà¿FvÀóÜŽÆÛ„-‚œÜ!xƒ;ê«7ÐfBÚ`ßOUuú…2²*æ舿LKr #ÉÃbT_C~’s;¿ ßã>[å^z)r|ê+i•ûˆý5@>{\›>xxƒ¾›P*>H» _¯±f‘u3ãÔžÕæýåŨÍq7ÓÒ&9T‹IHJ¢5˜9ôf_…¯(‘N λ}嬾¹íÀ2EÆæÝsÀÈŠŸƒÙ“^eéè9j’êlÎ÷¢ò‡ºº’çy ësÁí–Ììx¡üßÖ:4ŠÇãÔßW>Ï\¶£âHË v×ýÏÚûÀC?E´ªtÏ -´îϼöÜžg…Û¨"ÀÙò›`Rº‹ù[¼[§I‚Ñ¡j8J&rò„RA«<“¿ù¡®CMë{÷JV@âÜo )Rê¬*£Ãó9ïˆrÍý]Â&^ =5'o]ddPDR„åu«Èèy–ÂR¼W+3æ’Ï fáOR?EýQ5LÄ3fI?Hѵ8œÄ,öhü²ÌjûÇpìù;q·úì v*©‚rcWoýíĬ‚sÿë5g ÅÈÃx6Ž"ÿëe ‰ó¸¬¼ùëçR쫳“xCctºŒXyÏY¤–¢*ú±=«+2biÊ™6½•SÏõ«]dJù ¥x²”xyûå4*©çCLùŨ9½òÝV·4\â NßîR•¦¡¢˜+âÙâ)ëˆ×îŸ25?Œ" ¦LôÃÚ…›™¦óWñEÖ&aZ £Û2šE8™\Vs½–•¡¶Kæ·vc¬¾T~‰NIãÕ¼cRÎa‡€dý o“Ë ~Z[Lí` 6‘áÁ 4?w57›ð Kš9=È+¾wúðä„-ÀnÚw¤M®f .ÂxœXž)hO6ÞP†€ªºaQ@®§^!á²–‡—1åìΑ  hé½UÇÞwvÈ.óBÿŒØhÌǯtz‚“Îür›6LÔG–Iƒi:nåp˾ ß•Aîã±Ï˜Ûðß]·ñÌ•€$8nµ’üz¢Ü–ÔC£©)#Ô¹Z>ÿF€¦ƒq èQfÃÆÇƒÝdQÜ÷RÈ—ª{]ÎsAj¿Û0Æ¿¨ÚûK ìÊ‚ˆ)4ôynB7~„’P,Û§½†áxIÓÔiùè;Û*#Ó½R{ÌÓ6äŽM¾M‰»U”´°Á™sßxŠ3Ùî7â&‚+¯‚·ø3mÄrþz•ÈÿÖ%Ï ™FÎ&ùÙ+düœq>6-úACc%3å!ÓÁàÕÉè½ÂÔÛ³Qâ cG©¶øÑµtäa>mòKUX y•¿7ï¿å&æf †Ï·«òŽX¢2$Æ<3ŸŸÀÂw<*¬ç¿VjþóLº‹QCMÉ5id¯rquZ¨Êý]àV°t¹ =D`P¬D€ý”µß3‹ÓåÉt²WB±«ìŸ–Ä1K¦g”VÄÉô¿T„Ж0o³*IÉ3zR fsà×&×…9ÝÁ\¶7[K'Åi«^“?pucÆÄì<· Ne@wùµû˵³ÚzÏЖR¶½Àe¬‡6mW~èi9ݲψN.7¦_ö‚:u üâkFg Ñúéåå ¡Ú‰"LeÇÙé2žöd½–H0€Q„“ ëqXI$É.½å Ãw«^¯*4˜…rB[R›É:S ºáíµèÆÝ®¡ÜL9+j—é]µ]EVY‡ÆæÒ²ƒêÆZ‘‘…ZѨ¨Ãj9±?Þ³5+&òA÷$“¢{k©{r¹ÉÉWíuŒfÚ`jvõs9MTqe‹‚},dÌrxð‰ÜT3³@…ΛÖg˃ÆL„´ =¡l œo o†Ý²7éµN@Ó¬ƒ~D€îè&Ū3'¼;À3šÆÁ½õ©•æORÃÍ £–yÒÆKŽ…/¡` ¡aËiâì ¤Ôe¹¬k”)š)lûÒ€èçä¸=a*>2”ËiÈH…\J1ÜœcÐäeÓ4J1€IžùÞ!‰ómL°?Tkð>è>Rë©à(-¥Pe’m ãBñ0=Ððß4,6 Ó¤Û’aaBÞOí+0\ÈwZúP¤w^q~X¢w )Ò «§²st¥pû2÷Ç9›³s']»¯‘ܝл?z¿§J‹ j‡ì¨¬ë<ÍFçM;VWLKþi'Z°k™±Ç>úÌsî5ÛÆ'¹c¤Go–ÓÍÕô=?H«jØx¹¸Íú_Èf<÷ÉcQ¯-/ʽmÚ¿CBxƒ»¾ Ài].éiÌÜÕsï¥ gè +JI_YÖ[Tõ" ÑÞ©whÊÊT jk%vwèÜk.“O!bª¯¨ËϨì¼O'gçÐÏÿ‘±ÑWlxʬ-†íÓ}pí9°¿´ØégZYíq°ð»neÿ_4Å6&hdiDèäÕtçÏ0LÌòCý_Ÿ¼ÍÕ°Rä‹ Áê(oŽƒ¢ÖÁ×- h‘{-qÂi$ý‚LÁ^¢á3óZoŸÒUkì0©ÛBüÅæ2Ðþg°ÉPŹÐh¬W ๒¸TqO)æ;ƒ&¥ùHÅüé, %ŽÏ.ÏIœ$¤ª›ò 6(Ò-ʰ´¹l0=kØ%׎áM§×fe‰—˜}"i@ihç)qÀ{‘ü|cÒLåZÍR²4“{1A+óKò®šÃLÈ/î—ü˜j*7e07 ýÐÂï>èø$™sè¨r§Qœlõ¹W†ñ ¸ª"Âb;jñî^vÏ/H±qDÈŽÐ3±3²J4¾Ö¬t,ß9ŒeJ æƒ'NO|"¡ÀìIJŒ­[ZáKò=‡³’ÐÛþjΆŸ/ï“[ñvs›îh0*’)ñ¼B¢íP¶M¦7ɧ¹2;0oå!†9k.‘rð»EóEª–ŠÓoµ²v^`ˆK©9Cøû j®4ï´5I5ù[nzÏwñ~௠<¸¯/„yš7¬ît›/)€k†sâŽþ,½oÑmðlDh‰Kc¯)Gp‘xÎ8™ðßÅê[`ZܾS%ÛÎ`¤ÿgÓk¥0GĽÎ5V8ÏØ?¥X 9O>IàÁ›¼5€Cˆ BfÙ_Χßí‘§A&*Õ‰l Ð}f.ŒM-zHqÂ`ñûÁÕ’Eá¬ê°‰ÛŸ)ºd_ì\°˜¥QÊÓ={Wøí]/µfeUD®g>DSˆ@ü×Y¦¾.Bløè‰ä³°ÊJÛW[eµG] Ü6ÑõôÍbô(Œk2[™:Á%3(Æo,GŠ`ö[öF[yJ¢ˆ“ûªâ~|ƒ®² ‰³þzZêdÔ€Ð.§Ä<ï‰|kËA.«Õ±I7k£˜Ý \O5L†ý%‘ ݳgÍgµ Öû óÉ\iúX2®¢úÕЍ‘;tµ‰&Š:ž©Ñ[Õª+* ŠÃ,”·­:SʬçoÌÂ$ÐÎäÊ[)?B%p4}D?xÈ:çH±H÷&Þî„í²†·¶Œ£2 üă/3V´,þIä“p¯ÎUCÂÍ%“W°ûŸ½õî l­–|ä~¯EÂö#^&e Ç2öHí¸zÚæNØoÿvà6É;æÖJŒ´¹½$aß9FÌ!$n¯?âëñ‰šTXf®pêæº7 n,ÇjyEÇ…”Òô÷A9² «g&ö‰ 2ßÕ¼@¨hÅ)íZ[UÿÝ¢ÖïKÔüÍ‚‚TŠxXl D˜èDiÏ—jé­¹ÉÇco¶’SÕyä¶r·è']“ªv£c|ýWAwW-œEˆèœ•¼$›²xµ¦f3•‘qNa“ÎTÎ!—á0¡ ¨UÛ:]¶5¯(î-fé}I iV/äÓUEÐÝÑÞsœÒ5Y>»YMùè°+6Cc?Áõ•r! 7Nyú2gºÔ©Å…H/† ~¸pÖÄéà½4÷IPHæ‰Çoð =ƒßÿm8ˆôŸ™êɦ‡"€éT^g¿Í÷^ýG?¡,9pàA( czÀðlL.áH‚YÑŒé(»Ž×\÷ŸnXéyÑÿ/ AKv¶hoúŒ¨´Å×ú@vJH­_Œ^(š'Z‰Ð¶g>\þ³˜ý´‘láFH8¶S–E¸ñØ÷‘=¼¹sOZ7GW°`ú? üît‹ÇÕ@éø ûñ_E=·mñošãÙ™W[‡?‹«-’ïÞmb3¸XAù䕺ÍÏ dNhÔ€Òâ^c'œ®— æýŠñ›ç†3j–óÉ=¥†Ô• !´ŽîD@ÿB%êý ‘ó‚¢H!+|k ðÛ>¹l˸x÷}Ò'Q¬%äÔ3þ,„TnKh‹~úð›ÌŠà>GòʦòBSÆ=?‘ÒØÓPl,|A1>Ѐ®Ê­|!õ…¦/bö\ï5ü×|êôÈ6?Ó¾q‘#eáLÝ”[¨4¤ñÉЄ-Û‰ 8ÝV`³ä˜@íë…þâòé$ÏeèñO=²Éhc¹&2v!uF« ï‰Íè{ËÃ{vkyþT26ôÁàí-:"zŒ”ŽsX[Ÿ¾Èñ H.‰Ó˜y³V¥=’—غ«v>§<þƒÀ% Ö r—s)z`Ê¢†jÑðk–yƒ|0†Ai8nø¸ÈhŸÂF>ì3¸½"²rÇ ÕÍ]ïs€³¶W¿ìñø¯ ³ø7j?5€Ò€sQ‹øËõUåI¿6õ"ÎõºÐ×”¸/,ì÷fD¿Yª·F.<:5”IBvdü—×6Ž >%:"Ðæ/ùHó¦Ä‰Cž¡£Duà‘½Ðו‘Ä¡©ävq™AЋ [^:s# fJЬ)ÊIíà0„òëùÇhw y PDËÆ­³ìyq§ã/am[΋;ÒöÁíçËAÖf]Œ‘Jº…-ŠLïÝ;iÅeÀ²öc††l”œeþ蕜<×OÕÊÊ;Ét«ŸI‚A›œe ŠÆÏV"RáEpÀ3"k‘SW÷PTÕÓ£nb·£±Ðs1we[‡6 ÀßE¦Ý£ Oÿ±I9}žÞDcƒ$:ˆ¦L%K-¦_Õ¿ªžñ5cJ§b¶ð2 [¿ÃÀ9"¸Wíëdàqb…ãÕ‡Û¿8ÇJ•–¸g8ܺ¡Tž²áS´âTÚC—°~Dägwù÷+ ¶0xö `¢ý=÷tE£è<½ŸVÓØ²å‰¦ïŸñF×NgµÐßž*hbQDí$;!n5ûÌÔØx³AKWP¯Õ×£¢Pœ·J–ËÿÇÚ‘Þ“íë†ÎøÌ§_ÎßÜ®uäV ½¨T•C9ÿ R–š˜ÿתè>èq'w½vÚ>ê„ µù$Ub½@g¢,ð³¾ÈTè%š•BBJs #¾%¦ÔH6»ñµN°æaÖÖC;ÙÄ&׿PíØ›wîiÄQEÚÕhïîÆh~ÿ^„ H¡NŠÐ‰Šª|¾;ßi-ÇQƒ²ü*î¦Ï@à ²Á[G|8òÊKE¡´/¾æ¤ÖnÚžò\³f„6D‰Ð—ÓZu>Ø51 aP²U©µÎk(ào&Ò¸‘©„¼¨Ç—ßKºã§bÐ×ÿ3°~=_ÛŸW7¡|Rcô• Q½¼g`þEƒÜ»³+2Ù>/˜‡³±Í[óÝwj¥k¢8‰½¬% Å2!LÔ‚/¢ ÍÊÉ g ‘{|†'«ÚËÝkëF ð_%]å' +ìû´ü´VƒPX‡´µÃ5VmÐß*¸÷5ÙÑD-`\ésЂ„×¼ÆÚYt’¬è%=|áó;5ð±’ XÇÕü¿ÙõPêc˜r$4LfŽùß%Áñ/?Ôà¤UDño›¢ ÚGK.Õ}ùKúÞ²²Â9ÜÐÒr%)_¾]hÅ1n?kÚïAné'o:¹U`¶»qãw4‰ý-Ãå´ûïÜÑÊWŒqæ+‚í£º)Wä}òŸŽ­5³ K+]§×ÍÈKHG½ÖÍÀ–{rþ‚…󷈣6gaJ2ø¶õ*}Éõ¤”ùZ—› Ÿõq]ÝR4ý¤…^ôÎÉ!Ìf¼Å’öRK~u™T÷Ý«ŸØ1ÏM…‚—K·œß­®U2jùÁÑø½Ýk¹ª†*L˜‚U–,†Y3{úbú4kÈVKµ¼Q]<ŸÄ¸‰¸õ2g±âÆ­T7þ„’`Ýñ5ÈGgBð^S”á˜-‘.ö…Ç 44 ×¦î 5=Í2æë¹Ë” щG¾Æþß#üÁ¤ÿ=Ù×ÎQ›%jâµË½õH /õ‹‡pÛú4S3]L9¹ÃA½IHÿF¯ÂBc!ƒ¶ªÊõô+™u¨£¥¿['b¦;ƒ·< ±ü ºY2U ØÎyÓ”ëX°NËRãÚRûn¢'Äñùy\«ˆÈqý—1EÁÒ”fr-n´YÙß?íþ6×ovnmî§ 2®W¼L»â]&‹ÃÂ>q,¨æˆ',F;ß°¥,_BHíväÇWþMZäöngØÄæKž8Ëc)‚«CÉ#  C8GdÿͰ%Å1òåÛ¿ôc@õCH ýæô8ûIPOÐÂtr/„pzó[¥³TJ@À?-‡˜{†àßÃôpÐZô0Šˆ¿j±’• WÛC|9Ç$ì´¬70[‚ë%ÇGRj¼›CãÏ?Î…iF·Ó š‚Lpi¿e˜,÷?¦vk íì»ãïµø4Bÿà…aPþI Xdæ–Ø}¡SP®aàAë²B±A*†»0‰ y-U0ŠéÖ=JFKiÔ5@0/§w“uß÷ÑÈÀ/[U«Á×€~D!™íö9rÆÇòFƒ öË]Ø¥ÔmõP! Ày}s‡¡‰FCOhÔ¼'õÊå)V²O«½VyPBPmD¡¢ô|ð/Óý#ë±ä?ö©v!«x~Íj/ªƒ3å${.TÔškkÇâðIÖ ƒå¢ ÄFÂ+=z™Ô(H˜ârÅКZ Ÿa‚LÕÓ1tCÕÈ9šÎ+%ùÖòe.à6‚O³ß¼zoÍĪ6–Qî,+Ý®ñJHŠÁL¨¸ÿ&ÏÀ:ŽJ8´ûBÕ f3%vǦˆ4Hj¯˜U}ÚcÙŠu´°\08KÇXr¬ ¾š3¸>a. ©«%¡ ¢ Ó¿ÚÅo÷Fqõš‘77Õ™ r†%Á¸ÑÇÑ_¹º+Re’I.9‰½Nùàœ¸ pªœîMAˆ‰6Q!ôÜékIkâ­QBì0·?°ñ˜=<}rçóÕ4ðSw¨}è%,IEºþ_W¦0ÅEOi6~‹šã"ÓiIý@ç'9.ex7½s43|M}…&ƒÎéoaÖíXw¯¡ê3Ç,FkÍ«?„­Utœø Ñ€5f¿u?™:0\èSáÍûMͨÊýeîæü°4G d¤ÄÈ*iL€œ4ƒºØù ³Üa:Mw樤lñq>28Î.A§Ÿ^ÃÖûò=𫨾n·…ÃäqÍ·àðD¶þ¡'þ§…"cJÇ2²Û¦ÌCê|¯ºö¾¨•l\!1Áاfvîq£Šû±^ÜñDŸäËš$ºBïäBAÚêÖÆpþ Z&Ÿ?™ÓªŽ¼¸ÎTÕœÈkû…$D…¢S”†‘+ßTnÀ2?¢)«Æ”‚4 U“—²ÕŒ”5L"6ðŸÀ ðŸ‰1>b ¦cî­]»çò0Mõ? g›t9K†^ãÃx›s‰*|ŽŽŽúÐm¼`[n>ˆëÒ",?ã\ÀÎU¶âÛNÀ•Õ?꾚ý劆ð¨¯FÐÊãFuöé šGëŸÞe‚™nËÑm6G¸ ¹¡Îíßõ—.†Žõ…hb¬þ_qb5 q‹ÍÙÓ¹z?4³@ê-?b…×€)Ú‰¯ Ðߦx‡ *óde{0HÙŒàëñ™Ú®i Y_'N Z±$*0PïµojT—ßÍy™ßo“7M˜ÔÁŒPˆ'9N²Aé5NO¶óƒ @b­ž#,³Åš|’E(Ø])šzܸô<&KÁE„Ô¨G%ÌïxAÅë£ìÞú-‚u¹-­÷c¼KÍæZ71ùöüZ`Dã@5SœÞ¢>Þ‚ÑÕ2KjÐETJô¸”hà²-÷·þ½°k"§!/d: óUw^tÅ„ÛaÌkøv½ ˜í<>whû¶aEŧBׄæm±bËT¥Zèbñ¥†¬[xãӥʯë¿#¦ éš{Ê¢X#ry_´dìÖ¡EÅòPÝ0vÞø¡ÒüGa5¶ìÓJ¹À¥ôD°å›EH§¹ê£]>…`ŸÝ1»ÉµçŒ@ö{>sdŒ2æ ~~·%]Ä{{¹#|ÚDw*T‹2`¬ŸŽp¾¥’£àÂgTñ„¯#l€çS¦¤`~àt?ìHyW1€B²8¶*¡ôt›’ÍX‹‰¡Œ;ÕÝ$m¨§,ª‰ZÓwIU•œ‡’PÊd̤(¡óÌôêLØfV'÷g<Åþ¾*«¸™4‚ ã‚b‰vyô• )\­pSÛTZØqÕÊS¾?U6ôƯ©o"ÿL÷÷Ái3P÷Fú•߯€#üÞ¿íþŠÆ;ÝÇjæËûö;‰íNÄÂ-«¹9H+²˜Õ„èøC{;̦±M†»±˜ÀKú²DM7,Œ.#°~G3™dñÆð!Î[)Çñ–¦çáRÂùœf¥œO“y˜ÚÝ\°–@Ùd†W¬m:u+eÊ 3L¼w•©^Éêê¶¿+¾”áëÄ‹JÉËH¯a~v<ý“]Ptù"§5íÀ+=Ú¿pX÷’¬\C[µ |VH/\‚´’Gôµ¬ˆŒùÌ[¿[bÏŠ¤dõ›q4}ùnøVãµí—VT·,)<wN wG(µ7, e'È‘¤êÙ‘Ad[;©ðŠý¸$xKë¨IIPÙ¬ Æk;¥ÞùjïÉ£åÈè[”^œÞˆtú;ìе漕´…(x(ÙùÐeÿ…ß·R´ÛÊešP=õî’ÔˆPõÔŽŠc‚(„ê>)mþ²§Òa ÐGßÛoÍËHò(…™M$Ú1zíLé vÎX<`éåx±¦Xi›› ¤=\LFÕW<Ê Š¢·Ì®ÈxcRüNï¡"rÈí¯ñA‘³„žÐl«ö’É:%FrlŽÃØc"À,3Ê@?„fí;ïÞº°ÙÐ'&O?W‰®2Ü=ÞÛÈJ_O×3½Çþ2^±X^ˆ6çGY©ÊI¿±W‚¶P5Mv”ymN[ߦŭqwŠmüU‘½óÊo(ž‚÷to`ëjÑý˜O>ByUËlsþn«„t,ÖÞlðÖ¹K›™ª]‚m›ªêÔ<±Ùñ²¡›âò8’Æ& : õÙ¹Ñóû(°_¤}MO²PYËôÅ SÁ¼·ÆaнšßrÕP¥"Ájìñt‡³=­ÆQ.Ørx\à*l38ñ…†"W–±û«ºÑÈN›MÅ‘ûy“4¹’©ó¿«ÅVÝcD £{Þo ØCKîÅö>‘˦‘q­ËÌ}DN2–Ð|â,lva ¬ú¨ûk K{ÜÏzœ?R⼪ðwäÀÖV‰2t3;Ž}·8µQý¯^$C4±á &*ü{'Çó-TÜv|lפ’.]@sx(^_L¥ÙQžµ;-{˜˜žž^ŸHjuþ¶ë̹€ŒdÇäðO_öÇ Íä_ È[wn`½KÏÛext* mbÅòÓ7é“÷ÿíç3ê½³ü§±|‰W‚þëU»ô*b4±ÈI¼¢KC¦©&xHr ‡¡—aºYó¼½ÔgÌpͦµNüÙ„ 5î䙕@_ê®Òö,9õoŒ ¯ˆjR1\>,zp’ŽžÈ€Œý¢Ë%rh¸hÑò€+âz&ƒ ¶8=ô";–²õbÜ‹˜íœà ú0ZF³“uO¸‰^œÍänÞ¤Ÿ­ì&Öíå›/•§0¡®¸Û3ÞçQ+±lÉõE9®El=ˤrØ6W¨é(ùGRð;Ô®Q =v í@?å\Ô gޮ坡~„úæFE{+×j!ººÖ³áße9s¦æÖ•SIÍe†bêýÑÜô软‘¡I¦Eñï8ŽÎP/TЈì#ð'£>Î&FsC… m˜™ÜT0+Ö”¤’ƒ­èKš9S6ªhÂÁVv±Ùò$ò,¨£i¿^©Ö¹¾•|ÊØ(ɆíØ"—j¯¡47h2·´÷>dpÁ 4.z;Ä8WÚáñcºfd¡·5 @7ŒG{ý¡‹ðB!5² ¹ñê-•Êœð¹=ž/JÃo6še€.ÿJm—_¶@*®Íp£_Üøƒ»T ­ãÊÏíDß©>ÜIQ”<½ o"£‚.%ª ñ|ú7neíÏï·‘¯e3Ô_G/C÷ëÖ‰Pó¬ªÃ¦ÃÊúªPIP%*èõà&!Ø–¥%§ýß3׬õwVj;Xšùö_üç¼7csüWÇ :\Ü š6éR »©méEm´-:ž2Š£tjºkGãNN }sË êÞgcÿ¿´X4Á†Ñ©³ˆëÙLÅþAƟæññج޵1F'Wù¦y¶ ~à WŒŸ°&‡Ì#‰dú竹0}¦Ön¸¯ê ÙíçÌõ*F_CûiLÛj&±ZµÒxª:£:ˆobXËíQG£·e-fB&ÿi£hÜO2E€büà¶Î€Ûüì²s˜‘5í}­FëÐvÅ=úÔ=÷œ ビw8ŒÕ›ž'ÏêrÈÆÜU¸v{ÝÚU–/µ¼Q¾¥l-×ë$¦BœËkLġǞ»þß~X cE¿IY|9‹Ì BœIœµ‰3ò½À)m?;R½^à͵ÿÚ+O½V‰fTá½î}æ¶——Q˜§Ò‰în¥þY²çšÊûoâ k=kA‚^J¶,®ã­®MT¾ª°•©3{¶ê%·„"¸Âå·;îƒ4Âß„GÍõ»*Ã’^¬ÃhàßàAWjɉ@WuPÄ–):óMŸ]ã#9˜®* É–÷DÖ'CÄ])Ó/-v¬™NZþ¤kÈLò‚ÚåXß0tD“³INY›(7Süc™Lš8È­÷Á¢Ä]ÚK<%X²^h‰˜„¨1‹dµ·¦®Ä{d-গÓI]µ’Êk>«îHøÎÄÚê@äc<¾p¡Çn®#FlW ¤m ­ˆycä_-ò<&‰,@ÓLâöLÏhponË ØËB©Ë{P:À'†ì|ÞżF‘B}ZzÎ)0P£ø ò÷šúÉZ‚ÛÛ+µëJ±Ç\W ˾–ª6ÑÚ£ÇÈÁåsš²fW@w‡ÐYï¸94CÙádá«{*¨Göì‘®·7V™õ‘©ú«˜°6GlÉ+%΀ÌÐâ~껕s96²bSPK#¿o,uúÜ"yèÏä7Ž÷‹ÓÚà^o»ä^Ñ-eÀóç.Ýé¢ ´>¢çJäû’:eFHèÐr­Èg+ŒuIf3fyŸ’ïP- AE{ln— ú°>¼ø«Éo#ë‚bÛ!’2®=%‡D-Vš±=n·Ñ ’]»nŒ[Ë$0BIëéþCLÏ\¤(2Çe®ª¨£ÍÒÆÿ 'QÛŒ°E¸Ðù¢ÑŽç• \›´ÚÃÿŸÎPGø} ‡½dœwc‰Ve]™/#/Uñ€å„23æÅ v“&`a†\·´´|Œ,0Û|òwãœ^‚¦E”,Æ7?n6Žtºö(£n¶¨Ñáš~‚S°‡UÕ5Ϊxɶi»MD¸wšD¤Å 3LÍ忯,j¯¦ñ™tI…ŒÐ&²MUøÙ¤¢§~ºã«›€9Á%eÄ´ÎV1ìdÎ× ß4õ¥>¡G•%«ŽÙ7©£Q—cGú›gDH6l÷q]#áPñ377ÞbmMI:C™J£˜†âbŠ$:~ÑDÆ”@*ô<€\s­"Ö˜—º<у[/KèI”¤l·æe™ˆi Ô©-wÖ‹£E¥^i*9¶–ÖÎkУ‡ hDøC<œø´¶õA¬ÿšF*æCi3óÆüwE¹îX =á ŠânŽÈþR  Lt¸h©â”ØQ Š–?qDS‹Žk®ú~äŽ÷”1ý¥¶Ðm§‡¯¡6Ûq`ÈÍ"ÆLÁߤšä¤ö}‚®­@`ìÐzšÇÉÌ?Â{gbY]P;k|N{n¤€œ.fu²/ÅïˆbÕkå[á[xÙøuZâ_H~¾ gp'­ðÕá⪷¤ ï¤Mé»þïø^Ÿ¤ë¸y”Ñs–ËÛ(×v-Y ¶-qFÑ$éMÜ='ý£¸#ë\måNIZ§5ô“ôÏxÀ·\¶:ŽE¨ôéálí‚F¿*›(×zH§ÝôGL*Ë ˜î™ìÙ“¹½tCø•·fmÏ Ü¢Ã¢õtò¨l&ˆƒU’S¹ü$FÃ'`äãœûYÅ¢EKã<1 èêa6i& ýP8{/Ìôvð·Ï°ä–ä‹…ú´%‹ÎN'Œç)c"‹ñD«ÜjôvèW¸Sõ"ÜS˜K¡·ýõÒ~„óNN•f§eo›Èì'\×^u3ÿŠƒEl鳬˜söˆæ©w¤—Ãô”ßb*•ÉíL¨¨í9½!gùpzÚÇ ðÞ …jìËÂ=¶ MJÞ†Íý/ÜÆ*o¼Ìë·.ÈaßñŽ\VȰ¨$!ز‚ÑJ-| ¿ƒ¹Už8aõì]]HƒÃU”w-àGð@× ´%=!ÇJ—ÀÖ·ç’ŠUAuT•9£K›’L„Fë§R̈þD÷ê¸õ«GµO:úlG€u¸ÊÑŽ-ä{Gú÷[Ͱºž;)Þ‡¿fFOüpCÄ÷¼w¼Y©Ruºrq[&§~5>´½hv®xœó;r„ˆPt¬ ð‰“ä¢&z†|mâ#ÔËòUÁ8 ˜¤t´É µ»VjZçÉrÊÑA9dib©·—7´VÛrt™ A›RÌI‘¶ ¨¿ÎzÚѤî`%ÍxȰnD¬#yfs噟’GµÚ!£§E‰2+¿8= ÖILTr½§øõ;±âí/ Ö’úÞðx„œÖ}| )0€ÚSåÙMµ«4«ºÊ¨ëP ÄxM ³ò]ç§RõÜô÷úÌàaèÔNªCÅ*g bëñm¥’=·k'ZógcVææi«0ÛÓVT\Z×›ª$.Ò­ypD£Â"›’5°ÖlmúÞ»·‚³—Mp{yÚc Âlìír`]†@Ê;„*ŒKÇ5R¬ ©à}6þ%wYj~„!šÙ~½+ÈàNº¹±Œc[ úGìÌ:‡éÌ@švüírÅ/m0²›Y…tÔþŽõúÛðTœÔS©JËe&s==«tÁçÇ¡kHÉ¡µAÓÌ䕯[Æ'rI&ܰü¬­ëôëS‹ï\r¥aíá†ÁCDu¸²¦g€³·-žÖíc|4mþÀ…ÐàK.޶«p¹t©ø.Wkv¹zÖ¦e/hý¹«¸H¿­Ž†¼C¿ÿå­ÃÛty, '10/æ|€5ZzNåyy‡tÆ­ð¯“=; ^ǯ¯Þ¤AÚ¥ëèR"Õ—ô0ší¤\Lx[À$°°£´[‹"êí (VÖ+g)aùÚæôì¯ ÔúgCQÌTÖN”Ùr%®FÊ6‘¥QGkš 9—ïQf®~£3"øÉÌDBÒo*tf ?W0Ìýj½;ð.ößîÖ2Ç€¢PæyŒrWgøKeYý.—q¤AÔlž$ÛB–øù=?ìæ?ÓÉ*4e*ó6dT'¬­ØÅ#ZÙvѱPìÔGÆûn_¿ØÔC0¢.-,<Â0ì7K¾ žT‘ˆáF’G²R"Ža/ÁVưn[B?ÇçÑó¬Q]vÆïTJjk÷Êsº”hl‡Žud >Ì<¢A.Ž­' "&P»d·u»+Á†éx;ÊôB¾ÊûöCgÛ5¾Ô§Y“ᑜ½ëÃxßóâMéû BH¼´%@8[êÅ¢¸í—:èŒ!þÿñp…N~=¤¡‘q·˜|å1÷y8nÓ"-ø‰s)úM_Yã³î œi–aΩ؀ÁãoÅXÒøCùü#É8 ÔÀ:x’‡ºW\ã”0†!*=t ±qÞË‘}ä ©“P´wÒïä¶D¼ÝØ-ýi, ?Oxs½Î\>šÄ”Q©pZšÒtTÉ6ÀÕi±À B¿%SR.M¥êrÈr~'[|A¥–ÖÒr†CàªÂ§£õ ÇÞäêsyægOOcµm6¹ÑÇá!ââƒ^0d6"¯_( ¯2O¹ G(Ùk¹;cs(³`˜³ø# ï6³”êŒ\2jbˆÔ¢/Óoúð’qÓ¬qOïýYÐC5pV>|D¨p!hã|qã=ÀÔ@Ö‘ç¬9ÁÈÉ.Q@[µN™ÆI¨¿h"ó„Q2y.3šûU. È´2†kGA œ»i"w?] |nhz ®š<|±Á»K¼—ÉVз«O[® £N/ ¸âáèW×Þ¼½‚Tµ¶Wn@,LÁr8õÒÎ~šü0éæèaÊüµ{ÎÑæß Å"“ñe$Ý"×™‡8ü{Æb>¯UÞø8î½Vøñâ;¼¿ÇeÁ'+ñÊý hëC¢¬<®ýÄÏ á D¦¨Ø<¯IèV”R\®}lC“hSùð­ö0Fäѹ,¿ Î,à0¼ãBÜgŠñK'«•ùCB¯¿ü‘A‡Ó^Ìš..$9†yþñœ€¨Ý›;Ý›®1µLs Z¥Ò®([)T²8Í›rÚ%òÊ9/º×€, ~ ¹6ëLÃ%§‹œj+ïC>¦¼ƒƒ¾\ö1÷6@X« áœjšKã½…£Lµ£yâÒ²Ðÿ;†ä µŸ×¶ Äâ’O3õ|z®‹uE)P´ù| âã-þÚ`™¥ÎÊ«UBе'=ä1VC;Á£…–žéëë•ñ¨ éh÷ðàÇzC5ŽjJîC‰Eh=LÔ¨QïYšYåðè´½8º'´¦Ö"ÉÖr#t-áÇÁcY&áϬ¢‡hsr# ª.û„g>\šy CÛ55„Ì<„CÎm±ÜâŒþ¸ùqbò¼ª‚Os üÉ’Û`7MœÝúËK@ÑÀb»t)™ûEó„òÌ#Ç+‰äìEÔËaÄN!5ý —ÿèdO͙֬S »w9ÇÆÆÔeÊP7…ï=õÔœ¤ìèO–¢¡}¬tO°zðŠ/xêñKµ;d˜oQ_À†Ü *æwÆ'ÀÇ.®öØNSÂûÖOhà) Üü#Mõ°®ÈœéêLßñIÌŸ¡ÊŇW¾¢”BÁŠƒN{æ 2%£#[uh¢w_‡W 5|âõ:N¹>ôNw|ñÖ’Òü¸RÑ`å› õ—˜²Óc«ZµÆ%úC-ÓWå¹û2&À„è#£4/chQ­Íñ‚s˜¥´O;€Âöö‰>ŒÏ-PÅø­ïKaª¨4=—‘d³ 5L¶¾*ÌDvsT±TXºUñ·±3åϾöÿºTû)râvj®T;ámH¬jؾv 4¦ä»ðU]ô¶uRtzîcÄÛ8Ê’11šß—ð®` rß$zµ&T e°ç5•<@œ.¼"ðW7þ¤¯ ûâÛŽ¥ßüÞuÇ̺IM¶ZÇÉ]µMBxÚ4ÊVú]ãºXê|Ö)™Þ&ö^øð‚la¥ÞdPß×Hš ÏÔÇÂÏ¥ðtüµt¦ïq^ëŠëìZ@s<ñ²äS©=Yø¶°À5–-e‚°(S^ø¤µLŽa7?PY wØ+V­\ʸÌuœD&×qwƒµP! Kß~º Öm:âîÕáJ7³d£Æ¡k¸çŠÊk8&~êèIŒž FWm]¹w䫤ӯ÷CôdÔÖµÛ2ž6åóÝÊç£B€Ó*#e“ÿ”L‚xèeê¿{þïM•äC´>‡f±J°ý,½j-‚ú¨‡Áb·q½ïrçÇ‚-¨Ë÷Fîð‘zJímÀ¹ï¯ëæ³Ì…‘I^m÷ê]cZ&«Ÿ‡xëÃPh~'´¬­þ?2Y¬êr\š ïõÊ`¾Å¤pAåà© W_áÒþ£¹=Ù®‡AØÁ„ꈘå¡ÒxRx¼;Ï]Nì¨ýÖ#~È š€y§÷K!-ÿ¾bj‘ÝDæ‰Ù#8á?¤Ãƒ1ä€ÍQ—Às›õŸÍ3ìáNÜ»þ‹½öPw&˜ÊhA‹> a 6þ/q±˜8iÎY‹¼å޲ñÎV†¬ãŒ 5dšî«¡Õ¿W1éî·ˆXղƕ }UˆGs&ªå³•úÑOHtpi\ì~¬!߀Ѣ×{³ŠIŸù:çsc±šqëSƒ>ÊtºV_!éðoÜh°¶ [w†$‘‡5'¨>—'§ÓÖ¾ñ» ‡ÚØÿ?y6ôºúº%-â÷š‡ ¸qð<ù¥`xʸ}På§Si‹‹=ÏË7Õ4ëm³ªûv·†&Ø3<ö_4·'¥æ?Ñ^Î.Á ÁE[öåÔ:6X|G0‘G¾\Ž>q1pI¢Mv—Q8£*wH³àÐÈ-³Sƒ?wÖÈ Ùå/û%¢bËØVsÍçf®÷ç™+"‡ýì{X‰ïuêÄ¢Ÿx2ì}gõrÍù¯Ž!*v[8Î]\OæJ”#B©8‹´üˆ‡[q äƒ8Îo›€eŠ`£‡ò….Ígòƒ_'œ/pœŒw³:núð×mjÛøðÊxë×%Û.õxí¡1I%Å“û·…©¼dŒúüx:L„[Px÷…8)².zTÁËòÂàû¼žÿ‰ŸºîæE$Xü´‹ÙÁõñux(/fÝÍ‚H½p’‰PzmÛÊß§Ê¡=§ä…çåEø¤hÖRmk/TtïõÇ<ŠB!ëë¯ôf'º¤ØIðö€'‡ æ-Úo7än‘5†TÏ_>ñ*4Ýsëjyßð“ k áhÛ‰Aç­óqDIÂ!sMîBo E’ÙØA@»ül;ŽT• ÷[>^9{G jÉЮe5‚¯1ÆRn¬ÜÀËÒz¯¿»ÅS(–­.]6Š·rKª{`wÖu8'7 ø‘Éç —XÊ5c›8ãl+è`êj”±ûD$›¾ÔmË€¤,XÐÜ•{Š6óCcU‹'S£=ÀbÊÍêŽÔ¤m'±o9¬H#ôë\p44÷Ù$¤ãéX&&Œ äɳF–ß ¿¯Ñ2ìaÖ²èÂÇ¡ ˆKkÕã8Y[h·È+¢¨FøE : mõt†3z/15Zÿ nHêÍñ¥M½|:ƒ%ÚY+Í¥µˆÊ¹×•vp¥¨<6.©ÈA¦!XØWx,EHЯtJ›•0X(ÐÎÃòèŽ“Ž“ïB½p¾RmǤ:%fÚd¹§ö D·é–Š7‰KÛQÓX¿§¼J^¨kYã1Ìò ýåaþi”3ÉüáuSAêr¶R&°”_mÍÛ »—a›'bÛ’5ù¨Aöy¹¨²ôS„üK k…«JcŽXÒ«Êô x[¿0{sŒ›h¥dÃù6ïq]D/™ã"þ1~z+ÁKr©|WqŽyωæa‰ ~ÜÌÓr‹ØyëI0#Ãþ™Àh­t(EAS ÍÜ€.™œø2ˆ…²ÑÈö|OŒê€–S®à=»ÅLÝò–^Ç¿YZ‘n[*0(ìø“2æÁVþ<Š8ñ¯?J_2è÷ÚÜ6áb ë©{Ø61¿º‘)µF~jgTÈÚ׋íYírpá„ »ï8þÈùrÒó¸aØ”`ÊpCH>ËËâȬùh0ZBM„“»}„„õ¨â±Ƽê%>ésW]Ÿ«q²r¢â ¥[ø‹0 ªàqùe®÷»}±1賉òäH”–ÊÞ<éÊV]ýòz†ƒ'—:¡lð¡Ëµ("c¤|iSȸ)›±lÁÅK•sØô\µ%/Q§`ÉÊ íd Èx dj®oÝäßN$®é‰ýæhæ5ä¹X¡ò± wÀ É‹ý¢‹ŸjòRB‚í>ÚÍ×dßé‰AØ^ëq­_Ò‡éüÁÈœ„wƒºaô=È0ÿ=Ñ—ÕŠÙ¦–iïÍE‰sî@”òß”’dgÌBǯ„nŒ;]ëüHÿ^GÓÔlþnVïšIó*)Aõ[Ìpló<®u $§½‡]ãg5)ŽVòä§ùåÓ ¹V<±Oj"h~ú§D¦ïœ-|‹·Jå-Ö€Z  C¼Óµ =Õq9N™èû²°Ø”€¦—‰.æ\ÀAÑBWø+ÝËŠËõ±»ôaa•Ûâý 1RBîÚƒD@Jr‹¼ßϧ¨§§õÛG³0Pž¨ÍWî9À&NùŽª#0Ja‘3*¡S®·«P^!«å )gß²8ÜŒ•]b#^¾ý_3„dc› DV`È#þW¢ºL`ÈETÕž2'&–~å~Ì×<à,`MJÒñeÀK<»³í¤kI#’ä™áÛ®Âù±ª©u€Ar*HÀÄÿÒBǹo»}’™y‘t-£^©o‘‚û¯Ár]úhL§zÜÀJ#Ñj®…iFÿ÷ø8»¼N7^Lõx§å¨’Ò;Wð",Iö`31¢Ëƒš g ¦mÐf5S„ÇòõrÑPͽ¯ÉO¾/ëÆõÈ­Î,|ŽèMeù¬hfUæ%5ñßî;,[꿈,¤r¶(k(õ³àÛŒ#ÜZŠ›QÃÒgZ5ëØÀŽêü.ËUdtܤðÂõê5äïI§ZÑk2sæò èzìÓœËç8ÚœÖ)òOQvÏÂX m­/+b&Z6äy©#®ÿìð{J×ÓCZ_³Öõ®‚¡ošÍ/_boTôÉ?°÷ ç#kEËÍãx`¬ŒíËz?ÝœùoM27: †í'û&i<*›ÃÁ´ð”2-cÍ[ˆ8~/ÌÁ`œŸ(xˆCÇ-΄c¥”Wùú?OÝ\±CÇ':E¤Œ…®¿Xn —Ï@.…{ŽP†Ä䂪zÕ‹%†4EÒ–Ëx»· æå¨¦_§—î™{z•;Ê­Aî—&öpÕ®ÈPŽ:½rye¶«`^—ûþöšÏeâè»ñp6ÐcÝ›r-1]™µª&´ x1Ë]ý<®²=­n]“ÇиÑ&ïäþñ\6\²Í÷Фj££ùƒ€,ü•x—â×Ęþ2O¾Ê¥ eïÿ£Åê uï3¿NMcRТi­¦€—Š¢P-ðÌ/ÃׇáJ@ý5ÚÃÀÚ€²6õ¸‚ë¸xéGûϱõ †³ÞtØ^ì6sð‘¾÷wÔ­Å»\˸!<·ÇÏÍg¸µIãD kÌW»,¤PÓ¤â€Ís!¼yÏ"»AÃùò7&³ü×M¬™ˆÌÊ;ËÆg8|hKÆØ+ Ép=Eý±¹·"8@‡øðô<νք¾ Þ3ô¸ùÖÀ€QÆE¥ŽËÿùÀ‹ Úûõ»­.½’þŽ×h£éî„Ý®vè4†…ÄK:÷Èmhà­dÞ ]|Á•l؉ORðâ› ÜÄiút}ÈŸ•w#5…R¬?Û@Ø& å˽ãï•xtÓc/µ’–n3w‰RTm^hY¸Þq5¼õ11ã²@8L‰‰áhÆÝ¬A°îѰ/ÝhÈN’0ö«‹Ì°X’RÊ–ý«A÷&X§‹›üŒõ€‡Ííªã’’ÓI½,—Jžž¸¹‡BX[ÐáBÜ·ÝÍ£Õ¼›riLѱôþg¤hpÏ0­œiøñ¡²<Õ× u&Qª=ãÌètÂÓŽÇg¸/“D 8–›T? ßK¥K;%CÛ¯ À¸‰Ë¿`Š+åÇpL¡óU²qáÓH‹3SþýÚÉýˆ—~—kHx)–1dùG>ðÀ_Ìaª1-z;Ö®”gß}æ´4¦WØø*Ûãd¢Rv¯´yŸ-À1çÌ¢Ã߆õ^vþ‡=éÂÌíqêÜbhôƆcýÔ  é]ëÝ úû _¦>Öúp%RA”|±L"¡lÜ•_;Ši*µiõ®š6’k܇ÌJõ›h1щdßÚöšòžgÝ•Ð+÷‰÷~‡…KYqiF+ÄVèw‘^pj8UA¥ê~íhkÜÄäTí_‚F¬Þ:ঞXZÿ=lTögëC·%ª\Ä}âXÕ6¾s„dÿ“f;ךer逸±ƒ'¨˜sé;޼Ÿs~qYΪb@«Žrþ»G8ÏM(*5¶›ü.Ý?H²2QdíØ}!Ÿß©ö~½·(Ô• ]¸ ÐlV•óXS¹Öñt~ùés$KâDuº0‚dgÔs›+â-!ôDY±9ðxpö9¢,N{~Sçx­~…Ùh«J)èÙ¹I‡+i5øÐ>Âó¾è3Z­ñ%ÔF”jÏw”!BUµbÞ´S¾±ùAŒu}‚Öæ4íßDÔ&Y‚(¹d“86}×õÊT:Ö_þ\øN¶žØSnF$vy<Þ§ÿ‚|ê¨ ñHÜä8ßX‡îðÎÜ^Èá/…Ù '±›­›FiKgÀQˉÅkÎHÃÝG¯K¾Q¡J`»Ÿ7?úKdè½v¹¥„á?ȃíE¥uC­_]ýQa'b¼æ/’?*ÝLp4¤ª€ÓmBsÛ€÷êã@9^m1ôšÍC$Ì+OšVC½^.;=ãûÖr»÷UOj| »18”N5§šôìNÄjRó– °oñE@Z×J4//¼¢¬òï«2-¹ØÚåÙ«: Uó0-`VÉàt–së9¸jxn#·k»!›ŠÙ×tzì>™‘gQ%Ršèî †tçGJ<ñcóîͨæC%®¤U|©=´Ýá5èf9ñ©õÕ§ÂfA€¿¹ììŸÚ]2à¶óö4¼±Øþÿב9ËkÄg4v»Duã©Z¦jÝrô•'PÉ(T¸Ç¤>I:½¬°×ó.ņ.­zÕéŽìPšRjý“^²J3¥É¿½8 ‰×eÓXüirëR¤.èÐä-—²bXqÝ’Ë(Œç}¿äÁY?ˆÿ÷ÑäI9C”ù§/O®mYÖm³ŒWâääÁ휨î({hUllqp’Šü”«´Še¥Ê¡IÔ•õE­×}܈'Göz_ák:HÝ®Èιâ9ÚS…¢­Âçý§¡\þ|,Æö ó G®9x¢·B–‚±k:Œ‡ñxCƒ@NƒÃïØhÿWGí¨™§§,Û«ýùžÀ§n `M‘džÎ‘ÉAø2|'£$XÐP“ÄàAj¸Ð,âÂÈA—!Q8 Uؘœœ9³òfƒP+à#ކbp)‹B7ÉЀB’í3ïnç2ÏëµÌÀ!w l‡ÀOæ…šëõ#ý…Çòaîüs4=1ÀsåT/ëç=îÍš7eø³òX’Å~—¥ïD‰ÈYé—Œij±?efìÃM¸ëM|ÏÕ=Äãç¥ g?\}`-—Ü? þ§þO,3è1%:þTÃjÐSÀ"3LOWJ«¥M žŸ´Wuó¶÷Dã¹2]ß½o[¸C­¦ñ"¿Æ¹Cíh2Dvæ´ÔÀ‚e´Vžµ–¨„ÌHµ}¤ƒ‘áäÒ Í·ZcáÀI7ˆñšÈ†O°k¹‘TéD•'[G¤íÜŠwO÷H9®û>fÇâ\åMÊÁÃ#$¥æuh–EiGJ–²´R—3¾Í©  Rv kÖ »þ•TH{<`ÐbMçÉy™Z6È;4×Ì1l¨’ft~xæ>¨-Љì$Pùœ¨¶-%^šøµeva$„.åé0lS‰÷ÚÀlFx'·«Li^ ô+a)©Î™{Íñø8ýì˜ówÎ vßÌиãÒ ®²ØŸs/ÇÏÂE—ꉺ2I„ DÉ ñ`ã=¢àÉQ‰C,G}`†QRE«3N`¦Fl(¢%x+·‰«ôŠ ¹¸ï5…ߤ­.J5`Ñ>`ûo#?¶>¤è/½]zý±Jr¶Veh}-\÷ ¬þ9rvõ¯=uÜúúI/;ü®mû±‰ºtÍvô˜†RäQý÷æ#5v$ò9ßT\­dÁ¥Ï#­½œzâ$ßÅ=dšq»ªâîi<&‘ ÕÞYþeV•ï\£oØŸrÍ)–$¤_@/QY Am˜T­.$b?7Ræ4÷v¡§KšèA,;æÆ‰7>¡û-;iB8CØgÛþ`¢Â±ß÷ßåÈân»Õ0>õ’3»Hžòçù´/WðÅo#m·ü‹²0q¸¢÷ÑïTìê±µÒ ¡Ím÷V§Ýý`µŽÔu;.õû²M`7XW`²=!H`‘ÊŒf¡Å›xŒ F;R](|ÅöÜÈ» Lÿ?;L@t!fÚ‹k›}dÒ™~Ç©€l¼²¿Ã!D~)ʬ‡‚ŸõÒ­F÷[@N¬>q¶&žÔp=¹†æ;ö’¸/¿F9’«|mîú¬õ–iô}»×]]¼ˆÍB_¢ Ø3ñNÝMšI®ˆ±w;å¦Ö7, [YÿÓŒ¡1®Ôúc+Ñ>^``C/^Mäè‘–’ƒ¼w¹t­Â*j—0Þ*EA}|•5žZðq!×ýU‹ÒïbÓ9jS?øhÉ¥|Eçí#Ã@’àR[ŠÃÉD®ãàd…Ïô× 'ñ«Ü;cŒ]* Êë"ì˽K+€º°~ãÌð;lúFÖ²kX­;u¹Õ½rïˆL®‘ΞŽô¤Æ³9 ýC¦¸˜5»qX£CÖ·IVÝÐOc$&lš5¢m4ö]Õûפ͸I:^b!ÖÍ[~±¡— Àj·ˆÁiàÂ'êì\Í!„ß²) ÷šÈ³j¥›$ò…8Ãòõ—x’¼¯$ô¡Ü*¥kÕÚÝýkÝ "ìã¢ã§QÓ9qÇ'þ{ÇzZ~*:Â'—-Ò9ëtùFxþúÒ)ެo»†µçCËz¨‰BG¦l®ŽÄÿч?Z{%þžH³Å͛ǭ)s[ªMóˆ’ÓÞ„"+¥‰ÛŸž rJ¶’û`¡ )8ðÇ›9žXÜQý †ý=•îÄa‡!ðÜkIuæaÂpàh 9Ói[µŸHO`%Eõ–ÚxÎS±)7';dÎ9Ì$;Ï!ëfy›à:ÿ´³™ú0›( ò^¬­XL=³SýsÝ ÈyÙâ­‰¤ºo«ýeÉ,aû÷Ì”ˆ~y»pæ¯9¼SuÆ“ÁÛÐß1#m!B*M¬ÃmR”ÙºG.k‘¢ÇûmX—[~(£_ §¿¶ì(éYM|(ý—ȯ4rÏŒ¢X^ à”Àü°™„Ðëïu:ò‹IE.ÂÈÙüíãÁú.)Ø¢ƒ|aHÇ‘ÚÆñÈ´¶¾‚¸ ™u01ãÐ.¿¿M1»2÷çݵÌ@§´Š©‰ͺ,T £Ñ­çD]â€NxG –¡IËÑêóÍ˸t§Ìi»»¯¶j¡ø%½[¹z˜~þiIµ¤¥ûŒÝ’þ¥ŸÕöœT™Þþ^¼Ïð2;=—\„îíx-1\æ³Õ»·Á,7oÞ:M·œXœ1sS•HÌîvb¨n½ËÛ[óHµÕ›‡5 jó¢#!w-øÒ…­èöÁ»›.üÖýŸ¢ÁžçÅz ¥vTËuAzp˜’ƒž½¼ÈŸeøXbþì­kû¸Ê¶O¥Ã_‹ø4Ciª3«GZÑÐâWšàÜâ9ïu¡Hàef¥E§çƒÁÝ}:”m`ÂSÁÖ×yK+tGüôÔ \ªN㪭£Ñ–Œ“jê)ħsÓîHDðz@=™q”—¼wii33L¼»¥ÇGk©6ü² éómý?Ô«FÐh W©ßæ¯Uщ‡ñô&9qŸ¿·Ç›É7rs†!v°Ξ:£UY3ï§Clm›WÏ/ß&ö;0êZÅW/¸zÕã—ó™÷Þ§Q[ýp“*×qEl±ßuµ34±ƒ‹¥ú=u:ײX°Ç§%ƒ‰® ¢#BÓgWê3|’`‘ÀêÑ N¥($áhôjg×r!ÇÜ¡ˆõê×DnúÛRÓsŠ<:«lêE£Ì&/î‚gK šØÛÙùÕ`3yîy‰íÝ™”óKæ* }'Í8Γ6O‚g’G-¿Àœ4 0¹°ˆ>C¼6žâ” lÜ3T‡ŠÈu¼C†¿ËÍ€ðïÖ/¢%y\Ém¨§‘¤SSî=@^êA…CIn`MQÝBYkúo{5 }´ì"Ú¶æ|Þƒ’ rU×hˆ§ïVœÑp0ñr3“UeA¦ÄžprúñP,‚lÓOß+rÂVÃOMTD4Håþ%Í\_Áýö(Ý¢?b†öàºåÓ½’Šסý“­‹³³â‹á·NùŒ2ÄH·Í¦bh‘@‰ Gž|ýt/ÌmïÛ’¸—[nÒMi¼°K”ê§•Lc Y:œ ¡Æ[Nè’}Ä ±‡{à$™Þwà {0eB ÆÆ?°õÆßöÌHZ—¸Q2ïù˜(a—ÖŽºG¥\EX);ý)­¬ÅPÊý8 äJ¶ÂèGs˜“Ø'dçy!{NÛ«ºÎBˆéiNø\öôd´sWž¤%µ)ä?KuPƒZ Ç©ˆ1âBiëQ' Zø_ >C8 4¢,½EÄ`ebr°Ü°¼ÓòÀP‹=±ézÍån| ¸7gI-54Žch³ÖÀôÌaÕ3ѹ"·Kž¤5w0zY³ooÖSfãófå'äp +2 ® ûŽ6”!ð Ê̇9 :↲ænv G¿‘ëVh"?^k¾ì‚þyž_‰¦+7g0ÞCÆøq79‹C!X½q›•W€iÃMìÅe9œkÿ§Œ(ñDѺÃD–B ðCçÒê&»ß lÀ3ØøòˆÄï7!ýlÄì‡Æüÿü5NÁŒ[âÃ5@cƒ]|…§¬Kê5yõ;¡R*½jV€àjì ƒ5<¼fq˜Ü‡Ò»\8Ä®+üñ"qˆ½ ,·¶]x·út ÑÄ¢Å×”Z {©u‡à-8ÔAr9ɹ±ty¾LIÓ¤£¡RÏÒò÷38Êeª|»–~ü`'xÉÈl„ü¥” ¢~Ê©tÞ°3êt›´®|Ò$ÒûçŠ1®™<à 䫳é#’úm„3Ì*0|óñ_{â4,L4½ã\MEæ»ç.þŒ"HlÑÊVŸ_JÌ40ˆúѨ¯€Â~ŠàM×QoYëe[`dê^îí÷ëi%ŠG#ŸÊ^q¤m –w<œ79âFjÖ=?ë8ì¹PgËÀíaK•[aÞSåõâ>l…W“fØÕ›ý SÇ„\®œß1x~U6ŽS»­0ùø||ÆÔî'³óuR˜=îKuÑÔTéñþÐZ¥ÝÖ7¯̾tú¡úlø*mdè®Ð‰Qâù”ýóÏç ÞRPF©´ô½2+ѵ"µ/òã^;>šAöª¡ÞË¢µµá@ ¬ÙRM)Þñ4õ¬öÎŒý1Ø(4ZïoCçÊCÎ8E…ñŽTû0—ß®7ú…{Æ}/-°€¶§Å «#-Ú„×jŒðÛÓÓtÎøçî€Öê ^ëbx?ô¦lÀàÁÖ¥¶Æ)b^Ô4:.wèÞ#¸»Mäc£1”(…ÊòÜ–£ôúq †eS¹Ö9×ÑBú+î¢8âã†è@.ªÚ ÖØ°å[ £SÚÓX$ÇðÑc~)X…>¸eñ* £­ ½âJ` KíhˆxÜ%™6ÄåŽAýß¾y-9žˆ1U¾8Ünú¡ïÏìKËyª‚@}gÖ›7·ÊÐv-;1ªŸh.˜qàžâÊ&×t¦gM³Ëêb[6SµTÖqhª#÷“0ü·hü®rOô•Ÿgü@ן÷FfÉ#AÚ|‡LŠÈ|wÛÞ­Š9†<²Øj¥Ž(¬ÖR·³Î¬$ì>ëz›lCùò 0Ð}–.š“ÜI?%·x3”ôPr’(ž\Þ —ë-õ…5i¶šK½ݺډ‰¾ph) ™uÊ…‡6«µàM;]dµÒÐϵêE–åë}7¶ìeÎì¸FDæ_€þÚͲ >ž›Š %«8×–Á„DÀçc=åÏ￾½—-±Ä’›fl\ ZucZž3—Â,ô½‚Š_lõšR2&hÈÃ{×M—uŠùJ{â9{t’àEÄ!“sûá–¬JÅÉÐg„éœë@'5«J•QÚßÜŸ‡˜œ’µ¦cpŒ6%Îñš.’UsKm.µ¦"øï™z.È®žëÊÐc„)ÉÏX©˜üý'vLZg™’ë9ldžgFëÙ³û¿\?WÀ;6»ðP}jÊÞ—ÙD»Ò9G*@PYÑr²#û9”=#ÈŒ—zp-J¢®zn÷Ž#Õ4H¨õ6?wý‹Õ1Ež–jÏ¢þ/¨ç$IRÆú6€XìQ8?=Ò¦%)Î D55÷-q¸Ò2ƒ2®ÑÄÿóú èºFQ¨ãÍÑ–Òƒ9ØæVPË›¾è°¯a:Ðì_&ÂtG ›*kÂìûó‹¼pXXä­(DJÁéC*'-eº&ë£ô:hÝ߆£GÃv5yžåm¯€½=űÞüÍ7žõb«#t¼a•/Ó ­.öüÙöê‰b„yÙèký²7¶y{!?âꊭ`½„No0òÂbê½0ûnÜ…¤Im>¿öÀ%ËCÏõÚ÷$P 9ä!=±¹Q°šâJ§"”*³0À'ñê ÅUÀëÄÈ6&é@(F“(Ýwè‡S©y6ó¾WFcÔa Ø º €ïàÙ¹ã‚ä9 ¿–£ñŒFO“¾WÕyæHµ|å1"Z =Ÿùøoðd1ÿ9I¥ÈÈ„4™'1d NipXfçÏÄné{9³"¾ĹÿÝ~$Ùÿ`g§*7ÑÚé*ý9ýáÿº{ù¿›çA{ô\}{N) ŸRÔ(ÚüK 6KÇ|…ò© ó¨ˆÍŽ]üwpR¸übxôðõ8çÁt]ü&ψŸz¡k‰ Ùâ ‚×S6È#c·“!)¨zù&¥‰Á§ïÄŒ^ÿàpúA³ÿ¤k(åCâA’ýX`_ÄŽœA˜ØÊ-;ïë]´[›Š ñæ4Oó÷7åM ‚ÏÊ0Âü‘<Œ2÷ù–’™öDÝÒÅ‚ñÅ„d‹¥Q¥NöqÝÙJpêrør^Åý¼^M@ O¿­·{l óD­t½°Q[ußµ!#²ì2FM¬ùÉ`!¿¶3k X©9Rk+w€txÊ\gz×|õô€‰¢a n!È5âÁT†½eM 7R¾4V”ÁžhdÙ¤Õ² –<Üü˜aaff‹¢3sPݣр„©µ5´“U°bEšªµÏÂ<5PÅ©‚C(:†Rì»#³±kV’ö• SÐïêsvG$¿-Å2‰Ö¶ˆž#ØÌ¦Ž*j§ëeÞg¿c”eãùY’øǤñúõI$Å:ê"ƒ¢]vÊ“TÉ@ëÓÉ¿P†/’‘†.Œï†áWïfY%© ¯lAˆŒ2BL´s?ŽD³'ø¬c0ê4iüÝB—C¶3ïEÎ9 ýÁgëzôÞWï‰]6('Ôƒ»ŠOo0ŒMÃTŒhÐgÒ˜OµÎ’ ð¿g~M•Yw-]MSÉ–µ¾ ( ¢Ëž.r€íªÏÁ´ì„2Ù·¦1š¾8P2{ çov«uEes[¡˜’™{Ì ¹¤1ú’”™£(Æ;+q‘CW÷d›\åóͲv¿Nêqz2©)k-ùµL{O÷òƒÌ™µ´.į©<Õ–¿ež¹ò“UA Xh$Ìüý´â.`._é><_þ“èܽœâü¿›S¤öÉ ¬Qv¾Û€Õ]ºÛ~ŠÃ°–r¤scÊÎP²jé‹[Âaw<9ƒ€¯$Q`º1LÚ3ç[!AÒ²Ó‹%ø&‰ò× ÓªÅ¾ì\šµ:>ctóI Ó]ÍZUˆ‡þ6ˆèd–`L³ÿòTiûù8@^œ)|dêßøùæ`ì£w*º ,‹_“„ÝñùÝ@tÒT•Ûl~™“†Û•¦Nqä4¦¶¹ˆl¸¬Û6âšß‹s‚:2%3d]ÓS2€gH`v+ªQ}6Žõ~ïk²´æ›³öˆŠŽ„¥T¹ójßÏ”Nè|€zòEò‰¥È1è—™îNA±„2óŽ[¢¢k™vW’íb¥¦'”=µs®*£ãÕt¡tsê?QÆ—>9€‘ÏÉ!%Cc„º¸‰ûg˜.†—ôÞ”öͶ¥åä>›\ ªHŒX *M%²ØiÊO¯ßžÄ ·ãm,ÏÇÀƒýÐd³á˜œˆªeTjx6Ãä¹²&s¤m0“8׎Y`è¶ælžF¯ñU›uè•¥”Ç/ijµøói äÕX3¬ZÍÅ[Ñ+ SæZt‰HÁu(Ô¸xxÚ1óJSt Uˆ¡VR¨ÈU0SÙî£ÚiN‘N\ŠÛOÅÊÂiÁɼ:J!†Ÿì™P§«b¥)ø™æ£Q:n\Á¿+Îê ¡öçíÉF,ÚD¹š£O1f<áfŽßQœzŒ!G|ÏË §…èð½Á~ë·}åòâñÐoþÀ|#ØûØ´îˆøÏ^bT\P-Eéý¤bØ®Ëy]¬¤ÖÿqØÖn5ò¼;ÄXr¼…Ïž0v_Særa@ÏuìÛÛR±]šd#‚)ƒK­/2Ea5­”Ð'i޶-žþ;A½©Ÿm²úQ¥˜«â=Ë q™Ty‘l”D8ôª3ƒÞCÄi;H‰Y׳0tB©c;úCF­o ±Z…¬Y©àXèfÂ3 #Næ{U jjÕ%ê×cÓA—n… «êÑ(8Ö¿3"¬ÒÌ ©y'šhÎ5C_ ‰êŽ"\ý.$ÅwžHÈß~ŸîcÓgi´? ÑÕ88ˆ¸Ò0¥½‡co÷e)œÄt=~ô“qG"Í«§ŸôVq¦¼ ?&d 850çTZ[›DìÓõ7à0ý2Ît™{”µy@¼±ææ&4&½œÝ„‘ýTÆZå˜ÿ¬.±©Í L1œz ÷`¯‰'Þ Bö®å_@¢åä–þŒã§°è0ÂH@‰»Û-‚÷±9’–‰¨]¤R#à–ˆWsE7Ñ•-TE»W“€\•å}|É–§#%+Ìå¹4f]ß8*CÝû­ñˆqO÷óÆA¡ÙOöî}4Ð\ˆ3ë-/ ^Ñê8‡;ò t¢(ê B ôOâ×?ø9줺i)–ØL‹ÈD¢¨»7ÛgH³F°X-?a®-?ï1þcª²¦`G&Žó¹@ß<§¦9ú*Ö^QËu™@øØ­LýLº˜×¤™«•SÉ)e¥âÎŽ€NŸ~×'©V—RW‘Q6BWÀ“B8bëðšÃÙm©6¾þV“ÆTÖIÿa ‹ŠÎòmöÈDëB쟯Ǿ Û![‰dÿ³Øl…ª½ÇȆÉkѹÀÝ: e!IM2e•ñkÕÿU»Ò¡Å-®ôÐ7S4Ùd2BÓ ™€ÏÞÂÓ¹‡2•A{8€‚&+*ßæ\y9¾ëÂ}\ƒivˆþ™Ëµü\QÊ×g$+Ÿ•w‹‚M ôQø•5…öŠŠ:?ÔƒEÀ¼˜:Ч¦8  ¾éªåñë­O†+É·)Û‹,"`nç½¾·9ã?Ê,{pÿõ®©^‡fƒ"‘É}9ç;¼D[\>Z•|ôªÎÇ‚ ç¸o pS1žÎï½òϦæ7•tG€™ÞzQ­¥9F rÇrßàåÅP9nÌg§RThüÊ_“ËÌ„lJ$»¾õ®Ú5Œ ‘>`‹÷@=ªèfÅiWÿ˜33¾GóåŽÉ¹‰Z§oªH9Óçüë…eh U,’¦+r ¡04È££ýRýíÿD€hg21iiÍ>wÙE‡eyÆÄX886àÊ€ªôãR¾fZ«õú Hr1ìXÏ,Ç‚lª•R þ5ͳ¯´ |›L¢˜‘†õõññºmÌ «Õzž8ÙfRB Qñ?“e±îèb€Å%É)‰!;Ø ÁyÉåÞÛ¸Š7ç qÕût®ûˆlÜþÐŽs¼ÇíwÛvÂÀá†N‚}1þ%±¨ÏˆçM¶ÜíËñP­”'gE©åd+íª¼Öã§TȘ]¼f(ä•öé9+`onP{ŸNÔ™n2”Å“†εØÀ1)Ÿ‹þ7ÀÓn®||tVU»m­4J˜Ãåã YV¤I‡ü7Î%+´'€§CÉ­ÍN޲” ¤àCGÕ~fv·,æzʳôPvìøÎoðSý+§ƒÂ dóÆ£))K1ÆÖiÐKfú)ê€Ð)ª¤õå\ú–â³_ô¡Ã§m^\RÇ ÿ˜BŽÜbs%;¸‰¼å©½Ú¾@ÜÖyÎ¥m' C¼[ M%5~yý!¦mJÅÏyÓ0·ˆÑ^aŽ’Yö×kÂö¸7wý–‹ Ý–óJ*š¨ù1·Ý0i…»ŽÑ6ýHšKÀ V 'à…°nLc6Ò œÙ° `½abµ&ÀIitC¦ÊÛê<+„ÌKèƒHzY“Ã-ÌÆgÎŽ8² O_™úÔw”·¦»éË 'òïÌP7fL¶†åHXÛfdçN@+I̼l ³ƒ¹fQ~ýšx{‰½¯“ˆ“¤¯ ãpû¾d‹K7—ígŽ!LIÛØî—é±Rr²¡+GÜUT›m"Dô‘ù)ç»äÐ Š‹”ðÚLféÖY‹H¦¿BV7ë¹Z€\PåÞW¢=®vÙÕRâtÈ´j´vèŸé€6AÂh×_ú°ëƆ†n‚…¤RyN? –„Š!ò•/`¦k ãú¸b³ ϯxë¥áR,ÙÒöx»F|R™dYþÜ€È9dØ}ù”= ×’÷é¹u_ŸzµñÂbþœxËhEO§‡æE–A,-;6ãKßv>@VdBãB(jä¥a)r%ƒL F[^_ØÊ~  ÙdDŽîÞ­-YT`+5XÍ^m½ˆ’¤ÍÿÛža‘X¶Tã Íz¥9¤Ó„ì9gÚö†Ì[‰m»a·H¿¢Œ ñš& €h¼ ÛQ6Å㪄4$Rh¨<Ï·¥£Ý§ ÙZÒv@p²Ï¤Ê„ù45¸—ª¸$³!£Ñ.P6"pùv‡ñ¬!}ê©òk»“ŒR÷ÞÄË” ¢ftOð%îò';”­qO©Ž—å!c¦@½Ûq7];¹³vŠMY÷Ʃºˆ†ê´N¶)"æÚÎsÙŒ4çU×ïļ=¬G9yéI“1´5Їò½¦æ—²Ò7#¸Ç¼ßç”7¯«h$9Kgl¼#¹ˆ?«]®õ&ù_þéq?ò,Êïô@XcÐý6¼PÕ9ŸÏÔ]¦ãìê ÏÂ’'v½ÙOù;‘w¨›#xÚ0г'4Üðætô €¸±A:—‚ô{=´¼ó)¡+™\°«Ìï&‡^ÊO¤K «@qø ð VÕ° ˆYUû"^(OÃ{u¬wM`ê3-‡éêëïfÇmîü©†^ÈëH£ c–óèåÆ8u–÷{õi¦Ð³m®7b¼ÌëY!S~Ù´3@‹7Ø¡ï„gî9A+ÞÚ]nÌþƒè03Z{ 8Ös«Q4WaAÀ‚Ï.§û‘œnÃZjeÔëû7U^S7 'NCå9šhÇéBÇ$c¶…î§ °ÔÉu6#ÆoœÄáq?æCi:=%¼Ir ÉÔ(u†hmiö=Ò¤Lj‰U ¼ KPcž9 ´Ï0Qõ“EzÛÕ*¨4×'’ibXoä¤6è|Ñ?È,’Œˆ_uß–±jìÅS9ý”;ƒæö7àÚ"µ…²¬‚¯¬²B îˆîÎkàóü2Þ7Ûéó›ýBƒ±!æ‡äÎÝs(¸tr‰êœÛéÅIÛfK9Æ-_zM•¶…\äÉ Aà \RçЊg*Aå±~7î²€B½NÎè)Ö* ½ AÍ2?š) ;ZÕo #Þ=wùªÈ»eØdƒ´I¸2¤fCç°¢"i#®ƒñÓŸ±¾iÈn¸»Ypûñ‡äñ¸é†è¯v½± ³8JÅ/h†ë<Ñ:P%×`4%ßêéGÆw’rƒA¨¢ùÜLâÆL°;›Ê1‘ÅŒ¦Wi!tÈpèéœ^RûØZIIEšÝ]Nñ>x,CbT("Pˆ1ÝÎ5ƒüh)iÐJçÕ=è4O¢t³Àô¹ŽCÁæì3&»sµ £ŽÈ+è9×MZ݉VÕ±/ôQ”¦¾‡É¯LÆ×P¶udrBúäÀ[±á­Û§¦×Rï*C²ÿÄ’ÓâÇp·×ðhÔ‚ú¡=QHµœîke;žÜš‡‰Ž0ݼÄß›sÀ½c²)&;BÖ73÷$2€¦ä{I0ÆËlFrÈ™ † QX8:©øI×yIáßUC6?B” ¢ ±µÁGÑT´ŒQï²£¿MÆ©t•ÌdqguÆ•Ïïæ=¾&ëÀ‡±©lš›EÆLEÁ{œ4›v‘§ƒL*—§ÿÜðïÞ3Èà]‘Äþ¥R˜ß ´’Öé|Üãùè5OöÚ£öÛ«}WMnì¼£øgŠSM¬"o~é0ËA7Ó6ï#­à é _“S*…øD‰7¨hsyc™mÄý9U}l—^çú/ºw*3m‚oV<;ÔUƒžU„ö˜Úþ1ƒ,•ýÔDs‘Ú­z¾U/"wíÚôÖ :¥3¤o¯AnYOo1*_£©¶þhÅ…™ÛLnRþí”ùÉã‹¥SžL¼«½4²ŠrÒºtþøxì:sgÖßQÏgðM“Ïï>K™hÏÚA}0@Ì€úŽB6™ŒÈ Ok™ÇºA”æ ?ƒPê0—bÆ27?äse¡*âü_~éÆ!2ûv£À˜âpnÊÔ€>MY°RÕ鉳ŽÂðò‡êQ\4ðܨÔ7¨ÞÑwñ¸À´4­ÏÉé÷ÕõxOgAŃ,®3HgQÅ÷/åz  ¦Q_ Ñ‚¢=í‰4*4ŽçLÌúØ8)œi®tÕ¯Åä÷²mü v~Ìl$" rÓ¿Þ©‚Õkwbfûüf¤®XˆA£Dloeä ùÿyôI´Å÷¿)Þ^ÿUtÉðŒÿªýäðSrѳ­Õ,+  WNZ@DØöŽ–£h%º Ï÷ M©©ü*ÎæØ¬ÜÆ 2áœÂàßsJvø©a½ÄIž}ÔÊtFÖàsîoŸ`9·FÂdS¼:¶ Y?:†Îš*|²|5vʼnS‹Nß­–˜‡C„§²Iˆ$ ¼Ä¬Ñˆ¢?%c?ŒxPï’ËUTèÐp¶iÆïZ‚jÚê&j2@U0¢NK‚¢(/Yö:i1l×ÿH/ ²Š sY侉Å9 ¥Í"*hÍÝ0¯_ƒˆì¼FÑÕ$fãAG8_Ð¥é' yȹ{š½hÕY¸F¥!e”àC^ÆêzVF KOÿ[Ä%å]#àˆç´ûbÕžHµ’bAk>ªä”äŸå Ìç\~ª"gwUëo²å57“Œ4®wRw ÕAzx’ùç“Yõ…t¡\9óu2üÚÏÝr"”Fa²—µD10Í•Rt…Æ¿%3ó8[”8)Ràn,î-Â}9ÅH—˜@_çÅ[øf¥êãÃ6‰|20°Ë7ì=ðP¿E !ýþ½\ ãp3î§Gx·Lï| s{'N¹iŒ=ð%ë%Ü©DÞ±·A9#ÿ…4å?õÝûH‡­ÓšmÃoUÅ>¢Jêà8Ù HiÓ“Ø C"¦Ü+ª¥í¢ëR4­¹èö¼‰ñN”÷ÇVbo'»—ú¿Ä·K(I¾Ñ‹Þã<ë±åèg¤=…s&• q.ެ9 (uµ™FW]TÁ$Ë ²_à™ÉWP“Ñ9//5Ù«_y¢¶ÕGS*lÃL¥ˆ°7íÏ6~Ã?ÿ”Q8e#æøjJ°_bSèWJÛ=!BÌ®"Ç€uá|²C4Îp_ŒÖ»u«tÝç¹9Fàr¨|‡ç÷ZM o#%øï{llºE릛¯‘ÃϸÓ;Š“)u¼4:‚™F{:^æëò׈ÄP{j0Ò<Áÿå6Çü6%VÚW!­>ÀoD„Wú½Š>A–[qyä/\rù açN2l,·µÛd¾9œ‹³&î7~IÚ”O¿ªH9Ýø›ÒT|&ýÝrÔà#q­^,„æzúS'2Ø£"¢neuªWÉ­s>âÔÿb–¾1‡Ò” ƒ¢’XX¯ê†;•Á!*Zâ¬s tƒJ\ÿOŒ™ÖÞÈ0ã—Þ˜9¤oJ¿m’7M‚ó$ÅhUù³m›¾ÂPÎ{Fx ŸIC†~Ð!ýú‰„Ç#9]Þûâªl£b‚†g áDÖåšëÖº†D´šÆ!ž5Fmi.í­¼Õ½Q㮑£5 Î2?ö…¦TCÒe¥·ý.3:D kïï*àõÐȈt¤ Ìgj‘ʦÝ(ÍÅô°äCfcƒsο;ÎO7sw'™Ñ~”Ôµ)+Ôñ2‡ŠíŽ‘¶‰µ“úöf¼”ÖV€¬¯(K•,˜Á^õ/õÒkΕ4ç€MõaôxÀ0U&¬ÉñBÎòÆMfëøõóÎi©“PGW:üýLâñëR?fÍÚ«CY-8cŠÉ—¦6ld>‹åIYÝ,˜e P˱Ðá6 âEçfh¨!ÁQ±KÎ.O~_/GUµ'·áUW¨ÁƒeoÚF°ÁÐ'~2èž$™»×jêF;²W ¢ºÔ/Íš]‹ä–b]} z ‰ù(×8…t‡Ñ­ZAç‚K†¯÷Ñí«¼J>¦Ùªó#–Kd…HÉÁ!êßçf—¥£¨“DhU Êzú7OëE%9 ODÔ"‹’~]ýà€6xSÀï#d&²Œm‚¬fˆõ€ò!…:Ëhqã­±¸ Rðý¼¨Ì- 0ðØ­‹/Åó¢Ö<,TTáìS˜Ââ,C½Y>£ëSZÆgÕÀB°^ Á²:¦’ÀP¯E#w]U÷Ú‘sÝW4:Ä:LaSªx³5OHUj¤A"\ÌnMuGÖnIÆ'ä·ä„¬¤ì¶4Ó¥ó½OìDj•!ª.Ýû»¨Þ3;ø} ”~¹YÑ#EÚw»îAlçïß%ÌŠªçw>f¤ÓÝUÒ‘aÐb'\´Ì˜eòcKW6…瘵WßWÝ%yßVm_*©ÎæûeÌÝr¯Q#Î=BBlÊî‚ÁùÌÂ`#b¢(íOÅ¡¬È?Z¹(Æò|FÓ1v7[,³<áUý Y§ß¸r¶ŒH­ð¾– S=:xóSâÇC xZ*¾•ÍôqÏăRpe$ÓÈ!-'ªÝÈOJÞ_ Nkzcë×£³ƒ˜_ÐL¥~L+.Àécþæ”aÊ16]ù…R³Ry˜À¦+àQ}JP‚ì$zfOÌL![ƒExUe&+ŒÎr£†_«îÍŸ¬á‚NˆtIñ?¸ hhr+5,ìƒàmæ<Ê 6'V_'°.Èëçû´ÚHœ6ëq~¼É´ƒÔ§µ†Ä3|‚_¥Ð ¾ñq¦ùÑéX[CÖò\I#/:D¢Ž"{Å}PÐB¡ ¡ô®oÔª° è¾Wöæ#½,*j:3l¥¿³Ò5è%žX$@Û³_Ð(>ž <ݼ„!êýÍQqc/LÜjhN@7zÎòUîb/ühÓA‰<(‘¤ w51 O_J„žvJÿ =ëùÅ)±ˆ»Ð‰xýí¸2v­üý«\¼øžƒ[»øí/KéL4-6±Òõ¢D!ºfŽp=³ Wf@½_wÇë!­A*Ê#?¹Z'f9š¸L rì[R®Xh.§§ürmºo§lûç€×òN÷Ä‹~a©m>FxE³à]—(SK«ÆM+ŠS»; n^(ˆPpÒØúáRóæè[ºA(¦iÓÖÌ1®xŒªtc¨ýŠnöƒKÅïj™Ü;˜¶z¯Î·4ÃÊ À¦hS4·ÍÅùmÂN”¦K4·‰@ÇbW%¹LîÙªk$%’=蕲ŸŒ‡›¥>ñÎYD›¯T g7‘»©­\ ßÓü ®F›°ïzÔ«§qýÙSz…0ÐGµšE0õ|à°c+ïÊqa¶wócÚ‰”•h˜—ý ‘ûâÓ$·=•sz›’îÏ?°óÕ¶IÐÀÞœô㈬ë5Ÿ'2iÿž¯·‡á“¡)O ú×%’­­Qbj÷#yHÊ„6ƇââÁ×QY ™å}ò{¹ËfÒ&El9µY°B+xn™ÌÍù7Êä{¨B|îM›†NÔ²œ•Xë·C¥aVª»Éàþ¼…<ûRêéôÂQ’G(Ãk„ý‰ëý~ŸÃ¢,àƒ{xUœ¬ƒ%9âûÚFWå(/HbÀz©£‰IÌÂÖV;Ù]SË5bj“Ñ'ÍmðxmÝ6p]à!`‡%’‘Çvoü¡<7ò­Æd£_²Å&¡®0˜\]“è‘ÒÉ›êÒäo§_ÈŒeGK(sGLŽ, T<8ï4ª¢ž>bHK«¸ƒO%úT!!öçƒGñŸmÉíH„ }&°\U=ïÌÏø­µ²}ˆÂx1f^ŠænË£Ú ÉêÝUp«f˜în³$ KÀÆz€Rù]húË\%ÍuÓ3}Ê[‚$Š“bQ+ è˜&{ =Åjwù?aºÅ‰›“¶.¼f~®¬ðï¨ÿwƒ­ðý¿.G/ìáôüƒ+š«ÂÏÝ‹õvx?=}:µ·HH|Š„ý“¤fsn ¡Âþ¤ô\‹7 h³ Õ~ûÍŽDê4ϧùr>$šBŒkÖ¦Ž5à߆F°çà@$~ˆšôÿã«y¨‘/rŒl4elÑ„DÿCœOôT£Çk¢ñu%òÔì•sÖ³r2(³tÁüìžÜ¾3¶”Eò® ¹rç©–µ;JuÉ èý·ÓZ3bWN‹‘F:š¥Ppßmàè‚5 “CüøÛ¾ e:¦6XÎÐ,øô""úÍ•K¥F‘teµw™ù· Hn8õdAþ!m'ÍtU„.—m(c³£KË»ÛêYdpÍhój'“ÄþØzzH†5f5ÄÈÒénÙñ9ðv¾:€¶ðN}†çiEMuP–†¯LÉ4ÁêgF ÌkØ PçT¯™6½®ÉZK]@un©#µ/®Ú×ɾÒhRû… P>µ’âS"”,³SØçŒn§ƒlÇbœ}û·ÿ$ûœXúd,ÞP@%ÐÊiú¼or’<f¦ø­@Mug¡ÑŸÚ¿ôdŠ+Ë̈ÓbM0‚¨3H'mCJ=z÷y7œF¬~­0ÛÚ\õÏ~½ráà¡“kÕpsöú!L Ö ų,½ßªŸ™›ý‘¬ŠO¹'8äñ¡G¨l¯ÿe})ÿø ™4r ó'.9ðAeT©ÆVHF IKƒ*³2´!‡¤Å¾@Feâý]-fHtX»£­ULZš#KƒÃ‹Ø~Žëf‘Eaªõçb1 ¶WZh¹¹· ´6 ÁÍ[`á–}-Sâu©Ñ@1Ià5¬S‡~5ž·CvZîK·™K¯u«Ø<©Cú'SÈ,Ôh„5HUÖÅ¢þ[±jÄêž5r§J²¯Q'÷ª”Àë§?ÁJÎHð‚_¾{a¦•1Œ‡,D‚åæßçùΞ«@Ve% fè~Æ¿à+„üÆLå5{ë¡&ÔóqÅ œ³#¢y®²—+¹Ô¡ó:hî1åÔºÖØu<Íé‡_>ݸ ðÍÙj,Ñ.E QäÚ¼ÉmÞsÐaXiÍxÐèpБkâtý·0ë¡íŠ‹„Wb@+—Q„)U 5´?!î#-½dóítµÉÀ—’ÊÊX¨3i‹´ FLõÍp´úÚÙÏ6€)„ÝÙl4¹í Þ2ò«kfvcÉ3>ÉÊ%5›žc»z sYBÁ ííVC=xˆ³ÃÉeõ´§hž»j,*¹}ZLÑ…· –ãôÔA½ ‚ºªÉf4„7Š¢ |[g¥XqE±-ƒé¶Ëõ˜þ¤ðÙIM*U¼*ÆìÚL'—§ò h„Ô߃ýÆý$á ýåLѱ@´Lº¥cå# q ƒUð1bXM 9òyˆ‚E|NV“…˜gªO+À§Dot^š½3í±ñ<’q—y‰ë—ýÚøÞ’É“¼Ô8S—d5áš–­!ÔÛÒÑf4cx›é}âB‡ütÛ41mdá†~ñµXŒB`ÝèÕë“„‰Ô@Äõ¨wã­‚9¯€ŸÿF#÷‰Ad@ÙN£{Ï^}ª—C‘$ko!WÏB’}YŽb\ÖA+³réÝŠ;à„¡†6SøÝÏš(?5oÉÚ±±'µW]v H­L@{ÐÊû*©Òí¡ñA$ý'?8ˆ÷¾R–%þŸ€ ö= 2”O,Ø£ê —R×DçIõ&UXkÅÖŠºb<ãã쯈2± +×D¶¯¶ÓÐO2”‰ïÂ.Àø8DVg”–ª[ À¤4ý2Þkÿ¶‘&,D6ö¦€0>wá}õÛ¢)à ëéHãQò¯o Ð!e4÷%®–:™À)Òð©Ð’Šf+j˕ſæ—oþ‹ÓÒ¨Õ¸U, pºüA«æç–ý&âzÑ/“YuÀqzª+WTzŽrŽ13Ý‹_h4Ê„érL‚4Ê–_ŸÉ멚Ÿ™¹*îDÏŸyƯ—,⡇ó Ù8 òÐ%&©pùü:'+¥;kà ֺl¢î<ø¶FÄ2Än9„žÏf¢+‡–™ ˆÏ!!‹•°&%—kÿúPäD¡?à [A”›´ï¼¥Q\©Q:¯ðw«{ÅãÐü¨ßxô7žÂ•½0hÙìå:Ú¬z½ûœx>^16"SæL"<.:.㫾Á“1 r e]ÑL‘NÓ‡Þì[én6ë÷^ýƒu1ŸüSLÍüO«KÈÚÙÄÄu ¼(=s0U£¹£;•§$tÈ&pÊjò¥áÖ1Í<¯™áOY<ßÁc÷f#b»l(Éi‘Üò28&;uûlû}Y‰C‹gÌŠµSÕöÁ‹ˆ 3W Nþ ê ­gt‰µ,øÉæð4Ýë×öòö¡i>@›­Áö”ù{…³ïìð{RÓ¹í‰þ«A¢Ú3ÅŠ)ñ„ËÈ®?IËW|ö¨O8ÿòKk¡ ,$…·v¯Ï·ØÇH~ÑéÙ"r݉†K²>½!dÖ›æï¶dQîëÐOÒh [®¾a[÷puÝ• ĪîÉþîQ|.ÓçS¾5A!õ|ð³Œ5~ `¥“lv ©z ÜíÉ!Ú¢ÂJâ‡OÄ@àüPà'¶Mê9¡€0UãûƒÏ‰«L!uF˵?%2ó0[IÔgadü—ÃzAeýäߺ¿ŽLÛo½ ÈoµäÕÀÁ8è{ éܤʼn±)oÍ–`ý}Ý>pÚ_¦0‡¼ 1šxCŸÃÿy¹¤¬Æý™í‚÷Ój5TÒnÞ(òݰ!XF‰úñròlá´„É~É!åóžvžü ºk7}ÝÖq·ÜMeAù%@NS“Ým'‡_ÇúÈçuI|ª7CÏæ ëìäpÑm܇™è,F Y³ÿŠ·ë-5ü_šæ^:¡]ŒÌ€´o¦ÖxWÞÁI õè±O’>J`þÐ\¹¦gšì£îÅí+áî×~¹Î¿üòÚbù9kô%uÓT2Í1n,ôxj~§Û÷'D7£fÔ…‰chŠofÀ<ò—ný‰%ƒà p(‡»–œ39ø˜ÕÆ#qÕ¢¢Îª_Cú¯|—$̘¸‡SQIÐ ”`Ö¢8<±õ|ºdT}"Á:kv=&AÛÒžã™Ù*E[EDèbÒ¯ÍãÍCGP«£Ã ×ÑìÍW¥ô)©ÔÎÿÉf“ãMþ±¾üÇntUÀ7?Q ¸ØQoÕ‘E”¨Æ#ç‹]Ø7´MøG7çj­Ò`Š=™ëÞ›€0R)\/j[ÿðŸhw°E¹ëì üŠcÀAÙ2ße-ÞðšyCðÓ0®“{GS#¸º[Ï:©ëi¶mÎVEˆ%8£wLðegìà[ØãÕdƒÃbÉÑäÌ4yaÆE,v ÓÂâd|°)6œ<%¸Z ï*ª ;°Ÿý]”×@ 0*MqâÒn¶H–­exþ^D¼W¡DygèfvÜæž`êEf—?ügh²‹Ã¨¾=J1­Iâ¦|¦}NŠ6æÀõoT¸Z7ໜ@¨‹ˆÝö×sÕ} ˆšÑ ¯ÝŒ×U»acjmÎñ$ùsü##Dä‚…Öa›™HC­'h”ý½HªÜÇÚ­XÒ@“ü!’* t„¸úŒM®å@¾!‘}­ï]tž{Û!Ü‹ÚMg_è‘uJÕo‘Ë„†vÞkᝐ êH™µÌÝ­]’hãcœô£™O°¤zG„Íó®TòÂlîý€¤(_’ñ‹Rï3b8Zäßy¸öyÆGé…æJˆ ë X`¢Fˆ6Û‡¾¡a³¡ëÜ`¿¾H4ÁfQ~K MŒFÙ…35Îysþx¶ÆSÙOlÎxÐ`túXwÛ¢€Õ†N—jHXàr"Žº05¨õœÌÕ·fÿZ)AÚ‰Íà åIÀ=éߟ­¿@x“»Îô¶\ް5"_DæÔÎlÁ»M Ί¨ŠãtWÑÊ”ž‹Ú-ÉB$Á”tO±üp6~rñ“F¶IÑökkR‹€mAÐK;ˆÖ‰…A»^„çÿ]TšßÕÜÇmƒvO™ä1—9(TØèÙ8ÂtÜU¬Y,½¸ ä’ßlñ*jîçÈ–_ÙÎ,2™±Ã¯‰_Ì%hh.É .¶Á¨À˜SWƒ9wwŸ¤0ÑKÛ¸€i~X~ƒ"«Åã7>9ï¤YÂÜ0¢mòK/ HCø-É 6“à’ßœHÃYy¾õg©I;m¤¯¸=彃Á踓ÏçâK(t²,Eo†>Ъ--(êD¤­ÿ7¾t(åïÄqÙ …þföqz—µ îæÅg‚ ú÷*0ÑÈÏ/D>U4ý-ñ0?ÃöDù»²þ†±ä@ŒUÅ7W*{Îxëü¹Ô9—çoº&™U”8)Ä­X+å¥"‚;2Fî.ëÍ)ÞvÅ mƒ<@*›VÚ#ì0«|’Èy¦°Œ ‘Ç 9n•Y¿…§a²gëmá*mVZã¹GVý Rê×jꄯÁIœÑy ˜ÚüÚÞïZÐNƒé‘ÓüÙ1C;@2òr@Ë” ñvæ9~°‚G^!}”e‹è8C0™‚ ¯K¹¹¡:ò+®Äµ¬ô•{ÏONï‘5@3uGãÆ)ï;·ÕÚgaTeÃÚŒ `üÔ£èÑõGœÊîjÞ`üÙ‹;ñlMZ§{òvçíi"iÿ¬øíËìSG&¸›»>»RçÑø x¿Ì5Þ¼¡CT=Ì÷J±!ÖÔ¼fmêbŒ=[¤'²v¢û­³/VÇô¯J€ûÓ††æj8ëÝí‡Óvƒ‹D ?® scgŒ!õó¼x’ð>ïInJ;˜ÅýØÒß4q:Mÿ”ñ&=uÇ\¨ð"W,0¨JäžôUiXG·þ£8qó2NÇ‚=ÐâOÁñfÜs}¾²§ìo[VYÌRÞŠ+f>…æ»,й;nv°‚û›%© ©âì {gˆŒß©yÓ<î~$f,ž}zr%Ä|»³ÃìÝë]™Í0ÞàuJŠÓÇ4H¼7 V"â «ÃŽWë7^Î"=59-E0úæ.'mc™Ü>¹ßþqâ¬iÜ ¿\׼†‡UÐÐU(í°¯zÇšYÜ"γ- AÌrŸ£ ¥…“,Vš GNv”Y'ròž¯Èü’’ð¹8T‰2ÝŒèA-‹|M#E­Ë„¶ò¬ÎÆÄOZ¸C„cr_¿Ý`ûU¤HÎÙžHf~"ã§-qß`RjˆÁv¹K²—¦‰? õ^±Iÿú,›ÈC>ÁRq×ÄÛÒú uÒyè‹“XÆ\ò9§Ú/Û#†O:êpž0¶2ù>q J¤¨ò•+vG8û·ÑºPµÌûà•Ÿ|…Mèsé¶sªýdRéu4«‘Y¶…=ñ…à;U¸œÇ—j¬1DY©A‡ZšUsW¾†êÒœLåëÝ‹ž]#^;÷àrUN—=›Ä_Ž$¶î0T½§®Ýï²ÊÆzÒcSÉú&cæk0€ANMt`jú«„w.kêÛ½QþbHE!Ik“è3B(r0ÏvXlÒ„ò/Yz›‡ª˜ÌØþ$d!}BSRe‰õë‡ÌEq÷xC”áÿÝu9<­4mš%߈o{„ËEƒö©›.Ïu¤°Kz*ÇÝ80!懛©á–V käÜb®šs2åBú>/äKŸ­ÞþAá|üÚ¾!è[“]¡ž»ê4åØå«c‹»!{ ¬ãü7šÙxqÆéÉÕ;oCyÃ}iþešš‰œµ÷UšqCëû,p1}j¾ŠiCñ&I!L~Ûc]»ªt1ÃRC¼+üOk¶~keNÓf¿}pPOñX1Û^Ò¢N‘gÞU¦…ì  ¨û:.¾>œŠ>Ýu=¡ùEsE]©K™™ãr÷Ëä¤8ô’Q*z/ËœsVç‘ÐNÍpÞ%OÇO=7W+ÚÞ¢õna%QÄÃl¯Kò¯½:ÿa¢ß!*ÊI›¾Ö? GÞ<¾|¥²Êþ(P£»Þ¼GÄ\õï¸Ø¹ÿÉó>Ù©¤ê–ûz>gò[@Š?ì>z6w’pB§ÿIh_5£šz\ n[„ó¹ˆé§Û@íWìW{À L˜V󪌆·$öL'w‘·זùòçÿŽHƒ²gÔ´zÀZ}ºÖ»æÕPDÈ)¦À ² LaÈ?KçÁÞÕŠ¯:F•CIµK™‡:‡9ì /vP¶$?A€bLÈc8èš*½$™Uâ#QM¢ðÉi’OÎÆ%ÅóÖ0YÕš¸5£Ô¹»‹Ž›v\«p šÌ;Á~5û,-À‡nfüß´¿ µ/^pG¹ ãŽxÌð 7¢ûÁ'Å3!iû˜t{aß™nvÿÆ©P‚%VÉüМZ˜1ŠùH\z·¬Í îÂ&'V³ÏmdÚ0î|“üÀ…_™G*BRmd‘a`õìÂH«*qžºî üó+}r9”öU§ ªìf$#6 ~lg—ŠÊëHnI{º¬Šðî)¤Åú²13Næí¦)²:íQ¥ ÷ð<ŠêÁjéfšJ¦(áô8)ãÁ·ã0¾ 8™ÑØŽ ïD[÷°,‰—°x/D5èéÅvï¿Nçÿ’mñ¬‚"cÝUÙc&C&tp\ãƒüI… õÇÝm4È•ËöÐÐ ý±Þ˜‹$_ÛEÚ‰x!ª3fÞ¹ÂnøKךM"%0÷’–\q”ŸD+COÆ ç;w‰óü?¯F)ÁÉÛç8ÿExZ¡Åš¹{"„/J í­wô<–PõÝš‚Z¬u"”@¡Ò­Äž(”ItQ;€ {‰_÷´-Cjd/EgLH§uªFªõNìíYOœ›/d½‰õ ¸E$»^³†…"B)4°Ò·ÌûC1ò7ö'o—Uð7´…mºš ½›TÿÖÉI^¶tuƒ‰Y°m*ñãÃ)ˆ-DJ¿\²Š·~µ4t3WX#áa¹¶Àí¦ %Å ÈT\ G¢¾¨ù/1sí ѨÁnŠÏ”O)›’ú)©ßÔäõ~†*ü!‰5•ã²=ã¹ÌXi-˜ ØÁä’.‹QÛÏÒ¤dÒ€ŸTHj;w[!üO«™-ÑqaÃFþþž÷xv·&úÝH1ªÓ¯.GÞÿxŽOoÓM8ÁÅ›|¯ë:SäÿÁ:.¨£0Tp; e¦ËYÂ÷üKø+Ÿç©k¨%  ÐÀ!ågKÚšcŸZI-ÈÜ©·ÞtêªWKæ k?p<àïzæ£ÂÇ>_GвÄÙ\=Ú}?ú»¾™Òí\Jþxg tÿ5Ÿ N~sƒÐ^;¦ÈägüÁ¹ËFÕz }û ©+Ÿr²OÄfÌ‚>‹Uñ@œ5w?Ì}·ƒê—eÝžÙËzlvåh¨ª†uRo#%3-3Ç÷^vœ€avË̴éÅi1ò‡H“†!Ȫ¾(©£áKp§ uÇÏÔÆ´ÜJžàÏdOn•6o’¶-†ˆãõ2/H5Úqö¸eãoó㽯—m«pñˆ’Rd'¶ œŒ¼oyIáˆaZǪ›o,JÊ'ŸwuµÝ©"Qo6ˆ:Òtë?e}·ÝŒuËGÕ2*砹谄m“V:fÛ2ìÕåª×¨Æ ¬¥´«&Þ; ¼=‰”.yhÐÎü[Æ#›iÆuÌ€@{i„Ћ_tšï7åÝŲøÆ¿øHÊ¡ìû?k¨ž]‘^ª~žs½,1Rå;yÎj1%r¥qß$aøQ`X½[Ç"߯7N}>Z/X6õt›$Šè ¶¯~k•õ¶üÈÉØ ì€L¦—;™Q+ÀM’£ÞV»u'®ôeî«&¯54ß¡ãKì Èܽ‚tÐ÷=êËŽÏ|XÚx!ئâËÝ·$v2Á+-žz^Œ/h}ˆ0ǸÌfΕöE)O+•£ªy-qØÕ ºuí)õG ¾¤Ü ]p*4R–¶0«]£y}»>{a³áI¤Ù®/O<«MñÃ[Šî;בÌó 6(Oò»Öhª w÷?ྫøÓƒIy'ÿ6ìNKs9Ú ÔzåçÑËAê’T™ŒÜX}×¶/Éó±ý‡)Ñ«@7!ºt5Øc°xºDÁ$BA{ûXï´t˜êp~¢åsÝ´Iƒ5EÔì‘xŸè¹ÌØŠ&0 u—#%zí-ÙiÇãô@B‡ÉôÚE ¬ùÿ ŸsÃAI VÐàÔÖ¯ â»)SPJTŠEl‹¾!þUË2 aØ`, ¿…ø}‰¯`Â"úÅF!v£ Lîý ež’Ð5{Ò]–CÑPäúÙó§<ã»u¦ùÅ1pKaº~¼³Ã$1¾-§LFï¢tmÞNˆBÌåîXÉiÍîsêCˆö×Ü$wa±æS÷œÊK‰BXÁî’™Åއ‡íAùZÛêòKäÚ‹BEn¡>T18š>èXÑ`+jç…»øI§Ó *GòG8ýϘ×>)•mÛ˜¬uÖv4`Çøc·%~͉†•ÈYÑ€n QÒübQ¶ ôùâµ.Ù¼ÈF=h²DÂRCbŠä ~fÓ„´¦Ô¤ƒÃ=Ž+!]çÙjœvòøÿ†µÆ rñ°]ZSØn¹ï¢EXÿÝïójŠÀ÷ª•¯O<áZÍ5qHQ+ÍaR ú㟠6›Z:ª¸I>±.ȤlõÓ‹äHM6§ÉXœXýñzÔHîá<¬ºcJ2ö¦·)³4'}=Î…!ÐÂÿvl Ôùc`fйžÚËNQñÒ…®åC•gaT‹½G|ÙèÛÇ£‘ÓHó–h¬/ëÞB#cþˆolïm4²:{hÚó#Ãäÿi§·g i¢Ú£a/x<FVÖÕ Yò^שÜA.%¼œ:XÎ0E ‹&ë’“±’¹Žµ¨…CYú¹sÚYÜ­ãIñ7iKèÅFÚ+ቓu WÍåè“yu7„_ó’ýϯ:<{9¦xÈÃÛ‘×Õâñ õÈ‹cýÓ±”îk>ÌCü6Ò[î§ñî2:r·›ÁkjGž Ãw;…Cÿ( ˜§Ýo™â,ï:Ó ž=d„§¸‰ßxŸ<˜ óOÇýÎRHUÙÙ>TQÃÖ>â›!)OŽ™tÕ´ZÖ÷é7ßö†Å}¸‘Ó‡\YZžƒaã¹p—ê*bZÓ"Ô1>œä± šå­Ù¹íÌh¯ØR’Œh¶o¬í·ÞŸèQ£‰;ø|ëU›†Lu½ s@j×/ÚŸcŽe1ÍUÕ[Y×_$ÂÇ’²§º8jìøôNä#ÖÑçí£¥+êeƒ1`ØVïžÛRÖ0²ÃÜ€Zyµ_tËie²ýé Ÿy2e­–鯭e¿VŽpIfW‚7õG 2d?ºn~ö D¶Î8þGné©8\{~Ã'öô¢ mTsÈžJù4»°kf®åF°}ûk_ –ýÀÁUV&M;0.%öñA²([}9•$ÅÚÏn8Ô@ôq¸ŸMmœ-½.RþÄ·¬Ü«¬áÄWµ?S6½HµäïÀS‡`íݯÏ-“ùPN•ê´©á±Ì$Ó•Ð僳z«ôû×f‰ŒŽ ¹çš3pŒ8oYõo’*ÖÁÇ(þsÚ‹cqÿïˆ$¨ì½Ÿæîòô“G•³y”t7Êá©„˜DAê€P¹É§ ;®Õë%3¨·¡g]Í·­jÒ’Ê@Þãžw·âè±…U¶?ѪLnD)ŒnÑŸ6ßãÓæéÕ=“pÞ¢ÒøˆVû¿bÇñ¥$à™ï|œ:Åu hÊc›‰ƒrZÛ9 ð®5Ï̹\Ý kØ:„Ú^ÒÏ·üGÜ-éS)Öûù(oQè.Ñ¥Ó1DW`tªÖÉ@ƒV½ô™•vÊýð¿xLŽiÉB2·]gÈšR.Õt­Ï}.-ŸòWÙ\æm6>ˆiû¶þWP¯Ý”ô?ÁO‹û;'m×@ô”ô]”œÂepÀ2L+ù»—W½µózÒôèLRî~œ•jPÚo*¨¿P/„Gúå6 Ãú£±ƒíì—kHýÎw² Ññ׃—ׯ'ÐC‰_Ï% 6Þ3ÞaSVé‹’N -îGiÎ+tžbÇ+mrŒò9=óÿeÐm]šèšàë |JzþŽŸ=Ð3XM Ã%|”ÃhÈN­š xѼclºã×ïv?Kÿs`‚æ®WGáÔO”ÖÓ–¢LG¶ØÏçÏÞиɘÐEÞM•`0 Òw9ÌMQ¦‡:ÿƬ^rúÄ;<ä(¢¸Ï)f%˼IT^B÷i§â؈MlmkOñ;(m^wx3yr"fi]œ¦¾ošB¹õ`·¿UX=gúpÓ +Ánw}5 <÷pVǺ5•f× ( 닇QXß:Z1+2wqÀ¥x–SW._0eÁ™\6@W`WÌ­¨C‹w)"g2ÿ +!x%ÌÿìµþàK­òr÷žc²3ë6k¤îŒSægxhY«±/d&fD,0¯ëÅmÛö™Ž,à®§³q˜Ð8ÖÐ[! ³Š¥s §Ò¸ìpbýÿ˜•eÞØ–ÆRidpîº0ø‰ÛŒ¸&±…7(¹;ðUºœ= }¡Áˆ÷:–çã2¹©)ühܤÒÙ¼9—-÷‘µ£F¨d©C®ËúÏã >Àþß&‘§¯­¬‰^B¦qq3Zêkå¼,»ÉC…_©uvO°Ã"—§äw\ ÁíVY!Ï[ÊOŠ'ž@ŒÂ 862ÅŒkƒh-‚Þ^q—zK¹ñ+2CQKÚ¯Øsmë_m @†Í¼æU_o¿ÊÛȾQ¾l u¾ÛغÃ*"¯9´>Š «jzßÃúýœdVâ¼ê2í4’UÅùº·bGD ,î*¶ “2ª÷úø——LEì&„¾½` O}€YŸW2ÍI8s a_š÷éî+=À!“¼eæ¿RSªv‰ù#á•sL­—ü4,.þúq~ 0\…sÆ^ÏŽ9¬xÜ8®kUÒñê<ä f0¨ÿ®ÙùW1£}gLn¬Œïý\Ãl5Ö¥@籤á´OiØìoò¨»k5 ¤¬úw)¿zpyîÕfT‰_Å6¥<šîM`G,|¹¡1"xs†2æ_øËŒõ· £ÜЀǠhE}?†ãä£kŠÁµÎEC-#žQ¼ÐÎúˆ½ààFÇ`Fæš‚rJ̺‘qÁýW¡#SëVÆŒoĉ½-ËTÝ'Îô8ý Œæo³!\ûýÔ[ò…ÿç.%Íõ÷xÍ#:-¢¹ÒìI^Â~€¿~~O˜ÝH íH톗·aúŠlš—ƒA ÆŠ„>§°©—(@M¡^%5\C=ØÀ1áŒæö=ÜlÙ+Xo¨=Š›kìWÒóÄOØ>o4ÉRa-~Æø ß9ƒû è=ñÓOlM‚A“l†nSý…á´Þrçj›b"®%Ìù3¥ÖŽM4, \jp8¢OüÊqt¸ÄgöCø4sïG?lF±B’§5‹cô3&YÎ GÎfqƒø" ›YjÛ ßépÎ[ÅîšLXgXh¼¤Ï>q¯þ9Ÿ!âåH”o÷w{; Ë(¤U¼3)fü²û×ȯµœu)tºìS0=È¡]] OËgLLàÁŒßðH ¸bÆ3‰Ð+oŒ Œæ›¬Ý>l€fT¥dÒ’÷ÛpªˆgÉmPk™ž³föZ×ëÜy€¸Â0XôwžÆ‡ÐXzR;õ»E°tÍsßy\ŽËR5¥lÎ6»•ËFßd@Îø/Ù_».œýl­ ¶ÊÉÚ_ôÊ @«vì˜Ó?¿êá¬4B€ ¥zZd>¹c!¹íZ€ÆB%×ÜÚ7M=kãÇ>f•nQI¯5©,ŠŽÞWO ÖâXÐôb]‰÷Î`TÍ/%;ÕÒ¡?ìÖìjP÷æ¿„¦*ìz ±¿šmňғ³Y,)6ÍþÈQf•Ve¢ðRôáçT¥Š³O-l|m i#µ”ä(r( ð!9S¥—êªêáà¹r«q6sZÏ¥ñ#³,ÝùÅ—Ø@ø'ŒŠéE ;m{ø%ü$RUìÑKÔ9NˆãæÉõÍvfIj`˜Ù¦Í*SGØ!‰M‡3'Do¦qkÿó–Öb ð°ºLàIá~œjWÜ¡vÀÝžÝZ›’*²ï›×qÀ9ÕÏcD¿uUz·ÃPƒÖ[ Lr½ –öwö:éqä¸Ím ìØ…AÅããcdœ_ÈoÜ«i¼ÛrQƒç^€cìwŒÎ_W·`7Î1&B Š + ªù]‚öÍδ” –tîâ岃•³3äâQ hâu±qH‡o±õPÖ‘3XÂ)³’H 9-Àƒ²°)p審¡˜%ºý\¶OE[!Ú0cW^Žâ”‚WµM³XóÞ1»TõÆfu“NÔ™¬eÖö‚í›Õ-ð¡£3~¾¤«IfÀ˜­öV%˜ÚÆ(®¡>Ö‹ŸÝyþO½ž-¼ ¾Ô›‚Àž—q 9Ï0[>^Å]qWËÔÿN¼`”²wË‚»ŽU½Ï½Œº÷œ­Y5'×ÍDB†;6ÉE<°Å¬$ÔÛÈa šIJ¦of^ÐcM¯·1òt JgUƒÕ&LtÿØØ;†‚µì2uÆ,&9ËSËNâ[—ÉÒ8®ù/ñl PqO“€Ó“`±Áð<rWÜeù6ûº_#á…K}“ÊRh`kqãù7뀗iÃmZg+¿5 Hb«±O“ù.!­Í0v 1 •O!•TµµÐq¯9ù)j¯àÃÂwŠsgþèè:`ŽŠNÀ",HO>oU;¨®ñY¼9÷õ%ä¸õ6M|ÿ!ê1Øwm@,Šx9 ´.5¡sŽÝtdÌ$cŸå½’Ʋ›0oTÉÍ=®¢’¹›^¤‹xC>0‚gôÛÅì3uaNÒuXb#Ž’*úÔì,|œÐqâß¡ª6(øj\¹v©œ0ô£$ϾS£\KŽ ¿¾È€öM´ê‹tSÖÇ¢ïSºŽ39Š6ïC»­'øo_¼’Ž[¼Z·ÄQÁçÒ8ôÒö÷•Š9ìhr="‘YÀ•tÓFºYûˆÖnE5`@CíÃx‡¢FEj¥&Ð2mŸ‹Í*®˜QŽ#*¸¥êèC6^Ÿwé,C´dÂ0'RòÑŇ+¾¶•¥̹Tåæ…ÎóÀ œp+B‰M¥dì à·Ú7­ùmÖõ~õ$\8Öå¿”2¨)ž¾Àrƒåsï,,ŒrCÑv†B­§g°ÖÔ’MØ_Œ‚85ÚSSKvI8 ˜qì‹¢Þhì |©”ûW¥MF&rè{É:¯Àë²bX;ˆ!4. eŒ,¾4ß@±ÏÝMeµ^ýCÎ ^uj›ÿÅ,£°8€»!ˆ& EùúbÑt¬ßÈǪ:ùáñÍüeþs‹ðÍÌÔ…µ½VcÔÝïÅÇ-¤"Þëñ¦ñ¸*¡x€rêð8ˆË÷ƒÛ–¹:Ñ déƒjÛ6Âp pBª¿úñ¼»êXvñÜG"ZÛCÏuˆ–¾À A€Ï0Öñó®†ùiÇ­öúQ®.ÍwaáŽð!Q,Ø#é(\B’‘+®É t¾èÜÚš t £”'_KDï·äBiÁÈ8•¡RV½“Ù Yiäð¾Ü¥ÎøçÌM^ã•Ñé/“'6gN_:¨û/æÅäØK)úñP›Ò…vçr‚ÇÛ¡ðÙñØå@Ò `•޼ƒ77<ò“såâ–Ït¥Sì ãÝ+~Õ»–¬Ö÷™¸[ÇWù,mv›*TŠüÁRxÎíä‚×Ý’‘µ q`_ s÷†Ã ÁÞ]ÅwM¹-“ ø› Q5ŠÊ™áx%'\!èà‹û³y©ÀnIiOê ™DC"k,[OAÙžŸF&œ$s(’Í 5¢¯:rN¶‹îÅÖºé¡:YZ¼Ý𔦮ý´ †ÌV0k7êϵ¤í/<±£ð ýí¶1Äÿ žÅ‡ŽÂüæ¥ü°VŸÌýÞƒ>¬Ìîw Ÿ—_B¸Îÿ“Ú·ã"åÞÖý¯ž\ )– †<ã3éÑλ§ÕCuõL´K—ý%·Å Éq_§Ø‹Ã·çŠpÔ ÍÀUm㸤ÖSW­ñCÎë¬Þ&ð›†Q*¥R'U…Y)׺UÔP /ZV–õc“‹§£qQn ´°ç¬öÔ[Àþ${†kå&¿œ°æ®²ZJ“ÇäbñJ-&6ã¶D+JgÔºÕ˜@b o0ôJžž2—sž°ÀëæÑän/v'qYÍ]=Δ.‹Õõ,Ö/¹röQ*¦˜V‘¬8IkH‡zç7†293M–àÆŸ6I\|ì°c¿·Íú±U “‘†^å^øÞOXitêÊ·û1åÉgUäà0 —óz¨Æo~Ôh iÙ3ÀK5µ0ŠÄÔöEñm¼B-Rn_Å·+¿ú"m̤Úì¼pÌSû{€^gÆåpÃÚ´ŽwR‡«ZЧåþß žSWÄÞÐMD¡=×j'>$ˆZktÿLµOÞˆ–Š3ðñª/'>Á뀼OOTðçÖéS×o¢®²d¢,»à?6ÚvG+#³F«š°Kmrž}˜òºÔ23ë Ô#ÆþÀý ¨)´WÅ ¬,sùO¯t{‹e!Ñìàað-Üz³â¯OuS¢vYЉí'é7òäXc¼°‘.Vž Ðöçy ó•Ъ ¿ôD†8â¿}̩Ɋpi žÁOî„H”qœi#È×Z)œf‹×4„\u#Ê# ®}¡‘ ðEPiªãVáž²;´Ø ø„Yï]º„Ê\ÃO˜2¶WPúe)æÒrä¡åZÝCǪ¾ä€ïßÔ#Xü³Ç¯[éX÷˜&sôg‹òvì¦]¼¸—Î:MTylû¤Ö]¯»)1öuò”óùw†óŠìaç{­Èd­R¦Æî <=_=ÍðVò4/S0 ‹G8·pëA®rXèçz)¬u-Ù¨òIh%Y¡C[ªÕzChÊ¥»˜ì¬ú^#Úe´ºÞZ—¸ÅaæäÕÍ»I<¸ß~\¯Ä^r@šTN|£}¯º¢ÄØ©ÎírŠ¯Òæº5s_†ùÒî†ÞeV‘qý­^fŽü\?o”e&胊‘ë1'ÛÊb|(¤‹»PrñE…\á. Ìrà¹a6¾/G/w qe‚óI’I­»4Õ¡§;#RD‚/í,3v|ëÐäËW”È·:]ÆVÇwˆŠ0FÂ8¾dåâ";f®·ñ•àgÌyÿ¬¼ÂÜ{%gN#¯'g›½ƒIÅ_F–ɹ«pTŠrquTñµXaÌP„V©Yįû3Ó½­†,ÜC‹¸ÆA*€!dƒ}AþY6çpÖQøÜJ$¿¾Tm›ò¥ŒÁÞiC|°(ú«ÔÔIM>3³ÔÛ²8ƒ˜1‚CÒo&ôìr·‰Ö½Õ¶ï2 /DMåβ¿Ç 3G{tıÐQVú+k6Á÷e‰æ—Eá#æ|2Œ_ß•¾Â73ŽZ¹t–(Xa8*ÅË~zIU>~„ù°BÃÝíÚ—«úòÝ¡,µ5ˆ„­çÞkÑxÿÝTµ®k"b[¿Õ5¦ZÅd=—.ÿJ8Ïñ"yó§ì»fS‚<ᵋ#ŒRÄÿ„&H˜ˆI b¤?Ýõ´.‡AYN€ÆuJíÉ€kGa4 >T‘¡ZEëq“R¨¥O+»’´óŽ£ðó8íõ¿xɑ֯&Åx—/-Î"]䪈3¹5#ð9°ßg /«Cú2Ï8vÖ!‹êµM|6QyNz ¶ßÙP 5hSß\w-òÞB öѤþ­¡tªTù W✲ÛßÝ…{‰L÷¶l´óH¨€J~â|­{‚­6ï| T*§ÍÇsý¥¯ÎÅ¿”ˆÈs·(,”<=,÷лÖ6ŒhÁºut“Ì]vGTÈq,œa7øáÀ`}jŠ#$œGmÎ4½BY<¯£óîÃÆU»*¯Û£!0wƬ0F³ôDA4d±í,Û°5ã³ Áú|÷uzmn$XçF™À[iI…Ìçlð%:?ÿ·—™·F%!ç½æ0 ôBg$Ö\€¸Á?ž¥wÇòçÜò˸‡&gD¡N¬©ÈãÏyG—=YûÆ•Ž¸ª0™=,Ž Ï}·YsÚ¡&`‰Å0 ŸJsFM.7j–ñîpC+QÇÀGi k·)3½]‚쟳“[žvºÇ‡.yn*„ž£s}]þÆcÁ§2ÐJF‘ãÑ0ãŽÙD‘–LÏïrIh¼£~-¶JîcpâàºôEú8:qÄbï¿*N7MN¨Õ뢋3eßKF¡y™±ÍP’|A~¿(ŸÜGØ)Ç„ü ¼ü%‘Èl cyÄ€Õ„’Û¿žî(h<‹³“Ê}YjáU]Wlª-† 0^zO¥£·pó×ÎŒ b$íûZ…dg€}ðú¦¦>Š¢ ÚÊÿr8Y ÍŠxI,àcáJÊé’÷B6«d=æ-ÑCúíy'Ý‹`+÷gQ"y¾¶!1÷›|@’ÎM÷G6^£–‘WßfþwágNïKH , Q¿Hì5r> Ìúý~jW؇öH8wUAvI×Ç2ÇüRhy NßÚ»F· KÆÂb7ÛÔ˵‡¼2—úy¯dË æã‚pËF(‰}²þG$õºc'äæÔ }¢üÊ•­ÿÛP‚¶†¡Æ+ÈgÌ1FܸªfÐÁDôxÐnÉIp4iÐ;ᜒ 0G\Û.]`3‹‚•×{Ù{/JP’ïÞ$uÛ =çøÇ‚­å4:$‘'.Ïnu¥sשòÀUKVÕÜm²S*·1à˜c´/5Øæz¦ZRÚ›…‘Ü„¼‰”ÓÖŽ•ÿ­áu³x˜j®>÷:s_©óJ&ì&Áv¢hÃ9Ò³2 ŸQÿrír™„È9×#ñnÏ€Cþ®2‘{œ™i<ØO 5­…a|{ùWÁÖ•ùbùÇ]éÝ`23½V˜2M²$À2ºÈ›OÆÈ€KÚæÀ .ÿŒÖá8å¿àÆ]sµàU*¡Ô¤—í°› 'uó} c6*–(blò.ÌÓ’"%ðtо é}M¾ª@÷¹6û`Rl¨L~îð¤~™ûsuG3\4 "Û¦ä¿N Û}ßtv'oòþoG9#!)QRìèz§Ù’?¿¥+q¸"¹Eº8ôæÀÍÍÞ¦¢ßä-Á2hQœDU~d´þ` Ÿ¬% 6ðpÇ­fè=þÒÔÆÀZc¶ ™ˆ(ñüöäÚßÇô"V[ÕŸˆ\nª(é' 7è!s½¾ ‘Âmª²+qLslÜcÆø°3ˆqws%¬7AÄbk2ÿ/Éó¢êƒ†qo¨ÉÓžb0"YÁ®Ä«œ¦fõ½l682™Zñè0¢¡Q1@çÄ8ê«o’÷¨}G6žNßÓÜ9ÿÕcìáaôxËÑcR€( nfiÐ_!s–úÔoJ7dWP¦w5ÉóÓv…L…»¬fÇܿӈ"+¶hÑ$H6Vu" oz³¤îïbº¨"·Y¶Û”ÿ ÏfòNXMÞ\Uh5åWVÒ=’Ñ$4¶\ÉÆIbª©‹›9U5l3âe÷o¾)Ž9‹¦¹]Á¾¬}žj`#™ÞXL³Z?þ‚Ë)¬º‰sIˆÓ1bµ@éas/5ê_µÖŽA}ߘÊ\gd÷#å²$#—ýVáTªXZJ|él?8IŒ/ršw'‚޻ĩ=ÈaíùóDEèd39W† •3ẺGâO{)´$]«ŸEË©Š:sTHéëͱ!HA¹ jãÄdÒb“¢êÛö›qdãè&q›Éw–†uç)m³A1Ä,îå·1¡ø­f--gûJµg0êW‰z&>ì¶Zô*­Wó öBCÐ9ýF (œÉÊ’ÖÞ‚ô„uGñ®ô½%÷ÛÁgímÂVÔ¨…lµJ ?ø˜÷øq©¶Vùѯ4B‹Êfâ£ç¯YKÕFM_š°•̼W]SYæz~Ç+èáb®õ½µã¯QT@†j[LÌœ*ÏFGl­”³§Yi¿jDzq§„È—6P¢•ÂÆj}øeiïqðTòôŽmbùÙÖ-”O|ñ¯¨} vÛj^nûËÎÆmH&o`ÐhP«!Nì¤Ò%L‰ü(ÂòtëtR¨%6EÆ>k÷“H ›â¦!Kb*V„(rÕsM]wñ2 2+ÖÔ—â­fþˆVÙºäŸcR¿Òѧ¶/H¾!kê/*èØ*h/T¾Bù7Ï)”Ì® Ç`*/´ñ‘ÙC '»­KtS‡lÎÊŠ ™Î)[ C0m¬H¶{+‡J‹HŠ!AH0ÁÁÍ•»Uã5ûŸÐ3»FBêE&c ]>ŠÑ½u¯& mî'Òú¯ñk©¿ÛK„sS…Lh£â]ú>RÜå ååóKòï¶“/"·ˆX/ƒ×›§Öå;lï8ìbã«ÖcÚ³ÓA=™'EÈB0uØxIé1g+c_pi‚Ôr¥á1kÑ-œÙÉAm9dŸl;æ5}AžªP23 Gr5JÚÁržðËî‰ðÆ .G³b «ø9wÎõ”¬ÿý\¤A‡nü”£^à˜ý¼Ôt%í5Ú½¾éAØyb©‹~aµãñiw‰_³8ܞݰƸßù8Ë úÞÃxÞ·buB±Ìô ‡úìjuX¿S-¡cÉ“W‡ÇJp.«ï>:Ú„ÂÇ|¸GéTMUiò+JçPB™=«M¾­¬C§kw .‰9¶%ýq¢2tñÛ‚oE•K¡ eWi%É‹a;ýcæD-§W‚ƵU>šZï/$ž¡úáë4ùˆ›áŽK A5rPkËR+%,ÝÙÁâÏÍs¹xÜçaµ’ÙžÆNz`Z=ò5âu"ÂIk=± Å“§ô¢¦Ì¡Átq$³bCc~ý Kmc2=zçéÇVàKÛNÌÖùì@Ú˜ûÐ9s;6·à¨‚"QüÛûm ´ïöRe5’—|0½*fä Ñœ=ì•FtZô©Ÿ,{,\<‹~Î@qÁµAË"±¢5P6©¸½lŠiBküÿrÛw >>÷0Zƒå ¡–É'öMäÞ7ûĽ1m—j‹ Aʤ„4¸5ò?¬þ½êWâíh{u‚S#ÓÒ?¾óEÿCR±ª„¦ö²þ†CâB«Ã;®S37¡M.Ïb§/<ɹVGë#Zx"u¥i rNßÛQXÐF®b  3‚‡7ßüoC„Ýc=Emï¤ÂAÒ‘ ~.ÓÆŒÐÝŸe„ ‡.,PùZ¤%МüèZJ:ÌmyÇß'kHª§1•¥Vr±.HF…:—5 ‚¾ÓŽÕ5Ti;v4FÀ»6 mãjÞtNÙíþ§šì t8*ƒ¹K)е¨56¬#ÆLâfÃÈ.븂ž¦&šm.‡_r¬[‚««×u@ÙXû—„ÊšÄi}¶k˜»»AÜ2¡]#;˜‰ãÆ(Ï®z#h‚@ÝÒz$Ó‡¢öŽ(øÞa¨”å²:»®æv?!!³ù={-{‘$`~€Òï&XD¼EÛ•š+ÚÙÌ?ý“~µDÜ n.I‹'>„ÅýƒHõòD¼@ÑÄÐï??ŠÃiM}ÈÐzz°a [Én¤¯X%(D^hýÊÕðé˜}û{DQ£Ø ¬ßý-ìAqa3 pNå=“T>‘†µ¾ŽÝ#u¸ÅiRæ°ÈUɵz¥P÷Ùk¨Ä¨ð^·^t•_˜æY4¯+LÉÚ·RÃ`¨'gXÚYþˆÑ]õM™¿–>õ‰Ç[°kaÔ2Á³Î|=~ 'b&ði³\|*©v q÷¿H:àÒß–êÙ¼sF‹Vþ.‰v2 ük[G*tü § –*²HO¥ª8Žm=olÔJ‰lZ .LÄ~»ßY¸Ï pŸ}x$íRƒCÈx ‚Ù¹£X¥¨rÉ.]¯q2KŽÀÙmæüo4)ÓNóp.Ô2þù&{ñZ¶–™šûüZ0¦a¦÷¡%!XHp‘Ø:÷Ð2I2†@Šç‹¹jà­—µ0¿AvÈŸ@ òjR4Cu“²]‹Ö ›„Yhd_J8sv€¨äff.â(Öñ´Õ(ã=ë§ëÅ2èç Öhý…,\jo•æÒðV˜ßú¡Æáuäœ»Æ ¦0ü¢Mؽ,•Øuf›P³£€ÄGûÒÌÏe55Ö˜~}0óÕ^>DÜŸÐ!‰þ}H}ßPÑ6 ;U©A8§Ïu©ïY¨ó΂¶@ kn_ü¶#|;Ÿ¦PÆ¢òõH™æÝ2—5Q/ðoP0‡Ë¬µ?‹r4ØgçÈg}µ²| ³°â¥F`oÓWèBw\Mžø" QÍfÍç¥éÔg§G’º¶a:”ûüæ–-›´›žÙ‘<»uVtVûˆe…4Ãʺøz0ç3AôÆÂtü.£Êøƒü¬ hÝA¿"¯Éí(YAIâð>ãHåañW¯¹JØœÄ`´¶Ýðªøù.æK™DvÒjùsåÑ×ØÇ¹!Vµ ü2¬©3{5bªÚñ«’h€Ž½: ˆ 7((yý|gÉâʾ‡GDZ º ·BV´±ø×æEÅ~cc(ÑŽÁ.e=ü¤l9ÆÑd`v’—†^X/nþcnQw;´¾þ»RêFžuæÍû?¤iˆlãiµs˜Ö„ (…ó®ÁïO“9?Ä~Ë¢3*Ÿ)óâ×±ˆ0«\wýn-H¢Ý]Êo¾Î7¹X+AlÓlc™ˆ.?ðzÀ|ݚȋŒoL”dÁö›¬B;¤#Ä êñ-*<ÈÆ¾,ªôÞ;$Æ®(’ßÜp츙‚¹.³º xÓðRwÌåßàyÝÎ t°tõéÛ*=:)‹• 1¤uá®LpŠ—/2¼ ß^»\ËmªÈhE…M¡ü~˜n#¨Wq5üYòq©MÐ0æìr<(µƒåž…>¼V¯o”mý'&×;ljÌL‹kÕ éŠ” nšúÁÂBé±×çÍ* øç%µR^ói-ï#ÔgÆ?†ä1Øy.™À0­ç$¨! Ýä`tO“7`Ìn·à±{J‘‚h N\ß&›„Þƒx†óvðCû‡±kš4ÿn¯þ*ŸèÝ™ÏCm¬}Åû:Žálù:' £÷v9ââb“áþ#ŧà¸$ ÚÔ ¦ç'‰q¶)Fg8³¬?vÑ!sŠ4ubSò ÝZVJ@Äl.CÏP°KK5%ý€?¬šÀ¥X!¶µ[üm o½ßŽÜK]qàh]î¯l{“gî!AØPÌýgSàf¸º“N.ÜUN¾ßV[K4Us©ÏÍãÓM_/˜ 5‰r?*AûÛó’˜Ú¡\–ÚÒµÎRçD«*ækB‚±\3 A¦‘©ƒº}ŒèU5;tMQy\^~½Uw Áq‘wz]Ò¬²±±üîæoú²õZ×rä2˜«4AE¸¼ßùàBÉä¨PP1ü°‰#C¦oˆèŠ*rò½>ÙVG~H3ëÞU©lçfVß×I6]ÚK³+\c i!½|_Ùb‰ çÐm¬Òí6…¡jÿ®YÝ!J “†pÇðw°|¬½Pífè òõõvmúc w’c ë*]}îX^‰Ûˆû™uȈ›… \]dÑ(k^…¬Z—v¾°ð„Òã¬ù{bŒMG2³ÇÊ3³çÞÂgË Y iÔnÁÝæ6Æw<:Ü>•/ üná o\™ÎàYxDóº‹Q¬åÍF&Û不H90|âêx®#2P¥C©ÂpÂcÈÖ“X5ŸÁT›¸s1Gˆø.z/%V§­:¦P°òó‰cyñü—Ú•Ô<}—•_x‘ß!Mïûô›Ë¤òý&[žHqÕÀí÷rÍ-izã²EžuåœÁ&g‹ sÂ×*ì0$ÏHùâ ¥µW á9_F,Ò ÑÀW)Àñ„’5àS Þ³" 3âÝ.ÝXæ< ] íÍ–>û$a»úƳ‹Á³N€RI'Uå§P§dw¾Ýdkß9é„}Mu±{qve™ç^¥@æ1ÚqÈ·"Sÿû®ÜÓ`RYÏ›dË:Fï äÃΓíµÿÌýZéˆ'‹¹À¶tJð…ÚÁb&Yªz› ‰‚‹QXG½œ˜ŠýÐZª¬ ;xd›º©Uï ÞÎÁë è]ÊC»¢LØ£vY¬BI+Á+bǾ3É/ÌÇ-rœž²œœ-“´!ź^·-Sj›d Ïc—ûgFƒ‘"µ ®tÊr¶B­€GóÀí¿˜ÂªNºÜø¤ù«ªm Yÿì;ÒÅ~«Ãæ‚ùî«f Ó¼vÐ2x¨.uKѺHn4.?ÚD%òŠ„MO²·²q¦wí†G÷¢úŽ×X`möÌ&-]¼Fi5âhôœŠý;‡v°“yªó§êg> +X6ÖE@XN:–ÉZ@ëçDiv«9–ÇÝÏ@öÝ4|šÂ^µ$ñá”õùh…Ðþ2;•¿µÜÜf‚ÚE^uN’æÊ…íKý¶™ƒ—*!17!„ä~Y”Qkp¯«â°Ic£ð¼ÔÁóé_bRÉ©ú, ¾2Ý¢Çð;ŠW´@}‹í ­‰œYòM,$žÄ tæ‰n¬†,e+ÌY~&¯k´4<—KZCT´¬fÿ”5åæ<$nÄ®Ì~LuËh°Q¨,áÄ:ÊÀʶ–œsjÒ^oçÚ:vñï­¥…Àª+`”YƒýÏBvƒýúûHÒʃ°¦R7³#"Ðb5Ú“éC_‚ЮҲÛTÈŽ¸Ž XÏôR"›¥LÛœž8XŽŒ¯¿¤‚ÀþG"†¼ë¿ÞMÐÖåíGˆ¶f=FûU(Ïø-ä`<ÜòDûN¥–"d“Vf-¾ò䦿v!Ÿº0ˆð2‚œyâ>ï¾7M ÜDµfî¡N ÄÀ$ÜRLMÏÉHƒŸÕƒ*Eí“ܾjèÓ7Ÿ™us£3«q¹Ž';qýÔöa–·~ÃKùk—-¹™¦ì€ùÙ2é-m:À$N  -h€é†áì3ÑUî)TúŠ=OïÝëÌcç³SVRjËiÈÁ˜gËó£€2"@G†qÈ¥åqÓ›.`GÆÀêÁ”Ž*Y $ ü…vd ³Å~S¹.ë=ô•ë(ø¾’!¯D>­I—cKyfõ ðÙO±ÖÆ–:ì…nò7”`HDœÆŸ `ÄÁÌ5Âz;{ÇrÆp˜¸u¥Ã$Ï ¢ $f.ŽÈdeìA±Â“:TÍ;M[òH62»¯+þ|U0ÿâоƒð¢Š6‡ÊÍw²×EV(øaãQÞΪöú±«1šl‘Š{§Înpu%4Ò„;™U£ë@b¡±î®¦1]¶j…Œ'8©¸ÓRÍxapÇÁÊË÷¹ 0¤HÏžÂcA¾‘QñSfï\GÑò«4}P vˆ—#­äØÂds,AÀƒÚ`©ek”˘û{èÿ˜lÉþ k[¯Óa0 y§ÝŒTBi+×Ï Ãæ×þÀÕËX3£týbø'ØêMØh’$Ǽ™C“a­òáPOo\l‚¸ç«Ã³ëÎÿŽLMî‘ð'ð57yôÖ± ¾å±Iº½z†‹ã+iÛÑý²‡Íuu•âsezΚs±/¿)¹êö$Ö½OÖM™kh®\¯Æé­Ò|î—P« ¶ÍP§nOÈ@øçøÛ@'žXC] Ä/“H^3’üä£Ð>Pu¦i» M+n#UÊv0-G¹ÑyO SCke¡7%à§6ú>C Âv câQµ æ”Í#è:r ªì¦ýIZNgOZsLDPœˆ—E×tñ YÂ?ÈÇOêúE6¢EøÞ/­ÈÅö+R¢ô4Ýý^…ù²uMS¨zˆ¥àï¶b ö©‘|¹tY=ÍÌÇ9°~¨,/̤•Õ r€šãiƒi’è)ˆ«KgÈä©Õ3‹슑#1¶ÛÕYæk¹m`¡PƒÊx?ÿ}@40™œ1Ø\47ŸÝx´ì8^tÅÛè¸ßqÝi]œ½ :ÜõôWá~Œ0$l”߸$4Nz­Âoˆ®æ’2´?&Ôè>ZdAfÈßú܆±/åÇÎjvirf#©,N¾9 cDÒqŽ˜Åè-'Yp/Ö—â°Íüµ×‡‹”íx› |zjš#ïý~gÊ‹”²:QîE•ô½;x`OæyMu$­ñ<ÉŸ}¢v#ù\ìo] pLs\…R‹„Ëöá²÷F]·¦9¼6Ú1°?† m Ôš*òª¿]ÖË<ð)*ý웦A¶Ü·xæU‚•À½rùidí¶Ä €L¦wBÐYñä¼_Zž~žÙMvöoáÓ·ÊO`@’ÇQ³røÇ©ì±wŒöÍãc‘ñ­,êÆ‚zaÝÇk„¤|˜÷ƒûxDvHNáÐÖþî0? #£Õ¿Z¤e¬¹Â!È4¢‰èIÐ5a1‚ƒTþfìó,šQ ²¼’q4_pTž…ò“w°f´Ü¹PLò~\öZÎ×sýöx8QºõÞ>½æ"ú¿6Öî³Z¾Þ~y1¸ÿY+¬Bgû@Q C²_W€ò<Gç‡ImìpríšrýU[Žãj‚#‰j¢9ˆäIíg©WÄ'–!h ÒžµTå «¼Áú5zg 5Ð>6¸kÛL,Jæ†%÷JDi¯RŸÅ ÉRè¬hËxlÅÕÐï«7h_”ȵ“¡c™ïñÚái+¸»U?¼?2;$ë&+ûÿÏN?c–1$°Ší™Ã³µßM/6¿·SÉ´õŸ..̺E‡|kßHôm>æÇË‹«0(1êÉjM#V,¼$.ªáJ-—RÎ'¹¨†Û?Ê" ;^ÌÞ+ÃÆ“*ó Ù1—Ê g$i*Q÷´KÍ–2q8IãÝ™lgAFí« ªœjï?-šï™OÉ.@7šæ£^#^X Æ„ùø6…ÞÄL]ñV¸Êky96 æ%b„$ã+hoi²zš7,Ñ—éþ>c,¸=}ìã^£˜é„Ì›T{=t.Rí"·Gz!ŧðJX )RÿÈ@J©¥Þ‡Y`¨på1þ\X¨²}á´Mè©Û`…ìþa¢d6!*»Áã½p6ëÒàæ‹èàè³k™¡ñ ¹žúnRJ#ÿ·çØíŠêð»¼Ñ&ˆÚÅû;ÏÔ íºKCþ§ÁîÔå§ô¶¾›~rëC.NÊ-‘˜ÖH´rû¢s4S³‘‚byç“óã›’™0ãp%P_f/Ë&(Ù‘š’|ÎF‰$Ý‘D~üŸÖ…>@Mnü܇îl¡Ž5Û5Ðm‚-ø·bÏÀªÇËz&,ý@ ›Î GÕæu¢ÿ;ÕS8…´ÚÖ"6­&¹—ìGÐñxÃ+a­>;„«Žz…®õ§(ßÖðù±š™G+ó‚4i«îX_üÍ ’Ñ7èn{.|íÿ;µÙŒ.ÀãâuNù[ÿXM¸X:è#‚± óŸy“tì¹m¸ ÏZ«,­­ ¯Âaq;áßß¶]7$.?^àmÈf€ɤàçˆI¢~Eÿß_)}cF¢âœÉô¸©ñ9ÈCLÖ¹7NJaœô†Ã–ðÏ)Twi?øp(õ ñ'Â[‡GY½?<ÃÞŒ{¬î.¨‡¸ÉÀ«÷/O4—`ÌIØMjï6…'ë¹ ·ë,_ƒ¾™ÒBq|·U%xóSpYróî³äÜúU_Í»¶ç2X Ë—Š6ÔÞ-å¯á3ïüS_ …Pø©˜@9ëÇ2”ÌA€…é}ko÷p£ÁÂHn·¤3*œ`HŒ–:ëô!YÖjþò™µ•ßgî£U±àǨ”øHîÍrw÷p‰õ[·2œ—À&¦4 ÿ÷&Ãæ»ÿ?¯v¨•«–š662ª>}FP‚tà»ÌU©Êàñy»Rha2~©xdaPî “X;ÍÞÀ¾þD•ÇZÕB¯“ôe޵¯ ÅeÙ¿6=±ýá¼|$<˲âf¶Ú0¹÷‚9HSµ5 å§GY¾Eñ[ð/lvà>!ŸeG.Œ YÚòü£˜‹ÃAWÖL‡ßµ-åýñ´YËWdðFŠê5Ê[Âñû ¤{‘Y™0<õŸÝ0ëÛƒÝ$qèùb 5¼^ob ¾l©° ‡ÏØÌ· úYsåÌ•(1ù«$¬1*kªå„Ec5Åd­dN7¦w,,YÂC»3Rq–?D•˜8Ç’¤|~~ßn0ŒT(dõQ8"{ß¾»"¡‘¨ÕÈÑ7s—µ wu.—dÃÒ C•¡%™Oó‚¿±döIY¿:6*­ÐÊ.nª]<^6bȳX-Õw:uåæ-éíÐY³ôcòQ™$\‚àok$Lc{ëC_W†Q¿˜°Öú„{ 9u-\g‹€Ù ²·ÉU/Á]?ÆÒn3f¢È}—Ø’Áñ¬(»ÏÑ€M䈷žu~Ò¢Ë&M‚š 7ù`á_øE›¸s7eÀ¸k¤v¸éàvéì2aª?¹uÝ6¹sNk¤=dÞ!ÖXã9†ìDå<¹r(2]”б°¸õ›AåÐ9”/ŽGÈw&K±ïú ܉e/H$X zÂ’«®•ÊU Ò´,üË6ºOYñ¸'9«+ÞP(›ÇÒÅq+šùrÁ]k×"I° 2~coÃðNCꕵxݬrª–À–†ÍñØ Ä:gXB,ÊG¯ ºíe±y.759i!¿–bŒ™š‚äû±²[…ÒIªšÕ÷~¡@Šßµè6t\OPúY¯è€¤<òê†|Hny¤=SsŽ»EØNB3¢Ùƒ4Øs_N»ÕñËm %iÆñlÂΖ{È1S›Ê^AÀn»&Ûô«v­E£AEøæÐFî{C*Å„:óOcµcàs_œ±’z\=™à&¥ÌМ”Bƒ£é†î¾ü(¤MßðXb€XÓ„òHëÀu¤ §)–1_>RÝþˆ{Õ¦ªœ?)y“bn‡ÜÚX„yñ@ïW”ÑÔÝ:÷¡rt˜bµ5dù”îÆ£.?“e5þ°‰fqEÒ7Ý@èqð†_åM÷ýÂú<À)ƒÄÌÎLéçø0µ”‹\"’?wFzvXZžMJùÝø¡»™Dm '£IÉÌ„ ò˜Üù3ƒ#‡<€¨û¹º.mdE@íé¾Õ} ›E'×qt`6t»9nßx…Bá¹ÊõU5ÄÆà±_MñXË¿"< 2²v"dÿ.Ú›G*îÔ ¶‡[O ÿµ.¹JÖ÷« *Ôd}RűWZž»=gIêí9³J}zþ‚)p"ï´­Ÿó,ð#U=º–ç±ÿvìiWÂxÔ~UìEíì®È€ÁË!Ysê7‚ö ºö:ÿ#%hAó«ØÐOäªô§H· `8³cgñtèfäe1å8ttŽ,ò%%Þ4:9áþÑ!C9Sq@[oÙp‚ó¦®0T¯Ç´ÑHÊö†Wº´Þõ9¥µxl¡> ™Íï’O/d¼šìSŒ3&2‚Z(ÎVW[ÿÐltвdš^Ԉǃ?Â@«Wd7¶&gÂP„=j‚Ÿ 4=c—K×—þ‚õ{ÌÀ5„gIÏ®hÄûÊ:Ÿ ã´¾ÅW‘Ô[&~Ã|»>ñÊ€UqÆ^ûÆl³‰Y®ãU¿à mô‰†Ï¦ßÞSž.*ÊOfGУ 19OcFH£“g†Â´ö»3‘£V´¨ëëÝQzr7Ÿ• ÛQ“|g¾ü%TC-B¶e¨B žÑ^ðèŽîî•_ûᣘ-á<¦£y’ª=¥8øPLŠÙõÐ9û;òp³Á¼ywÌÆŽ É*J°#Õè³ÖmOU¬ilùÀ{¨’Ù"ím ï„é¡L Ú! ÊV«ª|èȺ®õD~¢äÕå7·â)P L/D~u²‡q~–¥8ÿrdn\GܘÉþ ½ã˜EMíK§£q³F/’œ¡S5¤RCKu®NîàF•zø7©.dR¾™`tQONÈ‘]ŒžÅ¶ z*ÍjñøÛî(Àó¾3{sâc“­Ò°ÖH1Þ#q‘–nrg¢!TjÂõêY¾}10N‹oC‚ü5ù8[‚€þÐtxlòÂ|Ö=ŸüaöiÔOoévQJ 9JPPm½o$±¥ÿƒìÕ=kP1º+Æ“µŠ@[P‰àþîÃÃ)»@SÙ· ÞéLü×»ë`ü50A¡»xÔF¨¨R’´Pô§ßg,8È^ɯp«äêVâ·Ôlíï§Ó‡,ç«FÞ8J¿ÓEi†¶ýÖ°JºjÈ?…çÍ4™¶Ÿ²õIeQYCs¯ÞM)‘¨©¦€ªÔñ”¼­–,vÛÃí–n‚L—ò]ob¹LÀäøW£Å¦n3¹s_FeeÁ˜ËŰd#t 3eC7ÆgQ¡e…U/!Ò‘…ç&l— Ù+<‹°Dèšè"™9›æã#äx¿ãƒl²ÿŒÕ»Êãñ•¡Ž/tgµdNHÖ;*Tý¾Ìxª¥ëëò†ÊtSkàdœ@ùAJLWÜQYKÎXTžñÝ¥ü\ãˆ@úB¦O›äD±Qþ¬êýIˆÑ‘¨Ð4.N¶¬’çPb-ý$éŒÒïp·#“,¿Êñ‚Ü€Q.„à» 2—³ña¨ÈtJ+3´)ðà§5”NG†oAPÅöt6PH6 ýŠ5¼DÉ)$à7Yfkž¢¯Éw-7IÙ!vÇè×Nñ Æ¥Ý!bþ×ÄÊOÇÈ7r ñ Ú¹eÂå>Ÿ^ñ{RŽ›æªC÷îmdˆ1üæ Þçw¯Qk1ššÀ€'䩵 • ¨ã`L¦`Á†We^¬¬ycuúˆÝ£%+É$œ>úPÕÕ¤TËZ\$Ú{™è Ø%Rï½IS{ÒÐS™g~Á‚†Ì/2Ê%J(­¦  ¹Ð³»=®ãó]Ö3ú¦Ôì”QpFœç 3¨‘óÀ¢pýX<¶¶=¯ÅPÀì:ßš¤C ¡Å`Eì zLŸ€Ê!lÛØœ†œºÖ©Ä4מvTýhÚ‹TÛs‹[n³øžÊyÅFL×=7D]Ä™ ¥då˜S~oq— ?Æ  üœünw”Òêûó ó]ú·jý%hH— )ëÞau`Ms—8£ï6ÔÜc) ÚëûZr%j¼rfÅVµM®+ô¶ðTkCómþ¹ã„qàçµ3ã•›9+)wRYàµý©Æ'<û'Ùéhyj+¼„S¦ÛÒÚÚtʫġ3½.mGºÏtÒÅØcöõCÞôÀûwÒZŽ*†‹ì÷X[:ì¸ó¤FžƒI¼ ‰“ün.AÆôe5j<”XŸØØßHàº("µÐ1ã»ñvœZ(´åH©÷úbkÐû ú´ËXCu³»À¬Ø.1Ü|•FTlÁÔ+óhû¤ÞÚq‡g9$ d€ò]æJb!ÙS£g9¶ž;Ú´X zk\Ù†øÇ_‘FÒû–4x˜´œÑ©™:*À›xÛLwð¦ýĆ‹S§»¬Vñö&;ÝœßïPÃòã/o2-Ÿñš‰TpªhiP%”§ïÂp…Ÿ3¡Lå¤rÐ'5a2ÚÂq‚Qar.ÄÞ ¦ Û¶/s›¦(¨ˆíê4“׳Duñ ¨ã›3Tn+CŽ ³j‚ɳÞËà3üåø=äç7ºù¦¯¦ ¤î±8Tàè“á7ЦۼUX˜f­Ù¾×¹š0à²ñž‹ H-Tóü×ÌGP˜3EÃ…˜¤CNËmï5Ñ“ÿ“b×-üÐ*OÎÀɸ’ xvdùH!ä &u¯‘i{rÍ4'"ûZ;¨¨ut㵌L­,›ñ¥sâ‡4&ùy0 ½°#™¾ Þl:·ïŸÂ~•íæ½qåo¯­D÷?¬hÐÍíxvH¦­Y“S/+ ‚øÕ/çí!ò#çþï¹ô·R®± *·±ZS:¯ˆ¦”;·º·»Ø–Έ¤º¼hUU«7ŸLÙè?ø(:a¼)z„ñjÑàSùRKDõ%O~ØX]žuœ ŽÇ –XŒ}“ š†YjK­¿òÀèW5oeý²þä|lÑ÷7½ä„×"EEyUl°„¿Špî 9miyôC'( Ø¯œ(ԇüÉäëÝuxΊBåüȱuhá BwCÁ¤½ßú ÁÎ}0Tfœ ËóR‘7öGƒT Mž|I:Îÿ‡ðÖN¢C`—XñŠ{‰U}’¼|’ï(°œƒèÝ÷I#°{*&X+&ÊYS0…ÿ_PÔº•Ob"û+Z˜+ÿ0×MiA:Bì2}>DþˆÒ2Œ¸“o’ƒ™U2ùG¸*1Sùlv›r¼â©Ô†¨¡Dò%Í`éiUpqì}$:ßa 4ÛHG,O¿žÄ¤~åç^Å<:Ðf­âg|ø­Ýˆ(䓆_+9è‡Q;¤o ¦–Ðq±œVÁ”T~¥a”ûOÒÀ´ÅÔ´ðŒkfêÁJ­³Zé}ko`6Üžyþö‚£L×&>Þõ^Çwq€?ýbÂè|m®ÖÆ–beì£í‚YÌÃsÄ 8$Œš/X¦%Ïߤ5â‘«·,*”z0¡ô«åG0u´É/ÆUpVHµ,}Ö—@¸,iü¡³ZHïÊÓ6†{qK õà _Bf¿&ß·gù»GBd^}:=·çl‡j&ãL¤¼œö©¹ÖíHàñyÂìÓ½´XÂ÷iŽ…1€£“z ¼=š|~Ýåì¨L¡b]÷×ïÍà·Y)wDXÒØ`A:ªŸë|ÑJ)0þÝf®f #8gÍŠ#8‹K3†ñYË#Ë(ß¶[ƒ+î÷{_Ŧ=4ÈúÃS0—eZ3XI\ú û´:^“(~ððØ¿ô‹y]Ö1ê¶C§8ЫS7ô_å­©ú„Ø3{°×EJâÍ,”I?Ozûœ²+ sYš »Pƒs:{ÈÔˆ0+¹}¶¿ÿò_",l†ÿËŠ3îªö ¹´™Á—6¶Ð}iBÃêåB)‡Wß…Ê ùΧT Pwrí %èÍãƒOSÂ7ml`ˆì‚x’õœ{öïŠ'0v†öZ½*eTÝD˜ÐyìcVï›ÕŸúŸ˜F] ã/ Ò‘Åjúl2k%KƒFý×ýÊ’Kk±ôùªÁ@ÇkçÄĹæ$_È *ÇXÝ©ñΫžÓ‰XwwÌ6¶¿yùµÕ„SZ^ÚüyÙ:£nã 8#Èuއ Ñz,ÈkÀ)¡Ä­è®æbhŒ_Q±~åÁî¨Å׌+‡ä’¯gÔÓ3Ĭ‰Âª†" uáMÃUÔlD^„• K–ò&4ÜY†ø–cìL[ìiŠ0kvÙ™µi`ØÞØŽ£µFã@su¢Cˆj!ºA¯ök=—‹rן Ÿiú§rßAvÍðCÆþ@¥æ‡VQ’iM‡|@lŸ®ÍJÛtX¡œÚˆ  )a>L—çÔ˜£)6˜ ;Ø-±±I½'³}Rá3ʪü^(òy{à™ð£ ¹,ºÁ]í&«ãðA(…½óÃã@ûÓt²ÑÀ½@¨¤Š¼qõQl3¤‹»dÝTy’Dü%äe±3ñ±¥ÛbmÄ”õz<Í+w‹'¬æ›™Z¤k O`/ëütèz]ZF¾z팵½ŽQÁñ~ÚNÆ55ºÊNÍlQ®°{U7à—^<ðî7>¬µò°eÝšØt€&]9"Ðx–ê==ñæmCh¬äf>¦qçÏ™&îSäN…ìâËBµÈKù›~°=ó{¶Ù:’ûE:¡„Ò&tw÷s[ІP.½7%,ë·7´˜ Ñ‚瘹sGa¯_p­a¦ëøËñÍÊiªy Œ/Û—ï‹ÏÒßÛ4¶ Xôb”yCÌ+úòª®>*²JÓ³+D›8Q7¢h ¾R{Qí8î÷Uú‹3á~dß™H¹…9§xK~ëú29ÇkNÙÚ`g\çk®¡…¹$±‡w¥=J#OÚcÄ'šh\ ΢3 ³égÃÌ›Ú[fy:Ú"Ÿ™ãå5ÏîÒ‘¦t2¿ÇG¾˜VÛzÙ‰Úî¦ïl9òÄw–@—! 4#fÏðú´™&)z50 ›6f¦}ŠÀ.ƒO棞ùû!fæXá'Z«„£øŠ,o²²ØÑ!9TI-gÄ‚u#·Ê"ŠìòûªÍÍ"ršô›v«Å¾—Õ:ø ôUë_òW'†’ƒg¡w®lùÓ™m5Ì“f¥J?#’ÈxXsîÛ9´V9r­ßJø4geÀrÁ T#95Ž ëŽxA§SB&È¥Êû¶ —GÞ‘ ôÿ· þê{Gô—&ÐÉ,=Èzÿ¯g4±ysTØÁHiƒ„&Ÿ†Û=àºt¾l„Ôda©Á½o´ý½ôÇ¡¨Üîó­îPíµkàå%µë°2n‚WeÞkÉGN éŠvÝH£ä½÷ÝÀøí”v!QØí“Em…î‹uì~{¿Õkå"¥–¾ñtÏ3þøvóðÚÅ5|§-¨åaLø0]^V¬3Yb§ÄáýÔS¯Ëe.•F¦êsN'—E –v¸¾œÆ—8R¡àIøBðæ‘Ê#Þ5ìà±(w5ÖõÞ}5àcm…ƒa¦…r‡Wà 'U=¸Œ)ÞØ?9`_uP^&3{O«ÿA]ª{ä4ûaºÏ‚•©Õë ˆv6¤Öl,?»•~#du*"$@Ÿ´¢¡¸¼F5â$PÅ^ÖÁé°=ü*ºãP„šÚ›šcy[ÍõxªöÙD]ìÒt×Íe¯zÔMÁ·%“V´Ä3½¼$ ì‹Ô~y’ OÀ̺;"91€ùŸ>°|ùDuoü~ µn1J (ãüYãåYñæÆŠ{ë;7ûº0Àaß¡TÈ®¯;ã[‡CGH²z­Â6¾2vÈ1âf ÃÂu+Í2B2ŽÍ–y7Nú“b 5™}ƒœ&­<|s"ÁäÓï/I¼Òúüݱ•”àu1þ w‡(¾c¦Ú]ïe½gæ¿D$ežS¦¨¬>Xœ2cü&ß.|öÜÓ—‰l¶ðRCÏ»¦:á?å]`V„â¬Ã¾˜K:É.A;K>m$©ÃÌ+Xò“Æ–è:¡X 4tœm£>Xå$ˆo‰;çä§õ Ò‡ƒÉd­=ÑS­!„”qÁãi¤ ÓÖR¼‰*)*îg3<‘$« Uú=O ‰(r7!ŽÓœFt|9ªÿ7v#l.É+»ý}Â.ã›ßÃÍ#R›·wuþÝ=ÏH )q— XHÀKS²ÇÎtׄ^tŸnF+¯GÞ͆QfËé䢶Leü³¦}§Lhé´LTÑ:ðóöÅ*ä™I©Ã}ÿçË-£·L't e­çªÁ3×ÍàÚ;™Õ¨A…å¶6rV‹¦ûÏ,€Ö†äÇš¡."Û±0* Ù÷¢– U¨ãÍ Ї‰bÝÅähÐAFÁ-{ŸÔ"4,ÆÛнm)Þ;qËoŠE[YsE¿â4¯H¹·©Pί§-oIÊC OOåV"Ý!éîþéUr©¥ìÄyjQ’ÚJðì†7BhÈs6ðT^Lð~Æ‚/¤%x@_€Áù.R‰ÉÕXÖ(×EZ®†; {¡x^´ý2—£ªaÄ¥*@RKÞ„—ïq=íü†Ÿ“äYåÜ>?¼ ¬Ÿam¨t`ð-ë»&Hå‚ ¸\g,¼7Orš±˜Msç*é‡;–«$ú¸^¥0 ÌÕHkÏŠÛ<=sR‹ ('–ý™T~—$a¥ÖÚVMȉ`úΟ2ŠÙAÍ(&àmIöÔà#Ø'»y,´×åîÒÜ“Âr³L}ÌÿR¥Wi1nìºh׿tÄ͹v’Kä—È£[BÌÆÉx]óâY¢ÿQ$HÇR‚oÛ¶ö²fžø+x»íþÕ'Ñò’\á>gvìWõ-<1pù'½¯ŸÓÆÊcàðsà»yfn_Ó̆íÉš4%¹Ö4P³Bv—H^ÕÀ¨BÚî at£ÑÕKM䪊¾¤¹ã ‹¸5§:ÿst¤7Fo[ôÿ¥Û)-£ØT›BzAmg3o`ÿ›t˜8ûê.Ϥ Ï©ÒþŠAŸ”»Ä´ú2 ò(8¥ÜÊ͸(Gf^ù•JöMÖþc?>ŧ©…@' ã{ö>^[hí'"øñ8Ë ©åëlp¿k‡€æ¬» Ã)Ÿ¦Ë>HíYóæœö«íù]ùBÜ߀;¹AEÌ?êï˜C¶¯éz8lTr>l²8†‡9u¸"í‘yWïÊ ›Vƒù›`ˋȟŠGÕ$]íïFÓÕzzŽ„’:NöÊà Î’Š%OZŸûÖqžºd ±úä݆OOgU?+o¯BYï=¨©›Y»Ú×'¤ž3ý÷,æÆ.ge§bìrmv[hƒ,ØN {õÛ€t9˜«ý 2{ÉVÄÊ0áÈæŒöÌ ¾ßÕ(}ù‡Š;ÛbtþÆs/Kc%ˆKó¸)²åÏÀû¶Y`˜ÃÐý/¾ÐBdâoKúŸóKbqXœËŒx3À;/óH2·©%A£G´,úéZÁë"› ›Û¦tZtZêWÊ3µóžAIÁj ¬y¥ëÄ¢u•ØDho×§K¬.Gô'[›¾ùÐx|#¾ËÌ( %rÜ?{Såž÷L£ErÕ3‰kë¹?"u}©™ á¦c5Á­ü5Hr¨´I HP(Ï|<Âá5â,èV-w%¹z¿$ñ‹ˆý}wßœmUýn˜>~é‹Ã?cw;›ãÜ)¿øÐI{ð¾vVç¨Y0Ô‰2[ÈVßy âÔ’.øß^±<_.ÂOå2OçwûäB©o†²>á³ô¡ë?"C¹¾d´š—¤ÌMSP—UÅCÕœËßä5©õÔ r»~·%H’ùmÃê©>ó2âödžÃ±‰ 1×vÁ¨0ƒÎ$Ý@”’ümXöö[÷˜qé<ǽZÛÄb!ªƒ}PMÊ@$Òˆ kij×þ+7~mlÝ_Œ±{Íbƒw s)nϹV»á$)?‡Œ¤HWg*4$´^Ȉœ'°!¬rÓ{¸f%ûUÃA‘â ü ®Ë~p.'óbsã—žX8Ö£Ãy %ÐöñUŠƒã/$ܯÏ5J2jiq…Ù®FÀvRcCŽjÓûá~”š£Eð|£ðsþ‚z‹}Išq|‚þnÒEˆ·ûGd·¾†’+\'QzÛtŠ9%ÌÜø§z¹y-ühçBÈåÜ êsÖÆ~Ý=*„°¸ëÏuãoe ~>iwØW†]¦<ãˆråöå›Ë‰1ø>©X-ñ^÷Cøn¹þx«£åˆy{ò-^ ñ:úþTg8ë@¡Êù^ÁõÅ ÛÏ ;è; Ë×¾Îà­oY —ãr*:ÁA¿Çôud<î¸"lsxÎ/›dœYhJê¶Îuõ&û¦Åh‡ôUm‚\£ã8¾ä<} ƒ"™Lðh”ЬJŒ,¤˜¡Zìyóõ{¾ÁpÔªsããÚ2ݧB¼‚j™“©ü\k|ÔµððU3Sü–ºÒùS•¯‡qIò”¤¶ [>>]ão=jo<;¿¾¥ÕJ÷/]Ó®|“C‚Zk¦Ï2ÓFz" :>RWSÿ1ú ¦O꣰°…ÏG¨ÔÄË•/ä(²ºôÇâ½ÁÛ¯¬Éµ4Éi5 Eºs¸´æp \Ô"&˜¡¼²ð%ÍsÆ‚T‘Å÷ ISÿ5ã—äØì’n”£ÒŒ€”ÚàBþá]íŸøG?ÛˆÁO<#2Cýž)‹Çh"4r¥*éâ_iyçS…Pá?÷ðUäTþÌÞS”XoX*¬«˜˜ì_õ:Á@R.-±SØ­)ùZ¦)%À¯”qýLÇðú8§>%Pû(e®Þ^¹ë ]|ï Еb†Ý}JíÎÇN°òæÅJTl8º‰´Ö²P0x) Ýc `Í ”éÁÚ¼iÌòž" Œâ ™ ¾-žïêh'¦ƒ!ø¹ÛОR´Ð°( ð»ç¬úSHž–¿­[@m˜g[ô²ŸÕB!­Ü¨¯—9°ßCÉà/4M2Œ·ºSê?ÓUñWEÆAŸAÐ$'Ü iÞ9¹;¿06©1€ùW!‹!ìÊåÔâú›ô“€†.Àt~`‰RZX“‚¹ü´gè}úSø4§ù¼—\v:¤~ÂÞÀÐ>lëwIZà/±ˆ°¹š2þ£ÛwCEªs`»VÍ~ U%ËA}Ôžy ­¬ŒÍÇUà2`ECrД9Le²F¯ãG{»úH†< GÃýN{úu¦Þ”–åã,tް¿R¾â Œ*ôõB²& RÔäòŽáGxõsD©ÝùH¿W¡kGÕ™r¡\K_ÂÃÿÓ¡¶ñJ…osx™ —qãéùÁžªÂ䎓:¸c¤Å÷—)Vqµ®Lþáñ¡þ÷;b©ÊÔè ÅŸi5ŽdN³a5 Ü«ÏˆÂ Š 7`s%ÉVWs„àÙËÑí«Ô8û÷Nýü² ê·K9±)Š-KÍyIýø9 5ôºóu«–‡y24¸û%©=ÌnõAýµÖ€31­,ƒ«äÓ- 0ò˜Êþ‹”…'iWþ”ª‡gÈC“H¶9' ³‹R*+¨QÉ'ññ@”N¾ø(O,Âð¶‰MRHðÈÕ&|ÅQ…Œ®d,@ÁÑ òéÿëV6Fág®¶˜cÐôe:#SùˆÛuÑ¡o½~H§µ›©¤üÕ“|¨V‚rúN¼†Ét²6‰ó-BN{Ü4ù5‡”t©<ûk+Ò}¸ð ÜÍi£T0axràq â ÑhŸÊ2k“P ö#«Aú Ì‹:–ÈŠ…ÅRé/ÔÛ#â:ä¿R=7ï=ä¯ôÒB|~ž»]}“c[»¨ T¡\AO)i õyYÒ°],oKëPÑûz;ë²WGµäà…½q=”Ã!¼¡gÕ´çBA‚ªa9fKÔ grQÈš"_˜ð§®%0¢>¯N‹9OB˜OúìXáeþ¨ô1Çð&0­\؃ÿ™ÒlÍ3 ¾¨>?€BüVpFën½ÜŽí3:犃hûÏbÀ“¢j§K’ £$$›}SÅrä’˜#¾b2·þ<"Ð_›‡ˆ%hFJHHÛìŒ.X5Šå $É\¡Í'ËËkbœM7a°ö‡3%½°e¢ÔO#eº‘¦ômnº*d–˹؆šµÜÎÎc6ùèb|ŽÒ•fª$už(fcÂ|2NþSJH‚]5Q•í­ç_Gš ©nשF¯ô‘@`OOM)ɉkò¬„Wú9€ÛD»>Š{‹oÉ}e#$†#<î¤AÚ,ô~ôë9pƒÿ™h‡@êu]ððz‘ÐøÌÕ~>ß`ùG"–ÇÅæðÊL¿t†1ÀM$¨**bÚa|«2ê·ØdVñkLøgž“þzšÄƒ }HIb‰ÒfÅ×W·Þ¢EÓ[s˜ƒ€ã'òO¸ú~£žþT£äKÒb}õUÀ[6§[¥ß­î® Dÿ²Btél “¡Ï›Ž ür“E¹ëqÎN è{…Ípw»ÓÚð«OËDUðP ÛŒ’ØAiv¶ð;£O(º·¾žZüïJ3f0õÔý¾s|E«M£Ë001CüøFןøDwkOB2†ô{Ý9ª _çùEwt^™F³’çârƒQzÿh)žB_¾(aÁÒÎ(ÀÑĤbÉ^Ž­³?¶íï” #,ŠiHW—ø4KCFý0ñ ` xý7h@в. Ç¬ìv .ÖÔZy5¨øT¤ m–^+µN-*R?H»­uç¤ë]W­D"åêÓòÕge§¿=‘œ*ðïQ.ôç_zÑ“üÖb£7bøõ•±ÀL6° †Õ¤®–­,"sdî;³@¿5ËÂÉ„(篽V¢5ȯ^2Ë= W³kãÆG_hc{’Ecnð£Òá¬ÎÒ§Ë-m»ÿ… :Ë/õÅýO•#—Ðñê+}|Ñ‘¨•ÔÛœ¸¡å«,”ðú8l‘Ç|8Cýnmºòn<åå^oÌöž*éD¬²BV1‚±úCû+¦‰«Ã· ­Ëân×Ãt P_¡‡¶0^?ýJ’ðÑî:‚u;—=JÕNO- .™]ö,Ló¿lí”,Õî¯ZYÈîö[{<ÂÔ’ï Ô`ø Ã{p‰¨ƒÁܦw1BÕ~'ŠÆPjǺ§„Âívû²¢˜ê$¡Sq ÿÍayæS´œZy²K«é©¾8‘ðFNPD‚fíO¦X¿î°¾‹á¢J“{qÊ]‚ÏJ”ÁúÍR˜™0(ƒÐc#D£–gAƒ•q¦ÇX¨»Ð>ÝM‚jU:µBéì›&tS– (Mε݊Hùfwxß®¤7ppð£ªÇ:X¥øxöLŸF°°‡ÁB)EÌç3-*‡üÍ”b¥¦/X®K”ŽƒšÚºøÿõ“œÏe‡t:€º^w‰õbÿ]5ŒÕ5ŠÛÚzQ‡ò#:`´Ñ Á¨Œî!íŒCbH«È…Îàò¼'eçúèOý—$–C¥'¥ô¡€h–]׌?ÁúœÍX‡Zö*Nñ?«¹ÛžHˆÝ[¨·ï\­VÂhù„XDC¢µ¨yU¸iÁž]ÜŽÉĘœÕÒöÿÒ1ø=âž`ÌMš¯Æ'g{|+*g1«§÷»ö5 ÂÝOß#™™êȧ¦÷ , êU§Wø9n·b"¯þUÉI¤«ƒTüáLw”] ß³rÎn/4ÃKÌ[?)nâð{ÏðeíºN¹n.Ü:·_ÀèŽËE J³¿ö7©¯}„¤óãU®B)ú£ïîÛ4xnçH‘ŒÒ4ç Ò¯[è2¿Ú)ʰY‡ÂåËäñáFL4%ËðÐ5¸g‹œæÒ·µôØœ¥d3 ìGP$¥ûøªJŽ•ÀÃÌ]95ié»{*åº ¸]ú¼ö§ë Ð µÝmÕUŠç-±áÌ›†Êχϯæ3 _?±³í 8GÓ˜SÕÎ"ÙG¡y ßV…?CŽÒ÷Ú-wP‚É,\‚k~ÿòU >=߯®&ûf»çBqÅ2D*cM=†èOvzlÕý´}Iê A7Àj°Ï]XVVH0ÀÞ$êi̘òo̯óÓC“Žfjì0õqÁ_¾Å;³Š>'æpí$? {hݬ›ÃÐÐdV\w¯.ÅÚ;%¦5lSJ·qÿ÷#)hq΄¢|‡ÿ‰T­‡vºcc’4wàåÑšCHÞ ÷KñYKNöKNMíRŽmª fù{'TràHõ‘™Hà·eïà-ð_3Ô bå_œUXí¹&OJ·'ímƒ¹l‰$^Y’Qaø€Ñ½¼6„³ËpqF±d(L$§˜Ìwç³t¥ZãMY±<{rî´°rtK;¯Heu(šU~5ÕB Zº™êÖ‹1ðÅU gQ‘ñ"ŸÅ\CšûŒ­âòà›ÑÌì˜Nr |¬2tp‚uícÇZí­¸ðŠÁ•7zFÒü#lt¢Dgj)L›  É Î›LUl„:½Ì_–|a²(Æ/ë‘Ôʾ™t€Þ\)ü¿r‘p¨t3jrÍç?Ðì0£ ¨‹ ”²Æßb`/Êãb]í¦©ÃƒgŸê|J¬Q‡V'!Å®çKE´ŽöÎz æ¼T…2VŽ‘Ú-žÒƒMç°jÞÃÇ$‚¨Ù®:´’0r r¤iɪëB0½ôWÍñˆf†0áH½!ìÆ‚ÝóQ:x´­»½¹ËXü™Š&®(³{SÈNJ‹|i£èÉ_t­ï9nµ|*£“*"ü]¡3„ÑÁF›ËE\»¢N† ’¤(#;*‘—xìÓ•TöÓ/¨ »Ï:³gž½Qô‚:|ôô…HÒJ¼ž¤êÑž©Õm}H–Œ×ŸþW¶ô Z¯.-…0Å~ó ¯Rî€)¯€2âTñ0|¡ŠL ×C¤êy™÷€UXÚ†êþ¶2,ÔbñB’Ì=?¬èõû—‘²)=ñ¤¦«µ®ÉÎîÈ‘¥XXÔ¸™É9¹eÃ)fy-w¿ ××jl-$`>†!,[æàQ‹ßì^®±ƒ›ÍÿGõ¤wÍEjX•Ðô‡×¡ìL{wb7µÝWå'ë½ê6’c“™Ô;ÑÞ‚röî%>``ä”÷Ú¶ ]¢1B«™+ ²/&xâëî¾Ìå©z@°ÑB¼iÐA|YÏÈ‹¥– I°äæÚÁùŸ¯(lø:ºz5ºÜQÙ6IQ8W=—Hák n&ð€ö?úførîÚé*Y<õíH+!<V‰P­Í+„]EË­}¿kgTÚâÞŰÙ6Öc³q•¬ž|´DÎñk{±z:O½{M— H…¢q_©V\r »/ì­·Ñe=‡>ÔþPZg_NšôØN\.sé/9AêÙàž« J‰+ò’ËÞ¹p&rFkˆ=”2¼S8—mÄV. ï¿G/0\–aóÞ9s‰Ë–/O&¶}¼z&BnÕAf9ÛPÀÕ¨gJ?qN1Žb™¥´n†±ú£yæ¹ó ;lXå\d?hþؤ„!ÇË­äxö×åŒ`©ºÔŽ`Æ4–¿5wWÓNÌÄZ'—·Ë ÔÔ>G¢IbQðÛ8u¬‹Çkpq†úá¶ß·àñ?‘T±˜³Yg¹#Oö6é;Ýg·¥¸U:<˜ÄÆxÀø³w Ä6`×É3xYÿ±GãN6ÜßfI&jßxͤeWƒ/d%%ðÿSç;À$lhÍßñu>êùûý±:³ÝÕxL{€nÙ×KƒI®í®Þ‚lúQ_å7#!Ñ¥±,%fëJƒ“oq‘j_äl…ë±5~¼–o¥’ïX„8" çŒ¸KQ*²Ë[‘–0¡ú$·Ìi×)þ#ßD56më.¬ÕPñOA){Þjá»#3lÉ¡tÁãÐL8A[ÍÓOÇ1cˆMºHIÏê¥D)±ŽîZTZ—¸x,ˆ)R³ì*²‰/!1Y¾QY«‡J"‚\r ´³¯ã@Œº«õÎØÑ–&ÔØl¬Öd>ùHæ¼KØ¿yÔ‚Úú¡äÁÒé k¢³ãzj…þŬ½;îÁå¢(ò÷øÕˆ‚º,.Õÿ¡'YÔ”ûɸ䄉gc¶?–©0ïáC”êÊ8xJqI ø6(ºƒÂ¶}qO›AAøïM bjøÆd[zàÇSìSžª¿- Õ¬¥ïø… n+bë_þ´ôšÖQø£¢Tä†Ý66÷Gò-$rÎ1AÍÆ'áŠ`¡äYxvRºÀ¶›KÎQ®xl¥~D¡F—:«ãÓWøwÄÕÔ`…8T‘©{®¶hs’Ê×R˜”SŽ%ÕF–#Û»ù¸ñæ²êÉt¡ì®Eo¾ù=ý!±ŸíUZ::á™K\A Mÿ/ÃBûe7iFQ<<@áö øÈ¸ûië¥^£Gýg¾æÜ”ÿ‰Å#»ºeÖ8ÓVŽ»¹•zù<¾ßÁZVÜkMòi¥÷¢pâª×0w*Œ[FÏÀd&~|Òû´ÃR«¡ Akó74bx…Ü£Z©‡åV Añt3–€¤%Æ”kFñtrPZŸ€A΂e™Ø3?x¶4y vóô6Mf. ¥â¬|@$·d.õŽ…J'rV¾±¬ßé’›¡æ ëœ_ƒ«·¾[¦!Ûüi¦à $a~ýÎÈ#1'ooµÏ*çÛúC¢ú‹©@¤û1¡ª@ìjA Û"ÏsÀbL<³h³Û˜l…ÂMÃWÍ zy€ÓÖu>V¦Ô¦] UôWåк^,=!«¬‡Ç.²LÈ©*¸Ybgf³‰öH@I²ßŸïÂï„)2$ö):oý}2c,l=ÙŠÜ™²Xí¶cÐJåâÜ3X4÷vÀ¶ F8CMâõÜŸw%ã¢q Ѽ[‰S»Ð×¢gw ìĤ´D8äŽ{3†qÊUÕ›•„¸a>gÌg  ò b¤Ú Y/;GtºÀ‰|ÞÖÞo6º÷wë9„¶ð_8õ*ÓCh×w@aAÖ7"RQ]F§ÉOÓ†Ý\¿A&mé–Œö­„ÊHqÃ:J&iOñJh}ð‘ø®ÄÊ‘6ŒØ? ”*5ÒØÔ¯˜¼9%Nµaàè6 ìYP'ö÷Á¸ï\ѳ&£æ÷$ŠÂ× æ¤#“²y¢M(ý¼¬O÷«ŒÕV×ÅB¤r‡Y³ƒò’@o…¨¯žÿb¾Ò7}“±ÝÝEßÔ´y*B‘ù6êû±¢há _û¬pIé&øZ/7[½É(‚“ÂaÔó-ˤ¾3އòôJO¯A,%ý7êšrÏPZéû´à ù´k}'¦vapDTPET¿—Áܤ‰¿H¶'Ï5ìÐÑâ­Œ óWogV¸†>UAo®ãµfÁ)?¸zÄ»I0a‡~Íâ˜tF•Cia!ð°çGùâ2‡¼žÔ‘¹/@¥¢E”Ó5¤®žiYç-0„ñà…‚ÃýCzèQE¢Y¦~'Œ¯fz·Ž6 ›ôœN©ô彆çHVJ¡˜´3.œ½ì‡+hé ÝU„öÑÁä±|±æâV±NT÷-˜2nïÓÏfÖŠäR÷)Úú[±dvìq±ÅË`E*óH}¡2ÝÀbu îÚѸƒÒžCn05àtÇ{éjHAâ³cMêµjªôUøò×qÞÈ ´EXÿ\’@&t„\²`üäs€ #6`ÂeU±¾¾%ÖX¥X±þ^[j'ˆ±ªeäMŠ÷lnëý&°‚ÚTôþ”Îj›©LU¸ z•Щßp•x,YRký#êV¢PÊÃ…ï$eŒ$ÅøämxD9/’*q h‹Ù4›,ºDjpÛû<„,+®cÆöÑö)©„#{‡j—ý-TÁP§aÎP):d PÁ¡.ŒFT-Ü㮽 ›™a”UFå®hÒê™± Ïþp?è1ۊ̸ ОスÙCØò«ú³NUq=L©ò¼=!3LçƒRœrgÒùº§ŸÅäÀ}‚åªMf+’?³s¢0Häó¯X/¥õ4;¬’[ƘQù—Òô_hó'V$I¿Ó¼vÖb½Ž_ðB㬈˜:€ò±Kø)+5<ö¾€ÔШG¯ûJÁ¤BV‹æ{ %ÔŒègŸ²øSVnQ:ù »± ìÄDóM^᜶$da@~cÛÏ ñ7x¶CÇ4µÛ /€JÝ9õÿËpÒtþQÜú´  žd ýL- ÚöænëøNÀݯ[vnP”?ïß]:eÞ<’fT(ènQ©X vùAv—ת…Í£Ÿ ƒ°¿Ž€•"˜½ÂàaŸh°¢ú'y«Œž¼{óçUÓCÍ€ x~ùT„ †„XÇ|1lǧٴÆÚ–ÁêúfðµÚÐäºÇ~cGD¤MBdƒ6%oMˆõ” ðe¶Ü |¾Êþ…U]DÑ©^>iQ`Ùüœ^ß‘A润= Rô=ËÂn²ý]áM=£,Œ5e”ëms˜R%#o|¤¸þjvžíý¢ ]¨$TQ'«)}HÈ”Õf@ß'TuHÑ &5®t_-¹Š¥Uü‡½£î#E†ìÍóÛtgÀ]-Ák‘EÂŒ¶¢JM©pzc»ê"5`^ÔZtî^ç>]&*yéV«èMYÚFxk¿0izU¡. Ì®Áõ\>ôuðò˜‹5h¯”]ñ/awZ(¤ßÀ÷@}Áƒ¤;¿Íí—öÛŠmÄ¢K/,Izd Ô‚„/íßàïå‡Àý bQZb¿®½º ¦Š·å<Ãü¡,ÝX³þ·ï]"ïJFI¬¢K^wí zòéo8ÛO"ßš(^IDSm iÊz883²Ñœe®›irш¡ÕO½‡î˜&¥ƒÅÈL¸ûïT">×ç¿ 1lé}gÿœ/]]õy&j4Õ¾°¶ŒðÄ;žè›j¢öîP«{ä7Á­íÁöÁK´ökë¥ßy½†‰)yâ{¨B-§OcìÕ¨:X¹ZYŽÔ` ðøã¸ÿòôÿ©=);™yˆz„J6ÿgmÁ'ÑnÐu­`¼ðRÉžb|.-©]3L7ej¢¿Ä3acj?\UGçظ»+^«°•ÒV·:}ÏF<_ÿ«'{ŒtM ­‹P@àp2Ãáöåô<Œ½<ž”6s¸£Ã¦tU@Ä!N«âQÄóûÈI×…\šç4!ÁcaQØUßÚ7j8,C¨\Ù0•Dò&˜¾úá ™SPgm(Êc*3pÐ|Ûk{] œ ç›åPBádàÄed×f»6®ªS”ÝÕ“ n Èšævödá"0½¨4œE³Šíwöu€…ºïäžÖmFõÐìÁ!÷~ô­Ü.‹^:F|ãA«››ˆ²LÜ$ð‘n ËšÂ0²ý‚ S‚KGâ8.:.8cv‚cµ’§”,ÃG.Š|¯Í„{àø²û¡×®çø2JèÝU µ©X¡Ÿ3ËΚWÐÙ'\ŽÜ e³ý~ﬥS){Õú Sîd÷ˆkËž£d‰¬¡Óš‹q%ðÑ.q`ΰv”¦ h×ZiuòwøÔ}Úý.MNSv7»ön=šo»†í´"Õ¾HóOñMÍrz¹)9Úc©.¤Îë|Í¿Ós€@÷ƒ¦thOÚ^R|*¹ muÍýÝ?ÂuàŠhÄ"ä3Ï‹oä%´¹#ë%e—$tJw`ö‡ñ‡ç{RNºvÇÑ÷²)Sj¨’&ˆdÃÊhlq{&*°bª~ÖYeÖmM§Ý&½Žø?WÚû&|v!ãcåÒÀÇrBi$°2%{¶“Lg”ˆö½D.ä‹7á£ÌIs3ãíy®ù»½gÃqázôŽBI{þ „{þª†·x'iZ¦vVSþ !l¶?Ûbdeú:©¥ð[°¹æ”¥8›Ç.m.J²Í™j{_›ü©~Yj`Çjô б—ó†Éâœí706Ñ«ÅsèHØ‘V÷¦ÌôøÆ;©Øºëm/ýà֥육TÜÓ[lhtaüžcÄŠ7ÄЈ8~Q®ìóƒè+°[1uígv`õµpxm%¦iËm¿ÐYÒ0_ÂxE¸2¹åJWV¨_Ô‰mîcÇYô¡Ê+äýgžPç+x‹ûü}H2åUñ˜½=- /½ÌÄ»Ì/žÀc(eQ e3Ül"å•ö¬•š’3éÑèâsÚ5•<–¢X4ÞyäU˜Ø,Â6|Ϭàï ÑÖ»)½–[“ÜÈœM°#~Á*ðq3ÒWȘ­K¯eË!# ycÉTVi–‹ûÇ_‡™dª“ºŸæA7³zQèÍ<¸Î¤Ð/ˆFìg‚°îV|þÐvÊW$e‘Ô2ϳæÏšÃoüËYØ­Š…¶|ÆVÕžf†¿óZõif²¸ôyçTRBe ¹uÐP€I0,Ð^Ù‰§Ð#ÿž-R𸅺1<×-—Oï~£|6÷ߨüÜÁ?y±Ü¡Èùtú¥­Dä¸Ñ8vD½øœÓ™Ìu4€Ý»Š.ÖŸ7¥kåvé\´€aÅÂPœ™?¦á‘¿,,|: º-½Ã·"Þj¢Y;×A^éÍþOöQXºÔ¢¹]r"Yè/m‘SÛ>‡ æ#ÅQB zþ·B盟ÒE/lìêwï×pßY‰[ž½Äb R èÚ£#`pÊl`´ï4'U¿\°£|% t“~SÖ ¿«G§ytÊDÒbCT˨ð¢¿VA‘åì!^Ià3ºÃf|pPÑÑn¾6›'‹ÁFÞí¹êó5¬`>£DN<–ßàÈéeh¤™•»Ù÷9‰üw ÏÅÕ5$MpÚ2­“fÕÃIÂD»)aî–ve5»ÍÄ9Naªpf’=å“™(MðHÿ2Äs_ýRiÝ€à ð3k÷êe»µˆ§j4†: ‹q«Õüï8<°à·{ÒsgšÉý×ÒEî0&Ö€C ¨RÚ‘õ"Šg-]¢ÂÛáäçZ1[mÈû#Çÿ(º¼´4•o#Gô/é‡f(u7©{šTZyc‰‡¢ÇØu>3;# ‘y•*4d¶¯o0žŒÝkçé”PRçÍ·òi£{is×¥çáãSWA ŽRÙ!zD»£5Sf8Îrh¿Û½þž±¦QO»é-;.D£Çy†ÆE[(ãAƒ¢îÑÓ쓞hædK>+©æeI Yqo^Ø€Û ýÌ´V^¿š‚vÓ:6¥¶fZ}¸­É³çŒÒ«§¯bG቉Hq‹”6äÜ%Ú¯îÿïJ áúˆX®=—  H£¶Êw™ži''î) 5×[#°—È‘{‡¬·ª{.­öоÚ(Á—«I˜E£„þô<¿ÆhcmÉ rH NÈÐ)»˜|¥:ÉR›ý[] é]•-pã.4UÏÔ€¸…˜ó±ª¤OmÒ‚PÞ•1øÀœ¿‹/&O®¿BNÐÞÿÞ³±pˆrÈÔ|HFã hÜÍ9£iÁL,lÌû7?åK(9ð1öõ»ß½R&|;©æ¬˜gM̘Ÿ A"ùµÉ¬mEºÆâIžìŸ#…Öš•odwÖy(^¸D*Í"Ñcñ/ævvMŸºçŽÕ}PïwKõ®å“8–RG®íª ¨7±më¬FÚÊlÞ& z;9õ”•{ ÷RYj¥æΜzrŸGldÈõ™u"V©ª pí· Hæ™' *WÅ0Ïœó'_DvHá×`-°t&¨|²2þ×…@³9›\Þ‚ß5ïùKH!-³PzpƒÕ‡ 1ËÍ–êuáŒ3þ÷•?Q¼à- SœyÍ™GŒO+Ä l°¯ƒý'$ØŸåpºa€ˆ[ˆþÇ!_°' ë8µ}ç–Þd ¬y‰”¥”Z©ܱË>ÒrMkªäh@á`Š«¦V ú †S­sf=Iiæ Ü®C]x13mr°7;»Eûp J…ç·–ÝæVG,ô˜ß{°wä*’Ã\IvJëâ\ˆ£±Z/¶ûlH•ùBû¥ÚÓU‘÷ßH+|¬•5j«2¿"B@¬åM 5}ƒ&žxöñ¦ˆŽ¬͵§‘K–”÷ƒõLk>à;nÙÖÛ”Ÿï ‡—¢žTo\/Í®Ç×µåï*'ØLTžü¹ˇ¦Uœ"¨ø®ÀÅ%á”V”ÍÄoÄ>^رLÃÍ܈»Z_…=Ý» í(Ú_ôã„Å2t˜B#ý/¡Ç¶‚†Gö 5µó<¦Í°¾º;«ÒØq8ÌÐX– Ò'‹‰álép¸rÌkhŒfÝLy]ðÁ`|€ý"L }‘% 4Žm“ý8Å -4Т?…À5Õä×#q1Ä_¹RQíZ€oüdQ-—¬ºÊ'ìËùïV—»x0µ(¢7*èü“Zj‡5ÃîIß)DÈ*Þ$Ý~ŠiÀyŠn_µà'sõRæ{àì‘Åß­öDÇÆå‚Ã2?{™´ ·–8è·Š!Û%øtà–A¹ËÎ|IóNC“{&“ o½ZÌ}yÁw%ã®ÅS3þE,½<»ûÏììAò@ûj;¿vÓñEÂPYizÿcNÒÙ§–Óùì«Å@Cí'­ìr¹î§ãŽá{O°USW/‡qKé =¸q"®_zsv÷’îîzу6OÎhÞa†ÐTs þCJ_MGîÌÕ˜’V¢ö*xý ™À’"-#ŒA}DÕ”BÞßûNÔ""{!Àb8{ƒátêš* ›pnstRùˆðJl>™x?uÖi|…º÷šÝnöqOª—§ýË ”¡Ç1‹‰JÂ=fEq÷8Îf§wÿìrÖ¯ 5#–k3Ew\òÿÄ¢'Ýc7Aiw½ç­?ty˜’GK€“ùAäoΓsØ~0“t|' ³GÞ>‚ë*6;•Ù±€jå·9š` X‰QØ+^Ø´¶Ê1¯2&Ò]‰68¬þW¬(x(Ø„Ð_E$Dˆ"YÛ®Ý\g"”°Ý˜`öLnŸ)ÜÂ?î~ˆCü§U¦²ÝÈâ!ý<Uò;VH’Œ7¥~P?òÈ̌ߔ$“Pò2&ñœmÃÑû®¹­…ÀOû˜–°ºä±>(tà"j1†æ3é¤pjû@Μ¤Â<:µ§™‚öò™&fÃÑŒýY ˆPd©áØÌaÖ3º^O¬YSsX©!"£fDOŠ%»ªSÉo ¢¼ó, Z±Â»†à¼]1=e6 y¾ýÁ|zèˆ~1  Þɺ´ 6ÙÃ릨äcäb(:‰¸R«˜n3¶ÝŸ,É,a۱ˀEú‡¸ÀL:9ѪÅÈnMÀCºQØ{Aæ¦&À~–¹¹Â$g¨mÖÇtklR{ßDÔ¬9©Üé0îsbÇÚé”È•{"aèûoƒ©t¥(—¨Œ+¬Åà‚ŸE:á/®©1”*xˆ^¿4õVßßûN*:úÁ$ÃPogcbmoþ–Ðët[ðØ'#NìL[0Ž­ Gó~·nò–ôRáÂ)5äN¿“íÏÚ•¨Q\#9:¡Z¢Cfš(?f­n$ÆÉì"mÿ}· z DÑ'†â*âO¦c€RMƒ³X*qž_9x^Ñ‹üGñ`%ˆÚV»Ê¸ã¸'öN‹@¢Óª_,ýþDméÓ~G{tÆî•H 0çsø,ß I(šHrÕØOØú, Êàýšá¬ÀzÞ‡Ÿî9lë=í¿øú ÷€*?dö6?˜­’XRLmÒ¬jJ¤g8¸þ« ¤¨ÈÔÙ%F©’÷Á$õÊ)ÄC´7"Ű©¦˜˜O·VùbÇ â¢éèíðGÀôdœk¨"Î=TU<Ü„D9K}t›ÀÙºò^µ‘'¹GÁñ»òÔô¿!þTÜœÏIØûZL´nJ”r¡ÐVf„ñ¶ezÅ#lM' )LÜ7âÚ£³ðï2aÙ¦¦ ':Ë Öç‡Sįµ$½õ{Ì +´^¸?§¢ûîÌíêQ2[B¾¡~¾bÖzêM_ñ ­xe‰ ¿Bb¨Ú¦JaÞè6f8hÙ9ú–†ÜH ÚzrpŠ`kãf…mæÐÅÊ”’˜pÅJfʪšÏ§t¹œìkC #KÊ Msy õ÷j aVÃ~”.5ì»Ì¹I(:GFçå]/éJwޱ،htÛ[Æ2šH?JOý®7$0ÿ˺?µ&[oEžvZ%3Ͼ‹E];–‰Î©ð\áΣ혿ÕZ1PµrŽž4†Ž-‘÷ kx-!ªÙqm¼­v†_`s$ køº’½X:ð—ÔfD*—Ö=Ìr)ø Ë["4ÈÕŽ©½yÑ_ò$ç(Œ?'õšRÿ Í«$9Ê» k±ÁìȵŒÚ»%yñƒ;ÿÚC"`†)˜î$ s.åç­ß J,mÜöý‘â|'Ôž'dA_ÓU1È™Ó^u¨±$¶…ÂKž„›[2imscz_…`61ÈÌ(f…ß…‰±9;ÿÙ·RVèq Ô „6\ÊBØrË„ú¸\»®éfJQ©Ç¶©9›·Àù‹¡i&Dðç´ráüz´!JÇÌíµôÃHHêD1;ܱï·²/<`JIm¾xý"òR~ ½bX2ãG[L\‡õ¿ýmjS7#Ôõgoì…ä»DñE+R/ÿ~kfì¾± ¬×™%[&ïFPV¹sÃÀOŒí B"W70ÃôÉç¬ì*•ieŠâãIþ˜ÛUZÎñkOÕ^t{´b° ´ØÍ0Ï-ÿéÒ'Q;×ìJª3f¦3ôðG’fÄ;Î-‹$›áÆË.¬P!'ô切ÌAêœ"'‰½¶óF£©ÀæràŸAÈ‘&‹[Åë(;é´ì\·kÑɪ&tÇ_I”8Mt#½ð6"¹}¡åkEºƒu2Wt+ ™wÒóõIÿ z†ÊÇ[Ãól·²:‘¹ðjDP>X&wÏ?cø=‡gL2³]ÍŒ»0TÑKÌJ¢Z›+iÊ™pÓPÉÇëÚ ® +í¢Î7 ó¢Ó¸4W¤ø‰*[›âÐþXž›1¯é#@l…û/éôníÃkpE:yÀèÊ]Øêê¡1OÒê(à#ÛþyôÉ>ê¡B¨d˜#úè¤ÓU%ùÕ ËeNGFªñÌ~X— l‡#Gb»Í/ùÙ¦$înÕ˜¾W2geî:KǦ˜sõ#·Ñí56D¬§xocÜtÝ&±ÇL½(]ø`"¨GUOÀ°ÇD“=ìU´lkÍŽpW2‰! !˜Á‰"¶m:2{œM¬ÝàºQª7U+¹S/œ­‹ºž«s¬—²†>iwÅm½ãuH$Ÿ Ÿóyn,|LU90ŠL0lË;•ÒÏ–¶~v7=\‚ÜÞ0ÃÕ­ÚñT^ÿÄ>Ëÿ.“ú†­#iY­ÀBÍæß’K2×QòÃ>b]µ÷‰Ïí÷•TBK|mY6¬eÙ^s:}[ô;E º³-ËajK·h€m¼ÜžÐñŒFIw¡: ƒ!WK·Ðö3wm¼€µ»kô0ç•PqJ2{‘Þ•pÜÒ˜ˆd§ð±[_Å3ÿGT~ zaßNbVÖøïÜlK íZv¨•i*a?v.ï)S1ÕWCrfÞ6ËœŽ¹ÌÖìq€¾à,rvb%5߇ü‘z‹±m¡ ÁÅ)ï6¡ÝiŠÛékÉÀDË"C‡K#×µíàBÕ¸üìlÇ„+®•:@Ï;?F—>ËÞ¬ô¬}¶­4ÓNñ9æw5"½O»ÄP ô@À  óÁžµâªÝ†Y‚|Ô–²ÿþ *ð¾„î…Ö£|C# '/é Ô:åÇ_C§‚‡¥¹”›>¢µP61®¥.‰–ÃN!l'zzóËmcCÇRU˜ˆ—`Dó D€Å5¥-t„íÉÖšnÊ!D¥§´q¹Ð4ˆòH$ààKmjê"65¾O‡! »úþÓå5Ç jéÓ.‹2óå° A‹T  F o#««q¾ÑoRá 3ÄHŠ%îÛ¥Sµ±£lÖdÅÚ¹àŸ”†DU¸nx¢“ÚÄÒüçÆO\^œy¬Ã\áh+’œlb<ÙZÃÁÌ™þÒVgMÖÚf¾’=ò– ©ðÓÛÁhÉr^ÝÈ9_Y|ñQƒžâéøCµñˆ1‹[]ýZûŽ-xøpP*æWú¸¨¼g€‚Q„ #U3¤E÷ÁLjK 0‰Ñ.sVòÇÖíÓâ0hRýÓh¸9QÌZ½"ÇBÞ¤@Çé0÷â1Ëx”UrO›5ÉíK “»Ñ”èã¼H1'½€ö¶@MXooZ¥kè¥å]اûÌv¶¬¹Oií8õ{åcF!X;Q9_½oNYk^±$"~/]½p7_acø|¸=H‡ÒÚ4?Õ †Óuõƒ}Ø|ŒìÙžš§íïþÙ+r“~—8p^jæ°ï-Oçp€ÔKvJ¬©™{{±ØÃ@…2D²žôX(Oþâ:“ùÝðe©I7é­€E²o†,Öno–æN¯‡¿`@¶ÎÉ‹0ãic˯FŸø0ÆIÝ/}KÊ!¸ ÍÜVÙ'7…qKbÎU7å~Bƒ`štýy ^t•_¯dÀÙ=o]³pø¯óm€ýêOâÅ¡~“DJö6Õó.?†@ºcAXæ~@W ½FCjÏ ãhE\ÀÔ–úôÂ4"N{€cûÄb%às¾Ê“ И5.åû_SgóFÆÅYð¸)4®h}6ÿñýH(D‘Ñ÷Ðîq]Ä"icÏÚý_¹nK½œ·©Ü•Àî²?"ÝÄvæzÏä/[Í; \€¼7}Ìã϶0uš¶Ô÷–r-\\žõbøž$ìxéD `=~g5­ÊÝA8óhƬÀ‹57毽-/×¹KêÍG…ÎWÚ ^±‘½†XW·Ôïv_œ’CnF³£©Ã]¡îŠ˜¤TŠ$€.$÷pBE!Ëä0fÀT§Z}Ãï²lG*ßû› ¿÷Ë.ü5aÇ~gxÿ¸¾œU(ÆGëEÕòsKqÊ}­Mwà’ïÑ_ÝíJÑâ‡0˜—HmËÉ7š²cÏ0"X>/%O&\gl¯y¾Lj¼ä=s”‚³a'ê'’Yþ«bQcÁ=¦d{>fR¹}ˆú}æÆ$]GZö€”1çrò²ŠUû`*ØamÇS6ŽYŽ;”X…ö€6·æ[Í2ckœÖË7ŠÙ$( ãVI+Q›r€%VV2µ½Ì¤É±ôÐŽ>èºî))ÁYÏ«ªŒOÊ[/râ%`ÎDlš+¼°âsF¢‘óŠŠmvÍÇ>'>©+Ö¡9æÑ¨Œ…^Jó™ûg‘&2î¿'$ËOfÃÚª¶Ñ!ÜÀ»X¯ ||ÔUÿêΣVb?Ö^ ˆ“*ôHCTXó9§BV"Ç“ÍA«¬íeˆêª=_R0tœ’«}Ù5À †çs3õÔ‡îïÍ®"’×?Y±©w£®fÄ E¥ÔÉP®ÑŸÐ„yšN=½”ñϸ‹£÷Ä (¼*䚢%#n7š%’£7pz°hF‡ºP5=ÍÒÇÀ9 æÅžÒ5›t>†‹Z„¶¬—Vƒ9ýaá6!C˜ˆâ`Nµ.0å®BoÒ[w¹ñ`ÀÐV^ÒèíTÌ5©éñºê»-XYE´è¶:xQ‚P¸˜"|vÀ¾u½¬ÞF¬É?{r‹3# ~ ™ 5”Bd¬^_­õúÆdКB£á†† þ„Œ\æØ>q¤S³6ÀF1.s¨pŸæDØûcáˆ|ê)^¤×{*ýÒç>µ´7ŽrúÊéÇ¢ vK›3§\äGÂ^¿²Ë® ½Õg}øÍÓ nuÅ<î1m ƒ×GT?ØPضâ¤íŒû5‚orPÃNÝ-¸O`ŠŠ"'!;ñ — ½{@[mÊTÉÑ¿°ÛœµêÆmAp˜;šãW¶·ê»õóÿóQêBd>»–Sæ@°¶fQ…‘ú\’õ7–M|h °‹L&Áu‰,Öœi¦I|üTVÃí“t¸wÌ«‰¿:Þ úCŸû¥,¢:q ’dç­zOÃU À\Ùd«u³Nû§™8Î òÁ8ÿ5£`TÄÁLa¸,gì\³0\lt\ŒÒ^Ñ 3D´ ŸDVs6â¿úÀ\WkÉô`Ç0B’<‹MãY{fÝ=¥w:Jü¥gN½Ãd<£Û5ãUrÇkÕ¨©DøÕ¥ä¢‰ŒÇ}¯ .Ì7ÜCqU/ &òÐý{›‚§—Ú€µ¿Å²0…vØ´^§<–+˜%d󪨼8ÞQQãtã¤Ár.ªfù]l"ï…G×qkgT—”³‡,ÙÓjÚ]gõ»®¦¹i&Up:L½€óÎGXcWWÜöSv…%›ôý_97)LŒÓ¥%ƒtõ3Þ¿>èJL­ÔwBŸPAjº´‡loª\ÐIJÄê ÉÕŒµý€Û{p¨¥Ô¡¶öJBÂà)B}ZhK í"Ã|°nØbËäng´ì¸D£Â¦ø<© ¦w=XI÷ QXïÔ~îš3•?©çÏ}BßÛétóâQs–ÑͨH›ôP£Ù>ŽOƒRCÃòÛ-u¹OÂèbíƒSvŸŠ/ƒý(üô’¾4¤¨Ó‰|BnN}éh_›—?MwïZrgP®Èÿë²õ­™Ì£(6wÿ6gúCå÷àd"Úšô‚ëN`ÆéÛÙî,¦«M¾.俘¢1a™“KãуÒ'ìH¹ô§¼ÅEb{P£eE“íÁÄ¡ffûb  ´—8qîhb &hŠ›4ª È j¯Oæ,¾¶$àQ,–Cð8ÎÑõs ð}uˆð ò??[uËÏüÂ+h5FóZÙs»Nš£ÿbŸ·Ht¦9Lô~)"ØîïfÓý§èVÖZlØëk T¬ŽßC1[°ÐjrrÃ8ÐP|&” ,ì½ hѳ2a´Ûá_¥à6™›ß6FX9Œ—œgº>ˆfí¤·­¯™®:"I«DdMhï ^ˆ-nò ×Ï õ3\w“åË‹Ëâ+)r\söÀáíʲ×úµ(šEÖ³y#'åý<¸+[1d(t3&óNÙ^?ŸîÞ°¬L2¡#'í¿²[KÆ@d‰4nÄ×ÊM·c*ÛI6›oÏß“A0¼‡>O&ô।Å(¬ü c{BÀ-›“Äz±@‡.½Úûñ£xæó¹‹H‡¸Ë¯&[ Ó*ŸŸY KØðîòaj÷žGi"$s”‰>ÿEâÕ(¬!$XÛdjÍ Òlࢃ•dSÝ>yô÷ ‘ûðΤ9в  RÛNwYvçrv{Ë_ÇÝ2>Ïu¬¦äøÿ„ºÿ ¼ÛÅr~ÉÄB~l©tŠƒš€ÉÙ¿8œêP8<¡r>‘oŸ[EÍm XŽÁÄX"ƒðÄ"Ð Õ¤èÅò•ºK~_bÚ7C‘¥Ïiâ}ÁÆÀ¢úBXÝ{ ô®&ª¤˜0{ËÞÝÝÝ }X¦á\ aUnƒ¢90g©O ðO+kÃz­£âŽæNÉóêmù¸Æ,"5ï:>a³rYRZÂ' ¹Ýé(AÂi¡¢ ý5¡žK^ÿ¹‹õ ÖâRÒ¬CùÁÆF®®¸Ì± 1ÂH‹¶à)wH9ŸäÑÏìØðÃ[¿Kfç ïu¸£EJkdxñwî‰ÞEâ7ºy`R”ü—9ÿN¹„ ݲN=vO“Y˜,·­}¨¨Öÿ»MkÙ¿K.ÞŽ~ûN&²µó¬•FõÙ7¤ŒÉùþZ“¤BãcËxÚHòýIÞ óØAƒžI3€S`"P¹îb9奶éÕÉ,ê½¢Ùú'|‡P§4a yDÙî_"¤wã´¤n„):j Ô 7ÍØ ÎzêBpÓ« ðΫ}«š–%zõ²îy ª3íYÀ­Ð0É”õÉ@£bWëäïoŒßr¶™£eƒv’køä…C^ÓÕôѹÖ{¦ÃáÕ eÔØ¥ åaO†$»%°²èÀŽïZ:…¹jt£‘×ýk‹J‹ä2Òѧ2F$.UH|oS†o¶jxÙùŒÇÆ…†Ì°ùXªÆ’ªlYƒ¹•ß­O¹>¨1¯€óÛ bx˜\H*X—ÑÎÝW0µÚÙ|¥Ç"}÷uÝÕ[ ÊîÆ¤› (+ô"æ&·S’jf;:1¥lšyuC“¯W&ŠŽt´ uÐl¸%x¤æu¬‚Ó(»ù|¹Ì†—æ-í}ÄiyªÊ×¶ìÞäwyÏx%Ëî¤ü±cÙê´$™ŸÛu3Ç阞Oc»—£ñÙðTd’'{é{§kË–@Z .û±œèÓËéâÄ›{í葬„Q ߯ªÂ&YŒÎ´Á*OÍ+)7ê‚Ót6¡ô÷LÚñ¯Ÿh˜f‹£ 1kðž(ÞÆÏW‡:‰Ðû0L¹Ñ):­›  ý°ݳk>Tî ûŒ-ÛáÞ!]…ÿã~zŽ%ËÿZg'?Óaþ ÛåöÌŸÁÎnx©•[‘=Õ£ 9–(o×z'mlR¼*Vìoßoƒq‰˜ø»"Ý)êM#J·ß²v¢Þdô¸ÀC@Ô¿ºþÞ4Y¹R¦Št]#v“æò"{,p&8HÊsþ*6õ¼¥‘ÄïìV%\”ðÿ ?ÞŒ¸þöp®ï Ñ…CüÏÀg„!'ý|ù<¬N¸‚‹3¨ÛZ¿¢åCßGð¡žÈÍ+Ô{Kò • iå…¤eµ˜™9 .ën3òXŒA©éL¾]£ÅÔØó_+næ›Eê,Ž„k Q½†ˆ%&ÛO–fdùC.§¯:u¤¡¥KŽRWû'l J«ØPÒ߉¯æÓNÛ£®@c¡Å}ÛîpôÁü¦çx78d·QˆØ1°bPW)Úy0Kb²í[ÄÀ½2¼ÝÊË«€q»¹Ö0›åZW%òd3 œj j¢b¼ò'ðañjê ; ë…7BîzÕú!‡ütÙ¨uéŠUey¢u†K4D‚øÍ±Êú_%tò ù»š~,ï¦ùÎn÷«»Öý‡–;‚“;OÅ®½ÓRõ›Dà]ˆ¨ôF§Qukк3oK¾ jˆŠêGfê%oŒ}²8¡xõ R£ƒ ΙÊ^Û_ÍŽuˆ|³ìyr0¼YTæ½Ã¬³vn¡'ý4 ÜÄœV^6£ìn›Ç—äÉ:!†,}εXk«›ÏCï׸;r²ÁQ„TïlíÅæõñ³fÍ™_cm—“]â\éÞ~Çm-­ø`¹ÜÑ\íÆ{,G8.ÔŽW ±Øª/ïóÐ^œF+~G‘2Cø12qb"±ƒ¾¦®¥’¡0_‹*…ÓPaiý’+ iG‘Ë‘â…OCڛฆm"å-pƒì@AýzÓ‡—>+Š{¦¹‡C'Óc½E¸‹O_¢Ûݸ _1óËmsŒß%a¶…d:Ü¢ì¢MçõxÇ»[mö¸EX‡ðkná mÃ¥%ŽÈ -;©[à7f7ýõ¦ µ‹ôÎçkz*F· Œ³[S/¿àl Llc^]êÇT‰Ã3¤ŒùáCüÛ6 4ýM‰Ö í¸ªHCYÞŸ&.Õzþ8Y‹UÒfm:í£96nU¢pY{B‰[U´G«Ó-ÉÔ>NfCW&^<‹Óõ%BÖÿ•ãEBBx‹‡±ë‘­QÈó4FÈ12án-£ÛɽFGuWÚZ.%]µ› ;³-É }d•嚆®³&I#9Ï¿Œ4LDÈPfÓ¦¤F „7Îß +€³Ï-k¦êÝåLõ\T¹ò=(%¼4Wi[£‘úø ºØÈ‚¬š ´V…Wƒ\mW7¨ E¤h [HÈTÁ­È’”fNÔÒ¾ {tûDûŸ°›ò¢oÝü´ñ)cë?…¿>4‹¹Œ†Ô>‹ÆQ‘ò»ðUìÖ²×[SÔ"Ý¡Z¤ÜP÷^™:GϤÁ…ø°PÌjZúÌ‚\®]A­O(ŠD^]›FËõ°Ÿ¯ct–ZÂ-Í)­ÈU¦^t>¯£÷Ÿ/®LÁ…c‡#ü*‡wæ½­Uér}¤æYdyÞ¾Ë Z²½Í¡+rIf|’`¸HİJ£KÓ -@R•u+ìýVà à¦È#í.2ñ Åmåß9ncIP ­±¬Û)ÛÁôTÆdÜñõ)m“ôšôb&^—¯sîB:_I]ß)Bˆ}MX™´Vá[æˆ! "ð—×ÕÑÍ­wx}23™ÛO 쥆|òÑcé Të2Üs¦Ù4“ç/•~![âÜ…ß"5å¦|‹#FAù¶^}¼øi¾¦ §Ú5-ËÍ\°Sô’Ts$üÑxÚÓ‰›] œG`±ÍÎLqó%_esi[û‚TL/òÓPÇ\¼*D O‘¢Ì.½õOšÂà9ÕT)È®gÊR3io‚Ô…½ç™„8W!;¾?xÊ#U •d5–«É0pKŸ=½†ëÞ.ªöjÀUö÷D¬4z,i±dóoÃ$CgëB;?öC³wd†y ûy][0pþ)[²aõF”|ÿ¤6d—$ôÜÕÀVµßõš $•ùÊÏ´”°"P\qh…"Ÿhl¬{3­™Üç¼cËt‘7Èa~ÓòË´ç¦7î©tËñ(ê{‹ò¯*¡¯3äiñé妛úÒY†NÑ3áÊ–çûÔÿdÆ’g 4ÀpÔ¤”%y~—ž­ ÷6 …ž¤U²3?ŒÜ墼œ ´‚qÂdÓËŽÕ¡îÈ8­YOe¼ ä’{ÒÀ÷|Y2 2võ)Ñ.+ÄÔ·5 ;à­¼ü‚—J£Í—è5èý`1½nÝE*œ\<Gå¢w÷o†‘ÈÎJQf6—èåèÕÝe.Þ“^ÂÀ·âÛøwxê¯3å¶ÝÜ)«žU™—|'¯¶Žîþüİ.yŽ%ŒxO^€«˜«kžXp» Æâ)Œ—ÄÔq¦ózt‡&9%tÒÃö­zqáö¬ÚÏù6ŒÐ¶‘Lt^!Ú>åã§ê8^ªêµƒŽ“¤Gk¡ý"~Þ 6|ê’R)ìL£/ €ÌE ]ð"Ò5nI˜SŒZH }—~Ç,ƒ‘r WÚÝ“MÛ½eÐFHK½óµ…ç†åjeÅþòŠ1V«¥„¢‚Bµ©„:µà†ŒæŒ áú%¼·¤HZ!ì6¾v¶®4™ ý¨¡+ÍíãQOæm„þ2ÒÝ¥Sý è´r„tñzA¬=?MT¾‘‚QÈF]Eá ´ ç·8¥ÜNh:ÌE­¾}׋aPæC“MÍÒ¬–'åÑ’…~ξI?Aw´ãé ‘&¢ô Þ{ªQJGwVmK¶¨¯\ ÊÍ~W›MWè½ À…iÿqª]Ù›Þ\õëÓ|ꡪ»¾ÌV­üz}£Eª¡fŠæÁý‚®S‘ôöÿ†9ã:öSÇ µÜ×Ь"€¦Û;ÅÝ"¸”ââ·Œ¡+ꓚê~ûÊ ¿t;‹%icnu¾¼“ò­oåèŠï á°ÌP{úÄ?×m›%=2ªŒQä 3Å}–œOÛpDì'­)oö¾Ž©#zÜ8¶ôÅf—’§šÖ£ìJc|ÿã2ÉÝ fîDA<Oqñ+U/±œ¶†÷í"X@3³“¦(9µàδ¥Á:iëöF2½ O‹~ §Ô«Á>>{_ª¦žC#u·[XdEŸFüÖëÓøp4nuQ³ãÒRz‡áÎIL–|­é&ŠdÈjÒ´ôm/ÁÏ¡§UDT˜ŠÒÉPRŠkP%)PˆÝÑÄ:å¯ìºNÀÊÿÿ gšÌwû/†І0n’ ´Ÿ%í!cÌq"²›âéèuAl¿$PH@ügôxdðš /dxƺ -Ÿ÷”rô á¼"Ï7úU÷,¡‡[•F|/ò½˜ûÊT4Eô¯Û|¬eY‡Ó}¸X`ìC·3tÂö´`D`°5ØoÓÝ¡ï¾1Ç^½0¶2sá ) Gß—…«¸8eÏã#źÓÑào”%tyZŽ0¢‰þÖã1ìèdªEšDQòÓ¡ëcpÄÙ°Ö“à½{ ùæ˜;ðãN?'Á±×p-ãdcQL@ÚÇAÕdMƒ‹]ÒG¸ä…J YÖᾌ»þìü׺.W›xØß$ Š'÷MÏ-¯ÚC—cÍØ¹Yòì\ÞŸ²)~îª,ê¾}÷Ñý· ¨À#ç¨]@ÚdÊ„Ÿ2¨¥zЫW嬻'•=_ûqc¥TH‘ b®y¹Ç FñHËÞ¤ 4ùQgj“²ÜKñdŠ0K@xfÈcª!ª2~ƒO`éuѳ}­½ª&€,ƒòâÕ°Œ©IFÖ½«‡)Pž?ã8ÜøïG¡e"© »ýžêÜš«a([Øn‚GÈÎö®”[÷vmvç’ÇF5&ÛÔdHñgŽ; oÝ#E…Öëž7ˆ&6Äbe=…¸Ë†#¹³¦ZŽ8,5l1ÔÔ9æ»)öþ?TA@ëñú±˜ÓÉ^zûsK@ Ž4½9|yô—¿G:è5!È}ï­çÍWÕ7¤ñ r LÃGÍ㳈«øfÛ…îLWr¾ó¦ˆ¢¹ \—œW½âëÏZ5é"`裤z&î÷¼ƒªW3·îYeΜY«[ÙÔíœâŠï5µ÷åîŽâ÷X¹\¾ IçeÈ¡b*Éÿ'~±Znð eÀ‹ÿüìvæˆ& †U8Îçµ76€pòe:G2XsR«ÑŒ)þuR_êm7‡¹P2\-­È$£˜á›œ‘a£«Ä¸âýØoVPP̼'T1¨Ð}±›ðŒ‚Þ4ú+OY3,„5¦š§1A´[L¯?ISe8Ui¨Ó”Õ‰Êþõ2“:+ñé ‡ôjwNñòh4¾ÅוÌ$«)|+uø#°6á%¥«”cMÞÒ'Èl¦„­ææ,t f— -tD>×ðŽ4.³ÇJ‹±}É0#Ësç\½›Ü uT†¢uYŠ0—¦4œ©ãºoü9ÕçR!jϯKÊJ·[ •±FÁ*qÁâ¡ *í¨JÇGMSS¡nÁ8ƒ‹ºð¢ê‡p±n•U6“õ;Lî‰ÚÜtæýkm€“œßOp­º³÷° Џû—¦´šfD2ÇÈœþ'v‘ºûläöÊNP@®‚ÕÜ?ñ¬6Þ'"î“5Ö‚Yíú†­}•Ô@;cdÔù[“ΓYД` V¶²—¹«O¤J¨2"„A.­Õ‚ß0ÓŸ›‰Øu¦ç¤8'a·ò2ßäiŸU[š:„cÁuï¡Ü1~âÃéi"vˆV’¸RçO¿¦6+ì<›³Žç§£hoˆƒÎ‘¹VÄ~Rm8 Ê$Úq·gL»n¹ˆö•n4d•ÅJ8“ÖÛ B1HD²ÚrRôËdh}z2×? êKþ&”­]¦K`zM•Â,S鮨q5’¬~fë\Eô=mQº‡ñjÔj&ˆœæj“ñ(¨‹Çr÷”8sQ3ÜÚo¦<ÛìÊóŒÍNÙá}léÚ›è%†â‘¸IôoÐé0±[‡öœ×ø—î¿abÆ…!óyúÛ«æ55 T^…NPu™êFFtÇÅÊèÉ䤫YÓ“„nUwÁ¦EmŒ†(é;[õûƒŒèaó×[=šß `#^ºj YPÞ†¡'“Å·µ‚*–^`5êS- TMŽáŽÑ÷Xq 2ºvówË:ëWß/•FõÜ)‡ë" ʇx)´»Öñ“‰›ÞÒºSïˆÏ ÙùPCä ¢ðT`er;ȱ*õÞS!lTECN“ÞÎ}8t¿ys€¤ îø…»Oó¥Í^Õ“ŒQ«_a:ÿ+bdêýêŽl…Ë”û_aéÅøCÔÑqÔ'd´ tÞswI£¾•£âAæíN :jÈ«-SÓÜ=M;™·p’ÒG!lÿý´RJ¸Ïìx½©ËT)uK“¶‡^÷V¹V殤'Ð\­Ëï¾ä9ÿÍzv³¢T³è좥ÍÕ¿ÄÓ…oܰ±Ãv fБøÈÁŒ):H‡ü¡¯l)¤ÓeC³GØš.¸Ó6Ÿšy|¸++ îG|ÿ¦§BfÙïÌ7ª±…GK¯ø(SæsãËqµ\Åü±9 Õ„C3¨‰ ˜O Šgõã‚á°ê†èüõãÿ¿JÒ¼¿m´…ƒÃü©ŒÎ„;fhœŠQÂ4¶.E¡h"¤è5ìu´}r² .3Oj7½yñÂûmײ&Ò#ã·$¨P-ab)µç°\5<2{ÿá§“ÎPV[AFo|º«˜$ÃÏ7wÛ[‰´H›,u«õ Ÿ’¬‰ÿ˜è?±%¯Kœ669OŸV‚ï[*'=“tÏèwŠâòµ$ä{kz•ï{ 1ËâzØ-ú¶ itP^/»Ð¿YÖwhfTDÿɾþéLf5±F`ƒjeÿ>}dS¶$â>ÀjðfémÉ…—É€Œ,„­x|¤hä“sæýÝóàÓþn¢•2åo9M©Q¥¬ýú“JJ.±:ƒOt±JW˜nR’öß‹ýPäõ§§öŽÇ¯4±ŠÜÈOIÕmè.נlWc³°iô=/YcÀ%¡]ï$©'µÁìZŸ Æ ±ò~QbO/jB5'{‹³팛a&ƒˆ¢Ì—_hó‰äíÝr’±þ-:ð ý:ËMò¯ž“&aºµeìWùUð' åG扼ô™O(Lù†Z9y˜ÝýS‘¼b>c¸'K+C ûAþÜD±ŠNFião3Μ„÷9Jaf>ü H`ø™Š-³s)Ø­ncÛ‘•Ç<š-Q&ôÏ@]?p|ö‡œÄqr%¸ª„°ð”µy&äÑIYø˜ –÷ H?ÄMH* O¦/ZÿØ2¸Þ²ÌW (­!Qpb+yGþÂÌà¦}h¼½uûX[bè5јÞ"¹yðbwúX_+›1Æ(Nô=~¢±Lá´ãâ®K8T=¿ÿ €¦åƒ<ñ¹þ.þEWÞÊ¡€9þd ‰Ëžˆ•b™-’ï JJ}ñƒ)XWE Áo …GoDy™v°µ[l[WªÙztR§}¯TŠ”{gäáýt9ƒ ›ä¡êBXš—KáÚk¾Ë‡c²²Ñ­Cøï$yÚVPfw¥Mlg'Ÿ¤¤) ]§DÐbo:›&XÝÊzêÍá‡wO¿ó6Áô¥–&R,’Ô2!Í€3¶?/Å ];ÿ‚; ÙáæÛ=Ý”ýk¡ÆhI#Û£ g©3ë&S•n¢»Ð®d![Œf” çø{õëkIˆßª$02^G±¸JX›9°)Æ ˜?u94’hqØ5r]T¶˜/¹DëüàBB]p¹Õ÷Ùì`Æ%À×hn K<)®¶ó \ËI-A’{¿1÷(b‡ê ývQ¼dƒ?ƱâÍd2»…©ÇzÉ Í“oœ5µKFÐÁ¤{ÿ)m³¢O'‘ž^tVÛ­›¯ Xn¹¬š8‘SW6gêÐyJHÑÞ4‹hý Ÿ†v³×[Ä@€j¥ùZgz#‰«\¬"ë»ÑM[\$r²õÌïT·lÑCA!ÈRÝ#8Ò¹VXûîYwWxÑ‚7;.¶Ýcà 27«¡HƒAó5ïYÔšnrÔ6»›Åæ¼Óçf`±þ,w¨Iú2,ˆ\öWI´{ÿKyÖ´BÒ-lGjeZ§:YŽÍ„ad5µš`Ú˦ö“Úw|. n)yè&}†nõ„²æ'³•ö¤z¬G¯1ȸ,Úõ&³Ã§¼+R“ñ°ü˜38†¬E;jTQZÉÄ›s)†‚ï-¦#ȣ 7W´”,5äiD€£Á‹·0&6È7ãtËša ?­<ä’å«“¸8ÌBþuw |!0»r—êüˆc9‡þ¼†:¶Ša~>‹>?vF’z»T· p5ò‚ƒÑ7b±%ÔµÉt¾}“ˆŸ z=WKûÏQ*ò–Sy [‰T«›—–+ˆ"Uþ<Ú*ç'Ô…gBÜ£d¸ë1!?­Œ]1²áá!+*öãº£È ,$J±âo$Q÷iÞž?Ò!9žýšÜ¼”äd õ]Àän{%T…éazv6Co)¼ƒvAŸ$vn}™„­k÷T»> Z܃ѕɵÙÓ«I)â|S“ì¼Rï +dÖ÷;Y'aQåj¼­>¬Dd¯\®KÉe™í)  nŒ†¥z;L÷1w¥Kmï| h7ߺ>wùê æœ#êýû^Æv¯æìr z(xOJÛDóS²m¶%¶wéÓ `K*Bñ'9·øiš‹Úœm5Z4³þÊ0‹OpÀšš`=WñKÆ$“c̪J+†%ŠŠHâö7÷Œõïìë—Œ"äPEOÔ÷ÕcŒN¸›=·‰&`ëËþüó/‰¸X†àWáµÂ–}šÄéŸÔbdz¿¨÷²³J'¥àuE(þ%˜Ì¨MÁ‘§à ñÝp{K>š&bç¦at`») nçÕk2Bí‘/7HgBæJbÐòç@sx8ñ) ÝâŒ^}ÌÞ¬b’­þØÂXõ×–œt}çÙ«HDUªë&Õp¸Úk*3Ú¨æÀÛàU‡šù³z 0|å&ö%”'I©%X6IciÖ!Óo¸q?¶ì®»oÍ>¾ô_/Kpvo¤0x<Œ,(1?‚Ü›9 ÿh¯j Ulm;p¸Æ+¨#DyR>Íöú ŽýˆæELPžDÄ–€Nc‚,ƒ?½Àç ¤>ôe…ÊŠÅœú7éÀŸ3 Þ¬bäl`Eë˜Få;zv²ñ&3àà`©H"úA±.÷Ä4/ M4Í÷8ž‹Œ'û$¬È ëüC&B4é˜ܲ|ÞG㸳êò.ZžýËä?Ü–ÚM ÐǘXÞ’5.hõ_W*¹X Ôcã#XEŸŸ|[zŸqÅyî1æÖ åÁyÌöPª $ ˆªL;³ÜYQ¾Œûý ?!£ÖÍ"sÖ‹}~¶01q-Д¥ZL=¾+C¤í,³³©üÚz+÷H)½úmc¨½ ê§\bÀ,>ž2ŒlE0wœú e²²/^3¥ÝIa8¤é©q>¯yÂŎ׎Ñìê”r[[sƒ€T^š{ÐZƒ:Ù§–Ì®#¿È<•d¾G­4ÖXÙN‚“^óûYÊla¦‘YÆÒ^É’µ/CÕ®Õ HC"i’"c y¤q²E†™/Ž? _6ôgÞ§\×–*(E-ƒ{·5~6ýñ›½5‹†á¼4º™t3oZì8èÈFX‚)¹ý{ëÑJGÝR/.Úl¥0Ô(V.?g°Í20‚œbY‚ŸzK Â²1?ˆÛhvuØ °´ð¥åcêÌ4>³¿¯´ÆyÂ=Fœ8 @4´ñŒ¦ýB*ê…îËŒ×ø¬Í[% ÖöQù¹zÐCŠ…Þ%c2Ÿ; Ò}\tDê3ryÁk ;ð:EÝß6vß^»éÖºqhĹ¡£^6²–·ùrB´ÚÚÚDÿˆ´ËÒôÂu‘¶JNPÿÔYB|éumÉ >îˆm½˜¢Kµ‹÷…ÐK“ãÆ=9;UæÃ™ìÕ6!ºq˜º¼d*yjZˆF¶—nå~š­F§uëLÊ ¤Áy¼å0»’K=fŠošáwÅ#íëïH%Å¥P“;2úöðÑø§ùamTŽ\®»µ¡wZÕXHÙ¸ ’8);z{ð_Àx§„!S‘AnðÚÌ}q.(Ì2jK¢W§AágŠjºüØ™^~æq_÷3žoº¶4V_!fIÂ9`Ï…ÜQSô O‰ž±•ˆ\Ie™è7w &Òx&yÁT6öqhc,u•¬ü‡ߺ“$Å2™$+ÝGn†ªj{ì“5ÿ5 k,e­É7]Ÿ¬z÷x²Ú¿¢¨½È NÌS” FÓOq5téúæ6²*kÖïqÄ…õÈ”¿¡]B$8s9P3±­&ôÚsqcoˆ\·FŠÍ•*üFR[ï°Ž˜ #,[³W3«ÆUï¼^>%ãoÕ æ®©÷¡xæÏx>5d¹¿˜ !ýˆ|‘Ô$:W%¸´IàrWÝqTÑM™z—:“1þSÆÞZ¢{wC•zýªÆÒ|ßÁ³od¶«öÄŸð],¥; Ÿiâ­Ù£?3ë&˜‰)`™Hc6½Y‹}Ýæ ÖŸb6Бò=Ú}¼:ôÈ}˜t=D2±©¹<._:~fE§Äw™q=Q)»Iyqm~ŒÅ~ðRuHZ©¶QÀfc&<êÉò‰mÑ&Òu}PK4ã&{_×öŸïŒ ë:š-ëŸ|ý XÕ’ ›KšêôK‹â/$w,ŒIÜGD•ùžß”"7Ÿ ×ËÞ‹FŽD/°~\44=¡ÝsÜ*ÎEŠªßi` óñ~ws ¨RéÿkjßÂ@˜' ®æ×ÎËëœ^bÁà‚•~*#8Cä@jˆÉþºbFœ¤(û Œš¡ˆCº¦I]çZ¡0Ö—ªŒÖœÂùŠÓûûp。T˜fþž_Ð@*ÑÇ•³Y9ØŠ¶Þ„ÃNKìU%ÄG§NtÐÄ{z `âi§ªpe'ñÈ_yÞ*j ã·á«…CÍË)íFg#{ª:˜M”3rì3{Üó °Ë:¶é!¯;u`tfv—eþÌ&»‰OÀÕ%ý"Åæ‡³ëÖ™ŽÜaÔÞòô†0Õ&™Ïÿâ‹ôªINºôn“ô,„cH1–¾¡‡wmâ,öRRCÞcôZ!ÑQð³4çôƒ¹6=Ã^3'6ï1Æ*qè_Þ‡ddªÞ˜Dí’óì˜êh%Q¿8À_žfFÁ©ïH&¤B23ÈNž_2z>Y¥Ç.t&“6, ý‚môr¥Ç€g¾>Ækö}2£I˜¥úáSl¯™ÕKЍ¹§ïK…Ò{ ¯ƒƒ‘¤´˜éa.¿ìEš¡Z[DédÊI\cS`F‹‚z‡ª´BLyÏk…ê.¹$d¯Ø¾ùo"I©"*€[ ¢FôVë»N AÜ4Z'bsžìc˜¸£jú;îzÓGóÓŽ¨‚Œ™#c·}ãÚÆÎŽxÝÙ?ú’×8ö ¬þÁ±!ãn†ô”¾¾ûÆÅ{3´ûÏGl´ø¹ñm³ÖÚÿ{3"Iýj±®$ºÐ’Íë–24úü–mI ™ŠB˜ZPјÈ^ÿEá6 §ËÙ,þxhu–­‘²+×·Â6¹§ Þ€10ÜÃ Ž°2&œLؘ¨qø8¢\y´Æ>ù“0#«H»ü“-ÄaÌy Aö?\r.SÇT¡¿ï ÿÁ0ح­T‰àÎìøÏ|£tZÇ‘G•,ântd‡0½!¹›2Æf¿6åŒú+âqz€E»Å~Ëú׸€;3 ™-˜ù ^íåv›ëí6A¾%êêO[úÑIµkׇOH>ù-êe@‚Ž¡YñtQW|\?lã*ÒiÚG1 ¬ª¿‹ß6±l7ÓÄêK‹æsçm*Qw‡@_ÎÚ¼9N ¡]àï,DF4·[Rò¬gòÚÂã‰ï8yùbµÜ´#)wU*_Ãáõ8Þh¿\¹kìA'žÜþŠð¥}J0wpq)Šö'ìÄ œb‚qh>Ÿ­åt…³‘Ti5¾b€fV¢`´© 25ù•»H„¸þoqﬠæÿocJãê P]Oü5öj!ÇËÎó0RÅEÚÿnþ°ª‹Sy¦núþý:cMÝ_ŠŸ¤ÐP˜‹æ¦½½œÚÔ ã´6TgöTÛ¹úYz¹îÈè/JèlIJ»0%ªô3$¦ú‹¤…Ò+0;vœýi³´…/ü¢c÷ ÿ³²³Õè"7ƽ§¸Deø8\º†›ÆEpcñ;Òð+dž˜Ùg5¼JÉøÃŸÖÐR ˆlyU·”ƒ€÷] ugHoâc/·Ýê^Ę®>:ÂéŸæ“/'«ÿd’îhW·ùUšÅ+k$Kn­X“¨Zn}hœ–¢󒆡7Ee Æß GÂÆJWs9I¤|ȹ³EnF8+²xrPV3g 5[Lœ[™Ïxk·úI­îÌs”5àfÐdj¡t!î…j7öOIþð,X6®gũ婅« Ø%þ‰5YNÓóØ$HÄàx$~Ûÿ}Í´™ažƒdmw³=i`0Z:ä¢X)“éÌ9Cg"@ÌôIߥӺ`%2ìMeDD’ ýk{ä-—FÆ3ºaߵ⛑;Æp^-RCzvzM”õ–Y¹K7Þ†ý`mCãªS!é×v•´3ã xâ÷lÁíÓ׺P~0OQ T—cá¿q*Ä¡üB6ò¸è¿¢‚˜8Bˆç1]"¹‡Ü’_}7ecŸ¨_'UÒ À)¦7 ÿ27çÍí’”¦‘kä¦Z÷2©qaïGªRmöÉK &uˆÛ1#‘ÕÂ- "pÆÑ‹Ò;šH_Nì£;ùò=Ì[ý å3Ç8t1zcƒº/Fá·Õü“=Âòs¢Xd'µž«¼Žþd=BC*o©^§UÍšÊ6.àJG5ÊæVÁ¢å4ÛÏeVŒ0\’B@/†_@öLm4áôW>D?µXþŒdm‰0:ºS›X“éÔ„ ƒÀ8ývmÁ·Àas½rAÁ^҂Йӌj{«5öw·Æ—„ãCn Ú èGì#ºôÖ$~‚s«QSŠA°íy媹~©{ AÚ†Ê#æ³4;¹Ì ˆ•4ì$îAÔIÕ °ÏÇ ]úæ*ÈÀ“¿»9z»l®¡g)™©¾Ù¶þâðÄ3fY#¾î^_²=™Ñ%Üï¼€°n¢i }Ò´BI‡ã œ†´¼ ›d3r›õ”¨/®~‹do·@/9úÿ颷K;²˜²n ;1”ÃÇØk:ê]«Åƒöâßœ*„5<‚âÚ?²§©½ëí]Á£RÕ²ãóÊ3êßWTwš†xMù_ï°þNÖ(,V‹\„’y ©ë„‡Ö •ƒÈ¨g]”8Mb)Ñ9-ø>/TÁÙ+–‡Nî:HwËÎ5b~ðp¿À™¢²ÿøyï`SË^ukpnky¯ÀΤͩ‰[¨Ê%¥^%$sˆ\:Ç'=U¾½¸‹ÞrÑ´ZH÷µÄ«sXÎyùQͳ+Nµ>wøä’uoPì„)“¿ÜRZó1Ô¬ãLšD’8¿ëœXpÖÓ ¼+íß,Eé9 ¤‡_%«¬rÔræêìËõHQrŠhbäXšXAÄ1/¶©/rÖ&_IõýLv\ñCÔ •~öQhïuëùò›Ø“ÓÏ{9ÅŸ0­¾HŒKJ'&ï>‰{ºb&UYÿÒ ˆú‹fulÍO‹Â»É: Ì=‹³÷ ÝÑ8Thå®zÞe¶o:Ì«`cDyîxÞxß™Lk½â¤÷ª§ƒ`e0O2OóX?7y‹¯´øxEÏJ–ûôýD#lLÀžãi?nÅ0iRØÝ´¥³Yí»2â/vbVŒ…±ñJT_jŽ*ï,4ŸÁ•÷þs1.O®‹÷Ïõþ¬)í¾ŽûØfUªX c[oXc$‹ÐfoO•Ë\¶E\ì'»’bJ"Þ4.‘ÕŒHŠö¸.•«°>[.µàÅã 3Œ(ÚñâÑ33Œ F Ø5¥i’ŠùìmÐÈíð½„3:cë]¶ݑÓB„Þž zëXÖ!Ã2Ìn º+_${ε9üHfùQÄÃHê†=£/[.ôâÊöï)i}µ„vÙ XÝpŽÃ^Ž]kù™xæ!¹šn‚= pg.ù;w,C{¯7yÕº‘¹Í,ЯO‚‚NEšWÍ}nˆ£\>}býB)–ú? Öð£’5⿾)hàðåšÀ!¯[Z3| “F]eyo0jõEEÇ3ʬ»1Î/P}…öodz¨sêËÛ%ÊcWÛM›1ð<²pµ(ÎÙÆó‡ô±Wc=˜R-”;y Çí8‡ÖRx}ý¸Ùè”VØ)ïlAî{á¶(ÓÉÙ(…¦Ý2ûC„³#Vý3{eOŠæ—'¢ µ[¦½¬úfôe‹”  õ‰]ýÉ.«ï²Ñ!”Ò*Œ¤é߉µ lã¥èYSÚr‹ÿ†2h੖˳V@A¬‹u‚¯N”nM(Éyxìó8‚DRw÷Q'†¼`3`”#ýÛ"Êè€ë0OXnãU1R"Xe¨º»¢7CnÄHàÿËÑbéÈ‹¤!Ÿy¡/*IÂ1û¨²D¹„}Öõ€>¦ÌÚÏ¥Ó=oê#%&GjÓ‰Tý/–LÔ/·ë*@z{-ØýwçyÀÉ2q§’•6z0ÆØ¤[M—¨4³½¬«:%̽Ÿl1žÐtå§wŸÄ‘ùÔ¥´;Ë®µENrûk77Ý*¼Ô ÜH±üŒøn)õ+nƒžøP¬jM‹Ä”¿èʧ{Q¢­rÜU ï…ù8G1—r«½{†˜'®UxöÜ(!aÝ­¶É"TÆþ'?=g5øxR‡jH91z˜$8 ºBT­¡7J#Kë{Dµ•UÚåÂB³¯ éún„»\\ä¢S¥-ØÃî’X…ê¬Ç¡þˆ,é W°&¡Ô`´õ$“ï´1¦nJQ©“!ÍDv´»9½%Ë—6ÞËõæÐzdš06ofÖå¤ù²[»€7£8S*&§ .hÖ¸%7Ì!"7ï­GˆK7/·zê™ÙaBì{8qͼ¨¼™ä± Ò°âòBßÇ 1ë N$±[ôJÑL¢?âŽ-ĉ&€÷ëuÌ .âŽÜ3µ6Rã¯Ûh¶Vz³–Iïµ:Wc5ì'Òr$zË\~@%†Ã¨$ø« üÿk¯ˆÚ©Â„nwå喇” :(üÏïÜW6ûpéÑ/Ãóo ½rˆii§ŽxT, ¿ˆõh~4^ ÒÙmY&ú D†2•"Bµ÷Û¦âÙÄ[MUÉA× õ„tç®;üà‹eFÞ O’-áÿR†¢ÀûÝOv;FðÉs‰Ižï"X›Ö­l鯃¤Ðßj{~&¸¢míÄBQá e¥+#Õת,Ä&nrôI¸¸Ç›Cêü/ô*Ðy#q¨0”½Å(©×\Mˆ奥¦1„ l ãljš9DÍɾèÄmõ8@”LÕ2¶ ïr½@U,ô­ô#uY†‡•`éua"WÖó(ù…<ŸOáÔ˜ ”γE¾VÖª9yðB¨0Fï‘“êG¥ýþâwº÷–²$„×w7hþTäo¬ „Oi¾xM«}ö÷G5ûºü Uz‡¬fuˆ)ÑHw õ­ßd·¢h#Œ|\TˆÈ¬„Á¥¨«Ô–lÕŠh@¹@o:™ÙCÝ{]M|\5,0Ôª³G¤ù³îQ=¡³qyˆi´hªBGeAŽÁK §æ.°y„¹m«Ëy€OLÌ0&3–…bžó wBPœl!¨uýn;OW2òL„²ÔÕÃ͈¥|]Ñõ7ÝÙQɦ5/4mºÆ¿\"Â()ÿW[$¼A Uà‹)2#[­9˜ø¸á#iƒrš=ô·/ŽpÊK£—ƒÙ‚@ä«U:AÚå!`[錼VQƒ`Tó*úibåÜÚƒÿÆê…4?óGö²ÂÕrOŸo°IŒ<˜÷·Z8xjª7 H»‹´ÍsšÌ{û/ª‹šÂ4,J8op˜Ñ»^¡ÐŸŽXzþ®?ïÛð‹š§zø6¨[8 ¢§«~Ý™q—F¥Æ!…<Ð*¥–ì%/÷æ¼P\(ÉŸV‘½#ò†]„ ^ÿ͘˯ƒÒè»jç—eرµÏÖå^ئý䂹cWé”UÈC ï23ä2#ô/ÉÃÀ:ÑùÀVÓÔ¿²ü1H‚Ï´4*i6O(ÜõF©¢¬pPš•çP–$àº„Š™>㡽 ƒšRë‚è̓%"¬èàbªFTŒh†?Á£ïª[Y¸‚Q…Éwaæ \¶ÈJ¸áƒÑ….4ù·‡8ÅŠ²ioõâ+S äO[Ý'@§SoHä™ïl}"€”ÞvER£mT×hy…ËfÙd•ܘÛQœÑï©ìÍë3òÔלäQlÒô½ÂÝ¡KÚBÛwY!;&$=`æV)YJ5§´›§²âöP)4UgééÒ›n¬)ƒÎ$¶¦v‚ÑÊŽRU;ðr›ÐšºõÌÒ:k ¤8€ú‘Is£'F Ç„-‰Un„ xò¦9[Zæá+=pÊ\·™Ãa/0À#G÷=JØç Žà ×kª:‡`£•µ@¤t0eNަ@<ãŒÅÿ€¥Í&MÕmëœjñ¤WV^lœ¼]ªœ‰«ÓI²oããô®vSÃùãvNØÏUk_Ø8eÊ¿–˜‡ÏÓÈó¼M¸†ÙŠßæãKpk~c©Á b]É›}“-5<øõfÀý §X·‘êO:ýÎð<ßTY‰ZÃ’Ù~X~iH$Ž ˆïó_Z™çf¸.¡ŸÉ:P¦ÐQ ¶@>Ó9ljý0™@M0î»IûiúUäÓ?9P÷DOÆ2JV<Õä!án€ë>íüñŠ–QÚ²B†_@ Û™–ÔÚÇâ¹mÐØ©ØûüíÓ‘M1‹:ÿ¸0|{‰jÛl„ý ž¬EvÔmí³>=ý,ëÜ ¥¼)«²³ðÛõ-®¾¿Ú½3Ÿ¹i*Rƒð Øß’m¨æm® Ƥðàb’T©˜V«Q»´¨zÊcUìBu;)%ÒX õŠžq~‘epç^*^–RhÜvë Ç<ø±F§ØÉ›£œÝ±„2ëÉóÌíÇLo´I/ùúÚ^]ôOLN!£vøQµŽWˆÇÖ ²0Y ÍÇ’ ·-fk¢Dm×줩A`)ÊÝ[(NÐJJù7ã·„æPŽÃ>šî3”Í­!`z9/|·Ï6›»jƒ¬•ùú¯ºêBÿà3“2¥äÊä{$ÒÿA¯©qh°É–G¿o‡Œæ83°ð¸Ö¬%DMðŠ $jØD%y¼Íøyª íð:'³B€ÂóËÃôº01¡øÉÞºc„mòQ¥-‹«d¡N땿øôŠ ¼L#Cꜚ£¼8!RYV»Æ¦†ã«G ·­Áä«^ð©WúÜa28𦮓n@¦ã\gÒä(`¦ÁA+ ®"Öë¡àPøHùÜ$ëÓ†êèm®î´X}³­I5¨•ax³ä C—ÀCK«©×7‘‘¾”á*þ*2iïÕ{»½é¤}dRºª^•8ÅÐTçJâ+ËU–µ 1¡„36’o¨ À@ÈxRT:YÍêÃC°Î¼/¬²†ôénl•xüð à4á¡/ ôºB°:¸8&ý EÍÝׇbÁ`(ç¼MdWýºŠnøÊ, BoêÆSžŒÐ^™II[¡ €‘{UN>”*.Dê<·ðRŽR2àR'!´t‘¡Õ_1%Swƒ Êнy@=0ÙßN! P^ÎØf=#G®óŸTv瘥*8+åšDL‡¦ôŸV¶,æ=[Þª\ƾÎMãF}‡C;­ÒŸ¨¤±çO¡½^=ÂîÔØšewYu©‡#,Kœ½ý‰¯|,–2eºZ(`o¨Œ°©`G}nõ…ÝCžxÆú?YðhÜ…ˆ Ç­)$cy^w¦ëß:ÁlB,?€wNÀÌaà(üÒÝ{ ë“)ÝOØò$à=ºÊÐc$4Âî/Ú:H"ΜM0‹äâÝ}"d" žlÅîg²†HüªõQõá_Éç`k;ÈUCÿXÖ•Í8ïD/1ð”q5v§ïyÅ2æãV ¶‰¦¶ž®Áß[„øTœƒ’:BcQk(Áb{ÇÇlûNæµµk¡8Óµ†sm€l„?sîǼ”ãùòÔÒJU!”:( þ©ªüýnÖÀ‘¨Rò?9®ó ¼‘V莢”8EÖè°÷l—;dÿG©¢5*‘˜#Ê™Na#0t¹¶çhËÀF¦eÜØ‰—òP€ö;Õ ¼²¯¾9Bä £½W{Þìl£¥ºK£›Z•H=€xÇXf}b¦ªÿÚüˆÝÑgÚ_ E+¼ïˆ›¾b°ü£“µ#*¥Ë£?éRx‡ÔPÃB$MéŒIY<ÉB¿fã+H ö!›u¬zº¿´¤…ºmý|)]£Ø‡Ðö"¡zë¯/Ýó‰PÁBÕ[¾ß#6í,ú‘ßµ OsËct’œ5orpèX™7‰pfíbŦ1~×t:QíoÇn솣딀,0´>›.bGÊï²w©ê|@§¶Ó˸zº°µG0ÓziN7.Ȉ¦eIV Õ`Øë†wÙõ²Yׯ´ïõ™¼ó 7>Ó¾ bæ ¥Ft®:ëèíkÝíhKÖ U eÐ# âjîŸG–»……öº8s#”'ø$¼CŸ9M¿É{ª0 Dy˜8<´…{¸„Ò ²" ú_ˆs ½×Mîï|¤’B*‡É?Ú#À\¤Æw&æ]О-u+üf˜Šü™\…¸Å’oIíóΘÑJ—tÄm_ÎIJ°"ÍQ)X³7b„%V_uus_ªeR­æÉ,XÛ)|IæcÆ›»YøQ;ÍäÆ(þöº³‡Â½*¦ŸÃXxb…œÐ`ªY¨w£3Uþhbz—^xj…Ï=EÌ3N¼NYúwüƒãµYVGúgHC@Ø#¯BS¦bÓŒ¸xe‡AëÉ—Nan ®ôeQ|›h²ùL¼ÚÛËw/´¨«6¤´"9@~,Õk=Ú¥•ôj]$•,¸Ö¶Þ±p‰b©¼;ŸÔƒAo¼Q×"œY ž¹Ââ;o8d{Ô¥!Q|ÍW­=] ¯t?CcÙ'Ílf´[>J´Ò€ã€]• Åkp©­|O¶¤™ço½¼Q(<óEwÉ>ð÷zsÔS÷=ÕïåoëW[pÕ¾”~röÚ•:^ïÑÌi„e&*sv&Swµ6ŽÎþf™ÂnĬ)¼’ŽÑö²0È&7Ãdõ×­—ñN^}ÅNKG‚€ÚDWøfo´Ã\ƤLË2˜0€úÏg†„HÔܷ׿9èÞ‡$kÁPø“š¯}+élù×ÖÙ;Ëô¯ µ+aÞÙÌG«ÚÈUÔU’釂æã“ɤ«˜aÜuÝd°å|@ILRÁ$·ãÞÉrI¢6Ö¯à“nÜÝ‘°h¹Ö—=BÕÀ´Š"ºFðú\Mek/JQ Y\Œžz‹ÿ™I.ØrØ’´Ñž XÈ“;ÒäÌ®YÔ½þm´Fþ½„ˆá\–FÝö½´jÇlÐø²“†M#¢¬EêšyÞÍ•¬nˆ(‹Óî—y@òC”ØÚË)þ&ÜÆqðßh‡Fr'«çÃ{ÐÄÿúõ5Å*ƒ[?ñ¿qëFYÝ-žP*ÂÃ±Ž‚èðYáóÛÁmLna øJðg@W nIñ­Cî¡7†JÜãR‚¾^»DþÞ7·Iݧ@lÏV‚ø;¯âÑè¸ØíD¡ˆÞVz¬,MµMÚ™ Kgë"!2Ÿ‰ÆÚ‚G3öðyí›~^öù6› CƒÏmî!‘¯qs•p¢Û¬Š½l¤I6Žq­Dµ¼›á£¿Êæ¤S…]#I”QPÚµ8Yã$t “å0 ï5÷ÓÄv„¼g F€hÅA°:~h©.~~d}ø:ÊyUI$pì§7F"%9€Kµ‡YqAˆèãaÂElÑ展ӱƒ6†d4ñóc§óÌ?Bî$bl\úøA¬U>`ê˜7.ÄCê%Ä®ˆü' t\vWZ!h½y1B¥ß4ÆX-Yäþ>ŽrlV£”>Ï.)· ûÑ*ø/]ÓfôKJÓç»Yú—ìuDu£°°8_Wo^MÕESÅy´îUEˆ znÎM¬½Ô²gY dØã¢å¸Xpø u?öaþȼ ¹˜ÌÏÏ΄Áäºeõ7U'¤Eæ°Cd‚Y‚MÇCˆM+ÛFðCÐÁ&8ËülCO¡œ XŠY"Ÿ„ ö N?DÉ7 fŸâ‚<yþ„(5îUt8ü—ÒR'd,–U_¯e.Gh—–Žù&sV¿¥0ºl/*¸,a±CX§{˜Å®$^¼™‚TÜÈ;XwÞøore-seZâLáhf³h H©dÝ?ýˆVÌç“ç^ò½µ)6ï67kšæ,¡‡ªï–/ÿ”ºi—ÙYÌCÆÌyô‡À¢G°¿Wa…Æ.”ÈÈÈ66å®ígX§GgKd(|õIõcNmsÀ¯®ˆ¦¸iñp¸¯&!¼Š±RágÂÚ0eæeØZ 2©ä8–E…< h3È-‹=H—õ…r~¸TÁ;ž{ßà ©q/ómºÓPñŒ¹åvÃÔ 'J-ÌäÂ^À7×á$R—8ôÄõÈjwŒìÉ‹„ròó¦……2/^~vBìØ˜¶âÁkßp(—1žê5FÞˆ’ºõÔ|«[¿»à̈ï6}#ÄE!Ÿß¾·ßsF ¼Ðã¼£î.ŽSR•^ UÉX‚nzRíŽíF °cyeápè4qð¿ÀcóìÀš ¬aÝæ–2a~gÚ&`J%Büò-ù‹ÐC?:}«ªà²°zÝv˨f’‚u³—4ý÷‹ñ r:­Hoµ†Sú¤GËù‘ÀýÅu¾GFUÀkÄÛÍh€Ðƒ¯#Ž·dy”ŽCNfu¿-ôÍéûèz~oG‘»0Fɤ`,sKChxêôC¿›jÖ±+û|XW"5’xþÑqTØžxÐ_×gV3v½—H!äíç.WHø¨Hš:Ô¿²H3-f&š‰ù-XTh²&äÀqt'çxÄ`!]8^#õ.© …“ÌòT«ïýÅZn²ÄŸœŒ…Ç·dC­+K­ƒ€ákxòÃ=¹ ¤wŒ})³l€±4]Qm²tcsØa®¦NÄa¯ê’dÎfn¿\æqi!Ñ ä´¯WBúìÜ•VO1;ŠÛÌ;µÎHR§ À£¥®|"³™uPR~ûJ]À¥f3CÞŒ7-dZvÓÅ$p]<‹±ãPàéï̦B`ÞXÀŸëP@Y¸ý9Æ/:~‰ãªØ(GUѺ٦i˜2Ù©wˆÒo\.mCŠ#™ÆU¨±@hÐXÃ32Ê´T?Zì@_>ÌðœÞ¤¸&ýŽy¶ f÷Í*vRjÊÎôÎ[ð”ˆ÷x©ª†‚ÂèÀC¦å¿m(òû™ÿ$H?2×cƒú< ®@ͪMX4 0úœr=ó|îçÕŠV.Ä´µäÿ@vÄytDZµ\Õã r–Hs§ AÏ7ÁØ{Ú,V"Ù‚rpºÎ=÷Á(³}Ÿå²0ÈÎ(5íÍ¥ªwŠˆj80ÆÎKËH,Mç™Üš²áÉÝWŽW¼rÏžPÐÂ¥^„÷Wv¶VeÝÒwhbæ±ù¹ˆl†jR²´Ý®ÍM!‘’5ÊÉö#ñy¯Lºi ·®iç„$è_0_ ( Â7 µ¬tѰ6ÿû2…d‹~%ó–U‡~;ø ”y—Ò®'¦L]üé»\“øôÄyʤþ1›…Óùc¢ËAB=g{âýXUû[̧R¤î‚+Pµ–ˆ¸qL´w˜j¯Lô¥à1Æ™x ²cdÌvé2õoó64QZÜMª!_ËööÆ%Ç€8ð|òÌùõa 5ìD*KS¬=ª.º));lBߘIüCî0ÐS>ïö‡rüø†oq¿r`¬¦>²s­Ó`$²ݼI¾ˆnŠÒµWCBãØ`0?IjwCþ~Ó¤“Zs]7tà(Y‚!\5³Ü`¹¡ûí¥|ÕN ‰’ƒPßAñžûê[|mò³"ZG6‡ÍÕêâtu©T@-'Dë­ÖB|è¦KN?*hBÝ£‰‡ ûùÄå?xAÊf8fhmÓ¶5ÿòxìMVïØ¥ï7±Ü:ÒÍQÑÖôOŸMÛÚñ+ŸR4õÅ®¶iœÐ^Ö!xR|5²§ç=-\>wêg•Nõ=c0@š¼é•6\tûH3r{Òªc;ÍÕ­hnD ì©Ð=`E³æ1©³¾”Øá`͆瓥íl g÷?M› >7 ¨©”ž­q3MRŠl/d#$£Y¨–«%ˆŸ'òxŽ”»^u°”›8ïâxÑ6©ØÂdÒˆèzpdéö¦Î¿a²Çì/ªj”ÌÐnv ÷ ~ÅŒ™f4L^ÆþpÍß "gÌ€¡†¾¯t%­®}Íó»ÅVŸQm]hRÒ¤NïLÛ_þÿz7ï]ý+¡°P4¦k ³hÅE–-ŽE)>g`z'ëÔ©ËäK6=°l/3í”GSü¢]Dè<Îéü6{q¬Hܗø‚3%<-Æé¹Šh†0T>Γl­·Éš+Š¿ k;å?ò@W´­ÓkÊñÀÄҜʙËjmíùf9m¥Ä¨¿p£ã¢–û?iM ‹ÒM™Ño->ù,Ô¿Ãü.'òÔû—Ê£gåíäÀ l}qOV"Ír×ðúV`[í¢+$íX4ÅŠ‹Èȉþ,‰}[&Œ@Kl$ôœÌ}:Vc!êÎÌv@--„7F›Š \ðf¡,#¶!3Øúxf«ƒØ.¿øïÆöÁ.hüº˜¹ˆi½»©~gž¾¯UY¼†[Ò#‰ ÷rÕLvµS ÕÙ²´îºKEÇ_àUrù×}©@»I©ù¥Í3ˆ.Ä_ù¢û[ 3`ÔÂF[E?q0qdÊÒJ´ŠÁ!k\Ã+>^%TÙÌ´§K¥(´ú¬ãC‹hQÔØ…õ©#£ü¬,7E£™W<¯(½°ád×ú ó§ïÝõ´ ˆñÜÛÆŽÚ[ÀÙ:»nVïÔlÁÇI-fÑ£‚íxÓõ¤cuš²§ïªäÂm¾¥FÚú0QêZV€!W΄oÊþöRV°&Õ¨ílK€—+z/w77Wm;þ#ö°yô1 µO Æïð·LB£R7¯Oi‡bí§Hÿj÷ù.áo„åãÄΑ¿F¯ ,ZU_í#6h·‚d”iak¢Žò:ô·ai¥€(ž/ 5EjYÝ3f…VL;¼ˆ›X" sÓ [Ò­¨VŠßož¨å!2Ý'Âñ¥vãn b3e˜ç¯LŽzqµµ:Ä×ɪ.‹Ôv¦Í|—Éþ®F³-âä)ëüÞ©µ³âÁxÀ 'S;äµa—ÏÈ^Õwþ‚ËR­Tߤ€mj4Üš¯ çî’âZ¤ñƪº#®€>¢òý«lujë8NyàNƒÅ7…TzæØ–íÎÌžhÃFT(¤7\dÕ7²66b$°¹²²¬GÐr„d<–ü«A6?9^eÁ”µÍ ` {ö«9ÂAÕé -¢øH¶±ð.›ÊB¿0r\Fˆ, µÃuDou&¶_ ©tüÖS…*d¯FE)ÓBãTLÒ¸˜AÞ8üÁ°‚SuDÀ ë²qœŸNz²$?­aÌu%‡Vßr~•QiŽ˜M.3ƒ–Ù•Ò±²aƒÃÕf×ö„V±}qÖ_®§8Q½±mU„oÇÁû¯3ðŒÝk¾= Üä„uÅka,Fîz1µ:ÀE.Jà‘iÐ÷µþJæ=-Ù#A ÑKˆaKá´Ir2vÔY)!Zá(…Æz 9ívÞái¡.:õ°‰ï5üæ)¾7]Gµ:­YwIß­~‘M Ñíc«Ø))€ÖCLÿN°öî#ZÎÎ6fõ«ž³TÜqIƒ‰‰YÖÞ ·iKÜgõ$à Èo­%t8oÌ{Ϣ쮜&“[èûëƒWèJtÝn«MÚüR\i„¶¤Rœ>HìDPÖ•[Ç<êSÖ“•Œu#ŽD´K.âÝáþ•`ÑêtË~ 3qW˜ÞyëcÉOó|Y¯û!ÏÔœ1‚ œ YMè`ÆPQ cõ+À}·ã¦|të:…4nPÃ`¤¥ƒæw…#ô2T³ÑDÃõeä5äat%ˆÅíÈωê5רTvåC~&›ÁõCȧóÊ׎Á“€7V8Ž.ÿ#–ªÕİ H§í v7hù³üÏ7;½ñ ¢Q;ÕUá¬i-Geë–Çó•OPÚÉ·{z•ô¡(âÔ×xcUÎpÆÀ?Oý$ÀÃ)ÁdTœ~UílΊ`nø´HT¡‘±-rpÜ€(ômxÙâyTʳŭvŸ4 ¡Ù¨ªlÒ¥aZŠÿG¶6t¿Á\0B«]”‘´qÁáÿ:׬ž«Eпx †€ëÃHè›ñ†¦G·ª—Z ”}Ž.ÒÀ¦žÍ|>2€uN³Z¢jã+ßÃçÃt™DöåówlÒ:-»t˜™5à ø Ùƒ¿üÄĤØÑ£q¹@ÅG˜ÛÌmNMÇè D3¹<ÜÏ <|™îî\.®¯ s—ñî$ýÊY“þ7seE¡ ÓÓ-_I´‹—õVõ¬2)ÿtEw*EôÄ&™ñ`¥ú[Ní›0spÀ SÄ/3Îdužw†g—Ë©96™»ÜúP¨¨ˆLÏTezai®Žbggy¦Î[Q<Û×çAägi#V¡‡+elÐõàp4)z„Æl9EµHiÀS놞µæ¸ê«Iía´¸ñV|€*òfˆ›ûÆ¥#?xaïy¤Rqà2aç›Ãlâ•UlK¾iÏM±‘ ´rö[PÚ­»!!~Œ­×ʯàÖŒy>M®$-e÷¯Ra²&¶8éÜMx²|œWu(iç|(½h³«xwçÂ``=d¹âxÞe0ócÁeB«–GçûúXï K@¨¦9Š+ Œñ68&a£·€z2bªW ™‡xÒã]ìE “l#›^$ØD P»\CåBN<¸ºo†þ ª¸f¾?V8Ò̧ ›ï¯^wB.ÉáÌ"ØR*b{wõ¯žÞÌ ¦{u “+æo„Åûf-àLRäwáGœ/ÕçªÇoDÇø4|~ Î ygQÒbwŒÛïÀdëq¹WUf“&ÐQ㑵3屨·À2×>0+¯²Ÿ¾zlj홒wS8íhLÒÄmWb2]h èŧ)i âí!÷,€·D¿ïÈ¥ååz )ðì+‹ZvßöÅÈXºÃ :Ëë…€#PɶQþ£qøŠ¤2ŠJj¶K'úi,…ÖçñrŽSŒžm¤òžË‹Ô¬ßÌI'Ø·êýµ…‡þÍho œÀãb\}çÓ³vgزaÍ»é,ÙºFÅ«ÅÑ¿&5H-†e=ˆu¹˜%©ÐŠN7ñj(YiMÙÊ_M¯ lrAˆ¨º P=TdÑ.ç7tn®Ú÷“¾‡ Ç¨‹ýB°"%v±Ú“, o¹i»öš‡¤:*ñÉNJÃg;ÔüâÎ(N{ÛOÆÕC€ƒŒ0¶1(HPM›Í*Ú½^2Šì;Êô—©˜µõíø!S\r„:n´ÍŠÞ¬ ðÃé_—mZ•„à}3ÁôÂ?|ë@x~5‚ÁG$hPã ¥"F¼ÆØJQÕ/µ³Ì±ú60 ’fçÞHµÛ»þe¶yÑ( e.Z,h>æP1æPJ)ñ7š[¿„{5å–¶T½z.¼¶Ž/ÉÁWbd— c¢’ÚŸ3K/À“ ¢;©¨®%ãd&¤…—è‰òü8Ir¬è݇ÒLç6ë*z"— ½ÔamÃZã"@ªöQ˜‰¿[ykYŸƒð?ޤœë-pšb§éJ†4“ YÎY5–ˆÒÞßgƒ:Ÿ°„ÄŸÁy^ôWd†”sfU§þ`f¤ov |­±Cüìõ} b‘žbÉÓòxE¡JÙÉ8â1 T·Áëål|î¯9 V/Þé$õv Á«)èk ‚y1s¦i'æž ôøß‘þI@1³V¿²´l‡X—m­f`økÆÉ 环Ê{ÝÚ=šjÁKq<¯Ùý@ Õp É(wú€“FMðÉŒ´†ÇEGÆ8÷÷lñ÷cP3¤ ­=CŠŠŽ¥uš9QÀÑi›Ðë ßÀ¦²ÀG9'n1 ý‚Û!K§#â›+>Ûoñ Š^êüûÌ“ýÒ`u6ã>¯cs÷…«3ã›Ax6få÷´®Êàü½z¶{½¾LµëŸÅìCÁo¹0ª¤‰#ÌO¨oMp‚#~€= ¸ØsÆ^$­ÎfO¦ÂÓó+O‚ÏŠÕUe…Ó@‚ ›zæ¹³Åkû¢Kžôö<ꛈD!„$fŒYJÂ…ò¯¢šÜ„,bÊ«&eXØ——ýœÏ“ ØÿÞû¯Á5öLÛ%š4–»ÕdÍ¡Ê>bXû“/×Oh–v˜N'!Ô¬´75êp¾ò„pd—*;زÓd ¥C ÁÙI3ÍÙrW 3^T)eŸ8ìSò×ÓÓ˜ÔÓÊóWË6E‚_^ôZ Çødéˆ)/ô“DãwŠ2a©°i„ ÖöªcZNëV Rw¿y‡«»Ã&0Iï˜'“>Ì1N«ÜúÄ£¬ät8:øXžþ`4ë9o ¹½·Err?,oÕæÓvØ."Õ³ð&¨ŒÑ°×ñèÙÀ>U®7ϾÝjHT ×ù®†´Š§f]ÔDó…YÚ£« uúêñ1_áÈ›Š¬Ô:±¾Ë8¶pvÕejVWkª@ÇÙ ŽÏàèxV—¢îD¤Âã=#Ù`Uaù=”º]0|­ïœðõG·³š­!µ¥ÄÍ/ƦⲬ4Œ’ÞL.VÇó'ð>8%w%n(€‚1r"Gç“„ýF¬ÃVÊÆc`Ýlxùð¢µo“sFóŽr’9nqÚ8D#•|º²÷š£âà#ÈÖßÏ¢¯Ï ýê(UGBh‰:.¸‰LÛºø'Á ¯J¢ýž…a5¦øÜ¹»°KÊÔF$÷ åÛß"ÜDqÕz±ÿSJáª41mò‡^Õ’‘YU–1CÏÛrWú[ÐSÛÝ[~ñ1 ]q_zR¹ö¸B„iºšÇ÷œŸ¾•dÜËT+ø•Áߵ̃47µµ «ƒ»kÀ½¨øè*>²j ‘|*MœÁ‚‰¶Ð®„o’QçÑTMÆì?.Õ¡˜®wŽk{à‰¹;½‹N‰ø¾pì"tê·ÓÐÛt~ Îs»+¯Áõ‰MDëò5iWì¸ÍsƤx;'ÍáI™ø·‡ÂÜùLÜ”;Þ$ŽŠLçDíØ¨š¡ã´ÜSJZ’·´?ÄKS™ÂK\ð0ÃQGž•D_þý·{>Òm•ý²Ù³•ÿý$¡îo誕;Ÿ ºªiêý† âël‘7{yôO—2±kÔt§–Q´0E.¯¬Œ ‘— )ç Ûý¯¶¡÷ο1¬%%¨rZ]OÊ¥¢ïeÛ$xøg>R9'ó+ÙV™‹“Š¿äÂw×Ìþó§½—5沬æ7'éT>§iÍí×Ó Ž™ã=7#,¼ÿ¬“,ʃieQSH näXe]ô°î™Ô@Ó`îDz#ôÿQÁN^Ï( iøÇ3/˜@—9Md• ËÿáÙ8¢´ò:!¬FÝ6žI«=m¿ï;‡ó.w˜ÅÐHG©ãy¸3þ6½’Ü ÖëžCŒº./7ø¶zå«hæ±Suº6¸XPµÄ»­NÃÊgˆèf³|Ã)Zoe”§^6™Î‘“z°\!/Aº>3-ïwÔ ÆT=—©úŸûÕ´Ùº#®·qŒÑñ4ºÑ¼9À ïß9éÒÄ¡¡ø©×*+òêLòÉrìæk)>ž*/FÛ+H¨X¹|}PÅOŽ&êmUg²Ä$6%.ÍIFŽIúWmio‘¯Ü©êjp˜5– «^‡S«øô(m†ò>j údÖ~¯žÏÙø÷<¢Ð'ŸFÆø¬3µþåI¦Úióíç—•/°€4ê¿Sa1Að€ž[Û·ºÏÞ‘:æÝ¹›%šôA¶oìa¹7ö^À‹ó/©^‚ÈáñlI³*׫BvØ!j+°Ò’û›q8 Ç…'Æ'y¾dþ^jÏx_*a½mÄ4ä¹`ÜâŸþ Q[¦¤“ä§Ê¸x vÂQ´Ò–òZ;*Bu7î0°¼VCÁ´àöƒé³|JÝÞ3MˆX‘Þø@'ôvÊhšâ”I5Í‘¯Œ©›ª¨ ­ûy¡±h†›yääï&HkD“ÝNž ƒ–®ÿ¿î¥K¾<\‹ÂØ€Æ^ï/,#1Ò()È­U%Em¹Ò±¡VÿÿÏèÆ„†;ív¼ö«–w0xúy¼H©÷̦??¨üñÛòŸ5¸3ïK¬ I¢…®JàÖûzЧ²w´”{e ›]8S"Å ÈKÊ8ÑŸ‹ÇÒú SØpq"Ù3ÀWùL¿H­!OfüZň·|nKuþnm>. ÷A*¾ó]¬ÀnBœxý›¦½%•G€¯tAéäØº“Ü9ÅB…¿=2¤á—É : SyAµ©›õÛYþ†¬î]Ö6ÁhÎN'¶·ú/k .Ð×ÔÎlvÔ{aÒ{v.Èñı¿”ºÄ;äý‹üî£z!wÃÚ÷"Ù7yg`Ñãš‘ÜýkWpºhDÛw3Pýµ$ HÏ$ÿYÅ, ™´Ìå b­ƒk¿ÓÜA¦àro:˜ÛÑáwS¯ÔØßê®gPþ¡ÇVÌV‚ô> *_ÞëÌ;z«ömÅ)‰­×Y55 3P­säJý곌¦õᛪ:ï€).'Žê~MV¶0¹MuŸò™ܤ  Õ^.©$ô!GÛ^+tVólö!¤¼(‡ò1SJ~b¤lft§Ó±ã{ýþÌHÏ ‚Ã9T“‡Ÿæî:Xê’œE#!­,Ô*(dçh™jÏt e§2߇µ”g7´&½{m¨æÝPkòûË܆Xõh‰ªÕ?‚cýq°²µ· sŠCÍ>h02™Z7‹4Uýï ÷Ð;ÈßúDø¡Íîb‰íf­¼s<%H ¥·{52û†3½W2ÐÆÞ×SOO³+¾°òÍŸNý´Ê­Ãmb€$pÉWu!Q­ Qœ‚ó9õÎ’nß(Ý'šwËt5ÍÎü£Uµ‹$™¿G>´§Ô]ðg Ì={èpç‡ЉK³ÓOÚ¯¿o9¹z&PÇy·¿›èp L¨ž'gNϽm—î±’K5ŠóŸÁyã^/{¶èY…’°¾.tÚ·Ð'ÚΧUFQ8‚A¥Ìx/e"¿‚ûãPܘG{ †=gA XËVާã¸Khá½Î%Pö†ÿñBÚJ¬üå´gÍË́܌´ô$Í䦽2Ú"Mï>«ºGw½EžÛŸŠ½P7nÕ}ã$o%¶MΞ”¬¿¬?&­âÑ+«°p”T ÇÆ¡¨ÆÇþˤÀä@Ö¢x‚ޱcÃý)-4KôwŒtàüqÁ¡àøÄ…î;$|»=cÔÃÝÕP Óˆ ‚%§:D)_@IÿzHG ´Ð#º+{¿_º²Äì«ÒÔy—ÐcDq´'ª1ä'=A Gà‡µ2ÂlÑA "È5lxå äêß&ǯJ65ëù½l¿3Áydò«¾b8'×ï}Åu%`èÑ9gþ£'Èó­ã&= ngÈAUT½Çjþër–9A/ü‡±†5˜ÎˆâM^Ï6fÒê꼇[¶‚?¿ÞrÆôà@‹Ö»Ý7â»@¢-Ö»¸ßJEÑd²SSœžêÂ¥?—&¿–­Ž5b5ͱۑ ²gÑü‹hëã˜×ßX0Ð*«û1+Fê´KZ~Ñ#O’KJ€Ô[Ý_ãq›]áá·øª­Û°í÷f¿pelhÀm0W‰‹…¨7oº¡–ËãÆøÑŒÅî°•*jÝðîîŠ5^)°ÛžI‘úË 0R¿PcÏö{·îÓÝ^ò¾V×Û)°¥¸Z†ä}VoƒŒ¦< ÆÌœˆÄ“K„Ѹz¡ÿTÝ”¦+öYÁúiÔ1é(Ô—+?×{KË5> S,YMÃ!à@Ñýæ)ˆþgüÈ)šöŽ)‡†MDîâÆ«YÈ×ï5Š Îß¿%£ìÉóþi,ØC™#ù†}îüPžul2&šÚ7TÁ”FÓ ¹BTÕ•26Êš<[£öu|k¬O—Ø!²îJ}L 2³íBþL·I¸{LDgЉžé!K¼`¬ýh»]zðå)Ò}?aែ±Çy®dyþèuWMþ¹Qô¿†Év Ÿ—"á™á~0a*yÌû”ƒÄ¾ç5N­ÐD.–lýO“åC“-w µ:ÏÎè4:MYéÔjÌšþZøÎ5C‚¾Gß½4Ñæ39`–¨Ps`™Ç½“ç[|º7Òþð"œRÞëu ?gVKJq‡¹½Ç݆EZ{fÊí§ÒÞuVð͘{_;+Nß rŠ ~34zKÄ:^ñ,u‰áH¼Ù=ÎLÓ eÇ@·‚ᣉü¤ '•ZÅîÚÇwW×eD„$•}#Ò>:j8^ÑvŸ0 ì¼èJªÎ,Ì¿ºÒØÿí…Ûˆ¤pÖÑâZE‹b0>(w¢´çÇhyCû•ȧy•Fhþ'¸êC'äHè%CÒ%Þ*8GZ[ˆœN‘Ç"‡Ïë⓽ÝËr<§Û.&8I˜²þë ˆc¿4Ü´ËkùúŸiב¦†jÑ·!ÌðήÍ:鞎%¾&º^$*âšX/ý¿_}®¡wèƒ#WlÆšeN¦6syvà *­üvs­ Õnãù6˜ÖYùÿð`§¥dôPey„áö«jvV`–Ù’u'ÈÖÒQÙbu&‚Èû •Mm%ú·;’øƒ4­WãÛæuQê6áGG¦¹?*P[<Ö³Ù1X´'ÎÔÉ §åŒœgâÓŒà†ýYZú>x"˜G¸øoùj°p0/·ÈtÃÉ-‡cJ¾DòNRøB,¥xÖÕ‰,/Ï4Ÿ'‡#ÔgD!<’¾‡ßáý †¹T­Pv­ë{™÷˜+ÀÆðE¸LGdÎŒ‡8ãöR{£J}kŒIú8ã†HB¶“1oÁVû~r¡¶ómt5]à=x±³x ÞsT}—Þ•Úµ§Ž¬À 줚½ûq–®ŸÄAoå ¹$8H›!F1Ì¡1s·uÝgE„gWÃ{ºÒ›Š„tFÎÛ’ Ùð!F/ ÂÈJ#$Ü’“gvï+X¼ïŸÈ=ÂTÜäÃÒ<*㢗ÕÄûÙ/£"hû3èæÒs~äž¾_Ëo4Ž¢t¿ 2—5p¸Ÿ,̛ŮãC­g—šê åÀ»ì-†dHÙ›$TeƬë–ó@n‚›Cãjý|:éŒ],ê„ä:F ¢±XºS&òHiQ’5‚.ƒ#Q«®¬è¯RþZìcM´üQž¦úq„Ô¸ÒrzVât„åIüƒRTÍݲtC904|j=ÚØe„u¾Å8)ÀèñO8›ÿÄö#’ÌýØÈF>3ð‰LqwÕ‰LGõ3€^B×n8ÖFüö¨º„¯ó9–@K;»8™*ówysóoB2UçÝã­ùµº:¡šUèpÊd‚šàÃpï$}¢ÙxéÔ F²êE±¦mW)ëv¼=ñõDòš|ÖkÂèm·ìH50·2·ÓË£&†ç½dgÌ5œ)²eâï_"g U£V«^Ä=‰Àµ?hèJØ OÆ|«°âôA-ño{" ]w8(΃§×N‘ñ΀ç(Åðã½°¬…ë/i LyhndMà¯w@+ùÚƒÚéU”ñ)]FØ,¹ïjcuך¬äšï@ …O°;Ç@UY_¼šAÕáÙß»A>ßìûƒ¼'~#Qϧ}Jç’…‚{{1sY¼GÜ+=J|ÅP„¨ætx˜dø £y™Ù¿\U{(¼àÎæß# ƒ~v•Ðâ<•“Œ£f´UQ€ªåXyLj=¿Q¼iž³ÁìQm÷N×ÇT‡PÌ`|Ç¥†q d&%QÚ$‡J¹Bp(0ý[+ý³JÜ ‡ò·fù=ávÿUs)Ÿ"Ï ¬ 4 ¶äS¾Ã E}!BÀ„9|«?:}â¢'mNL,úÕk{jÿ@¿L§B@µˆB3Èx+mÁ‡1âL§ »Ž__?Í#É<46!¿cÕ€_’v°X›L½(°„ÃóäQg|Á·­÷{Ãa'š‚î)_­²¦ÈBt¨Ÿõà‹éÍ¥·{ Ÿ.˜1üÕâõêÞàµÙÆ ‘4‡Ùžt™Óý:wãü!sÀºö¦ojGdÝaÀ­¶A&ðéZ˃¡kn¶´Få\•R ÈüÈpä)Re¥ Î\L¶Å­‡&‹Ù¤žÐ•8f»œ;J¸ôòéÛái„ɶ95ÚÞ–ŽPŸÙ©ÑŸò†iã—$£{ÿ¨¥§ÁšX%t)ñ}äT…8Ðô;ˆ…aä~=Öcze¼T[Òû)¤™ŒÑ¹•H©©a\uïÜ´‘Ì0þ ƒiŸêJäÔ°gd>×¶åUµìg§‰(s$ûSa@4ýT*ÂçH­{ç »Äwx‹Áà}qÙt Ÿ‰>2M ¦hNDŸÕÎZ;‘íã2bºÀòìeèW™+fCšu×{,µõÊi3¿…Òu˜ps'¢ÅëuŸvíNý`=PUM¯0ŒA‰¼øé—þ•Ô™ØT:Æi ,ªvæÍÀ`ÞSZMîxÐO¸³¤ÙHå.-k€9!8J~b>GŽbò9Þ0á`õLμÝãBÊ®XSû¬áãùBÄ_S¯*‘L¬úº#é«eˆv/ -3‚«²:ˆxú@ÀWsÚ-ÀþnïVªGšÉ¤:@!jÚÍþO‡ Q¿>y„±‡Êí¹tøkg_Ï^tAéòe’*òiåà Ç‘›Ÿo”X5&)nœF¢öGˆu_xPf¾ ¢¸ÑžTM b}³Ë˜J–h-4tÞä•vH=n½3[&QÿñÊú6VÓÔ¦{5}êÔyæî•Ï0”ðy!t¥*—µeøšœ§kGIX—ºÿ>’1Ÿ<§PÏ+œ[cÌÏfµÁKÒ\EáÀô\æ,Ží~ª`7¨P†'Yø=C:àã˜?¡ëJà€OÀ˜2ªé'I:xx­è'ÍŽž¬ºSþº$èm¥îHVHÈá*â‹ÄýÏXV–(¢ªN¤Ü©ÙNuB¨ß‰3Ù ÊÈ(W# ó‡™{ ÃÏ~ÒÀ«H—˜Éö÷M´B,Žÿuúý&þ\-ånã”ᯊ2’H3³öj¶HC m‡,yÉdï³b±×ßVt+Ê%‡Ä%$lgÿß'$\Ê|Œ–Çøyøô¡ú9¹:•~°ë¡ÓC¾S;°á—ûªËÑdeܯqµR½[Ò‹|”Ù£?ªdk qJ°s Žm¬i×-¶œŒl”CÂ} ßm«æ~ªNÖbÏëf<€~£»´ðg¦?†$ë¥ÍÒT0­Á ÌÛЭQˆòçUÇ'Hlœ›ã‘aV¾#ž9‘-’o8kÒàÂáZ4R™KÅ—è!¿k®äç‚'³i{|:Ándj5NR#Ó†I,Â0Õòù³Yº&™¤„¯f9ZCü: ûøÛÚtU·+©QeAÒ7\æíÍsÂÃ4cÕ»R àé¦Ûæ„mµÌ•yС€ÎÌp,W·£Åq^¸cºGvËöñZµÌŸûd ³ÏŽôqÎ|<ª$à%Âaóu¦Ú6èØ$Óôìu½E¼ó­·Ä­:&…Ï힯!Q™ùíÄA¶fao.‹ÔÊÒ-ËÌoE®C%Õ%€ ¸%Òvz¿bòìü%4\KÖåš.blIˆ,!zJcJµ®´NÜ„mÈŠšÛôÒtYzâŠoîô7 8‡´$M¢^Z°Âùb†ëÚî“ìHEÁSHj“þ°'™÷ ëÎu8lÐo_Z“Tè£Î”++åÚÇçØF—ˆžÁÉüËx¥÷Ëñчdõ²þ_Ý}AB³ uz\³î—+å²’œnAÛ•FüÄÙ+¤9#,&âoÆÀcÅ¿]¯½óªÈu#s‚'—gÐøe‘¹þ›zÐh´¡àÞhy„õÏÆ n|fÖ-z^nå³-Ð5±ñû‡H¥¥Bp‰^îâ‰ÞÐñ+å •2°¼‹ÔÔ­CÊ6Ñ·Åî¶N®«LçN#8Pä?ؽ™d£Ä‹émíÏsFûhq`WÁ‚ñò(#ªzÝÔ­Rî²O?Š%ÀSP3]÷LDÁ|—B#DÐT*îŽ#è·}@q0Æ,^l-é»âÙùÉ8]Ù‘u›0m‰C“ú;úÿwµÊ$]ßm‡ôT‘<'˜V…¡€m½šü ÃÖÊ["H23Öú#£—^Æß¸¼pûúár"Ëad_ÛP©b¢f³­¦a÷>dn%i( Á§·h<ÙÏ9ép;½_sнÀÊá×Nj^‘÷²1WEOQwQèºa08BNßb³Úµ}Z• ­ÚjXý\Éo2|u©UÇÕ¼UûàHh9:A\è¹`žÑÓŃʳ«|ÄÜŽ¦Pk%SÔ[+OâζF€Xçl×ZR¾J›Ãh¸/ ÙÎn;h-åßGYžpÇ€R²Ö[2+ê³Ù;mˆ©®h!)®=H8=yéÆééϱn**Ni“¦ dnÕÖÄá ÿ"”Ô¤22:ˆU EF4:HHAX.m<,J©G}[á¾Ç± å÷äÙ<'VÂù.ée¸Ìö;Jâ"p©RMµœqÝÐ>Ý×ôî¹ëtÄ9%ÀÞh“å†E§#I¥ó²P0õ¹à9,ý¢Ð78#ž"·m™ŽìSKúF/ ú)2Ï6)¯múÑìôõë`wÂy¹ ƒÑOqºmYtu5§ 2ËÏSÖí]P+w$ k/:¶CHìNÿÚä׋è§jÕ•hÐéàªÐ–Ôá øy@÷(m§1fÔ¹ûК°p0Å›æVlÅä­9y¢eFYçç¼²}8?1§˜ðÚV&ú„Fîw«àp€34æº1bë"ܪƿÎÄ×| •ç=““ü²ÂWë©5ª…õc_ÀÎâä"¾Š¯›ªdÄÇ“eËè—»ÝD¿=Š™Îå¿ÍÓÈ$:ŽÏŸ§¡¡Ü ³/˵ï²ïý@é§yu…óò½6H#§8ÊØé~I ¼RŸÒñüê“Æ0þ+£lª[Æm»Î&6áŒÑCjV §ãxÚúb9[÷> Y™*O^4-½l~%¡n¼Ý/‡mJq¢y£`±(°Ñ?X çl“ìˆÒÛ•]í¥ !Æ™Åv$hgk'ØÁצJž OÂã¼:ÿDשˆç ŒnŒ› W±®$Oé¶ž\˜¹È&ªŽK‡zàÆÌàÇ…Étä •ˆ92sf¦`U±}RD·¸ãE¼ ­0^»Ñ;1°² z ÚEf?ð ÐTÿm®«ÿ°;ÃG.ŠpÀòKÄâB’hÍz6ÂbV§OÐæ™ å8« RÛ$€¦w92S™ÉòV–ì)&WÞ~"¼€—þ%ñp¾ôPWò¶”›ÛÍú ýç³Hr؉ÿ,#W´F-\ñÍ7¼Ú Ø-1ëxNhž³/@ïÐ/œe_ú¬„5˶u7&Ùq˜£Ì'/sÄÖ5urˆ¶ö–%yp7{2…[BÍN6Äã·ÂúƒÆïÍâÈ!ú‡­švN;&~LpZùKÞ>z 5²(¼Ô×gú Z›E@DP¼^Öp4 ?ÈÄâ¦ãú“Oæ få«Å& ™<—Þ–µ¤ZÚáè–ý×®ºÅ¼ŠàŽ4жp޽ôÂ4ùÞSšï¯UËó·Š×g¼2GýSÄå\ðE]þÖÂVÍÉ«ã;Ä`zÂm®:iý»+ ’àh˜ÛîbR÷öw‹ðø½É,éA7¶Þ=jù¸¨ì8¬«·D¯Š ù¯âuÍY‡ÈÌóǯ~5KåzÛþ¡x~o*`ª$±‹«bxãÃÁLÞšwÐêÃÄn÷«¾Kâá[rÔÖÛž üw=÷N“%ƒ÷¾c=÷Œÿ.ÿÁ¾ÿÌ&öÚ+Ž`©JöF¸7µ×hÍ÷Ê}<‰ …ʼnY>ºE¹hÌÓÛ ’wª³aŠú¸™Ò!“ã0N.°CBèø ³S ÇÕë‚ü½àH“1èV°Xë›MÂý`Ý`TS©®a˜°lõç¸{j˜õÑtùÊW^7TPý:♘”ƒn¿Œª°ýѹrÒ„—$…'áh O§[Ø>|H(Ÿj¥"ØŽSlñ˜[µ„ÁÑĪ{·òtqßHš—Ëj|dz⫅'7RÍMîðE6qu¬qÂ}@$ò%WCß|ÈçÃñjò–i9*Àw7ßÒJ˽k²)ëÿ¾]tiÀL92~‘óç*Y­‰%ÇÔrÜ%hÙ|ŒÄùö éÁ“ª²ðÇùßö\y£@­?V©åP†ßl7•%…Ç%ŠD0õHAõ9/Fu÷úûúz®†ò¤d²4¾JL(å"Ý„§BFôÀ¦$ä¡‹»N(ǢŠ€¨{s—O;ùuNþ}ëŒr^Ƴ[8`¨‘ Blà&ÿë~Õ9ö¹BâèAC½gP<ž`zõ*K±WõzÞ¿)Ö´B˜ 4kÍ úúÈGvŒ©]‡Ð"“òáyà‘†¤§m‘ö­”<€®ÓÍ”/¼¥t ÕmPÀ½ºÐ­Ó¥Ãé%>xiÁÀÎ)¨S‚"HŰ–ñD§Ÿ]b$‘£·AÓºu)#Øë°/þ˜32¤î|´Ê]iU‘;¶è7ÂnÈãæeéGGþ::ïš—>VˆêÉiÇ“mwÄ?Œg™v9¿‚RÎ Qr7<×UX–Ã@’Ss è3Ù„?v«-ý ä²ãÛ««<›é!µG‹›¨jñ¹_íiä Z%l†8? !¾ªc`¡òíyæu§W¿z@·<— Z6?Ñσ̨ƒoÒÓ6¿˜¬ OàhPÜ0ÔÄiqd…xíóžÌÐ¥çÅeøy«AQZ—pc%:NÍî¦Å‡q>6kâì³wÀ׿FR¯KÁïBL…!—ð?Òß!N³³¾/ûü‡ŸT0Êtê–ÄR†Ãÿ<,6°¦:’õ¯óßʦ\ÿu¯sÂY´J3–©“KcYç#`V'ßj‘t•nþˆxžiP kúßgô=<"ù}½¯"VqȶðÈ |ç¿'Çï®´Ñgƒ}¹€á‡‚pš&ØÍ ˽e‘©6·ýÃìgëG¢ãáD üüØP#‚—>ΠŒ€cD‡"ƒÛºzRÕóN9'i³Øu&?ðâws±lNŽ{át¢/"ìZŠÊ˜$ÔÆ’ê[ŒÆììbéö¾‘}´&m„;å ÎÂZÛ†Õ·›‹µÖâ-äÞÕvÉ}Û¿„êÕmÌ"®ž8ö1øÆ\O05Éäƒ'íÂ],r%§J•-xh{¼Yô¹Ð×s£¯¼¦*ýmC‡ âéÀ;Å¥¢ô¤“0¦I ªŠÐ>ÖÌåý•{;î44 !—'®ÓQuŸSLž˜òç“g«É” žâ† ipÏŽŒ‡ßÛ+sá3X•ƒ“O&sœp4=&[ù]ßrä3‡ùØu£ƒÖ!ƒ `ÝaÍ¥ºñ±–<ZD÷%ù%§Ý’:ÖC¿g6Ä\¾VÆÝì(;…1)Ø|¡ŠLV/SmÞ Â­‹SàÏ÷Gÿ~a‡i꜑-Xà±ñ­"‡¶Å9†kSìÆ”™¢T^ò@²ãÏ3r+Aî–Í×™OÚ̽–)„)¹]Ÿ‡°1×Þ6ìJKc¾ÞœÔôù&™ìs0›€"L0Ó¤oÀàWö@ =úcð=ßçdâi¬‹4D‡×ÝèG;¯myÁÆÔqýsôïÛÌs¿ü§±¡%åµâ” w[1 ÿãÒä `{Ù@ix®=«ÉÊLóü}Ïø¸ïà<‰×Ä<24`æþD ŠÅ )gôê¬zòí-Þ`ê÷ a÷ÇLN_ Dä!˼|p±ß®§+—ûhX„¢l^/Η¢³%/Q]¶ˆ ]Ò~Ö!,- ø](´´õ\ÇnÐVÌ!&š)¥‹tVgpÕë«)Lv/qACh%oŠùϱFØà¹Ó·b®3ãÒ‘§õÅ‹'ð=³T…£Æ%¨ŒÎ¼ì˜‹P!~$i¶™Ì@ãùyéÈAVèâ„ÓÓiŽ!4,ó Ž{¬.£ 芒„Cý-Ö›Õ¢ØMIÁž:ëÕ‘f¬É4œ¹ªöµ”nO´¶Ø?ßžpŵšÏ5hvi1Ϙy&BÞBJïÀ E‘Õýõÿ¢q`ûÌ€“Z=yrÓÞ‚¿Ÿ}BΆÀµäćÝgœÓE¢øÑÅB)ö6Jͤ«¥Às ´ã®JYÌ4‰C<ðšj(«ŒÅV6ãAÓ9_ù\ñp 1Õ®AJ \¼ÛLû›¿bª-}l#cäÄÀMûS LsþÓ€pyÕ&„vÉC½XˆüCM >VÞŸ$»5Xö ª];¯GÓ®IÊäMc ¡T?IÑœK¸0½ÉȹjuQš-P™ƒÐí÷&þ{2 / ~ä€ú–­›é kUG&È‘/€© áWÔþ8vÍ¢=£©®a±1”“ÿ‘0ûì²ý ¯¹ÚÜ.#tª,Ʋ°(¡9rûv#Fr²‡b&”ú C"S‹IÒÖ…YCœÒ‚ýêÞ5@šrK‘õÌÂ%$"rž.¿]Ÿ^™*óµ%tÙ£×âRŸ—ú®ÇÌ-EïZ4’;K€”¤.ØÈËG„ a.F+Òănáü_YÜÉn6gvíû#ÿ†r¯¡‚£Øïr-±¿ÍrÓ‰[BoãüN—IyÚ¯|‰ùi+î$‡<Ú×atÊà¢Ïu.÷®7T¦SübÅö0æ;—@ØŠ³,@ÛʉbuÏ+uº%_øü%p/Q|‚çíB<Ä%CÂ@fóH¾-NÒÎ¥‹îÊþÁúJ…°VˆÌT>+û,>æyùó8ÌŽoÉ)™ê¯÷|ÝEBeÝ5kb·á€oÈNÝ~uê;•O°½^L—â!3ŠY2h,¡4À³ïÀ”ÓDUÁ÷I’a1µÒÛ~`k:œP6Zù‰½¶ø9“XÅã2qc!—à§);óï q:€º"àŠìÝ—«Í§"s]á%‚ÙSþdÈ–-Ör¨|ïôÜaªdIcí¹ˆ#ã]ÔJ²uÙ7¬šsè[vß{£«®¾Üc3Sõ]S Þ.“æ~Í´'´g»{˜4b[tÖ=JâTœÜ¹ÁÕ½oZâBpûsxaÕ¢D}¤1RW·°l¨Fþx'œusD¦¡>¼ÜÝK Qì˜Òï%ÒÓÔõEckë­qÿ£ =·$„!Ù ½¡F?f…Ï}û½[šç–µykÄws¨EsdÇÕ¨žÑÞó­^‘%ì-¹Ý|;}{Z{üçyd¼ÄHNƸdÂAœšéß> n ûfP>‹2  ôj® àNAË8…É8Ø•©)Íý ußvª5CT[Is wú‹é½=»x©oI 3È Yˆ¶k^ÉüÞ¢{Æ‹È ‹mâëöŠG5·c~µŠGA衲„|…Õov”¸‡²v—E\!¡¤·¡ŒÛe´v ¬kØÔäa©±&H]{޵ä+î£èO!Iá®Oa{ûLþ†$¥Næpᬖ° íe&KÙ,¬$„rYt ÑQ¿â„·£Ií$9aiL4ÝÎMCÚS z3ðbU‘ BFÌœ³_M­ Ü“V°¶áR¼:f~¶Iž‘Š,§×š¤~…ô—øã«Œõ(æò;áw#sPùn¹Y«É]Õn²5}?¡E©0rǦ+¿rE¤â„¶ž8 ƒS ×=§‚¸i™(+ÒÍïD߀¦sÍ€ Š-ouªýYH½n;ß0s Ë1¦i‘2ê>]í8“^çðàߥriô,‚ØSùÞqêëEƒþÿMB“¼¸‹%f¬•¯SáùÛóé¼ÍèG­ùRJùÊ‹P5ud Yë,¾ƒGX4(j6û}„× úÿa:³y}].#¼1EÁ + ‘,¢iCV†D¿Í>mÿýkKÑd‘Ûô»Æöƒ<„¨ÝU:B“8s89®.?÷j•š¢ô7ôXGAn R2 ,~—Ð.­–·³„!âã.åëгó8D$ÖÆO]»´¬s$–G–Ç16êÕØ›gŽÜÇ ¨‡ß¡7'çúxÿÚ3ÑÈ´ë•4q=5£' V"n¨†Á7r*7·‚¥ÔY€ ôu¾”¦£!— ;w hç4ëEXv‚c~ñolVL¶æÅÑ®ÙYˆõi€CµáˆÉ©‹Pa…gO‚279Œ0ÍÕË!ŒÜ* ­‚ƒ ƒd_,1rgX¢¸I‡n`ùäíÐ @ T%ME¡™rI¨È FÇÂkþï²u'·Ãå»|úžç³ÛÒÚ­(ñ©Ii‘òa†°yFucÒ^â¬HÅ)G%€î~R$ßNá4’dƒ,p·zKqçű¾„%Œ™Oýг,)‚šú–Ÿ&aø!%°6ç}7žµÑi.ÈVCVó‰w·2ëR¼±åk¸1ºŸðP Ò#’]øfi"<ÃE4õ{îJëUsˆ³¹Þ;+¬–Zîm7€f¼°<ï¾tù½1ŸwV}M{_rE_ lÙ§(¯™þøÈ{ ÍÙ_A/«îýCÁX:9+š f6`—°Gükí4º¾pcéVA &ÎëÇt®I2RUãiGmÔÂA ŒeÓR*z‡ø#ÅpC2Rþ/UY&É—»2hç:ë²<Œ¬’|Æ, Þd ²d‹E1ô³;°üÐɃÂEó  1Œ5&8ÓHlIñí»Òö.Ú` =*4áÓxGg #â¬Ù$ E~`¬AP*ññKEÝVŸBì{åþrS—DΪ‡ ø/Ï»$eAX|Îx®CbDšsz¸:Ô³ô\ Fû~\@U7D°=ý€Ù dq¬Äÿ`E¦e=ßÙëÁM½‘¡íN°5H’Y®Ùä4"[=…ÞÉÊ`”JÖ·ÞEÿß¹õÈÕó÷Б߭–B>oW˜RÒ\Ø‹9e $Bîõêù‰„TI˜C•϶HÏ‘M÷É _ôÑ`T¤Û~(66h•>åˆ -\6|ϨMâ+›gãßCY&¨—oö¡5"?£núeEL¿”"ç6 ¡#þ]j ‡ˆ%V¯×ÌB+mØ|'”ÐÕÑR aë{a‘Š-¼÷p§…=# ?NÿÍËPÖ§ŽÏîÓ§k/®‹ênWCìáÐcªÝ÷ãGE gnТñ­KÖà•Ä}#Ê‘²ùã Ò ±S® º¡ªâ_Hq–Ú•s¼­ûÇû¿¬Æ5XÚU¢„–ü5w©³XR‰2'9‘Oa¤´û­„ïͬõ°¤ÞÙ"×^óì爒6;åœÊùR²~¹BÌ0£›vB«ÆS™£ö"] ¶ÀtEŸ 6,Æz8ÔiΤѭô¤Èpr…™§ùZÍÞ²ã³Ã§3åHI§’÷Úôúè'Øtjੵ”“­Ó(ãÔä*Qõ ºô–wO®œwä±=¶šd·‹ÙjÆÊnS¢ž¶‰(Nyovfsºm0dóç§Ô÷_6«œ_„U›éïs‹mLøNõ—wâ=\=cOxmà6,ýuí7Š…˜ò@5ìë«(ê^ ¡qaÝ3ÜÓö²K.lsʇ!ýæk¿•èz/P6ĬhhJ1úÄU¨æ.Ñk>G¨ò ÷C`®X蘨oxÜ¥GÙMÌ'nšî9åÒõ·:­¦FJ>šÖm¸¡L5MgæÌ.ÛqökBBDœ2òHø÷?ŠlíeVª³3BLÿ2Á¼×F0aîj3juJˆ¥Œåã®.yOóèŽÓQèø-›Ôtð%mm.Z|RE_—M\#¬®û•L ïíQuµÝR‚ØsTswH¯~p´nO)ŒI †¦“sÑr]L¯{Ò»+¹Ôפ‘Û+ 9)d磸98›Âx=»½-Ѱª-ìî=Ö I ?8ʳÜ*‡@™•#žIâ‡P”„p—""+È>œ¿gÌiã¹YêJ{”Ûj%¨µî-.¯æxÁ?R"ÀgÉ÷¦<Už??gi%ö[7oÖÐp ˆ ´þ0ÀÓ„“4°qJ˜Ù’Íߘr-¯P7´±…åÀ•é&æ晬ùb+Áäˆx šB5#ÜS*ÉB¾gTëx.|xí²Q6@š¿|FøvŠQº.”á+Ög¦èee˜£ÚªK³ÈšÊÍ|ïy…ß8c4~7©õñ7Û ï’ewˆ™Ì>I+\Z#$W%B *‰®V»7„ 8uMüCÅ쉥²ŽÆ2ÒvPO¶±:Tìh›œîùRñƒ$°¾LlÊnó[6J›oœ¸Þ?’½ì' Dü¨Hp¶qÙ&§N–á ö‡¾ :æõÀ$’[% é $HÛápèÎÜ1‚®x¹Ô eÇTr7lo$‡ŽYQèÿnø”¯hÜÚßäýª­·+=mi1E*ήœìãCÊ;t~Ž”óE¸¢bø©} ãWœÍûÉR¿ä++ýmbÏP#úíF_5rF½Ê½â_ªžEQ¬]õsx?ö¡H$…l)À…èpSÉÄή´Me/´õQ/Ť|Ùw×Då;”bq½u †·±4®½nþ­Zõ¸“‰œ”Œc Ïáß|Y³‡F£»|Úº{…Ps¢q;f eø²Ví§mG|­~R/Ò î .ªø_pç8é¯+pN6Ñl9€ü5çB¬Õ^û.G!¶`CëLùzVûy‘'Ó@ôÌD^™•/b4ª˜Ãå;{ÆíÐ^ÅÊuÏ¥${‘9û `£;÷T ÇÏ·iµrž¹FÚg7‡ž¹*ÎûxêÑL›ÎҌԟ]+ø†ÿ4y¬ýõ]@ÓmO¹…”ï €tÏÌÍÂ7pã ¬°5àÎç[õ5ˆ£H%.^åׄÃå¥\ùm…—¢—X¯œ!~Jurá¯IÍy5=†pUaÒtñçJ¡¾ÅÒ·Ê.‹~GM‘µNãy#ª¥6ÝaŠÑ¼w¯ºi]ê28±•ajÃùÇû0Ÿýå; ÜÃÞܦ<ÜJ£jGK¥ ÙžSåí 1&Gß8|ë5&CCèy k+ÈØò;],QòIÕ"pãȲB*Vú$ŒdóùW“ÒmúveœŽÚ@Yë±ÖÏãd p.YxæCaì Ä*vü #øK7<µ·è=Ç ^¼v½,K¿@æÂ. ÿÉbõmƒä))Ü•øZÄ7ô¨lÑL¾|ÀÒž-uy1!º¬‹LM,µY~!Wx¹”µ€ûü2c”eAý°ŠìÁ\Í"c“ì—ËHP ˆ{dŸŸÅ ¥ÚMo-–…25¥#¥MÄA.kùv~,Ó(h›‡L‚ñf'ã7ØùKAyÐqàF´Ü.qro¡E”pcˆ±5 âàY•@õa|c&§V|»T–ÒÏ8P#"Lê†oÿ*뻇k6‰‘³¿1upžàýžñ™2ùÕ4ÓØÍvÏ×µ2™µ¶û ”aEžDŽIÍãR%Öåö^â*|œ·?ßúáÿþ¶Â“ôb¤£Eg’‹Nmµ±©l!ú‡ï¾–6NÄø†uº¢SòðagN^åQj½ïÑ<ä°ç¾Þå’¾åèáMu ¶¢;¶z½hp÷ ˜  )i—ã¾} â™æÛ¦ì.‘<\Ž0™í ižðq=¬ê}Ò)ô 1dzÛd¹†Fè¯ GZof=ºËK¦ß5»ÂÆS`0÷¥ÌÑ—`¶Ÿw~“&ËÉVéïhb¢-A à|YO™'Û™r½J^©Ô8ÍÒ£á¼-¥’›9ß i¤¹(@Ùa åõ˜:Éïë‹X’ð&êì ÁaL8Çu5cÿÒÒ‹{µïм¾¦Ã ¤I±/€Èyô›PÑoyaÁ¬RÆ×lãp1~ ³›ö‡âŠzM.–\k S„ò+ÏçU÷e Æã 9rO›åŸ¼ÆúÖBŠlìƒéšô§¦Ü;¾«+V0À£,£Nª8\³ðîõŸªÀ8€“iNFíì•Ò°pR Ül‹(¡bô2xOî~çdCxÏÜh)ÄA Ù¤B¬àø~\·eúƒ=’4ê¼ôÙTGhÂuo‚Ú!7‰“B µ(ERò‘L=¹¢ •®3L¾ú@½Wßhþ¢xLÓõŠ gzÁšQ< Z’Sƒ¾cÚ~:†èT´XíZÖŽ”)£‘}¾T+!`~‚¿]¨¾a­[OÐuýj‰•q«Š]­ô—÷ÁŸQÔfQ£ä¹ùAäJrºnȲŸÙö/k‘‡“í™ (L/©X‚¿Ht¥¢ÏûÑž¾«þžrLP¤Ð@“ÔÜ!8Çà¨n mÅŠ0¼þÉ-–E í[MR_hŽZFCT“—i)Å5O,‰Ø$°;D"<4Žcyëgæb (o­ŠûAÖúÅgG¢©Áéa@c~ûǶ"Ç÷6”DCãu·"†ù©p‰E93RÓ0°n1î…UË…ñ×Û‰Á6ÖÀ|6LªÑÙeX,‰ýŸ |ÒõYcyƒïsþUÉb¼Jh½qvd¡"©i®Ôk'¡ÂÔuw4$NžÍÿø ‘ Òˆ’Êl¬§>@¹èı$Ýúx)$6&[qm°ª³ç™{æì&>ér¥Lg¾ŽçT‰vKk$Ñ’qÅEÎâC5¢˜))?ÈVcB •®Í;]¢Y/¨óƒ^€HËkcoE: ¤Z;Ôžé4!VqCå¹¶FãŠ:ÔÇ‹Wà܉™;°à̱”i³fëG¶Aê}Y½ç”Þ¹ª/žnY<Ýæ{?Ž}:XýÉá¿ZÇœ>ÐRȯôž gÙÚÂ|3]k­ѯÅq:TÂk‘f®äDÞ›"ê†ØýļO€ÆðÓ×<:mmU‡Þ°š”èÞ‹¯‡ˆÞ°—šBE§ÛS¤ÿhMdILqvCð“L¤ÁÍÐ1'$¤{?n¯@˜¯ò)¦.Ó;¯YGBu×,L¡ÿË¡)¿:ia³{õÛ 7n†Sò'ÂÆ†éÑ­ßL¡ßᑪÏT|´ÇÏ}×ßÂSqÅ7â|\™<Ãó’$0³¾¢+ÐMKfCî¢s¾\lî¾ßÁK‚ kømdú•æ|ìLêx[8PhW3F-ç¤Ù=òXOa×ìçgY"5z¬hlgçFeÈ ²½>š‰Á³SãREùøGʸ½>-|Cô'gbfP¶“ío[⥑÷©„ÎÚžÌn(³ÜôiÕ¶ÕÏŒÖi{þ´¿,¨Ð„<³Ÿ.õþ­ú‚@=R_èÎ'×4}½žWR{ÕkðeÝy¹ëcR·Sp*«RXõ"ÅDåp:ñ˜ `”iõ=[7á PXŒBA+ ¿Œ©øüÇw+ÆëR⊂¡ëÜÈwb.T.‹'š‹0ý»¥ á«›T¬"_u* ˜8ûYHÈÅ„¥½fê|Në»ü#ßÇíBø§¾\x Êˆ2ooþY×€±eœ°€ ªó4‰f>þì^¨n”Ì–l†/Ü«tP¼Ê<ò&Ì’ž"Šír ]û^ç!ûNìrŽž/ûVŽ^­3á§ÇÎm\³+Éñ°Z4aÞ®H+8ãPâCÊ^R[}Àÿ9zŽˆâKô^’Çw¨ï%qýñÂá4ô¸ÚAÕÑè/'°Íåò±ç˜O íy¹;†ÅT—ÂmQŠäsbÀ,€aZ˜àcíô÷:i Yÿ!“o×òj+DÕá `'vÌ™Yc“uËB¥J–ÚÔ5TgrÀ^NNojó¸’gAn ›r÷}99cXÊî$·¥JŸ«[²ÒMdæÖG<Ø‹î›vf®ýÞЫ0LÒuws[r ÚˆËz#È>µ~lã»ö¸¬Çøœ§éýššêåØ¿WÎJùTÑö™i>‘ö0”=ϹюIåÂ#àV•Fk?P ,¯“EàCÊïä9L¿Ëægíá†9£C¦é°o•°^6õ:å}ê_6®¼b*+˜=©ŽÒVn‰‰I·²Š@Tó++¢y 5l¶½§?FãLÁêeè KµÆZ DæýN,ªÁg5¿ Bù»kD. ÂtMµ–ýϘ¶¯ùyãªXp&ÖæŠâ]šçðü“ =;IÒNÁ›%ëºXH޵šiÏç¢*ŸZ ÿºñþø|)ö0âꪃ`”# î:m€E½#Ï‘£k#-þîșг±0ÚÞÀªÜ4ÛLÐ0¡Eã=—`´#¡€¡'®¢øÍýc/Dt>²Ê‰Ý'äÐfP{¤z¿§ËU›ºÂ1àN㽺nžeà øú}¹Í؃ZDÂ!àuóƒÍU‰¤ž€šðyðfgR*…2gþi.“’%D'ø—›3…Ђ‹Ñüº£§\úåG‰€K ››äl˜nžzJC ˜³xUÞ+×EÏ=HØÊ ‹]v"°ËAÕ:ˆÿ'´gvt„mµÄÚ“ÈF±fAVÏgyÿYþÚʵœ6ÄsS`º )QZ1(y`ð S»Ÿ;㫽qU†’Î\ÉéHº`2¢Τmh$‹ûqš¨Ý˜‰“ q5ÎTñÔVMM¢üØÿÌc닼åïKâ†@ÊL¤ŸÉ ýX™àAñó…™É,åºðáX è&G¥Ïó“Š k|Zä Ißù¤þ̆!övÁb±¾¸jþ;íÑ1¢U‡^{¬c ££*Šæp1—Ü_~²âLOí>B™yn¢æ?ä7N·zoÒ‚°ÃÖ¾I– ¿ »Ûj·]¼©dumÞÑ‹dØå—Ö­˜Ws;§&›ØŒ„óVµw¸o¥¶Öø/S63@—n¶h9„l$:Ï6ó¬®%¤²-¤SÌ f5ûi…‰pqs4‹aý°ëS‹½¸?*™¥vJY¸Y>ĨÞò-v0òh RL®p.š‰úlÃ߈wbãü¬1@S·l®‚Ñ!öA iŽ–È "qšIÊMzNPá“ux@w¾Ê£Cä54žGÑQz€ «RÑ&h¢¸·ÃËÁªEá×ÎJ%vž·—®þÜÌV}¸Ï¢Êm{´™ÖrÖ Q®•²/»­5 Ë’Ô>ï­V•–E1µ_¦|†:¦œyäÅBÈo§{YQsi#ÝÿçOV‹›·oÏ ÌOXMϘƒµÕàé{™§é*Òb0~¯¬üµœO$Þ sMŠ2!ãoßÒË[lã0¤ýdg®#ëq¥Buàë’RMTÅ¨ 9EÊQó|T%À #lk¾¤Bb@2!¿˜Ãcˆ -¾áغŠroÌã OoJIÒ<‚ŸÜJàtþOÔ!ﳕý;ŽWâÖÄð¿$0%K¼ã,ï¬KÓ’wBò$º©Å“]q ðiÌiÉÁ_ÁjK6¡ƒ†ïP7—ù)A RS¸©¸F@6`îc¤ëYÌ!ÉàEÕMõåÄt'×H‚9 à:]ãÞ¦‘ÐëLyq‚W|Üš¤òµFúydá¨q¡uâè'.Êé^^"c«íúTmªR:§Ý×€½CP{¥.‰¸a _‡Ió<þ­’ÌÑ^¡íÎÉåì×ê™1äZI°‹ÚéÝQØw퀱›UŸ×Ù­i”Ági8N)*sÅ-¤{þ:×KrûÃl1.œ•'½XV-Hî¦D®«ç·gxæÄÝM˜è"­æGûN…3m²Fìæ¾¢Zf-dðayG?%î}V§@„òÆô§²n%Ó.п!úN2MgÒq×ÙÇF¼›®DãbôÅŠ#t®nT¿"Î5‰rêU+} Ÿ+8Íó}¦âvÞŽ|Rq¿êt1f`…‹äØ–è*ðg¥x‹ñ7Ž¿ b)|%†DXÿp]ॢ3{F-«!ãKp±6òL јìö=CXÑ„Cw(I,€Ñ‡&N¾šnk©ÝW7çM ºÜÞÉé+¸bÉ¿öH6äðR$֬彋2Å‹‹,ÈÎÚUŸQ¡¬·êc ª–xS(oˆ ¬þp—¬ô¶#)HèÅØòr»UßtÛ;ÿY9Ïô¡}â“Æ²]N¥Ãè!¬Ëè·3k£U³å\‘¨‹È<ˆY‰ˆü|ªöA“ò¿TêÚDixbÂAŸ¡ïø›í&ï…õNˆV™“`ž\Çõ¬i:‹Ûøf8<³Ý¥ü±ÑìØ!Ÿâ«Þ Ÿ#ØΔɤŠNæ~eþô^}åžá(;.üª0×Và©Bb'׌s»;Ƨ ÷âþágè›TŸþP²_€º’Î1øƒFþÃÚ+ i]šºÀ'ÓŽ5·€ kðS€* Uò3_èj¯mFÃÐlöêšgþÛ&©]LvÑmÒyv:²il$Jºø‹¶uD|4ŠxPŠ|ôc/,¿³ô kh%J\ºÙ¾upf’šoç®}Ðß ÇŒ“¢úsú3”°ç›ƒÑ=‘˜PÍ].|ãÕIL¡…$ rï.°õTB#&™(¨QE*ÛÀŒy¤Ì8½®ª"-ÊÁ’ÛÉHÇøp8/FG,j<èÎù~HmÉ¡—~P^ðnkº³iL´ÝùùÔ/—„¯K½ÑD­¡µp*èÔGSŽ)oã‘ÿ&Ôb”ðª'84âš°Ðz0Ùòiž»Iª.Â0侮¤¥sÞÚ%=«ÿ,ÚïúgÁs\Õ\}yç#NeœÂÞaJ–»JMÌ[ YHaþY×}2=ãïNTÿpì©3Q¤×O¸Ë·Êõ%ˆ}ŒÑ¹ ÎnÔ‡zaó=ذ¤Îl5oöÚIiOahš‡è=’-ˆ¹I*ëÁmæi Ïd _°Ü+a]^ˆ ÆžfL÷ÏZÏ t6h‰^^Ý&ÿ ?D;¦DÇDüŠ’ên°DW„½Í_öá|n–8c#߯‹Øõ¹ÞŽâGsB(~P@G°¨­•”·"7~35TA“p;:?N$Å…ýŒæ±ÏÃùÄh‰Ï ûž¨ƒC¼"îÀ¦nÂþà@¯ÖaŠü !¿Á&椊ÏtIœƒÝðb7 4‰DÓ”þÔvâ6¹ªäoð¨]Ïí#Ÿ^ÿéfØÚ¢YWAœ ãqŒ vs÷¾Œb:¢&k#ßF’×6|¨Iìûåå£ j!Ö'1mÙ—»÷M_ñ"Ð)à Ä\åïðQìwbƒ„U<=Ôñší;M>ŽÞä¹[µGs«³Î `ØK4±’­­â^\è¨Î:ãø–×3ÜÿXµ¤JÈtºãrãEøZÿm{h ëÇ\ I/ÍœÌѯbeÔÍÙUCÑø"ù¥É{,õO/ÚQ® ±Ý8ÜŠãX†·ÝY®¦ÚG¢Ó¤W¸=LÜîèF«¶\݈T0°fébý?ÐïÊ´ó‘#‹Åj%·ñÎK*%¨zwÚWuŠÚ£~Yf ò“ºŒ iÌãá'G€C™[‰#ÞYßAŒ÷YԻ輴:BÝ^Lª,ß³7s wgjj‚#—fáR¬`SâQ†¿¿LCŠèíòâ0ßöõø9^që¶•fBmÁpÞÎÖ´)¤#5ÇIåUÒhÇXý%6ãrW< ä]ñÉ»žÔÉÒð\’ ÛʼnÇ{ NŒJ/ý™–—ÀEϼÛl•¾×b‹˜1oá~ÝFxS®1çÑÿ¬°¤Üº\öÝKbÖ_ÍU27L_ãf¢÷ñbƒãíµÚfŒ]z\ ]LÒ®úõøêt'Ô§X$ý‚X‰‰îŽüBB#-H8RFm½âдÎ6æífö’:J¥ëÆë¬F±MLUñû*ja¶: J¥Ú¬K ±Óÿ»ÝŸ4{–ŒÈŽ4 3rðh¿ërF=dùXxšËj« IrÚ Ø#Ý‹¥·FJ`Ò¹F}N /äí·íƒÂh¡ÂC´‘/Ȇ£»Üò®dwN²÷³ÿ™|_Òi—ê´7 G_§<¾wLÊÈÇ3cmdy±úE0,ì2]ºÏ›]ûóבw5‘œ»rÐVç.©´JÜÉr«À!},ˆªuЉÆî‰Œ/sï9ÑãO¢ÍáÙ(§¨?oª–¦È‚ 0¹Þ¯ï¹ 'Äy>¨-¹l²ÔڨĴ^IaÞkŸ,æÄ6{mzrÈ:˜Ü»! VábÇ–(üdêÌ~9qà»6%(ÄÍØÆèÙ´Á®²©¢`eÈ÷Æ<…T€a–GlA8ir~m¼ÑÞ¿̲˜8>}Wò?³«q˜g?Xh›º“#UÖ!aÔY7Žæ>^¢§zå¶#æü¨¾O¸66sèÉïÐV«sCZ¼oÛ¿#_cðTÏ …™ÅÁÿMÝu…À“€PR¿¦Xw»ð¦Òúcµæ‘îy¥ïÖžs… Lû4Ñ)Úc†¡¿‡WQ}SÉÇtŒ5#éµÆÙ¬&Št¹g[KÅöµ*`F¶ÀP̦HÑ–½Ùÿ+éïÒ6è¾r­?³ž"u„AÖ&‡, bÖ¯=Gš^ÙžvYgû<›ëA-ÂQЇ 4””3~ªT£è¤Ä`õ—v?0p…ò¿z¢$0ãí)lt£4P™ŽImÓmõ@mê&Ùèõhèk@­êcçêÿ”1j¸– [fÌÛ“A(þÌ’ºe‚ ¬ÜÄÏPŽâ$Ðvêƒc, JIœb™<¾ônU¼›|øHZXdA¤tÍá¢28Ý ø{L:-¼ºFÉo–H[LK¹)vZú²ušæz ‹Ya¬XdØó:Õ4¿§¤„Yd,~ÿÚÅjB]«sæ6ÉÄûGoŸŠ%ÄŒG¾`OÝà²qÆÎt”(JÆŽÔ¿¼ñÜ-x`U7f¨¢ä¬²ûÓ ò §ž¢e°R¡;ð³|l7/2¡(ØPO2ù\‰ï;GX œõ˜5®BãpÜ5j fæyÚÊçcM7Ý›6lÊ„>!+éAT‰Zd,ð¨^,†§ÎýR¤ZÞ­¢DÔóó£ H_«ä%Ôˉ)†rQÏ6 ŽÖôav0]âmh|£=*ûy9<Ädcp££‹FŸì9'q(Ìs’ñ¹i®Ò=÷E%—±¯/*‘]“+æ©bN[›rnÝ[P¢{qýÙ/´ @óº0œK¬ó¡°ÏTž‚wr¡7°PC[ï Ý£” ‡}?›9ùÊåIôÞtÔ¤#s6±I|<ö®»GŒœÆƒnù‹ÌÉ;¨(8…­¡Š”VQKî±Âw­&¡"èï€ýÈ“‡Ïl"úÁ׎¶À([îy Ôµ¦S¸*PdIféÐr©s’2 @²Ó¸fÓwûà ø#¦Œ§‹¼;ùèÔ§ó@-=Ð’aƆ²À1€¦.+z§¾À =b+'‚;(| ‰’JõæYY¹ Yw¯ÒLyÜij(ârÍçj®Í»ú¸õŠ ü³…÷Q’oG¤´áÞÒÚ| ÏÿÚ' }Õ Ã ¬# à6¥ëgšñˆ}@µðï‡(UYžÇa¹Ã_:`–ë[¡J¶¬ŒenÇÐꕘXö=˜©còJÒBmèUz ÃážÆÁ:/ªüùS[â••Hçuþ[â«r ¥mÆt¹˜‡ËŠ4ÿLüž·=º»ÃËÂÝyPÜ{y¬øYFQu7¶*õÝèkùõ²ÃãÊÛéC„Nˆ’d g6C7tv‘„òƒ¨ˆPÀ[Ï8®\¾?pñ¿ž‹•péU”ÌtCåq|Öç˜#~™0<½'|†­~'Ø3†´"31FÎýÜÒ$EWñŸÁªÐ“ß7ŽZ§ø¸ly^Mn³•a’)2kÿ¾¯p}53êomE96I&ó Ææ@Èø¶°BÆäÅA£-éeÅ@y1>@µ¯1xÙ;§]e>¦–Tú[Ã…‡(¹:(Øly7„½±øÌnhm{ïÜÌcÜSŒ.ëaöpMº9°›þoŽ"¬wÞuû_ž-µ½èÛŠ@n«Wblgú£x5Þß˺G¥R !x Åp0Z„ž$¤_ÿ”æºÖ²jß,Yߌk+»þ‘Å3}À½¹_¦Ìó*”)pF+HøAeðîžØ]²œKò šFy‘lêÆM:ÞWváŠÁ³‚]êUxI¥ Ûý/5m}ßõc#IœS¯¯%ÍTŽ‚1xl—¡$sæƒ %!ö ÂB÷°:ßʸ¼ÜŸ³sªâON’Â[·ùf#³¨¯6C•O±9ù|°0»ŒÎdQ»¹Z2íŒ,%)oèÛJ4ò[ù[ƒ?‹zF t’Ø Wá·¼þ ϶—•VþlûꊻœÁÀÐíã3Œ¯%ôm‡ÄN+ˆC”£©òJ],‘õŠùä<ŽºtÇÉ;1•·ú}Úµ¶Á¢¨ð‰¯•'BwþuÚ6ýèð8µè¢Å}œÆ¤{—°ð—ºgƒÓ¤g1ꢺCž[hlà™õ‘eHƒ*y+¡r)³eÎ+uCó’jQIóP à,*wÄ+¥ì~…tDz4»g/q«É±çç†(A]‹¿ªnƒÙgÑiï=Hut6û•n2žFß–Dx‹00ìÖÕX‡døþöÈ{7ÍbI„üYJȵ¦Ë‰Gd¶ÅQÇìas$TØ;æÎZž)bO Y»Úµ­S\§n ÀIç"‹põè÷`.êU ¿­YNC ô—Þ@£D[<5ØæIè2t>n}ÝnÂ&Ö‡kï%r·µŸIºJ¾ã!úIª³ðމw“U×Èï¸ì0K f*܇wQù+ÐÜ´Lì]M§ËÅôÐO·çËó@Y,aºëºj,×Ù9¾¿kí.Tß)‚NÔfmІì/Àù‡?—á-å½Ô¡±…ˆ€©$Q‡î"'ÃB^1(9ôiÚÄ’+ß-ÆG‡>qÚ÷FÛà~FAŒˆHWÓÿ(T9Û˜S;÷Ê+8’ÛÁFSR\Yà9ðzH螉9Èžñü…]Ìr³/D>ò˜",=f™F ´&¾"B¶Û´v¼R˜ \0阽1Ùé;†1»ÿy >Ê¡¬XéNqW§B‘ã¼b>-¾Ë+üÜ9ƒqù²ýוU_U˜¶zP`ÐʛК3 mÁþï[·)ŽÓI³Ì9JXªî(Â×›¤• ók¡JÏ[ÂßÇ]ƒ}Dò­J òeÇfDj²ZÂI>tQÈBwª‚u¦œl®ð+Lja<  ÎѸ6 üŸ¹7!3½%öòÑДn M«þ“hˆº¢ƒC¥ÚKö®âÈIÖÑdÖ^Oˆ¾e›ìû÷B«Ÿ¢ÀÝ£Éά‰¸˜l6•GQ¡eIQYàƒ¤\¶¢½b‚Ïxö|áÞ W(mâéϽNþµŸ*Ô¸A!Bë2±ÑRLëÆ–ÝBV'ie œž& 4—=™ÓZmÔ=v8Þûjñ‡[ÏÐA1<1¨Å©|B)À ôYuj¼jŸeG@°fF|Î aº,.å7 )N?øT¡s¸ ø—”áØ’…™Žù¢°ØnÄ%Ý” RàzY`n?Ó@.Ã⮪ cÜŦ£Ñ ¸ú§É/þŽ«RRÆ]zs¦/’þ‰Gņ-\Š‹av÷ ÇÌŒJDÞs–mîl-h•bñЉâ¤eù·g¤vº¢yä3g\íQ*´9qbm'g`ÆÐw í÷OŸýÀ¯Î¾ý­l¦¢F¼['°t1b‘Ÿ5ØË)k‘]̃ó/ºýU/â˜ËΈR0GÁQô<\Fqª¸*² Ô½ÆO•U[ÂÞÖ˜ìê˵ûˆaÇL%ˆ’ZêÓ|¡hGÙQØG†û~«½bŸ¿׺0e ?ö[·D?µÈ|,øù|+R>™¼Åâ^.Q޶ÜI¦s§žÑÊ*м‰¥í±ÇÎü|0f‰<kGÏÒÊôm©„bm~Ÿ¶ žô.šñL3S¹ŠAµšYžsËb;nÄÙÑet«EÜÃS´ýÊYgƒ==@ ihŠwHa}b*ð)½÷-ñ€½Ù/âõíú.½…„8Ûnþm¹årqeSÇjân@ˆ¢ÌµÐ|Ÿ©T4ìª ÕánÊbѵ}šÈœÿYÑ­¼x¹^70±$9Eäê 3&á˜q©TNÞ±)kÞ£ZM!…} » JQjÑ ¿õ=‰±¼„Ozý‘âÖmÂù(ðe1VïÆñ$5FçD'J票)iÐ’ét¤\ô”WlD?‚‚Ágs Ž÷®,‡‹Iª Û¼ÒXµ¦ )Gvl¡öV<õNC/ ª pô¡û4uÿ÷G¸ÈÆtö¢Ž‚5Ø»*Ç®+˜Ë!'÷£6 "5Ò`zŸ(T¹=ñ‚O«]÷\-mÅIÁ3´”˜¼Wwµ_ò oóDHÏÜõÒìH‚¥Ôt˜••O¡„/ÑCü\øXÄ ¹£ "˜n}ÄQçPHÕ¯U=20<"P*áiJö››ð!bÔÀðì*9ˆÊX£Á)† Ä¯¨ÌY|F„´[}Ø=g×¶ö)þª°cE¥J A¢îúˆ1bÚ2}š¦„)Wßq€RÍ"f]õrñ¥w.çϼŒ(´$ÞaÁë©¿JoZº¾—"PÿÏQödèN‡ÝÒ:íñÐâ­×öÖlô+|+,áܵ¿GIJÒ_êã„> …ÀÈV¥ŽAøN‹¯}¸›ÃîÎÑß”™ ^IÃR«ÃF ß1 L§o_ä·êÈó@ðàþÞ»Èõ)Í8ì@¢íå¿3~¦zx=¾PdbÔ CîÅá¦ðx|b­˜}NÃX¨I[0]x K;Qw¤™&C· ~üJïÖ÷%‰;3èUÎU_:†ÙÕU»oÊ["Èâ}¤Ÿ q~¼AŽ1xEå¨z{|ŠÅ-¸L!•ÁM¹,XŠ a"Š&Wo3hï~áþËó-P ‘g$ šŒ70ßÚRa´ÛóúÖO¬®†¿9Ë™™¾‹¾ÅA™çŠÚ ˜âÛÞµvÊh·ÿ e¼`†X.[¥´Ò{yXüÁrÂW]¨ð‚,³ø\ &~Ò~SŸ³×™ Û¿RFjúž¹’¼ŠµÙŠI Ìqã‚HtÇ•3±¨\\±©œ #sÕ¶OHéZ1ªØ™)ø6'ãé›6)`1‹Û‹Û~í³zNW Á‘–üÀ)¦0½ÌÛ­;€žXíÿEñ¾ üﺦ¡{°^ž5 ú–Üè)¯ù›òÀnž²b˜¶ÔÄ"©ÇÇ8ŸŸ!ûúXA“ˆèÛú?4?ÃÉ¡© kø`þܸ*Yx®~Øs*O²gԌﬨ…HKöy4AVzo;L¢KÛŒµã@jÓL¾:;ý·®VlŒ?³$o6Z$8‘¥µÚ¶S¿À" LшÆlçä\åN‚óøH›wšÿ·5~TÉ.N߈ s—^éáPnFŽÌ€°©¤È9R ž[Çw{½eqâõ½Ïi«ðж¤I76P_½sÉ>YÆz³ö_x-X«.§ˆ¶s^÷æazó÷‡|ëìýëÃx‰™I÷’ËQR‹ÁmZ˜ÙȑӖ,,s´‘!š‚O Ò¹…/:VÑqÓ&û/“zÛ<›¸ßK^ø´™¯OЋ6!\D¶›ôLÖqpn×$É?ŠÀëb$¹f¾Ÿ“Ñç«Bç3{^^(á>¹ëhPÜ9îøÿ,n¯±¥ ñGOJždC'áÄÿ_©É:%W˜©ú;Êæ·?Ó(Ìö¶ƒÐÒ¤í#Á춯ÞÜ¿8@ÒÉÛ‰„²Ý¥ÃÉ÷Œ¿Î>"Wnú†$ÊÃgt2HYaÒ‹±rŒ-]ŠÐ†=Ûj€-ÉxüeNÝ2É}WWàÈ{Ôî.Mß»>Ypë?‘h’Éý U¤$˯™n:ÙúCŒñÿ½Ë‡ü´z=_N*Ú;ÔáÚj˜¾ìÓ,5³×xÒǺºp]r¢ÁèaÆä'‡pf½Ðñg±W‰ÑNG”g}ÎNB"ŹÌïÃá˜õ˜õôù¢2g>°%¹1[ 6ðr¼_صÔòЫaͤ«ä0ƒ¶.—{ ÒÁòK"Äfˆ²ÅDþ°VÓ|&yokz·Ñî,˜é&ˆ`Š÷0«¯L{¯9§á ¡çú,c°í¡bÍQ³e¡œLÇ ÄS\ÆŒ¬Ù7ÅDÓ ]Ñ—6›J ï–°â©W`µç” Ñ V“i²á¨¥‡ø?ù4D‘+Yðó½y;cm=/™g¢+ÑoKëÑ2)=wξSx¼v&43£J7^:oÇ&1ân—4“"pCD·ž¬aXxW ëÀdü„¼j‚Û0q˜¤R:=\ ƒ15ü³‹a !ÌF©á±Œ\…¶ƒo†šÇ¶1Å É‘d[Öa»\ƒ#:ààÅòÑ ¸Ñ¶ö Çõ\pyî™’ŸÄ~óªûðú<}Xó«r£Ç÷Ì¢›c§[wÕ^7Ž^×âÏösësIæ;7Ä“!Þ‘§ï˜J Akc(赇»è!„óĤAs)WUT¶yõ$‚WHõƒnto¼±ÖÛú4Ô°û „%oyˆågÌ pòÓÇШaÝ:rˆ‚e¨J¹Œ,ðk[íõ¨o"ÖzÅŽa–ÃrîGþ ß¶‚A|LÙÛ±|´»~ÁŠ˜rîÐL=ìióŽ‘ wQ©‰×89¼H³ß̦Ÿ£h¤“õ¼zåñ\v/ìKó| pϬGÇ%ÙÛÉtäm7âõ´£|n'.£F“Yf÷ÞL™°„âöTþ5·„ÛÚK0q@qwÏ‘´ñ–8“Üsö§£áh"{½’`8-¿‡Ëä TÒw†Ër† !¥óáTÞpüÒdÈÁËH;¸XíZ„3­–'ÑŸó¿ ÷^ßtW èkµ‰rP0]n n^êa'£Ä‚J-WËL¥<áß.pÄôÒ›1c :œ`)ÆŠÏo&r¤} ¶õŸiŒ‰ÿ&´º«û£*aÛ¨ªŠt`ñw¦ÂeeË꯴Öè$Z”›ÃNnÚkóRÝÆF™¨µäšö¡ ºÄ²þïrÊ ´'íí –ùBL‹2X¤÷‚껊“ÿç¬×3è÷ãðCí&O*‚ÍÏøÐN‡ê°2ÕãN ŸŠ‰5¬•ÀÂÞ‡)_>Š/ÆäˆOÖê@FVƉڃ \DÓJ/à­Ø£ø:…y3=AÅÞ^¤w“ T–ؤ«ALªN2DC“D0Ž ÿ¦}ýÈ1½Bj¿Kù'<•Yq^^e´T7‚Ί`8pªÆbhñ5°˜é Df‚T9ÇqÒQÔ`ó<üJ¥.ë3µðU®ýv³nÔ hdLš•ÛÆ­Í°ÿµÆ9¶wKÉAr-¨JÈ·Óʘ¿¡TýŒø~?§iCíãœZåõ£æ°LP3W¡*‘Fh·֙ÛH?äG+Å<^S?m%ë…†²EX ´Ø#¤<Êéà 6?@©\¶_u\÷$}üøLp|™±œÔÈGW"yê2ÌöäÞžÚwJ“! Olqém(_3¹ç²EU•CõêOJeI$þf¦ènË.ï Ζ7 1¬€¨/³3·aQ¢g¶™cÜÙ d¨|ò§T…ô(¡!š|ÒçÑ”«L)+VÁ&ênõä™9½–b­ÿ< ^-Kgxžð¶M§Cìf Ë”Mäýlt µ•:ì6ìåjž'ê:ú‹»¶ÙG¾4?ò-Qî®Å”¬í³’¦:hZù¡¨Çc&o¹âr¤Ë=0ÑŸø¿ ¯††CŒÄ´ÉÅy("öH!¿Išµ3Ú­À\œ&¤Hj¨Ý~M”dªÅhqëͪÚïÙò¤Ñ¸¶·«Önqb}®0jIÀß;à¿wû¤u}-F±w°×vM{œQïë'bã C‚CµCû–ÓŠùL#£µšV³Ý„ÒùdéPø®3~’.Ué',^çCÁˆñï&µîߺ燫РdÒcÖǦBõÃäÓ]H.2òrÃRkà”0hoE3€å„øn¬þÀë BO¹¢ªÖ¶[RŽŒöâh‹U 8áAÏ®IÕó Ç|Ðß2j„Sûÿ%Ò?—v'iÉsÒGîlÉ@·šïóufç,{±9¼i¿6tˆJœÙ±µLÓkj—õ‹ÒPª¡ñÉ%=ý §Ò¨ó\Ïÿty?)À‰H`ØÁâaÀÖ›b/åïq—OgèÜGþh<«òodöêp“:Úð_¢ëE2;’©Õ•çx|OQuÛB†S|óMTÉ?qté·¯¬6dŸcÓ+ìôk‹`4 ýŒÃ°R~W¨Wá‡ëäGª0¥ ¸%Õ5Ê™·Ï›ÓH†0†ÀD¾ìNþ Ál*”¾¶Ås“Xt?­òóÂo"uÄ~¢ãA3Ä(B¬¬Úަ°¯šØW•£•Åÿ[ZzIvw–ŒJ&À!II3 ´†3ªeì$ÛxÍHTu}K|Ï:|ßD“ ÚüiÑ Å?’ì½uÆ+‡çßóýX>/Ëj…õá}}™y€p®ží­™®ÛX$­rå¦éÁAïþ›~„˜Ÿé;´ùžuò!$©ãní'{2ô´ê–‘_óä>è#aàç"¡裬äŸ&m^¥¢Ð‹ô_À?·Î„ÕÆÎæÌx|¨}ôÆÃ<öÊ믙fî|„ƒmy³¹ÇÌÙЪœ=ä±qÂþ+^…}ª ç/ø3, }ÆŠ:¯ü^+fÄÇp†-07bûŽFú&‘&Ð爳O~ À ÐËêÎ9š¿ç‚v`¢>t¨l9hÁÄZXîIß“Us¯eR*\æq ðëO¥>vzßÜÔ²ñ˜¹n©@~ò•ó½¨]ºDó¾Ó±æ/ —yââ>ÍHõЉWÄ^îuN¸P?ðž\éGzœ£¬RähizàÖ²‹gšàf¨/Wc4TôSœù²r—±nIJ–ÖÓg>Ž×V²ê½!ÀŸÝšúé6­Û°®Ò{)GpÌíÐèsëõ›‡™e½2Eè:eÜ\ó_•Æð;‚Áäy=†CêßÞ¯"Ø€¿rîîKÖ†EÎò÷îX/èO¨¸o¦¿Vmï½âdñ·ìòYÚ·=UÊóúÐÂí“T¨ÎÑç˜A {Ë£îRøëDž-¢X… È91ÄÎú¶Ö ÙqVØg 1G?ª\œ ŠÈh܆")YZĬŸs Jø¿ÇJ¢ùÿkœšísŽ®E–B®jE¦Ù^c}ÔêOÀ|ÒÑs†6=±ZGÃÓˆªå,쩯™c8²-ÆŽ“s"cð-—úÄöòäk#>”R¬ÂTŽsA¹ž¶ŸCØíÌóWÐ&Ì% ^økwd_k¼-ØÖ5{ß(#ñûæ÷Ä7I*…Gý°ZVR/ÍŠpPaÎ× `æwkÅO>Å­‘ok3§h¬¹u”ûÂzœ¦‹ã´Šþ( ÒHô`g‹‹IÌG:ýÆhôÔó·ñMÞk™m"·Dˆðw»I?µËöÉL:°/CO$µú·"q•Ç’Áåö[¥{£hßEG±ÍOhD°€ã$™Úÿi0(Å£¬Çw¶ƒ)A$î©ö¿c”Ko¥;×-çèÚœÎóx]}„'™µçüñFD’›„EÞßLâÇNt~âNþ,J’Ã$mZîäÆô¿~ö!ó«ÄŸÎJÛôVqw·ƒ˜@JZðaÂW®œÛS¶ÃK´F÷U›Ò'ªÍûa+„5|Ëõ} C¸?vEj£#ÀÑäÊs7+}„•@‡OÆðT‰ò|êHWô·@!ïôˆ±–|ýÈ6X/6åI¬\ìe½[lGËÃ'Ý`¦*¶{G†;|Ô)¼xëð!aš´5d¦+$3(œýyÓsJ-êÚÞy–õ×ÖYÑ÷¦ùÕÕê{giÊ¥—Ua9ƒy+$|×<숈nÁ7g'v7³#½… Wì÷vH4¹éZzf6’„C´ˆz.ûêk¡½ç®ýE»¯>û%c/_®Î²“ÝŒvàÈâÒ/{t•Oo<[Ñàèy›+!𢵜uÃá˜f}}S L[ùú%cÏ· “hŽROŠ8ÜúƧÒóªîEéˆÓ±ˆ€åÂ]ï'iñBŸ%šGÃ>ô°8±ÿ§À¿¢·Îå".AãùŸ}¢ä¦dœÂ¥ðŠx‰Þ×§JÁ2á½Ø6ù½Ù)¸„· ™ßÛc1§É›éè@{¥Å8NÎמÍeˆŽ|éÿ„Uç†M³!»k¤IÚèÙ¼7µMZf’W¦!i’Ž1ÊKôß'#¹!C0@5Ò?¯ê€¼âر‡¿ :E­Ͼ§|tÌ3“3ê,ŽPÔ˜æ°ÿÈn/ "­.þ¬LF7!£ yHb ¢ ïĸF抵5UW‰)KqɱýÙ˨Ҷñä¥xñyÚíåªgƒ»Uf­°Î•¿»½‹^F‰pPŸò2lú긻F§*i5Â+~$‚½<1e€Ñ4b¹©ð&=uw5§êhIGÐ!üò^zKòçÍ Yצ¾8JÓ%¬Ù{ìѦ–4Ûo²œ¦M6›'Mû`u-´% |3Õ¶Ë®Ùê%zp…r3H¹·à#©ú×§cV“€tnäeù¯ÒBý ) ·‰Õ>B2îUr-ØÏ\õžÿ¤·Û Ž)ÀX. ¢¢×4›šIqy䶬èw,‚-—LY†¢³Lè‘0©*Ý€8þã÷,ßm¹7u¥Z†ZX:‰²ã}ReÑ_|W»Zá¡íÞrµ•‚ì³QÈÅ¢3,ÄÖY¤í®¦®ßûô¶º`¨°>†FœÓL1‡löQ¶ÀŸòOÛ6ëŽ3È´OL‹¬I M푲 ÎôHµò'² ! ÷® _ ^ Vo…$]¯Ö »b‰§Û‰Ú~ßÝÉθoeX‡P'h:À•z<ŠóŽ—Ä»eø$ç¿ÕޤÜyFÁ‚æÓ†e²:ë¹?£›—8HÎ&ˆËöþˆ¿œëÿä ÷Í7±çcJÞ zXkr¶³„QòaQ¹òÝÿµŸëõÜ5üwR¦íbMb×–‹oâ¸}§»ç“(¹?x¾û­&«;ÀµzÞ‹TN¶TÄfÐ5øÓ?’¼ÙFä­È‘×SMe1ô½’”Ž©`6>øŸv¨ê›\†p^+ï'Z«v$±ÉqÖØi:G %Z`<’ªžŠ ¾+ßWyŠ«”eŸ'¶’›b¡“ñèa´ˆÔ¬ªŸŒ(>Âcø_ˆ§enkסåˬ5!Ç—~ÃÄ.OÌȆ¹QÕ€äyQÏvŒåò4 ¾•bÖ3‚˜žxoˆã|6yE6ØõÅÊ@d‹‰Vº÷+(‰¦:BãÎÿmªxõäßùo! qþ$êa×~ÛÔä!×4Mû~‹Óî­}Z;å—#wQyÖ–ì„ß°Ô½àÊIó•Nú‘6¨ñi¬MIÊ+êùT uª†zy9Oî˜ÖñgÔû=Œ„Þ8—¾Ã<($=U”) ÅËDXSŠùƒ9àtóØmÍó¤+“»§4Ç ck6xÔµ±¬ÃGcãšczë±7 f¾BQšiÉ+¶2 Åå×!VÀ{©*­$¦¨D½È´Ûq‡EœÇ‹s¢ `ドFE{ŸQûc€W:e•$Ü‚AKçöÐÕÀ¼=þ‹)“ñC°Êf”çœÁ½õ÷ë…;ÍZøÄ쯻%:º7ˆa C’Ý”ýÍ,…*uˆ]ÔðÜY‚˜l•§Z›Q%l¢–A(pƒÀïMUµ¢}K'ÜéMa™uGÔ¤?äj—(>[(UDdMÉ:ñrGx–ò•æŸF¿ïvuiÄ`öãUbe㚟Åc ²Z…Ò䈹΀Lž®vÕ 3…Žìy–µð€ÿÑVÿÅ“ã&X„u>rã©d˜´´$_ðÀòA×xbæÜ&Fžàð!r€7–£Ý€+|â=þbÒ-’*]ôœC×6ä,ÃýëˆP§r¹PÂtLj¯!É?ÈË5¾PNœhJÑõ8=@°ýô=$óϳ­aßgî{* bü!ª§gö‰v3d–RïÙuî£`+Œ4;;ÍžÕà=¡+q+gŠÛÂ#4FyÑ R>}~o‘¾©—Ý¡{`ÜsŸ0²!Ï•U¹œƒ±¨i½“ÏŒÊ÷’EæiԣŖ ;1Ötÿ ŒWç*ã«2Qzzðs·(c;5ñÉÖ¦™å¯{-˘SG&ÓzŽGuü–dìµþ¸×Ì» CcÀ tt ß?†Ýôàâʉž£º~øãÅ:Ü%tV®öfá™ÝU']ˆÑûžÑMÜl©V-t®Cg/z‘˜v: ¬ 'àf­ÍÜÉB>ŽäÞë”Ù#?šîçø¹eS)Qµï.Ó«a²“æèÌKû8j`úIö‡Ï±B/i úΕbŽrº]óØ%)o`µ—J€T«º¿:¶f—2’´çD‰›cËà€vö6u°Q* —Ñ@¸O*a;Ù„µ24ºÚ;¥h{ŽgÃô0­Ê&"1ã1X7¼jÎ|`UzþíGƒÁ-Ó;ÚÀ~ƒò’L5ò|d„imâbÛñh®¯ÿY*d3ÜÖ{м§³t+eqbšdec'û¾ÝÕõ‘ðùÿ­¨KsnÌ9x~¯»f ë¹œËzέM·×ôã¹$TZÈYàz§B×ޢлøæb.RqOyœ,Dwï¬;`õCòÊÚt>õDxÀjù]h¤v¶ídoÊY‡‹œÉ¼²w_¶‡öì/Ðk”˵= ¨ýÞ{¬¤”›¨XKÜa§±31Ì\û`÷Ä” ˆˆò÷‹}î¤5‡ ®Í •·@Vâºo‘}B5šP_3’?$]å7>øJÒžÐ^…¦U6N½rxZ¢À   ¢Ö‹ÌB‚)E¢×v+xç O.óJ–jÉ”×ìMttêïoý1%!Ñhy@ˆrËp€õ77—©5 Í… óÙø/ðÜ_°ÆXvøÍÍŠò|kt3þ W´>ø˜ss@ù"‹rþÙdÿP—-†$}p@%Xo Ü §>^Û{›¶!þåð‡ù"JnÆ<™eE81X« Ö;SaRÓ @Ö'¢ð~¦™½4»ÇDš‘Ö8†B¾ò½KÎÿ$ˆtì•fWͱô·7ã)½G½ÆÇ§½9 •¯Æäå?;q – øÌ©Vø…r, ‚–‡’äÙDÉÖf,˜r:æ:ÊLHôi]òóel³ÞšÄqR$PYƒ8ê÷Œôr-ÁtÌÔ-5Ðc›:ü_ÈÊÉšÐ[Žk:&g˜è–CgÒÄϤTAI ëö$EC.à~‚P&c>EÁÉ_`.JÞ|˜¹DÕ®Švùöl´Ö´p»ÁrlÇŠÚVyù%½Ô@*AVîüÞÆˆ·’¦K¹ù¡µüC1I.Ü a+rîQe¹Þé ›VS¤NºõÚëЦ2+7©”U²cÑôûhA"U)Ö(œ–/Œz/7 I¾ÿ%áb„N®´¶;,ßXXÙ™mb¾ÄÑÑ3+ó躳˜˜ñõ7¯ErwŸ[Seä",&12,ïà '¬(¤ê'X'®"à¿­OŽPb^Aw¨(æy™”+§áòõB0n>³Í ‘Á³Mõ§°e}ˆ’Éò¯]œKœ¥“ ‰K–ðô á÷w–…!5¶C}'ùå²>ªAi"úec £5Õf"MHŽÿIèUÊåÞ£\f2ƒLØÈ/Ç•¥[ù<’j¢›¦biz¶.ŽìòêXHPÍWAó–qcÏòù%›Ó¦ó¦iÕ­žÊ3¨_É£ßÁ²»@ÞAÕ³b;ª©Åqz_ôš´†f«ùhT׳Ê=p[ø[ªT…1Áe³hãÅ•·{—¹_‘ǾVP§ã¦;©¯g.–2Kr ÒZ ,zã„,¿n;Si$9^Îxº{‡O˜ÉËÕ!>u’MŸ í2IÞ­Ý<·2òÉ‘b1»¦ï}% WbIeeqàÞ"|ñl³#ן¬Ù‡<ä•Ï礗³!äðõP)3¨ · :Û#e—ù-NΙñPŽ}gÄÁûd ©qFÕ¦ù$½gˆäé.YN % ½„0ô…µøV Êx9fé,EÉðH–Iž* )ŠliƶÂH•YÆÝÞíKòÄ9ÏïkJ°ö2¡^WîZ¶–Ó“¶0–‹@Ý.iÁª¦z& nJ0ÛÍ6mPEwÏ,<9–÷e‹H<¦Ð8L€B"jR¬Æ­ý£UWíÿÝ+‡u†ŒÝè4îcò2ѦS¬[eÝã…iRiP°˜xæƒï‚”%¢ÜtÕ\L&N3d‹Ò~âEÍÅî Pœ¬ @”›úÀ´ðM’÷¦ôAÈ‘!×%Ð Æ,…u=°Z16)ï@îQNÎyÔ¼ÁÛô4pvx´¸ÙZ¨I¢\îlê}+nÇʘÙ2"ž²TõxÐeú“”ä†äœºJ±ò¼\ä¨P‰åiüB%ÞŒwµ~'Ýqeƒ'‡8MÑåhúôåßzÒÑÃoÌXõgq ;YÌÈÀ$õжÓhQ¼}Ì<š†7|è ïé_R±ËíD Щû”,À½¥{èþúã\3Á—î^Í6#6{_J ¯ª84«¡¦|*è„„±-Ù‚æCÔÍvbÈ\ëËÜò˜k¥-®(«eäÎ ¾$b^ÈMGg2wkõI¢[æÒ_ï|ü(™Ö9ñê°¡¿MT@K”Å4jí÷!g°´qr†;\ïòjÕ<ì• x‡”¸œQ°åç uêqùG],ˆÁb/N¥Wü‰L \EÜ”†T‡7×ÍÀG³ÛX)$ã5÷H¡g,üPšº Àæ)fƒÖkq}X_=É?6Ëÿ!r‡µ±wªÀ;³…óÕk+pÓå%Ÿ…ݹ–NÊÉ/žG&ì赂qU?2ž¶L‰ÆJ; µ¸\¦ýG:D!b¨ßnàö­¡k÷Òÿ&YÊ’ä{ø¤•_Í%¨ÈÑ…õ›WfG.UEöJ?ART¢ÅŸLzgÇü{l—ø×õaª‡·/°¶LtÀ ÈrÄ‹Âò^M c¢‚3ìžÅË»¤,;*f;Y-¦Zš8+©£äø €6TSßeía½*ÕÉ»ö°BÆÌìk޶iûVf ô&‘áL§B\>teש“†¾}Gíz€,÷/­¯‘{US¤²b7 QÙŒï%éõH[b©#^•ò r…œ*~F'½¼Ë%iAž'j¨BÉr²—jß­Òò´{Ï{ÑÑÑwTœì<¨·\iÔœIþÙ‹ŽlG÷ƒw]]E“,¥OÉÿÞÖöÏå¿òÅ$$%îáÿcõùA­ìäÒ!,þõÚ‹…~uK•ÊG×ºêž \4"ó7ë*{‹õ6 Ü\ɰFÏTóçX—ßJyZ½¨òd“úÄפ¿FëEÔe9Ø©Àà ºô[¿N¾°õìúëkA¯r6C¯Ô=y‡ýmîp× dfͶÌMcž?‹mn«4.._³þw+H¦;¥Kí 89 ÚÌxmjÇùˆ¬DÇ›wÇæñ§w¹êc';OQ@!2YK#'jѤu·›ê4›ñ=™Ð_R!4Ètáä=A^ÓŠM²/@[ -醒j…¨Y• ±G ß ÇJXMÛªëRqÏ Ú®ß› u+Lè¾Cèm?IVæ]H7A•‘ú Ø¢–Šñã«ãvÝYNJŒ¢ß?RËèÿ½oV]ûÕ 'B/ÿ ð™:†^!Æ»Øþ\Ç:ì1÷$“®v{hHC½WŽY…þ°%¹²- >]”®×æ1P^ü'*O6ˆzöp¥ˆ½>ÆW÷,ñPOý&EEøå>ÈNVE4GÐ×Ã=o¤µšY‹øõg“ŒOïÛt,îa=ÍR)ÿÚµnÿõÖ\C(ÿ–”£µÎßÕz’Ö¶÷ó0Ž\â2¤3…×å2ôM,–f®åd\{ÔäîN4#1[:NÚ<£Eû¹G¡ÎÕ\•[U7#ø2_ð%Zý.ÉzÄ,žb.‚åRNŽV®Ý‰¾¼gÉFâ¶Þ:€ˆRÇKU‚ßÐïÊxïd®ƒiëÁlžòJ­Ù\°a,^îǾ-Pžø ³mkŽh¦Ÿ†®éâ?Ï›£ùPRÛ 2Ö¹ìÔg6=@þD¯'ÕÐΣZl…³½ìüñïèºr‘b2ÞÌcÖãÈñÁKÎóˆ¤2Öd&OºÆã|JYÙÜUëݳÍvã#ÆèzO#]Xýè^Áx`”¨â€;2IîŠjÖ½–sÊg“£¾Ë‡œÝ—ªw’1‰é‘¤_bànÍ8v›Wl¨·y«ß™UŽ2ÚæÃÕSfµ'–GZá¥'Ï®&Ј5Ö½;³\¹ÞçÊç_ŽÛ—jÍ˲"å€ð7pZuj˜Ûµ;óŒ¾Ó„!c×èÓ~ XË⤌¡4X’$5Ù÷+‚Gü;Ë6N#Zú’– ’¤T4.9ápñϤdüpƒV1x1U 3*ó¨¤àqOdâð –« ²ÂlÙ]ÝXú©HM'‡Ø³¨±ÙJÛ­–Ê•xNœ~š_=ð]…PΜ^a´`uº´ŠÓÒpgÁkÊ®ÏÏe©9²À=V*ŠhéÜŒwíI¼+oKç’€nã̇gøî†Ëµ:F• ]ìöÉ\ò±™—Ñ/á?†ÌárÄxAÙõW Šñ 9v7?Jšv¥Ì­ª0†¶q“#Û/\û+Ÿ0çÉBèH&'ý%ÄÙ‘kU(²¬Z]X¯?¨aÓ!:´ûú1ڭ(}ÓYrÞ¼CvÀXÞÆGucÌ6£G]:Šb¡x€u¤è¢Ô_—!,}2â*Q™åôvº&ö¸ƒ"´\Z^…Hij”ìeÎß›äÖ§6¹ ~.Í:²ð/S ö;«ŽÒ©ßš‘¼ÙÙ×VÔm}W”wÄz™¶™Ü)²Þ,J̆®Ýî|pÁ^±ˆnfœ\'Ë'o¤o² 4A8[n2“¹Ïi›¾QrærÁ¢ïVÅ›ú ììÔƒÏ$w¼´v"o?sÉlg 3øVŸofWǧâuÿÜfWÍù¡Å×ã‚¥€Ã“„ZñýOá°È|€sdøÚFODSÞ<ò½CKJ:KJŸ2Fê¬eý™×vŒ»D“kšá_ Æ^¯!Ý ±+G68¤°©…’%žs8,$l"ÌÁ(нèJ ‡ÚˆCîMJÒÿžÂ,%—a ü*B<Ž¡VY61êù*3~ÿS#€ü4ú$ ¢ÓSõy#µ@F(C[ƒ™°½?59Òtöe|ˆxÍJ]ºW¼¶ò½Ái–Òó+|úa}»ØªŒL—bŽºÀGVž‘eX!˜K&@D ‘ÌÃp’¦¶1QÞýO>ˆŸGAíW×\ôñ<‘å¦Õ%55,>¾yvµÀÝùÏÏcp*bIëC€1Ñ÷È×-2@G“™$Ä®[œVæ:ö¬]Æ4U9õÌu.jyÏ5ÌÆy9J‰DâÜÊFu#Kæ>Ë€¸}LÞ²~óC ª5éBüUD9¸[Ré’vÊ1x[ {6²kÔo lmnÍñ"Ù\Aˆ?8dYšÉ—Ê~×ó—œYÎ./\ÊmJœ>áüÌŽACàþ ,F<^Ó±[²ò^§Ô‘¹-DRÍ ‹lŸ'ÝÕ{]/°EÍþ÷—;n“ñ9 éeÀïU{d“þÈ#‹ùŠYzwÓDyT$)\| ÞÄeÌui*¯*]s£™/_ PfŽ1 ñÔjW«y<±©PXMÓqd¥7ͨQÀ ÑZÝM…YÖó€-Z_9îµ3çô}Ç]ôü¤d>gòÈMðÒ*º„!óÔkÀkIÞÞê™Td™ ѬKà®Ííp+Å7ºh©I9 ´dh4Â:z×O‹lO¢fÝÔIAÅÅ¢ ç>YwrØXMϪ8õîROK”6‹@Ko ±a‹°XT ²Oñ=+&RGãý¼é”a‹ Õ¦%îë:¢jò÷ëQ¥ÄÎj³W5Ôó³ Ëœ<³ÿ<‚u,¿‘(-lg埦™ƒæì‡€¦Ïz†{¯Ò†† ЖÏý®q:oòµÂ‹;Wë2Ñv4c2nv’‰çA_n9§‡WgÓ±MnIÜue}r;›<‚²°8 ,^õð r34á†}ÆŽ–a à-;b8¬0`Ê ˜9ÊÀÒÜ!UäšòlBÐÛãUÝ@ý-u³Ón×´!$æ*èiP\êÄÐioä÷„–½lhj†ÅD*bØrSôªß!ñu{õa¯ofÿ”=<àž¤Vî8ݨÀõcðÝЇˆUG̈áJ Pp'çá n<¶ûQ¦‘3„ëÝp_Âi‘8]åô¼…¹äãHS_[ë‘“K«>x²½¬¡‰ªâ 1”sN¶Øã‰¯«o³ï•s5ÏÈçÍæý¸•2a§Ê€™…ùˆ‰Vº„=Šøä®TÕ·{gñeµ2–o¥Ù¶lÅ ²ùætíøîçF–Á§JÌJÛxs›W‹¾#hÅ*¾¥¯AÝßNGÞE Óó“eÕy2•2Óàyg•rÍŒIGÞÖëõ‰ J§³”–iH”Éû¨fDtI>Ìl§Ç^/:ÅóÉ4X6PI‹Á‚AǃfÞv1!ü¯S™Ûly*ß~Lg»Ì€µ"xê¼ :ùÞJ×ðbxÄ«b¦)3C.c„¨J£]Ã㋬„$ˆ‘"ÂÃ_deõÙeÖ-ɦÕ3Í k¡cZ…?».”^ÆÌ€Ð[´¾[êù'|å|{ªT= ^è䊡K w£ö&d–>x é‘†† ³Ö@/yí<µ=µL¶dê¸I²};ç2ôcÁ¯—üZPüÕHf!;wà€»Hé˜OÜ"!C#Oq$88sÉ3jarlÉ!ò'Q“Р=`n ¤Û,[¤û]ƒ«x_&f»ä½ Á›iñ}†{5 h—qV>NÎET{úD*ùàšDñÀ@U‡t¸–T},ÿÛ®‘AϹ¸kô|MœmÊR jxXÔ“Ú ¼ý”PqÙ÷ÙêoØ›½­z`4ÙP$—ºXóͰ) ý-maÞ®?Ú0±¯ïDÇó‚tX p<ï*B/rÞ2–t”¸•?k‹­?4@zô 4s_?ºWaHÃI`+^’/î|s•Ò³ÀløR¢ry ö1]4Ê´bqŠÿ©—ÈlŒ;Ë Žkàþ›ñ¾ùìƒàaU¡Á;`Cö {¤óÓGn¬ ÀÎ!¡l¡i¹ì@œ²r¬ØwV‡ùÎ|¹œÜßA°þæ¦á…’߃E¦ÀVÂñw3ÏÌ÷øîçƒÍ–W}w+á-pv¨òý±ºl]!7àg˜"Ýo¹Ïè§ ºSÂßÀ »ì'‰y/Æ—±À·áG{'uÐ q¿øÝ~îìîpZ”…Ž(Åk¤yÕÄÙb¬Ð)ð™} <¾a‚1ýÎÔ^þ›ºÌßÎÞqß,.Z°_Ñj8ÙQǃbT&4qü.&58 (Ö\a¬ïúe-Úä„ ‚죃ù䉦½ì['¾gÒ;ñOlM¡äž=ÕÚ`?¸‚Ðo²ÞY>„BóLÍ’¿Ôa¾£o\+|giÏ?¾ü:<—€›H¬÷\¤f«dÈÏK2Eˆ®Æd1Îk@5Y©©]G7* *nëMÓ¿ÃH¥›TÒ8ûhnåý’cRh~ÿ³Þ‘H`¤†Uè“7dÐÔ,8r›—ÎÓÓnøñž‡fžÇ¬Ú[bÅ¢¹ˆsìï5…bÿ()aZõ.󭬥ò0W–G"uN„îX`‹|õ}úü¥±„Jþþ`àèÄ>nL7ŒÁzc FçîÛ2%=X@“á+™]™½d¨çj¡ƒxŽ.JÒÅa‘ż%âSfFv€ºq¿—¢/ ôwG– î¾å)í¦èÉ¢„Šéub=wùÄð²s(ƒ¿wŠ}´¿n4"¬²XŽó' )ð[‘ÁügÓÝŠ ud—£+P$]~7tã¥ÝÞ3¡½æ»à=CÎv†¶ïg!)‰ÅÒâ±6¹t4µ§ôýµ¸!ŒRbÏVìA‹çwô&”°$£`ÛTÿ…á–®˜”“k„ß¶Lλg šƒ±®ÚN¼G¥°-µ´XpuG5#[ ´ðüÌXЊ~ÿ·ÖãXº÷4/ѨÒWʺ¦Ñ…Å{¿hy²}»‰ûL6Z;> çx._.=C~Ý7zerb‘=ë§¹¡ˆŽÖŠ´Þ.©SFbž³ÎDíÈq5]OƒÁ>úÍtT?ÔõF JöÖ%ÆV›P¾¤Dˆdä|F΄i¡L]tùT¨ƒ‰, òîÏŠ®  ÁÔDÔ½»¾‹†i%·WµêpÒdz`~"ýEj; <1»\BÈœ_FNËO#ßt²Wš&¬B6¡MóeÐTïs 6$pÕÃgS¿”:~üÛx˜Ò´åG#Êš«´æUEó‚IöœÏÝ †fÀE²î×)æ/(*bŠt·¡ž‹ÇñcîóA?°ã'`ëóBü¦`wê‘[ìR!€¡@¢gÃœŠ”`CôÂé²ÀºŸæ¹æ¥Hãôu2¥©…pd&w³Ô-<Ì)%]oOt^q4i‰êòP–O²êþ‰Cê¨Õ®ïð$9:Ƕ&2Ôp’¼æoKoï“wú#[½’ש#/9E™Å{þ„e|¼o4ÔÀÀ¦Óž¹Z×ñô0Íš¾ƒÅ6ÿj =xu/bkàÏHN021õ|€dXŠÖŽâoûù?·”´¾1÷—ß#Üru~½DM÷ö?Xý¾|·x@¡g™§nW©~ÿ™ÓU]UªGrVËpL¼þÝÃ5(€@kWÔ SۚƩ2I{T³N¤Ã§Ì–.kˆyø†œ¯œš ã•DQ‚—“x‰è´{Ëèé« ký¸…#ÅÛ•§dH®``¹š ¶âÅm'諆²`€’ÈtÛ1sŠÒ5þˆPGrû±=KXÈuíï8D(dë/XØNK€ÖlÒ BqÛ¤ðÿ‡ÅE¼2&»ä>UðTÄ‹)kd¸× q˜2¶ïN=$¡XAÛ8ž^Ú+0´¬/åÔÈlŸÿÿg;ñzëL\ëm‹CµÙ¨Øô®q@ݵ/¥Ñ:ñìTr“!Ù4áAÞ?Ìn~wª]1Or÷ÝÑš%Y5)›Šÿ̹»«Qð~é0çaul˜»N¦í2Ôï4ã½凟ã:ä3òä¾§›¶f9M|{ò¼R̉E Ë3àF5¼yE&-õÛ¯)d —tGÕ9D»•øÒ!³1©{íð»@Nø‚üN$Ÿö8Æç•ZM[@„6oÙíÐÐ-y„¼ ë‡ùŠ~]Б'¦Kv;&TÜUóÞö=RœÐÛ1q×þÀ±—Ü##Ì@Å5óøþo¹<ÿ–óï¯{‚F• ýžÈõŒç–È\ß«ï&º¢ÆòRyµ*¯Ù–3Ö¢ƒŸt}·³4HÕù˜Ì9nÈü£™n:0c c@ ³{æÕ,-RAÊÉ4%½×%š@·¯0~[ŽKñ F´!Õ¤fê`KÀMÄ0‰ëáÌ¡y.ú% m¥Vß3×]7æmy~I 3ðØÂ' Ô‚3‘‘hïÎÅØÓÚä)ÿ|L¡á´’ZRwX_6 ~Aå#ÃÛël[Ö{3»á‰{°5Cl¿5¦^MmHf,œÉž}ÆA*5ÂHYKó4Q8õ´ÇÀ1ÓæÍ”"¥Á×Qñ†é‡„†’'Û`üU±Ó!çà t,‰NJÌŒØÕ¹¢¹¿Ñ9|áüÅMåˆø Ý¢!‚¥ù©2[¬–Ûì„—:E͉b›²Í3Á<ä·ks³+„6ÿ4™m3g±ª%¥P\ý·ßÊÊpG(U„…_Î…30ðÑSHeä›$¶ÅYŸ®Nïað  ¥µ²8Ïo ®¸ët5Í‚ìáBï󿦯<{·ªê°—>$2ßïÇÊñ·¸ìÞ¥aÈg(¡$$ú©@)e11øö‰âe&—˜O6×!yÇ Wo(mð¦ZÊÀûa>ªÔár¶éRfv#ÄÎy¿ÔrRv‚ÕMd…,¢8gå³X÷s3`°ÖiNôÏ®hí°Ú ²KEú‡”× ßª|¿HéWWS=.~«3ãÙ5ùdó­¸2•­½•%–‹ÅŽ,›÷WŠŒ^7nCJªô ±Òši—«æ)Od÷7ö9~Û·>nøvÆ3+éü±ÿ=}|§škçÏ ‚­¹êõ"ýMbà¹mÿžä¾z¯Ï}>O:Êaõ¹8‡ÚÎ VOÔ†Þ³áV¨ãücj#ñ¶WmŸ¹Ú|-tík~½¸¨íý¢êê».Éq¬^®yÇþ=œ¾%ö)ÔÑOQ>ÊáHúÖl_äÙR1´~ €sóÔè F{ÝÔNþôX¬˜ Í÷WYeã5DÈí^ÐÜï õÕðˆ"KTÍœ±žGÓxš_fv`Ý[q%¾6<æY¬§­žxX ¤õÀ¼´éäÉ€ 8@µ.í\”`$íyFÙ ¯Hˆ½ª:¡m}Ò¢jÚ¾èóªì¼ò.†^liZl‡Ãjš¼N:¿üÈNŒGÂÅt75Hâ÷ÕáQn][Ø£6ËôBþ¬caI:+)¦©¿N,X\>ê4+ï >k$A¢ÿ+• í@æ (G€<Á½uˆ‹Ýèƒ0F?RH 7'ó åÉ»ò=lìÔÚìHäú]§xó˜ è~ÕL‘¦ð c…¦¨¹’àúe¦ëÀœÞ’"/” ø¶re“»À†ê1‡Cvœ¶'@ta—¾†¯xnÈØáË9»ÌÒY7ƒÞÙ"|ÝÉø¹J‚ò3¬­Y@!†»«“nQÎÓƒ +×0hy¤ZˆÂÑÙs%ÓnÛ×`“mÝvÿ™Ÿáe˜„öñG²…ïÌdgœúàI±Ìp »rCE µœ³ë™év‡/Ôߣé7Å+k›ÅÀôÃÍdOþ4vï‘®,À"÷=Ï—V7YDe v#X*IÆ×FbèˆYÊ. ÉÔ½ÜZ”×ÏõCK‹æ£#h][ÑÁ“Iƒ$Ä{J“æïQ`þE¤ýâ §0õ÷ö%ÐÆè£ÜÛëIšOËÒAdwÎÙÂÙÖñQìÖÝŒl?JîÄâBT~]{û%6D“<ß%ë@ø·Û3ÝVyçH ûÚWÁLÊ’ õDøÌXÓMû!30~[c¸‡†âÍ|=þ•éÔŒYÙ2ç¦O,uÒ©l†‘òÛßñŒ-ŒTÖrÂ[+iôõ§ƒ#ÛÊË$íZ ›alnK¸?2H°R üšz¾ÄRœ:Ã?˜ƒÉ_•¿ä/‹Ò³ðA{1`§Â·žÐÎ%Uy[ d¿nD\ò­S¿…èc¦ —̆µòëzWcñp2.ÝQXÂ=Òi+ô¿ÏÉÃD8N¿«×Ä Ç¦õ»Ž‡ªMï¸0»ÅÑiùã—å6KWæõk¿´vV™ &ä—âöƒ“§³¢øÏ~¥ƒR³ÌÉCæòT=ÙB,lˆFö¨·\BW1¯C'¹iΩW¡ÄÑç‚•?/äŽNÃ.†â¯ì<ƒeî¿×[Ç´6])~Òü áKôH{è¤? ²*¥K½žË¹‚eõ”ªæx•òÈx‚•°išj朚v™?ûNu5y.ß™œ•8ÎKn ‘v„*{J7[ðêí?r¡þÜJ|r¬qãÒcÌžµ°k¸õßòH€þZd=S'ß­ç©Â)ø¥{âoK~²8AÝîÏŽ¢¬:^èàʯá¢g`e5|#јÛÇ¿@#¬ê1º¦xl<. ”w‡ýÂÊ®€ÇñÿÇsŸ}°3R¶÷lk9E ´t{ 5Ë÷²é2žó¥/ǧ"R‘Ó˜¡ž3šƒZÇBÏá)>ÜØ¡Ìç á<ÀK·=Ôn>ݯ:æàz^|ˆÌrÅ ¾g'Ûõœ·Rò}t]AQ…å|ö*ÄÓT·oG¿¶§óùÉ,¸V%F\ü°?}޲Ô1¾½`Ná³T‘†l*‘mÌ:Ö9Aû¢á ýì ûÂt”h¸iªæ‹«±IRà3_AW–´Ã˜t¼ž³7T¦¦§ˆX¢·änÅR*¾\Yž÷'Z¹•æÝr¥š¹\8„·°¶²0*¡]xì·ú¢ ìÙVîÎ¥éžD[gJH¿ë:ïY3Åc0 ÉOÁ3bþ/“¡ÆØ@ì£d]¬QºÒޝñÄ$»oØ?Râ‚ýXŸ‹¬56ÊTÓÈä@ž¸GIªÌÓc”è]`Œ^ë‹ ªý‚ù]Þ S[4cðæÞ £L›â[ÕB.TLæã‚l’5" úGŸ#¶Ôã7ÿ†P$ã@v¯•­ì…Aså)ŸóÞ@ë ÷Ì.«ÞphEÊjøýÐ&#Å•D2²`\½]O}FÓú®ª¯0õ±&4ùG g%u¿D< ´ßzÞûûQ¸k¢ÃÚ :¤ï宨‰”%YéÆÉ6M†’ç<ž”Vg$”Bqd.(`r‚ÙþÀî~a­¢„ZNºð“SõÖ%8äÝÓ$½? ÉÃãðÔì*Šcež}ÆÒÈa.ÅÊf†Ë\¶,X5¤á-ÿq£/edäšÎp øÎI1!ö6 ¾…x÷qÒ0 ϛќ*Ør¤þ8Kš‘Ô8=$i.áû¡óSoøV§šŽK8ìñâ Ò®“s~KÍÀ÷ÿäobŸUÖñzZƒM"Ø$à÷ê’q4ÂU0H¤º¤œ‘ódñ¨Ê*w/¶²ÆÞO†:sä,²Æ\‹Ö˜l")"˺ê°GÏ/Â,šØkn*ðÍÜ8N*†{×¢u7›§“ʱf&wä,|Ý#üìAèRcFöM9wÙŒSgê°ÓnRÒI„œ›l›aY ž½„ ó+ôcgq”ü-j_ Ú¶y‰hÒÆ"¡ãR³kD£%öOQ²•z üPyáúÚEIè*œ(ÿmÃ…z–áÛW½õ9È ¢ÊÔÿ‹ûdFzGZ¼1+hq·7þ¾ôv‰2ªØýY"X¸ï2å~z S+T"Ù=DxR \xw½"Dî£X’±`?7QÎQ PÄTÕì¸lMEqµ ;}÷> @·¨”K§rVi¹4ÙDi‰c—̱0Mo q¦K±(%<ϳå˼|[09͇µZ­1Ðh´¬(7Hút4iåL㊜ãï{ÎòÙÁ{àë-+±â(¡s1†«m Á\ÇÔØæ©©ÆÄq½y‰ÔǶÀX ØþAï‹HfdÃQQÛ™]÷·^ªÊ±m¸åßçyøF¡-g’¾–.³O[¦SQ|gbƒ©žP“*Ù^s¸…·”Øß5Ô®Î×´R•ö0ñÏ…ë„HKŠð(Œ«½ÃmiOçÇÎø–è .º+SK¦ˆ~›=d}óx5›gBqlñË3.ðuÏÓÕ|n žm°6(|9‰gY޾xÖ+ß «e|Ï|“9°#dåò²…"9™½ÄRÏ „×÷ |£¿oZâšþ÷  X$w,p¡°ëîñTbôªy½üEk´Ö+‰fá9D.Óžä;º¨šÝQýÖ‘7W-ïò„¾ÿh ‚AÒãGíÊïZöÐk h/Ö˜‘ŽGàËW'ªi³aäJUˆç@g5fS´¶†P\ÝßX £O”¤ñ(ôå£3ÙÂÅL&\"[¯ySd2ç$Œ%³j#7Zga<ŽM›NI¾v£üæhGÿáV+{Ó)}Br1ÿ“m¸Y0K0{2e6/°Äâ0éµ âf‹p%© ºÔ¤0èô1*6”w£x$AŒd¸6)âÒìÍOÞ#M²¿T¸ÓMyJÔ¾ F{=®4ñ¾V¡64ÉämhQg-"¦º­hþN4%°î-É¿­/Â4£ôù”‰Ã.曎2fS;í"MêPÀ-}ºÖ—=ÃnóßmÝÔ:~ûÎXЩWÆgÁ1å·Ë;šS“Æ­…› 0 Œ`é©§.=–²—41—ËJÐ$ô§‡8üSêÿ†m¹ÈžÍ@šÔD¦/î¥ðÁÚ±`‹(€v]ñF–-%®êƒÚU±ì’ÔˆÖ ¾Y"Q$P¥)ÿüu¹¹Pœ9í}â¶¥!sÜ~ÉGÑÈ'®\%Ô@Þû$Ûç‡<+Õ6ƒ"ˆ­Æ½'J°`eo›e8~Ûom§r+ ’A¿ ~ ?ž;g§8€—% Ã<1¼Ïÿ~ÑsuÇJ0àÿ?b³PÀ>Ρºž€4}‚ð%lj‰ÖaCDõ'Ö 2ª>ôïs‹¶³Ä7’ŒIÔó ,^âÌ Ä,)Æ^˜g¸þþNqäZHr rúŠßFºhGÄëê/⦜œà:5rI’-]–Mã£d:öiMKƒSÍÓ6?8½Q!8ʈ)»­ºGbÅëÔ­à†rÂк@ 'ÛûÕ­—Ï£ñŒegS»Ýlè¸r§—Áo”›³ i˜^`-ßûª.’ÁÞ‡ù½’8Ôð:9Ú–…)¿™äÜüDöÔ9(…*1É™´ûÑÍúôYÍ.ZòYr× Ñ”!•àÄ©o„jܸðëg?1OÎ?—ÞKAŒÓ¯ús&„ö"ÕÓÕ} ó›kL ˆPöee2T’üŸ]”¾]zë?þ‡”¹ì_§=ËÈ–¼*yÊSkQò—ÊßnÀ‚ß&v—jËÏ×[-¼¸8°E¢0OJ§ßcÉÀ2"fÌü&¡´iˆmލc‰‘<ÉÍ{‰¿šá~‚á©¶5Mþ{§r1ñì}9‡¸ÛÉô•7©ý„›²ê|ݼM! $éÒ$€«ó×(¼™!Á[u²I{Ùˆàå¾—¶ù]ßq2¯ ÿHuÑ &ßÉÛ  â7/ð=^'k†·IyYZ7ýHsl7•4\ê[¨8‹¼$Ãu5 ´6‡p»èø< \ªÿsyAðX4|ÂÜŠÊ]ÊÉŠ0–š¹ÉÃ÷–˜Ž¾`™h3PÃöW\» XÈo›7Í‹æØôë%-”¬ˆýd>N¬˜íÛäq! ½ÂÔŒA(›€IH?xs¢í7ձϰN€Øó;kÄèžSˆ=§ÑLþ«€k­·=Û O5ÏžÙfÏó}t,Î>È5±Ê6ò¸Eò'%æÏ>|çôD0Ø ùè&.tÛ÷˜mñ ¡ ¨8ùà™¦¦©çnÖ¡™& gêøvŸ‹ ¡"µ&|Ï£‡ùÇÕ¨,Ü ”Éo{êX7¾0Ž‚ÁÂÒs’œ dFNÆÙNxöù¼—Sñ%× "ÂÝC9é®Ïtkż¾Û,Vvð€zvœE|²"+?Æ“zLAu@¾§‹$ ì(*êöF)pѲÃ{"^1ja´P'Êz믿=bË×±YkÕý\›_¶Ñ ÊùÄ'w¾8Èív±bÍ3ÍÊí À©Ô,LoÁÐ d²£ËuH²(náv©³€KRb`ƒŒ.‡nkSéP•¨§€oEx<ã]*`Æ[Méýà 3m}xßà2ZƒPÑ÷8:@îÔˆ‡HˆCu| !K[˜/hÈéøçý ¡b¸Ô$Ê5Ÿ_ÛoÊÿ8n;V~ýV¥+9—Øüª³¿Ï +ô—¹È<²Ÿ\„árîr@é,¥Ï±à€‚Öã?¤€Ý“{øM1¾kéµT®av’ìݨÌ-¢®~Ö$JE÷ã$"•¢ÁÞNË ü«ÓÈgbA|³W¬bÉ®‡[õ)`îC¸Ô0‘tò5ÖÛד&u 5ºÊ­µ;°ÁÛ“á­t-7ª0} ’§æ5 ‘ºú%ÀÒªcЈHBüQžöÄéŒ67Vß(O½ ó'Á®óØz㵿²îQñý͵×PFsP¡·2¨,«÷?#~0~ü½¹¨0?Wœàr'§2Ä1–7[lbýÛV¼ie³«éd•À!Ú. ΂ã÷Δr®D_j|šqئð:jt·oex]>s'Mzé RR~ñRÔžR§uÎûCðoòßåg§€ÿ‹¬ †ÉS°§Ø±58ZbÆbHFy V…³£ÛQMöëpu)yªßÍjà2µnÅC¦ÈC¤†IPî?å«$uàøŽÎ8¶o4šô8’3è܆góOØJi¬Df”¥ºI£Üç‚Ãõ9:œ¡ô"˜6o¦A¸BýQ¡TÓâ’5Q8YÄ—4¼ë’ÛB Ki…X#ÏwuÜÊÍ&Ö¤ú(Ù ÿÁí‚߯„îŒU˜Å)´ˆîC›ïñȉzÖ xV0 {„¦´’\‰I~Z¼—½ÔöšÍ &JUcž>2[+ÀÉ®qjBÎC×3 Ó—|²9¿N[¹Y,>9Cf®›ñÞ2;0muÌyÙn^9€s8Xþã³õδ«]‹ÉΛÇf¦öýeKî „ý€®,‹FYÞÔ±%õܱkÏWžŽgåiÐ1)˜³Á¥÷Ã×ÕóF³$!ˆZ˜¡ðxdnBˣϔ„sboç=Ê•ñÖ9â½`ùb·®ºX¡]Ë9µý¿Î#ØÎ³¿Xñ«âçTdÀ£bêF§Ñ<–¿ W¦¸jú°Øl˜¢OwB2%æ ¶~¸ Èä°nѯ 0ÁTõ? ë§u/äTJ†ÙcÛǞÙLÅJ;Ë¿›3.ùÌ‘LO¯4ãÅÈZܼŸJ¹$EŠÁ¯Hʲ0F‡í]çZ¤ v7&Äá#°îßBì± °‘ÞÝËIRo6mD§Îùí¢­žß†§XÑFïÜ·¿¿ÉÏv´˜Æzp…­°–7ÕpK…²©³ [ºC)ˆR©ÀEª¼9’žB±ÑX¼éORH’R}ì$óPb*ý(T© Oüe¶èMÞHRŸ8yÿ¼»|+¡É^2¾A×ðƒW Ù¿€æ(¾nÐAúþDú`&\¡©å¿Uòü Õ÷`óºæR"w[ˆ“D']}Ûþ$#åÐ|º¹¦Ò\ºù眿÷+ëŽÉ@Jà `æ¬úv‰9á«§5—’[¨‚u†Cº^ÈV‚Dàjáf U+úžfP/ ëÅìp­H¡ržù¥«q)pò(C+¶ãädå/2{©îaDœ~Îó1߆Y#˨™»Û‚ VòÄ5F];JÕÔ@ÙPœò½Qî 0Hë-¸.i0?®yÃj³îÛ!€·ù{E×9}zu§ ½YYå@þŽXŠ}d«]\Ýc5ýÂÃh™´z[bׂAz%¼ñÜ7M@p‹Rû´vóA“³cdñ«è?äÙbžºä =t†\[rœÃ.v¿07rcu凨§ûh(m"kÞc=BÖjmH ì›CÖ^œPš&:<8‹|Îoï¶ôÇÇ-}ó °€gc¢¶—"çk€{Ñ#¬Þ˜ËõQ+²‡Ü,ð«ô´óµq’1ßåNᣲK€GA‘Ðn[Ì1-Aùb'NF‰“±éa¼*ò±JŠçIr¡XoßdÏkNpú²Zœ³Çxfæ*Ï žÁPPÁ'¬ óV éÈJ°q 3éè©â[cèHV]K›©¾¾W&{ÍIr»•ùEHwÁt/O~Ùhˆ F2ŠˆKÀzÙ&‘çÙ¬‹ÝkŸ],ïT”]p Œ\›<™¼ ¬„ž9ªtI:«¿e±f|ƒ{$@Á õ‰\šþíñ~$s…]è”ó¿jÓÞ­Þ³Äÿf8—£Dä?ÙÒò¥þ—+~U„5ãu’-ÃMI–qã<†Yö.n\DD´ ³Ó_ÃQ{çÆ¹Yëý3ˆß×Íá´³´5^”fc"Öf[›õˆh— ?È—Äèz™FJŸ4ŒÌVåÚ»A!Í‚yïñ}Ç{òØ:"ç<Î)Pz¶äãÙ)"¿-¸A3û®ÜYÕw|™Xù•о³N­qÓÉé–›83ª]£Á5 ʘæÐñ%AÈÑü4gb­c+-SqìO+Ž9ÔoþÜoÏÃŒË( ®ò¶Ç%™†Xœ `ù=ˆ.\®!a*½Ì¶„2,s,ïó §*>¢aë%³½úèŸbŒr·„˜ÅDk/Á‚Âß ­Ì¹R@„©5–Hø@/u_ìãáH±“yÞj2¦kÔc\¸3yr1x 5:Àm·ÜŒÿ¦ÔRSíP´îü;"½F(†×k¡ê ö'³“RÓ@SÎÞÐúr(ÿhŸûã®â{ù#»©1£€ûÏyο³ß‹¹–ëö† j§u¤ÉB‰6td¤Ådû/Çùì{¤ø¸œŒ_s©>ñÀ³Ç q¶ú^׎öþÐ@‘ æ4x¥˜¼t…1މ—³ûÞgHÉtKx„—”‹/)£öÖþ±!B½Ô¹ã¹ó‰wêÙ¡Sm1V'è¶ÑQZØWmÒ;`r÷6£G\_>–‚Ã÷“‡ÊHýhØ_´Ã϶\EÈ5Æ%¸Þ`c ÒÚ³kˆs»§å&¦¿<êú;k·ã­Rp‘Ô ÏÙ5†#3¾¯ :—‰dŠsÅËÝ:–{YT’9;#]ëžÿHµÃþ”êrÇ+žrµfàP4bHÓ„%3ŽÍ­Ë~(䯒j«pC€­R”qö¢èÆF÷¾½G)|^Z›ó¡\pÝ“¨>ó©ù*\FW%s”–v’4 ضH“:ðÆ}«–EýÃë©7Fšd³‡Ìö<=&Et Šó¥;i8µfyÈÿÓevsº{Ó¢YûÉp¦Š3)³£óÃÌ#†Œ„’É8´ú™ë”ý˜\«2ÿ”sª˜Ýã>V´+äÛX´º3H~èØÕÆq &Þåä{z¶’˜Z¢Ó~jãC½iãÀ&ãêªw§Cãn¾hîqOTãý$“ÕÕ¸‡½€¶E¾‹ëdÄn¯ÞÌјú1©ª?Û¬,Äuw®qòþq,N"Š¿väèIΖXrå7‰Éöù·…À[88ßëòË…ÿ¼ð4¤ƒ ³ÌÇÏtZ ÑpŒ"Ät£fl3R*±'äÕƒFí“ênß pGý6_?'WFüÕ8ï8ÙK˜9*<Êk®j1¤‰í€Ðx?…ÂUˆñ½áT”y4öm½’}@¶ùEënbXCyϪá W*á¨Êï ×å’Ãë[~ ép"E¿œ+¦³I ‘E§Â½^›“œWIø;˜)8Cߟª)Ûm€Â”MDyP‚ è0Ô±‘›A·«yÐÁ‡+ô©æîÝ3Œ¸¨¯HÄò7…0^°²­ó€E…m(ˆ@Îi4y^tÊîí¥ÕkQ¶XþqœäP¼’ž‘ ˜d÷ËŸí Ô=JÓXË¥ úÏN G d $~bakè´&Ö¿5 ~tlüòxÚ¦¤Ô[ói)‡@,µpàšþâ݈Y}Lž @à0rú5‰wÆ8w?`K‘yhà©}G“_NdDU°EÙaH˜Ÿ‹’[<ͶïÔ2A3³Tÿcˆ“ÀµSèRد„“Úᙇ© zŠŽœ 6­q«mP¸ô åË{|ÔÁá”ȼNu­Ox–xÈ0Ðã7}×çÖc­IOP‹Ù…LcèÔÜHþb$Vë¿°Ž:GÉ8«û¶%_^çœgÙ;ý›0XèÑ=dѪ4Š¿ÖÖ.@½µ2f,MV†´i¤úóÇÉ€Ðk$šŒ;…4'sPHÜ –¦õK?×Ix—íŠ%:ª"Z€|HUOëÉÛ1a¹Dá ±b!]\ÿFA„½,–¹Äœ˜^NuÈO_ô4míÉ‘ª•0r¶CßÝÍ?ÜÂuhiþ *tƼ  …öõ=Xi«×*XXù¹ƒÌéÀšã8ß×èC9­Z1@‘Õ›ˆÔ瀬" ëÊ%÷›â:'öƒI¹¦¿™·*´ |–o¹A”Ób²5fa°s‘犙ê+z¶“…º$ µˆ–)~µº­"*îK¡– Ë¼}g¢ÌÅ3«£íZ(컸Ìz±"¶ŸÔ›ÅÉÔ…}m¿“bý¥Ê ›oöúàn‚ó<4ƒ¬)0én‰zßW¬¬ªË2vÝ÷% g&Km)æÂ ÞPýʹˆxžrNXóm5´Û˜YA‰4)2¾Ðpâ¾ÜIFp :) p‘b0ؘ熘±_œö7Ò‹ÝgÅ‘iòÄx¡¾×2¾+¶µ'[¦¯%Î)ÖIÔ–|‰ð8½@ñª®†ú*$yï * ÍPöˆGY %¤MªƒJ7šžR!ìˆ>šøÔ_Wn*±ÆBôlt’œ¦{릿•.lÆKxVƒßÊ¡þ¿ã6À\Œ\"›"Š(úò úbgý+ ×+ ±Žx¸TÕ˜j}Äa(>¾Õ ©œ Ã6ì/S²¦‡fð듞IŽ[w‹·õ½¿œSÉm,hcF`D]Gµ.ËdQ’Kí¶„S¦d5ëm]ÔQË,m½îVÀ¾cˆ>úŽs=cˆã8ˆÊA¬Öáð³œrZ–=›!ž&Dh¬Ò¯o®>3sY·L̶&§­¸5×Y}ÔÁ Š?Óð%;\k’›¬iÆ÷i“‡×g6 ŸØ3Ó¯u,ܳç9€Mù)] ÏÕç‹kF1¶Ž÷/N«8Ȉçk´<Ëé´ìÀëÔ]• ûîXє֞Ë@y_v0wùc>¤eUd+bÐüÔ"«Ü÷ØâÇø ðUË›Üu²A[Êúó·;ÍþÖÈ¿¿2ùÈÕÞ"„a‰üÖ ~s#LÿØpQÙdKµ²}SÇ’ÖÙUÿ»¨6Í‘¶¼ý™i Ð[ú‡é•íʲEÍ\TC™èÅݼxúÆ*¹ûR{zÐwžŠð,ÉÆ¾¾hÌnàRA[HŠ6 ì3å "æûqàM£T­ ³¸r2ž¾sg=˜Ãµ„0rÙ¶œToF®xR‡.ýK±s`f ~“8®©”ƒH×ÐiÄÚ{KSrµÒ® Æ­Ú-ÌçX4! å €oß¿Ú\># ã°6ˋͰv-Å÷™û:|=uØÓ+Æ`ÐTv󤱺ϳ*ìÇ-Îdíª÷œ¢'„MšÎßV¹—ŒV¼ž000VþcáH±Ç£RH=Ñ7K[šÌõE–iCr‚š®’îè9Á\Ûñ–©gØXòó¼{»NVŠí¡ŽH3'ÿR~QÙœç˜[6õ4Ù]~S{ÿÌÉã.E(5Ñãe¦HY57ø8ÈÔCO’%Ù ×­-ÍÓÉ2e}#”J%|‘éK…¿I~À’h§ÕŽ6$BžÈšAûW n‚ƒA@¸êá¼7N’)–÷,çŒE1‘¼J§wˆ&ñŽúrïJq…ñRw™ÎÓf¸ÿœÃº{˜càò HlÓ¦ø\Â,•Øðã²°À•&ˆ®×˜Mª½ÐGˆ]ýS¯]ÎÑÀ&’§&Î0c æo‰( í8·)""«cb߃¸0·#FxØ ‰uÖ_ñ÷l>_Û­0p´NQ_,  ‘—#+r7t…t 1 g¦ù&…›äÔ>>bª 5‚Ln±íN@•¿Ìþ+!êœÇÒ!s%:îGWÞ.¡Ý Gê ½E UÀQJµÑ_:Š¡7cÐ[·üJ`¿5@\Pª²·÷P&o.˜s¶¶ò’‡¶æÏÓ©½ og¬à\ ‹£ãQ¼S›tf;ë¨ü•ý@Þ¤ôDt0˜Ò äp{%ÚšW`ÁÌùÂÍð×ýÐ 3C»¯TÊKµôe1] u„šŽ0‚6'~¬nˆ€Š„Þ–«x¢ÄþN¹W0©© ¼’‰iªˆÛ•„—Ûù!eR·Â`h¨“'Ï: ª1ŽÙ°¬›jÄb@SŽì²…Äœ¿•“ØrÕTyÈ’’fð´Î]èN`b‘NÝ?Ûª¿â˜ñzªªå' iú'pïÝ£?tUØß}5IwµÒ$CªÚ'4móLȤüÓqªl2ò´¸¦¦úC3¬l‚K鹀ŘÅ*†mIØUºÙ¬(bºr‡µP ̓˛z ;²Ó†`ÑäŠ ? 䉠õa -n)ïŒkëÌ-Ík_f-®„¼%ãþ’CµO#ºšó`7%^íg] ß<«{ –8†4Ñ'•­óTŒâ)Ùºý*!€(íЇo<›LФ -Ž*»‘3SN‹5]+‰OnÓ÷¥£«É¬…À(ña'ÅûJþ>áÝ鹉+|ïÝׄ,þù—4y¥–îqt×P ¾˜®Wý7 XGô=?±}H<»Wly÷ÜØþ»zW»ÀšUdIˆRd¿xw!CŠBË#ìŸ$+Pš[ĘdxìfŽ1’0ÔhVÿe9Ü-Ë^ÈCF< è“û:Ñf C¨×Lä™ôd™•"¬ô:0«EqÂ$[­ÏPn©39Êïc„Ø+7[šÂ{·0ˆ5·ÄÙ©„M¦1–Ûwˆíb]Tlù¢ÚõwÓÜ?¡#0bâkè©_X¢±O„zÇã}I¬pÞ~ªålì„b ƒÊ¹ÖQMè‘ÂV —1ßfÞÙÑÖl3Óp®ÞLç¬SÙzËŒÛb9ÜÇ‚Ÿæã†ë8n6âï7YÆ9ŸÛ‰îYl]¸«º?MuÃxé¼ðxç õTG¡2ÿѱÜ?óvAžÒùÅžÅBEOIRo¬æ(¾ Z øÌœˆÆÃ–þ×-f‘ôêT¦Óo!9®ö7îC÷·ê]`Z©§ÉÄT’çõU »µØèvàþó¼:<1¶ªê*“Üž;†Ì!‡mBÒÜ/<‡Ïïh«À"]ª19]ºh*Û§'äYžñW*©Z7¸Ÿ6ùLU ­ˆËÀùy²W,] TÓBn î‚ìœÙÀLü d~°°ôèæá&&VaëÝí‚sצ[r>JàE6õ`Žšì7æ"/n$pJ{ KŸ&»×⋲n0Ã6Qã¿}¯Ê=L‰XÜ~°âôÜJñ&dÚÊBÊ“«Ð¦ÓlVŸvTq!AÞ˜â¡Bn’zðxV;µÊ±ÒΉ(±|a-DžM® t÷ð2L.¬ì‹újjÕèk%´L¿÷šÓ/, XcŒQd¨â.ßVpÉׂ2?Ä/*àþZïèdØèÔB¿± FClK7"-È„•0ÒΧi‚€,ê AÂ' FŸ§ä†d–Öå6©1ÍófaVÏ¡t¾g¡œ[4Ümì9þ1eÉbc6Üj³ùgÿP}cùJÔàÃZº{Dɸ1Í¿»’ÔŠÚ8bc…ïåŒH‚ž±¯|RPY Ù©(— ›-FvÑš=:ØÀ®Áf— iÄ=€…ô¿º%öÉ` IÿomMb•I¢ãÏ+ù[%r“KºÞM‰v„»ë1v¾+±0L{îÞ£ÏTGôÖ Lò'©"$Ÿ¯NÑÜÊ ·ýa80–2l(d4|o‰É5xO¾ñšÒ§Û°ä3u‘¥öNAbÓ‹cšßa\Õú[éÁ‘áv®$zê ×áð^“ŽŠÛÁkè"XNÇ ÕÁ(zs«­™jÌ?‹/ PïœWñí¼ÂŽ´ì4W€þÓWÈîy ô?m£;‰‘k†{ÍcgâÍ@ÆgÓŒ./?óY4zä]¸äXÖ±=7ËÇ'ßBrIÊ%ms”¢/ŒtRðÚ¦ÔÏ’O ÞïF>ÄI¿6 ™-œ™Î¿…íÃX²v' ¢ XjéZû(ß ½=îù\ô×+€r·L "ÉmëÀÆk»,ú¡ÁÊP~ßx¬¶ÕYÏg>=Ò–Y§F,öqUY™HÔÈaã9ØW‘º™b³’noø²Këb(#»_üŠÓÀö×+Œ’¤/¢òŸ‘ºŠ˜€@I\)\ d%9ÒÁ¶ËíF]׃„Iþÿ­ Y-Ï„Š%=ë7Npªì ûÌ^Ùà|Kö/æ¢:ãL¦WµŠÖu§3è¸y²œïJ"$2-ˆÓEw£?øƒcr§X ëeãíúó {Üë>A,†dø =VŒWN1Nd>B ÑDúYÔ’&HÒ~U‰½]½ðFäåfõOˆ0¿Å’xK¾zPŽÂ¶Ž_gç/à2–zýuú¯G߇À!i• ~³¬D:^" Фá0b³? _˜ã"l¬k¸¼fßo=Ýí1¡€Û b„û2 º­bé+ÊlÔÝæ‰ì9ºï¸}LÈHCÛYg¬XD¥£‰á‚ä~!Fç.OH£­`¼¦Õﺮ¬C”o}¦TR2å™­ wÔ ‹á“Kj6©3`}L ö÷ˆÆoË·@]áÙë\Yº}JbCúU&þ3&ËO–ÛäFäêð²¶GµTè&HPÿÞ›*3BiJ_ÙóÚn ÈÁ-°MP/žÎ~xRÙ?˜À·Cëï¶LNcWaé‡[éYÝÇó†î ÍÃÉ\š°ûõã1<ÌÙ´“Dg!`ìÿc\XZv„Ó’å8j^QvìIHnlmÜV^|Ùûw.LMâ‚:ô“¼š†_¶¯óD[ó¶ÖÔ¨ó0èaø(Êõwƒùi#t6,1Žù•§Ýø ÞþþuQ²°¡]µ¡,Žâ«<¢I ÜÀÆúT_˜à(õdí7¶ •Îù0s¦C±+9a‚ætõøèÔ¤E¸Îmßà 2×£5\E÷;‚ ¬í¿øÉY%;“ù …Þ–TªïˆxaWù £Ö¯A»ëÈ1eÊOȭ碛ŸF(jXú»J*%Á8c6¿È±‚å¥ÃªÚ•R¶ÛWpÆ\‡!¤ÓJ*žúi@¾€ßB þÚa>³œV a'ô¹qæ'&¿Áms¬–áþÀä~éO“.¡rÆ+œëåqtu´-õ(üø·WŽ›»¦9Ez‡#kásÌ7{Û¯F5æ¼J®0'yV ³;_O̾ôÊK‹«Q] ˆ3‰ù?ñÄJhR¯„5·\etðWµþs›Íˆ?ŠösÆÍWCñP²8¾2Dˆ%qå'¦ßN–.6Ú G¦µkÒ/&ƒKá?v0 •ÊS„A€=:Š.Úÿ XíëˆB/uô8ޝÊ|gÙ¬¥Œ^Bð ï÷=óü1I*m6‰$:m;tÙãì6ÈBeÍé{½ÉÚÒôêYp_¿¬‘¶Ÿ2¦¼lJø-Òü2(•‡Aö2ò%ä1¶†L-£Dà*-‰= îÃ÷E;üíWBW±: J@§ãB!®1KlÌ,£€S` ÿù¤È¦½Šh@Ý;0“ˆŠqþ>Œ›—>¡»²aqµm}M{¹”jpO58|h¨É.¼3†ÇCÇŽÒÑ7|Ù×@ІÖÝpöLó) ÉQPØv.^¿!y%®-å:¢Ðê¨É³Àá(ùlÊ#Ý@äÔ š9£ZY{±©¡˜ýðуïã\Ÿ°@ÏÀ¸ÈCñ„ó2ãØØ¢lÇqëOHH?§$~ñqBÀÑ7”ÉmP÷¡Xéª(ó–àüþðÖ$tXFûùugRîÝ|hNêíèQ€¸_ÀGm°@D›òŽ2Y 23U’çXÖ°aÖÇA·LcWêyþ´v¬xû[¡ÿ£ñœ^÷:øFúwÉ@'³0«¬RøCaE]‹Ð§ý9`^’ÖuèP Œê ð'+-)üõ↭ žOŽýº¡µ«IÏ¢¨£~çi¼Šbœt’2*ÓhåÒŸÖÉK”¿î e©.³ÞÍ£}O!‚²sUGü[X ˆèAÞcãeÚÏwä´¨'eÃЈ|ðGqÆË¼,|ù×I.©ÜüÂÕ³çR¾öï6EÎúPvs‡Hµá%NBÞÀ®î>Ø6mñìo2ô´^aês®4`oÞt ÖCùEü. ’‰ÿž]x,°öwëg$ÍnÝ,7Ľm ¢-w³¹ÜÝçÅ6L×ûZÈ8Ä”CáµÛ~… `Gø² ¤ÿƒL#Q¼ÈߎmªM"—ÕÚ+4±öySZk…•´~íÍïæoŒL_³…xD– Æ@ð×]BMÍ6êÀëŠÓ¼õ™pB]Õ-%¨'axKå€ ÒŒ@› îSEއ¦ uèÿK/ÅSÕ»yqÏvp?EO¡³3`hfOT¾q_[53XÚ#Ýoö6Ê1ÙíÕB§‚6Ë«?Ú‘à&˜vx“yð2a¿®¡TZðË.9K pjÊ;\"¥v'¶›jo®-õl†Çfߘmø]Τےž÷ŠÜ{–H…A]œ´Çm ‰Ù€½Lì}—#qPsýwÆ4dáKÚn=¬bs'p¦¹B¹³îIAIþåõäûÑ Å@Ý“*G¶O‘‚{fTX½‰1tó>Ÿâåwó6ãQ¿L6JVº78ޕݵ_9³£nŽ—`H%RçÇ]|¯¬uIu|Z” Ñ"·Eo{¾¥·:`±FkdÈ^,N~8|™cg?ñïH|ó‰Ö™"]¯bP.H([ß×H]Ÿ(ašZäÏÆt,æØ<µ)yæ…´÷\ÇOF_UPS ó·Y1UrÈIÅB㈕zàã¬ð1!žMáúk èÙ(QWŠÌH¤؃¼sð é^ø”9FПrßW< '5jl6BÉ œÙÑÌ0jì®Þ=F:{ýgZ´ä‡ƒDk"OÂXBí-@Åbú!Z²U5!ºhÜxöZbYIÁWɼ¼AÝÔ’вr‘Þ&ˆcl‚¡Œq+p„Îâz†ãÝ’|4-Õv/¤Üñâ˜,€%Ý@x 4~FX[”忼?ŽÈi¹¬œnàµJIàoƒä Ó»A[Ò‚ìÛŒ5AÊL‚C¿Œê•(¾ Ô^È ”§vl Pk\RI%BIò2LQ} ŒñùhûCóŽqœ|x½^‰3tÓ±¶É_Ê uDÒv÷ÅWÅ) &Fîv5²OÛ¿eÁTÿzþl!Ù³ßaÓþu3_ÑjJ±»W½=y ³¿Gö5d¶oÂûÚu›£Ý.®há»[5è±çë l-xF%pö5‡O*¦µZ£#"‹¥ÊPýUÊEÞ¥¢¯úgøÐcb U-¡Nbã›[AùÈÊÏ>5¬‹¿A·½»Ô[~O{!¤€¢&WáŒÓ*ɹ™`ø+O_ÔŠ‘û5nf”¥gÊRÚ©†1V\;„;ààÚõ»œ4ŒâCÐaÚN1%VAµ®í\ÑÝû¡À\ Y(¹ÜÓhC1Íœ…,-^*MM ƒ‡$ ¼Ûì_}Ýü¢æçºJí'ÎØ¥þ ˜56¡8Kkå›zÏò}ïè»-r‚®¶]*ó8¥VÌ5Ž÷¯^Ö‡s9©cÀj—èý®*hn¹ô¾Ó?Ù9B+%?ʃقÃÈ-lŠ‹åúy‘]‹BVsk¿p2\ÆzÖÒð›Ób7dÜó®CÇ([e¢Ü’N„½©-?¾ýv÷7h[Û†@8„x~ÕVíÒ47¦ÎðÑ]bm‚[Ï×Ù'¢Ö¸€ýþÔt)¯‰š¯Ù` ÎZ $šu¬Q¸*ÿnÁàX¬>VCK04¨PÛÖ¬ÑMœq~`… AKÁù­1/F×ë¨z‹ò^™å-\‡Õ@ ÕnÆ0ÿ½†ò”¬z¸Î:è†z1+”œA:CÆ#X:ËiZÓÎ Ž&¦ÈóÂ0²z'L×g·ž…ðf‡UQV¼‹Ûp¼°O£ç‘¿5|謹À0¢’,IáodògOmÚ]ºŸª:tfÍ·à5Õ854CZ™Ä+¸Eþ3«Qì£ï¹ˆ+B.?ÒwÞŸÒübTÎö݇;"Œ~³t4 =(>´´Ž¡üI÷éè()ôê¢éØ´,¾7·«&Ù¸A¯‰`°x`Çýt_DªrnõHM#DE@ôm–V¶Fó’¢ÌǤRµ¬ yýüB!û’u›“ÝÂXýÔ1=äËeÞ<4æ$†ʞú_§‚kר·Q{q=K!B¼´™%±8÷þÀÉ ¼(\\çÞcš®Êm¤¶˜ÞDâ寷c;û&ñ½ù26¿ž«Ñœÿœh‡U`§hdbƒÔgoY‘²E÷ˆ¯vݲ‰qnxÎ|ïá¼0>ü¬þÏìå”,ýÁEÝÉsÁ͂޽]e›q‹tát^ä èCZ¾lmNX’.ÌâAœç;g§9W· –û/;%C¹a¯ù  ºý.Ú¸ë\¤R%d>%Õêq]†[ó¾HÌ…»ìåÆâì»~Ã)¸˜Éýëã£þ'E]¡÷™s”õ£²kÁ_ÇÙäL >¤KD¬,€áÆrj«Ÿ#yÚ¡ð!Ò T ‘ÓÈ8cqh%8#\×b/J\·p´›æYÇãvDo>,Í=jØáÄo_1ÅTåÅ‘F~©±i6Yzµ}º&90@œ¬ševøB’d‚ý[/×Í¿£ý|¶VáÆ¯Cˆ¶;"øJ <Z“æ¾x+ÍWnƱ¸K¥s/¨îƒ¥–…mïØàQ a «ï)‘´o€•øAŸš^ý]ÇÁ”ÎßåìjÉ€7¡­!aÇËaghE¶ÒÛ#·5)/âÒÄ"3¾°HÎ7ßÜË£"Ò¾¥®ý¨µ¿­oT> ×Éð”’KØÝ*@Hû}E vìDßbhÄšè¥- ¡¹8™^h¸ZH‚ûÃIƒ5yÎZ e‘8°o7cØäªÐ“ ÂîCüúÈ‚E°ñàê#y. #óLÞbÆè`†t­e¿ª´N"«%“–”/%òlӛŷ éØáòL•Ÿ¬=‡äò_Œ×mê9þc\®Fg£›ÌR9BbÙHçN8jØ ø`M4"èîmÑì+Ñ8¥VÓìy¹¥!Ú7°Muò]…çâ3@•G1GݰÎ×=ÑìjŽiŠPàÆß¯›ÚËѬþ »\×E¦®7Mn¼„áx–ë€FŒ•£ª‹Ò‡ÓB³ËÜ…xèëë—xåF±daQùF5캃p‰FCª¹:%2³Ñ}žì­™ïþV‘ÄxÂ>)c†9r.k↡šK5B@[ÊyÛˆÄTÎxG2ê씞¶Ÿ]߯B3‘lnð/F'ò‰ê–Ž%1Kò ‘žÊéa%ˆ›ùï|±?‰ÆÁrèC˜µŒ¶Oúϯ8y¹ÇÊ–Üw›ÚrP¶°Ô”°µ=Ê ¾RÔ—i‰ŒkˆêAÅøà„7Ƭ ^ѯ(ô6Ž„ÙÊ%' ƒð!ì×êQ¨NfÿväGŸÛ³:»ÍL3U™jô€’ÚÝ—$„`¢4ZwÖ0Hù dªÅÁ)cWh‰Ëß»çè2ù“¨«ç‰†Åt<Ö ØæN™—ùIžŒ­¥0Òj_žzèV#àŒ>ÒyeR°8L)Àc3« nɾ²ù©ÒËÂdLTÐn¨ã©=/~¥õ6#Ç´¸~õF8ê;ÝR†ÊÆ•g#TQ ¬#ƒÄØ…«Ú|ɹ]m|4E21é tg¡Ð¹Þôi #iÞ¹ZðŒª9}\ÿ‰ÒöŽŒ£ä Ê…—HvSà‚s ɼÛ(Æ(Æø FU£(jS_Îd(š0<=v°Þs‡äTq¯bÛ㵫Šaf¢ŸÖ›Í]a _Öèèß¶ˆÒ­ëG§&¶›>ö$l¥¸ôlºRšÛ]솑µY±¹ôÞ•Œ~ ¸œìŠ¥øy›l&] ؤã#»frv¸wÑù`Srª‰àâÙ« -Ày¬¬„´Îçwþ²#ëz`˜Œ Ó m‡Ö±]°dg3.ðUµ“DY©”­/2·¯U+éò)¯£EÃhÌUš}VÔ¢OLƒš6ìì®"8KžÐ[¢±šg þv8`w„3/– ~:rÜ E¹?ÀnY0SŒS(ló!NÜ3F\k^E©¼êLïêàr÷ÔŒ%3õDêž/kÔ¤w_uÿá`¤­nrºò8%yƒ*5÷'¢§l*x®P“=6º¨³ùäAðÍÈi3ßxQ;~+IN­j|_Îȵ÷Vô-9"™_ëÀøº q’ZM…¹xU¨-JᩆÂ&꩘Ö½ÁñD”]gž, %3<õJC—ƒhÞùb>ŠØX’ÛZE–A" ìá•q¨¹'¤˜lI Ê=/ k~ÕPýk¨FZb™¹Já\!Û)ÀÃ’þáë’hblˆPJ­C†g6ª§ÖEf{s1'9&D;ÞH¿ ëG·£Œ­Ä:®A!º•iìãÄqñxõ†6†³Uª#Õ¥ËdïV¿&œ#FÖöâ°Í|,n£[‚ÄéøàEc¦¹MW’‚Âÿ²Ì-,, ?;6ŽLɱlôͳöÔ Û ðnË5ü¼û îÄ?䫪4ªåo¤ô9àq4B¢x¢¦r 7«Å˜ž|y®“pˆâPz˜ò•7iÙçdÆÿR­†WlÚ-Iû[úÕ¤[6˜ 0à€Á©‘‡Ç3#À¦µ¼É‹’çš[gàtàÖÂ*oeF =w6 å”·¥¾Ø¤Œ&*æ´àåÀÉüaÝȬËh¥‡™7))b’Uƒ uRP>Oë³j>û2%Ø[44ÜTæ/õ¬Ž·¯b5´-úrÜxHËÜ;ÑÊw`PFùÆðP7„3TðºÈˆÎ8WRljùÂ" ÑL6FM® MÔúÞæ¬/×8 oiE]q¥dšhoDˆ Æ«'P6†æ»‚ ,ìÿaÅ…ÈD-wÿu½,UÒÖÈ®…­˜!fR³1j\EåÈþÍjUS™kG±uø†þØØúÁf²ïkGæÝc °ÊÏ?i‘9»I’Šv+ø:É‹Þ@†\+;éPó:Íá3|Cf0‡‰§Ø¾ó‡Ø-ÂF ƒI1\>i$r™Š'ô©¤íø4JÂ|ˉH '^&_v¤ˆO`–¼>Ÿ8BÙ §ìÇñ?-[:Û ¡þú‹AHÕ¶ë{Ï—h¶Ž÷»IŽKÉt¡Äj®¾yJÖÓÒGO[³êfFw#Æ?ž,×SîÈ&Gâ$~zº>¾ž&ÊŸS£U¤¤Òœ*ö/LÛî«åNw¤ïFå»À{E•¶P̓Ew1sX KBŠ _¥õÙU$’ešv¢lŽ^wA¥qI¾°eHüº_ÄH‰¾‹]NÅjʤ~xä!ïLDã/÷?á¿dW³!ʶIA“ÑàçÍ_ÅÒãF?vÝÀ(y¡’· ¨ƒé¼| ?îZT[­ÞbÏe 9þÒÿô4á¶Œ•"LZY‹}ԡ‡ðñ{Ú €]P%;KVÔ§bøðcž¥Är/Z*Ž ÊYÈ Z¿'Bäß´ø'ãÖîÓŸJ9•çñýU²>‚æ‹€ÿ¯¾ƒ„›5 )\ËRGÖÕÔ#ý’± ·øh XßKè*m¾;4wÆ3lõC.-ì2ºmSc8÷Št‚Ûg^ Çz£í‰]i4ƒ³€“û"³Üß@¡b}w¦y±4ò@—¡9êÏõ)|æ6©+ê´V÷ƒõO–Ø»þðtî]î¤ nŠ Dl½yÈ`)ªF!‚f+º¼|OYr-ÆôÈBM™ÈÜ:Xj#ãK¼Ô=ŽêÉ!2`4îõjÑX<jl_‹ˆ°_ᎬùEsÐcâÝØ¬ÉWB…ÃÐëvˆsIV¨gM$'hÒ›5oà¾w~fáÞÒQ2µ«L‘öþŒwCKVªCØ׬7êÆ­ßO×Gù9RLƒŠºü`­Qgc!ä¾ÙQP")Îl¨® ÏmPjPµt™Û9WnU²cWÀñ°õV—#c4ý?§óÈ¿2zzHå³V*ÜyA2 ²Â„§pì0Š‘`P@äèžt¶b1ÖàT7‘e¯y^²4P&Ëy Z¡+Ÿ†àõ‡Ê$™3θ›uŒËä®*bm‘SÓ V‚cÍGËn6éävÝhÖLµR`6Au„3} GήňýôŸÇ [ÆifÓ»[%&üB(תÐ#pŽ:µ¡sD?a'’R\0è“çÃØ{]·°§»)½™`a»õ;\Á¶Š¼I÷²ÄE¢T½œZŒß·óâ"f™ i`ÔI ‹ØJ#ùB%2 ê¿¿r_zäl%øèê"­rÊ_©0„·ÉÐ ¹›RÇ&Ýt),,áê±säZÛ|´0<' ²~鎿‰Î~ju„¨µöŽcì_dx"@‰V ý¡ËæÍ› ²XÚQI± MZ€U)Võg$CG]1Z}âˆr˜–á²>Cvs3V#j×›ôå'v‹Hó¯íþ5 ¶-—±­82ØŽá)ªÍг9ú· I8óá±ÚÆ…rD`×ç~?ŽG°ŒŒ" ³.¬è7Þe°è+ZÔS#\2G¡AŸ·ï[//Ø¡šÖÑ»ZÛ"À£ÆëèÔ«—ïÂ2ª…у¥r‰?@QƒbX©éö»]ßÀÏrÉ$Bs!ò«u”» ±BÒ¸@Æ}ÞͰh}*2O%EÑŸm¼Z…¹.Ÿ³šaêU°ã%ÌhgZ6@ž¡j© ¦þܹÃem¹Ti܌狆ÜÕa3z›{Ï×Çê(tÏãb;ÒÀdе}µŒw\¼'ÅMV²:Î:±ŒÞ>ÀÉaqNKfÞÙÃV!+ äM+ž¦Äð>®47À³XIçó‰ šŸÔO¢­‚mý#2"3?ºó£ŸEsŠ¥ƒˆ•8‰`¢ËܧžXßzk”¶>2Ø£X5¯ŠÌæÄZ¯ìŸäÉ—A@EáÕÇ⸻% )²»aþN±ÌE¨Ñü6Õ8ê” OØÁigÒõ”éò—b,¹3û–Êa IRΕÇaÄ„ÛY!Q?aïÈ¢è¢QÏÍ-‘ì°MAsh}½nkŸj N†¡2ˆZÓép‚jG/šP·dwôL„øƒòK£8œ¦$®•‚N]ìäð…®âR¤¯X¹V]¡ÎÓCç'Z–FÎmóÓkç£Ð™9·a}íS´%¯Ìkx(-Éá(?ì¤sÁún¿<Ì=‚æùªÊ¯ÌQ::8í>ÆLJš-c°¦lÓ“HÌ2…Çõf ›@93ýS¯c°ÿAbÙOÙá×û(Eå\ ÿXÝM]{¹ˆeê~p~þlñÓK“e H¬æ]!‰4„†•RrdÛ€"ÙÀn²Ͳ€Rì ‡§ˆ¨ÈÈÝ®ÙÌðÝ^_£DÒkÈ¡çZîëìmP[ç‚䟲8«"]‹Ó§ýÄlóÿùñ¦R ª’økEpæSUËxÊÌïI¸ úgß"{f4%Âg’”Opus:”o~“-eÖ;Ÿ)ßÿ÷`e‡T†ÚÝÞú#­mmLB£ƒ©Åh¿HHïùïÛ^\ x´Ì¹*lM‘‰Ót˜ ‡·ž¹™k@x¾ uÎ~N ¢œâÂ;T“Ôú >.ÐÒÚÓÒ.†Ã$Ò¸øx-ò7™fc Œæ:!ï:ɵñ Ö0uŽ£!O?´+Ôô±Cg ×K›^ |'T`ÅY¥ìÌøâ÷»¥ ñ1^>vCâu:Ø(‚7Ÿ}Þa,|¾Ù.%þ}zá¶,UšÑã§J¸½ä+s=¤F»á—@$ŒÂ¯^r7à Ñ`–Ò·íla+cÚÒÆ+=8ç%DßN„E'Ú‚y|ÞX¦DKèH}¾¤™KRNGO9)ë,°Z¸Ïñî"ý‘»¶•SÔòTÎà9¸¾p%dwÉ3û=ƒÙgëZŽø¥4á÷¿cÂí ü'qç“°"Â/ xç|ô¦ÍÄ]؃¬.+Ç0òý ¼9šš\= õ­Iń̖o_9¨Žý‚ vGe5Æ"ß„¦"¾"oǘƒ)nÏsôxdêx|Ö¬ .Ž«~jk#V¦0ÔÛ×ûàSÍNi%‰º .å—^×í¶ÊKVlùæ“rf6WbÌÕò 3ñ’ ì|lÅaÛkx¿GŽUðŒqX/@žägãçêŠx?×®É,ÚqÌ¿g²—E\zw´-Hï 95ÛTöe¨ 1ºn¶{ü•Œ4k ZŸðm«ìÒÌè6£[ÕMþ×[¾„Éý˜á"­)IñÉ©YS[Âï¬Ï rŒÎ·H›Õ6*·±(¾Y&Ò‹xÌ·"º«Ù»+57ï¥]ûiý5Íê¡ ‘¨˜]¤%kJ–f¸¾À/輨=»¼÷skøüïjÿ4ù×Dó®h­Tå˜IBlœ0>»qPaôpœctÄ'¹4=6áý—‘œ=ótY¡º˜…g"‰ÖI¢~žYw“Ó¢}Ÿs¦jë7z*Jûê7ø ¾°Ýw|¸L·ž@XP¸ÆÙÅøÞX*¦•­1 1*+nÕ)½Û|AÐ Ãî oÀÞ~…ÕÿN°BÐ]¶”©ÝL^RÀÓ'Íåc6AùÆü þï Uí&}¹L‹á ¦,´ˆrR¶OµÆ°mÀ÷óÙÁ³ä¥–ä‹,b•g‡*Ú—1ƒ^zuÑ Òbºò þ¢%ý¤Ÿ†¡‚Íþüz·Žò”¡%%rÜsyxp¢:òk''I°\]÷!þÒ *K×Äy4̇ækM~Jímm¸)H.ó $ÒÿwÛÐXi‚‘$wDùøú ›t23_ö²$™h?ÃN6Œ;XFRÿâV¶Û׋xÍÛºMhGç9‡ÑÁ‡ˆU†c“ŒŠ•çp&‹M#¬årà‹‰#'K¬—wâñÜ誗"ƒïCÔ!¶]WÙãìÆìr,ÊÀvø4®^ ~,…¦r¬TFÞg| c^ör~G^Ü»E[7Ö?íN3—¨B“uï:Ëغ|x)û‰ã¯Zë h¶4_IXÓhSblÿÜ9ˆ—káhðôUŽÍ˜¡>iø¼ŠÆãÕâaó°é‰¿%¼ŠŸ±VPŸ/îVZ\ë·rPÐ"ð\åÈF·Z%=K·§.σŀeKoÞÀðûŸ«¹í‘ *pÑöéÜ\!zâ§êsZù‚nî ©ñ“£EÔge¬ð¾žÐÆëÂvj„ãEôå\•W‰Ê¤‚É,ÿ\‡Á¼•πȣÎ⇻/Ï7ÚÔL¯â.~ݹ‘eÌÕéLÀÂǧWDHõ·B#&ŽÐ™ ’ãÒTM¨qDC&†!˜¶Eô-às]ø¨°Ö›2BVäe úl걟á€ðGšôm"-¢T¬`•Á ›éûxæ[1E¢W)òÍÀ~Ymõ‘¶`£Ìéé¬xi¥TAv1CïöñÜWé \ ToMΓÀyaúø^ÀØo_àf?2O–¬š¡î'_÷ÞøÞ§ç)pÎÜá˜ãü€Óª·™”Éo5®žbƒµ«VT2<=Ÿôêâ7°çg‘à‚\—â _HQi2l7b–€¥Zs½Qó¼kò ü ÜPJ§£–=~:1ÇД=Qcžˆ£{SµŠÇ6%ÅGåþ/½Vž/ ó ä޹Ñi°Ó§Ð‘ØzGOl‡ŽWÁHïò%ºna È{Ù"cÿöÞØ1˜…&OP³ ¹xšiÂVP˜ÄP”D6}û5°,íÆ °d{2ápâ '£ ZŽkŽÞz?3 QüõñµúÄ:2o;)aÈk?@xdL "MÓ}’´§vÓy-—ƒÉ¾àõ~—¥#oëCòSç²ë* _è>—"Ç÷Ä©ˆ"Öù&ëFIºòO=‰B÷aE’{íÐïûû©î“íZÌéö=”rÍÓ2tŒáÿ*°:ª2êYÎ?»Çtð†} Ï™*‚°÷…E¼»Ë{Ï·y'®¶ªàìØõƒŽêî”6ÕÚ[ÜËkœ›°JõqÏâ‘mî{7<О ·¸9Ì-çr£îöJ—'¿\îÆÜ³u }Œ¤ê®D…E˜ì»¡ Øêd‚Xí{쇈¥ï޾ÆcÈN3R‹–¸™÷o‹¦Ùãæ;ÈsŠuùúÌ —<ÿv&MnòùcmÍÉÀQM> ÖIІq)ëžÞ9<'ëJÞÔXçør[šïÅxŽÞ¯®Å–Õ´ò¢ƒÛ­Ìã2j®«â^Æu*jŽäwÜ ÜàÆø|BƒŠµ=’ŒØÓôŒ\fgŸ¾¬¤{®ye© N·²š”z€ó¬èDÔÞŽ=G´ný¢a­‘?}~¨"I²‘d(í!d|œjðð+œ1»IvìñØýÑ@íZ²hòë%{ š"¨-ýÔ&)¬Cª¬_èqùëÎø±ä¤ßh¨{û©M¼'`\…Æð±aÎë\ìÓOßb@.¥xg%—-¥L4ñ²3±¸ÎL‡–.ŒåùL…Ô“B ¾ÑX—6ê^˜è§Fƨ,ÓW¹ÏòÑÝÝærä:W³W˜eSoo$ðò0q¹8 ¹F’#€b!1ï|sw¨d•¥ªƒ"À´UÕŠüª¡‚.;xÖÖ"¢ÅÒdÌ¿H¯Ïe‘øŽ¥Q‡R ä ü`ÛE9Z;Ó ˜ávr!,N0hºûª™K½£36^ÏžÅÑéq?¶Ä©mE6TÉŠâ…þ™LÉ gsaúcp~:^º ñFæ²c6-Áà·X¿Sxjs¥‡g˜Zü¦Df ª¬|²J§Ü\ë3jqæë?Gµãòµs7^DDú¼zúVÚ=Z°Ýt«ûÏŒ8Ð ´Ä'ݪZ'Ř—ÉQ3/åÕœlo˜4®¨ 滿Ò<ã×…Ø‹« :‘E¡‹.½V[Ûþ‡•OBA8?›Œ×—Ý ì¡4æck£ØÀÖå ód~)|ÞtžâX‹åMR•주ž¹†¢.¨¨ A¡¢f´[€l”4ßvÂpUœ(}ÏÑI2ˆ†ê× ÃðÊç2Ý3B@¡e²¹ @ɱÐ>½¢‰j3µ”X6tÄc<²¼–®è›ˆÞõÄI@W#V_ý‰¸TMŽxÄÃã\ÿeÙÞó6!ÈaÂòe0#©!ëöìÁZð‰ûySQŸÜM8‘æH‘U»^[ç*/ ªpŠnN:1x|ØE½ñ¯ëÚÅ„löv-ïžØ@aÏÅø×0Ñω»;¹HPyNµd AV’Ma)‡Œ×’·&Uã4[ƒƒ?%R”Áöæ;>ˆO:Ó𚄚ÎWÈ …1äBîÕR+ÖõÔDª¢ó²é¿Qp}M E×'ƒãË Å8 vòŠ~`-ë;‘¨Fk÷Ý íÂÀÑ⇄JÅ£cI~B%Ñøæ9m&e½©¥ˆW¡-ýz®·³ ¢VäG¯Ë:ë—>>Wub×3( €Åg¹"Ý5¬K+¶ÊmâºjWô\‰Œ’U§š$( "Ñ[ͺßÕ:ÚAÈZêMæ†G€,.ÊÇTB9´‹h/“ŸzÓÁŽ˜ùà˜!H…œr#ÄÔÆþ‚£.ï_9Ž1ªÒ þ6Û˜£ºÓbäSFšÇžÞÔbåÎñóÀü…²!àÜŸÜcØZgü‚P/gnVÁ(W½ƒc/Iþ• ÍÕ¨½KIàTêâœÉÁYå¼Ù€ólY}Æ[ÆHùå¡QÈ5ôáW¥€å¤OçÝDGý2<>ºŽ« tž¦lr-v³×`ï\ øRy%sy”3±«T™æE`ýŒIw$ Ím }0óØ'ùË—/4Žõa–uUÜI$åÌ¡,8µs?jý®ü§½][Ú<Ÿ(Ø_7 {×íc•eƒ$“pŽ7¼ÃÁf¢³ÅB= ÁotoKþ2‚ž!­C ð½ï*Š8-iCÏù:ƒ?½;ƒDÏM4|Â2Ç‚übûç0z¾—Ž„‡ pÀˉ¼Æ®Rpî…¥o,ºòרþñŽ'-~³£èò¦KØ¥c†gç/ÚûÊ>ž4MߘJø1*Ò›P<¡T˜^§š'Íbd~D$6÷S7Žô_a{7bS¹¬‹*…!̈ÇW*ÒD´ý}êUù´ôäöþŒæaE¿§0D¬DI\«Ø·A–%¥ýÅow–F³hÜwéf¸Ñ Séb]¢zFö4ŠyQí4“ý”ö̽¤5¬Q™Ð9UG†±z‘,ªP#·Ðú¼a¾v±ˆñ¤4¬}ÛIHÛc { ±]ηºò»5ˆ˜ÀÏ¿òæé2®ã#E1RžÞéGcéH¤ ÂûÑ?é å:G8î´ªåZžÕÆöælgD‹ÆÌ Ù£è£/"mÑä‰|elryì–pæõ ú \瑈íV]¤vvCªìG x\=ŒàÐ,N(ßœT·`ª–“ÞŽ¼ž6®Ó"‚ ñ ô·¸ÚJ•0i!Õ%èÕÀ•ÊP‰¢Kœ‰@ ìÄ¿t+¯›9¡{e©¿±Î·§Ø:RkЋšxDúŒéeî­` zAë6êÊdÓùìšjÁ%R0ܧ…1^˜å[}º@ ‚OX-0 Ê«y‡û~œÏ¾xÉÒÑ€íB3°¾¦èì,D å|G9^QÔ5üÍJJ(W$k[ŠÏ³ìÇ7÷ŒñD tê‹<À&Â6ÎØîHQgq èG6°h9­„Ñ,1­âÌté0:̱ÙÇæë¸ƒRÞGž›ÝH3=ñ²’.QA_.ð–²YShÎ~¢ïŠÕ\¿eõ)?­¢ì”x¾ü‘h·æ¾µbm êé·ù7Å}<˳]Î:÷;æönÃæ¼¹a’ì1‰vvô>óP_'_ ‹tÜ@Šÿs¿B‡/‰åéf/õší0–dtõ#:´5ø‡)ÚQM8bèâZüÉ}È2zPÆÙ]Díþ1-ÕU u ~«Ñ—í(°z«á;CÀÑ,h9nÛøM.(@':äör"ÇÞ4Ÿ¿®e8ÄyMD‰ ²M&rœ>””zÇÌÓ‰?‘Â^†üO\%tÍŠQ O0Û—÷²™fJÙ¦çËÊgFäaê-‚4$YL"ÂïƒáÀÄ»ÑØ¥äåõâl¯v¼(…qrœ«ž~š€àïñø=÷â£W„„;9ŸÞœjÕƒ½8QTB|݆ÒìSºZø‘qÑv=«"·Nóï¦wØœŽïÛO%p¸èÈ+u6à4\j(Åõ¤2eΞaUfP3Qµœæ—ö”Sæ(G½ý|ðîÊ\<ߨÈà`W¯“ sZûîçöqBê^¾§`„›¼÷Ó jJǯÉ7ßwIªc ë¼P'çø¥»Hw1aàºÏ߇¹øê¥í¦ã²)ò_¿bZëÎcÏÎL¢/½µËðëür^Ê¢‚$7ÿ„[óˆ寄֠šÌâÁ…ËߤÖb‹M?Çî%™=)õÔËo&ÉÏØN”ÆÜ‹¼6á ©fœE€S>¥D b«è¾K­É;¥e2(`ã²([0ʞדÿ‡UWT߯%/KÞhov܇•ð¼v¬¯”³È·û5~N á+f¿öŸh~AÝÁ$r¹w‚+}°« Í>ä©Ô€lÌ\7¤AÓÇ{¦v«#Óëñ3¡ $mã.•ÖS©˜œ˜`¥=ªÕé¶SI«1ï‹ÿìL2·¡ žc'þ7 Jã‹‹Ïv@Iv• _t+›íT½2Âs-ÿäM@¥Í×¶ûE™Îûõ•R|™ÌæØžU³1O{‚BÅ­1S-Zƒî”t™ ÏÑVo‰Jำcâ‡<»1ß/ .J8ÔÖôq`pêŒ/jànxûÇ•]¦b¨. ’WÌéoIÈ4N¼¹ê8F=sã|ùØ>é†G§5fÊ.Ũ¯uV8šì>öP#¿è‰Z÷¶˜Â:<šr7Û"˜Áy&]ònãSkà$`xp*,µ”Ö5h ~ÑÑÑâVmI…0ËéóŽÇ"ïø%|ËÓ¯#Sàg³j¶ú¥á~þr%”Oˆ†sûmeà'–Ù£#”Ü>0Jxé1óT¥WH)Q­^¨Õûru€ÎdFhô× Ñ‹òšýDhó¾Î©\k§½\y á6›æeCqLÏ}g»ŸvÙ9ŸÀw$ošžÚÀœék4W»a¤H/j2ïÔõߤe«x®'ß @Ý´Ô™ÌÝ u¶²a4 NJ1S§\VÑ™€ža_¼sÃóÚ‹{Q‘Iý´ÖÓ(ûŠgÔ š¿/Ô4Ù!’Ú(Ÿ÷¡~çób&,ø2©àFCô§ý¿C-"ÝŒ÷a9äjåÿnx»ŸTš>ke…άÞßJ`¯„þ‰ûŠ3ü8±äÀ+úžQšÌöä—ú¼D=h>ʦÿI±äõð™½jCð…m‹ÏÒ2_íCwÀýámMP x¾H&ǯv. óbOsÞøÚ¹µÊ/¯´_ ³Ù¯Ö{£!ùÝ¥êa.?¢ Š7!,Ðì”#;CU =ç…`ýJÜÎ /ׯC>Ü]¶ô›üœòŸ§:ž!Í1­$þ ñ*âùØÍ2”-"LÈNßÈ´ÌÿÞg)H•t‹µ¦nÓyó4!@¤ï†÷6E´ÅmÈÂÈt(Ô½Hkë¨öļ§HV[/q•ÒO˜E-J„t*y€:ÁåØÜóç›Üi´W›;iä«ô´!éhïò©ýÝõÛà8à*þƒFo;Z°zPýåô$Fáþ®YS*) A$‚0åx“T¾A—Jû ü <=©îC§€®z©û ]ìhò¼m#ýñQì,ØŒ+!ºÎP6ít¶ƒ¦.ÐN,ükÃ3(B†oG(Åáaè÷ÍÁŸx¢*ñ,üMÄݸ© h)eÖLVÁÑéÂ*7ÌíüÞÔŠ TØÚP†þdè«y”dàëÊÑmób¹ÈqIŒÛ½$¿w7h´`¬Yn†BÎícðU&ÔB¡Æøin•±ôŽ 0 #®Ýßõý=òJ_20Wi‰ Ü{a9»À.Ρ+ Á¢+1€ÛvÌOÆ’"Vœ¤_‹jÏU–«¬JŸë¦w\g#vÇúœ19=7R[§âúQ ü® Ú]óu–üF)‘¹àSâQ€”P­ñ zññ¬àÛXdÕF‘;¤ŸŠØÎJ½gí<çšÒÃ:_TZ-Ù‹¯6¾µî&OF‹YÒ¾0££áÃ##øós¡ÿágf„AoôÞ¸DóLrMHɧôÎ 2ò²ÞPx¶^^Çò‘;¢g.¿º¸ §¿¼â‹&Õ…8K¸) g óªÚëT>‚ˆš ðÂüÔ4ÔZ‡ëÎDOSµZþÃÈ‚, À®ÁaÜ­¿ò ôÙ¡îz‘˜×¼‹ ¢\sÄ»¶žÌ?Øçm èûϪ¾KjèËn{PÜd>‡ 9é2:•O&)+Üå·ïë¼ÏqÍ-x·2ÁŠv×0dˆàn¢,ßbà}[ò¶é*\6Rd±«|¶B’Ú8 uWD°ªTn “bùcux7&…yJÞæµ ²ÄÿÇ8PñS0ö†<ÖÅ•)sggÐâ¼íoñé6.¶ÐÊߊ£5?³v3zŸ­BO¿¤IòCÁv ¼ì1œŸ‚E>…:d+ƒä©éxÍ•µÉPІ¤Ë“Ï‘õ}žX•]ÿöÂ@6bŸ²Ï6µ­›–=ï¡•C 6Ä»¦Ôt}œ¥e}N¸<£¾j¤g%h#ê &¬–Ø&R”­E¤ÍÊ¿ùbÉ ˜øP¹i¡èKœ¶hº ÄèB1b–'Õø¦ŽéŽ?ÄDÇ3x…“RYÄ" uGú•fKZß–ä$Ä2B¶Îr¿•VVö¹¾ÃLeÒ>]F6@O2)J‹™4°\q"¬Šc©Q•†YôÌŸ)¿fÄHåø'/2ÍfÞ×b 9I¢±åŠÜ$ÈNDe{DU HÝAÐE^sÈVóžD•ƒÕ÷ÄÕñtŒ%­ñÿþÚá>ØÉl½8i¤ö/Ý’-èM8Z$ŸüÖÁÚpbñ²_Ÿ¬&[èÅ3˜™{ <ÒsÇÍWˆí„b£h•RPc³J{­{°ó¬>Ãi.ò$I¡:P*e7—R?Æ<ƒÅZqCíÇ5—~ $qMªÂ0ìËŽÔ}VKÂ!fÏ^׌¢.òV¯’•ÅÉS÷°R)GZìýâ8µ+Äg‚9&ð}ГÓ]xÇYXA”¿Ä2S}ª‚«éSÒ$fŽæÀuÖ¬ÕÃ;ý¹¤Ý1únñO×ÏÆ¬ÙkNÿ€¶ßÎ`áv'´äò9oNJp:®3V„7i«>÷”¢¡Ä=s–7¿|×äîP„JÓýð1ð}F‹g4õ­Øöˆ´ï!^þ­ÜPNx7«±Á¬í&†³ALÂ4ô±-N˜ÍâIAwÉò»3§Ø*p†&ÔÕb'ƒ:õ[ÖÈSÄu" À½^_MFã’yrëé`½Óˆ-? làSZ» ï>,ª²êa8NØRØì˲åGÿ QÄ”>ªKÆ“¯¹¢xÈ OÜÛqØE·Û©7,¡ƒTæÞ®ûÕ¬¯`'!-ÕQ!4;B’.´4°g®1†Ï“'ú…ƒ#€c7Ø£ –ÜÛŠ\àÆé+|YÉPC¤Ë» ÐMó­¢çpˆ·?þ±: aLàºDÌ×^i©ÄTý¦òϲÞrËþܪ8ÊÛ¶WqNÂp@ß[âøêŽœ!TƒÄ]ïˆ9PqÏŸ»I3PÌÓkAFì†2¯·-5ÃlJ@Ÿäãc€/53‰ÌÜÊ;)M 8¡ÇÚû½Ê$] 2V„gcUïswµqâ¿Vì$ïvª—¨t  nT““™`ÊÏ&’ZÀK¥æõŸ ÙèÆ»W¨ç&Ò(CÌ΃ø˜Ç õÊxžIËPrÆ«¾“ÜAµä>ËŠë"¦7‡˜+؆o5(ªç Ñ©™˜Œ¼: œO%°äл@Lè1pŽKœ%¯/Ê·U‹T/yìCfŠvÿQç´:÷Ä\åd^`´~‡I+À«{n·ÌþAÖ%`*6ý²—Ògû1ñ¤ï]t"éèÒƒrB Ûaëö P©KÓ„ÉÂ+zÚcÃK,:áÎ& Ü¥¤ÝrÐzš‰l¾š|½8Dy€ÌG×ÚÿÌ‘àÀŒÁ¡VØSᓞ>UñѸÙl‡<Ì\´ {ÿŒÀ‚»s0a75'DÌ.GF T( p5äS ¤¤*ƒèQ »0+¿­N«#ùð°e˜Vƒ˽iˆ«+Š¿'uqöPaK«Ž)¥d`®€ #Ôï‚HUwøøÖ&¢…€‚Áý5ö¥¸ýê µZV†ºê~åäè9Zà30}ÕÏÇà¤Ym(W²,HoÌÄDEçÊ[Sp›½K¾ Œüâüa÷™½$]å[‹'0d ±p뻼µÍª‰H¾7™ZÇ_2åI/¼ªÉ4¬¸bÖÊ z¾úÒ.‚ME9áµ›Ü!öZ¡B©…ûZDé½0|ŒŠ³é®®VÖ¶0½UdžÛ<\&˜†Åш'ñ´Ö©V:sUMêƒ9ãÜeì¤+)°•lK²‹Ý©oêŠÌAŸK¯Ù7+'=ŽQuÄêýçZó‘Å]d‘Ì´ºðF^ ^6‡—-Oý¢¯©U^Ü„û÷• ÷š?H*ÓSá^½¤ï-5g¬ÞÂXš‹äöÜŠÿÊ‚©ì9-‚¿¼|Òõg°¥Ê~…Êh­*‘Úét^ÚC<ç²Í:sùZ5§ ’ãîlºT*thn5Â~²Gužz,§ªìÛ–#^Ÿ--ƒû¥SÔ_úÕÔøÿ†¢¬ )Fý?<ðjMÿ˜~£†ˆ7\ÖË‹1ü×÷l>f)"ê`­®h´¼Ðo!õHÞÕ f<èž…Ñ 6aW4Ô·aþâ×íš¡”ð¤½åyYâÀkªÔpå½ hÉ_bÖ+}±ä‹Ò¢˜U¯RÁÔÙ w§6epJ0‰ï/‰«ƒu}ìËi“ƒ<™ž„‘Tãç†C!ŽTGwMZ¶dE]zoäF‘Õˆxq£jõ78€†!<ÀÂwF†¸Ìì Pó×Phâ¸ç!æB’Dq3k‰¹×Ú¢)ß=ãmvE›”s)îôÐÚ~A4‡AZâé8ç§œùŒðÜxÏ¢ñ¦ð3…„ŽbË ¸’×ýÕM¤5b&¨‘d\µøäUéxµã¼Lòý´â³Õ¼êëט¬‚ á²j×}c‰]ŠKœµÖ£!8ÆO9 ”Ü‹ÃË  ª·&i%”Ó‡-ÒO:´ò6À˜ò´L›7¥¢`mœZ’G€n$`V%.¦ó‚1eúî“d~•¯£Êûœé²_3þª‹ŒE«)vP ŒÌôã üû×~Ö*Ñ ò]¦®±ûÀ r[—L¥É!b¾vŠššélÀòQ‚H&tO· Pe,=HÙmwÊñ³R{Ï›ЭT_Úæ ú9¯ýW¹©¦°Cú‚õu6ZÛÍ-9’Ù‹>صB5B´2èŠù’9Û‡zûÁ¿D¯æµeZŒçÿ×à=ÿ°Ó‡&Œo =¤0µh!”Ñ¡b†­MáÞË ªÁÌ™v× R**áå4l ªÌßÁ-¨IxþTQpiààÆpðRDË â›èVß g“ÍÇfΠüdà³”¹‡¹ë {ØÊ úßÖU.7ìKlw _ÇžaÌ%º‡Â2+wb¼SšñßF~-Z8m} ¼‘޾²Ô_ G™Góå;J×07ƒM*.R1v®C5Rn»®OÅ#'‚ý’÷‘&o²_aÁ †AX’Mbà³QO‘dˆHi!õEL6Ú¾ìѲ1u—©Ïfw<ºô,›=£e„{4ü¡ûIÞ!-iÁîÖõ‡;Æ&«j—0ù˜øœá×¶èÃ7¡M¹›ð侤}ZqÙû3Úp3ðBd¤Å]áÊæÿ.7ÕaRŒ^x{tßY 3M-²Jœ7çü”·åå|ߛ̉/ó›Ëá1£¼Ñ‰?1bû)|pƒCˆ2ö ñ¨ ™¦÷ƒÝ@تÁXï\ð•ðQ¯RU| .îç6J‰–jG#*…){ (ÖÁ±';ñ‡½£ä†Kå$”“h±ˆ…mV¢ˆ®Z"³á´C"ÄÊyö•}ž»Éñ¼|@/ý÷®)`@ÏM=g‡’gÛ¦"rÌCÙâüÈЈä_3׳­³s‘hIÍÂÅóÇ¢Œ¬¥Å°4œ,fK*“l¡@Ë´Ê^±ž_I‚¯íTäôÚø‹µ¬€S½1ÝЂɕux¥¼€ ²}¾±z²ß—öÐ5?8û*^ú}b)74Ê¿! £’Öí߯î,¬çGÙï+ñ¸f¡!üÇÞªÖÅ6‡Éo}ò«ë´f,ýø&×— 2OI>+ñžA‘¹5tmx |ŹY<¿ÇýuÛ]EFÜbª*qÅ"“U}:kÒa+¥8u©úW<æ0Y—Jm {òsTßjLH¨Z% ôßã¼ÏEÀ1; žÓ–u\'¯,n@êD.Ri\þ…;‰O’ì䛯eO<—Ì^^z§f\ë˜ö½ºm¿YÏaÞä¶È£$ÖÄnõ‚êéhŒþ(;\Þ¹ÓÞü±ŸJem5u#$ˆ¸¡U›“o" ²Î'§ÅlIÌ=÷¨9;oR·6¹§ð‘(ƒº\·:¸à,x–”$}Ïkèfä¦7€~-êeW£à®*ÈT´ß×䄱"²¿ðI0šß ™¿.%!j{qR‰‘þÌ ˆæ8¿x®ñ0ñ¿à¶Ãº,EÌ™I>·2¹¿«èïÕÈ"±³Ì(‹tÈ`Uþ^ÁD šh ï‚j¿ mrÍw1Õ?^º+ŸD©EÛf0IS» ] z)B¬ÄÝ–Á"® ¨¤„±ÿÊ4Û4B± ·´ÿrð—~5”nÔÒB6¶³‰]=„ÌôÃÉ£[_òÜdlìƒD†0äL\ôASºYEÆËÏXõ„t©Ù•ÔæÒ.I¾A(¶ü¿Ëþ •ÿ‰åeMFKïÑýñh‡¿·Ç©Vj<¥Zž&~b±ä¶¹œ˜$)—!FïÍ£rhZ+’`Ûme9ž‡Ú¢ñ`ÈÊÊ;‘Žz]÷~²X.±qôR¤©m8iÚ®v\fуL̨;§éßævSï^‚»°êâÂÇûó°5»\³ÅÀ8ç"˜ßu)CöÍoTÃ]Û<^‰6ä7 @ÜQ?ZÁÚVLŸ;¹”žw¹»ë°tbQºedþtöÃÚ·'÷“ü\ º³„X÷’óÞg’–w©Öå”u‰Wª5´Áã§4€kzK˜±)|q\§0‹aäÐ OÞÑê ++ŸÅc²án„Fäç1µ…SÖ•kï¿ç~ª“4Ù×ú¹÷clš!(½¦±Êß”Ó;5ÆA'Ê äÜŽ/sÁæ¾á9·6šÖá!/™°uîÅù7M__ªáÖUðÕØ>Š>‹ãN§®sÕœ•櫘[nŸˆ'Xa“pëî^•JòvÊÌÆý–‚k YV ÊCI8ÁäL*zð2ÞMN促À-4eÉ\ÜL#2ñ“šÌ/Ìv Âtt1v SåãœÜ®­-´|‰Z50u Fuóü«rOò,ãÌ/ûŒ¸þ»’=“d pðúH¦V¸„Ô}U;ö ´¨](…ÔÆ›ªÖœ®ó™‰£–öa¦È' úSê·Dáᆗ®‰¸«¾³:âyÀ\—„:|°ººó¢ß7îÇšE ¸·ÄrïŒvé«2ã>žtgý>ƒþ"– ¿~Ç"3ÄÔ¸U?ôFcEÎ>Y.4‰×ðyŸ³?‡'âH¶ie#ÑýÕ¹´tœñ³èùzãÎÆéBw7&SÕ%[Ú;Až*l“¢ó 2Iã"[!»Ñ²h~i¿¾µŠ[lnÂo7îñJ_hΓLv .ÆÐñ@¢çÐÃÞa°{LÄD¸J-?ñhˆÌýt)œäÏHÇ6zVûÍÞ³"h6IüpÝöƒ´î±y;×÷w©Ã÷ç|Ñ+ Ñå<¦¿¤4‰Î„ÈÕÝêüWkžcèP`ú͸RhKÍ1O•P¸gÊ=~Ëq³:?˳]µ¡¡“~æ'c´4œa„ÎÓdè:‰†]4”[û£ œcsKÞfä¸5mŽxÚFÞVç²’b,yBón˜Õgªãì% $òD=¹ÙÀÖˉ"ÖAŽãAz‡[S“bô³ªÒ¥°¶ÛñøÎvcen ¯B™uuLœô”„&áL24õÑ:´ñkL.T‰kžð°‡†m‘Å@.ˆÆ »_OÞÇ姰 ¾âjö®Eœ1¶Ær¶ß=êëƒAŸ)‹FT ±x@º€ñIfè(çç#4¦:?É–‡9Yf½’fºÛ‚ÃÊibQÙÖªÈMó!2{õšœ£q?¾ø ÈÊÞc¤ÎK²P’9)È–ðï• ç‹×¶&îÑÝG(üX« !LÚ—ÄGå{-Rö'#?=$ÍÇÑ9@¨VyÊS=½E΂ù·™åq¬†ä`üÝ‹4·O`Ãß𤬭C`©MTŸÅˆ3Rsñ¡t0¬3}qzˆSNÇ8HlÉÉC]¥,¡wñŸßac#qüÛBÌÕ§›1'W-!-\2wÅä˜í‘ï®Æè 2å)³d×.> ‘75@i(¾ –‹yyÄâØ y>êeÛNi;ò^Àë5ßc‰jìåäñfJÛ ChCí”äúí4 wü J{”t2¾Î#Ôó<"^_‘•|Ÿv©LIWiD ó‚žÓmŒ€ý¯?Ñ0½ïp`5(z5ê<™æD½êZd”>œ]&½÷ϾZÿ:+vD½Eù¼2fñ¡@â^‡ÖAxB´ËõgèºN¤È°OÎvãÍù‰{aä>2[&IJÜr^ħѾ'þÜ•À¾^ÖOå|ÌXçêkWŸÌS3‘íîOiò ’–¬F„»wúÛHæ­8£%É'"íÌž’k<Íã‰Øg9.«Jz§V 0ÌJ‚*_’íu¼ìýýzIí÷âðü3]vCŒwUãèéz‹à'à ?$ ×à~*ö ˆƒ³¼n¾’³!ÆQ“Õ¹ëÄ»üH¨‘³lbèäâW’¾Ú<|©EeO‹“¡ÑêÛí9õêøWÀ×ËH4¸;ΖrƒI~&©+Íüªþ=´-ÉN ÝT™¥=R[¡å‘Ê…f‹Ï„”rfw°¾8dQÚ X&ï·²ª)I©ÌˆU±à½ßwt²@“,RÈéäkƒžB°}Bn4×ôa¦ÛYêl°G[Ëwxò%¸€€*Ͻ¦Ä){ßEDñ—ÓŸhàâéZætø«Õžõlû¤!T<Ÿ—侮Y ½’å¬Ì#5\X¯ ‰ÍÈó‘’ùeo‹.5&›ãyR€¸9:Þ¡pÚã|i²Ç8êÝZöÅöí®sC>¥1ø«|ßuÕæïr“TI+ô²ž(Ac:^:z”m«e¾iSœÚi-½( †oHLÜÙ¢2É,Q¼MÁ¬ÓÎ|ñÃEEðÏ”1f$ lí¹â[¦Æ–û¸fëLÙ{˜Îga`Ÿ¥y¤Ç‘ü|µ…9˜JöFddH©¢–kãcðrzÙ¨·>¶®—\ÁøÛ•<’I›!ÑHâMÒ­ö‹…ÔVyOh–1ÅÃH&F°<ž“ ›.J£ÉM¡DeÉ3j å½E'•“Õ¬Q·r$¼Vt  й”APæ[çÉÖ¾òAi…MBLˆ{kRÂEô=“‡dwJ4—|,¼Ëh­mªÆ9^N¾C3YQèNƒcÆNë¾8-nqkÈÑÅ"—?‘øu)W)W¦ªv¾Xlóµçâ°„”Yï4KÁìÀ)¡¸·MÒ ?$š€ø››©qKÉÖÑV£zÒü7¾ñ@½Fí¤^¢^hJ™Q»;,°g |vóVï±ëÁ#ƒ »þaAS2]üºdA,ðSëüƒ3eþ¸t¥ùêNõ¨­u>Ùv=ÂÔyòÅ®Óô`bõ‚¶kê4±Ý«q;n€+“²ÏçS'š%òÓˆ1ù´s8#Ø Wãtù}Á»KvÃÑ©^^¹Äâ)äß-èh½û+ÆhOGj•âphñŽ+ǾÏJ.5Ì«±fÙÀÔ¦>o§Ÿ"¿±•¸ô¢¢z¤¦—T‘z5г;DÀ X7z BCA4ûa³…EœzlÓa^“_»Óâ½M 4­#Ë‚Kyoiþº¹oê,·9 ö“BƒùŠÖ>LFÆÅzœ;ãoa–f±Öbn<Á Zœõ23AFð¿}©|AØ‹++fÍÐÿâÝA/ƒÛžÂËKÀÍ nOÂÐòÑHfÈ1Séü°ôbŸ’x…\¹ù@Sb9¦x×:Ji<Ή»È`‹Óä˸\O˜ÅÃw$™c$$#$`Û¾ã,·¤1M¶_ûér&¦§£ÈÚ…îJ8û> ¢P‹÷:OfHh¾®ÍëÎðH|÷†?´²cÈúög³vz×êžj4ÓµÏ|:jºU±#¼¡‚>\á\eÊØF´¯ß±æv¥ì¾ hH¿Ò}«µ†¸Æ©rG2C©§„›FÿèN>WV6©‹aiÄû‚‚ª3YqµÑÓD°»g3AäúÏháGéf¿%SÓ-wGM¨TÖý®½*çQ5ÃV¥’½â¨þ’o¶º…ÞýhnrØSœ&)Ò¼ï?ÕÈšËzëZ¸Ž· CâøË˵|ú>YËÒ$"6g‘O¦ä»<´¾ôÆ æ?dh$ºþƉ±_ ¯Â"0pþnJ®ÈE±6k6“Sžd"Ó1»hç{Ù¡KN4ŠË²Zòñ©ÎÐ: Æ‡+§Q«ï·?>ñ-~´G‡leŒùg*Ry²`U©çÐ{›FcŸ`º!ÿ Ër/è´ÝÐèׯæ×³ãóºæî~hPnG%—´î éˆ×ìfMâo3oÞ¶¡­î/%<åc¦KT[&îã’PÅãц=›ËÚÀÁ:h‘“ú·–D±é® uq&“¥(Öà¶õ¿œªY2B§ÿü¿S(Ž£D|ö7ühßVúß ´M2½nÎâ^pWµ’«Þž*,nÓfCËj¡@<¢º°K±#$'áÓšˆÚ2‡ÇyO"Û-,e»@– ˆ)¼Ca¿É_Ø)ZZß:e—Bšôi½_¸Åpé…ïØÄ¨–Pù”¥äyöéäUíc_À:XØOãÙÞ ×Ðr&½ Qß.)™VFÇË´1éfJ/óÀs•Ç'2ìÎçÜvôÏ3ÒÃó w%ŽpahZîŽ!d3È&!ïeàð©°JY>fm)‹Ö½šç4Ðͼ3.+KKPHß” 6sÆÍŸæ=¶ŠÚd|ŒÆ,:ß0Ϫˆ$tõmv0 ˆ>n­ÁP5½’ÿä× W™ Cw«x™¦3—UOïýá¨LËp5–:Ë2¯œgpÅ€).GåÈÑúYy1.f ¿¨a2ÇÆE úÉÐ÷\¨2»J}CÞAVàDŒûæõ¦µ*Ø×¾é èNÙÀHëѳ*2\—,Ü™ëQOÅô­ÁÕ0ðvæ%s,¢¡À€9HÌD‰,iõVu¿ÿtŸ¿C"Yøžo<ÊôÂÛØãñ'[ O¡_¬)eµ”öò´ ]õ‚½¶T.v9jióÜ6Nü¶£ ;èaµf¹ñ¿ ÅfáîžÎÍÈÚ;µ…À@íó‚'PxP#¼†™F‘X÷ýV£G”×ÜŠ3+DžÈPÆÒù#_¿|ò€µÒêß‚³â»É‘˜˜¥»b çñªR0v)^_tæôè²)#Z±ë1Á]‰àãâ°]MÁkäî‹ÜŠp¶^c–ùE•eªºÁ4›¬:/¡Ãªâà+Œ¸ìðCÎuI9àÑÊuÁ.òe[-[¢ì¹9[E5}Y]3EñÃè¶9˜EoŽÙÅP?~.AÉÌ[„—]ÑÆé¹%nV£M׋qÓ‹:ˆ¡ñ6P%cˆiÀ}¸­+YaÊ{»`' ‡q…æxUÅé7ój2ï÷¯$‹1õx¦æy‡MúTÉÄ3Lø+Tx+mF¦m°jښ܊Vâ&Y6ìãÏD­†’œ1r|÷4YÛ6dzZ„]Ò·N¿’—‹¨¿Þ‚ì²p<‹z~H!zržÚ"¿GüegIIˆ@¾þŒÄêQ2¨§Ú6œF`³/2sL ˜¡˜/,¦ë?¾¹¬÷v&W̤³E”÷ã¾l.©<_rx¨6P–Ÿ $`ÒÚ£X†Û’|C[xf¨Ï B¿g€§å/¡is“(Pl<Êq4Kþq‰³‡)ø|³Jô¶í… èÃNILØÛ±Þ¢BQÊð»’qÑãêB$õ@ðÏÍf ¡uöÛ¦À­fowñ%…®X–aGÏÅŽÜE(ô%ÈüfYsÓ)~’’Õº„7ýpü’¶/Z |ÞµTóˆNž „ìOÀöDÌÕJ¡zÐõ³Fl›Ö_â´ÿšM4X/íê8¤õ“ŠOIñw›Ìú›`AĈ¿™ ,õ™!QµŸÊG'ƒoµ¥š 3?bÄŽúkå¢×/³ô;×éBVStüùdÜÑêÉrXé‰꿱þØrèû eá±ðe@ÓØ2êP¿g;ÏòÒ­ZGðôF¼ûYÀ%l’Ìíñå6ÌN.b?T7ÿ#[d%ì£eÿU7€é(Ò,;ÖÏš³x¹2s©¢“_%µ z—¸Éˤa0±÷Šæ†gËÇiO›”ħXϺNIO©[®{©â¼±`?-ÚKÿ†àp£=«ß^ñV¾g¯v"GâYÿ[ØZ§ò «G›Fi¬‹$ ù¡’‹\• ÑnXòë¶„iì>ÄZÂÄc!¡µø6»]Øi¿r†ùJuÚ„;n+®ÜâGBkÀpSJ}àsÀŒï¿È~½uulF[tmÜÂþð(ïö5ù£(ÿçùW*¿V²$g`á£Cl'œ §h8ÒBv}9ù2´FsÀ=¼ý¥:y7š…¤o¯Wåv »5}©Ê:c¥KøNP,î¢Ô¾”êˆØ™Ùøg‘ÃUÊXöÇöú™+’íõQeåõ£¹½ÐAcP3H–FÇPð¢}åŽ —ýH'8’jfƒ§jMµ2@•£¨ÈrFIåùÆ‹º“cŒB`}ÍJ^XÔ× Žk“‹ù Ï ,Íç!»xCá»VÐKw¶Éü#t輜RØXsYÐÊJ{·0•ò9\Fõ÷À°EÈÇc;Q{ [דÆÃ ;~t’‡óŽ„ þI)]-‚f_бð齃,áæRsÅS9®…&uàCÈx¸â¤°•ðH0€½ ìU»8þ@÷ø(øxiz6»p€„M—(–Jó)Pê4^ˆó¶-ظ?oÖPwךZ@¼&ÕÓÊš›`Zæ,uEoê¤W¨ˆ,V3㎵¸\)´Æ=JU1Žá³®³ER²½É6³ˆ9„cåoìDK|þžxZ’¦ 7TöÎ/TÑ2;eÙ`…ß/±6‡v” ¶Ù#: 0WÓœjlV"†cÏirÜP8TKBzî骜‹ýC„DÿäB¼@qü[›*qËЇc:–wm§'‹þüùGL>’ éTPܯy(À”¤´Ü×d RžYeÿα嘦ÓY˜¤L¤}¨•Ò•ðÜž›6SO˜øúØ™Ü5#¾Gj]Ž °ó“ؼ;ÝjHt ¹¹^fUŒ.Î5 4(‚#â|Þ`Â˨ÈÁÛ^qiIÓ„§x¬^1¯‹´?™mvU3zkq(¤1Ÿéy毰Oä., cY%›5ÊïpKˆ#¹¤€ÐÙÒ­ž99JØüÔ2$÷KÏ#=¶ ÊMבnçø(Py[Òû_«úÒCiŒ[oõµ*¸ö qˆl^‘ìá™ú ¥nûšdJf;3Ï·n¦IÞZîÎE Ñ‡ƒ?oxª©Œ\ z.`^jCê¼(gg6jûa’Òv€6¤s Ð]™=JÕ\-o‰ö 0É ¯‹Ú@ÜÿÏmzÕV[œ*¨#åž²øÂÖ-âÝ(ØÃj!(K¬>Ê¡ïOØf HD윉g ú8`4ºŽlù3Ò£©n¸"ù‡± ’û¬´Ä.µFYXÜ2†˜øóm}®Ö¨ô­ê~Ojû¡xòƒ¿xÕ¦{+i`ÌÜUdÞ‡õ•S–ƒ"UÂi`Ó6’–|¹ˆ¼©ó-£*ÎT›ýêw/Â&ƒìàø»ŒŒT¡ì€„™=í©p~@÷V<|ñt¸RŽ]Ae8(GWÍÞÒ´?þ>0 GŒË(%Cí]6í]¡ÄèÍÎÆºük¬åÛ¾­ô‡µr¾jÂDÞÓhÄkïI°„i ã;Êk¯¼9;&èËÃê£ráë±qbRDGýér?iÝ—q/‚~½)=¿Ü;gœ&CáŽ>éÛYRÖ,3Ú$¹m±']fíïهܘ°ZsŸ•F‚AIF²·¸„"Þ„Ø3måE0£ê•›©Ú†;JR:"@ÀÕZã=/…„dh„5nq—77þ4I<FO6ÞwÊÌÉõ:óJœídý —~RêÊsa²Jhý†ÿ1µoI!¡n`߯ôk ŽÿëÁ¶P5%ÊuœPͽT1 ~ ½zHßZ$¯ÚÁïv.{”¶@{qYDä¹Kµ¢P&OäTÑy3ÝÚrm©›øÚ4Ä»ÍÒ”‰cý—†\õþ‹ò5Óo•ÚcæQÖÀÚ äeAõåÞJÂöûÜã)êF¦m-ìL×óåÉ?òø-[ÕˆrÓ‰ž¶ ¯‹DŽ9næ  “”ThMü¯cͨë@ÅBGŒL~v}¤# €X(òØë Þú8!ý*k|;n«K*éò)ŽEp€©œ·*#^„nF/Ab6eÀªîO!&´yûq¦&çÎBÚ„[<ÁÂÓºÝ2²xˆàº°=ÁÈí`tÆ©ÓkÜ¥K>ö£r”šn­n;˜C×—/¯ŸÚk|8&Э#AœÄœ0ÿ+üœTÍ–Éz›öê²d…!Z¥ >YÎÿÏùM ®MÁ8ª'iñèˆàÓKK]»J¢Õ™Ëõ;®€óáúŽMC›Üü(¡kXÂúª{åµPpUj‚V‰ó ‡´½ãaý´*­õV·w¶ktU o÷(ìõt ½­ê"ø#/²ºJ=ë…;ÀŒÚh{IbºÜ sÐ<Ä &ZK¸«=÷J^#Þró|sŠ "oÅ ÁÞÓs žˆ9Uß6g &¦ç»³ââ£àÿ­œ=f¼ÕuBì_0wjšSåÐLøÂüà° ÑRÄxXän2¼ @U÷)—Œ EûŒì ï:»"Ü£OÈÚ¼"ºÝ@Ô¢–TÙ\zÖ1è‰Z«zQ›/»Ò&òµÀþÝp¿ÜM3v rc=#žZ°™Úo½Šÿˆd)îë¢ÉrSü¬205 CÄKª“À>lºŸ¥­rˆþNã¼ê ýû—D]‚ÆâðËåRŸ2 ‹=ÅKãŽ=èÀ$[3r®Õ¨ÒT H›àǬ#ñ<‹ô=i ÁÜh(ÀH*Î~û‰9y1ŠæI"AFüámU£ónUFl»¯ßOæï«Öy{ÀPo”t{J+ÍœkWíéÔÑZ?B.$A[t{}1Yš\àʘ¹4ñMäwêÁuqKÆóì¶Ï¹S4ì-ßÔôõaæxί7vY|çvÈFØ‹ð5[ÇÔ¶ƒõ0¹S«ƒ†Y دtˆC„hVÀÉCf´Žiõ7àc°–ô[ïÿ¥ÑýÞOhY™ÚËõ Öö#“ßX*sð.YK4À«~Øßö‰¸GM˜QTôÀ™_Š`.åÄ¥]xŸw<Èi9_Dô!ÖèÜs¶¸Z{•5Uc¦mK‹ƒÆÇË1 ù0ÜŸPœß¬¹†4¶ ÿ[X_ê’]^ÙU¨7_Añ7Ï xÍ¢¼ý²îŠQ©›E–ø1°Œ$¾¢W?Ó± ²ü䃣Î3Ì|³!õõl&%ð“pî#ÇmÍ+¥¥P¬‘0ÏD5‚f·o?ÇU«L‰¬W¿.±Æ+±W\º”!–ëõÞc]iÏ¡µJKα„yÝÊI…†¤m8´z–_î±sǪª šI¿îk)³À¡3É•U¥ XÁ&–í^›õIS öP`6ÖW¾\J6oCI>SÿOµB$¨RÎ*OÌÁö£de–üÄï§&_⊌*ç½"p„ÿø[ÞTý,FÍ–! #>÷!©ò~݈k³æýb4sߨ›gÃÒë‚Óoþ(GAá(ºøñZÓ:˜ªÍõ~0#v Þ¯‰4*ÐñáJq#º…¶Da@Ðsß¼Þ ²?”ÏX=h‡ôË´I»‹$.C¡?`äBs6…û7T{›LxS§«)R>ÁÝ $¿ðÐþîîBBlCY,1TÇ“¥íæ)¿¥))%.øðó炡͈åöèÇÊ6mä*®F Ó|QA‰E’È"N£o¡ÞY¼ãˆƒ8uDXÆ:Ç5º¬§H9lÆÍËïy[é‡ÊAÜоÂì ¦Eö›(«Í·íTßÚÅ¿ck¹®YóùsõM´û¡˜T˜aÖf‡6Ù(‚'Ý›žs•ÛGÝ—"€ÛVKK9/lA¸˜}aÃ5U¢âß\3üWÃjVùLgóu­»ðÄ»V¸îZ,Ä—75ªÆ1.êpdÂÃfšw +“VÊ©"n>rj¶ïéøÖºŠz¼‡Ù,4 ˜¤ ²*‘]&  øa˜: œbí%yå±ö¦†Rç´ãÞîê\*œ_(uEoÎésX¨„íä£Pºúû[åäFÔä—›~)Ò»árÏáC}½ªr‘>ŽNX~^¨§™­O½¼ƒ7Eš8fBÌœ¡±Õ¤Þ¦C‘ç¹¢û4Ë;ÀrA½øóÝ+ŒH.9Ý%¡: ÓjÜžºÝ†F¯ô­âL/=Æû'9LöäS8b¼Ûúñ°kOÏD4³0~¬ŸÌÌpãwBŽwÏŒx"*ÓfJ$坿ÏõÖúq”Ö–h]dpÆóxoä¹ðº»RGç¤êhŠEÜn¸Ú¿õxQƒ]ã)©¡Dên Óƒo9íJÓÒÈ)é·ÛÍ«B­¦Ô‹1Í÷ÓV(ä]Æã\še(ÀZ‹CpSf}¯Äë²ÿei‹<šï棃í†ìÆ£ûBŒ›eSÑCßCa¦”ä⽌@ö'µæšLc³nÕU+°¶KP4)gd¦ò.¼ÔbÁ‚ÝÑ|ÝvÎj!¥Ò4+ðô)]¸hü̈$“‚9Fúeƒ²€¤¾`>ètÏñI*Þóä’—tÝ!ãjO,ÌKb»‚}ºp{ç¦n¬Þ¨”×ú€ŠWñúöCNFfÏ9-A‰}*×Ï£~\Á3£¸Ô{8%PÔ½a‚ÞN÷WÑ»á'Ʀúy7¾)íÚUîG¢ð®y X/.ŽçäUíÍŒôBbÚ`ɰ¯W(”ÃÚ×ÙÄE-ë´…eeb.m‘®yl=x'€wˆÎaÝ–HÂù²öP ð£îZ¼ƒ äïßBiË7Ì6wøæZˆÖÖ//LƒCN©3 TÖT¼yÐO…7Q©Ÿ™cw¦Î]›¬ƒ A#s`UKG¸Ãy¥L¬qÜ™c¯u-ìðªXž]‰xúàÂÒ@''Õ~Òe)©ÝÏÛ E†µN_5|J!RËQÄ€„™ýâº^ë,bŽ:wkȨ;–h\cBÕK`{<²ÕÂIù°Žib!]Ø\""® £_”4¥Í^¼rvöp2…É¡±¹!›†I:˜ Vo–ÇC_'xÉ%H7Ôt¯ËìxAzœ_ÆÁ°<Ú÷мc’w±'¨µzÍ»ú]Gرÿkfe›ìôòM–ófP¦ˆ¾ÐÞÕîtäyqÜêimÜÜÚHì©ü¹47| Ud2ëÄ(ÍmbžF)¤4vÏòü&ÒA¢¶ñé‰aWÐBñ™ªÆ•júÐ"o•†ßúýPdÇG™<•ÌÞÂI 9l‚fƒ«T>}œþ’Ö¹•‡nTF·6± |»¬R'šê `»Å‹Ø¥¦•2ªü.KuñÆoD¦%¢D÷c"BTH»%Y;¢~Z"q‰K+ù0ð±jú:Z§3+Lð²:'ôú˜ñ0’¥}G¿aí[x5»î< þÜ@««dJ“ÑJŠW¼#ǵ%³TÝI¬­mFÖ~ :W÷ÝLabRGïÿé0šìUuaê[[ŸT…†žIgõ-öQëän.r"3©¨ 6ëP­šäkÙ Êe&ŠPbŒÉ©<²H”lnQ ã`qŒž®?.R} -H°#Â-gˆwÅîËy¾IÁ…6¢uøR/ ^ï›çìá ç}ëÄ—5mzÄìçbWHÕæ‘´°?ƒÿÐÀ1HÿÁòb–òwŒu[€‚©ƒ‚«_ÉÆ\Q¬,³©v‰í;,dm¨žq§/Ür’µ LJêÖZ´¯å¾]f±Ç¼3Á‰¼{@øiô^ýmà>ÒIWN]a+ò¦¶ø¤Ph® ú°¼bhf<È´”(›öBiìá‰ÅȬAÓøG3§¨ ”7#½–YW%&Ð0¾_|Ñr0+9p¤”¶¬)4=fgª¥E¬±>=z­2Öå|4pú$ëùÈ„@.ksh5ãÙê”לÍì4¢0Ï•Q:–2Wý¢`»~Ÿú”–"šµÝêPŠ˜æ‰E¨®­üSttl‰zNë,8î)*3Ë4Ñ-F-§ôh_~¶ìO¡æq1l{ui­1Íà±²%Œ‹©ÌöMÔÀ®Ì,Í?Ñ-ö…m)*ʇó§âÅ0ß}T@„ì5ùÞ„_l­R€ ð(]¾¥qÕ,÷1—RgkfKß‚2Z´³p9)ÌI Á³)üÖ‹Vãg+ˆÂβ?^1‘’xÆCK‰R×~¿HE…Y„Ázû,ε£2G~Ƴ©Øn6ÅèñÖlxÅ ÷ÝŠ¿lsòÛÍò!,lè*a/0¨¯Gç¥&¹àºŸ$H¹Ÿý”i™Ä¹~²+Õ¯é…Hy0€Ø?z0€ž”Ú×éÙägŽ_Ч- 8~á§W>\RCžIìPh )պꅊ,³7,e³)Âh¯Þ«#ö<óJìYg‹(³•¸Öœ<Ðo«›F G7š¢wP€RYºš9Ÿ dˆæž°ðsÞô·¼Q–µ¿[õaƒÙ€¬Â£Å¹µXûüåeM•Ï«Á:£“Éé’A7_+ÑiY:œ¥[)2ùЧŠèU(½óä²ÄM¯ÏÖ€Í¬Öøf¹³Î—É,wðlCH’ëÜ` ¸@åýh‰Ç{—¼' µðö\-ç³~c.6[Øõé¼J¾¡åó^Ùo$ºÃ‹h²¦Æî„ƒã¥<¯;Äßm …vîì(x žõ˜öj ç ð^…)²?hÖ¸Ž&Õ|r:Ö¼…³ºõC~÷S:¹?`2T½S %‰#YW&Wz\†$äÐòèKJjÝ2J·Ðe«èºaNÙ)ËÿALªhÿQâšèW«ÕˆùÃÇGˤÐß§Ã㕼É]ŠÙ%wd.¤óiƒ7IÎ~¡eJ&R(2`ÖЙâŠÒ’‡uÛHÖ’A.ëoð6WVEF)¡ëõ±¿åÆ*Z-0ýt" j¿ éwmœbÎúÏ™òšâ‹)¸îü½ƒMÌ£Cy_€oSô1ÑÜ#³'“y ñNoÉê7/(T*è¥ß€óüHyÖŽ¹Ëwœ¡ßƒÜÿ‚+ð:™@Ntxµ7ßtûQXj'þ×¢ÜJ²ìå ±_Š}m™YÈþu˜ö]7MJ [öùfí!?Å)@Â&IU{›ím¥Á¶lEó³[4ÌÓ{>%;–b&(‰V½©Š9”ÇëŒØRÀXž~4Í%¯÷øÔ)lwºvñwc> š¿ŽYò®û"þ4‹™Ä¨ žÜòàØŠbV gîWªÿÆpŒtý¦QXÙœ‚“Àâ¾Î+z÷ˆÐŸÌ4“•Þ{<ÕC³ïÜš6˜Ü³‰, ‡l›cµË^ͧ¢P5y‘Ù÷(Íý´7#L,ë)?è÷à@ï¥ã,½[ÞoÀllìÂÜO•Ä2rúò0‡Ù!‰_£(òÜ> qãñ ™k«ú:ƒ—§Ú¾ æžö÷[7¥uÙòäPM´Î¯äb>‹Õ_ºXÜ”QNÎİaEMMŠ_ui÷DnJ±WðåÆœ„J}†쓹l¹Àäñ¢uõc†«ÿý†¶ß+Ü’ópÂæÿ×<_|ô¨x,óàåPþÿæSÙ˜ÁMe ¾¤¡¢p:1#>úÏ ®ÚÕôþIs^ ~\ärµÚhº‡)_¹öêñhA—pÊÏǦzc…Ü[ ÃS/Xc!9¡lCyX}¤“œ&™· ,°úæ„nQ¼ßl¡·ë3ò n,„­Û=%ØKðu×îã¬FìYÀžõU$OÄ^9ù>–e:³õÄtÎH¥‹©– ¢oLß#ЊârcZ.¬¤ œ-f[•iüåädiÍ!Èp¡@5—e³…¡¶ÃFm@øx˜™“XJÆ€‡•/T×`}d/׌ËÙ 0´{ ËMjH»úñƒˆ†‹¦¾xÙ¨¿ah.æþºŠe…Ô9Å6Ρ9Ä:/µßÑðzÔÚ~YIˆ ´ôƒÚ)#èæ¸´nöIª‰™`gŒEä!Í…’®ïÓI‘£í§PÒEW[¸ljô · i¡SAÈ»DýÊë£ìþ€#bQBúÞøéJŸµÍ‚^Rq{£ƒùÀFÞ”>xa ú]WZå Tú]ïV“BñßCpªyx‹ùGÚk)/­1@è%yÁuÅLJ©çøÝÓ•¥LøŽzûÐþ4„Ð̱¡·_Ì£jõ±ø¨Nµ}탗‰’GwoŠ,£ŒË벺øW HÈŒDšŸ2¼jo”;.GfŽn£[EµˆS·WvS 0É>ðG'}¹Q«óþ¼êó?ºay£d o°Ì(üáÚ<|ߓ†8ŒÍ5w«PåÏÈaÇ2Oäõäîl×1ÐI”Ü»F¢ÍµèCK à œ-Ýd ¶Yn ]_t"4ÔÅx@$$8ׄ“º =!îõ… 65ÈZrŽÃÊ×÷C[·÷‘c€Leƒ•ÆÓ{\áRÿ½v" Ò†pAžs¸UÌ”,€ÇsYåXĵŒ¥ïÁÇ>?ûíhcO·e°§­3ðÉ=åD‚ÀÞ×M ›Ãgýi—¹—bËpTèèË~Ý>©§ÉùO¡Ÿ3ðúÌ(Öfc“sb4eêÇ̓››Ä!39¾_UÏNËZ‰‹·Ê‘ž!L¸çeh8\/÷ª#¹}´T‘»á17&ßÁµ3%Õ³’­C6h}ÅÉ;Ïcu£ŠÉ8²cã4”úwJÙ‘ØvGï×xj–nê%ªÔA LçÃ`ÄÚ«Z0Gr›¶LdÉð²tx©T$ sÜ¢ï ai²µÂË½Ö ?ƒ5ötîi¾z³B§¡"Á‹˜ç3ÛÓ’0÷=Š#ß33|Ý+C¦™Ç¿Z4Xýò²`ϲ pÚZ`io¢xQ|”GÍ¡¶z»Æ8„ɼx_××gl’k—±0er@ÄbuÓo1ig6®q¡“RL“CgpŠ<ž:cÈÙÂ[ɲÃ#i‘!~Lƒ‚›\ª)-‰¹Nf€j&}™‹žh’£4jšL„^ùcŸñÅrfͦ_6JÏáùùq¨›”³õ›ÞþuƒåÁÎB|Õ&Ía¡q>»)p,gqc¹ÝŒO"Ób:µÍCÃ@—9ÙÞX,‚”˜X ©„@–ˆ«ù²7Ùc§¨Ÿ$b‚Z¡oòö°é®”æ!¢´@ìNm3VìÝgã[}·®å¨Ú•ˆQIø¹|û:Û`>(§›*ž2N.ÌãæÞI3Œ(i£ñŠÞ~¶›ê®—û RÕ!3ÿ›D‡°²ð¥[ï¶ LÙàÄ­Ð"É%.á‘À@¥:ÇXœ§xgz Ž* Ë›òÌÏD*^Ò£úC¶Û®Û”Ãkšj„&UqH®‹ÅÆáÌb®hz—‡‹ãä§+ëX.õ²7«]!3ŸØ&0ê¼Çg)ùg© Æf9W«Cí,]%}+a”§çu%±m B%–hÖÛøöYÈÕ£“Mç‡ „€õt$ŠìÂŽm»HL¾ÂA{“tÕ1ªÆ'9¾úõ•èÜCÆF@`'a]yÚ›˜žžóàΖ϶`ðÎ81¨ÀwÐäÿ7tüA€%-ï–áÍÅrže³ýf”Mé¤Ñµß¶‚'ÚVÃJÕgr]º ±_èÏV,™ôás5 -]d“#ÌÞŠC(TiÕõæà'Ë?w›h~Óúîƒô7wÆÍ‰6]MÁ¦…K!Îæ×ƒAn µüˆnüP8)Iwì¿<Ÿ‹èqÞ-°ò¸–XÞ–NŽ£4!$ø5šô¼ f?FQ´­AÕsZáúL¸)sV-) -pÄŸè¦ãÄ ƒLåÎÄôªþ%T€¿‹6)è*ÄoCQ•å@˜N@‘"+& ÝR:t„Jæï v/~)òTNxï½u ZÅGÖ‚aàߌ•»òJPŒ iI2¬.¶VС‘ !eÈϬV•­ì¤eݳ!óKY&Lª>­+˜ŽŸbiûîwŠ+§êæ¾f¹}Js#þÜã]ÁÃâç?Yà“cˆjŸE^í˜Ëyr!¶hP‰Ë£?˜|s¤ÈIŠUnØ{8ŒÝ|p¶VzðÓKFß°!ïcüIV“#ðÚïuÈ9(ºÝãÜ%²¸4Ò±=¨ɸ“¥é×zr*‰: jwNm>‹tG'bÀ€Ýg'ód~l?ÕJ…Yý —SšÔT1–˜äR´jþo¥§UØþÂŒvI8÷+Žü¢¡R4â ‰ÏmþQ¿èÕÅþ*AX¹eÝŠÎ8–§NÖëQ -ñ´Že§©8´Ä’Á*ضâ«ë¼t)[Gsäà;Ü8TŸêl¸¬?l•έúûNe!Nâ/GlÙµ£OeêòpñLS™Ö ¸U¹þ§<¼h7²û  Ã3K[À]ÕIQÜüH´ŽÌPÐM$AŽa”—b÷)b ?¶T"©ïhBfhîçeû¬‰FÁÏ„PÛE4ùÆAôÝ—êð¾Çý aå0¼W¥©uB¶,9Èð ˆÙ•ni[½¥˜<_e$tR+޽JÏ{!P€fåúÁpys6ɧ ÉK®½~ |2ìÿ$R†›bŘjzÌ<*™`Ñíf·©;¾/ŸÌDóÇ!ª=•y¤l±-ãAÿpFvX@b6Š$ïx ,`)är›ž'{•ÅqÚÁe[†70(¿.\ËÇö O닟ø“d ¾÷ZÆ@O9Lìws÷IÔý5² ?ýƯúNï\µ1ú8I¾|u ¹DÐ(÷ÁSv¿Ë¨J.5ߨ¾ež?Ž×¦>ïhzeŒÒU¯ì@7ÝÕ÷“åF=›¥µAL«ZVëcQ!·mv[¨ð´µLÅ‚*Ïn‡a¥} BtEeñ¥WÞËÞUjNj'ËœR~—À¸Ç½B–„VeB™a»¼ÇSSÐm]6t“Ò“ëÁ1ñUíYos Æ€ò#­QÒ…zqnŽÙJ|Vyå©™” ç7SóüÊ@ÊÇ›Éâ>S¥™ïƒÁÕJ!õ€ñ{TAˆãQáN·AÒ2#žΣv¸f¶µçÌ-NMáe»f#5Ü[êïôËŠYÜšîÿˆ¹îh¶j•øõyx›ð>K±õX¤h—Øe ßu™ÒÐÞjÅ_áãR­- oBöžlNœì'÷ܘñd#W6m›¦—kžT:6¯Tï“a¤WdŠ“P~¶1$^xÑd€¡ÍMÁsé‡Ä—Óé$„kß1â ÔOÃ4’ëùb5<{;ý%0Íè1ä˜jR(ñÔ ö°ùµaI{šc¼×aŽ‘Ÿvz“H³—ÊÌš¿\-wë@™¢îŒ¦z@нôkµù6ìd)”ÑÐAå3â©STzBRqÚÁäÀîš“0£¿gä 5){>(‘/ýòr€Á’²X\x3)"ðÆ'ŒXǬÒh׆@`¤'ˆX¹9¹€C¬êêK›ÃׯÊíç³$Ý'©`4%PeS޵\I/h- üº!çŽzÎ?x6|lÀKT>K.YÄF‰Ë;¸#†€º&úÚ“*—2»0[ˆlÞn¥‚£ñg"nqË=“À]fInó¥² PBû‡Vµúå’Ñ×qþDG©z7,Tå‘͈òs%Æ‚jö+ 7ÄœšÔ½ªùbP´ÜÍÞ›øñÁ¦¾uu»-0šŠËEóUä͘'ÉcKÔͯaHÊË<%;’Q ´V®1óÿâdž=˜kTù;5•U×Þiúcï/ªN&·ç{gø4Ô4Ò’ûÙ½#|‚~DT» x‘}©á¹YýxÎèoéï¶:rJ°z/Ñeë(Ò,WF¥Ï½ô»è»lÙLäsí-ãÌ2½vŠX‰iCo5Æ;âX%w†ÑØ_Þ¾Ï%ø›Lb·Í¯}hLzä7öÒü çbÊ…» 4MÓA²n~VæÊ‹Dwù‚Èy`jùIz¬*º´ìÉ"Ñû Ím®‘ Ôˆ„je„›½Iö3[)7×[?Zµ5ùn¯EYúìLÈ›>Ó3ƒlRtç¯j³Ð' «—‹ž+ÂNÙG¥€“÷Ÿž€ê0z±Þʼn«WÀ£nÛ‘nó¼;+Ôâ®îPÜéM6AŸØ@–[Œ–ÄÄl'ª%Â#< :u) £€¾d“Âú¾Ä2ÍÊ£©ÎÞ|ñ ‹‘dNS¾Ã›høcód'•zu{¤‡i¥Dôëýçϳ~2üòuÐ_à >q׿î³k '¢Jçév Š0! o …vǽ€\Š£ÖÇ#‡¶2˜‘²®épH¨¤›ûk²~0’„('œI,c‚V/˨§Ý¢} C):ÇõŒ%ýl´^:(;à§Œ°ŸÞèýùv4¤ÓóÒQo¬ ´¯ŸÜ?2ÌFY9ä#léÔj#ü!*JŸ°ö¦|ÐÈ…U_œÒ×è_7DÅî{­43c³S2€×S®à}á­è>àu€IlP;ɦLýøÓzcÑ[˜²—¸û&8m~‰Hj*À¥èc€n‚궪ñÕMòÎN·”]…tCnï¼ûQÚ0Ä}°¿þk]7FCù¨¨vç@‰œû)-ƒÊöYÈ•¬çZÖÓ×tïq„{$VÅIxßl©Y€-¢*óALGÊTMÏòÜ^ØXE fhXúDòDêŽC”Ë7ó4ÛBdú X;„ñé‚Ò¸r„îzR™^›ÜiŸ!h2o9Ä" èS¡îfBˆfvÅ^¢]Ëét{gºIiŠÔ‹¤Ø´–nÖö)Es ®(ËŽ-•ŠÚ6_—©‹zº:–þj*q¦3VGŸ=âhY´þSª-u6ë¯Ã<…l„3ܳò|†”y(÷òm7 ‘h¹!½Ã?2aîžIìRÉiNÇ "-}€Š<*%–_ ~Þà :ù¹—ÅÚí–XtÄ¢}‡}<”Áy õ©ØÎpŽ •šna­÷L_ªgîTú` 8ú³œ×Õy¢qÌ‹ÓP?1¿¸ zÓ¬$ýŽƒ2ˆÃ2”|ßëlfä$‘R×Uúç–øb4sÇlâ߸ÖG!L_¦À]¸Ø¤o¸…íÀ¨˜a›³Ÿ‰YWhÇê{°¢³iI>JDög:äÕ¾j)o«‡0ª_v$hN¢F̬ÿ§Ÿé·†>Œq„²RuÅä‡SÅÙçgb,*dp=O7¿+…éõ!Êõ½YÜBÉ–ÈtÄ­Z—K¦à.nJúwT\4z' aˆQ+ØZþ%$ÛgKÏåe@NŒã¥ _8襉¥éÕaq³{tS'½HøûÖùxDÁß݆¼ðóD/Ú6’;­ÔÄʺ¼m,ã0œBÈg`0 WÚúÐ|AÃöþO×¹òõø­á‰“RïûFüêÕX2ÛôkæOf”w{Ž[&GO—X±(Aˆ ˜˜‰î ;À‹Kó¡dH¹ÏVµd”M' ¾•1Ý\œÖ&ªF!®ºcÿš^©'Ç>¶û>…Ô±²Ðà°"k°˜§KrNúšÊüš ®»[oR⎅ðgŒW6µ Ô‰ %ÙüĆ4ê<„WÂÁ“k N(M÷¤ëh±kUdçšè‚ÚDÙûã@9›b ³?¢#ÑØØwÀë0–£ýÑŒ²ü;±&¤%@ö$èµ÷†…·s«Ä>q %äÛóGgfíÌʇ ¶ S’Ç)6¤[:ðë9=þÛ&N*gÞœ&žæˆ†é…5西ÁV\fv´‰úˆ5Σs÷ÿîùÖ~>­ßZLŒû0òÇ<¤;ã ŽŒïDói´6Ålõl¤Ù/lO|Õ{Rí Ïíq|póÂu§â•”k¤IG¥ßáù¥§Ù–9lµ‹ùZdÓ;Ϩ/«Ñnsú¯á^^ߺŒbrž×üW°Ýé܈Î]Ÿ»ãþO‰fLžši€¶²|BõœèõæôjÖL”#©X¶@kÎôßLû-s¼jR‘÷¨×¬-]i¢L?ŠL\cÜëBm±@U€eø\XIÀc¾79w¿úã~…R#ÿݰf-•æ— 4]¾xoŒý u†8PÑr·þ†¤e‰E^Ýœ´~«œÑ˜ìuÈbhÙ+ì@OBÜo´Øƒ˜OîáÑà<;Á)@"©OÅósƒŸïÒ߉íÍE•‡åÒw(}çÜè2–þLWï°`ôi¦ ôn½a§Z¬IƒÌF^½áúf؉4¨ ô¹B[p‚Ù¢Æ>·_ u}SÚ ©ÔkŽC6)öÙ.•?ìM*A›Ø‘;°K²ˆû†0Ê!p÷ÂÔ½Ûai^êz’.{ÆžnøÔzC¼w5akùÿ- Ö¿Ë¥F]Ã÷`èK¼ÅÒk;žTÇ9‰:$©Æ8ÿè—h¸ƒ@3P,F ñ‡RÊdú<1C”'¾¡*¨^ç„ÛCÉCS0“ð!òtµÚöÔÙ‘çMOÇzvðŸõ=ÏŸoû—„•Jví4Ñ54)·ž´-b¬¹ñ›v1’TáC\ˆZW‚£bKíéÄhZ°ˆû÷X• ý ï§9Å 9æ¸rvêò‘“¶îIÁŸk¤îYçα©åÂßUˆ·Ä(IÒršÛùh6¯~¡í÷±nþ¸Óù)SŒ¸¾–%6H.E+ë¸Î\ ƒóe!#:H‘–óÚùrŸHeÇO¢U“P’ŸG>dâ­Ï¡„QÚñÈ‹p:Ûþr_D—î|‚RÅõ}+ÀéT}h un*Üœ«¢ ¹‚kî,̋ȒÎÿÅõÈS^¡Yy•¶WÙQz«Œ.f´2þçtM®0JÂùê¬é ­šÀÒß7mq˜ ¡¡èw¬"(á‡Æä¸obˆ9þ‹×#¤naªD‰úòAÒ,ÎxÔ°Ò? 7™ôæ gAê…íŠÈÈbZ';T¬íŒð-™¢ !›ðĸ¹s¾a1Òß@&ŠòÝHV«™²—/¸'L˜j¯GrÂu¡Yº¹Üuè ›óÃy¤”±v{—6¿åGQÑ…î’“T‡¬ZÞ²£Ü¶×è Þ«ÿhNüH¾CçÛ#¢Ú/8)=›>û Wø6ø\1‚ÁÀ²Í«øb³B¾À"Óى\îòý¥ts(ºpÍÞ&PØÔ£Þƒ£Õs™Á§ùxÃ’èR½DñAFÊø]÷d~¬[ª\ÅÙè{MÆ…Uö¶X¶àl©xÙ‡y:;¡*ž@É.ÏôúŸ”~ÅìX6÷ Ä/y|F óÏ|+5…žÑ0ꔫ¶€,³= =·wÔÑ7 ˆ –lП^—‰JìÓ\?Ê!¸JSKMÀ-«ÀÚ®…9^M‚‹ [æ%Ãä7õx©ÕHðeà/è‰iî<ÐÛ?ìÆZžJàótk|XÌóÚøÁ#}(Ž çüÑ•¶SV|U›ò9>¢ýòbÿ¥l#Ž+rØ(”¢jT‰¦7¨1[ìÐÍsjñ¼ŒÁÕùDï(¬„ÕšngÕÿ7Á£ÈXM/c<¢hñä¼âaÔù{:{l­Þ;!ãÏï Fèö¹(Æ%zyT®rsÐê ;‡¿ 5y¶SÊìrÖajwéiP)(2œ`AxeDf½|_C©×}ëDGÊ¢aÏ-†ªZdz“Ziñ@¶¹eí’qpOžÇìëŸÓô‹é¡SWÞ¡ÕN'muÊÐ —œC÷¼»"•ÊÛæõĹCãZäiÁ0ŽÊ4¿ÈïG/®&ŠfÙ•Îã¤ËžmïìA"ÔË®™âAPv8SC»÷-¦ÍëØ1i"e‚0Ƈ™Ôu©8QS²¶xRꔀ Ÿ´jíÏ„ë¯{[îÍ q /ëÙ½Ç/ÄøØÏ1s9þ÷_-»§uáªr`«ªÙÝF óÇ”ƒþáÔ´ù±='až²¹ÜDšô¹uÒ¨PŽ0¬Ö¶§¼Ÿi!øWé8RYvÝ:Kf›Ðõ0RxÏr$Ç´ö MÉ}©ˆ¥7Q~Áï(ÃTM';:…sœ•ÒÜ1sÿ î«ÐýƒCö·×PÓ·ï½¥½Åòo×…ád»ÒçË©Öm2Š×sf0 ÕŒNÞh1nh½@¼N¥j*÷ƒ {ÀÑS‰)á”Xõh;›³¼80l ÂøÉÐè)j;jük(å0çÝî;ƒ{´´ß w`[ÇÝxÚàK›ªÀéÿôL«ª¥Jm;ñÛz§žËÊ~ÎÕˆïH[éÀü0 â¬p…VUN>òýË5ød¨ù³çMZ^0c¹òû(QsŠ?—"ÞVKõtö«F•`VèÒäô°×÷‡õYT­C'†ð.ž÷€¯ÉØ~ ÍÊpõ@«H&½å³aJ%à3Ž+rv •"ἂhFj©4Y0Ct)]¬G¯¡bNgéiÃ=. Pý€&ËÝW²/Pq}$QSûÔ$Л–ªE·uã$•Ú’`©õ„=¨±ÅµCïÛ((°4šõx¹ <‘qÜ uІ™J:м¹òh³N0@?¢TÆÿ†{}M.ö3`³L ™äŠ„@Í?2ÉâªÆÍ™½àRÂs@é= }6Ð 2ÁÓ¸r /ûUR(¤¬s Äjµ£˜ °”i:‘3tÏû:ƶâ–ƒ´KÝŒ5Wȹ4!øâA«¼mÃì¯FRÑáýé×?HŠÅ;ö:û“žx€®‚:iQ´vW˜UòÉs>d~3’-¾­0â»&³w¸¹Äy¥Zf¥Èธ Ãýæåªê:¥Öž }M–ã…ž¥ŽÏ%î9圣댜E@§kËå¾ÎͶîù‡Ð#(—oEÏ0YM%£ÄI¾-weÖÚ–ãžKY&#¥µ^g>ñ>9Š$Éå·Q÷1ý¿Ä“\b>ðìÿ±¦Kc&¢™(>n6J›hëeRÑk ®œpß§B²7Sþ¶+0Ž›ØÎét$É]0-JJ±å¬9Ò'šÆd.ŽÖ}¼Uj@¢¸‡)¼I&s »£'ΩI­7L×»8VªtŒÿC4ÕÛvDky~DXÜÚ•‹-Íèô€òD„@4XeýÎN1¼Ç)“z‚ÙÄñC_hÉ`£¼½8–S¯ ˆËžuéÖKÕ¯!´1.Þf6<ï¡õó¡.Ð|kË!™ø^ìZ/†Ó«?9ŽßÃéaxLäâÙ€¦áSëû?~, ƒ—Ýú]Ÿ/­†Óñžgu«:ƒÐ Í‹±õ× {Zz½„0T÷–‘ù4.Ãrƒ$a”.{áE ·'T †À‡¥]ûì‘ö\ú!*»cå¾ê®CÖÉs†1Ý«1ÛôÛÖ3ƒz¬6eg·àSA‡@£, µ5WÎWý5]3ZeÊ`ÝÉA.ßxŽUè8žîÕi~7ô×ãv‚ßæRîu·2šFÓ,dáßògåùŽ0ÓÛŠ¤Az|­üÛ—¦÷õàŒ¼>|YI<­ìBdl¨ÏÜÂm™©Îá À)æWf »¦%%;P<ÚÀÙǹM© 6èî)áˆÔ²‚<’¾ôùŽÿâq·g©9Q˨B Oíñè,¶g’­³éTxØršÛ¨è]9VtrwgÖGt;åŸDºâ}’rFË\ºI¶yg°%¢He+péÁCÉÌ;W ¡:7º¥×bIþ—~·j3~QªÁ°k1eÒD&Õk¥Ü]vÊDP¼»Ô™Ëlš"§–w.Ý«9³©±œ“¶îÑ_xWÕï¬ðS×"eš!ÂŒUœ_„r 7œCež:µI>£´úÝ…>n¤Ì íèÓŒ”Ä󮂤ïéSJ§L@›"[ЪS¿ØÐv¹¤êLTQ7‡§Ñq–7júC“( N<2’D®Ž“1‰59=êj .ÿ«H[«®IbûÚär_ŽŒ–¡EkŽ[ „>¸º+h.‡l€»2xO‘Áf$[×üçIÙÙc5Ú¯} õ8Vé´8íý8WM¸M…¥Ÿeõ»)°û›Ø­Ä¨þ³-R2_ë¿¿éÖçïÑ ºG£’6\ÅÖhSOúr¯Ü”AÓÐÄ•r^SÀÔ„&Ò€p¾¨ œ³¼•_ËŲI*ߎ”¦,¢¿Xƨ׊ FB^Ï ¡šÌ…$¨¢¬½™è€v™)xn˜¯2Ž4¢ùˆ&wƪY}GOÂfR:,!AéÌÎ:0oût<¹gÏR%™‰Úæ ë‡)ûÏa[B+Ô Ó¼ýº‡ãŸ[ë9 5@Eé$9§ò-˜oT˜à%gˆTZ_Óâ¶8<ÎCü&™£S~¬oLX K×u®ƒ¯ï ;‘«YJ†©ÐT óâ|…Z'´õ Ü•’–¡úeÁ@]Ï4(€²~ÕΊÚó%wD¢•à==Fh‹Ú“<õ“9ïåy_îAhJá¸ñ‡œü›½ÙF/‡öUÊMæ³fF¡Ic C¼å8h§ ¸vB‚ó)Á¤Q,­â½ÂŸËUéÜö°j»?ÿ¦Od€¯WÛš$®¡Þ¢½6:oq»ZÓX%»å®„»ìéj‹†ÁöûDHR"—@÷©M’&—ò,,oéƒS§pI.ÅÕ¤iØÒv¥xî‹`Е•ëb-ÓàáðÆÜ‘rМÂ剸óü‘d0u?N#*iæ¥Yz&ß]QrçÿU;gÛV GÜÎþFÕV¶Z%¥ÒV놳5Iáp¿Gq(LvúkC P‰dKã6<.*QÆpÚúWXÞ0´O³ ùôå‘«íjû;áæßqÍ\Åue‰y}[-»Žï÷Ú±}*Bœ:¯¨o¨›™†Õ!do{ÐÚÊAÈ‹Cª4†q·å;¡cNÃÕ ÕcÈH¢ œ<—üaß¶ü›þ"2Âè4Ðäšr{¸ —+…‘Û¨L¿–ÂFÌìY³àx¤ò‹hb‰©TêÊO ß44v‚ˆê*+YÕo8ÿRè‡ÊEhÙ´lVô¡W)—ßIïÙH£sFÿ ðÄTÑ6Œ¤¡chF‡âh‰Â¼`4@ö± ¿Šç+ “Õ”Cj C&}ë‡ëëõœ½šöñ!L®j´˜F3gýâfÏd¾:$ŽzœFšã ù§…[rL¸Nw ö*ñph]qísceŽýûò%d/Z®ä“M„à£5•ˆè\WùóÎüö4`Ö@ÐúHl\üªq‡4µ— ˜ ˆ½­·‚Z/” ›ì<À“_ÁjÏ<Ÿ\Îð;-·´}+¢_¬Êw8ÇÙ áäEÇfUi®·/ñÎCÜ/ ¾|,Šæ± cûC›jyX‹¸_é>©Vö¿Ε´(Ÿ§TéK¯\Á2×+Po^fÑë$Á攦9ŒÛà¾lÞ·¼À*«­²|R…úHïàZ%YíÕMCQ™”´ºÍìôú)®AþÜ'¬ƒ7‘23=|>VY™¤ËÆrœl«õp?¸,RYjGˆ+79pÌr~”ÄúyÄ7EëD݈^?Å´fE̹ãv˜§Û7:^u¦×È1°“9õµÆŸªA¡ìl!vçq$µ¬¿Ÿï@qÍN?‡Hö¡9'B ã‚›Xé,û‚øVйÅX¿DQ’íª_ex9lŸ‰ ¦U Ybu{èFƒc ïgÚ1ë—÷¥ñ;ü!.Ö€¦vÕÉÆÏs3ž‚-o¨¾à[±ÙH¬J‚Cž)ù‚àí"+…xg¯¬Ää‹§aíäu,eñfê»xÜf/f߇ óªÔ½Ÿw »Yk$êZÜSb)ûõ8HÁ–WÍñXÑË5o… ÖpiuîpC?:?·¬0Ýÿz|Ũv.剭÷ÖÆ¬Çá–ðhÔa»A·ºš×ÁÕGýß2àXøð þÿ$®üÑ|ë€ÿ.^²µQa¥Ê¢ÏªÂér%€`½ àK.ÈÄ—f}}ض”à‡x&X„TÀ¹Í×Ì"+Ræà”š±»ùÒŸ¶$õù´jSæÀ4dÇé©©”÷RföºTü~{TE øm×vYb¨¦ùÊY‚@ù¦ä¡‚^˜nùV6²Í«]`é¼q„¬`È_Ðæ!Ö¿ÔsG¯ýºÖ\<’!‚Úùîqýfü”ðÇ|“Yp•›ûƒM"ØmþIÙ]ÄÐÊÅ*ïòb¡­¨%ײ‘Ä›3 ×?®- ÁŒ€á¤®*©“E §…í%”‰†ÊŽžE5Ľ6½¦]c˜„,µ¡FÈÆ¯dþb'Þ‘]ÇÀê wN7ׯS kDTì¿* µ¡²¶`}g<þR«kß{¥k¥i·×¾ëcJéŽÕ3Š ú|á•tàt×uÔT‘ø ÇêªÃHž]PÖysÆÜQûe((¶,T”+8?kU`”crÆZàXk¢VÂŽþæÔx„kÓ¡œ§“Ÿ†l}* J5Ëè„'¶Y&:×JïŸèÆ´óǧl™8Q®`––‘_Œ[Tšd4¡ê_$âOfd¥ ¬g”‚üo9—þÄ<¿±Ã.'j)€KìD<{^:â¶ý wSQa=1[´!~0â‹m¬äÏZiÀN^{ÒGc\ìÏ|ÙRc𳇙jã)‹µQÇZSëÓÆCÕ#êÅk0ÃPÍÅØmƒ6«Š©Ö™®k  î9x¦+ú º‡òuþ‚¸lžœµ*/ºÍˆwvjFQB7CUÀrh•¨ÅÄÈ-ö–56#j£œäо ¾MÀ"…À‰® XðMFÌ’Ì5­Öt6Õ3od´õ,isyN¤búaоVÕT*Ø(‹œIaÇzE¨Y}ÅQs¾‘>±µ’90"OPè±ÀòK÷—?Œ].ì‰Ú‚2·”F¤ÜPojÃ,¸¬  ’ÊË–õ¨–°-uFüåál;q¸öýÁ臔°-ž|ˆÓÁèèÂ%hâ V€,à¿Ëù•¿ ©S;i›#¡©êZIèBÎxê|H‡é-Çwpäw¹ùÙNAÖç°_3•ë Sš¢£ÌR,üR’Â!ÐqàùZŸ®êgèTEБkÆAÖêú… ö I‡íž3s)€y´qÜþ{Ì ¹j!§Ì*¦VêÿG ÍR{Ÿ¶™‹¦†r/ˆîÄKþQB·O¨“ħ)$ÜQÁüDXi•¦[Ù0€k|Þw Þÿn˜ ð÷ɶ`Õ!Ú+Ü.‚bÂ?w%éZ?Öl³þCŠ"—o"q.À ¬ì¿òO{ÜñkÐC_g¿~Ä¥A„äm5é-© UÂ44¹sܧo±H‹ù2ZY—Ì1Öø”_¬(¥ûOW0Û…š/hÑ÷6‹Ÿr%9_@Ûãã/JÂz¸³/XR5Ëü yVžŸ'¶;˜gè(*Á—l=É ŽH°ßM&1Ùh A*…ˆ¿¡òÔ¯sY—àiærcƒ$WÇz´`ÿW”Ýõ”‘ýòzTʯ.9ÐLä音†,] l+%|™Þgip®êNܳò•¹À¥ÆOûrütd8nÏ|W¶Í7?Ò õ°P‹LóÖdqœ±8‚»3†Ü>RöhªåoôÿŸ6Gq…õF?ð8~‘òTOÇÂ.Z0±™‚Ï,Ú!'!)eO ÑÐûP\ŸrÙ–š¡muÄ"ÝvJ׈jãaå _Þ³‚,˜búpNkË|šÖ´7ä.ܼ‡î´ô@eãwÆñ¯¿œµ7Œ¸¾‡…×úÈ[,rs[.¨“õsõʇ]B œU< Wö€ Rü„ íÇÆ_¡–¦\”·µðZE‹-Á~¼‹æÏ³Þ‹Îï ’ŸŒ«âe™ #¸ÿ4ï.ã y9X8‘4Õx¤T;ˆ¯ß[œøÞc—!Ûï¬Y?`›Q`'¬üFq«ß%w–5(‡§'¥#vÈ_³.ÛÑÈŽ£ öˆªôÇÅÆwž¤s½‚i_?i¿í9…5bI„*CJ[†gÈ… ÌÿÌ…Ç3…Yu¥ý1ÓÍÙMõÛŒ#0)Þæßê¤eê²p¸-~p?Mqõ®ÈgEÜ _9ºç‡Fmõ¹š7[xIënÑazªN?RÍ|ev“èPr@½®Îaÿqö “ˆ,©Ï/å©3 æè±T’i`æfš\|µŸI`çÆ/§[Ôòê2 Ù®QEë6iwÖy;–_†É–ªˆREøx`ê¡vȽèQàFÝë~·¶v³Í7a6b™4ùŸŠRÈPð£æ¤O´X¦ 1Z™aEH+“N²·‰]l+l [ŠÑ–ЊXæ#Âæ™éQi.¸Ø÷qT-±Ëj€U=À>hÊÞßwœ˜#izø´¾ÛuP—͘¼ýFÅëݪìµBj‡$ýh•‘Ïo3ÒA]ý"YJ%T¢ª½~;˜y.« ´RÉL“·HÓ²V!‘YQtï•íNê^*Ú×qŒî¢ÅŽ«Â)úÂC%ÙiL­°×se9*„‡pøC÷îv;×Äõ[>Ç Øûo°“ãØËX „@äNfÈmº·=6p·ž6oÙÚ)ñÞÔ:h,’€täËÓ9RàÓ1€ @FªKêäïçƒ8aƒS8n'{þÅ™´Å“ä„ÝW;‚ÕG2V¯éq¦Ž×7­R}¿©íq•Úã¯À¹¾d¢‹9Vˆ3èÀgàŽvo¯gÀc¶‰>ÚZ5;†÷ç›­VB‹‹Õñ5‡Ý}¬?ZRÆ/ò]•ÉŒoõ`Y#{£Á% **5‚ü¾1²ÛÛyN±B$@ûöC!Ÿ¬(>PÌ~§[³:ïç‹(9ùõEZ'ï~>=í&ÆZ 4™k·`„pÌМ›‚È{åÈ&G«äŽl'ÊÓµCºB(ÆÇ¬²Öä/N„ÎÁzry‹…Wp8‚Ð%„,a9Òv N³+µölµÈ__¨F”8+Y±íÊÇmô޾ׂ5äí !J›8&¶[øåÓÈêËŒ ’“àÑæØÓΛ=ŠÃP“‡OJ#¸ †ûÞéeÉØÔ4à´"M"ñå íÕ*üœåÊNªû0¨]ªcL]’AdwÃ’Þ(šüV2?wŽà…*ðÚPøkoÄ$Ânwdöáp’øò®¢ÀÍU®¯ÌH}0iŠíæëþsRÞ}¢4”ŒÈ‹i*ÝÑŸ¡ònʤ€=p§ drÑPP† ý|HF 핉¤ëƒMù›wÁgIí¶bgÇjf1mñ€Vjòø÷euárßñDØñœl'P›‰3›‰mÖ…@ÕÐ/±D¬ë@Ugu›Júá }y¼ƒ1Î{¥Ÿ³7ý¶µ`P¼yùýço‡hhȹôBXÚWÊd«Ú;+€—³ÈJ.µ;åvv¶áª"W×ДøÛ︧È?8·ÌÈÈy^”b¼N0|){Æ®þ½-hù6wÎ=|„ÌrRåÉãyùÄÄã¤ÌqfFLxßÓà “ýdÓ˜>¾'Óýÿº?cˆŽÐ…ùJ^”ƒ3NküÄSNã õLTyF ³ˆgÿÁµ;8˧ô£Ž½¤îõ•º}·} …aaC›ÕÒ2˜ Ô± ª‰áÅ:Cè…F¼äˆ÷šF³„°wù.4¶ûyHÆ2.Þ×wóÈûøœZx²‚T± PaûiODïä¿Nïžlf-GÎKÆ7[;ĸw²zžÑðßx²Ò!®¹2.€»dZ9„œór±(ê*F¶Í0‚/\ùYƒˆÐaªÈd¦ˆ‹-ÂFÉ% æ] f°†Éñƒ(„ˆ6ÎXë” ØÔz`š1ÃÇÃM¦ùO¨5ötÜó ®l@lKA¿Ñ ?; <ßžâÞ?Û4ÞúüP¢,8Å÷úzäÔO=ƒ1À}ZWÇ]æÊÊbll2ô%˜HçÔ‚³Ñ3~ˆå¦qþ ˜ÈÅžðOeNj£¿:b—š b—6!“Ó$1 ¬§ûˆ¿uKÁï.ç h]%ûüëÿÍ-5îO~K ÉÍ I'Í>é+lkTçøÈ2`LtkÞ~,ÌFSzÙò²Ý Z]›rP½#ÿÀí’ ;OÄ …¥>kî…«CÈ0šPD$ÉhYìR+ØÓ¹£L¹Ò»«1©èT¸"è˜õÀÍŒOÓ«–†qH­9ßÖ¡§ßÂH:Fnîm¿µAJX…Hµ Ò:«ð8P¹=Q/ˆ¡,¨t§fWö*ÖCìòŠy•»§o“‹0‘ãc ìûv!–àÙD[P… µÇ ‘•ç2Ñ­»O¡p†_vÒ'ä¿ FµA6ÑI:ºê©Ö ÁÝ¡Žÿô¡ú•bý åuéÙa•Jè^¯:´½‡ñKÍ´µÖ™¡]Gk‘ˆ´!=SºéàÜ—©œ­L\Mwþ瘑U¾d gòÖÐk¯-®ÊölXŸqTkT€ŸëSÎŒOûbq–@Ð."Æk«Šèšk×rÑF5è¿FaηԀ’Œº7Vpºƒ×(ܱ›Ðœõ¶5á©nÎy/'š Iksø j¬Cß.›Þ°³îšû§ SÄ2ùÚx==7QÎ1ãIiˆKhŠÓcy ïËÅCàŽóí¤ø@ƒû;ûhB3ÿhÁ§qô)"êò>›Ã–ã›$Wï™#ä €Õ*ýŸe)ÇFXŠpqÇ*÷!7¡•âÔ°SÑÁiu…ŸŠ>ã7,$G6üå*¨T–Ùܱޖ*ÄŠƒ|óejÀù„B…:jOrýƒ(ܺݨ%z7/ÞI{He]ÏãæÃt@}E^›Ð-¨kI¡{[‘URÇ[¤Lõ*Ú›?æ¢;Tšwáå¦ÛK¬ŠÑ˜í'¬ì½Ï Á×ìTÙR*r@H\:­»šæäL±qZ ̪*h©“Ì+÷í_å »M›•k›º©§2ÄóðJànÏŸ±ý*z2YØR @ÊjÏ. Ùús›Zgô¥ò~é’Ù,TLXoO‚'ÆGæº;›&â¾¼xNzëKãÇÙóŒ÷‘åCREþ15­9hÅã̼1W\S‰G‘Ç(Î{ýB¡5aC¥À~/x£®ÌÝòø$`çþ7"”)Ÿ)éµ>À—t".öM*¨`çAþˆ<Œ ¤X6þÁ òqwæ>ÅCxUm‚êi4y¸ jhäÖ½U3,ãŠp)g žHêÆÓØ bȶ!S<>±Ž)äáŽXd8‚×*³¢·Z/}~>¢ù¿9t°át^FS.+> Ý^0§.¶QB=ìÖ€–›¯bà6T­nô¤Û/4‰ÜB,u[F¿ÌD… %Ý jb˜âÿ!j¸ÈîVê Ô9£¨325Žœ†Mh„øòõX Çxd‰û á¥ !×ËvËä“@¸jË1¶ DÐhûN@™¨Ýo&’y ¡ˆ6Â*5l´ž°¾Ã˜öšj@ ×!ÆÜ#Ãþ¤#½>`>½úR2w> Ü„°`ÄócÑòòCÝGöt£ûÆc[vXÇ/Åu_î0 ×Gg·[ŠA+¶Û‡‰ȉª6:ÿž²0£4øÓz^^¸ÖEÇ€î˜AÑsáî çñr" §Ds›aÿ÷NU‚š>äûñrq›Ùn3÷ˆÏÓ£äv¥ÞhS\–£%/ƒŽÚ×Ï_<˜ïÔõžßÏÝ[v“;9ËßÒˆK8Á;,*Ì¥á€Â MÏ)—É–þÉÙI¤A´ëlÌËÎØVJW‚ õ¥: È—QŒˆ¶-;;fÈU¬†›ŸÙÏÁzQÀ  ›®¦î òjÑ$° ðÌÇßៜ.C¦ÙÏÍ_ø¬¦2¿<˜·M5PœaÁ™9¹<ÔÄüñ/IÖÕñ}ä2ª±v™ƒ=%ªd„Cš"=çÉfl$¸˜Õ9C‹Åžft.Tõô¾Xu»¨ÜôI¢`:·1¢n4tÈÍ¡Hj*§][6ü@®<¶&±UÌ^Š%˜àŸb3 Êct­dÒÄÕ,¿¶‘£ˆèów‹)ž’K·™=÷]CÃÚôÝën’³¢Á¶([¼6‡œ[¯ 3íñ‡’—E²®up–}M.†rÆ—=:pßA”H¸¢v²(Ý  æàV»-òÒJl§§‡øÞ;—ÌQWOMœˆ”]ŸTÔ¾ì`-n…wÿЂeá2ehHV4(ñ‰â×Mμ×T&(ZÑb%ÔÒ*;ú$=èé&Ù £Kz òšÛþÌ{GìT÷…˜¢¬_E`&Θšá&úEÀë5p’Ùléñ0c¥ö]Üqyèˆá0Rä£ù}Ûo:±‡JÅ,†¸èùÓ!¹%<åÆíôdr¡,ç€eñ‰9ÌZ¿„çOÍ’K""ë`z[j]Ü÷PŒ}Z)´^$+»Ö .ø)]Ø ¸ŒDCœÀg‹'<ã1S&÷ I6.üoƾ&'N™ý0z ƒsÍר¹»§Ò¨÷¬Ý£ÆÍ30éžy.°fN›œ2§~Bã÷‘;ìLLÙ i–û Æ6½A§Øj5Gÿ3ÒkSG/_Ø=s¯á(½¡~r„„R±†=&Y^lPíx3иéä¼´ þ²ãŽÒéögÈ?FóU%`ó ³P³b(ÖVXmÂSç]F‹Ÿìójå¶ð"6wá×Áº «tNÌŒjY#{É¢ôœn·¶Ê¾]© ÷ìÀQaéE-f:Å·ºÔSº ”J®£×ûª`#Á‹©×c¡™‹ªò(Û–z&ÒÚ(_Q •õÿkÙÈ/ðJ—½Â³MPÔ„WXMnQç‹!Ù\~™Î2«"r¾Bç-ÜüÞå³4PÐK¬,ÝZ\»• èå']ÒEïÿ‰A\‘Ä‚è˜Iã~0bÇ`hó*F͵¢ÂùØü«ü­„—æá>>'쮼;rÚo°W$¤`èí‘Òû¹+wÓwÙx&ÔŠEm½WÊ ih‚Q~œ_ß©»=.îÄH‚Ñ»˜ÆÆL-Ɖ:2o³ÐöŒüÔR¤mH°I'é*-¿{S6<”±hÏ÷s{º,þ´c/刘R¨ˆnï õ׊8ð¤Òxe-·@Îe]¾ÚßÒÂÙ<©º~l[xE’‰Àô°)L„0rý IX‰© g{Ú$h‚T|ù¨N!:1²;"é¸ìB„ñ›zC€²ý¦æüÓ}"TÂÆA†SRÄABãE%@3m ö÷CÊ ˆr¼ÌZE~±|þ2áíÖÔ 81¹}vI¼aÂâmãÊè— ’‡òÒJó<­Àü+ûcÅ”¥T x@®ŒÁ©'ðÄä#IaÌĞǥ_Ηµ´Rô•êXQäÍ3@Ä޼*oþ®÷öÛØ¥Ä7îTCà/Endq€~“Úå‘´±$o0v2 ŠÁ`¦"‹—JÒõ ùåà;C2¹ ýÖGªxØXfÜÍ o ×Ñõ¸`]ä í½¶ MeÇ*ôj®ÂqçFòùA2ÛEŸ 1H3ñ\Wôìp)+œ3DM‘uOßï?t]HDp¡ EœAG [Ü5°Òƒè‹¶Ø‹SñlK;æîúV™ž¼%Äá„-5ȵpï9V2+NùËY ·%‘“ô˺èŒZ@‘ }è“&ž°lÓ#ÿˆú}~LØŠHSÅS˜>¡=ÑFËöé ¹ºÉr(|»ªú J#m0ó8F™µÂ. ±ç+8íV\žËSw—4ƒƒ3g[sfEv‹MQUº ìÈÄL÷±6Êš_íÊDæ¦6øßw§[qºVg@Ž’6[óðá*«G2q5ì–ªš”xî‹V~™AŽ9PNYä‘„2Ù"¼-îÀÒJ>t'ÛRI]V]xÀãÒ’ÃÄ; áí­>%0œòaÀ•eÊõ0ñRx„ñdŒÂ†ÔR¼B3Xj¡ }€ê#Ÿ÷o´¾àß¶ÖÌ?@¥iO/~£h–í™nØlíúË1/ÂÖõ|s¢ »²ªÌÀNyQ[}ý‚ˆ;iûøüŒÞåÃn¢]N@𙈠æ?åËеÏE‡ñÔiûš‹â­Òhÿ„müÍ‘zSÝ>)Ggź¶(®¡Ÿ~cfÑl—ù÷Σv¯o>U©©ž7_ërD²íA¤çJ1`ë´S§ª‡"¯#ÆÒä8»G_‰ó"ù›„†tU«±yô’×e&–)²£Eœ X_™HöBuHc ýIæÛï™G %ÖTS£õ>åUG•2Ì_÷ðãGºH³8“F~ƒAÝ%6 ü·F&áæð"”ÄûÚ,¹" `ö¼QЏçmw¾Â4XélÞ"KfÄ]ú6ž³ “xE P%aßhÎO 4pè¦8ë¼IÔØAdöl¤°y#?²c#ê”üXžl+¿æAÑýÕcÀ5›€J‘"æ0 ¬gY—! }-"`wœðõ—N¯Ñ?.êâ‰aW`'ái†óeµHR©=Á»”ÙŒ¦ÐakAá™i]­Ò¸‚Rr£4¢rZÔb“ÿ`nq8ò"â|ñM#I;Z0ðä³K3›‹K¤u 3£lz®¼bMSkÄû;ú+;•®ô÷ ©ù2#®ëºØF#‘’ƒz±-Š„”X=“b"”8•çËk#SíFõ˜+u%*¤{н1ì9;"ZÀþÝÊ-;íoø’{‰Z$m“à^‘žÛõ}‰ig±¦s…Þ¾.‡7Vey¸AåoM@ û’d"Jœ”slN¨B4E‹é.#ŽÇ]¯H¨ÊbT­üÈSKaÚPe´m!ÐÁŠÕÓwb÷ ,º“=U0Qö²“ÇÄWýÁ²E[CƉA¸Ðbé-乤«'è& Qh´2‚¬]Ymt¨wa™ÆØð×…ó'KDjmV(ÈéÇsÆ›¡¦çK¶°ÿDr žˆuwƒJEú-ÎÂ/®¹3F¥ TX¥Wíg}ïÅþp#,©FØYߨ*ÿ¾Ýª i.²œ¬¤ÄeÈ1å›=­2ÛôÔ„Þc+f 4²™ðÝ#ª"êö̦zæ‚_e%,nwZÀÙCºdè^ GkÂ&ÎÍ1¬#îÈ•Jîkÿ0˜“}SÃç§Øsç‹Ç Á²”a,i~Í–¼D 8‡ lÑZRóëW;¾îAd‰s©2l†Í˜o¼'OóÉ›àˆß,DÎÌò\¶Åž‹×ŒÛV¿}Sÿ+¬ìØ<óX|Ê“heÃCì˜~kÖƒÔ4³ï°ïe‹¡mgZþ$)_{ …7]Òù¹W¤¯Äï(ï– jºÏ&x\JèK‰´™ï³¯É~ü‡û Äùã“¥ëÿ\£|ñ¹Ëé¶`¶Äéÿ¬µ]{äxW6íéMòœ¤u÷ÝÞÈßâÍY…"ovÒ|§-öm]±C酪[ôw’{õÍfÛŒeƒ/_ÞÔ7*Y”ª–³ÊIÓöèÏ©¶1*®!gu›‰a©ë—ö™ßëÍÊcš»Q› }ÒÉU7~!’A{~Í’³èVYJ³‘”?IubcMÓ9:Œ ¬ËŒc=I ßKZ.wRÒIoA*+éÐ *™ðž¯t‚0Þùƒ{^#óÄÇÿŒ³}ER“#î$? ùfƒi9Ìuº“\·Â?Ä0TAr½aë.S]½é¨ì4­árÝÿ"”õâUÇÆð´±D¸”;éA–«x— ƒÒ"6¶¥bïvÓ³C­2Ñq4Q Fþ÷ÁQç’¿ }23QëàÎñ[5w%ñŠÉׯ>.³žÒL}d(Ø<‚WËÍŸ—ÏÓ,5’ ‡ƒ³Ï„ñ¸?äBñ­×óý©çEbÏu'ú=2O #ÓRFÖ¸ˆ¬UØà¤£LÈa£‰2Œ^ìJ /J"ÖÄ7õ Už¾•ÓÌ€IÃ%%§*¨c†Jb’$ýêá0¶'­h¥*  5­ÏZ à¯ÝTIW½ó•gXP‹)kúfê:çµh&ž-õA±0Ã:X¦s.›ÅC)ÑtlçULT×iÿC-´Õ–­va§€eãjçÚ©¨·Ðå…åÝôñIð´@¹¸Ç2ô¹Jx•ßÊ¿[xn䕳Ã{ý äë¸gÕa‡Í_¶f¥HÅ©–°ŒÉŽ4MÃà!I~qec:êæå=“’“Uu^ fd$4?ÂiÛÆ¥Ý(GgJœxuA׿ëܲe ‹Ó0§‰Ì×J®µIYéAëZf†07GÔÏ7q·VßE˜©fŒ ŒA~ûÛøWm–%0£·&(F Xï§² z3\^ذð#¦h\‹·øÏ¶*Ô^)]=^Qñúvb‰Ã“™}䯗[¼û=Äßœžf¿ÓÛœeu'2pY ý­34dö¬™O BZ·­[é¦ûÔâÜ×H/óº{5%LMú7ÃI{ƒ6±Ï£—kRNCN‹F4´[¬¬¶vé8+;¦ž7Ý&à ‚È€ÿÌêyYxů“¤K|˜È´l€Uî⟠8)®Ìä òêm®|üû}­ºk6뱫Z@î•WézOéÃheκ ]h/„0aõ°È²£D¯Ù1‰^­"m¿ëúldüÕ*ô&}ÝÓtÁîjhšmÙO÷"ÊÜ?ò b4o“V†ßßx¤[2 9ÇGdÃm2qB<4òMpÈhZ hÌ5v@ƒóÐÍkÆÍ3SùS8§¶ˆíQÿØåÕî‘L¦W7î*øÃ®òët—ù‘ qrá» é .PñX¾õ!€ël2(Æ~:nn—nÒzý™Dn­Ôé[-wÊþJ5 Új¸p9ÞÁçÞŠœtÙÄÿ’Ý’¼WàÚn dNàî9¤ÇÑ>Ã5Ý¢Fý³u|cƒ&Õ¨Üß& >àXÑ,pÍ9æàWȨ=D¢hŒX‚¹•-ºRú‹«óÂC°Ïž ‹€8cÒ{¥ù©9fKÆ;ÚÔ£uJË·‡3–ëihUI-þ/ sí@{®ëÿZ/FJçºyˆ›½TdôøˆÍÔßÉãAb¦j< Kn —0@E õ%ܯ¥cë#!Ž[¦ÆñÔkO±DÞrÀM]PÕ\ù(!¶Ud¡=‘%e€…dT7 —ð¨ ýžnÖ Öì$+T,ï_ø¾‹A-œïCxCöYkËoþ?¹#úÍ|&=UçÆá„‹-º6ËPÀi¾{" vòý‡r» ‹î„Êk€1¶Só°,å^Ê®Ý}ÅÓE´Ê1Y«ت®F ú„è'ôCZ—ŠªÈ3ö4«ŒþæÔÆ6ŠÈŠ Æ¿ËeÀ·UX‰¸¥³m,–åi¨éÀ{Ïñp®:j*¯?õ£m-nõ‡a ù³®ÃyõxE¾9þ«®ŒeíþÓ`ƾ ¢ÚÕ»¸p ÎßoíÖÿ òŠ,›h˜ø6í¼ZÜúOAJŸó«Mq)aüwŒÜ¥(œ_U ªK ¡€±¾ÕIï͸ß绎g2Íj3AõGëˆ6oìH1\Ð~I§iÖbxŠú†äÎÉg%¶ .Õ¹ñÖ#ŽM÷:Êú\Y'XFbN{ö‡—~o þŽNR‚r–Ñ`¤£Y¬ (VÜ‚>¦(›ØHÈß9 µ6ÖhÅwÒ64t†äën"or†è$Ǫð'ÙÌí¿ñ‘HUZÉ=  $–Ù»¥éí®£Ù=+µ À M{·sû“Wdq®É¡³l˜äÁ%W©¨¿æ2Ý íß$t?)”54¥#–ƒR˜**fá]Å ÂRÍ þ! ¦’=WNûz"@Ñ3~yÝqjcâš%Ì߇TjŠBüêx÷ éä@B*Ú!¿äÖžn ør0ù>™yhº78QžJÕb8ûÖéµ¹ò#†ô£¤býL§ªuÅ3ZËŒý»¬óçÍ7-qè”ò•ŹH 7'rltË.xj °bú”Àk®W~#¦”­NÏ„¥•©¤&î#¯è¢89Óäbè&V{—®'Ö‡ÇÚ¨no¬—Ä3ð5®Ãw,§OX€áZBcEœœiʳXâ;kÔ‹ˆ³¦;¬.™Ó?Çz‰|õ9.L»Ü}Îf®JÎ…3ޝ¬ø¥žØìY ¨t7mÁ‡&âJ5—A[Ψ̆u¤½O/óIë§u y… ITS*¿ÆNü¹¯Vq¾œ’¦ãßq )_kÛ¤»p 9Û\±a´±yéžç .ã{2_òEÃ×/m2±ÌáÑéåÂÄÕ©0‚¯¹ õÍ£»( dÞ/ʵHv~¬t‘‡Ÿ7ÿSîy=$wóÙ»ûÁ&ýNµ¢TîÑr‡ÃÕN^e$uÓ¯Ö²a9¶Ð)÷\¡ÂWJj;úÈ3¯U$QÖοJø8O[¨íÉo$¯G=ç¦)ƒol7&3±^1lôð·‰>/S¦óºéªæBHØVÔ|HIh>K—‚ÏÕ΀p®—6Æ€ý27VÉ–!µÚ2b¨q¾ÈlÑ¿—|ô©ÃÔÒdLPö/ùÊÖ¤„y[Üqœ*õŒKêÞ2óζ l4*Ò¥eÕŽÈü8šz·žám­~—Ýw¦-Àv‚n¦òë©,núåôil£ ¶åNù_˦æÔ½eR}3Õƒ:­ÓS:w?#€NÐ<¿H+Ù¯úÀ TÔe‚Ÿˆ”©ì•-\—ÝÖçç.ëK­IuÇJr›’âñ„çÔ˜òÿ)ïØö´ø nšI·ÍÎÞRÅÐߤS§Ðê"~|‰\{~ÚAhK!\ãœÉe-ó~Èa-‡Jˤ°¹[þÒ¸A«ø,e ?ùÄzÉ©£õ«ó©@õ¢âÞ 4ç¥!«ž±Þ]…mw§öÜÛsÝã_¤*‚SªLÆÍO·E5 Ó{N2Êð³ÊóY{¬}S¢w ¡¿©´*6ŽxOuL!Ÿ1LÏwy É€÷–€N~ìKlY6Ìh“Ím.´Å£]$IFÞæ”›GCß$ä0‰[ÞáI« ¾¨ç2ÿ pzN7;¶¦—l)鋌GÜÑ< Æb(£RïÝÂwŒqæhpɇmZˆÉøÀaŒåÂ~îÙzŸ¡ûD+&2/–6Äk¨üdÁoÒ‹Ê[ŠiÀúI:úu[î1—Þø§3eÅéwWÇùkîùòÔ7ÇF@ `ß_²ÙÓF¬ÕEýÖÿ‹ID¿eN1Ë ÀÿA‡êæf=­\žš¦}¶Š`ùK/Ñ Ë­ÓÚ_@jÕQ6Ôñ4y:m¢þ¹ø¹Cñ‘u‡DH•‹˜Eʼn”±kÓ3ÐTŒmRü"p€j…ŒÜ4æjš(ª."‘ì¼øÀE™¼ÁÌç—Ë`9QÄzs-ÿXs†hOŒÎ¤Çj¹TƒÌM ·¬ÝpÎ \U3²3ÕÁîÅ­“¾º(щiíÞ6ºãˆ`Øu!n‘æM\5¿0Ý ‰€å0Çpçåb­I8Qeéæ-úa[##ݽ‰.ÞB!ßâ8µ@¯Õ–‰¦9(Å'áÜÛ¦'ˆ#½Pñ’©Ú¢/.?ÐÔ”Í/ZTpw!Ùµ9qôg`.ÞTarͤ5†~~êýO/ÖF|/ϸ൚¡áÉK~$oKXy Þ·N\LêöJÅAëwëlsúthsÄl‚Ò§(ß q¸Ù.R`PaRU5M üñÈqΡ¢8‚߃gì¬6ØÔgô'dm0aWR –ƘR‘T˜!r9"h¢Þœôû¸¨AÑaÕ1Ì×Ι·¢ÀÇ mÛ¤W=~a“9ä\±ï“cYÍòH›B k›Ü"û}ùZe|ÍìÙ/1ðÕæ«àÖªÅÊ‚ë¼ÜTwA›óò­;Xœ™li@ýv›P©±{n˪IÌ̢ A©åá­u)s ¿ GúÕŽ¿~D±Qî—'VWìÉ)‡h)††rÑç-½,,ÑTö¦%I‡…)¨çšbËM§X ´Éÿ/`oxKŽîÁ7^pg?à t,²ÑùJx,åç¥û˜îb.« éA úƒR£ñ l×1™slФÞŒ¹à·”‡›m$½7ÖEHÚgr(„ìð'8 ¯Ë~G-@ä[ÂnEî“{6Ü-MI(.Ñ`b®Lø`#5XHŸå+Åñdñž’agØLŒ·N{KÝÞxÐ7⫇ŽXOÓY–sùSî;º;l5~[85¼M1è ¿öhÁ;BÀÃÀËòÜ×ÚãÂçÝmÈà @`Xê&XïPÑ×ïÉ}u®úȉì!ZÁþîmãËû=oÔº@ é'ÑL/F»mqtÉg¯$¿Dëš±Ò.ÆÚ‘òÁõ—ºµz»þ;!A¥cÒ(‰O*”þÚªâ²täŠ7~ Kã™ò;î[+qEv-–ßÛo{`É5û¢†^’ïö¢:cÚO Öô«Æhö4[‚Å´\ì.^Ô/:ŒÂ9c2!îÁ™¬¼NÇ9NÒ"iC㏠M¹©IªUJ6ß‹iÕ Îê Ž wú÷„™éxÝ Ø3ÊmãiðÒZ§…³šTøñ}FK=m¼&ÚAÝäÛþª½ßkq¯Ù í‰ÚpÖC/óXèma!#¶!Ã×MÆ6ã j…Ùe—ªKjrüGr­—cÿknæc Òˆ[?Mî¬Ï¼~‹g ©è–IšÅxo+ððÆÏ-ùç¾€+±ŠNÕçnú®XÙxóOŠEɬç4먚:s:cueRâ!„Äù r81q·ýp¶Oš‘0ö]ê×­UaÉ~o¯~•·Èç(ìVo]a®ò¦©#‚&ë߃íâΡ¹ù ÿ…ò~¿­Òò‰cÀAˆM¥o FÚ跖ƃH…¨ÔFÛ(Y!|=8ÊéM8½¸¢³Z®ÕËÊÅIçˆuÊ:ô­™ÐÉO%V¤LÏr©ü -Ɍɖ],ÀÕ’3¶sèhrîÏ,S@×vyæaÊ©à/`uWŸ)§¶°hÁìX¶Þeµç‘å…Hãº#µsÈÞ%§"ï‚^XÅ0ð߃8?³L‹ŠrÞ1l` Ì$¸%­–ífUÚ3 )t†2(°¹ S%TÖSX'‡˜DúõA™#FÚº£ê?»(ö×Z³È¹Å‚¸f FÁܘaŠÄçÀþºU¦Œâ°à6ùÿ#h×E€;y™i?kÓ“„ogª< cìsÚ§_×yzo¤ûŒ„sϾ¢o&6ýǃö¤ñ¸óà©W.–Å~<¸»©EÁ l'K9ªvˆ‡2à¾#æ—ñž ;Œìf#FÅŽ?e`Ë«d'Á]£°Î©oÅߢõÜ(,º´~†âql÷ÝÙiÓ`å~1ÉŽY½’bdm›¯2úâs ¡‘¥÷½ÕÚVhĶø÷¬Ýo”ëµ'T`š›ó‰]ç\¦ÝÒ0­Nëø@lEZu}TèlBâhPjË mm¥(lXó†Öýq²êªë¬{³eûÏ_‰¿ç ·yp¥› øú|¿ÑZ”Ach(kÆ Þ³öK÷R«•¿"”Kx²¶šŠ¡øt€ëB²m;¸Ï¾ÎsÔÔ†ª {(YºÈÙN $=ç@§aŠBFÏó+ƒ’²ÊİYA¶0y—”¤ìþ­i oY'©èÀA ö/vØKâŽõ‰ßœùÑY߬ܔ¤ ÓÉ›SÃmw5J,¢û:½Ÿ[±Tí¨;z$ŽñשiâÙÅdÈ®d2jÏJ{5¡5ÿ3ŸHè²a }ùÏ]QZÜ0ZG€5Z\3eIzË+t5÷Ô¹)SžÞLÄUUº6#ŒrXu‹”\='~‹˜eWÅ•DûL®†ñŸ±CîڈĤ‡úU›„ŠšrÜR¶°ƒl=ÑÌÜy ìLÌ9¾|MÒÏò73ÊC€ð éMÞ°YŒ;i‰7±J ¹‘È$VrhJšbâ³ch‚IB®®ÍË€.“ZûÑA N-¾‰ŽybÃ%ÍÚª¨ê –±òžfƒËñÌ/Nƒ3„ÇpÚÖQˆ”(* äƒ{Ià>›AÖ•Ë÷}C>«~iŒ¹™©¥§¢Úaίä´kw.oì?„Lbzü|ÊQ YúÚ°³bŒ€ùãñPï$¶°¢Vsöté†cƒvYhlò=GùšçÓ+A’5-³ Â·Ùƒ>½ÆÄq¹îcWÜ!¯Kahò\ÕëocýMË\fpP}Ó“øP'ÃPºúkbn­<"jð°3ª,ž´#ùŠcÁà;¶/c¯ Ì’0MÏÕHOV)N¾ÚôõÈû³ñÎ13‘!n*=LOå(nà1—ÃI˜Ä•fÓ›R&®õQÑØ_ ™| y±£&ÿʼn´±d`G]¡+þPç‡ÄëJÿôs HŸFÖ¹Ëa]*›a&½V.ecÝ¥-„-)`¨—Lû÷yLp^ùGÜw僗E9qC×#ë]}Ù‰%Ê4K*z”[-ú„;ߤ@s}’Ê’zýÁr¶¤êû$x€å‹KäEðò°‚·Œvy‚‘Ì$UŒßì9â”'ªX®ŒGÃAV½'…xÆA>3k“|îüÂv_½r5o¾6GÞx°r[¸‘œ„Bg®@×ýCSŽt’'²ÂƒƒÝ¼–üЪ¨MK„28O BG"›§lp­KuåVPâ¢/gÏ­gO¯hü1ØÛ"©›Nu)IKXœ1ôÛ½’k%ƒòÚYX˜Ù' Z£Ðg"ì0úØEQ¢•G:¹Ú„8S´}§tNŽ%|ÚÉE'7·'^Ug“K šèõƒ-¬£Â_„5ؾ%W‡nÓoÙ£&×1 $b*íšk†áºËn.™Ëßèµá†.t@ K$9o~9¯ƒ?>™ªÕ¾hn) }ëóô})-ý8O*tSB}!+½ õ$u ¾4ÓöÁD-°öžaäw6·S,òFÕÖ·§¿ã,SFËó«°¾ š3­‡ã”fOìuï5)n‚¸j´>zT–¾{ãöÐÚº\óN®ìÎÅJƒD@ܬ[qòï«ù­-ðQd‘ÃÄJ¨Qï‹Ë÷úL›Á·Wî)©€óJÂË·Šl‚¸«}#åË)Ä¡š}où¼kèì›PúÀtë×?š‘z*Òþ"e[1 •bÑûàÖ%qïÂw[ýE€0:šÒ¾öûhÄЈ…™/•Íà ø¥x¡EèƒÉ죀·‘ò¿Ýìó(kÊ;e@]»ñ€ÅYÜ“ÛëW)pŽo<…ƒ˜äòˆ­x¼q ÜÉÑòÌróÁ‹}ê¿u.Þלõ ,zKô3øFèÉoA‚ÝÏ=T0¨[ÈR½Ÿ‹É4§=”íÅžè@L ŽtÙâDI¸*X¯„Dp .j†uõ)%Æq¬ü|›oÎÂ#ºÙŒ(Ô·íò/T›Œ_¿Qæ ‰`À౩Ê_e@>ºåc"Þ‰lžªŸì³Zÿ½Ùz,9‘p§N«A-ñ$Äp !Uj$xiÃÏpEc^ôòt'q(MìÕM¤àóó«øõU}tÛš™ÎŠ]0Gt‰9ñž¢ƒ¥hš¬X>>‡ãì¼"âèß©Äo§I8É©[>õÙ` }ûÍuTcžhÅé)|{çbxÍêÜ8*§‹[Ê>ÝyžYý°z×Èk@•óíN 0Ph^ÕmHò’Œ~Þ1,k¦I>ˆ±ã7t×[‡næ…¡öô_¨A»Ü‹|÷9±>JfºúszaÅÇ*ÍTŸA… l(/ª¡ÐxäúÉ`z˜Õ— ¬êFüÃÕ£ ·ynÖ;ódÎiQU9øãæq â²ä=:àkpÀ~öIƒµÌ0“%ŒcQ MRxþÞ iiI䄲/Ú[QÑáKÏÍ/Ïë:‚4dn²”Ïë˜8ë{ÆþussÞ൅ü£íÇòãbádlážO^Ý‹Ò2„žÿTøà) ²…Íu]µ+ —@à“hÇÀå’Oô™’hà ’ã õ4˜´0aèhÉ£íÄùuErwQM_µ‡„yN ¹9È3Ÿ~×ÀÃqbÞy"üˆJ¨ï§`JÈóûRE¤ £‚#?kÕ #ºÓÔ"Ì*äshEíXÑÖ…˜'3à’™O3MuÊr‡…‘€>p£ÖpÅÎÎy‘! 1;3,ä 1šX•3@qrs+¸”¦©’‚JòˉA§ÇcãCΩ»wÒtCÓq\ ½ŠÛèõÙØ4“ÀB³Lbšî汞‰Ä3ÁâÛ<µ4•-û¢gr¯¨æ ¯Ô»õ”L†/ÿXn3_jû|û„ƒNöoR/Ð͆í‰Á¬yÎ0¾eÛÆÃí(íÛìc¼G!—ãOžgVœ¿+rË]ÑQw20.ØRäœÛ:Sûö‚áf7ƒCa.«høË±øL}ïÒÅïW1€ôú¯!ºIã°dP=´qˆ† 5Y¯õJ+V¶e?{6û$jO T¥ëŠÇ!î§d?jyàú$AéD%²~DØÀ$Hš ;xuaÝÆŽ‡E¿ŽuS€f¾…Ù2úö«­©¹Ë°Þô°º±ôªÈßüÀÛ°=_˜¯K)k:0:N0e9» hý—› ¡Šê∠ٺ½‡’é¼Îø€Š­b?'S ŽÚ¥ÞBb±Ö¨LXÿ¸¼øMâH“ùàUg³©v‹P×C<¥+ëè°úA PK¨hùæUØóÇ!plñ¡ZaÞ&ܲX‹Ü@ÊZÊ»ä0pÊɈ–o+ÕšK³ËFƒŠäw%Єjk{‡µÐgI•< Ð`ä¢# TÜ県{vO–5þÒ•‡eBÏ-¾DÍs*ÝÀŠ#ðU”t}p4é"’!BC6„‡C¢ÿ9®›ÄãÍI}®ivÜ÷¸ìö³¤ˆcz´kµ¿K`þî{#b £Y²RU/jC‹$6=)2Zj[fƒWª ü$üÅÁf¸&Ÿu ÜÝ}œóé†Uÿ€ÜTó(°f¸ÍÀWUXVuß'oã n`>2À,šz*z Íù‘:Ky›Ïý€ÅÍdü‡–œo* Ô—Þ1´¦‡GlõïÕ,J$'ÇÊÛ2aäoì@,ëu")ìh™¿0¼…„½œH%KÒÊŒPauf„KxlíªöŒžáw;ç*,òEÃ:¼Ðê¥-ØLë¬ýW/Šºýq­xDüõb—½Ð@г¥2_ïi£^YºwBÜùj5:ztŸƒ¡“ â·yô$=,ýv_d†²RbÃ)uÚ‡ ·…Ò/˜[²Qˆ&’X$86„°¾Ï42`Y®#88D}Tª~¡ *q·(¤Ò²åqà!µ.†ÝIZYü±*¼Šn6w vk'Ó˜zaH•­‹ï¤Àª×‡blH‰*ÇCT̬ýÀp}"‰ö©L¿¹™ ŸÔR/1~À™!µHe7!Þkœ²@ÔíÖd¥[L¹) àtçÁ¨ÓbÅ/ŒI ¡NÇÉ?ðq%Lmó:‰|5’,¨Õ¥‰Ç«~͆Jƒ£Jë CCw¬¢DRä"y!{D÷O~ذ“‚7xôÝV –øjC±'$:7k†¢£ØwÀ/&®…9Ñæ-ÚuíåSÒ8&ĸmÒ¬çsÄÕ‘3J¯V e›IR…Îê.UÔæÀbt¡Û#/ü6[±‡9¶®jjÕÞÔy>+c?ÿ:Açðxƒod_‡¨¡YŒï¥ë8zæ Õf£u㌰ŠðepX¼éåæý;û󥫉—Î:ÉÖ¡± åâžÑ®÷œŽ•Ë 2íyÆÍù>»ú/û´-×MÙ&á“Õ¼d}QJ\g­=59¤QÎ'ž>ft2 ¸b…:Ô‰U£WÃl@dõs«N3Ó ·…ëBƒœ¢Äŧҩ ©iÙÇr XRCþ|µP¢2Zuœiææ2°yyäû±á­»œ—²±r_ñáó5ý—v,¼FÀQ‰IGi»t@äRáå•­?™Ðã\[ítq‰9kB!aj¨h¯4™h/%Ï»k ^ÌyJ<‹¨w2÷eßÚÿ'Àî:ê•sͼp(óÇ Sû?ab阦¹ [ J)ÔîÍ(ßÎjÛmoâ2wt©T5^q–e“T!iy_L’™w8_ä-+ÃðŸNKLyÊÒ|‡F÷¡, :«Nê@å…ŸïuÌ×y pW_ˆ°X…ÏÙ2 <ÏÝÛç#ªÐ.eÜ|L”Ô¬¦¡ ‘ÓIT `|mž.¯g‘Òr†[ïëÔùòs±:Õ.ñ«ëeý¨Pfƒ¡¥Óo1Ôó IùÈMºo‹ÄªrÞ#ž³J&VS£=\TÔtŒa˜€2Áù`ôüjA« b…|“tw±Þã?Ê øÖ¹¦^ˆÞ,¶Ç¢ÛD×ï%l/æášCEòuÀ'$ñ¼-ï=s¹7ìA×>âZÙ®W[ƒŒë„WÉEmñ¼Œ³=þÍÇA™EüPºÿð,2¸Õd˜šé!`:ÃX nhËV¡ÖËRÿÙF]30g1„°yÙyšIT-ùF4׌\n •u,hãsʬҩ¤îp˜™_¢¦Ä:;›[ìç+ÇzêŠi×á›Àj™UΰW©ŸN4Q¾>‰ËIž¼)æcîi(&(â&€”zÑã”qì>56Ÿeª¼÷¦¶3»SÞQÞf ¹qÿá”8^Tg«ãyi¹`‰à&’Dè—ò]”t5½6<ÒÑ/±™ø võ}önÔnZG äÿ~êÙn„QßÐ=&fÓѰþd[ çï Ÿ}q©5RêlrÚ±cÀÜ—K„ï@Kãú]™>Ów~%åµÿ˜ð+GÆhûKIß/a³ï"}ÿÊïJ Àd8ù[în°QzƒH¸’I<>~GÄ‚Âh» NÑû ÇΠ¸ðùFÜ4 ÐɉJÀ(Éãi/FZß- Ò6c½„7ƶu*YÅžüè}ý"ºÓŒQP¤¢X„ Þ£ÿf4þ·# ‚ÂÖ|C›šcûP?¥“uˆÁœ5¯Töª;é¡Á¹tñ0µÃy_&ÜVVZƒ0R•خʸ´üÚÓ¿£uCeA ƒw@¾ò°±CÓK—ç|#´ÃVç¡Æp¹½ëûȆq“ `Ëò§ ÔüÉncBqz'¾ŸCÀ²¢ˆäD 5S?”»då)@”!—7Eƒ£äT$=ÑS޳ªk}wscôk°‰¼¥“ª@^ü¾SWiÿ<Á¦£¬ðÞ&n»÷v»—aò‰©öŸˆ…÷­¦ ÄÔºñùRøKY;7oU¼b0z6x{¢sÀ1à@û–ZÙ6Žúä¡;¼Ya•®²;8É ÚÀ¼Õ,¬¬_)øì‹x|‘e‹î;mY;­Çú&¦~é!`¡£Ž¶÷V2’ð†z/‘ÌKq*Ð_>µDÑòtEŠr÷a0ü?–~Û-Æ ÿ¨ï„ºeñ½ š«Ãá˜íýÿmˆ‘«ù¢ìáúV™ö9Î9Ùæ¾÷»ÓµrjEä¶ ÙžòÐ8I:WÒ­^uÝGÕ2ô>s!j(`Ýx?/ðŽ”ú·9ÊZÎ ”Nj¾vßäî¾\“¡ %I,DNte®ùɵ î—lùìT|‹_‡)Ÿa©—éE^yJ|ñKn@VŸQt¤•DÐAjN5$÷ÅÍãwÏ»½ÞHȼ8Du¸²NVÓÔh–ÄΘ¤~|PÉú&Î^¯ôü‹âUUŸ…å(¦,¸È¾œr¢<ö,öìd@Iò¤Ý°5þÇ@“Ú³ÓCF­?ð*I²×Iú˜¹Æ¦JÊý{‘Öi!ÁÓ‰°Ne݈…ññ¾œf`×Íö`ß”ú˜.БC†BRê›îgC‹ºyèF¸N_…\UVG†¬õZ{0Þ.hÞ¯‰c&\÷$5EC涉xª\Ê÷†Q6‘Ÿ^Ú½Ð!̬Û. )€§ÂnŠÀMç$&«#u-Zuw¾q-Ö%ñµ9]ãjÁíHµA×/åsÌz_Ú¯a±‹ŠRFF+ž¼Ú—)îlé‡b-|½€¯Ö‹Äe†b,œ¬“&v¬hã¡k„¹QƒÉ c»*e4Íkîîóy¢Íx#Ç pà@ «Ž©ÕJ«$Çmñn&^õne´]—Æ„`ƒøê¹özóJRD¤Õl“Š€ôG|1ËÅ—L‘Gœ8ÿc¦íÙaEðGÓ\jBœÇò–ÐI­gš•—€?§9ãÖкIíÄ¡‡Ù–t`Ñ‚xÙ{&8zÿ)@Pƒv-ÕÚ:êÊ^ ²X4°­‡oK@t’ÅŸÁ"QÌF‹ ëk飣 !€q¯«@TB\_¹ÆUÌJDŸPöäy×ê˜lŽîÝ—­™iWUùC°«yìRdÏËY©]÷ߪÏv泟 ÅséßÔp ی݃Z%žÊ®º¢rÕ`ý§ˆ3åf<UÃÖ¦œoòñe«Nî‘ü§|£_{šœzÐ’ជÆZçJóÚXDª‡•·[Þ9fbUå;u­7Pz8Æp¶ Ó`dê$J·¾FÐD<³Œ,FÔ3ò‰No™D”ºW˜…dNŠÞ¨—|‚Ú¥kæ=¨ÆÆñÃמüµ`¶ŠŠ©Ýd¿/¬ëáØÕÛÌß œE®2,&Dp¿ |›d9›N#(Ûˆ|SÖzÉ¥Á—|â/¯²÷qXô“ &ƒ›‘ ¾ïnÝÄÆÜ´‚™0œƒ£GŒ:ó‘YÙƒm‰Ù·\Ò›¶b‚^Þ÷ (Xˆm¤r d­ÄA½c «èë@çì¿gÛÆ®ß©RøÎ=úúÎ÷!ûެ]Ô¯J™3+·=ñùÿÙ a¸”ª6Uæ½C)pű’5°PxdäÃ@ëídŽÐ²Ü+W±By¯¼ÄS¡Ðeƒ5¶r@eñóy¸rçfíCpÝfã0Øø–ÄT†¼òÍa·§‘IßGTçj®~Ö ã5ÆU÷°ûç=:{W)âBi8XÖ Ž(°%x'v\¶¶›¼Ç;ó§{ø@ÁÓs£-Ù}ßL¸ý8î IK°lpñV˜.(œ+8–³þ}˜ò=>–9Ã7á¶°ÕdúW´¼-™kõÜŸ§ˆßÀ¼(¼à'Ë®”‚_„áÊÂd øê驯òÌè¿i9”Ÿ‚úÓá2¼ÿ~¹>0¿8¿nÛ«H°†U7OŽ¿Œ:¾ÂLÿ›'…KT¿³Lõ¹3„ÿÒß7¦üo;Ÿk§ºÃ7™;¢p_’çë-ä[ ×òõŽÔ«^Õº­pÁ˜¼Ã#A,ªdiuâ/òZ©0~k¹çâ¾ÃÃm´¾Ó£|4µ!×y™4—­EöX§â1ij²¬Në¤WàñMÍªŽ€””.[‚Óµº­NÔ!Î%§ HI}-µåœبƒdíÙ¸TDÖ‹ß쑇å…FOg†I¿÷Ë8^ÊW ¿¦=Õˆ2 ÃÈqIUÕrŠ\€Î3f³t7Ÿ PZÐŽfL¿¾g¯zÀŽ\V-xuZÈ?R½¼k¡<ðUÞ-µæÌ% ÷ûÄà Ë%toò8 §^^A=<ãÔæ3ôm)Ý»½lŠ ¸±ìª¬œî’]´›@ÀÊןÿ‹î£2õŠq¼´œÁwçvÏokÝûIØ_3ëô¼‡ó#€B)þÖÐ`›ÖÅeŸXy‚ÏÕ­¼GKå%Úýš;î3ß¿þÒÌ‘ÆÎU­>ˆ¨T ìýÜ9 ¤]5 (Š,æ ˜ùÇt2áNWi_x}çñ¬eÐx—3`W¢Ac³ÓŠ7³Ÿ{Á%*:iCH'ãkÔ(ãz~ùý!TÎXÇÐe&Vµêc0´¸‘É|”uø Ÿ(…@¾´\\Ú,ôUkÓ¸^+X«}èl†ÛÿÁÊÀ²¹ÏStÕLn¡ÌÀÝx«APBwIîMºk±±u™«Ôn1Hy‘xQZ¯ >wèsˆ"ÓæÞ6¢ͤ(.½•)ñ¾ê÷1 Ò·E÷¢£ ™©wê\¾ØÆ€|F‚5ü@@³YèËÕPÓ*Ë3”]bž·¸ÿ›ô¸¥?•½ùD<Ü,bMÔ=jˆ%Tü‘¥”k7ÐØø»Ý=®òLp`‡Z=FIÆ{–„ýÔ çŸY¦=âߊQ!¬ÓÅÏÁò€ûôpípˆ¦QÖ$˜ª­¤(¢ííkñD%E÷)FŒ¤UªªûÌ 4" .¹|[âAáZ ú†%kªq7c¹óïR†«ŸvRAž†Ïý˲¶µ”.L¦g à¢õ%”–çÿ1åg”t‚i*rl‹[ºU{îôˆ òGYºë§ñ¹É˜—™gê. ²âörÆá ¬?a¸ÁÜÀJé`:€‹˜IɃ:÷ Öl&MW£)¥m~+Òú°lH)®œÿ< ‡•±1ö>áWˆOT§úà';lq_Ó¾áR‰tQSb›o俎½„ûANã7Áòüj…Ú±Þ(ˆL~n+DT0çRÚŠèÁæ)j_^*àNä^Û£{Áðšùã—á½¹&·"Îç{“NF¨òºôQÜûdª‹Z¿aÏâu~\ ÊvV×/^òÂó–7xÈ;yÑĨ&¬oO®‚Xù’ ¸Y…àöö;%0ßê‰O©);ƒÞ øR–+˜v,÷[ ²+!ªQö†l]‹ú¯rϧàl³ŠwŽóõ­ËŸ'û­ü eÝ–Ò›A‚5E,Õ$8¦¼^åP¨º™©Ð]¢ŸŒ?U…7væÌ*c§…¾Ú©›<È\Ñ–´çõXeæ"qœ \Åœb#ŽªlÜ‹wyµGºŸÕÃˈÍvfÀVSÉÙ˜“MO÷ôß°õYá`Æ.‘ê1îëK9(2:4Ì¥Õ›À%Ð@0Xi%ø¨©ú|«ÄÙHf]?ÄóB³1~W 8ëØ‡X^eõ«Lù½µ¿üK³«PeéCpû¹n¿Q¶‘Žlš~—]Mf( ½ÝŸË‹îå¸âÐ W„ßj:ï—:"½´Þ ƒªÚ©›–Vز×ç‹’ºMSràL7ŽùKšÏЦãE ’0úÍ ë×ïq?¨FCºþ™ëëC@åB©Ê4‡Ò&9ïÆý¼^ƒ)“7Ç‘ùw-¼#¯Ìù.Ü\0/C„òÏ=A ’âFÏ7Î΃Êßl¨âNIO¤Áë‹ÖâO0Ôo2Ú¿µsX})Ar{‘)VMG±"qDÀܤEø­ö±ñë€óÆ¥¸êº«T›w¾9€½zl¾/2¸é:@öçoÝ3 BÞcsíÁñü G8ÇçWáf–yx‘vÔxX­™a„¼£P„ã¹c:Ùs|#ÆÂ›«Ï—»êPÅ0†EJO´¹¬ 9´ž•-D‡S·ßÇ+Ô¶ôF¦wä_“îÌâ¦àtr…Ju5¿\p$kì3ŒÙRÑË™¨,-KN,ÄI"µ¦_ P‡Œ‹“êlWA-»Ÿù<0ÂúÌbÅE‚f8pŽÞ¶ª}ÜùG!”ꮯ¥ÿfüçü¤ŠàF!€^¶è@Ð$VGò œ^Óê‘«Pú½ã úNÃM´›#×°–ì‹iþÝÂ\fH¿³Â}ßìÏšuÕv”~1|SjT×Ç ¹î#©V×È ÙÃUÀøq8%û%%¥¨NB‰ÿcTF?f¯l@‰Ä3€ôÈbÙùÝ À¼DþmUL†ëYñW¼Ûþíæè; tðH9HÝ~qÂåÍ-&µ çº¬HYè‘èÅE­y´xzãZd‰±­­ž¼G ô7èE¹p´(}V±3¬¶Yùf–úxÒÿó(€Oƒà²¼µºgÙPA2QŸaôµŽÑ[b#_}6М¥äŒÉ`€Èˆ”Hf»?*ÈÆ¤ÈÀ*3£üÞRW‹†pT÷Y@‰‡X¾$Zþ7Ìöx E¶^^E¦^r d—?C^(3gV³qê=ŸÐ»á1W2 G– 2Ù1çy¸\ÛU›~9"Ô1~it€ ¨k˜‰#ìo‘jlÔ?h/ùäR߸®9T†//jÛ'!²Æ_ÛÿÜž ÉD4‰õ!Gêí^7t˜j¦9 ý­!½ß¼:9mýû~TªÀLmM/GáÐRê&‚3VZwçí'ªÙÁç†ùË«(®¹Ð‘½¸—Ë®Y!I“B€•üÑ_±j@CýÐEZ5âÖµµûQÿœˆAüGô‰œ(è•>?ÌóT’ý¦¤0——×~»2ç³Ââ× GÎÇ”ªÞš‚øzj4vÙµ-’pDZ>{¶k!€ážh9¥•ü ´:f}mv£ˆŽ;LÕ^¬pÀö,Åa/¸ô;1ïSŒIdeÿ± ‚A»Ì‘Ráa-aþBÉšþ¨ì¡6GÆØ\…NkùLÍÒõǽš2Âö‰ÌôcЉã-q?M;rΖ—Ô7LÙŒ „iUC×hø®"Ï%Àø6¨ãÆÍ¹· ©‚]GÄèÚG†˜ïé Ë÷Vsj±½¨ºÿÝ]âøMkßU(~ËÍë™Lü× R{[Ö†8hæä~€=¨«KmúU\ËhSF‹(› ú©™˜Ü_°,ˆógÄþ~'3LS¾™Ïü-ÀkûηÛq ©°yÆ­—èՊ寔äeP8?V»Ø±½|SƜȆ;D²‚ÍøBŽQ?12]·é"¿±[‘5X~­û¾È¹\'ý‹Ú}¬ENo«˜Žˆ1bÙª2ƒLâšH¸âãF˜ZÑ.ÓB9Ízï»Ó¸¤)Å7ì Gm?ÿœ Ön0ÎDa®Á®U‚çôú+Ü¿ãS@ÍÚJárvF4ñ’¾“xqö`ž ò_…€K“À¼JÎL v<{LÊ# (O”!ÔÔÁ×ø‚ã-}ãhªb}S‡õk²“£½ÄOþöZŠ£Ú¢5awJá¾6GAêB¤|ˉ¶ÎM\,‰Ì£OþjÂNã± ‘°K£‹¯XMF^¥­¢/¹±¬”Vr€]äTß. P°K3µÇæJÄ `@ƒz§Lµx@ÐnlͨlPc—Câ@Õ‹ž¤Ÿ^”>ôëZ AcŒÄ„ 6@êó&^ø¢«®ú§G9Ž‘X”ž—ŠÂYO—#(°²W°aÕ–Ÿ×Ä»|°ãÆÎ•ûkø ü¢<Ëm„•Îx4°Aÿ~±q¸=µ4Œ8Î1¸î8ö ó%Õçã¼7ù—£‘Œ…÷|wì–F)ãÖbUV|×È  *=½<~8Ö#æP݉˜pycÿ ÕM¥Ë€WXçIUXO9÷ô0ªÔälIðO2¤x÷Õ2\áv«l ÞÎlÑk”XU3eTÏòÝìY‹¿ªãû=ÑØÇø1T¯B„["JØ‘tµé5핲h»ndQ.ÿŸ‚æ(qi^A“xKúoo~ÞѨ53œå޼@ÀSÑîžÀyf{@X3hÒUþ=ÆÒÕŽÔ¹ö~gÉhš7Ù†èÐÝ ÿìvŒ(¥ÐþíêŸ {çf6ɇîÒ¶?­ÒŽ-ÎòßX¨ß¼êÒgiz ‡M¥ù¿±à4=À0ñ¥¿Ç5_à>tQì¨Ëÿ$ÇQ^ÿ_%ßýKö¯P´%«O½e€$%çüº½¢C+*•ô±Ho‘üb°}—ÍLÔŸëF8þY½Rix̾7ò6ô¥î¼^RTý9Cáa8°‹´.7íH@¢Jîµî,L¬Ú¡Nr~´ NÈ“Ka3[0­c¹ßÚ|‰,C,ÙRhnÝñKVk‘ÉYê×AOå ¹VÇÀÔløìÝû›©l5†çB3ê¶T 1Ôï±Î,;RÔ”ðœ&ºæ7AWPNÙU5q»wgǧ²ƒí‘á˜ãø{øPˆð¿ÚS˜'uèiØ\!éë5 üùÐûYüã^s3Cþõ|g$5q9^Éèö'ê„©ËDãm­‘åÞžo'ºr›Âïxõ¥õ3- VÚǃ×Þœžœ¦EÙ3ˆW¼שü-*šÕY­ÌFf¥ËM$϶£ •‚×E”(9¡T6~5‰ G d°ö7¼ËêùÖáÌJ˜‰}÷ï¡–DÀéX—¢‹¤ÀÚë§©xT?¨-–šg(þ€»ò”åâØØn­k¿ï|ŸpÆöê=«S@pŒ#®$Ië>¹½sêùöbLñ!8q…Ž%ð=Ìj;±[òbv4oŠh­kÞ± 5‚:VeGÚËvÙ#}h·,µ¸^»žšðÉCÑ;#­ÈÎh9ùâ*tö³ 'ÿOßc1¡ÿ y¢*. +A<É½áø¬mŽ8béfÁLÿ´Êóç ÔÄ'‹êÒµ¾•ÂÁ ú+£eô Tä–0ed–ö:³ë@êžpµcUàɵæô;1»înJ¥qߟÄÄÆo2¨±Š#GuÐ6œ›B†…à8GÏ.Ñ„{Ôôš‰:ËûŽ^ÞÞäöcj¦Óƒw%J>5BZlPQÉe I)Jüݘ¸DpÖ\Þ°>^$jÎyÇ‹OtɵªÏÀ™ €’£Ù¶ixM­C.éëÿIxs;Ƹ©éN-0Ï Ô5ú»NUœîK¬*gÿ_±ø2yGgÇ2“üT„}Y¶3!ŒÎswÚüþƒ¸»oæà^¯£´ŽivÜîF¬=ù¿næ½&6ŸãךëD]«™^cß{0ê6Ê5ýɯkÚìW·DÐË»\÷!yXM½ì§kì<¾+½éœj(Áö²Š*›ÇšˆÜësÌ¢ÞødºøøÿšÚîgvxåxô{P>ÃÕiRõ!Và#73?ÃDÒFmûTû(ÕFꀎŒL ”½Ñ‘ºÅPIúàç=NAB¼n êÇ•aÈwf¥DáA2“‘v·©ÈO¡áºÌ‹>-••_¿ø/Òód&ˆ¢KÌ<\]x™ø,;PM—”Ü¢¤)­I{D§êýˆ$X?™€¸û^ çàÙ‘šØPAä<ÒhYih@ ‘¯˜ÔŒˆƒ†¹¶K+*©58}W'b=Œ[]!ê˜çíN·Þ3åU&KÁKU–¸Þ[²®¶zf¸Hä“èKX™U¤go¦s…?¤›'D#âkLX¾^Ó Ü¥ r^óv(±;2¥Zvÿ¹â.Eõã¶Ç>ßq¼“Ê;ÜʹjqÐýQ%P|ç#(h‚+‡7­ZÛ7[»{f’ËV‡²l(ÃÇñ^ÂêdƒÊ+ÞÃÒx+ü2“ݼ¾&ϼLäbJìlnÁÙ°µéæ"!¼Ä+¢aDgFäÈRËY0”ŸÆ¤Úf;xÈpWƒÁz $–~%‹òJ0˜(D<}q¬ç뿇~ŠWºY«±–øÆu½åL±I®'8¿|lì%™M§”ü£éƒ(5t4˜»t6 J ¿ˆp Ë©G‹eF¼zû[RFºÎB+Ư¬L wªŸùã2Mäx ÷Ôˆ¢ÏÈ“  Kº¡ÉкB˜Ãáé„(¢î,CÇc‡ªŸ<”"5ÄQ°Yq”y°’Ñð–ë¸ÌÝ/{ ?ÜK_ŸÍ•tþ/ƒTwã•À€²zÁtFÆK+ÑjЯ}cöƱ”¤OhOÄ´í`Ï"#-5˘ãOüÂÖÑVl"<«8 ||Çq•dk+.Tc±òí I…•ø¬åSûÞˆ®¹\̯#©Vo¾³îÆ!H_y3ÇÁøå«†¸ûЦû2ض"õZLßÂðêê­0}¸ð›KpOÕý2Ô¨s#É<Û/Jº¨UË<Êù¹sß2 NÐsB§o'×*0?>´ëEƒ¿NFmÓœ²Kcsg>Q%ŠŒS‚üV+‚GøW•-[.w"oivЮ»CWÒ­%N_,ÍëùPÊj.Ðê7¥Bn‚)A;©\²~=šúT²›º^xÉu¶Mc·ˆ¥^ì¶ö¡ÚŠï1YŸèÊêQÂfm/L1ÁÏÚVÈqÀ÷ÑnŸÛìveÞ$žÑ8£#š}Ú} ÛØh”÷ª 1‚°SI¯\R¸ûŸO‘IZ%úŒÁœ:Ȭ&£'”‹Þ\pù6s=<Ôßa{mY{d­VÒÈ\CYBqdzq‘jŠêßlà°?Ž%Ü€ o ;*õÔÉw`v@/· Æ8º"óhZ 5(¥&+;°ôAlÿ…zœÎVš!SÇú<«E6#‹­MÖÞ<ø}ERÄ3^ &M˜Zlæ±±ÄÑ@«Êµ# \ÆWøÂ;„߯ÝöTTÕã·z@…P1Ä8cm÷ZÔR—Ø >CMj§¶Zp¯f;ýÐp*ÿ¢Á¥¸Ýªír  ášüç>ÐémãÀá×öŠGq‹=¡‰+<¥·‘¥^Yç= uHj Á¬GzçX¶ Öžìû™Ã ±Ñsùb¡{ÊÚ}ê&@ö?ã6dR_ç_—6ä ü{Y8=É=jø]"#¯ƒÖ 5ð¬¢Pç¼CÎÃá•üp‘Aƒ¬ßÄz8c<ÊõÚÀü:D*ÿžŒïSàðZ3ãÐ9eÈu@ÆŽí’uûÆí#æZÁúa‡ŽL`½‘!X#L7ã„ ,:¨;Ë@6}ìÁ¤á¿ES2m Üî…§“uÍuïZ€cÌó:ÆsÚ¤qShm)‘Ìá°1²á¢”ÔFdž-ä¿??6B Ï8[n9 @°’â–¤-¡A“”äÁQ/ggñlºhçf}I‹’'çN©¸2|þ­XGº-¢r+×-q»•%ÜZ×YÀn¨$';¢¿òx¹×pp#i«XÏÐßHùa0ò£3­Qß!%à³Ö¡Ëײü ÓŒ#¿INU¤–XvA)?@˜Ñ?X]AÇ’Ê zQ> ÛÀ–¯KDày4Ñé,ƒŽ!9LÓTÓì(ÐYßvk+EæÎÅ”@t—kc<‚.rÞ«"C`êGPZž*}x‰6X {Ä?õëB IÏ•» XgåÃT%“Ule^l­[J:4B ZÙêCïùSU’Æ ˆèF3É.j;êGt }Õ)âM©”UVâŽpÛ%‰¹j£Ì/‚jÿW¦ïÊqœüdž®ŠÃwÉÒë4ÝÁÖÁ=³æÕxJaÕÙªB‹Žda c€ÓîAªn`nXÿDøl¼ýÌ•ørB:ßóú ;‹snµÞ\Ð×uäÞñ µòLbø’ɰ2¿O7 ¸gñÊÅP•òËÜEÒl ]ÁW®äñ×<1<«·Ê7ä9…í…ó¬Z"`Fdçi'8~솇ªÿmjŒ¦ËIU±˜dÇ M”Øj)³šÒ¶VZ•2V^”dª¬ŒVå´«pÎiıSé\¾×¡ÓýÝ]Uº± #ŒˆéåÈÂ’¸¹Ùœ4·ÏÕ†twwZôÊgŒM'߯{7¸7RÐtòVØaËä¥q$ÁëpúRÝïhl¤³0\Ö Ä±NˆÐk»×Núu<#ÌÅéÊò%½lgÉ€4ežâXnx¹u:qÿ0z,+ -~…æI¥xU¯Å¼äv…(!ñ‚LƒŒ¼Ï©Qˆö.gœG«æ·£+À:²ïÅØ/-Ï–2Z ò0.õBã­Þð³Ê¥›ÅNò“›™`’/$KLûgö¡“{X)7}‘Çuo泸9G/*†ûš+BÉGrx¦X“0è €AÔ^Ã݈ހˆºc±gDfÈŠ²»³Ù/°ƒ÷Ï©#Eḯâì2JÎ/~…«]-¼V_Äײ¬Ý¹ÜÛÖÅ9²+,w4οþ4EG§¸î¼1‰øä«öÔ´°Ê-È1ñ"i %îŒzâz‘­³FöedjYu/¥V™Ò5œDC誶¡ëŽêXÚñÆÃäÀ Îƒ„ª°²$šŽÐMh G³‰…€œ ü&AÁL4úDZ:†¥/ôÇÈ#£ˆ6ï«pZŸüõ‰hoÓѬۼÛåfM0wòŽ6îÎÓÚ ³×óܘ y&§Ù*Å3“,à `YùH;Õ3¼`HîNíT?И“•Í\Áf»ÊÇ‚;g¾6iħ’Ëy['Zo/:QÁe†ð I,Ú]¯õÛÊxa]pÜÁbŠÔã±V„:þT€”¤ŽÏ=€_3rá–©fÿ.½»øùЦ_mä.WéÅ(ÌçQ¯T"¡§\k]ÊøÙ4JÊ­à@þ"¿_~ŠbñÃÓ¨¸êaVÙJBrÑ#*Ô*‘]éŸÊ3ú%ñKwûjZÕ¤XDmQõÕyg„:§°‚|fïò‡/êåTA*x †a®ÃRûrº¥Ç-JÓÃÆ>ߣ5º‡p,·¨Õ¶ÉLéÓ4Ål»÷¿’d—eýá´³4jrÈ_®¾?–aާV¤¤ÿò¢¡Ûl CK×eâúN(x'¦77äÇN°úƒ`e(}Xå(³bG·ø¾çQ(÷§_cQ›Äÿïd9hÀz´ch¢PbELQç|€íÊÖß&߈4_w¦&#,³ô ~œ‰g—4© Wàí“ýœWÓd p=™Ô“û™ÅÂS›óÛ´ÊÐ*ï ¶‡¶ùRÀÙs|ãW'¦>kùÝû½”,µÝ}$(u‡ØBɺ÷ œCý*V³Ú³”ìï3Ûsú®Õ_ihÕ‡{È«6­ýô‡«úwîú”ÿ°ÖéÈŠAÖUÃ¥»Š‰kÿq¿›ûý§¿\ÊãÒŽ\år#h›tÜüª¼FP}S oúKAªJ|Ò%–hÑfäU™Qÿ(CSfwÞº% oÆ3ùR»yÊ— ~˜Ý–w¦ŽŠ°H};[—g¸Xȱ´L˜ÊýÎi1Tƒáõ8ƒÑâ&ûÞK•·Z£žïZî†{µîPÂ*¬xt¡õ£TrH¤I‹SóPº·âYÞ§†äLîRΰÎz”käÅ\ú`Kö3´öŒˆ>“ Ù瑼S‘Ñûî˜VÕ„]ï›Ñ9y>¤Ñš Tú<ÅÉÜþä}¡GË ©¾}’DD0ÅCwdTU$Soz°EÊ7`-Ê÷}Hl6eùç†é¢7Ót@ÚX†ñ=G›•íý¨ˆ{Ó€ÝT:SŸºº¥´¤gÒK|ü¿Vµš0Þ)'Š!£ëmmæ$¡²CpÉøÜŽ†Ýs×èW¨¹† DåWéÊxÉÁ”›+ç³$'a4º„“6i\4Z)VâL1f-‰mLJ© õpð>ÆÈ¥²ý‚5ÌäÖÊL™‘¨j:³¼·lSødêió‹K¥Ð»…Õ¾­3ÉÃ,»9î-áØºaf(mþÖåGT ’˜r\‹qñ'W5¾œºó!µü´¿ö‘˜8V$>‹0 %×\ýÑ•£±]ÏJÞ<íÍ c$Ä5ðˆx€%@úú¦0¨îmåÑ÷Ë¥£CŽ™gim"òÂÀ?Ð#'.½ì!7£üSìBÆ·9)~jGþ“gX—êBeãos†¡gš–H ÊyB…ËÅáž7(W‰¥¢Oš!ôS8ÚN‹o¢1Ìf™š×ÂÜ Ðz!»ñ4Uì&Â:)XÝ7­^™E©ý\"GÔ"EÀïÚX!pÌóµ ({ÇÖÌȆ‰úýº{÷ãGã=Ÿýꍰ½<±-oÍÈþ³hŒ,Éö#éïq83Žù£âQA¸2‰ÌžäáM¡#ÈÕÆÂô1ž› OË:Ö_sgÍý‚R·Àrù`6$ ±R&VEÃOPõÓ®TC1ƒ—'“„ôó¦my[Og9mÒeö‹ˆ³úáã•JþÒ'¹\8)5«u'ïüž¾ÇÑÀ''ÙY\ò9Ñ#4qW4‡Ò|—B”.2ŸõJ}Rh¾êk»ZyçƒÒ }Ö k’„‡jÿÕJ­Ðr«µc7Õëi÷z¬m¦MI¨¥ÒYÆ„~ õ»‘œ‚ïL*áR‰Á&Ô·B=nåí‡(ó¹ü|A˜x¹¬@ÿÍ‚g ó˜Uþ!po¶]F´[ ÊèYÅ+Ȝټ)Ç‚SUE RÌÝã{—Û§õ±Â]×8UVýl1­zýÂÝPO DÀ= äÇžÛEd ›ð ÔEU2ùë;”ÓÉ!¤¯ÙYùÞ;Y˜Û«á±9¢‘:ð/Á¹0BŽæƒTL|ŸA¼ngï¨&/ ¥ &Á1aª[Xœ¿·ZÚP2kSϺ_WœçåkƒƒÓô9³ÛË|›¶¿Ú±p÷×ÀZÄwxìÐ#’.Z-ò„XF±>Ð¥Ww |ÎG(Ñã€Jâl¶¶×M*€=|I#M¬ßCèü÷+§5Ð'xXV¦%?]­X¸çOz¹Ž ŽYº‘4#ÊÈ I?î‰ÔæÙÍ ÞÊ™]}yß*Hm§pI$ó…óŸó˜R³ù«_½·t@)íœýC;Êjù¢Ùóó`šwá.zd ø‡ „ÁbªÅ”ä˜TÈ?'Sª:*sŽ]AåݼG鯕‹ÿBõøÆw…hÄ2;ÂeóÅ*€c³Ü´â öwG7¾CÁdá“s5]Ë´['#˜Åv¤M½·Öž½â*À²œ´ú¶xé2ÄPd'è Δ1óƒß×ðŸMΧ"mŽHñ&}!' /i@‹ª"ÏÔ?r8:.Áê9‹û¥–€0aº¶ùÁú§âf]žQõdÍ?ew=›»ö> l} \B¼0…ßwÌ•á bÊ Áa<— iÑL0n M) “RPdÄñ™L`»kÙIƒÓäßë|Òü€D[=NmY¯Äbv˜EäæWíúÿúõ)‹‡¢èð'cMâ¢úœQ{€’*@o¶ïBváœh£u>¢Í½ÅcæÃÀ7›u]G­ »œóØÌ/(Ðë7Þ> ƒ WÓˆ™YFdñço9Ïb͆&Ñ|—Í)íH!-«Ñ¯.z>t_¼tÈe—c—ÍA™@Ï%te€)­Âw8] ¡4*·6ÉUS:‚0öû>(èKˆ´N´ŠÃ§û$—¤ÆtøÕ…ÉO5Ù¸$y-”öy\Ù2 n=™°s¸‹Û(\=æ >Ê<hâ—'ÔnOáF.eK×wP›™zh?âÞ¬G)ØûI*WžúöYݼwŸ=’‹Þ°×ï9‘æ[óUÚ(²ù h/×./²Ügë ;ß ¿íE´½8Œc§f”‡FB4؉doÊC/^? „[éµ"%¥HÜBºñŸŠ”™aÖB;•™Wš$XãzÃå”IƒÀM'CóTÌïkË©W­}Þ‘¹a.!ïlN`4¨¹TTÌ›«¹-®"U÷#¿+ÿ™‘ñn¢†ÏiTb) H%Ùˆ¬êŽMÍ»ßtzôñg‘„óÌGa=a§É_zÛн7h¯®I¢$·ª3(„¥péÝpÕ „)÷õ€½Û„s"WS¶Ù¦ÇÉÚNËQŒ:첿DCbI1Â×ßc•zѪÛÖDŠ;Ž ß.Æöל¬¢ò_¦å4/!K™‹›ˆ3C‡Áþ' ²NÌߪ¹øöÉIxMñ1Jm„‰·¼”ñ²ƒ4æ@=Ä ò;V•ξЦq"Z^‘µó ì¦Ø¼s+³7få¯ ´¨GËK Þ§î%7xòHcRA_Ù{6R}‡¶n‡dÌNŽÍ?ô_Ñû‰+{Ù+þ¨â¦÷mvCˆî1µÎàó)·ÁËÄæo¸È×q½Óm~ŇçýeÄß¾Å9í 'õTtJt•ˆ¸ sz¡ëñó¬c38\Ûãê \}Ýõ($3¥ˆ>~.:"-$«Åµ´¬•C=R•j}"Ó‹¢ WØîÊÅÅV}ªS¹tpˆË“æåm%˶k®Í¡öG†»Yþbqë¡b$TøÙÃÉ[|1õr ኖ³! mŒTãﵺ‰ÖGŽUª­”³‚CL\_rg´Y›YÓX.ò‹).’åK4hßÀˆ‰[eþŽE4å0~Áà±rÜð:c`±Z¬å0 d¾A/·÷öúÆGÔa7Wâ=Ì-™ÕÐÃ)'-_Äprœú½¦zF‘›wƛۨPÑnìJ'RÓqèMiXÈa»Öߨ ûXÑ&_ŸÙÒeØ£þ§³£xÏW†=B«ÚÀÜ= s µ ÈAˆC®ØúždXH8[%Ìp „õ-ØNpÍèuïóf+t˜#¥*ê5‚Öie”=hÓÚ$Ãîך¡‚0Nׄª¡á$jå(OšËn“a»É¦ÁØßtíkÿÀrö§õ³a©— JyB((ÍíßUÊä¦oDÎUƒ;×+*Qã,0b=ÿm°èã´¬#‰A‘Ù‹"÷úyça:^}Y_“¹÷[d‘S½G‘wÊ6Žj5Û*qfQD¾ ”ÞæD”šÅ#!Xˆ&/AŸáýî7ÙÜÞ: 0ÝaÕÖYÔ2§ ZÎü˜êÝFÚ©°Ñ›ïSˆ†lc_S]øI¯´/ƒo<ºý;/NÜtžò¹ÂïTfÉb) „Â%… |Î0!ÒûÏýý} ò÷Ù•Ž:`ÌûzFè:«$ªº™óR¸;b]»ÊK,ðohßОâÕO½æí£òý_Ö¼ºœÿ!åœwÈÝ>—6} ê°¿|ÕçoÌçS-¤Ãü„í¹$t_³c[ˆî’‰RXD4Yë ;Ø¡¿Öì÷.SïË(—™Õ9 ö5”Ä©Ÿ”Ùˆe,Çdö¨q¶Ä¾ó†þ N’éú×¶[Ødyß0³ËúrÖ÷'ÂaÐvøEåTº 5F:yA{yc„ÝIÐßF‰ .ôŽWÍRÍ`Ó¯ó*€3?æwkõ‹Èª:ÈÛ‰ï_k¢Ë žuø5>•è•) ouÚ´‚ØAÇ~îw\´÷:û`7ßHõÕ1f^ò@*`}Ç•ö 'ÒÓB‹iar..(6šãK„ ½Þ$dãþʤ40Õá)¨Dá´­W?„ ÝH|dH*ENõ¬sBbæÈŽB*cà˜DA[Øc1‚%ßd%€üLNŽÇäN„Ö:zô쟴¥im¬UåË™îWZÿu\ƒC|<(TE¾ÿî)*ÀGÈ£õí1ÏÆG€§f06êÇ´‚¸N4çÁJÈGêœuó¨•Ô±–„1'åQ³TáØ}éÙ(ã3IYîkyÙxÇ9-ÞÕ¯ÎjÐÜ“¦çº)oÑom˜b‚h`¡±âÆtINQòÿûU3‡~¡=—íŽ.;´«”ž:/6Aa?jC¹Âˆ– ¾i&gÃAAJI6[ew1s¬Ûžpk”t¬}š‚³us®<ýœ?µ|— v'_¢XÚ¤‚³>ihÄꬆ[n_LŽûÎaÜÆgç<«i…亠œÉ íøâB:‡é`«KÀ¥Þ÷a›ìÝW7ˆ•¿|A6ŠÜòóV%V ·¶W‘ƒ‚ŒòHÙ¨Äg¡ZÏ={{Wâ§µªðŸ&µ[Íø¶„’ë÷w¡„ÑŸF®S¾%l jXôfNV y…±Úlˆ1°t¾¿2÷n¨©æC dŸÛbG~ݦ´^ÝÞŸŸuË%.oÊtËÝÞ Œg6*{4Þ«€ûå %o’fwB·«&5ÐŽ)įgNˆ‰˜ÆÉx)ª,XÂpeõM’ZhÄwm>ìÖT™!{½°ïc‘L=›6IÉy¶!†]{YO`ðkV}D.\ Ó¬;®ÇÂ(¸1gàáâ” lsãÕÙãóItfÏýq u#g D€O EòB  í!¯låмŸðºæà‘ 0d:ßz@¿À‡9Í/wÞ4XÞFw'}*íWÞÒBÙò~`,—ÚÏÃê,<ÚlU~ï8`)kû%mÝmröÐÍQM]ŸÜzƒËZyd¾Ú‚÷P¤µÝ•ˆ4¨Nº8«f-Tô›–“¤IÉîIÓæóåGÐ×6&À¯ýç ÿçõ;Bz ¸@²b‰˜ç<ŒrãéÅÏ šé5™¿‹ðÁ‰‡àN^4úD0BÀ‹î è}>¦p’5;}&ÀðÆ/PžPÁ³Ô»Æê0Œ\YÑj¾Öˆ*ôn€Xh^®SÃqŒ">Ú‚go5ÕHzq«Ïû(„Ÿä’ÑŽŒÀ…—Ö ä«¥9ƒw'I*.ÏG±ÿ7àg¦(úËëúåcðÇ,õ²¨­BÙÐÊûͺEú„@dñ+X*–b“°eOïÖøÔ¶þ]ý»«Ó’_¥8w!îO%°ë1¨¦@8¹Íüª/¤4Ã`ƒkË…a’½÷똻á‹Ý ×>Ž÷_f¢r‘õÛšPvDRZ(ÏÛ—LãJIM`ó=Á6‹³’™jªá«x’üA‰ä©E¹rQ.’aJ¬é|ÎúÄwf±bqêÍÎ#Lûÿ§bP§«%<š!ÓµˆLgH1L^W?üg¹oºSƒ¿7rY“†žûE‡# &Ç:…LcUKìôîÕ ?žµ€+ÒR=…_ÈåEÓЭ¯ÓþDûî–L’5‚BW ™Æ‘0kïõÌ)(ÈçLØ`°|Å7±¸ˆé'$l[¬|oeõï3´ýÉÀAav˜‘(•]B¼„YhI&aÌWÅ®°þ6š»¨q p‚¤ªÍüjÑoœlŠô™ÚK&Áp;´Ú¨Ù €jµ¬@á Tˆ/ã« •%Õ¤ý¤E¯‹q–M6X‹ÇÛu»_™„óÄl Bùq ´*4ÊÍ)qÂ>³&¦4ÊþpÉœ íßmiÎl;–Ë` Õ‡+FNZHÊh‘@ƒ“ããa¨{-¦ôe‹|2fÝf™¸“OÌsJ m·‰ ?Xþ× edÌAì ä[OâÂ(€ï U 7>äNÛíù³aê×4làå‰uDÀ'k°»ë3®üyðz‘‘w¿q #Ôpùw ßy^cÜáž»ÒåjaöÑ•æÎ9Øèè¸Èa®9À,Ì‘ˆy螎åMÇçb" {Æo—Ê’µ{ îêdòRÆ=Æ©û‚.íÁ¿¾³í"?œPï·ó èLèŸßåËerYìºvÂçD=÷F%“²­K‘1Üñ × [\®1­¡œyl"ãÈ`ðâ‘'ÝâløÚC}Ö Á[3™½Ô’›87Œè«‰Œ¯¹'ÕüEeµ}Z¬¼ü½X.Åg¶ý‘DÕTk9Ô³£ jÙán–™‰1y¤Ì­ü¦/Åc¸Î棤ÖJ_8ô¡.˜Ù@ß©„¿ªÄh '²s¨ ZÕgDÒe/{sq€œ°DIª€ïò·âèÓÈÚ›aõŽ˜½'Ç=ÃN3ÆÞ&BGvö¸s\ÕÄ1"ü€€ôSËJðüä}&°¾ü.1”µØ›êyvœq±Î·8Û®Z<‘þ&6x¢øaW]âöØíëHu\š8‡ÆÃÐm{ª¡c;Ó» kGúÁ;¤ÝÀ‹e¼Ê¿ýÒ¹š¨º¯(:¤ÁY§$¸ÿ¯D<ÍöÞ`&‚»y¦½†œÝk)q—ýŽ!¥¾­p¸‰ ä­E0ÌÃóF«ò¤—\öÓ G¼&[Œ#=ŠËŽºúÆ´š%â~†‹ÄbÙÌqÙn»Aç÷–ÅÈÄÎË×¾ÀT  ´£!ìÖ&;}óOÓ4—$ãKy6\¦òÚ  `dÊÇŒŠ¡A ÖòèfXóÖ*F4Qaj›†—e÷AµÌ’¬‚Þ3”•©0=oiÜ;}“Ó¼Ç ¥§6mïä˜ÐZ*wë?³G ⽃CÖ§F7 2t±ÈÔ@£ÎHºsM7 W5Am<Û@Ó1Å’Ú!«8¸œ Ž$Ÿ¿Ów ÙÚ‰ 'H&yá.ì‡Ä$FÍÑ|ÇRDŒ>Â2_\HÝîSœÅ=E¯3?ñÒ©Þ+„Â~“Ö‰}¯âêÒâ)V‡kÎIi‘5g{d¡bÓfM©Ã[Û-*Û{þSQ3¬ð•9ÞVÎìj ýÍIý$•Îr›HÀ’1âæŠ¥Fá”0\¢6rF.õÏn\üê‡Hž ¾[ëöÐÙ|Â}lPÝ"Äwÿ U X50Ÿ´õçÙtÌ„#i.AØþðdåÇa\ï“u7¶2DT³®<ÿžÿ£,dV±S]v¼Qí()›v” >îVñÈRY/2‡EI>òi,dÈj’ž\­tÔžA%ýÿ'{±TÈv£ÕÝR™¿•~ºëN:²«.ôÛ,}øF•V Ö{î’5q«­í¹ c¡`ˆÏèÑæSTW®ÄíI‡¿´­ü®4áS’²òê-᥮UÁwÍŸõCR+|²üi Xcà<ÔöQžºUY(Î P˜^n~PG€¼IbaŒ@5o"•4ƒTäYôa§]Í)ŠsÃô<Ý7CÓšzùk%=xñûGÕ!s;‰Á;;$Ej©4ݿެœ‹\Fh/-™e<¸“ny1’®Ô¬q®Þ·<%̺‘¬Ð8¥q«©£µÐž$>y¸¶,L$Až`_Úí¤rÑöÝžÚ²ÛF„Ñ–Õ–L3ïó¡—ÖßäV*—À¼Bâ;Î&>àÈ1Éù~ðïã[":‚Eî³ʇE`ê´$r®y0óoçpVü»ü ãðé©72ŲfäPEÚ òsh8.V—F²?y\ ëºñ½ÿ?¤ŒgvòhÝ3`ˆŒÜßbý-°–ò/ ¥ëVg§¢9бH÷íBZvc] Ywƒ§¸ðJBçè¼éVazœ¿¼ÉY ß_Ï¢Øû ôÓg™åù•L˜$7—Ò,öœÓå©4ìiàw­Ë¤P ƒûE ÛF'7¨¤Ó†­Çu*´ý…œ§Ï¢Ñïñ9úê ·bjõ‡ã׺Yµ¢Ê– 楖|Y©Ó½tÚ<Œ+šrÏ脵EºØ_m<êˆãHwi Ï'%½û ÊÏþ„ÉÄzšéèSóÐ@UÛç ­yíl&°F4æãõk ®%N÷¶•ïWw1t øaã¤ùçüOû(–È`/»üy•FvŒ šëiÒÑ·°¥ÝµÚïQäð—_¯G|Îq¯¼±48e áÀϘÀª°YŠ}ùp¹pYܨDž'™EwË!ñ&®¤ðll]è‹PõFÞ˜¿ûŸuÚEƒ²l׋KÍj­²ho©¼ÐP=”{¹ÚÖ·%R»ô¾>È ‹é“$î¿u”6È‹„»à—r݃äÛÅ—‚âÑô@ûªâR'Ágz „HµgÇT#㠡ϼRŽ`R#«[z…èñgœG†T}Ê©R¦¨ç æ¹Ê¿Ò4¨ê±sø¯Fø±×ئv$¦ï»¾À3Š–’Wì;ÎH^n>Eëð6pÿ$cè¢úÞ÷HnN|”ü,ikÏ쵌ðõÏ4‹˜ÙhDù½+ëXiÍ—™3Ó"mÍñ’5Ž75®ªÂšÑI|8¼C’›(ôÏ)«ùzk M úØVkɯtTÌ-ì‹5)6‚¿˜tù€:äy’õ¹ð]Ì+]»Û¤0d];*#ÀÂ]ü‘ò…´x#&ƒ:Öž _XN†×|P6aìNí纠CI·­ºGp‹ýçŽùâQòÎÛ]ÜÁ”¬—8]¿ U-ôRQé>ØiwŠw-T£óà:èUqšb3Ùÿûz/ßÁèÙ~‹Y Â&‚GÚÔà0Âg§–ÕØ­¿\e…V5B8Ó7¾|À#QñÚŸÞ$ÍqçsY†%7º}Wˆ$”Beîæ ФÂë5’甌rE[JD®dªîb¢ŸŸo$$Q–ð£¼ÜØ÷‹—›ùL<÷&ØÖ—Òx×–—Yý&åÑVìÂÿ°FuT˜ÕÌÙ†+ëø[0Þ‡;b]§+¬]L•§Y½UňFòã¢s°i3¸n7qãÒÃqé8oéÑã%ÏÇÇéÀ|ÀÕ¦L-­Åz¯©w ÈV8IyP™ 1úlf°Zµ¶ C"N¤?§XÜðTé€ÒÚì ¡£· 'ûã¡_r^þHF;¥ˆ\¾›nlkenE¢N¬po¦ÌØuSäûùŸáˆt(’wáÌ3ÉÇŒZÅ[ òPQ(_$™Èzr¾C6†È(BHŠx‹ˆ*qÌü~ù>¿þà]ß‘ù!6ÍÞÐè 1Sôº.Rq,ÙÁwIDî¢ ±ýjP¯_Þ•«Ï@¥ôIÀ]/¬rŒˆ|¿jÆS9là8©5Œ gœ“ÕÓ†™³#4+úæm~ÚÅöõñÔ"“QØ> O᥂ÈHÌV˜ëL¡0•»E!³\ ÊÒžÙŽ¹ô9^œlùïBk6œ!ky·ZÌ`…¢Þ'‡vñ à‡3wu­M £}÷kwZ)ïy^%mÜ;EZÆäŠ l}ÎG…*Ò’Q =1æŽðNçd,FsÿéÀÎÒ°››8ƒÌ´2Ê$ÃôÖý~ÇìI-ÂɺƒhF$05¸µ°¯J$uEh’ÿdGW©RÙt'»ÿõ§U¢NÐ0­fÿ·÷)C=!èÏvý1†Èž@–‘¶E:4Ʊk&ÄÆE«A`êžß2ƒ\ çÛiíÃUî0wýq(ØVØÀ’4&b¸êÝ‘ïÝŒkeºœÛØb𠵕þOÛÊþ+8Œs÷̽aAíM êØôÜðUÀ¬Ö\yO,·eotÑr .=G(__BÜLGÈŽ€ŽaÒøNš=ˆŸëÚh/·*­µ >žØQûÙ£êßXÌêÎ`ó(…™ =«R¾N7Ö½\g3ÊÇZ²3óÑA¾ÖXXXz¼rPÃË:×Ç7îÐ$ôú ÇóNqA Ǯሉæè¯pþözLÚQv;Œ.~ä^× ¦7‡4fð;ªÊj^)T]Y>“ååæRaªÿ*pV<‰ tÒÓ¾M ÑiFÇ:¼Vi ÉôR?óL²ã²6Hóà3‹ðãŽÉDüÁí³ñô¹“®8ž ’U¿ '›dö%ÿf¦×q-øÑ?`4׫ˆË8›5qS6‰étu4/„žƒãªÃ‚—ÁªüQ@á¿:¡ £Ä¢rc›¥|Á3ÒÅ"ösÊÈæcòMq;ߨj]³©¨I ¢õpWí˜kg¥ìr³b¬î“©çÍŽ uÇóy Óøb[æpè)ü “w™¹”[§³iç×ÿ þý1üŒ•^Ñ’Ôp½8¯¿}vã–ßXÓñàŽ„ƒÈoìç/fÓÊŠ¨ΓÑ>ÆÃv§žü5Õ=µ/Z®´ˆVîš’£Ç P(ÄÈI~ðî¶jhY÷W{ÃŒZþv–¼Æq6˜ ÖŒ––b£HÚ2®_“X…¢)ÊÄpD˜ÅЃ½r²QÆøzæyA;¡È¥ë²Ý:ϰãkía?mIÃÖ©½þ'`úrÏÒñ¿ÅáôXÁkÛá}å[ì ±sLù†“k³ÏëÎÚ 5E$6B jä_:I>3.Z’ÄV¯‡¯{˜¼TS.?ýð‡Ò_AóàÔ‰™B [¢’¬1ã;õb©CûÔäSÓø{²#‚ëx=ät8“®ÈQÃ:“‘£¨ÃrÕ»×/š«+´çþÏzkÜO§ÑÎitLC¬—8®?2¹gl¢{ülV|–KUeçêßVÄÌË[†çµïuþEûçLˆòGˆQUÓ'59Sùh§¦¬½n¤u¶§‹E3…GžÆpâöú€a1U™È¨ˆK%Ï:>F¤O†ÑŒËé ªuvDž}+ç@dBcØt„ýz½¦ÝùX®?Ä^š²Ü ¿ÇK „ìIA!*˜œ;içÃoû½z­ì:+ÌnVèû·czÙå*t}Uèñ\â‹C¿=ƒ@ïk¤•”wÖÿ…¨:˜ÕOÚ–nWÁa²Ìÿ(’ -‰Ñ4¾•PVgtxÏO mF7ÃúÀCáhP­õ²`YнFê¨yDIoÔ¦f5Rmöˆì“HñùÆ ¤>¥!ySaÙ ;«ö¾µTÿšRѸB¬ïÚA꿜q¹^çãqŽý!•gD›ó¤ék­™§`x4’ 5Öf’ë¤Öü³µ·´³¢ÄÝþ™„Ø_ÄëÞ ‡ÍzýýNHfâX«¯iDÅŠY ÕÜGÎE'Ohå½ß9ŸËB½[tЇ"0¹oj,w8.løû#ÚBVÑNæÒh&l²vO0äZ¶Lƒ æù㬗 «ãÀÛºÖÁŽ í°³éèH(âö‘±–Fô€ö\®} ØûKˇ­äWJ‡ç“ÂÀ܈Dä¸3hö'aOw +Îàô¡ Ú:ÌN÷! øàd»%Àdtj;lþŠ1põŸ€§E Ç­þþ™¨·gæYã¦<ÂCß&kÞ‘[¸€Øˆâw) äÀõ0 h<é´pÙ5Þ ØrÀ5°ñ¡Ik®…?ª€ix .ü±Y@ˆÔíáIëÛûcÍv•Á8þîWÿsþRIÙöÚ»%ÇðZAc¯sÐ üR™jƒÀ ¿ ©O0êN¢äW9‰Ð³nºtÇÂmºô]ì,nâã´Á £ÇoˆþëGN†Ûå·ü™áþEÓò@ºÿÚ8¼$%¶7²S\ ÌŸD{QûN§ Ï‹a&oÈ<²$ս̓Уù™ Ôô5•Ÿ+}Â…ý)õjùÈ^Èm!êûY]B½QÌÉ qÓãT¾H)þûîü<ÉÐï™zma`t¨8Ïó¬Dµ2Õêê&Q›Ìì6…’ßã®ËÒs*•«^Π¯Ö ƒ¨?IJû Þ݈‘¼AÉ€¥I< <‰{¦îL«ÏsW±³=€úÄÌr£T¯‚¢'É"¹Í®ëG‹%£‚ëõ›‘ëÆu £%>"¦|É2}Ó=wX ]?ï}¹=.ž]5²jfFðÚÒøýü›]È&:”%ºrÇZû¥!#•±Ê£Qhhê"ÂÎhÀÔkþ†£„ʽy÷R!œl†D{ýÒ3ÍVµ@½}\®ÔÞŒáU¯’®öJåj¦7¢tt…©ÀÅfëžÏ”g&´Q ½:âÏådŽ}¶i€´ÇÇ;ƒ3›Ð~M«6ˆM‚†rNù‘HùDTÑÐvPC…¦í1„D!Ÿ¶Cxmk¨¾“-üÌÙK2ià‹=â Äé6™Õ'Õ^Rcrù‹O£8¶j;¥?½ƒ‚"=š‰fr„:sy1KѲPÒвè8çê‘%úIŠ•ôRÃ{,N`ºýc#üöA{kZch¶Óßû<òHm<¤ßíÍèõÔ¹oëN8V·ÆMŒÎYtÀ÷4ÜËbÄVrßµqúN©(Jš€¡È³-ÈdmH© °ä|3XJ#ùzºôÜËÆ$™Êw&™zü·ŸtøW‘¾¶>¨mvä%¨s0(±¤ÛèÈíÿû g%ès„Nã–ŽáÿVù&ò=‹*/É)T|çJÙ†Üig/kX<§Ôå‘4º„m2‡V”./>dµa9ÚÓÉ(çrd'– /ç9GmaÍÛ\‰œðq¢”o:ôh*šŠV$7³ܲ’z´éø9"UaÖÌKC 衃57 í‚•ö §­zŒ BÓXA„ýpòav(,©¦ë3LEŠÇ ábuŸ´‚ë=Åï¿ÈÏr!—Ùì: Ì]Ë"_ï¼Þ.ááo+uQ™M£Túo‹> «=ËÑ.+¾e­ ýåã;ѺGÿð¼›ýÐx·å~–°iö¬ú üЩìäÉ3Á^Ô ˜$ÝyÑ-l§;ÉÊJ4u[9gR’, Z)LrwXƒµX©»Häñ¡V”&ȤÀ®Wüš&Ã!ÞnlâE[ïawÙ+”4½o­3õ{\çÀ€Sä‘Û%Íurİ•âàé‡s f¤Yíý¨ñ±…ô‚hïý|XñS2­‰éûuò%;g8Mý!vg¡n;§hý¸?©ß„1Æ^U†û î Œ´Š²íô áXD1OZéµÒ;¦q£ hÀ†ôÊØvW!eê©QN•²Dæ‰Äá¡Ç½kB±H µz9³lS‹êÒ›àÈr‹/NEq<Ï"ü®`ˆ_a³;ªÝžv\7Ÿþ´w›QéÇñàÒ©÷ ÔšláÏÜÑœ÷:/Àb~»@èMÏÆò Èó¥ÝI' ê}Nàøþðúé÷+§Î„Ÿè‡?‚7ŸáÝR^3UtQÐßµ©3û=ûÈÏé× áÊ=9öŽ¡¸ÙXÄÍv®ßy Ô æ¹ì¼Aª1˜åW‚ê¯@R`ò l'üáæÛ©ï6ü]N¬£'Õa™—°+×àHöÑd#¾+٦ȣ-c€¤ûŸ¾˜Ç'¯¬fpïa¯““ûþܶd,þî§ë³Ð;I³—ô…¢iy ¤¯›iÈ6ކìé’q'ó)ÎC®Ž*­ç£rž…bA¿úYºm/¸jÖd¤ Šc—X2I]ü×ä„þ'qfr¥Bkƒ8Ž«È²Æ‰•¨^¶ðn¹i¨ûÏ#ÈìÈ •¦R¾9òÓF5hâhÜ®, ~‹¬¢å]“uþÕ–íîç㠻翫ÝJä’4ŽÂÞKÄÌ>Äà®ÞG0Âl1Ÿ¥q±­IdDIÎpéî "¤†¼ÛoÈžTvÿü¥ŽËÒ°—4]8Q^íD¨Ù$š³>V¬æø³ZôP5é›â1üë#øì†å`Ó-¥iímÏ茊!&;J[ãô2î)ö¯Í´"(ØŒÕÄSUfÉRÎüpe’~>o‹#ðk°/…!p\^Ì “P50& ë¨ùô¼Yi@±â°bÐY¢[©Öשã¿H²wCÄR¨LPüÛÁšÝ+e¤…ôèçø³IH³òÿlªï»Ä#Ieó…Tÿ/~Ž ã…mƒ%œ¼x ÐódRÜý‘rôɉӢŠvz͇Ѷž ®ò#޹ËWR?#X} c¤â»ÆôÄ;Ïßö$¥HýÓys"ú\Õáf¹xs–—.à7!λ"3ØDõˆºµ)ÚwÃØRó©b÷ߘž¼Šé ©¡äç"f.±w*ËHýèç-=ãëàê·¹¥SјÑa6ÝÕÔ|øÔÅR±dt¢?!L²Õ•¤15¶ÁZEÖèÀeêîKÎè/–jÝG*UdpÖž{wè6HC?µã¾IŽÕ³¾GðG«Œ–ê`:òRIèeãpgÀ×…}E&kßðôºy1>Íó°ŸO»¹ü#áý‡³)'ú’ǘŸ+vJ™¢ð[“¤9:G‘kÆcõU¾—³H &@«‰ñ5œÊ ¿ÎHŽÓ®Ò™h‹DT¤Ű¥¤®ÃÆ~sÊ$@/ïÅ×áò¹(Ò[þ§To• ä‘™!9: o›¦Ê§L»*ªaçÌØÍœÿ­V¢<1Íb¢ ü™Wþü™XÙFj¡$Âk|°ˆ‚›‚½Ì/~‚U Cö$E"ë•YÝÓ´ E¾M–¿C R§·ki» ÒÁJ3ÞPOJƒµU…$«·:¶Øñxͳ”½~Mïõ€À úý¨PNÒµiíòÔMöÒð±}mˆmÜšÐÁ@¡-ÊH_ˆxQ«£UŽ\Ó¶æàGú8•Î±ÎÆ¸T“ë!ýzƒý>î-_³6Aa"Ϙ©q‹wO~|9£ç‰ªTÙŠ@3€KêÓŸ#ôùjzE@¶†¤$Jåǃ¼F]ôUó’­põ¨ãˆ“gsù{¡Ñ‘ÿ-ïËÒ0äl×iÓÛ’!Š\êlãƒOç¥ÆTuQ½ù5ƒp–¢­"&P¸@¤~àZ¬ Ù[&C »°1‰Ÿ¹ÈêüŸ ý¦P L:R‹q1]ÿ?TýÂïNY®»›æÇ HÚÖoò>Z#hý½MÆR®'ÊyR&Œ¶Û phøîÖ$]–BQû?!oƒ_LÓÍEYjš`~驤g¤s~ôSxæm ŠZA¬w 0?Ü.yÏ‘þ‰$3|¾®uI»·Bö“q–ãuA —ø›]©å‹È²íÀÑ2åªa³)å«I¨"I *íðÙŒ„™$D';à¼!ŠÝNê$ÌéTèLæPce ØÓj`œqÂèÅ#i†–•Ñåí­›\D } §´!:C¯¬ßsóiU:2#{ %ÿ!𸊔¹O‰¶W˜iméHXç\àm„ïÊaZyð4´ÚoZ’𨔇98åçgXW˜ëd#iڅνæJ(¶ã+zqˆÇQÌïpœI7®ó$Ñ”²P>/‘¨ÜœÎ‹Ì+˜ ŽËÒç´(Åï{¨‰™¸54ŠCïÕÏeu¼þ¿÷‡¬ö磧’ù-°óî(, Ü *"êãbêùêJ¬1»õ„?۔Ʌ2§C–ëG’ñ_pqC€%~c0R3ÚCVmÛOÂâÍz~ªY®ž„;ÎÚ)$¶"ýæ›zÕ_Ž?*= MÀ†ëØë™³eHƒ!×ÔÐf¨Ÿ{ümÝÊ±Ú =C[°c;­] a$£4î0ÊiÊ0:qà-¬VÁ„tþ„Ü< Ñï™ÁMσÃË\§ç )ÔÙ­€ïŽÑ+Á =œOð]"_#“zÌ¿©}ws6äh8ßLyìíS"gsž°@2Ë"Ê{³m˜ÖfÚ—Û±%Béb?G3¼MÜF†Òe™N`‡²\áûã Ðìþ F(ŸV?®lhÛØÛGmeÿsIVë& ¬Ý‡«´—ào(«Gr¾:]Xž¤÷y®ø^Ìñ¾¯z"ë©…%Z”9¦Ôx½þ†N!;ñi‰»re};WQõ§åf„ÅÑ/óØ@>6‰Ã–EÇ×2gõ¦ã}ýØEÇ€Üw’èÀnÉ º’.ªN×C¢sÝ~i¿pÍ“èøÌY6®òP-W¨'!ìg>xfïWµý,»S¸ìŠÆñqÒËÈ‚Ñä«9©ä™¯k0ˆUz^“àRùí¡lSâÕyEyFkènÖq:á%d™ü#|dÈÖØÙ…Þ°¶ž©µÎ•ñîþ0*ÕjÖƒoÎcoÅáYr¶Á´ Î÷zøTÆ} ÷ÔVµHj3¦i`Ù6.(ÌôÙT‰HPŒk2ä]3é÷¯4¤¬Ý`Òó¸Q¹Cç§û™k§î÷ûèBrD‡'¥ƒžš °b8öYAŽtXnH!õ¬»äK©,EŽ3ºŸî³9gAµú°%Ÿ"g !ÍG®OXÙ^õ0º;{Ø¢û8-R7dñ1Üõ~îbð…ÙvO(° ¸LymÍÁÖúÀš®c.÷ÖET’ žHùµ8 Ü 'ò&÷Õsö N¹dH¹ˆSü~Whš±_›¬¿4ÅöŸˆ”¦whE3Hð†>¯„#ä5öo‚ŽþÃ#U\yXÕó8Ú²­.Ñ#KW¿³ÔŒÞOAí¡¯¤^ 6ú±*«ä(à×$àì‰lûºã÷Kuîå6‰v©¹_š9Œ:šë‰z]О™-œ¯meeyçñÀO¾û0ò¨Y¡—OPlŽ•pJ¡`ÐÈyÂÊì³Ó( Ü›$$ R¾¢æ³È Ò rø™<ì¶ÏtzG9< ßor§¶¼R`½’Cuç ŠrK±ÍQ$pEx8'|ýo¯6ÎÍ“~‘"èo@ZÙi×¹«.VMAG9X- š4gºÍÛ.YMÚ ÐÈ•áÏ.¦¢XÖª”0㺘h¸`MSïCGÊøÙ.A›J÷æI~8°þ'@¿7Á²ä'.q—”ŒliyäbEE£tµáõ¬þk²_¹[Ù·ýA¤C/IÚUÒ› Ôq7C9 $¼H#•ã-ÝõZ)cY,­&Ĥ.°“Dᮼ¼ƒ EŸå¸Æ'µÎœk.jv(ð«¶¾í…|éÞ¥¤}Qrä  ¸9¾f°ã"ç„Ó3Ç)E,nõB…·èÁŠ ìÿ¸©™JHí±:`)vÆr¬³Ã¸åà˜èREÖŽwé{¨vñcœû»Õˆ$ [iQl)®¨’D Ý¢ïSü¥èTãÎ‘ÄØ{ô (4pòå<íÆÐ%€ó1¬\ˆ÷©Yª λÀžÙ ¿A›=æë¼}Ó¤87Ï& ;£+Jå,VœÝ‚ —…îí|˜I¹¾ÅbX)wKà™¹=L¹Ù¹!Àü ýï{‹¤=Åps:-¯övŽuÈ®Á¹'̵<:cR}¶lÖHêÒò ”^n "íº«õ'ä…×ÀÂÐDL!†1wèÜÈÎü¥Š»Êš<:Šø5·gÜì Ÿn^XäUwÞè~¤þ<9L¾*o¢ Ú\܈ԙ#ݸcÎS_Äı\š¿ûÛ‚lÛÄ9]*þh52¥gŽöµ «¬º‚ae6¢pØ`TÚü‰þ)ã/!³`W0‹}Ø[‘½ õÊÔš!²?]DÄ3^ãÞuBŒ•›jbâïÚòG=¸œ1€çÞõrQ¥r¨)‡7ap(ëÔIHlˆåøI§^sÄ•«a)Ÿ¥´“¯`Â"ŸÊÌûƒ&ÉOYiÛß9»“D8¼Û5 5c½îNö¡ˆæmêDôý6ýžÂ£³;ìN¨Š¾àâŒãŸ@LíànÂâ¢ÎºàQ†Õz!aÖ+*gÔ„ìgÑ€û\]ôÄ24&1ÃlˆMóp)+ÞIã+Ã"ÖÛµ0c÷²Êéê]Aœ·›q*È/Qg÷…ÅÌB³…-†çõ?©›Oôà¼u‹4r‚o¡‹@¡% F—ƒÐ¥{5Ò•z$úç­ÈÃrÿ=‘Y7­Ëù^3%M¬±2 ÒUœEµþ9˜£vës b·› f`üCûT…­Œo©n„æÉ\àžHŽ€bY± I\jÁ7$ܣ㠩ŒžáŠRH´O=5õÆh_ #[ü›lX7Ý ˜ójõ¯j¼¶Ý $ÛùpuÏekRJ•eKµœ ιÍk¦Ò8>U+‘Ïm*1œSü>2ð _~bB*š·ÍÝÒËÄïa_?QÇLΠËsg;J9Íݽc¼ëmûJÍmP^÷1»ŽBËnv!6ó6 Ÿ ²"©P‰—M°GôƒH‡Ãn»ûzØnÅmdœ+ääÌ[àÔÅ£8 ‚k>¨¦QT¦{5á`#T®Ž×ýšóbé y¬œ ÜÝk’&O:lZÄ¿'4m+”h{­å6#á©–¬ë0 =šë)øMLZ抖64ªrú”õÕã–sç3 ‰3×’ð>¿:5ýúé#·qx$-Ó’S"  ƒˆ¥ÛW}rÎ¥Uǯ}ãcš1.3§ŸCëÌÇ·ÀZïEß¾Žae!ª7ùvVS_öù³üöx‹Û>WЯ½áô á+zHïH`V=fO`.0;[ðS"bÚ¬€FbæÃ]?¡‘Í=o@ÎÊ)q|‘_áïþ¡ÁÐφ‹ôM–vz‡µ> Õ;qh¯ª=*£†™p‰ˆ=M#¡[fÀ€i"Gpÿ„A_¬ša€÷KžOcZ>»:ûŒ¤°½j]Zé5ßq#ï¶•[ô îÿZ}sgveÚþå/è>Ö‡ËY°Í1ç…U§½Ö·“®Ÿpÿ\­ø™ ÆlV›LÚ=ŸŒ"šáƒ É²úùü—aòÝùÚ¦’›!^aÚþžþtha››-w45þ H·<,Gb¢0­D&Ål¸›!~>Ò£ô]DF¼ËTÇ<ˤ²$Óc.ÒPͤÇ*ú}SïžjeßJf¦™Ò«˜ò›PbÞ1ŽÎ·£2¤õóÃYÃ6LUGjS2Ma/+‹}~¯ZhØCè€ÙfÁ÷Ÿ=M3.‰´1Î*Ö™ZÎ uȆ†MGÕ0‹¢ëWª‘I)Wo¸‘!}/Ç— ÓïJ 6øÐÿÜW‹IIÍÑ ¤‹dˆ së4÷ä¶Q|±>çì7²qÓ •†ºßmÈnê¹°kõ}ÐÏÅ=Q‰Èg*´ç5ê£û`€[¨—V©_¼Q}+Œ~¿z襔ç–iD]×§öŒª˜l©<ÜJÕ"A:5Ç_’â‚ü½#Í(UX/½!±Á9´·\àZì]ñ—£2ŸU[s9M‘Ùâþ=1w52C=‚÷ Í4î†Åeü¢ !˜ãÌ¢eÃc&Ô^Qâ‡ùÊRùÑ :²NŒ¯À2¥.–Eð']K«d­|o ‰ROòæÐCö³§SÙí@–¸² OØŸ0žjºá³±Ã[ Hº‰SQ@rxàøœ…¤mh\nYúGèÛNÐÖJ?1É,yèPèBž ¼õeý_·Zéh¢uø½éu´››ÿO]+ö$¡k§š%™Gh™µðߨOò ¾¢ß¿}ãD„ž•hˆ‰ïò›D7G€ÿìŒ}D8¤}Œ9dŸœ¬åˆr5á™ 0½Æ—þ¾q90°ÜL¥•Q% Èh…ªü¬Y_é¯b¸M-ù¥Ý ÈæÜbš»â'l£—uª‰š,L%ßxã`Ð#ÃÉŒ·Í¿eí¦=QfêÀÕ6¦½Ò–"½Xh?ËG?ÀÔ߬¤ƒ¤aÆÝ2AÂ!~‰~X`éuGÚU8œ]ÒVEµãRÌ¥Dg?Äs¨Ç\å_°U 4™`è'h&”Z‡õÃìdzš˜ÄoÆ:îŒd*‰\¦üÕ‚opÜ`s¡Š®o­ñ¨&}@É}°½Š ì‡óŽ"TùËÃóбÍ}—BÅå:lÅ‘*ÿx^*ôÃ:Ý•?lxŒ^DØT[š˜·½snK`O÷©É4Ú)ÿÇ7ÉCÕ„–YnÝ÷¾¿ cmfÿD„@1Ð(⤜ͱ`Šc"Rˆ-£¯È,‘탨7H.¶j‚ƒeuP\žgafWFÀ^6©šñé+rf\XG&ÓP:´R¯AC€_•š4ONß—Ûqr6±RàÏu!˜žkKf £ÌeGZþj¨^M!‚O¸Ìš*h |–ÛfD5ºØyº±[0'Õ5`@3x¤¾ ¯é£eÕ«´¢±ŽÝ Ìß²œ„5^¹àãz[j…Ô®ìäŠQ+çï$ëÅÒ7ÈÞäx8ÎýU¹ÃÜÏ›kÒ? Í˲Áð¿M¯çLz• »`eܾ››á5C¨|ûº+·>à9Ûi-Ór¹Âùœ*Ï»Œ©>x²rVü“W¹)÷ý9äÒ¸¸DAè˜ÐxœõwzïÆ¢HU˜Þ†GGKãšlÖNÞÑ…®‡=•»Ç8IoŸÜ¸q,°oö0Yž%0Òà?¹Š­[Ôß•¢µ×É® %Ù“•‰YGñEÁ¥ Û‰ä™:¢¢Í±çÈæ[Íø(Š•nîc¢ÛiöÅEàš§‡ƒù){[Ö·È Wê#…Fªzyq¢öåm–ûM”)Ì…·ÓÔän¼ð¯­Ã?¦€EJL| £k-Žs6µ’²÷”Ñ„ÏoÀ’ ¸ ô¢éBïâóóVï®ù"œ|•ga^Îks¸¯`(ñVÒ ww©ý²C’zR³¬G#N¹Œ¹°Êº:ƒ¯Ù¥'ŽœÂxÌù‹è,ÆYÌZ‹¾õ~…°Uö3Š„‰¼é¥X—›0f˜ïÜjƹ=^ üå9`)J&` Áˆ^ü(q7YÆ<$MÀn~ÔûúÐ,#m•Ò°ÒÛ Üaž‡Qi6ÍÚë7³QŲ̈ Gëþ¦(´|£³ð&óœìû{Y—žüì^OZÌÜñ!‰š}1¥Hï˜V‹§eÁ(]†åas•+úáß©y£-KK *ü7êê´†£qв²iˆ2õz·%:]•ëDô1diZq,4ÕèÄêÙè/è öÃÄÕ7á1&yúþeMG­d"•sãbÜ(ß¡ò3Ùå«á*Mó&j6˜Ì£ÞÛÚ¹y7QPxÎ%o!í+gð!pE_Ú³² |÷¨Í:ä…²0÷°ð©+·TÆ=Ò¢Õ·­~g¢y–Ö³µéÏõ$äám\eç,oØráÒÕÛÇždAþ]0©§Ô9ÁÛ‡p¼ m£ '& ¿kí°ÔëéXÊA³1׆£ý5TÙ+E)ËfÜ#të»´ë °pßÂ㈬0Ž/}ûÂŒ0_Ïî‘=Ÿ¢ÚÕœž…ci98gû‰Ú‘irМ¶]2¥f¹{Ÿk«…¦ÌÜyíµ—±ü~iBÃzaux«eŠ™0íñ¿5N%Ý”ýGGUï?…tÖT^«$û>ožäµÜЊ—Á,ö6§´XSÙYdÛÇìf2> LxŒmg€;;µ× ¯ÅO´!N¸/)õY Ú 8Pn˜!D"Iit-g˼Ïϵ²¬±©f¯b†¼åÀ‡R‘°æ~Ò´€ÛOñóզŦÛPÌFíÎñõ }—·¡˜ù{sj,¯dŸŒ qƒ®^Ev£µð:vJ4`pE,¹òì/üÖØ8!üøx Gcá“ÿ¤ZgPë*[-ÎzIk„Ÿë¶LÙáBéù9Œ³¼šÈÃöÕ>¶!+”•—tïó]ÖÞÍ”g°)ImC eŒoÁ‡Çfla±äžc·úâ“É#vP'oà 7Ì< Bò}Nø7phÄÃzRÑ¡ƒ?”ú™çR‹<™aò¸nÚWO†*̺˜*rP52š]ÚÅœq}—ÛH“Iô6 %i:²¡çÔ–þìÇFjw‘JL°E¹}}¥ ÷r2}­=‚Ÿ“ȵ-%"˜¹¸á:ôPHÉëôÚÊ™$ ã¼t\$|½<4õ¾?z¹™­Ûâ‡]XWèrú<+¥À )DŒšbz¶ä/B %M=†”I;Ì0tJ¢‹BC£H. †[€FU·¢Ø ;ø”jþG·î­GÇRXÕû’Pž­›ý©žö˜n•µÈÏaÖð¯?(%†ƒÐ<’§­Ï´{ëiåà}ï@&i-Í`¥°w;‚æ D&|?XRûoˆŒñ 6@O^ú 8Ä* °@Ҁϓ80'Düx°s.Mª˜[GÎL¯ 3ÝÒ·‰YÀ²;ÌðÜ É×_ÁÓ†Ú¢¦OØŠš3 Êí 4³¾iyd/vÅŠz?;öpì~6‘*ˆÆ 8‘¢Êû •–¨‚¹†Z>p- Õ¼"ˆ’<5•¾‡ ödý3sŸéÄu í×-E_jü<0^âz:”î&ØÀ”_›-ñ²ó Uj"¼…Ö×gaoHE,.C~é NŠ$iNáèÚÇ Á]ϲb  £„Ťxø×èZÿò *³dðˆÜÒùeã%t/ñÜÞ”v²p¡‡ûág3p©ûÒç™ÂÌÓøÔªª%‚zŸ‚f»Pwí9ËÇ*h—T¸1‰GÕz!ûñÐIq„I×ó'Å¿3H'ÞŠ[ð• æH»0)Ò”›ó Ñ@Ðå€QJjßõR]¬8Òô6–ðÚµ’ñkú,RÕÖ?ï)ážòÃææº‰U Çn*{>ЧÛÜ=ï²Ü±CÒ¤Ìazª£FbôäXÊ”†;ë•­ÃÑ›LqxŒ()ÄòYp§Žë* #RîâëåúÕqÁ»}ŒP²s‡âý¶ U¬ïRNœAÌŸø¿Vª·6¸çê´%ÈÈY¹‹]Á¡H« ôU~ ^'l˜`[´£#Ù hü+ï•w>õKü!‰¾Šö‚ÃÜó&¶øDEEÖí´ÌЧ‰!uY·™wåC“XZRê Áƒ‰«€„ƼG0u>ñ@–©IK4ž1ܯ`UMʰ§ºà•=CŸjÝçÎQÏT©®£{‡æ~vÆçG¯¹ИükÃK˜ö侜¨÷`VçQ¤˜+}r—÷›Y˜uM«qâ…@ÞÔgƒB LZ‹á—/I²²œ59Øž¶¦Žo_ ºäøàü{FZ›^³RÇÂRÌ›í8fƒ#ì¥rÇ:Z”DÏî­ñ™lè ÈÛI&=ª2ÅÍ4ãï[êOÅ3 É%Ô ”ñÎZVg¬5ÏGg­ŸÜh•«Âæa Yï4èM¤I¸là‘­ds{ÈLó`Ûài6~‡6;ÒÞžyÈíª¸0_©]uγ¿îäJIÄ—‘•0ôt3³§üÌyäì}¥å‘Ú«úéáçì¥ã˜9&åØòm÷[bfyhT3’‹Ž[-Sûn€×Ár-s>nª®o V 7ïVœ°›i»tÛY‘Ê—ãÜÜ﨟ÛôOßûŽgÜâÑñ'Ú¸®äȳ‚ð£dµÅzÌ"b5Ò0`K|[ðPG Z#@¸Âý…Ÿ”<¡%%-û¯1O¿CÍĨÁ=&œ7nqÔ 3“p:Ü+†u6KX|æ ˜T†G’†Ybk,DíÂõñt"CÍ-VõfÕ4ú¥-ÐÆ )”wËÎŽn“ †,Mó’8W¥u© xK”aZÑ+n A˜ˆì‡%Ùur-&õ;¡:+Ÿ¼bÃTo¥PŽ^ iÝfGú:´Ž< cIbl~¸ÖzÔŒì¥9»tÇ,°mGx(æ8huÉ£½ñ·MÞd»·Êü»ö‚0 mXGeA§B¡ –<ê¢ÜŽ"-‘!Tü`·èâR D&L2y~bÔorÉŸ©Uê‹¥Q¥Îµú¹ƒƒ íJ'Y0Óë47qô›mÔˆxQN.®ãWajì+UéëyRP= °G«M¸‘ÿÑC'«2\m” éÛuáT\ñךGÑ{¸2à¾SÏi¶5” q‹9úmâÕ¡ÖV¼×Aé÷24˜8OüÒÊ^AY¶‹ ¸ìy—ÛŽß.C  5[éx ¶ ?rýo ‘Qƪ*ØöT¯x³ F)_öÒÒ¬˜vÌû2‹+Jw \V&ôbÛ©¢óú£#w¢ÇÈò a¾D Ï8M¾!è8>ÊßÈîkŸrv{ØÞ¿ ñFªÐûfvdwcç‰ÔPá¨Õ4 »l 4ÀÓ~uNn„ê&¢"û ûfg䥪¿ã¢wÅ tªs‘Ç W6 Ÿ½ ï¶e©ÅÂSÛŒ"œ^Ä•3ð”dåmtßõü ¹}á´ºßAJìñÎBÛµE¨oÍ9Ã/PWPð€Åþ"£ŸY6g’Fµ2MÆ8­ö8QÉ:úÝ¥»ÍŽ«¨†ëXðB+e“ú•:z}¸¡†zêÜ»C/4Bù­í ìMvëÞ)|ƒ­Éic²Œã-cS`JÍÂ1ƒN+,¤øâ±èµ5¢Ÿ³.42(8do3TÇ ø3˜Ä —ûfcX†¡T¸cåZ5ÍÇ 8_BšVŽ¡z¡Ð«]àïâin¿"Á1dÚÛXm£°>6K;t‹õ[y;ûE'‚xòª äÍÊ#ØØdt¤¯dnÓ¬æ/BS© —Šãk¹¨$”%á˦©òy±‘3ÿ] šÚh OOª–‹~N v÷€çñœ ºalËò«£A_±ß*¥±Z+r}ðµÁ±ð ÏGþÍ@nš oûÅ•Áâ|ÜôaŸ;‡,º„Ø ¬—¸Æ„XWÇÍUîëÏ1  /8ç³Ä”pâ&ÈÆÇ—_Ø3Âð²ªúŠùöÁk…îܘx“öye('„¨ÁPñ6ÜóÅY”:¸¿ÑXZË$Ú“ƒŒY=kz”E  xŠg>šJ2ÇÄ•°{”¬2ÛŠfoxÄhùT¸€ 0?H• ü_Àý>®j Zî³_TK`å¸L’|’ÃÔIG4"y8J+WÀGó0ðÆkÆ9tqØ),í‰aNŒ!ˆŸžž*j`‚ =ØC°gåe“ gþÜ!ûFìbäz“á帙—n õóþ†ª¸ÌN‰ìiIYМ:¸Þ6ˆ?ôó‰Ç„=ó—‡Un 'Yµ¶†œLÎPBi“ö¼yè±ý¼š“Ã0¨`„ÚkŠWuiËòwP nB¯Ó–“€Vã 6Kt[Ï7B±¡»èfuq¹ª'd,òøæäs“6=dßDñ¨b#ÏSÈŸqps™£?½­fé¿ àV=¶zÿ‹]™Ç Йð'ÞGÁ˜ ×^õ  ë Œû¸þ$—3p%h×÷âŵ&<ý0eù. ¢¯ ÁÌëîvlŽ‚¹M %AìÒ1ÁwÄÏMo#Ö¾‹Œ-P F~ÂKßXeë×™’Ú£“SvÀ±=ÆZš6õSœUg½!—眎dí€e,‹GÜe”Û˜W>Îl©ÿm÷S+¤’úƒB§;y}>^ 犪aÇX1¸à$Ê ßÙ­ØO5ŸyÕXðŽ¥’JAµÈÈÆ,£í¯> °-¤ú—¬'†D/4 {w#ßÿ±-â‚%!†ëèf¤ô«{2¡Æø@±›'úú`Má$EFžmŸSÑ )4ÜÈw!K©N›§FÕ· 8„Èå‘’JnÞ wÝRÊáe5í@«¸é E©ôéXþr¾h:šªuA¡‘€ÓdUàay—­ì#õV ¹Y“e~ó>æÛ%Že㽨jõ¹í_<wÑLÈ6"Š ´-õ­(#†0M}›3RcÄ•&4ïhJ¦ÖƽøÌZGKkŠÆB õaž‘© ¨_Ãö6 @ Ýð‚þÙÅ»d4ÃŽe¼¶ö¿[Œqêü? Êøn­c´q.Ëí"¢Ë\=ðýØÇ¦z ÔPvˆíœ984‚Öü…$AȰv–Ió#08+ »\ìƒì»†?Ã:ÈÔAÖ ¾-Uóq~¼–3&,‘)óM—h‹ÖQ‚†«H¢?Ê€•ÐZMv•£ô6á®éÔü¢à i›¿t5Ê)4i\sQæ9*”¯éLö±¶h4p ZªÖJ2èÂÐ9yÑö‘,î:šÕÍS•¸ÁÙê»w(JaÄïh/?€gõUé^®ãG ø¾ö¿Ù*÷q5·ª‰F8à"–síŽòh¡ 5÷†.ˆld~L•+=bÀ2ƒª_¸NüÂMøÅFç fo’Q)–¾¦qB1{ /cÞ QßqŸ£•§†(Nßþ{®Ä²‹f?KøNÚ“± ÒÀ>#s¦_Â+b•×î¹D@–`y=ô8 îÕXõYNÃ$ÀF“â|^7h ä®U€ Òú¨´Ÿ9ö̲ßMêsÍØ0¶R={ÕT€žeñøH¡³>II€ {5|äüçY‰ºДž$¢l¢Un-`ìöpRÔ~Ö<”<Û¾3‹ð|úËÇøG‚Ñ{IDޱRûB™ã¤,›qÝÍþAš“>…¢7b‡BÇÊ’vû«Ö-1­€ç¥°&ضF¨bs1ùüÅæøƒœ¥7”Ó,­*2A8;Xjd ,G—¸Vª#LCU{eÔÑvöVùmsÈ•Q•·P¿3ƒ[`oCTÅËÖà¬Ó*ˆ†¢¥ñ…›;ê×¹°ÆY•Å ”Ò-²ë Ê^ר™ÏÔZtÔ0É,¼n?šÛ‘XW…híPjUäÿΞ ™/Û,oÛ‹¶øÚM¶ü³«­’ÿY‘‡­~yšNŠNm>¨“ wí ðºRS-!DzσŸ…ä+¦ \gG °,ÞTzΤó¶Õã©Wÿú07 p%oèµAÚsÃJH@ði4Ï¡ fÔƒíå*!¥J:Z ¾TP¶k[6——ÿ+f4¶¹¼(“éҌߞù¹€Ø3›ƒÔ.æ6ަŽg I6.OâØ˜jâœQµÅ³îy7‚NÂñ‡d„‚Š™­Äòx¯Ë‰>úöÃüûëu¡bCqБæ‹Lj#fLß ' 1âPáó;_Qxeø:.ÜS¤:´Ã Qñ }3•qéD­S˜T]žãù3ò!ïË|’ ¥-aIÅðJ­í&ˆ*û—ÉôÇ ¸؈¥Lkd³>y|34•ßeicù%ÁËN`¨˜ÈpïjV¼‡ÉpÙ"r-Q¶z—è!ÓùJÜÀìµý/Ð!8R;Î!žAÑ=á4™ º£yWrÞ2zÊGäÛ¬¥¸û…TîÈôÖi@îeS-¸÷éúr=i¦}F·?,GÏÚ%ùâxÌ/xº­>NxÊdyMÛÝZïö©ÏpŸ6Á×Ë_|Ïꉑ:òƒâ7¬s¥ìà‰ˆù‘bŠ6õAuŒ5s<\£wä6q–KcÙø;¼—·ÃWqqKëI&›…\~•]âòÆf¬ PsÖZ mƒvjûôªX+·.Á?ņÙuí^ÂÐÙÓ–æ'¬}C•½ÌžEø¹F¼¿·¡§sÀö ìîü‚AŠ÷›Ž¡SnŒ³ ´?ê°ÞT|§†ÅE1BN@iP-qBåt Fá"I—x¾{€‡#ØO'^L€N¡ŒMYH²ôO& (›8/÷$Önµr¦Ã Bqî¯ãäuÄ<;Eš†!M85É8i€¹ƒÉ‰_îlq§aíUÙ}•·vWrA¡â×ÕŸ²ßȼ÷‚®í±¾Ê¶©'†­1½'·>}”&:ï ärDJe‡‰›­'~àpÌÜ俱 \o+Ór¥ìX´ak™" CBmû›ä•œ»Ôù×öy ßà×iëIÈJjð`3Åc avnž1üꥮŽA9Z%4s?hø È=x~ïO&äÝ$5š7®xÚ.ÒHÑT8)×p\ÑÚ1‹.ó“C ‹ä,"´ÿÍ-Ýl®1§cIO)^«‹4­ ‹‹,ÍtU€9¢|±e¡ÏPL+5<Ãn1³~IYÆZÄ5DUÚL«ÄP#Yß× ÿ¯ù×èc‹xŽG<¨Mm†žXkÑr7pýÌéÈltVk­&·•të)ý !Ó²O´õ󧙋™/êÜ3ðù#±‹4¶—uƒwâ¢Ð©™Œýxû¾¼ÅÔ„\"î%ÊÈ °öAÿ‘®ä.ZÒdPz‹Å¦RGþâU©xnüégŽÑ¿ÿðBXf]²9_©Æ¤¸­Ë¯>œC_J)Å$¿,¥¿q¤,™"³j’MÞUŸÊ’€ÎÐê’Ó¦µÛoæ—&|s ‘HfYŽLòw…uà ÛÑû|‘’A\JÕ$³5Hp”dG›*|רÅăh'ÀÍ^¦*SR™€þÿÒ¹#ú]Ñ+4j7çóK{«ÊPÝC:íøÑ©RÍ#$̹ágÀÃanÛê…aLÙˆ¶å36´¨4:°È. „®âÒ#ï»'K`[Õå‘£k•°] â®[d¼7 µ­ôÉ©s¥¢0‡÷wëýSn³89mÙDë.çí8ÝÑuIUqÿ¿/Yç×þðÑÏ¥˜ye%¢&d ÖSîÓJHÕØãªt*Þ,ª‚úcõêÁŽh¯Æ;¦M”·)háÞÓ:xv —È ¶˜ªw{(B‹à´C™uôG'ËJúòš5ôá={¦ðíñE„´;ë’>5˜Aá µÇž‹¼0ø“{$\…¸œÃaeöãù“4Z@7pÄ7‰Ë¨l•ÎU8ˆ†² Ñu?G À¶N‚»25‚´Mr(J÷ÊæTÆÓqü|M¢iâŽÆïuT­Ÿ)yá§Bæ"¬2†ótBÈ¥_L~ºgÛ8E®ÚßâÜeqœ<+fп2PÛÔ„Ù 1”ˆ¦Æ…ytWSa¥*¥á*¯T‰=f¢9›)Ç*gÞò+bl²(&ýHÇÜ`ì ¶¸­èÏEâ­=˜#'ìx=‰èÖ΀v?à –Ó˜#ºÚù«æ¨uUˆ oŒÇ‹’æhYСX€Eýê¸ åt4Ô+¼«¡ÄÁ|+,\C¢=?®÷Fâ#­±±£ùIú‡‰v…~&¼ˆDó"Öµ¥-Ó'ÂN ΄ªï)·óØcÔ“”ú‡M±¸šõ›Å ¿Î*qB.²(äD×{ºqlÉ Äýé™í bæ0æô‘¨žóÅe ¤ëÀ´¨~Ù DA,'9J†÷‘žü”:‘w´k¤ü-bØSBôq^¿ñS?d€á#üÁôÆ8âÃö¥ût2ñ*ú|–'5žCŠ5qòz̸t²ãðÇwªÜ‹^&*ÏIqµ{¥„ óóЧÈL¹àrÒ®Ír†øM#c)—:4áGÿL#õˆõG¦µøÂ*¼ž%ìU¡ûX˜¯Ü| è®]Í¥ Å‘öªC!A'8büQó{CÑ8²93kàãIÌŠŸ€› Ô—‘< ]3¼J,4V5 8býsÆ"_¢-Þ¯ž>lÍ×CJ¨Æ³^þ2N‰s3“ÑÕtã%“¥KŒ€Ê3ÌDÎ×'¯œŽûEññ•Λ™›Z³O³Ìl‹»_Äs0kÆÚ³†± ФQVÎáä=]0SBå¥H^†²+2" }qÍ.v%e8I˹  Ó*ñA"ª‡ò` ÆØ3LJ"ÀœNrnƒ°»—Û d“pG]QUùÜȇ¸BÚ*Ï ©—£<#´!Ìä¸NL“€ç§ÂµñÁxü)ŒŠ©×ö©=5—ÎíGƒþåø[<Ò9£¹'þß%Ý¡Sƒd \ 䙨nƒ¬eûÑÝcM[(÷)˜-} ÈTgä­ãô‚)Þ\ŠPØ0=¨¼H-†“Èp_–4já¦Ò#/[¾¹Ì&¬©µBóøyñ4¯`¹‹A"DW«bZO?¾¢òOœŸB=¢Œqð8Fòd›œ¦û+•ªÚÌhÉÕPWC2 BùŠê?ùzwîŽ4m‚·ì*œÚMáH|7ë4M—&“‚ñ5î\œ®!t± k|‚ÚEâÂö#ÖÈÓR±¨zbo c{U3²mgŒn´š°/ºõVq:¼ ·‘ðt Ô¸…xŠdC®ñ¶ü Íæšñ/FóÈ<<Ñ&î0[òx¥ä¦ýäŠ}ùjÌç†F‹â“ðk6¢e»õÿŸ.ð}«V–\º¥•¸YqöF)il<èw¢®Â[õ¥/«ú:ß÷[?S@4f€5‡`…H ¹sm­5àÀ›ÿâàùµ?'¢ÍÝ“[¸Úl#wQÖæf8CÕµàŒÍŒË÷VY^ƒŒÚñW÷¦ 1ÄÞï3$UCb|»„|}yw*€ô¿2Õ}-¤œ܈äý'ÉF?¦ü¶ìRêÙ Ë+ÊÑ|²¤‹«81á(½ÄZB`ýZ@¶Í$ XÊ }ßð ]ëY1~q ’We«‘þš]õà;%ð¬ZJh9¾)¼Ü:þ;ëkÄ)ƒ¬µô]Îú¤òg| `îÀœˆ¥~ß‘ßLõïþåÇ}ôÇUçõÍâ%è\AJŒ!šv|iÎez$áÐ#~l®¨juAtׄ¡c_}q›74X ´‚ ²Þ©šÉ°q~™÷q~ñ" B{ÓyZÛ¥7/ÑWeг2ËŽk ÑsòSlâèõ#V²ˆÄöWWM0ëÚ2aËØ«–jó}>‚5=*Ç¢Ñl3ëcõ"×9I¸ 0áP$o7Ä"^aO:âvÎÝ×´ݪùÎã× ¾rÿ¸Ã8jMæ‰ 1ÞÓ =0æÏæÉ,œtÞ¥éhx:¡ ‡ ¤6§- 3»·" …{ˆšdwø°f¶/ܵ ´—ªc]„$æbÑÕyïW‘ ¦ÅÛÉõrÏ>âw䋜¸•º{0çY¾«yŽÇVgÈõ+F§[èvE¦&þ6âjU–°¸9*+î˜ò<Œ© óººüâ 9ER$ôˆÑÛ$Ѝ/(¼ò½dž×Ç…Xül²àDµ¶Ÿú¢È9q[Úá©øiYšƒHëô?W7¼& §¦ð¢µ1«¡I˜6Ìšƒ)½ PÌÂÿVq•jÿ=4 ’÷<)L0’p&v«U×2gYe°ô·©í¡ð¾ï7x>pnßÇç¿EqJ÷ÍÝö]Ž¥™P›îÐ9ȃÑ\»Wá;‡h±!]B.€Ã,QL<ùªeTk‹vLÉuW÷' aÖ°§ÿŠAQb :ù§æ7:<>ܳz†Ég ®+N±É<°ã†»a"È3{çy–±f{6Zœ°é$Á’Ç˲ÓS³aZµÄÇŒžÄ“âµÉe,/hQ"7`m5ðï‘ó !cm0DæÞTëcrJ«Ÿo7ëeå`èy¶QË¿‹Á¥ö†³áVßiÃ*‡5ü{ÓiŽ[ oÚCº~F¦'’Ľ¿zÂtÒot¡||pR\@¬:¤8€?ŠZјRUÓùBKÛuä»§qÊöOk/0(/ÙÖª.edb1wj6ÛtÖHÉ;œÿ²M€‰ÏêæÚ‹A,؄ˠ< ãcAžË¾U¹*¯xÙ–ëçr‹¡Kí^°] $!4Öý’?…r†ZÌü™g“‹ì‚f'Í[ö¨£’ s‹Ì˲ǫÖñIÛØ¾w%¤7燌§Ù÷cò¾¸²³…œˆ“’¾À¹dãÿŽ¥—ê´ÐËÃRG`±fb;wÍšXÇDKu#[ºƒ}´Kv[¦¸ ö‰¾ˆî+—3ÙÃÌ—ƒx5Émn2šOñy%WËKù®bâç5üÛwjÐŸÃø†Ø)ߘƒâ·@¯;Êh&)C°†‰Št¨g‚K;DÛè9“G8ðÃl«´Tæ;FËæu¯^¾SEÊ>ŒlwPáŒ}¹îR¢Ý¥5ՕчEéiÜUš¤/’‡Xv#;ÊÓÌ<*{÷¶îA–cÝ.ßd9Y)nXs PоVªlK6äU¦ƒ¢#_ýÃuv›r(èbì«EÊ_éþ¿˜ ž"ÊäKÉm ô ‰¦ò/Z°WÂÝ4› ŽÓÿá¶.Hs•ðeTÁ7ŠÒ(n½!dª T~7~NÞgt˜…Ðss Ô9ð·úT™ª¶èfCF¶•EÚ# ÝXdÝ’/ŽúJIÜm`.If95cÿ¹Sn|î£ ×æÆ\/‘80ާ%+îpÙ\ØDãg:k^úÜQI;&ó¬zÝsR¦ _õQK>bèiÉ´u%ž6/¬õRý9C,9ƒ¢ŠH·˜Äñ¶ë uåNÛÜ6=`f„º|þ­7+¦Ý!dH„zBÉ\Bu3 W¼¥|Íæî@ ýF’ÒKË3ºððÊÛrÜú–dÎèÜɉqÛýQ” ã(Cëp“v¯*êèÐΈ_—/äÌav0;ó\ûZÀxž®]e:lJeó}Án¾´pÜ€Í,°mÓôóTCÒV.„â”­µ¿d’+M=vùô&" ‹TÍm¥eâ×Qàræk6=C)ö͇Â×=ã FZ‡PéÓ¤/öʧzÛ0+5 [ωL«Œý‡áwì“x0¸ª8—¡ùÛó‹Ò@ [bÅ×¢sÂ5BÖmG›½å¬5'ð¡I¨Ëž‹ÛÔª7úØåÎ#0”{þ‘3dy’½_ù)¢Ÿ>''Ì>»M£„a«=jœßò¥/q„,ð…Øb§C&øTÅ‚6)Ô„ì³eNVÒ©ŠnªnÀèßœ<œJwùxÒ¤éÓšÊËß[ÝþLK=²|7ÃûN¦ÆŽ±¡s²h#KÉÙÂz’ j'ìÕ%‡ACõÕÛê—û¼¶Ba,ùºlÑMì"Iø‘¡EÇ¥¯/[Qœ¬þWxï6 ¸²Zdy‘s0^ï­~PR,îñÒò„òÁs©´Ö¶e”áÅøùн“â*É/Ï©F"uçZÜt :‰QÿÂÈˆå ·´$;&ïõ}¨ä{èK™ªN®¤Â¢’H:vV€ ô *›]ôQ=³¼"drÆ%Pg//£@ ýÇFzÙÞLþ›CåªÞûhïÁ8·_»ÞœÕ)Άc¾ÔãFë& ³ƒ›•Â¥ç0©pK÷œhXGò©¸íÂFuˆÕ|vqE\r¢;Ûû¸Ô¬¶›wûæx´qþ¿W*:µAOf7aȺ²°Õxwƒ_1|J©=û 3‹lDw†S²¾ê*ŸH[ ±æ±+£iÉöë¶Da·ÎÉÖœ=å~߯m–±¶­Oy÷<ŒgÓŲ?çÒC+›Çî­æÒcÛL­¤»p“aÉë #‡I!•¡ðaÂißß,Öñ¥jS²íÓ⾎zÙq 1H‘cF÷ ܆= í©Z>= Ć·ûh—ѧšT®š)8&FwÔC…3…NOô4A5 à÷íºé ÈÒÎY#¼=“ÜQ ÑË^ÇšªÔ“’=s4¤·Fk$Ÿ ?„ÓÝ50¢&'ÙšÚ0nA5ØA/óbäÂ!9AòYéù ’$¬ !ù'¹R…>Eç‰.!ó+=ã¿üA ¤/ÅÆ‡Gäå}$Ni^èIÑ€…§vB¢8*Ôûeÿ”ÛWÓ/dù–Ê_s„DæT¥Û%¼RÙ|®e¼Ç!]çcˆ%ªo8ü`m@]»ðhH)ß1Ú² ‹È¨w¹ö+ëÃø3n‰^‹7y’‘A™³õÅ-ã6ßµØ/µj@áÄ1;èDê‰Jü'צc×%òóƒKNä—¨.M­,Ädjè<ìÃÿ"ŽC0ÑýÌBuëäÔÙ¢ÀõRª…Ë^û½J ŠœS[QߨV+Ú³ö›”Ì*Å'3²ó…°]fW±s¸ÙÍðé¾®@o¸º¯üAÍF\žZî‚ç±¾¤ßü[é ¨5Óˆ¾nWBï[rp‘|‹^ÁS„Ùe¾0¼MÔÖŠ³ùYÔ3pá¦;Ùû×€] àÝÄmvÆ?SêÍ$ÅKU'X]¡4ëI‘Ý.k¬"¡àKRSÇæÑ4~jH!r¾p³Ž,e†ÐLé´ÜɬY_àiÇz‚<°3RNÕ]ºìÒˆâºà³úÑžoÖÊݎĸêŠ'È˶٫AƒRä9[ßÙ°Ùtž¿ªÂçž#¤ôN¦cm¢&¤dj%ôÚB§Ö哵 …b¹X ¤€âDåã%o¤ûéoùèrýD¼÷á’ë ï› \ô¾Ö™–$€ðàÅÔ#É¿˜ÇP̳&Á€= ç)_Åøï«Ö·;=Ó̸Ãz‰Èî¿Ñ_4iKì~i_LþºO¦…õûŽô S&Û—R ”ù³ÄV%\ôÀ oñÁš/ZŽÎÏ-J8â‡2oŒ2>d¸y 0M\®øtœcŽhlÕN2*.úMˆˆD‘ ‘éP¨ANQ¿-ѳF ©µƒ„ph^Ë.Ù¶~ƪ$Bõ ‡C¢mqÔišÊ)>$‹0‹ù]4â^΂£qÅ|—X<²løf‰mÕ¬MÒrvâ—Þ¸k]ÍïòŒÿ£Í©?ŸÑ¨ñ4t>vgðŸ»êJ>‘”|Xç¶±;± :wÇ[(´é‚E‘ö u«“rø…2mÞ¼-süÎý›Ä)ÿnó™"A]ÛÊzê­‚¾mˆkÁkEN9Íû¹<**í–(‘ʔڴq™m÷êG‰IÃhO"°[R|hÁ…¥ 9VÙ±{Šu×¾§Mé~61†€Â\J¾ÀŠîürþEPsí²PïËÔ†NÌÂ÷a ùŸéo³cŠ­sŸUCšÃ#v+»qœŽ@||+˾r`çecϧÚ}^ñÆâ¤˜õ$X(ÿhÊ&)Óo±@ѨߛS&Á6ÌÑÚH~•/©¹¢åÂhý“çœñ‹ý!¨*C•@+YXFðü§ÕÍܽì7R Ï©ù2¢N5á-ä˜Ôø£°)(1¯c‡Ú 6éÕ÷£Kë0i*VrÒr&å~fKì•><Ú ŽÌô2žÀ6èéË·tÌd {ž{¼6íU‡æ¨o8¢%5ð|0Èb7Kš ‚P1’Ì=ÂÍ.tÞz06F§^× ñ¸©LÒb’‹¸þ6s¬åVl`j™º´·*ײ‘8{p»TKjQÇš'¡Ãx8ÀíÖäÊÁ©|¢ç3©ž6'Úu€V¢iÇú”¸·e³£1’@P(´E@Ó[ÔkósÖ’ªt§²³=¥·Œj¸ÁtQÐú>xÊzÐyÊX‡,Ê·Çá¯VÙ3€=©þÛ,ɹ&ak]Š8î·;xõ«2è~-h‹^é'`#…Ø(¨­î¶°úÒ@•wýž+KSm~Z¯-£s2Å ŠûÏüL`ïðò+f¹¶µƒ-½ B£¨Åæ±vQ潊H#‰ã¶« FoÛÖED¿4‹ŒçGM4W¿W)!BZ{›,…v‘ùÃQIìÔìþPãºÑØþŽÌàxÒ͈4!5rÑFøƒdð4]ÚL‰)¬oCÆ©26CÔru|?°²DÂÜ5ÎÕLTÏŠpK$ºŠüi»s¹óªõ•øÆ‚Ñãú8¡ZûWC†~‹BF…H#ƒ»²ž5s7m;–sã¡c µk¨Ä!ï‚tÿsq¿!‡»F‘Õµ.|—’n~A 3DǵòÉ«àÞì¼ÝšËEçE,æfV,ê=øyAÀü^t« !á¸ÉK>»R5­1Qæ ñ+‹GµŠdö‚H@Ç(¦dBJx· g?œ¥Ø«æ'ôÜÏ9ÕÏ¢A®gÔ ŸòŸ[[EJß<ó·éÖÚ×ùÿ‘cz'¦FÔ„Š*ìí£·‹RG r¨MÃfàïÞ‹TKOpñ_J%ÅE¹}=WœÏ;×›wVŒÑdâîDC”ÔÄ Ìdoùp9êέî·ª6 Ì]©#²}BŸÁï5ø6îf)/B¬Õ?J­PÇÆMºñ28ñDn´Mð—¨C‰’tï\+)<åDµõŒ5Ï©GîÁ)gVüñew¸ ÿ7Cָ̦{–\¼Ô©eN[ùÕ?{PçPi6ÚZwU°C÷V`Ö•ðTÌÏOü€Àö`ÛÕ€!Å&5á'%ÅHYŒ5JpçÀÍœó™@ŒÊš: ».ÖNÍzoâ‘ù·G’6Ãø…Ü|PnGâ_ùÑÀÿÅi³ÖÙœ%cEÂËG™sÆ›C B¿m+åÉØ‘se¹ú2H`m0°Ø.ÂUè´*d.Y~¡|Œ§Ùýß¾4¢ò‚ZfIICèy6Þ¦ëîÓºXùPó¶Õ*xûKÝß•#€äéLºÿ¦^l ÒÁ~÷ÌéB؉’SĆöZ€`teŒ†ûMås£[¥ ÙâõæôtJv}ꌥ€ï³ïéB[>>« •ñPv¢›ìy–>`³7.ÛJ æ &JÍ];“j’T K»>H5}õ9ëÓ}Ã!êÁ$ìÀ!@êƒH»Ü+Y‚Ö‘œ°ˆ~Ш‚z e„0±0f y;¾ÕÌŸT€‘3T¨ þ·Åà8± Úз°½¤ãŽ6?xÀM³Óêºy6ûuÙ¹òìûr UÝ&âÁÎp¿U±ÿ½26æ|Z"'"9ŽlU~É”YÛ >bÙ7£öž~?2vZX­ª_ kåN°ÉΟÉq9Œé„}9ßN¤ ñ¾ÅðŽçô^ß>_¿d @ÍT„‡Yf7‰ïãæÇJ3ñ›õɽIüSÖŠ›__u2`eô`J«©Î L®NÆÏ9p—]Ç]òÄsâmÁ) 쳑 ’£tB®‘˜å¾W- —ÖÁaÄs‹Õ©]ÀòOû.˜Š›„¶eÒ]Žv¿}¹`¦6ß$’wbØø†6ijb…¥53ºEòb8)wbÓ(@Xï©üÁë@+C Æhs›ä}{V§5‹\Vû±»Ž‚Ús%'íÒ¦äoh­DCÈ¡x‚æ‚^ö?ª„ÕßÚi=—BBó8«\p¸ §B ô™Cʦžž]ØÀ¦nT°,„9GW«…ƒ«÷#7¼EU§«÷~;IR>új˜ò6›Öó¬fà!ì€nÅ 0L÷ún`« Ʋ¤ç¾i¶zlA+ù:cE’ƒºØ¬`.UZu_0›”ìq`NÊ2üýMÆ(xG.Ž+v_£XdqBöÒ6áþòÌvØÄª6¾B%ðøöMsth¹û¾dçΉ¬ ØŒósˆ/†£ƒý¤hSëû¸-ÍD{=Y^¹Šê…º]Ý‚¢‰´Øg&™£F6Q Æ™èÛ K¿¶»ÏmJÞ«©´h€¿}އ: /{räE9kÉê¸`ÏqäK/å: ÔwßüíѤÖ(À¯XàZ~v˜-yžóŒœeŸÄÜJ*î¦þ@ÉŒ E“G¿WEºBEå‰"S9V¾6QLa"Òl⨂lŠfH½WzRrÜO¤'!Qˆ@µÓ\' ðJ!C‡“É0 Õ.˜ãC¤åio‡€vÿŠýŸÊûí£¸Y±‡Íe6qÎKÊø³¾¥gÎ0yyc ƒ7Ü ‰Ž‹üýÑD âU¤·j‰ˆ¾¯1Íwð¦GöF—ê…1ôv ¥ÜÄ|øsé-Qáà´Ê&áIRÆŽLÀkã€âžýy#ùVeF>€_gnXà2â?#ÈÙ¯ì¨G7¶ÝôG½,k¢•,f—­]ŒK†ÀÀô,e'Þ†‹\µZÍVB™ù‚©~3Oå-cþš| ±•áåu Ô²n"-âz›ObRöìÑ\&/É£·ÞQ¹½Ô¦Õ LP˜±h-8ó[Ií}4äĄ̃…2`á­|gŽÅ3N/¬»UçùÑîŸ1MSÕVìÞÆ·€È9r2ÏN |©‘ÇÍÀ=ÛOfk‘ÝiU(ªžbŸ×+Ž6OSfQ6Áü¯ëŸ$DË“™£¶\Ðá$tÚŒ¼ñgg‹Ô€µ$Í\]"jy>o³†¶j;›`±¸Eq‘)ìl&ã O CO£9À·`Ô“¶¤uÕrçË4æÜðg1NÕ°ð…Oˆ¶¿ LJ”xÒÝ¥°'ËÝr§Œvw\†5AbBƒc:'ÚØZjµ·Ceáà\ùÀÿAGY»¼z|gŠïn[Sª%a… xiM„P¡ înᜠ9ðbá O«‚¡¹—îÁõ ‚šÄà:èUÏyUÄßÁ§œêd;×½ÿ)ø¿ì× Vb~ˆ Ö®qLÚõ.ð2°•= ?}8‚åÁ9à!<[(›®‰ôbùÌUMˆ;Š÷ãU6›|%μv§öLN5Ã}súšÖök‚ðv‹óŽŸ„’M#ï£Ówo['Ô|¼¿ñs!…èfÀ’{óo˜ºBëIÛ¿?x”o’O‘u„o.Ø–. ΋†P¦IcNNC²ûÜf!p6ísKx¬K¢”5”‹ ›{ôöÍjÏÔ¾Öù(¡w3Åâ9c„›•‡‚»ï/&];U2ÅAælêZ‹Îì2œ´Kùõ¼ÜQ¦3˜ØÇ¼¹žxfy„6ÿ2óžð-;V©a¹ÙãoóæÖή¼u!;?M5R xÝäŒn&@.‚¹b¶ZÐ]Æ$”‹gÜé’ƒ˜ÄóèdбFA܆ê¶>ÓÆòPº¸6²|{ áAªã‚2~7¼vE¬ÆÐ¿X}ŒÈ„íã²'ÛÌ=[&´3k>οˆm‚k¬¯Ljô pjÙfÏL›~Å$m,`]Ýý÷É]‰á™ùõtºzÌà鈭=Úæüã³1Uwí„É,· ÿ}Ð)B}ðƒÒÙµ~öÀ§P»ÍÖ–—¦?šjëgÀâ,ãMÞÓçxņÛàªz¬ŽkBëFqÍ®4\¨fp›Ø,0Xä3ì)ü–»>æ¼ XeÆgÒ:6ÜÜþ×¢¯½w{™Œn5_†ö4ü„oU|ÝY’ÿs²RÊx}yÌqü÷ƒRJÁÆÛ„é_å€RzÉM0!þWÎ ‡ZÛ„ùi?»ÞI0úQ2Ë€d$ÎrzóÚ2¤Ý[kçmÇÀb ›ŽŸÎá”ßU¶Î( Ò)`i5V ìþûg‰±ÀLŠà³*ÚÀwÝÏR°›Kí­—„¹4uç(Jkvè®Ö¥8û4)RŠR†ãQÀƒWë3™iøw"Í›1µgfgNjümª$lÏ“€cé0ЂbLd°‹m³…~œxô»ÉQm¢¡4ãF5nüG¦ãYKpE¾¢IÄUPƒ^bà×´½VœY8•Q)?)æJ.­ÈD2 ì[Ížžo\5ÑðY©6èd' 0p˜kíd«öMÛÝÕSH”Å0†œyùvàq½i ’Pþ*‡í§ú—CÈ`d࡞šQœžEˆ—Mpþ¤&(é ,€ æQÍ ºçGcbØÂI.h µyµœ$P2¥;Öxa¶²vŽð˜ ¦B$üí$ùÎÑ®.F&ðš“7U=(DÊ'‹y½Ðs4;ùmvsËÂà߸a±ü±Ì<¤öÂrb[4ݽ£/ùÖ:  ‘ŠŸdþ´?ýö-¬†_z{.N(Pün“ ¨Ò]á݆”wEyE×Þƒ>ÞÆî¥±wh3‹Ck¢Œ¡¦|oÌPÚ\£LÄ ” Àˆõ ÏQ+„ £®;î^YaÉ¥“)!ý¿Âkå —Ðq|•H=cq\*©YT¦Çá³b[ñ+sçª=díáú¹uEîP¸†)ø‹Üà?¹j%v?¸Ü×?,yËM7?óüʮן˜ìžuÛüh‚0EîÅÞ°³@ñãwk£’¿gü9µ˜²c€Ö<w|ÓÖÕ0瀀oíŽ^Ø¡~…W,Ûªé/‡ôæ@Ǽ%}±L–³à}Øäl´Gû0Òd ;Ÿ¡Çµmä( øŒÅlh[09¢Ô ,³HƒYù/ñ·Õ,Ýòª^>“˦œÅx_‡ÂÕ”ú¨ЗÒ7Ï3ÉI›vCTÖrg‘R¾¸}këžH';a ³@¨Ë`ZeþÇ>©£j…·ÜÎ“ÚØ°<Ù.V2‹Ýyb’¬xû 1SuDæª ç±ùZo¾öX•º+2² 4eñû„¼«ÿ”^0ŒÎ¦·.þ)A…'²Ñåêr8F÷Q=•2Ì Ôí¦x#<(@^$š÷Ž´ÏŸn8R ‡0½´\¤d†C&Hê<3q±¤võ¡j­ó8¼¢ç‹ ¨:‡ ¬Ð'ÌÐê¼'6„`ci>˜àݘ¶-û±ÃÍ Žy¨ LÌ~3‘•è‰Àvœ¾ân‡ö' iMªÇ¸‹I6ùk¢QE}Ô^ Ùe”AÕz&…ÚTÛ=cä¼Ð–€žlfð¼)Áû1çZ¥a –Œ”ùÜ `§S»‰¼Yå%Xð(BOUE}ÏÁ+‰)l·âÜQfÄCÄ•mšCl1î8N/ªržý2T¿z@s'ýð¥ K‡åóæu´}R}o´Ã‹k'·®ÒšV†ß+¨›/hˆƒÕa£ÌˆÑ‹ó¥¥¯¾ÚÒå5Ó](uå­OïÖJoÌÖ¥’@BËðŽ¡ö…kÎl5›F+éøð,°WÃ6únß²"‰#'þµ!ÚÝÛó’^ùê„m“]El‡s#Ù+\S´ÊÛgc#^7öLHñ><ÀÐi ÊÆ¼oë•-ÐÙýÓcW®‹&/Ö3æŒU5 (ëk=P=Ìf¿¶®> âîÓâݤ–k×À;tÔ]L_rš$Ø™+$Õä Ö›°ú|<€`•_Ьx$5Ù3Mª%/£@AH´ˆ¬`C¦¥1H{X+ð ~L*·–Àz *—æ,è_eåŹ'±‘ZYž|€Û6áçðÙHzWΧ­a‹>8¹YYÂ#Fœ•d–ÍϼµÎ7¯çô0a°ÿàý®µ“ZUZ0pñY"W Ly. C—Õú¥-`½oŒ¾œŽaQ?^€EaÐ9ž ü|›ï 7­:‘vQÕ‡SP+²î‰ô²Øä*‰ý²”>‰ÄsSx!¦ÛÉ$Pݽ!Z |å­«°IË•œøóFA¿ôµ\Ö{ˆ…†}O:Er<¯/ªy Ýê3. +¦ƒêŸneNòÝ\Ÿêáž`c@™=í׆½éýVûº+Z/ÂÕ«I3s²q$îô³“ˆ)Ÿæ9æMþ?BÄ.ö޳« 2ˆÒc*ã[Eâ ¯bäÚ†Þ” F‚)—øT€µ³2Š?{+Æ\£¹Ìóí1Þðáõ“ÓÕõ›fÏ£I­´p6jL#¶´[Ì/#ñÖÃGNÛéïà#µ+eE=&ÛäJƒÍ²þP^ÖqEŸ¯ù±´$àS®ŠB ú/¸GÆçŸ”/ž±µ2¹J•p›ô§:œ¼’8 ­`ŒŽiR?«³5³UÜObâ=¼ A¤Z/¢Ýaq*•»®)ü9|Ù?, ZÈ‘."eª^æ63|ž“$֠ƹÂôæß‘²‚“L²çÖ½9Q€À]“O”³‡½9„yЉQkéIÁkŠ5$¥AÈ ›_ûÚµ8ýó¯wq®BÄȘߪGù´#6ü¦@ÝV2uå(B97[{ÿp8Ï¥KÚôÑYWÉvœôW…ñ®›Aªü³Ñ)ƒmåÈJ¶øép}O’µýª¦2í²Ò]ª7‡KÎuòÚTÜRÑ‚ ^6œoÊDS.D%㎅ª–ü X8õI͆ŠH é×ÖLížcV5›¹eXÏÛúŠ m"™žÝßeæ: YC¢CÀ¨8IÖгÙ÷)Jÿ—n<)ßÊ n Ç’'îTÏFyzÏÖ ¤ì­)|¥¼ûÆk~Ç,êér˜”WÏ69ýÖ½L=P±Â @"ì‹—°xG—ìëãXT=¹ì¼ú±rÀ-ǽ²“D—ЙèТ+¡ BΛ4O–mI)ú8ZɃÉÔ¬@ŽVÇœ(_ÂKßrƒ·óú••ÐÞ^ªiB°8òn [OÀ¸…•­S)ÃO4û #zÍÑwö}¿×Gã®/uÐpÃ^ÖÃÊÊ>ü.õãÖÂUƒè‚"k–B“'Ï’ë\qZ.tû ý6ÇÁÿögo5ÔÀŒPxŽ÷˜Åöj3× €ax8žÊ§Ð™•p-à˜q™ëš:"ìÞÝÖ ¤:îÀVÃËÅþå%†z†eªûÁžn¶ÚõòBk7$¹æ]„&é`Ý}Bñ²­ú óˆ¿H “ØDÙâæ[êj€†¬¸ì,ÞŠ¤]´t*ñZ\¨ðjðÇ|ôÆÀÓG?DŠ`y2:áo#¶ÙCû{vß&xªã¡¡¨>WA†ä~(k‘HΗ®vZDK£¢·ƒxâ;•Yã Œ0iCpŠ[ž£Mz(!¶Óƒ¼¯ó³Ì[/à¼á"M>Ó²e̪ÝNîJ(ôºz³ë³!ÂŒL©'­…1gjðs3¿ï”TúCdc=ºb:pÎwÞúÿãúáñµ­ØÜð¬°\‡Ýð¼ß5Áº1Pi‰h¡¦ÿª ¨Õ{PÒkê“<+7Óº_,DS±KÇû0D »Š*Ön¤?rzþi©Ž¯7ùPéÖiW—`Dª) ¸˜iãÐiî©«©‚Ú¸”,ˆR‚JÌ÷——‡šS©þ½ê-€Fú"Ö`à,‹pB¶³ñ`boÐ_ás9ôŠº2¨†h žÝ$vÍ¡T8<…%–Ñ h%=<[.΃ÓÉkév‰F1Јÿ³ÛðIÐj4`¨Œ¬P° \¨“€F4&À­= 8IcVÃ|™/Ëî/¥€€âO6*[¸|Ñ±ßæ±ÎZÖc}b>[‹˜ìd{¨š@ºtËÚùñÒ;iÏ1‘ye^‘K½h¶²ãŒú[Tïì~\0˜@A¬† ÌGWQ“¦„O¤õHÁ±ŒhÑJj~cÁìC²•‰Vat\2«G4{᎔FÍxû¨ùà8ݳ¥{¢?\´Ý@ìyþ°Ì6míâ°bç£÷Q%;”Ô§ý¾ÃœznC®4xùÇÒ¼cs`9—s~šÓi1*—Ý_zj7TŒ²CFÌ2hÍG[\£ÞS]qù?ìþkÕ+”cÈrÃN÷Òmȹ‚ëy¼qq KR×§O9‚Ÿ[á ºŸ(ù¢íL"2?¬Œk"¼Iö/J4Z2¿6·Tø½-÷Œûk.Œdà°¾{óÚ§œ>¤wT^ºà3Ö^”ò¢2À\YÜÜS#Æîè×Z éyb¢öÃr|,¿Ï´†RÈC\iåY`Á…°¹]*uOcÂ}‹ÿ†se,€„M á=oÒ¬lg$×£Ý~·BrÏêѱ0~<Ù¦É$ÒÌKzw q¡;hSRµ‹Pº½nÎŽÖMÉ?•&­GíAó^=Ó4ÓЊ ÁÒkÀŸºTUPu½E¿„¿]6Gs^˜vÇ(`²èñ= ’±çL™mqnIHœóYv”ÈùVLê:~]ÿCˆ˜F_&É£ˆ%ïÿàKrÁòfy! &ûVõ¢Þð gw/¾ô°5TÅ›‚Ðòdxz¨.Ü3OùæK<Ù²unª¤Ýž_„2rí—ôD̾ÖÓË[î’ÀBËv¢²ùdcÙ PDrVú‹Jt¸×ů$nW-­ôÑk¯ÛZÄݸïyÅ9d%tlw—)þP:ÁäwïßVI&äøC )Ä{ *YæÐà¤ÐEeiÁêãÄ]t¥H ä%³X6ÆJ«RÞÆyìÅfÐÚ ÀøÆÀ¿/á$žx@,yO³ŸÉƒTˆí)¿Pf£kÞîvœ¿,sõÖúŠ ·Æò2Ïñ}:/G%ïôeôa3μÆ+‰»woºîZ⣺Á›eñ×Bâˉ·Xâßox¡i+Ò0æ—šºÿ å£íëMñ²0Ár]C`‡™œ¼õý}EWñ/ùÙEG8$HÚ`ÁÂ)üA^Ïã¦G=®t7{gÕO¶ÊÈû}i rgð0jBJFÓ™”’r÷†È'ú „*žÖ=œ÷óÎëÃ7:¨vßë­‰õ„i®÷zìI[­… 9\¿©Ïõ®u·ÛEê+å,ÍÿÿgêNįÕ~˜õ÷èŸWú^±‡(==ûÑýHìЙ™¿½£ˆâÂ~ ;a%ûI—®Ó–Ñ8ÒR›øÅ1«8tRR§€€*áVŸÜsɱQÙpÈ3yjYõüþnû3¼Š‹ž5#+z´¶¨Æã­'¢d4Ä)×úSk›'~’þ7» +ŒuᜠbÕ˜ÏáÎì®øãå"‰1ÜiB~û¸.OÝ¿ÿV- Æè×^!±B&šG S„ýXâ x}\0ü¯& >@ ªŒ{%Mq!þ ß\mP$ _îØ'W¾žª¯_’2óYPßx;YÊÚé_Ì&Þ°Wœ¶Z¬T<Œ –Eºó±£Æï¼g4öxYDÿ¤oGU3ôוN§W€›u(^Æ·ñjvýO7’NÃtQÌ’ðÂ&IÈòºÖg¯½ðùÿè³è%_E¸]±ˆOÛ5yÞ›ù¤V‹-;³jrÃ’ZŰZf¦‹â —C4{w¢Œ/ $.[k›ûö Šõ•ãŒé’É_à’Ì2qðÜÓ«#4È•Vb}‡ÄŽ£U£¦?"£a‘H­ª ²8Z„Æ?Ig}‰ý}þsZ”jÝz?Öƒ »§õÒ38$ÉK`0›r ÍB³^O×>aÈ6Áž¹²daûq\f•ñh)Éÿó:ˆ‘òY㢛®ýgšE„¸V C^Ûdì#öÐWÖ]Ñ©(õÝP.Ù,óÐßþáÈí+}äÖÕìËúÿôçâ(xg±Ôìµ)pN*èóv`;úÒÝañ-L~žÌæ<Ó!¦Š…ÏËÞ9Šfô¸’˜çpØ3gw±ü0CuˆØå¾˜µ^ì.QkÑ 0ycág›ïŒõ"ý¦¼·óˆRë:Ý•"ƒîn ­ ÍÅ“6m9ÒÀWøÑ ¨FUüã&·¾]Q41ËB츪Ýå]¥€•nLü^°¦¨WÄsaµ†rüª„éC„É~é¡©4«9ëYRþÑê[ž'ÌæÛÀÜø‰Þ….º[°ÆL 0¡;]iÚJ¼Ú5£ŽÍ¬’H„ãøN,DWVú¦¾“܈&a×x®#àÂÉ¿ &W=‹k•>Ö(3, ~9L•ã¶ø†È¸®Û–tp(s»SöÐøXøCꎞDUÅŠM3S¥ª?0ú\ÈÑ6$™Ù6€ 73„$Œ¶¼^˜·B8AÆ à.Mâp„1!¢ ‹Ÿîtߥ‘}ç@½PŒYÿpVû O¡öÝÂKÆœ ùcß+y6Ð# ŠŠ‘¦ûð|Ÿ þÞ£ºÆuV­±Ø.Ä9¶˜ ˆÝ÷›²4ÂÓѽ—‹?B7ji‚À!ÜŸ.ó+}ßA…Ѿ³ÜÛb걪p4û-`ærêùæ«Dâûé®\¸Ðæ±HÓØ×)ƘMòÇÞTVhY9@&iéú•þHÓ©xÔI.:mRs°ÖîŒG|…àà]§{å‰Ò~­kGT(«SÏ4’®ñ¹ñà ÁÑÓb7ôjø cSÕ{7šÇª·Ã&¹{–]Ïm9$ΦBXvñ hä¼µæbGÞÈÅLµ…zËaÞ~È~áæ¥`âÑÑzçä³Ì×§Roþî÷º(­à᪘èY0K¡3#ç(9ûÜè´v² xgAM†¼Ôs6ÙͯZ §¹õé›ò’dß2È%RÛÐå±Y×:1· †)º¿dŸ¤iwÙ í˜X9¥W9ëwVÐÏQµg½­ˆê+Äl†1»ò¶¦•ñƒ4AA‘`¤NOÞÃhQºb¾RÈ"ò/ú•õúp†s†ÖO>Õ¶¡VøÁÎÇ¿r•t哯¥Û˜ QÔCCÇ¡wå `°X£fÿ…ž&¯M…8FUAÍÙõ"dNÐ’|Efš1Hï•ËÜšàjQDÚ¼ÓqI*›ÐÏ[T¨ÅPþ‘íhi©Á'Å€ÞŒ×$Ö±kG¼ÀÚÂ3^„)g…m—zÙÇËJÃ×wl_óg× ›€É[ñ/¨úתY¼Œ–5#È™//u.E¥‰»Áì’ÕJkw0å/1|Zoú—rpX Q¦$Î âSƒîàÞhÉzÓ°W\ùä÷‘yG=,d!~4e?Ê+yÏ“hËgëÉFá Tx¨%ă¶åª·æðE²Ì=‘€£'ˆÄ_è‰êzó°á¶þ™Œ·Eóžë¸ÝÒD.y‡–\ȆYV }ùfø‡ÏyÄÕL Ü|Î¥5ëñ‡1Suû†Ó*4E£ t‚á¤ó¹ ÊlˆU\ù"‹Ãçm»Ýpœå4ѶBV•Þ;©ïCÓÆZ<} {½.)1¯íƒZ/® ÎWvMe¼ãdû~=ˆo¢ù\Öle®à áÚ垈‰hFHx³òkÝ×9«ÍX+½y±¦vò1—&| F.±ÁÃÌ&ôQnNõ4dõÚa°z$@jú¬s½ õœh7»³Þvkyp¸3‚°ÌJ•Z`ÕzÂ'àmØXÐþó¯ç„îzÍßäÀ8ßR ò²uM?Kâô¨2®xÆ^ôn±ç‘zð}@~<%UÙ{›]&ŽøÅwÐÌ_«l¢Ê+ ´Âf- ÄÙø¶`¤Gwí¤èåòB H´Û2cOÿ”€ÌcÓ²ðˆk¤Õ%ëPä·[×ðNä®._нbúhaT§ýò P—i„MŠmTèX]’ Ë…q] N¨ Òîm@×ÕN¦ò/ˆnqöÌ‚i.‘ÅÊNQõqïvˆ~ýØ‹¹˜÷ãTA˜‡Ý…5#‰Œ]@|M ð’gžÝ÷!ÞŸ€¡?ê¡Kì¼ìö¬ 9Ö‡­^× ®é [Ë-RN餉}@o3 ²gøõM$®Ê=>´¢òø® zú §ÇeÓ¼9>5;îÖY ½™zÈÙÅn‚œíz¦È|;/5 rß#qšE€ë#“U¼ ÕVô³ õTÆqEÓ÷úšŠ&¤ýÖ!eÞ{p´T­ØrYŸ» jØxA`[_¼aß=NÌFwÁ,‰ÁÃÏ»<ö“Eõ'•JN%ñ,NÏ)äÞ)‡Ö..eÛ+¬””¬Ž!6Ï{se¶„º'¸CM ~ƒAÑxìØÀï„¥™IiÀ߬K’gæ¥Ùÿ3òÝWÇzSÛ¢ÓGܧÇ:ë¢Iv5¯³¦õy1vJk~F8ÈØô¬ÜËîʼn¨¥ÏIÎI»‹r¿d„ÖXÿËGù¹îÓxIë˜2ÔÕý Åza$œ”ÏÅõþ¸"ža?•ÇWÌ5°/ip>1ç®ÄõÛ«Ïp[1:ÌšÓS;1ãË©SïÍø§i€Ðú‹1yûþŒÍ || ü}‚›û#m¼ …ó|ßÍMѾÑä¯Ö€…µ´UJ˜¯:UW.~¤T A'VòÓÁ`É“¥6 ½Kõì¶\­¦Jwl%„¸è º1Ñ …bnvQã¶·Êx“à¿éÎ K*>‹’cpO.Ï^ž÷Ý ,Ü'€§ÓÂ%›’˜ÀÏȘ¿1½{d<~‘Ô DuÕ4G±­…¾KJJ—‰  Á™HmÔÅq¬É2§¢qŸ¶ËáßAã}ñ“1½Y[ýálQƒ¿§‘R_›¾ºâ€jˆZÀmRÞ÷dÕøÖ<ý(.*zL_ãc¢Ddd¡GkË¡?Ôbš'‡z0|•ž Ž–­}#1o„€“Ç2¹¨£Þ›OG2¶2i ¿-Òîç`ÝŠÉk¾€¤ÁÚÓ€·À|‡ '¯™Õ ˜ÌðX¯`aÑU$qbÏÚÆY~íý«¡HAe—’§Ÿ,¶ÜK»ñŒåuçž³ž#4<þ23+Û©¥Yˆ Saá|a·„û’€÷ˆÓFCWó¥°1/–Û(Cuu_:CxèÈ0ãæÌŒ \l°_°pè‘ï2¾ùu‚%ÂVöl@¥ðÐ|3 ùÒÃÖôAZ„E¾ ª6¨+˜{I¨©c[`•v“€ ‹DHñ¸»Ãž Ö@\ž¦D£Ì’­=ÊßF®…ëÔñçÀaokÎYšï`t¿=K ¢VÒ9…¿½4LkÝ[™9E%9i-ëÒµŽhù0 ["Ø.•ï u®ØÍÛÃOµúPah‘G©_¬j²;âÚMFW¦P{2ûèvñóÎfê#ýj6\òõR¿zi‘ÞzÛäLõõ› ŒÒp˜ë­ßPløJ=3`1D 5?Ô\ÄÓb^â\®³åB;JÔÖÅî¨Áóƒ‹(Áz‡*ÍÜ]ýòáÏ! V ³>iŠA¢ÐïÐAFpîŽZ…xÈp9‰Ó‡îªàz²´&Õ'¢š“W‰Ñ0s¬^ü±R--”ŠÅÔgÉ+;òA`pú · è]5'<;Ó¢XÝ—Í­ÒÈ/ùhl+]^¼*ñJ™ôc±›! ×qq~¼luG€QëÇ^8£Aœ—˜:=b÷EãàPî.µ$åÏ:ÔŸ[’šä>1ü0¬•²DÁ…Ä9$.¼²–jin;Ï»›*J4{Îèšþå~þ›Pù7³á[:n‚O¬û‚¼Ì¾o Òq”C¼º´mÝ r ø³áZwc…7îåj×ò„²z íÁ.ÉÙ˜”DP>ð¶¼Ê÷÷þi3Ì>Ò5Ré5ÏÈÂe6Fý_ ¬ó='pr;BÖîuÕ•*}ÇÈ«YJ+cÓÅÔô~þ‰ãAÔ°Ö Üÿ?é°¼ÖÌ%®C¤á(‘Ø™{º¬ÃšäŒî öµ ÖB¹ÐÝBÓ5’”—×ë©ü#A¿˜©òõ{×°ßšh[u¬´-Q­îv“Á"’píÙyÚñ3ìãLFÒÌõ:€Ðñ'IG[X¿Ýß ´€ˆ¬ÛZÖQ5‰/ µ$£54*Ä¥á`~—á!HŒ+ßî^NEòÝñÔDZR&畉¶Ì}Ôßj0DAw;Ç«=pI9¼òV[î ¦HÒ°pqOŸ{gd®ç" ;pÏägF4f‘Š o¾}ë >)ä8'²,b¿·šT•vÊ}î©×P ѱ\y‘í~åKÍ0¢SÐ. /ÊsdO=û0ŰdJzˆ¯ZÄ[±é²f…ö¬fáâŒ<¡´Àœ‡×âe|§‡RLÕÎÖ jà(:¶ÞíñAi£Çµ÷á“)xhU‘ó@ÂÅûb?gp5­·‚U®Òü‹dôMs¤Ÿ_|R€VxÑš<¤/—‘CÅý\x›ºœU6OðÅÉà¿@*cÖu€‘!|è€?6«à½Ñó‰ áýKy&\ègô+ÃðÖΕÂ8Ĉp S‹{u`c°Ù›Òð`ÉëpW]šŒ ÚÄÂŽœ«[>±óu\f"ç\ÑWÝÈJkŽ?Slƒömµ(„»ñMŠû¦TJ*a­h¬:£÷a;‹¦C4B®Ô^x’ÆXuµÚAQšýP:ÿŽrÜâvú4U×JFg®ó[6$"p&E¬j28ÑŸ10«Óì–ÐrüþµB‘ÄtäÙ6Ý¿bä|åÍ•àc™f’¥¿âBŒˆ¬®{Ò›ÿÁ x_Íõµ„_PTñyû{¯ž€%îþô=K'a¨Ý~¡NOŠí‘>FàÉ-)6íi’s–Ät–düµ Ó×s“º,4Ù|ó¿Ä"\ÿe½C­E²¶¿¬þò dkÊûÒ§eÍ~§bcfËEÆ~¤~¦)5Èö–@ûý¤UŽxM€P;­pâìR »XÁ¿aŠ0Â…ïˆèà/Xp"Ãå&!@mPÄ•B1²kvâ‹¢6¿"àEý%AÅï¶ S4d=<÷Šì Ï­–ü_ƒ+`õ^öíCgIf;bB·¤wóÆ/µÈ=yˆÍ¡0‡¾xŠ—=f¿Ä©¬5µ©µŸ…AäÔO_ñà €§©!{)3hQ\åý¢ éõžûµÂžÙ NÍcyk2ª»±â6£Iý@˜ïÚ]¾=OÇÂ8zÒ[vHÒh$UÏOf¯­£¥nuîi94+JQ“Nbz§b¾TvOíïôŒ³·û}fÂ+5CÿXËçʼnnËÇ'Xà…ßRfžŒŒ«—³kHžv¥Î&º<”ÓqÐÓ£€ÝiD$ì¡«ÈV(.•ª¢’Ó¹pÈE·’UìØž4>V¾ö–ÙF´ÞçWøðömìbõ–‰ŠGKº5Iø•#ä>ÙÄ„>5öFÆ¢V çÉ÷-r±ªyhX@dêļâ´ÏäÊ÷/}f÷K|$ùi· [Q¥1Iítx8Éêü‡ Eˆ ™7M¦QU˜•|]Þ+õ¿Ó[âcœCb[ UœA’½î´ˆäw4j•üÀÍ»®¬pxíxrª º?A‚d“Ro˜ô“9¿aH¡Ûcß±|wÇþX¶q¦×2)#QS™Ïå‚‘É­íˆûæ «ìï‘*bv#Q¢ÀLÂÄ>À™N°Ü.cÒÛáEÿPÖΙdy ãÞæœ*P‹ÖyäL^h ÷RX¨|û7x¬@SV¤÷d`.sö¶`Ò¸®4ªsB‹r‡T¯À8? h:{ %(Î…ÃñH¾ h3¤ö ÖîÂbà èig(»âèø”š¤häƒïû>œwR‹5q Ót*Ú_BŠ­{#Br„²¼ÒÏ‘EŠê9Sr€+m´gZÞ‹+R´ó[r¡û¦éA²‡ªo‚qßBé×)*KV5&/R {}¶Æ(Ηt¯—]n»±IÉx«qü¶}˜;#·¹†JSÖLdõ}¬‡¬—îE‡Àé9ç,|‰„Èç½—›Ä›¶ w•å±-‘d›0Z Õ#ÎÊ}(«£¸¿j‰æCÂþôj}Uìø|‘c’ÁQù› ¹n¨–—Ô.ÔrN”à³…§uúutîëKX8àˆ°ˆÅŽjÇXQCØr 4á>މ´EiF¿÷á3ì7¯ô¼G¾æAEý;1i ˆK6£€b¡ß9ªwÕµpÿc»˜~N—W©=\?Ná?òO±¤JG10”žþN øª18|™ Øg‘lj„‚Œ±âRÓÞãe†P1b¤Ï c¦ßEáF&PõyÒßS4CI¦SÚ©€°1}¢z¤ p›têQ÷Ùí®æ 8ñÑOˆƒ|¿ÏÊ Í˜ÊÇ~ᇠW꘴÷µâ«›yI:9[‡ÖB†&`2ܾA6ïå(^°ÔZ6zæãæC®YKËín~ZW† "¹õR­­‘…mÒ¡~!a©¥\íé–ŽÙ>È_)Xoo&º“m2T$˜2éã& ”v˜EÑ1>Gp –ZáÊØºÏj?[ T£Pâצ‡gJÍqæÈB ¿ä=ÀKÒ·…–%¹%ÔwF0í°Û*P—h3ƒ^›å>kÕHŽîåì$YVF4±ݱ±Ìm&8èe›P²Ã0Öa¢=?Î5åDÿUÈ^¾ðöDÚ«~ ¨Oø¦‘ãè’WˆáÖ7YœŒ‰á’(ô϶‘ Á§ÙÚ˜±C~Õ«ƒ¶ãå3=i9j‚H2•·qµ˜4ÿ%À±­6fF-Äa]V>¡÷M&èØ[€%!F]gníõ?í–œ+ƒh‹ÛƒòÔ­àðÿû9ÖDMFϳÙ!“Ž,‹¸ÞçÿdÃ⤠LÚ¢rò04ÅóŸWŸjª¾É—2]­d.tC¥Ïš–ú»PWm.máH)#EËöv°å‹B¿Ð ?L×}~åPcYÍá…ñçûô¹sN<£J2C7’­.²L: YLÙt&þ¥5Ÿ’§~,n{6cágv7ÿèxðw•;ÄîR¯ÍAS|OaRWð0‚bžéC2š_ÌËë¥ÅSžø‰Hщ]«’¾@£sŒxq1b_lkŽ/å-ünV@ÐçÍ’ìÖ€õ °AX»»)r B¡9Û»|I[4!Ȭ“ÕßQBæ­‰·(&±Ñ< 8À½F„_/|ÌoRQl&:°ÛV2Ùš°£p3uG ¼5zàaúIVÔkv5öÛŽ*³'Vœ^¦\¯¦Æ¿²&3ÿÇæo~œuÐÈ4Â*U9Hñ€¥“88˜ŒÓÔãÇX›Î>ó IÜÂK=`+\äùÿý‹Ý5WçZ0õ±°ªó¦ŠKx*(3Ãm+F.{^Æ xO ”ìà‚¶¹'©;C}J™s'€a^w¿ ãä’`E" Ã¶ý2Ëîá§ŸèìQ ˜ÈBûXšµˆ¾ìÐݯ˜l¿oüßþÉ¢ÜÞgþàcýŒÁ…OʱÓIç¢>-*¡qöÆ©Î.ÊóŽ/³rËd¸ÒüU[ó|´€e£ú1SEVªKÛwj&mÃÇánÅÚpçßh†j7I;ð€cUšRg7š ØP!”1ßX£àLRð?_å=4Ç…PƒïÞ.FVu³:k²íqB–ïîÃÛ –a”õ” A0ü,“ú„\`èê|¦õRþQ¦=Ë®ÒFZɇû^‚Pô­GEË^ð„*…$ëw  á¾^µ1¨-¥GÂüL¡ ž‘>Ρ G®ªà¼[P 97»ÎŽ[ÏÚi.ÎP׿du àŸ·Ð FneÌѬ©×õ,–Ð㉛!ÇBΰÛ/akÏ0•‹÷q1¯GiS\\ Gx¯×‚‡¤B/ôü튤ž|¼RÞXKnåx7+×à:iíHk×P)º¨K]ƒ1°=7õ;nÕ” {Á·÷uÒ@ë¶õÞó`¬åÒÂÓÞ¦\úÖur¹ïº;Bg’Í+.-ÿõƒ§Îÿe¢–ô.V¯)Äìq~A›¢-üŒYy-#B2GæÇy-¤ˆy´_¼8_bMÏpÇÕ»“ãf#Ðæ^ˆ±¤H\NçL¡âDáï+Ç@±+m3¶çV/HQ¸ß¶ƒÈv¦»y“Ä4Ѿ ëNÂýnî´=îÂGÎã¹VÔâ5F§áŸÅzÀöSJ5p`|´Ž3Ršx‰ò¯S鄼U°¼ ù”A±r6?À° 0ÈtÁëj*©qv›M,3(°Ÿ€÷£ä=¾Ò³ÚyOèJj3ÑËÁÌ Ó`€Ðr’¡KI0FÇzBug»õÎxÇÉáÑö¥“€ú㥞((½h$pïô½½ÅÑœ»ˆè1òì5‚#¹7l¥]p©îf˜š¼ì(¶ÖUõF™<Ç8â…¯¨¬?H½‡|0Pß°]ÿ±3–Ø5ªf/×'ÒGL®g”yÛ¦·{6Ò"¾_†¿83V®jžŽ÷ljìàJæUi °QXÒØÏM¼û¬yB @*ÑÊ[æùÔö9˜9øø©Û 9ní1¡•5²l:9Ý€ÿ@oFº–@îˆGó=Õ8X·¹‘³êò Ü¹Ù¬)ç<ôLgóí§!îæ|Vg\–ö:aÙF'Φà‹eOÇQNá-f›¿ˆ!Xä§œ¤oM7Üñˆ]¢õÝ¢[­éha˜l·’a•:O¢:6@Ü+¤×žÅå¸Åw!t œåbÞÚjenrœ˜dï¾è&bƒi‚ïØOz“é ñCTÉþS ­ü­רò•QJ’R,ŠgUcð‹©}êô…tÿ :ΚsUž:ñyþ/’n$4í SµlÖË£a-;èЛd—*’3!h †9}çÔ^mñMƒ Csâ‘7>è\‚M°(›_öµzî¸L8—_ùdŸ·ghë¡An,b2«¢5»\§gí%qž»–Žt «]Û‰ý4é”U3>‚ 6 ݼ‹Ù=ìnÐø•)97sóõÜãÁK5ÔóÜ-ËR ®j7àå­ £ÓÔ$Á†éyÑ?ñ"Nå[Ëÿ6ª÷¬ :ì×î¡•›¥"Ci×SÔtÊÄü­Û¯zl…:Òd »„64vhá%`-ƒcYú1Sxâèã?õRqÔ‰Þ4ŠªÒ¯õñ ì<‹¿#ä4­Ÿ£Î‡¥õ„Ç\¯º©]- ±ð°Ù]H%Õ¦±ád"4p§Èéхî"*þ\d5Rhg¾ŠaÁå 8ûJm!fîá(]ås‚º7úN[;÷‘u°_2Шžö™Ã=üΣVLc 𽬦¯xŒ®ÞäÒå›èçH|’‚þ aõ8>«K»åN¿¼Ð ¥kß{hK5ãSr£}E^ØwÙ(¬‡¯Oçϵ÷/4{]­kP+èá·=éN ë8šÈþW½ÐÇ?Ý­–!uElJ1J 3 \Ýn[ Šl¾­@‡ )I,žƒsî=ˆœ$0¹Ïa!Í—ª ä´‘_¨þpíÇž°/œ(«döœ6{‡ŸƒGhÑ8öÜõS< F$E)@y¸ ꥂÏno3íSnÛn7ºå .ò }gP0Ùã8ljÑËy„”/šýt&@ "WÝ.o-î$ø÷-¢Úòa¸•oï-„þüâ@/¹ÂäÓC°;hçÌ»a»Û,wx¯âöºŠ¢û÷KñÈQ;„ªIäTF÷FÅ9iGíìŸë,ÞgGÓÛ<$@sã¼ÚH-Rô‹Ë6ûž¹¼‹Dü\éI½NáÙû¢.iÌ ‡iÈœº™C>ÐÕš ¶ôcѾuÀðq;ðZqa°Çý —>±yžÜ*âéëCDcTáçÖ P[çíEÐlºë‡ülXDË:N–ú¼¬¡ú•F˜ðpi[*«/Š¿W`+œFœµ„8ã2> ê¿Yðm¯ÊÍBÏÃm¶²ü§ ÇÝÜL^<ê5"wèm7Î`j=Ø·…¸P üòïP¤kò á:•òõ„æz¡€×ô÷” h¢Lj†ËéKHìî¨[#nŽ;X*€ oˆ[),ø ¾øV i)ê—º9ZXQ[ÒøäÉ‚±ÇƇ"x*'ë¡=÷ zÆç š!marÃyHåàüçË>_%¾^*ºBh›ŒC$‹íg„=r½“Mà±Ñ¹”Á0Ìhåé¡iOÏuŒû°­Ç gÓæ’„¹bjŠóð²;|6ÇühuŽª×ˆ9“™âÈ{RqS3’Ö\ñ‘HZÀ”ÍÿÚEúS®q‘ÜÕº—{É7MÈ„ŽQLC‹Õ}ŸS¿¦L­‘±û†ÚàVåÆép÷[ý°"qWÏfé æâƒs‹Ô7i©Æâ×£ ¥-´Wðɨ¿üêq»©à0aÅ{äëWÞ8ád^þ§ k;zü}¦¼ãôlD3ÜTV˜¦•_òSŒRX½ÔVºŸŠŸ«¢>¥ºq•8^7tïÖn§…Á&óy9¤$yF¸³lKõêÃ5‚C* :š@ÓÅGY\ PåBñâí©ˆ¨›[L?ç…eäíåî7¶|t˜³—`î_s»ÃøRU¢Ûb!apÀ‡š¿w>& Ä«œ´#€9m)†~,ëà-âé’ÄoD,§lb22UÍ—Ö§3o%Í´ŠQxSÀ7uÐx ‘„§{}¶ñ7aäe>ÓU®õ¹›­bçfM,ºÁÛo³w¹›ì9}Ž–îÅðOçÒC\„MY6ÉA³ŸÌkvy@”_‡bXÛ˜ÄJõ&öÅpþS»ðýìÕ§ÿ\É쟺D½¸²ûÓ8@ Šøg+€¢†…vØ|xEF „V{ 7Í\·ðú0ò/¾Ú¡±£¹?K­,—+Ýq¯­šU0µ Ça³š,GlæÍÌrñÃ4êiw$A~´<'‘[6#¤ä\ M“î*Án&QÏ/Ÿ»—BJ¸)›¢×}PÁÒ?&<œyK±«ÿE,$'¬CžÔÌ7©°æ¥×:Ñ;ªCÑ*Çà«7 Cw Ü¿…úw_k<óÉ}q^~ðµÃ ‡›¯Õ ¬ÚôqUèój?Öï}+—¼ =y#`šCr#|8^Ö}†1÷Ææ²]ªîím1‡ï-Ê36zuµëðŸ¶Äƒ±fÿí¢ïüõ´#»:¥ú5©16S…œk}†Z–YÃq\ˆb©bûfÂ"÷!¨KœÈµŽ‰þVÜàÙˆ Å~dç ‡ X’RôÙ~Êcܘw äí¨ÑYú†sªÈóÓZ¯dCµjs™8Òvû1¾@©³#´åjÞ‡W·çŸý(²²D9ü% hÍÛ„HŠ&ç1¿Õªú`úhYãELÜa¯k©>dê­Ï–g†«Ø¨~c¯Χý@'‘QúÚô%ˆt0iÞó¡â!ÅXiRô‰‡ œ¿qS—!~?¨¥iwûKŒÚqpHf ¨}޳oñ¬½‡9sÄN È~µ ñbbtd7Ö’Ým;º ûDkøþ‰ÌZÈq+Ò¦xêW&ÿYhr£í# á}Š­á;™˜µ_X˜žðC}j±Æ 1ù­‚9–R$,³^”K;Û·HÐñ4Åg†Ð”9¯yþ& (~¹tìéûòJ¡äТê J# ¦–-‡Yò¤…Ì'=Èù§Ó"âØ±9"8¯ØäþÀàdZ„çÏÜùô×úа/.S|ß ¯Ç‹t èÿ´-;æÖÊçL'ÊüáéWû4¢`mF71ˆ<õs¸÷ȶÄò+úÏtÔÔ˜™„¾éo*4¨'NÙ½²Á¼r}ÈdaØQ¶6²O2ž pÎbëÜ”2°L‡ þ(ìWì <’lgÿÕâYV»UßKct‰oo>‡Z1æGÜ–/ Wé£GYè“P¼j×ÿ YrÛ¨˜ßAÛ°G&¹ ñM2-€‚ù3±×«ª>ëâ×Ð"6.76²âS³,¸‡RBýjÝ®ªðÞ:ÌBÛ¼¬YÒ©æO0)ì~Üo°Mïºê[péW#óº›ÂO2*óÅDM ÀÛÝ 5©åƒûÛ‹÷µœSÛ„B=ö»ÌðÌýÍûCuÓbÞ0Ã×ÙÑá܇"DsÍH‡ÓEþð ÚÀ`ÿ8<³MÛ™fmB—ïÌÖìÐzº©ò'¼¯rXÁxšQ$5¬K9ÝŸÈZjØÄc ÓN¼v¤€{ø5ŤÍ;5»È£ÚÛñçјÝLiYë 1È„tM}VYÔšGhúË™ýÇ…iŒ”Šûµ Å2Pùåsþx¦nÖˆÐÐu¹Ü„”_Çg‹¬O»±°\_'¤c%ÉëëÅ?MÄ}ßÓ’î« ðFè³n7@\Ž&„ù šª;û"'ç[Xq-E5¸žëí)Ofºñá ÒÆe!ÖWQCÛŽšà–eÁ0J<^–:ž¶ÔZ=x&5q=쎻PúäÉwÀ7ÆgòIçIŒ#óÏ»¡÷mWͤ»“±žÄǨì¿WÇŠ“Êù¿%®U9e…‚Vg èN8^Èt¹\m–^ ¼W)Šu-ZŒ (Îî+œo]3ÞR§ÎØ`"2Ýò€±õa3‹ݦ™¨PŠp~l¹Á¶}cÈÍê4tde 5yÉx…×í®¹ Çd~jôY·˜]ôº‘lúwB­ƒõÑìâ ,‰ŠU*L\à‰<®ÞÁuì@ ¸¬ßrqXB­$˜+9ÄêJ“…Öš‰B‘‰%Áa9–Â:ãÙ„R]¶)+úqZ*JÓ)Lö¸šB4ñ.Àƒ-²„«&kÙ°f‹=Å7íi«h§Tþ¶u@P…ï˜L@r*,Œ.L€fœ™äñØÓL?vÆoD•B~ Õøù±xT*>C•—jJØÝve€ÝIç³·*q©=žœ0Ë•@o½Ì´ RÉ”ò¯£f|,€9囓ÍÎ"hïÀbkÜ:fU 5 q“Ï'hF#C•ëÓbï~‰pÓTÑLë" ~/Rz%úulnc‹a‰ÎõtÇ÷–S_S‹U$r´«Pµ²äwŽETPý@®soØ8Ù€¶êƺœ.·Å’ºê„ø«^Ê=¸Ûpvò%7ŒS£ïªW»åL ù'C$4P_$ð†Ñ3°Vމ#1¯攋«„õÃÉ„uÊf®g ’òÌÆuøÆd1Ý{õ*^Ä¥¡”pÒ?F¬¼ œKS-a„1D—9Rdšµ¾³é¯ ÷Ù ø¨Aô¹Kt»Õ·É>Hòø<5ÏCöÿpßé· jÄÐg`Q¯!Àûõ"Ú» qÂŽÝt¸mU»:ùÏêÑè¹ß[€•×êêT„Jà–ñÆU<ÃÅ8AÅþ**Ø'd±m¾£I€›<¨\نο*KžPràíDY¤L3³ï޲“˜]Ëv/ûŠÅC“EÖyjýRõ¡Á_^%˜®µC4ñÜ"*¥ÄÉ)?ö`ê¨Ð¡&ß*ÖNÈ+%&W ™þ­V÷É_î*4Ò2h³Y|‰×Ðå±Ö?K©ö9ò VÛP¦k(‡W§;sɆ:O=P¾§ðŒZÎhÛœÝWˆù>Vk eºháÇÏ3"Šàp¡ dn^Ò] :Ô ŽÜÙ~;ž²tJò°e;½!ÔäK/<& -ã’žÜPli1Ÿ‘¿8'R’.Á±TnìÄ¢acçkÀÀ?¾hùœoà -J}î‹0[@ã§–S ÃAƒò­K9,⇈‘¯TÏñTŒÙÿþÉ¢ 8ŸZë%n»÷È.Š*1(ÿK‘΀ábKCñ;ìè䈼™¡ ÷Ô²%Në 0Á» .úˆ’éµh¿œÞ‡mÇxsáAVóJ…ÂL|ܾñ*q9ݪkAI=š©ê"νðÇÄ»]B÷GÇd•>‚âÝiŸ ïW ÄmØRhNÂZæS‰²<ßv,?v:±UAe¯ÀUÔ¬w  ýÞ쩃¬Æ‘åÅ[Åtüà ܯ܉†I,ÐN;ÑžyŽ+7ôæ¾ 9±—žâ*Æ;‰k<å&§²¡è@$ã…ôÁlƒSa ._Ü0á/BXŒ vD¢jx?K›ìåT‘¥BæJ9~IKÛ]j@ȼ¶?ò ¢>:äñÐE(ÎåÜFJ‚cNÃOò—|šUÎ5^Ñä3Â!%tj¯ÂTòÊ7YR×wÞÓ€ˆ\|¯ýÐäPk@6:¨€ŠY!¯ô(ŽvïÚ[D£„ïÊ0çj™f¸„qàs”1Ö«ÿ¸Æ§rµ×9ô=YKÔ%\;N1«Á²gödÍb|ìƒÚò~Ù×ahîÂ먢҆68˜qX3zb²¨X¬Œà ¦(tð">†ÿ`ä$tì¨(E„ïm&–Ì\>e ’Êw˜¥©É¸±Ã{å¿ôÅ–R˜¯ aŠŸ›á)ªµÅòT»Ç‡¥@ΈÒvû]×Á½볾ÑM›Ëj{ìÞößP)¤g‚0©¢a#ÌÆ›y>GݱÛÕÙ~½ï_;VíÇú`ÇšƒA’”~ùùz™z›áf˜ïEÙ©÷e‡giY+L!áàw+ZàìB\W‚†[ØL/ÍÄf\ F3ã1¬žO2P6I8f¦‰¤ˆ‘g3dil§·%ú¶;; ÷z«ÏD)ÀÒD·ù–áMãÚJÐãýt¡¬‡Ìá×7īǼA52„íòÇìGEäÄø·`úªq ÷’‰…·¯ªÎÉÅüœÐ‡ÿŒã$•£È¹ r¡‘ ij£ƒÍwB¯.¯`””€8Gï¥Y•ZP IöïÈm=ÂzÄDÌL5m/´ þ(#ì¯CÌœ2ˆkËäsO^øW¢„ô×Ò\EiiN¶¸)°©•è·PªmîÔFˆÚ…q#Ÿò^H±ƒA—}f\ ‡dX5mêL^èò¯âð:’©œˆO±Ñˆ™–šÚH•ÏDtM|Ùï<Ÿéð$Îæâðˆó…ßƬX€´‡ãò_뎙î •\bU_ÜÓ­Üvn'õ¨CÒ‘Ìo›^±åø©×ÝlAW„ŽÓ fdj+f ¯ …¸Ö·Pä^Uöû«†Ýö{ á"ó–Ê©„³m!̰pCaДÔüåè=c˜¶:XžØ¢tÛ̲ޑ2éUiš÷üòÁ´™ ‰<ä¦V-Î`ª$þÝñŒ ¬Å¼úö8¸ém\<ÀÙTæÖO¢=%´P›‡Dv¹î2Ÿ3G™pB ˆˆI(ØjK˜8YGÚI+s0©Ò@j¿a£ “#ø^ ©Zê@hFͶ—ÑÅçËS–¿šý"å¤j€Ýã¦Ùv@hâÀŸæ[¸TJ¯ü¢üô4Ó^²g‰}Öh›ëh3ãtå15µ¯C:çG ì{[U9K´Þ@­ƒÒvÝEÖ¹*ãî•viÜéK‘zÊNV16òÞNFí«÷…Ï +çl/:„èZßðµv”ë@¤]´a*î“…$²¶~gÜij¦šSBêµ!âR*éz `‘Mi£]Ñצ3ø&7Lò·¹ES?âù†÷±7_^ð‡0ÞT}r Y"~u#$FÍŽ™}Ò•.žò L“Ææ0ê“ ©æþÅŠj‚•wß…[QÜbèø„ hTG¯•ꇓ#÷Gá4geŽÆ§mî(yQQ+üŒó… øÙ¾˜b?ã ô ¹OÏâ†K¬Ž®¬óze.ëú+[W$wÊýmÕÕ:EVz²ï^lNI5ÍŽŠÌL òvxänq1«ñ\ñÓ4"ä¥v›pøêºÌØZÇB¼Õï«jãñA' Ëf¾­É6¬½ŒòK+ÝÄA'\khý½ï&’{)]g½…säGTE‡_ä$,Ùl£#  ;”ìXhÞB¢t&|>öç’HW°®!ü³»à-?EæŽ _§~à! |Á­—ù8}bh^Œ~@vJ-94–^¯ 3>wâXù@±:¶Ù”Vu{§º»_ÏŽ¿HȲݫ@ûýl¯O–ö¾U™L¿® ²nÈnYm•)tí„üK³$ù.£%²† Zl¿i«ÛàVï-tŸ>2ÜÕgã’—æx_™R{ý1†æòÕà6³á¼ë¶Üé´î®]vŽ2VÕ­¹k…GHûoU]=ÖÙ—ùÌé7§°ýÆäa“Io€zÒÿÓºY vè?3°¢e/ø;>¦Så‰PFï£h3›ÈXŸ¾)Æý:ºÒHº¬EÙ_¡sq„ê«•ž§Éš>첯“4)²ü€-S#¼²a71)Þe<‰(W¡ß U—–É4Å£Làä»kÌݶ¡Žlðn±$ºsÕ½æ¸w"˜Ð‹<’>Dµ873qshævæÅvgO¬ŠÂØ›_äù+R„ÏQŒ\a[á$\rPÉË+dwB‡o‚_Ë®ƒ¥>¥vEÕ—ƒrÈêÈ ãd ש@'ƒ 7™)LšR¡XY³Ü¦Ô6‚ fS¨Ò²’p¦÷Sà®Ëÿ¸ö G' îî%çüèÆÿþ• JÓE²ÚçP­s¨®u²'Ì¿SdrœÅ ¡Ì!xÖ83ƒF¡î’TE=™qA°w-¹b²s²fŽà®šÑ:f{} In8áÜç€d•q#ÉꘚÔ^4Ü(è{RéÙhFû¾’ž»e;îî“ÿí{5É:H]Ù& C©9-1Š¡‹ªÙ§SÑJÏ`eSزue æL“¡5'óþ»'BÇÁ ?ì×tlŒë-”[ ì"Ï6&míÆXãR¡Êr\mÊm鯖ƒY´érÓtY:9³%‘÷`eRÄ­bc`T65Äã©H62Y:$ëµßÎK›Ÿì†ê ¦%@•a6Vä ›ßŠÀ§éôÇ´zÛ!0ᣦìç›t›Z çf†Kw­“Šåh¶QpUÎ'@RoY -¬»4ð—:ö‘'‚°†¼»Šñ…·ÿ¶ ÔŠé ¾KB7Aó€xžã»`ö‡Ù»ÀšòÊ)ÆÞÑÌ_.>Âç‘€€iiRG(F-Ú1]µYTÑ¢®Œshp𢠫‘+š=NÒ’àr[¥à^3vT[]V‰Eæ¸Q˜v<Ûðq΂ A »Ü_’ ß|—2[Ï- TA ÊÒRã®8­pÒ¨éþ¯ˆ"½zû¯ºkö ½ïWD$ñÜGËù¹<íîë.¾)ÒóÐmHáYœ(‡®&:VÏ$”( û*¦ .ÿóÔãJKǧ¹µ¼1(˜—3÷̈¡bWëÔ ®ì*SKá»!Ö»h]hâ¦éÇ­“З¨……O:‡·‚O–ã]'}ÓW•üì/ÐZ<|’z%“m\I%òFÞ|èRçæ—ÛnMÆ'P//áÕû™$cy'1Ãïò%0‹k‰¢… ›Ú 2ª7„i¦‹­4“Ñ¢"»cÔ Ñ@ê(ñf¾vfV[‚iUÑÒ þÇ!S;ãäÁ‘ÚùcH™Æ}W_GîÙ*BÁàäîM Ø·ôÉélùäVÊ D–†˜JQІÓOÖ?´P6Ëh“ùÓò<ò£ÝFæþs¹ÆÐE‹’.E¨s¼É ±:EÍ¢SU|¾·ÚLÖ‚šÎ òÈ4é9{0ÍZËâ^èûwØ‰Ó›Ö ìs-–ÇëÊÜBšjèHEï§´Íxëlþr³,pµw4Œ˜·¶’dz’ϋχ]·¥Ü¢”½>ÈMŽT± UNyý eÝ©ØÞ¬¥Íœ¨N§ _辈¦‘†¢W»`\nl”|þOؽÓM1®ý¤àF§Gÿ$'M´áé[éþ’^I­CO‚Ÿ«Åæ%þ̼‰VWÂ9¯¬䥡¿AÝÒ`t4Ïë!1qÊRÎ×±‚j îëì—’Eà³Pß5‡çúJ‚8¯#w ö]2ÒŒ3Õú6ª‡9{mÈãkÕIñú% ,Ü,ú 複ԷGn%Ôb9gm}ýQ_ð°Ø[ºKa|£²þõ#œaB!² ›v¼™ý@}×ð)4tì';þÐ*ïûzl»oyrÁa†ï¶¹D$˜EHdÒ5¤Nê[V¯š–iÎ+W¥|Þ+ Ä£WjÓñfóŸ¨æé±CEhMBü €ÃÊlŽÛà$îÑTMa ÀŒÆ *҈߫Ö2ØE.ìùðR}´óh/:õA#]¬bbb•ÓE|%W‚á’0q÷qf!‚€ÇÌ)v ¾®ŠÞTì=pY„€¦Ô=â‰Üfb§,Yntqþİ!é? $ñ^†ÌâèA·ÒH´¯sµŽ èú“eW‡šGüaZaF#m±ÇdU0›‡Úðª×‰ Žø|"x'üÈYŒíÐRKéŽÀcVc–ùJwšT8G²¬ ƒŽgã ­C¤Ôó(˜„Êœ9ŽœjŠéð}ïj[K¡¦pÿ£?|lD¼Ú”Œâг-¯ß/ý¯Ãsœ.ùsîr;û‡ª›Í ˜Àæãå]š_úàABn\Rïi%+Å œª(ÌiÁ+ hÐÚœ¢v³¾ëŠ/<Ô”賿£ûÛ‚:ètðê>Û u¨ÕŸÛ÷»ˆófžÜäø·z%éݨ¿wXäÑ|jˆÜU0=Y¨Û ö¶–ËúTÖÑF² +]ypBw 4Bõ'Å‘þ ”Œx²d¨-jp­³$«³.JYÐÌj3œ ¤‚#I«L·á–©|®¶%âÌ"Õy“Ê’W)–r¯77‰Ï¶C[ðO=éêÇM•ÏVÎÌ¿„:Q–%2Ôˆ6®$Ÿ6›$A—ÎÐ~uºÌÌõ&ér–ªâúp0Gg˜ÐïÜsVî~Š )‘ç»L²êô4„ûè{A ¼ÇÊžÅÛÃÀhpÂÏM~ôúH‡* ZžÛd8Ь‡¾Žà·2×(¶ÓãþlFGlÕhB `çpyЪ;w`š§ìÕºx¢ÁËÒü ó>UvyÝ÷˜Ò¬àvÕŒç-f^ßWþèÂéØºRIˆ‹Ä$Ùˆt}\“9VO£¯yHb»]ŠÌžãigßÔ›ÇÁˆ¹à;\+:§1ñCaqq[YþV£ÌN=ìŽ#S»Á˜ºl/ž%Æ c˜ƒ”¤µ…¹¿þNl.¶û©qfUj²F}¦ß“2ß]ÁXø ¦¦eNÃôs 7dã9‘lYuüwžþ{mÄàÜ[.þ\zH™©ÊßÁÐÊD©L ©qbg"*˜¿!Þ¿öÛÉtùÔê.ÛóX*|d¤S&Ý›µ‹?äÝwnÈtÆÌ\tAÎc {®ú€b}ÉÌ–n®ôÿg©Åщõ`Il.Å;ºÔu•(â›×N #µËªØ‡ð"W¯_\pT½Æ¡Q¾<ï¬ ÿ4ñZÏŽÚŸ Ďʈ'ÞìÖ³øóµàè4xèUünZlt3Çܤ™aT`%ÉŸ5Òôw¤èuETÜÇô¹7®Q0èt©SŒGóÍú?åIY ¯¢P¥¶™™üÎû±P͡ӸðÄ¿s ÓxL¬€Lm•–ËÆ9øSñ)±'T‹˜2Ãø9ÒîÀeëŠNŸJzäÅõ~ßJŠu~¥ŽÓíƒÍ$º×ýcEDP:ùÚžàA4ð¯å"Q-ÿõOw¨NžqôqAôLú€'¯r´ÃÔeq›¡‹AÌÝxŽÔz‡Òe0\Ùôø¾ÆÛª]јŒ®;”iæƒöX[Ÿ8)løÆËâ0Ît fÔÚr¸Ú™  ë¦;bÞ» –c$ŠÏ‡¾ÁPõYpëThõÃ4„ÃÏ/úÍ/Š%‘i¹#ãp#HKö^C_:Å˯éä $ri£æÐ*vçÍFÐOS®æPQÕ# ßþÜ^©)'ê kXâÉnn@s{›¶Z3óÃBùW½Cxé,`^’C-5Ôl(ü^¸–*IU˜”p—ÐÉ¿‡£–xÕZ“K 3­ÿ…˜7*i< S5ч¡ø‡cèÏÒƒ[ZÖÄÏ k/üŽãJ—l].½{)'Ц»¶Y` *úŠÛ„ ªõIRUJ'à “,z3[Öñã1où9@|.u¬hç,ávÝ£WXœÌ{Y€&y™žÞÄ?ÔmªΊð1ô[`ù±+èæ;ºçÈj ÚÇ9Q|f4ãP~QÝ¢ÇÚº×9j2šî–ôˆq¹þÏ‘ØiËÀ(ôÜŽ%jò”Ž­Ýc¥m.ŸCG¶šÔ0Ü…”i$ÌpqFú9‚àòæÓ‘U­€©Žo˜.JÅõdŽ ŽS ½èLE´V÷0r¶ËÞŸÿ=‰ð/Úbjƒ˜WýæðÓÔÑbqI4SÖÔ‚*;0µhØ_#É{0‹y,öEWïd4n¦Aœ\µx†œû°-¬¤¹³bÕŸúFÈõü,ˆ¬qëº1µù_w鑿|°iô0l¼švÑù®¶õKš”=Ñã´Á¹ë©Ý. RÏ"©o>‡Ë¥·‰*tò€oì§@i啬úÝ÷•ÙÎæE3=ú5 wB[7RañUÉZäû6gôzäaeò±‘¯žTDÝt"ìß Hsì#n4,úç%T؊Έó1†,B¢UÕö“£ÏIûu$©l§-Ù?M+©|áù•»XŒ01ëÝí’|KÔ8 ?E QWÊ¿nÏšÆ7s¹E¼õ•øz`&ƒrY@ñ\2ÄC‰Ëp˜!º]ú«µl×ÍÑJÔxm±?úì2yÒzÊÚ 9M1õ¦û*ünê8­†ëõÃ<ƒÐ„’»Í*PÎÖ×À®½¶¥C…¦)î’ˆK!€à"ðöM_)¤ìß_¨F=ó,¼ ‹ÂX ª|©@SØÎéGE‰ë îBä§hëoziîâ’|KÀâ]Ó‹Å[¯^ËCž`ƒ4æÁ)ãã«!•öŸu`”E^ ¶½Øó“¹4r^ä»ë™¢hþU ÚºÑ4­¦²¡oÓ¬JwäÉÄZ­ÞÀo Ë!çò<Š“ÞUïÆÅ#*¯ïö²~–Œ@»D.¨W³.KH– Ìqº´úîÆúéuãš^K³…\uµÙ\En…á»—E¶¼ ÜwÄüYµ…˜Îš””ÿD#ðV0öàe(¡¬Äx¢LOcb6û“† ‰‡â„Ì_Ó¯6“©?&}?i6|nƒSñÓÿO$>e£µ¸ ³¶:jj¸—ìµð×ÄY°«Ð[~¦”Œåà2ƒ~Ò Ìæ6·~§ ÎBH$Ó‡MªªKjUwìÅ]0 åfŸ \„#-½ ±ÆàßonhlßÁÙÜK=öÖˆ2ã<×ú!§œíUCÆHÄ´X¬½ ò¡t‘q³è—è5Ó=Ž“YqŠ`qfZ×p°Ô;%2`WqŒjÃÎöbV[¿8õa‡6á¨Lú“ZtÁ©}©*€â•ôÐEñÙ{ø¹*€É»ýþPYrûÂmLø2/+˜…º>|'”lä°æ±Úé)ßh©ÈöÊ$ÄC-´Ø•.ÃT„m°é@.¹?âÙ¿õ1Þ¯[ŒÜɧ'Ä ]jvR‘ž:Þ}–Ô‘¸pÐlC×Ï$VÚ×ø°DM•3Ýv}zß@eʺveè\üA¾b0W>Žˆ&l+Ž í¹)¢¨pÄìz¶·o¤y¡âÖš‰S§¡'B¼3ã¶Ûi÷³Ê€ÏùŒÌjl³^pÿÿS;aÖ­ŽõZkêÛsÞu£%O¬æÚÇ;nã#Šœåy‚Ìèå>§ HÄ…ú‡­!¥åÞ¯cíP%°ŒÕ9çàŽ58’ÕZtÑyRyàâ2äþ9r\‰P Ì’Tú…|¹ùöŠôÀò·\¬M½  X´ ¢ñx’ÿz{ÒŽ2|ßß¹óL'ß©’„½$–RR àáíQq¤Í%ú»Ó—'O‘JñÎæ"EzJ ÍÇL€ð€á?÷Š©vï¬M ÝQ£I(›D>êWL? ¬|‡¥ÜÂïÞ­+ÉþW™)øxú]kð¿+:Úya›SÈÿÁd±¢}hxÀ‘®IŒ&åßÝD½3w…žáë&:ÓöRwò.KÓ’3ðç½p~DÒ456(#]<‘AòEî8b·ÄuÆ¿\«âÙ†ñ %…Ræ]‹f†1@Äê³KF0W®‚Î3éoaªSDÁ[€d Ütm:F÷×øÝgῸ¦9.š{] ³þÜkB½TÙz¶¬æ‚/Õþ4qC°—ó¤i!¿íÀŒÒ9tEËêzÌ'ì 5£Ý "y ¬Æí¦v?d¯×¡oûEl¤V²½E²²½“t'j2/¢^*q6¦2®‘-Ø9~„ýç «#v7dùºh-@…‚e쬉3bœ_ÌŸ W…æ{¸’*…+TxÕ1éðsw þä›Ìo\üc£TqˆíñQy—3sΡ+§uÁNÇr³[=ÆÈ_¬¬íé0CöKz5©„çUì@/Å#ä¬W£b<5f3òÚŸ%ÀAtöÒKÀôõµy! tU‡ãX´2(’ ¤Ámâ’´F(ƒy’‚<­ƒ™l¦Æ´5è !Ø%¼ßàWâ}Pi%Ï/{â:!^Ò6Ú|×wå:ƒì$6ÝÐ Ûߥ9Â{foºhE{Oõ$ŠL¤ôð  fš>¼äð÷3u0;B¸¶OPü«`€¼â•¿fÃA cypóI­¤ÅºÄëöÄñêt¾q~ðz´ÐÄ„WrÑ;PÈK„÷O00†*\Öè/?Øë®¥i¢È$ëÌ·Íš×—N$Þ­+A°=¢qV,ªŽÉ€ËS~"s—Ä3°ACÐ1RªC’E›‡×ÎüÐ0óÕ‘šÄ.!¦âG<¼s|áävFµ?ÆkOimÛ?P\LÒ©L ICÆ[CZùl –óÀCé¶gÖ“Ï/g|¯µ4<[»çÇ:܆ÕERØ`«wÒ¶d7Ùòñ/ݫٓ_ò >ªjðŸË¤¨³(HÁlù•ÊQ~Ü‘…Ä>ÍnÕ2'Ú­y(§ªŠ©M+ŒžÈQÅîSmµæGŽCl/v·x6‡{i|æƒÆc5êñáÓ€¾ÛF!3;¹ÝeÅÏ;ë•K=p'°7‚yŽ‚& ñ×{³TyÑà*Ÿñëýù;±r®†æ¿Ç ßNizÅÚ©·Ïýõ݃fGèøîà§n¼a´èñ™GöŠš¬’GgšÌý<Ð'”ìÿà£ø •«˜+¬î 1ã“ˉõ=pÞå§µH/^À˜?(ï\‹È…éÈ+Ö½¸àQ·?Ë›Égž-I'¨‚#à8ÊãcsÕ¡€É¬U ƒ+Ýh0a7Àw{’¡C¯ÎEíªÿ¯Ì“£Õô“̨(Ò:òfBÁèÄ»?RIk5šÜÛ»í=•ü9ò|Î*Ýès¬Z9αÈæÎÖ(í•2Í<öÎR-u“¦D‘Ú›Ë>4:µŽ*Ñ#­V¯0Å(aÌÔOY;ûlJ¿‰#çh¥Vƒ­°4æß9ä™l@Ó‡°¡ÚùÂrL¦\ʉÝå#²¢K*‰G1¨Ù>;‡¿éî†Qâ­VLðõ¨q£>±ê°7ž3mÄu­FÜš~L„Jê襹O¾ÃöâßÜŠæ±µÓ!7¿ýÞÎçRpÉWÏ}Å¡Ô8•|hšRU„nsdhj óAfzXðÞZF®â£Iˆ¢,LŒ¢Ë¹Ð«ö¸óš@@EÈiµWfe•Ér¸‹;óѳiU……GÆ3Ǘ˱¨O§¼cY¼>;Ú6 ébw.ö±œ' DÄ?º»„bJ€ t˜ÕðØÞšMÄôø ¶¢a QQð’ Ý8éd¸î˜gt´$}Ü0½ä|ÎA²aùLRøD.5‰Îr·X’¾ƒŽ·³5;KÓ¾kX1Ð}—H…02hõPûàîè}ÅáÍpT00ÅZËï½\ª(3?¤·ö7SÇØqXŽþ$hRË x½OÖ0† „;CÐî—¦pÚ´~¡¨vºgjŠ,v~ŠW»} ׉ZͤkñvKöõªàôõØÝÑÚ!þ³âÄfµýxÈ+þášî?¾¤(š`“Ÿ6Œ6ܬ-xö)lýü yÆî\‡¶{øÌ—±ô(gtÛž™’êŽñÇpRù+#„Z¬Îƒan|¯Ô:.c=À ¯vxÑÑñ;ÕÃôÀ¦Á5í¶â²9ÅHìDë*qÑÛÐ j“û3çÝ´žJ_Hê Õ9 Ã÷HÕ¬Ò é£ÊäîJƒ.è+žêÉŠ¡7…-¶q_5*ýà³Hu¸÷ ÖZ:ì þG“ø–-ì±ÂN¨˜Ö‡! èõÃ.¦”ÿ‹-Ä÷/-ºB­!”óUî.G´m|…öÛÏ3oEB¤c¸AÜ÷ϸùÔ®Ûtd…T™Ï+dÑs7ëîW°ìÁ^:NA[à )3ÀÉgžè&r€üH ±ÏjÐ|]7-‡Ûã µjÆÇ·r&ú’Ûg5Gó“1ÈnǨAÆ^' wòü’­QмxƒVž’.&ŠÜyˆË ö#ÞY@vžÊ=‚]'Eo#¯ ¸þ,·:âàeMÌõ«™OÅi²(îãׄ[(‹<͹½ÐÊ%FùJÆ¢qÈ+Ú»râ?Uµ$FY#…ˆ „ ÑÙvܤÞæ6ÉR]­šdÖy¹Ö²ª/Äö‰·áŠ”Ï¹±„~$ œÐ3ÄB«˜¦žDr¡(LSåd°’£¹°u¬*î ä¿X÷H(a^Àà²Mš`yÉ\Æ¿iíØY8&¿Ö6òÏIà«3›Ýúìã‘,ýæ^×¾—{ѼŸœºÓukMÔÏÒ‹\8[ƒBÀ07)ùéÙ[Ñ(pMWiíñ€h gò?ÚBøŒÜúß–¦kƒÚެ˜V˜¥ÔfyÛó¬åÉëw)|Y¤½ZGä‹ä‘ˆ_X:mmz’ŽZ]a͆tÂ!$+TÒ%¸mï´†2#{ ’!„ò­Q Gæè îžPÿH©áz§Œ~+›öÎÅÌvN®ºHº0|ó=vVͦÈÕüGœs@tVhe6,£Be¦=^Á¯“KýlyÚTåTƒ_"¿Ð<•Χð[`j£ {ìÈ0Èðéð±#N€iê³ÛJ ùMž)î Åç¸âM`Õ¦¸ìD[BIó–­¬ŠÎ5Ûè/ˆA"Ø”©V¤É!¥ÀÍ%RáR5×/&/¬"Y}Ű˪·QJ_z3¼„C–œÈÉñ“Bž‡ög8 ']ȬxÃíªß³w®ÆŽDtxyÅ,SqK÷¹ýh¶MPŸræ­?¡­@á›žË ·PTÓ4±§öìl’Ô?懗ÇV›‰wvD{k.§Ï[\`œq? ƒJ¥Í8~ã…”Î/”+îMißÚ97Ã|<*•.Cö4ŠF½åRç«L˩ݤb-._Ö¯û|§×s˜Ç±éÓ¹L-6˜=j&"¾Q š ¿˜lœ—§ÉÑ <}¤@hò¥ðhÝQ¯ oHÏÒ¡ 4¼¾Sfí!t—´æJV¦ÄzCÁoƒmwÏ‚88,§ô«Ùòåki¡û"ò®m šûó¥—ÏØÝàKrŽNn®  Ný'Š=¼ vƒÝVÛj(3§YƒÅyÙïhZÒe`ÕÈÚ‚Æ$ê ;û‘ßÍqF¦;JbYìü­äå; ºà€áÏÆûod‘°h”©µ-Òv âŵäxÝÄÌÖ ÝYÄXTÞižÝ\¦,f+Á‚XÔ~V‘X*ïÁÍÁmZ¡½õŽòxÌá—aAÈFîx• «Fóv辰7‹êUDXÔîYØ;3©àóÀ`RуYdLG±3沿?ÉjGÄHù²¥œÒ>]ŽqH§—.p±(DRJÞ›vžš7ï¡þ,' E 06€Ê÷q«{ÛO¸Œ˜,ð5ÄÁ¶ÑÖ ¬2â"!6x§ªIÅ9Ii„¶³Z}"·îòF(IÀ‰äkæ8ï\Œú‹‰aŒ×¡Ì~|£Év…ëínôŸÀiÏmµÑQÜ6³JwÂí?Bª>ꘖRËÔîÝ£Ef#íÆá^ßíÛ?»LkWÿÔsògw²x˜ìª ±¹R¼DS¾ìóZn(0Öè]«z“ÄŽRж8Ÿ±êƒ~ë÷˜yåÃMýÖ.ío&+Ú?hÁœÚImhçä‚ÈÌËï²[ŒØnjøl—烪£s¹´ô:ªÊ³ÅÂ¥±Ý—6– ”ݸ~ýÉC¤jdŠ–Œoþÿ!^ ¥°ýŦ—yÞö¡òzy…Õ³’›\ß\Ëé6W æ­ö~?#²ù&B]#,¶¸2™©D44 ×é¸Ђ3$’^ø^ÅîFÕ‹ÎtYbãe g Å_Wúp¸(lpö‰"ly¥ÑWLWQnl ß9©íÇ9´nü[æ`jÉfßÜj+kꆻã³êŠ0u1à8—Ï}±FgJmx®!{mpÀø†ÐæÔ¹!³f%ëÇ×ìˆ1¶ÈÃø•a,&*ù§ÛÄ2i\—w¶3W«¨5‘Sb]Ç­{oÄž¦F°±™Qô-›wY,¸¼ZS¸m‹ãÓ¤pSË#¢cYÉì’’øøaZv£ûµ*ñ A¦ÉLŒéj³@‡1â&ÿR¢!€6CǤ`§Ùé•âE hº’òÒØÇ^¤ñë»–ãKœ~uƒÇ²T»¡Ÿ6­{ƒì/5™nc€¸ùŠ6“㤷hE1{óOÉè´Û 4;/Aƒ»‘èÐP§3:ÁP×u M’Š4@r­ä`mÍ=ñ¿yº‰|B`‹é­µE‚:‚q•qÙO!œOÛƒ ëUò}¸77.ÆØoÓ#P¨¶Ì]Rø¼…“#,S<ë ²òÁ…^…nhÇ«Bp B‰Ëâ°Q]yòðå…ÜoïG¾E;>¿{Ù@ I æ3ÊÖo €¦xÞóšuùïM¤UÙ€v&ÀkA–cî“ǸÖ,ÜG¶Ò̇­S„‹-BÙSè'lý«ôÇsùÕá" nÔ[˜*³˜+ÛD ôæÒ ïùŸ…9—R°äÞh2E÷cCÉÐh{êÇÚ_²†âÀÑɇÛÇ5´ÜN·†ŠŠôòÏweWêIÉ0½çcl¢|/zF¨Q¿Ñ´Á!EÄÝå™Þie¬uUÐP?Ëd¾rÑ š¥Ä§XKcžãØbÓ*´Á~I[/­ìéS]èøÆ®+°kÔ — –÷ær·IäÀþ°½M:re›6 Z9—E±K À”RKq½‘®Å ˆ·-^†Gx¬Fâ Ä›ºÇÍérë5’¶Z!ÚÄ+AnGÏ-àX¾\Ø4­”¯ô ¹Ñn*ñ’?ÝѺ¾LeØh%OH } š#ª9BÖ›+‹4¿ƒhCûK÷ü°Mµo—A™O Cq'b«pŒÝ£ÞÞ†]ýÅÓªß=Ê’U|æq ÷=­×2ü§w¬ÞM ¹ßþ¸º+ß{Ìã·<t÷mÞÊ»g<ÑŽôÄÉ<ÿÚ qÇ¥ÕzÈ[¯õ‡+ñVšw_1¬–ƒÝ( ÆÉïëäad쌣ôá‚,ë€á–ßÝ^ Høø”Û;rƒ8Œ×ÐkÕÇíºÝo‘3; ˆ©½:änZ?¹càñ-B›ŠuòØ€.â]éƒú7uã]Ú,üVýX Î%rmàŸ¡ËÔ) Mö3çG%=„þ0BYm¡Aª9&L„Ð9CuÆ9é&A(×”„ñÉ)ù»Ñßížb*EkÂÄ(õÑ®x¤FïŽËX‘uÀCƒ¶þ?(Byo3`œy©‚,Ijˆ•C7Zn~ç®ð‡V6RŒ¿Vƒ yöMòÈ Žþ;ÌFÞ±GÃø@Ý΄ÁËœ 0§-e/ÿˆýz©ŒvâHtnù~6Û—»œ´…àÈâŠFG:ûHÇh™µ=Α°¶Þ#ŒXòiyz%sx3pÇç°gÁZrèÍIGÝz榾!‘ßΊ¾½MD¹*„ÕDÉô‡o]/õœ07d¹j}×Y­šXM™Ñü¥fHÓÄÁ}2cªù+ú´¡ñˆ)ÊtÄDü-¸õÜý( D–i¶ªU®ò ';pßjwÃ¥½NlÍ©~ÝŒH?rÈ1dq§–:ö‚#%KÖ?êìiZS€á?SyÑG ‹îÏé¼Ã€žâÊ_•NØêZ»ŸÀªÐKfÈíÒlÆG °lŠ\`%´åš÷úRŸw´1 }^â¡q °i¥‡‚‡ð/ZŒ•Å]¼äC°Û˜tãìºð&Ûã|®­à„gÌ·‹èME0Àœ¨dÝ7QÌY$êçf&° ËË!Pî¤e”Z9ì¾ÝvØ`÷ÐJà£ÏÈ…3,éÉ©²˜úh+Œ€‡¡µHú†÷zPjTT/6±jOÈ#ç1bpœ¨\hT/Ó·|¥¯„ªÀeƒšÂûdëâáFãS¬ˆçXòýº»äöàé‚å—¸ý@X @èß÷ —Y…#ów¿kàÊ¢Aã¼Âñmü<}¦¾Ä•tÍ%ýyOSoß=”•A¨YY[ô2|¤OUªQÙb.3lâ a$%h4ÆFØþ¥w4‹ÑxŠæA˜Ä{t+µnO9Õ¢ï1€¹Oÿý^ŠÖ£&­?Z+¾ï÷- *•ú7œ„%ô>÷mõÿÏ= Œ­QßT8öLq<ÓPýä½'f†ßÀˆlçð$¦¤çËÊpÌl%ŠMÝÜðö!õ‹;Φá®Eh-ö=´P;…ÚÕZ/»¹ø\>0Ìï¡.r%$êñÊg6@×õð3Ò’ÇJû+ÕÑrô8—?¢PÂX®–jŒ¶´/Wgh;•ˆik}]¼ë+ì§,B4®’ÀZš"pd}zkXÃ+ŒëzÓ•Xßç's‹£1hdòœ©ìšü˜äJ± d k°»Z%w¸#þ䋹ƉÌvïªú0#QБr…µéˆáNKþ¯Åc7p¤A„t1©®=SLÜj• aÅ+J6݆*ø ¤Ê r¡ìªaÒMq«šMeMo•Ïç9“ÿN§kÞ8—? =©GÏ|²iÃÂ^ßoûÛ¢ÍF6Œ×áf]Lr"CL‹ÕÚj™üjÐM/¯Hé …DA˜ɤUï©î#‰§n’­¸ú–Q˜$ºÎ¤ÁGÌ¡¾ßŸŽe~2­F–‘ÿÐ"ÖŸç±òz¬hc†bÿv\l°Ë×Ñ/̇ª½ßfL½˾æÂ¡.ã—Ü¥ö½aŸjµ]RÝÄN­!/Íö}™ß…qý<1ÞÔJÆ"WøÊô­ÛÂ{S×´;Í#«—)UÛ÷+ROï¨Ån6¢i`ò8 98é[¦™ñÔ’r–…¥š ¤âQÈ7*MþÃüʶ”À‘W‡$äi1˜SÁ‘í¦.DD‡·‰_¥jèd–£RÊpš+ôÇ~‡~·…•J^Qµ­âŠˆü¥Ü‚!†´r°K£„NÜ”‡g˜CÃ@362¡9ÀÛ@Y*Ö×›L6Í<¼žâõ š1;›R©¯c|?g›üpYج‚þú‹!ôY—äFíÌõ¦™ƒÌd!ìã‘E¥zý0 îèy:ùP”j ?ø`ß-Þeßm1Îw•Öílã0œÃɾuŸßØܼÔT‰É[×Þ̲¡8@肺¤UïÜn“Þ»l[¤¬pYþ¾È=#Zí&Y°= 'ØX¸¿'ztîö#Æîǘï]ÉWß.êN2,fš.Êf_ˆcEÉUßÅÞÖ¾\ jÔ‡±ÀiPB©â™ž¡“>ÿ)jÀaÙº­äD9zÅ£µÈ#nõhc€½LY*ÆXi¯k[îéæmÓ48=¡ZŽr_i}ªÁE\Àצ…£¾]\~¿ú«(zF'mYüîåÜõ®…%„-ótHL—žˆÅëÒºŠ3N5/»•ȹèuu™¨Z Åâ<ŸÕ^%J!:øºŽ+øKÀ¹’^å)æô®Vñzác'Y‰RM]¾µ¦R­= ™våqÓ;±· O6í7ЉvBª&ÐÆšÆ'¡®v±Ú*GH:¡m®u›ô%zÜ¡†F±Š79‘CZRBTWOÖV¸ˆ TàãïÊDeÿÀñ„29ú§ªŒAÂ#ë¥Ú(hí#é:j³äf=ãƒøÂ×2ël¥@w\ì4F4Œ)ÄJº>úâéWô$ÍhGÙ[vºbž¾?,Xv”B^-½êÅÆåJ®ƒ‰“¦sí±§!˜*Ùðõ«Š9è©_µfZh€¶\,g(ã6£à•aY7í{ì˾ÍÃ^–ËcÄÿRüp‰å×›ÁþØ LÐ/ª¶JFiåYKG¾év: ˜ÈÍ÷‡Øî{ýÙÑgL‘-‹·NÊF¥‘^êa;hO͵„Þ'§ ôG´÷¦:âÝÆãܹĠôÈ!,Ý~»¢T±ËÀlbuᥔú 7Ó«|Ói,í’vöÛ€Âý+RG•Roã‘™µ·À­ÏpN> Ü|ÖD`â›kû¡’/ Ëp}Þö7í˜ÛsâDüó-îr{± `±Ü[Jè¼5Ö‚NZ¯Cñ%¼ýÄä'hþ>ôItÕÇï$‘6J`ä'—E«””áhñŒ€"‚ò_´šY”ê³Ü¨eëÛÜK˜ª'ƒÔì°“¸î¶T[™ž@UÒÏy>Üüoà±×úvqŸÝ߃$ÜDó›BñŸ¤(Ñ‚Àt[ºªLšUq*dûa…ï™{ãPi_ªYóà¤pµ%%ÐEs`EËR1ëä¼ÕUühOxÛí+>ëŸi\Ù=›ŒY‡`Œ5{ ¶°´¹±’ý„AÒ%7²%¡ÉݰcȧÁ?¥}¤Û§—â~©3UÍÇÓíßÕäè’ç•ÊY¶.¨9™}^X‘À†Œ H½J»Å®ãÙÊ>¤åcÆ|*Ž]}ùÙ‡²g…IW1'}3-ço¬è%O¢kg±UˆZãk·ãO»KÍ1K‡—bf—§—¶’(¬¦UyPh“‚K0ÅO@5ñ‹«od1[IÒÀxÄ+ø4‹µ?ÀG…ñdR«ö?0N_ , ‰»ŘL# 7¼vW—‡¨m’ÄÇOá·*¹œ$#4Û馺üäÎ&ˆvú¨øÖ\;QáèOß§¦*•ç†ôöBÓ¨§[=ÞòûÆ÷ø pb±Ie•]ä]%eШ4Áe:4×»SÄH#Pêž]Ðt¹XvÏWËDCõE0! ºùÝ MמJ¼!¡«V¤¬(@ýooFâOX£¹Tz× ö6ŽLÄq“ÔŒÚï¿FÛeQî2eÿ²:1Æ&{P̤–ô 2Bã@wxøžz<íÆÑ(Ý—d©‹µ èâMv§Mår™ÚÆsíH“ýÍ|f ‰[Ì`¯Ê ¸òå—?åõ°`ó(,ܱ] Ìj6ýýoµÐö@]j«›¶©Ë5!°²2°²qp¶×H3\› "ž’.Æš&³<5ìòâKç rø¦þõ¦ý@3©[äõÀ]•Þo‚H­*@*Í ?ß@„TÄuLnÁ½§ãBÿÑ ÉVÊzÛÿÐy24Ê9©8ƒ¤#ÒÔÔ(YIØ©>Q[‡]¯…J>œs°)®ò¡2üí0¿ÙÌ­X¡ÿBˆÛÈÃùj´}i´þ‚ÊYQq;]è’bs;w5h¾*˜f($]â¿É´=Ü_h(÷e,Wüü‘šS¿{)sz ÷.ãSö†ž…alw&Uûò±‹…:ØðaQá£%šÖ´â3aƒ> ºÖÒBäŠwqɯyÃuÆ‚ áZ4ËrAÉå/; ¾¬|á½±ÌÄiø!)ûí qtÞ­/Œ±|ßÊ€?;¡?-¬.ßo´Ól];-°óñ"øðf¡ Óƒ‘ðNϯ­ý4ºX±"x£qF/ÌßàîÕK|ïñƈHî/„í¯$Öç¹ÙlïMu†4ÀšûÏ„#Ù¸ø9+Á6iµÝ`Ô²ìfA;½Z·å­¢ ëÐ'`'Ÿ^ “s°â­ÓÑܘ¿ë43¿®ú˦ÿzË® êgûDÕ(“K`EÕF™ ‘Îð߬ükˆ¶/E8LÆê+êh&_ìðЧ’²wºËïd+O…÷¼O}/¿kÚœ;èh3f$@«Õ,_¯ù:™öaÜí[ƒ€”ª‡ ¤FzÕœ}ù·L¥¼—xìh{†‚<ÞIÓòÓ€;_9ε /†­«¬S¬ÑϺÃs¶Œ$Á‰J÷ka™çsuÓ­*Kø:­QÅi=Ê2¡‘=±lýæLXw‚¶\‰S­V¹˜ÃUÑ}¤_-Ž&nYÖV¡CåVVòjyFb‰·`(öNaðR‘ƒ$icå¹láî°õ³—Ú¹ZÀ~Ü3®ŠoŽôë…Ѩ^ê¦ì ,mº8`>S^Š ­Ñµ¥Û&üµ°ŒzÜ´Õs5:j5‡«Ûö<Êס†`ˆv³ëgïPÁÿÇo6Yÿ;%òšn·3¨{­bp‘°êVßýÑ–ªvkaGß1—ípþØ‹ùxëuÿËy»»öÞ¤+î®M˜ÐJÕÅðCöKœ (‰@RÀáÅ÷‰¹ôñGdùÚù7Ñ|kÖæéÅ|û&¡’½1à3ÅÊ„5{=Í“ç9$aµN¿zYšÌG×ùà<áÂJq†»ÓtøÌÛob¡|¶CÏ!´EÞøN4ÁñÏ,£¿.Ì8Ý«@¨ˆ{2SÞ®{îž¾ê½`mV¿g)—òÃO•X|HB¤|¬mèôؼ;Iùo„ø±ê〨†ÎÍåN•æÏMËT`´ì7›qCŽ‚ÚÍÊÿ¼XCº]#ŽÐd‰Ý šÐp´I¨Ã7#°=Ð.¿¶dçUh¾vè¬×íôxP¼ü²†hrj2öÃ<îþÈ¡.V¶¯rõ˜ó×`/'Ñ+-;®ºß]‰Ýj³ݯ֎†º¿¨›'ÅåÁo ›Æd£!/p§¼ÄKy戠~wT³i¬±WekÒ\ž”™§é&ð]LéãÅU[’ZP21Ѝ^™oˆ¶v ­DÓÙ¬}Üš,Ö K ¨D 18¦x‘¸²J2ÈüÁ=gsˆé˜Ë’îjÙ ]ãgT=&óªeO¼ø<™å~³Œê±r§Ç­w±å*f6¯~lÜ1‡çš[W>vì.»yLõÕ'öÜÙ>žO]«`>Ü'@msà>r­Wlã »GèOó“eëëKžH _eiã²+S±Kàë hº[6E\ÛÖ®½‹XsÑ¥"½‹ªÃÞzZܾg ÅòØßÿõ‰%2U¾¡Þ“0æMX‰Ð%ÓJ1†ƒ9¥Ÿ†¯ˆtƒß“MXÔÚoHÔ—~Z>d§À²Kß=y†WÄ4—ïò((æÐs6¬å„YÉeQt€T”2£ ÖüÀ'6Á•Õ>›áºšB0?GGˆoÚu>°æ?¼¬j¿‰n…“9`—Š>°Pæ¢wtƒiÞ%Ì3ˆÃ6\¬‘ø!:"ç8è–"-£œ£Y‡{j3Ǫ\pp ÂÈXb›ø(оð™pPMÉËæYl#:ˆƒp ¥Š8^¢¢Ée^¯ÉT4ÕI ­~fuªç㬒ýºŽ£L8ê蕸ê Èb ަÚ=Ny‘Á8çñõq*GŒYl À"«Éž€¨j+Î"•%iŧÝ.(†ƒÞõ/Tú$‰){”™ˆ$%(éRŸÝþšÌ—‚dëäBŦ‚W Gý›ç‰ÈŠ299;ß“V`"Áïð„ VLi UE®sO%X¹Þ äXã#s±h¼Î”Û¤žÇ„içådÒ©Ør•Iè´¼—Së'qG!ÛhÊ h% y Õ„ÊŠ‚&̯æ(Tñ.Âú×ôù#lj*Ÿ^¾ÌÙ©¬ìu±“e¡ýˆÆ†8ø0 ‡7¬+òA“x¬ÌùÛü¹pH!Ÿ´Þ5R”;Í ›NåT´æ"t‘#r½¢—¦ µ•í¯f¸–,™µó272Œ´]£ 0±.p²ï™Oßc¬M[jpèxÁ'ÛWì‰æ°my´*í[AĪDgÙ \¹ý B„ ï>.±ãÓ}^\$$¸Á¿¹R?錅Uè›Xxû¥v«7ôG™’ÛÒJÖ%ÉJ8ÄÕk¢ZÿðHéûmüÄ!ÞûpVC.\âpk¹9¬ý¿E uÝÛ™ˆøé¸“ׂò(‡- Q­2ó ¬0Ñf+­5;[ î¨No5ÿ¡B“;5U/]ÚpÿfÜk#DÈ›­ÔÛ´^Öp „íëZ7¼D‡\µËž ŒæÌÂñHL+ÄÅÛ÷ÁŒ±˜ü’eÞË mà,DònR)Æì)XñZN©¹ö—¯! Ï2–Z¤9HªÏp]ÂAyL ÄB‚™OqU÷½Nÿü =ÍúøâNÖ^ 'ÞØZ߯›€ÐJ¦湄ÆÕ§m 5ê·bƒ´¤z[MÌ]ˆú1RCÅ—宵òl,[òñv¼Ë¯¦XðtH|xu¸¿¸wÁã,>©GS3j¨ÑW9’óùña×ÿ8Dþ×kÞÆò+¯q:I „ë_+pƲJ¾’DÆ2Z™<š·6,M÷=¨ÀTo¨îiqPTíoQ‡Ú9p5í s…z ThÿùÛñI”v§´‹%ŒJÿCŠ+.·äv'ò¯6esvFçeBkí ßÎ}k}å;Ú(¢hS˜`6¬õrôp^äåTQÌQ,Õ€eÚ?™ŠÃô±]M¹Ú36uºQàéü>Ô£ÛG ³ØêÄNë:|NÆ£“é¨7)ŠbÄ•†êC„lJ»€ˆ’¹ßû F\µíæ)AÀפµÓ9´ÓyçG6¼í£ùHÇ’ *šûιôüñ0Tl9½}?m³nhœàk3»Dà]­û*ùöÁ¶ãt>b—×êõþ¨‹t»fž:'Wÿò$#ìßq¨Ã\¦Ù§Á®|”zTœÃÛ—¼Mƒ-œï¦ÑiYïi€ºþÆÉfˆ¤1ï’«p›eb± w 7²”ëÁ¬T;ÐŒÛRFíî¼–Ò¢5#Ö+«@Ç(aÜh RL _q¦ ›°À>Khmùàjþ÷ýÝè³Ü̹wKr“q®q2⚬æâ¶œ©¤2`!YrfÁ^ão~Ildiv’iùý¾g0ú ¯¦êü@Š,?õRGOõýТE5P×{ú¤ñ¥6 ¨Fó™ëªMCꬓ•/Ó¤òûBC ´ŸÙxNPV$f$hSµÉÁµitoÕz¥ËMoâ‘ùlmdú8Áï(•# 8ªÈ:äó/sÇéµ|ÃJ>‰1oÎþÈÞãD5ž²Ø‚Vê…¦& Wâ.ŒŠYtÙž¨ˆ€Ë똛Oèbcм˜>1ÿ9ƒ•+ò/¿P„»mòŒ¸_ڥՙõ—c’ŒúꊈPÆ n?H˜iÿ·G½nÓôa®m^­$5 aa‘›˜ŽÈZj]>Ýk>ƒõÄOõT´ö®QÌï¯*ê.þ&žÂ£¬O c³^úu)C†®–B«.|q7ê#þ¨…„h°§¦—fa²¸UÆ™5™W‡BÉ÷¬*k12ö|/ú¬BžÕBG¼lL3Ò5øá¯¡æã6t-ÃÑÛÙþ¼_ZºQÿƒs€‘½{íÿ¶,ž Åîív.f MÒ¡«!žŸù"®g#ô:ëÓ8ù³>9ñ*6ió¸[}s1ûGã÷?ÐœÚæeeX±e·Ù#‰ƒß„4a““Ç&rÕnÈw#wj©ò~8þÈ0˜n’؇Ø×n ÿW2hsxð]˜€þ¢ïLMæÆ©8ªß„ÙˆYS9ç7?–ã(L†_Ó;9ßÇ­™¶ÜÉ=‹‚0˜ 'îD êŸ~K3^è|äVw2«·  S°ÏµUmB ÿN™¯ ùwœp·ØÒm!ì ±˜_úR¸#ÞÝAé(­ÕâÕª`ß[ ?‹Öón Ðé®›ˆó&õ(õUŠ+¢P¹Ç5‘~RÐn!˜£4àß{,Z[e BÓ²^§¢Ä¦GxÇPç^À!½ CQþ~…Õi™?æ«‘¼æ tòÖÀq§Ú‹hÿæCiÔ8ƒ¨\ÙZMt^cVweÜz¯*S\ãœw¢8u@æ·=ÛWNð`tEcÇéþŸ±|ÕH92ztÀˆ_:ñŒ´Ÿˆ•èóÔƒ»¹ x=lcgIPðë¸=¨ŠŸ·pªÅÕ Âˆ¦¶¬Þ‹¼GUç’è°nR€N^ÌW(Ì$MÜæRËœj¨€oµÙOŒ‡H•½qÀž@°á› 1ÿÖh–)¹ø~â¶S¬ /u¶SÙiû¸ýB!e2Ž«(¹øéy‘FŠÊOv¦÷íL"»Ì{âè*È{^è€É+ª2¡%lé˜÷¼±o•R¾ãb&'ˆÇhB»üúö€ß@0ä=eœÙÒcŽØÉã‹i|G)ÏÂþOäPHëk²;ü&=Lá¶uÊÂ\ñ¦U’€KSÕ™áÈÃMt±l5OgþArþgôÆDsÊ;Y¦‹B®(îµ)Æýq¿ªdl)eKÒ±—¸eQæ£Âb[„¶¬¶Ýƒ_±K[|`ʧ›Â¾‰í;ua|®«43ƒSéQ¯­‹ I¢Tt'2/#…ÜïxÈ]‹å Çz,0¤½S¶Ñ¬¹+EÔ0‡82ÂJœÇÄ%Y„_Xb £JfæDÔ)÷ÙÊaiGŒÃ/¨ùú‰2‚ú°ííd ð}…óHÆ?8EBLCà²: VU^Ú§_÷~™4×Rs­,0M¾j1Àå_•œÿpp,D˜è m‹õ•+Á9°•¹,Ë­¥s¼SpPéM”„;“Œ*Ãd…æ3iù°ÌÍåªDò¬ž”š:–çÁ…,ñ³$–À™zK™{°Ú¦sE·Çì~¯Ã‰&ö|׫ `óÿºM)ÁMë'bÀoëö{ËðÓ·`Öïï"ºá~¥ìûsca´êÒû…¢½gÌbP²0<[ƒ)5¦Z(kà£fZæj·|.øHûÄ6¦­²ÿ+ßúÇjä7l9zý2“7ßíý´‹K’ñŸø‚ö*Š ‰ µÈ’^™ÍÊVÛ¹Jã•gAMç‘I&åfÜ(þõ¬(?zp›‹¼«…~ü¶]~­áé?1N`ÐÁ=m¾êWàá7ø¬0B@¢ÈA™Q©?…øî»&àq&œœ.Ö‡õ¡È:XËÆ"Ñá4K«Ëª,aÒ,ÇÃ!q‡´á:Ÿ’:hY£-ð-³áÄ}m¤Í½vÛºaÚZ”Mbibý·ÌèÝÈ•à9פB÷8 ¿‹rÝIŒýÏr ¨ØÂcº;èÖŽðà^¶&ûF΀(‘ëBŠŸuoH·(¯êþ;roÅáæl ‘j†”^íYh»Hí øòÏ­Ö¸·@ž¿),‘\@ÿ=+¶;ÙÂ=ŽeûÊM•W¦–*r¹Âv Õ +25ËIâÐZÞ]'ÞkÊuMv2Ëÿž†×wLRÕå½½Eïz‚û{2Ïx'(L×õX‹«ÎàÙ£½rãõÂwÖÏqsUõqrR¾þCóïÈXÍá«q™IïfaO|ù}\1ïíǦ7Bhçë[CQÑ/½:Ã"¬lyZ\Ù9ÎjÕ’íx£ÐrÙthä &¢1ùú¢)[ÁžÆ³.‰VŽèá¶ÕJû”4Aþw-}›{ vݧ¯u­ƒªóÂ~ÊQ›OçdK=ƒÓËÉ“?÷)Á’'åÁ—Rhû¦CÏÕÃçtDû±>0ÌaÚD³iKÝT •€Ä§4™ lNX9Ja&%ÑÙƒç5¾¾qß„”WJŽ{%ÏU¥-\ªƒáKöÀ.¹ë„ã?¥y9,g‹íx“-{½fŽDéÕy\žÍµ0OzúÑé H&¬½§Î±!$ÍøÄö½Ùe©ù½ê T`ˆ¦ðtæ58»9+ÃwTrÑ#‡ƒ.ð×@ cš“Õ…ëQ»XÌ#¯¦þE¾hRQþL²mšÂ „΢P¨ƒrÞÑ¥jp+²ZG‹èf©+ûYxPB¯åÿTs]#=ò"ÿвà­ÿ?$ ä%c<Û¹6-©DІ`ý¾ƒÌzÏÙ Ùp`6øêèÓð(MÉñƒèµ¾›kŸÏta5ç¥îàqiT ¥Y—Õ½IÊ‘ÎSs‚BË Fó>þˆ±•\!Î/Þ[ÃkÁí ¼Ë†«+ß.+”Œò1,ªY¹÷ð3ãÐ6S0áà࣮1*ÈðXí.t½X¢–(c8b‡–§ì%ÛÐrÓkŸ2d‰wúmmî¿yJ¤ •ÿ„%Sz œÇ~H˜`ºäRØ}ŸNü6¯Øù®üÂukžO5Ì¢oO±¨å>PV Ì®Q´¥¾[ƒ‹ý¦è¸Ñ£ž\}©ŒŠÉ-á z†Ü®0Ãï’¬ï/‡;½ntÏ`«î¬Q ˜Žýœ¬9m+‹à×’‚K„ÄQRÚ¥Wn³¡º…rE㦙ákQÛž‹"6Ï8DÞA´£‘,‡~–2xÈ-òÊÁ¿"?(ùÓŽ®ÿG4а„Eàvv&e;7É¿n­ãt¿¾ºôáÐ]ä2ê’=÷Kǽ_yÁ •& Sðg’PÇZ™Ô+©<¸þ³Da\K¥4´·tB$GNT#€Ì{;A*Ñ­†Ì©×7&ª½»8URsø3˜š‹ ßÁÓÎdßXºY>‡²€lNX(öSºKÐÀ‘c¢¤½Ñ½åðFµÖM‘猨úúcõö¿=43±=ÌÈ[G(K‡¢58ʘËFýcŸÄP@ò¬îÚ“±üeºö_o(@ÜCxÜK?HѧÏÉÇâð«šîÚt|ò¦ÒÆò8f‚ÕÁ²Zs\­¢ôLÕ)ÅÀ4qgªOQ‡aÆPfnLҲū2ȰÔ7¦R!Û^zI{°nôÚ€ØXdÜ  übNâaÏnN@#ªá†_5†ŠqÆz#©‰€„ßç[Š—[ô  ÕàèaheƒÀ©x¬NÚù°$¯ýÁ›‡“Ñ;ÙL°€„ì(®}×¶Àßµ¦ÿ¥¾3Éç…¾#¢ëûdȤAk“À–õ6ƒª0ç5d~²Ü,æinÝ×ʇwQØ÷Êî:þ΃^Nà’õßÓ$œ¥Çç4åš×úGWSœcp´Þfª%t\Pvï Ÿª3‘(Uæ©gÐË•î:ÇUnn÷Io§êk,²F?ŠÊ® WàŽù¹•¯“IÁWÞŽa¯7•ê©ö:¤iв›G´mø>wÊ*ÌÎýa}!´Ò—bê™9áàF¯ð¼Ò2,ì;ï„ýÿ{úÌÃ1<Ӣʎb$ûAW§Ð_iûè\Þ…ÊlUMÅ&D¢upß‘Áÿ<æñ-é+ÐW"ïÇÁ¢N)¬YÈT@·@n„9™‹Ó€êÎýÓ(æ#»Â,qqˆ¸ãñ¹íkÓcîË¥Ž)Ö¤›¾&‚æ¹¢ÒŸ uޛʕ½°RT¼³÷òÄäþçCÅRù`¾Eÿ-rHذr!ibNF&‚lã6¾Üg"zÃÙ¨±|uoˬ›È‹=E^á¶ óUˆYˆwÛOu§3TðIÓ3ª6šH"dyl#ôÍDA=s-½Ç.®G5_›«ÔªÏñ{Wßü=?m€ üxé}?±fÖ™oêg˜*ùöÏÆ\Ú©FN©ùùÇÛkžŠÓ'¬ÕïøÅU´ost}êËòt³ûÇ¿aH6—êÖ#›Û’￱^B¿sL]OÜJYZt@ŒNV-e“£Rié0Xi–]4¦bí£ è Ò%·•g5€º!P}?š%Þe.Ì­iî÷±¯–à$ÓJàñ±E€KFúÀ²ó—)fÛYÇøÈ·IN±Šj˜ãF ÈÏgùen‚ÂÔV!zž³Ÿª/:ø‰!Çm}žD½l˜Mºƒõ‡:Örª< À2ºRÜû{m˜Eïy´õ¶2&y “é;ƒ)ýAÐL1Üfõ±0w’†I±àÂÇ €ì)ƒ$F+©ß¨ I˲Œß¼ÎóTå#n7‰—óÓÕ£öGÇ×ï/›Q‚¸Ä’z_ª :œnPu”V$hÐóM4ä/5CX)eÙ€Ùž•=–†·qÓpG€Ù%(ze-ÄìõeE¬q^é¡-ùE¸Þ“Ôžf&Ž"Í-¾p ›BóËX”xÌÂæò£™‹ñJý}±úºQ=Ÿ3Ηê=#Ã>‡Ý«k‡§éjTŽ÷Ÿm÷µ˜Í¢$7Ÿ´D–dƒêVÕq1éÒ Þž@PÊ!Ü¡á@/¾Ó#'2 ž¤¤³+oÎn=àŠ)k"ÀÃ6'C7¦ LK:ìè;Öu®NÞÔÈÍ#Þk(ÖßœÊnŒ˜t›F¨»#§ˆPN³ f¥R0ð5Ô3âYŒ»ÊàƒCÃ4í1•¾LföA™°YGgûÊ/‰ûš~o/®­©×T±zÊð‘#—H"}~áUæ½3æYÜ—;h¬íOÏËhVAâÝø\+c¬˜‰do+æZ®ÁÅÅ·ÿÏøÂì]ti\LÅ«)*0té»ð^…nA1B˜¹Œß¡¥î—ÓŒšt6FbÖ'N:ôK¶óÆ5•ŸíˆT¾öü\WH'O‰æ„»eø‚ÅŽá£\Mg˜Á‡K8Írş:¹LCÁê˜ùBh€¨8}<ëËÅé°n5¼bédq/OµPþïmÉ8ÄèÀwôãY§¡ àqÀàÞÅŠ <íø£ÌE­9õóÆ~.e$$ÖÑPúy* Ñ`+¼KOÞ$ŸH:V:´`†ø—R&AÀÁã©ÍuKþ ´Î™ÑxfßÙ°e(„º3.neu?v´¾c„wB*æ Œí%Žß®èÝÆÁÉ׸ƒâ·…ç åë–þ°ç¥èâY¨mŸ‡ã|:Ç”ƒ•ò( ¥s8ÑÖíøº7 îQë•úéYÆÊìq<ÓZ¥–"ÀÆÊ#`ठ·Yäþ{Õv”?÷ 5¤|Œ[Ìýõ#6KÁ·€m"ól܆L¨HW!Ýà”¢‘dß—2§}êlà¹)ûoÆ›Œ\©Œ¬»ØâáQ2Véšß«7}.]"h¦±UZÆ•¨†P2ã¼ß;¡ŒË³‘ªJ3½Øvü*ú÷„5æÓí8Ñëm1¿o–©@N³¥” ×C³ O2c| [ZBN›FqýðÔRT²ùy@ûð€ûRÏ¢oÄ7þµ€uNwè¡ °Ã¥€5|Ó”YŠ`r-ÙA÷:ö› ŽÜžÄÈV-lË`«2åI–t¡¨ïþS €DJLdsG-á“Ê'}ä<¾+ ?žÖ ý ç©’˜¤£þÚ|ç(O¼$Ò½Ï ÈŒæ· r”‘ÖÐܽ¿õÁ<9'ªµ…Hž‘Œæ’K€ýÃÆF×k6Æ$Áõ—ô$hˆ)Î qÅ]Ÿ$B²W‡í‹þæ|?¼¯]ü éèü âRSdT+¤ø²BÌVm 1£öi™)|]—^»kŠ[# pNĪª!¥ (’ëëœCs|`ÇŠú}ªhÂ^Ìñõ@ `>’@ùÎiåí,º¾Øíküx;ÝiÅ™ºUÑŠ¹ý’¹z¼—Üd±ÀS<aìˆÒ濞0[ŒGs•êê 0EB·(“ŽÜYÈuD¾¶“„)?jlºÎÇ3m·Eë#mõ ]´”gAmê6?ÑÑÆº†•í8ÁŒúéï³@!ªb 6˜0†ˆ¶à¨%Èv†§ÚP¬¬ á“1ó?äN¼v¢@µ â–=fR5„—ê, €å1#NøIƒr 3=OŠª©ÒøL­^ \Ý¡ÍX&±þý/ vÉ*ŒXæZQ; ¢z˜HB jé+9ö½ï´ƒîå<ÝéöìÒça£k2•Ä$?Ÿü%ïî'.sÄ6Q(ÿm%C¦¥M韙9á÷_“f šÐ¡=¯´o7Qóiä„ÛâÓh™•8› În½çß_ûò9¡$££½òÀÝ:tþ¢B懛ˆ“2ÿ,CbŽYû<¤™XB3uGPïfe{½ÃP_L´æx&õ gâ "'üÕÝŸ¤X“8Þ”úbe%… ,šÃuÅq¿¶•`§óÎB¶x‹·‰æØÁçc>/ªZ#=ø¢’7 !\ñ²59ë_øiÔØìµn×ÂHÛ§ƒ…‚M(&ÛSÇp8µ´×ã¥)sh×¼7jKµyçM-¨rй;¹Éù:ƒ€;Î]g°l8NÃt`çOqÅE ›€öà¶Ý½üÑàoÇ¿5" 8´*ãƒù¶66y¨þ3‡í¥_¥1¶Hk©ó² ˆ®³V¢¾kÖ¾@a S­]ÿfq*»ËmÞ¬gIå4ÃgÈ:œ! zUeâµCÀEň×$½!}Y&þ,ÍadÇèNGÒŒf‰Ï0l)í¨õ­Ó>+ßÝEÅ ´´ÜˆÝ»B¢õ¢¢RÞE=ï”}:aïûpµ«ƒ¦¬5àriÙÙGr©øÖ#D!¹ˆm’L0‹¡J¨í“ft+ŽóŠŒ€Ú¹Tê,«[µ“¦2èëÐç8ÊŽÿø«9æBIŽ,'Ônž"ýÞŒ`ù;§ú ”¾ôªÁga¢Ñs?Â=<<ÞSŒ9PÃÿé,uq’ s‘ñ„ËYB6oZK†ëñƒrføUËHXriªù–{cAh¨£ÅéøéæÔ·7z2+¨·¹ë«ã'] O_gZ"ö§·í RÉ75Îéò §všêÞÕ±¸½¯œ¹œŒùý‘ùWù<¯6†ÈìÛ†ïdQ•± 5¸ÙRØÅ¿?ãLÖ—Üê¢Ê£*šÆ6Ò†Ôü?Tw•“QÁhQ•Ð"Œáz` êTjæó•Å8I×Ï™ªŒS¼Q39It÷þä’ }.çó|UÌkaŽmÁ˜~sZ5 žÄ1çŸVc•oÁBî|NbHGLìšGÕ“½È¹Œ/ÂÎoåföÅÔƒøú”¿ ÆG[hÀóÿóÅIypKüÕg­¹TpOè`¾ÛêlœøÞ($>®Ò9¯™¤?wÜÈ+PyþFÖxoQ®¢Sgk''˜ëÚl–¬Y…Pd ©µäÅðGiÞ¹6ÌêlÚffV0YÞ¶fÎkPêoÍ×0ô{â‰÷b¼þé+—ø}u¿\;Må“ þþ‚ýùŠrŠš×]È °9?lo)«ð5oÓþùÁ£“ Ý$÷‰‰'˜&AÎQyrÎ[¯KŽ9]”¨‚lâ3wFCzo- J$úùï‹Ù‡ ±B<œ,1äµÝuç1ûÓ ÔúñÄqzDßIëÄq‰~öM„‘Gš3ÝêÍ[q7ãZ¸ÉÒ¦O¸Ìú-´)—åbÎt8Á 1RæH¾PÂ0/íÁ›iy ¼Áw–;õ5¯óû)§¿ï"âŸCûÂa,¾0ÐC.b‰ Þ|ÇÖYu7*남³”½© Õã{ƒ LaȧecÐ]S{øBµ³¡Í6‚ziÜrR)£w»òŸ-ÿ¸^*ÚtúT¥ƒ„ç\1ƒ[: ä@ÇNÕ,·½Zƒ ()+hJ²£47°ÁˆÒ7iïçÈ3’ÁtÏÏ£v89%…"À {aíÛ\­ªxyAѽZ9tyéËÁ­-Vmµƒ–ŒËÌA]bŠOlT?ÿ­p|yQ^ ü\ ©dÙæ2ò¬´ºug%÷–çŠ5õ}´{ gC¶ÝJ @™CŽ~[-¹‚ƒi²ÎT¾rKö Eæ‡øeµ[)Æ•¦)Œ ^óRtMw‘áÁ–ê÷Š´©„†?vH.>VjÄã….´ŒéÔc] ìiVg¨%ÆÙ3‹š}¥gƒó#9¾[®Nº‘2+Ÿè(?D«›–©‡™é0ɼrÐ× —3-ŠŽAo°ø¥A—ôGÅ>ûáH|N†ÐäDs™°[uBz®ý0ÈyQ",@í±r®YÆ•ðz°Ë °rÌ‚*öcë’îÎätâEÈâðvè9È]6hˆû~Üyj_–!„gLäj|„ÁW@³¸KªöÒµ»ø2àgl"k`¶·U=׿dÁ¬;ìcØ>Üb„}ì+RøŒeÔ;ÔBµ[xªÌXÚÞgàLUÒ¤’Ò2a<Žéòx¥Ã®”Ö'[t>²çg`atÛ¡×Ïÿ©ÿ'p“ ùx¬;+èN$H·5,¶è%2& ¿L»#ˆ‰EWEjú ²>›#®éÆ;Âêu–Ýfr?nå[A*pqÿô R“mýéŠ{`;ûº‰Õ*§ÓÀº÷ HSfº\å<AMk¢4ìaõŠÅÿ³r #Üš2Ó¶©Ý'æ#-£ûm` £Åx_g™Ö^rA W€+ϵD@‹§¢ø=¥ý¦kˆ/…1Ã`Y`ÐYá?…¹Zúýòë´gÛ8Oê8WUCØÙû ìˆjXþ/ÉkÌqÔ£gwëÐÄÃMNÊ :d°(ø XËr{’ÄiõÞ³¹dsñöêT«Ý$^Óö¨N6Ö%øYæ'¯‡ñ¦ É퉮›jòJ^ˆuÓƒ!¤j¼êwQÙ6©J鬂”)óÞe§ƒ^\ëb‘D'=n;Q÷¼«·h7g]> éڣ·¡8çùìÓF-‰?‚¦Òl5‡ükhÝ«a»ÿ-Fñ9êT5ùR2;b]§Køâ)Ά«“Â7t!þ¹DaSå†vhJ|rÞI£¸Áí¡/\;îðÉÚ3%lMrü«Y:~êL `ɉáOÊ#Bº6„†þ³"?^qڗׂ)QÒ¸¿q’ÈOHÆñ”=:|Ð~[Ô TŸ M\Ê2àº+ª½Qu¥=UÞ{é²Hð:Éó¹ƒT<‘§0m†pQ(ãY2=~Ýâ³Ûf;³ÝWp¾íNæj-Z‡ÁÑ$±6z*Ûæ¨”dO”´ðà×öwà1À6§¦}Gv“ŽÖÂ\9xˆáà4ØOb¥ioÃ9sÚɘ¦Eüa ~ijdA UL‘µ ¬¦f ÈãŠ/N}O¬jáò$¡ä®Ìy–6õë5Ÿ0Ýô6ä'û<,“»ù·Ý/\LŽöæÝÀBÛòjQœн³±«RÔ%˜eŸ}I)i±€ù¨þ™ W$ò;:¸Añ¹Î@¤Ã$N‹D 2¶0“ËØ> 6W… ;ÑVÞ÷toñäG¤eѯæ¾ÛÛ@Îzòn}啯×î*µa¹,~ÚA>4”žÔ£L½Ü_ð«J0?™b¦GÊܳÌ »ÀZ£©B&ÎñUØ+äÿ4Žî쫼Åd_É̾³jhš.(WïZÇÀ >wgRi¶+eø_EíÄò²ÄÙ7¿ÃÕ f…'“²XœŒ@`¿þ¡h¦º©ƒù´šìéÜ!vÆ^Ù~gNZ¾Úìeµv¿tÝT4ðôÇã²k ¯P>_ˆ¾äªÎrÁØì ˆ,HBƒ7ðÊŠ¡»Èð¼?=<†ñ¿!Í]¬ñhÓý›o€nOó­‚òº®ž3»!*> û–š‰zf{A ÈFIÈ@"<ª°*¢!ûŒD8¥×™X7A£y¾’<† îqOó,òàHå>ùÏ’ÎàŒþfˆ·^ UþËÙhµÝuµà¸,DÝ+åÒ¿FöæïL‹G'Gþ,…JR®Ü3z•3«hÈßÅä7Äœ~›¾¹ô¯Œ8K8v(wÔÄÀVJ°HmP6Žm;OÉ´g>0-KKšL’.þ5Ï™¿æ[èSˆéö–åDƒÙÅ-+»¾8}v,!2L˜  gˆ›ªAÛo*$þÅ(ƒlõLö´´RkÙ` 8m¤'FóJ»›-)Xö¯‰bÆ¢˜bC6›iŸ«Iò\†¥Ü7 Y%À1¿vñ³ðYÇzôþá™ážâeª{ÛM0Îß­ÝeûÄ~·!Ü3ŵÃÖ@}Ï#Ž×¼•ބӲaNkÉ´Wmy'èìúeQwí7¬Ëc×ÎÞ¹oœïŽ{€»Á…ý´ê4 Ÿ”ßýt&Vt/d¤"Š„×|“!­¼’;Ú”Þ*ÓïpÜOp'×áט€ÄU{2 öÄ>> i†‡ëÔ‡‹ÑÉûÎBž~ ÁµÆa1bqê¢ÌâÖ,^4ÿ5™Zkýð‰MAž¡a«Ov­¦}y6Ô˜ìÅò“ÜEË›œËòPNAÍþ¬ûmClÏÂá¼'¤IÉsŠœg¹ãö•æ •Ö­V@öUÁºµ"•œ7´a<Â体’'}ðó®0Ÿx7‡fŒ,zì»T¯„i¾†¡q™·T¾ª€Ðø8MXÑÌ,r7«©òSyTälä,²_K‡w¥Ž…}›“įzdݞ¹[ržè~±ÿK)Nxàg³lÈfqË9‘Êt6£ÖHò8}*?~F(Üxd6íÌ¿(‚ˆüêçî¬å8`™Œ÷7OåŒÚüÍ¥&O4”µn£¯Óî=ibâÔþÔ)ÎÛ¢GÎQBÑD‰fË£˜ýÛ]$!âù±¦XfÒ?À[¼õNFq-va”&¿]@*Ùõ4.N—uÍö„Œ Ážá=*³pÁ=$o¹“0öÌ^ÊZÖkÂ6ÛZ؃÷^ÂÈ*ÀÊ¡Î÷õù6<=¬™éÌȸ‡ÝdîVæ‚«‹ 6áèðâûLºÝìì àZª°K§¥ã7OÓ‚h™W[°k6'y­—6nØåöýù4•·:™p·s ´–|ÐmÎ èÜV.$¥Üë{ŒÕL?©H ÛT$‚ƒJz~Û\P?/Bç§Œ¬æ"Õ>ü4gìeÒþx•c²}£›ŸýïŸN ßìãúß! ÖbêÙÛb.‡uÂOu-¡ASª\KÊR½™]a9HuçÛ‘+ã9ÿ÷$1tV×>ˆ¦+ám´"Ì9ßà§òÿ±ýOÇß{Õ’S£™6LÑ­íŽ=og%õÖ\²¹ÌÖ0Übqå©‚úf—¶ÒMoQ*©ú¹MäWXÝÖ›Rò%’™Â® fÊØ¨A™•óãàÒª<‚HÿTÿÀ|™š¾¬¹ŠÇ—£y}3ÆHP5é$cΆž°Q.d%B=¼A–ýiŽQSo‰çuøC:¤Œ*÷KwyCZÅ žJ!à] 娅ý7é»fQ²O&´×}[M–*x¸±9A怹4ß”½Ÿú™UK0x­ú«˜8?àššqkÞàØ‹ÁL‹(þècx³0Æ:r,Áßytl¬mˆÜ59å°áºm_Âͳ(`ˆË<ŸÞSX-whA9ÂcÉì.Sý`‰XÌ¥-@0Oÿ\¬y¬ªQ¥ÙRÒpÕËwaª7Û¼˜†4ØG³5ÿ™Í…i†mòNIÈ÷–LÉUÏ{*¾Oõ< ¯­’+Çw)àÜ-„ÚW¶•3#WŒÛpO?6QÇu_4>AõÕo þb¹f¬°Ãv< Wàë´#~¤(4+È $7‘dâçÛÊ /r +£7ZYç5p·sÕXï&ÅIÈü»7dQ`2yæÔ÷€E¾VX²ÑKôMtǦa7AøŠIR¿Ç„‹ ²eB˜\7Ï™zûÌ5” ©H¢Øž")å°‘azáÞböî }Øc4‹U4Þœ¡ Ÿ H6Ée“è?˜„±W_O8îÆy ÁY”¦ŽL­¾,ô/W¡‘Á– ¿êú²]sLn=úïÒ¡ïÄú1Üõ(!ž* ìTÕ^ñ¨GÞHÄÐŽGïqX¹Š spÔîVXX§$Ùô(¬ôRî. ¢Ë½~ª£Ðá#vxÁòöDL T¦A1•’-3W¸€/B¤²ÀÑå/í4VÍ#'7E.WkÉ"m޲þ„³œÛÍeuý•R±×§-\§ÑÊQ 2ÿça·(XH|¼Û«µlX)f D‹“DŽ(Røp„Axÿ[¶ Z"•nßÜø›¦_›[¬;¸ŸR7Å©<aäO±W‘#òˆ{½C{€Û>D,6ÆßeØ—œ{&)w¾-‰ÜÒ[[èþÆZKÑIÖÂÑt·„ò3]G²åk«Ý­È"ÝASÞ7S{7ßðµ·‘S€ä>ÖÏ>CŒmCnÒ~ÊÂwŸc‚¥(”Vtmqé˜p_„s]\z'Rñn­£¯DžMì[¶'‘'ôfDnH™¸0´%ˆ7RõÄ3z¯êb~,2¿S³åGW΂ýb8Ç‚Á5ó³ö`5Ö…J¶‡xÕ,¼8U› Ýõ+jü‰„îS¥žFˆ¦„:Œñܰ¶YñÿuXÇåßÁ—YOÐL;èßèp !a÷I´JÉGVTÚWÐf h{n%ÝÝmÝba‰W§ºè&X»™mLÂóÔN2x8ÃWo2©’$]5E‘ùDÐ~'ˆ§?NŒQ÷Dk… „ðâúã`ݤù JKœÿƒ˜aH6LsK¢§tæíjhýº¹©¿ V\ µ‘Yóïi+ o ½ å¯Ò^´ ×)ô¹AÙlîÄ3¶ÛA`†|éójdiŽk€J!Ó$Æ·9pN À”µ žüÕ€ X@Xÿšþ‡šHËHc®}òçeºÏ$­Üåw¼~ë üŸÛ}¦â[O,Ò3UDÐ7§7´”ZÆ×ŽOG3¯¡Ç Rdù*^bÆ/[à\qÃn f[€pYÊò3Õh~ÍébéV¿uRwÇMHj*saƾäžñÖWQÒàmQþ«t’Ó誧Lé­ôq袶@2Å´œV ~ódy/HV‰#š"MS®w ½/e¥P]…ó/óG§;CRzõë;¥éHfÁ Ÿ\F6Ó-;Ò¾™€ˆÁÞsÈjZeäWý­‚ƒ?öX¨Ú:è—ÃRú×~çÆ\69Ø"ßdQž\=uÈÒ¤ ÐdçÒÄögX^.¢/QæMhÚÔ2%S€Ifx¨Õ$bðlªÍÚ;º‚0è¿f×Ý’n)ß[3;kaÿ#fS#™ËͶÞÕŒTÀÄcE› å0[6w|™4‘mwMÌK–y¹‰²ÿÑ©APxÚñÔS@Üqj÷`NäBœCc!N§Ðïî#»Q›ý€c•y(µ çI¡bd²µ £Ähî‘ØÅÆ°›§—ŸW¿µ_j\ÿrÍó•¤É0° ŒE²ÿmb‰æ[ÞZØÐÍCêÓÁõ%ä(®ãæ³Fånü\ ¬Z8|L¥Ýó¶€Û0Ût0ei>Ĥ%YÚpÆ‚=ÙÓÛYÅ4TGÁCÈPaBðù´9\›áÐÛ!ø .a®>Å0SBÌ ñÓªÅÑð ¶$-žøÈ‚©ÁâžÝÈI+¦ßˆr×P²>‘¯Ìx°á´h7€Œr\XIO[&Éd¿€f-.ËÛÿ="W®­9MU}¸ƒ¢ µ€J^äB(׊bìø·žSL¨JK»‰G:%sý|xYª¬^1HüH‘6g$Ï®£Ï‘;´PcP´Éiè,|SrQÙÍë&!¹yã0 2Ëðá“|fð4îüÆÓD¦)uûC ¢&Ñ"?ÃȾáÿgší²ÔP‰ ðg§Æ\@;B*·ø…(|©J;W<=3TZ*{–ÿ•ƒ?f'¡…K!Ô@b•Ö‹ÛqE±¡ r™1ß¹j²"Ð)gëTÛ iaÉäP–¥TÖÜK=«?¼© °cÇLthÜUÓÙíŸð“½x\ÁÐ]^{’û*™|K=3WŒÊåù]ždoÍX\l­D ç3£ßp·3pé®waT D©ïûÊô٤–`‘I.ØôFŽqWmfçÏg‡¿v•œ½Ë9F_æ;TÎåãÿ a»;xÈø‰ër²Zfªe&±cÈ!–P3.ÁìPH{§¨gÔNØCïcƒ° ÷ÍŸTÉjç˜çÁ ÙÑ¢9ºÓ䢰ÐÃKnWôäÜY†žv2,õ9,ÑžG D‡ûÿéóíåãå]Ç à–qïõRH>:¤¥3É0eö~ 8‰Õ(t|3hÂQ*bù:ä× ê* 節_×DiþÒ0 ‡†Ûì(œ³i¡pñˆÚè1=G0C>Ý}¥¦ÃЬA?`PkÀàò2¥RM† ð§äUQb©/ ›¯HWnšd–b-ßIo¾ãtQÝ™Wj‡ÃÕO2Žf¡N.—€Rž«ª¡ÌjÎŽ¢pT`ž¢ ³îºgK¨¶…ÌÓÁòmŽ `$«÷ qñð´÷ÇSª` ^wâv¥64,i“]#Ä3úýöº¾†íewÀ£ÿ°s°éno[PDFÍj×Dù]t\0ŒôÕBÅÃÛ=%õP˜ˆW—çM¡P¹Dy‰,f"ÓÀVô*Ð ~qn/qÆnvµüòLÕÀv“¨x‚â*J#5]OÞTBÙÞØùQ|(—ððžÍ³ÐFâuß¶ÃÁT”–&]\v؃ýv‰èQ îN«¡€ªð7~QàÐD8ú#𬔹Ubze·zÎ8ƨ\Û)SsP9š®ÙJH3ñ äeÓÀp@4ÅP‚Žsy¦–ó‚>2 ´EG–ͲI~]@kù9\2Rs¦3Q¯è+–èL±Å`¨9ç[Ø<5]I•’Å*'ôŽ.D±óGùì•lŸxX)|Ѻ3=3¹´+Ò XDø©CÀúºýáb¾x G4j…Tˆµ/®¨H[Êün'ÄúÅêÛŸ;:&Àð*žæÎ­a*Ñé8òªxN„¢0¿-C¯‰£¿áÄà¿Ý*Éþšg’¯Mypd@æž\Î,è°fÈ‘ƒÀûÅ>éy “ðèI<¨E3Eç=”ÉÊ")9ÙÐlc¤‰ 6"‘õSÒ½z®µP–?hÉ%磸փíúVž\[òV¬=1Œ&¥½·=•Ð *e#šØ5_\‹o9°&»ûí=ùÚËÞû”¦ñðOñ·HÏÁ+ÿG ÈÑ®¶ÇÆsÜüë×jŠØ\ž&#:p˜)¢% ÁIw¹ªNåÙ­ä‰(ÈdŸLfƒá40Kä¶ÎÈù"µU6u[eõ¸¦³caÌ=Ÿ¨Öö‘ ­±’±7£²Öêãw-šPe‚$§bZ!Œµ‡0ů,Ì®L8µÜ#VI%FÞŠ5+,æY@¬ R#jeïþñZî9áu#/s‡Æ³ï{€ÑˆúG‡âýQÂÖªOè-ùr¨ ÷’"Zqë„IéŠOŸæ¢•ÍÆ—.œêýZ›Õ^uMj±‹]‡Óp:*½Ôlå…rG œ³H{„7ȉB‰9ðØyªäŒÓlŽ B¸3«r€FÊh Ð%ÅÚú˜žÒ؇xóðB±J\ðqŒj0ü7 €X”ùÓÄ6xi!÷ãŽÌ<­àÖíÂ-¿ên4gâ틃ô7Iã.Á/—O¿[ŒÌ÷.T+íˆ7ußÚZT e`~ø…ùb,Í ;ŠfMŒêÑ_˜–ìKùg À.ØA:ƒSì`ÁÐtƒŠ+9·†=9N}\Tz“>h^¬E7?+6bV–Ƈx÷.¦  }nª.þ¬"ñü±F«BÂæ4­@yui‰TBݹ¯"èGMpQÒ}1—û1îíc%æÆYaMà–]3Í–„Ih~q´È¢û¡F¥ÎA!ÿ3›¸+ÝBÑ|p˪;#?/¥òçɪV)K+èèÂqüî,c&©ýœP¦LÑ{íøÉÓ¿zÚÇ3À(Ɉ6{Û u/Ê;äNæ€ÏóEgH9ì`:ñ€K gá™÷ÄÈϾÏîÿ–WæÔp¡&qœ Rŧ“œ³}8¶þüsˆf‘eo0UÊ2Û#ÿz)®Úùúy½ò,˜>ℹ)›ZþZÒ¿}%‰}Uº´¦šÉÑæƒlÕ‡U=êÍ›0,9óÏa„ãqËà ‹«RE–O¿hÇ®Qf´sAcÏçRŠ"¬¼ ùAÔÏNâM% =š§¿dbàâ\ÂÕÛ§rÜÿ Y»ä»¦÷°€ÑÇ­™¾¶Ä(xf 4ׯPÍ<·Cבé<ëÀ‰ÑX„Ó¹ä´3·A-üN·#R ´øP*¯ƒ+ÃÇ Æè캱ïTÛìOgÈÛB¬9ðù^™í¡ª}âŸ1l0® Ñc¯œ”{øÑ©4 Â?üIÐŽ:—©¾6¢HŠnŒ±3òs´eƳûåíž0Ÿ¨Ñ‚ìqÁ™“yl Ïí¡ˆ=Ý«eµý¶Ú7XÔ#…Á¯®;ZâÏÛ:ÕÀ¨áÊ›@Š/åP„Í–ÿTþÃ`‹Û$M±)Z$Yõ 1pÌöof«Š;t¦P&kZIñIs± &ƒÊå ‡ôÆÊSn·ÔXF’œfÞQžqîKOœÚ–„t…ß×õÓ86Î`ižú¿ÆâÅèý×CűBàøÊá_)†‚þØ@ƃ¾l|BÔp)ßáeÒ ÎJô7jâBD~ÍYhpeHp…SªãÌ41TAÆ ;×ĵ‘ÚŽäðì¼›»HY“tC‘Ðl–¦ê^¬F­^WGEùÝü-y!´þ[ì¼{Hç´Çà‚‘]yð¯Æ¨ÚfÒîî–Uá*%ô,Ë‘íìžR¾òü Åe<ÓV?Ìs¬RDÑ Ýf²ÕöNân§xÚ©?~ˆåó†Ã£Ó2Qk˜SkËDS›­ª'ly‚~ŸÍí£—©â ]7îšE~€ŒË(Óö”#'š[Y²*¿±8íG¶‰Šv ¾Ev”Â$eßôRíb"*€ÖHê”ÀΡáuŽÄ4uEu†7s* Ì#Ñö÷‚åÝ[a ٨ΠéllGáУ{ò‡ºvnŠÆµÝŠ0ƒÌ‚TâÕMúMHÒN6* l!uò”ª]q¼¼IŽ*À» ³Þ3Ò¡ûqÂ]¡‚Ðï:mk¨á‘ÔA‰XvX˜ö'§ äbêâái!®˜NHA„¸ýkŸCâ=bâÅ«<†T)i/¸^ð©%Ī+.è<ÒÛjÆeØ,-3Bó‘jç’ bÿõšTÙè[ —ÕtwŸ¦W>s¢w%Y0‚¶…?Ñ×#¶‡:ýo£(¾há#ºIet_Ó»N•íÀåKY "×{! œä¢&ƒ¥õ1›&ùU‚Âæ†¶-ïõú‚•ö˜²Kn¡[Ò˜–B˜·9^I†SÚ˜ ·(f|Ó\â~Öñ‚ãé¨Du¦öŠˆ7†ÑtÒ‘<—Ó_ À¹okÕK¾­6ˈ0Ϩ¸'l~ª!>EB`3 |´Ã‰îzAðÎoÁvýd­¦ëìsšjGµ${¦/{ 1Ušè;£º|OQ2â)Õ™Ãô d¨±â>ßu¤_ZŸ{Øê|ký¢š·Ð]sÃ.È¥ãê†âè5g|~g…ŒÈ’ðfærèºuÔª0\F§ë-îäþT#œpwˆÌ@MÙ4òÜU³.¿d-ÃLæ0Ö@¹Û¢j¾%rÁóØ.›,<¢HXïØ&Ê£>AZß 8(©'£àœü‹éžOk‡5™úÅ0%Ûýsvð’ƒ žÉ&!¬±öþb[yXèEºlÌæ5jIä;[¢Z‚ª´ŒÅ³¤¿ƒÎÃñª t¹É;95¼Íd!v`0úûqÿT â:k†x¿ô冃¢ŒwŒ% @„…¢ñ‹;™ð“´g\i ¬xB{/½Óô‡æ¹ŒÜÛÔV™ÁÍËf—lzM&í¹öl¡K·ËËü½Hµû_³ƒR–`òÅM+Eõ¤Çu zv›í…FÁ=Ç$“r0·@ßÖ@ô-wp©~´:8ów;v’?„­ .`ñß·„»`¬ »÷z›…€¿†ƒÃí@˲ ÈóŠ’&5F34Íñ6?³PbÙd—ú£uG¶‚22± êÚT1¢…li…¯ÔÅÒÅG1ïÅêéD˜.ƒÿ(¹Â}OÚWl è\‘â9‡îÅc[ÔÇÞ©ÁZõ%Hði‘7/‘Ü:í÷ußQËQMöÁ.ô/&råÃmr¸»¼ºôk Ïje‰KFãLJBˆŸ¹ökf}À“ #¬¥{/áT‘0~ýóz=X™ç—‚ûµFû!6‘…NŽMæ»Z@e[úe28Yô|‘úǪRl»;æÞ±²ðŸÍH;Üt8j¡#*ËöÐ3OJ¬ŽõR 3S-$)|™c+a I°iÊà¬Ò{Ž,‘˜Hœ é[òm@± “,p•ËóØAh,úÔÆŠúrAòÎÆæ‹„ÂÒ|\U¢›r ‚#çÑA"]³¸æ¡+Õ"9ìÐÌ ¾Þ™‡âÒpf+=ÛŽMfgFC_ÝD7Ì·ý}»!ìÞQAº"-kb&8³ü1­P„{íN9?~Õ©*"9¢›†Â;ù[ìþá<\‰3$Öß]óòa¿ŸƒT@@~%›%D͇æÃ·µVEQCn9ÚýÀŽ»úÃè&O$fg°8.Ý%Ù{x‰tÙ¦6A¿ˆN8ͤf©x šŽ9¯¹ì¤,÷õ·X’oª žVþèø«\ƒù8²•žæ¼²0q"(¡uK("j–“t·M:ÇëJËË»þµÖ¨ k—Êãa†nB^Î ¨Ð)˜š‰æGÜ~,µg\+n4”âµ³aògw¾¼÷çCm¢Ô3pL9ÞjsÇ`År?cCíà%ïctº˜ò}lIM»…•‚+Õ’_R*"´>*×ÂüFWïÓk9›>ÛHx´Z=m]o¸#7áØú-˜ÆŒ¹.+Õ÷pžâ¼€¸mí…4¤4·Áxs%ïW,n¸t°ÎÍý•ÈbŠ€É÷LÁ¥ÃÚ`t"~&‘›™³u@sr…%ƒb¦@N»qñ¦­…xÁ@±àäØË|ó¿ƒeˆ>uG'k áöA si  íË6éûE†wˆˆŸ‰lçV¡àÕý£+*.X·\ däk‡µ™“=A(›f‰ò'$Ò꽌z¢fÄf™¢úÚ¾Ö¹wìSg&I2 *\¸Oôš¨©Ã¡D© óÞy¬Ë‰0oQfIœ!]‚«Ɉ1ÚTÏ\mäÿïŠÇ_M{áhE‹÷[}»w ÿa`²ðÃï‹ñ§¥løQ¡#z™Z4<ÌH¤¯í?‡uVôï!B]'å¼GCFSò¢Öfä¬A눹x©ÃEyývYhòøIvÌ"ÅΊ¯Ã³ ûÚ$Dgྃ:R¬•¤Ð†½kS¥Ž"&?—à Ó0¢/;Ý·ª†ÏÉã©81¶’Roá!‘@¬y»vjb‘diÎILˆùJKzàö`© •2Ѐ…<ÕL»É)=ÏÙ>ÕYŽ™5ê#êôަÍ,Ší4`´²]˜U=¯ÄÚêe¦³ mˆª6M`Øž¡ó©éiÉæW`ì{ž<¿*÷2nø™0&è‘sQȨ•"°Y>e„»}4N@ù¢!ä¶4ò²À%B®nÇfØ{P›Õ¬,Ø@¶SÓÕ%jõuNDf)úø£å€mê{(L-qh$wŽQLn—%Z5E–¬Ùørù'ÑçwõÉ2ªihöá˜+ðT¹_r×Ek^ÁߣxlÃI)¶) ÒûÀç£QPÔI™„ÆÕGE–GFzü¡aB­@©?o†  kŒ>†î ˜lÙ'v[sbùÏБ€?hàróÅÁsô¨ *å 'ßÛxu¼¤¬§…É.CÒº+ß´Ëú |y_Óê¶(tÞÃÎeoVŸ8òÖQpûµEwá¹})’¾QÜdü¥ú<ôeœ7;J¤³h㱄ç®Eû’…«HÞ‡MÝgù­38 ¥„™ ÇØà¬Õ2Nâú`b±6MZƒn%I€œ[“ÎÂY†œóYÙË~b³i¾±Q3ï¸èš+ÀµXÂnól†õUH ÿØË‚M«ºbX•N¼´¨; 2®~uIðv ™'É—²Ð¹6ËÎsµ• `·ýKa¾èœõPü›MTæìÌ`?øE¡1{K»I±éXK²´: †Œƒ’Sd(îšJV-i^Ûàõçê™J ³IüTâÎ%åÀäÙÖNbm^–L„ Ÿ­äñ‹BÁ½"=’ é9hºÓ¿ßgÍE@„ܳλŠÓå&BzãÈf- —¢Ò^Jú×&¾iŸïA¼2{”–Ïs­E¨SØ}„ƒÂ^ˆý,¶Ó~à|â¯J&/i:¹4¦Ýu«ìKcE¤z­²˜éO^Íã:ªXÊoÅ&ÕÙÙš2:ÒÃ!F{¬£VÆÀ2ÖîŽ e€k!vhË$õú+3¤æ#¿:K)ëë¸ë‡eo¢/»È¼‡^µG.ÌÁ³¶9jªY{á%:gD_Æ^±rS1Ý;•(Ud»‹¢µÃ½6·çHê(Cú ÔOU/ùhôdÉ7Îó*¼n„Q~Á«Uü#C{@Ši8û˜ˆáèÇ´ècúíïQKH()1` ç`{ô5?†$\pß>JÕÀwÎ$ !³#ò“XŠXMawÄË®ÐÕå²z2á@ÐI¼ÓåÐDƒòÀ$ô?EÂñ)jx…Ú’EvŠ£Ê­Ë¸£ˆXK^;„Ü{ƒZ¿›M¿:ÇЩ´ëàÞÛ>“‰€‰ÆÓ)çà6^°¯=V¡8¾œ8çÍ¢·ÓÖpÃ:–…7CÇ&èʘüj[Š;~ðvR‹ß± ·;kŒVŠ x÷‹w_§Ú×KÌ{d]*yð°%y…9.¿çÛyíÎÊ<¢†bÙXh%—h½Ç ÎR3Á_XüèÀº›D£ˆùœ¬YÝ{X-)Oþ¡JSŽ%ú£ãŽöäûŽ>92ê:ø´\¦lÓ·xV@g¨µn¥û߆”Ñ5ú/V)UÄÕf5LÀãÿ>Øs7VŒ›=vÀ,»æ›aÑÊüè¦d¢äZ¿ç¶ÓÚ¼‚eb( l”¨ÕEÎÄ7Ýë$Þ£¦ÊL¹- 7ô©Àîë ó졹£ÌÐ[„ùªï²Ez Ti"Ü+ ´öñ^€,RèIºákÃE¹ÚË~”I%‘d„ÝVÆàä‘ÏF»])Üd°âL@é[—BmÊypÖø .jÐ88@}Ì*Í–Q8u »µ—й5/Iayݧ£iN.ÿÊËoŸ¶¿ZA=ªzWÁÒÖ§5EˆZ8¬Á4èâî$b¸Êˤná攡&E¹Z~ÑXj÷û†ÐˆeêRZE™ûmƤ¿Ä—êvá%$Š|zB†=±žTÌÈ@[ì27»ðaÙUÝ7oâvQÏPŸ.Ù îlµ¼“ u¦-»»ð_3X 89òà÷¸?Ô.­ýR/>?)î’ÜÁºOm¶7 Gg¢ûsd^ÑM×\‰Ô®î ºn0=u ®Lä¨×‡ˆ£a‰ÊE[WŠ+úr:Œà!N7¹>Ê€?CîÆð‘úü(›V9Æv,H*œ:ùx tg›=\»ßϽ¾àqc ì‰SsÊ<_e<£6ŒO3¬­Ów®Ö[CáÆ nZòÚðeÈâ‚‹žk©J£Y«ÊtˆŒµ¹. ‡) ¡Ž›\ÝhÔrÅSë_%X2ÿÖö P_ÖaßËÿ=ùÄXÚS”&R¥AW f¿Ò­óGë‘é|Ú­ 䀚ۜ‹^DŸêœ(Gͽª;l`dsƒPcT]©€À¤-b{XÚ%ñò©M@ŸFTÆ÷)«LžàôRõ´'¤µx“”RÀhö™ò¬•ÓÐÍw îgÅ`&å0ç(Ó*’‚§MA@˜T!«Ép[H<•õ‘;’| ú„•>‡»@<½NÏ;Œç?€M‰´;}]HF÷©‚úúN øzp–[ycóuwËlŸõŠ2uò|”ØåÇoð'÷)À©?i4 6hf4­L ’¥&«æÙË{"Sç/²ù–«ä¤p9ƒøù¨+¡h›Œõ¶t8^<ößl¦¡v­6~8ßæÒPD7¯¬÷4;®LÚcí Þhœ°ÛólÇÜ®T?F¨›î8IÙVuL)>³:U”p1ßãhDÆ”³Ì“02Úr¦³(æ¢ØBåaÇA¬çý‡¢ˆeåˆD×Å6넜ªjø*oxgó, Â’Çõž ®jëŒ!ÈÒÀ_°Špz²¶D®N‘@yëz•ƒg¡/£À_VÒË"2tØ Ö…ì¸+µeþôU-Ë9Þuûk!©fí ßãWy1¦ uod•LŸŠin½šOoåž}÷}O*£ZP$ŒÒ.E®' Ciða Çϸ–NìyOn0‚Ñ>šû2wb êÄx3Šna`àF§d×Ò¶Šmsa´Ô£õîÜR·‹ûà9…a6ãZ¹’qo­«Lyñ|Æ×)ì°Œä©Æ>gøc”m\" ŸiôÏ+'YÏhû™ßwКŒµÊ_CìûÑþ›º@3Ó®žõÁ9º£IûÝîê—ƒj®•¶íœjä:},Z*FºJF<ñ}˜U¶"våÙ\iŠùÇ­‚̉dâ¡VOü#?î„r¸3p]}“÷Bs m£¢Æ[xª2X«V&ŒœåD þ ŒÆuÜÜ,¾ØIìuy:+mø-Ô·¸mµ¹‘wÜJ)î)X…)Ò(ºö•þ¶XÚq’fÖø¬uý‚Q]òA¤¹½TíZ¯Xx™Mò‰JâÆŒ¿f“¤Ÿmï³ò…Õk»Ë©²9D ­A4¹l|1–p£ž,—†j"¿ìþ¥~ÌìÑMMÈl [F8 ›Ʋ¬6]x2į—M‡+1`owÏ7ÉW±$“YÂø¿üÈ` ‹Ð{ÕXÅFÓ¢vKwBf2¼ŸâÝí1ÃCQrIÂè¢$£Ó”¯¦&wNÜ9¡,õÍ^jœl.b\NjÛð¼vɺÞÛ²ÈÛI»ÝЬ×xHJ åÝ¢u§Ïró&ZÒ:“x +b0R[«T!Wšª†syp Ë’š£é:›\mÕД_’mÐ\â;U}øÀŒÇ8(€¦I×Hžní›§9zmp£pSÏ2è}¤>Lb•·~v%Å„ I-‹¿^‰ûM¥ðcôöˆhãx²¯§ÈeD¥¿+ÞˆÁéÕ!X‹eIáyöÈ¥šÍºEí| pç¿ PÅk]S5u`ßÙ¶£]ðC+>Ô;s¬þáã;Ý Š1àE×ÓñC%c>õ |­¬„œ|wáØÄ´GâÔLiÿ @ÖŠfRn©6€Ì¨¨ð8˜œKeT qˆ'âuÈ[œɱ±½z«¯2êJJš.x F¤ëª“9ë h—O[ÜÐ,ϸʽè:•)àd_Ì]òñCi½È¡Â†Äî;ϪtÓÞÃdŒ$Åyj–yZ“z±ò‚Q3¹®ÂKͨ`jT^s÷R}ÇvõÏfŒî,@Òk§6ÜT…}"‰dENNÅV7q˜Q‹K•ÌÞño™ZkªÒ¦Iµ~Ë%–̽É{ð¥m_cÿ|ÏK°îXútÝwã»ärF¯èȸs ì]àöfã BàìF$†LýjŠÄ°›€l2 Âކ"Ñ4ûÖá6vH®qéxhj¶Ô«³5$¤¯x¯ãÁx?c§”Ã(~½êq®(Ú}>Ãäâ2\hpD“y‹›žçòLM‚Å­âö—\[8°¾d´¢äê«Á€Yà?„€øî®Þ$ìî 9íóÄmŒ¯ø©8ë;ÝÄ”qó©tµž¶ÿê· uÄ•6]…ФhÊ=öüŸZÝ3äÛé`E©ûÕ½\»O›¼»~ýç–¹lÆpºvG"ŽWn,µ5 Íìù9t1áßݽ“WÙþûáXûìjÛ–`M¼ìkôY”%S¤«¥Jx•%Ÿ°œæRn—3޹ÿ­a–‚+"À~yfûykÈË4 éÈ|Ù)òAÄÀÐïðÃî:Ò³§–‰(xB-[§Å 9œÐ¹š¶€ÓbaRær3ó# }….éç¶KA›‘¹X“ L™ç(½0âÓdérFVWæì6RBNÕ±ß/ÄY„›bº ÊÔɽ֞çÖ•€ý–¤ôd‡òµm;† ÷qBøÝÕÓ]@à¦AÒ]:Õè4•@ ¶cß>à´Ý¢™Ã^ϧý=ça}{Ì8DÀR·Ýh¨Ëér–H8ÁVYôý‹~;bÅÿÔÏq}€ ía²ºœ2JæîÀ)÷Zh<ñ²Ð•ýÖŠôELüF§úÒâmÍ̤ ‚ŽªèMFçÓÌÊBØœïnÝžUÍðìNTYšßm)xð³ô7a™=ZÛç$¬6Ÿ ,¡þj—Ó‰Z– »¬¹ŠS`2ê½/10%£'o.rÍZ^Ÿ‘Ò´õñ‰£«îîØQ¡©ñŠ7q+Zd4«àÔƒ}öowföÿå7¹2¾ç Rx0;d-f/D¦ï¬»z¹AÔµ7 uóǘ±¹YvT ½›"ùªìÌ; o¶ Z_"€(<¨#¢:zæÝ¢8/üP‡‚Ç™kŒ¨§Bï¹ ÚÓO罤a­LøŒK§„䔕òZ«¾•U‰˜fJ“¢¬blÁüL› U+ê1›^71DÕ~°€…~êÅvŸ"6 ™)͇Rð ÁÝŽÃq_UQeëÎÂ8,—Áv27Êx*:6|Ïqì"vl4NaÑÏ£ö“;ZbQd¼ð®¾²áÍGg!®¯\±—ãó,ž~ç3¤ò<Ò›h|X£G2ârš”qåzÕ^“¤Î7öq7* ÊãoOÚd€æ'÷üö-{+gQ³ÓF´ä#‹œ\ŒÈŠ}XÔšk¢‹à£9Ö A3ù1lÞúûÑ|Û/iµ\R¬v©¦ëXèv Yvmã"ž¾Ú¦f’BUuEá¼FÂt/‘ªçÔÌÁ‚n _ô_屟|ˆ‚“‰Qs©gYÊšø[ªgý4þ¥“ý/»¬B~¨}‡¡ÅPçÖß…ˆßóŒíëÒ8 .˜V§Ú~øÔº‚#ÏD}Þ¢TL¸ñîu›Èv'|™˜s;¸¨±½gß|Òoe³Å7÷J®ÿ:†&ÍŸi™GT™¼PQ yÃ4Øq/~2—UóØÇóšÐƒ¥Ñ~ŒÚ…çT”ê/õä9Y"a;dßÅÛøWàZY¼†a6?hwO°ê ~½±Ü¶ü¤oÓ̉ñ(@¾=#å1‚›Þý58qž%÷ꇈù°‹Ñ¹Þ±¨q¼MÈJy*αƦì(3Y-å 1î ¡î^°4Eÿhâ;ØÏI…r°Õ-³©ÙcÅa! ¸bìr0â`æ;§Z¼a}ï2ºÍRÇæ¨ìÙv …ÆhÍ ”_oC©Y³|}6µ»ˆFm\ þ0fÎWBvë$»zuî‘“y®þ”Yµf§³hõ›ëR°+à ÿ~38œ:Ò NbŠÉM¨Üð¯S4ð¶É”Lû™¨£!Ì–îîæÚI˜S´G©žÑ JƒŸÆ§qdÙÝ/ûŽZG£Â›±½”5 !!¾ëÁE€r,ìã†]›Ë‚aKrá®g3:ˆL¥»¤Œ¤w³¯ ššGÈïyõ Z+4k°¶ûmäŒûcêV¥ãº»8Ù5®6TLÕ»|¦R#?\«ºyø„¯ÿ8ÿ6 h²†6Ñ"ws†ôªgE¨©ò¢¼Sd#-Sôöý—e¸8uÒpjYÔž‰½0¡¾±“ø+k2ý/MºÔŽo1”‘­ÉßpeØç_Bcl ç§(”y§‡rŒ4Ž”!êGàÏChÃl³’ÈJy¬¼¸—î¥ñ ÛÍ(úTD!=.S¥®àê¥V!þpi4Tý†TtC™t2xú¶›ÓÃdqlcpyÑ!o*DVåµO·­äþaÖæ±p°eù4qbú˵—-nlõD'[0ÐÛ Ä6pñ’R P±MÂÁ¶±þøX…YZßv}ûDo³tëA£4nŠ5ewÅhÚêTno(,½W‚ #ïœ:›å™”¡"£ÞóŒa‰‚Ë47þ‡hü‡xªÈÌA†qýv ºÉ¶ˆâÉ dÒÀLzNQ?aÑ=TÇwYHühœ-Ø @ÉA6¨Rª¹­yë¡Ì­›LÕÒâ>Dý<ìxMÇJü™$q\|㸠Ûîd¢ì3¹“Š®e%DˆP'£¨Ê?C[q5›ñV†Ê¤Þ]Ĩëª,æ\I³FóTGèiV &v‚Pdkx‰k=[ÆS9ô㿽ÊsÃâ)C©<À¼gQ8lŸqQ5î -G­KU›lXõ”³²ƒ² 1Ô”Á¦BM™§¼Â£"=ü”,¿G3ÐÅšýHÏúE–år†•ÿÏqˆ uöàK9nPú¹ …?ÚȧAì ”—Tù陥q{Š@õÛ—n§¿×^±´jÑ :.¯¡!ÓEøØ¹Ykõq=„óeª¨ÒªãÕÍ3¶2ÖWî¶­ÎVíEíà×ÿ“]Ç…‘^«¼<ÄÒ¨lüWw¸7²NbÎ’UŸçÞ)O¸Sð>}Ö@j–=u9Á3„³ìßJØO„5òÊz¹à"ùÆu Û‡w©•F 4æ3sÊ÷š@ã¯åóˆ³3ÚË ³e téÒn –òÓeb‡ÃÐçþ¢åæQ3ÅíÀ}¿Ž„Yï!iw“•“ÃìW‘é.…ÂXÌë·Ç‰'‘7ÍýúBVpaƒÑÙÖ0ðKSü[³’±mròÞ×C€0µUÄ]3kïÓZ8g«xÁ̉["ºÌ†ô`¸%ÝßA¯ÃÞÞÒJ˜÷™Ê”…ƒ°ûû ˜¿£“-ïeÄÖvƒtLÎú²óÓÆ8ü—݇ÁLÅUú%¨ÎÙûêËú˜Ë#­¶Kå·œIO1AydI:å#Pûp¹—}Á‰Î€´ÞT%Á Ьlap2¯sÀ0Q5+­ÿ>b‰CâæÐpŸ@OxÄdîeÙ²5+%˜Cy†>š«.p €ûõR7]iòçEÏé?Fu£ÎXŸ{eÓ'“rL{•÷ÞIL’D<}Rµ½cV‚z‘ªªDû“v£²”Å1ÉæFTŒ^ %!H {¢Ù8îÏ¡¿HCªuµ´þ^[|f¸Y&Sž8>µiÞÔ²[åÐØJ†\9‡?b¾ÂæWI=s”éožèÌ—ÌÄõ#?>zƒ3gÙÑ3¾æòÍåÓÚ Vï$±HƒM#Ð×?µ¤øñ™Nkš%‡© ;_íÜúFL͸ƒÝ+C7Þ×É+jÈMnv8æÙ4öÍ ñ/cS·Ïì?Únsÿ‚$æE9Žn¦Ì¥UY\F¢&4*Þ% †qºÝ>¥<]+Û) ÷q §™†™pýc¥M›Óc@Ò°·Z‹¨¼[Õ'#«ðEðÖ°ÈÑONáEŒÇò}y¶˜æ‰hÙ#>%zð1‡Â+K`íícm@"¢® ,n7¡CÆ4:g¬j±•„ ©DVëŸöe›HIL‰Ëž4€Ï±QïÉÜžÁÞÊsJ+„“x Í—‹*ÜÔKüi›èE™]¶7åGްŒ!ˆ ”Gl˜c ºà­Îu¤GïV[j6 "HSð]ÖÒú|çTZt.y~|Õ8¹Â0‘T=Ou<]ÉÊ…úóM:A=J2B´s„ºæí€Þc~ö¾ ¢ìQtÝØ,HÝ›CÐÎ’ T™— (w׈ê]ö„ù2JU5ÙcÔq&€8%é‘%ÓŸ ûOÏ´!BKîá!ߎ ¨éK)?úªŸÿé±V€²Ï’Xì$ÍÛ¬´³gÒÐ Ï^S#Ü*¿‰/ã‚‹3ž<‘½$Làrª4…é6ÝŒ{ÿY߈Ѓ13eÿ•BùP‹s?8I”]sŠ^2CñëÌk .L\¥)‹Qz(||ƒ£­ÌZ8O£~ü *çC,ï±@£¶.¯ªboG^-YNÃuÖòy:ŠÈÚí¥†Az;ŒZpˆ}3È9œ<ôf NõºùÚ‘Á wPMú´wLV‡Ìpó-<öë'Ó¢}Ûó—Ÿ#îm7uѪk݉L+­§”ƒZäY@E7¯gfåK}WTÉ`æì BÈÅ›(•KK>{ë¥ÚT8RÎ4lõ•¢²ÚG, pýóàÇÎf@ÒÈŠ¨ä “Áé&¬;?ÐÜ øuÝZì¦rõž1°€ ‡×TëØN§7›âûJébŽšÑëLþµŽÂÎ5‡üzÀ±u’AÊÀØ»z'>zŽ"=/’TY¬š¶·‡ÆŽ¯ÁÄĽî$%¦Í|ß6 Ê™¹”Œ^¥úxìÌ}ænAQ€«ò©HPF˜íÅÞ)ÙýÜAç½Î–2Î͈=Ég'¼Ü\3?iæì¢IvC¬±JZ²CMÀ)æNêòžðy"::…HûBÚ®Hê8ݨ ôp”)9"Û‹ò¨W«]"÷ƒ‹­»5CZ!ñ§LÞÂÜI1éÓ>ÓÒCZéÈ¥;+ïl‘“øgeÿ“áåØU\\˦hDÇÆõ‰m9 ewZŒ÷RÂí•4<ФIËسù6=ûÊ“ ƒaMõÅü\æOb“ ðGtç5º}0 ‚¦!†f]›úô–9àmdŸLçÕ¬ n0Ì„¸iðý5Ê''x ÜgmÒá¡aȳ£Z)|pÎÎe¦Ó™ ³]½k˜´€¡WZµý S¯íÓ( ¼$#³Û‡j(žÏœ3BæŸ‘ÊØknûž±,޹—,*n*SªtBUìPäè„»¹]rb}¡:ˆÜvtBýÜ2)ê§Ä%'{¬ #Ÿî½ºTÛmUX„©õ£ì”EˆpBký`º—àl•ÎqÉ¬Šª¯ÿ%…Z`‹ßT˜¨ ŸÊ«D¨+ s-llëu¸AYœMOFEÚŠ.ú#³åP•QÍ~ݶ•¶cþK š.L,cœùÿiK-š˜`éš®Ï/ßK™€gNT«™7rÆQŸ ÂÝ‘N±H=‡÷^æK´X;×kê8Eåºäëkô Àm…q€J;mjQÆO/³K ûÛ<½VXë’çdEñ+Ö¶êóв«ɬ5<3ƒÔv£Y"·¼œwɵ¶=Ûµ€µÇ™a0ìöÂýáîª[-»ó˜×¬Z%EŸw u tÄ@lîOƒ$r„Õ%í§nKÆñÙøF*Œ‘vôž.h£ö9púµ¤‹Ù— «æÛ”Ö{CY[bô‘„¸VS¨4çàœÓ¬àýⵞ¸Äq½‚âÕ»€,ëÔÂ4%ª ” dÒãTlñ†›Ü€ÿÕYѽ`†Ý$$êM§çäœ6ô6è×3/ [Ñ1•YB£·£w5©¦A™TÒ•rÅfú}²áréæ[úÝSc%thÔ0BÀd· 4DÞÐÒ€õW¢ß8U4HÇÊ,Æ”’Äå!ó˜“mP(U³×NŒmn`Ÿß£!7×sÈŽRˆG÷“I“‚ˆÉËÞŸV•ÈýYåÓX"¨ø>ÒË÷~6 ö‚ý……‰÷ØU„>ÔS™p=åÕ^.¡éeT~íñ'…”Ùr7ÿ|áµ{«8,ïzÛpù}ª€‡G NoÜDïÛ ÏSxÒºŽÃiÐK´Š5FÙÔÒ™3g¨7£›~ª)jÒ N_óSÍm”€Ðv8`ÞL3Ãÿz¥Ãœáðßu9ÎpšÚ]MƒßT? ­.˜`€‘ì×â¡”É*Ç­´uõ×Ð]ë ° ÑË’p£&`…}©'âÒ&Hã¯×Á;õ©jnÕ·Rñt½dUÞ"·Ão!oõ…Æu‰Þ»ÖdkFÅ}Óx”‘å>×¢ZñôiSjÉ’´ ¼¶ ˆ©X÷Ô-eFè$Èèr~ɲÅ÷9±'=zÝ I†ð=gÐxD… …¸Ërm#:ÿ\Aæz %šÊãzÒ¬ Jpòá`­› Ú/¾_Qäi¬Å¢§ë^ÞBÉ„£â·´é^¢dÏË›.À”aÈÔÜëQgŒžß†öO{¿ŠÿkäS¯´]žËÇ.ü¥~*žÈ/Õà =ÞÃ……³»zGp¨È\ÍÈ+Ÿ6i¦*o:àuDv&ÜZd73hÞf•®:ªüšaÝ (üð8ãöñ¢:B[ T¢¯TÐÃi¯ñ¿bCîY´Û9ZÞ(逩È"æÔ$S[½¾c¬ñtRIkM5=«0Jæ©ð¸Mî«uñZ»{Â#þGú"ªI¥©:Òý®Ÿg$þ}-2ô¢U+ô¨^Q, · ”}ëÈ[æ‡RKv V»í[(.eׄçÉÑé¸äÈa›ØV.Y¨eÊÆh[i™7Ûð”ih·xQ•ΙµåÉkBk x03\?qF.t=Á&mÑjùI‘´\{pªŒÖ¶"úuR‰eQ º•™ÖkÞìPH—³ÖnB³s¦ƒð2š±Oãá $^¡}Ëab•åp›º~›aíI«ˆÑö¤˜‡ÎhlÝa«·¦×ɬb¨¡ À9”/ (K(*?8'òijòSW8„hi<Êz'¡²4Hœ¿®µìZì`dv%é ì+„4·nV-ˆK³åÁ; ¼åÖô:·ÿwåÃCĵ$áÝ=¾‘P¨M¾ͲÑOÙÙ4ˆ<~ƒ‰yz¾çò =„ÚÈk’çŒÍÞýçmhú±ˆzùɲxe—º÷y·]}™¤9³ Ðá–æ$yÒ(ÿ„c‚øi7ËlÐ gq†`1•‰dûZZg¸ãÜÆâ!¾JÎËOëÛ ‹À¼¹:ü«úï£Ð5à/‹+Éî£Dk,¤1uÌ×KßèÁ…ÞV÷ ¨âdÆèÃçR³ úÎ>+³NéNal@ÓLk\¸rXy3¢®ªè¸ÛV›B/ã"â.ð¢è’Þ\¾§CñÑëòøÒ‡<§¸˜ÃÄ5à˜ f< ¬2 îôÓûô²÷Âæ›y0jž¹KÚøg—ÝÇnQôè'ŽÊž¶Œ­½¨] ªY³§û–08$æóõ¶5ÓsÎsìDªàöéôk€_º=…®¡èKNÚåßm$ ¨†wJB/ðÂ3Ô™–Ô©Æ»@ª%ã% ¤ðG¦p©«ÚE_ʦ¸Þ¾Ïˆ‹ë‘¯Žtº"üŒð’¡î—q×—ÝóqªåÌF­¶dõêgõ¥“NÌd.õÿ ÷ÉqÕQsͰ—¾óò>)ªÆÖ\Ùèû‹<œ™ÉL‡À,úF‘‚cQ³0À¿\‹T˃(¦ú14¬07O$tr6Ó ½âýtat·Õϱ E#s ÁünW¹“}0±Mc³°çŦÇò$UÒ^½±µ©¥Áe,Xݰ…¿Ä²œ7Úêñ#I#Œœm”-úu÷ÅüÇCÞÆÏærKâñ3žê^˜z#Wå»ìì~ûŠ˜‡”ÅA^ÁžÖ^²)Ð’²‡eCÒ¬¼ž*K}ѹBðØÓ𼊀"ˤz„ w°Æh Y/äš\/Þˆ±™Íg™6¥‹¬ywS»Ä½b=9ÆP•–è¥Bª­Ãàž"’4w¿¸0pãè¿76ñJ–Çþƒïø·ÞP“î)²–¶ðjC™'Œ—Å@JÐŽœS3ë0×E‹XwÈt@–gJ¶4ûyHü›¼þßjذ6ªâŠo>ÑwϺ—›•Ã0õ®Dü<Û’!«ØÁt ö6&ùPH5°ùDŠ>¯õ8!5xˆ‰¯ºÙŒÁ-E”½ðX:þÊÇû@4³ ‡ïûŒûÁHÀ f™LöÊ"~³#¦D¡wª4#ÏíÈqf†ñ ‰T¿%Ó ¦k­|RxÿÝIù_ .ш˜ã~ *Wƒ»™ÖðOž=¯Cø¹ÇÀlšÌ²8$nA;Fw,¹v—v1mJ…,¼RITUµ ›¿Kºdúc•­¢ I>·ÄÕÜ™…öæyðXeIûŽüš×­Õ¹&²P`y ÔöÓ¿¬­Wô…†3•<]äáó³@@Ó÷¬,ôSÔÔq¬ÔNP[hаœ&î,I 9LƵwæŸuƒ¸*WÜT´{醗ªUs¬%Ž+Òx^g±´ êÞÕ3¿r„md£·°1t=³¬f^[T£V<‘y;þåÜ#dXWç°*U€R:>•g®Xp%ð’ç¯>çÛ$Î!î«ãPBIÖÃ|Ø\Å)Ä'ñj&kmŽÄQme-‹“ÚT}ÏDGz|ŒßO2A„¦Ü÷Î`çŽ|8ZWAÆÔÄ=…3éÐ éÿ/½Ñl±*à‹žxŸ89"ŸÏóH/fËeÞ?ÄÉÐ26…Áî̇*ß)‚hVêªk/'Ïå‡6c-[´ë@Ù‰÷rý¸Æø*œÀ Î G´÷"þ0a·Ö¶wè`XDêe¯+ÌèLbæêÛÆ-ßC–w-FÝЩH2*9ä¥þ4{=ÆÆÝWvÖjâ'42—´nô^Í\L÷œÛë#9Ð4³ßµó >ÈsœŽ,“ÁoÏ[| $ñ÷‹–ÍÓÌÍÈÖhå]ÒBëÒdýGŒ†”>g"Ó%Û‡ÿ0n…p€ý÷Ÿ¯™ÉžÕ•—y‚劻hZnÚ$0VÈjð@½º)Jp¬Ñmú¹§ñÍnK€T‡‡;uTþ6#7»Ÿ: N¼ßÒQç6&À+¼æÇü~©Î¬rzˆã\ðbO;±’Åp¼Õ|ÇÙp –Ÿ ŒpXšÜÄÅ/´dÇ>Ê ¡“úìÞ9à£vñ$Uh~`É£ˆ©n0­§%9éɲ5ËM;WÀÜã4|&3¥¶w7äßaxh?ÃNâ‚ ET´xˆüŽæËí ¶Ç_õ¾T¤rt½—™ýu¡0×ÖðÕ@»<2ˆõ÷ÕM /ܧOuwV±ç‹fgÞÿóÓ‰Wá±ÊŽá¸ýéuÚ]?Oìœ)O^€_C<RÉCWŸ_ÛÛï\œe)žÅ|ÔÔJSdå—é+‰}€?¤¬M_öˆÙgõñIyz×^u‚ßñ/$w‡$ΟW#oºõ4Éø3|ªÎÙ¿yoi;p¢>³Tyk-M´áúæŠsß.‡L„nöRÛÜ\¿ZK /W-ÝVÖ÷)úâÑ ˆ=Tô/c´Zaç´™Ñâ\’ÀàF¬¨ÀYO’*z”¾¶U¯ÏG³˜ï'[ÎâãŠÏÝI Å^׉‹ƒ;ƒpC|'öoîÀ ©Q ‹F1çÍ™ˆ³ÒóìÛ’#{IQ30´Ý(Ý’ CZ_õ’§µˆñðÞ8ɹÙ_ ÆE†@š^z`ØLtÃ-æ¥;„Í_Ã5¡:†ÌJCrn÷9}´=zü¬òK@ÆÀ%‰Åó™z³Å9¸„,z H¾‚o*ô¿cJã²æøð“¹Tï¶kÇ{­h`WÅ^.IlŸaW_Áîßh±èK4ñÁäýsاB§éýÇ=Ñxˆ]aI?yk\3¥`™—N«4éï!dþÉüÅ÷ˆ¸“^ t ÖèÜÕÐHpñ™ß¥×Ï $÷” ',2ÌòC|sunsP\#mä2jÙk]C“üÙˆ!ÊÎ@¶/ÊWŠ"GD`‡;ËRè‚u!TÑ °$|úú6ŠœA—-¨_Cz¢Ç¡ÚxǨү8¿ïPLnêó)±¬Ã†*íÖñ~øÃ˜¥>÷Fd‡o¿øúMÝÁ;ˆVOùæòe0‚{ãÛƒâC˜yÃxýWãîüSeœ9zRƒ±8ÈòÅ·r]´SÀK4ÞtÒd¸„îÉͯ’·‘ìÓ¡ëŸb´oaâÕ5—|Ï1_ßk$T¶z×BÖ±ûIµ9ùn0¬wýieóøÝj¨nüÀ]›HÄ”ºš+U®îVê‰YÞ •÷Ù¡`ËápbÇ£}‚_Ín‹ÞÃÇÞ³oIßýôuÔ$ ·—áÿ˜Ó€Œé¢4¡Ü£âP‘%û½ªs5DŽœ°‘vØ+Ù tÔ‚³@õ!L¨R ´B¤ü²1¹Ì@6¤óÝk£­ £¿ÌØê€Æ)OË"ÿ5‘ÇŸVò&JX÷Ä”~.ˆRQ:‚^ ­ÚÔò½‹«ý»ÿo+Ã…ÒnÉõ’ƒ¿¡RÉ®“òE¹Ý7âï'VÍfíreðV >¿Õ¬Î&W§É¥Ï•¢8Wê²Äߘދ­SÇèÁ"Ç‚DðÿmÌÆØäŠ6!ˆø [Cz ˜Ì›?“¬®ùÒPâ¼i¡¥ôSÅúò›9Ô’7(Šx?̧š–ù$"² µíúÆçòèÆCÙ=Éh{Ûñ™h€é•±ôÃÂoŸ‚,Ã&i DŸë>õõ^6aˆ˜­±‰”ñé˜5Cµ½›øù¾:Šùµ®ÝUmœ+Âãì\t{©öóøÇ>LïÅrL&ûQ5˜l×”ÑçZ¢;‰]*·úxÇ#ØxOÁDª'3 “צü³ÝÙcèž f Cr”Özþ½ÐèxG k0} k,œeüó E ºöü‚“ˆ®–GCWè ´fñº›rx:þA¼à”ˆé%èjÃÝËÒ¥k㥸í¸å̔ڶhT¾•> oÚo¦jxÞÍ®Ixãçn—’ìbg¢u Ó¿ƒf\ê…(‰|c›5éã’y¨ö £•iµÊNß&ì*ë#20öfÆçˆ/ÜœÞNE¦°xkXH¼n°W´ Ϋ~ͼRí\¥Ž} Çi 9àmÍûô›µºJH“±az#­ÀŠÌÖóÀî8jJ.¼]úz‡œüÏXÁj?›•]ù¨¦ÉU+ã«o[¥ÃÔD‹ŸNÎÂ.Ãz63 ¡AËȾÙ»?)lvà«·Ó±?¯¬‚mkJ–Ò§j´¶`U9Z‹>‰' R2…fmé1Û&­^ {1Ty³Õí±'u@Ÿ¾ày,Àcš4ÒÏe~2PxT¡«±Ô'>ÀIMÙàc”—À¬ón(æÆÉÑÁ„mGÆ‹ª#æÇ¶<¸©pѦÅ^o~)±ºçhйT «ÄøÛpf׿µí°{f±Š!y|Æþ‡ùçxG–pt.¹^ª‰›Ú×DÖc:1IÖde#K³þKyˆ׉ષ÷'ú›ç˜Všùõû¸ˆÏ*kŠTJ:­z_ºÆ“%þá¾ý(49ּǯÏLÌP·P…ùy=zïšÿÑ/#²È2<Ëõ±µÃãÉé×Y Ž|p¥É&Î +M+})T¢3¥6Ú%‚Û¨üÒÌ¥ÅTlZ¹ËEdå«Ú¹ ®î^~‘Ô„cü®4¼qøÙûAÄ 1#6.µ®=¢¨!¾c˜PÎþ)->>ºësœÊé¹_³G´Lê´H–{ƒ'ÓRˆš”O;èü\ÐטîØÉ¥ 8´³‹<ûåAÊDxN‹$ƒ vª…ä(ms·ùÊÏWJSe‚·_!Ëp¯GÉ%y·o­üGZ‹8a Z# êhªÝ%\Ïf”Ùª½`蔑Ü:ŠÞoÿhÎÞ÷Ó]6¨Ûî˜õ·³Ò”Î>OXiÇ•&¤·9dùÄYw¨Q/ô–Ðp-·([¢zÿÿ‹ØÇ+]Ö<™i®~£´Mö‚ƉáéMãBÑàÏ"Dx˜”ØÐãþë!Ae) HVFר{ŦV hC¹%0~ÑT*ì(ôL4¨oA¡ì68³&óý§Èx%ÿEþÂÎ)îðàγšÒ¸cÐ%a\Í[žE`ÿö«aAù¾7ñé"3úP"bhFéÌMBõåïHëÞ†üÝ¡Ç!WÕûƒ;¹ÛWÿ*s¡éX–ø†!t·Ó±]+=éV Ź‚\Êm¹®{RäbJëâ§yú“R;Höóô–yxìXˆ Ø‚ýU¤6¶¡¬lB¸ö°@qôÇw#iªIŠ{ˆ[ZR¥XU®L|º:?gd§Ô »Š–,Nn팭GâÛxFi-“)ïNÄ^¢?]Hs^ÚEÁÆþñ!þ튱ÇqCFZöÊ2ýBe Œ˜ê¢Ûè—~g0`âóõèiç#(ÖÊ6wN‚SúisèÅ+ÈÈï܉—Ë“Jн!û8@ǽ°Lqçý¹cvªÃhA¯«a˜Ž±J¼õ®KÜ‹æC^‘Cà$ç¡lÖA›£È/F– 9`ÄåÉq"€Ã—ë¶Ù´q(òF]m’ž*<Ñ(£z üzä—´C/Š*|—5ÿ¶_úˆ‡Ç¾¼¥#åTèò¶÷…WÕ 3%fƒr¥86Îap¢Kâ Ý!¾©ù# 0ksØ5+Âì­ªj¾ê5Ÿccez>>Y³øšìT\¤dhEaÚJ,½m“7CöÜ Õ‘2• —CWÉ%ÒH´Ì"?f; /Ò®@” 㘴--ñ-h£6ÌRG ˆ#Ö Ygªï5ýíëìÄž™`ª5ì&Nø~Õ-Ùxž=}©†WÌ!²jÈ QÀÝ_Pl0ã&J¼Ÿ\ÚTšIJ,šá †^å!n~8‘Øªæ ˆ°¯¢¢íɽ’M L»ÜÍOq´õâáÁ ¹Ü·UÏø¨}åïU6„Û³µñ†5*¿§ b1>+¶ÌÒvüŽ—˜ó¸éÕÎJÅ {ÖcÍO&Áêakfç‰Æ¢Ðû3B]×úS™Ý•]ðàÏš´-ƒ´œ&à­]4“-)Œ£ºô¿áÓ}$^-®õÕ;g¬´˜Pµê±hM˜©vY×ݤH`ÒÖî õ»»4O/Uàk%/#ð`ÛÚe:ûMÅåJ#7Ér†[~÷zÊÉœÑx{1”QJe.(\HKÉ’e‰a™ï.­ü•$nYK1}Q!6Èp£ª˜vNct–0)ïeÂ]_p±»éYÚÞÔIä˜ÂëânÔë©6{´2`q¹ñcçuhí@k­ŒMóg»e(4#’¹Oú´TÓj„Ó À.(‰ˆå ÔÚ½ Уå"8!}dECf4S¥Ñ2nA¨&#¢:}I)_ó_zô™ÅQh<Á±sêˆ= öCÕG’Úk3òí-ûE« YØò5 5óê2Ý8¬ëaDí,½)Mˆv{Mý5¿Dþ¢Ë12M Ÿ._Îz9²øÆBJêž4cÄH¢à'6:wùk¬Ë{ìaùë‡pñNЪƒ”¥½Ÿ¹v«mÓt}ˆÎÔë6Ûñé){‡ÚZ¾º•~ä¾Ñ>ŒŠcÉÀ°ÍŠ–ª ×¡'†’ùj(ýJ†¢UÖ<"˜ŠÝVè˜D¼kXêšÄ|8ÔG#ãÙ'JÔd³‰º]2"e²y«{-õÝAýÞ!ïnƒf%ùÏm°Ç6PŸVªsÀ XóH%¤^ôx°±c©•{#¤nìpɽ…Yè£dt›.‡ìJ‡²ZÆ…èU…À@´šýB[e2^aVËÁ%RW ¡• $®ÏDrÅ3`d¢¶r+‡/>„aW‰GVœfÕ=^¥#. u7‘h•@Ýä“õ'õB™èà N¥Œº×ûK“ ûd T`µv©(õ¼Éã²’+Èí»FÁÝHÿùÎbP¬U çŽÒËœ94¤·±¦Õ¡{ò8p7ÂqÅâ5â9ë“Åÿ›@re¦>7q}'q8*/oø[¿ë‰O(ƒƒèRi þx9ó~lÒ-Zžx>ϯ ` и#ø»=Z׌vÁºá «ñ¤±ýÑ8Ði Á ópwP<BÄëê™ó0oñ$¶OÀk¯ýŸ9)!Gá› "«øX€ÔRƒîåÜ狳Š·"rš$î öf—ìSEÒå.D.´èB=Œñ!G~ÂhÈêå»åj‹Ùû¥ ÎØ™¤”rª*’3;…¨-÷FaS•qXÑ¢lÌ®æÕÍ=V[“ßÉ@‡@ çY!ù½€†•3~*²4/†×?êÛïf›S[Ÿ#iï{nߨ vh3ðb$æ\U².Bþ€›KÆ‹i~Ñwwûjï͘K5|ÌHæ–Y=õŸl›öû|t¡v°«»T¸éoÃ.PeÞÆ@Že¶•µH¿_™x.S×ßfÂ#_Zd½1È–ÏF¢¨mâÒú ~vö/|»ÑøóÕ9` ?p?†”WÀ6vÆŒŸîÍÍü¢Ýwà@­j4Ø8a–=- ÐrÐióœÏˆÑ“§7×-îŒôVÃJ*¸êQñ±sݧzý¾÷DÍ©ÔÉÖÈÿ)‚Èýo´Är·IŸ‚ò&M.EÈÈc® U´õ­Û¡¿uk¿G¨·EˆUœ>eòTïô\ÛUw­Ü?³¥µ½ŠLÌò¶;Áõ1¼à{{Ï…ùE8±E"æ?oî9k¢ €uâÏøÏDòPM°èœÍ¬„ÊHUóÜ»iƒ¤ÓkkJ ãn@92ˆøêm]¤ÎŠŽÞ\ÿádg÷ëZáS‡¤Â²ãÈ^¸{zÕS@ÛèìѶ²PÝk‘¯Ý½kš»Å­Œƒü­ ~×KùL6SO±°l3Yý×6ø†`îðûv¥uˆ} ¥?Õ‚ãâi3Dƒ»Té–Z´¥H“ÃË,QÁÁÝš‚rTJ0Üe&†U0zÖÅRW2ánÒ%$xž ñh“$’ôx¦&áh„`N{¹tÃßòv׺½g"ø2ŸÃfJaulb½h*¥™:–3û«Á„§šuôê:Ñ$ÿm…^ïºc@âws$جŠâ©rbñ;¾¾ù!aY£uô÷?Z¶ª6ZÑ£¬ù—Ò "¨ø¯À¤*K±=ph}`‰ú™üÀmÿÄ0‘¥å0hvy!ëg ;‹Õœ+^ßàè?ñâsí]ø/«i¬­ì eªÎ#ñé_µÌ ÞÅ HüŠÌÒhîþö6Þ[0õJIaKBOò´xê÷ÅÒ«AK"U(Žõ³<·× ’Øœsý=0¡PÈ쉙°vƒUˆ Þi=¥Ÿ3Æ×ý£d±CK".‰º[_ f` Þ¡bZâï›K8ªægº¶E-’dtæó¾¬J¥í e‘­Š3…D¼QµTÍr"u(šf§ÎÞ§{Ó-FUtc¥aü˜\{Œ(F^â)ÿªsëÏD6ÏnN‘& S^hórè1kL¬]3`ø"ýˆÐùfdöü’ç-yßî"3´Ú˜Ú=Àëâ;i#µÅ8“âµâ•ÁIÓO¢{Yu¤V(Ó¿TQEO‰„Ã͋؉ ¤æV 'JH-ôëˆâùY…Î|…ŒâýþadÛ&,‰g¾¹…CͳBY¦O:ÁÞ¨f°Ãbaêó¶ÌwɈf2©Ï?»TêMƳT‹éðø¾c‰^B2Ù}Í2M⪰k0;¤ÑAûOx‰ËVbüÚj›‡Íî (¬åÚÙ‰@P ƒ²|ñyf%sD×õõ–nyF%"Z¬¦{·Oÿ¨[×BØü÷Áêš8/Ãeâb󅢇Oþ#•yˆÄ¼± xð•¸÷aÔºHI1 ñyáÈúkÜêæ“,B=rƒôL±õaÐ7Èn±erdËy˜úø^+¢åd_»8 )j]~h:”qB¢[ù4dE&<Ü›xè'Pjl«@E dv;Áç e.µTí,ê< -:e„)" ¤ª§§ÍÂ퓼CgëØWP©eó¶*fVEã6ðÑ [lFŒ“;ö ÍLU ;òûZàf«qþ0ŘÙû™uNÏ_4¤)Ð]’¥Ò~Íp"é8®XWZ›çYœßr¼pNO=jEj…qJ `!€ž.ßâýñ ¡é:ù¢ª¤ú]­a¦‰ôÖM0Âp„fƒC[Œx*Q*‹~jS…\ê’ rž Ä3 0é/ÏÄ'…?A0ÆþÇлÊlÜô(JÕŒzÈw5Á;êN¡•Ün7«…‡ÐÃ7*¯ ¥KÅÇœü=ÈÈ÷pê0ÛŽÕw—â?:ùŒC6ªé½ßcG94+7FUĆæô?h™^'é¼m÷ºÕ¯LüÀâçMî9-¹ÙuáæZ×&–£Ö¯Æ.iïT=¬ó} à¨Ø·h©V¹–Ô@«‘w#2 {x\Yõ» *£eû©µ‘C»Ì­Bà’JÚÀYôí‰Î5§KkA?óš æÕ#¦Fz8W%8r-ÍIÉ+³/½ZHzäë…(ƃîŠp´†šáÔf°¼>ê¶±×&•e vžµY øCŠÜòÁ!MŽêßá?¾¿MzA±j¼œB••ÅœyxûŸÇeV ¢‚^ÞOÝõ†N‡F63-(ÁïI¶Â`›8}ÕWE¬QÕ_È-JÓŠ{úw@žÒÈ‹jÈV]Ë ~51cÅIR.áá­NÍ®*p$IÓyqqYR|P3q®èܕ߹¹§ƒ!Þ¾ÚðRù FIæ~ÌSj嶇¯»ð3³c¿X3ƒ bôò ¿BGíŒl_˜» 5°ÇUÆaõnà‘ç Åw×v‰ç”ÕÆ} è¸WÃý ÌŽæDæIUòð òS?B€°žXP~oS¡2ç¿”[ÚWÛìÏdvždY74ÿP|œHÚƒj«Ss¾è>k‡R Í-]áñÑÈe¢RwaÑΨRt_ ñQ¨xÿÔŸÿ4ÑTÜËúð=³ßë­é´‡‡ê bK ø„„ç¹Á‹“)Ò]!yJ2øÞËWËê=Ô|šÜú‘H¾ñ{eäA’‚¥5¹Ôò"Föˆe¹jNëi¼dî ¯¾¶3rÔý‘J ',ƒ´Ì²I“3¿¯gJÔw“ToW†<ß WûsÛ×Ä6€-òÿ8î˜áí‡/ص¡Lhù¬\†a<ú¹T.YƒÅ\±þÇzñÍô„.z+׆,/ÈìZ$ë«€ƒrú¥]Îü۵μžv»/¨ÜŽå¤ ñ‡íÿºÇi<¹:R¬£Ìvoܧ²ýâá¶EÕ$b£¥;dQö¶DlgÅж[¦|ø~g²£@Ôç”Ên‡ DÀ{€ÞŸeoÙšºÈ·ã ã7U™)D«ÐQÒS¸E÷÷&¬¯˜'‚(|›o>á0|ŸÕy/Ñe?ƒºS@r’Á^Íÿïu«‘ìV¸ÞCÅáM2}ͤIçÃÚÑtéZqshj‹Yà ôq/ä¡åÖ|¼§ûªÓMNÒ‡ÿÖYpÈ#Ö30Æ*v—n· Z»¢Þþ€ÃO¡Í}Õ·µÿˆ¿îœ ó"åùâ¢àa#g}ºöWŸdÔÞ “ÁR¨xr;ö»€Ê1|þR¿’z—Õ“ßcú‡Y*öcÒ ú®Öb1ÚÜÎâó©"•P•ÛzoE$Ðê¡øg¹mR¸G*3ðl›%ð-Çk¤Gô5–×WHäô#]dR] ½[Dož0/×&{š¡8šÃÒw’µúoHü†¹WY±9Ko o(§¬…+è{Wš8„;ï™Æ;Ô–F½`™DÜÝÉÅ„¼5爳[Ë¡xJËø7d{D¿ËmvtÐ….ê÷lÏ&½Õ¬h®8Ô ÇæÖŽ+åÂU0’Ý_…ÏàJ “± 8þ±é^$OØ]õÙ(, ÷u¡‰£ZZ‹Ú®[ay¨åºœYRN/*J•¡4;®ÁäÇ7D½¯hÓ°•.–~4ײûŸ½RÙÅÕtõ9ÉCóËmjÜ q/r³ýDÅ+“þ¶*úÇrü¡ƒc9ü(’O!#+ƒÎK;Ú,KiÝøZÛ¨ÍÑ-ÀØD­·ñ3­“ ¿Ã;ñ°Áà”;Õò,Ïë²fJ€O¿¨¡öôpŒÚ”NÁ¶heŸ‡1pÁÅáÁr›Õk« \,.æ”D»ã¶ì/•U/¶»Â³É•újœ™Â÷Uˆ±¦T¾ÇŽ<Õ¦ ¿wxÏ q®³|£®W·ÏkLÛFMðp÷>î?™7cå¡XÚÓÖ3ñO£º˜rò–yc¼}°ÇÃòý®Á½´HºdBëìKùª®ãPkÆð‰é=‰ÍZ»Á¨É_ PŒ¤”‚ºóÔ Ðuk»NdÓú s´Xì9@´O%‘\c¨1ZíÆíl÷H{äÇû6ß,“?ÛÎ/ÊÇ8q“½®*ƒ'¼`©½p–Má>‘ÞoŒÖÜÛt‡Í/‰¹llK oLPúô½@”¦L}ÆŸà ޱ¨b<»®ì²üPæA* '!”kÙºZ6¼l,ÚV‘£2œ ‚Ë.),¸¢nÑdtµÎû¦Šý‚PYÌ> ¥øV>sÈUt} ˆaeÞ^Šš½[¾¨jçTc<™•÷xçÀpËJñ9š;JŠêó¹èþK» çH±ØË´_–O-Îdxrð²CË÷±Ø[×¢7AyŽmAÅá,ÞjHµfýœ@Q^‘~ª|ÝLß_ˆõ1¯ÿÒSèAÕ£ÈN.’h)0y©_O§C¢Ž²ï·ÅHTˆ0ðMÚ¯üÅbDDS£Òd-Àæç*ìÎ6óò|“m#Pƶ0©(>j2!yØ«ŠS ‘…qÏE$ìJóÄ/í’'àmËÑŽàìõâø´ØpP 6О‘¬fùž\Ãç¼,—¬¼_Bt7…d'p#pFÇŸ¬õÿÆèö•ÙùÃê˜ÛCþ2áH0ôäëôµ•É5`…ÿOÂ.k‚®eÔ­ßÁ-¯£<æî7aœ0v­ìü¿ñ¿†Q o²¨­š1ljse 3\23hqqBΈ¦8jkq+}ʶÊ(¸¹Æ-soÄðY-gÇ^êº$·ª¤¯n¹„à?âv1$•P'Mz$(w‘k@–á?fcÞî(:"zû‘.ºúPÐ/Ðé-GÖ\I´+Í/ü….†ëqòH|ý(ûPÒ9yøá =1–ó:WóÊÕÑÚº±{­‡žd»buž–><1|vÃ.œ¹,€…“nðoÊê›@v;jC ܦ«_ÝAœãưÊ×ÐkîÚ{=khZ1çtòˆêY漪+yx‰Nå_!ü‹¯¦Y AŒsŒí 7´p{‚4ëKÛ–ŒCˆ’v愱ê@ö˜’*Û yåíÕ6@-ôlXãÁi÷B㌄TŽêÑM¥þƒh«´rscºð¸GªGY;#Š\1]g’‰RÒѤíGfE³Ò\$ÔSkˆM~G7©ºlhØð-´.|G.ïÊH³¤$g 8[PùþFÐÌ–î\÷$ºÕ¸,.¨>ÓiR‰ »¸µÝ»`d-$:ì¨#° irÏóç}b£ŽRKö{þŒXêP¿l§{%ü֊Уy3x[ðéܬ{Ú±4Ÿ—ñ±ê=ăübL±Ô׈Á¦ä×s#JØÕÓ”e^bV[q 3ÕpР¯ÍUõÎÓÀfè0RIÊ\DÙÞº©y#,ãúñ©Íö:$ñÒ´Iá ¿ƒ i³0Is;¯ÐÅÎúöéÝ`G&Ež_{°Þvð#^ñ3<Pùb.5hÊ”øþã Æ'ê ìd5Å«“—¿¸0¶N¿ô§6ŒÖ xŽ·†@¶á/cGŸ7j½Äj* ŽIÕ¶r äAâe¨ÍM€ð+Aè°,JnxÇ…s­‘'Æ&¤hãÏ„Ó8l’$Ãh.D#çÛW9 ΆRtcz9W%,„B"o†Ñt3»_ b¥Õ Økg8Ñ FGbÝQ¸U,C‚RìÛ!D­[‡~™”&ÅÞ‰öDÃeïµ±µÔ¯”Ë·z'Ñÿˆª†‘Æ{L;ÜbdP»{þ)–9Vô\G4ñʧéD4ÍÂÅcŸmÔ:çÍÉåaM£)Äë• ÁUß7ù´¨Nv̧ ‘ûù¯Ax«¯”S©{F›Ž2KBdðñ£C›ÿݬQä::G*NzØôå|Pi€tx%.¨5)“]ï޽æÂ ½à­ —œ!íb”YWð®¶#³ †®7¼±TP„çH"K¬âžÝÛG0û)Ò¸„R éjèéƒ.|ÛèGtã>Ɔnn~cÏ”·ˆœ˜”1œ˜òlhè 5$†ÆUÎÏq!â$§yIÞüÙt íj®Æ+”Aøú>K늇3²8EÆçí4ΰ°»4ExG÷Áy‚Îþ£“[3ŒpŒ ãø3ò´Ï6=÷²µH.Çõ†nC!Ò¸ÀÃãSþMŸ¦É»v;1]1·f)$+ …_:c­€)3lþi‘â¸f —!™`:eÅòøÒæãÈ÷»ŠçØ>¦»‡Ê0Ãî ÿgÍÆJñ+Ö›ɤ vÇ$LÃ*#”ÿµû#HmðÎY¬6xÉ0DØîehGxdð  'sóˆy-ˆjF=9äE=„OhK¯¨}xaà§š°Û”à†“íxø ý «Bè›cià¥6›unZ€­þ¹ÁÒaÆ„¸*=sþ&íÁ€« ï…ÉÀ.J ‰¹Š¯Ý$Ú¸‹hr»k‘\‘ûñ&Ž¡R&å‘ ôÜ_åC§O#ù~…bÂÙ§çŒF²-µ­9W)ñti`¶åyÆš¶Grœáó©dè²Æ•6‘½)˜MüüÙ¶‚µÒ™dCÔoA}@bѹ焢µÂÕšJÀVºJé |gö4ÜÚ²G˜/£’éNž•ú^?vÒ|'³PüW?H8#/fBq2lÔŸ¾D©ŠÂíôäÄG¯* J^”ͪ0뙎LOùhËŲåqÄ×=Eà)à~YI½X(ßšqœU—xíŸ{¢+"È?'Ÿí_çŸFGê¯YG w»2(ô®|§üoÍEø„O™ô›/„-m$JVb‘§ò`æi!wRÏÔc‘‰ÿåå… £‚§/œ×Þy}ÆØ Ò9Ê‘Œ¼D5¥ì–àøó™ªƒ´là8a¡"9o‹ŸVlçXàØÚÎË¡¶‰bSÄjÏÜVãUÏÀBœ¾^sxó- l¹K00b¹zŒ†ÿ¾ô4†‰¤ø ³ë«ËQS`x¥9Í¢’•ƒ ã€àÛ‚^š`=ùd’/woÔ£óß–Cš$òJÕ—p–Ò”r’ꜗCgbã¬ÄÈU îÐ y]•m¢¼Éªt¶Ð/áÑ¢/™O-bËØ9ORIÖ÷Ç<9J—ŒM`Úixì!:0Cmiè¤ôçQ ¨Ǻé`KG6‡ñéØ(ö2~~DgeeZ]ýÚÝÉìw©dz­;ú{Ôkä–ð»¶x”¹KøB1ã>²JĉDëÁ¿ÑŠ£.K0‹ãfÈP‚ âBümƒÅÀ‚t‹ÉØAPÇU º¢s¬ #¯}¼ S$ ð6\’Ü«Ž|4DÉX Ìèb½rjÑ\©Õ-hISqX” {r]$û} #q§Ù‡é³gÆ(5ÖÈÞ*á×lLzl‘‹ºuøm˜±Ìkð¿ É&Ú¶C ;÷”å 8D€Ý¶v¦“·Q$×-ý¹ 6Ç3\Çí@F(c“ñp´h&ksÝw-ââ÷5¡è'‰• y1”Ó¨h³IGGºöŸÔj÷ÑÏfǤJ# q¿û“<Ä&"jº'ÄÞKñDËY˜-D“š¡GçðÌxM׉²{ ’>=xm*µÄ÷Kö‚ÞŠyÕx°†.aâ¦bu"I{`êÏRz“_ËΦ ³ 02)Ó8=MT€Þæüfµ±ã69ÓˆÐAb†\§²¶,Òu0að#8‘>° bî- Ï}|©‹`ò°'æÜÏ)èÁ¨«WˆÓe¡>ã0SÔôÈÖ0Úƒ6 4½ê¹&v2; šžE1ü•(ˆ­v’z1ã|Leºè„©Šºô¶ÙOâ‹„÷g äp:GDEó©ßb‹Ò-ÊËÅÁð ú0‚‹_¨Ù-šŠ’)'ÐåEÔìÇÆà!„Ê?"ÄÆ;+릒qŸ)øv»"!àLy?<í]×*këÖQG žd<в)ê°ÿ _™RÎA¶/ÀRæ™o2%(ŠÏÓG^gKí¥rÿ Ó ìÜ8KgØ2Ú2:­‘i´Òâ,Ü”f;Ÿ¯f¿£JÎcŒýÙ^͚銋QmÌÕÉ–Î\V­§“t1®mÀ³‘ÌÑàêÂM9ÐÇ»]536\^ÞñáÙI+ý)éÞIOe)íTîßYQØŸ£¦ 0Ÿlp¹$¨V'^¶,03 >¥T*ͧPã0u-9- #œJGVz GwYC¤Ï^Ý`‰kî"4MÞ»>¶SÀ¥!úæ™7 ÷»|{’]’ÛÈ7®ï7U…Êë 1*µ‘'æfnÿ> mâãÖ»±§ý‘ãääŸ>bl»ð[ÊÁšq„ *\¢ÍÎ@2@ª c½¯ œÖU‘Ø€×·Ól3Ö-¾H}v•ÛµLBh¥l¤úhB“°4Xµ,RÿHõ­V Ž´§ÑÊìå_¨üx¹öEÙÉ9å•Ü£…œ9ÿãCûãË&škçÌ·ˆVR*"'U….-‰ž¡¢fÐÜz“Veø×íÖ´• r™¬¨B|Íe/~q˜âââôñýIŸ® 0ÝÁé‰Ök,å•} È,)!UdHJ­Y4Iê÷æ³m rÛ+,'|¿J#– •rwbqe\èN©¬µE“Àø”D™åðEq¯iüŸ,¬øÄ›<¼˜æº°Ø% Í@Fˆ.«qéUc8Îù[«ˆ°ZÎniõÈÓ죒h»ÝdBO¼xíuw’ÉÖœb¥hƒ;ªiVVޏN¥…ñàe×'T¼—êÇ&Á}Zi&DB DÅ{ öŸ<áÂûG÷Åžõጿ+øžõR®Âò'ELŒødI;æT æŒRò¯Ä„2“z0œÿ¶øòî?ÈÍEÜ  á·£ Y¶‰C[ xF´Þi¨Aç:ç@è x(2@¸­¡ƒNî°%!í*Åg¼¶íåm[õ/ÄôvU¤iñ”5zEúzÝîj=hqVZ´Iÿ¼âÓíç%܄ޠQöÑQÞ*ô($ÇâÞTöFރʹÍ'¾€þ<þ0]RŠqgé´ÞêŸ.®nÈ”†4etz Ëu–ÄiHNíÝÒ•`¦ª4ƪòý…øO˜åä€ÈèœÙA9þÛ6ÍbÝÃ'Tg']£8€âÿЍ=F`  \<§úæåôŒ‘I\xL9BÌ-Už‡(}æŠ23FåXzQÑ’­t˜yâ)ž"7î3ä7_³éÑVß•ÇhúU©¢_m_bÏUÝž-vŸëDMé¼g£ýÕˆ}Û>U[.û6‚„$ðM¯¹ŠÉn®) ÊnÄÙ§ÿÔ\y;=2šÇ•çj#sÇ÷’ÙáZ=ÓC2"C>«GÛ¾Pƒ†ÇÀTêh™jHëMŽ,ÔÆšò]ÀfDÇÎÕ,FØhVæ¼$¼ƒO\'«~…‡ˆªå øk{#˜Ú£…*/å]¼ðÕIÉo"ÿf® Y@ò|ûR–RlúŽûÑÖz.|r¿—è±¥|q°7wª´ŒŠ¤ãq(ºÓ ‡È ha¬/¿ÍSÆÌÚfŠ âûj\ÿ°]¥8£©“)§Á¤å^Bu/Ä%&âNIUxÓ-„ºx¼”Jñ7]øårU^øƒ~xê“’5qŠ2í ß>™Y'¿G—ãVÇfø0ó 4-†œÒ.nîÑ¿ìÒçT®*”÷q~bæáaßÀíëQÌ¡dqlšÐm€Ã¼DÄçÒÞ;CË|É“y‹÷o¢I¡D=s+À·ò]¹ÂÕ—Ò/'ñÒüÎÏBÛÅ&™}YÔð}wV(WŽÔÁSÛ.¡C½yx»6¶™¦h¨hüª@¢Ò½‡ ÌÓM‚tìKc•$^Z*ÞäœÝÿI$v3;ùeýŽÐžÎkô’“Xûg}ó¡64>nÇfÕ û±,ÿƒÉòvj1#)ui`*¦èB)õ›­Ps"Jý££Ç ‹û"ŠGV+‚㞊ÎÅŸMcS©NeÍ‚úñ©Í ø¯ìO€:œÞhµjëÒðå'ht‘ï Ó‹ä)&nOÚXc¿S Nn@X‘£€`æÃäÌ oU­\Í‚ó¢œ"¥­@Dˆ~¿,lR±ƒŠk8‰(< HXA¿D©©‚²ˆK]Õ2z2>g¤d¹Õ‚¢Ç@“fp=ÜðÄ©ÆÂÒ9Å+ ð|Äï—> @®jÄSçäçFhªmy1á³µÖØ'–x6áO<)ûh:]ÔäcØ4•…mÙ¤šÅ ÍUü*ºÈÏ€ëè»ë•`ÏÁ§qh{†vˆ›LÕ˜P8JÀ7ˆF±Û¡)+]gàÊ I–… %ù¢æ…˜µ\»Î߆Fåz²îŸxÏ•Õr±Oc¼Á¢”ÜW®»Ú›áàMý–‚EÁñ°þöàË GLìaŽÂ“•RJë/NøæœFK _·Ô<Ͱ®íµ–€/I°·9høWÉYTQ ÉÍ>l#ýÄ!›[wÇYP*ÌR‡%Ô¹K9ì0Ô—ñßV”RMççs”ÌÂ+&S×lžð9(H–×2HzÁwôFk÷'g^Õa/Óà ©fð+cˆU«ð%È&겎¸ýš»JL~¡ t%>·ä‚9ùÏ iæHÀ½‡fq¶_q¡ÉJËJø­‘ü29/€˜Ó•Ú±ûN;Q Ô:Ÿ=n¶ÔªY¥¥yªä^µ=mpÈßåOCßăÜ7ü湎X*Οбz¡-Zà¤oûÔ†>Z@˜&x$ë|³Š¯µt¡KL k.¸¾9{* 8 XD|̡Ûå=«Ë‘Rl&RÇC&àKp¬mÂ+QŒqãuÎ÷rN‚ûñ™ú²Æ<ñ¸4Š”Ë¸Ûõ>ûæÓ6î«WØcAgÛ!NÄü*ц¹ôaéÁù² ì$’…ɉ::XÛÃ…ÁŒÈ×¹¤c.™oºß}w%—A [Ås³Âøüa¹Ø€$îD/âðîîìîDô·QcÔûÏDˆ*å<ÃQÍqÓEdßvۅ䕇ËË8†?Âè§mGpÙ:ƒìU}þ;oÎ çƒ˜Ø í­Ì;/U¡çå VÌ57Ò Ù‚¬àSb™«Ê¡–Ê嫞žß!DÌ ÀÐ>û Ú0ê.ó·›ïÜ4>¿„ &´æífmCùÆGF;®ƒi­CI3ƒ.þ[Æ`„•$~4tÿ®é¬ljØy´Ã=sǸôn¥$‡¹L £(~¿Q[|à”mëÝ 9¹5Z°òÚʺéšFQŒ  ‹I(ÊM>Ï^õò¶·Û1Ëã74c©5/wPo¡ŽtØ+i¬HÑÈÁÎÉ™•¸Û”L8"èdU§¦qšâ‚Ê™ty­8ˆ9Jv)Î¥°$Ë„ã?·È%¯ûÏG>P˜Š0còY¥@ÏzÁÙêB½Íp…˜ÐUNy’ÄýpMÙëé•.JHX¯ÀÑo,a޶½ÈíÉ:…ÿœ†ûÊÁG˜;*סô Û.Ã:ÖB—‘Qí[Ï4AñG‹¸×µ õ Þî²±;— y|wRÞ 3úý¸ÿ¹=ÿÙ” É®ÚÅ ¤‹¾aø7Ë)ó]a$‰‹e©hEGkâÍÀº|q=2h@ñ å´„“^C€u[Ò(òÂ÷¶ðô?ÂàˆØR“ßÄ,Œ®¶.·lòg[ÚÕBK¹oèÖqN6ä%” B¢É›Jx›ñWÏýz‡…¿¤µ¸÷tTå{o”ˆïĸ門‰æ›Œñª|7µ¾ÐT›Uê_p÷qr%÷ëÖÓ3¸#D8zãìª"¨ÐÙäÌ#ÀŠæÔïO{¥“~ äÝ’¢‘Ôëñͯ`‘‚<å£w¥=ö•»ô}ÇWül:¯”zý.mÿ·=}b€>Œ¨ŠÇ…ÐuX®Õ]n¾,ÂfU°‘sŶ»ñèpv^ޱÈawi\’Én¤+þ%¨øÏ  _é³{ ß÷54¶î.žp—#CçóN}ÕuBe·Traׯ¹Ê¯QU?6sió–¥9•sà|§6weóšƒFÀQ±ÎD,Î&;„oƒ)*ÁÔÁÂ+f 0!/Å¡Þ9s†ËÝ”¿: «FGJÉò]í;4aÉl‰D­Yˆ_œRYv‰nM û—¨voÒ<\_F^ô­2sÄJY¼Žá2O.C‡^ë”PÿfúÌ&¶Á°Üw„à ëEŠ— ÅsÜ+Â5ôl²j¹¶'Ép”îÀ«1úµPaš5šõi®²ÝWf\öøÚ›À¿ç©ñ“ãÇ ¯âå[Œc@“ÄŽ±¡:s޾C`Ezß®ælUi‡gç‚þà { G1àYhº‚îä±£X™ÃRê—_yôK‹ÌÖÏaù€Ds>Š+ñÿåÉ9 ñÄ­e³¶'¡}:õÜVJ‡ªŒ »Ên›–€-Õ€ÀWEhcDEº.vÕKÈc|©+Œ/8e,é‚nX*¹ø@ K“œŒ² \ ^ÿW~3›ØËåÁÄþÀ í‘‚×î, ŠºmÒ%^¨Ès?Ù=q,™äT²”ã uù¢ên:·Ü²)V(.œ[€‰â‹ÕsÄ(ý£ÈœÄM܃ ßÔÓ ° QÖßš_ýà­²`#Þ?¥†z4°EÝö :+qã:óíõÀ3€¥Cpg^P•ìr*k}X§¶g"•S÷€ª>¥±X—*ä65`HÏù@k…Å+h¾p¡äC®xˆì®->7ŸÈ#C£“ <2»F–¾¬Üò2ü[¤ê©YÛ[ T+†YŒPBŸÇWo€Ï©Ú¬ZÝZŽYÈ'S\=~BP:›O¸ªÚ)GšÛavPÖXÈ_.wŒYÜ ã@°£÷$Ã/žâcƒÑ‚ˆÉЗ~òÏÀ³tr1k-€󮤔èÂá]0¡:,¿¦e<\¶ÏàƒE°f&|¢&–JB€°ØÉ|Oú1Þß•g4’x(™ðoò_ŒUv­Œèñ\ú¶ßÂ¥åɺc¨Q;œaà :´”dâ k·¡Æú:ýûÊjƤPÙOðÙBŒe§ífÓ8,H¥©?Õ{q1FꢩtwÞ"z¡O ¶_v«0 K±8¦ s~üäØŸÙL¦ûf5E6ÀH·ž6òy®Ÿ _BµÖ”]¹uÞð’l(æí[?ØK¦Jb|KÐK²ÝyÅÁÝc‹‘s‚÷Èë3h.h#v¿‘Í©+'år—Ì¢6l°({Á¹ºL¸°s,Ž`?Y 6O©ÿ#|£V-à¹F¨g㯇š¦³[sb1ý~ÐŒ÷ç‚ 9‡opG±unÛ‰t,-ŸrvÂí)~Nûo ²¡<»—-%µ3ë°ê_0‚ÃØ>ºgS´€„îYeÓ7U"÷-¶ ú<ÒÛÐ9›‚å9{,J«×¸[ñ¤lÀ'ÿ&8y}ØŸiŸpmÿcÒÂkÁÎrÀR¨§g»ËWθrÉ*ð^ÔÊ'·£¿I~A!ï&ì‹Æ%Â¥;ö5ž¬¥g';çóÞT{3ŠcR*´ïAhhÃàŸÞ—‡^Z5Ó\æ·då‹i´ð<°4U·PßમAäTŠZÀ~¤ ]ü¡¸r3¿<&ì&¶±3®¥Q ûͬmŠÚ”†‹8ûÖȸ1»Èœ—•2Õ{ZsXJ‚¦!¬`wûž0Omÿ’Œ"´~Æ ’$×÷wÚ|*úhérÒ²,*°†ì„ç7ÊÈÅ<¨í#®ìs Pÿ¥ä,Õøg†0-+ø¾ö’ZoêK^>pŽFÑ6}wÇCöi>%„øè ±DŒi×Ks£ßª³T˜\j=z ×ЩÌÉv\FìRu%ÙÖ@êûCAv’À°ÓkxþSg˨î]1ģēXWäàeEþΔ .pL¤앬MÍïì×9*#]áNX¼†×Û}j§/7øx†™¡ØÆ:4.댨4<¦Ò²( IïNÌ)b܃k†€0óÃBó]àÜüâ9JëšÞ‹{b&o^÷˜Q'n± ý×oC20“U؉қoja}ÉœO`Æs:Ýïü;y=ûhÌq£"f¡édpX%æõn‡Ÿãrµ²ÆEdÓ\|®T[¯¦d•Tù0ÇåûÙýâp>&ÏÕäùËíò9V{íˆÆè-O.“\c³FÐ>¢óÌ0›Ü7ý V"YçèKø T½á,KC´8¡ã,íIð¾Å*Pö XfM tJÜ„Q÷p/”UVÑç8e‚!Ü´ú5Ç3´Ìqñ Ñáµ½A‹’P_7þc]Lï¥ùß«p!8×гsØTÝâ†'ë ´ä¾€{i5äJd].T›PY½¥hÍðÂN%ò*)Æ]Ÿ˜}x¡dw³ÀÄÝ\{)W…”?_~ae^:È2ߦ…B«BQ ¡ÍfÚ] ÷÷ÌG1‡`ä¿2#h-ªëT‚ûUò¦îänšO^G¢?ú™zšÞW;41íí}6‚jƒè‡7(ˆ÷a{ SÄâ¸æ¤@ •D'XØ‚§ ÇSž»1»7\Laö<%v`;G5rätj—¼ú0Ù)´–ƒVkvë £.._À õ5ù<êÉÄ*ïñ¶°Jˆ" Få5¾hœœ!J4~Œ˜nCK ÉØûPñì‚öBØAJìq³-™„ÀFYúm…ÄÏoG–©t­&2‚´±P„nBur2½•;—!~Ÿ#{º~?ËÇÐ/¼“,ï‹·ŒjãjÍÐsI¨}«ÒÊúïûe»@ŒÞA6¹:¯€jª«Aº±rÇ®@1•©†HŠC2 òï¦À¿ `=÷©ºƒ¸¸5Œ{VÅ3R…ÀI+’ÚÃÑEt¡l¼;u“ˆ·®_»Áªÿ{,6mÅÙ–N>á~õ´Þ‰ŒB%ãÑêDOtäˆòšf6dJ¸0­ãü9½÷“9 }!>ÅJªÆ°óCÿE,»®ëø©ë#Ô–õx¯ŽÜ?ÍKd÷IŽÄGÒY¸„k¥"Ë]¬A< §r’`ÉÊ©1õñ»‚8Bˆ–O9`½½‚a3¡ZËAš.ôå÷Mîvµþ1:Ä9%Öè%Ô‹žœÝ5¦¥á¹Ñ%üº»—¯§k*pQ¶¼F~° [û;EŠÔXǺr‚uü[eâ_±Fó TΑœïbßáq+'è½Öˆ ·x‘¥¬ #»ìlWJçF,A°Á¤¬Cò¶V=&h°ÏQtÑLTuÍ-“ox ™™Tºµü=.u¸IðWÑaCÏkÖ ýe)ôSè˜üW|ùó~Ó9Žï9Çh|ϨŽ'žÅE²«xo@̼9Õà¡ÇE‡$Û¦ÓßCq³ù“îçÞ{½±ìnˆ Ϧ ËïbÜ|—ƒnxµÔtççÏÀ®æ#ÆÉ³r©«å®ñ(I€©‡{9ïÆC@µÁ—«ÙwÿÃ>'¢[k¢®spŸ‘]vð‹B 57hmÓï=¤óÛý§ôˆ8ìô̦Îy‰à“åÎ,mN648ÂéõQ·ÿz KGíÑY´<± ô¯PX›‚ÊüpÖúŸ} ²3ˆ=ÜÕ”t7„; õ”XRZ Æ& Ý÷Dò†ï µ±}é)-] ÿ^‘½üè’@¦È"u0ºþ¨á30{Y2Ñ/'ÛøP7 ý†¨ÜuȦNIH,¬ÿ¡áÎC£”ýÀ›\S-´ MþJuQãõ ’àËåzQ$V#©$z«NB>0’=*ÔMVá´›Æàù±¿§9Lý.ZãÀ°nü…PŒ¯†nNzP‡¥KVIKÝœ|îl*äNgƒËÃoû]åNwy¹<óY‰\ö¾ZJàx¬òZ‘gþ¬}`…È’´znf¤áÊllÅÅv…Ú‰Þ–¹д·<ºÅsé­kg+Ûy¶-¼÷»Ä†ò9j› dˆn(„“I_à#¤åúo C€sj/>ZéRvûÖ-$q_›ñ¾ŸÖîΫø¼'à@¾D6)Ýv¦_6{zmÐ1,‘³7¾üÈ|A¦0¬d»‹ÇÎgéà,ÿA\+9×aÇÙw ûm3|dsá÷ò³ÿ\‹Ó¨Ç´l,œ;Å ½91ŽimSýÃb­™Z"£×4Ŷç"ä"K]ÁUÙ|Ûi=Ò틇1lKèIÛwý¢©óµõ¨¤7B"žH}·>&õ”,¶‰GZÖÃÄàÞîs9CØ<+Í™åÂÚ—‰ÏêŸc­è ´$\2¡ ÚÏŸ\mÕ"\#ÌL€øØÞÞWå™ÒB…™Œ"æÞ…jbÖ÷½ lƒ8Ĩ§Íð%dŒ¬"µÔ¯œX÷|3GrPàß:œpYMÈScÃñ}µ§?;É][Æa!0;nÏ^¹¼_ŸJ O1ˆ¸j Þ!:†—7Ù“”aÞ®A"ž®(O‰Ú³Ô‚í²ròÈo®AƒÐãˆÖéž²6÷ŒýΣ¦ŸÇcÈ¥<›uÖªWý ìY¥F`F­tk{ ƒ&ÝýïÉ$ãCÊóÓwä÷BRºÕøpI§7Yì¯w#ö’ q±¦À‚},o°¼âs&~%“YÈ §%j0ç¹$ãÔ1P™¼ÎØ5GD ¨ÝFäY}ÃôäªG·)Q½&ÝÈט<¯èUSiÒ Sñµ–©(X`ÊZGF-öÊ'!בגAØ[1"oÓ‹ñ-FRVÁÀKÕð¦MŸKHñ}ìú’ü¶{1ZÙpPPŒhÕ?ä|ѽ;ª²£ý/»ßì|7€J€?¹,; íœ†ED4š¢Ç€®eDÍ~hu)ù\i¡TR=Rw œ’ÌráÒøèÌ#–ÔzA€ŠníïÇ×|Áµ”©^ ¶kÕ.3:Êãå²$Ö²^É…$sþÐìsæG‹'¾ÙßÈPDk™Ö ÏtÖ¤8Ž;oÓŽÁvkG«_Ó׿VÙ®JÒ=)ï6ølá¹>Ùûå:Ï$W9æ˜$3­=õ²aX• Øä²Ä^E={Tž@S4‚1!Š”ÌàwÃõà<;ní´¬ª±®hJÍCšêd9Agä›×êõHžÙŠ …åÈkZHGš­Õ–X±‚BE–iõ;YG.t²’ÛâJI;þÝJv`X¨½܉Å}î«°›dG–ÏH§mØ0ñšxñÍ\YÆ;,L_«ƒJÔ@€«ÖæYôîu.?  Þ2Âý´«,À¿Ð‰9&ØbAK6œ8UŽBrá|.÷FHšZái¦Ê H§‰²\¦UJIÁÍúªÝwßt:Â£Îø_qY F <ŸxÙbƒ®­ ±àÜPvâÀ;ŸE‡¦= ýgÑHgrG¯"r÷E$Aª–8µ7}О…¶”;Ó•\Èä'‹§÷²Ì µœêèhRú£ˆ’Xe ¨/ư¹*ó ÓîÈZ%$Тô’8]dB•̼οPpz‹"Šdjüóîx/ŽuS29Á”à•ðê8ÇE"ÿ"nø —ל‚" D·…ƒBÂÞºÎ<‚ÁˆúiÙ@daÿŸd«£Ø›ôn^Š.Jt> TcµBNiŠá¿ÿûÞ cM¯e>1ýÒ"ä9NhÀ§v;åØýo¤œ¥Á¹¹À;§ Ìdè¢(Ý5÷%ô ˜R/>gv °SilóTg¹7ÀyëˆV<§ä—Ó÷ô§,Eý4ìNZ\á##a Í DðjbÞzÒøòÀ1à±Ð‰,¾š;èkÝ9ÖáRF…¡ ¢šmWØuù ü þH¬èƉ (‚ Z­ÈF?OH#yw/|Ö©j­}eÉÝ“ÚMÚYoŸÂl-J-Iü‹Z×UfdsöM6“šÞ°¯˜>É4ËÍ—·b"4)-] ±¢›´1Û,NQ´y`t€¾ Ìòø04S… Ç< RéÂ+§®`Ý&¬>(‹cNÌo“Q+²”•e2fòO3_‘+Vvl¶9 ÇdT£œWîgby…~Å ,[  W„w¬*Pám7ûa®êãoí ü„×y×M6^Æ*sÛ~WL$iž®ÁN­s)ÞQARøH¿ß¹/ Ô¾ž±"J9¤YhØV¡ôçɦ¸ Îh}ª`¨ãZ½ÈåÓfÔÒmÙ!²&m£ncèn0Ä%æ{þŠRŒ©ó ¡bõdC‰ª(u‰ÔΣ¥C±}`ïÇ9ÉM :t7ä¸L®b5‰ä8ò%NVjF¶"Q#H{óN~à‡¯"˜J­Ëi—mÓÍáÑtyoÜòWi¦ŸÉKíΗ»¡dáQúå[};…Gþp©gË0ß_”QŽs!ÊÖĸ0µþ4¡…ÙŠ…5£õžýÒ&òï,8’3)ñèß룇¤j^Iyn1”ÏZ4~†âMñ&n‰6t®i]BJß…wO±/oÓRÔô¿K¨U~ðªPG††ºüØY"Ší-rzƒ Ž…0êN_µ)5³5#„˜‰þolÕNyÃÆ¨OáÅ‹ƒ«ÌFž ’Þ¶ `ùˆ÷ø§€ßo®',N‚l\ºy…ªœH3‘AÂ;ïoÝ•6Rš$öà©Y€A “Ð7&eÿü+û·›d6¾Ò/öf¦g`KíyýiâD×adPE¯-«Œ]S !F©–L×K?“I„>×õ”Õ¤Ýæ+vzõ»À-‹^¨ãñ9ãc6}¦ýý»Ýå2H‡´¡¥|F͹0†¼DÑ#Eï´¤Õ/[3À¥—åOlò¯º ¡eÖ%VÄÄS„D®ë#N¦ÒÚW ‘Z‰Ê–ZðÐ>öiœ(§ÛU?âó5ç˜Ú{³yƒŸ´)Ê—ªfÌüèÆ$#¦»‡Ô%ÚHpüjùvƒ’¯±ÿ AßÓ ú3ÉE Ö¨Œ™ÕÐ ðÅ„ûY°ÉÊÁºeÿú”l;߉îŠ%péñþBM=,(j¯šÿlÊ•¶%EJF7eý&lцS¹Vo«yõ.%ó³I£VÅ?óÈ|näpø—o‡ðžŒRsô?ðmsGÌÙ Ùî4ì(íÿ°yúupydX™ÀâAª¹Å ^²}1¾.ãM®ÜP¥³8º7ãC “— í²C݃Tž®ñáÒ³ÅL‡]8 Ýswô{æ‚Úæ Çc­c|¨Ô_©#ÍØ&jŸ©ÌÈc®{Z$k ÞáÅWãËëY%Ëìþ|¾‹É{YøÚ „x¶ï‚ؼêŽÌõ»ï•tUf–Yˆ¿ëeyáÇ C|vnÓü"v®•ó~² ª ØQQ‚'÷y“=¢ÎqÇ±Ô >óê/ÿÅŒ”Ò;ûçl˜´…£âkÆ-w/ùÁk5¸»P¾‚{3öù){ï®ë¨d牦›àÝCw-ÀœÿÀtµöýÕÛv!eS|ü$õlû•M¨rd:U¦èt+äpIŠ«‡÷é›x¥q öÅ­•¦§ž›lúžªÀÓÂåË•»‚~ÁûÄR!Â=bgÒ”IíVô¼–Ds<ìæî*æ‡ñ#¦Ý®ˆ‡ø„’_6)'—ÚF3Æef!‡zª>V]~/ºx™É¾êLZ¹‰,5AWxZJº¬£c¼æG³fûçiÕ´ùú±W …­ $?Ìí:¬Jòøt[<<4@¾ßàå‘ÝžéŽþ¯åRÔŒ›6fË‘øPøM♚ÄEW†Q6üþdá°3Wê²Ûm¡‘(VGtiîòÛ2DþNTsePâé#ƒNÀDjêXGþUÊî\ÝMëÏo¶Šz ÿáõòš„Z¥#éX•æçAÆhš¼@ú¹’N—Ï|Õ²šÿϯ÷Š˜°¦šJè¸wHf²º‘ðªp©sÝÖ&H"kù¬¯M™U†~†“lÈüÛ¥³H¯ÚÔþ\|HtwÖK úáJðÄ =ò‹·Âd‚âá´‹ƒäƒî´Û²K «ƒrá³¼Lõ×,ë♊vS Œ©¿»#8íF™<ÕN=.¥ÎœÈHÈt—Öª)a.!¥¡©¥1zºì•\ªŒZd¸ÔMÌëz¶ÉÃJF-´ÛÛeqvy,¦â'–Xƒ[á, y´$öâNýß$ÊKiÝ*Šì]· PbVëâ‰èÉI#nÌý–¥# 6ÓJHþ=ûÀ˜Ç7ÀŽ\IÆw]F¼EµŸ³Y\}Ý×&þÝë|öl­¤B:éËÖ—ZÀ¸w>g[ó¿ßèxÐyÁ»l[ª!vL#9Êl`ã.9x«¥Æüp+–HA 3‹ÓŸjvÑÿ“àˆkÏï·p³þÚ¢@ ]ùûÃlKê¢ú¬È$_À¬J“ž>Pìµà¨ *³·]†@Ñ=—ë"'“"Yê² %Ž?TÙ,#”13¡÷‹"öÚR}Zê&d…ƒ­à"¸À¬¬*ÑÅK-P…U½2Ùòf¡Œ™sH×ý l”ßnt£\vÕ©G¸¨|?-3•oÊŠê@^NŸerâ´…SܰÎoÆ[IJXÜ Ï¬+@dÙstY-bG‘ä3Œœ@Ø^Ò >-}ŽÕƒ‡XÏþðÆ™Q¢”þДW·a—ñãi0=Ф±´XÆAìb9Í Ò"˜$4ðX™brm-^ŒCQMSLº)£*>Án>×%þOça×^•ÿb\)·Keν¯Vù,Qf1àï)[½ïùmÚÚp9¹[ޱïZ¦WÀU¡×§Q ”Ò¨c«Ë–ój©ÞÝ/©Ê.Ù‡Z€6ÆæHÔû ÷]^kÃ1ÑåôYæLö5Æ?@þyOŸ°®ýÔKKPæ-þ;cJž޵溄½e]Ÿß›sÃlWÝ{9ÝÃð•ßÏw@bÙ¤/k«‚逈r°« üy‰ë釗Ò7Ï Rà=è1]ªU•‡Û¹ú2ãìZ8Mµ3¢ÞÒëy,?…ªÁb‹`ݧϵ Áƒ=:—~:V`cŠ·Ý¢1˜Òôv1"ª‰K~6#êÇå¤ßÑòÀ"ߨ°>/u˜ÔoZ“hìM"ã-ERXžÛq%÷(OjLæŒ9ö¿×&dìËSï …Dé¹È Uh±5/™Ù‚Vp$=õø}s–:N¼@îö•°éÃS¾ÙãB¡obèà£ÿC̳W!J˜‡ÅSÇ+­s£BìæYPÎWû°€i˜vC]Ê80v%Èó5ÛQû8®Xæ×mE}[ˉ³^•Û,l†¬&sf'˜BWuspÖnw[ôÇ$+äö$Øï mÞ×ù4c.?qDisrAz-¹äŽŒré‹,ë¤ÃCÁ|[%§T&•rçÄ·J°“Šou¯Œ|\ü%ÿS€{;ö“§³™MÿrÛCðÕî†EpXô28S”»ÆLê7nÆàDGƒÓ_ ñÈãVXPQK÷*FØö<¯»¨Ä\æ^®½ð âwC67ž±þ@us+j¿„>ÁÅÉâø*–ߨª®6致?!u¸"¸÷åžJ‚3'ÛÝeJå¿ç|á¿ Ú‰kòíæäíœzŽ÷ tÚ›«vj 'œ™’÷HW€#øHÎlÏ Æ@Û˜ÛÄüÚã¼máÝ‘È\zBK+ôö 1§¤Š×ŽlvffCJÚðÉCƒNµ°¾«}¡áµ½µ}o­lÍa„±E ºd¶ûshãXRKÅH°_f6‰Œ¤øÛ®ä«óóžžnaEç=Eüyðœe{„1óószncñÀ°8¤¯Ø±¹è)Å¥ *D'7¢4`¨yÛÿôQõ¨C¶š»¥m9µïgx½ Z™k°†fø./ªp¨x$Ût+ÎLO#HÞOˆh¶gTëåƒX9F‹?+È'`ÉtŒ¬£åˆíxÉ´éù¢é‹6Á¯Ÿšß€Dûxh¢n€)n÷T‰›d&ö=‚¼Rü&¥ž”~F8ט6Åš±b–b_I†± ˜i̦kçw¦ z ©ÓŦ< [z“I"õâ-_ìü 䨕êíï›Wr†öiúŒðcö[V^ƃa&“¦`,ˆÔê}‡2y'<45¾>枥O€2G»O2@ôgSKùø8(8EæýŒw?ƒ©9Þ4E¥¨Ø¼™ô–öˆ³*% \ÃÌ&ÌŒ6æ…Šm±’ÞÌ»%&ÊG:ÕU;%€ ÂP¬Ü+=QN¿NâçPÖ! †²FÒiæPßæ´‘ÈGÒ/&ú—v%ôJ©ªÞt‡ºœœ¢ ³ªc6§‰ŽKß!(›P÷½×Ýø,¦«l¯n±S¥*ÕÆ¢ïúìÅ«Ñ×ü.ýokåuº&Ϙcï“·h§oz"(Ò—æ,ÑüxÊ mÍnŒ åÅ™¢Y‹€R|$¶x¼Ÿ¿JÍ9-ú™®Ñ”§!1Ù™o,(ž„ÍÇ+@9ZWX­¼Ÿl{>|ížüº$ø\<<ÖòTÑ óSÎëWíVûçºï›Â, &xºR™ÐûP߈„´ü·T=%§ðdÔ¹±+N¯¡¢+è«·á øKiݨlI§ì):ñFƒðò^Aïö#Rµ7"¿!©•ÝD$ðŒJ“'DýZT¡õçDµŠÆŒ˜ˆ¤ê—Mx«WkaFü\mBƒ¨ÌÇÊ—Ç6`[ÏIì@…5è°ÙEÉ(¦ÞŽÅ.úÁæ‚¥·EŸ 6 ‰}tO4iãº3@cÒ[ë7Ûä–q7œñ§&WO€ªl–Î~ø–j¤ˆ*º®kß‘)Ú”'TŽ'^¶STø¤!È{x‰™~=7xŸtäÍ‚F†™5j7·fÇñ߉ɉ¹a€Z”;°vñjeÄïÝÜ,ˆc31îLÂ&²;¾¦ËwcgÐUɱF@*#dÅÊ9:¬wN5ã_¥ëÍ_<ê ™uÛKšÙ»)ô©å¥T8m/“Ô.>©‚4YÉøç! :éÕÒ14Ç›Ò=ÈþÁq%Ϋéf„ZT»¸žn’“pîPGœE á]ÖZMÍ-2ž_(/E/Ó¼µ°+`0X5=]ç,éyÇV…¤oNâ—-ur¶U®nTžÒ ˆÂ𣠄J¢½#ªÂWíØØ¯*dôÓNG»öB½Í†@~žˆ% bGÛxùw’‘NR‘oô§Ëß#2œ”›Å›ÇCþªñZ¨ö»¯¡W–Ô¯# 5£‚6 yDX#9B÷è¸éU›¯ÈwÓÔú ©w¶*…xPÓ_–Õ1²w.!i•Sx¯Ë¶Åí„ Üd»3îÊ–½¾ ó®–í•Èó¿ F5>Tò}u<…HÑôÈ2¸Ñþk†öz}Hó?{Q½Ÿ°ré:v‹#qû÷Šæ¨ÊžMîzù[×]úôtLpNH:3#1Ô%ð"ŽúQX}KÍçH.iƒÂý<+Ô?Uª*™oÇOfòû†sˆÅ°3·Q­wĤ€Þž’J‡©¯\f™Ê#ÐÕ¶Rt|o[Rw“ qÎô?Ó;‰êø¨ž±b_Í‚(G³+G¡?jƒ2†‚^p±rÞ^±þ~N«ëA`5Øì·Ø‰ªzˆk·NÙ‚G²}ß|ïÚΆ½Âu–œ^„¹ÓËÂö"2Z /µª§Ì£çÍ0Õ¬²½1á+ EúˆOë­ÓÛ`47bÐK=xæ×LjÒÉĨ¾˜,‚“UjÊ·GÁB§ûËD”‡4zõ„:‡’B@)ruÅÖv¬[T„iï§Ò)t‹]Ëü‚yLЖÙoù4HFfmI'­l£hÅN3á‘A‡A»@ñü¿“(¼]ÂÍyêmJS‰®¯ZKx æÏÛãûkÆzÓH´d»4»oªùw‡–šÄ¢Ï™—êxÅ'<é8•ËKaäE"ÇÑ¡m¹¯:]è$pâ¦èo£’ôÕYYçRÅWùë; ÷u2ùªnbÅ©\1n_¿»#.%Ô««½’®Ø™š÷†Žúáˆp6ê(­2qÇ~À÷ß“¤©5üö¦éÈ?\;l÷ßGGc½˜žÐœ›Ï©§ð¦c÷ôãJ8!’¿@pÉóqíå›ÅÁëlëqÛìØ!pû³‡”*c‡ØqŠ”{Õ/5Tö|uf„µdl›â$&8 1‹]“ þ¹?¥Eô}è]âd4™ºøZö¯½=ÅØiÞ‹K“½Áo‹)òñpÉ¡qÀ9»º‚| ümÚÓá­Î Õøk\"™|¥/køç+‚žÜ2£d3ë¨Qcí0üiã~p„“®¶ÊÔœü' æ§« §ü–wÏ'š¦“YmÞ>ƒ\;Œè#³s‘üWì§¹¼êôñ¼¥ìjPmü¾ZŠü>…!4¼þ?RÄê†8ÒØX6ɺôâ’f  ²$Ö¹¹ª3óàIËc^êܦv›Ý/.ßÑûz¨¸Ÿœ“Òñ–`3U~&“݉§ž«ÁÐQ¢³{Ùê³C™Y,Çõ¬¸ñÂçÅ&Ór)!ý'¢ë­Æ»;d)ú~“g°¡šÉØíèþé_e1(ßgtxë3õ¸¡ÊP¼ÄŒ_ D"ŸŒ\— r…øaÛ TÊ9 œú¿*`pKe±Æ Â>;ß` P…¾ºÒ3°«n¨²dJø$^³ù¶÷®õ~L[b[?ö~½Í'z„ýyÊßÐbÜyó òV 5HoT]þt‡á§9N /®]»øÓ=X’þÌØ6ð¸Òg;2@õðô™L\ü´Éa\†`ì÷ _ÆÐ´¶'ÁmoËX†ßÝÒCÓÛï`¶«’¡ªÙ‡$F4wó‹~‹ ¸Ÿ~Á@âX^Â3mÓ´E"vb¨>²{È<Ü.Ë~ÜÓy·¼Ñ­iÕ B/¨¯=ç—ùxëó”]ž³Õ4mZ‹ãdÉà¤kW¬¶£sYü'¸¹Ù Ç ¸q;)ã jÈ"~¢µ`7'\šÊ„ñ¦òúò¸/x9¦o4À'µk7ð0ËP­³4<,¶ÀüL†úðãq7×aÅãç‹ëoendÐÞíÓläbpGè¯äûOœjào2Y'›d]º7‚ÿqÙ4üê9ÉÇÈÕ`u‚cvû›†f,ñï6?-Q¡1Üçiò*.k‘M]GvWB0ö.²å„ðË ¨¨NEÐ(Kf0óç3béT!Î !4ÎÒd_q¯þ¬9uµëL¥äwàJ´&ìN¿l+©Û"ç}wœOûvV Çw9€…È·Ü(;írE»qq›H ÝrÒoE21¾Š™¬°SF{* C H?8Ûy¡9ñ övËÆxç°ˆ œò˜tGµÞ´T’2ªDL‘––vÁ†,[¾Œõ¿eÛ™=[ìÌ©%¶¥€Yrgë…ùY°Ø' ªP€„«òÇÍ üwì­) «Èá~ƒÖäýà¼ýóÓ>r%þ=ât±]Xë{ÞïÃ…4œÇ{Y'—%pÉÕŽÑ.vp½oqÞãiFŤ՛!ÉŸoœãpOkóàð+/¥ÍõÁÐößýY®Ÿ,±O¡yÌàÝcv<¡¯ò¾âuC6FkMV9¯l…#ªËC¾©N™1Åj‘Låñ¡‘",‹ÃrÀ#çà‚³©@‡$Áº¤DÅÏê(rCóàâVÿ· äö„e϶ÀŒì9g;'Ç ªÈá¡ÉR­î÷¿4T¬hAZ¶JrLN2ë\>0ÙÀs½¾ÆÐÙKžµÑùI(;Ä‹qY˜ú!T lÂB39 ¹hÔÍì­ßJ…ŽRÂÇž òO'W Q"ë~³›#mxÜYûõ€oôÌTKžæ #¯³T™…¨ 6Éõa»ÄlBIT@ ÝÛa•ѽ3‡–·ÉÓ Ckn:@ãéÁ›ˆ@¶î‹Md÷P°G;%ñéLYRÅôá!Zÿ0´“ˆ¬çn¯qnLP ÇŒÙBDüuÐxf2îhš&–çlÏÅ7šÒ Ø Ý2R Ò º%R‚ˆölº)Èÿ1ï¤qµùR4À´‡qNv~Æ?½H†EêB[0`ï/P(lægÛá´‚‹D·T¿¡Ç-²%¾w-ØÛàRÆžáÄF9ü ¤ôꎉ`#ÖØ<ÔVË–Â×¶æ\.4é1?¨Í&èT²YŸ•Õ‰²÷gõÝðAr¼Ÿ3Q¼aÍNÊE’Ï¡(å¹RTÓ]¿ê•™u1q\½$RÿÑ-ù¥Ÿ“O`QP{J0áps¿…bŠY _Ä 7Ö{ÏžBBížOã·´Ê­‰p·åû8ohÒ¦¹mÒLØvHVGÒq˜´Ó`N—ÔU‚%ÿèj2ñž>¨©¤4ûÒè¦Õþ«pGÜ:†E]ÿ· àGJCó“òhªRÐX¾vv}²;F{qy‰®ÁhXÀJø†ûшÙcì­e‚+eòeÂf;¦ž+«ßÙ9±ïYpþ`·ôgéƒ>Pœ÷t|ãJ}¹‘"¬Øp7eËÄšHS þˆ˜Ñï‘ý±¯ø š÷˜{Žå¦ X[ÔŠY’I»‹¬ŒÇ~aÜöS¤y ËÁd²+’ £Ý36yÖ]ù®ì6=ö|È“˜ÑVR ©œ Ï”â×Üà@•<ãõyOÖQ¥î\OÆq˜œ\p»40â·?Ã* <OÅñ=A¯î¹eZ¢fÒ"ÁŠÖ"è>ªª¡õX+¦²Å¨Ér0$"*[Heó{ §iÍ•«  ñ)õY¢y:®|:†µ‰ª«:¥û2Ü43S­´oO¶‹—Z yâ’0ÇýŸþŸe•Zeå/O¡Œqµ–2j>¢ÛT9™¡Ã´c¸øENÙ dßaÛ³>œ¬®}³#ÃJVƒšµa<::ñù™Åú*W=â·ÜnsuÄìw<0ü½…}Yî‚ë’ñ²m²ž–KÓAh=<* í¶ÉOôGœ™0?¬˜î>&8¸BAX[jmAZ,—OÖïN40`Y”ˆØ?_ÿÎWãrQ¬‹·,Š>sÇßaéÂÄ;XMq"V›b–˜ïvĽÓb_l£Ë¾k‚x†Þ’KÖxéåÓÉ)ÊÁ€49—ŸŸÒÒQW%l©VÅEzPK]ñAÀ]R~:•ú'Å‚×Ëäj§n50H%@ ¢ƒÉ5êØxîÙ6+ èÆQ¤Ù¶ xÒST™€ò*i”88>z&µÜ[B{OÙ£N2ÎÔ y[ø°R(ÁÌCÀÅ¿`+þlày»HÕÝÜá‡dªKK½ñÖpçf( Ëo8ó¶ÃÑ‹¶kŠJú Èæ¬a „“¶Æ‚ƒèVaX«ê½"ϲ¤¨sÃx†CÓ­¿-%’ Û_n)öþµG!avÝêûéÀàÙC/?u ‹wtÇõ14-ÆÊà †·kÖÈ;Ut/ÊWY›·õÏ|çý;ÔkêÞ/\Áñ{Î[ŠRäûÈü½sgmáĉ±,–Ù^.)»úÿhôR›—¢ér|ý€o»ýÖǽsÉŸ½Ûdœ˜ç®ÄuâØá:´Ÿ²'¡®"±Cñ~àr/þy*ØÙ1[Üw‹s °M@H_–݋wFŽœÃ~´û‹;/ŽST¸×¾ gdžŒNæÕi—¾­pQ¿Ç=¶•¸eÑ]ïÃçÓ1IƒeæË^€8 »ß"…D²ÕX’°QãÓíØ?Xü“qþ=v©²£$|ðÓ¤§šEÉ0ô ½§~ `J£T…*h¼ßZ™ñöµ®bYLɧX¤P`ø®'p=iª‚–-'ß×ùèÄ7ìþ¯À–Ƥ4bÐ$ÓÀR Oƒ°ýм0ܹa%åtáo ‚ÖqÒØZÕ®v<9ã¿ÖÝjD*±w [$¿}!ȃÉIžaVœ#«/gðUüÜñ¼Éž3Ç‹ ÷? ¹ÇénLâ¶žÇ@/wšÅõò• ñŸô‹¶Â12ۼȺ,×.Ûçhz/®í!„£LÂcd]ôwx&tÇ] ìß»ª}}}Œ(BfS4ñ¡Ô%uLJq;¬Åë÷È漎vsžz¥?Ò…q>rlž†<(´¢E PBt1Í2Ö3¯‚C/¿º?ŸQÐÿ²`ãÙÌ( 1ž Ý›†Á’H Š8ë%å騩ÿ:øUÍ¿«.Ö”™aJWa¢ã©¥Û{LK³³£FA uQ]Ô±ÛNèJT „­¨+£>«^rðËÇ›GàÃp؃’,÷nøŸÅb“ÚïöØùë#ìN{lgV°DTõN,ß²f"qí`îUžÇŽtŽüx¬¼›û]8x´Ð§¡ÿ»› ÛMp¶Š0›¼²™Ø^|sÔãP¿J3Ã8 ÞêÚš¢ª["ªV;@6±„h*#5ÐD8´…¶ï&ë“ù’ä†~ä6Ëš¢)@‰RÍÓòb‹šNÇÍX6êÉõQÌŸ% ¯i °vyV9RhúD#V_jaÛvÍ;­Ds =²áed%(¢{]5ºid ;PšåÄ©Ák`:­ª³¥÷Nlµ\q¦Þ5o´"?Å-úÇñB¨º‹Óo9íRWÏB}ùÕ£ŠÖ‹é–Ò×E©s2ɸH f¦‘gáé:ûkeÅûÛîVv-î,Q\2!8›FHËÇC±þñÍç‘#I߬ô™W®ºZ™@{Ò(m›å¤7ö >µf¸wö-Ø–fú'j­°˜zþJ‘@#' ÜŽúb«ëµ¶’ ëaÇ¡ ð¹™bÑGS0‹Õͦª«|®î4-õÝ8#7©èrá@›ú¹4‡}ËÙ†ÉçQ+W Ë#y©œÙy‚óÙÇ0KÉ"–ÉcÁ—)Žº@±³¸²²Ê ÈÏLŠÎ,Ð2ò‰´7³Gí)ç_§Wœî‘j&§<Œµ¢Ãðàú×ïc¦ZÇš5¡ç\SC©DÖý0hn@fßEvJqå›KUÂ×ðº2çd·»˜Êš¿w¤Z˜FôÅ“åÃ2Ø °YýžF5Sˆ×+îvœ§NN8až„•ßÐË?™Izñ×8‘²ó$Ëõ·û}5í!Ådç›pc_zèBg:׫Ì|[®¥`ïq*jVn–uY1y#]ÍU—Ú_oHÑšB2° ÓŸ%céW9\‘³Ñ×Ò¡¹msj# ÜŠz4ŠA×¾WQç»i[¡ÌŠë1êÒEá¶ËÁ%¦òßi7h&hK'3kòº²"'î8{^ù¢ªœÀ¤i”7ßÙS'M¨;¯—ö5Zñ¤Ø…ëÒñÝ™ŽÖ/?—é³%V&7憩¤¸Ûu'ˆ2î#Eþ \jî7êØ¶ÆEÊÊyëø÷9ÑÚª¯N6Ζ{¢$²ÞÚ@ L°rÛh-Œ>¶ Ÿ1ªý„4¢"˜8“æ„ >t?™úµ2Óy é…þ’È'‚5Îã8aYSª½Öè¸*SËeU³PŠ†ÝšJ¿#­¯çÿtXÀ^d]˜ð’v™ãk…u"‘Ò½kv“NåЙ.ømU‚á-ì·å¼±£ªBr«¼ú›±¶,Í(gwÙ™·½‰-ZR€‹ÌQ®Æ¨€ÚÄ>ø/efÄu £±¦Ê•ZÏ3¯Ö fQ—µÎì5½8=«L—4¦1_U4Ÿø,µ=~| ¯¸Å–\ºgH¸ÇV–/ºIT¿izÌ™RIo:\ÑY+$9%ÆvÉïš°U¡­1ÞB4›I£ LTœRÒ]ƒ–- 3cFsä°ãÛ\[H‘™ãÞ5FËô=H”·Þ5Ò¹wTê¬rÿåmb†$¬šË¿²YÚ·‚ƒbûq\J†ä@ãòÓGÖ´sýiåOV ë¶'£r:ÒÊ$¸õÕê´®,ÊW¤÷˜ìÞÉAüBZkŸ‘ÝRFŽà¿98ÈöJÂ- èK h+ßµé.èÅÈæ‘xpŠ6—²üÊäÀçç*‹ Ye®¦¦+ [Ž%åÌòñ@œžŒל÷¯A?E¦ÕoIöy¼ñ Þ—šo6ˆ·ú/у¼ùbÐÖ |W^q‰ìj$GŒžë(MQÊ•ØéâÈïxíAÔD+PÖž¥é–Šê5;oæDÏÛPõ#m5Â4»1Ñ®:ž€áYm*á”ËXf™9¾ïDH]𹳝mFÍ‚M_ŒZ¿tîï*'õƒäÿx¶Ž’ aOLoy†=óïÓS÷¯Í±]žˆÝÉgµ0¯žÀ‰V£ýªv¢m>ysç|TZ£´'´?¦Â8$¯÷$@Õ¯¨{¹ìØ.•é‚·ú·êàÖ†¯Xù$ ˆ?xü:é5nöA£Nð†…¼£òÉÃ_µ~Ÿ,ð 4Õñÿ6CK^F"wVÍêpRƒ±­&¯fD¹ÇZâÔÖI»ú^ré7ãP%c`­e\ÂsÖÿö.àï„~6•×·€r5û@øæ¶\Â!Q6G&† ±µ#»{½ã:ׂ!õã¨ß¢¸’ 6sáN¢ʰ¦~_Ÿu’)MDs×L殯ýðÚ€m”w¸ëëΙÇ%îLß<ÇÞ™ŠäË©u{·Õeæ–×?î-Þš¬ l\zµ>œ0;=JÕ;‹!÷Ò=@ºqúKRTp’þXïþ?>ÜOAó|ŒÒù” dS´EŸVtò'á?>.Ènµ£©3×ï?³*¾Ï߸ÜOn¯ZÊÜ#\ç½?ó# ¯¤Ù÷tb½ù‘L0À5\{¥ÀhkmØj†øimZ$µ«Ø0þ™xs±1„õsE×i¨à<ÎfMèUUQ$伡Êã¾ñÓAŠU„õ¼X–e±osfñOª¸£¡ïº…!·íZ Á 7•«ŸøöíyÎ9+P»êû!úžn`€ÑÞK §qàªGîyÒØÉlÂotÛOêY&¨‚ù©¤OçaÇîKû?­ÐLÍŸ`áp~Vª*'¨? Í뢙,–/²Ä«EðŽÂ¥ÿ|lJÒ‡4“MèÛÆùŸÄ565z•‰~£¯Ó„‰¡>-I“šqS°£Cè¨Êù¦w§Ÿöv­#;TI„YœÉ… Y¹ûPj+7d“ó7½$DhU¨5‘é¹ÌI“Bk±¥üÐ…’Žb'¢–çÓäèÒ©“*~Ii¶™Ìˆezå€3OšUµ›õfnÌX„Í„tŒÇ²%e†H¨¹(¡È醦Z׬”gÉ7™ós"zAüRVÿ¨ÔÞôk“ üìáò½†V4 }œkÄ$œäõÌ‹™­o¾ÎÐÀDJºtG„ƶ€g&öúZ…¸‚\:3¨9$?ùþlà²~ÅÞ¬ (Z¼â¿ tmI÷‰åÆ3tè…÷þÚÓš|lõúâ´Ñ}<9<«×$ZpôY(™áÛEy=¥vþDVš&ð[,Ú[ù»?Ä*Q% ¦W¯ Ùèü”E¬^Ý@¢¨c[ì+jã)Í•pùš\ÓxÉYÄð1Üh@J”êÙVÀÊC5Ÿ‚ ÊúW¿!lûyu†¢]{BÓÆ‘nW˨sŽklqX þ­ì %Ó@C6þG10-=[èw†`U7=Ÿ|Ÿ|O@vƒH¼SzP/~5×ìYÅSåš vý2Ë €ª$ù¨Ÿ5Ðvj™ZfÖt´Æ»˜¸UÅŽ£Øø¶rÝ)õ€ÁžÁÕ‡[j’¹'†-³’d—÷TBÀw[‡™ßåÚË3JËSãp?q›½â‚VrØqYкN3Œ†xå…‘àÚ¥Û•vLʼ ´,•Ó »Iv™VV‡¦œ¾Ü)¢ÆL¥¶$ %zNË´¥€Pþ‰;&Á–œZåÀ\œå¹dºþþV|sYr{Ï—·-&Óè »pÛñh½Á²nð°ôµÏøK ÷Á‰[,cs-0ù:ѱ]¢2¨ëîø‚<;ËwX5Ø~¼‹s û/o§„2ŒD‡–QÄb0v1Î[!{ßmQO'ɕȧU‹\^'Èf)nBÒsfkb©µvoÇ+©m¨o@Å#” ±ÎêNÐÔ)Éè' ª¶ö²ú–LÕH2›ª‚aÅÉÊEÂàøëî^ùÞ* Á@ÎðÒ´ä’…,(…Ò¢ñ|Z°ƒuÆbWÚÃ@ƒ1;¨Dq¿Œnk@»CdѪ+ÚãØ—?§qÄþÑ)ï-HÁ;X {<:¨ø÷Cú‰*[é)­'#‘䇎8¬òòߦ‡q¿£&bÉüï¢{)`.p‹ ¢¯~üú)]æ ý(Ôv‰ÎnÖÄ¢Gó5â1{õº_Éu9ƒþßëIãÅ]ø à'Wèj¤O)£ì÷M¾(–GæOæ{R¢¼&¹O3› ƒb÷7˜å,ÃfÑî’ø}«Ïò¶ŽKÃqzÁ—ŠpDl@ jûOÏâm8‰!JÖfÿˆ»1#Ù×BghAe“[j®Œ3æ¬kh—Ó°L­{JahBrÑ_N&2án~âNÿ’Jÿ@0¡–Bžßä5—·s_![£8«ÄÙ-Räx[Y7q¤¦È8¿»¶Ýæo+¢ò½]ÞÌbç{ó ?bÎ+†NÀì–Ça¶º6ÉúÙ”E$Âî³7ºü¦Ï'£©Dóp°(V…+bB%IƒNÝ4›ç–ÿ±h¨n®n˹í±[âà6įªJÑÿQ)è4‰Ðœn}:«³j ™ì® Ý?>Ý7¡”Q>QCR>£¹ʪ!É›ã3TLãbpÚ9··3,R"+‹´Ì<ªÌ‡ûÓ“ªŠg3•DŸ! -ƒX<|~T¾öÿ iÕ¸_ C¦ñ`t|kˆ—hE4àéYv6Êl7*«Ùu®è‡õ)Þ*Ik&31†%cT!9 \ÚˆDô(¼aþ5“÷0yÐÀV"pÓ:ÔEc”¶N ,cÇ-¿T' R½P‹ÀÔþmš¡V—³¾×XF«?kûˆ>Uuˆ~ž-¶$á„jòØ…*£‘Ë¡‘yP䋪(‹Ý*ß IªúÂ-þ[Ù=s yg÷&¿}ÝyÁ\ÕTo]§DI:Ž¡Œ£™B)Ë¡Ñ3ÄEY;¼2V«Î§üÖ™÷±—¸M(DBf•Ôw*áÕcç1æ + ŽF>môÊ»Ðd¦j#ñn§r*õÂ'ˆ+±ÁF :<ós4˜S!/#&S•~ ¦Ï £ßS4ËÄ\:‚£y*ô¸³@^æZ®#Ðæ íG„rj“뀅-{©!•ôd.’œ'0Î#®%²^þ,¾cš‚ñÙÞåƒ<¦ì¹ÿL޾ܫ\€iÃá”F ·e>~xµ[³¯„ Õ®Õ´Øé!"}ã÷óÀ޾˜8ºd d‹ÆMkòvXnçpBv1°]ÀÎïÈœñ‚õBe§_+vï}V“ñS肉ð×H+©4@ï1ÐO›Ý{®M)pŽ uNÒÉÇ)Ʊ̆6FÿÜa i¹’4›ý½U4ݲy æÀo( luâÇ|¤÷œIÑOÅí`)mÈ+ggX­7v™î†Ê]î‡Ô…ênÝ,Nö?Q‚Nä]/[¸’£~HQY3åPC4DýËèQÎï™Æó¹(IÁ–˜´øÞ"çùCÒžgÞèP±¸½4ü_%‹ó,ùsL¿&ç½Y†ÌÖÆe_@Ùg¿Ö%ÍadíJ V[Áãšñžeý÷Œ>µŠ¡K¿#ƒóTTdñ•ÂÚ-уž[<8Å á?؇´>pEÈFÝ­hiHçÁÖVŽÞéÊS¾†tXìüyü‘êå³ïÙa²Él”¼=+(õ†3­¯ï²ã‚»ÊSá|iÔN§TMB® Ö¦æ+E±¾ÇÕ yƒW‹;mW£Ñ„¡Œ÷²åì̋͜Ԟ{Æ!FÁ”-`•û~ÐÂRyÙêÀž‹O½|Õ‘?²õ-=;7ò†ýÙ«ìF¡¤ñ9¾%?V‰ªp\³uªsKâ~k©­&Ö"`¶^¢ô1¾È™ôò\lÏPÑ>˜÷Ðnùtj}Ýa«Ò”UIºscúJìîÜ™€”ÙF4ÅÖ: ªý6œç³-bö¥'¸ÞÁž(´gÅò@Ë;GA€Â°¶Ÿƒp¯l©ò<ºœÚéOKKÐŒ øVÁø#‘š žiVŒˆ3f-®…$´9bEs²†áƒìjHÊG΢Ÿ§4Ô(3Û”Õ´%%^—I¾az³ú<#i‚.Rýy/sD¥ý:K¶ `}íV9Ï? (¼·É¢Z¯`]\~7!2‹m'Ù?ôÂ5l·$” ¢Ym/óCg{êÁÁi#ZZ!¬8ýéF…ajŽ'F(¸¢1Cok^¾Kâ(Dˆqø*ÝT¢Òj—qüó•a¾œø“L–ê’„\R.ሓ“ÑT®VYóvt{ ŠmÅþ)<Ýs7€X©LîøaÝ¢ûA–’‹W)Ru‰{{qߘDaAHsÄë©2™Í·Â{pÎ!%d ¸rÅèÀÄÝjVx]¿Y;iïgˆ¯V{ÓKZTІ½Ì>Î"P>iêÍrwþ‚&"ÿWû­¸—3 °[ÒdS¿Säcæ"P„9(íýHJý/à¬c­6ú3…ÓÜQì$#Ÿò y»ÀÊl•\0Bí=Cî³×xÁµôι \üŠ]w?32îqî}EÌë ±Šç×ñÁn§s³›–¹!³þônÒ÷Б‡ÉÒò–‹1Êl·é÷XHøH|à+¥JJ´há÷øgÊí]¹Ù‚#c3pöžê·E¿ö%¬/<¢ÈKÙ°þ¡«ú¼èèæ!³Ýœ³“úU8‚«rm€g»Ÿ¼åb‡D)†1}fÕNà«gä˜ÇœIÝ-S¨± •oõ3Ly=Ì:¥Ò¦™ñq‡4™ýQž·xæ1~ ³ /NýÙ‘˜Œ æ?1Õ‹ZÏm}‚׊‰”Td@6PË©”üýÙãʇ€Ï;P•á¥líE‰ã*˜~l¦‡é_>,êh46/wá QôQ$á«}Û¹ô“÷¶øûÕ¦·+åGýF¤øxÀm0æã\#à Yù¨ê†]¯#(õ°ï.B {)Éä¤Ð~§:×k €¾m…á U[þû‚‚Öšž7GOÎ^-ºüß…‡èN_6aJ°v&\Å9‹|!øú‹kzê*s(8’ÊX¿ûåa§N ‹fÿµqä@æèƵPô¨fž1'–äɱñË»½$v>ã6¬†7?fË”‹µ4Žš£žžTœã°æ«(Ä\ä$uÿFïn½8›Oì¸y:9J)«C%´pÀ†ë&¨@×@B‹F]h£Zyñ<™öÿ\ôùºÉÊßjf4ËÊQaBbåX¥ËHÝøW OÍ>Žº;7ŒLÇ@¹«fаkº÷äIÔµ!Á{âþ<±ó8^o§SŒ©mÞΫƒÞÀÄQôøÇ—`y ­Yúå ŽAºÇ Áï É\ó\ÄJÝa‡]«¦Åßü{/«âœÙ¡ªÐr™¬"sYkO è×p{ª8ЍumÊìry yƒö2üÈhv¦ F %tINH¥v³ õç‹M§ —iq…ÔTœ?p,1°6ÆòR&8ï3. I\Ç2©}?^O6óiÊ™U…b[Ü¿ÆuŲå%Ÿ©ŠÏ7 ¿ël‘:!#QoH«Ó1[T 1ž¯ÃZô&øW(“ŽÎ\ú¤—åð½dMï¶ŽÒ[G Бو%ÞË "}ÿûgóÄsVatžÒçÜÛàŠ Ÿ™Y¸xfPà×y‘œyÈ÷Ÿ_âxõ³à9ïûrOJ,]yo‘"0ï³zjˆ¶dlÔ¨šÞRŠX{¦KAóð^åÿÜàAÅ‘/^Ï‚å¨ 0«{à,æ®QgnÌŠ¼‡ O¨³¯¾Rݽð/&ƒ'ET–/<6/Ý]‰U ·¸ÎªíH{É9즞g hH©òMtûÙhÍQv6 G4 e"z¹,§SYl§³M°ƒÊwõåyV—†Ž*%Db±q×&z™ý»…kf\Ú…oZeó']™uƒ®n5äêë`ÐÚ–y0j/æÔ ùH;ehK„3¡ô7ÆlÛ‘þ¥uªªºçÆBù7mSò%Ì>'¸(û Áé4]h²ÕÊë0:wQ8àöBRë™6¸ÞŠÖ®º‰Êâ¥ùÉ©¼¸!VÛCW4Ë;¿&,¾œ|2ò¢$p‘-HQHýåÔä3Ðl‰­‰êáTpM5P󨹄0!=}ïô!ã?ÿ'Ø[²¦’íÀãYµá&”+Wšû‚òÈä¹óâ}çÆ,£N–¢d>ÃO©¤Ÿ0em4ù?Ç!}¢¿ ‰›Ê”z0©@÷>äŸá/.ÅSàæH€ï£Ÿí·OCÅÊÒÒbÄî à7_jô`8Ú²¨ñtêò¼š÷¥Ô"u©¦€SwÎz=žó¢´ßxBË5Í ‚œá´´WÔ‘žŒ-! Ósfxde¢1þ¯c¾nÍWyN=ÙÑ}0C¯†Q‡„Eh­nêF”‹ªèÀ eîe€ %ßj×lµe:8 &øš;^¦öyRZƒ>9Ÿ©bEV½*NÄ©lElj3ŽpäÈ©£ƒT#„ü‰DC¶)Šúüm79 7M™œy Ki Âe«üšB° †¬¯žŽ\4V^¬&}àª81°;Á4潑]b5c„6 ~2åóÂæü» yipòÔúªµIdÕibXë< ~i®â2äaeý«û®wk£õüý?¨MU#šÌÃø5'ƒ\ÿèV«6ÝRdì7ä§tE¦5ýå©Gm$$;¯9-oc˶ Ìð:¼1¨öâ-a m†\ù!îÌš£OËŸã#j»' |î-ÛRj½ì ¼Ø;«‚µª=ëµ7@|Y¢âA¦5/¬DHt÷: î.Å1Yf—ÕK½+©X©»'´Òuý=k H“C0T7.ŒŒüÅý‰é_'w 5­Gε‡L NrBmf¶ä½&¡7Rп«Œ›Ê7%gÃä´eå’Ûïµw×[QjÙTØH>+¹à·2|ÚÿÜNLÕ)’‹QSú^OÃ9xC>PX¯Foú~" -^©Ú~7é)9â‚ò¹T±à)jul;˜Ô“a²òéµ*‚·©þÕýƒæÌHðF \‡}YÑ ÞKø-߯U:*úŒHF.ìS {Eƒ]›¡‰êîè‚¢ø”[©6AOw¥v¼Óèät¹¥ôÞû¾¥ ¯BB—»¸ø DÞ@ƒ¹_§º:‰À´²ˆB‡É½/’½k¸ÐߦÙÿ¥HÃøÐ C™óî¬G«+‡o6{w]‚¥úë}tïÃß 6 ¬•uUÍ{¸¬ï¾ÎÐlõÌ­ˆ9ðšŸ×x1=û]dI½ðŠP±S*²ƒ‹øgĹ쑮akenA«¥‹n¬µÿv1G£^­YÄ|ÇÕàr<Î;|S™ù\À Ážì Á¥ØÙjìûÃ=p·h~0öT I%Èç~úìº!/ï#S-ŽÃ@> Mé³åŽ&^x¾Râ “Ó>DÚÙô8Çè“bI —šæ5HÐzUz1ëÈ—)Ÿô/×c )¯=è ¸ùVÓÁ]sβV8jg/‡_[¦$dÝ"ûš#ÆÀ@ÝHzäüö ™ov0Z ÜçiÍæÜQRƒðʰ ¼£Ü‹h]~—NÉßF©® D)ÅñPºšúli1IIRÿKâ–J` íÝW„•b_ ÍC„˘,QRe6ðš¥û™% TAV\¾·X¹D©>a“?ŒŽm×Dµ‰´9t™T7ôÊ:æsýbëñ1ñ*_á31"BX†µnʹ^°Ÿ¶št¢XÁiÙs‘Íh°â Ì‹þpÔýóÍžßäžQ@XŒ†0«©gRZ’³›§â#v2Æð½î ´ˆ.7¤€9ÀÖå’ÆõÒÀ!˜Eϰ[y¨° ÎW‚2ÅÈÀ{¿c_eŒ>l“|eàæ| ^×¹ùæ½l¾Ñ…´òíV¶Í’á‘Ù€p’bFI¢E'ã&•ÃÞåͩ˨±*ÜwõÀ’œÔ°7©llY JP"ÞÇOo ðÈ4ÉZí15×É[w‰ ¯=>ï¢3º±Æ샴ÒèWE;{hü95Òå®6à¸+€ª{ò¹C~LcçBçºÐPÿÅ+ã*ø3@zâ# —¢FQôÓËû4À8\™:NC÷òñH“ñM„Æó"¾"/YÊ“gQ²"ú:dåþŠžïl ¥2ý€Žö{Â~ñ0í®ðp…M€ïg©Š…H~+!ßB\_„³ê zûÌ‘;Ï”ÒÐ$ž¹’`ª X wcøƒÂ>¸„tb4KKšÔÇÆ\»º ËÍ™%8‘^X‚–õóǬoÛÈPa7fˆyeUF¼†Ø^Ø8b\Ñ}Õ . -6ÞöøÎ5:ÛÀÛì±Ðõê ï«K.*qy³$Ë´ÄÚ:Sâoz°?}hÍoã¥-SáØîT备÷ŸÇO81·f0h– ©»òF˜|Õ (;Õ…]|"ðrK@<>¿áú0áBg§É*¦›.6H³b+k~qñì“€nxÌhÇ%T@¦@6’¹AôÍSuÕ$W ¥@‰’òÓ®ßA›ü®@Àì™Ó¨Fü“[™ÞzàI´â>^ÍUŸÑ‰ò?¢p2½œŽÄÛ*wY5ŸÄóö.g6yˆå=HTO6¼hp™Cdä³É_ƒ ö¿“!ck#7v1ˆ-=2Õ0°4‹ôçõÛäçæÒ:w̱=ئ™ž^ Øí wë¶CºÒ±©¿LDˆ M¶ õ¯¾â²éì%ˆWY%HÆ^OȾÖ8s%¿?‹´¡» ‡°Æ0WZfâã>G(-I¬=¢Áv{ðzÛÚv‘Bd¶ÜâQ8GŒº¡wîÚªéÌò£ìüÀhzjUM'#‘Ô-2%ǯ’÷Ö>/UÇÏå’Tƒ<§ñZ1µÍ{&½ ÝÆ‹–ñÕã /‘„¡A HëDQ¾t®µ‰›î1Â6Š{nm™…!„·ð³ÿ‡UÒ”@ý@´ëÒ ³Ýiæˆ@Cïu[¡0ÄßÕe j-hÓ…ëΓG4­ísÇD;ÜPêíæÞέ%ÿL[`嘰<%Ìàöš»^€W‚N˜“U´*áAÕŸ8iT(ä ñ½j±w8T™ÿ½_jZX½†ÐmC)Ó°‹«.CØÞǸÌw_Ãå"ˆLÜ:èU;w§pù{s’gñO·þÎz˜žŒ"?ÊÔŠ³¬eeB_·à1)[_)†&½@a:Tì 4Õ%{‹*®ÇÖ¢:ÞU wY´µžr²ú{I~b%Lyù\8kCâ·ô+ç¦Ðò%O;É=´òyC*I‘ yx³@ôýË_gÄØÖÓG+ŽûeGÛ»Cøh¾+ß&Bu­±|]¨4šÑ2¤Ê­‰euÖb¶s-HÇ9ʇF¿ GZ¤¥nðOð2&Ö3{«m”åÞ9»>`„ꪔµþ¨sÔÑd×x–,Ü>HòÆ3ni$¹BbÈËö¿J&Ã€ìø††÷.ŠÓ0E§T[z<,Ûü†xX|±Ü¬T]r¿»¢x™ è!žt@3ÂÙ»ÿÇ)#v%Eª2š6&1ÏŠGtð1Íž\`ÛŠ’òh—¤'Š`k¥9;OC.š‚ÊD0¯:ÍûÚvÀÖ‘ìÕBu¶ýìÏ/.XÑUÈ´ MŸAÃ>•©‚Ÿòg¶7ŒL ržÊbe«$ñRÏd¥jÞ·V»¡>:ÝʵC9þ“«TqT]™îVôGóöRž6µÄ,”8qhßý ³P…ªl]š´JÞºà9Ä•èÊæ:f.fÌEáU/·tÄ©?J4¹È¨´k^—r÷êFùu¿­†Ò#'¢R­¥1—rATW&Ï'%ÚýÇ­(q€dA§Úl©†‹êðé/ ˬ”šÊÙð6å ø 5Rù. œ›²¾>H yZÜQõÙgÙèi>øìiÖC€ Sˆ1²¤¶ l±•C™@•O/Dìs⯊ ”ºêÆjö=ØèÖ.»»‰ã7#ÉÁJ+>‹1öôl^uÂ9ìîul·ÈA dIõò‹{‰‰aBþèü"K]V(*ïR£ˆÜ>f©0Š¡­ÒÅo>­-ÞÉBKQO´eð¤¢efzŽh¡8úH˜‘ÓFxÁÃUmëûæ'ÿvdˆ¸X[~ƒ]À®þ¾XÉsÃß2T¸ýQ)¦fz}Óbí¼Ò¬îsïàmKøérº¨䪶&˜t?zÖ´äõ”Q~·=AôqÓåL»‘uÕô;;¦ˆ(‚uðdÿ‰Âsº>Tw²-Ês€˰LÓÉ`aók&†M@HÉ—ú€Ç€W° ´ö28X¯DW/¢¨ÂáktÀ Ò— kó<^£§Ü+"ïM1\óUÄŽ”7D}Ú$ƒ©¢¼ÉB‰QN¹ò¡¬æâ†7Èþ»o$/~'hBÕw840ÂïÐ;Ö’Ø•ZùQ Ñþ‚œû±þüߊt8ŒL½­áO7uºsk¦z@Ü!ñvLYô^a¥HFØ4k¿øD6žy•}’Ÿó¢E¢¾ä2ƒ¯C6ÝIÓÜå¿Þ>@#†ò?ö÷{rÜU›ÐñüAÍßâi¤ ¾®W­_Q¨LN› ࡳX|ÀOÓƒ$¹×ÕÄîÔÔN8ƒÍšN }-°Ð%ü×·? ah³äê|MOÃd8Åã†Ñ%`û ž^©è-ƒàæù*ö/zG+Ü/'u¦í—”4f?ÁØp곺XR"3sKÖuµ—¥A@sZM!Ó œ %UÌ}œ¯¼ÑQ®/…#< AšÒÜ &¤,ò™« ó&4»ùÚÞ†êrõÐIvòyp‚OzÚÁE1<Z&µ ¤'IÐ#…øÿI^ELFÈï´ë7W*£O¡Ä•Z“~g U2ç³8õIª­~…bþ "\˜%D‡¦Èôʰȭ.§àÞ¬ˆïG4ˆ—’Ïö!àÅ•ÞyQ3ÏÒ` ȶà‰ãæV-¦Æ#ØÈ ›Bµ)G2H‡V¢/û,š ÉØÖ¢™K=èÊweÙìçÃÉØb¹ 4­×®±Ëì¾æÀÑa~mžŠº'èÂi=F´Ï}=yQ]l½'y£\LdÒsµ}¯&1ÂëôÁêkÃEYê^‡’÷bv´lI A.zŒM`ÕÚ@Já&ì|ú¯,iòêºÎNùÏ~ФJœŸ4EYˆö5?`{›w\ÍãOM®ÏœHânï"mµU–l`Vº+!è_©¥…ºiwÌÂ3Ã| 1±u*5þ¢päm:)V´^‚ ¥ûßžFfÚò¦hÂn´þ\ãz÷Z¬5° §‡Ð>Í%W~ Ò§}oéy5?Iñc×8 +]"äQZ;0‹“«Ï«è+:ò]O­+5À;Ÿ=ž—Nw$¼Mªr¹_P?‡gƒÎœÉÎëË„~Ô.°Í;|òÔ4›ý%ØÍ¡ñÛlÄ&͆͢£éé>ŠÈšöç|žyªîØšFhÎúmH&x1¦ÇðÌX¯^*³Öå öij٭¡8‘BsO°Œ-­®TJÿ™ó„Ê÷:ªk)4`Ãõä{D¹^µórÛVæò&Þ`³ö)¥9ĉDè¸ß2öŸï$Úôaáë ÍÇyuнì2À0Ï6a$»â‚uY۵̉ãOÐG¸Ò£zûã°EZ0|e³r¤ñë>ú’ÈûÍMe‚]ƒW.ײÉyý¥BM{sëxYã$~â wWggy(¹ôsù+åV¦~”¯4Gó¦5™ô§´K©¡ ô†“:+ýwêEµ¥$]U¹434y\Â5¾®û{ðÿ¦ãgFBÔê‘þãæ ‘8E«t—x%볊*g ¥µÔà!ß"~x9bJãe$ŸÉD,?8çcô¥bJ¹Fû—¢pLGLÜ .‹»1åáÂqiÜÙB¾‚±òÙ¢©L¯œü`ßsLÌ7–È[J1öG’B%I÷³:ߟ҅+j£{ /8>`"Ýqù½êŠÝFäµG–;¶U ‹<¸és‚ËçQô1yÌXiÚ›ü wYDk¾k6çÍŽß4 à‘-G®nÍq©Õo¸ëTXåñ„Z ‡Ò<"b›¾ñ+~ÄÍ!<“0Oc,x{ ¤Ø¤a½á<ô– J=l9^5ðÚ¼ðhg.ü‚8¸FCª"|ÐÅyPÆ8‘¢sÓr¶]°+q®ät0À $|zUÊe5²š ääM(çUÊÓrÏ(!ÊôI,Å«‹V¬Ö³m™foqíÅYV½3¬îí“õôà%ϺR¢ÎI2×l¾w†ÏeЇW‚Hs󣸸l¹H ßo‚GRV#7;Åèñ6H#—U­á|D1íá$ÓQ¼Ù+¯¨»/ kZU|¡ùîv'À‹º<)Ër€@Gpým@E,OÀŸéÑ÷Uº•i¥…[]¶‚›c—-`Ó41ÜšææOª2•Yy` ›ŽœíLjž°cïŠ \„>†¼‰k{3ˆÐ#ª¢¥ŠÐ‹´’VOÆÑ³Á(ôL¼úRÏxô‡ËÑ­‹Ò$,[ãÃ×ã;A§™¶µ_Ü£*¯ƒhZ¢¶w³k×RaĨ…ø¯NG0Ú³P|q1×ÍìºA~ÓŠ7‘ŽªŸžÔ«—…ÌWJ5hæú¢ù<ŸÚÄzÿÙ r•q_ \F}ˆm‘£nâ*þ´Û˜}n/Š\È_rmaˆé¡QÝçœènγ3²µ’ÉžË*9TœáÀ$ °\›û SupRýÖ¤Ï)#§Ô¡,PÜ Ç¤æ;Â÷ ÑçWÈëcïŠy”ZL"‰–‡`å ß+ºšêá%Qõ‰m‘¶r¦,‰ÌòVmñ½sµv‹ŒÁ”T? }À ÿɹŸ-žn¶Nt{ƾn¦º¦ý%Æö‹(ÒÑ™s~ë ±ŠÊ÷V=@V×°€œ‰™ÓBxU´»T5{õÓ5µnØ™K¹òÿ|û°XPÀ£p º:ˆñp,”‰€«™ ˆýÌ¿0æ–ÛÒY™yÀ—¨’QS25=^óãÂÃÔ[’ðaÒÖN#(%c,!\תi‰ _ÄV–F}Êš®'æ/Ÿ®tïJ‰P´LØ–O­KV]“ëÂ|§›*§NWŽ0býëOvcØwwú‰¯¢…h/7Z€zÈ6ó÷Ŷ—=¥­!äñ¿O«5Ly¥ŽÇ”è¦fe)Ž‹öÁÐ7¸Õ$yû1Ô6MqØ“©!9Nùq-+†º£áu‰µYYz$f'mòyê›wñeêPĸډj2g›\ÔHM½Û¶ä‚£S'‚˜¤ÅÑâ ÒdáB2y‘sYß=™+ôÉÛv©X^6Q‡48W™°DQ57›_ ÂŽ1'Òý3zÜ:E¾Kñ¡S‘ Õj®²{:âSÀžÄ ¿>"†.»N=9sϪ»<2‹Vå‘§Û…Q©ßí„õà$®÷†AçÌc×Ó­%…;øv-Z°c§aOç5~.Ÿ3cù;ˆ>q™ƒódˆp…„ë_›âT¦Fy€À”ƒk0”W¦(Š>„8”t^þ?&Úm­&(j‹EvÁàï¥ÙëA]ý.°µé•¦¼?"¶…ïº{üJxI·ì бûºI#b=ÜgFZ ã]Ÿaü•Ë›ª6Ÿ?˜«£éL%ÆIúÊÐþ‰&ªÂTIk„åº"–q$Ù¤Oú²£ã¥×ÔÞ°RȽ]Ó4£ìÂÕ¿hX‹§‹.Ù7½&¹* ã4zúê>F#¢"®µu’œCö G{ `ë^“IÒ®ÖÑŠ!Ö«¢C£4âiiÁ„£S»»¦¶Æ@¨fC°òuo³K0ý#*^hõÎAš èºÁ;þ ùææH]ß4Œò¹[ٛ릈ÎÃmþ­(€ §¦—-§áiÙyC³Üª±Ô óƪ\¿kpb J®I/àrTz‘Àp©_¾fÓ BðÚ ßW{ÌÈØ&m§±~V§žOcƒ 4h¯¥ÓVr´5ìyg܉vÏM'©øŸÌQÓ{áYòªç)ú!ô¬¶f2÷+b˜îÙ+¸—’9¡é€ÙpJl${Ò‹£U¤%af¾â¿í „ʼn%ew‹Œšæ3ú íP¸ú,ê_ÂëÚ ŒÌós4?%gxäþÕ¤’•¢j¢.Ð,˜²M2 [î X½iÉzŽ@ÕOŒÈ[À<Èõf¤t™þHe )ÐÓ9zÌ'ÆöBùζÔyQ± GꥸçPÈ~’ÕËÍþ¥¤nr/ñ(â„o¼ä1Àøs¦^•“ޝ7ÂÚÕ¨bE\Ñ%>ÞŸËÐä­‚Oê-…¾ß»'§9ô¬zÂÝñº#Ìï«U±ž•f6Ú>Ïà«ßähT´°«¿xj›'Ò~ ÖŸÎÆfß}ÊÇ2\FeíédÑÆßØýu^"[F4ŸzŒ×F·˜ª ÷gÁàLpItã T¸Zé;äµTp!ßEâÈW8±§ŽA(Ÿ€ùO<N›p¨…­}Cæ°:Å̸Ñ#Xˆ õ¾Ci¼ñ–«ÂEXY¸ÅiAWµœ8n˜8Äù(N}³Ÿ³·aq×ï>Ñ4+á`¾ +]Ÿº)'cñQ•…Œbš-£s«Í`çÁRE”샅®ÉõðP\cÚ.—¦ßîY÷ý²3Žu¦§iKž£Pè]ÏÛ0£}8 ž¡‚§d‹vCŠ|¯!å5µ‰ôc1³“@ƒ|Þ,xVÊÞ/Õ†Ùvñ©8O:¡N án^Õ=¯ÀŒ4ô‡ëß×1-¥"îªæ‚~jC1Íï;¯qjĬðÓÄôïØîÂðw­•‡Z@GýDðJáÉÈ×û¶;jfÄAa‰Ê¿ë”"´JðG6­ÛKªž·öVQãC©¶ ÿ2Ê y³È³lƒlÞt¨CÓ]wè; g›³gËKrX»a †´ ÒÔ$R´&Þ_8«gÇŠ›ŒJcÙx§T{®@ËLhcsÕ¸1fPÅj\©âÉÒêG$Û& Øm¯G8'Qæ›×ÂBƒr[Q™ri×í{°«F®¦òW¢£ejOM®Óö´ÑÝOsgßIÒ0qÞ¯Ú ÷Ýöísøm5‚ ¡û§§j±+•úWJ¿ïÕFÆ$ÿëÍQLRH*“ÑJá<8©¹s¨v¢œM…ìx²©÷l}Zœ‰&¹'0µƒÇ7*ðÕƒÑcÚº4è5;p¥¡Ët`é˜Ù“ Ǹ“&yPZ ˆIÝÙ4½ÕG"Ç:YÆ»¥E3ò‰Û-Ún°€L.Šª2Ë{}ÀCH@6ãý±ôç~>Òà€ÇoìÖM›ÓÜÅ Òµ^a-áÌØ4“OÞAvì³pá$ƒ…¦Aû< —kaë»E•ÏûœFÄ«Ÿ¹á¡DOîºt{ iP»=`òôk ”™Æ jDï)WÁÿüGƒ5Ë”æWÎËÅvªÃ-IïÔrܵ›P²©þªúTˆ­B1KØ`·`Ðhý¹†¾®zOcôÈ@ v9¨€¯¨Bí†$ðüí7âñ]Àœ„Ýv@ŠäûÌÉØÏ¾ëëùôàt¥6¹ü"¢Ð}˜˜®.Q½ »›ì(×>Ãzþ‰³®v°«X §^D¬¨ç/Ó¾¿¦B†«gãi™Þôy÷<¥ u]>ZѶf_‰I~ËÝÔ’Ü·=˜ª¥´¶ÑÄX¦Ý8W7èä¢oïÓc¿©gý6ÒGÎ¥´=¡š;¡äàƒ¯qø¢‡¾â”k¢ºÈz³‰_„½ƒò|èü«˜š«é ½ÉØSÆë3Âã®lO×iio穌ÅBKõõ·Ž‡¦5÷«qC;|"ÿ.A w4¬jDd¢GÞGÈ[ÜnUá[_±ÞZ"e"žÅÊ‚ªÿÊ¡ÙNßèIX#ö#Ì!ŸÍiP1\†dÛõ‹îJ}–]¾Ë‰ }aEÛ`gœ•8½¸š••æ…©ÏöÁ—ÿÿu|(½ÝêZÙ“LHÑ)>OÕkˆϦ<Çè"¬¯‡•¹±Xsqé.³|ÄÊÍb÷f…ÚÆ 2IDÙÃNçÀg>îù?ãó¸8~Ökü‚àœX&¤¹³2Dv=ò³ˆMCS¸×ìùL,\ÐîêÝç5ad0"þ,Û4¸<‚ÐaÀÄg­=LtªL;§/)Y£8)ú¯ \þäª ¹ÞôÊ\ÜcÂtÁaž«íNÆ=RkBNÌPñ³Ajö«³ËSó’uóc›^úè:ýèÉhzÔˆH%!.é“ñD}ÙF³{ ‰½Â‚Ic€q~±´ì,¼‹èQ²Z˜5¿aXñ›ÂB mU)˜¿O ¶÷ÞÔÈæƒñ‘–IÇÈEmŸ–·hÌ:{¯€ÔG u·ž "‰'®¡O|égêh±Œ¥‰1#’m,è‚ø–€—,)2œ Žœ@r„<~ Ní3I½‹Ç¢âÍt‚ Õ’½]—Åä5Ü®îqâNdzl‘ähŠ;ÁåáÊ{fáëk} ‚éG•Ì«kÿÙçÛçaÔUv\>;ÿ_N yxé² T¡–ñÕý×w¤ ]öU\‹6ÕÉ íû"Ñ4[ ®, ‹öƒØ+ÏF^¢ † \úšöü„÷óùnn…G³´Í¾hÚü‡^ч4™±äíwN#_æk)asµ{ß8öMmBpªøé owÖ@ùyI,ð*cð4±)®p\† ”7_C.P€®Ù?#gKÉœÜß“†ô ¼…¬^@Û˜™\û>7  OžJ5 ”ïÈ ºîÀ¹üAr4fL©­ßgŠH\Ó7®ùµ_é©ßÑ[Îr“I‡vx±…I ÷ýË\MKÿ)¸> õFmrs«í¾`²ÙV÷¢…þ÷#n©›—ßózßž¯5^º _IݹBº8Ž[·ó‘‡ôEBh_ŠJâU¸Hã]ʽ8‘-–¿FÝê„&Eõ×ÈÑåk=ÞHê¤ÃT2ý}>ų1Y)J‘à8;‘œ K£Vê6ád¥ÊÔº)Ÿ*>”ì R+ªz¸0ú*¾vš—±-•À);8}à•)›Z¿Ü7Øõ·4Eöæ!Âm3V€=óÝÝ6 Ã\c¯¯w Æ€âI¼ºú»OPdkd¨µ™û §îûÐzÑF؇CZ¿»WD¯&iõº¸]LmöºÉ“ÒWZ•3¡S[üÝÐp^e*Z;ƒ’Y¹!crÄ9¿ Îeò+X¸¹Ù>åå´òûNׇµúÚ*àíb—N[†eD~tãK¯b-‰o=7»oëºÍ"X2§”îÞP±piÛ™ê:ÂR€O”Agªß¯îY»¶é×'ÀâþÚ¹¤( ‡ën þ «â$ «?¤“ƒb5ŠZJ!‹,»µXÏ5ÀìqÄ’ßÞdн–¨,£@g£Šf gRÉKÑ$w#­ß÷J àÄÚ=á”)¼iô]ȧë"€A ±ûÚXi$©äV'_æŸRL}Kéß…ånZw%“ä!z³Å3x-„š¹é’»I…;/Ã?JnàE³ýެ bNóDrNšM°&¯&C@F¹<Ï?"cÌ(Ø~BÇYŠeÆ‚ÕA•"·>ÊÃxâ jB§;8ßLIæXYYï,Ú!`–¢ÜaÖØEû†Dïú¿-ƒNþ!â ê‹Í¼ªK†Z³FV+²"÷òPˆ*V‚ø§%HSläêžx²qZ ?—úQÕ*U0;TØ]­XÉÖœïÊèâ*P|•;^ÖKBµ9ñ"þ½ÌŽlâ©ÇÀ¬®ñ´KVÓ@Ëô£GМ«u{XI…Ð^æ(:± íÜ$9ñOv ˜3)ÒçI Êo³1!}6çX”=ßC|¦VïÖç6)¶p®ˆ çÓ…üËÌ_èŸÖ´{J»AN@”³üá#Ë&6µk@ù*²È*–”$ â>Ÿ*0¯¢F¡3ïóc@Œ˜Š%B–úÂ(ºw³É4D5É_b¡â¿cª7Ý«¸<¿ž*«˜Î´‹»GÓ>ÙŠ‰9³ä³tŒ8ê|q5_Ȩ¥¯@ÿçû¦ G ó‚ðaÈ^H!;­ø§ÝdsžÅÚâûõÛè( ¾«¾NÍš¶™Ý$ päq× u!«á¯ØFÇB\QïÑh÷é’ þ Ž(êzÃ÷î±fŸ?½~íËŸÎ ä»û¿Oa±ŠN‰rüZ±ÇÊíÆXÉ ]( ·h1“þmh–)¤…«&И~¯ÕÜyãíÖëû¥àfÌ¡ça„UhRDG2¾Ów<Ðvb$0yrÙß²”0ó­á;ꉸûíÐÈÞ—Y[§‡îÑ̳Ã|¦PÞå±§}Î㽵闽3MãÖß&†ÛŸÎú¢‹ðΡ@â¼jômiÀÊ)Ðd6·DØ¥ùØm]¹ÔùÖÓÞÒð”NѥєaËjÈÐx4\§â“—¾Õ»>’ÃZcŒ¬xÂc$=áÓK?(ThÔûn Wµ¬ˆôcÏ òÆ–ô yeÅ -.Qšžõò°Ï¶O‹"PÅÑ‚ƒ …"ƒ,¤×‚©Ý2~ .#s[4J¹·^$Ô®ZZ-gV•Iè^^kcß#÷ÜdìušGHýûÛ—r;ˆÖsšû«¨ò÷¬76>X'çòŒ¦5gŽÉ‚¹.ÞŠv&œï¿ºz=ƒ @ÏH'z¦I,gÁgPÚ(ȶhÂoOéÃŒ&‹”+Ò½HÊø ¶ú$†$Ú{'ü ŒÃïÐßaiùø*Å-*¸š›.‘*–ŸBHm2^$(>jsIiJ䉅3êb“Tƒoã+,_Û˜cÄݵ÷â>R†™¾HT[ ɹK]]îÓð›Æ‘¡u,Õ×ãŸÖ6»¨ªò¦´"|ØÒ@|'±àQ|álˆÜ¿'Ÿ3ñgGþÀ5±îõÝ% Yæí¥èË„,1¸|ÄîYþ¬0ÿí4.¹AA6œ:â¶5*3CnânŒÐèÃVZؾ®IîmNy‹¥,±¯¢7ù¶Ý[èŒ.¿—”!RŸ‹Q ïH[÷Ì ¬¶˜²u=’Í éÆç5°Ï7R~¹x¤5Ë™=e¯-hÐ9ÀŠµÒ•ì0M ¸ñf¸yO›²´C’t!m"êMBºI qZtˆcØgjÏ|,Á‘ý‘y`GD;Z ñÂÖ°¯Z„˜9uøv¥Ž£\i c,³a¥ÔO–sÉÕêgÁƒöçÁnõv$kaG01tüÞbݙʇg ƒk‡¤%ÊÅ. Ÿ-hZç·Z¿agS}LŸ\¼ý( ¬²EÜ[²) s !/NmŠQ¬}ׯ3zàVÎäb¬ÛÞ³”³dúa.ÝQ­Ä !³ Ó><›õ¿¼H¨UcSÆ(JbÈ,÷luòTßaüòZs8X~Ü ÏÆI¤?YåßÝm±'ÏÑÙL-—ÃÜœ•dƒ[ŸŠ"ì`Ejdíã¢äDF «³¸Õ‰Ø±÷ H$i)n‰o«0Ø%BŸ@^ åÑÞ’öMMaóÂ5X;i\?T*Iùj%›A xÁŸÙHÿ˽ þú/|µŒ¸Œ»ãþ®îP$ÊÈópm³èØÇâc'é¾ìôao–|æ•êT¼AÕt¬/¶¿zf¢o›®Kƒb‘âî¹ÚY;zrTV7ü˜ QÚ“…íF(fwŒ&â‡Dݳ4ÁÕÑš9&ïs\²EPÐ¥ä jÖ·©% ©»ÑQkÙ87Î6ŠŸf‘Ñœ_¼ápêãÀX×Ë€ŒþnŽ=Õ$lË¡ÝÛ`%TzÏ,îy©gŸ‚PdÜèn5ä«}c)uð³Ëì˜èUMï— ]6é­å#jG`b=h®ƒ‡`˜}ƒ0%Qà¦]¶rÀ[ÿf)¡q“ úóöò{œE+#Ä_CÎiÖ Éâïáp¯ÇhNe͆¯‡–}º:Ж)ûðEnjù™íÖ#n:¡–PH©"Ñv78ΡÍMlEb`â<¶7˜Èín"éŽÅ´ýÚc©Þ6ñßò¹Ì­ÓQñîûÇn T +pLÖõíØiEÃG _Ö*ÉézÏh ÆF}^0Gy)ç(Â1Ô¬|æ{½~SIFéô’º[ŸÌ§ÎÜñÀ?kïæ)9×w=à›Ã T+eHAƒOÀG’¼r„þ2i3*@ÑÛùi½U¨Ÿà>î@Y6mÑ]7Ge»‡­+Ž”ÆY‚ú /7ú÷Ó…ÅBè„Ð{ Ž6«·Ô3Xµj¢ F'Iмüªø0·¥}à2qŽ ˜ž™j˜%öÆNŒ1†Wm*¾Ñœßã“ÜÁá`Ñztú —ÖjÉlå0h‘Á<µ»K¹êÀBwÝ«­fT6Ñ^ÿõç«Àd¼Vwý” Ð¥¸$’Õ:ޝÕAÇÆŒ»Ÿ7¾3¾­*7_ŸkL"E®”ìäèÀù¾GŒO¯Çû‚ ?=»ŒëÒûNÄ#µÝÇ%$!\–ïxŸB!êß(€Ò—‡ÚRÀÒO€#óÿYæ¡{Os¤‘¿%RªG å™Û‹Cƒ¡ªÌ|Ñ=~C¡wWÃÅYÕdÙú~/™ÁoÛ'T]RÐ"ÞD¤gê ú‹`2¡!4Ü<£4„R¯¡bðŸû„{4wèW 1á̬¶ú ANaTi¦1mj`çª'…}°†Õ ß¾ßU—›R²µý?ö¾—ÑS|‘ØP°M´LÔèZ}ÙåǸ°P©ƒŽŸËv‰dý°°Î-G9bG:Yp·Ò½€WúkY“ȵ ´²j`Ùµë{iuÊ3Ì´aªì“NžÔ†ñG‘z’Ÿ8át<;ë΀¨ËÎjEÌN˜ŸÁ´šŒN?G)1U0@Êg$jñ›½ úÓË TêçÔ™y- P8 Ùä~| g<‹ûCM¦²|úŠ>©ñ•!³RÇ^™m¦¾,ÇŸþ=K-ï~!¹ÉdÜe¨º´ÂLªƒJ¸N`LëÚt^Åt΄,\ý7¦ø–O—ªþÕõÔY'Ä7½N"ÏÀæŠ/*œ‚nP’ùºá7ñäzŽæB:ŸØE4*hÜÿ¹”e{ÿù§'ÒN …%”B$u$0gdè@’qeÛú0È©,é†f³÷%JZᦈ¢TØ §}‡{žb9óêà DÚmÙ—b DÞn~+_Xÿ‰ü ³º¾9a¼_B¡³²Ê9}¯‘t –’JräA‹=1zæÌ+£µÄïÏÖB±îú,VÒ Ö}?QŽ_ø¶ÓÃgzv…XMŠ,´tæV ÷¦° 0Å® G²ª .5Ždy˜¸PðMþ\Ö‹XÊUÛèøo6dyIå˜7|Fé«kÃÁ kèXmé/œ€åÃAS†®fÈnz!’¸pºõYT½V@zÈæxý ÑQD« ;¾Ö€2÷E_ï1è®…ˆÍ¼ ƒ¯ÖW©‹$ ‡“³§çÛÓKb¶¯PXM¤âÕ¨L³À°›œôTjÁež}ªHÖXFÑ'pSbÝÎwì“gÑyâ¨$¹ÔÑZ?œ9A‰®þÑ4Q÷ Ñì(÷!Ã陵0ܳR¬‰gÒÈ3ú[søó›>]J›rqˆ»É/.;²°ÈX(âž73PË,¾úTjçŸàû„&óó€°Ÿ„{¦!?㊠ISù.r¹÷üSmyˆÉ’.(ŠšëØ;IÑÎL‡B=LÔ[o1Èc #J•åpŒzm/üT°×ŒŽŽ¶~lâ7ô?¢*)™‚w²ca²ì¥¨GSš˜Îfø*|ó Ñù [ÙÎS%®‘§Åm<øù §ŠˆFŸƒI˜8ȸ³*^eyªø†Wâª%$ã¿ñ¯ÛwÛÚæZWEÏC­‡ÓÜÞ«½Jþ.,V`P}áJ$æÆî¹K #ò? ü|á͉í©"˜ì¼CÏÝÛ}þ­#Áoi€eý‹Œ×ÀeÝz Y¯ïP3U¬„§Óy®C!EZŒªŠð1äG¶³GvjþIôˆ!_Ú#Ñq”²Ã$;ÆlPš8w-ñ4ôQgd²4Ä×N;ž¹Opš Ú1™=|Øì3—#Ë/^^¯·÷`×—†]˜k}S ¶Ø?…¸a6ÝþÃU—hÎÈeƉ>{?›*d’0†¸ñ´ Œï•ˆÎÄä¾dâ´Ñ ½$iZ¾(á9/Üïšö¯ÎIÅxËdC§ïŒ×ö—©lì£T–è…Z"û3 rÎú4ªòDE¢a*7ó¢[Jàt§l[RõuãXþ6 úÿGa•0¹è}z±Ž˜ÿÅ,}³TX Ú÷êz/"÷¹§ÀdMª%@úÚý„3±½©j”çYЉEéÞPï%…•-xíìF& ²9~)(•ù æ”ê¶B}Å«xfxÓìÚˆ¤îæËû¬´=Ë\feœŠw7¿v€Ï²“¼¼È:¸Œ¯¾£ßÝ 0ÚU„S¡¢¹LYÕE!Xa2¯M¸…ø Y³*rIÁœ‰oµÖÃ8õÙ©X dnpTFJ Õ{°í…0í•nxÞBéÍ¢š~L§\ýz°L‰œnl¢sTiÓ°Bãåê^¬l[ZùÏã®áHøàtÖ2¥wÄèxÄ€=)@IÖµ[0±ÚÉ}¶ºÄe_üššüvÏ…Yç<;_øa ™¥–‘úÖB‚É• –¿9 ùÖëõé}²š³’0¨óHZáTU'Ol ýãzòeÓ¥=N\äWlŸç¹1˜QP«6h"‹*»æÅN¢ÔJ.¥ì%Üÿã@Õ(~qìÆaaÔ[åU‡óèWù"óŠ5Îß5G—?sÖ°ú*…J?xêÏY½±øêî‹Ã1­Ÿ!õBtrO’¦G³K™!K 'Íòл´c°€ò¥‹­Þíéƒçm?’}`B É3ˆ“a(Æ8»ß_åG3P ¡ ¡);¥øW¨q¤1Ð ÒV"=e<–]‘.¦üëö°¯ô¡þ â*j ˜í-m³äÔüY¬Ê„*¤»‰¤Ì¯¦ô÷÷ÅqÀZ³Ýª$ÒOŸ´1í“1ªÐ [ZNÆs•y?j€µ Æï•oœÑwªA ßV¬ŒÐó.%NEÃ>Òf$o[°åÃ]H`3xN.nónÒ]v¾ŒrCÜà qÖ„vs æG~%Ó3ÈH38“µãÜœ‹Pô·ûˉPšmÕXnŠU(L<í ½Áš¡˜¾Ëm»upÊOÑ a>`¬N±Bùë< m‡ôŽéµ¬ DÉkC+´Ñ7JœœÀDµÂ ¼P0A1­¬ñ tóÖΆ§¦¾ŽK‰‘$³¶J ºg)n±ïÐow ™s*±¬ÓƒoyJ@tž Co‰r’yR°J jûGlÃD¸\RÝ2 ­‹V˜¿…HRrŸ Ü š~y…0Œ“Ûk _djñÄç©YÑ’ù½—±Œ~×M‰Žuk siz7ÄŽ ãDáR¿(ìX®‘:òQ §H2²+ð~‡ã¯‹mR¡p¡‚ µøÓ„ë¶®ÚP@Pó¦X!…jåä¿`¯Â¯½¨¬Và±EM“8Ð+‡þô4,XÆ%&# `™z.>ž‡r†PˆãþËdo¸eXÚæ©Î;O1VóÐâ*n\m°!ÐüÆ‹­VaÑ©÷¨¢3“£ƒÌþΟAL ÉÃ_ߎv “‰T®¿+æŽ_6‚*4òŸÒÖ#ðÇp6жq&Á4€ÒõÅ Ö·˜Å`wüãg +®v",‚×5#ñÚ1ªd@às<0Þî1 „54?¸ Êó¹s=?cívJ6X ÝŽ&]¿„y~£cOl$—_6kDc£ÕO­ø¼¥7Q‡høA1‘i¢€V\ßÿ-bF|áu]’çžq°ÒS„!z7ëb>\…hF ìæÝ‚êoÀßH·Ö9À8.ÌF¯:F‚[—ˆñ—ÆMî‚Lq\Ÿ?~U_\õêØ–¯yÎ:«A’¼*Âñ=tõÐnLŸˆúÐ)ßòv?ÄN_ÆAy³w \ö­¼èÍ)œ¤Ãzö1­i¿ãCÈ…Ý“üwtr-ãŽ.Uj'•ŽëH¨,R~ý] u^·B[•Ñt§ Ôu 4Ñ0¥5îç,†Sþ÷i³Ùä”®Ócæ‹3-"¾ ~Íà¹øƒ£¸`öSV¡¤ Š€7;;–dÅ« ôÙ –Ó*®A,-@cŠ7¦]’WvŸg[X³­Þ)ÛqH*éø¡•É[ ä„ÎRÍ ×2ø×€ä Òâ¢ßuÊñâ6oçn¾ l7Œbkï#ÁŸU€®Ùtóöþ«Öå 9˜‘?,dç–WLÄÜ;+•¬þp½ê`™!ñÙjãñÉRl–¾3•pÐë+J-mÁqæýúŸ®2ºÜ µ A»1¦Cí±6—‚>.'®ÞPm©}ÐQgÙ©ªŠŸ~Ä:X8‰!ñ7Ë/-f@{¡`Tßé#ÑRÛÃÀS­;7öí0·¡D/Í{[·îv¯<‡¾*Š$þ0¹…zÏL\-Ä‚Ï4¸”Ї~ü¨œ÷çòÝϹA4ýÚÝ-)yÚæÜJº¿‚àrFrÇ_œM´¨ïž’¹Õœ,rؼçW·7èÆöÐB‘Î1BªÈ r1ÃŰÀ¼ »\‚´ Ôèã/r£©®} ·¥]Œt7sÄ á"B¹øê«L£%ëêârA& pbï·P‚—©Ë™ÌX©ÖuA6¨ÆQUŠuÃx·Ý e¥¨Ó¹`vd %aòF½µÉkZVþúxïÇ'±Àcë¶y!9Ì·v{¶q¹(ñ`µEb–»e| B15’ñÎàm}˜ ‘f·­7UzÆÿnXÛá‹ü”部¬X}|ï÷cXm‘⯤†ÚÔxÙÿ720hË]’¾K¿å]&oHU#S ì¸÷œqóÉü5Œyý5- y%a͇ÀïFrxzá)j=_IÝφt#¼Ðá»d6’þ! )ô°«9ÞÆäÊÊšFµ4»õÝÄJt³”æ…ðÚ*r@q s‡½× Ôl<·¾Ï©ñ ›¢½§fÁë ®4k ñ2y‡ÌÌÙ¸+S>– ;Ä¥&HåÒÌøÅjFÞ2PNò#™¦Í;0'2:W+Ðb.(üo^ì¦g¼ªîÕuû“¸y™¡k¨÷ZðF™tÞyÁ|9Óþßš*8ï#ÉD0ߤ¯™ø¤þ³i•¤ÃÐ3w=»ÇwðE<£Âó{¬œ[•õ+Q–»Ü,³õ×öÀÇó(S2o.;n.Ë^#àlnŠÒ`  ×å¤{ÁZ`­È ó½K?ã(ÕYvIs;jÖhB*£û ëü² 6ˆŠ#åàmZXM)‘ÿ@‡Ç¼ñ‰VÌwÛ¢ýèDSžmnƸºÚ+tqzƒ7ÿ3‡i5å—|9†¼ô˜€©H=¬9ÇÔÃg¶ƒ%ãS%à¬Y/oF’<þŸÌ5¹½Œñѵ–Ë0ˆHD'¥ü&QO˜ùQh3lƒÆ3á3hdùŽš'íòJð,qÀÛÆ®†ÏÇr‹Ç:…T¥ú÷`L^«à·ò„¢ÊÄgRÝõÙ™Ä9|ߦEù`)‚3˜¯«¢}\ ïJàÐ?†P3ZF¦Qcb:­ë@”>~ѯ–Xh` ›ø[.ý²Ä¶ UÈ$Oæ5@”[ŠÆ0ý‹·ŒT\ï…‚_:ª{$D“æ³6x_óÂbŒNÔ¸ŸRoß~IhÉ åž[™ä$jŒdïö<ÚÇ >›æÞù¾¨/C¯ºËo:ÄåöjÖéFqfý:2ÇË28 ÿ5Ýv Ð#dÞ14;ß1wþwzG9œB_å)Ìrãð_¬û{›N<|õ?üQ+e’§…”íû".ë ”—­5Vɲ ÛÌÆ¡_@ñÞÊ&"uÛn•‡±FƒöŠÌÇ/þýϵpdýJú z๪’ 3ã‚=3?i•ËÂWÌ"ž@G½êŽ]°¡]üvk½®v-ë£üi|rêá=›" ¯(_-P”èë_³ÐM&¸$oÌÍ%™#ûÛçÂrÛ]}W‹]ήÔ˜‰Ù4©yÌ^½Á\D¯;Ù¢¨ÜVˆÙcq@‚ê—N–‘hP‰ã‹VSååÚ #ƒºKj¥9”öå øfckÚk«¶$F铊yéW½Fnb®™+òXi UÆÿ¸–õéŸÂÅ\f·zÚ?;çÿ~p@–õñ­£pQ&"1Ç,JYé/”°é¥äžöw"z…çÕë‡Z7ÑÎq%Ä2Ôö˜¶\ SKÖÀÒûò¦PæìJ7OKiºU ;=av·Üû–;X#9?Ü'WÒñ- ‘A»c=ŽB®ˆ9¿Ú;âã6x)|¦vÝ HÜ ZÊ!ºË1B¬µvóÂoØÙÝLnÚ4è¸4ÿw E:ë5_Ý't#1µÝàLb鞺k$ŸyNP­.•··ÎÍã?yÄz w“‡ 1dÛssëÜ £«e Â[$è!1%éšË’g¡þm|󼨚“W/ª†„' úCø›DßV ž\ý,ºpðAÉ*ú.6(+õ7_ ªx~ÂÇW¸ôφñ]ð¤d8S¸mo%JQ O`ÇWa»8Ww¦ Q&Éi"{1_Êèѹ3bS ¦‡yRçUÔ;öþ“¸ãb÷·É‡¥“gŽ?Š¡0Å%¥ä˸íüe™KˆÛë0…_ ÚOdåmi’¿X‘ßá ‰ö£èˆ5K¼˜¬x.4máV×t.OokË+èö€$´›žäòµèNÏeó(x‘0u{©kZBQUWÐn­N÷ 8Kª·¼ÓÌÆàc¬N:Êìv”M’+ÎÜÞœ0Üóµ•V3"Èæ£Þæk ºFðím†”7ʾ›DÇ@;qô‹öÔì.¾&ëu)¾Ô)vuIT¥€ï*Jê¹/40˵ÂÙ%zCPr,†D-ˆám«Õ=”<•÷·_SlxѼ^XU_×b¥j‰F¢Çíç_Ö¨ë‰5µ»`w) 1p¬-š õç¾×ªÈ >Q0Àb åíqØ|ϥȮF·æ7Û-Hì`=³”)‹ˆ-¢žÜfj çYÈø13ÿ*yOÑ®ý.©J24!Ïz€UþŒ¿œ{[AÀ¥S%±×å0'-»ï¸’°Þaþ(4¦0µŒ&wð1„©w‘ù­ÈT ãÞ¥3åÐ3R ¢ÀiIㆿ¨¥c©Æá)eé3pv§•†©ËÑÈE|ÝìÌdZûèÛÕ´råõ²ä”HÅ¿”Ç ¸nœA’ö(€lóóûÝeÙÑJ"ú ÒEiö@eš ô¼n¢š†í®9¬žÞ†Gˆ7—Ë¢-Y”SbZ2f¯“£ûÀ•o*ôƒ£(/DÉËr˰Fz+æ.3 ¿u©ÅûÁ‚ËòõÐ %; kVï‘á-Ï—­2=û…ƒÝznÙƒâsí…6±„# O—#,ë412Ãç!i¨¢¦p‡4Ì :ñµÄebc-'§‚/Ê߷ͳ!A[™LÒ’Z}@íÄü Á¢¾÷¹™Gã¡fäcI…£‰*Ï2»O ÝnhâTD}á[_DÌSÎIÃê‹K¸å'Fs ‚Zâiµ¶Lí$2-·XÌ©]³odRâ Ék¸F:1ÉW_ÒI>¼ˆGÀ‹Ë¢è â¿ß7Žáœrjí‹kŸy­1¨àSÕD`‚cš,H(0AÁ‹*ˆ¢&ÉR·pIy?á¤×Ó]T%JI­ç¥ˆvƒq $$ª÷Úk§‹Myºãƒâ\¼´Z(À€?x~—½J’€!7/5DÉBÑ\0Ƀߋ¡¡ß0D‰×0nbN÷„¸¢‘=VtF„(*›eýç­^‡–<™B7 PAQf§ŒAôdÉ÷;Ž×_²K*ú[ßuT±Ô+M`ÓÜKû‰ßkÕCÖ¼»µjMˆ¿Ò¯ÌPvâsi©¿V\6¹uÂ)Wº?žM8‡ñVÚýBŽ á±Â/ðI5ô™£™6Þ˜RR¦+“?ÝO)Îë ‚dqä$òŠ„¦UDx?S×çð^Õß)­ (þ¼–2–ssŸ`ù\Rzz1£<#ÓáUää\²ŒUwÖ*&ÉöŒ²ßk<[†ÎÕj|£½<&ó\炼~¬€/®öÒ0hâ~ƒs± °±Î„*Ñ'ôì%;Íø~&Æ„ä*²ÄÛ^6)‚(ÍÜØaÈåh©z“’zZûàêgöÍu;«ßEµõôeû •’Ö<EÝM=Ó@ûùøN§[|–­”—[]QvõE²VÀ•Q<×Ì 6™ë~ì½a|=CÅ}!˜TŒg+4Zi¨fóY¨VíO¹ØqcLçê¥nc³‚‹p·&IºÙÇÒ«ñÀÞ †ôyí4ÔüÉaõ^÷Å©ÂÆ÷¸Œiì^=j™w9Š7{Tíßßc¢–·ŽÅ‡‰Ðóbo¹¹Ÿ„ì‚lr¿}ázÇÙ©,Pûç¶æü_ÖF”y×>1ÝPàà'ðJеb •{ÿ…Uí¡tÛA/$|F5‡Ç0æíK"íKr½5€?Áé ¤¨ùñùZeŸ,)—6ÎàÓº:3,òE{Áѯ¹&_M2º,@_T›Äù¶ ´ê'™^¾ŽPê"­;nŒ|ý~Ó,Ÿ-9{Þ$tb†€¶´èà~t€/"Æý÷C‡8Š ÜiÖô #€c¥À?-èø¿›3 ¢^ÁæºÉ•ËVÉ!ëÎ[9³Ä£šÛ¬ÄZ—©’9„‘RãEàsPbtQf>íÐøŽ÷´ÅJ‡RB†²ìùÛ"¶ÜÔz8lßÞ æ9IãxúóxõM¯@‡ëéïfç-¦þ»æ¤ß‘†ú¿£õM…ƒÆ®;‡næuÜàE£3ͦÍ,þ{u¥Tä]ë#-›m™D$ƒ^#÷Âq Šç‚œþ‡ò?Óh 4ï])dzÈ-R…ãí° N,f û„¬…Ë·!†’<4}W¸ÐMLXAܒгñ&Å:7±¡²ò!×+ F·åéJ˜g%]úÏ-„Ü6³n:­Îsƒó"Ÿ:9QÜŒŸ^èZT÷drûQ•OòXy ü4‘J¤ô“ÖPј`ZæDاׄ‰ÈCsЉm.èµã:2¨ý€üp)³›4Ř/HJá_•»ÏuˆøJ©Þ®.9;;ÖÁ„°9Tö6‡‰¸Q”oPìºíþþð&y¹xŒ½;x¬âÖç bÄþkíêÑ#ðÙÁïXÅ?Õ¼NÄ&ú8"½3Kü€RKÛðLKÌ‘­bo[|o"ª û¼è'*Ÿ-Šþ!ñOík ¢j` ʼd´áþÛrE‘Ïs$¼µJá Ã~—?¬5ÖŸØÃs²â/@«_í¶¢4¨ßßÎqEr!¼òðÆWŽ{»ÛHµ ćk¾ä\ºn3ÂHùøŽä¤­“BåeqLq;†›Ÿ¿Aqà€¯EÔ«EÑ ]msn¡ÜÍà#»Y¸V)¯ÇNÊQvF6"SŠ g’«6W¹ô€[Z ìeðQÄç=½ÝìU*ý\39AO±é"Ñö„îÖ¶ßë\\Çí®þ…«€¾_Øt)è(ü1)e¹¢‚ã%½]Ålèä§•Cþ5¾Ã¦?n_KS=KvMœ ViA*=#s³³LÐL!‡:( úþ¢Õ¨G%AÝÑnwƤ–BcwQÓÒŽW!è¦o®ÝŒ¡³£\Ä@ÿ1ü­^ȦV½žÒ·5#sœ ˜7SÙQëá1ˆòè6éO­oâuë賬 þiÈþò ȤŽ0dDëÀØqNs’䯄DFÜ™àÓª«¹»-lSÃÃYÊ¡~´âÕpÒ¯ž\¶ÊþcÍï%(p mxWçɱ£!‰L’õÞÈÅ…$ÇU¥öÅ-.íuÊœ'q„€HÃÜ·Â\mºµšÎ‚AˆT|Ž‹]ß|ò4¨¨ ŽDÝf–c–u½X|kPÏþn‘Ñôò-•½Ô†û`õÀ Ë=Š +Uà`Üsø'%Ã0‹„×ÖÆ|¿F>¿?JáòX1Üדš\íÈ%(¬ðníz ëå#àj ¤£Zò 8Ou?“¤°¯.ï&]n€Éh³”Ìɶ%F— ¨¾‡‹K8]ikýØ/£·[4‰àRëh0->ÁWŠ1¯eV&ØI%ö=ßÙs̃ÄQˇ°Õ4ÚC®–ƒ«hÑñÒ­>J`ÞkôªÆ‚€K.MdÏs†2ËEï9­QùG‡Z 2}Z´çŸ9—ëÆYîà CŸÂh1Ÿ°–t8xu5cì[e¾•¸óefyM“—}ƒ§ÍBí¿KO3þQ*ÛmC 9jß#ç0{içþ¹ÏžË›†µ–ê<—\¹V]7ÖÁR¿3W£¦ÁÔå¯3‘Ñú³* ±/9·<ø’KŸh’dumÕ=íˆC‹Ãùøï@5/¬%xýqYý "Åä,Zæ3è[Hš+ül¾.N$;†«‚^üˆ†¥.KÍJ© ÷ÎâÎÔ6¹›$W)M Vç톊/DÙöµv.eÃc›2’/ò†>=,-£Ö›© ­€Ñ 0ü¢¢K¶#)¡¥®·6Ý4hJšs?%&Hâ-¬þÑyú—6ˆVÓó Öm{1n±¡{rbm%O+¨Cnñ®ó3œ‡9‹—¾ëëTãà‘¨—Âlœo]ŸÈx{|¢sUí(Ýõ·-aA!ý $0‘Ö™ZëÖ‹-=㋼žÉЊaŽŠ?b‡/rªÖÀÖ’õÕCp÷•…òt°Ï Æiëkâ"N·jo¤¯{˜Ò”ëz¨N¬ýG‰eî)Ž >A¨÷q:*®hÆ´t_}”˜udJþÖíîU+ø AÊߨ@vo7,¾˜—å51j‚îÒ X}›2¾€?Àz·æ% ?²²âø²Žœ:^…Üَ™SWî¶V9¾âuz#ŸÄÀ×+ <ÞÌ.x½83Üj·|Ö”¬)VŽ-N’àñ"h,ÖtÔöâƒóØ0«"îÌÎ Ë94ý)û©åK¦`ÉT)ï‡õŸT¹ë6ø1+Å$ݵK¸ØñϤ²2õ5­ÂåÇçmãÿFÌlŒqì7QB&X™_É9Σdç†)àéS-PK¿JaõZ÷ž³Á½0’öÃ$®ªukWAd› b3gOk5a ÔyÝIÇs…ë´hÈç®ðééѵ­.wo§Á·ØêÏÊ¥—U—ø;Uÿ‡Óø®'WX5µ${øGî+p9>JðsLIÃ6ÖBY´ÛU@8!r;CÜè\¸#)¹š´,cŠ ÌÑ£ÄêP]®&´º R;ÓÛ»$€ry?Ú¸ùÎ5t\gÞ<èÐþ}ßÜb&¬ºÑ ÀQ¥¦hÖÆ1Œ¦é+´×Wº)±MXžò8@Eþ² Lç(|óŠÙ‡™U87ÏÔB"P\ã^(UJâcU.õ'Ô"w¹ÝaÕÜÚZ‘×o1™|]gEEZI÷^¾©‘ÉiÙ$°|Úpx$ˆ,j”DZ˜ðÂâÕrWt„ÃP£©ýBòÓMøÉ å¡…XVA>˜åœóú¾â¾×52ÿprÉŸ›ÉÚò÷u—OíI”æ5Z@íºæ;éÑÈ„:iÓÓf¶‚—nöù#ÌåGõÿ¡äMº65 aè§~ìaë #+û$Ã*afÕ,êtTô¨+g[3þ¹Õ´„ç§èþd|B‘Éuüõ ËP߇h½%D >á–¹Äf3!¬L½ƒ­/YK_bMQ¥g‰Ñ8,W°2R gi¥É,yè7ò©°á0Á­ºŸÉ+·ì•.sºí€ë>1–Å~N¼o·N.¶º©éàM#üì 4÷l5ê¬1äË3|XC0’krMmjº c·!NÃGGrp¡¢V¾NQùº¢ò9DOs c>_æqy4KÌ<ãÆCe ÁL’ÎÝnWâ]m´SrI­ª"ç[Ë´õ§&OyТigçÅœyUÅHOÍšóB’ÿSÀ 0…`8uAp U‚iÒ>†§¨",±[°Þ!%»Ý!ÈM öfYä¦v›ÃËjAr.ªôÈÛ0øšöa1ßN¢Ì­Rð7â#æ¶ ;ëÏ×Ãå6!DûäÌôþvÒËVÉœ†in,”±uœ ¿y¿zÇ|DJrígœyÐ8v¶TŠ5 ~¨v Ÿ¡PÃ)®Í å¿ø5&—¦ÿ”AÈ’râ^Aì ãÓ$â‡~g¢æù÷QçÖ­º×¹Êg%Ë]æB—,DL¾« Š)¾vþä6¼ƒpÇA58Řå`Õ/ˆEd÷¨»f™ªF bÕÁ‰œ÷ƒT}Iq0•Œír h譢«#ôŽë-ûJ—èYÖA_ÍOn˜³ñ*¹ÄH¬D_AQ­Ë&`Î_èÊË8ì…ÿ#~ [§K)ºMAû ßçÝÎÆ‘ì8ì¦ÆdÛ×b"Ìm$©)áé%œøÓ¡(¦d˜L=Hƒ.ä” ‹æÄöW#O{IÀ¸tœPPÇ».k™Aã!Pn*Áôõ•Ô‘쨪õˆ+OÀ.¡? ²€íŽÔ9W}ïuáã} Þ£PŸÉ¡sžšA9gáFÜà§™`@;Ò–5E8ª/>Ø[>§¯Ü§‚†Ϧ J³ßòØ“&ÈÐz·öèÚ×®VƒýÛã”§ AJæåŸy‘s]Ý·¢ ò™ßK¼Êa|׈Ù­Ë~0aQKªJþ^í ÁŒ°¡5Áaå½5fŽ6 S‘³€ƒŽ¶Ì¥`'‹U8ä¶ Éb‰ Љ¿¶¦_ˆW”£±œ çÿ›^ýý#+K‚HƒxhLtyoaÅâ™O¶—õfÃ:®`2ž6…3S'Š?Ð[ïÒÊ1uK¦¼ ´G`”è¸Ò—rΊuá±É„ÃîX«/sgdϘ?<¬Þ‘Yë\Ý0Õþ/ºŸ¶îE·xêT)ÞÁÜÞÒh fáTt3[Èko:1z§òdgnœÖòX&•*Vžf™£ÊµÙ#p²áº5½U#l^ëá„Ó†ù78¾x™ Bùa‡gK{SC÷2:¥K©€Š“—To“8^] ÈÔAlç2ç¥Ûå’k2#ý}qƒ‘¸i¼ÌÑð§šD˜¡ òý¸;ý› î»* [£¾×ß„ÁccÊ…w©Œ¬l{·mÖäÞ‡Â3ÒY¾æ3ê2³ìõt$VA#nÅýtbgu2Ø öµà³»ÆD]Áý45rߦ@ÿ¤µ ;ź¶|‹]ÛŸ >ôE<èQ!c^#TjOzùmØH =qbsTX2}Û+÷×3Ý*S#ðK‡Õ{›f†‰Lm”ñ‹‚úëë]•r§Ñ‚šÖ;å3¯_7cÔó0³|€ß×ÑÀ×f—Joç¸ íB—ºÕÙ·µL¼¡°îûñÓûm$æt«þ<-5RDR3ó`S±}«VmŠÀðU-DÌsËô½o "Û.Ê× ‚q®–™]Îuz">ýPÄIŸ3”¨"zÞ.ïRµ3ïð?¦íÉKÁ7,qÐ{óR–*So\Z‘f |¦q‰Ô·Zñ(FÆ•>ˆxŠÃ¾B×8)G¬ï¥tzU'TYÃϧE›”Ôü:±z·°° iáþ4柕’Lbß?x¯Êt:nU_Ê€á„Æ–´{Þ@ìLIhDÀeÊoç•"E º‡(.÷~äó|sõßLdRZ@‡´œ)®ÌD:LZ¨M7ºK½­<жñxd8‚ìn»÷‰tE‘ž´}{ áž»]Cå.ÃE+À€Ó Êñ³×‚(U«ŸøO«m»Žœ \­Lyëb¯Ê({xÉ–ºGÑü|YƧwJ<ÒÂË3^fG†µÏ©Î²éÿg>ÄØ×Ÿ:úÒ“Ý}לZæaóaX9Ý8ˆWÐÛgž°cáIýX7ø<‚æŸ×jøý´ ¬JˆFÊlå„åöLœÂ3›¸q¼¶“Å™æ_ûH1ÍôM›ó£™¤˜Äî_Œ³\sÎwQrCŸÇè|Þms(uG†:½ÄYvðƒ†žJºÕðw`´M!$îiPõ&dCÍ Þ3ÿùqµ¶¦a.q¿¯œ¾ˆÏ‡&¨!’7sŽ7öz¾ÛÎZ÷*{Š"Ë®©Ò"3\¡ ‰O—¥·ù_Œ*MžN(à½FX12Y5•ø(aÁzÌ´7°?G²9´…”a8ˆÄ $—+»f¹½Ø}!’ÍæDŒO†7âóÓÊÓ@µRö»«Xnåµð¨ÓySë‘‚9Ðõ©s‡íä““GݙЯŸ A²¿±j”Ìù‡Ó9%ç:;êùÊñšQÈZxi ôä´U9ŒáþR»~âØb­âGX½(‹—=æØÓ‹{?ÉçŽi+âCxÁ€‹~jBíN¿WVåÄôœ[R#W ×mRQÍCÀâ«UêïÜýèS3UÓÈ^éfëÕØC>¾]¦AAÄÃ!qö ¤sÚªëI²o:ë©„¦!šS¢t>?Èÿ9Hú0«uQ°P¼ý¥Œ7Z[Ú(]†[ =UPMo'$y¼ÜU‚3ñ'ÆF_ße›HnH«_`þz9aô_í¬¼:¶ìñêq™:8‹. ­WØŸíAD>ƒu£+oi~Ï—P<«ØΘ±o '?Do'´” Âà-¹­ð¼bMòÿ2)ù(ýáuCüÁòÝRø¯2PÏõ­@ØØI¯%I¶!ž,gÕh›^—}¿VCr 4–.Ä!ŒAoÿ˜üášie”ÍåzùoÕ\…·êþãè]‘ SÎì݆Júvh%Ϧ%`ËWe¯uÄæ°¬h™Ä¸u’#{ìe1 á?ügƤ~ø:Ôüü]Y;Ñ{½ñÅRïüJÊ„2vñj ²ÿi‘ß-AÀR؆ªK¨_eóPýk«­H^y.Ú ®LL½øÞŠžkGy}® v=~swÅpÐ+¢C§˜k<ÑkâtØïz¼vÒðaPqåµß1: LTMØÅ";¯c„bÏm«±q|²Èa@m <¹3¹ÊS9M ×ß!`eÖ§•Cç €é°gž’d±`!¯:¢&¼ôì-šC?ïcñXí',poíñ#÷÷±ê˜›¬bŒvC6®¥ß4y‰¯íáÑY.Á*Ó‰´ ‡-Ö‰¡ µÁ«À°³ÎÄ)ø„SølËë…­ãÜØ${È%Sóå–ñé&ü—·a€>ÔýàO«Î‚A†¬¥§óÇË4 €©|Vk?‹$ÔØßJþt·êç%@ù™½ØÖP£(ýÊ -æè=b@>¬’Õ؉UIô¸–Õ¨Meà^:çx%Á?˜|qN½sšm[ÜkÝæÿ ؆E4ðJȱ{ä7~›Ã ËP JŽ9f$;œ©ãS¬Î$->Š0~¾f×óÞÛòÈÙ3gÊ¥ý¤±~pùpP¸X»~U襈ªžl=VÅØ–õÏ%šÙRyP¨ØURôÛãí=–éXн¡îã@W¨;.óƒaóá0q~ø¢(`Ûß‹Ñ=Û@]¢â©,v|7r«IIœ¢ ywÒÖ”í:€`§ßr»§ÂTHe¢@¦.#DͲi¥È¹"™{ »–²Tý[¯4‡¨o†õÅk,½s&ù=®Û7«D n >ò[ ƒÉk¤‰ðl[:@uÎîÆ›=Wÿ^.bà yÙ€“ÇÙL·ü•G¶_”¦‹nàʃk %òL}*Ä%a=qꤾéŒ7i€%äø™÷3©sœ±DÊ ÙÙøPµ+Pÿ¨”Ž8ÞNÐ:ךê4Ô<g#~D?5´\I_<ÚÔÀ¦‚ƪH‹µ¯‡¡ñ,ô>èm©«ž"rÍ&t#8fxÆ"m|t4ömÿðꇷ!ò±eYlÔšëOhŠ#ÚJÕ™hž…îÏÄ ÈíºÇIë–“§5çö'æru.Öσûíež)òñ²íòPœ¥‡|zãì :á ÖÌ}‘K¦¾†;s6tî3ÝY eŠ8¿±\õs§È ¦1âóÞ"tCºh!M[Š víN4 þUû²®*Î4:Üú†…¦’P íK>a¤`‡Ê³;ÉAøN%¸)i¿µí±{*®Ó9szˆtãåç<§ª»dÕ9m#‰ZT¯5_:Ñç›Á¨ýÙ_F|ã%,å7î0Õ C@ÑU-³t ) áåqo'alXåU‡GôóíÇ7íïû¤Ý:KZ«o쮵vÄ£ƒ¡V8íæ-«Þ¿6©Ä4ZC:Ë&s]X]ýßôÀbÓ*"Þ½Žî¢`ÚˆV<.q¿$]«5¢«tCìê[gNôα>+D MCúq¦uÑ9%·U¶Ž,ÏC¸ZËÍã–þoÊR¼u$ê.<7i,=à… îjÀJÈç (¾ (ЋŽD –fðüYÌA´Ýž@‡'ê:ÏôD}ºf1T/Yí“´'~Òú 1Fã9k— ”^‚@”¤fÛ’Ðù¢ªVO@¢!"8S›s8º­ÌDZäÜÊq­“ÈÊýŒŒ2Ÿ6T$(™~?…P?üVÈvš¢\ªr¨kñMž~G¢¬k'<ׯ¹±ºÈMhòc_3½²S^_8ðEŒ E>Æ^X0ƒãçåþðÈ“<;øY \*x0ò¯Î®J•ÚóyhGo¹.è1µí,L߃ëL ˆ_aƒAtÖÅ@Ûk zôe¢BëóÊ¥l•Ã^j…¢ÁÊâîm®›£³b…¾ÃY†J|š6.0å¨Gsã¡éxјÝõp†Äô‚[™£L6H(g9,C.þís¹Št rµt[>¤/‹ÝŒBž>AßÍŠVs¥Z"%ßÁüo*«·Uûk[7*‰–WÀÇ<¢2;Üõzá“ýr7äs/‰´üSBЭ¡`4qÜôjAû&&›–€¬ªûq v[¿LÔà¡÷زäP×Ý(EY©/MC×ýgX+ò®¸^#XÌFÅv[*îL¸SÀShgÖ¼ïz¼-ÙI@y—ãôÆõÃÍ]qxŠ©ÿE]ïçAöšè<(yacìG\¸°ßØy‰é•Rè{“K¶ë\b§f½ -íã§„xK_ÐÞ—Ñ_ºº~Èhç¸ûå§ÀTÁ½îç׸²ÛìÀë³Yg1-òÄ· ,‚VM=­|«H¿R-ðœ8 ”0†M}›ˆ™á¥þ _ã–…ëj‘eŒäT"aOy[j@ágŽ‘²Jw°G\tÜ}R c‰Gºã”ÖšOö£ÄlíT’üœh¹ôri¸AØD1fLø–QÍ›þâP.º¡ah¶zJœ<óV ÂáR• ávÁl%Hß–î÷£Cºx ÙÈ ãy¿Üî=óyg¡<4¢Í ?ÅY¡‘tæYÉjhw°ž"š±A ü§6gÏ<ÊZO j­îTUx…O2erCÑTþHg€¦”ü’MTŸiðrO›ÐƒSÍhô6üKè—!ÚxÁ3y.e‘˜«õ´ð¡¦†çê¡Ö+Ö‹•ÑŠm;väæ9`ÚCcûÅàì÷ì±è=éŽè êgGÉæAºM¥÷&GÝ4Ëø%¢d®ÌáäΪ/Ü\£Þà’íöÅ·z²w²ÄÒúù(–_ô`}§~Îíº ë•#åãÝùÁΞ¦ú92âWRìT†D]<·¶ƒ&ÙÞæýÞKÜXQ"G}û°êó3¶Y‹88 Lü‘Æ3¬nuxß6@æèû ñØ‹ôõ³ÂHô%ÆêÝu¹þÔå– cé W(‚Ñ‚ÍÛ· ŒEIbЯúܸpÓz´ëüðö¼Á •˜ÇÛ,cÆf„ülIdÒz; ØSOâ»ÖÂáѵI7Tô Cƒ `6bX–RqÝ£à;¤”pJ >¬×G0®ÖWfgìMb˜Š.‰ëÕ4FÏôÁè·Û2ì?ßLŒºâÖf?p€5>løø÷åêFÈTÄêéBYˉ¾µŒJ¦üÁMïôv$%<Îþr˜ÊïlŠ¢»ß@Kíª¸xEc­óøŽw§Ð‰©NA!Î`v&öÜ݈¨ÿÃ)Q&ë|‹ýÁéD¥'¡M ÚëþQµc2ýIVšñ‡¹üÝ_(õ8FÒFá÷-À`èŒ×ñ«Œ·o•G Ü:íïÂg‚y9‡£Ó¯øÀ§]l6©»®Œúù¼Nôñ²¶™°èVœ ÆáŒ=Óé_¹Ã~‰:ç )™ÇÉ?Ék ú /4th ¹±,ìÂúØüGd-Pìƒå½R'íöT %‘úNcP?X{¦ÄI"«=ÕŠî‚5$@*¨•p.déãbШÏÖ˜ç,®ý)"áÓ5Ù†…‹M0ï‹l¥Ò'Cήí’:±„5Å.¹% Þ[ˆI‡òÊ%Å,Ñ&²Ž«DÀä^ûô»ÔŽ"š±>{%“2޾‰¦ç¯â%÷,¾ºä~Ug‰÷®ŠÈo*CÀ›þÑW9éïã&ÌfnÉÓ„Én[“ºÜŸ%›¯–­v£3žŸM’Ó›õ3ú%ŸoÅŸ`ƒ³ÇhÌ@¢XÐò°_þ€s¶9 ŸÞ`f‡©ÈÖYÎjÓšÞÛ½ïr!´ œ{pÖgi‡‡0Á9¼M5‹ƒ¥>9ž€u\c`4 £0â©;C1g²ÿÿ·Mk’n¨LëG¥!üUcJ€!å¹Û\žÝ±³jmæ± <Äþ§d(©†Ã7òˆô$v(ÙŸRß ¨<7ZÞÍq3wSÝÿ• §)>n˜»Xî½d…¡ÀK¸ÍÂfŠxÂÓ¢C Ò舄M{÷³wCÝðk:Ýž©N ÀBæ˜ÍäXÕÚ(ž3n®Î“ƒ %eÿ|>Ìåˆ †6ÞÅ‚4ÒÆ_çt»×ø4yžÏNÅÖ¼3cÚ¬‰:ÉJQqüQB»H½F¬‰k>¡VKŽw3"rò€•a2ûÍ/jpŒîÚÌg }8áŸø7«êfHZ.˜ýìË…ÈIßêŸ ½t<Ø’¯ÓïÖù׎þïFhZ‚GÆTÝ+,“0‚ë–:i“2T€5”ÕòÃuïIÒ©鲯ų )Ú£¯öU‡W –Ž€å¶àÚ1„?›·#‹”žŽJ÷€%@N˜xAýÙ«¾ÁÞõ/ÿ?Ñ–aô6€äûÍMoHë¡H-*N~ÈEOžyô,B in àŽ¿×øŽ©–¤÷ý±%ÔýQúèñX÷š1&CŽ˜°H=ˆȰKjP$$bGç?@še¿8S•Ed•¦]d±°Ÿòý'A¹wâr…DM#ð¯8å4OÅûã¾üžjÐÒ7'9L>ivøb xÌ»ÿ–âø6gE’߀ùÔD´œåʰŸ¶Ž*Çìä=¿0Ü|8ê—B±øÙ üÃÇJ…§fñbÒJ4¦z}TÓ”Ê$•‚1õ=_¨¼¢¿ ØÈ_¼~ܽ?öè“&Ò¦»Òâ\n¸u–¶äðßBÙ䌡âl˜ÇéÎÕseàHO3¢ÑEƒèÄå@[@ÇÁÂŽ„pNÊÙ8Ñ =U{q!…ÊÁÚ Y=l Jª’¶-è5©RؤV8·EeG8²QÖ>ò ÚwÛ·]©‘]ž<ò¨ó¿¿æóYÈj*fPv¿êÛJ#ãâææ×ÚP{žcmâv0…hôŸ/ùΟ©nf͹:·hø¨ÿXÀÍì‹× šâXC3ض1ü5zXõpÝêØ[:/¯C˜j/§dÃN¯ô=„#e_8(rñ°ŒÑJµ+‹ÿÐ`Ðr^?½GÄÁxör­¡dý¹ Ô‚pA=¬6%¦Eº‚ü©\8î Ks¨‹Ÿœ$|o "d‚GðíÙ>oãE-[ÿ&÷g‰®,í-a^ïºÎP: P'G ‡iG‹ØiË,âê|býfaæŸ&¼ù†SËŠ=’«ßÛî*&x{ޤIÅÄÅ\ü=·Sa p±ÊÀ5Vê‚…‹ffÇ„i[Dœ æ±o6°˜O:ââ¹eP›Ór~PUP°×müá—]a‡±½·x®ˆ&Æçá6tÚÂC†2…˜ 2”ÞþÕÿ@™znšˆŠh‹a'qè’(¼^µ‘ßO†U»mkK¸³l­þ3Ønª0€ƒsmæÿ>ðÞûÐt7ð‚©®ý’Š<…ú>žß #z{cï“Ò‘ÇÏX%Ö¿B.Ázt%ñó¬,ï~6‘íè3æj( ㎰Ò#ÎÉÃ÷ëEܘLO»õe˜4­ñè!l÷ó×Û²=4ÊOø‚Ë–•a³x¤špÍ%Ì×Ú áoMÓSº­ƒJøòúÂhÍ(ªõ;Ò8TÞTN5¿¾{|²)BJp“Áî ´Ý+Y9 =ãm±ÛÅD~Š,²B4o˜î܉A¶~·;RY»rMեјUƒ«Ù»Ì²¨)zÜÉŠ‹ì èéKjt;ˆZP{þ_¿8jÍ!ÚÚêiõ7èí Á *4&Þ}Ÿ*³t®¹³Á5ÀÇg[q«!Dîc{26õΖÅ HnŠ,a…}T©41­ LüÀû£™{hü:µñ2rÁz9@í–ÜAt$P§ÿõÿ÷º¤»M#m#ÙvB)Å­cÖ&ðq:>]¾™Þ¥XˆÑêÉ$°ìtfSk—öjĨ}Þí›å`„#›ýLÙ% #¬D½U‘/¨D¡L©ñù7îSÏòš9D°ÙS³ªE‚šýoñŒË¿J7ö2™¥·_»ãslZ$Ž…4èàXùûø‰ìÃb;±¿üd?Ý"‹²íÖGs¥9èüLNún¡ëT ÎÕ’ë=5Ê™S׈´p hÎñw©\¦§?*É;ÕŸJÅV:ø%ò »+i‚WAÎ|áÓîÿ{¥ [)°ä„#QœšïãœÍŽ} ÙOØ•+= ¡Á—Ù \íê.`_4n»ŠñMgQÚªï"Èᑆå^ BÞKRø Ç3ÒJGõ%8,è¥+p#s/ƒ¥]ûÑ*û0ê©õ ºü‡@Eë>L ÕH„Ar0Ùs¶k—÷逮ȿ«·Á™5·içç*UÐÅ„ò·Û@ø>a3’ÒÔU°mžŠt]Í‘²°´Ç&Bk—8h ZY„Ÿ©éòÆÃ‚yYðþ†¨,ÕM;6öKă\c¤Q“ &8d-$Lr 6 œÙR•ßd'nÉU‰±Ä%L¯A® x†"-ªjžÄêN’ÔÉ`鮦¹qÕBÙä=œ™§¾Œ#d?¯o+m´Þé¯*2©Lú¥äJk`¢#íéssyH<ÅLËr~IÏ\ÙÞèãl9œÍ¶m~²äU¬eÎá¿ëΈ;åt7Ð2¸ÞÃb–CÑ^M Þî/JŒ´ç•óæK#cDÚy)Gi¶ê.¼8®ÅN*[Qè~€ … 6W”yS>@Ó¡Á Ћ]hö¬'Ÿo«üÏ>Ç-G‹Õõ´~!ósž>˜ó Î܃R÷e/m]QÒNWýÁÿÌv“F%ÊJV`µg×S CD´ªºÚÖ®mÈéIµHÅí† [°NYwÚ·j¹­{ KKžxêì:bÄE´‰îèDJݱEâ,\Z§öˆî^§•&s8ŒÎÁ;xFh• @ÞŸg×)c êD¿Ðˆ¯z2io‹Ê#9ž>ž™ÚxN—C)ÿ RÜëé$$z¼ žÅ~ß®õºT¸Ä>‡Ro Éš)ämˆk‚s›ã‘‚˜—eBìï@vî#)/–Ù¬I~Ç™¸Ìô%–³ÿCÄnÁ*‰=,UÀsî´Ÿ—Ž„•½)•”úçj)Ž%” ZÚv‘·k(BÛtÏK× Û<]±7'ü3~½¼yÒ‚ŽÖÜ bd¥+*ì?äïw÷„nã×?§ˆVºÄªŠ}¿›àb|ÅÚ’E/t>0òÛk„2Ÿ Öccc¶;”ߪ\cwŠôÜEb†xœ—ž(#yŠÜê¥V]²RpÐd=õ„«¾»ys ,8|¼j¹€>r³û]]BÞü6€8k߃nÙënÿ⪊#ÝM[Žp›t\ÏÏ2Œ=νŠb?¡IQäFM3ï­§JÚÇi<†ÖÒ$t1ß·aó>)¦6±+±pjìÞÍÃÐ.¸†UË 5MÞæÝu30Vg*Õ‘':›—dìB¬¡<·1|åŸ ÒRàÕIwµºƒùoÃ%MZ‚M÷=j”µe¬±õ;µãK7î`µˆ–Ö‘FeȱëW…à³òpŠŸM.}g×vÃgÀ&Lñ<ºÜ:ÖÝ70AéQÀ¸~»[}èÕ ¤ùs½@àø„lxª@h7¥¢éÒŠ¸¶”ìÉA2Œ¬…8†/mÆ,…/µ>*„yã‘G49òÜet$‚Ndðiç£<¥F£`ñ¾™¢ÏàG“æpø4¿Â‡…s{’Í‹§`B·F‰’(ªÿ’"¬Êšñûü¯#göA* ௙ " °"@ІA‹9ˆÐ1ÊÅãxĵÃò`LqufØccç?3ËèÞ\¢¼ã„_|UÝKÄ@£‘üJx£Û¹¨ïcþõù¸e5Òß0´çs¯J¹-Ì)÷Â¤Ž¥ñ@ðDŽ8.¤©J>êÔÞ¯Qê@ä.•`Ñ—C,wf<Ìæ7Bî­Õ)5²n,&"ŸtÖæ5üÝ`SÂ;cÑBùÛàж–²Û«Y|¬—ظ™ëíp0wÆ‘MšÆßíÏðäpe0!n/óÇDbfᲉ~gŠÓ­9r¤°×èÏÀBxd!‡QMÆ`‡Ú9¶öiÆ ÕÎ)Ò7ˆzK»t¬áÈûä_ÓÖ²À°}˜ÝC§™÷Rb‡ßƒÓ;™MÉ$*™iÌ*²1 ЪõGh;,¨ýìGvdµý–_Àìt&N—±`(^ Ùÿùä|™…¿±ôæb]Û—.>‡¶%\NóÔßáäÍÔ֤ʜH:Þp ½<N å§Ó o¬y\RL·în߬ …‹,ªãì¸ÅpöÛï7=\•O=sd¤·Ó½¥Îþ·p|²ÕÕŸù©v.k6ZgϹ0Ò@`g„}ùâ §¬$:R*Ð@eÁ¹vDƒYÕØ1ØâÄ}ñTX|¢ÿ–¬aªþìÔk§U’9ãÑ8½öñ-CQ´`Ôc2”õûD)ÿí:¯0§êvŽt*°v÷¢«©j:ro‚zÌZ´§Öаìe'îj{ySGOûZÐb-ÅH„LÑw ÍIÍøóî’ÁftZ :áÍuÍ,OÊ…»—#µÑPGˆ£³¬-ÒPBxìç12ØÐ¾5c­GÓZrç™ÐÛ¹ÏO úV8hïÍ—‹Jþ¸ì¡ j•º0*Gøí®f]Õ˜_×@l­á~­¼À>7ö[ȰQóo8;êödýO÷þ ç÷_Ìa¶ˆ½á±ô¬AzÌ,´L‘I®Çf|¬‹£äÃuÛ~K䧤îLê5E,Š®¶'¸uu«ðñˆ¤iúj;å"Qðö:µÉ÷¤4ú2¥nYfKõfr­á¨è¥Ú‹ØSEÞá¹§·D–|×O¬=‡“Ö‘.ø”½¨u&«ÌDÿ).¥æì?ÿ5,‰rãŒÕ*¡™ž—Õ7W•Vi¡%i®:4÷òðFtbƒç(âÓô“]X "­L1c¨‰ƒc( Xú:>c¶åÁ›ÊÄ•.L$PÞ~¬9F‚Ƚ¯<.é‹6;dœÇZ…Ý“Š'jòKÜqÙ¸è sõ¨ûÅø?Í@)Œ7^…l?t%¿@·ç ê§Õ\IJû"€ @¾ÞÚÎZD­<Ûf£¾Rå™öº_ü‰côÉqˆo9£äÿ9º Øaý ôñšãº‹EÞ-` tO`ÈÔyïkôl B¥ØöQ6œ¤^Lß7œ½ €3‘Œ?´rfq<ª’HÖëücNß8£÷óã u[4n–à,'[/J¹¸ODQP:Ôê^_pì®>BÈài‡·Úø¶M«#&™½}åoÌ¥¾’Áä&³´rŽÖlôµõC3‰çf|AP$óܾoM› ¦–ží5Éú’fí‹ ŠŠôX NgŒ¨Oè)¹ŠPpw%¦dyâa ¾Èd€e•âö5E ¹{&”©4A­?üús¦(eXе=[¾?m]ÐüñèðlÁK‰ÅãÕVý>=ôYÎá´h3•ƒ>Ü{Hr‚p¦‡™/ÑWðú5AV:eÝÚ[ÍÇË/£¨7µ…¬©IÇ‚[õ<û{@Ý;·Ä:ØÖzfB^Ô,»^¯¬ÆCj£†…{ʧFíHqŒ-¨Dׂ€Þ©Ó† ¦›È…´µáµ}åS‹œ-$GKà:×ÐØ¢’ xä€Úñ¶ï¯-§}§æ˜\ËKjþ3Ö¤QµÔˆ×ÒúУ@Qí"¬K.eëÇεîÈÔ~,ÙèJhH&Nz9vÌ‚íÍ4È! Zèåy•Ç-SH†ÚTÉ_Þô^»êN{ù/™þR;Œ‚lñhÄL„Ý®$)1íÉ_×ïyj@âFšƒ´ÞµÁôÉgžf½ÕKr¯ø»ÂÜaáÇÉ7ØG›¾ ]¤²0r@E¯ãP©É*­-gÕﺢ=¢%v%“W¼+QLƒQã©؈ $$’º-Þñ-ð޽f¨}| 9¼Ã±-Îçe¹Š¸Ôk 5õßKý®êa‹õ:È{UëÐ6Qx¿­óéâ+KÐÂÆ=FˆDÜsOÜ‘=«á@‚Z'ŸÌƒÕ²VöŶ…¢æMÊ ¶Äm#õxB+)•¾—âvå¾3F¤lî©©‡ʼÇõeÂŒ¯ ï×2lÅô©:7ìüötPÓ+¿Ã.Þ·²Ûޤµ;T’Q‹dKVôœ *‰ŽÌ’*WÃvÖ3}"=Y8¤ î)°¾1©0-SÌq’é[„ä¤vЯxò®ÊL^R®/êV«dÞÑOŠû Æk0ÍÉPÆêÚ5s×â9Ô¯ŠŸc”1² PÛ=ÿZèÑŸ,ü~ˆoú†4¯K.ir^ûzO›`¼½<µÝHôo?0ÒébªuµjÎv¼[{4ÔVîB,ÌÑ—DO˜ëš~ëŒ 6†ŸûFØa­Bß¿çQxxá¶³1k;1íJÚ=ÓTj~Ýjûl^é4zD´eQo÷l¢vޱ^;Z·3UøÝÖC{V¬yø©ÿ·²(X'èíÁ)­ÕðÔak¤z¡ ëòq Š«u²µŸ¸båIò]¢­0!ìQi‹.Ó°""­Ùî7a…‹—ò²HeFËëJ|ôòdÊõeWë¶ðQêê½yªJåqÈG½j¥"ž>µ2Ù¬äÿ,ûi#!ÀÜé“Ûd·æ¢÷‚ä ž4åľÐj“f2 mø•£ÅŠìcÀ|c{´æ°9³UÕ»f¸Øl§‰wFiš™Î—Wô´Ö¤¥Abè—–ÞÆÂa0ÿ:]x›È~®¢Ù»" ~ Z€£O LÙpî/’ݼ¹]T™¦Îb¨½%MöÁ…ñoÓ±Øì#‹só×xtðk6eÎ.;ë@_ňwçDÚ¬<¶Ýó Ä<»(  ø¸ˆ¼ýªó ”ßå ½pRqîJÂÓØ‚¡*‹Çº¹ýKk ­ySL$ã46ŠÉ'⥶»Tºó©œ!ôÛãB$“ø¢³¨b†ÙÖÞJ{âŠ2ý¯÷6‹NÐàÒxåÁ ¬Åõb’“!W&¥7ð±¸G“nÂ$`ÖÜyÝ9"L¶¼£¥(׈þÇ=V÷òS‘ƒ¶^•fÊ´v!±òV&’ ­íM ®Û{sï>\-³E¯¸úŠ8EtQfNFEõAÕåèÞB2篔” wçUp½ X±²–Ãn$<„·=ÕÅ(p˜ûy‹¸V˜Î;^aJ,½íqÒOs?ŠEÒ4Bð5ã³aªL³ˆ”öýENïäÀ/^-ÏùaÄrŸW‡FÓ:,ÂïIŠ^¿£u=ýûŸMõ·‘S˜CB±¦'t×É×€.ÏîFVú:bîé ¥,k1Dœ àD=¯rxÿ,k„`Ã\ý¬MÌŸ)6©•Ái¼hú°±]1Ïz„%ÏÔ7›»ŸjÝ Ñ¹ýýhî{vÙÜÕÊõ}úYš~øyTJÃáX3™;™.ϹÍ”"M!ãqàw}™mÄÁT”ó׬cñ …#GØÔÌä6xþ½ý=¼G‘³°ý/‘ÛrºÚBBöò[X»yh"·X7ýDÁ—39;ùVj­âÅ'8nÀÀ3]¹úò¢tÚ=õÃŒ3KìÌk¹Ã´í Ø›ML$(>†èZ—ÛvŒŸuǶwt*? þŠå¸A0wš¿•†ªÌìÓÀ¬)ÉvtÆœ»5ŠÍ­¡Uâ‡7å ;PÛ1§"«ô6¢"qÜÃÞçC^eZòíÁ3×s~T/Çrv»áìÿVšž+db·«v’ðœ—>Øð X‹V/N¹¯¢¡¨ˆb v.'Žîv?X 54@‚±#¦x¨Þ|x¼Ü6Š^g¶,LlàfX•!øLpÌÙf¦Ý O4o¬Šö½ö´7³7Ñùh%DI®z€‘H/³EZ´ =#K• xËw®xч'ÛW<”ã@,¬Êä(äç¢û¦ ÐB²Äôð·"“ï@ÔLQ•!Ó6ynª•Ý#RÛ›çj“i"–ÔM5û0{ŠŒ@Ðmâ¥ÈûHìø«Hývýjl9yío¤Ä¾È ÅÞÇýŠ­;ÕHrýkï]†Ó ñqTÖÈvÉcÿÚ£dÕ奠n{ÇaTvHòï-U,€²å >i`3¥F±9“9Ò„y·züŒw¦e.¬àͦsÖF?8»-£õ±s°¤6Ÿ@µ 7Êæ¹=·`£&ïÕƒ˜zÆÜ0èå·Ä¦]+œ*lƒ+G©˜¿¨g˜x 1ï1’±ó±» 9Þ¾Ý\¾RS‰<³ñ9*¨‚JøtY ñAQœãcF8”*/ ¬ß¬—á´ŠM³ú ê½¾}ÜüDÝÅ¡ýZ µ€œqès¤»¢–0g‰qu7‹½Ž‘?d±@lS<¡V;3Ÿ} °<´'‡bÿ78'éM?Û©5È•IC=ùp=õGMd¤ôá‘ø„b±0þ9¡ šð.þ¨N-Ǧ–6GØÝëôløíðz¨OaÐòDÄUTzñM"ó8Ö|r#jä T Ú^.?%Ö‘Jm\EÊP%'è¿öøQÓ³•Ó Åç.:1oˆF®<ì#!Óþ ú­±&_†jÆ!MØÛþ 7«zÝd‡ŸÑºeeŠà‚f”|Û²oK{¿ð6k©×F¦‹VN:G±PH´Eæ7‚…Ý^鼯kæL©\/-®6Jm|øl#v„EDÒж$ã€îîäÿøQÐ<ºGwç†ÍòyŒb §¿Mj úè(S1Îý?ŒOÓærû:IÇ߀AßóõG¤Ík€ÆØüDàú_6ÓFÄyÆ«˜‰yeÄW÷¹ËŒ(jîË•²n G ›ä ެÁøQmgGS‰žgC>v3P=¹Õ-ç¦×œ¾üáò7@®(ƒ24† ÈwÕDÿÚ¤[ÂìLT—J‚Œe7ž_êZ7Mfíë¼òþË4µk4Ïú ýÀ„êþ6e‰ôul›~E£Pu‡¢¾l¢gÈõ¬"Ë1w‡õÝ¥à)úVOÓã›súviŒééå&lMþ‹âZ­Þ%Q+_X€Hÿ¼¡Í &]!ÏP@ÿJÆE™p»[—´ªqÖXó›ÌîôI.eœ¶(q±¥À¿'6QÚ-ÙeÅ×±ìÖ`wŠ—É´&¡E³-q˜¤Ùœ$ p9-~¢‚Åí à…½7¾k† @•E[ç*”Üò 5+œÇ.»Iaúr]­Am¶A›ý,Ð-…6ÑVóå±á#Pxæ¶øg|gòSHk}SH<ĪøUçL$ñ™¶,¦á¯~žj / "ñ®¼‚±EÛ·U]Û>Á §ÈVAM²àÖÈžÌH» ®B ·Ž'/ âé¾tç ËÅíIh,%¯ÃC7x iÞ»¯©9 G"£Á—O¥Þ]ÐÐw'3üø_X ô›÷o%i·»B¦›ÙìóZPý]WhR…Ùx’úL¡œ¼4Fh&E"h;,nO”úsoØ;«+F+—ÕéÓ´ÛìãµõAhT¡ÂÛC|(P Êî=`ðÅBŠ]lç%•ÊÃ$ßuÃu÷Ç'Û `ìNГÿÜ?)Ø)ë€bò<´¶E\ÛøŸkG“(§?’Mêê…Aºˆ|DnÇÕôù™;ÌñÇ•j±¿MïðöàÔËè§^ÿbã:Ë0ú€ÆUàÕ.®þÚÅÀ”תYÉΣgløí7š^ÿ¿œkVTžß&ç×B ¨†Œ”Ì’ž›Š§ê-_ã&r¡‘÷Qª†×ûõËÆWåfÅ[}FKs—` b ù¢§ÿŒoct9+KŒ¾\[Â` ¶­—{:ý@àiâ°“~ñùã;ÛZv…+¢)³½{hE…r;xφ@UN‘Øûö-áàC}RcSo˜þ†ö mß¶ ÃÚ^±Á-càR|9ìÄÐ!Ym˜˜|(Ç38ç¹² àÕ^›w ž“ÜÙ#æ8`Aš©ðkŠzžlÔ{usã÷’0ÆP,êcÍ# ¼ œõ::”hã +çj"àÉiÁ3Gš[‰ÖÁNªƒÙfÚÚÃÇz€·Æ@HÖnkåÚ<<ù $“,*Ýñìw_©¹hõ Õø‚΀7@2±Ï×Õž|êz0ÒjŽ’*¾þrYSL£©ñSùy±¢ó'ÃÇlýd6ãF÷EÂ]P,‹ÕRà¨;ºqµÂÈ'ÔkÌ9ß—Ÿ2S–?ñüó¹thé², °÷ûvMôä…. sQ^Ò%+}rœ!oËäê_ i'³6ªöpt³ßö˜.bXm»\ÔÜmORDŒHdj¸èÔÄ#œäÍ8©Hj¦hø.†AÐ"õö÷Ïò( Ts’i¿,?„æôü?К~õ€*÷­³ýPjŒµñPM¾˜/¿Ê øà¬˜Ö˜œǪKÍHrXj¿qºNòI´× c|p¸÷ ™æ§ãm0¾I(RV£ŒËæO8ò®”ìÕÏ/ñ%ÝQÉ|µ¶˜ PT¦`+ú ¼hP¸ˆ!3š5¨SvÛ¶Ó:ºéLÛܸæºùA« Eù‚Ñ]ÄÙ¸ U¸ˆî&?ž"Ê'Ù°Vë ¥²KkP½tª®9}¸¸™Ý”þ¡5PÝØ€„‡ZHƬX6>œbx)Ë„çGŠF¥màópéBñÑWú6п†æ\îRüÔE¤óVcÔLëð/¶o¹­å¡=È4"ˆPíÑÜSË«¹Þ0NêÛI êŒéÞlv|È Èrô\Ææn0¼¹Ï@NIpœßéa—†1EôXÊÌE¦Þ<œ³U"‡þ°ÁÚ=ùc ’è¬Ú¤8» óO lUÖ⮹C[«Ð×LÕëUnµm¹²úå²4gl×ñØr%(Ù·3‚l¦z`7-Ú9Z‘³fqÓT¯:ŠêÏOàûÛn‰´š;þq¸ö¹Øæô`âfØ-gl¹)ð+ƒì•¸ËÈ øÔ8ÓZX-F3Rýרéô žS·!ôØ´nb»Ú“KãçœV:)s3èg‹-’Ëö7'_vCäšü)Âw\:ÞÈdöðëk¦A5Tü|P[˨Ü4†è5°JyþŸ-Ò‹ÝIÉó<ÜÆ'}‚¯ß-í/K|íˆlÿ!':­ËÇS´}cܾ#šÄÔ¯¤G’º¶ÏYJ­÷dålä/ ê‰÷r^ñ\ô¹“œlטçêC÷V퓾:¼ðàÒkø8«Â£eOÀíÀåà~ ºó<ç5ö¦O¿„}ç?Dœá6Ä•À% Kò䥄zäGøcù©Nõ 5¢²ê¨ä~Ï9Á”~²$'ÓïükJ|SÆ!½n`—³¬¸u9VŠôÝ+µÕ›¬É&)c…ÜzXD_åÅ+› Èá#æà#½ãô°l4Âá"ƦœóÉfŒœ˜'QÆ=noŸD”š§zq3–ïˆü$±ÀÇ{±]ü“«êK™ZyCÀR~b²È‚h/(h¦ yÒš.Û$ºÙ$WÃ_G”àC“É£9.Ù Ÿ[×u=Uâ‹ñ¥ÚbMDØáÜoÒÍÎ1ñ!êÄ 7÷ê/й\Aü"õ5ñËCN{²ßY—ÃØ¥»CøêR3´äiðÿÇ ò÷¿`(6¯(^îDEi5±-Í3åòCZ]Xÿêû-\\õÝ ^šÑaÄèj~ÐRh¤õ…:„K *1`yOvufJFüËT%Šƒd­‹%ao­eÔ,Ô&ÿãíåôÒl|ø=Ä÷d’¨ï SÂOM’µR÷“÷!ÞÐqÛÄOB¤‡úvjû¦%ŽÆÏJ-<°˜iRÇ …Üûtºeì •åµ‚†ÈÙ +h~ÏÉ 5)?ÿh$Òh%ã„Þó˲q“Ee·BðD›/0ÄÀûñq››ìU'»'œ5žK ˆ n7)ýi÷vT;H8üÝË„Sâ£Æx¨¹ÐÛÐñÿåˆKo:¿=!*üøÊà[ì§XP6¸ýƯ~²½“\1ño—í§+ûßN.~>®ÁJ8Ð&muF[ÆN;q ÛÌx­*Tì!9UCUS'g¿oñûh(»ðRä”î×Ë…w~ô˜¡:@Àwý¾.À·¹_ÿ©C³õâ†Ðb‰Û#ÆC4Õt–€:gÄ{¦ö ŒÜ…~ìÔ£æN'2øÄSOÖ#@Søî(Ð{zú?ÑîäC¸^é[ eä‘§ÞÞSç N¤ò!âN¯—²ÿDÑ8§ægV²ÁMî´\»³¿Á E¥=¬Ìæ“ôÿµŒ`£àß%oçŒØÙÉÛœLcY\•!t¯‡G©¸Qý(Í‘&èÓVÕ,ú,ºGÍð ÅÖ°–ÔEV‰GÄ7—½t 1¾1͹>ªÒ/à /†n)Ù0¦õú¾1„9a5Ÿ(ûÔ“s®?^ÙÑðé°ë(ÀÿÜv'Ž¥³‰µ÷ë;“¹p€šFõZQõ×FOu(¨ÜY3^Q°9‹“3çÀ¯äâOQ"4³ D„ƳH¼P'®é¨ÀeåaS2[à'ÙæˆŒÞ·8,[$yp±ÌS¯ ™âF81X/I¨ÓÏ,™í;ðÑÞžF Iª 0]„½Ù+°‚:˜[òà)ÜP|Ö톷¸jÉ6+G$ÿ¥­p¸=9"wo(Š ¼”©JœyŠCt¹·/áÕ ")68 Ç/:Ù…áçà\¹¹òfJØw0fŒHŒ·Q6óù> X¥€Š ST°™Á†zh»öÑ^Q©oÔåqŠZ6—¹á ¯#ãËèVdÓ6 Ìvnïá-LùkAG#é=j{vãMZÓ6çØ·ÓEÚ 1ѵ¼ÜZÔ{ôgø¿™xôó_}X§¨Ž#6r«èÊþ* ›COØhJB¦pƒ“¨ÎâqÌkUí^*U½ë³P|zˆÿR²h,ˆ¸Ôºªäîö/ÏŽ[O?à¶ÄF "–ï¯! ~ÈX†T±uz‚Dâ–!þÏÖeˆ#ñ¢Ÿ“5,¾š®Š6Oàï^nôÒv°–~‰cÑ(<§Výì 9Ë}¥Ì³þtÆ›‹'ÆUz|;7°ðÚAËÎr6øúD †«tË)»¶”Ø­Ê0Ðu÷}tåŒn°-Y ‘ò›NÁ¹¶³×D>ö—ø·¶‰»˜ÿþ›•.„ïW¨Y'ÐÎÏN™ã8ú°¶ŽGÏÃÂF‚«Û ¸Žv:‹Í©¿hœ©Àÿ|ñŒ éßq ¿F;á 1QÛ˜Á«½A…w+8urmð0”biýDWqþÁcÁ Wr; Íñ=hÛã/GÚ²öîô`äç[áãé}û_¸;ær‹ÀòÃÏAþ×Ïü‘‰nñ³Z\3ørÆöŠ.2”mVÀ¾°væ4Œ"¥Žšl“7q}qþt#¤÷ÔDÐLí' Ó ”{*PŸµT¢AÐ^ŸÉ÷³Š$Ó2ÅЬ²€‹”ï|B›aÞÂõ¹¥pŒ•ÔówÃCBÔ-,úzÒ¬J¾‹5É+¨€n–îX›–šŸ÷&MÜŒ$®õဪ™ âöšº•ÀL8@ #û£•¬øÌ&!1?=ôy±Mò·«KÌtPeµsÚ^¿¯;ð¸Ü™Š>³{1cJ+¦)µj•b¸¸zæN_ÖéûöPAðǾnQZ™zD¡Wz>eò¦"³ÕV§YÖ“ –ôax¾Õ@ÐnÓZS”Q]8+zf¥›¶DpXù™ñÈLb\¾v‘?” v¡›ˆ- Y—»`JŠTŽ íyÊnñÐYG®ÍïFòtd!MÍÕ;Òl¶/ÞX¬µÉ¹õcÊ’VäƒÞûïC]ˆ‹ž¨µ¬tMÖZœ}} #:  (ñ%« ½ØH½JüGôÕ'£×©ÑÈ5¯¥‘ýÕÍôxBlþÂ'}ºè8<(ì¡•ŒºÚ©($Vd̶­Ó¢xkiOfÞ½; ðï kä¡0º;p²ó¶ëÞX™¡$ÚtùËrjõ`«¾!úþÒ.¬ö[ ×>)ÔŒZK°Ž)á„äs ÷¡çèœNC?®¢h HQ³þJ#¯xãì)Þ­V¯\z~Y–Ê¿?À<´*dÑév6=CŠ}Iì^ÊÃæÇp‹Ž|Ær™Q3êçòT†°Ë<ük=èCÕÁŠ*•‹üÆ¡Äæ–íz±àí„þn–áw%m(@´ŽÐ}„ŽlËPõ;aÔrFŒX$œï"ˆ{Ðúq¨¨¢Ìt•Y¥ùÞ&¾ÞÜ )Ƽ.h™8¢õ§<–P~PG4¬ÜAØn&¤0QÃsyI"¡‹:Æñ½|Rá|âlß%‡ŒxM`ÖûÙÈ7§Œ‘¶ Ñ ‹¦vÀ*Ç`ÔÀ4’¤M¸v,â È`Å'ã nÕõÁ•¡å<ˆ'Xþ?c¼£9ÛJF±õªÌ˜šƒšª%\f´°¦â«l›”£"å"ÿj¶»Š`_úÂ쉦شŒ¿‘þ‹ê5/Ü.ņ±l‹‡E™ž(hY¡¼Xv³Ê3é:ÃÐÏV‡T}ð=è ±Oÿ×yýÆÎþ®:Ô€rTzGæ„M‰ýS>t¡·õ?âp¼’y~a*b— l'º)~–1êlf›­ªŸ:È(: ½o\M€?Fa#te4=!ÇU±žŽ‰Kø~­yoDZ7íî“ý°Œt¿ö‡C2)bX¥Ý L+°ø*³¤èú•ª4–5œQ1y%¦2È¥áäÜ„V ™ÓáºÉEŽ~ÔuE¦Ì;ù«nÆ’þ§oUw)R$ãŸn¸ãx}o=û¼$|¨ž¢Ðަ„¦‘ $í’Osú1WæT^”Bpi®¸Ê˜Å¿±ôPµÊ2¨½EÔ2kÑ#çCvë`º5ضà+Ø2À5z3Ñ\©]&†´¶Ù@Fu/µ5G/¡+ŸIÆ;LÐ?ôgƒåÆ\!Ši¨W¤}¿iÐG#Çk¬×èùBÛf罯F¤ª}ÁŸÕ‘ŽÝ‹dGâzj¹§kÉ–Ú CÌ ÍéûsŒ8qá.wWe`›ŽÌ¢‘ã56$ÍH“ýÆ€K 8ä tO}FJ{ÌfÄ?v W™lÙôP‰fœ; Àà{';ú‰7rr§*nÏÉŸþ—”÷Áß-P(¬o'kÂaêÓi{ÄbÌ…B°Ã_égüüÁ¯mýÓß&RÚÔFtBÙŠòG»CÏ—Î{ÿúr©0ÄXå@œº¡«3bA(uk¡ÔÖïóQ­ø™„÷ ó©k¿UÊãt>#³×%t×ð:mÃqð”è(°í›„€Ú…ã¨'芵‚éá?®\š­­WlõÅÄÆ%ÒF7sUg¡y tÞ­º1-îˆMÅÄÙióÅŠ£—èÍ‘Mó{¥›_Tt:'*nÀfõ/X² ¸iôl‘t2Xé0ß #-Rñ zÈÒÒL™®Òü½KNž`Ýl6;+zäåˆ3“†\0Z= ¥; ßt(Á_èE‰Åœ˜Î—óÙØ}…}Î|Èwj⶘¬MI›Ÿ b]Ä.h¤ãä-_Û󶾃™à*\ ë}"¾˜áuqJ$ê)wør Ýú{å„ü7Î[©°\|²¯t&Q·Ýá2Lf¼¿Å^‚¼Ö6މÌǡ29˜`Ë?9¤KxV?œ#Çu”¬‚ i×óRd±Â™ü” Hh¯RÐð9þ„Ô1[dáã !÷žõ#Á*?žƒh >s_f«VšåÀŸáZ0,«™¼·DÍ ú«Ñþ›wÍc/{ÏZÂ/T. þNŠíüyÑOãÊÂôõ2P2wØ€%¦—s€jKHÇ»{³ ÄS—U~Ñ⯠‰ ¿î u(«¯/LÓ­"ð‘Ðe}EæyDƽr' I!KëînP3x~,»ZÌ'¯ÿmJñrC½Iè‚qÙUÖ_mÔïõñd³ÇüÄ÷KàvÀVåzK\ÚØAНÔãäò¿Ù þ50Œ;ÈSã»%ߤ=/X¸I"ÄP0,ðU¨ ß¼b×`„ð~þˆ«úEŽUíŠí ZÍ4æü£‘‘,É0|C€X¶¡ÓSŠõ<Ô¹c=0’•¿°\ƒÖã6ÓHþJ«p!*9øÚ`xk’¥uà•£c.üNo¬ÆÅ™¿X]%ŸåcsÕžˆ›¨Ú{ù_kYØYK›¥ÏiÈÌ$˜VsFÓ¦–·Y|hÝ-p9 Ÿ%·yP_¾apOÏ|ÂÚŠˆ{|µeþ†ƒb:#€ØÂ+QU*70¢aCK´_æ´Lßà~Í´É0 mLE¸ámö+jÌøGÈ”ÚÖ`¬Ðåg©ŠÏFÕÄåKÙkâB/ %ü t4‚‰‰!æ õ£Rñ?&­·Ÿ2XÜÏ "ÐHÎ?^ˆ1”2hëV6ؽ&äø£¿ðɃ~Aà 6ųC|{á[¦$‹º±+’u U(ƒÁ¯ƒWÏRù3ÿÇ.¸ºòÈ«‹—½_[Ç"¸šzëÂ(pzRµ¬Mû Ü+¬–u¾‘ô¦pý%¬>¹q[Ìö?M“¼çââ¹ïb˜Ê\b]Za5%çm‹üXf`b9zŠxM4ÿY@™•ëò>áÅÙ \áxݬ‘6!Ïaõ½Ã=§~O¯Ã·ƒ`Y elb(O¾ÿó”%Z[7™àOùUȬ(RŸsHüòÑÂÉ¿°X q('rKâT*úáNd­’c°×YÂTƒí ?e ·Æ«öÊdiþÜ–;ŒøÃQ…¶K™ þœt÷¾ÜZ•LNåï6º,ÈX‚te÷®Ãÿ q¸ÚŒ ©Ÿ÷§2}M¬F!{è¾ Šì-œ*Û‡É\? çË{¹£´ŠR p wôH¾b¢±Ð-½+Ã×ÉÇåS/<×ãê—‰_Ä…À×`‰ö0–d¤#q¬æàå\\@"d÷úžè¯™»­ ýø^68̓fäà °îã],$„&˜ýù.ný7)ltÞŸÐvM¸¥ )ŽÂ²l÷ʵwt?ñ߆c¸/0+^|ך¼Îeª# 8óõb~æ]þ}Á oØ¡EO¸³ˆ4Œñ˧º íàV¹ W·78Ýf_Ó«”bCIWïÇ?cÂi꟞B÷§Õ:—:¿Žð„7ˆÔæ8Xf½&=–#´¢jþvÞ]¢¡$%£ÅÌ`}èFÆ,¤¿Ô•9¾ÖÓ¸x¶¾×w0"C)L+þ)S >±pk0@Œéjdï{y¥’õk}ñÎã ÒâzØŭ]ÙX‰Œÿ¬~WºëÍJ÷ X•²E/úNàÂ;ì‹õÜÙx4ßh'Šw2< ‘C{°Ù¯2u³èº"¬®(¡O¼ñ(i§q8Ê#¾y191uM¶VÚÉK¤áUGï}Äý׸dK”êd>c—Ëä]y¤úÝ y¹£M``´gjÕ»xͳ¨{"LpÍ 'b¶õª33$ü°-~6Iö«½DÔ‘T‰íx”^¸y rÑ]%yâJ%AœqÁª¾ŽôʼÙÄs®\¥˜ˆ’×0b9ªã¼‡¢¨¥iäD¦‘šÔ‰ˆ^et’j¸íÃÈûߦÆ: Q6"ÒŸÀé튜IŽ€pÍåj.%P/%.zâåþ#h+“)’Td¼Ðg'—aíb¦½f@#ƔʂHÎâ–º‡˜Å-‚ä½pºÅ"Çôd‹Ö(ÍÓ^®ôg/ÂFf’1#î”õtx Ì*òa½[>Œ)½fteÌÿé«kØtª•ý£RuПž [âCt Æ?ºFój@XŠˆHÙäØAïkýáý]ÌÊ$8ÄçÕSç¼íQ=Öäú„ÿŠ ¾_c„¯=L¼#G,9ɰà@!AêBG¿÷„W†ß=}&øbm®“º-|’7 Ô¶Ò|áOâ´I ‘©;½mŸy ÿÀš¼­ò€×n†Ô‘jœk ûôg°ë/ЧO«‘ųeRBÄ /Ëâ^5à¿ý.Ȥ·-i·L^ûdØõ%±`ÀîuLP ƒQ¼‹Ø/ M¦ÿÝ#Ö¬kº4ß0*u`ÿ_žHLü®…«©ð7Xm /h…PCw•ê"úièúã& ò†!„Þç’¬>ûûÑxÕÉ“¨zç|¢Ui; ͬ¿ èúß#’[–b)Awe¯KM•0æÙÅ`²Ú¼æY$²v«Ùç‡7G›“h«yÄ#ʱV¬â׸±¸û—›˜9BVEŠVoXÅP#Íu€à{ƒîÝ¿˜ ¬*Hà7øþyÙ=?@RÃË0ÜÛ|!¯¯]5Z>ÅÞX•/Ò¿É™—”òjm ‡Þq»=ðwÊ5—eÑîˆæI9­ ô˜_Ng)Iz+lîN1J{ÃW¾‹›%ll  ãy‹I?³LZ/Ž&ìwv!þ?©„ßÑF½m¥Ø­×¿œã0ÑÄháå[¥nÌFÀ" 85W&øL4*ÔuO÷S¡-7_uG‚î©2/¾,o¡ø•Éms½­"Â.ÆØ³æob.ÉDáÑÙò‰«;äÃïÑåçÜ›•g˜PâË)fßÒf±cæ_ƒ: Ž£_SÇð2À!ôu-9]šËŒk˜ÔŸYÃêÿy“›—Új›È ßüSŒ¤#h?¿þ¬´Á5H¦hýäÜè¸ µüEi†û³Îéwé"kí7·GΘË7ƒ¼¡q(pŽ(Eîgâ¹f"V®u•%ûhé¬êNŸug-6x¹ú) Jcà7˜g•l^ ®\òdÖ¬<=Fê‰ñ†Àwß Ï‰sŸw‡¤ÉÒÝ^ æƒL‘‹hbÖ5K¿c/„\ öògû«ÈÅ •€ucàÜâÈA#û§È†¢¸yZÌŒ>öfL¢ð¶Ž(FÁ.Gÿ·á5M‹_¤w%37›TÉP2TãJª»æ3îuˆ¡ežy½,VyƘ¸»=Ò›çUg`IÐ]i¨½2÷¶Ü:"i€ŒrÇɦF„mY€î¿xòYfá;y—¨tϰ„“ŸžµÜOàÓùÂì¦äwÄð{#O‹8˜œ +Ù~‰â%~þ’ä©oãC¿ÈóCÁé2uvwXX[±¿þÓ»ë¡Ò{ úTtÃ’ÇøÈ»Õ¶&¢)©¼ÚÀÌä ÕËÙÎŦ¢^›jRìaœ("O5˶¬^„1Õuw¾Ø,!â˜.òs}L’Π2Ùˆ˜½µâ/xâa>ÕÔ®‘Œý½eZ.ø¿Ì-SOÌUþ¶)ªTÀR¤g¿%ÑÆúá¦[Zƒ{`Âb"‚ƒ¸÷ì,/®FpóëêrW4Ñ|#KMXo58ïÝÊ6g@•Lþ²çÿ©Çfžy?UO°·.óYSÊL=íÿC‡ô¾f¬a¸È#œâñ®Ô”öîL#^vëù Ñ<ªtV5ð¹Tí,ô ×Éõ~1[Ÿß]x2çî­£}ŠÑO1~< ´¤übÑ"ð)ž†k|ÎÊ N „o Öö"Öz­›8H=_?ö2HÓ» žèЕ9Äa«éùA3‚µâ¢ã½e¿ÿWÌ=?{þj$Šöì’6«›2¹€’°/cö„­&…4&)ç#Bs|ý «ÓEŠb¨Ãe»z–/·THþØ“/"ÅÅÒN‚/Ì4 Y\!ƒö³{fUõFôoŸ Uòž†ÃµS–ÔŽ¦´ib —0öåPq(5›&f#è_ž­ Œþ³í´µ„‡’±ˆÐ©ðWžoÜÙP¸ÑÉÓàá>‹ÇàgÈyMÞmYg‚Õ õ{eÎ5°}Ømí{Û®Ö¿Rj¬Š¬„ÑcnË êâWpßÝSTÑX0[‘­I…žæ*¹;úúþ?ÄsD2x±Á`Ô#æFÔÜçŸjKt=—Kâk]eò–Ãß[ úîÙa—xíÉ©oÂ2ÉܹKcj5ª¶Ë+•ëh­0±Þ}·–j>µÄü q‡eÍ%xÈpyÁF}%á!b×½–%›Þ*vÐ µfm¾1ÎÎU# ºÐ™HB”™•›c˜(9 Ä/Òì¡°yY7hרÍ[¿„1ìxŸMJÑÙ’CÁµ x8(#…$Û[]»Ó4 g«7¢Þ,ÑîЩ­Ø*^ø˜Ö;š«ç.Qãȼ 3ôïËÀÉ–ƒEiŸ— òniI~S1ˆ‘ѯWò˜‹G“쟹 ÝO16ùO›5”Ø(Q s§VþÛö £öeH“*Ò_]Ît e¯ö$é¹µŒB â7­zªbmú×gŽê²õò¯ž]Ï$Ô vÝÏSÜ9\ÆÃÍ9F|uÒfÄ~9¯°þÉ1%ÅÝ1Y«©d¬Oñ^7ý;ú€ÆPÛ‹’ßÑÎÉSD'ȯ ’xòÒ4ØZuî‘ÄÂCo€ ZMœC[ØÁàW‰±CJå.ìèbÇ£_з×kRþtJ”Ìuª»6{TY}?ýD:×!2•û [¾yZ…÷sôY¢”(ÔÞÍ<ÈwÑzÕðÃ~NÖJd™gù6EEé’ü%8šO¯Õ泃ÙjE}9š‡Û—ßÜk×÷¼è„ô+.$±ŠùOá DzslWu*GªÑy`¦²1£›©b”„Ó½ƒ7 [Cœ™½½Ð5^˜ üŸ§PXÌm#jõCdJŒ–˜$‹ZtÒj ¥LƒZÑ`‘)¯OÙEþÿAš™wƒÑ ƒþ¸G n›¤Uãpiul|ú•¤'/‰{YNœMoÕÿ ”Ú\²ËšA²x·¿ z£Ÿ–*qyŒá¬ÁóoðëªI.öÝñCŸj-@I×1) U¤rÚ%/1͵!½…Œ0K€L:Kï#¬Ûö°Ť»-:ý²‡5=æt£3™Rznœâ4§þ¬Ö©9r±hOS>ƒw¤SìcAu䎎‹Y–˜'€ÀeõœYcÙ–+fRæ#€â™@®­‚¦po‡Õ³•f1›‚¿ Ròy`“Å]Õ?k³VÃ]k&à'eàÿo¥ŸñEôíÿ8CAf\ÀÙv&» Ÿ '§Ñ&Xk^DMÔs&¢~€ðáòî+¦Lf œZÔêþ˜¡¸%ï¡äƒr¬ª1ê)¨•Þõ$tQ Õ‡˜Ø•L0Þð:üÐ Îþ`TONM+U\4Î@ŸÛqß°$ÀJMž .ü¼ÀÕ¢BMV½I0y¼LGJýMIq ñœÂ¸Ú£¡:]sÍ™|­äAíM0ö‚)mUठS;œ1ôpšÓî¿/6oIœ„J%™£kYhk6±€”"xa\%±`¢™"Ž?<·‚¦‰ñ‚8Œ–®9–vh-n³ñùeØð$Znê‡C@ :r9áˆÉä¢+¼CùåËM •ü™ww "YÆÇ×ó¿Âf ®1&4¢‰» ¨ äÂH]†rmg–:ÞÓì8Â)*‡tî¡èÌFýŒ°Ý¿úªF+ º,BÉ}uW;âÂC ÃWƳ釖Eï ®dªwO¥V?Å”HÇ9T®'?ãgÍ$,ö™/êþå–á: ŠÆ=D3OÙSOÙP#dÛiÂî!¾nEèû©äDÌ&/äÀZuºl©T£h!Í$=–†¢OCt—Å•*íA*ÂþÑLž]ñœ² RÀ)`þŒN‹«„¹Žªk€¦?Ç¥© áŠÊÐð°ê¸Ä¹ ÖL ‡7NÈÜø—¢›öŽVxl¾í0B‘àv¶ü¤¬…4Kp®Š¶ ñS–ü‘IþÅÉ,µ‘ÃÓÕŽŽËÁ-ƿϊ –˜×"ô¸ÙlŠ'“óϸyôÃ?xgV ŒófèeQ–¥(¬…Q’½u©‘JǪ§Wýkì,vÓÕìMbçÒ¶|ž2Ñ¿‘~YõŽáx¸ñ·¡Uc5ؘù1µKOÄÞ_Eq&ÎÛ’Zß¡z:«-uAq£ü$Ë×;¬ƒ‹€A8“ˆÿO³gÈà _Øyí¸N.r®¡ÅiǼ~$-Õ`~|̵¶XObµj;‡$^ÏàÀ{x\[U¡¯¹ê¡ÆÔíÑxæ#—ÀÈ(xþÚ77AÜ@-}v¸)Ûg&–EëĺæÙÑ3áb‡Aâa$s‡÷žŽÁ5>FÈÜ—­q®€>*h6•Õ„¢³í¼þ1õ(ádHÚþXÇA1ÔÁGfØÞi0qE´þ©È’ßåý%E­¯hUNà{YÚF}Ï^]1҇ݺr¡slrK(›ðQÙ±W†’üDQovÒúŽ\A 4§qà’5¤£%S|dÀuÇ™./.Ç`np„ü#W…­ä›“‘>UU¡::Þâ\‘[ž¡™Ï¾}ï*n†™'iIß*E€ã¿ÀЈ¤Ð«UNà R1¸·ßh˜%i4ñ  û{ç >ojLýƒü(³[²i„sG«Î´b)ûÆTr²‚Ì,|øÆ¥–0¾Ä7Åbãô.ÄP’‚[—k™h/’¿ÛÆ…ë¨anÃ>ѯ_©Òò¥õ`dÀ£0UP–W¿³½ª‚5¢™­8]bSð¬Û Z‚02…Ç¾š—©¸PZá׎Š<ønÁí“î*[¶$îñ‡/Ì€¸/{û@/o~v« \nîýÐ5ý2#3˜AøàKs(ŽÉ/®Ÿý øo>µÌhX)€­¼*ض7ßÕöØ.:œ&åßt|⬨®ëžŒJŸ”h#|%U4q¸V> )ÅA[J8=Ü––"ý º v)øGü–ÂÄWôõ?Éaû2l{|B3rN=•“ ø}ë9³}Þ6…Þu±¾G–k{òãF·Âï.•ÂV…Z|X•Ç2+Œ_ÒsûT$ÕÐL ¬tK\*!‰‹rô®?åq‹‹'ˆxl¡†bpVþÞµ}¶€:\qëHf´¥LV¢H§9¬ë?‰Ï‚FRL sfL…)ŸöCÉ›4‹Ó¹À-É©Óý¹þv ±0Ì˜Ž„50\d:":ÖÔøô¥eÁ΢»+¿öØd ƒØTOø€Á/!>ˆêu Ÿón-"‘¿®F†åÿ<Q——ѱ(ÿúp!þVûš>V?ÕFL¨¿dtM‘ÝBÓ˜I7Ô'Ÿœ‘¢WÔˆk2'U€½ Æ™ïràó©b$3›¡b{ñ‰(ç<첸î1VNÆͬˆsUÈM*Ä…Ó“¬fæNLT<‘J|#¯Å8òa7Z’7Û{EéT8Þ{žÜý£~W³u‚¨ AoEe¯½Ågg'”ĬQ  Iø{RWI‡¶ø^ÖA¯è¬ƒxÔÞâ9¥^>:7.ÛØ6ž¼6?®R“=—85ZH&=)«S˜N˜lCÆF%E¡Oáè\Hè¨_R C÷äeÆDqy>d¡íHNÕ¤Áœž:€ªRÀª­é2ìôdãs)(>@íOÈ5í\‚çtÍI7›¸—ZסV‡X@öÌ·„\ÿòîy$FêO棩î‹öÖ‘PÛpdíE¹•¨mn—Û´™acmãàº=&•ßÿ}dtšÅðBNŽ%’Á!íÐz<•A maŠVÍÝ‚d‰Äëþ‘¡¯9lXÓê… Y!èî‘c˜ë@´³á’«¡r…l9ઃֺB‰i¹ªDzëŸ3ʳT«xaǰZŒ'›+SBãqÎß.ïžë‰ƒ@ TÏߟµï•ðw21Z…rDþU¶¼”²Ã¦ÅôŠH˜Ê„e™*Œ1Ð rí…5ÙªÌãÂ_ן.†Œ+Ϙ苴’8cï8Ôj¤z‡…âÆv³mT»7„%\ZÚ>L«tVžÁŠ9êül§=—\Ø8{¦îÅHmèa 4¥4"îªlNáO³™,§[[fq½*û1ú§±RÕTªGh\a×ô‰w–¼I9åm̱¦ï¦t^âÅÉÖ5™§B®¦týMÀkàé™Ô¨‘—(=àlTj½ÍÎÖ•l®J-˜ze°Ã×5ì`b†gŠ`X[[– ’*PbшƒÙ¡ÔÔú~L­TŒ§Â=~&+ï¬](„£ò¢:çÛjÒ&¶B‹Z¥÷hY ›‹†›µ{5½øzsCn/Û3‰!$ñÿñKÑfüt®è ÷ÂìîÌ„§B$0OÞWŒ,Ûfñ€4iìÖÈBœHDPkÏæéæI´¤ó h/;&³>>Í®Îà ô†j˲‹†k=êêå|¦™€pÝ9Y"Ó¸PTá”FÜ3ºadž"iKd2=…¾òì¸ʳu)ÂM„Ú é‹LDþ#ŽHà>cRˆ»_´ðØ~EøÝBøNÛ{KH‚ƒVT(<œf-øY#îùG &´<®,dwÁrÑxJƒÄÞäá/Ñ%[W‘þ?ÚÛ\À}Ñôªå[@%š8]7߯Ymd ç£#¢Ó^ãPªoà||á‰j`ÝÉû“¹ q”æ -<ÀÛZÈúkI¬% ûód Ýú#ß¡Álï„Pÿ‹L4cæ÷L|ÌsÅNvÕæ åO’ñèÜ3zMì6±wVd ,0=°4f°="úвh?×ß8_&óyt„³[‘«£’BçLy²ec0/RËný€̪œÔç5Ù›ôæ]¾„·-tÝj8®¨|i9„5,Q¼DZæ²ã *“‘¶‹#pŸ‡·ûÖ é;ØõÓ ¸§_YC1ød™T@›Ï„A÷Ív–þRK%¡Ó¶ú@äîHºŸ¸ï ÁSÿ&êׄ¯D•ú´RuåØƒ ’…Q‚Z7˜'^ý–­¯ kò$6„ò¶Óİ/3È÷É)ªF­ý(´ˆ’kˆ.”A&˜w0¶ZtaG†<*s/Mö%ª}C¡Q.w¤Ã¼½X`É‹˜ +‚t’¬âhK Ô´á×`¨¤mƳœÑÏHBΚ2›•`øBÏßÀ歄Ňì?r&F/Ì=í[ŒåÅj[‡Ih§F}™ ·×1Äçî +¬D¤8&í‚‘ûKÔÔE†ðUw©6ïfv‚ˆôÙMqUdÚìÕ ÛùÈ0jo¬ãÅ„0ðÂ{À£m‡ýÅ•º¢_¡Ò»ù–ÀãàgBߟ ת‡æšoücå œíZ^ÍʽÖo-ÚUd÷OU —FÃJ’‘‚ÕfÍzƒÙ8ªÄ仿½‹‡x‹D~ŠÏL4¯c=J-Ðv´ëCÆÊÅÞ.Líl“k;¼U†`²»HL޼ò>Ù&Cç‚qOm^RÎçåIÒ¤4_-D‚Q‹Q¡üJ`€Z>´R3„¨8¥áo׬¾„«ÍNršCYÖáB£¸’û"E_Nü©v0ÌÃgæêd$sj઩áq1Õ¶³*‚yÏfïÒU>šôw«¦Lá2$G–÷©“ê]J¯ý= Ç÷L–‘ˆdïÚëŒèr0ƒ²Êvãv·X¢ÀO¹oèäbÊ¡éY ?>öxo{ñ3² tY¦ÝúÌ‘ þ ò 3Þ¶¦2Íå²¶6(xädڜ҆ÆÏ©e„Šˆ€>º‘þž¼·s©ùd¥=áJÔ˜X›WfAX{ÚÕþÜ?"ôK¤ñ©7]‰ÕÁCdâf¦?®XH2¢Ò‘ß¡¤»÷Õ]wTÿ@ásÅÖa Hæ·êÏCÊ=) ^ôm]d=Þ&Ʊ$õ‹*6‡¬’‹‹ŽŸ¸?F©£·ÒBÇÁ2Òés­úokr«§al±„Áö¸n.? OÀ¾>LKÆ lÕ(?GnÓyie¸ðKy­–Ûóû³9ªãÞK!PÏAþPáÂÕ÷pAchHá!zF/ؤŸe ,—_ÑyþGˆD©Ô ü_Rík’ü‘ŒöŽ—J‚8{õ’é^¿›£xÀÏW™ž±}Él£S ¾;T`~oí¬]>øÌÝc`hÌ„b~Ìcä²j.ëÅ Yñ2–bÛQ@ÎcL Ìî©6i›9ê=Ï&VÚ±þƒì³u vh®ªƒ•Hڸܴ8DaÙ³ûÁ¶d¸&<›=Òº!â>PµTY~”*úž¨žßGñœ‰IŽ>¦ìÓY¼„ËZÒ-fJVçŒù߉;k[â®Å+_N‹g×5Mâg˜wÔËÂMùš1.ç—rgC™8䌘MÅÑ7ý÷Z6ƒP95kŒÑJ"¥˜%l^õóS&„âå ‹Ž-ävš:!j bc³2Âý¶®×Uîoµ¾Ì‰¶ö,3²ääQ{¯ƒ]hHrÈÏ*ÖØ[Ur„·é¶÷À4ª[¥‚±ÁÏæžƒê®Gæ»öÆ=0Ë_Ñt·*åäÚÈ<·›0B8}¹[~'òåªõžœG¦Ýø“œ+ž/è³÷Ø L^&ô÷ö˜[qV %„aëYOf W±øVwhÝõ&r_98šÍ§xNÁ,"ð —X°¥ðö=kÐŒ©D^Ê–…F’HÑâ[ rÝ+Œ¼î@ò÷|!SfœÚ–Ë¥—WR 8¦2ù(’’,:Èœƒ|“t ÔOHWž¶ó‡®c¯ÓÞoúÍ{…š±êáʦ gß~1(LCÊÀ  ޵/?‡h¯ ;+Ÿ¬EÚ7y¥;OMd^­š»&½‹qP[Eµ,tÀ¼Hu¼`Øl¶Bs¶ŒÍÉ:sÇú‘W?EyL¬'•®Û[FÜE-_±¤wž˜­|gÑ(¦ ×ÕŒ>ŠåŽ!#̆0×û«üð2|‡ë6hƒ¨,NØØlö¾ålk10çYÞÌCÌä!¡²DãˆûáîŒs„-‘=iÖqËkMwÏБh³ è/º!ýœk_(w}Z¥¿ä½õ]°~Ú§±}i­®‚_D`>©Š2Òr“ëãeý)OÙØ|í3¬qšµ°þçŒ ƒ2ûßF9ÞH0ñ\Tí{Ť½Eyq, {u(³`t%ÒÓÑu©~ûtúØ)¿1É©»Îóìh›­J/BD’<Ø庲›dÆØTK1ðª9¤UtÝåJ8¨GËïj5SìÌÚ¸¾Bì&œØäª~±«@ßÖ2¨zCƒ¢‚$níûû)Œ¨}a¦H@Gù¸â®‚‹w(´DY^•O™ö9ð£"¼©}N˜ôöxYÅwsJdk…è|¯Ò°bÆÌl.H+øp6ŽñvøÇèw . lðXiTÅñ¨ÍpÉ [ßsÙr:è*O>‹½”~Ì u•ðî*¥´*ò«3684é¨Û÷¥³€¡ÔÑKl‡œV©Äc þQËGWâ‹´ÏΨ̿–ò¡ÄÕ{A­w¶T4=ÂÏ353,P2® ½³†ûì*•‘_¦ Z…Ïa3Dº%‹[ X&S©gEÄâøª÷ăJ‘sp°¸* ‚4ʨ8qmŠ}åôÈôÍ+¶ÀJÌo"“÷oj<²g-îºi“Ñ# œ>tkÖAÔwjýIÚ¾¶V ')ý¤Ï2 Â¦”¯±Gp`n¥Ögé¥(œàÛò5x€MíY”ý=Ó¢éEz×£5‚Q¨ÝzMqü ý,Ø [;,$.{^ˆ*p ü÷åÍþ “µó5‚¤«á¹}Á¢ñkÝ·äTI@ǸÅbYÏB%wº¬tMJÜaHO4ˆQöy¹ }šp´WtpÌV% `J뎂Û7د̟½¿¿A˜¦ )5Ÿ¹"(mË!l"Ú>~‚J‹_qßH/nï[à,_†W´cL–ÇE¿Uæb†P„×ö‰þàó}ÿƒ±ú!ôËù.PÕ½Î-A9Ʋ`—N_8cÆ@<­Ñ#ˆa›uqbé|˜ÄÆ&·@ ÏfºÈ°—é—Q5šíަ•\Ô–‡‡1R® î=)2©óÖ’83å-±Q$COó—æPMzƒI:Z¬îÁàpÑùÅF’H ¶:쎊¬Š\Ë‹–§>ÜðTî^¾M×ðÀg+¥'ó×à*F·ßåį bEÞÉÙi|¦âI—©û©Rå4à¨XèX²»èz…µ[MýÖ|ˆøùKóà¶Ê¦ßO\iBûéÕ¬Á¤OG&ÜÇL±£í¢Üíâ$a¢L-p.î9{n%vØ‘-¥µ‰ÖÌ Õq¤—>âZ)z°Ï޹%ÒóÛÎZC¢7ŸcPd ‚3f17döä›t )®ôf]áË„SÄÍp´æzul)¾sVrq,EWÍÓ ¯oÆÈ.»Ø·„]:r%†ÅBj© 2PʤAÑC!éVfγ‰Ô{]_³½Q¹èõélþ?œ_€€& nsÛh ÷›…ˬU²”÷%ƒcGgy Åá“"I)R6Ëkªó‡¯ï¬r(ÐòâX‘ËO[Ë™ -eÝVy‰sX½lltæ/&Ý ‹ú¼TgÃ~¬äW_ñ+d0s7«Û”â(MÅ·¨µ–;OaƒƒaÕš8yüGŠNaÃúDXª¿¥Å10QÔ&”¿‡`ÌòÿÑýi‘6+ ³¢¡¸ŒS¥þ.Å~ŽûD¡ÛžIý‡uWòi†ÄJ‡ yE·Ï ¼3ÇTZ³ø‰X×ÉXDÓm8¯>h%æåfpB+ëú)À”×’iIGÖb}}û4b‡ë-4Á¬Ì„ÇYùŽÁä‹‚ª¯Õ1rëQÀ¾Ö'Ç_n*5%TÔæö qT6ÔMq/¡TCS'ZðÜÖÃkGV>¦‰Ø¨¥Š3žbñ¦!Ëf²Í‰€&$É%Òc_ž§–‡4j‰Îï%p7×T%2M¤çÀì‚æu £±.Z”œˆ4s)¦b:Uá”ÙCÌ€ýZ ÿ3ñŒÀ‰ÙºÊ3%YáOвÍR,õx{u —,ßÁ“ÚFk‘4 mÁýw< y˜þ¼_Ø”åÐD‡µ?9 mísÇÒ›¯³E·äÊùèà &°üŒ/ÞL[vªšÀ–Ý—¿ÃÃ?¿Ôë%P[¶_ÉÓA@Mi_#àòÂþo»a`wïP*½ó  Ñþ›ö¬ó¿Jöˆéª.pÇh{àªâ7¨§NƯv®¨ô›o¯í„ò­;©¡º‘"ÓÑìüˆ5äÛó +ž±RÊ€plÒ÷¤˜77ÅÙæúšï\д'tŒæ¼ð {dHˬRé‚vØ¢?€V0ò@ZáÜU72ÛôþgûqšØn®3¾¿þóußÐ"Ó³ÿ£"ࢅC?æU÷<*K翪€…ìÂ%íDr>2åäjÀï.ë{°‹a¿ôíržÜõ,ż+•4÷±Oà›ðäk !‘«Ö¹;8 æÂ³iÔZëF¸d•³f@–¢™·…ÏTتÍú°!¿3Œ$¦Ï–îÄ69Ä4tEhö2ÖÑe+ØžM &˪QR{Mß®Ê5ùò—ܰURs€0¾Åu8Å—óËYû+b¼Ê2Á2aDr‘ÅYš—à—zö¼n%ñ6­ÆtÒ‹]ozøçÏLu_Õ¡¤ïþ׵ݗ"utÁÀâS ~§µò%ÀPì”Ür‡š+•hå:tåÌrF]úõ€303¯²‘S ݬ­!¶Ø÷ê·Höc v7ÕÄáØ¸±©ÞN"×O»œ&›¼ Ïi?r>Ù|n¶ï¸/Ü,Ùœ"ÌZeÙÇÉf­ç{À:^7SÒŒrjy6A?ÿEíÒ¤sÉœ¹l8ùRe}¸à=¹M,ÔâàDÐ!»ÔüCáqwF+ìqùlhö®'ÖCQ§†2jÃÅÐqît‚ÇÊÓtK’GûÄkÃÛÅÙ 7GcöPó²ø›d^;z£™ýÇÓ¯£eün“Þé µN+_•9kE±5ˆ;£¢¼ùV' ÄëaVè8¢\AÐjÕÈæ“o‡pΓÐTHæØª,‡]ˆýÛ—)àŒ†@G%´ö¼›.ŒtÚ)Èá¥ç8¤œS&3ø¶–7Õãðêu’ÓÝc›#ÓÇ“èÇ ørXM˜øðzD \”N1é £ÍæW¼´ŸÊ–õXÄ+¯g3l @”g›D® ¦ð³Ñ¿•´þ*®Fuå”<½_¹–¶žtQhÆ›¼tl¡×nar`Æâ¸óíN@"ç€ÄîÔeb.óï>ߣnÃz,2:J§Â`ó†°Øe‹˜ò©/‘#$Ý Îë ·.ÐòcîUòB·gááüÇeQ*’é½ðZæ¯Ãªÿ°p¥ËÆâ{®/”S…A'48=¥i%íù‹ª.S¼U'£3ÈSö(âËŸÕ¤BR.€®@ðU èWú£cì=+ËU{j5Ï8*¥³ÉÊ»‰qæ62o£5zcª¼ÊÞ¬Á^P¤;÷½Vdo ã¬(CÄg`0³û†‰µÊóS;Xé,¬Ú–¨C%[<ɾ1— €þΧYŽÈ”b»¯Ë¬hIÜj,¥Zü4£a.hŽ€nY€€8iÚ€z€ÝÔ?„¤Á†s¿¶‡]x10&ØxÀn+ÿ¢—»˜Úò‰íÚ»c œ_¿D^>ô® =>ùžÖ×ëP‰‡qc¤ðRWîpùÃÑÃ*¢–Н{Ñ:Ç?ëÁ¸Ö ] üR¦6Yeúàü EVóó´ê>dˆãŸlY1•UQñ9 Ë¾ àµbôFùTzÛš$L¯wkñ¥, ».T‚⤀Ѐj‹u‰ôç¡ÍÊ€néß}á@`±5="<ލ£k;RÚsôø¾‡eEBÓ @õ•¤§Ã²d<¾¤Dwt»…oå’Ë&ZVÊу\¥7ÑÀJ»´fÉ`ÖŠðx/ –½\Íέô¬5LS‘S[mÅÕ„ÕQ`Úy°5$¿c'È:Z{¼Ä„`|¤_‚Wsa‚Ê@õQ¸=6Oâ§Ÿ³µ¬ß>µ<¦”Ý ¾Áù€ª“: ]˜°f†ÇÅaãóàÄñ %çR%,tµN}(0ËÊÜÏÕÙEã»×ÊŸmpÒTiî–µ©{rZ†ÖèÀ\°½e7КÔ9+X;lãÑŽž]Æ8R0´=\^=Ú‚ºjƒó“¯ÌL~;À“¨ .0&š"Q+¹'þ«Í‚¾x/ÈHeªŽ¡„ÅuR{mÞð‡ROŠ“þœé½º‚>="u+G6)…tÿèÃlx˜Óq:°W vèʈ ÒÎåqÁp•H ¼…³©ÿ"U;¹O .ÀP# ´¦Ða¢ä:¦a~fŽÌýŠK'/Ë cÕlW¸~ŒÏ³_“Ÿl’^±ò5SPs¡ûUA zà3ÐÊ Îxxí«,øeÍÅí¥¶{ضp¾éJp-¤iÖòSåÊïŽùR…ŸáŒ*f:sÔ9‹Ig÷ÿyò†;ðÕôíÚäÑX0jÜ'VØýz`=‰yTšO®eW%«è+˜-”N¨N3Ó›¹rE:k báB‰\)AT½(HO’ÌÂo ý>r%OÌÉÚª¿ñŒ³N†a)§ðñ,y5Ènˆšwa¾6:ä¬ëÏaD3`hëžÙÌËÆx·#ææ¿Èýƒ0~Çz Ë»”Óz±ÖݳîÈ/tUlænÈ»2—_Né@[ôɾHm32á´È®UéHZv™öýÔ¼Ãè0X–¾~ eîÒ`Ö)¹Ý0 ß2eŸ–gK—x¨º4ÞZ­ö…Q¼¹LwIòƒlˆã|^¶«ÜR6X¢¬øïé`î 1žYèøNü÷†v•é8^üàÈ¥G1õk0¹¹~W¥½adL–pé ¦±+Â$TYwÉN{ÌéÏÕ†ý§ïrÈôxÿtP`ºì½þ—+B={® ÚŸDdÒŽ“¼d²⧬_þw,+%>÷m¹fÀô»“ÚôãUÕú ‹eÚËùz3-ÕNö<Ç;äRÂM‡Jê4¡Yúa¯^­ìÓd@•fšˆ.l«eãC4J¾×·.m2³vΤü×}…]hnsU¿YöÇ:ß$±XpÌ=õ=jî’‚‡ŽEã/G}'pl«1¸ú“«äìn“Që`þ;Äçf~fr¤-OQ3‚)"­R°ñòrQUòj ߨ5GË4 }çxÌ-pïj‹¯{먪UŽ•©Å|ºµ,Àóº‰mÀ¸!<ÁñÉÅè1ŒƒûL›<Ì€¥ò{ô’Y–á[®r*bøK# ±ÌQ)ƒfù¨œÓû¨A·¬Çµ6_‘í¡AÕxþ9T¸ºHddqjdÃ,ù:õ§òÔ4bq~ŠYÝÞ\T)DXòàÀÐ •õ´b¶¾>·;¼BóPgçV"û6œ¶Å+Ð;$Cj‰ó]2W¨ê­ð´çÌwῲÄ5µ™Ñaº6‚¯²,Øà›ëþnáëØ:1iå¾ê¯O´Á%Œ%i8kµ½EP¬[õJà\ÛiËi!ÐØÎ)Ï€!m–¤ ÛûäPð'B”ê4¿ÚzªìÅhc™Ó[“zxïC3}š0Niˆ ÚmÒØ•Ö‹ÂI[ÝuXöh˜éWò÷Ú=5FqG2a|ÛÁfD;ÇD¦Åן?¬…ê?Lß±<`¥Ò½æ„»ž_‹—ˆ;o߆ þ"­;q•{ݾ¥J¥ƒóç¹ûž°ò%çåoåŸù}‘Ѧè¼ÝëNæäft§¾Jª@ùÁ˜û‡d \‰åp›ÈpXÄ™O̯ˆÐw§¾çÃê¡o™€Æóîkæ¦ÁÚ«¼]CÍø¿[lšÔb#ö#Oôãø_IÚïÑ…pÐÓ$Q¯?¹üŒÆacËD蜒´×CcËÓ—Óœ»«óN_wGPñòv²¾"ßýQáÝq³ý'à®ß´÷/Wi`ÄQÖbÈg%éz‹Öl½È++³ßB¤ Ì[pGnJЈ.YÉhÄi¨Ô•Tß>–¸Ýw`!Cá¹Y¬[–É/Mó»pCÞ&=]ª7/°2ÂEʱûU Þ˼ˆ^Ãê„Îu¾âjísÜð‡8Æ5‡aÓI½Þúåçèï1îá6 q^žë ž;–תYz-t­Âq®œ˜°ÜGŽª·&YFì·ü+†Lu31îÄ)ø†ŸuUÙÊ ê ~Î/ØqÌ M wÙDB^ Hb¼äI£@üG”#Hé×êâêW¤žÓ§¸ï£¹¸-žGàû#Ó ޵Rûe²x?‰M Q㣽“‘ßæõÊ`gV I²ë櫨†=k3ôbù³¯¸w}#ˆTÄk«fCÐO´Viv&Ô´5ìlR½o¼º’ücÛ,iqÜ6ë±yÈ Œ#X~´^]Zˆ9Ϫ¼fãÒœ“öƒE&°âÏÌq› Y}+¥[´E?Áƒš¿h–òPœŽ )}x¬¦š/O°Ë«Çñ«sÞÀh$´Ø3(„{zÕYÚ+áî3HåmßdÏB‹¢Ïœ^ìì±k3–9s'†V¨Y®tw”œ¦^2¾">T‘ggU†¢&Y<øÛ¢D¼F[k 2Dõã!0JÏÕÐL; ŸŠÐzý–¬wº4 ”'O©aÉÁFxYâ` õ•¹ÿò¿fò¾­ê$@çߘB%µÿ³-ñȉ.qSÑ;¯¡C(_ßri]GøJ|=ŽpÎÂnk•±„&ò$ Ö”M!ër°ó¼Ü1N,ÍæGC<ø]åĹžzP “DY°ã„o)ü ‡«6¢Jo¼M sÅg¶j5y¯=­Ö&š,J[@’ÑÓ"¬ë×aÂ9íp'‡G‹ŸòY:0TÄп¾õòàìÿtÜAÉHؽéï«”Y¾¬'m÷¼ Ïð ×€ez¤ò©’8zD¨âÅȤ“b¦(“܆[8ßFÜãZW,T¼oIL†K-dÍš…N*¨ôoHt…Û®þqÍ7šW=I"Ô±ýJ˜‘«Áë8×uÜW'Ï=Ç~Q§Ô&æûä«‚lÈ«$5x]X‰E]ïÕÆHz?à s(Ç)ÀKá•ä_ á×;F³“Òuj.…xìlœÛ{ä½®Ä\T ÚÝŠoåMÏŽ¸éæÄ7¹¬0dƒÜ¶\ª¼Ø_º»×y±Ùùïá.”‘8=wERlþwCüÅq,©ªsàqfˆÊ`Vû“- ÝÉO¯´Ê¾Î%˜Òmöm࿨ -³·³¨[6VÍ<Yg…Ñ C|+Ó-‚–ÝJajÂRmQ•©®aŽ3äD“CÏØÓuÉt+RÖÊü=qßr™V¢Å³ÚÔÑÃògÆ€+Ì¥Ú½7üñnfy>”¨%¿ÁZäζb€ ¥mS ¦©ì¦óÚš;] Á—#)áŒÐžHª+Í>Z5NNÍÒìÏŽž«™RwPø¥ˆË;¦;!»×ÄÀ¾^ï(RÔX-PÓTGŸàDZ¤ÙuÈÞ×ÌÑ!ûÌ0~nÃ. çP¢(4ë¬á-‚É€s«”º§;L~9’†o5sìýY AjƒÎ×¼±\Ø›‘ãD& ¼l35¥É}$ž>8îl‹Gëºû\Ô#ÄH±™%[Ûæ4ŒkYpù×tG2ù1"™˜@ éà+¡Ú$ÿ åf`†¡éï*«¯Xæé–¡ÌfQŒQäaëAÖ&ypNGåÈ\Å8M\fª¬(&оß¹F«ïl”¾YþTÛÈœý1>šíÒ•Büê¾0k›Z*§—¢,”'§ :/ý‡ì³Rʈ´¸;!P&y­ÓiLUjv±UgÌÖ7š!|ß)ü¸)Я.¹’|ùŸ`~ä ¯í9ÿJU/Y‰V³˜„ÀXÀÜ>p@á í="awŸèä«ût ¯pŽù@[~õñ#仺äöB,©«Z ÖS¼>ð‘$ÌjÞ–•AXZB›QÈ>CÇ Æêº“‹zÀÕ…êÙ¢¤ð(¶—Hj„ä"q °ùäÜSÌ;~‰1³õì4£ý;?>Û‘ÒÑ&dO&;Ï 3'k5I§/|Êb4²ç’Þ•áU!×Kj0·Íá¤øó¯¸ÓÿN/N†Cç3`h•ªá“E,%γ³ÃBS€ÍîUe#À¬aÞ(HNß,Ëáüe´›©É¤ÝZ8’$~Õ]y©¥*Ô¯¾í’þŒ»Níl‚övV—3FŠ`q–¾ô¾„ùyÛ±4 á?¼Âý†yÜ(n°;#óÚܵÒSˆ<‹¢berß;y"Њ±BPŒ¥IãÛù\çÚ–Í#l ¶ag‡Gªæ 6þÞjÄKs1ÿ:ôÑѱóÕ*¤k=‰t¶Uîùãõ#…0€ivû­-Adi°´}fX£”éA2Ú¡S¾ë•ø«¨æõBëÎæ-Jìn—ýŠJ ôNGé4€ wÿÙÜÒmû‚Æ}\´¢S9«d5” JÚòA˜~7m¶É3[4ˆ7Æd¡Ñx œ.Ó\|öøºo·`À²€-"M–@µ”d=ãø¡dÏÒ’ÿßFK8Ú‹\Jn€3š JP%GYPUÝgß3ψÇó¢ ö‹£;6¯*ììü1"æø!3ù_qu”Tè€ÁÇ«G&×ö§Œ‹Nf¨ö¾÷ŠTg‘¯,nYé.¾ËºOÎ÷ú_Z¥“Z¹"ÁM„Û·c%Öñ¦9LMÏ‚$õ.µ¹qðúgjÊLBN½™\`¢T¶Üå¿ïO_ÈÅ{¤N#šg‚P£‹ © G;[…±ô«ÅÛ²,_Ú‘2ˆÆ&!\:ß6)Ñ•åòõjùFCÆäü¤X\*Ä·q+ôƒkÇÝ%¶6UÊÀó=<Úâ .¾ i@›“Ùã—ý[¤P‹,¤ÏM!Ê3¿›M6·H¯ù(6ßÖü½‡tŒŒè4íôc©¹ Ñw‰©ûý.øa–þ´õbMVÃ%¯6çxÅtÓÖX}¬o>£_ª{õ 0RÉÕPšîå’¥8’'ÌG=D¦K —¢_¬ðòK MÅKÖ¼Y7OÁ**¾ùo= pEo/ʶÿ¿L UºNNÛnâÒxæ?!JûeÆ(ØÏ8]c?hÀcE}ÎÞtGáÉ™{`ÃÖHòÝW¿–Nœ7,•Æ‘( "_È™Gº`P‡<Ї–&ö7¹äŽç‘ä‹€ÁªAÄ·8"~¿kOÑ>;É%˜ð±–󨮀ÐRꘇˠwÚ á‰¥r|W¹0 ^•Óξõ@tòó?Ì 5]úŠ|f÷¬k>qŽ\{PecƒÛ6à7MIdñ+fÜkeu寥 Ùqz«Œdpñ]‰î+›¥ {GÄ>ddÁ96.K#«Ž–MEÝ_Êr~ÛÀóÙ¼Ë=- ™¬ étøL)~^yø^_NyçÅ^I$yêP5˜Âw)4r˜ð/,‘5æõ  ýž-;X{BH©î1ñºÓ»@Âsõö†ØúDòTë•9J%¨rC“Ö,“e¯ÓbmµeN¡‚«W^Ë‚}ó~>ˆy?{{…`h¯Œž›~ú ÷âg¬R’ú½ºû=‚kŽ}I€½Š¾§þ?xöí2¾ƒ~*" ™Ô«¤±}ÖÉìjÎt•Ý\ Ð¾œ¿yc»o_mºø¼ñhÊþ[EL×xÀ›a=2û… ´£iOƒú½ˆèGGÐÒ¼'4P”JàS¢§ña?çöfYײ¤a\!¹]ÖÕŒª\㛉gE g¥ÕÍj04c&R€(K먤þ² ¹Þwk±E'€.á®ÈiNÿˆå#}ð¾1^…@ƒ¯=è2Óߊž*V»ì  —-Éÿ躠£3NÁ,ÄÓâ˜êŠp`~ƒ¥æmIöÃ^¹«ÞH¦¦² ]†ï—ež4Uš,E½x“Þ±G/øpâºЦX|ÑÄœÀ;Iˆáš,¹güÇ:[_|í#äåU™¨qƒˆbBjOQj蜶bhΔ⯸Û4¯Ì>–¤÷Ÿæ…9áì©E¯¼‰œ ¹ê4ÄXÂ5Ù£8_ûÔ4Ó ×‹ÏøÜ²ÆY Êî<Æx›k7hl+D¦²«gzïÕ „Å,‚P#è<-­ RTAô©Zî÷ºü Ì“œZýÕZ—óu=¹ôhþ×…í‡?ÉŸOׇ‰AgÞ:•4qßEÈjœ D'@Í|ôSÎ>#VåËé©>:–b"n _“Ó-ëÆíⳇ,{›Stl\ÕNÙP¯¬dj:ÌP#«àYf¼àg¬ï¡ÐeR–s"mh¥i\Eé´µ:†W¼ö5kZnp†Æã‰—Iß5…ÚìkH‡ü­I­‘s®h~Ð:€¢SœWó-fšHÊ ?mŽs,ç–$¦vå˜b8õo×ý¯eâͰ€¤c·:ôf)è¶ï÷ d“˜&º ¸’±R`t$ÌÔâC,Äɸ ÷øEäl‹»¯Ð &'¸cxtäWA_TÏ|¦cÌ;cÈé!K/èC+îû¹_êÙW§'ó‚Lîûi¤ /óo7˜)Û¦§¤#'$gPæG¥(óOø-¼ÔHpþò`©}£µÌu)çÔ¨[l ½t¡S?ꕎj—Õ Ê$õÐ}7CÑz݈¯WÀ™\tâ[Ug)uµÃMôÎßJ•Óœ¹‘@!þ6T‹Ð @Ò¬ÿì<(Òh¸—ìteWonc”ÛüɘŸI¬€ë®¦õ϶sx+ª‰Ý°*üLt±3ez³ ª™±Þ5:9Y9z#pÉ †ÒÒad1ýöæô/˜Š± !Ž8[.M ʽ­tBÝk½@˜ÖåœX0wþb$PO¡°ÐjŠbf˲¦Â2$`§üWËpáÊP²rz?}‡ÂDïàç¶£¥`¼ãR³SêŒ2ÑXó i«~µ´ D©±É©tg*ê̜̄Ïnþ$}‘ΰ¯ 0QzGÅÕ’ìÝ•Gƒ«VÀíKz‰?ruVT%†#óü„¶ÏÍùô½b•,쇰ÐÍÉzAØÿ•ŸvsT~ŸÏœ}gèpS7¨7ï㈆ƒ ì œY?J“NL…LPß7Tzœx¯¼ê¼&Ïô²‡?äYÄ-±¾ ŠßbɆî*'±3~+Ý õò•øŠ–\<ïŠx³êûÅ®šÖž’½m~ÑF` Ž¾ sêóá¡–Q”o ²Û“¯&a0¬Œ°^`ö`ÍtƵ<ó öoØ8áãƒÔÓý×dhâ™0~ Ï©ƒ 3%òfºZSGEž"«²¢,øì\&F²«¢]:Ù/>Îì(e*Â6EÓðð0¹QGšë‘sc®>XÎñ³DZ­`›çŽñY–î·Ì0ÔȽ,²òÍ·A ¿YAOÍ"œÞ’(wwd.×¶réÁ†7è1;ªÈ“íÕ¸²p›ÛH¡~q.®$•ìÜ£mÖëäfðna?~àa2ŸNö1 h†ù†Ër&:wf@7ˆ2:Náò‡õò¯‘-+në¥(ĵ¤i\/ÝÈÐMcfM¼»Ê4™Ç(Õw½jï NIÙK5c]kH‹bà¡ µ[n›GËôºêE¢B¾°„—-v¯°Š—;?ÔÓƒ›ì`ìWö$w?t‚qE¢§´·µ׿³>‹Xw#Ro A‡¢ïø5É¢åtAø*hš>®Ž¬Ö‰"µ_í_d‡kr‹ž ôήʖ(‘p€¾¬œ‹À…ó묬OjŸ>ê8†>?G!i;ø Z­š©}…Ö•ˆ QLA©ƒ²y0))°~¤U]ªò<‹N½›vM{G8C0cӿާwÕT{­q8 Ûïò8jÅD¤É¬ã”1‡D&oçbfGøbÍü²P oæƒBÒxØlˆb~U­'!3kßYK³ÞËY‡ˆ*]È~e#+“ɘ‡û£jyzûƒ_×"Ï a÷{å’´À9z§ó%"=Ù‚®+?­¬C¼<Þgc73gkøb]#xïc¨k_™(#@ó¹‚ç ºjª–]‡N5GÃ{k_(·²%J÷¢y°‹ž0j ÷  Æ"Î~xV½^U"Âõ*ÈÞÆÝ$ÎÜ6qœ„h—×Q×ÁÚÍÙ½}pùYÊÜ™ñmvÆmo>3mn¸3}‰·qyÙM¯éä(ø÷DÀqàçðvzÂKTéàã<‡Ä2Ë'Kä¶’„ÄL–>w`¡òÛS³xº˜× D-i +T4Hæ²¶0ÃJïР‰Ü¡p0Xp„Û¥ÿËòÔáÂRá.÷³%‘ó‡9ÂÊóK¡D·©øã.ŒèQžщÇ| :"aîzFP̶p¤úX-¢ \‡Ëní›ýQ½jŽ®Õ`ÖŒ,Ü»ÍÒBã$w=ÿ ¯¹ ‘±¸âìáÚΡ0«wæ¶f#QQ–QQ}*º‰rrK¾5ö4ÏÝOÿ b!'áêH.úvm´h”J^tz¥aA{r. "\3ð•+ê×½9Ý”jØh‚åé:›`˜¨\K¢Øp¼™5E™Ut0µòxÛjÊ ö:ÞÁ®þXŒ5ÇzÝ–ÉñI!=žij|BˆÉYV±xE?¡á2é .Z×€n¾säHãªùp=|üÿðº$¿@’!ŸÒ´üÈ\þOê²ÿU¹9.ÝÞ˜áÑõ¨ñfžæ'ÖŽ#³œÛËÿÃ[7ÒWƒ¶i+Íô£2gü‰'HBËñé8RÍ&€˜©€–:¤áÑ~ó[ß5ÆÐHuóK*VS!ˆ$Ãg‹í0×þJˆý]“f4”©Øü ˜u~ÜU7çE¹3²ª|«¥ZŠõ«¸ ×Wk Ø0•ȺiÜCûRžä»2Äß;pMwXŒ g"_h#S† SÿäP„-àæ<¨¤½·D²î¦º{À¨ôè ó>@åQÑIô^€$q7ÃAëÙv¢)P8ùÎX‚û  ¿/PÎÆc1û'–ddN!*¦º—¾ÞÌ¥^цBh¶aáºÿøïñâ^NªûJžî@QFRÎüãÜžìn„À£½Í°Ø·£ß¾ÿ2¥!7NZ3XOMçü}}¡g¬ªº¥ˆ¶7pFîÉÜ­Ù‹Å:~^ JëCK¾°‚ù:¯Òy¿‘e+¿ Æ—êó³»¾Vv'+q8úÿ*}üôê‹ÞþYUìõÉé9!½LŒïÀaÆOÔmâ𢱳DA÷) K<Âÿ mDÕà«Ê÷Ìh]ÄŽ‚ŽRjcC]|É—ý£Êµ?àÙéÈëÙ'æ[[íCÍÃ.ï¿ÓCŠ|/Â}ÆÌ~窇P™&'|ZÁ{ÐpÍ&FÆ_[ ;ß‹Ÿý­ü9 E6YO»|í/S›Ò³Œ]ޝŽç®b]ú“æÃ$t^C3‘7üJIl?°%5)‘ÞÜ Užsuœ§"¡ƒO¸¾¥\mä» ‚^—t»\rõM[WQ¾ÁqeΩÒÿ i Ÿ›~ÐMçKcP˜–¸«s-,Ÿ fU}‡Y–V9øÈ¢’l0ìÖîfŸn´à’ŠPW^ ;³|@¼+Aßc¤Ish.ݵÝà?yw'$X6X€÷²]Œ_œúÛ$qžY|ôwüd¿ pvU,à-[:Ä4‰=uU:4\æ]Sª$§‡'d…2×X²ØÉƒg®pN)¯çF‰»–¯´ª=d7lêä.™Vè ¾±þ ²³0P¹Ü°_È»]ç1ùÙó Ã4× ¢ÕÎ¥?3zOö½nÔ£á”ηÁÔìTW­t È¿w§Ëf( –³]± Â»å)è¿=þŒŠo8þÙ¨k¬*pSiñ[Ê*€átùþÿ§@[W39›e©~ú›Õ‹ûK÷’-Ã}Ýø…feìk[<£&8ôÆ…ù¥ü åÀÎtǃ +ø¨§Æ­>—ç9xÒùBn 7/üÝʃ@§§%^Tíó€ 9NéŽÌf%↤‡<ˆ- g¢µ½üœÖ–8œÁ¬6·â©½{³RY*©Š§xçw—_FƒšU oç;°Eor/=ìÍêϬ$œ ÷BØn‹Àa*’¦÷Âvaé½WØtÅ[¹_}¨tJ© ¡=©D׃ÿ?‹ƒÃ]bÔ’1f•§Bþìã#7â€c낼2ƪ£(0¯{µw»8Jxg)@³}Ÿ¢þ]>Ç« í·;ME¸|Ö%ÙÂI‰¾ØJµ6À™³ÌgzK²ß+¤÷J©›X£šŠ[8Ô“ÌSîä{²Mþ”¬E"&_ØPXP›S¹rÈ•ªq_'h0˜àܜŴW0 ½Óöuºƒ¥{Äiiv…¸˜œ~&Ô`ޏӶNpJuFöÿü‘q§ÿì …?±´ÿÙY©í×­H7›¸²·YAr°PÃñ•›WïðqÛÑï´ýþ¥`ž‰‘8Å¥µàŒéˆµíü.¾)*Ò~;Âs<\ܹò-7鑶͹âÙJ>ªètd 9¢×ˆ‰¬ AØ~L¥i€u D ¹„ôÌóÆ–ØCeÔ¨y° m‚@M¢Ò§öˆàêíX÷Ô5q³Íh„Ñ2‚Ü´ëQ‚~%ÍÚ—H<¼t@ÜcÓË1ã&›ØÝõ3ŸÉ˜±©g™!ùU.@yÿšгå¼ïRÛi…¼_B,üZ~©è ±érRëõ¥ëVÍüä.Š@WÔ@ù-RNÝT-2‘›{{¦+¹œ·/€Qž’4x+ù´áóÔ7”kë’_-I²õÓ¾™ô[™±TºÊvZ'ÿ5ž–@%sÒÂT/æwôT»dr…ŽcÐýž~2E%[!ÿ“ sñºD½· ]¿z—&FîÞšuû›Íi9Þ˜ .æ…Õ.\¸#¡é¿3ωHló'y>6ÑûWù´2»Z;Ñ\Z˜ßwV ûäOÞF[ ¶ræƒühÝh¦í£L-j4û?Ëèá ±9‘Ó.æ¦_ oOAï.t À Õ.„Ñ@¤·& Œæºßï.×½oÓú!jhU‹Ÿ_¤Ê·£å[%–Ò¹˜ÏF07-Šba»ø WüV`¹,-~jìbTmayyxüÙágo6ø3yžÞŸVž;¸à±–±ŠcÀZgB¼9=a¼ÎÖóïóµ¤P[.õ}i2¿@¬ƒÇgF²ŽŒ ¤ç=V4P3”ÈŹÞ\3„hô¬ xp®÷6°Çg{ØÔ¡ly˜,S(ñÊ6ß3Vd}AávUª³¹ïȶˆŒÆÛ”ÉPBÐÉbÃháÒ/31Ãy•!î´ZÒâµs¼§ú™ûBÆY Óó·'`0÷‡ÎM뱘r]†~²Gæ‚¶õÑMÌ•–Ø É¡Rpœš˜vžŽÂVÑŽa÷TÕjYk» ~¯ÆÆ“/ï†\ت-¾j̲Wkëˆòöc„üÄÔ¸ð8ò(> ×¥Öï:E›Ò2Õ-¼;K"ðO¾’Õ(|TÍDºö#¶ ÚnãõD·<Áy££Ý òç šH¥Ë¿fAw{i“i€n:öËnoz£õÏKþÉy£˜ý *æS'³}`cajUÿw8€(eØs†Ìé{™§7Jˆì¡jÙbJÂÿÍð„-±Kzk¥öœ¼îGÙXyKÐóe)ûYï·éiõObÁhYR0l bp¼›kG×± KË]޾÷Äk ¥¼ÙÀb†G¥˜Qen_^ÍU ”%՜Ⲡt¹€OæQ/¬Q¸á0bŒŒëe¥íÈjÂ?MŸHˆ-mœ¢¬ÜoZéÊh ©²“ÌvæeÝÿPLóE\‹µŠá|:SnnD¤‹Š+YxîxE߯þäFÑ4ï§‹ª2¯q£.ùxÒo‹k@ðÅ +Î~tÿÒÉe:ŠgUãRúKqü°±œ,íœçí±2Y™°o>¾üEÈE³ °ð:X:òÜÆ-_q,Á¯£€0Ð&½QÐ.-éö^rëˆl$N¶ie%£Õ6pÇúŒ £±TwÇÖïÓÑh3“¤­ªî.ʤþÀ?´Ü³"ßýzo:L''ŠLøªH©û)?$yÓþ‹LÛûÒqéS ÆNý9PúN¬©‹tԠ½rôÙ•½"Šj¦=<285MM²¾iJpzg Q¯Ö®…Âè ÍÇh*Žæ@ÒoÄvwÔ®Ød¾¶]džLàíDÂ)If ö ®´¬UŠÁlå„ÒÖ*5õ‹ÎàÓ õ¨ùª)ŽH1Gâij &TÈ#XáÅÄžg¦=,6˜Âßáü§ü¥FËËüeø¢4!r_¿ý(½uŠœÃÈ›ÞtÀ•-vˆ‹&g±¥C@PʺmI©äË.ê´l},îÎþâá/&E»ï:N¼i‘ÔÛ’·Ä9ZF<ú óÍ€Qãs©=Uÿ³ä ž!!å‡Rl]:8ÔžÙ5ÙAULWÇ´(ý ­U8ª™4Àâmwž:æ‘·«‡OpP‰¼îÒv|ͯ äÞ'0¥ I!ä\(Åÿ:ß>çZ©ŽKž«<&!1jlMµ7¨Yày¨¾~hMÙÝjq]";Å÷Â;J[¡+™x¼È}_âO­(Š˜¶»„°gARDÿ}oÅ;Ìú½¿åœæ ÃóSä+2¬ÖÚ]:ôj ä’Û«E©~$Å¡!x^µ€HŠÌœ€ÈÉZ×OwDÄýjŸT01†žmÞ;§ÈÖÇ»Ç[už /ÐÇ9UVy|RçPÁÂB—âSa¸ ÿ§¹mÁzÌ»l(K‘ªç@äZO`¤/ƒ~ûØóe7"5Õ>ŽC2ö{ìÀÁÁÕjš3]ŠõW–I±³—õú‰Ç˜+qÖ¹™"ÄJõRþ†¿VÃ{éšæ5Ò'tÄÚŽqœ5 J^a¾ðò›]-uÊ«}³Íáõ-±òUœ‹é.M¯ê’4 ŸGRau.+‡(ˆIÎï$7»‚ ñ¡‰©30«Ê\.R#=v„eîç4'Aô,ˆ Œ•> œ¦J¢Öx7ø_#¥ƒÓ«¬¢^[Ý«ßV/6š®IŒÿ”`]6wΧÌmw^`Y@Ž=Д7i«1²Lúƒ™ÔÈAƒš"y‡žÙÙ>¢”.cÐ1­ë©í äP׿‘¼½œPëíä ’ÝÍÉ® Ý[LT\P±¢?g=*Ķ#—Þ‘ÿ»íµ*´E´Äõ‚a;s¬bï§ÿí yËÁb‡¯pµíe KâLJ÷<>٘霯9½ ܼ%J.aœÙÜ ‚äzB7ÊO–ë. Ð±Uj«niØÊˆK{–& ˆý¦ J9qplz h¿¿tɽ\çïØt¡{q,®á¸J³§e‘U¶†‹ïUá$c`½|â ë‰k„¬Š…Æà0J°œÖñò«~Zµ¿Ý꥕ƒ7¿U¿·Ñu†žÉìîÙ´•îc:Áº6‹:LW.7ñãj4cîKÌOPFbÇ~æ7‰1 xø\¨ÿ± €èñ½átá×øÔ z®(]„ vo\².* dýÇ÷Í—ÏAÂÞ.Y+ÙK÷…:õ¸üÛ‘Pø{¢ÃlåÕîhŠMB–v X'²E‰o‚p'µNö¨µÂå…äÞB¤Ï‰&ÙcúÏÇŸ ‰¡3R³¸‘—œ“IؼÒq]Ê(ò!•Ó‰,þ`Ž—Îé‹7ǘéÔå_Ã.ok P~“©¤añåO.›ÀŠ(³ÑçtY”? Ù»ãafñœª iôïsÏIXòoÇýiì ÖZâ˽ u›¬!DsHc¿Vüc¿;“s£ ÏAE½'ýŸJ(bNèW3C_ÆVà®hºE×]µ=Ï´Å é…@lUmfr&‹ôÖ5œ[='Ÿ}GÇÛ‚f`=,uSÜ0ÂÇ-Æh[ªÈRJkÝeô˜we“òó뼤'EƒVBD¦ ¿ÑóbFˆ/™/†žcáö•9ží™j|ØšP ÒûóIåÂäOß;!SÍ ÌJYhucÛµošX~5Òñ ¯oÇÂ˦ËHì(; ©Ñ`'7¹ÊÉ›¦ A8ÍÞëú.üLkë…y¾.®`ˆ+iº)‡î' aòÏ€.¾"N .Ú=žÒrQB¡ùó¢Í†øCY#Ì{9gþG¤mú?Û˜ÒʜΠ9 •ü’3 ÈãžFÔ8Nû?rÄDÛxã+f~Qcè"Jv»Ü¬Ý'*Üt±üž¥¤ ³gR»d鸆ˆâzo¯Ôj‹¿h•"áùǸpáçsêýúvâª$aÝK;ÃàY²&Œ«)A8LÌSÀM’@µ 0þÏåúK,ön‘‰Ïj°vh#˜[IÝY\š@üFóòŽÃíf«™]f8·M+åÇìÁ ¶N4K0òq:=`Œ¦yÉPx"*d„d‡&)èí²o ^¦ÞܘÏÖ[šºâìS†Ÿ“/[$£Çƒ?&cg`«° è!¾j¦ÄàŒ‘Ÿµî`y`õQ(€ Âˆ0àV¢~èøkÖ…ÈÌÚ'÷ù±4]Äœì;Oײz|õú´ƒù›à| +ùÇÈŽ¾…+]ô¸åågÂRqó„[w™WÊM î¢år¦– VBÁ•®IÈo &Â¥"½BYò›|U\Òñ[œ7{(H6EHÜ}ƒLQYi–J ˆ×ñ~†ò~7À&ŽºÔCAë¼¥É$t<œ$›wüT€;—©˜†ï·Y†ñú‚/ãjgø&eÜ®}Jž¸lµP’“¼‚I<…wö°ˆê@™D÷õ ‚fÄ‚ùÛr¬\ ÍöÁñZÞú·&P ûÛKû2ä¿ó=Ñíy·GXüÇm·–+f Ï{mz¡ÞB]³ m¶Ë”\q¾¶èù3k#¨XUVúœ…*×Ì„ªO”þWšÂܳZ¢«Üdìyá¿Û%·fe8ì10f>&2øQ;ßc\[wO´KìÝe× Ž°!‰NæÅÛL†dÃÁÕÓb¿(‚qè.oã{™äOTtÑ}!œUÇ"׆G‰rRúC¤{”=ÔÚS×§¸Õ¶Ë aÜ®hâZ¹” EÔÖÀ_ ÖtïÓ=sŸK I§Pïå^|‰k"ïQ]5w#i”Ìw¥ ·ÃÍ )ÕØÃn@&.‘òŠ qúQR§Ô'åù¤—µE±ïåå~I®RÀâXGÒ¶ûO’·RëÐy{ŸõV¦À&–Àwó1SÝá£SÇ©\#vÀ ‚ÇÁ¨¥$<ƃò%˜œŸÔúÐsÑS[üÂ8¦ð0}fçÚ¡Â÷RôÁfq‰†-°¶ì8c·]#3ý<ž¯Ñv¨^wÖö›Î2jðˆ.ù9h"—ŠÇ¨2‹ ÄoÛê.Ϋ•RYÏä„(-2‰W‡]sáÆ:RˆÖª2VVškÛ‹ss.ÖÙÿؖ“&Ä¡ãèî}êÓ9Œ7ðÁÚZœ´¢½0v6¿ò©Öb‹K†4"€(i \S~±ž„œÆÇ;r/·3ñK¡³°1cð95q©·qb~˜÷]­{„Ë"‡µ_ŠöDóbt±–vÜÛçqM0ƒÌkà ÍßÄr¿lÚÎí×—[–,¹ƒ9»Å&ït7$'5 ?Ù’U5W_”±õï0´8ãñÔ—)‡¯h1k‹b½Æ5‰4g÷Ö¦ s«ͱÍKwi&ló û…r»|]öÝúƒ†•Àvªï/µ¢ð‘eÜÍ !¨u‘‰@1< ÙT¹§§h "¡)z$ƒ½»NÎ(mÆÜdÏâH‘}Ë›xÈÍîÀ§6Kx=“ã‘ަŔÆû4Idî¡L›Ûr€\L+ ½cý³œÈ*I¨C_Cv~' 0–6óÚŒ òŽƒ^í>…Ť1ØtáLJ¡÷c6®©Øx[ÜÕé3ïš&OQwP-7ª ¾O¨ðØÑø:I½EÄÙöì¤h1¯K¼5ùw Þë''&s\äâ¸O ³óùB£óʱ0@}ô˜ñÃi[°J„ÓÚÏtÕ®(M?©cß)ÕÅ+š‚ˆ¢ø”º FF DCÌJìœk §B1¨~PlEÂF"ÿ—(MwB‰¼p  <=,£]÷‡êé¾ãv u—//-'°L?‡¨=3ïɬÇÈÌÐi6Ót´€Äkæ±Rl¨ìòî½°a¥ï*nAÉ1Ð< ̱Ô3üy‰e¡¯‰ ϱ$I’Êýqš˜¬0}Öž>\äƒ/‡%•—FÈ3²Š¤@Ñd~‡uÓý!Ëœ¬ôÞù=á 62t˜-)‘öŒ´;sL‡RpBÌ‚ò¯ª©,ú½DĨïÆÄ—ÉDþªáõyƒà-þìËÒw2´Ÿxbü〄EŽEA†Ïtrå‹sø(;ÞÛP­Ýò{9ÎùÈI¶AKoøxÇHp¹1ïÑ( ö´`3RÊqsJ§Å¥Õw@ª¹¨5´)®r´¾ë¦åáLhÖ6ÆáwŒÝ|"u=öéÎî¾ot‰0ip»§¼Æ¦œÉ‰«›ÃL§k¨^Æì¥þ´I{aø‘¤ÏŠr  %…üÂÏÅj P Ý49L0pœnŠÐ –c)oÌ•7éÓâ;ùxMµ mG =>rêrÎZ$‡.¤}¥ºLvˆ°µ!%:Ñ2¬ vµäÌ­Ï‚G"„ï{Ço G R,àF>–s’åÁîåXZ¸uÅå|rtU‹ùd@Ù4ä,ûS–¬l6Ÿ·fâum‰“¹„ÃW¢’‡ÛôèÛµn?y¥%âH3y.²MÕ§Í †%R®hJ~â€Ç"-(=êt`+BŽl TëOóŽ!òŒ³ûVEÓ§5ú¥ãah~i{dà1Èz%è5*›„^a"5æˆ HÆeÀõ)Bè˵ÞSuš»~æ7ÏÅ5´I׈ˆ•gá©Ô®81¼Þö1 0"†ßÏn“œ©e!ÖÒ«nT ù»†3b?ó=•t„üp‘v±'Cš›G„1 È{x˜4ŸHá7®â·Ž] u#R&íö^\÷-è'kù,Mñû6al5Í·êœf'Kv”~œ+ ïæåIxh˜£"tb|ÙÂ/4j.?!ÿˆ‚^Ñ)=Är£=ö]ç󌃶÷ú¢P£áÝtÙu€Š >í-›v®4m?>¢O)pN+º|’jû%-–1#¡HKfVGÿôp9ÍéÖÞj}¹*ùwùÌKnü>·;¨¦PêD]ºà5‹"¡ÒSÿ¦ŽóŸßaë+8¾R Nxþ„ÌÊ˧+Q¡}X%ؽðÍ»§À;—ÈÍJŸÁˆ¤”&µŠ4±úØ–±ôÙ™]ÖEZîÜý´/­…×ö¡MÂ$þ2 K¨cwáÏÕò@4òµS ÌÄ>úRzfhÆxŒ;›X^#ïݱûf½®w$’¾Ñbƒú$Oäæ{Ñs˜O!¼z˲Uæ0¨€ÙWU ÇVCß?ÈçˆÕqwhOX3²3óëú‘Ƙ¦AUq.~R£Q+˜>^ë¶ Iäj:óæ-ùD“z&ï€4ª{Ä;*\B¸Úfõ(ì /"b‹¾oª”cGxXÀ±²®¹MÁ•­Ô·Ù½a>ó-ereAÆááü•{Tq/모m^4—IêróùжCw]•^‚!‡œ‚¬CAÖ0Vo{.‘¿P]h©A‡?ª‡ÜäØ_dE ^u+`æUÌ3K#ܹòn3ßIH„!TÏ=×Êß’vú@¯¹VHxc‹¬óÊH!ŸÆrÝiK w›TН¶°îÀú:톔ˆƒÚ 9~³”ˆÍÑÁá­á`&W]’^ož®AQD;s+†j_[;aI=ÏNS…È”"ªÕ·Ž>uÅ#±œ‡lºþD22+\úU™vÌï]Trj¯K7žlŠàé*MG¨É Ò÷ìQ‰X—ï„3å]¯h¹Y¿õ -ÐsÜ¢ÖÿÕkÄ“O¬95åº*Â8Åõ_|;R'­âö ÙªíÿTá|vÞŽaýð?k\6+"³¯6óSð ÓŠÀ%ƒ) ¹z¿¿â×â2Kή'AZý-¶?ƒdzÕÉ‹s±Dí¬ ggo×âfÓB×ëº×€àÓ,áÅ;‹©'ºÅ~ŠJ,­N ¡xù+ MZ:ŽF•°‡/΂3-.׋O`UÂ_n˜é˜ÁUv{Ç-Ýt2ºŒ—œÄ¯4\voõçJžúïÜáµK†0ÞMø€O.fjk‰ Ê A—þG×'Ú%h«ƒ¶â(¯/Næ½äE¸ýXvM¥5º@ÕFJ⸟NÆþÎDà ¢gÒùcZ†<6TŒ^¥KNv˜‚®ˆ©4d¶q}|w¾Ü§u׬æßôúS…bÁ Z*7 fðF>²µÐmkˆÏÙùÚ„‹ØMÝd]žy‰nr·Šýh»v%7õ4CóÃðÔx™©DH“æ!P €dyÛFbÏ.±Þ£êg0‘t7ü×ú•Ú㫳ëü<É[ר=Æe‰”P áäñÌ)à,Éþ\ˆ+¯NÓö Ûh ‚ûÈžËËɚΧ1îFHQžéH“LC}BÈK‡–‹‚gþ K˜0q§Æ†u¾²­ÁÖế4àŒlVAÊç<Î(§$Öû­µ•yª‰U_+µ?³#žWN \îÇ@èõ8©Ü'7ô¦Ä¬j?| ŽòO0#æ²âãrfâT:ƒá|ƈ#ÖyÝ¡µ,þºÄv§-vªnù}fZáGžû8!µV lW¢Òpó;Z¿s·K™n_@Ï«XЄ±û…(; ÛRöWï”A¥ÿ>Øx™¶CÈjT㪃ŽL^Ž^iªhö873Esá;á*áÅšN¿ºE'J>ôÖG—z_& )ÊÊcô„j\úÜ'»;v£"ð‰±Ê-£ÊÔì8TQF:a è•ÐÚbàV7FB‡zW.^èÀùm‡~ÜLø£âÕÅÊèAäúüzáîBvag;Ó°}ÙO÷ŽóV˜ °="óŸZtƒ#­£ •í‘&£e㰸݇õSZ9ƒ‘8v¨ãÕAu©pæ¹(ã®åˆÃoªæ³àæé-ÛpµI'yõ–¯ –ùŽ5̃šOa³n*“Ä;°qN¨]=º08ðéhø0Ú4.ƤfpSÊ 9[»oÒ'¹õ„ÒŒÇ|ž˜}¦ÏKÐÇâÏ­3ï›ÖƒókkÍùÕÐÃf„+Ž*Óž“””|ZÖ²™VüΞ—™ÕÍ<ûÀK~tQ9Mü]fa•#³›pºé³§pYúÇÊ †;tÿò4Ž ¦–PlIFƒ«õÆSMãO_;ü¨eî'õƒ‹th~Ôl`CP#UNð6æfŒn:ëT¾Øè44·°!üÆ™„yÖ‚Dh‹º°hBÃMK7sðcE^`Kƒª)²£ácÒbN°nâ\Üu§h3…oåÂ.¶ÛIù²%p'#ÈæëOü»àQÞ=“Â-¿‹.Ï¢*Èn±\ll'c!”©“ »"´Ó;ò¥¨µ¨…¦Ø4J•Zʘ]@³ñZ DNà¿—B>‹[þlËvè{!?´ Òr)ß*H‘¦¡ýÓ×°ÈñþéAëÎwU6û†OÐzb–Úí½^ïYù÷4\~2–ÀGSÒMö}ÛÆGçš1Á¸»Ð3ÉZ²ÐN¼^XRƒLÉçwMš©åÀ•Ì ˜Vg›.Í*øË(×xº¸eËUº£ôäÙq¨ÄEÀà¾c‰_ ÒoÆbJ˜¢v©†6wƾôˆq™¨®>NZÔ]Ü7´f$É?\j}ü­¦lŽ K¨ÑE\iÙ¼Ã6ÞrŒ}-†’—¿¡]˜oØ×šuê‡îóô›ÝÃ{¾ÏëŸ ¶qç+­TYøçfq™gÎ=’)>TÀƒ’¥éºt™âÿŸ›->Ö÷½?—.|'É ];O}0)ù¾¥õ£MΖýS·•ͰIBÐéjê€jædP”3á-Å|…Éùø,ãN‡;êH4Š‹›»¡¥3±>ÌG↬ÝP~h§ïC‚ÅkIL òl'oF`¸dZìÜ ~#ahðº7·BÔ <¸?‘iE{àwn@ý¨ÂÛù5}»Å”ûךú0§‡kGqãrÒøü™+å}DKP¦#rÂ}l~ÌâÝ +Ö14¦È8Ñ%^Û$«íGóp„b` ØàÎ]wÏ«ÜÌÒç0=aü× ðJ¦W¸þÔ¦O”PµK ªjYŠs›)¾¤žØ·È‚ â ¾X„ÛŽ€ÏsXí'0´÷o"Ýü.Œê—Ý u哈vµÞæ·È,e-Ÿ‰‘&þ ñ©i™z,†ÏšlPT¢ ÃWyh& Sòt‰1V—vîð&Ì'³xËny&µƒµÁ¾iAàO»z+Úm—žc+åâÕšœŒá‘ÔÍÝ|È‹váê³-ñ)m•G,öáÜ ”p€'Ѩ×5WH”Æw{eå jm%±ÀBâÍzrlº˜Ð@7ë]]‚,;ÿQPj™Þ±}î"BX2 ¹1ujqÛ(}sŸ°p?Ò±zU:’F¶žEd2R<ø ²¦èMö™˜ó“>üœX¼wmM0œû:ÇPÕ#û8X#w«§3bv§óIyÕè. *võfŸ<¦ß]SÓÞ8½ ÝCœ/§ ©Ð âXêŒ`R4‡›©h=èr¨‰î;¨laÒvi¢°š\¿pYjp0?l(2bCçÀ¥ïÍ!ìwAçáÙO¢Hc|Dçg¿OÁ;fPr6Yçv97nùýu×¶‹§s à(¼RÒΜj*R5fZ68ä†"ã(¥àÕï‚mE»~L°£Î‡ÖÄL Š ψ¡ÏG³ ž¬{a¬¯À£+DDò0;/, }žÓêjÞÄt@4o ÒOá徯ÊÖ•µÞï×vø5¨øæDHIzøî°Àˆ‹¿–;,2wÝ'?“ãqÈ—CD6.{ê ó†•åâØof ¬ùP&¯ºxìQ,È™RÆCˆEêYb(ä>£VOÈõ"Ày:™„Ôp¯ÿ=ÀöJb"…·Ÿ5= —Ï”¼3æT.4k4ÔŽ'ê…/(ÝI®4>Mã²…mbie­³7TöWSH;tæ ‚ùV7¾íiƒ| ÿ*Sµ-ÙÃRЦýûö!_¾=¨Y ¸¡}Oe†ð³æøŸ ,Jßõó«jஈÒm£Ln‘̙ɑ~þOŽ]щH´›c-7ZÔSÈx­u!í6£ÕNÓ8mäNA·÷í‘ ¾mäù+*õ³s¸08`äðŒ¹¡–‹ì)P¢-ˆX_ÑhJr͈´bÐþ+­ÄÊ„<üY.‰‡TõŒ†‰¦¸Çò€&ÿœ¤-Ú¶Â6½èÄÖÛk×ûáº`¥ecÎèÇ8™U¢¶ë“Æ8§¨¨ýGjGîÕK¤žÚóT׿;Å?œä›LÉx©è %##Œ3ÓËŸ£8ÂÚtAÌ:iœÐ†£ü*%9¦Y[a{ê,ÀŠØªô8ÍRH]³?Pz™>\ãóXŸ‘½"êKµ[œ­ÈÑ  ‘lqô¥Û>æ4ðàˆv›îºŒT(‹x½ÜÝÏMÎC©|b¼¬ÅËI6õjFŒ6ªaLd‰g¸SUm¬Ê\ªa[$DÂë3¯ã?ïµë±á¯õÊ ÅÅ©YЬà ® ‘÷´1¥7ªÈŒe’'uÄ—Ô^VÖ€|ªîü{y-± Êbeü鎋Äc=F8\»Öbóˆg)e-ŒòÜ2%QLÊZ ¯™óê‘\ë ä¹³%b™4ù}:à4r9†mëò£;·H%­a©û¤1:¤p’»ß™pxáU{ž—ß*¦–ñÄ´×@Q ¸Á­ôÁJ5óa ¡TÉ*™%Zþý ™¼Å³¡Óà•Ƀo½·O@×nôçïh÷‡‚ìXPG‹çÿþ× ´=®rˆî;Îþ0€¡÷¸kÑ{êƒ 9˜ í—ñÚHÙ}ºGötQ‘ þc¦Ò8¦ºýÚ9 ¦h‘ã`&Ø«xlúTKM¶Vk‚ ÁÇìBüX»ÚgHBJ£ý¶ß+{¬ó (¥1íèÝ­:ƒN·´díœÑ“†.²Ë+¨´bÆ>RW~§É•H\ÓÑ‹ª(›ÌÖtâŸR¢ÌEH®‘ƒY1l¿ö^V2¼®t…£ô@ŠçZ†a\@žÏÌ¦Þ Ÿž9Óp*‰¯µXIà'ýÔ÷‚FvŠã„ÏÍe²š¸CÌxNÍdÉ~+÷3wóâ‹s='ß’[²ëòÏÅùº«»›¿”[ÂFdóš%§‰×@Òöõ{PβþòQ(Š*£+2uûuP=|Ì ×x©åü-]Ì‹‡»5ë'Ê&aˆ,gÔd7&¸³cøÜù*Mc Õ†ÖùD¹)µ‡ID¥b"2.˃ˆ9ݯŒ}û}êUäsÙPº\üdºM-Lž>Ü’(ü#0ÚÈo‰B>a¤îy¥ÃÌž4UãÚû|8øæ¥9Ýv•_Q6ÉC¬p\ï¡°íŒÑ##ó@ó·ígl0o.šúìÿ°hg&æß5ÃÛç“í|xH&ðF ŒØÅó‘‘§-N#ðèHʦK#žŽ×2/óV¦vÕ!™™«4-åõURr´m:08W\ÐÌâ¯?¤4îjV§X8R a8±*_5½ú\NœÜ%ùL…ä4ä$,³‘1š½W…ðÝŒ¢I`£ô 6©â &‚0u-Þ!ºù'<‹T›7×§ß²-‚hŽŒiHàJÒîã'”}"&R-ý°÷kY‘KvŠqÏË™Èwäu·Çó§]>bã\ƒ`?GÅ¢û¥iÁÞ/UÓSp­É‰ØËë¸pÄ}Ýr Å M}bm8Þu¢svñsF`Ú‹Ò2!P§·;>«Ô¬4ZÀ.šlæÓ™ÑåJıiÍzö¡«õ˜¯*Œ¿¨å®,À"¶Å~«GÑg£ëze#'É‘|?&'? Ø…SÊ‚zÈeávÀ+ÆHBëJ-•)~!4Ž¡¿É…! Kº;W&<{ü<—Œ†µ>ƒCIÓ@¨ŽûsrFmU‹Øš´ÆÅ6:?FïÀ•cÂËL¯tåpÄo_¦Öâö3†‘0T]I’øR?x'’€døÁ‡Älòn89Ò]”È/JY{`2‰«ƒ"Šïœ/áÑDΣóù¸”Y‘ûÒ2ÌR/a8 ¶–ÖE ‘öd×á7%« @:΀,.Råõž±@¿í¿†Œ$òñRÝv—hw¤Ñ²g}¥ 8ýüfóÇÛîž½®Ì0‰èiÓç˪‰}sª^* ƒÞúÐt BíGÍË;rÛúèðoÓ-ï6wÃc¤j3Џ¨ýD¬þP i;6— ¨<–m …eÛæbƒ~ì?¶Eœí ²Á\‰|ñK†@ቭ{–\îc Ej±Ö–VšuÓÁÿárÃˉ’1D×ÏÙ²$·l†hì“më«•ÎI€ö\µ Š•è’£Ý7×Ä•eà38aÿ¼ä"A…"ûJ#\Ááðÿ†‡òXî¿.2BÆœf‡Fòlæ1[KÆGëc6Â>ì{Ÿ—vÑŽ"ˆÆ2Ií@‰žî<{Ÿæœ«±ºr&5MÃÇ«ÿƒïd° –j¨ ²µ9°ao"¨½¦óæûÉ –Šg2¬&ø{òœ{y¬ÍÖ†]ÆŠî#»4B …`Ò¾äìTBŒ^ƒ›H×cˆ.œlYê°8àn,¸ýÑIî§(Îs6-Q#Ê©‹K_ás>·꽂ÿ'ݹasfÍÑÄ4)µ®à™–F6ŸKGRE&Î2Ó¼wn3ÁhM+äÐ"ïÍt?Ä 7ÑYÝé“ÞÇ·õtÆ¢{-ž˜eüv¬K º¢³"ˆõÃ<;©ñ¢–I¦9Í]†»íӫЃ‡Tg"6¨vxž–ž¥vŠä–Ú¿ê&þ ØßçþˆÞŠïÊÁÿøCiî·Oè¹€¢o,¢ª;С¿¯:Iî<Í}Œ«úSnβ‹´-ÎÞòÛ~rV»ó{x6$jQŽŒÉ§3™PÜ1¾)/2¾é`†ßí7ÂLÀ }e1­2çÓß´•2Ù*hÓò+"¥ÂŽù k7”‚ÓYÅG•£p8Žˆ1Ø·/YË7H–÷œÉ'Ò;ÇâÞˆ2ìÿŠÙP¬‹¯xÊ1˜q~Þk¨6 §ä³7)߈yùãWfÄ˵ˆÌÂ]‘ƒ@ ì^RÿßGŸ¤aþé߉ݔ{땚_ƒ3Ò™¢€)W•VGAFí,é|®Bã[+‰yuÄÙR ƒ{«7¤3æŠ>túZTn^¸Š–#¿WsQ ì^W¤¸CŽ› œ@/£wóY°t»`ý~Ê]ÞyÂ}Åp´KªCts½f>Y Äd<ÏÔy>{¶²ó4ML“aÌÏ0 Kï•â*^C±]wÆXŽE¢ŒÀ%»ß¨ÿx°J½v{ÌwÀošé˾¾Õ$ñÞ`ÂB€¬ß"{ö>Ð}{ ½v{kbÿýòd0Þ8ݯðKZAŸ>اF2ëÛÚ¬Óeûƒ û-æøà$Õ=ɦ›Â=!bEô+?Ç,vãÎ]]Ù¢h¥–Cå«NrÏHàÎF” ~éû§‚,«´i„./òôOz¹€oÉ{.ÒˆÏS©>7Žâÿ­PhÖT(JÇUFÚ/XªÛuÕùÊvƒ}e‡ªÔti¯ž9=’•É£ë¯lêâa—ºˆ …õZ{=³×—<@‹h–åæ 1(áJ¾|ö@T˜ °Z‘ÑJÐ%ç¡ülþïë¸Ë§çIPÐU‚¹[¸ó4+”p~$Ù¸¥\ý²8e°»?vV&ºnýœ ÃâÀKJ´¨øžÖ¨õÓ·Ý  ~ÅĆîÓàC­Íò÷úÂJÈ®Þß›ŽpQJ«¢­Á%èø¨â\/”a}‘Ãü!ùa=u7!öUN´p1˧åß¹š{J* K'¼ B§-)?jPùr…Ë“CÎ4%ž!-ž %NŽª£#ëqB‘kjþÍá„Ï„[qúýU¤äVÑu~%`^½ÛÃ5ÙÏ›3\æZᙿôzúL¬Õ#ÞȸÑ+À:ј·IÚðÀ¶¦ÆØ÷¾*‡â82ÝHúÞVRÅ…-~9óÇ‹9õxCCUrÞKßžC¿>–§ÆŽ¥"ª”úõiR6ó½Ôë_ý[»ðÛ•h :MN(Q´{1‚ªëæÉ>ßv€JÉfÔ`Ñ¿ªÕÞ3Á¤¶‘…,Œ %W!šxl’ ØþØW½§‹¬c…K™FÚ¼ìù¼£:jW¤6AùQ‹¥Œ¸ž[ Lu0r&IYeØ…­6°jÇ·p&Uƒ7t…ì¨&k^ÑÌÆU¡~RÉ_¡ãmc¸p6Zo÷èiAºšá˜€_—KÚ‰dª”hâY >sð¯Äs§´éfÈ>çš5ìä8·µm&–¿elΔ »­—)ˆµú£yI­EAøBÑcê ÃÏ×µàÿ¨ý¿ PiÝ;º¼ûƒ¾ÏïÝ þgY¸uX- `’wLÉÒÖÒh˜sÐP¼Kçñ "±˜|; á–]`I7zÀ:Óë̺šÔ>O˜Q6bírea.Ë#üRË<ª¥ÏíòfDT/0C–ò™ð& 0Ó½³XôaúýF‡Õ-Ñ ë …\Ä]?J\7pŠx;£]4ëO³l 4y¿7 6{W>í-êÄM¼Zy×ýøÜ\DÔpH‚Q»ÛإȂ¬ ÝW,¨ƒÍ}r.rQ¨ht*o0SzÅ˦[œî¾¡î·â¥EÝef•«ÈÚ΄þ ôýÎÉ®9ŽØ£+­n·ƒ\«Tô{\ —:Û/?ÆòÛ¬õñøh¸)hµ=ÂP­ìÐÏC¸›K˜¹ߎÛT0q?ÙØIN–Z#OCÜa•”f>›WbXr%Ìð˜”u5sÊ€^ÀÑ蘪¯E #BB‘jà•7¢¼”¨C˜1Ñ‚ÎñY<6p2?AÛÜžÙĈº ¢•H¿BÓÇƒÊ Œî2:Ñ€„WõMêšSå«ù­}S†ÂɽÈõáW=«šÈ !ƒ×.aèû-ÕÿÐÿºHP£?ÄhÒGŽ}aLÛ$/ò»ç×.ŽÀã§ÙQ®7êÀ æá”L€fEq^W£÷Á½ÐL O`6rŠ«!ÏÀv‡šƒ(o[ÿô’#PÔ}úœ#y¦tˆz–O|x‡†)¬bÑaú5 ®õBÂ/r T?X´pøy†JïSÂDz¾‘Ò6… SºÁ‚xL½8‡"v'PzoèÔ0d9ßÒ/%'^dýO ®UµP¿906=š^‚Ÿ%l¸Ÿˆî£¨¢ku‘ÀR(J¬TÇÈæ,¾ 7lÔ( …ÉóF͹°Y¡fú0\qþÿ/F’A.”«J2"^Ç§Ž¼\I­_”sù3Šk¼[¯wÌcë*WÝ„8ÕEº²7gc»¦ÿ·çÞÎñÁdÉÑˇü£3Ðßò,{brζ§œ£Óðö;§¼¥}æ—°Ü+“Ùe©» V¸ºjÓí^Ü©"Q [ŠdÃ*_KéíÙšµ|‚£]:PXªÊ4<Ç%Ç÷xø­Ø«Jñ1Úæ:HyZÖÞŽ´yRÿƒóK´Ð–ß•ãBV^¯·¶¯Úx—5ã}P´·è9cÊO¨Nš&µ+¾gù¥æö¥‚Þé#ç^|{ê—ÝšÕ¥()¹eQáúV 9ö·…¿_ZøÙK æûÕf×%"Á&óu\9nDìô­‹xgó8a5n—çY›»£šc¤Or*(ËêÚð‡HTüËÛiî+fœØJIöXNžQ¶§bÓB…*Û’ GÍF ó¨|)_Gtk+“G +"C#Ë‘ß ?îrãSëÂ÷ÏYó°ä6Äàôªå‘,z‹ý¥˜cÂ^Ÿï´¹;(YVLB‘s¾±½±´ç&PwÖ¿²°åµùH`ìôà ;ÉN|'”ôYõ°S­œ±tû‚ÃWêa?ÿšwm]§ÐXptwXŒ*KoÅÓmèL—¯¥=8vÍ÷qÔ\úÍÅðï+äÿO%ÅHçGŒéå$Íc Ëá×c"ë†[Bhh̓Cþƒ †K¨m|95ꬔÁSt&¸ R?´–oJ,Íœ}Ñ‚!5ý;½U¸¥üëoUº@+ZývES;¤âYÅIɈ|£S4!ô«(r­HÈR\ÄÝݘ°Jц†ðÀÜUùü´VB¿j¹'¾íŒÎo7y.<Íž=u…¨ÊÒ™yþ{ER`¿¦Ïœ|7žBZõÑ{s^ú:zA¦Ùn’’÷NäkEöéü©YÁ)ÂrçËîû}²Î*‹ÈUrUTc×™–ˆ7@=‹ÌqÒ7”ëéÿÜ>°VÒJª2p¶¶XÀx»™Ú–Å}(àEÙY sÏä2Ö^yhe;8L§JqJì2ÔÝß°ˆ©!¯}Õºõê­yοÙb;x²-aoÜ‚Íö®¿œ"~hm> ‡*Ä¿žÒÃíIÀ‡ðdØæ€÷Ê‚OóLð9@Ü(éãÕ¶ò‰š±¹{ÎüÁòи#„µX™\lû•GÖÿKùoDÒMÙâ¿´=˜ÓéÀj/íö·Þ®2 W*®î늡p¼¯câÔ“Ñ7þ¸âë¦ÉOܦjUW& qšÆã0:•©ˆÈÿÈð†/6º®cØ¡ýüÃËÊé·Ä*S‚xÞêZþ_‰ ä’zf›ÀDä)ÄôjÒA°¨]Û„Â*+Ó”÷r¢{ˆí­f”’»of|Œ7ü™Ê6‚klOOk5™í;ÛYÅ­D®ü VÿÞª§”£sG)*F65v|–̉ÙÑnõ{Ã1)‹=Ï'3ƶ§E8N¦ãG¶ÖÙÃæ¬ Ä/nh^!í lö ´çƒ·1ß$r*xÉÔš° Ÿ?*ö{zÜr…:ÊÀ‚ˆX™Â/v$ù ŽçÙB<É<'ßI ]g}¤F/’B:éé4߸¼GsñWÁ  çÞ¡&fmÚ/Z|è&ÿ&SêF‚º»¹)¼ØÀ©Ê2bâ2š¾^@ D;Î÷_J|«z‘Ú6§á ðl&¥a›—K)¿ÁaþüUBn8üÍN¢¥‹ø÷ƒ _úâY†=7ÁsÑÞAç#ñ0õÌ5RôVåÑõ ­ã ¥30gƒ‚õM?*• àW<ó5€=Ša´U.5ü”5ÒeðÄ:®W]ÚÚpoY4¨XSJv궨ä Âç£5åŒ-rä¹Eß{O ¼çLšÐæþ¾l„䇨 )vA |¸DL™ì X‚Èç¬Ê9Æ31ɧdþã!s·€8›Xà~ô„ÉÒ#ðtu×Vé´ðdïv.àëÐ2X„¢-7Yƒ2îCþä˜0Žº‰š­spî­òLc^Jl£âËáœQnùYØ ÑäÐ+’bË(ƒêkîì—Æ …¶K¹‡ÂœHõ´ òßG®j6QWªh°Ë}µñs¸‚jÉø¤š/!êÛ ¹t HEi²B*e ; éGÀ`†¾R<°Ø ³”† _„óñ‡ƒþÜo¯WbýއG@FJ’[óý¸ÎÿN ×ê›’R)°a0¼”C5^É¡ÔN F•ó7l­!”*4q§tÿg¡ö/:±UÖõÅÀÃA$ªX—œ‰·ÛæÅšÐ’"E•»àíìS–U³YŽ‚i„wMÓ Ó«¥˜»0^Ñ>RØA¥v¥êàX¢Pû‡@¹ ¤ÚgÔã$c«sK d³«3q+8&c aü·:Ãot䚡Ӻ’»°Ì&‘`„¸ØÃäà“¼O >9ÌÍôÒ|»ªbêÕ:&ÜklÀ´ÁÎ 3Æ'+¬êÊ þ›ËzLYáýN«6fÛµ÷=±0ÅfCg©%ÅÒß{Va8=(Bͳ 6ù-s8¡¨Y«ÚœNÉØˆ>ß^5¹RDHH6ìÇžáoE²áŸÆd—"ËDoks ~©¸—„2„‰¦\—-ïè¤Yf0¶.૵$ðvdoE76HkŒ»ë®æ ©VvO²‚4óÉF8ìÍršæ\A5Ö/0N„z8Õ©h˜}·åü%â$k}¾ýÆ¡]êí¼¨¨5Ë"v »reø§WØ)ë æDíqß“ªçI— `dl÷`ÈïòFóŸ½l7J—Õcî{áz4%‘ö„aaÔdY8=žjïpjÿFÏÊ‘@ ’œô,:Î ž½]xKî.îh7bw§»1ŽÁ‰W$\ ŸèZ’ê~®O‘Áw<5bL¶õê²Ç®pH[…éQѬ¡m™iŠH”ˆ­™‘-#Wd垀*Â÷µ:oq]â±t±´y’¿eF-†/˜ã CÔ"ÙhNšÔt•3ßHtP5®Ôƒmbwâí}–”GðfïžWÜÁéj¿›Ç›ö¯ng¾‚J¾ûÈKßG…HbûëNÊÿá—>$..ÝÝ 7•âWا)vK~P¼öú“Uv'à%z žK†·Ò[Ÿoeꡬ{üŸ:7ÛÑx°¥>â60 ”žºùWQíãw2Ü(ánŠwbdî´ä;4#‰\@?dñY¨°§!]uvïÅ‘í ­]Egqºî胣A å_–À 1Í@Vyðš`×­bóÞÌM¾`>B·õ-G÷ënЬF%4ùpû‘ºÆäÄÜåÎÉ!n°¡9×mp²LrSChê^ɲšýQ³ðw×½íæÊ±îu{¥­±´x»G¡‘Ùåšåü¾éLŽ$YHÚø2w{hѶC °yÐît ´sÅ;LôMŒ&EX‹ FdêéÈr7ꃷÓ)í('cÚhXËï(§£³{íÿù¡Œ¨Üm’\ËÆë¶Óìm.7‚åÁ¢jác 5dX}ÞãèÅ?ÀÔ73œO¹–OÈN2+ï'Ï=7pÌod{Û‚ç̮ˮ´U—éÿMÁ3Z¶úÛÒÆ£Ç˜Ïš›ÿŸÿ¹97tS—Çë?fTÈ`·‰Oû}"´Šî%z^ñ[y,˜¨8ËTùçãB¢Ÿ.ô¿s`1~ÆpÀTuÚ©JÌeà%`Ú³è0¼[28ÀÑd4§Ý­Z¾x šu(ËG6¡ð¼o¼$ãTHmRÎí®ãÊÍ3æ#ý`µåÝ|ä–Ì0øQÎÝ"Oú¼©°Eofn¤öØŽòpoÖâ÷wg»sˆu¯Ê€•rÁôh–T/yØ«Ÿ$¸£PT´7lã§-¼ß0$M …ºJª¢ Zé Ÿ$éÿ@°‡^øÿÄ>'³à¦žÜ½ÎÓÂCË©õWž}Z`6 ²a xùRÛ! '—S<ÆJ1Uœ&dÚ‹6˜sÒŒôúÐoŒSãöq¶ú;OѾ¨ }$1>[žF‚ p*/Jˆ§ígï¥ø÷ö© lDÖ·ÓšW=•4Ýp8Ûá9Ëßoç›Á¬¯J‚lFÅv~qWVV_[‘çD|Í(±Ùè´c|ÕÍ¥Ë(AØc&¬³à ðü—çc8SðŒ;L6wBHµÖÞl]}rŽŠö;L¶ðÎ÷æÌ ÊöÐÊ„þÄwä­¹Z‡6 »”¨ð™`Â0âàGÔfžiý*rúÿî<¯ÔAZüºÓEV,:œV¦¥è⇠|›&$B.Õ¦)ÔÅ[7-ÿÅwPLñ¢ÓX]“£×Ì^51X5ÍXJ‰šúxà‡P½Tƒ©¢ ìóAvðù;‘¾o‹´·ê…‘. ‹ñéw ‡sàaˆ3»©AX!•”ŽP«rZ¡xΉ̇SÖm‘ ŸÂ•·Øÿ:5û{ faº»uÒö*wæ£Ëð5']8ð=E†øÃÌTlû—gƒpb¯¤.£a G+‘èÚßH5øZÑ.ãmÆSÌ`Ä7ÔºOK ›ž´ÔÀ4Ý–õìíâé»Å¾Ô .œW»Œïaý¡ê ÎÒ/U¡ìYÃn¥“ɦTÓɪÛ- oÒ' ,ŒXRˆÚñrúÏ0n ƽŸl˜ÛG˜B6 ºq¤€ŽÙÛCæ™ì—9ý.~|föäÿœ¼ÐßñRUìþðZËŽ#bÑ„¿/§DcâÕÙàó7ÀùWl’´–kè¨ø8uSÊÛq>è´{Ié¢Qèø×ñyÓµL¨L/{X+л@á´öÿ2Š0Î$5Ûè¯ö‚ó‘Øv7·÷“Ëùý-áí"dì?ô_|’ÀM_¨ÝCÈíf-óAï!^-è"¼Ó$õëò9q ŠK›E/6¥€ß‰ 7³ÄK«éÁ9£åmײÖözÂ3%ÌÕñ⃥$3j 7pм£Ñ ò_g_òcøéó)7ÈN üxý°¤T8Àê¬Ñ€L(:FÃ$½´Èl)úÝ^ÛØ0TeÝfäâ68RÕ¡Š?tx¦ŽÏÐ|PAãTIbc±µ†À‚zÿàJö¾8\½N÷¨KOÉÈ"ê•ÓTJ¯PáóØ*ƒé½’¯§¥p>© '‘(ãa_ûÚ;Ê22±5‹\¹½§ƒ~ùh±èמ^f› ˜Í)¡õ è=Nj5[Óbu²µq½.`æu®B²å;²ÿ·2˜:¢fßGƒ÷S¸)´p}› ÁDù¨ä.ò®÷Ù"N6%ö°ÊÕû„ŸSùv<¾Ç.duÆ¿äéRÜš‡˜ãil«ëX!gQŠ^ñ°ìä„mÅcÐF¢gþÑ¡óQì}–Á•¦©fbpWîÒú8­·Ñ;xTŽ·Æž“˓Ғ˔Œ\8QqÔ³6š™^?7¼) æ½dÐ#òJÖ‚Ç ~yíM‹·;Õ^œs‡ôg‚Œ{8ÂÙ‹^Î_ªÈ‚ÒûŒöñ„~bôÚDþA)ÈG`ç/Pd¸‡=‘pf ûi5Ã4@÷Ia*cø^Üg©Êt wêaQ\UÈ_ˆhðàZŠc¡6øÓê„a¤lcIFRgÓ Ó²Á×xÝ£‘æt¥®Ÿâ‡`Üh¨DŒ¸Ñ®óH]×îQ?`g ;KF.X»™7wxòøþ^™ˆâ>¦i¾§Vø¯Ū^¯ß÷w:˵٠ú*lº0miÆöƒ¼%VÍx6z‚ü› ”AÈCŸ(éÔJý¢´ØP÷Zоxßî˜1Ëù6:C“JÙŠ:°S_ð÷ó†W¨1ûåó{“~o*“Y?¿1RzVpÒ¼ºþœÎ‹©ÜEÚéÅu‚e[›´ o\¯±ÇΞåfn–¬ß”1âï—ÁõÄåÕÝRߢXÄñf’¸n+úúZ é=«W£=ìF·`é¯=¼¥z¢«&ù•ËL¾UÐ` º¡é’€¢T§I¼4Îr@$kÁ= ú¬P&õò¿„Ê ÑKb•ÐV`Ð\ÃKÛÕòóQº¸¦{úëÓ¬o¥ìÔ/ _gõ*£mÚaæ“ý&bdîÌ’‘$a9 Μ”À:sG¹]ç80h+ºížrõƒGwND½§T3Àø…ëÀƒNŸÊ„§ù®»,±| ëjm™ÈÒh yƒðÞé·u%[uvæ’˜Dz zK;ßâ¡3⤉JÒ*ˆ½¼¹^׿…¾ízÈŠVii±^Õ±`kÃHñ(´éµ©±(ån |uTÚ{±E*߃r¹$ßAuëæR ŽúX¡(©üD»Š9Öé Ìe„E™(²Ûÿ¨8sýnI••Ђ²µ ®u6UÐ+Kä´#gˆEævjë¿5&•ooó$3Ÿõ}Óì`m7TaŽE=mRæî…=˜ÁcƒÌ}'UëóÃÔ¹Zañ Áø­ÜeØ0ëkt>@Øý žØ†„º /f4Ü©øÜ€£÷þ 2A÷ax¾ïø§²à&*û„Øåçt²ý² ÉÄ«?ý¾uÿ¦ÚeF)ºÂÕõYãJzØ= wt†JëÜ_àW¼ÕÃ\<ì|šë²9Q‹‚掓,»™jZ!1\ëPtÜÁëù þïqýµ ÆI(ÀBP„Áµ†ÕÙ…aA‰Lçô»g¿É€\ª¶UËþ_Huïý±ÎþªVnSÜV§êcóMµ”e}ïKñ~¼Â_ø4zïu,P×;ýÖfòÐ8;½ 9£f"lïˆzx`Ó='dì_ÎÒ–ëqó&a=ú‹")4í·±íWMÌK[ð»¢#Ì'^c)ý^1”:Ê÷¥¨öŸŸJ"ÔÑœ)*Ÿ'q©9FÝpõ‘%¾y®EíH; ’Œ*À^ÎŽÛɱ|êÞ{ÝÏ7ŽætÖ|Þ¸TÏB‘˜Cý¥µÿ©PÀsFQ5á0÷³#¾ Öiv%}|ø·(<­ÉѧÐ#[ÕÜ*8׆es1ÈÁ„¹jñú/Áq{†“» ÿÈãö2 &¿+ʳ;¾C€`CÝWœ’rÚ¹Å+ ™¾ûÓ#œp¦e•,o= 3ó/É•X›Ç!BâP±¢§ÊïáîÎQ¥Ivä·Ó!`/¿ûÏ™ñi¦Íz Èæ6 ê"›:yÜ’.NGFQzÍHyœ¿XÀw5Îj„ãþø¡FFàǵCŽ!¡lIÅ1¨½CC›â!Ë¥mKy‘‘—©Ü޵ScI¹ÒÜUUWÝ#÷ÆrZÝU¯Å.†n7Íädºî®Z¹ÊN¯Ëé‚N%Øš‘?g „Ñúψ¨/xÝoK´Ý¦µáqëw¸–`׫Ô?Ë㺩Æt½–»ƒjJø±qP8\¸ˆs›¿ƒ‡¸ò–íR¨±Ýûö¾æ)ZOkéU/‰é«@©ž±½¿¬¹of5f2Ñ1þ©v"bÒ$hüùÆ`†'5æ!Ÿ÷) äºÑúý¯36ÆÏ&Fœ‚x)lÒ ‰ÔOθBµ+=£%ˆb4:×ð©¯JD •JoT ŸÈÓŒ,èˆöñh-O™{x°É×èB¡_z®*hÚ·ÒBÔðwý,Ë=F"…bËi£9|Oö»1æÞ~UY›^u%¾U±8‚¡Þ1ú¡cO<ÅÏ”¯-ÑZ*BmàÀFB‚t´Çù>cK…0t>˜¶mÄD{Ÿ8’³Õ#ñ‹õsWú- Å0HJœ`ųwð€‘}My7†(¯]#ZÞÁM«mB¬1Dy̵‡ ~'•v‡Ú/HO5 D•6¬ ¤v˜×s°þ§Z­†w_–¿sß ¥¿†}ÓÆKØrþ¯IW;„Ç_að šFAâÞTWÝ”¼+ _P©™¿ì›cô]•K FïŒU©)†P9ê?’¸!»¿aÌÿòĦLk€AK_„û8vZ©|sß©”LIéýÍÈߢz*ï7æ7`)Ç—ÇåÜ:H@ÊL·”Dç%÷äöIr5ÃE~ª0@À¥gZ]‰ú.’ñF¾šoéÄ~K)ÿš0óFçÑî£}Š0ÓÃíìD<#˜mÏÿ<¦ëÂ{$´w`P$j‰V›£¸ßåtXÝSñRùµûlÚíÞqRÉ€IÐÂ_\èů kx)ïOùk©Ðí†Ï€£ ~Ë­…*×µêr+ôÚîcN¶ÏŸ:ä÷Z5q+”²œÛ AÂJjð¥q†ÅàQ«ËŰȩ3g ðý¨Ñ’Ak8ÍnÆzZFwåÊ{“¹¿àÂuÙ–IXµTàÇ›¨SÉàKÑ'¬)ýï£4‘öÓ$Ίˆˆ‘†ŽtÊáçJðQ°&aýD,¸÷]=¨4ÞF‚µ/€¤êDå(Fä|*6"æKÆR¨µqýMˆ&³xZ’Ä+aŽ"¦¥e¨/ÁÇódŸEkˆ\•iá/`ÄkÞ\0Z44WÞs—üô£fdUêx5úðkÜÁA ó©aSøâÔhöE KO¼Àƒk‚|ù¦LE•‘üzî ­R…s•žÿuU²]Î:qµÿý‘yMH†è&ì~mž*³)êô"ìî~©ÿÄ-gÊàéUê©x$’_MÀ½R×™û­óø[n-Té×Ï@û³æV?use™Õìi*¢í¥â‡|‰ôZNhÒ{#ˆŒÒ˘û€MŠp›Ë{t¸<°ù^r 3oj4†ràž«ãçê/07í̶² ín;€hl·6«‡;)Ñ©ùÝÑv,×™D~È®ö¡ gã;x“0vQÒÄý11gÍçoSÀ;¸ÂÙ†ËûŸ[qJ-Äç&é­þrE·pœ#ïö ØEÓÔ¤"[ݿӜÍm² ÇPç)€qðJ˜Ú¶f6Ð ‹â6£FË‚®á4«ÕiC ©z£’~Ñ%¤kpUNîn6_ܧMsÏÄ…¡ëîÇ£…5®\pqÃyÙ ˆ0›‰aµ_ÀDeç¸êŽî~µ“oñÒÆwÅ›` ÆlÉÜùÙlðNâ½–ã{røt‘ч¦À䎭Nw¤ŽÔ¬¸c@:x þVÅ—:F=…´=m¿Ä8idÑÀ'cƒ¿»¿ýã…ÑpŠˆq¹v¾ ºäF†A_³}c@9ÕŠY{’lRrH=¼úŒÄÆ»OKÿ³ëÌïÌÒ_fÚëºÿ½~æŠcì»ä°îмÄýrÞóë°­CÍn=Ziƒñóh÷PZÎÚóG¸R²­ÄÇ­ÆÒ•™üÂÀê7 T›Äxaj‘ú»»ˆþIûÔä²–Œ¨žk…­ªŸ³ã—êÁ|sD1Î ’3³Èü@-Ê=BÏÛ½öVBþôE ºŸR¥qJàø‚:˜vZâ@R¶ÞÞç¹F)ÂRa "¹fcWâqòÜDZ-eåö¿š â<ØdŸ³[{åÒ­h°3ÞÌøR:³´ˆ©«„P÷ÕÇ ¾¨þHÀà: rÀ Fr!^ŒÌÆL®9N£6»GªcmÉ7~å7=ÐPÆH+³‹ZilÈ”«^xJj~©òÄ_×Y/«3܈[r´}ne8 ¹ô‰‹4á ÆÉ¿/Nƒ…úÀ=bïÕ‡t/ݬ“~š‹Çõ$ ÷*z eØG÷A%UrCx@ G")íÚúÌV·À< 8np6‘lp|¬ÙÕ“®Vn¾ØGßÅ,+4*ß+;²ŠÀ÷KE- ¡a›fÓ¡¦½«ÿ¼Ê ¥>ÓÒ—4À•WïÃ~íË’cÐÙ=¸ÞUÈÅV´—κøJ¨žán5BK'é†;•^δÝCî˜!mhñqh»Iƒé–¼œÅ‚ŽÇ)`›„«ñšÍþQ·Qœ| êHy!~¡Ò:ßbír PŒˆŽÄ3gYn_5o·ŸìÕŽ\{p–µú-à þù;Æ|ckrð´q(x¥¢+ŠØ/]]×îÄÄaª‘˵ëù ~%®g^~tøKâ.[×R·c&¿¾4ý²#4ø¾ëšõ6R×ýûæcCr>‰9Õ‰}£Tð£<èòôK 7¸óåCÒ¶ YQÀé}-Càû£kUeYÒ>UÓŽXç(S– H©éZ&xÞg*ÓíÆð®¨¯äª¸0kAîäÙONtÀP¿‹_Ƙ¥lZÖ‘,­¸âÂ}uèØ!ãìHó¦"ô$ÏÅjKlß…p3^#FIq,¸7dáœF)ÁŒŒ;Rº¨FC^ESp,ÐÂÕ=ìñׯ‘v¡_¬`gÍô“6þ ëì³™v¬ÓÏ& G®¹—Là8¥Ž§.7‹ ƒíÝ®ÞÓ¯nx% Õ'ö§òæKA/‹;p™çBKøÈ¯• xèMé¿» pî\ƒ×¿; :­Ë‡Ç‹q,(6+ÄT”eý®šd‚2‰U`€ïðw•²OÈñ_—±T£½ØtC¨ƒi€i›Õl ±³™ÅQù0.µèøñ§¼léý[gb—ýÃÂÅ –‚ÀŠI&ÄZ¢ªA®7Óx8˜éJ áGp£g¡rZu™ögejÚ’B`˜Cž³Õ}dBûFÚ@W-_„g ìï0Aå^ቡì¡£Mzjýí‘·º·rs_êî[û H;ÃÓÉPDÛàVN¥•SÃ(ý‚ÊM¾Ë½_Œº¼äN<^K !™/©WÚ¦7øÀ¸è;ª»û×ØÛ‚K,týcU©áÂPcáîõ6 ] qsFÃÊ=²²'dü PjªW‚R[õ×ÀÙLñ©µX™5=¢+ ÍÙÏL¬÷—j×Wh㤈h”£ÆÏa“µ¨Î©,áÞQsµG‰X¶ 2²ŒŠ<¥\òÃ_HloFš÷"²6‡äðÑv<„\£'×Ýâëޭ˳٘ô`ëÚõ@„ÕbÖ/'hcE±HÀRlîßH½š6ˆ2,Ü‘,ù?uÂtÅŸ"¨ž.ïy´­/[—GyxÎ<þ3 E˜¡‚l|íZ¶ÔQ¤YÁO¥Q»¨¯F:˜4AÔwÅ9.i4[96ϵVóâþ®æç2´r'ÉÉ#ÜtN­XµËbH•jÎÍ9¹äQýY°"S–¬m:³ëzüwt숭&Áú÷‹HAÒà0ò†ŸŽ~ä‡ÏùKÇî=)Î^Ç.TÃìF¤ÌF‘ZøDÝ6 žJõÕÍÈnú=¶N¥žžò¤Ûó§—í÷3ÞjT ÈÈ_¶çûó§Ú—ó¾ëçåq²—ÙùvºàÆ.dóÂ0'aª_Kýf÷¹%Ût±Í]Ëdl»ÚõI7mRDðÅæßô{ê‰1¤À@»¦euÒl†Å£Öˆ#çaß8 GÈDôË…cý…> dÈàÌ‘j‹*åéd‹¥D‰IþgFe¿_>GÝåD9¬,6µÂfr €Mõ3]c¿U©fœdOtÜö3‹ôh±OÚÏî~œñÁ/œ…fÞö{ƒ×ó^ìZmLcItk˜mjzè£Q{å´ý¬C<î% FOnm·Y·®p4ß…a=K¡{`nXˬä'EÔ` ßRøC%ñ¬"Idk7r¨.„?a섌(©Ü„û‚O¿®Ïýü÷¢ŸF+“•x€giWXà–™© ¸Ð†Yëø“ƒl<æþ_u¬6BŸÜÍiÁ/zîAáq&Ñ©›qºÅD®™‰æQ›Ê $8wT×%C¾¬y¿æÞe¢ð “–Ë–o…îVäc@Ðv)õ?‰ÂºÜÉ.t¢†­¤,¨¢²]ö>݉ÁxùxÁ\†ìÿÇ´ÌõÔŒºV%¾c,±7ƒž˜)Ä';Fýåmˆî½?s4þ0¿Ëè¥xÿ5'RRdžŒMÀ#*Jövp¾á\73¦' ‰¯ZSçHM]:ªêÐdÁ½(bó9Ì’mzÄÇ¡™ì–®¿ª-õ‡,‡Î!diuÎBç–6†tVÎu“þ»ÃœžU΄ 6·ŒZP®™%tYŠà<>ª•«WYÅ6€~¢nà"h¾/-es0ˆg¨ æ±øó'ü¡Ò³Ïœ­>Í¢%‡LË$ì9†8çûÆ\8‰EjM9¾–˜ÅÏú³ e´ŠBOÍ»´ $­úûÞd ÍW\ì^²Ñ÷ÇŠBCfðW?ÙÇõðhÍ- ÆþJ c N_qˆƒ#h(è¾ÂFm´0nmm¾æXu¿´þÖH…ë=ê+½FÚa\ÙÙ1± ¢î„QÔºLÅð¬RÓmçqFß æØwûÑaÊè+cÀ€;м£n?G}4DjT—3îÓ,É#÷å°ªü!8 -ücÁÙuêsŸrhïšGè Ci?*»9˦7/3šòÔ£»œ/ɶ´ñ(zÙ$%M¨# S®P9i¥ê}¼lé[µçðçä…xÄJñÌ­.x *IÕGh^ÀÀÀC\Faæ[h<ŸºõûícœÚúáÐXçÜë — ÓãUø¤–xÍŒÑÃ¥7³bN-L‰½¶Y ™pölÚQ¸Q»“ÙA¤«D¦¡¨3ǪÖaA 2[èë:KF1úÜCù_9Z't;×Ã^?&ç ­’™D¹•ûaÃÛªH#5óÓ‚CHTÍ[S$\vu²?›Š'DOˆÔ'^1l—ìb8”¢=Md¦;ö¥ó)Ip§–p_bþ@kõˆ¡€óñôö`á†=ȳqÇ:ÜÝ3€¸R/@%CíhûA “]ñ0`’¸“,9®`aCô°*l2p‘œl ‚’ZŽ úEsiÜ›f›ít&j‰ZÕ¹½±~ç??9Á'ìuQ©">®3‘¤7ò°9€×TY•ö<£Kà'ÛH}‹ išòYÍ‹¹ù“« +o; 4— <á €5á Š‰8H]G›õôÛ½…†»OEüF;Ï Ð}þKX^‹3,Áª=ð–xD0zñUDnÊ.³@6ŠðJLJ˜ÊÛn™³­»•¸ª¥lŸ80wãáO–«çs0}Tdä´!œyÓpíjB­¶BÕM # È—ãvQ†˜÷«¾ñ}f®òˆCnfx°ÂŠÄG8°pgihc¾hvRNÐç½jTy7ï0rúMŠÕ ÍM.‚€âˆ“Œ,*°ˆÎ’•Ù\Ûà“¹Ñ pI%ݯ3Ÿx,˜‹Š »mF †Dok€g÷ÁTAvÂOt±¥Ò%ͦ)ùìÀ‹ ÑÊâ—örTêßEu½éò)¥[°ºWóÝjSî°uhØ‚ë3ò[êÇ ®°dß¶ŸËƒ3az^À•šW"¨?&˜o†ð¢ob7‹%#û¹r:óTBÄ#~L‹¾U´ø­³h!Ž)òôQ¡eÈ’ÎÙ›ÿ#a5á_µiÎï€ù¥»Q×åp>¿îÏ1Y]E´êùò¥Ë Èû®¼»žƒls6 ÈÌ!lêÃ8#ÎÓÝã瘾ÆHZP2rÀ­¼üx¨=âoÂøC%ê)Óø‚F ¼Ñ>‚•my/þú?Xê}¼Úñ†÷ ³œvÁ™|@~9-û ûM“ª=sˆÊ2~°imÏÁ|8wÿå”q¼jŒ×qôNÍ=`Ûz'&rÃÚq¡ Ë ~u‹!N³b5B÷õ8nì°WJOçËÿÙ²æŒiÉl·¨Ž¢r“QrPåԆ˚›”…éQ¬ùö7‚wdî_ä·£DˆIN],Üœ9ï05ŠŠ<ïù.ñˆpòxëz€îÌ"zµGóò,äh ÄTÔLs¼TŽÞ —™iÂNRÊÈyÅ Õ ÆFv¾LJ”ôÃi$O"Vcw¿¸zWœê{̵\¨”'¯Äü7–5×`Â`Cub%BR3ÿNH%§}0óþ];Qáíq󬑧,õ§L4Oi0‰9HxA9п¾AKþ0d XhWQÂw‰8é|qµœZb&D»÷Ðð¥vû¡¥ÿÆ‹%¤FÌØŒ{B¡^ŠlmÂXбJ5„ýKîÐÉÅÓ~¡¿lLŽšÂ¼Ç±PƒôTÜžÀõÓÓðü?=ImhBì®Æˆš3ø9‹‰­ëþÿçðÌ‚ähiQ`LUUkLÈ [µ±8õ%n Žhepò2Sw{Мê âNjЛÀ»‰•²ÖŠxå‹u¯ƒHÓWßô‡ÙDsþ¿¼Ø®VŽ·ÖãõAWJÔjŒ›w±O9•I8#*LºÜÄïÿ€›Ä:¿þ˜Ô Xœ×¡€~¡Á–÷ÙÏ£kå‡XÓÅÒŒ£vñ!‚ðh+nÆõ¼ûr¦¦¾¡rŠ—Ï´ŽXÚåÕw5›’Gi=¨š>ˆoRâн ³Dµ£Î§hz]Ùá¦=I×…\Hp‘æUÚ™ ÎÍñC[ˆ<ï{5ÜŠCÖ!£¾sÊ4#·„«÷°I©àˆ‰”šÅq‹±ó&Ýç{~ñ­l8Ãs!l88å?XC],)ßdk¶aßD°Ž>:¥—úzç²ÌÑ#ÿ/c„ú<ÔÆj®Ø'ÑÒÎ,Gçÿ7ånÀˆè®qߺC'?Ñ1.:áöøk±‚ š¬šÖMOD20l1ÇD¹{‰±i¿ŽB&’ Z( Õ5V·çS’‹=L™ˆûÖ·yAf¾È'µa'P/_l\TË)û—•ooQ¥&|´¾Á Ï(‚•Ú€Œ+Ÿ:Ò¢­Ã$õÂÆ‹ê†›àMØôBÿÊÄò÷JDEâÔ?ØOÓ+v±…cèkJø Çcmô5ˆ¥l zÖ›&’-ôt B…×4ñ¹å”ªBèÛ;™kÑábÊÎW|…ãØ¦ P¼Ö³ë.ámˆnô”gª¹Œs¢'k¼žGnL'ì_Ø9ÉòÔlZ¿ .÷<2. ³Æ8Ow‘ÿh4÷TeÌü?Šï߉¦|áèÿÿÎP?ê’ô¹WI)»¥ÇzHÓ1(ÐR+ 4ÈâêA ¼Cî‹ I¯âw_ŸÀD$ÂN‡7Ü互g*FrL‘>«Áâ Ä3{h÷„x8ôå±;¡Çµ¦yAW‰})²¢'píê3uFë¿ÑƬ …#`eÛ6yW§õ?Ëh¬ä!Úäƒvn¹‘ë6줖E]´) ÞqØc‡ž m¥Þá|nÁ1O"€Á?`¼Û¿ ÿu9© aÀvÌ2“CXÓÈÇÇ^à1{ŽÁÍ:ùF­¶å]ÞýꀭŠÇÃ@)'@º Özz6ÿg]®¨)-Ä|ä?§Œjëë ·g¡aN<²ƒbr‚Ÿ+ øšŒüAðÑ›n<å\±Òº÷:4Êe ÓÓEñ¹`üŠúÕXO lÆYd¿ séýƒHß@»>¦LÓÂÜ„BCŸ#ÛŠei±¤ËJt‹ü LÉÒž-OYÑ+ìbd´©—wf£ÐAc›¸okiË ŸrÊŽpôïL°¬6ÚÒxD䉯ŠFáUud®ZÛt€wqÊîÉ¿¨æ©;O£Ëºn±öUß=¡ Õ:j=¥þŸÇ¥‡Ÿ¡kEÚÚ¸ÎÇË %I¾3d•€Ôzu¬o‘"'õè+a†MôóغBûÀúÛ‰è“ vaâd4•ý›ŒZˆÊ›ƒ(ÀîÓ¼k⇆{.ò.$‹VÏ„µY$myIÒz;•ÒjT‡‘Ûk{ýde sX·ÞBÆ£è?7Œ{û³Ãi&èêk»ªê¬|2`kÚ‘(7ÜWfiZÊëü߯léÉgØÅºT»±mäKäéÒ±–¿hÏŸO k˜øâd¤«ÃƾÞ`´²MtWÄq"²+Õ¦¬c]¦¸¦B¡CR$0|wdÛéÖºš/GÆv©Âü߀\s•àF[ÁÄ–ÒFÓýàhORÛÝ´ÿà’úÇ«~¢=Û® ³šaŒ"œˆâØa† =„KÚóücfjÅ EÎô¨Ã¼lçPêÖ¡|¸öüÓã,#Š«6Å]JÅô&d5ªq6¿GÞ×ôHâ¬â¯{¦¢¥øpT­ o'J•æ|””¨qD·C ¬jχ0‘F}.°(vSMÆÁ¯³™§þŒcI£0Qv Ðàåyv9Í þ¾°5•ÕÀÏ88k$Üc7I(óÔjKÚx‰ÈjSS-â2f…[õQÅy`6Hfæ‘g]ÇHÖ?)?Ã9¦wÛ¹Ò«/Ÿ`\:‚ë,@<½Ðo¼fNã®ó§­Á\w©AïUZœ.ЋR3o%]ÁþE“,b-÷«÷G»ÿ“µ"QGåËîö\p»É!„£ñÛ‡1HÖDJ0=v3:K-ދᑇA«ËØ[y©.X…š;|‚Þ#îàÜ<8ÖÿU„ä"i§ôÝ^,J:0LùÐ)ùwÙNï­™sô¿x'šK«—„ÏÓ™KŒWS³¼•0ï‚w|)pÿü`ÉMÄm—:XšÜìÛêsœ’(œå®˜ÐèU¿5g_5®7?#¶9XO‡Ø8°O˜ñí²^r6fÌiXQ®è«|kýsÏ—æ½¹&Í7}þCÿ°‘¹ÌTIÏ+Z5nï{n†wªþTQ 6ó| þŸ-¡f¯µ“¸^oíØŸ€äèî¹ÏÁW~À€ u4«#²€,D4]™ó ýäý‹œ¤ÅèYx-~y§èWË0WVNQ _8ùJ9æ…‘i„‰cM™C¢•ö¦e/Iïà/ß3qœtb¹ú–D×*µ‘%ê¢n}$ ìðú’ECQÉOØý¦(öìý,Ïq‹7Ãú–è| ä˜tC,cƒ*ñid%ùÅgYz*ÕÎÌÀ^ͪpñŠq¤‰JhU+$¤(…òFÓ˰Ú.¨upT²Pkrˆ«<¡e~¹(Dx-·h¯¥Úü¬Ë³#4ñ;h’·ÊC•kJ )qJæQûìÔ§µõJb)2Èù a3šR%b“­opÁ9F­„p:æßä…ô¡äU†-ìh–~EˆŽú«0/ ‰xv{!4± Å ”ºÒH#Ê‘sí6D w°šæÂpE4ùÊŸŠ4ñ§ßå*VñT¶…QH¡ý0j‹¡²n ¢yuû÷>èÚ¸,RÞlZ€b´¶š¹=élëë¶&Kt½n!eÈ’%&_–XÎÔDÂÐòH«"br9ü,08ðò˜ê› 3^2šÝ[³Ðã§€qb%’ŸÓë¸>R€•oé«àEŠñ‘ÙöZŒ*D­²UC¤@1¼@Õ#jDŸµÂ,AÈ…ë’ £¢¥› #÷‹õ¸·X I‡†ÓuLv[f€¶$Ÿ´_R^W‹ å$?Ãwã$g=%Åvê¿- ]ÄÀÒSÛ2wßtŽVÑsrIC1rGÓD×õrÿ n! ¿/<ç‡ãy¬yææ Þ8Ê9 _žþØâÒ½¢šHU/ö[_‹ƒJÅðý£Hiæ©÷,ßFêÂþc1ï1_j“'Ò]0¹Å½5pýq¤Ãaëñ[Ž£úfV-¨Y‡)Ú`?oÙîð*¨_#íDžp=ô¾ÏðNtÆNÝCع5·ÒÜ¡pc/é M«æÆËH¡›74F%ÜÁt¥ƒ³8¯iëÞY”${àŸ5âòa7¯†eS“ÓQnýÇÆÀ8³m,~à$‘$>g8îÇóN¸D¯)Yc;—†ª)¨;´À@¡û<¥ƒøÇ1ÈjiqÑD*p€Lé{ÝGõìPALYRm²(,ìÿB¾Ê¢wv![çW®cýyLåë´}Pz÷¹5 „•\«ü÷±~é@Ú‚¡œ¶>y¬®§aÕ®9*Ãr(8ɩֽ 8×<ºÚ®$Š~<1·Ç!µsšêX _`¡_a^-åîÖJ„Ø1ß„DjâÞ[uลT¸}çóÀžeh‹{Q‘‰/IQ ¸zT$˜&á{Y~V=¬—ÎñKÇW沞4† ÖcTRì÷˜ {­×çò¼ GÝùt&±ÞU>m׿tÃqO‰Qå̬ôø€JUðS²ºÎúàE¬Œ+b"†6”±ô»ô–÷ëá€ð¨çHÌ¿|ØÏÌ‚Ýbбh"ÓÂnCc²zül(E ÷,í“Þ.¶€£×3ÑÆDæµYj­8¿æƒr.³ZIøÄ®®›‘‹ÆôïQúÌ*u Ô¿'ßï£À4mÇV¶²Dº×XçbUó¢Q’èv­Ùi“ún¹ŠP:Ä_›%Rjýpa°Û,*ßlSóú dþ¨»F¸'u Â½åG9Àh`µÊ8 }ÛmüC_Ë\­‘£Á£³*lá'¯á.õ°³aw¸+UQïUÖ#we)¾6ö¦TI)Il¥dõtqbapõ-.áDšJ“'¶7ôn½mç´ãy«9ÐPÁ¶:·qâ,” ,&ãC„¼Õ?áv,{<¸©˜ØƵ»”×Õ^Ô$XùÆÝÒÂØqÂáovÇ#¼&äÞ²‚ùuÜ­hÆ®·Qìa:‰šR;w½öËZ› ëqK^ª[ ÈK{ý–ƶFÊÒµ”‚Ñ1C.f*¥YWÊODÙ`fÄ®í„ÍÝEü:«ˆ<Ê鿦±ë´ëL>«ŽËŽtìa@Ža‘ £¹Nw´fϨי¼á¤¶Ü”WÜg;(±ÓŽÌk;º©LÄì5Š„ÜÐYCx˜Ægz¢þjzÌf5Fg´´øPŒ”ÔŠz†ÃÜÝìÕ6Þ)ã^†^ hë¼=òFb‰À!ª N¯èV„@î"490Ì|'^„€:æ4bê€ ÿ׉¿ë–o·Q}™oì§9‘‚¾ÙþaèÒµIÒDÓ÷ïÓ§è|‡EùqôÃŒ|riŸ¼Í"42 ñªr„ËDå7³DãqgZ}õ%ö>Ñk´ÒÔlmdQúÕ$ð_ͼV}ÎIjª„íëoePõ`¿u. –L­(hÓ8éqq˜Ÿ³irÞ¼>¬åv‘X‰¯‚x|¯´>ºØ"_èÓù¢uLФ ÎÝ;Ô+ýÒÀ ÿ![­D ©Sï±*XßY`ʣΡ C}ƒ ©ª O3(ÂÇï8F Vùoƒý˜O\K©ªìû3L+Iß,‰R»¯@LÊr:*·©z™Ÿ*‘²ˆ(„úØ´áUè\Ilo7÷™7+cUç—pž­¥_÷ɯðÚûÇò,gËÚ%u?¦›€<ì–!63 I¥,ôÃ&½ß”þ7û· ‰|î€ D™é¥NÍ«Æm/×cT4üzÁ¨Šbo[Zu‡÷iÄÊ*5_ö±kÔ™§CtÕÁQÌâʘ%égê?•¢ð/V³ð×-Puúå{#šÇ?w® lzý >~Nè|'ÞþÖU_Älö×LÌ dJèîFÍD´¿X5ù&6\Âû¤žª7oLG˜pX³¾$/C€HX‡V&Ü.ùã+Š¦Ç¿P ²Ý¹†:c h¹•æW•IœŠ}ØeWOö­ëÑÇv ½˜D…0ãwyéÄ=Fì³õ‚ÿ~Â<¦ø5‹ci‰ñ#úõió0>™ù•p°“méw LÆN¼ñëGMê+ÁoÅn.”ÚVá¿L]ÀJ Æo¯ )\2°l½{WZÕDèeÌŒ§v¹YN—‡Z—ÌZá±ëGXV0Ÿ9£®GÅ)‘9Ì¢6vÅ‘öï~plõP”£øÈô®A#UŸ¼D,õ\^C+['&Ã@,SÅ üÚtHpz]š\®5‹‘%gÜHmÇvcÎK34 ¥(b^Òs§ÅW~,H< û"D:‚³Ñ¬Þ#¸ÊŽ»ýôøsÀ³à¼ÌU×ði6Öwæ~OIgjêt¸EQŒîÓy¦¤m2lˆìQÅ¡ê^ª.Eˆ=á§t}ù½¸oc ŠØt¬™3• °|‹s¥°de,-À5¶é{YM‚õaŸçiÄØCE~qZ6ôʸ­ðÐ:šYrô°–} üTÓgA!AÅ·¨°U,`3ã£>è$ÙÕûë;Gl´æà`ú38ר*Ég@èåÁòî"¾œ Ì^‹~ã[Ç|TÎ_à¥%,y¬“)M¯48ºàGO8„AÍ;ÞýÖ¥O+6{é«|$V(Ž)X_iÝâBV¿² ˜»eà dú"â[µ-O´ÿÊÓ%5ã`8>Œm¾j{³òçãI†1}c8-ŽÈ.…FDUük˜¶õ¾Pø‡é}›Ÿ1&ûEdºB‹åŽ.òøAÂtt¹š¬èÿ†œq€© ¥yA®@¿W&d£Ä4í/5g»¯ˆÜ f²EŤŽDcsìhÑð0HUŒ¯òa2, »ý§X¾æØk_Ffµ„ö{³W¨‘ _(ážoå€+7C¯1¸T.ÚgÞˆš¼É‰k†ÁÝásÜïxÎÒ²›°`‘“åç‘ð0ÞI#Œ0Ç`<#o‰£fùç,ÝŒÒXPiñâ™oÿ_‚ õgÅÊÆ·V [£§,7‚:¦ ‡¤\Š›…·Ñpç—Gúù>@l%,ŠåÑ ×ìnÝž\?M|£ª.Ý báØ.°ð¸K¦åk_áC¼¹üú×u9ܘãm¬u†Íç'oËCÉ /~16t9Eñ ¶é±•·m¼®—ÔKVõ—2=šŒ­i¢ÃÛv¨½Õ("À·——”Šîóo¶çÖÜìÙæ™ñðiE„Ó”õªÜICÇÙ¿A`]n=ºe¿å€“uO”ï?+-\jGž‰ÂõSªB°ÖNË«<.c¨aÁ_|Ñ5?5ÿ0ý^7¯S©cmµÔBl™Â½²átÎøƒºL¼\×e+Œ<0nd¸þÿ‡o7Y!*‘ö‘rÃÏOà…ub§öpþ{þ‹½ao¹' ÞáápÁ¥´»€º¯ÓR5nî[9v¯#ª$qå§wF€>—ò+™qêÇñ²!ÁVkÇýÆöU^Ñ‚Ø"6}äT!|›‚⨒ÈôѾš!±Ë—+Û¾0]r„Ün✦uÒº‘:þT„Qüt:šJ€ ­AB<9©ìUÃppRÿpåÕKǺ’u»¬ßq9Ç—MbôÜ-¼CAÒHÇ =X(T»±Ý¼’‹£žÚÓ¿„,l˜t$Ó†¯³n‘3÷ôDx #(+ûÖ¿}LÙàÊ9úNêáC>^t÷m’zÃýÍš^=˜¶“$o¨Ž°‹Ù)úõ´Îz­ ìªú•W³£ >”­o!–•ÿ=xqD×j6nùf[ô.¢?9OçO{?åç¡ÑÈ¿Æ"KJn_Mù"“õ ¤N’×kº¬2óš»­•æÐ¨³›ËI^²s…fI±4G’Ý‘똂«ÿ×ÀñõÞÌQ¯ÂSêú^Vg±u…l¿@ѤŸä¾Ds¡¤å)puÔÄ<9‹RËKQj̤€ãRÂ=\"ºÈRY[¨„W;y¹$âÖ9ôùÿ43–ÃÒ4'–¿…EGˆŠÑ6B?Š­N„·D2’§-Èô]—»P}ÿ )ˆw²¼+Â÷âcÞÞ&üxM¸²wåå‹Sí5=ýãA訑SÒ,ïjoerüÐ:‘ÆšíyXA—¨=ª F|Š&qo-òOˆ“¼Z:Dº„ìÀrÞ9è•û4µÑñøèŒÒeA–K1;Ðó°‘ôê‚*p¾¦‰,K^PÚáUÁ´o è×ÜËæœÕc¦n(‰mdn©6bÝU­ó‹Qt1`Îäx¼d[ËEuTp‡2†ânAšƒâ!JzJŒ`Éñs=ÚÞ4[#¨gFΤwö“öd¯ùo=©3Ì8L«Ö+Å)/ªCÀ`=:òØš¼%ý‘±]k\B¦4àÊ—±þœËœ¼êo#õ…¨%ðPIáPì´Yº5Ç‚oÑÒãïEU„Â0\cÑ‚õ@)½YL‚î›!é³´d0#êáàJú 1Ìk{u$–Ë\«ÓUÑì̯dSS»yvЀrW$€,ËnÙ÷?ëΞb¬å”3(N+«$KE‚ Z±Xš—¡¼vÕ]IìôŸëÞ$·{ äCqú]Ç7/gNü»»Õ°'‰Ê½-×T cìuLh(#JìŒ MÚ ¢#¼‘¿žÏ±›¯‹¬,Ÿ©\Lek¼ÈCêcfu2Œ5%px;€öàÕ%YwA²ZÜHµüMï°º®/øvVø–+צ¦fqüÑœ ¤Êoªè”ëb¾ ŠÏjüW Mƒ~ÅÁvÃ/àñXþ¦œis&ä¡ ù9ÇÏ}%µ:O ]o²Ë¹Å fsdc|£Çµj1wqþ%šCÊCLŸàäI©(L쨾`nTi¡ó_0ìœÛKGxŸ³óàÜ§Ž ;ñx)²/~?‘ÿ8ïq‚˜VNî ?#D¿8Y͵=VwHmž©:$ak¸¿.Ò{ž%rÓ2 N±C› ¼ŽáOš©®¹+øg›e'ÀcêN2Õ=äÇîü<# ]}h­Ù#mçjV5³dweõò­êþѱ3QXÒy›®ããW ÛdX®ÑJgÏÿ§:‹ìb—ÓJ³ÑMKåt %¬¥0 wŸжù—Y-œ}RñæÄÚƒCÜAxnÖjh9C¶œø>?±‹äN¼tK«ªtüÍFÙ“³±ùá”{‰¬¹àÁ³g&—lTà5Ñ?^Š!­§ñú ]ܵñb |Q+i)Çßrà©5ÌvwóUbÓdàAƒ©Y`Äbìån´-rj!(´``Câ¸"ô<¶êöPׇågsÕ®‰û§¤&vìâ7äQ`A6QªÏƒÍHóÄj¿¶¢4ã}–JÉ'¹#[M !7øâÝéÐ5P#VŽÙµYÇ.Õ“Yꆇ©uÅÛç¶Ër¤³`íUòˆêu ·^kº(µèæÕv•{«høxòVí°#B½”霫ñd@Â?ÛŸu¬l«ù·Ìîì¬óÊò²Qóò·þ?½ÛïŽÊ¦£!0Þg"î\fäiÙQ¨ÒUl;WZ4Zâb<7Ð<ªLX«$k]`ž*ùÀ΂ï.{@49Hà~áéT«ø¶í“•ަíÅ}–fœZu?=ò|iµc)AeDÀ„å†éåS%׊£)":L‚RÚîÅqË-j /ŸÖ´·¾+2€ ?v?)ùbY{Aû2WÂ-Í·Fëq·†+¾· ‚ü'œëÚè,™Ú6ñçðø¼áÏšHaÁnEda¹ä16+x›úØLyÄ š—'–5‘l©C’$hgtO\Ò§êg˜P`Ð<¢ âšs øVvÒ­pÆhÆÓ­Üô,d¼oô¸´Ñ5S¿™{±ê=;2]С3uÿnø±lKH0UÓQÓÔ‡×Ãq•ðŒg®t¢§˜ @SŽÜÿç2R*g©2q\—~xëá)•ñ¡Î‹9ŽôúèÖËÛνÓû­J¹=+'¨ÀEqb«½ØÆ‹ö¨u’L]~ýV‰*–2[ÏvZcO›þw·¡wÿØdoè.f_B?pëåÑÕÛ1<ˆ"HÕþåôSus_ Rß ÙÄ`ç#³ƒøö^ˆ|¼ebŠŒõ“~Í0 `ùêÐ*€ç#Ï2ã‰ÕlœR¾ñ$f…“ƒ·Vˆd“ÅòáU¸Zqù¢F2U ×KHg"ª‹ Ôü]Š?Á¡ñ5cV„–šqüÞïQÞòÒ± ä;!+œæ5C›«šSY$i¹Mš7sžu1Æ=„(ÉÙ žîoblüöQÐ%ÃX­<y}ôEŽ=eו 8,唘70þçáWC’íyó”wÞÈÖo˜„ä×›=©t°‚!'Ü~³>W½Ä:@ œcÿ”~5ŸÝ{ÏÄm¨qðCâ!&Ü1oSLR“5¹û@ÁÂÝ™þÖÈ>r €Mˆ†< ØŒìwž›û>æš…÷DЬH_l€yxRd¬Û>¡³êpþŸß¬ÍÄŠ¤ð‚òA1æÙ ¿xªàÛ­”¼ÝS—ñ5Û´Û‹ b©x#ÙNâ-“Ò‡’ŠÔ ®Ña/_ÿþÎMÛ Zñ® ÏšDf°LI;“®7A»¢¥4øž`:ë¹>ÜuF”`°†áÍÞæ¤/™ BŒÃ¸NYÐYÌøäx)ÛÒ]¼óá·é{ú²Áry¤¬jD'¯¸ ¿?Lé÷j7í/@P˜ÐŽŒçO7@ò¶¼gc! 2„ª9°Àf¸>?Ÿ¥cÝYï ì¨sùßdé®ò…Ý#>rbK<«[¿j .Ü}6PP¦B´)â’I㌵ÞV@lê^7f@›óÛÛÈVþ-«in"ekßÕ½æÃ³£´Sxܵ¦Ï•‹nÌðûLÄíBS&n…ôÝ•^PO‚Í÷rÃm}+£ b1,^ /]šïØt}¸¥€¯©e…{H$k8ûëÖ¬¤5†¶JnÏXé‚(ûæ&Ú7€1-ùnâ ”Ç÷d³Í‚ÌÙ~g–QêAãùf[9mÁÁ±²m"Hæ“Ͼ$þ ÈeÌHí),µ©Ùlæ5Ä`© sJ†Hš¥ûðì­xIhV|h 6J\רýré%kN‹ÚR_õe!…iÎbM„^Û°[@ßY5ŠèÄÓq™ZSI[N×k—¬~YEÞÀä ž)Rj?Oj_Éõµ<õÁì1º‰Ð L‹ÑÞø ú¶ÁËÊÁŽwD^xk“éb­](ÚõÖúôìe~˜ÿ€`?§O·Ÿ’ˆB·ÑŒÁ¤,Ñà ¤óû[8ÜgJny%Ÿçx£o ¥n-‹#gx÷ROê³×é†ê ÙÖD-R³~ª\£²… #ôý™¸¹NÔú•íœü®’“È`{ª;ÜD}Ÿ^…H-Ž&ê—Ö ‚Ô8_‚y3cÿŒO¹µð^b1ÌKú—"„W7‘ Z…‘=ùèm˜âŒï &á– 4R–} úÄ7šÄ¼aw1Á~˜‘×ýKå±Î ¾vó¡5e¹I™‹^™iZ+r0 ßOÜ;EÂlŽ,¤ú)7õLÀ‹ØÃI\x‚Ž/¸ó¿ÕQ2ºˆ¬)+4–ß~«VBÙ¯›¦a“á„·`³¨-ùÎN‚­3ES!ª™û~žûJ†yj¾oAÉdzÁºsFŒ*!8¯n"¨GÉÍÿáÒU2™0n{ac6‘á„Ä3"¹ÍZÐ[2«§¾j)Ûhv+Þ ,Äîc¥æÞôçp„žÀ:f¸€üóaµÃ›H[iÑx¯²_Ùú »VGÀ'ÖWI„p°¸ÜKBèÅX“AÊ0»Š`Md×T[¸îƒUôy¾d¸›‘ô€Ü(8TfµxÝ_¡ài¾Ûâ"ÑÑÍiø vþ]-#,_éVƒñ1o¢ñxéNó+3ýÅõߎñÕCŠ®Åço Ãðn÷·•£KðòX¤7SㆠµàôÁ}b ÜÈ)Õ•ÍŽH‘•W1µþ臈³ô3`<ÈrœÞ‘ê²ã¿ñ3Ñt)üô^ðâ”ÀNœž@ ø!?)ñV¦LrÉáZ2RÄAµÐ´ž$VoCï‘ÉAŽÌ»ÃC $9.Ê‘€NVšhLñÿåO¯ñ»üUZ]ï œÇŠ‚°E{üÙ F§Ÿg5ÎÉÆBšPp”ñŠ…Î¿ªh*Ë3™áï”&DU¶0‚»ógÎS6¯ ­\ ®ê–* èŒÓ{ˆc8¦°ª•I5L¢uË ­ñ@}ò{¹¦S²#Ó§×S,üv_²›©^›|YG–.΄Š/mÏ—ï»D‹G ô0ñùT1´‹Ä¬sµ}@½&›Å`ò7·T¸íàòVŒ2[ƒÙ‚(ŽLk6-7Xö„K®ß¨×ïɤî€)Æ4ßšªÚ>êÕ-œV2Å^$\Þ ÑåÏ| ¹_‹%êž?w&Êwì/y©ìS9[¿`à³(úõQùJ0¹úþ/?H·Ãø÷„ MkW©àõDbÓZœáLññÌ™ ÕNkÝ*nÐ5»ŽUÉÜïNLbÔ‹MÕé ¶¹}¶ê{À^?Eo+˜Ï^ÊѨAÃÐ?þŽÖÊ—VMýt¢¶MÌs]ÉOøKÄ9Òa‡úT“O†UÅÉÏiù]Ê7ãê¾êŠ~Æ5ceß«ëÏl‹ý€Ü´0oBü|dWÞ5:Â¥n@Mï;„‰wub eÐ?·TVXæd!ž Ú—ô@mJHƒÛ謭Fç®{_eâÈ/ÁúˆiÁNïŠ]j»’'§^ŠïeIZ×®ÓZ¿Ù}Þé»ÈC—~KIÓò†Eâ…NyHð›xüúÕ·j=<·1d\Ö}ò‘ÕÒ•DM³øÃ>þúùùôHÔªMÖºªòxà„r¨;ZÆ #_øÎ>æÐŒ(;Éoù¤zOÓ\È)ºË3!ö§é½¸´âXÃwçbJ £]â¸Ð²ÁøZàh>¦ÙºÜåYL¿“é|_„€~°@ýޤ‹¾k®² [»V/-À—_O£R˜Î Š!æ²SiJÛYyÇocêÜB‰‚DÚ + ¬Ã¼ÚÄRÜHÈñWÐÐuΆխ3Q«¢¾K Î Jd>Ÿ©îïaXK&Ñ­éý"½Óø7L( º³¶3 Žì"¦,6Ü1·Ç)¨¼}–v$®Œ˜†,Ø '*,³ò&¯cÿ?2(«Æ  “§ñ+ìæ5TŒÍÎHÝÁVKÇZš2žoÃEŽ4È› ÷ìi9›lÊ7²U÷VÛwú^žj-5gó›’ŽR½ÞÏ‹àŽÒF€Ò]I;‡KäU!î!Ø,¼ÜÉ„pmqÃŽI³-ƒ MǶè`$ˆ|¡ÔÊ )†€ùƒSÌö s𦉾­DYüò5Aÿ0ÁHTi–kC$æu³‹â ýÞÎË ¦L–—'Št.Ý>ÅèɽM‡hm²- ŠÝ½ˆÞi•ÑK°i·{~X´bO˜Áý†’ ‹F-!ß`¶º©ü<d9ÈÌ-"J‹zÈ%s>_½ñw)ØÁuyŸYx¡á"{1ýcŠø˜ôÈ×#èpÇKý-.š4n>ÎKÖ•›5³nÀ¶ƒß³®ZUÔÉà)í>4_e—ÏÅ{âXc…Ót޾«=†}Ö^aê`Ú¬0xŽ{¶s+…Óé–×íëŽÅêxàÀRdCãgíýA7Ob”’a@+1"c‡¶ IߤF{¼“ã£æ:¼ob®v*ÍË‚ a#WžQw´ôQöc´¼@Ûdµ/Žï3ÿƒÞ¤ñüÆàa(~]ìygš0v‘”,í@üĸ}•{x4ˆÝtíÿõ }§jax!=-Šs—ŸºÈ=¹ ó㌉è8½ºu6î‰A«}ÿè |Ane!©|ë@ ]Ɖ%—ä>iý•ÈÌè£Ò•. ªú ]Äa™ðVè,tÔÁ-Œ .]¿>lÏóN¬Þˆìv¢Ž|Aé­{}²^hÿX-rHG˜dõÜK%»—Ku+þPó­Ëçô·poµý×ú†ø®ˆûG[0Ëú뇶Å|Ê šùŠX“Äô߉"ô-«¯Í¿ÈP4˜Ny¯7h´ñþ@qÁÄfZJ-¶r|„ȇ!+L-ÿeÀ‘Œ‘åh\8è„fu‹ÎßåbÁ¬›´ÔܰÂÕó?‡Úc_+©ã]™iõ¦W;èyª½°–Ó­ºiÙ Lâ¬Q®¼–Ôkz~ŤâÙÞ2 j^fåiOHq%`nt2Ž«‡O[ŽI°žÙLÝé/—{°Ý€C§[Í+m)“σ˜ :ÉõWîc‡4ƒæÞÍûÿ0ÔÇÅù²Á1i ${^ŸÅ[Ø’šõ;Ó„ú‹ÃÛ\êI'kÊä]>0„4{Ú1¹Ú×{¨G¿üî'=d13Â5Ü’¬‘ND˜†”ºï¾ñ ¬nÌ¥ Ï}<ŠÉž=='©Ê#Dš t“@³‡”~Ž&yמÕa¯ç¾C·ša?Ò“ûgªnÞ®‹!pc3ñ—`‚E Wù_âú SÉ;˜ÉØÔ?OŸOg›fó+M$×&ÔA¢zå¦ÿ˜¨ÔFyÑRêsÉ‹ BŽëèàÏxgê8Yj—ú:X'Ë® isóUª"Z¯ÈÖ[ £E%u݉Ja °¨Ï-:=³-zF êÌI§ëyfdí§_’fŠus5IÿŽõ–V6“ÝF®Dð6S¬qÎŽ¸< xÔÆ,Ó?‰lj ê6ˆNÇt„ÙO$ Y ëÔ ™²xÀB˜ù¹Õ1 yü“i ò&b §Påp™G˜kÈ÷Õ,™|·¼ÍkHWø‚”S¢9)UB+·´¾’}í-o~û¸ }¨³œJþòE˜Ó{U¸eÚס¯óNÑRd¾ ÑMÌXuÁÄÚ­‡@h(Õ\a?†2ÚB`”±Ð7ÜÉQZûV—ÚAW„kú$iÈÁ>¾º#œN$ò'øÿ£>”ÖÏ×Ã;‘x $¸±ÛG.F2À¨zÑØß\ká{…Î#kˆ2µúW÷Ë ùjZ:$fBn¯bp¹—rà 0e”WÜÃu—4#üùRæ])„¢ž ‡Üµ*’-T«\Ÿ·Rºt$+.“^·¤Ÿ$ujTLá>®ó<Ù$M˜$Œ¬³˜ŽÕr ¦ÔU OÆÄÑ9Õ*yK²f²¸î=iµáVRj™Ð„lº­™ÎÞD¦ô¢*R¯v´|J§ãXööZt½^š'xAÇß~«î+«m‚}±¡'$wפ«Ž= šÞŒB軪"5_L¼¶VÀâÿÝ Ñ%ÒÆ4`Yõýq9Vä4mA{LOáÏ'‚‚Œ¥5v$Baä(æÙ¥”^ü¥¿¶¤ ¥×Óa È“9vöwgg·œ”8¥•Ž€¬>!_sµnQ4YËXm3í® EœÍµ÷åÍgµGDD¬žãÿ?dÕߊ٠@¥ºZöIyÐäX<+ŸÈôÀp›îö¸÷YG»>Ju7Mà%Ì5½0KªêprÕÙÀ¢È·#†>d9ávÒ˜ôº¹DN¼¥n²ám LÝX°bІ5+Ø•<;õzºÞ¢[Øc|Ÿ„¤8›þ—ËQÀ<½!Œ²#ÀLt¶l¬Í ãûv'ǽ8Å/+mõ3_rtyÝCG|Gí"*¡z[sËÂÎ)ÀÃwÂÖ´ šìvŸ¶…ù]´1‹÷®)ÿßâC•×.34 ŽÝE#E9óÿ]ÐÞ3Ô;ÝëC­9™§× Ë•ß÷•£ûM1œÇT8>@­'Ö$tÅzçr^Îìk”µ£«0=ÄOM«ðcÐ=ÐÞ=ÙBìvâ!)ÊØé0,Ø2·¬³“8þ5ðv¶<}Æ$Oo(A}}â,¢Aø7IH,6‚uŒEXÚÀg·¬¾1i¼ö¾IŒ £å,ô7ô¨Bß´ˆ”¤])«,»çB]±ÖbW…ÿ~>þ¡8£Î©ÚÎþLù‹ê[÷^Ùû÷Ö¬g“ÍÉ¡:­¸ˆÃ|Fkx ‘Ãóc”P#":‹æTǽ*µÍj7Ž˜æ@Ãú^/ÄéÁ~®cæy˾•Ï'¤Àƒ´WÑ}ûİzÒMDnP›ñq~šÍ®ÖV¨t8Ø/H3¯ò·ä“½CŠ'P>œXëùÄP–“U~æ¶È8åÿg~?y’h£nˆÐïX:ú ƒuUµæRï]ÚOÿ‘ZÄîËà ÌhSád‡BÎeëç¹Wf*¯—Ý›]€È#¾ ð\[ÓTyî@ækÿÉV‘€*;({¼÷ˆ©ˆA;TB„ä§òÊŽç¦á¢c¬ÓΤÈÙüÎÈ{_C5üÑ«…ø¨@œíz¢©M_|YmWç—¹P¯?’N´8NX7οĘ^éÔÖÌÝY‰X.Yyq‹®è–OÛoŒ“¶=]¿FØÐ-»‡'f”õÄ_}~¹ iu󎜴×ͦHC§„"¦‡)ÙyZúŠÞý°èßUÑ–u‚n„”xhäî=\ež®gKYºãþ7þQ™ÄòQE÷‰,èõ8TT·W-™Ç&QÜÔ•T4 xz,®Å[" ¤Ää§[Èñ¼xÊK‚ÑŸ²Ù={)/ Îô§mZ7óÞÔÊh£2=TÞ(n‹†sSšâ-––ðX;:*Å$‘©{çýˆF©BÎIqUèSˆ´fÚÔO% ¡×íõäÉK®ÝUƒ­™¸mâÊ„k"ÏX‚*¤¿šû¤C˜2,tXÞá‰1Ð/ü Í<ø$µEŽ@T;'~æýš}ØOß×)öRÖ4‘JãM–‡¶š*¿ŽÓ˜F—)9ËjÓ¤ôj#ãHr#Î1¶Æƒ÷æ3§8ÙeB£™ °‰¶?Ýê÷ ÛD¶lön´¶j0oÅ\•Ú¶í¹ üOºhúÏê#ÅæuÄ tô&×¼½1»àl@w?ènC5ø•’xVJ¼DZ1¶VjºŠb3 QÉ Ã+•–„´è¶ásÐ€ÏÆåo·*ªÓÇG›‡×ýn=^ªÙo7í]†Á¥@$)F˜%Áð j9M¸X‰ 2ŒÞ‡'ö»ð5­@ØE*;=O(Ò³¼ ã sအ.᪥Áò#Ü|`ˆˆr9rÙàMOe¹¡<\{ÐÇî]K¾_¿JǺÙd2£Ì[¾Š9"Æ*ßì´ØŠÙ>ÒÒ“× {S!0i²¯¾ùLJ»xZh ÁKˆ«2;þKK)·Ñ{}“?–_Š A³Cf‚G0$ É™;ë \Ã##XÐfû-ˆGê7Ù â;P\;E!­>•z¤ÿØ®e/â ¸V >T^à_ª¬…—°¡Í¡J<«%™ÉåOÝ*˜÷âwŸË‚¿7¤ìøPà>š"Ù G ÊǨÕ}ËÃ¥GÝan&ǰ™—Ï ¬€Ä› >ê¿9V–MÒ¾”Ôðü¼/ËÖ„7éպćðQú*À·4T&&ñ³Ô$4W]cœ¥ÏDÄB¹ó‰—ŒnÜ*) 7üÀošÐ3ó²•ÑÿN½iCÿà!Y}å²ËÝQ*n¸»„“RB¯)Ì#8 ‰j[¤´ÑgÈÔD^¤o±‹q—s& ',\ùد_’ø?´Š" ˆ«L#ED%dézÞJÖJ§ôÅþ‡\Þ×@ô5[ÿWdy«êÿNK^oÒÏ“ýþSîJ Dî+è§®¾¥ðh=VuõÉŽi‘è iU…ÚÞ¸_hn´Fò– òÑâÛj:Â[SÑçÛ3+æŒÅ+±sÌS-%Ý‹H=o#Ï,®Ú”ª‹ ˆR‰ì¡C!Û6æGs³‘YRÌ“B°>˜v¨:Ääé(FK.ƒæ †PY£Ih¡^ _”`R†4§ë° ˜óvæü]¦W{ýX6.n¡®×´ñÑÅî6™)ÄK÷+•¦,{¤,ÿ¼¬D’°è-ñå)c^:>Ó¹TøF?»^hZ|n`—‚¨C¢Ë³“²Ó ~%ç_ü©‹µ¿v8¦çñgÍCü7’~º-ÉPZ“‰å²´Ï´Â7¦ i2g­ßO¡ìÒ¼ÏF=ê§k]bÞ__9VÓLD¤{›M±qó‘fñR¬3%¬Ê!Õ…òé(6RyáÒß +?Ë ;× ¢ÜZ¶/²*lPõ'y޽õí‚‹ûlI­Ù í„ôà…ŸÁR®v„ß aÙéT¶T|ŸÌ½ÐGMówèÑäì„’nv^ì’’E–)’±Ûy½„qg " ^õš¨ïøBòhŒ¸È™Õ,-ß;ÔàIЭmiň°K Ïss¹SÇù¢8Qk…>Ÿ¬0(FXe`ˆ€ñ”ÜNkÃó¼=·Æx‹no…ýºócÉ딡$)zØ8¸¿|EeOÏÑÅqO|蕦4ö¬K¨„èŠý$Ø`½è1[uàuïƒëZ5mÀçF¢áb ÷-ƒÐî8GÞ¤æHLª`Ô~ùZ¯·:³šT{¬œ—“‘) W”Á¨xlÚà´P¤Põn%UÓ{šsµøDòõ}šíâÊ Må:¼X{uɦ«J—¨ ¬«`J¢ô >æÒòl‘CRByíy‚hps¥‰§ÖøRf%šŠ³È&ÚrѲF{Å™ÎuŒ¢m¾EKÆJ÷Z}²Õ¿u:@¡tEs‚'½Ž“Ùï÷ù¥™‡‡>Ï2JeÆ=›"üÉ5¬‹¨ÔIŸt1Ð@„úÖIÃöîÞüÈd~ȈÉ'äf[xÏ庳e¨ša™FÿÛvó2ñ‚x£ì/‚¸Ÿg¿L£º$¯ÜõQl:טŠï¾ó¶a>: wÞÑÀþLf´=U›ÊŠÐ÷†'„¸›ÍÆžÈ×TÏöG[#Ãκ»@DLGSÄ¡/ÎL:èY°Ðpáô¥äT3à/,¾Ü¯ÉÅ#8ÈHoè„胆¹åãߘİe¹×î4gM¿jyÜ 7«¸ßÛî)a<ýþT7TæO ¯jwr,CìŽ0“Ù’í4Jr n!:ÈÏ<_7ŒWˆÄB¼ÏóÚÍH”K6èHŸ¹Í1¨Catöȧ­?AL›Ú:Ìr潚[gCH‚Ø9ñ@wh©EÄ/¤=·:"ÁY¥ív0#g;–V9×ë²DÅtp ýµ&X«x¢µ_‹ÈåØíWÁìôØC@jÃÿDåýëwSéTp?«Â1b€Šwh½;V¢Aý“T]k‡LúQ(´™ö VûDÏèŒQ¿i›`‹Á;yÊþF¨GEÓÞ½Ó«z»˜/ÝB7×Þ'ØBf³ÝjŽ”–À÷Ý+™h¡Å‹±¸BMç—™NdÄCx¯è¬´¨á²zéX±$N‡º+“¹¥]ãPÔ3êŸM2ÑôÑÐÀ¹BÉP^@û•ug]'FA`u²Ë·™`ìN€šþÓü$i‘ð~¤ãq°BAxĸHœð.„€Ä£¡ÅÝéÝ$º®xR„A$Üvfè}fdã?–pCþJÞüGöÑK Û;ÉŽl“!"æÌ*ŽÀÝ.NÀÌTB Ë>‰&‘ïÂ`„*.UQäÍ8 ô ßO|äÉ:ó‘`«gÓ#o9Ëõ_"Ö9™ÿmð!&eéªôšÅ"²¿œ/±DVØ-ð½k>ö(¿«Ú&=¿Å1àOÒ¥œé¡ABQIHý¼ØÞDÿæz½ÅŽŠÝ™³/ ÐPü§dÏìµyù˜sVísŠ2±2¸•…Èçæ¢Ü\ƒcpö[‘K;W‡ŽL‰2¦!G#~9!$¬g—m”øáZø¡@tìd™NMœvÀÂé-Fì¢wÑS•Mi˜ªe@iFj¤¥Â¢êìGª@àº7¸¢µ¯Rè@“3ý tG7f N8¶;òÃ.}ªéãÝnÈq0]¢ÙX€C+ž§ÚLœ2I .ryÒöã!ÐåG,;ƒ@07c­Ÿè´YoDW¼œà^QÏÇ<ñJƒ›ñjÓ=u¢-G½¸US¡ÈÌS½1ïé‚÷¯©Ñó¡Z=§*WÀT?AÓH¬¤ÇÒ¢Ù0JÃ\4T}¹ ò¿xÙú¥Ü¸ä18|¥ÎJ6#3?ðþ*¼¿·Zl¯ÂÙ'Ý«è¨7Gåíµ« 3¢QóÚ¯ãÍÎIOÕ¥}\k•äŒl®Œ}×·’Q<Þ»Pg‡£†:öP8n`Y°ÉfÁIuãÖ<ÓCõ•6á4Ý?WË„c¥¾8õ!¤f1µ=f0àt{÷Rª!Y¥j³)Þ€}=%q]Óbœ1P¥¨‹¦§ŠéÉÖ¥)"WQ–ÆH¡øßM{½YsÁkÜhÕ ×e]?°«x´5ª^ƒ0'H¶Í¬ýV§JŸÊÒ,y¬Àe…­5…:yéZº¶–ÛŸ{÷,ÜÏj®f—‚7M…!y±ê˜lÞŽÝtþ5eçe€1cM˜ÜfÂ,G'|Mû4’c… æ¶N¥J€ÔÅáÔƒiAƒ)h#dFà>TЀ;0ÿÐÂ\ÆÀÖ8S¹I/õg ¾²¡9žv'ûZ¦C‹ùqZ[ /’\ÍT#${¬qýñ{íò¿•aëàò 1W¬êQ™(ü(>y|êèA…Ö:ÝCÝË?¿çƒ³HÛQô¯¤¦^ƒþ—USÓŽ:»CþQUX¥)ÚòÞt1ª¹È7$Ö+lH· ®°ç‘šŠŒ“Ñcq2ž> /o?L”)ƒê ‡Ž<ó.tžTÎyæÁ‡Uú0žJËEÂ÷ÚáNîyRîûÚj'§‘£þ''cšÉ;±V…,Á[– %Þw©G¶ÈôÖáTex”3ÿØz¤E”Ü‚°}V¯÷×Uø=d)jWbmV˜Š¢’„èÚ²{ýtT>®fÇ“K¹Âòóx,EceYz§›2ØŒ‹óìŽ}ýûLýjœbj3_LÔ¡LJ¨­Åó?1Q/ªÖÉ–Ä!›yžš6îW-#Šò¸`Ü5n¢Ã½sYïC½ lQæÿ.`´Ö¾—SŠ¢Ì¶˜òî@OæÊO¿À`€‚ÓÕËÐÔøCtDÉž ©ßFèä\ÆNÂ’ƒçâUYØDÄ"!#©P|~W€c> m@'Ôáew¢zÌ%4õ-D¹[’Ê„˜|Éyd;JÞñ–̯Õ,HÇʉKphmi}º…˜e©;ÄyóQ“¬§Äªr¯þ õ)6fÑß|¸‹0=m¤Ý±˜ê®Kv£fm²‡ŠjZß ÐØo,F€RڵċöðßÕà2ì¹ÂfáÉô[bAÚ!ˆ$5Q}Bñ½o§ýoL,O©ˆ£b¤¼-•díöŽÛÛRkw±/üÁ«Ÿ™f¥Õ£ÛëÓûC?5˜c¤Ä›©ú?¼>kÔüûiÅû]ueÂb YßÄr#¼’‡ — ”^aX—¨·³r‚Àˆã--T¾ÂÇð+v²#oÑÏvž}L`L'IU>Ø™ÛØ€oæ§£ŠÜ–‰YW.ÑÓ©ç%+n](½ðt¤˜|8fúMoш‡…e<Æaî…ê^X 6g~‹tbµ«sÞ£è'ÉæWªSßyõ10ÞçËeó&ÆÙù‰Û34ÓJrQþ ÈUÿ2fºdfÔÁ}a.î€2ŇZW÷Å)°CÀ™J*ÅkSôN.Þ‹:¦KoW—À%hömø{ŠScxè[{½xWùûÓ© ¸æ"R¦Lø~ðÌÙM•޶Ӕ,wÃÏŸýl\Ü×#<ãÍŒO–/°¥)ePë˯J›‹/¨îxh.ˆ6ö`÷È‚GxA=Ÿ+üôŸ½_›²N4öAæ$Š Î}R#K ³¦Ä$äá´‘uKê†x\‚Þlo€N;v|o Ðz™4NDüo™—â_Kúlº!S܃ªqÛ¡ˆ' YŪá“WfÜÇR1[ž¶ÏL¹Ø’‹3¼ïÀEs_{³9~â¿r³5¹>•‘KüÓ32†hɦÓ²LÿöøBêLDa Éeb;Æÿ—±?F6ópjºÒLˆõ^¼M/©Œ<®lå4)Õ‚*ÿe©ÃSgPß” žt½ìÕÎàQZßFa=ÔYí Síåg˜ÜK··| µßÄ2W£§¿ ‰Gõ÷Ÿ¥ó #î¸Róá$Õ'] tLc {P™UÓBGâ¥éËo¤¦ËO€-%ÜãWbƒ#³'ü ©½bVmQZ‡K­—Öœ±)ððUéÜtOrÿ»õ&j9;Q÷îÊY, .b74X½ÞÔÝ¨ïØƒí±wK¥(ăeEü Ü@Š÷Çý\!O¡-Œˆ~„î –õ_²ko³^úà>†3æ}ß¡`@ ]½Ó²Íð† öô«•Kô0²`+ŽØÀ˜ á¦ÑºïÍ–ycm£›û1Éâù¡4‹z}MÚÄEV¾l}èÐÍ´¬»"aãnÓO#'=ò0KÈå‡W÷-3̓¢,ï™I;ëO­ºèþÜŒµ&ƒo„oõ8ƒz&.MåârݪÑQ ±Ö±PÀâÃ穈v¿àf@øÙêÝœþÏÀsØ\Æ”©wN͹‘ñiGÇ®È%fŽÏå§À'¼0[Ÿ :hRŽDਫ਼MŠÔþU»´¨±©9ù¼¨: .ºŸúäú_Š,ð‹J6qËz™dN¸Xݶ eöÞØËÌãEæ;tðN==Ö¡QlŠ‚²-èq™Hü3…Œ#ŒT:³Ñàß^÷«l¯L×£2G&ÍÎ×Ët°Š¼ûûg”£ѹË©·!a°„§°ëÀÀ2š.iY2oçr£ÙCâGZ1ÂygpÞ| ×Ytöûê/7E2HkÖ°“;™ûè,—ÿŸì–Xø±p5 ëþÉûU­4ljR«<¤¦æIÞ=s2«@Bm5 Ü«_‰;¯"b’j( Û¶'r‰;Ä*ª/FGAœ–Ð86ˆ˜¤òr€a{ÌÕA÷Ä«ñe´è¹PT"`-5ÚYX1LDE`u¹¦>céÛ ‰ÆÕˆéµJ*CCïøaáœCÄÚ²v3ÌÕ}î$q(õ*–Tì ß9×hLn±]ÑŠšRgÝ÷ÑÂ%¡šöÇr ç‹#BMú‚HX¸<^ À(2Sam߇Ÿ¼A’Áǘ¬‹)Û›VÆÎ6þÀŠæÈ¡|VšF#U:ÞqÛ µµ(Ni"Q}ŒšÂô"7ÇZŽc' ½ Ilðvc&'Eé¿+ux_‘";êR½ƒ*s‚©ƒ×çŠ:ÿ¿3gq‡‘˜ÍO›w/&‰×£ãX4z“†‡ï– ë<%HŽfÄ\œ'€Î¸.~´É®nQ¹‹ZÛ§>-‰&¾¤ðA±LxrÒŸYÏl3™¬K„Ëí®Â4¬ÆÐù:pÖƒÓŠY6¤_=­| rà;(ż†G©·½bÝæ¨_ÀJ@ mÇ VÁ!rËÖe¥|O€‚½º·Uí {x×–èÝ×N^ŒïS;ŒÛ~Øó–ôŒƒl¥|e"­Z}ÛØ¯5,¶§@àWe^ìŽÌÕÍÆtðFÁAÒ¡pjUh›#¨[ž7LÊÐg® ç@ǺTú¯Ôʼ)ù™\¥¬ã¬í¡GÎ\7™ž7HÖ®\‡âQ´8ƒœã@©éðÜí»Ð¹ØpȲÝÈ’™9îìMrìCKæ¹FáêÜümç°}ØÚŠÍ§Ø%žDeKsŠvQS Kmâð ”ÍsÄ}bj•j] oXbøY5¼Z-]Sÿ@-˜·ãê G¨8¤¯×—ï øü ´£Mµ¥@>± íž@P—Ûžë-,ÉèDò%þͰÓÅÿ—Ý’fmûË<»g·²Zc©¿´©ý¸TÀj•»Zªô®a­E lâS›Yæ€s…ä·ãnÕʦ­œU‹ÜõŸ±‰Îë¯ J—®ï‹¡@ pCJ­f%«:À™<öã b½ÿoˆµ‡Iƒ™ÚáL ôs ý£·ÆäZ[ÂD” ‘ð¼‰zCðœ_òZa¶²ÑÝý8õ»íýJ<ó^¦{–ɰNR9(’7©^ùÒ ®MþK nLžìoš¡LÈZèÞ¢¢Z)õ¤ÑÕð±Gqå;Qø`¬Ó>&ϯ¢¯ÄÇùâ¦zQ18à#@7CÒ¬ò‡ÉÈÕ°YÊKVQÈBî.ww¨žµ9¦bX‹Kƒ œ77òs­p¯h¡cÐ3:Ïeß·èÞíñ±Ç¼?¬}ðŠ<­7ÒYÑpÔQÚñJQB— dÊ•­8…ä¿çh“ÈË­¨Ä¶}aŸÄ·l¿ü‰ÛU±³tLKd ³sØ¿‘úƒ‰û5)žÕ«aQ(²y°ýÛÔ¦e¦N0‹ëùÅç®ûÙË…9 7ã,õ7A^þEqnJê|n”€\2í–Õȳ9d"Ã0å2 ¡ìÖ&Üi~HE)„qz›LÉÉÊ£N\¢T‚ׯ;S²`¼†´j°t«ðÛ©X†]áÓì¸fÝ6ŽI»º8]­¾Û¶jÃz$Ãá žBt6D†Z V.Ùù¥Ó³CôõÚ+)7;?¾#¸X,ß?ØVÿ‡#‡Nì;Â…#ñø1Æ=9Ò Y=ÆDw»jB1–/™‹…Ä.øÈÍkÝ4¾)Jܧ›÷™Z­l6ïx·Ç Æ<˜ÛìP•®²±“̸A o³ÂÄ‘Q1¸4 ûM ø.^‹Ô¶°ÕÛÿÛ¡¸ÏÙiØUKžÈdÆseoŸ%‚Wº5Û²Ùò>ú-œè{­‚þöqã› ô6îºSÐ6Ñ´¶¼³É¬è¡c.¶šóÛ¹bx’bCqÜÂó±½8™N_Ø–#Ó\=_–Õ}ž¹Þ úA÷@´-”ÿÃú¥+w[ oðuQªóÞ`jSU«€|Ó%¼¸}¥Ö­1o¶‡º°™8•=¶iþsZÔ,fÌgÈ®£üêû¦û]+<0—ö‘€ ôúbªªÓ/Þ«¿RœÀ5Ģʿ¡WàøÍYSµv “ûe#ŠÂóSO¥72<ºt=[‹·¬Ie.V ü—Þ׈v@»†ÐæÿF¼3âì£ö-¤Ï–ã½?ƒoœ¦í@¸ _¯-¹ÐüÁ"KÉìh>¡¬: eºàÉ[øJ^¢d@À¢Uo¦*jº®7–>M´pªKcRGuŸNJ€òNj€ ú—¨"/ÞŒç/­™U3)%B±šyÖŽsÝ„‡Ó°h zŒ/*¿DY¼å®%è^ÅðÈÚ„Sþo¾†â×…ó6ˆ]¯±îy3ïSˆû ª×ŽA¹{˜}{ÕÑ0S¼G¹Bz¤DxÞŽ(Kw÷â Jøì?—\*ý¹)ëc®>ý ªÙÓÈýg‘ªþš±Ÿ*Q(8x*׬zŽV½Å&¢H{6sòÁóDp@ô=MFßQ< 1¯ïwA—Œ¥xœÏb •ºú7yά%G*¶7Žõ7!r£ø#Î"`˜ ¦•ã-kíÈäŽØ|Ù\r"o¸‘qµbå¾_HkNÍtêDÜæ p0‹BºÇ¾{%Ø2k›,ÉgýÑ)ãÈZ %º´2›ÙFØÙžŠíYÄxšŒÖÙUÝUºãLÀÙº1/Ä. eü S~ö‡ßsú>îgû‚]‚Œó¼Îó?F«Äé]B·ô}ÐHâæy95‡# ŸƒæâĆ– *;i1)]tÕäš„TÒ™Ð'‹Oú8·MSÑF¶4é¹!¥7 Ñ4KžÌ*̼µîj*HEQEð»c̵FÑuBè |ó¨yM;ÜsJ”ú1f`é¦ÖQ'%)Èõ ,:òšÛªhóTäÍG/Ô¢–u_ÙçÓ8]¦—¥ÉR=Þ/zà›]Ò„Ã)•²Þ¸Þ™«»¬V5Ö£Cbë*KÐLsÜ-¹Q›±„N »&ïs`œ’£uéS€(á :Æ&«-pñ¹¿â–ÊnÜ~Ý(’†li³Í=§‰üìÆÆ6v(·ö?¡WSÝ“ÉýÞ(;­¥0 »“$]‹ª¼j1C†èvGù*öp"‹Û¯¢,? “ qŽ ë~HE3ýhè"tÄšÞ©…"BóÄE4 +Úªª,(¼IáŸèNo¢æzH«òîØ¾Ï]3ú¨µ£9¥}60¨`<]ûnaÚæÞêàArŒ!-¨‘µ("NÊÔ£ƒBª\?0/@•0.é¯SÃÏ%ë]9Ô( ÑåZßÜÐEEÙ^Ú˜Ÿn)¨Z!šÒj†©2-\zŒbR SN‹ß>±=שy·ó‹ÌWþc°<ÃEüeÖ!%ØÀ3±,œ‹¦a\D]¨?e¸”'é+0˯º[½1Œ83=µù‚õóÉ©zíl[ÒxB¬ñ¸íð¥¦P—íþFëÌ~ç%àBFq¹Ç‘Ú,vöSï?«0f#×AénØsÝ_c4ÄÕ2áÉ¿â0±˜êO“ϰÕ+‹î]röÛu¹î} \¸ó»ëV±}`”Y×¢¡OIñÏŒW<‚–rj3ãÚ~C¤€ƒËº+OϧHA—‹"0˘c¥Î¯`@-Bšƒu@)К%H°­œhã=iDÍëu¦°3¡óGN¼zh ¼&k hQ˜>¡­OuF–9u Oê.¥}ØŸª¶æ D^ÃaÐ@¬iI2L±¼=bù<ïjàþ rø:(ã£Á¬Ï=>»×ð8éDi¿+ý^7\¤éˆPÁØù¦ÒÙ§ÕñÄ:âoE¯u×"ªµÖ iR^&T™ÀRn’ðïWê}3Ì·~Ëg²òô-?³%!4ˆÆï¨÷¤ Œ¾ÃÒ)r,ê¯Míá 8aébXweÙ&•¾–žÝäɤ/é“ÎWcu/r¶û1¦¹¶±¯õ—wÛI¸‡ÿ¡«º¢•zC¤÷È÷=S¾·*·ŠÄmz_V]$ã@·àÈ-zEÙ4b³v>l:{…(3…Dòýÿ¹M’#ÒËã|·ßC=‚&¿£n†¸z4¶&çýiŽÝo‹î^‰Äá‡:Îë}âsFý n®|ÙÈ`)˜m¬ê²‘üÚŸgª{Åp^•p_z›ÁVÍ>ŸÐË~×íï5À·R¡Ôx;14ˆ»ÈÛ&Òu)Z¨6Pe$Hî9ɾS!>eÒ™kúªU‡l¨ûæ=Bü’¸8™$W3•÷B{qUiµ“A|¶M'ùÍÆBÞávͺ…m5÷y1“ñæ­o‰À€›Ý8~˜zÉ ¸ìÜ}sr¿‹Ô«×£]³R²™mFág"w«#a®§µ9ak¶û[¦å'‡jªÍŒÊ½!€¤Sú]±áp–‚÷òDS5&ëhÎðvS‡ÎPŽËŠ*«¢À³¼—eÏ/}X;-äÖ—gWů½ÏÖó{¨¼ØÀdtDu8åA_pŠÅ+«œÎÃô‚›Æ’ÌM×i·)|§„2CÉÇÀöÇ’ÄàÑ?Q¦Ëb|òïOápñy—è­{†žV%—zøÄ"à<ú혜+,;_’Ùì9y¸l¶ß, „‡g3Ò»7«æÅ5Ë;‚Ý Ùx+ç½øb†í>øïã]Ò»y¤6Å«\Z}æ9;IÊÞŒ³PI'Œ‚ç£Hª‰G¥Ò -=0êt”+ý2…n`¤[U=í…94ì´´òp «Oé[!°1®'“¼v¾ûÄfݡĀ”>âîvºælÑär“B–X‰f¼Ûgx:weð“8@A˜jÙ·èa»;ù$,ž0½9N»"¯ÚóÃôe4ÿ—MèÇVUÕ¦ŠxØzÖ<{\ž¦ÞGðYú¦“²@ïþb]ÅE‚ÍѺ>0g··¦ZNcY…tó2 i{bÞŠæH}·*P𩎗gìóé·É6NbN'ON/¼Ñ¥iyBQMWŽÐu®Rî·”×_Ô–@7uR3„j$*eŽM¤ÄP†=×­¡wÚ$”¾Bؘ}sÇìWì³—…"-¨-”ЮW?¢ •rÍ?왓ó@Ҽ뤣7S†ÓÅ£çúZ–Áæö¼âÌØ¤4£µå²¿€‡¿2?Å¢æ•G¡}fP'dd¬Émæ‚J¥ÅófÆÝá§…ÁGs´ÉULêëewP·.Ó³>ïáD‘ÿ­=Uš®¸-i‘S*ç~éÛ ¼Ÿ®ñõÔ)€s4^{ù̆Tï-FŒ/Üø xègÁ$`\„¡3ÊØI>N¢FôɃ°ø9')ã~âáWä¸GÒ—ÊöÐÖ·,²µt' QàÂ̰¹`x¡•¡ÌÐí*¼¶n{Èj Z³ø<´À”å BáŽ, ¤ºF¤m ò„1“=¾Ä=+ÕWž’0$˜Ýß{‚Oï‰a#ÌsJG‚Cø[ÈË•ŒàëL¼Áèé]7’’ÄÞmc¾¯ôÓ­ÚöGtìÓ¢‚oÔH”&Ÿ“%ûG-j¦N3_sC@úß豑ùØOWp °èN¦êr\Gî׋\#Ž¥é>ßÔeÐA&AD*¶V†È;.y24ƒ¼GôK/S‡ÇE© Ì$B¦¸æD¦60(nû`k2áËHñ¾ÔÆ¥jÆZËtG=•«àbV“¯ï9&¦ »,/ >Ÿ^"'j="=íÿKÔ»¯‹žÖßkl¨Pp®Ð-0pX½#.¸Ö×ÄÆÃx(yùJ­¼dÌdîföZ«Ž§ÃŸ¸Ê¤Ý«—êj²‡Dé„ûÙ_¢ØŽ¸î°|gÂÿLl2Né½ç&]cƼ³8©¢´ ª€U°M BM(*ß&aY¥\gñ(i*Fw11¢Ù¯ûÑ»g€h8‡«ùÍŽþ|àŒ”Â^HÞyáî*‹Üò`»p1)™¿€ñ†ÖŸ£›=““zªù½ñÙÕéúB_%Z»ÈœÊ;'›WÿÇy¢Ö’f3ÿ8ŸKK÷wÑ1(8måÇ·0Oÿ´ô7î7ÙÑ×'Ò„Jg°”?Žøú*t¸B!¯ÒàÁoú_êòÈÞ»½‡¥4;+'ä0ÑKg&ø‡Ñ&ã´SñÝvÌâÅlÔ¡DƒÛ"o†" ŽŒ–×£÷ &Ä\Üî=q¶]¤éuê¦|§t¯7L„íËûU¦‹¶ñè¨àêÕѱÏzR™÷Sÿ1ïz¦,H¾aÂx  Þ“¥ŧŒñaÊ1M=\e ªQÇ׉7]EÚ\ÕÈÑRÊx£ytî„C:ÍñÁÀIÑ^ÄÚ=7ÇUsÇ­Ša.Ez•»‰kå®+£9¬‹¤X´¨:ÎÔ<èå]2ˆ¡¥Òû÷¢P5²›Tâd±çV¡ÐÚ[bu®4æw='HŽJ­Ü*¯ÜL¢ƒ§\.òÈ,×çØ•¢<þGi}ÈU¹â1œÒ#(<¦:,`ör«G©€e ¥o]ÔsFKè V×Doä$yùãCÌ&¶=!ÿ\¢ÇÛï΂‘)[!ëù-ÑŽˆñ‡¯RœNüôÍÚö¿ƒ‡#J¾~O­ ]‚̹¯Qãeÿ€½Z<÷… ø © )£=M2·Ù à|±V†ÐLݵh͉¯íR¦M"ûÎúQ9áÑ%`%¬V `ˆÏèvËMÛåóW§³´Ò¾ÔCç³éN(•hs…n˜«‹ã)%ÿ?˜Åu[ilÄÁ½öq´çº#a´^{óGŸí‘øˆÊXÔ=)ÎÔZ’'#÷™ê½ÿr¤FúPŠ‚.l”\®•±àv ë3(±% sñÐ|:pΡ›Ýö+ :´IÌ3×?\ CTSö%’§Z[=ÔqEvô]?ep²ßýì’ÂŒÎ*rDyf¸û–2ÐvÎ (Ô·¡Îºn9 a˜’eh'¤Ú*–£—3zDÙµÅQ?ä—@ÆÔ µ÷TW%hDƒì¯h–4¤ÀdG0W÷”Ò¬ƒ…Ho»r°*Ÿ;>§0AU sbëÜðÿµS.Ó> Í òfšÆU _ÂÀQgF]AvŒ´< ‡ªÅ'‰ldjµtxÉxP»% ?ø iÉ8\„-¢ ÅŒǡl‘>é3_Ÿ'"e(¤+"µƒ‡Z^ÙÇÅ.jßï‡n2mHÌ0Óû«Cͯ“pŠV©Åîï­Cc~fÁ/?&+á4u<ªsw÷(¨R;ÎJÐ,? G¢)2gè ƒâÍ‘šf¡‰^‚ÏåéÈÿ%ñLûé¡íàyrÂ>Ö&½6¼¦3Ÿ¢bÿeç«[Q¹»ôœçÇe‚ý£SbH¡%[ýJ^NÔÞ;É cŸôÔ8yEá±ú=ƒ^m“:åÄäN] ôoki®íeTDÔìiÁT‡¤ ’ã^l/rÒŠµ29:}¶ä šl¸ËL·N¢E={ÍBða™Z€^9"¤¾‡eɪÊóçéO%²¯ú‰ÌüÉMu6áJÑxcßAø¼1•D;yý¯PÊÊ@ýŸ>8ÙžŽÐØŽ­OÄfÈÌ3z¿&"KÙD ÙÁ˜@奉Ô²S¹¬6H¬³äq~ˆ“uœ %ÅèéH¹½ÍóEÂ|wv{Œ 2µÒl1DÀ¦¢îëImd»ÏšX5¸’Ó"ÊÉô¶I®A™€ØFûÑoš·ŒˆÍfàXÜÔÉâú\KÈÿz"@Õåí³s×hV¡6îf~#K ùõÜe•0@öŽ$}[=oIXR&IòäÇÖ>”5klß7tÕb­œ!Ë¿ÔÖ|DgSz€Î)¯ïà,mÇÙh{e”ƒ/ÀcMÿè[bž âh³¹Í¹ÓòGÔÊœ2ü©yùØÙñáÅ)¨•¤=Uê´Ö·Ì»/< r]Ø·Xh ª cj†mìI!¼îÿLú‰Où¹ë*?ÒÈx4av…^ëõMdÉ °©~7-Býƒy}ƒ©T°üê\Öœ¤Þ\ânø¢œ½|8ä à•³–Ò†ÉkE˜[‹BJ(ˆìb†‡³ë3RÛF6Dž•qr7e’Ù:¬”\Gk8iG[äз±|oõ\äjÅDùh¤ƒì1T'\Nç¾òÓ»|ˆƒ©”!%·°gT„Œ®r“ÖN;ññëòíú(O*¿ý'‚Ìp½ª ª¶ÜktðA`‡ßùc=Ÿ)BN²Ê•ÍÐ0]¶Ô형:ü¯ý.p°.—1¿ü˜¡´m«zÓ´¦xÚ¯vuhürF¼®½2‰$ú/¶âÁ©Í"¥€ÊN8[gŠô‡êS£2 ¯ÐÒ~ø±Mq§a×ÝÏÿ:'Rؘ¶2~Ò"žÂãŸV²9`5„ÙœÀާ0O%š ŠšÕ‘¤ rµÌ…•„gÄ·›ôµ¬tœqÅ ª43«÷ºú o Ýø6#p€ÞÛôÓ9QU3·1‰/XÒH"9 ©¢h@Æ(øÇæo¨3É„>’«Y)ßmרj¨;ãr»X˜ÓÒP@4Êv6ŸÒsŸN8Ý Ø´ÕÏ>†ºé@h¾M´i•Ø´Ðøt|ØoóDôb”Cå6¶dX5»]4C<ÊDÔNEéÑoÈ®øW¥Ä|Ȇr) Õþ0Iã®î0Ðe„ulÛq«àNÏìâ}ë[á`F+ðéãüÐð9ïõµ‰—ñ!ÃÆ4|H®Û(O½ù7dt!ú¹HÞIþfv0X¤Dfɯ…qøgÄ7eÝÙûPɆW3£÷ùÐàçc™…’a:ñÒ†m[Ÿ•EJô9zž>ºc©ŽpœâWÞ´c¤Mä|Y}v«óãu^«fö(áïê®Á1Kô`í$"”® Cé!ϯDì»t‘Ÿb<ØyÎ++jª<:wÆêÓM2Žé§.e­‰‘—Ã%¹ I™§u…\*çÈxº‚l¶ð_EÕç•çïÉ£z|ÖUM éÖ÷;Ž ñê1oY»Ô 4ÁÂoÌ Ö „(‘Í ³ t5©m¨jDA<¯/]Ôš¾–ÀR»”Ë‚”ŒÀó¬ÏåCš‰ð‘ë l—Ì zZmÁ·&WÑ:2žÕªå¶|µ ÿÒt•]QttKËëšLуjóB€"³‘2SÔÿØõÃå· í—šÀÈm 9‰Ñ+Ä<¤D¿:AAÌ› S‘äÂ4AÞ´òÜ'˜bØË¥8–L;-BS ·aKÁ¤õðxüÐZkóÛòTª]W{$A6¢w2ÜHÖ”„R²ò4ˆ²¸ÜBŠP¸q^®ÀŠíº»2&Ýk¹žÖ%yÃîr­;ЫRËJZíraÁ@Jm¥‚ƒpõó{®Æ ¿(½.âï­I€¸„/gÃÓܬ׼-7ቫ ôºÐ™‹?$;õlùll1(0'C4c­‡ÏÓ„?NÄ;•oÞ['ìGR‹¯Vœˆhàfɨú¾÷6«_AHF*Q}‚ïf*àœPÊâZ«ƒñ‘¼èƽÚ{÷Kðœ´ñßê^™Qé1À»UF#oŒa‚pÛy9”øä¤ªŠÂ͹0M°Š1É ò¾ýÒšà]8ÖÎ`ß°…JkjéWñK´Ùß…°1&ÿžü ’žu l’ëRKs–m;Æoq¼=þ«êî2ê (äïï_Z¸òr›Þ>Dá Í5Àóh:8O¤h¸lÊd¦6€Eƒ´;¦£òÝ$Åþ}_ù×ä™s|izÕXDkƒÒ±´‡Ðp¡Õˆš®("œ8?ùË›òË—ÙÒ£dïÀ²Oê,±)W/™™³1þ·è CËÞÝ-^k™‘ËÁZ-”µ=yÙp@”ÞVe_ß\›>g-í÷@®ýÿ$°F«ÁHò èþ ¾ÈÖ ‹Üüb]þðç˱.0ö,I‘ Ñ-D Ur8Mß#®e+˜µf˜¡D!iÊãe’ѪVÆIòåçK=-ºoÁÙœ—Tb‰ñb Vì9ߌµ_ï>?_BÅ™67åw×€Ùv$uoØSÌ‘û êÎz*£O>ÒRÑŒ£slç’€_™Sýí-/ª ’Þ÷9¦ä<±Ñ,_N­E/r>s‚’hÖX©QùÉ9\•ô¼Ê\(†C#¤Ù BxÐÝ6SW™C^-&3F†ÿ¹ßz™î•ö%Õ xBkC.»0f` œ7‹uÓ{ÞÇ´M wñ^Ç1¡RïÛ:hîƒ$ E¯ºÜüv FAiY´‹Nm@{ÍdÕÑîÔœ%L¥É?Z=º#ïÏÙû`IÞ´Tè—2ªÔN‚­HÇH–2ÝñÁŽ•}ßÿ‰äfÓ]fÙböFƒ@©±5¼ÃhÁ®ñïèè_Ó±T=l³)ÈzáQçwuQ—z“¿c …q|˜)‹ž\1˜z^ ôÇèúO=ë·êæjØ–eÉÄtÜòÇÄóB)G&Y£] :OÚ;ªaTàüĵy'`ìÙÕA±¶¢sZ4AO1í®xìØÌ,MÖ’ŽDˆf’¼Ó†%mãÂP‚ëG}¢9j_ŠjÖ}·%´Š02%Ùh¼cp’]m¯¢Æ  £ ¡­®À\cz"þ"Ã,„ÊÀj”|?õóø”öÊ< Ü~ƒQ÷¬÷©©ÐwÊbrVQ0šY¤Pýñqè×Gr¯·n({ñ@Že[KÆ<¬™ LÞAEe2{ÈÛüMqnƒ9§®®³~ÚÔ“ P}ˆÔsùÔJÂS%¼nþ$²­áp–ª.ÖT59΢#J:\µöFt.“f žyãTîO·ZÅÆYµ7Þ¶\·r”miª¬óœóÖggþžùŒ¡±2>ƒ3ïv¥œÄÏiõžÐ¼¢ ]F–ãÈrû`i}¿]㛔Ƶ$)Î)Åž›.ˆ>äqE… j8«‰…aÐÏç¥ë¦¤@ŠÀ(˜¼ô¸µÃ—“Ü5—Jº-%|+(ÃkÈþ¢|ɨ«‘×dÖ˜-ðiØv‚@üÑRpÅ`ð)gp e`A1•ùݪx}¾wo…ÌR‡. X´”LrQ®Ö¼!#‹ÅI3R¸È’zÓÕ~œÓ¶.qp»YM'P>¡‰Ë^hé\Q|`|ïÆ '@¾Cc0†Ðr~‘yff M–oû`”¦7àиå%LeZšÀ+ýÈréMîØø•L†_äÝõúFà啌JpfÓÔ:êµ´–ƒ 7Ùyaƒ#*ĽÓÿ‰¨3àÝ:¼GžfQG¥Çôï@HTÁ±3ë˜ÙT±wäVÐ ´ò§cUd†áÄÔž]Gg­mý5ÿÍ…+öFw0N'ý4(Ñá¸,œ•¢M¹TH:ø$TÝì–¶|gü|×Þ{¬Å¤œéÙcü¿êþq•ZË‹&MÄ¥ˆ¦’ô(úX­¡u¤7ZÔÀ‚Ú¿wË„ZgÒÊy85vÇggTŒqî£ÍçØè)aªÎíç÷+iŸázX›ûÌEh÷بlÇÚ WØy—`D+¦éá­4û¦†–…L"äyX»â×ÞaœÁ}pvíX>´ï‡òþö1Øö}Y5›Miž¯óÖí¿s$¼ÑSB˯çt;F.%œ>N½øô'²à¹ Xìª4Ï()¼ã_*)š»-Gv?Wtlr}ëð Mô°é¿=õ¢¯22ɰí#kæ°9ouhÝ&qF«‰õ3Ì“Ürf |r ›Ë2_Ì…õPÛ!—¨šÇ!”G=Eë)ˆ—òIrt\„wL›Ün;G•§Ì,3d«MäoEåLˆƒ0g]þ9F],TžbÓj‘¢eÞ€q¼¤¦E3{ô"q\ `JLBëSiSÓ¿¬äTaŽ$D ñwÖ>Éá÷£Á‰€IŽð žô‚"kwÕØÆ QUíA¶iIðSÝ+™…SVk«ê¯IhäÌZ¨oÙ=âŽX |ý79¿`g³´ÉÁñ.@Ë.®TsZ··w¶"XW'%?Æòu¸»yý»j<*ãn[Ì^çvÞÜåytIȾ6EÒF\m§úÉÏj-¦Cyeî®ÚVØJf3N¦DmÙß™KׯiÄXùÀ/ŒyX±°µÇ!‚cðõŸ~u¬y7¸yøEsH•…Öx€Åä£Þ]<éž”ë¡ÑãÅ–%UOa|<‰ƒð¡—{œB@@ŽeÄ/+\v{:ÆñHÊ=Û6ìj0˜=Hr ÿ ¶f£Z !3Diñv³ 4¹„ ‹ò¥¥¾¡8x(‚Ñ#þÖe.F5|E‰îsáÇžwÊZ=Rœã+åè+ÖÌTÑ +SÁ¿°è…±Àºþ ˆjÕ!· H£Ÿ©P ®*¹5“àÏsqF3&cé­ÄžËö Uô@„¾[Í¥2º–h·8Ýú±ˆ`Î~MŠ‹ÉéÂÁF9Å×áº×r•bU6­}ãì|÷Rˆ¨¤ußPn§°ÌT ×.•}#ºdñÙâßÔ@ƒ/üܲ°ó­[Ýos'àÉÞé/«ªóÌV9Qï R ›Ÿe} ‹B¨˜¤éZ@èÞ7µ¥ÐiQá X{£>ëz!:›¨Øº<¶ªB†kR?[Aí1 .Z„u{·NÕ¸á”È—+†ÆþM»MÄôx¸Œ_À‚„™Å"{óÖ·«¢çÂè˜Xñ[Ø“þÀ)œ«ªËÊŒ+µ XW!¾¨r¾Ç@/UN %ó…’³žKa¡‹ùOS¡ÂSRùìe*i æh#“«âªÃ+m°"±cÁ l}6½ÖæÌzÅC•ÿ¨Vß%oÛdB¨‡§]‘…$å‘¶Ú=rJ¼±Ãé,ÀÝ~ ;[~Z¨az}è? †nò5õë'qaï®ëü–Š'Ú¬®ˆ-™ráW¤/N뢧„¥½$~´*+b–|&é…q{Gù[$‹R[:‹È Ãvp°ÿÓ“8¼F Qúǃ‰$Û²´²ûfëþúuÉ}6ËûµsùïÅ~&(]ëqð "ª–QÖö²¸£ŽRªU¢Ót »M¹wÅ“™ã[©•—¥·’rï·œ/Èð¨¦t´PÅ‘æ±' kâP¶ìrV%™¬i—µÐ‘€Žæ¢´ï ÿ¬…â—MeÆî8œa/ØB—½D6"¥R$•±iº±¯Ú‘sâ½ÖHÆÐE9ÔwRÖŒd:û^€£Úv({ºÃGœŠëlð²ô-˜­êû•¥§*J®M•„ |˜2ê:€Ç«U¯vš4I”™4=ëy•_ÅîdoõŸ˜àÇ|#LÊR³t7ÿëcvïœyˆÅFÉîßòÃà'¯ïÁ'Yµ¿m+Q!kšûÏ’o+ö²&{³²‚âØ¥ƒeǼÝ2ôcTÑœF¤ZÝ,8³:Ç:'=׎=¼Òl‰ªÊ·hCEB:®üUôëüqÐÕP/¹ËÈv´àÆð? ‘ ÌÚ=!ÜÔ1`ÐîTD¢¢`â_C™'JôËÈ”¯ï³Rõç FEƒj%lªÂ ½î8¤×lÖO·ÐJ®jñDÔ„Ž•?WǾ귎«¡V<;’FMVs¦gÙ;û%X7Ó´³ÈD€…œLÇöÎØñåAh2¶f^OÓ: ê,‹4åpÔûA (V:/¡Ëœ&“eŒ±¢'r$TÙ“hÛÏX£*¼ òÅ7¹ÉÕaðÔ–ÃÓ[…öÖýo õ§c]l§ÐŽBk¨©–¯úæU£¦cßÞêJ,ùs¼ p¹2rk¬¯0W“ëFøòkTîOôÓøbÞ/T,‘•dåeXY'êDc5ÞnWŽVö—pïœÞvŠÂôLÉ“ñÆ6¦Ô¡©êÐRWýš&„Ü,/ËI#9¡»MTk¬Ø¯–Lìtœ«ýÐÒ+~«,¢zIàÊG)èÉ!-/ c“Æ œ)B³(‘DÝýýNþ’%v¿;Çi¯REOŸ^Îv\ì§׺Ò´E+ÅA¡óf ,Ã.‡äÆœ½¯ tš\Æ@(Æ årúüg$ Gsí¶(ì:)²+±„½@¬–ºæËïzõVb]‚FÄlâ ý—\Å=’Ò‚‰šàEØ„2]þ+P¥VIÙBz*ÿ´¯×RÅ…K8ãÝŲ$¬%}È$ ÝÏ'$2õû&bS×G“IܪåõcÃl‘Ë/v¢ÄK*Ò"“6aþŽhÑ–jXì]~ÂÌi ¤°ïi¸Æ+ÛÃÃí7²6§šÒ•³L]†”™¥ßsgó€á®aÜûé„ ® V´?L[NF(Á\_·íÃÓû§-Í H{d‘ |Bxšb>4 Ø$†}EyòáŠ"Ã#ZˆÝrèuå­ƒâÀtü·øTŠZ›Ô›ºd -«ô<­GB=–ýþØwSWÝLþ2e$#¥¶©Ž{¹\Ÿ1Ä:Æß+1~€„øÓC¨ÑŽXñо€k¥qYÜЀ=yºj¯$‘¼*C<,fð=&[ãùJF5±1Ó¦;æMÝh±‹ªNÄ6\†(•Âa>Þ£ ª%>¦¥ññÃç ŠK¼°ïOmêM´û7‘KýúArNƒ<‚„äMC¾üFùc=fX;ßÿÄÐÄŒÍ2w—[%Ôž ýÛòD¦‹p}ÆÕXìÒŽö5p7‰í+–„ìÉÐP •.€³!x„¬hlr>þG|©=nö GºmPjtŸ‘Y~ã†Å*µÒLv“iGê@mù·¨¡] Px91ÏÛáwª‰!hk³¦br‚k͉”Ÿ/&MiQÁ)þS‹Òapˆ Çxw© |§ž%'ÕÒå¤ãV,L†Ï#ÏO´Ï1ìþbÁl¿7gu³»$Íÿ«;ýOÞ»”ê’TKKVh|5 •@bìÙ䯙edýF1ýÐg‚ÊrlÃMR¨až0"¦Gó9+º(e©‡LÎ7(˜)†§Úí››$óù†ÕF)1ϲ”ø+aOn¢À ñEðžë‚m¢ÒN€Ñ´–Ö cqšIË™ú`}‚ùà~(UdKM1~—ºïJí×ÿ¾¨„¾:&iÜÐ`ÄÅÂK ñ˜ DJZ믟ï.€ê<¢÷B®2~D¼(Dã­yRÚ®í^Ä{ tùF>4 ^¬rÉ› ô:äL¹Ÿëø‰ÐQ½ ^‹—L†Ÿ.žÒlþþH¬=kHÙbË)þ+Þ·%ûvüÏ´H©cQ™l£‘øäÇÉ“Cg½_ÂèS“­‹s4l»)ðøF›h«BlÄ“ð² ûác6טúÆÛý\+ýn}Ü+x›j´”22ú2X@>[dh«Úí¦V_ÈÏA²ÏymÞP؃güÅBÆ\‰ÒmÞtCò܃¸ùdͽٯxìF–x»+#óy±ð5$N±qòIÀס` U^3U›oœJ3ZÁnžÿ;¿LåçWÀ‹+h'ûpãßVÆ%,íd+"£«¤UjäÛâ$TkÌZ‡Ÿ>ytƒ#`5_ï̽ü²HòN/³J‹P€¦»"ðE[Á·‹ïÏCx(•m&(JÆO ’mÒù9·DŒômZKžIÐEö‹ò^hHúgOúp1|øbÅ9LMÜBø)Ü@J;ÙüŒÌ!7•oBV}yÌ­ù<†óæ–,Eö7É×—jÉ[¬Ku†´%™úÆÉÚr”Ü¥2aÓ«—dX±iu5´KBŠ‚Zø`NŒÕXòö ˜ÊJÒðPqè~ã'`U=ñÞ¬cÛk|ÊBØ¢;©‡D‚üR%üÐl\ò‡ñ þ—”I^7ýܳȱ‘JÂyêwYÆr§bÐd²)Ÿ¤1†éŸo'ØÅ,ÄáYz2–…ÜßôŒìd€ÿ²G_âÃüèQ>©>þVˆóž^–ºÏjJë§¢ØR孈ʫêžÙ_$Ø5Ó üÇÂËÃ"* z#÷%«@”ÛFB[TX Ým)žêƒ…Ë;7Û- > •ni†pRÜÍš÷¼y«V…- X"õ) {×îÝÀdrw Zß—] dß2ÍjnXbGÐ| F›iÕhIÆ6‰èÕ1ÞY$ß]qëAÆ F¥a·µžæÎXòŒ•‹‡¾ËÁ©só÷ áD’ÌSÑ —OÌ›ˆ †(T”Y¸t¦üú8|¯2ñj!ÑÏQ…,42æw­‰¾¸­O'b‰Gp!Ý`Ë¡_ÎVˆÇÙRžYww>¼ö§&fVƓíMG¼¹?øå°™Ú ëÝõ/ Ã=µ)È¥,oòÙ+Ì1$^òvŒ¥½hÄðgkþGœ­kU)bæj­z®Ï>«ˆw…¦¡/ÎÒÕý]Uiªlká(—^K–SÛ¿š¼@”/Äú#?óB·î¼?Zq·¼6Ú—@Æ(ë¨û×ðìz\ïx †Œ ˜P˜Ý»@/t-¥"üCi#ÖDm·u˜ivq!ã2E8£0š-¸ôƒ8ÛŒþo±ÿE ý•QgÚÛ㓟®sŠÞWAÁç¶P‰–jíÁŽn%S…T9ÑûŒ×ÇÎ4 ,øì+àý$üéÜ4 ÃeÌ`Г\DÎݼ’sºþHº#çHj(~yù˜ŸYìêð¶¡6†(Çòç]qgob2†LÐä684Xn×ÍkSÂu§£=Áë,ënÕÍ–á"§„ç«'ù±»­ÝYÉ| Í&’.®|МF±RÐG2ƒ»ØƒÑéòûápë!„Y¿å[T.Qt¤R93„ä‡ZбףNÛVjzp_³|/Ëš›qU‰ Â%ªˆ&!bo îÁûh-z¸‹Š_í»"% Ð3/²ÅC]5Œ‡¦¿çõ’¸íÏJ=Ÿk‰»Ý{ÜŠ ¢F_¼Ñòƒ-Ïþ±N•®ì/‰mÞÅæìËNÃIÉÒ?Ù—Ì€XÜh««‰Æ²~u¡ë:Сd¶Úoy\ Ú -N—p0ƒ1 D’^ú8Z»#ð7÷ËàÚ>/¦¹%“u ,¡WKo ƒýÈ3eyŠC ¢Ônî‡!u›djyûCì¾âáu¾’ÁvU¶”·˜)\ŒÖmK ©\̽œý¾¡ä‡¦xØþ¾.å§³4b`°-dÈvùÁZñ_ËaªNLµîI$µdO ØfÖÃ+ö¶E6»Êô“/›[­¶í ¤»m’p{&¼ ºb,V-¼ráè½›Ç Ÿ_º„bô,iŠ!µ}4-Ÿ–“§ñÂ8¢œÎk¹ÍÒ£•'G£ ö ¾Ê0*»Ój ŸÛ?6ã"¥÷¼rƹúÖ0¯G7­ЕÚzÕ=o>,›¥—¬C/3Ü™íhšru?뾘…œ8?F0êÏ0ígÚz¨u…¾Òk¹GØ¡à•Q)é™Î0¿ƒÕ±§Ž´Ê¾±ãR+ÏgiXsèjl¿ð”Å‹ ¿_ TI66àÜR¾…?®žµë‘ò`!VqþX? }Ï ÿ ¿Y¿bŠ|ØðºÉ?’ä&ªKc¥ÀªZ1_Q©ê‰ÊYDZ"ͫȀ¥3oó¬a„0ú;l]ϱ|Nf¹P® 2@špŸ¡ýèI Lâyÿ%d *LèYsJÀØ£ìÞwg!G™K.­ÛAT"Î]°roã dcè¬ÜE61º"ÄC.ö¹ojç£ÜÙJQ¸ù;|oí&kŸNºTÿ;ŽÚ¢bÓ•/Rç•NÊ8ì“ñú~ý€‡ê‚Ƕ<²묉ÖÐËëX†K–|™¬æ5{#ûW5§åÙr òO-¦G0 $WRƒ÷ªBq¹ú¼GâˆLR àOŸ­+;›’QúÁøŸËTú›Ø`¬é=Žù›{ïе‡á—ÂÜiú×gùÁaA¡Ùj‘© ­´’7î—º¾s.©ÐðÀv‚ð«5Nÿµ°«ÜDªîM 1Ÿ¸©1™§ûÈr-›³Wtt36âôU¿/ù‡ß%|Ä]pJ£ÐÊ"ÁˆuI.¤Íî A\•×~`Ь^È­»ì÷ý‹ Z©:¥ò}Mt›‹õ#ñ3Ç©‘r Jzt²ˆÝƒ‰æúû1dô:B&•²³’Ȳìžÿðeï úû/ÇW°ÀÇR ?ìµr}ÙÕ^ÉNƒLƒÎÉãZ‘éûáQPvÿ†y èu!;ùš;*þˆvZ?ïÑîÃk6 J¿çËå¢âÂæ—Ü‚v1J^äm aÈ ‰Õv$3ÿÅgÓü_; 8|Wa‘P‰RJô¨*cuñÖׯž–­QÐó:§,õ½µôF#3Y¢è.±Ûõaj®;vŠoò•†`O¿’ ÞW5…­v¯@å‰ÀÔÉ: Ѡr&+î|`KÅè¢øYÝ­ßD+ßN=O͊’•NÓ[a[}Ùx„ÈÀ<”Uq7’Ù¯1ó:x•©¸¢ÎÔ!#-Ô€a'ü8X}ÚWǘ̜Ÿ÷OÃY¿%¾> f®‘ãËf~ÞxÀF¥ò–8å%M·*[×ãéméÜý}ˆYLjqy--϶† "át±†ªèKĽ雼Ñ=Ÿj £PlÓÍÿ‡Ó{Á>jËa£ˆ:Žnä¤ p¹I} Þ÷Hmflm×–¼ˆ/$»Ý6*@×±FwGja:ºÖRÙÄ¢ÁÎù á<á­ ^'¸xô•­XS¤lSúÑÛË«AÈ—p©Áú¶6b“o6ƃiöwÐ _Ì+¤H²ÅO†Ñ65Üè>”9æ“*ŽU… ÆQ©‡nwªW\«‰õåž5æ«‹Ý€)¬­ð/žêO—­éw¿‘OA´Ê›‘OÑÛ (ÚÊ rÈ=þC¸¢x§!Ápÿ¡¢¡tûl³.ºóAd7ôÍ®^ÒpB,Þ3s2ÅZ³‰}KØÓº_,.’3¼Ö°WÈòTºË¼ZpÜò›¸ð1Í4ÖèûG½!#vš}oø‡³ÇdÚ¸L§ƒÕòè™Æ(8°1ž ‰woˆÁá5VÀ)§ ý¿'ç$æÆì6Q~Üc'ÚIhœ²‰[@5Y#,è $à'£ûcú‡Ž d$£ªçÌ–rJ{y£¾ã=2ÿÒ,ttxBXmÕ]ÅwÔb ¼¿TË¡8„„Jzä½`“˵ÈWZ·Oü ¥Ü8XÖBÓFà¬.¡ÜjL˜Ëš#ZÒ³Ïëù ».pWŸBAÆ#)¹ÇµTIÌrÒ/Q\œƒW†LO¶ú´ó® Ù徯ß'\¿{yÔfÇàj¨áßÀ‚Õ?‹ìèºêz&›‰èÛ㸕•A§l›8˜ÕBÒœš([ò&0GÉÀ]Ó°oþÜJ{Òx?„­ ¥ É&•´ÇcígB=\»ÊF°æÓ¤‡Ÿ¯ƒ››Ö9ÇhmÖ¨ðûnÎÿmW©\%©ö.ŽL‘ y(/Çã&>¯´¡i®8Úp5\á¯Èµè’½ô<£¡yÛÆŸÜÝiu˜l@¾B¥éqÏíœÎÑ"üwüNÒ,·<™:À’/£#×ÀØ««ÂmfvÝ…`þ¢Ì ØQØà”L|âé*ocÝŠê£MˆC‹©‹i ðøc?Kr»r¡8¤!ÇãØ}‡¢ü­h½Ñ¥ˆžà*!~èFÿ'Í®û.0 Pm¾Sž±œ=‚*V…ú]¡Âˬ¿º¡aÐ’ÂiˆãûµAnç=”˜K½jWÄâ`§ÊDMöm ï@û25æ/å#KŒOJ'{–ûŽ\ãG¶&ƲiXX±hï±íHÌ •ÀÛÖE$™ÑŸ‹gf²¢ÿäYü­\^ǧ4,[ã¾óôÊ9x͈w.7¾ ÊÙùvͦØèd}b$ùÄÒóœ?‹Mè#kœçÀŽ ±¸|o\›÷ÆûÙ@ZˆX’ãb”‘vèx„¿:5IŸ¯aŠ¥Mül0©¸"6ÑOwÒ7Ó|’çR$ÔNÂ|þÆä¾SY0Èèøœ,?,+ö] ÍZkx!P}œW–ÂJÚdŸhu2êgè hIÎj—Cˆ|¼èÂüWX>e<À…ºMÍ~C°}8®)88ï¼®e=Ðtê’"’Gf‚:d^«¾QHvrÓ¡ü³„ò”’Ç45‘ ¶ÈêÈ[Zˆ‚SdÀMÊNVð>WFoùyŸêØ·D¡Ù xL Ñ?y 7‘¾öñE:±Ê6ãÍ“)É ,W‚)˜:Ç •“¢ké×ST>~*)V2^‹>§Ý°ê©³¢`Å  Pp^¢ˆ U†ï˜¬Böi™ ß±~€bû|Te»e$RC^òÒË\a|¼xÏÞW¬PÚ÷ÃOR…×NÜÎüÒ¿úJCƒŸú{µµÛñ\:žE†£æ_×é¡ ÷d±tÁ-r/ LÄ›è"«ÚiúœB_ü‹ÙGugrCqê1+~\ç ÿVØ[ÊÛc/ólòköF·MÏ:ä³V25¯höÎq÷Žð:m‹ndQ0=- ¬˜¥+³îÍùR$a :–,{[kæ„øù¦æ\E•°>òRÚGŒ ‹fqÖ”Ö]»çÉ2íÞ—ø•eEfÌoáËñ­:‚8<ä«|gd8¢`•'2ô§«Dkµ xú|æš}=íò? c* p÷Âï´FPIOö<—º1@E᫺Ùð‹=Žˆ¨¯|–ä‘$Ã7t`ŠÑ±„L‡ÎêI31 §°V;Da ý‘x‰°–ü‘Ø®ÏèÔEJß“æDݼü¾†óƒûüÕ<Ì|öø*’žœS6Y-jùê˜|ßË$HÐ+@p ñбË-Ã}ØD6¼¤úÀsp´ ž9Ç`þ–!ÐPü>ÌžðYÂYb[Ú8©ÂL16÷hGà( ³T¨¡úÐÅÕ¦ÿô³l)w5Ï»ð¿=‚OÍÊÐDÜ„Ažê ÈD5äÞêÝÆ(Þ‡”ò>Ä„É|'¾°K…"žúµ `îbþ†ŠŒ<÷ù1~^¨jÄvŠÑ½¹xíG®ÝM与´²Ã¡_ܪsÈŒ„Å´7×Ëò­ø¾­ /ˆ³„ kv¸¶€Öj¡×`^ S‹%hi~@ø´î v÷:´!B´ÛÌFzËÀ7Ó÷ÐAªò ¾ªà¸-eÙ,þMè&˜ ax\b³èê§Ö<¹¨‘X—Æ>{:¿Y‡¾Æ²EæÏz~^á&~8wÞåü’N+q¦X~Ô!@„WX•Ú» ^WL¨õÚâ2*¡ëÚbËÒgL éçÁ¹°Õo•Ã5G˜â|š‚¦ÑÆeK>|ž^cfg‹9E-†™2O Ò<ù'¿2¨›³Ñ4[âE7Ñ4@‘GQÃÞVâý›­¤)Í4Þ¶Kà%ü+]ÿ©e»j¡JÁëû(ÒvÎÝ °#ž;jH¯ ¥@pä›Z‹¤öoétaåû¦VÕ ×fçRE+Øëôßþœ¯ *`ÁëNÁ,ˆÌU§™Ó¥É¥•ÕÌÅIC6+ü#Z¡_³ö}z2ð?îQ³*ƒV1 ³L÷P):´‘DJÆZgB/¶¡€Œ} #ÓXÑáLŸg’ sÚ]I~žAFYYw¾œéå'¶TÎ øTbþš¸pË!mæg4tÐjiÔEâ¬ùté·£ØÏ´ÿuâùb dš9 s":SMxª]a½ ™NŠ;Tø„ֻ‚J¦Ù=Ž=‡„mÁÐz¹à7é=D’R¼š’÷·Ñ™@•wrå\¨ê°ùÒÁvìšmzÚúú,eòJJ˜¹&ôC¤ä†ÇZ÷³ÌYóé›IÂ÷çÍ›WZ;ןc¯m„e(ÂWV×í¿ÉŸ¡}Rñ¦`öèEQÔÂ^ É‰8Ëñ6øìÕÎò:Ùा†M–9‹êø/&°úKLÍb»ÑÜÅ-¶Å ãWØÛº‹êC9b5ÒÚó)¢M&Asép£¸½Íe&­‘ÿ—}ºÞr¬}:øÚX¢ ª “(û»ãâæ/¶J”Qú ­þB4ûl‚ž ÿ哱ù€¼G†¨2ˆ5±A$;9Õë°¼1ÿvïp`cPÈ„“m/hLsg7¡˜4œ§Îà½;ѵH2å㩹–åI{únþBû^òfbþJÆT—êåÂ'åYrŒO¼¹ÏÒp˜K÷$ µ‘sk“ƒ 3À•M…ÎéúËɱ/S$} 1•‹àhv âéßëc)À¸p¬jTø«v”åƒ:}A†I‹$úY´µ‚eœÌÐËÞC±G̺ëÏÁ#|˜¾g†D&ob̨à d†/öHhTJåY&¶¥B>b{©ší/Gqyú€Hsµ¨r‰˜â%0öäˆÇŸ¦ÂBô^Èf—Íwp1«&FØ@—¿GÍ»ËÚ°­®÷y7ï[I»ŠÃÿ§‘U2š´NÓ Z(q»C§¿b-Êþà*ø7 ÆAJçylØŒÏ1(/BË3è„zX .ûÂä¼ü?‰ÝöÚ­øüv6åªïÀØÅ¼36:ªIÒ¡Çá…†Y4¥z•–såã1–Ŧ´©ÅD#¸f9^/O@«å¡¼0¸/ÂŒåÏ%…].BoÂÔG#Ôª$êЀìa$éb£.ÛN6é%àfÁ³^V!3þ±¬½l˜g1Hó6VÓØiÙ-CèžAÚº¾ålë-² ¿wËóÝž@´5­3°¼÷5u$myîé3ZWö=%Æ4‹\Æ…ê ,H ê×5Õ£åÉ×?èÞ]ÇÜ͵}ÌùeüGMV¹É»já4†ëj£Ž„§SƒM(/ð`ù·yX9(,Ä Eëia;j ï;ƒwiî×[ñë·¦INÄnÅ?Vвüêì ëO$ @tµÞåH Þ•£7ôpT‘îëbÂì£+Diù]Ê„âÙøŒˆ#½Vˆ¹ø·e!Žv’©A„¯ÿ4eéÿóÎ~%+û­N†õ+Π¤ýÃ… ÿlÔr•„UÁ \e‚ðQ_c%¯ëÕ·5ÛaX¤äYƒ¬‰`¨ZŪÛ8½Ñµ¦2Q‰˜Ô"q·‹Z/ŒFͶK—½†IØ1&>G ì„Ñmi–N).Œ%¯ï ó&ó£­½RÝ6§ˆµæ²@ÉÓ‹å°ü,ˆÍObZßÉ^ôwˆJÜ ‰‚˜yÒQðkUåRú»ôû\ŒµYï[i­7œ—„e>ÜÔŽaV†ªÿgí8y!…6Çøgd4 „+òŽ9ÑKÙî@qT¡‚‡žNr,,$‚@¦|ŽâwŒ,S[–~ñX—æ? hÙªÜnM©k ðö¡[2=Rfk>ABPܯo_¨"¡ k’õG³ìé¡lönü«b ã\žzN®~™Ø²ÅÅÆÞØeùæÑNuõÇØ£b¦£Š€šéšA È–CbU<`…ÜÅÏ2„V{ A¦”ä”q?!ù¸˜áàãy/b­©©†×Ð4f®P«‡Ìÿiîq³¹¥uÑ®¿od^ :îÐK ÙL‘УÃí:݃?ÖNñbvø ‹ÕeMÙîc'жR¥WŠO!q–4}‡þóŠ1›wW™ÝHëà›AbYÃ+ cÄ£½W…øÓxJ1Â~‡Íæ’ 8`=ØNÝ+¡ÓñeDBrËë„ÕbEcn™7@3ŒD¶P{ôE|àw‚…õV|«BÍþ¥4¡åAÒ¢<¢AðÓ?ØÛq0j—¿q@’•&±.ÿ‡¤v“ù¥]1M`ß-ÕË“ÅÓ›¾å&Is‚]ãXtÎÛ<½Ä_¤&D·Š9rˆ^û+:' mÊA+Ìä-IEû(í?|¼õ—su,8ˆfòñÜ µe“¡¤Pëì Wl§Feõ‰³1V9dG/s.™gY¾4mÞž†Ú™¯|¬/N¾=Y1JµÌãB'ÝÂžŠ¿‘Ì«ßåCÄoz¤8˜zDf@ïiIh‹84`Ûé幤\è˜t&!J»Q‡Ýô÷i`/v×úƒ81ï«`ɒ͘-@id¬B¨ý !ž¥zôö'3îU;týumUÊcSò|3+ü–û/# Ë÷'“µó˜/€/ä ç—§§µ­¨Ý”ýj˜;W²4aù®«eŽï¢'"yxj6·©k¡æm³{”àëžýÂI;šDr´·4 ”zÉÐQ5VûÑŒX`[QHÁÀ"ͳj?®Ì+¨ôàB>œÅÜLd3¾G`«~UÛp#`¶,Dו2üLq×ûWÌqá„Ñ`ʺdÈÞp !ƒDÔ”cúͰÍèw9Çl‹>8~¸]¤ý~Æ(‹ïœöD…¦ûñr½&“:ÜÚO¹Jßô¼eS 0, Öxu·Áš1@“¥ð{¾—n¯„ºÎï÷³9l„©ÉA›ÌÊR 5•¥™À“ë"ãy9évt@§³¿ËujDîùþćΉo™NµnÊÃÎ$H´òÀ5¾T’ñÚòHî.èê2‹_éb‹°í^¬gapÕ[Y|µåGÐ룙/ƒ·”ý Api¢s¬©6,ûeÓ\–L ó XŽ’Dà 'žÉÿ¥áîðy«‰ `ûk†—F¿öCt’ ¯)¾ë¶2²í6w¾èM„tâî׉]Îe4%¾ãül½"MMµD“¯]K<(î"©¤µ têq3"±bm@”&})*²u¥°ÝR× ‡)• G`ÙO€œæ¥œÊôý[‹ŠÛé!‹aÔcS!>7¨EäÐØé¦Ä‘‡ %(õú²JŽm—¨³Õœ¢Ð«&+¼$Áêò;ƒ£Ó~— mQ <Ú50þíµ—æ‚ÄŪ¨ˆ)Âä<̤#?Öfl%c¾“c…Ȫ ³wùû¢œB&˜=:OæOîqqÁÕ@pÛùj† ›è@×}îWâåM¨òôÿá†ü#w¬C|×F{â­Z£QÚ~¾eMÙ V·ð·kO\q¸04¤ ­½¹µûÍ"ÍUº¡è‚Èò´¸‹œ<Þl죌¹j•W˜ªr z¥ žÏq9t„Cû_±XÁ€W¡æm¨£ÇíQÆë¶5p`ÚΨ‘RÛáv¬v»¯B7)zÏɶ8Xñ·@7„w|)ôŒKPV÷¬¦eý@$y_•P¨¥™-7‚0ÒP;azD\¨]6…¾P ošsØ*i=¯‹à8¾NÏ/Øá ÊqÇ~ÐdpÄ"o ×1 äB›å]1iÏ‹pX’<Ž ú%(¨»øè„[ÎÃ&6¿éÈ zIí<ÇÍï\OÓ\̲ø3¹}é›#ÚÚûÝë´ËÍ‹.þ‘5ôÁ¼5Ñ+ìÇ9"— ±.Z'·_u¨1¡‰üøKà`'nL§/¡îöæÝ¬é0Lú³cüŸ5hÝ]P¦lì…œÑC‚ kU“v‹z5¡ŠD4Ê_5Ó¤Ah¶,Úˆ–ú9'Z¨#£²¯¶a§¶Õôq¥A¨C²ÈÏ’6œ¢j‚\ùíYfC C1Îu0ôŠÊ#)`+ÃY1¼Ë¶Û„+^Íéma*"µö¡˜$×è±’œü¿C•áªóºžúÌO‚1è9€òIꬥ©]w]iimÉÙsÐ÷‚ÊÄ­B6`„í"Ïù# ›3Y û/  8äøé×Z–‘ÎeÉè#0æŸ. ¶©B÷Ûàʧóö‹¹ž“k|4Æþô†V'¡òÍq “gÜöåÇÉäø¤ä uáÀR¤¦ã™¥XÇ a—n|M‚ªg¤S $ûRh€Eñ-¿9 ˆÕX\qä1s÷Ö ƒˆÝ&ÏY¶Èe‚Ói‹æ®¨ê{¦pCï%jÿý¡œ{dÚ]xpDd’ìù‚ÉQ›Ó'Tƒ#db¿3Å&/cGÛŒ‘¹n±½²4ÛÖN~æ8˜ýsc_‹¢Ñe}“ý|â²qgÐÚpå^[ú…`an@Z.€B^:4&Ž_æ6çK7e|“€îAˆ%™àçF]0òrQºH(Ú<ì°›Xüs”­r"C„]W÷q¡ Y` ‘,»<Ÿ”‰¼ùsbjYWj.;~!UD_ÂS—ÛÄRFͼSïsißÑ?#à·u-¹H˜έѴGŠ?)ª¥$*3û2šì÷ûN‘9,Õ~ŒK]7“V"h²A@äÛ|¼®mCg-ïØRHëe˜úH¥ϳÿ°HºQ†Ø³ì‚çÌšO¶Éµ&Xó‘g 23VÅì‘8¶&Õd‚íݵd=8QZŸÂ”ɹ±±~÷…r|}#s-çswž¼¬ïm\î]›íº2‘=¥NÑÊöR¬+DI7 "êØý퓇¶»‡_éÁ;y~ôÞÕïEv— '^–i–(ŸjŒj D_µ½Ò:Šˆe(eÆ÷VîhÀo[p^0.V‘wHŽ29 ñÝý^¨“‹Ý¿­˜â—_2ÕÛq)å>‹¥(nR†,V°ƒlÀpx=·¿]AäéÁœŽs_>ã(÷O£—M-Iˆ7¡CFhúŒpëA=åf$¦Î„•†lÜ­È·ûê£2BZ|½3Ugú/b¸¿Õ…ûèçïqô„Z³î„l7€$Huzœð;Pª¹eCî³9ðÐÀ;ô€y…C/é†í2;…²ªÇp¿é$ï!ã (š Ur¢=x=†W@¥qé™G `ÜÉeºxQ6 †½²t ÀGÅak‡CçÂYuht÷Š|Uü´‡ytU Deå÷2šó^>a«Ÿ€Ëù'fÙœŽ^ÖÉ¢¯Ûþ@Qó#¦vG^òÐ'^r"ϼnÖe_(¬Æ^¾£:ï±: þÉ ¾c wl7Ú3º‹󭌗€Ûe}g8lÖ¥9 te\wá\¶v ðzôp¯ ü…4Ì‘ämuL\B­¼“…3³<ÀÅ'gzóÍú°Ñ{lxQr3ýò© ªÍÔ¢„±2tJß²+®ÉR¤Üá 2ÝT3ñ{W‘²‚Pßó”‡y0N»«Ó¯Æ¬aeK8PáÈ!äy¢_å˜íÙ¤°(<2ŸVN÷¦$µ*@Ïïä„RG¥ /Ó\“ZùO¬Ã-Ÿ‘[ê{É–yoãØŸª"Žb£žlÚ¤”wÍÇ+7öt·¥'eT쪔É@b¬^ðé%_úQLé7W{eV~Òöh“]÷Ñ`óóZÑë¦-`§C£^"n ŸiƒŠiÔ¸°,|¬©Õ\™âA3ñÖ2^,óo ¯Vn4ë(¿Äøõ xCgm£8Ž”Æ “ï‘£s‚n ÖŸjï†ÍÒ驾Æäœáý`îšø¥öN`™¦yÿq±¥§<ÌfŽT¡Ù%j ¹ü_ôÂ;iHq*#»GNHf •×Ê”ƒ 1À^Þ‡3VÃe;¿eTØ[òÚ4oZç\j GÄéŠn.]-7„†\R­ ån]-‹ 1Óup¿$,zù5UÇ;‹]Ø#Á½WúéNOQìÝ4Dl“O•å R Ný hûDCzä<9<3)m4[yñ^êÕ_[x¸õ:X;¿¥QqÇ µëZ£$nfaØØ¼hå^`Ûh/Ð –õn,Ø%WoVóÔ¾¨®êbñ,S9­EÏÊxÝ€ɇ×ëô6O:3ïüŽœnÛÙÍ©»*näìÕé–«C>¾áVÕcìðþO¶z,áú>L9êÕÁó˜Ü²ÓÍxkÁ“°ã1È$ld¢p4ƒDJÓ²Xv&ø[jj[´¨ID”;ÂB¹ØQMÆå]&¢O¿„ד,ëÞC]ÿªñÝ’¸ªþ“ˆ›6ß`ëø?¢¼Éuï÷†pRù„_øNJQü£áU¯:ɽ#Ô—zG«G€e¤L4•¬é?¸9­+5¢™ãuÈLpBM æÝBnò6—m¾‰â£p¼þ1†ßGmÏèjŒxrè˜PÕxÏAÇ2Çßí–0îïOZ`@u KF€qþŒ)(4Jþ ?\b²wÂ5%úm²€ Ž5à„Yôôyü&´éz/3øÃŸŸEÛ£ãEî¢òþNm!±Í[|q/8ã  }Ÿ3!“YI'áÞ«Ä«¦Vp ÍÞœ½©‡ïÆB`ÑÁ‘¸WÕ5ˆb\g'~ug^icÝ+j‰³šµQy£†ÄRÌ?èŇ–gÓìaì€Åæfk1…7ÿí>¾«)R‹’ïª&'‡‚¸`[×ßn•Û‘üœpCðæÒ1¦À°eºÎthg›®–©}ÚåRsüYMÐSpÉuìšTpÂZ¼X®gÛ5¼J¼'ú¢¾’à—N⚣òy†ÜÊe7Âч@äWî?ç”ðߌB5…Ÿ” ¥§›©÷]áÝ¿|Èj??ôšQe‰Kì ¯’…õ,e_ðè㳃6R!©|¿ö1çy Q)¸þJÊ5–ÝwT´2u©ä¼vËÑmšöw¿#ª3“·t*~ÍO¢ œs4³TÃï•›AûpZö˜¨åôqêPOA ˜–ªÐj>±u‹˜zJa„îv¼mÙk‹Áûs„Kßîù÷È_N:N:‰ñQá'âãŠëÖpiå[ à'¢‘A81DÖ¢n‰pbúXϺ9àL{ÙT‡ÐZêu¬ª‚ÍmK×}è]ϺؕÆ7¥êRCÒéQ迉Kcu››ÛÍ”ûheå¡:*)ú0v–]¿­±äÅ7ÿM@¢–[B. €àdk8;ó.°_Ð@[<Û£î&i[½äªˆðæ$@ôõ±Gˆ$¾¸G&¥Æ÷<]ÿÉù)ªóÊëÞ¿V1J<ÆN Ç:D)žŠŠ°Jÿ‰ã'=‹,ù¿ˆ‘Rx6|5ÅŒC¯…3P2¬" J“ÏùnI5Èn†2⛃V[ű%M-©§ˆ舙nx9M³5*Þ¨¥ðñêƒpÊ@D ¡ °úÊ­¥0{Î89+ó!Î…E~†æ’“JT›ýQîY÷!FsgK*¬ªSyp:<Öˆü‚µȨüÿ—šI8îÂú\v·¶\ù|»…爎—>D i$Un6åÛ‘ jU)ú-egð„ý½ÁBä´xÍh¾FCÓ ìÏYTÝñ‰ |¤õ”rœT$Î?üø ÷ •µó²|­¶¾ÿ°g2‚ÅáR/^;ÃeœÛGx˜Š¨öm‹ú/]¸ï¸r–ùâô¬¶Àáoñã§Yÿ¸Ø  RQ|3±Å5;Iw¼í™M€2ðõ9ÈÔÁUW½üÃ31ëdH;”AÐìù’ËÔçEi·7=¯&Û%ûúyä+¹t›“S_–AŒ"_ò3JÞllV¹˜““ gæe™ºrÑ ,ÒfÊê&A!‚¬é¬w£ÓùWrS+\ߎMø‘M€iaJ{ªëý<ÐçÊ…“ãÆ:_üÞÍX´d‚/–P‰'³“‡’GUx»‰{Uz'•ºZ~[§«’ í*C'oô›‚á&_‹3º2Î'©áüÌH¶eSJÄÕÀ.…ÏÁ/žÃCÅ#ds­ FÉÞ†í+g$->b„üö'Ï"9›äÙ…ÜÉé¤Õ=L²Üˆ¯MÌD®tpÞ"ã¸7¶ŽièªiSRKÖÍm>ã6å¿ÞÀNLA5 (¦¡—Ѝÿa.y2ÑÊ`H=³œ®»MQ¯«««ÃjäS×ãžCaN¬ëE{f›'ZÎÏÞä†ÙË´Qù þO¸ótÏhÌï›3ãôWC›¡ /íI?ÔŒ_ÛæÙ‹ 1þu5BFÐŽsmƒtÍ+_N3Å£&µíØu'Kû‹–\Ñ88òB„îÆ.aÁÓЯ{gÒQûQíR‰°"yy‡j¤’ƒ|›D²jlLHÐÎî ³š>xÄ^´ö‰ÁzÀ>pÕñYìoûKgãøød‘äópySñ&þꦵQ5vô¬þêtãk—æ°²ˆïA­3GNÕô£Š!LJü_…B9:z…0ü1`’ ÷ýT6NÛ“Œ½²r)ê·üë)­(ù×ÀWCº÷&ÙTùûÏå¼v0˜óë`5m†“ZûÚŽïi¨òw‚;—àNÏß½O;?·Wå¦$É ÏÚš,»¸ÎÌOA­×T²D’†‡×ñvXå™2‘ãÂÓQ[‹t¥…S Š+ “¹ä­^Pí{ñ®”®ì@¸VUûi!3’V! fL1‹ŒsÆ©š4…“ꀤrî›$yhξiìÔ3ÌlKjì1¸×‰¾S^õZ8Y«d$q¨/ú +Bò¦°ƒva’@ÃüU'½!(™£4q:šäKC¨¬ìD=óTá%û^RÓÖxWnýÖA_!¥×w»i±fgÌ÷±Þ\H ¦ƒSºQ_(.Lnù³C5ûM­-µ)Ó*_?T#3.a%®:HÞ¾s–¶ùü|1S‰jha‹RÀ†nØ$ýyLmÇÑ-K´_c`\5®Nb|Q§©¹J.e‡ b4ÖI‰²™5P¦’U*ðôÒ‡ .`»‡ä[¬B¶RÔZÖ¤Tœ¥ìuö³‡Ï,¸ ¼¾7Cý ð}J òªªûÖZóm|›hþ­øsÞ2Eµ0¬có­U…&¥À¸D*Ý2Y–Õ‡ã€:ÇâÚ.²‹ µ\Ÿ³)¢ß~l ÇJþýX^æÍ]zÌnÈ£(gÎÜï\=)¨'«¸žŒTjŽ;k c5ƒ¹Ï£@Bj4¾‘È«apä’šAýÍ{ì%^?é)\¯,X\ªúÕÔEÌõIuŒâ-ƒ¬O{<–@-Ùfì4,¡¤ë5Wï`Ç5¨˜ˆö©%(ÇùÁ"“"ÄܯÈêF“ìó Ф<ñ*éM·—qÔÀwwçÿHÈkÊk&Wýì¥yW{–I8H ³Æ³èJU¶Œ0Å€ˆXÿÁh^bÒPÎ-ÃÉH–S¾8ëtíA–p%¥y{?l íy”m%:d\+É4‰(6ë¸ÓùEÊ¡'ôO $µÒ¡çViÙ+cä¢Ñ z>|Ñæ¬åSH€Ô€”6'+ K4ͳ‰š7œ  °Œ($ö¤Q†ÈûÔ«èèØ(æ2p3Rà€iãPÍñø’ïç;¦*h¿äÒ®l®¢N`PJâp‘=Hc.(ÔzwçS›-ÁzIó?¯QÀ_g|t„K%Xmù’š÷õõ†ÍU^u˜Ç5:‘ÀZ]ØRK·G±ÖY½cø`]<(NTºÕÙZ’OߟT…U°Â±“¶fⶦÍiÄbÜdé&@ÈüyŽL*>#ÍЕ‘–¬ßš 5É´ˆdº˜5mƇu…nY'ÉoÅ ._=Ÿc©$“9µxÁ>ª~ÖœŽDr­v-`D±@Ù¦ñ}Óº¬¾jh‚nV4D«+èå¢ç^Uú¥ K€Æ”±tþ&Ï¡ kNmÖÎŒ•ª{ŽžÓéE §‚tŠ»Ëš¬Ù]ƒ5îÄ´…¨›µ…GD“ÅhíWî0e™«`^e²ŸY>â¦à®5`…Tô¸]ÙÚ|Ì/ÏDß¹Ž1(ÌO¢5¯`Ä~^;ÕKF#¶¥ç‡fÛÇD*Û‡ÁÖ„(G—gP¼5<Â|CÜ‹ IޏðßX¹é×øõ}Þ~3sÖ¨Aî»ðq¸!ÝÛ9=ìEÏã”ùtS ¨+xwÇŸ{CO"_Ÿµš$8Xbc|ààå‹oâšêF$— Hþ·äúød®ŠÆ“(_Êò/°&Â<ÔiCMÀ5ò[ÁÍܼÍ3ÜyŽºÇaÓ-•ç’³¨áÚ. ‰¹ÂØÛzZøG­Ã=µ×žáLÿ6UF³"Ð>´ÖŒ»é%^éÈjŽW1ÿë%§lÒøQ›„—DÉR¹Eš¾¡ƒ%¹ÖRê„°ÊCᇸ˜Êx÷ßñM ÖMOwâÁ"­TCþßÖ³Ê-÷õÅvÁßÃGTOúÃ}‹sú.Nf8 TVÙÜtêx"~;ʨ`v™oÚ¶ïïÑ $+Ÿ‚๲5«xîMf¼Á uj~8™¨0Ge® n5=œZcº>?Z-œóœ<ågöîçµ7 K÷ˆkéÊx³µþ¹ëÅ—[¢h=ß-$H£$˜iR¤¶1ÙÝ—øÛ{œù¼`Ó W ë´»m¶ßoÖtN°®-~|> õ»îòzÚÓÛ¼Èäì9A‚t¸_kôÊp1Ú3νÁ!X"^ÏX€<Ä`¥{j¬ºDÂÏ …?ˆÓÚ0 Z ûXÛa±ftÂt=zñ󭾡6AÚxyÄäIPÜ2z'ãþºê­Ü˜éæ3Ò-ö?pä4BVˆöE = ¾{qvÙ/ëâ$&aÛ°,\dóä¤kUöªõT6J×F]z rüžÇñv9¬{Èíl‰9¥¶Ô¦Y^®Xp±ö{$A¢·À¹F¯˜¶WLðÓ'ûm¹ˆ|Í¢›Ó2æ¤õçuó0·â„P‰?Á\'‚õÜÐñ1ì‹ßœHþ'Îɽ}ö˜ª@ÃR€ Å~‘_ÛXäÌ®µû((Šs“€]u+,b!'ËÜ0áiÕKyëãÔæs'oÌí1NÆe¶e]”Ü5ÍÓF@|›Çê0…0GóðÊ x>€ë:a½²¦]¬pÑ…-A;ÃZÚæÏ‡»F%BxÍõ)½çŠ*_ì› <çej:xK\”Ã0k½U¶Y5kÂ]Tÿ ª1¼¸ÒKäIÔ™ކ#@Ç#¸ÏYD‹du¼3eV˜W'È"fõžPH°r̼ÄÒ~2Ǹ×ßRXhA:H¨núˆ–ZU:þä'bØnÅã{˜-ÿ= sW´ÌîéõÓí¹¹„¬¡C³1­óúبԩœ¼‹2¹)Fü@nB9}h¨ÆÕ`¿z¾­¤|,v¾9ÀïÎ {ÿE;*J+‘U_¼f;Ÿ’²M¹TŒÂèÎó¸]q««~(¢©vÿCj}ªA†m@ª qì¡M.Ý0²4K3Td“=…1ÿ9^ÖX©#Ѷô­íÕ ¢ó=íKðKØ0›´3T΃XͰ@¬¦b N£b º=T“ ŽážAØ%TF;¤,멽8Ãй*áæ÷×êÓbå@=ÌL‹Ó]Büœ#žK½n‹™d 7¡nñ¤?ƒRÓûD½à12—GEú=ÒôÑiYVi†œ‡©šÕ ¦BSΗ\ÀdñÊŰŒGá0}à³ËD¢F_‡?—z[Aw¹2{ œ‘.ìöBµ£‚ êÞúÕ¿R¹LV•3­q4Á+k³~šixé¢>Ó<ˆÍíp­Ùåֺͧ˜? §àMæÁáÅŠ{ Í¨~!©`žÈ9Ñš¡^ÛŸ–óÞhŸ,¹‰gm‡Þ9@?‚.])9×þ¼od¾Îþ 9.›‚¾½ŒUÆ#³ƒø‚-»:ZŒÒ$Éhß'.£CóàBa e4õƒ0OØ֑X~eüSpj‹CŽt{ê[köè1[äÐ2.êÀǘ^: 'ÄøÎ2Ü­ô.Nõ%í ×% ^õ¤çÊ—ßÌUŒ_~^8xŒ†²xŸ ^`ÏÚ¼€ ¸ÆAOE{T¥Õô7ÖФÖ#.”䪥‘¯§;x(ý¸„ã8*j°.ÑçÄt· 8Ë&›lM&E×ø —Ò °3d¾_wšáÐb3Âl"7_÷Ö€§Ë7¹Ð-Úe–±óôöæ‘71B^ãÄŸŠâ„£hº#>/C3Nò&œ±_À¡o’ddšJ.mêr¶à‰“0T ùÑã*Ç…a©…Ñ2ùäW6ßÌÜÄTà…é>Üc5î»àEš À¦æð£C^é N[Á©úìL5¾ÙÔƒÏú/ã©Ú¾2‘nÌêÛ“Í™šbÍ›úÇ·›”ÑŽ\l]SäLgïâl44¼ŠOÜ@ˆGv:]ø‹  Š&Jè¾ùðC­“¦^/b¨p¢ÇWP­s_Do4Ƥõ—]cûÖüï­ ª8¥Ð¬’•BFŠë˜ä CqWÛL5bRƒ–¸¦e`Ù÷ýRï  ÆõÝ ²´w”îƒ$« ®ØnŒ\Ἆ2uh`¬„ dMÁ†|`þâDv5Mæì‹#>T¼úwœtÒ‘„Dw¹ô^¢Ö†=úý´kw˜³L5O6Hf¼I1%[ÎÜÄûª‚Ú X=W­ë‡±$*üm¶m1îýÓY<ït9-.n’NÀYàØ©mt¢FÂMïAŽr£ÍŒUëH¦¤eÝ^~Oë k­5kpŽ‹øÐZô¾ÏV“loÚDb©Åo¨føµ€Åe)¸QE.bDð½¼V‰^bèÁý%à»ZQÑÏã¶â§†ª†*rbUXHtËæË ¸€Aƒ[ÚZ”|S <¤©J"$,‡B´ ÁI6Hcç!ßNî_ºÔá?Ê>åÜ){ºîÓÐ߬»¨1æ`êÄ-°W^oý åø”Û¸â·óFˆtô8ƒòÓÚ¨cÍJ¡Ä|Vÿ“rÿ®íüžmG4N»Ï­"•—B°š‘·£¿Ôް;yˆÇÃßzjºí©:Bñô;ÅÍ:€sãÃßjÅí«[‘Bµ˜©VçþÚÅ(Þzʲ Þg«|J 6kŠìçÀieé\v Þ‚lÔéAhp|§vŠpy£žãšžqnŸ™Üm7PQJDÃO'·jžb ý®õF¾ðŠñ·BÕù)sê)w{.É ¢¶ñæãnžW•Ud@Ž¿w HõjhgŠü,;Ë.è"!ääK£JÃlÒÞT±Ì—£<‘¢{ШK£»€7§Añrgt»#C ™Åõ4ÊÒKŽi--EÕøÞ]µÛUÍüaʨ†šžú½òF?|Ã@×?실SDkc Nzõ¤À«&’¤—X)‡‚rË*ï~¹˜·`<ˆ¶ÏÆäðÞÙ‚˜·³Œ:½/\|é’%G  e,­Aº G„Àô×\®Bæ+)iÉÕx¶Ã³Mþ{Mã¥âÑWºm”Æ<ýˆ„ ‘”îÔ€'`ü&bWYÖ Ÿ"¸”ôK“°ðäVeƳ7æá4Ž ÞïÞ?_*“!pôÜÅ[¥ä½i>²®G›¥0D*Áÿ¡ê³ÕŽæ,’@…®0ó䬴ºbù̶/¯¯èïÁ6ÿ|×i¬ÑÄP–(S€ç´ˆ>a I·æ¯Õ¦Ri\€"ùúDLšñLÅn÷½jtX™-Ù‰Ñðt[¸k#dŠƒœCÑLâ««ûŠhóè˜YìYÍ`BOønKµTÃá’@Ô{Ò{óWºYÔGuf!;ʼ±mg×0OhÀhÇŠ…xOJ| ?Ú;;‰²qp«$½éRŒvŠªÞ Å B=ÓÔÆ‰…¤ºŽ9ÏËÃåBE:$‚ô¿•¡ê‘ãÃ4õX2:ôñúÓÓÏEø§RšbÏ0œÓ­uÁçaÓÐÒ/:dO÷òp1vÍ.‹‚ãúWâ*ýûW¢ Ö¥ÆfQóDø½®ÙªºTÚ“2>œKf&"Å…1üzãªÁþ6&F¡³F‹•ÑTj}ÃIy*í*—¥.æÃSf“Òœ[uó"ŸÊæP¨ ËôáwIÛêNS´ ôé£7zbþѣƾryŠì*‘ƒè6{*¤ £\¬þ»âöQ]}é-ãã)pÁ(°¾äÖiDípSþ¹z‹í^ Ë6ÑN_˜®ØšTìÒ&¶iSÜ YXε¾³2Tdêí3&æþ.¢û£/XSï ²S¯¬¼=0ôb#-*¸u#½šÀ~Öo<GEuêl¿\ˆÍ®kıYR7;SÂñä¹×Öé}¡?ÀC7\Ñ)È'V˜ˆ!·Œ`^èU/|I¾Ê}æûL¨kó•*ÒŒïá¿x:,zD’OYŸùø×ì8R½uÛ!ÓÌ G¬á=yý°•3]‚–ë•úcTTÄJ0æÝá6©S zr ÈõI¬‡¾°ÈïO ´«èÇÌqa$Õn<¬.,—ž)ªS,ÉZò×iwµìÓ|Æh:«|_ðþÇ´C¼0Úð.ó¶zÎ5÷rᡱ¾YÀ×Õ,ôG8j'€šæÚr(Ò-©x¼üÒš”‰Ù¬¾îŸì-v>JŠFdÍiZiË»*âî>®ÉëøÝdt•yG5eY¬«ì@-2''$ËîJKfu Ȳ qzñt5–5êÈJM}}îøß÷ÿó©Ñ}F*ô罊ù~PìY ßö FÒIôhˆÕáVd>ÀD;¢/±bEˆy’ß¡{?2TW(=¿-IÀf;J5²OQ^ì_ [*×8ñ—ÁhRº´ \Rxzsö2éU¼|õÞ„Oy8þ‹Ü»Lgt»‚õmðü¢#žÜwIYÀ»—  –¯ñPÿ¥8,2ù{=¼i j¦ ¨ã“/nf7ÊÀ=>¤iD.ÑâXµÉ«×Þ$³T\tzï¹}ámûE8·›ÿá_Ì*-`=eÎ^À óÄêylˆÖÞD‚kRÀ$:#6‰ÕK—ù ÚZ.3¨4^Îù¢8šnÁçœýÀ~Z„ „àMFÝ•, UAƒëÜŒHÿÜy›ÝÿP#ß;^ê>×îúEMVˆ<ÍÀ3Pü]xö^™OÍÈ÷ªÓiÄS@†Ù"i˜%ão…-žFÒ* §c ÖЉšèá=ôÁun¸Ó Ašß›Ïp·ûÆæ* €ÐVó»ZcRqí"V·"èëDdò/ÆŸé¤f/aRÉŒ§Çå6'ÞçêtVúæZ~óÇ{<ñ»¾SË®‹Ñ£a{ðÝÉYlÆ/pxeniì“› zlù—$IìØ§ÈÜÂþ5È~þå¿Ù]²üô@(‡¸9NûáEV¹b˜ã¾r³ßU;êòùÜÈ6„ÚK:b§³µ.#[sh‘éš, õÏ · ¼fR'pÊÃýɸb 5û‚çÆ)=ê§2ÊH͵+nÛ©:¹YÇ¿š+NZÍ:é³&Ð%³u"oꄚd,’âÊÚeÄøá܃ÀÐ#—ãë337_Kœ^GÎR`âÞ,Ö´Q%‹ãõùÂ@C®=·PAwéÏÊèsÞ¢áwý`¹ _uSfQß¶mwŽÔ0"u[I(•«•àÊÂZƒ›H‡žË‰3»¸\ ¸~/h³âK°öq)ìË 5Hmªˆî5î÷«6€ï¡:ú`ãVv\sÀgFÓÐZDpºC©ŸÚú¶WñEm·Å”Ît9ßQ“ŽråäJ†É%.&iÅ}6ù±SJŽPd3ÜÜeÐteÕ¿ÑSßNµt˜Ž\!Q5EW2ï’Éäïy*†Î 7S_‰Q¨•À;Ãb,©1óà*¿‰(þ*úÊ–auߌ‘¢¶Œ“á2¿w™GËÊ©Š;gíLÚÇ𤠉h)Óì?¥bFõàÂqý{‚¦‹lP¾…y_7n“ÆRÖ°ÓI­õ‡=0ßiál®W,èÃì¥îØëa®bÛŸêchíŽàGú¸@hÓS\пÁ IgÕØŽ ”È„k u#£–¦b.äH¨&Üæ²=Ï ÃM-«¨‹7†äÄËà1ßY<Ø V’uSœ2ÇÖŽ•˜DF ¸sHž<,#ÌÞÿÚi¿¥ xHŸ h]¢bµqcôUëJwÖA)q0š<ѥ͈É)¶#hV(?;ž[b\fÚœ˜B¥dP›T´ø¥±þ #†»ÀFõMÚo…ø †+ĉR×ùÇãaªwÍHJü.[»ÝöE|ó+)u¿ 0‰z(—eb jlÍe êR4Á€™¥÷§»äiHÜô¯2™' ”Œûݹ¨ÂÃj‚²ï[Ó“sŸ¸®Ûn"$¥²(Ivæï‡»’ª‚øºtòöXR„I·ëö¨±˜Kžê„Ù(ÅŸ†:ßB 8°Ê8‚Þ@ÚéÓXl6-mf@þ&I¤zv”7ÔûöCxaçs†Ó¦ Îl‡6uö$A¸i‚,Ñ÷ª•—uc+·Z§@*§±øT?æ…nä±U;+C]üuÿh¸èÑ×óìiH})«cÌ脚*Ó8‰oùä…u•Åê'|ˆ±’ÜD?PymD=&1«œžñ ZCØ2€ä#²:›ë´áHúûB_g\ì˜JY×@ËSEðNj‚h¬`}ûVï¨Äü ]†2–:Ni¬[–•#+¹¹x”˜6p?@j¡RíX¯© Áwzété_ °z^~IDR1ÌîiXÿÁ_Ït·æû÷nŽh2 :yiÈàYaئ€Õ=3ñJ;k¸È䨗å5fç6©ZC»cGE}š»› 'îúëÈ‹»Áêß–…<¨/uûz5zg r2!Ž8Ë mìÓeŸãºÌè^·ß•'¹x@R wF/™ZàåiÔ%"ƒœ^‘Xp;öW콑9µ…øÐß45çR9pu(kæÐ›>k¿Åƒ¡(€'›HÔñ7¿¸f†öž&Ö/xÎÍË”áêrçôØ¥\¥GG¦µú.EÄ´‚ÁÉÏS>ø»ÖƒþBJ¥=[¬ç ¯ÔcÃ_ˆNë mÓ1u"°_ápuŽeE\Ï#L *³¬¤™2Eìá]ï˜Û  pÔœÉR¶¹æjÝÌDù4x̸×,ùJ8O¾ˆ0T°w¹ƒº¯”ú–M ¸wPÇ•]ó×\E&fòÌÙ*n>Bà¼I-úóúp ¥þ§ŸV¯úÙé+™!%IíA¬ÃÚZ|-™üªâ¶y•¢Òü¨7É;gHÇK©XÞ™0HéÝlúµ¦©pôÊ yE ‹gÑ€³_Z·Gô½0Ä· Á\éÛ×`g,¥Å2ùâ©N¾8ü<²u£áXÄbzuFIO"› ˆÈ r;—ÆåÞiqªg\žÊÓA`ßéhŸ:Ô«-sR)Â$ïþYàTúaQ$‹Y·ŠO‘¡²8qãæ ˜ÕT[¦v¹eÂÎ%š¨¡ÊÐ÷¥†PæÏÇo.Éí±Öòô¡ `}É,wbQT<ÁˆÂ@­s^ò»—œ¸×·à‘ú`PÕŠù Xk‰žÅxú¥?8×PÖåîS6—æŽÓPìX¹˜–Kš1z¦ûNßÍYž.´TIOZý²^ðM âÕó&[Z]Ê9|`ýC"_‡G^ƒw½üD'†§ ëXm¾Ò˜GòGy­þÖ¥Õýfk¤L>÷¼¥Ö‘¹6É7®ø-%³¿9í„@?`ÅÔy±ÿáS)fàøHª­o Ç&6.o$Y^Én=î ÕË—>x“”ù‚ûýÍŒ–)bò»Û¶èÔ/h®L;¡ªRĪÏ_œ‹hm¹Þˆ-ØaS€+ÒN,oÛ&¹A‹î¹3£B76[xŽýþgPc<]r’ì=Qhwutka O º"Ê|^v:*ááƒÏµ¢Áb×ì#œU7Á‡›…Âl¡Ôö…¿†7ô> QïŽÄkO›.Uý—¿@9z@¯=éeÕÚ@HB Û/·x»îé*¾²aº+ç ÖìÐ)0?3\úɱ§ÖÜ „ƯA¦¤]‚ªAPÁÿÖŽsÁñ6,)`òrZa›{ùáQ¢æt5gâLLp̵ËJÿï3ó!Åæ‚ƒÛÂcXÖT°~ì÷qÊ`;ü&Ÿ4EÍ¢<¾ÑÓk @,êlgkB×É£KË·\¼Q‚2¾gߎ—Õ­`'E÷HP ‹ÿÀ€Í.OšÒ4™ÝfŽKd4<<Ãù€¤îªý ô õ«•ÒÉâÇܺhm>=HןÐxÉYË!n3×Po‚¬o›U‡’O¬ºšŽ€Wï›õDá¶u–‰`—°j'H°Héá¼ \†Ëb)q6Ä =êä'J÷;¶ê, lZkó*&P)Ç;¦†—}J¹/ÏQ1V O¸4¬èÐ ¶Ÿ+1èj–_ÄJûѶAZBìÄÛg­:aíž ö‹.+@sæ\2Ã…îOj7é7äO†”­A`‡^AYÚy›NƒLuµi€ÁI|ÐÀ±9•þóqîœ.‹•Ž©€ïºÊý‰2èm›¼2ðšZ5ròYóÁ¤ìÅÆË5\Uäm`ÊMÅXž€ÞDŸ[´êÊå¬d4Xp”o߉ìÁ}UÈR_M¢ÿU·ÓæqÈ¡_¦cjçôDÕã`Hƒ ¥¥:§Üdp€Ò †shdvg4ùÝQó^vÊ|©uz¢Ák"ÜB‚aÉ®hR L/ cŒ¤íâXf#¯JSq˜ˆ^àšM%;çQxgÿˆÅ˨7íÝ@^ôUbÏÙíd>Û€ùÞ¸ ¿Ç!e»‘C ÂphÂmú%J–¹BLNe¼¸7@·¨6ØLV‘h§€w‘ÇSzynýÙÖµ¬…­¥ý a0icQáÆ`xQÁ§ E#|ˆr}úð×¹è`a#É@@æ½ ïÁ€lÅv&uMfù/`ƒçÈ’×¶ˆÈ ¦g^u·ºŒTc‰—ö¦‚[› v2ÍÕ&):DŸJ$r¦ÃçÔh›Ê£šZË,ö~æ[ ßêT·µV²B#ĸ khÙà2,•(ÞÀKÐ-‡«ÞFéwìÉEÚ åRûC8=®·£‹¤Äq°YeÓ” kž ù©ˆg½ ¨çT¢œ]P{cÆC ‚uðVLTŠ¡;aåÝó”ðøF3k ç–zF·„=Û[±, 98¢ï/2ÜÈP„1ªÆŽ^Œx&,Z®-0~‘bÐ÷ê"* ;D0Á+)öv™Ñ,wÂ}ã{ú-NùæP+H9ÛK1…-5m§ŸÖìô²» S„{¨9f\E.£È\† àKӨײRy ½­Þ6‚“íÆÃ#2áGáåyIbÓݤÁ\Þ±bŸgã»7· o"VZ]®Ä±8ãdÌ_kûjßk³Æ¨© fna[]à#K4ÆüˆÕÃj0ïi«@üÄÍo¨—E‡‘uq’úê~ÿNwñOCÄ¢NÉb¶e/?¥žƒ6ügóËA :둇Û`Ëaƒ(eC¹åøÜ£:ÌUà‰¸‰Ïžµ5;E÷™C¼3ì£Î )G’“¶¶˜`çk.ß^Õ/¥sJ…=jÑ7 $™ _Wûó„?Œär¯ h1¼¼a1}¢ÐªWÿ¨ˆ‹ÐïÆ®ý sí?ü¶Ï|‚=S ´w“=ØÜ©L«Ü;ÒȨµj+Ïþ;U`öýÇY,˜çã{¯@±HxpUªrq‘k˜j~".T³Ã)Òù-ò¸ÉÇé½9á{Ì[+¥ÜˆÃ&EPQkr]]kj¾cBf«Öÿˆ ØyêoKÎyâ“F­¬úK³ª1ëØ1:íîrÕÿ^ ckE úZï&PÖå¸9˜ãQÉŒ³ ë+yÔdajŸŒî… z½pØ© ½×Óäk6BŠßE!Æ{1ëº*†YÒv ëÛ–~Q¸é#§ù¼XMëyŽ%VftÞäptRFm„È›Èqºéw&%ž¬~ª4] =J}°6³CÓY{ô§ÁlŸV3bâ™\›vÔd¤ÜÚv[ÝXåsívÈw_¤!EEàžZµË!ëªjHLAQÕ [xž[1¹eg±ÝAS.ñdߎr±D£‡¥(Ö42)ŠÃÂ6Fô¸è>v­û·eM¾N{`ñðÂìgS*I ‘Ë+"åB—¯\|EùœbïDJ§Urà ҇Ûß^´¨H×ÒRYü‡ÑÆúØ…LæAßýzS¾¡l—;ž|ËÙ¨çºyyNãd!ai¬•=ɤô(§ŠcÓêÄ&¤½Hói£‚íèV†½q{;¥ü¾¶óF€åõ1Ÿè3²Ê° pzl³XúÓ0TÉ®Uõƒ')ÿlLàˆ|Ï)–‡ Û‰÷LäB»Œzv;?F>j@›;yZÂuäêZl6`Ê<Âv"w«®|r/JoÌ|tˆÇTï‚,–ú¨Ñcegå^èë¯j—´^MéND¦Ûc¢ô)ë€Eç~/=ЪŽÕˆ€ß߇üÄØvÿW‡\rQšq¬löêLrÝ‹¨ï–—1ðV¡ÀJÜ‘øê¿^OÂZç_µžØr ³ttG&©ó{gÉñÌŒ6¨‘¼°ÝÐ'ÝŸ+šîp­ˆ6HMÖw>dޤïÕ>9¸Vó0tU>‡v I/!@ %b§C5¡d·ÙƒÛ¢­Cž"jQ£7þoNjyÐ.ûce~:E¤!Û_d.^*.`â´¾èEge¯Â:Ú[S½Ã¢6óvNè©¶ÆíŽY½TÛ—s×GDÁÆVþrnäæ`» LLf¦(½¬Mm"\¼¥OTHY4¥èõGï§Qèè»ïÂTää›ÍÍ3¼%Ðjv5†cØ/=Ó.›61ÕÊØÆÔi3²5© ƒÍáI•ëÔa4êâ+ Ø´C;'&LÒ‚—¯àܦáJk~%ÕòÇ[PidÇGlM×øž•©²„˜¯AaÔ¯Ýñ®ðða¶¨4îåU¸7<é3ä¬45~CÉžz œQfªHÃ9²ôv}pN!½g7)ª™Ð b‡&’/ô0Nô,?#f£¡ÜeŠ+ƒ Ê«Òp[Àô¸†?©3®sG‡²‡…Á'2ö3n™Cœe 9h ´@˜ù0ѹ^Öêµc@>ò>>¬îaôÐÜ> IÁ# v1+íðÔ'ËnѲ}{²1‘zO[Ž·„þ6ävÈÅí0÷ÜĶ].ÈKµ”9r§ÒýˆÖFSÊ—ÂóòRž¡z³&©îDÈgP>ÒÆ‘·­ˆö¦! R_|Ùt;`NW Ù³–tÁt1×C¨YÈoµbˆ`:7c˜[’ȶɸ­H£g©,Ó *óiew¬/t¸jˆ»Ð ¾žÑ ’‹U #ã¹±²8}§ŽØcf¹q#ê¾.Zæ@Ñ1Vò(G’™Àm¼„LonÖ£ê ^†Ð…kÒY*ÑFؾéwÛÏ—Øî©ë·Ép¥Î/+?¼ظ ý׈dò,Ûb¿˜KÉõÛì3y•ÌgÚÁ¯Üà ]0ýó.yy®I²×卸Õ÷"‘’QmmÅÿWaŸ:k‰·2W…`­3ÎéiÈŸ°!¢lè"‰]Ãqåq)ri‹Œ½ªg ðÃϲß$SF”k‘7¶4uB¾ŸÈCÕí •½¬mJçç—?´èèi“~A–tÍ´·Ã ‚¢i‡ ÙTÀ ·`qbòü¼V=ð6eñ?Ûf©ãÙiÿåó,¹Àéö‡s¤™¦‚ì­»%ÔzùCl½xP@c˜RF8Aøß(qè c-'Vsö»WúøTÍS&<3êA•5Ð,þ°`ÆSP‰ÅàÃë%ŠPÖöô©@nè-øÌoä(‘ªÄÈ¡­ìhë` ¹5ÙKx=h&j[—@|¿µTn¢”8åa‹ Ø-ýÇÁÖ££Õ].¾äôASþqDGíGÙ&p‘?ØÀÑËïê-Ÿ,ÒFÆ“A5aÈ.á{"6wv?’Û®®÷fúü»_ÎÜ*m{ïœúÞÀøõÞk¶)j,“Ñ1ºL RWî¯ñ :–#÷ë¼!zuÙ¦¬w~=þ½žLc ž°æŽ«²gÔîØCnÒ†#ðÁoöši*‡;fC;É®ìjÂö× °|4gù¾êöÎéÇÈ“…‹ ˆµyAö@ˆÙ“¾=,Ì•*üâ`4Rdà;-#çQq‡j×É\’QªR„À´Üïùë îÞ± ±coDS ñî×4ÍÑ…²\J¶ZN¸–Ïun>?ëš6.”ð?d\,\ æ_±–˜,¹U¾ûè¶aâ¯gÞ•þ^Šˆ¦ŒGÒ¾ÄéÕµêUiƒÛfXY½G˜(‹LwI1LÈ¿¿w‘£©‰ñzC¹µx»ë/¶aoò+¨ä”›p…N¸5$*ưú¸jSÕ¿k“ñ]«-‡¬¦¾zBïF…nG»Åðħà?¨¬Ó©(üö¥}wž'W§øÅ6þíaÑnô¥fÖ»ÙN?ò kC1Š:×Fœ©‚tèÙVm²ìÆÑ Y+’û Aån}K^©%¨‘óߕ֛+EAwR’m$ HË$×â Z‰¥û˦ðQž¿ßïµûÅgB„9Æk±-I%§ú4å‹ì¬Ü ì„}(¼ú§Fh«­ÑV‹~)ûnÉ ]X{Ãe¥PºN$uÞ2ø‰gÿ({Çcb×›,xXݽçt²Œ4­]]ÏJÕ¡³M‹íþó¯>ïb7âN$§x/23ÏsÓxp£}‘ש–›mý•êœùÙ(A_–’ÑTƒ–­ÎúÖpKÒÅ™²' oy/µ”UÃðôúð·5É”ƒ¦Ë²Š)JfÒ\õááQÒâEŒfln^F ›kÇQiѾˆD·ò@}ˆ°·™EGéq²MUù%³B.°<FB"óhŒ|úo;@â.Ù¤($è—YcY!Ü æúŽ–O1Ÿr,ô<¯ÃˆhA±¤W+DÕ¥&œx9z\] ôïWû…‡_Ô_ùiÒMúᆯD¤ýN 0ÖpT©‹Äþhjá$«¶´!«x%~KÆsuD@ÇÐïGõ–Î[× ì²ÀX¸ðI+‘t`XirÊ·0%?ÉÈ"&!㎋>üYÃ3m»Ð!^=$–n6#˧«*y$ ÐØNÛŽ¦×ÊÒ ïCFÔª1èzÞ«àr³P‡E—Êá!Ü4 Å0\QZÊ,¿ix|äí‚Ç"ùaÕ Å5Î5Ï$5 BdÀú!©%d ’l¢§ £V6Nà—þ©;oŸK"Í~ v ðøyĂ—G‹êÏpÀSÄš¡kŸñxn,Ûö</ƒ¶„6´í2­d¤“2Ö”–ž7úµd«Y£c€7â s?ù˜Üã.“â«ãzvC(\Ó<¹%c§%þöSÑ£œ¶Qø©#ü#i°(Ãì_Gˆr8€*çW'‡/¢žÃ¦ Îý+ÙöÅhÑàkÐ%ÃÍS.Ü‚D×Wþ&íŠÜ8©À­€Ïn¡œw€þï>xS>Hz]ó¸qnÏñdæZgà ZOæœY¯qM_ùtÖ¿>fWtÿÓeeªBÞo¶Ï Ú^xi\n‡•¸&YnïA{líYä»°Zô¢ëm–½s™†ØæG£Ûš¬ó&”!ðs¸|ºF®N©³(7úpŽ×ðK PŠÿÓqÞ“VÛ‚BšJ™*¾‘®õMiA ­6o!ü€Â5Ø&´kÛô³¦ÐÖ/æ»™x:l®žWKf-çS;KPvw ŽQõVMR7ˆ/úXµÈß¡{õ: ñ‰ö¢ÃÝR½8® ZF|éÜh3áùÑRjü0æxù?Ô)gõxmRÙ@î/ýùz‚ßÕâF×âܤHQ6!£üX‹øá¨nØh[°:3:”]"ÈÜó–Л83Ein‡2`cKò+Úœ!8+>nl;õL†¹Í‘’ü+Ù_F¾B©Åz?„@vÂï9˜“ò8rË=Ð ¥L§0 º¤ªé©›™eê¥÷xKègšåoØ#ñ=tnÜï!ŸG<ð|ýç¨Äeƒâj‡FÜ•ÎI¯€qK} TšS:èÈØsó)SÈê½Aó²ÄSKýðz’R° ûíäñþõÙ¾ò_½ ïH%ýoBÕ6'© ¢'û±‘»O Þ›/R¸¢vP<—`1Ž48_$_‰XU( Í ½†saËg3Ñj¿Š%ë`gIƒx_B>Ý®=I/I0[WÃXüX¦þX$ÜS¥ÌER>ªäG"ÇÒ¯*ã6 5ÿ…'ÿÕ$µ8iúœÍz:¸ƒË5ðõÏú¦; 7§†î£ð’pu]Šõ{¿ôÚC(—ó¤XQtíÍÏÉ ‰çE³l¨Ãý3rJw. WnÈHkŸ!oP5 ²¿‡ïrn!Œ~#Ϳѹˆ¡ô P„rì<ƒ+:Ã^õ7œWd‰@̌ߢp—Mßxàm#(†b¡K¼ž¿#±³±‘yª–[êÅñýö½mÐÞéšåqµö¥ïɸ‹ÓI_3¹Þ­X½Ù;HY'œIÑzÐÜúfŠ¥aºûå*«¼àkìε$aÝôüC-]ƒoRT#0¡zsÚÔwS´C6k6ˆ×›Í±ü2bì«'+£ÊmêU=]Έ¹û§Ú Ÿ…¹WNåZ¥Ö,cÊiØ #ôR¤Bp ûú\h¾yyyªZ‘nï‰5ˆ™ë‘JÎmŒ}cN໯ÿô5 Y~=°o®+¿uƒxiŸW©Ý·4é~†’µWEVÑ[Ôôx.4ŒGL„llA¶˜ þl‘0Å» (÷UÛì/Õ'ݺ‰Qo˜€\eqd­ÊÕn|ÕVG½íþaP®PÔÛ‹Cñ+9u™Ã€Êþ-$cýú‡`Y^h˜K­‰àå²3¸âÄM9dúòì¡Áˆ‡¡oå F¤‘ï+…ûZÍè˜-  á),€,ë_0I|»÷·}~i‰ˆNhW Š¨ðÚa¡1xó'k Ÿé2G\uÖC¨/þðpãþe*ˆX}ÿzø GÖ*U}æ ÓùÝÇõÇŸ’¼º@ÇC¢ËÿHÜšÒ¦˜ùÚî9%9á’>ñAƒ–ùçâLßåj^û•øFÐ$ˆ—{˜.<©×½&Ê!­±m}Obè:,`É#Z `Ù§Ul %£Ã…ñ”$°œ¬·z’jØxB­xJ£ªêº1ÏV¶`fázªCß‘6¡¿ q 9ÞX?©z™Oƒ4ô^ÑUÏôA4ÂãâÕ_W%ÖÖ›Úcºý»xö)7 ª%Í7•F•6E…~d5£õn¼µŒâ:ÃA‰@ UE¸¢°ÏÏífWŒ[*_Ÿt[‚õ5|%/ºÈ>—×ãÚéžFjrn q }ÖKT#M plÑ?uï,µü/ÿx#y%²F¬MÒQ*ùÇÛ¦ò¿;dŽÒÙÛ!Am§SÖ€3̬‘¤nB &êy¬ Ù¶lCj´ìïve×K—UÀ÷}#½´Ëý#5Èôfü+UW«c*I×Ð4 ͈ TQô%S ?IéÛwaô®fÀÌ)Ãs†2V{ƒá?Ò²¿š¡¢×9ú+é²dOÚ(øM¿°~Ûù¹ñœ%ÕH:Œ®»ß¤×œÞå i¥ƒ¥èò=fƒÊðÙ·¨·l&Ò›)êø›ó’ÃÀðÄåUù’‰¸²4pç!V™¬¨¸HµC’ ;&kJü sR¥Ê]óÛÄv[¿‘¦K}·J·‚²¡y²¢Õz[?”Ií«>¤­QBJ1‘S§…ŸÖÞOe‘—x¡ªÖ"ùËD¯å­'[Õò¢2xFç*q;½V6,1¶„ŸwDs×ÅY ae4à‰Ã–I–Q׺þ <°ÈYÂaUýÇ–tâ?&éj4h÷iP`àæši…,£÷âU&.]á–8³ï6Ç7ThÃ=1@wý'Ùtd€íöjCy³°Cõ µy5³Ëï2Ar•ÑüÄâ’NmŠêg"ÙÙ8 ½…² šã–Ø*}mÿJ…0È 5h¨,´Dö9$¹½ñ,HÓôÜI Ê{”I†v¬õÖàsq«¿"†q·à€:‚2¢Ü‰Ô¦L»)Dþ†7ÙÓ5'–[*˜¦ú •Bè5\Ùp'>ˆBì„yºt›àÌèo-ZB–™ô¬:ÿ*RÐ"Î!")²òˆ)Uïþ04|v´kñ¸&h¨?ßH™2}‘‚¸â n¥k´J eÔUd§Ti€ Ã隆ߗ° þ³_ˆ¨4SÞ_GW–ûÑùU'âbðùB³É®¶ßñ΢ëª|Ý[|‘ÛÁÌ,ÅE6øÌŠ4iÉv¿_èïæñݼO¯#HÔX Øëq6V½ß‘ùi£$/ •þ[œ[òß™jCLo‡VM0æÒx"<9ï¥/ý-9ˆ¡S +v¬]´E;c‘»‡ÔáÂÖ{P“I½‡ôo(¡íÉà MeOWQ_z@Ž­€‰­Ü¹?ímœlÂUú®NÓÓ¢u¼æ_1yƃ“9xíŽl}ëcéûûXÿÀÀqÕ´¬a^-¥üˆkùÒðz²Áp+š1.‡Ù™B›Ç©wÚbÆì€x`®óqÈÁ_§Ìo½š÷ø¯ñ—œÚ˜¡ŽÍÓ0‡“Ñ•KÈìlÜëk‡}¼…ÿq=Ña^ðû{äI0NÆ4í˜ßKøQŒŸßqÍÐà¹ÉxŒ1&H[æãÂ>™ûG„%úxäçOÁLhy0Qtä0fù±s²úÄ öþIapXp"²/ ½È^­þO:]9v7³¶¦#ëMá»SùÁ݉Á„H{W¾Ðuƒ™üÄ‹º P™¿á{­5Q"‚sSÆmsô€¯`®ÛºÇ’’[ÕÊtw)Q#*Ý|¡ÕÊЉê&У9\B ß|Ò޵Yz•sgo¾ùôs®Ù ÃkjAßÍ#!½•ûã'Aû$0!˜Å¿J¶AËð“7xš¹˜œ>Ò=ø¤³‹ÂÓa£Z“j“]wÿàµY¡•¬¿,¯¼½ê@Çïû¹)Úò`P"Smw±ý‹=l`O¶Ý(¯²ïGT¹µd)`ºMm¥ h†»iunõµi†¯väãqjŽÄèÚ]÷ø-™ ¿X­ä |: KÅûùÀlî6[âÔ^ìÂ=ö,òÏ„zO̦ sÿEÉàk<ɱ:2Ça¢Ô°m¥& FAöñ?oýv$)•J6uM3;– £+ÄWÊo2¬AŒôª W4s¿{Žxæ®5š(Ö×uN…póC¤Ì^¢*À!5vj0âçêüÒ÷¤íÄћLG[ü6Ä—(ÒÂ^%²»[nú}"Þ¯[oÀKs}ÝàŸÿÈtð6qîYd(O£ÔÐÙð› < ³÷&¼©Æä´—ÎGsù…Ìxb ±èŒT€,Gh®¯r}ÍoN¥ûÆ`Ž…Ã÷ÜÔKÿªB¢ ‰Ã%¸¬JVm‘9C¦i®‘ÕXùÕ,mJ¶þCŠ@Àפ%,öï‚ 4½‰D&§ÆÈ×ð®'Ï=.5WP%WÈjßÈŒ$‘ c{fº&¡õFõ87IËÔ!|òéÙc?×=®g^8)§Ó˜[I‡ÉS90ª¹'‡3vnÐϪúÏaÿ¬}¿;ÚyLŸ Ís†v ñ‹%°Ë(”ÔäYâ£Jɯ ø;t™+QU;{ZÚëË!]ïòBMÕïuC:_ž™*ž¦Î›ÿ*”JÈ–†¥ˆÊÞn{Çw™ßF]T”t ×R¨(“8É›ê9/;ÅiëÛ°2ªuRã‡S±Ðš·sƒßµ%ïïM|3Û½­4A%á£Þv² ž2ÊЙäÛ› ¯Œ š£=SÝ^9ôÁ$ß°Zÿ_+lÙÈPï6÷¹M= &f±:B39»¯P–ï”Ê~MA„u›„¾3óïâ%µ‚¿ƒ ÜNGk¿äxU–aGå艞ʼnNJá îÑú®ŠXÍìûãýt«yñî{(. ³…Á³d]_”3z‹+v B‡=§®M63{ŸzWïíP)Ûdù§¹"I³kâQâ22GQÿaŽÓâû‘·5åÎT°óÿðF¼cµ$êv¤ Ïo*«C¶?r¥’ÉûP)øim9—Ë+[¤fÿ˘٤Äx¶ÙcBÀv0ËF"Ú…ÑØt†XW}#ˆÃ˜òþ8f7=ÄÜÍþ= ­ë×C6÷4àalȼÿR%Y¥à.Ì4” Á G™#%d¾^ý\uy‹Vº¸ÂRúl²†/úe®pÔï…§©ðó p÷ŒtžÄôË‚‚F}ï]‘µ ‚›¬NʵµÚóÚŒž¤ZttfžPÖÓ‹}~$ÃûX× 9„“ÿ¡ƒ·\f^Xìµ²Û-8©ïOÜ  ÷ÓemPg:h¬õ9ÐÍ­‡n¦„ ù¦~ðݳ^GaÁ0çÕYuÝ.6ìjv@ˆ3¹ô2`ăóÜi¾0ñíÕ(¹‰ð@[6ü Øû%˜‚¿âx_#‰&§ «z4«é]¯=‰Üí`iíõf²gÓS½÷EÚ¸”i8{Ú!‡Kór–ÌhXa…κÕL†AQ q.8Ò«¿ÙXµ§7…ž¤_ý Ï;¤9|‚é]²ÊÒvB?ÔTt dZ†ácsVjޏ z`@ÕëC‘¯6H7ýÍ Å„KBte§AWeP–zbùG}{ÀÝ{‡ør‹ª³ù¾>»Æ5BôXZ£@Ž:ó¶;Få ›‹ÑF 0Iêò.)äÃÝÞ¸L *eÇ2+_¾SçÛÊ8íã4}QˆœŠÈþ ×áZ\n ‚x£.B Ø©\ÆÊyUü§ÄcÛˆf<"rI]‚ ØÚȲkpÉ<¾°OáÉb!ö­Ê΀ã›n¯«ƒŠ¶›éÛÞàÌM͸jF°ÅpÜ>½ºÅ»qïÛ>c_¹b½ÿ˜»¶ù‘/Žª˜m|LŒÓ2¸æ“ÅæA(.J—Gd¬!4º›ï²Š6øÂ(‡>Œ+nŽæ"=Ö­T”"†sƒ¤­ìÞØsI ì×:.xQcZìÛÌžgéÈ/ …¡èu#›K`Äxíð¡h ]7íp«NÓÇ)t×d¯™|‹B3èLÙÍõ®DCý»+ßëz¦Âñóé‡SÔòko¢dp<ÜW1+øØ¨ä3ó!Ò7±ó$eÖje~9>’1q¤Œ/”–«·Ëäq°a«ì üŠbËÅúY¬w?¤jÆ^-¤ŠR5ýóœ$û3Ð ƒª²¥¨ÍÆ.Á÷ PËlû&Ö¯²Äƒ5§’Ni%Uü"*o–NÑ?IÚB~«JƒX¦×Ðþpi1Clžm ï§åø‹/¯ºç zQAƒs »ڽ¢”œV1¸·OJ_ÏáO¸wƒ»“üÌ>­óîû|å9ØTiÖê gØŽ@ú $t~P/¢|Œ sI¹Wxÿ¡k*¢QåÐèò×UÚ·ÏiĶ ·Ý(üâå˜2LPbèÂìþ^êfë)n7o½ø–éÙŽAš@Ǿ‹0‡ÅkÄeÒ^ɦbä-d,Œ1>ÏáŽ"`¶@Ð ê+]Úb:Ý2¹O8sùa#ð1 ¬É—YǸì.`(Ò…×Zyrÿ sÍÆŽŠïâÈŽD‚¿[T‰WßÝc›ðlIçWTÔ4£KٚϫEË¢Q3ßÜ•ÎÈ@!VÈ5-qLõÝré£ò§©µý²7}⚪zp®ÅnÇíÕb·ÏD~‚Ž|©â cãÎóûä”qUmÆ¥pãt5·kGÜïòï|I8Eóò6ï³|1󧥿 VÞ# 9;+J†)ÁJô…I­¬€Aµßþñ¬qM{º­ÐÏî™Ö^˜O¡¯¯XZÙe³„…iÐæ¬5Fâà¿$BÔ¹TÇÎÂ×â\€\Î ·ÑoªÝ¬á6zK­ª‰Rɼø$ûü P(fÑAç^Š| š j=‰¶Yø*k:PEŽUŽÎ¤ÞÎõGº›Ö¥Þæ,ô??_•aU„ìîWs@¸vÕ-Ìî%¾mxC‰Rvj 6úH ßì™ Õol±³Žz¯Åó3ã…ªs•¥æÿüAriúoFµF×Î’hÁôEh«·E@zœc%›ãÑ<‡2J†@”}S»K<°œâ™6b°ã õþ\Ùw)’žñicýC:rý1m‡ÈïÉÍyòy…ÄÝÒY´{¥Û¸­¤ €5ΑQoµƒ³õºæñºË­Å×ÎåÃÑÒɱ9²r÷I‹6┳*¥ô>VFB8_Ò|5=ë5ÿÍs.!± ·[L,;¸ý 9S‘Ѽ¤Î}twÆe„+S.¿øaë³MvÉÆpÃÓŽ./©JßqY5LÐ\ W1Ž×¬wÌE“ ¿¶·\ë<»? NóÔ¦ŸäU;Ýñe¿½øÄ,¸Øûœ–ª=½ 5’¼§À KPëñzwœd±v]ú™bfƵj$R:;dçÖÿu3h;×Tµp) ìÅ… Êâöoê3œÙ>Þ ›#z°¹"Á¬É¸3¶)áêŸ-í h}Ú¢å̵G3ŠÉA+—lu¿k±G±…GÙ73A’E3&1\m´y“_ioòú^‘ôa‹=¿Ë×» Xü·)ƒdÎûb"Ò3|*Z¸((!â…‚´ÿßF€BCGAͽûÚ§Ú æè¦¥µÎ‚5@/õ×ÞÎ_ìµÙ›8õöÍÌh{ªÁŠu…ÖïʶU‡š†g›«Ž³XE"õˆê§HÂâ8¤4À=ñç­ÆgQ˜"zÔ̹ 6ÄW/gUFë`?uq5’ ¤¸Ø¨#Fc :àd¶ükqÔ—©”õ×;ÝÐÁœ)q‹ÓË+ † ¿?›$Ÿ0Êl§Ã›-pÙüt yÝ{sÛóXÒ[–…Lô¼1z´¶†­PÖ‘8HeôGdkG:/Aý¸øÜ7¯h‡]ßo#Åã›ìL÷ê®Ç—ï+{Gö»/Ts„OÉÛÛƒ­ùCl-´®|è"l$¸;aQSh)G0¨TPr³…/® âæG½ûL3r×U¦.»pƒµhÂàïCu™-£óg¡Qb{£3gL¬Ùk3goù><äœx£.{Rüãö;cš|Î1 íTo™z²¼|ü'~t?IÛWŒBüs–øGå•UÞrÇ”¹*U²ôÓÅ]RkZ&\It"@®2 5e¨-?Nw²0™†²¨ê+êãÆÐîTÏhPâ”b!ÿKl÷R/‚1Ðȱ‹¾:»+(Ÿó— çP±ƒø?õé¶(ÚÁ-ŽpúŠå ÓÇ©ž  BBKž¦Û… Sî ¯/|ùË÷¥ôéÎŽD~¼3ÚU_€“]-Éß/£bLs7*–£‰G^ÔÆâÆå‚ëÒI)Æ”šŠÂÄŸšÐHá˜ù’ )}¸qK§¢"ªÆ½´›ÎÉ’¤)“˜|ÿŠPü×±F/Ð<Æœ ®0^b7w«Í=i¨ðu\T  Zœ$¥ØæEÝ8mñR¦B´Ì®²q à¦ÁÞ—uÅ…¸Z|H:±#²}µâ"¿TêðYåVï¤ñ½Äþ_ThéõF!ÂuœÔ:ÁðRÞ£ 2äl}Ü£Û¡Cê8úYŸ×Þ¸¸¯.ȧaC眆ÞÓùéçÜe­2P“LUôÀAW-A£°äô$òµäƒ ©NK4/\ª ‚úË&ˆÖZ/ ðq¶DáIÆ8‹{¾B A 9¶ýÖœÉD‘Îñ4D#óÇœ™¤^¨÷/-Õ ˆ«#EjU7 Â0uŸf’4û(ÝüÃ[Î쳨1+hmb½ç­ôp¢ü{v4:aÇ¿ %'c&"«êÖ˜×ûÂ`c]~_Êëà`2Õ³Å,(€‹ò<áØo[¬ßàáÏÕ¤™ï‚©‰0$ *ñëgù1"ÆÉiƨn:íe§dØôÀÏQ1‘“Õ/ÉgÛ!‡Ìκè13%SÍ(ÂRÏíÿH|ôŬ‰Û7)Ò¢#i’ÊøQCMÔ³§e1"QóÇËI°–u½­§9ï<Ù• îB ÌÝ€éz$¦=Åšö:j¾– ªôÿoñí¯R¸¶[BËv’­ªÑŠùíúóãu=0©;tQ¢åþ/¯yXrù­ÈÚ°‘˜×ǫ׭=p”ôŸ¤Ü\ £yÊ…R,THŒìiÜ]lîg/Ý Î‹)ºÉJ¥Å~~]˜®gÕܬ®¡Ø€ýæ>MDÖÞz8\VÓ‹.†—íÚñ}.òi|Ô¥¼›0ua7sãÊ6BDÿ­ôÊêè%œ]PöŒUð›âHQ^®ß çC×&¾u½4ó°øŽ8Þ,±r[)|¦ï†5"&6 öSÃë¬E‘jqÛÎ(ËŽ£€•|2Á™‡.Ø#P‹ª¥N"¯(ãrÊ*«]N𡦶8#'\â„ÖÞ=Ã^ãM¨v/²úñÜáØ7@ PŽ»Ï‚œža@r̰;ƒ ä;—vùô!·÷D CX~«KyJ‚/ñûÎSåzB ÌFÒü#|f CŠ››‹Ú‡J3m"4ü¸r=•áöè‡{!€;pGÏ>ÂÐÍƒé€øUk3‰§¡øs©•Žþ¹ºúøÏƈ$~ú»ªè’›ÜuŸ9W G—©¶½çQLuM\šdÆH¶ð9lVI{/^vÉnTUÄÜŸ„“Ó¹‘o'Õ5£ß(¯®%°šë¡£Z’b…è¼ä¢yPžj˜oˆË›œ#E¢S IÖ®M¢ìU0+ÍJ(<9ýíwâ\å/6D¡LÁÐÀKb rUÊV0¡N:QÞ'&l ¥iE§v;ÈŽl·}qs-Ï ²8 Gœµ}Mg›DÛK–"Öþ= е¢ƒ pÐr€‹¤6•…ÚÆr HR÷+=>Þ‹—½ ðÁ w%é@bˆýQê( ¡ñÜ–cå¾W@;DâÚJ†õi“þiŃÝjßâ®eòäÐ :§cÑÕøñF3ËÄô.$ øW'n½cp‚ârFv˜UzÔ±ô„ÿ2â\e¦â³yÚ(5Hï»R•7Ÿ&ÛAL`Éz~Oºã£:Y¢Ä~q„ð˜âkp›$î+@Ûa[õ\¢#ï)¢á»}êÓÕ@(»þë'H»½‰¿s{ÊVG­-~Q¤6½rŒà=Ò~…RÂìº*@U{¨AñÄD‚8Û`ç·Þ¾÷£“#rjèt~Z2Åk^¬§™ÿ¢R³ùá, H¯ƒ¼ïf.ÕÕ W£Z··—XgîIÃgûAzé1óàH¾ÕE8ÛPl¸O3ULËîÂyP¼ã¤Æ"aG¬ˆŸ•ÐÛX{ÇZ–ij^ê5žÓŸ™Ñ3n븼@¡N’ª‚¯>˜–kCRw)N[Ö‘^í º0L"½¤h1EÆœ†“]X’_/ û¨¤‹^ÍQ¡Ôûe¤1P‹­;i…Ͱá" à?ø_Æþׇ ÖD'†Ý&ñWy•pŠIp‰®ÙWÁ³@ü{ž¨’Ù€gë¹Î³ã…˜ÃgÅPƒCªÉÙºo«Ê8…Xìq#ã“VÀK ´Ocòœ5BòYûô!5FCÝsÜ«$’T¼¦Å‡b’ÁÞÛ÷ùíwñÃôKTqá„ìÕˆÍÎfvªT<=-éV4r’æe{ºuxODR®¦ƒ'ÿU3§U³ØtÍ*29ºU7l0¤©ˆèc›¸cìÎöµæé ÀìïÖ­9K^¬¬-@ã®Å/(³uÎL„À|6nöÊôÁ˜Ãö…¤úÄ–3ä9°zc{)`¢AS›™Ét[Ò“ã0yØÀHÖ & =n7è<ª¶ì†d¬d¬Ž•Q§îÐ\⪢å Íò×Õ)­õº#Àî„A‚ùÇ Áõe¥ºOq"Ȳ$ëèîn£z™Ëdˆ!@Ó9ô~aOEMö»TP|,ýwwF&mÚ}9å7‰—è=RÜR•shÐîìâ»V- ÊEuh•n/®GímÜ÷ºr+¨EñŽgñ´óÑI\ zø$u ¦ÒõâÕ¤Æü2‹qµ²€''‰ÿµë™¡ÈÇÂWè·ŒHð+6›7'¼…´ÃH€¿âÙgÙ¸‹ÈŸzgŸ?™c£ÎÔÍ*“¶cÇ|–QM•-¿yû•ØXò¿ÔRtjDÊ®ç‡ë\ ›Òæu`Nòn®õh,±Ò×ï¦<é£#ޤv@ÙQ¨¦2‘¤rª¬,Äó_ÄsøÁ¸àa\5t,¡› œÃ “¤ã5Yûò(KÜʹ0Æ×h£Í÷z­ëÕí»ò¹ÜÔ¼Kè*ËveßMŽ"gelá#Œè€ñC24Ex­Óò¯8$èzjH;Tê+þ›= ‘ÚO)¦wtâˆX±Wßø«/ö|?saŠæù^N¸ÌŸç¢È-œM cÅÑ)lvƒ·ˆ»a4 ]¿Š™­ì$ r¥yDШøgr<ƒ®¬„ñE¤=Ÿè ÚG²|vf×3ÊvßhÅÿÞP‰Èd£ µ†½V¤îí-Y ‹F|ƾŇ~f©ŽPÂ(ƒ; ç~ Q™$\ &¼Ž|ß«E¬«Íp›»\ñˆI¼d÷µÔÛQåé–D§òòËÀE‘]ß´NÞZúß%¨Ú”¤$ñeŒw!ZŽˆsí’c$ìà›vB ’‰ÌÈeFÕ”Íû¹N!Å& z 3,ò¾o¼¼xô=tü@’LïlðhŸ¼¹U +€ÿ ¨ŠY4îGlÖ ¯.ùys/ñO 5“!¾­ ð+] ‰ÿ¯’ñOr}±àÑñ¬{´HîÙïcå–U3ÖÂôúçþÀˆr‚_H}˜£Ž>¾ÃÿarÒoðiµé·Œ€~rµ ÏsBïqŽä,t¯€üIæÓIâ¡Z¯&6Ð'WºQ=el0nxÂ4‰s =.(¯$0C³vüó1>U9‘N»"Îøû pM„QC(ùÚÍXáŒ{YàPw[Ûä¤K‚ã¾Ò‹—U‘’;šÓ4ABŒÚëjà é·gG0´±Ÿbó¶×;2O·ôs¢-?YQ"™€Uz=ýGÍÜÐK ‰s‡Û,Çil•Zi[uèØú¶Úȇ‹»GdHH'’+(+$Ü@™`ãš”=Øu;åâ&27¥4©íM.6—là'„]ž7OõP– Èr÷yÄÒ³½-Á¯Ê!w–B’û#Kô ~t!ô+ïfb™ëĈzÑñÙ&¼¤[øÝ>ó§8ð<þ t™Š‡s]¢$á‚™¼Z8™soz³ÀfÈñm`¡@ÍO/q²Ë hÇy%ŒnÙjåϵ+Æ_ØWúçªÍ@ÃM·² “É×Óæ’ñ䬙Y@i¥G§¯¬–´{¥üâO» v;;=ˆÃˆI}ŠA‰€˜2#üNytØ· Z/ê6µHºw^Ñ.¿jû,\Zz'àbbIgôXuàð–—›|ÚQɇ^`艖›–à ùz¾èµx¤Y¿ˆ‹R¦Ëô‡ ùÇ·úÑ^'lÙYü-è1k*íJóíD¿þ¨Å¨˜FP«Hàª55ŸŠm.¿k};¢³á×:¨UºÜääEê%q0$7‡,‰K3@ÄQoÕÝ-]»2ý¹Ùgn}­ÑÓ´‘¨+ð¯ó:Ô}yóHgõÄ´âèÅ ^dV0:œ°´°Û¨Ë®ñ4\ Wì•'“4]"Ð-u…!3=¸ëI=à3ASÎîÛ"Y Íf$^9)d‹w×›~ÓYðmŽ( ürÃhÇ´´'Õ篃gáöÿ„Ô®ºQãñÙ’! Ï+_fËšž|hCmTN Ž$öK<9é‰UîjTÃ¥wþ…ˆéqåpžÓ‚Tdfœ$ ið:G°£v)JP×i¢¹R¦ ˆë|œÛ·[é¤ÆÌƒ¡ÁúÓAѾ7«Ù«+Ê=ŸéDÌœ–é?¥¾Yñ€ì¥èègZø:xîˆ ‚ñ­Ê‚këµ:ØÌ>,îu*š¾ˆo³Àwqm!I¾ Ê_?Wn"fánô-Šú«?H÷Å‘:ÜÖP i ÀÓbŒÈM$ÒøÚÈo€@++'æ2j1i¯þ¢Òq ‘›:¬ýŠu²Ð ­Ä¶]€9ŸTcÚG×õiC¼]gTK1Ù ÿ]jCÝ»NÚ…rÚÒ¢:•Ÿ´`ì’wÌsxxhmÁ¦xL¿½ä‚LI} •Kå(RÀ#×S:Ø[0ꃢþW`”$ˆÍÔv±œÂÛ̢͉¡ÂZN(—¿U’ím¶l» öj CüþW( þ~pe9,í ‘¿Ì4-Hgb?)OGdÆ€{ØCécN§ˆˆ÷ñÞòSBZ±®­Ô—k‹HH¯Èë}ǵN,P¸ƒ–2=ˆ–,ùvÝ4pPÿ5Á;0žïZ"—-œ(ê–²èøA€[ÌãÅgˆé‡ÞÁæ:Íñî\çwÓ_É›è³Ò¼F}²Ú¸’… ÊÔ´Ü, Œ9N “ÀpëÞzßÉ&°“^ìH̥Îú¦ªÕû_Ö’Ò&mS½ïr ÃÀÉ“-MžÄÄa³uEr§Š2Ì“‚C‚¡|—m¹]£b¶º½p;?+t@±lAW|@”§ZöèF4Mñå4É0ñ¥Ð=¿{"~®r5 ÷2Øí",M˜!gr‹áå`UєΠȴÍtrà”RC’ú<¾ý:·)aa÷8<8é ”— ÜVvà×Ö°üQ^œÅ[^Žèp”{ >V¿•úF•Ü Ó'©? þ¥NÆTW’.hHoÀ!õ?ˆ½hp]Èó£ø"áü©jK°©±(4¤UôçL÷b-«ý“ ß|r-(ìÎRX¬ ªûý"€ä÷NŒ¼Ú¦7_r3UÒiTË’‚Ë‘ÉÁ #Óø=²ò·Û‡!®×ÈKÆ"—"Ý “½¨åbÍ_ ð£)®º}LgØŒKKÂà"ÜT>qëbZ‘½XOU±v´ÛáKRÒÁ¬¹yÞôI3àrÇÛ:Ãï+¨f$\ Žé2,asź³if¢2KÆmeÅÏh©†GÁLè þ©oys >Î8EçO‚LÁ´ëž¸šT±Iïć^=6íå×ÓÅSG]Þíƒ2Á²T Å £óÏžlËÿÄPy˜|-W? ­Íˆ ôI§:‰íøÆ`Ãf•ÌÏ#¥çáe—½›ó"N§·âÆ4fžcïÓÁöú4¥8Ž«+Jç3hÍ8[’!ß šõ~6MèjqŽÿezøŠ9*ú Éìq>&º|PÇ”ÍxЩñù[¢Ó°ÇËï§Ã‡ý‚aªéŠoß@¡¼Ê¸«x„äÕRAjÆÄ¾10ÿ¦1m÷q ˆÿ/JG†#ª@Å´ËÅ$f`¨–˜WÝ*8/ÃnNuS‰}³xç@¼Ù+é}Fl,bíîÄÎÅþ«Äa)eLî­vh¤5K‚µe\•²8§ª— âË&ÇvqÆ»HÃvaíÉ1}a¹‚ w)?ó;“µ¦°ij_‚Fx Uã!½#%-—I2m®â¼³´¦B`²nßð¼µ½¤ïó~6𫇤ßÊÄ ™›”&¾*› %‰'¹]•ÛwnƒRªéu^F…f Úšß÷yŠ(6D+™#ÛŠÂ~ö6((#%fðÜÇ&Pºµ¢.Lnåûcí@K)*—æF¬Û¨nÊÎ3}E–¾©'ˆ!®6/ôùÙ»x 5Ë­ KôXÐØ ‹³Çà Æ`'˜þÛ#ûÖ0﻽@q}¯ A¨ëoQA=¡ìJ av™ƒXi•§ ¾=ØYçÃÛig“&¼÷”…ñ EÔ锌’Šð‡ó×ï2&²èÒQ‹Ç&éêe¸á)=•õjø‘dqYµŽh—¤^­e Juš¼u›!ø£|WNª³”!_QÀ¬Wý#¦Ó]V¯H¥ä"*ôE¼SÄ•á,ó +Úzdä–:;›á"Ñý½ß‰ys’ ªé\/šHßûúÙ¢=³þÎvù*veY•†óR£,¢{Ôx´ä‡A•Éð•ö“…ñMRRc—A«¹PÖ‡Ö± º3!âÅG~3€Z" ÖÃoÏTr‹±_Ȥ¯òLI®0$hÍ+%uÙÚx~j[º²v;Ú¢ŠÇId²= Ci£RÀ.Óüç}Ö¤”Ö/u>“Ôc*2KoMF 0˜ø–žZïÖ â¡ØƒûwSH¹FBßæ= Ú:¹Êy|Jè\?-ÉJ̽Çg]é!´_­~¢Åù•S™øt˜ZùAöPô>¹æ'æ§æIMÿh7É-õ’ù y˜š 0NÊXYº®Hõ|D-WnƒE†dfæãŽÝ/øÁ_8¡©¿d V¤×OÅü¹$eŽÛ£ å¹!ŸÙLk/”™>+Ïî½jÍ6/ÆQÁ Å8KBwII“X£[#Š6ÍURdNQÆ×À׃{H¼üÑgÂx¥á©V18ŒË:¹^}Ö=ÄPÈÍÇ\À¨¤6q«»·“HÃ#Ê@YBÉÛ@Ç… âMà(g¾Hõ¶Úbõ„ì-Ë%¯5_ÐÚF÷œgïr¨`ÈàÇ£ÆþFL³™GñÅ#õCU&5ŸÚ7 ^²$sԔ0Ô#ÒCM÷|±µÓê¥ËÖð¥ŒÃn2JÉÏÞ}š³Bj ŸSý=tôJŠ’‡óIMŸ–@¤õ#*:à)±Ÿ¶Ï/ÊJkaÌõ·ãÈŒcÿVÒ,z¢©¾AZŠ˜š-FuìÊè­Eo *}„BW–bvŠ×!ÄK9í%#‡ï”ž_pBlTõMÜ0@°Â vçгÑ31ZöÄ ÀÔ^þ­\qáiÙþMÝQ,û¸.†<ûD¢OKN ­Gì0cçP‰ÐCjµZ›PT ÿÀ?çkëûð¶rŒ¾oñÑ5 ]h ‚oTÊ䉢#PúirgõÙ û÷ù)~Hûðè!ØkosX¡{.è4ÏÕ›`¦,êw¯È‘>oõʰ¡&r„0œE½Wßx껟âÍØhr›UÈ ÒÔiHð u"UÇÌ´EÛ€×ÈÑ0Ó%HGµuø|mv«xTB•w Ee†MC–<¹f'â­)¦Pú¥©oÚ}åΘ]KTQ~ä)§ÐI£ CäÈþIR·ZøÎá0ö<þŠ‚ÕÐȃUUÄþÅëTÛ B¸5õ q)R#|²­ŒÏèïÆ½€‡Síqµ:N¶Žå$¢/lÚÛ÷”QxðÖÁ0_q"£!C†gçñßU$úÔ}$ÇÀŠoñd9‘BþÕöÜIHZ[M {$쉲!Rü²ÓÎtÚôø®–ûc31~}ï7w “Ú/½!“§eèF"}ܽŸ0(kHA1¤˜ØX·e?xìé{Ö[M¡žcR½HŽÍ­È‹Ñ<Ç‹þwfªã?2¾Å±¶Ut6?|Ž1•UÑ}âÞÞB¿‡mIˆ$0ƒ,áÍœ×Ôg„,åY%$SÈ!oñMK,æñ(Ö k*Ñdã¦5…%U®‚Úx7RIé/^]4ÈÄ̵ý£ðŠyáÚ<ùØÄ/ØÇxü4ô¾f³ ‘W´šÐzüVÏ"yxo»Î±ëè4•Þ:Ĩíçµ(é¦pÀ'àaáŠåA›W¥€Ç÷,ç¢ÅÃïxçn¦"›*¼:æ#h²³ñç}ámsšGõ„fâ_-f ÁÊ3¤Îub4ˆ·ïω 7­,š¬‡Ì–±|C¼¥H½ÝU q &¯ï¬z¯º‹Q6³æBUЇ kÛyk¯mˆÐz̈ÿõ4¢²šäWü÷ç]dì{QqdÀ®÷¯„‡+Þ†Ò}¡@ZgÎ)?«jk¹9yÐ#øw Y—7‘ýøø'ë=PÎü˜`êtì>'Œšó…:µ¶!ʮؔoDXl©k£Ûä.Ø#soGÓK ró4\ÊûIémnŸ\{ü¶C³Wy:ñÅI¾á¿W÷Û e3ðOñYws Qç ùàÅŸ[A*žV¡9HãA÷ÍÌ¡¥çc «qõ–ù P¸À‘÷hŒ k„Aó±m"?£Ó–ú9™ç¸êz† r©+Ü´=c°hûè”­ƒ¸Ï5äyNǹn]pÒ몲ÿM>ĸS¿â¢×Ç—#$‘‡žw»m³)˜omv‡k¼>Àž¥)©nÌÌý¼(n 4Œ¤ÛOù{ZÇDÐãYÜ#g¹ŽÛ ß;fÜRQ€XVNž²ÇþéžE.P#àŸ%\9²±_§ã m¥a¼JIãÀoD)a;&ˆÒšå?O Š¸ èYf¹?Ø.³s•ÿR‡t¡›LJ÷É?kDç?:õ :È¢Tæ"~䡯w³T!Æ>IiCXUM–¾Ûä=<Ä&@ÂþÚŠz꩞5Š˜bùª„œ\¼¯R)”:ô¬òSÞ P ‡gœk2Ϫ—a¸à¸¦úd!jyg Z“p”°BÝ¢®ü‚ÑJ6Cþ<®½;‹ûRtׇ%†ˆmGy«eŒ’‚ÂÂU·³­oú~Ú­òßI‡b$-ߤFƒ+íwƒ 휸Þ;Ušr±?béИÁ KÑ„]6¸ž„ иnèïIdxÍePP´/½™ÕÆÕÝ Õ È§eî_ª“:‹U¨0£wêWc:° LojÌ껎¬‰‰¦q#ÑYuý–°—ïQbz(ÏŠûÒ™öÐ%ÐÚd`œí°4fb‰ÕÒ0:Ǧ[]ÞÁ¥çœ7>÷¨)xàõSå<Õšðèožµ®³ÿ¤ù–œ[úÉž º 8\h÷‚lH,0áL^(|Ý.¤åi­‘½||éèk*n}Œ‘èäò™@P×è>íèñ ])HNÎOÄ⦠ó›ßènùµÍ|?5#æõ…ºR¦i¶ª–Vx?[b¬*ÐH~j²†Z¸´h …l´’Ue¶áaär¸Ö¤j\W=Ì[•LÒˆ!-2x‹ëb(Ù†ãñº3»_ƒJÉù†Ãv¹VÌ*Õs7 Øõyj¢Èð:Û»^u­A=æy~ÞíÚ´áâN¡-¬Ùjbðyb º$ZÖAoKDU1Á Þû“qC¡ŽïÁLWÛzdë.Ãî¾Îr/Ìàÿ3X Ù{ëm÷!¯ô%§ ¶ë;S?Ðhÿ°68<Áñï_é QXǃdaSolf¦ï§Ç½è%U%Ò¤$9pDiÄ? øfõrâl‚.&ñD–€W¯¢’î@c¯ÑÏÞcœñ€¿BbB Á€º8áUkÝiŒÉ²¢Oún|`8+êDŸeŠHfˆm-†h‘ÂX¬Åõu§ò{´“ztg$äsªw ÖÙÏ­QVKÕªõúÙ?xuꋤ½ÙM=pìK\v³ú­o8M-ÍLmZ‰2.g“ñïÙ¼˜§^ <˜ë"uo dÞi-ïgñ&ÁÝIèAÝÏ}A[®Ú´`‚7ûåg-0+î°ÇFÅs@ˆø³É+¢§%PsX´ýÚ›(ÍÓr>ðß ]Bêo'²Ÿ‰~¥©êÿ¬ªß¦ÜdnH«ˆð!@ wgB¶'? I¡x«‡ˆÎ«ÌéUó¯Øº5áÊY‘ó·ím9††—~cos‘~M~ðA£Y&O\¯z(l\]bn€Æü7¹vr±ñ?F©mê?\\‚{Y=S´Ú™çh«&û´bFTRmÉ7@!dš lÛǾO¸1àÞ»z^3#Šë4Dï2…»éAÎwa/y¨ñÁ Ýðû‚ñSçZi{•½|óÝjõBBž8Æ£ÍÖñ%]™–¼0£Ì4é´¯ûùáF x<õÂŽTYIÏq>À®ÚÃ×I3q›Uæã`”³/š²i]Ì+¿0›C¯|zÜÐ?÷ÇÌ”0KÖÀ'ËÔ~{¥6‚Ù5wpçF¯$ŒÀ-q?ÌL_þ‰Ãõý‰c(çA{]¡Ššè`e •e‘䳨>èÐì9º³Ãþ̃p5.Y¡L€É~ñbVò3¶Ù˽6ÙÐTìòÅzF£xÀŠécJ%)U—wÙ~H½aÍi™•ަI1¾wT±Ø4gNqJØ|k˰-âJ*—öº9VØGSߤÙm ð Z©(´Ø°žjöÉï§QƒêÚº‹%™‹Ü[ëX“é±¶ÎËN8M‰p0@[†Ë¢¢T+’ªçê…F©#Ô3¾ÚÑhòÇ=è£jQnÜŠ«Ô¾{$!žd¦P^þÓ¹xêÃp“¤2‘õ›‚Ì&¶3Aâ›bJjÞâo2¸³{ÀæU-ÙÕìÝ|ë´ ‹1ô;|¾E𠤝}áy†$¼¼¶.Ú3Q†æ"2cÙ›QÚ¿Á·'À™õÂõ4ñ°áíO¶ùüúw»Cw‡ñRA»ßi—ûϰE·+ŸÆ#º°ÞØ®ãnë+™>¶¤a6„^èåUdYþTˆÆ ˆ’&æ‘°ÈŠÓªÃíÍGoÕqOŒu$Dv B†G‹À)š½H¬Oþ(ÿX‹Ñ(eƒ¨ HYF{é5‰$‡ƒêX”0Ì'ø×ˆÀž¦»ÃúЈÈÖEj2„üX-íëAù>IQl†9tÕÒ ÷ÄpÚph ÊØÛÄćâFÎÈdžMê®s Ðì B9Œ^¯?œóL`=KSÇLŠÂªD® Î=»ñ¥IµL,×m×ößVoH†ÐŽ{+ÑÝ£!…s]–­.ö°„zV ´AÕðÞIÛÞö!Bê. ãjÊ5¦þª¦Ç‡ã^f'‰yNïä–æîtÒ%t‰Ð#4Ù0–kuÜ p9ñ BÍ‹l€ˆw@·ã@YD7ìC[¿†Ê:Š|Õíâ Ê‘7Aœ82;‹Žñ¢Ñ¯5m"ÃÍ›÷Ðàí™gçBÓPÌ,$ V%­–vjÅ qyÞægЈp˜k¤žÒTêMV8¼B44Í"8¶>[öóúMî.ÒÊW¦€&×aO ž €š4˜p_„“{]ÕE ïEöwýv'¬Cþqy‰$y*â¼uâ,f2o~ˆ¸ˆ· s˺ÜÏ–§ ‘µ÷h½ûÉæ‚·«¸0¤þ¹5Á‰‚ S#ê<;F4£#—ï¤ù á¹1®‘>Ï@?èòü¿­`Ào ’ãÓà+Ü<²ŠE$Šh˜"rJì[ŒŒQ1#5ð4á9WM1àœÇõr9eÓ]>V¢ÇnM{¬>†©n±å!—¨}_Ã>í&iôÃ}*N½¢(€GµÎ¤öÔŽ£Ûã^6ui0¡éFÇŒb2‹Óß¶i@™\“!ÔÖ1ç;]=–¤ð·ì—¬ƒ=Î4³x¿mp”zMß¶\,&<à/“£ñêÙê—µ ‘×ûhõXOò’ð¹ªÆ½w‹ö4R£n=I8U|ÁçUÁ@‹xÿ±$]búgÀð];†xˆEšÅ-€Â¤ƒü ¡^¾ 7<ª`¹–(,HÝ®›’o&ØcyøÓ‘F¾¶1ÿÿ• ŠƒJ'åê°mäMºÞÞN4—‚nÊœЛéãóuíuNÇ=œ©oÜ÷!9]†Ô±õ¬XçÏZÒg Õq={/ –XdÄ s⟖H´Kví§ø8ØÏ};/2‚ƒ}ø9xÚH (&MZT–àD~nçv§dù‡ÔáŠ+ÆÝ’íÔ‡„^t+ë9TPûD èóÕ(ò‘ñÆÕ! bM v9 ä'Ã&+ X“eLýÐÏ\’¤í¿Ãé4΄mÏ5ºß”™é#,G¼,Ò¼¯„?x“~XᵆÚ-_Ù--þ :\Ðæ•#»½K¶o<.ý'&æ.Qs…Èä§<¢tý …ûæhÙ®Yß{œ"½)ÜÛôõàt´‡ûù÷ bÚªÛŽÊ”¶ç#;™Z0<>.+{ÐHJ×u:# †1g2ãÂOV!›—ü€Uõ§âÛ|6±žs Ò™?‘hþñX##˜8³sãªÍÃCK4ŸÈ Ü¿ÿwGJA†FÿÍNH4;,ûÒÈU‘´B\Ú툇l9ÞØœ”ÏR†dÁË4 !{°*ɸ8sNªÈ;HM©r¯2ÎÏ8’ÐC~¿<´ë¹ñ÷Ë߀ëÑT"¯#OŸhGƒ²ãµ[Üž%®$#xp¬¸©ê`,N‚iI+5w"oe®ê®Òkî•/uî“ôÛN°øö§7·i+ 4Ú_4‹ä¨}”¿Ÿëœ”'/=µÝúM‹Ê‰ç‘Ò~yÌŠqÄ;ÔN³ÅZ”*’м—¦W"¡Óm•T4Cx;>ª 7üÙ5•ºØø#mÎǰ*S%?‹ßÕtzëmù¡éË{šÐ”[X¯xüöv÷Ê{4½ŠiŒm{ðxú÷=½þ!gâ„ú€e9õ'– Ð.R0ÇxZÀŠ\D@à¸{CŽ½ê•…A‹qø}Á²Œh–„}#÷j[Q“g»°ŸÓü Õ;ÈvòÀë[sSêÕ{w­Œhô£× [ÔÁ˜i Ïñ €‘ÏUÎ5#8ÿ¶Î+=¶^ªû%Âéz&áw;Îy “õj^`{&±_cìòR7&Ão§¬Ú!f0K½»æ÷]é ì¥ÞÿE<œ‡í=mõÃp¸‘ãì¿@±,7ò×x˜IiÓPÔ¹]ëŒB’Ùã—U42újʃŽìÈa9xƒ+¯ºHšž¿š¹×Â)p¾{G?!jopÕ‰\‘¡(/ŠÚšˆÙL`8‹ÈÚµxŸÒfûŽ£‘K^!°$Kðçzë0Ýİp2},Ž .%ßh›t3Ÿ©ìDé»…B¸jÃÙœU¤ä·7UÏK­GÚ|iäØvo'‘î(¾¨.Û ¤;(jÏ úBû8Ф£­¶¬Í•A) Õ»ðˆºM$8Hï]{: ò—4Éöýœâ4'¥ ïðB w]˜rcDå<° ÊðY‚+|°FJ›E5 ?„üφPßuGqWkâ$T0§}XGYoŠ ]“åÖo‘IšµGXtMÍ?èÞ>ÿ~”‹WçAŠóH¯¿MD*õ®}R¦bX‹3q}SÉ] ,©}‹w~hª¯ JžJ*¹Ô>ÖALÍçÑ9ÈÜ?[Å .Jé%{ƒ.ùseêà\c`p hÛ_oAér,ÅÞ>!-º`ŽÕX|•:M¤šcWM­~åí’w±~i”Ö0Îë¤F<üóUƽy°¨#Õµz¸[Qx‚YëÁ+”E¤ïJ! Ћ8ǵTÛmÃ^ŸãŽowÁÞ—fL8ñÀs/»&pIKYé¸]ãyœ0¤ …ô=K^4kÞãŒ0BEbÉÛ•æŠ(üö²â˜ß”1µÕS~'ÛÉ®¦ÓÐßX¹Ú"Z36™ð**kP‰—õÇÉ‚#‘õ"£¾6H¤ŠIu|SdÎG×ÖDˆ/ ‰j”FÕ~ƒ˜ÉŒLåŸÆoÉ¡ëfŠw=íÚU]Ï+•þo”÷UúÏ8‹—ªC-ôqÏon¸r.|ìÎë·³±9ú®Ù‘ã’„;µªÛDE^Å,0w3K9sxÇeÒ ¥>=¼Be´GênK¬zW“_åIŸ7¼PäÙíèzF£V±Ü‰$ª&J‰V1EǸµÖŸ?¹i.vöCà¡ß¬½Y ›ƒüH#þ@…Ïyz;ÊU;ºnî^Pžb¥?\Ü:ÑI1ü-˜ïFòÉ]¤ÿ;ôažD~B>¤i÷a–¥NQMùoVõrë•”Õ{|ï€6ˆŽ¿£tÉ14o­ëу•¶H~¢ þØÿÒ$9%{:ÆJ¦ùÚB… lº ¡[‡cñ÷µ‡Nò HTVcXDðâã @$wZÚ«>mÁ/ÿ¾Ò»i§–hÆ–U9V &ÔÛBÔu…'X©f×Çg˜×’é(ìî[ûœ(VA;?ÁÀðgK.÷àVj‚¦uD¸¹sE»ÌÅìê­à«Ì?HñÊtæmN§n°²Ý¤VX8ýs¨iÒ7—FÉ’›ÅëMU{ÿ! ëçÕ#L¯b¨i¸A4“®½J†ÃÁ1¯q…™=Kn­Ÿ€²­ÅÜàÅ/F±ML›1-’š?؉ì(K~˜,cY¦^i‰`޷ôtRj-º ´&Ë6^û¦Öa6Ä´CƒàÇt=å8ŸŠçºv‹1<õV¼p¡Q1qÂ[Àµ‹kãJÕŠ¿V—Ž%sÔÍ4Àtë½II““}K0ðž^¦¹X’`e¿ópªÖƒÛÝ(œ¨ ,n‚ëeD?qëpj`œ;Ñn«¶-Ý.´ï*f“GßîÊŠî“Ïõ,b¯?ï˜Eñ”`´éemƒ1rÓÑ©N1Áb¼†nÊ•ËNqçMÒ§&V@«ªÚí`Éɬòœc"öbÐÀ2íkœ¸ü˜¢5#:ß9ââj&¸@¯CÁ@‘÷÷!꤮ P?bàz‹s.{qäFçîé„,ý1™3‹¬5©:9“!q1‹½±`Öæ÷Èù ªÝÚD‚×p^Àµ@‚ÈD1SÜFpµ¸°IR$ÒQí.!p‰‚r£÷©}\4–Irè8’NiÐå$ô™f`u)‘nŠøÅÉíáóÝ_ïÒGî½®š¦­<~?þ@7ís%Mç"HYx¶±èå á×[GUC„¨¨¼%p»Óro¢S?ÔÒÇ|”¹Î°»ŸœÝž.XçîúI4 ™!–ø¦DšØó)LAXÞùÑw4*-xtýCp"ç„]=ï¨kùˆÑœ& …~fDèÆëR å·¬ƒÙÊÏÇÝó•?=Y𦳱cg Hå|àÅBXš’þŒÜt$õQ…-T0.eàazaõmè+‚³ 0™'ZKFO(¶Ô`£É éf½”Gµ7š5Áu ÷ªÚ&·×9eTn·÷õÙuÀ‘à•¸–*t…¶ƒK¦ÊAm² .ä\W<.0M®—Z]8EDÁI¡r#3@°¥úOD1WêH Ö•¶ÀÛ˜±©Õµu—±ÙžZݯ¾Ø>ÆÉ°–&"¢Q—Ï`T^´JÄîÑAo Ýš´a÷Ô_Àx†õg 8Oý\¨ÿú3ÙŠ¯Ô¢â0?"§ÃòhÃ9Ÿ×U`)å»bÈFB,ˆ}xZ× RëeìlŸžæÍHC?4 ¬vç¡øÕN j·x5{¥£bW9Åšiˆ¯íæuEU¶°vZV¸*C®Wˆ hZ1-l‰ P±.nøvñÖ©U• = ¡yÚhÌU ¦e"3ò®%¡Üa\êr•)*¼ª¾ú (§-Ëq%ÄDI/¦–¼+žðßáHôv4^|=Ï…ã¢-qSïªr••]ü$îdd÷ar§¢ê} Vò°d³Ý|‘°OßÉÀ"fk‡áÈð•@ˆNà©gr“¾Ï ¯¯„%gNã#á–[ûëjßF7¬¿wI0½]Õ|I*½ñÒa3´‡ ¶>œ ¸4HypÇpµ4Ë9•‡¦WîÞÞÌGøÀS7oûñ£'šìbð8¢‡Áâ·Š½Ž{…ñA˜@€ŽÌ<ͦ ™R@ôõcW次(«… ¤{Üw‡ j"ÿžØÈw’ óî\Íh@Šç^U‚šŒ…M„6Âÿ™g—‘è/¥vš~]WºâiŠˆ$ <”é,(jA0¼ø™0ïþì©€wrÜíܲ£ÄîiÜ -ÓQ'ùq¥,µYœÎ¸ìǽ?Ì åz¡!Iü‚ë_]|äýEÏé“T6·ç/oâÇcB.ªú2 E}F༔ØèÄé°€H ÒJÜ6£ n΋©D™š}Ç z\¢·²éÔë.¹\Á¿k¾ˆnžtà¶È²ÂPÎI@&ןW žôþÈõCŸó”T¡Uõo3tïÇêöë‘NiAãÂÒLMq#]âB2 gÉŒäÅ„QŠ'¦ (Ç•<ç}Ç-·È.ªÃdbΘ\öw*¾B´3Áõ)gä"¬ÛV>ÝÄ€‘âpïb›¾¨6•eÚrTtN—4½ghŽªä±{j­fpxUÑkÖf»Þ™À♫$Påìø1aï€Î#nŸ¼»½ uȼ!fôx$¡R¢³ÐÐA*ïL×ò ù¢úŸt¸×U ¥9#lØ¿‚’’g‡§Ït¡‹ï’L¥dÙQ2ý+èhP~hq ç¾êººÃsÖ±7¸·PsÑ©ƒ‡¢@´†$³"ÕvL«ÏFšÒ¬öª¹D\wí"t¹ùbaœ·cÛìøŸsšCÍžßÕ*ü“¶ç?ä²Ð+ôµ‹ÚJbKËŽ¦ØÜµ™ûþŒG¹2Åj¨"§t…ô$~`Pz¾t1‡²{‚’s5ú þj°¬)1ÿù Hß)Êõ@¦˜(3!תMcÔÎ\šJŸŽ2„4°r*…®Üu¯Þöí¾üöo¢…~Ñ>``®78šL“b“ª2¡. ²¿h ‰»ÿ(u·–~©0)éÎTiÕbduÄ{³*ÒÌv?íòåU˜‰W³™Š0b¼C9äÐ]";3ÊɱÓIk¡ÏrðáÝ…ü±žÇ¦Kìa¿æ¸Ô¾‚BC]ÁCN‰nÝV%;8£÷’ص`ï7*^, ;{'ùCNãM]¸ 4{„!âÏ~l÷vã-f>|íêXQÝÔû#¶P¹H´-›=¯HÿøÝIÊTŸn¾ Ó§8>rÄ3»Lûn©†VqËö¢- ñÏÕ%T±²¬"þúåB g@M$2„†hB÷=\kXpdìÔÓŠõEòOwfZÙö£ŸŒØþò·Ú(´\öç'WÄÖâtžv…K„‚žÙªX‹ÇŸ@טPÄ;ŸPÿ³¶úíÉï˹qEæìöËdT3±ã/ ¸¾®tê¹u4Ÿ1"¥ÂØ¿,v‡ N˜ 'Ž<Æ Ÿ»üŠØ¸²¨Þý,Ü(ÿÿÖØF1gæÆ2»TlìG¼ÿtÛp„i¿Ÿ£UÙa ÜÑLa+Û׆^ yÝoç„ìïŠBÑÅ&=†D}«‡ ©Ä%â]?j³xüe8ŠŠæ«K½ªM-œªc›²pù¥T^À3d‹ñèlO/kc¶‰šwyGL¾xS©˜ªPIÛ Ѭ5X3s¬R|x[žü‡A¦Åø1py ›*希ÉvÚVÿ&Û ¢}½€þ²-ò²Ê­ŒŽ@­fá–zu´8¸QiöÀðÁ@SÆð½»“$!Œç…“ٛĿƒÌ ,ÑÎ4¢f• ¾.,±‘¿I+¿p·˜×õð5÷̱‰oÇâÆ' 9Õp÷`Ùo£øß)Ä kf=)iRÞb¿Š)©ƒ>yGÊ,,âZ_Ÿ®ï¨=µ$6ß.ËøãÒÏØ)êãÖŽé@Ïkùþó™Ï¨Ù‡|ËI;Ùgp¦Xá©bÕÄ\-aοC5ºû“rÀ¢Ëm$'scÝ'–ÙŒ ºH2ô‚‡FSØÛf  A‚ÐÎ0KÁh8•Ö_®°_¥)c Rög¡¼‘|_‚™„Gž°‚ZÊsN¬~¿3þà(’ôž_Í ÜS ø1Y8ñDoQÛSH×ÇM%QˆFçà(?¥ù¸ ½÷a?‚çÎÜ$&›¥X—Ë”­€àf”ÄjN­½µ8’ô9 ›$ ^å„: eq̺ÛÔ{6À¦²jgî˽ ÙH5ò˜KKŒÔõì’½Å|Ù¯xÔ£Æs;Y±¡3R-8ø£ÝŸB>nB›véÝÎ_]çƒq7£Æ¬1Ò@_ùY”õ¯”H?…/„¢C+Ôï«—JzŠj›4ƒ«/ömA• ´gA Žä/cÿ mP±iz¼$M‘Ô+‰\emT‹Ií· Í=Á§Tá>3­n‹ŸuŒ'ëœ)"Õù¯\&¨ô\‡£vá.àsÌTû7”`-·£?Âñ->ds¶9€tlÀ¶›îeÆ„¡¦{l_L‹U¸<?ªÛ¬+=˜rªð¬·ë-¯ç7¶ªB’ɸ¼Ë‹@?F¨íØm@«ìŸw¹&ÝjHÑ|§ iiEMã67ÍùÜ+g<š„j1qª¯Xm¤8Hš µôÍP›üðt"2VOâîâgòÌ@ã1€‹1çæÂKU$Oõ³œ—Köõ«Ìùi‡€eÈ‹Rf´1™¤fÀžŠL'/rû,`ÚR /‡YæV¾hlÁ $ðß’G—:ˆ¸—¯ -,vn³N½¾†Ó ûžÐ¥‹^°o…QÉn¨Q<ôc*áÕÄ7,VÒA2E½ß*ó“(؆x8åßV²•!²¾é4±½•rþ7ÒW ,΢JaUâìz×[qv妿ޤá÷µî•W¤q–°(M‘<›rvàI ÁR}ÙÜ(ñ ’4ùÓZ0uÖîÁQ¿¸WFм­JtâVØh5c†÷¾nGÈ FtÝYœ˜*wp9ÂŽQÿ>6´"Å7?ßDiEøƒl ðGò⥼h{yl¶Ì_?wˆJÝš7¹B¯,„ h'r·$ÿi•D–% T\"lh Y[#>ç¤ýÚåÒx%³OÆ—åḼùJIE ff©aH¥å,Ó¹ ó©"Ðÿ1’¿ªç³³a|ó@ãj%aÀµ2ÚŠ…a²DgÊàºmˆ@Ulã¼Ø#šÏuŽUèN{0þ¶~YYþÐÇ:¬§·„íA²â†:øèoƒñc.ášUyÜkˆ§4&ʗ˜v ¥ã°xÌÓã-:ïȬÔ×é“ [kKWeD’­Æm`¸ûÁ_XŸàÁºº$Ó yU–ˆj)µÏ2ãò`26MŽ ž­ÊÎNb?!8ÔªÔžg²WA‡xÁ-ÛXÀ-Œ†Ÿi.Þ9!«¥ïÌç‡K0œ3ïyÏoéø—éΞ«Ó]¯¬H ¥-b@´un”c¸Ä#ÖÆÐ^œŠ… "N¶+ÖÈ€–¶þ¸åÂIaQ¾€1¸ìùÏ9;<ŒÃê¾ÏA¿Žïpí©AâÜú9  ¾âo•Xo*©©5ùõ¿‘Œõ.ÏI®`"¿iö$M—×Uƶ¬üð`ÏÆ¼-SÜ0ÆÕ­T[©ø~¾[ºdB8)¶ar)·ŽËž9"Ó™¬FŽSþè–b„,¸`ló­¾6sLÂâ^/‘?p¶XªC¾_E—ˆ×ŒÖ\?šùËkÎ!Ò¾\Ö„ËÐk‹FŽ¿™°XªÊÔ^ùoÓhÀ¥l|7ÜjÓFlBVÃþÔwE€^…<§¬æµŸv:)ë6jød§garIȳ~ùšç‹Å0\˜,êìÄÇ}>´æƒPb[ûb›óæ¶‹®Û[Ò‡´G3×L>ãØ„¡@Ôd,ÿßµ‘ÉcôLõéXc4xÿ Ý‹•!Rx0Ìó)öѶס¦?œ º™"Àòxî‡õ¾–x1˜ªÑÜ®TjÔŸÖ÷™|³Tú”^ñ’ü,{Byþ!*=g—™íÝ1\ç½\OCTÉGü³6_(> L×Hšn7pè¤e/¸Oá[ï‡Æ•Ÿ?áä0z5)ÎHk.ûðIû_†WKê£ÛÊKßgNúåÌÁŽÙ÷4S•Pa¸˜n N_#ÂÒ™9ÊÛëj@CâýEpÔÐü ºwMó‚Šmµˆ-À‰+‘ı_3nž,Ÿë†c‘ê I¸±w‰[9TXÛÚFªÜ!3¼„ƒ ?•×°™f³Õr´„ïéÒcÄ4 ]“´ j0‡ëjœÚlC©º¶ûONEU·ß\e¼‡¹ls.·ñä¨KiÓtµéRA¢¾ŽU -#ÇÀd{tl“’½ôø3'²\î-Bë%‚! 1Ã2Dƒ"s.v»WŸWméO­ å ÇÂWòä¡{w³—`{$E„XEH¤V°Ýc~e½ÌX+CÍXeÇ%¿JÇjmÓkòšŒNMû]š†Ÿ…Ÿ]u-n&ÌE'ï3V‡Ú 4o7^Õn¨ƒA“›…fÈæŽÏ­ oñ† º|oýû(Ü Nÿ~X¦y:û!†x;…" ¬'á<ØÛØ’ÍÏÆXèÉCˆ2>–'yžÎ³F[AWyo®ôîÿpMæe¸*^#3€b‡ŠMQÞ¤Feó1/*+±óËñ ˆU°Ç¨uç:†r¸ŽíÁ¦‹êôÚWA8ü©–¬~bV~Wµ¡»2úð¦èå«,ëˆÿ€G©(wªlB•ÉôG½bN߬`C\Û(o'Ç+¶\çC«ÄHwŒE vïUF§¿«ÊáH)°~YϦ¯Ô ÓæÆBF@F–Þ ó/“‡yxBv„䯘Ûi1|桜]éÛkE¨p×èÍï55æ¾-Rº—¡wi”ðNÝ$m³\\“‘Ø*Àý þe1 gœCI9T|a®E;¶pmbpÉðÈ_¶ðÁeÊ£BïìÜöu" :Ú&ݽí h9¢µHÛMiI­P„F茞„Õ…lå ÇÉD‘Ä·C»ˆµf¼¨~’NÑ^¹ZBS嬛%°p÷Îïo…½Ó‹ÚW$"AËøháâó¾ÉÅ›×ï|ìþ—‹^Ì[tJ*—ÞT¤‘öè¤n—æå À ²2ˆzþ¤ü}]GOç=7ãšÛ…lÇäQGðì ¿S ô rƳô6’ÎJÂB=ÈïO»}XêVd× ²e¶•úܽÜ=C¾ÅƶzOW6xÁÌ6”\*Ý—:#Ò¤ª²Óu€3Ó‹Q Ì[Ú~ú1X ˜›†ð5£„RǦ„ýÉ&eåñsn(¶5'Ÿ*H*yª)ÍiÄÓE²z´Ér½• )*Å[£×SÔ‡xÿÉÔæùî2 ‡ZF”ýaáäBÃkÏðµ´Å;Û¦· 6%_a¡ñ»[CVaøkBÕn=šjâ’ Eã_»5!¹¾ŽDöñèý­zUéȱOö;¿;Ãmü׸T¥†ª‡»ÅÓÒn]‹Æ¼­ïäá¡r ò’C™ójWHðú¯ÆŠ|–õEò¼Üßìy/Sd9`ác\µ´ÓAIv¸½ Û“¦Š`cȹT5#Ü¢g™ßGÿ=«`|ÂrЋÅ×»<¼8$b2Í©ßÐÙâ·ð@â·è¡$Ú“º [ñ én#žz¸K<ÌKÍþ È tLþ±»D€pV±¼}?ê”ü$^ïNœpФa—÷x¥jÛĆšV)Oqo±+ fjXƒ¡º{z«¼ør¤sÍíóÂ:TãcS,I.­o‡Ë7ð%¹M|­ˆM¶uÜü•AémSw}øhý"òÒÞ}ÐÜa£lº£¨8§J¹ž б äØ÷ ¯ÊˆýÈý÷ò˲qR3Uk¢ e ¼ÞqOôfÇWI5Bë•MôaÕÞkE|äo¾XŽ9dú7\KzŸýk^•Ãå³ãÞœ¦õÙpÙuk+l U—¨SÒ&…Òmä—dð£Óvdל᪥á\à¿EäS½ŒÈ•ÝÙò½Ü$óL³ÒÆÂ*ö T¨dW1MžíØwþ–&‹ï2tŸ„èn¥µ/8X m„^jUYKÀþ¥köžq~T«c6E,“äi‡œ€IɘKj4y@PCz°pYË®¢FæüµHdi¨ ÷e%Ï¡x4PPõ—,'¸—I.¥ FH!üâa©Ðb±1gÕ m£D×·ÿAf'ìçªîRÿ‹QfQÓÔ3ö4î]}v‰Ï™mBfpýÝ\»Ò0ž,ç6“832´î ¢C5òÙP7@¬—BÜŒðB©¬ct’X>žÈQµnGš âËŸ¼}-âÎ ïH÷ÙÝ"bn¦G·/¢¾¹õ韪ú¨†µ&9êÚÇ-n! NÅ&cÞT›ÂÚé¡êq$ÞØ8±V’¼'S4mà·ŽW¹—çËgÛHj˜qš¤QúSÙî‰ %ñ3 @D/ÑœÐ{•Q)uÑ‹6 rMÑà+!U¢•Zïzi‚œf#'(*ÂܬŒJFG5¨’§Ý~sðHûëh­\—ZxAV`!ŠÁi’›HAräFD±‚›FO`èt*.9v&=Ç» ÿF4®îM»rãΡ(´×ñÏÈÓgÌÀ¥`¢`=…7³¯|ísÓ ü@<ž ñ«,¡{°Êý@¯ÈkŸ !žÒ zÃü¿þêº<©AÛß%öŸ· 0M†ãÛÛéd“ÕzxÄUUDXÓó 9?¶Q‹(SÈÉÃ5åOžÍÏâϘ·7ó¬+÷o#Ý Ÿ¾#ÇÄ)Ž­à'UÐs}@‡sy³^cƒóì<¶ÓESÛ¾ˆOÈr…¢Vzž-_%7fçÃÒÿ©ÎP^Ö}SmýÜbŒßíHsKõ›;öÛ}M>¼´\}×Êþ¤ŒHDªX‹ÂÒ¾""bAI\¢YÑÛž`5ÌIÞ‚AäTÇWµseûÐ26©‡ãl ô1ûåÎïq¾³fm¥M1 ¤<®¢¥;ãŸËÄÆK–‚ÿÀ˜ÿlzÙ1ˆ@(lðÎ0õ+Œ ´Š $¶ =·×ʬ"ù4™<ó…uˆÞÛ’N¤u‹•‹Ðk(Õõ¹g݆Cv½¢Ü } áìM—ÖÙ6F-Mž~´ƒ^œ]wغJþ5öA=uPïhëþŸå±vÿ±øCtÏ„hXá)”Ô¡,4£dŸ|pKH,š<)FyÞnÆé¤/ÿRÏ:?"'öLi `â÷¦ßò1­{XH¦x¦}l Å;(œiì*cpà®Ëx}˜ú°ã¯kȪÂSó®ÑåÄR3{/̬î…“7ýÖ¸)–U·ð‚õ$âT"[³FÄ„í=f‰¡J „ƒÃ!kÜØ /¾Q².4o¶7H:¥¹Ž€Ú¥èF\NT¨Èò{¥üG± |-é7&5<I J&)Øf6È cèpž_M–_+¬IÊU¼eœ°®ûà€2óJ<µí4yt³¢TÈÓ¡yVe‡Þ p´éulv‚Çžkœ¬Hí·~¡hSÑ©)è/ÚÎfsAUeékŠœ_UÞ $[R†ðåOR.Ê –À1ž£áçZQ „!Ÿ~U‰ «iöú¡ë;>Ì\óñÒÄ2´Yªy¼|\ÀYÊ b÷ºcþ‘nFžh§)+¿òbSuÄ.ƒÊ›ÄwÐ!ÂŽ6D4š$"!„ÀVDCqµ-S_â¶¥Zal̯0Êýiàýñ…ž€¯¶r52®¶ù“ÅÞ8²ÙVõEJ°:°U¨B5©Œg×xüsíî½—q€_UîJ¥óûüÂäÈœÁéQ=•§cF(„ýï‹üw}Y•žóDExˆw}< íÏA »Hí®ä4V˜דòá$€ål—Å|ÈźCh×%î¹lTt¿X;ünVD^ t`Þ–«_Xß"¤ÕhXæCéïÿð ?KR¥Ÿfˆ=Q†â×òa‡ËôÚ¢°0b#Ýdp ëÄÌy´;aI‰=:oçˆOÑÄ?Ê=˵’Ð×µffNYоŠ g?¤™”BÞuµXNÙazÅPnÚfi¬µ4Âr³D‡oÛ#YJJ¤§tÙ¬îY1M¡ÏYmä9 ¢Š0M˜ÆI ½`YL®^½ § –÷í¥Àvé F€ zºÆŒCÌOÌ·ËíÖ#žòüp?w|mz­_þ¯|"+˜aÏ 3ã~``’àmä˜gÕAÒ„Hò:‹ ]"3°Å¨&[ÍLQä„Öù!í°I×!¬Ü(ל K)ÄN›À›âƒ¾dPe¥gr0äEKoôF°Ä@^›Ö·hÄã ™B¥s¥Ê!m šmï~˜þŽ˜qO.L: ‹%³^|g¸ÕvrBa§HÉ—Õrøˆ Yúÿ®Éqß}~eXþ£«ŒzäÅ’—xcœR?{Ê[ÄîæÑ3u«–ÒM²تò–2"®g¢™¿˜ÈɅ˲wžf#¼&Åþö8ž–޳kUl Ká¹×peÌŸT£^’>¯õ÷ƒJbÚæT¨/NW(T|Ûn") ¥ v6¾faàÄSI)˜÷®® ‹Â¢¨ó¾Àã>àâÏy?q´igº §ÊâÚ©Å÷õn½vzâÖc/Jj¡2V8üµ°iª…_¼bâbLøÊ;bÈ2VUP¢r7„Ú3œ¿õ]}r›KØ2ò~îÙúå~r¥™¯°—@î:ÀíëöÐÝè·?¯q%Ž2§Å!äC¸>)f»Š²&ÔF'¿'€I¨~o—…ù¨î—ÄLãk©ƒ&Š Nf‹ÄO¬vm‘¡Kž¸=憠Rüê L@†@“ó@ziÚM »›Ñ"kåÜ:À/dÒøðr]"µ§F±B§ÖŽÆ¿|û}†Ó‰G§.B{ç•9tÜVíêñ>åâ牽%€OFsµxGZbˆ\ùücAÏfs^ôª9ñ¢8 ý3™!ŒÛ-ÊŒµpÊ–~åGzâO`Y=Š®ŒDÎíô¢ÕÖ–ÆDo%«Ûì4P‹Äí{TRØåIúéOXmBBSan²•¤­ð¸“N1mA ­%ÇÿuuÏvÁP£¯g‚FÍK™R™œ†ìŽœCãað)¨x«ß¹¬X¶XÉM7úuÎdš Gû§“qèߤL‚=‡r‚'ÆJÕ£bbmͲ÷‡8»Ò^Õ9$QØám°iŒ‘ ‚ ý†øtùô^5sИ©}sʹ5r³ÇRŽæÿl`e¾ˆ¤~B ×–½—ny¡T³n“yÝx>°b²úõOУT‰[6©ð1OÔT'ÿ½º½ÖÝKvúí‚‹vôi›÷ÊÉ;ɤKI!TV¤ÿ0´·TüË/5ÛîØsáyU8„–Xð…(u¦|Ééœ xìb×ãA›D}dfüýÀØ¢+R‡=äí‡ËØ,ß Ð7€Ì±×œXÎß)¡)}ñsb†êÈçLŸ{ÂzÛ…o'ƒ"ÇèôÜ0Ï4Iž›jèINIŽQ—Âõø}ÌЄ–žè%ÿ¾àgç0ªÐ‚¯ÀILÁ~‹Gì8~FÞ¸kºš&§+.µäÝRûâž_qö°ñVÆée¤2*'ÛbbA‘%<;;/ÌßG¦[; Lf/)GKU¾<Ã^æOé–Àó4¾ »ÿ/5›2‚WaÐâÞ}ª¦ˆ€eüŠh£Éúz{…Ú´·^¶æ°u §ì{aEj‚uäܲ¡›—|''nä æBøuEÑÊPÝ•†ðL‚wòe,}„¯¯eZ©›¼¾ßþÏ6­jzjroˆùbº’”ÛV Œf ÉÌ­–Ë'âç~Fœ>&$!› yª…­¾¶?ZkÔïyºÎ “V½å[ &”uÅk¿½YýNRNçÜæ®”,ä‚|XÖVÊú­Ãå͸6iBm“?eÖÞ{±ªÝ¼a$Ù¤Óã¦ÇÝEM?¬µ$õË\÷医å!e‚X¬…ë0îpA˜×g¢ ‹5V>‚†zNglNeïtàÞR—òÆÎ†®lCïçBW–dä …ÿIFÆæÄñG[±þ`L â§¢qÛ [DøƒªÙü›ï€lγkX›¿—¼eèÕÍÐkZ›LÎÒ Ao¿>ÔÅûÉ2³ú½¥“ðhúí»´Ž]´s°—÷„œî2ýÔ§Ì^²*® çSÛŠÊÿ²²¤û¯Â¬DK´3”æ Ð@·‹(s ¸´k5{¾Äëeq‡×äÕ\¶9ºXQû?aÿ»iöG'Å¡2Þ[Ó§Êe½œ~›(õo˃–Éϳíâ_ zX{Ë8`§”¶Ë¢FïÅ>¿4$aüŽ·þ*“FÓýáÄa»í)Ý~ F¬±NƒJ.¾ùÜÈÁzgÿ9›PZŽm–j=5qùîUX*h€Äír }8­ÁšZSxþüTÊQм5ünXÚ͘rDÛú# 2Áí/¨°uÅV®²‰Ì,á–ñµ0£¨§dHû,6¿~šLŠ›edפM½.Ö´0ÆhÕ¿š¯è•nˆ8{À²K˜01ÜAA·B³¼f,ŽõÞ¨¤07¶J]%ô¼hëyµ&1‘v)Kï7ÜgçhócàíÌ-7%{ho„¬ÿÛ½TÄUƒ¦ 8(SJ¨3¡äÚø ZF`»œ"ò«Mrˆ˜¶0.˜VÜÝ¥V9O{x¦„s:ô­«hÒ'ÍƪèjwýÁÔàþÑ¥_ëJ7”=Ń aÒ:Ã50ÚÓ…ooèDþÿ"sì”STëàm…äáá=8H0¬Q‰9(þ/k…1¡V~γ‚B·ü¶9ç:¡ZT|¡“#l dIì~†Ëâ–$«’jb+#ž“%~8¢u%rÛ-ài¬gÍÙPÝgx¸ rÍ1]INƒ“íĵÌãEÊÙ+ùŠþú´zCDm3¦±JO‘ÅÕØjJúÓüœµ'Gi"þª“A·Î®~ ZzÜQ¥U†ß^WŃÐn Óû¡LiûCyqzê‹9/A ZаÚ˜bÓïVPÉ{Kc꘩?]æ(äŒÔ®Ív_­#“ì³ßš€BºÛ8m„³¯wd$*“Ý"<Œªx¿ÐOÅŒWB` €Þ…¿Â-¦‚÷WœVyïøHž`<ŒËÝÕýu_KGE†Ì4™Îñª¸ÞeÝ‘®ïSRBO°Äõ«Ô¾ŽÀì#%†G)¢ŸÊô¬K©8áš"^ª¾JûæìÙuM¬eE÷ç&ÿh øç¨Œ‹Ïœ¾\>š’<0i¹ç¥™d4T ¤jÚÚZágî»"Ø ±ð.k 6Ûw/1ôw ª> ô*¥ÙÞè¿d? µÈG… ^û˜oMÛ[%™žóAnͺG+„¦ýÚœ}ê–gnÜimŒ©ðãŸç ãE£ÍÊÅÓ¥?/‚€cp)&øRÆæ—1T‹ÀÇ' Ê}¡4³D×CàÍl­/3 _%t1«)áøÿ·bßjtÃaò,ÞÂ0¥)D’ãÎÝø§`e¶‚€‘$,ɳ3&E`!Îã.^3¤¬â#O ûåàâqôƒ[J F`i¦Ž]d‰Eé0cuƒ—ˆDÜ Òá XX në$˜InYÒÔÿïL0ò­ÊƒõÈÿ®ü,wWðÁiæÛ3oZ·ÍÓÐŽñz0P.;ÿ˪õüÑ;¼xo5ËQEˆ¬ûQ) ж9岺²(õÙw}e@“ ‚Ñ9&†ƒ† Þ¥ïa6:÷>²øvD3µþÁ~£Ï©ºÿ¯šÝ“@òôZÑpªÜ0žˆ ÁãŒn—:dÚWþIjȉ2j•êJWIS ÇZB8:„R­zWWèlîŠ1ôfœÓŠÓÈS’®@c&d”ü‡a’κ“Ô‚{p'îÇâËxÙ“ÈH’âG"­ËókÂHä¼–Ó¼ôßW7o{ …q›ù½žR© …Ä¿+Å;— ¨÷鵇ðLä-(bÙ“ 5 û:ní$ Ú*ú£aâLM¢"NP›ö’ÜHØ‹Õh¿üõ±·–²^³ùœ*Õ{!²[™ÓØ~B…ötœ· ïbò¾g¬‚› oBgÞÔ—V”„–YƒŠ/bôú£¯}S>^Sߎ“ðÖÕõ<¶ï%åÀPD÷øxkð¯í–y.ñÓøÊy?±­ þ5¤!د¥x—6XEh»>ÂKwN呲âjµZåKî}„G¥±&È+‹ ,‡My­À`  Lñø¬Ñ'Ç&ñ&C8Ú¿ÿ>àŽN¢„ŰâËJ?íý¬–ýH·|d8î´?`pª¡"ï—i…aëA’™Y̦‹´0©ˆú`; ÊúZóLzÕ>%û<Öj÷]•£©ÞòˆñH÷Î(Ó‚‚­qö6§?6ÝöóþCÄ û¬/wÊÉÚÙ™X¼­‡UF˜¬ù‚ #Ùá³]Ko˜I ·i£¿®ÎŒ8‹¿plÃa65–54È>’q[ÍWVøu—Ò~{ÝðŽ<¼I M›úiåvWcË*ÓÐÑ ¿8‰à´Lµ 8§yjY2”z3 p"Õ›ñœGs `Äáß.ò­ì±Pý^ ³‰X¾óÊ0ÕÇ/¢´¸ˆ\V»>SAÒ§kª¦êà¡q r¤·PÆ(ð•ÙøÝ+.Iëâj¦ý¬*Œ` >¿“œ+Qšÿ_Áx ³CF2ºc_vÌ[ɦ *ÅùªcܳíntÑÿ¿-;¿lÉY¯Y‡.zp ¡ý° ڵ8¯—‰Ž•¯”q§öjãnñµ©;k¬Kç¥Øã• ~¦%ïÉÀ©*š7$ûêÊÓwMÉ~¸TìDùQÐkÛçbuÚß}DðÓ !|øÃa÷¾W(‚|ó%(ÓÎì`³=3Ér¨Qÿøýý¯šÓ[ÝjAUäú9·NWcÊöŒú7KÂv‘”ô_ÓÖǯ]Æôè÷©è(–XÌͯ!²{{8µÊD¢ÑúäE~ÌÁÈ¥Ù&ÂÁXIüÂî¢öœ¹©Öm«9wÊP4jêØxy¢ÎPoCŠ$|ÏŠ\]—¼û3µþ\yˆï*r0x{AS¿&‰šrîuñ­ñlˆ#Fj»í›^lÇÃØF=xLB› dÛÁéÀÚ´ùor‹îajU'¿qÞß&œõÎ[cû]6’S4¡}§rRûj…4TèC”Ò¼RRžìSeHà÷”pYäž3 :6îpÈe‚¢Ÿ’Y©àÕyŽ&Sb§°±qj¥»ï"ª}”ê¼<ç³"G»-Y5¾„pMú+:Mçrs¬<­û_r-€<ä øl7ü´ß¹»ã!Áç”YH‹ÔNOÕËk510¦9<+2 ôB ½—ÌŠÂà˘Á«—ûy¢ÂÕZkZÄíÕá‹!Q—'ù9—ÌûñPžÐ,[+ Añô4²ƒÂO‹} ø»g¾¯ƒÒ¢š¹VkÎR…’w2yMvgXž<À¾œÃ•¬2eÜÁzá—Ï-à3}ŽÛR±<Ø?1ؼÞÁ1ìÇÌ÷¸‡ËUüÇbå|¿ÉþqF=­J†J/Õ^½GãÑë«PI`°fn爴Áì®>g¡ñdÂ’®D9à6ŠyÛ]Y[½iüsšÖcãçX…]Éܓ赯óÏ(¹¾ôª!QúÓ)ü ݇·!7˜‘k äË5ˆW°©&TKuÖMpúo·Åá^ÿ Êo–ÝØÀ]ÄÀì®mË ÇI¨J±¤²À©ÈàpôTÿäþòë%¬EºÀ…F¾“œ·t“´Se'ÍhøÝg–ï©;¶×ÆÈœ–¨<º¤¨/ödÕÊέSJŒGŒÛ ü,-Ðâ}CÄ“5É ½¾§”­3ÊÀnÚýw‰¤kÛ8 ØD®¹Ö]ê±$=ªr™§~M`w+]O?±·“¹ãðÒ™n$Ð`÷/ÂÑBêϯ íA pj¨×GÀpùJnmãl ¼#øÂvŠî.§ª º–Èf<üdÒÁœYë®’8<ú‚„ʱ‰cv$ÿ´¤>ú þ÷ 'Á1¤Dyh3ÀÈŸCÄÉ1îªhÃMª{ƒ™4LoÿeŒ`T+äÄ×@ë´b™½æ$dKÔ5.îbˤ É&âùtàòõu2q–®í#°ö~ïÌxîߊýb¥Ùi²Ä»Êåwö%³#Xz±µø2øHl~wUŸ2wéj0M‹ØKmǰfBR´ <{]¶dzäBMr«ô>Í€²±Æ ïÔ¢"&'È*ÖÚTñ(r=Å«Y§CÝ“åÚ í0ÖׯV¶¦…Óùλ‘#‰ ö9ID.]”by®dÙý`fã2Eq¥³ÛF7î<=¸6ïU¤Å… ŒÏ®0VË„ÆâÁ¢O©.ìÕ–øÇïg1þ*¢F+®ÂÄKžT LRÁÆ}g£óŠe—ã cØýDÐR3-h1bßtë%|Xщ¿¥ó«L¬è•7¬K¡Ï ¡ú)(›„­_ù¾“#Ïó"ë{„2ƒéÔ#õUp´·Ò–`Ž®ØPP=°MæÇýAFXqâŸø e XØKGmºëa¥ âJ,‹29DYJ¤„ƃ¶ØµâŒf^4e²^=¬t£,”ù]jÄ5Æl“¦¯Æ…mw¥0û‡Û„oã5¨©vénÆcãTrËÂ0q¯Ù€Ïïð½QJlÎ’Ù$' /·! ÌÙ]!N%Ò-±1£CÓ”,°€Â®8Æ\€ç¯Tõ µì-ÍmiuÙb˜åRóJuÔíz÷Lÿ’ì.H˜5êa~™n¤^r_€«nn:t‰+!QHÞ¨(¹s©öËØÂÙoùÕÕý)P@"|»ÉPµrÀ¥]¬b¤z³ò o Ø+ÜKãlE»Õù~ÛÉŸªòîDýNœá–(Õ~øƒ€¤/¶w» ؃Û–->xc¾KOò<$ìÁªù@D Ôejé³?cDÑKóê´|=xNöœÂYÉ\ÍеH‘¡ Mc°êȧîpÓZî'î&ø,»Xkñ–.Ö™oò÷=_/Ó¡&9§Úö]ðn’²¾ºäÃ[щJm€ì‡åw¦‡ ÕƉxs€r6âVOcäå!rçž'ï©ÄLâè„')2Õ›$PÑ‚ñ/ãB^s s-‹,:¦+è5+1ç<äH¸cìç œGh¡Àú‘3%ìgRªz3Œq¹îÏÊG@nã˜DŸâ SÒÇšT¥'A ò:¡¸””+ÏFEe§5.Äb”ròVš LMü€|¦›•@f›€=> šïÇÊ¥I±°Á«³Ý0ûl& ÜîP-^~jÁhÈS 麅ˆg{Kº‹™ÃÒýЯR:é‰JҬIä®[æŠöùÓ1†Ë±ÀÜxNß#¬`º1±WÛ+÷|VÏÊ–tª$sd4}ÆŠ–(¯Apû,²48áøNdä@Y¤Å¡Ÿ§àËæg™\¼ Àªsó&ô£;˜"úcg×Ü>Bob‡å|ßjwŠî6·øqµÚË$©¿wÙ°;¢Yß[wÿ:q€$mT‡ÏµýRõÃéà}€Ê‡îIH¨(ÞMs¨_O-k¨Ç±.nIm[ǧ‹VÀIã ˜G…yêÈÖ±ÑóOawüÉ߈OïÓŸ°f‘b¾¾Ò5Ý‚CÐ_:&¬µ6y;Fð©ê©îÜykýµæE[¿ðlKä4X6käæ‚ãý-Ú“Ûéåsì:5=…›Ëz=´cÙ§r©-Ä0¹Š©2Ø>4‰i€„#À1†Oµƒ Ý„½“{¯¸÷Ÿ3é‘óÏmll±‘‚™Ú¿·g}™bûQTæ¤Zcóò~iW«_™Êè7¨qÇ÷ÊiÐ §F7ý@Lÿjðšm‘™SÃ}íP„@?z“RI´EÓz,Ae®I»œÈ© £[š$m-p›Y†sÆ+Ýþ¦[¾$hüÛÍh~{ÕÍMd*ŠkýÂLÈï:ëÁðú˜…‘ø—DÊ8äçfïÈnúƒêÓÜl#ÞÚ/jÖùnýò­ïm–\TñßœFp8Œ^Ôe«Ê‘CP€SЀÃLÖõΗK¬Û÷vn5ù-ˆ†¬Ss%XÅF9ø4Ñì4ßAó)yü9Ã3ð0==çK“ ƒ—lݲm†–fâRÞ¡›†h^eÉÞìXÁkÇù‚ˆž[íUVSGŠzŒ‡²,§._©.hŒ®' Ñ)¬ÂtÑÒ,­_{w‹ûµžÀ}7ÕÝYC˜î5¼Àû4ëLòi€›ì5ÐË:.oz¶çÞ¤ýW…&^þ ½94ÇÆ‰NLý³NMÓŽãiæAqnéI¿òuà/’µfxPLÞÿë^9ýu¾¥<‰ÕR3/ÕXåýƒCÌ€†(?QÓ]ZˇPƒ—Dzž¥6]9å@jõîË–®¥Ð›9èrµ2î 2^&“ cwˆG+q=—j-vIžâ¦E;=`A­Þòñ¯bÒ°ÈtøYcC ãÂá ½C·‚wÝdÈ&É?›ºÔ•Ÿo@øÂO>¾UE|ÈK¬8nÞ&ߪÏÈ`K(…FŸ*Ö¹Páb{Íh¤;0S*ÁüX¯©[€Ý’þ‹YäjÃBÛU ĸ•þ&3§«*³óÀÝiödÚµLeâžÇE[Jdù?Ò0 ˆ®…À‡–q¬$=j^U;¦yØ`Ó’?8Ïd$ŒÏvç¢¾Ý \!©áyÃÄ-úé%§ÍöG98IïNÚe˜æv‘c!ÅŽºŸƒG’¥ɪ´ÅÕçlÝ×äZzŸ8Ašdpgêâ&ËV}ðõlWš^iy² ¾TT[7Þm©grǪxâbSÕà=ÃG©ÓmÅiQCm¹PëÝ©Š`žöôyÞ|]¤Ñ{kù«<8ƒ­±¦ó‚\<Ñ×·¡ŠË(ÙæMM]¶ìlÚÁô˜oéˆòlÿ¡9XGƒw©ÀMðœ¿nÜSZH‚qÊ‹hÔ-l`¡©Ëd›Þ½öõiý£m€Å…‹‡œ¹gÝ玿©ßI.zñû]dæ8ãz3Ÿ ›SU°1èÄ唤&²«Al³Qs¥X4*›ÊDÓ¢å;½t…f™“pº°Fý?M9Éw\N¬B.Ìm&«Ë¨döóðqˆD¹oK){†Ú[ÌÐþkg®Qx´Û×;ÀÌo8’ó‘Aö¿+}³Õ¶%Î+ÈÛt„hì'~¢®}JŠ#:ýՄ䣨r£¢ VØÈd‹G¬5*b'<1¹¼:Æ’÷ÂØï…+F0@‰ëaØàâN3ƒNÓß›Z³a2KE«8ÑÆ…½h§ÉŽ©MžÛÜb¡SÉQÁN òg’TˆEq‰âÖ»m™ò11ÀMÝêÙ l?%Ë^ïœ .)8-ó[W§-¿Ãþ&CM€)ìi°¹ÕµÉ‚*Õø4óQGÐrÁ“ôÒΆÐJùé1#£d½€”@™„÷§…ññèd»¶J蛾äÈšoÎâ9ÙožÃ¡£äéÔ  Ù¿Ï}ûp$Ú kÉ“Ûú_Øb5ê]yÖ¶ñâR¦TD[÷PP ]€*Öšð½‘X/"¦•ÿFÎlUØÎIì«h : q\Å >öåó!í/Å.‡¯‹ŽÞ‘m«`n¦mÄIò˜¯ù«–9çÄkãeùœXxÅO)ý!ôÚSMÉ?“ø0JŸ\5Úû|Ãà¹Rs`»¿ØrÝ”eØ›àkz 1>¼ÞËËí Š%úì”ݹ9Œ®Ì^¢”´Ì:›cØ<[Ü·Å$;U9äþŽ\P÷kñ_­þ‰ó¢yjH/-|4ªkDqºžª¬cëñÝÓÀufo'I‡%¼‚—UðúÕ!H—Ã{Ë«IÅX*Xñ?:<Ê™¦¬ßï-ˆÎBËéWÆ£ÿ3öJ’3¥±¶ =8Uq…À ÏØŠšÑ©hó†w¡>Ѐr(j5ŽÎõ†mÝI²­äZ> 0Z÷º=ì®áµsC×áDŃ´àl¶8. Z¬„E丩eo’‰-–ŸèÙêÝÞ;¬)`̿ř³ܺU¸>Ôú²[Á.‚šgŽé“R“å¶Ús÷y8þ£Áº  ) ¢ÓuHØ×Ç£{\U#µÄ#ÜWcv¦rjOd ERZbýêT¶M Åʺ?†´öJÚ°—ɨLmv Ÿú°ÐÎæ&ÆTÕo¶åoÎ÷±¬š H2A íª«ŠŒÞºioú¤âÈçÞv- š¾zÖJY¡5Í üøzšÙUÞ‚iþ¤ ïGœ”¢™›ç»ýX.5MN†E?'…‰Ùñ.!û‡™­fÿª8ÉW…¹³«™ÈÕ•M?ÅÛÄ„o9ZÃsrAs¢PÛ!îÙn C׈´Ž·À0’ø ½‚äqhlŸÔjYoG§Ø WR¯‡‡¤›}ô…Aã'Rö€\ ±Ù¤n‡”^`L. ¯ãâ¦rVÕä6¯À¸’2N!F0O…5Á^Êfy?Bu•\µÇ'',¥KaÈ©D»Î„ZôWî0awŽyóÅñ6„åÄDÙ5þíkÆiº\¯©âÄùa³–箦`ï×HiÝ—Þµ˜ž¼4ÔòSèæ>þ½nÙ^^« a¯¨C¬É¿Ü¥kÇã;¬(qÒ¡)Y@÷ßh[Š÷ˆÄN1Q®@œ ãÛRñ®J~ØúÚ@^l—p#€5Ç?˜O¯ê½rd”oý*»)NS/ \_¡W‰þÜ­ZÃËZÅ–½ñ U5'AÓwh8=¸¶‹¨Ê³Z½õȦ]žÐy1ÈÃ),–ð=—ü¬'Zq«i5/cuž­Öÿ¿e¹TyTE“öOiI…d[ï¦3Jî㳉ûåwúÌ—É!iÓ’1€bm ­Ë3Nƒd~ ^¡$vþÑ!¡=ätKÊó’F%v×êR5e.Z–)´j´™ÿô‘(óžfbµ»L\WªÝdÔƒÖï ÜŒb”¯ƒ%Nу°‹>¯ ôHº'NÜbô¾>R$3ð”ê)3.ëñsæ£^sj.ôÒ¡ÚÞ¹ŠzëÀTr¬‘ßÃÕåËs¬ ×ïäî§¶dž|Ǽók¿P–Ué†f|çx-Ë+í܇±‚µj°ä¹žüØÜy¨Oµj>¼¾Ô^æhË‹%õƒ^`Gªz\ŒTCçMÑ‹ÛùºšÅ,z÷|_]eä¦âº ¶’}y¥×RÝí#úŤ90êÑÀÞœ¡R4o‘ãáÓEÿ@AÖÕGFâ”@ιÆåP '$UªïN ’ßrÀ"$(R_Ïš[¼’\2>rón9Ѹ*´ìS AÏ|“kwíz,e±(|çáû/¯-µYn; z‚ ‡¦qòa͈LœÄôd­8!£½¥l’ÿ™IVÐZ éÓQëß̨æ|0è°7AͲ„ þ£þwïÍüýóå~žñHT”1iûy ãv¶Í¢ò]Â17$:>+àšó™3½«u8Û<‡?yM(öí뫸¨Qš¿Ÿãaâ')ÿ6Z ‚àó!×wõ”¼B°nÍÄ[9á±M‘_KÐèÄÇš×"qNE?VùL†ºÈŽÿ¢“R׿îÊ9—è…ÿ¾ þ†NÐR‡oñuÒš=ê žÏªï/_?A IÿK¦ŠæÍ¡=ýŠ ðƒd̪‘´¦^¦;e´ÝëSÚžÍ#÷Ô^ÿµ0‹`8ß_ ©¹‚¦CøÀÜå§`9÷›×Ìø{‘ůšGVض §l¨†‡ër¨¹X³÷oLËOcO šHGÙÀ¨/d¡x²²»¦zÔ5 %Ãé;y¹®e¸ ÑïÀwtç8ÚÛ ¯Ø îNTUèå<îx×õÎcáfÚïv´gWyçË´ ql>:õ¥DÌëåS‡þ®'óLC§|‘ª×a\˜¼ˆê.FmB+òñd}þˆ~SMxQž‰{a±¿øíÀjSî1­\7éÆ:ìÅBHÉ䯖.ÿ«R×” *x§a742stç“©.¡óÍ7áüÓ``¬®[1ÆEP‡h£9Ö@¡7ë”aÌr¡í?ÙR¹TZÚü0êÅp×ü¸zcqc—we_HÝç¤ó*Ûœ ]FCˆ]I{ ñ4³„äô¤Oý¯Äž1Wç°ær Bò3áQÈíynô3mD´ñ» Œ’¦PÜ E«h'2€t‘*`W­¦ Pë‡í_^RDÈH¨ˆYÐØX>>èe KB£6p¥JzzÊ 5è嵌xÅU‚·A|­–ë4ײJ}Rñfk˜Xe¸06¾Ñg‡ìª¢áåxù6v¦œ§ÁiÙTi%t0Ço—ø…Š8k¿Aê#¯«®jãñº±1Øh¸û¹ºýOMïØ’\›¦ÂMŽ!Ø‚#Ü^úuÌÎÁ€ÛúòÕkÁ«‡–e1ćÚ"ñ`8€²^šJ'ºø§qTg™©}ÀŸ<ût°8àImºï¢uÁkËp¬šælо&‘8ðpž8þ6¼I4QêÞO_n‘ ëy;îÛªð‡ãr4·º<ÿHe‚“(Ŭ€%èãS¼ ÌËëFQÞûçne‡ºíÓÜ‘M¾—Wpæ‚£¤cT¶JÉÒÃÏÆ­ª5ýP$@Ó˜\!ó.y…äR•‚ÆJ À%ç;Þ¨%^t)zh®!Fõ"7_ƒì‚ HÊ{˜ú~‘‰#£kš‰;@£Hdm¨ãMN4Äô/j=UvÔrImˆ3Ÿ|”øøÈk…Ôþ:!F¢Ÿ7æ3·(§9vÆ>hΉ5²(VóKB2G ŸëI‘Íý~SsžHÝn¡½þ¡‹V§, j9WQ´zÕ~¬gq }Â8*塦ùÎf;Pš†ÜI¬º—V‰h!¤ jíùÔ¨a³b[X3;N:ü2S™ôüȵ=…tŠgúŽKž†ù{§…fÏ&ò ŽÌÃ^²E¯là¿Gä" Ü—öO(ãw$z©"¸´Õ,I–tŸðÊŽê3¿ï 8r³y\N?^ºS ð º™cIJŸ_p#V}Mi¦çâowJp—¬ÈÆ4Å"[¬ßÇø§ðp$ÊãÃú[Âã\²aºé\IDš7@:÷¥•d‹ú‚¤¥9ÓÌ€V=èæ—é,œ/ƒG´Ê²MÈ"|ÜíÒõr’Üñ«¦Øê{õµÚä=ý‡ˆ@€Ù5Ò–éÖh<Ïó"V˜Ãt/4eìR˜!cÎV˜PëÊM_BF(œ &¢Qæ§m F¾br¡‘\vŸÏ󒨽V­ù&[ê× —)1¾b2ÎùÈP‡/NÄÁ`¶Ó]À×*…ã;œÎt·<}¢2¸-¤µ>ªÃ;ñrþG6ÀÒÒÿ_Ò†Z-ZÁ׈Y‡)ëo¢Ù [à_°À "ò?üÐNRµ‘h60«¿Ãõ4èh¼Žóø¢ÍCöU^ÂÙ ?Mâäñ3ã¹Ö–C»}'¬% ¢J²ïx%Ô, ‰àðú2¬í,c€pÔ f!í*òÊ…|À}0ÞÏ‹»¬.4T®ypЋÞ)´ÜœÑM^ ¶õšÏ£³ {QÁ1˜ ”ÐäÿºPÝÐèÃŽ,™œc^ÞÁ +f®Ñ½¦j€9ç†ÓtHì†Ô8÷{ûÖ>Ó’¯>³lô1oæpÚÀ}Âb¬vëÛÞ>çóBg®G³²ž,‚§hm!ê1 Zóõw^§lÅfý7£Så­“»bE°sD¬’JJ®&Åa/¹MÁµ6%#"yU×Ïá\ì¸>hõG°V¬q·™Ýê¸ýG¬ÕnGI´³á$¾²>¡%*v¨…:j,ž¢à‹Ÿ`€Éîðú=®& ¹µß…)ÛQ|ÀŸà–›õû¹DíKç²òd ºp‚3N±ýkßx²"‰ÎdŸÓ’yQÒX”¹‹í–äR€c+$.{œšHUÙŸ(«„l¯»Èe[(ut·›>@Ô»æ­1ñMÓ•ðOz¹`z :g›×ùåŠw³ªÁËÕ®Ûù}oU¾+`¢Çq¥Îûµ»e-÷Ô˜/SE"*sΦy1 Šº¸†Ýt-äæ’ut d© Šì¥c¹œˆ¥ÿ£$9ÏØ\p%ÄGØàÕz&µvaó"–-Šî’¦5 AâΣWÑ«ýÊgèîè§Ò°J¶éëÈâq@ $ç‹?ƒ?»©Ø jb—µ wÁ¶±( ±Ug:Bð‰ÇO oNЦB°ü>äzÏÐrâjØœ:yT1¢`Ì\$4ùîÙCIj48S”íO÷ §ûö£ ÞûCÛslGPÁœàÄÝÙ »º)àÊJËí… %E‹š¶Œ¥n{aSV¯Ûò›q:ò£ºhÔ¸³†T¤FG,}{z ò€mpbÈ)‰Úâl”ÿȃx~c÷|ÔD '|’à$Y÷6ZÛ#{¼O×5Žm¬lª¤f7X*›a VÇc`ÐÉ ¡UØ•lï˜!g8<_c§]%È¿4£äÕ¸tÝ-Êé7„޾yýTS?*{‚ð¦Àë‡ðÄ hj]Ñü¶/î¸E#7Šˆ?å'YÉâwŸxc„À†~;ãl÷e1ÏfMp$ÊX4¿û)kÏmg›7›nªN²A„2#g-˜’o)†]ªS¿ÁSÖEÃëãzøEãÍÈÓ²oø#kòÃO¡îZ“Ì©.¸¯µë¶ý"Æ„/òú7Èp»É×ÇirÎÄß럫æhy"€Ñ‘ €ätU!rYð=;ehÎÊüÂp:§ :7uËÒË ²¤‚øÆµÓ7­Ã>oV§ù9O©Š_úñ}Ùó&PƤŒNô‘^Eñû9°Ó*.Ùèaúeïiy~ýüý,ÙUV,&‰ƒ+ŽÏd“T,~‰'íwÐwhVó‰cr±‡Ãây¼AVŒlË¿é7yñõ¥‡d{š{<é1ìbœç[1†ë¿¼­rÄ;¤â~öüؘp®ƒ6Y‘ÊŒ„·¯Ê>”~*•²ü¼Â”7u—VþˆíÉWâ·>ovgŒæî9¡¨&AÃÎdXš¿` ôj"œÁt3 s¸8‰ļkºNWíu6(ñ¦¤O%h. À}Ò5íÔKï†îµzU¯«Ñ‚èh– Ëß* +ÿèÀ7~¥M Í8lIUáŸiIÕØ³ß{H Bkäwhƒq¸Ø‚Öô}±pïÈzqé„ÔÅH|h2_à$[þÛ'Ûü?eœ; !ûÈèa(‚<Õkæx=š¾ìmVÀmkˆ‹¬)Ó¶ ÕÈPÙ‚•2f¬ ]f3¥-‘Ü N˜0š(\ïÕx·¬ %ážX …-x*iùT¨…$Kfõ¥¹»•‡ RgýÀ¯Ve3F˜cBœÓ šÏÉ:ÒðE|!’ˆp@Eúå@Q'ôÚJäd5Ø0Ç¥Œ†XÛâаÿ¢ûÿö ¶6òWÂP*¦×®äN\ìžZ¯+Æl„¾N œlü@žc˜àtbÿ34Žº½©"@KÚÞ~R!°eç[¶BHžì3îUч¼É㋌ø˜¯GöF-›îy'í/Óz¨&ƬäW¨¢òf@ëvíÛ §³+`³£8dOx=rÎôÝ¿sq$VË“*U.‹ b_ÍÝ ž¹é_=2S‚:îG8\–´ª`劢æßIÄl"­!ëoÐQŸófÁÝ÷ìæ½×7>*î¼™¨Ê‹_Q¦šdŠÎµuu)‡Kì0WŒäêÖL×NÃÝ@€Ø'ñä4M[ 3&ó]sٞ˰T{8øèü,‘P ªÖš¸;õ ªØt\|7rx*@‹THˆÃ.ÝxO~kö„<R„kv¼ŒŒrÎD jhB:òêºYŠ0Íð F„¥æ¬‹åÜ5 Ê*Ö^Žç&¡Bµ§; •ñ 2£Ÿ_êâPîîy!xâQØ–öЩ«·— 6Ô-ꈂ—Òi]“®©~iV´|€YG[ÝamXzÊJÁ4S¨ˆ3ÍÄ Â´`^9|Îà ‹‡{•º(ñ<䫵 .ÐÅ aŸÔ­ ÚÆßVX…[òƒÉ“NkXþó}‰Û\Ù€1&šú Hö*CŸ‹³¯˜T¸{¿‰bäê7|ôÿÔ†& ©DE”Ë`¾¹H>7°PnÎÿÅÅXTêý’šu s²•ÀÒûŠÇ(ÏÞSGne#ùž=¦` MŒÆlÝj`¥­ —Uz\Ä2hyNÉšyªˆq(À¤þ/ N‚¥x÷™-_ÏNSÒ-þ[Àš´¿r\J—™‡õ –”¾O5 ŸWWT ëÍæ]Õ é³¦û´km[?¨N°QÚiÞVœJ¹Èž)Õ‘òñ?VX~Çõ)@w…€%-÷rÀˆúº9«Z#€£“Xë>gf³Œ“ö7…ÓiÒ>žV©^Þ<‹iíT´ §a&2*È–Ãí+›¢q*ë±®‹ê<ࢡ‡ ¦äA¡xÒÂb*P2;ž$×éÆCÁøçú$?Íò5jÿÿ lü®MÄûw4ñ÷q‘èÀg„›PÈ•­a¹ŠÔ¤ËÄCØË`£+³ûé q‘Eö “—³_Z›ñ#Pî½B~½ôIµ˜Öqôy1«zåzGGÂ>&K­q[ª¦ª'‰#&©¬Ò L€ïZ刑±ñvƒÃ×éy¹UïOxK‰^Ú¦€ÐYJPNì×ðó ©^±W;0ÞÓØmË.>2sÀEštùípò«ø=·j—'VEü€‚ÎÅ=ï~_¸ÄÖr¶ÑX¹­ô¿ÔCýbyŒj‹aeÇ`†»²f(0>ÛSt Òýpþ¤­YDæDÙ·C°âId<ål\„×ï¾ÌuJWG¿7Ç£2Q .kKà[>a¡¨ø+ãÍ *¯/Ò¢í—ÅhpA¬ úcà_‚xšò:CÕ+ƪr¶ÊóŽ„•¿ä-À¯G¡8”¨¡¥õ a;JB=\Øo(Ð-½ß*h2Kt.’ƒ Qƒ˜ðøZc$;ž8Ag¬n@§çOaβ›½T(þÔ˜°™ÙâgJôVÉǪ¯ÿ¸ä0 _jr_6ó&¸ …Ü¡dô5£ÜuKŒ¿¼öÎ ©SC„RßP¸rƒ¾4î[ ‘Úi& 1l”I P‚™¿J>xˆ’¯¼ŸËfRHžª}›‚©ÑvÚU Â&Ç "mYp|†»²Å$ØÅ€¹ð³/õÉ.á;NÏ<Ž4…B™¢m°“@}.Ú„„q5¶S¡Æñk¿Íu]OT’T•7÷Õð,e¨¨BJ/7¸³É.ÁîЪOïÈzF0E9/¾ÂBß½—GáÆðø³}Æ´5Saòœ?CÒõ ŽZ•È…ý.šÖÑêû¥>†õÑ`ߊ‰¤83!M#åxC½G;?üFIDÊæ@ëôòseèW²ë_§GdM :r`6,]€tLÑ\žïhº[6zÀ™»,[ÿO…’iZ,&)^bÆ-OÕ»kÃøüpµe«ª]]ÉÜ"¾’Ggíö.X?&P´b›ÕÒa†Åƒ ›•°n±?k«Ô”j1ÁÙ8•ÿ`w‚Y<×@ü÷AN(E?r×ÿ3>løì툻,/Ä ‡‡ôd^J¡Ã§ {¼ÜÛñá~!9£„SóRk1Ä/á·Kó¦z‰›Vü>Yf?$¢X?•v¯ëæ©?ñn»îTwOÈÏÌ"¨ÍŠk¼í'ñ¦š^f>d9 lIÌNÉ Ìņù„ÓÊÓÛŠ¦:©šàYf¨Ø–ÖH& “é—6xÇÔ©$:·„/WHgQ¦B{ßßBÙ/ù#%b8âX!¶aØ:J0ô¾™¶œìâb7}gØ"Ê;UQ%ý¯“UQtÌNv’Pð0Øö§Ý~qáTÞ¨~bêÜ ¯+6ßâ˜÷!¦-ÆÐ°„Gµ7 髚¤-zœqñÿCÖÀ-ÍNb1™žI5—ùaH†h$¥6B£WŽÁœ8€E›Ó€P¡|lÀ—ùGщI`ÙXU ØyJ-"•{ý #jdòr]üºX£l ¥}L–61«i6ì$,Ë7í½€@{·S|@ÜŠ—Z7]{VÓ&`GøÅ7žË{º \6@íÝ‘a#€g?䎱‚òz·¸ÌôL´„œpÄnúÇçèKá³]¢ëÁ´:¼Ýä-ü ŽáYžso¼ÉYŠ^Ê‘k+ry6C:²J_@L…$ßRÔå`P²Ÿ»mVy(WL"Ò~©]¹A.7ý5šN¨¾v¸Íšã?¦ÜÜ<äM¼‰ùú9' ÉuðïõmêÍ[Éhy÷pÕáa ÌP-h;Dlç…Hw$BÇ[d+ÈÂYdL4tsìIÞX¤×c¤ ÛŒÅÇ•ðÊÄ¢oþ”r«]Çß»…¾1ñÐïƒ\øh<ÂÔd#Ã2ÊøEV§A™¬€XNbM=:5þ1$iûM`+wžWjw@y,^¿JÎwÚÓ „îÃÙªÅ=rÀ¶-ŒîÃy$î¤ê­†î‚ó–T.›4Á9K 1i¤¥Ê£Ì‚QÛ¨V@ÎõüÅÁ&ËÒXÆjc†;+Qø¼Íú“žØå’𣭹uâDSÁz@î»V`æ3¦¤qÉÓHb€T¥Þø¸ä-òU„„ ÒÄ\YÝÐÇÎIË‘TYÀ$)£”áÁæk y>½BøÏׂ¾XQ À¸so,,±à¹ç!£Ðàø9ój¡ëvµfŠÅb¯XN¤…q&ny¼`3ÞȘ"^ Ÿ@kÒà4`ùÙúHÖ­v''œ©´hè¶èŽscÅh@­›¹¹Î†ß™cFždMùÓ.{ø?1K-ºI;ç®ÛHe†‚Vr¹-î`¹B}*V);ïxûÌ«kÖé®10˜Dý ‘]KÅœ(X›çB]r&v*³;À«³æ/eÉ—ÕaF%bV‚üA©ÚûÀG<ºM†î8™¯añÓëßðUÌ ñŒÿç1\¤p‘Ó¯™pläM€3ER?H…s1Y܈–Ë01$qJI1IUg‚9\‚~À€’†(Ášþ'›c8®ëΧPüy3‚w.e¸5ôÛn FX“)êÑ•×SšŒi鮿½âOð¹ÖŒN+]xÓ•±‘$>Äßrôh1VW'è¯q&šg‘0|³Ì³$ÒƒXY3E±Ò>ÜD[¾àO¶®¬€Ìž>‡Ïù‚7‘ÒúاÛY­¢šupŒâž¶pqœ f|p(Ã7s $äKG 8J¡M°¾ÃîŒ,ÚÜÓG\J™ÓlNªóûtŽ’IqÁµ!r pó#ÿýÌ5”cšÚåo9GAå¢d(1ø´ðè°4šKBKòxÔJ.,CE$?³ùoMÇéâ*¶@†8¼¿qámo]˜¾­‡ÃŠu,·{-$×Nmלºon,N àÕ…ÁgÚ/3¥G)Lº×ÌF–_WyXB––®ƒ!(…—}´0ƒûŽ­f¾iE˸IoˆÙá³]>šS ‚0( ©–—¸ùV9å'Ï~êô“hæ£Þ$òŒµ½îGýD¥AL¬Ôó-D§³å‡v*„…‡ïJS< À\ô„%DKo¨é‰6žŸq9O®?îÎÇy0óå~tdsoF àù[tYŒç›#ÌšÔñâ«gEíDšcì׋!ߟ^EJ™QqY³t o̵&µC÷Mß=Ñ€½0ÙùŽÂšü fíU÷tZ£Q}É0¯Ú­9þ:…§G 8t/:*½Î©X”Æp󠺡·x®­;"›iâ`¨Í…ÍO:˜Áû§F±„±,nr}ï _Ý“uø9ØüÝë™båÏô—Ýf›uÛ„¥¥a4wÒpr)¯fû ‚ޝ¥¤MN(Ÿ}OáÛ´_n™0Yð8d•Æ8´C¢H]g»GÞ¼Ú%‰6ÃÎú–‰°²£cEÓu+$(Ñ3åÎÕhº«N´Z™c,v»åxœ΀ø*f³WlMöakß%½/e,gÙ a=²³ÝbõkàŽM?Ìåý­IåA›º_T+*9ê!‹nÍ&ÕH,÷3¥ÇÕ½q\®´gÝ»åV•7¨†4âÞ Üáb$>ñ²d‚aÔök‹ì‚Çï²`H^¡Ì×í^Àaß6Ôöbž%¬‰`ôÅ.W!Ïü‰‚¹Peª˜%5>#j7YÃ[ã±-Ò(H¹_™ŸHÔÇS@Ö˜ñ „ÌAxáÇŽ¾ÛüíQíO`~Ó$þOî "¨”ÁQ•šé©ZŸ0¤æÓi½Y+G‚ª–çÇ«NìqgšGzù4l‰­U“4*GÁa÷p–C¶>„4­®ÿiœÈ 6ëpO‘ #ó°V$ðÁÒ† £Eb>1ùeVE¶ &Æâ‹ƒV+2X2^¤õkK¶†Ë$;7¡ö[ø¨©%¼‰ˆ6)‚„”2¶¥kÂʤ®Ã–¹r×!k…Òµùw3 ¡üä;Wµ––ḖÁN­™:¾þýíö“ýJ,Hn5ü4‘@N=9Q}ñ ‡V¹ê("Ó·À_ž³u' MÀz5!g‰AB~œÓö'J„Gá¯jÝÙ_ Ì™?”&¶;u¢« _Ä 6+íj/ß\=™Ë•ñF¢ŽÃ‘ö† ÛÂwPH¶ð1u0>þZ5¢B"vš/?9qô‰Å ?Vœxª•L?ñj¬¹zJ{©æ\Áú!%ïýœÏ­;g:½Zb‡v”Š‹¹óˆ)EwGÕ—–Á¸­s®¨ˆÅ¼n”FoŸªí‰oÏ‚.,n(”C¹aŽôú>-© YØ–|ÞÒB[ÈŠE Ê÷ßBcÀ ±z/eló¥™"ˆ S¹2žIKìôFe‰gßÐò‹ÈÈà‡û½‹`ã´l]ÑçwkJc2rƒMl ZøkôføN“S‘ê ýµ4µKžc¼Þc¿zÍ´[Ñ%ã Ý˜ Ø¿žN¼„”ZVZ’Àñ]!Á†Ä}‘Œ"›‘ÑvßhÈËéçì,Ž[‡ûbc\º\Xš(U mäÕÞ~J­¦“žj<ŽÔ7(Y ½bñI]Ë!½UÃvä(˜(ðE.0#T³y~[ë#æ=G[ @1PM-‘(ð ý~“Äð‚Bðã|ˆ+†›ÎØ"¶ïëµ±ž7oÒ®[‡ÞæsGއµ¿ƒJFÒŽV°JùgüÉ‹Ö>]>#á¼Ç«½\_¸vÝTYè|rî>½¼!b!jgûœ_ý¶§èœ•‚%k“1‰ä® ö©•»‡¤†P;Æ+{½\Ž/~1rnH!'‹ø"À L¼-ë3ýD46)X‘ã¡Z=\ÃŽBet¨Ç£CP3¤¿ÌÅX»"ÉßøÍAƒûd ^¼“Ñ,²}ÁšÖÏø.g3B!~Üm¤v_–¢™xXT Y~»”~ ºR9{ë‘;¥E›ÏÌž_wIxó&Ck¾n°êŽzÛ?]Ñ™Wpff1ÚIÊ,1˜eUÐvÅ"0Ps·ñòÔm¿¼qL²¾ºYi­“ènTé·#Ûéò ïØ²¹:A´Ó˳Õ9dFþ„’߆ž ™1JeæwËF›'º,ûNíáR¸ò§.¥bNKªUç0QŽîa°øõx”*P© Á†& cQ“®(é9% ÔËd¾ÚR¬; £w³1,Æô6;ßøL3`ýMµµ‘ü¤RßÏÿp•Hb»¯D<1²ŠÈXóÓ ¹î8ÁwšEM£5Éúñ©S‚öÓ•I°'ÊÉW9‚ÂÑ׬më¾ $_7ãR}ZR,bÅÉ•®âc_›:.˜…ýè×#×{ú}˜¥ˆ°Ñ¬a³'lA "ðh–L„Ÿ] À5.€hÚêsžz¼[c+ž÷6³,HDùгÇ3j—·3ô&7cÅsSŠÞþXm»ôGh˜@ÎÚÑd@'“E\¬«E Òüˆ¿‡ãC¤xº°Œ-&8â6¶Q¦ãY*ê$!Ü–5Sˆ¡ªknT5Tä(8±ü…-2"Ü-swL*{èæà æ¼ »uñ[›ïCfjØŒÛgNz刬 £”“Í,=>e\ÞˆÛźxß”ŒG¨#¸µz|»±å`Û1ãË{òúÆM¦y,2ìÅ1)éÙ®õ*øœ>—í²^"bº„i_¿|k·‚ÛÔ~B{H È HïƒNψÄe'ᤖX9;nÙ‡¾AMCu£¥O¤¬•´$¸«ó„Ÿ'¹ ï~n¬ ~ÝÁeXÁl¸‰¸ì¦îlÿº™S,1éŒÕ- b;'Œ˜›y'B|JëUÍ»Ø`Š8A¬˜Nu`ë‚Ô¾5ZUsã„:[Ë1WHÝÖ;êÙ¹Šéˆðo<¨#g¿2J1fVU^ý™^œÂ¶ÿíîÈ0÷Š}ÈÀ)sÍö2ò®@C¿e¢Hp¼OE/v‹=®!ºíTv˜èÉÇïS©Ë^0¡”ü,‘Ë*¢Ÿ¿P”Cx›ËÛ3W·ß{¢ÚX€a]E.ÐMâ„Iàää9…˜«l?&È|] q|‹¼pSˆ¾‰Q K´ê²2¨œ‹¼™Ÿœ‡˜Ô©úè휅œ õ Ïw0|W´°M3TÃ:0Çô£R9çM,æš õä“ÛohÛÇèh É[«cÑ ñËŸ yCÁ¯m>­‚XÒòp—l"v½NC˜Êóo‚þ‹ýé×ß['”H´ýK¯@æyà ·@3°Ì£•7”ùjù8wÞ‡~ÁÜÃäZf¨Ú× ¥'K~‹v²vOá 5‰»xª¥DÈí…+)È_ÄW+øvìù•´…õ(ãšš]kí%¸ªÅr&f áuwÀàI‹WlNfX”ÄÙkà˜hއä‡K;Z‘îüÀCÆÔä€XÆmãø3ÿòÖ 6.RûZݾ¬h_k…‘†›¤³ˆ—æìÑàäb¡'þBXÉ£úsÐy¦KÀù¡‘€³Í´/Sµùwûók܆Ö~>æÕQF®yAÓRl< »"¯j¶ìÅq½8Š gÇÔX¸–ËØÞb§ ŸR\0‚=üÈÁ½v·’|µ¥£„W3}‚;ô}î2ªäJ¦”Ät‹Ì´’š$bny]u«•}Ïû¦®Æ(/ÞEßæ 4ú#îDzøïi£!b-!= ‹MØÚìíS0¡Ð±Ãû;Ê¥é\´ ìÓõ¥I«ŸW2XÁ¨ŽÆEÚ®bümÿ’Ì áŸÓŒ»¯ÉTÛÐW>™WªpYõ-„6-õÁña¬ûïn°pý¬…¤¹–tVb…1Þ·šQ6‘ ¥F|¿€±çYâÃc#_†£¦sçmÏN`«¸?ß /L”M{-'Š)ž ¼§xy`â?.  0=]ëôæµÜh]~=À­:…uíÞ9š…êq”ˆµ}¡"ÁeéÊ8Â…ÉžÍÉdž–|¤•eidt©¼¶s¡íŽ02¡ç °+qsIB4@žµ(Z’ýÎ$UÄámðçT_D¹î»ÞŠëSf•%qï¡Ý7º˜ÚƯûÿN¬2³¨JŒWÿit›Ú”‘¸è§¥{UîƒÏ«9óöd~†/Vô#œ•·+ôsÐô$øBú€ryßg7º€xuE an'(ýÉÐõDõLd•_Í UV„3¼|6·Îƒ© ÜÓ^ÞÜ+îõpS§õx¯Ç1kI¸°Ü¬þ^ ¬nw4[°6Ø“9 BaÞ*ëJ̯Øâûiüަ¥/Ɉˆò°Ð±tq·’z5ª*gÒ$.渓Ç…JŽÉåãªÉ>¿evj¿£91ŌË=Ã醳Î7þbãù€ &º°°ïñòjO"{ÏŽbæKÅÝ26Êð³êvÍòéSF&~ *W)ür>1è´2´†¬m«R£Öèlr0ýº¤AÔNBc`^ÈŒt¥4ÛÎXÇ·úCÿ³n)]F}ÀxM#‘Häxæ«~UšýËylŠI=ÛÛ S¨B.ÒJ:ÝÂþj§\Zx]ýá:•²i[Ý âºálr*E¯aÏD ´•ªÆ˜_ùØÅS÷›Ú¦õÛ‰£½qêX¥†å'@ñk_gν³xõÑ’Äê —çÞ‡Ny¬þcvlÆÜ÷PdŸ{tòÇ·6ªëŸ’›ìÆg²!<”‘¼"9-ä-ùHž$/sÆkÁS¬ˆºƒÏÆs·ý¦ — k"ÚåÏnÒ©š‘+Hh´r†r·† æõÑs“&¾5ŽÒèÊmI¸ÕO›êº=csº»`V©ž½¾ò\MfSÑ;qÛsæGœ¬âÇ_…“)WYùÒ8¨ƒ"êz`ÌV*ǒ˸êÇÜ”‡'°ü™ë; ðMåùloFö]°?Q›pí#hÊДuîÿŠu¸l·a"yŠª©6XÚ‰Ú mˆ§gÍ[*qÊcÌÙOa­€ÛšÔÄ?B Á/~Ö'SÙæK£¹;q¹H%|3JÖ”*œ|"tYÔD §µ¡ùÙ$u‘íA Êé#ÇB£´])BÍU¶Z ÄÍ¢íÁOéó8O££Õºb@‘¾¼Þ¨l¡9²¼NœäÛÅ4к©˜—Ör(^T¶ b°8‡Éñøæº›òÀ”êlÅg¦ôÕ2CA‡¾Rðáý”LÑ‘ ¢í‰W¦sifDf´õ^;ÌB¯&ý iit)U° áÂØFmN­9Ÿ;‹‘.ÿÕ yŠàˆ î“ÌñŸå|m'ÚSÛtU Öèt]¥l‘š?¶ûQ³äamûäÁÍÌ}þ4$YßôùB4HÈËa*ØXm9i…Mσp%â˜Ôrr¨7@—>µ¶ž‚j“5Ö¯”Ð9ywJ†7™a½/ØøŽˆ· “HÃ’ A¸UŠ£3l<å—.^æf¥íIþ° ø—Ì6ïÉŸÃx,ª¾Bq'ç- ŒC?ÎÇÕ_$äÍžƒÃg¦Æ2¡û‘mÃÿ¡OX 6u;üЫ’ŸÐCm:aŠ=¡yš(ÌâùŸ“ÎÁT¥á„²é—"ãþA—1 ½¦$¨¢xd¯| øƒ¤gþžÚš¨Ã²±Ä;þCõ(?A`Af¾€>ëÿEèàf·cr³ëƒ(Æ «É*-B0­p²›p3]z¶HÓ.ßÙ2RI{Y–±…È3 ~º#´s ZKÚúÒàû#Æg׸—óè%Bn¥8‰‹Ì0Eh"a3äòÜÖiçм°˜T>ñð0ºÅv±I¯ä;n®n`ƒ“aƒDeÏÁÁ&Âúúnb{ ÿº%¥#×2ÕÞy„’#iòÌÚÍ9æð¶YÀ ¡Ö¿›5æøÀžÛš£Äêó§Ç¬–­»iƒ¶ä[ ¤ý±G7å;â_Ùx|©ï=sx–‡Ÿ­iM·&–Ú¶ 1®¬LÁ®k|’ŒÖÎ,{Fã¯ncÄA®Ëtg;;Kô uá³+òØÚ?Íiçú`Ì܇dºMâß)½(ý{Æ÷O ¸D¢ÙºÇ,?ßÒµ~Oyù¼žù#F!H¬T]¡ä¸4‰v†à#c çJv˜ùŸ x‡‚‹qépç¸Â¸LýI6(늹ÎÈNò’Ù°¸ŸÇh抠ÿ„Èâ–¡âb±%#!Þè+ÿfRFs›†ß½ü@4`­` E,óP%Vv!\ûPDÒEÂãûQ€~‰”´:‰|˶SiÏF$HÍ ! V¥·&O„íßÊžHÍÏ«­ÑG2uXáV‰¼kbeÁñ¤“ȶ@7d—(÷êØŸÑè]þXä¶Ü…U±ýLÔžà+ >l˜¤,½§BÝq¨½¬š_ÞÎDjnñpñúÎx|ü¬¨eF¤ÈÁAÕ[*NIP)%äÆu·ÿ0/Ö‘T =RŒ 1®dLæ¡Ë÷)ÿ~ª¢CÝ| K]Vg¨…rÙZápT©êu÷B4’ãkÞËd½ø2ìCXšpé©ý2訆A6å³[.­ÖœÒ‡÷]ìCÜ,;HÏ?÷k–ÊÓ²¿Ï)*ȸ¥°&ð^ì%–i@©G¥ÈaÓ=´K®+;¿þÒA74Ë-WXObo޼£ PJ`l)1‘ËÏfDŒ@"ÐfÈžj*ð´UŒÊ`цºWÎF)öôÃÂ;¤0°ÞoÇ“DÄ,'Çý öt@Æu0k 0œ‹Ëg/8F£>¡²4z„œŽt¹)ÐÖåù˜ÐGëG£MÑC÷µ:tJì\«ð'lo8Ti?ì&Ö»AHÔ-$J¬EcŠpû¨pp”>Ãè5‡9ˆ„tÿ{‰O!Š] -Yò8ÛÝxÐÍ:áÇ"x!‚®oX] Zùóóyî†@²»U–ÿ·¾³Åë²³íkÈLнu‡øÿÛ;Öõ®Çˆ E6!¿‘ÁO\¿]7… v¬šÊ^µlPãøuÜ™ !4$%U@ç…=h_ä«Ì±iÝcÉ©s¦Ý½¾Ýbíu!èЧ„”ÔÌÄÏi=›ï(‚,_V{%oÓ%îÄ–ìb¨Ú¥?q¸$Kt°m?6ôwwñϨ¨\uJäÀv+½Ê:á£-ˆ.ƒ³¹¦ðô±ó¢Ï+_ÌM¶CëûÅ—0¿Ø{u²n²1NßBøgIƒ2ÉöûK¦a%‹îÏHñ¼&;À‹À5lËãß5 ¸c·˜C;ß·øé…¢sN¶>]ÁU©ÊúFÉﯓ‚­a^'S¥;8Êak£È56!ã•F¾Bó77,Êö>\`’à·ëœFmÁMÏ/pfÕ˜_¬Áb ¸kºˆ@O§ºÃ­wÚþŒ _‘h~pnâ#Ñæ ¿Çÿ¢†$Ã`¯ÂØMÃÉ÷ÍÅÕËOïHY-*\Zìúò3~éí–/˜Å¼,ØF© dYëœá#“wÿŸ<±uò¿ŽB˜>)Áf~nP½¾žž²`σáK7ŸâÙâŸ/ä§±º“v;,¨êü VøQ¹¥™ºÄ—ÛVt“4œäÓú¦­dåEJâÓ9W#Ï=¼5âíÞ£ª$­Ó3¤5øÅ±õðkš(A}•S¥-(&×±7Ñ“J¥LÉtÙ‡ue2¢Aüí½kþÓæ ”f´ã%–KsdÐl¸Ò¦dw´–g;Åv‘*úÖÕZhÃZf†§Ÿú_Ðç%Äqg‹03ebË1΄I¶w݆'û¨fÔóüY ŽzQêµ'}•CƒÖž•CV1Ê샇Ôä:ë{-W’‰û €¥þ"czñÙ{ÂlóÁ‡±‹ ßȪårÇìºa›K`?¢\vÞk.S=¡G×`xJ6G#̾4ö`ÝEíl‡¯tIý›!sCQ#(ó~¡‘dB8Éß• vvø(ÃSa»ê¼ê¨ã`·cølh3чþK©³1×/`ׯ ëérøë¦È9&Æ_Ÿ7†8§ÍO×¥úÃÑ£Š]‰³ýöoÌXñ—$ö#VJœœcÛŒðÒQé5`ì8tÏÊ¥ë¢l‚8Y±XšäKðH›ʱPÊ9ïç ‹»ùÉ6–wè^=%{#tYçi÷®g;qÃw°§ñ²Ñ/P $òû³ißà/Íÿôý“…ê?"w­T"q}ˆIw:fÊ&DƒÔí¤6õ`Û«,Ue&±’2/D"ó€2—5Ìt¾à ¯ÖY ¦Ä’f™Z¥ïœ_È;Ó±¿‘:Õ롢ϓç“1ò®¶\ƒ8ÓW»]ù”Þ-]`ƈƵŽÏ/VЀöf˜@/ Ôyda‹ /B@+I‹¨¶Ü¤¼©’ü7]ÉñR0 …ŒÍæ$rÔ™MÞ1Hs{_ú5 ¿ÚMéLÞ•f¹d¬†áîÊdG,T Q{3M àKÁ•ó'39’{V*M†RTó*W¬Ž0åÚ>–}ª²©WØ8ˆÔF—@ñL‘Ûæ[×Þtè¼J>­“çˆy·}¹š}³´4¾g1: qo¯CÒ¥!¹\^x¹cðýSDà¹/2L¹ß'ýƒovÎ)`ZÄ|ßQuQÚô‰J}»xi:ªð30¯Üû õ]üýJé¿”—JÑá.{å"åò=6 L!“K’t‚¢"mØÞÃK…£º•¹ƒYÁ¼SðB©¿ÊmA˜ýâïåmëË)î‡Euѵ¢ƒñª]‰úNÕŽÿÎGàs/¦¡áÓ,ÑŒ0á¹R­ém “äψúA I NõTsRÚøìy4=:HÈ¢TžãrÕO<„×6C³¡ºqeîôÞ¬þÝQˆ ÉÔL-s Íç¯iO ™®“ÀÝeVzµ€T°6ŠvÙÙêűÜ!lMÔ“úÕÀb›TM š¥ri±Éô ï÷â{öà’]o†‰œ üëfðsmaÝëùeWV,„uÄÞVªŠ8±#J䀆çMÉÁ#> 5#æÞîß„°`4¹ÕÓîL`²ìÆY^`^WØJ§_Íõ.Wáb÷Âw×Ç­¤aî~‘z3šÀŠ{Œ5?²¹þBÙø!U2$µë@åôU£Cí#³’ý(ÚLòn²¼%sã[µØpíÚcŒÖ`WÖ”ë&ÅÃVzUü/ÊÀçûÓÓî¡5Ó×jj MDYýñ·m`V³‹sõ`öôX°Ž*Ð&uoÊ_ŽpGUŒµÌC ÑI¸ s% ónšócm>¿vበ±õ™Þ ·S°Õ¥8/Ê©yU ˜Ù¬¥\uLæ-IÅ øÞYZæŠMÉ«âí© „=Å„UCOÌ×.¥j÷2u x7½ä¦í=‘=΄¬—ÆH¡5ÐÏD½”BÂðyNzÌ£úÂø?ðÑzú+½K.œ…¥"˜‹ŽáÑ­zϹ þÿ‹Tð„ÂR(:?ÝûüÐøïB®y,ÐÞÓôg~mÔš°ú`êtc¶NÄð!}ŸæPcÄlÅ~@.Γ@2ô:þë ðÄ¢ ‡hο-¦üf0´ãpàÊ Äm÷Ék;V§ Uký¼÷¥ 4†J PöéØxøöP¾¢ 7Ð;b —ÕYÂöœîTµ÷smÚccV¡ä¢ þïJ3y“5zcøÎü¨`Ðù6l³Øa™xþ7Ö;JÐòð]¢ì®‘ªcÈ<qj6Ž!V`›v­1Û³3;T¬¯|h)¤óF¥o›)ÎTt=ËxA—'%Ÿ TX8 sÞƒøOÝü ÐHÀ,׬ä¨t®ÍÏHÊÙ#"±ÿîO“ýÉßÏýBÚ©Ï"ïC›½ù½ìÐ^b0+Jz ¥N½…s_:£Ú‹û» ä@Æ)EZI8+kéUʯ\Ú×EÐü*Á¤ ž™ˆC˜E“!Ò÷~Ù.¿aŠòÖ7ù÷áÄcú´Â¥©“L¯”‹B¬›1¥GÖQ7.? ×1ô«¡nÕÜù¦ÏtÃúHs£+ ›Ÿ¡²¶ó° ¯Û7ö±¢[ÛßVÊ€Û³/Þü^¬¾ÏâûëÚ%‰éª0ñèÄÛIÑwÆ×{Á˜0 ä^Š¥:÷‘V| tÕ>\Hµ7BãÒ±«˜Õv™!MÌßBqåVüN¬©~mFi>Û¬…"?åÝzU­Q[ÕŸÎ×ÊTöQo»³¬¦eÛàNÂÈNž‡à&ysB3¤7¨Æ’" 岕q6Ï}8k3,r~Ûñ¸(ã¿âu4²'x³[C*j«%QItñœrð¼i3Ø¿W24n;@S#À[ŽJ5Bàʾ«|%:†Äaíï¢õ’þg¼2sQ»†Æ) ¹KÙhíT »hÑ0çïD7=ëN‚ÎÝÅåž—ýmˆïD üB¼…#jfù+¹O£-&}ÆTãº/+è—°CbÁ}$kKõkNÿ™bòªÜ¼Ó„ÐßkÏB*Ca?»šÀ© sÇZ„®¹#ÖÊï[ªìxÖS­•;·"è½·aÀžL½°;ÓŸåÚñ)”m=ÂMÀ]š/x=LGèàûê€V‚©  >k}äžÔ/¤Ï\ ÊÄ5­ŸµJ edŸœÞª*x±òhÁÑA÷âþzçuy»äŸhy`Â3&øn){àR#dž£ó6\'Yi¾¾ÚCœÿöúh1Ñ«ãݲ*´ìà+ï[AîÂâm”B`‡…,³é\;¼9âÂ(%»F¥¢kÝqa ¤@ÅÌ$ ¡^«L‹ïžÂ§O*ñM”õL;ð¤P7=ÀM³ó똒OЦÖ0XüøËÝzêœDÈǹÔò Þ§6´Á´KÂU%ŽiœZuÅ&A×S}éäÅ› Rï8Ñþ ¿é§¬Ñ~uè¥.7L¤<ët§$93´ƒEÉ?ñÿWç±Ùú þÝ¢vk©õ†°´|€ô—ŠôÁà]PÜ[Ë×1µH¦ˆAVU¯)•ÎBSX­å£1ƒgäÜvÂ-ÖD#Zä+/“ç™Ï ø¦fhv¶˜Mò+ŸÓg¤UjŸ® 4 ž Xá6òåÄôøY¦n|¬š 糚Àu.%œ[znÜï§á©díìþÕº:å÷°¤µ 2ÄÃÊ¥‹ß‰’q>Xú¤±)±ÌýÉ´:Ò3I^œŸ8´4¢ëá³H{ÎÌçPèf³äs7|f¬H<ÿ¤EƒR<]x=°Ÿ“ÝM˜™é®”ùÜoWM` Gd""}ôÁË‘o$Pìûþmò’è]žWñ‚ÿ7(ÿQ»{QµDζ,+èb߈ÑH3D×";z÷æ–À2Åyø$.·¸Y[*=R§ ›:Ä<$¸qÜTüq¢‹ô˜¶¨Sõñß« ¡–rœ©É5&%!€RnýøîÚ0騹Be”ñúø…H$æÿ}Îv@ªdHL¢ŒaBò³ê¯xæ~—Ev‹÷:/ztéàÏzwåeÏ2ÒMïHèî˜Í/·iòÄÈ´ÑH™#¶9¶ïu%LV€…gám(¤iϱÐç𪙀ݘI®+#ä¡tÃÇâ}#žbÄ?ˆ‘)¦‘²”-íG’:#RÛ pÔà˜ô-ÞÎŽÄ‚ï À”°ñ –Ñë©)®h0Ðq`†÷˜—}ø£ ìOñgç#ƒe·¶‰Ý®¦U!Ðwu¢",CÀ¯"õ~©šÙdQsZÛ<¢ôù*œ9k£à³‡-ä˜f;ó2{¸Y†dkªÌQÏ¥?B!³ ‚|òŒs¾{îý«„¬aÁ‹Ô;ôµöj’¼ž±ô9ÛÍb¤¢ Œ“ÉyJÁšÃÝãLP<Ð3p·-(Ý7},]ŒE`pFPz2Ÿ\ŸëÛ-OÑ`y!¶[çÞ·ÑS=`]ýí_5ùÙï?O0n(RXyÝÎâvcû€HVDì©Æ#9†oâMÄ œ9IîÉÁãp!/Oz„(L6Oš¸µfšûƤ¹# *ARc‹-ƬzUJ÷O ö¥QÆ\hpVZñy‚iÐ"¯èA³8f¯Ÿª¡Íì¸$J{L'ZZ¨‘8Åt‘Ìy­V2 ÿKlT×" j4 Ùò"3"³”P‰Øi›EŒ\Csð˜§Jž1›bŠ\ï ›SRò‰ús’ÝÁªr/—š|Œ%ý0v_Aqš`lq››Ëz|?Ì 1 !~vÐÍwvht¬be¶ªb›3{¯ŽÆÛA@H¬8d嶸bŸ£ˆóƒNEU¥2½%^v _R«°ªL¼iu,ó“öè;ãu…¶ý^ÒaÞ'€¹:ÞEÄeÈî‡FÄH!w¸K黈x¼¾ ¹HeV¼þíÜdµ‰Ätìy?uõÓjѵÍùòr’HjçØVí27ŸiþZ²½©‰Kèu—FEòXÌàƒ'¼¶ìmÍËRCd„°û0Ð!Z*I’Ÿ8ÿ 3DņÄ™€ƒ_¯*îLi$Ðék^ §ˆÓÞ`­#ó¼·F"&´V©x€DD­3C:šïöù‡c’Ær¤B•ÄnЙֿ3{+¥æ)o‡u¬EXâLå‡ûMV›®_ýGà…Ž8oße®´ à~BËhqQ´sž~ÅÐ׆,ÌcšD¿Q±ä "4àÐòËô·šŽC´%¦]ÜÙË7ˆL pÜlªWµÐ/sØè~?‡ƒkø¬þ)ñO‡-?V#»BF2›WYۛ©>]ú/2U¿ù.âè›ÿ©î9x'«ùó5oªT×à "¢·Œ žh1ôè¦ fN„—Ôn9P‘Pä­™>öL ŒøR“¾Yžê­ÒõÓÔ6>¾­µòýš<ß\kóÝO¹¿93ôí¾Þ½øƒ\FSßlöÁõØÁŠVP´“%þZûµjt Ð(3=m,¡à5p|Qø È^ºÑé:/i´¼'Èš¤¾öTêÌRU ÆÁcõ¦kxÙ#pEº»O˜@Ð1`'ÑZÌü¼AðA Içë9€cÙ¤•…uKR4MSÑ+/dÝm¬#wjàè$/×hK±Š¢²AÇßäôˆÇO="M²°Zòðótkqqв˜ìÆ‚S‘»; ])Ñ‚íƒ ±W§°‰=ÅåünàëY±Nx“‹³¨ýœÅt)ìK'ŒD6?À(؉ùo4ö4ºMcŠÈ³½P%ï—àù(ÆÚ'Wì• ,F†ì&¢ù€DÀ•—æÀŸž¼…|±&ˆbë Ÿ²lå£âh ¨u$Y`ÂG'û<J´¹;Ý6âDÃW=z!Eû›”Í,¯½(ë *#”/¿çë”kÏÀS­L8ºÊ=î¿tÄÉú¿“¦mããž27¡Ç!ðò9ªÉwO÷ü¥ø5c 7äJc…K4×"—e \ԥ얰bd#)‘N§)êú-…®]T%~`D®7ù×¹¤&†»¢(r:ùg’›­Ë º€×3…œCBu«nKió]sdzFØbÓ(ƒyÍI©TZ0.YXQÖš/ ¹c¡y.oÍE``€„Ÿ\g_ûÉ(û0H’¡®77äpyLœ‡Z&ê%ñrNßL&Ó¥¦Ij.k)Ñ~ˆnä¿V²‹V¼ËÏôÙœÊ.W»ÆdûvÊBj œëO`†FB¤ž.ë˜3< û´^›îûf÷5IK@.É+9ë—Õi™VP»EyÁŽÅ!çqûªK°fy®E8¸é×—8¸•n|î”3:ÁÝîßZ4ÆY?˜ÉÁ­\JQœt´1–+ÍÍ®¸;‡‘Fhëæø“è;ݵEòNÌÍ…!Ôˆ}eøže_!÷yµÖ:zo…«©Í?· a6ã ³tÑ)w7f…qF Ú¨2C>;pœ+U~·[ë*:#xQA‚W¯ÊkûÞ9ƒ°·æÎXbJ_]mµ])¸ÇðÓãXF´"#„€ëd6T–6¯‰ÌÛ× ²Ñg3àò [{3«òfý¡ÝIÏ(MÒ;ññ¯an†½w6Y×8 ¨Tþ¨þJ… á²GCF¾÷cËs|ÆÛŸ,6©ð¾ +ÔþT;é%Cƒ{+ÕÍ'9<Ä$ª^“Šß„H¹š}ilu˜ åðJÐi•bVðØn\!|}þZ]Äâ+'ÿyþ»ÀŸÐáË·¥ÈfvX#ŸÞÌBâ ðèa­SøËVU®$µ$:@S–Ÿño{-ç œ(ÉÕQ¯* › öÖ?Ü—o’Åêë€pk]·]Ì^ϼÁê†Ûk8éí‡ô&:ÈâÜzʸîÉL”Ô÷ó¢ËÌv×*]7€Y<;Y¢ŒfÐ];íêc ô3šgLaã‹HØP]þå_h&\ùµ½¯•×Y\ ú£. þhQHc«Ý™^þx?<ÌB4,ͦa¥¨¡ïHÆã +õûw^Y¾ }Aß*+¼‘WßÎOšŒ< šú§– Ý4oµux&x`5ÏRI¬ë–‚Þ÷1aD€Î$uég€^ðp%]±/-z4xÊÀò£AÙÕšží8>9¨ú¿åh@£¢ÒvKÙ.LÎ/–åadÄ~•0k ¥N‰X`qã¨^¿Àª7B¦õ cˆ1üèíšÅ/mp8!=*x¢âð9uÃÝ“ÞòC˜“«®•& [ÈWí·.ó÷0Þ8ð ë°?^ú …`[0¸78-Š*ã7½gÐ*æ+©ÜÉ>îÉÁ¼ÃëÖ Úw"+9•¨M矪‹WÕQЍèPx^}¬YÊÖ(š]ÓA5m¶;â,Œ `ƒª"‡ZÏa(y-+çhh:½í"5ß ^ÚªOk?RÕØQ;÷;ßç¿ì˜Ûo)R%bg$ (ÚH,¢@Ji(½»dõ—µ`ÖU/IŠH6âŒk1ùâX~mðO‹dç9ð†þœ!Š©rý'럚\Ë 1LBˆ Ö]>xVÕZmú¶´Ê!XÄ’C<ÒvšÍ…¿Úñfµô}¥ òWÍÌ8z¹%´±§<")Þ™S÷Á´ATm~#èŽ|]뱫`1ì4!‚5Êf—µðº¶iO¿f-Ô£úã5ºÉº Í>þæýtC+½EU„Q© êß+¨»ð­Å‹S$šyUi‡€ôﳇ¦K-ˆQ` =ë¾´µT\FçË6:¿ ”Æ×jª:}s=¯àqå4¥'¡˜ùÿA›aaŠ^~y»äÝF¼b«½]ãÀÄünFP4Ê„‘]Påß ’¤ëÌ?¶öSpú3n‡‹zBHôð ÐRÞ¶ ò¦*mR·p‚¿Ôéè\›%ö»7 JºYüU4w½°v¿ Äl/ÝŠçxgº Å <þ6\ð€w&¾¸@:E"~ßXM™Ü ¿GǪÀeDÅÄØ(Ú€ú­÷ÀÃ0‰þñ„lLÀ&¸˜<¤¹2Tßw¥gwö âý±¸ZëÂ`Úö­Áº¥áz5H¸E^]öíôÜʪkÞñûLUÏYF&|VùçÄÝò \XGW †ÑÿŸÜPÑ!µÌ—dòY“NêÏ8JŒà5¹´ë0)€ý䡇½µa/ø&e†¾Ü)C´ ðù"½¶Â!ðâÑ…ûSSYv&}9¡î `~ì"²ú#ø2$§(‚ÉžÑéŽ7N²X‘ñX yðÃô•±4ù²œé`^Ž®ñdú×›yvÛ¾Ë7¿3ÞáÍŒŒN©F^w¼9³uT_nâXņ®/­=oz}L§j¨*§ÏŠéè?V\¬Š*hLcRKïù¬¬fg"B žmkùëN<Èœ¾—£þÉ_·œM×5:W:• •ÒEègŽ•rf òÆÞŽ+@é!PV;#%5‚²JÆ"Fs•` H‚¸±e/+è7ò‡A¼E†<1ZúNu]WêÀɼØÒ4RÈ<Ž2äÇ©ðs)™vQšyí¦ï€­¢¯{ª&†cõ•Žƒ˜D/|p{h$·_¾všœ·O£µÒó'áæ?Ò-Ú} ±‰c)ÓT öÐ;Xæ@›hxo™l—ÏC¶òS¬æ$yÁœ×“ îKg!Áæ,¾æÏvv•õ\⤼¹/"P€…ªZàƒs驈¢KzLŽëZŸtç¤ìÂ(s,ÒYq'H€þúíëDóUÂ4!£Ý,b"ϘZkTƒÿrõ¡q“ü ð<Œ,m:ÃZˆµÈ‹%VÌ>½Ë‰O„Wkô^ü)zq³QWÖ|h&è¥ùÙ×9üVõ¢jlë"¨˜l€ÍŒw{b?‘κ¦w’LïR¾œˆOŠï~Kï¶{ƒ®/‹=+! Ÿ¶•?uº¡Ê=8ݪQqW›T`%D,FSq¨º/'˜?äÊè‡S{S87“¹ŠŸ*\^YÏè“‚ ¯5#4°ScñóÑDIû–z$}¸žSùrƒèn…Sk¤ùlÆç@ÛÝ fÓ´û߭ƨ·Wî§÷"ºm@ Ú͆ôoúÚVÙ‘1…]7³’§WGáuf¶¬Ø—¾žfï;RDöl©N+KÄÈeéxk>Á¥®CˆÕ€#– òLQÀñ^O8­#µííjÔ(}Ý—¹b[Âp™;Ù3_rˆÒ»þ÷„Ðܘ‘íý¨¡‰íÁ gË û’ÍÃ@ìmwƾÚ-‚(œÈ±±tÓŽ•¦VXa=>NŠ\ò×µ–hÙã%Þ‡Ö~‘ßlÌWrÁ¯1ND6Jæèä̆X÷HWŽ"8rò0b>|¨(t擦BµB u²7Ã&µL=?º{Õ†àKʶ!)®Y®pÙs“ ²Á&ÃLžW×é-ÑñVÓñ`bUw¹zѪö*¥ïQœ(©k壽#%ZEêLl Uê]Im+šp ™¾àç–v†ÛF0•2¦=T¸‘×Öu˜˜¯Ú#JíöÄù i)×Mw‹Í$Þi¤¥/-17`KŠ4át-ÑÿËUN“ÕRÖtշŸEÿ£o—µ fûV¿ô(aל‘‹Î¾°ÂòX1•ÌÕ±#X4‰Bc³F/)•u¾¦ ‹¿áEòߥÂý²¼QòÆ.»‡Ç“:5®G¿ÅQÃqáàƒ,=¾)ŽŒ>Ë]ŸÞÔ~x".Ø@ìÑ™åÌ78OUî eÌjü`=óB‡{iñÏ 9´,Çš±ñ02‘+z£/ß_îÐŒ”ZÍXÊ¢nºjÏ«{¾À¥\â®N‰¾<.ÿï¯[¼z¿»Þ¢º ÷뢶 V ¸ þký $¢bIeœ&œ'c&n¢MHi”ìËék°7pLŸ¯·fÙ&'ñQD‚TsgI êÍvŒ€.ßÛ†„šÅź4›•PZȲըê Þ4RÍ­bþÂXæØîö¢Ù«aýÞüi­úñek©£ϲÏ4…ÐbêXýJEãHY€Ž±t(Ï[QèDÀßÒ¦³‡m¿vÚˆ4^ÿ%Î90©)kØ(çÇ" 8XL1‘ Šø ƒŽ+*´®ü3Pc sJï`´hüÄ™Bg$©&Ö9}ÉBªZ¨‘žH“-ï•}Š»ôn0f šJ²p>Îí›ÖÊ*™K– AS6£¯§DÅ\@àÍ+3$l×Z¹¤†©ìypæ·bÆ-“Å€òpf}fË·™²p“-ÎÌ^|P…vŽ>ßh3e8ùÉßYë³B*­0Ú¿#g¸ÈÍqÀT·1‚žs(ŒÒVL6Óùñp¼²?ãõõ&m=&ƒ¹ÝVr€J¦´,®Ó Ÿøøm2ŠÅBûfâüVÿL°¢y„PM¡±ÐŠŸ£v(ê¸ÌswOº–áÒ:–x;î±Ì?«¶¶lZ“¿u‡·Iq9äÍ&%P_Ë‘õºA99-Ü:yÔidŒÕ*×ÛA@‘W¤ÃQaDœœÇ}Úï,FšßKk;œFõYÊŒxrh²ž‹!k ´óœM"sø…%Zذ™ø‹é¤†[Vcs`µk2•Ø ‡ÜMýÓ4 …¹:?ƒÜbẻԃ:DIXëp@|-S„ù[ÅûtÁÂWA1£áüÙeú½ë§F~_NF{!qoÙjNKº+ÃÏžÒ»÷RïeB,õ¢æl 4›‚öÖÑïÛC9ô¨a!Ô0ýîÓ½Jca(7á|4¸ø ÐQýDfÉÃNíU¾ò" Æ!EŠü‡!x¥úaÅ„0[á%ùùîß>’²XÌ` Ú0rÉLIûTÝ ÂZ;¬ƒ ‡eú†›lýÐÀ[—Sfí.T:§}@\‡Ž:§ì;Ö_šHwoÑãŸÖQ…%èøãüWƒú^ñ‹Eo}ëåt[ü-ÐCÏy_oøÇ'†•€‘ü|:Ïì3²ÆZ/= º2^(Eiéû$ñƒqy*-zÖΑE¶y·äÈEäçÈï!¬7HNŽœ»•=•oøhägÁNx]„+6Š&R×pR/àýpׯ+ ã›™k2å3Ëà«>~MÞ~Ö nˆšô%È’ý j·Æ°] C2f]C» æ˜;9ðñn TÛô cæfédC¤ÖSRÀƒ0ÚÄÐ\5³âv“yÀ»uSfMú‘c‰U)îwA"8Ðá=\E´ƒlጪ&ÿ"ý_Ê\%¯?‹8º¨ùAHô€/Øh˜uÑMîqT1 {yv¬Ø¿²> jêu$úªSc+ïCn«ª¢E}Éj…ùÃóiŽItû„ â¾úË#ª¼ÙLGQ²2kôöty¡ãþX ¢¸D3 Éb¯zá…ûïÁ•Å‚¿îGÁå«ÑMÃtÖvã¾óŸìáìp¤Š\Ž„í0«[Þç ŸÓ–z,üའ۬µq{2»ÌX´aþüÄk$µò¹ Ö%„v¶]вÚ¹Ù70 ‘s¢Ò¤;Ø|‰ª-öëáø×’w7‰ëºÖZNྎ:] / ñFŽpQcHõ®vþ]hÈû †ÒH¢Á‘˜‡ä¼}ß5JK¸ GUÄýpŽ!oÞ™JONâÖM½3 ¼Ãè#Ò »rÃèõ%MÔ¸©Îv¶³s%W˜'’ÙôªÉÌraï7„A½ï¨É³º%Haï·Duãš:Ÿx•>gikY%Ñ<%ù—¤îVÊÐtØÑ”[¡Û0§ÃjdÄhtåùIÊh@ú_Åqذü" $¡û ÝX±•jÁ@ËhÓ € ¸úmOäø7û“¾p*D©ø`u|…3¼ÍƒfgÛÍuQÂeÊ˾ y§äIÀH4“'•÷ç“ýþI¶vO/–²K£¸¡œ5ݦøÂ*Óƒ•>uäøIyêM“§&¾]žrR[ûûT~x#®â}m¾ØüîGÑ8ûÝ`o{>4«|cL´¼BÀ*ŸW@P ©5¦Œ$[º¯ég´òÙ»œ‡L‘n`«IA›‰!‡GL‘ÛY¨uÙVZ'¶tÀŽHæ‰ÄèPå7ÜN}ãlúKÖCÑ®Sê œØ‚÷Rò[? î}ÿ³Éƒ]ãm(ÌÞBG¶–ܤgÜc¨f›ÀÊüK Ö–G”0J\˜/ôµt /¿pÝóWÝâýç‡LWëJZ…ùV ±4›v JªÓH2ΰà½ðÌ Z-Õ?´ Óº©Û-ì)»Ê¼Ñ%꺛ø¨ÕÔRùä.ÕËò{6(‚3qqjy±A93LÞÃ&/'0ªtÉ«ªgÝ7¾:-ü0©ãPY0ª*íT¿xö3éŽxz[³Ò:Û•?6ƒ§¬ßµr,Øæ/—+c@kÈ+ 󨹽d>?#s?!UO~ž{F§TÆköÓuÞkxÙ¨—ª±§4»¾¬(5p+˜Z¼ª;]@´©Oº‘#§â¿_Z`tv7ˆÉ£c×û ¢‘0•ïãmXAü8Š>zåÇ"#’a&1b»X@¼x£÷ÙÏ·6ZëͯŒ' 7PâÏ#¡ÃåB‘7ÕñˆXuVy#úï|£q¹X÷•l4S~htd Vx/)k–§½°Ÿ§É²i+!“îP®ZŽÛqbµÏÜÀ?‰fi;Ûi̓-­ùíÜ2o­Ç'ˆ«Bué‘vÌ&9Û>²uÒu™ó˜.òd–œC&ç„íwßÌáZìb‹¾é™:©1â´“ƒHmËWŒ ‰ØgÉ0›8œß|î'`[ù¤]Å%å@!çhõÚ<ðPl\WV\yúT€9ϧºRSüd‰Râ óããdš¹ƒ3ÇKjNKÐg?bx¼s(‹Võ\íÌÎךz³ŠW÷®;ø2_prÕ÷$–†TÕgT1~RëÁâãЗš7t·‚´©½§¹âÿñ,ª‰>W¼Í"ÈÄëC©4áÑc@Q +q‘”—š^`‘QÉRñ#oáZP1N$ZÔ'1&ûx€½Ùû fˆ¬‡åèbæß*9ÏŽ£ßQß3¯¹Y3®sä"ÄY©¦û¤¼ KÃð~)"™Ö?8ó˜K&js¸ù¢TA-o^ œ‡ Ì÷œ(ð“n–´ôiÝV ¹7n8 ƒ°N©u©…"MX¬×=ñ.èì«zXŸ ˆà*ð ;¡wàßrb ÈRѸCîæ—ø§ÕÿlÍ‹{&dÈÕþQlHn¸ílÅØgü’|ð,×ÿ±+ãðâ-r&ú7ösªCœ*Efxû)2\^ð\4 &3ÄÖ]ÖŒB%%‚_VJœŒoßDf'wYðÊŠë.*E(…Šüÿ#”yØ]—ôaií±¨±œQv ßéæÞÀdñk+…˜ÆkHÓ¯P*á0Uü‡ì»†å{IxmÓ| JìÇÇÓyìƒPO&#$ö WWœ˜C5+‚ ²7$N5)ƒòŽ„T„ðÝ ^wÆpCÚneÜ{Qàˆn‘ê{©ïPé¯2Â70Upùs£JH‹¼·È“û*ÉÆ“¤ÆJ°­ó«mÄyÚ{¡÷)Ó…ˆír÷v9ávgN(jNCkI[›âœæ)+•{ò•¯g×¾Dº boc†ï‹Š˜aaÔæ˜:T­-‹Ý/Ï!ßÏ—Íñé˜)¯rÿ”ÂöÈrVGÅ6$r[\`âל6Éê~`eê%¯)’"ÇémæFÞLîiR»®Ý·¿¤åw MG²$Mdöv¸ñÎêBó¨ÚÔ–[v·T}_VÕ‘=Üš½ ¡0è; ¸› y=4gh…Q†–Ç1ÿ›<‚=õl¹Ý )ªÕ4gÂ#‚86ðü7< vßg°B yσ£àrÒíˆíŸR C^‡W»”Ù¤ŽÌ7ô»…c”H¼ü¹´\¤±'AÕp›Xò¨½á'YÞ9 Tˆ5¬ÝG¿ìöYDýL<¶2å<¬ZŸæ¼¨Š`Q•R„ö]pò`;,¼9…^5ܼ¯îu)¬›ùÓv-ühâŸ9˲)„h,™[©ò̯œÂ-ñÑGÜÊ4Ä =P«_¾ñAá‹—£ì‘ä_por ·Ï–‡Jï¡àC“l:_ÄW?líç)<ŸÙV}%ÿ ÄÝõÆŸTôÍmñ[î“Ë!.Èq8P6}érŘ“bä*8Ò%¡@¸µ°|èTúòS„îS“”h‹èWË¡$I :X%•Úsðd1'%¬[¤`)“àž9uZÿ1îâ­®ž,Ú@“»ÅƒMÁ !Úutk×+ÅÂ*ô·TU¶N@ K1vh3ü(ØEçJPbìÖb°Y¸TÕ·´ÑßÀÿj°7Á1Ü¡‡¢iìÚQ¤M7Å`' ÌÚÏq3d [P7Ÿå;žIŒäÙ©-©éû’1 Y©êo,è¼Ûì†âÁEFEð«cãe;2WóXw»¾r© s©+D&Ì!|•Z_¯Í3ÒôñgpÕe±³ åL¢×èD©VõVmoø¥J($ÆË•åêÔ•[ï»À´’uä6¢_ç&oÉæ9À¦À˜Ÿ]ÀŠrk¯9å ’šÐfÑ}øí·oµ©Y× ´bäs…ZVñJBì½AÚþ6 ~\óW,_Œ<ëyt|çâ-ðìZCöÖââËÉ•-G`ƒàä*×á&HqB‚ªáömaéOîÁ—ÞçŒ[õ¹íÄq‘ü׉SÚi¾o/ûʶ°CbìðDºëø±°Å¢PÖ“F¥qfÔµë™&ÁfîÀFA'Ù Ëìü£87ÝwÒêÀÁ$Þï-PÇS##‘íð@7¯C9¢B–ûènƒRŽúÐs¢˜ÈW žÕZ3ÁPú—ÖŒO²lA,5ªá×vW¾Ç…À·á£ÆÛ@N±^Ž:ó.Žbñˆ@ç ¹$R'H 0äÃØõÓéO;_2­ª©(ã-úU¨X•ñWmAvCfƒ‡°-£ÖiXñ€`°Å_í¦qŠiÒ*ðøy°îe(¼A/© í ¯*Ë@ÐØüµmÈ„™~ú…7Cvö¡‚0Â1ð6ææ>_›Øh:Ä\BšÏšûµ2c–÷i‡xÍ‹Q”ÌMe„QsŒÉŒ arÅâÓº–³öHXøÒ2D-iWx“£®üÎõ°³$—\F\ë+‡- jùðϳ- ó¤ÜgG?ÍàÝ¡F [r"úÍG5…ûý¬‹àÔ_í_à}|©õ¿‘²3iRjf}à)²x(FŃI’®é‹ûÇ|¼ÃPù‹êÛ‹^3QqûÔá…ÖdÀÆÁ©O€…LÞá_slŸt¡–„ÂIЩ0ëPXvλ-Œ¥Õ£ †½ð6S9cô~l]OÂÏv O‚*nâ½ÐkÖ ˆ¢šˆª7ž{­Ê.¼t»Çù»§g$qCTH×ÿUËÌ®"TW¬œW·k!4já·×©~»+¨·¦h HJž· EîkTÝáëªgÛL²JFßÏi¾ù> dèK„1Š æù^˜xÑ¡°@âX²æ[• Ý<a@U•NáÍå<‡‚ä§hP>˜Ú±>˜›íz7›´}Û“¼þPûDã~ù{œpΤnå³Ú»šÁk‡Á1.„/6ü–¼" ¨$v¿7¬äíúRæl–Öm|ß‘2Oº¶p›úIÝ^!¡V>¶"#‰Šðz—§¼ÿò”ÜTX&Ðv1ÅbrÓäM @ %U†Š%'Mã°årÝù÷ü»@˪¾xÌQ‰iòæ£LD;{ö07+mµ#ñ¢ 㦠=mU¯îX0h…^Húƒ—ŽFñ™Äž?ÛC¥òŽ0¼$.z§­@´|yÄÑA U +Ìù]~Ç ”yXŠýOSs')Ce˜ˆ,?-a¶i—þë¼ÕìñÉ Et1ÓjΊN’ßœ·òRûª‚³aÕIæu6ë"ª{æÜ­%Î/›-¤‰±m©ªº9 ©Ù ®/UÊ©¡´©'U„y˜5 éÍüÁ•¸¹á‹ç‚©üCÑR)÷RæÊwß_0ø`°©RTrDžŸ¦¨Ò¸Ç²§—+’&­¦vù1*´)æ™Im:ø™é³»HS%ÍRgŸN…kñÃFT—†½blbp=Uçof]ăZ¶ío žó Aþ¸Œ šÐm¿(³ÙÌnn‘è¥jΩVcTö?¯./|>µáÓó‹ëe†sp×ÇùWñà™¸u»6vcXžuML¥EØ„† ,ûLj~áñ-Q%½§¶ÈzÜÞ—â«·r¢ÊI÷ܬwRn´c?® ¦LE”UäFª¹úÒJ„€×ŽåsWâÈÌñß"ˆ¶ÙWkËó…¢’¡ë¾¶+)Äõ¤¼ÊSâÈîJwÍ\‘çÝPæü7®B y^4X óu:fÛåÔ¼µOÍ´¹Î»Ì-Ÿ 7JÕUTÂÇD4ä–»/–àÞÝ )19­¼Ž©Bk[Æ?„ÅÜ1PI‘[¶wõ»?µ‘®ï.®DýRÆÁlÖ £ýëcªŒ›¶>ÔXx²Èˆƒ6/ßf%ƒ<Ý m<„xka™‹hg‡µ÷c»ÜºÎ gAý؈v+;´è|ŒkJh³ŽÒ‚ïáO|׉ò¾ÞNÔ´Qµ—ÖÔôK„–$ 2{Ö&å¸,^pÐEÅ‘o®†á‹“$„­ÄÜRÏí÷é'¿¢ë­ëÍÂÞXb‰œ>Êó7²|1–-3x)õÓBÕ:²™,DæBwNâòÒÕYýžaˆ£màJ@Ûø2hü* q£z~"°×ÉØ¤Á? êÌ«˜ôµåWôÈbqÉ€ÕŸÞ¡wÌáÃyøðKúg‹XŽd_DZÁˆ*¡ÿ5s!†NRdéTÄ©š[¾ÞL4D,åR/’fý¬†üXDsLðÄwƒ9‘c÷uV·¿F ô‘É ”®‹Ø¦)D–¯9–ÏdìÁ¹ÿ7‹+6ÏôHo{j¹ª<Ð\–.H÷ù«ë æ.vÇ~”s“Å·ãSÓ}ps 0p¡J1°(*.KCj‘¹ë U2[^ŠfƒhaVëc÷éÏNÆêcß Xfbð®ýO°Xf‡õ3Exû‡ƒž*Dyï9òIà÷ðL!ã &ˆd¬ÁéiX×—œVvÜš52މ ßë¬IÿÐæòå´>Úήa2˜MKxr ¶AsP{aEp›ææ Š\5JOtÆ^]Ì ?:Fó:Adˆ»=OÕi¬:-’ÅÀÛœ!”†ÛB[{ã{O(úcxLå:•eGçemØxxš8ë³ú >,l†K† e§t£3Œfä7)‰êîâÄ–ÿTÉ‹;˜µ·¹¢‘{3þ Ó½ÑR` ‘Àz˲…0ƒÿÁÁÉYƒ†ÐÛGpóL‰ÌSÉÉñ [˜?:ýû?>O€$´rv«.ÅÁÊ$¦Õ©XÔ]­â¸AµÔ8™û™uP¸ôrÉ qU íOEzUÃ1þ÷56˪²nE‰ïkh¾¬g\( Ϩ•Pû£¯–ëÔÀ`­Mà 0j…Ñú†Sb¥áÂtáÓ Iä£Â€iE£%Çd©ß/. U €fž»J{¹ðÛࢳÉú÷œ|g4¿µȇCSs¬Uf®YzGØx³"!„Áiª¿ï¿¡Ÿ®U$A+Å,¾ ™ä‘—ùaAZ¤ûD Œ³ÑlŸ¿’x´ˆŒíþøÈJJwn)b–«¨yïÿ=9Ãxq“‚âQ»-=ݽê|ªjJ{à<Ч‚SÏ´½ž™/ÈN;ä)d¯¯-n¤Q…l+¶€& 4åè÷X$gd=Q0€†çr‡Gáé “L¸'˜ú"ž$"…û§™HP“Žb  #ŠÀ#5ë¡Òö‚w=PÕb“•ké2e«WZ ìÀ¦€Ÿ„{^éF@‘[x©mPÀGCÙÈAÿ,WØŠ¼_LÊ•Èõz˜5ÿ0ë­Q®;ü߆ÖV$5ÃŽf‰ k†u ÊK¦Ž{ææåÄ-’÷OÏÏíÅ«"á[Ö> UŠRÉ«…ìMk¯‰†Àð°aOÒ>Õì°ÖMûj7ô Xd¢}FU e-> F7¤›¢Ø+QTØ8sü–ÝrÚPõ@"†‘\Žjê$®,¤i×MƒÀfÖ@y½db÷-:Ôÿ ¢iò›Òµ^;E»½4†þj«n6B'¤ÂȨµ&®3ËË‹qÈÜÛlÝ·åÿ(„Egx, n|‡Õ®ÓG‹«Ex Tu6GXÍÍž@J‚ƒÚ 'ʇÅÁÈâ?® >·í÷& qXìüy}Š{šR%ö!ñÌõ” gu£)RWO4­70òv7„ÍY f_†&{£ÖRB'³iÙëß©-£ÄZ›0YÆš_`ÃÛÀÙ@þwö•ˆ¼àU.”œq˜’õæRcIm-úßù‡Õ=ú uŒN «0õo‘¡t}ÈlrØ1,GŒk³ðMêäù'¾ú;”×uÚŸ…eÔ1ŸÀÏ+Ê€X¯¹ó˜Ôøµë%-¯#­HEu4Ârb¬Àw)ºn±]ãà\d&0X&¿xîßd Á1>«Ea du&_»x?yáÓú‡Â‚¨‘YÔôÁÔoñ;.ƽv:Èýü\øÐ ®¹˜Í‰«¨æÓÕMã6T¦ï|¡†€«šÿu=fô}CJâÐÆÐ-š#Q½TGƒúÿGßÄL'êgOϋĆ)MÍšR§¾Áä·‹ZƒDìp*»‰ô7gD¬ r1M )Úñuyq¼RÈåÞ»±‘ Ha;RÁüݾ”‡PßÿÚÕ‡# ÖÅQÅ[|Õ¢  Xóù7ö§DŽªÇHög4)k¢ö{ ÌMø¢‚²Õj:pS´%ÇR\ñ¯iGr]­%±½ÕHˆaì|ûxRÐÇéo\†ô¬h€•tÌ=ú Ž8ècìõÞûK»L\59#]‹®ý^p±jÓ.ý˜R^óПŠ`ÇDÀÌúyÍ,ŽÌ3+âÄ7º&ÈZjúnRÞS~ÉN’:”ìzs.9ŽiÂFÓ\îzTìd@‡Í³±>Šy”C£ú±|Òåh×¥šûŸžÀñߧޏ7seéývûÏÆ×s+†ný¦£ûÙtBâ噬’ÇŽiyO©-Z•fR†aK¶(NŸT+‹ÚÂÉ'a¶+LO7 \®â^§ÆÖ| p HM·ðJv”>xůW^0:™¤¯åÍÅàA&\ 1£ò©Çw|·_ün˜Yó+œíæÍgâÓƒ{âwSW×ÜÍ„¸8"o¼ÁKŠù|Ã|Ð0…y¦GX2QÓî.FC×HÍ„ “}Š›Îh0Ôßðq(Ãî2·YŸŽZ1‡ìPF·ÍÙ¢kÙÞ£ÊÒ3w}QÇ-&8 bYÅŸ×êIdþÌ#Tud4ÃÛã'‹_….U œ®ô,‚Ä?€^&v úµNÀà©*¯øKj¹;ÉP‰ùV¦tÔd=ª—çñœ È{Eº÷X"™©˜æXÐJª{èØ²u­¸ð}Eÿ¸D\p‰«â|¿A£ʹ÷,·æ`„3§- CP' 8Åäºüýøè¦íSžö$eæf“xpi΂‹vZ„M,|V¤ð—aa ï#fUvÏ/ìoUbîfòÑ ÄŠxƒäëïQ³. 3rS·-b¯®Šè"V®™º ßÁÆoUj-UóŒØ*¢&Ód‰·™“8h U=ú2õ›rÙJS+¨‚0¾ ö‡>I\×ÛDè}e«Mû­;ßÑ'w £|lÁYuªéB( äÔyþ^žŒƒ²CŽ“g±w«Vûu¸ ž¦Éç{KͲZÛΦl>v•!›l¥ñ54×õ)XÓ°3©Þq4î€ÊJï~È‚½2<*”,žÓTS£êy9cÐ h©$H5ä$xô—V$?ÈC,‡gÄ´Í0úgPFÛNwÐ'C³œ)F~Dc ¬xÇׯ´žIeq¾¨L pïÌbVäB3‹®ç è3kô…¾l0¶@¿¢#?LpŒcÂùË‘~¶€Ô€ºq±áì[= ñö¬réËŒèÞÈ–÷W'­ð?ðŠnrÖ'ÁçšWWï¼_ðTEÐ'H ¾N‚3ô\Ÿ«•Ç2Vsw7¦ÿŠ»µ™¹/£ŠãU4ýo: AÌχjÛ‘®|ýäC8•šg¬™Á5äˆL“V©[P_Br—1rxLSØ“=dN™vF®ŒW.?ïìôÕÄ’dÊ ›tÖÜ'&ëaaH‚ëÔO*ÊZ­«×UîÁ„9eNd\‚F1ü_µ.1ß®E'°ðõ´,“ÛP)kH§b»ì,삪N¹kùŽ<”£¥q½êɲ ÈÿÍ}Qž)Xh©?^÷ùïG|i‚@ûëêw꣙}íÖ‰ ­Bn¹Õ-¦B®žDí#&ý%¹û®F°¡¬u‹3ýN©^-f‰™`871”¤³‡âM\ ee6üØœ½ßÝtÚ-ÍŽi•Žûynù#" /„D³ 5 9¬$ËÕ -®-¤¹Z<Ëu2'R]Þêß9QRµvÆÛX¬Y®? Ô¾¬bw€ËÈ–š~o«²¹Í£YÀ“ÿ[RTXU#-Ó«³FSLzR˜Al9¨[3ŠË¹C†#Ɉªãi7#¡|nY¦´HãnÇ(§ì±dCHkñR[J] žªç&w/mÚ½ÝÔ=Û-l&9½˜éŒo® Ô«LçvX‘òO,]æãOÈ0RFqÝÀ«öhËk>t0å¿*(›>9üºÛ›¥»:ü÷¹Ñåäo]$]¬ëÅEæP Xž«¿O"ŠrÜ0ÚMõ‘,[VväéóJðm“¸[ØŽïrÊ£wý@úcª94•p©ŽÓnøþ‰Q·‚îÙú cµ ¸£ÇÆ]¨q›¢h#\üTÆRGh YÓ Ìž—P­89©…ï™ñSâÅbFŒØ!‹óÛQ’9/ÿÓ;S… ´ŸI¤ÕØì†Š~ƒV"£¨í]v^DØkÈ/se*ïésA—£á’ãáÅhÅ`oÌ¡XÁ;nö‚_:®’Lµ^ÕfõŽßYª÷âónZY=*ã1?|î³e‰›çÙD+|µ Ѓr2ù@<8ÅC‰·z@Ä^ÁüÉxã̇÷Á™%G¡¡ÏÑèEv¥àˆv²‘îdrº…,»Óå™wõ‡½až¡ßáZø!‘̬u¼0½a0Ä9_)ÉǶ;Pš³DäwiÂBM}a9¿ ‰Õš{J‘¸¬É_Ö0zô ;Ç ¤Õö]Ï/¤‘1àY³ ¨¨8§>óÕ@B­ÌÒ­^ЈéjÏ Šp÷T~Ë>H󚲓+®IcjvÍØc¨É—â%×¹Ñßâ £áñ¼à´Ê®Ÿi9Hf•w2¤€ªBó=ˆLO¶ÖÔŠÑÍÞ´ê’8FÎQéñÑft“‡»pƯqK7Š¢ÿa² Pú+¤ïŸç<RÄa{;tÍê¸Ôßh»ÇëæótÛO2´™ücb>hð¶ 6Håvé«M@®ä!v/Ù„ZL"î,ùÄ±Žž3Ý¥gpe|k¯¤šÓN¶=”‹Sû s= „ßÛp“½Å4ªÞœÂQZÆQØLžæÅÝÌÌç2¤&A£4Ôe¡ÌøqÍÓËND[ ŠE\OºÇ5]ˆþUS`E¸¡Uè!ÌŒS&¥ }øþŽèš~q.D)]°/%z0ƒ™M}„c¢§ 6+ó˜d’WdJ§oÌ€W.£¿îh$F-&&sïYû¹òé5#)4ÜJú4ooJ 7¹•iµͼtüÏ úJúžÆ¦Ô‡2bð†ÄÀ‡äÞI:ûë‡ÞD›øð¹NùÙ³ããòèŸÆøµ1Àþ›5ÙF<ôÃ^c'¸qw»@áYôè•r3\Å«ù3¦0Ø>û18dÙå@S 9Xz²?-HpkLæ^]!MR”R¡ððK(ÿ!嬥· *ª§Î¸1¼E0ÈÊuÐ"V`ÀROß—/ΔѬ´ö+:#ÀïçmE–3 ©&Öí…ƒ#e„ªGAaÂ÷}ñk¢Ý|b¤9&…‚Ÿ¢@±Æÿ/¨é04“Ô¶Zç1ÆæëÓ+®T Å€IKÙö­úE1 œ½b¾KùáÑd¿K«A)}Õ¿lgMˆ!å£Îà3RÀp,0Â!j‡¤,2»[…‹Áöû×`Í3ã,Ap²t¹:Œ²ÑòWÑ€MCì| ÚmÄ-= #ÑNwJAa¾çÜ=äã”/Œ…™l×áÙšîaÙƒ`ó&(÷·oÕa‘ñ}BpYªÈž+»íâw ¯ï‚`üDxúÒÈ}ý™9;€—ËRÙ^n LÆ`¦‹ÊšT³å\Q¼Ò°» 8­àéâ©0“!n(Ók㹞WÅPÌ•-‹ö8N0&ãpù…kECÙ²øÌôü¨Â&Ü1økö¼¼•A SƒËX®ùVˆŸÈ‚RíGsÅ“M –†ýoT29=˜Îu;é,3ï釣šùƒÇ†ÓÎ!33 =¬wþšW\¶J¢é8‚Bðc,¾Q^fñÖѸkå<‘¯ð,ˆNãÍád±†}Š+úh3¶(P=†%XI¡akk¢¦§ý áµ³¹©qHUn¶›ZŠ`É„mÈ Ö¿åážœíK4÷wA.%"ÏüžægZÒSŸ‡h‰p§]5w|; ƘTÐjUÃÓ+©á¬ JÌÞES1öƒ3’M¨‹²GKþs1@YæƒP„È[®ˆÃùUE®`3–Ð ¹:±»5K—\}þ‹Â¿©”t3Û*3¸5ød ]AåöJvë[…ñÅzMMŽCº°f¢kaó‚܆w ­‹Þc˜;ÌѹôÃz‡|Æ¥N2ê¢ß¨ÔYÊ@à³qo]ÉÞ"ýˆ4èíçY~#Ð"5Ñ)ðVˆ8DfL×¼S믈*µ”÷.‚®Ôô¯A®³¨³5µ€u¿¨U«º*oB8H )®9M0‚I„ùÅÖ•ÑRÉî:ØßßG~ÒDz((¨Ò¸@ÆüDô º< Ô§äåÍ’Ìo†jtɆ¨ú×Êì•%î!¡ÞL¨p½þŸ¶˜|ˆÊæÒ\DƒE/„Óô³ndñy™¼¹nSMD45íÐÌÆy褘.”ŠU‰zu<ëÙÙRtÌ:™òö0·Fâ§(©–”UÝÛDD#—Œ¤hF’vŽO [!ÂbàÎgDºâ3¶ÂmEÅ-°]³ó…´+º6U_=î Q¤¡ZÙaÔ­UL;µMs)> w¾¯C Ý 7âQ…å^üOCbð´æÙËi$aÛ L•TêÌæ‘Ô TA¢¾ oôUSÊã)Û€yãÒrÖžL8ý¶y-ø¥òÿQáùHÜ0ÙùÉs‹?†°´¤l:ÿJ­\Ö©]80[‹î‘q>”½lkÖHR»±ª¦:ªÁXìü+×°˜í‘•^ãpIŒPuÆ’E*œ~ Ì5°˜A1@­®.^ ä6×lXkÌûÿ]dÅ®Rò­«|éØYìú}àó¤¿[mê—'?\Tk«,± ‡©ÐG¢ÞÞµ>Ü­ ¨¿`ÐDt.Ý,Gý(½âCU”uáýWæ¨aÞRä£H;9meÙR¥×G½ µ-÷¥áüÂ=Ô¿Ç£J ¶º©°èò'ê"w*KšÑ--`«^ù´ŽàÿÔ¨ET¯GQä;zÈ7ªPs:àV¬=¢Ñö].ÅØ9€ E äâúf²ùð01¯"HE-‘\ì6 ‘íõ%GÒó2:W¸ã%;)åüK‘˲Ûg—iƒx(kàþP% í¤qåÐåûÑ_ˆòJŽPæ ýhçéô³'˜E×V5 ε±ø›*í˜zÙhÐ|¼Ì][ÔµÐSkd±ó‰zn ÚalaLší-Â'Ùw‚]Ö@˜Ç¢cÉžØz]‘Öè¸Á_»õyje¾JŠé(ْ㣊h7žiKÂËqzÖ¡­!êÞájÉÐæÎc 81Žß*•0\^EKPï4‚›ÑÜ* žÒ“þx°sžxÃÕ~Mo1àû5^ó/ÏðYêNbi”ñ•¢ å¨3<Ë?×ÚŠ%Å7~ö–‡-ãß“õ­ðöAzƒîRiKÌöv%éµ°”†}’|ãõ—aåÛtÜLA óâŽðÊø,.Ó¸ ü{Åt‘åÐHP(Û‹¹? ȧ—@ã$U@ôIÕC@b.•X­y ¥3e  ‰ñ :‘þ‡­ˆ GòBJëSœø««z›UÑA¦òÔ„ªþu!"ΡÀ°óP0«¡¸-ï l¶,µið‹ ¶9ÎàcÛË Shæ“…¸18oS½1£R§JŽã¢[– ê”B‚wãÔõL N¸i ëîA1‰pecϤ¾Á!Eêâj¤1,6iÏ{6ÞFüç­o­ìiÈòàëÔ¶È]Ú¢¸NàJ"È£@È´hÆ{Ø]ÝëÓ%‰øúÙdŸ[2Èw·À/Km 5ÀšW•C£S Ò?5ã¯sÎJ^NŸaSrj÷²Ã~`ì1Uc_ÁÆ¿Íjé™P4Wïaƒ¦%ò[,Zn7Ÿþ?:êQ—ø^A|_ÆÎûé½õÔÂøh{œ}Ù/3e%!ûª¨Ë±)ccÉýÀ*Uôð÷ØüÔã‚lñ%‚²}=‚šÞÖóåÙCÒ¯–¾Â{B@\2$EÒjKÝmÏ©Gt?,5…m¤)ÁE!·òf1žñÀ«žeî÷IC>1]pñúâ.!—n¹yT4ÄåýoðVí‚bPõ;vÂv¨Œĺ¾?æ´¢†ï88•“5ı¬ŽÁ÷¹yCwlú_Š-€Œù’©<Bad} NëŽ&Ef2/˜÷yoã9\”dXR·D¤µuã݈‚îw‚ŒR}Ç‚c䯎لNqç‚¿êàúÆmzÙÁ¤pÄ€eYÍû”nãt3óÞ‹=î\Ïr³œíívµZ`¬x­ðôWÚŠ.C/@É&jÓcÔ©¾`BA”}‰"q–¾@oö®¡^®I¸¹ÈS¸ÞÀ$ swÒ ã¹8[šÍiîxI(£å˜pé¾0šÊXMÏÊ/ôŸÙàÓ„®~Y$6ÔdH (B”8ôæY¤`…#ÕÓVÆ zºA¥my,î\=ЮÌÒòAº8¬ÉM?ÎjÊ—æV°¿•I&´0)õpHÚùg@Ç: lûbƒ7ΙŨ q3„Ý$J~¿ûdIÌtd–0)%¨êª+¶ óô;ûÕE½ðш@±†Æn×ÍÏk{Žˆ=¿]¶Õà¡C¹ãé¼Xà;õzPNÊ6¨™öB®[ߌÔûÊ×Oã™­$·8aëö×›º»6[ßÊ/ÆH‹Q3íÃ_@}–†¤Ý®‘íóÛ ´ë)¼Ç6®8m’@|m/‚QsûnàþÙ U½¬óY3C‰$3ú˜õÊQP²QÜ® é®ÖJq‚Ù{£°ñz§€†!)1zziÚ$³øo~6ކ• þ…\Áô[Ä9Ç¦Ñ `/ŠŸ2«4ï+šBNΉz‹¢ÿ¸Æ¥óM§Ø½Æ j¥@¥ÙƒÉ; «0ŽH¶ÌañQP'Ÿ›Ÿs­"þÙ¸õ¯ÚX¤¢jÛqÊîÆúWê—µ`äÇäB(š?èµÍ÷xÿ3ØÍéÐÃÌ÷ËìRš–,–½Ewg¿Cǯ½’Ù†Kn½!‰y7 ]´Ã†ÿþ‘qèbŸNPÐÁÒ’ÖÄ&ÒåªÛй㠽{_Õˆiþ8£Efqv¿o*ª}X°úCrïROëœîêOöÅ.—‚qG?m!" êÏ醘^$øŽUÍ]A…iM˜´4Ìc%1øÁ&Y¹3² ñ‡v;½ÑœoªsûBýBÔ¬=5«‘'œÅ4ŸsšÔÂýö£ùÚš¿ØÊÍHÓ"s©A".Ý@ø–¤—¸û‡³ñäqz¼è Ù%Ö™¥š%»9L >õöW)&š\m¦\3€´š&‚$¿º÷FÉŸ˜Z•Ej'½iÀ—ÄY°nŸúG»*¡z¦oôÅ4o—oÆGšJ 昶úÅô_ g!åÑpc(ê'ÉjЫœ)å d~3<£ô¬×\ò¬H9dIÆ‹ÕÒ†Ó{]ôBŽ6V “'þ±Ú§ú:vhî“SÎw¾×º¼#ðLud|6ZælU/kG…b·®A—myïôê4â×eÅg*O o¾Fûm îLUŠ Ô ¥Å´·Îi²ŸÛšÆ1 º%’É{+1âÃûÔnçÞm)¬À,r*IŠp½<ÂSÔÏÜÕ ý¼tÃÍöˆN'rs|¸F9Åa¶† Ï3;Õ}_ñjŒÑ 8Ú^µ3 ‚–êFˆÓˆÎ·ŽjgtÆÚfè¦æ#ç€5´¬Å UÎF®ç‚ûâ [ö_ÒGIoÝÀdûà‘ØB»/âøƒ9fsûN›¥)´"´V/èæêÔíìánŽJ+Ú ;JZˆ†Ã³f¶4¡ëË‹i`6Iu%(Ò–Q²ºC*RöF3Þ\ìEyžŒÞH™ë‹/‡½üÀÔSª¨äT"_!fƒ7 IÒFˆðL÷·H ³wš¤øj@RÆ‚Ÿ!%!½iô?æõ[3/ò¸£1¢§—•ë•W©óÌøBM ü++y¤ÐÖß Y»U]H° ²ÇˆbÕ¡æmöVº4º¹U¼’9ìû?¾E…'?;º*ÒÕh¹6à4YòÎq[óÇGZZÕ¼Õ pT…/Ý_ß½ñ@ýëó2<@}­AÛTV‰þ~œCj㎼¢Áw§ %MŠÜëøOÚðó˜Ï*]‚›o5E8<Í~A|N3_H»J1ˆ$õ=ÿáu|j ³â܇|QrVý]Ò—7*Ò6 ©\}|þˆ~àªÓ¡ßšmV:7Ïׄå!ôO¡ÆÚÕ¦²É12ŠúZÛRGê^.‚V‚\жý5×üÓ¹¼×Añ‡ª°ÍšÂ¶¦‹:â'âM×é[¹*C¼ág»®ðGLç1Óó˜,e<‘êLòüu‚T¢F0 9nðVñJa–B¨±ªb 1É`Õ€“+­Yø(©¡<¢¸µTÿ&gX‹~MÕCî¨àÆð˜1Îøãµx²ÔÆýo•˜g¿æêºôÃN0Ú;šøw‰œXÈp&<·LKUcǧb#&U u±ª÷Œ«T¾ÞV=Ü?ãƒP ïtot/vú7$¸¨…Yܳ–#„ƒ[H¢ý1=T…æÁ £ØÅைC-Ò~Ãí2—f”U,è{Ù—àj%ö4}-À>3ÙZ•e‡é(³Ôº‘¾ån1&i¾]HáŽðkP@¤v¬r5äãr5{?™Žû¿Ä ¹*õaç튗ÐӪœ *%!ÃÞ49£t¸Â‚G¹»y"š nÀ†1acrP µ%¼9¡ô]ó‚ó; ]C&|”ò« m?âX–ç ƒXÌ mQ™E~NTäá짇„) –¹È™"Ô¢»j4ŸIXýkO2&¨6¬QéR Õ²ÚOõ·ÆÇè> O°BIìL{·í%xà'v½Yù ªQDœ©4§È4È8 PêîùD‘K3Á‡MEþÍ]Ûù¤µû®Ë4’Âïþ,(Ú‘i/ükJÛæ€ýõ{ZëôÄÊ^×ó…`n{Oàð“ËôN³¸?/öö‰]/â{¨— ðÂ$'­G…ôÇCŽÓüöø{¨¥M‚ñÚ¬ý+W—ƒò‚áÌAt0®Á[ääX–Ržü5õ¹,ïÝ2a¶Žeɥβ•7.r§ÊdpŸüpF[(«¦S_¢¤©6 ÐÑAq¼í)ûÁ½ §9õDÜBŒ¿V¬ H ÌZFÈê+Õlj¤$PÎôe cÅû["¡örÄïHĸð‚?AÃv§FyÚHµÚ§èSÿQ%‡';[™]ÿÁÍ,¾£pócJn—ôË"í1`/Ñ8{¦{RZÈ Ær+û5¸NÑÃb/øÒ-úõå¹÷0 .q”_̓ÆM\e÷–ƒ÷bk·c7 êºj½ñŒšÆÐŒœ_Où/Åñòù¥yÚjë €ð!I€BP~"„§iþÒ&?²„ºàcWÇåsüKQ¯Íÿò^©>&ѯBT0Ãäpm®NKXþé^o£.”•sáµæYeÛÐ=¸³ŒÙ´aÆDý3Òu‚ZR`42"³²¢ìRûÃuDê‡QF@Þ_:Dc̵BÒûgYn6 zË vF¼ÐÙßmØ ƒŒwõ›kãß&áç—8;3„’C§˜e¬ñ…þ;®iOŠ|Ó ¯JTeŽœgdÆjѱáåâ÷^Oâkÿšû¡LþEá{$;ôÞT¥€¿ËŠÁ~™æAHye>BäÓÒÃŽumŽÞ#‹¹g6ÍÀ·ËÒ ˜Á[º‘^CrDÂW/€ÎÄ»-AQ°¼ól}ý-€n]œšër@ bþ#@ßûâ É%ýúb±–›Ñ×_Â9}…—S‹@Öl qøïÃ\] »Š,¬×F &6o»µ'k|{3 ÁïgºdBG!Ó}äÑMÌÍÊÃ?ï¼ÛËÀ2FΪÆ†–ÃÔIÕó#±T„?š+m1,ÌKlk~)º¡ÁaºÕ¯ IºøÌßcÅL?%8dýsi4i»`°¥ =ŒlX¸Y&j#+Nd@ÿ>ãKÐÜ_}<.s¤¶Dt ަÉýŒCTÙ,.Y§Ý3â$ƒ‡Ü×ìsŒ(š’ BÊ­ œ¡Áæ U“¸Ûˆä~ q¿Ã¥²½ÚB—º¾_ï¨kR _ð_”óê. ¥Šö4ÖH¦l´Æx"ô.`ì+~ÝqÔF¶ã·’¸ Lj^ÛðîÄ{ÿ4Ø‘¢àè/Ä2iތġMQðÖpߨ}Êdr"Nç;)EvKŒ‚N“ÞG2’ò÷ii èøŒUÅ r›K†ÛÄ;“y¯éÀ@ñŽLÐ3Dq\N SfŸVA±…¿O†ðÕ«¡!ßÎõJ«Ÿ ð±‹5e9ŽÄtqaH‚"ûžô”Êý ‰w*Ïø¥âX —ç(f)í«~æµÂXæP´1ðÝÁ¥ÍQŠÍ•š¬K9Ñ, ŽkQl–uðœ ÜÆÖ @8tx%+{)js%R½p(GwTD5«”mû´-‹¤Caî§ÊŽm¾ÒEþØ—ð¤mGÄç(mR•Tøp¥R¾FΠ¹ç8ºǶ1ggë—U¥Û`ä³»ÑïÛÚ|®Â´.=,=ÐL#^ˆáùN*£Îï.nû˽œÃ^? â½GiCµLŠÅ‹ux"ÐaX×ÝìM”†}…Ø]”öpaQÓÃã!ϲ-«ã9©Fð{ Ó‘ †PÆ+µš‡©1½“Ù,°Ñ|NûzCK7Tž±D)>iν =Í]‡¹ °LÅÒh×ø-l &ç%fžÚ€rÄšÓ½ v.¶ VŽ{Ë{oŸ÷ç¾&dËÓÝKE6R".‚÷¤HYS4¹5øð@Ks¬æR³mÈwRè‹ »HKÇUWe?¿•Xöz•dªóÿ•þí‰sç>u)k[ð¿øtè!7œðò910€{ñNoy®ÃÞ–¡J&¯ó)H£ï•ÔܳL¸ÕAf{ncI" ~ÔfòÓÞºè•zÔüßñrÏàÕÝ • 3X\´:Øâ¢Šfj<кbYß$*^ W¹!¢]1û'æj}"ytÈô°Dî‡ÿ§ÎâKË")¤n–SⲈâÅü‹½ï—ðG6UF>ÏþÝÑÆ½¼óUŽkýx|P º¡òº¨QrëºÕKTÜÀøÏ˜ä€™m¸`S œ+[¡Ô|¶át3} †Xm1‰W½ÒÂJ _ÍŠ±è•WTÅ•Œö»>Å?;|ÍBDýqcðÌ'gPDNFQ`@,?(µäm­ƒP焨nZ#ѨØSIÙgLOnà›­BøKí¸@ÏS ,i ’ûø˜Kû‚œ¶È1E»,ðÒ0TK· šŸÍ pÚ&JšÛ¯Y¾.ñÔ7(¸<ÕÛoYþ0ý‡ã…/SK]¦Å RûÏKdéÂMû­‡“ '%ÎøjÎô$®í”Ùõ)j¡ÜdÌíï]‘J7ÕXÁBÓvªñ‘ŠùM¹sߌ5lƒþ£4**©P\Ëè,ßa¼“ÐL®AìW +‘µx‡Ÿ «ê'3®–@d“¨U G;³éNec :÷ŽOºjÒ¶;Džù.¤T“÷…üI«U[>„_[ų20&Vdöv)J3zL¡Í×$P$´ÒÐø¨­h"r O_ßÓ7rjížžÐ%®ôÝ6cp}í|0ë=¦`rJ ])ÅÖÙÿa´’KŸ–ªµfOÏ&²‡Ç²ùvK¸ü1ÑrO'¿$P I µ}Šž Ñ•p¹¼%\§uÓÉcÉW·–A³ël/îɯ}§¼ ú„ 1÷«i‡Q^?»O”l™ï=\-· Ê(¦]²‰<)k®RC~÷ÞÖâDµ¼›üa ,Ù±Ë$TÃÖ’ß ?^HÓ·¼Eʘ <ãµw¢7g$kÔ;` Œö CÞħUy4EØJà'9ÿå¬'yþ+úN1Jcõ;~¸]~,ÁhÙ{ogì+ à¯=AVg«Ð£?6ɲÖú ì€På%¿‹Òê·?j ³ð&RI@‰—èÓÞ^=Á˜v 0]Gýqo·ŸÁ’8±»ió+¼ÁÖiÌú­êÌYä&ˆ_Kè¿´Ç ±È£Ïƒüšn»b¥•ŸWåW#VhŸÏp€8;9‘ZUŸlÜ òL‹'õRF~¦mÛ<<¶JßKšÇ$а,¼’뛩eº—øÞଭ 7Yô¤†;®›+¿s$Ò;œ÷P3–®àñçlšK_ÅXRÈwIÝ„ïêAÇôÀªs—’9]‰{}¨q$ $UÅöÐÊÃ;KY]ø Ó­Ê' 5åÛµ÷[—Ù¬´+zúÙP,þI(†föhRµ]¨æ0;~!ðiu*ñºâ©þ=ÃFݯÖý4’Áw‚ —‘ Ú|®Î¤¤ømz¨iÜ$´î²)YËä½;!ˆ‘*í§ôƒ; ?2,nacî#\˜Øâβ–Œ-L-îß_AO-œ.F슾ulmé9·Õ­HÑHˆù~rçj¦ÇÎÇšY-+ñèŒÿKðš|,Ç! ¬JJ_$'ëwÙ ÿy‰xðÁŒ¾i%“¥!J2óG»ö$K7ââÛp±ÝÒÞÏa\½q„Þ^Šóõè8Îñæ–B_®("'  ü›T•ÝJ#Ð|Í[õÃv® {|sPz_ÀÿÚ3‹(Jìnÿ{ª"\·˜íj 8»ÝU9áÞ>Ôp»‡ÞâÝ¢èmÔÃ}Ü«]Ý‘J†\Ò {ІX©ËH‰Ö’§”÷I§Ó¿õiFcåsl„ˆ( sËçáÇ ÂøRf2( Òž)6£ÿÙ@ÑÅèsˆùCëvRÆ›¢´V—¥ÒÉ!x÷ûa5Ø-ªé€ ¯§ÝA°vi¹$7|+Ùù®t$g.\X.¯¬·¤½Mrl ðزUé›=!3ý7Óª7IJ?îÞgšl<F&ùgPä.?úhü~óÉGŒíÿu‘Ž@±d9æK:cÄ…J ‰q9MŒœb½$$šŸ>(Ã>ªý[…3þÝ˸‰-Æ‹¾ ¶Áûóê}5o‚º æq @‡ q«ëµí°ñ84Ï&Òé;,„vñ¥‚@ñécGPöŒo«U|éf½k)<–Æu ¢JTEC¥?(­ìM£@F÷ä[ 9}ñå𺘌ŠÈÍš]=Iá1\ÂÙÿÏ·í²àŠ;‡8ë›Rn“»kë{q”H­Öò Ÿ¬Ô@RààÃþÜ;žÔxÞûk¸3¨ª¾^^ÐÀ'C+¨‚Eÿ¼ÅlyÝÕÑY7œË0›Òø-ÄPÕÏv8áràp¶DKVç§·#!ª¯™cʆî93êåϡޣãx$:é(¡ÎˆL7s¹ýŸöZD³a-ؼúÿœrõòŽŒ¿©™0ü@•bœ£‡L†öŸ‡Zñ´?J¸ð)©Žsà‡`û¥U(ž€ îz$Û¤"¸wri‚$*¾‘Ks)ÂVm?°”>aÕ™òk©àNIs5'Ÿ7#z^€¹·7V ×`xˆŠ_xÁWEs½9ûŽ©ðì ËÕc¨ñ; ë®ÓšÅKÞ,kyÄå˜çí”]‰ÅÈŨG78Çgµ!¯¥‚Ó«ï‰çH“ OIH¥°$ƒfŸÇ ð\;Ièú™ÿÿÙÖyÈsÅ {Y—b)GÁÊ©öR)@_ÿ²©iš×Fý-íà©~ðmD<ò$m‚pu·»)ÇÇIẋǦkëœ6S,«ÁhºŸÎ%É9[Bº†ÚÛä¨pÇ:\ŸaÖ W}©“¬Ï³ãÔUS>!§ŽþÕ‹J*éý&‘Ö ê¤Âss/ÓšO …Ë)U‹ºbË$ð¼Þ@­®ÚB/õô‰^‡BºD;ŸÈâ÷$"#¢ZÌ4¹¶ö+Í%i>„©;Š”Ú’õs²¶Çæ"’gª¼ü5RüÕW^ÙP È{€_½võOŠ®ìÈ3K¨ì,í QŒÐAÌ2áúó)šüiÛ}|¶c½I÷—B“.ƒ½$\º——%׆,6!©âLF0B$üO"žX/:2uÈ+]ØúJ/ðäT‚ÛWël|YL.V¥€õöë%×Û5?Úœ?10kO ÕÆVrÞs~ã‡Ø2®fŒ£ŒÀ”:9¾7ðµlM²¯H…•Ôò Yº·]½_År6‹FšªÊ±‘`HéùK´=àÛ%[mÆþ~;ME·l-ÞP€R> bĤ…JRéjGélQíÌ2Á¾íMö´öâÒüÈÌÅ%uÀr}Á¨˜‰(0ÿŠší åÅâ)v±o÷¿|#ì<¨V‰Xó1=¦*³M Ý^Ü:“ma|WyÊ»éÉ0øš ŸÉÌÅÞ¢Ûh¤.k©<vwí«/Ð"¢D ª¬bñkHËÚ¼›ÛñÖ¢²ÞAüªdL¸|7Á_|*ÊI{œ"°‚¥ÎŠ-fæLRÜÎßVi“ÇpíÚT%cûÜÜÐKÞ›Šµ8ò²biýjR% Hx¬,“²‡&„«3]ÕOuŒjÝû’§*M][„YðxN`WËxÑ÷V]Zë3‰[p%Qd÷{¤I•Š9Ù¸Ëñ›=3¾ݫ Lk ¬vÍëÅJÞ‰Xð¥¼|QÂv™ Îe=D+í«7²ƒèÖ0Ð^S¡¯êмÀ˜.¿yFÓ½•w„/_‰ogrü†haqC˜„vÅ‚à˵ůQŸ«¸ÀÈí›=°Sô‰¸)ÃÑ6šFó¥´ le´G¬%"MCs:{XòçZ{(]É”.OF Ñ@ÌN1·%É£Ì|nI½2 HÍ>@ô,¼3‚%u‘½Í‰±` §¾­™2ÁmT¸ ¦Ì•Ð…?¿´á©øæ«ÊŸX!súnû ¡ùùÈi‡'sG¦»bÉWzÍ£4@´ç½Àw€TÜŽbÙCí"Õ^:¢àz?­iŠoÌã·x–¾h5¹œ¸6ÒEòUb"ò%Bcƒ/ËwJ†²`ßåoN…]µJsèK"vùÃÿoÜqMÜy¦#S·'4H88Õ#8ððïE°‚Þ¸xuxõh—,ËP&šÖð¥åøYûRñú’Þ\¯Ì½î’´C£ïÃUF½Ôðy‘xG×…éäúá¹4N_<Sæ EÁÅÉ PÛÂP¾Ú¶¤8Q¾ÃRŒ4§ ôÃvs*ªY˳•· 5Ôÿ)ºìØF-Ÿ/±¬ýbrþœ[ˆÜ3k´´{°Sï^ô00ä^kiÉ-ý–®ßާg£Üµ¾\,½Jqñœ) ùqÕY5•/$H+QŸ&ÐyST¦L­¨d_Ê{dX‡×ÍŸÖ¼±Ñ]x‚¬Z S@™Yùutò{¢Í™{.RSd¶ ™}‡l8,^cû˜ :~;™ ºnJ¢ÇijG«õv\×åÚêN’©‹ëµõˆC€QÀW¼m*oùÚêƒÜÐI÷­ò[+Vyq¯øwqg’{tæ—ry¿U¢Ü_»ßvøbìv$8Ùþ9”Z¦¯è«Ú²X[ $k!÷ÛÓøýD¶rUb&Ä;&ªÀ £¯}ïšøÞ]DGÒ Áá|Â3ä¬ÔŸ$!1˜ÀΡ«+¯¬ÓgÙ;ü_l.U \G²·#uoY¬‚Z.ò[Î ¥ÿ1>µê|ÁnysHw3ïBŽ't¥aŠÈWœWœDí‹%¶È²­1¨ˆúPb‘òW—â‚;„§Ÿ†<«&§j»ñ(õ›‹qT ê6“=óFe´ ~äþ»m÷ã»üŠŠž\ŒEôm©)¤m¨ŒÐªå?CÛ}Ù[çùÓFVáFYëªJu5—wb“~†¦‘£šÞÈr/T“ô¯j?Ém<ŸûÃÁ.ý¬9'óÒFÿJWšRò¾cú%/-çg NA·)g2%4A˜n»2 šE’Èxÿ¢Çé{Æ›5cr@½¢¨/4ÁiPŸ‹SN!F&êœ2U¿uÇÿ"˜²‹™žk^qpÒÈ1L[%¦ùA8jHnŒÉ˜Þ¼Ctsã•°ÅZ»R ãO®µ›JÆŠ2y(ñd€#Ð6?{ŠïmÆ¿cyÁÄsõÍ®mKÕî VÚ÷õó¤ÙϽ1¥õÊWzq¼=Ã^ %@߃nY1»cäJCéò µ`ÔŸÛ§éÏ :‡ê]¯2KªhUJ?´P³¾`¶© Õë,„”öhేÎoÝHz™›§\P0fÝd©Ü¬Ë;ˆÛbÈCrL¬[ _þ_á!~]ÚAu>uf9F *¦ù"ÅöåF-l¼õzø®J¾~ð€çënÔ¬èè ¿AÈ89ÌÁDtÎ?èz#Á—€Qt;%¸ˆÜ(gvŒ¨7âô4à›jlÌFââö±Õ=x-È K-ÓâYµ©Z¤Ð]Ú ìnVTZñYƒŒŽhûØ4y.8†Îb"oc[6˜MÆf._¬_±—iB§¼Ñ¾=ôÅT²Ð¸<íVæË6&UçŠ™Ú ,ªˆ£¢3ô¶"aÞÅRŸp‚ ᚬ‰—””"(umV›°6ÁÑzè“Ë‹GÎ0&ì) Ýs§4©g´ŠŸÇSf%ÓÏ“!Ðdß,?¸xƒiu‰ò„êƒÂóK]Þ"ÂD'ßódÚ9"n61HI[´!ÃÒÿ}a "¨¡rˆ¾G-œ½ÆÂ!éÄ ’m€%a½Û;ÚœÜz^}È@²Õ¯¹äÆUŸúò—¤ögýM4ð}wqø®2åw\9õýdòµJOüê?j´_Ì1,Ûþ…7a6údý_h²ÉK|ÒÁìœbŸñ`šæg],÷;k] ˆ(™„yW > KÑ6©WîpÓ©žœJÔºA÷VêÛVD ½äŠdÿÔó‚³ø:Ì¿—ÍÇÌëè¸W‚IÂcY4ÕM⬭·ó²ùAšòëþ×úŸM£|uêµEwä¹;»%?h»Õªò†"Úǯœ}X™{käÂ¥ó†€pß²²ž`»$<XŒhQ9° ö%颰x/,»ß„Éå™CðÇ`MÅï47$èf”mÛrœò”Œq¥W€…ã9Õ%Ÿ=‘†:ðø?ª)rMXÜcœ™YÿÚÁq[A$—ïÊ]=;lW¤ ¯$9‘r˜>ïR¾ð½šãkh³gú꟔ Z¬qT8Kýóõ´x»ýÖUÐÑÀѾq„†Šféù³ljä@WÖ#5(­èG³O)‡5µ&‹©†ìm…áC-Fv¾ª7DYþGGNP¶ûÎq›ß<äAiÐB¶{çŽ/Pò³¥pGÍR#²¥¨(ç‹2!2 ‡D…Žä¤½A-n±±žqÇUá™»ÁrÑÍQDL{ãZx?_›=ú‘—¹ÀäEÏZÕÝrZQ¸T¿]¯¤¬ÕÊÝEõ‡Mk¬JMÚ%È£l}.vˆ¯ãÈ>­`š =Ž5FsÿfÅmð ϰ#l«EiNñÈþ•ƒ~–ñ7/îh¶H[ÁÈB¼u¡äƒO׿¾zƒÌœŒ±ßÝ`®œÈ#pÌ^ðùÁƒlàŠ¢·Ó>˜¡¨‹FE;`Š|ár¡+dÛqµí#xO¥:Û¸¡z¬VøëàltäX×VíÔ¬†Hpë¡$$ªó²@éÒŒ„CÕth]PÏzŽÄN3žÎ•øDëé`N$=µÉ”×ÙN¯#Ξ©Ž˜ ä§ØÇvñêòf7‰­æü"`ÛÕ"‹â1Δૉµð¾/BùÂ’ÆÛ¨ëT¾@["Ÿ,b¯°jóàl…$¼xU•öûB Çð«K×äܪø—²AQõÑTΧ X†bê—lÍ"¹³sÎmŒ[§Ckã·Á;âÏøÞtbpª,Û;Æ)Èú¢&TÁÂ^¦HÙe k{¼zˆô¥É`ó ËãÑþµ@(†G q #Ã##l|,аëãœÓüØ`ŒÄ«IF}žéIwK 3ƒ?-o7%ƒ›cÔ;ýõþÔ2þü7<¶O´(ì»Ýçƒ+ª{²%9r˜ºO•ÛwI ÃŠÁÿ&N]З6›­ïŠY;_„–‚½½H)FÁ¹Ã†¾;«Ò”RlÕHpÏ`j7„+ZÍ+ð;² uó> n8PIJAÄÄÅû{z¡ æõÕêr7ÆŒõ'¸¹‡y3£Ö=- †©'=ÜT"~úó“|/=ãä§ Ù׆/UÙXº"F}eQÎ$ýpæh¸|ÄÂÌ<³ª¸(È/9–H#‹ÆoXsZÛ©f¯°ž ¡“HûR#çÕ¬ Á´VÕ”íËÇØ°”j 4Ý‘N:CŽÅŽî¾1ŒOÉCávß8‚iÖ¾Oë&ªî'òÂÏ›C„ºð]²íŸÀm=“æ?  º¾ô,ÿqzlN9 J“R ÖÞIhLå+»Kõû±WSN‹ÞÉGw eX7×$ÙQL•NÞitñù(]L†bÒÆ±ß†öd&KvL"ópk’b1_t§âA‹,-ÖTr¹ö±×µíç¹*{;J—‘@O¸t6ƒtXlµNõÇh¿‡°´ƒ².°uo4”‚x™ÒPÁíÊïL`™ÀÔŠF›)ªÁŠQhÐ{ÕA¯Û·œßÿâyUàøÙßµsþp×àÏЩ ùÚÂÖiËJEé9=C¨4 áNího3•«Fg lNV< ¢>únÒPh'3F‘D[ ncI¢ ùȨÂÇz~$ÑÕ5(×Xc†·ÓX$¬¥OuS`ÿ€»¢WÕ]eŒNk4gBˆæ•cëÞ”»£ƒ³Ž¾k „†„â>®sæïýdÌ…ý²Œ¨Iþ£E`vñ‘áÐ8üciw„SæÖO;îž­52ktAN =²Ãhú•O…hï©V®0sÁíÆæd9÷üx °ìÞ[oí–Dã=G†èñŒáþäýãxÝ‹<;\“êïµÔï×ß 9Ûr– #U¢éNXyê0Æe·A +ìÎk¤3DZ“a°QLŽ$gÿ<¶±F"H½k3¾Á‰*9ušÊºvJ'§ü ž]{‘ÏÔdì`EHO¸šeÏøh’|æçÉ hì}¶×ÆŸMûO‹ÄßY¶–×&¢½?í;?}›¶”û‡[ƒæ[PŸœôl Ê×ØÑ±lÓIoõÙ·ÖÚWÏ„ ÛL2VâµÐdi\…ÐÓ¿× ƒ[3L4@Aˆhú%'Ô«i˜òcfôà²Ï†,e›ø†ãQ©šHw Þ×/7 }+Ø¢Œë¡5"Ž©_] %˜ Î;§ëYë„ùÄ>¥²\Ì·³ó×ä´Šå ÌŽv¨pQÙ‘Z®!ŒvÔ7]÷(Ëæ0ŽÏïÈ9 .–H¿CŒ`\h|j©èDIEH0fÒwÌÌ\ÈuŽ f×9H››PŸb:ÝỈã/˜]d¸Ëœ)ž—,5Ø¿W’¾;[¤ *Ä û-ÆßﲸÉy’ÐNjý0¥ª GÒXG¨5 ;ªqïQ~>ÛE•¡ƒl†ûGÓ¸Æ^fPØ=!ñpœ¤ÏTá%›+C'QÔ—¹{Ó™¬h¶)OV2%àqBÖVÄó»eH3„·o+/šBì@Úwª±bìCB¦\… 峤7Aô…pRÑ£PD}½‰å÷‰*iß<Ì©z.$D; &VÚY·N‡§t†VËÄ¿Wè©*õ+€óq¹uF§Þ.¹¨¶&à+ÌQ3$yÿNÈ%ª"Žj=*!²›„•4Ð"¬rVD!Z”?/‘Ö–vLÀ‚™šgB2°& –ZðN‚´ÒÕXÎwžõ·¡5FˆÆPò›bF:““„adéuòh>Á:nºÐ1§p–ÒÓ‹¸A›£8p›èÍLäanµlÖ7“–üÌ¿" 8…šÀTÞF‚ƒ %—£|¯¸.yË"&÷cíÒsï…“qô ‡GFëU¥|a$“EdãøZ2‹lfkÅÑÑ ×âЋ ¶±˜!Vä^gÀáª[Ž ò+#˜’3xF¨¹¶¯º‡°ƒfþäõ[4NaØÿtÚÎ5°º¬Çs\ y?èÊ!éìéÈ]¨F÷uºØËCNû6‰GLۿ׆HÞâÜFW…] uGFÀüˆILð#ðÝü"”äB׌‹âæ!Äå ʉëø’`Õ ö‰*ÆÚƒ™ˆgÀ˜ªóOf…Êø´#"¤´cÇkÀ.ýj+Ä ª>±ŽLäípΣà 5ט Êi Åm_W§ýÏ Œ^ZͰRðé¦Ó»S*Ùû"òÌr´Ý RÝÓ¿D]‹2(½áœËË~&A/ð^qW}v]tºQc[z©Ú ¾âiŒ@£š?­ªdWpR=918p3܃ćƒ)xëñÊwƒ‹%ü¹?´‰Ô…¹3ÕÈ(\sb6÷Ïô>ź¦}¦M/%™ø›RŸ+?™#ïw0@y¸>ÇÑiyé IP³¶º;©súæ›}m¥Bù—C¥êaÒíyСÐù±hÁ’ñðûE -mWI1G⩾Ã/Êœ­*ËoVe±¥g~NO8c%½ß9‹Æyë·ëpÄVS:ZîÜ[éBDi#ÁŒb ´ÞP­<^(×Z¡.37GãÂ&Ã{UÕ£êðÏ¢TLDEHóþ[‡Å^ÃÈ—XZÈŠAyzœî<*ìváS`•Apýtb¯ÆxMÅï–¿5léš,,}öÇL²¶uëäì#ý—¯wÕ!ƒ¨ùŠÆ èßj–~"«¢d~Ú³Å~}‘uf€XÜ­¸«xè ‹&ÄÛ—]n79vä⥳a¹0íˆOanŸ }?0!(•ŒŠa7xÁ ÎàùH_& Š«ÙÃVᥣs×-ÇÌ[DI·¬#bj| ôö¹Þœ #G¯/53gÎÀÇŸNœjhN¶?qÓª†[Ûào!ÊáðÅY0·/Å 8KvPݼÓ2:ŒSJ ¼@kný½ùvã"ƒÍ79K½ø§V+²Éú©ƒA`àé“$RxL—JaRÑåOÚBÚI|_¦lvë9šYóS­H­CçðÂüèßßÂÈFÀŒª7SÛÑ%ËŒ)ÊRI§A ñÓë¯Yþ^6Ï;n/?EIÛ$ÐÁÅ7&†ïäíC›9ó€™(¯>—älûNp7dáS%™"V4Cµm;Þ\cä Àˆà0†0÷?FÌöuåC,ôTáß:Ø7û¬÷ÉÉÎVÂúéS¸ý’a’‡ÚÑ‘ur®R-žæJ:ìãqÇßÿæô¬>·} œó…Ôä Áí¹WOˆ'ÅžÜF¶zúVz›Å}ªvMó"dGš´#<;0ÇxTÞ_‡&_“8@íØss0´¼å{ـŧ÷¢Àä¯Å´Ì¼a(ÞKš!êçV‘çóæp7ϧt÷&p®ý J%ßøž2*)šQÌá¾ù–ÔŽM˜£Rct¾aô±ÝŸ)%=c=®ÂËŸ$^³ÅY€¨Æ®Ë¾_/@‡jTHJg_°f‚iNå2ÎefÈ[ïTžÛ[cÁ›‡LïRJ[¦¥…/òq__BËãø\‹*[¸ìQ²½‰eÎÔ­N ó‚àÑQmTÖ¡"Q·Iô¡ñÉIi'`³¿^;Ï¢ó؇åÊÌl_‰Ëî~÷²¾× ñúµÞ_i#u.Kw*ÓFãíØ½,ZÓäåéб?îþ\÷4Å–oæ ëÕ­ßl 5>¤8£¡ß\_µõIЉYÒÞ‡Ä;}ÞÀ&6!ÛH5É„Ó÷þ'n/ü©wIìÿøˆ×€ÊB²…MÑ £ö&8Ýo)žáš5Ÿ,/ïe£S6rÂ&3Iä\„:në-Ù[ƒË¾Õ]¨¢tCE>ÎèJ¶ù.Éôx;Þêžd <¢}Å­ÿ0s4ËcéG´+Ðn¶#$·ü€jê­P¦ÉŸº°0å•oÇ#)Ī>eŠžÊÚø~瞉zî®5ÃMñØQNá·×Ò,ó6´{-;  I ŽiÇĺâ%ÞÿDVõË!d³ Z¥KtÔ*Ý ˜FÉë9ʹ§hí»Áe—P ùHµ´¯åò­TŸEˆ ‘àH9“gNâˆf^/ ~e¬t UɸMnüƒvVa{o†ÖÊ_±F>œk£›#ÛÛr¨,É?äIœg7è÷ 6Àw꘣r ¼¨<µÅ™ã‰Ë­@!8L½§¤RL×GÙå[¿¦þb`_,颴H|,póG Í¬ü#Šø/Ü}ö$0„¾m÷mGtTا1K‰Ñ|$À9y;rûˆÏ§ºH òg 9O3Æë,ø·Mù䯚ôâã²\üùFëIs²È.íýé8·î™\ÀvÉ1°?R,x£àé¢KºÅmjá¿\:,{*óaçC¸RýìEÇ>OYsÆ2 p†–ñÓ¶ßp97 nFíÈx‘à’5§#â~Q§K~Äôµ'‘ÔâÞ4ö8iÜÐTÚZ ÇÈ"ŠÛý€ò#;#,ò€]k;öÆ•¾N5ø_tCk_‰ª‚B\Gr…m®€¿Dâ èÞrA¢*ê¢`±¨9Ÿu"ÒzwZCÄùДÆ*tçýÞ ÀÌg}µO¬ÎÜn['‘y•Ä}^Rˆ8M5Õ0UÜ|A¦ \#¿ãú“®iý¿†by !…x+Êpïm™É<÷a®Ô=4>fZ×Ëï?èZ[þ[•ÄV €ã ÁòÌ™ˆúwOG—Úò—®£Ù©15eÓ¨ŸÕ(7ÆÛZœU^¸Z¼äØ¢&_gLÄÏI²¾Â$ꞯ#ú5RbõIØ=^/ûó'ýWü³HˆÇN~ãÈèM¥ŒåÆGÎõà/j?¾¦ è?:Ãå„ì!–™™ý ðÈ2¸ÌaM}Ü×ÆÇ¶ªj'Úåÿ¦Ñ…c£º20Î Wø=§~‘(@èÙQ`¢ ûãI ºÖWZ2^ ܼƒT. €=I D¦H`R¦sÜúŸ!c?–µntô^”Ë·­)3¾kø¹5Û9€œ:pVxÙ´>ndEœ§«K­«ª'%COOXäHXö‚9Ô˜OÞYŽE[?•X¡©ŠE¢°HÕ¡õ/†”È1  úHˆ™Ôç:$4Œh4+ïYU|o@”osðµÐß­ˆÍªöÎg½¹eÄ~ÉáÓ~»=Ô:ë —íK<˜™ºÆ€ ÂtØ-rýç­8× üXQÓÿÜ Ð1{)AÈÐdý_ØTmŸÕ±D™bHó+̨ó#µ‘H”]†õÏ®¡Õ*4á@bx‚¾”‹é7€2•Ók*‡1¶e,,\ /VáÙy´«/ô¬K!ê;† öqùï+Å ÓíÓAÛöG–SÓö*J–†/²6l0¾Ñ!bÂ{¾I£éíhÒµû%U£·™_UÚŒCFŽLïEŸJSc®K”m¹y±tޡܿ*'ÞG;™ÚÃO"øƒë´K¢ûeI{ \=7hŸì1’ë ;šu@÷áE˜ >pÑ{Èi䞸,¥Yý·í‘û>^*ªhQap»É>Køš|JËa¶ÉžRÉ lXy“ß¡”OÇ¡prYžÁРÖÔ'¹hpéUæAŠw_ÆËºýí«Œñ(Œº1Þ•v›™í†ÂGØgí04Œ¾jéî(öÑ?«5ë~ÕŽZöŸGXÔ3…ÐÇ €Âaóäóc%N„r€ë¤–pÐHÉx(ö?˜6IÒ,žgøûÄî‚ÃäôÖ5"}+ø@H_-‰õ~Ù.4á¯^ÓønCç OYt§öÆlþꚥ‚Ë¥~£c‡P<ü*±Í‡[}z=¤a‡/¶?tã雄ü=, !ùf“„×nñÝË tŪæ«Â*sdÉÑü ”Ønàg²qêmzˆ¯!üãHø»…~vÒ8ZG­ƒOÓéB¶BèÝýgåѪ\؈ôœÄ[ÔœäDÝû¤TU#y¡h°´-›QˆnGÒù „‰§)×ÿëþn%à™~šÇŒTßíìmS/Žì³ðf–Œ»>hƒeÚ']Ð ¡ÖM¾Àúù'ž¶ 4ê´YCË\Z²ü|òi+½“¬‚ÔÞ3ôÖ`pñû¸è½QÅX8fë—F³¸äèÍ×”hvZg­JkáìZ› ¾OKÑPªñŒ:.ÙH~¢°¡YIõÐè­Å¦šDºÓʸLƒÉ€Ã| ;¾N”º½=ìUšw±x!0(K"çÀ¬Ío(›F:VÑCáe-3ïwºÙQü¿‡ /ôà]LÓÏp|åx(#õTám°N¥ÆŽ¾q£YˆŸ#€ÈÎ=8Â,|@—;Bœ¸µµÓö«BiM~Óè äÚMÊ©ÂÈðÓŠWÎrˆïð¿F§¬IŸY ß<Ó”â£ÒHÆâ=§Áš&`éøìÃeÄetM]Ê9 ÑŸ4ŒOæêB§j‰X,j h7!¶¢Öi…Aý“Y%d˼Cäî›YwßÒ¤Ö-ÐD>ýwº&g3ÏùÆ’ŽR2ÊJ¥£ó›A)ÑØCÖwÙ /xx^OÁ2ÍapÑöبGBÙEBh>Søï`Ë­O¤ÿo"àBò88Úýû¬ˆ »ÿ Ñr+“Þ?aãå2ºM«rçÂïɨM¶6}ü œ:¦««ô£]­-†ÏüŸ£ï<¦2æ¶p³ÂR—¼^P¤b¬ý&ƒóا• s ×^…æÊÈüéwl… »Þ»-—à•¶öfN¨üs nq Ä`5a¼Éz‡‚…žmG8Ï 0ô΀êR+å´ ‰òšÓl¾Px"µõ1„ö÷sµT‚I»mõ…}LÖÝP™¯mÛóôx6 ?ÙU×S™^âÙ_P806¬%F)›äôüÈ;PšêÛ¡\ØÄ)ô…ºvÄüL¤Œ}•üw”ÌìÐ~ ¢éSø^ Rçïd¼õÚêú:²gÆÈÚZÓeî95qð‰½¬Ü k*;ÏärÉœ]‰&|oðEÇj”€;mÛéMGúf\ËÕ6 Ž}áEHQ‰Æ<¸H›\ñt³ëZ¬’“ÌÀöü"ôŒÐ†Ÿ±Îó-¬‹¸zƒ/áb¹â¹‡Â$П…h¨ÚÓïJJoj’P÷C›1 ä_6‘@7z²¬ÄMhñ[º7R´w@Án<­#ÏSÁ£.#½q-A'b=V&o‹ý M)䓬‹'¿e.Ú$<—\7A,H«,¢¿2˜™ŠKH€&føÝ¿ÿUœvš Kv>Qµ°r>ý:?Ì6Ü7|B%/ˆœ |í÷Î,4áƒ4fB|Çéc„¶}Ÿ å?‰¢êu”•Ñž{íäv®M•œkÉæòisÓ^UÛ”âß)Ï’‰Þ¤„¯¡PP4B Õgc/[t§í„b—¯ÁZ óAœ§Äw:BÝý'YÞn¤Î§4õUô²¯9Ý7ÚÖ²ÝçóªÝ¯io„£0'X¸¬_ÉOãwÐâîU"zÓÅãÉÙë2šß,)?Á¸t*âOizG [²KÕû´(ÁÝž‡úAoÔt”ާ&[Á¤ 2ôÄö"ñ^-ÀUhÆûö ùM©¨Ìih|ét+Æò—m³™çÑø´Œ©f?HËRåv­{ªÄâU³Â%e'h‘JpIZšëºJÜJ•—f°¡¼ŸÌ Øò¥e#\LÐH—?µ!‹­É™Ξ¬£[úÒ²uˆšjYi|‚Ç"§¢„XZ 'ÞK8Ãv&¯´WF–¬ŸìÿœûHGH¶¶~Ü!Øã…~§àÖ$zè5Œ^{Á–ÞGËg&â5sQš`Àwº¼@‹wi€ÛîUl:Kæ±¶´M¸ ;2tC£îpOl‚»¨ºµÍ[Òš9´£µä-|ó¾@™ÖЏÌ<Ù…®š±-ÚÓk†§w€ Gm6>½muÞÁD¬¨¥þˆ¦~‚`-¿_ÉÄY—½„G—¢lî;-Ž)úº@õ®äyEÖ} ev°âÔ£÷Z=&ùrþ^áþ°½%UŒ­½q§w/ì_! ¨ŒlXX#Ã? &×?ϱ×Cqæ5¾ÖœáYçT¤š±ðUÃÏ€™|éãwE,¸'1Ùjæ2ÿÇ(¥óž@¡ª¨t‰ž“}3b8.¾ä4$ö Bøât}i·Š”v4l²š?ðÆñ4ô‚0px–á"®æc!{ ¤òÄQŽ—æmÖ$®c#çØÙ­½¤aé;º#\ù‹6ªÄs±›®8uP†€ë ˆ€iºl ¹î›&ȤÔ6õÉiÇÇ<|GÀ§!\ˆuò‹Ä”¢lª”áíì‚ÝÇm´¹8‡ü]'CøÇAå…kZÑË+0éòôWýlWî¡·¨%=l²ïz‡r×Äõµž>dDh¤æ È=$RbˆÕà3ºn?d¹\Ñ¢ýôëÕöF"MCŠUü?kšü$Á¯ŠX-ìH€-МéÝ`âòÏÉòï§Ã™ç«''sÕ’©QDyþ-PÆ‹ur×|i‡¥P)Úüà‡’&z|Þ(¸Jµ Z=§ñã0rù›‘=¾õ“aÄ3ešäˆï…òe ÐZæ«Ü &†¾<3'κém¨ Y¸ †0Ê(Fׯa¤?°8xß5ªtÅþé„`§èÁ-˜­ôËAdúm &Þ*È~L™fƒ–ÐøÁêÂ?5ãÓ›ó6G!³òfé‘o'#€U.£~Z//‚–“êhå¿­"Üèå)6W›íV8ÛNø X… +|Åf4eÿÎ7˜¯,^‘Ñ9E©ò*sÞã¨i£¬@tT…Az?À{â–A Tk~`{!>È®Üðu±}SïÜõÊGÐc2š•šÆ¡ê{=XþÆ~-<šs6ª Ë•îÄÖ@oKy°Ï²š ád?åçjªx]×`ùx“Oê8C†ìú,ñ n?¨!Ž3¹£C/¸þÖLÝ$Ö“›ãÕ¶dÒp› ðîÉ7 É¿Áª"MZ’fÌûïl?m²£€ïui›õÌÁ€¸Uë´›úäaœ:×ÄlåY¤ý ãÅŒn*“™#Òî°¼‹&—a!B·"Óò)?çh»o_‰1¨âAxjÌ?Z:”zýŸ# ¼QžnÐŽçXÕUFÒÁq41ºD 4¡ìî(˜x~`ùvìSÍÍQ.T×ñÙ¹æ3 4^†údz¤Íò¡qÚ+,8–¯ºâây|=N ü‚2‘ ¿TïÃG(ÄÜu ÒWm@duå1Á»ö¼ÔÂÈ:@¿8 n¦I#G2ïÀš5Öµáb|üл¥üOÒU˜ºV¤±«¢”¹^@]åÄÕ‡A뮽U¨Ó|"µ’œ¾ºù¹C ]L;!Ô/!n§ra<  ?Ò’åóµ#&<ü©϶Êoþnâ’¤HšÈú¢m0w±߸ÜOƒp–•Äu)ìÅ¡Ø|*È<óÎmìŸÉú<†c("øy¾©Æ7ðžULè®Cê6Ó®Ñ5ïÓ¸ˆ¸ò7ogé¬ÐJÖÌèÒ¨ÛN5ƒæxðPŽõ3QÏl¥i&.œ¦;QCüýW§k›APÑhªð”bY.d'Ü¿’­mSb7¼'l³q‹¡ öÁÒ( «†¸Psá_¨åû§Þ„17\T¥Ž~NX>ö€ùV–!mñV²°MüŒ¥D²¤ÝÄ—×k ÀûølÊ™0Ÿ””ˆÁæ[rdzûÊ~ÒÉö ”±äf,üßtñUÀ4,5;Cþ÷E‰=ÆSù5ê¥ð”gÍ38€5§ À¥ûž•S¹°§ªÇYšd…#Ì:k^‘Z JçBV“'Ü,*Ú¯ÍîK”оþvwåìçÊLW—ÍÓDët;TOWàPy×àÈÞÿ"ÿØ(QM¿6£Ø¸ƒÃ´ýÕ¡ˆYOÿ`Óa^ovÿ69ÐQM,†Ö˜'n£äk¶ôÏîø°Ô}ààÀ Ä(I¾SôC:VŒ¥í‚?zv}Ø"'e”T )_ž9x) ±×uêêjp´·Ø=Ï쳘^ÐÍšT µ!‚ÍžÓãzËQ“^AÆF`øo1¨} ZÙ˼L~ú&‘Kòr 6#Çòå—–%³bÿ?Í<ìÓòÃG8žOÁg€Rh1œ•UÆîÈiIHš­²±ðÙÐ#„ËWSÝ›”°¼VsØòHšÓݾ×s« pºo:ì *yÉ ‘5•sóŽ`= j–ýEú›™Êˆ‰:êÅ% }FuEd¼ée”ÏØ«qv|ýЍô,’ìò˜;xhA†XF›V 7@ ûz0›º~Þzq‚Â6fæ§ òÐìð#·Õ½GPLFè­€ŒºÁ JÒÛ˜@BõïιèúW”FLÒ$Ú /¸Aú:À¸?ìõ•Ø&œ,ASÌIFh{|ˆ7¨-}ÕG*ñäYüq²#–ßVÝÚl"34ÆKÎo‹Ø©œÀ03n€o4ZÑëx¸ãuñ¼>€Ã¬³bžZëºÔ*òÝ7ÖÇ{V;è[ª©ò]æÌEf°ÉÔVæäÎÌAošDà[vÅÈÚWÈ^ïàâ*òêåæ hâB7’TQÁ\£‰Õùm¾ôòÔ–D:a1èÎó ²'4“–„€êðçÕ™×ðe’™ûð= £xŸ¨&-u‘!dÑCº§î3>Ø<¸£¬ºŠ^6Ú‹ZÂûÞþÛ†{¦¸S˜¢“8EˆßF¶ÜNùçÊAºŠð¥Ú|ŒÂŠU(ñwí­cwrT2›VqíÃþ ïÖݼögº­±Æt<Óêm5*?€vŽCδ3?ó.XÞ” Òp]gNœœ°±ÿÝøgœ·Á³h±xC÷|²bFOºø²Å~‘“Ñé?ªpânÎæCèÚ¯v- c‹>œéë}iÉ€ÿëD:&›ÖB³Xvý–Y3›Mß…õ¬‘åéõ_々kÆéÍOËt:[xO†!ç|”9›ÛïEuOs±J)ˆüˆ¤’á=/íM”x$Y·a+WÈd‘¿vÒIùºßsQAåOºD§Û®$rÚ«XxlèR­ø,“¶D1cò÷qȲ8âÙ¶qùÑÝÞn˸R±IÁZBBHHšNl6$VìÞà`N83£ :épÝAEæÕdçY 7­faDoÇ;ôE‘ =–LwŸq®X¶€†Ë A¸™R‹:ÿ–Ž9>²Qµ%aVž²|´QÆ Á e𦤰@µJ`HVjcš27õ´ŒªÃäd©¯šQ§|à9hÎ ^d¥$k‡ÕmÕuTx%ób/>î3Ä­dZB½>c`¬×€8ìÕÒ%.@42îŠg’Ï …#NRÂÀ¨tÆCkð¢|88€Ô;)3v¼×‰M¤ÌZK³t¹ãpl +ŸµÃJƒçü^!3˜ËqàhúfÌS‰fØÑuýzÍJZÖk7u|0JŽ,ãù×Ò÷‡Ñý:x$]A« 4¢ÇeˆÜ4é3;ƒãUŸLµÓáÓ¯áÞGQµöñéDŒød½æ 4ŠÛ ü¾|èŠ$HzKŽž±°O}3öýe¨£¬ö')ê+|.Ù>q?Pé˜S=º#ª¿: `ø¼[\y5öE.Þ©½?ÓIpù̹÷xÙ§WØ$´ŠM +7[ÙPáãªjsª”ˆ<¿kK4€Î×›#öóàô¢éá'!T—²ë7ŒqŸñ]$¸Æ7aȇiß»Ê]íÚa ´ 1R<êðV™|€{§ $X6ŠùVgGºF;9F惣jki/Ô…× Òuó-+ËûYf 3Üš)ÕtÇ(è[Ò¿)V, y¾DDæÑ‘Ìèxã{¨Àƹ]n‡ª¾jÛ÷DOxÛlƒG»ÑšàBÇÈÜá8Ý êÇ$ <4&mI&€†pc•ˆHëxø}çÄ’÷Ï—h5Ê@f?}‹~TN‚Çïݤð¤ñ8U _“U)T,Ò®Aó*$Ï%Ñ‘p=Ÿ§2åôècj«Ûô­$müﱘoè:]ìSx‰k õL7ß ]Àw ñ}& ÇÎvß S¨^³´¯Ñ\’šqÔÂÂísÎuÆ ëƒw(Û“‰Ör==§-8û¹Fþ¼ù›w¢ªw¾ˆ-õš|s^éð¢¡"Ç«,јT«K˜+m©ÜN[Œ´R£»<Ð]ë'Ö˜òV•Ó˜µË¦3Î/äÀŽŠO v‹Â¹_ûe™jB¾É"¯• b‹›É2 ÆuÜ0Ðj¸ÞÌoŒò|ÙRû[ЩúN?«64b²ÝØ\f'É„n°ù‡«1µÀ´yë&4F®Ää,/*/Yº.m…Ú@à*ç`YE/[º]UUÕ§È ÿgç5×ßÔÞè«hۨñ¶Ä¤•« 4Ý»¸EÁ#þŠ®*“c ðùA¨—LÝ¡oºiͰ¡ÈµjøÃù¥´ˆ¸JÀÉä푱ÝÃNÅûÏÑ0) ´#àuH…î—©Îç™Î¥}Ê‘c—Î( µf"ç5AßÓ ‘zOq„ñ¤!óZ–~ÿB:žT%Ǭ`ŠlîL' 5Ä'æI¡F•t™æ<ØøÖ{ºZ º­þ(‡Uª Al–¯äåâKÌ´é-,ƒyt•êK…cÁhxÑð \~²¨¼BÍYcÄaÛþÓÖR¢· ìˆ!Å]‹ÓáÏËEéH‡œÐ]gFð!/”ërþó‡[m3³±žª¿ŽØuÈø² –Ƨ4 `(ñs£A„1-Þnˆ “°0Mî‡-Ísê%Õ»ßRÈ›+ Š•ñ* ‡Ñ{AÊÅ3uÌ@’–‡Äˆ”îs]³-5’÷NñzDiúoAªé »iz³‘£²'z DÖfÏŒr?eáÊ=m½¤Ù8íħ„ o([j K.‚¸˜|ÞŸR#”b^²Èø#9­ HÅ%Û2“Úvlº˜°ë%‘ û=Ûh-VÔ©Ö:i}'[lbÞên¹#´-] Õ›5YÌ’¤rÌ]b(~Ù ~÷,ê€(X —5òQ-e ®å eå•…FžÆÅª]w ?¡:n ö“R‚Bå˜n H_¾èzë¡Ç+<¡(Ê‘Øû-|еBÊÝä^,|lgþT-š4qŽû@¡Yæ´°"¥ò>±¢XÈ匲É»¯i÷.‚Wª–Íás‹¦gìЩ`ƒä Dz‚¨>„ 8÷˜F §êÁAñW€3ú»"íf#J™À¥vœ3_ÉÕÎ NZ[!æ.C#ZpèB:„• ¦%hâÉzƒX¦®ñW–Ú8²$ª ç«6‡ÌI´&éÅï¹kpqØ0¬µ[ņÜtÑÚ†=½%Î8ïJ~ƒ7 œ¯qñƒ¥á× lÜ^‡œÈ Lc|–x×LjMGÎ˼6”ty%Ù6“9,^Œ.öLÀª˜]œÂ£³¾‚¸vÁht:€ D€Vo]:mï:ö0'¤ä@ñ1­;Å~Öå¹u0ÖûIëÀOuS}‹W‘÷RœPM¹¢"S¹‘ñÏ?Wàý{}±¨í" áiâ85â;‚ õÊÀ8ÅÝ%å°&žçóÛ¶au5xNFÍGºíÐæ1g”߀ ~™K]9!uÜ3 Èë%¿ª‚°-`Í…=‡†öÑÓ%b”Õü þ̬}'Úyo@뺎hT€*ûÛ–¨WGF!¢œø6¿ˆóú 6ø•دޟ ½ÍTþ±KZ 4+ñÏ_¾ÙÆluh|;ŠCw"¦§ÎC¶Jm)$üw"þzزŒ×’ïß½ÉNáýyœsï“ÄΉÑÒ>jð)LziÒ‰‘m_lS•)Ò‰ióÆäAm0‰6É›zÜœÏB¢ì€‹£•°ªz^~ôI€8„t­wÆÇÓ‘-+_«½ÒÑè`üXž)m÷Ë„ßj]'8îÅQ€uÝÉVÓ ÃÈÕ-¦ ­OunŠAü‡‘ ÈîWåáYl(¶ƒ‡ÞC!q¾ E‚¾Y|ü¹†t fC ·š^ÃoîúB©û´ù?9´!2[þ€°y0eR]¸/ ƒ+{§£ßYA̱ᤢùÂ#@·­„cÛøòúá‚Uìú*U`½öc@ÎÐ2Ù ‰…/ƒÎßu»/yÞ¡ª.0¾ûj^2èqA9ˆÜë1kϱgÛçOÓ‘ ¸3íˆðw¦ésjp×>{vbêÇ.Oíü8d¼wí¾AS’šãçb/¨u§ÉN£ `æXcž¥"`gƒ­ÎK¾óoUÎ…­w@ÑÑb?-× ç§ 4‚YŽíka¬=U 7õÿd«mƒqŒöÚ?Éö3wü\‹ú„¡ÉœaCÚþ‚ØÂõgMŒ§¶×\0fóx%.´¥ÌÚÝÎmù’Q`œ)H˜,tí¨Er¹ .?ŽDbì$7z+7¦Ù’xÇȧ»7‡yH$ÑP2¤·À¢€5º„•AHÑ£$u(ïWé:w&@Oñw0Kñ©;ÉÇÏœ$Œ¨‰€ÇrM?Cm¸Ý"ÕW6ÂU'ü€-Ák²#§÷]¹´à?4Ù_¥ ²Å€,‰'FG‘¯©ž›Äy¡ñ®ÊœRæg‡Ï!\/[Oa§\âŒq›ÉÁãÏĶàÆÄq?ü,šÉó@ѹÏ”aÂ-ŒL’Ê‹$Úá…½È:]¤‰……9WkEöŽNMj\Vslä Çz´{½ëv¼Xä]ÖêÐÜ»f—oÔÕæLjl«CÆ z­WÖíù:Z­foÈŒ]3вâè0ÐT~¯­6ƒ’™àOÄr4’ÿñPÐ;KS5BA—Öí$ø=l Ý Á» ÷ÔeÁ÷fNíçÝ®i³V£!£a"êt– ¶/T…¿‹ð |¼¡¾Êîa¢ NGpÒJm ù•¡Uã캔ˆœ£¹+r¶b¹yÇÓˆ˜+V¾ú”Vñƒ×¨·np{&¡¦ëdâÑé& ’y)Êp&cœÉT •F€¹ÛÉþ”‰®Tzåv±,òñ¸ûœ=´®œA{×A¢¼[òwS˜œçgóì¡f n×)?(Ë=‹öÓÝûY‡Ì];à©}ÇÓ°vaD ¨ü¨ï¿Ú9žü*sÑnúÆ7*/U¦Lé5ÿ÷ÜC!ä/¿¥¢†t] ¤Ç ÐsO)ˆa,ëô‡WêÒ¨1„ƒ¯ÂAú¸8t)0m:m½ÃÊe±˜ŠmVÏÚ£ZÔÈnÕܼ‚3¤L-5²Q\pÒ÷Ÿ[–E§¿Ü·vˆ ÜÜbFÌ}×x<œrÝ}™«½T|f¶Ò)J‚Ü™CÈ5­˜ž¢)£P†ÂèZ ¦†¿bðÝ ùFžMƒÜ_D#â0›,W”»ÖìXŸ¥ ¢”îÆ‚E ùqÁÜÅ+¶ŒT :$3îRK‚ü³Éÿõ.&îr3GœàÛÔýÌîšáõwF£šƒÔ!mC}\ïA Èm·u »ç]éÍf¨.ß”Æã8±U×ER!}Ãò¥Ó:Ž¿¦måðBù«™/ã[@àÿª$X #öÜ à„ÃÀBêÎ÷Š-i€Mªðreó9ÒGe$ b®ŠhÜÑ£±n¿-í7Eãd<§O@Áq\ãÄÝì²j_5lœÒdbŸÃÃCúŽÈ% Ö˜9õÌ$8Ž@æš]>ùßáÃbº„U8‹›LÃxš‚áØé TÖ'%mÄÖ2QOJÅô1Ã×øˆ}êò"TQköu“SÈ6Á+tãã'e_!UÇ7èyÝ㌩ä{PPM4à¡Ë™Ž¤Ssif:K3C936æß·ÿ„Szþ”µp÷¼Í·~Å0 àO¨’Òe+³âŒ6ø 8¼¦§ß 2úÔ†Ê~(²LMï—¤¤“Cà¡ÈsLÕÀS<JóüÝ›pèa=¹îÂá¶rnÝAQnA:ÞF’Ò(÷fªöŠç5|„ëöhwkf)yÐÏï »ÄåßZ¥¦ÈTDóàÍ/ÔoúÁ§ º§ú$0Oý{îL!+µfGJä™WR¾ìö1€«VŠÛw‹S²Ó¶ÄŸØ×«Èîu¹]^¤+tŠë¢ñ™`í>¡™kó{ëoCWï¶¡ ³Wvñd¥ìµŒøß(7bÙÃáÌ1¿\ªU@ˆÉwgËI°Ù„Ò5ÆÒãÅýDPë‹Só„ÖÚ…©4wË¾Ó ›¸‡sw“‘O< «Ïè‰ÖÏ?¯âvãš-YÕŒò #heeWQ¯8àÛ™Óqà:ï)˜Ú®é%šàÎdÒ›¾°a2ãåQÀšµ?öPæÌ—¦ÿ˜‰šê˜i/àߤ6˜cçNãéƒãdFðO0Lpfñ(4c'ÚMÚ»çWtÁµ<òt¦n èŒ Št]*ĦHlÕÖ§X²ö³_Ûf±6Ë ~-EJªC’[ÏJ ç2v;¼€Q®’Z‘¶¬C*°H›ÈkO@´³Š@)Ô1F¨Í…×X°kMÃg½’µw±œ”_oE+Ó|:ž~‹ Yô ö½ÜBTǪîÌ™Ó`'Dƒv> 6åR‘|^þ¯@ÐùE0婲÷¶>fA¨Å{¤ïÍnp*}Ò^Lté¾* ôÁœŽè « $9©8<*rïÉ«¡ìÑ—S~ÑÃØµGóIÁâC Gv/‚£s=¨ýK-î{þè–g£ND‰Öæ[»úÿGàVí´íW+Ù´¬‚`œûaNüë¦;G{ócR­!'Ç@•ÛO¯R½ÒÈŽ™›QSí%$pÊß|!¸í q@¡çxä°{^>O|ïXXãbyá¶²027Ö!/™â‘ka5èqMðÙy>ûaÜ*E4sa¾F kÊÜš‰?°‹Eùªµ®Xë¹”p·®4äfСù´µH4÷[ ù°0¨°‰•Š~ÈËVð)À«|ÎAkI|œØn#­=r|† À÷±™+çƒÑ•íT 8©$g‡\Ur)üØDÌNɰpæ¿Ô儚|£:õ r° r-ħ{däl·®ùR5勇¬fìûÌnñ`ÓRÍ€”1LÏGJ—‹À47kº›ÚÙ}™ºB°"ñ{¶¾Åæx)®'¬ã%“Áj¸ä¤꜅–sÄ)ÞHÅZNÛe&°]ÿö$nSé,¥,}]Ùi_hô#S›™§ûÃch'‹EZX?y G»h ìžžN(ìÇœ¶›Þ®Ú¥Ü;|φBÛÔxAªSrYÊÆC<©\K •ð|Ýít|=ÉcÊrr)˜Ã-Z"SX¶6ÊÌ3*U†“´ÓN€¥`½e2 žè­Ãuî/ë¶Ó#v©ç¸?oEõt”ƒÃC§B²ÀÇ t] ½¦èqNú’%ÑN5Å11V±[ÂCÑ*O¬ààyM!šÇœhÃÎæßíÑË\ì] Oê¾q"E@Î@úùGy³Cï î"ÇŒR j,) §æI+; b«æO«1VÉE@>ÚHò@“{’ŽïÜ„‘È#ø%ï°$¬®º úØ»¤¼>ÁÛ2öôm;,¯ïŸø&òv´0î8½Sy4|Ó|fùïN!5Ù@`¯x…Jà{GäôûxŸ?<º=º™u¿#R3Çœl;#&“þPaã”Ò˜Ë{E(µ“úoA ÓOvº%å×J2 Ì&òËxÔO*“ÉLïs†ßqÃÇø`Øù±ä5‚4ô)>úî Û:FùFì\AœÆDu.›XUçÔ2'¦uæÊÝk„¥ÝkלÃZuI¢É²üªý„GýÕò&ÓÒKâ5hö¾ûTWpÛ›ø4wlÏÿý“1‰D)õ†ˆ; ŒŸ.uÒµ(ôñ”77h/ RE‰Oýqy26C»—âA€†_ S¸2%Ÿ{xgdü}D~Uäåß!rκMØ©ŠX 5"ðo€6d‰©øûdoÑù?(y%=ZÙoö˾\®»jÑÂ>’vÜËÛ’ƒÀ«ÿýLN­oäõ2ýüˆ\L$¾&Ôbº«†¾ø(¿ØÁÙÿÆ"r(ˆ¬|vc8´ð¼öï¯Äôl`^w(æpèt¯(¸ï h‰~Ûs¦'â(%:½f´¤å®š+:+‡Å`Ê+,2ÃíÒñz®ªM‰™×5’Åø'ôšt3Cšˆ¢ª¾Ž:î9É΅ЊL"ÈpxÁwVVªU¶ÛË@ûˆ˜´k{AÅ=9 s˜sÎ<ã%!‘ÌMè6íÉ˾¥àÉ+œK<‹÷· ¼Ñ˜Åc  {Äé·y¥øá Õ›êG¿à%d¥ñe’äévºx:èØCG«¬²Uh:µå{»ÊÖå rm¬$ýæ³×'ТXÙQæ½¶mòsÅö29,²yÝÔ ïàE§÷IÑ19Ý.KcÿÀÐ>ƒýF§{!ÿ ¿|eþœ9ŸT~!âÞñT`ìŽþ’à}m„š2G×#XŒPøà¢¾äÁ5;>¶™5XT§0-¾ëߪ†Ò´.„Z“±ï@=C##©\wùÝå·æù¬–§ðåŸF&«=-¡µeâèd±(M¯…%Ç 0íÖöýé¿=ƒW(jÐq€mÀ6neQ ‰ ±w ‚¥QÑ3ðBf¬£ÚË€´±‚pE nÆâ㳊Cß1ÃÛoqCý À[ÚÝ ý…2Æ®i™âF*ÒeÚôs€Ä`øZä]Ôm8ÑNÛ‰÷î9zz5Š¿Bš5ÿÐR ØQy¤[w}ÁÊɨτ|3bõöŠeʦsÞÃIÒº¾’Æ$Ô"BárqÙt€$q£JáºOøu×ì¯7@"‹»n·Ä~)I#ÊÜDûîwêÍ_@Ú¬wç>PêÇÂÙóÁc~{<ò„ÑeYŠàíq/`¸"ûæ,9ëˆ\¼Öt×PAèp]ô)õî)g*QÂÓqë¿WƒŒ¦tÇ›ê̶²q>¹tá ¿.Öç°sû4È©{Ïr¯ThEW6©WÖ•‚‰J9É\Â4ÿ‘³µÚqä„xÜKYàúùúæ1Íè~çj¶uÖ³ãÉÍžú+è.¸WŒv ê²#¨rÍ1ßrý{eI˜þ´ùŽôóFeÁŒÊ§ªT*°7º`URNð´íò“ˆ’û½ÛÐê×*~”›â-J!}›’J;dãs9ß’‡PÚˆè\"@DÂa¸·ÉPbv6æ¾CŸHGJK{U½¯=‘édV½Ô€JÕb(ûË®TµÿÎé/r{ ۥ1ä"–†å\‡óSø¼ÿÞ¿:WF‡Áà §‘{ˆ{5[G×o)‰›º˜ÎV;˜âG“º´|Jíæùñ³\[‰Œ÷ÖaãýèšÀd"i²¡üV.wAmÖ’T_}G–ÛÄ"ˆì€ÙjQ!˜ÇVªÛ*‹n+9füô ­]{_=Ѝnf·¤ÓÈgÁAK>JÿÒ7O¡gZæÝgÑ Àäî“Ó a§òà]Ħ«Et_Æ·šÑ÷†­Ó[àÉ5—X¢Šóm  »õTéõàšã€A f¥a^\v 1¥wÚJ‡‡çébíztâ4$чLSšS¥˜•Î5ûõ ‚&K…u¿ÉÆÀó«?ÓÛh~¡®æI¥.€˜÷`ÙÝ nУæàÎÔÛÛ‡¾_·c>íÃ…“¨·!ôXÔˆŒÊWØp]¹:g} d¢Ç–Z&|!Ì\Ï0¡í!2üˆ½„`µù–¾oÊT%Ým­-`:L¿œÎ¹È»»¦P=ûâ¬+"vH½@(öa–„¨Â eu¿Á_ÞÓ•ªôë»û'G-­Yd…„‚6Ò“üßeq[jwö×7›Kå/Ik´¿_Y´¨øŒ({±Nb±j‰hÞ¦N®®U†ÆÑ¥œöNu O[±Ç_عúũ;zRýï €àÃú¥÷A6Û!þKñ½5Fp‘Fö<ÈÌõ«K±í+YòN¡ú%:OŸü"%Ïæd^­•¯P=!þ;?Y_*j‘¯cŒô‘1£ªaTÕ5M%^£Ž¥À2ãB.p‡5 †ë¡ªi>ÍJ˜î#äÅ, Jv8Ó'µ&®ï\¡„Ún¡À_ìz>dµ<f\[÷Ùì6(ÏÉK”£‰ óÙgo¦5®ãà–sÆ«NÊjÄæ\ÒЗD Ð,‹RnºÓš•¡/ÿ˜ÂÜVQº RH˜¢@º_Ùa|ÍáfP/¿Ø- &¶U¯@ anq¿°ŽÍÉŸÓ¢FgÞ)L0qÒL:ñ7”<®D¨àIlÑÄ‚Pfì¶µTú\¼@/•Éø<4üÖ&:?Ñr@ŒÜŽì,”ï­_[þO2°Y´K@3œöœ®¸€b®óŒ0òÈÉué(g²MÁ,/²'Ž5J£}§PÞpyKÿc<нÑ\œ1Ì—"v.ï/vO' °ÙN,ìüÒŽœII\³äl¤öüÏÀ¿>˜¬3¡\n­â$iƒÔ± #÷Ó\2Á ³à‰n4Ï{û®BÊ#@,‘à‘Fóü‹6fèáSˆa¹‡}I¨§v-oö°=ÇgУÌP†&%þ?8dò{Û†Ås¤tÆ‘§b9ìGI"úb;Ùbí:þæ|ÈPœÔn4i¦ï^(¯”x¶/h=0¨-ªý]³G8‰ ¢|³ç péï´ '2ñ‚}í¼ê "݇zz¸ú'T¾ P¹µV/«µžå…Vï(åH)Cåua›~JÛFf˳ÇÿáºwЍƒ•88¤òͪ\ÌŒdÓÑ9]à™r# Â%@`ÿËŒâvïN¹Ec|úE-’óïÊ‹L£Ý„…ûocïH|’z ƒZ[ úý5âšn½a{˜ÒŠª²K&A%<›^Û<ß ¶ÿÎKYQD„ÕË‘Õ`<š¥6ÏWÕÌû2Ë'xû´óêa5ï€"ÜF2ÜÍ…ó«²³ÂñËæ(Î^BK‚М¼#®q…ÏŸ¼BJŒá kÒd¬$*žØ~sÁ>Í‘´F[£xZ ô ¯&†kE&TXcT|µ|/«Á±á'¬¨Ì*Í‚ºkÀ–È+þB,Ž›"ü0/DÕÓ X}X¹9+¯d7`¹Éñ\öë¶IÉÑƒŽ³õÆÃ\ ޾$Þˆi7;Ø1d©YÆ&?>åL¡‹ª)30ƒP ‰­]ò0ä >v¦„_½|ïÆ“ MPávuÏ „’kíø•çh8á3ˆå”ìÿ5ñ¹/O=AˆµJÌZf”Å ,¨Y‘Í÷¯‘ú¤c 7„ë¾µhÿ¨A¯WXÚè©ÿj:p¥ív!mºþ²ªpÿ#9ØÞ'·ô¢÷ßU õÑŒÙ{þ[ÏLã$Ç$½›KÕŒ4YÒcã§ ‹«=[ðà ËÕ^®¯f&'[)R'‘y%~ÖÞûÜBF„õö‚´D z"…LBËÞ78F+Çð„D©e æzÁÍ :ª æê\W»iç¡,ëø3ñ»–[=g(aT¼Øfü£o#ú)JÚÒ´å$neÉ©éÊ^nÀ+GÔÕùFmQõÒtÍZ®x;¾œ‘ºÍµ#q õ¾½4OÆÌ÷Iáli „ï!½„&T&qc駤ÔÔ«ÂßpŸÍáI×>²0j¾6àR]ªê0…aæk-f›n S÷'{éÃoÕdœèñK…Ä!!Lrtò¹ë»”õPÊ›pïdn^¢+ì­Æø• «0]Vš˜õY *vÇ„ÜïÈX‘JÕuÜ,ÜIê)ýÃ2Žé]x#ÔÙ¦é~Ÿ¥5Ô{¦›o Ä0?”§Þ–7ûåè«ÇÛ‡À¿àÝêׄÑùá!©°ÙLéAù¶*ŒÛÈ6&(0–¶+‡vb“¦0#Ò”šÙ(Ï+†|äÝÓ`ÑÞ~–Bk¶v %µ2×Z c¬Ã\’†kÈ[`f≦³dæ—Ò([éòº6V1Žô¶æ7êé`¡0G³¡d%P†Þ·nWpÎ#áyœ(¯Cð Ä9‰…À´ÛsÄ`,×ëFo¢š‹´Sw#h\<´"Ék_qñ¯îÚ¾)ÛÛsÛßa²MÿÕ}q+³ÂI·Ñ3$âä3.M¢ø«|‹ö¹ÄÍ–H…ULh¯HË–ñ±^³xsì¦Ö…BAåÕÒoõóÏ$åí“k4Å|R§ë_~•ß:³ç-Î;C×oÞ‚Þ5¶T ,U×Jó¸o…ë·ÊúÇ)_ÁÉBSÈ×(Õ qâÔEŽëœäéé âÑcOXÖ„2 5)£Ñõ›Ý‡—Z€"DzJOŒTw±£QÅ ¦ŸõK·‰ž±, \[!¼µÖ¥¬{­reÈt섪Öqnc¶¥Mèù!w"E'ÃÍà¸9†np¡iøÜWo^»E¬pnFPU«]¿¿{…×Ê>â!§w‚ *žgƒþÄh«&!JÉY¸£ð¸méî¬o¡zfÑ=ŸÀ©Éÿמ&¥õ^åêe1‰0Ž“W°dK†w†Ÿ=¤p/€Ü{ÖsßÜH×/¥·s£=t6ØQ¿bÈÌá¸F,Hj¡[^ñ(ü}¬[©·üF EðùÁ“[P ÎmÌ|òÇY.´NwŒl3<Ù=š]Ó¦~™O¯O¯{óÙ2•X,®¢º‰ö§úÒ@Bìhx´dká´*ì]ö ¦“1†{Í«)¿o·›;̱PΉ1£uê®Ä~‰-g4‹Ž–± rÀ±6)ã7LX‹3@v;bJµ¯îu@ÇaLMEÄ´N÷kÊm¾b4Ú%d..±æï`œã—Dwn÷eŽÒU±P,{PN|…má¥*?°­“ߦîƒK—lÁ¹ø(Ú#Í$:Nu±ï¾XãLCå˜ Q‹ÔßÑÔÜ>IÌß›Ö?o¢çc«h‹Pœiýu†Åñ*%"Ü<èÖ+nô%CoAf ÚlÐ+µU"LÆŸv™‰x „t §ý÷WÆv$k©¾|¼@qîFÍ8„‡Í3…’’qîdà|Ó2XßI5¼AX|o|#ÛöëóúÜÜN_:'W"÷«Ð¢¸Ó‚àùÓ)¯ÁëŽ-C1w¨D@Þåýøªmd·Å9,‘0^MqëÅÆM0zñKbÖt2؇ÆÌÁ/=4Xöø|N¿`ý<3Àâ«xˆmI7ÕWéø²XAŽŽ%ƒ÷‡~ˆ¤§È õ_ïžÏ ¼Ïe a‚AMu©["uNK§†“Dz ~ÂËQ¸fšô{n=—LÓÚÐñ]’øZui\c]<ü`е–“M¾Œ…ØÛ&]låll¿¨œ¤á2Æ0(x)dîÇö‰/ޏ›kËXSÒqáKÇ¿‰"æWÂ"bFDTÎåk Ú›¥_N91ßå½´2á)0£ڀ&~¾ä½’dÅ/Á’¨×ì Z‡¹¢ÇÞË»™•£âu”aŠ °¹´eÙ䮨|\€H+’lúq‚@•/ÒpGÉW`QEUÍ¢Ã/+c7-î¾tOîžy<׌„Úa›Ãê`›xë’c›\ø0Jå«¿ŒóÊjŒøC]ëú ­Ôßâì¯J5å (yVZÇé8ŘW;3â ªn°!LzYxê ÓX2yl7ì¾uÿ>á¼%Ä8P›Jý¸2’Õ×*ºÝÙC\Ë<ÛÙUE}ƒoÆjöƒ¿¦ìÖ‚‹ŸÂEÆŽØËÝ×< HâCvü7Çèÿ±¡È~!=¦ ÐÓeÞÉä…Q:*ÝÉèQÃ_ÊôèYò®Ûˆ= cº; îÈý°¦Ð!;æ§íÙxÚ¼˜‹¹…Æ.®7g,q2nú ¾Ûó†Â‡I§ól¨ý»Æ÷¨”ºÏ¶Íj%{߀‘Ý9íhTÚjÛ¬sMÖÃóÓ¤oÓ8hOØñ»ºÒX‚"]ýLf‘€¬Ii2x-‹ •ÓAþ·Œ"»'ïÄoJ>Gó!Ûß½ÿ­…M¼qu!3¼õâiXÝòÔz ¨4üròæAP‹“R¾@Üqú=¨ØÜåvô¡Úz¦‚;gé’Š“Αb`5Ã\È~åõ`§«ñ/SOÈ× %Q°dæOhFRùSÞ•v@b«ŒÞ3^+h l@X(R}†T4ei˜l–äYez¨í»ÃÒeEŽZC ´Ä¡W† ÂÌfg–ÍëS·|ÊäUq¤YØXá,ú§ˆÅyT.Ü)nQ—¶›‘¿.D¢©óØh§J“J¦ŽµkôCÿ8ÚÉQè’Pç˯Ö&«üSÛ˜™Ò躷ÒÓ_ðÓ¤­' odØ:UæqçÍi¢÷ÿïC~'ûiõ«YeF|Ë[³Z~pœªÒØF>œ§bUO²ÖV¨µªC£É"iˆæx„‡l ¸*qt[`f~ß"ü m„,O°FJÙEÓÌ]Ö™ú 3’ùYldˆ+‚RŸ›Ç·Ï3…«Ò­m%Z`˜þÆÍžC—àäØCµÄšcÖ[ÙråÉ©‚žâ«ªƒ«aÈÑÿ¤"<ÕLùD%ë`ŠIÛ¡Ûiæ;qk= ´KV@÷è?@†2/—ØŒ¥CÌRDx ó®3f^åN¹S¹7ÿÁºìëÓNkJZÖÉ¿àÖpܑΖOóH1™OÜp%ÙKÏ«BÕ¢€®Õ Ìœƒ`ú±Z­DTŽ—’Ñ,³*w$;ò¸>‘гd6\‹D|îÌÞz¿Y×8§‡7æEW7L}4ؤ`ñ/dh¹¼Y#ƒ^ˆðtÖ©±V~3>; haøØ \ððè&†æ:󢸢'r}k_ŠÃŸœžÞäÊœ$ [ï\’[•`E5†]2„i¿ý>‰ã+þ‚£†zü]C¬¦ØM†±ˆðH/þašë)Œ¥®@ïñ<—¬»Ó¾¢kxæ(GzþšÖÇ™Z=liÿó3 6Çøt8%VJa6¤{øløÅ¶ZŸéé3{qeÐEý÷ÑÊ’l‘š¥œí ´»fÍXÃÈ׆.ˆ ?¶:råÀÂù½òuŒc¬ •§Çè—úïÁÕŒxv.cšÉЇ€!ÔŠ|rP̈Nââtñul³`b=žÍl–"~¥<Òb–C\ÿ»Êqj8)îïXñ]GCv}ÆAŒg‚>†òß\cêe‘Ú  žÈ]oÂêÆ8R3»€Ê‹–ܲ®ÝÁÕ­%TÿOÁг„ç¢\ýé(ÑÖù³Q›lDÄ~1B @Þ{ô%¼*d˜–¶Ecó4ò*ß»|Q$MZNBm2èE ‹T ²\»žå&ÝUËÞ=5vlè´zÜ¿K]1ÎÛF’YñZf˜Àù:æÏ‘k —¬À…!°¥ViUÊ«. ÷6S¯);÷ç ²R$Й6þEã—MPþ¾×VUÖT“g6: £ìå}áÄŽ†©¶Aè8ˆ$ϖІÚÒå€ZP !,þ(.ÑjÌÏNcNLM€“ HŸ¬[ îØ­ÚÇ~ˆªÝŸTy"+›WÎôÙŸ›;𧬶æÓ:±˜&ªów¾È®…ó—ìzÌŽ$v1%<®(xÖµhÚûzx Öè]¤½AfÄ̪‘¦3b.ÝAÞd­T¤–Äù”«f×™ÏQúYb‘(. ¥`‡¬„Ù(?r1z’߯4QDoj„· Ù±Ëaû)Í ‰Aiºf…¯ˆt_z\¬q ÝI¶ö…l«)§ˆ6Lb(O4ÿëšÉ1‘F«¦‘¯ñ(sf¨[–BiÂí| õ-2_Sá„aì)á¶,ÃürÉ+¢qÿáXÝFøM\ÈÏ×ø*åÊ«½äsR–¶bû!ÆÎ0?jFÞÏçf+4+]Îi•9zpJ±M ò؇Xßõ‡D»¿&¬üM¬rf¹ÇÀ{sÎfçœ'°ê;Žêè,wØpJ ø‰z´´~èU mÙ«º”õ‘Ü’`>Û^¾{âÿ¯H)fôBFåúØo‰_ÅþyŽàýx åîüØaD³Â“ýK>¦’xc5xÿØ{D%_¦yÅ›G_KQ`k!†+Àµç=ËÞÞ‘¶\%«Ÿ,ÄšÅvçüÍ_Ò[•²ø.¾ûŽ}áe ìCÇŽ²‰¡__@~È×»(û’·Ãߘ®¼W»<üø·oÇ ß9/sX;=hÃfJÇYÃçF#xR†V²¿Õï½ÙCMñdP_Å0ßéø¬ö³FTxŸ2±SKÅí¼²“[„ÈÞÉp¹¿[ín‚7’èæó¿¡Ü¿6TwŠÆðPaÈT77"gÞÁ!15:‡žd‘¢#ŠÖ5À— sQÑÑJ”døû–XÇYß ?oáÒ}­â¾± Zº2¹qòÑæ·2ÀœºzÖ8µ|ópxØU4wþA ϶š&êã±NbôE_Þ]ÞïgðdíHH’F=³é‰ˆáh SÁ!e5ÅŸ6"ÍH3K1 N=¥ä¯o¦ó}kH¨ î–·]ÈëæK–ò|T“Õà¨ê±ÄBjÆeKrÒ=1Ø“F?‘E$D%ggŸzžpT'B=2®âIT¼ìb'´M¶B,›Y±Ã2Ñ€å·x%&Rß–mêh—÷óÛÓvÖf¶Aµ=æ}Ö¦ØÊ2j`ÂÁtA·é=—ðçá"5®ƒÎœlœ‘ˆKôÂOþåÝî^®ÍW-3¯Í{~äÙY ;ˆÏZc?·jq^ðA–KÈ3 `óÉÄ6&q²á@t¦UcR„ëQˆÄûvž"áì¶ÇÏUKÚ–6†É@âv=MíR²»92¢®Ý]Øá§ïÄG·7³Mmo75C"ê.¬‚»Háîq³©ÃšvÓµ¶g£UvɉѮY„#@4±=(£Å‚a²å ý\M‡„F«ª)yñµ{ÍâRÜý§ï´ø«ðù×Ùüu™PêwîÂÎꯜÌë®®• §¸Ôwã£æ(§‘©Ñ58çϵøÖ‰ †ŠãƒZÆH0ó{M PaUõi0ð­X$õ÷ú+–r$iz"<–¶Sƒ¡8À¤P gV“@Ʀ|Ž%9n6DO‹6¿òœ…Wú~©o<&Ô{¨„Cë€8–OÂN‹\#Ä^-WþGÐÃ0Õt™8¨_ ¦7jÎúzÈ,;*p ²Îèm+ ¿·$›s-V1ágÝ=+4êÊ€‹Ûó¨l´¼É§eûééKCò=‹&˜[a¼g»Òæiãc#Gš6@õx öA}‹·»±¶ä~l¥çØþjC¡”ü'àøÓ¸ž}ôï';:Õݒg‡Ú»åûä?;[D‡ƒfÈX£ FÅTL½<Æ”ŠöÕK±Ñ¨ø2ød¦ðS6ï;ð-— Þì1`zn-š°Õa®ðò`>5&'DyÚœÞ}"¨`ñ’Zì‰o®óÀk+ ç 0º2+ÒË6´ú˜9ϵ7î ÎØ4«ÑB‹wá ãÅg€ŒiXÔ¾înœ¦þ/ˆøYÖ"]#+d’KpÑ|óûՙ̹×c¥rxRíƒdƒ-é­ìåMÙÁÆŠHÈSÊ„ °ÔRâF…:ú»z0QÛ?®W^Ãï1#Iœçf3aŒçÉ_pPC­Ž“.ÚºãéöyªW↠³àøtÔÈêæ x¥y‘œ0VŠ»=z¨®‘ÆÈE㪌ZC±D GÕü%XK¢<ÂÖ¼3x»²pÍÛp&ŽEvâÎÖÄI©ùûàù„¹§^E™ƒd 6g[%Âs¦§<,Ï«¨h ‚çÃüyJ$¥Ãi?ß;r¨Ðz¡Q1S×Ù§ß›y R&š†öûØ“çº.F° t3N Þn8°…¤“>½Û‰º¸dYƒ:ÂÓJÈúZÇvº¹'¿Ï…bzSÏ:R ŸŒÒ®Î®‚C«IÚ—ÞE%T¹S^»èqrΤB2äÊÁSÔÌÒÔús­¢; ÔŸ?ý$º:” l_Hˆ™‰"œ±’& íg%`êæ0BgIsÀÐ<ýªÖ>{Vÿ ±å‹”ÅDÎë i¡’vs}sw0•iW±¶$›mWßH€nÇĹk!«—»öQù¯D‡:2–$OÎ)SW¦£0?S zØh;Í>APó¯òD“ Ãäv;2oèrx×ùA1ZÀñ0 il°=»3´µ·ÃÄ$Èäâ_æ û³p8WÿXÃY,»·s§âß‘ñ>Rx` U¦„ÄÛP8Àel#3iDwŒ4£f®®zsQzet@—ä­í° ŒI±m‰—Þ«“¸ÞðÅ[5ÖgsTCs?7 JSO…ìÄSC“]½{Ö%‹ÒÚ òƒ¥]lˆÛÇ:þ슀‰¨ÿGõ§kOë±ð?ÞetÁTØaVÞ¶ü/ª¾ž„1%IP¶KÉ0Rú³ƒŽ$cöÁ ¨¬=^cÓL[Ý ˆ–êTpWnೊFg|š­õÈøSB!BùÖßü•óµxsr4ê$æÉìË­ú±šc“¢WiÜ ¼äoŒ¹ÒGˆªÓ“¡ðTQ['²î(ÚÄåž;$ p8¯X9Š×ƒ\Æî8Àa}¢]Œ½Ò¹"×ÀxƒŽJ ƒÉ—ÊVKëR÷$?ujKzáC Wb‚S©Ì+Œg Rõ‰Ãq·…+b*³•œÔJHdm91”Öpʱ;¹QóL‚=ïê\¡<Š sÅ4¸Ø7ˆ0ß«e1s²|Ù¶\?k‘èä`A~"2­ü‹Èçž=?˜òoÛQ„2à¬Qªã~ëJYœ ƦßÄØNCÁwÂoßÃb† =áÎ *]AïU–$«wgN%;]–#R!G`¡‰KOØ]ç¯Áò*Ð+.9ðB ‘ü…?MãzŒ@K¥<Ï{_M£på‘ÐßžX#.Íñr{ÄEÄÛž÷áv„qD2–\×gC²p +,†´Œ»æœT’E–×mð”ØZ!ÅB@‡Ûô7ÉÕ.ùÖ#JÈ~K¿.è/¯‚Ý|ÌnØ®B¯±{/‰9ƒùJS×ÁªâqÛ)è:f“vql€i²þ BEXºÞÓʲoœã/Óå…@Ò¡ÐÀÃ`¯_—1b ÖôŒŸGp•åÅb[£wc5Il5 (wCûôÃEŽLCA÷v×?*/¬ÇŸ±&Qeìˆ)õÑúèîøÀ§Y #€?®ÕñˆÎ6ìJŸßáF[.‚›]Æð¨¿€Åâz2˜‚ Mïߦ;Z8Põ[›Bx(lŠà¯Qþù4PÆ`àÕÝÕ2§5kAZj)T\)Ø/Œ×Já¥Ä¦ö¥ÞŒ.r§æ $/š4Ì!Â,r's²+ Qi'(c³KG|iæÙÜ×Â×€1¼¼išŽ±ûµ&Îs{½$Û‚'ÝŠf!;6-³©Š|³¡ó¶ânšº¹Ö}1'°„:G éöfËüÎlNéþŒàÙ¶‹¾ÿÏÞ %2òÃ+BÐ÷ø÷®k· á¤]åÂ-VD àܸ(¹ áìÆå¯S¼ë¾P®€NYY¡¬&n·¾ú™±:&q-'g¢æLI- ,u´­_‚ìý4"EQ-íõÇð·iÄÍ|úC±­2õé[X[Œ’ ©ÝÊxŒ#sŽò(…N![9@(×x:l>‹/‹ÙÌ9¾šÁ¤´…<Ëà"ðV#îIÒÔ N­Ëã[ >¡Žoqä­‘W/„Z-’˜. ¤ Ku©¾\ÜÖÕ\’àa3ÙßáQó]*8ó!LÙÎ?< ºõ…&‘ZˆØ°J®W¬ï¡?‡*Æ üMª©¿Þ4ps*¸:Q䈷’·º¡Š~;<†=²©ÊÉc_mr‘«”Ç~º÷œ]‡yÈ©R6îðCЊ»)šŒ–þ„iô^ù<ÿGFfD0Þà¥~ì‹–ž‹=YÚQ_mòß½ u»¬üu${ÿb‡Ó:wv-CÃâø,¤kjW™Ð]*I6Dc’ÏZ19Õé`qiQÎ.›óåâïf @{F=y{ú]Ù¬œI–kPsK£Æ¢Ùúæÿ1Rè ì+|$8‹æ¿å7t|´+à„;R,!ÿÛ¤­`]2x¶3g§åüãÒ„˜RŽâ6IÂò´‰áX:t_½çï ûLЬŽZÊkig[t‰Lˆ]hiÚ"_ȨV‰üÞn¦Õx÷Lô?;« `§«h»Z7-X¼u‹Sì¡€gåß„€<_Q=X¹H²²™ÝKâŽÿªÛßG½&çmÜ–7æ|Mq|·5cs>iüÇ¿13œ‡†ó¿¾TS×Ò¼SW6Ðo»‚TN:Èõ]wù§£¨ãª{“– âwܵý‰¦xÈûþW¯ÀQÿ•ºL™”|€˜€O[µºË+Åü‚H-Gâ›o–¨³>‘]žê°]‡´&=Œ›†ü´^Ð÷ɈŸ8 yågn,„àxV ~*åÞ¥ï~º ó‰P°üW©Åñô7¯BåÙ, v`_¢¨«‘Ñ‘ ì–?¡[̲ê5Ì´·öàLîÊà ÔæiÚ–êéÁã¢,¬i=à·Ð¶m³m•ù.žŒ‘ »d‘‰ÍÖÞÕ%h:‚VÜË$ýÜse ®![†²‹•ðÿ±B´.E €ÿ4 Gê@Ëäo3ÂÇ}kœ{ /Á<Ƨ»ZRë¨ÒT²œà†º)§¼ô a†ÞÝyò¨MX¦t="ºê5G8‰>p|ãÎP}vüáÛ*º~ð\#V'˜ ;“bˆ£ÀÜ=v‘TæE §ã z‹n8]DÖ7$¨ ô#ÕfÚ‰(³H<[„U4Ñx”Œø®µ>»gàÉ`²5+® RÏï 4ù.±½q ³Ü\¼&ö¦ìk¥ü8uÿÖvB¸ÝÊÝŠÔn=ÄåEZäkÏÞç,±/j"§Ø5X^ôvžz#`[›þ Kôn>q’;ãØêÈ‹[fqI¢‡ öHrºŒ·®»¢Êµ°#x‰“P&UÁÀEè/¨G¦~¡{"w‘ñŒ G¦yÆ;…“iîJÌÐT«—!_àM!c¢ÃÇ[}0S²—† "É;Å[l;Þ‚çã°Û'«·Þ¦%×]2æƒÉ•PËÕÁ'Êêda,d7æËù¡xÀ÷š†dùJ «Ñ}#󶚬 ÇLúÍN}æGØŸ{!¢D"’k gb#v]s6L׆)ÛÆîó²WX§]6¤g˜ µ³"Q_„£²É¶Ê„_2âÍq²’Tîäîä|;O5š~rQ¾æ8Í3·çRDá#W©Ù HÃö¶«Â¹¢»Y6ê‚óhL¸>_AG¿¾‹e[<ãòn§ÿˆW•÷ª~iO7Ií‰Éßtý:ÞV¶Tõ®\GòµDÆ$¬« á¼ÎŽîfÑ*@–'Õ ÎÏ:§‰™ß69‰Žð8Wê6î{ùH*¢{êRnc–{÷Cì“ßbÂyºpÃ"4®…ßÿa<ÂÆé Ó) ;Wÿ˜wN¾üãC~XJì¾É¦"§o[”æOñÊa(ÅsQ ±[.ïJÇR2Vl×f½[ñ+cÝqq§­¢ZñVb §K§Q5|Zì:XÅÔÐÛÓø¬{^CI«ßñ_Ý[»ÔùW9ŠkÉ£áM=ö¦ä×…Õ†—zÈZ£ÇTfίnÙŽä0ð»Ck† h‡¦”{¢Â¦¬€ëΤž ¡.ä§øót(èÀ4}¶1–!]î'R÷ýŠ4‘“ªè{öèB„;0½Ý­¸¨ÓÒŽ;’ßý»F+÷ð,¤i ܾgŸ\S„¨ÂèÔxpx¤é Af:ÿ]fíÇØ4Y(õ´|ºd¤€Ã8”xE¶ÑZÙ`¥Ø¸nŒb{åGðgu:$¬¬€t$)ؼßóHåþ“¶-N”W.°áíK €Ó¨€ðï¥weÞ ’ÄÚ”×FcQ8´† ø¨[c fTÊN@…,#â‰ë²ýÏÞù\GÂ…1²ÄS»´s‡¶¦—*‹ƒr›®ãn=C@šüRzÅ©K ¸ƒðÛm£O˜±Ä¿ŠD(±}ôE>ß»I{>ÝŠõ“÷kñØIT°aiŠ9Î¥/’Ô+gØm¼9HøU;{¯¿NN>@.£.h þã[ùÐpvb–,H«Ób]÷äkè­ †Ç¨Õ‰ÖØ™°|eL &5¶†ˆgHæY”…WâÍàfÿ¶„ FÖ—™tI2÷$¬†…&;vý§®ÞŽIc#cý¤YÞ–›™;Áä<©‚¦9v@¾ö?_×M‰tä 4y®“”Ö¦[yfšt„~+TUÆÿèŽcN~ݪØÁÖ:T^R¡ÓiηF¾ÓîàvO½)~¾‡ vÿœq3ò’ä±¢ª-³‘Æu]k‚ÑxKü¶_ãHöá`@…묵0‰ó;N÷äê§Q:9ÃÓv¿ýÇg%7Ruz0 ïM¾~s€÷›5Ê9êê>+æSÛä²**ŠCx;x#pû ÛoQAQµéÄ_[^7IŒ;¼¬%f¾ÐÝ ^øe*%¯¥eé‘ ‚NÃÓifÅ"aA »ü-PéoIÇòwUºKÈ…àc–wÉiæÂ¢>†™¶u?ä5_1<ÖD\ 4¦sQòo*9ˆq’Dð— —· £ zû²M(6hŽlÑÊ~³ÃóâžØlýQF%¦Î0Ã{zz{*šó÷¼@®~7«²EËÈeÃ>™e)‡NÄùFݤ #¤Xn!€ë€&Âi&ôäâÛ¦+Zƒº¾8ÿ€òúbðuþEož€²Õõ²±MäöFgL†j\m¨…ø#A@$­-…ï¤~”ºF€%)òà.è‰_xNv"¾Æ½cæÎ§l„QyI¸Œš Ë>^ω¡ÈþØhVl³­©ü×IÕ‚/vt–IܾJn«x•â™.„á™Aâ¥fËB« í)ì%• üÒK:6Ö@­¾ÍÕx·7_+ïPúÇ}r¨>?e½•†H´rÔNH¡Â—ê¤Iš¹ráÛéŽ9Ä ¼Íñ¿þѱU7Û:õ…Îþ¯_‡!ö¼¶rgÓÕÜ´¯5¬—Û2ÒÈË%{•œ(ï¨êã¡P詻㩧Y-îè!AVhî —Œ6ísuè3R¥pf™pdž) {é¿üˆ,.Ò­ÏIÞ»-ìzʸ Ã8ËEN}è}²ø’䜋jÐ˲øBO>ƒ§ßÓv5’xú_³#ú 9nÐVøïîÓ—-Ù¯ÍEK¶ÚÂU£ñ\ÐÕáû ÁÕ=;[F07✛:A·âÔ²çRUº’í¸êíô"ÙV¯wwÁÞ¯ Ö:¬ ïD;¸©ye­í§&·Å³¤ol½è>C—…dAµ=™ì®!µL…á\H¬vi?—‘a¯ZSN½‹¸Fµs¢b¸Z¹{¯à=ò:Ù# «‚ÑÐ÷ã[ðÿ¿­ÍÌûÆqçpÖŽ¡-=ùKžlâ1 f¶/ü3µ(|;ÉwèGêRQ¿gÈÅö0åOBð%Hn@³¯L±ËÃg¡¼]Fa£­µãj¿,k*$}v¯{N˜¾O"¥aÇ\„Ö¥o„‹dúàKêJÇãù;sÝÔÍ€àZ²>{2jñüû™Ð¥ÿrÛ·JöQ7´H“qÝôŽŒ(&‘•{ß*-—ßF~‚V˜%A>° E^×”Çb}<5ëŸoµ /Eð¦a˜§ªÚP;‹ŠO¼ 9ôsv®"ÃÖÿšÐ<)é‹H¸”åû ñ2’{?}œÃMÙœò |_ÑÓ?jZKøBù»¬hËê"Oö:ÔËy¼Þ·ú0Ƚà›ü7‡}!q(䆢3õ,goüàÎf ¢eîÁàÇY¸.Þ ºÁi‹†0ÉENjr*Ÿ}Áõ3Àø\°g¹_P¾d6Ÿæ›çMËóçŸÁúÐO…hUÒ4N,#Öäo­ÿ I!œV®x4Šg[ô±Ã{ÐëÖÆàý”Îo)½Y|v<T9ðfûx¢-NFÈíÂ\`$ê? LmU:Y[vÆs´cQŸŽºêRW_Âî'•ÇhÁ2~)6ãI'Ú‹.+iæÐ©•õˆ§_TÁ@‡³cŠÕé"¨â(¢µ³2õ‡ªHQCÀpo4t¢V§20h€Å¤o‰,î:¨€ŸžÏñöñݾt.÷-ÿt¡†É øü‡—ÆB¯ ³·A£w;w]Rˆ›[ÃD@zíp7, žT»Žã¢¤ÎLÒÒIX‹°F=h mùôj%3²ÉD/òÚ“hÛ6BΈiZl´õú¦65ÇùµpA‰±ðѲIÕŽ• 8ò57õG‡³Ã[¥¶I/ä.)LVçMA¿%Òq²ýÒqÜ. g)Jš•')¨ñþo¦ƒ&b·Ènº•\r¼ýV\¥„€º2˜p÷./^S‘™ÿ£{$k”Fg%­ŒeT;üC,1ru‰]Ã¶æ ¯Æ’Áãý¨î.š3œÈ„:ωÀv)BW3(ƒÐº—˜/Œiæšhš©u2ûRȦx¯èü­87ó ~hÛS€Ø7̺qâŒÄüÆPEù+¤+VJ²¾àú€íZnFFúkzüJ®7ÿABF*0÷:]cWb×’x¥¬’ Á››¹xíUóãù¾`µ„‡†t,ríó%hõ;P¬Ìë·Š³”‘(t yÎtû¬FS×…ËCÀÈgvdUë!´·ËÁa7¤k9ÜŒÁv|xºT“¬zjÍÔGíÛ¶55б(uv´¦÷nÙ…J'àMÒzÓi_Kïx¢²ôb¹_[·ߪ£^Šcc°Õê,r<ùæX—02pž¤µ-ŸùmÀ=dT¨="Ó)Èãö—Ëü» >Yv‹©z%–ICº&Š9'Þ tt.¿‘¨ ’á#Ðç¬ÒP‹?¾»rZ>íÆÆq -/•W'Ø_ ôâX„À*¬áW ðP5 ÝýP i`°–¤ú»Ó&&N‹ERóQŸsŒ:ÒØ´AWÒ –•ÿ·Úª¸1/{覊(‚,p‹¬•–ó÷yGPjêÏìÄ*`‹ÍK¹¦2¡•`Ôzëlú˜"…s4ä¤ù!„é(U!­Õ>à0Û|=/ÊÖ‹Á}¼û‚-¦c}x!˜ÉàµßAnL¹„ ;Ž~>…j„³·© xÓ5àôŒ«´$­•³Ó7P¾¢Äq¥Ê ±ä‘P†*–{Pƒ1#ó¾ÍŸW 0ÖèhjŒ>Ï>òŒªä(}"ÒÏ·Z’B´.X<î?´rOt>Ëú Ö¡˜1™ ðÜ*ÔTÆ•¥jž1açÆ~ùÌü „K—ÖÞs<:ȧˆNÃz<ÞcØC÷¨©\bâ•®†æQqòίn}lˆjO’èÖ2¤‘”økm8ßß d—ð-øm¶ÚWNw¦¹¯ÛnFŽu‹u«U±ÆÙ߀aü̶?–4 ›Ku'a‰BËV0»“8õÊÀ`5ÿÙaŒÄ-6, ¤Çö£l¤¹¦g‘«¤×ÅÄÈ÷λ¬°u’^­ñ&t‚pœ¼PU㌂·ÉÙMžÉФ¾‚ú•àbͼ&Ñbš£ŒGZ'^Ç;¾7È÷‡ÑÀ¯2„µnä§@³fªpt&­ V²ò¿ÙÅ«–ª 7P=Öäâ¬îÌÙkoÔm/]@zk${KÿN”˜ìVUê m:8´¡Rôż¼¶D½ÑTÃn‹7ЖmCŠCò­p;ØkÔH×DPÒ|¯â{}šðwöë]|tUÖÂLçÒáè'³Ñ‘žðZO÷~EéˆÙñ:¤Éžñ=ñ³`a¯ÞMæ—“†»ö•Ìu [Þ3¯¨ùО­%·-/´ G™]â›ú!¾™3ô»f»^Cg!´Ù¼À˜•c™G‰RnsM*Ó‰ü.拆x Á¯ ?6¹~ÏÔçŠÊcƤ´m=«êc¤ãªSRiBü^ÔþëÊcgÃå¬wãìgÀ#Q‘-œiÃé&W{8öÖ§ÀæP–avæ Q`_|Ò ü~]±›¯'z;Ê8g£ÅP‡Æg¹MÉ¿R´ #}1Û,ÝÍ‚ŸIbv/wš¿Ë½¨{}Œ^¬Š’²¯‡Íó¶[Æ·ÛËK‘Ôu%š{Cç‘Úèæîý¯“ÊZ7Lœ„£LPÍSãWçvµ‘j$óóÃOa“c>ÑS³¥$Ó¸H·¥ŒË âˆ2Æ"ÝQŽ£§ñƒàò›ØôßRDko˜ Âã1TÆFFZÿe0jv†Õå´ y{=]Þ„«D‡òÒeLäù ;-\:ç÷÷HªH—Þ²ÔŒ¿57òÚ0Çbú4ãÉ“¬Z#imf%ޏÏx·•×`É—'0e:½’ÌOnÓéþ¡÷=[’æá·—ÔéÎ-¤7«d íû>ã˜ø9NqÇ ºb êQ,7Œ¾Þh³¥ÁFªªÇ‹Å@Ñ.@c£°Ôž [†LW!ˆs¦äŸ™* OtQ ±0Ýst6µšœ»šÌÒ˜bÄéó°hDéúÃj[Ü 1²pH“(ßuÑÌiÆ ØÑk]Åi7ATç«Þ˜8O>”Öfõã1S胴ØW¡Å+/ÍãùÁëÖµä=ï_:4F÷m¢ªîW{tvP‹H]ÅñÒ´B‘âÂ[LȳŒ¤åï äIš¥AúkB^{óºl2B,²Rý7žš«þòƒ©-têˆþµ“{5&X±6ÁM]ÃÊJ!îÕ‡)¡“¡¬&à…½º§h7zåþØøÄÈÂ*}¤'œ5‚{ËVÇ? YÇ ? \ÑNvøPžKR( ´šW߬‡kߺjF¡²Í ,y€x«§=ûÕøÊ­f…¾7 £EÚX¡Ipz2PB•… ìø¸u´XgÑ£õ™M³¤ÐSº„G±²´Äu¶Ø­Ä6\¶i.Ö›Õ¬ù# Áñ¯r,Ô ÓWˆjGzyÈÞãlñÄðï g«ˆmj´"ŸLçQeµ¯ú™þ`s¹å†©´NEÛñÖ QlÓÔm™G”pì÷Úd•Y¢‘äwßá(ûÐ@±¿a‡}ÛÔ H¦óýs¨®ð´R¢é¡Rbt—á4æ‘iÀ:Z+ .Jvd"ªä…]v3 Å‚Ä7œÞ×v7òK +r ÷xÏSÚuå ‹ëº1Dt2îÉ*ùÛØÃ›‡?0ôé–È· ûÜ&Ž |¹Sv…DÝ=Á±«aÔ ïLοP?Ù>¥Ñ f]Àeu÷0óF_5è¬Ó´Ô)i^ªmÑžëË&\’)¢¼äª÷Õ– Ùeÿ1¢ÖÐs“ê¾.·¼a‰óéZœ¾l}“‰Õk¼B ÞÁxÙµœÿg 1¬Ö»!Orûä‡kKdNýú¿k í”™\°.¶(D9~=—@µ-òäwBoølQá(ç¸ôï;HiIÖêQd1—Mù=àô&}\%Gh¼ˆ ö*ê´4ÀO”˜¡a´Œ¾LGà·ÏË‚ö»T-9Ìá[í…–3±‡’è²…× NÃûÑ8®eã@!FžôîÉÿMM†ØÒ¯ç³ ~³/ÆÒ½éª"ÕG¤v«,^î}‡‡6Y-|D×È2ä^2JÇܬJŠÎºgÄ a'/uTÍÚ"1*¡ç*™öîÞ«2üñÕ¢¶PÊÁ8T«²‰ÈɧòÕÜoÉ‚á&ž~8Y6Js3%ɬ?{“”+—o¿Eè&ñ z—†#ÂxÍš3µ!Ûÿý|˜2J†Q±pK¨qÑ…j´…²ðØæ jÈ!K¯¸ùq“°Â6¥—ßgs‰*1…L³)šF…@,Bê¾ÈñKƆʮ™÷ð,°XºwŸ81V@çÌ"×"¸ò¢:¡“„¦W•ˆ&>‰¼QºëÉ÷ÊÅæåD}µìÎR§§p›õQ`«µÒq0"-[¦â7«B¥"Y6ŠTŠpº]ðV€ØlåwsˆÀQ¡~¢zeå"ýÕ»äoiô©z»ÐòfÓTeDƒhf¤¢/b–DÑ ù?æ³<›+`_ˆÂ׉îõèÿ(´ÁpO«'¤™Œ7P\{±7V(Ç£på¨9‰‘3¿$'§Sn•G„霣äA…¯®@ô6ÑßúøJâ+àÄÙ÷´‚¶wØ,–"oÁˆ¼ÜÉ| ½3²•Í’[)Ä<4œŽ‚c"tIˆ¶Z«M–<²î%=?‘þbøÄbh8ãÖÀ½<Ï[mëqªì+Á” H/Cg ÜÖÑÞøÇ ÇE ºH©3Ò»¤$•4V´¾@õœŸ6žáŒŠîèÀbeÛÿioÍ£„²¬D¸ã^ù®fÊo‡Çµ}>¹“á /GV„†…¸h›g¾àÀ³³´: ÷Y^Žge¥ÅŸÞÜÔ¶2oð'ã´„HiDˆñzHhtýêL{F ùîD•GNÏÏ<Ë­FEœ&.ÈÞqh\¹¦Â$/HÍ¡Ÿ-ïŠ.½#É÷ É#Îí¦à\-sŠªa{sí ϹËÚ–÷qV¦&Õž’‰µfíQÝc. f&w\i}Í’8„z!ÎZÒæÿÔW‹€’^x†Š45Àã*õ\ªAwÌnÅ?Ïjž¨füs}`œÈi§Ô*^h]æ+쿌&׋dãŒjæò ÉU¬Åzsg¦{#É;YJ û€lz€mk?ÁÊYè%Qôº–5ç%8(±•òsÔ„b:í‹übÇ?¹ Yv9ë& fø¿ÙUYÑ®Ë-ê—nÊhÚ LKÐUørÊMyÐ*€ßk4¥"Ó cÛiDµ±jÐk¶_ 9þ™eñí Þó‘%ö=*Óx–Ï8®m'Ó$8oˆ»Þ¶®¬{Ôr)€F–lîž±\Ø,Å{†¯a™oÌ Ú•axñžø«­’=L†±x#í’[•m鎕 CêMwª'Ú3xÐfWå覻ÊÿŸøƒ‘xW'Mú–ÈÜ8ß{aÏ FÚæG%¼m,QO£ö¿d6C³Û¾öW 3 ðvzµ¸ŸbêvÅ4[ƒÌX׊!íVAÖ‘QNOOϪÜ^š€Žçs÷ùb4¨ä&/Ì›VKŒ_í#}¯¼—wì*{#º¿f¢yaÒgXmq)s xeÂä+»w8¢§H1ËÆ0p8¹ëÕ#þ8½DG<§,ŒÈY—b;vëbÌ!U«9"†tÀÍugLb#îKÅcâÀT¢Âx“¨¬m«ä€ž\ž“×ð€%¼ÓKR1+Ê“úÃzA2KR»£èëËÙ×oê0__äp¨îËo )·ÞbFá‡zþÛØž¿ts¡z™UõXóìJâ’ÿÁÐxÊNÄœS&<ƒZãsŒx } ¡ÃÌW‰÷‰7°éÁíCK– hJ>(ÎøCödŠîÔ¾/Y|q8^<Ý)îiù?2Uì.oÕûé^vt =}'5…U†HŠtc)*å £Z4U›[kP¸Ú–jéÑ­œæ]Yˆ¿Òcòô:'mòMï`ÝßÑæÜ Ž«û×K¢èî¶™tÅØPÅk5–߈ÔÄ|R­h<_…ĨPW©ŒÄ†u²€4l×[pj±p(¹œ -Íb»žéòÓö›ŸÏ¦×šy×v;4à ¢sã² '[ô9³lt¶*ãlY–ß7 ¶z•xœØË0pœàe5ÉÀìÓ–«"^å.ÙoIõU,ÜVÙ%èÍ/´óIç¢_þ7¬uÿ¥Q§ãc&ú„ç$yÞ“B¨Xé 8smã†ìó{ìŽÛê“\8XòçW˜rÄ™ú=èÈÈ9E?$€ì‘Ç’Á­V<âÉZ$y-mÕ0üõ(]6¨eœŠPn°Yˆ¢jÿG!¢£S7ÛAˆlb²4 P4HýÒ’¹O”Ÿ» ^±žC%™SL˜êÂ’UʱK"ÑU ŽH…/ÇæÛÎ~JövD1cr0,EddšùÂÄׂ.y³ˆƒÿÊ=òø½µ”À°9^ídÄ`^¥rlâÒ•’+@‹/ÄxûùÒMf/Yj¯W…+dÓŠÐI kaõ·®Ï¿\U™„Æf8Œ1p܈$ö®[¼J=:i+"¬Í|}PçO<‹x~8˜ T’mXrK1w ŸUn±Ì¢*îÒÌ\ùqT>[Pr!ª¤ Ý ^Ø¥E[SÉ9q´¯«À¿gËùÛœßÛºuR7Ã|&Šœý³ÐN¿nÙMÚtgvpmªÙ8è¡áK }„¨³.%×@‘<¿2±ZÝ>´ÛóGr ‰ÍÀ\”^Çcö ¼Kå'þQËÛïÊÓÚ1¥!7¸ÆÜî6ƒ91J‘÷%ÛNµJõB„Ë=¡Ò0¤ Hã@¬G‹äS…:‰UGׄDqë哊{å™T«³ÜÝ&Äîè…Àpåq=¢S°·<Ý»Ã.Mž·!ìcmò•{ÊÛø[qàäÖÛ =‹¹P‰˜Ž»kÔö•SûlDølýûàTT ¹!¹v,;‰*ê‘<Ï¢´è7 ˆwÐéf¾Ä|‚<ªÇ&û}ý„?+—WÎ#È©÷è¯ ˆÄ06+¹ñ×a»YÐ`4Ïz©N#ìK¹ [úÞ}IªÉvà¦M3ñs £ØÊ‘ß6Õ©/+ñ sÒV…Ù5ŒÙ“B»ÚAó*¨VŒ‚ãž3Õç%¯ªL‚V–ò¼Ú—e‰!€å!÷¨Ïb¿èK°òæÃéwSV½¬¬Ðê½ƒÎØ¬ägKØ+2«|ŸˆÈm¼™V/ꆟáŸsÔnþÕùì[è½¶k÷íZ/G\%D»RnA‡TÎâßÅÆ™l¤“÷d­LÑŸ˜›Ö²¼®Ö«û½ªß·Àä|´9÷zF€ã“·ôÀ8=¬ÿ<÷&M“cÁã>Q•œÝyïýS»ut˜«£¢_yžvŽ7nMÊâosr‡”ƒ~g²œÞ_(ÃF ¹žÕhæ‚fœzü«uGâã‹OrîÂGHèt’l-£ùy;”#¤õ;©ªUgn°ÖðÏô3û¹f½ûñ—ž˜wûÑÄW›œRa»Íô³£Çàêk¾Äi¾i×ð¾òhìÃÜJ*߯ó#R³iíŠv8j™Ë¤û*ÅjØã•[ò5Úˆ´+B„‡´½üû9{¬hšóa¶F¢P]¯ªAâ§3¿oꕺꛙ„Üø@aÁñb’R±@“úGË(©ëX¦È2g¨hµ ÂO÷<ÕZ"á‚U·­—¿‡ WvEì·ÃZlêRü‰&ð‰˜÷ÑÐA)¤!ÜÎÅšiŸ"‡·‰Þ3샤úíÁÒÊ(É%ãœXH• dØí=¿ˆòAnÄZøÝÝ%±Œæå›Qh^d­ÑÞŸ€å×nÔxó¦(Y¥©â 2! ®YÆû¾—9{‚–ÌüöÑÇØß®“EÛK†ü -?vkbÚ›pøtVA~•䀰FÆœ£ Lcj·0¼‹Ó:ž€=MÃ@©6š6»šõ‰¢"¾Ñ(+š]šeÂö©©ôQUº+çÙ‘h NÌÝÚóæÅC2[¬l§¯„¼gF|¦+x¡ÖMWY—2«¿ßIi“´=¤û]–ïXI¤I×±æðb‘.4§Ünd±=³" ß~c†f{™G¿/¾(bŸ°])Ï =rvêÛ-yàží®“L&‰¬{×?<ÂêÑèéã_I Ì©ƒ@àŽÁ4VÇ4O¶(;À%裴œ0öÖBЙçƒCs6ÎIÕ €¦ÞÆ/ÈéXàÑyž@ü²óJneõy<ÆGö·•k޶ÓÓt5Xx%Gü«[ dlíýé/íï>˵8È$Sï=8qeŸê'tô~•-Œl~÷=‚¾ÎÐrów¿Ét$éö2tßÍÍç(æ@ºÖû‰CÐ8ÆwVMŸFT€< ”a@>i÷±ú¹óðXð&ņvÍ—ZCDH sĈ]òFm€³àavE,£åR­æÊ QQØ}éãÖåÕïa®ƒV³ŒåLe57eä©‚ìTÂM 0=õĤbiüµ#ðÏ$˲º?Ý]>«Xr:–ð0`ù>-{M¥&U–À$;þ}æ*è!­ÑlB°ùfæ×"7žûäª@ü/N`¡LJVbà}ÑÃúßo³"ÇyÒfÜÖìsk¤]‰Qª×ý“ý쀺A€N‡ì¸Fì͸.+Gk´xBQ[‹›Y ^jâ½!w=”,YBµ²o¥Ê!ú6CݲûÝ­÷µ„Äw€ƒD±çsÅCÀ´ÆÌR [3„åHi™&® vê%ê$ɈùBýU×J¯˜Øw͸ujÔaüj„5[†ä8ó•RÆ<¹7±ØøA)ØäÈxGJ½Ÿë~Å´ü•æ ÃÃÛõÏoÁ^‹íñêÂdñ²­#¶<¿q*½}G82ÑÆ9ßzNBrãüqÉùM2Nö£®£Ñ »Œå[~¡¬r'Ęü•=:øâdÈ]×·Ì`´ÚW`N•FÂÉÖN§»J7÷dC[dŠ‹ÝÊŸ$Bw¤iê#PiK@ë{Ä¡­ :>8_Žíño@›Þÿèâ|¹Xgð¨ÇVËë~¸¿ZŸ+Ý[— FU½y…¼ù!µH„h-›‘ÉSi3Ò¨Á\8÷Ÿ ¢}Æéüox+YM??ÝGΆ&äb7{™„šD×ÞÆŠ£yÄá]~|Ü—(’5?QiÕcﲄÌXÝ€ôî{íÿæZ0-}Å‹†aÝ̹PÃVÝ /KÕ± …Èkà—­ñùN²rS‡Îù‚Á GmfìÇÈçJV$äËBBä¿;³8çóÐkEúÖN¤<,n£ÃåϾË|áÍò‹!â‚ …¶¬ªµßªn—Ê_/ÞD„B‡dµí1gƒê¹±¡p,S§0Dæc©7+cPÒñ>Ö ß¼äiÖ\UÌÁЏwëwàÏO3)Qmx8ÎC¶‚g- {-ÄŠN; _+ ~ƒ®IPÓ[UÀ¡O•DVàÜbš1uÙò$a(‡ ê.Wr‘AõÄã*Ž}oýFùPÙ…­ÑÍc ·áÊXYƒ¶ëŸF‡¦ÜmÑ_‚( ßÙ_ÅMnøbó!þ+®•{tÐ8¸Ãwxîõr*ÇnÔtxÕZ®g=Š÷¶{m°Ù¾ G¥&ÉÁ¶|« uÑk³oÕ,‹u¦ÌB=ê´&çW—UÈËg•!Qê ¶Ñ‚{ïFÍwEû!s$Cå“b©û­Êb‡ÎkâÉÎöX‡Å7Ì‹ré”Úm ÿVC€¸kZ».Úº$ŠZäiÖãõúTŒ‰"(PÙ´K;ìÅæôÔ>žÇ7¸w|g‘ëÁ?–ϵ¯»ß ¥|{‰%9’äÇÏÀÍJ€²kÅue¨¾ˆ„Ê c¨{µ?xHÂð´o„|,»žÔe¹¬Ýô3gÁÊpÊŠ 禽8Ž!­²ÀôÉÍr¹´ !ÒÙ»hK£*,: †xñ6ñ F£\àÕsÇ÷Ä÷z)â¾ÇA÷ù´Tßvõ~þC`ÔnémY.ª‚~\~y›ïËPÖ['¯z׿1ìSÊ@¤dö&“4¤Úá(§RyMk$œÚnèɤ Á]É´îr¦EÛCºD|?Ú0w¿¤fÇÞiV/„û¡ZšáaƳhµI%ÚÀTW0êp[å%_žöhù#þC2O;A³=×…ÆÝï…™ºr +&}ûH‘R0Ò€£Z‹ÓÓÿ™ Å6üJî™nšð>eÍ <˜•¯?pûpÙÕÐõ`7Uîô3¥uX[ÛkdŽWˆå7E|aYv²_ ÃöH'\RŸÃ ˆ¶˜}f.'Í""9Øm£(Ç>žŽx!3 «f¾‹CÇÄ£Wëˆ Ñœ1#½ téôõJBÄ»…gñd½—Ò—Ï( "Rä!ó9ÌqÚþ0Èô%?¶þ³ã2=X¾iFn—®˜c8Q‹JØ•Óc–{ì©§HJ§§1 Á%Œ±‘ˆK¼8‰l;“²2žˆR¯2~ø±§-Œ½VÝ9y‚juVß(Õ(î ™/qógßç-&s©½; ¬Ô¤öh%:J¯Š¢™ITÂÆ{cãFÀÛCÇT=ȃ¤å—7êïÒJ“~°<®Û>dÐ_†oÜd ·ÏuÜM¯Á.`ƒÕà¿,>ó¨ƒÉñ¸££³ß|Ð l´8*V 6¡l Ô±¼$2uÜD@'h­¨ÍÃB4S¢rH¥í{´%^˜MÜ/ï¥аŠtôgÔnòœíïsîäì3Ãã«I1 ÑŒîlésU3 vÕ´L/!!dÚs¡áê(FñN•\•RëQ”ì±Ý,&ð2à’V:šüïlµ|q÷BÔð‰ÓËaÃp¥“ÁÐÂÔ6º¯Ó·è}sŠÃÛó‰[KQjQè…GÏ&=—-+c(/yÌ®<˜Ÿª!h—“ÂKÕʨ漇É{ý†G‹;§ØiªS®Dn”/iTê>AEI”’þ¡»ôÆcGôœ[o¨øÌàŸ5Þï]OÒ0'W1Û›Y ª;\Dÿžæh”!Æä1æ7E°aT TQeµ/‡zÁO48¡QZdH3ÉÜå‘Ê‘ùzJÔAñ·Òòˆ“tÙ­®ugy›|q‹b¶CÐctö}7ôé)èÆ9¬MžVÜB²GLémÕ†ùØxö=<9.â .fŒwÂ-½:wc±½®ŽcS¡~ñ­Z«jSóŽFInlCà¸×Ñ¡ØÓFñ |s|uŒðïWpÂ7 {SÑ>®àÓÔÜsù…ì2ñr¾ܦvH:]¯¨çìmxùËË[r‰-(èÿìÌb9JԆ˜ÿÅ&à*ÁL¨EcÑÄéHé×­3 ‹ÆA…œšÞ7xë 8ùÂe lé\Hð`ù9¾vø(îTÜO”´'03#ð}þW?•²û6÷øË^-œ¢€†¤]þ…n–î"nçlY?·”V8PK¼ãœÂ0–UYõŽ Á”Rû(A°›KßîX-B~NwïÍ·ŽžÄ]íùx ¯5_¹„™$_“Üɘ[űÿäqH´¢X<Î2H mÿ*çTxÀ&‰sGabª¯BHåü0A“Åú‘jø|¼Óc%¬þPSô€© ™°±É–yÍf¼ ë—›à>šEÑ4ã4P %lhctib^C¤ò1“)9…Y«À©÷w‚6û6­J4v'‘h´¢ä½Û⺭ˆ¬"Ÿ Ò6äô#—¶Õ{ò8¬|‚ºÁ*¿8P¼HÍ+ZžuÜ(¹ÁK’x½ÈbìfAŠ+u gÕûXqåø{I'/eV.5»À­Ô—K(ÌZptréUÕ]Q¤vGÍ$ ¢“äY£ ÜÇBR=Û½OeNù.*äÖJJ­Œ*ÈZv™tiI•#°«ú¥käÓàÊ>J½sþkÂC@-¿70]WÀ_GÖ‹öÝá÷ÀÍr€@ŠWL×è‰_8FÊÏTׯ©\é>[¦ö­# øœi*À¬Qn H6ä40úb#òúÌ‚y)"çª>ÙÓ¿ªQ÷egçsÿÐ¥Z›d‘ŒÕ²Ó6ó©„%Á‰[å]Úw‡®ëî–\‹´ *@Ýá° x䈽¿‚0ô±éf+ç  t ³pðă&{Ç@ÒT,!ï­Iæ?®–’IC­b<– ’ŽgÚi„cæä€µ‘ÖÒ'X'bgÆi(v¸Ù=hŒ@ivPÐN>_ÎÍŸ›t2+YUh>ÞŽ»ÁBÈžم†Ùʤ-":2:ˆühXzŸÀ¾Ó­uà zŸŒ*ŽÍ´kÍ}ØaÓE¹Qkw׊h¨Oæü§»¬E%ëðMñ¼Tâ¨ÉϽ±ÂÄc¬w_p þW3mf¥§ JéÜÃJ´š%+¸3g°Î³¨øýu²N@± ÇéxÑg\iÆ®ZÂÀØ1†\€ÒáåS*µl º-…Û„'ÙÓC‚0Åðuç°º6 V÷›¯™èK®+H‡È¡¦'ÿ=ºŽpÔ£E‘‹ƒ¿‰þõl-àº>E³‘€çøù×¾ÆèU#?)ç´»¤èpäMúÂo+EÝT£®(m¹ˆõ:ÑjÒîæä,¶õcÒŠ£aAè86Ž ÏMXWÓ.ýõ­÷öìbœ´ÃÜ88éAtAÉfÉs¤D È!~î0ÉËÛ´ýW¡çŠO4¡ÒÎOŒ'9Ö²¦•·LOF[(;÷Ç’ #ÝZ™++pxù*áVf¥‹JP2§uà»Ã’Ž<ƒx´¹c£C!O.@áPB°`Ãvf΃hµÞ"›ìÒ‡<Ò^Ø€CéæË)#~´ìJ0JpKè»™å°Ö¬<ð‘£³Iñüƒ¦ë[Pô±‘Ý}rê:ÇŸ‹<­6&çí¸ª¿+ÞäàlßTBê-O?E@gž„åá5]”L-µœZeÖ³=À’– á`N•ká ³["œ“cÀyõØ3ïÕpݼ´‚Þ¸‘ 2sÊ“4v&¥j\ípšÕz(ëÐ$ƒÿì;7ÅFqÚH楗ì¨r¤  ¦øŒ§ùÊÄš± |J~Øxz³á*LÊ6;Œt ½o^´ôÏ'³ËÉòyD*ÝÇ?³Àóhކ|$MÉQø3`qÓÈÅ÷`(ñ{“!7« º§ì}Änžö”L³Æ‰RÜŽ‹BOD©Q#Q„þ¨]-ý².œ¡z÷†Y@Ø‚Wò=0ýâ²Î‡8¥‘T*5Û ¸â+f=<Ô! ‹¥yÇŒ©Ù´¹!ØQ÷ªõòǦáïûL“K2]yžiÉYdJýë‡× ¤‚Á$ÿ|»É—=(Ö‡ÃÍ%ÿ< `G\*9h À*m‚³ëÛF¨/yN÷˜°üÛ”æhOÑ«'>³iØ/Iû!•â(SD› ÷2…@l;†±0ŠÉ¯=“<\û¢Iê3š“–myŸTÁ|Á—Kn‹ßp2΀` ]s÷˜ "ÖÉ«y›-7š÷5'¤æ°²Ô° Æ`ÑÉ—çÁ%Ôµg-e«:›Œi8>ȱÑA‹“<ÇÔÛžœ8%Öy™³ŸqxªêŸªToîáÒCëŸÛm0o¦ZB“/ÅëÈTµ)o…¶“û±zÕyþ$ÁÓҘлM¿yQVÔ4TzqÐ)»ùó+šû:iʰwgØ\¼ÁK¶EHÑwí=ž#ŽY•ðs ñáÕQfÚÇÝFÏ3HªôV—W'Ûx|E‰ÖüÐm]õ•>èâjj³W… 9à’ñ]†LH Ãn‘PÍA@òêÀ}¿…‚T—h-pïн.´Òþö|õS>ƈðšT• ÷Ótß3eçHÛú¡wó˜N]ЙŦ•J}ñ4£¼ìÌy;CÛ FñØ¢;ÐúÚç#Å;~Ž,F{äFëG}G«Ÿ€Õè–|Ö ÷psB“|X,…÷ßfýyDÿ ‘œõûKØúZ«ÛÏ/ÈÅÖÆwƒ‡ô–»ƒ‚Ô¶‹™Ï·ç5ÆODœA¿R~@ôg„‘RÙ–ä•Ià¨÷dÓ3ÏnV«°œç§/6ßò#bÅRéZަ ߥ‘r¶?b>8µŒm¸ZÛDàjȺ‰TÑþi\¦h$ô¼RÜ 1à‹Ñ9§9ÈàÍùœ¶Ð“Êx{"wõ¯¾Ò»aã*x˜%§À˜Œœ–&ߣ“J—. æÈ~6£&¬&ýþ¢ƒç6Ÿoä$¢Ê^[ÐXRA—“wмJ)¯¡4¼¯+²UÐ¡ÏÆ  6|kŸ\žU*?²° r3 NNT”†ÿ€a;µUlˆtolÂP»-®1Æ[’…Àñˆ_!,¡Ûÿæ# u;¯ÎÇv¨ÑG¹é>1øQNîåHÀÙä¶"ÞÉúHÇ2W‰(Þ2Z ·ÅÑ}, ¶î“’þ1å(ËŠ330AûÚ@…‘¨%¹LÓZ„d\‘ë[âïhÎò1~õ‹a;þøå¼’0í΀ dˆ28>)>ë6s²Y”•š|ZÑ£/ûyV˧!ègÅWýd‹Ðìdd^üŸB"ÏÉcáÍ ´2³ Ÿ§_¨ºè}AfÜÃè$ìÆË.“6çÉSf%¿çoš{¦žäÁ‡Ù™•7œ¼E¯¢1J–fÓß)ÈÞ´Â:üù•å›]ðÂâ>Ô‹˜Î{P“T$0÷K±·åp& Þ?T…GhL3ÅþØÙ…¨ýÀÿ°7"Nsì^ÁùÆjA<{tȶí¥@˱íÉÙb­¨¬÷!æË|»l)¸Òôg¸,OÍ¡…Èg†.ËÞº‡öóÄTÍ{¢~¢N ¢( §|nÈÑüª-Ò)‹žc3UoKø3T_^K •IŽ¢5¨ÒžÅ†¡Žp)aÕ)4Fàö˜‰6GþI¡ªdwçgiЮB¶ö˜ô-ÚBG† –°Š*]Íï™të¥÷¥q|\ºÞ„¶ò_Ð[Çä 557/¦äŽ@˨$—r’Õ‹õ¡üöæ`½UzG\rÓ—6^€Ü– y)Eß|†3šÛáÛ\'‹Úñ!‚àáH[ø›´0ÑD7[{SÚ0’çZ7Ž’1lxpD@úSª×€,TpÆ,©ŸZ%Dîû"ºO¦fÖ'•ÇyŽy1½çãÙ1¸]À .~ZÑ8H;©Ñà {·Ë4î‡kéûci¹¡ùß²*¶·Zm~íú¶¸ŸŽq Bo4É‹hhÏR¡êß”µ¢-yD¬¦6æ±éŠ23Ô¢~‹ÃšÝ Ãñ|v¹Û¶(·ÛKi¶ÿË8D—f·¸Ú­8|‹C-~/í%|½¢‹‚Ø})~ËD‘„?Z‡˜o+SÅî5c¿“)½Îh›öl‡ å¾5½Äú£S!o &Œšq£öÃhëîM>xôR=©€¾ë®^«uiÒqÿBã…!(Ó¡S—ÝïžÙ^TERˆMpëT>†Y]˜8»ŒòÞp(y miDgõÊáA) *JoãòÑ¿ îx{ÍÈe¹¦,Š—ött¿™¬”¼#Þ †õ: Vu2(.R½¦JGW,Nbµt^ š\öL¸ê }ÕÍgÄqŇà~ïÈ჉™ï5§«ÄŠïŸœßHÔ62η“} ѵ”—‰È¢ ¹äKˆ:«T9ô½§^^p;·×›ZLw˜6§,ÇßÊåæHûAa¢¨N)e˜sÜW£º”¶ípCQŒéo¶yèe ãBÙN^|G°šk¬Þesèp,¾’¶±æê5GP¢>"´ ‰ p&:ci ìvðMõÇüxŽ£õòìe+¾É°b}¤Õòô¸ñì£ò×sôC°Rýþ;Ìμ´­ÀØñFçMÙT‚³O¼éE(øfýf€-Ĉ»§3¬¹@ì¼?(÷º^‘$9m .Ðï§¿rjF7*Y> 5˜@èaÄ‚i¯ÈX`±X½÷ýôˆìþ‘ø-Ú*<2l7`~Hª~X3;†á*¡LÄY ëØª{.rpaõ€¼ØWÄŒ..×½n«æí·?s‹”d2â‚9 gˆHX|TŠ ^'Ò(fðQÍØ@áýš„ku­š1½ÛÒ¹~K‡boMŽgË]ûþðYaíæR:¡"ó˜²Ì>WSsÖðbÆsLŠ.—¹É9FÞ˜KHX?‘kÜFÇ/cJÜ-¼V w$C7äºEG-ÇñÞa„IÏÂpfG›ÊÞ-°~JåèØ`íúŒ´÷쥒\ú³2Zà¸D3(nH֯Ω¦>X ‚!’×CbÐ=Â, 1²ãÛdûOR5ïÏ›øã°ÐgöøH%õ¢ Ãê[¦ÿõí ÷Ù†¦¦Iyô|­µÓÑR¡ß™6ëcëƒ+iêfI4 [¿M7H³ºöï¼(Ç&Weþް_ u8-ArsÊá››Þù‡ÕÓý*“HÍ3gÔxœ1qgØ8¿Fwº¡÷‰S4<õÖò}TvÅptð”!ÚcÛÙ&çFñ壘°Þ;h?žd)Í’D«FG\ ¹»CRúÑo;ôÁ‚ПµBF-™”µÌÈõºVFĶ5£wò³îóÙYs$‹(]Ä©U½é ÑJœß訂JàŸ|8A–O¶·°ïyèž?˜ò†L̓6Ìiåÿ+Rèf@QзÞ4þê¬JûÙlv½5ï¯ke2÷2S¥î tâ Â$¡“CRÉû½ô™&85iEvúìÐ6¿aű;+Wÿ¿õ9<¤šä´RÕŒÎ3û~ú×&÷ÍM•ÂÓ²þ­H•‡òμÉËCèÖ\O(ÇÕî!¸ª³ØoÚÂkX6!rÉi9Âå]§p6:³ÄH©dF»H … !w)"rÞšÑï‚g­¶¢%UÈ1‡ôüļ’FXp’ ^ïìY}¤…j{nZÀ èçëöäÒ ŸE·–\á?‚)ý³œX ]UüWñÅ–lûÎdİŸsÀ‚ZÉëq'¯s¹÷çZ ¨rnÝü= .+3òÕà¢'E™TôOky?‹ºòÑ•@Ìenˆ{q¼X×'©]Îø{Ù £\ ¼ÿå»^ßÏ­8iUYÖrÍÎV’¨5˜‘£çªÙ悜ô/ÕøJ5ÀñÄÌåuD·5?î³zìÿC¯ûóíÓq¼& —r¤Ê£ª‰EuV®Ÿ° •;‘WXž3ƃ0L6­u[ó æI£OWòÁ3ÀsùÊ׃– ô¢0% ¯e[cˆx@'²Þâ_ Gw’•·W¡nÆÒ‘¯aÓz}}–C™æyD>V¬Ì|Λ‡TúÊp… Ça¾cŠacÖO¤!f¼σ"ÌŽˆ;L̈\xŠÂ5à")º‹·¨Us­q÷¥£À6¨¶•öPÞ¤o{¨±Ihoe6>ÃRžR…W†¼qœU÷öq÷ó}Å|]gT ´:MìYhÂ1`ÌqçËÑ×òŸ.¶µgÔïOÆÔéèùÃo5 ÀÂŽŠ$§Àø«i°r¸÷…×Zª»Á˜B¯¶Î‰“i”–­Úd½î˜4'sG ï}·‡bXdy–d 5£·ëft9¯oÈA_>òŽY†‹ˆ”£Æ:b“£®p‹î¿îi=É"ô˜Ø¢µè.ŸÑ960²v´FÞbqX«‰¬§|–4cMþ­`>Ê}Ðé°flŸ¾KƒìÓ<úÔ±äÍVßÜnÇõ‚ÝÅø ¹.C€½¶ý™•ñ7Ä3²ý!'«>vŸkJ$¼odJqë;˜Í·ÓЏ}Åÿ‰­^Õ âÕù±Åj¨ûù{Ô×mðh*!BçCé·ã%­¤èzIòac«1ŽZ³p$.’öÔ‹nBÀp30Fà8žk­íŸ"BäýËëy—àÀSד̑"0(<Þè¨%Lôàw—‘‹@$’‚¾ ͦ†€ØÅ…nœHçðÜ{•(½Ÿóèœö*†šeHœ¯zhã6Éçš,9Ù¸Gü-²áyTÃ"¦&F ÛÐÔ%5ų\mE/*VŸ³ˆÇö:YQ(•ø-•-a|êµ¾äŠá·(Ì¢ìˆCÇ¿šWXÐ&QcÁz[ÀˆBy;SãÕ#cÍ1Q#6ašîS7*@κ£=@>P±ÕGQMþ7J‚ö燠ì´}›€­Š‚*DôWêÅìjëßTa…ôå‚jÍ_WDÇX†Ó$¼¯Ù9~SYJ¡Ý`®˜Z2É£è&[å±÷ûÉ@6À³4iŽÈñ³ªŸ©º:°>¢\Njº„™¯U»þ¹ÿ³ÆïדaòÀ%(r[äNH!¡¨;w ß¶n³CöÖRRlRîm­#mðpuÛ2 XKº‡Vnä0M2~ž¡3t]ìÆ„¾]e‡«*DŸwÉ÷wY äð¸ô?Öö\Äs^[ P lm›Ò€±´÷ÅÙgޏ*«NhÆ#ʦÛ*ó¥6>gúíöØ[<î&Cì0Œö{ƒl'.ÍGΗžUÉþfßD¦ºº*1}*$éÕ~~Lc…Õpʘ=àžH½ÇU=ÀdÔ$PK),ÞäÇû¹Q^€õ'<ˆ´ †`µO£OñE7‡ –@Iz=iŲ|V\§_7Sµ²iAüœ†œŽå¬—D1Ùª-ò|gùɧOv·^jõø­Ó0Àº!A©ÍVÞÖœE#Ó[»‡î>SÊ‚C‡w÷¨&Câ‡ïœi$5¯½YÒ…0Emœwµ_»#[Ø*¯{ "ò¹Òœñw“ÚMz%-XªðS¿{A —ˆ¾RTVšEÎÏç$ •·RÉt§©Ë=ÉêÃÜé+ˆ$=n©f ï"ZÊï¿ÿ=ùãzÏV ‹¢`JOš^ e^ZÊ×äö¢èBµ¿%ëO°#!ËSo¢©ûYÏ9±ê¾‘hBßqÛáoŽgS—Õ¥`kªõâª7~Rf^ú,Õ‡j×Ê0ÑB1=:ºÀM@w!ɃˮG¶®.çµi¼rA6eŽ22˜sñØ8?ÓÞ¸OÜ"½ï&¨ájÞöI,oŽÅÌ#£ìÊ#Ln€ÒM.ãà¡«uø¯‘úw[3,6]AÈàø¿}Ï–«¶!l ‚AÞÊ¡™m.ƒ>Õ¥ìÛ:îáë-dk‚/¦×xR§÷Å÷Áà( n¶ kɃ?¾am*øÒgØq­ãé +áo˜)õCïÑþÉm ¥(G—‹¸cÅ p¤ç´ñÝlEÿ÷+úx`wÚÒxŠ=—œë¢1]ZÇ •ߦ€à²êxɳ#b-¥s~Ì_òs¨x)²¼s8:#Áȯ6À]ß<ˆú®@Ý¢c˜ ˜×‰Xü^Çø„¶ˆû­¦-¦ÎÁǦ~~À¡rdÙ¯ýeº|a@ª>³§T®¶>‰¢ñä•ÛrI»ßˆzK»“[”‰FÈÒæÙE‰üY0Œ–pý,ˆžÅîf‘J˜»G(O ¹àr÷Ü}ýó>8¢bõ6­ñX:A®-dRw¤+¨½¾{o#ú›„Lz–ƒê»ïyL­"w~h8öYW/r½&>ψ%¿gÊÐ#ý`ضˆIkOEj%¤(SúI14{¤7œ|‡€ ^˜£y÷)Q9rɆcG庪óûÛÿ{ØÇà,š\P¶["¦jþºpA3/W>¸rÿ½í-üb_†q¿ÿm ûïÉ7ÒÿÜÅ'½4óõÌxâ#¤4æ m»ŠºØ´†%l±K’‘fMÞ¾xïÙÞAõã4& ªa¤̬zKËÙæïéÝ¥*q »Q7yëô6^£¦CÚ=ÐlŒæE#5´9…BröGQQ¸ßéG£Néæð…¡Æï±|øï³-Ô8LKG+œ}‚=V"Øè¿ô·–ãü5˜½ýy½Õô$®¸[*ˆ5; ø5ëdx4ÊàŽTú8÷‰nŽ=.Eë$·—¨©¾ž]áäÓtŒUps¡âv‰Ô¦PW(ß²ÎÇvõŠú1T‚Û¼¨}¤³½oLˆvÂú‡³×7؃ï„îX1$¸ë=úzpkîÐòûjv÷ŸTzy¡¨@ýÖ¾§löV§Ô/îieÛ9§DÏÀœÑÏWï ñ™+u_±tÑÖFS É€*Ât³šê˜: sMÀï—u¹[õ¿±Ž¦ ž yÚß d÷6IØ_ÂCÙøå­^ÔîëšÖ¿p•Fp.¡—Ç›‘Þ|¨ŒÕfMJd°‰Ã)÷‹2à üŒ>‚d©üæ©yÅ{5é×̽þˆ÷°Í—&È t³t×9¥Î˜´þýbÛ^€àžèoßÑÇí¸ŽTN.{è3¸¨rØ1}PÉj©Û×™g#Èók'|á±+9·èLI¦} êÊ0@’B+4 xmÒË­}ÿÉéå§¹©hö$€û%ðD§9Dä­®‚;)Ùƒ¿àìD»{ ¾+¬ñÉZk¶·4–tr Ô®À]Š›h¼À^ûf.ÛçŽÙëì„`s$é¾h<„^á.Å ð¥–`9h¢é‰Ëlð¥Iy³$C$q™~sëÀG™)¨ëÉÙ=Feú"§½u9«­ZÁºŒõ \.mI£Ü„¦¥¤3Ťáàˆ>}àÔž¸óïàgö2I:SŽ{_[_+§R`¦Œ4 *ëÒ=UE2/û}.9$Ò·^‘&â“j—iŒe“^e`!Ȳ$S7×6ÙÄ”J%~- vÇ‚C¹%b¦ †¤Ü˜cúa´N¤¦Öº©~ ’KË…ªY%Ë[¢tæ *¹U`Ѥb˜§8:É?Mj±“‘%ïªuÂÂβ™Õ¿²é–^ŽÃFC}¾Âƒ†Òëýš”F×gKÜcpÂ4Ñ!í¯øœ¿Þ²tH”G¡ÆOfܦAêË»pÓ.l„Ÿ-„ý¡6JÖÛ†®Æ@HAÚóÎý©Zª>Ë5à]ƒ5E4«ù'‹1MÚ»±Eµ<­YÄ§î‡ (1Gá¹Ξû&’+ÁæëAyôÂÅ‹Îûý¸­6CÚu1îO¦j$E%db~—ƒj¿7²êSÈêãõ*#†èzT† ±ÖS_Í7Ü¥koXiýl÷Ÿ²ÆõÓmñ ¼]•0ýü4, lšÒFü¯‰8Ln_§÷a¢3ă¸*ìüýx­Ä{)(¿:GL™S/“fmÑAüc&N‚ýbÙ‡ ·K˜—Íîµ½K=<¹z9Ä´ ÿ˜Â>dÿŒ¦4àMz#3çjÆ{k3רØòäˆéBlJ“[BWØÎ¾Jú_7’mꩇñÒ…³,W>×Lm(ûü (IõCÉ"ë\&†5R`ƒ‡@%ß~Ÿî’ƒ&]7hB«'aÉO7×Ý2̦ãOgŒSHœ‚„UövÚì{´òeVV b4ÞŠž86j%-Ó¶Ÿ™ðñô·9õ=6ß[„ÿ ¦²¼ 6cáìv=±¸,Ëq+ˆ}BzQ3‡‹]gJ–ðC·S«[áP”;’1¯j3ª³ö¦%é’îûmeØ9ñ¡éañƒ¨g.ùÂ/@™ò¿p%ñ×ãq;ÂÊù¢¾3çTåQ/#k¼µ]Ÿ±ìAi #!0RMƒa¤¾MBŒ0lš…V±¶F¶.Îm2‘¥€)þ”4¹,PiÇ'+6iyéz2£ú‚_uúñô´vÍ›våèÆÒ?ó7_ìTµ£ýRs…б6çQib¿Ãá¹Î(jt ÃµS(ŸÀ2~CD€«m¾qµS¯³ñ뛚Zß­ƒ¢š„NæfXa¼©LþÇ™{Å&áVóøJ±H¡åˆt÷ §uÙ°ý áÉÓÁQ~ňÎå¾w0ú˜2ý±³Ò½à,ûH=æ),9©œ×újöe(Þ_¾ŒµÊý¦tjÂÙAU78œ_Ü.}ê3ìðxstƒÔy”ªãó¹z `±š¢ZU¯‘y^¥ïÇ–:øìe@ÿ©gB{õŠº5û(!ðwl !ðw¶…GÄŽÜu²C*(€MHM ƒ^„·@~aÑô φ_  º‡ÛÀÀ /̯,‹ì‰²¹H=M5»å{·]wUÔ·Ó×Ap€Ÿ$Å'W±ˆH¬ú#ÞŸÚz ³þ‹ PhÛÛÓ¤ƒ`ËÄx„f_5Åá]–VU´[qušØÿó$Ê0!¦ÞeÂr!Ð$uÛkƒs»®˜¼*$Ç 6¥b%b;ÐÓ‡jb®ø^”Y’Á‘Ó/¶×" ùkccmÁ!=Iæ †Z¸5Ð Ë;n ªínÂ…ðäÍñP'U±’¥Â3&¿7äú;œf:r0kýó Q‰z‘Ë%'âõ _?M9ÒæÀR,‚««>>|ò¢k*n¥s˜ý·”M%Ðø‚û××/§7~Ëéåõ‰þqj7\6x,i¦à>Þó®É] ™s,Å#0"p[`% «ù70úxÑtè“hvªXuâì)cqßT䮪%¡"H6Olj¼­Q9¡ß5¢ºÐ sM1n ô_"g©*^‘MÃdr+¤~Û᩽æÚ=†×/|ÆÍ´ÜÐÞõ|¬gèÿ)Òb‡€åÁ^ Ó6½áÅ[`~ÞVÃV‚B± k¬ú#n~‹JÉiŒ4Ë ›A,tÒãàX›ÞÌó¯õf­·’1Hg5õ#fO¹ÞÁ¾É0 ¿û:L®ºÁ]ðnêm©ZþL¶v*ééftõ; È"úƒö©å‘•˜×½ªU¢@Ž]”»µm!”웹ô2ƒ¯( vÚ nà 4·ùé›vNâr\I=Ã@Wo°UìŒzC`~½žþ Røö™Ùðó3 Tl=ЦÒGf‡>>èÀ ¼šTÏÃy‰]ƆŽB °™rj¡ëM^ ÿg²ÐD™¶MÐ øˆL­zœÅÜý´3¸À¥ÀÄ:ÊtûP§¾{È üCÏýâ„h,^¨Þ§Gd5ÿ”2y_ìFtß/?NLjɶaüo¥íá+2ìqqq—ð«o ªt9°›X;´E¸‹„:€r×g-uO½zvÃþZp-.ðÜt_H»zXÑ~ú=Sû©##c*¸aPΚå8˜Ï¯¬OO¥Ýÿ//[¡‘Pÿïþ—e=§ö†½~9J}iy4×_ùe£î¦.d¼MI7Ä—«‹°WgÈ9Évœö€bÿ˜U;‹—o ÔØ÷mV5ÉK3ÖÆ×Èb%‡ûù^s Dâ/Ùó;t›ër!Õ߯c=sz»äß.ÿ­sBTߌÍÅËΩ·Žá Áöœh`6ĘtLc‘F•¸è\iXšw>¿6I•¥Ô\#Št(Ö.¢7ô‘§è5Ƶá~ö²¸üCUÏÕnz«£©|@ßàÄÆÐÒ&ûÅÅËbuyAe\XWõ24çˆ+—`o@Áþ«j1åTí(Ïà>juG´®JyZÖÕ± NWmírl*¬4Ò›„i/"–ÉRÐ›Ò ÓÒßF¤5”_0lò±Ž¦«^¹zs6t)Ô¦ža‰£bXÝáôL‡ çªÁœÈne2Œ³Oœ6ä%vÈ®oîÏÎò“KÞ©†J²îª2J ½‘¾•þµ!ÇHÀ'ˆÅŸj+‡H¤Ï—)Þ²¤[­ ·AÃM6Ž$qÝSB¹Õ>µݪCÞwó,DRÍÙ¹ïì•4‡T}ìCÈ6þ_su; 8ؼ­pZ‰¥Ô¯’³°÷‡à [å›O#¾Ô ìÄþ£˜ÀHÖiÔÎÏG2…KMÿæA¸à»®í׿Õóƒ»4‘Šôï´k6éÓ$UÇ€â"â96o°t„`5n?·e‘‘tedª°tÇŠrŸç7O ži*ZèCŠB·Úûã!~±cÏÞúx¨“TRlÍíñ'Ã`{é;ZÐÞ#S™€±ëâ«Qir¨9ð¼mÔ^Ÿyî†Òj_]™k·W}7‘8Œ™lHN š|DÚ†àäbZHÕÌ ÙÔWhsnk瑈ñ:úiu¡ö‚ìy[A³ŠÒÒí*²e6¡1o3È2Z3XÊ.âL¿ #’$N5Œóø÷dTâL—L•$¬|aÓnîÔ½0bzð7Ý? šJ©À!ØIßÁÃÅ„º&Ï ·-~±X2šQ~{®hŠ_Ás¼ØŽ­3yfì•E®µ“+f`Ø ¿Á©ñB‡IÆ\  ðCåÚÚì!nÑܪ¨ßc O'æùKKѺÍIÕó&ëînßå¾c ÙIN±_õR}¤ãÀޝð8ãeî-L€Þ‹ G‡žËvE h–µ'Ý1Øu–¢L¡l°ø¡K…Q â}½Ÿ2 ÝV‘~ˆÛÞ1å~霉uqÆJÑéÅÚÖrJ<4h¡‹E\à{1àšz'¦‘Þ¼dµØ˜Ýø³ðªÈ¼áì'™ð˜Àg‹z¶GI¶ä©8a~¸OÁ…ˆ¤¶ §˜‹†Mi÷h™D¨eð†wBw…ßW?yM‹½…$§.ÌF¯õ4¥S "[âûÞØÆª!YTJV±D§ãQ¸Êl顳3S¯·ŒZ¡E[½ª#ÕçfÉËÙ¯t]jÚéóØjEqoLNîS(RÂ6è$Zå7¦Û+ôÚ¶‰u\è:- úYyÉ˳°Ÿ@¿is¬FŽ+—•…v«2†Ã¤6¾ÖÄç-* –L Ú¥ßR—7–r9[J"úÂkÃXm55.Ü>}ËkÃzi¯ÉÊsõHd‹zž6F¨…ô™`©¸éY3y@æ`*x òH‡§ aZÉŸá*àÒ•í·!d§¶zqÓ¾Úw©¾fÎljÅÊ\~pŠhœËgKh¡…Ć%{ÖnÔ±ˆ¿Âwë«Ú•V"4û3ÉqC}1}é 1˜º¤=ò>ÙÖ„ò›ÏÙ%Ò) ¤Nˆøp,-Î.®DÃ4¡­¿03ªY†m4Îm*C:ö¾L,¢¼KÙ3ú(ðíëÛçq¡M{FÑC=¾w*#NòÁŠ d ˜Ë[Ëá{¹¯—Íùz²>ãc¡JœvÀˆD«^>™µÖRéàë6¢4˜$cï»—Ð ÖåXÍÕÆJ„dë‚b¯æ]®ä³KÊ<ìC J/–ô|xä' šâLSœ_~ýõ•ö@^uÕÒàE×fä{Ðd¬¿ ÿæ=ÀH DÈÌ•¨ÍÏ%ƒCÄʳ„YíÂØ´Óÿsâ3/o©ŸNk=¼  k²hÃ@Õ‘–H× Œ?©'E ßÀ˜þ¤a"(¬ia9+t‡×"Ÿ ý»äï—I¶JªZô çXdÖU¢#Ši¼sœÒ?¹÷ã¿>Ø lóÆ&ÆðO}a¨l*§ŠÍT( G<Ìšïu? Q,=ú*Â#Iß…‰E°¶<‚öjQ^Ùw·Ã( Z•j¦©f¹f@ëžøÑÊk$5@t!ûtÐ æÝÈkÜAw²k´ÁAYž©¹ì‰$ަùcYJŽnôn>(²5¼€¬Î}ZsV2Ö¹x ‚Upž¾dßCÉ]—J`o–‹J§)8»Báô »–ÕT"Jßú’6Šÿ¼ýpÄ™_ÈtÆ¥½sü6RÂQ8£p|#H„CÒx9 Ê è°‰_q8®¤B€˜¸tf‰'“ᇠ’,M=·_U÷{ßrØ?€F6éøh¶.ßÕÒ“¡³ýq ²óÒ)¢k`ÂCxتC»*ú|ÇO•àwgI †W®ò¶yŽl2&¾f€¢Þcè€(s¦î1Ó«Q7ðî¨>E¶f^›8#—ûpowŽýu;ÜE2iÓó3JH嘤mïDà\LWé2ªFÂvÖo/ˆvÞ¡Ìœúàr.ýäÔû¹ž‡W¥"‡ð²oD1:kÿék½Q:jY¥­xýúW­ÍG/°@èæÔæÈn0št ýÍ×gu˜1N£ó ä‡6 |‰’f¥ÏeÛ‚çÏÒfåM\nXe±máåC%H¦"±${ÛQU‘ï' M[–Þv—Ú4,eŠçaš”î]ð–ù+³FŸKoà¤Á·¸ØÇÆš‰qL‘ÈŠ¾oÍ"rèÆ.ã±”ªùþjÑÌþÇ\4V”3„÷<Œ’8³÷vºZBöÝ9’Œ&-Vä‘OÌGÓÚ&}ìÿp„±àV^•œ…Ø‚ Éèž,ÍfK)áÏ´äÀ.ù™(«˜EÉS¦o9rFA]Ÿ7_û"öG=ôûÖ{¬±°ò´˜¦ ’3l 5¹žŒÜõI¢Hµ|ÕAåß®«{µ¾MÁXÇ,5¤˜ðõ“´VJ™]+BÁ+ô‡k©šå0$JßdŒÜ%$.«´3g…ªí¨Ô~3±X„Š1:hó0R#ºh¶u«C[ÂÖ¸˜¡¢D=z ¬5ÙoͼÆé7½­›€s‚Ãø šu¹ªT¹ç¼sKìãà‹³~ÌíKG·.xÞyòŽ;¯«/°c“ ›W?ö¦‘”ˆrÜo¦‹/7ëêÂvC0esƒßHQTÄeä ”0`¤\«ð¶àö¹ìs,7O÷²Qi¥ ášçúõUGŠâ¬˜iÒ´Í‹ëäüa)]qÕá ÌÓ¥w–§Þ?W^@‡ÒzîõA~W$·«¥ŽO¥Žƒ¹ÑK;zW4sc}Ij i¡²çShWÕß=æÑØUu°Ú„æ±WÒÉgÆ…WÙ_ß#y\‘kúŸCè®î“»lÂT±ö}I“…Äíîœ4¶ ¨Û³GÕÉCÅy¤bõtH¦-“cWÕD{:P/LLè‚‘rv¦Ãÿ‰Ž>(U«0ÆS~˜ÂWPÿCmtØç¶±²PÓ/ZO+ÆbáX(”-G#=k•>0ÛÌéºâieú±u¬¹ÇÈkqäügêŒä rþ³¸T‰Ms;¿»Ê^e§¿Ñ&åh0bHR]ŠD\8»)­¬Ú38xä|±Z=ÕIÎvµí|jŽ)GÕ^Z¿u:1\nY²}±ü_ ¸P’—f³Ð‡ú$ àp%ǃb®Bãäf $gJ£AúG}$Mä¨j>äÅJ-dj@}à»qKÛ£ÀG†ÐÛì³x¨$ýõ¾\íˆqòGÁCºõ9n# Q!E{$· 7º6ôMXT×»¨_Á¹×!—Užõ¶r_0ì[m= ‰ûf´PÉ£u5´d f/ÒŠ@8\›[B?×Äé +Þ@ ¶ÖÇO ÑlöL;ŸŽM‰ ¥WJ›Ûû k0¤íÇ銴jé ‹(IŽ×aŒÅßùñºX™Y“ÿ6ý":pê,ÖŒ ŽÉ÷Žž_§Ï܃ÿ±NÅ€8óLJ>ç¥Å[—2|³oJc zô0¶Ìc?í†ûÞk]<[·`3—7'P¾ö̳:g=?5@Õ*Ü&VkÚE #õø¥–Èš`„@຺É6©$UYŽýÃF¥6êv_xŸ˜ÅÒ±vwÕÊ:{ ЛºåWæ]®ð'©>?«W¬%ÏPþa?UÛZSÅûª·v¾ „|Rò6©¨¹80Іš¯­ óI È`ý^wÚGæ™ü4Szרt©žà Û¯BN£LïC}“jà©JJÝ2úþæ˜éñØÅ·ûÔ††$žÒeSÝÃ¥k}ÏwXû|‹R”ϸnqƒ]µ4$ú ÞJ‹¼Ño åÇíwW뺻éa8>ÛðXÅûà^,0A6>ÍùÉ¿|‘©`H‹<Ò ¡±÷Õ 3àÀu¶ª³x:ÐçK… ¹˜Ya³ÈdXŸ²ä2ï…S€³2‚K #œà‡º´­bCœ÷»õˆq¡±‰,ìØ‚‹›«ÆÓ¢#ùrå%• –]Kî3U~o‰P/ˆY*5W1”ÄÁ+19òÆ{Oh; 27ªó3ƒ‰çزéPßn¯Å¿5M!ñ¹Ê+ïqïŽ4ÐK+†ˆµ+ö(¾µ“¾A]°eLoë…X˜Èà+Æ^}Ì'½þT¤èô•jÒÀ%Þ?ÑqGý´­+`;K"vK¨}ÁíÚëõbŸà’Õ8³gξRJˆ§Ç0«Tv! (kff²Ï±$Zc.áÔþËob€GÐ C1u ˜ä±0•œ8…<š[5zDªµuÃtFûP½Cÿe è>–ó¾äèÏ`Æñž†„X3##œ\ºTsÖ³Qmµ‚²¢ùÕ˜”¤r!Þ†­”¦‘B(o¼ æô¡(ê`¦Ç¶äÓÅS]·•&õD6„îž^FUn–Y, ‡mV¯}ªDÉÛã³DDýÎÈcÐÆQ V!jõ%W Ž-¸Ôo,K}¡Ï›9_lø—ò ý¬ñ[i§›Áo,n`7‡jk€õÜ[À®|ÆÈ&/¢ÔDƒ02Á±ºïÀÕ`=MåyÝW·¼Üóð_ _uáÈðªæÏ~hˆ±ðéEÔ{g'q`L8¡A«®ß‘êÆN'‰äø´cÜe+^xÔ:¡O+¿¼£æJËǹ¡å¯aÏøm£Åd7à.àš¹•vÝ¢cf¨o`H§Á†è¡fGòä°´p9–¹myÎ÷Âø9{¥2Ùü@Ù’ÙÊ~Øô¡Q¦¶™K­SupÛA<6§´ôTF«ì8øm&ÙŒ¶BAùD*Tæú”²D\ŒBçž)?e´@ ‘9lø9|çrBÿzOx¾–Ý*¾p¸Õäoœ¸¹ð=öÆ[tp ²Š6ÔÆ-óüòëeÆ" _9¡Ø`)ÐOåÐ(Jy7—‹šC¼¾ôqÂ*‚&Vä FxN|™3ÙÌ Ôá_Ñ¿/äôÞ<ð뢷ME¥ëdÄ• "º¹kB1*Z­Gȸ¬¯çæ_ú¤TDvRp÷E™ŠÙ2Óm]ưéŸ2ÿˆ9 £ ¥XÒZ’9®ëi0JÛÊ B9’À+|K ý ÷î$Ç#çš_g p îä³uýpŒ•®CkL}¶ÃŲ–2ܳò'0 LN9Itýr¯yƒ±¶´Ñq]ôÑßs ´Xi…B¾E”ƒw7ª6ƒ4 ²m•U“ËòÃ~ ¡*¡1äÑd=Ññgÿ½­Röé?yX·¦1zHìc˜XÏ!õ$b?"^ÝÆ÷"ž­Ë¢(Ý9Êwß‹óë”´ ¶þ‘Mí½Z7Yp1”îØ¸ÇÍ2Ux?´rÅÀÞ¾ß]úx¼ú-$3b¸¢äÒõº¼EÏ"NPnâ|oœ¹|xÐöAš7ÏÀü²4`ä¶²ã?,Ðâdi=ì(_”ˆ\8rP™$NÊ8ÜYCѰ=¬MÔɼ—±¾ÊiÅcä` 9úZÁñá {Ú!áðz2 3HV:åjõ)mƒ»X‡)š}5Ô„9-YŒá! fïXn+*ÀÆßòˆ˜Ò&§ï£ÇÍÝ»õ˜„U.B‚DFXàêãß!Ä=eÛˆ¹DVýˆáYÙ¤i¼èèÜJ7º„³„å½›_uÕwŽIâç·_˜ûDž í%¬2)Û/Z¾ØI†«Ñã`¬ÖÞÛýÙ¨‚7¬¨VbDì„Ü—3’óDóÌ—k¾R¹ŸŠ=%ªð+~ -fgçßo`ô¢MCár#„Ï_ õ6|¿Ÿÿ>ýjx^ :ì¿Xϳ,¢ÅÀéß>UêÁ,cMÖmÛév™µ+“ •ÜÎ͈›)|U„‡ii\õü*ÿ %n‰Ÿ4¨X•³GhüÌ”0Û„Ë£òTb}ƒÓ;OÛëâ‹bÏe9¯0ZØ[ôö}„0º˜ÚغølûÅÉ©ì—þ¥…àÖHáÀ8ª´¥ÿ—@@°A2¡5…eM†öuFÚ1ýÿÚ.ÄÄbÓE}í¡‘Kð–Vª© ~ím,² «ÌN‹¥ÞaH%¾ZíâèÔ#Ïo×qhs]O·÷íîÅÑ3Fçç?wØýhg£„Jv"…ØÒïtš$Û•œÍÝ–¯šÿÁ(Ôw´Ö¦òñ»vå óùCê÷§ÔUwîZ=ùÜ 1ëÿ01“BŒž¼Y>áÃGè¿¿uç~ç4IOZ×Έù”‹ã59Ô¶¥™pÃMu{¹œÈ*LJËyÆÃ44µ.;’³ŠºÜjônˆæöÄh<†ÁαN~]Øö‡ÿ­A2‡ Ò¼!L8Ê8ý‹ÃÇÖø¥IÇŒŽåÖ§< šn"À‚ÙX[@ÿå$ Buw…$v~RÞWå+@9u¶I¤PW™%´fc4éœêê$oÓÜKpC6:u_VüÅ´ðà‚Ìœ¤µ_‰šktsBùõü¤é¥,ûiÍ“u5$×.,™ÚëG˜^ž’¬Rš-QJ{ MGCñ…ßrݿڛ׮R ¸‘a šó/åЄÆ.ˆ2-÷+(ªY¡Þ{pù¿M´ñXqÝ|TŠø¤‹Ù:±.C “ƯIMDm×ÿ; Œ]@rl'M ÿtD{E³ÕÌF7# °ûCS·´RØç‹DXÈU¥‹NíR5ŸÀwÀÚz3‚Ô49IJ­†ðåX`°™X‘² ϨU;מ'Ó嶘Që~¯°î <¸"ׯÁy…ñEâ$ /©‡U4+ü9q ÃÍhap"Û=Ãá$ Q3­aR¹ŽùK°Àx)2ç n­Ã–±S[ëî­ñíàEçñÀ´Z¾IÁ«kö™^/HplÓ®àè7ôhHµŠßrÂéb?Ð.޼æ×)Ý íÂru\Í .eÈðõ›¶•*ç²xg5Ô—û¦Q=¡ï7Y`9uÝk äòTuÿ@ä ÷‹]jŸñÑ”Z¡øVgÀ ¤F[» Å|ªAGúü¦|4 ÒëR˜ïeÚ ÖžÍU¤Ë-ænƒK`Dõ®ÿÚÇ+‰À}ÄÜÕ—wblë®QòÂûTšx‡r%µwߪHèXç|æ4'LàJÜ\' mzâ¿ð‚M6n÷?ÿpE¾_ˆ r5; &aFô½ Œ­S—€)ò{\¸3Ó$u¬v?°õhy3<ò6ÅõÓÔɧí«ý¢¨ÙiìÕįàÅYå²-(¿Š;BŒ¦Ôp C”]`\á%É`4¨ÿ))¿% €û¡re k4O¿Ú4.*¢wo!Ù@ÇÈã:ó?†]îrW´Ü“Ñ-Þ~L9M²ö‘ÆWâRhÎþZ¼»U\rÑ´ ƒ¨Ð%.Ý(PEÜ€™9ú]Ý;nbké ªCv±ÈÕÆ’Ào„Ì €jÐÌ‘avq¨äŠþ-IJp˜¯ñ€kú/Z‰ô»5§š­Â4‚a‰J³®\õb EÞæ'½eü…lL({©™GF l!|7½N[jëÓI}m(úÇþÐwnƒ1ˆnï*×§ E H­¢ùf&•š¢”È[eHU SˆlES"gÒL¨›õ’ž¨Ð¸´:ªëP€5[dI{™/•˜ó.ºAÌy šû•+dž '6QíMjqyñÀ –ÌrøB{X<&=ã»ëy«lCž9çþÌWÜ«="Ü “o¾ ´ú[¨ ý¿êOe3&—IÌ]]8JfQÁéAQÆ–ffk–x[¦„ìoºÁVY; eˆn¥¿Œˆ¡‰~-®JÅKãü /QH|Å@,oÛi?üé, ‰NIK>J¨ ÑzJ’ü+>Ièd‰›a¯vùØ‘psj4FÁ|PZð×™‡á ¿^ß·ý þ·û4e 8“ŒÔ9ÄN#8ÍŽ9¬·{J0ñpûë©7¾UaWö”Læ×h7éÀçOÀhÁÒÆùQÁ¾i†Ødó¯RC™ih¥ÓpøߪN*S¸Õé›/M¼êsƤ“•l6o9p›&çvwÿB!¬jÊCy¸:ò f³Ì'x¨*¨ª–G°}Ô%Üݪ1t”„òË®>\£H£‚è=—®x‹ Ñ\öÐ%s¹I."È—ð¨^ν4WùÍäçý8ÃùwýÀ°¦í™WèÇ\Y+#L…$N‡*Šì[dEJÞ,{xØ00¤Ä`uЭc;G¡6d´Ý<®|ÉJ´ÈÛ"-;[°ar¹ðìhÖÚü ^ôtg¤ÂéŸÓxuQÅ¥ˆ³n¡Í3â—ž™|,Ò“GÂOw‡­c!³ ö¡6WAÈÀ£Ṳ3BÇ6hˈŸ¶ZXæ ‡•OwËX…eøŸz >Å+‘Ðñ<ƒtý *TÀYkn ÜÿgGÔL×ÔÆCWk%ñh„6/®ûTÞŽú¶“áœUö”Þðÿí¦þÄ íQ¥ÚÀÜ’ûÕÛUâñãÿEì@ˉÿ¶‰-9ªu•À;ç®h¹*¥´i ²nÇÏ_¶Zý’Û0T²ë†ö„3Õ§ì®dD9“ ¡qn¿±tŒ¬…”OM×j`ŒCˆ$fŠB§dÿî‘ú…hÄÙM3OGoØ<¸ytŒlgýŠÇÏ ,‹µí͘ķ÷©ÆrßµS×¼bα:7-86ÍPZ6sÑÿÔFîèߊì£N™ß7b|x;%μ>Þs$.—óèe*JZ[iÎuv9¤ÊA~Ž/h¨8mÒ$ôžÚ¹Ö`3c‚䵑޾¹Ýíö‘¯ü×Ä‚Ÿ&ùöc¡­¼¢é6%Žj¥)žËÎ Ö¬ÓOa¬ƒÖ½@{ Ru N†h-_UÃ"6ÖßQÜc`rHGžÙÖQ~ð¶=wP®õ™b%*_,dÓ‚ ‡Õ»è¬÷”Ì È_ÅÕþ!·. S)€†±NBX·8é”î?=oT!Ýœ\ÙA¶;S6uy†„"ž¡º¨3cü`g¶of”›O#ÀPoûXtç{”t'yöàÍ>8ùu`7a±Žòµ{̈­ Ÿ–,wûÿ•³ªrõ²MT Ñz73-™ „â{ŒÖx)ª8¹süé¬Û(UœÿÈs‹K ã/ìÕ;ËkîcýPopŠ‘g÷ÐFZº«£°Sóÿ$#ñÜ( Ã5Më¢Rí]õ×Å tËI´0c¿¡Ý[²îùbZžÓƒoŒe*>ÔÓ2Vy0K‡zúŽ'™°ç o‹Þ@|¸RÖ%IÍ2}ŸgÿSèœAršö©ÆáàojvŽå é0r?Ór)¬ÐŒ<¶ç‹ó ™L'¡á²4§°OfQíåþF»è:W1a+D[ÇS¡tꌸÂxD7’×7f.$EDöùâáPŠwÐìe— Žªšœõ༽=óh"·Ž s/à|~¡h÷¥¤‹…Ô ó,‡sx[¨êJÉ.\Àó€aú¡t)•*=ÂÖVE~¿±I9ÕºfeIÛ«»Ú‰% ç¿öX²g\/º240Üô_ qEµ˜ÅqR«äÛp£àS¢Î]í`±—ÃýK^–âLhL{¯Ù–â5)íÀ¼ï²ëΟæ¦#}±ò\qàE1b µ“¡­¤8çD»˜ô¹87uvkRw²³ìâ ?}¸æ:ÞA™¥iªûµZ+îõäÁ­[ò”©º“Ù«FøÏ®îÞ Y ðWë¨y¥Ì®îUôå™%žÙœG”¾³»§ßŽâ±ñòßG½1WëM;# –Õ¸‰±óïXêÚ˜³¿ÙÓ»Út’ZÂü¤l¥²‰vè óF²021ɉ’žæÁ»!oOûùjRc!…`C(7²3žõ玦.L’XçõCÚï<£goÝ£Úé.7üFpˆ›ÍAêDÀà“ﮊòWÚ¸“v”AáÕZÈ,ù›KøE|n#Ö 1DâËzó½Œ#• =ÃgLAʃwøw… 7›{Æ?fD3™ÏJ)$•ÐL"FÊӽȥ¤C íy/üˆH'1áKÃ?ÕsõýzSÁ#tù«¹]ß[ BÖ#Èœ9ÄÖÃe ·m.Î7ke±á‘¾ô­l¶Õ’æ já¬n¼û±Tß*1.OsRyºìò7ê«<”EY OÒSÅ›;;.sÏÉE":,â×Ó $j4 aJ„;ü1Øx Ù7¯?JªÖ„õÒjñ‘°¤%#¼M$;ºï Žb:Ï;Ù@ø÷8?µÕ5fSO úõdù¤æºNÜj©¸Ï¬q‚—vYÝdìŽò!`Nzo«1¼a»¯ˆˆºJ`Îvw &;Õ©¾´¬H¤ªÈ?P<Ünºq[u—Âß¿ÁÈÑÕ³ òކW<¤ŸD´Z¦©‘Xü×ùÀge"˺‘cø”_ü¹PÐ[9¼Ö5ýŒYQ†2Ñ5úÕ‚êóã˜þÚþµ«œ7Ý>»(ÕËß‚XÄàÐå ǹO~I±£<ÇŽ\dþ‹fño8àGè§Ó˜ þ£òéfjcP†õ¿bTžG»E†ï²‰LÁ•Ìó¦3-:>ÿžEýæb?ȉûZËI >QåÓýଃù¾J% ¾!Mä/ öþ2ü¸Ç;b¤ãÝ2‹ðzWIÚŒ‡o„yùkø¶Ý°†\•Fcî+ ê;¾'ç;ÐqmÈ{4¦˜Ô§í};  ˜o²i³6¨…˜5U=xvÈ!>çúj%0|@zJè9‘_}›£›û±9Ž/‡ Ù_,ôVS:£JjØ[ª•‘NZ‚+J-êmÞh‘ŠÎÉ™@ظ‘ðuW´.ø8ި¨Êñ1Í)d£9í"$’{?ŠÆñ›zLý…îÈNO¨†Fô{¤†.ýbÂLu£¼¡.‡$z)`´n"¡Œö­m—·îS\q þ7v½6 Þ¬—WƒÅãË65é˜h¥ì—¨I5ûþXöjÑM¸Í3йQ‹.ùÿú,;jijU&Õà:цyY)ù(|é²%œŸ¸š·âQè4¯= ÿ [Ë+6)èm2–ÆEE 𔾅vZÑêÔiG,8.Ê2Ìäß³ÐàÀ·p¿‘ù/c±M¡Aíç¶ø|{–ÛÐ,+ör9û‘‹á ¹§¶6b’^ùî_L»·ö*ÅÃDN}ºÞ¹-êâ ÇÞRðÔÁx–²Â§šøÿní¢ÉOCx¬ØÜæ—9Åà>^Ö¹‘V?Éb~­\™A·ô;N‹_hx"¾.ß6dïÑËn5ñšV÷9æo+€»“á%¼u«ÖÇÂAŒõd#ñÆÓxO`ªôžÇTp½Â›ugSí/DÁò† ÔØ°èÌ2î<íkëÝ”þ½$^º¶·³ªéR(®*؃Ñvœ¥¹ÅP^uÜLØË#Æ'“ð²—J¨÷í¨eJs®õöðÎgPRÕnÓô™Ëb •³ÌÂ&!·‘`Å*”ˆF"æc­8e¨Éá/Т]R#– Ü|Ý£pû VDf`9fe'¥]·AQ^¬ß~r2ä—UføÜoöò)C !v®¡45uõjüï.„âÕŠLjaY1þWÂi¢?¸-©GåŒÌ÷¶r±Æ÷Îei{8—+l[e[³Àc€öü"¦R\^h7jë%º7P-î\X¥_ ÜPs¡ƒ§‡ðh0±:ÿ¡ùkdÚ‹gµKýÒØ @µ.aäTk,»ãèo* 3n¤97bv¿2]Ý-Á/ÛŠ£’Y ƒÖ¢S7¤b•"k•¬›Ø™ŠhïÇ›S¼sí ÙÑlÿ¹Î‡zƒÑ~»ÿ÷ ×Ó!O Ö-¡V€[âYPUh-YS~I¬ˆ½2¼Oæ’!Á嘺d=÷ÆÂbØE7r äåZu¨ìÌÑ´©qaàû:[’:± †ªå˜A ræ™çÇLVB¬¹’ÉîEª“bYàOHæ"Õ ÿ)þ©J‡‘Ô«jžÕB~4Ü~‰éœ*Í,¥(IìWrÒ #A Dh›dÚ¾=ÿ<-PM¿Ñ™¶â‹‡Ç[¢Äê}_Ós }mÞraÓÒ+êíÁþnÀ d¢S޹óö:¬aqÝ•ÓýXû¯ ùZ Ð=‹Ì<Œf¾êm⯳U~!ûws›­Ì³’þF?f¬x‘•°nôŒXÀ‚)“D,›îVSvyÚevVµ´,õZpÞ5Cúvµƒ†®)ç˜B’vèå·µþ—V¸!Ìî”–»{Þë­*]”v°c€7gi·N¶'~‹›L27¦R·ÿzOëVŽÌÚNèöe.ƒTn€F{kìÿe/T¸@µdÏ]äPu´ Ff¿'®¸1xÞ‰Wñ,×ÊNgj;ÿÆS 7œÈ…kVéåH:^sÝ'‰¨“ÌŽ`éà î3ÅtÛí? v+‰¸˜0ü[uí¯ÂØÍ›JÆh vG©pIÏé¹"TŽ)¥éJd§zçª÷ð}-tþv |o¿nRž.­h»'i㈄O@€Q‡nÇv~Ô„tŒ”¨î0y Ëw¦’HÐÊQ´¤¬ŠÓð)Zö¦ÞÍûí¾3Ò Ê刄ŧˆnæZÙñ®ï€àRöh‚›yþК máBÓ SÙ™ïøöðîS¥÷%ŒF«B~VOà÷~àHã» OFNžbÏÎ÷0Šiþúã w¢2ï>"+’*´IqÑ…†¤é=å!»Îàs(4FÃñ(I“[RŽdú‡Þ‚מ‘„PlCˆÖÏÀ”“>pVÓÖ sÚþßHcÀ_S-ò òÎ"Ö´WNœŒVã(ñÄ&êWküû<+n²8—ØÈˆ#AÂÂb ¾g蹓‹‘/J@uÈŽWiü˜8°4/u­u{ïŽY°< -gl2‘ôµÞè‹rÃjTR6 ±žDHj”\i>ÙÉ|¡s½·þ¶æÑ­™œL…ÝH.ÅÕȰ¯iÖ×x©=|Îæ»}ÁÌŽ8ŸÂ)o_µ¶±VùÛ75EÉeŽÎô™íô W¯1|Àé°°Å}Ôàcêhº>£¯_ì–ýg‘ò cI¡Î7#Ó-;ZþÜl'"þEéäu¡,:®Ô-7ÃÓUA1˧Πw "¼ž ¦cPwùLáœM†Õ©æúNØ…“ ÇTá“~¯¹µˆeX° ~±,§“9o7dlp=ñJëjÃË!–G͵u/àJ¥‡ƒççÖDþSJ‡Î‰7…GV'Âë0Ít„\I T`T 1ßÍ<ËmÔ{&]Ûg­>Ìz‚¼·™C’ˆÁ L>ö,v„†PØBÍÅïéÁкœ•åa¦8¾ŠŽsÞ·¿A,ðöv/•#IŸåJöw°’ó}…¤¸2ß­r«I(óÏ‘ÍCniS=¯t|>k¦Q)aÝuH&?­LHSL/·Í)¸! ÁÚQ³àÐmBåßäbj/g™Ñ¹îã¿iR\®iM‚ôD+œ €œ«* ÝýÏãÖ ˜dÝUÞè"|¤ìzö‡‡KÊÌæ¸‡cñ8–f˜ï' Oe(І½©Ÿ¾îëÞ ;-½“ZÛ×{èFI$2Sêj¯Ÿ mJP$˜‹´‘Ñ"Þ'PKѢߎ2‹lÊrkNŸAÙǰ3 s”‡\ŽÜá“ÐI[ýþ(ñy$Èñàbváxx=ËÁ—§ûuœŠƒóß/vÿ¹ÿÓ8 (õÔý_ó=õyJÂÈ$i(¦à6¸£RŽQ6 õ `ß”ÑLna{‚Ôæ Ô2ÑkFmeÊ}[Aˆú7Šg3CIý{°­áPºkg ’\kú—‡ a ^Ð÷^ö€²—Löúf“…Dpà\’£m þ™áýp*J~AN¾|T´ÂêÒsèG缂þO3óû‚‰ï•Qÿè–æ%½JÂØô¸Q'|Iû‘ ¡—÷!ù8Úø‡/­‘#KùBà3¨·M2éf¦N¯½Òs×νRônU¥Óž¼\Jù§+”¹sXš§ÞDáaq´÷&nv­ÔeÝ9:‹¯ôq &λˆBQ!ÏÛnåO¢¨>r+û‘§²9Ó«Ü·m ƒ©WMÞç$#­ióCæ1çÕ€€¶DíÿÍ9m«C# ¸(Ü¿‰ŒÚ]£6ÃMîusÏ¿ú²Ò›oŸ‚¾T#Û¶ •ÿÆ Z—vw”á‰,ÜîÊ{^-ëà ÇÒz·G®‚’Ä0½äaüï›ôƶªº³¾^O—ÊÑ\ï©‚“È­jL*œ‚PtkøÃíœã­ß˜Ð|¹<È•ÄÝÐ'¯rî¾D°QšãcåÛ¥<]Iœ›üžQƒrï^QÔÓö¦_ÆUñ^kU‰ã°Äó'žQ1îVñ»ùRµX•~‹í»¼l LÚÔ5áØÀWm ò°¦PŒnôý·³¶_. y"¦-:ÜÃk)UŽ(b˯¹\M}Ž $àzU-þ•I€¯@Üă®òZˆüP0,bŠ0Úé§Ùœy@ZŽ{d ¶ê®ˆ ÝÃæ`ZË^çZíP‰©0WЮfnø ¶ˆ7ùãͿݡèšdr@Ëj‚×Ú‡Pe½ Ží•ü•rØ“ùwë|)pÌÁ \À^ èsÃ|ÖâÔÎäO_lÒqsdŽÄùKå.Ô 5öÖ„• “šc+ãü£ñ€+ä#õk—\é°öS¾ð–» ŒfMù1žÆ²„† ã‰Ã{÷Y ¨õ°PS7㬉U:Á„ÑŒ )6NPr)âé[ såœìraù=“:[£eå¥Ê¤¦%÷%Á,íoß94¢U~Iúœ[70”¬Ù·‰¼€›!ÍþêŒÿÎ@ýEA'/}j¥´JaÔ :ý99¢Œxb†ï’šdØõ„ö°9Êâæ¹ð s+’èùzÇHms¸ƒ;XcD<ø2Úžø3¡˜ËÈ¢»¥36—9/÷æØ ÷µ±5‡b¦×àmæ\£œÄÒ’ãÜý™š^ëåhÍ}–÷;äÑÜ3ôN6&Ýa6áûˆ€64“-Á}5/QîYžûê¨oæ¡©[TùEج~§ž¸aà3aŸ•µùžðr9àŽKváUš¬Îªó›;_Ñ*CMzÖÀ¬èK¥í¯ŒLû5ù»Ä ñ|$0R•\J4­8tÊ%b+ôÚš½öÛXºè@IúµŒKM©óÄ9Þ‹I8[´ ç˜A˜®ë,ƒÅ,4U¯·ß7û¢T}òü@v…î› 6jXnMÌÿUGȸö†gLü £¶Wp5î=¡I Ýb?`¦åš¾4ç ·É€Û.gáÈ`†å|ÃØV­€›Á©ý,8}@À…°/oñ%Ué5IÊçÝ{¦éþ4›6ÅÍ!P‰YúfðȉšÌdû$5¦6>¼t?ìú“jaBGg°|KQ:$éÄ?=œG“*&É€<‘OŽQM¦©ævóÛÔ}íÃ3oÓâä¦Þ„ÔBzÒ7ß‚ßYoó‘sÝÓÂ-` GГIß7„!Y›ý–U³ÚòغHDï=cï„aÇ]@)øÖü¶J¨r¨¾"àiÚÔ¯l_ƒ‡ghVÕ|jßÀ,Ë€æIVC’ã’¢sìOçÈl<™˜T–‰øÉ¸|@ÀÏãéVù`êò·«á#GH;Pª•.ñ~ýʇQ\µykf^Ä MÓãç¤ÆâjÉ)^&¢zWv<^ÖìT'Úo´ï¢`jp1»3 |a‡ù·´a¨¦l>"í-E}lÀi÷„îÊ?•¼9Ì›®ÿàŽKÝ€ F±¾„åïÁI[ç[¾1á YðBË¡R»Ëà‡¥¬ wîÐŒVK™>ß¾i9œíC€ôÉýûެ®6I@·DGº/YÐ<ÇÄn*׬/Žš·´„ˆŠŒ74òq yΞ,7IûÇöÙ«ÚB‰¶u¹k³ÎÃEÁŒ5(o!|›•"@æ…ÛŠ/öÖvMô©«¸r0Ò~(Þåª;w¨Â( ”ÑŠ´¤Œ'µs0ukž¯P¥ @Zž Ä_µÆ‹ßÜ»f/8ÎCÄœ~sÆkMUØé”…‹æe4-ÿq Õ꣈-u¿ñjp‰q ®›Íèþ)h-—6©úyØo¯½-±HÔŒTæE½kaÜ­;}Ÿ4ŠKI÷0ÊA„b½ n‹ƒÒÈC|þö§ZÀO( šbG<`(¶J»*á¯1„úÑ€…}ðÒÔ³[¾é´¤®=­ ,œ^ÎqZDî©£zn“vFQd”Å9´óªÜŸØŸL[rA½dPSÝ2r•Yä9ÊЂ´âœ» Á£‘»8rÎ%ÙÅ^ÊwJìíNL¨ |¡€ù¬Ìœ=#³9 %›/y‡®ï¶O†` 3v4ªÌ»²¥ÛNXx·zø»°xÔös’ˆÑ!¯µæúÄïæ?Y!בÚtZ/OIiÃF…™~ÚÄ(rôhè~íõ×t…ŸT,X9žWÞ+–Ö¿ðž/KöÉ2ät˜gu4S€,j·ÁKÙ¸ìÙ>S”«[Ÿv¹üñœÒü\({W˜"SNqŸø®ßNe?Mq®‹tîþ)NðÄÖ’z m¢¯I~Æ(E£s šN. ‡©fOïkúbæ@½3œŽ™Tð ¯FIÿ2‘R™÷êUÁ³èOSj{§ “ÆPIŒš¨šÍ ˜.Go‘º®¨’¤hæYvN¿§¼ö:ª!^âv“Ý(äÚÌüªÔwC4ÿ>‚7è³Ð‹7JðŽã¸“Jò"ú‚îÆÔ”Sæ¡êT˜lÚ†`¤K® ¡„¼ì ÞŒfŠ &—òV2¶èl2Zå|7Úà-8;FˆÉ…e-(J&Edàè”­^¥:~4\ ‚çqŸØÅžÛt{cÒÒÜÐÉQ#Z”¨¼«¹ÖâêÉÔ´%ØŒà¼Ùñ™& !ª{TΠb>Ó:Ä8à'×0x*-@Ó”QÓ ¢‹"6e×D)ÿ¶‡OÉÛ¼)q´:˜§rI¾ ÞTƒî—Ð¥¢e‡õA¤¦›Â‡à@@_ÖÿoÌ4=Ì×T|DpÕÚ„¢LíÛœ²Ÿ>í¼]R·Sâ~ul‰ß®mB+ØÇfe îãmïŽa9Uè¡7áϤ+ÉDqË*ï”;ˆ3Ž:¶¸ïY›®mòÈ …?ìd¾½E‚QujÒ¨A.eØ}‡zËq$~\Ñ|ª¨'e‡t/¿Á¨’¢‚uDÕK#©ÎÊ=‹(¸€¨¶åx $4SÞdu’“º6̵‰?^W_<šÌs<ðÈE ÜG²E®òM73¦Ï€ð€®Òô`&[óµXWK¤…¯ŽO6Sš+Ž‚±¤Ñ’sߣÖµ ¹»EûvB)q+ì' ÏW'Tý…G^:£Aì_ó„+O? g&‹½ ~º ‹kó^Yˆ3f‘PšcÿÖ¢ÈMžþÛ{'v  ÑyrMüxtk”`5îY€Áç]`Р#7芹w+wmجdÄ®"¶¿Žaå{ßZåߌˆ-x$Høwm¯¼‘Ùû$!H{‰v‚ýíõÐ7x&i¦Ya®Ñ«c÷‰ºN(7”ËhÖ Úò1\@E/ÖnðÁñ?5âa䔚Yé£x”·f«ÛiŠ:âSÕo=VX]j26`ºÕç‡kµ„3ÐAê¨ãžŸ@J{„¢¤K9i¦”½¨^Ñ}]Q7I3fý)ÔP‘ááC¦ÙÒý¨—[Ñ9Ä¡I&—Ø·¿f9Éýô9þÌqLôf¡¤$çÞÀv'ö6LâÞRó;ëöin»ÁMmБáÐnî‚4ÙA޵F,ÀlÀ®L `G7—‡s±>Ã$Ž|?:éÒlÕów¤BnŸ½gƒnƒ|ªøëâÐdu o×;° œñÓM¡õeÃb¸ñŸ©¾Á–23i ,ÿ:bŸ¯½J;ºDÏ8\7E{Œ\ÍÁ×üœ«VuÿuB^ÿÿ ×1ÚÔZÏ<†¨,ÛËžh_;OŒ:¢‘Qù›¯¡ên*» òÇäžšMÁä$k[ YähÛªy†ä'ä½»oïM_aÚÑyüu‘¼hÕ'Ðû“ù¸Öbæ<ôp›É㇈O°Nµ¤Ê¿ gíÁHÛ{ºœþAôEÆì>Eg§ÏœÞgWà@4pâüNW cybÛý"ßsŠDóJñ=•A¾¥5Õ"’2W™òƒ>¢Š}û6õ“¿bÎþ0±sÉ!ˆ.GÔPÓD;äÙ)é_’BE§|¿ó 俆_CÒ¾½JWNASéjsE²Ê lØAÊû´û{³ðšU­Ý‹Sx>ò‡ƒÉåŒt²ïDí”϶ÂÏÂåê4bØ¥\4×­U;4þ07;£îœˆÓHæ-¶³vÇ358ðm•¼2˜ZN”˜G¡QÚNGë¯z‘J0ŠK6N?‡¥³‡°!®“Ávd·¯ ·4~#æØYãŠ!¶?rÇ»GÞæ‰âü– Ñ Æ,&Ï 7Kú{ã-Uà÷x‘«3$§ì|ýCyÑlæXÙQ¡raµ²½&¾¯1Êk!–ÃS½ûÊl$5©àޤB¡…4?|ÑDUÕÀgf¡**ýd^Ã’©,#†9‚À ¨+(U>îBÑð¡©«êjÛ‹Üfgªé} dZ‘CáŠúÄÄÙ ?kÈrÃÀÖÄ¡è„ä¼ ä•ÈœØà^··åÈ,I-TŸ+L¿ …‘LªÈç÷Â_a ,æ9%[¸ú <‰°ªf 8 &¬o@‹ˆg$÷ûÍ]Yò¬î±>JâÖ‹Õ%Âè–ðò^›>B/@ v6Ëžõfë¼Á{.ÍŽz7G¹*U€/ms° Ãm¸‹sâÈm°­+¯Sâ©L‰ý¿-Ö‹žIjN >L'pßpCÝzhÒ¹ ›ká”ãqóŠÖ€ZÀC¡x‡™c&{•&z±‚êØ"¤80˜ Ûü ð,U Çj~ ¼èk“²'xš6y0,¦/=úÝg_8S :®Ó# QO‡NÎrÎ~&|«„#ìÛbmUâU³X±ð"ZàE‘UA£¿Z2¨fZÿ¡é÷šŽò‘=}6ÄòŠ¿1罌€¥ÖòÃò=fñG€â¡è,¿'Këæ‡$Ú žtÆj]i«üÉé)<É –p"œ ]Á5Õ›.—wc°ÝïŠÑÖè_sê›Ú@ÆX!{%Œ] ‡_ȧ£)¤7àé)TIå唊e˜öÞ¨TÝ<çâ­KÔu)IŠlÇQMI– b­t]¿I}.\"äÏ‹uÀzbÉP¹úÈ}Â9ˆ‹Õ«TçÒܰD•¶þµEH™Å,ÁÃÑaM¯{Ó9n5sJJ|Ëý`0Àíu fnáÕ2VݨéÈß¡åcbj´HÜÐ)·©ku¹å_}ãFú ¯žø?ÊKÍÕ/¶hƒrÈê Œ¦öÒ¬¾‚á‘¡¿H,á3åÅÎùÎXÌÕ Û{Öõð -Þøš0JUß]ÿ}Ð/XUŠzË¿DÍŒÊU ›b7Õ¡¬]‘ ÖlÏtÅ–g©FI¿‘+ƒÎ•ÒB>:¼¦4ÝN2«ÌÙ 5\g‹ ¤vÅä;ü?:îÛQæ£íMð¶ÛôÊÛ‚ØyhqƒÎ8M>Æl£S 0ÔLÚ­“Úäí¨ÜWEf…ö Ê6ç@;ꑹÔ/I@wÜÅÍŒE“ñ$÷=Às¶=-›Ø/Š=NDBÍ&ýCp  a¨lXh„– ÍM5âÜr#Z›à±a36o€#¨ÕTŸûã߸óA¸¶sؼ òOšÓuÉ}|Þ¨¨eì'¥CÆ•T ðhôèÙ`ø°>•²ƒ‡f6ÓaÆí‘3N¦n ²òs·ylœ"Mw¸ _ /žwªâãìqP•µœ¸ÂÄ#»è.t }ƒ‘`ÈwÙ­›¾“§;Ka ¬úˆˆ%Š…€œ¬?ZÊn´?F8ÝW$šHyðGÛ»Þ±û’«E6)¡Ø@zùÚd¹¦Ý¤fÒi•Ð/(Ä¿·Zn8¶FÅ9ÀyÕŸþ°ààüCʶ?ARØÛÂÄvý–{ôïâÏù)2#_Tܱ-?_º twPgš¿W“Ñ£Ì.v/ ù–½,7ºrŸäÄésGLf¹*&C°Ñx+¦Ãú‡Ñ5ÂçÐ,sîdÑrîïe£I…Kô!Aû¹§D bALo{$ûn/q/XØ´‰‡7‚õÑ^>3*)쟗ӌÑú²ÓqgXîZK¶ÞMɯF‚~A&Žx)203‚*_> ڌǻ%v7ø…"R†yJ[ÏUCO«=VóÍñÈg38 Sû …ßt\%›—òÃ1 ÊU’‹—Ⱥí:ù/¡¸L?s¦ÜD/~„l5èC™açõÃÇ…ù<ô1¼NïÞrî¼æ6ïì«»”I]Ö“Èd p `¥,F¹É¡÷*ž Yï%7‘8¾^R ¤¡‹û2ÐÑ­ ç7¦”Z6ª:!À&³5°9&Ò‹>;Tm–§Å’ˆÐ_óÕn¯§*ËÈ9g›„{¡nmùe ±Ÿ¾ª,@0kW¤ð‡<9—óëìšã¼Mö°²pUë°ë$žY‰Á9>QG¸¡Ë齨—]}ûöOzKƳ#‹ ñ;(b6©g‡»šE…Ù¶?2ÅëByÀ'û¨išÐÕñÌ}ìe^ßÎA¬Ã=÷ÉÁóK àéÛ”^ùzå ûaŸŸÏº|C’(UŠÉ>þã á;\]t6æìÏ2~ljëÈ¥­äSi?+­²„ïQ&ã?ÁÈUÚ˜´Ð561bãcWv‚H„q|óž]Óù’ÁÜîf«mê¶™žÜR^N"'‰«é蔨›U¦Güq¢CìM'u‰d@9C{€Á¦æÎ¯ >ö¨QÎW–Y<ÒõZcüIÛó~â%ö j¶ wâ[h1ÚgzÑÀxª».vÅÔQ›p›b•6¢ªü¡u´²£ Ë %.—¡7VAÉÃYÄæ–l;%Èzü q1%÷Q!Ë’Ž_ç¬_—¸NLaϪ0s-“ç5äZ<ñÙr8Ÿ ­6´º’×Ît¤_jéï^ÕAJ †b¯;Vg˜n 4[×Ò]›Ú'oÛù"ìb9Ђqìï$n”~0íXæaÀ.w%ò…ô| ªÝww\$Ì /Öá$ò¤G­uK>üœ‘,ãb€¹Uüìãm9wt˜¬¬‡‚| „“±cQׂ8VLìP,`*HáךêtG)2Q&¤>Ä*f³*]Á÷ŽËeÒo>²P‹d«†`\[r›£kt$Þ‹8ÀH³`w;djÙ~ [&ÐSÍç%wÁsõxgGh:€Õ,Ëh9Ôš£Ž¬%#Tž;\nÈ/øÙÀ/P ×r¸CcÌ·#öžÂsý¸¹A!|jU§üqòé~òøÆl»<Õjí´Ðß„ïж“z0ŒÿBarP7ú>ÈNŒ²‘ÐWÐS»tuÚèÉ0"g¦ØØÀ8õ1˜ c{†··Î—Jœ9”퀼&°!ê¹Æ)ÏòT^_¿ë÷tNWänZtÃAÃy©"D<{|'$âk60b­_* Ô (ɬ( ™Dz]…AØgÈ­7¿#-ßp_IÃ#$ò"Ï7¸B‘Æ…^0ÉSKA¦ÿ³ì„X³{Œ¸Àljµ"3w!JñrÒs†ÇXeÉ •Éøf÷°/Ö’TqÕñ}Œ›ò˜fµe’æh©Iü,ͱ“#4:PûLš…º—%P¥::ŸŸtø óˆ]óTˆ`gs½¦k}z÷¡ DÉvß0SS " è–ŸøÇ 6 ÐÎA˜“Ö(‡·'öTLñ ¹:$klúRŠ/©-bÒ±Ê ^½†ÓCpO¿@œ{ð*½ã`¥ÀX"‹*Ëß'(¼Êåô½0À}Ö”±F¾B¦‹Œ4ÉMþñ]Óˆzm_Ó-!çnÍ=d–ƒKh%ƒDŒw· †¶+=ÄòTj DÍ}|S)Zk£ª2üRÁ ÍÐm-w×ÊŒB% T/˜ 8çRíU5 ²¹žîðo¬QÛÄü6¼ÿG;ýÂYŸ÷ÒImZÖ\ð[µß‡x&:¯{™± ×O| r¬q/šé¶L?·™*r›:â‚^îì>ä…Xrœ6ó4³r4Sé?ì»áœ# –s}WBÃä–öÓ€1§Æãð7úzȧË'¬ºžEå_]0¥H:‘ì¥{ ©¼8©¡ù¾œ¦Mƒò‚å%ðúKl2ÏN½-ñ,Е‘O¶XWQoYfXŽcÔò Ã6a&sÜÈ•o%DÂn‡ÚæOÍ"¢[«Ž˜œ×c\;Û©^PÄ$-Æâ* ð‰ˆYŸW71Ì;9ô€ lϾԅ«M¡‚’µt á‹9Û“ÜÝñHåÂ,»Ž¬lëAد¦õ oÙ§n¶ÕóÅ!T7q¹l(­å‘gÀÉ $w)³ÑK@ÍcƒÃ\£ÉzJ½ÓjÎ3.˜ì\áO‹WÄ Œé‰]¯^Èú >ò¸Ã‹ÊdoL®-µšSRN—_åhߎŠ(h(ŠmxÄž%ÄCSüX€#aœæ¬òˆ„ÙôÄ-N™þÍíˆ=„R/ÎèÚ\ý-ü[Øw¿¤nµÍƸ01]‹’HùûS”j>§nuœJÆ7ì§gû1ƒÂ3øª·ÊÓÊ Æ¶ ?cAèˆ<º «&o7žù…8¡deO3¾ãë0RÒg_°–»ëéJ°KÏlÂÓšCC :”ÇÔ"p°eÏ2-×j!v,‡Þî-¡(9¹ûaÒû)øÓƒ°‰¼u‡áSºýe¥2RÆ4øøž;°VúÂu8㹟ß­ vSÿÒRÕ²Ç+ šRn˜]‘J:vgîÓzD·¢v{Æ›ÕÇ+ËžûØ(ûu‰nt¾Š2ïÉ2åK]_2šdMÅåW{+2§ûrÔÊŽ=ÜKosmËøV]eáÌv’¯+E“:1Ã\Ú:tt6¡§/EUG¬·kþôãþˆL-òyˆ€nj/T»V½Aÿt‚º?ÚâúÐ9ìöŸ÷Fá²0Áj¼C€#d—©êjf׿ª· z ›ð„zô÷ehì¿`Ä#C2Â%ºÝö–HÄvÆÛæ¢5|”ÂSC¼H›ôýÿOóº Ë}KŠW(€ŠxÓÁ9 øð@p¾ÿ¹=ùY‰¿šÐµlûÂx)t{N~÷UÐµ× &¸Z–˜Ñ6qæ'>SØ–`0·Œ¶išÜ™>¯\5Ìåõ~èƒ µRâ”§DËð]VšŠw¡¦÷Ož×ÁÙç|zç›»GUúž¹âæ¡£"Ç8ÿÁïAW÷«`¬!QU+b誈=à‚ÂÈ:R!Ò[²· G=ä÷/|\´ :óh½Üc3ø´t#¨jò·¸ j9–¡CðŸÒ»P'šØƒÕ‹ B%`†{ãzŽH:j.lT©€£¬f„Íó½^¨F¡œ0a¨fr@¬Ó°XÝ%ò‹’´bÖ7íª'])„}±ˆù>J›–í¢Á¯Ö<ŒÇ( <€÷gžÛ!×PÓ½oÕŽ¯ˆ,úÓ”\àUrékþ[Î}=76Ñ4™»p}Š!-|nÀ€:÷§eK½L¹º{çÌ».…5Ø¿…26i@íH_€æu´.zwbe¦UM°YÖ`pï„zšÅÐÌcêåÜ)ÎÈC+ƒÉàÆ%x:én¦ Ûhžÿ5£Ï–Ê#gìŸC:Bœ­£Qª½=vÝ­%K¸žpøílø8ÞyëTsß295ˆðœë|t±ƒ Ñ0ßÓ”c‚=Caÿ×$Æ ¥˜â*½ ìÀâä4õ¡ú#±±uM7q±XLä^Q.¿úG¾ÕX‰)µî˜úK {òÚ§ÿ¬R5ë-ÐûÔš¾dAù…ÑQ¼53 " Ó û@¸"O¹ô Ó9\´œ:p¦#~|Ù¾/ʸõ5¨Ç Òo»Ï°%øôa‡ÿÅLe‹ZøÿËS¥äOQx?tU¥d'.µ¡ÙF_:8 LG¨¾•Ž|Dyé¸ÒC•€·"ìp-ÙkÑGŸÙw]g2Ñ4 1X)r>¡ýôB”R¹R ãL`j¿ )0ñW§?Ԁꋯpb¥^çw1ŸÝ´ˆR2ÄC ÀFÜýáμ*Ö|k°`SJ®ëQ”ÏAHYÏúsCë»Ît’iù¬›{Þ­Fmî'š‰ñ‘©IShÖŽÅÛ—;xÕ7"¥Ÿøwžõ;ÄÛ˜¨$VÉÛvh"7\Ï¥«ÔÎÝ~6ùцkÆÜü‰v»ˆ{ØíA&)!Š£•]QŠ=Nœýº‰½b½’‡ŸOËæë@~7[!Ÿc¯Îîæ °ý=½/eØÐá‚æäã„jH§ãY²‚i¸)ªÓÏ~вj„Ã÷ój0©+H^À®<å­RÏZLÉþiµ˜ÝQ“»iþ¨³U=-ªF¶þÁPµ¶]1J_2øFÆãË_$¨ÃðÒc;Ÿ›EÄÖº• àFJú;.80+yý&h»>ØéLþ¸\Ìö[öUü¥lÃú²—”ä_Ùy…³µ(™ Z&>§¼œâósGÑûì;<%q{ø(Í~ 㨫*'IøeÒ ¿í–¤Þ§´BéÑlƒ*ªŸ{ €åxž-ÖWÆyû6DncÞ°Ò*Óã&6q²Ðx!­íÕiÚï¿4û;Gœ“ÑŸ§7¨‹/•aþÁ.÷¼ËL=B³óƒ$’4̇Ç+G)Ù½‰¢ Ì5].ù`ÆÞa’-¡ SúGŠZÇÞÞÕšPSä}BglŒ(óG^õˆ¤lh2$zf÷lèžd3y*ªAAÁNCIFU„XÿØ'·8X8&÷™yJÄÞ‹»­m#=E,A÷¬Û.ÙÆ Ì×ü_ÈÑȳ|V¸£üÔ•oK5„Ê[JÔ5oQ³5D쇅Åä$tôÍà©ÓÐïSáeQÌØ)Sä¸^DÀ^­C)’,Y`[>R™°f>ˆ…Dȼ%¬æúÇÃÑ‹…³ zßõfyÝV`´ÞÈá%d€´¬[Wç¬Vpk1,åÖ| ÙŶOæ U±ëlõ[KGÓ”ñúÜ•,fc¡g²Þ÷Ö NýJ|k¡­ôãD^}hWà%ð!A&ËÍͪ{—ƒNZcoð[©ˆÊëm2Î ;:iÌu${Ùß»¯ÈÑœ¯‰uÕ]as~Ž6¥X°ú8^è'ÏÿCGð_Þ?:Äc¿¦WPóà­óè¡bÄÓSX:œ®.ãû“’b¬WG¹ó4펮œ…âê‹Ö?VÛUÿ*Ê×_Êoƒo  JS“X ÿt€Xb°ñÛ¼ ûª¬ºï˜§²Îî†ïö¿$ð÷³·ÇΪÑN Å3?»^€é¥eNæÁÏÑ=OzÙNʱSH´ž Ï„ÓÚJV@ÇlÑO€!~e„€½*In +ˆ:T®Kß Oš=xާhƒ£‘t¸0\¸çÓ1&%Ä)e«†OÂÌ¡dÝÄJ!²³xZüçepk':û…¿Ó=\½HØ<·xz]ìX?2A2SÛ4&^%Ûç.Ø9›‹’>jq²q‘UÉ.ùj-*¹yÈ#‰ÐÆý­ý#Tà·+›=ðw‰Cø+ ˜ÁÖúâO¥¢`½ë"Ò$p¾4_Ò$ñ}½è1o!»!{0–‘qzk„žf±‚|Ñ7––Ä|æà•"UpïØ1üÇE²¿ÁýoŠi%˜Ñ7U?¼!o|àlÕx×o±ãTå‘ñqÇù1Æa…{B&æ´|øvp LJ„±Òë¹":1û ø©ÝYÿÏÁвŒ¹FÁÎøÐç=ô)Õ” K˜· =‹“ ï©_LgaVݰ£Ámy1i3bVº±¨†¨/äÀ¬ <£ —+)L­•±7C×ߘ”[þ9þ“¤ªb½«ÔàÈåÇsx¿5þ]Óo…Ê +MÎi9Ž6·Ç2›¸/»°§ $ ÉuÛýsÑÆ£mDP.S•Æ‹¨iîkñ|¹rOŽÁ¥°ò/z=åü È–[p×1ÈÖÍŠ~ø·ŠÐdCýèG*ñöõEƒL>ˆ¾'ó¬´sH9=Ë$äŽrÅ|’ñ!Ù¢æšH÷µt¢ÿÔtèÓe¸yRÊ@«YÓüíÝ 6•>Eß²hfEb²8ŒÇ}uÚ%Æs·›ó`æ3«™»äËßtGã2Û£nË:`s!T£FCœU²ó\D ‚‰èG¡E3%ôÕ/»1T°DSYêÁöä3ÛøFEŒžE½uîÒÊ»”ÔB%ø§îÂÇ„NŒÝêå·U¹ ¨”a F¥åśƣì_ä•Gž›´É%Ä`èŠ5Ñ»iwx *4Žm½nÒO@%¹FÌHͱQ—o|`à~Bü?­æ §¿vçI½Ü}ÿæÎ$ħ²ìáâvê8H‚~Æ,œÐ@”j¡ÜäÑ(<’`Pgú«ÌÌ{ GôjÑò  ßGˆÝZ$Á¬Ú˜Ï+~ä¶®Õùáu€ê¤„ ËX€ƒ6Q‘&±oh€Bžk®zVïX…œ¼©HzkF»C?óVhqd6`õäŒcÃ(õ2—ð|õ>†Ëlµè¥L"BÌÎc,.žËh+×l¿]׋¥ßñ”¾[‹ïTf¿/O1ÚéðþF·ªæ%Ø áS™ÝWØõcâIÙæÜ–Mœ±Õ-âñ06šJA^/ÿ’Í ¢#ËàÈý/‰MŸm®6Ðü+ˆ*¸õ'°Dy{&£Vî Àçù•&ÞÇ:½ÚE‹å‹Ê«Ð”ž4aß¿ Œ¯ä‰?»4U¤¿£»3¼~1þ•ä‚82{Gæ/óU=—?òÔogú6Éx»ÚTëxv!?U¤6^ËiÁµ—´ó»—¹»õGVÐi·RÓ!ÿ¬<8Œeù©>ZÈ5¡‚ªÁ'ïÑ )Ãɪ¯­÷ù*)¬¨b  ìk¶ƒM ø¢Wïk)ƒ¿LK"kÆ•3óÎèÏé›:H×fIŠr™^¶s¥G?%¾Ÿ÷R‚÷+ç;Œ= î×¢´!ìÖÛøÌoÔÕ|ËØ„5ìâ\%=«T:;,Ý/±=nÎ7§fÄG_AÆLšüDdÇ$JÀòž:E[ì°½°Øì‹0žÖ*‹ºÐ…Lx|'äçøLP’èƒK_EGØ ¼yô*°ëV@ðÂ𸽧‹šøýE‹© ˆ<óyT¶àÆ•þIE/{8‰c”ªþ‹”_÷¾e³t·Ç-6Qé¾!ŽuU.Uú—ÖzþϹ¤?,m¦O ?ÑþB-bqüp¥NØ$÷/©|‹¡g^Hã[á=Ö$š¢‚NŸdBöµœŠ‡ç^’Ï:"’r˜€&Ê BHš]fh´Mž1VQVÑQ‡p˜Ø–Çí³®èÀÝ¥ƒs β⚨ˆ™b a†Î~$• ÿ’±U«3 W»ª(™úJ*à°Ãëßu¦ƒ}¡ßÜ£ÃxÊV€6‰b68U2€)"yC›kŒ‡Ä›ž>›ÑE¢HŽì—÷­ŽKž•sÁy$CMÅÆƒÔ̓©>Ñz„ßÉ:¼¶-²ƒiz&jƒ#+…„C̉uŸš?ö–¯6BÁY"½ªx·.’ª°¯´ EÊuGLE‘GlíÂW3|(Ôöãƒ_.ÅKLrŸ|¾¶0¼Ä#w ý1Ö)á!ŸylŸ?4ØdH`Zë€K4áþ?ô*·i~ÆM¬eî,È"0¥ÉÕ%ªÓ-Ðë&Â-hq3Ÿ®ŸDXfœÕ‚ ýh]‡È¿#EYå%žQ[LÑ©+ð)•,aÝÆ£º¤ç#®EÁ4 ´l08L|šÃXW´2=øtEý†¾Ôpå®CþeuÖÚ»*µ¥DEý´ËÄ`Lfž/ÈǦ{B‹)zXnšFXŠªLwÕåÙÍ:ÛÚ°ÍaÓé‚ê狞µÆßy‚,}Ó ÓbD‘R„¹Q7jy1^Å÷ã¡€¸ûƒ>i!ç- a+²­±¦1󥓅; ÔžíO£i¹0vÏúža MÓbFé“ƒŠž$¡r½‹`A.ƇU?PÖÍQÛLºŽ¿p4ÀBŽj­fç MÙÕ\;¢Ø¼.—÷®zœ@AO´¼ :;âÎÈ`¾Ð.4 Àï–×)ùËL7¼›)˜â-_BÉîuÄQ¡ hÚ“›©q–Êo‹F6Ç›|Ù{)­>ÄÓ+¯ r¡ôùÚîÈó—ßÕªw4Ç#<ƒ‡ü[δrÿÄZæÊp =…x9Fl‡Ö*tb£Bä–']Àãª÷(+þ4>[è­ ²=qL‰î“¤‰9É÷-%žÅB°Wßh·’ž^Y…1ß½Ãѯ’’GÞRõblÌi0]E\°Ü…»|²´Fú¯:aW?´ïÇç9ÍR·íÁ_;Å3ª ßW¥pªvìBÏ™r²ÍÝ.,,LGq‡Ã•¬^ÓËè~æÀi€/> ÐóìÁ©$÷/mk½¥´»í²3”UÇ$xèÚ“FŠMÖ­ÇR¥HrL¸£Y\9ŠÁÚ¾`Pm­(/ét =â­}4pÐ]ªpw2¡K› 32¶g7]6w8Hx[ö”í"D_I¶Ó•eÇ ú”kèÂRoOœWc¶xöŒ<ϼmU¬ÏO¢ÞkPH»zÑ€®ÝgŸB¡g(\Ë8†‹yÅþd<œä´YÁ½>ÓÞ@ Ì};u?¶é|jXÅd±–À«± Aö¿^#£t˜=]k½EæAƨäTgFÝ/n¼ˆkyN(é÷XËæ§¡Ž‚`¼³‰iD¯À©Î1­Û“6»[üÆðô~¾&ཡQ£[;Æt ªÊ,s³-Õä¾° |Èü@hææƾ÷Zß V$¯@ ¶™«”‹H¯Ž\ʱ")2BƒÐíZ.&£97Ã~În*Äq¯v áÛâv9hŽ8ã¿öéù ôú S,ÒÝ3yf[vVß×6ÆÂƒ›ð&­*¢IèLþ熥Èzm¿…_ÉÞÐ"‰cndœ6iŠ ^­…)ù1{Ü×ãþõŠìúC :ÝóEìý?NÖ`“Ó„öÊ¡;Æ’LÙŸN"®X(Åh³á¦Sc<$V: f:ÄIÑ-”úzê&Œ¸?Cö4» Éô¥ß &­—ô›Yî°ÞöߣÁR×d?(cÇÚmCÇqIbÀ½Wו§ÏÇtùòÚÏ´š^×+†ù×?ë [g‰Å² S;µÂ³ÑJíáá—•'WÃþ—”B1&/ËGõ0É@ªL„.**º‰-ŽÀ½<-a«mB=Ñ–¿Ê°ðìVXF`iP?c|½^|î\ÊÂ]ÄQUÈI5G€Z=•T’ª*Ò4ÄFš~诶£¸|ãǵß¶‰×2eNçïݧ§pûµÖ ¨)a!/GóþÔ1ÿš9ùÇœ(%óŸ„‹=iŠüOl¶úõ7å‹#Ò1‘­ù"ø«·Ö)ÿYÄ\D†Bj¦Úr´N°£Œ’¥‚{ó’¬øeá8Øœaº£‰Y¶6ø¿D‹ô¯—,,¤7ªfø.gɇ¹`Æ2é`Vª¸ð§4Zp±vúçÒïl¨×3÷E™úèÿ¿þ¹ €7×™«ˆüHëÿ ½õìùw–O#¦s[Ó!^µR"òý"^î #½¤:»÷T{Í‚A1;®ñ®¢›÷1¨Æ‡³tPiûé¨hP/ĬAÛæ,IfD€ý;@!2Þµ&"‹o+‡ÎæŽP÷H_Üœ™øÖÚdè‡ ‰Ë$øä/¯p˜+ eèVk)AMêâÆ- ]$<RËAðbMÓÖ\üaöÁYù>ªU½~ uc£r ¯÷†ˆŠc|ÑMqw³Ù;è^ÀŠ‹€IeŠjGæÞí(êX %€tw:¤w0gk¢Ê­:ƒü®R,<«“QÁQþÚ†r³*\E4´£œT©å ¸È§ÎO ÑÎ>ç}4;gÉP®g´ù[\°ÇV`è¤1ˆÕ¥*ÍꈼŒ2§`¥5vö0°%®ªOoKb^y|Æl^ …ž¢9oœË|‚Ez"Vq1~ÖûŸs>«Ê/9ýh…ÕþÄÚŽ¹Ú¸_kñ&Û¨’®~ÚÝÓ´F¨˜‚ L5錨¹_Ó5važè(,œ6ÚòIøè4•‘¾êN¸…–õ’ŸdÐ/Hñ)Ç9¢ò»”YÆMJÞÔBïǺæªæ-Öö…Û`ÛzýzèÄê¯ë^÷e§¦èÐØà¸wX~*äÄ8Q&Óì³@‡±…Q6‰$ôŒÌ  ½Ú× w m‹o ÐÅëæ]J›¹˜®ô¸öä¾ð]}8¿´MÞðáÜ:Šê¦ÿàÕYˆœ ¹“Û®c 7Oi«€HÄV@z²µiKähÇD㪘ö0])¿È~êvPðЯH²ÏØ#«‰o¸†‘Ø3Á î_WyTlQh;£<á§ÿ-#oÐÓÁí lðÞìj¥]q&ô¨wë¦ÔryLˆÓœ†K¼¼À6Ý×kýßmè/bØsª,9ÝŽÿñÅ–‰pNúzߘޅN¸ÿÓô{8­éš>€„ÍÒpB:ya§#9«þjÐÅ£¡{9ü»N៮ZMå…ôL$6Pü åo AT^¸Ûp>4ïÄÎÚ/ÍL+»ÿ”RL÷>™à8óÌ`Èàˆ>Ö¨,^X$¹÷ÀÎV²™„C`ByYÔ‹Þ3–£\MŽ”n˜±=£ÁxST?‰Úí•E%ù°/‘‡å0uøh3&L.ä&d!¿?ñ¬Ä‡–Ÿ4Öšã-ïõIl¦‰É…¹¹¤5r¶Ê:æÙkR”JHs7I$Z¬Ì¡BäJOAúÍ+zì~dÏ›… 5|—œSÿ [-ÖïòÉ4¤”ó)\TÀ­CG¼JÞ”xAdvÒEˆ’ÓVà,­(y¦r,³P¨T^²7x‹ªþµÍµ[´c|I3Wï¥jIÿãÊ;gt†¶‡»4}6ôÙV_gZÓYçf»L“¶E$¢ëëÉ{^üim°-eÆ«Ö3ÉSx©²>„ð“nX|~yš5}Ù°²9.3uw±9~ôœ†«0Ka„{"–nÏV ±\®Q[‹voÚ°fs€Á"{>¼nQf辚ëH·;-$™n ]^Í·èÉlxû2·@mµ‚ÂPÅ–L£$X$‡_†‰Nòy8ýÏ Qž›Û-8þtwðç3i æñMú»@¨F¿Åß;Æ#) I;w‹V°‡ôŒ˜Ê©,V”z,×d­ysÖþé ð’ëh¦%ãoz͉£²jÀ=§2D6+ÛþØ÷ZïkiÌDëÉ BÚu¹¯©„$2¡šyjy^ñИÊ+|KYnX¡„â%U9‹–Ý<ÎQfƒ{Ûd"d>:Áïÿ/n,iÞH•r–Ìë$¤|·Ñf…õ%4ÿ|ñxâ¾÷å[i1¤³˜?£@ ÿ÷ËvÞ<§¾KV™”ýp˜<|½WÄÉ 9nŠþÛ~ÿ­T°·ÆÌ´åeÐÀ{´v7}sr/,Â¥ˆÒÿ.Ú§oÁy{ Oâªêš)ká4z×i€[e¦ÌÆ¢ ¤¥>%hË|â'Õg}ƒG¿ŒÃ)Æ9SyhŠNÂpß5ë æ6ˆr'2ú]ärolŒêuW‹„aJø½¨!–{<½¨Ë1"ãÅ{,g ’a*m<‹ùãa꼄EØXÆÿHKôòÙ÷v:s~ˆø¸š¡“”½I﹃˜!gd–ÄËÄ…ëxÕ„‡Z>Î&õ(ûyÎ3ˆLRÐå†.:WŹ­ÒF'†/Oy0&v lw^€Ð@:VUð̇ޡVíÒìr±®¤þÆ¯Ü @_ú9CÐ[Ç®d‡¤ìˆpöþO[¼Y¸×ùy™…Çà×XΖ JížvÍO’ÜÝ1› 7Å5|–²[þ€å&åLIok˨ˆò\ÏE³Z[¨SX®?|Tgj(¹9ê_é뜤™FSÂw]Ep'¡& %Y§Kï2a_:ÕPèÅ.wzÿ:'CWÝ" ŽmÉϪŒãºyÛl»ù ͆n§„6©ð•lÛÁ .gm ‘¤&î~¾©ò+( ÿÅ[Ž~ÜQ^–¯.]µKsq&~‹Ç3B'­M¾ù2Çfek!Ë‚ 1‹ º®ÓžÒIˆiAÇ[6YüeAl -ÎwlúM—F}€ ›ó©²2ÇÕE>(uæ<ÉÊTv®pJh·\ßæÕ´á¥4Õ†Ç"&y@‡*è±#!î -à~4¢Ș$ʾ&æ1¬4éèåÛ@æIÑÄØLluÇÖg¨$ýxÛËh2ö@Jnï|5Ô\4NMj0pz¾™fQ5ôèÊC³¦¶p¦'o4Ô›M¾ÆŽæÈ&£"Á&nƒLB¥u‰ªÐ˜GÅ£óTÝn¥ÞÀ+ûgØF“2xŒQÝ8ƒÅQý³÷Öì‹úOSožö¹¸™Û);óÆÇ1žaݸ/YÆm]«'’u§]7¬ºôRëRÓ<üœÁÎŽ‰âݘ«ƒ{œD"úWÕ•cúõSõÉäv‘€é ÷:z ŒÌZŠXJV@ÀzÿD‚+˜X›Cdvoò¹>EQ„ejÈ&›ôÓ´+Yvîè Ÿ5eg¶¯mYþC{ù…—ë¬àçïõîˆq”íî6,åÁ¿ª w$³¨Éæ¬Q•’˜xý÷éàmÌ E·®…ä>ŸX0Ä„®Ì·±=ò˜àƒúµ„—ˆ9]öAÊyÜ'e0‘çˆñͮߵ¤ûWô”«w¥h¶wäºSÉi½n^BhÒ(&…Æ|xö¼º~d,¸d´ƒæI(D£[Ôeܱ åÐfêS6Ôž¼KFûÜtúæ«“Kò«÷2ŽèYÍsƒ¦·0Ì-ð§ÉXÂCiwó DíZGHy oEùò¸>ïÏ_Ï»?~¯í0I[jô†îÔSªwÑÝúM覌'îŒô¾²æ ä_YŸÁ¾fai ­‡y‰Q¿ö–þÁPþÀ£Ÿ¡Í=˜ÙËð*Ælq’u5g$»T¢ OÕAéM}9Ánämš#ÚuRGý,L†:›–gG 2iQ°H­6š}¹Þ^ô¹EO¸]¹2;~É> q'BŒ %;£§Ø\·çÉ]÷½°„âÅ)þÅ ÓERlr¬L¸9MjQ8uì¨SØ ‘dz™¡±MOÐÞ¨+%RÍÕþ÷9m÷Š3·¡±‰ÖP~`…÷­¬êÀŸ\Ä39KO!6ær©©~²õy¥¨‡)ÛÉèTK«¬£+¿l>}¤ÆT"oÿ­‡@CÏ#©Ä¥6a N‚{Òí' ¢a?ZÅ[$²7WJÿßã»8Ð+_“ùq÷¹ƒ'½‘RÁ²ºeà°ë¢½ ù˜ (dwï±5ÔÛšžÉ½} ˜tú¨ úA›h,j'†…~P¾+1Ö!ÁQÔUÿ’ô¡/< OÔI©óSc¸é(wrOVZAçF‰IÀ .T¹Ú³î 54œ`pGÞ•-]€“x´î6ÌÝ DNÿÝêê}AZ$"ô‘_N§BÃ0ñlÍM¦‘VÑ`^gcj6w Úaµroy«ª•ï´(¼}>”;¨ª¦¾HžF1;s ¿;9°¯x=À`&°-“fC£Ž¦Âÿ´Ÿ¡ùãN9ð(ún”ɯ“¤m’pPèoqÃF}ñ¦Ö qZª&Ñ£­¹)Ù`„†±°5“i¼Ë›¶ùRW™À*ú7fQXLD³¦Z¾Ýög@xÅ¢‡ñâh 6¯–™ä#H³s¸&+—¶æã+Ϭã}gJhý_l©Åk&ZÝ0^q­7àhÇK”ÿ8MãŠP=¡Ï†?Ñ0ön- À™¥\j‡ðJ¸Yì5ÚÛ øüÆ4ÅŒ £’˜.T¼|GZÐý ù©Áîj-m-á´š Ô:qPˆ©Ù»U×QCÛ;}²ÖL Ù51L,õBqÞ·ÈóA2•çDt¥‘¤ °¶8* ÌÂÁ$ëµS¾ßÖC½Nœë4I^å¾ìAUtÓš2Ÿt^Óëì/L c"®é0]й~Œ2/²Úû²&Z í6F1>ŽÎüï*M‡Î£è —áX_M®öíw‹à1”îŧ÷Ô¯qâÉÀ¦]Ú>Ûù¶”€ç ×,(Bq^èŽÐÀ#ÚFÇe’¼vÑØ®IÏ6:fϽYeèõU×µ#)cr#¿àf1§g˜µ°S+ã9«i5—«—öB’þœ±õ»è4ìhf#/j´4%ë¶îÁ_'$ÍÈßtƒ ] <8.ó`=·ñæ˜ö¦ •¾Aðê­Åç¦ ôˆa2³Él Z¼‡º °[Tž‚ugÅRíQÙ†^²McÅ=U/ˆKm\N{‰…·é2´Ö--ÞV%E€Õª €šÂLÖÍGQ@*;R^ ¾/|gTS´W“®dÓ0á¸;íTH´ðT ‘Æœ$!%kÉ9llÖ"¿ƒ"Mÿ1k9T(ÂÖ^ði,î…^Ù`“à3ÖÕÑiÁÓZu©»'ÕÜ­[/´ ƒtú߉ÞRBÓæÂ®Ž&"¡‡L…“ýg†˜}øSô-8'ÚNtEÞZq}à$*ŠEŸƒ<Рæ¡ûx R¿ú¿§áM¤[ RÛ Õ­X8Asò!S>%«s‚[F‡aUÉÚºèÕ»Z›²¾øÌF}uõâ]ýsö™¬“EËÓÞ„-Ô |;[•Áïð`×§^ÿUàhˆñß×®{ôUzꀶsä+£úPhùJ•`›SDh_~áGæÔbjXéòÅ ¤f£Šø°’›¦jã+ÿõ8r }O)˜þL× lÎ`_ûÏY§pò/+±#Üi"n.KN‰‡SDAãꎾgÒ§ÅÑ¥ûæOéMr–9$,_évïëZ`Šñbã¿Mæ_ªY¾çjF»‡u¹I’Î3Žö›Î!¡ñ”±õîí‘îï>$™O${NGóK…–ÑÜ»1“üx6|LwôÀÇh»žáM`‹{ÏNíÓCÑÚ¯>&ÿd>tùD iTÍL›gÚZ2›L£TG%½ˆÈðÕ}ÍwúL¨Ø ¬¡±2Ä:Âbu÷o†:löŠúK—6ž±Zf% ví2_á0LÓ|È÷ÞÑIŸÏ•àBv2ÇyP5ïÇU¨  Ÿ]žnIeÓq¸¶Î?[>Ñqwé[HL0ÂO¿4¾õ‰¯Ž®×{€q]íáwϤ’€ãŠÔÜt ÜÞh+z+e‚rAº>DF½¶‘žüðÖ9Íõž~œ¤„ŽuðfëÑ0E…Òíë¡ð®CbÔ€trD—¾h”ò~£ö 8å}Z~‘¦Fÿ±/¡}굨aæÁ«óÖS^ãä@»ô}Qj^ãwj ›äu?‘ÃÒ¡Êa¸%Âï*ð‰ÙvµãûÎ2J'Âÿ˜ˆom¶ej< ÐÀå)÷¸ä—ûµé03ëj‹&þ³ha¥þ[îÜÑÙÖä:B­Î¸S=psK)^©­ê¨ß1‹ÎªQêm`*)ÔÛñ´oÐj Ó$mEJ7ø¶ræ2l/K/"Ñ/0³­Š¸¿8¿ô1Ÿöv éÚX'Í~R‘OdÃG³$»hÈŽôyÄa›þÈžà`/?ØûM¤k~¶xoUdu`tX'–p¦OÄÅ—[ hM‰£žâÂ%2¨Ä° óûì7WCËo%2 †Î"hõ jûoªÚüE)MÛ®>Â[8M…x pä$ÿk”p’ã°³ýQª‡´÷5dÆÚ ÷ô[‰%Þ}'n^äî;ìàC¶Qfär0Œ €’­ÅUw—vËfÍ©ŸqK_Ú ö¢:V<ü¼€;ZvyyO‹P“ZÌ·´û§~xŽ4’=-dI'†™qöW¬½Zu»Êu®$o{N;rµËŸïYµêòmtqò¤¯ÁÍÞC%+Ö OEíȃöÒ`ÕÞb"¨2Ùj,øòk±®Žc>d¯:gJÚ¡Ò6 Q©Ma…ÙR£Ù´Ä Mýë%ç)3om0Ò¤<ÒNèjaÀRm¹o9÷GÐqQ¦&<8nöæX ˆš1†â'å:á- N·Z=_Wëy% AȲ">v7Ô1TÃîŒB£iîH”iD3xŠÉ „nÊÇCβ˜ó%Xue޽2{l¦drT’Îä5ñkÁ2ü‘n³BkÊj7 ·^˜·ÉFØŠF(ŸÆ7Ñc" $˜6§+ú‰'/‹@:¨‘ˆïÄÃÈâ©Y‹=xוU)¦ù•çl{aø>¬\•}}$Àʶw BÌû7ÕA öfOóû8uì 6d/ÞNkS!/"\cõDt²è1º­Šü¡/È•C§üëɨd‘Mñ<—Š&|6‘²£Ç›Õ>m§}S˜ãÝ";jËöÎ8`=£d'ß ñ·>‘Åv× gÒM6ÐçØ êßÒmÕÀT ®›„¡SylÐÌ¿$¥C/ #¦pÎÑ/¦N.Y@G‡êdý2®öØžzN§ ¤8`î[þÖ ¢ÛíH®—µ6Ö*zõ˫ɉƒx¾”yëx)Ü®^“³îÌ[qïd!ç™$ŠÀ¡íÄ5í’8 Ä»$õÄ/(…ôÂF•µ?ôcÐñ¨òt¡Ô1ûú´ ’žúO×d÷JŸ)ª=RBa; ¥‡ÞÉV •ªŠÝÔLöùœ—<òPÂ'ÎÉ‘a÷Iý(j'teÁRûè+œY9rZjl1µÙ7¾êVþ,€÷ ¨¦KÊñ0üûéG4¿æUj‡ |=_;-8’Z÷x%¶štÙ®9ø'K4Σþ’ƒ‚G´ZÿâQ ˆ »±÷|@¤½h±…§pvþB ƒ O1ðSÍûø XÅ”/ÍËÚÜCìâ6ƒÓ[ïïZ3.lΔo x~ÃÏU¦ 3kÞÅöûÖó·Vtð„¸Ë —] ïwÊÔÓÇÀ“íJ1ý‹¶QѸ8Õ}î (>ÌnçTNq*>ãoJX@²¥X)(¤¾b?a4nÞí%}åòV¬ù«”;*˜MB÷¨îézÄ~ûeû¾7œäá IÚ§–ã°Ú/%í´&®_W Ýïzs—Î ´5C;€¶Z„ˆq64:%Ø£…bœÓgü…§-[¡ž°5\Ây6¹1xퟗûS¶nWB&ǵßÁ–S9W0Ô€®nBÎÛUÍÁS‹ "Ý.2˜¾(îëÓSŸåY1.Ÿ’,ÈÂñ5œ{[æJ=âeH2æÒ *û—'•h¼r^ ‰zKXš¥…wV=ŒJ¶®/Q·pª&< òº/q7|ÆðI–/Ì!ŠŠég=ìÚN  4*¾Põ`ùgâ’ºãœ}rêƒQéŸD®10opäp=ÿFðÁoßÑ%¡~s}¦ç>æš¿ÿ±”jÓŠ•ZÅ7ŠÆ2fbyÐPmx ”«Àþ¹(‰Å(`Ž‘”x D#džp 1ƒÒ@DéClý³1\B1«Õá2Ï”gºÕ8–º)Ú`´i•¡AÆßn†›³¨h€`œËñ+±Á‚VÎk×Ìó„ÖqZ3;‰=”MQYã i;9…KW{áR­{ –bÞnKÙ_îJ*Õ·¸ëõˆí©Ò@è!Â[hÔÁ—?!ÈHþÀK´:Ô?%fCí³Ÿú_XŸŒˆ¶Ù)Þ*´-žòø³R”†hÆû:æ=µ<½;ÑJƒI0-õOî¨p VÒ¾ƒôäB»$øµƒÒÌ€+A‚%«áµ„Â)¸ùä,x\¬ÀëuÒðdËTîÑ+øK¢t Ë6½`a­*”¦RÏÛå·¥ì¦Z/ùH“ž¨;žK¥ãØõL¢q1i”ÿH²·Gù¸"ɪâµ*Á,w&7jÆ ‹„7ìÇðgYÑ…¢øïs{Ï /Ñâ°ªX„!j:Çuù¨9øÜò³T¡ûF”k•z…¿Oá‚b4,´¿?zñ1Ñ?“7€†¨,Óßz8_{ºoʪµÃ|‘-Ø…à˜©;Ÿ…ØøXuš”?æ v³\L‘á’ÌS㓃\ ´âŒjRkCìQ²—áÏ&•ê¼¹ðÔû^:'0¹Ò%ŠRïÆu {>IE ž|W ÁÉ×OÔ(÷@£Qà°ÖãG•’l7½REÌCe\«nÓªV\µ¯V¶ú8bóú,¡Ê/^>¡ëk߬‰Tœ"dÝ™4Óuô±$èÞ"h|Ê÷]HO‡¿ˆÐN'‚m‘Ö{aö°åŸGÄØ[í÷xF|à–ƒ‘V£5ëÌ¡ùêICÿ÷P*׎⽔–A>7’(|G¢¢ Pç9‹…×öøjEÕöÖFLü‰nbu̲ j&( Dhј¿Vq 6%ÅPÚÂôަ- ÅN|L¶?’´ˆA}$g>ÝÓ–Ç.Iî.{˜ÿ‚b‹-ú¸½å>šÄf9!E)fì`‰éaÿÉ]ïeÚM'²=Úe-Q;›Z¦÷m1sKëÌ0Gþ3óâ~ü è® my Ø ›ií=Z>N[4žRõ¸òý[”«¥ÞUöW`@'Æò\¾Ò¿©QWÝ|ò¥¹aÇHìJ‹k•1i ¬W;…Ý П^úAí3 Äv½‹ÈkTã•°¿ ·õ…ð¿†|‹ž¼s¯ÎâhÃM¼KäÅ#w˶ÁzVT÷8‚ØRªmŸ¬¿–£¢Ùû”Öœà¶Ô%ßÅn~Æ ßEœäдXåry;m`¢Ÿü(¤Dí1]ë’h¸kÑô¿4»PÄÁ¤¹]Ž;î·Î=iAÓ2òñqï³Y°I ܃¼Ì$P=jï"ÿWDjóX:i“0lQÁbJÂG±D¡2¦‰ž¡™tÇÍ@ j©rΜÁ«yûõÝ6FgÁ†{íý¦BRDû…k¡½Ù›0HxÿjU„zk¯v•Ò‘=0~ž^ËÚ:vâD´L¼ÔŠQŠ!Ñà¤ÏnÇVrn| ­Aci3/Uɦ€Û„²Gï‰Ú<¾£•‚°åZ‹JZMÚÎ&Ë÷ôØ\Ð㉘ój·=~Dw"áµ²Áf¯þëÖˆb8×›.#òÄ’& 8Íã+·¬ÓA ©&&fB«Ô"P³Úó©‚›ôI{.êWÇá‡ØÊ™ôÇ4å9¦õ™èÆöüµx°âžÛSo¢8|ä ~ñ͆Ñ]/ ¥éƆñîNž41ƒ¬mÄ7.b`òmê„R?3Á^ü>®’#E ½g|ø>p"³Z»Ê«èiÌ žÍ»™Aéô3;Ga¬î`v"! í Aq–ÐK?Ž÷wHH²郯óÕ DGw¸oŠNCº¬½LξÚyÇ©©¨¾Oê˜J߀¯–Zï¨ì†*ûSC 8Ýœâ K÷¼t]4åìØx›ÊÒ˪KÅŒý l2‹n,|nW‘‹ï|  ¦‘ÝåÁBÕØ‚y߱ijé󇎸7yifJÞõ¨Ž"@JD›¯Àhr”—ËÃYø9µ Ã^°Ñ°ÖðXÖ û‘RÎæe¼(Ò“ÔH ³®´e#r¶Ä¸,Aôùý,+;]=®*ïmÙW–Ðψ§#ßÀ¬9Hµgâ&×W(x¬Lš.}†¯ÂfºR(çj8sDäÌ®æg}´R’,Àê²ÑÂQ–#PŽìž§LVŒ“¥òk‹"e¬¡Ùg'!/V™Äl͉]#T+ŠgÀYtv– ˜óëúvŽÊ_F§^·KàØŽ2ŠÔÛàuà¾4FY°ž#Ü=•N¹y°±f·oéjè¸æÊþ0m?•’ÉjjZõýÌ“Sžç^Ź0âògú0l1H°ÐvĹùµ ýµljU&‹Aì6þm™Ì]-S7ðéß/ì6¿¼¡ùL–¹%ªúqgAOÁÒ{9bØ%ƒ7Ò{ÈO?©ÿ‘¨´žuñn*Ë…¸æe$@ÆþSRŽ^*èÍÏ\›¡×Å¥Œÿ溣աþê‡~@¡svå l5œåÕB:¿èîÄmŠdó0©ê™Ÿ ë4¼ÏÞR—ööl´.—Žæu%}¿¤Ì$.›µ“¡©e}“¹ñ¸ ¯SœÌÇc‹âF wÊÑ—áW_šSÅNiáàß]¤¼7’Ê^0¥pê3â„Æ§«Ñ6vº¦†'Ř!¸£¶žË)½_øÁV7íŸ fˆ·ü°Å¢ß|ÐÏœ&@mI3¤“ã/¹#D)PÒMVȤZ7‰öí–Ò>·ÒÖɆ££ ˜ˆ$œI0‡óʹÈ{‘´AoSª#À=Æ7ßœÚtâ’4Çößþ=QÇ—ÎÝnÒ9…>£×<.ì¥o´JE¶oh‹‘„T¥¿˜¡Šc=µ‡ˆbtfj¶WRXH’à¤ùáVáS|~úµ@ÊÐÖö C̳œ‘’‚}G1ZJ_Gá”R«z*5dd¹hÉ,âv}R7KýÎs†¹Tny“›*¸ìîÕeÛýàJ=œƒq…G<äDBºÛÚ§Â骾ÆHΔæ=üÊꎵ&^";†áØÿñÃ]Ÿñ¡Á®>À1hТºÕ2%Ì^^(§IdˆIå ðŽýO#wU1Ùå°úÒ’¹?÷ö›l iF7iv¡-ŠÅ‡ãÿêj+!½ïmR Ýó½åkZT;/0¶ÇIIØÞVïöû*»ÝsOTËS—æÛ»½m @µ11n7sZnÅ>¡CˆƒŸoäfæCF2XZ}LhOø½ö£¤ï…äÕn=œyŠ[ ØO¿¼£ûÁÏYá³ò=¥?Ô»‰wRU‚`þ.ÓZ„9<^ߘ_Œj¦`ï´s–¤—|6Q‹Å0­kŸh¹ítoèGŸå"íºé\•„®¦”Œ¬ùA)÷j¯(Íçù¼÷i’þšÀƒÏq%–UdR mº˜É¢Ï›}B¶­7Ÿ~jÈO÷ÝL½Ço‡AÔ›~ìiÂÍ PnY:PJH€û¤!ÓbÇýóþoê´àuñŒó'º’$DÒïe[tU_„›Å‡Mvƒ-çæ|te–?ûÛÓbU±ÉÉí8äVyÖëŸ6Ý7h‚>m¡ \Å«9·Ã!º™æêcÉþKôm1ÓÉ­C¶¼ßßÙöÄ «z„äëqóˆ¾ô;—o+œ¬Tf¹è:49ÎÜPÇo¢Âï©À&S? ÂL`›@×f¶˜š8W#U  †íȲI5çvÎp5O\t4_“lHwl´;ËBȳÁ}J1IsU6ï&ôž îl­ úi_ž%<(ˆžoÏæÝ Œà¬û8(g+„(B µ‰.¬ Ð]âiù9€tr9Hµ/Рï´jÿßÈâQŠšþÕLF’ž•œòórv*„»Ë¦l¦mM_²Õ˜‰¼Ë:LŸJ_NF݃|îH™k\º»‚+µ|å—g+»ÅCfÁó;ì·ZLؘ§ÀÛiírÉ:@˜¬h,kwÄ Õ·r{~û…莜"d…‘oQPCà?ƒÅ 0°ä¥5Íð¬ró·Ì÷òÕôÝf6LOKáEU96 ¿ž˜Xâ´”*è‘AúÀÐܘ?N@¹®9B9E‰|MÀmÈÀ:½ ßa Ås…«dNm[áŠ-ww ¯D6º¶aøê'F|zïøòMxÛ¡wtýð@.”v'ÑäºjíŽc„\øGŒŽÆP?hvDæu_¦¸\<ÉÈ\ÃÂ쿾 rÿ›{»w›ýI”¯ØG"òÁšÍ£>î†z[ ý-Äù…|²s¶ØÛÉŽ2ûIÿÜK£±ª.=mµÏË0^yà—oåè)òOE¢m¡-o3å=c]u<Â1MÞ¤Ø;¤X 8BEèÝŠÍp›vÈ—j ÂÄñÌé%K°éš¯D7ލêcgøÁMl†ûÓoì€Ëþuœô ‚XxuìÜ×}K¹åÆFt0X&c2îzÓVàBb²þ[²¡í"Ñ„!s#{d³¢ú£-Ïñe4°êa–ïà¸_I—°@çÈg5çè5þ¿V'H·²ðÚ8[Àû*]‡‘ÖžNòÌ–â<4b_x„É2Æñ.ö”^Ýÿ«–¼À£Ô¹è(6CÈžJeDãG»í™=¸ÞTû™ð’<ñ07ä¿îÚКqU°Q˜B64¼[7æÔ9ûÏÜ?FIbyQ5`§é¨Èåv,T–HšhÆh cTê¶Õ' ò±sëú½q4R¼$°¢5^2±úÔ¿Y¨ºÉY½ú3ªHNí8~€åÒ׫œQ½9šAE‰2<,=  ´¢ú5flw3ì{kC«õËz Lâe>xÎŸŠ£jIôµ_Ó[Ú0ïdÍ]›[nl|µÛ4žã6èg²cgoÎŽ^P]¡…. ‘Æã4§ckˆHM­æd\pHKší> ¿iªœû{ãC¹t[Á(Xßc’ŒÙÔ}‚c³×ØÄ -L¯Ð'–suM·ÝÈ„¬%ʧ;ëâB¥ˆàvÖXd8d™Äî~ñƒîå2/\]Þ³d6’ñ mA2¶ê7Ê!fZ6p(œì+\ ÁµŸ¾ïk,Lʃ_ö@û—Yú·­ÿžuѾú28ú=2ç† /Þ±?Ї~€ ¾·iögoM§f$­ünuñ 6?$» Ö3`ÚR#©VÃÚ(Ãi‚Á¿Ä|‡&˜…PAÚpŠ÷i5ºA{ ×á%Žóƒ µýŒº@9ËH[qjO‹nÝÓÔÌ{6SžN¦^±]}'½‡@@â4Ľv'•0±O°B>}° aÈ=r9T@åÓÜONÝ×ÈâçÙkM8l.³ý¸Aýq–µ-SHsãÚ×>“B€^$wïÖº¤ªU¾zÊÉ«µÿ}ÜrÄÆˆãuh{ç-ðqrÖ©|ΑÝq_Ûž}‹Î»÷ÑÂët†(É´zŽiýÊÎ ÿ×b‰\ë&oæÆßôÄžš<ˆÁ(…ž„˜0Ö­Oæ7Ô’Ç[é-õvL÷Á®ôJö«¹zÕi>p¢ùþuÜ÷RiÑzA¥»Èpé"ÙËŽÿùÈEŸ48òeÁnMq£˜ƒy©±ièRà— ¯‚_Ø‹g-âIi Á雊šó/¶§.¾PLuŽ, *Šðà™´¶ ^µV|‘ —)KјCA©ŸAz“=ÿ™˜¦Ð¯ …i1UŽÕ: ½/¨þW2îFHAj²rßFnhf­·Àú"üê@$è˜xD6w3Æ4âøtÀ_}h×bÛÞ¿«óɤ|*´)“©i•§ËSøª…Ø¡hÓÿì^?Ú¹¹Jëз ÉRòÈoUž*Ó{ ø9ªøŸàiz5?ÿ*Jø±6Ôˆ"ú»a |bZËVb?qþ¹Ñd3ÉäˆÃ}B” ÄžéðÀèiàC¸q¤dËös¬º ±T™•¶ÒuD.!“f¹Óó~  ‡8ÅϾݚ+ŠpçÔÓ6ÇiÛi3îÀ©0¯}VH¥”è×\nÍ ’™†1ꤪº&rI ›maá|Ô‚¤á!é-¿ñwëJ—MИá^‘;FÈòUŸäYÿ& îuF… ÒoéQNÌù©)WJÍ7“Ù$µ?0¬ë9²R›n¨[‡Ž¼Y6Cå@ž­( ÛXÞŒ ”G¦õ[¨­íB`?5 Þ/­œ,¶˜ ½×W0P]å¾4¿Æ×ÓßüüW]bËz2Œôé±^áFõ¾%‹èåiˆ""‹¡Êùå$ý}á?Éó ­fýõ—3 %­¥¡)m”n3Ë>ðþíÓonì1_ª´fqYôÈ˜Ç“Ò ‡$îæ”»)XñÙÄ!Îþ/Ï •´¢­éø¤¬ ]¿PÅßjÝuF\òªj·=¡äh/YÇÏ~­óSo¢{%wÁûI¨ø·)šŒN‘°_3n~M˜PæÀâ+œ ·Bæê+Ô~ìkîOl\v– bÎ •Ï—Â3‡ùJzd(¬~­Æ£füÿ$³Rÿî|XRcÕß©Ú3‘ÉIaåzÇ ”8/äh\à,‡”ïR‚à·Ð cL1þPQ;•önÆ|xecÉŒü¦±†u«ÝæáPò2Ÿ´ðO¤:h I#Æ%Ám5^ºoz.·–¢é/‹Ý~ÂA´êØðÜ'!WHi Ù—ÓIë ˆ_úâÅ}JG±6Cb!µ1)»™fž’‡Vèƒt0pNhtú¤5±Òð\cÏ¥i<Á Þ¤mõÑÒÌé‚1Iû;¶û¥Ó€ØÌ®ôÏ•áGo²ö‘± ˜¬è¤Bé¥ZK*„ ÄÉð»ë¹ûTÍ<íØPUy3EŮ㔺H¥x,e¬;(ÉÄ=ðn•æVr,„”€áèûÈÅNÞ´}nq³¼;ç#rBÆ Ë»ãÿä»ÜsRáémo6Åá\-¢¡˜8ಓ ÷Cì"6Û¤Mu>üàvq¯ôf¹æ¤ã¸ì¯¬Qlk>tÇ0Vg|â±…kg*ï8hÁ$&+ê϶+çÏþh`&ÙÇ-SxÔ¤¼+ð”M9>u¦•`–y9œÆåÿa×Cí‚1Â~Ãÿ_ÒêHÿyî¾oë×mî[kW?Ý–ý ú¥]Mü™Ò‡Ô•RJšGòl¸̹Jj’™TÆ>ÌvöùH@š´•;? }e~OâD,ïD 'Ú PX:R×y‡&ÕøH¥ô=õHÀo(8æuÁ^acGeèšc¼Óx?ÙÆC[„lñéË>rI¥›~¥x9 ºký÷¬_œ¾ö+¶F>Óvâä‘®é‡\ ä4´ æµ.X?¶‡{g6¨l¾¢„×¢|ûžÐÁm¯ôÁ„¦àG[ú>èw[æøç.lˆ‡|ÛgS ÿÑßC´"p¬û›WÓA,žVb "’› b8*Øæª’Æý ™ôíV‹‚h§ÙåAiLñÜÒjD®(ë–tso<ö½}í5Y9asz>¸lv.F!Òs ©Y TGa¤u ;õ¨8+GS±f €Ò ’ŠŠŽÂ¸£i0n9¡Tè‰r P{µ®k'«Í †BÎV?T>¯uÊ/ª·º0ñº¡ŒÙ5¯s–!éwåyZtÓ»…ÐïP¸\‘LU®#%Nœyf wôwa"2ßÜÓÔÇ?MÕÃŒ¥¥ú€­Ùö‡S—voùäÜS˜§|Í›PJð,^Z€½ë_¤ á×4[žÑʼY®¦jLïH~3|„HÁÆXVñ„7¡‘7²+k×ÅÆ)uß!~¥˜6ÌÄ*‰8âK÷y–6Ká¿O½GíÂ-©óâV,7ñ.½Ãñ "Ãp/ ¹ äOsî-6­ò” ”>]»¶t TŸ= ¬Êüõh_IöÉ»Jª†lÝ”EJ“ËeuÇË”Ì4©T%é!Ãôv/†îë;Å™?@Ï öžÛçÙ÷gʼEô«À\ùǃ¡¾{£…EŸ)G44÷X·©ïI@=î¸GÙsë?¼ñ/q°Ó7þ4Sr;(¸phoÑd¸·¡¨Ë‚æÎÙ,8Щ«\'É5°XTÈb?}õ—‚ØßÃcýîD:Ñ7à‘;2úFÒ–j™à­Põ§¨š’8S‘pg+,él"Q÷Ý×%­qm‘%ˆ°ðîGÔÜ:$.ÒbÌU“¢Ô\dû¿®Ü¿¥¡Ö]''Ë¡øã˜¾ƒëÞ¸ÓOQ\UœÚ[ìàÿCÔÞÚÑ<’?­Œ/Z 521öZ—Ü9ý(" ¶\ ؇!­÷\Åîq}yÅ–ZœöJKOϟ̨sƒ ™ÜÖÄ?2-òJ*.ä¿îñ[¼9F0» D'¬Zšm˜ÜäT8:±A £¥ƒÝ’<ɨU1Óijb…ôì´LÝ¢FÏ=d Çü~ê,O(M»x5½™#xiÔº´DÉÂÑuÑàÖ†#«î4îô¤ Øü¤R¡Bmøgúw?mî˜ZÒ îºØ4Qô<ÙGŸh´@ÐFq˨¸(Xâƒsgk¾œ÷!üÝ]Jf@ ÿ1D;)5¦>(ØIc«0V“ úç02Ô»5–PpAÕ9+ˆQ¬ÿXâNÄun#ù?rµVèÉïm kVRjr¾D‹éfÁA á0².÷4ßeÜäSLT«Õ™;.ˆ•e.¼ëÍ€ñç9‰Òµ|±_^ºë” !ì@ú>™µ@o^øð³ÇÝ„ºâ"»W_Š Æ€u˜C7EÙ¸Œýo ~ªvǬ¥˜ÀÓqˆyHfÕ†ŽäåtÑ_¬Á\C΃R_4_ •©¶Hc Ÿ&=Ðrè„Yý›ýWç½,,¢pA(%ê´« ×¥Ó+d§+ 5õ¶ ›¢rቔ© ·ª¤µD2Пn¼˜n Yÿ+ÿ/¥YÐXX°:•<†6Û"ÍuÛô•–%½é§µu±Õ±Tž¸¹˜éÒŸ„ ÅÓÙ׫’|ê¡ßÇð†ÐΕ®'w²8W€þò§Ÿ¸\%Äfè’ýV-ߟ-o·nüMš% 0.ÏþÚsϬŠÅw[ ùÌb~Dä&µØRñuKÈ*Åö]d¾Ý+àý•åÐ×à”vÞÊ;H˜/ ©²pIv¼K;-#–¯š‰Î?ˆ“p9´ðÎËÌL¦#ú)E¡ö0ývŠæ™(C‘3`ûʲ—í”ö}öeÔ©w¾UÐj>Ê+»ª¹Î½&h³NÞQìçðLí7—¹@^‘„“.S›îë’¡¯\FœÃšZã/Ëu€w…¨Ÿ0ÔŽ:ðsw±Ž”v*yŸUÂTù¢çv­c:P¹YV¢Üa,ë¡[Š~vHç8…˜Z@ÍsãþïZ!¿˜/q.B'÷29o“„E+hïnþešüŽ‚»î'8åqh¾•)“Ë™³ëf&C¦ î} >é%ý2Ï1?UBê¿ÞMomB ‘l6Ï A|ãöt C­<Út€ª+Ñ€L’KÝŒ/[¾Û=ßÓ#˦:] 1e{>:5@zE$Øáð752sKäXʼnÁtQ¸D7ÛNõHd…3¨„”NíZÛu˜…÷´œÐcú*å"ßw1wC×Lä› ¢Œ«Xºyö‘Ôrp†îÒž@±BÈÉ„f-²2)V ß¿âð˜äEEVPÀ‚c×ų`ÞçLS7q6½Åã ’Ÿ¤]œKÝÇ\™xƒ¦Å†jGég¸&ÿÍ'“ÂH­sÀ´»Ž…®Ï ¢k¢[éÙo Ÿ&ed¨¦äÓïçà= æåuc@âñU+_ X‹xt‘öƒwZnµïê$¦9Íân"‘)WÝ$XˆO¨»VÀ<–e/5åë\˜4¥Û#à™xZºú£5·©«„77Ùè½¹ ïÉý‰CÀÎ]•&‚3¥x9£ƒ–euî[‡A)0Š$yS9d#ó}:@fyŸZO©™±KÈ~ÊS÷æú –³Ž™vðIE‰V 8ØI»èu#ñ4Á7Çö=qŽ’Ôi†ujÅqã õö»ý®Û‰Aœq€–z‡襁ºF/’¡Ò’i£Öh•µÜu=ùI7xË—Xt5$ûÅFƒvqµŒDœÆ6î@¿ï±wÄ6ëy‡ wÈ' _}5+X˜þ˜9†•0ApŒ÷tïꙋá^Ç.¾P»+µZüû¡xðôömz޾ïM0ô•8Dc­¬LüM°Kî(‰H'0V«x˜I/LUÞ¯Ó…S‡¢.9[’¼jl‚=k„& d2´¢u&w#A£p{¶l×Ì _7Šˆ„PÙ„WC#ÜýSWåØ áY·ªlè¤Ì°ÞÀñ0æ*B%’XQt´ß±Ôn€FnÎ ÊEþ™B.¯‡ZËT|±½}Ì>Ãê|«€ 38h!îMVà)að ø²Ë¾¼ ÓxÇ»GµØI¤ž>ºOa¤,aL¹Ÿ¡ÃÓZêN â`+êgv†?ò¾ÞÌ}ê"&¼«L°¾-•øÑÞÈ€¸ð¤ßØÑ{†S,f P Oà’ß"éiĤQKuúy §­ÑGÛõ=Q‰5[gÎâD¹u \œ=™>8[ݯ¯õž¡û*±Ôåh¡¨ÇÕDnAx] êΚh¦9¾ÆR£›t£¡ëœŒMÄrP‘AŠZV»²ô#0Feñ! ^kh¾tôÖ"žäál´í×Ò»µ’Qô=Öò)çñ5À‡ý€ëÊ‘¤Y‡¯ ‚À$žÛ5¤†@žzòö •÷¬õZy¨Þ¯Lª}_9ÆCC®7;~ÈY8Þj‚ (»D6ü(×£ygSh?ÊÄA(±Ýh.~Púº«ˆ6S2Ç?¶|øªˆžºî,¯ vá8{:¿]‰súÚÞo˜xp¬;•·-)LºM6ˆgU´ðžEc¤Ýsðe¼ \—óAC„pbÐp‘Â))7‘ÜI˜Ó2ÒC^“• ]|öžùAŸe€² ä°+ž&TÇ mÙ§2e>üi\šK×|"Êo-@ÌWßéwC¥Ÿ;ƒ'Ôój+Q˜›FÚƒ©€rÐÁÕ”<è|Õt^ñí1PBš8­ueÇšòhH Ò\'p6¿WÔî¹#÷€Ü7ÀµÖb5Ki1¡;Ò¡³¡%nZïöç$éžÈJ_R Ø0 J·.œÃG®RÕù››[kdFg ù³q‚…†W}ʹ瘺«~›Øü‰„î’ËEhcÉ£ì¢!OΑËÔËC^Uÿ[ðð4H=È'iô-Ã*~•õr¶óÑMBý¯]VÀH+é´f5|]±§ÏÕ4Ãã­ãçb§Ìlˆ‚à¦ÌB÷fwû€›ñk‚ËX Ó´7P¹Êâ)etuö…t ãû%‹jp¾JÓÖ†WY«êÕΫ²Jý$œÀèÓÿå9”™Ö3š¬o#cuu:íø Q=-4~Ÿ›˜»d‹Ê'Ý3¾á5°qweœÅ¾Ä–¾r>Ûþ”î@üye{ZÿRp“©džä•‹Á©ßœûcåp®v®Âƒº‚é<Ó²·Q¬Z®S›9çYò:Þ¨è/Àä¸zñÅ>ÆWåØdpÁâ '° ·T{^9_±Lw¿ñ5ʯ#,4 1åÒö‡üŸT€K†z>bÕ{M ¹ñ°{(=sk&¦ÜàU,½”¦9Må^¤•›nƒO½ñ¸ªL?›†O¡‰!Z®V.𢰀دU¯ý$ÛKËkÅÖ1°3ß1_(¾ ¿Ø Û<Úõ50Ù'ühqŽX_¦}0É@ð´™!a–]æ¾Ø¤Zeug‘XHÓ¾˜o出Ø×eÜŒÒqq“"¢ó…,'Šñ]ßõö ßjp=A™khaA–DZ³áŸÓÍܨ¬™o%QåÃTï¯kL`ôæç34œ“ßËî*l÷ˆ] ˆ£dkž=%_ÕC»E‚/Ø+§˜Eÿ•®Tc@&ÛûPȋߑÙDB;`>ªzÈœyÛ'üSë“IF½`çòs!ŠGÂH^ †Ò³Í¿f7Šªa/`¿tI¾[ klœìáóÍSuâÚEÝ‹ÂzÉÄÝR­̬28áô8‚Õl)HßKqF¤Yªþ½(~W4¬òöåëS$Ñ^o-.-ÊöÐ|¹{™U!‡W~Wé°ËÛû äáîÕ¤…cÌ=úèô¨'fVƒzØ¿•1@j›†Ê@áõu'eÒE„EÄ?wš~àOÒx»DòR ´tþ^/‡…I÷éŠ@l¿ðŸL° ´Lø"Ô¼ö§]$9_E!§šš_ÌöSBºÜÕVD¯®/|Ì¥‹ýGô+sȬQctÓšÉ:í¥èwq†cR ¶F£·Öh4›©<[TI¸up½ï!§†ÕM¯œ·Æ!˜¥N¸ïž0B:hÓ \U£JJ·_³´5ãG”šRƒÐÈ+µȿb‹ à»û`Ýœ)çÂí|‰B~šÞéeÆfª“öÊýœ³;¥à¼¡ûŸÔöS&Éa&ÏAÙÓ±kxc;táæ•Ц‡¼ïYÀ°ô @å²fÌýË‹ák°²o{|(È-«j‚"€ç€¹@ðeQ=ê5.±f{]é¶?à'ž.‰çghw-1?ä«ñA—MwG1#ëC š•Úkä§çÊÂ`fÅšsCf&°Ç wÉ8¥o=—` «â§|ÀfðºzUpÆÈHóˆ3e,Áž”Að¿’E¤½,O>bd¬1Õ_õ„OùA(«šò:¬pó|,9~|,o½x=g¹’þØBQ8 Þ|–û€6UþÏãJ¥È´ÇÛ†b;çmŒ^Ì7„{Å2b@Û †=ñÈŠÅîf¾žJJDZK9h‚ß*÷ÏG(GÕý|d4‡8;XÿïÞÿ´þr˸Í^£ˆfYƸV#+‚àLI  -‹F^Ómaqîý‘]Ó>üÿb¾‚?iÎ1hœþ+ŒçhÛ¼4[1‡ ¾eÓË¿-)œèüÌÝ)ÈX¯î¨Ú6†ઠ÷†„Hðpõx %Sç'°»åeP78åø4jlñR=Ë+ʹšMÅNA÷Áˆ)-©fK.BäipSœQs~˜ë|Í®Íäû×ÜðÁ˜+2ôM›eˆg2ø;å°ÓýØ`ÈE@\<‹±'P#«Ùd”=ºÝäŸZ1€¢žàê£u”ýU‚s”'àLjÿµ¼î>hFÂgÝ^õ·Å¤¨q‰cîuê~Añ‚¹¦eÅ©â0QE^©¿èˆUÆOMÝöúuzl&8²Ü<›yLbüìrê«4Òä[5Ý $ÁÆæÙ6&³-ß“ IÞCMYÙ=ïV÷$Ã[¦‰-ÂY aLP>þåÉ¢_ä§Y~3Þ•³Y‚ðn‘ðQQ<†«b¾éã¿çm9§D›£á×"Ҳ†bs¾É¨yg¨glTu¥‚RO¹–‹5~a¸$7ÚT€ýˆˆ_}Ân:>ƃúCSî4$¤ìôiá½V%d=aŒÁ~l-ÉŒTå9êñ½èIÎGׂƯ#5àm_ ß]Ì〇ÈáuU P§çHpj·Ñ³øCWÿ|½LÓ׳“ª•¥…‰ÑïÒ!L‰pEP‹ LñGvë7ˆ‰òMo65y“,‚Èfò"¨i“§X\YÓú¾ 2 .î+Ï•zņÈD¿ÉNÏC <”c¡dÊœþ§ÎM{æa7¼zwþ€'y[:xú$«t­aeViŠ–Væ_qõÇè>T™Uö(,šh!6‚Ö…Kðↆ^·=#R¦üg×›â èª¨¥âŠGFµp§?4G¯õ . Á^ãçþðrÞäü¶tZÊýªŠÅe‡©Tb ú®ƒÕ1£‘Åpqoa'*Ñìã€Ï6°´_|¤Îp²cÔ Íœýá}Tœ¯’È ƒ¢<@Š>ÿ‘#lTøßåÂe¡ÊxËâNlÈ'Ý“ñý‘ǶFîe¿dJ ðd0¯ž'çþ£ž¶° ÀåÊáÞ[ð{ @]kË™‰àxÀ:ÊM«PøMßü@uv:AÃcWýFE1Ǻ™Ýr/µ©÷ªé@ [_ê°ÊK’žD›ÛæOö>‡û–ëg¿TÃNÅ÷œúÏ|˜4(’¸‚çýUþ ä[ßm;¬v€xŸ@¡Óxß,ÆR³¢½.¾v‰ Ý æãÒžd²øñ\»ð‚$”oàf5¯ ØÚ™úCÛæ°ØNšöãÌ\¯»Î3s kÙm³Ú›£7¡”í7-\kS´¬nšB\XЈ„“Œ[ºÉ[⼡Q2ÓÖ\qdÞ±Ñýßé$ýÄŠKFÛ”e£í<è´o©ç(°#Öõãí P´ßH˜|*ÈžK7!‘~P ¢ÿXùn¿¦ñjS ¬g÷}¯Xj .†õºîCpÌʤf*MÇpû[†údîzÈŽrÕ‘Ô$ø Ï?@ކ좹Qä• ;I&Õ¨XÍy飺 UÂùD+Ióó¼0B Ò -=DãûqÔt¼VVõÔÂ`V†6»œ1ßÙLÛ2íðlå+ÁŠëÀê®óaò3sµFu®GÛÓ;K|‡cà"êˆ'ba`ª1_`ñ$®+'^XŒd„gšßÂr×ùîÞl„‹}³uPHÎõî%¾gnƒ¢ 0‘«TÌiS빘g{‚ëü*±B÷„žÊÝÂý¥Qk|:f|b$, ùœ•vÛ³>9Ú+ºD@LzÅ;à7Ùr)î$ÈJÆDï÷Vÿ]\CN>.Ô(ºF²ÔIuSxí fWŒßûÁôHƒNsÛÞ’ Z"±\~¡.’®êY¼«FoAúÓ1Û¸/×Nòö51‡Z}¢-`áâ×ÈùmdS[$ÏÒãvÂ+M¯‚2<Α²FžõMÃÄìÂÃ_Ü »™1ö£¬SQ Ä( lK"îóV–Îyü³¤z(Rs<Ôç¶â94íH¹ïQ«Ê%~d$ß÷^uˆ¼YüYTZd¯>~'ÜŒ\ovcÍ— LÎÿÆtr¬õuÈ2žâÕÔrü0eº$.Ása¡ñµ{q8rTæ$YžîºcªÜÔO^„?Î/êÃ:¸Šmï­˜A…(òÅ£qÑ ‘íkt(É!fð¥R¡.ênXG}¡ðFム1§yÕ-®ß˜‘@žÌ‘ÇP<_ (¿±fE+à"ˆR>Üþ ذÂv,”ä¶XÒ÷±Y "xˆÆù<¹GIº\ºÛó cÎoŽQ0~Ò °lZ ?é¢XøR­ƒ,BS/;‡(X„µt¤|ÝÓ„ë!ÛØJ˜Ó(“RÁÑ x•‰HÁŸãÑ\ox W ÿY¨œiýÊ÷È—ÌR$bG ãÏo³ß&„ü >N°³Å?ý}%‚É>ˆÏš±F‹%0Äu`OelESõÇË-«TeùÎnÁôÊKªÞ|ëØâ ÷rQ.µr ÉEGA&åèpܸc¬j™O¶‹V ò«r[Ù¾Ýo‘Œ-W$¾/^.ÌÛ7iPÒOÁLð?_[&ܶ¥ï«Lm¬x¤ƒ\ £ÈÜ `˜Ö’]VÑß*÷?¦Å-ºD?#•ÉYÃà†DžoûÓÄ ª˜+ûFvé+Ò—[ÔµžÁ3=ÈÞÍÛÎVSªòÇ¡B:²0Ôe~á‹ÅÞGKÆ ¢óq$/m'r±4òĦK‘܇³‚'Rðb¿»Ó$D/Ò^7³ [ÇSŸÐÆi–å~“AÐÑE=¡#w@×GÞ÷*ÜOÓ0Ä×·_÷°ß7¹ÌUñÛÎÀ:=|•Ö¦Û9ÛlÉzßQǘ{»=H¬@‚d5ÇûÉeµ4Š${x1iêÕKu* ëÏø„=¾ J¨â«ª2Å«‚¾F‡$‚úcïY›˜`¾Œù.@+‰g8ùlÚz|C[=¥tö~Ì~å¦å$ÙqÀ¯éûSF݈æeO’„ãÎõϪÿ 5Ûð–YÀ²û=rw«šþëK^.q`—2ÇÖt~9¦Ñ\RéTý¨®ReG 8 ¬”mÁÿ[Kè}ê“8„¤ägq;£?ɶÑö7.œ´‘ö…`»þïùRºøâ$ßíìÈqkßS¥\‡U¤ÿÖý}dä33eL‰}¹AÚ5·¸³ã^wwI—‰ôê1(nîƒnA”díBã!Fï<â¿ü­+{¶{Þ—Aþ±w€~³PåÔ¸7FCWmŠë_òrç6ÞpG™²:Í}ŽÕ p¢kôÊ¥gÎYNç«õ&ÇIæòn¸ èJg à°¶xJS X ´¦rvZK·Ö6?8ï-Û¢]dZæk ø;Ùs „Å üzh ü»å×èT­«ùj{æ¥õ‰½ÿâØÓ‹üfrd}Áû܇Åý +ëÝ(0„Iuê¾ø÷ƒ!’¥…¢  î£p NAâîŽ&É—ÓøLíq8总SÏ-Á{Hö¶…¢|?cæ|aûÛô)¼²{ƒÏ|ê*=Â$é<è2û5w>‹:<͸:9€®N¡¤wáÛCzÀÑ‹DU ÉÃexpÅOl·­Ïöàä(†lvÄ ¡X*|ž—³¥£G«$¶Ø]É€û è93‚°ñïV¯¯ò& ÝõŽŽ®Üv3ÑýàÊ}­èkºÊK¬èW…FE¾<" ú·%‡­ÞMZXmœ7õÏåÍü¤éºoæ•&E(‰ƒ8Ìî߆¦¬ˆ¾p…ëÉlÛs—Gb7Ô˜3+¿Yß «Ø‘sœd)&Ì¿d–÷?mTMRÚÎ5…<’Îöo3q-ZÑáW‰‰ ÅŽK˜'c ÉOCûñ®#jW(h-c1E“¤ÈÊ©a‚M\òk–RUÕ6ÉÙný×ç‰Êë|èP¡ ’d20Yjƒw‹‰F¾µf8®œ«7òÜž„iÁÐ]6ó{¦ym! Ñ,ï4Š{çXÄ,­u¢ž©àž2’ýC¸?íºÓI–ô^LÒ˜âÂßòŽÐ÷:DñþäBæ·DMÕ9¿¯ê„º‡YÊšÓ,ÞÐc²tB–øÃºëaØ™(kF:0Ø‚QÉî¼S¨$ ,Æsé#';s±{ðú`/eëÍ€¼,úž‡tF½ë:ø.æ<ÊE`¸ZßìwwÎ8ˆ¾,7 ¶'4ƒ§Rn`¶1 +[nN4WÂ.†Ò0ñ|Nýðˆ°æÙðzZåly`ì‡}pø˜Qɘ¸~zþ£Ë’¸òÐþg!7ÓoÛö½ýEüΦØ÷,€­ËlÉ’ÆViôà⤚åk…Èe •)¿+&^šô…)T·"œ”SF‹#fÚ¶Á@±…¬;õuZðÇd{5\½Ø^žá¡ó^J’È;Åø^Û²õr/$‘“¢˜,ŽÃŽç‡j÷ž¾73må AáíѲ®¾Á]*hÙ»Åè]·OÖ¨tÃöyDÃÛ ËbV¼ZɶIÏ ¡œ§†sW’ÀCá.µÀ'„‡é=Ýj·=™ó¤G¢ë­òðî$ÈŽ5'‰e}%ïL/òWmd[BÏÖ·Ð!ó;ÕÌÙΕQqÙâ;&EK6VÔ.'£ {Ò7R¯À´/ñäMt–ÑÓ?.´Y€”‹É#§ .cÓ.ÿ¼àV»R ¿ÀsÅI)$“Si쉒ë]]z P‚C¦Ÿ.eH“ÕéÎ8û-}¯œ%ÇÇH4[çÀÿu °LÄ¢Çö5!„›{;Ÿ³l¹¥[A;‡´ŸßÎô2ÊÊY8Yžvae?­U)6aÐ ›2ø.*+ê?²Æ1’=RØ€0ÖôH̹Ùðñ­ù„•.XAb>á–( Ó§ú·±i²ÉKóz†B"™iGÒ‚Î1;×B«ž=_;ýùIu *…ŒÍN>W›_HViŠøË齿+Êï0d 0îéØÅ¢ýß|žl|L8úöy"²Æêxn¬sƒ·Äö×oÌ2îÿMõ»ò7ó#ÕºµO:ødÃÞêmºÆ5È­¼€¯ S”Ь £¯0·Ê¿°ªO.ZölÁùÜ1½’dDòð!”ª[×)ŠM÷ßvŽ_[d5Ä‹øº×Oõ‹•9¨æY 4zð´§N2­º™ÑÃÏTiÓíÖæÏ˜ÌvxƾQp÷÷®¼ý½óÅDîÍ$h߀\.dfy1Ð`Û/ƒ§Ccx}Ó#²î |…˜ÄuLö²7ŠQL!tˆSq A˾ºPÉî_i#W÷¹Ô:ÀÀ@pßÕE¸§þ“ z/‹ªo†XGÓ*sq]åj|éEj¯•|ªkaß ˆœ((ÿκïšÂT7S©ª5iLjýu²Žƒ¼Ýèî‡ÛöR$ŽÍ³ ½&S¨M+…wúî|Ñô6É{Ë>m>¹S´öéÝ–»B8E)Þp–Ék±¸¬1»„']b™{SU¯­*³>ÐѽïshUÅ1ÇI[´1WlöÆ:&¡Pè(‹¯õ³ÇÌ0eŸpä›–ÔYìðægÁÑ[?½Åiæö‚}„8ätM™A&E…::¥% d…OªPM•š¿Æë™ÊÒL»úfÃå~Ž=ãþ^éòÛ¿ó‚´¢qYžщØÚøsPØÞ>?ä3;v§™¯š± ç°‡V'‡ð!‚ñæðãÚÄÁÿsµ'{÷¤W£@a+kÇ£®^ˆl̽<ñz•x•Zæ®)õZSF ~)¾p¹, ÏjÂ,ݬöœ×¼MŽ<_8 þ&‡£…YÓ§ÇëIZÖàD‘3ˆ v©’dßBETœÔ²F…O{ºß;¯N•"Ôx5­ú“‘ÏïfN47¤ xUMe©`ÍV-3*èHi‡_æºÂó­P!º±>ØYÔŽ¢§v9<ȨH%á¤ÓÏ+•jµÚ9 /hü%upªA¨zéúÏð²J«äH^)0u³Y{½ŸxN\œýúYR\HI-£ãsàAo ´ÏÄw_a®Ím OðCͨÄZYù£V6wÂpîÇóå2œj“j’ŸÑÌ\Ú%p+KBËáQôs)‹@Ðݸ3^ZÆ=;Émˆ‘uÛH_}wy ˆ_ Z©,Tˆ|Ϫ4†p_ë⤌8ÄÅOTYÉ5ònu»ìïÈgž¹i€8—%µ~²ÞC‚ç!`m+¼hÅ•yã9\R|îMFû ¾âR¼"™=ˆ’i²UáŠ4©q]1Òc¾òB†Ë{Äs! .ôb¡ßC¤¯/w^÷Õ„}p1Æ^‚±p½´¼JP)Ý'¶*ɳ6àþ!iíÙáâ²MÒ½^§€)u¦.¹nð¿·ùvƘòiNFñÃfuÖVø5«ÖþÖq8ª´½ë/¸u¯«ùÞp^cË)¼%É­ó5רR)Ö8׉÷ˆ²oÜoŒ<1ˆã™¶‰"lÍöe’=ÿš‚çiÑê‹t·ØÚd}¹$¤›ŒÚã¬ÒžTg»²AD‹¡Ny¥Ï(NÃø­–XéçÚeJn-j´[ãœaÀ0\¥ÆP[ðÀĸʶ|ÓoÔô"!Hô©†°ÚaB~%@‰.½W=m±s>îwCu€v7\s“r@(³¹‰p6¯÷ñ ~£õà(ê&'µÍ;<×ñPþUÀ1ÎM%ðMFØØKX˜*%c{–þC €¦à€Y˜Å§Ö‘+Ûמ׆Ĉ™bEõýÑ£ñ\ݺæ·ù*qã¯Ý<ˆ-¸ÅrÖ ™2s÷­!×È ·Jš|kþu’¬{tœŒ¿—,‡¹!V6Ö>z8xe·Ä«ÆDpE¶íZë ($jtI¥mâÅpèÄ{Ä…$ž·>- ý…ŸßmÊš9Q™Ê£¸¶Z䄪@Þ«Uýd½/PrÌ’haÌnÖ_ÖØ”¦ÿYðcåuY)_v(‘=3Bù¼#xœv9Û3Ý,€Î@0ø‡ãWË•ú™n.¦ºÁõ‰3 ©ˆõÒ*ÃŽÒmð]È:6VgÞÕ#UB¿û~¦*Vð-Òí`tEÖ#n”7Nº£I‹À R† œë+Ÿ°¤ÊCM2šy0T)®üÙHô _þìyÙaõ¸P,œýMÊ~9*ú­)ü.™ ”û£ù´Ó³=#0°>fS{Ä%i6ÍÝ!ÃæLªÕŠW®(Æ}ì-’ŒÂý‚âÌZNYtÀA î>,MÊ/®ì ɹudúD‹lZœãøÀ~(RéªRÝ2ÉÑÖ¶9FOP=þáÌ5 δ{zÖ¬¬L1’òãÅÀx-QP kÕo€O±Eùa3G솲 1Lž;ÃOÈ)¬½ã|hƒnço6ét׳ÎÞÐ7õÝ/м¥•­Qvhôù[ *cx@ð]À˜3 v¨œ|–á(Ù‰2z%Ç›§†Ú¥lü¦ääÐL»aP,ß›¤Ú˜>»ähÈvV¥€|=R²œ&L¸¸%RN/€h±%ÖŠkOI1’Zp«txnO¹o)œÕoR ßéKbL°# è«Iº¦ ÖÜ6º‡ÑRåŠ^“3¼Ã*•ï‰n$)¹îãÈ%cxǘ„É)…ËçILÿc9Ïk3q7Q2Àó%£ÈΚ!i(rÄìwàfÿG'ŽyYIš¨öN(A‘™°Ž‚¬ÃÔ‘†?Õû?7“ë݆$©´^Fø&wáeL+éÖŒÇ"ÝÑ™Ù_HIý=h¿¼Çd,T¶j¨@õ=XLÙõµúÕì¸íýäDSekÅç¶5¥!g†ìôÔwôHIõOÔq tÇyšî™¯ÐB™ØlF…™cHÝ“À¨uW÷arêÇ«bž1û¹äÿ yw•e@íƒn ¸ãY“ȆUzk73”íöýèBfJÎs8¿wÕ3ĺ44qS7ÀòPÐoØ2¯Ê^÷69þš`ç›Y;È?·¬¢fŸp¾zR%Úœ&!½`B:i…z ùºpë5uÈ3ÊtUº‰ÆpÛ´•¦äaªRqâçØzñÎkÒÛZ„†æ ?]°˜*&fo4qÀ¸K!L÷š*oœD19Šp3aÛ§="jm³ç»­Ð ê…gŒÎÿ4v*AË%žРh2’b^›²fAéh/Ê5´–Aî&ÃB鵪áøí™²Â:voŠ Âx?"…“21oËÈ#ºb¦Fÿ†ÙhÈ, -ŠÛ¤+W§|ÐÚ…‘>Úì«ãµ~¨pªÙF¨j¸“úC#»©Cz‚<™+1X\­aKü‘JJ%‰07ó ž0¥vW¸ö³@úÈÙaÛ<€µjO&» ÆV„š¶@â?ªßà[oôŠuîÇ.,z3›`VJJðcŠ f4'©¹Ž2ñTž‘n)¸1± Jˆ³ )þ ´2ŠÙ‡-ÒÞKn}¢p¯Š@&5Aù¾ØÉõ–€^ùFÕºÇjUk²‰˜b;Ý5A€¾[5©ª™ZžÈOyÔœ—£h0@KÛÚ¦ªz‰aã,Ãàø†½Ô“ö|é7bÌ,eØŒ“͵!‚% ûã’™þº`àà,(^mð“kÉ“´™oõX§Ã®òâ:h®Åà¬ß>ÀÖŸz»(xß Ó=oáØà‰Ë”9ÙïèÐ.½JY+sq'y‚ÇÊ©÷F—áq¯+ßo®› ‡ŠåU-”Ī…äØyQ’_…¦šúÀû«$-â&@wÆÀ'ǬŽSWº#Ë£%ŸvŒY©­êåðé¼ œ nÈY¹®.|LØ-=?x#p>•| µ¨äÓ’lãx|Ô*¨ÊŠ“\aYT˃hçpDáyªð¿h¼Ëæm"7E¶˜$öòço¢í]0˜—ÃâŒÝö 7Ò6l¿ÚEMŸà{"Õ2„®T!8´“ Gî˜" ˆfŠZ¦]èß"2ÑD l(){Ø@±tnû•\Ôi„ª° ~©zPl6ÖX::];25§h؇”u½5‚`‘—ûé_ñ~ÀuWé(«1žÆ#ïÇÙߘ“ÍÁŠSnÎÓR÷ëœ`ô?dÔ/—Îè<ÆÒ܃=¿bX5 ¿kyâ ƒÃ-eÒ‚õØr<ý9Ú^¢Ð’¼äÞ·[$?LgåßÕ"¬v×ToÖ»·ý¸œ–5KÌ0ºç ­Éιf©ÒP[ŠÝ× }«"Íóë²ÌO™$«É#fÿ§uô½fªý[fãxJ‚Ô+$<¬È)/4d“I¢Àú¥JÚl\Öó¬«=*•‚| ·ÒxÔ‰I:ÒÈ@^˜¨ÂFj•Vˆ«Øh°ëœ­¾õ\>7ëm ˆøÍ7¦K½ÕÞ¢\/Y’wØõW8áAÔï@R²}@QÔÝ ²>À¹‘ðYÌ¥ÁÇ-ñü’'µÙÉÆ$NÔîÝ(DI¨À¤NÆjžq<ÄL‚5ŽÈý$YÒØkL6Óƒ¶Š2‡ï ö˜/¸j 'Ù=³¡ú–¨©~°lK÷Lƒ"€æ2•OÔ'\1>k‚¦ù€0—Æ=‡íó¯‡EPÖ%ÅÏßy‡äIéÇa2zô©ýí(¶öiú[ê;!¬át:¬7£°Õ€!rºtø•„³y (ø+mqSŠŸå?0QyÁ3aLÏ«mǘf}U´a ~ê=‹ 7ª™ý¼KãMÖfÒ½ÙÂþ«Œ¢M'`½!¨XtïÔ|´™†Ü>ä÷ö")—-õ™´äã«~ãü ±‡IfÈAkqì??Öhʤ‘¸³5|áúC«>äY•e’‚OpWˆ(›/ùvìHyœ[5òF€íekךk¸Úš+'7Ô ²Vâæ‘SJË Qð¸ˆ$8ļB|·ýbN #dz1PSK¿ó,âÁ3OoXÑwðQª2-£›éx¹EÞŒ†(!À LŽãÝm|É·4ã·ÀÔ¾;™`I÷„E?))økÓpCñÊú¸ BÝá 4w3àÎnŽ.Ý´%lP²I‹^kðÈy½ÝSŸùøÍÕÒÇ:°L™0+Í¡ºÆ×eW"øj† éU5F’õz¼ mw@†5µ˜âyV©´·¤^¶™áž•ºî“§G¶§¶Ê”P£bÞfv·C¹2i ÑO·C˕ҥm¥Þ†aÃÙïFðFCXÞ£d_§7¾Þ¡X¹·jÈ¡W©ðÿºkUæJ¢ýqÏ[ŪE”¿U¯Iw¥'ì6ä¨êZ*MÞù§âLÏãææý «ç4ë…¦æ<_'mÞcðŽü×3€Åvë/?ÔÏ ê9×AõÔˆUu™3d]†·Â.ÏZqŒeïÕÁíˆÈ5ÿ9î3L¦É{DŠ$Td‰D§›ðê[¯ï?ÉFù[& ëPŽ¢ò^NkX°¦‰ t1Îä†,ñ*Þ^|˜€â‘=ˆÖý#vjÿÈ[èxÀ<8yñEꤨtq|öl›}qlæ|Ùãv¨ˆî$Lþ™Gq„"CAv 3üVˆȼ˵ù[¨ÓÍÙ$µQBñ©Ð\Vw侟©ø[Ès³¼[5Ì4BƒÃ[E>`+‹ta(q1KPW:Sþ:‰(ÿü`A©ûqßCóÑá«qêoÓ•—ÍCW“UЖ¬Êª3 ü!b¢‚égä'û~×»?£~ü0u‚£û&7{«4jDN]l×=Sïñ|ÿ¸ÏÅ—ÀmcéKdä9ö×\ìãë`ÉØ»ýGþ4•t¨ðvh´±•~^©d*¶9!–èv Ðeüéš³ýcìbí^Á8^' Ü*H;ÙÁI†¤}Å¿($Æ)j9m¾Šâ壷³Ô×ÅÓ„‰7ÚeÁ;ºˆ¼×J!Uë…ÅÐtJôš‘Mxë àûÍÄgüëÕÝ^z1ˆ(úв–ò§ûKI`kÁ ; ߀¶…Åo=ë žÑ7ú¾kÝmõϱ(èV~®u^¬‚‚ýl»˜—l‘!j†$ø½õáìˆ0ÉEú:X>1=N¶%kæ¢í`ÕjJ¡/HÓ‰=ž›=Îm°‡ËˆÒ¨•å™ $¹:`P/mÇYxnÑnuÁßÐèÛzGÁ‡²c¶ŸÍ. MW¶ÉZ0ßoge}‰öøq‘5hc¢fü´¤&‰ÅÛ¡1øírÒ1ù®-!GÁ܆?]w$\¨}sA±"8iÉgðè—‡<éÐ'"%œòm%]wt“£þ†’Ó¼ÕÊ'Âñí÷ së¬ãe¯q€”Î]`·+]¯WÚB©dCÏÖÂÂõœ»9HÖ‚Kù€î"ó d[.ê¬"`¦Y~À„?¼Ç†çϳbúŽß’ káÊâ;[þ D—"Ô0z^Ñ«ñš/”ÄttšgFºŽ œÅË!‰ˆÍcZfTþ «´ò‹r ýÏaËÉ…å×h=’°ï­ÁW„€ªËJJ޹ ÿc£fW–q³Yñz–Õ¾®ã§òÃ:6X,zÝÍ.I>ˆsV‹~y Îö2¬„[“4…¬¬Wç]ܳŠ$Lª‰Gj!•Ó]ìˆÓ°/`#´e«ý„™&Yÿ$úê1“JfÞˆ’Ô"€=2ÙwŠùZœº–„Hï;ñ"* hð®½r$Çœ#·ð(-0…÷)‘EåKZQ‘>—á2jˆò‚m& Ö¢¹xfœuÉ…õÜ72Dü'–ê9l6Íð&²Q®#qpˆMè¶ëø&™:xü‹uÆóÕï‘­Ì@zAç^’"Kî&´±â©Nj¼ù;#ÖŽùÂíâÁÖïß·Óó‘¼ì]GžàØI`××)£½ˆG–T1 ILqÇ$™¹ê¯±ò¿[¯ç&Ê`ˆÚ”7á/b3_=W‚Üâ:Òx”‘ žÞ­®îÆTÚ†÷g|rK»M—*ù€Að0…ô!ϰ¶A3Y-9Ç;OÏñL… 'ùëˆZc$Ó#à Ƚ¨¾öÙ<+ÔÀÓFZê®'×GÊ›Þò;sUj·uðÅ›-•¡>¸h1íÔ°»úÔ¢Z,¢TæµrìMÜú¾¤û˜ôÊ—Õ¿’ïÆI5ù›ûêeDˆ0—½pjqpqå✱¢Y‹Íæ•„l®ý–-]õm:í•;6_GF `uZYîЇËÜ5·Î73¤§MJ±{}¿-š2¥%jæh “¿ˆ½é©»i(§ó‹0ÂmY) –nH<®óãyý=òrí¢”<üEÍ€Ð]W9ÛMã·RP-@0@fã )<Ë?ÜUñ‰»nŽ-E,3àÕ#'Y»¿r¤œ6EðÇá2_{¬lTUAe “BnÞñK±ë¼#ràcù'2Ò´U’A(ˆ y³èCæØe½„ø—I¨hi|»k©+3\½ñ? Ý7gÐŒ”KØ1‹‚Mtµ³>ÇPŽ®€Éb|Syvùg Ι.’šåÛ;eÔ;TÊ9E´rºƒ­Ý¶Ñ.\‰N 3„eí¡£Ä€¢ Õ»‚þ7Ö0’• mçoںץ®ùB áîwwömóÿ8W>í$ìt^= Ûbº S._|C×jX¿e”ƒ²k #ßþ›µû\yH7ce<Ú¼ „§d±ƒBÚFÚKhœª7 v²9 Ù1¬t 0°cìÇq¥“ÔÑÓÄ/áð¨NJTõ°÷ŒJee"9pTŠê#˜ÞnHg‡Dlâ³’oüZ§?€AÓì¿•*înqÔ®/ikÇÈÖÍâêá" [ÿ·Tݼ+ 9U‘N˜<Î?蜣¤ÁÞÁG!îÞgŽÐk”6B6˜G§H_%°æ4¼†tÙÖkâ4ˆ2æÏN‚ìß÷$u-BCÆìzaï“”Ò•PÕ®Zû~Ä»êõPP1˜Õ{7à7xïš1¼¹>Ô{¬Ý•çâ{>ñØV……™¢¾iŠØ¬­Öö˜žÐÍŽ­6µÔšUàj ÕkÐXóå^Ä &ãçSB¼mƒQÕ=S;ØÏæ;«¤iª’úÔ(MTʶöKHwd;ÓT$®[ 9Å]Òá .®GNÀ[þ1'Zz‹ßÊVjîJ¸mx«%ìJ¤q+JבG¸Ù¬Ì–‰…Èü´Aˆ ß²d}vxjûÓŽÜ8EÄvˆ¬ñÐß~γ\A[)˜¹›ŸÿxV„\¯j±3ød@¨‹ž8-X!:MÞ›.åaÒ"Xä‹P“˜X´p§ÿŸ–Vã©·K”ï¿ÎBôC΢ˆH=qdH«ûá½QuÖóFûtRc]3ör³1Ù ¦Ñ N¦ö~ö×ð¯ÔÒÞƒ€Ü3B’¾œ­.JÕÑ8ÇÓˆÕ.0žAþi—ô²û¢Xh ÖÒgê_Ÿ\µ•b [ãÅ g៻š¼UÄäkeDºq z‰0z%%#‹Ë\›[vÆX3ÖÓy–V>‘|/ª6oê‡WEö'¬à›,í×j=0H\ k¥íÆ´ÀGSjeºµíç¡“c¥k‚™7šî¾~šFwÕò÷T¦öeöÝ.KWÉÚ$":ñNigw—µ¡Ø…7lŠäC#E“CÁO¿°µ¡>¥¸ðÍz¤œJ‡¡í  Ù䥻9–^wó”³=%>øì¦å¦+›£þŠ‘£½HÝ0Zù’w ;Ìô˜›â͸Ù-¢3»¡¹Æ±‡Á¬8sµ•ÌCûÌZFÿ˜vuæí|G¨™–'ÅÙd¿õé ¤Ío#üà “=R)ºÁyݥ΄i–½`<ÛwËê‡& ý̺À&÷T“ÇÇslŠÝnYʦ›Eè`µhdô­Á(‰ÓDÚ\i_¹IÒ9‘ÿ+7ýóf]pú«È<’¨…¦âø*‡]ãï7`ÓÛ~ñÁ+`j#d»ðså¬yþ«tÑ.=V žK¨Ø)ƒ­ÛZº_­¬Eÿù 8T-±ämö~ âņx¤ó¸éòº'º†u’ÆJg²õìäæõMd»auõHù}€º|£¥ïsPyv=øï™e‰'CëÉ{ÊMäÅÏjâ+EŸC)üŠ…Ði¼‡Œ™éà&Ô’}rZ–çݲ¬¡P‹«¨Ÿã»”ÌGDsÕda— ÎMDS€¡Âºt— !IlåAü??+Ï.£ÌË£2þQšâîç3¿<„è[€Í<ýf€ /&à %6¾I¿/±%Ú¸?bmÝ@¼¿™Ù˜2)†eÝÉ î/58—­O\ªœY-9'[Ø"rër"!ÍìÞ|ägÃìmžÞf<÷{m™êJÐ"G‰Gq29ê¢P난3ãèìÅÂŒ¯%”쎪X¾6/‘ÕDä^Æö¿µ­¾2ûô†®%»Ó5Lš‡„j…e%G¦S@Ÿ.=ë¶»F¤>þYÆXÓ&òpd9X·Ù|vYl¤™÷^sáÿO¢ ¢«5yŠá›´fÕL5ˇX¤”ˆf´Œ¼ª(úÇìxÝý嬮Žù5I*¹ƒ]µb›«©¹ÛÓ†e/{8&€­v˜e‡ø„°–%®ùp)ŽŸ)ß!*|ök#31ï@æÂï÷z&]Žlì* UWš²sˆý‘ ©î(:÷‚×íÿF…U#N:9[ý‰ ûkO-š.}Jã¬üÞ4×>gØ'ñ¥ª8èI8°ôšÁòÃñ†¥Z_>5ά üƒQ¿7‚Ýù2c¼ö| °†Å=˜ÒÆZÒ2·Ø×aùªWÁ`NÒÚô"ÊV'¢û‰­;•E–à >‘8œÃÏZÞ <×%”!ÜâÒ#Þ² sõƒ”ÁùŒ–8‚Ì_i†:-o”ÅÒßXCr¢Pm¥b(ñ°Sϯ ×ÌÁ‹L뼚ˆÖÒ˜½ˆ,t3ñvÄ -u}n [.=£%£L?í;ßJTPdÞí³øÉêœ 2`Kf@É]!Þ<ÎR¾í1{dÙÍÿÔHæ ùM¤ÜpÖT~åKœæ±$™$ÒÚÌ÷dÊE•ãfŸÍïÀ0b-& ê77Çk¸)˜pÍXc Âþ±èøöVç˜)Åkk oËlÇ€EMe·üƘ¸™­_BôE‚Ù¥²µ÷¶—Ðð7ó¾”M$¾«bߌLwz’Šîª€Áh²(¹Âád,vè·ÆÌR»wp±iúNôUUéZÛùö«ìÐkF¨Óù=ªÒŒî) o¡ƒx$úŸ¸k¾«K´|È=g¿nˆÊ/ŠÌÀz˜Œra;©û¶X:$än¬{8kïÜ ‰àÛ»¨bã(j #oÞ= ›Õz=~û°øM1 ˆÖ1ÄÞ‹ÇârÔÊÇžúÖwºx"Ðxžoj¶¦î—ø]dû qz¢TØë Ãg6Ž<¯÷ˆ)%+\óQ«[¤àqæY ¶ë¨ ÿ(6Ó4T~)Ö´ˆàå ¢Ðî(‰`7½ƒ²½¸CÆ—6ƒo‘×äd£%q2üÝ×0ñÙ\ËuZ÷ŽÂÎÙÛ)“èBsˆ' û9üĘXÒ]HPìÈãÝÛ ¡N“.kÕp™ ÉW{%3îüF ôáàWW©ˆáÃ×[ºú×[: 6IÑ,5v¹[TÞ•èìq>L£D—M½‚À©R$Ü.GŸJ‘VêÛyΟºîññÂZ€´à)RbÍ®9t«Tõá$:% VÇåÝÉ¿b»LÓZ¹¥¿˜'èük½¼26ÞBŒ¬å.sžxhìkõ¨I¤^®û›ƒîÄ ’ª úvÚÑ!6¢+,poÁÂwÛýWæ‡/Òžd9åOM¡sm"Ÿ Ž›Î#Øšt˜Q‰¢Nü¶ÞŒMÙÆª{Ìt™…¸ »º5‡`âqßa´ÓÔ0ߊØ1¯§n¶]òúŒø®G›-Æ!”æö0ZWYßx1Êà¹»Û 3Àh{CÃ7F¦ÿ»¾Z˘'4-©`® _İÁ׿›e›vT´;lãCÝk’ËS‡-¢å$0Cœ¸7²"«$\V†´q"‚PQ|ñ#ªf˜vž´a3þ¸å°W4:O™Fþîó*|¿’c#ã¡û©á×á‚ý2 á¾¾‘Ú@‡…s߿➡ЗCƒ´Ä‹ý«Ãzf*ûcPóÚCú‰Ü¯!½ÿYŠ$N}±Fä~‚ÝêJµJn$×ÇØI²‰Ô»$Š—;šíG¦b|쯥eÔ# ±ŽN7p‘Ú*‰uŸ­ü-pÛ —¤t?]ðæG§€¨´b0¬‰ˆÝëäržÏ£Uš¹¬üéÉ7§ŽôHг6÷Æ^v1C>Ã*d‡VR|žòÒY?,'©®¶Aº•$Ùèú«¤§hºP˜ï` g &Ðí"ú¥²w|X/SËçŒaYM“*ˆ…it¨–ÊÎåyõÀ(³ÚëQeñHi”§”DÆyTß2yäTÜú`Þ¦äZâh¨rfìÊ‹‘cå.·%ãkëm¹°GáTü¶®ßè’ð–©¡º2°Rq‡R÷UµrÕ9$#ÒIE;S›°éJî ŸVÃG4œ–Àj)F¬¸É¶Þ£¿Gå®û㻠˳¬?Ì>W‰&ÿC”º¹?ÃÇùGv"ÏzÓdäÜ2éxÉ±Æ ãp^¤Ô£,óÓ¤Mâ#ç+åé–‹»Jã¢un¥%ãB\u¦»á> £\HÁ":æÌò{ûû;.F%ÁÇÈ}5Ÿ…‚ú!D% Âs˜*^tŽÛ=eÌË^˜Š;‡üÆÚù"ÙE(²ÄÓÕìTXÒ`¿01ƒâj¢f:Yá¹ôà‡äÚ一<W®ÈkÕk Ý͈ µdk{éÕ•VÝómzëËiZ“Å(ãöok£@Å «HAZõ*l[’ðû_<²›€P‹tîžÿœÖWŒÃï —éüò5¨ÊXÊ’!ÓÅ«è<¶ôάh®='ž¸,á:0ÍýÄk'òq¶8ý¹‹„¡\Ã{YŒ=½áÊð5ÞæC½¹Q’·æ[·^ÒÏ/6¦Qg.(©1A÷;º'=—“´ƒ ÁšQ}\áé_tጛÁ}{6üª=¦ÄªKà^;®&)"á` +?|@w0¤RjŒˆ¦R$–ø¡ÛÆ5Ä=¼swÈgÄœZÀWj™Ý¶šê®"4?T³iZ²¼² /7·oÿ™D}Çå wN)ˆŸËÒ9o—ô9§hßœõOvU—L1y˜&,rÚV¨ÑD¯C‘È#Ë…¼Ü„°y ‹G9w)ØBÙç\A‹mÊÑ›1§¿ðÞËO†$ê¼Õ5Açñ|a¹Â†A…úÌŽ…£rS¨˜+·Â* •Ó|°ƒû_/{Ð@ÌñdY^Åw„/£û*ÔÜ({ͪ{¹¹HÁ‡p¾³aAP¦ç³ßxĹT\jÔnHè7úæúÜ}¸€õD†ÎÞ$Â\)¿úâÝqH3ݠК:µU¼¤†FÊæ÷˜G÷‘þTw!šÛ…]N%zÓe¿T¿-ù©;!±”¶^¶c I º&™ˆ¶¼vîU@ 3íŽÔh‰õ0NqÅù—*¶¥Æ¿Tbàq%M^Nà:qÿõßÀ!Èuÿf»XúÁ[¾÷«Q[Ÿ–é1Z-|ËÚ„ãEIÒ×"Zú±YKlwiíž=>-]¹BàÆ™³…¢oã©ò Å1<"íþ&´Ë’é`¢±J 9اL*‰[üÝ´®©ˆØÄŽyî„°Ð‚έ‡á•%¼Mª’± ÊoEWózœb³w€®’VžØJ´}«#ô*;ñYMl¸²ÀN¥Žob‘%‡€Â©°¿¤µâ›~:ÌÚ’qFDîÏ<"6)ö´µ®ÞÒГ9âP,hž*HÅ7ï%úuOý‰«J}!ƒiŠ%ø4âÀ+°½ÉTÜ>y˜v ¿›ÞQß¡à@7ÐÉl‹!®MýС-þB{‚d³/HÜ`Yuou­¶¼2Ýb' .ê…òºšJ U»ýJiºéi 6‡ÞÔ°s·Ç®b`½:ª~W žUM,‘ìJëyâ7Ù{f)ZšÏˆ‡˜r[Ì*Ôè'8äSÉ9ö¬ˆ ˜‰ÀKc£â^ÞTàX›@bì/Š~_QCFlDoŒXŒömpŒ£Æû Õ±xAÔØº3¾#õT´Ü]ò”mòq¯ÉgÀ¥´ø]iñ8ƒÙØÞ<Ô,½PÈf±Kaoó•a‡Œ1:ø¬øiNšÄ®e B%¼”ñÑÜŸo‚({‡ÐØñ^ѬʿñWôÃÂî\òOpóø•‚Õ •ÞÒ <¼.ñ±®ÇÔ7NÙáÈzæ g‹eÁÕúmg¿Ü¢ÒW˜¸¯#w 8 “.uq×Ó:%.â.…W¿-â?ep£:z“Ï/Þßáï²m¸n"õ† ¼¢5–ÝQ; #UÁ»]w—ÈJ;· uð_®ÞðÒ¦òãÙ b¶!îÒÏò»øk­ ã`ˆÐ×÷¸ÍÑ-è "ˆR<ТxÇHpr¢¹(þ§\®Âª¡ƒI/F&Óh^vÙ „f㹯W¥ÿiϗ܉X· öõé§lEäs›Ø“i › ’];2ò4liâÎÑMXÓv§Õ˜:N©ÑþäÇ ¬pþ³"¼ÀÝUúÂêˆYI"6ï[Àǽ—h-(K»êX¹ÈUÉÎö£¦Žg˜T=`b<>Móegùi|tb8ÎCC’ÿ;¢Âq˜ÔÍF¾œF¨ zv¤ÎŠô?¤˜]Z"…8…äf÷3Óø±†Æ…BlR¶ç2ÎÜPI£ƒþ°¶H°ìG'F÷µžäÛY1|c‚·nU±äÒûFÍh „À*|–q–Âôi*G™`¶M2IÖe›†K[‚†K¼$šíÅøZ¢m–ò»é_@Œu;þ=qo`ÔãQ˜ˆ®œS¬`— Ʀvý¯x^‘+Êàß\~ 3M]¶bèïlŸ’X­úÜ©u×Õ^¶&3Í/ü²rßÞ–ûàf…´¾É烵2Œ^·›@•ÖM4hdàyqòGÂ~ â»Va´œ_ÆQ>1‘à¿ûLj–™Ðs øyé±ñEÏ­u+` Wc1áŠâ#tþà ²l0‹]F?´)YLyæíùëD3\è’H‚6ue„d‘‹kà¤ñ^æð¾2ŠÌàùñ{¸o/š‘Þù¸ÀZ9ß“t1฼blK@ÃqÖ8&*͹qý¢Rº…om,•7ý¼ÜW{󪑱Tnô³x)‡êÿwÁyló`¶UM½%+ÑóÐÞñ˜´|ñào„fÏ ²”M$Gè·Þzb€#~ƒçÎSŸg¶œ‘À_vˆóÄæ9³ár×d6c¦ÄÜÚí«¸’ž¨äW`Vµlo°Ž»y†XRg¶œZ rä¢!øUØó7“Èà{’¿ ®7}”gÊn”™?’å ©ÑâE¬’g‰ùÜ]èØ5Ln‰«{|š¹ínS_:?†¨)ý~ƒÙ}¶ü¦”ø a« õ«u¾u¬³%©^eÇYì_Œ2V6á¢CDóÁ0oŽæ$d¼ÚR¸—ˆæº”I‡á”8¹”)“;Ù[KÕ݆çF/v‹=,‡8<Ï­ö¢w8Àroxx‡Ý8³šX{Ðr¹Äœ%ÒÞ_ ÅåD˜ÑåéÄø@ÿRœ«¾Áˆ±Â½ßæVg.§3ƒ8æb×Ï¢‚¥ékëÿ·ç‹¦Ó‘y³©¡µÐú•º˜‘¹ˆ´Q/¡Ò*ÉÊëÔòôÂå9ähÄEý˜ûÎyÁ1UðmÔÃz2ù3'È0u‰#7¦/Úäc º dH>»_w䔥ì”cû$|T›ð°Ý»2röÚ'÷x«Ò„ŸTHº†/ø|ç§$ þò¨Fc]ù ÞýêÔ÷›–í–µ å°C±g®Ð3ZïxŒ~¬•^áJBŽCÆþæ;ÑP]RäW„IÖ`Ðší½ŒJ’0² J'W°l ·×1˜Ì‚ÄR¡àoõ pmXÕhÔÅ#ñÜ^|&( ¯)hÙQQê—œ“—kÌQp#u²ËÿIü5Bãé¢mqŒ‹XÉn! ØûŽÛOÌ•.}ÛÀúåVÛ5MÖ~ÂoŽîÑ®ñP÷¯ÊPÿŸ18VsÚ5î 0’‡)Ây:^,²8¹¹‡/yiˆs]%8Cܘ0Éa™Í ß,Mx&xpV@ínû”(£é³¬RânœrúBÊØvµu½aÖ¹àQIÈÇ3­ØðJÓ5‹~ÇFNñsÅÁɆǘÿ1.«¹I+ê&p*…¿'fé¢U\p"ßvdÎzc‡…¾ßuKt“誀ÄP?£ªwdë /ȘþoŠÏuz¢;(𝮳O-•³Ñw ¸$û ê˜h꿲yª*vA$´Þ•·×KÖ#Ѐˆ12`7ª¾ÊC~U~Žg3Vy³ýí©g¶qùlš Õiü€ O1oJ¯®ÃÁ"EÏÎ;%ÃŒ H‡þ!Àÿ×ê½ÊƬÿ÷ùc®ÐÃÆG.”³ImÀùÆœÚ'Æ­cçdÕÒ”åãïáEù^Y ªÇ'<Óõ·I<Ä”*AÈ]†ˆ220üæÒf€¾Ä£ZÉÿÜÓxÈÄšA’~qnè‘–r•áá¨áè”6á¾D.–Àè‘tŠ­…yò¯¸®À2žÛ<0Ø“§ÚÁ§ú'œŸ«ŽÄr˜r$ÈF‰öº}Œ _¬ô³;"5Ãæ‚_/Ú¹I!XÑ ‰×CW ¡-~¡‚íÚ%-û>"¤¢=ò3•]è° Éw;ÖY>Ôq¤ Ó6…Ç«¬eÖý¢~$õ@s2ƒ0`R€ÎË^Þ.¦ÄèŽ_Ô5!¿Ñ%œÂ ¨y†#5ûЍ,yV!,&7×ȲÆ!üh¨0lÄ&|Õ0#± Nç,¿…Bækì¯1Ë ©Ú^G—¸]äLƒbbþBšþÖT³æÑ“O+ÇŠа)\­¹12–mCôëª4¢»‡ šWIŸ°ü@¤Îk°²kþ%Ö2h…ã.È/N…òN…­×&{äÅF -|Àó(Êî áeÚп™=W|ÀÔ—îj‹K,îG¸æÀ‘’rsþ „aMk#ÿ‡û4ä]UäVZØŽ}–þØÃ‚M/ÞOdó²@:Å­´Q™©P0U]~`+õwtý(&F¡åèhf–ì`À/«L=^·yÇ=€hWSC¯i± €ú,³,„Óè¶ñ"6kö]•¥>üuÝ\U{ÔQÙÒ‹Š*Ë-ÐÂyzGØ^蓚ÌM†F8Õ­kJãÑñÎdjË¢¤ñm½>ÅÍ´¯h¹ÑVN…(>Ͷc»÷÷€^’â¦)Òàý¼|Ð×4þý‹\q‘ö´—Cǵçj|GÒw¨ļz¦›;o\ÛDíÁ¤’tËFOašþ¿0ž7Ö¢ªãjIÛ–‰uÂÁ0d ½´L^ å"ŒÉ•p♿o­Š#ªþƒî…/ÓŸG®º ”Ö5Õ›®²H’0¦AÜn)|¯ºb# 1ÊKa×Sþþ¬sŒ^|Èë`ž W`³:Å–ÄA©‹ÎæwÀsw7¢÷>sD"û$,uåï:¦Êã^chµ!Ý)®¥ì£GæÕFl£»¤û³È8ùÐvXãÈ…ÚÐÃeÙ÷æv\ÍhŸe Èßý]ÞTé÷CrJ°w¬p«‹T[Š(ð¹–~Ô„BÜc+×›ô\ý—úY(§£C&šcû]5e’¢0UûàÀ|ˆv{ÆÊiŸµ—…Y:O ´’[4CiP>îãÙDƒVÔ·ÁÕªø8M^D†¥Ò*çOÃÑ'Ùu¸bæ¾8ƒ÷r¤Ë£†³pܤ*5EoÓý×cv07íö6ŠSΉ¿ÒHt[=µéº'AÙöŠ´H ×u‚§#I6™]GÛÇËß¿ŽKîˆÝªd²“-Xª4Ÿ£»´p÷á4üž9ßGÏùNè*DsÓG^Žw®ue…šXÞìx¤«VBÆhÇK™‡‡á>Ý% •Û¯ö]@à|3+ˆÒ{%e†×UfDP’¦Uoac8ƒ8¡ãH+¸”y易”ÁF/;m¿ÂHì&’‰¤%'G(°þõv{ënÏÏ8ÂxNs11s;±Û×··‹$f<~„à>a¿Hd¹‹*ßöë¡õ^çw ð†]· ªSÀW·>Exm­yÕmÒ}÷AXÝTιv5ÿ…‰s xqH\“À™ì©`‰ZÓQ´ûQØY‘7úcˆVNH,q;ÉEÍP£`xuji8žfç P€k» r+Ó¶žsøõæåègƒ¿÷Ò¯–HFøa¸&!âæ5±µ:øTNÉß§Õòœœ ”Ÿ‚bêâ´{;×徇M¿š™Füe#‰¸#𤣲BˆÔþ´ù#ÚkˆõTû¨½ M¢Å…X‹Øm]ùtÏ»`ÿyõ@Ú‚:Èj™ì0Q š"‘B £œžÆ‘ß«D= ‘~‘±¸–eì_ʇHåM°öŸà@QÀ±òæ– ¶È0]ë,I] ×Úá`#x5âŽýYéëÝT, S@@TC[2ürx/f{õäP’pŒŸ‡S™ƒQYÃX y%Þƒ¨9¯\Ý‚¾ÏÃß7 WBD–ê{ÝUñÝ#.»WÅ2¬^Mel §û>?Äÿñß+–‰¡ÆiÓÌõs3è)~n?akd¶æé­¼…µ%bÑaƒëjdh.˜ã­ºæˆšíÀh¿{`}«U¯…EP%>ë¶}ú3Gß!MW¸¬°Kô1XH“kÞ²‚×0W¼gª®5QU5y"¨NY©Øâ²{¡gÊܾˆ¯Mæ3ÂVÐ=jZoÉʽ[À?rH¨0moÖ·Á»ãà¹_Ö Ö)¨¦ÃõtÜèzŽã—"©=Ö ±™50‹Ò3›ÚãÔ*Ð7þÜ™TÇ…ÐÔHJ8æ^ºÅ}3ðo7¾¯œFú›1sþC—rNN78…2GKb3˜kñm ?z”ZãsMR£`û‘ æ»±Ò¸7x~{ $Ån„£ZöïÈWg~LJ¶•ž‚ìä°î—óË¿J upäº'ËY±#nİð¼p-lËöÿÆ!|wå¯zHyÏ4Œ6&ß–6¢Á.ûef_Gà&bšÜ¤c›X9ƒ)TꜹP<Ó²òíô «ìQµb™…ブTi=ÍŒÖݘ¶ÚÎmGÁn¦¶kIg¿L] ‘5úY‰žØjË3ï ¨NÛÃzÜÊ[²O6PÝ„˜'ÇPe ÷÷3†ÛP¡oºûWJ—A;{‰'Ce‘œ°lŽ›ÇL‚oTÇFÉ t3qù!(.-ŒÒ0w§We>/Ÿ•ÆÏÿ£û?5BÏZ†Ž“¾–šbØAÊËq§»½2 .81Ï¾åæ¡à¬ö-œ²ˆ~”'ª¡æÚOwû,î!ÂôI aÔÓ§n!äµnªoÄžwÑDF¢^Šö·íÍV { ê³£™µÆvRzü O'—·S ³õY‹ ~¥Yr€† ®±ýÁ÷á »•Ç ´’6Nñ+ÄU{S›Ði`Ž¿Êº¼Žb¡»ùˆq+§2‡ã+íxÂDüŽØ$oe〓ö+aü¸)¼çä®0´¬å:.`˜Ô Èbœª/6.ûÇ ¦¿‰˜ÅtWÎ鼡ÍñŸ2¯ÆÎõ‰&òßÇÊ6„S©Ò|!ßGmI%õæŽÐuƒ»‹Ë?:v–3t>Øž¹9ÿÿ’þý¼a½< mQY¬•¥”[k>Ä®À¯}mž‘3ýžéçô9ÈTgB¬:<»î·R+QÕ9€4bÍ *Ì1º[)Í[4.‹8©¥Ô]¿ŸšˆgêRXñb_R‰8­º:-˜µ6t"ˆp»ï$OÑÞyiA^pU£{?¸~ÑHR¼j4SyöÍ)Óä‚ûnuðSã k+*ž·÷¶qSžÛý¬<{OÀˆLa²…ÂçaÑìo“¡ä³ÐØÙá¼7ˆÇ2ŒŒ¹õ*¾¯zpÜØì±Ô+V•G "P¨ù•ÔZÐWãŠ×¹ôƪÉ솟 ¨IøÏáj ܦõ~;Ü­sBýÃ+ ¾4àue*8‰¨ù4Û#\Ü|?{P *Á¬˜µ,lÒ†9"ßdâ$·½(o0\²%”G‚ ­Ý€Ì'<\IW9<ÛÂäŠPÜo±%S&«=F7ä8Ë8«ªC©+ oœ ¿èáVǼ°Ç×rJÔÏ#—}C0­Q†È'}ê6PïA »‡sÆ.Û4Šö^­—åqn5hc¸øVC+f™JõXÀ-€Ä°Ÿ;TYqÄ‘Ðæpµ©Ä9‘­üer¬¿ óÌs"aÁcå5¤o¡éï×’Ð~™i9sSV~@é«–ô¯Qºb`_cý#Y›|§ËïVŠ4¨êéò–ùa4`%òð+-Uëƒ'™#6‚–vq¸þº<­bß^ý§¦Q†u€ÖʽïÌ[;ˆCÔž¦ŠåêÈWOz´Õò›±ÜJDL~Ê.½"TÑL>;\ŽOÂ澓@NŒ`¡Õæëy)Rá‚ïüYôjZ.Ó‚n,ëåËM!5,‰€Ü‚Ž!@Ÿö[ã£:·¯ÔŽÑ1¯0XÔÏ‘ß~Û”_'\G¬áùiÕE‚Ÿ³‘#„ß×]pPôPŠy{‹ ·wÉó=:†ßqÎyh‘R=Ñ d$²ŽýªA9þØÌôÀ÷¥3CJ;aƒð.˜TrªEfqôd÷pÚoApdL¦E•pÿO!žbnȯFzÈÑW……›I5¥*õÜ=zÍЏBúrFÕŽkˆøŸ;²r‘;UÃ&G ¬ \!àãKŸ¸‘ªÔF^WIC[öH‚Šëíºû>ý1dþbjìõÆ 9œ{o­¿Ë*êbÿ§€Û™{ˆ# ^:CÓoÄœ´‚“1ÿw»¦ƒ#Æð3_ðžó¤SgÖNæhÄp¼3´ Ÿº¡Ý ‚-ÐaúhªE›)JeOkGlÙƒ5^¹ˆ4éÆÑ14£5늺Vˆ1h/CFF`øä-J|ïÖ;›Ï@O=¶ödeóžõš]U\‹ BäRãțϖ¶¢ù¨Ð–|m)DÃs»×€­þkVšMŠ@½ò©cêûª„ªÀýF뻑Ð%¤zψ–ôÓ}+d޲¬‚ºÓBîMº²&èréƒk:+ýÓS®õŽ`#ÅÆ–y—×§dyœØz"ä-|†süˆ)@gð\mÍÔ~¸„™´T µ%½Ó÷HÀªÂàÅöŠ¡a ,ÌØ‘t<æüñÆÂw†X¯‘líØV?+çÑ/À ;¯oÅc¼…i—#x¥\ûÌþšv\õÕƒâ4ˆõú¨²Õ’â÷Ôt­”¤|€41’3`ðÓ˜F^‡"wûÔ cæÈ¨çUU¸}‡…–åδ+.æü1<¡K³FˆðÛSža2Oìj·GËÀD;& /mNó†„8×ÖÝVʰo$âQcZ–ƒ|cÂrüžú³•>žó°a–0IÍœd@WÒžÁ‚f$ ¾$(xM‹ø1"+C:õÙ½¦d„BW <ÒcÞ„Þ>;ƒ k8œ§e³:|¤²ªœß·kÖ°1xoÊ„àðÇcS…íÊ,’½îÑÊë8Í·HÁܬ 1Wxv7ÿ„Q¸sŽÒUš-2Ѳr½Åq¦æF} /«ÆbR³ÅK¬jŒLñù«ÔJ"&}pÄØÌAnRS7ºˆ4ƒN Ž+Ã7¶o+"¦¥+2~èÇa{´C„ Þ:–üy.ÐÍ/â¼PÃdÅir`ô¢†$à >C ¬Ô¨ÏëA{Ø$í®7.õòDi1e=â¦eI•±â]NÚXl›8;ÐX‘ÔmÛ_yë šöÔÃÚóÅlHß·{Y„ë²YÔ!zëyVÂu¤P£Ú÷y¦½éö8L6o´Æw"»Çð . 0¾ñÒá4Ä*ꋺ#G’/ÿõXä°}¥GdŒú·œ0¹ÄÄlŽçO³®ê«Ù­âk—š£øàñæÃ'QUe´çh8„ˆÀ™ÄË®¼Gb–Šƒˆ NK嬯Fz™ô ¸*’[Q3ˆóÕ.Îd©e´ÔWÀc‘vl±$†G©dŽÛYoÑv#ÌKÿæ4Ʊ¡¢OÕ?À£¡ï@´ÐäiZk±¤Ï¯Ç”*VY\Á@˜?óÛ¼ïÜÕ±ßä³À¯œ|SWú,%…tR½ý,”_`†Þkœp,[[lC8Q—,~•ÿ—PÀívŒ^¤ëU\NÂçÕ°O´Ý7q¾[ñ Ñûÿe•7 ú!V‰k»]J¸qIôL±êbDŒÏuÊÛ^’¶[©yÞä4ØÖ:Þàœ.æ›FÃÍqø¹?¶äè»ûú`Ä¿üTH0ˆ£71ñ¢s*¯/4jdÉþaÆnªT~svsi‚h›™M*…ߺ1Oj]Âfz©K¬,´5iξ nDz®($yéOæ?s™§§y_ÅÎ`üo)ô€üù¨CžÂÃJÀ ÔAYW´í_ûi°¨;ïstQf"Á9?•‘`]s*'}îG£x°—Í|ñ™$ï]—€hgµbY´Ðcp)áΣÕñ<1RH±ÒŠ[ ˆ.y ©yy±"ÔÉ=8aáH- õÙ”˜ß\®c^O„Õ¦†¢þ¸2Y¹<;µþ[î Þ)c?• ¦Õ™ ·Ò—Ña |ÕPY×iÓžËØïRÿD­¢;—R€šãS–T(;yjÐuh{ËæPjZóßéŸ&;’Ó¬gà ÖÒ™%`·:з¾cï‘É’x÷kÌäw¤ø¿ÎpXA(‚ù¢ÇÐ ÑùŒâ÷׿ö[«nÊeß.-˳¬x´¦|Ÿ@ë{Øì&tˆÈiJ[² ÚE§ÂÌ=ò‹Ì–vuÐE³G8t6.‰k0nòB&©Šu]z…4*^y¸Å–œ½‡NµìL×y_#žIþ –;)—LÑ©°[ˆl—³„x}[žÈ ¶õ*¤Ÿ!‘VÑ5òá‰T)Y'cç  æûíb•Kƒ¶ˆ#®Ù ½<>£‚€t9Kœ­½*Í8°ï2\WBAµöaF{{Uƒ2ü›é‚ú÷3ê\0 ®Ÿáß’µ‡¡g¬ ¡'¥¶º¨93†»Ý½i»ß:ÞÕƒÞÜ{ÙbËç+ºQ‹]O—ì:i%vOÖÃdlìEj¡q8 Í®´e` ’[üš}{ JѧÈo‚î%½Å4Œô7fi—OiîÕT ÓúáAÔQÏž±¥d”FÌP7¦ê_5¶ŠÏ¯+xCM¶>Ï …íwøŽ” Ïù´&ä¿ äÖŒë}ZÊ¿€ÖhjÝÝHGìÁ Lÿÿ¹fKd<·<­Þ9qKTáEF€ÚáŸ8߬I6ŠEý5¾õ:b8š;ü'8^T0)@ƒ!/h ¸¦È×r¼ß©V+Öïp×c¤Ë>ðC¯ äL{LÀýÐ*ö:ªis„5e 4ß™Eÿ¨$ŸöÇ-Ü%ãA¢ÕxŠÂæ$l“{hÁfªtî)öAÚ´L5îíºœëXZȬ;g¢¾\xÔˆÄVúìRðl“†;~ ·Æf‹Pÿ;Õ³# Q‹$ÇÒ¦i+‹èMŸ X ­/ºÐWÍÖ¥tŒIË›äXWè½\Z¢‰âZ IôêXô>b{çœy…Zñµ^ô]Öý´ÌR×µwPIV€Õᯟ»¤•v{¯Òü•Prb«Ì½‰dx ÍÒOt•CµWó±œ7;5ŠV³5]’)šz˜m«BøPî óÝç”{L¡µÇ—Îwù˜œß(aûÔ—4* ´¯%L¯9 N´DŽV¥ñq–5–çÄ¿×D§ð>¤á|×PÆ0p*²4zè:roÉÉ…ÈLº§e\~œê!»·Å–hÆ¥íÆ7µ–óˆ7½\¯ào–!ªw3r3Ådw=}Š]NÀˆ8Ï'å­>騰²“„Æ|H7—uŠH;ÝnžäzƒÜox7þÔÍYÿ1GØÙ뙈‹R¤}@zhàíØ$Ȫ¿û&šÀœ&Ôúô'& )å{oÀÍþ¸q ÝÉì†`6 lï„Ðk(¢Ó©¤<£(šÚ˜×¤P|EÀ¤‘énEÙlš9»©[Êib)Ý÷ŽuÝ{~áÑ„aÖ¦;Þ$Ì)b éqD°‹ˆZÞy¢A0(”F¡O£·%«Ni¢+o±«?I¸8ÐÝ'¬æuNYÆ, ÉXðÁÁ IE„cšÁr–üMÆ×y°,!]Šäš¾”f»[ßlÚQpa™Ì"š0À¸éé›ãî>lDÄ7Ê÷×ä^KT1˜HÉÆ,Ç „×cœÔÉÚ7÷à~Žh¼ ÿ„P%œ´C,×Å É:‰%Eí¤X C„_ÝÅ>K¿”‘R&jk7»{\M*¹?­7 c„•ðõûì¦9Í#‹µ‹ëŸ˜Ä>(rºÂ‡#¶Ï Ð#ôÍ.†‹¸ñFìC]-@v7Ü ¤RœQ±þ¾VêÈåY °û;(Ü^s±ø£­SUðù-àGS \/#ÇnÍJ<)Á-×÷1ÉÖÒ ßzŒÑÉN¬rûm–cx>k\oÝä¥×PY}À %ΞÇûQøN¸È[áx¹õŽ5îÜôñ(Á×äÁ®3ä^Žê5xêúák‘9úúNà4ÿmÐܤÉl¦Êî)šÌaQV†Z½—lf7”L†¨¼ž\ô?g¸ËÊV©cjª 1m»0#7ôHs{b±zõ´NÐûÆ7ZÜWöâjù@X¥Ó³å8YOƒ0Ý·Écé`û `K‰r ²pRÐk·Ç Ý?ž[~´.ǯt]³S÷V7"â:••ä‚{¾xª½·uE…v_yñŸM[]éˆïެ.ï*„uçŽV.¢†Þ)2é¼›5ÞΓ€9Ô=§4ºûU¢yÎ¥)_¢Ò„+*]:FÓÌœa! îÏ™Mš0¼WÖ2c³Zn¦¦LO#Ø#!žGÅNWýËÏ·qŠŸ9îl³ÅA*UqZXìÛ/}5xà$É“*ï»Ô(c6õ­®QX]€¤ΠHМk¿=Ó¨‘ZChì]°J-²–³+ä5˜N#{áäÿ6ÝFNeå„KW®ÖvÛþÅï•”âW. |}L±ÿc®¸·X°øÕ!Ê-X%IFOôŒ€TýKóö˜YnEgº©5vf –öǺîIÛ½ &qYÖÀ£ØÈÓCjÒŸ>6O+ÕOÝ‚|ô€iƒcYÃOg\KàæëÄÆSö%ޏDôZK7ºaK„zûcô("ô¦³uá¶)j&ƒPnT½·AŸŒ/Õó ًΚG2§RG×7[Pt¡_oU\¶íÑ }®ã†D:2×"øS#¤±€õ#c9_gÙZ©Wc•:è"¹ôa<­húˆÍøöŠ«FÍ%· U…zmê‹Rž%e›[=prL˜¹à¶C/hI×8Ó$Ô‹(2E©Ìur¾1WW¶ê«µ†Ô2¶«EGlÉäÉ& ›Ô¼–ѤDT/b ÍsIåÙ È57àv®¿‘tWoš$õÇ÷O=Ö{˜á'\%#:£ºËì~6¶4%¹„‹)h©ð`ú€òzÜ>:eq8u·ñ¤BÛþÚ]îÛ?J5Ëüa¡9ùG¤£éÊBB+Ó±äQí Víbæ­sW 2FLžò.Ð㈄¬L):,ÕÖ¤F. wvêØ DÙ;†iÞKh©渞{î?_Â¥Íè&aþÿ†lxŒ“:Úã_Z/ñtöæòÊž÷A6Ò$DÅ{!\ãjŸ˜PW¾A<_ÌT4ÓR» •xÊharjÌ">;0øÒbUM nsJ~ÌmºÛE)x‚Q8uÉé]£{-%ªÀ9Uhá#ne=Nb9?ì5l¶oм¹™ÈM‚ú¤²šæ“·´ÉÈÖ€”ÔóAè <#†šcž€,ÈÉÙÇÁ²ÝÙ‚›ÔC_üZe›¿oýïÿî zKvóëyÇJ%š›*,xj…Ò<"\œ»ˆk[–!äJ7à%åöò¤”®’×ÕaÝP8ºêWðfЖ¤éŒðšO“«žI’4î?çïWÿ£ãK×чm ãMÉÔ|îânµ7èEn²üÈv\evX?2XÒ¶=@¹Éú#b[=rX‚ G–jáså}84qƒEUØS¬ÿégì­äˆv™Xe¤ªõÛ”âÌSÄÏÄÍ(tƇ³ ìŸg¨ŠœÞ¾¿ÿx+à¹b_cù”ÓŒë <’ŸØmâ«‘ÑÍ»Òã( ÔCH¿Á²˜Ò³H5rL&²Ùúí…ü‡ÅƈY±¿jù¦ ›¦t´*¦ME"l¼áÿŒ;q¸ %—÷ÙéA{úK—WÒáÞ(sVÃR)ÜU:â¡f9A€Ï–ºØ3w|“}2m$ÈäÚ¹¸qÝ9þ¨~kÊÌ ,†# ù«9_7]£<ÁKÌàppk¼LMc`¨rê¶à®Ù^ús ï­y]}ŸÜä™Õ¡êåþëÑBQÃ@?«Å7í„áíqj”«„ˆ' ȃ¯-—;9Ø<°GZIÙ•†ò×B ã§ŸLpêJve‘om™\W¶@pôŠA5,Œ² ¶¹ ~Žû5ÎsóB"ŸÔÖÁv_÷åeÈcÐŽzËbl棭1Ê%X ¹–[aÿŸÆ«A~y0U)n(4|L)!QËó¬M?†F&Ñý¤Óý¼aÐ'NÒKÏíGüáÂ[ºº<0…xqïp„0ç_Æò±±Uꪈ 6§¬Öï«Õÿ¡20­òÀ‚·´8ŒãNc#K‚XY0lÞ¨ÿt`Ü"Í’º´ÆHŒÑ$UôÆò7¿T[DÕ ¾€›ï¬ÝÎ/6¡ÈýÄ8¦É U-ÄN;!hÊÙçC ±)˜ÅnÓHÌáåã“ c.˜-×mGz òâÚv§Úk¢Õü5®ŠøÅ-»Ö#æ÷¯:ÁmÝ0ŸùG>ç5èøÔ©›Æ—픟ûð™àëJâ•‚m]vjm9ÖækýGèNB:úÜ3ïÓó\u†ßÔ€Eyïdô€1-¿8;v¿æÈËN .bÂHÆý¥mŽQžpø±n‚sTR=3¢!°f ÝÉ%D´ú½õŸºÖ#˜8𹇦j›ï†‘Íóõòî ?n@çX32"¸Zi;Â{4²ˆœ%ÀaXºÿnà€S0Ø9 _v˜+d\.®gES«èf|˼5òc”M ´É#Ø  d÷ˆg²ÿ¼hÚTNÊ;Š¢Ó±L¯Ù"ášk#¶öyÏ·{βù8ÁWê«W*ƒˆ „š&N¤T=“‰Yî)ˆx—[Ý¿Ûè_/! >šhß÷;ò¤´yûǘ¥?_n5Vœ—·ÄkʬÒ!i`|^˜âÚtqi 5xJ $lÚ²ø²ÚÊ 6; I0æòû{À28tË%e$£úƒïZ'Ö̦ K/CÕÌ ƒÔy Äù…Tñæ¡*ôêÿq—ì§—þ×àÚõ"n4üð0ÁÕ‹ôl½W1HðçÿKŒ5›F!Óä”ûCB+ ¹Õ€?ñà?~é=ã×éyí %v®;Z4J¤;q£ ½„Z¸yÚ¸+=4†°P0X\'V»szê5-9mÿI -<#|(º4éŠh»Çd'Fhc…•…Uò¯yŽJp°«0æ÷´q€÷I®>wûðó ü®€{”áStð³ãx´ šcˆ.œùZqò=Q¡n^ºd@çܾi«í,D§¥vþ±û¼Þk9{«!Ó+g‰Û¨“H.ÃÈR—ÅÐí"a&|=fQ¥Ÿ™åôvO~9f?$„öÃŒ”jyR:© Ùó’ï2ð.}NÛŽ­a™{WLÍéD*N%²Š;Ÿã‘Hv«Ãf?9·Šì±bŽ”  j¶TÁmB÷›Ü—(!±¯-÷àıuSœü ;¦ , ÈyË•¿«gL[ÀW£ï*¶¤p;Hàîl×0-‹yÑÎmüÑH!],ÂC+) ¸Ì»Ûe‘í‚О)máê(+iè«J8Æ2üAÆ­±OAGÁ™|†•N}æà©Ó\~ÀNX‘#ŸŸoŸ „ÀZ‡àôþé6hŸE/ŸÓSýz1Ô÷’…[LµÎ4ÀýKÝÆJâ¸;“Õ|´Ý†Ìyø‰–ðªNô©xgX¸Ôï™l®D #¢i-VÌàw˜Ë}}¯ÜI&æ–¼ÚÏP@‘úbŽ×àÈ´êpnê?µEò¾cˆOnb›ÑÏJ°H­âþ¼Axàó ÿ–çϹ¨•µ¼|‰—Æ•…ä¾p.(Ñb^ kóùW†VsØaz;fg±‰<ŠW%cõ s@GÙ“Á7Ûâœb¹«¿˜P¢ˆ¿:ñÖƒ @„KàD†eâ7KRã„~·H#¿€bMºñ÷«‚ >ÆK:1ý¯2 ¥AigqUa¨ÒÔÎV‘Ñ,.|6m¼ì°!ÜhÕù¯X5QžÅeˆ>AD=|ÒV³à'C/jóózSö“›þzÜD`ê'½ý¦œG¾å–?ëV~%~EÓt¾a¾L:§bÔÚДâe䎃FהɨúBºeÀ" 0;g\ט×öQ$w‡‹m%=©Å85îìÔÌiѳFÜöfF–*©.†‡"<â.ó‹–6Ýtñ€¬ p:ã—k·œ k¿{¹+½ëà‡~Æzk¤³ÞÈ„X¡ÅŠ7Úõdh9ÓPâCй+§‘†žxQ4mªØÿÞ×ê?Úp,—%G‚QT3W¢dÍ^'ó׬lw;\Ý÷(Ä'Œ]úÌ5hêšKåÏÇðê•^{ÈÄw-5é$“³¤CCw©Ö|Æzxn}LʉªªPž7}¼áåDzý/ž 6fçƒ4>8R&7$Ù‚,Ç1(>¾.›(¸5Kæ „Ú/º-ÔwNUz1GþºJLNÙ*® Úz½¥„ZÚäb7˜fI²¯i‚ãˆK§Ù_ãF²)oNbד ÖñŒ-Î4ÙbÂçk‘¬Å©b÷ÕN[U'HÒñàQq_Éîᢘ±j”Ž2ÞÀúa!§8¨IIàT¤n–—ãà‘'ÁÁŒ•¿Â’âýaxá â§®‘‹7\Yg¢Ã~:?œÓŠ Ý”K®ËRy²“I<Ø…lSñÀ¤Ø§d‘}¢.…ÃërûmB=9óâÃì{¹BÆ äý¾©C&¾s…*og à„€Þ/ºGž…ú©kDvTŠÆSꚇä¹~îòÌÑJ~¼ÀÉÏÛÍìTi¿5¾£y³i‘z¹h™€Y¨¯µFˆÁÉLÄÛŽôÂÀ  Y¹Nè ¥•ƒ„tJ+}ù\^Õ0 |„è†+F;ñ>~ŽIT(ã…q2{Ë##Ž?÷!ÐWÆÜ²5±bV|¦ð;£D¶1 NUÐþNÈœÙÙÇáåv¿ÛZΦ¶CtÊeMÙ1)ZW'4yu$¢ÚÀNµdôÃ(Эà\eDÁÑ-†ˆ7yn¦:™Ä¢TX0Aá3<À³XUÕíƒ?w~#àc€?A6I¿Y-/ãwžÑîš©«Ó‚(p»3-V7]KFJ¦ìªD‚Ñyf/&ûQÊgyÈ?±³ßVÀ»ËçÄ_œyrÔ1u–¶ù;B gûº—ÒÁJ"r!û¨maI®‡G}·aö“÷99Ìù’>¦btlëÓÍõyh(¦¸áyHâY^:ÈŠTJ—·aç­½„|‘N¢pEÐÄÆ~2 tÂÍô†9ýßC'z€äÎ}és)ø.ðº!öXe©Uc­„vÃãl§Ç £‡ ø \/Nb~TÉì…;Lbh{3ôj½î”~Ƹ¥ãZA5”AØÂ ŒÏ ]Êá[EC£$ˆ6HÍdÃØ|†Õ,Nl[>™%hž|¤çFÁ6¤äÀŸš—Ñ» «(BIZ ».¬Kƒ_›ŽV-^ìcAü–yåÉ ™ùAÔt¡ÑäŸ4=BóHVûw] õë)£š¸/AfÙ]W¼“N—ò·û¬¡›Zº;EN/ë¬`w+¯³Ã+Ë{bö­!f«?°zqRÒ.Møð…ãÊ"U°I´RY„²'bq½ƒœ]tã–Çð°õÞ B£4»2£?]Nr«ê ¿¼z:¡SSIˆüïOß®C·œ Ýgü†z°‰oPàÊã 'MÙh>ܾj<é¥×òòõÍÜb¹of‹×‹»²¾jöŸñÐÖ¾—TÍꪊý¹Ö)ÿòÂ"ï š'w½|%a|aÐx2Yc·"cí4[xãÓ …Ùý,°'ݰ;c×h‚_ÅD…Gâä]¨³q(læ¹í‰1ƒ?ãø6 Q†|3ø}ÜñnÈÉ E,Þ¾EôÖ÷Ø"ÎXÿ1‰—},ýÈlž6”—¤s »[L懛ÊÓb|š5²ªi§êyÇ¢{Y€ùˣɲF4”TµhS¨øîê?!KúBd#SâݸâÉÛD›ùx°. Uó–ÊáViìŒã€ÓK2Q+Syg,Ÿ±ôÐÎú@5!”ÜfÅ„éÂÂó¨ÆŽ_ao¦Áï‘îý¥{Ⱥəݒt½ Ǭ6„$-Lƒ0ÉéÀz@ Þ˜3¤1;‹à”'¦f&T|!—£Y–RŸÂǖ㾌³áÔÞà”ЬŒtüxÝÎP=8º‡ìæ7ŠîAMY+ 4u:¯Ø6Ò |5Ýa¹ÊY&y8?Žhªz2£_‘˜ÕÏQ«Ã¬.Žim&p•ìqv§•MÃýXÞ,Ùo¢” Ro«`sY+r •¤ŠÕ§õ£™1Ÿ”tƒ¹2æüªÆÜ”u÷cŸÖ£ÁŒ6ýöNÏó„e¥à8¨…Dw¥E3õÐSlyQeØ{Å[ú©dà ¿ C×Ș¹ì‹°4Àx>" ÓÔ;=7çeO˜1.,öªº½;½y‘}%8ã6USâØY`NБS‰Ûn† Bº>*ü¡ªÝUŸú™ðÚ£pw5ÑåcMö[|f{λÁBlÌ’+Lí5Þ@©·?6egÇ꩎u{“p°žH DÎc$ ½[T¡çS›‚¿íÝö–ðݪ¨Îb÷’©Gã>_m˜ÄÔ¿^ÍíeÌúÏ•Ìh"÷´}Ññnùà…Õe¼>ê€ñÄ'º²Ô[4)ªÝkÔï‘×Mg œ‘7ÍwQ‘®Äm^ÙníÑO#ØÎ Ò“¿°«£ŠI"æÛ¹×¤|È–­Bc#8? #ýÏäÒ,Y¤TÄÃ|M Ç)Èe­ò±Œ}Ö 6­ñÔkÃp¾.|ž>Ýc:ÀŒ8Ú/59ÜæyÅî½׬նn%þØ6üˆ«Ü’—ªqqù¢uý;¸Þiï¨Þ" É„Õ{heÄZ¢XëýsÑ™™Ëb2S8Í…º®ƒpn)‰V»Æ†Wå9ÚdâK‘27ŃƒÁª*N—¹N#!a“7  H'«¯Y£GtxÚË Y‘<^Ó”L'É,rBxévÖžxwPÜkWvzýØné§ LD-Ï_Ýñ²ò|KBÕ,ÅÏŒ R)öÕvÌ…®…7 Ù£ô*äC@åÌû'ªè O‚‘UòXNIŸ½3Eµ†¡A+ÛÁŽƒ”8d;ì”wê,s9(TMC˜ ʯ=¡‹Q³k¨Ž”½Ìú<²vȲÚô;TË!ìk ´û”êe4*86œ  ý–ÐÜŽ˜X4A:Zuý!Í«{$ JÏ€Z5Å—L¸pkÀ`}ÃLίèW›÷»°º¡'sÔÐ;ÿD|NQÚ¯Âç^š7ç˜ …Û#ܾk|‹Ä ƒ¼vëÑÊÌ_üzÈ›˜±Ÿzê÷kÿ_²ôYæñ_¶ :s ìÒ$y=]Ôš»›†_‹BHXèÕé}¬Œw2tS[7º•áî$âNJž¿àéDÿË­Q,gObsïD$’˜þj é 3ì^ƒþnñˆa¡†è¶j¯¬‡½þ¸ ëk#¤i ÿ_\J¸õ²¢Õ³´+8´òïÁ?‘ Õõ˜ØÈpƒaSæÕb­Ú\£R”¤ãb渖§6|´hËÞßµDËŠ¥7-ãÌ–õO&uÛû£í ° KïâxIzcYD/ɇ B¿QDÄ.]3ýøp]%Á~\ë(Ÿ!¼zÞ¥,Ó+ ~·äŸ;¾'8!H¶¬ë jàöø‡:”ä½ÔkÚœ×0y˜&¡´ò×ôì\Úkò¨=ób¡-ì‹«Ë@Éœ3|çèÕâ†$,¡—íöJêȯú­{˜ÏØ×§¤|ž!Ÿï  ÎÑ®þàK&qýcí½§·ò{U—ãÈûÜðÜTHTMÒ®a°áç€oí ßÝ ryxz×ÜܫբIËÞøMùÖlUÏg/—ã:íÓ„üŒF {_~»9éê¯$j„Hñ3°Í©òVqÃ]Ê‘æÔ°¾j>‚ím‘‡ùóÄ%ì<_Q&¹›óž„ŸŠ^ùÓã$ ²?³¨)T±¡2Q`÷ÂLBò-Òà÷˜»”&!Øp4^‘L^(Rt¯4gÖ¼@^åÄ¿ˆg´CGšô’ V¹ìÝ/‡Ëh±Ô5«Y˜Ï–â;'³¼¸ÀL8á}^Ý…õä÷l쎸õéœb¡%­¨®DfͱÏì.±þ*Ê¥eª^ZUç X’²”'¸õ¡W« çÄ>í^f3â£.pŽ$F^ž¤okíR[› ÊQ%:ò·Ô–v ÏA µî‡Htªê7|wàŒ©Švôô8=4¥FÛàzeB°Ã'Ðkï_·œºlíȰ°.»š½=ªßÃZ0çH@ž,ª>Ć´¸Fe^<%Á¶öwXé¢èûo!ÀQD…úØ{Ëøë%RÂx7·9'ÙþâKfïÒ±iû§ᨂJ=ã[¼{krW¡ukÕþÜÛÕ|mó¹v>…Ïÿ¢Ñ‡TŽ#Æk£ r‡OA\Ãè’[“GÍáǵ# y à‘9¹7ˆ$EK–ƒ„ú€ÕI÷,-„ÝjÁT1)$¬n{F×Éöa|ÿÄßGªI X®4/ú•ÂdŒˆ±ö˜Ï÷·yøQîOŸ¬–Áœ°Ðû·¤Y޲¿^)Iú ãÜ<¶¥úuùD„ôBØg²Çþ ••áó.æÔþÌÖ¦aaÌ—±‰NðIißó\T›Ï°¨+ ±¹ñ|ø4M³Þ†ÚÑÊžxÙÏhÊfz—§¦dØ\™'ãlyÊòç~8:Û]Ñ&ç•ߣ²6©ÂU¼[5ŒÒ”rL?T ¯×¼^y ²Ò7,×íQÏÒ¾“vsäRt„ÅM®[öÒ3tCuPŒƒ¸ã#Es[Š#+« àз>öuÎx‹±o+.VÜ@†;GÿWŽ´¤Îgÿs“‹Ìfžé9œyÄI[Å ˜GÖ¼IÏ=føzº¯P0‘ËøPö¥}² Ì鸖ï}sšcYã[†áêÜwE±6îÙ;ÍŒãJüÚé—ÐQÎ$«â¦*2;q¨Ùœ[–œñ8Iã^vuÊH,°)Ÿ‹ýµùMƒ°¡K @£©÷SJ8êòG ¤øKƒ¼Å’»¿4@ªp Ë­2S —«ô ÈËB7n!Ëd…ÃŒü‚À­Vý…ÇIyð”ݪ‰¡0ådpŠd'?$ cËÒÇ#é¨mÁÜÏröàkÜÀC|fž´¡óBìŒìBËi™äeõîVj–Ï&J–Ÿ E>Vñ³«!Oy3šJŸ¶Éqó'g’S {Ÿœk:¯fu7=.¯…Í^Ì'CÝÇ~RVé|F0¢è¼g‹û‹ŒFšÅȪ Èc&߯‘«£=’]»‹ÓFƺúbO½tRCÙžµ3Á}ìÞ“ÅB$×þÖétN+FeξR³Z“äæî¯£ÖeP™â_åYu9y0 YDˆPݾ¼6í½1`¥½ÍEÜMˆ¯ŸŽYáldßUlá`ˆ•‹Ý×6áè@QÓOÂcomq$9cYÝ‘¶0§ŒC°¡ó¿Þ¸˜d…þ(Us?;öß-ìͿ٪™`Ÿ;á“JŸæ¤ÉÅŽXfé›)¨Ã¡ó¥"µc¡釼fµº_~ÓkÀNGI\¨†Wɘ›å? @Ë‹jö† <=´¯@¾FTznÎu+49ÈfÅ;¾9ûëƒÀ‰s2(¶Àq %;p›+JÁŸ\oL ­‚HéMPyÀºYñ61O1 lÆÏWµ¿¡ìZM7„€|sŸ¼§¹òA âÜëò6¿¹°yoå’“3Ig¬‡ãÇ>6)ôOÒQ.„ ¥ÊÅ#i¸Ôtþ«…7‚o5ÿ‹8u÷¦•´¿äÈÑ#kÛÁ+„Ë%h÷'Ç]Íâoªn MOÇ|³´‘8r¹Æ&Ë |p™ÎŠ…¿¹#5~ïªHÚÙw§S(7ÒSqÁ¦·èbUëð+°XŸx”b²!òn+¦£³#†ƒ€þ@0ÑúÛ¿3´†Q{å²0ˆ(kƒeQ÷’¥ ïPRêz^âåzáù]³†AŒÕÏ z¯"BôV#uœšW8²œœ›RÙǘaˆv™Cã½Uñ”•ŽQbýp"Û*”©ÖÓÅ{6Á(ç+i¨ì š”ä‡3(E¸²ÂzŠ—G}àš#VW½›]®_ÿ¤ÄZ/¸ù˜ŒX¯»#™lÚæc½+¨|©wýHØïKJ¯§ù[i½Ž•Waî7ê,¨Bk* R•9ÇÛ}ë*úšÅýÓØ,s!Àe|èòÛû|S™“_HF î`Ü&]NF.}Ör‹Š¢d3ò,¯îº*±¨Ü^‚f»´‹«  '|:(Ò´Ys°Fzp¹CП?ÀC¨ë²ü·L þ@`2\,a…Á{±?’MÝ áTØSuX9‘äûP‚Új[Áè礧ÂnŽ€£âná1Œ‰Ðo¹WJöÝI*èå3zà1(‹¨®uóßàÄÉ…€[WoÍ{Kò»ú‹Ÿ¯³©VPkT©Šª­5~¯kèp·|\:@¤Jí J} t:·dûÔexÊøý„¯KBn Ñϧø=dœ©^O½Þ"ö0¦¶Ñã/œ&þñ‹ûUè ·]êˆ-hk:ƒ`ýV"J7dÿ¡AÎFò©q2®cÓg«zI{~/ÔAö”jó™•Uly´O™ß+sfÅVÞ HÅŽ}ÈÆÇAüªË ‚ër[ÈR±°÷å~ºPî7€ÔÔáf ië墢¤o/ÔY†˜’¨¨sgÑ àåÃ2@P€ªÖù:œíJ«Ø¤Ø¥ïq“¢—I— ñÑgÜ0®t÷`\anˆ~ ²ÍÎK“‘_óCÜËܦ}‰ßù®½WædSJÃ<ÙàZnaì¶žhgVÿâ4‚‡·OʛŮB:¿ï¡L›n¢9¦qßîb©eSE¨I4ìÐ9ÿ¶)Õøi®lŠƒçŸoÆÛÞõÐõÇÐóŒà2¥˜šl!?<6EÕ·†E ;–R…Š,`$^?è»têøòæ?x›˜BÙK‰£Æ|ðz™¯Gª4‹oý-Ô¢Ëbø¼Z™U³¡»\¶êW½=4«:à%¦=<ôxCþ¦ÉG `Zþ [1^‘IÁºZjrAþi7`5x}sÛ¼¾­QRàö+UÁĽkn5`¼oÿÈÞßaZ:0€‘½TÉ"´Ø¬Ÿ‡ýœ€½B„”ëG0YáÖÄG”÷´Õ?°ßmm$Ï0ï´zª/˜^Ô¦âoàŒÏƒ:7g n)@â5ëE§§nêÏÐ6àïµP_ð~¨±X~Šgªñ0s5Uq²ÑWI뉇ï!ýœ¡V6°†ÍH(¬Uˆå rK2áÐ4xc܆‘þ¥Œ &¤IFsÃOý7§û­‚•=ËöC^$â#ö§ ¯Ôz‰9;b(¾çdŠs$Â-ó±&­è‹™þ©6?C¤IÔšs @³×¦•˜â ÀÄP•·¦¸>¯† 9r}ÞTvÙºjý¯Àj2702ï „¶ãÀ÷t[ íCO ©ô¨}L‹ˆìà 7Ë…#eÀ}—{¦Ø«év8 „sÚjYã² E̤p `äp­[aܼÂê¥îJëmÃ{cÚ>:­“ÞÒÑ]?²9Ž-–iäŽ_ssþæÂ%Ç•œ1\I,鿢`){Ú„‰Xøµ7 ­_wm&÷LÀœJ@­—96}žó W¨€p0»£›è$gùæ3@0؉jàªÑ¸:㸠SB†êvØÆ—f-ÉwVàèþ¥Çé÷ 6V tT2­'Ó'Lð£do³xéa’ïÛ—³¾žåÊŽ]ÙƒG',ñFõ$%sÿ§ ]dë\¬N<`9âQNæ¿YutakE…%¤.oŒ‹^îEÇÉ] çÇ•:–$œ£K³vï߈Ùõ†ä%Ò©L«1ÏõŸô”OQÏ|L‡OCƒð~ëÿ?<15†Äýfm .~Žÿ…˜\’õ*¹Á\¡×s{1'Òèˆ4Þ6žóïáz0Ûå¿1Ôè…×€çÆIÕS޾óΜ(IK£Ö‘Y½rœˆ(²ê=´¯«ò&-êpJˆ›³ªk©÷¾f›,œ8u ’àý»ÚoÞ¸+Ž$…ø“mp8ntüÎá‹c}…¦ÞŽh˃ég HÂÎ"g´_ŒÂÍ Ô¦“U¬<¾aTˆ\‹t$šùäoîÄ¥ˆ  õÂfNËîóÓô<ôÔC_RŒUØ—t¸ÊVüËfb3°ÿNµ‹Š1jÿõ…•t\¤qà:Ù’T†$ã6®*/&BòïVmÛP/—7¦Ô•÷JV5œ®ÅèflhýKô|Ý`?Øô™o±âPÞ$`dΞVˆ²l‚7CÆÄUÞn[ÙD~¦4m³ˆ˜˜øÌ$5zôÚÝ]§PrÉ–ã‰ëÏç®UÂ'ÅŠDg'ÿ§d£Ãá6ñƒ皪Êá3à`Ný!æÕT;²Ž› μ› @§ÌÙaqÆ×Ÿ/»õ >äÉPÄŠ Ÿ#±I"¹w…? Ê©ÇÉÎU\uÄ\Âߌ¯ZžU1£ÔC¸mvx$“%¨êÚÙ‡.¡[V.¯Ž×¾qð•lL\òñÑðmBµ9޳èÔäýÿÏA¾Dø,!•Õ ËßovgoÎXÈLdÂP«ßÔò*õ¦Ü!*kwäþ0˜€îQe»Â)¯ø~èò–ý<`ˆø¶ì¿ÿÿYÕ )`J3Yl©D­¦Ûîîs¯F·lf&‡+¼¯˜cÕïûÖr:3¢j*ò'n0¨xM°=–<ìŽU.Vóós«Hs›Kêú’™ Œ7}‚†;ª°IFÂVM‘9®¨¿v(âÙž€¤O÷ÄsÊ jÚáøµG¶´€—Ô€¥Uçì/J… Z?4é"!ÚĽÐq-ªÍõ§˜Ž‹_ Öe¾‚PÅH%´ˆ‘óL¶%AC¾oFô{ÄšA‹*… É?…ì÷Ïú‘€¹O.ó É´àø²ÌÛ#ÿgg)>²Ú4ØT`6à‚_uL?]Õ†¥dºï#0™¸g±9 5)“—ܬ±G+qI‚ÒtƒÙ]ÖÄ*j¥†çd¥ÿ\ûæ޶ÿ~]ÿC=|&ß`v"ã~âØôí™ë![–…®¸F¦inRåŸð¦:µÿ[ˆå6FüƒK/ôÀ nö£%²WøÞ/äFF}YðöÐ~^@-‹W¶r¬ÿék©S¸H”ö®–6¯ ת²N©…3šÛ›r³5½—1 ˆÙaÚwøî’/tÅçÄëEï‘oY*V…Td•bÄgÆê#Îm]±ýn ¥4¯4N%0!7í Ÿ¹†«\Ó‘@óR]øˆ©¬S›vûeðÏ.V1ž ?l¥¥l쩳è#÷¹œYŽ]wOaȉŸó¼´³ `1 ‚¡5”š£?÷sˆ‰5êWh‚Hè™Ø-&9ÿ€;ÀæL_¶fCXòXÃݱê±#úø4ÃM–;¦(ûž—ÊSQše’3ˆzܵɮQôÝøiE©Ï}û `ÙÁûÝ]ÒJ7<Ïrç¾§1ø®UOf+Ts™Á“¼ÉÛ‘X}¦OÚ<£í‹$ÎWhºãl¿ T$R*ŽÆ`cw Á¤ §‹o+xýν’éš@UðÀýDúÿ´E´#½MU-.\=Mq`tÉû¢ñH~–Åxq@8nLgÙObTŒþæÿøh¤ÂÎ’ÝvŸ;¬[!N¡"­ì›=$Á!……âšÅ¸;Rêz‹ö'›ô«5L «0wddíôÞtIBŽô>ÍáXvÉûµª˜0BñìÁ]nýLQi_ ½ŽÌ2—À0ET¡¯Ÿ\Ujn@9ðÿžäâ°áï6YPäÛ+´}ýýUˆõ®gõ?µ2»`ô_U±vCá'Å kxS0ç.™RÓ–Ùð±}6,h`´¬ õŠ"ÎU´{ä«WýÞ”ƒépÔÉ"æJgÜbêðì8IåΑâÜH˜éŽë= þÐÅgëCe_¶q$³")åôDý¹ u‚äû?^iƒvRï€M‰²„N˜zei˜©Ã¢gA¸zc‚cÙI®à JïÞ…$û‡¼L{©`×$²]dÞ cÀ‘-­ˆ/v=Œx½BSš9†½K¾¾OÁ„'‹—ë.¸):4êhZN;°/\#ÂâQ¢Å¥™±S] ¡‚vLå(©;´îµAFâÏ_Ù\;e’”îá¸Ùi÷ûeƒgŒÚ °©VØ„âê žcKá 9zuÉ3žR¥œ»¿Ì”ÖÏI·ö`Æû4?4© Ü !Цþ£Ýü‰GB),þs²ÐA*#xÞ.¸æUð-h¥ÆÇdƒ{²UþnìŠ.z¯ÉcmeÏ®hH9O`Yuøò£°”ª­ûØÕ°6o"(­"åäw¸Ê#ÁÏ•žÛæyd’‘Ê ‚Œ¬“ØóëÊ%¹øø¬z9uí1qñ•OËÓ/ L¢èÀoºöO‰ßʨcT@º9ÞxÜϸ„Ú¹¥CJ¨nA1hi¾h½{:QÊÒ\À¾DAgnŠª¾›}ñÇ'oO¯Sƒê†K9šÑÎP¹ôÍÙ3…~䣫dúðѯ7[îag¨oUÄÉ*rôú:ÃX»6¯·b_ r`jùÄù)R*EYÞIV$}J7%Ètj<˜úR¼Z`2H=ø™OøZÜÛ]¶= '¥»³úD½¡dð3„L.מ=³ªˆw1ûËgK¢$ IÌ„ŒB ÂHÿÚq䤣¡Ý1x(¦›©£âQËÜIú§··eåpéÎÔã<Iÿ\W—EŽ©÷ÿÎóë²ð·Û@^ã. \NåÞÿé‹Ã®/Ùõ¦CÚ)L{Šƒƒ7I‰nØâA¬Ë,Âuw0 ‹ÌnG†!ïTŸžó=dNo— €z­œó3œ¹éÎòèðï§”mÏ)ÒpÖaQ”3Y"Sî„à”À ¯ Ô–¤m"ƒ5{ÝAóͲ‡bMú†¦7¢À&¬¸æ$äˆ f3ôg©§™ah4iJžCMÉ!ÊÓíµ¡˜E4Jعç]$•'Ù¡’6šôt!åO¡à‡ÈÉ{ù}d³ÔœšÄ®y¡ç{ÖšxtúÐÀ …mÆXz=`é·•¦.<îÒSð1у4ÅsmwýzÚeiû[§¢U-z,ÁävnpV@Ý~"Zº#¾˜ÐH^²jÒ‚¶¿ÄI‘ð  û#*µŠ ~ó†u†¦@É‹ú|Ï ¹Ø%¿(9âSCyú(Ïd2yšæC·¨æ+hŒ<Ì:A)¥O¢3j+-ö¹Þ¼Û_ä*ô5m´éK.¼;y‰…yX¡'\§îŸé‘¿~ßèo„jnV›ØäÛ¥ a(@Bqˆ”a"ú™÷¦ªÙ‡´#;lM? ò×µß ã‹—©( ÐOŸš¸+ßžYÙàêÏ#`Û½z!FpdâÜ“°II(àü¥£ [ôpÃ.þÃòXkBž@³â¤sȃh lƒs1ç+Ø©u^¼%«b+$?Ò¯»~É4¼ÜWçÞ]H¦F‡>³å˜^ºH¿\GuÝi°ÁÆÊGyMwì…¸þHuéóÕý'ÓÈ`^]ŒÁž ‡ZHM Ü€8ƒžsG.³M\R }Èž’—m?Ú·®àæ±[/Y͇NÚm•O/|Zæß}»ssªé7BR5)Ÿ§áY—É‘÷€V&y8DZwçѱñÆ ¾éu ¬q|ø‚¯WYW0°‘¡?0}|‚¹äØ.¥¦Ö䲨)ßÌëz·çÙ—­Îv°ÐÝÿ¤íD¢!Óy~ƒš®«>²”ë!HûèÔ&zÎ[uùάQ",pÁ¡kžŠÜ.^^Þ‘[û`Åni9nò­™ô¨ÕJrNuÑA°žhøI+0,êç&(W?Aà e¹ôØÅ¹Ž*'1Þ¯ò17QMYsš 3/á0Ñ4ÆÕRQHýY× ç·XXËg7¨€` Bh!å`_È É6ô;J±P™5þé½Iex›ÌùþÙsÒÉŸ£Í¹À³DqEol¼„eƒaƒFùØç}¡¼å²¯w#Ÿ¨G{ÒWظÑ>î‹%%€O ê²Ê:ÄÞÁ–ÿžýUù”phaàÎñdÜdS“A5Ãg‘<Ô¾Ñèê<¡2·jpŒUTgsˆg .Kކ"Æ1±‘TøEÿ§0X3ë4¥¢ 'ÁÐlŒÀùB¢!ÌÞ2¼Íinr¦7Ó‹GâEè>ÐjºN»óõƒ±JjÓÉú²"ðŒ’é?è‹„ Ñ/)·gW *Ñ$²þäaA€~ó& §Šº%/åß,h;‹ ÀP‡+)‡ïv}¢K{v+Åø‡fr#2“7H“sž¨ñ8å¹.WIì§äEì¬4Ã;I>|ýç!sàcäŒi¼îZÆékKù¹MJ"iš§Pðª]Gô›ø˜ì6Sæ`#¹™¥rûç[NèST^"=™|Ö¥1]:%mGTâhyõáE×/WÇÀ_,Õx‚ÈoKMs8¶oqcX“Ý‚Gü]æs!ëįëî¨\Š ‡ó2=ó^“Àö:Ûªt ä)Jä_ým5DŽ΄à»°7(zႳ­þ€Ñ×ëƒ]¨²½è“¬‡¼Wù4›{GQØŸ,uH¾‘)£¯—"=AH¾Ò/§]}PogC˜Ôͧ¦»*ZþŽ¥n´±ù‰gŒNFE‘]'‰í‹òŠº:aûï±H]sppÄÙý–i]r&Ø¢ÈouÖíÞô!%°‹=“ÓëL‘O; L–o^Õ\oçIÜ꯱—¦‹¡ý·×iÆ`ï³6ŠKrá~§”­w2¥ï>¼ókÔÖþ×5ZÉÿPø§¤<Äï5©5QЋ®@¸j¤ ïqûdA¦Ê'ꯀêéˆC[à›Ã‚_9j­^ ¢–2  *'ΘLJ:ÈŒ Us$%ZÆòY G)PëMz70žÈx£ØG÷×M±{¸@” YÀÕÙ%âÜOQkgU4mmˆ‡Éâ¾£ÔÆ¼®?A欃 öá:äÁŒINo½T‚´aïú%R™2üùkÚÛù9AÎŬ\isBUK´¨§}d‡È£í·þ”G9šK'¹îøz©LFû0o)§q~~­xÍ),T|ߟL§„äÓ!kžRé|»Š*…HìX›³hp†1¡hÐOUšiîðïô‹=ª0§ä=NôI°_q5Ї<5ktU5‚x¼2L¼ìï—ÌãRú7¯%û}ÔNzFˆ¹Í'RÆÂð)§µ¨„¥ guX½EpQ©“‘Ú»h&Q—*G#‹ÀÿR'z.m ð7H£4ˆ»ýA,ÄÆ [(ÑÞkHõJ¨¾ºtç®6Àù·Íšëð-‡&ÊÄ“)Å“åiÒKrF¢K„ë>X;Dö­tAžå8¨³%DÆ—áR&Q«ü1L°rBVû$[ ·I2Iõ¼Ft½ªíµ÷奩Jèf0aú=¿”^MÇeÜà2±‰ò/ NvÔâéï/œÉ¶všÔj}ÿÒOÃNkTûÖEµr‘p†éksrÇÅôÌÊñØÞÄw­X(Ëof£øbkÌX–2@+æÚ8˜u/ûlUÆè=†ãG([ް¨éùN_©X&Î#T ˜˜ê`ìÇɯ†A7Êy$zΆrÔçÏÌ®d ŠF8×qßuI«+×m„áWêúrïc±-ÖI©´¿Ã9ƒÇ`+å¶ÞBŸr"PÀÕÒ˜)‚¸_*šÌµ‚?I–ÙLi—Gô'Øì 0ÛÁÓüyD÷Idh|…,9#Çâ‘V$z‹§ÛGozúbIÙ7ÌCð£-ö 5nsM5"ÙÜõ䳡}Îo'Ÿ ¼ËèÙÁÖ~©ºMeœšäähü¢2H¤*÷³Ç ƒ_‘òOî e-š?‹cŒ.¹Áß³L£:;ܱ5…5ÁÇÒïg$¬æÆ76„%vS6MÑßÓíù¬Kå(ÿ²w?;È´T _ÅW ÍÏùåÀVsúVÏL]Êk¥ïXô( §Äj¸W[Œ~¸æp†›£t_S•hJ!§äë_·ä=ÃÇ$;–k"DƉ½‡ƒN@“¿ÜãÄí›4ì_ ääg÷ŠÍro«åÄi–5©^,. Û8 Vg7¬<‡‰PدmDµ.lËj”2Îc;˜D¯sù€dCæ£t;Kñö*¨†þ`é$HŒy“C/ƒæiKE[ÔÏ2¿{…“Ÿm¢OùÙdX¼JI‰¢*ÊòÈ¥øß6¸ôhñJç ý‹Kö¿±u_0æ#Èo±ÕG?N±”õ‚ÛCÖõS¹•F”x :Ø¢|„¦žÝçõ¥‹^:Çè°Ô÷1ä‘YÇÊ· žoÈ ý–­¤[Dá½*¤â殹‚yü×â4‰ H„<Ë‘¥Vð@(˜¡ šª•O~y4Û×R\ â ÿ¹Nw¤w­uD(\mH`É?˜}^!ÌvÐ;vgb8µM£Gý²™Ä×C‰eCÀÉS¬P÷>–”rx‡I»Ç¾7gkrL¯1ÇP9Ÿ^°¯‡~1ñҧñ½öÚ±´á2ÛÜ»-—dq(’l­(,k2ÀUÒíÑ· W†§/ŽžáËo¨Ïz– h‰K‚Ó9yñ¯5MßI$Ÿ½RÊi|AŽNòò6ÖÉn¶FÛy‡"rèK$x™Ó¾å¬HÜùP»è,L½÷Š,vruœY·y‘g> ²ƒ~a–½Íu.?ìCî™Q΄¿nûˆà}5²Y ªÓ—`Ç+9’ñ?\jÔõ¬7“Ô_'z¶ªQbz4¤{Òñh¬›=ü8!Ê=ì4ä¸Ë ¤6ìÛJ¡Kš…o€ôÂâ¹Rnh.³ÎsDe²H'i0Q•×E˜—Ûj ©,l䇖ž®ƒˆï|\fRçš4òŒøæQÄošÁE´œ5ÃÜÒÄçubÿ5 <‹RW(à‰Ô¥Fuác!hW)Á®ÂYóÕh&^Ùî—ÏŒ¹N„áGsNæð"±1é¹Ús®¹Ø´žŸ¼Ó ʯ©QòhfðEÝ›`WjƒZQ²Ð—Šó*0ý¨.ŠÞv¨ ·3°ŸÓÃ:Å[«uYW36Lõ0y±ú•kbæ™T u%Ç1$J×'àrõS#ч˜û×£ÐZ`kS®É×$s‚VÛŽkðff pç'_^c+PÚ6´¤• ð%É[ü•g²wS{ˆACT1hHSD©Q`´±¢ 9’¶„ù?¼Vâ§¾õô Îüñ=“ÊDÑÚÜŸJ\Ü­AȪòh¢µÔY)âG÷¬É ¦¥í§ýÙ ~–Ľµ@É‹^ qîñÛNs4©¡<ׯÏçܹ±fG®3}ëÜAøb¡Âqª·°œ;w¥'1œø’VQSDòýƾ»BhlßÔ•m›B-–KŸ‡,ƒ9tŸ·Ý8Þˆ£Wà,ÉÜÜΧ"—–)£9sUÖÑØ\ÚüÉ^þîëk`@Ï~Z küÇѾâj šáëw–‰_‰PKPb÷ÔRìC”ü*1¸ª75s2Wt/êe;/þH,®l°ãÕÁz&lßvy-vàô\~$/quB.>©¡ùTv0(•|ЄaÙp Ab.°Ý2ôâ7«xÆm°©Î½B÷fIÛ™MH½F†—IOtÈÂôCÐR‚*cé­-’Íc,EüãÞòwLBMܯ3~Žœ K­cÛÐ'ª±n,öµÝW„LUeÖ+©!gŸYJ)&->EþCŠ3â7bPfç/úû#0ð¸;Õ© )¨t‚-Ì+/öl³5lãmË©y¼KSÓsíõÙ ¾øÅVZ‘¬Ò¥‹7êãè¾pô@¿[(=¥ød&·Ÿl!E…XL÷ǹ-í:q9ï @QQÑ—v™ÜÎ×øíRB998¤â¹ 3is,P=®è-$9 RTöáä­%µÙ³› CŒ³@ýçuÍwþPÄ ~óêW˜µ×ý¢ò¥¨ä‹R¦œÞÜâw®´‘"’aœ,_FbMæ'8@‚ÔÔ*‚|ÚD˜¤ÿ‘13"¥)94|ì»Kj^,ÀU7 ^V|Z²ó«+°O0ƾ2/ðÇK:ÑM[0¹‘û×ïíaÕo¾ÚÁÞµwj =Jòš¬4v±ÊÒ )G’þ"Iìîìb˜¸oA™mQôºÜ6¾³ufÐsFàÕ{Š´ 0ðε°Ð&a@‰kCí¶ÊäP³µ°ð #ÊÍ×’†‚)«Àow~±„n<]¤iÕÖ鿦Ÿ xÝ1þ!å>´O9°}$¤úS>¤W®é oØu%,´bb~:Ë>¦vöœøÚ,ç¾€„Ä9›…„T¨”ä–“Ƥ·à+ TÀ&KSÕØ8ð$è»*½Hð¥@žÄßyx1êÞMHs¡}SËË-jêñ9ýcgM8 ñ\¤§(ª¬Íx2šnCÔµÖnÝHuâX™g„Ù½L©v@÷ͲGîAbEÛ™e£_ôf ç$_íÚB?\sè¿°²MKôºO³SñTË Yñ`î¤x½@ÖØ9ÛàÅW  jÞkuÉ‹Oãsã›øµ~l b#FrU/ªpDÏÖÌsˆÁG8íS’AV¡x–¹9K‚/v\1k3¯+µ*†„=»šª†BbLÝøÔ$n²+1M¢ô¢j_Ã4{äå]´˜;ÐôÄÅ:Ù5%œ›^‚†< º˜é= ŸÀ&/ê¬y/¢(¦ƒ §ÿæ£×J­z–®=ºó…dÕÿAÈ’z#‘#– ‚­tIOÝJT·fEx¨Of©í(™´Ë«s ìP/2=ç{*ø°ŸþÖçlï3ßO¤e5ô´:…¢n¯üã– ³O-ŒŽÉôŸCB& ˜RÊï ò xJášE“voÞå#¬÷—“Å»™Á ‚!äbõ¶„4OwS†ï>±ÂsÍVþŽzš\Ä.Ô1 º¡d «yì59&so§];¢`ßÑ-ÇþªA0;EeÁ&s„g¢!! ®¾Z š5N¾þ”SŸ¨67§»ß´±Ÿª: úRº‘Т[2¢þ$«Åï\¼†8cñcúkå+ˆ^Ý2œUŠH]<`µñbúžÎ…•…17'¼½ò|¨ÿZ€NÕÑM¯¾L+#KI½üÙEÏ2Ùµü_g€ãžâûK¦8—Eû“røåù'P æ”’­Fíköÿ¼S'™?•Y®p°¶ÑM6¯j¸Pð«É[%Är•BªwŽ&¨dmýbL•kЮKœ¸94A¿PÔù•)è÷¶ñ!³ïi×¢“šXì·Êž jÊs³1w”¤Å©¢\•×zø¡X›}rè¥2Q˜ðI(xôØ·K§{vmú,°òÁ¶p‡Ì©›b¬•ÐM™ ÆÙmí%•}ï³Ã;;;tçМç+…Ðý{{,:­wßÄDKªqÀ†£~3~e÷F'–™oèózpxÝGÍlAÚýAxÜ|cµ²ÒÀoãç.½b8FûRê¯çÕ bd-ä™#„JPhž&ês8«˜ßA%‚‹ž©TÌ«;v_ÝÊ#ñðØTþv{Aå Rä„=?i[íß‹'<¸ ÅÄqì=tØÚ2–Ó?¦`'µ·Æ/ Ük%\ fJ1w±à¬™ €’—®òsú¥¾ó `»õ·Ž/j2Á?øÖ|VŸ¨‚©UYƒÜè ÛÏ*\fäÐÈê+)Ñä·ä~ïi£''ñaðE³Ø*ÀøU9c;Z9ó(…Ã=ûEIZÛd’¶W«¯lúÞtFÜõkbã­,‰¿oAªHt×è@DZa?üajq( ”IŸ¨1Ú«ü6ê@Ž寯٭`,E\ *€ß*¢çšœÁL…»A¡7ÿýacqšÚbŒròîØE6ªÑ·‚0Ò,qM,ÔˆìBj<.öj^¢:Ô•ƒ#ÜGç@Òö¥.Pxßj ¬ãYGxàd½vG«ó¤ÙâÕÙöG ]*œ} ­€UÉ–g¸ÌÅ*1Ájˆâ$’³…5ž¢c‚VŒÁ‚aÕ› sY—Ìëw¬)oï‰Ö8“dªK\“‘Ý}…f¬ÞØP†aêûÜâ•8×á\º2ù.¨€Œàµ‘¾ CƒòÀ?/‘J8;o e6F Ó<æå…œkÙ¹ÄÁWýç™d5Q‹°µÚqõAEÈ-ÌW³vëÍ5XOú˜¦ÖÙòKkébÀ€çõ~]";…„ž—ÝNEž–ÝœeÉfÛ.Òfß,ùli$fè†KXó^z +•uÃÚâ$M‚ÚÈú\ã¥7ë,b/v®0­»ä?¡ä_~=ö6ô$!±ÕgÒºw²HÆe¿äoº¥V¸È9Õ¯'5 ýk¢÷NL±5]LxOödlÙÙ3ckK©|G‡y3×ÿHv®$¶dÁ#’Ð5QzÁd[oÚzSÒÜ\¶<ÙòŒùJÍ'|_åÒ0 ÇU¨ìî$=U`)ŒÖA @vrÆ1Â÷4mÁåØå¥=/ø·Ô*vÒ³âù‰³±gèçf¿{Á¸·ƒ¨+œ$aîm È pÁËïpØr6žG(b 3{ Ù¶¯n /õwÈšj Bø“¾v±ü§Ózô/³”Oשšê¯Åza…Íu¦c'ç­p§Vä •—U©ð*ñ¹<á©}#ë÷úŽÄS×â•eýÇ;XnRNrÒmÝ=:ž@š “4ò0áæ0xºŒÌ;h%Z ³—5-<6(`“ŒǨòåIª^c Î) [ã´`ÈʲCÁÛÀË­]äPÝÒ{b£…fúðÇ$Gð›±-ˆ>R̘«±ÞtðOf×6µŽtz—”/ºÜ-f•aهαdÆÝÕm™¦î$ê08Kdš*˜C‹G¤ŸÖwþxXáyÿ5!]òé/_7=ñâðÜÖE¤[’üñUÄbW åÔ’üõß‹ âé˜ù4϶¨æpTë™j"ôåf2Áº;lOÏUöSaºQ!¥xhHñݸï1hk702\qóiÀ¼%ë˜eÛÖÂ!ºÎ÷ç>®¶ÿÎÈ`÷óB³Æ»¤U.wáz·J¦”ó`P᩟Yazpˆô ; C± lþõæVHÑkƒRb|L1Ù§žKðÆ”œlÒÒ¼¡„Œtm¦§T½ÅWh·îÜ’ú%.ׯ#ûÝfQC°õÿ7a)¾lþ ”œ] Çe’7 0‡ÐbÄw-F{Ç +"òṴ́ˆ2Âÿ8Ö”0qĸƒåljÀ<ÝÜ£{¯þmYȪVº3ÃípP­»£€þ8½¦Å~âÁÇãcEÁAñŸæ½^G¿¬ÎÿÕ uKO1ñÖÿ-ùž¥FÓ*ª_-Uq›ïìón:[^Œ@Z¹ñ§¶Ì[›¶™Ó¶{¥.d,“~~ìïáÇÆªÊ%®,^lC‡.2S)øá =Ž\XéZ'áÆsW W¾ ¹~)3†®’„—ŸÁó365Yjå…È(ßÖ•ÀŒ‚¬7íL1ïV$ ðVËdÓ«àß²i5i¶»îh”e—(¨tøÏƒØ‰Þ³¯ªáÇU¦||Êiee¨5,³ƒ—ZïŽïΣ Ó…Ãd¶Â6gɈQå$ײŒ·â'äD›„,5åôÍ›#‘%}´[IîÕÅ»!Êuþ÷àÂ<ý»ßïÔÀ¬[ÌaȧÿÈÙ2l\ ýö„Ü&NßÖìÓ}Aû{á)˜S,[@ŸTÁÄ?ssÕýÎd5dÙênt§‡ üGãD;¡;ÿºQK­zèP<(þû&–Ý™yt&™#ÎÑñö½‚ðú¥ Þ]ʵUÆ[tF§˜B7í‡rñÜ 1´k‘ú nrw†ƒéUàË(Ð;­OÖN“½Ëhå'±¾krgU}gº–êc¶âRÎ5©W8Ø>[îÑiÝ»ðˆðlPÝ|ÈŸü&4JV¹A)r#Št]®žj ÅeŸÐnÛ¶ \èm¹õ{%•iˆ#:” Ïx:´o‰hrÈÒ%ã¨zBÿ,N*áÉ•·])µJšçÎÅ›ÜuGüéšø5$x6¿I ØÐØPäM… |ŽBKq«ÆÜ¤ŸH?ÚVYó©Fî›­h³´zÕúcÄ^•Zé’“-WV”Ô.x–›~޻ѧ¤ÑFhÒ¤Ý×ù8þ¾^ÌÊÏϵ½¹ëðÁµ\Ñ„Uÿùâ®'"·¢­sÓ Ø;x,]+ú9‰* šÒ p]+³öbûâ-×l2Ø7øDFl®’#F\>{„qS2ÛŒgrL¯By‰Pù¬û9–|aâÎo3Bo¢ùªíЛõÙàÛh—Hˆá‰)Ð5´ëÝýmcÝëÓÝ¢•ÂÎÛ¯ÕÙ¡s t³ëno/«8‹¬½­ ÷ʇǽ¹5V,¿Æ½Cëk¤&œ1ôÙz—ÒÑ‹(ÐÀÓ6øõ[ÔäÐ÷uÛÆríiÛ7Ö¤T¿˜®°œÂä˜öEåˆ!øÛ÷WpQ¿W¬-ÿ¡Js(ÊK"AîPáÚBôEûž««à·¥Iù¶íG­ ”&}«€‡™eèN¶Þw¦-}ݼ`Jtž¢Þ§ó+ÃJJ¿^ZÒT¥«È:Šojx’R@µ"/$—1…ˆ9œÆÀ#ýÑпꇾG Ce3èÁ,#/;àÔþeÙ’¾’`?tÞ&³BÒ¶wèsû¡žÿþÀ}¼×ɱD ·ñ>ÒɸFŒ¹Þô6ÛçZþmåm¥ØJ†»¹6¶J ’n[itqø¸° ]Ìñ3U`¤ú‡|¿Fì¿ê¤´†H›|·Î‡ÙÕ4ø¸w¨Ùj&û\€˜çƒCõë„VµÖÌžxýFï5Ù&vô™ð—ÅòA ¡ ×]œVlýApŒšƒU€ ìøëŒgÚ$¬|t˜tl¡òB Œ¿Xþ×v~Ÿ²Mñ„fKƒúmdtvü6' õ—B2Ö,Éž÷ÆîPÜÔ›:ñ‹µÏ÷–ì“qó%rKâ!&EíÕ¢.;… yÀoO_ܺîU¦M¢‚>ãïe "E…Ëv±WW‰&hB¬Ls‚ –@<Î(¤! W ĤPŠ©'Y3ž+.oóε²ºBÿkÅÁÀ~1ºJ\ÚûBÆ›L{èU [Ð[ ‹ ×HdFÎÝe_û*¦Ä1^ñ¾êÓrýP!ƒ 6Mú—¾L¼ð59gžšnŒ)žŒb‰fÏ )û~/"Öö8QÎá%zÔö‡9Ÿ|XÕ,/µˆôÖ}ˆÆ hWPìõ£åα͛²ï`׫“z¿²yI>ÍÕ^CS=ÿ~Á±¿Ñî’^lŽP³@h(-¹¢íF±mõpøøøz$‡: ýbùô¶˜"ôëǵuzÚÒ|¦j ¦%pHËyw!“8WÔY5š°J[4ŸEØ÷ëä¡,h …èÿƒ3©üïÄ'K1Q´Ç–DÍàP<Ãäyµýþp¤C–„~Z–d'X°¨ª°^=%Dó´ÿ÷Xˆ 9(Ôyزt!¿{úÉ&ÙZ+ur›ÈŒª?±&ùiÄ+*Û®œ¡|’x¬:þãëörµÉ¤ RšñX<–©ñ2¼ãú±{ß™mÊDiOïÚµ˜&RdÍÉžøTznŽ’0¡Î­“9XŸÍM!è|ÏÀT³_?®üOÁuQë+h>å€2Ó©“›Á¨ëð ¼DhN€2ß’Ò{ÚIJ>ﺩëp ±v\ÛÎQ\iÆì_‡—¡²Çz‘71M^,ëGàzÌK¤ZzBrº1†¬aÿÖ.T‹2t¯Ô²ý‹‚·!öîAfÓR¤PÉ—°u羋`BáÙ>”ˆ 40´I2çÁLLœ¢õŒi%ðX)"€L´8Îö¶™$aÑŒÙD(+K÷`×Ìga¡ää•¢jS‘þþ {k±7,Ч•i-D=ò„ëØ·ç&λދ· ¬Ý‰6#s`ÞnVxGw(4󂌸=BÈ\ ‡5Ìõ=b×<]µ3ÑQ·¬‹žŒT½Þ¾-gCK„ì¤nZ ÈŒwªÒÌŠuâ¬~0Ä'ôxS‰Ù5ÖD‹r}/»^èðjb îYž¥.":æ Áz–®Á Õ’„Xñ`ÌÝ … c|Á~Ž9¿~bð~¼HOz!FȦøüëIMÝì‰aáWæ¼Ènó XÚHé¥#;2\ßl¿_Êßtɹ ¶æn™¼±èDªƒåebäFlLÑVÞ(ùþmdZÔŸÜ.5[âV–Tò Ù«  Hék ÐÎñ£Ö›‡f v0,õ=•‹{—Øa(é…Å_fø2Šo¢ø´9i SÎÐm>’ø\kO;g´Oå£:Ë,†+GæÀ;Ü…–àz‚Í–ñì¨c `i¦ÓܹÞ5‘Ö1? óµ8^®:<)>Æý˜Ï¹¨8E0fˆò>„4àÇÑžé퀚:ƳÄÚJ†²Úב*µÓS½6‹IÑRª›‘4¢Ë.(VËÕo?ZEêúsšÜc …{ªÍ«jL °ŸAò_­d~ŸºpÇØÓë6íñÔûžS—K'Š‹>s]:ͨÅùQO +‚×ýÒìÓYYí¼ÊnåhÂNXYûP&F(à\®ärÎÌÑ%CªŽ·7AC,eÜ44ÉÞßÎZÝ/UËÚIZ`Pùý"ÕŠ^œ£…•¬63€’¥/ò¶ÅÉF5_x³OiǸKœ(]ÒŸCÃô>ô‘/þˆÉê®èÛÑÃôK!tç#š«´S··«fÿZäz›IÎzI÷Áâ3;–ƒ›,¢ê¾ß¦ÐñjNÀúèí^ëýc»µ©W¥r—¯[úv çK¶‡ïCr^³"}p¼†&„‚é5W5³õi³ÆléÏ?ªOˆX²`\ŽWº}W >Šk2¾6ìOÆnqÛOÐê³§WÿÓeÔ!B& ËWó*ËSu«Ú©ÉûøŽˆQW.­9;&yntiÍ8>OKÜŒ„ĺ熛û9ȵT‹z­ôúˆ>Ž£7ØûtI"]ä]IôøŒsklµ”ÞÑ óÆÑ⮋I´ HÇñøòs¶(S!½²æ¦}ÁɽYjÈ«èÏÀöaQv½/£Í¶šW8Hl¿z[vaš¯+!¼h*S (Èܱʹv½ŽšHˆ¿ñ¬“Ö)Éd\“—Íô\[Rixé ö¡»c㥗S¡&¼•ök–D)+à‰Ô¦0k!Xy'øŸ°óú}öü¸wn/ÜÚHúþð³÷Æ…n•¨Sk㟹ŸY׉Y €ÈV/*}{Ù—Ãy°ÏzÀ`¼Î, Ú,£Ý¹žÅ<ò~Î1ÙK÷J*Ü´¦ï߯øIÞxÿsû¨ôè©IÁÿÐîfc É)B)'´³ ù%2;µÔ«o¢ål†BbØF¶uM:âtÀÒÉjóÉE=Š¥q¯Sv–HìÛW&{Y nkqE³\4ÜÖºµ·½Æ}‚ý˜¥R§%¥Fhß=UÜHh÷§²šˆÞ¼æ1Äm§‰ñÂßH¦ÎTÎ&¬k©üíͲÀ jªí©%;rÖeÅ/FÊâÈr[Ѹ:…ɸ•Ô3©`¬ýp|ßJÅ‚“gt<­§¤¸ÁŽ &7-ä Ê8eÐ㜠õ5£ $–«o¥‰Sߌø÷ó”ÁŸÔÜ¥¿ l “ꄾVxÙ3Ÿ‘v¦1ã0Ê£Û=mX“dØîüÛTÖ™ùDDGu‰ ÕµvœÂwW¦ m.Ž1ÚOTŠÏÍïm×f¥Ù^éÅH42—KÄÿ]ŸÖ'm$>†Q†r!óe!þ y×"<ŸgQä‚›«J‘nò‚p¾ÕÿÔ|+ Ägx¸D5~\Y]30D¤zÚº^1œá[ÑA… ZœØ–ÓFA³4µod öwIôv]³ï&±Ñ5!&\ⲚôÏÊZ¼Ä~.²Ž$Ÿt˜\P @|†{md¨­4¼8guLµºúåʳ‚@O£×æ;ìäºý’ž»®:l·Ý5ëÉ ‘Qg1(&šìåäm°öôq·|[ž—DÙè¾ú|ukð÷B% ³û'"ÐÒ#ëÖZãáÀÑmpŒ 9!Óœu –Óß@ÿ­‡µÞ3VH`-9ó÷,„®Cj×ØÚ®r¤P+ÒXêž È[êÍ >B«&>lž Öaˆ0L8­=šÿ#¥ÔÏm©âÜLsŒË¢„±Ød=ec‰v”¦Q@'u·Õ$í]¾m1U×5ˆ£Ñ…¡ŒRãFöPµ/h•£€f¼Øjlô×ú°ËËòf” ¤H‘3 UZžpTß0•«{.ë+²Û\5»_>3Ùp+FÑh‘‰ùX~XJ¹3B·¤ ›ÓIŠJ˜ÿ‹­’1>3<±CsáI[FaÑi»{}5· Ù$z缇 ¬AUP/MdFßM¹wãïߞݮxös†lËÙç Ïጚ-’víšÑ§+­èÑz-Á—UÃbnzèúáã;‰•U!Rç¤(® ‰Ia„T™ÎM¡#úP²çj%™û L4f=ïª q|–ÎÝ!ï&ù—¬è?»r:g³–ªøyTþ ¼À ¹2¾ÃàÕwGÐç{hú#6(ìÞK¦±'ÂhhÊ;%K—¨Jv}_-•€%†£×!Þѱ‘87©Ö )œ“Ü FóWÒYatÍÊ#J1ÿ!–œÑVbº¸ût{²>„[g‡8–œ’©b:†©Žúo=Ô¦éþßâËX\ÝÏÙî¼¼Oi x<;kx#³Ñÿæ}A>¯®¸Ù>,mDå§Ç.^ˆ–Qè誸V‡•é(@Xäl2ÓŽ í){êsyŒpÇ$˨ÛÆ‹Wü`RÐÿšŒ™S8©Í :óf:Ì|7´Ó)msP¾û&÷qÎý«×¦Ð~”жƒð°.º ¯a޾ȅ_oíTvÊÒöý”Âöˆ£ŸNO„Gà—k¦Úè’|¥j¦”œæì+‚¥IÙ ‰+d¹HCfï¤ý´ ðô5ý=2ÀJ!Äf;WeÂ̓»zrU‡S•Bο¢¢¾\­Õ¢ÑÖ? €®#gö¦œÅݾk•ŸYðª`dòÏL™>B-GÎí¬_ƒJ®[9 'K¥ÏNÁùc']AžÏéð™ã–KìÈ~Ÿ­‡Ù'âû(8¼’Lñ9ùb‘e†Jå\º.Ë`-”g- óV½pÈ¥ß=‰CXcK@PTõ®,wõ'¸¢`( ÄCtÖÌhºn®ŽGnÌð0 ™ÿ?¾îŒáó>"ÀÄÒ^o’ÏÃaõ‰ Ý9Zã:>kÝ/{ìIçßü ~¡ ÕÌíŠ-bué;Óƒ©Kü£‡IÓ•,‘ÑžÙ¼eWéIpsɦVÖ«`ˆ®ÇKL¦¶)Û{Ðzok@d2â<Â66áJ²fíâE»y*ÃâÆ9DvVÿ:óA?Bz êƒGxŸÐýy)›éÏÈà©© Ê?#”Ú˜ÆHNÓu?€ù?¨,`˜»û"phðRÕ®‰“Coƒ¿b£p{îø µªê‘Q³ˆˆÊBÏÁ?!‡xÌæ|,›®öHôtÈ[|ê`P‰šÝ W>!\CùË={ˆ}t3+P€"¨LQ³ÊîCR|+R• ¤ŽÕwQˆ§¿PZ'XxxªÙ-‚{Í€zßæ~ßðý M!ñ³ŒRœÇœ >¥‡Du®pÅÄy1£CÝyL~¡âož÷̳’öýõg-xpºeMË^ž ’Øq³‹ñt÷~ÝÄ?ÆQÿù‡IÆ_0’»ìkùµ -•Å#P´u…ô\ÔÊŠÒ%$m4Ù´Ÿói¯*è§¿%ª“œªø+W›G‚º»_›o?úxSïíAÁ•·éº&–±¨ » §£A‚¨7ÐÍ›2¦×“ñv¡‰0óŒNQ;Ï‘e°tPô~ƒõ¬`ë= c06µP¡8ÈŸ‡‹wRä\žßÖY¬ƒ­ïV˜Ûá|yFúÞ^ßc‹¾»€ÝoRWgœéúí§ÁŸ<‡b¡Ï‘‹”ÍrÕÉ; S™?ÿjw.|vr¼ì OÔ3ôQ…<˜óJn«}s©$ÃúBÉJÝúñ“"Æ[/ôµHéâR¨ ÄKÞf g7Ûù1® $×ÙÞ9 ‡„€¯3”vRìsX Rë* ¯b¿Ÿ7EU¤Ç¬=ƒ¤†•eKeóŸž¾‹ßñÁõ7C:Ï6iv Ù­Î$²I¸Î*œqlc˜¨Ð‘bŒ[ýbþ2ãvy8£¶w‰¾¼F7òFK(ôï³ ÛõÊX)9¦1ÿ…Ï-¤b,Œ¢0¯Lö”Ò9>Eì¾g¤>eJ­Jؘç¾wœ9ÔRëД©\>WÜê)ëØBnœ1¹šíÛRž ƒqŸYŒ¯N|»ª¾ Ô¯ÝÎüàA€'Ofòe š¡&ò€¸fK•Ž7/é ñµ3éʧô#Òíʨ·Æú+3UYÄK&¼7û |Í>w˜×@]’ªî`œPàðc¬ •™h]n¿r˜‡:Ê1™<l§’€Ú(MiTÊ&˜,ª +ÆÓÈšøü]Â9áñdß?;wRæÃúz€$ÖPˆÏŸxWŠa®k¾©@ÂçEDå{펇éåŠX©ZÉU’ô·4£"Ç嚥ç‹[1´ÌꔨÏ@{Œ.£ÔÍþiüÁS%`Úó†ü]8æj"îú²-¯Š”Yÿhšü´ÂØ&õJRÍDÌþ)]×Ùƒ%B±„Í­Ê:{¿ØµíìLÌörØ4”ÕU 3A™¥y’íÝÜ^py8?i‹œT=ûW>-md±æ‹›vØÏ!QyÚ3ptêfÕ×Є˜G{„D¨!µçÕÖI¬ÙE¤kBé ~9\þv$sl ð‰™Š»‹Ã­HÅŸ¢–gmWe­oœÖ9…$Óª³Ò ›f©A¹h•ÎPÃ2{L*w³«Ò_Ñ2È—EøŠ÷¿ieè&Á:êíœ_?·†ŽÖtÓP,¸è©ÇÙNãuÙm®¯ÈQý“Ç%SKe(2àb¡ …Åœs€X3¸·^¿ñ;3––|P¿•z“ß màËŸ»¦­áœ—ßH.g,ëDÓ²§`]Õáì|/ÿËí½%{QÐñԸ喤R*òy˜c^9Ô~êùöJukþCž·!³À=ž+=<ïŽØsTáÄšteûµÿý cÿf ³åy“OGíúuš “’ù”M`äŒ(zîùoEW“'ºsƒ~±²u¢ê—¨« ýgK×»¥æê×a’ FR§ðaC/-‡ß-à‹{(4°oÜ;ü^àɵx–“WÜ$ëwGô[?SM~QÇ/TÃo(¡7ü¿kü;ž•z© ¼€ 5+ó¿¥ó¤´D”Á®obE94{è^¹a_»xýì©Iq–óuI‡†«°QPtMHÝõU¿žÊz² ÇÒÀ,ñ‰î©~vó8Âp›C wˆÆnüÛDN:´¼7hŠilý‚,ûTŒSfE~ü®ä€SÈrêó!ñÉ^…dç@ ½?]s¤ 3¢²(÷T ^$!ªMÚV PÄ/Ý•‰‡¡œ_PÂX~j Ê™˜Äׯ““‰ôwhùN žÎ§K‹µž³gUÁ׸4×´9”†MG”’@M*úÁŽúÐ×Q^½aðÉéMÛMzi·OfÞ¥^8böV?/ ÎûÊÀ<À2@Ì:Ž3I©3Yåßž“#A,âé3ÄfÉã¦\>á{1fž'›è Ìdê‚æ¢op²þ–²Bƒ³ &ž†•gLg͸Ò,‹Â5’3 ?ÖR&G˜ñdøÕ›Î9#Hr]ƒí§*BÇ£k–lãu9ñ“àøá.õãéßÒˆ&–ºWzǶQÁÙ”Fé_pŸ›‚ô&X¯{½¿õéö´mfÄ-D¹ìí¯Å±Û)+ô|3ùY4Iž<†}§>ü: ¯ÜF3÷žµ¤‚ ”ýèÍO§†ï¸|_:«œëCÙÄ„Í)ê)¥¬} Qé€S™.vc¶* sßIäœßQºÈR·"?¢ÇÖ™ç3* <ž@ët.4 €}QüiG¼Ì^ÈHý7 c ¦¦üÞT˜ù[ @ ²ÚtÉçôŒ•·¦}Lz’ÒY !Î&]™^ÉFwíÏd?§ô•îÁ„ÍÆÚW!¢|ùMpª#Ÿ®Â[k [LÔøJÑ"þDPS@eMvŽuôÒ— ‡!«÷E­%8ƒ=sæï1^Üà+=>!g6nç¬V-Xkõ¶ã[àvw¡‰ÃÆJŠãèöÍbÆVžù´ÅŒ ®0•Þ«ÁÊÄñܽ헽”ß]g©6T§8«)Wúü‰çL1~§š¼éëå.õU“íºË˜,Wåj»¯²ÀÒö°³v<:«hnºÏ:÷VùA“uóqµk½Š ³Ð+¨ÅÁ+g˜5% çÏB\¢Û „‰ú7åqooÑg»çuî¯Æ»·â^lS8…Âñ1füiùЩ··cÛÅœV/W¼‹·÷d‹ŸþÝbýŒPÂxŽ3.árÓtØzsèRGg ‘Aãx½ ·¸'Î%ü…ÛK<­ øº€$`Ø¥!W•*îl3Ëçç@±ÔõëÉLm;9X@/ƒî›ÈL€8dõ3§`*·ÈIÎKþ¹u‘¡¶ÿnls&/ÃõÓ¿4€q;Ï;c Ç]™1¤Ja¦\ :jnt€!A9€+î&W‹,—ÉV+ +²iE‚æs¤º…?å¤ðZ{ô[1Žæs/y[h3\ºº>¦àZãBšˆÁDÇ3:«-§‘L pƒS~{—4ô§a Á:ç2àKl.œSó•eÑduVD­Jå§”5hÔÐêÆ*ƒÖ”ešª±}hEüªØ³l…—U'Ó*¾&¤ÂjÔ¼ñDS¢4»å£‚›¸K)š8+ƒKd˜NfåÙ²îÁ¹ë¡I!£v½³“/Ä̯r–àî«¢1[‡?.ý+A£jÁ…qe@X0qÕrRtŸØer(¿”e©Ê°¦S,Å_ì9àxÊ"‡6“ Ãb<Æ!¶"A4à%HGêmŠA‘I2v?¿6õÒ&tç§Ž\e~ ¢XÍÆùhõ>žSDÆIÿ¯ý¯ØèàZ’`#áÝuÛz†¾×sŸì†œ6õzŽø7:ɸ¾ºî²€¡e·ßC±¦#pV|†  ±otS>ë­äQ^‡œ÷t ®=ešæÈKx7–gdà]CË!ƒä hÇ?ûÉ^'Ã-—ÛAt˜ä2¦F 3¢V™A%ÆÎåfä#?ëг§7©MË1˜qÇ.¼‰¯h%´\gùVõTT% :ɇûlû =fºQ†c=É™K=ÅÀ{$D s9^ó˜k¼@CÄ’Ÿ2É+;7ü‰Ù7ô¼c Ý.CÖ‚î$Ö*Hz’—ÖÆeÆj„HåìäB™D!ÃaBNE}ª£?5£G]\—:>±öBû+09 ƒ"‹<¢“E‹jÙpFzóä#òñ;ˆ„éXÂÍ·ÀÈñ¸£“˜Eá±ø¾´¢f¤R_ ÝÛàŸ2Ч: ˆ5 íïAc†ÑŒþPK¦ßrOôÇŽ`ë)’Âùyö‘0è—‡+,i16ôžMV€:¾ûNIj)Áú°·[ k&‹ÛU"R°F¯t©*ä{þ2dñðìÑŽ´´þ©ò ÙÃR*u£6‰œåú½ðmRÔ[še~06ûÂãØ.ÇR Ušº-[|5Ï™e¹³‹Èž¯t%>›I‹áºoo§~ˆ6È¥C5ÈÛB<™W™È«°ï;Q´Çn<‚þmWÓºm)kòtoz·O–)Ê"!²8uhxrû•áTžcñZÄu««(ÕEƒoV|½6ñÎ7ôêí‡#isÀK´ÛqýB£ÃÆ¿üa¸ ³ õ#VûÚê½ÛzÌÀ{'ônŽÏÍmÅ; m?i-m¼ÕxŸÎ)ú ò ǺûM_M5*x N ±[Ä©¡ÄžÎûïØ&rÉ·×cÚx„ÁÑ\Ÿ¹E *"õŠá“^qèѵŠÍÑp³êéM÷-¥ô¥—@%á NsU.ãcĽÃ=…L¨PÀrcOK䉿þ¿˜Åz”‡òÅü  84î]OFiÝý­4ÍÄÏ©ÈuQ!„¯Ñ·Û*À-\ê5´N°zíX^x+Ü[žL[ú¡/”€"p6FÙce=ìòŠy£ªÁQ yFê­Ÿ1?UÍŸÜ¢4ÉïôOAìaWÖ7,Œ7ÔÅy0aþ‘›+§30äâ ,‚ xC¤¡JÁøø¢1àË (ß×gWð€*¼†µ´œá••Ê œÃUÛs"rý¬ùôw¿tjxRu1£êdÑKã¨}к.¬yww–äÓ³¬ø²ôL1S»ªY‹5À®<Â’£d˜z'7?¡QI­·_Z¹B]aìÇ߇dÕšÆký9M“e%ÄKqaF¨9‡¥OæVþ«ž)vȪüí0Ô8SÔdÄ—Œˆ†ž’÷häVX @–¿Ë°°.–$¤A´‹6Θ:JšÎ„BÛr{Ò,h_p„å“Õ!–Y)ýÜÂWÜ î$ÌŒZ0‹ùÔ! xQš'à·ø 2ø=ÃI Kg} ho ý•¼‚{ÔÔ&ˆÏ½Ÿ•‡Ú£Ý¸¨4ËgmQ•’€ªI®µ@ÿl¢§–Ùg£§}ºÐHqÅ„˜Õˆ¥ý”1¸JØŠÔ2ZîYðO‰¦–:P…Ë‹¸W&­^ภ3K×¢0ñÙJz˺ÎUÀfƒ=¾u9S»\eqœ±ˆ£Iê~ÌlJÿ&¾Ãg f&Þ"ŽÀ,ZŸuìhœ-—cà¼,<\rQ ŽL™åo4±™èBð"[*Ò N„=ÇÒ¹Yè´GøÐéÊeÅW†n·r"F„·ÀV—LÓçMû³Qýo÷Áá[ì$»)Ïu#Þ0+WÿŽ¥m+½÷Á}?#ês…oNå•¥N¨F[yLa3Ý{(þ<)%­‰¿<œ0ÐÀ©bÂ’ššŠ.C$mÐrS•‚_šIó!¹>[ZìAµpûBŒ% þwáØjå<ÒšX˜¦'TeÏ3‡L&Z5–½mMž¿Ë‡’Zs>5÷®Ê#}ÿjÁPë€ñ¾òÒ«B'½‡zŽQ„®iœJÕNŠQÆö Í•—C:¶šÊ~ÕÒ‡¬-³!Wèñ·ß7†<@ ¦´qk¤ãx¶”eoÁý|q º¦ÐЂ¤÷ÌM§YUf¸g”…sç%jfRñ-Ê l¶ÊŽàGŸë A¢¦|»Ä dާ(óhY"ùVï¦*„%ým¦Vòi2QduÇÕ;&z˜Y0"n"}Ð cÔÜ3gÊkŠœjãógf8$4—TÒ Ô{½-hx ÿU¸£vØ??…B¹‹c¡Ä§ýÏoC0@ d|6ØØ’  âr±Ð¤øw8‹'GÇ9à Cæ:9Ÿª²Í{5–Aß¹÷KÒºÈÞÃR$*ìù+’YÚ¾â72ús +±JqP`Î Š€[6=Q®xª3ÂUüIAvŽÃl¸`ãè¯Až¿¶¿e„_üØ5aJúvr…×þÒeÄT·=)¯#½‚Šç£®Kʨ'³Júµuó³Åh ø|-ãI˜Æ@ö$¥Â»ÒØ6ô òÆÂ(K¼Á?Z¿þ¦7ËØÊÎÁS …άµâ|¢øŒbuÿëLVB(?£2„<ÿ´éaCO(]u?4 <©‹$”X«#íýâµU¢M®éËöËùÍÑN\§4šõ€?qJAé“êø¡Hìà ¼FúŽöPeííâr¢xÞR`žÞK¦üÏ,PL—K’(Ù @¾ÀQÎ;Ê~~L›Zrÿ?®Ã>>Ф uF×[ILv&ç%0£(­›~eâÒHñSiùïç=”p¬U„”O•ûÖù(vrà (€Üèb Ö¡bóàÏ |³:}ŠŸ.Ú¯ºíª-ó¢`Ç?'Ìõê¢ÚÝpH6ûL½ÂBt¯›¤ML´‚_Í9’\A#Vr2]—˜EâXÙlŽºÛ]Û¨¡BÀüi«úÔLlàË4Ÿë⺂B'm$zwìˆ×H´²Ë3E€Šå@Èp.ßÇŽ5ôÇZAv'fß_ Ñàáª"àøyÄèiʼn.‰Ë:÷»†‚Ýó)åðòá4@…5©‘-N?,Ø4õã% ðs…íW–?Ô…ÆR™ÑéJxö.¸éŸ);U§â¼’CŸd£º]ýÊ# &6×®kCWz[¤Ÿ¸œ~/g5•‹ò †aRÀLëˆOõÀÌ“KèÁÝ*ü%°t,B)‡žÑ¬]¸Ÿq¨¨+v”4]–Ò/&S·ØAcá5?%Îù<ÔšR£_µJ`yj~Gv'$ ¼Ê¼ã®ê“Û!Pߺ—…FVÙª‚sfdÎ3¬º‘ÛE¨ã™ÿŸ“l7ÈFâüËÿ]£ÝãkT™<æIÔFÿçÿpNÎyŠËËy@˜Ï®/OŸïYŸàËŸ¢3:{‹²Kç…ÑÇŒp‡ ‹-âӀɮդû±òi;'ÒKÑ,!ïO²e[ ‚=ÑFz»÷~G™­&Ö¨¦` ÃÔy—¸:.¬,5šíÐß:È2 ^{Ûí Hï%4üú§S¬_w~•xMËy®BŽö7ü­E\¡ÃéSjÔØ6¥Çè-/p|…ÉÝ0Teÿ %½ ‘ÏÌ‹™^øIomPæÿ™­¶µG”…ß"Ö*WàÉŸ°xÝÐ$´&]µrôß³è×`¸Çšö”öxb]wPƒ¯]«?H;2°¶½\XFs¨¯I¡•M Úa¥´[lu ¶ªÖ#ð= †Ö®œ¡j”ª¼«VžyÙ'wPwõ£=K‰»®ÞðAN9Ñ(ŠN­¶žx ÛXOh|å‚Z7qÚq`ÞMäÂ<Ò‹ŠŠY)ZçBB‡4U³$¬í|Bwîž Ç,߸íAÛ ˆ½ô’³àLŒ¶´qО,~†‘ÝfÃÎl˜Z#“r.éh`S¾"Cô÷NÅ\‚dx õ¼~õŽ[6$ñå¤Hx}FÕ>˜Ô0!‰DãxÝδýãÕšÔÏ}%ûJ’ †+z¨£±¥x5äœóy¢‰UòJZypk<Ãê® S|öÞV«Aªübà)b‡È‡…_ÖÒ]ó ¦ò9ÁÚû{3É)ÐÌ ÕÝS] ü%»€oTú=PM£ÜúDVÜQ$ÉÃÉ]n ›k¡£Íb¨t­K¢‘¶”§ ‚âåÒ ª9àÛÆnJ€½êç Yª7¶i Öôsä‚;Çõ[p ¡õÉcZt€#Õ×°ñÑ#l®Ÿ¹9å/jgëÌõcf“WBÍôžŠÜ2jHŸÌUr‡ã† ÖƒéF¤|û‘F+EÖŒ#ny†d €ýí:f”_Ð?F¦ÿ¾ÜdvS¶0èõ¨@Ò Ðù¾N±¼ÆÒ4™£¾=X1êœE¿JÂÓ“@#ð€]„ʳU÷ )F;rADàF¯!däuþ˜æ$÷h9n.rЃÁ©VR2®þ‡ÐÀã?ý$½h!3µó¥r²¬³u'«¼oÅ4@Ûö®xüÜS±Æ°?ö߈x ja§#¥[»l›¿"E ¹¤ÔVx³1ä!ç¤öÁ'õûP¿ÅáÞglukCø3mû~C“EÍ„ä¼Ò>ª®Ò@Ið8šÓÕ©†‹ý¡‹òaýð—èé e£V0‹ÝxÝŸ2™®ø¤ÄÌßPbšqõmEV³É^D aIè´UQNï¯G"9”u‡#3g ˜—e  "óɾ™Ô?‡k^F®,;5¹àU§ÛŠÄ:†:·ÎkoF49]ié¾}ϬH×–¡ª4â³.— ¹meÄC‹ñŽ nô²;.ã’û‹ððZ‚ìpÞ©[ÌG€~òèµãcõÇ`Á‡².ƒ*Ü&WÞéû×Q·Ú<Ù®p[ŸKY=A¿j˜d'ñ‘)PÏx|¼Ÿ9òToº¢'àÐͼìS¤Ë¨<Êeñ¼Ú¯q@ m8üÊQ;ĵ¾ÚRJ—[¯j.C<€–n´)ãGqHÕ#!õ»¥FôOFÑÄÆ2ü(˜e…ïùNQþú;>5K#Έ&0i¹;ŽFÈ¿ÁU8‚ÊbpËWLò¦žà÷`ìèsÃ!1eÜßá\ñ?fPh&Œéx©äz:y[ï1aß,iW%¶-ZAV›~1õRZ…ˆËs&}©¨…úM»'h_à'$½÷·‡'n†ÌÍÖ¸»»áM£'¾f þ®©7a×C¼[iÈ;Û´Ÿ);êu ‘j»³ 6Vˆsxúì ºtþ£y@Ç¡‹N5Ù$~ô¦C& ÊŠn)û¥¯Tªq«Ë~zm{Q3áÂc1VÎ'Òú…’rDéôô²!6=¦}bÌzd©bÏʃ¯ÒË}{zÍ>×ýEÀØÆ@wÜèGŠÎ,Ô¯&ì6ò‘2u¿Ì3= ê!{=ošJ«Äïлµê±T`‹ïNE#>¹¨Ùg[xÃ`_-Ȳæ:Ž2Ù˜¬°ø Åa¤¬Ðzþíì«ÎDª32öEJÍ’w_¦&ëX„AdnqrÛ{‘–$êÀÕ'mǺ䥔4=¦N;ÈÁ rù¥Þ§…Ø7‹ÔÓe¦»ñGq&f¨]K*znuÔ²ûf.m½½™]]0œü’寶‰ú¿+:ãÂ?jY¼‹Iò‡»§Lb•±Ñ¬NSA`   t’Åg’k‡ÙÊ} -4MszUR†±a þˆ”C;Û,˜™øwÁ9•²@¬Ä{þu›ÐÖÎ ,Šâé;@‡ éûཧ\0…PEMÑ«F3 ¬ƒ Õ‰Kà’He¢–ªŒj–QÎE[ô |ÐÄÀeYºp^ä=PJíæâ:F¿ŽW½Z«œ?7HvµÜÁF¼i¥kÕcv{l5ñöh¯ˆm©mfÁ'CÏÓ‘ÚQ⛑Ç1øûf¼\]η…¯Uª»Jo¡œ­ø„±PÝOùÕÛÇø– yë9 búå àØÄj耔•/Ö›¹é¿œ•Àœô 1ƒÒ&xz…I–ð-ÚGð¬ a. ¼¿ÇÆÞ,ØÌá¿+Çá¯Iöù/ƒ`w Æß»*Ú4Ȱk7‚KLFqCø=².ë¯D´8X‚×/ø2"×9ɘºŒíÞék‰–žýÅájŒ YPµ#îñß»ûÂQ¦³)›ÐŠˆ~5ýÙ* ­GóXVÍè¸iÙ¯´Ü7ßéŸöMH¢. n½!•ã]{먆¶Þñ-ÁÍIÝÇ(´ÈS»Ï>cx-âËêcñè„\#»É¡T àÛïCÐ¥üä“Ç,oc¼7[Ǥ¬©}SŸ˜M R’{u}ÉKÆ¥×’ÎpùHØr³¤wJËÈ[÷û·wsícêˆ.ÀÆSãU{Ïj3‘©´ÃØ1²/«}¥Ö©²uùûý­³ó@°$°©+lïaû¾QƒC„yKÑÏ÷mN(ÆOè`ïKêùoQD%÷5™p›O _zýœQÚÆ¿Ó `Rf3H 20ö'@â`¨ð&…·]í7ßóïöFjÀ:ÂαNÈ=<ãBº‰"½5­9÷S¨¢¹ÜÈGî`Ú+•ôž‹ýçqÏôà0@5`Zë,è£7 þù”Äñs$e+K¶M[ëW˜ûv ÌšIØ£_$þ[ÉBq·ŒËCÛ@@øîC§Ôä²ÚB®‡*›ÕÉ '›±ö¹'\ƒÙfHî–Öý!1!€sý¿ÛKB…ËH•WI—ÍO×±V¨Å|Ť6ŸÙX“§Gxú­­` U$'“Ö‘¨@6Þ6~;Y‚Wå«:ž~!˜‰fG¾iÐB¶¾ÁªoÏp™ô‘yòØÙœ:“ž6Ý~£Ø–)As0£`r1RjZ#ø=ZÈû%ÍG*\â7½[‡à®H²^Íý¶8üE×£—kCrǦ…Ouì<©Muº{Npˆ½ßm>ÚŒ±ãNRÑ#$·r}«Rí9^ëœyøæ¥÷Ó~¶À,Ó²ÚW]䢩þ‹!ì”Eæ$!ÏÛšáÛáD²xÒt•)qÞD…ë}o{³ÍÊpT9ú©I0ätAd×UÌh${¯‹Âm Õ0¬x¼7AÔÝ^‹'*ôOïÖ£ÂüDåâO£–ÔòÕŽ9âÈAÏFñÆ•‹b}48€€N‹Ûnnö¼ðë‚t4!|ݧÿ©f·ƒhø|º¦ßÁã®m +9W—Š73ìP¿³?¢ò4û` óÀèñ±kðBT Ó¾TEÚõãlöwŠjß9Ö¤½O·ié²)›×1“,ìöÎ(š~éãg³<ŠÖ®¹ÀØœ~±¥e뿃ˆ–]•öÑ£'Ö¼Y¶5%6A?IÎÄZƒµ&ñéíãNUëf ²gsæ¯ I4d\~>¢ÏñÇl‚aúèÏÚú—½PJr¢5m¥Ýe5¤ž6†iÉ}ÄØ¨ôsU·õl¶‚*:n@ß}Çâ([SªÑôM,¹ Eý¬‚×%Ô‹-š±ŠË û¹Š*.BoxŸ›?QA­$È5 •´ þWý‹œƒˆÖ>3[^R0pi°D#€Q­ü¯ò6Ù  öúavpìᬻâý Ã÷õ©|€½—89€…É1 øw÷ ~QN˜+õ  "ù‚ЕÂí‹»h´€¾|·?Ê *â¶6¸-Åï‰üw2î¨*tÖ­pĂ֥ñißPZÙÞ^0(-Æ$^°¹j­4ÁÚ*Àú ÷ÔÛ±¿.ÁW—‚§} W‹æ(ÓµûÙå@ÀF Éô ÂÁð» –©D>öÈéÐ+¾FàØ@O .ÆÂ®!×2žIuº]gÀ%éÏ!R˜Ž×l ÁKª˜ãï86ŽØâSòw/p¶=Þõá^´#>hׂ£eÏb8ì•xàH™ô†³GºÎXOã› ©¯-úªõ” ª¼›"ÞNR7î¢nvŒÇ“I9wpsè˜ò.噬/ƒ)ƉôÊD~ë8AšGB™Öå%³Z><>¿Nq)q” ÿ7¤›9,ÀèR|a¹EX1«[fþ²=-çÿ6Dê]–aÂ\©D’þ^* ÷”N}Ľ~©¢ Zó „^é™oV…w±.xù‘Ï.–ÅŽL´ˆ<5´×Û„»ó‹¤ì,¡itK;ñáËœ^@q|n}Þõi'f­×9á7Ááõ̇>’#Î:.à)¶ä {~*̘E¿-Ø—²µ÷úÎEq9õê³ù{6áMÁ2'»u(>MïP1ãÙrÿ?zlÈ`ÅøD,ÙçhÚÙ1*ZMZ]ƒî™ŸÄ\ª•«¯h¸@è)\¥ˆ¢jÖЗüïûùâ£}ÚN¯îœ#Y 4‘V°¡0Œ ƒ‰èR¾X8EÅ„7>âÑ%t%‘$1žÑÊv“P6ì|U’Å+ûƒpÒ-­ Ð’dlNÇn ¥KáÇ ã [XªÛç_Ÿñe•È[+¼¢¹©6þÞ¾YGÛ«ñHKVš—óƒ‰uÁñè($>Â#Ìt¾7“›÷ןÚÃŽ¯qˆN`ϹÜ~M<¹2ʸ5ªŠ¤À¢úÕ®dö‚*pð• Aù–7ô/(VNJ¼^©jÞòæõNYûžÈ¸qm9obäÜÔ©Õ²×+×ÅçYN•ðúâMj` ¦,Ö-ÜyE¸¢ÎlmCà„Åro*‹ÏãON¢€Åw`2£æÑK™Ò5JG†{ vcƒŠæÃž{ðVž=ñß4¯4Ú0jýlêòùÚEÐ2ŽÍ°IIn—œÙù&öÌü.SmUýÈЪæd–pÈT5Ígtx)5áy1Ù“{c,ˆ)%Þsñ >- ÎÛ净aµ5èÑOÿÄ u¢k"T†àMØÈáÉÊ„IŸNļ$VÖÏÍE5Ã{®Çl"nìþ„Ha†#è*øF5žó‹|™Ê7d5áóìÉÇV®Ø›ä}ÁK›š†${5Äüì¬Åu®diÍúÔËé»ÒÉì±ôŸ]dŽÁ,³×haʨÉ|žrpÇf®ïb\ñ0Du#†¥-g^u=.âaß•‡);×`Í¿"F±T_bô`á›Ð0m€ò½AƒgÙ Ó2ÝV¸®€·–N™×² ‰P3ê;´÷W¹¸b²Eƒœê/5 ,ƨ¤Ór>ÖP DÃ.íÖ1³Û¬ñÛ¦Ži¿%Qk$X¶ ¥íB¨ŸF;ÐÊE øÂžÃD‘öTé©Â¢°µŽ0,EU/LƒuM¨{kŸó&W“ Iן&™'R…•ä$H*_+Èop–@š´C¤jC‡„x‹’±4ví> hï~]Îj‰}õiÁ3[6 ŠÕ¼ZŠiP7”îœ=…”Ù ØÕÁ2jáL°Ä«uæ“Pëx}¬r I™áiäCQ6úeZî §ºªËV/e)I ²|ƒu_(À¹€0|AÕçYÿúDb‡öv}ò³eFµ²§…-[,y+?!õÅ…Élïü{P…sN£}Š 9€¶s10ÌÁWÁ  Iºœ:ÕlмJëß.·döʇ]Ù…RõÎÞ'?çª$w7=Ö)Ï›E¢m=…c>—úpÎ0é0ÍTÕ“ÇÿŠ‘šÊ#Yò\gU1n‘+Tœ»|”¨ËXs€žéoDûvÇQ6c½m³»/£Ú?…"ô¾÷ÌÉù÷‘¿ˆCˆº3ûo.f«U ÙbZ–L»@æQ•æ~ƒª.ëBÔÒ}²X·Z ¼ >€ ßìB4®c’Z¥ýc3:õIÞ Í±3󣞇®Û‘ü„ÜKQ‰–Þ~ ~Od£‰Ÿvñ×°%‹#ØX}*2ЊZÀ™–À†ÔÎ-¢ÖÔt¸ÈAÀŸ/çàªC kÏ ˆvñÿ¬­4cšY(¦tÆèЗöáaÁ¸üž2¢µ%ûÿ¥¸%>)œ‘‘GZÁ7Fâà‹%É9QÍ=®ØùK,!eÕâ=`ÓSæX)žhL¢ä»-‡¤6SZ>]W)üÔ»?M+ý}o›d¿åié,î©Y¿ |é´&¡tUÜM¥Å´â§'4œìµc“Ï6Ç«œ$(µ¢Ó!–µœ(,(3xÒu#dãlÒ›@O¨ØÆKì…ã2ŒB%ìŠô¸Dއ-ÖÇÔ³àï‰pú€Hš‹ h=¼íó‘M×-[Yëä­ëÁ¢¦HËQ®‘¬âr‡¾eÁ]ÞêK›°èA¸2UDº¹ÞºuÑöé¾ÂGbºXÙTü,ZÃ#Ñ¶ó ¾±o+xXÎ)‰Á&7_Hý" hŒ§Ú™—ÝïÒ¾¢fp¿ S#ã>ØŸx¥Âbé© ]ÓàL/SÞÓN`i`jyLÚjȶüE޽³mÓ‹ÿm¤–+’Ô¤¿´âbªÈ{<×–>CmÛš·èÂa™%ZeåÀ ô&‹ÉP'X`G­^vÁ¥Ó£K‡c·qÌÔ2z­H’`IR`ÇÿÖðpr·´mü šf9áqDͧq6¬À¶ñjh…qv®G¿@#º¨×Mî}ö[O”ËH7±)„@^AÆs!:Õu— q¯1ÎfÃV\#ŒjÂ7ÀèhÚØö ñâ픺Q>èc&…øðúV çßoÑÚ‚»ô׸ÁsK‹o™KÙ‹€ï¾fç42È¡ãu¨s n-ÛÑÖ€”äÉÀïe7p-ö6ý‘öI¼Õ™®œF>kb.j\» ‡ SÔøM;—©À›4$FØâ;¯M·Ï|%uÆXùÁòñ¨ðþãÖFôÀ’é0Ô{i#«7ƒ¶1ãÝÝ wC‹[Á·Bä#eº†;ÉGuf &²`ø+òóê¯Æ?ä’2žç«StÑÆ7\é$ΜQç†dç?n÷o‡ Q“èåò¤ý!h*CÆÕ iLºÜ·ÅÇã<ìû^Ÿ\knäú! øÌ ¤¸ž%w‘‹~Z‚°OÉ”\z<¯Àñk,*Ž¢fÎ.Å|À÷ù×ÙŽ¡^NyÀÿcºÚǶ…­sF„pñ‘-+ðÉæl4B²T^P¬U•¿e^¯ÔÐ$ü‰8ÝXÖ³Ò8¶OuXËXÆGC¦£ØiÝ]¯9T»9¤)Ñ~À8gkÂæŸú ^ùá¯`½§›Ö1`VΘi¢f‘[ÒŸ¡ÏºÏÕPÄs!Àc´ˆ¿7–ÏóNz«×ª§õReߨå˜ W ªBǓ敔͊ꋻ‰oJ×ÈOÆÍ ¡£ˆÜ(~Þ<{ŠvyûC[®J%×ÿ J"+½^átѧ{nZN ýJ ³°gE>ÞíÓP·">òFÆ9ø¾ŠD §I»)àÌh%rÄïì9‰B+ÿX¢ŽEæœ&¯dZ¾¤3‰9VP xƒ£ë] Xe²XSfhô°J¹ïa $ gD }ë©Ç’óµ¯zR*Dˆj¿§kµ Vϧ[;ô-RŒ çýoºíO¢ÌYžÑÃXaŸzÀc±ºaò´˜ç£â3oëjÇØäc³6®^”}8½¦·Ñ×AFßû 3²> ˜»>5fHo›¢È±qŸWš]mÓ‡QQVƒ€¨ 5^ØkwB”…òßD€ð1€‡7Tq:ß‹5ûÜãI#«ÒMʾ‰*lZ µÝ¨~…eïj}r~† ›hW¾Ð3À¡QYGÙž“(˜«vºï? ZuÏo–l‘YN‚¾_ÉW6úLQ›çT‘<*ÑrÜÂ×Iy 'N»˜Š±2r@–*É ou®¨~ûý‹Ã•&p¼ö% ÄIDVÖ.³Bÿ5§;¹|Ç”b¼®à;Ž»Ûð0ƒv𠃶õÒ ¬J!þàN0^û˜Ê­Y–ÇÀg[6è­âù¼Ö]ì,¡¹dο–póò}c"Ñà3ˆÁaÛè>ÛE€¸¡ñÄý¢¦ñZKx…“ ãO^ºŒ A†Ðý&¶Ñ±Ê‹p‚Ðlòƒd•¯àþ´¿> ÿ&0Z&û&ÉÀv›õ\‡y^q<¶DÃ¥tð=Go$+c'C§¤ÿãM‡ÄTC9dw1È!T¥œþùE[`<3©Gߥu§ö7ÿµyŒ^!¶œ}Ÿy&'G™˜B¤XGýî=‹àH/„©G Ž„IÞ.M&ŠøÒ7h“X1ëйPy ³1ùñJúXÄjÄD=@øš¯êeý)RttN7ÈäþŽd>­ï¾U…Aˆ±Ùg¹º”µËÕ„ùœ5ÉL‡z}×hD†núlndeƒ|w˜Zͯy3‰Uùþ ~ì{åÖæ¦Ï›ë×TκôY1ÚŸ’ß?o“€¾5_:];×¹"KË$Æô½cFî?µ);k'ð½@@ˆ=†_XS‹D_¥"’¾sÉ}§??™ýºÃæÂ…‰‘¥‘ilè…ü??Y5¡ -«Hedäºâ[ª$Ô2á4ìž¿EnêÐv`¬OühAy>çâŒØsä^ƒß¤Íõ€÷)²‹O‰4Ü—Ð ® …4ÿDn…)Føµ[Bâ˜1:d˜U7gl¶Zþ^¸Ežù…áÖJ4(á*ºô5&æ·N8"]œáެfÜ.\Ž L¨U¬ ž^fT²‘jÀ¬nöpI;Aç8îóN̈¯E©]º,B’Ù¥`6B‰ªoÐıÑU‚ T$j#â/çÕ>½:¿-4Ò†ÌH¡ôóĤVcZ‘ØbÙÚ2>Ň8ƒ=‡›î½|¤³R[N×Ö]J÷dçk¬§×vßoÁú‘°}£lfþÌ‚¬?á¹ùÁMìRuý~]Óü—Š=^QM’\{®ÿä—ù[A¡ë½4z¨l<9p÷?7ÔU¶JÏÅüŽ¢ÕμF¢o‡àœ1µ2®´µ þ ïùÅ) ‘5Ãã×û»«)­¬&Ù¯ºç?¤Žãü•œ&µÎóSõ…Ý0y6Aå¹Ú´‰9Aγi®†N‹±~ëU‡ÈÄsQÌ\Ø ï…*,á,™^ÞWKÖ)‡ë|ÎLmWÕoOJëÓÈÝkm¢½@Ô‰acå?N¶è5l@¬‹åEÐ ý§³dbÃý,éëúV{||訅VhúÓûAW€ƒ¬‡‘Ù£yÇ$»Æ˜÷¼´ÈFü:j§˜x±·lÞØ öDnÅÈ"(ÿFŸÎ6Íè(gÅ,õ õ¶°B˜y@T‹”Ûª=]óS€/®ƒ@‚ÈIÐf§üö"»BVf&)ÜÓÝߥön)s„(IÚ·„¸"aåŒCrKE+¬èIîHÒb–'œg`dox×Û|øé·\CøÙÛáªqÃ;ý¡18@xí oK ÷AßKOŸ%=åf«AÚ'{ ™S÷²+s«NS F×B&h&X|# f 3ÁqÚG¨!8ví=]`ük81[—?]…ôü‡â1§ò¹9-¯}·^@%L!Ȥ91 ér*g÷ޱxbhFQàfáH £®µýøÕ¯Râ·¯þŠHd/m»ðãw·dF†ÎïŒêYö×ÇíïÃÛ׊ÖÇk‰­PI;BÃVà·ð_Šð]ã‡3³M#WƒC ã%Í¡R ãï|­\ʇêÌ@{JÛJKC¯åšÉßyO¼>hø“òsàýŠº¾3åëCN¥¿¬”§-Û‘½ßÑú½{Ošü%AÑ(僠$ô“ ØÿªºÆuûÉ;ÜÀ#_A¯^ù¾øxþösúÌÕ.$) ¯(hÛ¼4¿™cë‹‘†#ɲ÷jvRDµŠ_GšY§Göp7rô*÷bÏý.ÔSÄÅ…òI4Ù³a=Ÿýµ\ªˆp|ðý–ȯ—…ÖåD>i¢ô>×w nõDYj`ÓŠxVÄXæ2ŽiŠ¥ìÆqÒPVj†Lœ1ѳêxùq= ý¤•BðÄá(°È#SfX†ëd×èBê?WØqZ{ƒ*±zÏÆ“òcOz u½mgk5 öåh¾”Ò7ê•&T•¥wðÐ)­U?>Ädy¹wŒ]ÓæÍ¡xT¸ »SR&‡ÈCCN”-Îçó–!@3…Ð-—šÆ`âx®àöz§‰z¥6 ÊÃF…f ¶)¢U#¤uÞXE8U®0š³Œ<èÚ.7í‡)é…]ÃQéëtÍ”HÚ•oèÓ…Ûo Ü%@ó—˜~ ÖêoÿQˆðˆ‚Ð$-a¼ gb-CbÃðMW‘oWrñ¿¿s¶Ö^ÂjTÐk]•ÏÖÚ=%ߟNž*±âØÂè2‰zûÎN=ù,²v“Ô²ÀÁõ†#]ÌŠ©¥Ù‹Óë@wÈœäÖu+ò7]EÄŒb‡“Æ&K$+"|0…߇‹­vÕO[S×í“;‘<.Ô…a^R-”Ž­Ñ å%`Tw"¶¶‘ÇlÝ?uý ž’G ›£\\À>'ò<€à¶X¯¿ç]+ä4ýE°@¤É2ðÆã™ûT±Ï;a[ÊÛ÷Q¡·:ã… óèËeÐ Ù:þ†v0ÚäîÌ?Ø|£Á’Ê t#ã¦Þ³Ýy¦qùó€Ñö¨‡ÌrýàMqÜSq8iÅ¢Ž&ÖÐER=éºÇm¬‘•imý}Ϙ“Ô¶>ŽÁv¾ËUVç®f÷Œ¥µKjEïʽ\Ñ £!©Éížz®l€ºñh( ö7–5qÿ`Š$ð߸Cõ8G©eážÏË“ŽØ?ÎëKÿ¾ÉîHrGíŒ#ñö>u‡ÀßWÏø‚5Tt„@â[I6®3gzaÈ+Œ^?ªÁqÂõ=¢¹)™ìoªH35ÐY0Næ›ZìÖCªÓÒ/ýÝîú°žtÎÜ€Žœ(z²ÔÒ)$–Ë™·ƒ4œcDHÇw,ÜÔ)nS©­Ò(ð½·ž]XÅIH ¬Ìöo‹ÿ‚ B¶Ñ(ež«OQÚLE&¥ú–Ý`oÖ˜!#šæãúñ¥±9}ݧ¡Ó $Ê.'K¾Å5l®ÚÃE¯Gü2•׉ÐÊ7³ÌE4:èhÿ«­ƒŽ^|8¥²#¤WܯÕêÉ¡ãIËáèxÞDÚa\‘ð¤©ÏØm¬—çät„UÀ)è×À9“‹‹uS$%Ó±(¼ûœ–åKÇý»¾šB¿ä…`ä˜QÀÑë´¬?`R‚ë%‹nñ¨Í÷Ä™„´ (¢[Á“ùñâ:¥ÿb7Ør#‘6ÝîKZv¼©(®E¾ž¸99ïýi-¨od0]æûxá2"Þ¾N²IFÔf O|Õã[o¡úÞrñA´'ˆ^»¼Á£U%ŒW b‰ï1ÑL€j² ='‹7?‹+É‚î4Þ €ÄÚè>×cRÄd_ö èD³u¶bAÅb@a™E|ù°*öSêî.Ú͈},.Wcª½¥GÍFÄÌ7-ô[üããbÅÖG9Ú¸"äxåîn'² `ÅlɸC“z±®Îüû†èselJU<¡c‹Æ’Â~¹VíÙ¢ÿæ$êÄ ¿Ðú ͽâ“'y´÷âŠj~+ìgÙñõ[2Ýã¥Bî¨i–”t.ýŸuƒeæBP`ÉÇY”’ú-À+Ólœëœ°±Ñ^O’gp©T`:ßµ×j«X£»q÷T÷ÊÛ«•}ʧQ7ÉêÇÌAkߥE¾ÕÂjå–ØÌ®òYMR¾sÇK Æiíÿ^¹ èlù—ŠX¯Ãꋬâ’0 %扪Ÿ‹2 8…6ªâ9´eØY{"·ŸÀQô:åc¬ÛÙ°ú=Ôî{Ä£Ÿp©V3ý¾C{ÿçÓfý’_âz9WK(«tvçHꔲ®ƒ=Ê 9“´"w#ûãˆEˆÁô4JnéÔ;MÊH}><ÖºÚV®­lž£{ÇÿG¬Ô-vCsDúÊÜÑŠL‡SìBƒ|¦åä ½÷ZnF5ÒAz‡=dÉÑAôÓó-hpaÂkýÔmhMò§›+ñ%§+É7î×=þÑ‘C—Æ_̇…ÕŸ9GNª¢5E7;öÙï[ÔÊiÇW)…¼±ÿMˆa–ñý&:I™²A<ѦJçàlòñÌÒjå+Q[Ê(s”’RÖÎxÍ!VG¤ßFb¤Kf}D¨FWù±`BtAÚ8ëGðá@•E®H0MSE«žQëÆ}G3Ûïj{pSo2QìzÇÿÄfj æÌÖ4FmÓ³ - ú³Ô9o¦ý}jH”.hÈÍz>O±¼*?À~ⵂ²^’õ™î^ÿ¤ud4h{ÅPS¶‡ÎüêNU‰º1ø›·ž³oiÙþ[c¯ ;9w¹ÊV9…óW<Íd¶Ð%›ÿn«[d..ƒ£'÷ÌÙ¢ù÷ÌÝj’—ß ŽÇg!¬ ¨y&ÝÏž´PÅò¿©à;õH”S’I¸NP–ô8ƒ(£¼ÕÞ%8¨ü[qÔ=®£7~e™;Æ ±À[Q{´p xÆ:ù‹8 /t͈붮²0äÉj5Š=¬­m‚r¶dÁû´»Ò¬Q¨ÛY—'m‘¿’0Ó»q*B?#uæãyRÈ_˜Ùˬ‹W=®–¶j›Š~çN£ßqÝlS…ÏK¬½SmBE™†–1Žˆx¬‡ï'»mƒ‹u/Ô¡H¼E„Å ±yñ¹ÍÖÕUa èû.SàÞñœ;ÎûŒ úMôö!äx û¢¶2ºÅ®R)CS;W´FÅb~‹ÇûÜšg".BàjôF¶Œ óãŸ]pßHGm„3À ß¿œo›P¼OËPèµ…cB¦_,Óô^6­t}s‚?ø¹á äí¢(08ŒÚ›ìÚ¡ \™æ:ÈýÔ»®*LkKM(ò§*ƒY6Š£ÁtvDœºâR·$ W àʉÞDKÄ­W‹nÝzß7MÈ’NW¾/òü¢\¨ìgßgZ¹ë‡ë‰kj|ÙþRÃËÐRU0\éª1‚Za:jwØ ©¶£ÚŒ™¼·€y °¦ÁkŒª1KíÈj>¾©fç?ËÜ«vÚ]r¶¤ô£øú‚—ÆñŸ)‰£¨öR h¥BÄÐWM#’“¶mÁfœtæñFƒŠ˜qõ\£s¸%üâðþ‚_‹k÷ÐWHR)ˆ¢ÖHTé4ÙÑ.¡‰&P&ð¹ãÕêvÖªÉæ•¦Œ—=šî³ÿÅd#†øqOÓ74»=r&c6DqeH·r·p°%þ’ŸæÒP§Y&Œ“È!ûÀRùÊm§XIÒt’&Fªþ‘ľz¯ó:UÁ!Ý«/3ööÃÌ7ÃbbЋáPK€’¤Ö¦Ë¹Ôãwó¢pï‚õp.‚j™/t_ôðû{ÃÒWKŸQþ78Á ¨wRgfH…16ž—Îëb/]ÊZl;œ`•ÐiCÈXn!!ÑØ.ï´× t‹˜[WòÞtN×›Ý_~Â:Át{©µäß<É adq¨ÞЯ™iUDlˆKhwQYAÁ’®'!K='[Á©éóõ¥¦ÖܙÎߦÌÏ žä‹ ÛjC '‚ërÅ_¹²q[‡€‘”uië‘˨Ÿ^|¬†èöÉWèjLè*u}¬w'²aðxB¿òúâ|à„Í,ÿ ³03ué<’0ûB;Ïg¢¨îË&t%øFœ`Ε —²`Œº´`´|•?-t •ŠTÝM]c)F€ž(à7­n>:Auø-9ÊkOkMÒó™À‡ßl\­Œþù]ņ|±2iÉè0ø­Àüžƒ2K£ápPÓTÍZª½j™ãp$XÏÈgÚžýî·)ÚPé6Y8ÖÎŽ^ÜÛ†ÌãC €Ãf’ï,åƒVr(D‚Î_ÌÆ›hÏŠ³– f=†· …¬s@e…yÏ}uiÍÔki«*5œ˜ÍQ҇ɭJW‹£›²Cq£z={·q>V jc~n¢JÒOg™”³dç`%ÖÍxA®)³*½÷õlž§j±–lØÓòûP{à¶XMÐ1–ˆ}Ná6$Š0mzh¼fÊ|’¿G¼›ŠrÙ&Ñ)×ÞnšûF#@"«È¬W/Eä"¥žeìUÀdA¿Ütm^‰ÝÒÚÕpÜ:Ô^[ÞÍöŨ6@–]³u•2Á锽lÀkCÄ K˜¤áCq\u!…{s¶ñ[®¿Ýì! ×±ÚøI\æ/™=(cÍj|J&1 [—ÍýqÀŽè/oÑÝð@©Ù tΡuÆëÒgìxFº’I ˆÍº¥„1õô H;"›¼‹Ë¢UD²µÚ†ØXsÂßB–TwÒl(*êù0[È“ótR6@þW^ ªŒ{ër<Ø›VbGhrãÕçFÉÛ˜ý%íÞûF. gc³g+Z\ŽðÇ;‚¤Ú‘ök*,Ô“n¡L§ TNØ_)Ï¢ÙPd ã°¡,ÖÂ*Q+½’4cÁ[§°\-rÒHm'ýõþ,Õ À0€ŒÑ ²õ<îžä€üüP=ÜÁˆ¦FX©nWã"¾¨zXc˜í¢¢AR=0K×;y‹6B„Ÿá®`·ÔÐP~ÒØ~¥!–ØÇ³Àj¾‘ýÄ_}éQ>Œ®°—Jùf*;œHnÍ ?]ñ–°ÝÒ£ƒ*ʇ–{5­4/o7¹E0Ý܆„UÂ@À(úx8Ì£%ch/Bãø)INYEó’Ç‚‹µëß"ögé ýþSPÍχϞ”>òœÉ€ÀG ›÷ü¬åý6Ó§PÍä“~Ý.'ÏÒ0¿f›cµ¤¬ âÃt½ë! ¿œ³kvgC5*԰ʽÝFâÑ$ç–¥k ˜p\õš»Ç@`?‹(œà/áŽ^ªüîUÉ´mº­÷Bè¹,Òk”ÌnÉÀ˜;CÀyvG”89æeIJŒK:šßDí¬øÅꉴØ4 ùÁB¹·ÑxZžxM¥ïºž1ͼý­Ì£+µgÝ=± W.Ù ¥çÃÊ23+)’['!YÄú“#§òÿ ¿“¼vrPCo~5ªÎ¨ŸQá‹E¡H¦ÜIw­ ¶ž œÞRjWŽJf¾ Ì’VžÒ Ïö4]ææNUê;åXa]=‘|zf÷è‘úd É ù6[2¾>–»]Þ6¥xZ温¦Ù =›QFa(€H\³»À±7Ú­\¼_Äó­+N qIpkvõÙáúܪkÒ29] ,½¨6cŸÕQã_~‡Üö¡ ’ðÊu;1mÂ…â±™½FËBF2rfjǓ٨Ƃ¥8F`ÔFZè" ÆÃ(…Cr!ƒnvYÙÀ»Èšx MlQ½…ß zÄ}–}ýdà,ÀŒQH p ŽãŠ cV;L2ªè¦•ï‘φß\ßçqÕ߆íNgþl[tCiš›…Q²aè7s)!-¾áEÖ:¤Špðâ=ˆHݦ#ôÎ>ºkºCtGkï +MA…box꽈'ʯ^˜ó6F[d m§—SV¸Ms‡xäïÇxÃÔƒ?2 øhóà™}¶LñßJ~­‘% Áe¹:1O:7*ͤµOØÁ7AŽþXP ë霗>›Ó±ÖVÉ OD™ïj°ò»b,´Úo3Ê1z¶}þþYí✮IB¶)¤÷´¤ îøînÂ'n#„\r212óHµX}þ9½C%ý;–,.^Wák/'á.RT$•ºË%E[å.Ÿ MKëÜÅC?â+O_òÆôIv`æÆÉ¤æª˜‡¼¯TLƇEG-æÂ›Bôê?˜j7}D‰¹•‰¼ŠGó}é»ULfèk§Žã¹E)TÉOõç¼ :î×ê}9^ªáÔ‹©di¢<Ð/JË›©’no‚>F—DkCýhÒ~àoÙ*’H#b,[°&ùñ*S—iÆÑú $yè//sG<<'CYìÍ}þ¨ ¦»¥¹A:… N"˜îJV!ô³6ÒcbÒá M%žÕ*)†ðšÕ¦zK)èïRšw!Š çNù·r®ÔFK;‡W áªC]¢6%˜oûž4G˜Û+[þζ/8rlœ@dâûN~Áû.]­ÿ~ƾ¡Æ¢;Æ1úü›j:Ü"¥*ƒækDP)LthŽòå«¶XPs\áElÀ¨ô“CXŽâÅOcØ³Ëæb@‚ðnp•õL®Òî¾e”kö¥ãÝ36ƃåû5Ô°394½5ø"\+_ÓÀ¨$è/Bc£a;ÏεÐË)šÛ]F1B½­)—¨sô 4öY¤¥Iˆö{ô&”:(Ë"Ÿ`FÇúšáÓœ^Eš ºp»7"5mY‹Ší]¸L ΢bvO¿Ì©šÏ T5®= ê„c[ ìÌ-®}†‹Oa´ÊO ‹˜¯W ¨FøÀë~«Éˆ\á4[jþ&~ ¶±| ùù}ÙŒl)FÚ[W¶k»Ï>g̤†Æ=9ðÎ{‡¬Avžû’âN¨çzP™Šûé?ˆ¹îƒ—^iÒYQœÒxäÄÖÄ’B‚Æ‚²Û.`/ΊöaÉù2„‚1Âw¡ìÅ ˆÁU²æÀÞ ž°†[Í‚Þ+)Ø–TïDýD)õº/DçüÇ?m„N·ˆ{HB€EËsïfÅU/È!4úX,;Ú… ⸠¼µ[¾”ŒÚm4oÒx!W·UÐÃ\#6«ë¿xKëí"yÑ#KBƒû̧êöÍgßÀõ ,ó¯2ÍG|ADq¨žâ[A±ò¾U㸧X™W±“]!Wúm“6Gñ®Æ1À„¬ê×~nz×yRþ ~²zH‹j*YH‡ã ´eS4V§*‹. =­ñB$e/ e…2ÆƒÖ Ä0Àô7¬šb¸Q“£qHK…_üwøqÛÏŠ‚î ƒ’hÁÑYžÍj‡±íOKØlºZXðF Ÿ½Q©Œóß Eofvé$ádñ‘s®žg:È%ÉÕÇIØ9ÐÈ‚…<8ºRDZXýØÎ∾/Pdé$vƒ [K‚èb`ìaÓ€0\éChnÏ-Ç@]ÑãLÑ·Vó)¹¾ì"DáhDfKÚ³Z;ÆyÖñ]aŸemð†Ê˜„eG3¨„>ö¥ñÖ,¤ËQšˆ|šÓôêºA¶“¶áòɰþö8Ÿ¤f‹š›§Ls0; œL%… 9ØýÙ5Ï$ªàìvròÆ4´²@Oÿ¿œŒ€n&<¢ç·øç]Æ!Ꭰ©¾CÌI††‘"šBfþúœ&Ýž¾lp‰·ü`þ#_Å#o9,sH§€ø¤†ì²ÓµØÍfh=Þxï¢YÁËGãk½g¡—¼ýfÄm_Ê\(‡ÜP#D•HAŠ$S šƒ`JÚléúX0'=‘)A™º+72Zù|3¢èÔJô e™kh¦ß;“J·áù͵Y[ÙÛÆgþ,#ìù”)¿,Ԯ瀓i (ÿ dN‰õIQßY:Tq›ð@¾…½) oÉï-F¯W}@?æUâîÌ[h–]lçSè–A‡¾|ŽÖôŸ@-ËD™Ÿºâ_ùÖ—_!%-x »^ÀÚ4J%ÚØ]KÖb’kæ„AÌSF¢›v‡ˆ!{eR}´ÁÜM·ßnƒ*ÏLjçÖk<j®?àÕ_³¿Š…"ß|"€N= ³“æ$âšxP½ÊZ‰–ïÓs 3ž½‹Îr6.¯L »«|»ÊƒfdË€‘Š4Ãu÷¥KÑd hEF‘ë–yÈtôDŽT4jzUdØô‰ÿWx{Ád¿žÑ£a%T<ÿ¸U—>_àͶñQÏÿ¸k듳—ÍâAç»B"žÜ•h˜Ÿw5Ûºâg­¥*øx½Æ>»ŽÑƒ–¯€¢J¤X̯m饲ë”2u#(ªHGg„Æ7zÆ:š™Ï„w_z©&ØFÕ"= -KéHf>þó÷Vå • É-"ÏÿÖj8ì5ÊyÜriÀi°Ð4y”þôúxp ÇÃxL4x´?¥ƒàM  ˜5ÏèÜñ‘¨™!ÂçÒ] BTPßñÁc) ñ Á$Výç5¯b]òÇ£nžéíµ‘]³« ð+ÈJ½¤~ü{«N1y»_Ý›%¥ôŠ¿_JRËï™°µéÅ@ÂýcÊ™d#‰u‘¡|6µ1§N$"ä…Ÿx(¼dïFûÞuäBº—®H"ú5æÞÔ¯—õaëzOïmà"›˜…̧ó,ûP÷ÀϹâ.†b¥8·-JDÆa¥‹Ûhˆ,ZaPåe_fÏ͵xUNv(^]Œ:«'ÂŽwÅÄí†Ä鼸.ŦaG;wõZˆ¬Ë ]Ó\6mÔÅWÉ£ÝÆ>ü¾#î!úx@nÁ†[.Ó {ýÎÈÒéê:Eå«äÓÎUÌÎ|\$F§_´yÿã\FáÏý‹E<Ëüf(éŠYÃnw—5ú˜OÒÓ;†¢chýºÌc×ó·îj¶[·ÉYȘ%@”xû*§Ãèþˆ¢U]Ž9'dÒŽàTfnWKåI÷U¾Ð[>ôܺ2}ü6±:'º/xGrµ€æÑ|Rõ>»êëÖ  ¯ÊˆcÎæäýô²»È_nlÐøè–q¼Î¾zÝŠdƒÜmIýà¢(§{"UT¡$çÑ^L¿_îø‰Žzþñ7`ŒêÑœ8°§KÜ% “p}ů²4¢³OL™iùMçyõ°š k‘˜Tš£y¯¡v?e+Ï‚}J.$hÜ…/!ÊdÕû´o¸Qhê¶¿>U˜`Šý$-nÇŰ޷£$}¿ãÃ`S9ײëÇ”ï™I•Õä»Ñ/Ék)Êá5„µèÄÿ¥¦™Iúè{aÃÃY‚§Ow»‡J®Lù .²'U‡qÇúôÝÀ愇mT¦çO¦žùÍœ«z_<æð¾Ç¯sÝè½­ÍQÔ@'I!;Úÿ•Iü=[¨T¢È7‡Y4‡}ü‰´}jºg”ü=gI¢xÈýz³c)€¬P¦ï º×ïÿr‚½§•G(M‰Ã FÂxÖ ŸkQç; –W6ÊÒBà_€1,‹zØ)}Òúf’æÜ 5ŸÉõý§éÛ5X/ÒŒ/ŠÇWx–A`ÎI$ˆE>¼§;Mü5°4 Œé!¿k¿à¹ýŇòTS&wæçÓ »±M¤%‹»óWHäò–¹èx¥óOƒü¨‘°É¾~ýQ\õα[ŽNõÀyr¿½+!âĈß'j’ìÂÜËñkí;“Ç^+X±Û÷‚SH±XÅõÆŒšñÎxáÝ)x‚DÁž¢¸ÌV’y¼Ý9¥VÌ“Ÿý†;,„Ú¦ó×´ç—»ëX AŽ34Q(& RþxKNNЙ%BÒ” Jþ8©5 ËV1«3G»¦ž‰R_À•H×q‘3O2l»  ¤s Ñ~Þç­º~0l6“TÿcOð Ÿtûýa‰ï¹Í+e¤å³7}G´,f/š¨Fa½ÁÝH¶þdÂàNΩ.†@昢X«®Î© ‰Ì`ŸJ’º@ÙD¨z4ø¨/ô–­c†ö !¤\ûäaIAï¿Ôj»í[’š±Í†°r:¡1àcy5Œ6Å¥C$Ðh‘¤®>úWõ'¦ûžS¨‘‚Iàj Vcük»¾jøð‡UVÈ`)—Š{ø¬¢Šh‡Žß‘ oÔJôà/wœÈ,1’)e ¼‚½fÏÍç*}&/Œ]x@ÞûŸá´þóm¢ò<ÚµJ4YÇ )jž›¨}2P‚ùÑÁMkxdQf€fùî²BónåstDÔ. ZóúRi 7Fí±¹6A•ÿ? ¸Až€¸¢Ã>{øÖbÒ vÄÙ:D]òˆ58 ‹4¡ÕKѺ¥ú׸Üótz³T%µ”ìAMçŽÐƒѰxNrpÿ‰\’én°÷²:ÊjÙ‹½ûÂÖ}ñŠv6xƒH¬U%t²)ü³bº+8 ZˆÐÑïµéF•SjÅÌ•ùi[N!B׋7©ßTÚÏß?*®wˆ Í« \E+é¯Õ*­ÒæÔ`½Wél™ïlÆâA"Vèý†ƒLÜþºù'vve'œÓ@~Ù»c;aŽ’»¸MÛá/`¼%pÀ+Ž7"i‰´ }fW¿~§ xÄ/XnA«™]ÞÁ¿ýŽx€óôD oðËq&­€Ïñ ÅÆ|›ƒNÔ#yâc P ô¹—Ôæ42….7ࢃ?tÏq§ BtãÆ<5êVø÷ŒS'h°Ái™Õ€—€0¿ÿ0—‘ãËÞ×|yÊùâýÍD™y~µ7ÇòäÛ•Ö—­†Mì1Aáݧ¿DÇç¸ÙN”ûB¨¼d?æÑWúÌ!ÕòÐÁµÔݰoQQjô\€\•!y·…¾¿ ܤÆwW©É`Pq“ŸXÊ:2B{G¹‘Â}‰ò{ʲBI`B$Ø#¾¼3%ùŠ£O~ÄñÜg½.bÔ¸ãÖòŠ›™a),E­v„‚É:àÆÇÄ4RÁ‡ds¸yÀÎŒ<–TÐÃið3¬çpjAF ²È^Ê\+óà&]’`¶n*˜›:Ó>9Á¿6nÇK«á åÿ×Ó_V'„é0&.±AUá˜MºÍ<0ÜPU‡+•°fð6þóq/ˆòy?íúñ ò¡Þ½ûßS+q¦/åžXC–ROƒþ,1±Y¶æä5Kûµ}ýˆýuõÕ)ý˜¡…ì¿êèä7ª·Þá«@–P:‡ï›×*%P¸wlûÊvòBÀ#Øt2Œãíæþ[8÷®R^›ŒWzM}œóû˜5r3A›Ç_KÊtbuÊ”Ïýc°{7ÇV dØjä‰;å!A=j¡}Gæùc¨D¼®•¾rXäq ÞIíV=^‚Eâ‰6¦ÐÏî2@ÿº«ôñ¯èèâ“daÞ/ MÐ=iµb¥5Él!ÂÏp瞀2Z˜4Ô&(¾RˆCðßžíÏû>QóÂV ¾9;„NšFøûsšw,€ n3|Á=GSa}%ìÔÁx ®ë 5«š<×yNm¤ôȉ´»…`Þý¯Å# PçHDbP«ºV,¢lù¸R¤ÆmcÒPaíÆ=Ü|Éü×2ã Ž9'ž&=si^’/"`[O‚ÄZ>2?†kk†Ó*a¬¥5ÃJÆûÑ»±ãwÿ~ÔŒ–ô§yspØtBs÷ÌŽ„˜sz†%¹(¶ä-Ö=ÝþW"mM½ôøÊ{€y²HS¤PýˆZ9á\N“C¨ÄÛ÷¬št»’Áïùäθ²ÿS$DIÏh Óvus*l_¿[ÌgwΧÀ7“×c6mä[bibG y\ƈÁûâ< â/B¹¸Ü§±ÁÓ¢Î$&n§E!çæé–P.MÁ¯Gýç:-p¨%w˜! óû »Ø%›„' ò¬3Ð(r¨eòyŽRˆÉz ‡fÝ‚¢ÞÐ~bÃøî%.Šq4’®> §¹jÜõâ¯öœVŽT“û»*ÖPª/a­õòЛZ„¯†êÞÓá/bª¸Zuì&ÿ±¤Š@çT•pZ²3(q“N}îœkñAÞfƶ°*;Í~t¹^&Ûæ(‰'µÇvl·œ¡ùË (Æý~ò¿…pÐÅ•ñmØ$‘ƒœ8òH!û4ùEóÄ~“º™!ÇŒä”éy‚ô,\ ±š ÆÃ­?{;ÁTY-Žê,Y7•æÎJ‘­U"‡¹ÆYI[)2+ä:ãu1·ÜþŠ«¿l‡û® ùÒœ$Qžo—:ðe*F<0ÝbV¢NØ\X¢Øóx‚ÐÌ7¶x\Xâ©äóúK‚ý Ä]ZÍÍ”©ðzŲ¥Z œ9ƒ®ÆÿéI736¹–\æ?K€0…Y¹Å“yrpÂd‰PÈ€áÀÆ ¤[”Þ›‘Àžú%K>ûýKóâ3´Ë y’aj8 ­#çÿ9€¹º©³d,‹osK=߯H†*µz·:®£ÔÏc…Þò:‚—U5«*[C°9» Tú¶Ópð(ÝfnAçe0¬¬¥åÈDµ´™/ç,h6òS×]!0Z¨"òÑ› w™E8°É!.“ƒÄìaH›9w1 |u܉bäºZ>ŸŒéá«ðvå}ª,XPõœB´+ì3ç/wä…p¡ <‰8»"ôtèHào¿\ÔE Íʉî­&5J™6ÄëA‡7RÊE805[(5í*³F b} Òÿ¥Vþ¼êزNø‡TSË;t­C$zaÎ5ÙâbÎ͸š5Ö 9EÙYÊ0æé½øôa"¡D8¢îv㉎Èé~’*á+FJÐú ŠO4sÀ·K¦±$Õ†æ©\I$Ë0/‚„Öãÿ…T„äḯóECÌ'š|äÌ%/xR9uãö¨àžC+'¹‘B쑹RƒR[íàb¯k¥o`œEOØœ]2n“GòËbÐaÃð±ý—gD™1ËLšÂ>gÛ˜  §;[-s"ÕCÛSDgBoÈ¥«èæ\gª¤ƒðÒ¬»¤8åТ) r‹˜ñâ|¯Az30ò‰¾¸.ÑȱŸÏ_P%Ÿ~Cˆ ³3ìswø1*]…]ýåG}yÜ#!ýûá,JôZF–L°S枬»øä3 ·d™’½î 7Hû¤Ùzk2±Ž~^Û5_$Í81~|©2:±M¾£'ÇÀãÝæ«a°Òà“uã,ª¯z}…o˜ïÇùÓz_·I6T̾ð–äêÁùkoKg+3fá`Öª^¸pf¸ä¸Í¤¿,/ÙfRÐòä8-rT‹W$‘àP2ÿ´-œl¸y ý×%_2ÚÂ×¼¤?Ò$ÿå*&&^©ù…D2†ÔÝWC ß^ú`åTcWåÙ¡[5„à!Ÿ–ärIFˆAÁeÌù¼ðB¢N -í|{ e굟üýù†)Aµ>[[ù¢üF´:‰oŽ­:\@u\‡0t18¬Ua´•BÛÔ ;ax8Hmã¡3ù’1{¨Oéø †Æ ¢Ÿõ#¶1Zl+¨T>Ns͘5›ƒ6˜q%µ7i?§CMÑÑÏŸ W^$ÀðQ üíš»9Rõ ¼V;'äŒèÑejݸ ì­€Ú Þt[ðFƒF…@†Õþ#”uH‘µiƒ™ö:‹w¿t™våÆ]uì}”W ú¾ wT2ÎõjG â&ÛV¢cÑ„4wÿSp hì>ÖÌGŽX²Ép¯ô>øÐ¿,."W/6g,-ãÎü0Cš#o\ 禤pÀ™‰Kl;>ÉÌŵ@gÒwoC¤Áç?rÖ¡/^ žX€¬|~äYRa°$î}„à°º‘- 1V¿*³GCÍJƒÆúdwU ϯPÂ_¨Z?ØRzõäŠ#颲Öã<(cJkð€N×ÀxØ”*›r„)¶ã&¿ƒZoõ›šM㺟ƒï4ıyÕúöD”ÏL…ÐË>[K1麼ˆXG@äC1mXsMOJä†ÐÖ9‡•)°ân×¶ÑÕ)ù€x–1] CõÿG‚5"ÛÕ$Ò÷;9»Œ3‚aÒ žëŠK tYY› ¸Ó ’%)Úþ<}©aó“Æ`ó|F¹ŸR2DöÍQßr_ùÃÃ2€<Þ¤™°ö&^ƒ‘]ôÁõq,ñÛi^Nàòõ0eœ÷×®â-ÛëTÜ`¾Ž fP3~ aÕk¼UDË@øŽ^Ùÿ*KxB(8xÇrô m`N)‘b¦‘&`ðûú2/)z^Ë&Cݱ„þr–c?7 +÷€ÎòbɶÇ};þ@¾¦o›= kÛR»-[ÞÂyÒýQéHà™B–”wï’L¾.`&§("[»uZfÍåµl3êÙ_“ƒè«U¾Ãª….ÈS@uÆ-6lÉJó7åÈ>iñŠMê1µÁ®ìïàÆÚcU^©áÒzÓÞ{‡Öéy24Ω¢þZÇ­‹:o~Ö÷ÞdÎê3ôÊÇ®¸“4ØAtNV"#Mñƒ_³t+âŒXñQøªkõÑhïBíaâdâ¦I6x¢Ó1s¤‚ oɧqWæn'«H:–Ëö>ÞtWUsÍ(Ĉ6¬p6ëYH|6]aœawg6¨o,IÌ8‚Âï7¨¹`pTÏgÿ.cÏ û)0µï»s«1Ù¿Ò"÷qOEbi‰àAux?œj'¡àk+k%APƒ³~uDL©wÆEdˆ-öÉ'§êÚÕÂìh™òW8ã‹bB¦^º¬.YÂŒ/Šààsý*d¥²±§ØnÓˆŽÌrk/ÅÜëBõrÑBog–¦~´õ_‹X žÂÎ;%Ÿ¸Ó›÷4rE¶écþ‘µ ÕK7 #Væb4RšÛóä³&}¤;6¥ÀI„úÃTÓøJÍÚÓÁºR‘‰v¼ÿ4(–ëÉBsˆ¢±£úª‘OÛª8\sž/Ÿg›LÒãCb)Ätä.Ëy>ìËþ7Ë;+ª¹+…VòD¶%=û:=¾¨ÚE.*Ì=w‚ðÉfv|ä#<½ríª¶¾Uyí:uW@r&;=¯¨:Kâ}øZsÀí†À9^„3·òÔJc½„äS©C‡âÕ¢ õ®¡x~äZÖ8JO,WuûÃZ\C“×J"¸h'T˜¥Ð²tö;·è Q½Úº:†óŸé€»ð ‘ò=º FË…G¼JŠØ»ôÔ%ñ[E %"ìzK=zNbÔKµØ ,1Då§#¹òúÈtÓ]ƒx@GznWê4Îr£¦Àæÿ2fxGóoeë«­.ƒt4Ä‚"(ƒJÁ|ÌǼ­¨¦Œûq·|^|?øéH ›+?§½øÑýfzõº1œJó(´ÿh}ž}½ÈãB9ky¿vbÜ£ð`Ø1Ò<ÃüzæXa%ézQ#ÃîG Y·Ÿô>Ü´ÇÓ-î1aÓ<æ[ÿTseS8Û½ß öOeGº‰.ËÞÜd0[?#Û=PHCJF1CÊ'AlÚn|°”mPÕ庴õôIŒÞœÖ{]ÞðQDìèð¸¸ïËþÄMj\crVÏ2õ‡QÆ[ÿŒ£e0›0Íô[°®n„,:CÇxv­ÝB ×0&ë9Îvà‡NöH]­sÜöþÅze¯ªÕ\Ñ6¹©:•óâ#­ÂTF حճ|ƒVÿuŠI›Í^ßÁœd*f¨KY‘24@.ÑÇ 9Ê4® —É~²Â‘ਠíx_²®5vðB?6Ñ=¢ç‡t8L³µÌÆq_ ª&FÙ„Äe\þ@Šv;©Àœwô2ebòª¡ »´ée=jg7w×;õ+7âL³i:ii®©ÊÐk¯)0&Ypÿö+§ºÌ\‹Gjq!Ä(RÉi<ðq4ëö•Ðì°ÎóUB‚â™ëUVRÆü’MÊ|ñØf¸Û¡§ïØY„³ÞXÑÃÚP‡ÿT.Ìÿ»‰aa•¥øYeõü™DaçG­æEÿ,~Hßù$!óOP¦Çk%8ƒho=С5­—G?ü6Ó69³åE<…fù Öš<ÔùÞ¡e-w+äŒnµuÔ:}]©Qµ+S+@š…§fý*':g󛕨2… =ö`‰qQê§5(eÏH²^ñMƒÂÍmgô?¼¬óX¸äç•»jqúÃ*’WzºÇqÕBkƒn3G´¡ƒ£jq$üHè`2©™o^« åú†–×çÿyÇš ™Éà’·ø¡û€ÙS€<Ç»,È'¯W¦C Kå–£¼è~¦…d€ÌB(©o¥Ò?Œà Ù°.óˆ=›G<"¡¿A„ÎX2&Û¬Wèî4b‹‰m¿KûáΘ¦·²5:NDýxëìõ_f7€?&¶D[‚('_KÑ‹€ $aÛøÒ»æ]'tÉ ²Ø|„Šh†µ >L$ѵ/× >C@¿8UmëʞΠ»±Tøöuã>±5|ø8\¯Ê¢¹ ÕƒÓŸÖ0ŸŠx7à¢#«gí‘¥g!Ý1Ì–›tü€ ªZiÃwu¥“]–<ËXÛ™-ßq‹U|Úî•åVSUÝö`Õ¶†/<õ‘ݤŒí§u¬¢%ƒ^îWõ<ˆïfÅSÜjªhD‘Zêê©üÏ%UŠ’ØQZ‘gÐä(¤éx<(Áç² $# <Ä›IÈ]ç:…fGžó£t§ÜîÍ-¯Û¿¨ù—Ã0>þÓÞU…`³·œ§<³ÚðnBè ‰jc~ØçQÊeÕ×f ó´ê8#ýACÀð*üéŒ&=7ûÎ ¡½2†ˆð(·®Rœs¡Çs¼NF8YPMic˜¡Ÿa9nÑÛΘÓh·J_*û˽ð0×Œä‹Øø»å£B€+Ô‘czÒ™]{Ÿ\¥¡±ÌhÃOE;’L»š¢—=g’»W;î°ZÖû1ןÎC@Zã¯VæÁùKø»Ù¢<ÕN8 `C)T QF”Æ £)>8f¦éš°²= ÓT¤£Ëa-Í0"YÎ7¿­o¿ôFÏ€l°F·Õàá[²À<²‰®ý<„îf ßÞ‡–)9Ç”× A¨ªÿß“ã¾ý‡Øáxà©ðG¾b?‚ïóxëáZZÄ^ÞÙ·rÂî6‘µÏGÊœ@jÄâöÃvÙýüÔyv}£æIä´Þï§ý.Pšê!Ìֺ׆ÚÚLvíowy·!nîîáAÂà\°ü¥ænýzy”Þ2íÁ—…óµ¢³¿X`ª/ÖªâÝ­Ð;v4|¹šv̼’) â;Lwgx'£*9CÑ#ß&õÈTÞÐ(Û&ôPió‡YÜs´Šny¸ß¦Ü9uH³¥ÎÃÊF Ý“Ε‘FæÞJ`±FmgHs¨+»±Ô¥ûÇ4TÛDbK+P\m&ä ¸Fã¢,(uÆÂV1‚Å}Aköìn˜Š~Oõ }^ÿ~«¦í2PIt2~ó1~¹Ò»Jæh k*.fuHf¶áË–XYu~æ6„øAå¤Y¬ âzcƒè³´CSÖ…û7JF™ °ý2BÈ-±J=º1¥×4BY[Ùû§ÌDÖÆÛNáâsãMó‘BÿÿF»Êêe•ÛBçrCõó_£ý&à’x•Û1(#T¹»J¨ª£¹ï”V VáÒ Ûwx:»uÆ )X£nM 'd,?}7:½ÛßÝ&kEâÃ(Y†í õË®0BîáöQV=®uuˆ¡^V ¬¡çŸrFá^¹™ÛK’°ÌFŸZ úß<”âšRã¥2`L^­Ëj§TÕãÅ7_ÉÉŠÃìmsÎ뙲©û2Ïýj¬ûj± žÌ½œ"¬ãÈ‘ duÖtÐÐ*:¢«h§Êj„ÕKëý|gD/¹½wFÚNk‰ñzñP6Ê=Òa.H“Óð˜ë¾zö…"tfüOä ”ÄBŽãñߤ‚÷ók.§ÐYEÒ½'~æµWÜ’†>j`áˆ^§5ŒhS1§©*‡Fδm(z£E<ˆ_wKå 8/OMøþ΢®á纥7Ô0Æó“Ã$…ªãì„CŽ4 §Ì:Ðfçl$4,¥¨„O%ÉqVÔ`ÙŽ}†qVn-Ôƒ†Ì‡ ¥Eç‰ãuB…¹·ANo½Ý¡§1#‡gŸ—µÁè¿âÚ‹eʘD¸ï—ܺ†jÔ;ßF÷°íjqEùƽ˜$ô=ùô`±²½R9KÈÛ°‡.w=HX!å(ùI{JÒ¦-êÍÈ´)ʧó3>M•ÑóÀÃg¯ªÉ 'x”˜~.tÐØ–uO$–÷xÏgЬÏÇT«›Ô³=R×`âô}¹ƒðf¡>ÏIãB$Éž¡€ò+™Ôúg*œžÛíêüít ù,þÇMüÅW¯œ‹Ýít “2°Âß@*ýhOÊóÍJÚR¦Ÿ­jÚÙvÓóv2ÜûÜ0>Ý·ãÊöi˜ ð¤ëoTÛZ »FÐdu|ôèëì>°N[‰¶®ÆÚºg\–>°-á0ÑA7Ŷïž7и¢Áyܦÿ)mÇ tB…é"¹-Õüxñ4¬çœ²€$<Ú¡Ù(¤”8¬÷™mrIBöÂUiJ:ŒÈAȉã ˜+¥Böºrõ¦ä¾,k ØäY‹½VUºÇÎ^cU"’›hÉZÏ„y‰ÿCa¥“¡ÿ±‰$–$xr2B©fŸÅ Q:ä©é£06ö÷E{†1N;²Où­Ь[K‘Í–&©Î×oV5©VLŸ*ef¼…-‚[Fã|Wê'ƒWït9ÈPä^̬‹‹êÆÓÕVÊ©è”Ü®íˆ H·Ê}™ÐL–gç}äÛøÌ—¯_y ¹zžÍ]@ˆ)oŠíþ–[Ð\è£@]ćé}ÙÅpÙ˹ÍFWQÖÝ›}Äÿ¹Sÿ½ãÐÅÅ<ÃÇ™Õù›vˆM Íìä’™´áÕ¥TŸ’æ\¬EŒ?¾Y“Oþå» ÙD÷ÄŠW¸¢3Û >Ö-æx[št¬cð{JÛ©å»b Ò[IC –75º ³aú~ÑÔÑvêáu€è×Hfô2ïÕTj+oÒeÐM¸2Ýéè'·æŒþlkä– -™¼¤‹iÀ ÞñJTé‰ÕætT¿ÆŒƒ¥ó’8˜¡MŠÁ(ø‚3ÎBËÏV‚îòi¼R';QÂGQŒñÛ罚>¥›Îm@½Òwt.‹yáG¿¶9¼ýG>à1Ðe«.f³¬ •Üö±O˜OÀsÂa²v{ȬêP‚ðfFÌø7Ç ‘}a•ò+—|iwLñRÛ¢¿Ý3 À•l}ÐØ´ÍK½H)øÐ»›éõÀ¾Œê̈•ÜÙ5°Jœ ¡ó¡˜A!õÒ9€}¡Ó–JFÌע̓:·­pJ²‡å㨴¸’vöS9§Lð»g?BÃÄÿ]a.„k6…Ù5úu‹™ ¼9Ä}I§CÞóÎ,¦¨D~§ò€ý2+í§_ƒªå þÈ8—ã›ûñ¯™y1H…¤~Bf;¥œ•¾››è†¯¿!Ž—M‹)Š¡º#è©=Án«®N\ u ¥SÛâ¶„3^(ùR9}fm¡8G—Z7š{ñw‰ÉÙ‹||uyã#:á¼Jè:ÔÔRïÅo³Sù»>À~"‘ñF[æ2ý »”à¨6(¥Ó´¥WÄDQÒN µØÍ¡´9‚ºU©:ŸÃ7¦OF™YpÚzØ.Â/ßoåE™mÊb÷öeßô4'‰µ «`ª%ú ¤¬@0`B¿×Qùàw•>RÐþ7‘ë,‡”å»L|Ä,ÂqóŒÍy¼.¾}w’lâíõV’‡ Jßç©ûœ®¢{àî·à ªã‚ZÁÇnz¤8©¿£ ÙÛ úNxY6øx*Õ…À\E„ítx9u½€ã³É²k=GÆ¢L4çŒ1éK‚‘Ó.Ø&U‡ÀůŒ?PQMÞ§2Ñ/j”¿‰O溙y7ÑÚœO*XRÄøöŒ°êË‹#¾Å é¡^ŒíašøYd½ÿëï #£Ú@)GÕ‰¦PÇåÕAÌ÷!îÅjw ^Ir Üe<Õ«,>¿ÍÕ«K¨¯+˜šÆy§ÚÓn¾÷S«Â/—؈$ašMY’J÷ìGÉÁëŸ_ÈÒEΠ"tÄææo´ÿœfØ‹Š(–ƒÜ³-×I¥)«”¹^7·å*±B*nEñ QkK™”h£‡)ö½bृ¾#óéÜòkPÝç@8ÅpÔžp®ŠÀ“üéKý%%H«ƒ†GËÚ•ûÇ‘ûDq8kN"Þ pbØ ì©D»…Ìà–¹FþëéˆÛ"ÎS9¤ô šÿÁ lÕÚ´¸¡”æAg%¾ô“„UJ'7„.ûˆó 9Z,í¬¥–X»u¹@€t2²ª ¯Èû°Ìb`¨“}ÄŠúÃ-ŒxwȯcÕ†·©*ÜúÐûùã¸4N /·e«ºì3³€_²£[Á­#©Hó‹r³ù§jc!õôî‡(Nd äǨ×ȧÄ=;Ù6²ÍâúíÞz£#YÁ-€1…u•O~…hgŠg‚X{í(ÜcÍ‹6·¹ÉñLJ½æŠ²ùiÆÞrì)Ý@}ye~ã7°à»5r9ô¬¸Î„À¬8©˜fJ‡=WÍhåX|…†šî 4"²6Íž¢'yfép søÞ Q’­'ý™ ˆÀ ³F€@±í Ë®`rt7±GЦ(^#ü”ŠÑ6õ'Ç4Ü”0Fï¹Ç üá—ÛakÅ”Û?-] ®|–L58%‰ƒ&ï§M Ùt&/ElîÐÅZì,¢W¸—Hþ}Á<ݬ]ˆ.’)˜ó Šý|4”å…jùÄŒ_€Ê ÔVÐáo·Å/ÓÏà<©òKù°'L^@¬ý—›«>oky 1óè+!êÂMôtç‡X·ÊW–3rçÞê¡H¸èˆ¬swÂ^,„F¢«ºIüI,÷߯PX{¡E …\2|±ÙDgt{ÀÒêÜæÕbó }(&àÕp:°îéq Õç/fâ ç‰ÊºU8‰x&Tt…HúhŒ7tÙOÀˆô„¡cµˆ´ørsrµmS‚ä*†eÒFÙ§vÕofn´«•_Ùu‡²RRÃr]!]b³~ J6úìÖ&;žù5žЉtvGmòd- z±ìR'¥³Y¸:*}õ+³¾éÐÌú}ô|©á็})ïTÙ ?s÷éég_ÀÝ]k!‚[ñ]šŒÄòa1…O!ŠçSHµëýbâ/ùê7…üpÖ g»ÝFÇ[FóÞ©aÍ[Tؼ®8Sãâ\P¾Ge‘³#[[3íÌ=4 ¹–§aׯâ5d5²4G5ÕýJƒ Ívì:ú¦žL µªRª{:” Íî,sq/2Í^ƈ$ƒfÅ“z:eÐ=¿CˆL}óÓíw 8I§¿õ&fQù=€r¾åoîò{1Ž=À‚»$¯›ë* PS[†´›"¼|àYz¯Ìqîš)°X|ߊp Åú?¥Ïp¯?Ã&Ê?¦ÉÓ©<àjÆ\Ô<œž°ó5C#'ð¾hUÐ+ h)Ñ™ h=°PøR<-w˨8Ì ¾Ä›@ÛyH›¨òÀFš «tÒzŠ1ßmó›‘ÖÚ¨Y*²yL³»F^<`Jè]µÜ?I¿ò%D<.ýkú: J:@¹VÌ Cýu;2ÎM6í5à+Yûƒc“£ í\ÓM©üŠl›öop¡K b 3kÝÛçÊH¨@¾†u²›6¬Ì¹}‹šÄ̽—ë6híZ6ü´n P=q€€]KÚwÿû{PVTNL²3¢/9E¨oŠÎXófÞ.‡ßn`•2åKÃ6 XƒÆeYœ_ô(„£±D‡£ïÍ|ÔZM’\œO†7C°ÙöNÈ3 Íst¼ì3ì:‡„«ì?¿f`&NÀ:lÁXš«¨AåÎ*^8Ò–¾Í9Bý³1ÚrˆC±ú¿L¯õR±yà«€[Å=Ýz 6L-KIÞD1⃙}šÙH³®5ž´wÙ¦`SÕJ e HJ|À¹·i×swœcÚ¡K9Ϛ䃃kÚ\Ø!Â}˜/l-ƒbÕÅÄÕ …9FøÎV–ùºí͵ëy{ Ë7CEK>Ì{J*\ÎOÃSnlý Ü;Ö<+IGØÑ>œ½j‘­8¦û€e„ÂÀ.¬W½F ãH •ºS©|¢7m±sÈ´¡sñއÒ"˜çP¸%™Fì–J0XX]Ûn'“hºªÝÄXQf æ|þdÝóÑÏ·–r)O#Å=hŸN®Ý!§>ÓÓkêóòÈ ê.î‘åÒ»ÿ¬ô6í“Ä“ í|$ioî jÊ/Uéå Ìùˆ©l5;ï!Hm‘Œ´¬Þ)DE’ ˽ ÌW~‘­óïÃß!Ím!„È’p¬±ÔäA•N'`²r·›_æ ñ ùxŽñ­1®w¨õN|iÚ†@4KwôiÏUÀØB˜ˆ °~YUî׫cÀšX*VÎ]ΊÇo`ôf(4Oàv ¨\ÂÔ/‡dšý$]TÄáîI Y}.ég•oŸ¨\J¿ìr«yƒnÚݪ¾Žìgç• 8“&æ±OqË#©Çz™5ãZ󔛨QÒœç’ (£ˆ;Gn‡{…#Q6Df\$}ÕÂôËÔ]2b0‡„Qü¾‘ŠˆÉ©Bi‡hfÙ&qßIy=rŽ¨Í‡ˆ¢`)Ѧ¦ÔeöMšÛZõtRqÇ5xÓd¿‹ˆ6a6ㄼ½Æ¦Š.ëÐ1Åö|‰û‘ˆI¡w e´ÏzH²mšg°34Ê0ÙÔzn}bì„ðó°±ÔêuŸiZƒÿJƒšÄkÈÕ˜x¤ÅލY3ÁC›âÒˆaÃÎ0%éõ>ÛµãâŽÚ!‘‡©ˆÓ(š ‹BAs? ¨·#à“°A’© +C/ÓZ†»‹EåX™V,B—®®zÿ``¡•Õ€»š4Wqdä/¬ì¬mwöîuDþƒUx—°c¿„5¬ÜV¾yq÷ˆí¸†q?ö`ÄÖ#¾SÁOŒº^‚<û©ý¶6mýÌpؽ5ϦéٚĨÐ!‰é‚±¡Túÿò.–Úƒ™_ 83O9ñ½h¾&îÞsûõòÛ4ð‰Òš‰8V2dôfÏXçÿÙ¨SlºÉ!)ÙŒ¯3ÇÃå8Jªàë'Å’8¡)·ê'Xò:3éF( L;N Á«CØvl¡WK-†SÕʼnY$Î}ë«KìÚŸQݬl‹…™è1ê•*^L»ßŇC$èj˜'þMboñÉÀ֔ݕGî Ðl›Ÿó^¨ÜŽò‘ z>2Ï–åÚ…`=®{ÁJšc.˜p& iIîÎ±Ìæn6Pqœz-e·  2¶ ]D¢3ˆ$¯–|3Õ()'Î~…”&# üÉGï-(ú a™Ã^о±*¢ÒQO†½ëÏM‹ðW,q‰ù¯Æ«Ý¶ƒN4Yœ£íK¾½–³ -àž£ÎpÈÅ +,Í ëGÐN˜våöŸ q¶úˆ]ûô·ÿgc¤hA¼|ä&ÍRqõv¿A…u*‘8É´äDú€Ú+Çbx¯Ù®H+ŸÌøSý,¬¾ž 3 »åúòâ/ò&ùRWî Åßù Ìžó^†ÛùK˄ȳ½7í$ÿ„±lÖÒNSÒ€ÊtÛ¦7+dÞk^¿ñ³YpÆ×X|¦—%‘:¹Ž’®ºðÃZc®–€>yªÙî~nÜГ·Íz¼¢Ç’4« ¥À†b½Äi j ìV:©^ Uà^iï«çoÅucPÈ;ÿ2m€Q 6¿X&)©"d©ôü+e?}Iïgî²aALþ#ú•Xy²B)Þ«!ØÍÓËà°´wó¸öªäI?XBdó@u Pc4sÍ õ‡*ÐFœ§©ô·Ú«ËÞ0‰7!è–wÛ©†v¯BÒÚÙ¬ðã“ÂÐkä"7­Ë §%P¶qÄÆ¦•¸.ªl£t,ûEi† êf‰ˆS¯<6NQKÍ$(7„"É›= P”{$®d&hæM;Þ`=’ðB{¬¹­JðûÃ|štd'-hÌ›Oã=¿R£½>Œè?b„tî#¬|Hn}]À <™ãFÔÂðÛ§óœ$õU¤NP¥P#Cjy½ÆŠZ…î›™! ÙG{a’)ý)òx¹`3(¾±7S¼ˆÆ’»Ð·<øÞŽ“qˆša»Žª(¤`âä»û)M¯ðn‘˜.;6‹7 ÙbÛ#yq¢¥°=@ é1¥Ó(x)ºTª]Ðß-Ë’® )É}ÄTÙ¤è®t±ÊñY ™€'=G¦_ î e×u5d˜"Iœèe©zèæb# % íè†;fûßÖÂRù³¡hgNS3ˆ':¨¥V–L½·C)Ì î\÷Fž\ynÚ%µ±_ý%0€–?¨‘Ó˱c$A{Æë“={éš\ÂM/Z~`Ê5À_=IÚ< –à<Ôª–5Óu Òü´X;®p‡òA¶Øâ€ j^Ždù4aSÀí×|‘G ɪ0êàë]_bí~ReZ!²ElîEÒb†VÓMŒeï–§WržÒ†ÈÁßäT¦8"¦ÒlÃÀjt˜nßbÇÍзéHì©‘@µÊ|-Ô¡à‡a„¼²QxÖB]¡Z9[»ôŸsWB›‚a)žæk?¦ˆí,•È+Êüª7ˆ"öÆ^eQø[ ±¼¼É­¢P Dè­úÞêì¹'/4YÌzÁ³ÒORÉámò‡Óå(t…¶ªlŒPb$p=êˆÅ>vãR y2@]¢Ž¬Dã6#ÁÊ©é4z ¶Qv‚ èw,dÀYaii/e&ï÷êœFoDä]ui’`Õ`qV”pšÖŠ*\À%QI¢ùʹ(4 ­oҶμg£Ô4Ih@ÛÍ颱>ä;2l}ÓxÿðE¨›ƒ@W`í×XÃߊn¨³Öˆf Šàc fîÿCf¼„j@ÜaÏú¼s2j åª:½f[“ä1%C'¦º«†IS,{œëû8Ñ9JÇs ª€dC­ËšÕ2 · v%úH‰ ·-VØðÀòöø7Ù¬»KAév$%eŠ÷[åná“T,:ê)ƒWà»ÀþFÔbr3¹æ$'ÖayB\j©K ZDü–¹ÍTKW¶…y˜QK÷PÝgïXÞÁØ‘Ü\"ù­züÜþóôxº Ic·×|UÊ/´XSþ€rÇt´0^tº¡\V'ÈWÍ»Æù—ÊËWGNƒ§Í…¬<6^Âè¬xì¬dûùnqrx–Bý|¦ìÍÙ†âv°rÏG~S¹dö¢S*ÈÊæÑÿ?ÁÐOâŇ'i5j¡\Áx“Ô޷ܹÓ%ÐONÿ¬ÕV¸¶ôçId¦æhš3ì|È·Ž¨Ž8‹í•‡[H`-÷x(­Ar¡ ÅOI¾ztºòeÜ:eÈ¥ýIª¼ W=, f…I,0÷…ã€i¡Bo‚GfUyôôJÌÍÖÑÅ¿0TÛõQ[z)‘  BR”¾íŸæëÙe•4ÃHíü×¾$NÁ2$ª¦ÝÄÓ#¡šæIÒ)!RÆÀ1¹qÌG>o*‚Áø3®+$›@¡LôœêfjìúR}Eßt4à&£Úx_š,zÌ3J Òž%8Ÿ±Àª/v9ö˜Ã&•P6ýH4|͘Á˜%°õëÞ™¨ªA;Yè|[ôÛ¢î®ÝRjÈ#Ô5nMLÛ‘¹ññðÏÇ•i"Fxž5i—2¯­áÇ#SpUŽë=Æ£¹õlÄ\K()e“IV@.ÌéPKMVŒ«²FBN¬3pÿàìÏ—ïq­§š»¡R’ÄÛ~)ózBtÀÊalGh…1ä2@Øp‚ñz··ªÜ [Û (ʯi?éBiô¾¡r‡¼ˆãÍM·&)ÿM‰F3-àÞI.7Ñk× ANŒa×:P‡í/’æ2;Ðù´67Àý8s8YŒÕi‹~՟⫊uœ˜•¨³ÉMÐ%•0³Ò¿g€]†¶Ôx·~uÅĬANè']¥ÓÁ©ßÛÌ'[kë \wÈïÂ(IÕ‡çQwO©ÜæÜÉ ?b²×bÒÈÝòÕ%J:…—óx+³%è4ÌÖ¨¤ó¹ûqñ•ÇŸÈ_Ð=ñî¸ÿ¬ìßkâ‚í;Qó£¥ÜQrá¡!\ŒÄWüœhLAB¾_M&‡Z0ùàT9´ó±»$tB:6ºº-C|Ò*« Æ Éڳğ‰ vP*K§›¥j¿\‘u®Í̵]¯Ø²õÄãÆ!üìÄr5+Åâwâé€aÁ@§û“ÓëðythšcåŸba¯úSô‘VÁÈšÉSØú*§í¼ó`6¾DâÌæÖ)ªÄŒù°¿n }a ˜_ÎKºUš ì·Ë "8Ôbé¹H¯ŒXZ}#dô€v~ê'>dw@ÕÅSÓ]'8®»(ç*îe+'²p!ÏFn²-+ª -îîHgBÇS0yïWDpYŠÐ4ö‰*f]Qý«Ã¢DÆiöû×~ÆJâSzó×`t怦\ÌõôØxØÕ\õÝòzg› a¤v ìßñƒ:J1G½ªôÆ)Ì=XÜÍY¦"K}ìÔBn ,£3C¤Äk¤KO¹æh“ïüØïªŠN9ìÉTµbìpmXävC'¯bRá¬=ŸA•y²8xÏû4äü®ëMhî%uy—þsõ%. —;ÍxÒ–¶„jð×âלB—nk©CïBO"ò‚#¸SJ<Š ¸D–S‘¥Ÿ¹ø€kÑk&£½>žU`˜¿T½NÛß»7¸¹ž¬‡%­ëTòÔÌwˆˆÌêÜØ”`«lãÓZ<êx® .(þé ),“V¾†áERødº_˜ã°ŸJè}´—zÀOªxTži(ØD™áàôS‹@ØÄ2Õ‚ùXwÑÇ=`>ÊòÕDíKíx¥ìwB%Š/”~©ŸÈ&¸§#aÒPN.¶‘é¦NA7@…Ÿó¬<ÿ—1Ò·ú‡©{lŠ5'ûÙœPû—÷ç]ø'õCn§5ëâtïÿ2û_(oMg¹n‰Úî[Ô¢hî"À|És*æAÀŽ•k©(¡ÉÍJŽöÀâçãH¼’ˆV–›¤#!ÚŠi’ï&Σ~j=ÜSŸ\Ù·™ ä"§6þ›.${¡À#„JRT^ñùLÇUTT EŸð4fAÄqu|K/g5k¦vÁ‡‡%±n‚‘é¥Û·…™rʼðÝ€¬u“ò<ás™WEµ|å^Ôñ%òV(ÁP:¾>ÍeÐT!TƒrwŸyümÖÒR3)lUÉrîãr´pÜÙ©D‘öú¯Ó÷P¯»zWã|ï~,3&ûÚBÓñÿ¦éUÕ¿G×c¿- W(¾WP†‘ͥگΦicouI‚’¯Æ/LüÊâ‘rEß0˜†‰›jƒÒ(Q–ß5ŸÞ:>dþD¸6–à~Ù½ã¡Õë¨/ðf;2ãú?¼í¤Fó|{ƹ ÃZo‹·ä¢%~-Öetï±g (Lä¦4ùï9>ŸKlŽzð WvkV/—¤Õ]d-¸P5d>ltå´×h¸,%í35ÀÍÛ´?³BóáœÄõŠýÊÔø7yuÆûñÛÚ¹LP¹Ò€ë ò˜n’EXE y?¶øgñ.Dbªh/VåHS¢;©Bú¤Ùyíÿžh'™ã@+ %ÊZ†Ÿ´X9YêÜm~CAcˆ:¢Xs K’W-ÁÁgQäïõQ¼ƒqø’qf4Ý“…ڨ˽Ó~Ï q|*Ík9)÷=Ȧ—ù>&ÑÝ8~w)¬1Ècv´£ô•)%ÈEžùÚ½‚Þ[׿a×Y‡vÌç<ÜŽR—ª‰¡ÒŠ„œ—³úk%Rwàé?Œ¬PÔhq(_oðò¹ÜSãº$áéíœ3göJ˜±Á kVÌj©ôÌ8ð2ð`òOþ4'|ôÓ8 „!…7•ýóVREòf@‡Ï šø7v’ð™ØuλÀù NÎÕvC›üÿ0êà%¿M¨ûç:Ò?¬Î¿Í–ñÒ ó]]£¿KˆÖâ¶NF[Šæ&²êÀ²ýoV¤$;óZ±Äg¯>ab”Çnå]¥)@¬Äx¸&³ÙÚ7÷îN4Ï`GÔð·À@“}MuèÚuë,˜ï Ä»Œp»²>X ?Ô¸ŽÛþÖK|ÆHzÁCç2¢‰ÏÑœÄ]ŠëÖÁzáØ–Á§È,SjË’5«xOÇ Në‰kVîKzKÊ1§pÄÃ\󏯂òB)ò¨Íï|š²hoCG¢A¢1®!?â-îŸ` [BîçÕŸä¥Ò¬´giœž^6%é8ô¹ élù÷èÍL Ç]˜µâAGÖEüÊnÆÈvÐAPŒ#™û•ÁÔ•Pk%q%ꌧµè;f EröÆœù§™×šJþhÖA;¤cŒàƒ*T"|1îî¤MA[UŸºƒGÌ<øÉ?’ÛåFÏÕ»ŽS×Ph­†&ÿ·Ln®ÞV­ž¡¢yô âYʂūfZé%v{ó˜òµ1KÎê5— ¨r$ªÛ½º‘Å—SÒ ’y‹ Kt`ð¯KÅ[ "®Ùsn/qu‰Èâ¹=L[1LJ^Z«KbOðÕËÕDqt·ƒ×¹Ñ;-8B¼©ˆ\¹ÉPÊn‡o!-XCÞ1(½f¯ò»,¬‚ÝPc ŠšFÞØÁ\ ½ÒM¾.TçÞ÷‚j,¶V¿Œ”o‰¦¸p‡NåLÑ0Ê^EjX±Çµ´ÓÂÇXÉxó[BrÉÖZú¨“0n¶xž«go;ü6òarÈúàþSó³‹ÞÑpÐJ”ðžÎ½j+&Cý›˜êÖ<æ\"îbÌXk« ­úœß³¡w¦d$vy\”eû¹´ç‘¼1 qÚoZäWÜ¡S—Î yœ cÓŽò²²­XÅÉ7`ÝÝ»Y£Í…¦‘ }¬}ñöXÎ, œæZOG“Ú¾ƒ~Ãá·Ôû;ŒnÌäX~0æº3;Ì5tÓË¢ °âëÙ$Æ ¦A„«˜˜G~£¾ßpŒ3»GðÌ>’£Ï”ñË“xõ9½¼`ѯ´6ßþtUégG¯:lZŒ*rMç`Îlµ·¥.à­ø«)$C(Mk7ÀÓU¹)òqœË¿\κ¢ Õí Ðï|Ý:ö+Š.ß5è™ñô/åO õvÿÈ ‹˜t7…>Ô­ˆçÍ¢ >øBfÜ-Š2$¼˜1ùJ ì³¶ç~Ÿ± à’jˆä>+ëb¡ê=ò^ÿ>ÍÒ2rM…Àeð1ވܓŸ&bYHPÀÙ­úIOš¬<˜,óS ƼZGC…“„£ÂáÎr‹ ›5;çÈõŽïƨ Ü“ mP»²® ©€€Š`@–÷ªà=VE½` ‘¿¶B™à-„%jIyYYYŸ Õj´¯õ;Õð ï­Û#íhåKΙ×׃3¼Aäü ä­¨|6êY„2Æ÷ã;tjYûËïâ5å%ø1®xº%ÛÊCAÈUZZSªìÿå¢?•îÁbÕA:_<“ÏVµ/›ß?º» Ži4v®–MIkðN°¸…­wAˆšÍ{ÚOÚ5{ûD;F¨±k ) tʆPÍ“ù>ò'‹l¥½e¹•¼¥ bzæµ=@Xô‹ÿÝæn+B=ìóa[tB¨^ŽPµ¼]øYgG QEàÙcÉaÈÅ0s’´ÁÁž¯:|Ù”0” oT¬'ËÈ6 ‹èÊ“nÌ}X·0ø‡åž`J§ë5µ·bN†ÍÛ8wÿöJ åá›Gÿˆ?g{)pÜE8~6òlhKö̸ä¨^ ‘jâ³þ§8Æ1R¯ø2=Ã)›|Öq]9Mq1Õ2§Ä·ÈÜK—¤“õ¶WOp·[&P¡Ó÷\ã¹ .·äÔ Ö²tnáà17ž4ÄÎEdΫÚN˹n±Ëg"7¶.<;h…ça mÜýêð[Áv¼ÐKˆ*BíR¼Ž‘‡^5FÀ:fv‚6­ÈÍV‰Q‹~x6аøœ>†™h=¼gô®Š¤pVs%/OmþÔaÓYd‚¢cÆ%Ÿ‘:´’Üa³Z3Ð;û„zÜëÇ µêžÿñt¯^péº}01º(£§ý~Z 9™¨*½‡yOõ™õm>QS›V†Óû]"ˆøqˆ¥ÏGý[‚ÂõÒèŠx ?¾'gV7À³þ@…Gõê#9 BO¹×¤0œ/ýâ I]ÿùN±*»žlM.¸™ç2ƈã4U$ú‡öB4xB¬÷Äæ¡“]U´x‘5R¸MáL£hܸêwNÃjpV•°—çF•J!0)8,&]\– ¶ÇŸíŠ\¯þ8!ÚÀž]ãµo£†@å„1n?­WÎÔÖEÚškü\%/Ñ…Ý@~®‘Ír‘BkÚÑܵG˱҃Û³Å6Áq¶˜u ¼þïF☭gS³ÉA—–ò³K³QqÖöjtÛ¶Å~ž¹#µþí…#]!áá¤Èÿ:d'¡¸³krľF]Jf»íÇ^ ](€Òw,§<º”2 #!Œ´¡¤Ö´ÝXx¨ã&ã»S á‘ LRçÕ3“³§TBla ²vN.ô4ìÌ2Jz[$:L¾þ)ð#Ŧ;+€»†ø6æÀd“Fy T ˆX«eßfë†íÈ5¥–b{iWËÙtÏÝ$M6µì3kš&:<ãçP˜n…9úM…vB×|Ò…/Ñ%»üÇmš` ÂáÄDHS“ÉŹEx$ïv½„áþÔ%NJþqúO‘2¸7y蛋&îljץYô2;Baff‡=­-/‚kËÕ,ÔuÓf"nÄ‘îƒü¶ÈˆuFk+ ]ø›EjÔ^£ûR÷3v?0ͯ…¹hºPÅŸ nÑRr=¦12 ÊÈ Kíø@9Øj5ÀãŽQh ù…ͺ£(ñµ²±Ðe\ xë–ÝYû™ïÔ¢l*ZˆìJô Í]i¨S÷|ñs9Œó zr]úÙ÷ã9\s¤¨Ðx‰¶À¢Þn=‚^‚ü#ê•´š›‡•Ïð&—×1>( ×Åhq»@‚'•ßËŒyz#á.–Ô[ßõDcÔtSÿEÏ•k Žm«*áˆęd)GÃP›œuVJ†Vú«aÆ`–LVäOEïŒnP_ G[—dñökb™t)šR<½ÇSLÕ{ nãŒÉ¾_wŽVu YB_:cÇ‹‘çºXò>ûÕô>Ëf«Ä´Ý´ÇkB)¦ýÖ2;qJC‹Ìó+nvuG¥Mתl¥g“úóvY‡»¾*iPßÃq@aM‚.é¬ÂÌ#Ë|Â4h6®Ì‹Jáù;œ­¬Ý,Ûõ ¶Òç¦ò†ú½ÿSÞ,¬þÝ12ŒX¢%‘þ}8_`ݬ5Ï . KÐãÒ ‹Yw¦œXݽØï“6êËèÂéÓ…‹E8«§)wÄ^p¼\i(ø¹ï1*ýJ¸ioð(êÓíNM…~óhåì5çuŸD)D9RéöN»J…CÕ~B#¢¦²¬›×_ *Õü.µZ8£ÌÝÛõ+’‰à•!¤°² ‘j¹‚CIQ¬ûªñÖRtD#)ÝUÏ.E²*+9öÆæYíõï]&†æËɈn *§_â¯Þ.Yýd¤þŒkާѽUáùðgÚij-øhnqäÃ}ªUA®ø·}¿–ŽaæG²§Í=ätØHKúμ¬dÕ1JíXVWâpv兑²FŒvê)Ë÷%Y¦)MUÍ© +²ÇlCÛçOl­#ä6¢²Ôêío’Ÿb-ÎT°î¹ínç Iº!&¨ uÎâ¨L=Cæd\¦Æè{€ZO©‘?¯·*AßèØt&Ýv¯sí ÖN0þùød(ô/„'û%<±¶ÂFeJõµJˆS"Û†(¶•Ø\ظ2fÒ>Ùr=Ì®*Ý칈8Ù½¾Ìá1`[E¶t²Ì<탠!oäU/Y YY¹åíUjT[o `FiøÊïm€Êh1Ò*4Læ$Ý€ w_è[Q@Äœ†":Üt@Oì¤ÜÍýB]8¿-@”êù§Ž)•¡ U¼Ÿhý-»òš–vó׸LîÙø–_Ô"É“óÝ‹Ò oáÂufŒü++¾3²H­äCxK §­íälжÉ?Wí«ú… ÇÞñ*þœ'*O#„@GHn j!ÞÌ!ØÙýk<¿iIùª;6J\a²årX"‰¦b·4v˜ÇÈFƒpºœöüöyõ(×$8ä÷yãÑDÙ¬¢ßÈUa{þav ÑÕªÝG´ÄdPg`_hž,àe#­U¥ô¢2>^ñ‡?‹–2~|黺ú‚z&„µ÷^z@,-…û Òã㔟͙»i•qH€Ôå¿jZ^8r ϧF(T Âw„v.íƒd†¨˜†ë£+ç´þذê—q'‡Câ…¬Õu*Ö¯¶<ê€ýL6©ƒº4X Œ¿Ü€%ЄÖ13rʱà íYJ.Õù¹¸ý hm¦¨Æ ÕCó£a«Éˆ± º™CØ<]Þh™ì4ª ¸À8DiYäkV9Ë:ðU±âxәǫêU—Câ¹§ÒQQב¤E|‚*â_‡®ç>ÍØ|Jò¹ÆírC‘.¸ß¯*±º@nÚ Þáwía=q©$2޼­x0èKÞׄx#oÑõ±¯‚p(²ÙÄ~yá« ¸Ê©$¨¶û7ð8”´Ž®Õs–²¢:WNgš×sœù¸í}L¾²ž¦®† $.4Š>t^b C&ZžûÍ2Ó‹{{R}E˜xùÄ”ñŒý}íüÑþ=¾(|í¥Œn‘Ó!gM²ò9)Í`6Æùv~6ÉM ¯9ÒUjé„5iƒoå_9{ºã2ÌÒŠb©¬È‚æwA‹Öi›6ê¾íRVw86ñ vþ†õ~ž;á¡I ¢rLþ#ŽÝ8ý¹¥‰Øü·KØœZWø¬[¶¢˜ïl?«€C?©Dº^¼iÔJ¤’{–¬m`…ƒ7ÀUiL‘¬o…'˜ÙÅ×"?®ƒª? ÈNiìè'†•f-wýMàZ™omÅÐg¶Uïæ-#n/fû쯽¨ôXÀ™Ï 8ÙÖ¾‚”9>îDlGݯ«Üœ£¥i‹“Šºiáp×Ï‘„©4ðkø3Ex1-SË®ó¤ Ã‡š€Ž«I¶Þ Ž-OF—ðÇ_½L¼ñÇ‘óÖ ?œ‚Œä ð¤S0ëe+{ ),LõŠßͽÙUðÌ—Ù^pÍÀc¼6çŽ]—è|ažoyó4¿üx¯sÅì[7ß´Z´yŠt[—Š{Ò ecÑjó;I½tEusÑ$O“¨/x©#b¹­Z”33³ttÑén>Zèx|IêN¢³õfÖt!íC8ÑÏ‚¥h·sCôä\ÒŽ],»Õs7¸ 4À>àà–¿—ÅnIÎÂf¹Ûk±C3Âuþ†¾ 6 žµ x<ƒw0 nªæC¯˜¥ÐdÙ¨:Ohø1‹ˆAOVÛÌKOjÒ‹ŽJJN@†SZ= Y3öâšxg~ZõšþhñœÊ^t$4, ‰{³&/¤ ý& .a /g[–[Rühz c0K~•ÉG˜©F2ÒB›Þ¸ˆÝ™õw:‘*Î^ºÉÍu°ÞPúã WäÔA 5¼ÖqÛÑåôš¦<ØVçáL^~kD`ã •Ja:13êø¨¸¤,€Gü2ȶhåhWs{3•LQý¾­2Øí|"(uQŒîއϷõ¬&ó=—Zcˆ\ǬlÖpÚ_Ñ’Ó`³dr D2ŽÐÏŽr HN}3/üÙ-ýD‚ùÔ$leps’* ”"0“‡ö2B8SQ\_˜ÄAKÿŸ¤—q "zäá"ÿÓcÝ ‚}e ³Ô<¬@H Õ~ù>3w: ’†ÆÏ|Jh—1‘!ÇS:ø×—G¶»ZÀð=wznⓈñŸá‘ÿh¦ªê@š\)b•ÐzÕ Ós[ó« výà€ÝÙ„;‡¹ væ!´É•£ÑqG ¨¸ R9I?1{hŸC%FˆØ¿^¯ÉVЯÙg=gölÖž‚u*¡¼ÆÊ†›É术ÄJƒº(ä͸ÑÒSgþåá>õ»ÛÏ×Û_VF‚(Dnöcš›æœOÔ£÷ÊÿÁÞÉR×xÓaî~¥¶Y!ß•/YÙáw+¤Ê¡_ÐWF«Õ§àJ§x8þÄ­·Ig쥇ñ•½{¦4Ö*µHÎx1ˆ¸Dúÿºy©4™q _\KÉÝmOòq• túç…§Zš;Yt;ÿ‡[¥p¨cD\s»ã ? åêóñÑ ÅmI¼ècŒšñŠæ0üM-·×È8Ïû"› —=Å…˜UWìewßU¾L0Û‘©ðy¥Ÿè¢ž£\l¤±^òY±¤oMùˆWŒ³‡$,£/SJcÆTž}€à“ïCU—c‡–jêÔz6¿øˆ:ãÃÓ%9Ûfqûs} ŒHˆÈûˆ%núHæBƒÙ)¥Oü#Ø.XB2FaA$*È'¸¥mɱãrËêg™é¸wÓ¿³Fsí~jòJîIx$þ-{ÂP<1Mz‡|9%ÎgÕyýÁ +êhÈ$ƒÖ©¼âiÝ㠌ӑSâ$#[v§xýú" TƒßºA›â’?^«O²U®¿ÜBÒŽæ4_ópºUÌ•(,ëQ[y¦R‹s¾H݉³œÈ^t@Û¨(kȰ5oæ:‡(cüv™¶.ÇÜÜhÇ×õº}[·»ÜþÈ ^ïëB´„q¢àYj œ«ãë/“¾Uu¨b¢$çê-¶ î³ÖÓB¨’ãDhDí4@kSN$GŽ–ÄÁ(¦þѦÿK™ ë€[=X2S4õªÍÅýr-QQt±JPò}SßÞj“ß^m®Åö»—3t$™Êf…~%YÌTïFÓ,c¨‚ÜŒ‘x_|泬ˆp𓱠%⡼ÿ,/ o”œN"/o¹édçÂ"´`ÉÀ÷@hØŽ¯a[‰ý×´@N§aA"4Ü!ú Í¿3Wüí_Ì`‡bX97ÂTûsí#yBõ•SÌD”ᑤ Þ#Î,ù0#NÑdíñ_¢lV4¬ÄLtB 'zpÑQ}2†Ój7¼?ýüµV|1t¬åB0_r¹m3ñQkª/hZ”öm@º”lPœcºZ¶œöÊHد¼I FÒÛVàÀ¿B.+¦ qñ™#ÄFÕ3@(bz¼#>ci•h®i«=ä>%Μíœ-¾©³—wQ¾ê¶¼NîYº:áxc,c^I• î^.tû¬Õ{Ù–‘Zf²å¹Ÿ4qòÊÌú0½ ¦^{û¹æ®_ :öîí–ã3m%#ÿ¸ö d(}õ‰lLB<­3¸ÏîÁ­s˜mG¤áPf«6ÖͲ;ÜÆ]Ïpæÿz 0 u}{î#¦™\=T–8uF¸o±Y¬'™+¨¯uüáöod*šŒÜ¶K?‡Ê²RWYx…X¡ô»2Žú¼\ÚÇÌ¡Œõh”{"ºz+8(Y¼>UÇ'cj¸É1ÎT§Ú¥Bµ˜ë ˜È"¥•Êù˜´îë"É5²:>XqM–´fB‚ŠF‘»®Þ?Å}R!ËýTJ ±+¼8 Š{^j¿åÏk¼-®:¡]ŠþÐ{C6ý‚qâFù€yê˜ÔIf»T¬k·ß¥=`Èci±†ˆ†vY¥‚U©™nÞ%ä·Ò.þX…3Ïɘw®.¤Ô’¦ÄG~%èàÛÉXÖŠG“Ïèöºßø&(¨jB`LÈIW¶)8¼®F æUûñ"D)Qý³OuI@7âËoSÌ7 AïÐ1•7}·î?ög¤%œcT|iö“Ç»¦×a¯ÙÊf$Ä(iÙZxÌ®ÁUhäb ß;µÎ|1j²ˆ¬Õ¬ÚÃ4hòÛXð!˜£X¿<*ºÅþ‰H†nÈÅîôŒëäGR ¶í¾3´UÇå§T·žÏNGâ‘ÿu¡e‘‹üÿ×w;9OÏEå}á»hŸkð‰Ê|lª=œöÕ&(Fj‰MsÈ„\KÀ¸µJÁVŠtL®4ື;ëVRo‚mpŠ>÷ý:Óƒ¥OïÝÙ–I¬/µÃYŸ3£u’ܨ³P04 i+8üë¿ûù5ߎÓá"["…-ZD–ú§’Ã|õon†.ºå üºjûvb«<髼‡Í¡•;bËÛêG.§Õ±q½Î:…Î"û„lÐlƒpŽAÃvÉ çX{WŠ<:nr“t5ß:JaîÁ"‡ËÚzþNñ,Ìû71ˆ¤V;ÞF_Níí ²9j5êDwǺ)~íVPÒ‡ç@á:¬WýXü½í™ç7P-Û.)zBè’œRešhÚn*÷DKüpg‰z™¶”é­4æöËUÒ1Ô¿¦Bš^ náÚDÞÒP?²Õ#Tܯ±rµ„°Þþ —û½¹¡ À=çM/ŒÜ© ÿ[Ø$l»„õìä*u±?¦t¼!H¿õÞˆ‰Ÿ4"MnŒc4Ûª'Úðp3ƒnÍŸ€I瀜ê~x|’_ó[ÖV¯ Ð=EK0hõÄ) ¦UN $8düWþܤ±C•æPº±¨ˆ9«)}õ{¢Çj݃Ëú…·’¢ïÞR p¡o¬m-9ÁÇ[þåñÆ‘$…ð©’8Dés¡‘ ¶5xáG@@pæ&òßö:m€,XqEø‡£ƒŸÐ@UTä4«a#u o†!5©ijÊ .Ä“Z[UZWu@uÿ'®T3CmðÉû¡«˜³¢™¨½Ú¾”å„Ëf¸xæFÕð¯˜&¶–Iè´øL>X…7ù¸ìVOå©©vÄj8ðØg0*Ô¿üÄ»ä40áÚd¼óÿv‰îtDÚrÍêzšýù‰=Ò;”—àÝ’$ÍÎh£–®‡A}Ô³ƒ80É&(ÒA/ÀnˆØ ó ºd? Zxw*ƒÀµÆ¡¶ÏWW©’!\‘&ù¿ê:®˜ä—Ò.zãåi¦Ús4|ãøpóˆy±arý9‚nRŠB[¾pŒœªÌßKï†fî*+¤Õ rkÎAú'Í2Áj&¤5›ÛM¢Vª¬ÙÕ6¨hÝ n´Qá·¹ÄëØUªá¿”ê>¡X켟óT½#f´ú\ºº™‹vÂøÙ”÷£Vè /yÛZI,»•ÑLÑHFµ'â¨ÍåöcȃR çD“´ß%óC›f{;îe<àèŽä¬ùn+ru_™/ž€J ¦a­šN'…8&L¤Þj žÂfJ=À¹™5ôSt1 èË« ]Åõp³tw{²¥ºÞÈÄ{}gÅ~S`jö}\V×àFù²FÃÑ'„BNoäÖæáKî»Ûù©¤î'’“³ÓÌoש¦‘…p{Â}‚d±Å ±Dí}Á)¤Å8E(iÔ‡Ðî^=èwš„h„W|Õ9@âØŽÃ—°ÙeäÏÀp|qÒ–‡‹ c:—·&òhãWrm?+€óö‚Z8š¨68ÌáïL³*PId©ÆG•'ýÅç;nš ì¤G*aP‹C;^£Ú=ÚüÜ”ØZ¨|xhjÆÐˆá…Jìž\‡ôÂÂåká©KIºû¬ |Œ+ìÔà%Íø»g?Ž[jê´Û*ìrJ͵Ÿ`Ò·~Nkþ{ÆÍ¾²¦Pdu õâEEvx ŽYjŒ¶—™ýϰ†õgð:šè&¤\¡Ò# óÑB•qL¡¶×Ìiø@$*ÚÂþ…5þG°.ê%cް c×ʼnkÀÙ·Ÿ9½Å9e<¡«ãRìåƒq…×_Ú' 'WJD¼å:uk‰8"÷à’:zý†dØZD¬®ï[×KŠV#cÊ ‰¾©JªÌ׸ޤnüæû•âÑIw‡ÛnNe|U{¯ò;B¾]’W+°"©N©D#¾ü[V8§G[ˆ”ô½b&°fà¡+Ъi¹\§b<‚â]›fÒ3_qÀÇèûÞk¡MžaÉQ‡NÂ]üz!,ç q¦²}õu? üspÌG€®áäd% DÒ ™®|vT×\‡ž&p™Ïžø*EãÌüe$¸êsÈñðYéQAÛÑš4;ü]î"ñÚìÝCó2Þcf‚«]“É)ú`GÍ©¸µ3ä]*‹4[Oïi ðâ 1ô¥—´«¹±W’gÎtí ro‘©«"þÛùü}Ñîë`+U3>jYÊÐy[Óÿ)äXú`‰ÈçŽ×.9ÕÀªhW"ùýiûª2Â?ì*+ÄšeJ¶ [°ÕXJÑ>,‘‰íý °·! ÉWÇ$*ª°ŸÉãp6.?æ}­r©¶8žçã›R4/Ê6fwbïºÆÒû0/ 0uÿ²ttä峩·rGú+ÏÜ6w:²±¨|1jžy#dGó6«Ýú¡Èݽi€p‹¾5rØ™K}3ÌöG•{ø†áiúÛÍýÉM$R|ÞǾ4JŽÉ†xCY ª>Žl˯J  éÒj£¸‰«ÿg¨À>ùH{hÔÎ N[Qý}e­ n¡¼/%ƒ5Ã%¨!$; kea‡ÜGlLMÔ¡NÕçµ°\|þ\îðØOìY ¯~qùE1T^9|Ñ{Âgæ"@„º>(u­^ Æ>%¾Ä“ª±§µÒÛk²ŸÛ4ù½¾Éޤ@´8&O——õSAoÞçB;OÕ“CDÀ¥?9u^.‚+:öÜ¡K[ \¤Í™͹YìKû6üDÀ²<Î"’²ütðïŠ"е=܃cÑÊŸï`çûdQ1mÜgÝhe¨Òü¤gƒ)JÆkíêÒrh ,n÷É·f7²¦€aU“îZš ˜²ºb´§5¸NÅÑLê§+˜pÉzûùÌh¿Š†š†b¦žÔ ±QTmT$ý‚j€”Œµ©¯m¶!“¡ÜùÛþ«Au1uü´ ·DËYg¢!Ï{À¼ëõÙøˆ‰(”õ´C¨±³S冤_M-ÚŠŠ:ÛÆ‹™Ê¼ÆÎm"§2sjÇ,™“ÃÚäà_¶\ Ì¦ÞÁÛNcæÿ¸9Å>öâ#YÄtú°™øS“+—= uWóXÔZ\žäP)‡£rŠ;D¬•øâþÚÖðf>·èÇÝWɃT.Vá,“¦ÅxÅkE "¸üVÏU §£€¯øÕ’=ucã+ †CO‰J¹ø?ðm6½ûÚe¬>Oð.—€€$óÏR«|-l•ðö–H«yo<ï¡Ü…Z–|7ÝýÒaÊO²pÇv¯¡{¼o¡±Q•¼%ïæ üÜbÂE°Z|uJªòº×LpˆÎÌäÄmh"Öœ&‘á™öäÉN¬ÆŠ¸ª;mÁ™@1ö/QÈH½A* "á£a¾ßL×f9Ò_<à²%æO{I@ø¡âß«Z¡×þOÂñ¬ +úøcßìÝððO÷_,÷(ö÷ÖjÕÍ—˜ð‚·5¦œÊvDicy]ì9 &š¦Ž²* O¿Š3Ô4ø•÷¹ŽLmça¡\fÑîí0Œ.¢3ázŦ±ª·ØX¦€Ãc]wóÕÕ>]-ú^É:²~®\_;"ïʨÂÈ@Œ 3n”ù¤÷‰1²•ó¿9t~ƒúõµÜ‹$ó|ãİpäÒ×—n@Ú5\ŽfMÛ¢¡›M4 û©Ž‰WYß›Áô?±ÀúH¯zã6² U\±û—qÖ«ž¹dcYiµYÕs‹e ã®J”ù] çxëÈ% ‚·ÑîD:“ù È‚ÑH+Q|Øó÷Pc? Sr*Ç«£9LýèêŒZƒY×£XlËäÚ‘ÝAܾ‚ÜõôbM•e‘ Î.Oª‘E5ãàõ]”AþGéaAË/=`àîà4å0I©=†ê\…ºÉHAž×`–X_«Os÷e4¿8ŸE˜*6.âdKªo1.µiNtÙþ>ª›—MÓòño;c˘ŒF9Ö1 ‘ô&Í€S)·ÙMºÚYbGè¹ÐbqÔê>çÉ ÀЧÏ4HŠ—äÛºØ Õ6 [Јy7£z•™d)`ù”ð |lm—Î…Z¶ô0¾üEÅÄÙú„ô1”ÑHÉYÓ¶iYÃÙ1-XÒà«™0ÐXïÕZdQwÖRúí˜(FæA’Jõ:¬†@dG+1î Ó#¥›ªù\KF·@Í.TîÛ.¨; )u³Ír\q°-KD@D^Án¶Ä¨"Äè¸IÁnŸñÉ<]J›©ä(øMÿMJjÓ>¡Ò9-jÿj10-°3kšSi$t%ÃØKЄÈÙ#¿õ¥j¿ŒbBæ¡õþ/ãÊÀ 1wt²±Z!¡ÀÑ.‹@ØŒ’ †5bÐ5˪K2Xj!ûŠy“g¤ÞI,•9" m×Úì ¾†Rjšõœ¶¾cŸ‚°5}6$ªñ€€Ö;x D…ùdp«—µR0íÞìwÒ™Aß‹ËëÞã£Uv„.‘hîæ„x ßî¶ «É’yÌï¤Gå¿j%éR7£]8Œg‚¾®‘™Íª™vî°¬ ;³@·uíýµ±:¥ˆÝbHdzCë€÷J]‘®ö„¶ÿœ–ŽLèy8eSȰ7 Eÿr3šƒóú>Âê­aEë` ¾rЇÚQy­¸$Æòcd>hÌ„vþX· •Âã‡+¼À`è§¡®K]ª¡Ê¨·wÁ—ŸÝŽBÒë(Gà÷Gu£‡Ò›¦;Ê›ÚD€GÖ­Ù°®6 `Ý&L„Xã#ý £ L™«SóÜÕ özØÚ ËÎ+$§a¼Ö¤…NªMo"ÈGŠ ÿ?б/—ño¸ÊϼN{HDrQ®Ÿ„¡ç'2tÚ`°]6ÂoaVš®‘÷éOñÇ—tý.çU(j¥À$(Ԡφrö4 ˜)¸QY§z¬ålÀ¿Z>VjA@Hyq+X¬›3š«é¢ù ÇZTøA°o’k¼’ ³:„‚ §ÓŸJ‘â=s"ç©>OšâøæÜHP€Y Lð–,.Ö¿„K ûÅ·…áÃÑÓ¿±óK( WWf8Í÷ÌÔ+u#–æþiaïÿó{¼Y½gÌU<"Z7“DdÈPÛér&¤ÓKO‘†hû˜ÈÖìŒ8»Nì0­EñF‘º'|tþ±tOOœ×­%|>¯hêãöC¶v\7Ú%02³Nf.é5¡øÛprNP_üD$“Ï"°IµäÁK[÷ÐÄ€#3ôÛ?b"Eœä”½“½ƒb:Ó½›zaûQ˜?ëÝQª0ÝøÙñn3„Ô!wƒnøº<Æ… e"e ÍTG2½»—a/¸,XÿÞO9æø„s6t´Ø“ ìQú©‡¾è¾ÿ‘Y~oG븜«aR²PŒåÄGÍ£ÔÆ[pPÝ[uVæ(‹¤`ØnùÆÖm÷|$‰”“k‡©ÛätïSAS©¹¼ãÛæ“ÈÌ¿2‘µÃ!Oà9£¦yÕm)ùXGD‹-èôÀ<ö£Wœ\T¹‘džÎ|Àº,P?Šn`L,A€ÉŠŽÙà’Ì"èY&7vȦu×6©ÅsVuç„1Wƒ¯4!MÁgâühyôJxØ‚×qË+þ)äR7/ú1÷ÏZýøCæ˜~—›A#¬åóÕlÈÖ¨{$“Q¾ñõÎ)|+1P•‰-Whü„–÷À‘€™$»­5ò„Uœy_Žc'A¸µúTº"ÓªÔ ÛéѲ̃ÕÛõD6bUkâöaª8ØS‚]g<ò¬¤'L³þ.ùIr»;ˆÎ"ÐaE8£ÏT‰—ýä’`ÒŒºÞ„Ú«Pf¥Kå¿Gab¦öyç›óI.%²ÁSS€Mïå<ôðaËI.´ í€^:†‘޳(ÿP°$‹^õ»É9l3Àê!ʆ_Pd*”õŒ2TiÝPIš%VOî§R GžÕI¨{b¸í¬ôsç£ð†ZRm1¸Šî7A#ªÇÌœæìa…_üÅâòU3’Þ_ž ›0ÿóKkxKÜq Àô›y8·5¸âEú<·=üT§<½á2ËÃÚzFûÙ…‹¥¦h `0IÿÅŒžöù9^x¨óÙÇ‘)šõ"ܵÖh{ñ o“gùÑe`y}7ôѦ?M@A%›½ÂªJ:M÷í .ºjMB9Ó4" ~²åËò€>I=ò°’a7PEd=<æl7œjj§¾–i? hâs)ß\È%‘97Éž È{'÷ߺ…S,μz‚¾±1Þh.r”t# íÑ[¨ΦJ,^&ó J2èH:«Œ·sºâ…À_8h?æØª}£Ñ5F>¹i¿£Z‡n9+3EbÆåÂS‹›¨ÒIÕldò^Ñ,ö@ý;µ’ƒÈCú%&ûÄý5Ÿ†ïÞÒc8½X‚zR­#°ãf›³p«ØzÛ¢œ^¦¦ÿ+<4[]£$˜÷¸fJÖag´Œf`¾ÖÆr„êÀ7½Ê7H˜`égڈ˭pm7’„rEú9t)ò×Z{ïàÑòh;VTÜþi€´(Ð0&iJ‘;ûC¹&mÕ $Êkt{CîgN/,ñËÉZÈ9 /+;õÕO|~07³‡}æ`€ÆYU·g±^å–ÛBÞ>ºG<+_»Ó”Á>žޱÆÅgH9:.6M9?·ª’ÔÛ[m{ØcO¯å¤:)Eˆàmü?ÞQîÅ0¶Åè &wC=+Ë5“ï£\ PZ»´õnðÆ®@–©Áƒ˜ ÷Uà\«ÿãH¿bmu}~FU£tµÉhP©N/ö#¬&«˜5 kþ–¢![ÂúqÈ8èÝ2«½Æ“|’{Ä1l=y0É,ƒ…ñ.µdO¼Š®Î"&%Ťæì&éÚÖqÌZ[GPž3{q¥ü‹Ëʹ)ôýy97/xû&ž*ø‹O2ð[*ËÞŽ“4 O =™F;ãbT¿“þþÝLÿŸW;5q”aM¦xjÔ€S¶*ÁŒnî_ ÏÖ¹èU}ö‘…´:Z v熑+‚;FAV s¾Š!jéˆiáÂx²í}yZ‰UÌš€I j~/ÑËRÝCŒÅÔ¼A|£M"‡ÞÝ"íq-hlV,|ÝQV,Œ)[«Ÿìå}“ÂY‰gVÉ›Ðj æŒ:ïÚû,GnSC"¢‘W̘U+×Mvþ’YÊ-Û“kܦqîô¥™ž–© ;‹p¢Ø±)ë~–飴£áûÙÛxàÖaL¶+> ?ÑÛCFñãçlj!°Ïâ08-øôž”âújÛ„ñWÇÒ?<÷Šªü°äµäì \¿’üz7í{V[ÿc¦8YrBÓìDxšAõÇ(ËR¥=ÞØl·ŸNØà!ì;ž(ào‘jž ›ÉÒ¯À5?×¹º£«Á¨Æ+HG=6IæN—D† ›:¹çšKÐhhyÊaÞÿ·T .$¤ZŒÔüdõd¡ N¿½“¦Yb†âý×NúÓxãšl0øvÒQÓ¨·LBðAê7ÚÐ’‚¬‹ðáàCîÒÊ,úÀز)¯bpÕBc`›h­bÍZtdÜ`[¬“=¿Àò‚?r\0ã`‚IsUЊv3-Ei˜»;‘µ‹X¹4ôÇBÀgá`±çÉ‘ûùª3NÑ%)ï5ÒãP1ÛôÛ–šŠ¤~”LÁjñý7ì­jí’¢%¢o³ržÓÑP³b‡ +Ý•Ã[×TÉyg¾ZŸnH'ÛX»RìÁ<±™žF…fY˯B“ÖΔ¥ˆ#ôh^¯[Ê!)0íŒ=bÝëæ¯ü!ŸOÚvdÖ|¶W‰”_¥`‘ÅÊ;//=N"3ËÈ>N…CÒijLjö‘w½øXº¼¤nóú¬t>÷OÃ_Ô¼l¦ ‚r~ :§®Lÿ廕 Ð]žâ–®@ãÎG×1±8£½<*ŠX+™äÄMÇnE»:<ôÐEµutÀë«}~¢ðóìâ–Ë£Ñ#§[ ||’„‰VžsOrw¾I hKÒµÔW½Ÿ“¤jÇgísÐÎ)ÁÓ“†ç*¨?MÚƒŒ< œ"7Ð$ž“ÔZ.« ƒ'ÁlzkªìHgзh»âÐb„j™G²zy×:½¦$b:ÄQÒÑV¹/Bc™éÏÖG­¬EÉòbA ¤wú"Bˆ k±RÑHKåˆßMcÛäÄògzdY†ÖTFl 5ôÔTlè§âfƒÚ ÎþðIYO|ËQªvVæpÁ3(ÏC/?âSDrÂìÞüYíȕᥟ9æ¸&®•¼é÷GÝ8³0)I)aú@þ S¾«G”Í=Y›¨¥’ˆ8È•ó¨$ŸÌGÙšS }<.1ÃÑj‘tö«ðJ‹„ÃÞƒ=×Y~¬Ø®·ëe4‰^¾ÜFÓ÷x¶ëþI¾ LæyA %ªB vâqÞëÃS$ED^ÂŽÆ,›Ž´T?äLí¾vržgö#A­ܵ˜ö˜¨¸ƒvƒ&ÚCÂÍb¾ölÏd$±}FE˜¢}yZRÍïåg·s–ªÏDnÀl Í£ªPEÒ¨ü&à22¥Â®6—¯©6¦&õ\mÓÒÂB±+žHhBJ_È÷n„ò°kH«Cƒ'÷‘™“3drʬº²‰ªYKvŒˆw‚IzÂK7Å›,>„âŒöÅ}5"k¨#öÙ9ª`®q%0žþw9gÃâN¬u]2Š”»™!tbh{Ý9y.JÙ×"aÒWëAVv_I7o³³ã»º ¡æãªÄH©Ân‡?„˦³6möFÈ:–9ižmƒô!°îý=Û´^¼äf´Û‹ì8gOòßÏ}Oñ¢LQ Ÿ×¯‚Õ­ÑOÔë L´{£–@…FÛNåÏ= ÓäYR“ÆSë¹íޱ–Úó‹v¾io”¥{h-< §Um?ËO÷˜7†eñEØ T„<õY¬*Ä•ä¦üȇÑ´õ†œª÷da=zûÿõ´©»4ˆ/üs7£F>úñIþž Z”÷ã˜ò’þíø¿2ëöe «4Qøþ˘ šgä"!¹è®øÝ]~šy‡E„ R#VǤŠÙUÇAUæ‘-$þ¬¨«3ïMç·Ï2|óûÒÛ^(ÐO!SY_ØÃðM¯ï‚®Â‚PâôUæ'I /32¹¯@ÞÊ+A5 ÷›ÆÜNôêÝf“dAÃŒ,Ró¾Î;¸'F$»‚ÙÚMyIAyŸÙËʵa (ÿ¦i(BªÏµÅfI}/IéC÷Q5#d«2´šjaª¥—àIµ3†nj“ž?¢C` ¤liîpð¨AÂ-dN_r"B5Wò±—v9ÿÒúåBŽrÊö͇’üÁÎ:§°ÂÖ"PïúSN7+^^jTM–%à?º Gð”EÌ+:Hf»f8Z;`¢N9ÀzöÊ¥üAn˜¬(M0voäÇÿ ã˜õ0>ih#0úPk–„bhýΉŒmšïOãŒNB)•£4O4¯°­šû>ˆ[»bVdT4ºîCoÀ§²W¡û^„pT߃0›&zìu øB¦ëƒLâu]ïn@UXô[kß½­$òû=ÆKísÔ¯CˆÇLEÓEç²0ý¿Kþ»õÖØ¡XqG4¬ƒ>È%™Áw¨áÕ²®Ï$¶xPr3§89ÒŽO$ñ¯Q¯îMjšù‡rf\‹lŒc`NpŠk¾D T:ZàÕî“_¶lNô´b2a:¡š« 'Ðô,cïþ‹›„pÀ^¡É"D¼Ö¥£#ý _{­µ¦$¸V[>œ5YáD–øzb!š!ço¸ë†CÄòr¨''pÃfâÍ2k‡àÈ!æŒG8º,r×' ™‘æ×ÐläïÚBpŒÁP|B ŒwÞŽ…bô©<í­OØ€Tª—â"c5 Œê'ÜriÆ·ÿ}pÒšÔ‚'®}$à?ŒgZU‡Áµ››m§îäo'¤z¾ÔŒbÈ~ÙÔ%‘FšiKnIÛÄu–‚ΣŠîUª†ÖÚIà›ŸÙ'h–œìCɸk""y©‡‘ 0R ;æ0’Ì“£4ìqoâµ¹«NäÚšæ*‚¯du€á6ÃŒ/f>fÈ–©¥þT¥<àÐú4ô>FÃìT„i/ûY}CÉÈÚµz2 ®_5ÎHQfVĸ¤‡~âŠNŸ-ºv˜ oáÚgN°‘Ò¨%n”fXM›‚?ny%p¦“t‹W‡Q>û~¡?VNsû!‹>U㣆<´(Î0R™x pª„" ³ d34e–~Ùš­`ù¨Ê§ÞAAù'Àë// ú›q­ö[¡À'Ê1³âÖU@Á>å?´:ÙÞÑFŸ½­È~F…‡¼¹ÿ¤äÈ&A€YG 0ôÌçöh(ûÞÌ2Àˆ’õÔXþ{AíŠÍÔ`œî%Á” OÞ\:$N‰.üMÄщ4'[œ‘E†°ióž![©¬ñœÉ•ªO}ýÚ0åÎ ë;#-[Õ„}"B8p:6áyÈ«è,À”:±@r_('ü ócâ¶¡½àgf’eô亃D!ñJ‹sð_¢íŠÚªšÆ¢§8‚¡ ³WngµèïUÉϳŽV¦‹ô¸KAa¿ˆ«qWuXe¼)µ´ßÁ6r†=ÿCVòba‘±ªÖ…yUº^šîyÈa^× ¾gÁ±²!#L÷)ïh¼êÕ"hº~-ßùQ5Úz˜Ì{¤ ŸËÏïמro°ý{‘šÿJnµôŸáÃþo :ØþµÈ$Wyµ6¡Á¥€ûg¶–é¯h8…ù÷¯@¡Æÿ€ÛÊõLÜFd®Ø¿»Äu+øÏ?]â\W@²XÈ Àª®Ç¢±Í¡%ã^µõôóŸÑYZp“æ´u‚ø ÞóTAÂŽæ%äB¨³b{¥ðtâ™2×Í‘åI`¬lë_»ÐÊn“KAé§®gÚªP´n¸Òü°ƒK_p¬:ÈZ3 •=[èg«¯šu9B{÷:§Ëíþ²4ŒIsQ1+±€o¬óîMÓÍD ÙV;CÀ>ilJˆÕ_ÏçZâüä§’gµ[¸Ëm çÀ–ýõöAÚ£þHh –Žô HòÙÿ*XWU@“H)Ï?€¯œ§&NGûTæåu‹µd*Š­;?¹ Ò\µÖ¢¶{ !½)z˜^ÿÌ7`°ê¿-¸v9~‹é\ñÓâcªñ$Pu‰rµ¦I³¦¿¹ýIæ%¹•%Ÿ6}û7”6íóS@‹L¯ìøfŽù5Ý @ÌÕ)sFœ†Tà׋t%’ÅðAy ’Ó½iЍž_Çê¶Ì¨]ÐóÑ ü>)Wª ÃDz%ô•â5{KyPæ~\©înA³N ñ ròGód£K Ž Wu_ÆÖÉfÂz)ñjñ¹ÁËXOR‚cÿc3ªè¾À‹M;ɺ¨Âž1º=·1e½7Ñž'ø›‘2CÀm…/š¯r‹Ý·:5!|(ñµàžÏ®o+ª„r£“ökæÛ¬"ѺӅÛS µáöE#8sýjíåV/9û§Üô$ªgÒ·0W{ÉøŠH¡XyÜQhüw_|T»÷6Z<¾RÉåÃ3MŒeü)"Í…£‡³~‘~xÉsÊo²aû‚4Ìf˾\ÐÙ±µÓH«c.b$¢}'}â_~Ÿ- ñû 3ÔÆz”¸8¯MÿGÀM U{¡ ;6äP}*ñŽ2ºCàrÞéÍ÷,¡Ä€Ð²G½a=Viy^¶!qgú;œÙkæx; N˜†àI1½ìµ_=„9\ç°”UÐZ©‘ O‹P]šœÏŒ°Ë=h)8]ûÒRy”—rÌ9êLÒÅäVø §q¤úIéw%–ùU`eÇmÁÕv–UZ!ø×|<{T> Á[~X -+Ùkœ¤Xœ¸5Ñ'£v6Ä×ÝìLAŽ¥ŽÉö²ÿW ¶êF"‹« #1Ò"ÃãxËçSÝ_ž{Ò’Öméæk×=1þs\?R’ÛpŸ’58±™5íEÑÿoB‡-Ènk‹¤Hd[Åϧ7¯ów/HS£ÛŠ]‘wÓ÷ò Ü4& :^,ueÖî©Ô)ñ„²ÆàbǪ{ÿ{–PBD ±e]k†—Ÿ6qáÒøÃ[9‹ì‚â*¨un¨I膉¥”·OzZûÞqÌPâΩ™µ¬ŠJÇ›G û†Ö0@QÏ”ö“1>OIÐd-àxÀ(UÇöÅ!jX9½—<-­r § NÖñÓñ±ˆ²p3ÜUãlêL:l¼!‹j·]¹+É•x3͌ږJ zò"ù½cúÄBÙ˜T—Ä{[ü ²ÿG[wà bzbÎÕ3pð+.Ïç^§ðUöAéŒÃ:i-:‘ˆ{ÛŒu”jŸcJËúŠÊVÜl›£ÿ"…£ÆgözáZ•²¨tcB`@H=ØlÆ':_³â"ô"…±4±õ.Vóºf;û@Õ꺫}Ìû|ùÿèVxÚÞç —!ª$öÅKïÚ›$'¦ ŒÝ1†?ˆÖ­WM˜i–Û[x̸öî¢êÊAAZ=ía‘ pr?øÑÜäPæá“nÿï@‡?÷9pP®äuúÚjËg2ØD®¢z*ß^Nà äÍMð0·3?Z‡ÐÀΩúåÿ»¬;•âÿT& Ð'#³²zÕGW,ŒlP8´v4=\Í;' #%SvA e—.x„0¢Ô­Eßš¶Û5?§9•‹¹ncå'2Èÿh1^Ðé³e/'·,Ñ’â.wÑôe•+ŠüÜÍL‘æJ= :¥ $:dôî´‹QLsìä VêŽúê{î}Úÿì"U›U*Y¹†-Kt¾ °ª„òµE€ãlõî{Cä.RZ,~4ÝU$Âüß± ÕÀþ=f^?É,À1"“ëÎdÖ¨~B­»é‹Ùs )8 'e­n+³Êqwm^üOÕ.9b“äÿf÷ш„¢žæt”̽‰HÏÏfKÑëT\¢„f&¢o›FúüÞY§@¸ý{áß°ÌzhIÖ+:©c7> ®Â†ôðßo>-nRÉÙB5{ƒ<+j²›“¢îÃÀ° D;šîÌÚXòS8?“^H(ö'Í|ÊG‘W†`F ~nš±{µÚK¦³Y¢s«?üM¿ÜÓŠ§x±õ¯„wâ7ªisí ¬äâÛ„mpÈ=\¹WbX¸&)5ž¨ßþþÀ⾿Ä_‹¢Ð·ºÁ­™ÍMKÏ™˜’r È3¤ËØ+Hÿ%~"º*FU3Hõ&êÃ)(׿‰+òÁQGrò~ceý\Ä%“¤’Ô¢Ki»w@9 ðhöP˜€Ž*l‹£µ„䶉„si†v­² 4 …ÉÝ¿ÅgéÙlN·© #gáÚÏ€>J2ý¹àDvÞõô{Az¾7ŠßKKþ‘uÖù@™ÔR{àÇvA ¡f:¦˜>F¨ã˜²»«)½S‘{xg LuËñ*Wc¤ÃDÝ´†„‡àL„Òê­sÁ¡™¬E½tÔmU«TN"”‡¥5>ñ8Þ\ЇvšTØv^S6Š…v+'A–j¶ ²I6(;çÙœ)>žTƒNë’b ¤3¸ª£ˆ6꺪k³îŒžòlq½“Ž&Îm|Mæu‰b¬€¨qCŸ¼KyŸû˜É3$?ÈsÕvÔ·!$ˆ,¹ÆàâÖÅ0þ.SRH£æ¬ëWdÚ[«SeÁENŒL\O‘ä~OÆ8*ëÙaC3“1¼¢\zÞPa4æ­’å*ÀØ{/°‘è’,bKµóÎ?§ÝëøRÉÑ*|Z"5hZM½·¹õ7±±Ã5]ÿr{É÷—±&ÿ'ê³×9=ãßÎ.3‘…3iÿ7FHð‚Çà˜«8­ÁêTñ~’x(HZ â‹0*Ð$fôÈ #˜h£o”È£`­³R¢¦Ç­\œ ˜€éµ¸‘ ‡Ã½â ‰R Hò½ñãý\ÞT\:»ƒÅš·CÿO°Ñ+–ÚÓTjOnºfÁxÌþ9ÞÍÌjó»V€G¨«/E#ÿ(t#î2‡€èžL‹\Î1Zçµ°B_øë6Jâ¥wæn9þ4É¡“§.œØ¼›ÏÞaÒ6B ìð‚Øá®ä±%ch£È¢¶³;¨Ã>„H¡­EA@ËËÏQ Í}1TKbV…¢Î|.öò–ávÿ¶¶|¤|ã‰ûÍEÞû_„aª ¨´"$¼ÔDj›XfŸ~D$¼Þ¿k ÕV4ëUÅfÛV{‚ü$V˜Ùk/Cò{¢e¥²VŒì“¼¸÷‹ ñe.˜½IÔüBáV£‚´±õs¤dç&.ú§GÐÁ·^„Pæ×¼O2_½Ñö{x¼oG/ †Ñ4ҪƼȳ\vÈÎdÊä NSL0·áÔ®×ß%LÍ¡¬.]ýCš穹Äúl© ÿ³›wkcƒ)Ü] )ß(x( Z#|à-@~ÔÆ± ^ ŠJ_,E2ÅŸÃ×°¦BiÕ2R=ÅÀ—{Q¼àÖ(>"ßߨåCÝ._–æKŸ±zÙÖ¹ؾ\ ízq¬”xÓËÝÐ!ô3@c)Ê®ßg'‡p‚'‰LGi«ô€b¹zK Eß!Çäó‡—§IðýSååMŠî8•%Jxr_Üác@e1æ‰oRíAªÏT+¶|“)t5†sS9GJ}ž¦‹ÁA¢SÄß4â@Ô zù¿G6…­­¬ÂºidmúX› É$Y¹å’H¡ú¤#ÙÕ·ºH1†£:àÆÖ—TúPb5JºœñÅôWÿ4†˜:¯Âï¨Å·\† ǤBmÁö·/ùÊ“íÑœ‚±(ñ·ó„êZä˜i¥¤ Ï/b@zb¨kž«•— 7&E"_&Ù8ÿÑœŒuîš- :rªÝÝ%Ô¡Ê(üXÜg ukšb"U`=HDiÉ7•®Ë$©ȥÈ9¿Š­`a¸üØ4~k$‰èU»jâ”KiâDjÚˆHG’çÈ©sÌf#ÚñdÐ'ä9 ÊÆš Œ_«ÜD„ ¼3¤],–Ä aÿÐë÷?¡»ªòîîiÕo\ênD @'ŽJ؇澶Å/ÆÒ†Ž•Ö…F!JzͶVŽÅ.áR8«aý¢¹¼ž#'ljñ ½&¢g‡ao°“û> zÕ™òêš%tÝ5nÿš#ýLfó„£_¾†ºýŠ5Ï.ýDÇ_[¬×•ЦÊ×!…¬.ôS7`]5Ö•  œœªQíªÐ’›:|3딂¯zeX8y㜴2ð’+ŠÂý(ï€]T<š“dBð'Æ·Ø+MŠÿa½,©[Ø—b˜–ãSñGZª°Öáœov¢_àÆêì—öNŸ¹ë«Ïövµzj^+âÐ'¿®PœéÞàáj;³PªÑ…‚“ÎiWÈö6jqèõï…Ìì´^ú‰NX*Èða°ž» ZPð#£F{Ön‡ô;v¡Í–"ïg'SèŸ RÝBÈa«\­!T¨¡Tt»×ã$Ôí¨‡Â°³®›ì÷Pû?];ýüý/±ªÃRûêMgCŠØƒ†fî•MD‡=àÒI¦¦Í·¹_,A]ð¬HõªêЛNކ4Ŧ–E§«:Jºö‘¥£2×µ›M†CjÖŽÝ!»9Õ9·$€ìakì¼ek»½@Äèç Ab>­è޶ÎÛBódÊ$"nVÌ•-HE´œ¦4x€IóÍò¬x©H¯Ò:„dŸm¨!ŸïŸÿuì¯ð¯¦R#´AËcÓ&§ MA?œdjî¥}9œõ¯u{‰áÓ¿’'&¥”úq˜0!µ>4ª—æS5Õ3£pÛæy»î°õÝ;›ó4®Yº…Ȉzë¢z3+‘&ø™!i¹µÿî@ÿ´<[Fú«aêùCiÈs•Ò\Q»Æ OnܧÕü•STêc%ú#õÐÁ«(.D åìÐÏ}X]!%ÉkuOaó3&q¶em§RÏö»^,Ù7;"Íu}xÅÃŒsUa•¹ððѹp§§¦Þuù&$)úƒ¼jÃʳz *ó¬„Þä{D…H ½ò?øÒ4œ¼I¬Èi ¡_ͪ1[f˜LfnÓª2+Öɺc””þ«TµãÚ'õ}+~_ÖF×ìû†ˆ¯&à’ÖÇþ€u[YÊòb¼2D[ÂZÙIžé¶R]ïAN7,­ºm³tR|ÒØÓèz1VÒÛ°?Z†ávêÌÒÏdW<›xدg‰±³ üƒ_¡X—þäì•dˆ°Úi®¹ûJ JÉy\‚3o´Ó܃õ*ƒ0BÚÃè£}¡†ÑÓPž0$§ ×än gZ¡d•FM¹×éÛ ¥Ôû ê¢.V7Ýy¯‰~u¿ñ•e#â‰eˆÏR;ÇËB×Ú(ìÕ©jžuH= BÆ¥óÊ-’Êy× zÆZüà»ê¿ƒcÖÛ. åÄ„9Ï=6;…™'Ρo$Õö†R––ÜÅ=ëÅ^—â4LµÚÔ¨CHú »ÀY^¦*“ÒIùÓ²|ëß4%% ëݶd¾5Óh¬ ‚ç™>µ’TÉ8F’wµKéÿÚí¹4×ôÚM‚›ŸfH|{ÓRu¿Å/K¢ðMùÊZE.í™dÃKß0Ü¢éi%xχgv\¥mÙbh RÅÁ Y™þé7*Çš¤‚Ò¶29ØDìÉ5¤²J¡®' âðn6uH§"ÙUrÆ÷o Z¿=gÁÿL‹„Ëá¨eð·a»XQÚ{PÞº¢³è¬3Îuý}ãUM¬I,MD¬Jü‹‡FŸcàžh[m™“ !KMdù¨¯P‰BÒ}g­Ë­-¬©m\GßÙ$P’¤‹ió ±ýôlìÉß"ÐwÑ_æÈ+(¼õîG¯{ÞØ“ ²¯6ÝØÕÀ´ù3Ÿ6K£%uKÀoãÔÆ&ÑâºHŒFÁÑöÕâ³mAÈ)à·\eåÜ';ÝrÛÙéz¢E¢¬(B=jñú×/ïhŠÂš´§•Á=K¸³ø´z÷( "Âcë…œAˆ‹¯²)~\µbXÑ®qfP‰VP*Fpâ’ZI1`%  Bâ›–thÉ”à"ŽÅbgíDJáSºYŒ>Ö)é- ¤œt’ûŽÂåØç²@TÚ|ïšÔ›hûŸM§ÂYV%Yžè³ŒO¾EÔu¦oÝÆ/0ÛDë´ûƒ‹zØˆä ¾ö5ÛVB8À?’ý ßâò„Ìš+5Åm5©¤õm±1+ªÏ#Ôa%‡!E?]ãjðè¡ x»nüå©êYÆJKqG¯]¤øŠ`|y±péLSøHð…u F´cgq_õäWò‡ÌÚ÷9«!ØŠ(i$9‚JDÅg¸8ñVÿò†Èº+Ëߦ\í ‘»Ô~I¡²ï<êüm'Û×VõÃÞMÅGúåCEÇŽøˆ%†¸6º@4broAÝâQ‹ »FÞüÞã%ö$)0“~´˜_ ú{‚ÂK×gxª]o+âp°§ˆôLî辰R§qߺUàY:®#ªz³J pU5TæßaÄÛ×2*Ù•4û® ÿ–C0_Vè²èj‹ê(ÿ!.«?0Á7gÛ,hd=<#mÓ–”ÝúÒ‹bðnc|oßÔQ„ ôËÙFÑ|:0â’óBè^'ä˜ÇgûeBìµçõ•ÒŸ.J$Ý£O„³USCDqæ>ûg‘Ä; "è[Rñ˦Ðì0ÆYŠÐ°òÍq¢Št•¿¶þ>jáNf˶ò¬S}¾@{Ø]F0URí}WöºáˆšáIIÖÔh&÷M¾WºLÚ‚•^ 1ƒ¼UŠÆÚaŽC7ï \ þþDc¾˜¾axŸÖU³›u¬&p?™%o©¯ :ŒW‡®o„L“¯Jf°M$cˆ™/_÷{úÏÌO>æ?X‰SÅWÕá"•£çªÃS:ßÂóÝšÓ„=ç‡p…Yœuøüm4Û Š–Ït&&±Ÿ¢~ÝÄtѲÅÛäCVi’mîø"5`N†ì¥ÐɸZ=lÞôEÚŽk•ÛÌÅí>A P<1¾~Ö'+¶SýèφD;ª”‘žvQ•YÖZ¯EM8iK7 +DšRö8zD¼m±am ’“v¦~£±à´Üï'±,…0ã^AkãhiÍù–‚|«?z4LÀ3*»šÙj¼-Öü Ha %iùEýëc‚Ù¶V4æ£ñ¬÷qѧüê6yvtÈ·ðЧ;2¸n:_5+öpö±>< ·¾f|ƒÍ‘» ŒXÖøoâ`n»Ð«ãÅØø+›bâµJ»Žp0aƒÕKÕÂIx¶A•ÏmLÔ^Ú.¾~½ØÙK¢nÒ›L‚ÇiAÓÒ8p÷ëWÖålé `#Tº/®šo!Eá˜Î¿­Äü˜¬Ü83 wUb@ì¿Ìâ;³Ê'oAÚ=2mÃN‘¼Eºµ÷P周žN@ÍhJ]ÎvÈ¡&ô¸Þè„M#ùöpÃ,W†á6(ðå”ò©U.î;ºó6ݯJ(kÓª@Ê¿2«vþ4þ±P¨é×Ù&Â4ÛU[3ýã^Äh .+Ø¡ þ<1c£›ŸÓö™äðÊ +':@ÝÂ?%²Ü@Ñþ6>žM˜Cyí¤ÆÄšdÉš(E`pœŽ›¾zøFîíL)¸À÷p–o½Cô´L¶ShYR1·ÐÕz0’s ¿`R+˜&î(ò U5Ê ²ÙÍØJb˜A„NÔGùeÒ½1æ¬cÅNX¨‚‚j8xóG˃3ÔÁ`¥ŸÁt¢2_V(Ô·-ßÛʪÿußX]lØü:/‰ˆHõšþ«˜©ùœ¤.õèH9ÅG#™PÞ£=ïùm´úmѨ.Y•ØÑ¹÷Ùñ|mX0'ÅVDãUtù|À7¸SÃhðDÚýK?ÆW’Ÿt8$4¶ò¸¤j`GXÖ¬x7F¡Úʳ›ošÇJÎ1«BB¤âN¿Ì÷0ŠTÜš½D:$`l‹.QcÑq‰q×Ñ‹°6ÇÁ,áiá•!È”¯9°a<;êFÉ3À²5 r‚–݈1Ò; Œè¾A{1 èKŸá¾Û×r–‚ðXŠ#dÛ@@l±¬R³ÎóZ“Û¯f ãv€\N=CÿÈó·uMrwÐCp€,%_>g^-S˜¼Ëº CùþÃåè¸Ì–zÝH‰Æ3®M„lx‡ÒÑ´(Ë•’ß§ô¹5sÆ I ’Ù‰}¥ÏÕí=ˆjn )¢W¡jý³Às›þôgx}þêi™;<-%qüB\ÄJDÔÊù¦’_‹–]¾K kŒ\Ô=£m†BGã[ýMöOŽ’¹‡zA[,[ †l=‡ìÝ{ÈÁ òîö›<•ÎÝùŸÿWŠ¡€wü¥>iÑ LŸ¬6‚#œ&âžãí»ôô#øq2n¬B‹Ú•’@y¿D{gÍx¬‚Çã¹™%qS°»uBHçy”¦ä{[ §‹ÐþøS³ê¼5àÒ ËþÓPr.ßçåwK<¡V>K+¿ÑY Ò m^4‹óö.fÔ݉Üã¢~»ïøüû™ õ{`—6´b4¶Fø|e¿ürÃiP޶ìvŒˆ²¬ë`}Þûˆ§^Ÿ!¨^Ž÷ª @µö×RÞ@ûçŸÂp1Z}ŒsÐÒÕ"}·…⟑)RT”C‘Ý\;ay‚ó“P=R¤Ñ[Õ Ù¢ÆR¿þXžwý‡5sS>¯DóÔÿøâ3:g;í6o߈=p*³. †g—þ3$öša$pæv ßF¼;}ÖÞϨ8´JHвPw(4EVà¾ZÙ±2©mYù;yXÓ%î7›c8n7ƒ÷®}2þs6¥¸2oj©/™8‘5é´¶~‰E§Ÿà øÀÖUÇDe«DXTgO}S:pà§§ÊøÂeưÁM1nM©£G¸üÓRp%mòt³cëaù®»q¡ùCF²õõm/6lZãüƒãvlqAÆÿêéZ¹]ªÀ=`FéŒÎ;¹ÅUÝ駈_ûYBGô¿ãóüýG[ÿ=“ïiשø¥‚Ñ÷Àþ·ŠQãS;@ór¯½V¼s‘Úq¾&ùƒlSÖq¨xèß]žßVtÝ;g%¾Ð‘Ä»pÏrÆl†gÖlòVÉh³Ue¹Ä]Õ¼‰¶2šÚa¹~?ªƒìÒïËß´ï€sPùD¯RÌ”½új•™}kÚÎáiãìó¨ãb™I{Žj²c„ù‚{Eþu×¹7_°ˆiÁÃdÞŽ:9‘eño»IØ$xòZÀqB¸«Ç$ °Çêƒd““¯~MÜNý¹:=_Žó1d™?ã&wÃç-Ø|û’·±»Æ‹({ÊùžË ËgçÜ~j È‚ËÅ[†,m$"á=ý€ÓañÒŸz˜o4þå"!K•«–\L¶ÍÈ£ŒÎm! ¯†Ë`MY‚\•çä[²(ø*»g˜ž` ŠlÍwpo¥x¶öè>b>™ÜÄp•шuz·à;›§½Š5¯¤ÛãÞA¶P3¤Ð08É.?®^e¦‘Þ:ˆÏêi4[_x™²/çmÁfM'=Ôdâ^ü»eÕg8+$ Ú•íª¯ŽGUOé»±†`è¶{KÓ‚÷Ð6êâQÆ¿3S7{zýŽØÇ_ÿ*qå7‡Sý sªt:? $Gßu„8Œåúö$'Js‘EoÛ…Ù€~Gê/‚±]ñ8ý·eÕ´ v¾5G†³=nQTPY°–¨ÒOív°nJ ”q!s5Ûµ*qª\+‚ ö–í—‹ 6 ¸oèþ’ãÓC½G; ôK+\|Ëä|©x>•5=ôWZYÒ;,G–Œ1ñ{ÍS(¯ªÍd Òö]\þWŸôYBóŸqžp õöÊÃi·–¶¬¶`MR÷”)!VŒ«O€6ã‘Z`ÍÇ‹°ozÊ»æ&&¾•‚¿“H¦•]¯ çj!¾ /gÛ§P“˜Ç0ÃAôånÿõ†~O¹ó p¢­I ]ü4ÿYþHT‰Í"Wm`16xaˉD¢¯osømAEÝäZ¸å€ÀLS„ ! ßÒ.滪 —ÏJˆ!$à8]ôn~Õ<8z‘mÀZÈèx¬f¿l·Êýº œÑ·a<~€<)T¸»¤ÉôåÛ…S¸šCÅ$ǬŠsc¬'N±y …1Û«+VÀÛÔŸç`ÔLæ,¡Íޱ¶&Ë´ŠáäÏÉ"í'I»t°0Dµ«òâVYÆQßãD`Toy+ÌûMwÓF›!ç,Eöµµ™F¤œ'k¢Ãdœd*ƯÒ$¡|z=œ”‘9P™ ö¿ŸE³wìÑå.-€ß|ã¶+ˆ†ºÍN´»qH« ÊÀCÄ…c©ƒ>¨ 0ƒhžíãö…fjmzgÂüãæmáåwA 3†"ã”k}X~ïtÖ·6fÆß³“§ïo™K2ⵜf€[Fmn[ºüìÖbt©0Ƀi–ˆ|Çòòç#اÈ)œä˜ ú+Q[sO>MÅ#M\ÂR3ñŒôŽ]χLJžØY¬åRÔø¥‘ÀÝT Ÿö¨ö©2°ZÄ“‹Â↡vâdô‰›öàm ¦Êþ0sdˆºHŸCÚðöQéá¢è×4DK4ÜpÝ›½Â×y4Ö\Ú1x '¼ŸSFν.9´#­TMZœÏUZ§ì²;ÚÞ´%N¬^ž-ûç;&™!±EÓÓQƒ"õµf:ÛPŒëÜǹ£ŠPÝ]Ô›ñ(²ÏÕr£÷Z ¢µ Ïòå—·<Œ’#Fšûq‘å9H¼Pâ”ZsßdÐ@ô˜Á p˂꫋=êÖÌŽ£T«ôÄXþñð`…ެa,MWë46²¹ßë‹ SxãÙç·)«ùÓ†£[ÇdXJOúþš¦Úp¹q£=^Æ/òkcò÷vÏÜ#pϲƒîYþu¼uÏ1FMŸch—n½{dý\i»‹…Ú8 p¦¨†Ó3èýˆg7(âV_ü%Ðnæ¨è@_@L2'F=™‹Í²tÆL6ñüw7 x”Éìe¥“íoõû+á™u’t^BÆÉ¯ªêI“+ûAE”ê`íNCnf&wFpßìaãœ" ¥M\-ëÊXƒ"eâW£Khˆªz†]Ø·ô¸wÿŽCó}¥­,‡^'…ã¿6,s($¶¥*Êo‹Cׯ›ºjÙÀcÙ°•$+N¿¡ÛÉÓáH"®ú+¾ù¯ûP5&wŽF\TB )„úÉ"ìåÉ–åÁ¿mðD@λ¢ L¥eµX-’½“šW¶ ` ¿ÿ<8=[+æ™HY5ðâ'hÍ-ã£/ý©öéºö]ÉF‚…¢@³'¦]Ÿ ƒ½âèRy½¨ë,®O㙚{aB²L0I´‰ÅYUB¥¸êAÕõ|äõÎW¶'8Sa²¼#Š l‡CëÛ§¢”ßWŒÃÔÅ»çú-‹òd\ßJ#”5ö ªEØ2[-q6 †²@‰}Ïܓҥï·XDÆv¿Å=^zjàp§-±ëÔ±cÆ9ÇÄjÕP fÏu0Þ)L€½b^¨‡#Pö9¶u(žÂ/£%Eôq÷ø1 ìÅWëG?ÛŠˆ-R:Âr誚ÑÇ­ÝV]ÑîNzw~ßo…/³ý’ó©÷]£J©ó‘ûbóÓyŒ[ñ åùÜ„|šQW§­]sº¢Ÿ“cW•-‘ê Äá'%s­2þÖîÕ¾¬?S umá’œâQÀGðïÎ2j óA!†´;ÉHBs«©}7Àòà¯1ìñúnÊ©±œ×W}€*Tß•­ v^/€LOM+QôÇ8d­ÇHZøÀN¤?Ôœƒ*QþU…4JŸîµI^;?ﲘ=I×-1Ÿo‰¥Ì¡ôHÝž¢NÓZyëÀ?éç~TkA‰Ð<ÓòŒôíÆ¡BÑxÄ©$ó?Q¼[1J.:äÝ0Ã@ðþ¬÷pØ: ¿ vÉ] ±…aâ—õ_b캴ÈA_”†Zp¬º^5çù¬'øON“RxíÖñÔm‘ƒ¬Ê RQ¢v$¡+»ZvMm—ò)dœ¾¤SrNÎαiYIíèlLGÒéÿ{aȘŸÁ‰©§´¸´•bÓ¥y)i…¬>ð¤6’ø0´ê@3ðT¼à¥"+¿}çÆ~áM;ÓÝÀŽ üoð™†ZêP£%k©D­ž†vÌôÜ6ë¡n×…¤—×z6úZÑÏŽæEâËÊg>E@ÄoO¿Š½¬!1ŽQºâ%ÛÜÛ&êš$lƒ®G°i%–)äÞAþšZ=z0kó¨rν6'ÆößPæƒ7(ò@°ÎA¹¸Bˆžé1Í¿ù×rëp$¯ ì ÝtØ$®…>É"}ý¨©ThÌ6N½Â®fl•/4u ¿ÄŸÉÞKáùLùb†ÿÎ×}è=˜{%ñì'>y YÌX°Fi/LŠË4Q IÐãfß[öN­\¶9>ô¦¤wB<Õü‹ÐÄ^º>>ÿŒ&’ç%­¥Y%yyð@É3i·äžªz½ëþè¦…Š™15¿l×ׄq‹ O¸g*õÒã¥qˆšX~n®ßs4Ó$ATÉÌñRQ?£w2@/¶¥7ËïDngK{HL*˜½©L‚1Ú¢‚è½fnêáµ±ÉwqŽ˜FhÕHtÃ4Ä~þTþ̓ââiÖ'Fâ-¢à ªí„EžýB³®Ñ¬ c ãõ7 7c†ÃBšCDz™\iµL!ýÑ"YØé‰6äžpóH⊉eOºTMŒ8Fvo«g݆e€ýÁ$Öà ˜LÖ„¤•áĦ†¬¶ Á4m1š² :RKͳ—Õ)Wm÷ù…ŸuÖ|’@Y¿¤ÂìĂ(žåõƒ²$jz•Øí’BÈ,"–¨]P8Ç%rEúu#6/Ìs¾WØhº–ÎTøG“bïåèA%(9m§}¯“-ì¾ÁÑ·Á§_…HZ›Ñ؆{«H·žÐÌDý‡Tu´Ë¨ÆMF{¦.ÆkcÅ{;›4Ö=þ~Ê}BŸŠõpûò È!©xŠÑI°çF—ÜŒƒOr­Ìˆªw]¾Ýó‚»&ªsæŽâŸnËðÀŒËss\g8`¢á¼Å¼~W?öªg!عœ‡¥Ïoâ2Ë)(L•ÙF,"?¨µüÐ/ÚL›´çåö‰û&,7·oŠÓAÝWÖ+]”ÐkŸœÁP*ÜYãuh¢Ù§Ÿ9¸Úw:n£¥ ¥8‚gL|¢ëe»L‘&°YÕµ?ÕCd•‘gHTضPé@ö’Ì€5À8´Ÿ×ˆ‚ö»è€yN\0é좵l’”ad |Q,8×É`M–€}@ò.éã[¬úI4,Y­ÖuÆH=Ÿã*{aSñÂ#ÜÈO³ìÌm’SÖqè#"lex×A¡åU\Cïð éË /éú© Év¯Úhh\ÅòýÔ7´öÛ4"Ý-ÛX[jÂr”²û}jSHË&;U4€ÓW†Ê߬‡»p“38 "/CÉ6l·Ô€«ºÛýªþ¹ϳÒRö*ÐUðÙ¬ 8öcFKAUô Á?ïƒXjjÔÝ;±îô­Íâá`x-'z{·7PÎâ f½ÖQvxàt™ÙøqÍK¯YA&5b5¨>O‡ŠÕ¾zª ¼àäv¡ Wž½84Ѳb¯©¶¨38åŒÇc®ÎaŽtݳJùt™ê†˜‘D¸âÕ‘Ù®|fc³7|aA¿d(H\Xš?ÑÜ·¹àzqZ·ú^œ³Íèöôƒl­9`wœÍbàd4ÙYäà¢X¢:­P6…ÊçIk ýélÚYÄè`2VÐQBÉRS_V«'0äÝ!œü€°-øáeo8­ºÎÅzFöx¹‰ïu3…,nVT1ê¾;¦‰Øà‹A¬>ý$ë„k{g]N-rÔ0"¦Õ"±çÎo º\šÑz<Œ^Ð(;eöÒ”@Û.®ã1"7OC:õ2¬yŸs€Ö«é’ŒájëˆOÞ-äUôˆò¦¿f«HèîŒDô0 4^í÷ÿ½[ Ù¼½‡‘(v³ð²µNÓ¦ã¹sr…ù1´ÎsÇ" °Ä´|²0 A…€wñ‘¸/Ѫ¯½×=y5‘ópÕ W…Š®/©ÇvZwÜ+Ò:øˆÔ•žDêH™“ÄMÔˆÌl™n#xqnªµäÄÙ˜Ò»a0dù¬FÏH·˜‹/±%í¤ùàãC´;Pˤ_È·íÈPŦ%›']àsíÒvuäÍa¤­ÛØõä´`–¿‚ -š¶¿€Qòç˜Ü¥vFôhcËZö5kS>ê¢Ï©[&ý.@¾w5{jФ’éR†W‚Ûs­­>w:w]Ñ„Ãû¾Ñ,^Þ„Z¸]ï}¶Î.®kÇü3¤VPËΫùÊzÍðž¯^¼jYüoÄø}L˜ä^_…¿‰Ü$Ä×Þ ÙHŠÅä£غŸ?½ÏºbÑìJ˜qy7ø²ãiRRÏ9ÕýÂ%Ê´h1Ⱦ|Ä—ä¨ ¥rW*­¹ñ _ˆD :ðv!ñ­ ‘«ùsñl8H‚,Iq9¨Ó$ûìTä1†:ÿ…F$ ,|3Âb©WÛ ‹qµrÎ1ïÒùþoŽáŽ‘î_ž¶;¶¨a¶£ÈÅ4¿z—¦éë«Çœu¹¶A“oPéqíHðBNÌÛq}Ü„é;ヹùÓeƒî®}Âá ô‹ó+÷Å\ɰ:¯O9ìö­×°XnÜ[íßÕèl€ùë} ‘a<vÝ—üÊŸÆgákXîâÉÿ(åƒÚsíU®Q³{7J|Î4Mæ9Ö9Ͷ¢ŠTŒó_ì™Fnd2 Õ™˜Ž;ÓyâU@®ÃžæYe(ß®iªÖÅk‰¦  ®ÎÈp]Þâ^G}¶q-n]Õ¤ ÛZÙ]ƒÓV9£(B¬Ã)•÷iMu‚<_œïœ)iJ‚ÉбË+ŒgŸN¥ž äf®TË h?Ú¡‡ÊY0ìExXÃ\Æ@-‚—sûâdN<󜠥d¸l\ôÆ&ô*ç¨öÞðgÔ[°ÛX, 1Íæ–ü¥l²ß©±‘ek32•žÁž¥ƒ aËõÉhÐù$áÈ€<â5Îò\›×L¹Àîц@W¦Þu”Ú< E'ù–›2 àâ0X¡îÕÔ MÙknt@kÜÀvîç2óí#éIkÎÎÝ9 j¬}†.öý7Ðï»âe½?hª_«>ò»lÈ¡‹Ó‡0ÿFÌ ¬õþ}Ï·ï·Ö¢N,‰/ZX3íÖÊÊXÖ<ì(yevs²†q{š>$z‹–¿9.L ô,Ë/m÷ò©zeRҚâN Î ›¨ç²Ãò†Êò;¹Nî̽ʕmÔY…}ü¼H¡Ó¶<+I6–C߉–ârma JÀ§÷¡ˆÖi•>sW\qY¨([—çãÙîÒ¯·¨œÛÜ+Æ¡MïèˆÔàU54¶…TžÞQ×ת*Ë­fk,Ýg;ž;w)´;ˆP§+üð°BÜðŠqŒ¡†º¾Œ2±]`öÕŠÊ*†¯Ÿ.‡3Ýev\Ó›ÎÍiR’ qKly6Û§˜Î`ÕzÏuZ·<åv±•*L“ß™çÛ/üÝ<鬵o㻩 R!¬»_æ5Usk k}*ÈRæ®"[–Ãý˜ÅÉcüó¡äû/¥H½×¦ç®Î1ކYÆz ý]ó-¯’YäÌv¹µÁÆž ²H­ÛúóðoVxAs½eŽ’4ãw€à·rÉâž,Ãê ;,ñb“º¦ëa&zÏœ4SÎKãêß[ëœæ5aoóPÇ}x jzÝZϸI‹À'¥2gâ.1,ÌËmá%ðw®ð©Êª,˜ñÁáŠ_½|ð\bh™Ê„àœ}`þYzpî¢CÅuÊo»5¢³.AhŸFA¤½V=×¶šhf›ÀID€lÍ)Ëä@2׎í+&™¶Ädq¡Q}!âo. J}MZ÷Y™0ùL¶ ò=À½6£€-â›û‰bpt•ñwƒÍ@œ?›‹/a]b/-P´<—µ`Ï•}d¤ëg5KnèÒ‹S¢>ã"n7òðQ«›g›‚µ–6Fö_w¿á$H†ˆ“£bUø's ]GK¢ü¬ÿè6ç(_yî"½ƒP‚º~’mG0†ï㱺‘æLŠ#{KÀŠ€IçQpÏ^»$€‚Ð]€bÝ0‘ž{àv¡YKÁ¦/”ÐJæLÓ^öNgZ»ê££ö}u^å÷^Ìq[Íï¡1¼ ¾y› × "‚N°Ex£ÿ+mYоû]Nåv­ŠÝÊF…ÂØ*†eãöщ—ûÐaŒ¼»sú3¾1¥­b€WW:åÚ-^ZhèÎÏÞ}ëÐâ~q]f¯å•(=6ÿÞ…¬A7 þÝDònÂÅlZLvzÿYª¹ i³¨¿‹Ý‚¨¶¤ÃzG,º´ùíµ‹¸x!y؃Å¥^ó Þõ·zªuZ<-±V=~óü²=7á{æKgɹ]^Ñä.׎ôƒõ¨7˜Pô3ß½×[nE÷¦Ò#/L®úöívš‡R1q„õ‡à¹`õ>Þ°™¶,RŒ°7´þ{!£F ‹}Úçšeû_ûfJ ÛGÍIü ÁKàþ@'¬ÂFð$|‚0nô‚sÅ8VägóãÏ“Äi™æ…Íyü_ÍÂì@1ZÊّ묘^·—»CøX¸¯Z"VSlÓ,4ɬ.I«ÞYš[2?jN8ƒÁ}îég_(©€¨Ù¸0 ¶Ç Û9ê#ª]?à[ä9?k¦-÷óVò$͹Æ,g“¾šÀF:«Ù¼.ÞdÒfåW(RY‰L'€ËÀŒIýt“-2|Ìb‘YdºUÎ ©‡õ’˜šÈEÂé$X ‡fŒ+äKOY‘ FÆëlíÖ\D”)m›%ç¯?É•ŽÈÀ¤HU„K(c-ˆ>1bÙ…“´@- /Ç/ƒK‰™É:Áôam%yA¾ÇÏÑYi²@ßa ä$¿ÈMfàØ©ÚmyÊj{N*‘Ï,ÙÅüÇ€©X ŒlŠà7dT¹à¥VŠnâ?œnÕ¾D‰?UåeRiú ÿÈš|Y‚¯î{°{Óå6ÕJÜàU!ú­ñç³D”žQ6€Òõ¦B’÷P8:æNw0éò Ø¼Nd•+ÂL¼0»LU8wÕG¦ŽCX¼uë:™ˆ]•>?k°l‚öXRj)ošJÛ1µ)RŠÊ!í ðÝi”þÍÁÂj`ÄË/Î’®ÒGUf-°¼‡ä×\+<±`tRN_Íèi,•°ß¦~Ëâ’²ì¦Oæþ™?E' {ðäõêS-¨#(M,— ‹s¨KÜŒEŶ֣‰Ž-Yc n'[Ø«›–C_wvç’/Üb̰ñ‡²0þªÿü^è³´³c¢¤¢¿hî3$Ÿ¢ò· ³Þc{Ømâø[d'ÊxhA ÛŸùŽñ6°¶ä3Ô€F¶d£×!µgÓµ|n”dàcHëPŠ5”»ÚTÀ¨ä"žÀ‹Á®ÁøuŽ}FVq[KG@ür>\FÍyó%¡vC]áù‡¢6Oòç:ç·Zà÷pgFL 8Œ¤ÿV3‡-G {€çÌ.Åj²¨šÀ$M™_mpé´þ 2Ñ((€i@vœ^0ݳ•¯ËmZ[k÷á†4×ÎC>ÂÚFl³ï§ìg'”ÓIûã¼ä‰ tôÙ ¶`åŸ6  µ†Õ>ù¼Ó9y6Ù„+«ÙJP¬jØqÇëëî-ÎmÂIÛ hLL<RÂÂé°‡ê ¿T”×àïùo‡È1¥ÏWS U¦4ž9aF~‰öÞ‹àM¢ª"‚òqðò¤ê¤|÷)D{ N±-±²!û·%òlŽÖîº8}Äeµ•äŒ ~ÿi´{ä§·+Åñº“Z½ ÊbEàŠ{ßB{+἟õšüáÁ0s¨VŒŒÔ<]|@Î:j»»û2—ñÉ튪ÓÒ.’ØêCÑ®¶x¦oŠUÞ_-£Ü/gºüô¼4·Êb £nØõÜv•ÝUy³×Ýã÷D² ”5ÔO+ˆîˆêFgéÉüù÷ÓÒømã´·t‰écë;•r-Ed¤ÛÒ}bc+jVNZ/=¸ ºû[}µ“…#Fy|š“͡ݵUݪ’ü®Ê X™xëµ(vK«Ô`£q¢/V¢U·f[®3€7ˆ|ê9òøRõâZbM¢ì7ª³¿¯ŸŠáY¨0æ Ì0 *“®¸™© ïF¶ýr µ8†$¾°tH L8”W8ù2Òéš3W]¾úƒ¤£ö¾Xy°Ôw=ðÈ…äµ+õ°JøtW§-~îe×ÊLñ†gʈԵ%éu¢\´´”`2}‹t—»­ûНZ~.v¹/ýOh~©I©×5±ìOzwwå.yÑìzGŽšc€5ZÖŠû²®/@Ò £ŽB‰sÚÍîc!ëg?¡£[©H×[QÔdáXÓ&¦ŽS¸†Þro¬÷2.Õ®³=¹Îõ¾§8þ¿g‰óÊMHõ¦^¥!VÿjíF<œ•H°7w±]§Ÿí_ÿ'Ÿ¯ªe+žbs" O÷#Úa·ò'ý0#þŒ«®3“+fshæXèPbkú&Šó†žòÒô§$ã°œß2ËH"쌛’ƒU!JƒY‘ËopݹˆÜ‰›tÞ/iõ/â­‹ï€Ë)(m‘”Ïß:|N–Øãü@Õч¿Ôó¦FïõÕÉÜ„×l:+\_ÎF/ \ŸÜÞTtæ=ezqR$ú´Š9¦€E8gèq¨B}ÁÍ‘¤ª!7˜ïfÏ…xÉ@@«~×MAÒJh¯‰÷OÎ5æu™'ådÓ’['ž”ÕÛƒNá3fr6z–Èö½Uyí+Îlp‰¶dNhl„uv£?— Ö±LÔHäªæ©=—·´úè>æÛ|Ií³”e˜W:¶qicÍ|)äV“ª @­¸ŸÑ¬‚” ~ws‹¥@÷Îzp AI@ ©e"zHøþ "O„øäMh‰µv 8ÜžZžo÷lŽì7ëøj¿DÜlP¯‘à2F<Á¡ÔŽx*/ºÖÊpR>“@Ñö)¹Š.`pa¥]ϰ¼÷ý\¥GÌ%ÚªÉLHVÃl×Hébt´HƒjŽÅÒ£ž¤Ã—½×Ë7 ‡cô-)´`† X®ÃóÉӢϻmŒOáOQzؾ/ ¡.k#ºþ˜¡ŠÎer6x†$§Þ7öˆñûPñ¡çØ0E"ê·+Å ;»N M~ÉäwYz|”‹…¶ Mø”¡P?W õ^:TP=<ÝcB =@†¡n»¼,šÜ–Ex.¬iúC¾nƒÚóÔ<÷~S¡P¯Þ;©RüÒYZ&’; ‘8Læq/òbYÄo­w雽êáõ=­:ð͸Dó(ýe¾ãÖy )ãˆx¿í¢ì¯PÜ5-A Rô2ó@?u6Ä‚ ,Ax~Pr2ŵ'|8’.ˆ9úLRÇ.+q@¾SØá')‹—­™ôƒùªY~DrÄ“ìm¹> ûJô,¬ÞžmØFçDz˩蘔PŸ´iŽ)]»tƒÏ.V“H1Új’]ÍêL¯ñžñ@l@ÅÔ¡¯X¡òÎ{+ÊJô9k-žznÜp?Œ\' öõyº&J˜/'?æDÒ³¬ ©Wx9ÝIÑ`KN`Ý„ ÷‰tü}O\ãŸ{”ÔÓëä`¤à–æÎÌÏV>OJ*Æ{žù¢m>àv’f| 'zŸÚ=¥‰{G›G%2Å—´(/]KRĽOƒió™kæÎͰ„,“ed˜ÀùìãŽî+=æo@–Ù\Ýr0•‚æ‚nÏ(Yæ¾2›¥Ê&ö–é"[¡½r~a+2/Ö¿ÿPÚ‡4v‹…½üýye…I"£Û¯r¢0AM€‚ì +ψíá»Â¦œöÝlÔàâXü³¿D¥ÚÁ ²MJ·žVŸV8Ô‚¢ÿù>©¨´h™-GZéäaú8feÿ#“h’ÃYJÓ»ßê3¬Ÿ¤M^`õ¥Jh ._Ô„À·]»‘PUã0ÉÄ 2uÝU \»*aÙÎXæUðÓƒ\fø’GÌ—E~7äö]{¨l2K…£fâb–a­÷™‘˜Uxi„u5ß3¾;éñŽxŸ+ëÊD P;$¾»f‹XX6­›ƒK·ÖVq‡è£ã«~Œ·€9a„y5cg:f¡ €‘OúÎø\¨ )övçS)P EG@ó ÷®>¡b8ª~rN,#}´« Ò¥€—âöÜUM®NÂ0 !i ×Jݼ.ùÖ nóxYR-Ϙùó—ˆ×,Þò48ž«ˆæ×{ìdF^¢(XÁbIìÞšUŽ©yx3}¿! C{V„1ð_JyÏTÄI7¼šÉ‚QrÍŠ¢Ÿmì-sXDF‰YÉù}GU*Xç+ù7{Šé÷WÞY½cª†ðþݶÇM5ëNÛ‰Bâ›ÒgQDÅ©‡àüÂ߫ܦÒ­=eûžÌvq—×iqȧ#uÇZ­%”ªšgvÆ6ÙO6_²Akµe3®;®Nš-&›QxåÏÅß­¼¥|`Ô˜…}‹PãÁMN=zx:©'”ºÈ+.à-'‚•å×!4>×’¤Bã²EˆX¬W÷üUÉýCÞ&Í–'Â!ÂôY•NË”Lz¸·õß©´²t™ûMÑ]Ì3·AÜhÞõ 6êÆr-òX;JælÞ2NêÁ³a?5,!ª/ýòiU¿g.ì@ˆpš¹‹a]ñ S½/deHáLAUº”¯¹»\<«ç°Ï/Hi〻«>óûrÀãè3ó§Ù|ÜÀòpwË)úG† €ƒ“1eÕàS§F–þ'vU4‚*j›@•ÀBûBÌú ‹„Äužî®;$û¨Úª¬ñŠBYÓã™k/C/”¯ ßb×Dª"té9ÕòÂp㜋‹óAu4. Sq“µÎD'ÀûöaçT@WÇʼn ù™¯ÆàðÏ4Z>À_3¢LÚûÍ*tÄ´a3‡þB•`ômÚmMÿ±?ZDë.|ûÏ u†ú|ŽÉ«õìÐTsò)2Ué åÑÂŽóÌ›M¶Ñ¯Û!<=V±ub7¦’ÀŽD²ÿBX{üN¼·w†tË|?šT;›;ö1®ˆáú&Eoa¾ŽEŸÙu{{a‰¬ižÅÀ/Œ )à•:»ÜÖ»:ýKwC:üÁN!g VT}¦™sâÖÀ¶Ãj`'7NfcØKÑÆ#`f| >5‚ÛÄÓÒ\ª¸ƒ÷'Ib&Y‡ý3<†wÃŽƒ!ÉëV»9ûô9 ¥k—Îy5@g¬¯®þðã­{Ñ€ÜcÖ×\ vVÂ÷KËZ†D6[™WØ7u¤óðÈ &Cb•ýôˆ¬:œ¡þ@懂Õ8겋J¯jÜ+5ãzKA]–æÑû•ÞT¯zÓ¸ “á‚q…öâÈ€Mù¥ô_®wÖ©&7|Ù,†@éÍñÙÄE{Š_]³im“8¯Ä”øl7)PËDB¬½U¤AA Î$ƒ£Žu%°©jrG/}¥4D4,ÌUð8d'Òù:¬;ô蘡) œK<è=–‡/kޤÃ~… ޵ìÁ\Õ°÷V¢Uz?ß(:ð åh·Çzzè_/‡¶H´ïT®ª4Eξ¢ÂÈ•›í¦ "L ¸ÚÔ¾9=È÷ÔtÖÜÕˆ…düµ¿²®ÕÌ|ðÞsM6ìÌ8¸™-Uæ8‰å±1í±çRŽNjÓÞL)ûоäÎ'ÏYz×à³_±±ü­?ÚL5-«|eí[´ú㟄<-3äÁD¼éoÔyŒÊûY_dm`ÖtðÏøðÕ¯+sê½J²Âɰ¨B¶þ¢Ü.Kâ¾®~ëÿ„|¼k vkÊ*Wq»æ´‰/Ê»3`̰IŽ½êµ…¡ÝêÜ´,«ôKi².ùj®¦"‹ô)‰ÖZ¬1[®Œ±vÌ}6úÏÂGsœ:xíàêÆÆ€Â­¦°âB‹59‹¶ûCDbÐÆ»ÝŠˆëè,óó‚W\‘ñ)”±4AÀ”ËÒßœP:¨¾µ ò¥¯:8æ¡Ê_?}æ‡zSHÇ}ÅIq8nè&º"?yÈ¥AxWÖÖ[±ÆøDrÀºÒv™Ÿy+ò¥=ñFSH.¬>ÁìÇaõÝÉ-Ñ?ÑÃÆaUX?RΙéÛ'‚JØÎem—Š&¼DÓÜÔbþTV…£æ/Ìß›±Œ÷EnJæow$Zjšßâ%fô?«}õñ³V±¶fbàé+}Y½¬¶¶ù²í¸ÛzlŠðþð#*ÀušO ßð’SxâbÂ_i®ùýœ8M¾p H$ò¥šBMáè…c›Û0èxL9y¯¸«i,Ï„fÙ¾1ëü¸¨upBŸþ|½  ­»±˜n#r湊­ùp(Knìb{Bÿ4ÓEßô8{'6X_{†ý Ý3«ýæÄ[2îAF·ÿžî’HIó¦­e\û@DBFæàj{Í$`h/Gì¯f£fÜÚYQ7ç•~¡Ám Ÿ´Á"”‘é†0ª²•¸™â=Ï r·}äæ,{ª8)W3À/pP>ˆAï-uɇæ.WüN,4 I‰sô=À²†6¢ÚQKb"&"µëÍàù½¨Ò§¹týuÀ÷7]YZÎ`XÆyÀ™í,lÌœœ¨¨ùá›ÿAÚyÑ|ÄþIbvuaô/Å!æÖÝ.θsTq‚·ñ¿+Aü¸z0ýãgâ ?\$´k $sË&³e9Û-YÑa&>Õ`íÆõ°Eaúêg뀷 oW;èÈ[ì™6š#'n¾LqŒ0xÅ%êÑpßFÒ}`Ò ê0FUx´]kéÙŒ»mZnÄïaAéÄH9fnQý Ž¡\q޶'Â6>þ¥ÙârÿaâÒ>¾šÝâd…à¯z9Àµ‡ÈÃRw´!ÄœflBE’ã/WkoÒâ±gÓØ¬©á˜ø\Ncó³ü¤®ëFÎØäÉ‹‘དྷ„µÚÂ9ÂJÌOÞ½0/qÆ?–G·|À9þF€„BìY~të·Æ´ÜƒY|ŸÆJo$Ò’‚ô¿à70[¶Ü˜ö¤ú ðˆCÁG™ìæi ÀJ@ºpõ‘FÞ>ô” ï&9”“åÙ-âÑ}” QäÛ,1šÓ4$ŸSÏÐxü¿Þª_–ÎNÉÛìrÄáy&C›gõB«_Ò˜Jý.N¤m\1 b9ÔƒÄ+rz½¨ Øy1;.PFóÄ@ŸÐÏl¤mŸþÄn{F·릵¥”ϲx&æÚ3eüÐüË»¥ö½€Ä#eðÁ‡9S<Ä_Ç/eßYÆøÈ÷T¨SRãŽÏœÖrŒZgçŒ9 ~¼ÄS¦ZEB‰ÚaæZé9!^W8Sg¯öÓi–6–¿‰–S6$‹Ê­á&Ië’½&RŸø÷ã<.>*­©»ôuй3dôñ ×™Ç7…íÓârÍ,Ùíe“<]—#Äl¾‹Ú¤<ÖÏ@6ÃïµzúyJ‹åϘ‚;˜!Ó‚¿MDÂà"T‡¿c¢”Úº¾ìðç š‡ýˆ§<ìŽsÁHT% V—Åí僊å)f ªðN^ç¬è¤? „‚â¹ágKHt¡ËÖSÁ·óQÐ!þ&¬å0›¾@Lè*8Vbwæ ™òªØ*1¿È €Æ^Œ¥’~_0é´Eý8zFÊÇ…øaDÔž­TÏpˆ9}/ËZG®•ºud=3@îë߉@‹¸GϦŸÀ"àÁ±¢Dé^ƒiÖ·âÉÎ>y¶h ¤êßéËüϱ<‹ý_ò¤U-…h;ðù$n¢ëY»ÞºjJ^žÙàOt.%=dæ£Ù+S„C)¼_Ì$= „UJ œgFëØ‰C¿Lp%“¯Ï\ÈÒ}?ÁoÖ3kòPkqSàŸß{êvh2~R¾W‰ò¶Ö° ‹ÌX»‘Ím¦™7}tA<í­eR!kH4›ŽSý|ÄM@Ý‘ äY«bÄ4» =è?ÊâúÚ Ÿ« `¦2x*VZÚšýÜ’‡.²Ž¹§”EÉ'æŸRÏÖ$‡_êÿ’3…<¶P ‰ox! n½ El}² é혰î„äYôø¬“‰_±ŒøHnEpFÊwí£:„&]k‰S[y}­¬1õ}ø·f¾ª5sB“JhŒÍ°Ýé‡+ŸÐr¤ˆ#nÌØâ•0Úö[?Øñ|8ôG^Úé^6uD£Òõ:Œõމݴ]‹gBê»4Mžü‡»¼‘É“Lu]6nR.àfd¶–¢Œ\KI'äœÏžïýohG&¢\[,»¢dâI芦 ãD¬L|Ôþ&gcB8šÑËÐ=-F@*ż?£ççŰÖö ó‰k¶îKÝð¹a´ô©ô£’õÊø"óL:éóំ:µÃÊQHS½ùÍ4ÂoõCxƒÍ»ZãL¿{<ÖÁÂ$$²©_OU¡ç°ÏoCMMœ"·£óëôkƒ¬‰"ìWU÷Øðæþü×€ þƒÐ@ôg$]z«‡ÒöE–±Ä„AŒŠâ¡á‚¦hó‰$É'г9_ëmŒ©.BqäÙ¡L©HR€d¢ÇÇ´qŠZé̾‰±ù¸Du(Í‘JöŽ“ä°Ö”V~êìØoôBy™(gÿN§GBì¶"áx\y”µ¹q¦83ÁrOMó °°¥æÖ¾Ÿ ´Ç¥žø4´èä4¢ð±Zk5‚µEy,€£-¬âCóe0eÌ*½£ã]9¥jÝ0ƒyçµA¬–’¨Ë|Mß@_Ëê¶í¨LgŸ<'xž¤8AßüŠÂ_KlÁW–d(ïåü𼕗[ÃìχÁ¿¹cvõvᨄD/äÀNø[?[{Ë…ýœ¬_QZ&º×z×ý︒ØK-ÍHÍ^¾MÇ[~e]É1Vrözo0EUð”]÷%–mª—¸áDòK4ø>XƒfqÛÁüg  aDyçM´Ž )`iކ–ïþPK,zÍá‰Àƒôö˰Ç| ¸ eêà–÷ýøX†W$vM“Ieÿû[W™“ª± @g&»K3¼áŒ*1Àe’³há‡}ú᪖¸Ð{ð/´¹ðföã>«²ëãGhblO«¬7c>Eœ €¹®…Ü2}ÅšùÑíˆSÄê>ü••)afq E/ g¼ú°ÐÍáFæp¥ðX¾ŽéPœÄ"ñ/`…ö(CnÀ‘Ý}0¯ã½r)zK Þ œ"‡Nz<£¨ .6m*wN‡§P0L°ÎêPl AX÷kIvãÀÀªÐÓNpJy0«ú!Ï‹ Á+A ³áäÖB…ÉHÂÊ ï“Jýbô³s{`¡ØÅù’‘S‡ðnû…åžkµ¦1¿^äm yiAÓoEzca¬ÿ0&‚Ø[y_/¦8²û ¤GUm¿ùàž‚é[næ£"£ýhcš¸2­¢ÉU£Õè°ÓÏwN‹ù#ò!ÔôÁdÓè&åb33qZ…ÁöÈîUËŸ©§…< Þ5"ÒGÐ<µŸu% ˜L 7.OòUÝÙZ®É6ð¶(˜¯êzT[fÀèÝœi!\c¶{iFot”wråª:¿jb%b{ðŸ`—šžÕ•IÍŸ˜nžg¼aIEôOÅÊJ—Ìñ(0ÎKÖŠ¢jÈëay“š{¶›‚T£?{''i†‚¯î¦8Ib ´”p±BÎL|>~\²½íŸyü ±œûíò{mèøÖ—]–76„V°c,—§†ðhXî+Ø…?k IG§4tb’öÉœ˜ïNß^ØžȤƒ…lß …ôw;~uÀA{K§ÖæÿT †±Áñþq„«ÞÎEö#háËú&ŸkêQ°´Çºš\Ræ»ÚšÀÞ×ýHê„ÏÇL`ì"(ËÌÐÒê+ÏnžÚSã0¯´‘™XTŠTèû(-=X+á§qÏFÔ¹!®¶,¬ +ÞÔ÷³•›Ç`?åHßpPª3KÎ8R]Km“¾ ¯H1œ¼Mòé0– èš!£±E½ô.¹–Îùån°®Ïa¹¥•ØÞËõº·@S…eÈÝ–ª™™‘÷°JUVé֬ؗÊÙD´î7×[XjVCbbÙ!ìç‘©LÏÐ@ÿÔäe,µï £[Åëð„bøš‰¹šD=t ‚›/‹2HÞÚie‰xíŸì¿°.Q×âƒðe+ßãó#öÒºõÏÓH7ëBëH :‰Ï·,oŒ]I´¤ëë|0·w®ïþíí9ŸsÒÐ;’x†G )Yf R‚ó×:Τl®jp\jkw¦Ô²?:ûOÔ$ŽiÕ®9öƒÄNM‚œÂ.Uç1€G¨¢÷òZ䔜¯8Êl*ñ[ŠÉx­A²!¿±´i;@íH(Ãò+Q0ŠØALëÇ‹ö²Q=§Ü¬ÅD0¯¤ñ©–_Öúøì‹1üïë:@Hzðô&mÿ Šÿ°ªÜÛ_â2kƒÄØ GÙf:L}ÐDð^@µÞ×@o¸±·› .¥=…ÓG¢û™¡ÊƒÞzPë3Øb$¥‘yȀ沘¹Ùÿ¿–Pé{¾0ʘÆከ;,<…ôhƒÉUÿkfùq‘§rY¼"LèhÒšf˵ó@Môøx5¢«ßã“|x­ ©óé[…ð·U6´´Î¿œ3ÞÂVéÓ&—†úR´V¢ÆLd «Õ›L'ø’̃-Ê›QÑS¯`Ôw[8NWóµ§–RÒ7‚òÕ‡c÷h”\|ÂÈ@*ŒÀa^6pÁHjy®ö¨Úc&OIDœöÞtý(ÿ:v“‰S¤ú×óÿ-öa‰‰e2“lx)B20®†¦Eƒ8Ÿ¥e°)ÔγÚ"V#UÅ«)E£?Øë˜üæ ¦¨2'ÊÕ“|Œ—ú+Ã<&¬ó!*c*ºê–¬­ í­Aø,æ2• äΫ±w|éµ÷kôSÉzÙ,Ø}L‹vÊæ™¸·³]±0V jÆüxÝpß¼"’ºWþ« LÏÏôYû¢+ÕÓ¼…ä?GIçÅ‚{/6ç`,:|'ºáöŠóáFÝìâók R҈ݨ ±*n<üK~ÆèV]C ëEe›Ç(ñŒ´ø6U£¿ÀQS÷ÄÈÁ€(eˆÖôÈ¿ XŠyˆÞy^JoÂËiqƒ ’¾ÈÑO+FÌ?]cõq¡†ø¯j|cÞÔŽ÷·$EËe: H5/¶S3Á¿1nÊa‡Úe/æföŠO6@+ÁÖAT«m˜¾ÊpeDäôp8ATC9+›\9ô©›¦5ª.ó)ë’j *>¯–*žª«ÒîUtŽs£+CÝwÜÜ@ÑdxWçnE}å c“{ªãß ©ZŒá› 3Xü¸s½ë1UÂC]‰s^YÄæZ²±½©ˆ@X=î:ŠûžB;Ûw=‡  ‹kïܿўõ=Ê„ÛIàpÿQL¬!x8“1·Kw°xñíóA*ú‰’8솩[2&T錳 ÖÏ8jÂåémw»‹œì» 'qæwøŒµÍ2LªÈ¨0n‘Q‡²ÑI,‘)cØ2‚6©œá ¢V¾‡ ÌíM„Ob‹‚Ð÷íH•Ïá–!E²t?è¼ ŽÍ¹…ås ¹¼&×lí6O²Ð, 59¬£ƒS`Ê7Ĭn@¿²æ×–Y1>š–#J|ÌŸ7-à¶›Mò˜M–(¬“¢—;¥1Ñ !3ɸ¡v¥òÕÛKö ©-×î¡ÈŸvNË(Ž)ª¥±:YWf|™2z Ì¼`3moòŠ= aÓÃÍÛ™ ßçýš’dÑŸ ·Ó›|~á/TÏŠ*QÙ0"ÕŠ2?•WH^î=´Œ—qr'€qMÜðÃã„öN3Œôö½ÚÚ®,”~Ëqÿ¬SãuÞàãyjÛþ¼Š d%’@`îC[krx9ÙÞÍýeR’3Ç€7„>ÀGk’ßRip=<û”g²kæ‰÷!oEËœ"(®]tñ·4YyÃßnPIö8Œë0 s —ó +m;Aò¨@«\£Ô·;&j=yû\õâðQ£ß-tE=½@ôLú$už¢o§ Œû¶4Èö»BðÅua›A`7ßUI­ùTÛÖÆÉMž„*K’Ù‹ýŠÆb–ûcHüÎ2î-5!µƒdz:*'¦üó_¶¨nøŽCh2£z2É"MÏÏ*L©òº S»«oãRrRȈ~/v»éúÉt }ëZ¸Y4ûÔ"Àu‰ZrŸ7ä]œ ñà­5Uõoô©Õ‰CoÂxà½&TÂRÏ4yxF†èCaïlÐDàW[ÿÆæ¼oVÐ#'¹©¤3 Û˜6ŠP±#æ½³zAªlz¬^„^ò ÂížßCý”™jî'fßAɹ.ʾ(žqž*)ÓË‹ËÎøÜ[xò¦à?Õ¢­°zpÑV‘Ù/œ«Œb{«í¼­äêu²Ê‹À‰>¥àѾÈÅ‚ ó«R@*d{+ãd-pìêìê=7+µF$/¿j LÌ…Û¡V<-¶×õ¨÷G®xP°Lñú¨ºýd¸2þp×uÕ#þ|ålˆ'ÖÊ>­@_ô!b7(µ¡2ÇT1|YŽŒô -æc> ãúDÔšœ`D°è+‹b¶hkj(ÙÄcëåU 䪵U3Ö„Im  ÒÒÎ5À—Zã qú%4Mè €„Åàê­›yb—qÄÊZdÝF?Mö?²)rwö”xÅAòÜ©›MCz6³¾©ÝZÚûRM‡{$lš—lÕ³~V|F¢‰'¢²‡`õ½¼TåÜ[ Í,CQ0 y’-Ší†…QòA‚î¸Å”€œXZÈMÙ1ÉšùÍéÉùo•jßZs ¯é©j¯çüÊ/ÝEbeRdÅ[Ý<úºçé ¥Äû2Ó]×Ѫn“š–ÈMég÷<ÿ~püYzD_:27±5ÖS‰7FÅß“¹% ¦ÁPi’ºÏë:s74Y(VÍ:x!¾•«pqˆR—ª>öJe»wSÔ:·–Ü µLÜ…ÿ¾ŠöÜœ‰æ¥ä毉L¯õ”ˆáÛS•tÊÜø6¤ÁlÔ¼í3¸Üp=7Ö¥Šù9Òš¦€·± cÂÎÑK/@´w𠳑ŸÇ$b`TòÎÂ쌡}ÛÃ5ä§Óê¤rbß7ð6f¢ÞÀ´øi· ¾¼ìQ°ÅñÏÙ‘w´\ÑÍ©¸ €Ùƒ‚ ¦Ôø¥G‚‰¬·?‚¥BgÀÕ¼È7€òöa¹8ÔÑ_¤§}L%™a+M°@_ê½Ò¨qìã˜LÒjŽRªTý¯sŒkö½Ï×rÀº4 mrµûb89®Å­hšÓ§œ5ò…}yE°Ä¿¹+1æ‹•¤^£ÂËš=â¼[Cqúï8°"áÛÆi©8g­Eö†‰?œ-ãÚ•=ô#¶BˆoMŸ(Æ€- WgZòóÅÌ="Õ@©æ}…sZýÄ€6ø*¸Û‘&]@¦²TðµúL—7$ªÞõf~¼!À€1õCD¿}Ãþ kß"¢éÉ· E›6EƒCyÖoŽá¼…™38zÛz:7QÞÅÓ‚t-K*ŠžeCâ>Ø >4ê*m(oÁ6L\Ù®(6NYòßÙæÁBg§rÌhoY‹ôZüˆxúÆñ‹ U§ùéì³§y¯CšíòΠñ9ÏÈry˜Ø"Û"¨¶ˆÒ¿iØýá„q®ìèX"Ô`ÕƒÛGžò&_Ã]˦8°ôÎNÔ?Ðe’r,5áðÇʵBc?ö*-o©ýybiC9;¼hæ@º±­§W¥5‚ÿdLÓ ½d½DN³ J›¡‡3µ£?Íäqd³EP¸}ÿVÁzäåH¼©¶¬Yh*%H(óöi6\F YµæPå„05•(›ˆ 8‚ª³“Yoq`þKahyúÛ —ƒXÁÂôfŒÎââ¥Ýîl#ÑCž|…?MÜw¥‘¡Ö¾Y×㘘¥ï0gŠ™ƒ¶ÈVÚ]ñm+²ÂÅïó¥Šeˆc;ùÞ¢]æ~¡‡YE¼TFdú,y8ÅTÃîn“Èp†w ð-ÌgÔ’¬u Ï‘P2„ øƒî)ÍIôÛÈÖ¢œ!f1)'¾íŽŒ„¾Wlj š3ÉòÆÂÏÜ¿ÇÕ¶Ù|#r)‰´·PþzæÀ¯ý\ªJP²‘+F‰ÿ ŽÙ?þI->Øô ÷ Gabƒ‰zHzGÇ¥ £üË-ÐDÓ9hÞ]×:9[öVQqÜ+ö“v¤Œc£}‰¿â}ê»ÇžÇi)_´Ò>ø»ÛRµþŠ˜ +mb¿ÖŒˆr@Ý{ï` nYìÈÇìq¯˜9–6þËàik¸Ïgsí¤Èë}¢\E-ž†+¨Ï_ ÑÏåöð—NJïÐü¬”!ǧa4óÄè—|£ €(ÑfQLñD/‡¸0i#»¾ •Ö7¡Ç“>Û–mlm®íDª; [â}VqHªa‘¤Þ1År¨Î 6ãS';u*%°Íà-î½[S&`Eáž„gà i/öcAô´–$' >sˆT½MÉq!GÐP(àO•ãÄ1Óó©³Wa ÷l6®ÁÂÙÏ"–öIbWÄ®¿ {;»c­Ôeд-ÝQ{ŽKj¬ûO%YS?yêîm0ÎWk­|¨.'Ø9âpÞ´k%ÄqxéÙi¥QHMšA°®ú=lÌ΀5-;Ä1-¦ì½Q鋹 ÏêŽTa檜5¤®m{^§d)óILp¨›Åßo»[Ï]‹(b˜8ûözØ7KóƒáçTö}q4D Póv¹Ç QÔˤú/–¯­‡=×ÏnB¯^ìré8˜®ºY|dó[ÊŽÙ)â &i†ŸO2RC­ØÓÖ²fغ+LC°ØÈ˜˜˜k-t…|Ô‰¬¥€BÝ «WÕl±4Ã$¿–äùL`Âå¬ L¿¸IŽ÷{7@ÑÚüb®P-BÐÆUßK^ëµpÂö/àÿ— —Šj´¾¶Ô³"³‡SMhb¥nþmm*3NäØ/0´ôÑGfÚh%œ4Óriæ^w†;I;Ì0:n_K^Nwo7ýÖUiA¾å°3aª~õ£B0­¼êóÃIÆ*”År{ÌsµgÕ¨~b£³¦Ò;½ú¡<èâÈl÷f SWm­Efdù}ªÈ뀭1»÷8Í^¯=ÀÿH׌'O@pÝ{—Ï]Ï#æÛb;·Æú+9b}x!2ÌöÁ¹1ýïRä烴Xuluåzy(®ø®SPûÞ$Ó^Óe×ó¨ìÉøS³Ì¤©e•dÚô>ÿÑ}–I\³Ž¼“‚WÕV·Q’5³7z¸GOÖ^K¥ânÉ'¸[e{p]Gß¶K“Ë|æÉç±Å»®&P¡yîëdy%Ø…»è¯qtÛMYpì -#äpmEw‘sñ˜u¼UX<´æSç‡ÑZO]™ÚrÅ 4‡Ê¬¤•h'g˳ñœ?§Ì;ŠÚ]_"Ì ð‰3Nfù xxkuÚ´nà¶z)=y• ;‡«ØÖ²rιHÉÔŠ~çNaH?@έ6bºš«4#_wè`6vCDW )ù\9Îb®ÔÙcŸ$4Ã…ÜJüžÌ†(eìĦHÞ"n@eõÔˆcʼn%¾¡P?ÀÛºÏ÷ò½‡É2¡…S<ò›p7zM`«l!„åžÇÚg9C©Ê8XmÐv³`nxÖNæÛ¥¨«œšn‰ ÐÿˆbþÛÄb¶ „¤Ö²Ç?N2Òº‘=)jí‘Þ¹Ìø­†t>užéhšòO‘“"Å’x[Ÿ¡ß™^ZÈrEÀ»m1/ß ±BÛ<ÊDìœÞ$–Œn¨ðdv5°²ú§ö(hL²*eäÉÀ†<ÀMpêíÊž§À‘¹ÃÚ~mï>7I!x2®yIÃÓOj–gá5þ lÁGöø¸¥ôPÃÑÞ‡RÚn‘X"èïú†,Uþ6²bþÙ¿÷@Þr+0Ê4¯:2¯6Ið–Õ„aF `¬\ú–o‡ pUÓQQŸM7­ID‰‚Møò€äÛ  í XÕošíp ÁŽŽ-9âfx,w)å¨\ÞåãŽñòùÇj<ƒáÜÅe]áœé!å|–—€´ ûÅóå^OV¯ê-îÔFVjü@Qì)Dç?Õ> fÌàÚ±ýxy»Øf¹¦Psþäg=0LÁ#?Ø^.”v¦a˜cº®~§õ™Eho^LÕlRAG6-æUj31”Ü Üàå£?Å>è" µ žw¨Ãˆ6¦¿—“m–ŒK£¿ùÑäÂôcLÎÐ/–qwîÿK‹¶5({ð^Àr¦Àô];j$°ï Ú^êR*ŒšžßòŸ!h¤7žŠÂ>Ðõ(°Òõðr³’L).ëq&oyuÜ 1Þ’¦™W¶…—•J±"›¤¢*x;k­ ¬B¬5WßãZyS<»Åp¤ëÅ*™ž>Vz—ËËg7/­€sOt²ÚÔºfP2’1bß½Wûî'et$+ô§ÛsO#I%°µ—ÊÙ39`ßnþ\^串´@ÈÁ9¤õý·°Ã`+‹„›‘UÑyß?,ôO=½YÑ#Q³7ö ¢© ùç°àE†>fÒàÓP¸žq=ê(þÊbWˆ•-2§'èÆü¡§»ªy_ÿïú=ɘ?d­ƒ\Ï4žä/,üTüƒI†–‡‡¤›ê©ËAˆ±Å$؆%µÀP}œê¸HÈÉÍ‚íåI²V÷‹$óWëë·5¤É–8o²©€A ›âî1ój¸Bĸ*_vŸH^ šË+ìþè#g i[ ªiéûì"ªTí.†ëSƒ¶ … øE¯‚ØæÒ×d—Çu±<¤ûñz®-‰ï<ÑÝõ8ú ð24"iUT´®÷19(Ø,F“€TÃRŽ“Øù…†cþJ®16`3^,€Ž( :*9§®Üùés{çR)üJTv»íe²]ÀúD-,"Úî#¨6ÔZ8Äe(iËG‘ptŽá^-É,”ÿÍzç‘,íØ%ßoû$‘mÐ[Gõá"²‰töÊmO#Ôõ6ÔØiQB"”_7“\ÄqÌCÕÐdç‘í¹§ê·Ïü¡–f”À½‘Òá!¢¤«Z‚6² øŽ‡Ï ˆïüÒ:Z"TWÀÂøº*ݹFæ§œÜë7RíHÄô_Í,îY$1§ o/ÐñôÛR˜V—‚ü I¬ à1½íƸݚqbÃyÑ\W¨&áß“Ë&áû¹òØíʱí,¥ ­D{óË_Ñ ÉpIAR¬6ÐHÿÁu¶Äqþup)ÆVÄËh3³í¤–¸k$¿*ŸóÐ'éB_eOŸ¬ ©Î™|’Wíï:wh;4WÛ æå¶.qül¾ïÝϦûHB;„µî2\q'¥Õð3öŽ“¨ÖŸ’F‹†±Œ<™½9Vbú¸€À¹¦º›Ê¹/bAuJã‹*rcq¢òi"6|¢^¯gH§ÊiÌÒêÞ’Ä”õe‡ÅÁ»ŸhŸB‡ Qâ>œba‰(V4,Ø!d4:.ôÌŽô&¬j+^dš9&!û­LÙ0¯-c^¨CcPmt7$¯¸ÅGÿæéšKÅ`ˆî œ±dC#å;ú‡ÂÀ¨cª_¬*y.N_£íŒé8:­æUØa᪈¥ýWÌàé5EIh˜x£c,î½0¼Þç=Ç_ºYî>)ã#uË–±ß2X x¯ÕËì¬'AÅh;,`«õôÁ_±;VÊ¿<ÌfÙ´né ÍW¸¢îùŒŸàÓf‹¬’9±ü\¬ÑdÃt›­ù¾ËFæb–çL¬'Åï‹ñÊ—/Óóçºa öåêè·ÿ=0¿œÊ&F‚ö¤ƒP¾Œð“5% žå—ïë1Ã_}’y«o«¢µ%p‹:ËÓDÙâ £Á¨5[êL±=ºÝÉÉYq ß2I,kïêþk‡%h4$†>á7´n·©OÎ_ÄQtÜ*>¯N§8I¬°×¥M†HHhÁ9¯x½·ÂySð¤ŒÔØà†Þ2ß-Ô2D#–¨) µ$µâú:zuG“ „ wž¨—+UGØlá™Ô?(›"ˆfMÕa†êªas‰ãóö¯6 ¸)¼y¯Ó}ÔYÐsgr¶pv U9*ÂQËêUSÔG2‡åJ„Ï#‡=ÿ; q°Çð, üÔŒ87íºD(—3d[lt 4m´Âq|o•$žBªIQŽh^?Vá§=j^–î!?õörÓùÑœ½¸W„–s)l”‹Ç„Vÿò²SžžÁìÚõagpæ<9«Ÿo+e9S0Ì$›œo¸¦‡Cg£ÎÊF~<Ü@Æuï²äjnG¾Ÿþ@mB¹_`ØZ=©I^€º/V™$¯‘V&&¯dÎeex‰ÙCT_5çþÓ•.‚ƒË…Œ²|ËŠ7œqeÄ- ›þȨœI¹žóˆ…“o¡gvÀ\E´eVFX@ˤ¶@qnÂ} ¿‚Ýü­×k5Cy×¢=Ÿ…ª‡ ºªòÀôB[ëþ¯ ('+^Åðo]{³¯su…¦Þ«|'ûíšÆ)ã€ì<¯mK¨AÌ}žÕØýy˜T;/ ð‹2ó§¿±øïÙòuÓ"ÛJÄ|j×D‡o9Ì’+Aôè™Ïl_"»kñrîl õîËÓßQˆ ƒÎ‡DZS:¼àó)‡9ÿ̈hßþñÈ Gl´—ŸÉÖôðL—%+ÇÔä M ¶"’…Kòû@©Sô+ÜÉ]ÛÿÇß•%ø×jô^¶€ÖȯÆû!ü·º‘1¯<*úQ3|Rù…KEÇ(¬ ÞeDwz¸é\áâJ›VÀß”¢ß¬lê£V‰ßl"°AÕ\-Í6[ê RÕY{ŒW‡šö´’7z mE¶¼ê±Ѽ#Ðr¯½~ Mš{÷ïþªÕû?£LÓÿ¬)úéDå0­È—[ ¨õµqµÜ¤F0j Å+äBx{uô­tA~ë¶qy›,™ŽâD¦öBÐ)ÃÈ©K5`´yÔ EæD¯æ÷¯˜÷{”#0–eÎ:øú†]ógVN³­U=Ò9ôk^ ÉúÃïýåGÅ ^U´¨G{™„åFSÖO%Yìëš2$ ‹S¤¹˜-äž™ÿÆ7i×¢`©ÖMX¯ j} Ø/=UE,%Y,:{é˘Åà3\+pBxÄ2º®s¢lÆôhx6©ô÷)Ôå²Îðcú6)&Šð6÷ª¹uë%O1Ö”&£H²òÅZ©_Ô} ~˜jÐPêZ«0ú¤ùé áô·¦;÷÷ø¾ÿ ”qdk—Þ0MˆÍš|øÇƒMc²À$àú­¡GgS9¨§YLÒš<’"f]jœ—>Yêµ{³"‹ ɽ Ãt /ä:è÷N}v•lµ¬7 ﬣܧòÈÁ!ÀV’Ïæ³y `D¬£—!ÞÙà\ŽÆÇA¾Èéa(Í à¬åÇM3ïeB%^{5 |#eõO¿~ß m¬7¿Ùè ûÖö}ÌŸŠ:•âõú0Šr-rh±ÃÆbÒ5M6™áÖ²2-æÙà1D/'Î=5ÁÄÌ^4MÉöwzý#?&pw*‚õÎ Ê]²ÕBZ2–O+VMÊBÕÏêsIÀ˜Ô´™.!sž½Pd h„ä?µ“`{õbWXX š‰6—Ô‰sYN›•v˜„צ{ñÏêWoâ‡bÃã…¯c5¹I°3IÀR‹D¥Œa|Â{/FÝY˜ kñî6EM¼kØCéÔ«HÔ3&CÈ=W–­ -ýqà¨å00¹¼åÆOEÙ!ÕTã©ÞRÁÈ9µ*¬]æY9;«+™Pž†½V8(¾·¢v’ö ÒŽÙˆ­?†Æ‘Â)³uŠÙѳ¢åƒÁ˜Áa~kûÃÎê²dÚŒ =É(™Öˆ”K]{иÁb‹ë&zñË’"˜ƒï®Þ W¾¥2gm_aµ†«ð³„º¥ ®¯S{Šf Ž|@õͱ»Êð‘1ÔbåOzgdr-CM a ‰×•îCäð«Àsì…}þþxž6%`•Ý;‡NÑú§rÇ/b Uæ£Ô0Û$ߤؼcÂyÕño"±e妄qïbÚØÓ é -)Þ÷ˆOi«k·„b ?ÛàEŸ_îž´°TÊrµúø2 7²_H‚ÅY“Ps½C´Izã^ë¹½ ³*õÑÿˆ£x êìM~NÝ4Œ­›ÔKö#Aþ¼Æ‘Ñ—¢%•ë>ìõ¿¤­ÓÔ|ô*]¥«.Ñ¢$Ê›I¹úu`×­“½å8¿{pÓ‡,ÃöC O¿´_õ¿…Sè~÷gkbìì«ä~aåÇš?še°Y»ÆC™<ºìC3ßm· •:zbbý+ÿ-FÎØÃWÀK:[]‚Cµ.ßÝ ±Ê(’›”™XÄ%ÀàGwÑî¥aó5‹˜†Z5˜¸‡Ãd¾¿m _*Ú~L¹îÊ º8xš‘qˆœX Žx+/ŠFœƒK¢mõ@d"GoϤ˜¼ï…EP£ÓG‰á¦š¹ÿh$ àÇ.ïfºpêã^vUú=²"6^>ˆÒ—›/÷`Õñ8;ÔuŒà%´¶öäî*2ì $6\®~¹CîÈdy i¾¦M%¢"'dy†ý`E™«éùÀ½’Η\£âM»<6ÿ\Ù”¶ 5ÙÑ¿Œ¦¬~§q],ÅZSez Á[¢Cæ+C4ÊA5r3ç‚¼Ž‡‘w+Èo¦[3Z;mi'_-c´ëps­Šð\–¬ -F%* K^ u—çõÏXGh{|ªiÀÝ2ËÈ[PŽŠ/͸€—XpòË*B߇s6M+ÿ?«¼SalŒÏÏ% ¬²Åõï\“Ýe)†aMúYÝkJM>–RyhD]vãðât\Åýÿ´€óËÏág«¿÷™·_^“EÌ›é eFªÖ6=žßæÆiãË[¤{ÊÎ6bœž¡Â„3…@m„ý×â³»‰~¤S%̆žüäÕ¹åížðµlÇDê@ÓéôHÃ'>„O¼¼h¾ƒÁ`̤ªA+!†[&Î<²ý5³çY7ÕÑæ?å†B ÄB‡4&çÜmGÄÏo.度 IÏ@ÉÄOiœ« çŸ)!†o 9m *ÇÅ î?í;f/t–õñÊ´Ÿþ?sµ¬ºÌ>‘Ùµ›âJæ ¥ÈOSH]By¹ÐU+…©í¦Ç¼Üª"KfXš¥-´+;!Ï€½¼~È„!I픽ŠÚ’ñú~ˆ楰;Mq¢n]írglËÔ÷jIP/\Ôë¹¼Y9pdKŠd~8¹\ú‚fšJö×θ}ªkÿÎØå‰ EwÑqÙ뤕bQLŒ<öD³ÞsBÓŽqXEâÛ¬ÅH«™%Å‚ÖÉecOÝÞÚd0i–Uú0ÀD)Í(F':‡jh׿¬i¨øw\Á¹ŽZõ*H·§o&øZ7ƒÑ¥zì켃DÝKðO¸±p!&i³œ•ÎÞØ­ç"žeÐ)-³ì쎠Ëj`åkRÝçÅ â¨d0æꟊ™cÌ”Þ÷â7/°‘`o™)Ò6¬qŸjû}êMó-u²ªÒjîçrÝÌ)ÕY[{æ!¾<³^l½;B<ÊâÒ½†ùôKwµ…<œ/³•ÖNÿnÐe•Ùk®·™ ß• i 5¼°å¢·LÙà×›CÏçVhÎn‰€÷8úpó+ª„†› ï ,x?~!¬ÌÁI9AïVÝE ¢ù†-Œ/x•‡¡yJ÷´;†Ãb¯p4òlPÏ*t£ †—árüþüý3OÚ Ö7µ›Z„¥:h4ÙДÌÈ1ƒ0!æÖ›»Œåz¨Û§n`è´;ï™±Ç%¯3"dóI@ÞW¤ ád{TÒ“+£„GÖsÜwÇœvXn¿ûj 9ðfST ÷Y ãÄ.CcûÈ©K=<ÕæU=*ÕbŒ¯A 1ºÐëó®i¦lZî¨ãᮆ‘éí߸UÖ?ßvhOyÆç“WHdþw6°öeöncY‚®Áà²l¾Š Œî25z²±jÑu¸†&æ½¼ñé*ö&mu±`Va<ϾÞ4ëRðVÁþìÌQT„3{ ®ÁRP§È]Ôö“Êd2áôñå@¦Ä"ŠD²³’ÿËÎEJ<“ öë&›}IÇvœ,ÐXœÔÓ íðN]µ¬OÄ;?ÚEùR%$8,˲C¢$9±P-öõA*þ!%°œ¬­ù”ãd]úx ú$Ü9ù;+Œ½]8WŠú’ËóÌü´±Qù=€;‚âÉ98è¢ÀDP¬N{&Svä¼ùÿòÍð‰ ä}ð]Æq»2ï𡼣·º»ƒ cT0p/ •åÔÀ–U„¾XÈÛNb>0² îD"é•7ŽálrÎ! FT 6“Ľg¬¸~`¬sU¯wZLæÐºÞƒáiú¸G<ã v/&¸B¸¾qp¬¤çMºn{áÒFkgZÙ÷¯eYtî¯Ã{%Ð:HQ†?#´ÇÿFIg¼Nl¼HØ£>ÿO:²ÃöÜÒÀÙ‘h­„-œˆG1㛬·$nÖhÛ|®½•’1IqàyœIŸ3zez•ƒ«‹‘˜Ce÷Ö%¨ÎZG?RÓL¯Ò©Á`k]ÎÉBj˜ˆ­wm>A©£[*‰®ãá=©ÐÒ3Rš×ù ?ԀܑÈã•× üd¦”Ȭž ??xÚ<[ü×LÕþŸ;†[=1F»¤Sî¤æ úñ BßI‚¹« ¿@ª½j’›UtÏãìš$¦ósH-!`jí}##$d"ÿ+L™áE/–µ8<da¿†íÕu‚Ò:ˆ´C£ö3šü&£ÜLýC¸L˨9 }º~ŠƒÀ¢`—ªì Žu™Ÿ<¸öb`\~oVÏ®‰Ásëè=Ûö™Ñ6#*\;Iw’C&¤ à÷DUa›¤GÂÒã½ 0€ì5 . q÷X1³‰W&>PQg–ÕÞ¨M&H=oôÿý9°l¤ÿñ·ÑÅNBÈ<:ó“ˆjSiƒºµ´æ¿l§òÔ,¢œjÓ²QÒzÌ=X0Áý‹XÑ‘}0öÏ­Õ—¾P -Ï-t4¡$¯$¤[<¬µm³äkË.§%(¢såe(Â­Ô è²5LìšñOmCケz¬øÐñàbœu¤roEãûS¤80T„1"VVϨi¨Øº*•°`©b:Mxíb`‡sõ%r­¼l£63²UÌ»!üýaï;V›¦­bC@vA`Äò1«cceÿcp ÙÄÞ‰“›êFñ¦§rÆž6¦‘æôÆéÛsUr[4a‰4]_»V]ÄÞ˜gýÝu<dsç ·Câšù㜘D ¨X/6¹ëPµ¿Í»ï UžNtÜÎY4ó)“¬Èxå÷]O.(3€: MqÓèb‘'~1•{6±cŒ:Õ V½Ð·+n>ò`Â/ŽŒéH(É)°+¯AµÒìÃǽqp©¨Ú²Ê¦Àê-~1hÝ•q]}^’šÕÁ;¿CÌʵ¸aájݾÈ=*ÅÁÁš¢XGáXÒ”ï,ÙW3·šæŒ7Vj„’0» Àtœ¿a!K§œûËnº ¦ äÝü7_‰èíƒôžºÜÞlmホº»)âÜ.Ô×È+ÚWex°ìšZáM—²£›Ñ«ÃÐɵº3ÎnÆä€dä³:ª‘qg;,î¿GÜ8ãî‚ eÿyîÔé㇠µ—ŠVñ~é(°qü[AB_”Q ±ÿ–±§|‘0²ê9Í£ïQúå¶´…œVPs‹r»ƒ_á\Ý–ï…çã¬?±Š0Õõ±SÉ>éšÏõÄ_7w¬:g”O©õU¼(¤Hï"øÆ¯Éh“z•ƒUù  —´Z±æ°'JmüŽ6½oë9¥ãl§Ê@“‹°qã%Cp†^­w¹ÂNÛ »=µÆa¯íùrýVù›Ùî7 ù—-êÿ'f׺vÅóÓï À'3ãê¶\„J3“ø°rX’ñ6©â¤½î¿g»ýßÌù:ƒóÑÙ½¦ {dáÖÁÔÆÔu$»('åódCÐÁ—È—™¡’Ø»5Û“ÂÀ§(¼Lí„4ÅÒ¿<ѨrÊ®SÍè]ƒ³©/iOÉàšª)ÒJˆQß·¥ïÓ×çuüSñåŒrïE¹óñž º f]bA¼4©+ À~»oÒkûÚF÷Ã#Y:®•ù¯©ù×qBè•Ø¬w¢R‘YäIò»écƒÍ1s¯[ì 1Ñ‘œ´ÝèºnS5Ÿ×h%WÇ{aÄÿ×A~+¶s7©ª4Àg“!NA2‚úM¸±¹";¿—7®-î ËÀ·ê* qgIJt„íôvÉs¬yÞà ˆª ÍIõ>B$âÒ’ÐÈúŽáC)(]9—É(„#Då0ÁöNÍš©ÏFZÌa¿9´tîc ?²N Ô`ÓMØx¬,ü×Û¬¬Úoóƒß€nŠÒ+üÍL½âÀD‚ñ:+,\§ƒ“]åaÇâ¥@†À|_Þ˜Þ¶:±•ÖþØb¦žj¤Ê/W¡Ÿ+õèØÛZ=g8;Gèìaø£—^®0:J.'ÿdhŸ<؆Ë÷Ôø¥]@è‰wT“ó§Ëû3¨%$?Ûx é}©",H¢´ƒkRˆåçÈ‘mYGDˆŠa-sË]J g«Úß5?ùl)ÞíÖ=M. ÁÞ^”[ôŒ€ dÞº¼:úh;„r(ûŠž"i3ÛGÖ³£õö畹l½Dðö6èäË2ù¦îë4­þûì±Å ç/ý™H ‘›r?oZQ4½ž`…^•'yY¨¦Ø÷·‚ 8|tÊ|(Æü┹9Ÿâæcë¶vwøÍ¢+‰;“¢N%IŒ¥Ì½ ÿ[uŸçúðij+)zTÒ(V=OT©r nõ[£#öÍ2Xw¤0«ÙšR0ýg=Ü„¡&Óº“i5HÔep«6WQ§7^¦Kÿ’q@zÌž{r•|–;KØM.…6õà€-Í›<Î¥2 ‡öÒã¹ û•ɤ7ÿF/N‘AÒWaÇa¾b ò·7T“ðDÖl8s¶ )ýéºòz_*î¾[ñv^rˆ_¢d’ÿ0' KM;¡–2–öÝÇ® cP§,ßÿìS_þ9Ÿ³ŒÈÔY¼TƒwU@D‰!¥÷Oqˊȧî5¦O›Ì¶xüHx<…×Û fMœ_w°wXXË0nS¹Ê¯{13q7$¾Jæ± ‹2™ÅÊÂÉýºå]ë6$×M¥¢ò'+päèAèú™–+-Ræ ˆŠdØÔg¢¥&Üž)Sj|iâ¹"\¢Ä¶|;Ý\åg3~¡¢R  U´­ÅëÖö[v±Q¹ºxý(—Iš^ñI`9ÁÈV3ÃÛyRGŒ¤q‰’]„5fâ£Èv¯e1˜âË• × ªŒ™F9Û}ƒÐÖõ”FlI+Cm½“Wï'âE§ëùœ£¿X³x5ÊïS|«0bÖr^©˜â .’ãä": …¼ºöq2Ôm‚¾ ˆØÏ§]„¶Tê^ì óTöS_KÆ™§ëyÞ3:‡u¸Œ9lŪÔk]iòB\ò\föGŒ×ÍŸ©&qP¹ÅV™@ˆH ¶ Œh¡%œwüñ©1V€ìxšfiíTتw™«çB¿Û– šàå!ò6hTåƒe«qh›‚AÖ;l˜›%?ûÇôkº6… XÁqÀz‹%*B½fìÝ™}‡QÎä\àÆI 9Â-kƒÓïe”-þšý›‡~?[ƒ'^[•ÇC:žè¦ÆYðBvæáǧǜÓàM…­0Foûã’I.¥‡G4ýüÒ Zàd=v›)Åé¿¥ocpwÁë&Uv†y­ØBïÅ#sú`º'ÎÚJ¦ðMç—ô…kbå(›p´—¶Y<ehë¾î=”i?u]ô(½¯tPX7ÝO;µ‰U‰†h¥™j`!ºÐ‚¡úg^?›à¶;–˜t•lOžUµzŸ'r2á2FMº…³é÷ý7êú)­lŠÿ_ýXN›‰¼lHÖQôÕwA¸4hS±£c+²|zL"Öä­^bSîéä]E}‚^¶N©¼DÕò±“w§Ý4OCƧ©¿F%ã-ÿëA‘]¸ºû³“ÝŸÌFõ|A³Â‹¿Zĵ è8§Èjë…¬ˆû±×¼R«Î¶|à#rf¤ ™°Öor°”‘Î)“ËÕ"=Ä&f—>Ñ/&PÀr# ò™å‘=²J±¨é2Ùv3><û CÍu&Cè^’WkëÌ$±p޾ôÝäÕyìá1W³XŽCÉ<únZthf2ƒÎÔÿ5Ù€ŒORÊβf¨‚ r(®Ì¢ØºQÎS/i¿RÉ¿Ÿ ùç2®¥I´_ /;Òî«ÒÔ:µeÈ0£…_¸^;šÒ.Ûyþöl­iX³;_†´ˆ†l‹kh7à2£«‚&^¼&ª×$®v©úµ~õ¡ ”³¿«ó?¢¯¿ŠjPTÖNÁ¿œæhÙTÌ.€A~“_CVÎEކ´–$¨QQ(ôi{KI©ù2^T;¦†u"²Ê¯=îà^c·Âêÿ?í Ž®µA•–>;Mä‘"¿Àêšä:½Ñ¼sHÑùý1TyB¤þƲFwËF€õåuâÓ ^ý'|“s€{g•Ã…!Þ„f؈vË*"?ƒS|=¥M×4ú´Ûǔ蹂m°­u¦ÝÑ ïs”ÀÑ:Ñ? ú..µéHãš·q ifñ¬!ÕSÓÿ½åÊp: äf©ò&O.(ùC”¡ Sì9Õgž d. ¥Ì^f¨á&ÇØ6( ì²vRÌQ¡¾zÚd+À”˜¶½!pT0æ»ât¬ùåWn9Â<NÍŒyƒ¸ØýÈ7šŠr÷Ÿ,á`Õ ! šn¡“î7E¬w P¼ò»ÑeÂp6X¶M†Â‡‚wŸ_Ö}Š!‘VÅ ¯;~ çΈ(XÏû#_·m\vKËÍþzšrHŽá¼Dpû×dè;웪QÙÀÄâØeKXÐ Ob<ÚÐSÒgÃ2ÖÉê(|]{ëiþÒÍLÁ„¦ÑPWÓÇœü–ö©½šrÛh]øÜ! ‰Ž¿zM“ã%10táL±Ó¯}œïE\@uTtC8˱éTw’#û ݃yžÿED$>\¸’qbsÃ`·lƒŒþª<@'€ DrÍ ¡K<*ÔÀ¡žœCvñ ©Ÿg¾98mnNXø YÖQÈMõ¨úcÍÍZexÏ©>îŽ Â»Âç{IÜEÀ—©/þÑϹ2^ vâlÞÓq‘·fëeõ.»fÕ.tJèÏk•woËCÒ¨r”z¢Åï;Už&¯µÆ¨þ°MèxÕÃÏN!`eþÿòd¼,„6æË3»[·Ä4ïø#°ƒ*¥¯×ýJ´¼Ì¨Çâˆï#YùÔQñõ¨cy‰‡Bó^–n9§5Ñ­Íïk PÑÅ+åÚ%¨qîþç÷‹Å8ô.è2Ò^A×”X,{ÁÇi:‡×UB{ëúž*È3m¦ÿÖ¨‡|’fR°ƒ‘r/QØ¥`pªù?QêVçiµi?í7!sYY1„ÇWMbt ©2¼%8«Zßc>zƒ„Â;„Ô‘¡Ç&5ã:¢vI ö®$†ÅÛ|˜©;û/K¼*ƒÉühÇ–V¿ U÷Ô¼xÆÌð«VYôAa4ZIx‡ ž¨=c]ãZ=r¡¤l°œ‹í8Kõ6í£¬ÙpAœ·ñ6½ìØæ…²qRû“m.3Fo«2z'^Ám|lôbè3¶ ‘^«yâØ lîpÁºŒ³ÿ—ƒ<«X™²jµ·USGòjàÊd퇹ÜyŸLÀ ðs|¹ð†Ä¢HðìÓ•SÝyëñ€»f¢¨µÊÔv¦È“»Ã¢wŽ C„Å­¯Õ”©ëⳇ‘ø7¾vV“ 6…6žÏÍÚiü‚HXÚ â—ÒŽô½ >[¿0üð·-ù¦ÄßÕÙ•—3G·ä$]#ö‡\VÌÚ .}Ò‰ÂMug2µ3X܉[Øá>Ó€jßTY©£9Þ=*Û4ˆ€¿7ÛŠ½éºmäî¾ëË"ymŒöèüt’̣柜-Wa#æ¸`¸˜|—T#Êʵ3ˆñˆÎH(Y‡tø®âÅ}x=¼36Ž>—‘q†·¯Ë8Oñ÷ÂÆ7 #=tü›~þU-Õ8+ÑÀб€p^„‘ji¬b¡ÊŸÝþȉ¨n­EM7II§0‘‡ð,MH2c÷ ªù/ñn=ù N@+¢›ÞKë3£~ÿ#§üïÙšÞvÕ‹q)ƒ {~Ô}m•*?(x¾-øÊ@w7ÞÏd¨'%§Ô¯àñ˜ùKY{¬Êõê„þàTP º2³ý‘uhs×±šcؽåBf¯&´PúÓ5hºMx“8yû1[wJ!Ø._ã€-î8·¥ú£Ù”¨­…Î=þ:آ娪ªÜí[L ˜ð–e%VX–·WÀO®Çí201HdËŽËP½dÇ@÷JÎ&bFK§ª=ñ\éDk+Ø›?åôS§Y5¥¿oºG϶‘À¤P7Ëj}¯Y•ŸØ}'ðµ{Þ[c³ºTÿy”€ÃQŸB?k[üèÕ4¯€Ž*_}ÝùØkª³EœÍ>¤ò‘°Qì)ýZ02íQÇ­â<–›ža¤±×õõ'ë}NÈ6±”ç€ ¢;_9ËQ•ɶ>,Ÿ#yyõ3*üÃïù$ۦϨá"³~ÁX8ôRÎç5Ù'¯cUœºL`Ï9ÂÅ\¼¬ÝS-Ø¢U÷øœ:(>åIµ †-Î ­uˆ¹ql¿ÊØ£_y½xT: ss>]×ú–¦ 9~ìœÑßÚ0ï3øoÜ:ìúy™VÓ—Ü èxdWHŽ÷Ït)¦ò©ZØäÈf-YñíÍ¥µ‹PŠtr¬ÍÆš½¨Á¸,ËŠ<êô;OjCÍš˜?̺Žï9$œÒ‹(ÈG{cv:™õ°å6 C¹ëAFžØÕã§ûZ¸†Ø®ß!Hü/Ñ0¬•iô0Ä¥ÉY$Ïü`3ûצü!ÒŸü¾>‡-þÃj/Fƒ¨€P–óî$…Š+ÞS¸ðf[F7R^‘K¯m3mÈóDHâíÚO(êÁÿòe:úCôS½iê벜™Öh…ÇЀeœ=ÁdùÄ™îu 0º3¤»HÆ袠L™¾Ph£åðc¾n‹ o7eO,:6¬”>µ$/ÖhH,Lmô%R>¶ü1Ž6äæà6PËǣʸƆ›¤Çt®ó}]è™ àÿRÕñúM,ØiµÒ8 «°ðúã~«>Q7Ì£1Óßi¸FJ×3mQxuÎsVÅaÝ=0ãTdΖvnß,{€‰è~²ªaÝôBÒ”V3-ÔÖÌÔP¸ÒÁZþÞ‚nþ1í: n_ÑPñ„Ѫì PÊôAåªR=E¾­ÒâÎEàÂôjVì7Ý´±)µËs[7Vb Ça%ë·t¡Ã•5’`.(üK½²’‘"#Íò<ô•Bš°až—M‰†«í‡Oªz] ý*¶o«ó¿™xsØp(ÖúU6{3ñÕfÔùYÑ”ÎX Ì„:2doz{þR2.Š= ˜x@Ùøý‡<â¼Gkñu¦÷JNO#ÛEf4¹Ü)i"”Ë[®ÑjH\7ð±ó×1F[š‚6uí¦>®ˆH²ñ¡kbžP¡R›2‚uÁO =éÛ ªîúTíèt2MߊÎin3¨¡ê}‰¥Ž2ÎLÐ52³*¨áj‰ç/Fôò!t&âÔ?‡¦ê[„±ŒL›[!¢Ž£ð®}$«F°Á".’Pƨ–]“rUejÞ™]¥ÞiTöbø˜‹½u=¥6]KÖß@›…„;g©g©´-GÞ:¯ÐÝAƒ"Œ&lÚØrijVÿ¨:Å.÷äÌvSȤ¤¨?YÓjtº¦Vç?/ñêK•IgD¥ e´7K_HoŽÁS†Hgû4MÝ×;Z€a³š{dÒ92‚È´‹$“Cšj…;•1uÂ_Œ¼±ÒÀˆ§Ål3:I>†Q*˜*`иáÒþNÉììÌÃÓ³Uòˆ©D¬Â6Γª¿¹Þ@èÆnðKq2 ¢ å,l[›ËSœªN,6 ¸ŠNO}!‚Ig×rÇQÛþ °b¡©©9I;Ü<ö•Гš[Gç®úà Ãê§„ ĸq¢ó¦ªCÙ÷bôyxò`&h><}Î98„ÀÃ$ Õn+9lZ›Ÿ´h!¼ÞP§mwÜÍ͈-PdŒYF« £<â7aƒ [ðÞ»3eá£VÀi’¶—À¯ !¯íƒnõV%pþŸÏ{¶¹?fLÈ9Êú»èÐ0~=”ÅUµp«9|â¤çhõÜaÞÓZ‰#˜„¢™!gÁ—–*m´J€&‹«_kÔ©õ‡òµ\üeõÄ;Q_ÁŽ<¿³3Øz×óÿ‡^òÓž/µ¸ÐôO¶1¸­Á‡pûãÉš ¸Éôó‰hÒ ž-ZàäòÅ*ÃRœ?*„ñLÐv©Ø±Zaá’Û Â26×+.iÒ24¡^«ñU‹ÌÅ'þj;Ñ6véèXPtJ&ɲ®7U ~çWÕaovÕÙ{þ¸¦¾y@á׆\_Y EñŽE`5RÏ;ŠŠµWG™W3R™:ÿ¹Æƒãåð]¬»YüKn‚H®KÈÒIÄL÷þC0’SÒ—H¶"ó‚•3»cÉ\Zšéìwgäµ¶Ék3ýâ𔯠”¢ÜŒ|­ðK¤d‰%\´k©D¹Ñn¯rcÑ€N<:óò7³ÅNSzyä!å.6™Ãjl4¹ŸŒÅ¼›¿˜Å;>>7Ýy±ÙFMfÑÍkèî3½õ\Æjjå3Óý '…ØÎÊŸ‰Á.ã§:•+ßwwŽŠõí ì¹ìnQ€3k‡*w^¡$,1 Ä"+‹ò¢0zZäŒÙ4F”Mí±ø!Ï^¼­"Ô£kÙÆ™Ÿ-7Y.Œ[Ù #£±xÌ;çº.ˆD€3ÿ«nÓÐãôU3ód70pJwƒZô@xO”¦èÅǪsÀ)9H4òºjwg×vÁ–HB‘ÅŠyøš4÷H£cÞ-sma‹Ëp¼ðµË;›·3²Mç¯\ønÃãÑâ⇡ Ãô¬á¼Kι'rÊÌÒšv‹‘ß©2¡ä.Š’£±,a±'¨ºàMœ…‘nH¥LZÉãî*Óï i†¡C…¢,ƒW«\u4ñ!}@ !Ë—æSUsã{±Æ13w2mþ¦Ü­Š;”ôÞåg*æSzϺùm¶†öûb;F®Vš[[;õ³—‚FÎÑÕ|—ÛÔt¬²§kYúOœè{Ÿv?Œ¿8ìãp—kþ¡~%pÚØˆ¾CN<µ·ï^6Dí+— Â&â ëÊËzÿIÒî{¨þSª+Pî®÷o9ÄžiÚn_·&/>âñòÀLAýÇ„ºãŸ¡¡Kt¦B…4ÏÃó§_CU9¢%Ï®¢@W €c7ö¼–œ*-£æðNÅ;8ÑÊÁI©C‡bzSÈ&ž`+dÐY6{û.ÒÇÚ*`™¨r^Y6gèu{WaÕÓ#ïDVçÇšb…)×Ѿ®ú0¼q…`Ra.÷öŒ­-ݯ PŲh kѽ²Û+†Ú¹¦rA‚æ÷çI=ÏRd¥ÜM|Ó )»ÔíWg7äv põOm9´Ò.“¿¦3ò(Aé>«ÈG†?µtºÉRoý§|N/Ó R_„ÒÝ+˜ÛsâÙ=,Ò<åœì‘âL÷yTö;éúx+xkp ’î˜O &ßf¬¡,d  —þµbÍÝÒŸ3†Þ08Ìg—í6ŽSSGeSÁ”x;±¸âÂ~8ÂNw„ ¼„¯X4¢µZfŽné]lTÑZ©²¦(Ú¥§»yjw;JiZpwÉ+39´ËL¸2íKúˆ÷ûïmuî¯ã øßó)p‚¨o•Y ð´ÖÎ4 —+ĺêDMBíuVÔjG ñSÕ+Š^·ì.ëôÏtP ËÓp‰ ¸;ÌÖVl 3,ïÔjùI(ßsÁÀyJínÕX4`“¡pF°½ŒŽ1‹æoe47ªy·sk¥°6î̬|IòÃZXÒËò…Có¥®ó +n†·9bÇ‹"?Ã_=’ß|]OŠFƒ³$ÛɪÿJ¦ä]4ž4'ÒÖ7ðŸÖÊNߠ°Vï¤FÒ8‡:³–mتڅvß8êÿ ÚÓï_y“,PƒísK)8-T+­,gËAºíþC~>YÄïÙEÏi»A6ªfï<^žî-3>¬Ø^7`Õl®tG(î~¨ð ‚c´1^b=¶Uw±W²)Løçü0§W'Ó°mƒ)„V]åŒ53ñÍþqê²ÜÅf„BŽü(ô†Òa» …Á÷ ]é?ð?ml[j5e–Aóm¢ªVÓs.þ,%ksì²T‰”–áì:½ˆE{«ž bê5}±ÇAÑ&éA+-Ò†ð !ŒwQ`f·ÜÅRYøqÝgeGUfp$·Räâ:'ÞÓôiºÆ5ø¸¤ åžuäö >¿:L&´g©Ê:xû÷ZêÝÂDâÑ8e?™J©«´¼Åô´»¥ýyHKŰ·ú«A‘#¹BÿgAÂhcÐ~--9Ÿ…? û»"æ…rœöÖÇ–5ù,ò£;ì³L®û– <3W½xØ*µH¨ >Öòa®@ç~|sîšã²Ÿ8AuÙà5¸8'ÁÒ ¡V+*ÜêŠÎŽ c½7ÛDš|æå»bŒ Ì8(9RzµßBˆG€á‘ˆ;Óù^ú¡Ô¾¾ð 9Yß‹fòUÝ»ú¦|ˆd^êk‚Ì#Ã~éžüå ý.Ž"l4_Yž’…š7ŽÃµK‹^9GZ¿€W©„&Ùæ:ÍM"Ý%xDðR°ö¼IO¸+òYyE3ãVç‰ Æ5I~Jx(•<ºf€Ép¿  †£¤›*9¹ÝoÍ)QM4î#¤=4"DªÝòÆÄyO#ükö2N¾k¦ÃÏ*7òåÕ~f~sÊÃδ=?¡}ÿÙ°(óQ<6Ýê7²~¦íK¹‚ZaéD:–^¾ÊW ¡-9Õyh§^…„’–p…Ëß2ãõÏ{7ÿˆ:"Ä´õ . º4аs\:ÿWXÉ匣ç?·Ú,€! ¿¾wšì¾0r‹~⥘ßÀ@DfKåXå=À °¢è;»ïÁ fœÅ,iƒŠpd]x,®­¨VKãòj0¼ó(ˆ¬NÉu?Ó‡-àMŽÖä£É~•¾i§2pjq2Škfšœ•Ûg¸a ˜Ï±3éà}‡¡ÖèT\!øì¨e_}sÈ=Xº®@«Á±ë|š¾£ÓÀz-¯¶›|E)B‡ÆÝ—Dø=jáP"UØØCÒ½¬õß]ÁAú'ü *¤ŠÍ{àœ_Ýgø¶Õ Àes.ƒDýNm ?¾~bR»¾¿”—¬F·?²…9,1Ô°ƒ ®¤ĩƈ.\TËX!}ð…}°ÒÞIƒ+囯¤Ë:=Õ– ·tÍž˜ÕâLM½ÌXíèaE°4ÌØL&€HùÌû4/*²’uœ5è5ßÀÊæ½º§¬"Ð@Œö?‘ÒØ" –Ó 0X&u¥õ\ãímÜ EÀÀF‡óºË×ã¸mÕðiΫUDc/¬P)h{ÝÓd5>Š!/y¦²¸ãfV’²Mxâ;MÚO-î5œr¬ùÃ2åÕü5¡ZU18<+bß­Îóæï3–­†ø£šb® 2Dp–EȹÊCmÃIœ)ê‹O0jRÈÄhÁñÉKÅOe áÜx>€Æè š=@ØÍJÁ²Œ—Üô<…ö–\!pS¡?åèÞs^Èœu :\º˜¦Öòùh'(‹ŽQ,¯;.­“äEÄ] ]¢•¯:”DõâúïÍ(´ù¥<ŰøEÜv¼ wŸ¨sNŽU~©Û»,|vOQL‚… ›¢5x½†q€& á´]kçbe?ÚYD½ïÖIÞ@Ô&®ôè.1Ï]c¶×‰ó#3Z„^ªè‰{!‹¬þª¯ôeÚçLG7È¥¿óÇDùÊXè–$ÿ?ò¯?ñÙ5ÊV«r„§RD¼ü¢…X˜ú<óEÃÛ™dR€Ù‚Š=ë]'ÁÄú¡æó:ÝXÿ–¢Tý›íàe›©Ôr¥Gë—ÔGëû]ƒÙ,#Ìlx®E@ìÝòñ),Ëm¼öQ?©KâäI{óBè p“7aÑÐΪÏþ—ýÀ`p^Y“'+.)yÐü-†-Óf|ÅY›¡ãÚ8ð+oý\wØ@€‰Ædä q×ÊÓn;3E¿·j+ Y Þu°@'F´`ÓÞ»^Щ¶UXÉÏhw±>Iµp?§Bž‹ÇÃl³W€º¾ Ó>Ü)Aón¿o!EÛš¥ªødœd—LSÉ…²¤NÜ98µñzªz÷¥}œ,§¶S^Ç9ѼC ¦¾Aàñ—¹pO\*çž3äŽì¦¤"|ëˆZ~©1"–uø1"©àQÀ?–¥ßÚaX¯(Ò·†ƒù^¸/j³÷Y‰3t¦¡ôèþWß TÔûô L ·¹~ñQ3¥¯Ûî2'‰K9ë˜Roà‚_‹!í<6Šezï°=ãmÁ‘Ї–qTh¾„JêýŸÃÂ_†T+ÂV†²¯Y.ÑÅç¡à •[Oý©Üø‚K–Ö @ÜóW)´bÐ}xËM‘®wûÔ» j^ŠkÇsÜæ)uuïmÄÑÕPxtï/sæ©íB\^Û[ujهĴ?¼òæH è¥5‰ÊŠƒ7(¬Ðr[™jÝáä›ÎðV<ŽÔs‰ €®ÿ¶…/º€h›™¤=‰4ûL"¹²ÃÎÅ&`m ‘[‡ßuÛª 8“ýGðÍi\…EMS9‡AòŠ;rÏ!¾^fk"¦2Ï#cì"™Ú¯7èíÏ*Z½Þr®”š1‰Ó†ËH@|õÐûp ‰ÈP(<†Ú’!áQÑ ºûgÕ–pn¬%`É‹ÚoTT~(MÅ3É®o«U5Lµî۱ߧZþ‡Ó%`T:Ðê¶´MÉ@Ïp—`]”‘eDð_ôÜm½F‡ÓXl×»Cð‡ZÔ¿©KÏdÈÑq†27À”µ¤$ul]ˆ Q'íJ“ìæ, áÒÉß~^½P–õš „¼¤~êåH\3ùðähn¤¼‡e˜ÕóH•“!ÄwéÄ>×xωÓù¨4»FdZ`g'Ý΃÷àÌf*"]žÒDXb™zï.%ð<®9Dlkøˆ™Çw?½£Óþj¶íâ‰÷|'§:]«äÆ¡ÜË(í\a,šÿ¾QÈñÑAK¸Pù €$|Ìê‘£G`è‹È3v§\ëc"$„r`ZõÌL¤dã !R´gÐoâ+ïŠt;ºÚ±ÖÛ¥=]øü ÷ß Äðð­<Á²%év9C%­£€ÃÝÑØëN*®È ˜.ßZJ=‘ì-VôG<’•ÎÃPÈÐûç 7?;ÕF2˜8uoËm_Eó¦Úh(«\`¼­þž´iPŠnQ)³ô“M–ˆ7Šùð-¡qï#Œó@zpži¥õPU¢ø>XCý› Pk&êïºëµ®¡MG@éú“ÞŸœ™@ùãˆëU%SÃiP/à9€sË€{A/êÒ®øqa£‚ÝH•VÉ”~â#àì_ ×³£²A UWl¾‹ú`œ×j§ö–ãP¨ š=ô%U¾ítÞÕ[mm55•ǧì,3%þ™2–¾kS69vîC®¤ÀAyІå3Ds9Ð&䓿ºKrÈC‰=ñGÊ¿Sdn\7fÀªG&AOþ*$K²òèñíûÎG=,Å݉,«ì)‰µ(Ã5u…R.‰G|T™1ÄjüŒ8ïÈM£¬–h³fæÚžÝ‚ô2‚k€]ŽU'勊©6œ”¼¿’×ÁLe·]8IœÇ§H†ÿ¸}êìØ;ÝÃeNH;±­îšF;Öeí zLžb" 9˼î郘§bዲ—æº=<÷Þ±ÈP/8æ¨ QõÓv|×× ÙbR1RÕkû¦|ši(¢¨_uR.!4cÀ{K´t#u(Ô9 ™ý~Iœ˜úx>.0ÂCPw*§=¡Mî¶yJ =°Eož~¡éáJe*Ÿ$ ÇÏÊÀ(…ôÿ•Å4GIB’3c}q‰Þá$IûÏU{ jßazÁ®u´ä˜†(ØÀpÙ‹ß™•u(óãSÖÊ­Rf y²@>DR€]¡Sr´c:³³ÄÿŸ·5ÎØë¸O‰ø¸¬ªa ›¬ÙévMõ”ÏÿÔúÊ?ßkôè-yd•zÜð8 ©Ï Àщ‚‚ñ‰o7+ã;}|Ý–¬üalnRZRÂZ` 4Sš …8M嘆?^ë«èQ«vüÚ„Pžç‹é_îVmI™±kK!ðí·$”O)“Ói«Ó¹*ߟi0-‚9S™‰^¡î::°·Ô°©éìà§¼¾Z«ýë q¹ÕF‚.OMÎ>Þå’ÅÄ'R{^•Ul­'6žfÙ¬…d#Z΢v&6T çO¼& þT>¯%—€Óí©×AQ»• '@—kƒ¯É}B> ;ÜØ,¥vB‚Éž©.6íç¥!2¸ÊÇÔ~ý…uÕ²ÄaæêÙ—þ9A¸¢j¦õÑ=^Ú¸ˆ0Š3Kö“öë¬cIÌd¶¹!·’Ÿ÷zȪ¢q:¯A­±K{ÔU$i?¸Œ¯K„@\{ºÏáÛjA?qEÁ=YŒBJ“)6ôçü‚w÷¯gCûà 2fvëDCãØæÅ.ÃÊJáKSâ£}¡/WÇÓÿ/ê‘_?žú Q’¶nÀ Á̃ “°ƒ‚(Þ}"_–Di¿T™òIVÍB_Ý.–D)ÅCÏçú0N©%A‚Å}X&°àOoµÿ¿³!N0ÿ÷(}ÆT©! +…ÐͲǨÒÎâ¥Ï|ƒY`—Áú•jŸï‚ éQÊà ü°ööPÛ"å@Æû‹((›inóM˜{Áùœ'°üÞ áIµõj¾Úìú<ú˜m5gå:Û”‹ÿ±çå[nÝêŽ1nHŸ#ûŒ7ÅÞyä}([[û3¤&ù:Ôÿ8|É`Ó‹Â&ÕãEáÓð¶ð h½žŒŽÙ’z 5*5´Æ§ØÂ_)/|'$(,ÁÏklÎ×ËŸ ù¨™ ½²Ì –!A„âßù"¦ç Òen zWbMäë|,—{‡Qч…™ƒª0,u–›P¶#²äfq-à=-¬ÖM7Ww*°6ˆ‘/PØkwL”ÛŸ5Z'é_/ãö&Æ£¥Ð•¼ 7}¸Œ\,©a oÜœe%Òy p˜xˆý5†ö;çéóaø4±ˆ­«Þ-ºè¿á9R5=<›k¥‚÷â™± úïCÖCéÝVrU“«1ö!ZÖ DeíùçËc6À¹åa½÷ ¼T ¼ñá^”Ý&¼Q õ °QìNmT^þª–Ÿò$ø]¾ïPZ²]Ù; Éã*VÚŠ–f_W,>Æ´éy([!óßVg! Œ¾íÕnšY§ë¸¢Ò=”…½üë÷ôšNN'¥·Ûx/­ . L ¯»G²Ä/Êo°!Ä‹uÇ,?ô—žaz2ñy’ænÄk>¼–÷;Nâ{”6`o Ì­ ?ó»;oô§f`²qg>—ªÊóßÉ «ìb`""EØ&U« ƒÑ¼¦âä*Of+ZÂçÑ«‚bÄø@ÌNÎ}ÞvF0`s¤J“èq¡C_tbY´â ”s[aeCGF[3pO¥T-”Î÷ :aÇñª—D”vËÎ Yž‡ÕÎ'tùÍb$NþÑ›E³g­èfÇÒ_ÄXzÂÜBiO"Úç2òº’•,ðbý(Θؤ;£ò-1‘sœü·uÙÐc¦ ­d)oiæ³äbMVá£<]¯ÔÆA5ß”Lsƒ-ëÞ´5D5ƒoë6®è"Òå×ó“hú¶(É^ÄüúF½D'UAíð$µA¡^€z Tî8 ìÞH)néÕtA} öͶ.úk8…Úf¬—Iʹ…1KÏfl¢±šh“(8à|§ˆ™Oÿ®˜ þ‚ ¿0$-Cð\„'íŨÚc5õ )·7÷ž2m˜Àq¹Îu¬Ñ»ῌ¸Oë0ú§ÕM+È–êFÛQ›}JxÖèÅC°è¤Áדôêhðwm¤uC&(g¼UMø™úÊB›I]Nìh%Hänì C¨‰À|¦ä¤ˆsFi'Lj†Wù\N"j‹Lò:sÂoC0»Pþ[vë>»6«J>ß,tlš¦å ²d¨z¸_åI=\e­òÄrr†Ãþ»»R1‰Í‚;B™®§`D² s#ƒKá›á’£ mBb/Ä-ó >Ê"`öò8â2E†·›šîÀôðê aQß»Õú¢e&š°èi ¶¢ òó«1Nñ¤É¢Æz¤ƒ8’g+u²ÆšMËcpÔQd+ºÉWïÝ„ìµxÒï±?J}|97ÕŽÆÉísÌM«ŽÌÏ›%ŠæÊž3i:ÞE¨éúê5×2õoj1¢:e£h#¥LAQæÏÃHk˜•Îrç*ø%Bi¨—‰)Ó†#ßr°/®jø×ü-‘ë´æ­ûê¹ïâ#&$•MÙ >œ‚’ƒµÚ%5‡íîöt›ªÆý‡*ZgGEÜv÷úp8^Ê6(Dø>宼y9ÕÇ¿{¶(Vab—G7„üµºeƒ˜ÃÖ.^V¾Õ0 q?áÞ€/£à¿,a Í(xˆ°¥RjŒ]ÅŽìo^βê¦ðæ$X)ë:àb;’ÅaÐ~éó cGX{šªË(Xí©€'FÙS½¯Áû\E|=i?)’SŽk£-פk‰‡V /ü}Ó¤@Þ#ŸE^¨YÙÔ©JÉææpPÆ>F>Á~fstcn§£ý©;ßy¡5ÈÄ@+ecÕì¾ô€ÆçžêìFÈ0~sÖOñÂ’¤ˆ¬°½Èdn?Ýú/2ñ{Ö‹Ëp½ó›ÐZÖuïb'} øÑÙ2sW ˆs0‰†vp]Ÿ2dÂOò÷5‹ ™:$gÄæ|ésÎ>{4©/Ršâ>´ 2K-r´çÆ^¤Z’vËŒœa±ÌÛDþ&!,ˆ¦3…}×y† vË\dŸ¨÷¨˜æV>’—'—fxPª~ÒœÏþDÏÒïå-^BŒÒoA’ìÄo˜ å~+ÊôÆ:‰ Ö±„nèI&³<„8à¨UTÕ[4RA89¥ÑéÜ »@Úƒ=‹Û±ÎzàE¹îªp-ÆlTB{m’ƒC4Ÿ ëwµéöåè$µëw¢Lû»:6e0ÀØS€þXÍn4ïÇ1K¨£c½û÷+kÜù¿cW‚\ÁÉuÁ{x‘SÕáíò|jÛ%i{ñ­Fú€zÅ0eTN÷HŒ³x;Eñ û†uqÁǾe¹àQÔÏ„þ %bW&/«ßÒÛ´jªâVlÆç´ÔÚyjEVÎg±OÆ_Ž—¢žEŽc Œ±%ÏjÌi–.™V?rçFFL’L˜[2ásŠKïØÉرÈE,1PêÁo[ÂpYð¥æ~–0!ð5ï¥M€éÓ¯ü´VŽŽ0 j:Ç Æ"Œ_ÖT,Þ'ÍkPÍËÄão¶c˯üwEPzQÎ-• ¶¡¨òÚYï¬+PÖ`8ÎK€\‰nTµcy«5¿·­? *»ËC±².øÁ´¯S)$àÀˆ(Beÿ].©øÍ´ˆ]8Âò×ਨ¡tTc>¿Y¿´¶ ”ËéC¹ÄXíîùX$TUd­“oÖ,÷6¥ U&ÎUIH–ƒ'£ó R‚-Ýfw÷ºXfÞ§$×Ú 4D Æ”ü±Ú6oö⯹[¹ª-´íktµLêf2»š‰XP²¬G…Ê£¢EÁB<®Pž{5 [ ÞagͰžŽ8‘~Ò×:U5êFÊȼpˆ\J$¿[ ãÒTô¿DfµžE'&¢‚š',Ü8à;tã 30óE‘Øcþ¬!,«žì'jr…`^³ô¯ ®!7í¬}e/eFç;d"tX÷Û4[l¢;ä bÝ¡´^ŠDƒš„<É(–­ó<—äK@±èÔ*)Øò§kCgM©5Ö›ÀÌÁ¢žur#žÉ >ý8(}Îq”ˆ2Ø?oÄh^ƒ!¤™ä§Ôú;Û=5 ¼ü½%êÞª0˜IpQ ¶oaÒðQL‹5•îÌNwЖòDÓ¹‹9R°å‰tÃp­ß<ëî—áfF`¤Ô(-Š hZÙ8´’þç!öÚòÐG®¡°[§O^ôð‚3,T]‡í@÷u7ÿ»ý“çúª&yïfL^LƒŸ“ßÜî- y±ë5vY¢¤ ´¼Ä&5ti&™—‚¸µS­+%ÞÙ˜iù‰ü¶>O¦¢&Mÿ7I‚4¢&òsRèÎUrnj¨õŠg ·•´;ƒnü;Ò‡éaÄ*-‘9çü²°Ýq1'õýø ¦ÆÆŠÜÓ zœ¦’ÛNû­ÃzÌ„òÔœE™ÞöÅeq|ÌÏ’TwJÇÚð¶ a“çþÊÃÊå‚j­r£ÜWå«>¦)¿6´úw_àÑ)¢^õ1sxÙžVŸ›BÑõyA/É]¡KÒjƒÁ÷~!z°D@NA&Ýë âênâÚÜ‹-Fœ£ÀnO±t×85áY:©«g½ ²x5ÖG; ›/F´á†Î91{)Ù{ÐÍlùïEªÙˆ/.Iëvéø°ÇZVÑ %J^¿Ó„>m.î³RË(±¿ùeР.hû‰Ø¸£d¥­Ð5Ð-¦¿J¹¼Z CÞΕâÜÙ•™þuôÒCj s*‹àþmˆà>`¥O6ñ4!£~âQÀÓ«çœìm%(Ÿ9-ð4#J˜) ðk¦=šœÆiF­Þ-f ‹ég¸U9ÇÁMø½VC§ÿª ÆÅçæüþgåI8u<ÈÎ>@í^º)Pžà• fÎô,ŠT8Áj^l·+<]¶Žï€–ºáÐ4$0ó:^€‰•è‹ ¿-f¡ïINU×ýH‡ñï™KåŒZšÞ$çÐHagf)èìC1˜b®îDÔ•ßüN™ô²›À؈Ô#Š’ÓVü-íâºZK¸gP^í1§|ÊIÖs3BÅ`ä{0t,ñŒ$ZÞnêû°1.À€q_`åÏ‚œ±Wžä’¸ðTÃIš‘ã[±¢ZévVqâ{´E ¼Ó Ïïbö™åi&ùÔ(z÷‘Ì{Np—ZË$ç`¦!Ji1^GßáÄã–ŽÑ6ÎQ°”*àO8×yK¹Ud³\J©\™X ¼û,'á†N¤‰º£IO"‹zÞ$gƒ ‚ƒš qkçÓòRÇxïy,ƒ:ë …È®Ùi  Ý§G›ÞâcH†Àéwþo!–Ïø5UÔý—R× twdeÕåbenç'•O"nAC`póþ§XºÀ¿ºÐ@l¸˜+œê¼Ul®ŽäÏë[¿úÓYœÂo({’C"ïÑþœˆÄV£ÈùâSÌû“)“¢$#óÆ5õisÓJÑ”…8ÅÃÊHtA»gþ]¥ ¤_Í”º¢¨_uŸeÊ”†Ú’ÿ¿ýÍW22ïÀ<"I.|ºö¡V= ¸Ö àÚ™Ôý±¯]´í ´yÞ×pÊfÀvÜWll…’T¤ò\¾;X¥ÓZfíšÅ¯¹c[ÿ1všß8î?à¸4ʳ2Ëþýº²ÞWï?® 4Q[éÒ!F­Á0…0ñÏ’nrÑmiì¸ïû½ÏK’Šg,\†lBf¡¥ûHTqò7néä#Ï;ÏjnöÄ×ùGXA iˆÇü?»¿³Ó‡Ë›3*¼-z‘yÈ: ØsÃè1¡*’½ÌÆ@¸d†þtmÃõÛÆË7) išÔáÚ^lpƒ2^ï}”—4z9WH’JÍÁÄ÷e_Е2„Ånô–å>@q"p5vÕâ‰qa‚·X«Ö4ZH^yôjÀàZ:hãyêÕË—Ú ³kt¯Bæs. ¶M¬ÐÐÝ,λbc7µc ·¦ìôºw†­¦ÞçÇzÚ*6™×ê›UrŽð~å¬Þš°ìÓ ÁÜíÖ)t§š%HÉéçŸ!‹&A Ö­‡…ò&ÈÏÁ8Ý%À]î]ˆ-Éàãd^O—µù«^@ÿÔÓL’£NצZˆk88]è¸fåØThI€Z•’!’Ö@Kñâ YiTö™iz6? )-Éu8pÎÞç0{jlØ|1š—Ö»C@dùìvâ5Ü—4ÉÑ¥oµÙ.Õnt9WfbÊâQ±ãKÃÅ­ôaçC`ooƒÅ}¾åŠº|ðð*€o¬5jWšŽy]²)ècôúûyH"â'Ü”Uj K>›= ° c švaªk†qÑVEÊì:ÉMñ{ÞåUFŸ©ô‡;v{aw 9$ºt‚õÖòIÚ| q“0"’RªèÑFð)Ë¡¯ø¦ÿ*ÕúkNmÑü["ÆÓì›ê¬ã ƒF,èØ§Š›µ‰¹e¤ë©ß̽ã"º>aæ¦èb_µ-¹æ‡²ó¤|’­ƒ/|;ãÆ>§š¯C™]¾š\Gúúïošw2îhÊí¿j”@/YVOñe‡É¢E›ìðy4\Æ—5uFæç"zåúi-_™Í#I®]D0Æ©¥ÅšMÉõN ª|  4|6dƃt—#èž{¯¾ð.JÑ´Ø­Eìê¼$¬n®D/³«Œà×µjdjeâÊv€I¢¢Ë¢Å‹ð)oú nj\Ìc¸sý+}ÞMo‘I»£dX\¢ë¿;)8¾íd\¤‰xÚUèaQ¦›&å[—‰Æ–˜ëSBêX;7/ó<ž’NI·¾zJ×{?­±Ø]YùB†¤–î´îŽ-gϬã[DšH êÆç»DîŽ&K&©¼‰ %Yg«* HÁ?,ÿfÏh“.v¿óÑ@wqví–¾0×Ff©+Ï8“ü|Mù(Q¯áAÁtz ‡9d¬(•¢þÏÔXëL):ˆÏ;ÃWBè†»9lÚ¢øQ1šß7rYÅÌ¿u‰IÚ}¡‚ëF*Z`É+À¼¶üi½Û#;¬Ër¤W´Ê )ä# ¢‚} €Û‡RÆÕ>À¯§Zš¤ÛŸ;å<¬UCµcs¯oªñ° sº/üòA‰TÎ,R4®$yé©4@`ÈO˜Jùd ®ÊïP.f~»ROc®Ýr‚gP{çAšà„ èªB¾ÕùrTÂ÷Z?¡žÌïÛG9ÆÝab×7AÞ=*È»k,uµÚc@¶Dý2¡Ã¡™•v<ÜJ*,ñ(é¦åÕŸæûñMÈÔ劥ç\î¾n5|¿'˜mi[þ¬eßš ÿ›pQ*á«Ã†åÐòÈInľN9Çë†;Ѻ‘fú´­Ý "(Ú0y]°@‹µyA†Åò®´m´š4 \ r¼éÖäGB;û‡üC ¼}çQÉ‚ÏȈ·ÿÛΚ>Ñz“B¥|ZiKhµ8X¹—*‰¬5)j$ÙÙF5Þ2Âf-É{*ŒÇ8ºø`œ)òÿ#1ÅUw²aÞû¾Ó)¦ªî•zÇìaEó…ÐÜ|èâ(»è¨,V“pÁºœo_3bÎdÖRÒI"m«>qÌÇãà¦à†,n鸲…¥þx· ½­ð»¥—2Aôšæi@yØÇb7þ8Ç[fuÜÚì AwD­©LŠßþ•$.EwÞjó™Ñ},?Q}ÑóK‡ñÜÀˆkåvÿÅ7ߊ&—ùJ6"µ’îæ3ŽIÒ »m$ß®›r<Õ‘Õ^’<ߎ‘žf·;—£RÓ~ VAš—!zÖ3‘e$ŠdË„Ø[oÙ+SÛ$¬._ ‹þ4<Qª…‘SK•´~¶“;ÒÏí•Cz+eƇ8lQH†ž÷0!”ÿÀÛ‹dɶ8Ÿ_uÞ‹#YØôèÒʕ˿t-¶õ<:1‰O,y¶æ×Doˆ˜zE>)<ÓÇôy>÷ ÊOmeäæ<üåO\ƒ–¯ÜÖ|Áô¹SC¢< —•¹õ)‹ê 5ù{q0â›Ã6Éý)µÒß°¡®8‡•Ü| oNÆõåÉÇ×ã®øÍÝélÁ y~OON9m⺭ïýXãŸÇCœÝëlk é•Úõó°ÿ"DôÜ¿yÑì×t¾åßR–ý`?M"ÌUÖ`óþRþš”w žüµR4ÙP‡«G»@–ãŽ6œýØ©Rˆæu’^W€Ñ¶½Ä\›7χq;.MRì+_³\9ïGÅÔÞé= öPžDMϬ¼¾iqï ms¶?ýèêì¶>0Ï´T¬ÎBÔ1oL8Y㒢߽|ëF"z-¯®,8С2# áf[ FðeåŒ|´_ pÝ·¬ ¦t2CÑi7Lœ º' ðX™n–YèSñj“—™-xM¶*ç®üf;g/wÜç.˜&PÞ¬a4M\:T-ÈɇQo½Ð›Á^ßÚﯵ캒þrÀCfÏ .ZYí† ¸4÷Ùã9Jâç3nÔÅ Ðý¸H¡ÉBÛ‡»éÅã§°à;gÐ}pEbB,Í JÇ"Ê5çŽÕÓðܬ6…Nó„\"×ßéhâº\Kíjqæ…£Eï§ÂA7Éí(šØÅ}ü{Ñ]Øx7¦Óeäì,ûí‚=T0+ÕSMŽwÖó¨ú¦îРYYÀǶ(K•QÛ"_ŠÄ»Å¨¹(˜Ð¸‘()÷ߥÆT©Ç2›Bjإ˿KÅ*Î6ô|?Cßd;ž/¡ê[Ž»ˆ(÷MØÿÎØj}é[ÝTµ‰N ۂŽ]¹Qyü%hr‹æA¨‘û Žz¡‘±3èø–t‘º¬Ïlß7å•otQ îýpã9<Œ$舨jÀ×%†ÏH¾2L,4uR`¿¶ÐˆÜˆM)eî7À1õØ¢±¹Ðš¬»ÓTÁXê  'ïå„~J©æ5>8_[3Ȉp^œ³T0/^—-c„Vš!À»ÐÖ0™ q¢WÛGèý³9¿Tßl“;¹ÙôÁ*)^)ëÿÑc½ÑÈ‚–:¢’Á­ØháÎ@¶ºbãdÖª¬FclÆŸöÊ/3+Ÿl‡èPée·ó4$^44r’×!­ ¡¦á@€NÁ&¹P•¶FsÉ’CspCH#UM:8i!i±©ÑvÏ[¯üÖõÄ r8êЉխƼqQض›œÒ;e·³;Ëú›A–™š´Vÿ¿Œ‡ù¶7”_¬“mrVyž¼óÿ‡;jT³ US?€XüÒ ˆ“ÍŽàNm]I› x¢#û±å:ZG©ÀYÁñ·´å%`”™~È …eŒLÛ1­ÓQýmÕű 2¯Ðv…lÙ1bS”ÙýÆP­ÿ'§«G”lRÖ·$  JyÑ"¹kSž¡Ã‹;¸x'ROʽ­¤†×ú‡f¸‹Ï_IëÁŽ~­µzòù¿(Ìénƈ xy£äŒU.µ®þÜ£÷í?°÷&ã"2s–¯´| GÀ笃ƃç 9:ÙRãåÍ3Ë€l&*,&Ø/ €êóÚpþáFje +}¬±y:f<#•è~ŠŠÚÇ\[Ïk¯9Ñü›Ï8ðkªÆ¯“¶ëKÏÑ÷†Ë…ì*ØÂ µvȇ …FãOùÇÐQ.ø±±ÞAÔ—¡ÆŒ`N ëþ×ò;Žg®ªôRM×~í¦BsÙ°Ú<%´P oóXÇPN®m“oa\Ôïûó$Àæ(þªL0@ž‘Š¶à’¨k|%«RP#hnïhHã™)—–í4}î›/Z TëÙòéY22†·UäEI¤¸ E ++‹ˆ¨ØxQ3l/ÔƒNÑøÂŒMÄ Wµw¤â¡‘©èø®èiPáSŒ‚`ÛkƸàC;ÄÄ Ã v[,ÇPG0çCòëÆ<ÍÉ‹ôºã¼EÀæo-ý§\LàÎ7Rî;âè ×rWûz¡9wÁÁš¬y°È]Ú”©N4åÃ÷×ÖóÁ/¬‡o ÐÊ0zíŽðÚ1+y£÷ïN/~q¡‘ÎYø‹«Twõ—jÛePÄ-æÚ¿ŸÛ¼ä1Gy¤Š" )†àêöWTÙz­““þ^QèB[òa÷ý›¨tŒº W@oˆ»VЬ2à+Éì,×Ê&œc»•õÕ# •d˜ülLÉÒç K0—».öôWxý¾KbœÄûù¤¼™HÆCäó;oÌ]‚¿w|Œ M|¿ØÉرt×%;P0p,zDü7*½Èk­ üÙ• {C®/¡Ñž "ûèÓ_c!ä“ßt¾žÛÀ˜ý,|L´$Döb(Ñ>çòWY´23—åéu.Ùg O4—gÀRe¹ËŸÆaËù½x'}}&,9 =â'ï­0mXhÿÐN=ÏZŸ7›’yWÄJ'JVºÊf€;%ƒæÜjKÔ,³sTª¾AÚC¨"pQ¸ 5}Ùƒz³ñëÙ” ìOïƒþÈ̤Â"úoyYG…qŒK¾Ò™A µvžÊ¬Ð¯ —4-Žëÿ$h˜ó Kø¯õ©ÍºNOeºNz„m:'ÀöÇ*Þán~wQ`„æQàƒ¯¿]t"A8!|¥Ë±¹¦(EÙôº1m UI´æá¿B1ÂöÆ6Itû*a,Ö¬+ªÇòkG[Õ'³âwqdši/–IjuQŒ™ 5( ©‘VÍ|æñäR¬¾cØ‚ §bõ3xlb¸“Ð;º«-K¼7Yd‹G]xmƒ÷JI•ó"äæ«ÆËb¥¼¶x1zY5øËv}J3†0±‘Œºø™sŠ2Óå ^âéÎ]Í6\½Ô›/ùËÔ:Í‹5ÜÐ9ŸN(ç5ÏtÕ%ô×—ïé²82æÚ¸™²?*^Geu¦ëö–FÞÜÒ®` ’™Ÿ¯©„@|ÈçùÓäpµ)V V=(k£is¿tKXaˆÍ”1=`ëñÍVlò^š]¢ÇQ@™âò +x¬fð{¿€éÄòmýšö&–q6dÙ¾Œ{ÙÙØ~óÈ ChÖÚ0¥ ^´ûK¿c9ó @°x9ÛF~~Æ‘Ô säÍCoj²<ØÄôH·q‡ƒÃ*O=ìG׿ ,ëöújbÿ©”Q'Ë#qˆåM¶·#gÇÑj¤•?äRM~¥ºù9ùêÚÕ¸¹RKßE˘ )7øûéQ>Xf`kÊâúÀ‹<ÃëGQ‚ðÏ(þϳ‰ ­6ÍIõ[¿¤‡û0mz=IÑ]¸ÚX8tܾZ¢ešºY^ù@1ËqÒÿ  üîàÖƒžAvÝ¥®Ÿ4EÃKÞgŠ zYÇ,î˜ÜžÉ»t¤à½ÚÎÛoþ~cípÜòík[p¸ÚÀ¥ÙQã !¹„knË|ü.jY;¦æâ^WƒždåUk6áÚuI`xq"þú×ÞˆZ}HY[ŸHB.{FË^‚÷Ž‹ ÎLô›T\ŶÄTf °ñ3&ßµxáÏ/XàãauǹΊy =vVRÿ®Ãb5›·ÇQA€;ZµõÒßàƒ8¥®¿P"Íç:Oüïd?t´®ïO¾e*#H O¢¯G;üIK ¾!íb=´s%[žÇm0 9ÞD±oè®*éj¬cjÖsÞ-³É=Í ´0ð°bZÒ`-‰™xC™XÖ¹R{ε.OŸnIšÍ!šœðЮxÅ„ŠC‰s» q˜¬×fðýÏ#ÎM ÉGürppõ)èùšŠå¼4‚³áå^z9dqz?Õ;-€1;ÃØÈ „â+]=6Ë,”:4e&%à‚%>õüú-SÒ:9aüáþlò‹s))ê§_] ‘Ë0ß`- ±¢8àøëN/šQz DüË«n°9i°éñz£ñNX€€&…£³d¡Ëö²¸.Ó!ç$V$%ø¾ û-q(z›¬Ï•°°ò«€C·Ç$hî¿Ëræà=‰ÅÙeGŽ¡¬ë¨më8ÂwbuWé¾Gèaÿͽ¥$‘t€®~*ü©×©KÓ›5üŸJ´s ð÷ÔvÉþ»‡ïîbóø¤3å½2†KÝ ök²ÙЀÒ3ë/-ÎmS‡+íûpi7i×>°¿ÔŠtåÿTÖ x¡‹0SÇ~,pdÄ3s ‘O8#iZÓk†Ø|ãæà’bݸÖUé}–}˶?¥š\NTÜ¿¢­g:OóZ`ß×rO°ub”šúŸ¦÷_Ê}:m¿Xx´Å›LVJœ2tð²'RLÊû¨ùåcÕ¢5 !þXÙòýùLË´Z—1Û¨U%•²0/ÍÑßFá9š&>éºç3îAÄ I@'déì‡3Ñ'¥%å`r\וõºBK«y»)¹vª˜<ó—œvdóî×ðBÂäîWU7‰Ææ¼ÁÝ{CÑÍ8®b¢®®ne.¯•è¼N r” MòÓ® pó¤¯ÎOíÈãØ=ù¬Cêî Ð’ÍAn×Zàø: —oñ³?½<óSÙ´‡.ªÆZp¥áùÍ5±’ND*nüÏ'äžx$Œ5*`µp/º•2x©†&+ûMÊsÈc²>8$º” öñ/‹é}|Þ‚ž¦xȯßco!·Qo2…ÖÑlÂ>~¢è GÅ=,!^A6žð/'¸'RN3#•¯Ä`m} oˆ¯–)ò}vÃFÅPÖ¡¯”y€Q‹ÝCDÃ|€Âú/› XÔþ£PÙç¨2‰TãŒß>àQáp¬YývO”#Æ8¡$ë3ôeÂðõŒåßëP]µ8Áï%ùØSÍ~½ŸîØÌÌ UUýœÞª¿Ù ¥±M_7RyFpPàëõak— cÙ}”_7¢_»?N¢§ÇRÿéÎϘmß#¤—Øäú Ï‘BqÛ^”câñ# -‰­Úe)¼]HCäè‰Ôº¬³®»ÒÐpà={¼ÏÄó\¤'|S ÓAÙ1ïI¾[]ºÜc›2ÿ×Ëì¬Zgƒ‘‰™[EØ›©ðy˜Ì8Ä…Ç判Yξ;ó1‹kLÆÒ…¢Ê…zd.¤üT|r–ÅþW«l.Ç®ãsh ò©n¨Ã÷í}>¯ëV¬J9̽ۚªÿhØP$>q3ÜGÚúð«öÄZî_`‘‚a!ô.­([EXÉtüÿYmÃr *X‰e·`Þ·ìA)‚T/‹ªÝ$DéÕ‰Á€ƒ¦ìö@ÜÕ2.*]);Ʋ 5ä1ñi 4 ‚vï l»+#ò%x¤ÝÉr“®r)¸ºsCA¬qsŸÚ¤bcbª‡uÃ%bÕNG>@›Æ‹»Øâ>G^o‡¶¢Ïƒ¡âæ@+(gBý™]å`×7?ãYQD™+a{®Tx¾4à(;îÎÚm±á:lj[÷ù!‡í¨Yt¯%ðýô­_Vzï6˜ 7‘Èá›C|)ìÛ¨‡S¥Ó§Õ¡*o™çÅϽœ7¶ñ¨±:Ž?u÷œeË9–É,ÓcA‰?z¢íñ'~”?£åê;ÛÓ±š‘Ec„5'”h'rÀºÂ²tªê³ nƒ‰é’C¬Æ~žËàaÍš‹¯õ€¹¨=‰= ›Ng· PT¢?Eº$mXåIØtŽœürôƒª}Ùæ¯€åÖÞm]ײ‰*·£‘MLfá¬E¯øîló¢ >¢PK[ l¼œœ>¹ï%‘c“o†œ¤onæVzgÃÎï)„ dHëö> äýÑàˆsª”Ø2úá!@ÑW£le@$¼ä¥vÁþú‚ ­vKàfuOEi×Úêžìï¦õ•Hí|û\S’J}ó‡Íþ0ånsûL° r³ó,T‹­=|÷¾“9s‰“”Ü1 –,TN`)·4j*É» =F0ìhmÅ&U6÷‰žumá:WJ]7¶‹ ›Ã_±‰! [×ܼË<йíLÓµqŽx~ U0®?ŽxÞá RÁ‚‚ð~™J˺b3|Ûxt:ò»H%ÛjZçÅÂÓ^âÖž<¬ßM«¨„òÏÂ$§i:sØÛ/#FО0ÆóŸWtª¤üað‰)+gæ#ξñI}n 5–£,:¯â'4[<œ‰qUoÍ£º¹ÚAŒÑ%Ú*¼”÷VT¦”¼¢M(;S É+vÃÚ¸*@ÅX1¯û&{ç:ýè‘›­Ý9'ÁCáj¨aáz¼Á1L0}\°ëûD4ÝèáQWàSU®€}ç¦[𤳴w›!ª›ÏYÞyhÌq+üèN¥Öõ•qµÝð9ËXàU,2ŒÇíA-ÒC¾ø ô:‡uaݱoÂÒ4Ú†9çµÆNi…éôÁ78{;ù*R #ÙæÍÌŠôòÔJJÚŠtî¤É¿ ¤ãÐî$$L6€¶vþÔhU;hpÞøÂ Î7ìéèYWvàˆE„¶;ƒ0øG· {9kƒ …F\[œ‡c;XV"šJ±'ì˜LTd9f—S·I$?dƒÿXü‰øã' W὞×/@‡Ä?Ù‡Kq~帲«|Ñ!Òµ{N*>ŠAÀ›é,æýK^7v‰´ kEØ'`z}:¤5ýJþ¹ë.ƒ1Ùƒ¶SA´·ãš—¬Gýó’v^ÞÔ^—£K"‹í…Aß}(¥]•¡+Yø„C* ›l>|jú>ì‡$.úf)—ÙË"‹ÆÁöÛØÅºÅØ~ S}^h¶$­‹N0ÛcÀö‡N0,?á|/àŠ¿ŸfF®ö9fÃÊÝCaå¾xÒÚ¯C­HªË£\Ä©o% Y NŸNpx)ÞØ¬îôd$³ù}÷f,‰ø¤c«^§~˜]ÇÇ©- ¹¿Úü:ú ɹ6IÜÖƒiB=§á0Ö7¾¾OƒOÑn×<mA»[n:Çò>í̲@ÿ§Ý™°­¸‡Pó*AÏQþ!d¿ãäÊ(f&¯_øŸ„ø› ÈýE*«3W¡4¸RzÔb—-Ξºî ¨}Ùû‘4†"ô€4¸ ºÎ‰.b {OlÂN_ã½pv¨´*£N(‡NU™õ_å ͤ; Ú*®™X @´ËRy”džÀ·Ê¼¥‡Š½Qf^µ½œGÔwWet ©[U ^‡¬Ý‹›úb#ÿøU¶mvürR‘X+/Ÿ¡G¢ çÃàͽóëY!¼ ý *ç³ÜºÉ<·¸xgçÈLÕÝÂü -#ÕÇ×õi²½–%Uí?2!K¯îž+¹ÀÂyA¨1&: “Ï"€¡¹uÉáª~@¥…-Ê -^à¬ÜÃò~VÅAüw›XµkÔzR¸ùÁsIttôÞÓ GÀOv$¨y†»0Rqô¨+ÒRà~Z=·nãR[Mô¹Xä·ÌâzŸT¢G÷˜RǶ„tFæü k JÕ#ÁÆ|G^±\K”ßos3w¶¤")öÅw&7«IIV6Æ ûBºâˆ¤PœE¨2²jØL»íªÍ<4“”ÅEÜàQ“{"8­ÉȉJ%Í8[¸*®ÜE„D× ¨ì£ FÜF äÌ.¤ƒ¡¾[lÿò(2$`!m½Xî4t`Üne›ré  (QÚ”ÿÙÞtÿf•Ïdzù†ž®f`hH8 ±Ê·›Þk¥8DŸ!îÅÙ¾gîcí ôö٠ԸÇ®)Û>v4 IÜò4»»™~¤ Z œ5e`À=Ñ~`‰æA–ˆTÒ]À7ô6ÍI7ª &P‘­ lŒ© ¤íε*o Z7ÚàO47†L'}ü¬b­º8•@¾bpÌ>ø;­ff¶¬ Iݹ» lö»¨;"‘´ó—hnÃEãRb ž‚ãÖfç1ôöÙÆéÖ§´Ô¤pé(¦J ~oH·òèÉqH<Øìa8Ðraq‚Éñ³‹×2ÅÓÖ–ûJÀŠ…Ä¢·;¼g˃y_ÜTFùH[ýÒͶpzÔßÝâ ÏÆ½øE¬ÕK]Ëÿ^<Ô¬ŸXÓ½Mql‰ º3‘dl1ÂóÏ~3X (})2[–TˆôÕÒ¥ˆÁu›Ûç¯qdÉ…Ô†‚Eƒær”Itd °—fNéð)È¿FÁC»I¢e3FñËÇSyÆQ²£³Ð„Œ„¼yøiÛs¦PÊ•¦¾& õ‡üIˆ48¸¦p‘ØîÄBË+<0b„õ gtÃö0jÉ5ôöâz5,=iŠéOšHÉV}ÂaeZdUüN¼ˆr^‘ÑZ|¨€Ù[Pù`Só¦ œGªVب ƒƒXŸX§@È^)CÞÛ½r´„2F¡‡ì¹ÅÕ!2×Û2ù(Ky\á}  vƒØStyÀi×’k$'ÅrÐl}JTöÓã<’N8wþ /ÎßP÷‚a6}5~¢ãkåœ,p9%NAÓolÒå[I6JÑ 6„}%g,å¾ëð)wøŠjqN›ºŽT'ÃZH>¾–þ¤Õ½Û)ìáˆ;ªo|“x‹å©Ðw'‰žˆÒ;…/¸äÉö)ß1éë°Ú+2%Ë5#€‘ƒÈëu~µ,*;-±2æs‰¬Åoø‘cÅWÒ+(˦ý•)¨·ÃÖ¦ZCü@Þ_„˘”&X|6ÝFÒm¸oOôet“Ç™ò>D˜º½ïÃX/ªVܳáT'Xj8nÛ¥´Z£Ý¼1¯Õ¶_‘$±wc,¾ ÕLظѭλ`9P®}-£Ì+žñ6¨p Æ‹ƹ63r`ÓKñ^¶Ðèì2{õbó<½YlÃ(¹¤SY8WáÚkÛšµ–`]¿´õ´mâßZq°]A{áòq?Øœs@”YsÝ«áûJPBÃ0—ñ<ÿÿþõÿ¾f9i—[“UÎá‡ëh'IoKÖ‘˜¸äîž Û_˜âsíSE$¸åb€![ñ¯£RvÚæ6V·àâs—\¶¼Õ£¯&òï41]öØ”•9Y雜b¶6h\XÝqK88{¨‚ F°?¿nð1vé“g4!ç;é5Fõx”+Î(F,‡´@ß–ÖÚ®3fw¬W.ú=¦¦…òK¼ø ®ÓË]3æ~£Sõ¡yÒ1GÚÇKßèm»¤ ú\›ÆváËx“”?Å8ÈKŸ`­ËvªÁ^6*Ìì}4 J—Žq!+:¥É¼0íyž4ð(‰¤Óõ üŽ++ˆ~Þðîv¿§ö‡²²+æ¡å^ézßqÞ$*]W{¯M0V(³ÕzçµHZÜQ¸>ÕpvQbÈílž d9éRË+›a2œÃŒêËBY`Ÿk†p¦¸mßù® ƒŠïe·Ù-2 ëªqÖ好ê™7&7Êeº¶1›‰'ŽSµ¢TB™oCl™µñ:ù ܹ2AFÐp… '!Vèþëµjì‚ÿÜ‘™äV›¢Ñþ›*ŽmU€fM~×üqõG»QÃç€F)ß-¨ŒóÏê(ζ×AäÛEòC}õþ-ø+šŽP·OÌ«õ÷c‹¤±$H26FΪ]Ï—.Ä]䫇³xQ7ÓždÄ~’ˆ¡ã¨$IXXü ,ü‘T˜XzßÓ¾Ò “° p‚¬(Ÿ«VmŽˆý5äB‘‹ô­ÙD¨M4qê1ÿ_Üv玫hÄ€‡;Ø<óÐeŒRË…dn­/™Ïù¶ «KöóÔ ón7¾ ¤éˆ;ÖƒKüAÔKÑ!óU-ÒË ây-õóÔT•™Ré2*É5škâW”Ãnh“EðŸòsû@õÚLîcCâˆkpîªð ާŒ]£C<²·÷3é¿äÅU-’.벜æA&’­ãhC‹ÎÙ¤û¾¦8#qãõȆÀÖR`{ÅÀvx¹¸£ãðæó“Ý•=uŒ”"ãÜX'罓Ð÷uñ`ŒÖ|¾=ºÛü7û«ΩìF¬4Ùø2¬Øó¡‘dÑzm§DìA»•m…Jª’¥Ç¸y¸ì’|ýp©Õ£º{5ŠÐgÉáŽzsf.ÀfŸù‰YîÈ+ƶ-RNØœ¯bvW&¡þ ¸ }Ux/²Ä¤÷z/]FOlš”@ÊÓ‹<zf÷ ±Gì6ÆB¡+ogq/¤¥#öUX®ÿ ýáWö`húŸ¦? æÓȲJ‰Þ<"UŠ7ã-yÓ˜°_¥Såw æ?†ODØâqü‡³+Ñ`‰Î €9ä‡ý4ÁÌ‘ÒH¿íœÙvFó(¯]”ÌÆ¤;d ËÑŸdŒ/°`t?ßÅĬ2LvÝeS!£\%+ÖÇ}âJ¯%JxŸX‡þïý²¢÷ =÷f™Díà•'Sy@×cÄ@yw,§p†ŒäåQÁ7⛡¶¥âa»O•²PŽþü¡ˆßh6µ†uä~Qü70Ò¯Þ~áÊɆ¸  î:ù%W–ލgö3µAZuú¼ c÷¤œÒñJFYiœßµyóQ¾Ý“vq71s$E@w¡þ\ªCÙ†[׺ß<üpùï‚4NÍ&_ÌçËM‹päûïó8C5>è› "¼\ ŸüøÚAë¿"Nñ-Ñ&qŽžŽá·¾ÃTðeðfÐk/üþ0Rà‡Ò&K=”2ªKu4W•Ç´¯¼—hoïf¡Òà@!£SòM‘0]Õ h×7-z3ŒÐò{Ò¤U”à°îÉ­6LîôŽ‘æ5ÍêóP/¡’HÕÊúí¡¾!üoÊø©¢­6’(ª»PõáÂ_: ò'À£³ðV¹I{°¿ð•@›FYÚ„ðNÆÇ6™%ÙüU-ϘŽJµZ£ •yœÖ˜éè¨-=æñä¦â…Ñž<Å?¯¬7^…i‹ø¾N‰ä¯÷`?:"ö¦ËKñwƒâ“»2Lnœ1ÄH«à_¬Xþ64CIwê°ñ2–F¥$N}e¥Ö5àPórx„¤;¼Ðn1r´Ó³Ú³,R@Õ~7pa3aP¦Žæû™1þÆýÚo\? á›-Aþ%«W#ºÍr?Ö]ËÞ­¼ ۈňŸŸÄJN¤òãç¥7²(ÂX]÷V*¼·¬ãZ"G0FºSo2+Hq£¿(ÐäŸEÉÝNŒ-oØ;á$Åš.Þ÷•ù©@iU¬l úõœôŠÃeŒû HO5;zL­OwŸ-\B ÓSñŸ>Wç¨áó £Å0w\‘äLVf¤o«`Ì·xÀ*yîi½ÆÉƒ!f?QÑéŒÉ ˜&5 @@ýÇ/—*ã+Ç©u4øûŒ úŸƒ·ˆ¨2üÍ#¿‘(  .K­‹ðYCÒUEÞ×:'_@#ÝÉ[m:5tDŠË% Sû®ŠÀ ³‚Ħ*cŸ¸z{išœ¬´et‰‘ª¾îP~ÎÂgP²^†þî5:ßþé|ƒµ%§ Cô£$Fx£Nçv匒âáAÀ×ûNKãÙ¬œ´Ò¦éŽ®®ÞŸ®Ã ¿Ò{¨üȼåf°®I±œÛ¹ñŒÏM1ùe•À=^¶'˜‘Ôc˜G““{UŠ4/†"F0˜³m±i,ežúï¡í݃h²v¦zX‘}WðY¿(¾Õ©£ónÙÏp®…æ¢tY­«22bà f«-7^¨DY P”§'Š÷ˆÁ§µ¾‰¼z‰¬©0Tˆ±j]v˜ðÖŠ3gA@óÝÀ˜ö¬pvy9Ñã 6ÎÅq Ò5J»î O•Tö|¯Àø1Жý¯¦¶Sμü'y8F/Ji©Y¾ý$)ˆœ’#Œ“uCïÑUXÞ+5Ü_¦°Àƒwâyf™Ü@ìDÇû¨8Çž5»g,PÅø§HO#Å"?s†hËjNå÷å½z£‘\f&ä]fON¦¡ƒkzÅ€srå¤u—ë÷ê™h1ÍðúÿŸ$7£-bgrg5ìQ=“¢qWëÄšoïŸ`K–¦1HJL³¢•ý,怼ÒK”º¦e¯V:fQy„5kØr³Ð-ZSãw-ØÚ©ég̲–ÖuÂäqÇ Çé²È/´üõÐÄu¶3fÖ-±´Æ§T@i:µ™l ¼ÿ±È¯-‚À9u@×*`.<•¤ÆŒJxŸ´ìË– >ÅÓ³øL&ײ›ÅÉXq’,™(<|<ß™àOMNµvn»xú-f þ…Lô :­¯L3ƾ}BêFa%¼O̽u<‹×ÙP˜š©ãljYÜÖ˜ÊÃ$䤘¬3M1cÂ^Ží´dÝÏÌn£íK?÷Q¡¶o#àÄÿë¦ìߨÒ«Á&øoT” ÀÀÁÚìŽ0*Ÿ¾d¹¥pÌG=TÙ$‡‹'þ#“¹†‡<ýÖ"ž6%˜xcð€-Þ"“  `pé# ]f#:ÉÎÊÝ&Ãw8’Kš+ŸY„]± MA[º5àpÁÓjÐE~ ¶‹! »ßx8ûåÐ÷1ÉÏÄ9ž³¶|æ~n”ì^ó†Ø`¬hÂù‘ŽÌu~„>’Qj\3íŸ`JµK­‰|]Äú#ÖåìSa?-¡ äŒ1|Z?!ò&Â-=A‚òa‚}¦=#âMâqë逕þ4£ýâ‚©½X0dB®ž7œÐÃå&¢:‰àþÈ: ÍB+£ÓËÎJ˜².FýŒV®Cä Ö»õ;5OɬÎþ¾Í°ªDS[œÜ)rçZùl!ÔÃéùˆäÕ/ÊÅ ú^Eç‘O ˆ×cšØ[,2©Nþ4šhóŸòuˆyšcÌL¢Õ)í1”gû@ÆGNÿ²¦ù LF•ƒëžfá½8‘² gÓ›0ÓÞ3[ªÖ¬ ícÇ ]€.‡þ^¹ÅÚ_8ÿ!‡Sá+BcïÝwAýƒ¥n—Ï@öýŠc_íØ¬°Ä ‹»Ø½ìdÉ_£ œË•9chØbë¦æGˆFǹê5»´Ä€Ð¾­ŠÓ›€,uŒZš^DkÛÓàž #pJ²t–Õáôùo¸:Iª\œ«& J%íATÈ]ްoN‰8ͲæBÖñ•¯VÔP¬õ.‰D®%bU}•­²Ðäiï—ÓS¡YÐ/ÙÕGÕ[‡„ìd;º/ñtoA7=ú7£nn3οÀˆ‰ýE^Ù ,äß¼ÓKšû—~¤OüÊk,mL×…‹Î­Í?~2ð|ÒEð2*øº×Îû¶½R\ƒ–VR߇»ÓüÎ?ÔF{þ#uáîíEài\^˜Ã¶ÀûÌ!ãðXÿ­ó¿Íš\Œ(”ü² xv "OÐY¦foc’ðÖN-¹" X”Ý¿ÓÊ{êö&‚]ÉŽ¨¥_%)Ñ#K @¦òBtÅ}ÙÞI“C;»Dø–ì4¤Â"[䉎qí|Õ;§…sû²$D`£×±¦˜˜µMð4úÿý4cùÀèÉa²Ž\ˆqwíïF<8£Û˜JiLB\®8:¨•ú„xoðU¤'¿-'ðW‘dÜ,ï»fV%Ñœá¾FáòÖ^¤M‚¤Í%ÝÕÊ|^QLyÁI–ʨ Óù)b×Q`v¡©BÈ0ÈÞ  _E›16Õ78®Òúê«V·Åþ?üwx´fà–ĸT ãuŸ¸}³”)šéLÖ¶ÏW9èú*MÜBø¶¼×Ûbƒ–¤0Ñ’MVWe¤öÌwËØ;¶ÜQEó.–¾}Ë?ƒ^^{¸¿Üs÷¥áB+Äx7ªm eõY¨†ËñÃò`lËËK ÃAßb–w‡^ÚµQ‘=uR½šùöݸ6ŸâqVÖœ›nb^ƒPLb]m=ÉÉz8ÈõÑ}cŠÔüÌ<_•Ùbè/Þëô°Ib/^Ë$ÝCˆO«¦^ &íœgª'3í: ïd‰àxŽ^Ú­jd tG?ï»òopeÖBy¥¨î(¨ИêìyëË­}Œ_«7³©ÔEf²åšŽV9â/ ÃãHH²ÖJBÊŸdcÀÄ:âb¬ðL¦W4 ¡ëI`díYò9í9þ·”°a ,”cªvèµ}g`ÝvƒD¥.Ëö¡'. ›T%¼‘ÜE}Àî‚Ç€éQex…œA­îomóœÃϪÞ^¨¦içpéoV•#¬ìÿ„nPå ˆ~cpÙK:š¥µœXÈxidP>x“Q”º~¡@Á»:I1ÃYÛå½”F'#Í µ.…®þ¥_DJ‚½p^ÆÑ¿'S ê`™6EAlTº¢þbQÈD|Xöé·ÙA•;ÀíqFûáΟ°+à‰Rs nB¨¿<Ñb€ñ÷×S×ˤ_öû ŒQPœ0:Ë%p3á=”C(Ô¯Þc ¸ oèàF›;„&üÁá~79!Dd:½1¿‡1Eö!n%nm 9Á¸“i÷íùŸ®-WlllŠ%nôêiv0]€žœ>m­Ö»$H£G'X5ó¥å‹suÅË[Õ.˜ÄÓ]ð¤IÌÉK†,Pø?åÀX\¹ (+©"zYÐÊõãÙzŸ5p[7ÿ#R:u° ·¬•"ndnBƒÄT¬ ‘qîE["È!"ÏM¯†«vDû¡þÃþ ªßYCPd*©ãz¡_P¿³)qTG®KFŸ %Æ}G¯ÜVDHÈ PôÅ´¸0@rè0Ä)Ó|3VÊÌ»'Ðâš7S¸ætì tê˜ï×FASذ¼™¶ž'Dúö‡öï«æ@˜Ò¢MTÐ?&·dê舸³NllÜm` Ãzèa)o> ÉœDa|Û‹›j˜FT·/„þ—Õð*ß{;Ô}NÅßÒçIZ(íN3õtæ`>«á(ó[ûåÛó{@3LóO¼O”‹äü @Í{‹#]lŠñ`AIÅ[-)j0ê˜ú¦ÔR9c&^ý¡wœ”³ÃwÄ໪Àe`ÇmKLçE£«÷[.ÝQâ“øhŒÑó>Ì÷<ˆp›lÅ,Æžò{«î uS®¶Á:ü„–Àiµçξå+žÍ½Îäu´GÂo{Ãä%ØH‚½iÞÏ2Õ4±Jà--”GDX3 Êò–À –;hÖ¦fÝ»´lJ²ð8H”,ŒWÿPØÊâ\!¨ãq6šO¡ Û +Ò6újtT»¼ù^Ó&´öE_õŽ!_W`Ó®æÂl1j14\†aSÌš;åUíAËfˆ0bÇi…Ïo2±LHèH=øßþ½÷ ¡w_2îŽÑËô'º£Ï›~Ž-ÚZwþê±fÎjN·ú¹á¬ÉÉݻ݇„k8Ó%¦|Ì;¸à)ÜÄÿ•ç¦óÁj&$¤ºí–fm+šˆ™ð@1žÝ¨2 Kþ‡öÞ‘Ç­I8™•±*ªõG±Bæt;v‹áÀøž#Ï•Ëùx;9ÉvGÄ O-8š½ä&pL| jž[‰å~®…&†ßú©À²E-1¬ùgÜøÕPüòÑù¯¡YÜÝДd´Û÷ í›b­ù [`Ÿ·E_šè@("‰11çëÁñ˜Í&=Й çÕ²„¿C71.tRc<‚Ϙw´×— ‚­ftdüMÜíb_ÿ䇿=ܱœ\ÚPî¸ß.äfj¨À§®± ~|@õ …*GB«d¿œ±/êVH^‹Öÿή°­ï!Ü.ªŒ+¥æWG·»ÑI×F¹m¡É±n?Ø¥^¢˜'p,!LT*°T`guÖ¬®¥…úJBI¸´^WôÌ•âE' Kë”’{/ÕœŽ·ÿ¯9pyºåÝ—[È—¶£i+*ËT‘¸®ÕÏÃp¥  1d&Å ±hÌŠÀͦÕ`HÁà«“ >‡üDl×Xª(¿<_Ñ Qy˜>çˆÖKtûëŸÇ”$õæUž`¹)S$a5žêþõS8¢m‡ê™qÛÇLèÎLŸ«û/@Cí§²÷žÇú€a'zOÊ 0@1€ÝÛèü2Œ¾Ù»dÃþÙ‚‹!Dã!_ÛÂê'Z[Ì´|D®m6gÛùõKHL5K~]|SHy*Sª­aZøuIôÑg‰Öäk<ƒ׋@WQn'½ÛÕ3kå„Ïüæâ·`[­…T†JêÜéüálˆ\•‰`®Ð?{ºâJš>…îžI7špár±¬V]Çq#þ}ÎßF¤mátòßÄ~"Ð˘òû‰œ»Â‡Z·øÿyJ*¢Úï3æ„^ûê‹5ßgJ歹- ›Y7LŸÜ¢Ä›=Ù¼*Ph¥³–æ)–›Ì¹EùòmÁÒ|HNªV¶³;Pbˆ·kPTáMr¢óº'­˜rúȦFLÙEÖõÀ˜à þKF/Ô¹­“FêoØ£˜>ä×›œ;äaØ{dªW‰Ú´ª }õþ¡Eü1ÇŒ´óº#-o^všµ‰ÁךòwA• /šξ ϤæEVÀÀéA§@µd ƒôt^ôƒ2bcF˜,Êps@¸_uŒ×Θ<Š:~m6ä^7‰.5  g2³Íw†à³uלåa k¨Ðïó¦‘÷Ìq´O½Û¶ßؤ`Ð-OË9Ñ~W̽^†€H(ê!ËšBc-A1 •´KeËQ»Cæ.0¨Äñ&"XDtœ¯YzÜ8Öຘ†L`UgYôh÷Û7MÔúülxù±Q˜ãÄZúVn̶¤‹Ðâ)­Îú®Ü-ëÜÅ +èËJm… ä¶Øx˜Qn"_yõ^ü"Ä|݆¤‚%ÓH0¹ÃÓ(´á)æ¼Îxá“J癬0®—?¯]6¹ÇŸï®=͉UáÌ6H q4´Ènƒ†íøü á)üvxÃlN0§(‰•ŧA*àЪPå}] ±à}˜óê“~ìg‰ú±}…z ò¿†5Œ‘/0‹˜íMéw«î±¯ví–){-z4É; Nî0N’<§"mÆŸæ`oAŇ)w®wƒ¯|ôžöJý|% æ—%¡ÙÚ9Ì¡9ë]·&®{™AÄeŒ,Ë+¶a&EB5~k Í—–{HÆsì[:÷åi#I•U1öîgö‰ŒÞ"ôÌæY1 ‡%)÷p^îçÔù¼Ô#î±Çz“þ¨¥‡1CK^2r4kËvÒ|CAëÂÓXÇo`¬ KÚ(!e’ç¥4þêŸ*6Ž=¥;Ûz°u Qí9hšŒéÜ7W~ _Ua|T‰"JmFŽÅô167ÌÜ‹ÇûÔøÂ—ý:h{ðì¥m•õ-ÍÜÆq³ÿž½‘¬!ƒ¾¤ºÄ‹éh¬ìßMï¨P¢'=G.ø`á\î*•ë·x¸T°ÊNýYöb@„ÓqÝ™œÅF'%{-3ÂúŠ‚P0òÁˆR…ÐÆã#æâ1$ʸó¹1]@À2:~” ‰ß*M ˆó]×ÎažÂË×kuÁcµï=à¡!Цþ›—íê—:Ôì{7Ìò ìuʈ D(˜c–çs¥ÓRhžf¿LF[8­Ï¡~AÉžUf&÷O´3(^b6— ¥õ”A}¡­[1÷î<ó Ú@¼ï}i7 Ú†$°æB£€`ò6–|—ô¬þ&k;·½™xº;¬>êo RøŠÇc©†ÛsRK©{âZ·Yà—(«Pj‹¶”[u ¤à­9óV*•˜ ®tY~%|.T*¾BRD/=;IUõhv O–¿Tê…m‹ªŠº!³ _bÓÐ4u*SyÅkŠ^&4XhØ» *`*{NpÒõ謗Ñ¿^£¦xçJTb c|û=‰Ó/Ì'dÇÝ”!Lõj_ŒÓ³]Py*ØPÏ/ŒHÞ–ï­&·M&‰mWÖ¯’~XËlù '¦KUun«"V#xèJß~½HØæD’8‡Ik£Ñs£¡*›5Ä‚c©„d©à¡|»òKrñ PiíX¥Å£êVµ› ï ç8VöœË8!ib&°‹¾¹ì‹ÊÀØ™~[â_Ð ·ºˆÍ"ZýZÇØÛeO:\Ü<ò/d‹=Å£ëÊæµz¶KTåÒ͸¶MX|º¬C¼_¸XÀ€ÕÏÁ¢{>ˆ,9 ÇÝÅwϤb¼+` šþ…aÓ+Ttà7C· ÿ?K #ТkÊZ¯•-έ&üÌ3„ )`Ùö¨Câ¼c¨¬<ñëWD¬‚þ}W$†AÕÅæ~øÀ–`›ÙºÈäD Ä…Ëk` Ƴa˜Zy·0§@ùê±L%)È$7P|V±c^”ÇèI;±ø#·o–àá’sêòpƒBQ‡+ð‰Ê ¨¼â®ìúZÿ™y }C_«R¦Ñ ãí žŒÀ#W¹85 ÚáSBÝ5ÏŸ: ˜g%(erð&§L¡|ŠÌ°zÏ|mú¹Þ?]ê®Ë*9>µÀ!$®úÖßRl"!¶¯â’#¿gšajÌ Á9ûÐ ˜Rínô«áe$Ò2ǧžû3˜|£ÅHtÕ²wGå’P°Å50jäGÔÈ®i6ê"nüõ÷]×åÄî@ ÝØ1‹Ã½6F°Ðç•›;´3[?¤oôFÔµ1U)µt&°qô—÷Ê•Mõ-9ÍbŒÇš 4j¡Ê¥Ôãqá"»|\š° 8¹Oç×,¡›j¤}òìÞÂY\ wb(mFãšÀ]$F£,®÷ÓRɵ^@hÀ(Œ ͦ©á)7(²1ÙÍBG:¨L‹(#çǵ8aQ¹4”"½p§)C,ÈùÌË__·jŒ_ƒl}Î^k=ÙŸ) 8:ƒÐ-}µÆöê r¡ÛÔ!÷)ávóe5) J—uZZšm]üÛ—€Ð(—±œ¯q¤ÚÇE.‡n+ƽœ¢‰Ô~"Tp6õH–…7DC§JÆôÛ_LÀIœB»E7¹`ZʧØ4Ga¢½ŠÙ_[=Q$se— >Nõ(BJFóôµ«c6×Õ4,-= àyÈ™õRä²8>½W½Eá‹«*)—3õÌAÀð?öônqГñɽÕó›´™Œé9¤çY¼PŽä3r£evpxÃ/‘ñÞã“Ô´~C]Sn+vŠôW=_ôåâI•­¥LHOáQ¤×$†+´ßιЌc%úLj£ÐÑ–þ­Øbø(óA‹ Š®`ìÃ~Ùº,‡Í*úx2~롯ɒFm%ñ©÷ÇÝfŒ`h†âÆÑqL¿òtÇ_H·i®<`ŒuF!¥¤¾ËƒÿUÚE½zi²Íh¨õ=Oq2æˆ<^ÞÚñÌO=–'úÚ€œEß¾LRÔyÅ:pølÀTµ5Ÿ“q˜YDlÿ¡¤õLÀØòDZ- ®.AEåÄÿ8ž‚ÏTF[uИ´3Tkz˜oF:³,©VÝ3«Ô¹Z†-$õýáxÏ·ËŠ›‰Ô Ñ\ÙtBÇÃyb¡&£Y˜;yJ8-ß^9äÅÚ~C>ƒdˆKrj*Ëãá(Š öAü›þ™7qŽFQ7Þßl~ñó‡2d4ƽÔ8öÅ"F^w+ÿxŸÁo‡!)Ž,Iòl„·(|@Dz»làSËl™g›ŠÈg{:o~©€ÁlˆÂ5-´À iÞÆ !”Ø™“wÌaŃ˜ÍˆŸ2FFnð™+¬u™†FѸ:@”B«ûš+yÖþ®L»Ø•m©ãqš@•Ó:S:Ê’<ƒ˜ê-ñ²û…FAˆ95'? eâb‘cdCŸ^¼Ýã,±Hdl5þ¡t¨ÕÕpPúÍzƒ]|5@ ³è/¯¹²Ð`}¸; ºÆ÷دÓ[¯+ƒo{,¾ÔkûY³e“íÔìܼ‡=ÖæÀ¶äi¯!*%8L¡ÆÙ¦‡1äò„¿VsPvPü±í"ηýÕÍQ˜ikg8ÿkËå´ ê$๠s¤$ …Ž÷Š(ͼÙ|úÑÔÂýOù]ñ5áe… g-› –èU¨iá#’ã›ÄðeZR~69Á¦aœ›NÆ~][™#Ö9œs…˜ÚøNNç>¤*· -¸B}O‰T ¿-ä¿‚"„“«ZOFÜEƨÑl5h¢åx@ØÝöE«ö÷X’÷>®‹çVXÜbgÐ;g˜GWN’žÑ}j“†Ã”ûïîéGÕ1\A3ã)Œévh»˜bHoåÙiÞ* î=7p^âèq™$‹nëž(ïùm0œ™©Z× Fôe•+ÂÂgk™ ßx—ëÉQçIŽïß%,Æ ,,ÚÉhh”S¨ƒ {ºñYý¸ûx¥$Ÿí‚ªâm)m#pÞYuª3ÂdH“ð†l.OgݵÞâc)p‚=r@:õß;\BÕÌÍýÀšãÈç/Þ"Þ"}ÎGÚÕáí…‡Z_] äÌõ¸>ˆ÷Àº˜wË>K톄ҼXCü 1õòÍÙPDzÍóI×€JãÐIDR¥T‰áõ6^ŠM*%ktºÈÄ Ðy¤õM|D§{<—î¤qfbOòÞ1*ïŽ*I—KŸ`à*ª0wV],) iSF»Iùý*mÌKzØ9ë÷\váÎÎbÿ¿Ç¥”óDõô7Íceƒ HÑèKÁ ‰a[’)à’C3›ñké'ºjM/¬k29ë—·W…ÅP¦³X¯¶â<­4*ÝlG{4ÅÂo+­¤ ¥ÃiÖj®5¯Bº¬E÷Ì\^hLsÍ$„ãMüa2Ú‘´<ïËGN°ÜÀe’y K¾[é¾E‡8Ìxw™Ì»¯#·Æ§>c¦Ÿì;tYîimÎá4tåïäpS“Ž,‡Òá_òfÄ’AÙ%4/ȬâÍ~F¦Êås ³ôi¿aQšË”§†«X¶&ÁhžAüñù{NI¡ü2½'Då+mý~1ÝŒ½iŒ§+çÅCIã[èû’  eSþ¿ª‡ÝÞw¾ƒG¦Mdgı1“ó¸ëÚ3òù+õÏ7HþªÂd†–4‡'é®Å…qH^&ÔØÛ*DÇL¶¡§³Wµö»×‘^<yúضÇ5¥4ŒÑÕE½p'ü|„ú,ÜggwwÏyÔLµdu$!ÔºôJˆ§Ðç ³Áo{ë²)…ÏáGEjÐt¥M$Ew@oÛ«®íñéñ+ n¿7!ÏêûÂ8]Lž]¾â‚ðœ‰eÃ-²3ð4^U#bw:;†±åû¼XØ[áãðåõ­I¸Jj|™ÊFÚƒ&@4Û#4ƒÏº^?¤×€ÞîÅ[ÆÿÙ2F>À!©qÍ.&˜™€ÒKüM5ó%T…"¾Dªü();Fh6ÑêLÖ×Ïï<ÂXM8“t¸–m¬?þ7Æã©'®Ý"Ô–²¶«znPY§9}íEÝëS è€B7˜‹7Ãr³bRø©è1áã©ñMŠÛL©k.n\úG:ý¸ËgêäÅšºÁÏõäU•0@O¨³ÜÇieUx T[TFûŒÚË#pfê@ï^*²Yk2ôµ¸Œã:øNªª¿ÃpÄüC !n¢åßD£xF’ÞÊ«?îI­É`Qÿ°¿_j„·–˜]5lÖÜ U¬ÙSá8_S%D­`³ˆ%]˜ƒÂ.‚£ˆ`}>Íö3RBò\âbN’Ïx\,R= ¶ÍÕ­t ÄM¢øwõ¿ÆíU›–’c޷õYÎéJ[Ï+i¹ “©êFsû}öVÀø7Œäá¬z̲g!JB±`«ù|Èc¬ÛÏ´{¬KrM),í ^ŸxjóJD¸ "¦¨Ë#+°ë†ÀD´f° ´^¬GÏÿ¯@eE¹Û‹R †ËÅèŠ0úc-‰¥ÎâèVȯ uÄ­¾†*öwÝ–¤TˆP>d¼˜8Qmf¿7½8׬œ‘ægmZîzs¥8†23lØ“h”dˆ:bÛ{޾#A–?iZÙpÏäØÂ¨"‘+ðÿÞÁÉt·ÖÏ'! ]‹xû#0ö¯gGïø¹$ˆ[¸–Óý/l¤ÐžZì'ÖðáRÏJˆ- •þÕ•R¦æCÉ÷³ž§_v**!ÔýºHuš˜EºÊ¦ ~îy`1Ÿ_˜Í)Þë«üa{\óš«6[BÑmòSJ ëSëà*†WÀI¤pŸV*X÷·ôK·Î¤õ½;$2×ÇÇ¥R A̪ͤœ ­ ê݃@[Q–ØÍô‹ÅõÜÁ˜bƒõL´™ëAKG—Ng¢ü KPq *ËüVuî¾Br¹mþ{1x'Ö…²õÓ "zÇ[ÞíCƒôŽî…ýª¼ùj—•[¢£ìm*ö»Ý¿¥Ô13—ŸANexÎþÒݶH_4J©ú|e@ˆød¶!Ûk³ÀvÊÎU ˜™¬÷Ö.l¨GÒ ¢Q`w˜3ÁÈ2‚“,™ö$7!= Ù–±¡B¤B‡ 'ÿ¶`¤¸z§ž+S9IÑ^Öc¶o¤ø©Pãª#€†œÈîšZàaoT+!Ò©Œö½³#ÿIj$:Ñѧ£sï'§ýuzsA&lHbÿ—‡?'Œü>“?=+ÜrbMÖÞð’KéÊzIŒêñ—ÎGqp9Ív~ÝB?[UªùÎ;4*h‘¶_FÒf ˆÑ-fÏk¬(ˆmbØxÖ%ßááÃ@é–eQ’,±›€¤«­•¦Áº2+¿ s™a5ÑX0,6ؼ•ÏД0ŸbÖRí}Ï;Ñå8X­¼oݳ‚3Y=ÅÅ.  d4 Š3uzÔYÙlM¦îдÇ\Ùyþ•âf @}Aò(¬+ø2 Ïa˜n:È×~/ê/ëqšÒÇa¿ïªA ZÒëz˸téø_:Ž[ÀG ÚƒLçòrË2´Ås³NÑ×ntß;Љ܆V 2‚æò- ûˆâ!ãk­y¥ï’¤z=>ÂŽò–[uU ®ƒóZoD¹_c/Û铃¯äáwÑXöyèéÐt±¤±‚,gnkƒAû¼ªüÜCo)Š3²1,ñÂŽÅF!$þ°ºŠ, ýòÀÛ wÜNa×zKõžœ÷˜¿;édb.Ÿ®¡ öwvØÆš¹/£¡z =“ýº4ÀÄ j(¹3§zD; å7´º—ð2ÐX³J¶¼dt0ót;/Ô§‚Ù›ñ„Û¡ðg:ÜåÄȆd›žæ:»R^hçxÍO¸Žb4pI¸ê'îŽ)Ôà‚¸¸(>éã!+Ø›k÷\‘ÛͰ–‹tÝãíãüÐ6äŠh¹ç=¡§(J‰•5ФЇ5…ÜŒ†Ë­è›Q¦´u ¬QÙÜf~aÌ›¬²#›óÐ?>G.78 ’ö›9ÙÓIÃÊs×ë!ñÙ1)ÓûÅ‹2 ` lž`Çþ«3hÆ'àÈÐaKÅeÏ…DΨH€¤à©‘²qþ¥ûŠ«|xL‹y§{*vNÛ#É*kQ5JSŽÚ~Ï“:µïï]çÛ¦bÌ÷ó ê%ŽåÖ¬Q¤ù/¸%có.KGÎklFGoÐŽKÚ ÙÈtæÔî¯Þ{żB_ñ|¸øØD\ï¼)A}íjeµÂ0s¾Æ¬µ"vÿ%›Øí&ï9ߨŠq;¿†­02Èqrv’—§õM‡LñOdâ&b¾–8)tMSlâ×Z‚(­,vçÊʬêÈ“§úÆÖÔò_HkUOXwR¾õ!Úä=àwòëÌŸyÇIEÏLë®YAÈÿ炘mÁæaç׸«=ÙNYoô56p”ÏC‘ýÚa$ÊÅ„[|ßéñf P•˜‡ødäɹ±Üê—ò²páp:£L›óXUFâì&/  ª£fK|·CtCh”=Q´Ž{£šÆ‚ 6'CH´H…Gm¶Nö*ÚŒ’Fqxà½XÍ Ú*uXÕÌtäÌûÿå"t¹öø××ËaÚîsóíÏ7Iº?~67 Nêsjª´õ•ÒÀËB#9XK¦5ÄrÈô^Õº†GÆ,LˆMG¤êó£6º>8@X© þ,òR žHÏð™‡á˹øJϒΧãÚ Žü/¥jqäh W^vQ¼ïŸò¼úmÐÒû„,’l™XäØÌM= Œão…çli*åƒóúºs†¸œ–;]Æá'û9ñ ´µuXL+o‚%vY×Tƒ å*sg Xð­c,3ɰñ]{V ,w»W- Ù9@å°œ„㼆1e)ÿ·Í’')âsÂï6L³S¼%_fy}IJTÝFË,úv³Å n|jÄG¥èÓ,3ìzžÕG»=†ôx‚†Ô¾–rHýý¬©°l/'îïÓ²¾OZ˪ÛQZ~ÚÕSå£12LR`?˜u[Ž9XÇjŒ½ ÂZÊ9ÑZ˜EöüCŒ!id£eŠÓJd8ýâÁsf„y[´[וß;¯sCôl µ‰’šrá¹Ôß×ÊÆä±›8ÌÒøõ·V[õjhÅ7Š>ÞÝò7Y!+DM¡á4D@ìÂ7cÀ¼R^ßnY ½fù7’ÐAw9œQ¥sè]ê'£úÌÆ|1EÂz)NË8˜QOö€ªy`®3æþ¬MÂC*$ˆrÚÃÒk⪞IÄ2òÇ{gýj¥óŠn‘»ˆœÿI©Z}¬Àkë'û,¬ Ó6t¬ŠÀnòÑó¤g>zGùÖhçs0m.D«2‘*mn /°Ì×#ÈܹTjJДq›a±eç)‚ 5y‘ôÛÈ­”òè³<©Å_½eã!5ŠÙï (c3‡È&(¦ÓSx$:Ǿ(AìNíÉk|¥pïÈè Ú~ ŒÎRnÂiÁ¼mÀ‹¾ ˆn™DU›™h“5ºó;­„#˜,!ýÆO){>%¥šè—7ÑÏ‹žH¸·µÌkŸa•9JíØû†*Z£p`YôÁx‰ÇW÷‹xõøMRGÕ¶ËBJ‹è“íC;ßÉ蟻\–`´³EŠõcŒ7CQ§Ë³uí0áɾST7g‚aM;‘;r\„vÊ |T½Nâ”ùÎD(ÍÄó ºÔ!k\DfÔ¬¥¦yé[†¡ °{¥ü$¿:HPl•Ì}`C­yW¼Mm^FÒÄrXŒ¶»›ÞR­TµÌ$Þã?Ô>™=ê[µQ¦Qv;«Ea*q“LÝåPWøÅ:Ž÷ÑÞâÞ9à¡  spõ© ’Í^{ˆ`Q÷Žþ´7×å_¨‹sП+Ç#âÍ&ù™ß#OiIGk¯%+@ÈÄÃJšîøèÍÛ‹Lᯟ‘…ªO>[¸ýµ˜Sj’€¯vF5z¬†7Ž'ʹæÔ¾ƒo8¹¾ð«–눔²¨fä%åÈio[âÐ,Ôšå“ÍAªµ³dñ)FâÌÿ@ uü½^x5ŽHù5Šˆºx Ð7¢´²_v1]’œ²Ük_nÙ>¹ÄÛI—j¯ÌèR™#WÊ0&ý¶FÚC§CR5˜O¹Ú¸.Zÿ…¢7_Ê ‚ª SÊ ï;+¶'Îø¾ðm,–k‹ pj¯®;ÏX5}==¯a 2{×ÃÿøÓ¥¥åµªÈ8Ò©j \,íJA'~¼!-hMOË•N4bä&øjÍ]iœ&KKnWà÷ôºH"þHMQÝߺ†Ø€W ¡H˜-Lmop„H/9»p¡‹ùKÁ´T2|{Ýhñ¸›óIRÅ©S¬½.'”sC­‰f¹É¾ËK¬ò&uÝ:šw#Á#p e¸‡ ¨nµ}VKŒr~7æ¼>“l2ª`\"ŠjÎ}H°³03ÒÓ‹¶E¨RýÔåõˆä<3j:‘ÒÇ÷Ÿ‡çM6%8ÏõiÜf´š^£ñN…4 ÎØMþSz-{]g-£Óú×KÐû˜eTYHv2x•Ê ÷OÊ4<7‹(ô×´ÕJ[°˜ŠˆÑ#8ºlþG ¾ËÁè"•Û†³Ó„@+ÂöÞ´Z…³Éß±/@wùLW˜Ò2çäƒ'H»_*¢’ðrÕë6i2BbòZ³ é(«C€M¶B(I!¸ÍÁñ‘‰èAb —ãAÞaãQˆë¨ÊXè"w›”…ò¸ÚQjg}+«ŸúoMÈŸcxMdaî4Æs…b“ÝšXñCç«›.§¼[ÿ2ÃjU×°Ø6f£& `È^ù<ðƒõÑ%[ÌÌi‹GáĽ^Ná{êƒ;H1.ÓPÿ£Zþh9I¹’o”ÃÍ'@ÎT^_Zá(åü‚tËA½w‘JRã’9È")gëÀÛZ´–-l:?lLµ ‚àÅÃÚ“LÅøþìçšu€eYÂåéd CˆFÃq'ÿ¾¤JSÃmžUK¯æþ$îlC4ßP0Í®Pqe™p»CË'ï\ê -;84›ÿ™ã;Ö5ƒGa²ÞÀ )…¹¹­IsÑk͇xßT‹~Sàšö?T´¯Ý«‘#£Ûz˜˜ôÖ Â E‚ÖV™âvljeb93Då^%‹˜P3×ŲÒÇtŽÊÞPO¡ŠàwÆ1ŒÖÌÝÌàª(ÈT´7ENÐ.Ô¾„[¼ÛÛ®~‰õ؇–àòús5õŸ(ƒ»” ºä¼$Ê·¿SçV<ôº+þ€°ò6D]1Ù¢¹JDÍ¢Àž®Å`ú,ƒ­ÌL R%€×þPC(÷ÉO(È=à+ ò ?Ù“0®‰v=µî¦XFZXøäøYI‡MFø¥U4¹î\XH¦s¨üžÍJ@q ¶U‚™Œ´{ýK±Ý6HmònÍ’ö(W™Ú³á=ÂâWê7aaô”ŒŒj“ k1ýò]*’˜N_¶ñÓMÔšTôÕág®AÜisyLØ’áç¯JÈP#Ÿú ÿ¬#Êè~}檲ÕóÛ=œíV§fÂ…•Ñ=?o²ÉŸí-“…TÅýõ¹fªŸ-åêkj!¢£˜TºqÕ3kþL!‰{~SÄ Ü‰U ì©§µåì¤PbTÕ[Vš+^•½ ô @Ö\îѧiQ¥sÊ|ˆ¿´Ì]ú ŸÙïBƒWÊç ì•>±RåbJ¤•<)8¼4Õó'ü¿Æ–+ò½Í9Ç”Cš¶À`a£ÊÂÚ î­mP04=Ð?U¤›òÔ–È”RÒ!‚‚©ÊÍ5ñ¨Ý#Î+?åI o8oýOGƒ)פ=H\Þ.¹JãVï«M?ÅéøÒϯfHëñE~mÙa}îfÀÛ2{àÍAL½.%I))˜k‘©‡k³°Ì½úÞ×KDWMáaƒMhíé¤3²øp„Jª ÃT3-Ô¢êÐÏ8»•y¸<ÄÆ¥OÌPÑ|Á"¨{xÞ~¡‡¼ŽKEöÐÃ’dz$y®¨æ±øÚ­¿u¡uQèñµâüëúBn*¾^N³° Ý’DʨÏôRYµAZg‡¼ÐK“õª¾7«´º¡¯H/àE#¨Ú¯¹â)ÏŸú³Ã By0Qì`’*‰Ìʦ%,":­ )z·èÞßëF²¿[‰LÖMd«ÐŽæ!IVåy¼é  Ûç’J´Ó«Lrr~ëð„žZËF_:-»âX:;#d†H“Ƭ ÿK˜¥8ë§LcÀí7«þüæÆ¥îC¸ßó|‹Üb}owøåí¤ûHuÀ§læÌÖÁ*¬&â+Ç=̽ K¬·õ¼ _<Õ³—ÌÏu5é¶Ê-z)hMª!µª¾ãkä*nø?f#Ylj†åL$;ZüÅj™0ÆüQ°ødOº›õMŒ) å܉£†o+ ã×,“E©×yÒ¾YQÛFúªIÅ8’ÿù3¡.- IÃcïs¢ö¦+¸2 qêÉÑ®þvz—5k¿EܤŸˆH¦¾D÷‹Þ®uX/^v¾âù¦éí§¿Nß`\^lÜ—FBÇQ¶­:ÛUm„’µl;N{¬ÒÜ,RªÐx4bäL¬ýëÞM7Üéb‚ð伎B¬ªGäIÄÄã›f¬g84½Š¹Ü.QûÜ+¡%`˜Šï%ýÛ*³ßÿ0q3÷ÉyÞŠ"±_ ‚TŒh›¡Ø¥Èé$)à7@TæÙ£ÿê ˆþøMIÇÉì…vÃ#vHÙ¤BV Þ$bsäß΄'(|‡â"Ò›éãG»Ÿ;£kè—M'¾7̦dñme]]™ }4Q¦µŠ‡Åï{ÔŽê"ß§1hªO_ b­;VŸCžXüáv ç˜7“´ _:9y#t‰Çñ[þVt¢}+S±ON½¹™$ÀUo+NWåI2®© –¦$E7[ >ìÍ0÷“;_ȨšG/(¹}u´)ö\PÅö™ûÒ´×¾eÕ²ñ.u\!V—ÆѾ©ÕaÕƒTÃ1àIŠW—.ÆwÄ•g„LìbGU˜]`\”.©TZãH!•Rz÷þ)ŒGbs™Ê㳜«à¾šBÍ&/sö ns•¨™ÿ‚ôƒ7"-ò[™NÚÙï7-œØ†‚eî÷ßÄV 0²šñÓ)üunRþ,L… ÊþE÷KŸ3™+;žFÈ«9åiµæ=8=Ö§]¬½°Wê‰+òàUl÷I>ð߸±!>Œÿ³f\6W7îªIÎĦh%ÞÎéÆð–·ÀuSüÁ~8[úö-ΨÈ8òÁ"â@GTËãp˜I¥‘s&@0éçÕÿÀd£f•l¨lc¬èfªÈÀIe¶«Ä†¡ ½W(ch1æ.öYŸBz”`á`ºX5¤¤Ý‡ûlªF˜‰9¼õˆw‡IV H»QwÎÞÖáÎàÚ\—Èše›‚]Èý´îx¡›€&;E„£e|HÛ¡’þžþé LŒ-â7Ä$² rauÞéÙsÎå‡H¯¡¬ª…:°ã®x;Õ¬“ÿ“ô.Þœ*þ jU›* ªt„r¾b0Ï\GÂóRz½¢ý#¾§:ULÛÎM\ö"8ëP*ÄÎÌ‹y™g7ʹU÷CW|ù– îU™Ã%ô=x–W)ý©h¾ïN¸üëYÈ-´9 ëHd›¾Îà˜Q.-fè6À$úèºÞ•Àû04m ÊÎ@Â%‚«×2ŽRÆiN ê5R‡T>|¨€\^=äµ,q÷'n¶¾\Ê—­7/ñ¾…+‹êêѼCe”kvËœÃ5‰ÍÒ*âc®Ûò*„d¸bbÅ©„/´áKH¶†‘ô6²ô2Šr>ÓüPec²eD—9miõs^35ÐÅf¬±¬SÏVYë+”pt÷W’ƒ&¤‰ºÀ:KHÛ¡ º¯›´rˆÏÛŒõlµ· øw¡\³¢ªöHÉj›)ŠX˜âPÅã%Žû»a)Z„Ùzm¤8¾©Å\}ʬ°h# dž=KºÖœWÍ5ƒ­«S>ê{ÇÊZ2"ÓŠ¤q•áw+H9ç`ß™kY»Q?m3vkÜšN9ÅP ß…¯Æ|Rž¬×Р'~f{m]|É pòÑ%•Ù9—Æ™‚)è**´A±:Ùõh°ƒkÎBþ¸Ý})Áß«šô„ðBÈz¥æÂá‚ lÁ[ÆRcÕv‘ÅÔp ­•ªXF}ÞÊTq J¢¾·2¶6 Ó\ún¥aÁôC­«¶H¨á6©óåÜ1«äÆaƒ-=€FÆõ뺢T¢;ù¾éèšMš-Iûö™%¦Ë+ÍÏÇ£oâæ·“Ñ‘ÞÇîÄoþ~Ç|qgÊØ²ë™.¢ÑQ»¹Uó¸tS¬Ñiq\?çÃ?„ý‡¤ñoLÒxÛ:¥ˆòKÝ×n‚A·½f_Áº¦úØ<‘Y4Oæ‚h†õ,6ß Ï“âëj‰ž9ŽGªö 5åãFÚR´±vëUT€~Çvõ«h3#76µ9í©`eÏ?:ç åÝ* N%Ì1>¹‰2)"ÂsŸy¦5ª–¦«BT8"9àGˆ4á|ÛÙuTé] ´¡ cÂ…¡òÈâä: ©9úäÞÀŸ I,ívj@¡þs+hŠpÂÚÌk­óm°‚Ôg4y“ðtœ%ŽîBù[¹•½ '#£Bjéó¦—ˆÃQR1ôŒ\O╵ ×ýL¾yä=錎Ü;çàgŒ¯»!’þ ™ß¡Ó0§ô _ææEQ\‚ŒÍ.0ádœ'lœ·mk\9µð?ÇÂN$*Y%€û‰$j!}«@(]·²zp‚ýâç$ß^˜Êj\@`íÈŸÞéÈTºòï ¬ªÑØ2¾¸¶§–É•‰£¤÷ŒLŒ†Mºyþ¡ë°fŠÃ!–Æ/úb¾2³ëŒ‘kBj1±pUctm¢„㟴¼þa¸óDGíjõâ˜:=W¸´D#±Ê¥À`o/ä’Å¥ð¦.ܰÒ è•67‹|zj¯MØÍäC”dBúRt¡òÙQ?]Qb0)ˆÉÇmŠÄ€º®É*3¨ù¾Œô7vÐT¶Ùé4‹žjEø W–½ö?— ¾ê†½ú¾ú‚šõØ.ó4Wür Õ[3þéeØqOÅäQ[5ýym&S+ç!ž_”MŽ.HúÐ(f}ë… 1o?Y¨9K€ÓTwûÁ‡ˆ–À”†“¿Dbñs®€Œù£„K8«:™k¾xõ‹Ã$/‹ÐOü/•7h?nN¤@ä,à—&Sq·í?ˆè¸|`5¯µþVöË%ÉÚ#¢`ˆš 63C³½act¶Åû÷ºB%ÁGNIüÁºš•(*ÒÔw¿$Ù£¹ì¿qI¬—#|3Rë: wöˆJ»üPVžÀ¹æô?Ï!`øýõrÖ¤±é)þè&È…ÿYâŒJ"±/vq3™ÉÏ[oìÑꢕ–";Í8WTÅy2Ÿr$‚ÔðmˆMv¡DÅQLЙ§°«KG«¸Õy @ÌüÈŒ÷å_˜j˜M\ã2·ÅA³Ólcýÿ†cP±ÄãšIf•gþKDéK+qãP®J­c‘¡Å+µº[5œKÍšçàE‡‚ÎʘDÄ=ue½±2›ùåP¦2»¥M oIšË÷xèzHX“í6µfòÏ+ ØãÜЉ îIUÎcì€YP €ß®ÝA¯‹Å‘÷ö¶¤ÍÊ>FŽžÉ•Ãɨ¿Iˆ£oѬòØo)§±êø3 ”'48ªÑIV/Y¾²aö¼Änù)† ’]ÕTÕ$ÂS$ ˜å­ÜG¯Ö1-|¹Î°êW3"Õ |> Gè·Oª½¸½ãú‹¬½Q÷?p-"‘­#ؽdyFž‰^HŠDgípbÄí’ÁG;A…“žR‘ áð˜ ëqidúP^o¹‡"p¼“òÑæâÚS§®‚£Ü£ðu[‰! ÈêšGÑ}ß–uàëb¹¿& êªYi‡]Un©¾!4ù,ŠÁ8Z‡%–ç9Œ…¡ò+¸|žXøy…gø„u Ýëª[±àÐqÈ7@Y6y<ÔÃÒ±Êj/3gj­[& Ä"QäÇ߅Ϊ/$©ët¶ž§˜ßæ ˜xൺGþ,È|ZP”ÈÔÄÅ~;4Q¨í37ëÃëÕ?tŒs5â2ͧáBümÙ£tv³IŸö:Ó>öXé'ó#Ý{‹0<Á¢EÓ%ÉŠÇÛ›†"ò¾‰ð¡ â¦êãc¡ý¢S¶ ·?"ãvH˜ÛK@É:)5¸ÂvF ±ÌÉÜÚEí€&?Qû¶:‰ˆfì$´°™!¿„í@Î'ò'|Piá…Ëè–„¤ vèªÏ2ŒØÎõÈ .>Tã"»&™‡ç&cåˆ'Ç /Œï!0TNœmuÀ踼¨þVÒ2å*Q^d»+á³ùº`”MA“êß¹zaë÷ïc[Kê »=g0Œ®}yg¯Ð#½T<É9Úíéȇ5‘“±ô¯Ì‰>R{:ò~•³´Ì&$žªP¿n®8Ô»Ìh¾ÎË!§¿Q÷GNó–9¯!ÀÔ×+–Öj Dp…†á` °fe1·ûÙ¬ÿåj↳¦½¥£ýÍ"òÜ,kÏMe+œ—Nº òc[Ó¯ýÀ'€‰uì®öÔý—AbÛû|ÝÕ0§dÙ¨ º¼VT9ó\µœ%‡0bßg÷¹ª¾ãc?oP>4h7l}×qðòÊ<\ƒÄiùˆÍÑd5 ¤¯Âð$£ï€ÂáAÔÿ T_gŠ®% ò”Ëz‹´}„÷g d:y6HhÍ+IùXÀ"yÚJÁZT/¿ÍSæ;Œ Ò4)o¼Á$κ?  Œ}‹À2ÌùšW5Н,Ãh+ص¾ôçñÁÅ~òn9L 8Pb÷Ô n:f•~n„Âë×·Ê Ú3;† ôÅwr¶®iéXçlŸ™V…ugfpFTñòLò‚cô½ÖšROžµƒ‘äa#ȈýíÌõÁ¢óV:6øÊT°T÷C‰&] L¦¯¾û׿æˆéÉ/dõ€K3z:¡Tµ‚$+TKv;@T "/¿øŽŽ²ž¶6I¥¿[¨õ¿_”M«_Y ¦b€õ‰(U:µ€HEP/ªêÃf f €vþ¶´œÉï Wï\_wq;v3Èz%*‚kö0þôlhchÐ¥ïcMÀ÷=Ïþu4'¨"Z¯iiüÏ\½S™ç[çã BÊf>»ÚwœorA”X‹3N=¬_þa"ްçTöʃj¶º÷Í>µ.QPñ¬%íG”ÛmÆïƆPHÖº ã7:.îh€„‚zoÂÚÙAï(õ„ThæÂ¸¦{Öƒš‚ÿç%ÙF¬iÚ^h¬¾ìÚÅxE<Ñ¡dÌnŒöÜ †’zèš”H{Uú‰Ë=Ù. ¹=Áà1F¯óy¤Í’ŸN[À£úo:3écr©Yh¡Ù«öÒ,ÇW d½;<-Ìb‡M†¥´²Gª ¤…M‹Œ¨yX»žü¶‰ýÚºî8^á÷:¢ö<bºãiF¿Ü‰9»×Ç¡¡”ž> dt8lïÕ…dž`×w؃«Ð5=¶ò“§q`æ_³lb@â!®Â6'UÊ]óÚtéS˜6§-ηJçÛ¸¬^#p•Ÿ"(PB¨¿ýöПàlWgãvp"´±zÓ<5pH;toBJ±Gƒe‰t%«ü—)àc¿£¯é$I· yI’·¦F8}©U¾:ÑóÈñ=Õ€¥Qcd˜ÝU¹¦bá@+WsÂMÊÙ²·BÏpÂŽ$&ä`Ð6€ã죔¶™GŠí4Ò¥$¦¼ º@“¦ûñãC®jÛh2«]’#³ô´ÞÞÃ{?í ŠgC°vä8uîî¥fêcD™e袉eâ>¿ÝŒÔR_/YŒ¤–>väZº_7È¢Œ ¤ ¦ÏdV·ëÀòŠÿþ*vͺè3|SÀùIÁÛ §í€övò W/’N€†1NÒß!ÕOM DõtQê€C&Æ-c$ö#ð¥þøÜŽ]8´ý6WD9·Cbsg±Ómj”;¥—1*U9¹:ò!ŽÛ ëIG~X¡Î™_°DŒ+k µ yìp4í%ÝÞcUŠMÉjª$¯r?Of¡J·*î¥-ÚÊ!Æó<.”[¡‡KóW}€'KKÖ-¤Í±lþ«ÿµ^;ã¤ð•ÿsû½Ï¤ ‡ÎÝAÅÃã_¦‡$:yK’¶Ç¢2¦²PšcZšZ¨*sÞ®Ám9€$=žÄÓ½Ë$jÛÆÃxýãsÆè¬,ºØ›~˯„wÿY¸´˜ÛŽk,áEÀƒRÄòJ1Á' ¹*:ÑÿŠc?6Ÿ¨£×Ðæ£ B³ñzwiQ,¯C)îkV¦$¯^ËáÞiÙ Èkiå>íé7^W|!ûŸn¨ª§ÀŠCc+E‹jÍêƒç5ÕuÏÀÓ×5§xÛ_cfQü+ûjeï6uœË;©1ˆEµ„èÎß÷°æ#â15›âŸW‚p€–p ©C;ÝnEü«4ˆ‘šð¤õ ,ÿìÙhhÞÒúüõÇ£×™N‘ kyßý½þ ‹íÈÎø¥²9øëA¯ Èù+…?’÷ࣖ®O äÇÓ£ü‡"J×ò—–ò×g L}ǾÃv E…¢¯Ž¢õÝX-aH¦ÎYØŒÖåò… •$¦…´žÕÐN:®­|ö·õ}äI¦6,F~”¦<ƧłBBm,N›±j£Á_$…¼6ÅÇVÅ´øªãš¤q†zj¤Ôé?žeÙÉ ¿BüC¸Þ+D~A'#­¶Ñtš&í*ÖJ•¥¥¦0<»#¢.þR®ãßIò^¹A—{í„tJn•’qú ÖœO€5á͹º~ùÁPïA¨Eà×Å}æ¢e°W|’ª9GÔj—¡›NwB`Úo5~+]’‰X²A³ vjÝU¸Ñ3ç€Hq* @VЀÐ7Ðe´>vòçâh°ï÷¦c9%L ü•’³î$ä@Žˆ…Çp~¥ÝȆžW‰‰zûulˆD k$*¦Wç! ‚_ƒ–± Æ Þ3«a”Xž5ÝæñlûÏÃÜÞ°‡Ä: M(q1ï`òC-)—¤o¦¶aiú¡ƒ´ü|AÌMµÅ†#æÃJ¥LÖ]î¤]…m/a*Ðv=é&£ÛüT9÷õ@ü’ñ(-6ø˜¹X°Äëh¤‡­aR߯ê |qiòí8ü]Zæý•¥ìNÔ®¶7P—‘XŒæ[¾„qiËR‹·Erj’)ð½ðÛÀôñ{§%SSs¢”2–&»XUzñR8@Éߊ¦ÊD ·ìU²ìä8–}8Øâó¤a’¿€þ2ØbÎj/jÒbü¼ÌÚX\ž€zäBÁœsŒgÄ”–ÿMùDdŸ.„V¶*oÎÇ ô ;¯GT>PÎ'ŒVË/Âêõžzÿo×»·b—²õ ÄûȲÒãÞº8zL ѲfÕ¿É*>`Ç0Ýb$@ýàæÖ–µŒí0CmjÞ<¹bñ^ ÎzŸ`)  0Í”—~*¤°ò,°íü_üJUÑÂ]Ò øtÛìÉ Wü¸ýáI†çÝ}O¹€xÁë^ ê´¯„üúG‘B2eqŠü.Ôô¤.³rÊf[â9Å[›1N7¶KèÔíaÜ-Õ^¿u>–}ê=&_•ÑÞY§Ûý@€€}êïÙÜŽWÑáÜ}9U€ØÆ·Õ¡êêYêP@•W"iÚ 4LbØ,&ñ¸J%¢1›ÅÑÎëb–Ç^Îõ›F ’/…”mÎ5„½N…ù oÄ£ú  ü@‡Ý Ðh£ÑÚþúØ„ÃÈRÌëÃ¥®â`HL<ÌãZ³Íƒ³fÂ…Dk‡ì¶@ÖÕ¾Þ‹) H$i]úî­wmàÙ»0ߺ6œù¿|Õ”h3휺àFN)tàá¤Ñ @¶˜^ba§.…ª.€”¯ ;¨êQ¾ú_DSA!r‡#aÇX¦Ã2 ®Ó‡µjo¨ÞO‰â®^HTä€Mâ1ï2b÷м¥­Fñ¨©¼<‚a4© ‹Oòºjx;î=BÏêhNãú…b¬_Ÿ"Zg_óé&Þn±•óî]Etúv¦¢bïmÎùйfƒ$‰"[oìËâ<“Ó]JsÙvšC´áK€AœµV“I»må•p›Òf¬Ü Îñoç¢áÓúahÞc$@>hýÜýFè`Ë— P®(e;¡Â¬•¾Ù ?û–÷82ˆÈ÷V˜·ãQGÑy¼e«½apªD¸Va KÛÍ(uC1‹ŒéÇœ9Õèoe@ÃøC£Þ¸åÑMþ‹^~xðX6èÏiNõÙš“7tÊØ³¿à‚Xÿi‹ŸÞ¯)Þ|Eô“õ¹^ƒ*ÙÇ%œsÖ´ZTsC[ÿHíÈCò¡Ðú–ÁÜl‡«bwùÎrWq’ïá/þ1¨ÁSîiv·¸=yZ­<()5W"–ÔhP·[çmíµÕ²µX£!¦»½a”³5SXUŠðfõÕ6°`_A—¦ØêFã™ãEs Z 5olH8ñesá—Ò<Èe¼Š\§3e;×µÙÜå3!TûòFsoŒ—±I´Ë³ê‰Ò%y³r^NÓÃjÉe,+7ÕÒc¦à½ªio}üQ–¤Zk}§a?èŸ;ŽSsœŠÇ6:Î0eJ£HÃËÅykà["S#ïd†œ‡ÉÏWl1ÊI½GÚ€ð½Ï×džëeÏÀ}¼ÃÝ„£WÎú¥H"&õ>2j³f¿%ÚŽòþc×›8†:ëï·“ -Û}RÅŒˆ‚ïã*1^ ´Ðª›Hzqö>ïÄ1Øh˜T[WDˆ=¬<9NgëGvfu6„¶RM³. [ÿ ; ”åÍf‹æ7¬-Á~@ú>äŸÖÁ…‡CltPÒÝkí&ƯÊ`»ß^šmüž=Ñ^6)”#2’à¯ÆFZÔÆrA×Ò¦Pá®X Ü1µ¸<ò?hÖÐT*qíkãUöÃ-þ-Ün¸c/=e ?  u|+q¯×Ó®«¿ý4 AÀK¬(BGòÂ*·½wʶ’vB|v¬÷غÍ= sFgÆ:Á΄<º\®/)™'`!˜lˆ•y½"8èS8e ‰ÍãJ¸&W?ÿÊ¡úlÑᚎ#W gÚŠv8ÍOîj€+¡l ¼ÃË™ïÌxañ¶ÈcxÇÆÂH'4¯àìlðžå²ÐývçxŒå¸ŒfÓ{ˆÞþd^E`z(  ØCÊ' f2(ü+å^<¶ÆJ,’¡:‘ÊPÆÑ–<ÃÊù§ÇªØX=@棅©Ü¾%ËM[ ît,Øâ$zlôîB¡ÒNà‹Î¨h†Ø©Ï f¼*drVx擇Ük„aY«Õkô§-’-í àGijÂà&Naï†kûM~wW†)h϶T‹Ð't?Ž#ÀdÈ»Ò,¤‘®DæÒÖ¦L$€lê"ÐÄÖîQ’ÀU˜)•ãÝd'”‰5•ø¬Ôö‰õRA”WÀVì&ÐfnãTÌ/Ó³²'ûœx4޵$ñÔT†vX˸¥AÃ?Î`7=„óÜp|=¦ŸNdw{ÙÖ!ÿ—•Áºø­¯Áà««>ÌŒó2ÿˆ žšc?!²ej¸\9y´š‹5¢G“©ÇgZ=ÉȹnOœ¹àn1¶ ”­a•DƒCNKn÷áR²C-„å÷ˬ ÷ĨäÏ·ˆª-ù„pxÁrºv±WnF±Hqæ{ 26±¬Ý¬CoÔ\ˆ•°i¦L6ÙKŽ„¢t11²õXÚ7¸ß#H«^ð6œâ… pUÊmÉΨo5 ®h…9’ŽyZmèµ°œÅÞóÂøu«èXQñëôNê@™óðäâM6x„ŸR†áÈNû…Èh$‘Ù`'Qïi¼š5ù…¼š˜òƒY5¬nµ„è2“Ð%±Ç# 0—mÚvÆ“3\‰˜»Ô]çù¨ÕÛ;R{”ºÛ?y¦ÃŒÛM9D–Pñ Ô÷ĵB#œu±^3kM¾Ód’K3Èé;ékÝwæŽêÿjIVFµ«ÑLË)Ä`pê”[Éé|”$Ð:Ô{f?²Ì•ô¥Ã¯1˜Mˆd³Äºíù»¸¡íüÃ/ZAî@Ë]hôéFhìeaÀ3Ú›(hiÑuät²%&Ù1÷r<Ö‹ƒÊÅÔ”ç”Ì* êþ]§®vȾ¢Ó©—öw@•’SëVaðb'j•§ ¬Oþ Ä Ññ†"šKªK|ÙÚµK9O$æ?­FβÌÅzeQ27†첯t¬x5Ú–žT£õ…À¿7ßoÛe‚X⤒‚ƒQ)±ËV<“©Ú.òhÎèEl€µd™ÞÞmiYÕ#‘ŠU”AB+(aL?V˜s…*¬1WÊçÓÅÈÝÔí ѺÚÅ m={è Á¶­ß4 sÌñ°³e'˜Ç Ô@(ùAÌ¢Ï,I  ŽÂ[L †hÏ}ûՄʆ˜7¬’Óÿ³½7È΃õ„Póa–e'®3L¿‘€õܺ!òg0‡^ai•h—3v)òý04,Ç1I”NoW¢ë¤tLÜnªø–`¨Î¶—}3¯ëɹ*!»òQ ¯ÍŸNnä„Kˆ‘³dÎÉu­’Ì;üRù+;Æ Ô€S¿é7^Å`®bau2õî9ÄZâR茘Ԅâw6²Ðõ'ð,ôíß…í MäðÀò($x¥ǯßs•ñgÿìY*VKÊ—½C´¤b )Ë 3]nÎàtÍYVáÕLp0šüØR¶ÃòûtPγrE=ô³ä‹ïû¸à*@NDjÆ>+ñ^Ž3æs¡ƒàÌ!!ûì Å aølC#ÀdZ‘¨„¿‚â©9èp:sßíµ|îΨâÆÃS7ÇŒñP”•Dk1bZݱ¦[}POˆ›Ž‹8·þ?„+¢ÌžLÛ[Ê,-ð݇ZoFÍZÀÉdÆkT·ØÛ,ÆM|{ß%|64¤Šö¢àá‹´ÙöúòPAÕÄ;œOGÌ÷ã¾½þz÷s ?…n¡×=—xp©¡ýèÓ+Ò]|™ãüÜ'GSâΛ¤Z›8O£{˜`šëk©v ”þä»»ôDyý):^Ξþ>QÊÛFϪfA؉ÊÌrÅ[È{§ 5 ï+kÞÀ_{)[½/å,W†I»•Fh¼5¼Ø"óÈu²ö´1w‡Bã5ÐÉ]#ãÍ€­;-#±Ní{×"qåUzç(®‰ Çø¾?Ãi½©bù*hÈ´gîʦ«‡óqF@¿º‘yàAE.î¡ ¨µˆu™™B©eDÍì÷:µ»ëëQé?Bî¹rK<ˆ·%Ë”ÞØ*¥ÔÚ=i[««°¤ÐÞ-#qónúõB±º^¥Ÿù¿AÜoU¡ò 4)zзnl"£§H:ü• ›õ’ËŽ›Ì,?‚ñƒe“?XñïØM'¿°P‘µÃíèú4`níÅgÂÄ5Ñ¡'v¨oÀü§9¬¤Y»ÉŸŸKà[¶3:ÛJÏÿŽ´nòÒrP¹Â Œ–/A3î\#I[‡Õ7J¿b;´ÑxôfpªÇ(š… Ñ-Ðî’‰¡ZWD÷^€Žp?Âè±ý˜¾šu/^MeQ×3¦ÞVæ,Ä)^´dßV%ÊÞK¦½EìѬpG”ÞB‰¶8í\qÄp\ÏëÊŠ¦Ï±ÕBµmÄ„¾êºímâ:éo…€…d—âª"õÎÀ)œ0‚™ÿûºIÈàöÃH¥« Ÿ?&@qùûzÕ^KZ¨YYX«–K96ïOåÌkóô²Ùdâj†rZ^å*ŸÜ­ƒU€)Ò¹,“S#;6}·ÅPà ûÕs†ß}î.DRyò½õšK£Þ.]".‰©"PÍóz靖>‰tû6²’‰â·‡Â&’u™/:|C¹¾êe¹ì}b§Ü+˜Å•²ô}ޏ*·àÓ¾{¡Ý¯ ±4=ªÌ.…‚ÑfÄiWËC1þGå{lB/iH W\‹ì÷1¬Ò£ G殇©™YÐÖdräß|£¢NO0qˆq¬Šf¡)çäj+.Mèi5²Åz‡GÅ{Æâߊ@™eyܪœçòZ¼Tkß+Ï…¬¤ÕñlÚ4;¼P{S•„« ¶;*„´qt+m¯T{ã4‰S)K55“¤©1Œ›³Ô¬$Œàçy‚q˜"ÑÓ("¹êØQ4ZœøxrÒ?ÿÆ~•¤,mØ.“2Ä¢½4'3>dÇú߃Óë‚iV¡RŪj÷ûïýJüƒ–34îÙx?<®˜ûRŸaÚîá ÜCå- ~o/2Ö>”˜·Eó•O»Ò¢œÝwåEI…è%ÑdùQzï õ/ô:<êmÿ¾ ’)t#ÒºYÂmÿWЏN™qÁDê3q¥¢FùµžB/„Ên­0¥(-ÒS™s0ØÞâë~à+7¨Ahm¶ ¬ ›o\͸/Nñ¶Š¦²)®\cW1mÓP_ëN¢"ÃiaVMç«òªï‰«çÛpǦ¶½ÆŽd ¨id àeÝ!dÇ./ã.Ä+v‘H¥ôXbeã?´ÕpÊN»>iÔ ± ,¨Ÿë²°²@ÂkÌ»±aþ ÌsBÞk·Áç¦؃£l^%Ì‘jKka¯>3¿ì}n­±LÎ3Ñ6_¾Ô5wBÛgógË Š m••^ßRGs‹hÔ=}Xs¬HCý•„u! m—°÷ŸØã?½˜Ÿs·F'¯npvJc}x(ø½d¯ ¡³é}“¾\Ö¯óüõVq¿a<]øoW°Ùµp||N]9£0‡7õ]rˆ&þ±ß ³\ jÈ?Vƒ_¼ÂOGF+žÌ9ý?Rt€oÙÜŽªô“øÝ«¦U0 HrÌœð/Õc-S¼Ù¦qÃÇÄ 7ûïíQMæ–Õ¼ìÚ$­ !–yy{¨“Õñq>m=¤9Vû…韴:pÌþâvV½c=o>ó–P–[(.6Õ0%•‡•ØL·0…Œœk`͘’úE±Š_ƒ`'øÌDÄóô/ŒCâ"V5'¦b‚?&«ç"¼í…Î+²O­sP`Rp_®÷hÏÓU=µ áºf'ˆ²ðWåF×:?ÄÀ˜mî¹Yëª7Ñ¡ä IË~sµ$E3ïN©Ò]g³&‡6ž’J£³ÑH4ooæZ©ÖóØ‹é;ò/õÇF,Š`„ ‘ÅÝø›!#"'iÒ&Ȫ†׈•›úΔó½HiЇ8ÞºþÐ%Õƒ™žÖ ×Õãxð•å€ýY6)T~y/{ÛQ½‰‰°ªl`gÒF4ÀÚŽÂïé³]‰³ÑŸÑ•Ý%jÉíEäMüíÌ>Ãt¬x ±TW>¹âÆhÿâ[67{cd.7?-»êÙªð²]†&›ž¬G£ff+«”\¬âË‘Dܰ‹ sÕ  |ûĸ_jûm–Ð÷/ñ¶ï½[Ç,ÿã üzN¦MyÌÄÝ3YıԸ¤Rg³&rè†Ü&ypP‘T¹ÒKýÆK÷#±Lm5gKëàŒ¯#žé: —B\—Qy¯©»ÕG7ºZb×gxåiì%3°¸*‚Ï7©?†ìˆ"­!KŸŠý=´PœVËÄ»òäëc”m6fÿ—«5E^+í2˜ûáçHiB‹ñ ¸9 ŒiÒ©WÙ¿¨«b¿µgQ9wÎÊFòVdñÕiZ, Ê(4Oµ2Ýõ4Zc~„Â2˜Ý8ð¢¢"ƒYxÔ ';"Òc”‹ ÂcÈJ=5¹™Ï›Böü5A± n­¹ñ¢ý>‘æÛBOãk®¹YíS ¡„g¨l‘#š0e|’GÌú“Æ<ØäJéÑX+‰™˜—Æüéá$t“ÛÐŒªí¶‘†‡0+“*cˆ! (ûKév4Ÿ S%©À­žªªÜ» úh¤œ·Í×Bå÷ÞPÙÐm^‚˜µŠ¡/Rƒ,úëòü`Ø“÷V‚‰¤.X3tÜýæfCؽåôý˜N<µt°ƒyrk±¿†µ“ê“›÷²I™£ºˆA°(›MŸØ/6ëê¸_\VË8ñÁ¢¿{œéä ! ÞœTV¿o«ÿ0!K²´D!7~'Žë//ØÄYp„€¶_Åö„ÓFow -R¯œJ¥xѺŒVå$ 4*_uœcÏpDhb‹ 4kÆb¼è^‡…®Ÿpy0 hžÂœ›x°ÏõŒìÁmôѱ¡ ü4 ém£ðöÒ}¾‘5ã4ÜëHgk}úÁ±~£3÷û`8Tk•' û«NÉ~öqñõãj‹Î0Šœ 7¯Mn$II¿Ç¹×àÖl£²C½zœîá"ôvÓ`·LãHj=Fãóo8¦¦«˜Q ‚Ät¬"·{ïR±ÕÍ«ÛÕÛxE¿Q*ÌýuÃ7L¸¶SÀö#M“¦ФÄTeé?Ϥ{ãÝÇí]LÚÍÉ´Ìέš·ýkßÔܽ¼«ˆj7r/PÃÐ-XV«©FU¶›‹Š¢–Ž…Ó‡:Pæ„^ÈÇ…Ó×üÿ–ÕŽy³ÿEeÍ f‘K˜ÄKѵÁÿéˆ4´«t{TF!ÿÑɈ­ûkÉø‰ ƒT‘³Þq™6†ç/¯6YßKçŠPBÄ-Ø*°r'¦ôަü{«8¼yk€Îé"úÐ->5N<á¢Ö–ÎŒÜ3r¥áðMbÝ6õÅ4ï§ XÈPd¾=˜Û,—¤yŠë0 ynÂêg0û I£Ü°mÎÓädØ¿(ÏW Ù9|Ð%s±k&[ÍÙâq"B­Ꚋ|vQvïs€9!öNÿu ’dJø›" Ýî £¨†«¡Áæé??‡úU'ÐÚÛ}½µÉFº¸ø€ÈƆÒoWQ|ïÆíaI¥s¹HuânGyÇÑ›._ŠÂÝÇ€U»‰ÝGÓÇ0-Ê öAÉQ#MÙöI¢‰‘÷ÅT °ùúƒF‚ÛQÉ$V™ ={’{L ™: eW´¼î±„ýµ­/åÀÅ3BÏŽI¡Û:ãŠ)VZá=µÆ¡ ¨mB̆Ààl4Byûa74fÞ°’%—L0' TLß©¿ÏKE·@9úž+e“'U{ œ@ò vó‰QÕ‚e£™5e5Z Š‹Óœ#Y$ãC<±¨}ñj¡d’äûí(…³9·ôàms…Ò›Fûý}ªë¯A0÷ÚΪpÙsiæ{Ú3xxëu:mbC§‰/ 6úɈÍvFw¾_1CYÜ­QØ"`<—'3Ãt¯ÖmÈxp4n–ÛÓ_©ü^ûÎv‘ÎþøGìD£¯™"e€MÅÔÒÇ@ªfÈËQ.{²Ú †ä±¬´âëíÀc‚9Ò›£·ó;7p/Šjð%.¬î_FŸb¾ÖB–ˆu ‡ŒÚë³NˆÈŠŸÃ£ÇKãIÓ¾«\ø÷š¤Š£¼ÃÐûÆšÔÌÀM(]•Ù N$QF¿ÈûZû”â‰^l䉶‚¢VåÓ |o^^#šÿ§hî±æŽÊÿdS­Ú ‹.?@ž¹õ'^@íñßXeÀ¬Þ)Õd¿O‹ÛmòÚ†:U°õLà]Ì}-;ˆmqµÖ)xó\€{‰Ïû„ÌÇ£¿²[fxoÀ”fÚÒòfe= 2Éjw ÀG㢨'ìtä ~1`Nµ7Ì{R÷WFm“ÛcW[,jdÈBN…Zʸ~òZ<È÷2\…\€‹ï© M›žö|!\àe¥  ‹ÀùÆ™P!SY»ÆŒ¢á÷Y”«¼÷棅žu•Ñ8VíNK#:  åBN X„wLøœ\çC\ {-˜´¶BT!×D&½’˪PÑ8ŸöOYÂŽ“££WK¥UÜDÇp—¯í⪺xð'×*# !„w.d$ý$^‹¥¸Ð8wˆ–tE¸N-r]W ¹P²z$ü­(•ó'øš—òkØÛ•¥ihu§q»Qø+‘%/ÆÂ*ûùÀ†äâýÇŒ’‡Cuº5åGÈ ÊÝk¾:n®›z|>f;ãW®pO0XÓ’:†ë=>M‘êů:ßÍÃ~ÕazËHÏÔ‚¿û@±>Ì„Í~DçÞî‹OMñk0P/Øsó¿‚€fR# ¼§¡O^RÀ¤M]´/´Þ»‰?ÛõmZØ5"¹Fô[cóëŸ$­¼ ä#ÿN(¥¨rÅÚ*#­ê°†ýNÀŽž)‰k«¿¿æÌà†@»ëfŒ´³CÙ«,öß§|©°),ì“!ýBžLET’ÛTE>+-qä2‰ïOYà1O2INU¾Ò!`Ìt¯çžêˆwүřÿ3¡ÏùÏåj ¡ø •sÕöt °ùš–Fšp±§—®©÷%I}Ôžõªêr;™˜+:°„89ÑþVm É=w-5¬u¬YAÛGDz¹ÑþÇã'ÑV}ÑU4³&":]ù_¢BŸBoëÙˆØÁ$4~¯!%¬¤¢dzcSK_4•Å=Y·—LQN‘2#¨®¶<']RÅ8ð{k»Ôq½Ï7 ¾ÍT ÕóU†x€%óòt©®ê¿QšÚ¾¾,/ï/«ç²Ö´üï3àvÎGKUGf1y-)]èkWxe€[w®#Žd˜}? ÌvÂŽ³¾®Å„>ªÈ “˜¯ö˜)!ìI¥?T¦hT»sGø„Õш©Ï«ñGß*_ÐÒ¤`ð· mKüá^)’MíŒmÙ YÂÈ?b½Úy€EÇi>¥šFß$XùžöZ1’iWy¹HD&Àƹ}¼¯²Hƒ¥ÓhÚá„ v³†»Vº´ÞmÈ9Á 0 ¯UÝ"vjBâè#‰‡¡6ƒCõ4ý7$%JæmN´œ?„E—OoV¢Ë«â-ð(TžÏdñû9#•£l•š•´õÃÍŽ:—CDPsÎ×EçÐ+xšÜèèÉ Öx!öHnNæI±Qé PvÄÐlúuÍïZà’QpðáJÛqÎÕ-MÎ΋v¾Ù4t^C5ß?°€+È'¨4CnÑ:ºãÚf­"¨¨_= _IÄDH¡¨·÷@Vªï‰Šõ…½ÑâæêÑt\¿¬O+açIxØzƒ}+2ï Wèš®èùãLŽê™·Åèíþîãº+‹°&' } ººèxê#íF„^uìƒ;OÜôïŠÄlñ9à!º^å#ó¡šMÔ/þ HWK!cKsì K>­¹,ùê™Zg$ó¼[W2zÍgó|jŽóê{èë»B^ò3|(é°(*XÉn~v"‹¸£#ÞÌ&žgñ¥S~– 8öHðKù<*¢5¶ëv&¿šÿ Л?ÿd6ç:s¨WˆµÉ~rCÆp&yBMÐ(ÖTS X'vØ/–+©Ñ´úÞyrÌ¡ÿi+›ó}\¯ 9¦:• © îexÈÌtkm¸w»Q,ÅT!pKãF]ø2gwßÏYʆz0ŽË÷6{m@:¦±Ý º©ÎS þšËA]3űVXQ·»Ýõ7ôÏabá&9ˆðBHF*ÿ/ˆTédÊSœc2Ñ(MCœ•Û¦Ž‹ÇN©L¬Ã‰Í*Ìþhê³Bín½?Å”ø/ÉæŠq*D§ô8˜1í¼ÖÁP4ÖJ§?¢|‰À¸§¯¦.Ý~™F=)x§–X^úa¥45¸]§H[hý°Âó‡ãÆ·se–¶oóÐrÌkó®%ÑïAæò¸‰MBÈ7ÞS)}96téšÎÐsvåßí†3…Ü!–tJ‚ÃÎ>&гrX]ÌR™›‹gzN )œ$T„MË\ƒ’Á )ö—j+TÒl™s¯¶Ë„×#Uy" ÷ O× Lïñ€˜G >Ex±=3IÇN¶½š‘s72Êr–•4EzÎlgãNÛ/Ž$\3R§©/cb~>N«ñ˘u2—² ç?6!sñz%ébг«—Át€èdmÚ_`¢$[YxŠpƒðT¦Ìd1ö¬P;¡rÝ_Å`6FA‡zÖ%ç¹8.ª:FíP³Õ˜Ÿ¾—Ö}*ýâ»î+å5·ìÁ½ø@ g?§¤L}*œ¡‚*˜éz¾+Ý«˜ÐêJ\qåQÞ7³À{YfÃëËçjS®zþN*ìÑL3KìÔ– f(¸ ‹_þx– ´ë4O[ïìeÝ AæíPq,Fað@q·ò /Ю8\€€EбyH¬ÔénÀŸ"Ö±½82‘¾H~ûCg®j¥Š/Œ;âƒëÿéZ‚×Ãv•aù ÿÈØVñÀ Ùí”8V°Ür<ãþॢ&Û.`ßFƵˆÙ’ v€[ hªHÑ{QŒ(‡é"Fÿ÷íØËŒ{éÊ€ÿb'¸ƒ.±ÖÃ?«Ó¬’¼‘Ñî ¼ZU®ôa ©´ÁÇf.X|»Ï ËØ€Êu>¡ÈóâlO¨´[£„ °ƒõ!ë4<Æû2h{eM½o¿ÙX?B Ñ™ïÃçÕ) A ^$F}Á…¦…™1qø,$ b§ 2[O¨xT:® 5…¿¾p@ǶFR϶Oí3øµh©nStôh¶#Á[Εž/´»\@¼ ª©W4ÑÙ|2&ÌV=uàÒwi‘î2'9”„íVö~T$†ñem6ÖTÌ<‡á?'ÁëŒÿÅÅ)Jj¢º†J±žÝ‚I5“D±¦úo[Iì‚I‡ÿ¸ý‚›¾¤èrY³¡ž½¼|w¦Ÿ0Ù±«kžÙþßä”™±ÝÑõiIðj»jäÒt⌑¥Òì4þ“l·óŒçº˜S|Ö¼TC4sߎÑÚÄ>—Ÿºvÿ$²™'kÜÐý Ãùâ›ä zsêL)FqAÙ³oG5~îrŒxÙm¤¯s€¥/x!Ùß&ô“2Û­µ£Ð×3škøèà슊꼴q^ªtÂF_)z3½Þ_’|¨†j3èÁ4ë9û.µøx±³¦Õ^)’Øû7É Ô¥˜™“ÖTÝSÆõÆ#Èf¢Óø‚ÑGæ4;M~à7ŒRAlmiÖùëb³˜.5‹ŒÁs…h¥Ì»L]Éÿx{¬}äò°çL6ùú¥ƒ¬¢¸Ô7Â.ÙêæQ´¿E ¾®ò°¶(ƒ.éç\U:ÖÙ íG2|ÊNŽ}Ñüh~·8ñ–\¹õ¬Jð'½0º/•kVR™¶rO”µ¦é©8ÅmuGøß%…g¸Šp4Ü¢~8ÜSã5Ï"—n Alù!.CO¤ö@šãsF¨ãk'‚žL…e‰<Ìådµ¼+¦rç7¶äk"ý†‚OÕiGvbuPÑ3ÃÌÈÛþ§3¯ö¤·VïãÇÖ!³ÍMÝ•?½­ÈѬ/ety†—á ›J°…‰UBä’İ©¥^Öj‘MXDcr}ÔYÂN­˜Šç-4­²"#7åºAyÁ1IÊJ¨CiV-g' q58€¨9 mnV}vÇa {û]}Yv*{:qÌŸæ }à Rc¡7+ò¬&ët y‚×¥‚"jèÏ6’š%ê,AŠÒUµßÃ5UÑÁÃýLe¢§CYiÔAÃ{AšÞmNLg6ÔÝèͲ‹ËêŠíAÂ3tÈu&ñk§¹˜$‘ÂGä’|°ø¼„ ÙN¶ÔÉÎmFÁÅîbó<Ösb¼¥ý¸ÿï- ^Î(FïÄçøèb¸‹äX€iX[â{ä–’&Ķ1ýeû_5Ÿ‹·Ëû\•Xr;6¹>MŸ+k4nɘeuhÙv;ü‡÷ëû¾3>*Ñ|òFäXÉ ÖëåoUÚ…½ s½€¥p€ùƒ*´¡ù6©‹ £?ŽÎúâÕ†7'ÀàJè;SÀŸîÃóêßϽ‰L5âßåóɯÏÿÊð1‚|}k¼ÎBŠx§ÿ÷âÐ~éÞ<„J‹FÎú"ª¬O;åÈ[°ë—j” ™U8=×ß»o! ’ë w(À_5¬»šÿ-¾—¸ÜçAY@ƒâ¾jiþ´Æ’Œ¸½X¿ATŸŽÈ›òÇzçS|›6×\uýæFy«vÄÏ 0(T&»ó¼ÚÙ5¹Šø½L²+#̓ö\ýÇÊ•ò»ÙðòO“Ê«¯ðíG2{º¸$é$, H.¨´[Qt>ó¬ü÷^ê£øý„’žͺGì•Ý€±Ë›ìDIÏ ºÆj˜lá=N!À¶h™Ž*ËY­Ö·i}Èï¢@tšI5ó]˜¶šVŸm9ÚæÉsâ–v™M4¨ÓÑiï`‰K!E³¼@žÆ5ü’ëMî9éH #ê^*‰¬y@¸†‘â|+¤Í©/ºDPÞñ~îæËrøÜ‰Y·)I ë “y%ž³F:ÿ ZN‘¦.ê7PiœZ‰ p¶.Ï šM“žUh5º‡UT„*´rêCÁç~Fl½wÁ>»~ÂÓz>ÊwÎàd·ƒ½†õÏ¡1i Ñšœë t8o¼ÿ­x'y9YX]k.@Ž´>o¸FKœeÉë-ÚnCP¬\BÆÄZˆF= –¿Ä×eépqÔíÚˆà»Ó¯ˆ×Ïêòœcl@‰ÿŸÛ"ˆÓ™”WáZê„Öõ²Çt÷ßvS<]ï‘L¡¸w?|l‘—Íî…ÄŽŒØb{ÝIð ïÆjFîƒÐ†¯ŠòYƒHx»­sbܶE!¨xß~[T"ÆQÄ„ì4ØóõØpØùÉ,¨ß0²Î+œrÒ6ѬÒþJR¦p‡o®uÈF‘8ÀB­‡bŒh‡&]eïV©T7cÏÊæ˜•wdºŽŠžv©Bak’‘ŸÝ¯ÝZÃÊ¢°ô›éy¬ ³»Æ†Ài Ò+×÷ÿU,wû}sì¤L:§JðK¿,¾~¹öî)6Z!ÁÆ»Á@ nàdqüÒ‡º¨,‚HÂ$¡3"]r0Œ&`áÌé“8ýîJÙa ;Ó²Œ*Ü”þÞ§8Æ=‚8p­ØÕ[Ðh)Mš}½_HÒeXUç„ ¹¾.SOµp»Z »môÛý¢8…¢Er<¼¡ºsÁè°áµrïðܺ¥ !aŽÒvßi¤Ôöá»áŸ²Zù/ÏkÆ Pƒý‡à„t;M\“^'&Üöže%dô[áÚë‘6/ñHà¸=£Eal”YœêB"7ÎaUs0 ¾o½´6Ãaê¶sâM<ùdG11#Ç-¼O ;Fœ;‚àÌ ß(ˆK¾€aÖÁŸ›W'ø­`+©èÿ«ÓspPÑ+TßT_8™S?^ WôZ¿®·!÷‚ƒÛ-"5H¬“:FZitTÉå´ÊPbe-܈Aü®³mþPÍÁÜ#D«žœÃ0ÆðPòmB©aòú lÓ½Qm[ŠJL:¦Âª1ó¶nQ²™/Zé¾çÞ­™8õNh OÁ,0N¾ ³ƒgÁ;'PäaÞ¿ÑgÑ-¬Ð™/U «ÃÔ°Ó#Èžø*1*¹ÁÎ~ºÛ΢3y”uŒD'¢?ôC«@›-¨\O_{2ÑÕЋû ¤fê#ÄF ­lÛkÉŸ§á¶%{{ÅJÐ9PÐY鯚kS˃Ա'ï6IQÍÇ cªð|8ŸvˆÅQP"º,NÀŸÀõþæ$¸40Æ»EƒÉ¨0Õžî@µ±ÆRJ^¾æ®òo¼Á>p΄š$šö׿Iýª¢…a÷œ»¹ø=ëÒì UäKKFØ‚ zÆyâü효×ffœ{c#Êõø¾äO<;ÛSEÿ„·†#rñqÏÌò¤xNI¥2Úf7‘ª9€$5§”…J5X¨ KÊ$ d¡H4°Ò+—:ô…($ ¯ÀL¹o¢îoÞçðÒ"¿R/¾”«d/3[¦e#íÊ-œ†ì“9™-=Þz üõZ};‡V[ð ™ßLk3ÝÞQÁAÞ¶nœ ó@A0§¡eé³ÜÀßR*#ï¡(ªJƒ¯ŒÚïDYyOè%ºØÛΆjûºYâ¤ýáz£š3£f è£ lú¿ÿåLC:”¶<å+ë5­LJî‡&Lª צè÷úè[i™”Î1Ëa[ÁB Ÿ[t›ƒ—ŒÇÞxïd¬æõÓsT˜“#ÓÒó‰óY[ @ËpÚz”B‚†¤ÞZBB.ãÁã9I¯ñÁïܼí»&Õ¤ý`-±ŽñÝ¡j´©ãnßµÇÀ°½¢–§£.‡<ˆ½2&ƒTrUæÑ=Ä‘§i¾¥ýÛÛ“Ø4X›z̨†%hYYéÖ«ïþkªW?Ä´Ìq:¾®ênìpøØnﱫäBe Ýñ“â#n”‘úÇ(»Ùýš\Ü\}NQfœDÊÃÔrüÔ´@ Êí˜IŒOZÙ3ßP´ëVÙ+y¯hDÐåšv£µÀ?_¥™³ÈDá8U‚D5îXz@šÈªx¾Rå\fÅfžð%Æk¯è±‰»ÎJ¼J.ˆ€²È,¾Vn„ ¶v/f,»ã‡#×'WU¯%h¨€5ipª–××Gƒ·(€sŸæôüÛƒ¿:kƒ˜¨Ï E¹Z|W¨K¯üêL¥KëºO7“Ÿùîyî`£œ—EïäLŸ›…±WÛQÿ ‰ ¼F™3Ø}æG×И‚4- n4?ühм,÷¯vÀ^S)añå?„çE!Q©“¶&GûÕnÎKòÜVÉ”O]Yû¶‹ß’H-è‚qŸN¸„e×ÎZЪŠHì)ÀèzhÃkŸB•C‡¤©y%PG=§ðæM¸¦Õ†ÌhôdH©–ƒ,ôƒ[Ÿ‘°›,Æ+![Ô1Þ“téb'Sëmþ—÷ëÛnx5>$Ó£ý¥¾ ÷R˜®¼’¥¹ú-q1ŸüfæÊÕëf᥮G]«Lå­6&o.t¬³´Åx:Jè#çfa—ÉÜ­O‹0ÿ—£$P·ó8® _»ÇéC|0]!.Ø}Kÿ&æFÞÊnpÂ-žQ;y¥þ8r0[èEIž'ÞJäÞ|!»[P«—Ÿš..ª#| ‡A^¥R„çüÌVJ½Ø‡û3®‰ÖËâpS!€§t{³‰Â ÝS©~©Î_š*kn­à.ºÈK½÷SÏ¿H¹€ èɽ‡ö¤I@r-¬n{êý…%¥g7‡è¦a¦€ßVN¡ÕsU;СìøÔÍ…€—•ò[ŽúyQ‘¥Q©™a¯…?&É./ŒëNíYôĦ€r¬“}¥îîaǯüÉ?ÄÓl*†FY~êˆù7~º(ZЀ‘åÊô„1bähvþ@ûÉñ-«$ý] †WØ €9 üvéÐWöf…tX§Þlct㦠KBéµnê ´0xÄ=Q‘—618kÙÚ/N…0-VÂúC„Âô³o©ŒJ‡Öήµ;öÀÑòÂÆ&ð~A—ŒëØ‘Æ(í´×°¡P3؈ ©pôZ÷:CíM9ÆÖœrïfŒjŸ5ä>²HïŠná“ÁTc–­>w™èqÃ# ç²{`’Á e¡¢«í2š}…Dž :eŸs¶AÌü@:)ÔÆªPzîO¯=+Rëóßai½´3ÏïPS*Q©(9ªû%6¶ßuŒSú¿Y‡;NãÍ×ûÕxƒ©çGFÖ kW ŽlöP( #F('¡Éåý…êpGh™Nôb ¬ã¼$æÎ°‰]Ì;ríFƒÃ[né%-áëÊàƒ·ÿ7K½#I~OâDçˆ5‘™²r‘j MÖ+ƒfž±™LÉX#<W=ŸçÐ¥Õ5@Nq-p¥ÿ±U²lÍ6–¯!ð‚ Ÿ¯æêÃO0—7 zˆi Òã-»ó9Cˆ5Áé—`µóõ9fÓD¶u­«½ìòOAòN:Ƚø±W"‚•­Ùž¼ì®B„@¥ÕÎ’Á¢Óƒ”\3(—Ó_lENÝÄŒê"ôw±wLÕ HärôøFè}¬+”ÌúßÓ>D+õã=j܇IÛˆvæ5ÇÄâ«2¹d¿Þ¼ðã{¤´T›PpÂÂêÄô8AcµV|äDepL•ß“ØPõO"ÏýCqÆ´Di"æ¦DR´VG,å~™.õL%ÏPoMŒãì;ÊQ«üÿ³›×Ô{(° gŠ/_²Ð@NªÚvtð‚; Ùß&y¾–°BÐxß‚À—'~*ò¬ý0*v;Æs”ÎϵP„=°úqS öÔÄ¢`˜O°±šïWÙÉ$K¿$ ¿n)÷´“ØtÎçôÿàåúа€þ-Ël“ØhŸÔÛ›ð¨×W‚Ʀì©9¤ƒ± ¾ï§»pЪ@i–5x^Ýó~“ƒ—Z± áI5Ø0êñ ïuY&œƒæs^hEÞuN·ÄT{Ö¹#‘†TT2WQ<oc/†‘sKÐtÄp¯ýäŽ[ˆ?äïžœ™Ô}‰Jlª¦HÅ —F›ön´Wëê+>šîwÿú=iÕÂP«Ž7‹þ|9f¶0g^ˆ}qg;VJskÄÀR]œ‹¯Ô<>þ`ûñ ýYpÃØ“G§ÑÝèß™Èwl–æ7ñÞiR¥¬wx6ßr”Y!e‰ÖÊéç3#âHOô˜F.ŸÊ`Œä+)y €¡~9aV³ÃÓÓDþ*Ù*$ù7å‘_qÏ[ó;¨ûFˆY šÄvç þÖ¾xmP­Ëâ2{i7·z¹9n(ä(¿à­KïÚ&M¹Ãí•X΢ÇmÚ¼®T%‡£‰Q™ûjiø&Á”ëéG{”¼j±Ž­&µVÖ Á•@c`†ÅÝ•~QZUS–´“§Úo2½I_oè18Ñ=ð¥†PãÄŸHÏø:qìxÕöÏ8‘ÝÑhZZn‹ø¡¿ ¢ü_£uiaˆ[—Q¥ê$Aä&4Úæª°ëì¸ÔéŽpöÀ Ow¼]µäõÃͤŸæ ‰g;áû7/ÑZC±îQ«ÌÃN¡÷Vçüùד·v†‘¼ô­šü3×/Z_"È>f…ȵŒ`ñ<d BÙ/‹¹í<Éó.5§°Ÿð‰»©iûޤ§ÝO˜ñ„F0Å€¶Ø×çÙ£íêngÇ×ü(#˜î´ 0ªüÞDa‰1?ÕØ‡i޾ÔÚ†!úŸÈ“ŽÌ×ë–×”S×&°>¿¡±uaV) ü¥)E58;ÆÔ$prÄ-e™æ²†ìÅ5Ë'eƒ:²ÏÄw·ªóq»¨ââ•&êŒ<@”¨^ȸŽf¯_ºãO*ÞŽàßî,×TÊ<Œ>ê.Û ‹¨”*ÊY†\¯þÇxzê$HŒ©k# ¡øìÄô¹›@É¢;79Æ"ìX1ÍíÝ› ÿ˜±1GCžPª"ˆ¹¼×Ý_!üÞÔaŽõ®·q/!-L°+pÈ(¾êPÊ·Íô¯çÓ.þ Šá—ŸÄ œrP~á'f!¢pªáþÔú”—”ŒI˜Iïf|3¿–[ˆ`™z ž’ž²Ž‚m‰‰×fxÚt…jõ@xí¹7:ëÄô¾±ó‰¤`"‘ Û?‘1Â[Ô€îæ5F¤h˜K`RÞôÀ0u»xÖ>Å’2/Ї¨c.?Ù"mªÆ†ÜÀNŸ]ÅÌkñ%é63ß3Ì’ÞWðM/×Ñ)wËØ¨àZ'µ83ð]«pÐWYѬ½áýwâªcºïkpÙeÓŠD¦I°‚SˆÍ‘JÅM—æg^øb ÎÛÁ:¦!*xU3D2ï9vW(}Äh¾nÒ¢ ÙBÞ F&gWoK¦­“X§À%ÓÆâQâ¯@Àr9¢K>à¢o35V°ÿˆp0Ø€‰>ÜhŸó¦‰µ:¦ûÜÞ-1º¶ÛŒúNãJ.v<.nÕËK‹%©š—¼Ï G`ûYöoGL¼ŸÍÈÓ3Oâ'èÔÓ”ØxÝ>µ 9¦ÞTop„“X}¢¹Œ~S‰Êà÷6hX¯¿u’cUŽ«F¶T?J¶*º-†.ï‘(aÜdbšÿ xH´n:þ5ýÌ”H,k±F¹£’žŽÖ]ÅÑD*H!8j¢ÔÖ Yð=7ŠlˆQÇ ¤‡Ñõ@a;šbðàÊm†"N>ºÜ÷zûöÁTLƒ‘ˆ6OÖÚ1ꢬ__¸W»d(ÙËþ扲MžÆ¸äŒŒ QÂÍ "j2?Ï ­ó%´‚è²-*¬ÙI!Ë{‚º¾².çwÁKd ëµ~N€ðõ¯X{BöY-ºb““«6•ZhþüJ\ÄïBR_ >èß…µ¤c4à™9Ãß»ªüœôo©®kGåí«¤bVR¤„4Ï|\`AHh‰¦˜²ê+g|„ñ1“åd¹ˆ¿É(¨´Ñõ?'ó«_D‘/p€qk)x\ò½Ô;øâB´„fãÇ5UìÅ 4¢:¬Ž:ɦ"šˆlç{ÿÍRßE7vô&‡ èÆá±5!ø¡BĨÐã ò´©Õ3B™»nð±0Õ]·÷½Ç?c£zóÎŒ(«îÑ^Æ„!‚„Â&9„9PKÏþ™°üæÛ—‘‹RжLέå[qóÿ²N a“¾º_\ñòœ8×zäATòŠmÃŒ§EGŽÓ2wÖº9¡àá…ßn˜5¥bÿ‚Âð”k[c¬ P {MÐôªKtR±âÄ<*ºÜ¨s •Í1ÒbôÅÄt<y´&gÈìš/¯ºìp5'êfxeyƒ{’Q–¢;8 ×Û?h`¼\tûa€~þÊqõ³×›µÜáE°\ËÕ<=YPÆau³Ô!ú±–I³››9éæð ¨#'fp|¡ãQìû6‘Ò …¦S+‚#ƒ)¼œÁ¶ÉGøÝM=ÀÙ2y\>„#óû i{01Õ42Á '©«bÉ•yz5ˆµ³ÛòÖÀ-ï¦6;Õ­c!Ú30ºC¤Ûö,­¯µQŠÐQSÖnú,K\Ó–”pCê ÑžŒu; ì%$©ŽÒ#¬ZÝå¤5ëܩ³ØîK³Á`¯Þ|N€‡Kœ¼5Õn;¿hm爇*ØeH Î!ù¥©´®4™ePlÎM`¿_½¾µ &ƒÕíÖŸ ÃE>=Kø½ˆÅÔ):{û^§eˆ‰åk`ÝæÝ[lÆäô²°‰©>Àú‚'¡r Ž PPUyZ´mÁ{h•‹T°]QtÊ[~‡¼_-‰,ÍÕ…S$?¹ºUŸzÎÒc’íj+â ˆùX%º: ÅnE•›ê®ý2¹=Ä~g|¬õj_*ƒÀYðïp(ß-F¨1ÅèHBˬ¾Ð˜Í]òëÚÆ0Q ÁÑ*©üBi÷„ÒQÛ#Cß‘ŽOVÞ Cœhƒ½jzX7¡mÊÃVg…g"¨@£—?w8eždã…w²ï̈ê»/- !9ŽüW]ë«[mʉAwS gêѱðc 1᪈\¬‚CˆNùªúfÜÓ¢ÄtoÅÉJ­â€Áî{öñá6*¹jog¼mß~_O‹soÝô©~áCɵíÁ½=øßjû´?öKqú_a˜œ (ÉuTßÝòéYSèwöq“4¼l•æÓâf'FaèÓó3¡D L_‹P¾Û€ØÃ$¬S¬3ŽM™Š<›B•eû8ûâI˜EÐVk›»¨¢Î¼›"¾ýp-j¶â?µÊ>Ì®l“¨q% ^rWçÏîvñGÀEá‰FwgŠÞ‚âo[wµJƒ8#"{¬9æ»1 ÚÈÈ·«ð!MgÄ}p@ۚ¦‹ÈÑY†kg—0Õm&O.Å¢|õñopwʸ>\.ïÐAK¦nFÿm„9zàüZ5wé~ Sö¸Z'Òó¾ÜÊŸdCŸ[1³Fþ“¾Ð¦’…`¶ÁxZöw«‹ QÊ6u†“¤Çþ•ø“î!nL¶CÿxÓ«oØG¸eˆär$׬u‚Ô?#j¶èçN5ˆtÝ¢êÔWÚŸbóÄ}èõƒFA’c2¢‰UÍù9ßyðtòÂþ¥Ð$¡ÿàûªö„m…¥X$I3U¸NXé“ÂŽnƒT$Ô€¼|¬l*á¡Óþ„{žYç7ÄT^°»)DŸ¼Ýd½„á…½_¥¿òÍ„Êg_®\ÝqcÇ8ÍšaéÇ\ ŸŒNÖÛ0VÈgr»ˆœ¿¤]™µÆŸúßœM!€L‰¡e¶ÊI7™´n•Tz¾ÜµÆ¾_Ðd×÷‹GoèØöWçMúØu*}ÛP`òk.u,&~Ègy~,¹Ï Éä¯M@D|:ÖÚ(ÏÿÖ ]/DM2.TÖ÷êm™†ët&:.¢z…Þ€™ùýÚ}z§¿ T‰œ(BËh ¯~Œu©ÕœÊÕåÑÿ’¹ºNÜèœÒ Ôyõl7XÎgª|%í%B‡øÖ_ï{ø›nà#gïhÇ÷Û=Q²¡;¥þ:G òÎr&/ç^>ËÖh—fÞUò‚ÿJè±ÄÈ,d™ýô’ù"fðž8:ö¥ƒÒ_žR{¦½U“æ"ù%†"Çk[ö‘øPÙáàS(u·àxÒ€Ot1>ê‘Å‚¿ ~—Íå ’³U­%à,9nòÙ.•Ù,Ù»·sªÆö‘ð+›týüg¸öÝê;á $m³D͹¡`èõ–œÕAÎõĊ̰ÏEy tT©Wà¦'°¡Â€.N/Â_&èÂó—#­€µ§ØûÙ·‡©hÙr†ÞíB9«¹ ÒcK™èNdå/:º³`ù°ãá`WÝFÞÚ(WÎjßè:¼XñL¿Äß4ùÚpÎüÓþLFøïcbT‹9ƾë´*HøÿŠ‹ë”>ø—h¾É(rèk$¢¿Cí‹fB:®—4¾°iÓ&“<Í«õé[R]A 'ÉÚ/{'?ÿc˜°zÂú`û7÷çûUïgC®ÒyðýÒí R'&°QN|1$ˆIùO,t¦ùýänÓêëÝ.‹Ñõz€†@»ÄåF/¿T–¤†nÃÒÞP” süuG·´mÅPvG † ).gM¤ü,æcZ¼ÿö‚?¶ 92yÔ¿R ep ñ5× n`¡ÉŽE# tì|©˜b¤ê9™Ã>L !ÂÆøƒ7ânø¢ˆca9!&ÔY–AìÌfthìâá .ÆÝØŠ‘"èˆÅÀm'"LŸëvLÊçr °ƒV¢üo©ßv Ÿ`³FÙKE¦‰¦úà,¯uÊdGªEF_`ÞŸtÞ £þÔçQ5ËäÔÂÎÕZ±½¤±Ôݰ[ljß×"&Åp<•Re‘‚N¶Ú© ^=²_†)ä6À©r·%¹{7¿(i³œÀä=”Ÿ™‡‹½¯.Ôd¾£·$˜ ](fâÓo=fzŒÝÏ´q3yñ~)Àc(à3GšªXžuŠº%ÓT\r^Kù÷;z¬}±n¹gC¬}SµuÝÙŸS.ÌhWt‚^ÛÈÈþ"_¯í99:~‘”HÎkD\Û'ò¥#çU°r6ÆŸ¾¦Uýr¤õ‚éÏû~¶bƒ!"f(‚eû%l,ãs:Ž4ßu¨AbÈù&zæ2MÄ\–WÁ.oeŒ{IpÊ¿»#Ø`-¥Ðߺlcˆ¢ ðìíG.šE_ ›KmĦî+EtAr7Õ¸ãÿúåÅ!— LGðSg§ánx«R82‡>¯¡Më­žÚÊŸ;Ʋµ¢þVI«3MÿðIdZ¶›û€k$òº…3»•¥ .ô~\ªÌ4ˆƒuâž2ÛæUy`}(a„‡ëÁP$²•¹®Ò…áÑ4h¤¸‹0EªKÑÄójrZ‚XFš¢Rñ»lR¾ÉƃŽ.ù0øG92..n/û•ÏPèÙ»’0þ%&jª hÐBÂ_=qÀ ù&ôð£h-Í ¢ç¹d77x¿VgÀ G‘Ã:½ A\u@'bÊÊJî¹++­S;GYÀ,ÂPs`[5¶˜ÆJÑ_m öáýEÆiÒºe@†¦±×Á¿"—aŸ&¼ÕÐg™4íKšS‡CašÍÿõZœÌRæzBŽ8ömìÚúެ;á-“€~gµ¢ã„m›iþîe€VÌQnÔ÷‡‡ |þtÏ$‰N¯ÁÞD\þĬ\B ke°{5b:XÛ )Ú°dµ>i¬TÍý¬jŠ9ÀÃo“X8”úõ±'vþ5þ½{2Ù3 ýÀ:×——G$»WB½ì{{Šk¾:èy5µ©zå `…u[J‡¨u©aÆ#t÷ª4õ»EÆïwC@öŒÛWAo‘Š“FâÏ0Á6˜ºäê§Ðí€Â/FGê¸=S[ýäXrn¦ªÊM>| zo[ÄÔ2nUÑ+íGBÑõòI¡â;¡àK×^›¯‰ÎJw7Ɖ4€ö p¿uð6ºæ•|mpR/BÔ¢ª9¬ôãÁìRgÈ)gnµR£=–¹É|šÝi]p·*ú ™üJF·ÄxI+wÐsM²qx²f#_•óO8fub£BY„*9ZòyNên=5 Ìe¼ÏÒL§Oš5ì2pÖ©[ßyX+q™Yi°«!ã®: ŸøÁå!¤ìωÔzéݵ§’N#$4üåMÌK{“ƒè&ÆRøº0݇閔U N“ç¿Ûvq#Q†Vž×@þ¬)Ú3ž…xr]Ù;S’5™šŒ˜Áf¸jåtŒ¶% ÞôÃÌÑî‡çû_Bá¡ü_í€Ä3¹,„ǃ#­h ŽØô£bªÎÜØKé²ÄöTP]l÷Ú«bdNÚL^¡YÀ;«0 ÓP©q@ý5¤ëÚÂM®êÁ|»”0)è: Äx…ëDRÆf1'Ÿï`Ky<ª1ÉÁ\¢@˜U.YÃ/ÝšŽKò5NQÔ&jŠ‘fc§+ØôÓ³vÎÔ¢èôº@Ißâ¸g¢¸KÄjËüø¾ V¹y¬–YN$[b²à/\õÅÈTÓû!@"«6ƒõTë~Æ„ðFƹ׬‘~VHÑlúŸ_‚Ř›Ÿ9ŸÙü¸'1nˆ¥d—°”Ûrâq-1á¤z3J. !–~S?°¿?BÌýU¿(†:þ–ˆ4’eŒ.ž¸ËßÅbÄÃ1iéû¹•AI1'á3‡§ÜÞû)ôšSätOÐ UÛ±¢Ì•ª¸ËC8²•¸A@S Å=4/I×˳zÖÆ®œñzÆFàѹÁ&zïÇðϻOÀQŒȵ.-Ei {ÔØ9¥<\ÉЛFP²Ká ãX¡ËÀ™$2…ÿ0$÷ÐÑšÓÖ§Üü‚ºË5Ÿ@9-Aï,rʘxF£€GŒÅà/u +þy«€‘S†:ݨ–tpVøé› \Ûw90ðk¶­š£—ë‘m~E“E`?࣠Ì`_ºÚÖ—ŒzË¢9IJꪨŠûJ’¡Ë|ߥˆ‘Í÷èê=a`­÷a§ á á^9»Ié}bå("¯ÙN¡¤BÚ2û4pò.‘R2ÞÔµÊ$‰0õñ¸5”ã´hÆÑÀs¾¾‚Ç0ÄíÚÙÿ©Éä"¯& .wÓ^b ýÛ<»Ä& r¬Às’8É"1kU¤<¤²æ… D¡ë×`vØ| F{Ñ{:æºØ%-Zr8jµ“V^3 —ÌH¡Ä¹£‚÷".ù¹ïYÿmã‡WJð,ÄÃäuvuQÏ(…}À¶ç˜nüôãa$—{‰†áÌ™‡X¸PÔxN;Uúínk—À©Ddç©ã4v•‰Ý»áZ"uÛÎÍBn°ýš¬Ï·­Ü³Ý~üðV%*D,lß{U³övž{W› 7£^|FXÔ_+¹Ç}þݤuþÔù7Ø–‘É-ÉG¯o'Ì*dõ—hõP®:¿ÉÅõ–ÁáûçhÀHVT*Æ**_¨‚ÁR²}em°96àú 6mjÄã| ¨òó,|JFBœwjºPÏê m{tþª*4xz°ºj¿!r)?¥˜\IÏ»§9nJR%×Åbß„”é¼EÏÄÞ´2±pœ·ÌÙƒ {‚E÷˜Z˜¥þ¿3)°¸#3ßtº!S0yBC-ÿ(¢þÖŒyÔÉSˆJnƒ4+/‰ð¬·ÌÛ‹ŒN±'àfÃ}*ñ"/±hW×séE ÀÿE²wP¿×ó}œW®ˆ”œì•C² ļŠMc;d<žM%É÷»l0ïL‡òb|ŠŽòf•“E@ÙwÑ–]ú Ý·î2/cœCn÷œ$´ài¯ ·dsÒmœñ,±ÎüþQ½“«C_F^#,‹úúŒ¾»¿BÚÃÇ=´ÇäƒËb yPbõbá~MJbªHï‰{q¾„¤5îzã„ò°¦{è-=ÙOŸ{­R\˜=Y™§ÀV.»È–É*‰0Í á1‡®Ã}*X)uÑ?É£7v}ŒBµœUòkÕ<«óèuU×$à ž; °ñÝ=03ÀSy+ô̼Dè̾¼$äPKF8aæÖž;µÈÔ#@Ò»„?­+X)_à‡è滌$%ܱríÅ]ö‹ –K¾Â«OnE³/‚›"“™Ÿç´?·7å4E.T7góÌ|ÀœU“ÿ˜9™K42½d÷õìVg+Á9±Ï›f¢‘˜"çÓ¢0éƒiJ0 ÑÖ[Tj=rFøëŸ{UæT­Ù:éé?ˬ¬{nSõ“)—d;&TD®¸0¨•Hµ ºC û—cÁoÂ,#gðŠ9˜L^9Ê–°Ú„Â_êàª:U¡E"j`Ò¢g¿ Tþjfó<³{•N®uO¥d„R­é<>k6Ã]§ïøüš2夥Rz.«`‹+c·ÿ Ÿ„s?Î舒iõmñmN˜Zz>hG“bJùÓñì­\v,Í4ütIQÓ)§¬ðe$êÙ•ìÊÆ¸NxÊz¦\ª•þ2Jç»)å¹É°ÒEµÿµ™Ó ½¬)Õs_A}n¹Ïk„¶“ÝãÍ]ÝTNóqϸ·}´)Ü5îZõ7û0H¶ñÝêmb0ÁH½õ–U ÕžÞ|¾íÓ0qÀ=Ît^Ú)[(—úöhc„4€F°.‹ºá&-¢£…2÷A› ‹aß\ªÍ„¥ÔèÎg_Ý Û¨Ÿ–Z3µðUñÁ>,¢ãÞeÖGk»N¡è€ ¥¢á -h–”›{6RÚŸS¸¹O×øÔL‹  ù‰:ÜQO|¬=½\s3@k€4Ð^ñ]'a‚àrÎf5ñ8=Uh/Ë-Ë+€¥ šÃ¼ª“áÙ…D0> ù¯é•6°Ôó"€ûɆ•çÂl‡©7ÉöQo*‚'q¡’'‰&””ÏÕá'Ä ¾- ßøˆõ…‡¸E$äÉÎö›§ˆÐ”,_ŒšbfûÔl8o†»«é„| ãEã˜WW´Ô- øµ3 » óϺ¿ÝTºØÝtXõT2˜B‚FÃ?­˜£È‹å7®‹wsT\@ƒ 3.5ØôÕ…vwÙ6ƒÑVaVTNU\µôVÀAv*´v4‹é=ÞžÙíÍmÂí¶àËÝM ,“‘4•)¸¨¡Ìþȯ\ˆL üÛŒ=ðÍ{/¢Þã !›eêŒd»Ð)Üa•Þ¡\®¨YÁ„;¾Ð–¸/¸—"R‡^|æ`,›uç©5ê*˜¡„]p ~k•aÏNªÅP;;£‚P2QáÅol_“\©±CÜž[‘Eb¸¾¯q”X“.YaÒ/^çPͰÐsÃn„E¦’šf_¥5Iz'—G†hˆ-{´Î·zÞO­…k*¬Z ЩšÚÞm³a ÝQð¿q ¦3a†í §  i›Krß8/£‘NþòÑeY('ÇkÍÌcR;¶:Ê, :— hæç8­%,Üï1™ÞFIEß¼½ÒƒÊ%ýþø†ë$|¹s‘œ×Ò¥?zZ>ñjbúà£M:unxNWœãÝV%/¡31Ö—ªÑ·ÌI‘ÄqÐÌkOÙ—1a}µ.¹Â‹)&ßõNW˜ÔrÆ7O+Ï:ôú§Ña¥$Ï;æ± Þ°¸¶Ï²ØVÓd ¨¾|ŽøÑb»ßlB]™Öš¯+§€ó²âDk4”U}ãµ0Ù›{ŠOŒK"À]ÈbC%¬š´dåMdT/9–ˆž@,ÎCjý:f4™'Ü^•d¦pòÏ Ê:¯j§ãõÞ…Òkp /¿ø¾Ã7Â)d “~1Ä·^&jÿ¨'òšƒ¡Žÿ{»Â“ýù;ªé§6ðv2„|do\/9v­{FÃ\ò .ìs$ª”AÏy 5ÅQ¾­Ûyìgµ† ñÛÉšP¬xÐñ79-˜3qxb[.˜ÂXR_+0CüØbT•úeâ ƒµÌŒ™þ22Ì*‰µü½Vå?¢eqVµ] 9”燜ȇ*ã¹`ŒJ:/Õ"%úÒ:ªEÀe春%5è,ä4YéG¯Òª€/šúÅš¥ î÷ðe#‚¤… d׉_7JWH‹èÄ'GˆmÎK¥ÂVP Ÿ FŒ5¾óÞÐ@œÇc c±ß®Zéébï† ŸAÐINd´O:l)áFbÃÉþoÌ‚ë$œtk\Sw1La0.U‘3UÄ77Ì”€…öMȽúh:ZbŠ–Ì‹L“Y…"~`úE °w®G¥ôÖy1%¥­'|=Õú€(4XåzÖe ècªÈ_f婦Ån@š$ù]eß»V»Sw-:ƒÐ¤K³g̕¤Ã^Q~\x7¸¸Ôz‚ü¨¾Ò:Rˆ„Ëq¡¶f³7ä˜È_S5,+ƒvŠç¦JðÑ/·”Ö·]©z·~ÒÄ÷h=!Þ®KìâÌ _bÕ*‹¼<ß}âê.=ÝX¤`qÏÁØÕQiµˆ”¤Þ¥ZnŽ´XÚ$VxØpiõ³J.fPíXLMe•†tD2ôøTÖ1?ž‰k‡N= ^o€L êÌÿšýNô…)è ÿIR—q™M\zŠàA…4Ìø(=÷L¸°Ì•%0IŽÜ§óÅÉW–ëfcuá0š‚ã Š½ð÷çùƒw#χ‘šhäÞ2GàíU!‡+Á}jÀCßó÷ â׋uö‡äÄ…Åñè²!Éñ´õÛº˜“ÞÆõŽÐ`p‡˜´¿è8º×‘Õhe¸4ñ/m<à$t¢À¥v ì×$0ÌëþÏG„×-ÓÒS†‰DÓФÝ7· Ÿ ž6 ^q™T¥ÎC© Í]à¶)”¡æ4ó.-Òê7-Žá]Í·o—É.èÙY¬»e5†u D¯Ju˜„Q¼~õ›”xaDóOæH~Š]*.p8àå7ýÉùêÑlW¾zã.ì2t*¬%—{ö ‘éÉß ÎY¥à¹Ñ¥ž’3^㾪ÎÄ•Ý5êìÓN¥:°G ¨PÝ¿ ”õÊÞê+•´ÖŲrÄŽ §œLFu¸ õÝyãH×X)TÄ—ò…²ÚN…=V8æÛÊhåVíWX²ã)›y5Ur01x Ê¡³»!´“Þðe‘V"½>²‘4ˆÐ-_¼‰ym6?ð¦%bØãÎÖ‚ÙéðŸšæg±>˜R rè2=«ª4F<ÆÞ¾(Šë.9_Z½[îFÆxuœ¸üwÁõˆ6–£QÃB;.¯šN{˜…¯=1:Áðñå×Û¾‘ñ¼ „ê[{¼D€"hŽo8©Ex§¡ÒF*©y:¬ÑW>Ø`+A)Ý,Ëe\õQ¡ë¿@èåû›‚‹Úx ØÅ§HëDz𿅫ÌÑoLc5^®õ«»U(Ô 2à^¼|Îñ}Ÿ§ÜsJ¹PIŸìË~ȹ…0Jg¬¸˜*ÞÖMñÊ^Šl€´4ísHÒ€<¬ØÀŠÄ†ˆóÊüŠÝÿÕþ1²\ï°ìyR—¯D@­#9L|?ÙZ>NUà Ô?$¤@¹­P´A€Ø™V‰F£‹JÒja*l‰z±úŒÌ´“« ÐüìžéØ×þ‡ k4Ý:…ÜFƈU–Ê‚õQò™i¦dvb®ì%EÌÄë[ší޹$úêCôí%•ꎮä/XÞö n4”ëðíÓ7 ÿ…mËm0*퀤ÏFæê_n#žH9ìZ ¼3&»~rw–jA×C¥#¯¤Q¹ÍH ÈW8” s$7ã Ÿ°°:=„Q—Ü®`ŽÝߥŒÒöpgÌ&V0éH—ê)ÿ˜Å¡[`?Z‹,O\¤ù§lzw»G/:ªö²güˆWßÔåÓgcfYá'ãL1Ü\ÖŸT{»Ú‚ôÉñȰf7€Ë}5o¿ßK°zàŒ‘a·b‚ˆêÆN)Qpà`óctÕ, rü! ä:ÄÁõc.Ê¡ÜÏÏFÚ#Ùf|QEÙzÿse¦²‡àœJM¬=ÆO[u°™+o¼dŽLsmí-ûí,}z‚fÅ”nîW!”@¢§‘÷@b÷Ê J}QÆËÁ_Œb/€£wŸ îÖ"U¢ƒ®Fzì»f|L÷<Ó7à•c 3‰4p3ÃÄ—àòô’(œ ÖéÌc4Ê r\®üùÈßÐ9Ápm47ðäo¢Ñ¯õ¥[Ò¢G}ô,þOhó`oÔ%{å îÌ4ýqàŠþ_ŸoÎrõH¬mqõÁεý ¿ÝaQvy{óŸ­ãšâï}1ˆÈºÙx¸BA™8¼I¡r2‡0¾ðã–™CI0ïÁš]tÊ<Þ;NŠö¡66¿Æ x¸|²½­¯0üWÒ‡ç#(mü¶jKPC‰dÔkTÛÏŠ¸T¿ÊR~[ê°Ñx<8#°âŸ$45Ô™€·žKÆ;~,—j"¼ö=žû—³_ÚŸ¼aü?8 ßü±ñÛ¼¥Wþ×ôZˆ(ÑÑ„Fܧ…ž¾â4¯²£˜˜.ÕÖIZª ¶M¡T<…XŲHé‹üË›pµ3¥ ¯.Ëåß7%eóômI§œ±ï^ôl”¦àÞ2P’V“,ýÅÚÆþÍÌë§_û=†'=|f%3›wÖÍýç\õŽj¦¾è%’0¤nª·¢Ðí„:~¹“¤ÕB|EžœõíÙxºYŽxÃV”ÛcMý‹‘’fÒQl „ðÿÜá"×ó9WX¨P,ô³êÁÐ2À£<Éð.¶û±íAÞj[2Òjj%È•¯¶hE©1XŠÎX¦:w³lQuWªÑ¦Ç Vp&€¤ë±¯=²9§m÷µ³‘œ‰Þ">Jh> êVª%¦_]T«4"?y2;œ¯/@Ecë.s7 ™à—ж²•`ÒNoÁ÷:ê@hK¨|@ý#%€”Š ™,ªëZâƒRÙô±>L OnrJá†%ÁŒàÐ8×ÝoEÚ'aa^A\¾ø2â"%ÛPÎOFM'ܪYË–GE³!P™D»±=Ç‚[Ã, å MûR©ŠD$àÿú{rÏV_G½‡RíOÖØ8Ü2àÞp=aó}ñŽ´ñä Qå‹}—&w.è´).'_ZøQdò4X§c}¦‚ÚϨt$ª¬§( vlÄGðçøbô¼‚³˜Ž²i~¯Eºîz²èB]Ç%ÇTfNᢨ–œZå UôG/Aø*òfDèößÄ‚ŸÛêÇÀ‡Á9 yÒ<õŽI…ÒÝB%X–Ùôønƒ•|m})–I‚PygÖ÷÷&rˆíá(í23Ìè]9óÚ@^gÈd’ú$ÙàöиÅ<5ý$µỶ¶<­(s±Z ²—ió{†­s;«Ç[ÐjÂbŒ:…dLì hÊIy³]ï­B†Ó}ıõ³u TÛƒ4NBɺ"fHéö0>`y ‰"§ Ö8>-!ß7Â+÷WBT¡jÖöèwC’ŒEÏßJ b “ÁT%tWC}"ª ",ûÍ!ÉÉm'q—좄1Ê{ÝWÍ×@ ΋‡„}‚»íÐáQgÓÄ®ˆM©cé­°S‰çÇ/ ±NýÌŸ#ýhš):zà!p¾EÄìil»€cUØ’™µ!KD°¸Ø‡œ†¥ 7/ðР\YMldáçYׂ]vAÀüîÜd‚Ëd»ü¼)>Ï>9†Ù –Lîýô8åÙÆj$ŽjÉ|\•LéôvYêSK§Ø;º÷½± ’nÛ®=‰ Ùðˆµ‘Š–ßò'y«l hêosN^%_4Êþ@ÈýÇw¥dMØïlö'<‹5a8ìúT‡ÏŠe´Ùˆà£0Û 6Ú(Ât9Á^]³¤|Mc°V=¾{‰ó­ÎÐ01«½´WV]ûÃ¥Ó䶪ëCØÄ"‹€XîÑö*Ü„¢~Î5/›—,MÜ Fð:e›ŸnIÇõ%/EŽ °Bßi1e ;µò,[ðiþõ®iÀ*Wœ*–0¹¥»FÞ}Úvjb~A%S§xÔ¼6ÔHñ]òêˆÑ‚#!Z­3¨ÃSçêEF”Ñ©”ûŠwÓÏ•9=Oô‚'w¤~_c‘‰DêOø=#*Z\K¨x®Y"*¡¼çUL´¼8ƒ¯’%™ìoÁrxÄKÏ™m„PΆôÄ_Q ùÉ\´}> 1‹nb†íO왚µt¿…Z¡Õã6ïÇ|Òe’j%$¬ëü>¢¯>'L]ˆ—sžY—"ýk-ìê.Ò þD‘YsS¬¼™Æƒm·U{Š´O¾†¬Fÿñ>b'|×éÞæí7žÏܳ‡÷“_ÇÙ°‰¯ævÍ{bžŸ¹-9â9Ѐû]ÅÅ û ´ié|+T¢†AÚLZk PÆ‚9r uXÔ¯f¬d€!bï{UšœoÜ`ÞXk->2NUÛèØPd=UnÈf›Íhv‚9úxÒTßÄ# ŸêЪ_±Übÿ ŽÀa©D€i„‡¸‘ø.„S]wD³®l~ÇÇ“…sÉ ËK¡cbµV €e6A°îZ+¸‹êKíu‰äÐ㿹ýyBc0J¦è¤Vò¼ºÔ%µ›ˆ…·±™HËœÅf¢‘ó:¯[±8»E^oŠû,ØšX›ó£|§Â-¶•M]Ç‘JÈy]9ÏB¾NÀâcî~ÕvL¼»sëî¬bê³µ¾Põ¨ÖÃﺋáY8¼L=™Äß|÷9¡3S4*úþŠ%W¥Ø1ª„7ež8îÅUïdlI¯·÷Eâ€ÉwŠ —òçB;©f²c‘k™,Q¨(*úÖûJ:|@¢]øS~Y«jÏmøBü<—¦2£æè¬LÔºQû0¨8&'•zÁøä4`ɳ®ìRæ_æûzó¦m{€H;qši¾†þ€‚×óŠžT’©mËŠiïúFXí‚¿TBEÄð:B¥¹ †W”«ÃFUÆg¨ÆïîvÀ™ßªÙX Dfy•óR¿ž'Ítƽ²A½‡2ÜûóÛ¿†!qS )2ÔÍÀæBʇ*F¦»Ô…ÌÇ£EûΙŎ;2Á’ŒÀh¡ÙùuµØ¼ ¯¾zNtÃ2BPÂÌjÖ0dZMš¨Á™]9ÿQ|Tþ0X´'‚Ñ€ 4R€u¾};8 Vè1ÕÜ9T¹[ ó6 7£EÛ0OÎz„HÒ(`$¿÷zEÄes´ÊaÔÁL/ýÕ#„ ÜQ›HJ¹WõÞäÄŠlª›‹ø¢® u€²y0("+žlg²]¶ì{;‹ÚDn*Èc±èš“V’!Ù§²¥èÍM z«à’m¼z_ÿ ¢YÈ[\ôMƒ`”®oWëf³ÍSøLªÀÑkãLöŒõ`Ê«œ2Gîµëû{d-z¬xåfÜNJŽE2žÄª…Tý"]°Æ6¨ÂÐnŒo-h³¥ãHh£´ù4³‰¢cMnû“'¹÷Å'‚ ¡8#¶ ÇŸÐ=¿_ÿ€§m“8ªBrý©D…8¿`ÌÕ¯tm™ÔàÃßÝ!4—iy\™59TM‹ºÆw”ÂIÏ•xT€Ñ>"е°­fž¦Ócw+¡R™h¡ýµZÞj?j“˜ºï ä2jð9ú!‰IóIÏFV(<€IñjNýõ-ƒ%Rãâ„(ì3"®×Î+~YØ´ #F~Aðñ(:ZOõ!Í£ãLÎ}ìUÛPpçµ ¬ç œœzCPôB2¼wÉ"ĸYÃzŽIàŸå®ÅMÕ¡l·ó\ܤ˜ÛUè“ ï¥N×W¸°Š„Êß¹ÕÒóhձž'©IÏoŽúm,ÒÓ“Ð-¸ø·&¼€O>¾U°æˆ ¢ñR˜ê"EH¡¯jYú%_,Åø¸¬“ …Mý4 MÆÊs$%WŒëÝ/…U¢0ý`Kÿ8­^@ZHÚωŒÑ­Hb„µ,% ZO'ò\*1=ÞUGÁîÛ†S¬(i”Ú… ÐÀƒ¦-*;î„å";ørÏFËÐ&·Zý¼ÛÏÍ‹.à‘‚«ùþMµ_˜Ôɀ耙9ª&­;‰KX`æ‰NvH £ XÃ˽¼3óýÓ'LÕCàÞ«†çÌ`JáN)Cn¸àF#$Éa™bLNèDo(æt>ã7 ì´Ìì³Àî2Ô¦²>e†1 QTuˆòâ‹Um§çq Ϋy×À(å¦#?ϵ$èŸ*ÒU½wµr^p¥ß_u,B9Ž£Ò×ðé’pQÚ)‡Ó³¡žu±ŠXt1‚›0íyušv ª†/BbØR0W×óÖ¯iŸ‘>ö-” ½ë¼Ó…ØÛæ¯Ùõyž[ØÈ™ïfà (%‘h•6Ž;x¤ë:­•Ûàê±â÷ k—®¢ÙŸú) ÿ'—#-ÚЄnaŸÚœNe‰y‘» ´÷'æ»­fêƒo4¼Ë´‡S`ŠZZºJ6i7F%ž*' øÁ\P¯2v þÉ,4è­ °«PþDâ?Ew´XF±¼beò¾`jÚ3MåÞïr©«Î{OóÕDýùÜ랬̮[¾}Ï…'N´e¡XE‰ìQ“h×ø5ÜeçO|L;hõ^Ò¤ø<‚¼®Vn¿T01¥ û˜>aóßi¡Va?XÕÉb·,†­µèíñg†¸ ¼?xréòúÎn™óÕJà‘+ø`½Ÿu)®éÈ÷pÇ2³d°®ŒRàÝ}ç¶XåúÁ´GX1dkTÛväí1¯:àppXFÑR|ÒojÕ>˜X,¥1ÍË5Cž4@³þ™µúÉ·¾Ú™‚¥ñá ³ûÑág»?»?’óÕç=èW Q ?Ý:éž×9²­=¨/š§œyÄ žò«¤+Ðüßîí »„g…ï—ìœ}÷«'ó0(4þxSq÷Ôc…;½€¬‰¥%]Ö‰»s§¦F6T†ã¼Â"þÚ2o«òƒ…¦`è”ññ,lCÌÛ¬ÙÁÐSO9)Ê£a Þ’mÖD¢oE$qºŸÛe­9÷ úCZȸº?¹>é ôx-¦5ãCK¶¬æWJû3:×Þzz1Ý  UÌA{¢¶ÐÔ“ºA¶¨NMìÒÒ½|ö®Ø9[p"îïpQ‚VÝ~‚w½6&é‡âØ$âew€¿“fDÊ-µ3Â3•9@iM’ýLJA¨ˆ*9áQ},D¤B8g÷ß|ò¸/@DîBS°­}ý¡Å d&È4㘠Ÿv¯1àŒ7É’;»•¦›"ÙÓ‘±4Ôêæ$e*å-Ø=¨È¥d·bxW/ùãÿ¬%ÌpeÒ¿{—š,áÒ&x+hkæ!åN°/–™ }ïê›?ôŽÌ?`$8£ä•ÎM³¨>#Æ l‰ŸQw%xm}Žfõ ‰ä<ØÓ ´^’æï ÛRwtçJt}ËvÈ­8èÏ6…ææÕà6 å‡-8erqL´cI0VÃÎfäb ÷¨ÜAæ9Ä&fuò0S~<šÊª ÛX„ʵã·κÜRb4®vB¥)jŠoák²“T&“$Û°òîPe(fRS‘èúŒfm¼Ä…á²PMM™^{!>Žìok#èÖL¿¤ë/á³³µã@–o1m‚oÑ´«‡:‚ÊD%; t7dŸMƒ}÷’O§‹‚0ègµœe;=!TÒPZŶàT õM ‹…a\E’éyP©’#¡)î‚3Üq4JÈôXlæ0¡Ö?k9ò¿/Z¦R¡³ÿ ´´)Q«h. À™"ÅA‡ó™  O5`w]4¢A?ŠæõÓÄÌÝXzÐæél¦²:n‘æF¥±¹ev’º5(dý¿ÚQN7‘bÀý¯l°ä£ÍÚýÄÔê°»±)ƒ R8ñ4&‡ùƒ«˜øº²h¸Ñq-£‚¶xãy#š€ö¡ÊÄ”þÜ¿®PW6’zZc²®\‰|ba¶ãVÇXío@©öR¯ïˆçнáˆhiŒ©$mZ¦)Ææ~%u¬¡¤ÆÏF¯[[ 4ð/aˆÇzÌ+šth´§oB!‰4(C4Ây@åS¤Œÿ\»ÖY4ÿ!‡jU§ûÒR ¿g…Í•§§¯o‡ïKà4} ¯¿;´œ29[¸Î¾éÿÚÈ )‡EF5Õœà—n<ë-ÚŽ!¢Æåg­ˆ•‡1:°4¾¯ÊEˆƒQZbŽó°²­WïüX^n= ·LÎŽþbÆáCé:¡îº2?Ê:ø€pß™“uùA”«÷˜ô%•áѶ·n¹|…s§‚R´åqŘ 32þD²jCæƒË¶%T²¬0¾• †;d%W,S-MåtÈl·HÜ`³io}¨x]xðóf£žhZÞRÄýÄBqû'¿%œ@Íì•Û•Ù>£Hô»þ®Ü'pY´£Þ·+':Ïâ§çWT8÷Ññ:p&“åð»ÇËž74®[(t±è(£‚Ýß\Z'ô9ÿ,òîØ¡4ìy°×“·`[Ýœ0Í# ¬˜Ü’q+¹A4bÐëÎyükN9I” ''r³­ßP11 “N•Æ^¡ìâHÇêóhï†Ò Hèbò5£LšÚðåÃÒ6÷š¢PQ Þâ£Ø…®a4"›“\cˆ3EW‚¶X‘êíf²¹é³Þ#B¼´“y…=[¥<3QOsfô>”ðÅb ä°%uCT†«'ço8‘¥ ¤-ÕÀ³m¢6 Ë™—|-#çÜma§ª~lÚkg[M0Gûˆ¹7Ýg!z±«Tºw ïÉå¹Gf+xÃÌäÝ ‰I©ÕY§æjÜ)Ò´Ó÷ˆà1OÇßPÔà#¼~ׄš]kT,ò6$[µ›;Ü[ÀèÚŒ_ì/TïŒuƒì ÄR¢7Áá«KS}XÎåŠ,e ¶{jÛ†a³yÙM.øSMÌŒÅìžt&|d\w,­^EÖ\Yñ¾ÂÎü ÉaÛ†þ¶p(†Ñ‹*˜Ý=rƒådþ%”!ãϣÅ%€· tGž«FÆ*-í†l5ʾÙ2îîz*ä· 1éGiŒ[R”S4Œ,q^$éÏìVâg–#ûߪǸÜÍ»|µ‘¹>U W¦>© xÚPÜ¢ŒjŽ(÷aPjis ŠÝX(SÇ•2Pa|Ž]e$¥ªKM†ïõÃ<+G µÔRb í…`i‘´Ù‘ oQhb#«\ù&LŠ£Ë“-¹žÖª³8G2É! Ü÷×`i’o£@M'+âŒÇâ"(¤ß–õuˆ3ª÷"ÃyÔ‘ø‚×Nj F­É­.[0õ‘õ¨ß°zÿ¿B©½7Å‚¢a ãÈe ?‚`ŽQÔPÌóÁU.™ä3,\¼F5yÛ@¨ZZàjfü㿃¾øÊ{“ ÷ü!Ëëîrä¿y»!1SqŽùœ =:U”ç•ðÊ ÷ruyY‹¹ŸÕ*hýìví6çVõžÎ¡¨óÎðK h#=v*ãõ#˜CVÏ£ÎBòˆMEój¹Ìµ2t¶y™Þ>ÞhŽkŸzgÍm›‰­1—âëÃ6uë{âÕú°4Áê¬_»SQˆ4)¿°SÚ›R0¥‰Fƒ|&¾ffhFÒ5Ë;‚NV'aä[ÆÉ³Üd TýÌ:b!E‰-M—ÚÂ$ómpƒƒؘæ·N_T¸ìMÛJÄ­Âjjÿÿ.¢'‹¶N zwG·â²”§ÖÔ*Oõ¿[.®ôï½w¯gïaÈKÉ|~N`MÑaô§”LŒ…ï¤ÿèç µæéB+ÛNÑ9¸’[Fã( ¾ §¼çj7=×Êmo¹¦ÖÚ]»pT‘וlhµÕ@„|•å@zKðAºõÁ¨ÓØg8Àmm^9p³°ˆ/Ôuh`гì/œÖû›á;;HLj&ª\á;tJàöj¥xJ’ˆågÄk#ˆrS~`QC !H0Þ–.d^dUÁòÚ ¼o`É àfŽü ñèàÈàÙ`¬®J©ßí.­ÍÈá‹äJ-wø‚&*6(—2\«Á†ré󊓹†ÜVa>îE6ýr¼ÄÈe¸~Á/‘qf`Îk ôÙ½À.ဪ1wÝ}GµW—WNõ›U¢æ~=!¯wOé(h{ïB°Ž´@c*Fx{Úh0ø|vË–×óŸàÁ½]?¸íYUDqžàfÖ¹¬µÊÑi²ã ¸K9ì?KE@7»}E·Å &Zr;Ã&FDº h#]#ë½\6ÂÇçø±ì•ÒR¸ÔÜoWA]_’jB'ìªÇŒÁ‰7«¥ƒÉòžhË—™=³Š”¤ú‰96÷›Ì™¿¯Q‰›È9MÂÚaž¼ZxÄ”G=FN¿£¡© "g‰û¯^öy U7|öÔ/’Y¸‘F)îávÄ×¼.0êº3Q16Ê)­ƒŒ ƒx¾ä!·¯>hÍ O]`°LØyétXäü]ôãóÅu%l’r í.ûkå¾â^8P¸Ð/´ñAu­ éÁ(í:ÌÕä†T§…¶¹ïÎ(Wôd^T~Cîº=þðp·?P‹Ñ Ûúx–ýWÃÍ%ÞB< Èô «ôZ•Ù„ÈêˆRKÁPÅÚ•ÁÌZ’Ì»kïcé‡6ù—Ä™¼)õûo.éÂ>çÒŸ£e«RoD2™¶Á!÷š!ú}ÐekÖNüvuUÖñR¶7féjíªå½Ž¥Õ®ÈúŒôÌZŸFñØ–e厷¶>Š7öÍ´—uýº3už¾¥?Û]zíI+÷%$\Ódù}9a‹ŽRÐvsx{I?ÆÍ&WϳàÞß]8q|Ž³Û¨$µ¸¾®5Z³"UMZU&sÝxFnÒ£Z³€ÙË)¶3Òp¦aq¨Ò+žÚ·£<šÛ‘“i·ýô,ºßCíÇÛQÛ «ŸŠô8A›KÕK‰;1–¨£9}Ùê#zÁ‹$D ®E3Y¹(8O À¯¨YÑVQVÏòr¸lÒ-š$™ûŽ@½ñp¥Oú¤Ïá ‹¹÷¬dÉ…úÀPö&¥msä‰~Håøwž%x*ù 2(-K+Ÿ$²s;•ª)>˜M˜H=äz3ñL\4?ã¨'º¶ÞNNbd{;6ñ_3¶'CVš7ØžÇ*{å«^^Ô3~ ˜ÿs‡Û»¿î<{ÐC7ØS8zêc`:Ç¥Ô~G³Æ¶°IùJ $ ©¶Àú0 MØù%£O×¹&Å+ಌÆ"(ŸÆ¼‚ÕFn ‹HO¾ƒôg<ìÑúmÀ‚(ö×` N§mPàC³ð‡£ÍºÍÕØ°Ý¾Š<ªI€›ÇÑ\Ûˆu—D¯]î°²šÞ†Æy´ÀsÖ> $(”ë5~›`艜áT¤¬a¢6,S@ÚŸöÓÓAàüsŠVMŒ¿C#ªƒÞ~È)\£4€}c¤qIöE41Sý% þ”–Á­ ædàwˆŠfsF©«Ê"<[ nŸÕ.ä¨0¥+£‹ž¯¨}4w{Ør¡Å'º˹¶Ô{UEÐz̤w u0ê#—vÓÞ‡6`Ui˜^$ (~õ2ä ‰ÝÂ*MM†‘ñÉŽ%Ò†ÌB»¢LðJûþå†{iû‘{À²—$Ãby,Ä’f":«]2äÐÑR½«ƒ¸g°»î ²g¾ΨXvliU…"X“÷)/’”•[¤øMŠI@áûgƒ×¹jˆ©žåÕoy&Ib¸Þ»øä`wªxê÷_³¤Qr£‘§žðÑKV ƒzm{M_ðd"8ÑfŸ÷%«U5ñÒ£QÞš«…º¹œaï†#úÌÛ³ápºå¿=žƒÃ=Cm<1âÕ(»ôýT˜”NahRZÓO+0ÛæÒBLf·…Ý·ê]$?¢3 SœÅFÿÑ­!'³ ª·£ôˆÑ—£Ç'¢èMr¡Ç™gÃÙ?»”þ`ž ì—žÈ]Ή¾ûе¬žAÒ‚;ŽPe+¿ “º¸ÈÐ%Á6LÙžB{8€-‡Ü¤!¸:"ºA µ„BŠL&Þ ð¢à,½Èú÷ý ± •üÓfÅ0ŠÃ#CLß[LùÏ0{òx©¸5Œ>Ið¹ÁNÝÙÛØà¯ûŸMX‹=l‚þÊ¿à¤ÀÓÙä¨xé§ò8k[f!¦]u@ËLVJN™Ä €ê“ÌQSµÚOïõi9Ì«(ã¿ öWÞkßïvÞ8ò¸y.’ðd§àG›èU™’i 2ÀäF‹ g¦†÷–¹¤Z•œ¦@\'+GˆëŒº­"k“e=¦âƒÛßX¶?¬vÙ€ž$šµ!‰l åãîtÚ´¸¢îsn^Ž F’?óþP7eYGA2ü<•z…P8ñ‡#ÿ6ÏÌUÛ–Ë‚R:jXcN;‚ÐDªÜ¡œñÂ~ÂmšáœÄÕ-óÕO¤šå6ÿm(¸!Êê\cÈ\¡Ô×þçd¹'kàñv3Õ:—` ß%×€o#ÓÜ?ØÀW;»Nz¨iÇXU—ðã&Ü[à{¾"׫‚GèAg¹*oé˜&ãABZæó ¹:¿ð»•FG÷öOë¸ÂA~©/ËŽ ™ýPž"@%ư+_‡¥j¢€ÂÁÝ‹y¤É¥S!6±-ÏXl(1Û€ý–‡ù#=F»E³âZ¤ïއ„ìQ‹ž¥tì!e7Zí<@ }°×"A1í<Ö‹ã_è”Dü)º/Ž4C°êÆ–ôòoòÀ¥ÙnÿL–|QCUƒ-ܭ߂'Œ±¿ÝŸä¬ËMîãDOöi8-F-Ž®´è#‚™Ž˜èNV^®Ž‡„PNÑ#ìês[Êô*×qOæäÓ#·Ÿ‘dd˜OÛ!ñ8ÂéÑ¿ºÀ±{”ö9öM§xüúÒóÎ(Ó6câ[àæ$’ÒJ$& w+oÚP Ñ8f…¼û¬¹-)Ø%ûUBW ˜Œ…®¯Ý<‡»¯8]q›Yúá2dïOªf&…ý´ŸÕé Is˜PÉSË€ýÏ7·zf}̈ñ7gøîLŸ }ßñ©dK¦ ¼ ‘¿Aw=×2-Œ8¾9lÚ5ð„57ôì´‡,‹z';RéD`껯k¥2,GµÍ÷df;óÛOe³žWvìT|jp+!âjA†¯G‘fîôköZ‘™ñIA!èÃë*ý^ŽÁ If]N Š*£»ý¶ÈØg{ìk6NdØØŠ]ß»ªs»IgßÀ‰ù® Œcb£.جg‡´Œýø`„jl`;„qÎ5®µ(=#þ´$k8†g ³™=-³ˆœxçk•-ŠËJ€UGƒ³‰RŸî]À&«ˆ¡õ›šP’ÊÍÀe÷?GÚ¼®ÇòaéeSXÎÔ¦{ úµWÖPdhxN¶gC9z¼ ¾>ùî˜2°¹Ìj­Ïÿ1ÙÁ Á©d§°æÎÐçL5©<ñ%öí¢é «Ù4†ZØ *,ïXøN;°I9•·Y¦ЗÃÒ¦¤bÕÎ „ÊéÙ34˜Ÿß†â;¹Ðñ2*$Qž¹ÞÃÐŽˆ¬Ò¨RÛ𢙞ě¤ \éÝYpJ­èŽ¢gÎëvJŒ&|˜¤KTR·ªfßc.ÿ=Fnö˜y ”I¡y {·+¬ò‘?¸Ÿ?Lý·h‹á/zJ+vÃ)b?¹V^IÚ R÷SÉ¡S'“ÓÙ·4åÙ$‡/º×áΫBæxL¼ K¦ „ü¯»/tŽ¶Çž]ćV«†©oøh#§wÙvÒ_9þ"”P=QÒ“¥IÁÓqóêhä<òÓBþ›ÄHfy±M²×g:ä ¢M’ÆÝnø7•¤©ö×NL½ð=‰‚ýé‡í@xVQ0êE]Ën?}òNJ»5n-_?Œ'çof"NìÀB¨Õ#§ØÌ6à}°¿XèðNEúŽä`zÏÌà€}ô  †Êw˜À¿]!íf”,DÓØá1g…„!tŒóQ"sÉ0ô:ƒ–·… YéCÒ4Ûtö·“: Kün q÷#™úŸ @çŒÙ¼’U“àó(OâgÕ¿V¦±øµ·!̘†Å’ê¹9 áÀŒÐߺuÃÎÿ)ýÕª²ŽËc²†mK6Î&\_i/BñSžuï/Á Š/ ."àÁO¦Aù¾ Å)ó‰,oØ×ÑrÓõŠ~Îç¡h£wj°ø¬¦5zayÉ=òKê¦Ý]´úÍ—D™'Àľ<°ºÌçcé¨3Djˆ¨_hKõ}ôÁ-Á ?:dʼnuçé¸fL,¾ë¥Ø¦¾qžOʺ¾U%6n}ßÓƒ_øS±yz‚ÄócròŒµÃÀå¬:†=zàiüc hÆt}Ë%ö°>[^bhiÿ±à9¢9òÞc¢ò¯`f>@žÆbâi‚‹Ýí©¹#…+×UHrð¦»èN$i`ußžD“uEÙti?³íýfè´¨°g€Jè L@‰Õ9Îýñ¨ÑÙÓ}N m s ë ëe€櫸xª~@Ñ9±û7k0¾„™.a…(~¤‰¨ +]Õ§†â®.¬¤Ú¡Gä©!èŒÇ8¯±–Àå`ótn¶ÝùévÿSftWï®(ɵ็Z<`·ºè Ή¨cðÃMîñŸÀ yÄQ¦àa|DAÎX«üø2×½?­ŸÍï]}.“v<= ãhN=ú¤Îx}¶+Õ«sTAVÍʉåŠ+‰­Ã~•%%;ºQRÊÅ‚Õe4áè95@¨*¿xKˆ`PV‡˜ÿÍ/l]Y,Ûn.ÉõЬ~©Ž—˜ÁêØÃ‘[7”< Rî|ò!áÉz%<ÎÔÁ%ëy`îƒYÙxÓû™¶ï¬Ïš)´8h¿xš{P.sØé å°»ð|ætüð 6{ „zKõíSE0¡Ðº.ïçš ‰#T~F<û=Vٽܟ7Qöú¶çØÛÞ«;‰ æC©A[z· òñ­°þúc¹u]ò“s%Ãü·½'ûÔÏ"Ö)º€d0êB—ÖbÇ»o¶¡J {Ö{±‰²,ΰÞrÌ]º9bOz¹‘ ZováÕZŽtÄêsÚ Y S­Ûˆøv×ñ…°NƵ€[Eh»öʦúWøï±ßŽÀ‘KßìÑÞ}ØÎcþaß0`˜%Ð+ªeAî? |!@ ÓcU)¯mïesÜtRO“µ[p(E(Ñ™À£ò¦#O½­|YÞ¾o©P:wÒš_C–Eµk(c­W0Üêû#}&ò´àxSC³ç_cá8`ߣ!÷ ¯%“餅‚iC× )ã×#ƒ C‹wèÌùª@¡CEñàÁû”öø B¾Üž!•Ý !½Ã˜v˜ `ܾh[ ?óB˜Z£·-æ° ï-‚ÃÞz •Ï&öWRø†Ðë"x2ÌŠZb, J¢©ã…^{N` S\³ÕÀõrÍ¢f"!CsJD,bxp- „&ÄŠX\§Õœ#ÂøkMÂV~™0 •U‰_ÛŽ·üéj„å}œõºˆ!‚ܶ•8X&õ5k3©bJ¦Ý± ;mO]«´ã+È4$Õä­”2¢1ºd©Q ÅmH&| "RÌè0‹5ÿ˜µª¯•&º Ji€ë|ï¯ÿ²‹á§nötÒYäÛK¯êŠxNý]9 \©÷d~Ì º«Î7PŒ}Žª¬ Så9Ɇ˜/äË(VOÒq¹Gë ¼ôÒp«,Ž)²z—›ˆ¦:R-'Þ5Õ B6µ˜36A$ÅY²ð+£ê}ÌLônÖ¾¸ 8ÇÒ Ë+ÙË…áVSÉMÖÖlû˜6´ÄéÂVœúĽ ‚~2‹\³cAc âí:ÌÍÔ¢¨fƒ‡Ö»#åÉo¶ªº*Îq¯\ÒI˜ ø=°VB âÁ¥šð2ëùíGü=å…îÿdÓ7¥7Y‘dÿòÒ:S6[žÓ¤G€yßHiód|%˜ÿ6ü‰ÀÁ9SÜŒE¿¹/¬<™x¢|³¢5LôÞ"Ü”Ic©ÍTªyöqÿ«²é1R,{ëA¼ÁMÊ"LÍ3äw=\m›¬Î49Š:j†Õ1ç€ùêý8„_ŽÌµEJ@KßÇ€Îw`ÛN[$'3ñžqâ?ç8¦Èö(!¹_X!ÇÅúx>ó¦»^±êÝnóC_èJ÷2‡ñùóSŠ"X[ cä Ò€C w24¡•ßói3Yx’ˆ;—ìM‡˜ÿ8ôëSwmš¸ 9C\|þÕ+~¤¿ÝЇ•£Ö0Xª³0Ë•¢u$Ù“Ìw€•ÉKõv2.ñõ›… ÓëL0c ŒÒz˜2A£ÖÈ×:øÀëPkO x0Üu›WÐZó«N9Ñ—9ݦs~VúQ¤ Sµe®j’Swqÿ(p^y†6ßWåb9pqÈ)æ%@F™\9žïœâ¾•LV—t ‚¶`—oåÌ™ðÙ0Hrýoïœþ¾ÄëŒÄ\F±QÅÎ…å• 3F>né—3àtÒŪI±ãàP“¦Â'ß3@ÂØ4ëϺ%+*ø–î9-çiqXÃÕXf(r}±7=jpJŸg`Öø '~Ú»ê®øc3ÉY‘`äàCØN:æ)ÒLºEáWiÍd¢A@Š’dc&V¥OóäÎ -ЧRœ;äÖÃÉ+£º?'¨œ³§Æi§Z(‰Ñp•Ç+þ™ÖQ&ѳ¿T(éŸy‰°’oçû†e£DÃ^Âk·ÃÞZjŽÕ¯RÆ«YG)Ö” „,ª¢5½üßS~Àø•Ï#)[BU$¶ÛÈiÇ:Â_$WsZ.»Íñ`$‘aTÛ·“½bö5ѯðX¯6ã~ʦAö>uRƒVtå±ë°­37kˆíÝË›8áè(ðÉ1 ž»Ð³¾o5Ï˾Ϋ!}*÷†YU«€=Ô3>0xB—VëA^)ïšô·Pýåd$ÏÛ_2Íæb OÎk“cW rÞ$ÍeOîa;$Î0#«¼Q@"N6æahä}˜Þ:X}ý»´bݾP½qb«¯4€¦µNøÏYÀ&ÐPò?’Ïô¹O»ø“é8¥»$^…¶GÂ%î¾DHj°(œ_M’³ßzÏe:%‡$åø˜F‘ÿtyòHÄæ–SC¼Þh[ðMSRñE«ÌoGÃ1_ã-)4ã©~ј@bá´ž¤¯ÕMûØ%ÿ˜³üð­!é…82B”öºfçÀžJvŽ|[Š6©NàrsÄ•þ†Qà;XÜžÏjÞfcâ!Ü£BKól/mÐs`{þöª6`¸ºüž5ÙK;¨D ´³Läe`ò’²¥¸~Î sA>!ßãá~"ø¯5CØ·bÚz›(\ÖP¹ìÕiHeLvšÞ’⛹™,”Ñ/áwgª‡¯\Õ9.˜N1Â(1ÆäZÛÂݶ›y ¥eŸI ·T<ÙþÛ÷õ’Þ0:òÔ3NÓöß«ÿŽà5 ?q< Áhi¯‹:ëL[ÿd¤b0ŠiÆP<5 f› NKE)Â^·b)Y‚Ñ®‚®éï®Æ_ém!"¸±qÓÙPžgpOã-!7'øØñ­Ò×~Þ(…/QÀÌ+Ãò{’ê<œFŒcɳóa/÷kÄ{tzÊ[õ®–è¡VæÁm;¨d£Ÿ1ø¬‚;¹”Q–êG52Ú¹q²UbB‡W‡ßÉ'>G tzR4ËæÖh#FfYio9y'wn€ Éq9g.çµ”©&¢ø=ýk|Cà+5ÆÈ]em p±W™áô%(Kþô÷¥”âQ“^öJº]šžÕP[Æ õoé,‚Ò;ñîO³Ê¥/õh§GÚ~krGåÄŽÚ.ÎÃ9¯Çk ò*É•Œ¬F2 Šuávž_AÎýQšb˜ Öe¿V*Ó&€ß!_¯r'€v°³ƒ¬C*ñ ÚMŒg5ôÎtÍ×ç¿ù©-¼õl;óÚX MûšzIV‰'Ys-ÙH3VxÆ/'X-3`s¹Ò "ÂZ¬k%pÌ’§hì?º¥ì’Á*„2n¬"’B)5 z‡#2ÌÙU£‚µ÷aY9.[a[Þ¦Á¾\êí42v«>ë1õŲ‰9û¿$Ó»”2åŸ }57•¼/8ˆ÷ƒGŒTƒû·ÞùÑ­}Ü›ˆw›¨QOJâ¹”e"´ÿý»onÞÅÁØð£¢|g öpP£ÐßsªvŽ+‘UØlPf¼ìˆº ‹©Ï‘¨ 0H£;š>å.!Ãéþ<³â¤]kË­Š×Sþ9¹eàcè-®›Y¦¢‰Ý+¾U`=q.¬öˆk£J=jþ2„n¹mìM-ÌÏ=È´2hùìMŒ¾€•ª— l´_@“HÇV µ!uë]ƒS ½•¡>Z9A«XWÓ5èŒÔÜä’q¼Í „LrTZbÚÉD4â»Lv³/ÄX.¡Dn>@jª£üûÌ#ªÐ”¡>">f€¶§õ SA4Þh†VîÅSÕŒ™ž‚_v—TA”]\6èd¬/¢E®”sž¦)ºH6Vïè÷Anü:—=T¥°¹ Âjª+tü†÷ H4ÁéžyÎ0‰²¼Í5<[ݼ‘&£'Khµ-ø|g0ne¯q †ƒ4+ž”ÛÏQ*›OÛ®+øoŠ`‚G+Z_ÎÓsi øÈ0GŠ +s{;Y°"Wºb>þSù@]Ç¥8’rP"Wmˆ—;êõJÇ›èxà¾ýPlfE³äWë‘ý…HQ† SWlɺNîÇÁw¹¯æ(4••iéEŠäPÕ²?²êÑJ% ëð§+rCàÀÅ áâKmY2’eF‰˜÷±âÉ™ò¸Ê%ñí<‡¡î¯È±Ï aÌ·aXÛG[Ú†< £2}Ký=29—޽$<ŒŠ¹ËŸ•úFÅ3-dfà>êÀlå#ˆKލ´ôVVÿ¡fb•y³nþîˆTÒŽ©Â©NPsÁód³®Û¢Ÿ­qÏâI)ò5È'OÙ€CVùzÛ$t—í<É¿nA­‰ˆ2Jü}é=º‚Ý´%–tìú-\¨Õ åHC¸á íùðé¯#:sjŠÚ¼$ñã_83kÚ²•Û^° uª³å.öÉzøÈ4(âÛ‚*r9kÕîyäÊë„ †B*x0)Ûˆ7­h¨èÔÆ3w'}ÅÚ§p* *µËš*ÎjB¡‚¯Ó³±bð=ÿ%©äœÔi)IíEN¸@HÏ/ްɏuUË$v(šŒ´EÛR +J—»Ë(¢ˆÌÀúOº¦g(‡ŒZYi° os½>†~Ö/øX¸eKtVGÖ±8TÇ…ØV#ë‡=€ó•÷£CkÈÉLœ½ŸzfàH£s°ÎKŠuë\œë'‚j'Tï4"yÑ;Jlƒj¼ UÜ㯩E ˆ¿"Ì_1¨µ­|6´02ÜSfGÎÃѬ|~Ÿ%É<úô»‰dŽÃ$O^C!EAbÃRâ)â{h€>ªì®¡A†œcþÍiCcÆÎ ŠðœQûØÒ£K+¯$s®À}°~Є¹ÜO±xôR»ŠIÍÉYÃÈFô¼;ugt¢’¬8Ð$evÏN?“Ѐ) e(ÓKÏèçVÕPŒ–úøÅ¶á^½òëU+ðZŸ€NY%Ì—wÐAR;b=îs‘7ò‡J©˜6 Yko(.Ó\ ¶nF^?`û­}͘™é*dËZ⤆bóÔÈ@Íé.>™¨YÒ?E¼~BoéháÇaøîrFÖ?qÙàÝG.ÄS¼žÅ3ýÌnnk“%(á\±@íKëŸh§x†lnCq¥ð˜ Wj|ľç#Ïj4šÔ€ï Ô«D5ªÿÙÝ,>r³ Ñ¥£®ÅŽR©ŠeWøÔ˜¶ÔÈ(‚Eõ44 óîy:¬ºÕ‰Ð2ؾà¯6L)&7²uçDggPb‚Ž¡ åmÃê½±ÐÈ÷&Ûç›ÄÎØ¾ar¢ˆÌ8í(ì—\ :E‰$ŽžÓõOcr…w‘5¿êš+Lt€‡c’özÀ¹Éß@ëßÿ/ª&ÈMhlF¬ãéìŒ-È»±ŸL)x¢ò•J î_ûºK#X·®²ÊRYÅAÄQîèpòðK¹&å¢Y±œ º>õdE$ÐÜxÁ!8½~(rêgø%zïÃ%e'Ç•¯"¹QÚ‰PÝ Ûú¡€ëgëßj×Ì΢ïþq36ŠSu[d<îF8ÖVÏ“^ÿ‰/¸7\‰%ßø‡cfA=úk络åçÑ·qÆ~TD5^)ö¹‡3fà*LºôÓÙ*Z­fnXÁéOè}ÁfÂŰÓ=©©ç¢€ÒËÂCÒBõ¢»ŠóÁMgQÉå£|r”zyxf)°];<û Tšîl)&ÙVüŽšÿ¯óhÖÙœcI¤ã [ûð}ÁS >ŠàðÈ?±‰iU<³Ð1ËÁ Öê…W°j†POó­u/zÚb6)˜×zw8î9—¶¦0©˜5Fd¢®š& x2±M´Ð;?¤·¢ž˜9ZêšC4lW–”Âñœ%ñãæ+Õòíþ,ÖWÇ<ì*¦\t)¯̳ŠR[í¢6'˜M¼Á£ÿ&eúÒºš—Ï´r#=‡u‘U_|B˜¸bÕA|»í@˜a¸K/Õâi#~ož‡çÊE,ª`öë7×dUœp¾‰{‡Z*G©ƒtAÆN­yæá|ÏYð?Éõébí !=HtÛY²|ÁN‹hºÝÇë ž¬@̘•õý®­voÓ6÷ åÚ³ ^›º2ª}ˆ ”ý‰\!æ÷Aë¡3®ï´÷iúÞ_câÛ»ëÍÜy½{Sƒ\¨ol#u“þü”3ë¸j'Ž%žë–+¿Ö`†ÍŸaƒ>³0ó Hß/(BWˆ‚.ûæ,&¤ÝîÒ:á+ZA:m]Ñ5Á±\{c!‡ï0•/†Oç:ñŒø{Po£1yc¬ÝòÇ„è’7$sB# ý™ø–Ðs»ö ÖÞ²¯ÞRÚWC—Tç†6(ËÓSê2 @Ônß³€û lN÷wJy¿¢<4ÁÉùw3Õ ×Èñùåp+¶S_ÄaK]éNzÓÓ@ÔÞ¥³,­ª>2(æ—á$«Bkò—÷ƒÚƇ÷L¶0Ÿ Á%uÏÒ¸€Âv#û‘ï06yÂò3‘ïU ûËØBsðKCÕŠ'²Šqx±Œ@Ti\ߣ§ïGÆÎóÅÂSÀ<úz³19Ë.Ûe¼›¡aØ”Ö%N­ü$A–D3È7˜°Í§\³z;-¨ö&0&• Ðç°Rʳ¨ÄÙͧ³BÑŠPÿ¯ì€?–‹)¯*'¤ö´½»‘ ‡¯·n-+°kö'Þ¥‰n ˜F6¢,#oùV«6DÆÌmwM#TˆŠ*a#ÞÛzÕ1ÿ¼é@ 9gÌ Á™‰–ƒÛxÓ’õjð>‹ÈþüŸ°ŒC•Õ Ög=»´©'Q½³ñ!K^A‚Ëv¯´ý¤Âúø÷Jô •R¿ .™Ošæ×6¼H(nRHs•Ǿô.­®÷ @ªŒŒDœt,Ï}Š ‡ëšúhÓqÛõΰ/¨îX#T½¤v%ˆ9%±D€&<*!4ˆðdÃѼƒ…‰òæ 8ri£Lú ~•]/ŒófßZˆ€€¨9ÝÅßÖí8/¤”ÙEË´ÙÌ};þYjÿϯöC)öUö#ú Ì Ò¨ÝTbkøèfôn{ì"=²`z³7~à¦HÁÈ"ÿÈX‰¤[dò ³QÛ¾öqV§0Œ½uKOýqCŒªáAtÉì"d@ é·“nÖ{‘ËÀTK7Ï[2ï2 B_/¼Jg®W“кOo 3#àè›eÛ3 £7Tf›‚o®,/^4™w|stº<¶È|@š íۀκ%:gØÃhAp=so¢ÜÎFm¶Ú²v‚©ì«{o›H®Ù‚iO?A¼Be”}žNé—þRÓ „‚²ˆ ¸Mz’ d§r"Ê“@?«Í`˜aEÇûø­êâ#ŸÞ'!À±åYÇà´5[Ùµ<*–;=÷Nβ§Ô}‘%¯jNsª¥ü†®ß,˜Ö‡þ€hù:èBÚØ2qêJKT [NóŠWYbØÊ^Í¥´*È.1[ì(ŸÉ¢Có±å3™&òl ϾMbàeðïðosǨ8 N:|CuBùa$où(ÆÓ2]¨õ:ø/·Ð€=#[o%ï,\ß@ÿ½qm|Ó)µP¥ÇsSÒ:S{pºŸ(ŽÍò'^o¦ÛìÜ KâéðÑﮃôݦîúІ9V•‘<¬ˆHÊŽ^©f®ÆÇÀ¾ŸÅ0'"SpøÜÉ./à/$™åÛWÆê^ zä'îg—JLªz•~²ö#éV9œ¢2ö^u±ÇPÚ±Û‡«ž Ÿÿû6©T$Wa4:¤¤ë°"„yÖç&»! ÑBʺȴÚÐ \¬%ó—›´Ê"bú™] ¨æNäË÷+|gÁçùªq$£‰w\›¶œ +5µ2³ÿ5ˆ÷ž^&;˜å Èˆ_^r  ûÑc›ü8µóð…¾W½2@Z„ÀÔ[x¶Ü©5ŠšKˆM)vY&ŵà*:–¡ôN¦­æá©ž&–¯*ð/¹Ì¶F°8ê¶\ºë£ ¡©”o72X•þ¨†®[®iy'"ÙgEeÛ8 (¥ Ï]øÿNS ©öì#ËŸ±ýd©_ò·‰DMÐTï–4¯…i™¬±¬ö@!tªx¬ÖYŠ 8J‹AÞ!ä°Ø—Zx5}{^hÚ÷y¬ÎE-ò,Cïhi©ÿc&—[EЀ»Ê-ßÑìÐ *5•Gyh¬öøiH$»­T=¿-á-g&ÿ° ˆ¦"xŽ ü5â¿ñxW#3¬m­/Øv'"f¥ï½¤òmJë J9tÃP# ëÆø6 †M[Ù*ì!wA'­›ˆH‚ætQõUá8UÛá®ØÅì•Ï3¶ÈÒœZÚ¤*J›Ý‹,p²z°¹Êáöz'éXåŸìÕù'pòÄkÀæBX¶…“UÆß‹ŽÎäC¹åõ-PQìJÃl.hµ9GY9àx*X‰ASF·¦ëé¶Âƒ¤XÈ[“Ÿ?ôpnœÌÑ(Ú¢œþZ)ú£:È辨Q„gȳ/‹òýøjU•”Ê@ŒÇAëä:²Ùªä˜÷xÁ>à*uú>>¿áD>Rޏ=ÑwÕ^þ@89 c—3Ü Ì#õ`û ä7)œCÉ>£[HA6ЦŸ*eý»Ö;âF¼eÎf%åÕ0ºÉIlÇ8Ë)÷e;pžgÈUO×°¶AýœñÓÞ¿HBXT3Y€î®1QÑAx=Äì[SÙa’O—ÉZ‰6I-ØÙ®Èr Zú@ˆ¾‹±?€:¹ìŸòX1ŒvüŸv™šìGbˆ8Niƒ14j4£ÁnëcSÞÓÞΑr8•Ýe¤²£¨åÜ]õ–N²ð^–‘“ÙAÿH[kQV¹Å;A,’îª9BŠ9‘AßbÒ=‰ÍÔŒaío¤";Òû³z¨QIe×”z]pƒ©lëÛuêoêñéö”Ûp‚ç­Jò}†cmy¦VO%¹”€¨¨ñŸOVߪ ÍPô[+yè~óí_;pÔÀ;º–RV3±Óó­¡T¡Âõ)i )Þ”˜n£Õíèì(Îá6H{VDb®ˆQ¥àG Ÿ„§DO!ÆO\ÛþãA>bÊQ´àø/ÅéVr–Î({Í¥!¤¤•yì®sH Ö *Ð’Ÿy"@ý— ;^ÍW¤ýĨt—Ò„2µ° Õ¹7ŠKÏ6¤+¨ù'"øëAPT8.Êžýˆz¡üz º\qˆ?¼.Êì9j¨ZÝB+Œ±«ZOcêiÔ†[TDÌŠò—š÷m‹`kÌ[DÎ3ysѺý×O@¨)þºKFdaÍrÇRZÆ3œˆŠ°É㸰®åþ±½’°—(A!ÂÐòQ(CÕóÞâ”Ô|±Ä3rªOè*Qv?ǯé…ÓŽ)#—`í{A¾ìÎjm¤Á‰ƒ‡Ï1Y4LüZÈÈbìv,Ø’Í‚úñaQØ–Cç(.ècIåýDºÐž¤›¥Ÿt#0/²<ú~5”] æ{´ìƒGÀZŠÆÝô<ÿá {ùûq/¾w•‰ ½ÔEL0uó„ÒÞ±x `ð†m˜ÚªÌ[‚ɘð1<ê8{;7 Ïþx =aä%ÿÊrƒ€Î”ú\-?h&êHûVêQçÍÇȨy )(\®«Ã<¦p2ÌGt 5*\ Ý:;-Ü”Vxþ‘kuÅ)¼AMŒ±›_Øz¸ÏtgÖ!Öi¼“Õ$bXˆ6qÛ#ÿÂFOe®;lJG$ª£DÑ_`Õ2(žƒ¿…‹QÄ–-ýzSùlê-cÄEÊSevºÅ=ÿhµU—A-Û10ýc¡ÖòÞ;1~AÅ(z¥°€8X~¯Àµ­ÄòX„coT&€¿ 0¾î°Þò›#ß™^ÔœGOP±H@˜"•nëHÕ1£ŒWëqÎD"“é0¸krÕc5' öÆ—h±x[zìŠÈ‡IjUG¿ñ^Åð0R‡N›SñöÀù˜ÍæI«’]êáÿÈ Ö éO*Ð/«¬¬nÒ<·©dÁãäéR©X%n·jó@Ü‹~)ˆo§¹R"«o¨NPB¤Jñû-Z4B2‚X‘`ÒÏ™üö {ùp½É´€`hß K¸Þ@n+ù§¡oÉUãIŸ‹ ä ®”sXs>¥)£hçÜ´Ï|ùè i˜Gs#ÛÔ°"`ÉÛºå7OÒçtS‰þìý±Šß²Ãu KQ÷ÆtìéJ]IùGä;ª§™ç3 ‚ö:J/Íq{ ¡9ÏÍ’¡‰÷#·ÇèKÑ4˜­*Ñï C+!Å—¢fYêY‡ÄTÉÜž.ðtÀd¡­#RÏðâÝ3gQºï­Ríß PýEókDéÉ…4¸Ò+“_C¤êI²êüa>a: …€Ê*±ÂxÞô¥gx8Å%¿žBc4¼º'„O:=-БÝfoûŠ3XM³ÝÛC©“Ü%(€çóThðõª‚‹Ôm[çÓY&„ß^§XCI@ƒŠô;WRý7’Š!’8™ëOÆü¨§ø¥_EpÖˆ ÆvO*µŽh‚¦‘«ž¸ 6© æ¯K…‘7üS¾»§*ÆäX,t‡Û­M"0"ŒÐDo ƒ–|s-èâ_z­ôððGŒu,ËiÄ&-‹–¸º}ÚÀdjS[¥¦¥SÿÓ·Rµò:Ï»[wy ìøzc J賓5¹~_nyò`Þ½{‹‘?¦á Ê*(rD´­Ò?§‡°ÜÀ‚Î÷ÌW[ò~å1¹Ôž›5±%F¤ÉfE¹‘„ÖN}uÙ3ùϘTÛi?`%ãPi—Äæe^´öŸ°›(rMøON Í{±õéJ’ ®À|8ŽBôÌι|láഫ°ò"/TßTZ‰"Œ¬ÔØ“l-’OIˆèo|DÐTõ£47£ò0³ &X:ˆu*~m‹1[•¨h`¤ ¶+hÉa ø”(_al¯øéN«¢è›S管½âäôh Ÿõ\Õ0f o²T!ˆøˆÖl7òŒS8`ÙŒí¢!EÃöKuÓ@—J¬ÁàÈ ÕÚœzÜ q™i¬·ž¯6e¬qâÖÙ¢i¤ÙÔp•9Øâý›€dp’¾ŠrS#íå2c@ÊVÒÒ‡´Š`—\¨ÔµõLޤˆIÅ$R{Ü-߈ŒÈ±&êÌ)´›6èg_dÂjª,8˜¥;[ñTž‚ßÍϹa¶y·Ê…NõÉÚZOpzÕõoŒ‹ö‹Êß{ÏŠà0q§«#Îxqíɹ;ÍtÛxGM¤Í‰c÷kÄ–gÊÖmy8úc±Š’ï·Ï”°‹mXùƒ²‰¿×šz"iÅøl¶ÌxRù6óy&ão@DpGG0àØ.‚ZÁ胲«2Ò§àµ÷RÓ@kE¿ ÖÇÅžÞ_Ÿw9€q‘Mm+Æ4uÓcuÀp–öÞloÊE‹mt&³KŸíý°aLî¶–‰•ìæ]=ùIH>i;°ºMv.Xî‚ÄHoâ=Œ!n±ìj >&?gR¨Öñé‡üù Æ„F|„YÙ7¡ç`§3©·Õ¯ˆX"å Cñ!ç2 iäè¶x˜ÀºÎ©ÜZæ˜UŸÂ3)Qä1v9JË›YÝPØi N‹£ZØÙSZs¯ë1vß—žç  IÎ"8®ÒÓ„î醟~4ÀNµuåwvãºn³9©Ò¶@ßò  Â5jcÎO7gxÞ—¶¨‡„û׿#l»q½^RËåg ýÂ`ÚÌLúX‰Ö3Äka¯ãåË$êŽb†'p@±aíïT F¬¥¤ÿà΋u’ÃrKC¬I&6˜Yq«ÈϪ¼°=RÊ;¡Ë¬ë,k¥§º®0ù¤eòH„÷³ JœŸv•Ærà ߘs²“dÙî¶~ š×=úùE4AêêýhnŽxžÂÌ…{æ/-¢J$¶?Æžàr6­Ï,‹ç(…Å6¶Ÿ3(ÕÆD“U‚0Uº§ {ŠÌ‡\×>¸­'¶muûÀ}”Õ=,W(+fhZ ¯Ñ¿XÑ~ÚÖÍÝ:ƒ¡àÑìÞ$:êàÆAa·jʘ%- uÚ%[›6»~”ßxwdÕ=hßz*ÚcUå’`šFöeÔABw,–¢z HNÁäͲvoF;•VC-³4@&Óáƒ~ñ½/.¦íÌ8…¦© l×íD ;mõ¨\ÇWÄò¡œËÓÍØ&rÕÛþ¾Ô¦b¹Uca:æI³K(Õy™N›¬;dà鈴{SP¤fPˆÞö¿® Ê7ZB”´•ü•NåÆj[J -€nÚÿ³‘ê°l@O•ê‘ÑÑ^áÿê~#j«m0þŽ"ú™VFndm `+ábþRçîµÅ(æÊY½°ØQíšÊ'Õþ¡æŒß¾Œƒ89š ÞõÙJƒ@@*¥DññËè'pSö°f&A†€U—6ˆ¿%½°5¡{é8àöÏC#+ÃGcw$U}•a1ãhä†UÚߘJdëꘂD42e¸xäÍgQQ~Éæ(äé7‘Q_á=Ú8Àxü…m°Ñ%¯â »J"ß¡U t²ƒ«ésÎÍU šÛÓVG%W×~.g†#x6Ž«µROÙ«—v-(áOÙüæF<ÊOÝ<¥{ɺe9‘ñ½;6šgš‰b̆¶n8çõäb•ï"ƒ‡ñz°¾îõhC¢Á(1pkÊ…a÷†¯6ÞÞÇú¿ØUI»l¼Ï-‚‰þNä5à:UO¾ÏG¢†Ö ø Á#¢Ÿ:<Í:G´ºys¨ÏÃvTU°ÐÛ.¢ßow'^˜vÕH£‘YÌÕ–©ËþF–c7æR|\‚ù9ëúÛÉÃÍùRwãÑj°o-=€r|¹ia˜FFúS™`Ü~ÇÏg I&x%ã‹mÁ‚õ;' Z½Øø¶Cý´Kzݳ/AÍfžt-€D ÅÔÁ3 “lši_äߣ[I®Õ¸™Üå§í dÇìþf¼3'¼g£Øq1îœ÷¯‘”÷¢ެ3=•qÚÉP.+]aI7›†¢­ÑÈé©D¼?¾ûJ¢Ç¸Š_$㆟”²’aüýÑÖ$‡ÜÈyËQ;¦<‹k'‚Û¹ºj:%#‘/P¶)·è;?lĩͷÀÁƒèœ4UÎ^ÖL,º•Gæ÷[…EÌö Û±‘I¤O7}¡µt¬‘PÁœüI5–A"øš#k®xÒuHSMyÒ7š“ʹŒn ,ån÷æplwÝØMàŸ)<(¢!«r·¾º’ßëÁ¢ƒGŒÀFãmƒüÜZ LÝ1.ºÞí<5¤HÔ¹÷ð§y’z?<ŸÕZïÖ=“u—†‡¡&0OP¨>Ë›Š Ý½i®Ñ—¥<Ø©5þ¾lnÆæùLtXÀçà[¦Ä´ÍcˆTð>+­6snïUÏJ 9(׋+$ßÙc=À:M#¹( *䇿¥,ãY|kqcz¥â ß\µØégu…ÂQ”ã)LíÝ».ìÛ5Éá5ÀS—1g;T]¾ªt÷°ìH£kèìy€³wl½Ô“{ g fXýÜRP-BF—޲ÂN]wÓØ6@Dsh;‰tõwÞ¯ï,yGT†3áô2¼Þ‡ ˜ëö…겫Áá†Hl$Ñûøh‹z§Í|,„â^f É’|ó&v§=£ÛºI›~¤î²ÂÔ1‡Iƒ\® ÏðíšîM4$ePO5góßU³^¾¤âü¬2Ì–6fWÍF¤Ã”ÌÙÈôã€;†m³¥ ;5Ÿ>8·r[@ðmÕQt¤9ñnÍR†‹…yw öÅi‚÷:¶±ê+£©ùÒ¾Q«z†Ç~% ˜y-XO,ês5ð5È©ÕÌ’ÅwL3TpfTþc jáåÿ6öVá„å(¥Áúî¢UàÜTJnRõùð­L”¦ W¦ ÜÏÝÖsü~^»u¡ÝSȆÕæ‰v.õAÖ Êû`™`þž ¤Unš?)àH•=Hf #?Á¼ÿ`š€ö'ÖÚä\µ¦J–u5g^~1'h×üsÉã—ŠGªMøÝ¼¡…HBm^ßQ=z¢hÞ:„*©ý!b޲éî<@ªë¡ n£dOó“šÎÓüÈ3 bá/AÜ™~ïAĺGXy ¦q‘ÌLAÚwgóãn@´Sÿ'ÇR¯œÑEV‰¼Ÿ,O$‹MX·Zõí‡+«ndì·€‡=ÐÛÿàÂòH¹1TsÄTï$1ϧß xvöÇß±Œ\‘í Т¼¡"›ÆÈFžh.£b|ÝõGn±ˆ ß™úÝYaó!†É·åhò8ŠjžÈPî¯z´ß”2Ù+å—[·7ü8¼›gªˆ¦~q7¦ÿœÊƒ,׉µ´I/ÃØzǪ0’ì¿O»pëgÔ³6pWËP=³š‰aá¼ðXÜLýsYY‘0ï?‚6[¢×Vy?Ee™KÓÁN{uæÂ„ (UV'è’ ÐTÀV± ÇÁZÛº$K¤ôåˆè#œê=ì±A|£ JëJhØ¡³Óº:) ícÍ8ß^äš—¶úíÉ}|ýÖM§dBKsoxDoçòòT„NS&”|SÀÒàwâ3û™‘’vTÜÜL\ùØßšõ?]‰æfÊ/Á'”=(£tÁú$¡ì½1V²ÜÞˆ*é¬ÒŒõWÑí&bõ")7ó8µ =âwóаÙ24ÈÔN=eïµÜצƓ¦-d¬]h¸×™µÇËbJ3À?zà³r ç¥ž—¥Yg=ò¢ŠrÈÔ•I‰ªþ—g%9!GêY §|ÐÄÆ[`‰Ç³€GK‘T°›»py# ßôœÚq™ŒIß]¬Ó(nX—–£¡Ð ¼“ìëS¿½}Ž –àƒJîðÇUfŠ —·¹Þ÷Ñ–‰ç¨&½›ÝÓUM¸jfEÉO°¥û“™v=ý‚ý'­„]‹·’¦"jž1ljK9ìZØ”òuÓ¹˜v_æq:ú,Ô‰4J¢ïBÕ×é?%âv.’ÙÅo«VSeÜm …)‰ýоÃya¤½ *#_YMF@nâ³3 ÌvøWì+^!?ßf9ð¡¨tî>Üœ¤´@ÖèH¸†ïÆ;¼–é$Òf“T o®ðj¡ÄgB2B߯¯¯ÿQ+}xü/eÿ""vâÿ³uÌý\$ò×Fïó®“õ MñaR‡´ÝãŠwÊs¶  8Ž­)¿g’ žÿ wØM‚æn­±£¥³8×þ1ž‡¡xHÍ:g¾${ÚÝ&N`[´0Zg²pSS" *Õ‘‹hähVªçäŸÀWµè…CCg? ®Ki^ŠÅß‹®ºå°w¤Ê›p»6[Ã=|¯=™ð°ŽÝÐņ¹ûH"µƒ¿¡nà Á ál–&“V´˜䳟XáLº§EI °¿ ŒŒE™ÙFÀ€oæš=SᯑÈð BvÌä!ÝNÕææ» k‘R“S©îR× Æ<Çñ£_'NåÀÂël ˜]/$GÑÚ(ìR[–3Ë´™gB说æéŽ·…hÏÿ­y@=& ½;QäJ@ Ð9yÀQ¡Â0<Èu Ý'Œƒ°Œ~_DpÅ„ÉaÐá7ïÌ4w0›DzþèBö¬[9¯*“ <ÇÛêÀA„f¬Mš@|pã6ï‘-W«R8Ì¡)^hGO¿5Ôôï‚ê0G†Þ)¹Ü i©ICÑã†õÀ­¨îfº¡] v11OgÞBÚQLø§ mngÅ€-•xÛ° IY9µÂ©Ó‘væ>|‡}§ìÕuÆ‹$”E½§ŠCrkm¯Ò«$3º´ ²_HrJ‚a™ÔOÎÈ =1YÈž'8ýbbEMA_ho_êR‹Fˆpýq€Æ]‰~Þ'ihÞ«Ô>øGCüU@­…¾c4Pu0Fa> û%“`¡ºDD›öSnÖ{­lÆÅ¾wzæÌ£ñ`ƒžLFf±+5“ýêûÃßuÛ!CÓ|[¨¿ª~@nðÛ«"XU«åÒoŸÛØ–ˆ?PÅ«föQòò:œ¨Ú‡Ø\ÊQé_üþÙåÑ®(¤RòOÞb‹€ÏÚŒ5o°Û¾bE‹s}çL«f¦”ÚñfÕÚ“¡bšÀcéâI¢Q«þEÔ±ÄE×(Eù_ª+aÂÖ?œ…)×ÈóŠqøv.Âÿ\´šiµ· ¨wkI”˜'î×3DJ¥ÁxÖ·b'$ûnÎ×ç·Ð¼ µ8®[ÁÙ@ËcîO}Õòy#æ‹tä¹È¬lo¨¹Z‰)rô0åÁ—;0 uÁ«ª2—'¼únXò~1OÈZKëd$åï¸ßÿ-Õ¼?©·íg·¦¼ZÃä‡sMA‡Bi,HHJBH½îsÝ!å¶o}þk¬$UôøSù§wjÿ8MM˜ ¾ÂSgDù¾àÆàHcðBÙÛÅf;Ðl³¸áámV£`²7TÙ87HÁ‰)ážOÁJâNÀüÒàŸø³KœÞîž«Ü Yš7eÚÛuÁ7Ï;ªƒlHÌ>Okw¬Á“/Ø–ˆ|[‚¡Þ[Å.ùa€™+!\®jÿ¨¦âñúÖgHÂÝœý°yÅ0­´ß_IÒÙÐszνńˆgBk¤)ÙeCh:Å`Ë¿¬U]µ½¤ƒéÞÏéÕ€út n‰¨N׫² ’£®—YÍ“ØiŠÍƒrŽ)È‚FáL‹Øór—ÿ¯?­áêý³€†L6ÏH–xkÿÐ7i]XSÝf_HŸ ( í)§@,«”YN`^pÙ«sY @Ƕ‹"ª€ò|»¨A죉g/@Îò<÷ç^ÑK~øð²}»èJÏ»­Ëð|¶«„‰‹æ÷=NÛ#ge –xäÝ>²¬âÚ—± }8¼ñˆZ&µ°ªr>ªŠ»á†=9ø?þ¤ÆÚåø3²Ø=Ö‰~0Ô­¯*¯&Mã•üÁª‰§w±…½ÈYáðu(¶ödo«®DdþR‹á»{iQz#ÛV<>}[F†ÑRœòÀì:{—M–¥Ã).(‹!X-X{Šy¤ÇªØ‚Ñ»i#n\8¸Hc”s% ¢}zËCEѤw@Hx`|œø‡p ì|*üW«âœ7‹PfÆ0êQòîM0 ˜~eü¤&Þ~̱cMkG‰æ°DQÔ•y&F­ì<Vx›²k¹3¿qÁ«Œ¡Y^„wæ;×v4 ¡ä)àtbÒAû"†uü.9€Ï…BŸfÓ‹ÚŸ‰Õêh á‡—(©±^;T[p¢Ï6ˆqp#eV÷=°)H© ¬¿EéR;ðXç¹83s¾Ç,ÖD›ATTå+ßôÒÌê±ô "ö–ß „^èo\Sy ®- þÌV¼ ÅãÚhÓ¨Ÿ5¾Ì>‘æu»ÿmÑHkS2Àë#¯›giEh*ÆP_ÿÙf1Ha¯®hØuÊ’.@ 9Âáåò{;óeÝUd³ÈœÒWÜG yw‚ïfáïmGãæZ>vò#myà‰îZ%Û(w‰ËqcÆ©¡´ñ2YßI€'k>Š?-üìözíùÂüâ+II,šÕƒÿ×_¡ÆW褪q2u…ªÊ;nÉIFÚù%ÚãÚÝÙá1˲ùvP|jG øguÂ/²+Ìk8öCÑË_kר”»[Î…ù2ÉK9„”S‚:ßOÄ»IÚåšnåw”(¯Žr^›^í`Þ 3Šš¸yl——ÛÔ¡þÏ íj¦ñ5QÒ/àSP‰7Lª ¹F>ÕÒØJÛb²µç8*µñª®ZuBwªj9Ë*ý¼Åü‚»ˆyy­ï¦Ë:˜·$‚ê· ¿É£QP3·;½êóL‚öظʣÐmÔuûåä((Ú…ÈyVùš¯ï$ºÔ‹)ü;jº{Èr²¤!Óš×û#"±ß† Ô4e.½ôú2'*bNZ!U›Þ¹§k~ì‚9,ÆN8öv—M]@á5%ü餒Ó;Mcw¥ „øÜ‡SÉ!%Z_7«×Z5]\{ñŸìa):h¯ðšò#VuGï]sÑGyÚT4Áköc?p7 õ±"=ƒ”GK?PNIÉ— ªÕ8¹î ‚f)œƒȰ§¢¬ÁV¹zŠ’‚(Ñ ÷3ûÈ Vuô^J‚!ÀX ÿÜä…¨ä'ªZ6I#$7û­ð=ÖÒh-YþÓ@Syœ1ÿVKP5ÇÞÆGLóD°‰“—îT¢ð͛ܳàÜ|®Õ–9š+ ­µ} ¸0èBy_]%È›_d2¸;îÀlÓÃáʆš°IÓ»¥e$‰ÛPFp]5/i›ezgëš}¤8©ûçb¶©HxøfndÆËùÁéŸ$µCí -¶(ŽÏÜÝKÔ XMh,¥T¬BØ{pƒ;Ó´‘9É~uâ§FTe¥µ£!Vfn#˜y}"4­¿(õXÙ—åOMûd§.£ÿ{NøKM‚¹E‚üî¦Ap¹¥áCíæppöѰ ð\ !Ó¶iPÆ¢²´§œ_·lÁeÔ­psœÝ­ðõXÀR:±¬ÃJX3!¦¨)A°ê‚ðºÜ“hYo$ê“"¾4í³ ·Ž­Z‡‡¹žÙÆ$L¿“øK•Vf5h‰);yí*‘[IPœù*-¦m¹R¢ ë•5ÿû5³—ÆU–ó[$:Ô‡ˆõEÎÄ ¿l²¸!.Ó{À°  Ý/õ‘êD‚‰Ë1–,¢4``Züü™Õ;ÙnF? ; Çß-÷H ¢ñ*³©Ž¨ ¶oZ“¬ç™¼Yƒ9ÖéóotéÌÉ¡.R##ùìqcÈÀöq®HN­Ìæð¹¡ðP• ›œ¡u£|(,†‹":Qîç7 õ–ø)$ŠÁ :‡`|ùqËR–ú§ê*YÀà8NñSe$¯ü @ÖÖO³÷Ê.ìsj2<| DpË$G¢üxHï÷u:ê’ÀÊ,f’Š$öÚ‹«õN_t`¾5!ã28ŠIŸ‹†ÔIÑ.WpW1Qvâ¬Ó0’˜˜RÚ´ÆÐq=´´˜ÿÆÇàë$Y®C“Æ=uöÝX{š°‰ã¹ÍÉ…ˆsˆÝ0AQÇÑ‚I¹ÅÞ6ðiãÞEªBcd›^¢>„c$s›#µšuóÈ‚ Ò˜ÞžQ—3VØoòÔÏžEÚ ÝÎÚË$SV–F K3±Éjæ6]«:£ŽÈjóG²Š-¨’ßÁ-³l‘ÇJ[`©týy%fô¶@O2øÍÍiK<†ûOâ»ÁnÙŒÂVXaÑÐx¤@Ò®.|M󛉲tÖê„¿üq÷^áD xpêNëÿÙ·l»Rv†Šîƒ¶>3˜Yâ=ãwűޡP‹%ç“’¾N3OhŒn¬ äôEà”Ã5Ù“Ó\¼'ᬽ°~~oið÷VBUk9¿>™“\Nküa9J6Ô 1‡öõ ˆ6OÔ,™UBvµ“;0/x/ÜAøáÂpÑQEž ®h£F‰,¹¸ZTY'ó“-›™;÷ûôÛl¤S‘¤÷‘¨£}Pºhï' ’¾%~0¨ …Yd¥™¡'ÜLí :ö ?‹é‚,/°bÞËÅy–“Óïö[Ú¬™™Y5ÇY¾sÑ’§ ‰áE檒ÉÐj“ Pc™lÖA9`ÿ™÷C2¬T¦Ñ0£ßŠSN‘’CW$ÙÈ,u:©4îMr¬î ;/EØ{}Ç|uFî•C°Jt= ú£,@.¦~ð™Ñø¸ í¤Y_ 5’䎼cšêW€NWÚñ7ót]vRJ&vlÙñ ï9#¡;RšXGXWfbÐÅ–¡äëÔ1™£‰•ìÂ"x“Åݵ_M‘¡2ú÷/•…u±#§r„ÿ=n>%‘m·¼bQŒ»€a€¸›… ‚š±U©Ñ“ž¬jEVí0wåFåë W½ÈxÏõÃ6à¼r  ÄÝI£YíáNZ áJ®;¡fƒB£©¤w¸Â7!ÊjÄL¯DG¤õôºì›“k˜£\[”6ú±Z0ÂîŽh‹ù&°ç‰«¥q±ÄPÝÓü²ˆ‚y ™©ú¸HpIE<ü‘|¸´» ã€~F3 6œE„TaZÀU­Š"aðp  !Åu (¡U@ý=Ú_°¹Êëj+S,þ/Z$ïV(ÃΰÁø3¶FäÍ–eW¼ªUYƶç|lÓZP9ñ7{™± ‚ø(IaAg€8•µSþÌwë ©’ì¤Y´dbe&¡^Å.2ïÒ¼á#¨b§ íïTªaä¾½nid½›Šœ£mújä–AÙ¶\ÀštÃ6¤ÁCÜäB¡ ù¬ðWQõø®ôeÑÑh¶âyc«Yyù<Ç÷¦‡»Ê89¸Ã1S‡lk¬Ýýc·¡ï8QM‡Îs<‰¤×@@ Æ|©/„gCÝ[“ËæøíÍçŒñÿø©:lZm(ê¢yFƒoÓž[ð´ÁòcõF- n.Z½¹ˆ>Œ7¨¤ ~|@$øÓ“ÖTzïŠ"ï°;ÙÌç õÄñÓµ›-ƒüù«^JˆL_Cñ› Þ/×ÌÓ´›@c1­g–°t XSA‹7¿Äw¨×ö¥ç|E, þ4 ½ÊqÖP”(•œ/™”fNÑçF“9Þ4£t†+Û&¡.&fHÛºš_8r¤GQœ2_Äð>'„Ó¯þyÍE1Âp}%ö5Õ‡˜óˆ2÷Êg.~èD)¡P—²QãCñö¸‚›h÷炵8¬oAyéáW¿£­ÉnCò~Ïrm‚¢áKW#í(¨ŽZÔA¿sÎN0Åãm8ãúq`+bQ¤á~^§«$RW°Eëôì’.¶öL^\§©|¥óîÓ"ô‹+fΎIĶT´ÈTݶƹíJ#nÆ&Ï~›½!Úæóÿ+qAá3WBmF©½óGwz§<¦ ¢ä²è‡ïšùÄF•ìâ•ȰJ:ÙÌ~MJðô‚Nz¸OÄŽ =¡„îµ®ñá=¼v‘i~»i¡Årä ¡ˆ$­V»4ü­½GáG:ÕØäw÷¿ÑH˜êUÝF™¶ÞͰD)g)tw’˜Î† oãñš†W>oc@²î™A>cRR&$$ìÝôHrX fH>gðõ—ÒÝù|5[gÕ,v£ ìëwŸA>­µ„¦ £HoöùÛŸëÀÛ÷Ë;悇wކuÛÜ×c]×|FKñu§®iÇ.?H¨*Çý]ª™ããz’å+Wˆ4æXÓ6Ë;Í]hŽšúNó?WŸ(*7¦‹8ûõcf؈ç2¾ü%!ÿàÁb ­¦wC\ŽíÕRK¢G2^’<Ój6#xÊü ̳ˆdö£ÑÊ(ãÓh34ð$¾»n¯8ºà«}eõr¦äg©ÜJ‚ÔÐ Ç•ZÊêLħ4 KkrcšyƒåË“qFfìÈSò1ÛzOææÀÎg®!G¿ªF^!¿ú'éUGgaó üTë[ïþís¶¨Z†œÕ±ÑBеw»ÄøéÛ~ªmx‚Ôé>1Ùg‚ž^6d2ãÔª|ü¥d=¤ï‰ëøh©öy×ôÖ^CÇ‹¸<ÔàžX˜ÆÝå7 Ë]°sIÚêf1*Š–`oŸ¸5¢0Ý%/:Ì^äéºÛ~GèéErBY“C‘„b˜H:ß|"ðöK‹ˆ’ݺàJj×Poi»¨· )¨C¼9#ì;­ÆÝ‘еqÊe½¾<þ ÒXŒXúá9:Þƒ=7Nžìè”Dœ#ªM†³ó®±ÜUd@w0ôþK¥C3.ç;Ë*†’¼wZN©Î Ôº¢Ã´ã,ÎK=a¥ŽÃr¹PEW[ª<ÖüMF@ZÖ'ÅÚöQ¶˜Hð¬ÌˆžÐé"ݹ[Ëïu#WqÜ<‡MÄ(gn%¡´&/Ø'‚,dv¿É TÛJv —èºd—Ïå쩎s}ÈX>Kï‹’ãçµÒKnŒ5;ú·:9½ë}Âç´N\¸±Æòê¢à›ÙD¦rÄ<øII˜[­sŒå­ÉMãƒ[-C=A<- k΀ѿ¹M/í±ǦÆí‘Ö91ìð™—²®7ImNÜ·h+]ãë »È›«¬×oH„Šn83œÖ¥°™ ß%­®CQ¬´ ÊS»íÝÛû±‘KYµÎˆÜúDÔ8Gºø)£ëùF&û…=ª1&ö¥4y¥(ä’ZÔ¯ªÒÒ¼æÜzQÖªâDȱÖ6/_´Õµª_ô‹ 䣷Ö'£rk¸ÿ©åLÉ>wXãwISiöïk*´Œ²Ž×ÙçÚÄš˜ö/}½zw˜#H·}zV-7ô”úïÄõÄš`R©çs?¦Ç<ÇϘ ñ´ìx¤”g¹'ˆ®Ñ–Šv÷î‹wˆˆ‹Ï~ÚÊw}5F/+P¯0à“£æ•`{4í ©‚õ³Õѯjl> û[TŽsY¶ƒš†5QY±)UYôª¯Ja†Â,XïªÔ¡G¿äH‰ˆO2è0³dÓ±Á¹[<çqq[$Q8ž~í×>„hŒ¸|аÂBÜ:óê6Ë nµ»MÑ ù˰Ùú™œã*z?Q;Á‹KjnÍwmÙIØ BͱAc_fTÕÖ8!®3:Y¯+kþe¹ Qýpïè"©¢øáJ[l•æÓ´jA¿)YïG­¸wÑ›¦L›¶ól{…7õ³3.\O©¦Î½in?Æt ·Œ^ÞdNÊÀ[$7:¾¯&{þ¬r?‡šoî?KíÎÅÇ:A)ånHÍ;*6Ë1¨é?ßIùãC‰‡ó$Eùº“K0d·á8H5äŽÄ%«3¡õo³€‰€Ëª~\¯%oQÁ{oðXFG[=ì¢laêØ¡éLlxWÇ5lͳË~_+¡jöö·‹x¯üm_*‘}ÿ¿ö-fÁ"Zµó¢IR¥×øN£ I[ý*wYlå“ðSd! ¢•`”Y=;Ž¤Ç¡­[«7,pä ÓBpégýã§Öß`ñyé—åãìǤÝÔ¹н‰.³L½à"æ9 ˜ÎÐCÔ p‡Ý’±ÿwCZ£ q…´(Þ(?„Û‰wŽ~T‚y¾îq€ FHË›8#Í{¼@ òDÀ¢x>bV{Œ8á²”O3ôã½í/ÖÅ"–(£¨Ã)¿tŽSËöíif+‡–pD rª—šF½Qߟ„ìÁ#ÆÉvåª/¸•ë;a`¯“DÅçï{KRº5—M§-„.f§X¨b{Í4tji€€«/޽&*R^#»î7Ú_gd>$Ҹȧ­qC’Î÷pšœJ¬TB£A'[tJgWû£ã*X< (wkFß“@²ì…Œìßó!¯IãF·s£…Gœ3ýX!lHºäFMrЗjÞMÊH:ÿ0¹F3Œ=’„û(ÛÍóæÓHå¡*/Gætò­£Û½¿ù5å•vÓ©w‹Eã>^;(„¼ ®·y~£—ä†üÕüæ}GЧdcPÊ£Ö‡Nžé¦&®&Ï÷¦:±¤ùc³ÂFi¬›9õZ¹º²ÅHŒÖˆ²k8߯y¯ÈzÚ#ݧ³É·æšIÁä8¥óõ΀l„$}=Luœâº1ÑcV]§³NäúÇÍÏjå¿C}?‡/xyò¼ŒèÖü ©RRY+E”òs4MRžv`:!Rÿì*:C Z±Ÿñ8Îi©i0Í)CÏÀ7é~¨g^F|æ3Þ:ÚÍׄ…íìÔø=_oÜÜOúT^² ’d»Xð”¹L×Ú$ÒxôÌÂ2H•%Ërˆ¬žžÄðœ˜åhhVI¥еˆßÕÃ0?õS&{3)_÷‚J)¹Ì•Àl Õ;?bñ+´Ü!»þaœ Ó^ìj¦-‡¶}—«Nö®mÁ-ÌÊ^v‹çMð Œm\‚Gå-¾q6ü=)Ó}“g¬bŽwˆF7€™F áóÐáAP¡'©_ä…fçí=—™«qjª^}þDUÚEv7Õë·ciø–ÁDûgªÞÙ #"FõÝau#Éw ó WÔ~ÝñÔs©§µZ¯§˜O5'±¾ÏêúºéñâÇMÞ7è ħE‰3ÓN×X¹²01íš“4(STØ%zÃI„<™Æl’Y—„¬œM‰‰ç7â7*Ö©I¬JñĤ É×_(X¡ûØ'¨(1ÿS-eËYÌ ïËѵx'ëvX n«qW™FUw7fgÚÓì¼XÞÎVåÈ“ FW†^it»¯ÓbÜ߀»þHŸÁ*8û…E¶Ó\EH®—kè$Ü´\™\Ñ)ØñW1£"ÄèéÝÑòCSW«EÍ‚ЉˆÈì¸zõý08A8#¡†¾ §ræJÝo=h˜åùØ{WAX”tðK¨;C@'Ï[R~W¹ž³É\~7MÉè^ÇGÌBž/)Kð-úäù£¼Ì§ÓöÚ\ŸBg¼F]tðN²K«Æ·zà4Ì.&7ì­b£©„µvÞŸÀ‡ˆ£fÙÅe¢J¸èA5ÿhþG[RjÃïÚ–†ú¬óC¿‰Qx®Xâ d? .¦eŸ˜R&»“)À±îæÏõ45æðq[ÅKq`M˳ËÓ|xsäÙwCw-ê¸ÑÇ?S†³<Ù>ÎÎIoÌ ØïQôr:$l½#‡ü]ΔkMìÿ²Èa¿®×®@Žgª\ž×íçz—ÅE©é—¬Eg†¡I9"V:M¥©§}¤ ¥¤Gë¢Nâœ$ýwNûOé¾,uì¿é²–Ó=E™všÆ]¿.ÿµñ×"J¼½è㸶EW6‡¡¤”‰/ÈÏÔ1ã~ÎîaêJ`;Kú+¿oŒæ;þñFKêªgNŽÓýyX0b dôLum¨¯ ¯Ð˜M¥²Ç2%ŒD|Z%¡‘5øv#ÀH½çuøò|üUsRÌkh‘×½t¥w!«ÉÔÇ+ 7ØUpþ%FbS!Abè°­SRCh/®&#¤™Éje«Vצ40?ø_ôƲÛZѾ£DŠÆ`]¬÷ŠQ¦¾$´¡ ù]Oœ·ûL<5Oï´‚aX³fð[†¼t”‰g8†Ã¦CyÑ\!|uyÚ2?„4?Ú¦ª†|B‚Ìv§æÝ¬+%ˆKzea÷îeÊÏ}_Ð+ÕLV·Û¢–bR:wý —ž8-Q„éÄv,ží7%ÈöN]&¦›Xe“-ÎÔ3O;˃® fí‘ÖÛ¾ØÑ\¯ªåÏlR]€A0ô7ð­ò8)Ù ®gAZý?–1Mǘ¦Á]l¾¬©ìŝГÏkøªm+Æa”¢±ÔC80.óúí€5*Ð Šz¸&Êž(Ä™¹:c_€ØëÁ:3NõÊöŸÔ¨D„5Ø aÈ+ N ¢4cqYÏK½’lð;sƒãµ5ã´Î0bÉMy‹–1)ÿŽùv±ÿË'›/KA°%¸’bb·úOoö]4‘WVNÉpúb¥tŸ¹Q}uñÿD»r’rêºL$_Û?ð­!­ù¢.m&½£›ï’j€ jÿb¦ª-ÓO­q*ýáÑðÔTŽ}· «ÅÙšcVqìS…¸ž•ͧF2Ä·‘cËG|b BI*«z´ø¥°0He'þ—bd(¼žšÇ,x~¼§Ñ¢qOéµ[ê´–í–qÚúþ4€YíÂ_üÉ*æuqÕ…¶C¤ÕÄš‰. e„Ÿº,/Ñ(²=€Â4ÇŠé#®Qd¨O×¾‹Œ{/dŒsã?Ÿ:Ë!ŠyÏg—c'Rþ þèæ2«2r{_¬‹Ê ’k±› àR©¥ØKt/8ù¹C2ŽÐ G&÷<œ]E—U¯_²ï@k¨aO@  ®—6jQˆƒ²-ƒçK94‚†‡(ã ÿ', Ë'ì|¢(bÀq WqÊŸ€3MTºb)]Ñõ`ŹÕssNlj¿Âø0Üy€„okú‰z’“pþ6¨«,lä+N³„±ìî6¹A…»Àn ôößìpNyçNta&¤j9/„€¿FŸzdfž­ÿ˜­‹«¿>Èv*§Ž¶½g<`>Ò‡ü£$Ø„GTY»h.âC¸©ÿxaDH‘£+C@Q`çÁp¡†"Æ®*Ûuq.·§’¬Q²ëÐúQÞ ×çD’ ñǵ0M@¶ƒ\ÑÍÇPùðŒÐüAòÃò åy %ˆÓ“.ŸkÔG¸¡ÙÇÉT…§Ež8^%‹vkVTv< Mÿ…•¢A€Ö>œ¦EžèúüK˜Å˜_˜Öb|H~‹Ó—s¿KÁ_½PôÌ8‹z‹‰ÂÄçJÎÏùè6íN$p½ ¾ì&@ÃJá†$2ìZ²ÏcÍ™ZëÖúû¸óûÔæ@w¸S\ÝZîøA:­LåëuƒgŸZòžs fU˜¶\H´ª·¯¡‡âì«"‘ú2%)ìÐí£LÝΙN€™3£=ñ·k"yR·„)eG¼ÎA¾oM¤n¨ É%iß’v>ûT4c§¿U 4‡wÄ@¶dèqºgÎY1ŠÍŠÆ=þG_ˆ¯b¿ÓåéiÊoßvR~’NØä,räíAO…?YÃ1w8óYõ&íBïõÂ5¿²ÒÔX1°i(´=ØJ ÚÀÙ5º{<˜¡48H¹æ0§­bìÐ<¢(œJÙ¹»ÁM>Àrß•œSfLfjw¨?Ü .±Ïl§r¼ÌvFöþpÄÕ£žÓ™‹ B:ùå%ZÔO,<æ0¿Ù´V ¹¹5d½‰#ý)öSC¸ï1%.½>VÔ5ƒfH/– Ð×&tHA±)wœ ³§¡œe,úã^ŽÜ ƾuÅ«;|ý1‹£ú²ðߊGžUlltãHX u†Ñ…]»îÚìõ‹HÊJ‹sçå8ý ÿ%4Qá=â€zÃ]sX¸Ì@µ+R^­Å‰|§ˆÐdô¼øg-¢,­/.Ñ1É›„’*Ð*l¡‹8¥µ°í½)Wñµ9< W˜³Û¾Ü°’®œ—ñé›MËf@DvžtU¾MmyféÙ–ï\î•pT|ôXÑU²7Dàã?Á‰‡®ù“îº4¨eÓšä‘Xl¨”næo»’µ@1¢†ö‚Ðì·@ÿ2›òQ:‚‘×.nÃ*N´ ºq»à<üïnqÀ’àj_ôbå(„d2X¼žï%®ÂµõC>Â×'ŽØ>°ÎˆöÅ!F>Þ~aÈ °ïí7Oñ±tÈyBj[­âÙ ø¯¦‘w›¤Ï–=e’Ê þC¯ü[0 Á,×â OòZ£ÌE•âƒTâØåºB+ªæ1Õ/ñÓK›¥v,6¶EŒlý)QÈšWuã¼ç%œdó™ržÙrŒì(O9 t׃Mµó¶|ƒdÛç=^‚ 9À_”ÍD%º€öBâK…Á”èâ—^É”òÓ«X¡oz¸-úÉy{Ñ5¨,m>…DÜ\l ÔŒ1—‡š°t1-V³ÀfÏzÂýÒ,ïA)9èÝc$räéG¾†eôÓŸ×) 4Ô{)ÃN¸§a%ÅÑn®éýy „ŠÄù©3Në„p„½ –A;ª¡šç”áR;ÎØøCáï0{G…’>n)nÀ$¸ÏN^‰@ÆH’v#÷å'5ïÙ#sYó)Í7¶~Ýú°Ôîkf5Uî„‹®%±©1eé…üÞ6¡%ÆbzÒí±–vî0§9Âñ£^6(ãû¿Zò!µ¢—%ÐKA~ÖçŸû}ØEé5X¦"-ÑwP"S9C©aÜðâÌ!u(Èíª:%&K0lùlj*ÈŽ“ ¶—†¢r/ËòàùoîªÙÙò€iæ6™ó¿˜–Æ¥·k@SR@W¾íÌ´Ûi%ýC»¹OÐÅ÷Amlݱn—Ã@"£H5à`"˜((Ûg¾ã#U]¡“Ê;?Œ1öQ®ïa¹›¶a8ƒrŸKpÉÉσzòî½I +Þ‚M\¶ãתîÑB Ø“¶eÉ5õ<ñK’$vߌfrÁøgNA–ãII- #R2Ý¿‰oÿZ½?Ëxð*·'ñkBº; ³,³Â¨óû[ÃÜ}+övèΥбwrÜ=}LRœòÁ 8X޶Uñ<ìüs¡°Õ“ñ"õX]ÀXlŠ‹µù[³œµnŸïÊöÉ©F yÞfƒ•H£ÈŠ7’ïn:“]±²Ë™™–ù)m!³›3(ñl#®•\_ž´òy¹Ï6µ/óVñ ¶Ià‚ð݉ Ÿ0DAïW}DÅäŸÓM_˜F0²N5¥é ü ïz†CGkÃÆM É’Œ’…ææU=•B<Í4ºGVщ҈zØNeÔìø‘xºð$·ƒ )n·fS–_zö¯CÁUu"ÑÉsLÅì;"³JkKEAØ5Y>¢E3ì ÌÂî-'Ö%­Oq Ó’~g”Üsi4‚3 9L Ò‰™J.{lÉìJq–œ3á¬xHl¯xßãi#®(‹EëVzI9ŸÑ8á‹*¦Çi.öÇA™£‚qdá3è TÏÚ"æµ€:?¾®F¯dú9¦ŠIÖ'ªá(iÁjAU÷F6ô,(%³XX”›×~¾Îh•+ âbZäšyÎE€!Ò?Γ©uY‘!CË‘áùí ?‚ˆ|´š=°Èâsó°®C#ÍI/j‹föe-})~ ét@ÀÑÀPôâ©Fþ'$­XAZŠO‘—ˆ äJKõà®çhëò·‘QºñB¥~ÑKU‡_RŽý ¦ñi!é èKÿ¢Ï «ß6ñRd7­“2­°ªõ³UûÛúµ¦ƒ|þœ#…ñL:~úÈ}Q ïùf2óágñ(w)׆5‰—ð‹ŒãD9ÃF¢J‘ÝÇUaTŒ;rˆH‹‹’¼õaéœF ¸³œÀF›éŒnÿÀ,³ YÿüïíþVÄ}SÚOLx֊÷Όåh79'RŽŠQk[kÞzFšU•N:s¿vÕ†\|¤xIÜÑàéJ‡¾NÑù™ÿ] Äyï‚âV¡ëêÍ#J¦‚ÒîÚw´ 6ø£Íp¤pæÿ÷d«àŒÕ¤ü¿‰ôC#eb‚›_Ø:)Pb¼ßë'yí;}ˆ©íªÈâ™Jª–Nq0€ˆlÄ”'sþ”“·Ä>™S †ŸùçÈÿ‚'Bm=~çËÝ·^¥…ý”Azµ÷Ò¢=½)!Ã(•p´|d½f¨9ÜX‡7$â %êMeéQÚ#t´>…e›=ç|ÓÕ•óÔy,/€~<ˆU)˘äëxÓ Ö[+a7¼usHF òÓ-nT„üœ¨Æ„âRÝzY0éÙ Ìk ƒßö-©·Ù òÚ4g¤ž¢`T2 4ùŸ8¼nÅÂ-‡rEd¨èÆÒŽX³•º3°,@2V li&«É;6¦%~=Ö Ñ8^ÞyøÀŠÉªÓÇÆöh'ÀúÙŽniþ ¢B ªQ=èØ*—ö;SáÎÕ./öX´WÔ!æp öÆSánµ„°qÆæ.Ù£‚‘ RR¥±¡œœBÌ! ZÝëÔíí@¯[ü}[:ó¢´¶Vþ¯ŠJª-]“sðºG5oŒÐfK ÆÞÅ ÈÍBAð/9„v£›m¦cé€ égƒCð{'•;©ìeFCôÞ)þ2Ñ…+%³.¦ëâ`eÌ ¦òFÅyª÷Z0Ãë¿%jrM‰ÑZ$bp͘“-^¯ÊÇ<ýgå6>G ȳê¤0Ej†ýù™óȧæÔq‡oºÎ)u_ôï>á®8eˆL^å9)ÛÔ#Ã^© CÈ3 ì³ÿW´T'<ÌNJ$¸ÖÑ4¾:þ±¬©oJÁöB˜V7eëj—5äDPéš¿èž÷Û*³h»R£Q wçKz§åcƒY¼æ-µÎz•3·è%Ô)ŽÎå}·¿óÍi =7 ÇeÌrAü “ÕÛÀ& ñù¯¤©jt5¢·åžiLR/î¸Eò:µ«Ã# tùŒôL3PG´¥§³Mk×*Û¨ð ó¥õeýF0—èù@ Jqˆ]‡KDÓnT[vŠƒEªŸÏÂën'¥Õx‰±Ç˜/Ž7@V@ˆ»tÄ0!£xùŒ2-?,øvl ÞW¡”ÍŽTü¡ÒBÖÒs]ài‹$œþßÿDr­B|Š'T—í|ÿUÕ-†ewdÉàŒ6~DW%²÷¹Ô"˘Èoh¶å˜âDªHsÆ$*sV–(Ô¾ÕµÃÍDVHSjJÕN±A]§È¨–˜}’M£“²6O?‰xBÓ¸†:‘/`2¨}Nn¸¿4Q+–—lï°,"f$S´°¯Â÷ñSjØT)"+×à¨/ç©Zæ1K{£&l{Bíávè¡-[Ù%µÉÓ¹pü.׊Êü<”?Aº9%Di[Âù ½Lôü}%òãá)Ä`“ý1H1)ÔI6ÚjÛÌn|_ýwä˶€÷ïe§g‡ªjäÏÔdB—äÎÝ4X3kEÓOëIra±|±J®ÐÂY“$éŸýÑ`9˜bGDF{1HG¤“gõžä6¸2ÛÎs°êŨôˀܑêý©¶´H¦†Fàµbâß,VVßÖÈE‡YsË™JEâ•Ó§žÂ-Æ36´¨Š…¥Ênš¶š¾ŽŸÆ¨Sôó™W & ?Ñý½'®w Ðx‘Æ'fXRE ©4„<‚ú[EÅ&­S“F§«n,˜¼ô4ý…JõLJ|»y|šƒpß?iT½GGýb'ÒÜG]X‰†¹áÚõͪÜáe(\+²aºd³=VGZ ílöD—ßÍLQTë‡výa(ÁäšzVy7Oä{kF)Ëž!tÄ\[BO˜¹›±4sÀõlh‹ÖW7? »åð‚D)œƒ‘ÛTMÙ`傟 ¿˜'ïòø¼nÎudÙú>æÞ8r94cFÈ„‰(ˆð¥$9蘱åqï￸ð¨üþÿkÑ9B¹À0!»õø~AšPÒW™Áâ jö¡j’£ÂŠÀ]PËšZ‘ö8Y¢ØWR•ÉKI¾( ^´ŸýC†vÖ§ ?°ö5GԷ̘a“‹Ø¸*ì:&!"âMÐN3J7^s† Ù.ëE¹ô‘©¡ù€)Ä܃ïŠSl‹ÈÑM¾‹oï²–;+É·!›©lüÝUÄ‹OÓ³¨~>ƒÕˆXÌ$£¦ÄAœ5‡%ò}P6©&¶ú§±ÆÝ±¬ bOenHZâJŒ½ÌF“¬AЈŸwzË#B=ª¼»ý´0åå,ó6YžÇtäÿç†ÉN‘SßäÚC­\¸Pí.ßqÓš@ ¦À´ýa‡‰£u“xæ­¹’ëÈûhæç Ò~Ý£N§ýJ«Ý›JzÛ…ä.µ¸°ú[`Ñò™]d“4 ¶€ÆC%üüùàuK°_ÝJ¾:šJK½%I±5­ûïT4Ý­DFœuœÏá0>ÌÎü\ÔO§Cn%éf°·„ß3-í'I”Ph*E•)‰ÕT k¤ùÁ®û–K²ì*íèWÑÚŠ4/I‰¦kuJÑá%}“Dì࡬ª©`mêÉ8‡¿GØ/‹äZ*E3—$‡x&Óü7tp@=ÚôÈè:‹?&Ä«‰9ØM ²(Õ‚ó6as_ ü¹>ÜSžQøvææ7[™­é®ÅNk¨Lb)«Oªä¶Í ­Xš?ÜC“°G0Ö©Œ:0@V ÄQ î¥$Ís‚$èãBg†ÿ$˜_ƒÞTH$hÃmÍß»@Û¡ŽhI/Ìã.§Ãåß qŽ™`Ü%zñÁÇA‰ÇžÜâ7ók‡½ÛHe/?]…E¥¡j…AÉ'>>áº=èµWHn1‘ævÕMÝ DÊ~Î÷}팣Ét#ÑǃgàºÔV×¾Dÿ¼å }ÔQÖ Êì&§‘¯×Õ½‹óž{5.¾7„ÿT°óÒ§B(W½_sÒ^úJf┓4Ù—þ·Rž{ÄýÿÜÉèz¬ªæËÒ”¶÷v«û_nû,£öFü¾  ^µG>’ÍRŸn_l*‘lÜ&Ö—D»ªšÉëÔ¸>° O‘lú<8Æ«…{óš.û‰š¼4¹QQ€Ò¯ —E¯mU3gà—T{dÛ×äóÔlþF7—A—ag5ÿºH7š‡lpæo4ýŠ" õˆ¿ˆã€(+&X1Y9Ê€/ýð©Ñ6PÏþÅÐ$`tj…&"6v|WÄ^K0$YLpŸ•ª]¦’†d¸Èy Sí?l¬Ýªå ep( Mkߟ—5Q¨|· ËNugK©áÕ4ùÏwÏžñ­»×p¢çsÇ_—VŸ`-)$Ý;ç¯Í§kçï:.¾'ÖIiH‹ˆ*OÈqŠYò²15‡i³rTð547~`މ’1¼ÍÉ‹7j>û´Õï’ ¶àRþ}›³€bÿ‘]O¥EÞgì:å‰\ÀÉ%ä€')–"Gn]»gí[Ÿ[!`"pÅ£sº¡tºÙtn;k\]&¦¬â¼iã/—Pƒ‚BäȧØnÆÃ¢¿kͿᭃ¢3¸Mêe%Ó›Ó Ì—ß‘w¹0Ó;Ê‘ØÃjyÿêHÍ>[gäLø¹¯wáÿ·Ëáæßþ¢êèQ¡bÚ 2<ÉÔÙe³ ïï9þ“’±ÆõýÈécd‡XA Ç©UŠ-‚Ôt¼Ð’ ® ‰‹ó Pì dî3A÷ŸÿÌѽOžh \<>Üjt£(Ž÷É͸ÎÐÛ»$—xå,Œmç=‰1ÊOYWdj˜:Mù†··ï<ù½ò·õ{ÿ :¤HLÊ¿C¨Ž4Ì÷ÔŽˆ³UÑØÂ¥>þÙò)"¶ƒyËǾQËÎf;tâýÿ:V‰M×¾ã:/¦aýÖ²·£ ‡¢SÀ°qcÈf-ÿýˆ=Sç›÷¢i†S{¤[Édâ“ ¸nÛÆšdÑQÀ&›¼è°ì ÌŠ$9l寽–¦\‰|s¼*ðó‰*!˜çÁJ¶³o±s@P 4¸µ5¨ìëöͺ,ô’Ça ?/·v¢cÚÁÅ@r> ÉŽéWV­1R¥˜Ñ…`Ä›hƒê2õõݯã*'Ë4\,‰Œðe"orÚ‰îôkéf˜U:3λ¡†(î(WŒÏ­=ØÜ…Ø|± ®˜öGz]ù¯àÎGî$“¢~ƒƒ¸¯d¾ Áž0£¹vœ<ç E‚kË䘳 ^Õj‰åb¼·äw°(y!)Ÿ€8¢ž{øÍ섬üdr¿âc›Eš±g=ÖöõñFp¥2Å%¥Q¦þ[„#Ö»;Xlf„WÑVôÇ.®Gß|Xv”à©!SJ·HÑ#êýK_;l§što¿uÉ%‡!5ožCü8š¶s­<å £xÇkŽaưqº*¿/îµ;vÛÏžžc˜ßG'²m`µê£|´Þ¨½Cš.¶Àž˜Š-TÂÌ=Ó%€Ýéð µõdœ|ÚjÒ9{¼1ßI9™7 hVo¤#^eÀÃø=q7#w S~ZQéÑ”•¹¦™¸÷y¢ËMË×Ð{2H,¬Ó ¶ Ìë+«ö±†£KXÉNGwã‰DoØË|wõò?ã«8€‡’Ž—ˆŠhláPŒ~h•¢çžfZ }âA}_9Ž˜(¸ ·ÿX2Ü»ÊO¡W1±ÿ†;=b.``DÀp²©¶ Š,+‘v#,³óÂzšfVlj:z£Ñªˆñ´&Á~áÁqÅ£µõO,ÚïÏ}’Ie¼s×»ç!½·ûTGtŒ`ͨŒmwSí _µ¬!ÿž˜Äþ=RV°º­aMKaƒÂR&X´;U±9·ÃxÎ=®¨*w•Wþ#rTð‰ÌQ­á å©"Þ¸ÞûÌbÖk‘´Ëp™â!pN÷Õ¯z©KïÊ=Bö‚ÿÚ¨(q¢¤5{Üæu£#ÍÊ/§¶µ ¯Š?!VtÂmƒ«€¸¾, ¿ÁhRuYÚE Šx;†¶…koDœð*$Gði0þÂ}áíGu@¶~à ½é¯¶š”iEUf'V[×ó€Á†ÚÖ]k곿J› ã˜C,SV/Ç)ÚÏ•Z®ècµ0þǘWîŽ,m`Ó&­ÁŽüzùZûÃÔ<ÝÊ<š1¥ÿ)ùÑBôëú"ó8Ÿ, â~ößF‘¸‰ÖZ%[Ô4O,IgÎ?Ë­kÞTâ;Ï8vb¥5Q5ö‹dÿLãJÞp)qSqSÕHÀK¥b1Z÷sÍØ¯—RmJ¸îU× YT+?d5Víô â[òt±­É/¯Ÿ/‚gnÞ6÷ÍmôÙ-kTùxAàÜÑÓ‚Žñ1´Øåñû¡3«¯”ù¿` 3ŽcF­l^ä òÈ#ò¤•¯¦SC]5øìwÊC²ÞÎx÷É– EUí©ÍfÀ‹"‚¯¬÷黼‰í±ÐR¯92xôËÙqŽ Jfüæ1Œì`?0Vö:¾´ñ^RIx73ÒdQt|Þç<“?K>½‹Þ̼¼w!vŠ0¯áš;ð¸Wc¾ä(:å1£Š>+)¤ô«ß  ©¶sX¹d9ØP"fŸëɨðë:è~¦g¶Ý]² ‹6Æn$°"îÖL¢'ºë;U•’òì; ]í²9±²ÑëM{¹JÀ«Ï³:1 ¡¬Y6î—bQ͉»1ä¾m²A\y©™ bt—¨"ïq±\HC}¨’BÓ< µ§w À¼.Kx^ጠc©Á;æºÎÏi¶q)·H[—ç f"L‘¨úk%Ö›DeQ‚À°güüÉXL,ÍRÔÈëß Ãjàn32åáò,›Õ3¸/VèùN¸­—j¼&D‘Ó5ºú8dé©âtI‚ô1KbÞ;ò§og&C$œmâ&ñ†Â`,.%s¦KN’#éï$èŸñ]/„€Q.½;Ân% ,e•ý}fžHeÕö«àß}°ˆ³+¼¿ <ÝI1}Òµœ©€¸dñ¬E Äö$áÎ@ce„ݱÁžÈË OQÒ´¾Û4¦\@íß’úêŒ/"Pý ìK?ÄGâˆc—}æ¼þØ…,£Eìûâ÷5ýˆ5cn=;f¯xÙͨ¨úœ“ ›æ²auX›úY{Öt³[Evå *>Å:7ëÚyhá›Õ³²œêEHéx{å}˜¶ÈŽŽ©N³Ôp³ßç_„i!r@IB¿¯×@ÔEgMø²f73Sø —ÐúòÔkh°íæ^é­€zCqÍdãCÑ㫆t˜if‡Ø‘£“pœ„¾BU¢]óÐ\{ÊLWPÜ •Rs~@Óy»žý›ëÈ7¼&àýµL!«LÃ/7ÝŸÒ`_|é½ìlïzîh»ž€âqYs~ñ¸+EÍ(|v ƒ½ƒDÿ}ÿxsø_ Í»ðvZ@ôän«³eïÄNK÷çm[9: È‘BÓˆc_CYÂjZ±ƒ+%)“À=ß‚'ŽvÊ€ñPÆÞª¸- ˆèݳ[²— ¾W§â1uéÅÕí«’ú(ƒ­MXhæ(WÙ.Ò»zNöÝŸ,RbÂILÊ%&6Np¢ãTŒðmnz 1SÓT¶ùÐð¤À 2(®|­Ùއ|èœ`ïøËhw–¹­q¸ï¤€ ³üPØÁyß„jôHD[[7/l Õ&… ¸åÊøØb}BÜÒQLÜáf“¥ÏF£}“Ï!XCûyU¶|uÍ6ï¢Í‹»›\$¸ÅnÀ'×Õ§ržå8º;ìÚMWö:G¼Ú„ë¹›ò£UÑ…-Ëw]bóÊ¡f\2;íQRqà1¬‚â–#—¹‹Õµƒ)ðÂÑ[µí--B0¡mÂÎJX¿ê連K܆”Ãwl+|Št¶Ó­Í~A«KÉ™ˆm'oMVÝæ‡öË£} ‰q‹Ûžp³ëÕ$/5ÜRaÀÓR¾ÿkW*~¡6B;°§7“Üm´ö âŒýæräÀšTêÈêãþ$ca"9À‹2›+!Ý7àSÔ\ëC¢zªÂô3ẠÄ(Êa}¦:úz+ æ²N/ð£r"ãøìlÜžÕlÜ~Ïβ°wÙëPkµŠ•bùˆ€'âù)ѩ蕊Qñ‡AŽð;ìGÆ=­(Äâôs™†}+YU›Dºm¾aÊEWy9Æ|.ØýÜÕÉ@N’ÛþFBÃÏh¡äCQ¸FÙ EdÆzvþJ.–|ãõŠ*v.fœEÁò½›Söü¹Dö±«/RÅ^ÁÞ· ¸ÿÛßño]ú౬lþ¡€_Á^5ª§b²¶ÛeZ)$PÏ+wó Ǥ¼š[m¶!iáC‹Éa¨4°Øž}õÈ…R…–eqåηÜêË? “5Z}Kƒ´z¼5·ªOXx¬jwR®Êg°·Ç9g?_)`B‹ÜSưªÄ¯Õº}cmu l³½c:ñ¥øú88Ñ>MUˆˆ~‡f’”Û¬jìºyÞ(—â YnÕ«[NøÞÁ%?—Ú¼‘˜ó@&œådöµËîóÒNùMùLv"“T÷šŽ°ê ¨pL »ÙÝWÅÉ@«Þ™*©õõj¤ï-κ)Κş€º\à”¦Ùó„¤Jnhm`)¢°5l-'‹Ò¬ˆto –ט&)½vNŠÏY@ãÿÌ:3ï{ å¯ó0£ïŠXrðÎrhnÁæ\°±‚𕆖$×C_“ ¥OmžÄF È1ÝîÛðܘÿ”<9ëÁÒâP¦½•ÃíYuøw-fG !VYùœo·f}UµÆØ+Z­û~›L(´$M7¥0üÖöW乇±Y¿ªQ܈ˆô0®Iߔ3 T~?½-B1øSý×oAï¿5U‹P[EºhUåWzÑÆa—KŽsœªø.ë ÏmÞ÷9¯‡Ý6 Øåo{N¥ln5ç‘Ø³š2&ŒÎOâ‚Ѥº+Xm“E3G«a},'VDT’ƒÆ:\&PoñÀ#¤%ŵhQ¦³Ðû˜U¤À`áÅ5•W år›1‚³µ'{ð95!¤ÀA÷â­iÏ«½ÁLIá‚Å­WÀDc²ôÍø"Á!ð6ÿpê§8õÿÖþPÙ6Qܧb'U+£õ\t0jp’cº«»TbšäÁJG»‚-¼¨^ÀxgÄóc+cöesêuiRAL4Цœ(ülØ×ZõR¥O¢ÇRÆÜG9X(ݧ(ø"и ÷zÛí®dÂ÷³¥È€xJñßÛê€ Ã¦ØÄžÏ÷ýUrcµ”¡çtåç娘S1$M™ Û³—¸Âü˜cËÎbóº÷hЍiž^ïb·˜þB1¹€çV[!9ᜎé¶õ(FI¸¬¹÷Ò'¶èv„%™ðÁBÞ{Õ€âžØ Ô^²v8À{ù¦œ¿dXÜV3“¬.;fHÌbäËZ`Ûv;ŠBãdfÚÚ­ÒŠ`Q24”ª–¢Ë‡)¸`Áò˜š¨/@¦¡æ£Q_˽_¹Lw`è"äó€5KpÔêÞNWS,Í÷`pn,jÊ”VŠjë5…ŽJŽ¿C5ÇÛ rÓmž8ÆÑª+í)q«GTcË`­¢ÍÌŒø1›!†é9ýS7¯ÝRîû¹ÌLœ°à˜¡î©[±9Túk&Šb2ÁMñ¯·°tX º_¡· ½”B)±jÛÃÖ>”¨ß¶ëbÌù>wr-ÊdÚÝíEÌ;Xæ³SS‹ËIïVçˆ}ÇF°kÔ–0šøÇd8Y™$¶ïÊ;Â#qÛÝZŒIš¦;æ\A¤H&9凌0&\OÙ¥Iy·—ŒHƒV»! §Ì!Ç“ö‚¥WËâ­ÙhOP¢ `W6 :ñct&º®øœ3Ò¿]b‡9,׸ òûêµ!+<hâÚIm¹ \—p–&iëT߇j6LJNí„Á“ ¢Þš8¸?uב"/§/GH&=Jž:ƒ„«…œí 5dþŽgI3ï<%™èd  ³XJUpé„åÞýfºä÷»ˆI½nU5‹ å‰ô¸&†}Ì—µc[„‚eüxÖ>’ÛÐÆÔEü0©·v¢ãûùû–B²EKkB§Ò'ð{]Žåkµ½lxÛâseœ®É…Eœ<ó7š |[tž ŠI„¾Ý2 ²FŠÂ¦9È{:^ 85\äSáÞ>ެòa ‘åF]e#± £|'žt¯¶¤.ÝP Ì|Û+0”sV’¼]aTçÂR -]¿JJ@„«¶ÂÜÖ%3LžT¤ïí×6ŽIÔZÏx±úiä¹-$òÓ–=;“ÙP³ ({ãD6¢/u®§ â@£Nm¢ýòg° aI¡}% \±¹ˆiT»&xêsq£f¯?å˜È4il£>˜¥ ‚Û‹÷Œ#ì5Ô­oð†\ØÙ€Ëë[¿lU÷·ÉäÓ )޲p1à•ðka Ý$Ýò8¤ì«åä¤o#Jæ[(â»ÿ@/ÎdRkyä\äÅŒb*‚ 1O¤veÓÒs³ïäÿØam*.ÝÒðA7bßÔjAyǤ0¶?YR˜\°-¬¿B•åÖég­›xu/Ô9§'ö§_åä?έ»!¸ ¹tÁf|¨4Ü2Š‚Ë7.ãU½–gTžÆªiŠ[ÖAF}èM)¤¬e¥‹ýÌ5ÛMH¸ñ÷i²gø¢¿=[Ö-P}Ù‚à “ëÞH¯^$¦ Âl¡“gÌŸà÷.q,²‘‘þ?ðVhfðáÎïÒæ‡kcg¹ê‚1ü¨»Ž.¨¥¥·Y Á`â3h`)pÄ;7ظFmÊ{Å5|Y5g}ékAɰ‰ÁwG ‰–§ùʰtsô8z¯hj°”K`”øê{ˆi±d¸YwÒ΋틽œ$ ÑÓÍW±PœaÚ¬a÷5»Þ@qæCµ…XÛ —ÝqùòYÁò—×"µÀ0`et‡kg&Ó¾>"t–¬€Žä”Ê‚Íú7¿~ê°³» ÞQ°aÊ»HM2+q›½–©SýY¨Å‡K®f^ø±Ô|y½e͹Ѥ”¼ž°“©Ûêz ,J“‹VO$yæPbTU{ŒÃ0"b7c„0½ PVØÈÇãè¬y¶Ò§ ~O¦Ž¹ D[®b?¹ÅÁ ‹á¿¸o¯ð1W¢8wwN3¬#C'f "aAM«¸-Ã}ÃAì¡Wš”\ p÷ÝYNHÛeË¿„œ×ÆØÃáiµ3ò6˜3‚Õ^…ιcÿÔuT{SÁ­‡x\oØ%× ÁÙ:ÅËn»àa£"jÓ€AíÄÅ;.öržÛ#SPOŒžCç·ñNûýd½ã"+drû ÷ÐîMu¼L5SM4†l,X`úxye9÷å—A"7gˆ»ã²ýÌ•ìmœ=êRòOÆ…¡Ì¸÷xA™P£[ä’ÍËøK×Z¯ÛÚñä8…2V:À8r©¾ééµ1œër?`âß›4ÐOU½¯.´üî8èÛݵ[q#MeAn9/¸Q®d›­Èœ=˜qPn„M¨YRoÈžjψ÷òéz¦6ƒa2€Ö°GÃrëÄ p¤'MÌì›U6vA*¢2Pàû=ævRmÂ¥iSDä̰#àú3ûvv&Žýœn€j,"Û5¨AÛt¯u`¦äÚQ=¹â¥¨\p|’C °ð ‰»ÖŠëÜb¶e©ÏîžÙÒ˜|9´·ÄÑ*=e¨ÙYêc&EíDæ›mãjÞŸgXÇÄÀîŒfzÌ0“ùP#”Dû«ã{ä@Î1Î~5¼i€YÅ«!ñ³¾¼È©.YIïI ã™›÷3p2bîßXÎ*ÛÆö« oÁðMOñ‚hsÓ~öžCʆbGwx,jQ#_!º¥aƒÂ.Õ0‡Ñÿy“ Ú 9LÈ=ö¥¡ÔtöO‡ÿ »Ê‘ïEûØ–WÓI\÷!›„¥4¶iÑÏÑŒNR…mÚ³XMXÊ»Ž]ÿVТ ¶ù¡ru4xŽ!ÀéõÆôÀBï}’ï2–7UùŽL_=ú§¾2¼ŸûúÖœ¨yæœ> óJBYoÚ•Ô¨l“ðÓ—¦[<¾ÑsþÕ¥Á=ã4mZm[.%zšV!ˆ€{Tì\:*Caâ|–x×ñf¾ùïxEZéá€^8ªät…ù´Cù›pþ1ØÓ}N6ébx’¥¦¯û̺ ï r 4Qçˆô~à ‚»ê€’t…©:ñ7›NðQkŸŸ>Ô÷R=Wê»$a|ñðZÍŒY¸ø'ß• î&n–Wa]¼}ÚÛ«ùñéG#dx¾¸ÁÝXÑ^{ËsÕÁN ÏWÙé4ÕB”ªÏOÞŒÎR€RˆèQê3—ì¼dØ5޼FËé¨b„Í0Š4ßÒ07@¼|tÕÊ&"öw-ïSúc¯¬—–+@süÉ m ˆh¬ ’ŸÅÈcÕ3OŠèœb××P®ð‚Dö£ü:êL×p=’;[üMð"qèZ¯y ±fµR¶Ö@{C-ø[|frúŠ‘1b¨òxjµCœ¶ð¢ñ0F|ˤ.˜Á*!F@cÔ;‡:+ M›‚õè•;B§äDĘY”+ëV[æ±L¼ñ;-Ū׺W…p„KB”‚Ù«ïÛ–}¬…¹åÊÂþK¸í¡”ªX›<’“a]r$ê¼?zU¡”•¸S½pêÍ“[o' Ø*›–ÊoV; «¯c^‘g´i.Àá±(ÓaUæß2µ†Lº}Ç_`¾b›­Ø<½Çв|é ÓÙÇ/¬u…©'ö)?Ÿaç Ù÷¨_ÒMP­EºîY”SÈ7¸õ&k½¤Û³-ª ; ¢£¸ƒú$™ß: (4û–àjTú)sŒÇ³‚ª26bH¢îiŒò‚ 5DS=€Ý¤0$h\æ5cDº硆mäAbWŠ®‡Â Æ\çÁ,'6;:¡ÃÐ9°5ÚГ­ñ„ˇ„ÃuÜ`ŽŠÀûnV¦Œþ¯­(’h¾?àBuåö×Jà°ÀŽoºé!®P©æÙ·Ûôl½ID®À˜+'5®ºaìaP̧¤¡Tä¯5qŠFë|%3ˆ;†Èý-‹ß¶CÐ2…ˆ+ˆÿ,Ø  :á:³*ú+¤ööŽ–”ÛÓ.ZK÷úÌíÅÔ¯UUJË-â¬ýg¹±‚0:CËfŸTó2-åO‚ñáÝùù&.]þ⟗ËtÖÓúƇy©Y„x)µ·YàU|èØÎ¦?æ½Ôã‹{Þup‡EI¯°Û¹_þEÕî,ŠE†@µû¦TÌ ˆêÿ”FVp˜wQŠý…b¢ï,³Ð…ÎU%ãù P‘ŒPp ]8™7qCAãP““ R³; $ ¾k ?_ÓÝÛè~C‡!s"‘%§æÝIÆŒSÉÈ“Š—j“ºi 8V,OTØ{¿ P!2¿ hx¤ÍÎŸÝ w}#mÔŠ¯Õ_ÖJߪÆRšÊÈ [|ḾÀ[™n}¾Š™çér«ý-/ë4*Å’=d¬Ê²ÈK‰’Ø^EÎ×5ÍQ©d˜\ é×?GXhÑŒôEÉw þwr4rcËÑ×_¿`ú'x<¦ÛØ@ªU±þtM€{f ß+¼^}@nÝ夨©Æÿ&_ìYoCŸØa¿ØJ9_tòÐïiý¿‘2Å BÐÖÈa¥~`t[/#©b$ötP¶ŒølÔ¶ø¦rxI6«é,u¨g ›†Ðz)&éדFšx‰î¥ àÅ—tÁþÌG²Ê®Iæ¥8ú{cð«ø€Ló>yº,‘kóð6x¿ÛñÁV+š C‹q«¤KwzÛ¬$RøUQÿŠ©n×OK…Ÿî¸Wt$ãÇìG¯ä¤ô»oÍu2ý\AÙÕ{¶¢æÖûï‰ýr5Jr‰<¹ˆDoêÝàó*Xƒð—––ˆ4þ`Ǽÿõ;‘„ZñÀkµ!šu6"uÆa\ ^S²+ˤvfa›Š]1™ûÉüVˆÒã?¯Çü7–¥¨®Û,R?Ì\‚K]5©˜‘+nâªk®z­õà–ö}§Ej;ÐÛ«í€!Ÿ‡B†ãÈQüÓdhjUЄ}Ð ¥èx#wh0b=˜(zèï2â~RÌ ¿ÕÔxì+Ó‚C zX9»»ié®÷¨o†¡ìW0é¡uAÑ¡Ÿ‰ 7`¡2ëÓ¥#Žè̤z{ÓÔÞS/y`½ ãJv[Æa<-1‡}{N+?í}**|W³H0€‚UªxÏæ¾\ãcÞV6ñw–Ô ˆïl8ùo!Äœ ·°Uœ5÷Q³1‡±‰>€X‘¾+äõêYÖu-öbq™ûe&D ë¹F4m^Ùøå Po<šŽ*òŸRo‡Ìãì?ºvªsXFŒïÊšÝCøR¶3ÚN3¨=,±]S³ô`Ñì›cï†h FÅ5 Z—”Õ\ˆ2®NQ <|‘Gp<î %úñsŠõy»s n/‰ÒÔa?´áÏ BFWUð’$ü³A³ÀÕˉaý¢õ¥™$ûGîMõí[_Š7øbnq@I¤A(FK •ƒ”Äöh¥37_ÓEøÄw 355 Œìž?Ëúj D9Lky²1sÿNȔҔm „s}Í{ E åT¸VGcõ&·å4a#k^‡ÀÌÈ`t˜ÆÅ­# .Ú/v0Dâj¸‰×¤µÒ«ÑbÅdàöhÐ¥•ŒMB[Юl GhM¯*öë½$Þ<ønbù`^¾QBág³ìNŠÉÓ^hïˆ?düÿ‘6mô*íVDem£ÙÑÂÏ>ªFý}ó¯•udN´›€Å´øêÌã _ñwOéŠÞÿàWXYóã>‘/Æ!X Ì Œ(µ{äpKHñÛ ç6hÎU¨ÐbøŒ÷À+ð´T3 3bÞ$Mµ˜—±l»l Öâ¿ÔªW¡á†Ño%§z€o²‘{¤|ñz^2Ðиù³0°mópþ^DLS¤:votîi¼ï™ÎHçJ §2—‘c¦d¨ˆ]ßß[!‰™Ue Óv(ZqK+½«þ÷fþúÊùµQGC À@DM“§Æ€õl¶|þ‘•;¶>ÉV£­[ógO‰h¦»hšxkLŠ{ÐŒ{LÙ|ɸ4ë\C̳mpCÒØÓv“§½q_È×Z´/ï#¥ñŒû9jê´ÅîÝ6ô!ð’¶ël®X7Ö€6\Uà`–EŒ(Ká£àÂáŠF%ÄÈœƒ¨³TG.rßè)©ÒÞº+ް˜aΘb„9sWËPbw³žXâqÐ÷Řmns:Ö¬¬ý(¦[a1þmP†üô’ìúã“Yš6‚‰áÒ^¨'¨™h«æMü…«>­V¢Táøo–.&¯ÎÌVÊOp£©Ú {zia!çSmqF.· zŒy”Ïe–î’ÜÕí'ß­tHÔiW·[#ÆPïvè?h¥@ËvÉõòsïÃKÍèšjGߘûxø‰|"¼ñ Åce!Þ‘7ĘܶóáloB£³bÒ|qŽ›ìŽÇÕ%¬Íí·–0?º_¢­N3Št¢îÑEbnm»§ÏƮޔ*Æ;ýßmÅF>Ò)v8Ðñþ’?¹²çÊÚL)6¥Ôß¿ív´N"v¥­TuGG­¬5¼Hy0/[îjj'°0èªI3ò÷ ´â!‚Vû;ðµâ” .… Õ”ÉË8âÞ¤:T€'ƒVdõ„f!£g~à lJ8¨øqÿ´‚}¨Œ‡ñÇì«…EýÔPo‚‘M^MÕM¶ðEä:£ªeಽkm0ÁÜÙZå“B<`Âo—_RäÐZÎh€) ß<&”Ü×,˜å A¹Êÿ€y¥êÁ‹¯ ®ŸÍÀõ‹ö‹»³M½¡§ëdÛÓ'µ{‘${,¡C? ÿjʸ†XõR¿@ü*‘ÞUB@!Xgÿ2WˆϵkÃý2ò~š[˜, £…íµÿ¾Ø!“­ÌBU#ŠYÈLA˜vSi½À‹º% ÷ØŒ’e»Bñ$©kH»Sà77ß«ûyŒØLš0VÿËêºØ] ¸lÅÖêa[~—~ÿ«„&®Á« (v[ Ã$ï†Z{ Ud£ýHû l|à+M:ä»Dò–ù‚#Ǭ}t\s/pËè“JPB¥8Ad ¶B-N@0X”åø:ð%XLg‚©ÏXÖ*%éÚCšÇã1äkôD]Êøš1- ñKÀ¤‡-öS¹¡Q'@cœÙÀ㶪áøj¿tJ0¢™{T{Ð1õå,Ï~) üÇ‹éõ^^p F Âíž–z›…CÙ‘ÒÜ•yøRøÌÉÇ¡ùøüNäð:8Be¿Q‘µBÆŸþ¶!ZO£_‹“Ü O8ËwäcZHk2‹ŸrÅô7@“ž¬©ðŽ­Gñkç‘p@IŸGܲÝâ’ÿ‘÷çú)d¦¡cuh¤Øïçi¯ö'Ÿ$dm¶¢HåÔ}TÃm€Ì¯°Üpl\&C±Z=RÒž§W¤‡îRK–¡‘—§Õâ[pí„6êi ÈÙ#wXÑÎÞ:”–RL*SáÝ'BöÑWŽ¥—ÕúÖCÒÆ£2àIóC øc»Êÿ~ζ¿$^Éq|cëfsÛŠ»s½Âô€ §Á¯9Yšw­oãþ0u3JÚeæ¡Å ̽zß —CÞÏBl«Æ»ÏšÈ4@KÖn” žÈ€ƒ UætåöS¼¦øœ¨‚–RXÃ'“Bɹ×HüOs66ÖKÏ—U}ô² ÒÙgúr‡çiÀõ­ÂÕÈ ·^º°Ö°\ –•ßÌCíb¨)@;.ÎÀ©´\‰$œÄ(c¾R5Ókº6ÉL©ioì*ІÊDSOâ›ß Wj=rKFÀ)=’w«/Tøgd0]§7¾w°`@hëÅž`B;E)/–´9§Á%Z.¿™¾0ubžÛÓƒf¦äô2+>hëb#±ò‚gâ×fìü’ß4” ê0 Y¬çÍVÖã b¢b?¹!âÂÏd‹ÔR û±êÛ[)æ<øq÷ç ÚˆREcwdâÂåÇ*¯.õ[½é W'Àï #-à¤á ¿f\XΖš{™e RÀY#?n öÆÐ.Ô«ç™<­PõÓ¥·…ÊId¬{£yôBQì‚Íg> `‡fößïzŽ_Òò¦/B®ÂžW”$± D¢Gû]§tLõ4èðéó…Û)Œ‰{Ð';ÔE~Û|FëÀ…9#Ú#wj­—"æü]׎´Ìv<Àa2FMT¶ï—šÿÙy¿|L7`\Ø`m%•ú­Rº\þ`Ü£¼¤pÒ±uEÆÇµQ„ý'4 cfã Ä¤¢¢$‹$ÙM9ò[ê*矊æ1zsi Ò`)wGM²<è¶6ÓÍÉ_íÆ\?‚šO”2ŒzÅ>'d$¨³zª¶[e€‚U­/•\Ñ?õ}Wmë)R{dR'4ŸÆ;F6”|‰Ä„±ÇPwǼ¦M¬=|>Á4eïÙpÝŠ:ôŠ{á"hÓ2aôÈKð%‰/quïÒ\߉c„ åDþz,ÑHˆûÇ(ëÍÑ1•­PK9€NP/yH`Ñý xiQ:Ù(qrÍ ìxx¥;©&Dú„£ûA+¤é…£HW (Í Fï È'[ïGÐRúù+¦ØZgbšº8Ø9“–xµ|I›m"p¿Û‹üðy¥Úy" %Éô´ôn`Æu>€h¾™Žt¡üŽp ³¹‘¶ûôÇRŸÄÜÜð3›MœZ9ìœöƒš`Ñ«Àù¤)­7Ffv1£)¶ROõtg/vo¨ÝÄtí¡ˆâì›ù@ªG茱C,˜y€xh=¨-xé«_XÁuÀ€ô“ÓÂp (÷èM™Àópkm¿'±½À?÷â´C”› é'<\ w'Üè¢+È>\5]3ZŽr”/Á«Ì¶1Ûéo–° Ž2áƒÂeÉêÀ¿…«‘O I»÷(Ž0:†Âýú×~pÿy˜È–ï¿ýDÓöTÐ0ßÍSÎMx¤ÖA%Ã(R­+È=×?¨çÉ€á8MÔµ§ŽR$’é»&HÉŽ‰uÇé9?'z („d>*%fƒÓc‡þʯ›Ä¤þ:«‹«0ÉŠ>ÉŽÀ%àl~Äk:“;5œ™2Åç`ÌŠ´¶ø(Ä'Däm]Güá¬?àyTŠ‚‘:£D¨–·Œ-9”ß=‡÷µÛÞ’.éÛñcL°XnpžÆ>&õÄ· ”µë!''¦}xÕÉŠ;zHpž«!ÃWf4FÍÖ/­G¿OILÝá®'‰35žçäJi—¦½šæ¾f¬.\þj *©Ib·” sö[ ”BßAÔ-ñÆ/ò™ðJÌ£BÆÌÒUÍ͹¾NÊŠúŸ“ÚIˆ(Á€Œ ÿüêÄ;…à÷D–¿TìXu­¸³Í‘»Û¼e [Ûr€óL¸2E$=>ð†ì?î[ ¨³Æ.±|-4¬\b¿VêÕ"~eRž/ÎûñpõŸ-O¹F5bÏÒ?䤂å¥7~'Eæ}ÅœüU•S³ÿf…•UŒ>`É]i¶Ô9Z#]³´>8f`‰NÈLù\áà5ŠºW_R™Ÿ€‰½•Lt|€>MÍRœl»"]æI»\ÊŠNÍ!óE/£ÕE·‘˜‚é<2ŠŒ¡²,+yå5û†ê¤ß†k׿)a,Pg¡q+hÒþÓv±: l-›·’Î~”ØÚŸ™'C:8 iõ òˆÔ+Œ^BvâùiVÝ ÏͶɢÕJ®`@Z)F€A†¤y7Š 5ì†Å«w•ç9díå)ò>M%Û0:yv !‹©¾ÂsZkÉ´¨®£7îHÿÉlO?(ˆ€ ê_”Xd^  ïÝnb›m¼éãV4æÆA•жh-ù¡¾”ÜUŒ\AšýÀ‚#D?HÈ?…€-5‘cEªO^æ¾ÙþãDZBìË ‰ßñ4©z™ ²¯q¹‘SìõÝš ËÙ-‚Úãj7AŰ,iÑŽ‚­¶7¡q,Ù9¼°9ˆ˜ŸÌ°@®/«í`÷Lu?M Ù ƒ[DE±æB®y¡j|¾Yp·<”bµbÄ 2ó£Û™¸Áê(1³ū+ãÞe5å¿Zc²‘RÇ,ƒrÞÏ»½ÕÅè®§8àA'”±M<’/…Íi‚Ê£lé(î¼ËM(?˜Ïèܶڦä|Rvœ¹Ç÷–Æpo²Ã°´¼®¡Ç?Âxö&é_± B.ôDÄžDµ]ݳ@i`¦„Ñ«'‘§õ¹f:Ô>Gƒâ1Åžñj(P,ñ$ óüN0k‰ýÇ,'Éœê¸Ñ˜uŠüÒ^õS—7ì]m….N«`fÄ<;€’³ö-_iš° .Ä•î|m¹zˆ_Åq*„þ&(VDˆQ];¿%Ñ>“³*nºçê¬>ô¤Á\ ŸEpúÓ[•µ•’쩱g`(‚SßVòµcDÑG‘8/%ŒVŸ!EפüiJâÓIïúùÐz˜”ß(£Ôˆ×Â1ÜüÁƒ·hö'mVõ†ýSJ©1'¯ãièAÉÅéç›EÆNaŸPª¡XÛü&佊u4mþÇF)=VÀ.}ºÅEÙ"S¦f—Ç_8ýÜÌ¢i¶Ôâýð˜éÆji›(È=ìg|ì@ŠË#Ù‚?°Y!íkÍ‹1ZŽç1 €Ù´÷ n—Ó}ÌM˜´Ïyë>0ÓµÌc"Sr¤ÏÀ°?`ÛRÓÉãÐEˆ½LÚ`›n/}‘ÏV’ˆ:ʰpsU1““ØT ÐRM´ {ñz™ ZÙÏ!§µS{ξ’ÝãPÊÎÚ?X:ŠJvHÊ 3¥ÂŸœŒÕ™Ti.›\H$ÏìJ@.:äCxªSå—ÐEs¸ "„©îÝŸI°DM›¨Ÿ=KuNso•QHÈRìàÆç•u+¿c¦êvæ×ãÿªÅ¾tŸF*æâêvÔdd»Žr—W´¹w¡?.´¢ºBEÂùŠQMݧAÌTÒ>FúÒ„¤»NCüÑ©é«V¡ð¼Òèš‚F¥C×ðÄEŒM+ÁëèìÞµx¡síï<4 ’+Ca`ûœeH—âš2*+Ýñ“:‚7-$GÊîƒôÑQôΪ¶ÜRëJ¯ÁË®{ Ò'èÆÀìnyƒص#ò'þå‰#¸ß#’Î2³õè¹QóÍô]‹¤L,´Oÿ¥3 LGÉ"¥ý…G¾W¿zµK¤9FA;Wiq0AÁü8ßý&j™ÇV¤Ž‚Áy\5_+¹ •è蓉6Oy:ƒÿ®C’[¥¡+™LBšÍk·,cA^xo™†-ÿޝÿ)KÙ7ôb¹üÄÑ"ÄCI“uuqÙø_G6ºÕÀÀgé3Ù7d ­b‹º `5T(RD6\Jh–ϪƆ¦ DÞô={£~+E–¢Œõîü˜Gš—«]ôf\ò© Ê“áäëY°ºÂ˜?TÖ`…ã‹÷3O{|ÚÓ¯ˆ]ó½Äø¨I€³ªœg.l`ÿßßt š_oDaíýþ{F°9‹ÔXaQݨr"@åaQ+@bbxa`N£1¯îíŸìÓ¤ƒ&,Ê*|·¿ô¬ß}âp¡‘jÏuúë7–KIúp±'H(?öe±á ª“ÎÒøžÿÉ6zZ²¹ðgÿÀNsÛ ˜0j,~ AÀFñUWžŒÑY&«¿™¹*>Ö3tŸ»Igiº£ Ïò'?‹8S]óË.lô7ÿl9¿ÚÊÙ=ÞÐñk\‡U«ýûök‰´ß`SÇÃLÌãÅ èÒë¥x #ù8 ðÉ5ôeõšæAy)ÖýŒ“1͇ÂÝM«Õ€ƒ`¢±uöàèhŽ‹¦ Í;@•rð«úÔ̬֟Hd5S G} &r‚îìô%üÎÓnð3‚,@G 3/o"nz7`N<‡xÅB®š˜…äš$Ù™CÑ[a€ \HR›Êêƒo0¥ÍdzíF‡°ý! õ£ÔºFËzî/4êpÉ:þØãl‰¢®ü‹a· :ˆ©ÆR ÷T1B6âO´ç/oï`~!7Šÿ/úˆ¬³’°Km d˜ŒÍøÜR§ÉÂ[XÓᱬºÊµt‚žxY«ç,’nšâ;½.L.*m;.Â?*(©÷T¿í ÚÐã0ÅRW(sh²b4ǘ‹« Ÿÿ¯Øø"ìº@ÞËX×Òÿxȉ_œ‰ÆÂ"9ôà ¨•ì$žûÓOǧOǃ›'s*{ ð¯ò~l›.™âἡ&Q¯¥6Y$ñÞ`*«ÝôGõ{õµ Æ+Áÿ̧étª~˜6škþû€ÈU ê­á‰ à÷Ïrû8cEyû‹¸Lxü!y "B³*Ð&–¾hÝ]Ÿ½pq4r`%£°á¬5«!”¤Û@ŒÛ¸‘¨m‹;…Sõò3˒˪¥@ ÷2qèþìÜFüÁÿJ³^@ùG4i›!- HÝÊNX˜2yV© ÅÃqat¡ißÑòµ•;u¸˜\‘Âa6˜Ù»FŸe+ËÚ•È«_( êÉoùÑEeE!#œCÇ3ÓŸTwKº¶mõÞárZMPÞå•F*è•Äd1t¹<6aIÔÛäTˉÍoŒþWûŠ¶Â ×‡´uµ7Bܵ½4îÝòÜ—–o„0q¨H0¤ "œibH‡RÂÌÝ(Žš¬Xº¿ÍTÜÿ)â==Û¿ß]_‰XÄ$ÜS‡"-?SàèbQðn7œÉæ4à4@õ?a‹§ ŒXé´ûT“ŠžLn…Ò„\ì%¦%’õ˜ý¥/€¶®„.-Ó@dj¯&ÌT”eÓ>ER·Ê©,qá¯s=ùu%ÿƒv]ñ蘓tñ¶¼¤[¥·²ÆÚûyÙ×ä0þ{—÷—ï›"m31?&T©Nn …7üŸVƒÈ¡J¤i#ÃzúK™ êd·QËãÄ¥)êÿåµ? ÚéL¯ÜžVéÈñG‹×L¤êì½£=­Ò²òº4ëý©ì›^®‹ËX^· E¥!5GcÈ »»œÓVÀ$H“ÁîRƒ8«ùЬ(G£},_MLq›òƒpÇ>&ãhqÕŠe‚=hÌÎh…Eiüy Uú‰„¡å\ïG˜Ý±ûäÞ»N'¼¨>Òµ’œÚöät§qÛf'FƒØÙ׿›ÃªDåÃ1& Þ÷询=J†ÈàIž/zvLË(nºêF þ”¾H§…´sÊaú~#üËò2èú“å-„>š£¼%wYHw)o¿|£–©Ïæí~S>*…’½‰ÌrÓÙ×i¹.ÅIÜ©Õóñ×µ#‰Ò3oB Ç(œ+º%ò÷èœ}©JÙ%âØçÝêÅ ZœÕ9¾PZÐ{@o¥š|­ëƒL+*0—ç±€»24õjy|X7ÐñŸ»XÉ1Gf4Mhð´cé?sdYF„v­2ãY™—UQJ«¹Ôæ0ÌJÓqyì2uá+ÀŸá ÖÑVWߣýtÆb-ÏoDÞPº’x'ñUăƒ7…Í·q>õö'ðœÎ.½á¶©ÐIï„Od€!ü)¼JSíüË RnÇO€ ލ š-I©£wj< ƒ2e¢¬22¯ 5h<ÔüÝ;Ûì«wóŸÏtld ÔDøiz–”ýdà¡–­"×n3 3^ÔåãF¹¾“ëc.¹×*€× Î:IR¾!"ùgŽqé©¢ž÷`*èX¬ žƒ£ tÂÊ<æÊ¢†ÍiS¥B¦¬|•ÏæÄ¿…wAìöoméúÍÕÌ]lœ Éå˜ï‡¨¹uxKöLTe•?ØÁ‰Ð³G³·S[m‹“ƒYž;-àý+r>VB› Ç.¦R¦cû=£ï¡ŒHÁ=Dïºfo6O®¨Ñl'í=/Éh`c¬ê®[ñI¦/™/KÅ.ܨ«ÇS _ûõK?5¾ê |ƒ»·ØlR%öæ¯èkh¶oåRˆþw ph_²oFï@˯<µc¤ø#ç@w—4ZÓ¹àˆÏyn?g˜ú÷~ärçªO6Õƒ‰[àæ¶ÿ“„‘â–ËÉ0N¥Ÿ!¼L9›“ÎÛ0Œ{µ ¶§ö˜Ú]ý{.Žx{ç=’*ŒjeGC†ÃÈã3X•ƒßØ0i©½mwŠ–²­è&î5Üí§Kc¯ý#QMíUo³£²¤ß=B-3¬:;Þ ¾âC>—’Qô´¦.óÔ5ÔöÙ ­:¶û˜¡ Ü¼ÃÛZµž‰-³,f£&£Óhìa »„ÿ‹Ÿ ¿Ú{%΋Œ^™·ÙýÀœu£6 !‡DéRLøÙÀõyl—N ãÎ@ϱ÷¸ErâýÖ„õ›]1Ò£Øþî¬Ç“î×tÎOµ¢?xï=·ÌÓ†_°©€ÎômõþúŸå¿âv¶f¸%w¨ÚÜÂmÂ)‹ ­ ÝvvgØ`"¨ÃX…ˆ¸XZh¡}Ç&n÷ê¦*×^gIìØ›;[?á¾fåA‰ª0<ósw–‹qYh‘» ô%ìí(›¦$;$V²* ˆz¡+z©Ïˆ|ô…óIÄq¤•„o’s¨9:œ©E6¦¬+Ü£‚È‘—¶‰Šá’< B)ôzõ¼£áÀIG§(H/íÿ–%t Œ ª|¯ð¸5ŒaĆãéî>R2öò·y‡iÙ4t¡R=iˆ )Qû‹Æ-A°&«Eß!@tJ¥¯ šô2ï³r…@c¢chBkå¶—&(=ÑpþÖö®ÀÀ*SÊ”W^ÖŒNmq¾þ~Ã2 Lw•³²£Ž³¸‘ Ûöà …¸ ›^dÿ™è^3éØ<•OB³ –-ªCÿ˜JÛ ;-j¿ÑÆUc/jä Äg8ÆœKäTÚ\ùÞrxyjãóSù›k“Ìîq*<|Ò¶´Xmüœs±hÜþ¡Ç>˜°öÂzO뻩‘O,µ´ÌZëR¸÷šÀÓì,I’RÉ÷ñ[?€¶#J1û;ÀÜL¡MÄž¤é{æá~ð{¶JuPÿ-Æ´ÅôÄt;¼Â7籃à<¾ižMgfîµË7 gf­’âwêÛåŸ^}¬Î†x0ª³9f:Ö{LÆåζªîDA/X÷7óU™õ¹6õcÞ©™ˆ/às_ ¹¨:ê|žé˜x&…+³)êðŠ4ê®ôÄLH×)>8dîŒîwN§xƒ{kHIR“kŸöÜmÕ¿8+jEHÚä„€yz.¦ ·™o‰qWR9€/šNÏê«fé¤ná=¿u¸ÌàþoR˜¯°œSÖÖ¥5ÚAbè£'ò´õ«^4V_|f Ê„BÀ¥Ïøéµ ïкO;âœyuP[<,·N]¬]VsùH.f—U¡‡]}OÓÛ!öZEŸ ½‘ÿT*,ô…[êDƒï°¸¦B„û2k3"Ñ0¥pŒª˜3³…BfÜã]Ϙ!¡Ø!yxôúÕ¼y)ÏN¬ ŒZ“AFî@¢}(å¬&º~N _Ñ>Ð89Â"c%ÕÙ¼îgA¼0¡ù”è5õg÷ þ ›CáM BoÇw¤`·s• ŽÁŠHã±mÕxk†‹ùŽÍ±çŸ+&­‹îøkj¿æF¸œ®÷Bgº u¨UŸíò<’ÀCõÿcEybÁ`À1‚‡vBm‹ûKû)¿iWbG7ÙñRôÍ$>0}è•æ³ATÌï/zÂÿ ¹cAI†´Fèüf¦ÝÇ ;G+b 1‚ÌÙßÙòU‡8ÿœcÚ™ÏmûB$…ž.‡8ôH̼w”JÉÇkÂÐýü´œ«?µ}C6ï·šúS™¶7ðÎQWµGŠˆG#1Ÿ'ý×}-dl¿zî|CaÅ K`¢‹§øýÞ†p~/cZ÷®¿™Kƒs.EGàÎÉ´éÛ¶ï’3DÍ#Ï1“ÞБ…À*dÙLÞÅ&ÉqT=Ô¢¯[“v¢@«a†fþÎç]Äeãq`pž$ý„õÍ©õc=g 0o$?Üšq¦EÅñøç«h¥ðÖbO E¬ ÓH¡-šàmtX(|È~1&Ó䳡VF«Ô¾ ;¸ˆ—ºašh—}_pðèonP pìwó± ~¾¹šd%ï@¬BqÐIc>;aq™AtIËãHÉŽº‹ð’Ô26vÚF:l®Óði‚S½íGýTc!|B0£c‰³Ê|Ð:n™ºDiqc;¾ÂÄ_}$MØ?‰ÝÃÙϬá—XÕ±añ·føãþ_æÕ³=Z]"ÇjŸ^ L%U›™³ÛGZl:ÌuUCØ+½£ßÁ–(êèPš²å•òV}@¼8ÇÙ…@sÚQÚ4Ú”SÔ 3O¥ôÝÜˆ~?vþSI w’™¸ÐR€6añ‹•޾ƇK?AÚ Š,Ùˆ¨fþ .…‘®JtM"ê×nÔ²öÆž …—S7÷ðJIÀ‡ 4ãµ\,w´nsµTݨ;$–-$b jÅÿÞûå¹JDü„¼F4—AÀ] cÕŠ_Fã°§à 'ÿ¿T±¼b‘È+O÷+Zä`YÉI&á/ItXÊSE5\VÔj˜£VýêvÕŽ:â“TU>½úçßZê¢ÔZËââ œ`CÛOáŽÿljäˆ#IeMGo³±ÝÝv ÚÕ˜ÀPc¾Ñ^Â+yc<#ÊG{¦­l ²¿Â ËØÜ0(‡Žóô¾Ù6usl±N™35YŽ…þy‰Iw÷.u>IkŒJ@çp2gÊpù2þŸAshê8ícÁvl£ÐÝÐ"÷ƒ·AÝq«Ç$~§¡£¥µ« ~y·àž0¤øíHÝzNø˜ægD’O–_¡ŸÆKLÀÈÁŒ1š¨]èùzeÃ,Kz„µI©ûÊÊá™5–/xÙŸÎX…-¶¨ƒùkPûòh†Úz2 z0)Gã1³†*T|ÁIšÉáÛÃ$­¬O˜#_:5Rw›n‰­ Ò­‡Å©~çú@vËûó’ÊÛTý-ø%¿—û9ºmÖ)byÖÑ«âlðñòç^6ÖÀˆoŸ>ñSHˆëp꺗šé¿ªÃûÜ_}ìóñ7·w‡~4µŠJ=’ï`c`FS|ÅéÄ]ßer:ÀFïRËt'ÛÇCÝ×@!ÒS5ã‘:ß!Q^Ãþê!ÂæÐBÈß¿‹"*M^f·$€2Íõo½êô~u’«RßìÍ{L5Íâ †’a\píÁfw¦_Ä®cà²ÃËkè~™ùy³—û¨²Xá­·âFB¦ëÃÆ$=X”ñÁ¸9sC¦;l椹ƹÁDõ•òáù”t® ?Y2}*Û“¯êô*ØYï¬G[Û1êõ -Ú (y¬FS3ÄʺlÑþKMèB\ÈMCBñÿ«.ÛÜ…êÄÞµ”~ýŽ‚^(œmcïR½,¨ƒ!ºÝœ ŽN‘-ä“òIÀÛ§üék 9¶.Qý¸rvŽ©Š6ÏŸ}¡T?•ì¹Läö/4uù-ç"S£q¾)*õów¾éqPƒÎʈ·gùõ%éÜ\اy—êÃâ¼…d[YSL<&<ÀÐiîO0Fì¼JÛ­ Ø{P~À¼òçõ†³^OÿmÔ‡+6}¶o<&´<©¼/±“ÉbÜ$͉DéP7¶:ý?5ÒÒ}ÚÈe3‡üöÅ øÝçÁåx!H’³ÅÌ‹ —äFlqo‹tÆjÁ)"I=e NýYƒë½P¹´[Ê÷eÒû–)‹Ž®Üõ.‹ïDÖQÌASíØÙPdQŒu_aÛ:aÔ€þßc͹^¿¤Tb* î˜*ÂR‚¥£åÒp‡O8_õb9KÁ²Ezp`XŒÝ)k²ƚ{/–+Ø£Ò© ËHðµ942÷+õwÍ)E¬PüCØp*ÄøšÀ°-ÛÁU( Ú)½—04$†YÏÓŽBx"SQGÄâú¸Ã¡}Ÿ9;WŇv½nÎ’Ae˜_P/û_&»“ÔpeIuŸee_ßxåÈ'ëÁîÝè«zÙ—ÌÀmÈôUNyB/¼‚ø@ÿÛÍôÄÖ4ÝØ¶qÁm°1XÄ,ÏÖˆlf“)³\8[˧þÔqr]×¹]ʧ ŒÌ‡‰ عo"~>Åòx‡í *Æ”"ô7=¨òsÀ7à ƒ*ª¶fi!Çà\yÚ—×ÛÜú[ö²†F_µóèı£Xv§5§R¢é}Ô¸ ú0tøÃj†TTôð‚áÝõ?2r³ ê=áöó+ù9´â$ÒÛ\¾G½­ÄLsü º”Žú€“ÎKSÿ 0)*ï¸ÕMÔqÝW;œk–Vã âA±…Ò9!®mÞ>+6(Á°7ËY¿înåk¿mô¢Kň•¶°ÁFkÑB(H×=/éµ—6nkKÕ†rWÒG‰Ê"Û+.…“~áCøî~íëx­cY‘o¿?Tÿ3;QFÏõ¾;Û:Ë"X½å‰øï³ó¾„õGØ|GGÂFmrc5^w?ŸûC—‰±;a©÷-…àí<Ýž—ø-ï¯Qp¨œûù¹óMQhuXà•LÆÇà—ÊçMãE³†Ó£ª_ijܺ™õã±Q.AÑ"|Á©^ãúòÜ5Û¿.ò™7¶$q^æhM—íÅ|éOêЭcâÍjÝ 5K¶FÃ5ÎÅ%R¾Û'u£ñÅ´)¬(Y§“¨CÕGÆ‚^ï‹jpÑ¢‚ó”F^ª•Ž \“=ô€·ÌÚiL@ø–1à­<*Æ.Q´nÐåÔþQ–øªn®ì ¾‹E³xpÆ“Âë0ÓÁI6úlze¢TS"¥ïhXBMäªBŒ5xú²’»ÙaÈMñ_è»gYFÝŽ» ܺköI, ìIK­Pb¯%SôÛ—6d †ŽÅIO^ž†øî„ Ú®ÑÈ C6&eá‘Ï0°?]LŸ°'x{D õWê™È ±ø-Ì¡WƒaÙh0¦•1/ìd”,‰]ëÇÔÈ3À…d«NQæï" ™JÒÎ EôsüÐRݾ“ï¿7l5ß`’—Ÿ¦§F’Ý•Ã? ¢™ÂH© U7ñß)ƒÑÚ÷…Y†S´þÂÜqhVž¯¨Âšs¶îë!µ ˜}^ËDp†òš¿Y!IAiû7yó¾ ü9‰EV„Æ&áV)Iê³üŸ1gPŒèeëÒ ,, ·ÉyMöÂÑgîíRm7Š .VÓòLà;Å>Åî0 hEè¶ÏÁ‰¼ÈZZGŸ:Á*1©;Mö*`œ”?r¬^¾È·Iν«„D ni¸Rò÷5¹n¤UÝcÚŽ§¿þPÓľãpÇU£n£²X q‘ê»Ý…2y‹vak¿X´i&÷ÅîÈ<ÿ“…¡ 0åB“ýs×O¬°Uë9Ð.x}Aô¡yå$‚ª2ϤuÙflzÁC¼ÐÏ)ßQ_ô¨Œq3^É~uG 2.€dk‰s„.ŽJš±& ~·MeDHÿYóãS|9·¢þÛúm¡kŠã…òq†û£y!j6Õ5}0Oƒè³J 2^…*Ú70q=GÝhû›À[ÎÓ€{_Ÿ`Ÿ¦7¯P"¹†¹ 4öVqaÚV¹”žíޝÆì¢\{è­çA_‡ Z©îµ‰-LÜ÷Ú2HKhUY›Ág_ÖµÆV\U#EíT:â%OkHí.ÆýO…ÎC#‘¡Ù¥w^IËõŒÙ6 I jy)¡UÐbŽâ•°5f ƒ°Ö¢ÔÉBzc¬PEÄByÞû)¥PlL™yIŠ[á‚3‹z°àƒY¡,´E)~W!Ñt‘Ðu€ r1dغïŠdˆ„Ô¦…Ñ~‰Å@;wKôäâ­!¦ ±…Ù×Wº28ÎT‚4E…Å¢åqó"é"üš¹j¹2;¶ƒS\ºa!ô ×t½ê’ *¼‚=€bi󂤸CÖðݨ0¥CÁÌBØm3 ¿oÑÚéb%kÌ"šOæzŸG²f¶ßî‡ ;œýd1W@uã–8ÎøŠäCŽmCnÍ›RT=ÙþUŽìä*†ïq2:¹}ò‘¤/~”6¾òà”nû¯ØæÙnC(íϧU11ûÿAW®€ÕÊ­¾ÇÈ@JÒ¥YÊÜ«Án –¾ÅÃa¼×o:ßÝR|¸ì)^²¾„‚tÙø+q>OŸ™Zº›z·ly:pTýx\«–åK¬süSËwÈ_VE¿EdÔ¿;ŽÕa¡œî/rÃe‚­¦V3Ø¿¹ ›§ýü/o½ï¤%˜2¶ÖÁÙNc2ßï Gð’Ä?Vó ã>Fäƒ@ô.jåé”—ƒqˆ/*n¶Žlߣc¯Ô.Àã‹ÿ Ár“üz1ŽOóéX¿*ÝafÍ·ZFÕwµ›ÙbÇIÄÐú“›LFSEø¸[M¼†(™†Ì^ÄÆqâ)+]G™Yú)¦ Õð.í|ÂéÚÜb‘ .Ì/† #,OA™Û—ÿ8r’±‡k¢ éaÉÒ–¿Y+tzä½YXßÕ2N¼³œ©B¸‘™Ï¿ÞSTrä=k–½ôü½‡Âæì%àj®M”¤¬K¢íže?lpZØã =(\NC’£ÏÇ+?ë‰uPz‘óކò,á2ë6o¤“Ó •jmÚ¥½âýž3o ÒÇJÞ«R‹æT5>•­ Ù’;ýf×ß0N2'ÙˆÙO…ƒšÜÞÖ«üøä® TUñã®újÇ %¶Õæ›éfƒþ$òÒÚg*”š<¦,8!$ŒEEGZv–´˜_UCr6Iz³öcÛ^ÌXÓö@IZc>À“Ôܨ±L0Š‹Þ²¼˜q‹{ÏU¿òæO0°Vܤ>V¤\Ã}eüýÜl>ã6©õíV5–E2²•+”TFU ø¡Ï²éˆ*m²ŒùMM*§©ëuíWˆzðÕwŒ$)-¬‡…ùý¨ÍÁRl_˜ÏtˆSˆÿ¹e¦ÊÐ\ùF7ݸ ¶ªþ  0íŒ/MøÁdÕýuG^ËÇÁÅyþsø4õÛ»TËüùež«'z)þ³y ôâ¡;ŠN ’E¿eMÖñ©Ò4$ãYÑxH«qê¼DÐ~ŽCo4+-vé³üoíx‹=#©Æ%2×ïùÎÍ?Ó'ÆÌÂüž8[f’s/Ê÷âÓ”Uú·¶S=8¬´¥7h·[TìÚSI-H­¦•k`ìÀ3œËB¿™êªúãHw<®ßbB °÷ðž3äíš‹èÁ&#µ;­wŸž/¹ã`o~vö.D–» {(iåFH¸“Îho”®qÞ:ã0£ë»VÁ3“ ¦7üâÕç·=Ó^ô ?'ô_¸­`Þæ¯l£õȵuh“fÎö<ºtL˜.‡’>à Â¢Í«GÞ-М6¢;4ÿMˆ6ç3õr›ˆ>C)Ù¨üw‡77<Ùƒ‹<’úšSŠ2¶„Ï),&|"çwl1]A-TàKa¦tAý6Ü ¾ÖÕ.,3B¼1õäé­¬ ‘“Ë'LÌ¥ã²(:&¾"Y¹ÉÉš©þ¸n¥JF#8õ@]ù­ñŒçí%ô"ÕŽt¯iURìùñàoró!°Õ™)2S¶lÛ„õƵkÓ»@©ó!‚ ÞtXÿ‰ÖÄa,æ8¯ÿìVåW°‹}”Ä¿œ@÷Î4Ídé LÚ^¦’m}»Åxó‰Fߨ¯ÚLó³.ÚEâ†Ú˜Ò0ª§ýG¼†Xؘ[”³Ž²¨ÞÒñLI±ÈÇ;/(\™V`o.XºsÖnBœ^7ï;JW HfR_QmÈže}ê'²õ„d\o±*)£A5í°TOS¶Yô÷¼G£Ib°Ð™ð§Á\˜%€ɔǂ0‡ÍUÚZÁes»çÒR‚¨ \ô̪…m@6ì¶žXXw çÕûÛ¤Û?#Ó£#:h Èm+ÌeƒRéu‚-?¨F¸‹”õ³ öºê@2N’:Ú@Ní»n4þvØc:žš„¨æ³\èDØ\¹’9…+­hu?,,!Z=á{=QoVõ­§N€5ŸÎm“3\~d³çT6ícl~ZŠÊL>Ñ÷t²¥-±_;‘îT¯F­dåÄozܳm¼ÏJö2—©Œ4 çE òmÐOQóm–žVÚœäw…‡0kø1¯)õæÀ!LB*¹N–¼Ëœñ'¶õ‹&ž( 3ý9;ß¹ñVŸ(íG¹ïß…oi ¿Ü¡øQ­÷U+®^x:Aë^ô3k³o—žCW8Édñ—óP ܱx%rÛt«àÃø[É"{‘²bIr÷…G$Û3£j;+)¡žY±f*g»c#­çPufµW9Šq_ÃÜi¹P´U»ëtôõò_fŽDfÜywÝô-ÔÊŒj® U…PC‡´Žõ+èÎÝŠÔ!”OÞ>jÜ_P2"Hžz¸d;c£(w:43éê*) ç´ùFa|Шb¨ÐÝj]œ¿|Fící-i­Þwó;ZbŠsÛ‹Jÿ/†¤ØÕêr1kšlP+‚_ëròäb7ê÷©À1Ì*ëQ•u$p=O×pûš8ÏK– µ»[Ä0éül.[t Qç+·,|oýXZÿ!F<ïI66΢}¬›§Ô͇r-@z‹ø;9O‰ÞçFIZXåßÕ¾ý„EÅ» PD9ÒáÄ‚2³ñsŒo— Ýš1ßÙ·½ÅrÅÊ‘KÊ-Ï’Fs¬eÞâXp8oQŸGiºÏ—4ôŽ)w.5•ãÎŽ8*1f[J¿øäj«p¡…‘1˜AÙ×Ò®ó†]ÎX$<¼Œð[F:ÁNü,jÛÂÑÃêNÇb½àu}SÕOŠÙc:Û6f¸ VºíÑXªm/©!ùc#XDa¼^™Lßè.ï›äBâÕË`›¡*‹×c õÀ˜ž!âr"½Ðð_¦½]ì…U¨ÛÍCZð½ÖN©ºÎ‡c,]ƒô¬]cñ$uØ=0G¼]!E5Kò9W2V~£?ï5oV†*¿$ÒŠ!Nvnâ=þ&î ýÐKG߸è¦.ÖØp¥éO¤#‰ª·häM{ }äý&¥¬7$ÀÖöÙg¡w¦²ÚaÎ[Äôé(îÇlŽ">QŽ6;1ü§ÇŠå»`ÕïtÌz·7ý.¤èªS‹…Œj¸ÕF϶g–tÿVú æëj›V€ŸKÌ*®ÃŠ/Qó 4…¼H­ÊïéQòm\§ “tÃ(”ò/¤ñ{FQ®§¡á|©¡P"q°M\)@A¨nÐð—ú/€§Ld'm7’gT¿ +PzêBîe$ñ»€H›ëR$óÜôÅåzb¹¦’ma¢<¼ %>e¸Šàînkœ$XÔ„È.bÞ’2ö¸+óË\{?‚Cß~Ÿ¸8`¿6¦‰çî暗ú9OkV5+ç˜üžÈò5ù»ÑD7ØÞêLåˆ3à]@ZÛÍ̧¼Ÿaq¥‘¿ïQ­ù£ (üÓ>Þðé´µÀªZŸ10Ë5€ þkr,“–K¯Wæj®]wH¤Éæ¼ÎÍHF×ú&5ýþÃÚß<|DŠôãZ‘:'zά#ƒvîa+øLé;€é€7H_áŒ@^Þ£ä—Ú7-ÏdEëI9wÇÊÐ Íã⢡Él£ïÇÎuÊ3ƒ mò£ìØÛ|R™©Y"<ØývÖwGäseqE.¯Ò2Úå÷§úO»T ì ¢ba%‘¾”·ÿ •CÕ•ë2™ZÁã¼1)<`Ê×áÆ-rVßuWƒçÖˆÑÔ†Js?ª_ }ÿHV\„¹»‘IY‚ê Ü;—ûlHüŠ £ Ò©ò_bÙ-ÿòPpµ瓌zp©Äµ#bƲO5ÖqíÆ¦ô'ƒf¿5:駬ËûÆØÉÚû0ÕK¤%i"Žj¬ˆ‹ íˆP å'“}¶é{«‘.oÛ†8EÂW‡žè¹øT àÍÉWá~"K$Ú~H±&mʈ|6.±çlâAiÆÙ:^wÅxìê>ÕÜÑ4óÇQD˜—–2£î Ëôô‰‚ú…ÔåxÆT¡«CoGþs­*˘Ün–\‰±Õ¼±Í`Í\7û~É·çÓp¶ hQÊ€ðvŠV vaÅõœG©v“N:Éøž—³1RÜ1òùø‡K s<<|d¶M¤•û'š ÆV Q3öA+¨‹‹ y®Ü$èøÉ,¹à‰ì¼V¥ãYýq#šewJà5-“‰PÞÑ臣]îUq,ôt©¤n²{,cã(¨ÐÕçµÓX!Kz{mº”¥ÛSj®HÞCv/NÝEP韆HdSGI3‡IÒYk¨ÆÜ¼×gh£Þ¦OÂö+T|©¤Ï‹{R¶ŠîhU¾Ó‹é•È?Á Ÿjb䯺Ì/ÃÚ°*i}4kþB ¥xɵ)Ä–†,?ÅXwy ” ÏjØ£é5TŽÃà©ÿ×Bm¶\Db¨CïNmææYÛ«ò_Ïé7ƒ©zö¸#×ÓQóØ(ÊZš‡¦6E¸ú‘\€*Eô©ú¦¤S +²À€©½ñÃ'ñÈ|š7x}«ª3ÆÕ¸6Ñy€¾&¾ì”zÄÓ¨ó.ŽbÙ^›ooˆœ' jñ ìË"IÛ!Xê;øÙb{sìh ÷×,±Á뺶ZÐQÜÝUCÿ2œ&ïIu°ç<|LºwV˜?èïÇÂùŒò—Ò‘Ø{»ÏXÉ­!ÉÁ#Áí€O­ªpï­=¯ò8ñ®'C9?. áÓÀ^7ûÔwaኇ9_ãrd£ÉÉd¶K-(·ðÚ±{ýÈ”ÎKYQ;œ•c+hóêR¸:£{™xè¸|ò{·g³ÒYY7sÛ¹´ôŠô’´®ñp$UhÖžÌÜŠ™Ž‘ª=äŸBƒWÄÓû‰BÆ_lr¦r‰LsËæô®“ðµ×»W®u‚©\yçÛ®÷QåÙñûwùã ¶›Úïl+æn¿3qBœA¹ù­?¾ÛÎ_#ù»€p,Š´%kY…ÒR}%œœ¦eæhBÉšçoj|‘Í„²¡y· wB4ÝÄ{¬«0~48° à~:í<©’ôÌ\˜¸9fç«›ÁÓ­Uô3ƒ6}@ ­eTtÇ_s \ÅCžÆâ\ÆûW€»ÜÜžDÕ ÅË]òiMð Vp¶ l7Æù2!Ø^¼bpvƯLæÚä¥ºí Ší"µÆ6¾É—r*T=C Rö" )˜—JÉgθѮ࠯Mš˜.®èÔrNªcÔH¨I€—r2Gè5¡ñ8]¶ÆQlv¡£oe„{) ¢3QõÁ‘?S?>-x‘ڼϪ½¡JXÆ4\¦É­‚¢s-³¶Ôƒ4u¼\o–£Í*6•“[0ìÃCCÀ.‡cÅVo”lüš)u>õ;>MžåºAeW„ädÓ$•¥z­4—àm|ìG(&:£˜ŒGO¶üVrèž¾ön÷Uc¿Z¼@bΘ·ÜôÀìŠñÈàýnZ×X{ïzðâtF áÅùÏø„Q ®š57f}‚ZÄSmzù„„šìãßþ|"·Xh•Ì!mˆJo ^« ®GFÈ %®‹´á-p‹=™ ³«’žQžKsLuà«¶a*QR¸YúU3ËJ1‘Uj¬Æ§ƒÌyé:Úiá×$×A9 ǧBÎé¼>½DQ€âYÖÞ#÷ ­Ú§â8AÚŸO sù£v«\Oôhn¬ú¡éña2`³¢P;g¥mØš®lLO„Ÿ%‘­¡O1!W¤ÿƒH ûíOÙB«uöe mgžäM‚5›è#Iæò¨µ½ˆ:ëE#еª`Stêy˘–ÿ”˜9 +¿:Ÿ‰*Ù>fìâ%Ø]k5 ¦Œ{å’ï™> ]»óe”ÞF-|óDudV¹D´¶p33Ô\r´U¼XĪö²’©û°b 9ÓóWœI·Uúpsx…a;ÿ…CK|;ÝlˆR@¤OQ±ûSöÊØ_ÿwË×Ûuõ\»KÎ`¾‘-,Tø?-=Ä¡ó ”ïb‡‰ÃK¶¬®¸ËëRŸ ¾ö÷ÅñÖ°9¥"Kšˆ½Ö^ýéL¥3®Ž=e,.ºèåm¨çu*T¿^™ƒÇ{¬eŠ#C ûT üÙÇ@:ܘ5µÆ"¿EÌõÀM‡”ö>qÐDhä_:<#&º¥«/×xbï7—RÚãwƒl‚ƒö ¯N.‡ˆf‘¸ºéÛ000éÑã&MÜŠçµ”çÞ„¨¶†-´ØeAHa0_¨š/ì'ä"®ëŒ ˜Âq•È¥ ÷QƒÑý¨#úG–L“^l¤˜¨Eê«~Qv6ʯ–ŸFaO¦H°Wzñ)àþzBîî&f‡©ûJ+=›ŠøLCý(ËrDaá_öÀºÀAðÝøÓÉê˜p"î†?8#±£öJ᳃¿ëi^r¡­¡àÕq’Y‹úQÙCïzù©ØP‘ØSι«Ë&°S4€åÔ‰{,”S,¨6Þ:RëÁ0ŠÚP0Kf§¸Æ}ðƒ0ögW|ܤÑd†ÅØ>J%Îô]k… ê—Êvõ“¨¤ÝV˘†A{Õšxêþ“èÿm1ýÈÿÒÛüR@< &yÿ-gMÃÒóÛøƒ9±Ý3‘s@`?Õ79›-MûŒñá.÷bË?fî•3K7È+¿ƒ+<[{Rüf±³¹¥ºE×'9âN|lÝò 4ÿ¼4å/n<7z ò¤›\züÊ™M“”ÄR⺈æ¨gy4D\ì)>Ö‘Óv'lNÕô¥Ü¿–w¨î­6³¨I“ó â®/«£ùåºO]\Ý| ŸÌxt«1ÊåÊï;¥•© Lœ/Ÿ*PÛ .Š‹ŒwÚòZ§µ ðbÂf®Ç8³NgÚDËŸMkúiðnA0íMOؤÃx -/÷„§ÔhxŠœ'g)•i pFÂÆ8õ ôvx+4T;,WF½+kpîºt×ÿ2þd„~ÓÆàkbÙ\hÒ{î§¡èϺx°×ù‘‡!°þ¿…:ås´íž;Lÿ¿ˆŠ490 £aÝDBÊgtA˜íOa{X¯-/TâÙÉÚúJ¦º­Ê¢ÓÌžèáØkÃu-n(ŽT_,IÉÅð-çž ¹º.°€ ÕVíbÙ45FÓä³{Y´ª0ASg‡€Çü xøcZeƒ£Ê¯OFVÓî©w%öù‘ #dÉ©#ýP™|ÚÑ´l2/q% UñSœó9F ¿jÿÒ*š °¡.ãýº$ZÑìd\Y¯Ô3¤LäÒrñôGhª\$檲º%É5KušòSwЖ y´à‡ uÈßð;ð/«Ù­J ¤$'x_¼5'Á‹“èܨÍ?©nK꩘Éêöf; „häIŒŠì^?{®p¨Ö[š½(Ä Ú¶£” ¦çmüL®‡§ßa!—ëЧòã·÷õ¸@è?¬æø6*Ü–GþuqMtnftê’’¥dóÛÑG›™£íA¨…éüû¯y2]„•Öþ\Øùq–æïÎö¿ÜÉî|ËRô$Èò©yx6÷¥k*ÞäBbìxÙ³ÿ †"jžëxöYk—B„"±@_…‰Ùõ‘ü÷¯jK™¥¼•ï»–Xô¤õŸå®?%|©¾äûLlDªcÌN ½àÏ…^3u¨Ñ’mà~p‘!ÆÿhØ’‡¬×yív½üVÚ™|f×ñ±hf“)LúòªÀ^Ûm%ÏÞ€ w¦ze®Î()¯[꣇áñI:r2Û²\Èj¤ –hO—úÕÎÅ ôƒðï\ 1:ù:XcgÀV¤¯ã!F9°’&Ųt̺(*CÑD-TZ¾ÌykîùÃʈÄ»¾>÷‚‘¢ Ç_ÒT+W‘‡,`BÒWYëEk QâŒ([¹µ/3{=ðÎé1!Ä©Ÿu©nX’?5©ò?ó5x¹Ìõï–é>rÞMÑbjR┓ú`…·qÖNceàŸÒ§óɽç<‚Þ8I Ÿ”£É]Ô­žk~y‰•kWÁïžœ1{Ú5ø‹?\@ïZ3>9m¡™mZ\›|¹­^ªLšZ½ñ¬ôÒBmm0*;‹Á¸xö[jÑSCšµJpŒ¹… aùBÕ ¤Ë@WnÖë—'p' €W†‰h’¯„1$1gS°å\™ì¦Ç,ƒRj æ:›9éiè†z’Ž$áæPБp]ï¤Caw<õqïÊCŸä 1tLÕ¨FÒ)Us#R€õQ Y´Œ{Â/©jY |;ñ0ßò¸óWY‘tĸéÍ¢JÏ*ÄB{váÊWDÞ€y7wúvvµUXÑq¿)>\ï"aiŠì»uX*µmY€^<Ø‘«ŽÉØö0$!MHR4 Æ*vbG÷ëeø9¯VÕ«Ÿo@ãòSª‘ÄM ø* tךȮ¼-ÛÐaúÝ üÏØ·Û•0h*Jꀠ­|PÕÁµÀœSB¢†Õî>åB\T!ZÑâÚZˆÅŒ$Ë\™WqÅX¸‘¥¢Ê9s@.Gœµÿ¸GŸÃ•`uÜ“c–?ï¡Ëæ¼»S‚*Í!Iá¸c®à»Š°400‹ ‘{% ˆ«x•y-;(Œ±Dvþ Ϻ‹§ë?rg-÷ï‹2/EñÓ7¾ñù#¢ˆg¨ŠsЧ˜˜<™×æ±y>T"’±ã—Ô<â?‹¦´¸fmñϘïÛ[%rº’(:Tí:ÿK§Ó «¼„½À 5æ4†ÏŒãkIJƒ²û7‚¼‡b{¤:‘*Í–:3ƒ_ˆ]êJß¿-¼àD’è¾ú×êÑ®M³·óöekÈ”$^Y×íÔSçßßI¦Þ”[*aDZ˜á*Št‘P =ï’óÂx}¦µ]p 1¥—»êœÖ¾¿Ø¢,ïo\ãõ„tzl-ÉL Ž0ÕüØ%€)ÿ¹?QfÉGícƒ÷$^P)†ŒÑýµ€[!3éË®½£0²Ÿé[`Zë&Õu3ÓM#'¤,yÈÐ忺뾸fñhXâ=-uˆ'­³ïe¼Ãà7#VnL1Û; µíxˆ8ñ.'»sGËpͤ>t³^‚<¿· ĆtSï‘|‚†Ó¸âx(>.¤=­J» á×sß!‰h¬ì¹Ö["v`oN鈔ù.?*ü@†¦·‘˜9^%XÆ.}ïW¹¢´#Oƒ¤8`&‹Ë+ tvëÑ«±(Oa0rïÙFÀk›@]Å|D‡½ýhõÊg9bFS9Ìú=ÚíѦb¨ÚC’ì¦É",Ég‚Ë"¶#•G«…ß>ôñÚò§PÒÙßcÊ­¡eÖv…Á¦{éÏ<9Ö L8f5Eu–*çØæ.è<…A/1Pk² ‘íV'lÈõŠÆÀ¥1+ >v£^udÅ

Z>5“zˆ»åž^ðŒÖ…€r}°g¢±pw] ´'5Ó0CÐV)­ À)gê_ÆOhHÞOZxÁ þµœ#Þ¶6*¼1Xé÷°G&&õL1^²M8è™@ÇbaÓ]-^I±2m›dÅ¿1€ñ÷uMÌ:)’j-Û2]¦‚b̰þ‡–Šü&[²^‘ñ ˆ¿¤Öˆ)Ä=òF‹W5ì¥x*u™UXC‡Û³b³5C“¸ZÊRÝJ1/r•êYÀœþV°áIÏ{ŠÜÇiÿùÁëƒk•ÔO°?M;A>€ÿpN†›be0r=©ÓÅM]ÝÃÓÄW°¨íØ·H{À:@ÏSÅö…º ,¯©„D‰óÙœ°‘ݧ6[‡\,ž tP%?î‚*§ÐCk ‡”<˜]—‰’BÜJ1€ˆ² 5§Fä|Ó)r¥UòŸÀ‚ôZò!È™zÌæ”æƒ{åëgI}X÷Ea)j]ê&¨”Vˆð˜uç—Ÿj¼å!´“0 ¾ÔÅ3GóD^±}Áï5œI–öÍÞ’=‰C½Ì5|•ŠžÓŽ" Íz ÆôZž8uω =n׋©U¾ëýLê>ÀÀ²¸ ”˜ŽÝQæŸÜ¸©¥\óê…«ä}¼—_·‰µw-•%¼&¢§ LäÛ §ùÂq#³F  êw\—·†ÜqBÊŠ¥Ö-8ð m“¬ ú¢ÀV\ë|òç}vÓ…S+Ûä”ð,Búq©W0G+Mx  iV‚'‘”{}ìÅÎdzãfú5Mˆ¯c&ø5vŒdRY%æ~'Ùa¦L‹Ñ,O”YÜÊ«Årv†Ýà#¨Ù­C”7B/®šÍºŸVh{ºÁß/å}©uŒÊÔŒ¤ä)w‚s!|.Î90ª2êL³šŒ;µk'á’<[@¸9§v"ÐýjnÑ–ie«¶ËBæ¯Y6cF×ÝSèK2CV_Ÿhf.òä"ÝZìuÃö¯!‡ÝŸŒà™¦\¼^1ÙÒ‘û ˜¡]8±MI ‚Ä V œlÂü>ÃgGÊÝQ™2·ºIî²XB#ð+‰t_ãOŒº~ÞTôN„|ç/#°û®Ùˆ‚zf)Í?HƯáüN%²Ž#¾k¾$>ì¡™»¢–iü…€Å˜ÇzS\N¾ˆ{æ¼sDXÌÒ‚|/T½d•Ù3®ê5Ö/:‡è¯‰- Iš 7OvUŽ tçŒòþY«Ðä+·0‚ZŒ€žÆ½‚AÖ•a«³·,ìQEÀDU`§¼ …ƒ«Je¶à%sn)7Ãm0eäí»0¥ìGW/ÂPq‚š.ÞÛ~wI2råWÊëÝž.NÑQû1ÕyÁ0éž9iN©Àí{ïIf½øÏÝ¥|BðnU_}BûUât”ü×ôDr?öX†½V{ߣs» ð\ Ò!)ÄšŽ–Èýÿ•!âÑ&ŶUŠ¢ÙßÀÄÀc«ÀÚ2A™º43µ9Û:=®5T6=/'²²n;A$¾šÄ…3Ú¡¼z÷<Ÿ·lî{ çÞÁß“ß!êêlG¬Çe˜¨¿ 18u.›+¼o@°ÔÚæ½ã|1Œ|J~N1"½AÄ¿D=ªz·ÌòG“ £kK˜¤L1 Ïû{‘hfK ¼¯¶OógcT™LjE–©§Pf_ÿr{|É^òç€S QSUicXì‹«qÊ :–Ô6ŠÓu¤ä^ôê´YŒˆÖ„Š«½Ž¤R¾ÎŒ€N*ø˜>\+AÔ"=R:ÏÞwÍå‘•‚Ž ¿Aä1~™Ÿ±ïSò†IÄ¿TC`Àýê‡\Öƒ7ÁõÊì2UHp­ü4BrbZD«¹ ë«|ŸÜBÄð·fq³Á/r8¬ÂG´j¯ÉÆr¥L‚dÕtxš–>-ÊqƒêËDü<ë;ß~•+‰°"z.9›ã0¶Gp“…'›Ê{Vp©úC\%í$à4dè¦Üé¦T"²,¨e%œ°PÑ›ŠP¢\¼2=¿Ók½ù~zÂLØ}ÁüE/§|aáèá&žÊ ão·Æ‘]*¬å±1ô/å|vBEŽ «€Ëp™ø¡Œ9ÚZ O«ý;˜4#‡êÑK“év¡\)¥.Á°@§ÈçîÚûN™ƒµÊñ *9¥¬5$é¢uö;&„Þ¦t«u§Ù8a‰ªË·|ëc” ÐŽW#ù‚fDή]zæBµÁ[Ö†ìF›ÏVX'Á(* Hu“‰ÓSâ{G ùïûçfÁCWâhÇkËœtˆM«Ó Þèø—0ƒå‰\¦úÑÄbl ¿¹¿Ûl‚e—™ áÛ‚Üš£"D@í7Ǔ㱗pJÕdÖGßd¬ç£%«@ûM^ƒhÙ‘,­—¯eš\Ç~‘p –ïzG^·ØÞᜠõá­Â·ìäÿ-àx öí¤ià°{D0²ŽQAe«òU ÷Rao4ž=”i΂ºQ2#1LÙPþðÇsO¾@§[Ó:?n:µ/“xœRv­L¸-ßœ…ÐñúÚ7‰œTË)¬Ý©h/‡”+ÓÎnæ>¡C œa‘½!¹0½d’­P‰¢âîsÐ\û ì- ¨ø’÷C˱Ý9ÒJ9øh ùî?ȪÀømT-ÿ~ä¦Ðýmäír~W¯—Zø( Ö¦xQÆÒ(ý3o8‚ %Mçy};eÕÀÕÞŸ–ÒÛè¦î¯*tåûä(.‘…Cõ·t-Xñ&Úà[%°í lÐ’Ð=Óú~oF ­kÚr_ß'@11ù?–ƒgöË ”Ž©9#ÄØôïj±d“h¥¦=<%Û~8œõŒ¾jOž|™–ý!|½®Î4>,…T dXðØóD,=Âu³Ø&~ªüL¸òŠï€ô4#Oó:“gíu9¹‡_á›~v…èñÒÙŠ–CósjÊü©6{ <×g¨lã«Äëï÷â?šfŽ!›‡Â ¶@ˆëÊå1Zåä˜olð V Îl’N¤s ÁÕþ2$çõm¤ ¦3Ò¯'ˆ"þHyu\Ad¼óµ—}Xúèûnà±ÕžT>(.°º%ŸÎ]*_‰xW!¦ú§ä"9£¶"Àhø½1Ëê`=~Çÿ*ˆš*º*‹Wt8„¨Ü€h@Ÿ¶›¬PûenFižÛ™R¾œ–ã,{m’cŒŒ}-r¾ŸÞVÀ%^=9™+Š—`j Z—Hsa­WOr¶úª<ŒîZ|!Ò±ËiSlÜô5\HÓ˘§¡ŸXÓ™'Fû?õµ±]™AžeéV*Æ€’¿N茷µnTb«vUÉ9zÜy<ÉRê§á‚.t…pb¬o©—‹ U’¸Ey©Rj¡w±k3(E)¥" !3¶ƒ1eêW Ât@ú\ÆK&´Ú×¾Û¡Sa(Qù¨¼Å…„Z%TͦOÚ(ve‰ŸÌŒòø**ß>ˆî`!¸ÝC“"ÛÓee6#7+Í‹$ œ†¿ŒDçBXÜzô,2³ƒ][œo`f;ý ˆÂ¥\ñÃÖ¢€šÔ£ÔŠÊjoVaù¢€Þ–¥BÈ´~]Lg”3©Ë³õ¶ÈgÇ(ÞT–=¯§šØRõ æ5=¶™…pX +‚W‘KfS\nÊçä¸E‹#Tˆl²T5÷áG -‹&*¥ÚìBÑ|¸ô />t‘dzúqäø¬.ÏÌ ¼Õ:*¸ª†ë´ðúK£I$²Ž{ýuÄöBÁ§ÅR&É:ãfWy³ÅR«p©sÝÓCEßøÏÛ!6ëãÂþÕHª°²'WéÌëÅvF®H®p: {GöšO·Ùp¸¨¨'¼Y5 H SC¥ÇAÿˆºÁfѬã,<×OÛ%­àÕ,ÕZ>”43²È0tnán%ÄÊ-ÑIñ,‚’q!}jÚX%]˜kü´ðvè̘ÒSØ]^½¢¢Ær)¨½Î~. æ3K¼©ðö=¥vD²ê+k>‹é;7ìíÓJR xú¬ mœ˜cëì¶»AŠ@ÚK/`jðEz‚Tg¥Êä4ô¶Ç]qˆÓ…) Þ¾ÉÇù ü Œ0¹±æŠy"S¼°Cf[ÿa:^>’¥(bš #½™ l™4t°Ëù®KE–l#~=×u5zPó¬¤$ƒƒo5«å8B) >Δ€lìôŒUMµv£[GõÓÚÅšøÐrU.¡rjigóžQ{Ë„7>&Ô°Þ:-M¾°ä2B¦8ëζTß$^Þzjhc#¦J3Ç]µ† üQÄÜ\Gû—jYËúJyeÞ²YZâzí‚ Þô¦¡GëP>.Azü¥Z,ñ¯IÉâ„ ùnsöÊ¢™˜¶®K깚u=Ò~F²ä¤^¸GIÕd´>E£.¡%êÍ·#“ν¼ÀH´Y8ÖD ¼>8_b Ó°_Ñá*M3Kƒ¶RÊOÁeÄüXF4ö]· Ìpé "G¥ð·®ˆ­*/ªý9jbý£õB·©@ 3’Z:CØ9õ×X狈>}‡`§¿€ ±%èÇÈW£¢æáåNÀþm Ó ±ë½9a-Ž€¦óß`7z,Ûº§Î;R°3¥G·7±÷{KO§ŽåÈbyú`u&m+Îõ Z¦êöB@>]6‡±í†y4LˆÁv7M\µxž»Çx»JÙ_Ϋ¢w{€§ á Ï»ƒe&® Y$ìŒ^=6è†h›»‘M×rÉðv±uWÃo¦³ü{±ò—“*gôaÞî† |“Þ&8&Õô5:µ‚èùõÈ{-f¶eå³e}afìˆv¦13åhëQ ‰Ì’‹ÁoÑQ ˤ~ÎXW°‚ójnŒ™¦Ï£q<Ý~ü×nã’ZQ-h»W(5>ê˜FÍ•HÒ¤³ …"Ì´O€*¸ãF+6óñôÁ]*ÝÚ+ê¯Â1KÏ3R]!žÒÐj¾Q O¤þA”䡱izóbÀ£¸”ðòS¹—3EFR{{è’[àÙðk~k†÷@b¸èüTM°Úõ»iK´w`tp#ÁÞ® žàæ’õÏî(*ÃØ§šeO/1Î<õ‡Á™9ÊÚ<8rx}Ö( A’ÔܽYAÞ¡“»÷ótpŒÆÊ•qå̪»ý‚›ÌaÙí;çÍh`œ ¼>£îýÿ½¥÷ EY·ô“£j…Îe˜o éä3Ø¥»ß6tR–r5N· Ðiß ©¯t]V €ÄÎÑÖqâ|w®Úÿ½-aIþÍ1†LS¿Tö_`™þS©ÃpzØ"É?žzãXØ2[àãžÎ|_E(Šogþ›»š]¨„‹øDâæ\¢rý[Ç—¶0 Hï; g¿f%€\ø6`©¤@E/—s†H2Àv.zÆCæÒße_ëM;©ùcé'Ìlä‘Äöo¦˜—Ï  …‰sy?RAí`Ä¢ØiƒhŽ`HB]Ä$±}˜ø« û%n5åœ| ¬U³*6ã[×ÇRÈè:.ø=ŸP+¸p%Ac¢ž}NŠ]I8ìëgH£±„¦H[a|Ú%äÊIПID>Ö!Qd73õª3˜;:@*R÷0è¹µ…7 sX›ÀP5å›'7æ?Œò½ûßBÚaz¡«qõ½âDB¼yƆ-èˆúÿb@¨ñZÍBtG D‰dÈ ÷Œ;5-FÙ’Æû¹¶@¼ 0çuüeïhP9­½R¿ïÅèíýÇäšåà çhœoìŒRùJGRFÁ,·‡¾ÙX¼p"rh ô†”é©E€UÎá/‘Ö‡wèW’U'±žQ ô¦@78g>âdÃ"h›¹!íƒøå‘nÇÇÕ¦ì2¸ÆM¯G˜… Š »%&³[JæeXOÆÓ tÆ]Kâ=èy’7hpa”¹ù4bßýUhG*øê-ÝB*yÓQ`8ص,¨ë¶ŒF¬?UÀ¹â±º>M¡I),ú±‹5Ÿo!€.‚/À 1|ñÊW4…ß%ìË$€^iо¾$&¹)¹ÃRßM“~Οô:–#¼ ¿R\?à'?^9qQ‡ö;ÒCzOn›àöu4$A!nÏa ÎÚAg®†€oª`›IL"åÑië6xD^цÒGõS-Ò²<ý ®ŸB˾½@`f[*\¹Ö#ám¯ªï=®˜ÕbA€ª}oâõÊÇv±/Ud´æ&Í)ÓÔØ\s¸láï2]²r¢–Œ³üÕeL‡LZ‰ôEÁÙµÜ9Ž^ °þ¸Î$ã©;æê1æÌ³/³À}K¼t+ÿ2vùj:8r¾fUäL[sLJ­#7qÈB']ä¬=˵FÞqæõãí$@ª`ô¨ßš»«è³£j~+2”ï»zDä üe@AB–Z ƒvºs ‘/Ūõ(-®1{ùœùðãÀG\T¿Ý˜'PœëÙ\ãö9.×Ëo¼§Å8UÆ 3aÙùrÞ¹qk”p#[‚+3¼4±¨Ï{äK¶S ŸLCïáÄ·Qå ! ¾3£Àr3HaÒV'ú¼kR)°a×&”;æN†¶ ÏÑú/ Ž‘}f æ O ½þÑA‘¦²=¡­†ïç…ú4óR’s£Áªëˆý¿æÅK°:6`Ƀ»³jB½®sX‡ølú;¬ÔxÂÿ/¹eêÙ»içõdâE£–V0Gq/^Ipˆ“R°›Kºcߌ9DËݪlÙ[.õC,?£ KŠØî®= 89ríÐSK«„ˆŒ:zðI[ŒW€§•è5QAÇUªqbj¢JÕšyµËú¼ÒvŠ<ä|û$‚%™|•¯„òF»èã¨.VFZY\SQò®yñÆ@s×õ2†›aD45f§Þa]FäÄ$SFBR*D;ìÙ^†MõœC;g¶+]Ìu ‰¨–ùç}G„mkœ~ZÞ£Š |+åÏш:?Ɉœp\“Â’¶ 3¹ÖùÉ’ÿ­dÂlgËôK‹wžzˆÍ²ê‘L5¢-JÑjÀ*gúŽWÈ çàã… Í9AŽ˜ê ö±Þ³¸œøñ¦ìhÌ ‡äìl¹˨%AÞ¹¢šƒJ8ðì 3¢†PÄp>¹IQôôÍD´I²Î‡_¥J| ›FÒ®ìÚÖœæ3ðRÛùÁNS9vøºÔ2¤h¨iÈ~s‰Ö{ñ #ŽéwÄ4]†6æ#*æoа¹Ü¨Zµš-fæ1oÍõQ[ÂGw®ËTìËGÿ<Ô´ úÏRýS}Ê¿´ñºQ¦—Å¡O`¡œ Ðа‹¨AÚK<,ŠI´èztt¦µ(¬î© ä0ú§ Ê¥…L" È ‰£Ù¾S|ÁP*¤ ðÒ5 Ìf\#`tÏÞËó| ÆñŒ!äp˜tzÕ0JS#¶fð@¥ˆQ-à³­ØgùåÎxà6©pRÛ̽ i$)Ó ÐñQŠÊýdèk«ÊjoÛ’ñØÊQêkÞ7f‰‹þ>vê€î>ÂC,ñÅQ¿Š«©V'JàHAeäkøÊŸ“F÷\—ÿ»Y“Ž)?ŒSðÚ> .„x,seðdá®6˜IÙFv°7–à¬äâ”ÂÒè²§û#…B&Ý@w#=XÆé•¥a: ôõaO‡F.‰RwÝØÜtV'·í´¿Š¥x +¡Ö™D˜», ÷ÇÿËö±9ÖÇ€ÍÉVz4ÝÀÝ:º†ÏŒ/–"]ë¾hñ¨`0ºÑì»þEj–Áé{ÑSi:ÈE"LáðXëB 114l>Gw…TpDÜÔ'U[ã]h“ƒh%SÛÂQvÍÿÎ}[aÕ ¨L .°äw¨˜rÍF;Öå‰,‚‚ä˜äê¼±ãgùp^ÂgÐÛQ¸a´$¨uUÜx¹æ¬Ã\,¤x˜pt–Iô&_šârþ”n„Œî›*Ò‡w© Y:wÄ{Cb1{N¼”6¿àˆö†'Äå22 ÑËÁ©ùÿý´\EYš;^ç†5qÄÈÉÞs¤!¾pfxÇPx) ëk¦á£/±pŸQ6{1â¯þ3ä«Çt !€*K·¬ÿÒ?@æí^ÉwQ# Ó÷KÇ>äHì67ÀŸý!ÒÕÆ¼-ôsþÇ«ž³™E¢xçêÑ·P\ïèÕíkÍÀÖÚ‹ÙET¤ŒÛ›ë¹EÃùíE£ü‹`3 3‚C±8†ónrº Øœ íh#-†0?Ù2 í®Ú÷äÇvtâì>"D~ÃÅüµú1¤h= MJ©!ÿ݈ ÌAœ}ë×õä´á¿Vcc´çßá®›6L`¸Q4Ýÿ9& *? ǃy{¨ƒ'Ìf>³†¬Êx¢ÂˉYK¨&ZÞÜ™«2Ÿ7ZœóDÆ;ú,ЬTÉȪª9=»:æ)pŸüpØî|3!",…™6ºŸ°”3jy­EᣦfÏ¡$|»,ð~µ~½ œÏˆ« ïÔNQ+®ç4­an—}½@žQÇôI÷$ò/KØÆ9G·•M ÐßÏܬk<<Ïu}æ€Î¹²»p„äßÕÞt𢨮™µ‚?Ò’k¸VÁŠeâ…Úß¶ªó'÷íy€Ï*[‡ãSó«‘"ÆiÇb8uŠÝO¼¿Wþ%‚ T¼÷WÎ+psf?ÙrÞFj›Ñéºì‹[ö Ny¡³¶¯ßQidÈû¡Ž1„H÷/y‚…¼·Rtsn¬bèøÿô¯}AÕ«‚º`ˆ­yßBšùÖ#¾> aÖ•»KÀ£.?˜!6 Kt‡ð-x K–xÿÞÿcV«LI67+ÏAµ[¯ ‚º¸:$‘n œÚxŽ$f¥OÙîÛD°cõdn wXà]ˆ¸¦‡p üö9— ©ŽËuDc åôÜwŠ/à¼Í–ïßÍfˆoœqÓ´@+oFÛD«ò–}÷âÆCæÏF…BŽÜLù_¦ Ï»/éõ¸¼6÷ËññC(ø•HâüÆCóéó%Ê%q¬) §|Ð;ISpZJ5õ™ ê‚°ÁÜ_£MþÀ´:ÕÁ‹ÚᎦٮ€LÂJß=!©o-üë×<Ëο ‹ðëÂ)nVªYc :h…ïšÝ¡sMó«á¥ZôÆÁ`í;L$à—ì.U™qÞ,@RU£cf:z媘šO°LJ©ló±u7K<$n)–ïW3Æk²—54Øhx£3Vé!5 8yÞ¥ .AÖó Ù›)3p”c\T<'§n1µÕ¬'™8e‚7åÙ¼lµà\£‰)*ødxxyÐ2\ïZ ä&¦/Ž#ûXÍGS¯ë$eòja—» ÛûœMrB k½({³&ä.M?C °†±¶JÒê¶¼áö0zä,8™¬1°¨¼ÃA@eç¦'\ V«‹+[µîÊ¥ÝÃH€ˆ,ÑíòÑ,-ÃiÀÜ ç ŒǨS=Ì?X|ôŠ—áº$ÛX»UŒfÀ™EKiæ‰øü; ù²¤#Øe@šé¿d{/C^$š9\Ø}w’-ÅF_!ÆGû+9v©¨€4<|"$’DÝÝÇØ·Mv©KËx©–J–ÙL¹ýg-‚O4lè’&×(•{¿A7ʯüûÒ!S&³Æ0öÆQ)^vƒ¹9púÇ«Ø+gBg¦%æb Vá¥jLX×µZ|GüaùÁhûƒ”¨Ëê^nWØæ¹A,´Jz½B_ƒM)Ø5û膗wöËs)ËÝá^ÿ‰0Â.ú rµ±É•¤>'DîxjwÖ9³Þe%áç\ÞƦHU¥ª‘nd/«Ãûoä›t ù„BÎDd«s‰Ù.vh=,©Uò.x&ÇR¢ ³.Ý¿ܦ~vNÂnˆ•äxñí¡sujÂqUþÆe*† ñ¨mŬü÷]Wœu˜6úÎOÙß"ߺҙ3ç5߸„|•§”>¼‘†º,EäÏÄ–f.n’H Pî˃¼‰Ÿ˜[çä­†üi µÈFLܸ~`l‡sˆÅ°`<è9×”þßøsi ”¤„f>&0.‹ölù<åžÕ~{Î$1)/_¤§\¶•R¥³4ñ ½e¼uÿÂXÚEÔŠ[%D^Y ¡šj¯Ãûi°*ž7UëµOM~d´.*ªßÔbÏIᓪ´³þæè•¾~ÍZGŸè¥'9YˆL$>=rV7uÒ/ˆï<6”wÂ[µh³~l‹ó]„‹¸ÂDzŒÚ™[ý•|Äu*±ùÝû󡲜ô›r û)šÿj;„Fuñ÷L¿Þ^•tôbÔ³¾¸XIÊvæ½.µÝSzðVÇ;d“šû£ÎÿÔtª;XãÕ +"€µÊ?ÄzÞ¯2M/Ðÿ–úív‡]‘ 5|–„íãžöÃæ-c–¡œ4³¾¢`1šƒžÆý£—Åh4<ÓÛ Ã@ ‡œè­­Ên°½@êcxQŠïªQ©íG»n>Õ¤™âÄÎd(m!Œ«ÒPmᲕ¸:Ý8xüá-±³~Eµ’ºO4ÜΛÎÑàôb9¥ ¹ô]è§µƒ‘²éØhÍ9yÏ©à‚ØD±Ú}DˆSÜM7Óóòõ^¼çF¿ï+š£äÓ™ä2É” i0m#¬!ÕŠîþxÜmëT…Œ§FæŽWÐaF?Jž±R1e€*ȹüÂ×T|dzÓ\c³¶¹R÷V6#óEeŠìÖØáT‰µj O„´ƒ¡L«Êû è.*ô§§Š¨› ùx¹N9ÞFzg‹‹¤Wj9'c©bý¸—‘O? Ƈù[NšIV6ä:cŽÞy.Mô¯!7˜Mô'‚ôñ@õ t»Cט aþë·–²„|ìÁh³œõ5„Ê•RÈd=R7 ÿ†K™Æœƒ\œŸmÍç³ïYÔ*xÑÔ)‡l3¬kAÁr8~‡TÐEö*š†E<¦ì¡öb#|…œ X› E¥ééÄOMÁäÄ•¥:öµ¼º3tlAYö“=õÙ¸¶mupkFø‚'BÛÇÞ±j>ãrá”Oš‰z(Uºž+âžÏEed¡wÀ;ÄÉø®ÙÙh@uÜâ!Rj™>£Ð­´<½z–Í àº]ùU'‘ç—7Ø*nüêÁÌ$fôžs±8ÔU3ï®·e)v½ ô€Ëõ*-;Aûz pb×}£)ÌÇj“ÔФgØW MpVTïÄ…©LtSp°þ›®›YpÍR-$L¶ ü/…ð˜ù8ô0]çÎ/%[œÆs° ¸l–Ð 8Âæ·x tÁpÑðÌ4d|H³bz¡Š©ïZ§ÛK£ßôoN2Áë3¯×F WZ½¶;H禒>%²&°ºð 7¦H™°„]Ø 1`¨ïèbvÎÝWµsà"ªÔ)_&7šÀr®®ñ+}+.Ë ¡“Q£Ãâ´euC§âüç â¢OYmýÎ3Qç`tU¥ØïÅD—Æ÷9,š"’‘ºzÉòpøjOpšãŠYµ}÷wqiv©vB œUù¸¯{¨,UQ!²¬þ[cío¸Sâ¯Þƒ¸{ b1DiéøåL7ï§ž‰Ãâ{sZ÷µd=øYÉM®gÊ@^ÈŸõÆ*¸Ä–² hgAFݾm¿¥±Gá)¼†{NíÝ£ r+/uÆõøú¯ÍØð|C^dÔUÙG.¶?ÔÎ&¼üßÓ~#ÒXzã³~J5´S…ó*¶õ_Ïòr!|= '[KIÝ–å ôgÁ(¿RhjEøê–èäµáGŸ0üÃvübkÚ݃©²mÛE4(+H Þ ÍšoXå¶ØkÛ‚ÏöŸ|(Ÿ5’–²ÉB±˜J_š£²_Ê4¨±îRÖlyãfdƒH~ž¿‹-k“g°i4þˆ4]t±“Z£¢³”®{”dè/ô„·aÞ¦ÕGqþT F‹zç—ÖÑ*`M=bOÖ?®B.¤ƒ|ŻÈ3ÅÉ™Iþiô$7.ì9–¸õí7*M&Ð ër"±VB@ïÀà²FÞ2z ÝÐzÐä¬Q¦ü²¤ùC½"ÊŒ¹¹~«87›‡Šc!¶Ì…"J÷‡Pæz{FpûSâÎü†NJú^Þ¯;ý›Ö3-’uý[ïEËç¶fâkHýxR£D›ÑÌa)ÿÖõx¨¡¯ßû•Í…ÕaåE§p2¥4Q©ðÔ;¦]ì_Á+¤ô”OÜä–I'˜ c°bj”(8fsy‘X‘þÒoGžƒbƒà/Ù¹ŒÏü}öIOöQ3þä@h¯ûêzÝ{é¾g̙ә±ŸÆi´‰´iófA+Ýûih³ÉJrò%àHKšˆq=pì©‹Þ­=³^}Yaް¨é*g·9Cx3— •I½*Ê>rŸäDö+SJØìJ+Ñæ_›ó…U¯Ât̲4]`𳦀-Ì 3$åÆX4¦4®è îs°gá7kw+àktçI'ˆL–’ Øj¥©„¸ç/0HŠAürnþ }µ ƒtª2›ÀAg{îFA7W“d³¿ @)‘‚HÛÁæ@]øF=åÐÅV¬¡ñT øx+¾ž£C8>Cå¸+>ˆdfr¹ÆÙSKµ[øn²‰Fp<º»n5¥óo©îü™…‚¯@C8|ñ M0à‘œ“/þißæaÅ~gÄ:y“[@5&(îtfô×bãû$–4'Q-+šÓ_R ¡ “wã´·X B·SœðùÊ@ˆ¬óÇÇ|Ì4dtù¹^áò¸Ø+Rä\V¤à1 Êeü0‰Yÿ‚JBR•õ~d»×³˜†yýáŽi¡¾Æ<Úvà©oøì¡\I‡CofPÔnRš<·ßЗDýÌ3ÝT™À®7“+ dfJ¤!ˆˆuóŸPŸYà“W3 %HuA·íÎN3”ÿÑæ6'êà~)Ëñä Ø%$Þ‹òS¾ÑÕµëuJªj)b¦}Cýy!± BùŽÙð=XPP°HØøg €Ùí@šøÚÚ@Ã>ˆ,pÙt·kz)lÜ[‘ Âdñ¹ä/õ|ËÜ\x Ž„u…bÆê\õ€„_½&÷ìp×9BL¶ŒÔŽ¢Ñ[Ìm¼%JMP9}`AB¼Òe³B„“guÈšŠí²µ}4bÈ.Ux:°ÌpßR0å ¶< Sœ—]׉Ы£¹xÝògMýÅ!?ÍBT²=¸¡« 8ôYØP‘É']$mHAÓýKòH1QB7’7jd+ûïh—hqyƽQ€êó €Áé¡!-Ø›õ¼_¾[êjfkÃøxÙöùå]ŸV­ã Ô߃ó*TåBm¦Ì.~iø8j(ŽÛ WüAYî`è +™ª¸ifâæÖ0š|¡áû Žnüˆù‰'¾ºJ¢Œü›U¦GpîM«=ZñÊ*J™ûïœUÜ\(ró©B_Q*þòæÀ–U@¬+»Þ»ïÜ¥/r˘E ibÆÒZwÉÝ Ð×Lô*J@XÐYmÚ r€2%¶ê?œ"ÐF>¶/0hÓîüÕÿ­Í À~””ë†"­Ùõ˜e!l$„¦#äÄzŠ›k®Ç&ŒØù€ë^DZ¦hÙäž$Èog²1Û©¸ÖD¤(fRË,,\^æ_wÈ?àhîƒv¡€ñ¹¼t.XX#‘èZ>LÏe2¯~Sù%Þo³é IÏÞãûXþ¬Ë¤hør>Å'º5~qПÕïOý=TÍÈT‚zäŸÎg® tný‹`:[ø%¦ý‚ñ¤ìAÅЬ×ä>CÓ'D!Ù¬TâµðR˜À–à9àÞrámÓÍ4dª™Þ?Ḡµoyf¿æt+iò¥v=‡ÞϽ{ú5äfSñ†ŸZ[mÒKý“/¹CF²æ&É ÞcoŒÁ&ÅfŽçv‚Ôè‘ ¢æ|Xܬ u˜9ÇÝ~nÜ–ºUQÞCÎe%†H«I0UÌ7áÚº÷J‰EoáhBa¶§½xªÔè•©[˜pa`÷™x¼F-q_VyJ;ÿF\}¡ŸÑÞ¾‡ÃGŸíuË¡`§VKÔ˜èô€ÌK±’ä›Á òqm—»2þ“8…~ÈÈuîz€Ÿ¶¸¨â¾—q⟪Nšö|.ãÖ2Û@ÑÝ{>#À™ÑB¡£wõ+±wÐ J“?”3GÐiêÎß0ÎH;Ê.m?`‹ýžÿºÖiGWÞPæöh—~¿ *Ï'y¦­?cêÇ{©ñÝgÂ#Qÿ ì`¨#-¦;A-Pã~°CǸŸ§ } ÿÝ­9~¿km<\/Ö΂Ȕ?Wé%Jf6¬eMÆwbA‘VÜn÷EÄ#gæâR×ÖY§½OšªuØå$çOÎÿÙ¥¾6ßâ6ÌÇŸÀ0ó®`ê#*»5–ïd¢Pâ^›çE¨ÿO 8á$¿gbGH-ö;å…'36ÅÝÃÁ”z½øi‹à}ÑoßXm ¬‡ÕF%¨~6V̨‰=ô [“‡éèWeûámlÄÊsGJ'qÊÂúT*£¡Š’:2WôCGñ¢á<6$ØïÕIB‰\@LUJU óº¸7Š5˜’\t‚3)’{¸úç}?ƒ+´aç™ã|·þvÜ­›¨qÜzH*¢*È…8ÇP¤f)¡ežÚ«Š&ÏeÑ·kÃq¤ýYugQŽVô½Xʧþû:ìfG‘{†% <)’Páe龤|€isMb2þ‰C·˜Bx£äç3RÕ\²0¸<)DÀŒN Ñ[éê`\Ô­R"Œ´»FñD9@"=káÍ p'?è$ûª®§`kªöŸM× ‹$&L@éé=¦<‡7âD§S«æù·Þ£I×»JU;­ú„Ϙ¹h'µœ~ñAJnÑx¹JÎ#~­€cˆýËÝ ¼ò>Ç·X_ÃSW àÀØ7Ã)7×2ÝœÊZ J'Ǧ²-¿Ï”²Çýœéãm¤ñÆË60låSÁ¦ÖlfilLñ†zq¥qp(û°â¾Jë?%ÝßSK…æÀžN K»ÕŸŒ Å<€§F+ž:Ü‘4¿uûà zV—Õ!Êï#Ø‚µf9æ¿Tv)/ƒŸû業6£ :ò ÔíFôumj¦ÒæIÇZÞ¡›Z_׸Øhþß­l“«‹HÛ±ßêæ#NF´\  -?9ÞêIQ&Ò·¸ßòÏÁoyÆ7áÛÿ2­À¥ÁU*$³·—N¹ ‰Å.-W½[вrR1~Ó­ÃÚ¬_ësAlk³û±#Ç­Mß5D§;à«ÔÕ‰XÆö ß`¿1îRïDY£³§MÐ[ŃrS­ÜÓ: J¬OÖ4Ò‡VØ ­øIy¥"· ÷¯7²8åÐ!NtŸä«ñçT wö@Šùܰ-¤sŽ™Mf9Ûú< !¬“½m‘{‘œ×׼ýæ1÷rv+¨É!T TMÇ ÃD<”6 9µ¥Æ9¤aÉë ™4PÇ¿~WFÛ—Ô•(]Æo8ÈcoJnÀ‰Ûw:û‘gAåmÊ2#Ç%›í籞ÓSÿ)ç®rÌÚ~A޽îÛíàŠp¸¶Ÿ^œ<ì˦¸&Ow;ùýÚ ¤æ>©G¿&`O~Á(š—åu¬cg¶ž„ª2K€cÞJoøcÛ§D–ô©ÌÜŸR!BᦾZdÓþ0r…# ‘µ“HùEc®ólj-®5ÁÕkeúÁ&Ù. €wRZçÚ†Èó»Î-ˈDÞÁ¥?ÝÿÀXQ ’¸âx½äÁg\ À<žy¬fQäKÞ]Xœ®ÝK®´ìÖ#ÛÁIvVî'^3­rÊ&€2Y¦Ä¹ˆü±¼úu¦k׊üw.oÓ tç¾Ä(Çs]J¸Ïð¤&‘ÅâÀ]ÕÄÕ$å|••ùɆ™uGÈU—ô´ÔxŪ<R¼•e¾.H”‘í¼Í¬¼TåѼÕ~Å/‚‘¹Ù~82$Œƒ¶.Q¿WÈÖu P¬DŸ¸¨Ài½×p²,_RýIä¤ð=‡ n˜}[Ë“EÔÞ¤¨Î YÉ&,]>㻕Èöýbà˜u” )¨¿ž„Ápò™ç{¢äBË•µV‰¤Ã¨ï]ÈÊ 2€,4^iŠõ]àj‚qòšZYdŒíû¾wÿËJÙˆgÖĶ#oÒ@è³ý,œoEðé33¼U$ÌNµ‰a ÈŽ°ô×GôNå¯ì*FƒË=¶¬»P,ÈrÛй¡"%¾ QÄO÷sèÈž¾š‚èkyÉM´n“ô,xN¢—Ex’¶¿Dˆm hô <¿¾ÿ¢«V©ËÀL€µfɳ)R¿·„’êÏLâ´<=²”‘BW¤6çËâ„…ëªr¬Ìøß¹kO\n•° ú‰âwg¸ÕÄ^LNäÑè 9ÛÇVY©…¦Ãó”·efP!ÍF7Éo)HÄÐÇ6Ë„˜ÍŦêëçŒýîBŽÞÀŠ€.Vø:9Cã+°ˆrE¾ß‘ûA 8âÆù©CKÍ_ýQŒöÑw‘‡çæ°¾èj ‡Áá\2 ¡î„PŸµËK×Ò| /¥x—’Öw3´ïÔ,Odúr²2J_й;,%“—~¬†.¹néÇ}¦[ó :°µ\$ê?6é§ä°ÚFõÑuVŸD:Žè×Ç…ëäÿÛ^G'ùÅŠvnq)•!›öî÷­c93^­ÖZ~µ¨YY4IëYØjK+˜´îwmãfcÓ¸v­œ@L©¯sþ +5OïöÌÞiŸ”žg•¥!é%­r4Æ—^ã6â1ABó¤(ÊýLbÈ9.·Hš!/[—JÕÊqï"|äÿ2òAµAšñôšb°‰¼â75KËÞýŸ·÷Ûdà‚÷÷+„> p$áËß…½÷C«|ûêl›ëBèŇÛß„NlÕˆ;Jè=äÁk—Ó:= 3ûñ®©P†§"HOž/„Õ»F€ó¦Ü¼™Œ˜ë͹‰!|þå¡t®#“•¸Hß*™·«™ÙMz£Ïó—v.²{µÔ…xYºÍäÊK ýújZìq”«·n7©L(äHÎ`ͶiâGsßUI{dš/¼:!“¾\90iGÁ£4ÉÒ\íKäÕS;ûM™ÐY"y TŸ‹¶€¢€%AÔ¾cþNNš”X"óê&dáØ¿–síôfÔN":§¡bƒ¤ 9Ö5J-YûØgVÚÉÛ¥\J‡W¦ìJ†KtPMµ;L; ŒVÆh÷£iìvù)ÝšsûYeÁvÎg#.—¿Y° {+Ð9hãí^IFE{ÖRmë<œO_œª`› dBw‘˜F¯Ÿ™3uóSÌBº`8‚tÚó¸E8"‰…bÛ•ô™Ÿ]+ýù,¯‰4±©+Sô<›&Ìf â‚N¥ z‚ì.Ø2Û§¿'GìƒoEç~e6¤âÉ«QßgJZÆ‘™ C‰Aj5A8‹‰]ƒÔQºßÜ ÙÝH&ùtä|Nmþ˨-F.?L†"áÐõÏrâ·Y¸ªÆþ©ãÞ…«-²$¬ìù«ÂËOw|»ÃÑôÓc>©x)Pø5YAÖÕÄ¢›Vù™O±²ãçõ:åîB öO[vʤÔD¾)–ÇnÉÁ^‘È›)9ël±üî@¬Bª}÷A 8Â<—˜O4blâá¡ÉCèÐ.©8uUà_Ö³SŒ¯ È}"—"nVRû­ýöWáš$¿ÁŸNôx,°ž`d,~…š€>Úy9'Xq1OA¢ÊÖŒ_ðk<ÃײÌ[ƒ2ñ~`˜gÓåÆÛ²&± »¤n_réõ^`LúÔÒ¼¹ÜK§Mà-àÜ5ˆÂ}™_‹äÌ—Š?‡Žý$ö¬£pÙ:`UÓî…WþÌÃöT1#÷DðëptùW7y>M¹gE’TÔžpbÉÅr€óâÆÃœfd—sÚž³]ªÚ‘D¿ë¼”æŒpÀ²Â3™ÀõÀªàyÆ:Å‹M¾¤O£y˽‹RÉô]+ýmA؈63zª$Zïåቘd4lÙ> º®~–Çi®€VtuŽ,ß1÷%]ëµÈAP¡Ÿóž0‰¥Be|#ؤªý•ë5@çõ ºìºC*’¼Ó¦’%Lš½2–ÂOÁ†›Œ^˯™pq*rI²;JïZcÇÂ>…û/5(Âd4h°‘5;7&=ELlѾYývÖ^u”9¡†¨ gèÜ¥ù¤µµX¿šÀ±šÁ²°ÏY½b¯qýôÔ¢a¯¯UŽÚÔ ÚÆÓÊî:ä/L ÅÇȷʤTânIÍl׿Ç)»wg60„´6«ªš}øçP¨( d|Í3yçGOþÖíýévB-І"÷Ê›Ë-äMÅ×dYÆ NSJôΟ´—3$53Óg’".-ñ¶Ò__5lmöEÆéB$Cl´kÚ8ÇF¾ø¸ jŒ¼ÜYâã@oü!^8¶ ­Áî¢à.ïû3;[c€Âü©Tˆ+5cº€Ž â2]yÁXõ_I±¾õ¿67e;º­ië”Ú…§ñüLºe$Ô`úÃ\Ç yÎÕ¢oï”-•žÊ]](u:Ï‹D0¡]›²A7À4•£ŒÚ¦Ì)ÜS±Yp(/°É„W²—.0žGNÖ))’<%‘—¾fÑo@꽂‚¹teƵ’ømWT5]´J6Ë!]TX÷o #Ú¥¯”ÛÜñ$/¹c˜„ºo6Ê…ôYùÕŸà,Ü`zoÉp °àv†–}éqò4«Åš6ÿ'`˹dÔΖ´§Ê«>þÅÕÖ´½ÂLØ?!·~…éM×¢_×½âcj“ìg;Øw¦ä–`£PÉJm¥Þ4ÃÂUk.U½Ê¹áä·lßùÖk’Ôêñê]Ájc®Ì\Ïd-¥>ÁO …™\ò[]CûQ}ù^ŒRÐxµöMðx•JlLÏ|×°á7s7}ßö ¿ Û| å4¿ª3ÐÌ flÝA*¬KJËبHñ÷q¬dIAÞ‡¿ÿ&G¯â…ÑKâηiO åXÞL†©nÜ-D3­3nâÕ¤OÐ(Œš Ä©%Ñ…ÇU­rÍõXõ?Ê@þÝO;øälÌÝ(žýù¾òØÊ«¤.¨!‚°Î½œµnAWßõÈ2ëȆdNQ…»þÈžm)2.ï`x Wã§k´:‘Dë€uM»óam{Gç„ö^S”®›?ˆ­6áïIöqÁó“½ÏîvŠùAˆuð :n|B“ÎF¾bðo“²è¥—øjº¾ä6‚ÁÔbT÷ðoârá¶ñšä&ôd§¢Ì~Q¤¯´0Xô°ïÚŒÞ(µïá}AXAöÙÙbHQZ®\ÎGX— üògtf°’[AaN&q1‘fó€A_•J~š(Ðä“Lép$ì½s €VAD²Âõ±êÒŒcQcÊë MiQ¹·¸¨þô‡- *S”VQZ$§¶ÏàÔF„guÛí<̉4B%jdÒEÑc‘ùSe # F¬ñ°ƒXWùAÞ 5­Å‘8›h÷» Ï6 ì)Tˆ‡WVU¼Í}ÙEµ ëæ1ðˆ×¬ˆë‡„ÕÇbÈbDBTâ‘"´¹½ìýï~l©ñ›­ê‡æ1CB8…§ÿ³¶RÕA0P–7+x1 ½+|Æ›ãGvžAX‘¶]U§%qõsUZþTaŽì‡ß jt¦Pç)[þÖÃÏix·•4ÛÀÓžîÿŸYóf"°Ðý²·Yh5jÖr †rd¢£j®x}ÔJœèowA.ÁîAªãEŠM˜}€­½i¡h·€µà庋çwˆ‡i®qfo§>‹XÖO äØž¯,‰)eÿdû_’ÔìÇUÀ‘´—;°ûÅM¸{ïÎä;õzW0$Œðšq¡Ö<¼â·Ø×4<œv8Ç×H‰ug›s/‘ø]7”oCè;òCÛgŸm¬ÿ¾ÿ"0ý5„®r1¿'ÒL!ÑAçujæÝ‰t4¤²9£:e±u®£÷û¦Vd¹‘Ûtìæ“Ë®”7™ÕMÐ+«‘Ì=S5± ,KjöÊùtŸdT:#6H’Ÿ7¤Sè¡k6gn¬”«°ÉˆÖ =x,.›'ƒÇ«prRª;Q6GoÐf›u>þ!Ð…ï›Qï"¼v©‘2 9YÆúæÚ„²4ç陫fݼå jJRƒa^É%­l‘U_ lüA+|'©.}Öx±×¡~MïqZ%‹žÐ'J”óÉóÀ¥Œi’¢íULëάA‡°ÜKó˜²×bÖf›Œš´à •–sôýÛ²ÉöñwÒEµ‰6ñ{x4ä¬ÉHYi¡ 6*hõ¸ç™˜Zc9°Ç>µ\F9æ{Þ(Ý–»ti)2þ¼ùáú› Fc¯cèñÍÔ²—ÒÐî°aÉÇʾׄ¶&ïZâ˜WAU£bž_?vpm:†è½…Ï8Z¡ )— ’áuC¶çÙ|²fòêþ£ºÞË#H«ŸÐ‘uÓWÒ'SjéòEÿ†?æbLJ´fyÄ5­RŒ‘û4ëjt€ŠA¦ë®q `cÈvZ6æ¨&LaÄ¡ô¯\?¢þ8ürE˜M½¡Y³üÒ=õä„ ¢'iå[.†+ªÞêµ WÞ&œ#—S[{EÔº Hm„pÜ0-IQòÐæº¿'ÿFr[àZ¶ãží¼Í¾Xhó/[]?¨º:˦½®Iºùéè/žØšêÜg’QÊ ŸíÃà¶ÕÅ@|wžýŸØ€F>èÖ0‘žê¡RB¨£™ÎqHä[Éô¿ãᚇºÄEe ¯dŠÇ%ý8Øñ˜V²7lÈI+psß×—Ùb Ùã}scÐp¡8f ¼S®`K\qÙŸ$àx‰‡ Ÿ¹HI3¶’ÒŸÙ`) k3Ž<:û.¡†ÂH|1k[|=s„ÆìAyNì€é¨usÀ˜¦‰k>¡Eg0¦%$1²P9Í-Õ‹¾ÛZ¶Èð/l’ÔJ÷#Ufã]L>ûdw|‚Ž i¢¸Kk¼t ´y_íçJßS]ðÙæqµmÝ—Yø†ìªjYúÞ¯çE!s± BeJCå-`–žŽÓeä.[€pŠç¶«£e&pB†n™²åzì›w¬À¥Ö=q¯Âü ëõð¶×Ú Ób™"Y 'DÞ6 “B¾ïþˆŠ+UVyY Zì+n”¸’\+T;ÈzdÚ-ºXS—«ó<ÞÔ×ÿMÀ2ÌÜt  V%ª9vá!&høÍ«Šžuƹ Á/6éÆœBºJ”CLÒ5aÂØG„£ªQŽœœ%6Ž §ŠÝRØÙt–þs!óîx#ýc ´–ãŽw‰#Ïz¤Oñ,@&Š ze½sáA6'pä‘¥p¡Á9¤ÆM»U‰Üçl{†¶“N?ivS¤Ðåb-ÃÌC5½Šã™ Ìöq+9KÒ‹¥Í}1î—LßûO¥%xÅŽ!¬cÐlë]¾6ÎJ^ê&)óÎïy§ýÒ—­Ã+óO/ÕukÀ¯ ñ´ˆ·àe®•±Ž 5„ÿ„'ÉL}^oöøˆ¥}Û5ݦ(s vßEÅÓ'ä5èpvý¾íë>–¾‘ ÷‚÷“Ï Ê¤¥éˆ2AÒâÚ´w,_½d)¼Ø”Ý}…'ÓµbîisŽõÂÅWèrÔTnˆæÄŠ+þ¬2jê(ZYý‘U/œÕçÐâµÿ|t‚%¿¾2QÉA™ç–¾•@ËB!½žŠ‘Œ©w†Ídµ@hôC‚6DÖj¦c|ê„<ú I‹Óídä¹à ÚѺÁAó?yõÅc箌’¾Üö?7ƒ·¸7A¤ï¨w×кš"PAúN aWŽÉï æ†þ"°è6:ÙœÍÅfÌwh*¤Í­›ðMìZÐóòPà4´·2Ü xBþø“Þ³P©ëÈWÉB–ØÇ&ßhrŒ&âVs a2h»ء6t¤£P< eO‰a•c Ðã÷c JdÞàm±î<º'z$SjR¼Ö•i!l´6¦Í—ÆœØi ›ù>Õr£uz9´”ïC"¢Dæ5ü+%Êê I:÷•ÐÌÏ ¤^YÀ8ɵ:/…f*¼:¼]ÉÒÌsyvt€À…õ6ÙŠœK-òsÁ2»¶äîi{èÕ÷? ~šËóGáͧφ0ÂÎÿ@TQ‰Á/?tÌÆöòs}" Âã(”›mßpèŸd­«¥d³pö=¿ÕñiÒ’þ‡º°“sÝ^ âfK²äÞ˜WcÐúy+œŸˆ’^~lÒàü²0/Si±ìcÚ¸™¹V³ú{ðÒ%Ò*ïÒõe¾9™¿ûƒù»Wi¶ôYÃI\TaoQú½RÏ@øe™ö](b«â“«sŽì¬ûg+yhGø9Y'©’}å_–81IJ5¦1›·ÆŽÏ×ø\’t“’é?÷úF 1é/iZÏ ã…zZZ³àÜ@ç ä¹þíÈrǧô À›…¯~>ØÎ×ãi±6; Gm– -Óßr Bé.² i_¤y]Úé©=žãüñô“N˜YCUø/ú¥;w¦[Vž¬Ù‰Ž[±“’BàÞÛÐDçlÛª[É['·Ä{Ž™éðÚ‚ôðQ¤ ˜4™WçòšÁµVL‘4a9­:˪$=I4âò'óâóPNU ZYÈXB¬ŠÔhßhÙ€¬N 2©hbKkÏkèX¥`»[ƹ¾’t%6˜¢!|X|{F˜%ÒZ–]HsA½bgŠeìâ|`Š,³ûMÌÞR¦-ÎÚsxéäEÕéHã>"³4騾ÿŃBê‹Qu÷Ì 3 u ¦ÁkœÖdõy-b`|‚ä­Ÿ*¹]¤àÇUß»á».$wQz.{o,‰ÀmGÆ|”ÒtLÞG-nÙkêu‰ R*,0“Q…/ßMrdZjçŽDféå]Ù'ÔÃmiò¹ŸP*Á5ÖÌü„¦ªí•¨Lþ‰µŒËf‰ísaШF¶9 ϱ´Õ’øôë‰WÈ4.¶AÍÃÄnê;ˆ§=\­äO¬0zv%¡ÆáB~3…{Á€»Õ—‹¶ô”Ü)Í’•Q«Pölz×2ȱ<Ñ*1„÷s’ÿíF‰T|úŽEç§¼GÿÆR^·;A¡'LÓû³þW kG~rÍ/xj0 kŽüê1Î|ƒH'V>záìͼà Œ¬˜žÁ¾3 ˆá‚ëwE¦3g†§ì¶Õ¢µ§?Á’¨&$^NõÙ˸ä3‡ØPž{žUõUÆM̧ïn#”P5È+D’XÒ’X@0×3y#XïðºHŒ®ŸÀKébþ^°Lð˃N5Os¢£!õm±ûb£#‚~¬j«0ªIL^4©,ón7‡Ò§7&ƒÑù(þý¢.t¾Ž ŠÚsų[Ey°~qô“ˆƒè8ÐQ¬ƒ¾!l­]ãòá.õGT¯f;”e×ñ"§Ÿ ³q]zL´@HõõI4p¼€.sý]$´à1;>`]!ÉAÐŽkË×ÂÝÒè—§í²ãÝC¯td'#F „«?·©–×ïÊŒŽBÕ¡e r~ã8†´i|g) ?Ç›ªtR'óJ4÷ð¤°UÉö¬~ù+ƒ—Ó&…ÊžÒ³ÐÇ‚†åÖ9„ùåF#áÕ®Ûf„5ÛÖþË¿ÏyƒMœ,yýÖæ Ø®ñ ‚ž#8D½U:?-•Ú :!M÷þ”#ô)Y8^-v³Úî—¯ý)õkt ÍlJ&Óõ ¤d Û€ &ÙI‹BÓ/oãË`/²"x]#€Ãd6ÜÞ¨¿ÊWžkˆ×ÒXœÍî}†…  {Ù_ âÌÖ0Ójä·UŠÓ'cKG>æÍ$rT é4þѬW¨ç¤ÜMñ_q‰$Ûñ®–{±R·IŸ•®˜Š‰7Ê“‚¤)¶Ü¾!̉7Ð Cí¡ïõ‘{—7øß i§”P#Uj{ìà0œ‰ž£ˆÐJå°-yyu’à#¦qk•ys.oÈZ™þCÑ80|‰K¼-ÈþÝû ÎÈ»!Zé¨ôK‹¢Oz+²ÖfJ\+šHdÕE «–txôäi[|†ëI§”ÍG«„ÐÔÜtµñ´¼ˆú3 0¨ysAûøÄ¦²‡½rï*©½þ£ ¿€ñ˜†;et§ÈIéCo™Ê}uƒÐ‡ZÀ½(>#_±L.Éu®BAĪIEkxT%èb3\¹&žhA<©“FWUZ¤«Îuÿ×ÄîÛž³È FY »Lö­@)×|Ñ`‡ÙĬ„žUwÜe(U†Ç硲:PâƒAjâ¡Quá]S°µ@ âb=¤zº#ñ¶a‘w&4×€#ý …ÂwâARÐ ú«}&ê˜Bäƒ]§‡?w‹Áu“y´>Êõh_í­líÆñÇ@ÛÏ஄§L€O¬l¾ƒŠÔhm  ­šòà»Ã½Ñô¯"›¶þpK¡ä¯gøäÒµò·nŸ7F|ªf »uIØŒ¤ä„—B./«er˜ÑÛRõ—CNñ 1=¿qJAÛÒÄßSÿü•¢TÔ•<00^ÊþXq¹ÂŸ€êm÷1iš›Z aƒLÔ3a¼È=¬ø/…KIÿûûˆ¶§DWjG˾6Làùp¨4?nŠ«ù @7c×ÖþÊ–Õ+ïf^ t&y!No| •P2æ PÖÉAnÈÃHD3âÕ 8ŸØd:®T@Ånäµ9IÝäö¢SÅ  ®óEA'ÙqÆ·ÃT޵G¼ àÆãÐ9'|þ)'MÖMB9/ø2½-\¶Nw´~2jQUÂo²ž2ò»ó#eßœiá÷ cèh‹í,`‡Ï§óÆòQ5…Õµ;³€n&©=Œ×¡‘éQã!ºmdwõÆ›l&vÛ®3À‡‡Š:2± ¶¶&÷—ZºÅ´("¶p¢¬€b0Rqkàt2©"Z¶Ýá‹3œüz ºjˆ²¨èö ¦»ê¤ˆÎíeu:Hí¯âäz*_!$Ók )s*5xž¾Q†ïØ}eê ÿ nÄÂîÜÉ]x6f–_@îõ"ºB†àŽ ðÈ!ovô“}ôœØÅ%,êŽÐ‡ Eé Þé+è`É‹˜ûô¯þÛí¢Òù».ˆá ÄÄ'¿k®™q†&K¨‘M‰úTƒÒ4—÷$S׌ÒmØ^[¹,\Êåïå’•E(¾†¿–훨°¢3¶¹ô¤?ÄM]ÛšŒÝ‡iñ,öþ?T¥0–¬¼Žª>#ËÐŒÿ¬W<+l«4¼â Iné3™÷Q ¿hFâÌX °&šð]BROÆ‹3„“P†ö„€ +¸ÅÌ5aËXö¼ßýsØ §Ç6|7…WAÍ®fY·3Lždäcê'7¤d>©v’³hæþÌeÇiÿ¦ÊqÞÜ\ áï÷¸ø¿B“Z,Ú’¢]ŽSúÓð„_!73 mkxÓ¨¬ý­|wÌúò`%ÿeìÅüúî9Ù%N«*2É8™ƒ¯*©.“šªþU,‘U¬s¤Ñ7b¡?ܯdR¤!¦…’½¤$j?JˆMËåø¡ªÜ3YéYÎ"zÂcþ3¤ô¹-ŸÑ%ÓW¼• ­Úô X4•$ \¥f§YExps+ 5âÑDzF8äëß8 –žQMݰÆ! ÝÜb)_¿]ô>-†Lnö$´ QôåLr¤8œå˜LÆÐ%p±&ªµqÙ{ °! ôTÙmX0ÍGa·µt`xßôéD @ךt­¯l) ·ÝÎÉRO²ÐTÀJâ;/ Pž•cU-K+°,Ñ_gî§Iž¡Ñy?Ñ•mpÔ:™Ž;I)ùÔÀ—8Iµ‹^’ïWý/¶sÜ7/æñ¶.ú>öƒ„ŠLÑ 3‹NÛ“­f ÿ Ö Øï¬nôÉ!ˆÌϧÃQ¦iß;ç¬G¥mŸÁOH’Ϊ<—íZ©ÊCTD(f·’.?UÁ[Ã…ê‚R¦Êc×Â- dö&6Xò5ß~¦œa'‰Ê¥É!ñ”Cäy܆(q†vd¡l5Óô¨®Ðëé‡Û„=Dﳄ’¸¤U´ÙßÍ ÄÄÓÞƒ„ÞÈ(>˜Ö+‚+w¯i‡Ã÷¦;F !EèádùG" :=à\û©ˆLèƒ*ÈÚ‡pJ{¿vÌ3þF rŒ±gê&Ym÷o%ž±`wÓ‹ùà&¯êCµ-uUø¢ÎÝ2׃^Þáñ¡\I8Ⱥ©öÉháQß9nçÞÐ  OÒ=OŸS ¼Èøýú$œJ‚µ«ÓÄE·gãøÇ qÇ¥9Ï1–GòüØB÷;7­­µ†"и˜ZÕ3øN\Ýë(7%ÊÆâöÄ+YÁ%½möûä÷å‰]ã¥ZM‘‹NÂ#Å:Õc{w$ú<ž¾³ª[—žô:#ì:^5#óKŠ¢†ãž`` ihg/øÒÕ"¼ÜŠßy¨•å&¨}1ÿn‚;Ê:cŒAäù²ç§ëšÃÓ:øD“®~nbgƒí=ðëy?ç%.ªÊ0}ñ¹æ=8 ™ƒ+½bªÚFT9fî®=ïkÁТ½m)Ô€Øh õ6Ìî2–ŸôñåmðZçóz=&–“˜‰OJz’Ø' m$q~3½g\'D0/0ª´òr…!š„ów¼$ïd„VC ëñéêÁp“© »{÷¼ðˆ¹;áéàB5ôT}'o&N5ZªW"žÏ’tºùˆ¾šÎAåž‚½ü"9 ­‚ë%ú”ZëcÜT«>ímРƒ¢=¡øyšïfJjK›9þq®‚ô<ÝH¥­œÓâ¦:¸˜öGËõb¼Ç½tºFyÔû ×Ì—JÃIÌB‘õtú(¯@6ƒj²tK»àmgÉj;wƒm-&©¼¨{;ž.wiðoß_€p4ìš§áŒþãiÔËó»+dj¹B•ÁYLµ—QÑKÄ“§]ɛѯ¨gÎ÷ªí®hnÔíð~è]{rõzVz•‹¥Y€ò›å!ÿqƒ“)ÝG©­¶·û¿Á!õ¦Ód…Û?-˜aìóû|=ö-¨Îlçìy¹dÌ÷\‹f*5íN3¨d¦,øtÊAšÑÉÿ÷bOí—m+q¬Øý(emo¿Û??¦ì[ Õ«j¡š7¦ú7Ö@×U0õ¿CŠ‹Eþ»ô8'Ý–Œ=IQ €¢…®ç (À@Ãv$~ÂÒh ‹ ­Às¡ÞýüBÖu¨›ÊÑ5Š›¹J!˜ˆ©È,²ù"jÚgÁ—ŸÐ†ÎÔ¼-…¨ˆ aÄA‘šö=醟&Š0…Ü-jyð1/Yî6À.äojë2øY²õ;Aø¤àüoLLJjŽï·ë"Ê7æ´Îñÿ] )ð‰Ç!ó^ƽH‡¹€8þªÓèòm=µVŒ< /bKšhʤšÉ:m¾yä%š§£Â6Ilgú0D‹Xùæݱ{¿À˜…VÚ€Eð€ãDtɪ°i;Fxè6OŒXV ¯„Žeó°°@äAý±¤(Ÿëhg+>àŒM² Ð'{ªÔ*‹@f¿í0à1,àÀâWcÑŠDDÇHǤâfm!ûò<™ß‹™Ÿõ ¸åIIïyñ¬‡"pÁö`P2tÀs^ÑÄR¿‡x³¸*‡ÑÔtÂÊž%ª_aVxèí]˜µ7­{Ѿ·'óN5(%¢Ð[}÷¤ÐT•4ÏØ%Îq«k¾×Ö“É€|xÌjÂdATÍ<ÑÞÜ}rߨï"ªµÕ-È‘#ðã÷–ï¶î‰oø@x,¨è«cÚ>×>Ã&ïŸxÿ–löÐ|¹n¦ÜÁê„ì»ÐöR™B­Hosi8ÎÈäŽ7/Ó0"j¸"X¾)"¿EÄ;ü×'%ø'J-Ôw­ŽT_áRü'YÞ>›r]:ˆù\Ci÷W·Öj^fy¦h´yöôWÔƒ¾±žzlVvÅc›ªUl4‰êC¢L–?”«»+P+È~Cq­Ì|€ˆçaÁŽüDø·èå~̆T”þ>^60sú¥u×­—µF’æ>ÔÖüš~.ZË« egûâïÙè çYe2Å@þi¹öŽfH†/p1;]òö|U4qÔ ¡¤¸ã³–確¸Cœ‡*Œ¡ÕS—*Ô³ê‚oÊIÄÕA· {yj¸ªÛ½‘z(Ûå‹Bv «>ên׬% ‡vJòâL.—ËŠºY"J<‹…MÜXAw½ù§·QÎízÑdÈ–ieL_n·Jë4á.˜Òé0žò:(ÿûœØ8¹kŠ=|K÷jÞ,ÇÆ–c‡\³élÅ$pû7{dW/¶õ€¥&\iN›¢Ðíyº§,~{ŽŒg1…dzšG³¶g”AszîWâ£Ó¼•ýzE>𬣱dqú=UÈÕbdz‚¿óþQ3[¢ ø30†IŒ ¾ôÚw¤6ýΤû>{Ðò”W0ê ´L5ö)ä~χ¹ÞÓ;HfVÏóRòÛ‚­E›®st=@Í"§²2î­lA_Äxq“xõÓînø&Hsu‰ŸFõ\T¯,¼Ãt‡­°Tr©¬ß:ôok- Fn•£?çÍ“ÅR‰ÉÊG è¹ãÀzú•¨=©ã æ›',„®¡Ñ±»FÔ§9â¢*úÒî”›@VòéãÄ.³ío0(û Rü¢vî¶Ç2L1®Ș ·É[{³0‰£´2XÝ!†í_§çà&.:r */ª>ŽéUÞ¦ÆsB‰´—çó­<®ŠÍúFuWF‘%ùê°“fÛÔ ðnähXhà­”É/K4ÊŠùÓÔÈýÞÞ„™ÖL13DKöäö‚ØY–¸,ü'+¶§–¿'¨Ü%1°$SýNÏz`™åu± ‚–Ä*¨¦ócýѰèbP†ëFoç67^-åµÊíA â¨Y¼Ø«ÎSõßOíhäá2 ¼´ä¹è¤ÿÚ‡œ[¾c9Þõü(@Ï¥ùpB²ÑX/\©ési*›hxÍLÜ]¥Z^­Ñp;Q;Gš š£çµ"óaPÆžl}±´Q&n8.g7\Y8à,RÆÇËÐÚ“ ²Òw%ƒ­P¦âXX‘VµMjwõß½ K ǸŠU ^€À~yùò¼§ 88ë¯Cö½üë2w\Y;ª:¼ÇÜf"&’µŒR.ÉÜw¼+Ï`Ù:ÏÒP ³EðŠýⱤ±ñ)› »bäû•‹ñù9V emžSŽÁÅm €BÄgTú^c‘±îŒÐЧ(°Û> yFj ÆÁŒ¢&Q®,víMËží%Æ+Ñ«Yx×o¦:ûbЈÿâmó­ÚçƒËÍ\LöA‰RDä2=z·æÇ¥ÒP³f'á‘];/œJ3#šÂ¨9ïßj»´.6óh¡€Ç—«!‚X.÷–QErŽŒëÔ£|C°ÉEð%,Ù@’Ó>}$gV~QÒPà©V1;훣.eج͹öt êÔ6) 6ÅR [E¡fõŠU²™ pŒzq®nô~Ïœ<ñÁû§kH†´ÉBÚèg8…¬PTô &ûl«6%Ÿ Àëdd`"Dzv.C:<ŠićK$—ac&32=>yZí»EÁ¿äõæÚn܇hÛDó¬ÿ‡S_Uú®\o|DUª}†ßpV.>e‘Qm ;Îb‰î;ii¯«œÍ§ÉÙE(më;\ß\¤g€6·ípáƒ×Æ+þÙx˜Ai(×6Ô»ÔóatzJ(E‘z4rçoõ»œQ1—AÒÔž¡l¼8‡½á°Ýl®l¿iY\Qe dϲé„Ãü·Kqñ"ý«QÚ˜jOi¾`˜ ƒÝ/À~g·üݹAœìP n¢i©Ík.†´¡‘#O¼‹‰áñFbj>nOQýö¼›sƒ*“ɶØNÅn)Äc¹JÕ?húÍgDwÞ›2’ÿiæy}, {ÌúQíûü CBØ›•Æ6xŒ¢kmGº tìX\°îí‹YøÐz:y&êÌÌæGÂqÒÅ.Vx.Œ¾ªüV\W[××ú”0U£¬Žææ3õd§}˜ñ3ÔqQfüÑx…¯Žìÿq¬9åcdwÛ€ =Ó9™Ñ:,¼P¨BW«JYWè[²Å¼á5߸—þPOèäô#@j0p“KŒRøËÔ4õ£6,óhÐÕÆ ¼©dñ;ñÉåчÐP+­m&ÓÃ=††3VgŒ˜èç[z^á 9?‚È•«þêîÆ›±€ɱÓÝé‹H‹›œâ,«§ß(*äbÚÌg8í¬Žâì.e./úgI=m/'…¤ç3¢aI;?OL&Dü9™©[vÝg+ú'8¿z«\EÆ_rP€¢/ׯö ?d¥ÑÍ --¢¢•š·ú’ƒH5-ÍôÆqeƒÅ… /±¦6‘ÌW.H.º™¼®A§¼ªp²Ïñ‚§*Œ¥·ƒö0,5¨ú¦:¥ S]&K=>»Äw‰cj­jJZQQòŒãÎK#$Q©gøVz·«•ž$ýS `rõÕÔ¡ «9«°9æ\J{A=¹ÏŒ‹·ðtÊ!ëøäL:“%äC yŽdóåý,dMD}ÐKM‰ª‰Â+lÐf8ñg9õÑ«UÁ¸øi/PݽdÒ­:C?ªÍå‰GÑpøZIÚý—AжœëVeðwí[ZC” X[W"ì¡ä^ñ†g$„9€~¶`?ûD‚V…+'Õ¯j·Ït¶¿Žûàƒiµž|(Æ`ɲ|Úò£š¹_ÃˆÚæjñ™‘OåváA 褤Gl2OgF&;ª‚òòØî‹:Ì‘NÂO¢ê‰üÆt X䱉Wôµs‘ûC§ÔÉ:CÈ¡^ñ_Î-uf*Úø]¿ ¢÷Èá Â×ZsaìCáÀTÝT»e =¿˜ubõ µsÍ-®¤,Ÿ]ɤ`ЀÇwBVcA-Ô“8•,„Ê“ˆÿݓ䌋G¯´[´‹Çë¨Ôµ?ztÕ.ˆá'âš40ù»p T‰æ k~ÿé>Jƒs”¼J[YÓkLÁ,Q{êf×f£…yDƒÛývºN³ŽÌ}Áv§ŸAòvˈÉÝ øÂ5S"JÖ›y’–'kýrŠ¡ðÁã)ߨ–†h×X¾Hóîš´RDûqûúÉè)†wѲe‡uŠÿe…‚²Ük—~í™Ì„g!qÖAÛÓîÕIäúq²‰i„væñÖRk3d<ÄŽ›K”pöJ x)­Áp·;¿S7£Q†r——B¹ës‹3{”“i0V&KŸÑ ~Ìžð[è‰ Rfžprü¤º 3HQ¹ÉP$$:­bë‰ÏŸ.8ͯºÊva÷¥é ƒ28îkz×~ꨜ•™Kk”?`oã씸±Ša†uy›úXÖ½EA9V{Ÿ,Ó}56v6[t<±´Ûí‡ À¸ã ”¦÷ØŽÄyiaÜlÈD®$gS«ÖÉõ5AÜiÓ/§N˜‡†iä2™{£ڴÔJUgá5èHÈ'{ÀÞÁ0o×À#¼õKëíÅæ¢„»¼Ü'gÌ‹i«e¹ ìÈ?éqZèÓ¿ù†½¨†åaÎ…›HÜ!J¿D¶ßÛÛLkGÑi=éZ&¤_ò'¤É6º-£7‘./²tÖ<Þ8Ó·ìœ_Lÿ}v^iyöÝW|ñ߇ËCv¢¼¦‰ui]^²'³¤‚w¼jèæ4K›Üfx§é ¥|€øvlÜ6d!3¸oÕÓ•5âÍÂPG9|fð€ÏfbÍå€Ì5~[B*œµ‡–*â]ìªÂͤ…‡Ý­\­"C5–Â2ƒÛëu2ÀFìøaO´(ðî<Ó”u(&W+¬»lÑš‘¥À:Ou$óHGpÝQZ÷,çi› ÓÙ=E™Ê·‰]ð–}ù¶c:“Ô]°¦bd±ÏhnÌÈ©…äÞÍèÖx­Q9l}Þ‡| ÓÉE{ñºÐ5x›i6Œ£÷÷î.ûû…§‹m¶Ïàl˜¦‚{Æð™êõƒÕk›DJäj¥5¿¼lvmô;äN¹ÿø½ž˜‰¥è7Œz±ïê¡p‰½—ì7¥‚kÂýÒ­&}O¨Ntíé¶k;'n!ÃMpÈK"tÖ¡šcè¨w”†^‹s!O›=ž|9ƒó…ù3$µJ¥uÍ„<|âFx“âbYvC¸¸çý?€Ê/ÞÊg‚øg/<¯Wøí7òq-v ¶ÇÁ³„·˜UûÆr<«2ºÞJ°P®³Æ"ûúdCxçÒð¢ïIˆ™°³¿ƒËÈ茈°Ut¥j„nÓœñ¦äîIñâZÊc2ìR¾3)¦Yß³EX>M«…on1­$ºß–à Ô,V–¸}ûU"3}—ƒ¼R1ÝöêZè¦ÝÙˆ”E…93Ÿq)q$˜mmÕ÷P¨û—›ILXehÅ#Œ­ÑhÅvö²¦‡èuÀý±b<Ë>Ï@Ö¥b§n¡ÝY„ŠÆMGk̓?é­¢jaÀyHù”±ŠüÖNðêLhòøk°îu¦¨v%‚àaĘÿ¹¶a㦽nïl¼hš×üu+ø™æ`ú~Ó?ºþ£0LäLÛ|b‘â×8;‡YÁ¶YÆê³½ù‘Ö?ˆAï6ª©Q™\Lz[´: 0÷Š÷…¹ºßz±†Bîu £p·ºãcÁ£`e²h0nÐó%{½ÅyØ«Œ‚ðË£ÊÒÛE²©ñwÁlmù¼EU@"pY€@¼ÅÐZò°P˹•>8mßÀäèKüh>%RüûÕOY7à¹'É]œändc »ÕœtÕS7`óo69dª¼Êq,CHž9¼Šá¦Œ%õ€ö·cøžBîyÒ_ºÉÖñî³Z…íPþþyð.­ûªn$+,ä% §Þ·çË^p†ptÕ;s0à/9|8ÌS¡hõÒE–;*†¨}Ô¨Ñ1'²Õ¯¬])™B>„¼µ`)J\üÍœ„µ,k"U¢Ý ¦†ÚóÐý¤¯æÏ9žÒ '©¸9p×ÿÙI¥õK—ò#èü-ç¦šŽæƒýa"l+¾75Ý3ç+©¶!9NA0a^ÍÔNnä#µ¢œÒ½–ñ~·†:JPo:,ŒªG¢¬óŸ9<Ðô~žQÔR1‹9‹’@8[ˆ"WWܦôé]Nluª îqp‰4–×><´?ב÷}Ä]q䯳×ë„4<ÍêTh´™Wè‘(Ê^î‹$W¢~ÀOíÔ¯`¤ò…cæl¿žþÝ'ˆ{0“fö™1Q¨+òÜlŒ”9JsSžÑE%Èʶ‘L ƒ=8åªiË‚§#tŸ3Ì& Ø?5tð—`âʲm@AŸp{,Þqpgbë*áêJõ›×?0Ýìˆ_þ9cé¿Ý˜bˇn(á[WòI~ž‡w…£ù)ƒºc¦v>õ ùŽÕ–¤(Þì@¯wFÊÍW˜fJÚœ˜qìzf˜ŸR¡N©Å¶á$ÉSLXϱÞbi´ïÔõ.Å#®6CHgt²Ä|úF}r‰¸ÅDÒ¨õÚêlkÏ!5Ž5A¶˜RsýT|=JÛ2…šÁ-å’"&`œÑ|ç¹zs÷†8-²0‰Š ̘“ª kÆŸfgTήD)5š)î-ÜT8Yµ)]ümþ. ±tÆB¢’)ä¿Ô¸}CÇÙœ5P3÷ûkVݵ·sÂtPË^€Å/~³å,™…±3†ö¾ÂD0ö€Õåç.U„ ”xÚņجò¦èõ±çÅ’ý¦Øª´Š¶ájÓB)»¼kýåzþ H„W²vè&9QÿŽ› ”NÚÞhBµ˜F¯Øgç{£<€˜“eHŠÖÊwPÚöåFß$„óiÜëÞj_÷Æ#¯viZÞy¤×ÿjN9Iħ¡¾l_ºpxy·é†ŸýrY ()G~©¤Fö5„‹W›ß¸ÒF~£ÿPã’J…˜Ô•SÏs¸Z(W ŒMÚê59‚µ Üãâ}+ÏI‘ü.¿ Åš¶€Äuk§ÿë§|Úý‘ =˜WvCÙ¼az™ÈýAØ %Ê¥(ýƒiãåOÑ„.-KRO÷¤T`K±ç95ƒè¨rn¨ е”£6 Í#¡ä¢›=J GåzþF "KÛ®ÂX¼z’0D"Ø&œ<àOÀÒEZ…Îã±Î«…۰시0¦4´Â Dé î ŒˆeŽ„‹(˜ÇŒq—ßìþ‘n ·Þâ¹Ñ¬[½67òîÖ‡'ÊÒ… ×H˜Á›Õ÷}8‚C$à4eÅö'·¼£‹[ šŸÞNðÚìç]²!8Àõ~:"BÕaxXËÀÒ˜Œ˜8"i÷•Pã»÷©&÷\—O ó{@YH¬‰bרàì'è´~inRDp©²"g]³×6UÏÖȸ™'›]0‰ê¾ÖÙÙd*ÈÍùt=uÏ/͹ñÁ¶u7ŠÄ«úšEžÌk“ÆOJ‘ºÇ˜Ç§}Óákdžb„àl=±Œ•…}!ºˆ<7»àÿa\éz‰ÖÿtÂ=óá‰F´³B;¢XføÒðâAÝH6à4uk³¢„éˆ×^sæË.öDT’öuÿ ÕßÒÕy÷¡s,Y¯R^PÃßÄÌìn¬ wÞkÚÏBHÑ® àŠRÞ\6:¯NE”Ú¹ý¨õŠäó¹¾7Q É<Ö…ÔÇ%I4ˆÎ2× §aˆ+ R︼Z+(C¿^²÷Ë+èDbkp¥)榸â®yG)ÓõãuD#Ç?e”9•FNbNHD5©›=×rKaUòÅpoê‡S’ͱ5€½ã€žÂ¡£´l#¶ƒþBiò U…cãÎNµ>^ n #2¡¸rçƒÞôÕÛ›ÚGüw^=6¥DLvÙóé¹c‰Ë?eE ua²wöt|þ (ÿ /öcK1šU7«¬N,걕ÚH {àGí‹0ÌÞ¼<Ó ž.R}“Tù¦v172«å.iÃjÀÂ4h ïÈõ†eCo?·ŒqT=ÇiqHˆVýä(dô3òF¼­qëŒÚ"£SÅOíJH@‡ŸTB59 –D<¥ò“w\5xдWÀï Z\øSŽ$¨ý¤ ‹MÏ'mRPëøü`+4ŒyIxÞÝÓ¸:¨Y#%Ivœhj|yšA¢aû˜- €{óÌZµP{JrŠxAE£1H¸æ°•ˆ9òƒ]‘WŠ­UæÎµk',©fr¥ONÎÔ¾•y¾Ðí²LÍuÏUÚQv䉮ã8ßR|ͺгaG ÞûbÚýGêq\ më‘€…?Òk:Ê Wbf1ôH»ù†LÞÿà2W‰úHé[¬s¿ÑÕ0ƒ˜J:r¶‰hȽõé”~Í"\ îbš*{ô牓þ¸ m½cÇ nÜ葚ò­T” f§e–G5®Á›óCÚ°vÛ3ªXlj Ê ò‚íEÓ‚z ¹†"ýD:ü~Ô»I lïU–‡¦«°ê$ðýmÐ(C„÷mÞ\Ð5l6%Äå ÃF§5Ê"MÐlœèa|#Œ$õRƒlSœ.Ò·¹<×í[¿brÛ X*Óaù]„j¿€‡:²“y¦JMˆø‰cÍ`Ù6¡UûT´DýÈ^Ô(=fHFmöÒ´º¥á¡ŒE„±4ÇxBbhM]'ôäX?æºÕ†“çB'âK w,ý§éÐìŽ~›|\H ÓWsub b_Ú“‚MYöí¬˜Àï[e=FÜ'ý–:jØï̯ ôb”Ô¡ëß´-Ü7”Èpœ2Ý% Žûa‡ÌïÉ€æÔ “;€NqО½)zýŸíNöFÕDÏòñ­†ñ½†F(ë¶›¸R=SRÃÑi‰?‹¹ÀsjÂåUV$fB!ŠÝ¥¬þ*ã™.x!wŽ¡ºP11>­#œbg·‹)™£cYžŠ} ZÅ:6‡î×j•ä’©J† ý@7uq®HQ¾¢lj¢¾{â~^h øËü•r‘]¦U»Jo¢Ûþ•œB*ë³!ê¾uÑÞe§–àæ·öu>Ý®‘Š–¨/KÃxEÂæ˜yÎSmëM ðô«U‚å¾2µ ÉÜcûÜôãHœ6P7$•óݯ±¯–hÛ(¾)ØpÍ—â­~ئÈq,QSb3ce ª9í”ëÚo }µÎprwØíŸ«„·½hàD½W«–ËBoq@KG¿”Š æ$ÆjÀ(éó(àã…4­F Œo‰u}ˆR~¬ sT­m>ìXߎŸŠnF2¤þ‡DŒ ÏzÄZ lÐlJ²ÉèD$õΚJò êø¤z*ubEyþ¦éE ~c€ØfTžñ¥¡ª¼¥Óöy^í1¥,mûÑÀ O8ý’n¨ßq(€c³|é_,€¨> D€PE½èÎÒwžöúrë5W²@˜eIW¹£>¦|9¿Ã©Ìè™5ÏÐA â#Öf,âÐçòÙ¬ E`ð5ÛnCÂ3xÆpÿþž/§³G·¤Ò~Â.ýñW´Ï"& ‚§ÉF¦±/"‘FsŠ]…çÜzÊ=DãÎ?y¶r䫤í¾JB´Ö)S7ÙzšÕ'mså^ãqß57M¦õ6eݺ>ïb¸2î!¼HÉ–*Û4º`ò#WÐ7Ä L""Þ¯ra.« ÊÞózX!`°õÁ{‘WÓš¨H•4T—çVÖù øç5¼4+[Ùgl…DÍüæ‹P¨ËežyUtýi-ш#ý‰ÖÔ¦jù&šü¼;˜îiÐ|§Pf'ÿà!å:F!¬9ó,Fy2ô, ”†çeºÃxŒÇöâ½÷ê˜èÆÎÖc82‘¢Lx·©çI-xi !4Šê•M-mCç·\ËFL½¶ÕÖ˜Dnpî7¨R–¿Ûªœë¡÷¶Ù8ñœÜÇÇ ` ¨šXBÄ-éJ3—ÈZ}c؃ìNÕQ[üÚ˜¬‡ÕI>lVsW[¢ãIêëdB4 ‹îzÈ\ŸÛf^ô—à†¹}ÊW'œ^ ZBJéø£CŠ܃-eCdë5 Ú¦RÜÌX¿æë’gÕ³¦z[bË#øæW=9Þc…|ô×^cðl@™ý«’)ÕD®iÐd×]p ;çäHï&ÖÞÞƒ•³Ö¬>QBŸƒ«–Ó@óÄI¹g+yv¬ï?ÔyýžßnÖ‡mîJ{ž]ˆÅ&œtð±KÖWTm]3v³iîwrdŸ§vÜåâXƒ{…qcÑÄ”­Ñèìð33ü¬àïð´ë b-½Ž¦ÀÀ~Ks4‹êšgHþ_5èsºËºesù\É J7iŠ¿Ô«˜¶¯ºkL¥ý/–CŒëmyŽ7ŸPú¬7ô~:Å%ÃT1’Èâ¢óÞr«‰yO¶t’éß_;G‚o}(ûec•6<±"âÔW€“]M<Ýn¨Ôâæ„Ý@ü¾³É#€ÂJßä&H䄦’m)!Ž‘#ßÉQšžÈ5JØ¥Ô¢®·ƒ'4v7xÊY5O¡¤G[±þ"\h´£ á¢eÝw2[|C¿/ïµ Ö"4|v—Fl–˜lÞ¬_¤òÌ#Cá6ÝoÂóðSõuD#7«jÍý+´N[îTŽf™ç&—‡ x4`þ·÷wå6áEÈ[tXK2àr”5z«Yý®Tj:Ooƒ UÕ­'Lc‘“Ò0I‹ „°Ù‚&K¤Û˜™¼\CÞÖ?FŽÍ_– †ds§.°ò ¯Æ=N·+¤ÌG­µ{›8NÓ¨ÆæÅê7—ÇΰFþ>o$8© Öÿ‚ÆQ”…T'!ŸÊ ¡y0¨ebšöýI졲Óð<î²6üãè·-W1jïqûj4òMeCŒùTµ1¿Lãáà=4¤ög¦¶ê„{Ú_v©RY‹}ýrÓ´Çå{sŸ#n‘rqfkÞ°7ÈñMت¤@è½vš;‰ÓJL¯f"»5ŠÓl»tå>C™œgÝ‘ræ»P®;©÷{,õ\ŸÇ}€4{ýÐqÙз••Š1;l zvˆ‡ªÔžeW¦ÿÈè{'·Ë)HkþxêÅÕóMéX‡Œø>s.õÆì:CS¬tfwjîPÏÈæ9[Ò¯W„Cy&—Q=‰“× w¼å¤Á/^ÙNe±µU¥©¶:?! `§²liu 8$ÛÉ_úªWãaß½æeý*ƒ¨áåçPóBd@ƒèËiÏœ·5´³ ösÇLÇ< \ŸŸàcX¬›ÀTœ¿` 3±ü³Ÿµ5ˆ”|7¢Jå´K†÷·Ïý…°A=[9ÙlWSô±ö°ÓXYá‘"V…&äòÍ< }kŸ¦ûíé Í6éÂ,Ž cæ´Î" ÷O¬‘‚{T!]JGO?D½M2J™V†©²¿XíÓ‹ávªìqÎå Ù©ë@‰`rnøÏnÕØ¡?«°5ÚVƒmYC†IÙ¥ÍÊ€×ÜyÂ"ÃßÜxì[¸ågP~ 5£ÓëÉr4 wê`qŸ™dE/RäÛ†¨G#å¤&à¸Ö]…%kŸpIç’H[DLt Š0~FXØc[{ܧò¼n¶¤×öFmZçXåÔè”+,™çTrÀGŠ÷„ãÔØl]ùf¶Wõ!ü$òHu¤´åëýµš‘kr6*vY±Õ/PêT`XÒ{ ´ÉYÂÂZ×’ƒ8¡£Ð³\gy[DpŽ]šI—(lk,™>¤øg,€ó™ÇeèÚ]ú„CÙõT13S;oµýÕ ]ÄÅìxÎàMW`퓲•öå¿äf*¯†ÖŸ¼x‚ Y'6ûN0Šn4Íd ÙRz¼HS!€™Pq\9Öñ%™“]æ FUxÎ&§"náî¾ùê®^4Q‡Jë(³€ø%p‹±$ê:M¥Ë¸V»”r(Àgw uGЀ‹¿ô¶’y{.´Î™”…¨0 +ÿ3}#î/vCÒnØ .¾êÇoÑ{ê-W™ˆŽW»OÏŸ1ëml;K°žà푬è0ϵCë6b±RB냡ݘ"« ÚQV½ã|¿BÄgõ Ô«ù!¨Y”Zƒ…aÓPV€.dv³ÁÁë—¸k“Ë3' Íš^H„w…JúLOðm· 㼋úûOØÑu_|8T¯›JfV[d«jQ^åy“v²—ûðæ"¿ÁiEÆýä$¯¼?¼à„þ×m†z AwQÜOxù÷õ⇦/c?ö\ 1\šPDÓÔl‹KÌ)’WúFz`´ù0`¡$Ú/ü8…š—m¥~¾8á©| rt1Ø–¹?I‘~2h*¹á×½S’ÐwîâçZ K‘ÐÖ U o"a±0©kóÿƒ×,T£û?9#ôlä„€EMß Z@4eé“%Bâ£,ÆsÉn[H© •6«æupø"0¦rò×§Ä $%ci!vv¦dWyc \Vw•ЗÊó>ê¥ÛƒœœË1Sž¿éÌÛœ¤ìW4Sãb¯¢Ï­ó)16Âï»l,€„zHr3Ø-.ÈGÇï2 ¡ ±œTIÏî‹ -¾p“ÀڧУ«9!Éî>ÍxGžBÀ³q⓳$ÂèŸ0O°Ñ<¿áòïzQÓu¿ t ÷\Qå…¿ÜfÞVv€Ž-³…[·‹6MŽH»™ë-¯¼]<{;Hõã£Í i¬tQ|l>zý/³)¦dIÑ‘}”üžþyÌGmÐÒ1+¹œSŸZ< Åkà ž‹¼x´xÕ>^­’9ǰ  "ºÐwˆ}*uEÈ}Œì¥ÙRX¼È“–õÁü¯H î# >°ÙGQ…îü¦¤f^ž€ðKI_ÊËZp9ߣ±| z\0!åÀ¨z½ ¬%",£ê8Kj¦;xyÚgÝÎ|)u¿Oþ0J}M±>xŠ!>9ÿ!ZPh©±_}@¦ ¿¯M:`}"ÊçË8S©¼~ŽÅðˆ½H?Õ¨è(aBA$;Ïü«çâ`ÀßEï€Û0A×r9’øt‡J ¦R:¢ $dþ¡×‹21¥ž w·¢5àA°}iƒ`ºþ!J^‹0m5oL[ö¨†xàia£šÔm;—S®å¡xüP],¶çªŽ°õ:B33|mIvæê)«2Yjœ‡ ,ó‡‚~ˆ .”/§Ä¿OŸªQbgpÆä­zPa(_’qÖBƒV8€‚bœ!Õ¨"ÇûëcZB\#m8l"-6ŒÝzËË6ƒ’u˜Ü{ÛOÐJr£Ò‡ÉÜíËÆiµ\ø À®pÌCÿVÎÑŸîÁí à·}ÚCrÑ¿Q±®åwÂÁ‚²ç`çFë{ŠRˆç TøñÖο-¡Ô#æJñ &õÉ»’³qqjp‘Ïy TG‡}ARÏ÷±'[Û7ýJYð¶æÇþ^…R…lüv 'íh$‹gyØ¥‚¡ŒÚ¿ó͈ûˆ¾oi·%>J¥nx6¡#Æ/Q‰4¿R¯aüñ…Ï0kµöÁº[ ,.å“öän¢xMÆ,Cdý›¦Øt #z>ú¡˜âsýKš6O~¦;«Ôý‚Ì{Ü+wŠÛF[Ýã3ÈÃÝcB„ñDZã¯üÉíÀWø%6Tð6>»LêrîÆ‰ˆ ®Ÿ_Ø|ðtBá Ç#È2Δ`öiTbƒ? DŠ<—\™tê¤Û'•·U‰õó™&4"À Lz‚¥Ú'\›0cnÚ¤B–£èÙÝÿüü©,‹@ê{“H•5Ý_…”ñŠ= ÌØÊ5ÝR]Te1ÜøÅhÐ^åÛ;ØO›°lËzÃ*²ÅAÄÎ~>Cp¼•Úw ŠøLV¼ t38z[‡'ÏK²«ö0¤57gï™¶·Q³65w‚Rx¬ûኵè˜k6tþäFèÉÃ6³œ™ŽEM¦ÀÅ…ô%Ù«<}V)Âê.Asj°J4x*õm¬{²£±¾a,’ yÀTO“aÎGLH&šõ‚¾Þ* ¤PƒÇ#0¾´ÏEÐbºÁàÞ…!n‘yÁó&M¿Æ0gŒ‚›Òbu_ó÷ŽºÇƒ‚÷ÞyŽƱ©,ãÝŒg‡2a§Hõ`EP~y2,#îÊ\st»hä‡Ìf#kÁýÞìò[ÞIƒ%:ÞH7ö¯ÃVe57;Ö"Z&¸Gp0z^`„?Tá{IࢭPµ  Ê—žÄ§ú•,#.U5åw)ålº¿…ØøÙ FŽ›Fþ÷%ï»—œÆbk¤î¥¼hw^œà­p½©JCý%ÙÝÍA¢ÃØÎùù‡bЦ´~KKTà“Õ|‡’Þ™¶V»va^¿'$(iž&&œî#ýHxNæRÏò7‚”u‘ÄÏy~B*åelÃHŒë#” ¨65ǯŽRÖúd–YÛÐyÒÈqÚáö¦½y'r¦XÑ•¼h˜—Ž”a9ßïŒNL¨œõë )©`–B§¥[#50´ÐíeD¦óºÈ¨ÛàÉÛK9GU`ò/†£¬ C«‹½ü=ô‡N1¢%ÌŶª]ˆYÿ“Ý NÜy+°}hÙF¨‚…ÒT›“8Èö€€‹q–·Lkâ†ÓóÐÚõK×P%m7b<ÀÿƒnúKAôøöâæÔ᳦ÂÎ ï„Ü(üØÅ—:_™ò 2`šC?õ“–>„±žÂ‚?žñ€Kê^×ÏY?k¸AçÖ¯ ;)ݱ–«z%\ cùòqÒßÓ CQâÌ@Êa€°ß„ÙAäp1 lÍŒšõÿç–CÏ–Šw¥z^Pš“ϵˆèT3Â×_à×AÃóûû›VƒþLQŽ•ã#õ±g’BŸhÃ㎡ áà ª)HÍ~¦ãq¦E+€ájÂØ¶äÄ¿œd Š5\y°dÛeÿ1é¨s¿\iëP Z òAp2—Vù¤=€ö§þú§U9„å0De6WD§¿ÅH³DÌ9ÿú@ s!/ÙLˆ´KAÌy÷~EjôYYkœ-Õzs£ŽKxY@m³0þÉø”©cÿÃ|αZMã*¿è@è’ÿ<ïh…,E†÷Å×)_E´Ü/]²=/Ú¸åFxMÎDÌfš/<õÀn\t«¤*¦¶åœ âî@3¿ ?JY#®—MX»Ô ÙP:}ýȾiPcÀÎfé¼ø¾á6Ód©ºiYÚ ÈzhÀcŠlm[™ ä{î­ï‹™þeâœ%ý¶$Œ¶Ãæ}½¼“ÚöªÅ_ë]û¶Çà| EzêÞÑ©5ð+£}¾KØ'Ö´—2IÝ”÷ýp?biJ†ˆä››ÑÞUÒ¬à z“ÔšøjhôÂû…•è:[x˜4•°L´@%_‚‰{ÑÕGƒx,“?ÿAË/{ä.Y ªÈ-&J’"2ÿÍå@¨²Àã2ŒžÂa—Ø‘>Ž'ÜâX2íúZ¹¬¾*V…`güKwÕu›—¥6S+÷9J¿j™+ú°ÆBb29-h›9c<.£ð«ÚÂ/r‘A¼c»³,hA»„ÛÕè0pF=Y[&ÙáÙõœ5ׄMÞY¥£b\NÒB‚õKPÔ3—†ÒJ†SHDxäû×3“CGSÖTÔéZÂ^*ª*Æ­óîcqùбêÎ.åàW;,žZß½)"ÕÉ}uüÈ7ÛV ,bS€“]ïqÅoßæV,à§kó;½ìæSî­ =HÞbVjøÆŸðݔɼ`‡¼Eâ_%wˆÐaJVæ…§t_ýüÎÈçQ.·l/æØ>©óçêc9.0{»=ü4(j“œ{õAT°µ¯Ðr„´2 ‰wrBK”÷7™ žã’²Ï›/7§Wk*$0Íñ P8®zv_P‚ª°= ,ÆÅ Ô±þ6Ó­'u2ƒq›Dƒ49 æ¬*i°ÏNâ¢ECýo¸O Œ €Ñ98惖W¬ Jüp_jͬÒÑÞ8C²ÆKîðÏQGC&0*QÃÓ“0,ñ²†\ >Ó ³ùê'ÂCIªÀ °ɳIë(†îÉ‘A*pÅÖ›(• Ð*2y!­õc›uDuÒ ƒ]†ô€•ŽŸ5å--bÂÿ=¨C‹Åô:~Í4=–WéRZY(“NñèXïó. ›@‘l…¹9šþ¥Û³ö+zÝäIð…;óùøïË_†1”±bRHwPe×ÔbKxúâZèFÈxÐe᫨3ŒDˆ4~V•5Ö¡³u(IN`/kD"þ=.óÍR÷h ~ÆŠQ¤/¯>Ÿ¡]`ÊaTG+8ìï:}! œ»Q?ú6‘Áúó3›Ÿ%y¬Ï°_½ùè÷^öfˆê·};~7»“·Ô$Ã: ¿  ™2É©‚Ë*¢Çi6@$’Oæ”Ågþh¸þyÜNàyô¥Ùô Æù‡îí܌ΦÁ!¡OD˜S-.¦¿©§W½WÞ­mf›ÖÂ!‘ÞF•‰ ánsk6ÍÂAßüù V{%ÉxíNíŸ(8ÓPn¹ÅãÅEõ©¤éKÁ)Ë[ð‹Ñ®07÷à¡x±/°+WðþpT2$ËKMMËÅ—aÚd»QìqÌVsoBw ÙŒ;ûNÇs2Çýî…½½Ÿø{yëpºÈ}þ”¨”oÁ?mÿQ+:Ú:±Ú;?éŽõ-ðwöuõ–œKp‹]B !èå7s_Ño¼ÑËöäØ1 χ Ãp² Î©<žŸçýÐ*¬Á þ[n­>Çj Ïõé¾8ª$ÿ¢GñÚ8XzÄ}d[ß­o[˜.#™ýà/³só¿¹R”…W ¡çI\Í×Vxy?ó8h4Û® 裔 àn;½ ÁtÆ ™Gó•xÉSí'Hp…Ó†WXB•„²ªñÞQnfBSKK0Ÿqù]%²ô²Ôèþsm0Xqòj¡=ÇÌX¢Z!µÈœT( ˜Îœ€®ßf95»Õ¨¿ý“¯êLëß‹<ÑÜ>yB¯×Ò±—SËðv¶\>Êà˜™¼„7….B¿*0ÊÄQS²ñ^ñ§Õ}Ù¦Õ;˜˜z†ðÎÆÁ SÎÀ§4îZ=bÇ ó`ˤ*ÞŸ2ƒôZù¾²>h;uÆ¢+“ùƒµÝùïѳøu\ÇÙ.ÖáܤüZ¡q0 ³€ž™õQ ÞÖ#vUékV?‚À¶?=Wn†$K¹”l¾¬©oîc»ÆbÀõ©<*ï¬Üú² +¢­‹—× ,¨âò¢Û:/+W%”ìŸçÀcW¥$uvï=znzÓhŒ·J߆n#ˆL£_Y1Ö—†èm—* ÚÀˆ«ÖËzª]ô•†>‘µGª;E¼$¼=¥<8Ù/qû#V ï… :»ö’+IøÍÑ”´ä¸øý ZÛ»pÌ Z[êÕáÚ %»ÑYܽ=èÔFÀȃ Z *rßR‡’A¡Ã ÃºÓ “'ÇJ¤ô&¹žÝA1%ËIïйÙÐöò3É9ûÆMZ…UIç žÍÊ5` yšý ¨]ÎïåµPøÊ5E¬óÃIMÕ¼ïñ¬ûÉ%[ñ³—(Æ]#s¶Mgéz¾êk°ö†,ÿ!˜ì‹%ÀâWj ÷»Fv•§ÔŒ»çcÖ 9gòtÔ´ý`ÈP¤à ›Â*< +êgF¬ƒëdA§º=\.kUöWþÈΤ‚ùsÈ™˜r½iEŠ™cmŽQŒ™URAò8…#鯦¯äZêÅ»b늇éPŒº˜zàG'1´‘a”A­y$hÀÕÂYI4Ñs€ºÈˆ^Ù2Ùèn"‘_êœx¾ JW»þÛÜ‚U Î+© œÍ¢s\«fõ~ ]P>eYØMŽ]ŽmÐ@Çt‘L‚!:Ëæº=È!#ê"‹·Ë…j¤—ÒJI¤ÌÓr2Âßx~­îÞ¥ö›Ñ)‘K괒Ķ2„Q8 ò>d¶ƒ—”¹Û:oè Ôã«Ï6Ÿ6G–"îî½T«å¥ñë N¤:Ìù"J7AäÉC+ñ ÈCû‡ùXCZ¥U*Êm:§Ì`\£(ê\µœW{ö9ªÏg'ó¾£ÊYJfeŒŒÀXi."î<εÄüðĵ&D@@ÈJ ¼ÄZhY 26÷jƒ8Ï\Úo1Ñ`yøê@³1v—ýÞâ§…=Ž1^Óân1òúhõ•@ú)»¥òzLÖ®¦¦Ø¢—nåªàÈÅæIŸŒœßþïm+pÊO+_×Ú0,[¿´7ØÑz‰cqa r4Ö"KÐÃMOö N}ÂŒ¦v[~ tÝðÓÈݘå“5bXZ톒zÞx‡µr^éMMíbR3ƒ¯XÒ* VzcÛÝ@þ­2òžÆ¥ŠÅtä¼  ÕÌAì¯ £;aÙv)LôwÔ9âÍÐÑaŠÔ»1R±6ø5àû£pg7 µíß·déKV„Ûkù{*_ëÕY‡Zü»n"-ˆ½@ˆWw¯-c•<u‚ ¢Q‹ë‚ºnÐgÖS~Ç j!žhRL:«ip¿‰ä7–™Wè+q^^d=]¾4é‡$Vè„6¬¡Ü­ðOqusž‹g!„qy¼ìÊ×M˜î’`g£‘+˜öÅß[n,Vi)ž:mÈð¨.Âvψ=ï×’Q,K›Í×i¸=i8íø>2ç±q®¦ ýk†eã OUÖ¡P"è Ö]OÐá¿@¨r±äQEV2IÎ!7€eš*嬭Ëúm0ás>YòZâàüÙ EnÏ=«ú/b‘[UÞUÁ ÈŽY‰U©%]…Cy@ :Ú30qf±wùQ‰†sý(]än5ÕI5âE’,­Ì´žÓÿ­"N³Š£5–*©`‘ÖÉ 5Äóš&§ ¸;d|‘®ÝA‘褲6(Lã¨,ÕðêL1Ái#Km¸A7ãšp-ZèïÒ*ª¯gc•ùb‘Ýä¸îÃr„Õ9V÷†\sÌ@¡1šQš¬È2¿Añfu7‹¶2ªnß¶ÅÁoSþ®;ÂÈ úí±T½Ê3 @²VÛ5á{òŽß`M#æ£w¤íÐÉ@rÁBó2ë»ÂX¯Ä ÈØñ!_ÞÿÊͦj,ÞÆÉ;gºsê1¦k’¡£¬šþæy,ÅmÛL±œ7aÀC^EŽ6Õ’µ’¥Œ=Ñ¡Â_’ñiµP?{¶E$y—"#±6\\ªØ´ý(¿X¦_ô¥Ž¼ò³Wq_B[JèöÁ€²œGÁ )ºqzŒ<ÊSj\¾!÷ÃkÇ_sñë=IJ²Â®°µ¨gÖ-‘~´nrBªÝð@õ =é^CF!ù|Le5—º>’%CÇŒŒêë=®µ¡¿ö.w]à >o:Ò¤ßE‹w*™¦_5"“Š( ÞëüÂõ¯6Šn ”ê ˆ"ÝɦŠ<ÛAeI[í]ü y.ÊDsTµ3ï׳©ÙM‡gi'ÊvS¾CÀ¬¨¼¥àó3šÝF nâæ2wø"U0— tˬm.èY1b| >Ò˜)õ²þ% «xÿŒ,ApItÿ\af9+"ñç„üwu@YÎt5‹ÂXeDé5²Û'jr¡žqÖj¤_ }ª¢u€ÈNœ{¼Ž”xxÖÿX¬KÖjt …2+Ã?ÄVíŒî(óþõ<‰-È@H)À$€Òv%—S쎞ÌwÖèÊ]Ë7¦×àð~Ôg“L”Ö_i‰×NÍ%œ÷:$͆ƒ­PçQ±Ï2kò tA4¼­íáîŽxBóôz†¾ñ„¼©w4L˦ÉúÇßUsÞ ‹ë8K“ȶ¢+šø©ÖN Ï~†œÀ–½înJÛXÖÆëépløZ zÄŸˆ+4“”„›? Ý{bÌA‘ÔU¬š»Æsg®§8 <uÆê,ûYq/F€÷• hn˜>&ÊSA‘¤jT› \8ÿ6B„ñ4lrKÛ5;FO³ø½ÿ©¨\2 ¬¿Û6š˽f“u5y£Ò^Àù[…ê‡[³Dì“k|˜È ±jvÚ£‚Ëê4 à³ÃÞõèA¦²EøWN-é»7¡Îatg’»¬ß (r¯A6§ý£jW;´ʼ–cÁÐ5S¬£Îü?Ìx›Ú: ×o‹¢ÈÅà˺¿}"=j/¸.œ'ŸŽÇ) ü`Ûw/¼¢ ÞQ§»ü‰lSúFnxm†Lž—=«ÎÉAù¦€ð×L*qTØ÷4rðZ}$´Ib_V^̬tÿ-Þ68n7‹–É$IœêÚwm ó·†HÉÓÌ"ÿ÷Dê¦àÑt¤¸$ƒ3¥*žjuAXƒƒÝ]•݃×t‘¶z«(#gz¾VN÷ôvn¯X›4+µÕÄs$\øD]i‘éú§}gh+^™œej?Öâdð„Çt…´Å|ñ« ;ǘ>U,J­´‡Ê õÇâ#§Ú%uþ„nǺˆ+¬åkÞÍf$kÔëó`ÙNþõkê<ç‚MM:ÌA¢*HwÏ=0lTî±fÕ&¡ßþ¢¨ˆnÍi 0ãšœrð8) ‰#%ñ´Kƒ=MÕ´¿va£j¥[?³få…koªÐÎêoN{£™=Òc&±wÃÙ2î  %C¯Ýl×uˆaNçþ±„ÖI‚ ·©•;ž­ã8ä ÁgánÀÞÚ¦m||Ú\U·—+µ“µÝ|gøSƒØ?1H+ƒYíòq“› ž<ØîWl#kO]‹÷c½üqF^ŸÛÝþÞ •¼èÌ4å”xnâ$½‰"jq _——œ@FCkwªŸÝá·Æk°AضÙË>öy*å<‰ô„køLéY7žÈÓª†Š“5‹iÒÓáØÏXrà·µn¾Á2¥CÏ0Ÿ| ÷ x`¡Ø­²Á Éíûl6'a½Jæü…×ý/{¸çýžRÅ…"—Å&ócéû0¢àê°ñ~ÄÜ£ê:v½îg9 Ré]Á¥bY–³ Õ"·Þ:’Ínl'(µï£RœVA­¯ÑµPçeºÂH°d³zxžÛýWÿK%æ]2…¹œà·ØÌ9í£vø·áÍRÔŽ`¨9½®û£|iœÛÅrö±ùRpm¶~JA³o"Y2Ëaw¬áÃõÂ/ªTRõÝ’¾!RÁ_~F‡XrúM-ᇎý¤ý¥mÚ%’4eû³˜þq€×MÁÁa,Áa„¤Æ[xúÓMÏzYO¦£{KºàIŽöcEË¢ùÉŽìê<%ÂèT64£›ŒÒ*^Û)•£^NìÝBÛÕEìø’¹+°YNd „JÈÂúû‡*"ŒJç,9,\ ×r®è:Ô¨ãîÏš§MtÙ"Àh3·†}ÿ½Vk‡CPÝ@$ê$¢‰LWgÛXi,íF‰*Ðo£%^Ca½ü` óÈ-3·E¸å¦%EFÜ¢[ª=ÏÎÚaa¦‰?}Œ1ôïro±Aù¬Š*]¿¯Ÿ<_iƒ’ÞÂå²uì=Vü äh /Ëýã\¡‚9ƒìÛn¤úw¿5=äŽse”RJü@é¹ÃI¬N¤á³®yÒø°² 1s½‚È^>¹z"ÂgnÄNáÀšBÀºƒfû 8“†P€ â:UûÜn¿M…œþ±°,egâ£Óþ–A³ ªýÒñ uõu€»iSˆ}½¡‚7^äÊ<<”¤‹ç¹có]Â3³ÀÍ#eP¹dÏS| :¸´33™ @±5~àdï$)'[éy'ì®êEQŠIøp C¾øài#‚RÜ‘ÜJ0$X96O÷dzÖP+Š.ò¸ÈûµŠ!G„ÓÆ#U«¡¶¢¨[б¦É”UaªÛÃyP)g}‡…Ö®a¿²Š>èú–¼øG§k°ëé§S:cºy†;„úü·tãåðãfö(¹„¾Œ§BÌgS¤ßþD@OòÁ›:ö[FK©E@”À¼åg•f zÌí¥H73YâJðˆiI¯ÉØnÚî7BåY`È„í¿™Y-7hå`Zz€Ì1Âg(à·Äv¸ùŠš/wÿCîei#u`mH”dVÙŽ¬Jì 5ŽÏåÅGjùží²Z"^›Âߨ·ßß Nos͘ ˆy-m»»?Öl‹ÌbÞeüdl(æÕ]âº",ôp‚ ÿ#ã<`7ä5åDWÙ{màŸ'´®ÂÈ-_éhxG&~I¸0¤c>š‰þª`n'©Ë:NùÒ=-]¯·:(icÙµS:á¹ÎØôiÉ6’"õ{1þÕh!ÑðrÛøÒýGIucÎ;Ô`/«GIpÕúÏÉ¢?÷Š) Ó¥˜¬‰;R–@L1ÌhÚïmä Ö;"g“eÊ)ÿNù¬+^Q8C “S/4{©†º‰³Ñ‚ð’T›Ý÷Üå'ì6ÜUÖ؆sŽ]8´º9Ro²xh{ÚJ$èAÆßV]Æ“ÃkªG6&ªCì@« …ÁÓÉl0.T(ÿ÷‘œo^xÇé¿IÀ·Näy,ÂDÂ;j»V nIÉù-k3gúáî¿ðâ¹”Š’D¯'Š…úÌFa:]w-@/‹·Ðàß8-‘‰Q=t^V×|jR]qõ$ŠVkrÛiðê;òǧe<G|›äWmÌàOç]î”h¤Rhþ†ïÏ‘ˆ"… Û®3æSÃç4’A&àÞLÿ¡Á¡ûÐÓui~4‡0ÐD¼_)/•‡Íà‹ô¬uªô7)9ã ý‡¼6qðþ7/˜år6þÄ÷ÊÄ•#•·•>¾e¶Çõ‡émÎÓ’ãÐ@ó:¿)5è³*8÷èdQ’y¨r{ËÃY!úö†Þ],ñ²ã<—2> LÜÆ×ƒ…ç¶Ü$ì|FßDÃBa9ª?,²Òß1f¡%b–°EÙ‚»ñ­ä:—µñ+8Í`A3ㆼĭ ‰ý·«=ÁÆ•ò4 8Ú4>_ÌHFh¯ãqt_½¾®”baBPzXÎ9ó“Äá~HÕRfw7~šœž`›…T9…£©`”áVÞvnuv–¼â81‘bÿ2Ùõï‡[^ú…X€z²!o¶ÆÉ`ðµ›òê©®>AT©7õ,s§þNTâÐMôn‚AìZjfE‡i%U,í‘â —Îð_œÀ ÑhÝ#qœ#ɮܣ(¬µ :§\;¸•Q²€| )f¿ù–vÄÀ†$¿¤åTZõNX..¦ ¼ð)I½›Ú–K…ßNPNG®gõÌ’£ÕÂßhÔ!–G…Ûeí%Jb<Þyã 2½r%d¥`8 ܸßCXqY"_hâG±Í2†$_¥×ì5Þûœ"À§uä´l¯û6¼:[0ŇÌßD¶‚†›H'ï^ðrgµ ¤®“¿°Õýªþoâ8½’,RÿúËHE˜>‚ºçKóô«bÛ~&|`žU=¢ÓÅ÷­áêvý¯|¥ÈBÐRiì<¯=î#Ê ‡{ÂX>ÞÛ3w ©x¹z=% sððbY6Òõ¯ŸF ZßkÑÚfgƒ¡Æ¡eäu¾64Äh÷*}^ëRÄ\3o¸$œ|Á„úûòµ2š•œ¿ /=ž$¥—#˜S.L™žn©,ðÙk¬¦Ð÷„Ù * ê*Pa¦¥t“ŸÔÒr|ÛÇh¹÷ÓÓÇmL5‚…"m;yÐJÐxB‹-n‘‘2p"«É•²”×€ÌíQ%8v¹“´õ"=Â|q¥íÞ¾dºû~‡oúÎ'ÚÍjæÏL ª§í N§.·w¢ÞoÔµo4‹°o¯@·ì )i­úXišU¹ºùÄ ?F]ñMIÕ&gE `˜W7ՇȌGó¨§ gíæ»dN$aпÁ†Ù,%ŽÆ]$IÀäëÅo†£gÄ7–`yñ˜ÃŽ>ªyUN-zwÂ^‰ Š|f Y)]äWÜK‹YT>ƒ:ííàÜÙûôßD¹»h`'ê &f ÄCèFJäV·¥©+&æÅåên8º8!šá¥–XR¾AÎSíîS‰c@´„‡ÁâíèÊSÑÂZ¡<®ŽkÚi]FlWŠŽì~áèõÆ¿_½8 “DgX×IŽ×#èvÔçä_€5Åx¯D[W¢F¡k“Mõ¼ŒlúpùJŠT}ôiLÇ=A×Õ†ûóœ'Ò¹ÐÒêno^•/×oÔvÁßiöPl"I’G`΋µÄaùå1ZttߎU(G`NW —"ê@#†Í‹êѲð_Z+iŠ1}ç§ï,W}¨®}‚÷‚šÏq6ºÂ9'„à ×§™7}Õî$|}˜)'ñ¹ë*±¨’4ûÇp©0eú¢"6ŒSV €õ+A¯‡U¯‚ÍJcÅp­Å>ÿ}ü£*Ô ðžÊXX`‡؃-TŸéëÑ£ DlÜs"e+¨Ñû{ƒÝ#Äd“+2 ÏbàAïHBa´Á G™Î¹¤º«¶Ê$'\8LS‰ š¾Æã ‡·„xTuê‡ ’]\Ò¥ñÄc¾BB„£}` [7Êî&\`ëF„cRkêoq¨z´y®§öTéÒ†Ú‰é–yRÉÞìeÊžª¸‹k ï3 \-îþ5—äµJòDZ“0,Mg,àl„ØBŒ>BRò+·Sƒ±7‰•sgósZ–˜ëbÉV&±ÚõSëŸÒFŒÜôÔÒ¬‡\4Ö¼Å:tn$ÿ@fF|Õ˜HØÅ~á¨'øwæ?ùJS/8 õ•ýç>Fë)nFÅÚ •‘±ÙS´ %U!h‚/YU®5ÊeN `êƒýà²Ó4Þx¢˜*”´}–Çj/XÊ÷[åÑ\ZÇ?3  3ñd± úœV\.!Öª@ƒÚ¦…«Ùs8ì!ÇFd<ºÆÁu‚þ"/´~³kˆ3µ;5=>X™>O´™/_*YÑ)gëß&›üßÍ”vëpîÖ±ß#ø;…@Ü´›'ØQ#GÝÔVü¬wÀ la÷?Zߨš‰Ó™Ô¾iVî†7¯7‹ø·RAR¼ÞÌ’iñ‡ÔÅd_LÿcȬP¸’§¼×riIÁ°WåàŽô(®dÜåvÊ òLl²c¿(Ò¸ù ؼ‡#›#Z¾izÕ‘v Ï@,óg8/•ìŸÒcÑn‡¥˜áÛ)TH² m}°öPGÚuÓ\2jA9ƉC²s£U“ö®@ëÌ5抾ô‰®òðFÁÂ*Nç§oOÅÙݸEê‘PyåøÞéú­ÌOo÷m`*Äa³lÒ°5”˜KV½‹ÙÛ¥Ž”¤×ȯúkEò9ol\+ˆ¸6ñC{ý×O±À³oÝŠ÷Ø“Ž›z§Q;?Œ/ƒÙ4¤©@ï„/uAœ-W/Ž2&×b³öo‹©Êó› ƒ2ÓÇÎåˆN¡«xÈ^«œÍ`·Ï5 ŸñÍ•}sn0â,¡1ŠÝXªp»˜×4ãFˆ»þaÃS×ÞC¡å« F‹,ªs æC_üi)8Mfu2¥É¸J‰V·-väçFº,&Ðl-" ÛÅ þ 4Íø"_ „uá2L¡åИå±ägù‰p%Ý@àóÂ÷ÍèÆã²¯–äyN‰zL㾈~?@cexãe›ùëê‚Î9ä ׳8“àõ©Œ‹v~fe›ñÌ‘>÷òË_ !qÒ*ÞÅLKÞ€8‹¢Ðy/`®7wz4nG\;!å2™•: šÖªÇo¶³nHr“Ž•E†×#3S¥ÿЈº´ì½_ ¿×¤@®âÉ6E‘S9­Zsß»'ëzXêÞh2„å‰yP×9ÿD,ˆ‘{¦õëíÙ{ˆ]xŸ†‘hšŽ¾±·³¥‘Uc×5fQžn¼tŸ5\„ Ê#›uÉYB\º8œj'‰uI… ½ðDubyNHJBÅ̬ÍHóüBÖbpÙ+ŽÍ0Ú¿–»ðnáÃqnò‚ŒW¦Í®•ÁÒVLÇ9zOæáwm¨·“)t/)g`íyŒ’EÍË«‚ €ÒÍl1ÓsÏ’ÙP]8­Á‘ꘅ°(ìqƒNyØë“2€ßÙþ´6kµ€@ãÄl-<YZ6'θÜU커\´>!.`q )>ŠÐan2cg%ÞD¢'C÷ œ¼n¿xÔ.J8r˲œQôµ¥ùiîÞa±8¸æýì?œë1³­—F'4çÊ” ä¹bg*%ߢ̨ ß„Ñg ž+º\--äXog$—ªØ% G—$9Ý5‹¼&˜Õõ¸UoÛÊŒe ºÀkÝ¿Ô9:‰¢Ê^&Ú±ÿ”$ãýÓŠ/«;àÆe¹h¤­/ ª,ƒ¢I”tÞýéÖšsWŸë>f‡s±aýœ£fT4"ª±-ˆÙ¥<9ój›\ؘHti1H"%û}^Fkao—°Q¨e݆U6D;S§øZ…b‰6³B„÷°õ5:Îÿ5¤¥n?âÙcDx§¯Fõ3c×éÏˆÏÆ4Ÿ§éi&ãy–þõŒ¢úÍ×@¤áæéÁ£ýUáž ê…!HÜ(Fl[äe´k}˺ªeL•é¬)ô´“ü  Ôɰ¡Ô0%»÷„B‰]&ø™“_Ÿä Œþ½ l7(cL).q``}“© ¢¸“{MÿÍÑÄw£6–+&j¿¨½ã›ŸIÿCç²óhôK Úç/‹z³­¸ºµõ¹EmÐ Ì ]µÂd‘°š¶¥Ï½¦©DAÖ*Àð$z?hU¨*̽qªÉ ]¼ñ‘|!±bÚèUÍ ½\÷ØÎD  )”OŽñ™5rD걬Ì4¤(áµe}M0ج®E.}Ò¹}5Y¼Ê™¼ÒoÉ^EàtAi°a0ÿMá+÷-i­Q.ÿVÑ«:•w×) …Êý¼þE@„ ¿*Bà vÛ¨$Ò¹÷€éSÛœ\ÉŸè]`›æãm .ÍìïÛÓ"陳Cê”; J.ãÛÜUüÐï#C~_ÿo{žØe´ç·j̱éWŠ!ɬ?ºi5ýÇU aÕÔ áA„;oP$ìBé(—:x˜¨âÙ•N @¶Ppép¾Œ?¨PÙMÆËî wåùndÕ9nÆÙjèë¯ãÐL…¿5Ì “ëÍSF½Ñk]³f*b È<Ñp5ÎQéì>ƒoi» Ë—Ÿ¬+ð®³M'%Åæì¡oqØN:w"ׇ…,L9ÀRf–ò²?ý¯söûsÓTD½Zíãy? ò;ÙìEQðÖ9Že‚µ›+š ¸Bõô#î—'e?˜œŠ:`t¿¿ê•`%"§%EòÚŸèÛ¡S˜J÷/ú–cÒ–l!ÂÊù% µÚ©é“:š*¶Ã°8o›M?a‚†tÚ¾©_´"0㢚֚ðßVóáOiµÙ­T øµ_73TJع©êŠÝ¨‚_hÈ›ý,LqO™àï${]môäö>WinמÁv^!Ãg\ÿú;SM¬é‚&·@Ý9xÂþ( ŽÞa2 ô‰ ‰AY [¿†÷¤$ ©xß\šHΰ ç§;6]%t—§mî¤U¼ç·¿ÉnÎ+Ê‚á4SÂ~_dÜj‚Q`…òÃ"qø¬$ Êà¡sÓ*<~úÄ0Ì}ÃjöÖª­X?ng® ÂÃUÙI,[nJ.v $_i"l!ßÀXŒ;\÷©uˆÝ:ÚÁÒ¸AÈ,cø·I©ÀÀö‘¶¥t¨w’~‹968ßtS9X{ËÁ~Ä|•]T ­ç8¹+¯wï aVØêŒ‹Æï[sİÊÊm¼”ô6 J¨Ë„pð=Jãꆉ稃ýÐZtÞgÞ(ÑàêñÍá>Jç4‘¦Ù€oùahYÿ»I pt¶Ü›~£ÐÔK¸±"Ž(f¦=ñbXg|%† S³jKÅqŠâx¯x[Ù¢3ƒÜÈ"ŒŠŸ´º‘ûhè‚]}x-%xÒÖ£3’>~k‘–6·_%Êà%¦kj#“jäW‰Mf®¸iö&$Mðï¢Ôt©·ˆ™%uAm—Oç‹¿£yôq«–¡à'½OÌg›pºöúÔåi5ç…ºq ‹æÃЏ†â X¹óßÔý[ê¯Ö¢aþ ÉT¨gËô£ֿ¼ÿ„>KÐÓkáÝÉ_ ´‹Êê å Â6)RCÙýúEézÆoJ`ÐðYCÙë06aL—Žï®ª»X©àKâ`¤ò7a“Í 8uùqµ'„4&ÃÄ–«Ï˜b ˜Å—Φª4<ÕîË2Í6RÕíz‘„mÎ8Âf‹áª,ȘoÁÒ,. {tHWÿ'évi‘úª+%4E\%×ÈyÐ24Z~†ÔÍúPU·ô’ñ¡ÛÀ<2Q†^¯Ùƒ’*ÜwZöc,»Q³Àá)ßjƒò͵¹¨IuJBvÆšyO®®ð㤟…Ðo$4ÙÜä2:•%„ÛÓK *%CœÎúcÚ{ŽàÔÁqÈ;Rqõ]b-U»ƒ„8JøZì+z$ ”_®I€2ŽgÏé@Þ¬Š LlèOGûý<îxavú6Çb4=þ9—Úš†Tö‰à¦¼c¢: ê€,ˆE<¬ÁoìØšïõã4}ü7=v¾^už¥wù9oíÖ$öG¿Ò !²× údÂò¯ rèI)¬A].Ë^ÒÏÅŠwƆ‰’E{B‡ “]•D“’9‚.ù/R'èƒõÔ;©«ÌÖ%HC: S!¡b­ÞŒ˜³ÛNèìshf]s¢‘‡ YÂõçVAû7]Ž•] 5M-:Xrë2û¶@›ËëAìQÙ”kg.ÜíÛÆ­XåD<櫵Oi¾Ä]ý`?Ô<#–…ôP&6°´³©I6•æK)Ã^!³µñVÌ%¶š+gÈôŽ“l¨û¿¨ÎÙu/`DQY,ä–xù•3'.ÍD|ÒE‡ÂÒÝžpi¦òÈòBb¬Õ†ùaTŽßÓì¸?ºq¹£±ÌsÛƒ%”V­§ÅY݃}˜Ã®ß ÐD´VÉEá#¡¿6£„9¦À}¹Ý¬/ícte‚' r­:Æ6¥†¸Võÿê҂۷ΟnR+ðã¬EžUcℚõ‡E(&5  – ]²éGšaÌËW^TóÜ!‰áÌp¬/Â(¨j1Uöó$5ð!‹/Gðô².Á)#œAPs†-`ô›pÛõ '½ Ó¨NÒÕ†Á’bBµH€ü.!0Aé¤0¾ "ü9Ôß*iûòNfq€=ABÌÁX‹öËÍçSŸÊØ;P³é†1œK`*¼Á_™}¥ sýzí%ÎÜ}T.Ùþ‚2hr‹• ¯$a.šjŒž…Û™ÅC;šf˜Z]ón÷»ÐâAò\ŒF¥`ßb‰˜í§8S²Åÿa§Á×›­¡©6¼\,N›ûD…¹<JýžÏæZD•kI¾†c·èâ]žDÊ‘ù gá j§iÆÊÄ·%ß-:/žJ«ãD~ÝN—Öb¢;[©ÏÜ´²Kü.‚×ÞuMp”•£U–$?f#íóѶ ë£röLDÆtœéqX^üeDò™ú6ÿzüapÐi.$?­ÊŸH¹â'’&NLx$mè¸@é dÒX®Á6ÅSê®À¬ôV­#ª–?j5GôzP¢*øÏQ‚ò®“VUØ[¬ëSÌÍtm­g0¬/ëê!”sn†Û++nú`Pž!‹õgiAÞqœöðbV½:¶£nÉç`¼ëJì{U€ö:¡N¢ëÇväÒ`Bu»0@;-ä ‰IÆ]CœÊ§JÓè™”y);ÃlMCDmcå}õØþ <õ±vÐb¸¬¢n£bä±m£˜QÞ`}ƒüÌ㣻ÁÐQ¤”álɵKö‰Áþ›Å?ù‰`¤¼‡€ž€ÊnøH9 ÿȃYVb©=@Sž_yñðׯßÄF~î4Ép‡·Ïya»_®7ò¡ŸL‹W§ë}a«o›®pkpÕµU˜¶¸•=L£à¢ýä®qb¬cäÝîQæc­/©IÖ™Ã4ݽЃÐ:‹9«m~ae‘#˜]F»ƒIFÇ“ý°œ~\+Ðô]øÞMU/¸BPõ-ÉÊ”ñ>”7ÈQ壵´Kl…ËZ ­ÀÊûö›£tMOEjEpJö1° ú`¡²•GŽ¥Û.‘P|Ѩì…YƒËß=qD娴“uĪTînÆp†Bg"sÐhU,RSip&Õ£%õW˜±´â‹-"çRsϰ0ð;âbƲRµÄ©‘Ê^­§`â­Ú²ÙÀ¹nîÅZ_ÄØáƒ·fJ ÒGz7Zåîœê¶áÁ7-ô'Qým $š-^³áŽÂl¼Ž—ì»åj£>³­g·€…Wcd¬êÈÜ™¸4A#y}%•@#¡c’ ]ðj…‚¯q¶ÄèI®+=K{š_&ñ'¥¶uƒ®(óCCû´i9]¦æ^ÙîKdîJÏ®ÀÉÈÄêÏw`WëMx¨ Ñ#M-e²B5¨îßmw qOðC¨·d/$Í‰ +p ˱ Çz˃Ï6¸¥o›,zeíÆbù‰Íª^Ãu_]Œ”ˆ$²¾óqúÍrG¬«Ó&p.6 YÞwáJüa‘Þ[?gM_ÑŽGq–»±¯bùìd?ræ`Â¤Ä ¢T`µ*®¸_n‡|'Bè¬Ñ¨v”É{:pË:¡xA£ÝKDSÀqs¬Õ æ]?_¿@F è’Í$© *–½×q¹ͬ‹hîy!Ró|¡ ›éð@É—Y/ñ:ÝOÞv_¡:Ùñ/s%ç•°é¥&UÝþ¤ÿ>xÉeêð/RBŽ ëý3 £1ÜÁaíצ뺼ng#,!žê „ñYUd:­ÔÂhÖ9' g+ ž=Ò†'µ€ /·W8Cæ^µŽêVýñšÃ6¢¤—cK™””Rný,Ë %7¯e*­4J*‰äÎÎq™”çÜÊÊà|9²pŸ»*&üÂf ù,šUFC£@ÀÜD^'ýUæ1O®d#‘‹qq†u`[_]„F¸ûCR?…Qv@ì^_ÿ"r6¨ÏwðªbUŒuÕ5KQ3̧{þx™ívH$Ê CñŠUÚ|XÈØ^Éb2•jí‹¶ ½Ö‚feé}a9IÂNñ›Ÿôl« ueІÊaöN’þ/lô¦K%ûÃ÷ë‚ë1â»í‹ÓÉʪ<æ—T÷`æc±õÏ ìcâ¾in†4ŒÆ©u“«-‰5Ù¾â$•)ºÞˆ²ãñe"ˆn[5>ÔåSJÓ‹mÑ/• ßøáð+3%Ì«–i=‰£ïµ×·Â,<ÄßÀ³µËWŠ! Æ–CZ »¥hà„+b*Šæ¢ìybW/ôv8“ØDæ3uÞi*Éê©uù"³üýófüýsø-­âc/së$1RÈ4BÍýf$™Ž‘›µr=‚Â!‰»ìl˜ãÁî§[ÂM?WXB3wºAÔ‹ùf0åS&Ê>BCå‘lĢ앻}„z¯?pB´ÌRcâ9ŠX ʼTt|!­åˆ‰Å\ !Ò*ULÐÆœ;»ˆß`ãZíÔèš·¾¾Û[t"¥q1IŒU'PC›£(QÕg?8pdÜ.fôæ¼ÒËq¢ï*ç5Æ9ÈjÁ!ÎE…Ñ#™€Âò@g‘ë…™ü=H„˜ŒuüìÂËJZ £ä9TQB$±É乩 ¥bQ½Ô´ôdû—V7ªp’ê }ÑŽ"_`ME÷rlã à—=¹_ê š ŽB=H¬ôYNŸÇmg˜µ°r*V ¨~}kDK°2|g9t½¯jiRhâÊw{~¾"s75Žß"8ìIyƒ}¯e$Ӷا¥0ÿ¬ÔYÂÚzO/àK‹¿Š‹G‚L'î>§Ú‚|2^e=}e¬øLhE>“Cr QQ*ô—_;#æâ€•®V -k8YÈ&í݉yÖ,SìC’!ó˜éwõl"®ë´mö±û¥C@ÍÐb4lŸt£êp µ^ÌUç8˜SK1QÇÐÈ£»3f0 +@K¾þfÕÊfÏB3 :D™6ÚÏdŒï’³ÄU‘ Ÿ-Rñ¤,9gêFñV]}‰r›Ÿ!îR«“^ÚËK ›¨4róáÿ”!x±÷ݽ€5UxsFª0c¯(¢R2Ø è¢eÍ[„iÖ¨¤ƒY«¹Û'±lë]êW³óâ½­†(tØSù‘в܏ ot—N€/L4]K…ø ÷ߤÙnv ¤ãÇžo™>°\γ Bk‘Ž=ìE)‹y{´kwNM2=”¯×ùU®×”9uzÉÆ`‡@Źw DLñÚXœtLAžÃóe0Þ|`ŒÞÆ(¨ýêÄ_úÇ ©‰ƒ)¶+²a³êª-ñ²y Ÿ$!>þq‰ g KÐ0SÌ"Ë)îßË[ÿî¦sœ³ŽV½£DXó ¥ž_GÌ@.é¿>‰O{×çº$>ГB«}8Ú ]3œ^7gè'VÙM)*…²S…˜aÒïN¸†G6Z;›kf¡h ö"´wJeîÙô¸{1mVM˜~x#Or“Í€¯ Ê1úú_Ĩã5[e·feTiuѰçgVÂв\¼M4§¿SCm¡µŸ;ùÇ,xOÜþTÖ5¼I€á‚dçéÚ€X–]‘¤ì1 QœñœÊ Èø»ÅÂmÕËÞÙ„¿2¸j¹©§?¦-f\£þ³„•CÑÛè“G¡ÿNU|“ ï7aûÀû# ‚α·=’<©eôt°²©o0)Ân“çd‚ ¤ç‡¢0æ:‘ ar7A³÷g±ì³¯>aH¬ÞŽ÷>ûò1‘b ý¢°B5»ÿpU€gŒÀþ $j±6ÉÉyŽÀ— E Í)Uï:?˜|“c‹÷)n˜Í=ÇE7cRf®^‡¼‰H<©Yyƒ$a˜€g1[¶¼ÞÏ7"¸ZÞUS…Õúd0Hðªê‚6Y)æ†b„Ö]¬ŠÆÔø=”ú 2fÔÿl³šdº¡ì^=÷ù›¨šØP2uãÝ↲JËþ,Šzc¬{†,uéVçÑ=‡ƒ[Ô¡_.N¼„c'ü ù¾ÊŸ 6ð)ð,Û!ëûˆ{èo—ùŽy†â5О © >(Ï‘Àƒšþc›@£hÆ Uªš‰¡-âAÞ5?*‹Û³*Ù7È„(òïíJÀ©m5É-%!Ê™—ŠÖ0…–3iä )W¸jg{j:­:ž;z]¿Plþ‹``ˆH ç6x’P¥ä#ÉÔ_«6Lï?ª?=[*ù0,¡á°Ì$%Uj¼5Þ¿C1¹a÷y˜Ï ’V˜dœk¶ Ýô{’\ V„“gIE!§2ÉWEDT™Õ.»àCd-p()šv˜q;RÚ«ÄcOqޛ柱¥×Þn;^þIá`¤ÑÄœÛÒ`;vt|àÈFpJø/ [vÄ Î³|®ôÓÒÇ""}`çë‰:xâñr݃ƒÖlå9A“w3pmÉ‚ˆÀab_'‹–I‹œ( ïê­6úVxŒ¤$Á®[s*Ém£ IÒ‡o¿©‡Þ¶ p¸'xPÆ;ú®¢a~ Ï‰,¶²VäF‘/gi;¤€p4œé6'*pA<÷ê´´bžñ M<úOV¾,:3X+È¡ÊEièPšk 7@€¥^¿õõh•¢øVÓ¦IKràè¹­×ãò†ˆÏ€_?h4y߃"èp¿ÇÌ£IO&Q(°tä7ŽŒ7ª™ò *d ªs[‡Ý6⣤]-䱘Ì[r ¢B‘ Ž<3mlˆ|ÞÉK“? ‚lË:Få%ïaªG7ìßÔ|XoxÞŒ²ÊÿÉëHã }˜X[ý}p'ˆùÎÁÿ}Y7Û !üø‚³„c‰,Ñ+ò&ÖÄM>ÀÉ3 Hè– ‹í:F9t7f†¶·.Ø~=''w{_¸yV‚°¹ PbÊ#o²ZÊS¥«4“kVÍ2§:ÃÊ­8Ÿö†ùú.fï‚ÇMx©¬›?††+7NØ^ö*91ÑÙ]z7ᯧvÖíÁÞ^YÚ„*­ƒ“1e˹L}&•)ÑÿLhÞybŒ…¥5íeƒ­cI™t©f ¿N? 6`¦dãî%vðº1âæ3S´Âã«â`¼iõ¤¦¬‹Á‹—€Ù‘S‡â5”—ëŸ)ósý·ªbõ:ç ^–˜>t]¯µ;uoRõ€ôžß!²!ë÷ǬÄlÏbإꨙ9_ñOgéºîý0¶í+34fí¼jg/îØY§>ˆMßÈ™•²1ð¦E–ϕ߱)Z]¡Jˆ®%¢ùÊ<Éà ãƒÖQU2çÉCŠ%*{¿õœC',Åü¨BôQÀæ —g _Ga{ø¯†Æ¸óÛäÈ>ì¥Y58Ç|úbWÁ3žþ Š¦\m§ê=³P4 P{r†|­qÇ_,}Ã¥S2,ãGB3ˆgMà™œDD–‡Ê—ZóˆŠf•Þó% D‡/~c|¡œ‡”‡Ò±xrÒª@AÁj£À³B7KÑÈáG€ÅìW*;{šÜD°Ò2$»ó¬QbV8ʹo$ç6^^¨L²“໤‹¨:CÚË6Q"ÇÌòhû¢wäeàLQ‚}†ÜÕy1áÛ-õ¤CcÇí·÷9Skî5Ì´²«Â¼®_I Î×P—ÿb€`§»É^…â$û“:¡ghæ £ëTØ„%:à99h5t  UŒš^ñeýÖ!µÓj¶Ú;+’õFÐ"Ú@;éÏx(l*zDž@IT&:ºÈ áЦfà —9Ø–RW58ðÍ”½E²ü‘’]ë˜_/Ù?éõn÷Be¡Žô…}ÞuÍ[¨ÔÖQÆNŸ&Œõôë‚;b¾€:à"³×GNRØÞ%·<Ž,9LdsÕ6­Ö«Ñ ¿‡"AG‹<áô í¥Ïé/‘e@|¡Œ ågu61ýÙõ,ìËädz´NÐÚâÊ´Q©DÒóÑúÈϤ–ô4Ã*y!ä•Ãó¯ñáây;¦ÒÌË_  wý—Ô·ªŸ‚íY%´ˆ¥ÅElNÕ )¹ÒGá)¼Œø¡h´A|ŒºWj<û,Š(/ãÎÎ!ÖGC§ü!&kNôÁ§È¾Àå*âºà¬•ûpx;ûk7æÑ4e€žóüJù…dZ÷1é•ðj@ø%ÇR´4mî=v’Í߀×JåÎ «·võ÷‹çÚ˜Î8˜‰•—âò&Õš6¾¼6­ 4¶ª°—fQ×dÊÑQ~†wÄD¢žŒå&ßÕ­ó“sRøFºÔNìëG“bcñ3páùo®¶ˆï.*‰1\–¢ŸuÏ®;†v–©#‘9YÊôÕ¥ÿ”qÚXÔVzÝ–Ø¢ÅÎ/¿©¥{´Ñ¿5å׊#J#’ÔÂüØòˆ+9ƒ*ÇîÞ¤ …=Ö5lh @\üýú»22fQaø§Ss?Ç¢¸\•­)S~h (¼Á 0öU†ŒÇšã`Èú5ˆjʤ[| ùàstÇÙU¦›¦úŠO ˜oþÊÊ·Ýz¤–\œù â9\wªÖ啯™Y%ïöåÐL$übÓO‚yllì9V•F†¹<Ò þX³O3 N, jJzg2)è–ø– ™žè)¡E;áËå3£vÿ%ЬìÀHY¬œ‡hÄj3Zã²Þ |žz+ÐÉÔ…þX×9º¨G™ŒþL½ëã -½‰= _Eë6·‡J¦õ°Ó“d‘ƒ!#Ü¥\Ó|ÚF¿Ø$»øRÁ±Ã§³pÃ4Zß c7&˜œ7$M”ÐëA]ýs¥i”–>îj…U,DÈÔœ<êÏYÚ=)ÿ1Áo(ÕVèü)¥™†àØA(¸…â½4NH~³hØDx-â@ÿûŠFs_rë›f\€_º &p[MsÄ–¡ ‚ô:'5’𠶆?+z×VÁb´ÑRÓ³õŽ%_dž㧴d˜OvxôœÅÒɲ§’‰(×ßé‹·öû·&ê ¦0¢óM0²‚³>¬:&-¶ld:ÃjîëÅŠžYÄ1[emÍèídXz÷þ§x\>ßU¥òY;ýQñË ¸ZÀ<ó{|ª™X0¢{€?\ B=µ`†°NÅŠÿÜ5wVÖ2·CŒ½Ö›Ô¶Gñ4ñnƒŽa°BŒŠSäNòô{°¶µkˆùŠ='ÎqÜqà‘íw¡HÉOJDÁ|†QPdl\MæmÊB°Sì$&¡ÖÆ­åäà5ÕŸ&©â#LöRùIb½Rlä¹ ¦tÏ÷¹Z¤½ÅwÐj¢M¹9ä#ô9£ kÞ—ˆùeÅ°Žƒ8ï†åW&üdCõ4hªÊÓ„OÐkÞvl©'>þx±”UzŒê¿?1ø()²tnQãEÅßÁ×ë4ˆ¸‘t“¡i}Áp·7ûõúŒP0 ¨¤t‘ƒ¼š=qã¤Y.6ìg¾ºuPêE$ïD#S Ä•QŸÎi%—q‡VØn½³Õ³™(U-Ð¥ª\&%Ù"_B2†E#ýºø —Æ€YÄâ—æ ;%oœ/ðû ™¥<é§ó¸ ×Ò¤Ùêpe«_ñ|>ªÞ¼œ£(£uaGè"æ—(­A4¹Š³$ è6½N`éo7umœØFŽFó=cøVK!pè{#¶ÜT•Å…&Z¡w2Z¥ÆNVƒÉnØ+/áOõÍÚ Lé©”ˆÝ¢9ž®É{rÏî›_Ñ®…‘HÞœ iµ ÍŒyDQx‚;jr¯CtÛà#—Eÿ$BÕŽûJ XÔþİÈ[‚bV‘a…x÷$ËipT‚æŽ÷ª§*§ŽöIT—¹ìÎÁSÜ’,ÍôÔüŒXJÕ}ˆûˆµÇA:ÛôËtÍ7¬jPb¬<%Jj¯²é´6Õ˜ð€, d†í@•„üÆ]Š’»Fg„6¶&AÕÝE_ÄoTW'©3ͽç¯NÂâôdxë¨ùä#^ÀW`)_ 'oh2ü×\¨œÁÕMqGø@d‰ˆžR7DG#ºM°P‚ž°¥iѼŽÿ1Ñ*ø‚ dx /È#!ÿû üê™Ëßáü75|®‚ˆ7Ssô?ƒ›Ç²`oˆà ?!õ-Rþÿ$åœ$‹õí ÍÇ* ² ÌÆÀw¾ÞGNîçP·5!C5õžä•_bÓSfº]8›í(/m÷ä<Ãdv[µÛe*P%LÑ”/p…£…SP« ì÷p~N «í¼m/ Á¼X ’1­2G®úçò­dÃÄuµˆU^¹ÃS…1Áz¬%àvmqOƒvO˜.b¿y}5€P˜ÛŠ<¹‚|€ð…Ô‚»:[D-õïþuvŽGcxóCàIz«¢þÝGñ"QÂÍ n—]¾32tâgõ à㞆~Svæ]´N5k0X LdÅΊ@‹‹ ÆÖ±ï•zÚB$КÃ-SÚW„Qçô*%,½ %‰ ü:wV)RÚH†¨UÀ‹R鮯µ©ç‹Ðâ6AB?Ñ_~ý:Ñâ•/ÿŽÏ Â1Zi^„â—²m+%È­Äa\Ñð¿wHâ—ãiúhžc­äï¥ê‰]^,§Öâ{sÔ5š> u™f¨›¾sx³o)€Ö"0”‰r+ÖÞå½4|”-Í@ÖëPð{ñ*hBIz¾©5;wä æd¥}r'tŸÏÞøuVéò˜»•í.Û% °Œ±–ÇîˆÇT¼ך¹b• 2þý¯fÇÔ? Ò¢ÓõšY”sTÔrÜÆÊìë隆}¿Iûɶï¾üÃqª¹›ì³+ÚàrTÙ:ˆžßýPªÎ4d”ǪÍy,Œ¼å†…Ò%Ï_¸ö äҬʫpwùb°}úÏQ¯¸åO Mánîa^ÿ9¼„ðí$ÐKXÓ:ÈjAó~TôsXW<âQƒœ,yšŽâ ê7$MtYÄîšhzo¬c½¦N½˜ ‘øôŽy0¤q®©½Îô´¹íŽê¡¾¾šÍ®Àœº÷¹@©B§[Iï{§4AÔad4XÉ]K ô œµÁdÅ ÁÃMÇbË£ÿ‰6œdh)íPœ Õv€õ ÂÚ5~@M[b©,Åä‹ Lµ¨<LšÕö‰(zeûÑk§á¤âv³×±5×t°›ô†3žx)Ãà®{'y(~¹>ÎLðnÛÅšyüâÕÔ¯›Ö2T¥†zÚ¹Ï]j¹µ÷?³­¸n3™ëä„wòj”ô¬hÚÛÖŒ_ºKЛ%´‰p iºêA•IµT'O+—y®A9s=]q¨ °tÖ´6ÐIN:<ýGj_Ugæ ¯Á^sÇnTU[gH6|Ka9T×,ù’ åú!Å}'I5Š`ó'6–®ôð¼7vqp2 øÙü›¿Ç ·»õ]´Õ«Ï«…Æè7=ù(uÞntÍn‡aÂnkBΕ^E×ûU£wŽ&ä«Ó» ¹؉(1HQ ûNÊŠúÈÇRÝw51ž° ©mêŒøƒ/ÐFJt‘ížVÇÀ˜¾p²‚Ù$ï·ÍèÀÈ>a› FF~cÈ[ðŠ’hãi{ñ€“úOÆ0,k=FþC«DÓøÑ’Ô )íãE\³Ï“t˜fUk}v‰Õj2p±¬ŸlfÂvóˆšá¥X‘W{Xéãê `åWf` Üñ£’¡G¤"o„I(ýF´+ gA` ­½%f¤aBýýfQóau⯯¶½÷Ä‘dGüÂ0Z'‹…)fqhÞ÷Æ6Ý¢LÀ mtŒY<h¢p묯©~ìâÚ²1ÁH)HÊ4žNœÛÃßJ3àå€G’õË3l‡' îºõ,3bW9¦Rnè'–“Üz·ÈÑ<›¨›ëKSÕ¹H…´£cÄÒ‹ö’§õœ7þð.×­y²HÔä4çŽÜk”«g¶ÖQ:zÞê|Y䢩ÞìÕcŠMCÇìnw\x#üá…Õ·¸B¶¾‹¢/…§çIëÙ+£ô÷„V÷lÃë.%•Ý”ç S¤ˆKøÝÕÔó/Ôçç’·{ÔáRôá†ö±=ÞU“š8fÖ?•—aàjE‹¼é´ÚZX2€šXă³=°‘¾EˆêºÏʦ7Ú|<¿yBnâ  ” §Uß5„Ùè}×~æËE"¹å§ˆq§þ]o5ÅûÕX³i;«O ˜|ð »|ñŒ§jãDë¡Ë®zbfØržFvü,mEÝ~ÞBopdHÆþ½–! ‘¤hƼb€!†ù±€'}†]ßüAw©A™ÿ‡øÀ §ÚïB§mï­‡íÞò¡º*IÊâ¼®»u5¦. ° œ™Á¡M¾([Bïqãs—Hùõ¯°¿¥÷fÕW£f³¥ÖxºèYßCµÏ ÷¸;b pŸD zU ûkTH2 î,ͳddÒÓZRut»f_ÊFÁJy<ö¼:s«rWäD̶HšÖN&l-³5×y+» R_ÊžŸ\Ï5›æ¼:ªô'œÎåõ»±U!r³ªø-Y¬Õ.ƒUÝ׃k­ñÿòASJƪ‡Û†AðtŠ.ŸäøÅšÆ€JFy<;â5@+…Çž l;Vôê–šfÝ”9Æå^“ŽÓ"ˆ´Œ ”XaCÚøLê¾ëK›Š/*BOíÒ|ik¶§~FñèC‘ñóÊ­<§ÝbPwd°õù§å97 d‚Wh¢ÔêZ–g9vçx‡eªç¯uêž'ËlR‹ðþÞ®²8*íf“ήÙûŒ1ûRìùК)& EÄ·äVmÙWüQöÆ (ÙÑ£ò´s1Ùœ<^¥J¤úßÞ™¿(ÒÁN1·ÆdÁ¢¸NËt†PÊüþ6sþÃ@ˆÒÉfRý> fè9x»ð˜‘Ó/½%Q99rênÍH¸Çq#9´+O)¸”56ö0“öDþ‹»«º¦§zýR”ŸõªAŒuvµ$ân­?9 P]É <ž¿-Q˜O¾‹J¼o¬$(í©Côç2ïë3ñˆŸõô×~!ðžd±P°©à `1Ôd „FŒŠÚ•0±=¹Ýr¢^+dÄóRä›Þf3_Éusäœæm`“ªAƉÆÍà½ÍðÞAµ²Zä=x ÷¹©)üD+áàÉÓm·3Õa‘ÕÀÇÝ+E)Yw\wçŒ,Y„l¬Ñ5þ3W²KuÁ“bb×a#O=Æ=fi9ÜÌ(Áë¤&·f‰€e‘×Íå§•`,È:·kWØçÇ+Ö‡B7Œfš-í²—+‰~þŠðþO./ P÷÷îypí]}ÆÞÞ†„¡PAJìX/Æ®móñ3úm2 r®lú 1}UÃð(}Þ^k¯:1s“´RÌâb7¨»>±»æÅy°­rׯƒ]Mи î!™Og^ßÇ´YDy1®æQQ1£b¸¿'eÆv÷ÆñZŸâ§ãZfÒéšñ‡JäùÛé§æÕG÷üC¨½¶»@'”™_›ñóZ6¾XG4Õ>wÊ냘,å½ðgf<Íùh<0½½DdF¼y€å9KT óP]‘UÄ©®¬‰:øhŠ$êöJUæÛ³ú…ÖíÉMn‘<­_æAb~Dv?Þ­§·›¶d#£¯§®®@Öêk…løžx¾¼ÀùR°Ö߆#J³½®t6ýµ¯ÛÚO¦Og}hÃû»#?}á´?Iåf“AE}¸JƒؘLÑÔ­øÇ‘;É8¡Gq§#Pä…ñ¬Ég_R§? ©Ñ`} S·§|Ý­sÜ}uk °ªp•ÍäÛd Ç¿}­ƒ<â³Ðh+ÿG¥ðt`œ~ב¢_'f}å9!?Qh5âðg€C´‚%e¬|)™0-þ‰ 4hiÏ:©]þ™!é ÔÚ]­n~UêÏ5w`FÚ}2½Ž÷cõNR<¥ï…}d?·ºë—’D~Ù& ? …÷Cî C¨ æÉRÙ sÌ ùV¹¹ve“º#½¶h@Sr9o3aêF 8zO)Ou–°.;Ú…7Cgßh«ÊVÎÐ`÷Ú´pF‰MG[Ùz7œ(™9N%@E—œ=3jòŸ DßO¬2ßm—)Ÿ:HpèÅŠ)gïZÃa‚Ñþð õ©Deªò´ìçÞZh@t—RD` 65èÑÆÆ£›zRˆ˜ /§MBÎJ-b‚v ÅÚ›0Vù[Ú$¯³ó‚‡@••Hø5š>WÔ+Ж¾ëó$ô­ïs=8MsÕHénÐYÎLK×–5”ÄgãH×°¡¬w—i¥Òwµ¬nM÷w?¨Ó¯ZnŸ7>j<æsɉ„o$J¾ó¦¢(b}tÃq~mîYÿUÒ¸NM¿tD¡/Ó=õ‡Bt8IëVªð*öan”û@±”3B…žýצnÊÖB“dϪÆq)). ý`óZ•© PëÁèTŒ§{ÿ™h¤ ›Í¨ýޜóÑÎæµ›bõÒ–ß&ÌÊâ^Àýš<½ôÆŸV;ìµzó&Cîñ\‰PóëD2|-/Òê”bC%ÞÜÇUhÖª—/¾,¦K+8dg¨ÄBÌÃ.Ø p×ðô¾Ròö Î:ž(ê =4"@:Ì”x%*ANrZ§íÙâ’G+Õµºaàˆ‡t7Ÿ#~KBFd\q?(Ö3A+y$)ÿ8¯G߈¶É.Ì^›ÃÇgc&=å ÀXîD˦¬­fÛ¡y©Ü‘º=¾¦1œòzået›ôp6öä–¸ÝR˜~pÖì¥û¦«hž‡Xí²ŠÊ´j ëJ}v…Ä6§¡…Ó þÇz¹L ×Ë@«ô˜T‘•¶¯«GC÷é‚ yFx_Ùi/MC)¨yŒ~»'åô¦¾¦õƒêœ»û~·ši¾Îiž£Mµ‚'ùŽ)x¤û¿öœ˜Ñ‹åÉ|ö •S"=vTô¦H^Iªe2Õiwñ¼^³·Q¯PÈs™‚(4%î»òQœÃ#x¨õÜ‘É͸û=TQo’õFùj{ciÊYóÄédÀ†LËõ B(_ô1{½Ð©"Âê¾Dâ9Dåwå!ø¢ h<‰P¶ ã™ç-‚¬A‰gŽ_w(ñUSÒµ*Ãk&iF­p³ q÷.f!p—†Kè´ÏÇ$P%¨î’ ÛÙ=ôJ}gÎñ£¾/ ù%¹7¼pKá¼D–ö–‹þRïÆ \þßâÔ"øŒY8EOov)55‹™>3©;,åá,VÛ­÷óQióÿp®´®¨[ÿ^}m¢³ï“Ìoÿ*ħ(‘ÿÉÅÇn¹3ÄŸqgçy}¦Ž”öU©³{Ðu|—OËÆðëOôª 0ý`8Fúè¶ža»¼½,âÝå 8ìfj$B^7ôªÑÈ@âï‹N@’šç yNX‚é÷i%¼‡ÊÂnÕH #â¨$¹ìUU[š`Ø0È)-^`qõ³ÓÝKž'Ó 3”Œ—öNdå] é:<@?ÄP²i½‰âJY Â '’ðí~5@ ÀHUüÇÄç÷Îc9õß=Ô¸¹&*ìÃg…‡|Áíl–ßÜáq›x˜Ï[Z< Ú©F­š;q€È"h¢1=Ul®ÃmG]ø¿¯Á¥NÚ…NUW ’•W”þjušÕOXѩ٩CQϦ&NzÆß~®¤À˜ •™õ”i1@ÿ]iëŠdå_–Øw‹y^6Ših©w:ΜeB )w†¼ä B–Þ»±ÍH‚fR ªÚ$ë-o·}žõâãp»­È˜níòE‹K> P©Ö€Ê*Yü#¯#ˆ·†»¿(¨ÓWp¼@œjwjÆuÙÜÑpCø2>!©æÒ»Hg꿯m‹ q±ìL{ð%Âà9òjÍ UÃB‹}<“BòŽÈn"ãªð$pó¸ù!piRr$¥Û"êiÜv¶$ñ–/’×ËŠf5ÙÑÄ>bLyÜ™âÛ15Á”.µ¹¡ú9Vj$tb0ʧßè˜sº3E¡}¥7mÝ–.©ç¼$0¨˜˜ÎÂLÝ\7UÆ5ÜÌ*ÞÌ;N„z}Ú=Ô°©’é" J“ðæªIF”²I=#ã´D8ÜÒ¶p±s£…ýO»gGrØ ª2o–žgÕœÕv“{r2^&=¾9á‹ËÂ1ùK¸§¸å8nÕû¹ŒuŠbq G…Ä&'ÄýðøbîJ>7J|J‰[•“–n¯YÄu¯úŸþ«ó÷@3}Åfû5S"¹Šö+˜O ‘9é \T8ëÝgÁ>ßbÙ<êUbz>C„·ÚxL.‰³Ÿm*`Œ¢zA¨mÁ‚À|²ñ©WÄöÒ‹žn,|øëÇ¿Y?7y)g[næ]ååólw¢†:YÑÓëþ †à>õ Ãå¦Ëý-Û3‘ZA™Ûü(YiݯÖ,¹ÖÀ >zÚi¤£É·›tcw§Ö‹×}NGúbìÚŸBØ~?ÆÁ#É]±ˆ©Ÿ­ÍN,kh)ßú][Åê*%¯-y·M]ô´EWxÚW=úäú½6¶öŽ<€8Ö #&wÏEyàš91µ&"›1¢EŠ ¾4ËÂ| h–.{`ez©u â¦È.}=<G˜X:fˆÈð™H ŒýºÐ_ Ô Á™šº–ªÒFUÇN8ÂÏ’2n`@s¥o£ÍdÖ‡T2Q]/ÑÎ!01{-QœÉ ‡m2,Óùx•:Ì5lMX·GÿåI;Çe@RJæ"ìSãá[Ñjö²¢b‡ÓS¶jz ^¼V«ä‘Tþ¢Ufèÿôå6¦âÍÚt¦S d]瀽ÀñTҰijKòv‘ŠoO¶[®T.Ñól­¨°î >ªgÐ^S0¡¬'Ú¬J5$3Ÿû7n²k[Vhoÿn׳!8“2ð €Û k³ ¡Â¿pÏÓ/º·í À‡lÎ’ù€Ê³Þ;aUs¥Æ ù·¨é É5ò‡×JÜ1MÑH]†jZã[¾L®W’ô/7çܲÇêp£8žG÷FfO)ß™÷}ÐÀ³7EˆIß„Ïò)É!β`Û Ú½%-•gTg:“;EʇÿëöÅ ¼#CsQÕC”¡¼äÈwëöÖ³S_)Üz‰ô<æÁq—åPO®2¶fÆ=UdâúÛ®M‹ãÕÈQÆ!n½NyÂç.VXà?KR¬6ú]: ì3Œ*êFÿynâv«d‘2ÃüÈpd‰ñEG¿\Æœ,ˆ“r¨­ðmt4»Û 1ùp­Úf&13ÌU´$ÊGâGn7UL“{¤€~C|–bÕU6ñS BÍÑ,^<&«\ áL²’DqaªÕ9K¸q*ûiÕÙWE#ÑeÒØ&$õRG4­+–Dƒë_HŒÊpnµ§‡|Æèmá+”UÇ*h<ÕÐ#Ý(yœû3Ï|„æ¶h~‰c£˜<ŠÞ樕?>esÄé*"UÏ¥ÐWÉçðÜ ÝH¢Ö·{wYxë°†««…wxûj]Vx3J£¿ Œ ;ÂrIÖ ÈŽy—©¬‡òV<íÚ…RF§½Ð³3·^ÖÓ X´$bfÁ‡9(û óVð—³UTâ×ßL!%…Åú¿é›¸[÷ßàðñm˜_ùºrc3鯥ytŽS2^¬j(#"·PÁ{¸)Í6uä Í‡{*~Ž¢-—ãQ™½T§Ô‘ñ-ð©cg^¤·¼(«´C™Ì˜™-6Á.ÌkwŽuÏ–rväù©^­×çI6ã²óE».ÐD’)'À¾h|ÞI¼le~~" µÛ …Ö‰ŒD]±f Åw½R!ŽUšßÍ=ALPÖ—àƒm9Ñâ|2…\ˆT}„¦þ<4˜ÛìNŸÛŽ|Z:1¦ÉZa¯ªQ×oŸŠ J’g\äeŸmkï·°­&¶[¥EbRÔ3Õ¥pÜux q‹EÅð(»0)íóµr)kÓÀ «¼Õ]mÿAQÔÓuîKãƒ+¦I…5Cý‘C2¡PùS…Üžw­Ù¼‡÷`]©>‡sFö>ã Öö«c¡y´oúû¦üÜî’žá©ãA§Ð+J-F&>ns¯Ä…\Ĩ·´¦:q\§»ìÚØî`Ú¨wGôìÓ’è·~3ë ¢xº¢óÖìh(U>+Í WqÞ'_r~×eö"žwõîa¹7B,1òÌŽê7  Ø7iƒç¤CJîì›'J®f¤`È]ypACus€eõ}~TX¦IWycÒH4(LÏÆ/½éhÊób* Br«¹×"hb…g õ|í9¥x}´îÖ<ìxÙ‹VÊj ¾ÃCK1Bíþ¿¼•*’ aè½<¬]ð¥ÖÆã…ÉL‹LQ?è¿) c7XZeР•3ž¥¦D ­5G«J ÜÈ×iFÆÙY{¨uzM@eæÇë›+LòS ÚLÏUêJ;} Ÿ¹Ö3Ïe'埰ÛÀçÓÄ7¤‡ÛÀÃk±Íub-d{:c  –"ÿŠų#Å¥ØTÔ¦c“íè÷ÞÂÿ¿4¬ç;öï³¥JÒ¨­z99A†¡ø}™®+<ÞN¢üg¬ÇÁÙ']ŽjH_Tü˜Ú³ðNrÖ*ú¤‡FFpÀ×0³­Wò¨MÛéÙx¯÷”IR1“×7S@)ðyÇ&êr;q­³’3YÆDRƒŽ §)]ïç#R͹é^>ä—±ˆN©,ÇÔ¤© ™åhEÚØ.V²0R±Ÿ¢te%ãƶq·ðT€ž`ó™HžCR_ÀrcÞE­‘£)WtKÂ@ô1+G×ò0ÌS!ÿìÖ…DT¾=_)`ßë¸ü£:4,Úi‡øëÉ»cLäwû0Ö¡°üqcßÝås58¿âŠq|Âz1m»ð,mïÓÞ;’Â¥C(p-¦|£¦t÷c¿S”õ(f#ù„*_‚–ëçî42íÊ‘±¤Äû ä0¡ú,#Yl!·‹ðéD,‚øFÎ! H1—²ÌùºL"¿Ùïã¼á6æ"utÇ9f–ƒÝõ…wFtr«–×ƒŽ¼ýÛÌ“«”ÜÍzy¿ãµ©}Š“õŒ{‘òÚʇEê ³‘ iq½Ç][möÔéC*ˆ{£—^žÈXäf îva@Î/c µ$-nòúd²ë+u(³Ï,øBEv˜SL;Õ–3eÄ-¬yŽý—óYÀÿé”Üa‘ÇnñFêsü¬ÓO¢¸Hfeƒ.èŸp=­ZérÜk,L±5®øÛ•΋Ѭ¤sÖ«Ëe;Æ0žP ÿ {ЋD‚fÏÿ0HµÉ#ù±7>ŠôQÁ†¢lÕæ5¸¹o9Ÿ6“ŸŒ2]qUöènG=Üï°ÆY*hUèàq­SðÔ@‚<ÊØÒÚ‹£È;†’Ù4[$³îWÀù ¸°m%ýg·¥D ; ¸#îùH7ôU:æC_påÕYfê¥òí{€6Ûl Q¨—ã`Eé\%_ÿ‡.ÕÔÈÉ8äUÜœ`ta|ü£;7Ë&§è®t%9éßõŒ:Ä"Ôp ­3…\.á©‘îŸY Áá…9M˜U7.6ÜB¨úTSdZSò0§_) P1¢zów~«­¼š>ðÓvWäŠKLKv©ä©ä'f“‹ðgêikëˆOmÄ üùɹ#O¥á·3ø5ÿÌ ±×yÈ)jµM‡R`¹}!·`bQ?ê³p¦ÿ\åû JòϨ¹0–\àjòÿšE m’Žˆºtòà=¡¡4ø Qîe'C¹WØf•Õpª9|9¼|eÃç0ÕËí0ü«UÃ,wŸx¾]ù`¶8½)cå q´äní{P¥›?´ƒÊ°­ÖÃÈÑúŒuo) 2ø ÃV6÷úØëxnˆx¶Í‡“rÆ\Å.GB)¦+=kY”õ®Š(Q‰"R‡ þ½xgðn" ÷ßY§w]\d÷%wYyú4 ÜCÇŸºç¾Ï)ö¬}“—ë´„µÀ1ðÄ· sS‡dœÍLˆ cO£Þ_ÆðÔ#:Ù"x$Óˆ–b$¸Câj_Ð^»ÜÇ^îI¼Y¡Ç¾o^­µz¶d1‰{7îà&LņOîùÖ½;Z¸£ùîŽÉ“1Ó}l¥ÍÆ$²úªñ½•¾œ†‡c"Kâ0ÚõO×€ø„ðtÖ7dÞ·žÉÒX a—Œš£ÀEJ²1âšy= Îã•ct¹ÌÑ|2iE®Ý“âç†h‘ujt/’õ([òAÅ%-j¢vGαºÂ!Mßq³§ÛB°3«íÖˆñ“O:d¿ég+4y÷9ƒwãRm¿çjyÓw(”)Ç6)5(×w×¹}Èh5<˩И³˜Fúq T ö*zîD7¯Øø‘`àŽÆàɜҦL•5òbî{]‰Ð—jñ·g{ï ÷ø7M^äßâ Ä?r«4õ "lo÷9áyì-»~(È™ýÑ(".<ÐE¬ÕN£1Í¡tÔº¨õ[VM…°Â'²â*Ó,˜¿j/_'aYéí5}^ÙâŒë·´šPÖ­,¿}Šå/T'+ ò9•PlzÉ?b·|§|b¨5–ýG ÅÚÙd¯W;ú¯Í¿ rÛæ ™Tû<Ú4Ëïb,ï³ì¿LOÅP«åô^ l>*ðeÛŒpœð!>»â[¶´qÅ8 ÆP¬«øw²¢”³–³ÅÌ'üð±(¢¬L$Á‡ õ÷¢¬âjZèbóã‚…Rub{Pð‰j lÛ‘‚M5þH™¼ÑÆañÏlÔÒy~êoFòЄõAD`±zkÅÞõà²8Ì4ó”Oýü²±zÖ ¿ ¹[¬)Œ‚&à= µT;JÍתh@{1D®+8^Åk pÖ;áDȃ›B£ùíküwªþ<×CÇ— û”¼–˱'𒦩õ¾¨Í*ã^?çM™s ‰°±í¹Íd©o÷}ô¿¥Ó…Ïż¶w´ —<î ˜xvÜe^óšˆHæU}rì÷Ö3@jãƒA”oZ2=§=ÆMƒÂŸÃí/‚|d–´Pûþ˜új×ç²–ø2wPA½<³š¾Ï¡@¼›î×’4L¼¼7P½ÃÙFRY¡Cço kÔ¿GlŒáðª×´™Ú0¡Ë)›˜‰QÐ$;0b`½ã ‚Àl»-=x \ñåœò‹ ÑùÔõf¨ ¾S¥°šÉз¬ö3C(eâxòñ'×¾ÇL¾TøcîXàl‘ni©Nÿb®2-”):þ¥½`#^Û8¥%æºU¦µ¨@…u*|ægin5´týv»¾l %Š#ÙñÜSs†"Üè¢ði]\{Úìå&2^þê/Cû5qŠ‹®ÞÓ íUáŒïý?jPdàf©“‰ç˜­|b­ìßY ó‰þh*ެ1¸.Ákwkc(ë=: …¯µeŽ?ûsG´0{ónÙ €tëÅÖ’‚ù¼\ùÀ¡Åh„”Y äß^»ÛÉGGg1ÈoµÑE€–s9?{?JéI dáe¶Xˆ0§›êh…Òb X4(wÑJŸOâkÐÐߘõâ@W‰nçÙÂ/]ŸHß‹ÔT¡ƒ’žÇ}ExHGF–µ&ªL×[_h¶Hß*5æ©ß€Ù¨!p쫉\ì_[޼uðãqy8QÚûØ`î w£‚ÜÜk¥­·x öÒ.Gg›²Œ[YOPN+ÍâXiÑ8°µøÝy¿«ç^ôÙ=ñÎ3Ï hB8ö\»8Tp [âÅ/ïáøÇ›ö@D7ÞÔnG&ò2†)}™o$¨ð㋈€Öu^‚ídWmwÇ]Ð µc:ƒkñ^‹g6S–,á3 UÉ5‘Ãà-–ÁhýpÀÈ)ŽgNŸ¾HãÆª/'!ËáhÓ‹NQítØo«/=ŸPøC8ßBÉ€…üx5϶=¶*`#ô¯|ây0û +‹­×n+5ÁaQÚ)%E,c ²íˆ¢Âº¾lH‹©æÙ®#B1õsŸ[Ex zê‹z…)—äÊ<3[û)Ô £®f®ÇA¼ BbòÂÿ×Y¤¹’TM²ü„ Û±Åìa€(°4,e¬;y“²@NJ¾DclOúHÞDäÙ£Xw×Ó$?Ĉ5޼ÙiÍ÷UC>É‹ëR£&ÔnöbŠ «2‰¹Y€§Ø?+§WNHŠv1•ûm6«¯ìom i‹U,'(ña³C?¹"™ÛVôî«)ðÄp\Ô˜[(Ôâz]±H¿ÚË¡µ}@ª?—'‹u –"}éF½ÕäcÎ6½X×Èþ@õ7Ze†÷ †Óe.,‚R@@½W®Ÿ·óÄö~oY@O‘‡‰ÄÞ!½~O/£/zc|ÈâëB'YA‰”¾Äâ+©ðÄ_åÉ5ÄîÌ'O˜@x£¶ãµŒ’ =˜”µüŽ„|Ъþ2D霒›%}¨Àª2‚Á#6›1ê{ýhaÚ…ÔJu3^/ ˆ©³ ís§Š³öa+õ ªîºÞ;Ñn^ãÈc~ƒ¦¸( {ÁÚ.Ÿ¨VScð£¼x˜(K#ÁCxxú2éV•[u³­ÂPÊM2Ľ, Ù"$„5AIŠ\U RßhŒÛOiÿ&y#FafªX?ê:_`äSk„•-Ü$åAd¼¹ÌT}9qk‡.ǣ싥§'÷´uxÎešÑ4x æ5 2e˜IÈѩԃqPPõ.˜À‹{r/2M O …œu¼B,Ì“M#ß'ÿ)ù¨cÁa¤cI×ÙsoC£§C0ÄË Ÿse1Úþ˜v‡ŠÓòü›Há°Ôµñºxß j¸áŠÄZùRg¦!Át¾Lì:Χ­Åˆ¢âyqYúmŒ†?Òò:Ú¥ÅYúà0Ôxä_ÎÕ¿‚úÌß->á]¨ÅÍåˆS­J0ïÖ#Õ°a^üÐIÁD˜´nH/?ÀC[˜ÆÐÌÿ=FJ‰è”½mÊXMŸ£PÎ ¬ª›¹ƒÍÞ6ص´ ÌÆ !žë}/š8ÿ£Eqy°$·– èj^7fŰâVh{ük«¶0fê¤ÔYí[L.‚ÿøyJ¾h@|ÊÓL×=07¶Ë=œXxï|RÌkÌËéCc§Y¾³öÞ½5­V£Ã gEÇœr—š*L^QYyµI û#Ôÿ;OACêØÃ÷?‘2´ApBg­ƒÁ•àw~‘9ëÖÑ÷PŽ‘ÞÖ:zâ°4aš?€Ô[õ5@¢¥$Ù ð¦cåë‹”z/“U>V|‚Ö =uuui}šñ¼_˯­ý¤F$•òZn.Á½S¾óX4¬.6™/¸­æz«QÌ€,ZÚ ¹Ceµæ‚sßžH%¶QöC¿ÂŒ„ÌaSAŠ{ønN±ïy—ØÛÆ© ª4Ñó!¶^@Ñ…¦ ^tXR}•·« w7â{(}äýæÿ9[|W¡mÄXxùô÷\ž.î’Æ?2| ÙâלU7>á‰Ë•Ǻ:%õîŠ>æz.Ö}.&a„¡´mc„Á…i†Ú Û}þ1ÛÄÞhüD—7§#‡H:èŽq{}ekšt/C¾¶’€¨ð¿Ä-¬¦AV¥,…Äo'`¾®•& o¬ÖÑ‹»¶‹Æ£Kø0ýøÑ™U¤WSKXÝ´€t©×ñ¤tÇ8~*ؤi·ÃIó±k¤ £7nÕNÕZZ”†¾‘f¿(š?ÂTÄ"í*뮉ècþžf0øVd>‘ÔçýXt—ÌÌþ>sê!žCùs)3Ký,Õ_&ò–ãco²Ý5ÓþX"tóã^T¿ð’„ç¤xÕǩܼGêG¡©ñA¿Nqu³FÆÄ8bžÅ¦ÈÛeøÈÅþȬa×Ðy0'ÚÓëÉOh&)åÐMmx5sUC7ºXVÞàÐ0~4ÕÝ—9;3æÓBoñŒœ$ûÓŽ€zÇîœêÀÇ‚.yב“¼¸xÅîà .}³W\ê_uo ô?ùÛb°d?øfñŒ€®5 ‹>8{F–}Ê2TÕ‡éír`Â|ϨQð7’¤h^Þ¿H‹“0 †%¨Ÿú­,ñ%ÑÎ3CÒ˜YÄ jXЬZØ {=æ*@u}ï ÃIñ1x¾³ÉDW*;¸`,÷æŸ ™1¸Àþ瘪þêl:ÞÛýXUÒrF2F^¸d–-6|²åe=wfj l³sB¸~}ŸIÔåÎjÆ–#…ä¤(–D-ËIgÊ’Ø¿§£P³!%ÔýàÛÒ/-À,C•V^¼lÿ£o FîRXP>«ƒ»cÆãž(‡H6¥~ ÁÕ)M3~’€ùj[œAçq‰ëê©°a÷aϰ–ÑÕ¢üÅþ–„qJ98wbÁr*O¦Ÿ]hù|Þ)õÏ$vâS†®šýâäëêç^׿¬¦¶×ÄX™Ü«Gum^í4í”Na|k®:aaæ6Râ=U=`°à’gtoÑ»¦*•R´ÎwK*,µ…®™Žu„ÆrŒY*R*§6”Ô”/a>ÕÎM?IîÚy Nù“ÂBì‘‘úÑ–‘š¿;÷ µzU„ Eí@˜‹†‡èN¤Ø ²SÜ#Í­£:Õã]pÍ»? s-JaÇb&è°yâAÚ|äÿ +„ óàwvTÙ©}o,>úИ.¸•«<Ô㘟bìñDÔfë%Ê1 ; 熌k„…¦#À>íÑŒqÂrÐÍMM•YÒšTˆ˯úl©¢‚¤_YKk5L?Ép*ãƒ1udðXzÉã9͜Ѿ 7/{¹–g'LˆÖ¢›œß7ªKÝÐ/@+7ÙÏa’ݪN˜c_Ý3IöŸ}Ì—i§Ê‹ –­iI ´xO@{S´©U²˜ÆßF rÖóÇ45ì‡+¯ÎAºÙ­s[Yë_SgkWµ“»w;/ÑÍx±Fx<%7ý•kÌb<®˜BÔfuq~fi™ÑÝr DÇ@ûÊÀ˜¨¸ª":H¨|ÚÑ|!4#CJž9Œ|Q$[>ÔÛçØA6¯d»"‰ÓK] àêfçìUéί׋¡,»ÓmYµÈx˜ðÓ?µXy¿ð×Ãü$ÀPxTL çæ…R9€PÖŽJæS $—¸Ãæqq’YÞU6˜§êúÔ±-¡û«§ÙK1Õ±„Òìžøú"xCã…õíM²°ì¯RR¦Sæ‚Ë‘ùî*%crz¯™J¿_°;’ànÃ~†Åç¶ fÙ·xùþRXgq…Ë×R)4âGá%ÕÆ´µø!êÒ¾ì‚îÆâ·Á—å2q¸ÕÅo^Q¾ýû×´/=kد/É …êÃÝ@n6p/ç´JÛ‘Š‹a× ¶æ÷£ôŽ íÍ2F#P·ò¡W¹cUP­¼eÙD\KæJ­lU¸½Q~—Ãs½qÂüxžÐÙ ¿ ÞuØ·ÓÖðçÙ7$ÈIÈJ]ðŸ0‚‰a¼ØXæE8Ä9Z«dzðœ¢v†r˜Ú ö[šZäš03’– á‰€@¯?Â:R›YOk“”O\Ëh‹õÁª.¡YS?£õÍùg:Ùkܵ9Óü·zպꆇPù±Å¾P'ëøO!ˆôMy§BçšØcÒ¼:’R™º' ‹´¨“k‚SRÊEø©D ©ú±Ÿ_vÊ«rš)eÅrXeã–ˆÏ 5ЌҲ3P™G7>5gBÂ’^ÁX¤CÑ8¾D7º'h›ü_}†ÚEOÜnf!;˜îº%ô!Ô]’–¦ÏQ_ª,ŽF:*om5®a\~°q˜BÅs¹IS ,±ä»3’2b=í oåD”K—ÇYÒÇ»)1²hdþk¼±_ºìh)½²qPëýT¶‰±TuÈR¸Ÿ?±-:Uä&dÓØ–b#-€mÑ^'ׇnt±S¶0Ú…m %Ä9gi¨6.$özX sEoešÆßùžÜÜ,ýÓƒ C.yÎÙfÓ7JèFA=ö¤÷wé^#v•òømŒ°ÄP¬u?ê—bw–~•'ïÇüd'¼Ê8⎥Û“& º—-j'•ØÖ»gé tIzf<·1ÔÓêï ÕÉÜ~Qʘ™Ò+5 Vgf/OŠ´èC¬Š L÷ˆ&isôø;þZh°(c}J)Œ¸sJžÌw$“#+þ‰þáIüsÁ‘äbx—¹:ŽpÑ1€F„/“®…à´ƒ"U¹èü÷†…­ºçÎ7XrQ¸bY”/ñª²’(¢ü«ÂÀ<%÷ƈ}º ¾ß _M™qE !fg ˆ<  ûdt×%3?öä.ß–‹gýt: R¸Ä¡ÎC«tˆ®H¢Þ "úä3ÿŒdl(¥ —Bö4o§;¸ƒæ—ƒòsË+ý V@Í&„ÞJ<=y‘ 0ÄÓ|þFªÇ$¡ö­ý]ýWõ¼á6WçúÄ]zUüŒs8‰÷ÑÙ6wß»JJþ×ÕÜéGÔ ¡šg†;î…p£i¢ÉýDÐÆ³>T²ðŸq!«oôIð³T¨Í:‹L°6N€:l$EžS&=|_Ô¤Í |ÿ`…¢æba}óZý¥Eý|kM4·Ìâ±ôüíüVäè†}p0ê¾V—æUÐh²1èÃ'SizË\óåÑNĪ!™/[ŸÀ.EhT‘$ÍòoûZRÜÏ7éÒjî!!eyÓ¨x`Ÿ- é ŒÄÜB3µÈy Z”aÀGYˆ£¹›ii‰Q^­ÌÀêÆÓ‘=e¾±ý¾rØÛ5_på‘ÿž[àÂIBŸ·öŠ?±EI!ÜXÌtOäe8Q&ÙÜó(¿sg˜'ÈšUïÄÓì¼åOÓ¸°fp,¼Æ îË×42G3àp¥‡Uƒ’tØ:Öšù ¡ÙD$àÃûHûÎ’] ^õ¤þQâ̆Ìò¢i8ÎóXRˆY®Û5Ç–ÜF|—”Æ ÑñëÓg®­.ÖóQß­ÆMÒÜ%»æQÖ'cŠDYœ,¿ l\xбËë2‡ ºÖ<ÕÆ@`ÿ˜•BMîúÙÍA7Añ¸‹´Mžûδÿ4OÌÞ f9t<;‘œ¥Ôhà!=¤óò-+Éeþº)èPì é@#7)L‰;8=„R7. ÝG={Ž€a ª!Ϲ{*¯ùca[ý¿V v‚ G–Ë¥1¶á×¶¡[šÆ)’.ßÛoŽ1¾ÃÙÓœÀû.)®„@·´1›÷é¥gâF"DÏýfZw<]à}çA°Úx/›„#gîmûXW8þB¿ðý6í¢nVܶðZrÙ¿øZ%Le„pP§Q•?¬„âV(€{Ú×U¼–mâÁœ!M®ÑV­,–kÝI/'L˜ò˧ªœ,foÃMöGè`]ÄçÓ~ÑŒµp ûZ¬j í¶Ž‹ôLæZO7ò7! bî1²/^óÙ,&£H ý3XJŽåÍä½}¨Î4íôÁS¥~{ÒØ·újOÊ©Îq3É. U/O«óϲ¢£éÊ$«³V£/“¯øš çX-4°á¡+ª`96!Oã!ÂÀtÖ+lìd$ v²©´CÄŸø¿ š±lˆ2©ÏsÚ‚ñÙrå|Í|ƒØ­‡Äp(=ÁÜ;óM®Žb–ç’iɱ›üI¸Ó3“ëA-é õÂJX-W$¿ÑYQ=Ùf±ýËÓ?:†;÷¤î)¿q®–>"küˆ£7Þý3…QŸjÐbÁdÉè„Ã&ièßVyÃ2pa£ÊÏÝʼnJ#æÏÍò°Ëaéì·¼ÙIO:× I•ô·xIüʬܙêç £iÀNÝ^æiEÕ½Û´VÑ»¾r~\[+–‰}+~¬qþÛ‡ÌùôªÌ.ìþ€ˆ\s¤,öñ¬‡Ó±ËÏØô·lÐÞªi ¶ 5¦£ÎDÔŧ˽tâÇåƒ2ﮪX ÂHf',&È *AÖ%G%ß 5]“…ZÔ-½{x9)É­BÕiá™9ð±ÝÕ—7ò¥J6ù´¢›Bž]1ÏÜ}úA VA«®žÞÓ bÃe-rm'–ï“|äâ­/—=X £…²X¼ÖËsEV¦ª 2Ý/»ÖáBôqèƒ>‘˜GPûã•›«å‹g\`ïcÊí¤{Fª­€§=1¹3lV ¤ý楤=Ô´Î%‘ξ4ÎÇ¥5p9—½ösv"`шa6[v é»7ŸÈvݬ+ÉXÞ]±3·æ¹X ÞÛÊ!ŠÐN±û'¾–2 G’Úd>ÉöÄ¡ÅX"Á(Ékrí¯KÊe¤´'X;¨°8@»ud½'™bâží‚£MZ´ƒ£é¬8˜ÕÿçXɳq|Ó¦ó´PÀ}”°çý­þàšš'ÑZ—þùØJ¦pÕÛ^Èád!º›V»í¤‘ÆÜ%Ù©ÿ/H«êέbR×%£©½¥K-áiQF»¸w¿É·YlÝn;• _Ý#ÄõcíÈ=ž¸!Ú°ÿË÷Îq›Ü†ÆO¨Ê¬®Þû"üb¦>éü[šî!øØAÙѾ†ØÊ^àñ F]íð=^@îG—ÿç—Hÿµã¥ ÔÍ*qá#j{tæo!K^™Jr=œ9°¨zh}»ª9jÔœ7’ép?!ê1ª¾Å‹õ:¼‡SÂÓÁ-ü¨LÒñxÙKW©2ÎCIÉLÊèu™¯¯Ê»7j¢¤˜^mëz¼ŒØûZÐùVìåçõs˜v¸ò”œAm;I®ÝcÔƒ@ø¡uiÛ–Í–å-U´ô˜\²# oVzc#„\Á æá˜•Ãá)¸ _&¹‘ò#“c\á/ÊÈ9O‡M’L^¥)ŸžÞªq—P:÷ẄÍñ«‘(5UÓ¾?!2¹ÿs99Ö@.ž3*?ï»ð–O±Ã»%,RƒÕùÚÈ1Ckà›åºiÅ„€¬¤>çð¡…¤> bÊPyÔR™pÁŠW¿Öø¶W<Á(<%3R¥ Àô8€ñDB(êß8"c'üC6r/Ç;n(8mÈD£>kWR.¹ýCEM¤¹VÓm±³5óc½Æ{^í-¡;m©V’“²áBÐXÿœgè‚b„ç˜Ã‰}¨U ,§¿ÚMë4âåxC–æ^9Q£7$Z(_k:]åƒÛVïÏÆSƧœPTãF¡?©Ó~K­ú)xR{Ù_k ©Ýu?žXù$}0Õ"óœRÃÖîË{®¶µÕ²õmè”cá]_~GKô1x‚”¦TÄå ç´ïb¿…ÿpeFDÛ&i±¦>è¹bfµ×Á€%²OÁXµéŸy}BI‡wLíØ—÷'¤„ùøš$çÿþbÕË¡»ýOa/¹éyHÖ„³ÈòÁqÕweH=Í™]ÆÒˆèð– gEÈG3ž*ÞWP?ƸDâ"Ó~_߉ó±’çÚõrR cƒ9вu®;Þ±d˘išÉ¬ÙÍ«gÐB^ݧ|þtÀ£qmp{¦Þf)~ª¬´¤ýÀ`é¼;¦®wleå€z-¨*^¤¤¹¹xõõ´]ì[Õ1IL'ùÈkÿ#I£–‰eî‘dWæöìÇã‚A™#ê9…9õ ÿ‡ˆRèþŠ|œÐf¾ÎJìÆ²Éo*Käg* ‚Û6ÐlÐa•Ål¬6ŽËzÕ ¸‰Ž¿> *çIx®³ŽÄj‰?Öí¥p«¢SœrÙ²‘.u€WKšÃ¦ü¡ÓöAú¹G¨—¡ÎÔA-}…5&ÝŠœ7‚¾GaÉ–l 1ÄÉ­ºFýÞk ½&ïjçk»ê× ‡!ô•‹2^H"º 6 që=³ô›‰â·ƒQaõ¡°¾JË=ÈÃjƒoÊ>™¢“Õ[Ÿ6¾? ZÏÌúÜýfº†Îâ°ynÓ©ðh×®ÆlK“&?g› _¤ÐÁtöÆ~7ŒµÑÕ³»ßò~1âJÞôx]K–ÓçB˜Ò᧪!È9S®ñÞ²'®ï%¶ì+÷q’w|'¹m½ØÄX<*ø2Åæ»ännKÌøÑœàç£Q‘<’áÓWõæ¤È•¯c–dmrT™)P¹ÖÓ9Ëê‰ûUÇGT·¼RZ¹Ä”»y€‰aÇ,£À2\Ø«ø`äù5ÂæLsckžõÃò¡¿KZ ÛíøA¥¨Üí® '—QëÆê6(àxv«cs…åÍmý²Èa³UeÏ´U’O{Ì$éfÂ.‡’• ³NêíÐ6ªúÅîébÏ›y$è/Ar@Œ¢È+†{ Rö‹Ã4´¸¬#ß5öj+*FP Œ¥¾•¿„@¥“ÿÌ·á66Mz¢»ÿ+Srð2,¶\Cp›M7&~'Ÿç¾m†÷Á>ÊvI±zLažŸÇ²¶cï¸kšË‡þ miyR‡Þ@s@¸éIPLiüåä{Ê”wÇy#xRè=72RÏ”W4à›&ÞÛí@¯*²–SÚfkèâvëpCw`(Ði¸“᪹=ŽRo9­ÿ%vHÅ, M{ÅMQ‰rdZVÕ—âϲ"QG sJZU…u¬qm$±`‘Ê7ϼ¯¬Ûžá€–Sl#Ôò¢óÊûYÇ­2,å²ÊÀX»œr‰5¬?LT;EwÊ Ç_-¦¸žÉÛñR hÞ~ ó|×ÂFñ;˜–!»Oyßàu9á¿‚Ë©¡Ì)Ð#½È§n¡ «ëʘsÛÇÁ5y#Í# ËnèÜk “u ±’×D‡+¼¨²¸ÿÞIÁñÿÝyÃo•^l§s“ŽilŽåŒß &wO å†Üú7ÖRbùëǘå¯ÞSÊV‹pð¾Öa¤féý€ó<Æ]üZ`§Ô(õ?ôÇ ýA,¿ošLn˜ÑÃwµ±OèÌýˆ]bœX“ƒ~³2ì†Ï’3 ‚GŽÓ)ŽÝ}²ÿ×jÕÚÓVvC&¤‚½‹G^ü£0EóIbIWܹ.bÇí<ínÅb#Žyqº±E¢1C°6¦.@ÞïóvaçÝ^@EE¨î¼+‚ÁYˆÛèßÌ(@çW éd1kÅÅh¢Ñqr²¯ŒIÏ…:JTðMÔ”‹« ‚²QŒô3ÉLÁ…ÑýÊ!œv̽+PKe¯"–s.aºM¹Š¸Þ/íܨ …°F+±«Ç—±„Nàq§Fò›(ô|Œ\vnÇ;¨ X°Í;DÊuT1yZ£Ã·Ëm¹PNC •hâ>–XëæM Ñ·:íj °7ÀÚÐ#Þ v™­äP§Ôzj»vqêÄ+Uv4g·šŒ]:¦•FÆqo÷®¸1C† ØãàIõjÚˆÎ^¾øÏêð 5“Þ _D͵§S½¸äFG¤ôjÊuMWÓ-³_Q=Æ‚!\àCêiÙryËŠ>ì å žÙ*'qÅ)žMá«2PW°1^¦7j£x’¿§5§x*Q•"§7ç¦ó$ŠÄE>£§eŸz£ pÂ|ô¼Òniè 5½óËÙcâAïZ/^i4¥adö¶w=뾦]'ÇÿwËIÚxëÊ¡h¶ñù‡Â¼¼-½ÅnIE#‹û޽yð]2L22W)ÞªQ™9ɦ#Ÿw±:€ÐÖÚÔõk<î¼ÛœPÛH6¨Z¡<«þuüaºëhxOª©óo‰bY"Á£é`.Q±s4¶'°ú€¢›üñ9uHÉë"¡•"7³$•ØÊ.à„&µÂ¥^m;(WŸÞÉ{–€Çââ6ËšÉ×С!OäS›€ õ®bÔ¼1àã©3&wiGèµ.ܾíõÛ¥›^, ÃQ€JÐn S¸0ª&€GÈ®Ÿì÷cÔß7zX‰!º-.È ü8W_†Šˆíà%fqè‡ÃW³ÞÜ~TL‡òÄ&ä}±oŠuòdêÕìbƒ¼@EL"\¹V«®À¥£AÚOq²&/ìÚÐB(MU‹€sûܽ>¼ûb7VZ¬ßþîðjš:š[«Ç5WÛ7; k—æÔÇ®ë0¼£‰ÉI¸Ìl‹oBc¤ãù-íHVƒU¬õ±­p±ÎÄÐ<#Ï×%¥ô‡6Gle×ç ùKÚaŸ»ábÉþ¿ „‡µö£Á!Ëáu¤—duÛb:b@SLê‘¿¼Üšz?«ÚZè/žjº6åVÜÐf¾|¤H'öƒ^”{õÌ£+,-UsÀ3€ÄÂÌ¡€¾ïÎ!'Öy²ß7Øsm·Í6‘Â~'ß”XiÓa¹ØÈ#I5>5›ç{Ђª%HÚkýo™‡>æ*×éelÃîGqik1\ƒ·»¨­m'qAÌ?’·T¢†ø¥ó×b†95x_(#"´Ð;œÙ6¾ÝÊj>žöÒ<æ'÷×+Nn/¿Ye£Õ¸˜eifP—dù üó½dcpéÌ_/o7ß°§eýÞ5ë‹%ÓoùO Š È0:ß©f£Às7ßrø–/^Êöä¦"st l\;wÿ`mL´Š(ð§Š¡ÿû¿¯2!ƒ?ÈÛáÊl嵊f¥RR½Ô=ž…ì3ÏÍ¡ `#}‹ÁœÓ=Õ5Ô†Ê&J °N”5Ý)þÊïòVM90Ç×°eЮ¹AÝFfŒÏV‘Ó4Ü$Çe—D‹”O/Å4ÜNfp*°£µÜ¥IÔÁ0—tKô†¤ ÊcE¡+C“ȨX‚残ží#¿KPP`.FÉ‚ ²–Ô„÷)ŽåRS=PPbº`‚}åÏ2Aqç­åî¼=KwWìoŸÔ1*b'I侟R=ì5ˆgJ¯ØÊ 솶"–›}ŽÉAóV2ß² ”À¸ôHÀ›?C6_PÓVm–G˜—µ@ˆ½‹FXÓ£Í3™ª!c­ìTs” :LDÄó)Ø+V¡šQku C`Ø>Ëo UAPÞõtÜ kÐ ukw\i3˜“×RÒœ?#@‘”€Ø~tùe¶VVY¨‚¡ÝÑ)8fŸbfð[åÄ Û—òíÿyªW_9çR×V…8œ°Bë< Ibµ;ÁhÞS«jÄ»üÕ*‹ › _~Lê–7ågX#J-5ŸÈÇý žÊ¥¯£B à PYj9`ë ¡¢VqÀÙ„ä7ó™-#‡µðbŒ¾Ìq†$6Øœ“"=Žö6¬ÇQà E¾Ý›¨eä-Ù¿åUqÄ=w@1´#´äÔ€i°ô?¶V2¨TaÁLJ Û5ò8˜“CöR$…Ñ, –í2f¹µÏehß&âà HüMŒB §eÝ87L³vºÝ [ùæ’QKØOf±º+ê×*àa¹š‹UñF\e?®¤·(ÖÔ1! 1EȨå¨05•Òqy&[?å œànÛ¡nCÛ{:é^Ÿ‚”×”µmÃf»K®ÏZÚ p^…ˆ¸N_Æë*¤7#T§÷{!ùk~[+*)AD€~K+pÃ5…Í8^§æ„á«Ü:›íë=¢Z?eê›öKûÅUZàÞr%dû޽¤ŽÌEœ!SËÅì wó•VR¬ò¸Qš–±e/¶ýâG«7 ·2p&¤…¨ìOCÛ]®û{ñËÊ…–°D{T.-2Óê³R)ø$-ý„q~ PpKj“ÙYÇèBÞ7^LtÞcY^ PkÑ£ÂN– oF ˜½>v1’ZnžÁ“wžÕ¹¦ƒä«Í“*>†Öb€ý†– tl໤£×<¡ýß\ÈŽ1›«®"8à½hÅ©ð šJ$rd",R!±µ¶¡—)k²ž 5;{Kðòs>š7ßÄ 9*΋,Jwb\”)•íóhùþ{ ßú¦4³¥ê’¥ë÷U kæ§ÿq‡j© ˜ˆŽš"üå»×¿{]ˆ5¼Øx-A(òl™yU/´R/;DvÖ~}%.ÿ„ÐŦbèñÅ••Oöâ‘ÑûÑqÎHôk£Xd 8gòdÝMà£üÀ§Ýýùàâ‚5ǰƒE(æÏ;Ž/°Î+‹å tÁƒ3E‚Ó5BßAÄ“#Ç8XÎ]ÂÅ­=³*´³¾ò¡¿È³&³õÁKWU\‚¨.ŒÐ›iD 2|ùE1KÓNt0ø2kßþ¢jxåâò5 Ih쥲«ŽóKÿ•æ5†méK·¿Oµv¶¦¯ÝaªÖÔ߬Ê/øO,v »gå‘pr¥È„± ªê±ä`ÏB´ØHËžnËõèùkÚŠêÎ’mM])ˆ9› ªáŽ`€ýÊßôÀ±„ò‰)‡»¾Êîòº¶ã÷ntØú΂ܛü"C„+Q“¤ß"Ãê`Œ Ö‡ŸEêÿ0á?xRÂŽŽó¼FÔ^–ðóqã’?éRµ@EnÃïë~«5 véÊØÙ£gŸÿþ(ÍÍ]ÕýQ²:µÃ‰mÏ |v唂½© œ3÷µ$M^÷^¼þdD³¶)p-iþBžs÷ãFAá<€ÿBÔ³#®šÐ=«0ƯÝoý댻‘6ù¯îÇätÜ9ÐÓCG:Îk7Sœ i™v[¨%öD²‰Füƒ²ÁsÀ4Óζ™ haKe؃­/U%Ê |q©ËFùâDÀöÝ.ö LØÉí£&/4e]ñ„að<\ÇÊóà0Ò›@ðžÖ&ʘ6e¦¤ü ¦Äâ:=ºO|ÀPk Ö:ZªIàæCS¯¾»¢ãÅ‚>sDG!(jmù CWcuL*’3…°ÀŒóÀ—^lü‚òVCŽ,Îk1y‰%ü(±’EDÃaÖ% -»Ì*œÇCN0áÿŽÐ³8í$¶Ç˜iw¡) }wB^g}NîÙ¿‡m\6Ð’›æ]=£í³A„µYƒL8ªZYo&wuóÛ=ˆT™ß¡²gÚ<jÝ›ñ¡_†¬k~”CêBÝòÚÙä“â3Žø2ÀÏA‰©þ¿˜ÞK‚­–Ùhë8ãMr HÔHÅKØ»I»¤]&¨ÐÔOÛK ü«+n¬oùtÆèŠ›B1¼¥kŠ mn£|®QY%ó(úÕ:Ž !^°G3¿~"Úõ§²UÅÒ;³ÚóÆû òm…C¥°;œ´}›¢wñ~ ž<×»ð@XZ”G[O÷5u.JþbÞyÿ¤…§ñêà,FO‚q=g§3ýÉ] *E𨸠Û “pOÚûht”)¦` ¹RD‘EΘ™GJÛŠi†÷ωeòLzm7>ËT¨„.1i |µZðáå½]À¤bÙ™ž_#@If½ÒW?´i~r<Ô?Goü6ø>Í€ŸñP2qí§‡ˆððPpæîa7ÜÓ…³cŽ;ó†@±¶gäV¡V”ÒOé}H0õOp’ùÒWÙâÝ$€jjh}ÛïŸl¡§×Ç’|¶¬g²×¯¯…MÌe fÌ[¦Y'‘…g×ãX[Ô¢å¬Á?OÑ„?7B©ªš¡µ rG »d»nŸûš2Z¢ÂÐUü}ËWŸDº¢æ[ÀdŠW2)'â´«ÚÆÁmZšÑœš|áG.&Y´)²žØâ¤ö0Åkú=ZZ¨ÂîùY ýGÃïù¶ÌvâB¥&ËùóÞï>j‡Í®/GªAO±0ŽbdbÖ~StuãΔ~±(b®2ƾ7h¦ähZ?\*öö̽òd÷Y[Á‰ÐÒ4]*C÷Ð0®tN¦¨ÁÇ£jƒÑaØéÄ߬žÔIWý„{p‰X¡Žb‚ô-†á¡-ãи%dòÜ<(0ÕùC`D¢ºµ»U3}+Ȉa€– Ç“³ïSm R^±ØÞœ.äÂa"ÔÌ?Éá×¶'•+“t8Vɼ¤P ŒnQ7ú² Ð+¡t²®jÞÞQÆÒ-5óò3ÉØTÈâ$®”(¡æ°òˆðLa˜»”µ, Íq!盚¿óuñ²òÅNu7ø-EPÑø±[±Œ©•;ìïˆ>Hú܉TG·Òë€ÕÖÓð¶J˜n¥ï˜í'\ŠÑWWúɤ38ß~r-Þ¦Õ€3¡œ Ö1J˜m§„dàœ{¯cŠ‚}Ì6&ÏO Ë“€é}Y¢ÄšÖ l ­Ä ©õK §Üy‹”‡§NÍÁðô§‰j´Ð#!ld«)‘ß»!©ÉNÀ߇•+¬,lBV„aüsPNŸó³ÙL¸6§SH6ô^È« {éà2ÿ¬[Ô›£TDPÀ?×'P/ŒìÔ"Iêw«l©• Jý´LjƒÈ5iÅ–‡òÕ¡®~Á9|¨ }6Y‘¥jç·ÞÙÏÀŠÅ˜uŠ¥ë`u@Ö /Åø´èÓ7®¾FVdÌɋʬ‹HÖ=>º>–6—Ž$Y+=fÐ}ÎÖ\a‘†ûÐ;E2¡9šˆ!Á æ²ÃóŒ5‰}ÔtUA=yì L\#îÐzW.UIé„jZ¤'®Q¥•Ö6®×uN£êñdø(ÍXg]ÄÃkÍÑß@û$ü‘+êr¥µm¸5ðõr°u”ƒ ½¯œEæ;aÎí¼O?¸Øž¹°’YÏÖ‘v(Ñe.\•|P-µ*5C¹‘+¿û#:¤qÄ¥ SÌàâd‚ ¿µ?° `ñ»V8¥8¨:éøÎ^ã‹%¶ {E(ˆ ¢šoì(ËŸˆÎ¸î¯k!y–£ß»j¸g‘$K– W÷Ãt±P.å…UÛ ©|x™™»M¸ ~@kôq’Ï+DTážG¬Æ…­z ¹@Mcí’8ÅîvÕʦœ¯IÀµ.G-3ê 9ñ"V?OÌš$¥óšiýþAC¨£‘hv¸GV‰7ôÉÚÐ 6{/Äÿ6b»—E¬ÕjÌtHµ‚Uc,äR×—(p@°|‚Õ~ÛÊïùXºœ·Ë…óÏ›oKjièaìyšhåÍ™«ŽL´î+fO]Í_Z§¼ªRQ*Š<ý&²S4tñï›SÒÅ$1Ÿâý¢»Ç’ڸâiÄk x›‚1žÒÆG¥Éúëë%|Ṷ̂埌6n‡<àèZ¤à‘Ù)ƒµ²ìiÈDŒuÐSKÿï€ööÑVÌ }¦ˆu)V=nóƧ'Õ°ywÐæk¨ócYX?Ћ×i}*žòù€ÔO› Ú€"ó帤#ÜÓÑ>q©âù†šÀ/×j€afö”NÑyy~oÖ%ì·.úöA×ɵÝÉ"j삉ü Èa4º¢ÂC OiïÞ~ʉ§rÿàÑ•4÷âmÂ#I4¡Ž!ر6%³Ñ'ûç~fžk‚&ø×X~5è2ž”¾ùXÙ6LaÁLRCÉAISi° ±Èar¸ŠÛQä0Û`ˆ­õ¶aÿfohŒQ„[Œ7‚ôÞÞÕÀˆ´?Ç<òõ˪£éêkÙ(¹.ì"{q€¼¼Ü¾þÒcnGW>ÁŽÛ¤½ü¨ tÖš4.‹i®Ô¸n×Ç0UýqIŒ0έiííÞPÉ )GH$²å½½ˆ²ÍËh\$*Êpv×™<¶ß¿[0Ö„»$»áÂ2ËÑøÚé²ÝòB¶ya7C™ØÇ©³M‰l üˆ´µT*–B­Ž’À<Ê4¦tªÉÞWO26û[)TË[{2›éy2 ©8#xIÔ›v¾°Å¨=Ä·¶"Eç7W$è–âieØ—êl[Ì n½£ÈY¿æ'YÝâÔÒ¹é‰+6Kl\Úb’ókMG!“æqÀCó·Òòʇ–ËyÍzû3ìÙûNô}’f‚!yol†6\ú‚q£ŸplññíVÄìqÝ!Ü® ¹v2+ئèçóhijƒÂ¼S¥6ý·=fH…FÖhy¹;º$v"³ÿ¸B¬=˜Yá’çæÉt´þôŒÜd¨³~hͶVÌ}B†¶·¥µ bÓ¿ ôÊÜÿ²@6àv‚ar1jµU÷Yvä3ÅòÖ¡Õé_Äž÷a[×¼ƒ,æD ¥êÞÞ×#Í¿ä Q\ym®ìg(Åõ¨„ƒC•ûŽ/¦–y¨L2iÐû,Þ–þ&ªd®ì·¥¿É%ÕŽö=òÎÞ[²Ï°™¤+‘Ñ9e»Å8æËüþç ·ó~ÑŒh~úu..!@Pí@À oëžY¨·Ì”$…ØFmå˜y'“ùãWþL'`Çç÷ÍH•>ÃC¼PgøÃ»ãÞ~îâÁÍdXì|Ó—Uƒþï0Õ´SºšZ\—Qð—æoŸÚFQвà{©ÚîÈûÍb}7Žõ…ïC,Ï':ŒÆñý„ cy6OÜYýäD¢2á/j3ç;¢¦Ý»^ н©:–Ÿ!•Û@Í«ÍÙ¼þ @ ÚΑ_“«B¢Ä ¤+²Ü†›`€ûv[«mNb@ ÁmêÛ$¿Û_ÅHt©Û›óáˆxìVdú QÙi ²,©7‹Ÿ1/žznØxÃI¹¬ ºÇøÏ›E/7¿ò--AR]«ÉiD¡lØî;É®û˜iWÈ©±blÇ[Öÿ)¥·…-LÔOh‡ƒáÎÁ¥lØYÊò¸AEÀŸÕ|=õˆêd§tØRË›LFæèMà˜Ø¨ŸÇœÔ9aßëJåó”±Á<×êQýYH ”sU¸Ö’6•;*érÛ÷ˆ«*‹8˜×àÑÑPc• טÛ鸖hwFØs¾µ]]ÄÄ3!®C_S‰íòR³ýLÔÕ>uúXç²L§Áø¼c!Ú Ѐãö¥¯oœÁ é`¼M2ÝÕB(Jlðí·ÙÁ¤:×ÈåþUh?GŽ£Aäqd;¤pBpŽ{`ãƒøc¬¢àÐ]ö…¥Fæúäçé KÃÃãWõ 5ùÜc…ûlI'ŠrîÂ.$“|XNT´ â…KÒQm€pÉUÚ Š¡7*±ë[‰ÀÜK0”‡S/z\D¬á»K“¨!¯î§·àñ¼ÃhØxë!<Þ' M!Ý¢–är±=L!‡6Nshý6ûd¶Uúq½à~³/ë/ ŒMÏzAÜ®~îú¨6Π)V#oèÓè#-^íJâðÁ`¨Tù‘µ¸8v‚€Àð±W¦6xµ+k†­ÊLï ƒg´Ep_ÛJ»5é˜U=‚ï’-†ý1‰ï‹QÌ;bÿ“µ'¸t®Ë1Ç&ßòg–õûg… E²Lo¨ôA‰pÂû­9J [„>:V6 ›h±YJ}•ÞØY’nQÁJ™âìyuµmÿö$%'¤]'Ñ¢1†w…éÓf¬@x#³L¡›ùÍ·´)t£=0PVt•z¤‰ÃhVº`Ïw&ØbúíQsÌÂð.¹0 QfxË ªúæ Å×ÔI䋯WXœMµÇé%¿U-¿÷±qUóÌI]!B®ÙX¢±ÒãÏ›@P»~æà'eÑJÚJîØï&ÌÅÿ–¦ø1F^MSù 7—>X¸lœìÂ.É «p÷º*nW2—_ló 5žjÜØÌò¡çÀؾ&g;™\ýÐ Þ~9"ÚŒmLÓ*`—g‹è_à±.}wšGkè‰ßsÚË\c$»=6B[j]5·ÿø\í%Â."Èò+GæÁ…¬)^ÃÝ ñ^û"—fƒîºZXÎ¥üÙb"ЮWü¯¯\Ä%†°[Ç èn×s­*†Z³wfá3¯ˆ/+f€¹( h~ô‘¿ÊÚ“óx¡]¢ÀfOÔ0â—ŠÍeçèš ÌRlgÀ);1Fþuüõ&¼²1/(©f9Íú#rÞ³š ¯á g£ýqÒä±Ö¹8J%\ 3|rÎ$°µ ¾¤ü‡¢ÔÙ´÷d‰§± bíÛ8@íêfÏ%uN’Ù›{ägø„©wtø9Ò¸£'UØJŒ;ËØÝ*#×CzY{œîK ÖâéP°d«°OæB™>¡»WS2â¯S†Ë¿™;èR‡V&‡ëi­Ys‚¸ç·©€Yâ Þ–Ý{]Š¿›KeïѲÁÓ&!ºS¤šýŸ•Tvž@Œa]êÈÜ>’\Œ&ÊuÙ€öI8|§&pï õM n‡ŸÕt­×™ÙÐAfh\Æ×òs‹ÁªÊMöR`üÌ„Œó´¼Ó ¤1³Èâ}JÊc%‹A_çªåcMûþãuüª‘®zÂÐÛÀŸHજBp`fšèÙW˜V’@{ fgÃwû…ß1ã¥ñ¾%Õ{§2˜‘šu |ÉK[%) &3 F…à+geµd¤gv³¦¤CÌö'¾køÿûý¿,£ÙsŠ`ßà«»Š!öK=­TêýD$«³uÚPw´« ¶NX举“h)•@Ës AK³~;Ê%è$_”nŽÔÏÔ*" \̉ÈbhsØŸ<×hé· áosn|[fýkQ¿0(Û¨¶qfa$Ë-rÚ! š“À^ŽˆÃH1¥7eð)$¹iDo÷@¥ÿ Qëz³$PGC·,Õ¼ÉXm€Ìnpщ³°ÜÏÕ%År/W϶„:¶;¶b#C)Y5ŽP=îhsÀ9·˜Q<ë8"¡Mƒ}aw’Üà÷À<ÙÊ6Ïi‚ ?óª³>õlÓ—%;Iú¦/ö‰`òøÊ™Ú‚ÎÅP×¶§Pø{óòeåc/ëìËu>eY)®úã½ ö&f ¬ÀkèflomÃ¥ïâã¸y±{Tâ}×uÄaàrs¨Y ¨Ñ´Y£ I—€À¢ë%0C¦Ûá3éûñbrBï‚&0¨•ȾèÛ\J >ˆ°'N®8…š-­Å)a‚~a¶ .Y x‹ñuñ§þí9ßvSx@¼vܾ‡d…ˆÛ¥x)E•²À@ˆÓ§÷pa„ Ö—Î×.ßTÙÿƒwÓ½Ô¤‹6¼è¬Ò§;X._騅HÑØ¢ü])p¡h(ùŸL»ë3ð…Ò;„× ° Æ$˜{Y Ṛ, Å!žÆç'7'°ÒœKs¨hé§Ã[ÿñvR¨7½Éé†ßO#Ÿ ~ÍüB1’hRC¢u£T…íªb»gádÉÆ=Tç€zÄèOQ@V¢w†SA%òg È:ýJ¼ªš^EQ!ˆÆ|ée³6TÀÆP‚n¡nl{”[ÞpôºÀodËYSö±ù›ÐO q]äFä"õݽ¯Yq6R(ÍÃ/’lÜÁXøÁgÚ<[äœA†‘zwZ”Vq¥3Úè©èŒé‡b׃#õìã1IB¯ŠQ’fÅ”mœÕßÞY’J¤ÓGu‹ß¨o#E\S˜ÿ× ¢ÐoPÏ}¢@Zäu ËÍA‹,׈4|"ô¯T8tù"¯Ení¸…J¸$}{«¿:“ŽjW”^l¸¯Åu÷›2fÙÇÁ "î©l‰oX'sÌÕzµY F>«Â¯Ž¬–Û½Ö¿'!W ¿~ÒI¸’Ñ‘4÷ûlfŒ#€Ô˜ÇĽ7ôË"ÅãËGGÇ€Îç–.˜žÐÊvIœA0¥×nÔÛª ê|%˜ú]°öƒ ¦…ŠFtŠÚîfä<¿£Oà+ë·ޝכ»í2¦ÔN7HÒUÅUõlʯPo£‹ÂjW e›ÒŸ±î,‘Ž|'cH ”¯2ÇÉrutdªY$hÜoªÜ·Ód{̶„A´´{ôõš±¸ë÷W@eðOe8µÎuF¢XéPM¨û\ oÞe5¯fwÑÁ3XblxŒÑ-THŒC!DÝ^‡Ó1†à &w€J%‹o§^~ܘ†€qÛšŠȯ£PO€¦mõ-qPøQœÔmðw~4 ¾Ïò¸7!Ö»â!ãDÔô¥É qYC¯=‘­Ìënòe ÁÃagj4¨c.êÄ?ÏšÈlîàoZú‡¨,;¯Ñ¹Q}ªö.éç ´ô€@nµ‡Û}rt.§‹KIÙÅfâr‹Ê»<Q,÷–®¿IîÙ£QÒ1#ZÅÅý üL´ÓBXõ<à÷öö/’Ú•Ùž__§vxÈÝŸÜ,þ º¤`)êÕ”gò¯€Ãc6„=X`$Óv$9Ú¤¯{,ÿl^•+|ÐMØs°¢ÅFaúJW•(}!'1UÝ'êXÿ»½¹= ¾ïcð„úŒÇݺ3»ÿò5¸Æ!ÍOófQRoñ ݰxm@Ôú´ÁKõÝij†ªZ—¥¨À(qãÕ÷¤TãõøüCjSYûîô! CçÈ®öéõÜÒŽ4½NLÎ6˶¤Öjµ$Òô§uã¢)£¯ÔÈFúíÁÐЈ+¿ÿÕ7¥oj„é‹ýp*ÁÕyô®C!Ÿì¬"Y¥¤ƒó¤«ìŠÃ_7NÔŽ£!“ƒ3‘ÝꆮÊì ·ŽÅ¦»¤JcÐQÔ [ð¨Xm¼gø¨,zðÒ@V¼% ”ªBO㻳óöÈ{£æ+0¤ºªóøü¢"‚Eü@ú[xØ‚0çŒñYJûqMä4 &%dD2(ðÍÙqb h5—ƒ%½a¤°óú·¤º X´Sµ|Ev)åûk`~L‡ )S~B¼×-õïm%²Ê$Ó÷Oïëˆ)ZkÉÚÆØge+9ÐájJ³Ù "9MU…Á Òè[’¶·§ƒU8(¦;qñß’Ó§üS0¥µèœRÀóþ¡î0a­?/ÓÝIQÊ´Jº)?V•#mÓ|<™â翽Øsµí±¶kÿêrì;‚šû"‚ûä©FKºÕK½5Ö#[cTU2}EKéìÇjg[ <$ï§´muf…ß’A¤›ª,ý¡yOR§;;`¾ñf¨”ÈOS»Ï‰Í šôñ¦|îE¿üÃ2zø— Rߣ'Д x2Ü®wG‚Ö´¦¸ùÞ§´]gÚØƒô\Ä ˜zµ´íŒ3®aι½Û^Qñ´ŸzfAóò‡y©†GlüëíV2Â%Z0“î¥ÁýÄí#þ¦Ô€ Ýp '‡™}ÔwkaG­‘‹°°T}P=øT䘉ô#Ë;kÈ;¼±Ì«Dt(#pr-Ú"ÇŒ©†ÄWé2·V7ùœrhÈqú®»8kÓ‹+yåÖÕø¼fBnÅGSnEwÿË3ûKQôš¾ÝZlú-;§¶ÔÏÑ0¨xÙx!‹‘ß‘¯ãÕÛãê®ÝÝ,uªþ ˆÛÑ)ÆÞ€çY¡¿ú3+hÊ Cnxk¦Æè}o5½f áíOAÿ.ÊɼոºŠ¼ÎÉbÌ-eÂ:åi'É%=>ÈÇO‹åÓÊÇnj5ñÂYlVZ]"vFAČLJŠ_ÓÃLò°SmmÑK–[Æj’7x<h¢åñ—kM‰)Jíj–ûyux—vÏ…K˜ù/}ÉŒ¿èžìhàë¸2áÅäAŸ]U4 Ò×0¸>z! ¼Zë9p£árÁué†ÔK­n?c 4@³w ¡V ^TžxçIŒ<Üqe pž¦XÕß"›,?•:8à»|1ŒÒâå²óǘ'ˆ¦"cÑÈ…È%ø †l%¨B$ùÅï{'Ã;aÓ"`4»Ÿ2Ã(²GÆgÈðñÆ(Åjÿ³‚þ»+à×ÐK g›éöm×ã‚:}ÇDÅè ßM°â%»ìO@W"(‹™I–\K;[*çAL?Ë«|OåBžXÍU6cÞ€ƒŒ‡-Ù—˜Q%­\ТYá>F¼gO®ûÈvpåùœð8÷–#y¨Ža:Mp(†î•P;øÜ‰²úÂ$ŽR„%­ª·—:µµ/E:ɬãd%C|$dQàïR}}/Î 3ŒŸ”­¥ÊþºV¡ÂM€Ô7ç¿6hWúfÞZ\v¸\"=C=ޏË*³_Š8·íµˆÖ2f± †0ï’ÄPÀÍÔ¼Iß«õó¶I] 6'Ÿ nŒbJ¢ÅÖøwµi«ÜÇÝ“ëñ†gã…u ò4¸i4˜h:Ñð¡zÙ_þ+Çv²éÉû"•KîÏÅÖÚÀÄ{ã{Ù4fxùúÚhwIjÄ?£‡ O æm74Jíd< Ü(‘£š+"¦\/€C&*X‰úúŸh•‰ ¤Ë ¢ù„y$5‹6ÐÇÝn>_$4EH…z1øíâë§rµx$‹· Á²”íÈÄ«K`·®’èég™fÍ‘í;:5í›%ÝÿÃüZnƒp¸=¹O Ð•ØK¥ºAJŒ-4›ti (‘ÓxѶ²¨ “­ÎØ.wÑWØîý¸Fh±<Áœã²÷˜É]0‚»½ÝühRdSö¶|Ðp fG3à©ChsR¶´IãcÐeL7{¯·PÆd%£UÜIjô8sÃ=Ñã£$?ðÍ™®Æ8ØÐÏ%œïD’±Ñ\“¦ÒÙWXVRb© MáÅìä²™Œ“«RóÚ_ƒ¸…¹ëƒ _•ød9ü0mEv&1¬ èôP»ŽkóѱD ÿ.2~27¾uR,ÈBÐkïÑù6LÃn!°.Òyˆhê£mþé ëìãc”Õ¸ÿ‚Ǹ¿­ðÉî`4Í´}[ö6ú-žãé§ÇžAÏÈçRí öÀ”Vn%C_wØ û~Å%½?žuª6°¿YE¯„sN@NŽ`?fAÈzÖ-S¦â½Ãšøq£a›_/-óUõ´æ3¹™ÊÑÑ<œˆÎÚø|Ó6âãç”<ÉýÿAÙ ­Øoã™mÄïn–­ƒ£lÄt‰û^ D ÓÉÏ÷ÉìÔgv¯â²ÃTöCº­ žøsÿ £A÷ oqíC•\è: i@–IÁÊ—”!¡šÖ¼3P÷¥þôCe`ÄÚÚX¢4À;M—[cÚ¬{¡5Sg´Ÿ—D:íQ8¯ØG½ê—¢ ÙP ôôøà( B yXuoH¬èÃjÉR3Ó‘<†Š£ZÃƹbÑTêR #Rª¡ÚAoÄÊÇêØØäËê×ÐË~ÇhV?=P(\Éö'{ï2i®‘ÏÇ9©Ïöjp‘)ñ±5ƛɯ1Eé•°Mw…Ÿ5×'}ŠV3™¸K–óSEÈ5§6fL¤BFOpb¸ )¹c|¾pZÈHyÅ/-`é`Iòü(C·iäÓ”L`ô~k3κÔF‹åJý¼f°éù´J^ÙÛ¯Ù2OJDœð,…PÁYˆ±‡¶CJcãGW[µJP²á­_Z°,£ºüc6Ÿ›=JÕ7]‡ë `  ÅC¸æ’™·]|b˜ß·b%puÚlšÍã˜K‘u»ÁQât}|çƒiÎb@Žà^§Ô±¢å& ]~ þ§­³øœvàõÉÙƒ"bøuDy¹#·CÏ3Î~Ø6éa2¤•Áº™˜quˆí.MêãD1ùœ vtÓmgÂ6ðtpœQ?>à—'Ó:ïÿD€ƒ²ýÚäšåØ-nî]iT¸Æ2ç¼Zei«ÄLÞãÝeˆ-‰ w©×D¨ºUWr¬ w€Ü mb<·®p¢åƒBF8¾°÷ÀoÔÀ¤0±W–pHJ?ÊØ7Fó6aG*‡:*àþ+9ÛØQû[C¼ø…×ϬMt­¨ÍÜî²]p^ös5Å ‰tä5¼ö\`KET_ONl—°dJÝ-¯œ)åÍäxÉ U|a‘nÑbBµ„½g£ùvÐÎPW\•°ðpRrLZHŸµ"'²Yp€Çö«…=yØZ‚Aaz.ˆHZýš¸ ïW-äæ…Âœ¶H«k:y°Ðº¡b™'‹ð¼8/þ‹VYÐS•…öûª”;ãJáýSÜ59ëiÛͱj<4ÑÏbEº`çÍ]k¤±£”ϵŒ¬Ù¹ÃÅÙ«ð÷ûÌ{ÞÉøÓ¬î h-<þ°ñ"|÷Y¶»™Ô䉈PãÂVг·vEÒœ>噫oôx¬x$U/±=có×KxÖdÃZÉ=œáWr áHªdp¼Ç½sÕ_[t-iùŽ¡h'tÜó—ÊÒÿM½Û!³Ž¶µàž„»ÿñü=.çQ¢=Õ ï Ru§§”åÄn± ,8Ú^G`"jx#(‡ Ò‚ÄG¿?Hx$M¾"¶e„d?ís4¦3ûîé!¢4µQÖ‰c ô ›9ÐÂ&øŸ Mû,¶FŽî+ßÔlŠã`ë8`еØ5sâH˜à2~PVò(M‘]àYÆ…N€)ÔHaü{›+ƒX.• i´™jHاj]Ð"î± î&¿˜p½d‚ ²@\j·öÅF‰©/ñÈŒ®uZô0}¦' ªH ÌÕ#Žh“bamp¥/Ó:Co™-)uæ½·ã2š*@Ð=·²K§[Ëf4BÂNâåæ®ä m¸àwÖã[ÕÿÓÉÀužÉéb°Á·Ùàþ I†å®X× ñÄß«Pœ²Nô¶ezÔw‰޵¹fÇóHDÁiϽRbH€{©Æ2ï(åYA¨Ã¨‚î0?`µ¯¦ 玞©ß(0á»BÏKI·ûXC'waäôPöð ‘GJeEßýl®næG&¨o—@Šjr ,é*õIœqL¢UKpÂø~­–${v“§ÅÞšÀÝ™Ùx:h3W¸p(”/j¾/D¢ÿjHX¡œðªá©þzª²WQš W&Ù‚Å\½Õüã³ÕÓâ+Œ„A:ípŠB¡³C¦P{±.¹xÊ¿X•bÙ HÖíl(U.^•UOÆÌC“ÙŠßY„»Ï8‹ >É¿7Æ-ä[ß¶TùgZL°£²ÖK-–Ö£²¦ß­ÓZà2ãö0i²¡¿j±ºy©<샒ÉÎCš¶;C¾¸ö–Š(=%·Ãˆ£÷AÈ–³8\aÿ§œ’L}ˆq¤ÁæÇ&”yBw?‚VpËKò¸…ÿçR0·ÙÛ)­çÑ {-g`Vx¶âPçµÆ•í2Ú>_eÂÁj=ö»3¬ÇŒ–{#,ýj¯¾ùÐrì­dtörĨöû®sÛHÎèyû¸]LñB¨?PG{xM"RàÜD¸V–bêu]†[mÁïbÍÕK2˜ßöÅlcN̦^%ôÇØŒï ÷z?’¬3Zî•þæ ^Ë— fˆ=:UG°¸)G¸™}u^ èð‰¸†O(ÑùêÏ)„X Cº/÷4ÁKÎò=CŒ‘H¡c\¼D!AïáZÖëwXò/$äü­€—uú7.«´¥½; Ñy—§ ;P¦!ÎCÙ(†è‰„Ê…^´hûX =¹IÖÞƒðÍ€dcwŒ¹î0× AíR'ˆC8®Ç'Õ¼R  ü  DîùTÃx‰6q š%„Y-L@ŽêkŸ~zw‚3ÿ<ò0hi¥ì§ûUOr,_ C#ÍÚ¨)Ó2+BjCÜAУɆ”ö°*\ìîýÑ„p‘—BDÞLh?›B^gj(†‚U›—¸OúÆtúŠ=tÇ-ÉäDÚtz’ÓàÍ n:^ÎÝCبußlå¿tñ–¢ô¡ªQ{n„Â1¬Îž‚úÛnëïÔQ 9-_.™Š¦é!}GôyW ¼Æ——Hÿ‹Wo6¾š)`Â95ÉÏvÅÜÏšF×ͦ€d.6ÆQŝרðïv„oÞ_i¼ñ7„ëìÓã¿j24ÀªGËÍ1&+¨‚Ln˜$õ ;JGCמVgÜÌ4a”MO¸ µ£~؆ ÃáAÚª{ž® s2«·žª5U®&\_<˜6ÚÛš»hÙŽ¤µ£åÄäb7ãVc„zøcO5n$\Ë´eÜßÖ•ëöXÆE]þ(ÌÅ”ÌÀu=˜Ã}EHcÉhØÈHä$²Ù1†UF-*†V#SVOjMI)v§ùE… 8FI ë¥!•Ð,ð”<Äd!íw·O>L‘àÆ*=Y¯=ý’+``@l=%n#ä8Wf›ÎUðu­ˆpCžý4žNî .mvÂü°ÐFµÅGšŒ4¬ò[*¹ lÈ(Ü[‡îN6Æë+*Îös‰_¦í„"b"oØ–3~„·=©ZžSÓ~“Vª¦Ñ"VšHAm1ãŒS`M¦ûâ±( ôøüGÎYñð…X+Î }¾/>ôq–‹Ò[~žŒÏR ­–#"&\^! H¸±!îä¦1 ~W’ÊX•íAÍ^+5øåèÃBŽv¢dvb$'©Á¥#¹¬2:Jšã¢ÐhN{“é¼²JŸ˜ lEyÄž­ñQI=¬\Ò‘„/.óK'áo›¼ýWFÿr?ØeÝOŽ^úg“\èb8ðFX2åuþõ’®Lt“¦WAZ´õôÉÉ ð˜tmŸÿC2­fz%,DØŠTòîþJÊ"Z"•šçª)þƒpØÀRó‘¥äZ\ÊÖ“ÒϾ°ê2L{×2®%z¡£ òU,ÓªhçI‘½ÂMŽí*ŽÕÚhSݱuu¯Ê'=-–Ë¢ š}Áƒ“ÑPÄ„°³*Œê0Ðz ˜¢ãùÏ;5þJλPyðÞ¬|ïšgŒ³#z3Ç’ŒYµVƒYW<„º†ã£K_ê‘|¸iA•ÉA"W"@a½ŸóŸu—rÌtDƒ(!$î~#gØÏ´íVÎÖóKMKG”5”pÜ]yÎßOÏ4”„Tôñ—q/þ·U5ªº[ºôhÕŒßR¢íb^FM@Z˜×{ßÇá«¥¢ßuXaÞ)xÄÁMl6ˆÉOùÛ&5ZÜ›B»¸n½•éNµää'”²îÎdå¹âŠ~Ì"y×_˜Ö–èÎÊš’¤ M0áf±†Ayÿ\N8•Y$Îà1dÿƒ{§'ÚÝBV'¤Ã}ȪKÄC–?ÈH,æâT Áx#RìQ{ø‘zê—1²÷ 8€¸ªÊTV«|m<ÑÌ9´í‰g®î" b†ïäÔÙåܺZJó$ü|°0–MäyJÁ«TÇÑ ãÄíàç_ë~Éû-‡£&Æ “ϵ¬%{a¢ÍJŒ §OVA£¶WÖæ·ž|K8£¬®vÇL§Üͺ®>ªÐú‘UÁ{ÎÃSìZ…ìÞ]fè+†ðw‰YîžøO|MЇuµg–;>Y/f’¯ÕÐÈñNöˆä £Ú “^­ ãߟ`86ð˜•²¬= &dR&ŠyŠ–âÛBŒ".¿næÅLñ“q'V,"1°#IÁàê}哉ԑwÅø oàÕ„{±t”üÒ/Ô}Ãç\%ºq 5„¢áU,$NuÈ]\$[BÐJ©PœsçQãÜ1Œ†¼@ »Îƒ'îÉpµ7õ·+ªiMÄUo¤à†ôHÁ¥ð¨˜*G¾ŸeõW+> Bí u £þJòi«ó‹ë¯óµWÝË.út9²ýÛY‚óOÜAR«Öx'æ4i]üù®?>ç¦ßaàW$ä‰ „ ;1¦¾^" ·CT6ýÓÁœù' †Tô 3N¿i âpßLdPÞá„•ýçˆì2Ÿgw¾úà.?Ñ åâs-õÊ7YŒ¥í;°P–9aãzmÜÜøH~>ïüjlrŒ·UwçÄ®¢£cßÖÂäˑɊ ÷ëÙ׳5®c3TT£qøK‚‘b]Ñ#ñâÛ¸yÚ{tT¡³ ±ÖC/™mÝg›eí3{û?$»8qz@má“€CáðIäEo_ùUó+^9‚1Öl3»5û:DåiŒ˜^˜@áa}Äî7;þ1C+ÄÁ'óô‹àvn…xŽxÝz´™¹ÖßEâl Ð=þIÿ?¾e¿øýq ר¤z<Š ™-2wŒ©¾@Ža±QÙÃÛ»\Uã_m`W[¸¼º’ÉиÏ=N…tAš]InpMK]\‚žÁþ;TR¬Çƒ³h-çíã£7¿Í€©ccÂ1]Uvê,R÷HºÇ̀ʑ찕gM°ûO ŠmX$ƒ×Ðí¿ÊïO‰“Â$]s¡‡¶oh}¢þ>¸ÛºrÐ$·fËÃ9†ìœ.Æ`§<Ðf¢;Þªé·äˆ£·™éCÈçÊÛ'MÑ/»¢Ó¯„H¶ÅØLIzEkìózrÚ«}¬î  @£¿ŸŽ»ôT;-†ÔŸNbÔ}£Jc©‚ÚTÊ‚¿-–òˬü,Æ/ÅhºVy +ð±÷Ä+>]~–ÊôÆzç¹û™8¾æº=üªæà舖ߨϓåUˆýi)h’ÖnÐs{òP¢Bè -å¨ú#ÏY$Ž<¶5¶a—L‚¦ÂBºq¸ÈÖ¯·L«¨mÚ_ØàN¤äøAU¾ÞaÀ’¾ßï€m8ÏêóáyòC”Óö­W¶²Š2ænÑÐ &VÌ=ƒú´ ãd5C”ÌÎEtñÉ ,¦É½KWêØQk¸£êÖws~äÁ]çÛ³€ ÇZã˜øsáçƒ•ï ‰Iô‹æ' SÌ7õ5ÙÛpš\ß#¯ °Ö6ÿ±ŒiX§º¦©´Wv’jÀ>+°ÿø\wN§¸žf¬ÛàïMGÀ°2ø¾ó#}AmQµÓt ~mèyå·(RÎiUB”Ωþ×ÓÞßçìtª|‘Ω—MWƒ)w6ža·x;‡…ZÒü£HOôsõº-mŒ–0â·þ â²8Ä¿. «Ö}Ó“èlR%Á%ç\-tÇú2韌ËÜ·ímäx\é…r‰z–h¦49Mñ$_Ø¿¦)0KN¶C¨ÑhÛ«uP!ª¿móáævŸ¤¡œ«3]•*ÌsòÜs4ŒYum-§é¾·yÒ€Ž/v–%A”ÕÍ]ûñíа ÷ÁN’¯o5>—½æ÷§ôÇ6£F(B߸M0³YÍf\ôÇÐþÐ…ÿ[t̰‚ÖË·ÈŠÕ·u}e±ÅAùzløôG+5˜k霾è<&\ÃTa=4 @»"Ãzꤕ<èª# g«}ŠÆò{~-¯(thøä¤)V5Ãt íטuµ¶%»u"I†Ì?úG3çX01~ûƒS¼Ï(:ƒœÌv¯sPöº-Ìíþò«æÍbðuš|Z+Éæ§àØ›6xc>Þ/š*ÀÁñ^u9ƒˆe¹¥×}”̪²Ð‘ge¯;î¼u GV›ŸÃ׈ßçœDi~â{M“²ö;QŸ‰Ue_‹K¬LÞU©áþÒÛ8¬Ö ¾º<.9ÝÙ%9™ë¡]>a‡M ì1–jóÿ¦³ƒ&I¢¸ãНÅäù„èR »ºyjrIò{ÑGºŸ«ºãQ¥=ç9±vÍÖÄ­Ÿ”)é#+ôë³í˜ƒž¯`¬žs…r8\òÃngNM ôÔeÅhÛ XŽù»Uœ§“0ÑãÑi/ìU"”iùt7³4}ï ߩǔ9å–mb‹öMŠÝ¦,‹q¦t¬ØžØwö˜îúN6ø­“éYji[£Ù°³•îþ/¿Õ­ÅŰչ4Ït牨ß~V—a.~ÈÍn0bPznß¿¥5sCüÉø?ÐòT}´ô<’RÈktâ<8$¥[F86ÖtmUíT‘ë›.þÐPŒƒFí6h¬•{žž~ y³U¨û í䃤¢DmK“¥?Ñ“,½×ùšæöy+“„9ØÜƒYë T©^¹KÄOǸ×½>*ê–Aª‘Í.kÔ× ‡R$?…w–3¾£õ—ØäXóµÉ–¦a¡Æe¯†$bÝŽ7ï˜!@zØUì(® äëõµ@ìq?â±!,ÞžDú&ÿþ:å3¨CõºÅ©1_ƒÀ¾¤iÃæœóôËx,9Gc,ŒšN±{nèYMІ]„e&èKþà–LƒÂOÏÖÌäpд¤%UmÐJ‡™½Çä|Í5HKy§°O…€J¦úëñçÖ´ðy—¬ÁnЄæúUIÄÝ™©¤¤‚¥Ü?v#]‰PSÊËßMý}ÀumÏŠÓE݈cXÞƒ¶k8·{`±TB:&Ц$ž„0Rïá~îUFÇ¢:å}¿05A¹‡™‰`J|yꥫå•óì‡]O5›œßPý¾°®.•m }™)âï¥k%6 ÄS”áeãó6cÓ„ÿ©zî*V¦šféîä½\TÊ”7ûl]*‡()ôgl©œÕ§ý.›ùaÈÏë09ñž/+£§_8q•è±n–†eÄqÅUiý<ÄÙÏ\­›â´©ª)Ó:PZ Ï—C¢‰…¸¨mïV.ŽÆL½ü‰NÌ]Ñ‹âk˯å:ÉÙ†AÆ øÝÚ¬l„qŒé™Çèm3›oHRûøÑŸ^õ9Ì(¤©?·/×v™ù嬈™9΢Ã8Ñ óÍ®6|8Nô§ßu#È$SPÐëÀ 6GÇ‚A‡Ö]µaA¡O2dSŒ­*Àoq3Sµú½µ!£{#ËJ¨?® ßÐëNšæÚ5‰ùOåz2¥]üҨ5^ìc…AE}µ’‹³"ÁrrÉ/®˜ŒAz-ƒn²ó)~Bl}HsYþnòoHcek^u—]Kr¾”.Ç,N¹pã?ÄIÑLÚx2I³·±/÷5Ô¿„?N;s+Z‹§ ?5¤"Ïlšý¶¼ ½y×F~LfC°äKmf à2SáXºn%„@à>‰-¾ Ã`ì ¬‹(ËO ½&Õˆƒ·ÞtÏB$}|<»I.‰³‡g <þ4+硃f0÷ÛËž®«4¯ßIÞË`·Ë¼{jSÜáãNýy„á×A¢áÇaezª¡~ë-Mµˆ,–ú4ëYäµ ®Pix4¨ûIâ¥k[sÞ-ù7Oh…ÆD$þóœŒéÐTÕ1TŽñ‘q¥H6 $‹<¾KÀ…tCCÅ-cè•î‡$Kï>D¤ÜÀÏÛ¦<¸ð-5(OU¢$ÇR<&±08ȰÀ‡ý—ÑQü·ñl™nßzE”þIVÚ~2UàW¤§!œ|©W,á«þÇ™êQã8™kŠÿQæ+-Ãk¨ƒÐ3vãz–HRlLoêÕ*º0–'˾±TXãb6Sßܧ–íù²q?ñêþÙù¢°YÉf¹Ã«èS5ûÐ…YÿPñ;Ÿ¶´(•eg–üEx®ÓC8áãC,'ù0ÞäÙÍ@Fùaò<ÌŽgÝKwçÓAÌbR¤M\+ô0è\_]öq%)Î%,J‡W)šmoÓ?cC1(ÁTfGIÜ÷ѲY¦Zd¼Çþ“Ôè±]H{Z£¬ZîT¦A¡R³'Ö PTÄÈaw4 g .Ñ%+;_fk"–_"è±¾pÑÎB‡ÔcFßâæf59'ìöÆv§RqHØéôˆo P+R‘Ôç¼Ä¹™’1ÌR1)9-*5ÂS ×ÑT‰;&ìUžQˆ°z;§ÔµJœ6£ÿŸšÝ0”Npì35Ø&EæEë ç¢ÙQÂÛýÔeo+m¿Êν3¬ MTYÉKý•M0X!ï³8 ´‚¹ÿ‰R÷}.è…èÃ'õÄQór§ Åâ|è­».ó•‚âªh¤”õ%z ¾ôå7§*%PáS´üfÁa™ˆ ’/Ót/‚Ä÷´?qböÒ©3J=[ºÍ—ø¾è›ÒZ{ÐfËá7+È?¿’&²Çõ~)Xôcë’ž}n†içRinEqO𓾂è,M†Ó%w ¤e²éö³Á4¦ïµ…¹žt"”ŽÂðA*s¨Ânɧœ©6¨ÁϼυzêÀ“W±<&žbw„ÐrÇçÈZUä$sð;ìàµe†?‰ñ”8$¢ÊÇ„Àe'r¾}3™"cßÇ @”) žLJÓ-§éyªØ ÷b0=@ÌÐWüså}e8÷92 H‡ŽS;ØÍ¤ñë ׈ÑLx‚ÿˆÿo!—¦àúkLôßfÄ2•sØ8ÌÖ÷p 7)ñ(Öä½ô½Il\½—æÉ&®tÚ±]…ÿz…Ì6Îz¿hË…ÁæÔ§†ÿSOEÇ©{iüÒf½£È9pïíÍv0­Ô>Ô¡©Î‡*Œ%/"…W¬R€Î–º"_^ þµ\ïT„6ƒl3ÁÛà«‹ÿõä$²ˆ¦é†æÊÛîh+ŽS›ÃÁ«Ë’ Ñl–#íLÇ}矗fØ™D1l;Ìh U‚8ï°3ýŠ«¿ï ‚1G>¾Tsx nÄ’5 ˆÏ|â25Ü"ª¹øÂÔ£ÄÏ#¤Žæ îïñ™—D\F´ë·Å ef·ð†Ioô;ÉJ•¢ ¸ ¾²Ò]ŽÅÌ¿ä7gâ‹l§Œf²×3Sí›ÿ–¸êß9Ä9±À^Ò~U/W@ã1M ‰®Àšy=U>ÖHimdïßãÒ߸^GUæuÞ$®ºf¤vaˆDºÅº}…d“hÕ¶Gºç ˜|=AÈHY‘B˜~Ña]Ú0ËÌX%ÔœÁÿjû´FWz+ß“µѼ­Mûj‡v|-ÑxýN¶wÏQ]~¦Zó0¢LÛóó–u¤¾Væs*¤›j@¢={Ðûgüâ»:%=eïO›öe﨩§µ¨Ü`i+¯TÙô۵ૠ¹w£‹]Ãxù³eRúüÍ+ÝÜ«þÿLÈÖ‹œ²˜Ã¯>£Òk÷½ò3Ó9}gu/–á¦)Áøä󬸡㞈„ßÀÜÁßo´I΂§†átÌ=#3õ®BxÎ{Æÿ²N¦lùbš›´­Óž®—=5b2íèh½ü%¾ƒ‚­PƒÕæ¢H±- Òÿ)µR ‚ÄGD~„ôƧ²±Ul ¸PàJ;n¿{,7œð`,Å|‡9á5È9GÛévvˆ¿‹›óç[¢åó–už<Õ£6f¡j4cÒž7g©êŽ%ý¶ãÚÁš¹Ìè“(â™5:°;'€ 2 j.3ìë.r+µ‡rþ4Í–x¶Z¤ýYؘ°¢Úƒ-lÃzÛd½ÉŠ\Óöi6§2É5…­°q­‘?G—ç.ôýC-έzò%y»ßPŽ}7©Ñ3«!! _…~ú)¢G ªÚ››Ÿ<_^„«4‹1-GQ„ïðSQÂHÖ÷ "<¶ž)âvͱJHäëèð°_S¾àT,×öÔÃO¡É‘w®êìPY—zUO™5 žÌì×Z{§ÌÚ­j"h˜­¦,^ªãÙiÀKì© 0ÀyJ™Ò@®ô®¦ šûVŠóG•ÎA™ö&AllÅ@Ö`vhÒñdbÚ…Ç¢)m z‹ÖÞ%3Yà7=»Ë£MþÖêU*¿ðT«/:{¶X>C–¦¸%¥Ôï¼ :œStãhÖ:Á³MÍÅÙ×DëÄÿvãQëk!aÀL7^"—‡Êg…¨óœYdгœ0òML‰æÃn€ a˜ˆ­pJƒœˆWuý¾Êf¹N£V̘à Ýp–C8¸™Ì]üòØy*ZÇù8òñÇ厥K-€ÛÞh­ì]ó\n%ë]ì~ÇKøÊ4Ûª[c#i¤¢.¼¢ûäîêÔ‹¾ª)òøJÃ/cgæ3ª«úoMã¸,4ÀâãËù¢¡¹±p˜¢zh©é±§ahêÒ æ´ØHpc#bN„Ãÿ±¸°‰št("o(ƒå¾˜Ô1ó¦K˲ï4g ŽÍ€)Ë\.é°sr`¨ð~ËÑëO„p ÕE2¤Íð©›3ÈÒ Å_-f÷~zÚur¶•AÊô'ªojú¾L'SL¾0t)Ãâg׫„Àæ©x[–¾ø]£i÷°´V"@hÿÌë×°ŸbZ”Á-m­šËY~‰Sè))va: ]ºì2càþÓÚÉw'œÃæIÊá;˜þE¢ŠNÝtW¾"è_“"ãd‹Ü6îXÏÉ*ª Fi7§Ëy™c4~QW„Mt ¦ºLVÄ@®ìv'ÈZý:ƒÃή¤ýàB[KZwmçBVeÎOÞ@†ÝÍöY:œ¶[ÊÇ 7Œsω~ë°õàîî· §¢o|\Ó-‡Q¤ö×rd~“™¿}ã‚|?¶ºM OÑÀi4F1PÝÝ„ RG.™ÏøÐn‰j,$A€áÃØÚÍ΂ؾ©¢q§Î[Œ%;Œ´ª£Uë#Ÿ"ý…3šTž•A@â&1Ÿ<{Z´@ ²Bp°ý;ÊÏâ—e;Lº“îþn–¬”%ë£ø†¼47þ°N¦Ì‡:U'ÓËMŽZõb^5Zä¨Ú¦+0~] ¡ìš‘èž=›r1‚ƒÝ Ðj‘´€ñ‚²7ä«¢—6hw@òz©v­Ô£j•íf=Ľ®Ð§Æ Ô‹kô‹†¦cz_­5ÒÁn†·Ú‡ïl]glÁGù^u«W^aDF¿]¶iæ X®%Úb±%ñJo«ñ³še1.ØžØ_¼À8ö ìMáí‘(ÿtùð ¯ÑDÇ|ž»Ÿz½"XҚ†æÅžì)߯ԽEô;òÄëÓøçMÃß^±B@í|K þj½¡.=óU†å¾Ø z~ô¢å_@a¸±Ì§íîÙšö™AÏNþöŽþNŒ|¯<´_\ãˆöã2ÍÝ|ëü…5×IÇCy·°£R»Å]õæšçT;º¦ÎTˆ“ SDë÷,æ&)s;‹Z3Άc ¶R« uÀhŸW³ :N£ºzشɦsÏ 5b´¿ó¶!­^š+ áDtt{óe1/áG/pb ãFЯXÞ€(á(*ãü“Ÿ÷2ʦ½©cØÑ¬EK4·‰”cÑ;Ðj·¢+íçz+ÿN%qS¥—lý°I¼ÓôÜ÷#‡ûÒ{F !Oütè<ìŒP`C!$…PÅÒ¶£©{»‡$tn 2ÌY·…vß4Üzó£BÃlË•¤³ýo)V" V«§‰Ã]û1À4 Ô]’4×û¾[÷¿|”E:C´ny±Wÿ¢kM hÇódw2AêFw´ÔØ_)ÿOõŸí¤PÜ”N){Ýú'‹ÒêÒK bb®ô…Gzgãn¶w Õ¾  è˜GÖ˜a©ÐQùGáE@$íïÉ;Á=–væ=GÍ%ÕôÊÞ’jËás×8{¨ ÈhÐIrÒu4Ú£ýfµÑÄåÒIW“´Ã ðeuæÅ—k¯ºjzºWþ–á]eJ/!€-^}ŽÐ,½ºö´õnGžPP³¡âÄšª+ö¡.áζ£²¦‘òÆAÅlø‘àà@qÕõÕ#SXüP-–ËúUšTgRFú1ÞÈÌæ€ŠÚs*NÉ–ºþq¹å/+ĵ Ïû?ËQ¹ÀccfLT˜W ®¬äÈ2îØÔCĤԤ&„NÉu,´ô.1Ä ÑÊ úŠwRS½`Gš§û¾Œ¼ö5×kà^&4\}ͬ§^ÜúóŽ:þF¥ºã€ÃÓ*#øÉ—S=3«Ìbvš“¶NOA@×µ)äí(cÉiêQq„bÃãþˆ‚η$ÏØ¢Ç\­%'!CRœ³¼yø¿YÃÜÁ È o¤ b¦œ4e·vªNàÙ$j¯ïÇëÇ[4¡×ë(ÌÄÐ)‹ÎÛ”ÐVÊ5(ý)qœf›_ünÂ|wpb|6 Y òvàÔ\üýÌ‚·$Ž:à{ùvŠ0ÊËÇŸ^EMxšS„Ș¨W¡á{ÜÂÊ>©b!ñšÛ H­yòÊ£5³žž ãÕʉ+Z?Ãúe8Ê÷˜!“2§”C‹LÏ¢Ë ”s•’b¬æ]™c8_±]ö˜’Ö ‡ÉŒw/"ïÜbo§@w’ëÔ9D@\C_ÔÜý[IÝ-‡¦ÃCÓ$ë„m5pOº Ä¡ }}Dºd^ojº¸×§Ë#Íë?ƒ"¼ºNø}þÜ´:³<3&7PvoÖ8M%zÚ3àôÈ›ƒ8A2’Ô ã–êÖÒ!ÂæÎÝÈxÄ[†—Z'GlÑ“–5Âñ%ÜCg¹ô¾p.P6¦ÒH@§™ '}GÉø½²òÞ«ÏÿÎþ)w-ö‹i9q€ýˆŸñ s·,¶r½4â™[áT ú¿N1¾ÞÍ9ÄDçOh¼|bƒ >›Œ`– [ÏÂÉRàòc¥$¼Ñ:Ï/KóR ½pÖ`§Ôƒ!ϰ)´aš@FÌ]88Ä™ yÇpŽ1:Ìš&§®0“}ëqбq”ÎJMÈh|à ‰~¤Êþ&'áÎ ­ ¾©º1Æ O² j oIÝp×¾ØC@¶rN}uFȤÊäà<ó´Éq ‡šå%#m"‰‰ØŒE), ­s<øueÉè^+§SœP4aÚkU¶¼ÏÙ²ù1ðMÙz‹«(é²tk=+óN©¹ROPJÍÞ€Qº’ ˜‡ŽÿÙC=qNiTÍ¢ÐvmàVZG/Þ =]Y2sÒÛä'ó¡ÑiÓuÄ—ë(ö4!¯)¦äTÃwà t ¼‚‡6›³2ŒI¿ÓiÔ’s‚`³i Üí˜0@J›T›J}5Óg; 3=Øu•Q»Xuähá8‡”·ã&Uäh: ú å¹U%ÒPãa®C‚{[7OgÆ_ë¨Á­·šXŽ©u' Þ5WI]žWáÍÀðXiAŸÓ¾Óhú±_šC_u¼õA«Á’*a€Æusx×ûÜüs]§Bâ)l…ŸʆÃìásN¼¶^ä s{Ì‘­ÄÿÌ—DApHS¼e˜íSÁ¶–ر@5ÿ߉šÝ7˜™ë¹cl5_,my²¥ šû5úAMßëå1ß®ª+¡æžq¦šÙÀ”P.¿Iòbâß DÖ·Ëͽ×-ð$Á¿‹é×5}ñPÏir¼¨ZÙºÚ*Þ!è¡68€ö4 jC6r{³;h^’TÀ2â¤OêTó`"ŠèbŸ¡üyiX ç†<—ð³—'¯] ;C?ûæ¼ Ÿ¹nV«³?2_P¥”/è­ˆ3dnùæÀ,Ï D¯þò>–Ù o PöD¼Ø÷go ]¢yKdÖlÏdjÉD«ïìù¶7ä½CË¢SþTnš¤ U|=PÒ~¡éߣ "£€ÐØùÙ •ØRøÙ“õËÖKDþ*>¦™_HÙ’ÊuYSwÖܰŸgV{“¢uûøp>½sÛ?ð»ÀƒÅ@â(¬c¶b5જ%ìJº³¥Oz&Þø ¶º $uMO Â[ÍÝQ©Ì ˜Û–a'¤QÝÝý{ŒâÔXH±º!Ñ¢·³ ?Y£öÙKýÅ‚¸$M×O¢î$ì ×ITr9ɰpvpË¿S <¿|Bv8P L54õIŒÝÏñ4º_ê¼sß%¨Ã5©mAdG=†ÝÂ}Õ&»œâÚÞ¡V J='tߦÄÅô7Ó ð.•r W[—r @\z‚7@)<ÕèªîÈ:ÑZÕùl _þ§ Ê"ìs6¬]6ü®ßÖ!"ž£¬´59íH ÖÌÈ6Pl\¢÷­V]Çý¹ì}ÊBiï+pCTdÛaÌØÌÃø Aú¥x`M¯r¦Ê†ðXöh¶ïe¹ÞL, ÈøÞXÉ_@oEd œ TN1Üoæ×çkÒŸe«gÿmQèo}šÇ˜¢|YÒH™ƒÞÄÛmÏNk›¾—³“uÄ ü·Ï¢-“k®–8…&«€¶;N%[[u2w or"ÙÌmP÷aÏ–ç u”v,_3’s¸¡½üÇïÑ~hŒ~ˆ§ÈÔîíEðÅeÖwj¼àÎ80rJK³:MŒ}0¦dŠwö<.8Ô»º(¹> V<šØcOXž9®vÏ’š?¥ÕÁ3®å™"—_p''ŽZ¢!&jbw‹`'„-ÍÔx\u|ô®Qeƒ—i…lâöÌT·.É™ò„Õî‚û% h/"¼u§ÂYýå}O’ÝcLíÁ ÎaDR £Áõ©~“n,þOg²ÕÒ ÄZl;vî[¢–‹!¯rŠÑÓ `$é[Q«­³³JÃ9ë*=£‘»KÕè$} '¦P¡¾rGÚÎg†´tƘ#=N*#å cü›ˆËŸJ°j•l¡tÃÏð.»ôŽ‘ wf¶ŠpMé~¬qѤç~x-aågm ‚¼%=È“üÏLU$\ê:Y¤:N5øŠS¡×¨Ð¨S¤·n’QCܰéYfç¡BDîÖYQ!Èói›ŠmWf#9s¢m .Eâ£íˆ×6lj›¬[‹Ñ€Ÿ]}kÓvj>²Q$ QËq9¾+_õˆ˜òò“Ù÷êò¿z=gøepEM0o$Â¥ó©•ÚõðÒŠG0”™Twñø¦€À´&"À !SþygE4wÿ”}>Kc-]fh‹ˆÒ6ØWÞ×QÁJÕÁâuº‰ Áì™öÕdfÅÆGå’Á¡ ÄW¹t˜&tBG(´xLtÎyRî´+……/äÈ6M«77‰\ˆÅÚ#5µ—áoÝ¿¬ÚJZñ÷uÙøÚÚJVõÒb…œ¾@ßÃS/Ëeƒ=ƒ=Cr‹×Lb¿®KõÅÓUãJ Ê1›%Ø<ØmÆCIÝŽÚòó¡U䀉³Î~õò Ìý·¹“’¼‹péOÿ¯Õv%4h]XgÊiÃY…Äò€¥Ù¥›C± ì)ˆÀñQ9Ô=¶¡®à²¿ð òbÿþÛJ3³(zy£ %—‚è8ç^¯ë4)ÕÙõõÖß±ùÓ^ͰŽÞ3N³”³‘=–š‡p°åòÁQ\â‰â6¤~Ë–XÆ(©ätŽ!®3̳INê rcDa™ %·Ú xÎb@¶zG›Þ?•a«^[˜"dݹ©+`ãäÝiã%T[  [Id`] Êzùrù$¡ä)0ˆ¦})7îÄ”AúËQÇÉ"¤K×;^Z(ˆ(‰¦ÛÚe#Úò× ð°Þw4›ö‰9 ´ž¥XÔáæê›pÿ’?Þ”]*^“‹£Ð[û]X¸fi½¾¢öëék8´MN÷ó3·6ä{„­Òÿ]t»[ÚÇÌVºº¤çÒ¾ëX¬!,Â-»É‘•(ž:¾pfÑú¶NF^œŒ `Yž¯aL†<@7^Û?´ÒdaÅÜJ îI%™eõ×"‰Ê°ÁåêѸÐ#¡Í“¥1ÇUTJóeäµk´{ü|ŒÃ &ƒBÙ8Ö²,ÚªipPšWíX`ÂA·‚jKžìX% Ê“ožRÍX®6\Ù—ÿŸÛ&ÈÍV¿Ù½%Š Óäf)Üãfþ°ý=‚ܦ–áeEJJOöOW¤ü¾ï¸}¡LÆìx¬ÒÙôc¼¸ÔÈ1ó Ë$Ѭ…2j{,<_Æîôb¹ TµKŠª_l ÔL‡³.ƒ‚ îUçç9¶%©`†JZ¬t²ÿ¹F fr FIÇ·—cœñ²PÀ‚Âå:©ËOlÈV¢‡ÈÅ. ¯ùšú)× ._<¥Fe8*ݶe]n¤önêsç¦þPÒdÙ˜dš«Š0¡D‡… š éàö½“®U©®:oñaUø'^À¾•H© XQXOR#ô›Él4`|SÒ·1¶»ó ò¢M¨žÀ‡BK„¡sNÿ}ïövm¯>érògfŠ9S„ÅG_³.ïC´J X{Ò^Ðx‚±ß™ZQܬ_ ~ÜÜx6¼-ò)OÚA@æþ+òÇWS=WS ˆàÛ¤ÉÖôf9¬T÷mRã à8cBû6ýV å>¼WÒŸTÅuçO]C iz:Œ­rÒâBT?†Á”y6 4 ¯ïg ý6"p ‘ù¶Ïó³ú`êï+ªÐênÌ›ïb7Ù"Ö:íkË*Ïë^ÖG2@@³^ùQ>‹&¨“Ýw'¹¼…eYøÍnZ¹nHFf*ë¬Í\$Ú/€÷"ì\B^+²˜¹k·×ý²“à­K‚àM‡Ví$ØJK|,`¨3w`ÇBS¡ ˜ WË÷±.93XåiBÎ6ÝJÐ|÷E"ÔôêÐØ¸ ¯‹„˽ÜÝF•´¹Ý4Sh*x×BÑ ªæ0‹j ézÖp E½)±HßN¦º|‘*m$âT¤ZN›Ê¥ü-Øò~¯DÊi§@rÑ1©}çD F$u{€ ¦MpÀ½D–FVZP¬¡ã/úË^Ö¦FFË´m­JK ,—ýº'²ö4‘¡x©XÓѬh'–ú”l0ñ%ßp¬ ºy× …>li èLÃWÚRÞmõÎOp°ö¥n!üÇÊ “·”«¸ÉæÌµ´dÝQÂOϤò|_Z¦k¦¯tÊ9R<› ]ºˆu¼ÿY]Î<x‚¸9s;ð l㳫5åõ"…஌<ƒª|QU¼ÊÿM‰ nuñLzvô+óªKª±ÚF0_^QTRF.¥Ï:þbÎôæÄâ¦R§3¿·.—m"¾VñURS§ÓâEÿ üµßgvòiÊ5-0þ¼Gµ¯ê?b~GB[8ŽA.1§™‚ˆBI¸O™O0ð³BaOh«3…û9jLÊ gѳ+G‚΢ù~VA)……B46G‰-Ó†Ê|tßÖcêß"øÓ¥‰R9ܾx •¶"·ç?a Â„=nSîñ3`áe²ØÏØ)Ì>Ðsl¡ÌG^úmÌ0h…ôŸ@@HxÉþ S×kšé*¿#ֱͪ!gíô ì`°z¸ÖåååÝpŒ4Ü}¶dëþ¢0]õ„·»ÎVáöÜA¡¡Ëƒâ–ZÍ4û“aØa&ÁƒŒA6FCÙ5ÛQÉÑIG0›4¢àž^ïó¯‘É fÏ|à´–Å“GX%wP²eŸh«% (÷éÔ\ ¡ ¿ƒ`ò¥×¶ãB²2=yöZQóSmy8ŸÎìŸøø!ü+_¼P T šj6ó_·à÷A/Bàíô¶D‰A  9Lƒ Âgü@Ò ¬Þ«Å8fè6 •ŒÍZ¯2S LgˆˆÕðBè{à¾WVðÕ¸X̺-êu`:T¸xóÛYõƒà*ê×Ý0oÛÂ-Ê9¶É9ÛŒek$qœ^û64‡5›bJ‰ÐKcª‰vW… ØŽW¶ÛGæ¿d󛣰©47:Úl»NGõqüXwô¯¶µõº’X™ _åL0ÄáªM÷Ì/uQ|¡ ¬çâL#-ãÁm¢¯Ýmãø¿k+pT78­ðªLmÕ×°0ë°y¸vÌh½}¥•º›­Ôš`'u犱¾DϦc‘œ¶<›@ ¸œ²»؃¦6“·è}ÝùÆ{ë~Ë禣ŸðWD  í*7`‚›Qµ+Ñ­ªåUiVØ·Ü_V–bL)*š’C?ŒͰnàP‚Û0PýøbŒ ¹;F[úÓšù_¿òò3HÄkq+Ïì¦]ûØqF&‹Å=ÆúöÌ•8‡­Üî4[O‡~ß”Ž(°«àjÿúk-æŒ «—(cü¡n¼Òm¼5>aßTÇ÷,ð‘áHЙ}ä>ò¡À£Vëv£¡mÿôº6e|N#´à¸ 'SæÌqF7€°>áQó|¬žO@2/»ß“ éô]ƒ“³©‚iKÆ d¨8ZÌgÚ^á­Þ-I“fbññQ 4úBz¨jÕ<ü‘#ð=VÊ»&]ûÍî^Àu¯µê…@vÙ])H•R?„(±V+OäâA½ŽaãTc+Võá¯?ò;ÊA4*Š‚GÙ»0=oh[˜*ztè÷‚²Ü—ó÷-wÅ*ÌUΫJ6.t52# 7ŠÎ©R2ËÇ8ŒÛùâ ­`“ JÏ”âÑb»R²3D Ö€[‹VÀ0 ³õ[T ¶G¿ßFvíUJ‡Y8‘'„£:Y±ú–É@Rcã)Æž´>Ü `‡´ÁïP°åÒÎA Í…SÆžô‡ŽË|_°©A–+ÌFR’Ñ£Ìzj‰Ê€áÜ¥¼î/B}äÅ)m/(ã=¼.”÷.µl‰e:kÐ\µ¸Ü© ó¢ìµñUÃú§l2™ý}Or5æò#’‚:Ü ®–½ó¦â#±iÏ@•¼ÚZpê~¸rý(”ù5u×A2s SrdlVPœ9á²—*¨äÐ&Á¥Ÿ–Ã…Yåæ¾ùÇÒ…öèAÆtªL6¹½—»åáý 8Éi|þÞ§ŸurUJ÷2BrJ6Ì ×ÀŸ@UŠCŠeq‚(ìL20ç=FDõÕ®Ö)Ò €+ÕA\.' Ê™œœxú`î~AÀ?¢;Â`ʬ¼AáŽ@}¦ÜÃ6ÚÕÊÑdÇ*}²Ç8hhOì—¢˜ÏòM§ž™‡TCÏâ1µ,Ô@{ƒ@«½ÎÉÛ· Tpq‡9%¯éÛ.xjNƒ»™e%vLtLŒÖ°baàp1 Êä×Äd`Ç6{Hê7=¯Q‡ÅTÑ¥A4Ø$1Šøµ›¨ùÃ’¬ä·XÔN¯òŸ˜ŒXާѧÍk•¸}ÄŽŸ }(ûÔ(dHѱ&³†Æ.OÓøhÈXï,qék'—’[ú¸‚eOÒ&pS 9Äs86¶"ÊžÓó»žÈSq× ²ÎVÜúô§ÊJ^êÃÚ ’"èMÉ]Šæv.¸ôÛm §)í¡gmi9¶À* k«½ é]…~ÞnõS‰ 9ö÷ì rÖMZÒuJ#?û«‹m¢b~,9½} Qõ[_]¤;->¬œfaxF!ã³Hšñ‡”±gsF@P¸Ý.z¶Áv¥_ùyÐíŠ÷›VÊ|m²Jp,®ïIï} Wà)E¾X@™Ã–åΗ·‹'DΦÄ8Zš({oðÓ×)ø.‘Á˜Þ"•³Ì’ÜÿSY#˹÷×xXÕ”y"ºá¢lzïâÚ·C¶gˆ˜ªb)O£¹Î¡JwМ`±L)ŒÜEÉúa-„±A†Ù£ ø¾»ß@lA:V2êÞ’À´v¸õ_Yl@ZÁßœD&ušRÜøq¾Ž´úœÑù]²*VÁ'©ör‘דj¹¯Öfj-­­¹o #»gůíÜœr~¸%¤Á‚{_£f¦†ðëåìh#·E¡ÑOÏæïY #„Uf›ÁôãIÈñäÀæ¢vjk‘[qõ¾>Çý(O"IM!Uµîw'ÅÞÀ6ÙrŸ³ QšdJ†¢€³• ²@z5ä HÕ¾1øñV¬6 7WÉ^‚=I×Ád™˜óÖT -›øF™Âû-c!<Ù¨ýüĦ™V„ü")né6ÌÞó4üq@?jÍìßî´&¼iàVü'®q¬ÈdÂPêÝÔÞŠ#â–D‡«3»Äë,ò >ºÌÏÿGºR^[5a»‰øtÔ¸ÁÈR¯žf-¼R©Èì)9ZZüY:y9gS)ª«šH”£áMÑM‹­ˆÐ"…Ä,xûØÎxÏÔ´dYA¸Ùùÿ¨ÓX¶â¨1õ÷äö“PHíÆsr8ù¦]k¨¢w∈F‚̾k;”}êì{DhÕ¾QÒ¡•þ |Œô‰o’_ã°ç¶ñŠcë>Â~5T Š-?ß$ö ‘»‰ö Â~³mNBÏoÜÞI d¯¦§Ô_+_ÓÅ#/ç#u6úöbü 2¬ƒŠ7á±PQ9XQÜw‡¬9"é];l-FT¥ÇØÍÖÝãò=µ»‡ÊÜ’Àéˆ?·Ç¤ÆsŠ%ÀÏÀºáC(kPC§ÞeÇ<ó½ÿ °qPLSŠÇuëLÛÊôsªZÍø†fJ“ųðû®PØÖïçÎwå~ULnKS§„çf}½‘À·6Õ_“4 OgüYÑ?ÍÇüiÝà*2 ÛñÔ7×l÷‚¶-Xòç'MW/¯’ÝìT«·†¢é YòØf-œqÍüy•¬Ö¹lôP\ø—Ð,v9f‘L¦;sC±=’œõ+^ªe\;p£#ÐzÝ¿òyáHÔUIë„i¸ L§— CrgBÉ,í2È.©+t ´H r§¢E»ÀÉj?VŽÿ“VfCÝMöƒÉMý¯*¹D1àáª)\¹ (ãÎ~$©ò¯ú/Õ…`÷¾ØVÄdVˆYhñ(ÌæñM⋟€SËÚ–G4èÊïy…mاù¥ç#`C1£; ÎWØH`¦ª7—‘6¬­UÉ€3VÂM:xž ñå*ª„V¥›»¿Ãv7® D*z*”ôsr*NÖ:¡"kï,¶¯/?pR()øŠ¢#ø¯ K[Žã=£4zÐúy5Í@‹)h~²™ð[‡3Úí ¿tãØÕžÂT[éR°’àñØ„çÿ`§ÿÄH°ªÕD_zÐÈjø±Á`'ª‡Zš_ )Z•u÷aߣJ®³ŠÞb=¯ŠµPی;iðÙ1Œ<ЇÑÑÛ.ú­Ó;¯`M0F˜L…¬xl», æÎ7à8+¾&›Ó~õsª|ŽÊ+MUË·N¦oOÝ 'î„e›š·1Ê$UjU¯pß*GmÙM{Á(—œï#*ôyïªÙûD¶ ÍÄ ÖÉ[Hœû'”¥Âæ‚!xòX_˜¾…çÝŽÑ©ŽïEc2É~Ú@ùD’×döÛI¢2ÂN–®§ÖVYеÿS·W¤åm[Íàn‚ÿA;û¤º ÇÈÄãIÁ™:äTÚzŽ0¡¡6-¹´5DɄֈLÃswj¿/q[ãË–ð8B§ã@üϦEs1b\[”Wu«ç]¤xF¹§¦ÎÑ  ¬8X÷iØ÷RgkÂÛ¤=ìer’—Ö.Døæ„o0`NîøT~$ô†.XàlÙôê0¡-tw ºØÆòK³§|%/ÿ'–¼XÁË£^…aíGÎUç`D<Œ«®Bès2ÜEc‡BD…7}‚r^þ`E&v*#´~î–'£ÁŸf,:T³wy9ìõ2ÇZæ¡A"ü4e-˳`ýUÉIˆ×ÿ`臜 áu®¸F@å,Cjýܘãõº »NP¯Ù=½2KrÄ2$sbm3ª`YcRké ßúÖU P}^!H„þ‚ÈR™yëa¨áîUã×£T%/ö£¡çFà÷ö$±z<%?oýßoË ©º· RŒ(®õš†zHpé#f¡Eà(„Õ¦±C½Ä€¼lK^â7e¸ é-½xoQÎëJO¸[±×Pf7×¢ÑažýMôš-P¨¯o·–ÖíºY ¥ŽÕù?f"|v¢TÄöœf!u°_gI‰ÇµíÌй–TA‚Wsðe­üÓ6¬þ-+ë?0‘wâ¡÷𸮀³³ë¾º«ã ³š|•ÆÁæ›ÄÚ–îí±ªº‡²ý?E.³˜6æ‹?üWDKaMB2 O¼92pøü7X$?9‹†~Ö8¹æL×( É{"ò8û×eµL7~ÕÚóòCÅKpƒ7@SgX! A­ºî)j[­òÓ\šrêž®˜qÛ¦ý´Œ÷Ÿr𖡬H…1*(Q?M'ð¢g½ÆµÄºŸwÅü"êÇöq8*`MÂ͹â[B™ðÈ•P^ÉÅûPÞxiÔÞs)FjÞÔwKtFÞµMÂxÞØ$‹‡zXˆZ”°”èùN.”BLÜz¸ô4ZáÐC|Ťƒ…ÿ|ü©0øzö—¯KwýÞ–U¨{†ƒì!}$,ÞìOKí=§v"”O:4ZûÎm¼U:88L®N¾!ÍyÆ¡bu/®Ì¼?ÛÿžœÈ·Å€—VÚt‘UX[‘ žkù{³aiy.á6û¸0—â¡xöÌ<·G¹.R¬Úº”gD úÐ"–ûvãN%U*åkÝM0f挞Éàêþ‡½ègí½<Ú´Á¥9Bàë y:á¦ø‘õZCÁ1¢„]Jß[ƒ@û5N„ö-bZt‰/™ÒÕ?Eu®_œ¶Ê™ãï7&'û›ˆÀŒ­„ºCgƒ<Ì2>ÛMĦڊtÁ% »BÇó°SþÄŒSiºå(ì-*jÆøÔÞêT¤å  Ï;uuýwI r×8Óì`$ì³?‡N{Ô®•5n‡²÷ÜN²}³’/ºæüSãLt ½©K ÄR2tšÁìsÍ¥•"u“>FÞǨcº•àÅ- d #ñ؃Âè<ÜéIMÚÆÞ»˜¿»˜í›_›ññô¥päÞµ@Ç'Öÿž§tì»[ÄZkC@ .]8ó­K½Bµ™RNŸòÚ|ø,Çr¥²o)D!÷­x¤EPoÂ7Ù™RÜî«zÍå;Ë¢Ær·“ŽcÛœ“6Ã#žÎâö ú‚M¯µš* L8³NøDøqÛ§Ý…ÑpÚ¢yóÉp/7x„äù©¸Å’ÇÑå~*ã¨ð‹ºþ )lŠ¤Ê˜º*HŸ< #$Ððq= QÔÿasYÂ~}áe3å Òäfð¥ÊQ~p åø²pŸÐ§k¨p¢ð}æ3Ä¡‹€2¼c9YûÿfìsGœ¬8;|¼ž#} Bܾ#³lä!›å.†nŸxçw‡x7߬Ð+ì ¨“ÐÌÈ2 =¿µG¥~á. ÿpŽ•9öšó%4_ûÕë,ϱD»®3Jé¨ä¦`:eÍ %§±,VÉú=àsZy³H9¯¹Ž_d\Dƒt AÑE«VòîfA-íI¨Ûíý}@=ƒÑ ŒSSWƒ›ÄȨË1§e‚ž¢88ÉÅ‘LÁ!·IÄyF•44#JìÝÔ¥”⡪ U ²§›{…§Â¡È¯È>v¶ƒ¤é#ÂOFVÜ6Õ9³ Z<‘oaÃë¢Nu?Ýt³T_öòä¶aoR%<Û’gàþP¢Y5])äCgƒSaK“?h¨ŽÓÛ`ÅÎëÙæJ ˜Éî;]’ô.üR&Ö¦3š-Ã%GˆUð†5}º?Àæ<\úlXÞe@[”EOÛ.±S¶9Ý4©”–n Øháták §ûpëEØ®µ©ã°b<èÆ<> ­`Ÿ†=‰×¸õ&˜­e¥ ²¶qÐzâ_=Θ¡¢Ì®WÇÖ8Wbj_»ö½^ÛÀF³P˜2rnšÇ°”Y’õ˜{Š[¾“Í °Žd¯m(?>f“aÿˆS}Û{™»ÔЈ_ ݸ³ñ¢#ò­•šºlˆõ!C!ßÂ}íPWT|¶4\έ7ܼh{µBpûS‹œ3Dz^ÎQ>S%™­È7ì.¶k,ü­æO4€^‰èÉ¡@ ü³ÖÌ”›Ù`3Rlzv<ä#›÷õˆæ*ŸºX‚͇Ûw%Y &·¶ç–àìŠOQk¦ûÒF8Ý›<ô±¿Ÿõ¿ß¸tý|„é¥úS5úÈDüäöƦM‹…˶9åKE)5Uñ6ûÄíZßNsY^ªüÕ¿ðKœ€5»°€0çÃÎ8ö¼ Émlýióâÿª›Õ• Û¿&+ñ²hºŽ Ócûðe%WÎå_Ê­¯šJ“jh™q›‹}|¯lÊ©¤% âmGìQÐp¡ÕΣù!弯Ä®£4»³V‘Àh÷²ÃÊa®ãB0± 1ž|ÐÑE µâ8+ŸâÊö`Ýeæ2v)‡‡üØå¥52zWÏ„žŽ#c' N.ˆ–Sx3çCqoÖ»‚ÇÁN"V%‹$.ÏžºØ­þ~†2ø…¨CÓ m_- °9Ïá:wæ4È-1•b ¶ø»ÒÖɨväí¥aÞ‚hu«ËD8̆ýìP’좵ØÓÚÿ ÉpØÔNç©äW ÍüÔ=~2ø;÷„ýoTlÒì| ²|jHÆ„ Ð<ðøËíR'Žl0¦€ý…;VJã0§ß¡)kóþË é„ï0®_ Èc•Hÿ±ƒ $†€ÂS{±n2e©ÏuôÕÉ«åbT¾Oi ‡ïXþ ðÝ•òÑÍ-ÎY²™Š~Käÿ­%×NÄà«5›Ú¥{&‹ÃÜÒt»5ü ÙSÖ£:Vs”²@ò£8o‹7Íš8£½×"Í+¯Ø¯ØñŒ!BFì÷'RrÜ.¹ !êyÅI•;•„ös;~Œ<œµxŽ…Iÿð(ñ£û5dœ‚3{·¹¶cŠ*ŽtÅ{ÀT}ßTœZžž6‰€ñç±#–Ï õê†UFò(AîBG±ØZ˜Ö;ëÓùú‚SigÙqabú{ŸTŠŒ#Ãü¢ÛìD?GÜíY¡1>”ÉÑîÐN­=4}“•…àë. ÉÙQkÄey€…HÓ•…q`onõ3¼{ÆØ],'¦OX®HíaÝèÑq³XÉ¡›}zÀT0˜ºÙ2‡OôÆ™å8ÉŽ|ù'cŸ)æž Lêo|Ó& €°IÖ‚Ôq¤åo¬iøn+7ŠƒÓ°ÃÍ.ß”}J9—‚<÷×R!Ñ0<é¨m»¶4š«¿Ðú*½vWE2R ·ÅÓŒ³IQÒ‚„–¡qЬØf8+œîܬµ'+®F‘5 Õ Xk²Îbë=tr/DŒŽFÄóJ|¡ÀA8¹øèŽ?‹º¬ úç½57ü1‡­â’2ùêM€HZ8¾ó+Ý¥ðÉëW@à‘ŠïIz“-Û¥Žõ+"eI"a ’ÛµÕ ¼"tdqênUjŽ»ìKÍRyK¼’“T† ïÏöey%Ƭ øj—ÛRª]-ËǸ;÷FÊ §æÐ‰¼âøãdalˆÑ‡T§v©ázócþVî¬r–ØppéÊ#ûÉ»ZϘ܋†Y£ÿ\È‚¥üÀjÔ oÏx·ªÿ>†äƯ"ÍÀ\I¼`éår'·»3·™1\¦Ë|v³óH=«—ƒãHÉgUûÌã€È˜‹ëq¬rÏ:úMÉPé¶5:±sD$‚Ô°:…³h Ÿ× Ò«tªì¦è:‹« ?ë¶A4A:]þÓ,ãéG†@Ô1vA›©îNðãNÚ:ο¶ÿƒÑ}8ÈÂ!Oàs¸{.Á¨ªh%€>Í®õ…ˆûäÇÙƒ¢wþ½ßmȤˆv´Ù2—G§ÞEX·a£…™_¾ûƒ<ºE®´.póØø&6P:3i•(sM^ Õ+¼x~æ²u¤tT¢ ú*è€Vï¨j°{Žgçù õ1ïì§™Ùå>â5šÀ ÞÏïÕE§Þ­›ña=–HÇ¿a“íR _‰’Ÿ@;®ø_¹q,Q}ÓˆÍò\}½ä+z_86#K$váKt“{7Á°ZÕ—ëT-‡Þ¥®¹Ãò¬,òÇ©‘yQñÓ½Aá:‰¯¾~P$_€˜•ÿBu+¯ Ö…ºÜ-ß­;éÅxÅ"˜Ny¡‘›Ýó*ø¼’åÜ B®)ÑlGs‹Š3H`ŽLzçp ºª†;™¬ïœ 2óR³Å«¨Ñ¸îV¹üôPÉår½5þ»Nµ‚'ŸçØ"ÊXGejB ÞJ*¥ÍDÌÆ¤#±ðµ=..ôÙïF‘Ã?vts‡Gs¥‚ŠÓã, à;NkXÛ=g/Ùâ{Ë5µbí¾§Išmñ33ÿÀ¢sy¾z ~Üæ¯³t\‰Qó·rQA”½OÈ<£¢´íO*ûzz«¦U°ª€v@‡·±fWê ö‹[bÔ|ÀÂÜŸ¨@&[Ñ:boáâ–Nƽ’ßÖØçð÷H qÌàëÎBw ,M,*ð#–.ÞcÚŒì/h‘?Ø3“Û×j°{XqûÚ´$Ð+F÷¢ ÿå6Ï.%hÑtYiQp´ìóØC­èw㟥~ž€tÇa´‡n× :bÁM®0ê3šß¸ñvÓòú)¿K-Mãò9ág’»Jÿ3/øÄk†hÑ™ËY™Óœéy¤Oq“»ª:Å®vVè¢òçRl§m60j†÷Ü,}É‚†¿€W’,”îgUûyç#Èðc±C’ôƒì8šT8÷’ÖíËNŒúŒZg–GïULc+Ž>ïx!œ+ÆÑhøéT^[œì•\{]ÆÀÁ‘êëûŠq÷PÉÝœîsL+öE±AÒmC;ºðù÷©º"I©!ãjAûFUÿ©àaî)¥>r®ÙšO;#ÆÖíþ#jÞ0õ-)X+ Ds'“ffk˜ó r`>ý“>qñ)2–°ÉFǦ lã„C¨óÎdžØ@® €áM-”!sL͘’LVሾ 0:CÌáî÷_Ñ?óívÇ÷(Ú(â(ÏLð C{´Æþ ÍòPGÔÁ½ ºªœÅµ‘Ÿ"pð{®CLÁm(ö¹Ý‡*6%,H®2 r2* MŠº\ìwu?ËNª~•2IbÌW¹Éç–gšÕ½N^™»ÊÅÞ‹þ&DäÖ#ÚÁvô¬¨ê¥Õ÷eCu9t‰w¹ÔQhC©GëžaecÙ&*î+á^ß6÷¶Nô“AË0ÓZŠ9,bò¼þ…/ö@˘Ã'Þ&¤¤U¾Aæ8濾ܼ;ŠO,T¢K4޶³â¹þˆgùâ¥9×= ÖªÀæ»p3DÑ›«ºäìOÆî¬à$ ?¿üß]Ò¶é)+@¶ˆ‡Šo?ñç ÎØö9Ù 9—6níDAîz¨‚{_cÝ@ž'„ Y:§^3ña€ïÉ Ï¶[Ê Ä,“?0k=~{Dð ô&+j+ÈXÚà@•Íìm"¡Œ Ð8^Ùõ£Îé‘x\þóF Úbb®´¢p=Níz`Ö¿À2Åú½“hìKìöœ¾Š’Ir<ÄVø0ðŽ[‚[Øò±+ \u©Ìp!Å& „»´ˆ'æ,6ìí_ÁàîØi_\› ð³d>@ ±}Q1·XØ*XE¨éžš’K÷´ˆç'™’ —ó0Ë µiYÞ¯~r8~œ²Õ¨ ܳp°¢_ÛIbzw¾þÏ–ZæõŸRºŸÖï•v \AÖ¥%#±Ó 椪@ÍP4¾MJ÷&¿› ¿§†NfO1ÙçÒ3Q‹×ÙГS]ÐÄ<@µ]òŸŽ8e»ù hLtTvÙ»ÜZ‚xœŠÕ G!”ljhIôÖ%§Óc먖k62ZþàK¶É-è"‹'ŽgiÕ)ü¿ž5Cv@db§÷qƒ›àa¦X^“-q,óvÊ ¥-2qË$Ï«ãlï£Ê¢oR°$Ž'Ø·µ©FÕeña=¾ÝÈmÀGŒamÙÂ¥n0ÁRõÅ$-ʘ±1ï”(·¦ÿ0šÆë£Îý ö_<&pm|çÅ\åWè«§‰%cÜAù»‰R«qæavŽ/¯2D'V»ì¼?Œaq ïy=Måû#½»¡3 •L¥kQ¾(>|veª,ÇÔ±=9FUr¤Ÿ•D [©OB}³0NœÉf¸À¾N¦+©­ÚÕ>+foʘAr^ ÞÝ¢˜¿@ÿösÿÀ þBÍÄÁÄZü<ÖDa»)?D*jDÿ~Ze_9×ãv”Móqꊲsâ$šoÙ½MÆ­dÉ0êMÏŒ8[qÒË„g…*^(ªƒ"¡V©²wQ ^6ƒr¾üõ.ÖÚ—òÂ@qîš9¥âI€";ÚÇï±ÜwФ¸4ª oˆkçÓŸ¦ʲ¯è-S˜–Çúo©‰¾W5¼Z\ÛdèQºI*G8?ÎXÐÙsÅÿÀtEIL¤x½âk øP_•{ÄPÅG5=Uµ‡:—1%Ô ÍÐÐÊò~Ó{¿WÈe¨„Ýc.ˆÇ̳²²øXôOŠ2{è­9sóRÓ¥`Ÿrȹ]Â0"£v ¨‹øºdßz¾r¾tà”¥-T§ˆNÑÝGÓõSTòŮՑY„ز½ ^LÚ´U×X{¼üÝ7_÷ªu’p>Ò{ç¼ Íoo6M^<Èl(aPhˆ£®©¯[÷nå &¸«Ò.Û'G$âË NUp4Èë—Lܽ"š·þLjú”L2‰ Ëû¿ˆX¦C½k¥ <Ð ˜qLNGJ„£Ûe„ñiÄ/6§WÈ+;Ý×/Õ«•³×M­Vk XTlJÑm†Üë@)p¹ÿr S]a©ñZëâN{fã`ìÉ›eÓ‹2ŒÏª5î§4÷BÎþkrW@ݾgí±SAð^5ÜìÓÿº”‹Ãçú·)(O>' Lè[m1.—,¡l_(w}kY"„”ÏàQ°ÛTÝd>Ä–§Íغ¿s™tmÕ:;n]]ÃvÝ'¼j}SÌõ4¾ü¹‹5*6tXøùQó°W™è2ÔÃmH¾×}‡O8Ÿ¤`çIpˆ)ß:(8Q„Úùq%@]Ÿòž’"—„}ûý/×ä‡\êq®ý¡%ЇÔßtÿù´1!„¦0ˆdO3½âÄ!H ù¡z9ѯÍÒ*Ç æXh´PaÄ6© ÚÈ‹or-‚PåWœD‡Å`Ÿ0½Fˆ€ÿj4Áós;ÅE>]=ü†¤¥ ­.=öAcÄb4Ï35<%梤J{jz¨C^f˯Ëvxx®vB¬àTÖq"ãЩÒÙˆ>‰¢¾F£"á/Û܉óåë '4bAƒ%õ`‘‚ G=2u©?ð{òÒ¾¢ì)L„¯_Yˆúà9ÁÝ£°Ñ f'Sß”K&íáM>­•{Š#@Þ,äÿ¡‰£»[® àd›žÁ¢NX&&îNõWþ¢"°R1@‡ÔµÎ_¨]}ÄËÈÖ)éqå^ºákØÊ¯öÒ‡“P‡&ú Š…† ÉËu”Í<Ö&NµÜm¯®¶Tá§5%ÏDÉusÚ]Ǿ ¢˜#kÄ$ÈU~È(—ÿh}Øá‡åè)Öo ù…ø*§îAú¸|‰Û¢_ìIz–ðSÿΖGóä¹5‹ Éx.ì1%6E·+$ú}“Ÿ7ƒ@Pâž©™¦¬‘.ƒ`†8’¿ü&(ïŒzµ£âÄ/{\./üXÿ‹_q5)óâuš|YVK§~ü6ÑÙ_6ïi`P¤2[D­9ïŽBƒw-R7ô“õÌ›W­¬î„,@l-:FN/^Saߣ4iLñP…ÂN&Ô`œ£Kâ$çÝfKBî€ÐsñWV° ®ŽY÷%ïB±P'”£»ƒHþ¯[IJJ ltS¡ŒFAcýs~*|ÓjÑU¬u½u;cÄÌ=ÂmMboðÂ%îÔ`ÆäK­)Ö›M£s΃ÀimTñÉ\O) B oý|ÍC¤Dâ'[¡“ ôÉ›¡òäŸZRVaw¨ZÒ¤"¬F‰¤¹>‰þe"[7zVc¨;þ0Ù±6ƒÍiªN?&¾Ìu®€½Y·,Á†–ö{ñO4VP:ñwøÅ^X+°S Œ€K¡À3^íЊ‡ý6kÆâŽÜß4âyy?½S̉ÈÉ”GÚ?œð™Iò£”ó «ßZõÁH‰pNA‘º‡•ê*ãŠ(”'.’G3ÎÇ% f@îÕ¿ô´{&ÓÆ~–õ"Ú˜4Ìy?¶· ^Ú&‡ —0,N‚i³Ñ¾E“3ˆå›¿óV”¸dÃk22 ðß6ઈd`cÀ`Óéóöÿšfɪ̳ªÙhälO‹C%L^Àu™è3~ ¤{‰g\œŽûŸ‹8ì9ÀmGNÎ ‡]½ƒÓZ9EvFInÈGYN‰·ÐXÔvøì²ó¤…»ŸèäD¹ÄÉþTjQÊŠ}Jò28Hh„…„ójÓ7‚+ªòð(0ÂV¼“göïžFCùžà´Ï‘¶52„±xÕ%š­¨ä’»–Þ-¸"Ü~ç8¯Ÿ SRr£š‹›$ýi„iT‚QS°"{¦á·ò¿ ñè‡Ø9Ù¥Ò²)ö8A<غÙÕR9ŽõÃAî¤Lðp:Q1qéNfFö;}ÂZOÅ£<}ÄyÏá^Ä0ðÀÙÙÊÙ¹$»-Фð$SÌ /^Åè2Rj“ løWZâ­oØÈ[®uyá±”wì<æÂ¸c}Õ#ОϢ󘰡æ‡}{À;­õæŽj¨ÌXÑc¿¦á‹_Ëñ,3ЮÅ_÷]H)ÌéÀYÑÜÏ^Ž÷£m0Å{;v’#,Ô‘cbéú&1¿"Ç8lNºE÷ˆƒX ¯ËHG^Qcq7Ä!Š»ÝðÚf¿EwØa„<î®O“oëžԴãV¯$43»4UqÜÃ;ßyiØ€ŸyY=Té*Òæ&*Ù'¢.,ÔÜÈ ¡Ic•ÿÓ­šå‚8©ÿo1J±—ñÿœ¹ŠaYøÆüÿsKFz¡Ó:ŠrÁàŠd¢>–sØ"f½ˆR‘h,­[ó:…½t«ÄË–2 ?É´2L 9&ª¸*fA{Ðð2¥‹:;] ÇVwÕ P×í<ÈŒåÝóÓ¹ø¢+âÉŸó!ñ»ŒñN ÛZ»¦obËÀ­wç˜m]Ç9›¡£L~LB…B+W„Ðëˆô‡¼Ìw³ÈÑ%äÔß—2cÙŠÐR–…9¢µÝÇÀóßÖ苵­‹oªs©õ£µÙÃ{_oq)pé¡RxQÒ÷kÜ`¥õóDyÇùˆ`|žã*¹Ìú”€Í §.%oÕ ¶ÅÏ…â+%%ÑtZ|ôÒvÓ×îËð÷ñ†Åwßw†1Ó[G-°HQf›º7Åœ%0QñÕ÷G§0¼õs1†¼oQëD‰S²‘@ÿ-S¯-_e£ŸI®¼tSFà»ê8ƒ\S§¨‹$®ÔWF^Õ£ž†&£[ú¸%1UM¥ÄÛ¯¥¢†/ †&²U A³gËןPDÓ%ƒ-¼ßôø_€r&®:!5–»ìcZ¤ÞÂ’Û< ]±¥À®ËÍœ„† e §œqT¢úŸ=´²-ä÷Þ.úÐOÇxÞX[°åH84DI1Ùø œTšù$׿î ^ä©iNù“×$Ì+FÑÀÛ«îò&—æ¥ÒoÚèµW:­¹j¢‰g3Ëð=ãz‰Ãp1ù&ç`ÙZÎa¬â±È-gX?Ëúð$Ýy¸]žØô/†A±OŸVØÏŒ‡Î F¦– M±ˆM,…('ØŒ å–"ªz²¸ÙdÚcälÊ1‹ed0 O±¦’,1tx1}p*/Oa1ئWæÊ­Ð°ëÍQ!S<œñŸ‹Ä[„cià<^¯Â¦‘–&—Ÿâñ~ÐÃë’±m¾ï)Ÿ3ž i ?¬É‚#|òÄ<BüyzÞVŒ7ËÍ–Ù¹‡ š±$¥½Ž4Òt·¿Œà~eîgÂz¢–ð8·Vò»Þv)þañ®Lu|äY¡¥.`f/(&Ä^¡ ÓO´uÕ[lã1ilsÝ€Á$öe†pó;ÏV,ÆÌ%Õüp³@ÃÖR(/rêðu½pÜA×ªŠŒi¤˜,Öu¹ c!åDB´'­Ÿj›ÚÃ[œd•5Í1²ÕÐ5h÷ý€Ù‰-„ŠëD0ؤ6™¿æ`Ï€TæþžÌ†®ú`ƒ#ûo€98Ȥ¡bˆUiîÍ4ÅGâ3²Ø&lF‘“Ì)¦5‚Ç–yËžÖˆSü°Æ†‰$þ˜‹~åŠÄÁƒtb§;2*—2¨·T‘R‚\­/‡_&µ]*£Á“‰DÆsý”\—z1V8²ZQÛUxé[–õñ¡Å‡ìÉÌUpÅ^Ëìˆü„ßpCÚ‰b~HéâI;?(ëñ¼$/ó¤àïlÍ=c—Jë ¯¶=Iz`¤hI|u2¼SDp“¤^I'³Šó˜ Çýyì å—mf8Hã†ã݃÷ ¤.ÙÐR$cE#X7#G!˜3›ÙCSLŠ®ÎéðÞªébI‰¿£m™pè0úCøK6žÑ’¿öc$Á4!B{ÏÐ Ê—¶.±DÔ´|§ùÆZÁÈŽgå@pÛ#ñ7ÛÿÐýòþ;à ˜ÄäGð´$‹-˜\ÄÉ/ƒ¡‹?¿^>P9?´àõÕ›…6E˜Ñ‹“˜j«ÌyFJÜ)1®ghÚ³ž|¹ƒŸð±Ù;BMÙHè ÉM´j ¢‚WV,u1ðtÇ_'Ä'|N2tLº‰Öu´¥—–ªÿUÿþ98f±CBë(.BºYЕm]xc< Hàåã7Ÿëã3Z‘2¬r‚¾—mhSx $Ü­ ¡äÃ#$;¥/ªrq,À1/<ä¥;€ªz¸nñD*¯ÓŽ6×WÀ’@· É& UP—æ€NB˜žã H¡GIõ4Û òa²ï3ý&<åZôŒ m6à5ów¯ÝÅBæÿטË,&Wð9&IÂ.ª>˜¿ :Çc9Ö´ËMªâáÐÍ2¾ ŠàØq rJ9¼)iÙc™ùht·ÇÔ‰`ù€ïH—9b| ¡=IöÆVve€â'D$P%É¡`˜>¼Ÿ‰>øÒî‘6eP‰«‡²~¶ñʬ ØÅ@Œù«2Âl´&LnÛ‘iþO‚LïyŒ‘³ "Å>êJª€$ 8#‘~»Ÿ%ÙjçCË&”–Ìb…ÇÕžj$Î>쀕# +_98e§ ¡2Ͳ#Pd¥ wS»Ò¯ŠwbÑhV `É(®ýh çŸÉoK(%lanY T¥Q²ø+WºxË¥Ù/Á5$ÍnïìåsC­H ÁiÞ@ÁÅ3ÕdÖo'õã×OçíÆöQ·Åüåµo+HÎ’>33 £Ñ_vÄ3øbuH_m ¿/x(×ÕCŠ ²£Y¢¤·ÝV¿/?4[úÑÂâ|œ1³œv¯ëlÒ»³}Uv”žÏg"wÐvröÐá|•†; û²us©ùR`÷è c j4{;5azÈÇQwåÝÄùèDßÄ]i»SF0¨@>îàšÓNĶeÞÖ'Ø"-wÊJÖñOͳ⠀t2DÚ¸—V×]í%©}òÞÒÆt3=)ÊR!—"^uÿª|§#ÚzM¬24µ,joWÚžLWƒO–øáæIÃv'ଠâʤ?æyáY Ëì®+ßAšŒB¿®NH-ËzìÎ{ÇŽ=øµE¦”a†;ÿHLV!ÀÓo6¦àpõ$s¾/Lò·¼®y~2Žù…|¹ˆ€÷9bp¯À£÷ ăaÿÄb`‚p'·'Xb6ˆñyÔí¯ï+,ðËÜ<º*ÍAÞQÛi–RÂ^.û6l¡ðHx2‰6Á(ð|q©ô™úŸ'C;eð½#ª—§Ò«Oñ@wáÓßÉ”€bÿ«ÃÊ?Äï=ÏéÛÖXÇt"ŠìOàôW£ËMI§Fá;i! ¤zSj#RkæZ]EJÝ“Þ?aÅßn»jŽV€ºr3ž¿\g™cáð§F'(I6åBÛÙI°â9@ÚŸMÍÒnFôb{›{CÚz­Aß(Aa-##äEèÃJc³jßYê-è⥽̃É9æ’üÑi*Eù¡K=iY(±`#¾üU³å¢<ÌJ‹± GôêñÄávÑ #sûëy4âÞZ¿á¨ƒ¬™{M”i¢€†©XBR…лYD{M”|ˆ™éI„øðdð‡ø…¾Çs¸ƒ±?`ÌYä };pLpZû5L8Àô ‡ã1 •¢ ³¯.½.QSF•ù<â)ô¼½; ‘F[fÞ˜ó tD‡£LÅFL3?©i¶PÖ‘Ö5Ê[–buc[ÿ.PÀŸšÅýöW|–¯-Ï;<ÕýŠ$Ý/V=û|…­Z*”€h¶ÙÜ6ѼoÜÈú!׉úaÒ<.®£~ýqü)@§]5²>2» ú’ûç46&è—ˆäc:€A`ƒƒºúpoŽëD=¾À3l©ÆW;}]]§%È«¼I’nßÁÞ¹7W°¸åB7 Ù½¦O^ÜRƒžŸK,€qH„3¨ ,ÂÿÙ+s#K>»]R ÁhøoIüä`–ù²6;¾"0§KD°éø\/Âï!6RyN¸·þW âЗÆZÃ¼Ž›F„tö(Ž`ŠÄBbÐõh<ªÓ@¥‡™QŠrG¸Xé—ŸCx÷?ãÅÆ?HÛ|P±Ra!¡or€h¦Œr›ãÉFôM”EèC…-@xnBt¼´cl ( X~²ôÀyÞ˜!ó6S$,¿Ñm|vµrœ£'Ô‰æAŸ§2ËÁ0Ã…Ràž×¾+¡ÚÉDî"b( @vã —úž6òµ{%Ñú+ˆ=%†\®ƒ¼á8•©ýÌ"öußõZßÌXÍîíãLä4;ÅAã oÓHn»Š¯,qiÜý§_ÎÆ{Ù®/ÕÓž™Ýn¼¦¤PP#W¨näRö–÷ÿ¤%dÔˆGœÞB*–Âá7»¿2º®;ѧ[šyU"pç’;€¤móTÕŸ#4Á$2~ž£"c&?BiMòA™-é-)áܧ¼Ÿ‹åu_A!­–ü¸•¢…°ýR.ãA±Ä|21¼é*²(Y9¬>x„aYtÆY ÐÁÝüå;1¬ås|j²±BB-vXNUsv:¹-+`Zù…|³.‚S11iHA²RßE#ÄÁñ_1ÎMLN‚ m?"ZØ VbÌ©2Ÿùž1ì38è´ý +Ó<€3×ÁšÐûÚTYLWˆïã!}É'>ò¹ñE^i ?aô®½ ã‰üÕƒó{ûI7yxãˆ2ú;NtíW[>¬”;½Z6±0 küüGa"æ`í¯Œ¥7¨¨sêP4èg>Hòv‹uïW3-òo¶Jq.öÞ»XøƒŒ -V>‚^´ãsg"¹ît™} 8Ëɧ×ï l,Rç'bíF1òOÓgïïrg3¢—Pxˤñù09.Ÿžp¢ì ,æ‡<¦å¾Ò&褨šŸúRÃ#¬G+SôO næL‰H–†þ¹8Ú“%ˮؠ¡©NC~±¨µN†~TSåÏÉ>çäÀŠž1‘‚^š‰éŒÓ¾¯ Pôã¢T¬úWE“6Ò8'‹>½H¹/£haKƒé$—[¥i7ïAèoB'¾ÕœY#Ý6†sn/ª•Í&¤´†þF<“Š}rgH ,åbxºùJÚQ5º‹V·òkèðÜ`¯çÂ*LÜs7€©‰CD¸€ù’n´«:ðz‚N÷>^Cô4±Xߨ>IšãØu ç… F¿!Jqu'HÕ^¸Ì¬ð«)øW-¿¥ƒu›÷EO¿‹$×ðZµæŽWÛÛ¼AŸêŸP€6š M!¹ô•+%º<׺ÉáÎõ,ë×ÜD»üEåì:Ò—¨Ã´ý{zl÷ež2X¤j™}ΪõµµQ1Æ Æ¨]ppÏ&'ÃÑym œ0%Ú´Ó²XH—ÃõŽœÕ*Oäÿ¬q˜Äú›>Ãv MÍæZUl¼8Ác[kn_¢$Ö£-˜ÒA04N ðšMhC¸pÄnÃ[k«nõ+êóCÆÛÙ¼'é'ÍM™t#$œ1–,z?…Õz¡Ì[îÅQ.‡%¬ài÷ËèÔ)¸1øbÙ;Äõæ¨^÷äýý€’!q–›j[.ypØ:‡“„Õff¾‰§üડœ0;…ŽU"̨Z“â]VG€ ‰^äÑGPPk/ Ǽ,œÒؤ„+¥³”ËÁJªµ²^ÀóA‡,ë•Ý)­×̿Òw4d\¡&y}_ÔmuaaÀìëQæ`p ]â·Æ“’²f4$BmÔW·Y08ÅàÿÀù ø•9Dô­+˜BáØÝb¿2®áX5èÝ’ È *¦‘s€6çOJðß*QíiW¢½ ¹i`]FC²måÉû˜:îqˆ¯²Ùa¢}ŸÈ¿qL+s޲x³¿ÍmŠ%¬çËæó!ˆ‹Ù•ÞÏa•*+̆O|vHRü&™¦üPž®Kd|m]Å9ñðjãÙcq '¢q­1¶Ÿ‚ñ,¦G¯nyŒ·DÚ3Ça¦ //Ê=á{‹º|\ÆèãíÍ-Ê3Âii˜?©i>YFl6/޶²‰üÔb ¶¾\'RÎ "Ùö‰, ”Ê={8¦t”ÕÁË!UfÉ¡$8@¥&³3I)ïRŒöÍ ‹•‡§·deæ”~I~úícÏç\ÎK¤V öÜ æ=©P†ÅÔëf¾Å"3Í1¥ÀRÎOÚ•DõFe£W§‚=dr3æ}3µê‘­ ü%l»·~·1­[Ëçü¾Å˜þNsJ QaÎÑχÿ»ßPÓU4­a‰L ®g{{&h\ø9‡£d4<ÁÉ;¹ÀË0ü2ø´„àço+Ъ–ª+ó94¾àp°N=ˤ ?ÄZ!VåÏ¥sLöìŒznznam±’K‰ÜPùÇó›ów]þ`ǽÀ ÿÑÙ!ßa%ñNÒIl³ÇíNTl% uÉ"ZêªWÛ©èù—Ý‘[•²-©^H׃™ÁP0bo| ©€JŠÓ²UØmëîÙÍ%Ð6Éò®Lå}zv+S¢ÒÑXsô¬Gr6º8±žá v»cÒPÇLHvŠ^¨à•¼i1ºÆº~à1b?î,VE ¨8¢kÒŠb0܆Ïñû:t•«Úƒ>RþRâ%tTÙKÉM3zé¼Â·Í¡hÛ*o.z\Þª9 õbñ–,ÈN„,ö ‰órÕþ­Ë¿ïQºëö!‚äŠAß*òìÌA£TæéòOS%ñ/!Î'3D%àð÷Çb)±Åt0 aëçiøóâh%òÁ.Ž Ó“ Oëž>䦆ìÙ£, 7§Hú ¬‚æÀ_<Ç ˆ±{Bþ£t ƒeôNÞeéðåOé5v5g#JÛèÖuZ:¸ŠGP1>± ŠÔ—S~;ܑӰŠ»ó9ý$æ¸ýýA´…¬_Â9píÜ_,pyÂM¬w»¨^µó×bŠÃe>²³zñg¹¬™ÇÏôÛ«'÷ YžZTŸx+ 'º˜dÞžÄãr]nRÎ oÜuö¶bâ&i~îÿ~P„b#Ä·”ƒPS“×2þ´ 3¡ȼÏ&6%^—à´2<ŽH¯R0&朤t Îøáaïý¥;YâÝ¥ŽöF@©¦EÿΖi"~ÖËŸÜO=û«äX“‚ úì±¥)?(ˆ¡éi¼´70Ôö0`.°åöh?[ä9/ÚЧ&ñ9‡i-¬ÂàÁ©‡ñ †¤£½ 4Oð–_Gþÿ–#¹—²„ñ£MXušÓ¸PXØmj Ã岈¾±ò{:¼rÞÄK ©¸’qÔwv+ú9ú纀€‘¤¯Æ»o¾Ý{gï÷ƒé!éÚÙâ“û1« -ýDér!A7©°W÷ù‡CÔÅF %üþ<^ªEt -öPÑÙ¿jÕÛ&±•ÂUœx²ñçµÈ>Ê™[Øíð=â?HÉ¥­*™ëÑÊ.õÃé¾ö=Õï¤+Yp nº£]!H .xl‰áü¸òªN ô(¶R5Ûž„ˆø¿O &"E‰YWòÊ™1D; ¾!ÂùOMé*4¥ŽLdR?W´§>ŠÔ5/)ž®fÙ¶ÔSÞ%09Žáá§âo+Vê†ß%d*; vEÝOÂs*x¢ÿ½„w.ÈÅ65&F[+©‡I®¨¬ÚR‡ÿ¤µic¶.ñÆØê…Üÿrgûpà_&˜sƒÃaÄ©iÀö=Û²ì^ ãÅ=?5éœ{¨OåÎ4âQ²Î`î#©hÐó/x[.b"J ®Þ`†lÝÔEÕ­~Ó‰H(T }Ê£t§I¾™+±½’ŸVmøèÈߢۭáÌ#R˜ä(žfÔsV‘mÌ9ä•Ô¾T¤¸¸Öèú™.pi¶l»Ài$‰š/Q@°ºvG†ÇË>kð‘È¡,Ό壭®c/ÁÓ~ù?-¸+yDùЉRAq¨èÜ®ð 8>»’×ìÆ¤¿³¿!iŒ~y\™qï @\Ú·M;%[qdàyœÉœZsm/…a …/^¶…”ü©¡OBs?…´Å?ø‡@äm³¡O%x F=âs5§¡Éb“ç žÁè±—ÉÛ®`xÊÖ¦kúΞVN%@ÀŽWPo/#¦ˆ|؉°†“Ü z‘ ¦R&Ðïa< Ü»€ÎÉ-~"P» cù]Gƒ)”½2Œ€ÞSû<2Úˆ{¼:ÄD8m‘9Í›ŠÑ2³Sû³÷PѶî±ãlx¸Ðs4­ÍئD“AEœFKú'v_”0¢1Wr•2ÃC[F]»…AëXÒx_žõeQ‘þL‚H›É6hΠ/Áa—h±¼hœÈ‚5úþ2ëo!^8c^ ã‹XW5Ä~ÌV šÓç1™¼®‘þ±ç4SÉ[θ;¸ÜLôY4¢ªWúªáŸR:\¹,ÁcrÓ&ÀäUµ®º‚“¶þiïãÒ)vú#)£]>Âja'[°Ó Kð¡«ÈãkâC_”èDΛ@D–’ ®UwµC°=ÞzyMO¥V*á |É,sÒ±KÁW§ÎpXì¾Î×ËÂd}£—ç3Þ P"ªzº†€|~{ÖÔPÓ™ÅêsÕÖ‡v×¶2§sžàLËCÏQæêÄ ÏyO¨ßÍYU–ZDãzHb¢¡“]Q°ŽühÄ·bP7/<¸Xݨ±qÖã¥LMøC²w‰¿ºmù˜úS¿ LO×'¾Ÿécç>Ì„×0ç5š'2KÿºW8cÙûžÞ^•Ô²oÊú¶ªEÙ‚ãØ¬Ì"x!¡ù+%: Y²\1¼ª´W¬ÓH(öB’+ߪèú„ mïcØrOõÏf7TÝKö‘M?EJrCëÒƒµqî+N8ƒC'Yt¾ÑGqÔ˜$Vñˆq ZŽ]JPO"ë5„WÅâ~§´ø}«þ^ᨀª"ã†SˆTíFœõvLÏÙ†…{%>A=ø­#-Õ{ÌÑ)~ÑÇx°"§pÕTáíëö•›/÷›ØÍƒØ¤ì~*˜­_Âd¸JÎô×_”°ßÁÎ̫힩9IÌÕ¸.9áC³5 .~CZrÌ,oG–MEÞ.G3r¼…¥žT j†fÙeኑ¼”Ö€‡§fèû.pç©Ý_~5 1øA¨EO¡þë)i‚°<¤$%Šÿ\ˤÐÝ=°Øî—3{ ÅŒÚUÅ€7û·N‡ú‚LªŒ3l’~Ð2!?~þ¯S„×ÐÐÈyœ‡'|Ó\¯AcmÈ$[Ãô¾Ck¡«jãWÅã(ä â¸oêb¸:Œø0JRqâqu‘Î¥U¡lÏÐÚƒ¯ÚÙÎúqeí^>r?rüÙVNXMùDþºkÒ!ʇ˜¦$¶7ÖwÁ¹ „Úv„:xä˜{ö'ÇϽ²lSŸÞö„T*Â>·±®˜ ÆË rø“%ëæˆ€€©V°y´þ ÷>qËíI$»çø©}nþ„so5½r«º:°¤“÷Rè:Ø’!˜0!Ðb“­f•—„idÓŽYW*ö߯™ùF:ašJ&n”–ù¦>¹B•=Ó…½ó HJù‚¥ s\Æ,dyC¢$3=s*S5¹7‚Ûíù•WÇÂÌå —Ü…~€>Iݾ§ô VL÷²w†¢¿‡Eƒy ÂâxL0HŒÇØL¢Ü;[»»O„複[H3Q<œzûåÈëÍKýÑ+f;pË-Çn¨MAë3 Š Œ)ÂaþYçȲø/ÿùI°>mV•¥›–¼ºVOb®…^³›„ã„0MÛyŠÀ šayCfog÷ß$¤e¹ ]‚ȶ[qÞÁ@ñËDCó•ËøËÁ«<:˜q™–ÖX1§÷¼bÏø§ê.Ný° ±ïÄ`ú•þ5—¤(Š1 QX`»–Fܰ% ¬yŽ!¬Žªzð{«ó±ùY8Þ53uoµàÅ$ šø¢ÀI¬ÞµN=n¸Eó—ÿ=…'ôT‹«L²À¯QÜЛú­x]Èvý ¦db……×,}‘ˆhC€ÔÇ”,\“»žƒ û¸ünj‡@ê,T¸…7:$ÂÓ3T$/A^¢Vyl%¹»¶b–úÒ•¼ûÍÜ}Þ³õìžTõkŠ]…/{ŸŒ‹§<íÚÈÁ0UÅéø³>öÉ¢åVßöLÚÒWzÛ`ÃëtUH{TàdYì_šÜéà(…&n +O*Ä0m `ž-Lì)(ÖOÌS% 9Wï¡F8ísî[ѨhÃæèõž,LÞòéæ5XE<®sŸ,9™³è]¬WD¼e'…ßÇ’ŽL¼…Ÿ¿£Sa:¡=ß¡/vï¾÷Œ ˜Oxé(7¡H¡•n#›%ú<"æ–ãëeˆáÜ“•ê!¾@Ó3ùÚæ€ÞÃfŸ#Û'Èš ,ýβ¦! Ënw¡±Î³ÍO°¾GÀYg†NKwD@í÷Q“ƒºÏ‰Êg¬Óç¡ùFê‰zjOrKoÝÙ]1=AJ‡£—á1Ow©º|‘Ç>gxÏ;žßï NñeH™ÛpFHq ýç°=–cNwð>Ôs`ÚQ¡þÃ>×.×°¤\~_Îæ»–¨‚õl/»ª[e<•­Ó¯’¬óùºnˆ×ç6&¨Ž 3XðèëtT¯cž ÝXlŒ@‚ Ìƪb@™£Ì¹|ñ,²VKÏ#¾=Ãó&çÌ+«50öe6‡Ô¡óWÃM&в[.žÆ8™!NˆÈùÈL“6ZŽd{³­ÛpXÛ] F4<„ðO?7Z8I-´‚¤2¨3·µÝænºBê¢vâ㩪“Ïh ~ mÊ"M6Ã/fÛ_)¥Q¢1O¡è’Îa¾$>qÜP~a Ø îü¦¡\à<5?{çàPçŠæ¹¸x¨ÒI#þýlLòÐø™8Þ%€5ÅB:‰5Ñ3}Jl{=±Ã bÏ-Íí?ô²a¥Ø÷Óý¾àÐè›»ÝÐ^ÛÎÕ|äënîVC¥Ä¢Qîy¸5LÆ+¼*_æêäœ"{œµ/uÅ‚£)B¨¯f.Ѷõ¼.èâ»F_'*´.‹ƒš* §PL‡G²'R6ÃÑ·íhÏ Èº7Èl ,I÷û&õ\ ·ÀÆXöç>mç þ-Ý(óp‘¸ý+¤ít]1.ýëÀ>ð7j6oo£ fm#‚m¯†—©j¿N8R9V ƒËŒÄj¥ãäÍu‹kÙÐu÷×Oá¼mÔ2ûc¦R‡˜J2ˆÄ€(Æ(Öà¬ÕƒMm'øA½]*/Ð;› xáì¥Ñ¢É7;øìÛìË>Îk³~"@Þ¶ÖiùÓëà~ 7É¡;A¥ nW_ D¡š^ªì‘¥ÿM§Õcú™·PGÔlߎrç,`ٙ˷xʑޕS€–ChO_ÂŒ(QCžiã®^$<ÂÜÈmB ƒ8¤qÛŽñ=ôWNbTšTÔ¡Íq“\<Ûw©Ò+øŒ'±7§hZCÆSšr”t˜z8¶Ÿ™&¤|™ÝPÞ¹fýŒ)`6•Z ¤æ[XÀ°>ÐBYŒ‚`f¸·3#ƒjDz° h0öZEœàsa^»êš§Óþ&k]ç7ßû|+CK¥X{Bð\ðÄCp0Ó…ØIØ8¶O´eTÞG×VZî‚¢‰48­÷ByÚܸ¿©è£$Æè¡rÐÙ5;ÚôX¦æâ‰‘$õyæ‚gCÄÝ‚Õ÷Dú%âÿIÎÙÊxƒê£@Zò…`¹Ê⑟X@°¤ühŒiÄFsÜŒ6Ù‘ñþ8ÌÖp˜1!0‡ptÌÏNÇ}Í4Æñ†Í¦œØªY‰nýó&*£´ß)Hµ“šÔ¸qñ9&ùáwQI„oLÇ»‚²ï QË uY™õò—3eªzW1Y:XóèEÃ<$b­+Õœ³Ke><—ú !©OÐSãõf›*øá„g ®Ö4£ h¶¦Ž™ÞS¢ÑoIŸøóA Jê1{¥ÐÇðysH«6hWià_Õ·Ú3_"³”µŠ¨–‹™‘ÓƒX>3‰Ûà©f̃²ÞÏ2h;#g'ªîMKjb³HdÑ^˜Æ) #h¸Y•o+–Õ¸­Ï§ëðLźSþÚS”ëóðVPöìb0?ä?;Œx×ü«ii{£Î±HLጞdtèãÞ’ÀêåÚ½MTµq-.ç§- PoVýƒî!aDý5\ž£Ê1˜?PZlWOÇxüc®“ú=·DÜô‚ºÅã< q–ûÚË[aeãg9-% ޱó–ú‡XÑÀzõ¨»bQ\ÅÍä t¡aÒä?Gõû4æYÆ*d U·ýˆùîý—HŒZø7^NÀÂôjé:9„Š—¶¶ôî­µÁÎÖ’ o1"X–+â`E¨©<SyKY)'ÉxùOˆª ,Ãʬi.?еÆ"õ éyßÀ!k8¨Ã‹tM½ûÎØ»]~CSö€Ûçgm¼Ì§Op/ÛŒöÊi­—aa6pÇ5mž†„sP«aK+½58Ú3ýEö¤¡ý žH˜seœU· ÀË_|#½$ÉND2ûè5"ÍÚu¾Œ@RÔÖh=üüÑ%a×^nчu:ÅP³+ë‰sùü_“f+£ãpoÒšðÚ/Ú‚‡²ÿHI\Pˆ$jy7B+ÊhÄnûÑ(š%Ëì¾OŠJŸE ú¢†ñpb²Ãµ½÷RöÀ®©ápMÇÔ€!8>LR&Å+$«¸ º1œt¢s¿¬x-ö£ôÈ,R˜‹l½=D ;¼C$“½'u#”0Ë&—n¡ì<¼§ç­BÌÎËpúùéDŒixºCä–èeFµ?Ûç†Õ‰óóó±Ó¿ 78v^bŒØÍÙu4’$ |´ÒâAÖ2‚. mvy«¯†—Å(ˆòë°B/õÙ{8²ñ>á.7ó‡à*¦´ðZaV~C$ŸEÀPæÙo¦“»$9¾/`®Ç§«›ØNÞ…6Tõ°4û`ÿTP½ÇÏÔäT¯úÜ ¾™gù>ËCÚLþ ûNfÏAóÕ§µ›IW©\M‚ól³.êÖ â Mµ Í_ÏàDÈ[”·§†cÜ/Òìz2œ¬ä:m£Œƒãû°ªP„ÌEâø¬AÑf`;Ü1§Ní4#Ï®ä–å80’3S;oƒg¬†÷ษO¢„S´}Ig>#ŽÁ"P¶pßÖ¡Ž~,ã”_8|ðR]þ˜'É\³c³ïŽiY2^7ˆÊ«'™EÚŽñ‘%aõ‰å‡FIa'lϬzN¤ZÛl™ó‰Î0;HwB›ÅTl¬Õ…§Ò«ÞC჊þÍîØÇr^Ñ’2þ,• J ïñí3ÇÜ2¤É``±Ñ«Vè,ŸWœ»àKu`ú´‚¼|&¥ ÂcìúRK“›@:"ôU"èÞ¡)‹!@ÿâÚæAoClD}²¸ö—BúFâ¡«·Y³h܈YÝP†÷1ÝNæäßO“-(§VœÔlùv AÕöT FÍt`|å®hͰÁÑ•¥ü¤’ôpS=—Ðv{ìþèÅ×BÁÍDä»Á#£Ê¦GÜÉI¬ÍíN³“<XXA{Êê¨â·J+n:P\B—þQ‡ÏL,cU'W¤§˜å¦@„Ž ½pn´èÇŠgqüèÄDÄ%_Œ_y5[R=gÚ‹žÄ²ìÁ[Ì *dnzDÊ&kÉË–H$0Yr~”µgKþbs*®²ö§5Kð:ú=%ÇÙ?™‰Ú4'­Ø+'ʓӸ¨32‘{‹;ñ¯Ôߌ^hÓë 8þ·˜i²]"âÙ¹§¸†Î´LØÔŽ.m†OužeMÄX1# £Ø*(Ã4ÑnÁâÆZ {4Á<Ú‘œ­³=߉Ä8 õ•yMbÎIFØ€{ÿ5ë³hdËÅ€š‰½·Ã¥°¢¨ˆŸ ö“—h¶TQ¸WÐòj*öö ÿÎ*ç³ÃôñÅÏØ˜[8»$&œù–ôDèºç£×!•ó¸'ÕîßRìŽyà¯^¦,ƆúWMCÜO~ÔÊ4F® ¤å·B´)òÞ¢’IÓ¯n‹T…m0…J/`‚ð!ØâÄÖE¸Ù{«çΚ/üôâÜ9ÖÝSHÂ&¹4ã"¯9 ƒæp׈Ú')ÙpÉ E»ý¸ì±EýÝðÒš–LÛÃRt yy÷šØ YuUÊʲæšýǾi¡màà›Å”çT½œFÍ+×騧ÝEØ‚2ÿr©‘¸}4MË1ã}ˆýÞž¼˜]{Ñ? _üÞÚb*_L•ü¦°ñ¢7`ÍZÜbAl5K¤Çj'9TA˵Ñͫ²êòm]©UVäºA^ýšÑ©AÁ§^º¶Üñ×G‚Éä4nƒÙ^Ø)Z½‡Ü„úzxžŠÁgÛ¾fC]Äïƒe>SÐÊ5rÇï§È\AJ1È@˜Â‘&œ,º®ñ´F€iÑWŽÏÉäz´£uB]&³T”ã†ú«õÑï~æ¶^­ô²ñðÔ AÞ«ý‚9\ ßh9QšYÿ”®“ ý:Uz¡ƒq¯­+âŠVdl̈ö¾£¹µ H" éüQy²h.·ÆX(6õ–µæçê ÷Á' Ü üðy1¯5ÆÊpLÇÿÓJ~–Œ‹Ÿ—ƒ‹hh’‡®ÉùYSôIíúê(ô[Õ̼ÓvcG3óC³»œ\œŸ k dc:®<¦Vk |ÿÍÜYð™ãŽ­§ÖÒŸ»×Á±[è(4ß÷™,=÷| ¸Ç„.šŒ–‡Á [jùX)Îßo-qYÒNœ©®ˆÔ••ÏL‚JûÇ¢ =‚ûâ‡*S0@Üž8ð¶è¢5fD‚ƒ­¡Áv¿]¡êh6ª±_c²1|h¥¤´Û¾‘x.{4¥s×MÍmyˆ—×QhÁôG8°`•ûÒÒ”Ù>¶™ýsܩĦðI$3¢"âXzÓ.5›¹”H¾Wƒ8oú$Ä&Ö7ÄîåÞXmæ3:ˆæ¤÷uäøùIl¦ÚäÔº,gÛ\ãøXÝ%h5ïÈí®¿É\r¶x]‰½(ÓJ¸pØÚgm‹Úc¡¸yÜ_½´;ÐP :>s¼ÝP@õjÊÜzÂóˆs8v¤Gº'ín7±•åüZ\‡âv@¶Us-A£^RΪa¥QibÀ1Yò®±$„fÜ%…=haM(Ê1§ ÊàÇTg:M¥Æ1WsbˆRæÒAŒS«±xXΉqî%}&2—9}/¶û¿^Sušd‚·š:i÷¾-ZžB_ÂXQ-Ån×-& Š¢±hAZâ½Ñƒ‘&Fq¤ÐÌȇMi±‘ëÍÆÓÿNœ,‹x(Ø)êQ噞k)Ü÷¿WòŒñi!¨Á%o)¯˜éÂmn†nÞ_žf5)ú³âdO¦Gè½1¢²I"`F/C<öƇˆ¼Ÿ¤´Ó&¸rf³æ¾6¼þD7W°ëqbð<ß éà€7ûïÍŠ´Zéitdµ–š‚T0SXˆ€è`1@¿}b¹ŸJY — 1€—9ó;¯@˜nɈI=2}ª°ø™M/ñ¼Eh~;T¨YNE@õ w}§‚20åžÞ@õ ’Xþ^y;[´¸=` €Æú4è M‚-„|@*q­ÿ±³™‚íµmÐÚ_)ÅŽ¿"êø‚®.X=iÔ¾2ž#ÿpŽÌ9Õ iá¤#:vp³bØFãÇAÁ›.êdJÃ0CЩ|Ž1vOÁU|;ôìK—•„Ò%R‰°7õ¿ƒŸ}8cK“— å XTÒ+8ð <ž&ŠwûŸÙ¿åO*8&_á1Þ$) ò™lö¨Þ.Ø2 ÃÝœPŠVªÎå•%³R6ÐÇSÙÓ³ ×¼á*‡ø8š{†ÞF’¹šËeìÕÖE „ž‹ÖÁ¸,| t“GqÈQæÐÙkzàm+ û)ä¼Îoôæ”úl-ü g/¿¬(C°¾}b»¬»ÁŸlfnGÑ™œ ŒÕîÒ}+4 º,Ñ¬Žød½Iü1µ*xµ‘K¯eð1³~ íáÔK£’<Ú¡›ÇóÏLH¹@÷1O„ç䓞¤EÔéKÛ¢NC–½F]twë)G¦=ÊnÒUÉ/ë?c;má°îŠÀÞÿ™ktk"ñËð÷mY»wPs˜[àëÛ—>anŽ$¡#Ø ¨«ïG ¯ÀÒxíè·×c,PÿÅ!Àö)¹Àë~20VÖ¦üö¶0”ãèFCë†uØ·“L¿Ÿ~¡€úlC\`d»o øßmGAY 8Fð\lJžIc"ÅC_x áIòLÃYÓÜ(îõìç£év¹ŸNÍÍcþøuæN¾¨ÿ-YCäîÓä<Ù˼Œ¶ ubÝžwœ_ ‹ápGÊZlä¾vk‡ûd,·»™–¯§æh$ô±§¢Ñ$¦»L–~híHˆ/Û¤Ê'´õÏ91@¤ÛÚ÷†Oh¸›eéIÅ:ê<¼èk®“u¹7qûµ†d»ày‚7ÖHÚ¬}· ÅM9õ|¿jè_ÚlË-ŸY‚ Ÿ ^¼Ì—Št_Zà»W›¾.hrAÎ…aµ’b’@a ;þð´-ƒLµV³((Ʊ s'¿‡!È1ó7ØY›°/F‡´¥»7ïXœZ»¨œ;ÏöÅÛ‰‰%£¿¡3ˆ²isa¾Þ ó‹4‘Iï˜3ÿŠ$ûáõª2Srd¦YêÅq —ý þaÚ|XÁì Õì­¸¬Oüþ”î‘2!Ì[ǨPrNþßþ‘Z[3#ó°G @BÑ¿AI^\:h¤jMÞ±¼T+ûdÎG JÉFêê ýÑÒ³ê hT y~ì K)K»=Üìå œö”öæ°žóš_ä 81£í¦Û|%m~Ö$-œ~\ÛÔ~­tî†0 o¢gÎû@‚;M­; ¼´¶VT(е(5MòEùNѽ ­Ê|Ss@+÷tk–éGºLø›é† ‹ý8ÐX{Èe}ƒ¶Ü§@\ÏÚ‡Ö’=fÿátÙÙò7òĆéÔJcámš+Ëç·ÓJD&,CwRN¡ Õ§9ŒÈë>b£o²gð]¥ÿ'©¿’ ¹Å«ç¿C:“„B:þøÝëA€(%ÒDö|Ó|VÖJéÙDµ©³›óXOjðk‚(·fâIg±üy–”yEÛ³‹WÖz‰PAhfi‰b3Í|¶_ô’|ÑÈ’¶RÉþkôáÄÀí&²¡Ä¾º6ŒpTï7µy·g}i*GÙ`\|¹½ÄÿSŠ|*^„nç:ðyró›ïŸÛ[ ÚD ²;I?E‡¡!Ñ*µÂ£éd^Uríìoœ Ð)ŸÎ…¼pœûx)¦ö”ä«ãÞ¢Ðs^ê°†ÞœÇêÿ[[ÛŒ(Ôå3uܰš‡§ûˆ\óG—z¬ÎõGج s– »© ²E†F7m¦£{1.›‡ÛÁTKüŸ¯~†–JÍÝ;xÞÎ?û~¸™TU[þ¸älK1ÛuÀÔMÚ‰¦†³ R’µ4­î‰cD˃@®­÷½8®³1·Yµ¢oa·³üœ'^¡SöÛwÆz“ jeÐ=ê¬ÙÀÝ#i‡-|º˜­”ß–§óv[#³){[™K‘]M¤I`†Oœ.½½ÙL@¼À÷=ÞjâtˆƒSf=¤¢(E â€ác××œÏ ,*kÌó`òiƒ_êbYhÈ:¤Ùfê1ºCV&r&ïG딢⽃q“ã¨X“•s+ƒ_JNbÈ/¡\ðµ2Ý`rq/û´Ý7EŒÇn±ÐÔ¡b›ª¿ÿ‚“L6âŸ4Ðíãf®„@f¬ùpœLšm²{ËQÈswqSƒ›ë¯zÂ8KUýêƒyèâ d˱#€WžY‚ù;_ù!˜ÁÊ5Ô¬É _“ºt¥3‘%Ȩ¦B‚1‡¦)]ú LèüZ.2Ÿ}Üüf²k)|†D¬žôÐȵ’H½´¤rDx•ˆb–‹(­D€§+‚·G_¹_>5[P¼ñ‡,iPæVwt0ôðqàkŠ›'@Á¨ÈÝ<í‘»LùEXýƒËMa5ìÊuÁ÷fÁ‰I_!dÚŸyŸ7ÎЖèÌ>$ ëõ¡Ð¦g¹9þЀlKÓæÖ»­ äÍHÄ^̬'•)ñµÑ v|®$°Äˆr_ž>¼”²íï{÷9ïyÒ•GÆ ¬"ê× Ê˜|þ‡¢bǦÏÀ"-³ s²ò…vª-]¢£xÌÃ&7¯ÜtãtW}pbBòŸÂGaÊ“V9„C¿tÍõl‡ÿÉ6€¬›{e‹Ø±Ùgó÷»ÐúrÏ&›w8iÿ9$ÎK‘³Ó7GU°äyÅ„Dòa¨!¬¬‡•âÎ’²Ïš_¶Ok€õ,s¤7Ò0ŽS[:¡ZÎÐѰ;®iùqtàaäKð73M;l0NÔÈb±€äðí@Ö† åÍõ©ðky¾è¹×®nVB•ÝZèhpÏ£ù¥ïn&¢ÈS”5{ŒùgL‡Šted:0>ZyKß'fºèY=¶ª ö:ú”méùú6Ü©ô7»^×鲌ÂD¨T9‘Aì%¯Ï6`å÷¶õ+[ÌL¿ FÊv{l80bNkG v¯–Eëþ˜pDèL6¶" 7­R¡ÙÞ¦£na'/q¥{opœ†·éZªQÚjWÞÑqŠ‘!31J—p‚ƒQ¸3yÈsŸ+<ËðîŠEJ0øN– êÏ÷â2~ríùÁN1¾Dz=h¡&©ñd}L³dð ¾ü/?r›¢ÕÔÄeg¬aŸ†u‹HùgTŽÏ±Ôºg<ÎìäÓÎ$Žpxm„܃Δeho4h„4lÉP¢:B`’'Äʯ;ߦÞ}SZå“ÈsÔþÚPËiµšìuŸ‚h*ÏѹЖˆ¼AQƒ4¶qÜæÄV2¥ärXë]*šîq‡ïßBBÞv¬AH¸Pé^i.Âb•a` Ñý<ƒhá%œ°Ù$ÎíE(¶Í¥å ¾d¾°Î…7T®yTSqH’^qÌ©nàS33LJ2ß:7ŸúßpŸ`»Kºì’´èæÜøYŠ5U¢³*p{«%¹œïJBâ°{ÈØß*·382j,C¸…É· EÂØ”&­1‹ä .y¨t§Xü¡Ô<†¯¶·¯GxÅ#ç%C‚µ£ÆRúäÇÿM¨y¡mz€ªÁÆ÷ù)p܃ b94ñýqF_‰SáœJµm½ 4ÆÎ|5¢ƒ¹: œÙPZP·Ò—'Ȉt “9»/þBƒ&paÇë“2P!—9ÇxïðÚ:貄æ½bÅuPDKËÝ.ŠÈmBò>:á¥6Î Ö‘fÇŠ‚ÏE±=ïû~shÉ]VåM }eåä ¯ÃúoˆïŒ`loæIs¨!ŠkIs#r7Yçr š =] ³ >âãÁ‰ôÙ­{lšóTë¶”¹Ó`ªkN•ƒcðì\9àϰ4‚[ü£)ep(•ËÂFQœ³3@½c¦ÿä)(Š0I8 Ж%ÏÞ’ÀÛcw6©×!¿¼BôF uZ¬Vë=c3ÿÉ]3QÞF†Ä<²¢LÆø©‚™³†·pµ-Ósæ8YŒqßEÿp‰ ÉÀr«jÔû2Ü Ú¤EÍ 32DËÅ…ü/=x¼YànߣYô‹Þ]éY œÉ'qbÿŠͰY™@Kaý ž²Õý9ÚÓF[/Ë@uôyÏùcE×í­pn«PÔ\ï„núº(FOs,Møì<|ª¤Hcùú^ìB–ô°¶­_ºNbÀ<ìàîbps¦w´µVœŒu×ù’$š7\üI®€+8ý梡ú#¿­™°qê š}Ýú$°u"Q‡~c379—"kÎà‹fæ©22S›“:ÆK¤0‹HljFDj†%\µW¶ÝW,WÖA¡O»Ì  5Yzg!ñÇ-Ïö™ô‹8îâÍÈ ë´lÅc¨hž±`>éøF”æÚÎgäÇ&,¹· û¶†6¾H=ˆ<EèXð-¾›R`*§5?Ñ»wó^SÏ>™Ìpž§z8ÑLS9¾|H”S…Ð9óý µ„ôC¿¼4ëî paóù³ÂóüXe§»Ë„tƒD…»<ŒR›C Â7˜Ø\<} ÀèFÖ.û$JÖmÜ[ñµ9U˜’¬9ø%ÔôìlOYä’5)ùPCž¢ÆÉ³¬úJ) s0%§Ñ z+p¯ÄÈß×îb'¤‹…ÏȤjL{Ù0Ä[ÃF´õ¿^ è…'ô-›E&^üæû–.Ý+wÄäH~g<´"–uBuo3D¦6¾cí›f¡>¢òÎø²h¾w¾>³‚3E²*>'`íN’s6ÜYh¾*Årþ¸¥\m÷=¼qiGdó¦\"]˜uW¬ú€Q( ¦Ãû…Cñ¹Œ½•„ºYÄør˰”ŽX¬#}íí6ƒ&ú J15ô”‚8(ÝrDpQ[æCbµÌÓK`èe›&-„b›¼Æ·’ßÛ̈o8Þ¹cq¹Œë>P}ÁÅ­¬Ëž˜è,ãÜåço$ðEu Ù5L3½Í6*çuõ66“R&~-ŸØ5üæIä/Ò7G6•“¿íY%°:¡¦‚rªÌçú%‰w¬n5Kè™Ç•Y(Â<¬ö‚ ‰0;‡-jv»ìåÆGšœ’¼BJCE 7«ïƒLÿ·ð=Á¤”úâ UÙa¿£ê‘Â9o3óÂÉäFæUhâ–ø»*nðã‡5•ø7²¨ÖYºzlv6tLöŸU\Sa‘z×íäw BtBÆ5V)Æ@4žoN¸fËÐ r©Âtì€bå,‹ [µ<74q©`oç:å“ÏÃÿ0ŽÂîË‘Éc Á6âˆœŽ»Ÿm¯æ°…Z1åVñÿ#¯e¢u¿èºgÚΈú— É*àLV½Q©·ºË¢³N€ÕgÕ“Í™!‘·ÎQ UÙ¤I+àä³§$ÁKèÜóéª+¹_•óÉÝðÚ.“MYt½ÆøO`—WÅ"mƒ|ÙÑ&·Ò®­ …ù /O{ͼßêÅrÉìþèœ åIü„@Yõ®1†Ö«èèÿX83gnB(žq9¢ÈvAžÒC—þÝ|³²ä³¡M ¡ù„ÓEÆŒ2BK§™S ^ce¹ME$â'6ÅÙ… êâQä ;J7Hµ9W)G Ë}?ÍÂøðŸn4°¥úýM“1n:¼ xèx‰Lt\¤°Ã‡¥U«ˆ£øq“1\š!…DÒójJóŠåõÛˆº%‘ÕAZg5£/PÌ5"éw³ž/X€Ž}ËBH`TáªñâF´%z g«èäÿ;w¢RÁ…Ao²bêÈ©\_ŽË=ûí©ótwYÚ­Ôç jÌ‘aôm¡>Õ'©t¢q°§c7,6(5··Qí_…ßÛá e­n¥ÆlOB‹ àÁ«²ÎÂY,Ï„¯Ôœã±¬œ‚Œuú ®e”…zü€û°#‹°r dšè×—´E…8"D f{p?ÙxîÜzK¬ë€.}j÷™!…©ú`±¹,*pQÕlƒ¨’ÀÞ­ ä(xѤΪò*Ti ‚Q+Ì^¸õ)U œ™T*ThOXŸºú%ð{Ø2›ñ!޼ÚPl³iµ :›ÛŠá«@àE“JýP„i=¤ËƒÅQ× @ 7î=›5Týäˆoüªâ¾êÝ#@T›ŽÇ,fª:\ ½=¯ÑEz$>‡ïMIë¿Bl;x.³[¼Ga³NâF‹9Ï<½¹¦}‹³Žöe*Ù(6A½uK0ví­s”úø¤ºr[Äv­#eÐ,(ÉZ×¢þ%7”ÍeF°!±Aiè.b¤>è6ìŽÞg–v£Býb–ô9n³_¸†ÛZe[ž>Ì¥ŽÖõ¤P­úÝòŽÙe±g¾ OôEt×ßoz“Pk¿ƒv˜®~'n`àPz >âìàmu¯ÍÑ«`{b?XZW62+¶d—F`§òð"ŒáZÑi)›ª~ˆ@¨8Z¨ÍÄ@—DMŒŸóM'y+Èaká8NÈ847æ.wAg&¯yY·ÊJ87 ù‹v#JF}«Ñú„bñ¡àïác"¿X-.¹íæ¶tŠQg!µ…øÝgÁÅ<ÓQÑa5ìÑ\(¯}V2ÿÈ1j(;8 Ê{;Þ—ùf¦dÙ«Óï ý!•ÕÌ›àé«§¿ê‚`x¥Å'vÑzu@ ŸÑëÏ”òQ‚Š`q™Ý“ŒÖ_¬i瘤3¬O~5ÄÀîõPD Òw»ÉÐzZD˜3 Ñ¾X® žŽ±ËÉŠƒà›pŒñìø›xBžLYÖ«Š‹Þ Ñ$C…‚Úý‰ÅaòÏ%Mgròâ£þ>­xô©/ÇB©Þtø¤ºLEFÆ4ýDefñ K¯J,´]}w$ÙåfKò›‰–%ÇAzÙû² IÃû0qÜD.g?vasp®Zt=‚eØ-z+iib;¯{x=Q;° æf‰ãqR6m_†É5ÿv¦Z!£®@«bïñ_½þ7ðY€.ªJÃx’]b^·v‘8§%î‰bðÅ):å7£÷H©0A¥%¸ÏÞí£¾o½Å@ZÝTF!ë5ýiÿ‘Â[Zé…fÌŠ 3:/;gyKÎù×´'·Ð,ìÌndŸ ^Ä¥ÛÚÉw¢áYpˆ{Ú‹¼6mÌ–Öƒ·PZYƒ9HÄfÂj£ ƒÇ TC¸~³&Lé].¸a‹›?Ü‘ý†‹v*´·ß_¿s8fsWuy6ÔhÕàïYOÏ vµ¹aè\V”Æ«rzCª(è)>ÐXpÀfC' „é:Eÿ€ÑíÛ AFÓ‡Ö‰†`¢A¨j[„ÈÎÒ<ðjý\žSœès­}Îse½ó=ÝIB,ø¯ÍñDV2eô­PØ‚œùËÿö'Tp9[l ïøcµ„†ÖM×mªƒ!ûêj´ÉD¦0Ýÿƒ 'ÝÊ~_ï€ ÍªÊÕÑʾ'êçšÂN¶è¬æ5Éù!ˆº2µ&eÄ TfNß!@½¦€r¸îT¶˜%Ÿõ€/4Î+gªÔ{ñO|g5d <,{b«¹q×*ÞÓ9 Ü3+MŽÀ4;N$/0׋‰Æ"3qN¿xðŽ>€‡|WÀX`jßÎû'Q ¶°óDƳ -ÓƒìA-ܯSó_"IS`AžÒžÞ³>†SyÞ|¤=X¥óëâFó ôz Ѥp7ÁSì†ÿ°–(í]dûŠ®$Ì •¹?®ì.0¿lœB…¸ô&<Ã×4CûSßv|Ãõ)µ¬U,ç)Š­HÞ£Áq—¼·)‡@¸¼K¯¸Õ'w–7öò®3\ô…›ÀÈ"¸Y¾;ÖFኃªº–O[éñO[Ë4Ù`î¤ùð]$¤ÖÛ U.Å‹IÀH+æÓúþ4 Ž»@¾^Fµcþ÷I¸Ç›6Z‘ç~(Ážƒ’£æÀîÿ®¥ ˜ˆøIá¿åkȹ‘0Á—~ Š/±¥¼ù bîöð]úâ)$+jÑ’{óÞË´%öµQ¼­íïå^šYþGYsKÊ~Z#±Ž9ô˜y‘SE(PH·_ü'rk4ÛO\_¨(0œpÙ-W¨ÞñG­EѪhø‚¯ÌhK%v)ûºî¢H#Žê+¢A­Z3º5h—0¹|¸ GhÝ _"^£m! Q5Á<MuOƒ»É'šÆCÅaðl*{«]Nq%'ñºŸUFºö^gI”íZ¶™ÉÀCÑÁ1°ú¦›ÓÛj^s%£1åõ{½K^±Ç×]$‘—ýױ濘0|‹®1^Ü(=Hƒµt/`dFÂDu}3¹iÉUôÒO¶Î½:@l9è ò#Õ?Ã!ur¢XqÛVÁϵaKÐ<¨nâ¡_NÕöÈ»@BiQddjÒ \½˜ìãØùÖÈãGa³ýÉŸbÇœ|à§þxSÛo>ÿέ K¹ððTJYØp?V\Å9.¢õ³+HÜœ8œ f'΢ɒtÎÈ|Žæþ)hõ2©×*Æ¢–VO°¶`­œiŸã5­ò¾®Eséü k)£–5ÎsmwT®H÷eÛÎøbˆ©î]U_G†ú3]0Þ¢Ü`°CTÓkRK*0òFav/jà§½—w£kn”¢˜Ã;ÎCÊðôSëvP?ð“¤>#op7’Í;lÅt~%£´‚,ˆ’'¬uö`&7£8‚A¥Ìýæm’y„câŒpßc@¥( z»áþˆ<‘ë|uN`~/l7éµÂ8½q…Åù©ïéÖ0‹é¼£– §+ýô’a£g!ƒƒ ’Œ× 㺱°­y_ÈM9ÄXI½"[ÞçbÕÛ¬ÅYp97ëbó C¥‰±ÕJLå¡YkÊšÖJX,Ý/ßftû߈B8_„ª/Á/T²‘#6y ë’Kùw§z*Ž®!‹1þb7Ò#L„éŽcö8}â;ôÚù q5¼C¼u™dÅ(|³’ÂCˆhWù%ÈĦǢ¼KôÞæ[¤^âu;¢¸þÄüÁ6|-àû 'œ‚Q}Ç‘ä8È×sÿ¦rZý6*՜Љâj³Fë°üÞÕá5mÁgžÕ…"—7PR*SóCB=âú¼¼ÛZyýôiV3Òìñþ™º‘÷€[Ô«œÁ¬'!úäMJuíÓVTk,”F[$Wy¼—[k’ÕXÉÒ,Béñv¨ÚYv¾ðíý˜»óÐ…·q=/†·¨I¤`æÔ®ÅènÚçZLò>ÿ@’p§œÈ³bîå§VHÃ:Áê‘Þ2Bd¿AÑ8Éxn†X†m–Û2Ÿ*#"†õÓ‹«BÃÚO9ÓÿT“Ÿ…:TÜ nŽ:¥Sc ê †PQoÙÂMçµ5úý±ˆ('ƒ0GYÝ |àx1‘rÛ–¿ëDâAÐö$Œ.ÐTõ«ž\£53 ÷µ¯Ñ'„HòƒÛ¹7}—0~V+ñ²t¹gI årîŠÓ3S Gíå95!CÇŸyM£Þh$ qôH‰ÿ:uFòîõÐu”t|Áû(ÍøbÚ¨ŠuªFc¤[ží°;,¦‚ìªhú0N †‹:F^ŒÜûÀAßH” „ /š­´»ûüQ;8 ;k FOaj*xDê‘i² gÓC @ÿ Ž3‰WÞ2ËÝ™ùhSŠô8õÓÖ 9öœÃ°‚‘c2KÂ~#å"Ÿ­\‹i[ŸºÍäÉeñs×¾= UŒ¥ÙHÃÍÕݵv㦯!P¦qH‡¼flÄÉÉö±¦ÀBY¾Æ:&k>Åaµ’(í±îÇç¥O'žÑ*“òL>ǹ¬XûB]¾_|{ ‡6ó9ÑŒò¬zn`øb`|‡õ5’ü:ǶϞ˜†?Ló¿g õ®,E=q_1²šôôKcÝŒ!;ˆª¸ÝY†Û[NHO`I‘¦¹áë7: ! ’;Á­vï—šíNcTø][ÚÍzióUR,ŽòVn+ ’ì˜ïÿ ü=æ"KYÿgLsì†Í›çrU¢à–è‚N:]Áß`ÐÒ‰x{ ¬u¢àâ’¥æ…ÈÒ¨/ŸK†ã^N á±V…/f¦ÙS§¦HÅ™ì ¾ØgzTÝpcºéþ"ßÀü¤K:¥bˆ•‘T±­×;Ū_D‚Wºì:ê*ô7N‰¬PÛ¼®ãx¡MÅ*ƃëÉŠ=`¾×@ë⣧p àñÛ 6”ÆK¥ÚgÃ;ïbê/o5§Æàñ„1ÙÃgƒÓP™š MκP,ùƒ+iJÑòö&[A…K4ýöKaÇÝw2žm‡O6„oÜaËc¢è=]³lŠ’¢æ3Lî7C椺ÔÛ®ýŒüÐN_Z„Ä‹•®tò¢§$2ÇOmùþãyBЄ92¸={ÂŒìÔCwÛ{,Õ „§‰‹|äÛ¨l ‡_ÑÊr>à*Æþy$˜5š|G/\’B̰û5¬ }b°ªÅ v’2|‰kXicdU´ÆîÔxÓ+ÛÚ|8ª÷¨¤ô|Lze•sBgú©òh¾jI¹ðY£ÉYœ£m]Já{œ>Šîµó…NÂFˆç‹¤¦Ž™íëŒÄi#Ú›f£±>AT¿Àx¯ÌAÿ­ÐH"`²eMîQÅäCS†‰çi·yéöûÐ…x0NìÎIŒïBŠaÉ–€Ì0rÛuÎò‰—ãÊw\¸bÅèUt[,{¦?Up§°Ö Œw=Ù¦2rrÍrÿv±É=Ñ!‹GÕÊÀMãx réi\~.Ðæ»è‚ß éŒ)%qÚ –ySÊÙ ê †¼ÚpÜúôZx£PŽU` YØÎë6á?ï Žú(-¢Ú§üXÁü I5z©¡~´×Õüš ™^Yø<[÷ˆ/¼‰Lá“yZ.Ã=›..X%¹®"ú·7«p2C1úõ§;2HùG²’VÂÞz)çuyâHuP ˆKC3¯uMÎu/p¾_nRyg‰@öt¦™ÒöU]H6[!çà€>TÇÃ2ô‘v#,2z ¦þùw°ê|†Å‰5l[+ÀÃòƒ7"sþm†œ¯YDtx'ëøò 8 ý,xv x =mèz\ܬ\„Èá‚ÀÖg€5Ætþqš>ÌÀE5Ýèð¯$vÂô/o@)ÔÕõ£ÐZ¶t|Dg®™cÎ _”>.1¯Ujj¤Çß ¯óIÿ\VÿEo¼%„!¬Ÿ£®âj»»éDýBËyª¨[L‹t{uÃn%—ã!åÌĶÿÝ$²ëƒolNÆMö¹÷Úý‰(½£}š ¥ø tð&¡ùr©ñ¹ÚBº HŽÖ>ºñ ¥wž¢k$^ºRúÄ)×L>°”­MÝ›7ˆhv¦ëµbèÈ’àÕm¹+ËóÊ b$1c?4sÄd% úóPnœIÿ®Ý{â§¶ê7«ðlú ¨ÓOþ–™¥‡7"—o´Ãí¶®¦¿€§«ø—µÂ0ž?k´ëw>Ø;$^´ÂªQÈôŽáj¨AÓ ì‚¹ì/ˆ­HíÕ•´­MY¿Ù«Ìûø=×a96^L‹\àÑ0œïÆ.@R(2ˆ#¤"ÔLSÿ>G>6‰¡½-ÙkÈuÒ)'­¥LO<_ŸÈbñêƒñƒr¨€Ó¼@ˆÃ‡¥ªœp–RnÌ^jµÈ·2ñ4f™ ½ßçV—O‡sQ·»3Ôp_èêh±Um\~1¸‚_¸k“!šUúp‚KÏ+UÒçíÖ¦ßL_ÉìEå‡NvIãdî¤ÒyÇUÖöVuY1ë²ôƒáôµ¹ž·¸=§£àZßh¹C"ºaˆ ÑYç¿Wâª-3ë=•_{I…ºâd°`cÂBùY¦Ïò)Ï:ôÚq{ýÙP7^÷|4ÇÁõ}WðŒ—ÆÑ/)+»ƒ»êt*µUíK^õº˜Nœ&Ë­‡½IÒw^<ÒÄë鮞Fcö4­„ Êoš¹yó‰}rþ—ȸ|õLŸWÝ…MiJºÞ\8èF)W9£È;“¶só/~—¾#Jƒôôp…OÅEó‡y%c‹À<>WônüìDIÇvdVøAF¯c¶&暢n¸vÞ“¥´×qY×¥å#‡ƒFA6b:õÔ0îµÑñ¿ä¦iEö:k§1i#öš)WËï£B4Zž¯7[€@•>Ë\Ž gææ¾\%ÝåÁ±æ$'é]±C_ž'Ñ2ÌÇŸÊ%:›Å|OÿrrT‚»³ÏPJ6¯Ü(›¢8òÑ* †–[ú '•…½Eó_RÞ?vÒT¢ÏmÚ³=âH©V&;±ü‰L—^ÿý‰üú[ño!É]iƒË0Xö·2½'b}¯XÀ2SX( ºy…O­g±•¹ÔMþÒÍϧn‹e¡ŸV™ùë‡=ƒ-3ø_$Ï>,ÑÀ ž~„—8sgv?@“TÕãö>ÔÑ'‘iU4ºP¾›)ÿ#‚àkËT;<³'_…Æ?i`º8!WfƒùÀì-Cvd˜^Ën:!1à{»Œ”Sÿüº#ù¡"‡¡ÿ¬ž9—<åöñé=÷P­Ã¯ >BÛ4d©uJDN¼½‚ežYƒi[º2ÿpj#H ”,lŒ#!Û¶á” ï:Á†«*†˜ÛΩjWî 6Â[žûsw ¹ÿ¿]Õ0÷ (•ܛڎHÞn„±˜L)56Ÿq=lçÑʦÿdD%“þÓ¨8©åZVܟƈF0×)"TW v:Ãz?: ª‹bã é‚ΟäÇe;*. ÈIƒ·Ép§ÓÄ¢l…¦Un‚*~‘ü9$ºR@2­1 'Þºiæ3UÄØ¼œÒãÐT$ð¦£sw ‘†jL‹ÜÉÓî êÌÖddâ( è Î*ˆ'¨H| eþ—%prUp˜Qp5{Û`ZÌõ¶öÍúL,?yˆ'|Ïßåì¤$•Š˜¾yÇWúŒZòµx=h.±k:ýÿ¸ï»²£ƽӇˆ›Y^ü´•ä+·ùý[C€; Wºþ‰bt/f”cüÎÜg­u.1À† ‹®‡Ô]k· æ¾~÷Á|øx'Z½×®Íoÿ®ššag5¿bˆÁ4ojÞ p†¾2¨×D=e3‰zICÕ‹ÃÀ–GINYì/ò’£®DÔ÷nÊ)<ï`*¦ó(àfáXeè¦@¹S‚‘Û –à\fÕiç/Ãøj[KëÒÿ4QXØ;çñ¢'O°‡ EQa¯ß\C‚®ýùí _:î‹Y£²¹Ä¥"›¨·Ñx›Ìë$ŠsÈ£›ÊúúÐâ"þæv™>‹°¶â†óÝ$Ÿ Å_a_|¤ ¬³A"­¯B@K†m[vÑq«‹õly-µûz¹º¹w ¾ M]Uidk¬ŒUZz¹±ô­¯³mÝç ÐÕ²h‹¤X¹ø€¡eu#7¨†´Í‚H…We>J(?oU¹nÕ¯l,ŒÍì± ~8‹íná^jÍC!æd·Ý•£t W¸õâ‚ì]HP¬ˆg«¦G…ðÖêÿdn»‡V¨ÿ†kjƃÜÈï ~q¡„ÎMT$~jô‰ä·©áîÓˆ©È‘ИàY5ßNÖ=å¥î‹š„wsÔÊô«J#ÁÞ·Líó·¾þN‰ê,‚:\ÃÍá@÷z‚Ê^XÊà ‡›~aV¦ßMÆnñFå i¡¨¤ˆÂPv ÅÍ£Çñ'¶ÉÞ‹°Új8{›Cy+1„‰¬ó÷(™·¶l ¿™ó- ‘Š7veë/ˆ´¯L<â÷Îp]è(Źac¦€?ˆeØŒ %oh:¾ìHðÂõ³*ZÍäp2ÙÛ€^Û@z‰›–iÈÁÍJ$ØâpAc=•“QaÍöÜïùQGÏjf&“Ô­ œK2|оôCÀƒèsaHqÙXY5ÍH¹m-Ñ›!ç30hÆ ²6ÖLê×/tˆO ¨_{‡æâ¥Á«d_}ûÜ£ÐØÄ»q>ò|¿¸TÒ}„ÌnÏi¿'‡lM— ‡•zŠfÈ=h‹8òYƒRðà<ýø¾Î“ÿ¼ÂQáô*ùm+b7â ÐÐBz¿îsŒe‚˜¡™¼¥pb‹NLü^7«„C:”ï£ðã]ÛÙƒHs#GŒ Â'XHH¤í fÛ.êU*=–Üò9%/Ü]_ã×w‰÷ J#®eË«½áì¥å7¢÷ˆ"mT#fìâÐh˜FŸ+{&s ¿œMêæµýí¥;Ô5È……eT‡§¿í¬v®ÊÈùÆØ‚¿,‘C34k+½€WÄW„Ö`T£ì¤­LüÄç)ŸÑÀ.hÒŠ„©`Pß ©50k:!ï» V+ó–nR„¼e o)á_ ÁœûäÖ¦,þæð׫bÜ3!hÐÉ{ò”y­³Ó³^ÈÁÒw±‰Iå­[ñÏTb¹$ÑðpÌ zÌÓ¯Bh´×vý÷×9¯Êif"+H'¬wá¼’`^ŽÖ}Ô>HQUûn&­b¡ž”ø[Û©øQ>Ÿ1íºkÐáY禲›‡¹6-Ø4ô•Ú[[¬sCus§n,@ÐvȪ%ö™ƒQ]@€5"98V§Ú~¸Z²«ÆÑt°Ÿ<ÓFÐú¨$ÿÚeŸÆ-ºâ™øµS×)𖬕Z+XC_ʦ•¢1¼1uŠ7vþÌù9íÈ:Ï/—Ù[ÄIPK¼¼“ÿõÒ'+c”µC»3æót¹ËËP ^lõMþ<°ù¬Ëïd¾ˆ>)Š *1;Âi‚lÿÜÎͺ@ÏiÐúŸíWŽG–ñ±TRjžªö£*‹1 £*I\ ÍÅÎí,}¶èj~TQb»ª¥8ŽHÜÂøº6äuúzÔfA›þÄ‘sÃÜL{>+'+‚z‡À‹æñðoDÿ^ J~úNt1}D‰]ŒQ?§CÊt¶ŒŽ¿Ù‘ÅØfÿyÎÍwhŸ$Óg,mèí—¨Û^Åò›´\»P-&»ù@¤S¿€Ó…Z•˜ïS—T7JÆ)(ÛÙOol7ÏÝÝ_ãÎG(>Õ6¤mFºÖMMIÒH§Çuá_z.ôN³òȲmUw`™¥}Ò:"#D«•A3éÖÅ—R­—Ô º=͋جˆ´€Ê…ß'‚òÙPè[ñû~ùF(œ²w3vÀKÝxÒÚÍ (cîtë„ã­LîùŽ#×F¢TQI&‰aÂRš|b“ÚaS뚇²u¶!JO­lþ±lãx=ê‰UŽ÷Î.»}Ðî5*ê…RÌžù´v5ª Š¿ßhˆoô$ó.¥Õ¡X#ùü ÖèÍÀc0GÍ$#ÞÝþO¡š5˜ÕÂÅÉЛï€ÄtêWäÑzý:ÄC’7Ê‚/¤°¿n|~~Ÿ­‘ÚüšMàþÚÜyDªØ§I| `Ps®)Æ–Å¿jËC i…”·aP[Ä[Ì]î hÂÒ­F^N7æÅ˜•êhŠ×1cŸ©b7OÍ6mC«‹ÓÜw}Ùn…4bËMš*õo—B€ùÄûï®6µÇÊ?E°PzÖÃIà;cm8½Jlʰÿ”é Hâ,7uâÀ+Ò;}Eq ù„ Ñ3|k$ÐÛÓµMB€åñ" øÀBž0„¬ß\9…In“‹‹{¿nâçUiÑhÐëwTØår­üºòh6Õ"3 wÍg.S¼/xÞ¼T7#^ß¼ÍK—TON •\G úJÚ£o™{Ó|p/’‘Ùѳ,ÎN¡ÇÓçRÙl¼Uµ2Z<ñE¿Ùý±œ]‡úÑÁ‰1\¹½…aô]73Üi ¼Ä¿5ûËĦèZ†²õÚp”YòËZ[/ |Ÿ'Êã†óL‘é•#H13¸‹ï1 Üw8“! L3<ÎyóÕ"æ¹vïèÂU[ Ãáæ)snc‡À¾•í©¿ÃÃÊÆ¯þäÌùRÿÿÛˆ³˜ø~e$–™ÍÚ2}¤è,7íÂ(,Mî#Ts Ð¥t58p;g\eSŠ¿†0|ÅܯËâ²2ƒ9`5šòƒD#¶ÕBg8j2ž"XeéàøRåæ¿’zZl¨MP\ÉÙ/Ž„Òñ©NGˆ&j u¬Ž8³5¹ÿ, Töö4ÿVYRŸZ4?ó4¥h³«ÓÃ_!¹ Ø *â"Øk¥2K`9·£iÛiB±Ï«¼˜6G%OvÔöéèÆ qÃQ`™m˜ÞÚÅ¥KÁZ9®Ý'I¶(Š«pÉጯZˆpi…Ü'áíeFüΞI= SQdZRÙO@rÃè1Í@ì=ÖÓ1së à$³(„55­×z’&J2Õ’Ÿ(æßÃçÖïÿ°£¨(žåèi'9ù{‹35¥1W?#(Z-Và 4D{~K¦òõ½ ;…ÝtÈ2[o“«]b‰>$ñ2 ö´MÁ¼])‘öz¡+²‘{Õ‰h.1ð¦$ÓòÂ\¼u¾…9D1"i9§ÖÒ²VuýnðØJáûeÊ^MŸèA4ý»>˜äétÞ©aò$GÌà6àf¿9‘áó4L4õz_†+ĨiAÉ–-ò6pˆI%žY"bIáGèÔoñõz†ú8öÈü¡îíÁÛEZP­b-â˜@‹ªý3º¸.¤Ä=ÇBb¿äù6-1—|qEI´FÝù5ÐK24?ÞWÅy¾ìÁïÖ÷HÏŽ–½I(ŒIXÓÝhp3ßÀëD/ù±OÖ<¨KÀ.AFf2‘9·é?;Ñâ.X#÷ÉÏ¿0}´Fëî%Nè]^ÊÄX2ï±²•gMŽ iò+ˆ5øÍŠ+LôJ~à/ü¬$öŒ‘mÚjdÏaHǹ“X3æ[š~' îréNÛcê³×Çˉ¸LKþd>V] m­é! çK1°£†àm˜ª£\g¢/—s@܆oÌIY'ú ¼Â©{vU@ï†øS†‘(Á¸l Eh£x°â™¿@ö#‰ Pvµx6îsÑNgKrÉ£7ù5U”g—áu|›3ïÜç™ÎRôʉ„áÙnd[\<zVïïýÇ%®ð¼j´ïƒÉåþÛÁ2Äŵ^ÅÒ•½…¿bÆ5ÞÓAUíJñp(lMÖDöEvˆH±6½ÈPT^þNÆË÷¬D¤Ùå×ô9äYñ“V2çÕ¸æ><õèë{ɇ: Gèê{àåž¾2 S]´¡Ã1¢q%õ®LGŠÁøÉèk ©ëìŠ7ÿZ…q'|;í²øÌAxÅxr­?AÒ3~&JJH$ .g;ºg2¤iP³COÒl#W¾Ìh¥›‘â*ºlì1ªì4—.¡‰’öTPNú–',¤õù?y pbA‹ ž yÃÒâ•a,8«W0ìÌ Ò$ ÕxÛß‹€øfLØWôd„*»~·½ùц~ýJ€÷œ”-/*ëlrxÈÀŸò ¡¥&ÍߨËe»;ãoE -ê@)3O˜4Bþ¬²ÁubCr’å€7¬ª,ì¾Øû)㘢§9¤Í»@¾|²…iá=)¨ Ý ñ¼|÷5ù:܉ ¬èÝSôüŸˆwËUÖß<æÐÐ~ j‰ ¥W‹Ü8‚"Ð%*˜Ý×yxJ-åc1£e…Ì]Ëï3×lä•q©ä-§©ÄátõîÌ[c£&³.5Ú¸›_ú‡"ªWL´ï¼žä±Ç¨=i‡·cÅ~^’ƒ<ñð´‡ç1úFÜ&-Z#9éKfb´¨p±ÎþÙgh›ô$Ó- %³ÖF¡svôÛ2+U8à oàêТOÈ¢û5–©_ú·ØƒQè+neÀêOiLÀ”{É4,‚`J¥!…/RæuüÏyz:Ùž^ðáv9üÇ£‰oSte‹’›é}Ü:CÀÊþu…y-Ôt³_mÓò¬š£8µ5•G·)†hžä”‰ÿÈô£D¼$U<˜±*ëÍÞWkòçVZuf¡’0aŠ$FR¶–c|û b—!ì,륣sŽ¥$²ÕÔcZö!㣠. ¢ µ†p³rû—ò(ÜÞA?v›Iɪ`b¡W‡+ùBœD9ŽÀ’2oɳQ¬=ƒ”ö…ÿWõÅŸûz(òoÕÎ’t­Ô¨1¯Ò„SÔŽã¶-A0Ýçˆnz×F¿  TáÐø™T¯¶ÔBOàƒè“©…³,•‡7oé/`RÎç Täê9€˜àíüÚʼnɧº‘(± òŠÍ°ÿ%>­j û¤`½§fÝÄÖÃu¦•ÐT#éѯBp¯¹LÈ<‘Ê×]ÜIYŒ3i D±G+Õ™|"Ò‘Z=;Tj¤ÑN»Ž¿Píg힟ØmW½ é ›ð¾w… øb®©± :8ÍŠ‡ÖzÓQCøÈ¥mU¯X(¢#È2mñôEA¶g¡SO¿\‚Ö|•.H_[23YJLZÂÆ™ É>wù gÜWs3=<{Âà[EûÅG³ÞZº:ya«A3 ]³ðÅÊF¨pƒÏ—÷Ú7@'èÍ{ŽJÊ/?5MÎ8 6³\äv÷šš"ö*“¯"d=¥õZOxHÄf Åû¿­yjKl„ãÚ]ý"²…Äá¡4èÅÅÆ#–~"ª}N‘v߉V«tNlwÁ¢Éß¯ÍØ¬VŸèÁŽ§Þ† |0È‘$z)|xªf&WRi<ŒÜŒÎä‚ÞúªU’¿a9Ï®¾‰zë˲ž¾ôÄ!üÅŠ*!o2ÌܲWvCôñrÒmþÜ$õZáàO8ÇŒï=kXo]ùÊ‘i<šCÕcTó¡šMsip%”=??‡ÊCÁõ°ÚœkC¿á º½ÞÝu¥Uø·Oì¡(ÿ®ý5GÚ·Ä*a¦u¦cU´‘ÀÎä²NŸsþ<æ<޾ŽS<˜ÃelQþà:ƒ¥’s|ïQ›ÑA2Að#I5” ´6ëöC3ýæÊ)¼Ð%•8ÎH|w_ùHj[éÊ3…løLÍù”ŸŠÏ”rø9±" ì*ŒËRÔjÒW[Ù+ÿ L³½ÿ›µì¡µtùzWpyå¿€"¦¥( ×ut)džÇ“i:#›€Ç;ùò(Z \m×ýi_¬ÁWBITž.GŠRÎiÉÕÉs½†lp–6ºo²r÷ºnýe¸§¸î;Ñ]ï3oj!FZ2/PÑ]ºAàp±ŽHÝE£¯cÛ§V … yÉGÌÌïùͽQFư¨~#"+ö —„Û ¸‘Þ t Ž’»‰ÍC« üÓ: °TÕ³ŸuíQñ’÷æ ü{„^*%+¸H ùè<—*döxº¨èɶ¢æˆÚBË rœx×rðÕ€üÁd|œMyI×mΔkªlO±*šgh(ìøÅ/[yßí'í‚%i•;Ìè¾èºôI»gC<þ±dL%95•¥˜÷]«GÙ£FV*özK’þåâwAÚX’¾kÊ ioÑgÙÿzTF|=º«"oÝ"YÛY¾«Óäª!eˆë“ŠQ"0 ¶’MEI)¾Ü)+à•¼ú#ÀöLŒ­Kd^o ˪›‘O¬ò24NZ1g”üsßУ>g(‡Ðï@8:èD ª¶®ªÿºœÓJTdrÕ¼¯ gÐáÉoŠ ';F”QÜJ>¹$ÚÊõ<,:ÛÑ—Y½]-¦ÄEZ¨ÌJ ˜|»nÉ9†ØF¨Ã¬ýƒÔ)~^tÚ¹[—µ0|S¦ê <6-±´‡ÿôœhˆ'Öàd )ÿ,.™[‹ µÆ(µ:rY š7nxF›Cû7SRŠ˜yÒ|÷¥b;q& |•õ_ÛO#õ$!‘{TjÖïj\ZëÏ?câøkcÊk£ó^`1\ÍRƒDøjá3ÙiLU„2˜É%ÎÜO!Æa@Ѷ[B*òø(×ì÷¾ãi1.¾þàÕí{%Fåeñ¢&'!öà×ÃJžÊ”pè¬sbÆfÜCÊÖpfñ»ÁëÃE1Àà³PD+ì–otÊrCä”Ñâ‚p` ¦~­±Aÿ½u; Ù-Sq©ätô—òÈS >שØà/Í ÈÖÊvì|„ÓÏ#¿vä#µRr­vsÅt]ãŠi 2³š:ýØÙŽn9ˆ Mßî–Þº(™ƒÇ+² c¼ñn€9]–ãm"m îDn~0œ6Œ_¬~ŒÍïª š-oé&‡t8 uð™§Ä&EÓ>êC£÷<;Û*oÛv²øz»§‰ß o×08i~dÉ©S˜þ/ƒHyÖt¾»céÒiÄ9µNžü ¿Xc77þ`S.Ö KO¢%bt™ôïhƒ¬]¢AO˜T6뱉èÇ÷ÇM³ôõ÷@‰“æ‹Éîµ,Hý£VŒ8òFŸb„õ=ucÊ—½ŠÍºs[¬¶w:AQèµS`/ëwÃpîþ±¤é4Ó\xZŠ€ ¦mÊ&ª5#Ï7ÍVü;ù ¬³æYÜ—àüÆâÊé»™x6[:_ý¬Ð4 ^…™Â@™rQåKJ¤_zøÒwþÛv46°3­ ‡Kô`MAZ§§Ä›ž:ñèÅ @†ÔÍok‚>ÜDY8—Í™RXÑ«>¶±:M< C\–LDïH\¾ºõt:ÄÚLS^j68Ub$E…k‚£!*ç4òS^—y&’aöçÐåLå*™¨pÞ5Z "¯ìq´ ”)¤[ÇçõÃÓâ¯6YŸñ+jš*odz‰§ gá‘,iæ†,KE&´pÕQ&ŠÞ(ÖòÝrÊ[>ôùTÏ©Á¥§¡»þ›>Åñ-!–^ÿÍë{_B:ê¯Nñk…[ý6bîÃZêÖÉìêW“&çÏЩDÞоØË|öÁ_'ò}˦Ó«Û}}:ûÚZ 6sÌ M»œZ(ÙÞ|Ýe^G_¯ã·y::ÕUšÅ(:I JBƒ¢¸$î;MÞ÷Øã1}; q|  j„RËöÍ\?O¿øtEÏ*n;h¨›ÖÁ&ˆ­Ì5Öª`ý¢±ç Äë–Ú³±—v‰Cíhå`~ZöI%”¶=| ’rT{%¹Ã0E~ûŠËG/ÕŠI#Ä™e½ÔÕÇé M(›–/$i•obú'ÉŠ ¸wýO ~Ùì°2p’_K¦™µPµã¶wñ¸—Ð&fyûÌòû=U‘¿GÂÚ{õ¶V>Ûãl ›û©>¥€ë@3ÎåáYz_öQDãU*ƒøÞ@T€ÞmK2õ<{·Ø¨/ªi턼Ì?aÔø›K\}vyòßqÑ»9L4]Ë*ÊêlŸHüšgnë=íŠOÀG}›j÷f—Þ¦V´w7Ã6=ëì¦ù€Mð[²šì#T”Ñt ‡ñ@'9JĪ^Âæþ¤—[~î*éÓ· 0©n„¨ˆyÀž¯ ?^ …;Y1Sn¹EÇ)ñ¬ÄT ë¬QeÙá@›b&Zmvz3|ô[ÿ¸Oª€)eyܲWÔK«A‚w] Øü¢2ÌÔ­^Xõ^U¶>ÇŸËcÑŒ7i<äxíà^ÔtQɽI”7ŸÑâÞòÉv-Å¥a¥$F=U=P_Ðm·2Úß„Öðº$.pAVcô‹“Ã%¶—žÒq{CÃì˜F6ñÏ3‡Pq2`=HæÅ…;kÌ-¥äßž üeXcYY Gä}é‡:–‘ ‡òtCîäý‰g¾X]¸å¥»yvÀŽÊÍ”ß^ò’ˆà܃6àg¾öÆpÉr ïö2 ¼³½ôÁ^Nw¸·Ô£ús:Q“n€&ðÑ~Ÿ·ø[Š¬ïŽ“] Ø:ÌØmKÁ‘ªu¬‰gø\Ï·Ššña¥û¿mðeˆS“U²bø@å]ïB^› A°ÌÝIÿ­È!T3‰"DAFB £ƒÆ8ŒiMœŒ ˜*ò,ð½#<È£… ìŽBÛRìžšê¬Æ}“¸:‰Æ¶T§Äôë9(™FáTjáR¿d"58)I{‡”ÎËǼüvêgÊ3ý ‰”£kíðcCêìÀ'ŽE¤}ž0uò æˆ^ÙÌö… ±¢rÊ,;)—¨5O=ÆÚÀ\ùCâ²ypÙa£oôŠÿu“’\¼|êÄÊå|Ò_ç²ÖA;'qç´G圆>Û’©÷±r¹ù=µef–¬×©ÅCJ˦Ifxä!¢ì‹?ÇŠ-çí³£P˜FB¸~œ8éý2 l—Ë!òOôÃ.áš¹Àߘ!¦¯BzL@ÜÉhþvw²¸! XH&ǡ֙®ÿr¶¡6†àÂ{U—¸ä½^ú/É~Q" €õ°äì(¯‹¦³+QUí˜ÎChzÈåå|å/èg&Gtª<8¢÷¬£xv>·$©ðûó 2Á/D‘P….ç™L Äï²U™IäÔ;  ¾©GšxJ Ÿ†h»ÜN‚§ct¨©šá49K G]•`R·6µMa;¼y1þ„'K¤ËV³²²jëÅü»{¿ )YÅ z“e¼`Æðʦk'|ð^ýÎy:4¦±OÙ‡#´ˆ6%ØÀâlop­'×ùgà%±5œSÉU=(Ô~!#QlÈÎÔ†µö†N€ýÆÖRvòõúž¸¿sÇòyÓéáÇtàYG½±ËRâ ÞJáI³ä¬ Â6àIýTOö³ ;2dûݪ¯±L0ÌîÝo?Æj±w8Veý×1%Æø–ùYÙ3ïù þävE޲OºAí’^ ¡HîµÛ‰0|n·½Ò'—Xö Ô!{ýZvWß.m‚ÆŒ/N§©q©Ðþó¤À:-ŒiË´S¸ªsvN½ýwUר9² ˜5'rþПSò½øÓ9êŠ|1¬WDzë}8TÝEŠ–¡?ëŸñX±äÚ1‡Og@ºûVÿ[°IKìA[{$W>[›º%íîÕª° õ¦vÄÒ¢oöÇ´Ìúß û-ÈËÄž^GÔŠ¦ÿþªä ßÖ%¬!.$ñ3mï¸ ¦ƒ÷â Ý¤¡pj?+…RÚ /ôʳŽcsc§ñÇÍ8>NÑxø5é:T§ô؇†œxV»‚wšAA¶µQ©ž4‰Æó‹cÔiI¤[dþ¸Ü+N1ºÊÍJ»ë6KµnΞbÃZ‰Q0ܯ‹ußgã?;yq • --?xîs¾¦9¸AÕézîss¿M8R•«¦ø”-¤z¦Ë52jÜp x:ŽK[††± ñ2œŸQ‡sÜ ?yŒÀ¿VõÌ\dZ¦œoãn`à'íòÆPÁ12ƒHaÚªÔ×îîz½ò²lI€œ(ð Äé¨×}Qê"8ò¸|GÓòÌçê¸ìHõô “ô@?ËuÙLϨöõ¢á­˜x\ÛyŸH{1u‰WM;VèÚº#mÀ{¹Î‘¬¥x«•aŽb”÷‘ó€Mȹ¬ôþ€SÅ(c©€íø1ÄÝ#1(¹ÜÊB‚ã¡ ‡v‹íw¢8]7Û"Y>EûÑ:'€¦n`¹pø; ºy¹>àÕý(’U*>y¯EU(ç³ì…^|;âWBñFíÿómüL,|îÕ œ‰Ó³BG-m÷õDÛkã¾fÌ÷NÓJGËÖ,‚¤eYM!®+ª¦þE‹"×!Çðd<€`Bú1ÛrÊœ5ÂKúgcÂÔù6IØÞ¡EPu\þ˜ò÷'D÷퓌òvg½¹4Îå¡#ß é$°›—“½+‘>«.rJ˜ðML”c·¤>F´Í~ˆëEIha2Ý"§y¢G’sð¦.øùøþÜŒ¬1Ä+lVéOš³¬aW¨EŸsÖ‡”4ò«zÀÍtÔR2à¬{É›¤¢>Ô¿Å@$,®VÕç'ò©×z#ºWך½õ;ÚtBgéVŸ‚„9¬ç‰`¿·ª ¨²Úî•RAET³ÿþýƒ&$»¢ŠùÑЎì†¬Yî1ò¼ûçó¦91šBMîñL-¡â7 ÀÎ-ê  æÝ<1<%¿Œ´…ûéýqåɘ¬ƒòý"M{66̵2O¯îó_‘µäˆ·4ðDcªÓtù\•ãÿ6_ìD ¥‚¯Ínrx”P€z‰zÌEm÷(ël©+l¤¾ˆ å}bÂ!º(¶^[R/íU«$Ó‹sý9 ‡ŽAsJ  üp|ÀcÍÌ7‹\ÏÀÿƒM2½·¬ Ùä¡â×Zµ§•!Bå,Û Ë0%,ž©¿F4jM0Oâ%¥©æ=ÌcxWBåÝİ’ÁFwg}k]€ë‘abLÑÆºBÌãm¢FÒ´SÇ –M‚ˆähP!ÚûK` ¢\U2 ÞöâŒN=EDpŸ„·M˜"}y%H€“ÜÝ—ƒ 6b«÷â++Êóþ„òÍÍuŒÆgÞü^‰*ø »7³šŒPЕgÈǦô!eÔ Àuû¤5‹¨XÏô­b°)€C…3 ¯°µ·îÓû¸SùI¸Yî‹Rø®ÊD#¤™ÎÇõ %£ŸyÎÈq’ÓñÄW9wúÆ~Ábò†+üóÁ7<€Ç§bÛ¯¾Ì¡NŠ'Ò4:2U{£U¤ähﵜV݃ Y©âÄ#Öhw’|öbóÅϹ¦@Œ‚P·|©ôú´ÁCf¯XþŽh{¶³Uy•ò¯3s‡EÔå/c¨€yÉdv†#0CÀø)e.Y˜¿I\¬¦…äŠ<¶Š„Ëí»x7Ówè/.-qRÊ7ÎÀ¬AÊu:‰ùÒ,ª“—TÐOqþh`UþEñ5ípÃÊó~ÊÞí UÿØ$º±Þf³ö`öœkê’ÜÉ}6Ó1ÁNè‚]Îé®xäÑí]ÔQØ$\œ²¢ÀeLz°”5îEêºížcJ„Ï[Ký”•¿Ri›D‡]À›¢C?óÏqÂWÜFO—[$'y‚]Ð÷{õÎá+~keŸoÖoçi-ºs×Pš¯n£`ž–Gƒû™3*ˆ˜.3¾½ªhLó“6«vÇÕ•»4ñ.[ºél€±^þ]ݯE¡*nii­­jb9úÊÈ^í‡A[' vóˆ P6ýp ™´ñÌñ,ñ††—3¬£çGNNÅ=Ã`×ôà |¹8d€qŒ¸„ß}Ì®o„R«b‚sßã¥üE›Ó!›0‘ósƒ¾@Ê´ìõ¶î—£ ¿y¡ÿUÚó»^Y` : ¯÷/&­ÈhÑI'uµµ9*h6µØ9}èˆD]k9GÙ#@û6U'ÓveIº &Àµ9OõŒrЄ;­µ1éà»l#‰TT´®Y¼•ÒŠæÒr„?bòðâi@oÑjË{ÂÓ^VÒ}=@8ŽP%Ü?‚7ÎL+,bê¤ú)ªX˜‹ëÚQ‚·´ÉÈu· IIßõ2û§6åQès£ÀÝ SÞ`£þ~G¥¥é”NNžsÁ ¨1…DA\Rj§„ùÆR(„N.A*‰­”ŒªÿuÆé‘œxipß7꺠¨˜…j¿Eú‰ù”TóÐ|jÙ™êÕ÷Dô€èôÆ8ÓTð&~d37i<{Sk–ZheMçüÛ«¦qÁ:â¨÷Él|Áñ8gGîP¸oeŸÅ 0ÌBaNG?Å7’ Óút¾ÃÚ§†SËáÆ¦‰Í|'ùÆQÐCd½Ìm¤$<(ít:NV3S/›ºåóÖþá@žñ·.‡ÍÎ~a_ÿî HKx);ÎYÅäoý[Šñ‡Ù_­[/¡s ³ÄY‚Óqxj¢Ò.+sSÒdlS½ê¼ —O:zÿÚ|UÏÊ/TsüHÚgˆ)Åü¬Pið%6Ðõ¶Aú§ ïÑÆ£Ý¯97G¼ËBM̶¡ïVQ U2MþJÛäTJ*&B^.ø /?HÀ©øho[LC¨ÞG‘ñ.—kèÖþáå ¾%¸vQòªmGT*¬.>bf÷¬ð— )Uø­ÞÒ¶Â(´à÷äÏ$ùAb}͈-¢…bÔOy@A˜„g§éÿ Æ FyðÕúÞ)Y=#úÑþÃÆ Æ]ÚJ‡¾Ÿå陾½8Ä©ÿizZå¶´-xØûûΟãº.h=kÜ:˜*$ãøä;øî¼¸ŸË‘³¹>ÛUƒ€SꩈÖ*[Ì^U 6˜“ØšºhЬàÖ…ÓxݱÝ7.µÊ‚èЫíþÝ¥(qç™L…|3Mè7¯.ÿ¢³wôEf)žK€ãè+ßö†ûÞ° ÷¾Ç>ŽÙßæG ̺¦pîĪø€/¡6:dØïï˜å1v”¦à%WØ8J¦ïgϰ RÑéÏN A\å7Îú¶(—˜‚Œâ>ö’(øÔ‚žäK©Åß…Sõ~~„áþA|ãíªÂWV˜ÛžýmYôõÆ ¼>!¶*튠(bó c{“”/rãO#ŒTîÚg>Êj)×z¡åæsa…ÿ èߊ: ÊÒSh™p:ƒ|¯d«†KüÞÀ!ªôŠ•YåÓÿRàç%•›òŽÇЏÆW¹ú}¾7‡â/)N8bËZ§:` _ ê¿C€žJëœYl•¨¾C"=9´¢XÐÅÕÜ ,UDŸWŽP,–¢m_)T®8žÐÎñ,ä ^=­;²¢$Y…Š$פçÈ]¼åÔ å‚HrÛoóÌ"_vª-å²JçÖÔɱÃîYD9Óúü©D¾Þô‹ ÌvlîV¼+Wœ&Q¸nãBDvP;}Ò¼xÑß,'B>"-ä•P³ù‰\ÛX –Bdeª@‹'ß¿äÕJXc }ž_æ8XÔ¹€€OÄöÛéÊ Næ'#l0†Ø;{„F9è â°ð]½|;öZygnÑe¸ÚûUÑD·ZÝRykÚRöþž¤§¨mŸ#iŠ àw2Mq È–Îx9*™Ø}Óœ>G|Sò&yël.¤oñö/Ð¥§3âÞP[_¢Ÿ›1šÒLD-‚4¨ËÈb6èy´ÖÆ«–Aú€Ý,ÿì;.ž3O…é@r˜7¿j÷õ·0[Vé˖桱ÉY¡Î( †WAùMÍuÌao¹õƒÍå·Â"Šm¿8³ÌÆ#ªÁ­9Èà½XÔÉU‡pOíq‘ÅSƒö{âÒ8pÆðtw,>ðf"J¿Þ ‘£VCŒ½R¢bÕïGÉ H×wÆŸNxFñ}d¡¤Þ¸á 7TímÄ·yÿÖTº 9U¨ñY°!±3Š[° Gê ¬u‚I¿wr¿,Í-Û‹^P~š€cëˆÒÒJo&Ž? +{ê(U±_÷¯M¼¦,Ë oý×{h<)–¿<“ríùMä$ÑïùPòûS˜c ’µV+ÿÂçb3nÔùQ§ô¢G`/j’ªf~|#h ŸJ‡æÍÁÔi€žú×ÑŠûX¤ç{Ê!×û‡løÙZ[Oé7†,—x%@¡®¯Þ&Y®et÷AÿþÅ‚¤¼ëhß´}N`¬?³‡ãkÖ|p|±q U‚[=©<ÁÍn@nM-A(ɸHÕhŠZ!~ˆj¥íh®¿PLðãé ¶îb“ò: šäõ\Ob]³[Üþà—ÇŠ"óâcA£ú «â„Hú°ÙN>õ YŠOfý›~;¨Ó i©¤2š(hPe|l+%:vžO ÔJcM~ƒØ&bDPÅýÆ´¸¯¼„¹|ÚÈ_‘,LBåfÙö‡Ï;‚€›FÁÙÊÏrý¨ÿ;Ý H‰UqóÈX»mÓr¤ k*¬(eqøß¥jÆgùUŸ¯~<õI3,;-§êÎØ¼ªcNt;t'YÔf§]àýKVÒ䨄šÄ"« ö­Ä£"yM ñûÀ¶¦£[vêØÉ<ýïá€=,/F€xpÄÞg^À¨Œ›%AOXhŠiXúÔæú;Ë×ÉØøëµ{Çz±%¶U3Hg­G^ ó§…'ý+ÉC³çhùœÊFûß›µ£oÜÄ)i6±³fÄ̃[{ˆý×§`j¥¶ËËNKEb½|äúµ¹Z¬ÿÙŒkp%ûCœ ¿•íB;yzò¥]Ñš¹*bUŽtšgÞüB³t°3!Ó±hZ¹ÀâÞ«¦âÃÀå°VÐaزR@I.Óñ%EÉlrAYËoñ+Ž’¸ŒCïÅÚ5N…DÕ¦N+ yß kþ½÷– ÑHKJ‹!Ê-é™Çt®“tàák3ÛºDPNtÌð˜E߃XËÒ ‘É}@û}ŒUŸåÂú®m¶MžN#Ì*pý÷5Ü­éàähÇ—÷‰ÁQ)YxZ† .#3U¢™µæc ,¤X¿ J>X‰è™ÚåU4S#µìŠ ŒvZ ¨Ê'X¨Y-ŸˆS’oÑK¾ K=t~xѯ¼EßjM×%Ï7%D”ªcR_l6¾±“c”]B߃¼7ð`Æ~V>mþPz‹mÒúäµy /ÈÿÇ…ÃáƒÇ…8ž™z,UæÞ­ê_éë0˜u~{Á„èTERÜK…¹QMÎÁ´Ã˜i#µÍ[ÞM*é»ù²æ1Îôƒ\Z‘"ܧÀtBëø÷h=ÄKÏÞ27µèñ‹5 bkÞ¬ü²³Ð'1sßw¿ÿ8uùÀìélE"›”É´Iq†øÙ€ËEn}- /ãùŠ ,2¼ûþ¡áe&Ø9Úœ•Sß–ýeÖ“V‡°À3‡ÅB"Ó~ c¥€Cæø10SgÝSØþR¦ýEjD$"6‚Â5}*î3•\€<¢¦U«’¾\IẬÅ¡ ˺9‡™ð>åS&bìú€%wâšs|Ë÷©}#ê÷à“éêëeŸ¨ '»†©Ýíj‹"ï=£„ïÕ°ï^§¥ã¸Èôµ«T,U…^…©…%y €«Zb§%c™îº{€¨ B‡jwPèTPÃÕ*ýM#×èN8aUµQ:ÿÔ\¿Ï Mø;½ÐfKþ–Ì¢(RÍP-Ü™1¬®/ÞæOL¥SR‡û#%—#1}ÄfTî|žúLºv&bhµ‡³Fsñ¯ñ4@ªÙŠ*l™»Y.÷ÝO—!Nj÷ù5»üfÀÛ`²Ý ¹×3S$Á²öi]ÞR·Å%A@qøØÊÓJ޶OqwþüK×Ä<ÈjvcXì‘t¡,ðó%¾@vDþçˆai?iÝ Ú2ŒŠñà¥^ä ã$»#ÿŽ&˜ú£ ²] –Θ”¬È1À-›{Qõ],j7ä;ý¨ppŸG>Ua¾§Ï ´Èd¯,Ö†v3cF™ëE™Šê¶däøºbµDîÃdï8¾ûgL1z¼9~ŠÝødQ« P?Älæ×œ÷xÄ œ¸ À.ÆV˲!•{‡EØt‡8e•M—;Ï[þPxö–’óhŒïv—zéÏãÜïJn¢ èžâÅ(N#X|D`"/ŽÓé=ëÞÌx’ÏY|‡ýɉwËëÈFƒ2»Ì–±í»”& ÅÀî|f|TW,5#çWI#+|G‚£^VD’ª0=²Ðn”q èRš&HÖôbà¼ÿ ÜžŒ(®¦L¥Ñyej¸ €H¦ÍâòI¦®Ã)3{ŸèZ7&yìÃÑncÙ£ö×GºnrüÌ»õ_.Ö!'#^Íêv%u¾…:V=M…Ú,Q0=)JIÀRµ%¥øä+²æ¿–íÈEÆÞ«¡'ÕÑܵǹT Ëv@ôs~›Æ ‡ñ¥¾ô|4E$}¥íÀÞs9D%ƒÁɽ¸lb‚è¡Ã›øäÜ0q;dÜVÛ Í@ƒ™1¢äÁZäˆÌë¿Åó¹ö¯ ¶6Õñ™3tç6Sâ!"´¨æc'Z X°;Rÿ¢Ì•)Iè/§ÔRmõlÂô⎠µ¾KÝŒ--$ƒ‡Q:±šoPÉëÆV-þçš#ݤŠ“ÁPU†NÎ94|ѳÙ£]'K=5ú^ãtS³|×(™‚éÇÂ¥!´=#a=¤ŒtWCËQ¾™,=Z–SÇ8ù7vÝFàl¡Võ/ïÂÚÉ !w^Ž€$Ôž-UøµŽìhºï4 „¹$ºÒÊU û²=ó¶´‹Òùd!0@@‡ ÛU„ýÌq<¬·T}ae—X F®åDìA}•xâÇ /( ‘K‹¯Û„¤ÒRBPb–âc±4Š$S› þÅ~Êhãƒõ.ºø±‚·ãu#¾”€P7ÊÝóª›Znì½ û„_󱬖ŸÊC¯[ö."šüe©ý6<èàsôQR©¢”ËÚSeCûo…å`Þs/ñÎ [à]£-8$Î9ÃÔ}ÍÜÞËq¡°§Ð–®Aµ %0Uv\o*ñgæ9Ùsf =³ªË o|—ŒñŸHë6 Ž6èðÁØàcfÑX&„N6æ½9̈#ûÄ5¾O÷ÿ-DšlHá6ÈpÍi»b0JŸˆIÄs[3É=¯mžQµ÷–Ü'x_ð (‘ÙîÚÖ7Låõ³Äx’¤¼kÇ$ÎWà˜_LÑ8‡G…Ò†®`ŠÞ9ˆ ÀÌFm Àñµ2…X"“I¢\ß»ÖMºE´Ò&©}Û‰C»]G¥&¥LãL€µCújÏ>ʸɊõ4 {î|4]9áÄõ¦=D£=íßw[ùHœ|ñ¶S€Rɩ܅6{ÏY>ÞÌ¡H^Ž•å¿&ëåVÍo±eÐFzã+’höñ Ì'&Ÿ+Jµ¹@.rèH;‘Û§UØêœÛ~dŽÜ‰4›nmƒ÷=4"rÎJÜ0Òà^7þ¥¦øoÁù$"ÚÛxÐmZöIÙ$Ê¢E sÜfƒ¾·ÁÁwî‚Ϋr]8‰.ûŸ¼¼¯3¡ãh(~DâaÛH’kœJ‚‚’$ŸóôœÙÜ#ÆD|Ã3  !r×°K×n.¥×›w¹¬ ûçã˜ï¸¦îxŸEb Y£˜ßCòÀ1š4˜d‰î¢«)l³Lă†L@o4G—õxì”Î#ú·vñ(T<µÝwžøº.EODЇHÄŽTN/ì,<¹Ówk<ÄiâÓÙ-Áxíx{’¢$†ËêÆE¬Gc¨$¼SÁPQ®h€A9Ò²‚­ÔP)Òiº‰HÏÃ.~çõgéÔcýV>®ç‰é ò¨¼Ð[ë:hÍI'¥«CϤ¬ßËd°kž;y¬¸»ý?¯X"%©´ÖÛÓLb'ÒŽ§»9Œ¦”\  R]æ¥ã¨¾©õÔªP½}*æoü ´šmF¿ëîö•Ùxظ#çs:%+ç,“×EÞ}öÌ€Cµvù¡*ÁXmÚ ¦¢'wr³!v_1:3ãǃý©Öïü&ðÖ¼°Có¹‰ñ¯ç\óùÚ1;G9µR¢aEÔ$<ž¾ûõhÙáwAp‹ó\äÒH`NÄEøeÆ5P,ÙZš,sò Ô?ÿ°8äÁ•,e6q©wõœþ›„`̤fLž­ú¾üh‹<šDOZ‘ŽÞ­Qö4˜«ÝÍñM‡ër d‰ÿJ¶š—ý‡¶D†^ÚR?!ÒDɼ;m|·,G88Ö´­‘C~ œÿññKú&ˆò½ Ñ$Ýv­&­Uw¶díÇB ú8·gh² VŸT î‹Sïb²¾«°÷R¯ ;3ïý’Õm>¶ÂbQè¦þXõ‚ö¤ÿ¶‰Ãc€ µØ¯µS %LŸ¥½ÒØK&üço²•Ÿéý5ƺ+¿.ü²›üBn®KUÿBrŠ”[âP÷»tµ¤1u|¼Nm«ôD EÓo€ ·¾H²Õ$AÁ SáòÕÀé77àþNÞ£ÿ?¿üˆÀêüÖÞ[°^ö YÜD¨q2ÍEî©£Øc&­â:=¿VMº¸Úg;½8‡:³W`aøÜ‘K|À(ƒ¹5s;®§T´Ñú@ G c 2½ „_,DgÁå¸ö¨OnL@¿ {mÉLO"0ObhÀ"i/ª Xã«a?î6©ÃîØ=¶ø«^†À_}ß0M{H2,iÐ9@ÄmKJ¥¸”'…º¦œ@Ø´&¦ÅXy.K/4˺‹öeßßp€ìã„°- ðÔÓΜµ[¿÷£NÇs$HFDEqpý¦@ì*ÅÔ_l‚ g ÜN•‡„“;Ìëuá$‘øiè gŽmSWæ{ {§SŘôææmà~¶«¡éqÕ–¦¼¥k9çëÓ×5ûNÿ8Ø¿aÿ]šÀ¤EÓmM0Yöx+†ÆÌÝkÕ?YL`¬¼éìš©QÛ:#0Màñ©ß[¤f‘@Y# 1o–­Ù0ÀIL[åi<8ÄÛC­íû>:Še@˜Ç:À¸?lï¬áÊ ìߘsŒoq)ä@bc[òÄ}4 ŸíS¢:+pi9Àyõ5½¤ãx„‚àÌžCV0²AÜrò!`0¸ÿLÅ AƒÁ?@„eªGÇÍíç}œ©04Vk{Ó‰|(5H@úO+M©ŽrŸºà˜gÈäÇg4›‹fµ+Øœa½3 dª`X#Û¬ÎÍ3aa^êu¯¼D‡[ÙØnçæ¾”Ï C†E_€æ]WX¢ç÷nÁ&ªÎìéí‹Tbº[Ú ÄEÐ%aø+lji¶ÒñªÆ¦UMÆ‘wè !+Ýî׈zÙô§²×E¹CêS;½‘ëÀw_"sâãåÒØÞÑ«xÆÙ·í>ÁCÐÿñ9x=ƒ˜MnÓ™]ª±Ea°Mõjè/TjËž":ìð³û©&*U7ú j—OrÂR/ÜA WlX—‘ Œ ]di4Ø€È|ü„µÈÛqŸð…ÒµªÐ½ár½d¯Ÿ2:Êxê Œâ± ¬Ý¾1¹ëdߟֈOZùÚ;—T©øÙpLž{"ÈoVl|çQtVé~—õ½l?¦æݧ“ݘ‘áT;fPW§«Ø’7õÞR§ v€K ¯Þ¹TÝt{ß•ÖdðŽÄ4 -Â&6ƒ¿L3±­è Cj¶¯’’DëÇ ó‰7ü—LÜ_³`‹f5'&¤µ5ÕF‘ž÷³½Ë¹Òɦ¹úQ7«O)mÈrí·K5R‘Á~P¦Æi’Ä0Txý…7»bÒ§‡_ׄû~;µ¿¹s„Õd×N»ý¦¡‘'¿¬P"«v‘â6´sô²òU.21ìý2Q+‘.^¸©‹nK"ÿÓiM ËÁ¬“TЍN…Å> £å®¹4ÉîÏ>6­Oü@ e†yØ"”ò¶-²ñÌÑÛ iýý ¿0}e`Ê)«¶¼ù›Ä4ϳìoÇþ•-Κñs±—zNΜ'׿i`§—ø’–ƒVmgŠß¥=ÒÕ1@J[¨v¦=¥ >ÇîçŸþl˜Áª-×<{j#ZåVÅ6WoF©¦«‹MeUbý¯pbß^m´‘­£Ç”Õx.U>†EÄ­½£g°µð×"G¬, ³››gVË–Æâ¤´ƒIióÄ0É^ckGqŸÎx%<|Â*6öÓ‹õjyWÏ@EŸ½Jæ6îƒNsÌá¡?éz0Ó%÷2)RXµ5Ï"mLãI"•Í‹UGÙx}ϵm,$%=4+ÅE÷žlpœ…¶¬÷âÔ:@vGE2½:æluPPí*yÚ~Fí¶(||‡‹ÚDÚ®1~=Å•…̵ô^ü%ÃÜ7¼%? 4WR…÷B:š©Ò=J H†SZ$ko#'U1 ŒÓÈ…ÛVÍš.ßËÁעŬÍzÎ÷XÆæTœ†3’òåªÿ 길‹¢¦þ+cáÔº šŒÍEPûãvB>Ò¨ýn\ˆ:‹ú|«Ûë üÏF-Úî«Þ(_Yšï}:ûzÌdõ/b ö¸ !‰Ïu\œV˜{Pï)dûG(žosý—Ç‚ÅÕªo×úxjp‹Þ«Toàrwe •ú'óFg>ÑŸ¬Ðá ä@­ ¥pŽBûj=님LjÝÈ-z°m ¹Öüîã¶(žM\í¨†'ƒ°°¾ô;ÄÙÎ$Èvòݰ¥y~©ã_¡Æg8c ¨ëÆ{åü ³ÒKuÚ·Ž">x?[Ù¬e”C…£Õ5ãl ¾Dr®g½/6Ô)héżmU³gÞð3)s7€õtļ å߃ñþ }ù>õ\d’p^o|¤d¡)Ô&z0ΆJóñ¾t–Å 7wt‡Ìèk%BÈÀl3šRG¶Êi’•†=£2[/JŒÁyfÈlh±?áUàSçsw ÚTòÍÙ¿OvéAt‹ävþúé- »ðxÚU’ `s~z` Í{âððoj÷§ðY-+XÆCêUäýþ^'ŠQþ}@F£šk̬[l D+­éàM¼×÷¥QžœF4dôýíFÌ*»¯ÄXD¬4èðœŸô›-²^²°Õj¼Â’–þ3xLîŽá˜xîòßvS1qífŸÒº²eõ¥ âèPðpÛ2äÀÝý" ‹ÊSK ÐíÅ—#-Ç&¹Ž5âÎê…(}ß#® 6X‘|*ÎzîÚ\9<,ûøÛ¡œì¨ÏÄX^àv~Ây_ÃZKG!­O•Yq"I6n³·+É¥à*BP´ø'i¿ÆGªzwÜJ=(E>¿º©õÁøà’[2%ΞÆ05«dlNz½FÍꊲÂ)q2–uÞŽºU¢=ˆöΔî@^|8¥3†[,>6¸'¬r¶a"e®òò ƒ›aluàm{…&Éçâ²'5 &KØD G-lTA},ÄsñŽOù+7Ô èJ¿ÙôI=-¦àÃa¡CQ¨¼ê¢EFÄÝBµ ÐŒSfF(¾î‰¦‚õ¡BÖyÓ°q[« ž‰•aD”ìšÙ‰G¨%8î·Ûú€"­ðÈC¶°Åô¬{h‚ã' 2T»Â4”[8ð&Ç¡ 8x@ ‰¾p#ÙB RèbþÑvõŸ¤y‹Ù»¢ôÂüð[‘W¦Õ¸á‹îòÂPñ(Œüö/žTi٫̮Ι‚w5eŽÎ@ Öç n¹À½!…B«Xƒ·¿#  —“S¿ä­âjìxh¡mâ‹5Ò›Ælæ­Í*ïæ»o?2^ïmJáÕ,ÎTì¢ýGïªM"•\É…ò÷øÜõ*þ x;Û@”å{¾5”OØ”_Fö£EéÉ:•wÇ}÷nÍD ˆàyb_%ŸfsÏGˆ»q?r ðŽÃ‚–ØvbN½Æa€?1@U°qîe@Ùåí÷+‹(L ™Yb(Š1¦ŽëØ áù?AlŽE/:"pu=¯%.§tÊm?×QE Ò\âaÇ;Í—©ÇwÉ´(QG"]‡ÝÔ ÏDÍùMªkr½3ÕÇŠÕXmå..Ÿ„EþLj²‹°aŽÎ4G˨҅1Ä]C->jûžÆæåÚj}j9%RRMÈÛæüó™ï ¼4Ÿ©Ì#b*H¹tXÛšTÌl`jDDøÒeµ€Æ¾ Üý.7ŽÄÊ.l¹þo’8ŠÑ³eEVuƒÛ®|¡bBlþž>¢:'}†B"W“¼á`ÿêH‡.}Ž!O˜ª-ø'±øûŽ!V¡o· ^¦qx³b‘¯–Í«!u™ÆêS±.o&rÒ§.¦näÎ7*Hy|áþºòr!eÿ<ÊÐW·þ¬ŸI^^Yð6ס\:U„^é-4O³0v>ÀÞœñEG=!äÌNYÑdÁ¥™r®$òËì+j›‹K™*A–À» %B¹cÙlÄË壊áï—RGhJ+¿Å36Ì¡þáµf+Mr&Æ%êÔ†Kµ7ÃÈPíþ4&ÔB…¶ÁôÄ[`„¿-d7¸pñ ÞÊžô¯~gôõ5ple6 ®=6ªß0@º‘Y:ε<㜢 ž-P²¹èÏ…îzMkLDñ,œØ#¼#5"e¸âýÂÛ3ʃâ'tèÙ¿@óÕ1­ÇdäÛ@-œzOo¨•PÄ??ÌvÄAýÌvåvžæ"Þ(`IX¿”Ø©¬:Ž)%Iˆ¿7µº›ÿ¯ø*5›!¬• 5×¾Üh䇓CȆÕ0øí§¤Ò¦?1[çâ퀶ã«Ìuï”7£~ó‹Œ3k³„ž—V¡°o[¹þ²¬´Cé9@¶„- â7¡©Ì!8ãøP˜í˜Èjm.—,ylÕ¿8æ˜;xNljšøµl‚rMÚS Í@'ô:n*~6$ld-°¿)=O@§­§¨]pNµßž\Üèh÷ˆ4ZP.ÈŠô–žÞ޼pý-ùÂV ‚¸l›J1Úò¦U ü—#'ÏrÐÖjGØ*Èêp[ÝŒN¸Ô©ÐòM:ކ„¬Àëöì­ —”&:Þ©BÝ~‡YÞ!ù!ÊàtCÝEUäÏË6€ñš5¼°øN½®›…S‡Aù ü•-*®ª1Ö÷¿SÚL¬ÉŒhÓe0^T(ôN€…œùåhÙ±ƒô±2è¶wÄÂõV šìH(‹Sõ,åD`h~cG¸5ŠÊŽ¿€}‚A¯øåóúôIåUÐv]­ˆúáåw ‚R¢~#¬ál´¸)Jà©C2(Q,8£É`Û¬.63­(ï[ ×·wˆÃ±©F@i<RRÊÚÎG{p`þ»ƒ• ’·.fUŠ=×^p(=ÿ'ël¾=O©š0 ïƒôèê–â Œ¤’xÞòÅ´–±óÙ£g‰x> ¬"hÒ˜ú³à°¼m4ø™ÌyÎpÄ›QãZüªß8~´€3 Ë·k†¯_ʯ¶¬ÅTÚ‹—9ÉájD6î]èW0?Äd)”[÷Y.y†NÀûúQ RÏT#‚ÝÊ¿ÅZ¿ø²ªÜ­¾8zŠÃ=OMiö‚›Y×Ò„?ü +¬_“þûûŽV¿;"4*fä}½Hžº°Ã­Hì$®HCràòÑ/EtÔ¹ÝpyGò|¼L¥ádÑ×n,ÀŠFüq nK’Àa ŽëÕZ“¿Ïöfm&;I»Z "Ì:€{=¹:Ìh¥Â×±”•w¿ïCgµÌZ”êÖ3ûàó¼™Ð+ÈÀ´åö V|xL‹\’íÀ)6Ð&@‰j§ÛÀl) QY”îÏÆÈ;|ç@â±NÓ÷zžþ¡\™f‹€¦ ¾J(G[‚aåàгéž=Îûæ,ƒ¬7§ªOfÚn&í'ï= ìâš™3ˆÝ§¾¦vÀATàjÑkÇ„¡ã÷®@©ßxK¨ï_Î.z†q-0v F¬ ÕÎ1GK–˜rÀ”2}]·BŽ%2OGÁQ5ˆTÿLjRXwål†·aihH}Š€ìã4k 4*.J žÒMd`•lˆ5v‡ýû ÙAó9nö¥JëϾJ´äã®ãã”[ŒÊÇ\ù¡ºm1OQt•m•Ôp=”!ÈËJ”Eô¡Ç%?ªípž¶4GúiaöÊЫ˜²{_ÎLp‘‡½Ü8Ô—œš‘¤\y;ï‰ )W^_\_éS|¸?lw/ÖÓé‚M1ô{µ,4L™Ù#GJ?üŽCmÿ#ɤ„É' êóÖ¨ÜR:†•Þ ©>BX¢Úk2(ʦ?'!MR:×£Ê<10Ñ~Ek.¿ŒÆÃ†³bÕºÙ\‘£±à¡ùœv`b Ðcì~lJu|…î·È”2óS›Œ–®óuY¬«=¹"2Pö*Nç^ãÛ·D‰5“ýÉ£ÁaRÀñƒ7µæ,–éÉÑZé3­gìÈs\ޱhHI¥ kºï' sfûò…øÆÑ?Û‚O.Ÿ¬Ûw$¯˜$wáNÂØÄÓx„Æ/ª½¡¥s¬>ˆþ¾-çV·«ƒ7ìh² EñkM“Šÿ±€h’Ú‚!T/'=Jƒ†K—pŒ÷l†ˆ)d%ì+›tøx²pØëb(G²ï™Ë¦˜z Y2Òš¤F2ïvœ”[åÛ ·JnBæ_B?‚”¹ZBŒo,wÜ7¬Ëh !7¿ô3y݉ qmØÓìþ#òƒõN¤® ^ÓY9ÿXr“°èILѬÅÇÀªÂ9uËÏGàq×CLº¥AÚoÉÔéªÓš$šæH=Sµ­¦Æ h‚à&œAR8`þùË;\ð=yg6X´0ÛKãpœ“S™ Gð9*H0ÖI¿•]P—vQkáºÄ{©‰¡îÂ.érÙ#PùçÃMéüÍe¾öüÛ»{¶³O¤¹#ËœJÇó\!ÿ/†£6•›Ï“vêňԷBÁ©Uµ~Q£ «`ºí~osï)¨U/ˆ#ÜÜQÚEæviÚ”Ú‰—÷v¾Î±˜ƒÆ3~Ùp•Š—íºÌG‚âA© ê›ÑM6’Ô¤¨\(~a¿l ¼z'ØÃV5¬ëž<'Ké—ò˜Yæã&°°?»jë{„={¾y¯iÅŽšë±ÆL²—TÓÆÞÊŒ‰ÅÑ­«ç¶Õ íi¹e7 Ÿ‹Ó=“¦R·õnþ¯›.Ï,69ÄËŒ¿NГæšrF5Ú?„½†0Ez}Œá -@¤™&#–kfœŽ™Ã’<œsØ.ô€sMb›o‡Pš»ù` éFÂëà©®Ú$’%ÍuÊË5WB­¾k™ò%NïÇ.ßË-W`|1øYfFÁcþŽðˆœ¿å»üCM­ü-T»‰Ã2T]¸§ÑÖ6•ø°¿òžÐdy UP°ÛBv\V¼ d›Ûèê~ᦗ–rÃ¿Ñ K/Þeê΢ªCªû¡O.CYiEo-¹‚÷¡’ÀgRdˆ‚]œƒhÕ­f5ù†ÐYoKJÃT>­³$ÃM/8ˆìÉ~¢åMÏ©ÇJqÚןÓ_Í¿8$÷ÝTÍÛžÉoËû]¦Ëëà 5<òc¤«‰‡‡Þ–Ëï”EBr®íd$/¬æØÓŽÉ9Bú»Þ¾¥5ÇŠˆƒ=¹Y¨YgÏÀuR226Ñ¥x× „Ì(å¡÷н«”‰Ðâ>+ê`ým>Ù‘RÃå¤Å”êJ詹¡?]}¸õmK%µxŠ@ÃTÍÂeI:¶ØË«ÓÛ‰ÕVO L{ôQüÉ•`ÆŠlÓßúßö„rvvë[¤N* õj¼®2F$ÊPù1ÿÍöî=öUμº¢àÝ·¶éf¢Z!öqÖ>î­;ÍÖQ×@Åa¼ª"§Nïm\s{ñk ÖÚhr[É‹[Ô”°³lÖcæý?°yIdNB[ÄR%Ï+s`k%‡„t_Ùÿó‰VÒ¥¶ w…!aõˆËGó+Rwt‹q:ŸÉM•uûÎB²°Õœwø˜CÔ}ƒ­é²$"Mã_¥ª}pn!Ž‹årì ù z4ÇÊØ«§Ðe rŹÈï”åÿߣ´zöã«d„óz h´‹\ퟜƒƒÃ†Ó5B¾+Y lܰJ‚p’eÀ§S›n)-üiÙq m‘Zz½y…ÄØ™{–9ñ€‘Î;fŒUàTDI mE²‚½ÚŸôždžªœJ,¡f B"4£Î¾LÈAÀ.¼YRàš¿1ì(Ç¡ØÊeèN‹gÁre©#úC°ÈÃê1™ áÇ¢¾½6“ ‘²§ÇºjA<žzScÇÏÓ€\=çŠÆ°²/¥úA&´aTó©ûÁk¤ì‹DûÙ?pãÙ›²Ö¢Ó°­—Þ~ˆ“ ¦Ø£EëK×…†–•È[R0ïPíZLÐLØvC]+e×ëáÈŒzç›wŽEFýf ñi](ÖLÄ󥳎ÄUÁé?iÄ|¼|E}^…nÙðK~5y°oö*û HùÓ8[ðÌ2á.‰IÑ]Î~âÝUÊåÉ3 Ó´üR˜ˆöˆt=gwIzݵ%sv†£Ä³Ž–ð=~}•Â¸Š€•©™HgY”¨ãt÷–ðsT ÃiçuÓŠàw‰9ï6ÑÁûQœ”½*£ÕÃ^É20ÓoꃽéÈ6e@Égƒ“‰öþÝÁE—S ö#·ã¥¢L”ÎúßãIÓìudd‹ä¦Ú‡€ÈÍ-uLŽlKÇœ¤æMù·:ê$HåfVaº‚倹꛰_.W˜œŒ„æ©Ç-³ÍÌô”è D\· —À ѱ@Å«=ÊøŒ>¡[^­êvÃβ¾as2{MÑ®Ýüátù‹0WÏÙî0éëv‰Œ,üŒå@¶’Ý’à¦ÖmVéÊÐS”tc ‚eÔ÷ˆ+h,µA%æÌ³{+fXÄ“&tôƲaþ£øÀ#üÔ.úFâ~S¾öšéø¥Ð‹c¡bº¦ÈâîeŽêa‘Ÿ^ m»üã@GõÕÑ(›H×VlN•ÈRÌ´#ÊæŒ·i* •uÚJ„2JÚkø? +YŸ õ¡x/UMŠÔeZˆ¸Oœ¤ñ`ð›0'˪¾€iãè¹OÔúÁß¾vÌši7XŧË:s±ÅÓ  §¦ Xײ“pEír÷›Ù/V(º´ ªÎº #ÁÃTÅhSs'Oõ¹/ jàÐ +‡ùb[‰A‚ûnƒÈhÐTL!LÛ?ÓÞ;ßúÞí¦‚9YÂÔ9ks]ÞIO»¸ú *6´ý̲´9Z­¹(#zú„‚§»†v`>¨‘1Òë§ÃÐwÛV9[‰Âh&@ÞA$ìò=E£Åµsçã§;›RçÞL³{$>êÑWHÀž®¿T•ÚÞ7ŠÓÂECœºÅý-p~Y´¦þ«ô&R·˜æê<Ñg¯Œc•Ñ«R[·Éÿû„+3(2œ¥ È“Ë £¿J'ì}þSߊ`ó¯Zš™>(aö wìy©w‹¢Žyýò«3õžŸ—KîÈp…]RdŠ®]9ÀIGKÎ8þœ%âX¬³ü’í¤¡èà+O@÷óµ šû/tÇmŸ[yÛo–Ÿ¼L¢ àËÔÁµ$/8”?ÛèÅ[Ò1§ö}”zíx:ؽEîêWÁ ?©@˜3˜Öc vžÆ?eŒ…#Jäl¤ ½ bãVvÎM€ÿ#åÏtEëG<˜‚.uß“D´Žpôò°çK‹%˜Ojõ™ú]x‘òYv³ošpÏJí®Ç¸aG¶ëÏAlÞ´‰ÍKW…(Ûç¦ÑøO§Þ{‚b];p…˜5§äY|±&Q—ÿ}¥Š;]t1Û›|"„ô»+?g ì쨄HÈXâ=ÅåÙ£b—2«°œG)sÿ¦¬$âM6µž!ahç™RGTÛ&çv%¶],ŸÝ¤~ŠuAû“{-‡E„fãT¢ôÎÐ_~ïÙò¯ÊZÉÝ|™QÛ.Ô‚ÿ²aíúÏsýð,…4 mºž7MÍ\—Þ¯QÁÐ/ø+åÏ… ß.w{Ìé¶’ºÌ­®+ ›.N”²èˆÚ–Ñ'Ú«GžÃü"6úVî îzÅêQï>²$bãÒ¬­C•¾xÃ$‰ã¿Lå­ÑLVt¤·´—úxlÐÓ„8}²ØßbÍÀ$kü¸´CcÑ’²é6RàóGÆ#qÓ9 ²óÀóýÝÒéß)v+ «ÍZ"$H ê©)«ˆçËÆ"‚M­ûk>!­ÔíJÝDgób¸NØ‚ŠDh˜ÌŒI«3öHèîê¦õèV=ÏêR¯ƒ¬º*ý8oUàhöŸß›Üqmß¿yJßJ˜j‚Ýì. |øÃ‘‰ßU‡]û&<XŒ1»Eן·Ïdæ%ˆe?¾Cê¾0.Ëõ WCÅ4#(D°#œ¬²Ëö»ÚI Hzá÷XïÁ“ܾªØ»åà"q"Xt<1'ÅDsþœQê¼›‹ì©/Д¡EhÏ,º kTv×)ÿYz¨Mà qùyo¬QØ—ýªÍQ¢-é·¦‹l˜¶v‡y :GÚ¼)ŒY÷·…Æh"Õ3÷;‘ÆI¯¯À*îï:„8£gW°…öº@©ÿU”qÿ:¾–s¢6ˆ¬i$hc\zC—É> @õø;»îÕôm-3÷:ÐÆ®“¿·ÏPT.‰LóÛK˜âó¶ÕÌ)’òáßÇ£܃û8ìMÝÚ˃GÓÁË¿—ò°­Å}s¯/=_…{¸)½\ÌÍOIc¾¥áˆ+`™¯ýÌη¦wvÈå%Še‚«;Ô]¨Ôìš:b-½FNÿýN¶hGíìÙ Öu“u>ÿ¨I™.19sVݺkȧdÇã’È€ÿÉûîˆ 4¿àq؈ìÐ3›Æ+]""¦Š¤6ÇʳIˆ³K^À¸d@ÙÚ.ÎvF° ·p‡ÆYò—®VU&½þ[K¯ÇýZÐzxWš¯WΰïzB¯¢•)Ã'ÊÞ8¥(òxÄ­; %ð×ÒÊUYjPSLS%ÂQ$ßÙm¡ –^bW6fµÉòÚ˜ÌÅ_úh,"vjé(ž'…§%…¶V îyåêðÀËå´ßyމê8ü}õnM9¹"ŽDW ûΜ%¶ †(&>kŽU´ó&øèϮɢó·ÀלÓ5/³d7¶Úzgß$±È¨Ö‡À2Êy‚ j¡½%­Ê4a®/e kÏWöw·n‡I\+Øó5ú^ÿЉFex¹Ñ͘Ú( «Ç!5÷xã,@¾Ëœaü‹4þÀGR•¶y¬{LM†TABÒõ8f €Deù—0ì¸T%áÞÎÏ&Éc Ò®êÚ¯]ý£ g’-ó3÷@@½‘Ì»$°fâ*½ÚBp‘zžù'ì}kžƒx‘½±hd¥W܈ ÑNŒµ°šú4”hÕÌ÷Ñ@${ÀÀ©6K˺yÁÉãÖJò»Põñþ2 Ë7>(õÏaØÀ‰gâäGNT’5Þ˜]R(1JµNäN1ë|Ò9ÁÂß5À϶ö2˜„è´‡£çnò@1N« ié7/n‘àƒ˜Ÿ9¿25š\jdĸÂJc‰NDù#f`¢hiýýô·žéYº>”.io)ÑìOKÎÝ‚¯v%_ Jna੨ÕÏää‘u7¼_@JvDÔ– ¯ úß:ÂÁ,|I¸'Ýf›]ñ×Ý´PwÙš½×_*”(m:`m6>êöùdúXwNóÝ]‡H¤ST/âg“JyŽ9Èÿn[ÔÚk¦êŽ„òì¶SŽoѬƒ øÖÛ Ï“]1ŠJ`s'eZTtúHo‡¸º‰j×Éܺpt§Æ ÞUÜ‘‚îH")n¹ÈØèÙóé`Ó§NU‹! [–ņº]Ä/ÿ½ë¯>ãeO é½N`ÌÓmwºÚõô©Pï¯ò@ªðg£–níöA O¿Þ·òb+íF0ÆJÍ6®GkCº;Ö{w—:*Ÿä[ô-¼ödÞĤ,`2ĸùW$5‡þœ%Ï´è×LdÚ”üôþJ¹unÄÚçíÄp°N©š6×Ci¡¾D¼V'QiT/šðQ߈ ˜ˆ,d§*ÀCV—ß–[NiÝ8âÑÙøŽ§ÖFÈcØù²»Úý Ç@ ²`òõ®Óôl‰AìÏAQíȶ$q}+ïįMÁ5\V¶Ø$>I+¶ ] ôÝ/Ôát²‹ s‘s ƘA‘Îé-3BÍðÖ֒ѾN¸¶àc l[ØcîQ{ô"MÄÖŸ —¢øÙoÌ“"—éÞF kÎIêqø–§¥S'åÁ«ûíL‹Ë-ïY£zUÏykn.1Bæº`ädWm‚¥÷Úi×3Èd­Ÿ@­H¶ÈLa+i¢CÝó’©¢LW!*Êï–ß­ß½× ÜX[­O>ˆ6¢{úá´µ¢ ÒÇúTµÍ¼Véˇ<)J®û…>Wn'jtØJ©àðª¸i¿£§üÈÞ? &$J™SËV¼—©c±° zÄ*prã1Þ\ßSlŠO¯dÖÖ›ñ!Ö]ëÍŽEÊãB£æ }à€˜Àµs(Љ½ÀœòK"‰U€ÁzÆLúÅZ?ó€°n¸Pß$úSrÜVD0Áð}+…NÏQWÈWEXcÞžø£žå‰>{+ý»LaÁ|J­ÖÀ}é-+]œÆ5+ÌU>6îüë”ÕZv V¶ eŽ·œì)ó=¬Rí}<1ãdè¢ý×X¢eDNiQø] úVü Š¢{,lú²<<0fÅø°TH!6lÑïÈ6ñù¬?©>¹Áè–Žx.¨Ub²E(ÑBC"Ý ÛjÎNßœöIÝ%,%:_­wâB.]ôQ~Ä«¦8™_7þ×PeÀÖ+>Y)Y»ßëæDå̃´atZ)FìP†JË9»€Ò)Ý}’ªÂðøm¢6‡˜ìÌët0ú8®epġ̫¯y¸Ú™ãPUÄâÑÌ‚EN6¬ŒÉÐþjÙ4%Ü=:ïêöŒ ’˜˜·3W‹¤L´„zM)WØâ7dO°SDÁjÝä4ÿ¯ŸÇö©ï…B@Ä®ÊeD“x‡W0Ф‡’Íó~K®T)%5U""ÀÞ\&œO·RÙ©“5 ?ì"ݰîŹ;n/sâ‘©}pG¿vb›‘½v) ˆÕ+>Ý’ íu´Š µãn9kŒzÁï‹ð†ËQdñ¹ˆ8TqÌ QfK l1åìèö1Ùä­À¯ì²?³ÏkeLŠxñµóU”BnÅóYçáëY¶€Û:7úë°€æ#F¨BBî“\<¨ ¥l¼ðƒP»ò¼ÄÀÑ‹ÿp— 8ä-‘Á£ÍÙg;D¸’–€0ÎwR¦Íñ[%YG\­¯*ýxúïv½·Ú›ä¯t+Ð ^W¦DmãGo¥Ììê× ýO°fPÇî>åÜÏ7&Héq9Ð*ò+K“á$´±YÃgb雡´4¼ñD Ù/[ÁsrÔ9ÕëkF4®þ¿«a(%ÌŠÊ—öí¦J7â`Ô¤Es,r^›=鉊ˆÀÀoÓlî§õ|h»ÔmEÓ¦¹DF‘Òc&3áÒŸ½$C¨—4lKºíñ¯‘­^‡ç/Ÿö`1ÌkÔÃ¥o¬éf™Îõ« Aǹ’ð%s†4„K†€NN«£#}÷G}Óv3âTöG%g¡Tf#1‡ÝÓä@ î’ÕeJOgÁ}kC>'<„ชXÖ7?{PaàIà.åØr-_©Õ.#ôÍ'põò*V„óÑÃã‚–2ûåîÈm™‡ ÂOyH§|–€$„¿ z͘˜]<×gßILJº@GW|ð‡®æÑŠ# ­±|r‘>bø`àŠ/K‰‘~¡3a”\G¶DN«Œ®4£«å„ÿê­(ú_ÉòˆU2u_*±pF^Í(A€þØ6¾Ž„ºdk¤­!úbFƒä.p켆Ás#!}£1·"+Üç/1Ñ$H¼=LÔkø3FJf?Ú*\ªÿ¼@ið7käD@.K¹U¨%ùб«ÃØqz?@«€¡0r…ÈœÄFÚ·srÒ ÚsÐý¼:l§äÙ~øšCõÄ´¦“V1̃ZƒnØåÔ¢=5"^°‹>ŸšN‡“)g7;sv W¢ê»£p¯2A2$¤Æ>®a²d{„~RÎ.Š#0Y½úØñgp¶W^}(À ‘†ˆ2 ý®/aÏ»|Ù€;W¿oBW8–³s©pCŒ7¶”Ÿ“àp¼Ë.QhÎ"Ü ¥í¨šÉ:5î«ê?á­[|kBM}ïËšÕ'_L±L mo…TÑyÙb–*¸l¨ RJ)Ò{œ›8bG ëbÝÅfþ™^Ü2líW³“J¬œ™N„÷ê’”8‚×qž®þFεôé“ÀK¨ÿbÐÐcP{–aÖI ‘)æ¢òÍ âÁè¤-¼ ÜRàdÄdúÐhËþå_§Úú]³*ƒ°»KH[ù{Ô~\ù®p(ÀðÚÃznÛ7r[Cì”bYV¦8EÉZú0éÄ&ŠŽIK½Oéûh¹ð2_\ÒSB à1ѪQYÜæ[²hüëc÷«‡¨˜*/~‡HisdåŪ¸ºê1Çð {æ{ »oœÚ?€H¦:‹ÆSnœI–U¯€ÁÄYÿþb=¥|˜3¿1GÔ9a#R¹Ÿnù¥› œj$»Ÿµ5‰…{kíÇ¡Új{t$Ô´HÍáPן˜ç褸ºíKåžo[ðdè8»†Žê¸¼¬^§úºÜÄÌHO5&ì¬xõ“Õ–²‡Jbõ‘ÔjTÊ`{ÌÜàú‡ç Lr¡N~£°Ã9ê ˜_,*Á7ÎÂÞô•ðµåˆŸŽ`fÞ÷Ь[Ì6­ÄÖp<ÌÒ—ºú<Ô¯3M{IJ§ÅöK"Ńê§,·•›»­¾»Ñˆæ$6h ¨Pìø¬Û¤ à—ûVÇ-ÓÍ“„.c‰—(põš©¨Å.QSQ0 ðØU"ÄJV¯›EË­L{ \y2hœÉ«Ë·ªÑÂdç w±6‘áŽ\D£S/çÁLÝ1Ñýömøñsâ=:~¨nðùçÞD‹uŽò"_¶Êk†Fß^%IË+ˆüç˜Höã9´¤X¨>!bžÞ%µ½…UÙOÚ!Sù.… RÊî×h{jg^ô>Rž}bWèþ†ÿí¾·Õ˜ íŠéy¡lžÍ0™ÎÕHÅÂÁ^2™,¶º÷<þËlªÜC™ØìÓïîÁbHëÆÖa$íßH—)%<êd&i+Ý6Tn¾9Á¸‡7/¸§ºÀQ^ FD‰%÷åîVy‡– G¢„sË5HÅ©V¯Á—³N9A1P F´40ûýN™@2 ·MB2$óïêûuŽ®[KЧtY_AájÏßò]ý )ˆÙ’³&WÆ~c6ºnp‚Bþ6Œôsñ¡kaWÒIàžjºekò6LôSüË~òC-‡`)]Rd¹p¥KœÈD|«™ƒø4Ÿ†Ë!åܱ¤¾ôýí¬‡ãÆÆ™R¾![?î£lPƒˆðªââ 3p®ƒžXPŒ‘Ô^pÚcÌ oÍmòq~Šl”›Ÿb…ù_p£t™ÍA±éþq4†e~º+$è¾Gùñdh¡ TÌ(jÊ=¸ÏÈ?8³òQÄĪd´åÕ´íÕ˜ë‚cÜÐÓ¼÷ç¡Ë]|×&”c>ˆM/Ì´.ñÄ+ï _ÚÀ~ÆX= ª¢žÏyººÎÖ‡nl$©¥žO¢†u§EE*ø_íRô.þcŸýpÍ1Ëä Ö›<¾ÔráÇS]ž¸5cô_3;Mà¬KêÏc[©™Z+ Ë+éÜŒŽ¥«¨ä[>·…“ä'<'€-¥û#=‡ ˆ/)­ÌÜJüNGq¿‚2U—%Íêa;H¾8é}Ç-Vp—™¶õ•„:;v£¢#t>ré°ÂmDÏ`‡àªQÒeb#ú½é*›]îÄ'RéG‹_·ÉèR—ûÙ'ôÝê¶ŸÓ¶Òÿó™?ˆôE[üâ)åaFä|ö&‰™'ènËŒ§6*s†Þ‹¡IýE9˜vOŸîž8û΋ºR\Eø*ôlv÷®¤üp0oít¶°w×:é e•XnF:,‡à"žÆ´y™9 ?C4kh¦‡Z’6rb{sEݬÇa·’³ÒÃÛb«3?ôd±vÓ9ÖíÐÞîÄ$Ì ßgÐÖ£ù_Ã#ŠÌՀхŒ<ÃÀ3òæ²`¤Ça:­‹-h'Ã’°ˆRWýÝDUëxo¿h/U?µlÕ<ÞÈÄÒÏMEÆÊkš4 z®›I§3=?°;ìüǶƆÙâ7­Ý‘^ `Vãcwíº;¾Yñ“2p‡×>k-MI±T3÷æ¹åúu胓¸àöÏ—’èÓÁÌ/îÈáÐ$øÙÖ‰º¢?¯Œ¢¤(-ç½â÷`4‹…—-Hªº^3Q¼-âÓ³à<dè”×O_ñOéX'Ù0[«â8½RÎt&2‚à vûc–©p±Œhœ¸ÞU¤†ÇX+ø/`W£îž”zËÕ¹!L]µ¼æö2¤è4áÆ/ýµP‹!B¦g#t[ OŒ[ÞÒåš±H5eè‹Â›aËFIÏ¿»L ¶gLK+tFO)‚)bÐjaæfZ8µÃ¼-[TšZ–s_Д½¦bzæý*e7ÇR:ÀÜ鬟V*a('롃eÊêéµ9®¢¼‘ª'¯FÝëþÍþç"¸þÉ Är®Ë*^­×C˜zqÙŠ)]ý­¼5ÂÉt¡·ïë(9Uthøbxd_&kÒv;Õî)UCLq[Ÿ`.öÐñ£– qKëÊ®™$j½»ˆ ]Öì}¯\¬–µÃ#b”±üŒ¯Ú/1‘u7ttÅó;Aª^‘ˆKõ\΀¯k>„ÔêbfþîÀ|qóÚì„÷êXöX,¯2j èR~Æl:3 pék®` SJpWhݤ'˜ï2ráéX¨’ë±Q¹}¼PFp’”z§gÕ[Nàaæ´£Ó›?9@-Ø¥-@áŽm¢‚€ïÇ; 6ø®÷Ò½³2+Ö›åŽæB®1 Dçêú·Æ—æí''¥J·.’SÊáÿjߊá¼BW¤·¨(‚Öfb³$ò Fcöÿ~iDºÇ %- 0ýKs0eKDŽíßÐda1 (gþº¬©@2ûoÐ`ÅÌ6šø¯-/$[;ÊRŠ¿¬»Îoßd6MÕŽ’Íh $N´.dòIø1g²Ûk“­jOxù2dz.ëc`øûõÈ–e¸ Í ×(êÒôí!x¸{—î–´¼Ú‡q›$Óƒâ™ÛbD›XdîJè;ΦïùðžÚo;¡àAy¥t&*•R(@ƒUÖ¸¥9è[¶çôÍô½•j~žRà+qúü ÒÇŠK}6Hí´–a×w>ŽœZ? UÛñÒoSBm~°nÈ#ÎZ5sgí•c nÚ!4-œ†QÔ]YÚÁ¦´õ·7ü‚fÚdªƒ]·i+U²²©i[ªúOÐÁÎ#è_{Ÿ?F›j¦D.£-——cmT…SYaT íЀnÐ#úÁ}NÅ×ü¸qÑ:µƒåþgçF<ctöü@r j£jôëßTôjÙ#C½*þwü—PKÅÿNB5Á›”F0¬²z”sBd´öiO×!Q_e؉;ì#1¡:ë]ï»r«®ÑkcŒÐù»…û p_6m€6¹JʶŠ/ˆmqüüzÊäæÚ çæw•>™øª­´®+[~õ'ŒG3Fƒ@ò,âyë #‹ETRx=õeÇ:fÁØØ^ 'bÓa·v{%I ùeÔÐ&é -Ràû–ž±™|ξÅ|òM`õ²©¿ÀQhEÄVWß…u 5z”HdEAE^ùÆ%¯¯óÇ–æ¹®kÀÚeIßí.¿¾?ˆäˆ‰Û óˆB»cå[4}Æ—? ÅýIúì¨æÜ0òJ†KëlÑ–9ž•õ{ð•þžÎgû|S»P/å…_•¬Î®àcÃ}pFµÝ,QÔkša<º:©,ΔÌq kÒkN"ìêE9¿µ­¬–­LÞVË÷Ï4Xgž—æ­àÑ7†™ÖG%çg?(?¹':ï^œõeÜAöæMm@ÑæJ~›ïdV($ö/WüoÌ¿Õn®"'‡H¯Õ‡q㽆®àKœ…'k“Fw癥Qµb·˜v ?rë·qæÇ·s“²As! Š'J$»3 éþõ7¿RÇÊ7†Öi«5­#Ù9ºž,çѲo8#(‹HØ6ö6É—Ž»¨¡{ÇÅ“&vòIX#ýÅ?V±dXî>VàJ¹éÚ XB#PØõÇý,}yÁñüþÆß(k‡HQ}õdæ›À²D™„ÿï*­†r×°Ãã('‡oĈœkxÜÊaRAê3=hn˜Üé=µ41î—x÷ uýžý]R‚¶†åkê]Žy¼µq5IÚ·þ©Î~ö{§¡ÒJÈüU͈ÕèÉ{`R}i$нPt‘r ò{Û&"§(0RÒ&o (ü–“Ùc.9¢Üýé¿…¬I ‚œßrCñT—mÉÔÆ”nåP˜AXyP¬øì˜Å@–î6[5Œˉ"Y½+-9Ü_J}N õ2;;0þ†£çöb‘o9ŽRÁªQ!%Xçóúã'‹RdI8G!ÀXã%œ™wGNgˆ#`¿G[ðè’†ìX^°¤# ©yÓ ,e‘¨{Õ5|šs·Ÿ8Iˆ„.ÛÂ9U½ÀWíY m-òs$1|[Ñ×|jÓífCþ³RyÆ+ý"„¢Õâ±ìu£uÉZwË„.×Xw-wB*…à§Œ®Ê‡ùφDÒJü¹Ô÷qøqÛž¨ÙG‡%‡·ñv}zuóœÐ(ËË£!=£ÛN¢ÖØøASý‘ÏŠ–{ÄðÌîálûöç_ÚÊk?[ÞŧvI`0)þtÌOŠâm\þœ@Ðå`æ†ÚÓ¡‡%Pºˆ—Ÿ×^QVMÛåú³”]¤wºÌ9I¥; ìÀNߘ"rͤ6~T€B߇K桸y²3õXÁdèQA‰Û༶`-]Å„ã¾Ç×Ù't_«t®j4kðlñV|ïŸhð25ÕÕ%SweC*e‚-ãÍà"®óà«dDìjÙáe³ROuµ×ž–zkŒ-¿0[=Ù¸í% ëm}ãåÍ”e2t“^[\RhBÊd €ô‰ۦäÍJ-cÊûó…îB¹›;à¸þç Q_ù9º,|ºwÕäÔ(Cƒ CZS‡Vº%U>÷S{ÁÞ˜6§8RKù·þ4%WG{™Ê“h¸z,\íh[P²ˆêƒíÕ_ŠˆÐ8¼'i¹˜î?9ÆcX?ØI0‡Hv:ÑmÇVKº£ÔßÝ›é]>TV‰j!3ÊËs“Ý\]kÆžÔ-©+ò€)tÙéþ üšÿ)e—ßrY:OǵcYÌÏ`VnGó§Ç;ž^Ï›m©=®û¶Oû@@v ÞþÔ¼8rF*wÝŒ-8e¯I= å0…J˜"­¦Œ¾Ñ–vOºœíß*Éx”žãäTõ)Ç‚í¿³¿¯¯?Åš+æ¾™Ú$ž£û™íYÏãnx‰ýšŒä†5`‰=¹6~:›6é‰î† :Ýšß%‰dL{²—0¸–nüSø’¹¤DßûàÜ 'úÃrkêpØ1/Äå€9¦ðH™_ÏÑ-^Y‰þËÐÞ¾¿ª²Êz'‡blÅèöìé6M‰²ú%øÛ¹ã†p†ýFFýÏ $œW#DJLÕéì}nt`f6™bm¨Aå éÀµ:ƒ_q æ·fè"ÓŒ¦Îªü –fÍÛèâA2¦@¾õa J׬c£ǰìyØwl÷ø]f(L¢À¯v&Vqé'Ð)ñm.¾xè†gÔ‘3öð" Ûsqk–‰ò<øèràÅû̯™SKQ.—3¥–!?Ùu‚ Ù—çU N ‡'Ò˜ü²ìºvt<…%£F zGh™n‡VÂVÐ Òö‹¼V©ÈñÝM÷†{|ƒ¡Rñ»Ž¸G}~Ç8nœ¡;]öôí&æÜ¼J/ƒ… ®0ëq…¾ÇUÌ×ÖmùÊÈGN¤«_ßô+0Ê2†RPòÌþÞ fƒÚ×ðžJ9íO÷CGω°pí&*PEöt_³š¼àõ)ª):Å˳$…êgÉ­rPM\:£|þmoPßöO‚¥N† u‰ÚŽÖUzXuÒÏZµ£*¢>±‘Ç׫õæ0º'PGõô þ²´ª—ÚPnI Äé1Ú÷­ª±üXwÉpÈ2¾/ž+©Wl¸»µzÖÃÝó#µG`(VÛ¥Ÿ&çJuIº9§ßDþ ß°#Ÿêì¹UMV m¨õQìl`±?¹rqyµ=%ùÿ4TeŒŸ²yDPÅ€¹kdéµ»gEA¢_4΢Æ×‘mëÚõR~­npþ$ÕíðÙ’½û¶g;yÎóÜÑTßx‘Ô¢÷l´¥Û+—|e2©­á¤²³@üQ =3KüàM#¡ „7irwuÃNB{/‡¶Ý^ÆÒöGm˜®SÛ7Í’”vLI3ôj­]«l~¼~äÇ9@iá®CôvŽ2ˆÈÌ$Ïï?ÐÌC„~9QêôH +ˆ.3Ƴ÷æzŸG£«í÷\q÷H;g}âÑŸÐÛ\i5xå÷<“4j¯"Ô=U‰>K.‹C@í‰l%ëü3áÜÏLd¾¡@û“ÈBýæa9 zÊTìã#–¯í¬¡°?Ÿt¢Eq°R.e>çÒ åÇõË#ñˬ݃a‚¸XÀć3K3 <ðÓ¹âVR`2ªísê¦Ò›ã`~È·R!()Ì*Ð^R”"ÜzĆƒÛüoU.·`/ãXŽƒ€×R© >—FTpCþAqœô\¦Ú€Q±SÍÌÁRäÜŒ‡z2„š4—¶dH¥.8§¢Óu1Ÿl8½¦SŽŸÖÉíƒ !N¢ôEhŒOˆ×@ÛØÖqνZð~+Œ×–ëçÏ£/óKÿ–ß5+O¢Ø¥8lΤZMۥߦš÷VÏH ?VtbÙ7ÜMÝymi ¼Rt“øm=é ]*#ì¥I¹ã ¾½íDêi]–­/9xñ=߯3â$¢–—LQé=ÍÕàûµ×xóí’¨°ˆ§èL³ •kN$*=§"evf~Ï}ÍÌD{™ÁQm.,ÝGJÞ˜E±»È"’6TûF7ƒ‡nzã•M1·§¹®¸o¿™ò0“¹C¶h$ð+àXNíË&Ýq¬”¡PP 3Àk òÔ[ãl1÷R­ç˜ÎÏT‚ˆ n‚YGîÉÏ­©¼IÎøÅÓ &W•³Î°öZý^ßã,G)Ñ¡¤ùæÐrìã{°c>“âð£Ø\Êè zB8Ò¿l€ëj®öW6ts)ü’ÙÙ0MSX&JoNïXÅ!## @dÜpYtOwANÉHf© VkŸ»=¦†r½/÷ËNк§™µ‹$gN޶G-¯œÅšÝCäÁ¦*PQ„µ4‡°„œ´ö(ƒuÍTGó!5æÍ´UöÁN¢SÖ±¢FGe•AQŸ©—98‡ã3- Lá©c=!ÆŽÆ)wa”8Ø<¹î`· __•éX­åÖJV þƒ¬0H Çl=ˆX"Ý&B—½ucÚ ?¼iÕÍl›©’ˆ2;ñO¶¼ºÑegh„tø¤êµžDøKÔ\·‚@ORm’ô `°¸™úÕ¬`Ѭ=±’'1ŸVenŽ„•½ÚêÛ’âFÅZŠq™lÅüY‚Oäq–è~zQ¢‡IS…RÕkCÝHu±Î­ÉP`‡O9Lš«z„\@*Ú}CXÛ ùO²ù“œ¾ÊýêW¿c#ˆL0„ …ŒGþÎϘ6œ‹®%ƒkD‘2I¬Ý÷&‚ý ¡å­]üP²õ¯9²ó”ϸ?{ålyã¯þ"àa¿ž˜d$¡ñUèHã`½(ûË1dÆð·y¼ lù—´û¤eãÖÔa j7ÇÔ×F•³þë /¶¨uwú’­Kb»« \êVC¸.Á*úrÙ-y5µ(fs©#rU¤œÓúÁ) ƒQ_‡”Ÿ¶š1+ÁlÖ®ºæþÍ«…ÜýIwXADÓù7̳¯•¥cU RøA_ËÆWn¨éPuëã=°¨ÀPNÝk œf®IѧÒÄ‚§î,iËx™¼Ð»œ½Ä~Ò†¸óeR“érÙÓn”êßël,FÄ·Ùž¶Q_Çc›àJªCêžôS yÂFŸ§1Ó<ïXAÆíæðÏM"ÎF—nÏ…Æ©ŽÜ0ãŒoL 3m•m„°À­¿¥¶ý0UµÕÉ“ [€¡hÔ”% ŸSsÎÈ,)ùd{l¡eÇ«ÕHŸIÓîÈ:90·âO[5Hµ {…«û©ÏEܶG•C¬H:7ÜÖ,ÄÂyB7¥àU+`8It;‘}Žú™)ÂÜ9§õ7Šÿö<œ4ŸÉ £›- ¶ùÄÎp€ ³Ñ m·(NádvQrØÂgÂBW”w;­Z\wÏeåp±^²Ï½ø“Æ“Œ€Ï3—ù}ÕyŸÿÿP^*ѬÒÓèT¦Ï>]M­YÒ[KÑÜt‹†{‚:@ýÎÚEB¯)ª'˜k½_˜ºr"o÷¹A½ù»^ù‘ Þé+ÚùøÒ±}ç3Áùï…eÌñšâCýÇ?„agycSô´ZeåÁØPMšÃMàviˆ¿åHÒ¾•-cëÜ‘=*é«–sù*âsäÍ·óE0&` Ù-ôDîrÔLdÐ^O>ÅàŸ|䟮=ªþ*Jmûur÷L‹33U‹z=l¦o-å³À‹©Ù¨e7”¼~uLÌÐBtd’QwÿŒD æñ¢}¹Îç¦5›°ƒ™ÂrX¹vYvŸ¬CQsXb(ŽX“ ™2²BØ+ÒwNåx$«Ní«ÄU§=N.ȈV¥o'BŒ¡´t#ó6h!±u“µ§ÎÀÇûýéÁÜjÙ¯[­ •rÔf[ᔉ+ÿä'Nø»*‰ÅÕÉ" ¢«kPYh@­Fp]øž6Õ¹,\çßZâqqTkN¸¥vÃ]‹% URUÙMi”^ÍJÛxÉì@RÃ!Jm¢EµÎ×ÀkœXÍ)®ª´³þ+~n$·҅Î=™ Og¶Ûºà#ɆߦòÝ'ÍÓ Pài×1Òïn“bë7¸p, ^Å˱@²Wçöñ‹NÉÓ‚…UrÅ´VÐþfœà\Hé¿Ñ ¡ùû»ÔYi {ƒðÄrà×üH!â˜"ZÖʧÇ÷•ŸA9íüf;¯-4#HûÈNåa_ôƒDoød[uƪ^ðWœšp_€d¤*¨U,'é|Eâô«ÿáIÎxÇÁGSÖŸ o©³Üë²§ÒN)“k‘&ý™†ûE›‹]ƒ@ÜØ7ùH?÷5Èe¶Y9iž¦Ã0¡Ø¬çwÒY¨Ë`̪&çÑe¼y_Sm¦õ’EцlkÖ Ge³Ç[Ö,SQ•6Í}T"ù²éÓT›F`õ¢¡i¤°Yìå;xêZíéîSi:<)æªþ±—x®¶š«æLwªÉR9w\r£RÉ…(1 a{9åÑÛyˆ~kVÒl Ž6W‚C¤ãÊ_ÕÔÜ~“O[ï$¬ãQÏãFÊÌ>9½ ˜ãÒaýb‹!ý/ Ï¢LgܺÍ68ÒLQÆáß—ëhXË7²Á¸±­Õ\Ÿõ—ü—‰4_¦ývˆ¹J/;ˆº™N<ӌǘÖ{æô†ì†Œl)MÖ\EŠ#@Ôt=à_FP^•AÁ÷˜"Õ†#®ß}pÂëÿì­ºœÞ!ÃM%TË)ŠA…m,bêUÊ9!´,·GB‡°Rôh_hÀœ  åqØÁÉ$¢UTÇWˆžýJ# {aTQU‘ê±ö0Éá _2!ò$ØK%äïP­Iä/?ψ=ùc.ÜÊÛ,þOMãÓÜÎå©R¤Ëï§ÙDZBQž9°kK èë»ýpæ1*Ò {2”VáB/®Ž1^¥¹;$Ë6‚zÙý}l,þ2?¾l¯lHó°¨Ú¼ëõq•“ ÷z£°*´ž)ËØöP„0ä´ÙÄ¥š—"58 †ÅD³C%ÁGËŸl=q‰ØÔ‹ýŒáð¦xárŽ’îÖ>.ä—U9¢ÇЭe‚Ó"aãÂsYvQ£ì› q»J4JQ#éÉ”}\Ǫô½{¼:_dhÀ±ÎÛ<Á¬GÜ>JóË®ÒÁ©f”šj²‘DW^%1\Û/áuAbnéµÞ^¤è·©Cßlò‡•“ E ¨HoÉÇ…lädÉ’Œ“+>Çf€`“y,Äwï¢]DvséèÄiþ•Î#uøÌìöüáDÀ žE'QÁ|!ëW ”µD`áäO&¼Èc1!˜Ê>J4L}~ì®\Iš‘L)žÉS¶ÄOç`ÐÙ0¹«˜¡Ü  Ëò@&&Ö4—ŠŸíD¨Ê9ÍÆÆRs,OØÆÓØX࿬Òã†áB7¨„§â¹× ü¿oBȯ¼‡±VBðhêãÛ šd>GÚ®‚ZNcž½1^Õ¾ñùAJmŽ~t8iÛtWßüÊcuôœ8–r&·`6.€eÍÁ˜2„U×¹n,ÇIpQã‚¥}&¸ÜÓ°.»Ó{EøØÈsbœ ÍŸ~ŒçSœ /ö"šïJ®Ý}šµ1Ù­àõBm“Â$¿-¬ 9;ŸL®ý­½Úiˆ2!q:îª]Œèã ¾¿³°Ñ•Ç$5©d¬7H™t§µÃ¿CÚz ¶ÂOSZ§ŠÉaÔuéP*ëPÇ€gh_¢˜( û Œø]I®>ÞÀ[YÂÆu4·}à oI™¼r8$¾C•OçpØg•b„#žBF¸ª8²˜…¢®å]¶/Éò„®ð²ì¢"ùÆèhV¾A€ƒ=AunÚJÌ»fÖ>£:· ¸Ÿ ¯ü]”¾{Æé› Ñ0*ÖšC+š"^ðtÕ¤Ã$}KJŽ}ETmyÖâ2Ëõâ;ÊHp¨–ˆ¥ç³õŒ3ÜZ¦XíÛ-ÓWŒ¡×ú^YaÂÑâ8•ÓÚR_vy›éû ÷Œ.›Œ™>‰·NQ½1耲öV,qˆÅqBïÍÏÝËÑ´NmQ†Ý†8áû, {åÒ ßÒy­59Ì\ȱJNUº½kæ³eØR…¥` 2÷ØçMƒ?'J¨ö'`“Ìrn¬÷’WP ”ë´ÚˆX1þ3šÿ¨fà é\h­˜’Q?•òÝÈ©ÁJË YcWh<Æ`Rë|‹k8¡ø(É–Æz±=蘠§K€ Ø-|s.ádý›êKcë=}¯IÇ+ð为”­¬»Jºdí¦2E˜·I§úÕ\v¶B`óaówZBx´ËIÁÝ_€ÛTÌ/¸]‡µ'ªŸÔÿPuºkO4w½˜ÿ!pÂ/SÕà¢UÔA€Ã7Â+„¡Èëø·-Öúª¼aDwÑEÛÂtÍ5­W-C³]Œ–™•¿a‚§<‰Øå1ßxúìÍ£C†-Óµ–:Ú]Ý#|`i¤W,¨­ß9lðï~ÐÆ:6Þá…QnÙʨõæ=K&¥Æ±‘^Xk¡Ò;%v ̫ݾƒúÌÿÕJ4çÏÍ0ÚHŸ“QÉSöÇ@g0Bõ¶b]…„!k^LwѬu7™žŽ‹BÚÇfM1L£¨¬"<îlÚ`”üž9fS—ŽZfüòi$4‘ÈML Çn!ý½š¦Šîbà¡àü,:c!‚ŠYl—‰A_Æx{'—ŽyÉ[•xIàTvƒ²|Ýn°³=ŸRõ™¢ -d9“{ JM1€‹ZQk!"3;äı¶å åj1ÿIØÌÒVÁÌÕsr+¤[ ùfò?ö±¦´v–“62Jì_ kûÙ/MRdj^šN´Í³EÃÔ¼)ÇF2‘"•q =TæÆ v•Œp:»RXr}q³É)üšµ*s!R+Ä mg”dBcn󤪕sBs÷†Ÿ,—4.ÉÆð½ü‘Ô{õa7å×%FÇ8d±=›è_-GDý–2UG±‡§€-̃@FùÏ'?t²:.Fu!OR|v­ýs ÍP¦2\ÒEQúÍ0«íH»E{öòÍ^ü±Ä´¢t„»¯%ÏG/Ïãê“h‹3U`KAÞŠ€}`AZ§¢$©Ð”þB!Zš*ö´sF3@|J=‡ÝVeGÄLˆ×M,®z­ÿÈ3y¢á¥¸JyÔ¾Éîb’&‘ÎÛ ±`iÔiQ&’â$y”ò¤ÄN\G^¶TÖÅýƒãXJy‘Nü¹ÑÔ þzsÙ”ë)%«Iø¯ø}_ ½ý4 ùÐ¥¢žÖò/±'×÷NQÒk…²©×`7-J¶^rî_Ù×ÜH hèY´,ñÚ4†ŒøÛ$c§vè{¶‘¾ßNo/^Ñò tÚ !¯7xýÐïB ª$¥†óÆ6‘¥…Þ“ò:Iv˜§Ça¬¥+Ê䇸ëCŒq,ÏñÞæ†sØL|"–åæòu¤Fx+˜Ì{Ö –ýnþxyiÖº)‡W~âqÀ_›æ21»°˜&9IÎ2Qšïoéïl\—ä(âo KväúÝ¿ ¯‘Û•®›»?ú>$h8Û½S­SÒK¾†ßyoãeu™…úí˜eìÒVú>OåÀ©¤ôÝk˨F¨±ôC Ù¯]„ûHæ>×¹DCv_Ââ¹vÃàò/}]'‹ëÑ?'Ĺ•$mawŸq¦hwr¦88`¯‰Q"+nnh"ÒÐt‰ë÷Rêï?Æí®H ñYí¾´z¾-?> èd2i'‚GSÞú¶€ ®¨Ô2ïsxQ™7wPõt$¬ÃM›rx5JáËüE@#Zt,P ðlÎŒ™T(/·2Ü¥F]„=úXž»9ðׄRØsËåš1ø±ÌCm¤'{ýÂóë6«R%Š+´_ŠW[ÕôóàZ<ÊÕp·õäRsõ¾šÞ®š6ÿkã2t” ”lñU0Ü’™ëõ°ì²ñpÖT ½û‚áô‹FÄÉfËØPh•¹4]yÐÓ¬]ªÞÛÒæ,È{îzY¹[osú颶l„õâÏ«ÆÍ}ÙÏë‘ÆQ×4OêÖŠ…IØzÐÐî“vªîÉ ÇØF±®mðvÚô¦fþ™ÝŠŠËíDçU™ÌøNt‚zmOÏ"~~XXúÛ»ßoÂ8* =¥öO'‰Ñ¥ó_åƒ%á#Ž0³P¨ä´m«.¡f¨¥Ä3Re#5ÕƒJx!í$vµ}õíÝGBs5%Ⱦ œG%l¥­ˆ¨†ôãÑXªsÊù}´¸Ü0LAðÁ“MV½MªÁúÛQq^2‰oÐXá3âÚ1ƒ¶bÍYøO4mî1j`N`Mg£N·Æ#i[ElæŽÅÈŒ°¿éãƒ- šÜkŽê'üÊ]gÁ}ÔÝÁVŒãüÁÕ·=!£¨5Ãë¤b·;¶ž* ²Ô×ÈŒe½0ÃÖƒ¯HóÏ d¼yÚû_Ò…^ÂØ7-ÜÑh÷ÕûÃ%ôh,tÓœç^òQ‰‰ÝWN½1ëÊCp?Mÿ›ÖPõHÍ Ç Q=µèó‚O®Ìj°Hðn|ž£ôª˜³Ýšyt›CÌ»Üx7Ïß^ Ëi2¢b%Qð*–vìW’c1ƒRQò™ºýÑsÿ˜ ”ÐÕêW”lrÕõΩ:äÊA³íúJQç.ÅkË; "X€=Œ“‹à¡*@(¤àÀÖ"mö£@iμÞÕïÍ4Á¬FÖ²¯u]YíÓzv`%(ÈO5c>Rl­¿«I“8äÞ€sÁ†c! <œ®]wóMè>ìÜs7Ÿ†zÙÏpýß„rꉦV\§ÊQ}mKtýÀ§¦…ßF:åq‘Žu!á7 \U]˜}‰öí¸ÆŸ˜5 ‚’åÃù%1J&GžçÂ"£??ß$Î mÂX­¸ýu!>½dÁ:Udœ0ÞiªÀ‡£6ƒû-1©Ššyp½z” _Ág$„«ñ¸ «Ýþ†ïÿ8¤€6E­5¯¾& ŸÞŸk=W7Ú8!|W亣> jÞÛ-ë@ëá§©¾uÅG$Ë@ ÒÅå[UñDHe¾ç. ¢Û5l†£N: ˜˜/’X€”øZeíw$b‚'$Z}Bjïî‚ɳ.ª²¶ß± iáï‚Q2@ å!ÈoŒô štGÀa5R˜„ÖºõÉ™­,ƒ˹ç’ÔV¢’c¶cÜZþ¦ISQ{³ ª“žÞTªàÍvSôÅ3}Ó‚Þì¨ä­ã_9ã½Ð•;lDîx®*­ïL¹ön2rX讀µ¬Ìå«ÈˆŸ0œ]ø2ÙÌÛQÆüáО”×y0~°+efñž€‡ì sÆãðîÌMœcÜßz¬Ü›DrÝ$i;ð%Ò‰œÓÝŽmýÉ‚OÇL¤ïüúÙ"gc¶mÚêD^PÜŠÚ™å:y…ßñ•gþ';0:‚³ðôŠÅ³“°®`ÁDrpùS‰$Úÿ”Šs{h5L&ñSõ~´”Kˆ“Ù™ñâKÜš¿Ë¡tSÞõIÕî5-FlùÜᯡZ¤Àtè8€ñÙ™HÐÙï êÀ‹àÊÏ©aèÈÌ&ù4»ð«÷!sk‘í9m6<[žðÌÏ?èþ‘ÏâÀÂÌ4\ÙìÈmJ­›rœ‚AÝâþáË8qV{W^s Dú|!<¯×Ì/ì{X e‚¶ ìcy¡ÞR—rÊ›RÀÖÿõú²‡âÛi¤^,»£¿Ÿ¸T-k#Y¶Ä€Õu0¼Ÿ»ƒà¹jOźÃVÉì•zR®ÆêOà:|&Ëæ j\”‹4 Õ‹ƒˆcžµ,äÙ0žñÁ$ÆÞÒg†½±¥È'Uö9%Á³jì¸T’¸C9ü¨­¤¸ê— ýu2xZF¸¦XÂ×`¸ËP:vÖ<Óé-¥ƒöð”ÎÔÊBWlGûö¶(Wèvnb+Uӳы`Mñ5$2Ú­þA)¯º6þ*dí¢A®»;¾íä¬V1p³ˆ ˆEÌŒñ/ÆÄ!“@ ±?™/©­ˆ$<å m@;‹dy;±3dz1ýYÈ_ƒ<˜Ë€3º{𜠞‚†)þh~;Û¹¦Äp7]´Æ‰Çâ)K~nÿµ”‘µ xk°*Á-Ó©ð €hjQJ4ùÿ“GÃä9E”Q¦}D,1Ëe^î1Â!‡ªt阺gáH …ÌöŽûQóeILRèæÔAÇ –¦Ce$ŠIݽ®ñ¸5Ý £F’¬oÕ Yž$¬^æ”T3õ½Õçi> nòú|°ân)£Ý½¥(œ¿ª6õkkÞ’"‘@ñIì5ñRC©¶/‘ô# ]r‘‘²ú¦ akÌ &Dƒ„$ŸÖ¯<ƒ ÿMl[U˜ ŸòØ©C*ÿzæÔP¯•ó Îôæ`å‚/ØÙ\á¤I¨²Õ{íÃuxÞÄ´ ´º }n=7G^aô¢dJA. µW6bΫÕ>Ü%ð–OÕ%—§‹•)kAå #ó9<…í]ËML•tÒgi€s$Ä™>­¢GµSÜ%ÔE;óŠÆIΧº6ÛN‡‹w4×D¡ì§;²Â<¹à@çk¼]öré 8ßÓüɼ¬t‰¦»cÚ÷m_঵kðLGz=Ÿ|C²± ï+‡ 5›Åh¨¸ãBp–_À{‚ñ øÝi_k#(йÝ7Äà ²…6GÚ>è+¤Úžáb0:­¼B[ïh2 @lÁ3räÖð:–º>è0Q? ,$ÇÍpœr¸‰Ñß|=éöTt’¥,\èÈ¢ÙJQ<­5kú‘<’.deÝÅx-ØU`<q½™±æwW ƨÀÝ’1vú`ºÚ4Yf ÛŠ ˆ±W¬ê›ÉG„ù+&¬Ãg’­ZL>æ–¯Ó3÷ž!ø³ßÓR¨žPØYœ»Ï7üçªú¾¥Á‹g¦Àkäo|=‹ß2Ûh¥Xe ºá²“Ç2Áx…egk+$ p½ŽïÖuÉD:ðª/)¨xó¾,ÌšDn€ÈÝ…¥!¡„ó³AT¥œò5?Ðû¹‘=cì h<+ ¾C¶É™¶„g ¯>S¶ùÜlô°J2Í‚2­hjúa¬ZI/2?`ÙYõº("ÂNëª7³á§fûáž™<訦-wj’Æ{ÛÚZШ_ï'©'ßOÍœ;j´ß’Eß$¢ÑÚ^,Zbsµp$¹gEÿ¸u?ùÒyDo —ªmÇê˜=×~ôÊ›Yˆüp©_ƒŒÝÝ[6©Á„Œ/¹É×ñêíMY‹øYÛ­¸3…¶QLÔ¥E115ýrK^€+X—¤Ô0–Ì=áÛuI–SŽ´¾Âà)è͵ß8ÕšWFR€²ö9xoDØó:Åï4Í}H[ŠÂ{f|Ü~J sê8ÎÍb»ÂȰ"ÄäÝ n 2$WàUì¹méFŒúÆøsRëj2©Ë±+#¿¢„‚õsRé 'Ñ—(õ™K±ávï!«O?ÐÚ¤†p>’.¶Åèo=؇ÿ'=¥<¼O¹{*çàô~ ¶#Nú`aá9ºu~ý2+fš%ÿ¯ô~®‡"£–FòGÃ(‘¸Ž\_ªõÍZnÈ}&,æ8¶ˆ7‚ñ…†f̽•‡Äº dÝ«¾ëW€º80ƒ}zœi7Vo‚ÜSó¥G·ÒÆKªC*A÷ºoÉ–VO•Ñ}“ÿ.hÎij(éæÑM§?LüTª M.0’láMÅ|™{/àn ”qh§Ásá×üU5òm€Qða‚™HÖYûÎàI؆uIQä "î‹5LÔ´Û%1jÌ*=š=µJg ¿MÐM¤qŽÄʈ ¼ÜsèFkÙC›Åkì öGX¹hÀo"ø4Qé€ËÄ W§ À—c×}¿E°^|ê€ÀBAÝØ’–§lPrö«¸2+˲O5ùÄúDƒeq"È­b¿Xb ;ÉZ{&e•—ˆfý6— SŽù]Åê¯gCïò‡Ùt¾Íë‰]hG ™æ-‘ ä`äÌ?Þ5>äú]êSWb˜%ßw®lVR,Üci¨ÌÖKÃ}rÐýs”˜ðP­ïœ…z¤±1Z`iýõµ$³,Úö±ÿÒƒèù/p6áOpÐjÏõ´½‹Îűz³½4uÌðœý?¸£¾jA2Úta 8ØP©Ws-ÞG´K ö6Nñ ‚ÝHŒ;s—fsì"º7Tgĵ(í ê§ ÌÀ«]aUªå/Ýgx¼·¹j\v’<+¸Ñ¦_³ú}Mw¹ÞCD H¡ø:Ú+‚6ša†ß˜ÿÛø I[…]\eNž0Mü†`€ÅÂç´ýWš 8ÈØþ_´0å{)öìûHŰnGHÖq#ú :5›6žscÿŽ¥J$zêªùÓÔkqæ§ø X)Ý÷É6ø‘v&ýc¯ã)¹ÄÛšÛ•»¢x’ÃJï<Ìþ´OW X®ÕCüÆßðþWÌôü‚'Û¥dû–¯eDÞéiflI™-AÜI.ˆx°Ø#×»š‰Ã‘Ëõ d9Ü’n6[ﵫ·.Ëp4ÏT5&è›k$–W·W]L„º´³ÐtGê åSþ°äGœÍ6·4ĘæqÌÀÙûçàB~Ù° Ÿö_BÐcæ:àIÎG·:¬¯ÇècšÝW«­¼µ8ØBM¿ Wÿ(ª³äÁ5­÷—Ï“®O//Ï4@ÐæÔ*Á}Ú½µEape°Í\Haµ4XsxÊ”„%o7¯à{AOõ²˜˜nj¶ý ¯eDÚ4,–‘DY”Öa©Y¹?Ÿ ÎËE:Ö¾Uvëdõò’ß¹%Äjõ<!ùZ6È€”MhîÈëKO©ëÚL>‘éÞïˈљ‰`c³Wè”>5ÿî¬ÁàĈaqNÖ‰íá¥#+rJHI·O)¾S9•õ¹—c+C_¸K‘â{É´±Æ£aÍÔV3ØéZA€ ÖjÊ¥roõ“*s¯=eûïþÈ@êÈÐX0ÜŽ4‡+—h€’õ|ÓæGĘðRpQ ÆRWqÆÒ‘o¼Ü*lVǰ¹ÓU¡‘g¯öú3fXe/OD‰#býÊæ®À·èkßÕ©Oe¸¢g¡U ö [¤^Ýö =×îÖдy“üüЉ=%8¦ªj;ÙosûN¾‚ÂW…~(‡ÅÒ]#XÙ S£d€’‹6ûlk‘ÓD(?¸K'1±ÐÉÖ±/N¾ÁÊr‹ð0¬Ëp>žL?Áø]Mª‡…ñýæ ¥z·0¦5xÃV|ö1){!Èì¨G…6í¬ûleþÕu¦®CZÍ3ÂKž_ƒùÓ¦`1±H“Û± ©X–w& –ª3+Ïê͵ø ¸P­zå&Òn‰]N˜C²ý¶ó;›6‡I÷;¸]©O^J¥7l.%Ÿ)˶ VÐÊã[`8ÓDW¢ñ¢Ðwž’}Í*¼qö]ðÐÍ%’ðv˃N^ƒ¯|iàu{{ÓÔCd(uè>'À:•^… R‚?êÓ{Sþ ½I‚ M¥Ÿ% jl¿]Ï8ÓháÂÃ~\8Ûi¹Ãû”Ôòœ`dýCÓL±¦ÅDÖþš£¼7vßœ+à¤äå(ýSä%áÍp CO&ø Ùš>(³»ÛL«á,¹-߇êóaPy{+#©¦ ¾†$gv‘›J3G3Û"üU‡›½¼è`gÍÍ#ýœ=Û÷÷ÖçlúbgÃÆÐÅ9-.gJ/?ÆqÈÕqì,Ôyœ¡;ùúm)$ÇWw7L®ýÑåˆ#-Xûð"n¼½ü¤qî—CAø X÷ÉÒwޱpc9­èbêÕ¼"jÙ¼ñ]£˜5ñœ›Ô Wšâí!~eØdϨˆ'þø†ß5h$Œ QÁŽeŒÿ:ݵY®_˪+<´É77h7Kcàž±à 2IÃ7"Jþxp)/êE©LØ€ bãhÝ…†ìqm)KV…»I¸ÛÁ%í,ÔÅs»Ä ý_a€ÀqÒXx*HÛ7è©#w϶hÂt'XŠ8\µ­24#RfÈÀÒêÑžþØìÑ 7Š'eLäµnàWYϱ„ó£"§ÀYÆ ¤(€Ef˜’zŒ§:ŒáÌ2Q–å ”ˆ“¥NæÆoçlpLí ¼œ÷‡Úï ;'ÈàP„ű0šýürî©t§¯ôî1;îùLh ܶ{ù²Lx?šO×'¯óŸ©ltÛ_eãœ.ÿ[‚îL©Ÿ5Ì#¸QIVÀ)<:PKI2o÷&žâR±çÇ{ʶ$òÈ.W³û½ÙMMSNMÂPA§²¡·Z*€ )“]`©¡œ±OÂŽqÝë ŠJ)&<ÌR½º… Pý\üAoªI&W JŽ–¶zŠ‚5 ¢œW‡ì@4ÂûÝ q‰h°Äùi‡”Ÿ¼fúòý­ÒÌlHÚ6)QƵ΅Sƒ©wÙ¸=Äõ°!ëíÑüòí¼WPû~ £|ÆÂ‡¢x£=ÚŒ€ W‘¾Í«íÎS^înØŸ¿ÅOüÎ˵è Ñ­ ¹*9ï¡ÏQ1šb¸§Kª=~£~êæâ»*3©yPY•Öýrí”n—&Ë[ …MÆàµyuG%”™ý`óTmüEÄ ÕR«jø–¿Rƒæa)<"¬ó{´Ãµ”ke¥äJÃ÷Õÿ­ûEÿéέ|ËìÌpX}•`GÈÌiV•ö ,Å’,¹܇ʻ=RE ðoŸîL£[«Ý/ËÎk“|æ`:Ü¡–šþ'/p‰_«ÓÐ.4èÞ¸ê1“º»…Âl«C¹é×çï>Àœ—Øj¦l,˜âPŽè&Á—OêK²%N·ƒºU÷i"êóaÿ–K^‘£Þ<<4ψún²á< ¢BhÊSùzkð§°ºë\ÕÇØ–Ïdp.¸Ï‰ëß~ÏÂ`ˆÍ;ïÊ.ghlÅBè9Zô …‡Ø¸ÓÈðº…Ôþi´¼dûÄåWKOLþ4ó'”‹1ìêüÉC„ø‹Ÿ`¿rã\Ðr»€ÆŽ(Ñ)l„³KMR4‹";Àu×rm=‚yàJp«_Qf'ý"Ígël#T1s\â Ÿ`ßÜÃÜú¯0u|i÷OõË_}ß…-j'ì¤)rŸ‰Vöàj÷O»QÍP”9rü îÅ6¦Ê•¢7fZéc`U f.ËXßÃÒõÇ/zétûÿÙ—5§§Ë¯ö9Ò_ÔW=–¢6fcC¥bN_ó¯«ÃÛC¼é²ºÍUªOFBrã’h]²ÅnÿëýW™ùöo›•uà;ûlMÃñß qI¥+Iò³TȈþ"ui>Ï~GCwÝ“êXÇ©ÜIiµŠ )‘·ä"FÆb×ËII•„Պʬ Ù'¥œö`É'©9žao €ú¥öà(¯¶ãìn.°J‘Ü~›8Öm«I‰èpŨ͵â`üsô‹‚\ Ïê<†ÕRÊïø"ý€ ~ÄCÞçÛi| {á³pø¬„­kÏ£IšéÏŠX ÝæÊ(ÞAƒÕ<é÷€2ï÷ùüÙDA³2Dò{Ã-ôÖÞ$“ì©Y'G.ÙíMo‘&¢ &í÷¦+=µØÎ–9:oŒ©u6s‘kõb“^Èéñ™²q–=ÊÒLDº¯F²]7/w¼G¸ R˜}‡YmæC_6`F£¥°äWÀéÑÒ¾XðGºÑÒÓñó1Uª¸üÉç[xÌĺQ7Ê”ÚÍY¡ÊF¯Ìq˜'pnšääÞkŠG­½¯>Ìü½Ìx‹Ùs˜5.6F—]”é£OÏW~á Um³”…T{|DPŠžЈRg ÷ËGá‹ÓÙ[ˆ‚™?ü_ C½ÝµNPµ.jàâáH¼¿‡ÙÅœHw;–ç =¦HùœÐ;ó§¢_3ã'7 Ög…Ï1ÈÊ7ÉqRLø?n5Á§Ïiß·ƒf±Cɶ+>·3Oódȳ!)@g,·‚†Kð#“oÆÙ0ªöûy<{h–+ºsœM¾ø± ýšž™°hp9 Vs‚iU¢wºw5¢›¥hÀ¿¤ºL~ö,lñ„›1fÍ™gCt&~¥y…µÍoÌ5›éˆsù9´TáÒ4ÿ1«O‡¹¯ÖÒ-^‰à†ÃÜÝ_R:W¬ WpõȾW5õJ@ôŸïn)ï{Ûì4'T÷=1]Æ8‰í4û·Ò>•«_D]Z"¸`½–ÜëU+ÈæÎ—% ŠŸ#ë‡æ4ÞJD|Zš‡ykúzÌò—rZ‚bpq u~r‡±&ÈÆjƒ*ßò\îöòÑ›ZM\.óª= ¦|¶#Í¥ËÎíXEJL ËýS檅a]!JöMÚJñ|$Cšû ‘*0°ÇhÖIoJ|ð <Á©hMñ%’‘)5_ãAz„,Ýᣘr!DÛSŸ!«;:µÃb6”§N¤6”€qfnùÚ1¾«Ù«¿†¯¡ Ÿb ­ŸBœºn tÊtïÑ’þ·Ð8-_•6Öâ:‚$6ù1þBŒÜ>xš•°r@Û@"ÂŽç¬ÈSU¸V¦—ïÑ{a.ÓÇ7ˆ¸J‹´ÒÅKLÊ”A,z3ëq{Ëaõ»[s`Š#pv3¨i)q[‚…ñÒñàý ÎöÔ}9Q*k0-ã,¥–ðSâ,ÄÃÙ®}>:3dräMõgD^ä¹n!¶™æ²}˜lç–s+'¨Ä§ò<ø…èºH`K³)U†Ê›ã}d)9Ü&’–5y]ÅXǬàéѯïSkVŽŒˆ.äí¹—d/¼9³|Ü^ ÕÂ<¢;7!L„ëèt1kbj>¯A’¿:h_)¾I‡1Ã"\¿=—ôš£á­[Ô:ÑAihÜZɱcÊ“c~æ0¸«_ìä5Oì8ŸhAŠé{Ïv»íήe(n?L ùm[=é^#“ë: .ìv\®…vw婱v±•ï§ ›;s³$Jö@”ç ÉøRW3uË/?@çáGÌdîÑŸ?Û„n×Èwç.¥«÷wM‡î—°ÈvfÇåµÂ2EÂ!¸aÑcñBÓ:t¨‚håV=D9÷œgã5'È\8±%{¥°_×VTÜÒÄ—ŒÂ­/r¼4aBÕUiQ>5ŽËË#‘.Ö„ídZóÊìØËÒ ²˜ÒT¢›"Bø~m}ÚHæ´Ÿ]%UíºÞ½ÕðL|îÓ¹£ýøOT^\™/$šÐø’Z/,K<³šÊƒ®“l…0˜òf†G±Ù©•J;¡æ³'òP.À=à’ô÷²yŽáÅQ­‰‹Y«¸bjÆâ8ÁUUB˜ p›–̯¬Ô àžÕ%aú£ÒZÚ ¢%ÑtæŽå¨jùí v÷!á„€3§ Ã=jðõ-pÉýÚlFë«»ƒHÛ÷ 2B¼7i_ê•–³[ëbW¨-Àu\r{àßo±ˆ¦±¨”óÉ}›‰¯/Ïíéã7¨ÙùÙá8•ð–ßé“ @Ð ¥¯QhîOnæÂs–Z¨„ø8®¾zëØÑã[µÕŽ£è¹”äe‹ §QXÒ…@¡‹„Nüýx¿òö…B|»Ïlëi-t¤rO²h§!™)®CYäÑ;šÕ£>–ª„ê‡oçGéé{…òØÆ<­‰ÒÀXïuI,vQ…­êÊ †¨u Bô †V¹jpgqH+S= %0·xÄù´삃uT9#5ŸÝ@äš €´—–lÖy(N:™hrìÑt¿ŸµÑÏpî"=ÊaëbþFÕúæ6ñ…$|¨D÷(ÞÿQKæÐû$h;9yÀBüºC¦Ú"JÃÛ€å1ÃPynýì|ŸUÆ(¤¢!î·r W&Ó¹sn¿¿_çL“t™$¦O° 2áÊ™&¯#'GŒ4iE!ñÖdgò@oLòƒ98èWçs+†lc騍cœèv¸A[~KuTIÙÖÑ„Ú"³Æ€)~¢Q*bø;#ɬƒYÆZƒ ÿZ±Q‘’N)âtâ¸FdFÔ˜Uû ¼!tì²±—0ÁxÏEñ?“zndB­ÔzK¾\Q¶þÝíA\ØŒÄb*ÓGz9î/¬ßåFá¥ró¨‹n±z¤ÈâB®¨zÅšU a ‘tñþdŸut²ò§¾v,ßZÿ1ÚMîÃ^æ!p§‚¦Bé£fÇΉ–áêVM¢wa©QÑUùÖj—½›¬ÑÒtî2)†$ØV¦,`M¢¢ÅI}íõa w}ŒQÑ»”ª|/†SËתÈË]ïzŽ5¼ãÂ:KÀì¿ï$MDS‡=Y\Ä-TŽÊÍùñîWõ†Š@Jâ+9f^¥~p†e Uã "‘—Ù°”’¬tc›?þh&ÙO| 1Ig¿éñu{í=ø¡0è ­sF»ž™<”Án‰ÍÇxŸ¾ Ùǰèë=`îþL££:ÃIszàÒ¹\Œþ둃yËN˜q»?9ÞTŒ+)Os3_Á§AïãíŸëYo½M¹‘r#7ŒßgG–‚w¨Ì îÞ¬ 9°¾hjÚ>c—ÏÙ}Òs¹¬dô¾ýü+±°#¢o}dVœO_Zߪ۩¦^Aotv˜Ú¬ö’â4 Ǿ£³Å•|pö—Þ^`“xŒìû)L¯’I;†Iž6 tœv 匫NfÁ9Y¹‡2.{•‰ÕÙ‰ #߇ÁôçM¢£@À1b€'VDÿðö—&ܵ þã,’Îd\ÑH]²oz©ˆ×{¢à—…”x²*`(GÞ„ž&ˆéd¤s ŽÉ ‘øo…©ôîÇD ¸„»‘2߈«…Ù;çù1Â#\„ª:-C[͉ñfO´N—X6ÿ‘ŠTÈ ÕŒkKïrÃ'€l‚a·ú·"Ê€7DÔBœýÁPß’µ…ÍõZŒÊþ`TIe*E뀵ÿA2l1 oïM—­­H|ß䱜.ÏBÏ•F œq“‹{ßÊÌ'zÒÊuN ÃëÔ¾µS¿7%"‡‡8œ…1ш‰[Qx½V^Eq³Ý ­ó8˧'T\ת½Ú‰«þs_¯˜0–] ›žSäJ•HÓŸ‡ïînèâK ?… ùYð=mó"L㥵lˆœÙÀË]lKNÍýi­Ó¨[D»A›Ü9PöVý/)ÙÚ¶Dvå§ã*|Ä|ìÐh–Z{–ŠÆ[C"®2Ñ\J Šûù: ý»+Ÿ‹®ßrh;øß¥¶Õ°uï¢GNÂS&¤˜Qø¤hÔ³’pŸî¾¦<ã°u hæÁß—í ­Ãäy s½Ã¢Y¯‡$Œ·"”$z*4Ú6vÓFd‡ö­>EØXÿ d˵…¾!ød­h‡íFãß™éˆèl‘\œ¿íœè„5ê=Њ7gòs¢žº l Z0?ÜLÄâÖo«µ“ó·rÂ$Œô‰»¾ûçHˆð:{Pƒg~‚/FlÜ HO·ª} OÐÁá_ûäŸUï¾Ëöy¸Êõ¦š4#t¹Üxȯ…ÍY!?,hFs7Ǫ Yå>KúHf Nªæó$ôñ‚îºÁ ~…ùõôͶÌsšòO©‚‰ŽxC:!lÁ%?Hö˜Ç—ÝEZ Ó¨\îiÛep-sœ¬8 €›×!ü¬²0<Ø+àHqümŸC_Ì5X{S¨ºhñ^@~<ûx–ƒawï³'MÊéâz¬ýcMºëþšafME Ú¬hˆÒ èçG³Laù({2]KCŠàÜïÇç¤Ô*çÆ¶~»D>ÏdlªòžÅ¤¸$ÿ«i»MYœ¯¦®µÀ6ÅÆsS²JäÄ2bXϼ:÷VÀî´Ä¡“¬øù®Wõ^¬œåê±Z¼çBÝêr£pp¹³—jŸ¢®s‚¶ŽCŠ èùöÞÔ z·â€ð”‘3¥øíMPÊSúŽLþ­Âؓ۱ðm˜*)iü½3ÿ FÙè¬M¹PôìKê…$­@‹[€P™ ¯¬‡nðB!ý#¶=Û­é£Zäó«f=öbž¦§ƒÌÞ®´’Ú#¢Ù©r%Ì,H·™2? ƒåš[á÷,J~å–Ó)èq¿ÕÚ@óíݼ x$8°&3®çYÁÈè„÷d†~ñb¸â3$ï?~3oÎîLê< …ôo•6PÛê6­I¬Zi²FkôS þ®fRM-ùC‡õt lý§J‘Ø%oìt&Ùੲ–G((–AÀi0( Ø34,vù£U}h £©?-´kÒôð·¨×A”î™±2) $c¦GKËezÕ÷ø&#Ò —ÔˆQCÉãäšêø‚½'/<H¨Ð¸r´ŸÒÚ¥ fWÁ¯ZV¸îîèv€TШ\:Óœ‡Aòý[: \™ÓŠþq|´œÔ—ƒ{yÊ¿F¡sõ lKš A“¬ñ\I©°Î\o)‘Þ' YUïÛ×Ð~—Z+¤{=ž 2„‹e¥¥3u/bw;y}¡ à“-^Ï€ª Òú^A¯›eQ;6–ÏäŒo”Ý¿œÀoB.YAÿÿD ¶ûBýrk{öÁ˜-ëï'ØL}¹'°ômÛK(òÈ ^ä3˃àÀ4¢D}5D°†¾l³Ì”Bâ&<ÄŒÍe–…Ó? ç‘*lkðèðàR!N¡*ƶËÞJf7”>më¢ÿ0ƒ“ÎÙ[~˜%Vù"Úé}ä n#;ÔHµàÙ¦Žô0;ꃃ’Ãoð—ʥ驑– ˆ²˜ÆÊ·CØÙlÁ†ðÎ÷wLòöûÍqðPzà,øäÃ:Ù\´&··¹áÞ‹"xõÐеs*™öVUœ¨°¶ 7k•ÚFk Õ«þˆÞNˆ&[,õõÚjóú‡áÜF~’kè«1ˆ´Ÿaê/òlºiFRŸª=ëL£Âý ‘2ío8Žð£L hÐ@r`Ä· 6fAtŒ(·ìÈσɧ%ˆVGŽÕŸ5ï!U_ú\(ÆÄäK-²,Ç…$¢áé–ÚÉHÉ"úO›%ò³ ×êëy¶pÓÙÆp”PX½‘¬N|¦¥Ëì̵àv”p¶ÇŽé-ØþÑ'' KRÁ®(„B«œÞ¯ Iü€4šï‹÷Wös£éj¯ºƒ ¢ vÍòËá9cÊcÝó'¸½mú²Ù-€ºrÎy{Š´tç"ªùÛ )«@/°’’ˆZ3ÙíZP/Ho<ˆõçYŒ%Û3ö»ï¹ß,KÖ}@úŒÉ¤ù²»I^MKn¤J{{І3ŽM„Rrª\˜hîÁeµ›î]õ›|L´’Uú¸³5•êŠø`=[ÉÍéëÕ¯Dw7vÂz¡¼ågçšv˜†vœ›&IÖýó™Jà‚éǯÎÉër•fü56)aô[Å )è²ðœ÷fjë ³ÔJ+«56·ð£ðšj¼4 9æÎ“¡,¢èÈs¦ú&~AËVåŽ*ùöƒ Ýa’ð:gŒAÌ\6‰±÷¸ ÔMHéßͼ/ÖËßß_H¬‚@#Fé‹»œó÷í>_,îLtVnE'°sÿyZ$TT´ÊUåÝ }Ö{e?KŠ6h˜Ç¥ëá3âÌ#[¥­=vó¥ôúr[·HÛÁ6ßÜvЉç@C>v€Áo”añŸòˆöÝù[óá¶þÝžüCî¿DÉKº.—(+‰“™5äšRmâ xÃ$ ˜v7S1œh2òÖO>FÈÄz^ê@ …áÊäëÄ_T´/"¼ø)›E€ö7¨®äÁ·$aÝ­£ÙW”…öïE@»ß%ðšr©÷ëútìR–Õc‹‡r0# ÝOÌý‰ÿ&e¯ý,²Ü¼x•LÞUä²ûÍÌ·Óý’¤ø°k‘¸µÌÊâù9¢ÏÅÙ âÐÚ ¡]MQçoF%.ê KMÁmñö±«!•Êi™f×­äõ¨¿……$mö§&BÎ “)IMù“%Žô´xTÕÖß·&«,à)ã¤5WÕg¯ž§(ë•Ó?ÃNÁ \ªÙ‘y|Ü@¨‰²guÿ™r%%÷̸Mu$ü|Èå)©»>Ïð‹Â[ÿ¿"ê%rK™‘¦ŠÜc‚0†ÑÎöW4çQ¡Ç6'CÜ%¬Ä*:Ýú#CÝ«Ðý¹CXœ?‡yü,?ÓÿÜszê_µîÙ$§]lÏî6™OÝa,Ú»Dƒá}X(n¼J|¦éI>>ÉseO” Úº~âá-,I2˜r£,ÒÆŠ¤\E[D(¤› N/rmåÖ‘-ãú«ëU´€÷ z±Ìø†µsœ}9FJ®ÔDt‘2`á\tˈ"{ÎóÍ‚•Î3®Lú°j)Ê1Ü:~çäK²Í·@û®>Þ†“DZ‹LžÂ”bPƒs½Æ–<ä®Ò`¡:¦ Lmƒê”¯,+4t“¡¬ryºï·Ñ+('€aÜCP‰¡dî4ºL¡ •:máJ>9´³Fº­£É,É#Û†™A!’ºÿéD- jŠiGϺ!6zb» ÅN*œcÍRýJŒ/.¼ B6¼ÕFbx™Æˆ ƒ¨Qï8´ci з´qœý&tþþ!R0Š:ŽÐ%×Ð%Xj^ øWÔÓ}è6yù¬õVT¨ûû54ÈÚM—G ·ÓF´f§8ñ«¤Lœ\O…µ;E˜ŽÀ:œ0²V{ŒÓx…ñ…i¿óQlù„U5$ì€t±Åî.º£Äq|#¼Ð‹Ö(%ß×ç;a©ÿnÔ¥¯¦Ã½YÔî §ªèëc‰~¹KpΣTaú îÕ90úm™`—á]o[×#ÜÌy¢ÍP•;ˆœkô@xwwú+ŸÇú¡€ÇDôOëcIT¯ÜÜOí¶fÙ×2ëíüÔ®Ç_ ›téßù#Ä̇¦7™ŠÊ,¬DÄvRãÚi˜1ŽL •?ü2+ó½¢QžDֺ͡áVrƒR¨‹_¨é6Ždx0‹òO ^ÖkÉħ͂åü9ö£òºÆ­Êº@z)&·}Ó1k¿žïL0ÿw9y q³=ú7ôLÖ~þib¹-b‚’MYÃ?êÿÌ© 8Oæl²CΓþ¹ÁT6Æ&öR‰åúT&åN$ö`»Ïÿª•~F±Æ¨íê?Éæ<Ê÷üa4¤¬…¿ý?¹*‘%댨9l(‰…¼OMVc‘9S«n_×>¼#Ù¹ëÀ¼»|ð÷ŒûÆgæ iPXJ0ÿ¯[å#¦©ó礀Ⓜ|ï²+ °7ù – ð†I /«/áw:Çøeˆ 7Œ%—]S!ÜèUî6„—ë ¹CœÛ- 0>λ,Iv”Mg=jТ…AhÑÕ„ÃÄ\Î\†Ð¥§‡b6® É†ë XV‰I±ûj²vÚgÙ—Sm¥½·$™æšÇV·š(8§FüÛ¤I;Øe,Tôð¹z¦’¢YlÔù^J¬û›/s°„É™.nÙÃÂAž'L/on˜ áb> h’ÃW¨‘Vì ú·oeDÚÕ¬·Ë+úõ–Jô,áëÌAQ„'‹Á£ÿs›Ø-²“«ÀhEÉ7:’6 ˆD£ýkTd$i2&°“‰ÜGÕ\EØÿê£-LzŸvº¦jåd¬NZ\wëñ?']Õ9“º€SzùÓÕ¡b‚­ÉO!Õ®oIaËßIÑÚÈ®fÌ©ÚîN,ÀöOà¥p!Qö¯Ç½¾xÿi‡º@‹ Àú_|èL‰2?¥Ž·E+ؘþÂlã -¬Ç~÷ ÒMt†Ô”°ÏÃÞÚ5†HÇwt™Â°çªc\þà~öJ:–WîO±ìƒƒSÛ!þ⥰XÄ|IHÛ[ ý×23ø{«±X3ò÷ŠHÍðËCx²I=xÍî}§ÊyŽ&áůJp“èFg.ô£Ò/æI¤º”DË-ƒƒ*pñ&ŠiÍ@H– l‚:ÊÅáÚ BÚHŽÉùIm“miÝN³C ’Mü\$yãõ’šg˜=~7'ÀCÅ ?'ù©ÙÆÇûݾ‹?>ëU‰¬gÂÂ̯• Ó ÃÜ‘[/9Ê2nÅ#&ü~Ü”éŸ1a_›Íä·Ú)-üVSn›‚³jNoYlóä‡W-E_(“%Q7 ‘þhí«†5p&‚Js0ÉŠR¨¢Âô*õë…µ äN½±›Ù¢YYPàˆåŸS‹-)¢Qê“H °HŠS+*¹‹ÄX…Á3@Cñ‹Cr¥tÛB×”±·gÄ"€±|a¿š’µá7­¹ÓÌ #Š.ÖÆ=YTs߆Iã Bá@B“ì¥&„ŠÑ™âÉq¢ñ|Ô?–ŸB~J•±äE°õ4æPf.ü|"¸Þ)«ÑFtªÌç¦KEéuÛ/ ro=f€›Â52ê5ϲ[)ßH•++¸rÔ‰P~ð ä øD"­9Ç„ãméD–Á3^/ ÉòfÒxøY£¡lA+€?[々u×!I»“-û+Q¬Ez™òÅ|lÁõË/ð¸×iH#Ëæÿ`Å»ä2Šê³‘„Hš ×hÿ„’²Joñº@mñN&.Ó%¸3¢þ¾ü×0µöxÅìte÷ ÁèT_SuZŸÏïžË¦ûjsQŸÀA+CT²û‹LóCµš†ìEy.ö(Lr…0&ÊÀhÍÞ7 ‰£ì†·ýT«tc幨0Ë]‡²Ç`þk‘ ¤FG<á,äùg~;⢩sƒ)Íêœ-(x遲†ÿ*ØèCšÛ®ËÜ…±[ÓE» V;±1-l\5e4Ôa ƒHÄî e­$Ô‡)¨&¶Tçv±'Øj€™h'çªÍµ3¡€LHa-J¡,owÁ ÊS\…HHŸë"9–¬é+ñr³;Œ«©í(©Â?~´ˆ{˜"¥&Ô€²Êü DXÏlò[ý¢ÃiWØE!?ÏD9Ê¡kGÏ=‚yã*ýZÂ$3‘¢±¥º˜§’ê¥:ÞÙÔ‰ŸmR!Z³õ+Åæ *P)Nܙۻùˆžÿý_˜¨xJx $˜Âᆣ´ O9¬PˆÝ0 w˜k6~Biº–AãHr´i²ÄLG,,ŒCÉj-cHÏ|%S=Ú*½­*)$ï|ÄcE@” Ú'3Ñ.ÆCËÂâE ‹öÊ>Í<êghØEå#PÚy7kS|Û„uÇ.*x ÁÔnÐïÙ¢ ¹kEí8­Èq1®|i¿ $ì}p±Ó 8È\-]ì9¨GâžÑÉÈX­=PŽSøDkø=ä^xû>)ÁŒ÷ÆŸfùƒ jQÇ2ýÔÈS7÷$pÑõ3Ot•£"‡†e~öÊŒ°OgîñÕÄǧ`ñ¼£kƒ·â;f3füžGÞG݆q…R3"¡kÉ8yZ[Ø)´ßÓ”Ú½…¥öÉœ ä‡,ñÀó7¥ ¡QSÓa ‰'ì“ûÿVü¢‚<¸yE|ÿR?UÊA2|¸:%¶Ãw³ÊÍݰgS²@ ™d¸>êÞ«`N™Ç`†`ÞI Ã(ÿëxŠKTŠ9 ¯gb@~1±÷e{>•ŸÄžmž€œ²‰,ÆÎ ¾ØÜ!žµ}b^±>-ñÿœ¬¿»àРàöuN¥Ò9Þ?¼—^fÐó¢”ëe ãBŸ°Ûþ *¼E1¶öù¤¸|ø´Õ?r2¤$|` zøæöð¨&D¾^S øÊîåh˜A:3ƒŠJ¡à“Ïê'aÆ“¿äÑï@pBú2‰Ói ]»yÃâ> ZRE#m“à‘…c@ãÁ±Æß ÇX§úg$`KÆ©ÙF&»~Ç7ôF7agvýèýF.X Kà×µ¯°Sú\7)Û¸rðìª5NYQ”.óAÛÓOT³ÈO³àå[…Ô. 1Æ)Já‚ßÃ$¯%Økì@×3A5Ê×ÃßZÿª  1aƒå¡Õ hû\a+z‹\Û‹„™!>_§Ù“"Ê~d ~ÐÞœ©ˆçIÏÚë׎ç÷½ìä’AEõùP¹>Éí†ú;…ô< ¸ÊÉ‘) ;cßXוfŠËäa?D»Bzò“:‘1PûÔêqÉ\²÷Çj^5w÷¾qù 0=_Xvµ/qÀàãûÜ ÆJXâõ¹wÂßðÓW2@ûÈ 9|Â#ÛÔ/;]dê™™oþ©äo9€w‰Õ·î#]lRi°¯­ÌïÛÿßùKÑ}k¡±Båæ8ñ9éÐf§º÷˜}ùõ-Ó;ŠØè†.{âhµ%ÿ„ þûsÄeÿ;úáËKt€WIävéA¥"Fìiš`¤]DÂÌq¢øô¥ï­r~J±ê>¤ÖTSß“ \¹eBÙâxé&•—tXTüø‘ø´o©eŠzä2-mx㨥±öÝ]ød¸òf0üYõ‚ÛDµbžž].”Q1lg<,î2þ¨8ç9ñRYÀ“w0 ÉA~{ÈwŸ.ºÚ°/ÞÇe„5&>4K—îÙf¯#(„W¨=έüy’[uØÔ ÙòS ’Û^¥vM{¹zëÇeýr§µ[1_°Õ"æ7€ y˜k ¹j4¼O¯_tî‚x-ÝÆ…\añ}1P-ÌÆÅéò× ½é%Zw%AÈâÄi¹FÐûV“zÜi†²*à\èé–,«¦ ¨S /â–‰¶­§§ÖÉhçahyxÜu¯çcp’yJ4÷Ø5/c„²Øp­5 Ê\¬‘F;Œ?M @|*‚iÑD>Ö ¶š†nšï8· _Ì㉮"FWÏô"\¢ÑUHvݹð"å:oË€6´œ6V”Wb2Ãq‘¾ë¯%|llÌ Èűàÿ-î&ûBèð¨+„È@À˽õͺ¯ŒAÕn0-ð#UdYÂ0wÃ/‡¦ÿNJöPbâ¬ñCzæR`Wä(@éËßÖº¸!{aL7d<ãÞ*§^ú®r¸Ý{d}Q7òDÍýÁK¶Öš£dÛåŠí.øäxR܇q X¨‡Ì™šè‚M"Ì{ó[£‘¿X‘Àñ E‰2¤+qve–ð}unbšpâwÐÔ( § œ¹ú~´Jï©’íÒ×…¥¿S[@Þøî´¨ª‡vҾʔ°«$rTiûø®l^DÃ[eµmS™Lîµ³/ŒêªÀùA“’FÌrLMþçÞŸû¡ö“? Pgƒ7ë à¸È:ͨÂð®z¶FGb%gPg|ÑÄ/òU†åpƬ¡\ã¶*/ã{¹µ¤ÿ=­ChB'ÌPÛØ EmåÒ^êd5KvGù~»å%’ÓdÞù_2­³5tCF3’ï’2órê¿5‰¿+°ÝV Üwsá¹$ä(HŸÀÖVÉ'»€,þ¥]™ò9§zΗM©S˳fdùßÒƒ”Lwù=PY¡M±k4äèNXæzzÊíE2KFæ´Z1…Ö¨¸Ø?h@Z½Ø?‡¦ø®?â‡ÆœË´Ðb´èݲs·­1UÞþÔF¯EH²û³4ž—…ÃSKù$Ù?_q”‰—‰Ó7EÁÇcïÌ[ó’ݕކÅqÂo$¶‚p¦H»ížâ¶:ìç‰Ê®® V7¯à+v¤Åy³ØËêÿ›OùÊç Fc ù]d¬~ƒ0Ù³ÌÅ?†iºS¢ËÖƒ°C$/Á9•”uƒmÑÎbæNÇ0dW˜ ØÙ¢Ì¦Ë’b ˜à׺öMøܱ1%ñbŽ•z“báY_ËSµ€2šž³c_ÁâÏX¼Tï)á˜é›æyÄb±û¥Ü9^¾Mâ~¾%Öñƒ˜áS@ÒâÓX‰Œo½¼ZH™c¥7?PȼUWuº@ûÚU!f+e¸ofбéDÛôÖä×3Ýc[“Ë’{ÅÀ.ÚÎ=‚ªŒŒq¹ªV`Kh¦q²ŒV­nºN$ê !0áù;>¸0Mb¸òkŠØÚáÉçÙôs¢õxž—ÊQI‹ÿÇé½gNúÃ$Nÿ]ÞÖø¡7’œCJœA¿Z/SfEcF©k}js-9e¸[]1ÜEÖiq=£ôÿ‰ùVâý ։˚÷žPNº gE…{»Û—­Šõì(N¨M’ Z™òáËÑ&™Ë&;ìê!y!S|M+Ù›>¶Ö^Ìò ³V;.cSû^&SFsV¥:1c˜ ­"ò@ 4A^^ˆu°.¾Úgßu¹ULy­([ØOBí´%*&À¸ hÙ–Ûãôwî}Øú¬htè¼¶.v`¼)\sbáÎì °²b‚UŸ'€Nb¥àæ 0;W¥d$N=*û'ø)²œ-_vº¿H@âPãÜ+»ÔŠÜy+è«3ÒYÑ0s[E/vÿã R:ùô¿Íƒ™¤x]ˆ2¢}/?m¹Ä3·`ï›Eâ9ž¤ šùmðgC„ Z7mô¶/ªß×äþ¿e jZ¯·±–¸°ü+Eãõt¹ÃhOÌýw0;î}°ÈŽôX¸›^_úsEP«ÿõ) „ jÑç Q÷\aÕ?Í^¨1Ã.…Èñâlœ 0‘Ij}tîÇ^sZB ñäWjÈë}ߦšÃi7ÀúWê8KoÆUCB·\ Ht˜Eˆ""WfÓ¹‚ò(Ìî h§Æ{<íÖzÎ AsÔpú;ÐnÚÒ"â/µ!,Ž%¸Æ \öÒRÊF°§ø\m~˜aãÓ…ÕÚ ü sÙ§¶˜†’j“¡ #ŸC¶fÎzYÄ{ç‚k7‚‰! šÖ,K/“óßô(Ž‘©ö9ûdå˜"Ѩã/€Iɺ]6òl-Dïc€†6q‚f†¿li¦Æ±'¿¸zM)lxâyíèr[ <ª'Díר-3Ü®ÛCþIû +/4mpÉ~½0Ì~n¿rsÓ]')ùþ;ý8~!÷4 lã*ê“Æ4M9='¥C‡=!K¬ŒwÞÈ/¿q`kÈYVЦ†ËNoØÇA;S[:sáXîЯ²Z á‚Ú„éŽP”þøÃ;;—tµY<­^ž9åÜëPW*Üdß H’üxÙ\Õä-8ŽÞ~–èf <†)`n’>Û÷¾5ßÔmFlÔ¯ÂHÜ-í_:â¢R¸@åê!.^ñKÏj©é0¡øi9…â02'Ñ#ÕQžÚÖµOp/í)žÓE¢S«‰Š'.ðrì齨T6½:WAq×þüƒ-"·E;âNŽG¾9ûM!Œ`¸×MÚÛW Ëè§ uÖþP×Mõjbmȉµ¦õáz¾JåîTßÛ篓?ªfe6½ ¤¿Wx'ÉY¿Ò+•%/ÍM{ Ï™’ÝWÛ=“+ºó ûà–w½ý{¼‡B{q•œb…ܱ]Ò".•3’w[vcìiáþ¹úê ]‹™è´ªPµKŽê˜=1ú÷Œ_[ÿS÷'5M‚åJrnwîÓ@“£ÑGŽ|¹ç1÷pêά$åïY[üÁ–$OPC{¤sžÛþõ„®}á‡g`:èAîõ|ØÌ¥|qƒóM休… æh,0ûAäĹä$Ö@þ<㟚ÈÏä“_äf3í1ëíú¾;M&\O­a®yTа¸•¼hx0öÆ3ÆháÇU_ÙPâ}"'ÉòvǺñ6Þ™³k–›¼yóÏ»G«JErîwWäÞA<Ì ¨Òál¶03¿±¨º24Џ 1L¸B?µt`bùš6mo„Ä®3*~”.µR„C¤c$ {*bá…³«÷:lÞk:‘cí8œµ«ªž™1¹{;ZKPþu>5ø ½×NËQ3Ô±3 šéÎ'ñ·.{éýMíã’³Õ`ãn×Ä%¸SšXއÇV7µ½µø8娙'wáÖµqÔh‚! 2¿ÈH㔋à?ÆÕ¨×Öx¯s  iPÓ12'b9•ë:§Z‡¼_Ïþa D8ÔîÐ*þzJ9Šùßæ_x<àˆ´½Néøaø· üÔN6>Yƒ%¹”°¡¹ÆD·€BEaƒ–[7ÁàL’Icº«ùÎß•j¼õ@Ôç êÇY¦]êÉ%YÊÅC´C|¾à†¦Œs‘’¾fs¯Æxóû£’¾½Ú¹_,XÇÚWç§LT*Ò†ugVåÝr¸y–»õà\À)Þ7þ±“LFG…|~ª²LT=¢éÃYÓeRçLd„7øîOÇb¹ ñÜuv0]å W5V{Ž—dÖ‹G­ó|0@–ІcGtš:ó}‘q¦rËù7¥rfûåp&œøHV°Õ)í«WwÅ-js1j‡‰‰çpÝ­l’=+«IŸåCó3e&òîæ Q(ã­{ÏÞ‚T ΩMËDŸ2MAÿ¤ v*êt"ȶÂ.6Sœ6'`Õ½óh{úDÓ²yˆ¡k:讳Ã- Â!g uŠ ÚœG…j×Cwx0]‹˜ò³S¾ =AÕcÙÎ)NÃLµRà“”ï 4·ü(ðÚÕE)R£¼ðóÏ êr¶ú]Ï­påp¨JL²è-ÒË!-à¨mXòl›-òNIÉÜаüJo4Ô”çHGF’_Õÿ(®Ùè_‹ž£úý ¸6¹[ʨ¥t"L,Œ×'DrqÛŒ˜mA;WHr©‚4Yh® †·î,ò/_8-¶ä(¥ðzØwR,141­à¿‰ž¡™u«éWÅÁ€u1ŒX廓]ùŽ“i´%B!Š1ÖðHÂ~JˆÊÎHŠ€ ³‰s_}Å@ÿãfÒ_ãG÷Ú%Eo‰¦\_€7šÕM‘N§ãhëpÓ/9žp=»po*àߎÿƒö•½uÆ,u•Ž'Å9ÄLs#¨§ˆÁÜhw«IÖr>…?ã,Iw²üžr7–çôWÃ?sø§ãÚËÆMú¨%Ű²"õ^ÑY_'ú/t7!f§S š"‚ŒÂ˜åÁöÙ*Û‚¸ôŠF¯*–6pH^ù1~._]†ds±ã”YÊç¾æÅ‘\DD©û>VÄ.Ç–««ófŸ‡þyìQÉØ%cÿLžuåòY½>ï[Vÿ³,„é…‹Ï3JeË ,c=¯§pÌÐ?×L]¾94üË·Ø)·k=ØÖÉ(;ñ\ª—û‘ºI•Õ,ÞK[p2KD£R½CôðÁÕ8…„‘ÓùL¸=;EvT;•®ltA4¨b]ï´ˆ%>áðx.Y¾ñ§³Ÿ¹ÈH‹€F›ÐìÍ)ò…pÀ  ÆÉævø0x›ë³ ÿ%à©Gx$sZx!‚èNû>çˆÖlîmðÝ£ÖÞ€!¯ŒÈS¿Ø$r—Eà­es³â†±‰å#~—Ð Ýd_’«uÒRî Ž›zzn‚(î¬1å‹ 2!(ñ þªT4¬µ 2%ÊH‘P¡ê8éýínJx½—Zúô$@›ßºo2>÷ HQlÜ`¬Í "2ر\/1º+Õ€æñ,@ïÖ·7 A²»Ñvëµz7s@*ÝïgÒ¨* ¶ÒäÍÆñä¿ÔÂ󌃾> ›ŽEŽ/–%l®·áÿ©USíãøóðüÚ›íPêox$ãU6¢«GñÎ""†i$_C.`ÌÂã†dbÂC¦út̰RD‰èË}?—Ô3j8ߘAœ˜«}Wu ïbà‘âÀìq}-K/[ËÙ:âÇ«Tjï]ÎèxÊtÚKi|ÒEŠ®ƒÕºT¯äÔt$d¥$ÁÙqTr˜ ótöÈÓ$iPæ6ŠP˜ˆÈ•õ·ùcnñ&¢‚OÏÐpj}Dï‘;>ã©n7€ðÊ'ú‘žß¯~©4‡¨…¿È‚~ ¬h®ç3œl °L‡òbÈ—m¸Ñô{/ì‘m_ØÔÄRƒ¬_>T較>¾¥—hµiÓ;s_ÍÐM8( :_6]Õûbó˜ìAŠR©ë¼Ù°çóó€ø®FT¶¼4^ÉÔ욀Ã.ÓåžÌÄ“¸é¸±K5—â‰U–y\ ž2õŠ—b¨ÓàˆzÛ¹™ænÓRm„²§¸gü‰²êþ”Çwÿ .9ÿa1É>¹­±…·ToÌ.¥Îj½Íª#鈚›/H\ßOö§dœú€8 i†Ð¢ì…Žük ˜zm+N*sÐ_.hbq Ê”efØ(]T\" ï@õv¬ÈÀH™õÊ|M¼æëö.Í9)3€–4h}Ö xpBè±Û‹‹Üö ðÚºôKLwõ´NúáÀ#4`—‡Dòq(•–úÐNtþÞ=µ»â5É Ñþ‹ÙQÀe?dŒàˆSM;!#Kä½×ˆŸ!¨@÷õ³7Ïn„¼¶È§GpNÓ)ýÇMÎÐc½$°”åˆÚq>œÈÈ8Ù±ìRb©XcTÇCF–“›^»”ò.)Ýßñ'7¾á`Eï÷>ô£Â×Ç5üÛp­p4òä–Mcì†sI™![ôL;˜ÝÒ‰`ܱåœþOåFù°bÊtˆA‹+¤‹ý~ ²H¨ÆFË~ˆ†€tYd÷e©Â0 ê""dáws rR8Ë̤¥Âžý"Ήç`G¡g¶4Þ0×êr<7› Ñ_ïÓ;@Šÿ‘qŸlN3U”÷³ö¿qÔfÊz{„¿NW¯[ù`é}¬ï˜]ïüO]µÃ<5ø›ã‰…†°Á¾ßÔ——+UãÀYÄøëë#ò}g,.gG²u#=å=Ú󘤽JëfÀ š"aät΄95uÃ1iÈ SÑ¥»Tu¾6yÌ¥á|Òâ©–çŸõÇšº =g•IAaáÌð“Ê¿¦‡'†ò Ùœ"¿Ê³¾FOýŸ•—Ú˜ØðzKÑm,yÑÑËtcë—Á³ ‹BnöËY*î,Y¡ìН½-®Ã^HŸçÚÃNGø“ÁGŽõ,rÕçÛ% ­èÀ9üs¢‰ž––ÚN<™ójš¢Ng ´ÑQ@ÑËõûMz‚4ĵ,´ZkaÉ;¹Š{sŠßYR¶J`•Dß™q^‚C“ÌΔ¹¾Ç»d&„H[“wµ3¡Eꢺ“¢¶/Y&A6$­:kfàXS¹8µfLÐX¾Éйý‡ ªŸ;ñÙ­£@+ > *=nÅ÷m«XžÃŒ¿cÚRÐþò´þ^¦˜òo;aFÏh§¸ý,´‚v$˜óô’MPÏd/xêñÖjS³Œ"#šòC‚S*õ!ƒŠ˜Œ ù@é´úº.Õ²ÆÜë~ƒÓnP‘ú6âMÔ{Xß:¿ÛÑghÝæM©H׸:;¦ ð—–6º0ª%X'Š/ &çeŠÖ2JÿãCËn$æèj?Kö­x Ÿp34ŠyÉt©ƒ@UH[Î nòÀÛNÜ-E¾›ÒËGƾ¨¦Ü»ÅÇö†žùµ“À§R„'meam‚èlŸ)ã8nŒÓ9² §XY(ÅÞ¯¤/TæÙ«\ &¦ª°±•Ô6ô¤Y+“‰JÜèDy:Ú"ÇþôMJ¢á† Ûî"÷ ’?k-J):¯“zGZb€m?ˆ„Qˆ†Vq^Èqäà‰¯4å9ÿ߬åÇ;–_ûwÓ<È]IŸPÄ ž¤¼qÒfrÎ@¹ì¬†Ñ J’Mýè+GƃŠ¢l¦‚çµó;  sÐx ­ ¡O‚[¥â8°4šwó¾7?çf@oî¡>•Ú¤5ú2y•Œv¿ B5vÓÌpz­Ø¨Ä‰­ÄÕ笯Hed+ø¤Â>»ŽË™£4h]ö&4ÒmÖ#çi÷‰Èy©}£©Y 0(ýÇœœ€Ë#!~¢hºá ê-ìëµ¶rt‡3t‚-fHZÑØ Ém€'®Y?L[aÝ:ÍÕ:®Õ‡ƒÔ@õk–‚.-YÖ§ Ó¢Qº꿲°“m1–¢èVøbÆ+l¿A ï§Wú¤y×ÿê\,i3œ(rß 4¬b½/K作!!þ£SßÄ>4vZ°Ýk@yU›hWSÀ”ZMúÉ‘ —AôñLÏŠXæÖìZŽNÄ´‰^ïžãll³ûgPÏÇ5²K2³è*m¦ñ„LO.W“x5PÇsÕú ®ŸÚFv\ÏêûÓ¥DI‘èí\ž) ‚FñÔá'Xòk‘.%Ú¬‡8×!jÝ;ºTEé9\2JYX@©Rºnê_ÔòŠ{¥Wü ©g& '´?,Zr­˜¿pÆŽS~7öHær\ö×ɰá‚$Z}˜tv¬å‹Kõ…5x9´¢T‘g 8 uíçŸÓ×F,òD»‰‰VwœÌ@ ðá"¸Ä¢ö1lÙ ƒ{ÿ/„”É5eèæodR@Ñ|<ÇìÂ> J »0†í@À%7?—+‹šÓó2Mè/ÀòKRЖ‡“ÆäpÖÀvÙ¼ð¡àp¡ÿÁù®JÍiÈ+!¢ÐÁö­Âm%n4Zžo”[1?ÄBRØl¯.n+¯pzœÊ =ME.ídRx9åj }¶Sm,](õ ¿Ó£Kz-Ïc‡(g¬¨ÇËìˆÕ£Džm¨É‘žÊ|(ã@ÿ0ÑŽ=ÂÒ&À%ó"šI@%Ä5¢®À?±òŰ\M±rÙH#ç¿üD¨¶'¡ÜN™ÂVû„¬(ñU× ÀÏA+…ƒ#¨.zQ¡ Âáø¾­z¾ëœ[bèe ¼'„µ´¬>—˜ â±[~ž®•‡âJjämUŽxaa5YòühR³\pqm×YICKoöZù¯ïÁíƒCøÂG)üé\FLZÿ€mnÙH( û˜¨&Xǘ;Æ Q˜ß ÿëkJZ’C˜1…¾‰œ3ta”K'R°p:“hlæNWù=ÇøT›eÇ”r­äÈÌ"©ÔcxÕf“! “Ê»ƒúùûM4ÅÁ¶¿1@þ•"Ý{y­ÅÔÕaõ÷¼ÏËÿA¨º˜K5‘Wf¨ñ“›ãÁRó+«ãæ?¸¬¦â‡º°6„zjغڣ3#ìW÷_÷Ðv0ñœ….àWº©;[Ü^¹0¨×gB &¨!¼.µk¥ cIr+·+ è] &ŸŽ>6é8§DE×á9ù:¬¬ú³‚a¾½lÙÍEÈ. fôÂüeÆh âam||sêú¾36SV‘3‚ýd..nÿy ŽŽŸÃø:`Ï-†ç …wxó,‘–Ù`¾Ã4I¡ FcxK*¬úÁ?äˆf=Êï€i2KŽ®Cì µ#Û I† ø’žCèæ€~&Þo3šo_H;¾œó7Ó‚ø”UÅ›éŠg…cYR;ÐæŸ¤Z­ê(³Ùîž­‹{uMŽ.´ 3ÙÎ1}¨Ý8ç¿zÓ»r—qŽWÏËÞ‰‹[•)£†žúÄÒÅÁä4Âøp>RàxœêJ‘ÛCÒ|&ãójTí'«øiùG,->mþ–nx@#òI¿M>tÑäg¶“Þ¬ñGzM'n§<¬Y}d@P£g) å?´+ ‰?>Îj²´úù’ÏÁƒ¿={:R>lì ÕÊrØ×vJ§%z¨-A |[?8°¡tO4ޏÁe¢ÔHuæ'78}¸ƒX:ÖŸVƒÖÉßvo«¡Žë¢óDq,÷>êRZ•cp`cS•ðxøÀu< ¸°ÔàÒVÜŽ9“åìðõCBk¥`-qX¾¹ºF`$jèÚpÈjØT=<  |–MG‰$jâ¥þsyü³jçͨ·²HŒ½Ûðu±nÊz_¥™¦×…®¨&^wÄ­é5°åWØVDûsÇDI‹‘È¢ ­z¯ÓQ*?þ÷ínD+ C=XïµMÉ0¡$æˆ×c¨åKglî,ƒµÉ‹Û ‹¶-õ³–t_Ø£~¶vV7ôð>‰ðzÛÂÞŽD­=¶gåˆûüǰ›¶+äóu(1VÑz&Æèµ6䕽wÑSÐYZü¯éÁ1ê% ÅP ú~¼~ÚÚÕ‘S—³žÙËUŸ ÷Šh?Ý=Í~ê‚$&‚pÊB§Î¦ÏÀ—iE£†¨ŒÚÿ¡ ]S eêK)o5¾‹'føZðHÂÆîÐ0•Ù®Ýd!ˆû_)zx* ½¦Ó]ê‘pp-\h–#Þœ_¸…ÏÉtªvL›²A3áÝa¥ Á/¯\Ö}~ˆíi&TßÉB§¯F /;ðêt¨"£M‰cº•7/@q1x9%MÈeGÅ6ØÄî4Í£ ž••”ðCÑE:•ö!k¯–ÐU?Ó5кùñªÍ¶z4—±ÓØ;_»q¸}^¯S¢°Ÿ¤íQïi-æChTí²x:äC 7æ,*²´Ü<¼¬5í[€ðU é]Óÿç{⺤”†ÄÚê-g+Í$ž§i2×ÚZÊÄq¹dŸõ*‹ÞøMQ®ÁÎPÁÞFÜwJÕå½(¤›&沕Ý@žæY%œCß3žñБ–ë\|7¸¿”MÀÎëÌw¤/Ž3Ö›#«‡Ì_DƳƒ…Ý–%m¡°Þu¶Žp ·`÷ÖÕ€km¦qV$˜10<*C ‚Ù^mMy¬O9ÛUMæ…åsBH ð“Ö¥C´èdù¥›7Æ»/eÑ3ÒI„2ŠS×û¯ŒšàNC~Ÿšà ߌoú±—Æþ?Y ]6QwØ›bzÚÛsB£wòÎ~ž™z@M­ Epu\ ‘§ä€jDûŸ5¦ŒÁˆ^7£~×ü„ü9ªÒÇ4ÛüÆõ?×µÙæäêEvö\$ !™¹Í©ù •$‚'i…VÉʨ€“AÄPož÷ˆ)9³CÚ™Ze–ÓP£d{öc&äõ;cÑ\)fÒ$ÐÏtçxñ’]'a¥"/q–8Û×P=Mµ8]i²‡_‘¶Š·QhsV^€(=ÇêWƒ¡Ãµà34SpDUð=¢¹júì |<ÝJ¤·¡7™¨‘‡¤ÎLðËÊC ì/ê=ÃÒÂw¡!î#±åtˆ–~¾FÃõï–jïoùl9íàÊ»äÈOöóZБ%Ç ©LÊ «§Ü·øÑ/ñ»é²5„N¥y]l¶†‰“ ’+Ÿ²gÛé¿ÒGGJßF¢1‘QêB¦×.?Mi®5m¶Eî·(2¬‡aÃj’„ˆm*è(`ÄÝÏÆ˜ž×YŠb¡§ 5W½iùße³@\Ó‘‚…/¾–kV°¯èøBºC‹8´+é/ãaÔtˆ´¢÷¤Ñš¾³ü‘ì‡Çï’ê4ÕÊÞír%ßô)Ë=imšÎt”c!0g×Pà¶'ífÅ2Û–N†ÿÀÌi¾€­£ÚaüàPÔMxs)ÎaòŸVHäNó`Öø07,öÙtk?™Y0KeYYS @Ä÷Å­&2~³P\›±dó7ëaiiVÐÍMÊ ¢ÅØÓÅ ‡’µkr|øò@SÙ~!îä‘')dwÿh;Ö,½Áq‡Ö +ýÓ ºUw¦ûpýï™dL± }èG·zÜ*\~çËè– œ£wUˆ(ÝÆgQ|%â$†³!ЯãÙ©©\¨† “F;á²ò›¯€´MØÚÿpU`Œ#SoâXO»w¥_Þ;ëÁüsÓämæ?í¬_TT' p¹KéBª'!WŽËÈvƒ2ëZŽ«ãg jÖrêN˜¥¸ŽÂ_k#x§§.7·§ø¯NVSZùšQ¡`âÊ›Pÿ(Þûÿ„ =@ã-él^òrŠW!A|Û 34]4'ÙÍw®ë#êª3ä˜Ô‰½"¬KdýöØök7Â?¯PS‘;¥h³¸I(7©¹p†œ`Z9CÇ÷ÆEJ± j¿…²Ò“EnàÙdW—@UWNÄhÅu…}š›ñ>ù¾Øbê*• žâGx,4Äë¢õ(~ùœ'!gH¾ßõŸT>!°“!&Þú¤=ú»IÓ˜¦r nÜK¤^sŠ8D°}ÝWé˜æ91j½ ÇG /îG{b,/ôüŠx'ÐG8¨,hU„äîæò½¨ÎbññÃLµr )$oUb—M{•£|_ÔX޽ÿ­RàW‰°Ìé»# £¸C>Ì0|2™;’˜Ä:P¼Ô\Å\’ïç\(ÏoM’¾F»£Ï@ßBµ° lª¶Ösâ`~„|£ ±óæÕ0‡¶ßaðƒ¦ß!'’iƒHíPÔ@Î~!g:ŸF¥ÞË RÛt¿cŸÛ žx4Ó&V8ÃuÓÀS¥}MœÂ°ðĹgÜsë­Ùœ¦çvĖq?áÓ  L˜ÌÎ59”\ÀÕó ±ä€‹0Ül÷þH`ׯçÁÖµ¼ÑМÏÿ;-Ä(f¦÷ölâ»^•®vôôfFøH]y”àqÝ!ø¿x‡i‘* SÏ—Ãû“÷ˆÉ’€Áè ÷`”w|g°M¬ÚLÃ6ñߨ3gÆS<õƒvK§W^èxù;®Ç0àäêAYêáØú E˜(“ã'd‚Ôã6Jp=é0Úùµ;µ*D÷¿ýl]ÙµôjQT®Óo;£´4÷R5ÅðéªFâE?0<ú‹FWò ¹,Æ×ýwÕy´•ÏÌ3¦BÆžUt~WEóËÙÎáCnÂjènêÑa¼ÂíWÄçD”2©ú…‚±€'ILŸcN"€cÒþr' {æõñŒNëR\¸I™™ò—ú¦\wüÆ.=1'c}B³²ƒHwU™)fXdæ6Ê€D!m~¢ÝþXÛׯäej&úµÃ°eˆK8Èõ}mä[;Nácø[@çámûDîÄ6ôo0|;Vµ#µÈ¦áSæî²É'0Wbв°¢w÷Ñ—©bþ[V ÉŽšoý«‰Ìl`$ÅÙxJØÆ]ˆæÃç½ÌGQ+N½|©kÓr>"`‹Pg3ÒèòBèoÁgÊÅæ{1q×ìîþ²”LPòÒ/²ù¥Æ®=wNJ\üEšöë¶5ç(!7lp(¨iW±²÷#tjµÄì‡Ø«#ÙôhI*î8kž½¶Ì_ìF|›þS’\ šxÿ€‰~ ƒHŽT…+nEÙ.ó°t,vQ´ÉÚÿ6ØwÙz _jµ¸JP(€vøCCÙ æ¡Ä5Y¡,%q[¿ üúJÖW Ô\äç\öôrý qH:Än{%Î2¡ç% @&! ð#ûö_oN‰ÐV˜í`”Ò2f{w×ýÏÍÉ<Ïa åb}X8 TêJà%ïþÔi½²] °šcnç‘Û f—YG§ýe¼`æÃ1rlÉŽÂ˳. wªq¹æ> ÏBܯ6ž7ó‹‘ôCÔO8ftèg–¶í¶$ õHiQŸ¼®åŠøe^¿ÞGß þ{]â:Àýø•òט‚|ÃÄ¿×oÚ/ ´Â¦G qgüò†”2>ÿOL%wŽs5&ƒ@—²§`w>çM~Öåì˜ NRi.Y¬áÅb>aBÚ·ÈøÁ˜u†§O85פñq+«Èhè&QŒHcÃ"'u cï> XyêSQåÄ,õ–‹C;ûëšAkæjèÝZ‡;R¢â Á'0ÄÏÓÝ|É¡äfs¼ÐçÔ49Ð(m¦Ð€}¿ tut\—.¾‘Ð܇lV‚Ýð9·ØUÑ™–N³I®A¬v¡ €ÿÄÊ<ÀÓ”XU¥è¾V\PŸÃߎLÓ¯n‚›Âb¼´2%o;kàuò†Ã=Z@ qà~ÏÞÇí:i@³¨WÓ*j¶›Œ-ÔÔ³ÑêÛu›ø»þââ©­ŸqsºÈ#¡­‡"¯¬Át¯ÿÃîñ–ˆ%žüæñï…þ$ÿΨüš#o÷Ób1§gùö䈷nöm Få=çæ™x^˜õñ‰Á2`²€˜Õü÷ß³ý°ë\ë&üåðcÔÎn¸¥dìõ¾f@ðæŽFJÿé:ÅŸ—®¬çV)Úûéò{¤LCè™6Á½vú±Xú¸È¤£¤¼Ê?M¹uÑ62Dgù[¦Áy[#Ï ¢ûdûsãEð®-Èq"-Ø!¤¢Û‡§SÛÝ=x( …UÒÌMûlÝ›¿0>ºÚž4h™¬Œ\–:Ôt¾"ÐÞkŸQh)kEÂçÕ /Ó7Úå–š9zü—ßèV,‡ç Ö·?¿ yÝLè ¥f§ŽõSÕû[Ä€NjYÖz·ë2Ì¢>ÙÙ9ð°Û0}pÙHÆwÎß KÅI;™ËY&%™~kð@Ÿ£œ,¢&#µbyì„ÿ‰IeØakÉv2ù+’ð–h~éw´ âü0ºÛvôÊÀÅo¹ÿ‹œA@Ù‡Å×)X ÑÞWæ:ïk¦€ ¾€üqyº;2ʹrž5ä«@&Å>Ú×JB—SùÊ}ý•WÕa`¸XÝZévň6©Œ!6sæÒÂw?Sp%0†‰MÜ~CT¨Q¹Kkõnð/å9'4KÛIªÓ([håǨ‚+l¹OR0¼éº\L•ëé(@® ’6OÒš,Ê#/PtË^;My/l!S[Rìü<µÃBÊ#ÉÉå‹W  ¶‰kѺ0^%Ò§Ž¹ˆ‰Ìu ÂøÌƒ÷q?Ÿc®Ý~´ëÇ ÐS¯hxâ”$]%ë!­Th`ǘXO · fe¥V 5…k7ìˆ' c\T82§˜'(ó”µm.$ñüî0Š×ÁÍ«šTF`ÜÖzùÙªm‡þt|×¾úš¨pš•tàéÇä îæ ÝV ¥D,Šê³ø —7úäWÚ1N‹™ “—MÚ y ŽEÙ Q#ú8Cü‰ª @ïãTR#pX;tü= ¼AWÈrׄݺ9?ñÝ”,V!Ñ–$¯(”ñ`»×½ÕFU#0Ãä£ì‰° £ýppñÇ´(j1HOŸ™spœ[A³¬ È;` L Ð¸Ó>R„™wc+H†Kûˆ¬Á$½ Taë•PFÛƒ21!ÿ¿Ä5oü‡VÉøo‰-vï½£ý‡ra¤V¥¦ÏÒµ&‡ë|G§/Ñ^tI‰fSÆßTâG{¡:t°³“O±§ûÉÝãÂ…ÎS]Ù%¾c°Â›¾Uþ†µyÍþžÀ•`IKC¶yaEªx³³¯Ðׯm’ržšW³,èÖTr@÷>„ÎDî“2)¦±{ŸWôjóø;ëm[aåë)tš£"¢+N½ÓŠ',¤ùÌå㕌{BebuùìÓZ4¡%èÁ~c>9ð^I´ÇT/}Lú2êü²m¶º§ô‹Ò$½YU¢Ñç].EœìôQ®I­m;ºõ¢ˆÚ[ «Ižk½+_ÙÛ —§šNƒç/6Ž,@–Œï^س<—á#Ì/4\ÑÁþ‘5w!që+÷ÆãPzù•ù6±Ñž ÅE¤¸š‹Ë?úåT%œ±ÉlZL;ægÞDFyzº# 9ÅPýåƒ}*lÅ΀v#—k·?#ç>|4Ã÷ºm ’M¨#i²qŒÝ—™ ³°Ûú" òÈy Vö›PÕeß›•8xìÏÜ%ȸë“+ìëpUp+‚I{S˜m³8X_jˆùT¡Ö½íàÀy¡Y+®Ì0ƇOã+¦æ/8'“0ÄÆÞ‡â–6è%é"ØÑ@ÄØO¨b:F Û±Ì@Ã@¹<¼¦'«:–­>“*7º+ Pý‹ˆbR†Ëb± ÝÇ«,_G£è²”ºß¨Vw^^³Üº­Ì.Û¥±5‘ÿxM$ ´·äŒZ¬,dlyu îêT1«aþ껾c•]drMÐØçê ¥N‚ÍÝt¦u]ÿÜ §ÞÝC1 {Œ„®DA¶,¿qC°f+(™íõžo?<Û/_8 Í˜´jÈÛCÌFzS­\{afLkÿ¨ÿ©yɯŠ[^mTŒ‡6ÞíÙü÷ñöäD¸Z#Nþø¹!ñÓÁ;gî¶G Çq~>Íl¡gç' ZMÉŸÅÝ»@ƒc·Û¬ùŠQ‡—Ðòmו›¤jÂßR"¨™åŸ#R_%EAÛæ;)¨®t•‚Ãg! „9¸ÈuÓiêš©V(]oz2ò¸«@Óªšõ4Ìc¹÷ïŒ;{ž>ÿÖ Ä81U€}5’Ä£8‡Q”\¬…bJþs%‰x†Ä(½ê£Ž¦¯•`|R§sد) ;V~yÈþ²¼í‡¹"ox VóÞÂqZû­µªš ¸ž˜é ¾9=b>ZÍ@p7Э2Žf-²¦¡q¿¡=ýQd¥ü_/Øú9pÏëá—@Ù 3ÂÕü#û’ËàQfŽ¤É “ÿò¥)KN{ ð”Vxûan4T—,jýó…#J7³ý^j¦æŽ‹­®ÛàÑ(º‘¨”ºS½›ìOGYš·›¿:¨±¬¹É°"‘+WµâŠÌªë7'ð î0dä­8›rõJýó\vW(2Î2‰cih‘ â†\.e`©"5p´‚—­5ýSä¨ö ¼¶iÚ“$SY=m·8 C´G)تtè{f*õ€SÙ‰ƒì<ás¿a žz€%hlõJYcè±Î´¡ˆ“|”ðÅ+q%¹ LÛºÉät,D"HsTƒùpÓ|s˜ …s6(¬œªè’Z¢åÏVæò€Nܯ=÷^  Zˆ#dÏps†Õxiþ< ¬m4e´ ©êÞø–iù†èôÑÄ»Ç.Ô˜´…Ž€¡3ûÍ©s"Y|# £|¨ØŠl¸gyŒ[ŒŸ¶‡+~Ý©›þ¾®% -+öH·¦Åð@š# 7 õ¤½ÚÎôꓲ;ﴰŤýÏljL5ηs¦ç:‡ß»X Va è]êX½'„”PÖd€$U¤Ü=q8W¤Û‚Ü s`Ñ¥/_Ò,»r'YÌrŠk$v+Z8µÀ ºûÂeÍÕu0_Kèñc!ŸØì|¶KqýêÜoúé&ƒ£G¢ãzÊ*ä-¡¤Ððy!ŠYtÙ^9ŽùœŠ×EÿÙø í‰6°0¾#¤è÷ žÐ®~޳撱ì!_—Å †»%ÿ|Ø­_3 :a=œóî4íb;~#‡w Q%ç’ —%¹h¦¸{TÑpæg,§|Nï9MwEaÜ+dâÝþ¶šÅ:ó° ø\ât̾…>2Þ’AZÞYŸ#çRâAlïOy@ä;Yb [FS:!_ŽSA´h¶âTíûIËg ÓTã¥g ÞêMŃw›oÇfØÉ“t±Ö#×Å(ææK•ÏØ`£fTKn…ÅÏúà™®©¶YäÒ\E—‹D/Ýu­4vÌ$¢1é• îÿ\ÝÕ>a© k<ö×ýsú ¢×ß²*ñÕÔ÷B«ñ@èîDK¨´%0yÊDO–ãèog¶= ‡· AŠ—nÁKOlï¨ÝDÆß‘‘’ ÷‹õ«Þ48…^…ìqÀÑØÕX]¶ö–@„{pÞ€ŽO…×… BÒЭïVªÉ~~9»õ²»Wc+ ÏjòÆèL,UrtF3'3²U³!¤5VèþIù˜8Nªc}_2ÊÎתvàÎßÙŽPcÌd Éå^“ —§¶ÜåygÛVîC¨S˜8“hs¿ó·6ÞRíUJ8¢$lqþ®'*5 àÄeèøpW턼š>„×nyùã”tYåïƒÄQ /=X/DâÊ5Wrå`JÐ jÅ$s¯§‹0ƒ‚µ_>²Ü Ž~©éè^ÑåˆÞ?Q/+@çN÷J®“[T§Ý‡Rn¿æãSã>µ©N Ùý ü^EDkaשöà}.Tn¨Mî*”Á÷@Ž`‘è9±}˜×K±òñ7uÕAòqÀ,ÇO‹å}6 Ëú¹VØ­¿W  BÂKãr`î’Jž¾šºÝš>‚Zmr5¶VÈÁ¼f? ª•Æ;w€yÔ²•VùÍêë@*‚V® *݃þî-ç•X’‡odšF †ÖÛe_ÿÝÝ@R7È›o6´{–Œ4¼14ÆJEW}xÍ«÷ð>ö!n˜ôPM"𥼠æ9H4Î|WÁôCížÖËÜ,=¸ƒM¬z– Êëú lŽI7¥<\®ýÑYSà–ÈA-Æ7Qàó3h~½cbuÂ[…½ñ±GæÒûÅ¥¹TQ,àúŽžLÈ´«ÔCnD&¸¹;ü't"(·ZZ^¼¼åŠoã 7é–*¦û´ÂŸ·|ÍEÌOÝd¿Tà[ 9 ñk„Ú) ‹§ÇzÅà¿îm¸µðñDµœß´tÛ¨÷ž PlºãÞ[ÿÄ"‘ê#0ìX•SBEùwxØÉ¼FÕ uMþ`î8Ìf¼:î6ÔnÌñW#|’ó[§Ç5”Þ1xüžNvƃ íŽü×Ù’z,•rÿ}æaÄ¿|ò#Î1bqñ Ò›— ÕFx“}^³ÞdžÎØ¢õÆ úĆ»ð©ßVo\=þaóÁæ‘€ iÓÉÆ”Þ¶â O²^£|³ú‡äSe¤>6!«èÊ=É\ÜféDgÇxU™ïoT°¼B6óÆù› Wêl'¬€NÒ›§)3¿a>çÔ(¢$ªß ÖîZ2oL ˆ=õ4n2WЧ€gâ…°ðUþ]Ƽ‡WRž(=/&*tËÙæÂ5×qz‡j½—ÄM7¾1Õ‘xlOß÷½7ªÏׯ1ä™X³ýQå¶‹•Û‡Éìt5äÑøŠ¢æýÂ$°[ØçáûA¦ ÷£âîÉÇx%ÆûS%êm¢º|¥ uÛvÑ?§‹>Pß-­Å€gðÞbîȡΩñNl0ÃqÈW/f¤}¹ü>ýŠ¢º„¼|þÅZÒÈ0‡æWa\@ŸÒ¡,”¨O%Ö¨ú'qMDÍÿR,í}‘“¡ÖwÏ4JHÉZb6bzFu·×ˆî1±êÒÿ=uk¾¼˜çýY}ÄA9˜yx§À=Rÿæm›ÜúD¤ Y5„ι€š{¤ÉùxŸ6E:½ÇbX5Œ™N‡–k÷Üö9X AíÖK™}cª.üÙTöŠC¶g½¹^½·t_8Co™²–‡5¸£“×&8Ì”È[’$AŸhý9hLŠ!ð f"UµÏ²x'q@*Cùþ{´–7ì)ù Èšfîs¼Àì3zdùPò5ݶAN@)Žš1®<ª>¤ØÉOŒ¿•ßß%«ºÇä îÒû¤ö;©²ÔCϤòº¦êV±8=×8µa±±t“/—ןE÷ÉÌ)Þ9ãŠv ÏzFúqÆôØL_¡´jžŠ‹…ŽöUnU #†X’Æk0¹JHÞ×ݦ.…Û™¬P›y+¸Åáôâwl›Êúj=”bïÆ9³ºm¾×]*2 çôù6—µ1%Ç ÌSÞŠ}ŒÈCÒ”+.nŒèèzu¿¨šÅM.Gw:ïäT]¶"Žɨ|Ò˜B¯d@™ Ál`zÏŽ/Â.Bú¿7âÅ¡p`0!j‹Á÷ûç´Gé_jöŽ£|àµì£IcÐ>¸ê:Â%¿>7¼øEÈ6øÈí[d€%KwñyP©K“ŽÜòj'ªÄGx§ýd3ÈO{þžzS›Šñ¢-¿¤ôÞX'4Ö-7ûǯªÊ–%]’ÛÀ’Z®Ê;Ð6˜ñfŸIŒj¥­ÔYþ¨mò4‡ð‡]_Œà,tlÓ¤[³á¼uòQêåÀüäCIæÕkÝ ·É‰jÐåõ“4{>®£r\’a÷7™‹Ì?t¢!wœ%ˆäŒvɳ ®÷Ì;™˜éf€©Òß>ÛgYmMúxcŒjžÙ†¨“·˜vnÉ ©Óæ½J ÞàQ¨4Ý3l‡-ÓFÌÞYöñ&&)‹WGËÄÐrŠœÙµ ÉÐåù”Ó‚‚D†õúÈw{dœÒ\vúÝOCÙh]Ûšûej .H‚T¿Üäc®èÊN©ÕžV¥fžÚ¸)œ° ’& ˆ¾9a+“äÁ-Ǩåfå­)× ÂdEØk@kø!#¦ô&½CLƒ$àzKõ{LÆ ¢¶˜ò3JL~b˺ÂDôJ§÷ÛdÂ#³³=h+ÁoOZd…{Û›d*¥¢=I™) ÖsK2Fæ%1#ð[Éúû}Ìþžéu¸k¨7•Ôļ{E¼^Þ/d׸'G’@’¿w›ïe±Æ4#d¤ØÎ†6ëò>_­-tÁ,;8Ys[P±j"¢æSÆ!òë<2×Ó¾lp<¨Ñzà^­˜á¿jœ‡Sô)¯Ô®̇’‚x–o UÝä¸lc雿ŒÐ¿aB°WÖ×þփÓDóÎ …M4¦T"¾c\ªÑ¬‡)¨VÁH°,ÑüŸ÷Öj#-ÜöaQÛ—ý¥K†ê  <ÁͮݨYˆ÷j”iýï•­¦¶D 㣊ªPsΠ?<Ó“;€ YÓIY£¼¦:Zú±¤ –ç° /èl@­HœÜ ¸!¸•†`hÙN³‰¢*àç[Þ%›pÊï^]¿¦HbómFå»Éû-Q霨پÒi-´5Ô”*ÌÞô÷Œ–œó?õc-û ìS-ïeƽs'G†íI» A dÝÂA ž“Þ¤Í-W(¿Î`±Šä^`™OV™ŒüÔ0ÑÀTÏS÷ír|ò£6VõfÅbgÀØmö––ÄJø‘{½:ÆÆ÷ññ°¤@ºÖ‚‰Æ€sùëËö ®çéqñüS;-[ÔÔY`êhdUsg&»œÑéßyqž® ”¹aÚU:¨øëKÇÇKT&X“6NúÝ¥)‡+ܶÚS…²ËÓ2n üê$Šù©CO÷;<Üjë°wLÓ›?³áU„û\$eË2’¿IwsÓê'„h­ƒƒ_¨ Wr5¸Åòó3š–ÜC%ÑÛŸMîùèóÈk+s3í9$©$±¾;"kÂ` sÙ’¯Ï õ×Véµ.œ-ä9íÉY#™<à8t˶¹â¬h 'ækû"‘ LwX"eÿω $Þ‡…ÇRåT±×ÎI¼è›Ì ‚l3ywÃL‰Ê-L: E)Ø?`]/H£Øw<3“¯V$Ýœœ´·skãôÍ =5YaLðǃr\Èìoo3½%tï}J$ëN^/À ¾¸ä} 63“B!Z7LåׄãÓ`8â^÷8ð¹i½Þ«A• ¬•eÍ®Q&æñôæíy(·|6˵6d™1\YÝà¢î¬jßWª ª…ி¼pÄäô Ågîßâ8<¸²F+ï}Jܲ˜¤ÚŽæ—do«SRD;òÿÀÔ=¿Ùiê4¢ Ö{ÁÒ`)}x©ðÞ¹»wÉpÎ|ÐÞ¯µßš)mè¥è á°ûÏ:foëQYͰ—ÚÅ?ÜM¿ž®M½¾ØÄRÀºUÓ<bj¬%~«å‡Î¶àBœ.ÂL§¿ú=ØX“näN\Ð^âzuX‰æ>»ÎqœÈ¥Ù11+”iî[æîÜ—’õˆZÔ­`”Ò°Š¦!„>ƒ4Ô²)àT:†~$&éy ‘ÉüBs˜ðÈ»€ öuÍoÂï7¸o®àySª ö¶1Õi¦ª‹î/O ló¢ Lé]&­gö1=B¡¹yUܯÞL±qwæUœ"—ý}gûL© q™úÓ}P¸Çì¨#³1íÉ"ÔTíÄU€U÷ ­Ýj¹)Ô¦—mªª³Á¯¤ÎË£0Le¶¦µ·dÕ8ç`ÒR™ %07ãpâë"?«H%–—ÍuLƒ¯­ÆdLQ‚¸#WÜL!9aÊÐi¡ÆPûÞITx=^äRÛÒîã™…Ï6É•?€¶ŠÈJÆP™Ê |¼-ýe‘ªŒ:P6oõ‡$ÛXÓËs˜¼„S —/µë1+¬W_ÍÞÖ •)¹ýg~5gÁIuM;fÓ¶ÆîL¿XGù~ÿÚÊ5÷žM:.U;Ѐžƒ9?^`ûÚŠ%Þcþq9¨µK‡ù=«× \šÙN]|BÅ×ä 4…b5)CHk¨Æn”LÛfeÌ¿ìÅ[|·µ“UK’45}\„ÑzwöÉ‚B$®.iœ[¼¦>N…§w®h\?Ê?æÖp%ƒ ³Ü•ÌVv ˆùóè–"5ÒÃäd´yhJ´vÔ$~=”zŠ,ÐÂýJbKÕŸùgîÈÔ÷ÍÁ¡Bç ¬Ü¦kX1Â[¿dbŠ¥í'ì0÷J8°fÈ–·…ƒé¡ßu1”]Úzžqw+œª[A>8¡_$†~,#kr-é8¤‹y³k÷åe,?! ¸!0Ž(ßZš3°E¬Ø§*ô*1t=ú#ŒWÖF`½ôCþÛ~TTxß×á±Ew÷OæÜÒî `˲”åeÉRÈò·õ£ ôþ“Ѿ@¡¯ŽRE6—îô«Cö¾45yÕŽÇßq#T4̈ =/, +îž{V‰°I¼Îh†s²}³±ÃdžPø‹CH>¶©!o’jÜ­}CS$,ZËÙê|ËBe±Ã£&Þ §~E©¶——ä0W Û¥Ž²É)2ÜGœ»‘œx•Vwš­Êÿ’ãuã^¤K¹-Û˪îªviwÙ‰”ì¨ Ç?8 …Z²m'¼ÎB!=Q0Ê^7ÄÞ<_ü»1Ù×X–EÏÂÎïu2î9àÌ:”4ëÓÒô)oD'llw¹éqhº1U/p-ŸJë°¨\v<Ø]¡wDÓ~žêY_12vq;rð\N»•Ý´¼KÚá.Œé–,îÇy!ç ÚNÛA1ß—o‘ t+Òšt_ò¥]D”y©$Ãk¸+õªÈŠ"FÌ9„Ø™Cú'Ó$w$̼¥9ŒNíƒVì“à GwmPŽDÉ…xgKn·Þ%5ÂKXábÕsâàhí1“´zÈŽ%jJu”Uw·Ipæ·Çi: ‹ÏþI¹þŠнñ>>!Ë#–Ô}CÁíáØj¾­!üs¿ó¸TV~kV|¥æÚºGÍ@+¥>Téöô=ˆiÔÝÞÿ)½^úÿnÌ1”FÆÍ›øñÏ7ÚJ+%Xh ܤ‘a2¥iLŠj7G;h• 5€qÝúËgnFWÓÎöL¾53¨OV ZÓå´.ž•–x¦À ¬i¹ñ^»É«Ìpþúú3*‹°ÚÛb€bÛ ÉŸÏãƒò63ÖõI ©Œ0é_9ì™I·2%\ ÝÂõ“¡Šd¾9Š×¿L̼=”{ñ%ŠHr§K½0wgó4v©ӻkËÇæxvÓ_A,²7Ž×&‹T<ÂÀý¡FÖnÔÏî^óé¦ú-â]y±|'¤ˆ|¥ÝŒèŒî!FíRØɵ®hÏ┈é~ nUðïWMÈx²¡Mž|“túb¶Û)‚5æjÀ3LjÿBß$ ˆå€è‹áébèpT_¯åìsáÍ©D]ïX–ÿ¯fAÓ ]ˆñ¸eEoÅÃ_º)ô†’ ÚjŽæK;hPEóÈ® 42ImY‰¸q¶A¶*XJvÎÔ0ƒÎA¼’4tÇXC 6gjÊä'ªLâq¦\tkJ€#±Ò·­‘NèC2s­¤YrÊã~ ªÀ/…sDûä—¾åpøÉ`y¢ÖÖÓô5¾¼ÅÈQÑ 0 ½«ymˆ˜¿4>ç)½çI‚_ñÂܶ7lÊO}èE;d€¸ýz´Ú’ÿ6Zä›ã‰ÁšÝJ!ŽÛ ÉaOväKR’Ê3Ê º%â4|°ޱSN27œóx]áß~I°‡C£¿è/½al@PÊ‚DuÈÄ-IôO²Þ9>Ýå>‡MGþƒð|1›9åÑž»ãTÎ24`ñaM ¡¤ŽBŸj˨6JX yW‹˜(pÏ¤ðØÆ§olã žÑÜIs‰»­WÙ§p”f´½X×lD¤¡Ý„ÒsÈГÎO¨ØIªA˜\ðd±r+T?Äâùu6ç…_R&ð ú…9»TÆHdk=4çè‡c^äë53[ÎS–«+ʦco/‰²ÒdE,°I$B]s¬–s[rÊÄ{ü„N­ Ša·}3B7*;_ZLo>»Lí·‘¹íª³Ù€>¶x•k€'ì-ʬkï,5»–¥Ö7ÃõWĒ˦}ÝÉTï#l};?"‘†X=±dBµẎ©]Ák4c¸}=Žñµöì§g"Í  KQCŒTMö3í_fx4»¾ÿù*Ä2ñG“¶æ oÚ4p~ö˜¯"sAµ…gèGÃTºŽ624-FÂt`4J_„–A£Z>ý²Í´N·¥Ê!E6œšxôÀá $¸ûT‘Ú°H½™õ™``iGIÝZ¸° îÓŸUTd‘YnÁ°0OíõdöÅÖíάB_D_þ0#•Í “5pl¾.7Ò"ë˜tå~ @ßðb±šf S­ÔK0¤ DpÁP¾Ã3*Ù[4éæê®5ª­(«d?gÇI;ËüA5®‡Z½M sèj» £T1$Ka6ZÿÀhju¥ùa‰‚=3´ù'Ȩ“(¤¬©¯ž‰Ê†z«Jc1hÎÙVzÿš‰×峓,™6aÒn¥=©çLN—˜¸LµÓ'¹3‘³o§õÒÿ1ÂÑZ™q,Zx¹ñEŒ êa•$<™kê£W2GŽXÂ_•ºS}¬¯ÅRå8Žä@=+Q«.Æ;é$긤Þkðð凿|ïçýŽ„1ò‰tws”ªØ`™¸òy‰eMúòÔ|´Õv¨¨Ì¨ß·+Ô‡Üÿú¯wY8œÁ¦DŠëè¶¥uPße] ˆfþë"ðÛ¸báZž¸g}¿y =¾ËºÌ¦žÎ³¤PØúÙ²½Õôå¤ùÀ vê !˜Eo!×rL³/2`In­ÌÕH#õƒ?ɽé*¯£9¼VI-«jiôV½×9h]ÖzªœÚˆuéî%ä>Qͨщö-¤Í’‹ ÁI‹Å¡$ÔöJ›¤LV$’¾7…âZÉÝH-­‰fEZ“³‡é. á©“š°|ÚiËåØÔc7å4<¼îöc§IÝ*-&(û&{¶\ζÍQ¸ÐhÀ±«‹žÄE¹ÊCþ(jÐ!–*sËæôü<‡jfÏ]­„«øTætFA1í?WörLÖ &ºÚlQ ¡£-Wâ!g›Ž_qâì@†ÔØ\ùámÀ7 EÀûBÐpŸ6æ‹ïòJV6Þ|íAíf‘P™Ñ×¾ »Ç[°·Ó5U¬”Al‹Û‹%iÉ[P ÷² 0Æì¡.l1ÑMþ”ƒE aéžKøE¸h8.©„ëgýSº½ôjgdzy’·ÂUw O õvj=ì°Ôà€L"¼uߨ™<²¾ÜïœÙ•{/øàU/‹@/÷­âžª÷üNø…Ë’wê+¦ dÏ…;¨Lh4¢Ž}‰;@àÙ`-ñÓ¾JhkÚÝ»$÷½2ãÉ|¿½Öèc?rvÁ˜Èc]ä¸Ë7½õøk8B>šUÝ@ò·Ìkmzî™]KÊ¥´–¯À01Þ¢é°Ì}DÀ-ݲÐá×ó7§Æ¢aKÇ心£O 1÷öŒTãg’ Ù(ê|ç\Íüš¶"É>lÔ)ãÛšÉv7âÁçÕâhuTE© )-f›”:Ë~y襟\î:ôbÐäŸ\àásýõ¡¿¼F‡_6†ÏuÕ;ÎÞ áΠˆâsyŽ—+fϳaå·Ç€k3Ó×âäùâR<#+4Ö¢´_´@0 Df1zùÅ7¶6ÅŽ4Õªô4I¦]¯VkçÚ×6­õ‚¾3N^~b×wxJ¶;¡ z˜N7µœ¯XN8 ËNpx1ë²hs/F—„ªãÚ\+üu%X_߸yÏ1ã²aãTtJî-¨:ÅöS(L‹fœ}®Y‚7¯‘@ V´±±ß Â-W4r\a°h3ÊYºÈnT¦Óeô8ñŒcò/xúîbH7«gy µÌ"S Ù.—Nõu¯ž2u¢sbmLÙÓXw[EÑöÚÛ²µ—ô´«ÛW—{¦Ë—ÿ°âêMdʬ Û ¯¥àÉ àÖпšH ‡&‚-*ÑcûG›å¼LW¼®"3ö¯hž=åë.ÁqQ@HhÔSü5%iõ](<0@L¯ou½*}89×ñ“}s–ŽWÙ×j(˜‡ÑäX°ylÁÞ< ÞýAÐÅ)½Î;Z 6ä3óÃèq­å³u?s7u¥—xûˆåÝq¬ÁšÉ{߀»‘;ÒÎÈY1OnŸXBòS½¾-6 tĦ.µ™Ç̆’$‡ÙwnC#ULp|h34·)žŸPërq1;ôi¥6,P*ÓN5¥ø§™G.¦Èå`L–;cʃÆròÌEÎû*üìÖ¾ ™ çOp C^»,ƒgAǧú£j&2çš9Œ97³Ç­pH ½êÐjßÎw¼¯µŸ;b KŽÝsÏ÷ÒÞþÎÕã dÀSã'L¢úoÏíÆ; X{ùø±6„*M~}½«^÷ÆÑ0ñ¯b›kF7áj¨=ÒKÝV#•‹ÅFÃëÆ÷bû=Ö¦óÚÕ"’Ͻ, Ë‚Þ´Q!2ÁÌs×Fë÷Mt_ç¶Ó_éR}%œÏ~ñ|¢eQÍίE°,:£‰7¼W±Õñ¦ë¿•ÒŠ”Is$õÄaƒ‘‰£ÀG`¯žŠÊÔjzþ°‚®¶ƒQ!>tr® " <©†¦’@(/ˆçâ ÜM¼«@¿÷á R*âÛד>æAœªƒÙz;¼Žï,/Á !‰h1 v7`Þ†2½"Š=4éÚ•cÒÃ0iwK:·2r t};bòžÍ˜\Y‹¶ÿ°Ç0Zaö֨ɹñŠåþÁÖO2ÙÄr~/…ªG ˱Šä®ñ¨e²Y¢¬sîC·ÒWÅ/Ö‚ƒ)ÍUesóµB;¹á¨@ ŸAÆùÀ“3kd cMB{ Šu„]|ƒªô2FÒïqd[!Ülô‘Ý7H j‡¶KMu'¯'7‚ö#²«Îš‡Á¦¥y½JÚ1ýÂÒ¯´ò­ˆLôô¨áè¶->D®$]p'g¨„ÉÕ<¿-—/s—«$jB?û>+Ðyó7¯ø…@’Õˆèçx\ÈŽ‹—2 dÏ0»½…íMT£}"¸íõ‚¼) x“Ö3ö” +ŽÐŽ“ú›(qÅ9ÜRôWÇ'\½ëäeèRLšGšÊ“MÇGå\¬™bRœ—3)ö5é`Cr"ðYdf; ^‘rr`1Ǩ{óCáPö½d¹’&•Å»Hä`Fìw^,¾v)6êl‘Æqk©è‹¯ø3~E¿£(AG½œ;“Z¤$:zA‰ª˜?Õí|)f#‡Å_Né¬@cû¯/Jâ+1Ç¡ŠÎå—ÜÜã?í¢â–2Á¦ã·7Å cñÐùSSÅü¥òg]¹t^«‹HXX9§w9@š-=cr6]‚¦ò{mæµóùÑuÈ#ÖâI4/áÝ¿š;-D3|‡­$» +n»žž<´bMÀ_º]¾]*ù]Œë¼(Åù£|ˆ÷Hl !šdU½"¼§,³¿ö;»5ÇñÏwô‰ai.’ïj¼[¢"äd¯„9öÞ˼ðA`Л䀽ùYE¶qŒåyÉ|Úq®se Ùìx*à ˈC¡µíÛ¨/±jGi÷·cx&°àkU˜®TEyÊ å0Õ‚¬_j’2r e!ØW_Ë õÜêú}¨§_ãÐÛ® ;Owy{\ϨTKë ΛD¯’ôG…t¶@B¾L#¥[’i¬ç¸-“D"cÉ‘CšWdWŽ”X NÔmÃìÒZŠ,äÊ{p¡ê2ìü’¨%}«7¯Àέ¯¦A+ú€ò†=¯ÉùðPÚÚ|ëþOñÒ [ÌËRV©ÓA¹U< ½ØÒN„œ:³‹ „„"ƒŽf9qs<º5 º‚.yñ\N3ÛUn´ÎÞHn$Û.JNáZìé €´¥N¨®“Î ·µ\€‹vtá—įºù§2‰rm.ÊHgÍ£hÿá^°ì”ÅœäÉË&tcEs](.#ëÝÌ ôU.ðJ…SËJóU\Ý®·>çÅ8Ýw‚˜"Ájì1»†ã2œTãÎÕÀûmXÀCæì ² CtçÉq;kNÉp4°’Všõ°]К‰ÛšB Þ2·JÔÅÛp¾ø Nôй(5ETˆH`.Ø]¨’ÑZ¨V+ã/&®ïÁV •)jc¨˜Ùƒî¶É¡ÔŠv#h.\-’ƒ2ßniç-8ÞâßÁ‘pD$yR­A o™ °cäcµÙ>t&•EÐ*sQä<7€ŒK-tâ/k]¨!€D§ø‰N¡Š ý8¥x}ƒˆ08»!Y6Xmj‰]·ñvæû7ñ“¾Òe Ú@×ÛDHø‘z~nµ´¾oÌ_£hð*:«nîØmðäŠÿùAÊãk¤_f©ñÜz†ƒ“|õiˆˆŒüÕ=¬ÃZÿ?SpuÚ\™0ÁeàúÊ Ñím+e®Þ?˜îtšœ!£ºÞc£‚q¬i×£†ïl¹a@ ƒ°J³=½Q± Š ­XL‚®Æ^tUŠóßHÑó·íkÍ L¯&5ƒæ÷0Î>\¬¾2i¨j"ÖÂt}÷rœ‰¢å™æ¾žÿ½R±ìHH-õoŸ¾ºR^:1u>Ð6Ï‚˜Äô÷×ÒŒ§ü‰¡b4ê'†¡“×kÑú\¾²•½\ ®a`D÷¯F}–ùßAÀí8 ¸'>õ‹±ñj’Á úòÎCxð*øtQÉk²#Äi‘¼³¶™%fÔ´© ÔÃ'Æ„dÂð.Dj¤‚Hó¢3歹ajSRÔcãå,Y!¤ÍƒšÐœ¢¡0`5ñ’ìi˜±[>štãàºV¾†qfè±eÝe6AŒÓúx9úþº²™™›2¡—+ñDKÅ»§¶“£Ž*°_¡Pvt’î ¿•Q*Hƒúe~¥÷åŠFÑ—¢0à‡GùÏÜ$de—…tr¼%’ºÖï^‚ûlŽ-™åàðkJp\•ßPÜsò:ˆ´Ú«Úf$¼pW}Á2E(¬_ùAïßtx[êdkÎ.Ïóé&ŒÞ]°WwFíy&–H3£ûßÅõþË +@t9Uáˆ-5éÕj)æ‹>D÷%h˜µ-‰«ÔnÓ’1;¼3Ÿ ÖîSMËLa[•L°%æßfE“œ“C„w-¼Ê´(ýg”¾Üùê¸Â;ß=•x"åíü’}Oô1Ü׿M%š ”O ž‹êiCù–H-q¾È`[(µ¥‰Ì¹°.eSãÌwÀ[ÒÜ?‰`êæ3ñKê™Øó§4­ÛA÷ž’½!'S ×´ÓåÎv'À•¬°N”3ÀM/ùwŽ<Šœ4Ù©)‹}ÿÒVØÀ͸*à‹Ø®Eý¼ˆx.û J_ÿ‚ÈÇ͵_¢YÔ%uþ€¬§®égM™|  .ËN¡š&ø1¤Ÿe+›“ï*±¤E¿Ç!ªu¸z©“]]U}µ#€¢¯Þ•#@ ÏfÖ¶à¬à†¥ ŒrÛˆ]íÈlš©}G4/Z3¼ãSÉæêC`I©¨¾ZL¦bßmóð‹öE¡–{Kq=À*/uÆ8M}ªˆè-Ð BXðõ¬“†;T;ybáÅ}“•]#‚ˆ;Ä5P;3/¶ý”Ѧ†‹ÅrÐ9 çf†Ã+!ŒËµÝ„Öæ‰ó6Ò–1M æ‹ÜÊÓ„¸dðú<=7[z=¡i§6ñ‹çA]š\Ñ%Nì=^>a¯ÐiŸJn+´9²¬jÁ¹@I«$yR Š…™@™jAÝs€v!#OÌb²s(J±‡’b$ñ…SޏŸ2ÖþDÉ-Å€Ûñ%PFº¨ßåI¯”ÏÐCÁJ¡D[CX ÀW…¹ÞUs¦ë^u±wa!\Úju_ëô^sæËÊá"t¥¹$7”MSD·"íºâPÀl1Ý¥…vÊW6#È (yS8·Fi91a :ü­8võöªÉ•Ögþh½õtݺR!d9r•Ò£ú2adäB<3šðKcYu-:1dÕ ByÅ *v† ›–<¹ÙËS†MfØÕ8j¸¯úG›;æ\ô•|®cIâÜã²E ¼˜jüR¥+[5÷¦—"#ÔVfy¤à°võ•'rÉÚbИ.ìAý­‰‘­ÎÉ›±2iæJ·²žñÂ<–@W¹í,’•–9¦î !t'·³!ùh™Ò@AÆê> B¡g10Kt¼¢JT,‚IpMîç ?‘déV¾ˆ¡á6çñ¥”‘¦ z$³âVïû˜'Ô&qoñ_ͯ+„P¿k¹ªCùÝ`^’ï/¬´‹UÍê·CöhÂÒ T«Œ.”Š0ØZÊél[r‰)A%¡9 ËlJØ_¬‰B=³Kb·®AT Ùã‚~ÿ—¶D\ƒï}(˜|Ý~3]m¬”1²¢LA`’½=I'GyމN=° ÐM1œv†Ü¥´°¿¡ e†˜óùa–qltR_ Z¹{@ø1€Ûe˜ ŸþñA†’.›ÝÇ4É¡Ëøžzʬoñë¤5™,ªÆÉGÝnè8òO×î´ò•¸såÉää5ÃÀuà!¦%µŠX¬<|ú›É'ÉÉBÌ—¿ Ee#ʽQTB’þwÇiƒµÂ­Gé/ä‚éCW"^[.Ü9ݯЕÁ5 '0¶ìKó³ÿÎHÜP>d†'™žûd>fJ£iF×:UtXudB³È„E«0öÒWÚ I¹Pdó𸅘mÞ¦ýˆlÀÙ?7ä·:­—˜ñëº ='û,­A+cSé ³K&½Y+GpÛC‘ž´SPúí¥óp­ê"¨(´¶[€¶Œ!Mæ`Öðˆûÿ;-¬IK·xý1†„ŒçãXñ¥Ž -¾Š¸™èµ…Úåƒå„}8˜IòÏIwç¯Äƶ÷ïkœ{B­ŒÕÚYßx†±šSc5‡°¨ŠKÈq-º^â ~ ȈÏX£gŠqÃmñÄ¢­>"CÒ„êuV #pƒy!XìbÂk‚—vùÚZÞ…Ùl®åó0“ šÇcÌÅéǸûb[x +_r”ç±Q„ÅÞïAh¸|ƒwaßÓÖÃn†ÊÅ:Ѐöœ¹óBfèc8ÒÔ-ó›‡-vd*hRªÆøc‚±R6±·@ÑN⹘•Î÷¥úÄ,ñ÷&O|x˜Ÿqï´#)wÑþÅÕŸ'[xWÖ 0öö¨¥³;sUß%Ò‹ñ£–ÿª{=;Æ|Qv[j¼ ¨,ݵV…†6„¥:ЧE¬—Äó|*ää©0_yZvË¹Ó Á¸­[ç*2”nÉ*{g¹ pÖèMö§³[AÙ0Lê0ïÌ}# d¶Õ ä½? íKY-6e7*£~êÔ)g$ùOP$Á–)‹ð§ƒK©²Ø)L/1Èf`ö«¤’¶;œ !Å^ƒ‘ó—øéà€¥§cãWÁ/Ê®8óÁÅ!ãì6¥’ÆšžŸµÛ 8gÆuЋáƒUz™EJ\Òmµ;YÖSYsvŸ›Ÿogñï’SéíbüÒìx Y7tJO$МÜì¼Ñ¤çõw§A À<:ñ¿Èñô8EëJ‚Cÿ? 5Tø­'‹Öa§†ÆËòE“7?˜FXG®=á¾§ù›”Oí±þæÙÞ_)ìWV‘ŒL–ô'—ï`G6|66òÏßb ‡ñS£)¾s ɤï>Š@$V®¢ÕCD[÷ç®¶E`òÈÿ[†Ô¬ â±!em<Œ”çòWˆí‹™©Nƒok”ùV^!gZ}Ü&6õcXóc3˧‘ä>´#9È%ŒsuÞ]Ô<ã.ˆ ×2žšëÄ})æC®^NÕ˜Q¤qOFõ£Ë_ÌΨ:Ëʵóiò ônŽ4жE¬N¬q2¤’Vµ|‚&+VíÆ7# : ³Sò'g,ï”D1. –¢Kø²\F¿2Ñ+vnjšƒ”v;'óáNÞÂ]bóSp¢óQ>ƒè’¬díM…÷~³ &1±R?\ ¬Yç§V-ŸÍû?@p)<“µL¤ AÔ;»ºh•‘®7á4¢]öÓ ÌUw!»¾K?DÊ»Kˆ$A-ZM½‡œ*‡°$鵓cÕÂÙâ›lßÛÓ7’k4þIù×õü"=al•ƒCÒÝú>L+Ô¹Õ~…ø«Õœ^ë Õþ:Á¤UK¨¢´òXxÖs0÷¡(/•+.ç|â\&Ç4 zC¡–9Á&d¨¿…‡DM($<Ç(=ÝÏÁÞ¬ÀRÇw,=[ñRð‚€wvªÛ\Ê‚ñ øs“ÈNÈ¿»=ýæ‘Æí» 1ÅBu'.2‘ÄÙG€ˆ'Q)ß`{¢._/ª^0nèfí„E„sãT$¬~ˆ”5AÁ;3/Òß‚†Õôâ Ufl ¶†(Ë !¢_Qö.È#2÷›7©"æÌ¾°†m"EcÙL:Ä™·ºçÖ°Eì®ÔÜ3­nD°¬3‘T b¬ƒÜç1§ÙõñÇò¹ì—¢Åî*áøPNüwüÀÚòÎ ñ*uÐKà)Ú4¤œ µyzGL²+‰¡ÙìîL¯ Æ6óälQ(lzÀŒšp¸Ä®EKVS¾¾zÐm* o˜3€ý×dÌÅüÓw×^űbZ&‚OÔ*1é&ø5ÌãØBrL >çus ÁˆÞüu¡=3Th4zdi…3rÛW½¹",L©Õ‡” BSǃì®cå6ì ªéÛÙÂÀ§/úuAñý òë1ˆÿOÛ9Õ”~‚-þ£Æ§`šý‡f´¬„èÛIôþ÷9ï¶¥§âÍl7n²<4— ¢mg-’’HTïÔ«k¤—/OßöŠIKPܽ¹èΉ óÛz®¶Ûx‹Zòx:¶ï[oЗ©W©&½ô,ÿÿ¢øÁÌvùŒøÜáâµ´Näü¹…ÃãÎ%h0'ŒÜ]±ú•Í+gÁ`×@IÀrGšwÂXGƒ²ñÛˆ8þ°Eží}áC.Å c¹mëå+½Ng¹™ón’ûâž6% HúC‘úŠ5zõ+‰7Q–¤™ìþËäGÛÐ^µºÏb—V'¸ e¬"Û ù”ÛÙΑíÎ×­é°ÌL™2­€­ËÉD@0öÆœ4I}öí/M˼WB–nbè$œ˜­¦Y •”†{€ ,ÜÖ š¬¥Õ°o®ÍÚ³c%B}»«FÏóMkn‚'%Kâ/³ü\ŽXD ûXØåaB°-ROºëAÇ0È:¦ z Ó?ShÂb=óÁWÁNdÛGû5¦{¦[„çO¯zÞ*êÝ›RÆ+*¼B‘#Œ¶wûë äñ""å:Ò»fÅ™M­ºˈ °îe[-P'óïF7^ƒ?irÌ÷¹¤\ÎÐëÇú66/×ÄòÄ?èã˜é‹zq+ÌÔ˜u£Ä\‹qôi¶ÃrÑäí Þ´'w×2šÓÂ܉á‰uhR¹RKʲ»-£ceøÛÌR$œO_~ŒÉÙW%ˆÃÀišö<(Lžÿì…SÌúûr1áºüëtvŠ[®Ö¾àÒí Ò2’Æ+œ^…Xª fÓ@&Ñè;«,цÁÌ‘‘¹ ÛÙ˜;sÁ×ߢOàÆù|%}£e ¦RJŒötÌ k¿ë£¥3ÀAÐD¯Í0g~ÃK˜ ûÀf'öA[žòþ¢£x¿;ˆ!˜<Õ-n·/˜)uÂøp®~›¢Ì@L8x©ƒ¸œõc‘Ôtsô‹ 4u¾ŠCó‚Ãaį.bÚiP3dë¡è#pF±º›Ï ã+~‡'ÓÞçž!€1ϱÌ.Í‘ ä»ß~-IJ&*O÷Ÿ²’ÌezÒ Íšc?rê1±'˜C®`Þ©lv1/±†ŠÂ4QÞ^\)cQ‰¾ÁåB†@ÝŽø5°G ¸µµ§­d—¥„²Ë›È&ô³Íú6NÑ!NÍÀKÖ!äeצnu6’ÿð-z'£CÎÃð×(bì(Rû3‡ á>¹åœ˜¯´J à\[vÁà/âó ÉLy~Ãûž5Ø„_j µ`,­ÒýžHfˆo¯Gëh²7¯¿|©Èc Ái”çì«õ¨6‡¡AdͽàRÀ¡Zɪš.0K‰ÇS`¼¨ÊΨš¥*ÄÓN©+„$Øf©õcGÛxò•ÒèÙBi›hJÕÒgF祈†™«‘ŠÉj¤Lv½&Åïxm¬ ¼³•c!"‹¨biÂi\˜f {IÇÅ$tú·dqt#šøz‰41QîBLd« ™Ùüc¥ ùºSd’ˆ×µœV·£ ùå[ê:IGÚf™}‰ÑÌRè·‹™ç¯¯å\ÐÜ —ëGˆÛ¦ËxŠ®€ãa®} ‘øœ35îÁe£p7Ñá–Oº‚HjÒh¾¢îtݬÐRnþ ú½}–lœ³†·¨K-ÔQn­ôð¢l(æ eZôÛ<Ëð! µÁ•y…愚áBN ÁÔNN¬I®—×ð™ù úSàw;©Û¹æ#sÏ»„‰~nÜÕ@çä¾±?ësO)6¹Œv$¹Óëšè‹šg,⊈ÄoåBѳçÅßçcÈ^ EG:Ê îp™°0:#j¢j~TòNù&í5Z .·ºM^iÆ ªƒ2Ýñ¡úN(úô¢–ä„‡®ÜB7ëck  ¿Y ˆ{û?f‚”ÜïÛÍ®[ÝäF"Ô¦9…H]ÅÒO‡ë ”ÁÊ&nŠx"V6ç'Òið¡~ç¡y!òéVé"£îzûb'ù{/U>äÈ”Ê#$Wºš5©|‡¤L±Î¡j¢ÌäôÆC8¦Ã:j\+¯dœ¨xõ*ˆ±„Û;˜ÒKç>7æ/‘ž÷°©1~›ZÜÎ; rŸ‡ùz’ëÐÔYC‘"ùÌE†cÛTZWf´:BB€ü„ù‹m·ÂÀ𾦠Á3ëÐŒÇô?8Ã# ·ú_8(^£„l€ž4Oy%ì m!t–(Ý*#TÂrÈ'5¸9öö˜àGZÊóÞ»‡oKÉ‹O·‹šž^³CÅ!™l”NäD²P¼æiˆœx½\5º :9À5†]¤û#6©†>Qú)¥Ÿa5|ù£-æÇÓ9Ÿ@eAšAÝN R<† š¨¿…¼ê]¬zõ™ÏZoSXn'àÅa%ô8Ô…U™´Ý_ÏÚ¾¤¦"8yèÁ4Í»Þ4rÖ¶1o ãìž~"uK·"r)Ÿ.¿‰á}ÒËœ‰6M~ LËSñG=ÁmÜÔ$kÄ=Ù2R:»˜»½5J'¡ ^™eæø©úôZ«h8³Ü·ÍŒ¾Ÿ²>ã÷êµ¶ ­Òü˜Ëä7x!Aä\X ;}Ù°*$#·±þ”m²1v¢Ý>%Ò,>¿üc!;ø„ïuýŽïG¿;ɨ©>¸Û&&nwÞkŽÐ¬ˆf –I*ñM±Þ'ê~ñs瘸-VÁÙe(•#l+B³¡MØ‚FƒMêRa‰šfÇþG‡¼ð|.a0mùˆ;<@B6QÐÓirú ÁžºFz×ì'›¥óý4W?¦}ÅÒ¦º3˜¦ž¹ë}“Dáð‡ûNäÎPå"{B.ËõÓœJCéASâ2˜×2U"–¸u§jºƒƒÂÿMà jÁƒ[+%$4 ›û©v’¨æÆr†‘‘Å­åt—°~&¼­¥ŒÖ5ŠfüPØcÉ`Pr L0ßñM©tÎê=ܵÁ’»t.úèx*Ãík—èe†IC@˜Q³Ï„‹j9“‘™‡([r ¶o2çòÀwÚW\$ºêúR‘5Ï3%'Ì–¯ì¼åáßCa¯ÏêÓß±€ÜÆ/~FÈl¬ø£ù´Š¤4ûOzóñôŸ8—™âq&oùæ´(,€ã„âAÉÑÃE-òº£O±%G|bâ—´ïV_ú,ÇI Tíµ׿‡†W$ß³Ê})’Ù‰O+Ã`zÿÃ_*HÝÏ¡%½~ã˜ê@ožÆ5ÞË¨ 7ÌþtãŽÖ"0“bŠUé :Ó9ÐpgEÝyÄ¡%Ÿ šÔ‘ª`űœ>bïÍÕóåìxÔÓjºâP†›·D×Í(Sâ‘{ü³ÅÞ•kÈpÛß~S„ÌֽƼ¡·,Ì£ ÃvÇ)Éò2/we`Šî« ØT„¥+#‰K:Ï R¦7Ý$ìeã K›WÂïx,ç9£ÓDƒÂ¼5VÅǨù—_¦xd ÀpúZ­XJô(ÕÄ–çÍo¿¶jO§Î‡x‰!q?m1a/™Raø/øD­Àá/ŽF÷mËDÀÂÅ;ñ¤ØÛC-t޲ÿÞÎpžh_U¥ã.Ès}ÉG£â¸©V.𕆨Ùþ©97h€‡n½kM’·ú¸~ÏÕàÀQwÊ€¢ã¯ŒƒôAW pö?6ИîVÍß¿å¶ö–,Ti¹ßøŽ³<΢gk0Œà´7°àu¹Ê§âr/Å›if³TöŒov*ÍݘÝ>2úMu `qªfñŸ{Д2)IT¢á'!ÓÎÔŽÞ“ö Óß$®âwk°jJ€Ý|º§4iVû=Z’#ye[KÔ¢\i€©²Á–®0¥?ë ®}—º§¹ßìÌ_Œ&]´È/ô…NûÐéBîè¦Br¸$ª©l=5´wŒQ½‹ÂOûeJHÏs½ÀþÍvi‡•6O¶:Kú8‚Vj9‚¼è•^ GÎ()ÝHt)'È£–OaûΡ÷—p¥-µ½ïTŒ š,q­Ö<©5c÷DVvÁuSBŽâ×é5²¶˜ALb¸É¾ávlÑ 7ôº îA³»—Åÿ˜Hwä¯ÓR³±ý¤¢Ðyß ðžÆÉì¸ÊN¤6ÿõ)äm\ËRt³’&t}y—ˆšÔzü*ö Îúwg9c˜/ ™”ULqeú°²|æÜžž‰’mQ7ðo™žoüÒÎcÓ¢ÊA¦JÁoão%c̺ E¼”pÃСí½\®J ]î¬Ý…ê„d¯o˜–úãH>”]oz•:r!бõk~תI ë[æùJ ö•éë¢UÀ¦ó'l Ü“>ƒvÊì¬ö|ùùÏ„WšgS.Öírhýzêg¥¶àç þ¥ Öi‘%è4ÀƒüL}Žæ¾îõË©«Ÿñê RA'ÕÜEnÔfåè¯K>6œpÍ¡/ZîÛX>Íãë’«5Vƒ\-N œ£Ñ9A}˜Î([¨ `_¤Rÿ<½4yÖ~hÌNÍDàWè]»O^ý{s‹Ò˜aSk²†lѤ “E²ÊœU&éìïتz” ¼Û(pa³1?ÎÆ‚”Âò~LÃÆCTÖ*¤ãh|x¿(<˜é2olßü–:4eo$>Ë’ê´d*¹÷ðA»|('Jힺ>üÇtñ‘ðBj–lËÉ@HüÀ`ütÜÚl2®³T};øÏ& xËXœþåƒ÷:POÍJ¢hÒÆ’{ 0]Wjþk;ãâ`Ó/0”g°OÊk+kñ}ƒã÷5ïDùCÊd±õ"5…Z–C‡ 4‚W’;…1ù®›tŸvdžù ãàÏ Ú»ú÷§@NðKá6¹ù'¦‚üpà½à­‚Á †½¢“¹… 2Ô 6l'e€Ÿ®ÒE±/íSÍø)“ïP‘H…©ã·ûyI5”ÚIdnþýíܽèòW.GÀþÊT ’³D‰‰éd=ü>ðü5I_þØÕוî R½I³8yn«ª!zGÅÚAºFCjcÓ§@¼ÿà.#ÊÙ"?΀"o¡[ðT‰Í,¡UÆà24™ÕDkćÖ=m±m£ß  Î3/ºÁøÊáNÂ!Ggñÿ eY-J*€]»ÆÑÌ„ñ5+˜`1pÛž©´­Î£âÇË€ù©Ç‹MÔ:‚ X)×ïdX=KõÑcwýR÷Š®®â¯RÐ&ù[a Óæì~wÃåæ"vZëºøW}ÿ Ë/ÁÊï4{ÕÕ|mŠl ŰžùeÙ«,`ŸWL#…h—ú{N³+¾ýâ5ºÁ©³k@#p4 ûj”˜;ÆÖ.}¤œâ}z`û s ð°¿gã øTúÙþE‚•“cÕ Ù¾‰mèóƒ9®U”ÚnϤ¥Œ`¡ÌFa¬ ‹yèyS«i¾es¦ËÙ;Ž.ÀÑCý~J”m¨¢LvÊÑ O$ul—Z},zØ™Š‡ò)7Í_;^YñE£ìP’O‹~Õ+$¢½üRÔ æÓ-‚ÕR¦Ü4c“漈Nä„/…}yO‹†"gJ9œÛëI„rÌ~ezñÉ$7¥¢Û%_§Ç-˜ÉnJWÊ2‹á±åA9.É:TµG½Ñ߶ΛæÑ>{²i ƨ†›pG-~4w-A)ÀÁå—s}ÅBõÒZ-b/u•jÖ6¯rH—œÔ˜«;c~:o-=b㸣¡Ô¡ ÆBeå4×€¾›ë«óͬZh4B/¦Ç t¬"QÁ¸ýÜ^G—WË©K§¾Îe•l/ê‰EHä¥Ö¤ªb¤;Ãå¿%ár*ra[àËôl\ÜCê¬í=ßÈf¶£NÞ¼.ÁqÝÕVý;*$\Íåù-HÇpoôeíIð¤þ”VDøÆ†BTéQ`‚qôŒ6˜-ªüõ>/DhP¥"ôÊGŠ 7U©?‘‚;¡þ°õÕ䂯ï¯åk/[&±0MÃ_¥R*SÛ×nÕ³\鵩‡Å¾ã›Þ wg’1±Ü0\m÷ã·;&:š^ “ ¾ŽãM\Nr¢›¬jœòñÇoËu¬èÂ:z&%Äa…ÞWŒ.EM¢dZ̪$O ‰]‡ïô‹’{Øb†Ü»…)wú“K‹Á[Rtþn¼·\·jº¶ñ7Qý¤2¶µOûÀ[‹Á£øþ «úÊŸP–ܵ©>NYMšÿèƒ_§ Rj£PŒ5çÌ‘åO“w¨Y˜Xû÷’BZÝùìÇËîN@ídWøAˆE'ÌK”.Óœ*k§óúùa£"å*³ÑÃÿ &*åˆ^DÝ¢F…åɃöèΆ?Ýêý«ÏË1ƒT ª³O¶9¹ßn) «.8ê?¬kfŒÌqÝ\ƒÐ\îàSû C¶ ñé•¿õ÷þÅn†ÃÌ G8µ¼Ñ&¸IäÂØà/¶ô²òç 7'½-aNO^μ’ñýø¼°(äƒI£™MŒÅ|@¥IxÕÝ·A‚^µðÎKî€K îªTQÒå‚.»óW)†N_ÕÕ· nñ<^§tVÃÎØÂ‰I™CEæ´J?š9VsD-[)ajly)ƒ¯[ 1ýÁùó·:Ó]ïpåqãD"ì®NŸžB*zåÑ@lRGõi-B1/ÅP,ùnþ®‹ E½a¦l;m[|+ÆXZ°aO%=¢ªØ™ m8`mç1F1]ØÕÉKóÅžm”Èû nhÿÎ'S00]ë |ßíëìc()Kæ_]á‚z¨v™¬Bžà§‰øsöÒ]\`Ž…<ƒì(.GÑÿyÒ{²´·!f.º®Š ©,N'ÖÆ$qlµä|º's›»f6àx¯®Ò…»&&¦P}•ý†þŠçú[œM¼J°¥x”Hœ~—R)’ù JøZÓµ˜`o æ¢B+å³!õ:õÖü¹ŒÏ.oHvV'5SXR4_@‹†íø2n°^„Mó"¡Û¹â@¶wkEQKõ¨½‰Ú/탑œL2tøâÁóžÌпÞ׋òc’(¢¶Â˜úøûá QqØÓÌ~ ¹ä*=ßô:õ.½QÞgB{ %½ïu”²hfh{ ’îÄ7)ã¯àD]¿ÔHR6šè3ãè‰Ý¥Xþ‹®å޵ÞÄîh“õ^ûš‘õ¿~\Õlò/äV-ß²0K³’|•‚±±ºp´:n¿ÓÞÜ@«ž‚G-a|g\‹™i6KÃÍFq'=¾õ> ¢\Ëû™Ø VHhfË÷/’–rGÍW— VÌ`HÏ3eZ”\6Ë+/®6Ÿ.ßõ߆'ݲ¤Õùf½¼ùØ–Šö‰›J‚W!*â lëÜ“þ¹+©þ_s‡L6Erí˜uøc¯ 7y×úvRû,¦¡Ç\-«daY‘ˆ£‹dõ{p±°¥Éûõ¬¸¹z§A‘FäêhùÿÉp˜®¡„‡™¦® Ó@“Q/rû³ø,$Aê¥ùfªK(Èf!ZãÄŸôϼ[F©2&¦8Î_Zî‘Ô|^{á"!ãSV6=C\SSVÄkqt­ý 0oÂúÑ‚£ŒäÔ-`Óœb?ZîËõ‚HÂjŠ;<µóÉX~R¡Ê=deIËÏ@3eOoxŽhÙDR(8)öÌY ¶«…¥Ë¢ó@Oçó€ØÐ;Ê%5GXc¹‘ Ý8B<©{M‚ÄxÝë§ô~ɯv͉ÇԸĺå¾ãOѪ§Bï"¤Xza Ñÿ7½Â¸â]#œ½f.ÉÞÁÈ«ÞP\;ú¸Ø¨ûœh…©\í§—œFÛZƒµÆ7Uî¸lÁ¼•“©Y¥—Aᤆµ>櫼¢ŒÝä¤ü襞þ\wÌÈÖ=ˆŠö!ˆÉ´ìê[¢6¹6ªÍtn•‹÷¹g­| ËŠq3½.ò4cÜ@Jðñiõ _£ZªÛÂÎ,tÂE†>ÍŒš'EÈ0'ð·m)¹ô[þ,ã¯d¶ü´³8ƒ¬bÚmS$¦ÃÕ²› BŒSÓoCˆRjÛl¼¤‘W>ä©™ÞÍÊã‰ÊáÛÀ ©ÖãBa82ÂñèŸÎCyH¬\&D:øG‹É[f§T§²•øm5³ÁÚ¤¦Š¶ÛFn‘±b­Z•RØ8Ø;- tþ«üM®`ÂraÒbfä“<˜ô@r8‚[¯¾íÜþÂM†´F‹À,ûtÕ¯è‘ß|üËË*nÿ¦bÅGøéô=•ÓÀ≎$/J•µÒó %GO§@ï“rtÖâN¯t–H!äÝ–j²=Îþ}K²¼,p6ªØû©êšb¾hÿ‰¼»Àš“ûfpƒŠö r—™,ý¹³y«#®²5öÑõi]…x£ˆŸ›~ñ÷¼L'úûܳ,#äLU=eÛ½›=»yØ¢óûÎE½—u/'qûT`«!®¾» ‡˜ôŸÐÖ9ªW¾¾ÁùËhث֗·ÉïcÂÝ3Ã<*pÛŽ3p·èkãC3ÈO ¸Süñ´·ÒTÉôDk`¤vüåG̳+Bÿ-¬)ªÝÀß´¡Ý q0>ïÝ?SªÃNUòW…Ëʈ³ :€.¨"-&šŒ È‹…ÆiWó“íÍÆÿ`–”ÈÙ¥ïÂ~¹VÓ*·Âžã¤ví³U™veeZm_/“š'‰þi|Çí£Òð8 ™¥®¨™ª¦%2ÓE½ÿ“öÓg¿V=CÃc•„r‡y<4Šaö+ñ™¦|a®ä¸pOQ? /¶¢=O˜.7§ê­øÈÖ@‡×€¨à˜˜Ôœþ9æf¾<²ÉîàʳZà\ë½Z x¼¶HSX *™©‹ ù6‚ë"Ö¼†ÝWd[«Z²ø)µŽÜJ¶ÿÚlØß7A})€wس‰—™h¥['¶ /w=ão;ØÎ²2ß WbçÅ›óæ}?½>•—üúYàêÇ–LÔ£Ðóú’ÌÖ¥÷º’.G(¢‘À°ïKAÉíº Iåø##ð¢!oYíoÕ’$ l¡Þ^ †8$™Ä{ÿÜ 2·œ³c!aéŸx¸˜*0 ”z|ws5Z+ûoò‰o'Ñ^–ÚQÆ­ÝŽÿ늧†€HPãàè?M¶åÚ¾ÝLè»YP4mmßû½Œà £7€²‘–{ª $ñU "|$”×Þñ‹Á0-©ªI ã—ê$°·²$Ck@ËòEí¤ÞÛιD|r$4´[ÁbsºLD†)5O1 ¬5wGßyÛ X‰B®·µÀ{&›ìôŠ¥»dHNc;+³} .žE”ÉÏåð!oÁŒñ öÃõ#QdL²ƒlÀwÀóÍ[hnJÔÍZØ.²Í 2(nÐçD“>¥|Ì«ü<L¯ iŸX $_„ú³]Âù!(b⢑ aÔWÿüÓ“*úe’º¸­K"Ú.d^MÛ?H^k¾ BKüi·Øÿòó°Ü1·Ø©éf–„»"¼ü,¡@øR® £¯Ê¦¥2”ÝïSo¥Â_:˜#eÿŒO¡Ã”¦;¤¬¸ÜGÖ}!§¬g£&L%/‹¥3(`x²k ž'Q©•äÖŸ§éuã'x ¡¾¢ 19Bž¢Ñ¿xî—¿CÏ€¬¶p2`{ôÝúµFŠl6~At‘æ5 е«W£8}SEc~ný $ט²£s§æè›Û Ê–¥´x) òtOâ¬*³Ü)¶îT7p÷iÇEê,ü–ñ)›r>,1föÖŽÿ‰«ïÃéäè„k‚j]’Û#\r  Åzÿ[^z1éX=)‹~TmH 6TÒˆRèb©ö"AõuðºlyV΋¤ R‚Þï Í8zU¤à †@úûÚx,ÎÂ_òB¹ÕÓ?}Ê´­Œi6„žÎogj1/][Ö Ådö¿›ˆÍ•sЃ:´M¾u&ïa'Ë»ð‚VqÑ×f-ü7jNîì;(íÀFÎàö»$±å÷^]ä½®­£µð3FýñI“ý!vô` å<ª Rüž=C)܃ރª”ºf «;rËð £ó­ú¢XŽTbR3á-}C£¹uöÂNw ÷ð°ÄÕ݉ü?1é§?á¾ 2EÃåsU6Ф{[¤ËÛ½øfŸ_q!/—í9nä½Ö/®@°@¨™PH‚meàÌÜdN¿RTm? J Ž'wòdž$ F@&¿©ƒz{Ÿ¸¬y!@èÀ“>÷×3Á0Ü{ÛeVJ6«ˆ‘E©Jî°¬‹Æ&K±ˆ«¦‰UkÆdÇ@R¯Û~ø¯¥ÒÿI|¦‹º¡Qr>–>\AÊþ3Púîá>8Ÿ~£§ŽâK >e%¶!µu#›X.òqhag·Žÿî›E&yqüŽåiª3¦Ë„Æ \ÚZ‰Y Ëãb6F ‰©ãƒVŸ ²ï¹bTuBš¸É*^å§"M4Üiîsi³Ò>yK€4'’lžÇí ´w…“½Í-/Iâ=Œ¶¼ö;~YqêVï«î‹¨Ó¨•à©}ÂVrÛ£@jI<*â±[°ô=†ZȾaÉ”Oõ Üç eÖµzù¯1d.IÄ­‹¨ÐYìTѪ–ñ›qêÆ0&ƒÚ4} .Uÿ¶‹nÆš}ûrå€UÝl1sMŽî–¨OÂBV^mf’¿Æ>œö>,…g]@ñ!b#h;ÜF’Uœ'ÐJßK‚\_øºûµ+¦òf1¨ùÅGRë Ÿ¿F0$k‰‘ :,)HÁ'cœ%RUùPAvä‰l.sìÛ MRÜ1…@¾dÄf2.îÄ{ÝÒºé¼ÌS=£p²Cvx¸£…nÎ’ñ1Š¢è@¯3Ž·#æß5>_ZÄfXI€M‡#-i=…¿ÑÇšOaÈ›0’¢ù”ÃuøcÁr‡Õ˜3F‘>¡KùuˆÉÂ^›BæPU}£Ð9‡Jêëúχ¢a?#æ“MXi1Åú°^VÝÿ zÐkÙØˆS¹#?Ï]8ÿ ¾VqÆ>Ú"v†x‘‹ÖãžeiÒ*ѧ‚h•.lç†jÕqº%–õ†81I³µÞïK¢Ý™-–«Ñ,f#×<ÿ£«Ù¼O^Ù×ïÖwßâ¾l÷ZÂh´ b¬‡ˆ¥ÙÑ<ù¿àÃrcVEœ›/—êÙÓu9bY71©‡ ZUÄì7à ç0•Ø%-…¹§ƒ=‘D²®ÌË^U¸AöAEªgœL ØÜ†˜²ÿ³Õgóåõ!a¥s³ƒižù²£Âë—+‚^ _Ît%1ŽoK%𺞷(ÆMŸ¨uY’˜ë—mz6€¶– _GU™´Äý_¶¥gÃ’w¶¡ÞtFÑGAVmhW‹Û§ƒ4ŒoÏ B½#¹“Ãx×Ò1!J=d?þ°C õ€$­Þ,q+D3›Bç‘ð4Íú?|Œ/Ö¾ï³NPdxHþ¸ƒÍãŸÂ—g~(’D(G‚Èe=&h†ã÷zCâ®Ó×^‡Mƒƒ=ééšÈtÕöÂëöþ©o*ëD)”ÖÃ÷Ø@(iîàI0¬@v&TrT¹qG? z=ŒKáö^BOç±#4‚î™™ìÊê<‚–xEºèuZê¾™T=7|ÜßÐ\•üC9“{Xÿû[Ó[Í5õÖÿ|é#ù"¾±žAΤyCÕ¥ùÇ‹ö.¹±i[ýwdríû0­sà-Ò|ójÃ,±çðL J&ÉízhniNå8žý«½I}Ù.²ðMxÅÕDTµ9ßm‰ŠH‡BÔ ÕØzä]Ò21ô¹¾ t-Â!ÍbÛéÐÓãæ<®ÉôÝÅ8y‡¼^Y£Ö3–ÅT•mÔm;Ú„¦n["“&!`0rgŽù¼mN„¶ŽHÿ¯êœÇÃúoÍ£` ?ª•úN£_p‘¢KYÈn“©%Vê“ m‹qeéÞ^*/â1ò­g1•²v”ªÍEž©_Ȩ@¶ÎC~>kûŽFÁ3¢k¸IÅ“32u’•2»[p f¶“(u 0Çåš1(Ñ_s!ß<Ñ_"·d~(­€²ž°›âNÇBÿ ¥’¡-3ü¨™ª.¾š˜ÙH"zx'짆L^Ü>!ýÚR1Ÿ º”u…Þä„ Ùª1¼[µd\d£zòªe|RCùŒÞM=ÂÆ×–ÌvÆ®{eŸ1S qÀ¼|nP§î‰“0ኌçŽ?œ;zë#Ž ·‡S—Jdpyà @Y rrØÚn«Z·iÝýQÑÝäêÀ@­|löxTŸèq¯È æZ¡pA±RÝGr{uÖÉW¤BsEZôf/@%á'K’רñò×q  ®búÔ’]-h¯FÜ<ðÇ/¼Ô«ZO &ÙÒŠhL'êÃ-~†ÎZ—7Ü9 Àúê×áš\¿‰+N]ÊÁPˆø_Á¸PyºÂX¢êŠdlígƒ0À¯;Lh\)N[ØÄd”áPrß?$'¥µî¤FÑ7ÃÜì-‡ðÑKië{QÝ⹂Õì³®æâO€ù"-AÖ~¢/^–Þqq‡è!bþ<ý`'WÍì!7Éîõ QX¡œz‰˜ìzjòɈ…­VщRãý°Ç$ÑBè[vh´©9[u‹è ŒwóáË?¥ ÙˆõO}5œïPs²¯cQ¹ÕË~À`ÎJäkgTPÍn¤7ïˆGÆ2îiؕΤ¾8ª¢þ#7™1Ψ—_J¨!”äòñèßúì 0*NdaŽ0º§Æè×`Ø`)$±Ñ6==Å‚ø‹0és+v¢EBÊa4ˆÌ³÷Šçn¶PL-0M³2¦‹ÂÒ[c”¹ïz´%‚櫤-^K =ßnЙ?ʑƗ· ôúAX’ó³9>’(S둌2€~¹KôL7²ƒõ·†fÔã]µ;ŸÇQ7fï†55ìŸrEÌ„ƒ.Hn]_·VfxÒ”’taöØíDoxOé °h}𫦻xÏkQWŽ…oÆr½)oÆR‡Ñ;ë7ÇÙ0ί •Sò͇ëºû ÒMEÎsNíšé¿e'·Rb jÆw™¹U+ 'E:ÙVê ïÇ:˜ø·skÊ{.¼é.¯©£‹G«K¥¦æÏ¹lP6ÊúvïwÖ|¶oc’§È;ÕènAûw+eîâ:RèVYÎÜ'Ða4ÚÁ=ƒ-d««R«~þÈõã¿»ô~ñìTÅAõ;†kúi&ÝôÚ¿™ïCX$±Ÿih‹(|*¬Z`&†j 3o ?¬œ6VǨ¢f8'K%"l”6—2‹æÐõl©¯$JS„tK ÙRÀ¢Ùp¹&ǹàz È· äT›)µÖ!ñ¨Ë¿ÆËq6ŠÈ.bï¦â4ÀöÇZd5ï€öÆð¯ÎqdÐj>$ìájGrb” ßp¦/-Œ±ÎÔýå ›gÌ:¤Ð`„£ì± ÑÏ!¼äÏé¯Ü ôzÑÊ ÊÑÛSLMžòÏwňÀkrJx3ÁtSS8öÊI&¤{ñé„ÖSÑo€™NA1wÿ¥„“á,mÛ_Øk^fó¹e7ÀNÜïa/+ÛÕ&Äâ¹o§Ã¸ €6¦TÔJ’oJ¬jhˆ_þÃ[ë®è\úNÛ÷P*ÅG³/ñ ¦P¯·%¸› O¤8¯GÉŸß‚/á!NqïØ93ŠézL6݈øÁŒM µ[ªF¨ÂdIGÙ°9› Ë(~ƒîV6 %ˆ¦§Ÿú­føl°‚ÇÁ>gŸR¤–ò° ãÛ7\hê ,¶/ØxéMÔÿl¦r@¶ÅÈ{NûB&·iL# ÉâOËk¶IÌfÆiuƽÁv9ˆp o,dJ"‰Žö&‰œRÄ­ø"-+mò¬^¤}¼˜Ö~-"‚Å ì º‡eT•¥L™¥F5Wè…Dóì—ã‘T¯U±äƒÉÖz•}Ö£.ΠJ÷l>)ZsfSzÌÑGª¯õ’ü4yƒÎ5ŽÂü‡_vë +{uT¯rëT—¯:¯ÖÈŠËÜêùJ ¡q¸Û$§L^ks;+Åf,«åyT9]*œ˜3‹apÔ‰Œˆ¥d{w¼Ög=âYjØ´7\VB’-¡”1i¼_Ö%´jcðrÖøê†UŸ*½’™}v§™¶Ú8­CðVØïµ—ÿ¡…óøˆQß‘”éßí}ãdq»uK¶šK}Lû¯Úy‘p¹ S¿š‚<.–Çõçòm®ê²E×y5õt¤ÔùÚ ‰™¿³è×ëXœlù‹Î3¢)ö¼]à}TÜ.Va\ÂåPnHêAi-+{Z^3íDç§Žÿ‘ ¾—Ý5L+ý–"ÆàãâÂÉ—ÆÀ SÞK¸m™Þõˆ=HxR(9 AêˆòuTãÕ·W°É¥ÖUª­5»Ò±9éÂ`‚ÉtùÌ«e¾c®®=Èà…#üÃQ±Ætå»d¬Ñè Õ&'ÔpêðÒú„`…†“!F4À‹ŽEoAj Q½}nlÏ+Ð wù Ä„—ô²pqcGˆjj¿/æ¼i°÷ê½kêœópwo„Îå'ú†wE¬Å)ôhxy<¿,ᨇ´Ð°FAÍ'BP¯ÖbŒ2 ³¶z z$oÇM±BŒLÄd…vI´x¥!·fóeë$rɳ‘½i»$gã#óxjQŽI:q]ÛBuÅP$ºàË¡á—3ZÔ ^‡´Cä®3ìî³è¯Êlr\ƒ)š€Þ:Âø ßPÃl5™ÚQ–ª‹AåÓî1šýÃA[z”o³V5.oÍ€$p$CBé C°·63¬A*õxx®Uñ%þB¢ %µbºáD¨ýzà¢"øšªâ%=Ó?˸‹üqO¸‰XFö´2ûÛH§Ï]¼¬vÜ>9/ouë™ØS«µ¦Ê²káÝ4´¬(`Ø/þhKhõ’Tâ±y)õÀܸ‹Ŷ˜lÑ”ÉA{1£ŸÿCeºEi aJkÎyӬϮ( â —ÎKQŠ´âêÝf¤»ïããü<ˆ{ñ`VÅÒ¨º‹G"˜Ëì ®£%¯¡Y;çu¿ý׈ ºQwè‰innëZ§¹ÏÞ}HИ¢N8´×KXš¨íã«çWöªÚ,ƒ¼ïýƒëÐ{'®|ž¡Ûy»Ôï‚åÅ1±‘àÇ`úÊõrYÇ ‹• ðnæûù~Ñ bÝö\%å÷ÚâYU±ZÄÇ7âFr4¢¿Ý x¥áÔŠÜ,ü'áe ªxfÛªj•ßg|$‹N§`,&N¦ùµP#/6‹ O£Rͱõ†)éèö¤w¶³…´#é a®Ë‘pïÞYžÇO¦o}áiÁ• ›øë—D5LÑWt£1½ÓY©ÒòŽ=ÃEØ<\ûC.!k@­‘UÍcÁ´Öī˾8‰ä¯VØÉד.Ìàö A°[X]€O ”RÐWí¶Å‚³™Ò%ñ;º¨OÀŒÅÖIš1n˜C_ùØh-ï|'ææ|­ogG3m1}Õ 2´S«ÍšÄ$#IÒü \ÁåðçÄRhPÏ)Ýâ4ö£ÀTœñBâ+”žm'ªŽbìôÉ~‰†'K\zÄÛ'´[êùÕþ{ꦮ›rÜdmŒ¡þJç­MTF8}ÔæÔ-Ò¡O[ȶn‡p½»¢¨È]XÞ×|–ìTµ×çžI°Ñ¢ÈßÎ/çX‚Óñ;%U ¿ä«½‚p¶ÌÍe>¸á0eÖe¬#-Ïœ·÷3°(@~ðÁÁã¯-ÑžSŽ#çÅál4¬þk*T¶r_ávξ¶«ÙíMÕ- ‰¥R 48"¨©âBÅf(¸å–1Ua ¼[#) ¿Ž[¸:龉µ9(€'™?‚ñ_™4{ž\E'Š–¦äH¡õX%÷Â?‘ñÅòÎî¨m½ñm h ØºU†cik%Є|©ËÚÎÖ3aˆÎÔºû¢Š$M X“åL%Å±ä‚ =§íØÊWÔ¥'ׂ'mÑ-EåÓ߃WÞ¿0Œ(¶ûjÔŒx¸$Ù[ãˆETAÖP.rá4ít«ÿï€WpŸ™ä 7¨H Ÿë »ÝÞ9 |R©½Ü%jòyŠQš»[ñ¼Ã"oaÞ/í^†dÐ-g6GJљݲbÄJ–Ÿn†­0c¯V²sÁnP}1 ô9œ‹I?e%‰‹2{:`«oStã¸*=kiDFìv(¸6yšr ÂoïœàD½¼/fyѱd º›MïÒîÞ L­Iä ¡Ë¯åÍ»C% Œß²*Óˆg¯q¸ñ5 ].hrQE%·qîYO¢8aGaßÿê$”e›;ßFòϺÛõ·œ¤4»®®‚,yâÜçºgè×Sú÷OêùLƼMºfÜæ€M•~Uß›&_ÁY@ŒëŸhƒŠUÚë?©‰¿L.">û¹{6G @_˜.(%DpôŇ´=jÆú_¯Åq’“)˜ð3} 0p¸v,á õªÒ5ªzÍŸýkc_GÝçeñ8Ò»Íiɽüƒcbûh©Xá³ã½#Ò/ îýѤ,œü'G¾Q¬½:ÉwdÆ¢ßs7q—!.c…âwL°JŸ¼Y°šÂfãjþ8%dX´ÕA‚ vx±&ß_¤:pQÙüdã3 Ü}ŸqàÌH– «~Ñ n¸ÝNœ°PìzkK šc¦ÑA‘xÒVÑOt8(âJ=0˜Ö˼Z¬f5­Hö˾‡b³¼FÉ÷'›p5YŸa¤¢›QNqÒòµ· abŽQÞKé4¢Ü:¾eÓþN9<u.U7k“iŽEP(ÂλS¤«*ÆâW¨‚H—j£è\¹šJ²) ™“$ ©˜<ÌéÎY˜[SÏàð´´=9ú£èÌÑãPÇå:ò%¸CLo=±ñydä5žpåðYïxÀÏ3ý°ùJ¼¬´@ØÐ•²©퉖M"Ë‘íoÕI5¬1°Þ/`nzØ'êyiQ>1Ë›Èek í¹zϦ¬+j´sëÇÜð»^¸\X½Â yÅÐ1"¸xMÕäkJ1x¡T=Íj`¼mò‹ÜÀ H Eˆ>?ÛWÃEËO3žéòV9Ó¿@[g¬Ž§}sÑ–À¡ÀĬϑ;_×}p¡ðinÖJ¦´QµA%G¦X­Æ©:Z/‡XÞKŸ1¾‡ìú=¬u{ ì(¹*œõDÝaCºNªÂ7j¯a°}éß·fÛ‡Òƒ¯˜mVtÞ3²Û˜vRºþáe6³”±Jf»ýlÐ Í„í‚fª&øèÕe>'”ƒûúÆìÑ'­õ µìޱßHhð°“1ïŒùéñâ,6àŠÕ²ñRÒ R¬(…di½ê.´`¦Ÿ— ÝœøÚ³£ ÚòEKD8Z b†²8äJ¬.ýmzü³p¤8›%¥,ÿÈàO’f /‚ßEZžŸ`óžË{ hÙoG¿YÀôPáÙΓ1ì•;l_ineò,ºÕçÙ*K­tâÎh/@ Ó. »,:ݳ…×]÷;XÀ£‹_IáMNu¤ÜV×évÚ•• lʶÅûÒCâŸ0hÎú>¯[£ßX퀱idýjî6*óXÃfÚGwÄD§›P77ZšXÌ\ˆío·é–¶€j ÿµ8ÀH2éÉ}ND /pûjé%¦ÙË¿B&»˜ÀÏ'.ré°æ7¡ÅÒÙoÆeCÑÙ¥«ÙåS Äf¤2¢o@h…S›b{†Ãˆ“‚wïQ:›QãÉo›âTÔ±ZÍJXý‚«šP¿3Ú Gþ8>!ôX³› …k<8±Î}\{'Úø@Ž1ý@6Ï>9ÚO=®†»fYv‰/®ðÁŒGIl¸Êÿ§µ¦éÅb;W™‡¼s¾¤ži^´ÿY•8^Úµ-ÞÃ:ug ül`ä-`·±×N6¹Ó«'Oõi¨ƒIÜÿsöûŽ5ÐfP‚>¢Ž•XˆP®‡„êSº,Çä=¹ÌN†µOI7žègŽ”Å-mP†á>ƒó•ml^‹N÷à¶}*÷5§WÊÜ–û| u¹½¢BÕPó «½^"(2{cdm ¶[œv ÔŠ(dÑÝE[s`v#´ÔÕTSuÞ,MJ Lƒë;~$‰â îU/G€Ë¸ nÃöuÉètþlVdOȘî–R¨;@K° lÇ[ŽV C$rr4äëââ™dl=¿1óBËÔ‰¬õÇû ûÔÓŸuíô|Ê‹)72̇´´ü°o|Q½çŒ,˜#xýc«‡úá\B|zeˆWÏ[¡3”%u^á³Þöðͽ;s=R©~s® 4û?´'l”qÁûE˜â·†Õ¤…I<²SXËþ`òLãR°uä²7W¿?ìOæväÈó‚ë˜áu)Zx¯O ³{.X®ƒÙòh‡NæãÄÜA$ïì-”ô< ¯IŒ£º’‚ÅtŒòb¶2k[U»„‘ÅßzšÄéïÁ®9üÛ®xT½Äè3w]úD¡SÁÚœf¬<ÈÃðÛÕhýdÀ'F퉓}’>U| Nœà f³i¼å²'Í´§p7=oý«×Så¤X†Ôôª¾¨ŽÇîdár‘ÄÆ>2“Ø"Lüî$ߨʭ:Tá ¦¤¬).‚³^“¶tk¨—òGƳº´ÁÀ^ÑœT˜¯ë‡¨Z€ƒ¯'äáOŽàK­E°™]&B8T48€ÊÏ0Ž« âÝbÄ%íáK9«ÖßcQ2I´súáoÌ8+™ÐPó„[Rüs}Á¼ö¼ÈÐíÉŸ>µYή`iSx©døÚ¹]˜è]•8¯² ’G¦VÃ#%Ò2!nMãX—5’ýíuoÊÉA˜†€%%à«L½ºíœ”17€^S\‚Æ7ضÔÆ=IA¸@¹üXE¼—6¾Cƒÿm â=Ðfꦃ¦ª¦+)nõg =ÄmM]ŠŠj.Ð@¨áô˧–*¶õÆé„& ÅÈxª<eÐÄ—7}ò„íBø) CÞc‹Td­Ü:ˆU7ÝMšuN²~p|ƒ0oíù°¬,>ã\ŸÈr,pÙ |³Hi©Éº§€±›Y|7[m}’!BãIàË¿*qhVËZï%ÝËD¸-­ŒPoL}#œ©t¿膱3@ýϖᜧ˜C©·LÕ4À=Õy®’äC½‘!< ­' ¢XÕ¤êò¤ÀRÄ{†x1ÚV‹QyMb‰uÞI![PŸ²"­?þo@…u¦q´zµ vÝqäŠJö`xšf1²¨©Öï8.Õªß#¶‰×¶› U’Zr©£æRÖŽ)åœÂIÐaCñ‰wH4EŒùJk”ý7h¯ W®k`žñ¨É,œná#˜9ÿ¶ òpÒ¼›¶ÿßó³1Qd'!wKWºR‰¹õ ãÑßL]0üû,’Ôí…çµ­fQ>H¯WTùùhSÅwƒAL&òr±O €ÒeE¦ø¹²*¸øÚctµ®Ò¬wIz2ÿ‘Z¾mfãbÁ¶Kä] m©^Á 8ñ¯tYLÙ»¨+2±Ÿî«1wdÿnW5ÈÐ +ö³æ…ÂYW£À»˜LXuÖåÛïÏíi;lþlwmYyÑ!ø‹¸Ñ¢œÝ!\áºÙö±*ò—ÂOÍf{ÿû›LêåÎ)²QRÕbº—Ìç³Áe¡u ‹³Äb]ûW`Gv‰<^åáßrÛž9aä@„ÎlBÅ=™ÕêMÖ$çÐg°Á³äUÍSàÙô¥ýðÔ^á¬òÛN>Ün´"»ó¶/y² ¢Â:ú¿Û𗱫ֵ4œÒ…ûwØÓÓT{¡S~Ð!k ncÀ‹`†•X艷øèTðÞ#evÂç¦ö@üe,‚BxóeÝ(©Ó†V„ñPªì]«+ÛXw"PDTÅ®¢gñm­U«Ã¹úÍAš’Cìó0¿à¶¶E‹¿FÀjk½à‰GVÖ€Âeä€ùÍþÌ&ùzU©·&ÇWéݸ_´ŸçŸS¤· ¡Âh±ÐY« H6ÝŒÑD&<Çìë4_ÛÎ× aÌ1ô\Àúsßœ’'“Ék‡C¶Æúém_To“Ö¯zV•uÇ_œÒ„Þè·,6™8ù‹&¶+æY· É—ê׳ÍL…™K:yøZô¥”L¦ŠÊ8÷?k%$×èÕ;\«¡ÕtV2HÞVZ+{Á(íV¼ömc›´ KÉåW1:¾Y>¼o!ÜP¿ÐUŠT¦Mv ÁÙi¢eØú1wð ƒzi™¼¬2@‡B®cŒ>·|™ë¥¿^Fµó=Ñ´ÙËnƒ¹'P3wV•›ŸâÄ€žó¸™®Ê!è8ë«õ’ 0çcì6®õZO<.sWêh8èÁ$:ÐÃÀ'‡/ÇÓ¿ÍÌ, ãŸ-G¢©ïlGE¢.3;|7×~•vÚ†ZQ”`Ë” g-†€HÈ]ªÝß°ªBÏ¨Š‚2’½–¸]Áö·¼‰\Ün†(ÝØUÈõåÉè…!ïùÆy—-Œx- c½Ž¤ŒÁ³ÖŸ ¾ß%Ý É=]3ÔODÞR ÒÔ)ßö=D–“Öª¯ ôwn,Âè&’=êÉ—‚è­äϤ('†Ô܄ݛ5ïg 6AêfZ»ixm ÂÖÜg;´iÌ: ^}©5æ¾ÖwØ’Ô RoýÞW¬8©{&(°ûôu©Ó»r{¯»˜‚0}÷nâ; Ô@LQ¹2}ŸÌÇ” ÖbtJ¬;fPËûG<¬šW„p£ùêÇ)ZëÜïC5p¤Ñï=N1Ö¬Û‚hJ»C¤Ù/¬×þêâÙ¹n¶˜ÞzO¥!qA¯¥9|üùk)—iíS5Õt–—åV†•Ó1ÉË(}üäÄXcY‘a’ʉQˆt‘YÚYÅKŠvƒSëMߢԚE‹í,RlÍþqk«©ÆzDü…X*ÄXi…?ʯÒYïf§¾‘ï5‡púôÐKÙázA¿Œ|ãƒâ÷fin|èwh7Hr4[óN,Ue)Õ)}iGc?Øh×Lj%pu»˜{ÛS®½£„ý¸¡󱤤×âPBµ¯WûE/÷0‡`ËP­*M4§úqLÁíZ ¨ÀútrÎv½åd&wM¯à ~øÐ9pÊ¥ï˜p:îû²ÿÚØÐ7åÚp£Xm¥ òŸÆ[]‹@b&ÌÂ5GX"7@¨º÷‚Éj¶¨ð) )À–TY7lz• <ˆ“@2£°LÕИ‹|µ[¼3ý[E4k“ÝwÀ%}N æ“í—sçd¡X–×xÈ@H⩱b¹¡¢å‹Å?!çÿš—ƒ-êÅUá, òBƒòƒÅÌ4ŸgæsžSæðèÈëžØÜRËSƒÈ­~É‚LoiÅs;¬CY–]†V8»lÖú þáBàsž’A`|gãc)¢ªôÔŒýÚ€KêtÓ¼0ÎËoD¡<Øwý@ê5âÛ™f·PûÐá!lU¨~¸‹Óék]Wû­v~†Qä*çÉÖS!q¦J{¦}:!tä;ÕÙ¹¹ã¡B"mv`梄‚‡¤$Ð[‹4/‘ì¨ÍÞ(E9Öv:§~¿Ÿ²®Îx©2tB ´Ú–i‘+è]$tì»’%x_x!"/¹n¯²M° ý*äẦ“ÓDÊÇ;R¡t<UÕ~\Ìͯ·¾…­HhÉæM`¯(ÿ[ɵȧ'ŠäcÓ«™k9@ÈÃ"C@fTßî#4¬—ˆiÞ©ÆbÕ•ïG9²ÁÍ6‹‡yÊÑ96 ª'¶Æ°™‹Tv‹oü©ãT{«9Ñ1¨¶9ñöaÓâÿC(nÀÛŸ3Ý.p!°†q@˜7ýÑe$Vç‡\{{ ;–‡„ * ï­Þp^¡“6:®ôÒ.¸E:]Ù¹q†Rôo²ñBS$hœ7Iô6ŒžÃž‹¢#Û Ó´–ÞdÒô¯¹ä:N6~ìΡӯ(—_\œ;¶9.µXflC׸á¢ÔÀæÃZç÷Ûé`ê¦1žW)úÿΰjô;›³t"è6‚®¹$21#+ˆ¢MÄœ3˜5e,‡ù\Â]lÖhríHÞ¢¿™å6Ë^l„Œ–@¤Ó#õ‘tùî$ê6¨‹Â!¢ÓšîM4¦CkÏ6Ö\ð|vX8‚@D ©È„*8"Ä_Øbf`.L^ÄØ:XÑ.ÍÒdzÕiˆ‡º¹B@?V8¢fávÅ-Bž? h©ágÃíÉ’©‡1ÙhZ¢á@r7uÏ¥œŽu E¥þö`¾F·š¯Ñvÿâ @EƒB§ùøÁQØvu&Ä>¸o¤-ƒtÈFlÞu|à³Çg/a÷=XïѸÝ•€žm ?«yãgC¢!Û§> ¢dR”vËÛ—Ç1Šû7ˆÃù þ»¬Îu¿9eÒ©¤"óùØÑ‘{»øgÞ%'õ­£&ÓSŒ®%ž‰sP/¦Ó±!¸ñpÞ‡@+ L%íþĶë Þ\ãj-±4TÅÀ2f;•û׳ GÔ£¸yÞ¸«{¾E¦2ÈæqY08QŒ=døèduùè²o a«ÌË™¸aS¿FBz%ª>ѳ´ª§ˆò+Á*‰Vg›¸alÂÖx ·ƒ·~Î.jé«"À¡¬[®#™×¤yÿ¸ÿqsy|´ÝéÀ?ŠG¹ÜO]”`Û'‚ÔÃ/ £í­D– ;É~Emxí¯z÷ìZåí9 ºN˵ƒhlÀ_]Ĩ"̆ð^LãXRé}ËÔz$—~<]G^Œhâ׸K*sŇ¿K6ZÛ‹ÁÞ3êÒx?záIqñúËooß°y…kóN%Ø£‘à†˜–ÛPÛ-f@Àú.Á Î7ÓA‰NÊíº[Ñ ŒM7tüÖ½T…`?Tî Í9c—·£ >M§?ë˜mM»’Oû"°Z1-Ní¸ƒL…òÙOÅ4ù˜©¯²ƒ{\±¦£Ç-»à¼6nè‹ òu´×©ýåH‚_½qÒ> $ãæG )–ãaÃ[ýìÅ0„çÞ]UÃI|À®w9V¼±SñÜà„pHG}µ¬$&‡cÐÿý–Âô|kxx*»ÏûÜç)7…>zFÆ%¬bqv|Ô¢á#²žJù”Í#‘'ãjÙ,ê¦ÙPýŸšù®Ì_s•–žôEˆtÿ›† BF¯sS”©êD`þ]§VO3œ2Eý pyHÕXÀ‘Þܱ`€ÔþØþ÷LPãª?L_Êî…—O"c5–JDx÷+¼È|C¥ "_ÏÃ|}€×›c1©ZÏŠÍ‚¡GyÔ3Ånýà;–‘Yó:zÅØ ­^æqDz!¿¹Ë¹´,Ôd,–h&}Ìž0çNѵ^ؼÁ6üêÄžäŒKHÉï$?AªÏ+±{’3Á‚ˈ¦Ðd⮜8€Ú'i¥—YŸ@°+Ÿ¨µ‘ü[½yyøJð FÄ)úhoÝ:|'ÖKðÚÙÐçêEòY ©ç”#ËtVDØÈôöß^9à•Bñf½Qz—/uYPÓ»þߓޤ(ò9¿!4 V÷r 0¡œÞff,¦’÷)¸'…XªaoT7Œ²U!MMÎiKAãÿ'MO—å1ËøZdcQU× Á%ˆl»Ih,XÀÍÚTœ3—ó$Ý«’æ1DïéÛÈê•#33Ï<×ûkÇ×OÎÑû/ ÏÀRÓal¡ä¬>Xâ8?餓Ü.Šm‘Äé¢*¥ ja¯•°”X¢Ÿ–Ö¡an¸°ùÏÇñV÷"ñÌ ™,# &AB\ÕÏî'”ƒ‡fTßñ?ãCX~̯®Ü1;›ãTK½»œºNsBK¦¯$ƒ$8ÅñÞ饹ÛèÒ1.ç6YµÞʺÓtôP=ÂŒ]CÇØÎ±‹†Ü»WÉýÄìR¢xd¹é9h£šz ñ»ä‚‘¨ML•ØöHø,¸µöã)k…[Ë›Š¡":¾©D¬‹ÛÓÐñ‘%ÛöÆÆ¾vU%º¦¿˜×Òåé_Ù¡4¶(¹– 1†Î²Â¤ç¯¦øÃp\ô#Àü´]ÈDÓÅRú°c­pٹצ}¶ö\úÌO©óQçê>e6¶Š”Žf¶XÅÂæ­¸ÂóS¿\$ú5ÞùùqYùßâîú°IḐÇó͉K¨›#O¬ÍIiœ©¦`OéÖ¿‹ÔÂÙˆÜÈ&³G¿™”î,ÂLWd[@5Õõõ®ÀxQê™i?=ïQ‘.’J/cüºcˆŸ3Bæ¦Q¾ ²¶ÁZk¯“K2‚eUÑö¹¸ ‰°gØj[Ù#Òø˜ù"Ìí6ñOÇ2L±åùÔd'Ww²³%ü"Åô”åzÑ—²K†@Gg“5Û ;:rßê¡–TˆJI‘®@%ÞW­±%ØìzI8x|]!fµK”±?fILw [Q]½SàtË ”çæ0_Qt}·ÝÙ ‰û§æÀç#Â:Í6ßدkÛwH§©œK™Eî=‘bc£Hæ®WL#0– <&Ë7¥©;;×r*ô_ă 8½Ó‰‘H—×(d¨Α3ÍJ²À¿õI¶ÇUw¸“§XWÿÈXxûö•øDù±mö`c÷•‹n¼mŸ©u nΉºîÿ·vüaæ¹lñÐ¥ÑÛzž)EZº2PáþÒŸœŸx¬2ûôõ¤¶Rˆk90Ú„pßoÛax õÂõ}önˆ3¥ÿžz„³ <›•Þº·¥k“'ìMí½Ò¬­pÂžÄ =¡shBÜve¬FZAñð=£R+±¥&±fÁæRX–ì,\øyö¼щå“Ö<Èl Lþ›T¨$•ò|Ù‹uÛƒ¶…EeméVmÞæMVUöГ¾+$ÄPÚoÍÄîÉ>›Â ÐDŸ­ØFcÒ¿Cµö)“œM‹ÿ®[˜Ç«@Ðá#ÉIDC¬“ÙÂҌȎy=ÝJ~sŠþ³ÍàÒ/û÷Rgöäm`Wñ¦öÁDJ`Õ½·/* „k˜×s^µ çcÎUPh1ÚSóœ8PDHq2‰’èê$Ëôh%e›!<–B26¢WâL‹ßz$/´yíY3f\R×Þ¹ e×I÷S€tlö®Ä3—nE#ë,T A¸D—ÓF‰ `©Î?#Ì)èïp!B—¸\ÑÖ¤l‘A˜Œ‚°– ‘ØQtµ·”LJŠqÄTvìåâ›ü¸'âµúY»+ŽçñFÁ)¨‚üÿÑõÍM£ Jë4àk—Ç·@vx Ú‘Kßñ"ý†Ð.÷boO‚ýVÃSæ-]ušÑFÃ;ÊYÖ‡Æ y¦¨Ù¦ éÒCÿH+î’ Úµœ:ØíÔ<êäËHé^v²ð ²V4ýß_²të)2ÅÕ]Iê9nmôwc>*²*ƒÈ.Ý>¾g1Q¹ËÙõãýÄŽ3ÞºŒ…µTÓÌ*%® j5J@Ò¡Sˆ°©ÑÙô@0'N}¢’ÒÖJ” aRË—iAÜÌd{Ò/¿CÖn¦Óšú½ÍyÛ…’ÔÂðpí^­ö ž¶ÇeKm“¸cIȉ7—³¥vŽ|ïGÚy°pÝ_°nÙV¡MiTF6þ¶ð*8&f–ɰñfSÛgŒd³ªæ ˜i. þh ™‡4qÕQÊ£­ê(ï&Õï{4m'ÃuC–¶Î³ñª7µà<œQI¤ôò@¾¦C–d2­°ðe³2uwË:3ð [Z³! ÑFR,+ NxYó‘pûÖìÃë¬ÂŒ0!\êâI®ð¨§½sœÕÖ”zé­˜ï,Á¦óÔ",{pX+àh†©`kÿ¦:ôÍË[<pBÛª×à_Eýwõ}~X‰ÐÜ ˜eÃm/Ô¡ÁAÛ Á¯¯} ÿ?k–|nüÖ¢ù[° º§dßÐi!¼o´_ÃpòF\!÷@ùêeå°Òªô}}¼{ú¡%­ß]…E­…\øîç¹+ÇÎ%÷YwF«™j†½¯yÀq2:›†`¬ÉÉtÙÞ ²f6”'ÿýiîêƒÊ>üל”sÊ(ÄàWÕ‰})½(Ð Á‹mSþ!n5̓E”͉þÎzŸÆù0?Ÿ^bò€¸[QZ·§¶ElÊî¡ÄùÕʈÒÜgH#¾f0ô0¦Øã:£@œÚ¾AièŠq9¾ì•ÐÇ™½`$îù Âýwz–¥tÕC`±‘ÝPÍýÅÐý¨¨b± ¨s©ÿýÆÎµZò›‚󼀆æ nnÜÞh'º;ÎRÄšá,ô5Äæü·{+í×rà:ø¨FqH·¨É%«¯+O³ì¸€F†¶./epRU®CúêÊÞÂÞÐP…þ´×Y(FY Ycy<ˆ5yøÍÏ?X‡‘šò¨uˆMØÿèµ~QK×é–*¨RÎÀm·—tyMým +e½!Ýõó¡õ^TV fsüóËàáꊄ[â^÷>O7‡‚iÛK{ ¯ƒŸ ‡EjœT°÷aâMI§|2‘ƒ0`Ô.ðá2²“ß Ó•Û ˆb2HIШë!7ñV€£š9Rï=%Q[ç€Q[E•˜U˜‰xôoõT'á"⽞~Èÿéξñy5ˆÌ*íd5ÆöaÄÈFmþôÛ—ˆCQVÞѦÎ l eZ¿œˆ‚{«ù fÿ/ýàïð¯¾áù‡ʽºyóØè >@÷ð|H QIá‡ÌäâY€BM¿åk^3̺î×µ…EZs¿ýÿ¹•Í9‚DÔÅL¿X`Xסg3 ¦¬òÝ¿2„Ý<Ò^XŒ.RÓ¹')d£©Z?Ã*@‡KïÔ"ëÕh®ÈÃíG)}ñlÔ†)em¿‡”yýZw3årž²´Ì—3øã¶mté³OaM85'†O´=ïçÙ‰ïVÐEÃÞ¼T*Ö±d*Óá»p¯pĈ_tDŒì<ÿLz9oþÿ_¾}Eñt•VSÖãL¤Ý¶W¡«·{hï¦äùkû:©¬^—ÿk_•_]‹†\qYU/Ôñb4L‚|°z¤yÜl‚JŠ7¼¸O$Ŧ­³ÜŸ¬ÏËU çjûðÏÂT²7cWæáj2²¼gd¤\ú–5LºÅj3x$6|bä6f‹3§$8–½·5ù0üÜ«@§#¹Ó‚ì_ióJšBç7¢ ‚ÁtûIï:á½»¥Þ¾ÌžFiÖ$¡Ò{²Êª3<ë;=Ïøfm¢ÿJTˆ^3ëµ ®òBBCÚ-ÂH…† )¦è?äJÐ û”œÜ5?ú7 ’j¶a‚5vvi«Ü†&ÓN¯ÕêÑ È8¥£qž·xŸ~Ô4Šh€†=º šaHðèú5ª@áé£*|<Ÿ ¢–þã…ÖÊ389TÖ×Ê›¹4„mˆNbÄû›ïRŒŽ7›*£s]ùÿ<?ÇoÞî!Þ¢gÌlâôqS¨“j8K0@iPCR+½Ç·Ê=“;pÌää¶]RG‡bßÃ䟄ÿçrä2,Úü¥ÿ0¼B£¦åžGö6~‡HÍÊ@úŸSÁ¦¢Pi/Ìø½ \µ<о3ÎØCÀ³LÔ56£_øÔ‡œv$ºi¥!È"Rªë×MUÙb™`¤¬'ˆ¯²u•”/ > £ÜÜ/¢è@`¦kÑÜìÂ5gåjcBò8å¶AKŒ¯+î”Ü(?¼¹ï4³Q> ‘¹|ü\wñ]t „C Ç³Oëa5‘F€ŠÌ`»ZëD 3e,Œ¯Ž%Q¶0H•£ eà£5#ŒÚÖ<ø3úÞ¸B– Ç>Z2_’üîdÏéN¹áÙï"o„ÚËw¾åJÜa!ÝâC$>Êž ƒØãr¥æ*|iÉ”­¸ÂLísà–×Fe_“P8½]zÝïÇÀëÁŸ_÷ùBQ¥Y²én&ثȬ^.˜ÕÚùO/ÉÕ»›kÚ^ÿ#ákMcƒƒ÷ñ#„õæçÖKâ<¢:pâ:Òë÷ìäOI¨›;’Ó¾œí[XÖE£üž;gr –jjs¯„©eëši|ù:åÒ ŽqJ_]ªSB÷ñtNÆ—/Êèv\³×æ)_X_7S»J|ÒŒ‰T©Åç$ト..MГêÏ}}z‰'눃š¥H«ò ¹Ÿiwçgh(/ ¯4Ôvc sNý}þBTÃê ­@˜RK~˜ X°«C’‡üd8&ÃÇ2s×gÝþ®påŽí“Þµâ_ÆŒÆli£c âµ§)ÕZñ–ó ±´_.‰‡‹¯*i×0v•™UÉOØ‹=åà³­ LÔ"ÿcÕ†­Àsçú7òÛÁß)gêiñ¼ˆA²@ï«áKJ ¼â>MÚ÷þÖ›…#:ߣ\DÒ ÎDû5{ؽ©4ùqzÛ¤CÜ]›r=çz©¢?íäÀìÙÙI}:ðÏPðÿôÖŸrxêsFà2~^‰\-»/À? 2Šs³w™hª¼7qÉÞD kµ{Ã’{%ˆ«f D:*ØÞ~ðvâ[RÝ onu€3Oè3q¥2÷dô¦+t½ƒ±Ýªûs9­c«×2³k4Î÷›¿[±Êµí¡¨Ó fÓßß1’£áœV‹‹ Öq¥—²ùÔž?`…‘*Q³î£Tçű)@Ë:ó¶·iÄb ÛLôTÂ+î;„z!*­³YVËèÄŠB'ýB„»×>­ŒÊ©roëµ^N¦?vCÚ§™µëêÒÿÔ|¹oO{©~eêÏj!S7”©ü=nWbÆÔ«Vþí£aÌ Æ‡¤[Ê#ÊÞ¡#ûW9gg3¤ö•Œ·ß±1OvÁq«&¾ …Z>ø‘H׿èÓµƒÔ ÀdŒ0ßÃ'aÔqpC}ŽWbF•ÉT-ÔÇX9USUŽ©‰¹˜ÛPÁÖÚf“'1pä· ª§žzö~Hð?ßÊ®×AAÆ¥m®ü ä;eib‚T‡÷¶ïF8s²+GkwP7JOºdÊ ònÌDgÜϺ}êWgì&äø{ 3 Ò·&ÞBÔ ©F$ß>vJwN­ëk\¿úÞ^¼•®ÀÆ&€ ]ƒk–æ×øé/‘h4ÜYzëè=LÙ3qtƺ$XùPÎÈ^™PŒÂÙ•‹Wî²Õÿ~Æ·M½ ©Ø ·GeRdVB˜2L·ø«™WU»êkÚ$ðž±$ìívšD5¤yad:`h÷9þ>cè›S%ú|“bÆ~wñ ½HÝ;ƒ°tÙhNæiÜ8ò?4Q£ïüªtN1¸ ‰ÔÀ‰¦¸7g5 ½?ÒgM¬[÷ø˜ÝÂtøÎf9ÈÌ #u+9Gew²n&Ñ \»ÃëNFtl¥*£MàŸ‰ œT pUîITòX9ðÓE]Vxakk¤Á‘µ9Ú³¥Òz}‹¼ÿj—»³Û­¢ø)Žðýþ ŽYo"à ²wK Ï<ž(uä>Þ³#,þwd6èy«ßÚ䣆8S2¦WѸöŠ{Z6Â,oW”ZË|OR¬‘“ÿ"{o)ÔñV2Xáâ3õ"[µ½æzBœ_bÿ{*}Jw;)M2xÑOÞ-:ƒ#sÞqñì·:9¾ÌÓ,„ÁUX¥µÊ‰D*1¼,¼bŸ÷Qh_ƒƒÝC ÈðR›«Zý³lRŒnmDàþ÷Ç1uc{_5N.+ù^›Võàq7ÑeÁ,äjµ}2 ÙLãgˆœâUNá[´ïlš¼ºˆÒ0òNžõ÷M¶CÞê“#þìTpksÃwQ •a ÄBà ¶SûŽ,ÁâÇ2ĽCË ªpI‚@.-~›,ãì|O€cR0"»5'?}æ­±U£Ê9~‰÷=+™ž7–±Öqʺ/a2mÁø™H¸³—˜{èæ@Wã‘ÎËš»èÚ[ ±§‰miö°Âb{´½#áîšÅµW—¡âîÉh#$¾ ‡*ië õÆÔ#)TDP¬mjÀ½«y«­È0Nýµ V©Ã«‡(Òù¢0e§tPuÑ£2zɪªÚnïïÄeÂÅY§£Ã>ÕB]uòU(FGX: C…C,"˜_|Èh<Õ.ð£ ç¹1‘¿˜Ž;ˆ$10qDZuÒS0ä_ÔóÔu·˜Ãý_˜w^ìQŽKÓÏå9¾­ˆ  Ûfúa”ˆË5#¦e[ªJàWË¥ÀÙð*&>>Õ'…]°4º(ñ >Ÿ8¶ÕœÏ§ðfU¦7Å ”2jÝ1 [•ZÎå±ÐÎï°B°; O‡&¢Â¼¹àu—¡–;Ô7‚Ô™QúqDWsLhØ"ùÅX¨és‚=‰P¾ä¶1˜ÐÞ ¾Ú©úúÞ-¼èhï×ì WEIŸ·ÝO{àå`6õP]FÅ·ZbY·à“ëCÃÚTèÃg`=¶¾%¸M çÃúÇ'ذ‰"Óàè`¯w‚ÝÛÏ[nùzïBÊF |ñ´nP“ÝÈ)ýRBŒ÷û™[ž']«òßNí®sÙº  ;]c`.Ö^}…µJùöijé¨'\oCvNññÂ?¹µmié÷O8gEÑ’í0j«ÿëݸ­”ô Æ%æõ¯L Ô¸¨âdªgªø=Œ_Ä>Ò¹¹Í<;JšÓ®(Žw*‚WW Ö^ U}^XvOO”tfw)¢ÁŽº~2úÅ©Gd8î:LÝוùç¹Xú²»Bòñ‘)V;;6ñʧPUA_ç"Ã2‡+;­v0š³¯T˜ù`æ 0²>ÐwïþDT¼2aa2Sv€ØýáùÙ’l tAÉÍ B™ &©ô.Úâݨ˜£ˆl„õ(iëSMh8ʵË:–·awOC“ÓK0èÕpôÉëöëÛQ{ç†,CHê6ƒˆD3-ωŽ1ùºñG00‹ßß5súô¬Œ¶Â¥åçKŠÆ Ç}—S]©vM;V5 4³,kͽìÁâ«õ*â ó:6ó?='^”·u.u#´?ω½àë’§ýÀ~Æ~qÓÙ+ïVJ¥!+o²¶ ¾nÐ SÛÀ"·NDðôŸ8´²»;…3ˆt°´˜.ô%ÚÂÌpP•5ïÝ¡Ï×´þ†b"†R  üÛ‹¼r=¦eVdûƒ[ß¹‘ò൅ÝBå¶—éôwnâmޤ1†¯ö&+j³ÄlÕ‹° °¶ãD÷iê/ ç¯/\søIë”Álõ@VGº××C[¢2exþˆ Y‰&© \뉂U§sвG¬ÆÜÇcÇ¿~Ìpí6à’ûQ’…R·ËxG:ƺ¢ö´Èƒ´ØþP¼JID£D3JjåÚY7D#z„xÀMXG’‡ÃéLv®ŒµîW²¶ÖÎ|¸=¹ÚNÈ#DU#ÉüjF} › 2Õ~öÚç#ÀHÊ5Õë´“cGâMf`<á7͇è'å¿‹.¡äã–,]*¥ÔZBáqâ?Oo3Œ Pª/–2]µv)ôc–ƒ ôG̨Gtóž–]ò#p{qpn qeg^6Iˆ0GÚÙ€ØOùϳÁm·9‰ M›(J\:64¥ A=ô‚w¸]ùÿuž<4SÉS=ørò®¦S¥Éb÷ý¹q±HN4™‘±‚Z«7t~ǵb]fN‡þC50‘r•)( dzJ bò¡Ûõoøº;öØÙ½…‡xjëÍ/'(f,VFq L¢÷L…Žë¨×/ê’Z¾ÜCQÆ•p^ XŸ ¾¿7'…-Ÿ‰¯ï"V&Å\íØíñ7D-ßÔ%‚ g×!u Û9±‰ŽÁ¯~Ó:é=>( …Põ\ñípÀ÷½BXT8ë»)·ïßtŸöŸîZG˜”„^)´n$¿Dc`h¦Âÿh¬¶yÎVôW ¬j6*xzhöÊ4}ÄY<#­näöB}1ƒÄ±‡…QêËœôUÏÝ<É»¯c3q®àPu¡ªœ)(]yž¨-q -93ÿ«ÿ2†ÈZ—öýrÖVùc XØYˆ±Ÿ ˆÅxuñË彚µÄª43 /Ð,É~\­d ÆœÚ`¨[M\èñêºëƒÄš {ÓÞŒ×w|âÏBLô)ýBrNj¢Ûü¸=Ž1q§ÿhPP2‡iQÅ }$ºæ³ß‘MÒ!aÕ7y2Ý(mb@59-òf¦+3Ž—x±_"–}â¹ää5zý*éƒÐV9z.6&`E¹ò~¨°foà;Hém4$Hª\ç -©°Qàgÿâ_ò+¼¤O0` pqäd„fsqå3Ý[$Úpõ¡Eç‡Ì.­/e(½W••zæÍK55>³Q ¹ßX}à 2ÿ°ø´¦"“¬ïqJžÉ@× ›‚uSSɇÁ?–™ÂÔUNM¥Ù Qùf±¦‰Hsƒ®idŽ XbÖ±üjÉ,}&h1e9·Ÿx!=> •}¿ž-A¦s'ö¯í ¡2_Ûi„mv«óÇ›í†ß J:R„ð ­m¸,…Zëë†\C3¬>–EÛåáN®™D¡~‹ø¨Ey˜V‘óXb}bXÙWMÄÈ—8†bDJÛ M¾¹ÿ’‰„Nàâßf©´©áɔѸ/—=¡˜¢ÔÍhD« pM¦Ð¢é¿ƒ_Ä]g4šþ‡¨®¨&M$çï¾£YÄçáÉ&H£&(Q«{óõ«Ÿ;Ë%m`ÿ¢9š@¸šfyùÀ#–[¤KL6þè§%ñTÕCÒ/ÑÍîf(hV+[º 7â1ÝÏŽk¦0å4NàDÜ<÷ŒÐÿéã|ÀŸ®_2â”)~ÕN84îiZú`àðZäìµãH.ئÝp)ëmí{Å*Î!ËœÐôã«V™†ÛÑI§ÆÍ¢¯9 !bNGÐݳMuÞŠ‘^“޲YLÏÞ>Jý;\'zI@Úç_§ ×&äv\â„,ÖqY‘L4éÁðÒÅ9£Íh# )5‚NÝÀóv€ˆõÖUx€~nnwÉLœÎ™gɘÖ|Ü ³qåStè²1·ˆŽ(¹ 2dÔéíò -}};$ÆËŠ5Žô”Ðöµ÷vjgÁï9ÌÌ€Bh7~Ó!8~ï1¢‰âaц‚Üsg%HfLíåÂ0§5Å£,ÜX¾`ßÒÖ*××ôM-ò‹x:ëÐe Áíå‹¥©M¾¥íˆªØæ,«hÊøÿ¢½‰å‘b5/ÀòÝj³~ÀI« ¬š½6à-TEösUG˜ 4Í(:™¯â‰`ú Uá$ȵŤSÿ¬Hv5’l”¯™{_f ¥>iÍn©PâÝ’è ²Uù¼{çòÜåN|³ÅŠaN›Pš!Pr)ÙÆ)»Ý{·~ÂFR*ʲÒ?# =à©=Úå<¨ ¬iŒRÑÓ$Љ€”Àbåÿy¢)z /{>þ‰å$è¢Å ˜=©þZ³„¬禗‹ÉŒoñ@óxǽmçŒ8æa˜3“Øä±òÏíM¯Íö3¾P¿P‰@=|oÕb*g¾'­ù2šJGÅ÷É餄G‘ϱÌNÙddÒû/ß’6Ž.,èg±Ïå)B`–‰‡åƘ¯;¹—6û9 C©ZôåŸô ôÒ»òœVËX‚7]Ö¦„Ô½ÉëzgœÚ™›ØöHx~Æ4¢³°/8B‡¦ZðQá·¬aÃÒw›ÛgŠ µ­Æ Ë S<í9ëÐèbèO$”×’^øuâ´n;›…w:Ž-R‚î‚8#Ž4‘h#J˜AűÂf¯×N:®èî Åž­ Åï8©8’.9ý ³’­ú5|äèêwOú̪ɒ.Óaq㔩°“™îWço,ñît_Cuñ±ûæÖâb¬0C7þÚGÑÛ/kt„?ÚõZm9jÞãé|^ Øb¢Â9rú4~¥Êíß}¡ÏãËÄ“ôŸ÷ª?>E+ñ¾[z ¡!º,ârâî¹yºªï@}ż“–AåÅŸ²y–9™O›µ[~Åè_à¢R¨š±~^öé†& ½¡†Ê¥[áF¤Ó3Ê1$ˆaÓ³“•ƒ¯Œ)yµ=pÕ@¶PW9€……[Øã’Læý\3^`t¶Æ©éï,ïaƒ³á‡ÌïKE¢240x:ÙÈ=Z‹ L¸z%Ojéˆý7¥L7ÓOÕJ¬ô-°ÕPN‰wé¡LäuoÓÐI)“7pé¼è’5÷õ EqÛ(GO$kí‚êpM  yfþpbêÏ+H`Ÿu˜¾)#üÖHüæ•vËD êî!IgbÍJ¨N|_.Ý‹ ÝkeÅ’ØÓ2Þ]7xkýÖ´ )Óf­ù|>±@ø3D8„ÃÏ2!'£}`ÃlK[m¡f%<ú]ïcWÿ²"ã•.U=†5ÍPd ÍÖò™| ý®%[¿Š¿$ŒÔö@µû[ )Ì~BkûíÍZá £T•_]šŒŽ@²½q bTkL¿¼®zbÄÃw¬o=Ï£æ9ÎÙØN™?€ÖZ/ppW­„Ün·ÇA@nËõYl-#‰š­‡{:Ц²Õõµ†Û—†´âíò\²+xELªi+ Çù:¸®«Ü5»ŸËµ<&ô;„ÅXÃÆÿQ¼±k©¾€~Œ»’|AÁ™x&v´1ÑþC<±ŒoyRå@ÌׯÝQ„Ðì‡ø+é  F‘‡¬Úöù—¯5ÄðŽ¿½u0¹AwYËãòDÄdhÛÊ2JP{<@ò@“éîz 踫fÙ6Î3Ý×ù ‘Áùà ’ðÆb‡Ï“q)ýº¤ìÞAóÐû»¢ÚŠ£r]´U‘v<<Ê÷öŠ¥åÐéön/­|M2ðn¥Ù¡¼åÔÜÈŽ3ä„?N‚ó©g²}È·„ùÙ¡­ íS5]쯢l÷’´º e5vxÑßÙô® Ñöx BU±óƒ¨Óm¼®O"¨¤—¿PâØ+iÌÔ ˆLþv¢®[¨OÞ3ÿ 6®áp™¨sL@¹¾ƒÍ»ÒÚozΘҥê¥Rƒ s’«þñ3V°oì¾…ß ×`}Ùjf»iåì oüÑcXÐá^ ä]‚h´ùwjÖÈËñú.,%à´ÌAÉ9Ú’Q¾ ÓÒ¿ Ñæ¸F{]ù¹¤"€ö Øáh§ð„¡íÝ‚ ÃÌ5KJ 'z¬U/:†þUï·m1ÆËÜýåš=£ÜËéIðp8¨î扱±ª6vº²ÑÎíRRÒõ‰”Û÷Ó,Nçã¶ÆFKBì¦yAÇ›§o|@XŸg‡B  »nøHÏ›åâúkâq ¤Ž;1Jtä䯹£à2ÊÀCì°ÜŒùVâwð¶kH.¦ôiÙÚѺþ4‘¾Nº¿ç‹ á>6Ä„™[ýü:4§Âžê‘ײ„Œ_¨BœÉ”;ð´›‘Ó”®rR €š”ö¤¤áùo·?§ë7¯Ò³TöÔà§(M2å‡OîCø?Å>P›»^±Y"RÎêî¹ëŠ(ú[—˜ÜõŽ ÜøË‹*pГ@çqÆÊ_†á†æ* ÏA²ïŠ£•DÒ9Ž2ð ³W0–ÆxwÞH0y HõÏ:Uåc¼#à2‘)l`ß«TÓ÷ß:<]: ’«û{óqÚ 9áAÃ&H˜ç(V<1ªºå™›§>üg\ä2¹ Û®”¯$•°S¨)é0r\·8Y_Ô5 ˆÎ0$-~—Y(kU-Ón/ŒJ¼È…2't쨼Ó£Z"ÐÀÉEðÚ ?‚Ä©wi±ip6Ñ«yŇ›ÁœHb/RÅkÕê|”Ë3ÍrB!®PuH†hÆ Ð.g)ÖPh¡áÜ…Ml¿Yáæ¦ \žWïC³= Sˆ“*×Fs8îè©ëx ﻚÀé‡?:¨ÁxÊ5¨ñ!­½0ßó£BÃc„-¦Ä<ç›É¥X8Øð <‚“ÇÞá\É<ÓØ+ƒL¯ÈaÚ{œ¢A”ž5dåý$âtYv^bóÃûˆSˆäÌ*ΞI¤™‚XP}¥…rBlØ+gõá3lüÁ¯¾4âÓdl®ŽyËñâã Œw¼/Q\+… w°ËŠÊ˲Ë3×W½ç+¦Ål®©“½ Œä÷}Š©p]"oÜ·ÂwK\á_¦fÔä ÏPD34u–M¬`ŸCA¾ÚGF\&Ùs1¶è«(éäÞŠ’5Sž9Ðñêk·÷aBybꦊ "û>õ–#ö)ü¡‹é”lÿ´í\äž9BýmóÙÇ}ôïï»~‘y’wí•I]h‰ÑßÿAô 8Ùl8q-zðÞˆîä¦Ýð+éŸQñÕÚ”{ÅI»›²È®R»(—K•£Yîü[€Wû„x3WJî½µŸa(’`×?Š·¹QÛî\¥L;"obç’*õ£2Žh !?ã/8®+g¨0?X™7à¡Ãm±ÉWò#e!ÜkýïΪŠ¥fì¿Nõ„b˜&ȨiF!·nù2‡¥_îw,V Ë<½8‡IÀÐð=K­y³õ ç~Ä þ3B»£gÓöxe!Ÿx†øHÏ!sÃß™®GéÖ?BÊ„ÌýŠ6–9'-5Ä3z ÂOÀ Úª¤Åm¼ÌÒ§<äY ñš©Ì¬Ë²ú~X­°©ï@ù>çØ†„ÍÎÿ^üªc«: wÕó舡×aÂïÊÂù¢#ùÚ<`k[,1è7zL\€)H„§Ú.sØ{Sœÿ*ºxõÙØÑ ééýߌl[M‡?MO5@eUÈØë2q·,â­C&)½› 7j×L¾KëF½†wk„‘µs•·íxŽ£’£¥ÝPã¤ý[…Úëiräžyh̵™­‰ ˜ÏøŒžªC@lü÷ŠÈ ‰4vAäNÂgq¿*¸=‹ö ˜ÒÍáT[Ù÷ƒ]Ñ=ž‚lã&šw©:±‰êÛ…®Ìj1A@4ƒ¶c2“D0Z ðËÀÑÄû"Šù—e ÙŸÎÜ%Ižy¬ ”ÿŽ}vÞæ¥Xö盆í0ŸÞgTB%mÖ5É«MËizRË2¾AXÅ¢÷¥ÿëíÿ‚ ¸-¹–³Ûu.žÈy1 t»}n"þ§ö;vT‚)Ý¥{™~)±àÜŒ"zYÿüëü KÎá]eüfà16¬Äa~˜q%uOÒL­[Å•žâ†ŸœV\Ã@n½6d«¾W]›FTaŒcZÏe»žQT•½üpt áȶ‘–dS‡kŸé—GßÉ›¾(Ðí\wç˜U#Ú——ÿÝ”×öm!|ô;wíj¨$/*—z¸€? ¶ê=¼é:6Í”b2‡{vXÜ| ²ž²?æh.ÿë‰P‘¢èÜxÂÎ-ŽV¯nÆ…knR(¨.ØÁj:FѨJŽ "U‹”›j§룻{¥üíÚÊÊ­êÞD†RÄL.«àÊWŸÔç„÷L…µ?%ÿÀ†Ù!ÖÇÓB–cyÛufÛŒÔù¤†ðǸTóïÓæ‹lû„´èÒk€ð31Ï€¶y<×9›‘n×ÁÞô»úkûG’XïÅlÖìœÇõ[+(麡B|ÿ5 ¬Ô¨€#Â¿ÅØ-Ü—æ€×3ŸüZÍzj¨‹Ž¹Ø®U¡=†Ja•³;0né6®-Ñl4Dj¾ïÿÕsx¡þŒžDñyØ*“Α–ðyi†Ýñi{ŽlÁk×{?-å<1©(ô‚ÁÐ(½èè]-’ wפ[nLqŸ[:¼‹èà!*› æà÷èÜ3§CHV´côQ7%ˆ¼ iOu#@lN;‰Þ©'âÂÿ!ÌVÅ2[¨ñä¦/èÓñ\1d:¯Sú3ý‘{‘WA }ÛòÎ ¦ ¼Ä b ÝC«­\ |3(NISž¤÷ä“,·ò›V+{YŠéRÆ2}Åõd²úƒ¶Û£q‚rÇîëôÈ5fžÍ݉úWA¦ø¿J}+Ù[€dÐ>yäâé_´y§'r% ”<.ºawã¬Üò7s¥ÏÒ½­{j‡ÁÔ_N.bÙn‹³QwܨS§T«Ã(òlÅiaÛ]˜e¥¹lÇŸOAÍÈ­‹2Þ‹ÍhßæÆŠüü\ÁÉñtÛÅf±ï¼J|5oÅ}¦Z„ðzÀáÔ6Ó sÉ¿}•rjÛ“ÌìSÀas5E¤8² ~I)îJûQ š|{ e<ÐbU3¦ý!ÝEŽo®?ì¥ÏJêðûšµ¦%:N¿qI ü©2ªG„HxÛ'.e3Õ›¼Íj²Íå Ü[_üÐ|9W––*V•¯xaô‹,$®¹-…¡ %€6¹Ÿ“ÊHg¹ìÀ|Áj²8OÔ äVMØ6™ü—¸ `DHÃù_+u­ûávo‹+öê=r•ÝG#桾t[F0àüLß_™?À™ C1øÂœÉÕÔníáÇã–ŠÑÏÛý6"± ´Þ\}KÅ™˜}©{à©{jvp’‰ŠœêÏ®¾à†G°…Ìð.ÂñÆv”JLôJ`6´ŽâÖòO'b#zÚ‰ÛæU6s½ÿƒ:})§?i6¯½ðË@9ÖaQxÈ ]ô°'gK¤ùÆÿ‘šk4“|øÇˆd¯Ýåv2*ëô¬"çh$ Ì4ôüÖk7Ù++ML!t8ƬÎXÎÛT¬Ïž®¶~uÞ!4#oÒKI8»€•óG„ì:›¾(Dy)<(ï(ô+±ù<=º“ ¹:=¿³×͵ÐÙ/1 k[Ñ!5#œdåëƒØxÌd#8J¿LQˆõå%]‡Ä±´œý‡šÓm`žî$}}–³’Zi‚·„ëz.¼×³é,cË ³Õ"r­nÝ‹W[8-÷¥=DöBBuMíú+M'(¾#ƒ}"ô© †Ãšþ©€ù·æ~¶„¹9N.W¿'Q¥]ÈÇo'%D¹úXß8ÆÊ‡RÄF–ž3°VU¡›mWº(G±H²ð*ft½ÞxABÄo•ú!ÇŒGé ',¨s÷k°¦fU é£gÓ"þ墲°+¾UçAS¯é†t`öÌnñŠÙsŠ‘m9®ÝñKjL&Œ5ôˆ©+ö̾ɨתL–ë¢ã#Ÿ0V¤ýÀ„‘Ît•úEÌ<š÷ÜæG1*(™Iχù^3’{\j^óŒÀʈBöØ´M³¦‰¹þ]¤ ‹CЗaZG!"fñÆ™W›RÁ»'¶êÛFôü¬Ï®‡p"&;I|»q©ð…=’äæ 4B†„ΦåÐ ô‡'iYnpž•üâÛ£¯xÉ3ãåe÷–Þýâô{v#ð^P@e*LúzäÛea­>ÑN³÷|˜Š>ßg>µÜ¸4Ôç¹Íªƒ#I¶Ò;…ØM÷vŸX:¯ âÇÐ'1"'·È1õƒ&Šhiû%çAnh€jý æ2›ÇµÁT÷ cÞzyÁÃ(¾È"œvÜMZ›ahæ×ÒhÊžWÈ>rï; Õϸ$ hÒ¥É(S•¦Wá-WeZW|_ÑùaÝ)h™Öœ­¶òèt€¬H‘ÜըJðÙª¤ ¢tÄ{¨èK1ä0ÙroÑ ÈÏ<œœÉ6Üÿbоq¤`RcAdLÓ‹Vÿ°ÄBöîª Êó!RŽU GùÑ`†ùR˜ÆB G °Î²Ûå 93} iÉ ÔM¸˜7NAYr´ù ÞÜ­ál²Øz©i2¢ðR¦TϪ†ÄŒe•‰n¡¢ðHôgú˦®5‘Ô@k†+E˜ú™3 @9-ð•× ùʇxT’ø¡¬©o¡c÷G&‚¡I’þâÄ”uÕYV¼"ºëOƇ õÎnÌå-5 àvÌô撵Ҋض‘s‡Rð\Aœªèg!æð(X}Ó³}w÷8`Ñøh|.×°×ó(°qºuèqñCÞ¨Zóë'_%j;J#L™·Sœø}v¹›@xíœqP™‹nÓeMÖ” Ÿ˜½Z ;‘ú‡Å†Ä5š”Z˜—ê-~Ï;‚Ï”®ª’âÞ‡yUd5êLe³èv¤ÍLžZà ?Mo–•»™i¢Îþ›f‘R3Ä´íóàéä§õ€ûÛïo² t›µÄ®Æl¬L÷­7"?Þ¤ÃV3å*3ÍÃ+l Æªæ­tŠÂÒŠ}à>ê b¤²S&/:F ªX$t&§¦±í³r{ø»F°~@%ÜjònY?w›S”¢è–_™æ¾ …mdŠ™•9eX›JðÂ3»6¹G'°}©cd’Qþ:»®.ùN“òЭ³¼ÆõµË;°Œ/¤ùc¿¾«Üt˜%«.˜›/TYi`ø§>ç† à$ƒ•NçíwÐ3û² æˆ%ÇÑ“WÌ|ö|öƒ•ÕTSÐn]·¤³¢g(Ũgø‚²rÉUÖQn',ÌÄ6‘ Jjjæ£xÂäð)´i5æ1LaLÈx­â!V¶ÇÂÈFjˆ1—å¾`¸zxß\wïáǦSÏÀ-—×8d²Y•@ü¦uµÏHh¾4ßê¼9§)RK·Ñe³\ ^£×ªŽ ê"ä£\&³#È}”'»Yr ÿ¬®5Âê¿ÞuVˆ¡µ¤M Tó¼M$Iµ1 ms¶Îd_ñVŸf™¾œ†¬éÊ3ík<ÒFðbÞnе°h®ÑåBæ¨â&Jù!¯Xèì‘–Þ61Ù­`€Pw…DS•'Ñ&™^±>ÅRÃ\ßd]9dEdáÌ­ :^Ñ´ð’kB³w%K7Ýÿ}d¾ :ÃJ_(ä,—RJð”Û’©%ê4`‡¦ ×*š}óz“,TóÌQîòQ½ÆERñ ýZ%úƒã~î|øWÙ@.ŠJ¡òèi:èEaKäÂË $ ’FÖÀ…Ž[È>2U/ÏÆŠå@yÎwËfABˆ†)XÀ"ê¥~=ѳ£"'ð}ó!uªÕû_Òyvuþ¼wø ¬wAœ?@õ&±ê1|Xë„Õhðbæ”™Þ¿(ϸja¶çÚ´R (ÒF–Î^âÉ?›=Ìzƒ ^O=äæMqeÃʃ2«§“QLáÓZ½fÂ<;äŽIžsÖ”ídùQ a/1⎗o¦‡pŒÄ[`Õ°cKï-]8`ɘŽr±ÿU·þ’½¢µÈ ¬‡k¤òßÝ :<\ǰӹ'9ØucŒ=08ã€Iu:”)³áªÏÓ*UWXÔN²;€E#EáÐÞœñ¿s3+ÚuN2蘤Éé<ýeå?-ŽV‡È,ÄáîÛOÔ8ËÞÏÅÈ!¦+xòà æ’[D‘Y.\E!~Fº«°H¢ÝÕ&HÖ׊(}k^({û¢LZ̨P´2ί˜„ú}•Ç(ˆ;q<èQSù!‰)U}’ÍÖ Ñ¾4ñÁà/ÛMT )åUp¢šßü×ÇUSôÜŽÙh’>ð~ëÊà ±fo#òá"&ýÉ‹f¾G‹2˜ »&6|¾U/mýÌû)ÃD™ÖM†Éq'ÂÓ”¼ƒ)Jþ¤’t¬Fû5 Œ5"ä(> ÎŽLÄ\ó=É„^µ^£€O=šQ3ÕZðûth_XF$æƒw¾„Û'sR¨S¡:SÓò5e´Ÿ! xú¡  ÷@§­‡«WÇ&vn^5Ú†Êy‚¾›šæÿ‰UøpÌPý|¤8~€g<ý ¯ªžŸ‹™hµ’Ìq.Ñ2…§™`ªÃìäž´àÀ ,H‚-pfFK6¶åFN“ùqV¡]dë鋘›ëÊôÀìYÓ &"7•¥ñÏ,;J“Mb~;‰Sœ½¨µ1÷MgáÔÑå±$/ÄçT'¤uF­c7pô á1º.buäÙœ½*¹–°À@ãG7:X>s·L«à%ˆüÿ½ƒàõnãs%ø¶ÌZ¦½eE Û«ƒ| A63ßU»@V,‚û^ É8ÈÛ^!=aØ9@¸ÊJý¼ÅŠüb›F\k”yLÅ÷îˆû}6/0»ÊæõhžŠ„ÛŠê¼-šÃ5)âämõá¥=<õ€æ€öV4O›(Êæãè*jøÜ´âl§ém"ÿ?M»B¾/(|–Á.©Öa뉻¦\À£Ý‘ò†Zf°ƒ0F\‘‡ÀgéŸ9'ÀªB[åù*³‰&Îo”ƒÚÖž=øLY,©^Aqá³WùŽš¼À~Síì#YØdqïð'Ú·¦]·ß¨ôLWj|ìr² «_-¯Dy(ëf€\Œ´´ô8’qMXvÆÝHº•¸'œ"lB’UêÈÔkÏÖ+¯%KŒ˜(¡îDìÇ7 lïÉaNÒÞU~Þ/1ü_ç'0oß·Hµ%¿¦%.iW¼b— dúŠƒO“s„Q ¥6Öùœº¶+f}-¦/6©ÁÀE¢JÌ€c»šR¥<Ôþ̦ÜPrÊZ¡zÒ­$5 ÕNmšœ×½&.ñ˪ÙãPQÜWÜû퟿ù½Wõ ̲t€¿øñ|ªS_0Jg,uð)õ`Phý|·Öc»ý ³%Rç9aÁÂ+î‹TœQö¿è¯éδAƒÉwÁBçƒ-”§ˆænÁ[I ƒ‰½X|< ê{Ù‘ËW±s‰o"G —¥Kä‹hº`O…)†§qóñµ¬$¨ÙöÐ| ’Žº‚Ì ‚f^Õ,’XßÈw%i£XZÄ7\Qz-ó¢²í½ó-ir`Ï·çªØ¼„É!‚Ê`?G}¼ìt;ßÔ4AÈóŠ89&gÛþ¹8„8¢9³Çýˆ’©HÒoªžÔ(°œw>z&‡×t¶Œµ­õ:ZÒõ¤¬£KÙ82:æf¤Îr&×` ,, iºmfíl:A¿f>%*¿ˆâ½ŠëúêC¸È‘½>ù‡†§GJÏÄŒ¶+hvf¨§Æ,8µŒ}õI)µp7ˆÑ“©'Ö­-`¶#ô=WW’eH””<”Í~51— Ë‚?ì¸ÃÉD÷'âÞ¥bz‡âaæ bԚĀG :à%¹Ñù“éUÊh"DÎËï¾9áÛ>;B ;‘Œ¡uv¯Þ¥JiH/¾-މ{4Ê fñš6ó0 Z-’Š÷v<'‚?Þ6­åºûµoÿá;ÆéÊÞØDä¸Á|réÙMD·ÙÅ hå©É6"Ìög³µrÆ…ÜaB3Ìëƒ\2žÍÛ5©+³hñ°êÊ  „2 ³±e»[bvÞ«ïôF”¡ñwŒKfúGbÂêWãdïù€ Ìn!…IìÁÑyÁn"ñä>³{%bsê¹ñ?ÿÇü”õ Õ;AáEK-FÇ]™0Dãü{ï§o0 ã„ÔE Ÿ£ Óäõqβ{ÊIrÄ£[`3t\ňCÕ”ß@I˜ž Ðè Öð¿ÌBG*Éœ~ÍÌ4R±çJOþnZ 1Þ bF¨xÏÞõõ‰í%r'À†÷·E¿âäÃÓ‚B„ª¤5ú›‡H6·ÍÚÌ8Þ˜|n‹ZYãä–€8K3´WëÌŽN¼‹h HŸýk Åí\9Ɖ À§~¤R¦YM¥½YP[ýZïmn--\Ï2£µn’%<ÎÔP£ò§Ä`Õhm  48íÍ+ g¹ðG SÂéÆŽ­bΪ¯ˆ‹ü8ú° °wÐ}ª}õ;T •é§{–lí#†o@öÚF(zEܺ& û 96WòÚ”¾ïDÄ J‚±s㘢}Ê( žPPlP?Ÿ-ûø;3OÄ’¾2«²f‰œ%²6 …¶á-KÊFœç›$¼Dš¼à`µÌ©L™,õÁÔ›hÓ<ìë¡,–~ÌJ´«XF—¯L‰ô눇m{¨Zõ…OhþŠ/…ËÑØ|õAUc^Ü3³eywÆ'#Æ$°úST§‚@Øt p{(µAP鑽-'2®GW> QB¤>™\XðöÐ*ºÐkÎåª¡Š©W‚×ÙÜ@q©„M±ÀÅ Rõ‡a RL÷¬÷fDÑ'ä‰âMRŵ<Œü^KPÔÅ1;í·&ÿµF¬S~ÿr(õcTÅ:á<ˆB†fr“Ó¤ª¨Y­cÈáwHþŽ„iÒÖêᢃ£kdÎ>¬ÆD4Ì—´Ó+]“£°Ýá.;":¨¥^‰æ…2Cï‚;x^'_$ã?Ðýö¥˜ŒÜ/n_­ûYÇII-lé«ãô[îÆDê§6™t ì¨@DI>j2ͨÇ.}g—±vIyŸvRX <áÊÒX‰ ÚbŒB'ÐäDÃ(J‡AGÔùpB¶¸¥æ³ËJ3v_:CªrÂê£^P¢oþügƒ7ÆyUXèé.ŽÃýüxˆÌeº>³‘p¶±>{"ÂoõHڥʞ¡V‚±,« ²(ßÙ(êýS¾þ.aáFvß0b,&[²0Zˆn¤ü9_[è|ûŒ 澬À²¯øàÓ[.Õ9#;W»AÒ„ƒnÀ_ùÛæä9)(Ìqœ¡dÄU¯s3ýY|»©05o$f"˜ÊÈchcœúWùßÜ…À¡‚J’ÄA¯œý}øýÚC*«¼8y4Ç+Ÿæ*3Å)'S›j#uá“+–iä¥í"¡ëÕíÁ}üQïÜp•ÉãØ_t2s`‘Eà”E4 Šq¸wÌO‚E†UrþyãkxZdÀª¹1ÊŽæ–~o=јòUü­Ç»AëPr¥Ðm¶ Îvo_%zttZ­´ˆÊEgóµœÏ¯“±ãŽÿ/ï>¦;Øv]*ëàoa¹üÛûÈøðÀz<¬ ,*û¢ ì…°pá>Í„/EsÖ­&~ég©Ó<4þjh1S¡¶T`vk5cL¾©)vÀj{Ä7>‡cCônk¬y† Z`AÓÍÝCVä¸GÏçø†»oÆ*/ åâ˜WEBi3ßõÙ»H{þUC˜‡?÷Ç:€`ðwk«C·¤©2RÙ{§šPhSªvÌSoF „cÎy°'2yOcÜÐz¨Ml@Åö->æß¶VÊÆÞŒÂdËŽÿ¬]FG4 vY Zø_Ú¼W\SZïÒ²Ìݧ¦11´[}é¼Åà Å)õà ô©‡!_LUI§Å,W`ðr@=G»ÌÇÒêða‘,jâìx Ï>@¸ú‡å ùT -®Ôب-á¨Ø`_s C>åAx´•ÑÔHfwóAiýÜ%òRŸÂä^Çù*¹“%õ0„™_9| .E» ºH” ^'J®î/gµm£eÃ,\æ„Þɧ¤r‹Iú—Õ ~Ç’¢ßL ðyqá‹ ?NtÞÓöóT>Yì¡«/C0rðÀRóÝcj—táa;tËh$­1§ÿc'[“Ð0s}Ÿ ×è¨sH `Xú \~Ës~ÿ4(ëÒ ÜÍL œ`¿"‹Ü+ºøxÀGšÇuí4rá­c™žêä¬nÀ5†à~*Á¿Y¦t¢µiúñ×ÀyÌÜ&!fhðò ªƒáDñùDR4:ÝfCWâQr ¹€OíÒ6ÁJóÝnm0tøË WúèÑ¡Ê<‡f.ñÖÎ÷H%÷5‘SÑœãŠÃŠŠSÿ5RVV[ ˜aòªI‘¹ÆêÛF`Cq•(›eøžS° s™uìA<êPÊË­Öa²]èËõÏçÆ`Æ1ix=ÍP|Í È ^¬¾ÆDÆàÖ7UH°–à—Ræ:D¾,&º)0D"ÂqƱçã§õ¿ŠÛñ!üHsKmÿ¨ÿ€Kg†š&¬÷ÆC‘ÌŽ¨ÇnËdï†E·ÍWl¡Dß·†­œ×DŽ^É@ìv¥Hò”ч1½¢âº#ú}áñø¢ÿà G½/BjRŠb¯˜óΠK$X¯‚öÏéîào‹Ì¶]à9.t¶ô(léÂx‚kUÍJÅS*o$>ÐèFÌ3|²'6E³@¥XÜü 4U”™,nõÞA38CK¾áRÁ§"Tr…%š«@¦¶Ù©­Žp½*“3\C@; ýßm|´}ö)ÀÚVøZÎV„«×çˆÿæt–(·§Ã‚ >šXepe¬*tdÓhþ.ÌJÞ›ë†g¼ PåMvq̇‡J•/ìd š"úÂC„P>2—ÝÇÉjÙ´¦6\Ï7t¡cÏ(‘í¿|Ù5än§ i$3®u—‚²p®ûʦ < ¸Ûü¢­°>:Þm?¬òvöCÙ¬ß|f²ÈÃBx‰ÛׇÖ:Kï¸Ë]U 0”×Þ–¢ªåkJÒK3Y¾´bˆ>æ”#zVMk6*bî †* kƒ½h2—},´Ë2çê̽XZFÏÔgK¬Hþ{œ6U/„97õlFÛwÿ RJÙD×&gAÝ>ûÜnÅwQq‰Oýœ´_yŠa¶2¿û…éôaHõ–ýXŒ}Z@›dkÜ÷Vé4¶dÝÕ µ¤ ]„§ž'xýRHYíx}Røú\÷aÕDdåÖÌcÿ®æòB„鎦rˆèŸ²Í¤è¾t-JfÎ,)Ø‚xjÄÏ”3Rµ@èh랬ò f¨T„íP`l?ØA/„’ÁPö° ôbtxbb†+е§ÄõoÕTÀ µs{¥Ãe¨3Õ03‘¼˜³/æªyV3לÀ@òt4õÒõ?¾Oµz¬-üYÒ\‰*êŽÝUw›/Ekô'lªÒ¿k‚+F‡9ìHƒ=ƒÜWó–ñçáOÚ´5gd@Rˆ’Ž\5Û ÐHj›Þ­5sU¢MT 0KS§|ªÔÑ•«ŽnŒøk>iÆP‡žr½@dz"ÃÝ•>‘8L…zj¯‡FÝõO{÷u%ƒ¥Ë¦ôY.é×â MX3©@ý„Á›ð×»Nmc´*3+¥áO§‚–o'£S&ä4ì£0XÎ8à-”Ï`òß×ë)[ÊŒc’à$Q5üÛÿ4R\úÅ {,[ìɳb¬0‡S,W˜7›¨7tˇ0 ÅØ%¢Á"³i™èDŠãŸÇ´Ä¿…ùb¶]¢ü–ã— øÎ&/kªrT±µ¦µéÂIç+Ïkf˜­ }„oÁ«¾¯é­Ûú€?Ô…îSXeá° ²÷?ǵ .a (ß»Ø(T˜ÞcPÏ¥ ¢%úóK=¯3£Xò‹~iG´à2½Þ´§’p­y:;.WÖÎý…º¿ØcÄЙƒðAß°âDm‹c²<`xï]¦è+rUqlWÉY¡ý¤,ëÂX¹ ÿño‹Ú‰Šð8¼ °¥3nÂ|m˜íŒˆ$1YíÛ–/þ°i¹û³F¨°#óÁÁ&T-@dñk¯  `ñò@86—QGqMqé¶Ù•~CïŽT©˜iÉàî=ÿyæ'œ3$ÿr#~ª|ñÎóè8YýÖ·í j‘Å_‘Ÿ ™Î ÆÎ4ÖD3Þȯ~¢–Pä}-õúÖº‡üiÈÞå’%¢·å}98ãO¹5ñR‘ Ø«7—ýï^öө¥Êd´ˆ"ƒÅ=qhrØxš«SäXµèù*‚ÐPÄoÉúvÈÊzBµ÷:>ç|˱YËØ½ÓÏEÐL—cÈ– t­'Ižªté•’ÐêsôÒý ¸T$ù¢ƒ–ÕQ2RŒîx‚ {„'ºRÓkÄw^\åë¤: —+bÕôðׂ¦iÔͨÛkÉ©ÇƒÔÝëm³è)¨á«ÛI¤6Œ6“V µ5‰ãiö(ÑŒ‚ñ!P‡ÛÞ¡ßRz„á?ÛQCŸ’âIÁŠâ²Á¥0Þ³G;ú˜Ž æûÏí Õ–WË ‘fjï¶@hl°_ä)ñp<}ÄxÚt¿N“ZŒ}Ûo,$Ά­ÿ¿": 8ØÏú¤^*ž’éo+Ôàf¿<ô^Z cÜ?„@¬W•2ÿ'qeÚ¦€==Æ9 »GÅ÷{à쯜ZÐÌ×wšªtÀ­Œ4-1ïf¹þÛ>í…}~W¶"T´Ôt[y¤·¨ »ú$Õm™R 7y#"Á®Õøæ Ü;”§îÔ±ô®9 ±ëSÌì©ÌÊ?£"öÝ‘|¹_]{î{G¼ž=ÛÔ^±"^Hª=v»c€þžãU§J(5´:F´ó<Ûܽæ8“cŽFËòi9&4\G«‡zM@ÿ ñÿä´güå ÞôÊ5"=oÿ@*<Ñ6k=ìò‡cG¤g¸CÛ§æAu‰UÂüÒå[½©UÂ;íÃÙ{(ÓjÊß2GvÏoç’€7•GçÄê„ \`(¾.[`uçàZ!€tׯà“ÓĈúö™CH©¢î†ùèæ—ÊÛ„Þ]Èãd±=«Q¡amìò¹BBÕ6±}ŒW`Šz”H sÅGùâ:V¾S¯tÅtySgÄgç>ÞY†PŠ8r ‰e$*ìÜ*ö³[ð2M:Þä¡-FrPÍ‹ïõ÷ºº¹Œ»YÜ9›whͺóYõc¸£K÷í½Ê-•ÒF[XØ“ƒ+Õl¥ùz¦Žè¡Ÿ8ß9jA¥kî˜HnH°É„Ô6Ñø^¨<=˜tæ·¢ùžŸ‡^€Öv`wÚC^RºgÝ”,®`z¾¤ÚF 9f†t{5¤ÅÉyÏaÑ.³Ä÷œ4Ÿ(%½ADœ>ÐŽ:ŽÙg@ê.y”á‚{á:N÷´u‘+¤×7)_ïÏoéÊ/0¾ì ’¼ úŽþ”ÚOiÏÔJœn{!¸æFžpÒ– ÷GÝkûÊ`ÜpÖnj°w©2_Cü†o‹P €*׿ôý_ÁæÕîŸmî š‚ÃtEY °6M‹Í}iUâI^ùx¯»i¨[5§Ôã‚b3ÏHê›ßÅ+%¼†xTŸÐFÔiö;±¦Þ¡Zj§.¨~Ô³­÷ƒ0zø†áKöfkèà<»yT}aYÞ¯™5J…”+ƃLÍzlèó˜‡ÉûÝ×Aµë€Êšó|ô!Ã3ås©Ex¸ò$D|™&¡Ù‡ «Ù°z™ãP·Ý%-O‘çDÒ˜ xßpÄ„•Ž\lÔ}Z;Ój¹äö\7ä{.úÓT ¹Q¡Ô,¡]Mæz'FƒÞ%'¾¼›úÓ±‚dM+”ÄÛ¯^.‡FS5—¾¸<¦QH¨ãò>4ãð‡=ü27`£ê Qe»R¡$l¡Á­üieø@r–ÅÞŠOŒXmË<Êxà9ó%Bd‘ #7³¨pÿìô}Qûû|ɬ=¼1iS[ÏBë¶5[HëH¥©–ÙÐvA"¡ûeÁØ¢`Y¿Cmܤ䕹‰ ÄÉïvo<ú*‡«Û¿vÏ>[frÖü‰Ssn¶vIvcö‘0Ãak¡ŒžC3×È­É… °·š}·s+;î—œàå†(äsÄóXÙ{ç{z°¥Á×HÝfÌîè¶ùr°ßL²t4`}º±¡¬„g€Þª wí1:üOZd—Æ­Å+3QÉŒ…Ýy:€ 1Ô«Ñ<‹ÜHNí¼v=#ÁnBÇfœ<>HkËÿx0'Ž¢¬æ—óÍðÀöÁº^æ†`èÇFâˆű‘Jßüœúœ¿cÀœ}¥jÖ¶„œó!¤ê­¡?i(R¶¡C:¦†‡8rP®#°¹%?L \ŸsÑÝö²Â¿žm~×)%ûšï†ÙÁüùÀê µ9UY¢vØ\¤€²œp°¯BCë(œ%…`0a ,ok)–-Îaƒœæò†º²kö{dð-e#±µ¿p\®\B S[(™d¾U4ÿV¶‚|`k R¾çùt÷b.ýî&N1G¦Ù^6Ò²t÷EòÎØB«ìÑ>=œ]/F€ŸA™©he… h¢>œ«* aÙ÷[¶¬¡¸V7(G¶a…–KÞlœ!Pü$ôÍÞ˳ºVs3ÖÄD‹1Ò¨åµõ²”/Ò³z#^D¤.éÑåeÓ¼Zø§ÓRë—ŒÜxq¹S ÓЮ3±?³òuÅï nоÝÀäM¨eÚ¿è¿w>4[OòçóëÂÈv²MÄÍ÷¼0?qõ%ׂWŒY0¿÷Ú€x¼%}¥s,qÁ¬YîhG÷ø%;=Ôì/EOÑPÚg{ºJȦf1eeÜôÉo¹WF5{Áíë¤_cÝ^ 1/®À"Åú çäþ§¾%ŽçË1’’7Mwžî'ØBë5NL DŒb¸Ð,+·6Ä~oqò°iHO/߀ѓBSLtû˜/%ú ,$gL9Œ JŒ+ÓˆžDö|¹e2ºC.ÇB]Š„ïr¨è&2Ã; Ø/n«Ââ×ã“F¤®òݙТ°´“§ct7¼a¹ñ—Süû¨šŸ§æŒ%*Ðê~d¤ƒ…ÙaiF~±*ø:|=}“{^ùx·ˆ¤ DÔvÔú瘠…¬s瓾ïy³1ºõ=&€ëúrRÁºï|PÀûüˆ³Ut·¤iH^»l€¦‰L<–üXâÐ¥e²“ô°Ù¼|“éT •P²rÇ“\X}JN§ºa¤µæÑe‰ÚÿãÕ¼F\«=µ!x}›gË䇦ƒ€,'²ªTNpzí¯y’ì oàŠ¯Òúodo :íèÚÐÂmÕF‚wî/ár”j3 þ[(Š>cÐÍæ²÷ú¡ÂCe„GÜ"î~”…‰ê}sUj*‰3ê*mú€¶ z1Ÿ8JÍP¿›¸ífGŠ{=Œ7Ñ)}&¤š[¼‘2f¹0ÁâðÃu¯F¦‚xPÑ~í8Îdyè Ï0õe£¾’ðÖŠ>ìwõ‘/ÜÁ©mµ Ý5è"ì?,ì2ÊŒµ­<¢¬Ê°.wÅšh'Ro°ÞN ÷™nþ e€æRº¼÷έ”ÃVòÖ7Áiþ6f¼Œl$n»/˜ äpp¸ ë]8´ß1kµUovSy°Ð!t:ëå†í[xA$–29‘ùt&Û¯T:\º2ç*3(–„ø2gæ5Òª³î‘È9–¿¬ŒdÒxrËrï³EÁ#ª¾1œ^@è¢f“˜ûåÆŠð ǵócQ½ûÆüsi¾˜$õ$—oÛï›×¼¥|‰IÀ(ÄÂ…}*5H±¸ÿ÷+m5ZŸç®1é?SzÞš\úëmà?ãdì92©ËQyÜÆ "õ#ô³¼£'7s/AOvµý†ô:3msi½ÃqõÝ¢‡Ä1êÒÙv‰‚üÔîuÍ|²Šu¬HâÖjeRfƺ¿«GݹY‹fàӦרhØvë%¤û–X¢1û–ÏD…¥Ï ùÎàÖÀ„(êe$åÂüz…ÉTV¡WMsçæåcÞu+£tL¹5L©÷ZúÚQÆþäBC‹\agöš¿È’…€3ˆ¾6•5-´ÌqjT&– jã@ÍKrd'_ŽšÍŽ@¶N*ßjCûÞK$TCoHEÓ‹´ÂÎi§¤ã‡©ëzÈÙ}Å÷h]¤u"È)ï°áPr™å·§@¿ºAq˜rŽ´{~ñêÖW÷ó§8îC©Ê¡àRccÄ©Õ$0šf ;´Oð“15œ^bµºÿ­½·öš·£DØsË{Ô6ÓWãî½$0å+EºžmÀoÁ³ÿ’=4PHÜB¨eµ>æXêÆŒzf˜ñ]¨’Åß-¯%ë;ÚâÛß;n>”72v7§‰Ö>8_\båp‚l•¸œJ¾nn•·ÔözÜЃb:–R•]âJ–S R‘ÞÑ „#j`%C© @~òZzP¦òǹ'“’àºDÉÏÂN‡«Jª,)ì_tœ“*æ`¯ë«ï¸5ìdÅ5›P¥]l÷_‹u®ó.\Ìíˆ̘ÆPGUÞI|ô2K;Ó A"ó>œ~œ;þÙ¶©ºbx©^8ÅåM³[>g™Bw¨Ï‘Ç4Õ$NON™dÍ®ÇO´C¸ £ÅÔ'•¯íêôökLžÄ¹Î ÉîÙ†ØÂ*pwa>¥Ú®S ÛA¿¡£w¶ ‰G,†òÃûêóÜàÙ|@08qˆCªâYòÐTºirwä„<"ÏÛ£Z¯÷ëEŠ7ß“c´ƒÿührhÄ/lZìXÄŒ™Ì G"Jˆ>¶!%ÌPS€í‚¯ÚPît pðöíãÑÕÁè¬2÷XwZ„3ÃO€ÚŒ§®½…gŠPÍ<©CÉœÆëak¢9{$3´ƒ3é ,(7*Pï]/‹„ì·[ay¶ö"áIˆP[1WpŽ]«ÂI@cvßÔ3…O.òî¼o·O3*gH.´½_]Q*ÓãªTÓ¼1×nû`©<6r÷Þ²«œO6k&à¤«Š©z˜Jr¯ú7„@¡,‹ž­ öòAÛ!._\“ª AMóáð·šý14©+uŒ2ÁDK¸2‡o–Ø+<¬­ÜÚ›?lÚ´6@¿* ^ã87Í|1ÆÉEƒJùj.4¥<½ÖE¹‚—‚6ãþv‰êjæ:íÂ4öª Â×ý¬JׯZ$Q-A&±•,éy´Nª_xº{nçûî·àyÙpl3öOMƒ#bTûøéžA 3ô  S>ËâÖ((ÍC86瞈óÕ¼Të t9P5*XÀnwÈ>z}úìÆ–!êD"ýlÜ´ü¹t†EòLA·QêQ¼ê–#ŠnRþ# "!ßäLÿË®=.«7-eÅ’î–y&ƒn»OJâ{ÓÁ7H@‡›–Ðß^DÞ‹úíW?ú!™®‰>•RÌ¡hdQê™ }*¼MR(eþpÔöS,¡ãeáÊýüûÙì~7«C‡”j"Õ_õb, <¿ èiq];©_}üõn@¸Æ§¡5ÿxøs‹ÄÕÍãÌw”G÷^õï¢F<«¾ÂÃìN¼ š±ÀÓ[Ò¢4¦†º«!Ž1š9™ÿD¤J‚\šŸfDôØÃûÐ,…ìY©Þhn Íu7‘¼Pj8GÕ»³0.žû¨Ä?¶b_‘V{˜wñ Xˆ1có—‚-$Ù‹Z“£ýˆ9%õƒm?F…u@q1{a§\bÆ\7¾Vd¡´  r6ö‰ÜJn€^@ä?¬®¥g_ù}š{$„Øý:RÚY0[¸çǧ˜| L^\¦ÂwÖdʤ•¼>»jH"µv¼að£jÕ^ßP] ˆñ¥Æ'/ í1–h#­/p)é|éò.{¾ ï`tV©“«¹{$ìs_KØúè©€¨ð$Üíä —@ÿ ”,iì¢M¾€¹?¬ã°7Åe®iÄôRA¿ƒ\>=Ñ´,9Kp¹÷ó(Ø®h.>hï1¿Šc{ÜA³ª•¿Aç6q¡{ÿç!B`28ÓR“~ñ"p1öfˆR÷—A6þ‰ý¯zí§9Ä“ ¥¿ø«<ÔBm‘{ CÒøf †„ †nŠ×~+Ö´™*d4º«V°¾÷_½ä—!VSe «Ä‰"ð÷Ép@[y-í¤lDÿIo8iQ÷ ö`*Ü­»²¡AÜáÆ»¹±c‰Â9LKÚbÃÃÖ§„X,·ˆ®QØXwȹ6R‡ŠêD†6ÖŠ¾*ûɲ[ ›¾6›2™†«¾ïÈBG òÍ Â'1È^Ü‹[½ºƒê©@«Ïf¸—³?²1’(«w}=ôßx+dlùØÂy”ÔÈQ{Šú ¾©¹­1SÁ½ÔžÅ¦ž‡C‰9¯+õ‹:’v¥×Ý'yÔe—ÁnŒ{E"4pr)‡òv$!ÒÐBí„R -Pa¡XEbß7šFÔHâÂ6¢vãÛ' <ô_7á;ÓžsOgJ÷ZÏÿR´2>v×o È}_Óžz‰þ΀´‘˜ ^מÈGã k¶²­å, › $ÕÔÖGvRH¸öCæ•*.È·ï! ÐO6( ÊÀÚ'•v¼V–9?“,âm-%3Šiëº$Íkw¡œ6 …•€=;Ô¶Cƒ¹ÿÌÓË*)Sd¼q)ü B`¾{§`ì©Ú+©<0—U )tŸa\s‚VýÁ2ßí4ÍyéÃný1½àT ­ª”7•±›xFsnç“1b¼˜vXÍËìy.܃šgþŒHäúêÈá 7Zþïµuš.Ê5 o¢Ðq/iŒâëq›ä£Û_A”Õ³Oé9¾-«eÃzöUté¼ òG¦¦2'\,[XBAoŒ«©)Õ)·Ý)Nì‡R#ú[`›•û$ò?öSgñ¨WŸꧪƒ^jÛ4ŒY—ùí 'ÏJ%’™â|΢dŽ=U¬/$³‡ß=Aícœ,9ÕÆèÕjÆænîN´ /€Ð‡s0rÃÛù@–‚†DÛÿ‚_ ªz”VÔim¶)(”‘±1ÞçÛ¶íý2 Ü:ȭ㥔÷sSŠ…«–€Þ‹¡ï_6û*0ÃkY=²4žÌ·\öWŽ;Z°´[0vC‹CÆÃ ~à$Ÿˆ‘äï·D†3+³‘w&òàÝ×:CD-WÎUg-k6°wDZnTn`ŒK‚û‡3ù†Ç9Ü«zi¨\}/.ߤZ2F· „¤X‚³²ï—Ü>]ØE%r+Çde9¸ ƒÇÔ#Z_–ü+Nˆ‘À $0ÊýÚirœVæÃ2ž@cÄÅÚÌSF¨õÄoÝ®x0´¾a2<å¿E`Ý{°çIMú˜Ã56£6€% ¿‘FWã,©[].>½ˆËMz®ü>ÆA§Ï ÎR ä¢kÝÞÓS%Ãʰ.;ßålúÅ.Ä›p’d+É¡S†/Q2:‚ $±Ôqžò¸g8$ˆÚ¡IÖãel-cã²Bë8råÐå G'ŽdDê'BåR¸°])Pc—-ût\žp±¯©Ì^— æ*Ô1çÊÕ1/ÉÏ}  ïšTâ1œ”»$^sRŠ¢=ìJòHTôh©…¨¯4c£¦Ÿèí%…5µ &|½<šŠO‹ºIZÒg_Œ>¡…¦~êÛ k£Pu)­¬Óy_h"„†öÑMÃEt]Ë ³—nt$*7½‘8Ú\³Ä§!Ø9™Àç‹%j‹›f^h®ucnfÂy¶ :Ç²ßÆk À¹ 4{„Áæ–EL hñlØn›µ*uÊ¿÷e½«¨ÓÆÇHMÕ¬õaÓäµ¹'‰åÿoÑÄA`Gkäõ… ìTó“j±EåU;úS“& ÍΤ‘j=ðµ³Êvd×÷Û‚x¬çá[ÖåT&ê+ëe¤Ñ ž%VŸ|]p»0'€¼`|¤Ÿñ^V?Œc=zëo¸Cª£“ÈYÒ;y[ÏÖridyet¡¼$úµn¯À§]˲ˆGö ¡g¸©é_Ã`T—i?Êͯý y<¢dh^Qw+wí––,‰Pæ§1ÇêÒ:®Ñ§•ïV]ÄǶ•§:Ï‹¿hEཪ¨†¾h­Ü©°>ð 1~ìžTÙzÕ®sîYxê‚8L iû¯ÉäýüMb{-°l±–¢©ñ·Ô¥© 9s‹D€ }°&Q³¼IŒÔG 1#ñµ£y%3Ò®Ë ® ¨dý{â~\4ø/’æôÍøÀÂ3ë6Ál9“ý‹'Ì^‚ÛˆZiaæžp¨.$:q\ò68ÏÅÏõ,®¡!ŹMi–ÍxZwB»”ôiw’”vÐ µêxÉ„ò`"^y.—h4‘Q°=uâL¦( ÖBM­ûlb®”JAI`Ѻ @sÓÜV ýÓºChýc¾ý“Hê é¨döìÖh !ãóŽL¡ íäK[*n_Ëëb2Ÿ9Þß¡Ÿ;¨Ó”Íó×âú£/Aë÷†'Zª–k8m{Ïß^ç_ñE’p•qÖå'U§Íç]ó˜¿xBõÕ0²µ™eRý+£lR4k•œ$ãîï”8í {*X0¯«ÿ7å¡rS]ÆHÙ6×x›A¢#ãŒ6[ÊÜÏ®Ÿ´Ç/Š‹ç‹'úYíKw;@_S#¼»WËÖ¯íàÆ7ÉÓö`Ø£ê2¨=Vxíð^¨0Š%gž‹i¸Z;]ЯÆÒ>|„»…ß|«çiÿaå4ÕØî–=ÎiéoAqt$v© š‘×l2åvä‰m [&Jgåé]S(÷U(·/n`òUnkçܱ¸ûÄ` ô\ŠdGÏIä‹$©¸÷"¨‚Úþzq‰¥žK¼o¿œ®;kú”÷ûê jw\ðXþJGWÒZ¸¦TçQçå-¡ÁG´7*Æ Ý@÷þ?í¦§…VáFn_crÜÉ„.ô}ÕçÏãkÇ«çòâL û§AÊoZ3¾Â®¼Ð•ÚVMp¯¢ €ò"%×@¨¹9]™,`6\aQê^ÀÂî -1‹î™½xs·$3#…‘·ì¥"v]äpú˜šCá¾î‚‰ËõÑ ŠÑ“@‰™¤­ Ç.”1¡Z< ÷àªê,³±G”ÒŒC¦FJ]°Ì”‡r«ËˆˆÙÇnl0*¦üáã_ND)º‰X‰¥‡4Ã/öï¡O¥ØùEÇQAMx€fíé! gûª‚bF‘!öÛ–Œ’ÌâF€ÖqœTRI”tEîâÖÙÍëkÅÄ1eK¤Ÿ@ö›FÇOºƤm”·KÍ¡}½¹öðÈ/øsà! ¨Án¹ù¸—Zï«KiU‰‰ä„ÇFpòƒ Tx>Ò”8ä22SãŸÉ!ºåÆJ4H·¨⋇ßM¡š<)× ‰ý(e…³¶ÅÓC¤FÀm”5d£´2p\0E"Ö·nM•° üŽ|÷\Ã?!õŠÐ“}€¨4„y“ãKäÁ°¶Ùõ'v€g$:àq` $ÎLíϹ&¹Z–=|DbÕÁ¡UÙÖÿœý§m…QxÔÞ¤A*§™`I™Á€-5å¯õek¶\_ÂÖr$xÞÉÔ~‘ö='P·pïµß=ü°õd©eØUšt3â†Cp‚(8áBSœö"ï›îšHTÒ<ðÆ©,n¿7=,#2ó{ñþÒáÐcˆö¡¯ˆ :)•A_IÏàyùAéÂyìc5J;·D_mÐ ·íbšÆŽR% %rr–_aiì Ž¢=jÄXÍÔ4µqRiÝÿeŠ ê…áí˜Ô.Ç FR‚¼W0•oÉ…p-ÅÜÂzªmLEþv’–¨.æGR¹VHȦҩ©ˆî‘G09Yºy©GU\°¿±d©áy8\˜”ÝÖO/u‡óÛE”–¦¦PO•CäÙ{?Þl€—Ð_ÑzZv]êéD à:íÚæ¾Ad6l!í—ëQï™EñÕj—¨‹Q°ÙëºG$k.õ% eº¥îCc5@ÖS¾±â¡œ$á÷ÕƒûÈ4Ú›_‡ÿEúΞí* ^uRñ☘À’Uúˆ„Ë05}»ù?_!w¿Vs~n”÷ÇT7þ‘ÌlâzœúÚŸsW ¡N¼—ƒ2ŽSZêR½:Òü´ì–•”.fSÃo3è›iàÏØÒ’ 4Øí1ÝæÅByÈ 4O>–@OGV¿t²ªÍGŽÞì’ Ÿˆ Ö#"'÷Ú FÄ»zSÇú½>£)Z0ÕÅY“೪ºº`F>FL¯- &©¨F2±­]Û…é!é:þ€ä¨íUÛyäߤ>Ê1ĸ%ê'¥”¡©²ésïÈ ÚADc’ÈLdtÑ3ª Æiåž¡,×Õ-£¶Ç“¬U.XËq®ýe–KóñÃu+üè±ÜùjX¥íh¿±…Ïe× ’ï“øs›ã΃d?§Ùëʽ>fà=9mœÝ Í·—H`¥- Ž3LÇ+&Nn“¹AAFNy?Û¼ÄÊeij„cÑd—¡ ÒkòbV(êí0þ5ÙQ¦èfôÄŒæ,þ ]_Ö™vÉ„¾Zç¹\Ի˒{·„jZe1‘Î~²æDÊT#…{>ºK¨1ïü ¨Vœ9ÓZÍêÏ wf@ý·†ÔuAËZ^hl—סœ…˜­¥Ÿ‰4^Ê–V°õúØ20ÅÛV39ÙTâû65ù-Íâ½Å0üªË£|êðƒo©ÇïØ>ïYúþ¡>yÇgó…JT<àë29þÞQáD>§GT r6ÐöãÊå‹ÃhÈ-fu%†Ã7ûÂE©q€fߣöû»ù‡¥oóD…'ÁJRžÖ>""F¼Jÿƒ´·ßa§g¤-f[…áÑÛ”Ó}ÎÊudÑã𚩹Η ºÕ­Õl¾Ú‹—tøÃ“G66ÜëÀad:ž­ E*“Ñ*;€8Þ–´ÒÅÃö|—!Q´äô5(Ôõr`VíÍõo N@ÒùþÕn,|­:‘üY òpR~Óþu¼B6«ÄíæÎç:âÅG" ¯š*ÁÒ9Qe¢þ×jçwë `“EÝŸ`&U×iqˆŽì<‚! ?:©Å &Z|Z³Þí‹=Ÿ¨EY|æû,Ö”ÜÙf¦Ébò†—»þá,ýf}]?ã»9ÐÖŒrPírxëØ¨Ñá–;´…ñ#[1[´L[Öû±xr@Z+E1C—öZ:÷ßý±c¿±NÚo1'=‡Ž@S†­mB%Üè%Éú·‹g–¦ªúgÙ%¨Ý:Åë‹––€s‘ÏÖk¨£÷¸'`U̺ ¥[hŠ•Wš±”ûóî™<$„ÓÎiµì*@ò\s,™{lõ;ºü9gÄݬkJrE’ÐUétõ퉈 s§=ª àqM©ö Äï÷þ‰­aʧ¸Õá½Î ùù£€Oßœ„_.Û#c 2ÍÙfƒ1Å*’×EàCJâÇâ0~e`I†Ž“osÏÍ·El#AsÜïâO#šˆø×€d$a (,šìJHñË9 É„8üB0~ŒD-itoùãþžCܪ›ËÌÃT–ú)Y°l˜7– @¸(±CŒdÎiù䯂Ë´Û³u†÷d7P‡ÝÝÊc _ŒEC|*S½É„\x‘éxQˆ¤øžsl#8(&ƒðKñ³áÖlU©='¥¼t'óÝÏYô4š\.ìwŽ«íéb$ö6î ¤¹ÇØ€Û3:jƬç 3‹³œH`+ 0oð€Î€Á«µ€áÑ~7:ÜöÐm·>Ù%–uˆ8S„/J=I‡öZþªü–Ð=âðYÁ×±¯]7¶Üäó˜;˜¿"m^@U…ÒïØvàmNhSO$;C ½iŽ+ŽsFÙ¥Óÿ­â¿è&@ .Û½ÛÆÈÕ7Š<¾75.‚¤¢Ê…âÁñ_“gÃ˘bŽ k=êž8§×N41zëPéذ Àúš;–ÌüÑþî¥ÊÛ¡+ý»ûÐ"˜a]áÀ½¼©ð7 FTÀðY?×l».fbCGlØÏk¥ò‹¬—~Ä2*·÷¾+Fà^ëŠI4{ø/ÑBHƒ“´´ÓÆf3`U¸![?–ŒO½IºØž¯€;Þ•Mž~¶s:ȨžÝ.DÎNìÖ“kÉ¡“åC ­»ˆxËLhÏ—º9­4øV3)t¥çZÐD6 º?ø>h«$§òЛ¹²÷ˆÌ Ïd5äMÃå4ÕXîúc´–0ʃü¾7yýâÐA–±nºÿŒTßCY_ªp)|7§ÐÄ `Îë Òâ¶ßÊZKBרÏ›øítUäB‹æUvšõÓxŸF £#,/B?.©$…[!xVaWÝ' d¹~‹8LË/¼Hø­|ä̯JE"±4£Ô€eYÊãYJ‰a‚–{y´áaãC´ø.¯HFÊqx<á^GмxPÖ¬%p#?}®Éxò¿g~š7˜»föüQë=ÎíIQe•z:þÉ©QÈÍyLdþÞ…¾#'XE•E–µáý×Dj0ëÄ(­pxðóïnPîå÷=ˆmD éë¡lAjÍâÄeïÒ ¬Q‡1Gj¶µ›rLäTaJÀnÕÀ’êÆg›üÀQ&r’ª€Á÷ 4«÷8Øn§˜šò¿Ï2†òŒXY²poq W£¡›éž*Šðsѹƒ½.Fs­¦Ø|gw2h#±ÚïÜõ’[M4Ðaœ“x‡¶-uç§tTgў꽂óAÓÈ)ïålIŽp‰e ¦åÛQâ˜íÚnxaG3Ì·6põ“d:AuŒl©¹RBŠ«’·ËoláÍÜ“›{@5ÊpfõévvºÌ7±éó´4fµêΠà}ò¬ñG7ê<­Ò‰äbõkybz*ÛhÂìñFL´ÂÀ`Žø$BúerÝzøw>sMñ§%m œ³pÒ€ÎßÈÅhVÐ Lj¶bŸçyùv žÂ„qô[Æ‘ó0¢u"0€^Õ gÿÞÛé{Ù³¿°/†—îO™dÇ þUA\N¤é+´q—&J3çÑÓÔæ˜rKS² ½µyŸ¥‰Ì½¸í´X®h“_§ÇL±0Q4Ö¾ª]¯ý]Dñÿýß%cXn™¸¢±ˆŽI®væ?~ÒwB¦içJö@†ÌÔ6€¶QÇT{ ýeK!‘g¹Büý&{»>ÕQ×&î舞º4:¤„L[¾À¾µcë|̰fô&!]¾…°)Z/öÎPQsÿ1yŸVhò˜ÓŠçŽwºØ>w[j[ºÕJÀûÆÔ+º‹üŸ^~l¿Ë À™I"`ÍÉ˰™ëE.à!ÝÀ\Öë—˜Þb¦4·“Q[® ‘–…6[´]‡½oä’Ø&³àNÔíZ“Y+Lµið5®€5èÖK¢>ÀVn¼6Z]ž;·ÛÆžêßÒÆöd³JMs²‰±1Y'QÓÇ9içm}ñÞMÞ*,ûÂ6êÔjÚ:@Ïì×à}Š)K&úÁ™‡úŒ¶;Ñ')²]RÆÜ³·2÷²éžãëût!ÙHqLç'RÉã‡CV™˜`¿Í=i˜hBÞà;#9Åk:L¼Ju{$Ñh²câ§¼å˜ØÄPÚˆ=•–¥e4°)5Ám¹e(¼Ô·ævîÁº°ïzwæ‘,geÑ2{ó2»ŽPôµpZ{ÜÿÈÝŸ˜¼/)Ò  ä2p¬°nNòÐ+&Rc¸éX½vP•ýJXnžÑ®?ÞÂÄb÷uxð¢Å˜§;3ª¥ý[$¦åy¹3Mm~¨å|ÉûâpE"Zü1¹“¶U%›á½êkÚ˜J臷”$ÚMãÇ,³ÐóüÒc—¥üŽvXx¸ìœ,Æ~åpöõ;•˜ ¥›ê–¼ƒj ˼Â^{r¥ËuØmƒ-3 í,ݹgœ½º†²ÅLJ|ywý·×͉'ìZ ì ¥—"Œº¦çh5&”Â; ÿÒ¯ªÌ–MÏXöë:ÀHJìYwõ§á/“XfËz'ªõRdMFŽt a¥e™ty5ðŸhLÕ…œ':ÿñ9n\.-BW¹ÈïµQ½9_ÆH:w$ˆ«’€‹‹XÒä–Tv¦µB%iròØÞ2L>×д NTsá²ÜlƒY$®ícžúY²›+Ž€AíO çÙöd‡²e¸‘üÙƒàŒi® Ï;Öî²NÞC,B´vr=å‚zÏ„>军í.#Ý„ø¶NùmÜ­MâÄ››~"l>=œù«m¹þ'á{kwªDßï3¤öÿì€ß5ŽS)zݶö*% ÂçšÑ—Ô³DypŒë¨^BÛ^B- ó"6W‰nwÍÞº¼´ßyEj.±=—™~úd ¿töÜáö/¡ÏÏHÜÔÁÏ|8:Qe*¢uÙ$ã³ExˆsˆûÿÝäŒG.óÇå¥T³®êñŸì,C‘–*¾Œ캙UäªOóyãÜØfáëó)yÏtjHÈêFØ(NA;#ÝI%#³&÷ ¦´žï ‚„=·¡/Ùýô½ÕoÌ IäÕÉ]:QȤ† Q`µ“ŽtýV¶`žˆÝ™BêkˆÒ(ÓH¯êØ8®ÃqDkƒãgêH~á#;÷qQ°´‹Å"#Jlòz"²ùמ–¾ë'BýO†½'‰"ÄÆŸ ê`Ô÷ë”bZð°0-èa³Š2D¯f‰·Îâ'ˆÄótŽåÙDܶ‰|ˆF‹L:Pp8¶šÂ)§W6ƒUÂצnk+N~;eæt+»3¥x¯ˆ×–!ùЂ±‘°-À˜Ë¾öT齘™ ™d€¢Þ—“.]~¾³ˆ-¢ +MgRÑE|ßÛÔLñ[BÖv%(;àðV1þ6±ÕÁoŸ¬Û{eöèSGãù*˜UÍ"á´°¼¬>]ùÂS"V½å ;µ&:Eÿ[ƒ×¬o¯Úc›ie>+tŒè+sc Ä¿m3f-ñwÿÂü Žz”†[Ø#fö`töñW%3mi}bÇW=z¤šsœvÁºU µÉ%ŠÎû(¥3¥ÚÀÀÙѯûõˆ ©»§< F1ȤEšÊtAla×á8V}ùeÅ {™‘z1æÅ$÷êgO"$ŽqäôçäÜ$ó Á¼ˆýˆ…dKÎeÑòút} ò„\:ž23¤\œø€¿¢Bˆû)!;F“«Òq ñj]Xq`(½ŽÝ‰UYM49¥ƒ,Æ:¯’«¹‘HãI¢b¢˜¢µ‰Œ¯‘%Fù¼º{îÛµu@wJú02ßX™[°Ù?‡<Iò¡ƒ¨Ò”|?/ÜL\©†ÖávüÁ×>_0ö[ðÿ¿Ú#‰ý¶€b,Gé{áÛÆž TS}S÷cL˜ùÞ2%ÿ±8 íÐf‡\Áõ@~ —ÇÐ+’Í;#4ìí‚` ôòŸGaÅsøUTùjâñõÍûs±£mt¤:Îë[']¸ÏñXÏQ9‹#8¼‡»ÕTc?O‚±3_{/zÛcLlR¢+Ïi`£ëW­¸hèã0¨kÒGÛõÁ$Wßó²§õ$o:&o¤MÖ´PpÿÚ“}:£›,Þ"šoÛø¤sœÔ­fœÏ9£Ñ?œIwî\‘iGQþÇâWÇ—è7öG†nÝT­o ®‚!Z™ŸLKÐd'³!Óýp÷*<•ðåÝLœ=œÖùéŧ€m®±qa™»¹¥ê€^tÕkhÚ¹NÅ_ßÚ‡×ö oƆ¢ÿĘ@”S„>•eq4‚D­ûÔ =wÇðñ‹Ö®B ¤4É-L¤˜…Í`\EM{¹öOc9q^фˣ;†„ˆè_­7>ælb ¹çÇI‡ö™L×it.D¯þlhÖë µا+ƒ:Fí|–åøñŽ'cÌØ^zÖ Xdò¢^Gx®@î@¾{ÑfP¾på® Ç‡òµéB¼Œc~íºÌà@(ðCÊ)|Nº%]Dx ÊÛ[{@<¨—ƒv¿2ãEKš?ñqÍUÅÃ"LÏ£Ú°#V›—Í“·³ ø†›ŠÃ¹é 6²&Ín%6R»½FÀ}T®#¿¶a!ñÂ÷aºë‚ ”£²»cÖöã;jª°vÔH*'E¬pÁ¸¹€8¨šAT„ñ#¾ÎÃQ«©_ŒnH£epV>òê ¶ÙH]cŽª|jšèQ_p÷¯M§Vê#äO–TŸ£Ýú¹_Lïe—³p©0ÁŇ–BÒZªÝû P|WY€Éö#¬ì3hvð(šÖ‘Äžq¾q3“òeŽÓÊ?Ãyû‡ïÚó¿¹»æäÐñ Ž "²¶)r¼£tDfRèÈfŽÕX7Q«úºTËÎûøH®S‰u€k‘8رÞJ,F[TÄùWÒrº÷©0DÄágçx¶„±ôCá|!2,s\ä¥m|òÀäy;î4X.Ä(F~òƹÈî RK¨>Nˆ€5,m á›`; 4ÄWu"R—Ðh~˜×4Õ‰sÙ“$ZjEjؽ‡°=ˆ™oÇuêÚ$îVºysBÌF#¿hõë4‹½‡x·‘#@~Û{Ô›µž:瓲¿üÒÐû›AGì…E†ÂåCj—5iJ)7 ß8È÷Äc¾ßa‡£î|P0,;\Ž· °Ã| ùFåø0†C¸Ðë߬t'âX:‰à~¡&PÙ[‚TR8Dcƒòshb û* ›|©2P(¦ ú»¸ÎäÖ¿æÁç(Ô3}M5ÞVïaÊ”ÞÈwð}Ú¥ãbŸ’2»8¬*]%¹™M×glÏh{kIÙìe¸91?úI²ø°m¸*úÅ’FÙ¤cn7N·Hln·—Dð@cðö›ž­.{zY¯“›5V,w0ÿPœ¤,GP Åé …²è’^ëdÆ+TFªå?âøäcøœ6°êÀ|Æ&Ú¢zãËfZùÔÍá§_€î©Í['Ší¬ç¹ê~lNÞtÎL æÿbóø K3-x!4’¯&=ÄÃð ÖL(°kNlB:ˆÏy»í‹á o ºÔeùŠ Jq{ÂR«–ê%Æyí4Ç2P—™2·[sÎÞ}¸š‚É*êØ€ÇŠö—°S·è”Ê–Bù+»ÀǦB¶õåKT Æ:{ÕE …©ft¬RÖË“ÛèžTUž0+Y“¼"ætö«£:ÂȹºÇGr¸ü!½Õ)ƒSÌ“¾Áe?‡uLƒâ¥%§«0ò¸¸è桘µ¶ž Yå9ÀŠ&™ÀVDÍÍ4›Ãvå8¾å¦o/Qò‹¡P"é/'L,ð'IMâ^Ùt&òQ«òåÏ^@ûƒüˆþ:¶ðSfÂFà†?ñ‘e§Y/&‡£xÐòR†“Iá9qÃm²ÝlE,‡ 6lÔƒA®úŒ­»-ŠÔÄ_Ÿ*Õ•8„¯?×ú¨DÝ¿3L›g›”"r¨68œ´Z[’8ºòàX.‹«Ÿ×—=9¥Ù+ÚÁ_²b5€ê¨ð…C4‹37˜7‘-?õ`ÚýpÕA‰@3Ù¥¤ýÔõ‚™¥¨û „B˜!F'qUPÙ£ì=£mï^ÙÅØ§}Æwxü]bÏOÆõÄ¿ÀÌûçÃÆº§ÛÕf3®•§K"%ǦÝ^Žð+[é9ºÆ¾±Âýç=tÔ ƒŽ‚ã¾Á*´‹!è2” ×Ht´ÑP4ÓӘ䡹Ö(Í=)/ÛöZŠv v¥¸L[2Ÿ%õüÃËM\/·Y¿=™€î¾ÍûA—õ§^¦åépðökí©½çB\}‘zЛöwÍ.Èž²ZH¸ãàV8_~@®Sùù—ÑB5ˆiD"~sY’¶CþºóÍó]?ì%Â@Dª6Éè‰DÐåäö•€Ü¬¹®‹'•‚s͈>­ƒ"†æ…ø­Ô™§ß#oß7ºäH1ÏÒ¥íâ¸k*) nuBTÇÊ2þÔ½ïq®7nÄö!ðá]£?ËÐlfø35n/yôñ'üoq µàð·)h€ÀñžÑ¿?Sà ÁÊ«sö›¯Aà8 Ñ|iáµÝÉ2/'ÃšÏ Œ^o³7Oe·ˆuL+ÆÀœ¨ˆvT·U!ßêÊ’¢èNdI¥'–¢”DuÆe‰–ICsz†zzòn ëõlBº‡¶–ÜêüÀÔÓ2\²øô‰—óÜÏr÷‰ÁvÃežfU [èÃÒI•Ë…'ë‡$0R½âÍ¥;\»es$tN<³‘Wv#}I tY©„,4+ÉmÊ£}óô-?K$¾»=¡Ñ ”¡£=úó÷&æÅx&ÎBRAò3Ë J‘%:hºrèhý\Xè#Ø´ýcÍG²ìó1õL:GDh0`í ”“ÿ¼Šæ„ú¡w4³ÝµŠK¶¤¼@dðð5¨æû JƒÞ…ZPumï»N¶#65±37Š“H’ª,î{˜Ý¤øšsk%¬#mÈ º¼½ùA¬×=ÔCpÏO×Þ. rùqé¯P';óÂ"´ßó´vd‹˜‚&‹x‚ðtâÈÂiýýTÕG„“µ0v+XÏiÛƒAø$ñþÊWÀbd¾¡ÃPRÝ£‹æcßú ¸ï(ÓR¡åS}‘f!ˆ2ò}£Š–\öÂvÞ æôƒ16ô—· mÞtOÄt´áÈB–à†ÃVÕï÷yµ™¾[üƒ…ݳµë5Aº"÷´fÆ,æ}˜Rvóy);>»0ñQ£¡£ó»e¼ÒVÞ‚Z2ÆúÊçÖ‹5n ±—Àc67–¿^ã£>Ìõ:wñàÅ}‹*½šòeª²ùJ1ÝlR\ê75Ûwc’Ø\ž"Þ@‹ ˜òGTr0T~ w>“‰9™-TäøÅVÞÀ9\\¡BÄÆÌD HibþRb¸À–t¡æ&szÌ›ŒùÛ²‰BB– ð1m+©MæÉÜøm8]Þø%`´… $2Â[€‹saPšE²ü°÷.8é,e/Éö¨w«”#« mSÎ`FÄJ: áZ$šÊi5÷ë)Œ+ZœÚ «¸&г3?‡pñïAöZ¥Æ“¡Z«‘ôZ@IA|5v¨L-ñ5¤bÁR¢™h¸çÄéÂŽ0EØuar§²ä§ƒÞ"¤aÄæ ±››æ4.DDv¾-*Ùô_ÁáÖÎQöîM¹âMÊšñØkCa†àÁº 8ÜЧ‹WE=Š‚´½°DÎ× ý"¬Ï® ™¶Ä*úqÔV¥Ž,lF´ =¬9¬íV£ñEqlÁöÎH¼Ÿ «žÛáeÓf¶2ëUúq#wŒuN°ðzº5DÐjíέ:+lºÖèŽqšÉ•Aœœˆ7 2©Uw†Ë/²w÷ùPnËÖÖÞ‘•ÌvíNŽ·e6 FâûÜðÕª/Ö»ŽjPS¨@™µ"ø°ò½B¬ô¡¥ÍÃëäœàH‰ŠöîŠOÖEï=šíö vTD_¹0€;X§n×–‡jŸ$èl/[j௦êº3!þŒôtµtƒqM±c?©cËÒ!.Å-£ÐÍqäzñâô&$‚¯nö%M‚e6ÑIªñ„[`öìœVé´ój$o.¢¹"Ö˜hh5E£tGÚ9“Ûó‡)Ôhwtˆ÷§Ì1ÈL6'“jüc1´¶ì¤di67£ íÀH3ùñjÝÆÁJWž² a’ÆqãÞéÊ…‹ qó¶Ù­ç6ÒÅ¢´4¬ÖÔˆW»¢ó5Nk iôÕå½…W§Ôx¬³ÄNšeE‡¯äÌh|³ŽÃ_ë_œóààƒêèx£¶:>+Cç-ÅFøh°XtüBY’ÉóÁ…«‹Š…¤™CBbˆè—™Û1¬Ÿ&óµfØ<”KSy]E«1*ûø€ï´[ª'y²åý¿¬ì~-D]}‡²2EÜEÅòÑ-ŸÅÜž)´þG~šÔW@’T~MJ¶Ü޲»bã>^ÙôQ׿ÜÇ;ïzzIfÅÏÌn¬x£C˜…֊ѯy•ß÷ìÛ¸ŸÁaÈ™Tß"稞¤/È®›w©Àsb<…ž•5Ù]îuÖdÂhi™2N·a¿=·¾ê†&v_õßÓ­JË/­Rþú¾ Êl×O?Cnb-)#ç-`Ç‘fåáâú˜‹Þÿ`«$RSL¦â=µ°’¤³ñYF&Ú`´wS.—SÕ¯÷=!Å’ÙÖý˜ÝX}¤êsÎ÷Åßå/· fW%èL>ýø®gº]B"@”.ˆ¾~gÆóŽmrúÂñZ¡D´¦&\Âj9jX_ÅÑ1{óʼÛln¥k49tòr¯öÁ <)V5t]Ã+?Ϥg騆ÞJOÛü2Âøˆ×g®Slå»ß¨LÐ=€Vu­×WŸbZ{|ä::ºW©ã®Åø®uYð¿ðbÿØJ{kC£/Ò¶ î¦ò†|’ÓîæÈÙ7=R¢£ßuûv‰æ¾(”@ ®10ÐY°´•ÍPpu@x¼ý&>ŠP—’"ÂÊNùÎm¼ŽÊùè +zXYµ‰èÈå` ï¸(‘7¼*`¦vYz›=&ñ_d0½ædºÎ+×Ò¹AçxÑv£ÔÄò‘W-\Ág–Ê+^¡¬qÏ¡ûèÆ ê y°Õ._Œ®û‘ö&°Ü"&¾À­c½Ëþe:“YH˜( ýüOžÕ’ö‡¨“; ‘­ä]Ñ{]4³|¡¯ŸÿP^>}ºWÖÅÇ¡#ªTÈÅ©pT·ýÊ,]£—‰–Ë ŒÑ{=̽û¦O#ë×v¢jnàAœ¦'ÏQ$˜ú5‘LViøw/V-~¥üÎP÷6ò(œ3Òñ­ˆäoÌAΣDá«¥ÛùÃBÝ+mÓ¿pÂ<›êÌñþöi9¼¢÷{=_.å&Xñ‘²Nu‰Ô½²©“!gÅÍyQÆVè«ùÔkÌBœ-{ÏÆÄhA”u‘¥kLgž†ÛÑ]EÛ¹›J 'ÎWð¹áæ ›X–ÌұçŸoˆá”(¸¿É.8ýcض ¾ÞÐq&Çœš #ŠÛPÖK&¡æW×vvñ¾ÕS –jÆ Šï×Át'»˜ƒ*Õ¸Û¢¦qwœ¢Ýà1V¸{RÔ€ÀdN‡“yÌŒ8µîÿ…í„}Æ88ó`¸7L°©¤ ÞÍŽþlœÜØ ÕÀëS|ý“;e¸”-©¤¥ùBdV.êÒ;Ìxëõm{I«ú"Í$¶&´v©Â#E †dç|¬Lz/~/¤®ÃI8AlLH’HÙ(+›€zŠ;ôBé-}¤…Sw¸ªF·®òÄaæC,ÏÉ—º•ZN'gÂÊ<ø«•ëìsÕâêŽPŒè»ñ»ü(>õ™:ê Yxõ)¹ò¸À<5áÃZ†#C;QùŠÉLïhÑW.­HÛF›‚Y•¦a¯ÈÍî[«Å#9ŽñD« Î! GùŸüâ, EÄz¦èo›# õ¡_ÌÂÄ÷·ÀJ…VßÏÆ;YsxË[Öw šøÐ!/€TnœË˜!¢8òþj›±$‰’ô•蔼‡w,ë¤îE.‹+e5Œø´ &ÅeÏS† 7¹ñDzlŠñEô/>h»ƒª».ÒÇ6‡¬à¶Ë,2öÚ£qùbúlµsøú/`ß­­)µnמ科Zšº,5’Lq»kBÑ̘ãÛï9‚7ø†pÒÐoÖqá#1‡†M?9ŽŠö¥ß©úW³é`V°…ï8t½Šæq°Ý¤6£áŸ›´ONGï$ú°¼µm œ¬sèϧvô`Od°1O™9XDO–¬ÝnõžhÍBç}"v³’ =„ÇÝð'îŠd0 ›JæÁÚrŒ9E½à·ø Ø«j'YÔt¾–à@ë!räRøtÉïâ&y{Å"ª@·f¬*Ü8h¾ÓN´6ø¸íw˜çC»<^ LO¿Mcžám„M¶ ”­˜(~彺ý,•Ôš¢pM‘|ôœ '3ÞVk>C«ª-êôýý«0®3#Ø ZºÃbø|OÞS¤ød”_´ ›Ü~Ê·Ô?úcÉФø/½›òïÅÕÃD3h(1¶§_Û»N`v¡ÃÒ]/4oŽüT> ï¦ÿS¥àçœçìw2:` ü£ôãlq]3=°þ{ßMƒÕ*"'ʃX©úȧG«‹èd•2çf¿‹)kAÒÒõbÖüíÿWÝ.9Pfô-‹ëÁà,lhÓ8Uæ«ELDn"Î&»kÔˆ_×n¢tW ý6M'ÄlšY+¼íðpÕ‚«Åæ©Wb]p/š>¸J$Y§ÃV`ùøÚ‡oÝÌÓ7Taù‹æ5Ôø;á)‹O¨:¶VÚY¢HªÅŒjÔÌpZNˆ.÷¶X\$2co¥·•(¢$µ˜·ÄQˆGûº“/q¸9ê˜Ré²eSFì|T˜~òÉQé~d:²9Ü.gò¥÷1×¶cP ªç(J.uˆç‹æx2L’LŠÂÊ´7 Q²ÿT×9„U&²/P kÆL˜DÛI £ñøäF˜˜°fW[D-HGÏíPpX[6zê×+{øE ˜ºæ_…ô¸îóKGÛtŒÙMB]¾šÎ Ý>ëÿYöfp'0ÞOl,ù“ÛÔÜ?cðœ*nO—·“å`^û$ãÜSÆÁÈ£ºŠ†NÚÄšðûßÝ;)ÂOÔÂÔA¹åv¾T»Özµ™"- |æ‡ñ—PÏ‚ijÕ0*G!>Ì·næE6kªÎ[W-Ã?òXoÝ«ñ>kþ]eˆ}Æ i)~æ ûh²E©õ× ]ÿaß&Ûõ›Á:ߣÊàć՜­ÎDÉ8 þ‘ÎrŠ%*v¡§†ÑtÛ…2k›îf{AI~èÇw$°šÀ(A ŸÐw.(ºVÈ”«ÿœ‚­¢ïiM½>HþæmTf»´Ó0½¬‹ éS• ˜JmöÚ’Ý×¥_bj,—1_aÊsT. Ÿ¼=†SIú“d‚ÔyÉdܧ¥l¥ú¼¿ÈEÍßk Õr)3µu#Âaì£&óÞsè:×Lû¡á¼K!ï`Lkɼ4|œ(-YxÔÕZ>f Åî¬Lÿ,Ÿ¯ÈÈÞUHO$ª0 £yRpÆ©çFŒy©Ôþ>³’Î)dÍÑ{Tåi° >d˜%–éZ 7ÜŸóaˆÈ43–#“Ú51Ì4XaûZO.³0m«?)õ©ÜXm#‡e¬õl<½ÙÛ›Eû˜2Éû[ø4‰šÀ“ÍB¼ãÌ@à 6P´74Ài‰” Øz³û@C$£é÷i•_zPLϼ§cg­¸)³nÃaX‚ëpÐQ^É$©´E“ÞéÒ¯P¯^¯“vR†j›k@é§yPÿ¬(ôφ?Ì“´Dž`€‰ë=ø²ÅP4Óe{(‚kÑ×é ² Ôéñy‰Cz÷cí&WqÞjd ÕtîûÏLµlïsž™g©^z°¼_>¥wÓBY‰ÿ»{cÞ½Š>”ì%ùå‚Þ7²Gd®®RçÍð•$U¶U%džwËâ úÓ]{^¯=LÓ܇̓£×`¦˜(ñ ™‹#„_γÁÁÝ+ÉÞ?ªû6>\™n‰—Rꎭ!lã@Z$Íáôòk2ÖꘞO‰¡AïJÈ£ìÙaŠÒ\={癯a kÊxÛß“9‘ºY÷yÏæEK0Þ äÜó‘i†j²-ê•:ý†i÷Ž‚j~=‚ás¼øŒ÷¯½_Þa ëB›uܰ”ìq_šþë-@+áÌN°šÛMºV–i7#h Åë­WY‘U ¸EbZ<¨vŠð.AW“B²¯ÃY{¿Ö\!CE Š]7«*ÞìCëço”6=(6fBÅ>°žC³Féë»Q…Ç· ¦ë-ý÷Îê4]AÓIîûM2û~0–áÖØÃ4»µkg=efì›éwÜ^ôÅ³Ë ÓqY»\¯/Ns£¢Dö‘$v’¾|"®IýÑÕD7!ºLÍÞ¢SÿŒÙó½È”'¸þ³Ž–6 ÊŠ49Xr½³eä¿åLs¼#—„GÊ¥ƒØ¨Uz§ä‹ƒ¹XË1nNÿ{éßk†Ÿ[O€¦óeîD`¢‡-(Ú7Cè:O†¯Xdü6µ–òÑg]«€öŠm½©˜±yß‹ÕT¿,•ò|*¾cÅ™=ú‘[l"T]v*§ªå­PÖïa2“úœ I­ë1تOA³¢3u¹ßç¾*Âí¶\ª×#¦Ú»EÕ­¢<£Ïð ÔЄÊo—mS§3ë“l*°¨3 ÑIÛöá¹ô©Žø Å9V’Ô ž †§ûùqy)EK®çxY2‰gŠáö;ÿ¸Ar€W&@€þ2·Gí•´Ûù&‹oJðÑgx…Ï÷D˽nÂK;DœŒfÀ°yY•õÁLãB+÷båhM³):í¥?'1Ч~‡?v( îK%x´Ê¾º¦XœÎÀÚ÷ ãè#ò¦Ùø¦¢~’OX.ù¾=¤+Q"säHöìk¾ RãL£.Ä'û”4Öøïw´kL¤â®ù+VºþÉW(åà†f€ôòšúN›‘‘²È¢zÖ£¡¤á+ô.Í*ybÅÕSžÓ7t¦rúÂ= £ÂSÕñÙo.–0¤l8z4=­iÁj*Ü@6Ÿ˜0HíúUëÓ&énú¢Êhn²ŽÕµóç—ï·ãì¼’;ÝJMÇFÔÄ€D7xÂB dÂØ=³à‘Šh¦Ê"ܴ→§¯ø›}…ö×VÝ£Ò½¡µýlPÆ„´Þì,É‹ªû f~g$ãàYÌ]âp¹(!$Ô¶n1Èžrçý©ŠMK„yâcó½»´±ÛëQzoM‚)b$Ês ŸµW$Vã-—æÖÒ³­]2Ðgΰô£oDO4ënEûGº¡_":û?‚éCPš›Ç¼º2gÓºR¢ë؆Ô Ê]–$üÁhŸgÓ¸šìÌ8¹ËÓ‚úæ.¾šŽº¥3Ÿ)á8ÓK®‹+N’ªV,>ŒÕÔiëÛIÝšë@ô=ã§Dã£h,¯ù-. ¿žPÖ'Y!mñ‚ ž|þOߘÀ†¿¥8(ذáËaÐt:_ýSë"dµ©Y”ØÀ˜ÜrwâæÈŒ˜{y½¾ò¶G%yÛ=xLÂB†e`ú§±s)ëiðÞ°u^HºlMŸN/•µfÂçùŒÓíC%\AôÙ$=Ýë4LA­´«öÀ‰x° ÿÐJ+À%ƒ­=þI¼šüàªåink&àÉN»R¸M‚rã73S 2¹Ú1X|ùnÁ¯Ùß%ku¸àÊÇκ“ýň+ ¹¹¦-¬b„µH´d©'øÔù–ì¹oùÿÿf|ÆÐ9£Rb›(ž»à!•{¿™¤e‡{^ÂuòÅ2„óÍá¸zyÇ*L+눇ۭ–E¸E)ðw/­ oYY>µágGMXzHÌz¸ùÖ’)ð c©qHg.4߀ùwlÙ7Á[èã‰ä÷yìO8á4þ®'|PFªát:c4¨€™ÛUJy†¦DÜs P¾ü2ÛîˆIíDñú~Ãq¦èñ.Hk€—ŒÖ›f¼6xSÍùÓA( o B~m—E{K©ŸW©˜ü€¦¶eYd'ýb²®:ÑêdÚ¿Æp~½çõGðT‘’;ƒÞBLe \aëoʬ,ÏÖÿ80«Lq¨zbÇ@fš·¢r7D­ÆQh—Æ=j^—äjkýçŒa Æ»Š LöLèh€½ff®¡¯‘û¹™õ+x´ÿ€8­ 3×3 ¨%,ን·K¼Ü—¹:D%ùߘ@'ݾ?Ëttg"ûˆIKø<#ÞÏòu‹DDt±(Ü‘ ŠcVSYÙã·ï¬}ÚgE¡ÊK“”L¨üŠÍ†ïü°8[ÞîöÙZ´t- Ø_59›à4¥¾†oæ: HŠ–·?Àæ­Š†A'õBÂ7í A²4‹‡‚m¿ñÊÛã‹Ç¦#ܾ…"Y&¶ÍÃSiN–<ÒYAÇ_%q]0½8©`u ¾ N,ˆœêªJžXZáxÆØ®æÈq)›ŒsJvõ‹™ÔµcyB'3Ñâ$*/tG#?Þer{Ÿ©"9¨"õÔÃÙ.;ZŸ§.›Êu2s㤇Ûs%ª/¡ó1 ÔŒfF:ÔÜçºá3È™çA>%ø©dâ|ÉT縮¶í7`ú~Ô…~8œ.§¿“ÂoQíBk‰¶ 3H‰Žh”‚®ñX­–™F(J%n yj¤ìdJ$U‰åµqnBX( IDgß¿ X@žTÿ(É „”-°†„Zj£éQ÷\u0.Ä,æâ)[Ve/B9;ÿ3´ñ~âÊnõ:š^Hb˜8„<$x/bè±<¿œ[õäsL Rˆý(E“ÇûJÀ'•8Ú48)_«¡v363kK óùSlIf@ŽPžÒ¾ÓvÓee™F©ž(Ú·Z{CdÙKÃ[jT ´R-£lï ½‚îÞì_“i£LðžíµeÅ·h¨„(ñޤ},xçùk¾Åƒ6@p{mìë&oø pÊÑš‡@öL</ÿ»GNcJâmá¶s¾-5C‡¡‹I‡{¢y–§)Ú‰éü<‹¥ hæ%ÛUùì%“0Ô‰R[Ox¢¶¾O“2É´¿Ö=Õ g^ƒ’ེã;S» ž(Åãý֙æöMòÜiGÇEbf»ƒ{þ¸o¨òÈR(¥‘*!Ğ÷†Ï?U‡„õ–l„½{’U¯@˜±2úæ–•Ó{³“";>¾¾¤uñÂW×{˜ûK0s‘KòZ“í¤´vêä`qgêïÕŒUÎQ;Ü`õÇã3§'é²PJ"YP7tE>•IÕ âù#©î?4Ô¨üu«RìM¯Ääï.…j¹\k˜d؃¢©ÄK6#Ò¦ÞÄ¡pýFW«K`gãùj,3ÎòÒíàŒ½.Yàþxâ`øQGÁÉ9´Ñ(¦°f“\܂Ҏ~Šÿy踡¶,5L—ñ­…¬Ì±Goè-T6ìW@Ï ÅÉ”¬"·®}áÄ󿘼ŠÏœWÿ¡»u‹}' ì¡Å¤Òö¦ó•Nø¿äë¬QÐr‘ɱ2É'ü  ¦¤ ÒD„ìωQÝá M¾hü¡|¡ñ†Ý}Ø*yTö 1«›s&õ ÃA}܆Zš>,3ôJ©2š?ú9x cãVBïœVîÈaA¥º¶}æÍÕ=.$sA)Ddü­°üñ8\züæ{Œ:|ÔUüš€ùæ?0Z$gVt´43ZƒÎZÔŸïZ#"7W¬üî,c»_ ¢½Ý²ž= µ=ÏçµÛ&= )ciM)°‡;¸l"ÁQÝÄY”±s@ Õ©eÍYÎŽ aî¡â “ Éœ½Ûɶ“€¥õ_žR IüÌ£Ä •rí¢âLúŽjúãÏ©˜VÍ:"úë(ͱ€˜RXvH©ÂQ¶áóh0eAœ2óÌ•Fö!¸¶{æVGDŽ$!ø–<<Ѭ¢ÄB…ô|uAä^^4´æD[ÑßöêZ½;ºü×(溡½°a ½!Ób¨*}ÒÌd{öè[™;´fLñ(·”³#õ‹—ŒçiÉ6µ«8"±©(zë×mMnÜÕ¨™dþòá)'sí‘ôYÿŸÈD˜Rú«À°]–{›h”ÊúÜEƒ‚ɺýôëÇ^…d/¯¦Œ­&/Ì›Éâð¤š<1ßZˆ‘`Ûµ|èöE¤0¶òþƒ‹qÔð˜ û¸±¼–¾Q‡•>ÔEÙ-ì<†ÙÖÿ:á,~»ª0e•ÂCÜî¥ñò¹<Õ ò¬9n]%ú$o÷gèk>ÀŸƒùµé-r‡8 §ñQ3‹Ò¥<“—fä\S ê5içƒ~œ±BüÎuöb¨–P­©¯¯Ä¬ê1Ÿ„(ì K®Ð7)j!&A³™O3ITé> vËã(²¶3 Z×&6ú¶%jÏ»‹„£œf†£Ö’3úÚ2šÍï¤sŽâؘì…i€f(ýÍÀ‹ap¨>͸Î9ˆ"£]B« Fä*:˜Kkb¿êEœ”Ø,Æ‚ïdß ‘Ï+ï ð‡‹ö9úœÔe80¢/ᤙ o`¼k|…CH4žñyx][ ú=ËÓµmÅ£}½<k·,S·ÓøÎàšÿ%Ôj±Æn™öÉ/þÏñ­€†ž\û€%“åK¢ü9G½UPCzkaj@¥0ºÀLŠËû7CÀ0QL¿PîA+Õ.1¸Õ mÎÙeVÀ¬¬W‚Ut¢(­mY¦M4² 8°xt”ª³ ·!Ÿ>?±¼Èç|©PBGëîÿ{Ê’)Qê'[ÑÚ[Jsh». §À+®X$–µÞŒS¢I˼/‘l×kŸ7°ò­ÍŸØékOz¿ª#¯V92O*d– •îcßèÌ›/ʃJL%O¹$Hô%%:ƒ“¤”­¿ÕbÅH±aÇ$_j¹Q*æÅB§ƒ‹i<¶ò³×øågIМeô­£”º¿ü=µ·Išã?aS CCæ}ÑS·‚aå¾AÑúÈJB´"Ɔ#â‡dÉ©¢™5S÷ó¸sâ¶þp<;ªE]ïÛ ÓQ¾é “¿š:š2 †¾åŒa¦é&jŽdß-\(žtõ2f»2y §¹ÉÍyÁ«7‰Ï”Æ<Ðöû`GYÚÃ9TºJ½ÓšRÝH”°ÛÖki–1ù'xO£9v¿à›Ž!ÕV$³ÄŠÅÖ]w¾#›;¢=¹1d£µ›ìJ-÷LEWÕ;Þxà€SÅyØT<Ê7HA r¡/*/ }²á„q&®žÈ¥ cy^¬ÃÞ—£€E¨É“» ön¦¶g®…2§+¯Kl§âãàþpS•°]Ï¿ã¶P÷¸QÐ7Þ‚Ï‘Bkefé'îÌ%6‰ÄpòÉË]Wëi0àò—{&w^-^ùµ×[cBå=æØs¾›èùգ˓\øögÇã6T˜VYlú:¾ M¹s)ãÏŽ㥮é|bùUúqš´7Ûn"ß)ûs‚ Oª+J!ÔÔsêÁŽ0U]Ç«çéKfÕÊ’ß@©ÐTxJLû1--\Y?öáPÆ<ùZLp™Ž`Úî]õ6ê€L\ üœöZ@rZJ3çjÝ.X™ö¼eåaYÜœoÃèjsŒ^ÆÁ>!¶ˆ¡À®œ|¼Mçÿ?Cl}pZM­ðÈ–LŒ;O„ï¾°’ŽJ$vÌp/àî³Àé—It›×M¸˜<á˾B€XrAv'¶K&RÅ‘Sû&ؾ¦Â=_+€6€< ëµTµj)û…ì <½a(?ë=à’ß.:Ǥ[5ƒéƒœ=/μ‚çNÜsà³äÔÒ(dz\Ð:PØSk’Y¯’ƒ,Û:yîcÒ½¢“O®i9CâiOí”~c™;Ç” ÞEÈ2Dšf7ñ›Z}R  C1÷8…3àm•ô6X'µ Ýþœo‰¬Sœ.øÁ$…õö–[˜¸…Š!ƒËÛ™fÝdZo2Îvü?ïûpÃc „„‘4Ðe»äG,“3¤} ¢À– ú›\àÙ4¶}A14¶m-/Xe¼c™Wo߆åtê¶ » V?n¼èwnÁŒ±sPh—®ÆÓÄ'z’‡XQ϶‘b¾ÑY÷‰©)HIžTDà¨o“”¹gSªËðÇ‚†»‚*ÿ‹çÊM®Ä}MŽ^žYp'yj^ÞÙ{°HZõ]xï§Ë™>Wô¹w3*¦ ¤´/ø¹°ÿ·Ì<–·Ä6!û oÄõ.è 1¯ë?~Ž8ì°jv·úrá7¦æ2 º5ÌAÝ:´؃ãGÚl ÿÕ\(U‹)ݨÐÇéžOúy€…®.…ÈapGf¼KY•îÃÆS“@B8;êÊ¡fEo|c>¡õ3•R”ïÀ?]ôc¯ó¹ ÜAœp˜/Ž*uïo\ÃÐ<ÿVÒ&CW-EòƒŸ!ä1=}àá<³z—Äoû÷ü4cÍp¡·Ñ©Ö1«{ót©0ÀóÜ$[÷oFèáíbðÜó½É·`ô#ûðFE©LÄ jɈ»Ä±Lí±aœfEoÇ5æÉ®/Ì'Ÿge»ï©äéXâÑÈBÞX0&Z"ƒœ] ùõ B[êÀ}ˆ˜)Õ3²ý]ªÁJrsËÈŽ Ãêì WáÝÅÕOÈn[»9ìmU mt©ù[ð®Î•3ÉŒ¬|ùɨjÆ_Öw€ýáä›ïtHšªÜЋ3—pšHN‚Ä–É/`N_`"tÛI΃!U}}~)gût²2 Ÿ4œA¼š0ãïãgJ?r´.ü£ë½œ½uêåIY£S¨S jr= Õ¬H³Ã’ægóDRAW„§9¶aÌg…t=µ° X?' šÇ„ÒRžfåíÓÕ™¯õ‰øxÅÜ…ýùŽ ñ\:­ïŒ0B4ÍÝF†kAª•Ùdž¨¥]ë”ÏÔ% ®¦çÂ<2#èbTŒ‹¤x^ pÀhdEës8`*ý“}®’ø–W²DàÀP5ÐûGoÌ‹ª|ˆ~­¡¹~mØã+*­Ÿðà: ß—J-/®qx„sk¾“¶oI#a¾®a1Z ……Z‹ñ‘fÎß ®É¹;p–а"­”é©þeæ‰bŠPB2Éík@ù¿bXRÄT_x¸L#r»wGX/%ÈÊ0”Ç´pï3ž ŒâOòã6êîì6Їã:´Ž&ÅrqÏñ’D½ Œù=¦ôSÛ˜¥¸3à Ø ÑLŠCëfšÎ}Ym1ÕSÐçÈÑL'Åš)–äÂH¨ìþ$óohaŒ‘¼/Öc%K^ÀË8«÷›G¶ÌEíT=È'£Oôw®ýÀAäZ Ði½àsƒá3²zè|Hp<Õ#äü=¯¶CuÝn΃¶\â5@upò‚WÇ¢¼;Ä@l…² ›™Ä¸%/“{UΉöÊ{x{ìKianER×Ta¨˜\1è‰e›-£A^ÇiÕfÚñ Ï”µfDIúþbl]ºîû!è&kôv¶œ•2Xýqö:×àla;+Â'¡W–Ya2õGÈçjäŠA/DÕi²Óoû¦Biˆ"«Â5íHÙ¯«q°g:ú ¢ìÝ ñZºõÜi/M÷“yõ£„=–»S©”ýÞw²J’u—^)Æò&´E[>E0Éûÿ3Õ_vŸOþ]bU h·G‡×øÉJDMßé(èúÜ»Ù[G¶‚"v½%7ß³€Ä†RÞYåT…ª*LJ¸HEYÆU[uƒv6yÃZ±ßÂëö…¦=}Å“ßsTtÚÞÓMÌéǤó® ÌL~‹Ð\Y˜–æ:)I0†`n‚ñ£Kw²~¹Úw&t6i-¥„¡Úþøsü¡-½ßצú’u¾QO¿å [ÍŽM TÓˆIFt(±»“Â) z°ö1ª² gfVa‚—Ùå÷—ygˆŒ$3ó!FTôž#•'ŽnÄ×E /-…$¨ÂÃïõ ~l>CÜ뜤Š8åÆ|~½9D{Eß-šÑÀ9ßm’0o)¢}­·5W£¯p¹ü‘aÓ Íº.­5µÒæâÙ·À0˜+þb©à ”h¶øä{½tM¾›úæw0ÌqÂFàŒþùqÙ7iVÃ"¬[Ä-öõ› ø8‘©¦-¢ñDÙÝ4¸Üœ«@¨ÄW]{Ü…ùïù¡š«l3ïä… ¨xé?'ºö‰O³ƒ%D=è ›îüŒ4TÝz}«à¯Cy†–dZ>ÏzháK°”§:uÂ÷tÑor:¾‰šüË4Kê±ß•ýÈuqpßJzË7¯ÿ1fT·ÄÍp™€5ÆÕRøÇ$ø£>™†dCY˜ø˜]ÉàJ¥dR÷ÌEב$ž÷-E‹Îé{Í0+-ÍùÑSIC΀w‡¥ÊýÑlV O¨­³´Ó˜x‡{²N1ä)úz•¤ZÈ…wNÐU: »§9nÖ$%„zû©¬û5ùø «fò\ÞxN“XüÎŽˆ‘d!¹K§ à‡|Vë~ósó$èYâ˜Ö‘ÃS±èi…½w¯½q*ûšÇ)? æz¥¥œŒh~’º¿zrÝ%Ö¢g˜Ì‘Å< o˜A̶’ð«Õ¹¹õÉò€ÊWzƒ¶Ý¤ëò¼eë¥ßЍGî¦"κÍÿÀÊùÃvŸ%ÓMáºh§£º<ü´&øcìDf¢¯•$-\6EGÜ ¸øLuòx7Kè ¾»ƒÒ#ïŠó¶ Æ×ižÈÝÖ‘€´ôÎJ€JV¦øzÁ1c›‚¯ZŒ…p(Q‰÷ÚÞFdP#”Çå.êñlê¸Áâiìê×nh×m;íØàˤI“Œ Œð!³•ÙÒ˜àGýèÜÓQà< (¢ò·ÃT?6Y[ÍeÒv³Äÿǽâ QX©¿³ã2)l4XÃ×#©¢ÎÀ;(O&Ö„õ½G'›Q² ï²óÎ¥ä¸T ’ÝÊÃ7€W•O3iž½æ…fïXèåÜ)O+%‰¤õT¾×^x vÏ?)U¢ %³^b8{íïmU”òGb\•9rãz^©$³öý°ÊzyiÔz¬mPê@Cø3¼²u,aÔ_‡øtÛ¢ÞŸf¸jQŒò»ú‹¥9gýdÙdOúÔâBÙM{] ØÍIßýDI?±)'6•@>É-4 ݧzƵ™»nA ’ e£räušJ×'1ïŸ*Ï*C \Ë_›÷•ná£Nfð}S¡LäŹýãZ=>Ú~yµUÏÇ01’@wËôxj=ùMºÌÕÆÐ`÷)÷ˆ'Œ#‹2!j/º]Uâ(Ø~ùã]Aâ7C+oÏæIÖu—v¹ž?žÝ^¹qr\¿ûq^=Íÿe¿êr…Ïùþ ò˜Ä¿-šGÏt €ÄÝ?IyË1ÛÄV ÍåvÜÝÙÀÁüYov~úbnØÈ›B„Ü)°w~—šR”«ˆ¦ÕçÃQŽ?¦Ø‰¾‘"Ÿõ…‘—öÍGiÁÔ¸8+×W”g£‹ÞX±«mÊW‹µ~Š& òß|+5ò¾Lsà¶MRèÖ4ÒE;ß¼)çw—¿‰m›Æ3öÍY 6Ò#1­¢˜Ñž›~†y›ÈD‰»l]¨Ýáü´‘:d7ÒÁA¸ ³¶kdÝ¿ªËbà]þàÙKV—þ^Df‹&¶åÍ9 fz,†®{š=Pî)Æ ½ût ½–@§Êø«ƒ%JQÝ…e‡:oX߀š„rcN}$Š·ä½ 31:wÓqBä{‚‡V{¨Ë^¤ü#G¦ 6ojy§•‹v]ÑGº }ò˜P³dÙ18Mç<^8«ÀcÈY^^5çwùœß4{OLºíƒŒxf;š!)‡‹ú|ó;veaëBiÖ!¬7ˆ—Œm³…{‰£æ…ª9äõ¨}ìùMýëp¡Åþl$€À•WGlѬYÕn·áµ¨å_¯Œ«slZt D¦Ž5Ø£¼•´[›C0Ä·ŽŠ{lE Uk,ÅÙØYdž$ÎAˆ5N¼Ù_+ºØëÁCCšn¯ˆì-5³Þõ(ý—%t–ȇ— øI5û¡r/[‰ëV„ÿpecÞ³øyØgs=‡|¨—ylՖѹבK~›˜­f†0° EÜÉSÎò?úâ*ð8¦=ÿ‰È”¨%_q¢c ZR›JbÖ 3NË­'~KQíg˜ÏíA"x43›~gk@N Úð|%Ôân^•l_«=do½÷¯É—!$Úõ˜Ó“ø)”õü®Ys[;Z¯°÷›Ìâ†çÿ$ú,kT7®âá\rfw“¼ãÙd8{:e2yYS›AÆëûe-)ìŽL<Ô"\X ¿˜Ð0¬ï£[:…C¹ìÈ£×~B£’nÙQyL5ú¦R rÉ‚FªµJ¡?ž`n Þ÷§³öùó^âø«Ú‬…3èåqÄ„B&D—ÅC̉a4/%NT–çÁÔfظ¹»eU;3¾ßïÑ&9Á´ViIgäæ}a±#ðXÐÐdÒ@0í,Öî1©46ö^{_ò•×ð - dR  ª”èóçÓ„ ØUNjj>…a¢1óç&Wô¬Y¸pô'C‰]¬‹¥˜Ë˜Ã /’ ™!¨ñ†A¯$T"ë¢5¶Ä!䥗"Öb0ÜÁ%† v/y‡œ:›}5²…æR_äã冿™9© ²?ºÙ ¿}¼9.jMòh‘V§Ó\ØÙ'/ 8ÝQÈùô¹§–W¬Ïæ=~àÛï® Ud¸FwKÇÒÔt¢âW‡H©‡´8ÜNcš«¶·6´v _+åŸfÞ)¢ê³y] ¡@:"$н—8Ÿ±s…Š”u¶ßò¤]®\^ZêöVëåt’Åó'xA°¥¸ç½2tÞùÝ)–Xô#,ßQm{_Wo8.r-‰ƒ­­±j7Ô¿ l5îh5MöbÔÚ ó&Ÿa9I%qdË$6qXCÃÜüµ"GÒŠà°U¢x°æc¢½“{‚P|ãÞþRò¡M²”y¦Žå°ŒÛÏ¥®€“"iSJ§£“ýp" ‚žX{ãVJC"<CäPs…EJö°LF¶§[;ÐO2©Ïo)B¢àWàÝØ¤lA§£˜gMN,o¸#;T‹­ÑU‹¿§š‡®¼0jyÈ`l!’•~²†÷hÌ6ž'ú"”™Ŷlå)j[L %… Á‚”ÚÞ>…:‘‡ŒßŠ)˜>ÃN?(§¹ÎuÕÂ_Å?Ï`”/Ûí:#Ý M}‹º! ¦™­Ç•¶žã0|bÝŽ£U“mK?tUlÊôÛãü˜Õ¢ÕÊ#rrè^‰<¾ÛzWËþÁšìÉSHã«8¥yt°ú¬*sØ8ášÖý¼…V¹[èÿжoÓ+06€-çàÜL„ÃKšaBŠ×þŒJWxÓmªºIªUí)Öl\÷8•ÎA%çi'†ÄÞkY¯ \xîÓ੪ˆV².îxeÝÎñ—ž™Õ~ÀwM}LA^MÆ\¸çãÔé³'_ Î]†€Å›Èu±R%…|’±åpîÒ¬³S‡ÓiY]@èTïÅ7à(wµH;„m1Ó‚ÊFÖ_¹Ð®YûG¾çà.Ž6y aºË1ì“¿S8‰2¿^„MqE.Öº¨láOpNlx™Šxôª†Ý~ëª-@±M‘ãxÁê³V§»ƒˆ:k®Ú £E•zâï艳I´€¶ ÿ*]Ð)F}ü¡4fÑâÏðnL‰÷¨òÆnÑ]¤ó_f¯qòvÀ §§q5èãÔöÊo(RÎLU@›—rSuöûµd4e¹{xfoxÇÚƒŠÌØíÙî[Ê|q¯ëˆ¾=™ "½¯Ÿ²`…6ãšýäL˜;åG·F“r™]Þj"î桇ã–wçŒ"F °ô¡‹Õ"íÿÖK‡‹›˜Ãu…#NÐ"FŽí—G 5 Î1,ÒP;±é(L ¡;÷³G„¦ ŸùíNMOÆoðàêCâ…(ëÿýMª„à›c/]Éþ`¬e²OÓrZ¶9€:¤d߀K°kô¿íÿñB5Á,9»€´>¢‡É·E!¨&Þsu¤•Úþ•JÕæ®ëŽî\¿€ÇÌò³tgþËUn€ Ãüè“Êb¯€{Æ9Ìâ®è(gs]Ý…+UYYz>/Ì"`ÂÈ¡ZÙH`3ÐØ |ï*£þwÖ:J?î7 „hŸß/‰´ØXøw×WY¤Z²JAGºõb®¿r2GÜ&º'þxÝõvÀ%1×xÌq"ÿS‘;‡ç¥œ6}I¬òæ<4+uŒHTF¸ÆºΤ›^;¥-râGöI¾B/Óx±-K Õ®u¯­e… µçL|¯d˜0ÓΛ|ÜIÐ7(u–S+&O»Ú”Üxx–cfZøìSþLpý=›Å&*3†½˜ýžÛüÙ%ËgK’yŽî!`˜­Ä¸#®˜•1Žé¢¦ÍÊf9WdÔÝýÇø#]ñ{ •心8ã©ìá{2ïsYޏIp»Á¡P¿1ßë&\zþšTÐ-èƒÿsøE®V™ 0…¶*P}Ö Å «ÚºÊÍjëÿc¤ŠÌý˜Š^DÓ:÷ÿª~ëC‘Û*ibÂ[º(Í·Ðîá%L5å°á{õÙ\wöªÜ¡s<“È óÅ)¬Ãö¿¸1(éJ×Sy¾©ñµ×ôa¨X#åÂHö igZeOäOVDÅšF–áßcIhåS§k/—ò gã¼éä«%Å«ÈhÔ¤`±ð±`ÿ{úAÑ ÷¯Ò2ñv,œÁG÷ÈŠ“Ž‘¤—¼°`{PªH4’ÙNFXDÙ» OÑX0GIÛkC*¤éâ'xÆÊ/Jq(ŒQ  3qµgXgœ]…1¨Óþö4¬ÐÛ¼@yùá¢Á=î”oÔ»)a)w?ú&Flh:zkâ©B©žëË^•O½h:—†€#~wYÊÇÊߘ 6Øà:³ž“ŸŽªr7D:1ñWGâ"ysãý$¿‹s›hÿ•:Rç °K?»I #‰mðd„ÉR’ó¼c­‘7„hžœOÚg ×»u9CwxÜÐÙ¨NmxÁIlÀìçC­²p‰»`ó+n½™á+m¦ô¬-Ø•™ùi=軬ØÕ¥Âx8öù‘å°ÀÿWlÓ{(ëo%éÌ{Wìrc`&sĹéôÐßåªH/FÔÁ¶F2ÜØNâŠ7+Iê Êz/Ak)ìÑ̾Å9¸’ýÂÆÚÇ«»lH°F¸®Oç£ Z9÷J ®‘èÀ¢á—ªÝÅm8®äzfðùðê‡ûâI@Úi|Á†¾g¸cÇíH~ìø¸ pÍCfeÜö´DæA‚‘ 5€Í®Œb,:P»Œ¸Ä7:\³Ýñøx1NÙ¬P³øL¹hKÂý¨ÚÌÆ¤+ï² CËÌ™fÜR© ¿ÿ&qæ·LÚ_Æ 53xµŒN žù!ôù‚Mˆ‚5hû(ÖqëÆ®»YvšwÛ=W7äaᛑ³‡rœiÇgb–ñ·ß ÚxwóÜ ËQk÷Qí¸žÉ’ùW)vÝZËWj²—I£LÒ*?fâc1ð£0Ãk·УÌÈ[Šì…¶Ûõ†UâÒ¶ÕzÈà\'„JJ2)ZjIƒUv©gO» ,¹¡­“ãý·sëDaû6~Û‡*NÃÄoõ`³LîýuÅy üº½ÄR ÇÜæßÊMÛÞdfa$!K¥‚©~þíir‘»‹Îi㽫];°¥0¨f¹“çÌvý÷NÄPtßÞíÖbÈEB‚ÌY©…×`¤B7ÌSd€;Œ5©Z–8è‚uO¶ÇûÖ²¸ LH²QÌ/9ñзyWÚv½h¹û'ÚU+ ÌA:ÁkMšj¨§ßí€îîØ·áыͥÝC˜EOIOó9ÉäåÀ›ñwϧ"‡À8€‡ñ»W'›L!©/st«?g!Õ9ÓÅëÚó¸ŒõþÙÆÆnãÉØHÓi jöÅšnzÕ]’¶0íÏÔYPÆXMev–›ï.k¤ð«s\HµC#ÊÊÂ×øÉì¹Q`Å wOòÒÞߪՉaOãÏHRœµ9Š&;BÚQÅ©ŽÜX+³s«ú5ÛX.utΔà¾?¦ÿ DZsR …XÏ[N9e¶Ï~ß¹G$;òDTÂ¥šV'D+AOkáª[´m·HÜ[‚*°áÅ‘Ô`«î8õ_Ó˜&Ì€*Ö` 0œd*#” ¥Ããl¿Œ»ü6UZ}ƒZWè ¡GŠ¢šßÎ6Ÿù<γU”Rúø:({œkc¦8@X2þÍPÈYÜO}Õç¦ ܨLó·¤~¯+gfÿ8¥Œ±ù®¶Ã¯Ô":ø6sreEé@ÛÍÞQ%ñ-BˆãÕq¡2ÏYK»³¸Gò€ÐÄH¥èݺ5ˆ–ñ^–‡Ôª(fY‹X?ªÂ®·¨y2zã˜å³KX.—kîòsžw?µÞòÈ¥×-N©È¨Add-Î;d¡Ú"i™^(šë ÎÃŒQ?c8o'"ôi˜eäVxÞÞå¾òÆ5µÓ£e ŠþêѸ°¾‘Îè¹ýàÿ±ny6jÖØ:u…KZ÷ˆ  \o«ZiäË<±òÃu}R”+amøâá×›m¬Éÿ¤úÝOËVKl6ŸšåöD¸ÿÐåi}˜™¬—ù›ØØÊ¡û‡úÒ6 ~’ŸÁ¶äNqº:íœÊ̆jR#ZšžD—¨çÒT\LmW oéòJ¾´5JÚÌJßIeÇýAŒJËJ=?£ú€mÈ£œ³cGûÈ׳ ñ.‘ÄÝØ.6‹{ˆÉtìÓ ~Ò3,+4ñ¤¬HùÀP^'»ß®«¨.É;7J3z~ÀÌtÔŠúoû÷…žs+ÚWùÄnþ6µ¶âQ8â#¶ðdÛzs4pä6å$_¹yןp…ÔJÏéM¯JUÊY-oàdò&ü$+>9ô;ø]ƒ®wöR¹ & ,r# x¤¡ë3”ño°«Þ†Çq2»®µëÀ»ÞkJþ6AÃä…ÝÉ„àC Ð…8ycˆ\®6äÐyûk±2€öºãÃXL‹ä¹¹ÅøVx•7¨Ž ä Mà)dï yë³ô‚|LA`¾nE&ã’ØáEX¾Í·m‡3oŠýó©îe¦Ô§ïmPi ¾ùµ5"χ°Íæo¸Ú_YË=~Ý_üÕbÓ PîÛš&4Ià'÷K‰ÞšÉ1êα‹¾@vBe©ã¼ £q©4àT³ñú”¬Þy¤kž˜³4$(f!™©b¦µG‡#”Îä!›œLÿâI¯ÊCâY|Zÿ;Å#k“äû1)-ä6vØy>s,êä»1ƒÁ}MP˜ß6ç¼Ä·Í-ål:9'ÌÜŒ¤oä,®‘…·H†wódâçÌTzZ°lˆQg$: Àe0 0¸±«€‘C'ÄÉ/YU/¨®úåmixËÿ8Á…’uõÆœ¶£Å9O`‚@¨æ•VŽ Î<Ï-k®·üá/Ú³£õ€Ð h4Y=}=Þª×v/É‹ò>û `,ìú@¸Ä ˜,”Ýñ¸üþ÷^"ãCTQÃïÈÙ¼ÓŠ-iNéal4´›‚y"\Šup÷Y™iÌàölg£`®(½•wà—1}ùΜ¾#NÕkSÙêù”#)îE£‡ª¥Z 0°ö5³%B°€È^ vÍ%éQ}ÍM–9ž:;2\î¡þýšl]5í´gý¡BÃè˲w•âÿ£V!1gަ…:yó ƒ˜£¦|×%_yçj€vìpóø„··Ì ÀÝV„šÛ,æßˆ¿ÔÊ)‰ÚÙìæj\®ÂÅ}kÎ]:â3:â"æ\’»þ8ïç/Lhà r+ËN:n/ž¨0u2l6VT7Ÿ¼è­_ðV@ZÀ£„ÎÊëÇt,Ù‡<1ØÖ¤9êü@ñ(†ÎLo-­ôŽ¦Ý…(º}èÆyçzþü¼#DHcãÌ>0 G¥§Wš¸ÂØ(Gk/ž}f2ß¹ËÇU/¸AU§ZÐÃÇdüS{’’a _÷Šö×Ç,_Ô­ïÚóm”÷1µ>îÓ;ܬ\N§,Ý¡ÄÂ…¤ØŽ2`1ZKpñk`þ²{ª»²¼H´…hÒ|(‚‘•ãÉ÷F1Üâ»å‘4àQJèlX§H¶Y¦xP•< )¦Bi2Dù6¤Pývº”•&è§ÏÆ=#-ËHîäºéÑ?ðÉ“Ñg+Í+,0½¤aX_›9nP É„]çèã.‘.iég[kàãÃ0ÀÈ‹1sÓý‰¨ì@çŸ9»ê9ì$.âÖSÕñIE{Õ†g‰ ÖŒ±ÐÝÍäòõYXniñÏØ¾Ôë9©sËP»Bî?µç¥U; Ä CVÎÞ+Mv\HŸ'øZØüSûQd|ñ%ÒNíƒâÇ[L­jWé­€è/ „fÍÎëËM–hug}ˆ<ø-%µ¢˜ÍèT[#Dè •Ì¦‡*MÚáÍÿ‡Oeá‡øÞŽQÑö¼µØrÀ…ä ×[H™5`ã3ƒMÈë“ÃúJ´4%aCDk=ÿžÀ_‡dêlb¶X¥ŸÛ¿òõ.PI6Ðz‘ó«Aó%ÈI y\˦dç.óUGë~1«;3¸êN8=¨c‡vùñ8†ÙjÌ8ֶ˧Àöãñe{,ùÓWÍëì¥ÍD\ýD›ÔH;ÄM7…ÂÓ;äÍÄ:Ó¨\›¾ž¸^ÞøG§ó)½ºRxÚº'Í\·¿W× òçÝ_XrnQíΨ/Ù‹¿e!B2y¼oºÃ7­ƒkÿaÃ1 ¨)8Etí8éM3êùò˜R¼D[ ›ocŽWn‡§Z;1tã;ÇS’å1OîZîž•WUÓ òcÀ)ÐugæjýeôàÓ »31¶Þ‹ÿlo]/O'CÕ6¦[ü#s¬£äßåß4_XÉU¢èÂ'½üJ>s_iõ²'ÿùͯm®dwߢöaëGć4„Bb2–»ÙÕ0<êÕ¸²r5¦Ïcnï´=#‰Óº¥àQØÂ€äPî»c¢vò½å"]3^ABœÃttb:vÿÜ‘3W–œï3óÓ×µ‰Úä ŽÎ\c›Sª™ñÈÇy(‚´Ád tô(©‘ì´eSq·r0R€y·Ž•ù. -a ŸìD tšÝFóô˜mùÓ´E²LÎFïbŒÂ¡(Ñ(ÿmÆôÐõêDªK;·ß•‘ñÚ¾ãPÿ¼M$»Ú‡Ø| ¹:/›×ê;vÖy¹áþmÊ‹ÿÞkZm ¾¿ÇÛEœ¡¦žÑÅ’WÌN£“œ04Æ¡Ö?Þey 9y—IûâÁ c͸ÇÎ+£1F‡ðpE’ÂÃ`G•ò8ôáx¥›ð:„{¨IçÆ]ðâ[ežkWÝÅ®¤2ÚäȈ ’ÍŰ´_am¤Dl ¿> Ž1åeGtjÊ•2)¹°á‹yˆH·D– >Zе›èïï”Ù%4õ\¨œÉœ?{‹ÕDB«{õДtôò¾FœÂר¼5‘rÁ§ž½Øô:àSȬBœ¿ïÚ41øñ’iù§3¼¢°ÜL’Ï'ZÂ¥¬Zv¥½Kg›æovyµši÷‹‡£ãÌN9qù8æ$6xª‡¢TÊ•‹÷¼Žb6úû3†ñë/Þ­KŸü¶ä_``ÐÉé,ù ¼Š`lF”2¼æU}1äcЛþFë¿#«7­ /2ÜXÏÓŠYœ-”q’ªl¾]D¿Sça<æ\¦±¦Å~¬ÖÓˆçžËqp6H1µ5«ó-¨7j¦ïXU « Þ¼ÒŒ]þä‡ÓÄ!/(©ó×›[v5'¬ž#ÊZ:kCZ/Òªm$$eÄšó2* e8Ð0•gVõ¤5+»°ó\ü߈w2@‡AßÞÞ©€1x¼yQÃØû2Lº=‘ÀNΫëË9sáæ’9·"ø}p;ŒêK¬HmÞ\\ºüÐÄn{j ´jXMB-¦Òƒ$o6àÔ©Úô©6],M*zµH˜Z;ElïG‹" Òÿ¹c¨b 8Ñz&çá8ÌjJ ä‡m}NÖE(ÒíMˆÍ·ýÌœÖÔ· ˜¾÷_ÔÝ4í˜(3–e¿âÐÈ%a÷ÌÍ÷¸¢cæŠ2ëX|7{AóiÅ  šlHS`’«õK‰lðÐŽ¹g"ÏOšf»uÂ[1îci¼q -z’eŸ”õ7Eÿ?oÍs2Ez •ÒƒJmþjC±ëŸÌ•h¡gúðLOèmˆzJ¨‡ÿ°ØãQ/z_ù‘Ú ²Þp;œàæR™Økon³Uu Y[»…d:¾Yœ`¢PkÙ3<,–œRŽËwYW땤ÌûÕgq‹ÂüuÇïPSçq×}¯†zÞW'?“#XÔˆY³ÕH[<ʨ˜$¿’-êºYŒ1×ìã>›­tP’CFK?‹úñЙ(çºÀäÕ>8Ó¸ù®ƒB\çá7t•é¬:ðÀ©W¦°¡g]ö=Š=uºbn‘ô éú„½ƒ4é’MΩ¨´Úîk’Ùëm1á«úq¯u)£]s •Y¤W8%ֲà M"¤k™­™– 3÷ÏÃWŠ¢ ·À\fŽ:Ü(§CÈ’àf7TZ¨/ñ6ˆ– ¾w—¼K·VLvã­W3#„ˆq?,Û7xæÐ\s›Æ®ûseøÝÌB˜Wº¶jŽdb‚~¯†ãùœø¼‡$¨È¥Š\0e½€’žB”x˜>!w¬J…*˜éãÔä)çÉ=^Ó’ñf)íy.IÑ¥}´íì=¿ê±Úÿ`MÕŠ`ᘷB“§/îÚXë•\ÕD÷n#g¿QûÒàØŸP™¨˜\ÉÌcï~¡>àÁä¯@q;V½“X· ³&ª˜º0ö4nOË„|nn•l™1ÅÎ蓮ᢿLÔ]Äq[ˆ›Ž„ßt”le(mÛg[ô¼É¼9=j-@JW¸ç‚.Ãv§j ÝIg‘],Inª•ldÀôð]øèBòM§ý:þÆr˜HU⢗îžÙÊ9ë5p¯4<&‚hƆdªŽ˜øê¯·· BSöàÜ, þ —eUö÷ð¾Ð‰Kc#Oͱmø8È+ d›%‘Ï%ý2õd `Û8B5½å|¤TÄÝX„´ëú ½â© §¸I;%­È×! €¤&Rzúƒ¬*|K«Íéz:_‘éúUè7q…鲃?sxèc¡ìø³sÕéGÊcòK(ô$åx½Ð À½ &}v-ÌDË@ž•„ì`„2ÍÓÿˆ9M¥\Gw‚õLöf¥ÜÍatþê N›RÕÞêó—qô@Ÿ¨.lŽÃÂ5§ðÞ¥/Œ:•¨Šj%]ÖÊÜõ*Æžìô/80 ]ú<»´["èèaæ-…5{Ã{+Ô±s’‖,®×¹Ë¾¥Ùm¾F4¤§rÎÍçµX‰±{Ld£¨ÐQ"ª{B±€å_tEû‹èÕßO@Ñi.?éÝ{/+š4C4ŽFKŒ„, áÉžF÷çÔ ÒB¸%^nÓ`¸í´ý£"pñIÿ,|”æá@t¿m±Í)ZBŽ…œ:DF¸^Âÿˆ“šÑã˜ÞÀâp½=Ïèñ»‘ì¤ùaâ‡Wå-ôáZ®^8õÿý4b„1ˆ©‡×*ê×ï—¨(eB1Lc€ 9³ÒY>_¼z,‰\¯‡K2Lvñ8ѬJ0—ôœÃ,S±¨à8tF"ôû ~,ðaÑGL‰V¹Š™ÁmÏ=J¨äïqN‰!ØFÑk8Ò¹?/.°(ý¢Æ>ðS’ñõîoX“°9…Øäc@ZóªÅÕῬWX.£ïÅ®A[c}Nà6X=0xk‡oTq/cì´5JÜŠþ/£ƒ½ß4/uó¡Ï±h9ö‚÷-s5Ë+¶p f`YÒÏthîõ9éè$Lc­s²Lø#Ö0¹W“ÕŧF-!Ì©©a•Ø¢¥–Õ„DxôÄŸ;$Ôj„‚Œé¨ï ÏèN@àÐaù앲¬ŽÅÊN5ívú&V!µ•׺ªo˜¹Éxo/ÆáŽí–ÆÇ kf°$'Åc,ϼ#@ $ô°µµ.›G¦ø»ÚP›,I²ÑY ‚ƒˆVNvî9-—4ÆÄÖ±e8?#Äà¶© @f×8…WÑ7 ;!þ'JËÇI‡ŠKEÕç’¬SMñU_x7Îjê¿ SAdÏ ër”·T­e»X€à®%¿ž@–N •ïþfUš²è(¤ðv K~­Xz{,)ÛïÅj:½­ïô[£KOa—¶¼\ºêf"…CëZ”³5’”–=¹F>äðâhÒw,i÷.iQ¤F…ëŒ Úí(M©n†¾£‘ R‡ïüJ2q)Šø¢DQÕû§·«Ù¥eH6·ÑF×Oìzw)M«Ø.]wIJ+ÈrP‰Oò” <°h6ÍCD€×ɯ~-¤«0õ R¼Úåðñi%ƒ­iÆ÷¸:Ñ„!C˜d‹¯4Í`þL-¼¹0`@Z„ð®JÇ,š áIýÈÈ1»ͮϋž¥Qkž4¯jŽIÉ|(ކ ÄbVGĦÆ# ÃŽuˆ~9È'ÓÙŽü÷/ÞT㸠¸Ö… “pu’DÏ¢dSãì9qj§œ¾<íÄ@lû7‰¥±:Ÿ¨Qwg}þDþærYÆn|ÂÂëonWT.M,®"NÐÎãŒ6Ÿ9¹“ï”`Þ_êG–ÀDÇ,OÕVÔëÝ~Ï(fD "À”ˆ"äú«æEë. bPX T»K’C¤Jëç–†×Oû¶y(øBpØ Ôé"¹-#<¸ 41 SïÝ\v”VnÝUoQV8eEèG2êïË%ÒÆ`œ$¯èÿFå`ÿ4Ѓ0c¬ô–‰âP—ë ô+­@×.¬1§ÐÑ…‹€S)ü£êÏ'z~i´a®ë™¾ŠªïUM¸™æö–Û¥ãbªšÞ¯’¥x8o]Á×{([)ù-Á•ÇKùÕ°à̼æ¡ê[.´L ®~81–C’À k“*U#oÞ{ZÅÁÒ·kM’µ õ»ÿÓ"Ýôó{Ùlïlgvíú|8¦Jó<±U¥Gî8‹ÎL™™Xõ#}lT™õjÔ}n»Ý䊎Ä_$FPž4á*ãBÅ7 OlÐÿdüs°j™2ÍŒìº ¥AësH”³Ì«)?ã»f0¦î ËèÃ)ç°ñÿ‹geû½\Q±1;æ X”v8k&îk÷ˆÉØ!ó¢E´J_`Ú•žáŽÓ=…Œ–›(ê"ŸŠJÅ«DÈ ›‰hîÚ”sà’Ó¯*‘øÂè(ç—bøð•¯ú/¬§3=‚x˜ü d= É} ÃaöêÁžœõ©/f^¿óu†‰2Þ^ÔЊÿš1Åó†‘þdÔ?ÀDFú˜,ܦ(]êþOØ*”T0yÂÇÍ 3ˆ£]û‹ÛpŠ„0?Ó¾+̓Î+jŸ›b —ùßA$µjá¶ÔÄ)ª‘œ£¡¤†Æ5ö…ê|m˜ù@é£âEc쥇YHÒ•Â91¥»q3¤­wÜ¢þçCêR…¥q&ïx“bì¹ð u¸˜ü‡D.5мö*p'b+?ß[g⃉BBý²ê†Ã5*Ùr<0CH!aÖ l|bùNËí¢â…¢îan`5=¥ ®šê±¾Ähû6ªÞ¿â™ÛĤ-Ü€äYÆ Í﮲®ÎÄÆ[RÖò^Œ]‡¸«âaO&G»úãÂ}C¶ç7®´E |þì¶Œx¨«³z "ƒª²¿€!™p묉ÊáÃã«Îº"lmYV}> KZ[%X•DÁ¬Ö‰×-ôãD[î¶âæÁÀ»?@Ìêm§Š¾ ä:^ oÍVàW«ÜÎëxZœ•ÓhY‡.Ÿ4ÅX[Àn¨üÆÙ¡ 1@o!§0Ѥ۟2¸øA~»ßpðØÕO…^0ó0åyTœW#¶î>“¥No›Aż*‰oò;ÞÖ°¢ÕÇ•¿hÊÏÛãŸãï^¬»IÇTHÕM ¦¨‡8ÓÞxÅK6‚ëþIá©!ó«î˜ú1½¹Hœ¨êHʃd,fvbl¹›é?å‡1ĽðÞ‚Ò)u;ˆ$ò0ÖÁ.„ä;¡1B|§ÎiŽ+ß‚Öv’Ü/ªH`ö¼mœÛÜ-çÉÚ´r½¼*_ˆ [¶ü¿Ž4ZáµE—XØùôâA÷ú41(ßxù9%U¾ Ïf[4#©Q×.h:fÐI^`… È%±A/l€ˆÅôëU?°0¨{‰ø iPé °ï¨>‚ýô>}Üœ‘öÓ¬ràMʸè¢Óà. xQE•… D°¡o÷Fœ Zögbm—œâD6¶úÀónÕ¹—`œ„ÈW¥–É™!mYÕöâ§Ê ‰U®²ì߇Ñf1?ºÚ1úšïW°ÆŠûç¦ ÈG—ý I‹=ùƒ [+gõG'_ AXM·ÎÊzY±zŒƒ˜|²}ñ‡/ÉLHÖ| ܒØf ¹Œ8¢bÔ•!0`$Vç<íŒðË *|/íyÏI‚(&æÚi@ª£:ig¯vZ†¿Ø¼@ýGÞúaMó7 r¸Ñ#8”óÒFý«P¹ÕMZaos¢}êÊcCà0ÉsYçg:äÝ?õÔªfIÓJEøtÿ׌<ìÅÙ¤ôsÈüÔµ_CX uÉ«6‡®5S¡R4$½I@ƒu†Œ¤¸g•è]vxʑܸ;x>?õWQ/é~xZ“ÂÔÎäfU4‡Un¢¨îÆWò1÷ÞÒ–q·L÷|"i ¹ [ÜÌO‘c ‰Ñ=Ž%³^å®Yd¡“ÓMZ•MÞŸ79BÄþûC%«"o=h™`²öçz×69'w (v}ðè̼¬‚ô‚X‘và«k¶ÍêU of-œG¼´Ãðoð&Tüj§Óë'ªLhã`}‡õ~L9“1v8ÆÕ))­÷Rîm¾ F‘"I¹EîB¥ÁÝ×<½]xz©å_ÐÈ¿tFCb ÚŠ“‚«ÃGÍIÎkò…•ÉÙ÷-1íØ"¿…/Ý"âŠ#ìõ:r·ÇoËõ‹ ¨ñõ¦õë1÷>•Þ|v;k”ÏûËÇsÍf¦SìIãûºÈ…¾¦ð¯u:ô‰åE¸I\&v è“XÞñå_óí6Æ,¢s‘q¸ …{…ŽaØ/ùâÚÐ}±=#bÁ5Z£1n;¯²þ:^Þ°º¤Œq¡!(‡P³ü@HÖ¼´‘€f´F½Ãõéò4ßu3]çg—á,» ÄŠ÷‰¼å®ÁÑLçg° =yEàjIj>«MÏ3ÍÀÉ7 —–d›p^’iÁm U9²©:¦áâõoWt~—ëæÔ©Ë7¦p— ³zºð§ºBJšòvJµYlmÝ=SkZ}€ñµ¾'¤ '3wp»…g ·æ ÒÄÒxÓúÍ5ÍѳƒSÓH÷¶¬—ß³yÌH]øUbІ{ßÜ:üMN+k7_>×I¤3ŽGºÄ4a%Ÿïõ<3øÜ â9´‹¶uäUiçT馾iBÅÅ¢ßà©FIU5Å%C“áPQ%æ£.(ȯÞdŸKi}™Ç>vÃÙs9%µABAòžž•®EÖGŽÛ-Ü`­Cš¬ËJ•äPœV˜¯ŒV!0K]¡r·`€4Âu’üh.OÊÖÚ lKw豪 ;e­o¤aü滋m¼raf²l ë¤@AÜ$øfüLdÀR°þÞ )¨b—’ ‚Ä»,ʉeî¥ø­µ¾Îhç|—Û…VßUÇnÃ?ô{›÷á9ïahµh¨`¢·v¸s㨡“º(”ÛgvÓ°Ñx˜6ÚAþpCY/«3ˆÎÑt&\£Â ÚeÅñL˜,³Ÿ@ûxw¨9“¡Êl2/Ní<1VÐHËG©ÐêØ¸ztöuÒ{îÞ£Sn`?6=h,Akç›ïW*x`’—˜»ÿ­;{a§g-ˆ åo %3{~€ öĨI¤E¯5È)Ÿ;‹`8ë‡õ‚*ÙŸÊæ7$tÁ'ECÄvÌWSck@T™%,ªóúB&y”/™Ruw(²@ݰÇÔO;äÈö¸qdšʃ@»çãÈ;ßoB€ÏÍ=¶¹Žòb^ÊDÄrYâ èe?ओ÷þÍSí¥Ht`ôÔ±#g¿1XP7úËÃ]¾6S™˜ˆqŠªù7ß甬Ãb3 Ùgt™õrì®%e‰$ñ´1vÒ„VˆàÚyƒøA5À=ûzåLÓmÿ7ÔÈž'æÊ©ü´·¿ëõö”.=)çi°êF4°V~-û¦¥ÀØ21î³µ]z+H›at¬Ö"VŒá¹â¡X~¹WÕSkÖ&î¦Î?zÂmŠ€½çZãY›.'Uv¸zqÕÝ{*1û)ñ¾6l&è²ËîºЈ$‘<$Y¦Ã× ËúèÞM)çzzÓ¡€vOÊÜÂV¤ú *­F´Ù k¸›*‚¶ÒJ?(ƒ©™¶ÔWyÕÁ)æ¡{¼#|ø&9³ˆ<¶ yªñêÙO)›7Û„•ä:ƒnxã;s3ù§l|tñÀ`Næ&7fè§'¬ÊÈL=Çî­vÙ*Í_j‡iBÂS„(` "¢1['vÐG5ßñ£Ý«ÆS_F„A…&®lMdöõD»ÔÞ)à Ôþ‹U£„dÚùH°¦˜à õË`³x™Ê¯š|®/ÍýJJŽÂhÄKŒã ¥l„Qâ‚·3{›j.“·YU  _`JFä¥î¬ãÖ¢hd·Þæñn€.m‚.@ôTÑÜ âï2?Q^¸qرb>à!ѳjåà"u……’0S왌alþkÜzTàCY5TçŽB›Ðû S’#í8àŒø‹YYn‚ŽŠ ‡˜‚L¬*÷ä‘nÑêT‚hÒÚò6›ZûËq çé¤ß•V'–~e‚ïÕLáxi,XW¢+N ’ÏÛ¶¡Å©³vpIç‹°…kgBuåÛ'½ÙcÚÍÒ ·Ð¥ÐY£+¢­Ý3¤L0¬q(¨ê*`«„[ª^3§Ó0ÿ×î~Ç(1PêØbfº#c9ÿóíl…Á6º½ò-lÖ†XÀ–¡$”‚Ê:CDð §µŽèú‘Rõ”DïF_ÞRS£)¯®š üE/·ïâš…ì(^¾´»’xÄwfy=£e )Æ[Þ# ?.â™dT,ùâ?R£c÷Ñ›C]£‰,‘bÞΉ ±©N:X¢šú¿ÒÄü.åªñÑœnª‘>féº?¹}j–¼ÌlÏ1]5¹rëÞCq¼8TO-§Gp3+¿2A!H¦~R½6âJîû¼á5ZÚ·í[WÚîQUÕ›µ©¼‡KZεÄýòPË{ëѰÉ1 ”rh›¿ )ÔßÖ´³‘èÆ³Ù §kæ~—ô—Ùóö>;–ôÅÓœè'IÏJÁúÅ{/R6JË:rËðüvŸ‰®Ü"àë`35s­7¹¾8WõÑ›?Ü8×®4‚ 0¡[Ë€ì0ò²&ºíˆ`ÆþA5åŽ[n³òXŽÿ’®rÖ¥ê ¢æV©ÛцŒ¯ùÝ+ÈZÚHÙhHÞÛŽÙOa 4õ{Âȳ£‡XO{y¨úCqkÀ ¤Ø7)ËOÈxkå«JL™4ø¬±‚¨•¿mH+âÈq3ã>í\Jä‹nÌŠjáÀY6™aU Üa‹ü&Ž¿ù‚Pü4n!ÐKcTxj†¯êP Q”b5ùü“=Á©„y˜Ùù/ÍôÔaÒ¾5‰ýÂk ²Âˆé Šªa)eZŠf’N”z*œgx^°…ºáaáB¨ëmê„#„=F²Iõ¯æšÒE=Þ‚7O2˜ËvA e*²V¿ö6è—ØÍ<=Ò„]äÜâ²ý¹@ ~Ò2Ârá@îárE'4ÂÐjÆîÊ!à ž6xÓŽ™çeå~b.YÜèûR¡´¤ÚÄ’:ÝhG›Tscñg k²­[tØgÐÐrAÕ!OË½Ç *å>'‚‚Wb¬B,]¸Œ VHÖUù`È"@~.¸~¡Ä4'm×'Ooÿóà3Âì´+aš4Eå×óõøpdV-eÈ™\t€õ££¢C´h‘þƧ?¿W ‹4üÌéEïõêæ—œ$·ãÇ&0’#44A–Ê*FÿÒm2k h+WÓmòçP½›q .âŽ$ZRÉÖî¥2 É©WBPAÜ „ú7‚µéSÖ³óÆ&ÅΠmp›:Ó‰€ÚÓˆ– >è¶À×R¥ ²õj•…TŸ¯IïàOùdÕ)¹åÞ:·c5çöV-=ÚÆ5Š•=S§¬]×NòV©g?…Ô¯­ö·”O¶Ÿ¦'ƒœïÜý<§á ®BˆßdÏû3±—fŸ–g‰Î«ë íêö5ÏÎË1ãøsy x¸¨Ãÿs,ÜœRòv;Üô¤áȪu@ Ý2€q×Ê7µÔ†!ÀŒ“%§ˆ@#±çìŸjd"¹ —ƒù)pïÂõýIÕê‰`]„ú°ê;QÞww<ý䜒áD+d¦²u=ªŒ6ýé¶&ƒxfŒÔ¢fuåzÚ+oVÙƒÙE€)aò|=™yðÆNPÁñY-WÑ`ÖÓPbZ€Ö§<µ´dôPz49³Gøᘆ ØõsiѸ徥—Õ*æ°9 ^'î&š»ÄÇZ×¼O¸ÛxñË¥²Ž®w÷º{ODj¨Û#ü@߸’jvyÖ?wŒtŠãpÿxŒä ³ÿŽCª$¸æiëk•¬Ô„ó~¹=âÊšx¼bZ:r¦,6tV¢Äoí€8â+ª´;€¨±¦ófõ×fX ÷ý·1q‰¹Z[d¸ .°Øºþ½Óu«÷¡ ü¨Âh…ç:[jàšR5š„])ø>t(¯Xû[¾²:=¥h5`3ó)ž‡LýžA«‘.ú§ÄÒŸÃ;'ÐÂm©Dì Ö7QåZ +Z»xbÅYî Ö*\(¡ýÝñï~pò޲¶áßé(GåÏj ½(~jÎËÆ)öÇhŽ€ïM57à`•¾¬7²"#²ÃHñGš=5tNyB{ù˜ºI?À)yöɬÈÐ!èI'ö®J"ˆX¢Üú{ŒÇ|ãZ,Ê_$@/NKÐ;‰*GÖ‚–›Å°rèP™´Šah7þ‚ÍÈØÑ«–5,çÝ£ 9=½¡“³yKÏÕ¤vŒÑ+ ]~ûƒ¼¡˜@ëuÔwë÷n‰>õÄ®mxŒ´*ÔÚCÁÒ¨ˆÓ·Ý¤K«Ü•åÝî›UwCš(‡À]6 ÷fÇ’b‡9Ì^Ó‡—¡7Ê­Ý^ïÁìOÆiÑ ‡¾ûü¾ùÿvç٨ע=«È+~‚Kz^¢° åŒûÆ™Àñt(PÂ1^—…QÕp^éYqí*S•è­l˜sÚÅÜS=ÙŸÕF¯jéMp.z¾Ð]%4#\”I µ íï:Óqo»©)lT9Ùf¢îÓÆ5k‡Œ7÷âØô¯9ë‰<‘ | †^Aú>k¿4×&<á`ÔpËjøÛåø­½f<Ù¤Gzö´ô]‚˜>l7ß”‚&>1TV¦æ»á,´ŠIUPÐ4QP2¼”4Õ÷6:&?Ã÷ÿ‰5qËvØ~‚6Õ“1«ëáîuæj2žøs¬ÞÿÉcÁcͲí›ÈaÞ¾õzÍv2ùêUR陫_WgÏêÖ®VàÛêÏÑ—í„6@CCM‰˜„ ÔÚP’·<Å(ÝñGWR,þåÓ† „êÆòœ@h‹qA»P;®x¾¨kÿ=|”ZÛé{H Ð)4_pzFW”+2Î8&½$¶µßiçv-¶ ) Fîúëž T踂–Ô wî™\xƒP«Óë¡1äÐ!7ýhw;~é¤ i'ã%rj À+¡ß‘Ô©áBý˜ñn¬ƒ±ë—š_ ·ðÔŠw«iË·œˆà½ÏÙ}hÕ…ËN]€Ý“;󨵌ç¿0ÿÍ5ý}Ánu@Œc€yÿß  Ž]Æ84 —$Å㜗‰oÐÍróTOÛäpXq„¬èµØ_+žút6\fbÎ>v÷oÊJ›ÑÖ´ê¼ëö_ÿ5¶û_€t°‡­tqЉHÈlIÁí²À¼ŸÔå±î—–&a­]v}¤ŒâMt«vò™u¼ñŽ`ÑX¢Â#á>ÐF«ÕŒÙÁÈÈ÷R™–gìBË*ÔQé ŽPŸ1ðlCgé«&Y¨Yt»ê—ß—]E.û£â—:ûÚÆP¡'V92yþ³ô¤#4#S¤‚ëÂÚŸ½´(:š'BªUYÍɇ̤%ÒŠéf6Å¡R”J`óÒîÛ$à\P)¤Ê"ŠŸÛJè ¸?ƒ WH¨!ï”ý·=î_®tÖw¡ ä\a C£Ø"»Qp0ܰÿt^ñêgº z\bbRih6ø3¥qµÉUR8 ~§ÃÑùš§Y”½nV nIgÚ'FÑï_ý»ʈIŒŒ7šnvâ6néU–áì_ãã¨ÄMVÁvBt9åôB¢Þ?2Ñ J™jÝŽ^¶®öcûí4' ¤erþ¡e«»dñ¦hPZeÄ„ÖÇ|\½ãCXëðÑZHœ’‹Õ¾sÝÚ­@[UÅÇIÞvó]…Ž¿´bÃ|žEXÓÇ=RÊž55 J›Ò_²“%Žw¥äy¶1ÖäïÞæÿ3âÕo2{¦m\£ÿê¤2½“”.:ûVgvýRÚìàí»²[hJ€"÷&&ËÞÄ|S,cZ*îÈ3•}èÐŒËΓ1£Ë!sÇ]’.Vxz+¸cº#JIUP °¸cN¹öo¿Ö3IÓæ°Xzu<£÷ ù•’ÔµGÞ]%û~ÂÓ[xÔÅ;•üçô¿ø¹î`w-ÊN})Mk?ô3ÖønÄX ñVmP;¦ýÀ²Û\÷F”ÃH­q:Öàë„Ùl>Bg.©x‰R »UZñS(*J”7r*‰¸zH+™°„\’¶C÷}'¢ ´ h;DÀ ÐçŸ9Móí®ÑààéE· ûÄ®‘'ÃaË&·Ä¿¢@üsÍI’¨°ëjGÐÖ‚ÉlYro”_‡ÞNãJPsz홬k!‚¨‚˜ÇŽ %9?´K›QžÓ[ÝïúÕ&ê þÄá”7N‰ØåMÑÖ0lº'³eàŽï‘^|]|ý2+´¤ï½ÿ÷ÚxY;sk„•&OÊ ‹&¡¦æ %iv·½9£‰c¨µ]RÞ»xeQp]‘k‹,Ц$ìœBøvu‚5‡Øçèveˆ)€Œ <äKì!Ë{)…-ï Ÿ%èîàO2ߌOùWôºŸáÜC¯æj‡’G—‡6o¥Öè*› 1‡ ¦gÞ[ ¾ U±È´üFç`†£O°8â2¼ ÇU¦ ;—ߊu<ˆMz€¦a "ñ ?H¥d©˜±Èê6„%H{æŠ$ÿVÙØ©×ȯU¼±g‹ 5ªÇK€hpí;/(ñÑ2Šóµ°QÿT´‚hF=Æ3倚䕴¨½ïoµ—?EâÊrèDŽœã.~)¢ýu*,‹b'®èX²ÿ2b`ªxK}ôÆ¿¢ùýš»Ð¯²4™?¶ìCÞì?ñQ[cF!#°°W¿Ö¶Ñžý,õÏâi%*‰ÿò!追v%¨ØïOl U¼AÜŒ’ÇÕF[óxòÝ”Ó?êv‹mw䈦Œ—ZFÛ¶êÎX•ßFF_å¾»W0Ž •ÍÖD–Ål+W[R$9?¾kÙ4÷c]Hx2æî…RL%ôŸù ÒGŒÊVªßfuð–k!-°¡!ép¹Íå–ƒ*’xfÂ(t€™k#káGEJêá4§6[a©†‹Dl¾Š‹—Ù»{R»±UôS8Ƚ7YËg®ëݡ֌æùêêÙç-øº_äÂq›0ÝWËúãñÏ¢3ÁïqTÒ/!lu>J§}¼ÿ°AàÉ=3ÐÉðÏO²o~Ü$\p²Ÿ%¦þ¼ç Úel_j•îø¡˜JE{À¡#®+»é%fýôF—"9‡Ë§ìæ2S!)#ÖuÍʵÊPlÇäS“˹íѵœâýdxÇÝ‚gù_-8ö`dŒF´Üé —bˆ'a²u¸³9˜U¤¯}ŸŠÚžB!íügBƒåÐçQ ­‰î-–+GÔëÛ;OA GI›ÖNñìÍ‚ÞÐ þÀu Ј ú@ÑRîk4ƒßÜ zØÙ»_É-¦iÊëò†ñlééui·‚«¶Ÿ%šW>˜©CKÁ7ÿú«æáýN‹­eÉCwì>KšÄ;?ÅÀdjYÐÎ嘳#κ’Ч‹p ¯Þ_¦ô–jÓå ñkF`˜‰3”4Ãl¬¾¥»ÛÿQóŠ˜ÝN€);OÙ®‹Îæ`í£J®8ºEîf`$¶!MÏóÜÌ/?÷ëÔo,5ÿÍ 8ƒÁubløƒÆ:  >‹fT4~~ç¾ £ÕŽ‚˜Ælôãâx½©Me=27UM*äX|ë÷±PYF¿‚`uÓh”׎sâê z)Ƥ©DßP!–dÂGH 8¦{ˆêÔ´€4Ó%ž}ð_ý4þàWÀåÏ¢Î9ŒR”*çkÙ´û±ÿRàç`w˜5q~5;¶Y‹{°¡~Ú-²CDxŠýë4-é •ŸÝrú”ÞK;$ÂÛV ÍpS4¹ˆm}ƒ!Ì|ù+‚­ï’ÀV}–9Dëw[WÒ•ç^Zòæe뛎o¸«‡4j«M„ó8Y¦bLÐÑféò´¦Üuöfˆü(8këeAú‘;e(PÝ'ƒ¢ÛìÜ+4›Í@ˆö2·IºjÖ¦¨÷¨óN¿ãO¦Õ4ðÎé/>ˆÄT¦U¼Õ6`×»Žõ}fš˜ ˜–V 'MDl´Uñ.ä@ø½[®nCνŸØT(«‘˼ƒ±ƒ·v¦'ð(™M?žß\˜pÊõph\©-é(” ÐwMÐÀ»­BÈ’p%òÅS)$,›¨J)EÝyCÚ ×–â¶„"_ÏCó©U3·š¨>iÞµÕ*Wâx@õÚã]êIÔqÓÓ$c”dY£Õ±sGeG솣“f_×´ôñÆ›È7@¡T#JÆv6 —v÷Iîú¾b› Qæ$W”Ô¨AΛÿ®ÚŒÜú¨D70±¯q•ãÄ{’¸pÆ ?ÈhNb`FÄ&ÃæW™°'>Hg«ìTÝÓ…œ=¢†×Ó®¡Ô5ƒðݸîfË &‘4º„†é„"âÉUÙÄ7P6œï¯ 'RJœ›í8ùiÿl0N©'ý PÞSÝ+ÃŽÖ5¨£´ ~éBwÚ·¹ ¡R_ç랢¨ÆÙ- ’à"?á*(¾Âeò3¬å½ _J+D÷ œð!h0q^ôµ q]¹¤Pnª2yM0~ð»k»*b‰»6–]ËÜr+>¡ï¾Ô€d°[Ñ¢óR>Ç&ú–ü£1:b 0¸ÿ—ã…+Ú8ëŲ á§îŠëæô½„™°:$öú}G­‡/ÿQ¡À5I3‰îsþߢ`8V£âµ§‰fRi÷…¥%Cå½›]g>Å9m—-³fœÂ~ÒÜ”xâTQ´¸†ÕÐjœ€<Ö}QŠxü²c/ÕÔ² ž@É]ß6{ŽœG¯;&>7ÝPÆT2í-Ù· —C䟒W«‚Äý’Ÿ²âW²H|Þ?BTë0ͧǩ}' ‡ŠL¼“O¦Pþ°0½¶p:R¹^OÒD¡¤«pjÞMyzþÞ–ap*¶ÜÅ‹¡,|˜’ÿœXª*œ‚…@ÚêzŸÛ¢|l÷q¡ú@k&ÙñãtÉ~š §2FP$£‡ó|ì{c4²,dˆ8J.uD07ÞPR•zžoTRy,úîa`BA«NHnUýÁtu¡P´Þ ÑÔ¦·ÛS2¼Ð~øÓÁ×9ÅY­)3o §,Þu¡Ž~yß?Ë´ï ý?Åþ¦%ìë5=§$Ê+ÿx†¥k'5ši¿¬[ÚWE ºŠìÇ™@Ž™®(Õ2Ää4jÒüql LF¿’ÎÛ‡!ô”$ýÃf-r°™ÞݯHûõo©+˜j97Ê9Ž¿]O++b5Ta%¥¹ž a<‹‚ §ôµÂdâÂ’°<ÍoáÜÓj5›6‰T×rÎKêe-šõŽJý±špÓ_ã2²iUÝtŒó£øƒC, !¤s}VÏÕPsÂgã­¨š5ÿbVaY$] Û¹ÆaYôªº¢P>;óЄúÅæð!œP¤i‚˽_dtüÀÅ &¶Çàé´êp P˜éûÄÖ_SĤÍïGj =/¦€9#¹“™"Š|\ßšNü±’î¹"­e12C}EÉdQ4'h44—=Ý~ ë©„h?æ ÑWA¶4g.°|ŸÄÌx!c’¨ca¿íöpÄ15Âp´•êÑ7 µ Õ½å3L^5@m;œ­˜Þý²‹QuTç¦ì‹‡U×ÀJ¹Òšs]h¢»ŠÓÖmċШÞSŸ|•[˜#"FÜáñ6Ÿc}/ý‹Ž“~Jvè³YúýœX‚œÜÚîN?Áwokþ$vÿ“¦ÅõJ¤÷ÓÍ2K?‡”Ú>Ž=«ô¹mHËKá‡ÊçZ>²’©võµÊ3®å+Ÿ=óâÄä|® C/ ^úØ=1ê‘ Ç·/Z/¦`\M%€$öòjÓ¡Ê"U͵Ö~‚ñ@ÚÏÝ nµ!.t^ö+¼sX2eZ ¦Œ’îÃMÂ6ñ_GÀ­þΟê)ð*”òó"Û‹ «^1¬nZj•H]E% ë³¶ºŽ5×ÌP³Ñ \^ï—é~zdrb“—¸j­Ã“øMZ?eœà²†›v0³)åÉ]N*1g†FħâË:Ε„)‚óÀ¦µ‹˜‡ œ‡h0û°Óhg¶xQçXï“‘nè7ØqûÉm'Q>iòT:{ü}Zgf­Éé‰'·<‘ ­tæbÓd7žý¶Í¼ oÎÃ:4±ƒP†6œ)bÉvûá¤\ebÖI#'ý¿{â¹gqÁŒ+±3jT@Þlñ€Ö ¢ÄÞݘ_ Êßk¤Ïã)磰XP@üœs8Ò± bI%.® ^2bCûê8EO =ãßjÎ/Øû*°9©Øõïö÷±·À2 „鑺މ©ÄÖ°^«¾Hkö2Í&Y Á´<œh-ï®ùïç†ìmÄÍHAYr·4es@ |ôºgF?çMD¾æ|ÙBéê…š+C!ÞX9^&$OûÒ‘FuøM†ìêÙjպߣiíÝ!6x1•Çt ˆˆ>ÞºÀ$,™ÕDñ>‚æm±¶^@&ûŸ'^O—&6@Ówa‹}®.;æ0¦„ 7ÎRNÀÇð šiàÒýç˜ñ·K¥Ç¤Sûrarw.Rk¬hò‡ÕÐð'lVRûR9~Bàà=JÔ·/H†8 ¬ì’û›”MW¦Îóö]6ÌNUmzlP É^>µàV¶UyInµ ŸUÄÿ *©7ÆÄn:À#ÊÛõ) ù«G² ™ã¦è}9'më½u¼ä zGÂã¬]têxŒAü 5°lRŽ7¬ø\=€‚[:6<;hA£dLU·½zÖ´$8Uooþ‹e>n´JËÅ»K²ù†T pjrW‰ÅœŸo\^³ÅL¾¤zEÞÓh‰¢é]Y\ÝNNF´¥_ô=ýÎKÝH¤ù]M/̨àñABøŸE(ÖšÞÄ¥F® Ì´A`øÄ­)Õ=ï3Ë“ú¿úJ42ÙšWÁ²¤[BÃÑ•„Yê×p(Š‹)+Ût7n° Æk …o0K°~ ÄC?»©ÜJam–JLù6ðK N»%eòs’†L„ERéh:&øõ2VëBãÝ!| p•É×ÌÔ/§ Fš@bÒBbÁˆ²9¡3€8—-Pˆôu4&{tÇĘó0e'sêÿ*«ƒtþ÷ô¼ØøuH»ŸG51„Oþéô1~Ý#´Eœ(Ñ¿Œ.rœ õQ½¼ë¨Ø¯Ož(³àqí$´œCŒìö®Çv#+fOSüyª n«¸Quš›Ø,Vûu`Ò–°6®²[¿ŒzÔƒ4Í&j†.§“ªÍ¯Bñý¬À­Ù—7!³àüýÚs0ÄDÊ{³Á6WoêsBƒÀ-ƒ[hÖÚÌœ!•lÙ/ÄPî܈ ›‘Rb->·9½£àñfÄ&$>ÊÉ5¥qª;¿ÖÕ†= ·U˜pƒ+­"æ›%…Ùˆu(†‰òIÑ8åeþغÃL´úÁ®RøÓ?¥­AŠoë)îZ¤Ž9]¸£¸BÖttˆðµjnNî ê/_RÚ;l–÷W»‰, ™*+>A~¿D¿ÿ’²Öri×ù· øc!=I»ÜN:îåÀ*&ˆ“éþ‰?âïÄNag q^d‡e|÷8=ÐFj[íý=çêÌðtŒ 4꼸ŔY±Î6ú×*˜ñ‰4þ TÔ¡\9̓2òX°­bâà]ô¸(§ãŒq¡A‰ëu3Q”Ìñƒé@Ÿu¾ŒãÊ$ÝÌíkNðË[“)™'VÍ–GëF`­-AëùÌ î ˜5]é5[{±Îd@( !HË2G»™ûøÈÐÑ íÏf :”/p‚°¶£ÎHkÿ†4ŒxZr¾dñ*ySÆË[‹K:Ívš®M³q¶ç}À¦p ‘—SƒÝH8™ª1‰õÇEÄ5°Þ0àø»2®& ÌyØzÙ¦Çé†ü§dÄLµÇzL’ .Í7Î{-+ƒÛäbãƒÄ,Uq“Q†Ù5=˺æ<ÔÞZÌYãeaŠDæxå9±ñ ø ñÃ8‘ÁÎq ÷Ð3o~l¿_¨Ê-ug™áCpX$€-%î&ƒfS} ¨$ê ý\9‹ë*d¸QâÿUEÑa¥3ƒ:\A+Óñ/Ζž!ï\v:ß³ÔÈxÑ™[ÿæ®·¿xi³Å½5Z|Õ£ö¶ÂýXÿÅž0ÒÜlÒ¿a >õÞxŒ+bJÃq¿ðZLó ®É뉪ãG²¨Ün= †ôòS ù>™c Ø^&vüÐ¥ `™)¡‰ör†š%;è1Ì»t°º ‰šu4Ÿ5Ä„­iGÄœ‰#ȼuè|ó¸ŽiÍÈÈ=óí@þ`¦ÿ‚`,VÜË(¡u•ö@b¹¡_5 ÍõÜ`Á’ì^w8C††Økîz ñŒr\gæ€j\› ;«|µ÷d«÷«‡gAUµß0fOؽYô‚Š˜ÌlúXN²ÓcOZêS•z1J‡ª²«™ÕÜ{Ô‡­ ÐÀ¡«c’êæwõø#ýóéŸ%5ÿG´=x›%‡¦û …ÁEAx¡[ü{p °¿¸;j2'•Ä?ÖU,+((ž>#Ù<ôwóëÝ£ yCÍ/FW!Û§.3óعWJÜ!Ѿø)“ë|lJpée¯¶¸Gõª%ìC;«$ÆlTðó?IsÝÌÒý²UÁdüÈß­;;¶ÍŒUn0ú?$˜„¦DÇI E‡;|.O¶Ü/ª»ûêGVÜM)¡ÖT§}§²|Ld&R âß0쇹ËÎɦ¢rL<ÓƒîˆB? M¶’wyGÂPç?hÈ*Ïb 2ê ßwÖÇM­ºfèV[ðþýý|¦+¦°%ø ¹àÁ×Ú†þ„§ÍÅJCż›ÎûÏÆw7ê6êÇàK3»Z×uˆÒç±>[e ߬]SEAÐ+ß· ^7/ 9¥-˜D´ŽBä6„X Á;Ù¸fiP({/ÖU›§ÞØ:\í%º/U½x"ÂÆe6̾ˆkM|ØvOÿfw“’= lž*„áæ·Í!³YÏâiŒÑÔ]²KšކÄ}3è¬ZfË·F‹©Uàf+ÔÜ&•±c€»'[¨ ”n®Ä{Y·ìcIí –tVë×ÃFÖ”ÃÜ\&ž†Ë1ªiåǃ¿ÜÏÁXr$™‹0ô‹¥MÑ­:s;z$0ìô£! ;¶¯?—ÊÃÙ0<äuý›ÇƒŒ;ºãìá¯Jôðæ~"_¶Xö]ÈäÁvbÙ:®BŒºd&›J¥ŽE‚bžlöÕ &.5jÀR*¶k‚i}D]ÄGómhõeI°?y’8Š)ÁAªH6F²3K7RKÏ{-I «e}nbœ÷bxÓ{‚MÛâ¼~Ç?8Ô¬õÙÞÅ#…y©îҧϯ9CtüL\¥k•$áTLsQ9áóÙ+Éý+{ µ¹-ûo`“I?âÛí²ùh¥ØVö:ãNé×G‰§s5AI3²û‰Ú éìh—I©&î'êÆ`ýÞñ3‰e¾‚nù<4Ѯ̩¤ Yoߟ5èlY õ-ð"SVH~Ű;I¾¨UPØr?iéÈéØ;íДÿ«vÑ8•AÐÚxQXè"rاM´W8ñ•ÎÐ6!|ó¢}¡Õ6 È£ž\}êŽùg0¬ÓIó§ÉöPÆdº–î?ž¬€@Z—8¤—û±QMM7†À` U>\êÔ#”ål·3»t îLªÑC{M¬G!¦ºØèívÒÈ¡©ÃQÖ7j4[v`K­Êvbwï:ô‡e’ÄY›W5SÖèü½q:?Õ‡(ó{ÅBßÐû—È™jGÏÔ‚C…&¡ܿ({„åyÀauÄ’úa¡J… ºö6￈ >ú@£Ö«×¼ ù˜Z;¿ˆ]Ž`9Ÿ>q×ц:¢8m}ôkÏT%œÒ`ôDéš…DMoê|•iá(ª×ʇÔÉÿVõ’á6™½6laœÁÆù[¨H ª›"Y‘ Öå4›îó×¼÷‚ÖдCâ2å]ð´„Û._-çù–¯~¯¼YÞЃˆƒ˜þZ‹ìc!{o6!Í¢w­õå°X Íæî0T|æI¶5ê!mº¬˜ðšKÃõ{x’Ó¡…{.yjëˆBæ±Ë8öevZcl™ñáÚq¯n¤›÷ãôºñÁ*ñ5ûö,Ü8,™˜ßêñ×ê~ï´FOÍVÓTµ‘ÅT—:#2GlÝ0ÆŒ<-«kiÈNR Oö[b ’y®9nîÎ;í¸q>3èêY»Rù6Cs¸©I2Ví«¸à2$_†~ø:Ò“ª‚Y÷®ØS×€Sm ˜#tß×ö£Î\qŸç ê(3”S9¹ˆ0Šå«F´öåj6×b&ùÑÁ2&íÉ}äL/nÕœ­d‹oØÿv盇½_‹EÿÐÝ^ùÀâ¨Ý­OË»$R{Ïô>E'ŒùÍ,’ªq(ÐͨVªw›Ì1ôÐê"©Ÿš  Çw ³ê¶ÈqMšÇüÁ2AUþ†t¯í ׆H÷!¶V¯ϱ2ÔYý3ûãD„E†9ùeŠ‹Âå¥(‹³Yõ§øý÷–&›0Äô ¡ñ”Ùu/xG¹m¿”5%Ø™ñ§ÍŒ— ¹=Xî$*“ºÂ+FJäØó lg4q¤îÕ¦‚uÒ«Z;ßj¡G­ó|ºx`\PA=Å=›D÷™‘ /ùÒŽ2o+™Žñß u: É~·-Ò€is­Ž{Rô‰SÓÁÄY(ævð/^°öázG¡ ŸWÂØ2ÓÔ‚ïwÚ ±cÁÎ;G©é¦‘wf»$÷zœßòfpZD)ÿ>ÓŠíŠÅR¡›øàu`RIÅæÔ<¹{Ô„ØXñàin' ÓƧ€W{ åàÑØù ©\¾5®ŠY­¨¥‹2iæ0¾œ¼I÷_Ñv5A«Üù•Oxx‹\OúL– 6¸Ïý¼Öš.ßÃþ8Øøì ?¢’EÀ&pyð sj:¸šUÏ@!fÚÆ‡z˜óêwÂ(e£$‡Íel”ºLfÀÜ 0ÔâNõ"0š¾¢ÕÉ*v:~Ë€õ÷áSi… Y™e$p®ïù6Âý9QA‹­+>XQ‚-Dá,Ù«³úŒH%½Êúñß Äý?/~+ —õ–œõè€m,q¿ Üf§á¡þÈãÒAŽæ_Om»îAhÓÒˆmr·.zU|…N®_lŒøx,œý™úLúJ¯_/nPH`¹iÃÓY)¶ó8‚†;Û©!¯Bh>iõVõ—4Ú–b™.3K?Vù™©¿›ò7¦?( TÑöyíb]I|Ã69²Ü?‚¦^Ÿ“¿ØƒÎ·•Áôç$ Å5îƒÕ>Zʆ÷Y½Mn­Ã/#Dëµ A¾Ð7ÒþÊyU˜o®3_^›7ì3pûšEé’•ì{PÌè–ƒ¾'€3a «¥3„àB£Å.`Âæ 0þ®|èÖLT)®ˆ0p¨M|1¹ \ÁØ[«›mfrY9}°î¥fÊÂçܪtj 9e}0€è§É&¿ü$¯Ö¿|œ¾×ê„ö .'ó}@ÊÕdöOæ1Ü=–­U0ÂxÂZÎ*}ËØp ¥¹XŸ®´\Ëö†û†îa‘F!£ÜÕ·Ê2íé±ʇ`!¯Š_HK=” b4(~ùòiFý)¬±ó<ÿÎBó(˜!'àÜ“'!ÁƒÐl€SsÜ]h}Sð•ªV_Ž€Ú3Œ‚ðsù<0Û'3ŸËåFWè}ýê¸ØD<ãÄvÞšíš8kýð>¤ýÁÓ]3°a¡Û½iÐô_¤xÒ;¬žwóï%$Üæ.UŸ­×b˜0…¢FÅ=Ú }Í Ü@Añ};¼è×èÿv-é¯ùËÏîmÝdá.^ÖŠø½÷aá e1\ÀLÜÍšÅ&½©A+KÊ”îî¬(ÐvÍî‚ÝUN¥5½¥È#mDNµ\¨‚,ø#(ݹchvs»f \Õ.ž½Œ Ö¨Xn-ÏúœJªþ|þRÉ“`æ±-;ví./ï†X:kþCŠíªûQ¼®z¹|áÉØÅ´ÒÚ÷ Ýö?¯@náïJ .Rêò*=†W‰gLö”mJ+@æ.ûÑ"\Ôph³{ÂN}äM^8~ë¨Êa‘‰‘æõ®rlëÌ*Dõp5 ~;Ì3á :Ä»±È²b(íçt±ÂˆÓÿÖ¦€´î)ÁdVŒB@$ªØoÜ×6ùVŒÑºê#$±Ám:A‰ÛO»dJ.—Àv§x‹›ªDèº7èjr¢¬‰;?¼`.Ñé£ @7'Yt…î 8.K¤&8†ÎŽR¢ÊdôèSÇIŽ¥—T«áàˆí53Ój¢½nÛžl¾p%çQ©_d¹)Ü"æOÁf¯z]ù´öà – µ tP >@žÌSÊæ~ónÎ(ff¡à¥€ÓOôÚÔ“*ìÙ!’긠eó`%AøÏõœFš£&qr#5~ánÄ¿'G•ÏÓ´-Â×̺‘¼“CåOÚÕV¨7ÕôÝ]°ö½G)ÎVÙJL1ÀM/ã tßóëë‘ëî¹ûãdžke¨iÍÚçò÷,lÔ ^è°KGuÇRüƒ¯‡¿£$G²4ÿö¢Í«]ÐcŸmT¢™ø9ß.êË=îSY¦µÌ[€¾<¨ìdj0L©Í‚ч•âš“‡šw”zP±OwJq*,(ŽÀ¦ZÎþ Ó‘ø «¿loº[K6½Ò›:]76ö•G!¤©áÒ…laeã,Â>žÌ¿'Q ”ÝK°éXÞ!9iéTöJ*ó4Kr‡éÕ!:hQzå&ö5c•#Ï›¯÷"SÞ’‡ÆUI4_nŒéizþÆl|#?e4ütÄÔ¹ˆ4jH- ÃŽ‘™Câ§É‘‘{¶ sÏ¢CƒŒÓ Dñ¿Í3žHt‹¨­»ÚÜ$hý`¥ïäv¢ë¼ løò¹¤É$’bOCĪJ髨ˆ)Ó›3ôq-|%bŒ"›B}¯K°IY,SÎï–G¿ƒ£^±ítIÚcyÛ1€ä!Y¾{—8ù{Ñ *ÅgOjߊª¸§M(]ùlvmŠ÷?„ ;»5GÓV‹Ój*à Âí†d¦ƒZ‡êæEŒ›ìü vèÓ09ü±¾Ì>xÞlýÒÚI{½\HÞôð>‰^X8ÔHB©®J¯W²9_$ø“þ4ª‚™1;3}‰VBÛº¿àöa¬q ­Xöð˜xKýi@Ì{‹kÂbl<í41Ž¢@Ik³ëâ,ˆI] ü2õ¢ZÛpÉš¶P‡Ä 2ÛUÀÜ,m©“^mí9@µ¥¯_ ^C_º3+»’dO3DR7’ã¾±WØ‚8ò<#oäLLÝÒæ”Ê*Ð,Ä'õ™<>¸î ¯;š9!´ÊK?"œṵ́еŸWmÌ¢—“\—/éë9Úq!h'9!lÙsëž ³n2ç#‡rέ8<ÔÍ¥ý¤Ÿ,L™¥´æÒXëù½4Œ gÎJ«÷²#c¢ÿ\G’¦EòwѰ[É™Tˆ suÕ±±@ Ü#Ø£õáð E˜5û³ßëP70uƒ?Åé  8‰yƒK y¿AfÓËñšèêè˜ú}ߎԵ@blY°DÚˆsã#Ñ×ÿ¦Jþ¤jËzàÜÆ% Z…eby×VîPWCÔ–R~š-±ØW üà^G_VuI6Mø>_òÓ7y°hltÖ¹˜èÍ%uË¥[ŒI¶ŸÈgáj<8Ô‹ÓgZfõ&PWæ©c©$g[«¤µ>5„æIJõ¥hJ˜FùÃ"tA纫¶.mæ›x‘6©Kdý—ÇTÉÔÞ^øänN&"Rfo{c/È—üGž´G±óá“¶ïQòÌ!9"?’ KÖÓ>âÉײÉv{Æú™vÖßÍ[$+ýæÇú ³ÝÍzq§¦ƒð Õêb14¤(¼7e¯Žòâ R?¢·+yn=ÁηÓOd’8ËPåˆ$R¤§ß¾(˜#h³%[‘”Ý#‰#SÛê¤"ÎyHù–ÀL^ ™K©Ö ùÄjì]Y ÔlÛÔ2›Ë ˆ'¦÷ÑÍ×35Öƒš÷ÓØV2±W¹K±?±Á_K²’FÂ4öÀ@¢®V¹ìF^§Ø¤©ˆJ¾BöT¯ë§ŒÅF9Å•0^ÈX¶VA´P>Éyž©Î|7^È›¦k9/$Öõ‚³¡¥sÅð`Ñ_ï¬6C‚ ß8'ÌØÑ£Ã\Ìü<ÑŽïÜlŒ®¿šŽ‘©lß SwQ!+ž`pÉwëT¾/#0ÀˆQý©n’ÙråL¸n ѱ‰]’!îõy>ó;Võ#,©D¡R“oÖ€D¦ÆðÇáë³_Mçì^:½¥Î㉪èç a,ÂùZ’RÕTÅu\¡Wr-hÿ@™™/²é×Z4¯\ª<™¯U¤(fc¯‹Eno5¨ã8l¬††ÝétG‘)„ë[ …¼.z||ùgïÆ¿šçÏSkó,_ ¶ø YkcüœÜ­ °‰2eÓCó§?~ÁrÓ1pÑ…µæP~0>ï$·ŠŠ%Ûc©F†§.­·žpñ#^²Á;»Ñ²9R[©=½Ö®þÎ2 ¼.B{Àô‰žVmüáñàËqkxÍþÖ4­Õjð­ë»‰ ãc+õ ïdÔ$=KkÍv \0`¾ýäoPaKVSï³ñlð~¶ÂcŠ _ Ùf÷ÖzlŸ_œ±ÐU^+Wf·²išÝ >‘b¾ü…"O¢Ñ­”}–ìÃ÷Aÿ£àGP;ñ ŸÐcøÀDÿ…²xsUNTž¨ ooÉaê í!£ù+@çŸg2MÄÏi¢ÇÄüø8”½¼ÿþV)#\þ¦ÿl‡Uœ£@à†t.¿Í¡Gåxc?€„]»>Ñ‚jG€©Ï¨ÞUS¼ÃÞ´YWæîÁÄéÙÙUœQ±Äx¹8L+31™= K6TÅ{Ý 2;Ohlæ£|5G4J™J¯3Wâ$îóféè¢U‡§z‰û=ª—DÖ2>P"G[WX…Y67}ÓÐ8aTc)ç>¹S_eâs Wa“àcxoù÷‡™MÝb $ÀX¯ˆF%h‘LµÅßm~÷²´˜~%æsæ'OÀ Pš‚Lz<¯»NÇId@É,ád7 šàÅ$`(h{þ_øøä:×~a’¿ÊŠ90!ï9­¯ƒŠ´[b#ÐkíMð‚zo âÆÜ7¤‚Þ, •#óàÄ`1Äh0`27cÀÄó3ºÿ2eà!4 Œæj§¸´¼ ‘¹”*¨“ªèN=Ù ä³ÌŽ@I±êê:ÆOôXíÈÖ†¶åuBŽêc^æy‘etŒ…ƒÎ<%5 ™/MÀtˆN{8MõÒF¶ª d-HÜ:ÚÜ¥ö¶ XÓ€×±ÇçÙ.ßcCÃùîiƸƒîÈîFx¥`•ÎÁœˆì!ÐÄU…Ý3ÁYß$îú¾À„l+½ÏúWò¨®î%µ¿*5xÅz xBÆ@°"×pq*dU¸#ŸÐ£xw »•jåûß?ÀúQĸ¸fHqXÿUQ˜( ­ø¦_ üy“\KðGGvº#9D ºpÊæ@¾”¹ëo-ºPL´„cÃ<è Z÷Æ»/í ^ ý(2`bîcÐÏþ¯Ùa8É„–ªndX‘,û‹‹žR#›6>á}¶³S=z Y![—¾´¬–¼ò*“ƒ@ÀÍ jˆíÖJ­T6˜ø*UíÀ쇅⤽¿Bg¶ö²]Ôš;v†¦}n“½‹û·BäžÃ­Éø«òóи¡Ž” ýÏ™n¿{3õšqsøÐ€|„tÆVî¢e¡½N“Úí¥‘ün’äŒyþnçЬ~ðQ2/x U9â8äza ÕÐTÎ5ajY?̯ޱ!n‰Ã­ár!R_»ÄÔ·'\=–o©­n±Ro\î!Tò‹Š³Œ€—ŠkJ˜;iª/Y£¶s…ó)†¸« ¬_`ªoÏ Ý2KNGü5DçUS³ò¾ÁÊÔ 8èOt¤üÑUÒF¹’ Ôº_¨cJ—ç_@sûà'vˆkH^Qˆ™ß¿ ô‚öª‰ §æñùb|J ZC¢3.¬êijô×O7âRîûÛîJ¥æ9 >Û)Ô\Ä£@+µGÎ^ûC£$‘äè4>VÔYÑÒ¬M倴~éמLê5ìã9ðc:v¢Âo" í§j8QÒ᲎„˜‡cÌ“GCÐE‹„Ü«­¶¥¼ÇFA¬ÔU²ÇT;ã?jýsueÞD½ £)EO?f!“D˜dz°©ÀÝœï˜Yó¡UÊÊu×" †:òoÏðQ%¹(ŸÈ_k¼d«QWâãnHŸøˆ[½tÇ;KÛê¯ÃüjxäêLˆèhÓ’ïhý@‰XÇNºƒ$š¦FžŠ[@?î)ÙÉ®É*‘RvwÚ,:ùDe6ŒöiÛ[y­KÑhrç'6¡8À{jQêÀž?‰-ó)ÇßA.:“RPðá f+¨sz\`hÀÉà/¿ŽïSõ©žÎJæ,Dþz Š«ˆÂQDQ)k[ý3Z\ª>K‘…Wñƒ½zJ}&tl"¥jˆà- dS¾cæÍjVÙ™„¸õ¯ŽXH–'Ž•nú/±•Jp–"K†oU™~A¥¨åÑ"º ù{@ެ¹k¹‘»­,‚‚©-¬9º©VPxŽK*™¼¿¾àˆ’¦Å‰ÐÀ5¥Ù7¾5ÃSz¼ž±d,8ê?0æá•mïJ¶é ;F×9ÿVèQå!{‹d#> r¯ƒEaÛž ùÁxðcÿ%Ñól_ÄÙ)?Dó³¡ðð$nÛX¬·øuµ$À¥TJT)B¤CÌFn´˜²dvCö²Oà›tÕ RÊÑ2¹þ“[™îÙp@黩ìB=*QÝ*9¤øK= à+ªakì¢ýKå²ðR,¢LÓ-Y'M'¯òß ëñ]#zÙdþÿ uÙ±¨«V“KkÖ»áB#Çܶª·„’ M‚¸”»ê¬ì¦JdwS»¯_üûTÈ\½%4 “fùV–3ÚЖ¿n4kä`R™à)è†+x?õ ZÊÙ-R¬x(¾&‰Y½)¥ŠqAyÜSF•0HJÀ˜u EàÀŠÑ.Ûåêo»ÑîömM‘½ ß« "`Žùìâ‹2ly;fƒ!‚ž7힨ׄA“ÌaÉÆœ³Åç± ®îÁ„]ÉÇýº.Yþ2;z&— m03DQÂÙÓ•º‘¶·Ü–h§ÕB~0%X”_„rm}?£ñ¹QÐCt‘@Qžh%ýõëñƒ p¹QÕ™\ÕI–„Kåñ½¾x¾ùO3_–ÝdüK©n;J±Š)á? ”i®¹]ÿ¼‘á†Ë€˜É&‰ Í7š¦š›ßUÏVtš=žzû P óÔØv2‡ 5Á?=d²ëÌûáìØ)š?"&Aåʉ¬¼Ê¤M™ŽDãj3ÛXÖø2 Õ,íš`dYŸÅÒêÃw¡ìû2""d€0 œ³½D„\ä¨ßWÿ¶%r7¯¦Qi–Êþ.Åà=ƒ>ÆO)fÓ—QìÔ“‰¯”è{FìWÐà›Yl$LB†Ï£cvùxc sqŒªñêÛŽm•Q’;Jm&'Sé²mñª°VéuÒÀ×Aºë§¯S‹hè‹Áå¦7£ü³Çî.hÜ5·ц‹j¸¥ ƒ»óJGÖJ-ªË}+Ô»E2n‡ fàú§g4­}°‰‹ ÖK (†,ùè5Î÷=2ßC²+ÉPA¥Æc­mÔã!І•ò»ëë]?7ÝÏßѶcž}Œžó\ Éf ^µVqI‚T6R¶3ÓG²_±KúÝ*55*þb!ùy}F©ÿ¤†ÊŽ kÙšÑðn uñ—DõîGû$—Œ‚ A wäÕTuF—ù€¥€lÅåCS€¯¦‹Aôbwòz@®Ÿì óÈ ýö[åß?)c‚^¯[ìÁÇ/‘lm­QutÍÞ¡ }oÉÝÎsÄ@[–vˆà~+Ih"u«•º A<ػòN´vb ‘ÔO÷ú„!!åµÝ®I’ ø Átbn ‰??ƒ¢™ê¨xM¼Ý·£zá€B}ÎçkOadS."ÄÈ›Žd[¥í8\ZT_TÔë2e(MoêåäbµWÑ‘Ê;—%VÂ/ôèÙ‘¡¶üÕBÕSwÑkœ×"{: SÀO±åø¹ÙlùxÌ{%¸%¼sˆ²3–È‚&ˆˆiKíÍݦÆý@n›zšàJîÐuÚZÙÒ£Û×h˜ S‚ˆÆëyáXÓ$)µ¼CMD‡•ƒ)² €c.÷)Új»˜tÞ£œÂÎ;¤8[(ñ FâY® 4áS>ÌoÂR)ý@£É¶6s„ñk¢ôÍÀÄÂüˆŸífµ!\ôG Ì‹–'~FJÂë„&¶ûÝà§ÔJ¹ .ÊæP`ßð¹á¦2ï´1ðð’?%Ý‚<ý­ý[AXäxfÎè˜3YZÔ†54VÕLžø‡ÛüMÜæm€ÃfÚ€¸ƒt™.· ©ûfÕÁ ò°SRHqÒ?ÚuÅŬînFΖt3‡m¹Z!ï« ì¢ls³–I‡FR3ã©Iõ fº6/T*%<Œyò÷ŽeÛTA³Þs.˜jfGþѦòx›ÇáˆÚë¢oë¦\dt¦1FP 7ÁîT(ðî Úœ@˜ÌÕ4„ÉžÕ[صcYàÏ`1Ƴ] '&!µ}^øhQs°bÏ.Î É¿Fµï* ÞÂ.íš×šƒà™à|<Æ&Õ«Z@—¿{Ç©^`bèØÌº’k{ã€U!"a)§?ß9 øJùg!›ö]î ˆgh@’¨Ñ›ˆ°uÝ&~÷n“‘þ»)Iãî“ÍÕnË®©(o@+3êD¦vo9ÅY ~í1—6Ïb4C¡jiúc+!íâèŽØŠÀПԌá-Aß´?Þèš1Ö^.Å76˜‘‰Û ÕôtE¡fþOÕ/öiÅÄŸI¯þ”†ÃJå·6ný3}hµUÝ KFDä8!¤ ·âHÎ…–ì~x¯É³"ê×i¨žö°íg/#ÐåêÐê_Z-Á!Ò7L‰:Ä÷‘Fµï‘çéìC1  ,rKA²þæ‹ä-ù{ÌÉÕ¼´ŽšßbÿÄË3xÖ#7¼ J~h2ã\Äáôgz€EL¶(¨9+1qÔ„šh9b팄SÈŠËŸ†‡§A¢òeûsþ.§\2-}M1z~Žf`C)Ü!NHd˜ö ‡P»‡”Š8¶R¼äð-ByyýäN=zœü:Pbt_ý¡Có–rSÛgt5ØbÉ. Ð,R+× qîG¼ÂÙÎV<Ôƒ±ßÓióǹJˆMÎׄ®LÈq_/º=Ècâ³Ð6µ­ÂÈ]°d ¤w»œ[SGxÎÊxnª™Æp'ÎÄ2˜©8½ß`¼4Iv¶Íeéô%¶“™î°˜3_@Ì?ü%=ÈÖ×ü;ˆsÎÅS{ÈœÚÓ5$nùxäSPsÅ’]ïWÁqÅŸå!É@ûkô¿è :t²ZHÐ^ W “ÏÅ=\ËÃRóL§» 3"îèPiñäå´3ÆÌ•ɹöâ®^ôÖk, 7wW¹×4¨`p=_Ü4g8í¥9Ïyçw¼L.7”ûyp:¢0¸Ûå|éºÑzÔ¦HPþWåp+R¯g (»p‡y>°íŒßO¡°šÍN(‡áî¤%o%¸±žf•¥Û´;‡pvJ46o¤„ºÆõPx'[©µi‡ÁÝêmݪýø«Ùs ŒaŸr]2¥]–ë«´^qiÙØ**=‹÷SÕ²¹¦Q-¼_•ð}¡OïϺrUg'^JOZdÍüþåõÊñèþo|Õ_Šm½‘ Q§>‘$úÑ5–å\„ ’âýº0›yôTâÞ•Ÿtç#o¯`ðŒH@ØûÕÚ ­4ÍÎLÃ|HÅ:St°ÎS¿‚ü«ßv΢~"âÍÚÖ; d “pËœµ”ÂGPlu46÷ƒy4µ5‹zéR4JÚ\iÍÉ/. F¾€›!&Qìsî˜ê8×Þ•–E— 2èìð¦cBðÆL?–­Ii¼<ìbód©¢ŒõKUÐež/”$O’NËLq€/´ˆÝ|Œûýá øìæÏó0ˆÂD̬.¥²\“ 5”7©®Š Åp«Nðí8ޝ¯·:-VzŒ{9_MÒÁ%l.‹’– Ϫ79p}iÜNoxµŽ±˜„%¿°Ÿ0¿M}½jF'  ŒòÄo½ÒòóêîW°ËwS:ue^y©LB |Kßj*$'0N >·oä…«ß'Sï(m¸¼ÎLyÇ'¬”„–”^ ¬ŸîÇƵÉ(·½5^‡kÀU[&ãèÛÁeÂIU“åD¥w«Ð^»ª¦jŠ;jÚ„ÎÈï,Çê]ïµxi&;z°»ª0R¼DQÂ[Zù~'m 'cŠwºEp”ý—Û@y¨¶ˆZªˆÝÆÌN×Ï\v)·15» Û¶ ü T1§r¤m/&µ¥nüfñÃp"×Âðd$\-`eè¸f‡üq߯€¼q’•°š­¼h8jR`¨þ>]‚˜£Õ"CA¸Ë÷#¡õ[¸˜¶Bå©UÍ$ §oL*=NówÎÏòq®ÂdëìY=w‚NvY1E(oNÕgZ}Œðk“¿cwp0Ø"í/“êˆÙ*ýf}2°Ê´àlà½Æq(4Áš ‰Ï Ö‘ŽÓ Úý”Ÿ™Ã·p—KÖÖaÔz¹ÄÀë¤y@øÅkö©ò„úM)æì0ÅÆ2êÐ=^²Q‹j'åÑùaƒ÷½šµº•ÀµÞŠ€NmÒÞ^¢yO±¿Õ®kJýõÿE%. Íàï’nÙP*·®Œ#¤öõ]ÓÿxfLôw ‹´47er?eÕÓgÊÇÂS!Û@L§qJß6’íT¥:ž»½>My7uOn"#.GÁÔ)ÏŸzsÖ€‹‘Ê<ÔùäTgM’긶Û~Ä é. 3vÊíü©ݽB J9柩wýÁ9ç8§«þº¾²cúžŽ'(lƒ«°Ä'ï:&”ïÁµÅ#ÜyáU5œù´©ÖàeÓ]´ ³ó…‘þ8?€¶OŽgRvh¿Yà9¥þñ/0ðB té2ŪûiÉ®¸Áºvÿ\e%㊂ó;~­`•Dé1]NLnÒŽ†Þ?ž)‚ƒ :=_®ŽÖÞ°jþ%Ý}iÚÉ«‘ƒº‘Ó>Õ?# ùŸ´° /ðCys,éç´4 sIK™ã§‡ý›Œà:täá¦CÙÿXÿ”Prä²Õ.e õ¯#½…k -FžŠ½øÜVJ8(,·{Õ¦pݸ–¶‘EÀv< ˆXÁÚ*¨Àt„”žNèøH7^y°D©(T¹RÙÿ¨àÕ–ïµÔ“Óçßšk V”i*¥ÆÄìl:0ÌÜ&„Ô )›ºµRc—ŸODË«âêDÎlfR›'¦‘úÊ×kÉß7jª;;Æ€§Ì41Z¹mð>Š>}&@a™µFÿÆrU¦tfŠÜ™¢×ò_æe=±ªÀT½€˜3 4<\%'¦¶ÊÇ %â)^?ÇËÒŸjî6HØîºã{>é¯-ÞÁŧ_u¢è3ð?S;Ä`rfDÚÔ€$-l<þìêËÝpGõgã5nf™kZÃ3À¸GŒáÕ÷'o­ÚÕõbñŠ]!k³3RL¿±öÔœK„^T »Ås=ŒõM;AXLÆ7„ï¢s„ Ê RúBŒ?lD?i—¯¼@žë™+'¤&ÉKᆹ#¾ï7€–¿Vû´£ Ä)®Ýò’j¯0Àm½%VÄÂVÅwZS¤ØTAÕD’“JôEZý>”‘¯üF˜Bž÷˜À4Ƚue✒cx J¥ñ1)âfãûR„=C€¾:“ŒŠüî¨Ó}½Ðaºw·¶ÓËöÅsÿ*›“ Ôm¹ÀU9Si°öKñî%ó÷+‹^½„©@h:DžyaÌ—ó\ý$jäBĹ#«»æ¬ƒ4ÅMRê^¯Áæ·ojý…¼î~s¢Ú:É;Oùù´0C{¼$ØIåý¿è­ùFœ#–×NAÚᛡ+ÿÞ}áMqtÃpEBPŸ~œ¾)–f^Efœ8^Ï µ¢”–k¶ñT(ÆY%µvÛë¦ ,ï½…føe2}Q}Ub=€ÕL• šíauVq”KÐ á ­ã®aùp–pÁÜwŸ8‚Üê?A­YY„¯±½á0‘ÂÈߤ›üÀÂäûÔ"¨óˆGsœ‹+½õñm0òeA&]ºO¸±pŠCš,Ÿ·Ðù|;‘Ò >¿µè Ρ؜ì£~±¸/'ûŠŠ@GŸÐûˆOcd”Gê“§mòTÈ,n; )Ë–ú 8bª…pP¸XSÜìOww>”±ÿÃðNW”¯ë~_²R}¥É£múƒŒë¼ë®?ØKàÌâ65ØÑWÄg%¤Wi2fÆÌM:ê–Ú,Y[=òáúÁX_c;id¤·Nºî)#rñ_ÙÆÿCð´Ô%Ûý|GŠ­Ækò¼ÕTR‹“ ™%§œã7½¢ñ …8™œ¨ªöð6ja^ذ{axjUŸ]2îK¢.d¶5Æ3Lf·Ð ö\rÞg#×iƶLšj_ L=À’èh 97š«’KpOë3ò£ËŸÛÙ³äÄV’Nýj‡×æû;XÞµþ¯¨ìmѧÇÌ0ÔºŒ³Vf†¥bI[@`Ô8ÁH»º"TU½˜]έÖvb‹ó\õÏYÐÄzºÝŸˆ·úÿl;žæâ‰ ¶žúÌëpV7ÌdÃÌl}Æ@L9›è…‚Wj^/LQ:€AušöÖƒf·"*hû¦~˜å•€*Ò(×.ŒHÝ”šSa¸bHAd¹ÖàÐga;GíöÙ™ÕÉ {º |çrÐ×ýqÑšæ^¡:ux¨*²]xÄ÷³¨Ç‰7àæ–¤éµ¾+«a«†Ü$âï6 P}z‚ZòÕÜähÑNAΉ§aNx.îóéÜô5Ñ=H¡]ùÔ!GWRM¶Ì$óö½6|tY´ 0±˜”Gúò¦IÌ{Ò%ÿME¶ÀjBF¡†à@LoÙXB+rh~™f]¥û©[<¬´MqKIâ“T:Þ‘Æ_1â=zR%†¡~—iÌ+üã€Ô&ž vÔQº‰ÄºP[ Cf¹EÔÒ«(Iˆ¶xed" p^ gEî`‡h‚ùÒÓ]#>n²#[’•7¤Ûfìq©’Cß—¯=Èóâ¼6#Õ!Æc ÀSIküR­zß±Ñu#ªÁ6Ðì~;%'Vä#3&zq‹!Hý3ZÖ§i{‡J©ÿ-ãš µ¥zr2@’gëàž“Ý%ä~å½7™Ó\ß«7æòL½îH­n† KHÚ«`Èo?*«äúHŠæÛg°é E0^ÔóêÁáhÒ!KBoêð|¼émÁR翉ï_@ŠtQmö»fŸ Ëì÷L l‹ûbQ™É“ð¿JÂóÆqÊcT¿\k‚2×ÏS¹ëž¡”Õ.ƒ”q°Ú»¦ˆ’Ùªòß—Ðî+æžq®eüßÚÖ©E†(øèßIM‰ô‹ë~üáè5‚*ñ$Á;Ó"®/:]íHÞ™o妋1lýÝÂý*êŸ|óÑQ< _ëÐñ†X: ´úÁ…1A±ñ¬´0xÁ·ˆjK&Û4ÁØ$D¶%¼>¥’Ô =@ï§6Òôã•úÌ}jÍWj¶ŒˆWS”6Ò(®º)Þ• á OHZ-¨såw“]pß´ù~IÕ-Y~ú[d"¿£5 |ÿ6? H+a VücmôéÉ»ÁiáqcŠUÐԽυ¨ eTLÌëpd| Å?Ñ¿'­|ÌÎŽõ—´­÷'XÏëqæ"è°z&+ÎúFL¾eè iAµËøéëÓ1EÐOÊ! mòú£Y"çÙTñö¸Ãºä‰)û@ m(/¥.T=\èà®á©=&LÑçÍ6é´¢&zƒèhîgò8"CdacWͿ߀Êä\Q8ødÌïÔÙ°9ºÐ˜—r•ëf°·¹æØï©ð`zÐîÂfØ\?}·U›D’)ü°ÆÞtùv·}s¤>óE×qʯb"=É” ò©é´"|;–T0‹[üTöC䀊ð ÑTiI\{¸Jjm³+¥ÐŸ[ÈÖÓ§;¿®­ˆÖ;cD˜o\/¶Ú…ñÓ„Dd];/›¾Åq ªLLý6òÍ`ô¼’¢œº’`•µY8ÚðY9UÔVVEo‰‘*á#c¦u‡Â eÆëìœ_Æ|hˆVDQ]8yŒÕ\bÙ®ëè$«(Úb­o½â >ÅÃA…™<å E¸àO’0ÂVí0˜È¡m ¯E|·ˆ‘8d†`çͻĜ×ýäõWD³BæVYn|3Kã¹mâà J›«©.[T&ÿk䪖« bY-AË âJþ“Î{|¿"†þU®É¿ÐÉd¾°™Ióïè%9AWY˜õ¦8¶.)S’˜fÞ›æ»f›PÚH»¶€Œ?©ÿ¿\…Möx*´¢¸¨%¬eó©Œ8l†¡î&ï .±YyIp0âÄ<ƨˆÈ–Ê$t ÌÛå‰` ë½ü—»D‰‹8m,L9ÈéÌn¥¶âÛYW~ÇÂ_FÆö;ž£.òbJ\¢@dŽ`Q- l3—ްb`¦©» cÿ‘ÞíPåË/?+¼¾h …¬Žy°ÖÓÜ÷ˆôšQ–ºõ[?wðñÀzÙQa& Ø58Š2M‚ýáh#Ì̹o€>)Çi&]h£°«ñº»¡{ë!±Éù£¶èSaµµ)D\Ðñý2“¹AËÏ“b,kÇ}À ŸÅØ YÀÜÈ]·ÞYu–žÝð‹ŠÅu.¥v“™ÿ0{­ê'24$0Ñ(ï%Ó_Á2‰öµ´—12ĉ4ëx^b"6Õή‘ð¡â;©K>UúÉÇ£ù[ƒBZ\µêM¿ðƒ6’è¾s0¡ú4ºî.‚¿ƒ9Ò`…i¤-Auc¥ÇÎáØIî‡=µ§»õl`XÐðÔ÷žEzŽÔ\Îs% =ân§—Ö=œ¼9¤Ð(Þzmw,ñ,!>µ‚=R‡ŒH0“…Ô¨÷²´²]މdeK™ßêø|ÉáyyjA—²áaA˜ôàz®ÄnSZoàLz™“û¨˜ë"Y¼ÒÚ!-ü,#ö™¯ßC¥ÝRë•mé1ކC­&¥ÀRp;r¯C™h£ˆÕ >Îw›'Ÿžu4ƒ»ð¶qƒ ó$Da+®Wq>²{_u Œ(#Ü[ÓêŸÔ`îÒug‘µ©nÙ©bG*<Û ÉUŠ›öe3Á J†&•õo‹lˆL¾NãwͤCs¤¦·õéøô½V)kီ©Êò_zšèªeOTÅYé? xL*!ÈjiW]Ä—èwÚz,›§.K%üئîå ±ÅU­»3èì¹üÈÛñÖ„!9ŠdPL5—¯ÑÚ}I6èõA­£.‰~z7ê%¼$² ƒ›-$Œú³AîwµJ,¤¯JønJ<%Ö†£NÐ}ŸY ~{vkEEN$cgæì¥Ì~gêЉýóÎ ah\²2À˜ãSÞ$‹‚£#±¼¡½Ô“!Ô(*íO\ýgÈh€Z3‚¡MÏ"t-…CU2âÁÔd}+ 0 ôå‚ÔŸ«›:­ÏÈ™Ž^8‰ÞNÿà5ëäÐ)Dfø²k£÷¯T7ÜjØ«$è íqrÚš¿õ"A¤v"#ɳ‡Àbç™>fÕkÐö›©ö™#ÍK»så6|BðZºåüˆ ŒJ‚´“„tEeB9SruçXQpî¦UÀ+[€’þäV ÃÃÛpØ ç©{§9_æ-SL‘nÝAl\ú ³Tí==í¦Ä‘yx°ÑØŠ'zQ$¿¼¹M¥t¶ê‹]-ÖRŒEêõN­<÷`‚=¹´VãBÇsºˆ°©ƒbÅ•T›üÚñUÉ<±¸5?CH{-¿m­ˆë<³¨[¯<Å‹L)s\VE Þ4ïÁ›è½çw#ß—‚ CUþÚÌKzí«?ß’›[Ìßg’™‘$çYÁ6 ,e[ic ¼g7’´4BÀ“»ÿ®<Ê\‡žiRwª¶B\þm§Ã;uevèiuÇ/ŽFjj-_ÃŒ‘ã t/“¨_AWéä²Ý^Bh&YFçϲ¢æÀä‚¥eÞ‰|ài&¹8â4ù¥V›°~ˉwW!BP~aìJ–)“û3€ýíº ËßéÄÊ^¬£ÍÑèù>ÕC±~ûGŠ2’_ý¹gk©¾dÍØ•ç8¤/Š/(à½=fÓ Eg«&þw¹7¿þYZœ ð*ûUäzÈëœòˆmžªz—ṡ7¡Tœ/ÒÀ&‚¬èYÌ9rü“ÖÁ%×ð$Níݱ½7iÑCÿ5ìM°B8Éçå§p©n#Z: ä±`+„ôB]¼ YqŠ2ÒÓuV”?:s‹¦9m8ú[uœhgf2ìÅ^Hrš®7ýáŠ÷Ë:v¾µøñaÓS/p i–ÝcGÜ€õ7_má%­´ðÅðJc¹¶Û:6¤$ö‡Ðš¼e¦!~ÄRòGµƒ­ ëiª(`í—eWÿ(Ó¯eñ–‘]·3ܦb Ò•‹à®2RL >®Ýc¾îJÅ V pÖŠÐÕõ9ýÒNh1ÅlJVè«Q»‰ùÀ¾e)äü´×îÓÔ^@½2|}Úv³¥—9ƒâœPÓmšœ«j§²¯Ô›µnNž¬å ©sü+摼‘7y—é®§Æk1h³‡`«kôHÊa¨>Z{ï=Ì•¥n°5A½ˆwÂÚ¸À|ojhâ<ÇßÚß5äYÄà¡%ux]ǵAÔÌð~Ÿ<‹ÅÚÆPüv‡­Ûùf›ÙU–(Ä“éAç9ùìì·Ü»%Ö5òÌë0JȵŸõZ¢Ó'Å>EN+³ŸÅ­.ö>¿¨8~à»È®§“sä™ òÞ÷àfoØ:Pjå¤RR:©‘#tç®á­„Ï;Bp“‚õŸ$Qò·‡³ƒÖ:þM7 À$N Iàç[žHaw]‰øIüQnTïîBžóíKÌY–µP©§¸6/Ÿ/~¡Õ¤}év)A£›×&zJÖÌ÷²~ÝXöãÉ´ ¥y9QŠ4¹!úýÝ$Í|R•l…âÿ˜8¾Ç J““¢G;<{vî쎧7ƒ%T¥—…-½9K§XDß˲†„!ãæÆñwX¤ä­H#ùyƒ‡4®odf aØå3N$ÓJ¿ þΊK˜ÃDNµŒ§·ÈëÁ.õ™l-¯±uU÷gš+Ry]=…]Òƒá=: uËG¼)†L}”,`æ(«AJ*¶ @Ë祹4h½i €€K€/PÀ¶SŒ³*} ïí«© ƒ39ì3!"i“ÁØÛ`qoaóÑÏuÓ|0y>³»½º:¬"õílËjà§É”Fg§½ÀŠSŠp–''Tù—´º~¡ÖŒV™Ôßñ „a^Ó*ñšI¦X5¼ÛÌ!¥œµÿ—¾&ÛëÆ™˜£q×i;8AìxoÈöb{ÿßJÎK~S;û ú=ŠO~i>@B^Šî ñ¬×ݯ–ï'YB(ß]”¸’Nø¬ÎvŠ—SAµ¯aÛ''DJÅ<óÝ/"ŒŒIË“Q˜å!bo³BK'ϵAåÒŠROòa 3üì.²ý!C]n·rà7¤ÂXáeoÀ‘Lw0 !ˆA¥ %C¶êÁE’šáºþ/¨¶ƒÎL}‚ÿ¡éšä„ çuµÅÙ:ËÇÔ<V‘žS`'´®jy‹IHHé&ü[Õººšéû¡/Ý©ƒƒ} Ç•†ÏЛVÑë42°„€š|v{kI6Ëœ$RÿÊ¡D]ÂÆjHÿ&?–w¤µüÖ ø.¥iþ%ý(DOñ˜ð‰S_3Hµ.bÐÀzý/ÕC™¿-zß;·èšú<"¥Bh™Íâ´ãŸ›„àûD@`®Ò‘621ªþóuÃ&@ MŽH¨xþ‹Û‰1Þ‚öC¦«ÑG„–vOêÊ–IÓf[7ãV“ü1ʶ‹VÎJ;¬v5ï,üß)j\;È8,´B{¸b:Ê=Î@k±Kœta¢ò¯<'#)©­í‘ÑèG°ëé“[WÎåöFtõ¢úãÒÎù\qNFÓœGñ]@̯bðl‰?k"Uu6pÙòaf¬‘.R!¬±=òJwöÑ-ŒÓ²Ÿ±û^ëÏQX[泚†/#~Ì7n™%‘D•½æÇi¡g”†X¡»d-¨-ø ú‚@?MÐOÍiw­cc#—ËV¿E£ë2ØCMur}VÈWÁˆVÄK¤ä7‘¼U´±5 ®!¥“'«wÈ+uÂF‰t;£ñ2ë<ÖS’-ÕUô†þïômf„¿¬Oçf³)2>I´lÓcož\óI,UìÑ} #ÝexŸî[¡™95‘XP)¯ø”ád¯9\¸/âÅ ·JÈá©çðZõ}HºÆJAyZ¢µ7…ÅógUŽàŽwýØ-[/­Ð}Ö=´éÖᇒ²R©ê”EB&©û WP<ê1%ýê5¢a¨ÜdÍÎÉ\tºª/ÿvÏ6`VÓwš‹î |ŽÚ§ Æ=½Šk]ÕÚ+†¨Ú#ÖÅ ŽÉÎcBÒþ«þ ò±{ä(þâ„»à:¡ëÉà>]E¦KkD¡¤ÈCÈúdìæe0¶`}u½Ù‚Ë"¼ïQ{cǶpê®¶¶§÷r¹ d}íÂèb’«®}µjªH‹Öñkñ‚2‚( ¶hÎW§!¬Œ½êOûûÚLô†‹Úñšâªá ~¨õãgÇÓ}9xº ¬es—KÎw¹ä™F›iY¤Î!Îçpë³3swëõh×›‹…õŠ“›€+¯[ʤ$Ù“«žmé`Ô+Ê’á™Å‘2Rß¶®€,ßÀžuùU2-WúÆ-ºŠ? ‹i­ðgävñq¢2VäùÝtW‡¾2#b˜n®ök¡«±b­sÀ±Éþž)˜e2FÞ dDT9ãËŒ—OÏPµÓœ3)LrÉ0“¢Î>œ»¾SÇê»=ïÓܸB§Úˆ,cÉð€Òže T—àGöîHµ§(¹*8,„(?ÖÚhO¤N) ¤‹`#‰ç§þ#‹iöS¯¹¯VÁ‡½î­=1;XG,{ß ©a#=ÁEÌê øé'~?|µæÄϪ¨½ò½ýCËs,#Šù=Œ,”š vc1I#1Û²9=Î4§ÄŸZÞý.h/€O´ÙÞ–²uœ¹ÐÍÝ™u²ÛÖ¼«ƒzËHš,Ò|:OdÄÑ+Âà&ÓMb÷ntîJÏ#p7I˜;­$m•èU\î’‡‘Îæ§”q÷÷”âáGî]1æ0Õ³…îDêšöÚå   ‹?DtÉšôbŸ @‚w8‘ Nž,0×ÇSɆí—ú"ø H¾ÆP›9CW6ǽ‡dôWB¼rt­L]¸æãIÎ,5‹·ó_ /Ê`³ÕÐ*ªg-M{í¥Wá6>¼+ˆ!`ï¯Üfàͯ!D}é£ó9ÐÒÅ}o>Ö 2/Ή‘"Œ_¡÷û½PâÏ £ÓùiŒ*JGÇ6&†T¹â„Úy„¤fÐ;²¾&(å-áIú¡JÖ,N?úor»a«V˜ªpNfzR#nÝ&Øß\Eˆ@4ó¤yuõ£p¤,"Â{ÜŽ<Òœœ‚¨ ±#!såÑãî˜í‘#` ¨w0´{TI¡ËÄâ#†F?ÍîæîÆ`A PcïýÄ`sÞ,rå寻•Xm•ã«45ÔRÔß}z­“Á1Å;ÝpÐ[Æ;¹ªENºÊ­wIôWþ¶Ý ãïäZö,è…ÍLH”Ñ_-]©¡÷¨ E½‡ãa§ ã*ƨÝ2Ô‡¿ á|b¤ÿzš¼)X€#¦X¹…óüƒ¢ñóíØãÓèâŽæAëHÀuó|x`ß‘=LIDpw»'»|6WÖ©lºbªêi¼ÿ&|±*zÚ'Ô¶“Îvß:² ž&ýÍ;ªÃSÖ”vž,Ÿê4Íâ-“ÃÒXÙÚù¦]‘ïßj{hWfâ¹DV‘‡CÄÓ¨™õ L \ξVŒÀ9튣<̳aIå’@ÏðàE©ñ­é IÁ1yŸ´6«ÃŠi¥)rj/ƒnŸ‹~b¤¿ìª-‰T/²Kò²W»¢I€Œ¯NüÀ‚2ý}–a¬´ÖÁow¯[ÆlÎó„r¿7 Ž1rdÞ¦)7!ôÞan¦Zóåa´ìIJÐŽ(‘ÚsѦƳ±£ù~`u²ˆÅ°™.¨/ÎÎâ?&Zn°2ßbµªgÐ4Ë}å/ºÖÍ%õïp©äœ?¾‘~jDêo¨cn÷ž]D‡^O_¬cxèKe?äyLÂéÓÞ&ð9°’2¦-ú‡EFÓ{šîÂÿm„ãL€ïº=¿3kõ“0M§âC!È"Ž=ÈN™+A»‰B%ƒf&kQÖùL%$àlŸ¥ž¤Í_ØzLÔiü“͸Ú… K¡ÜÏ鸷O)1RûÚ=êN¬ý+gun¬Eg‚ÆEuA ¼á%? i!âË©]ä1 +¬R &)`ˆæ¯îðV¹”@šìwãõ|âfXŠna\”ú'€1,y9Ãì"m«°®s7\þþ¹Kk_f¨Ai¬È€¥ËÔëZöhñðDgî±þBvò=vŒKè 俥 NƒÍIÝ6ÅÅï?Û'š=ì!ä…,ÓîÇx©Ñ ™Mã—h›{´®WY‰ÆçÁÊê"ø)¯lø@Ü¥dDSÁ¹Ýœ…¤*í±A$h?±KÑÑ¡´ <3Ø©zr6HÙ<Û”fôJ[(‡sÚ…¬ärfÂё׽Ë'Ï8¥Ð¦Ê&\V:ìXÚÀõoÖÔB*„¨sCÄûËp1œÜ“Â3ðUðKª;”Aå1‰ïêÌ Mó"%ªÒt~JÅïèkˆx ÅÛÑíHmösÄÜøîÅJ*$”T$×¹–ºÄùyP‰³±˜G:¥×æ+ñ¸¢¡‘Œ¸\ûùO6¼9g-è«„‰²DlÐþZLFG‡¾gr×ÌWÙ4ºB’¡û‰J£U§Ë$8×§,™øì³#f æ„¶}. Ñ«³!oÅ7cr°L཭œÓBÔ³ô¯¡{Ù™VŽMŸuwµ³KVo`ÕûHUÖÈz¶¼rÚh\#±í{(–\°¹ƒDq%¢3©«BûÙQ“’¸Xz“|f»#aÈÚùbr'¨J%4Õ~´\Ã4EF<ù¤ÓÆLâùFÒ)föZ›¿cíí!3¿”ðX%k‘ŒîÍŽ{zLáץ짩øHk:4‡Ò×辘¦Øn1cF!SùÀ·Aê]›†)ÊOÁ/ÍÝôR@o65ìŒï&× ýÝ4^]fb}Y•kOw×n@³ûÇཡ¯ôéŠIÛ½‘â/”â³ÇêuLñܧž>Ôê*0}-)*¹N~bN»­ò„C½1ðÛºB6TS£áO€¢P¶§£ .yLu¹ˆâìwZ.yžÊ"ï,:òÝP%#˜¼—£Ùš¦ dîŠù¬Öû®½í÷ií'_#â×RöLÕâ„B'Ç}Äýô À^ôÇÝa›Ø=û¸áY8{*1¼$y8*‹0!±$ÙjÓFŽD‚Ä}€ŒäÿO˜y¨ñzÊ{|ŠƒåhXsk<£QmåªýÁpkøØ|ã[hzzº8¿.SÏ‚é¥svå÷Ɖ“œu›öòdVòÇ-Ìᥠ=p7Eìþ"ùê”×{¡/ßëØ©3ß_:9 TÁÿ&”›-ª(7ü˜­$P,QÏåhÙ£CbŒí¢{Crý±ñ¸:À´–Ò¹ ¸ÔzçVN§¹ÀìhêÞϧ4ÁþµcØ|â]Q-°á/ÐD¼b÷’ >¸íFs†‰­ïÏ>O{ëÑìÞdÐÀ‚›׳ ƒÈÖDîqNB–‡‹ôR¹³ÑÌÝVq’ô“©¯+e³Â9rTP)Å~ò}ì‡×l./ŠR+’EKÒ{ ;¨bÈŽ£yI¶™¼8šZ6¢œPñ5ÍÉ©ª“ÚRj–vÿM#_§àW–œÏ[²B/æ@¡/Ñ#î×!†\!af©3hð»‘ê•ôV̆¶cE¡æ–_šôÐavÀÕѧ‚X~x@° «˜ÀÕ¤ía6õ?3ÊM©ÀƒqÄDEc‘9¡©n c¿‹%h?(¢„õó’ÂLõµqjâç;Ÿl5€[Jçi'“e½`©Å.ýϨÌÖŽU0ÄE@‰"0À™·ž¦DWKå ¨UÐc|oðêNjÐ×¾<ð<­¦ _Ãs³y TIɳ›ýc®ßëcÎQf3ä°‡Kt+fΪÜVëJF££¦vü ä«.A׺۹àBhmËÐSÉÕsÊ$–· K6îPµ´{›ÁÐ-Jˆ,FÿÙÚ*ïÃÿ >0b“ã>¿WM7rm¸B2 äÓÂy¿‡Œ1ÎñÜ ‘è!á–¾o9›Ní–†Õ åšz£¼ÐN·ë ?ØÒÖ½ãUÒ ‡÷½Hjlà‹•hLq¥6’‰Vït­øïç‡>.˜‚ïBÿÌmÏü"<\føÔV௒ mqã1Læ½Løôƒõn\¼¸Ùk¯Kƒ´¹Øܯ0.mKºƒýdC*fÊ/Aøñi."¨þð µ&m©¥K ‚á™ñ¡÷U©.U°ªPøu­~8Äèëb’ %þ ODè£FžÂ,}m3±¾Þ;Î2$©‰V"¿k^Nd…ü¼ë‡WPÖŸjà¼×û»´Áß!q“€ºÑ¢ï6÷d8r)òÚT»-Tê¸9þ)8t6‰ý¥ƒÇ¨–æP öéâºU'ýúã%ÀŒt²±ëÀ¢ïCâsð#Œ– ²qSC¿ãS™ÚÜ®hÅg\£Ä[ goW«q|~¡Ÿðl:lûu,ƒV áz>v´ê›5™ë'+\1Ëê˜áN_{Tû¹V¶@¸\ÁOvµÌÖ0Íeü§q™Ð\{qɈ$~<È#5Q!xêòFU†U Ç6ØF¥=ëË—AÞa÷ Á¼Ð>‘½éܸ3\b¢g£SW=vzrM4€ƒÔÞ1pqá§®¬‹yæ^ðj _ÿ†‘€iK£e h_ïD&¤­²«öq[’Ʋzî–vNÂHñyÐ %V·¤›Œêî69Åà&¾‰š]{©ˆ¦EÚÜíðãi2Êâ]!5`€…sÊmÎùék_qáö=±vŽß\–ãE2µGãÛ5¬æ§òÅ8QžÙ6¥XKSy9%ÛW‘W©¯Íâ¸ÆDEœÞÙRC^†÷cÃdt²Ž9³¢únNêxNd°Âê‘I xçyû9½+Ú.ãO¿*`À] ôÖ‹¶Ã¶‘ ¢=t›˜=¨J”G¬š’rÿð1!eúÑ' –UŽE;ÈÓÍòæ¶&iÚƒÀ¸­jËU‘óœ0þ¦’”##ÁÚ5Út×-+äÞ¤¿ hiE”v]K;â%zd‰RSn^Y“ÞÃ^͹MÁP$I³j¨Ù±²4Ò¢XŠ'G²`1«á*¼,Èù<£UGÞÎà1*WP½*–(9W“îv??;¼MK6V«2­øÖÀ¯A°,»ýÁÓzÈ–(bÁÏKÈl5ÏH…G,èí¨Øî™~££,¬1J;CË0}ÚOK‰ŠdŸº1A#Mã<¾c‡`*7ÍLh¹=ÐIg!c%÷KíAŽp1:ÑŠ¶ÜâŽW‘`†ðÒ§ÅiXŸÂIòAöY9§5EÚu:„ýi™›: 8¸ ¢@ÓúÙĪk y2Íׄçì¼¥KF÷BÕeÕ Ñ{yï²$´Ø÷Ð.{–øjßø¸û4©ÕDQòw&&ÉìžÌLP~¡7`A/´ÖÛdѾáϵ‡¢;rÃõ¶h²á˜-nægϸòo¡Y&çf†¦<£[{î˜;ÐȨšU)ÐÜëtõêÖ¡,w%xxzPà1˜ðc^YrÀz˜OéVJ Z*v¶èG|G‘´ÿÌš(ÎÁnd:Ër2êVcY;ü¼˜Æ§“•†šÆ½mÍ)Ü[n:òèò4ÅÑMlÁÙ72]dH Õ%î·Ã¾Ë džðëÒk?`\ƒÓW%×m)mÔãž îR†PC溌{»£àŒz¦,µ‘°é@Éz¬"â8Ý ƒüò@¸Ã›­sOÏxB'G‡_¦ ˜X¥+¥¸)Ç3'¼B‡Jj’ÎÛ õh·¦Ëg™%³~,é?ä‹’¾ÿ¿‚‹ü1ãÑJ“œr¦yµï™'íô±Ö°.ïˆ$“ñLg#¥nc'†4³‚Q»I¡W‰i€j·@“™2².~O0 ­ÔO½ÿk´8)°ñlß(ý 3TÓé2Rlq’•†°hü™‹<‹ƒ{îׂæ’[­î æjöøùhî( ƒ-$Xþéqƒ†m6i_¼¤Î¯Ö”púj€([ÞV5ocØÅ"N‹ðõÇ¡R[aß§{çTï±9k ÏÚï©)ÞöA^ã¦é¿ã©ÂsDá¡“0Î/Ló¦Fé°6ÙIË™ÜèÀ c};2ZHÈÉ*ò=G¤nn4A/vz<¿øÖS¤Ðbå[쇨‡q Úø‡D¿Ú sZ$¯Y.|ëðB†ÁWãZºLâNî^u#%Äd_»sûq@#¦=÷Òò©6N³,|¿q/.«ÁCc*,¶ùBh=˜ö„L4¦ü³Deì®Ö.ZûÃe„qéa | ÜÃMLtEÜ]3BlJà ǨUÁ˜Ïƒ@½ø¢?{öDÄÖ0!ÜÀHrç¨Qº[Ž[`}ƒ C&Õt¦Æê8x•(Ž»F OB÷kÏ£UXñvnïOÌs J¾t"ú6€+Ÿ dŽŒ!Uj^mCÕæ«y®Ü‹Á_ÏCyɸ‹üØb«Ì¹jÝ J]£ËŸ£ìs«S·ïŸwKËÊÀ2œuYËýYÞŽPùm›x±á3â˜K/_ÓÖ\¥ôb¹Ç$ºµI&5W«]»§>|LU5À¿KÉ[ÖákïJŠ h\£L"èq›C'&=lÍùlñd dÜ”®µÇüÐÏD¯9X»8¢‘2q²¾•²vénYïVµŽ°ÇT^xIõô (&àÊ¡ˆj=ÃîPx9ý¦’øÕé"€º ³Â2÷êLl/D:—‡ %q;רÝÉȧJ3Wˆ¸.Nï Æ¢Œ¥Ý_x"¸/Tµ¨Ø¥±øðÚq>Ø7FÖ?ºú)Æ-—€¨åèÓ©©Ç )G°BäI¾y*O“|A“:P»z¥Sƒ£¾c4µUÚ•õ7Nùƒó¼Þ`LñxëåÜrDÒT¯>vÚ^èx* [ôOª9øjE lÀ tµc´â¯X½q(O¸×ÙCÿ`§LBìL4¿YÝÕm“&Ô몉Ë`× MexZ#„¿Xó“8'„­‡óç£hØh…º&¿|mÆÊ6ÓÈxÀœ¥ÆT™ñök> 0–·ð GŽÓõ¤åiW8ë´ ΋…þvlj>ùÖ}Zªè*ÙßcÝ‘¥«#[Ôj°«±“n#÷åå!¾«6®8KúÀÔo í¾ªPÅÖ_Ñ3ŒT£Hl(Y˜ê†ñ ¸7öôJ8Úý-Tje µ°Ÿ°*4ÏÚ:ØÔáû¬Kÿñ7ïpت¶ÀðÖ2 …ç:Âèqa™Tè‹@÷ǼµÃWoi™$MøÁ$Äغ¡//ñáÛx‰¹Þ”ãwi–q˜•¸s™zÚí ÀjimÓ¦ˆÿÎ|ÈÅèBú˜H£š\u̺ãDÁ˘ªýc>«OÌPZô^=ŸÕ;w°uLÇOÙDOÿR|Æ^jÉLæG=ÏÂHF2Xúòÿ*CË ¹4…&ñ<–ë¢T.ˆ¬Ê«©záŠQJµ¨œ*ø‹Èdd@ ™ ºnQïʆ5—¼:yýÞ“ëKZfAÎ(OvД_œd´Û¹mGiß¾b¨2¯”:oÈ6“®ƒÂÀ &2).·Ù½é×~¿}ÇÏÞ‰ ÅcùF޾õ¤ÉU+ô@öŽóySˆBlß (Dœ|Or›}%èµÍ¥ÎE ¸a§Îugø¶¯§Ì0Ûlwâ2¨¿5“™Ÿ­ÛÎ<œA§ª_lб «Qïå˹™×S<7)"w—ÿ¼ÄÝ$W:m™cÌçA\QÖé…Á]‚1o­Ñ©K‹ƒ!gq‰]4¶3ZáS!®ÕQD¯L­èöVÔ7ïÊêÎÐwYb7a™gK6om=7Ïý„² †pæä€Žú½ãèêå!)¹ÆsG÷2± Àºµl¤@þ  'û=»ãkâïk—_ 2%»ã(¬0)@ÂÁ <\©µwøš›sW®Å-ú%pçKr ¡Š9’¢oŸï†é¦DIÐ;µÃ'4Ü ý¶ôõêX8 ’¤k;z‚ôKБ:w/;cIÜ Rï«å]C“¯Ò‚'Nûh¾Èÿ0‡hxDñ`G'÷¯äúÙ7dp£«¹“ €*Äl™Áe陹õþ÷f`‚ë‘:GÛœæøwV(ÐþJún¸Ç°íPGûc³IåhKK™W.<7ÊYvR»­zÊé‹X¬íôÄø $¯5‡×Z 'K TùV6p5m‹äAÂŽªB\» šgµ/؈MªëjÜÊöz‘LáÑ 7JްÌÅXé ÅÑÊ¿2"¬à¾ùÙU걬™e/›óÿ½‹¬7÷I\lG :¹\Á› ÔŠ#»¼„j&Ùù0ÎN-ÐN¿á§XüðvP¯YßÀÄõÈýj”Œ`È'É“Dëø†Ý*Ëjv9)İ” %œè@!Q¤ Éiž›¹5Æ* "q3mÂ-†Ì,õËe¥_Ý+¿ÆžàmËo$&´üá<ªÕ$,&ÔfªÊ¸¾¹t—ÇPÌÚ¥˜÷“‹ÏË嚢«ŠPˆ5tÒÇmÞÛ¢¢¢yåMZ°\5¿%e0¬ÏRÜhaW+öp§F¥x­ ÓÜëg¿aèVw#MWÖ—à“âÕ½ämRe— ²f&&ÿ«¯FF/h×b\ºà§Â*ª£š¾ ŠÝsW|9Wl8Rê×§lŒÚp4ü‰€aÒàe¢2Ë dž.অ`Ž¿nrÚ’Ïv.afêÑ6,VB½(q ÈvÐúe‹ÿꎷ×ÅÓ¡â×–¼øCÌ}3úw0„Ëh®Ë‰MÈ'@#þ @RFYöuªÕEÞ0ýøhÈýôu™p“˜þÓ¤.þBäüi1\ëél Ñòp"wÌ_Îñ1I~WûÏœÊw)Tê"äÎv€«½ô#¡E¾m¿±5‘0óë½µ©$ˆ‚cg¤Bìã/%êFEŸ_,š>&»N2ùLܽŽ[¬æüÏp»Ó½‹ö÷Úž˜rܱ„ýD²/á#ˆo#¡¢VÁeW†/{{+ÓR$#¾Óº ú’VzEÌÕ´¢ƒ<¿%âej[ƽœL˜Ë?ò‹-•pÍàÌ ‘#ƒCKC¡º!OY¢êø\ g°'‚ç³4\7øÎò®Töu±zWxY¼(«v‡††tÕî~ G Ç~ÜçϪt6‘'%T昌é§& §ÑÏ–›î|w"ôÒÀ…ÕUt»' wçôØ´þ©àš„ŒŠ<~HL¸ùq„q¶ÈäËëßœ¹Ð~qµ¨¶™qµöþpÿAQ†ºÍuÌØˆZvàu5Ûu‡Æœ\ÈS1K‰Ì'³a»€¯èèâe™ŠyÒ›Tƒ–\ÙIåž2›V‡¯¼]Ñ­@/¶„åô|È»†OÄ)•µù;¬}¯Þ”,½£FFïÖW< î‹sò¦Mü®#­Ì-DÒÜîc®#ùÃéù80uXQ“Ø›”-tv2YÏ\3F6Ú•c7\:$aó{"‘Žˆ3×un({ ˆ‰À g¸9ÿžò G\ÉùX¶°€ØßØéˆ2±’’ÚÁ)È µ[ˆÌáp†œ$Šá£]Šå"r©(#§PÀ‡8 SËIhQ…ºÞç1QßȽ%¿·;rߟ…C}*1T½u®æÄtÖûŸp»mà`È¡WÕHü&G ·¹¿lÑŒö. ñݤºfš«’W‘è¿”Až,¨Þ—}äkô"Ý6Õ¬RÊñ4lë=d#"ÂÉ6H—77©û\P÷~ßn³GQ¾yÞAº7m9æÉk‚>v ¡·¾B=ü1‹öñ¨&!j§Jžµ‘u—hÁ¾ñáot[ÛÔ##ÞÞ1ôC·W³£—Ý' -U<²*¸ 3•ÂÞöÊ׿`ýà<ÀèbIE²¨¥t Ç,Ýô4†Ð¯C¥w?ë_ò2g”¥H§úÇÏ鑎l˜*å×BìùYÓ¼ŽTÆ A4˜ÆfØ— f*cgM¯þËòá§ø ‹øH˜î? â“Ãs‹qÄ{K– øå]OƒÁª›ÕGKÎ-¹Þøküaªjt6â§9%WTK0¦¯n:ƒó*˜ *AHþ?Ëpó³u\Gæ= flÄq¨H¾³ûþ=ñÄRÚtÂîçö:»Ö(]k VÕÜZjÄý³W•“ëjžY°¾…fä NíäÓ¯[2Î:]zÕáb\Õ¶¤Ñ5ž}*×'„a‡ã¹`Cˆæm‰㼕Îjï\lD(‡™BÔ‹–Ÿ9ÞÎËöIÓ‚âF#›®™Ub™%Z&­W SµÐ‚ÝÒWæÈŠU{P!Ù¥“> âÛ[¾°•p1t´ü’z¹?•›Å"ý@ɉaðÞòÒj¤{ƒ–[´]g÷»šðø*sÖdÒC?m}®b¼)ÿâM96Õ)Ÿ Oe-%³ÕŸ"·ÜÁ=$UuùýæBÔD^f‹ÑY'éw:²y¢E…—J½ÆLT2=£ïŠ¥›"6`®ÙéÛ™û ©4Ø‘2ŠDÇÖ=s­’ÿ›ýb :>QÊÞSîZŒ>`ZsÞa_ì:•6E£(¢SØ)ýЉûN?ÀÒžÞ‡ã’ü“½Xyòá–£© ÆHr1D!,b~ý5·ƒé½,%pcúM¨@‡A‘»ËسOß“2,Ê­±,‰6º~¦G9ÙÆ`‡ÅÃéîbUÚ|Ú¤õáõ䛄F‰Tÿ]uÂm=7ý†jªr; ]î qÆžý›œ¤ ý¸U—KE;ÜE­Íç._¦Í™˜§ÖHš¥ãcù “ºDl»sF³TW]S|¸Ù9®øßúðX)}|’‘(ÿ4êr³=í‘ Ùñu§@µƒŽôÂò2cªÓoéƒì0ÀA>-udm\l>ÑûgÃa„P*ÿÍ—®äöÁQ±!Û§ ˜NSlèE“°Yý¹1÷{šLõ?\Ë }çï ½Ú°M^ÉËHr° 4•(xéÿrÎGD>P×C>¦Îë¶Ž5mFmXÎ)g…ðT¶ ŒD›5_$QF .‘ÈÂY®S ‡ÈE+©ÄVEµšåô_l_IßO²™ô}oAÖ%yF‹V£N&3ïŸÊÛy!2ÎÓ 5Kvº>æ? Œ˜q)'›Þ‚zyw¬_4 ÀÐÀÃIËø³¿8«Œ.a5Œ*´£÷lKè=-{*>ʺ8Ï”\RqVY ÈŸñþÅ ˜Ü©çR’𔇒ђqe+Kµ ~+ÝÁ2‹8C?õ²NÏô2ÍÊ–Ç Æq¾v Õ¤çÅÀÈô ¯ÈŘUß ñû+¬åM¿<øUP9ò¾­ãaÚPþ ŠCs‹³PÊ*zrG×AÿèrigF7B->žn[Æ#ù¶µÆÐà “ž~^ÁHÅηŽ&ü‚¬»b•OñIæ'ü-i;gÇûÚXfi—ÜUàlü Au›âU¿M XSJå积¯´OïïGß@%ÒC󵛎Q¨Û¼™šÿµlglÓs»r0õ}’WÇ?G×3¿ µh/£6f¥èä""ÏH~€W¾‡ÔI—ôÄ[ä—㨻Sã½S6×¶ñ…?Õ!wrmøÇ?Ø›[øØ¥-ȘimNp–ò³mrS°±i¦¼Mª“º¨¡YáÜàL’2ºœ‚L¶ G£,)éþ­Á^RçÔ~½SË8H7xÄÐ[æµñ¤‡0F¢’à ¼øö’Tl‚)›Cû„÷qRñ¾6Œ~Ѓxš6Í/'‹é Ÿ×0ž5PmÜë¢èú±çË¡GC£,ƒ ¨=ÜÜà¢Ü„3ç¹"TÀÝ ^øzf:ÌVÉ$bŽL–“óØÃÇÔÛÂúKíè<6ÖUÔ§°ÈÈé< @è B‡=Ö6 œÒœFÜ=o$àÆ)©À0“êµÂ·ˆ6½g³§®ÌuQŒ%ƺ|ÔaCÚD&NµžfsCŠ^*|…:àñ[톙€‘îÓEìãì’M$Y~{ï§óseå‡ïYNÞ}µ÷^ç„JS±ÆàxGòØ™0 —³ü„V‰êêŸÕ? áʼnê…”îÁ”׎èc4ìäøC¹eúV@ÕÂá ÐÁBéžØÅ@ê= M×vÒ¸òû{fí›Bô¡Ÿ‹@DLÒ•*ÅDn’²_r$™nrzß×Y)Û“b‰o5´¸D 29HÞ? P± Õ/ 5ØÃ²î›5ÅVŸ=u««×ßÍ¿Ð4‰Çè?t¤]bH"\50؉7—ÆC‹z…äÕ›îÎ}6y',wË<4n9s@(8W,¤—_â/Aý]Oû$g棩@Y–-ž+\½lñ–.‡bß)ÿܦ‘Ti=ñKGùCt§5~vD-­}˼´×Ö¢IéjKyvÐÒ¨l¢wà‘(*®Òç@8„×1Óôéƒáñ#?BÓ"ŒWï9âþ¿H½t`¡§èR—äôDòÛØÙÌÏ=07JÌä4q1ˆqo» E´§3m¿㣓ïˆßqÔE1ª%>æx§ËqðíõKéÒ$òØáçú3ˆ+—âf£û,Ðc `hE »z·Nù/0 o6r>@«‚M@ìÄÆ Lå­š¸èRôoÏç,Ð˧)¹ *uOÆWòÙSµ=fs$ºç¨|R¸¸Ñ½û3ÿŒäÊò`ØÉ—:«šøO ÈÏY?|ÞžqCñ4*”×¥t©k–‚ñQ¶x@è(ö,¢yÑÏ:dÕ†í gJ°NçzZ»{Ý Ò[`V;Ÿ•Á/'߸ScÍÊ /G»ï´²öDþé€ã„ ºÔáãÂ)ð©î;²:T-66rõШ€×HiÛ•ÉÍÆí¡Ã`:ÅG©âW“âV=Œh±ÁyîÇï¨3{¶´óå~å{ô[¯Ò'’$PtÏl¨'œ†Ñ9%š®^+ãöîÏM†¢Ã+˜×z FÇ%ÔnÑoëW¾±ÿFš agåØÕóî’¶Z‘åP^^b}§D8ÿ«°G‹¸…Àú½. •0æÐØÕépÞ•–"©’é.%kÔù«_pFõ7¦­I‚µÛ›¦Ds"F6~ëÛú^+2¤»qÙ¯F“tІDیʘìí„ÓZÍ…Óƒx ¬Îᥛ¹Ìž«J,¥\«ÐçHÚ†MŽ… Ä pWÅûÙ4Û‚ñ¬ÕéE M™ÝLõ0¦ƒ\§ Yöæ‰Ò .È„£ωÖùûƒ§öVél]wA4–àûé¯Ù¤ŒõLÌMïðjúŸ[–ˆéÅf¹‡Ôéð`c^fÔqøµ­¯±ÎÂD–æÊ@ÌËܨqî@:¯ŠMòï*•ÁÈ>tWP¨CKwCè\™ÑNPën 4e=ÎãT=:ƒ(ñXÜ)EDGqùÎÒ1 d¥¿[±çÿ°ÉÈBk˜%¦‰7"sêgÍ›‰‚•/ r 2\%âlÆ¿‡NU¢ ¬4¥{AóQ®Š¾©¥:w)qOE#ɾÙjѪÙ“Ã’‚‹!œåk…§Mýf· ÈÉêTCˆ/`2‚˶à¤5‰]êíèj\àé6pN^ÈŠ71'€] ‘äѧÞÇØ$eÜVYN1ﮕQ]'±B=üX¶ Ë‹ˆg§Ëd´2ŠÜšÐö{˜¢K[IÛÏ¢H'2<ùuÏïö¬(U}æë°ÃŸ- ¦¶ÛóY»Ü΂)a¡|y5}[hûðÐíêŠVøæ‹b@rvŒXÒül§ì³¡Éa#ö°ß†´t}Éý€Ùœ+–†·5k ŠÀÚæ*zU"‚  g#=ô.ã·è½æebü¹Í~—lju뙺M·(±T…ñb4PºØù»çµ£;=xB>ÝûM²hË/ƒÈzˆ añú¥•Mù/‚‚øú¦c »/ŒŒ×W9¨?0sÄö-M•òÍ YŠÒ0 ú¥ÚªðÌLAx£“ñãôaÚó7Ô9ø TÚ µeíïm#ä â©‚Ææ˜Zp ,ØoØ6©×Å»¢SNh‘œE‰9Aò˜Ð#¹Å¥y¼@P!]tS2òuƒ†w쮿_ËWüF%ùêõ.à I7Þ5'€õK>pЧÍ"¸†PÁdz$g®L7Õ—í4öÜ ßr"@?žcb¨‡-€2j– Þ†'$W§­Áy] °´ÈñfœT¥HëóN¬ýzîF~:H¢ÞW%-®“Š<Ú’SÔš•½ @]iÙ,«09Q}B/æ«Í ‚“vcŠÂ*˜ÿ¦¯•¤CÿÖŒSE\Ìsí°78ÖwBÆ‹'üƒûØì¯ÝmȲ)Ïhmñ™rlÂ-3ž¿þUÊëîÔ?ÿ¼P}¶PYP¨°“,™× ¢hew½È ¬¼˜îy´$›ª>Œû•"û7ç}ç·“¬(vg÷æJ@€:2»R)íÛç‡L$Ùý®ª°‹ñÞ«nº~ñƒ6d¶Åýc^Ê‘Y︰Ht¤2tZŠç¥]ÿqùý‰k¥ox¦8þÁ«Ñ»ÄìÚð#“3¨ÇÅHÏßd¨-&YÌá™pƒHˆ!µ#Ç)ç¹vœ^¸Á¶½&ûß`;b3éfƒ#½ÍP+^gÌß=(5ž_Ÿ]؆[ÖB PmôS?üô,+Fäâq˜ ºA`™õ, Jz}¼m,4)òr[‚‹¶ùì)ª*úÚ½yhËÌÄa ®Ë‰æÃ£¹îi§y„—Å ­È'³ÕR-D¯³s§ëz_]ÉÅæk*}ÚÊzý×@·±.kF)×ý@È£ Fæ´r˜1ëÿÛ«ð{Ý\þ[ŒQÏjÁøÓD æ$Ío”­üS©“Õ;çŸ Ý‰°³‰‰VË)›;Ö@ÿ…Áÿ.&¼c ûÝ5ð’ø rnò–YÖs„ù×Õ×] Ͳ~÷äóÀFÂy“Æí¥*qd*‚ \NÇ`JÇÿ38Cy•ï«{èGrŒ=è6[+P”˜Vu‡I]f) ûßb­|L؆}HŠô„u…,¾BŽè¥X+-p|ÞZƒÔwÓC£â¦¢+ôMå|Õž•™/•¥í`‘=¶‹È÷+DYÛ§ùÆ'g»µËš°f@Ð͹:M.ýÎ3ö)$ýD$ü9åDÀG[\²öŒƒ£ß²Jt´@A 7« šQì‹È*гÜ/ˆà!K09H §8J@d¥úÿ—T·9¨,ì8*T:¡?ÂXiþzÁWŠc\ó¬ CE‡f¹qOW /Càw¹wb$ûR@ÐÕTÉýî@lí°éI¹Ö—DÚ:œ g»UäÒ’6 v¹½µmûWÑ«™x½“.ƒ·”J=å÷ Š”ºßÍøŒ &¢X޳à¡!Ywˆµ:3¼*×´>8Pod£’4¬íݬµI·]Ó­¢þ‹õýt!Ä\Žè’Œ™ß^Êqn:Pò‰<ë³Ñþ¿»CK’?`îéšs#èÉ@ï•]£o¿ôϨö¶¾ÒrÖdmKS™È[wSŒ–:ïªhž€a/Ò~õž«Ñ0Lùö Êvu 謕9í©!¦Ðpõ‚¶êW˜xÐ]’8¼Òr¯¾n…dw#XBÑ’â$–ü7íJqu¦ž }‚?ír¾xíçý³S%OSB¯¹¾ä]f—Ù¢CI~·žµ•®ù Ï»xAÐ pèÿõäpkDªÌ¤~ñGáKÄ\ [9Þß´¸¶Œé">…ÑÐø¼ã˜YvW*cú‹_F6éĘ4¨½ry<;>©Ž#FÁV™ªìk„á?ÇKBNëSÄâú²ýœ×SŽVomúâËjE5¤´ù<¤iÀPcTׂNûÖYJ¹ väˆ!s@µ½ê"äÓ'Ê3h×ÙñÃùY äˆüçU¢%Óû@/Ú*S¿ˆ~Ê®©èjÕïˆÐÓLBŠÝÔ•  uþÆÁ/ÆÕ'Cóà([­8ÀÓ$@…Û–±D-F $:U„G‚Ø5t_„Õ A²Ä¤)àƒ¢®SR±[7‘ª5ª9´¬:ߤeå² X;ôj€š¯ùd’¥:8a"ȇëÔ6Å$—–²Üz Àå½÷®±·~— ¥Öf_!)Ä |° r‰8~>yÏì6ÑU½qÏ+QI‰Î}6Þ´i´r’Nqä"ÛêO~ýÖÕ†±¢Š9Á6¡–Ót1#DJÿiå¯ÕùÙÉyZÍÚ‡)K_H/[l.|¢ä~gvF/Õ“kMû8Z‚òÁ@À 9yéžÌàþü;Æ”Þ×\Qƒ¤Rêuꛈ ’„¦G¸3ô-Þ+>¹¶j[6›€ fí5=DÜ8‹äì Ïoš²LÌ¥—ž¯¥”Óîˆ|ÈmkH{(œi,{ÓÛœu„?6'sœ¾ûr¬ÃæUrú2SgqÖ¤Oò—ã²Ü½7ùàmÙh}ZL££w-çSíc~Ñ&A$3纈sˆ¬Ñb:çè+ÕêóHŠºlz›ÐÕ44£š?µj•I襖 B70=×xk=sÏLÖd–ú”õ­ØXÞŠ¾ó1÷K]Ÿ¶‚>\TTóˆ/]{®Ñ™/çÅKS+¹Ô…›ÓN€wJRd¸Ï+R%ÍŽ­¶L#'}JKá…åpãÉ.e;ý=Vääðè´óâÔ²C¹Èì‰|0-¬åX¶µNôó¥Êä\.åßÖµF±³Ícö­¡Ö±ìiÏ «ÿjƒF Ê&i Ä]%x5 µÖÏO )3J7þ1‰mí$Ü’~Z嬸}Ñ’öÕ­Ø®pôZ…EË_¶´ÊmÆÊΘ4ÔŒX*¦§}”Ñ7‡Ô–  ˜–õ+|žeW»)Cs–¾ÑY"¿VW”Ãê+Ნ‡ÿj“`ËÏ-F7.Á;.IÜd“î.\U½Ö–k2‘DbÐy¬vî8v"4–š$°Ø˜×¹³NIr–.„à•½G‡šæ†ä¤ñW=¬¸Š/é¾±;uB­ñpší|b´÷ÑñŽë‰ ,šÒ)¾›Ó€”þœSð¿•ߨ2\Ëó„áí94ã¹ Ãoʉÿ&*Žò"ø q–]˜ þÑÃy, *·Å€Ž‘ÄÓ£Ú^ܠܽWõO nÒÏ:YÆh®ïWôi]Œ ˜^ãþJ!h?,Bsš¸ô\ ¼N¶äU¬µ|U=!S:°[’z8ì²"8Uùcè[…eF-à E{àÕMfAjg3lÑnq W¦K7&ˆ¦‰ï=Áð3ƒnoÀñu¥<“9ãÉèA3ªîòƒÔa¿8ÓZDe¢l°¿­i™Ä´£,c§Pv“6êÞ0A1´JÌ‘)ó V¬†þI7;|‡¶ÙƒÂèùç"k¦¨äº…‹3œ|ˆ1˳¹_Ä o­4Ùx½5¢š ¥<Ã6þÏ&~í¡æRºê»b¯€Cçm~¾m¨ñy›nÄØúÍÎ&ñ1áD•¼6¡ÎQ@þ0Ò©ü\Þ¿¢$£0z/W®hî#QìÇ!ú«+ÞVÚ„™`¶)`<§@n2<ØpŽË…XÜšM-2zvŸƒ7ÙŸ.!#S»µÀ´l…q.RqÞ:g‡ŸþL*‹B‚µEˆßÖ ¡˜Á›r:àh€'MˆwÏýº\H3ëc¤)­ºÖ¤"·0gŠc$·ïE;f ´"@DEçŠ ]j«Ÿã¥ðº²´2°d@ºà$ÉW "Ú¸sÆË€0q!BÝ,kÓèDã_>wI@ÝÙJòí<®ÿ2ù*Äoú¸`¤ÞxñvêÇlòÝ­ì~Ï(‘.us ƒU\9ú2Æè<2°'œÿzêõ¬ôPÔ? 骇4æ3ÝÀ ÎlYIçéÀ‰‰ú6·x©-Ž9Óka`ØjS5ŽÏ r×Yg”‰à/`îW…PyÍýßz,Äï%À!œt‚M¤&Ø/ÞÒbRt­–çß×m^M7Äo%íûnn j¨¿“^‹Ó.Òuë‚D|»ÙÎ>À–}Q(§ü±êÜ|®€qjÊ5êˆ÷e&Á.RY·F±guÛŽ;qŒ:XìþtЫ?åAPfsr k+‘8äMë|{åžáÅ´¿¸è†íã½ð¤ì5u‹šJ§^ÖíQBÅ ‚„ñÙ×»šöåÌénÒ§K_;qIªíŸÌ:»%|Z0ÄÃíž]”z<“LcY1VÇ“Æ (Q%1Vž‰´³¿¬šéYü¼ôÝëNãg!jíç¥ëÃjNvP„›sôÓnÀ"p¡auÑ‹áGVÏãžøH ÷¨°¾>·¡e~`.Òi¹;õìŸÕzWÄk¯þÞ›&ZÛÜð!ÿÂ}…ê…rð]¯îöÞ3YAÏ‹ ó”Ò´eˆÈ‹î†Il´”’v¬4D˜ª³§ ö{’É¡ÞQ)Ì ×£ÂT¨‹òg˜ã¾â)šÇ=챩¿ž¯®Š`‹Ö’E-{ýÓ ÝL{Rüi9˜Çø| EãUQéNêÜnÇ÷^‹µÞ¨ËÜZŽf¦ -óB/‰h^ã‡D—ƒPñ`‹n-2avQóß‘¸û·pqÒžçÉb1M©¿Ú°@>iê!' ) wSlÌâ3=+ô<ºTƒw„PŒÅhßeH^Ñ÷é‹Ù)qÜg¶YR (ÛÂÅ>(e)÷ã²—T&pÂ!M¤¾M`÷ë%Æ”Ù?><$"É›ÚØFÄÃÜM"÷.óÝ­hIŒƒ¿£µdY› ¯Mo#c €9ø¿o ·‘¡Ëžn?­}sÂÊ:aNåk¢)çx./»¬ëû#¼&×q;ŸÞg¼GýU~³¬ôÐÓè=ü“ɳXa7çŠ8Y´,^ãI dNþb(¼1°4H.afkJ#õó›hϨâ?*9mú »…|×)ê’0CŽÆÔ¬2?˜™CâRî3“YÒï– üÎS™Á/Œ3PŽ-yàæ¦ÿ3–`Eàr*§UäUi#oJŸ¾íEôAm¯%þÞyLAøm+E•£³32ê„Êï³­ZÞEº7tùŠ)Iõ©Ë<òE"‘NÕç2èõrú¸ðŠþ§7ÕaD`Ég;VD²§Ê’}Ó›/¤nA"¨“}PaÉŽö­¿˜S|yøñ›Wõ\¯‹Ém‚[ZÁ$Àvpòöïd–ÆÆØ±JP:¡n¿ qæîØÝÀWñEþçþÇä€á6>biûân»jÉ Ýtt7uZŸ¨«ÚlÂ+ ô ¼ìs’„ EFÕGF–T;ëåàªpýXÃHÑmŽ…¸J  µWÄ<Ô|¸}- GÛå›ç3gÅQŒ—^µñÇí·Er‚Ÿ*dz_ôãÓ˜"OiÕ Æ.0Fd·ÔÛÊÁ,î…m§"ø»J¬a%1ÁY3ÁY׆&Î+dD«ÑÑØÛ'¤ëƒïõPÓy¤ÎO¸¼Ûºšá*§O{¾ÉR‹Ù5 ¥»¦ 4ÛXòkÿþŸ<‹üÆ= »NªçÁö)+2  iUa=ûº®H¥èÂ<8ßïž2£‰Li¹ñ¡Á7°5zÔÒ”Ô±äÏ´11ño;òÇaYI›Ôh:;fµ8àO¼¾ÒKh‚‡§´ ¢]7Þûqަ úúíÒÆ é²Ëž“ã~ªäy⿺ÒpUÐÑàðÕC›\Ȫ„ªð¡Å‰DUT£‡L:kÿ ‚æ68èt¥ü¿è­àË ôN´Úl^¯í¸L¡yŽY;Zò6€…$L\?*Ô‡ˆb‡Y¡aË×9#ïÑÉ}¼i;QC]–ÒòfÏÌÿ¡›`ÓÍ&zmM’µ _äUEAŽÇÎÏI3·L*L>_·ô,’ƒ­Ì3ž¤;Y„Æ™»5ùr¯|9šlÂUGåºÉ~ó ¨Z¯Á86§FmYI‹ÖE±²ûaÃÖ@ ³˜,s¶h®¾™‡ÜZÕ/³Ée›} •Íxó¤Él¬¬YáÏé/ îò©6«Â'¹¥(I@ý Ý/eÅža¾u¦4` œöøpØ'ò°”ºD'ªjï¹²lZÖ.¤#&ϯøàÃÿóýàÖ"LŸm E“#ëýÐä…G ÜZ¯Ê>‚šì³2"óy˜ž0ïþÉãáú ¶rl•LÞÇÞæˆ¤V·ôõY§÷ïŒôvše+sˆózVñÄéæÏéqgŒ=­äl’ræÔswÒuÌØœÞþîu aQëMo¹M)9k W¥øG–þ÷þÒZ»(Ä%ûñ6ßt¸¢ãQZ{ÖBë)@»ÌZ)5D7†\0RÕ–¼„÷atÁˆ¾Ú“¹ÿ‹eÕ{}ø©3mX5}wPG‚,Š=<Õç\*œ½Ì¿È匑C>šÄì”]ïDD¥pfçú u¶ˆì¢mÈ&ZXM™8e­åˆY— —}arÊ1ËÅ%“Ð|öЉH¦™-wvÓ-žµðîg^ö‚áþôŸâ¤ÃÐ\Cl!Ð/v¼âËÆÎ=ÈJb`_šÄ4@eû!Á-ï(;–ïø&GÕáׯáÜ©J^öðûáàD²Ÿë’=mÿGþ¾1÷µ¹<Ä.›s±õµˆCŠŸ€¼”‡¦Qñ,/ÎÿDQV$Ô`ãôÀ Üiƒµ$|N’gZP=¾},ìÕ8” =ƒíarô5o9ãùÊ©d’–UM¯’y¹g›…‡êΧŠÀÚ“ÒXR© °ì•b7ßgJZ#§š0~mÄfY©¹#F`d€ÆÀ¿¥ÓáicÅÛ“•ÇF ¹%£¢AF£V†ööÄյ㿯7Ir5-¹»ñ!ê1ñ¸‰¨È‚ ?¦Ê—[rœß’³ (Î\~¶(Ù†¸Êõ½€2œ§Àa鈸H^9­nœ9b™óø€F¢nH%û¡Æ3P^'T«/õ»Mߢ`ÔPù ¿˜“8ÞÀ†Ûaéo†AåQl¢‰uÆM BŽD}u—FCÄ–®GÛr"Ô’RÊ(¨¥rÒc^ß?¹8y²[*Œíß,ô1Q/ç¿þø­=$bH¥à8SãFÑ%€.ÔCë mQÆÜÝém;£àð«½?Î#!¦¢@.$Ðâj–/#®a¶¨ƒhmvqïXñãÔ8صjÌ–á/× % þÁõ~2ïè‘jŠ÷hqfCþï Ù D|ý*™ÄÓ"þ‡©¼üCšÅUòs€ˆÇÚœ®#.k¤Nžžm ý,û ºô|1—MXÜáèfjÀ‡BJO–@­²ƒmÈÿjWBçðÁ&Àõ3ß:YLŠýkÌ×y¤bü4™àp»Û{3%mÑá]Ìô¯÷ÐÍ1RBÂ4ƒª°R÷_@Õí}H‚·5¼¡æf>$xçv–1 9ý¨¦T…}?úë¹+ˆ11‚®ùÁÈŽC»·œíâòªja!ù(W¹?7çØ|„-Wº¤ö†.?Ñ@µêÍŠ;1Bu\¦Àué¿iÞHÚþÍ팊>7Ö\ŽIa‘RNÌ NàQÅ&¯c㕃ùu/jŠNážÜÈÏîqv8W|‰×2bnÆtü%m^Ï÷ùí+ý)ÆÛx^+o®v 5š7˜YÖIa{EPY÷^2 õqþfˆ¾‹&caˆ<ŠÅ•(³ìÿÛm¶žëÙÀ¹V|$ÅvÓVïÈVÒþp¡Å÷`ãQã`<¼•ØuÎx¡–É÷Æ[ÆI vúBÆCê_kÏ÷ÇÃÙC§÷SªX^åh—.Ržºd©–Ö PÎ ©4U³[~3 òmD‰ÊÐíSX (¦ü&6hTž¸ÀÍUòRîràôø³ƒU 2ü i—~m‚q´aTä›Â´~“¨WÄBuÂ<­ÃæÚS©Iúê ",q8\¯Î zY6óš§ÏÝÝGðÀ4ø.7ǽÜਛ±DâÍõt!Ÿ£ ‚j`_Ì&Ãy­dTÑ Y€úVµ…àøt!ùö®FÔ2N[±žÀø;æø#›XÇÇßs8ùü„Ï,þo,€(Ÿu…´+;…‡‚…¿A.„Šj [ðÞ«’CJˆnÃYw0ñt»ã¨4ÙÚ’ÒÜõunÉÞ·v$ÒF>­4‹=•=1Ò#$ŽZªØùú®£7ׯ’pEîͧ¥ãÎÄ}ØiÏE팎ŒÔú`°)µïŒçå‹•„“È)¹déG§Ê²ûçª ÃKÍTéG‡Ýªþ¾?§=¸D`¥ÉiBd‡ÒfõÁÄUdâ™L8óq7÷_ë@q­ÄfW”a ô úϧP96q§ÁxÉë7YgŸfo¬çŸBÓÉ1¼-MÅëÎʘ‹¦ÍÞß1<©!¼– :x4ƒm4R Ò|âËÛr~G@5ˆ×Ÿ9¿Æ‚ Pá¡X›ªÊóÑà;xˆAçÍú–O($SÔ‡/Í­‘sÞ^–óTsñkIÝR[2·z‘òÓÒLQ°Söõ£.c/‚„…ÈgðØ°©“"ÁxÏ4ë8ØZ¦->¤ï<¢ðÚÖÍ÷³eìf1%ÁV/2Ýhû·/rˆgóJáÉÐÖ'Ÿ©Is“¾‘ùþKÍ›ùQõëgAÛþ4Û#Í t²×±ÇgA&qOÙÒe›Ò“".^¨Sn„ž*r›ªë¾tÖï¾À‹ˆ“x͆Éò  ðD¶Ì?®#’Ǻ'Œ6&…§Œsât/>Ѻÿû4K5¿€5üûJ‚£‚²×° þØR 7¼"Ns 6õ•NhNcç1‹ÌÄ÷Ú*óé¿©¶Sì²²XÉ"¥h» ÑòÿŠÞÕ½»ÂÏLéñä̧ò—4üXE¤Ä,cT@øõÎnŽ;Ð|H÷`~U$(´åA&d›Yã¬\ZÙV„©Ö]DB’Æòßÿ¯šsWiÔ þú äÉ3ÈéÒÐÙ×sŠÂ<#'…¡é:¦ô¯[’¢å¬Gà³×)Sõ–s!«¸º,Õ}iÃó‹ÙHjÀ ºñŠTpmUÂT$Ap ÷xôD9;ÜD-rNu]Îq,¡QÊLC$GÂúVî³âçÅ€L¢„Îý~ÑHªÚ ôL½ÕVø­ ½¶Ì®JAÕ±{”äúU›î 'ÇÞºráJ ·g80ÛÊèž³­e£O g‡½¨¸¦xûEzx^¬?¯SȬ#ß…†~<ÃB…ªä¼Í›¸-ÞeM¤œ¥¬-Ùí|[ÅûýU~‚’ô:G·A÷$°¦‚W+µ2—cä¨Óý\1àYlb$^³û$¿q³…½ÞM=]™ÓDŸÊc9$Q7-/1| Ek6ž û¹fjñ”€ñ˜'xÛ¶÷Šjy–2Æt`¹¼H«Jºë™LùµdÕF„5Ù_j$mëÐÖ¸up¢b°½ ŒHÑž>B*?z!z±„‘ÛñàQNÚ6ƒ¢!~/ïÔ`žâ­EADà Ùjá3 ¶2jK@ËɆr)n£³Ö÷ɬ¦q¡Î{-þ­û¢z©ÙÛô²ˆüº>Ô7:éŠih«~¢òÈ·,ÁÙ‡|fï¶gKÆŽ?`×ÿxîEVáÎüiWàtm™«ùeýºn$ Ú£•SNÁ悆å væÎ¬`g }ëǧàz‰Ð.Âå¥ÉšŠÈ9;q* ÷7nXÿcé n¯T]m@áø—Ÿüg…#ª¬\MDe.ÊéGkìä)†$ªôyînô²ÓNê€'ip€ :}hw`.ˆ*‡YŽÏ¶¿"¸£‘8@¨?Â"½:µÛÕ 4|“>ÕO¾¥”W±xÂr³ÕxêëcGv>ŒÆPÉÚ-€˜({¿¦wj”žØ(¹Â ßvË¿¹5½ÄÝyE˜å´}ÐèaJ°È'E¤iëÑRññ#‰Ú}}×óAj0ûF±´]’`Ÿ"§ï.½Òø‚ù Ý»,Y,©jE‰ML/AmD$ ©äÆ6ïßÑ0NÌ9p~ÂÑì&=¤hõ‹æšÈðøzÀC¹²ÝÜÛh ¨´óv¹á AÝ' ;h ÞTc%¦6ßï÷¤èFRՆƮr} ѱõCžíbáxÖà-f®6€—°k•8`éLúxÎ+¿é†ª•?¨é–L³VØž0ƒ?ʬ@i¦æ;.A‹hãÅS³µ}ï )óÅìœõ~–ÅL3U:i®—}¿ ›æäÓ9bt'0¿%üÝÐ"Ñ]C `ŒÅ¬*m‹c,Ä%á˜Òy(]*QÑÌH y÷œQ%œÇž'iتÐ'j¡[Á /i+“U¡H <ô“›ê%€® Jà€L Œ„'1jœ|¬¬¤ó!^ÑlQPùŒcÄüzâ©€æ®]÷(iýB·¡˜%%Ÿþ1·Ï7ÕJ– &ˆ$Ò¥°Ô'´á8çÑ vÑÀI_áSN‚Ûä»ôbÚè³ÑÉ’.9Q=H,Dàü-ÃW˜ÑqSxÐÆwš‰QºVcáÕÜ‹´ØÎ6ص÷_áá§õ%i3ʈ±ï\cHÙØI‘BOã`Œö ¥.¿ª±ŸàbpNuãÓBh}ôzõ4šþƒDü›"Ñx þ}Ò~ëløŽø.<øôZ…"ýçè«wvJ¥Ø¼Õ%½fßÌ ;ôºJõþo²§¶ÔQ@¦¸[Êy³¹z±4U®? pŽÓŒîu†±tž^ÑVÉ$Ŧÿñå¤!R !|À-yÇîMÇ"±CÊtÒà Þ¡àŠ¼ÓÃŽØk‘ „˜ú¨X„¦ºLÕ˜W!lqpWnc¡÷;Xœ–UgVÃìxïÝ  ´Ãjsª‰ûÜ3mÙó ±¤ÆLêÐéð—‹á‹fP-,ÖÉ{ÇgÁVȦÏà³AÏ|Ö‰xëªF˜9=aD ‹MË5b¿ êDE•_í{`¢¹’ƒ#·ºZÚWµçþ:w/¬ä´nò‘ì™ §Ržxi‘å0sJ®%-µ(Ê$H_Äûø6ä;Ø– ØãEœÚ²9{öxÉ >#_[Ì“îÔr„¡)Jù ½ÁÓ.“gŽ&ãz’WσFnñh?½+w·‰wÎä¶!†Çu%°j§šþvJmÒ6瓽> eÛ08G ³Œ…¤¯᳚\(ÑÞï…åú\,gË(eBÓ"Erl:îK~è€ÞÒlÍÚ— ¯oÄ29VèÎN$Âe×/8dù›® ÖÓżóßä>ìÚ%’€›„DF¬­/¼³82S»#TþcTÕÑgás]Y·#˜?]vsÌïð]ºëœàæž9à‰†²µ“ÿµÖ -Õè}Õ”S;Ú‚72tÍ©^ï)Uì%ö¨Õ”@ÝÛ™3˜ÐX7ÐCƸ0gN2£}Mÿ·'ÓðÛñˆ¤ÁÂÄ´‹3†Ùç«•¥P§'­žçÎÞ­7©\9(’þIÄÿ ýÜœ(­‘ ]{é×»S¡Û%P¿‘KÊDÏž~“¢(ω‰¿Ç¯7å%> ¡®‰¶\Qá­ö‰vG¤ð¢W?í¢¦£š],ôà‡"ï)Ô¥ˆÕBÓܪÔˆŽö6ôÉ™Ci.7J6"flU";t²Ë$雓¸ê áõ¬8ín+úiÚ²œ+¾?Hc„§Òató\“‰ÐÕJ#2šMP–¦‚ǰ8 ¸uƒU#sG ˜†ߢI9¹É|=—Äœä 2ÓEãjbyÞöÍNAÕ’v!<#c”j†i÷¤ø¡ àW1ÙN«æoÅ;L©ÿm –ñÞŒˆsSM²¥[k?|9xÙÁÈôÿÂÿWjß¾—!±œ¤J.æÓo³y&bµ2ყ¬?y#϶ÉÀô¹Ó”iC"ýŸ£ùîrt­c“ÿ¢Sµo2¨ao÷kwŽxm~KC|êê Aõq(4ûpýRÌ]æ¯Uñz9\Æ)GaXI‰–•¦>²>˜ÓE– †¿½›ˆý“; 'ÍË U^ýý­_ý¿ û"!}ÐÿѶÔ=ÇÚ™šû½ìd6Bã¨cºn*Ît†žyf$Áÿ-WÉý¸ÿ]~3–‘`1ó2CküüF‡ôiÞø9HMŠm<nxðœnåÓ5\»ckD©?ÙÕÛH€LŠ€*P)L’⩽ ÂÝ⸢zGßYñ#Í5¸>ùÿÐêÛeV¢Àž5Ü=9FŸ?§íµÅ-??bMtCLî €UàŒ[Íï>Üô„ÅL8.Î q‚ï9Üurð{ëlÞX¢¼eÙ7¾)®‰Öqi½:M à(vu„¦3辑²Øg@™{lbVQÀekŸZãýÜ24€·VÈNÒÀÉ~þ)ÐÓAÈñÈ‹Ì=ƪ¹8¶úÛ|JX2ÇC½ÆL0˜}>ÛØB×Þ쟃5R\¯@ae‡±&²©'ÂE€sp_E!¹q§¾ì.¼î윀òž&i- Å¬ædx+c¸Òu²”1¡Aöö--Ñ'–~÷æ-Î2ß+ú}(¡ ì”yj5+‚ ÔZóI—‡ŸèÛáÁ.L—im0—¤ÏœÈw-­)ù f}öYk¥?“½1 /./çŒ8j•Óplâˆ×'“Œä 8µ ùR`Š4_Ê‘ñ'†ãÔå,E…¿ ˜Í¡Ídê„;;Ó"0 ùÌÇG,œ©†À°Ä·BÈž¿F›¨®W%5§&H8×€½©M.©¸Øò†Ú¦Î—¾ªÍ8d!"foC{î6\,{ÚóH³kÐ[ Y¢Õê'`¼x‡Æ¦6ð~Ï•nŸj îØaõ¦œ!šƒË¥]!ùëþ(;gƒ»ô ×¶0[ÓöHÞ&¸ƒæØ»QvqÃËÅy¹71êOC¯¼ÎšT]#%W'ÍmÉÞm Ú»6ìë{Eílù´ôÀ'Ñ/BðÎŽ"TI ;“è¯ùDŠ»Ù¨‚“~ê ú€ÈyYáI§ÓY¨XSù5›;í…8C^´¨bžÌuk?€ŒáV¯Ä¡^¹9ˆ\µtN“ü¢¶Û§5ž1ß•„M•¢ŠûÉŒ p`E¦U·3%)ãÃ<·@Åùë]Ld 8L½©´8˜öaLG‘ì'€Jã©-’¶ÛÓÒ銄¸U®Ñ?üú%_ èÞà^¢_)ÙmX½‰£½YÃп˜»ÿ-õVé…Œ÷µÝÓBþiM‰)ɶw8UÌU袠–•¹³²²¬d½½£r ÁS7k5 ¾6üŒKÌ­ßÞß 3ÏbLÛãëi84³E¬ï–"÷¸¡û Ve:½ó†ë̈p^‹uÇÞ lñÌ Õc›R¦¨¯dÛÃ/[*AñŠgMl;Íœq!ÚsOŽF?H~/TOáÜG××Â'Ú˜3sY©Ô¶ö Ó+ ‡|ÇÝ@—•¨Ø7±\Öu-¾ÌdB:%ÿ·¾yJšGˆbÁ‘œýÏQià­ÉÑ"v|å¹!€ö\ÎÒx¹q:YºÜ¥÷ì÷iód8#ìü:xãÑýD6gj¸™Ÿ°GÎG’î¸ò0­îy-•ØQ|€M’F ¼x³3?Îùæ½)2>D~I–Ž ¸tÜðWAJs:Nš ÞCOÝøvª#þ×°|H‘Oµ5ÎÖ´œ­%Ê"¢®}Jd<ãš¡l·ó©Žéy‰†cìR^Rz‘ y›6 =SS£Ú«:e&T8_ò?Vþ–¼¡ÙQ “Å;ØÌÉÁ´F> ¢ ª¸C‹p4Æ ×˜˜4GñqÆq'ù?tì«Îc ¡¢‰”÷ê:ýÿˆ§åŒãµ€„´mÙˆèË=’ú"0àÞU|,+»­ XsquNé<2*7P74•sâüGŽ™å¾Û‹H&Ù®±>P̰ž)ÙâÔÙþ Ø¿iÜ&fÄŒx'_;Wsá TÃι¡¬ ÜÅ0—'{](Þy¢žt¶¾ŠŠC².ˬ=ìÆ¥þÞ1çhšE‡·¡Lgk!ìÙõµ1^í—Ú oÜZúÿl…«·O¯&I2ÉãI§h$&…üýU+­ŒX(ðã9~Xׯ‚ ™]Ò.ôâ÷ߣ&Ï>‹í2ÜÜc¦XÎ úá­5:¶óïéuÜw%ÀÉž7²œùnph31Ò¿¡ôpH,f•2tÉyô}¥Ò³V…­EgRYÝ^ž"^Ùdt >"2Šc <(['ÁP‹wÑÎ=Uí¸8|'ÿ§õ­ÕrT´>[a[W‘äUE-Õ±ô;ò¢ƒ€ I=ÁÃyþýhocG†•T Qž “Õå% yÌL{S`,7­ œ]Bú^H9½=¢´àl‘’–Ú»¹]%$xêæ¢ØR’u‹³#H$(„NAíÒÍv¥mÌ#$á<êú¬¥}=¦#þ=˜©Îü­tq›—ýѨ˜bRVcj{7í•”{“3€gºÉ|,ñT¬ªCTúÌP‚µìÖå}V€djûâ O•Ž ¡Ïë°JjAµ1,VÓ@;ÿõæ)©EÚ© ÷SV‰háœûâ 'Î. ñ ³ÿÄ’»tóQÂñ,]Æïæ§rÅyŠxUŸX –Û÷Ý™d^Û଀¸ßÂÅõ9¾H ×þ5Rk_úû<΀å®ì„öÚ3Ê„H=ÚÓNŠ&ŒÇœu*Ú|NBŽdˆð˜ ¹Ò{ °‹‘ܶoç„')Ä0µ¡ÐÂjæmA OY7HNâ^C<ãáe &=·Y! N±5VªˆÉó€h#¾K~ NtìÌNætÜ^LuF –u*ú7ÕÒà£6L‘±£I®sÅôŽlC”Ïx¦bçKP±R–ßv¸ Wó¡7_¤ÒÞZ]d]4eº†ÚLŽddä”òÓªŸ¡éŽ‹ÌÏû8¯Çÿ{˹p¿ìi>á˨ì ZOø’<ù­ý?Ps»Nm6K;›¡P=$ÈI#p£½•#7ŽlšXf1;”~eÊZZÓæÈwésià­Ä¸'}ˆë²iÕ©y(ѵl‰!l©¢¯ìPn”dí›K¢4ÙÅ &Yª•5ã òÏyòËF¸¦é ®L*£”Ì:1æi,JëjÁq)±ìEÀ‡ÁíÖü “žçœ ³h‡À=C°…БËÁœ ÷7}¡ÇšÚ6‹œ5>‚Bç±OÄæ”’ê0’ëg9r²0Ð Ù~öÌÃøM-L:±5ÿ€ìäÝ"è'·\~åºï‘6Vê@í ¬$ݦ=ZîΈ·ŸÔï#º .µP~¾ I§øÃº >¯§}nå*|¹²hÀN±“­N¾Oq)#°M8OËC¼WáfTÂÅo7íž#­í=ÛLPàMÝ˶YO‚pˆÎ.':|¦<•»ßÙ=&é&ÍÛ,-ä‹è ·ú«ý×wß[]*ÍÊÄ¢jó¬#¬(‹#O+i»Ù³.V t5Ú­•/[D[‹ßTˆî¦´êÅÕ©€aóúÛo™?×Á@Ðb¿8ýHÆ­+†‰Ï‚Æ ?'0¾Èz¬ 2…sn[ÃÑã;]Vã¢NÎ[iòƒåâ¹K횪u”Yf-Z `ý×ýeñ5À’5~êÕ!ܧž‹-`æüèvÜâ,ÈpýXl:=¾Yy"¡D³"V~@m7ÃVx$Ñ>{VÙz¨#½‹*QlؾÀyÀ=hh÷­ß*#šÕA.*Œ8zŒ°p= =C¨|¹ã<‹µËù {M“k©ÂÚåMdÒd€Äècv‹Ñœ¥q5ʪþÌ¢2ð-Bõs;ü«QãàÊ~Ö B{­5.Ö¶!K) ØÅjäøƒŠŒÏ†Â~c³ÞbI²ƒ ‚£)y@ZÔïøÐæh ¾è`ŸvA —D䯂±Ëh[rm±g“Ážâ'`ÇK],Ô‡bôNg uÅ4j° Èðú˜•×èúg7~Roo4˜r!ó{ÝW¶û¿ò £®„\pvhŠÄ£±Eâüø‚FÞV2>2NzG)•šêHÏ™÷Kl-Ï¢­j4«ÖËï <Ê·ý=<ýª8×ÿ]‰ù§ªI‡µ;\FÔHFÞhúéVhüA䟶r}Z>åÆ-Ü*wÓm :E‚ýY †zaR%"ë’«à•4OÔ;û*¥2I€;àbFöÎ#tû^6YMÞ‚cT •kÜ?aû—:}U­û9Ñír™J5”râ öœ`t:S$2î€àìŠRS‘¢òÆ%}óÖ'šá“ã¼ÛË(‰˜Óÿƒ** Ñh+2ãé8ÞP—/4 9 ¥×¿Áö ˆ§bŸ‘`W\CDzê%GßÀC*#ÌMâ“ g}ÊÀQ*ø. ì4l A 4tñlMUøy,“_að rË·J" EC+&°OÉõj”\bÅ;Tâý… ¨v¾NÆCtæ=€dÅáz„ÝØÕŸTXóÕÁ,’9N2Ï! »´ðø µóì?¶ŸôZÌb´Æ!€žf´0S¬a%ʾG±d6f9mE(D <ô ©¾ôÁÎ?.dä‚[¬;â²F6”z«N=¹–—Fÿ‘¬A[fvÓrjŸÊ×C¼o»ï´;49‹ßnK{H!ÃY…[ðlFm?¾þ÷ûñrhâîÊ.Ö7û(¥£4ñ_ aCÔ¸°¾¸ïÈ»Vw‘:ÛHÛ3gÖ§jP!§§Ãõç>…cê„×iŒMdOÌs+7Ì|e€&ì¾Ü5tvp¹+Û ;’àqËÙ •GJ(0݃=ìnñŽƒDª!ãs›¸Û¸ƒyt„Rft@ÐÛ¾—ý‚àU$ÀØ#pÅ…ùz.…Â}òc'±"¥ ”}V•e8U@·=<ò*­NÿFöòäešîÁ;=‡.­‰ê+#Äfª¾A¡Þgê™FICbˆþ?)NÒ‹±æÎªÙ8d­Š'QóT§H6þøs[Â…mÜ—Q½”DùZË}è\Sõw°¨:Æ:ëiŒã' \]LËõÚºRGÂÃôPþìÞâ8Q‡ó¨õuZue›¿yÕØM g³\Ð C×P¾ øpÕtðæG6ü‰­[S—uã\œòW¨QÓÓåÐŽV#@ѱñt %€†Ý”£ˆñ©(øÍg‘@ÿï{¾T7ç^ù‡y÷ŽU¤÷&Þ`hjL1`fà·{Ø–\‹bœ£†¨"?p§³œH“Lƒìµ.vÛÇpùh?Î0ÊѵE_gÃiÖR¤1²›§òÓI¥²DªÀX,[³Ç“®ÛëTtçb½£BünM­&fnˆÎ¡Ök÷ ùv3,¾›0ˆõ•êfD÷o|øJ-C>xNóH Ð æn±l7Ū¹|mÀN“‚ç'>¯ÇÀJ8R‹+…§×b ÑòõÃÓJì%fÞ=.OuÝ›o·Þô`z K•Íör¾uûíô}QÂß^lå°Gö2¨í^ûúJ{ªžT×Þß¶v«š‘ƒ% ßÛ[CÐF]_ ~R/p->]÷^£ñ.8ÄL§žžšn¸ù}§gÛâo) ¹ÍDA%eúœGêéŠ:q!VKdotg/´M`<ð:f·eÝ\é¶FUKUvôcÿ©w™R£ÈßÅ\ Òäyk¢”Ñ€ ©?<ÿÄó'©.Ì-Ùfòô€8ÉÅ Uù³ß,Æõ ²ÂªÇŸ`ÎM‘þ®ʹñ}Ÿ¨UL ^ó›šäaÍcãÈ´ÛQ)m;ACXÑâsÖ«8ÞO .ÿdé3ÕÐOJ«<=sOSìƒ5ú“¤ØIð=Ê)C‡¡ —Op¾bï1aÄš›»“øG™ß¶ùÙÏßÞúÄÄrvå„lwˆ_—xºã£Ã1eÚWb—Í u~ð§éþyqö,°{×Ô¹×a‹Z^øUH"Øx¸§ÇTÚ Ð—KÊš1Иåië+÷m '-§´â Žlj|&¿¬Þreýb! ³%ð U ËÜÖÁ\M•ÆåX•J_;Èo±±ÞBìD‘÷HQ¢9?Œ‡y Dgn~vãu)]íU€Àc¿ó§Y08×É^Û…áÝüÚ*&v¿~ ‰ŽyìB0©ˆ.Ýq+~ÄÀ-û p騗ÆïˆÿÖ¨ŒêÅý}¼•˜¡ Eg$ûª-îÊ “55bÖµÛû¸9O³Xo£J¬Ä²·xoÄ[~^N`hÛ?éÙ)ãŸ_âhП)ä¹^{¿joÁ³îL¿&Kæ<Ó³-å,ZìÐÛ`ŽŸ(ƒx2‰âþ‚•-àéd,A7³öÞŒBó.¿ÙçÀ_)„€ÿ²’W¬Z$Iœ ߸ED×é+-§à¬z ÷D6§”o “ÿË놡ÓÇTªúÂç_À˜.àMò.tš*_~ñ#÷ø]gwʾMXHB\›õœÖ¨P"Û7«Ú.Áf).;R˜•N¾‘3£¥z¤s47ËÐ+ÕÖ2ü^¿è ôú!HDƒ9%×ãî@?]ÔW1,Ìs,é—–Ò`ûîÌè1ù&®ì]ŒÍél>È—a ëíy7.\ÇQ{V~©Ac{dÎ~!3AD–¤ÀØIw pjÅõÝwÑÒi¢"tʬ)@ת¡Ó= yÁ%¹ PÝšêݼ*õõ^úJ#ÆqJúË‚A‹ÇQNÅÙ/PAÀBÅ ›]àóô3Kʰœù ±ZÖ…»ùHºæ¡éY›nuF3­‡ùC§6 õu£Å+¹çù-:¥¼;\ ³ßŒØRa`ï,Å"ýh¿Ò düoS;MÒÏhŒ·ñµÿæ ,•ÿXËßæ;h>$¶AÖË$XÚ’åó#3ïÌå™G¬«*àÀ_Àu}îs%¸%®Þ£^Ò‚ •´ð] Ïɵ¬“»ç6u€ ïu4:¶æÓÄ”:;)ÄŽ íãqâØŒ²€±‡Ê‹V «pgú ¿@Ø3>ÃO(Ô ?2<²|rB‰~á±áêÛëˆú•˜aDÖè$ª]…˜Ö«”>¶;šÅ¦ÖýåžU¯®}©ºê_;2ÑO1ªŽgsQæí0½:¦µ^œ1§´jz{å~³4ïÜÅR€stP 4Kçgßu©·ÓôŽíŽ/Ÿpdì=Ù>DãÔè/;dÈͳ¨Ëƒ–œÒ96e²|»÷ÀªnÔsI^•^E Ð•€ƒ£*Š2xö%ù¥^ÁÎï‡|í{w5¨o?úÆ^J¥ÇèÝÀZøŸ¶×qÀ8ù1lþa5TÙc$Q²²\–MÃÀGy$ò:B‚ƒßF8ó¾ß°‰ðN¬ k„i¨sÂÊ!uþîI\¯Þ"ŸvQÖ ú“*¨·?VÄ¥îõ+§vPTíºO¿=ã’#l€ª¨çNi´ô@ÿííƒÝ¾àÀ˜—yª«ŽçG‰ÈØ@$:«á‡ vµ Ñœ¦Ò”Ĩ¶@Jì#lKe ’̤H·!`Ÿ/:j´¦ÿÑ&îŠÃÜ}(:å 0©(e-+c‚ÇÓÖPgШ`s‡ùä ÅÀËI”ý9­ëJÙ¾ˆ\•€Y VD›—¬ë´4Ã><ª&ÉCZãlQMGi¬Ä?±nÆÂ€ƒ ”f/[³a">AÔ V^¥ªå:½®Ý°t“Pa¤åª×bwao3Ëæ_å-Ó"é;C­`Cè+73ACÔ6á·H„íFCµþV(¹&7]v¼Ï&(]§WºI#Ðtû¦¢t­’Šò§«óñÞ ? ʃÖ0m'Q¾¢þ=ñ7>E¾¯Õª´% èñ¸=ÂñƒanÝO?<¶~L „úm/¢[ƒ[Ù¾Jˆeõ×\*äA›ÔWy›ù¸¾´¦ÀA?÷È hZŠHkYº”ø~=É@L%*üêа€Âê%¢K,<‹y: U´¾|¾E·Ù²W’õÒ›1Iuÿí!S§ž‡Ùë“1VBX~³è#*DFr& ªæœ£¨aì¹!òNŠ”ßÚCEcyº-%ûRÿNoG¾ÿÞPô´½¸±ÇÓ‰Ê n 4£]kè¯Óømcã!ž†¸v;=&ŒÅ ÀxÁ*2>j?J'7ûû‘q-dwÅiP"K$£òüÇ÷äÒéè†òßx«¶ *Á¶äÀI9€Æ Äè¦ º¯Öò1k®”ÛÊ¥+Æ$hyP!Í« 8¼¶âA•›9›Q2;PʾvnApœ§°Tr€Ó¥hjmH |¿òm_v.;ô¾ŸcÙŒ^Õ55(àÿZ'Ç+¤¸¯‹¯\d ê­e ÝÖ¥Slh·Å¾oíãŠß+äè³jKYÑÙEçÙ*ìÖsTÂ6WÐÎÙT+»ŒÞÕÆY¡‘Ùæÿ–&ªb^4q#¿ØÊ—ßjñq(Çž_ÒÒ½žŒÃ)X¶fß:Ol9Rr(-pKJ®ÕóO¯êÈû½4øO¿QN‘)#åÏ-qŒ°{‚ON˜€©‘¯©V¦kVœßÙDoCR@pi½ì-vÕðé"àÍTbˆ(üËqŒ¿]!ãÄÒ€: ‡‡ª‰!öŒvh’’fr¸®ïp,ƒâ³¢œæhÆ#ñ,‚{qéb“Œ‚uPtWNX‡'ï"Rx¦N…o@áÿ+kmÕ} šSØ$¶g0 ýüT¹UW¿r¦{¸§Šxò¾lï¶Œ¿F—ŠÁþ¹WjŠz‡!y­l!{3Ó¶Ãýý,åW”jÃÈß}"«Ãv"G§ 'Ú¢0¸'0Áö>•Í™"Åã6Êý‹R»„Ø)}œxn2a7¢Owϧâw)*4Ř×w5TH§¡­Éß “®&²ÌÔ‚†,”£é mî Ê#Ó ÒkÁ²ëãGXz;‹:6lûï|_ÖÐ SCË6)vˈ3•9Ê’%èÛ¬ÿîcSu±—€o–'cójšCL ·^àg³,Žqí \ÂnÍùo+Fl4 'œDVYýâ(K©VTøõÀ’Ì™l[îå,Õ¹ ZÊ5súZçºÓÈW󵕨É)õ1þþ>é‰l«$«¦?Ñ{ÿdïz©!Ï]7Û‘T˜Õc¦è‘`( ç%½ÿ!‡Äºp¤ S§Ç¿ì Š} p]ÃíÿµL SXág^â\=i¶°ÙSºB{bú±àÚl¥Ø]Bâ9þÀõ6tû›0YqyÆàã),{µ»÷ñµ¾?ÍOŒl†-ŽËºÎ 1=ÐW3e¨E3°¤$ûµ–•C?>½Q XÃR,²ÂO~‚Ïë˜Ò쬪º2¾ ¬ •“vͰ¨<Á9Int¹Âd r²­L´k;Ï7§×?Îæðö<“~ÜÕp~š}N€Q4@úiÌîùƒîMENö. PAñ<ö5CÂxç òÌq9’€r¬†”{o«,/Dö_ 7–Bÿ kZ©N´HÒQvþEäìƒiæïôÉÝì)¢Ãž%DˆÅÍ“ca"Ïð5ÏÚg¯"ÏtÖ ûùp¥Þ?9­x«pÞh\ºé½^ñ;wØF ÛQÔïÜ,?Ü£$Ⅎmb™ûcr9©Þöžæ)KnþÀ «ýn„—sS„¨(B«Å’ë¯ÊwYJ÷aoÐørnufœ46Òd«Œ¿*¦t;\ÞýõÞȹµ+t„ÍÃ6}¾}ué×NòÌÇôïõ X3P¯<QAèhÄÓ³Äú³«Ò"±‡r²ÞÆY§?æ¼ß˜îÉwqß"í¦å-„C'q-'±ÿ‹;˜žÆæº˜E¦&6­¶S(àç$)ا1¤¾HŽÈùˆåçÎo ¬øHhFô_—ÎÛ—¢+¿j 5 Œ:?wU·QtÛLè|!UNG‚Oº oS»Àà©¿çbÑí¹+I„÷×-hÛïÛøÿ ¸¢,¿©ðækDö:äÑ,4Á˜öfZ#ÊÎûFeOÎ8¢¥ÕbÉ%39x$ÂÉ×cÏkáÃmìÁ§ó*±>¼[Ž?Bß·ö•_Ç;ª…ƒfgïXn¤(âM`X†»¿‘€.ñ ² •í\R©@*äË™{À0²"8ÎM$4ÖP…­8žúfó€íK  ÚboªÄ1}p¡—cI"ŠD`¼¬ø^GɑߖÙ0¡‰’Sù¡çQ:ßÓ¯£÷…¹è•‡1àÜND äS¬kœ„û}êK $æˆÝ?JHãe™KÍ §§º"ÌÂ7~0˜7tzÀt­ð˜’ªïa–ål”$9ƒ+ná`ÿ½ì bU—xLÕš%- ñÝ.9ã+9 ™z’=áí%³îJmÒb‰VÖ4”$“9•¾ãBy’ÓS›„sŽ8a‘¬ ­fÇTðK¶Ï’h5 †ÜÊ-YYJ7)ôàG!~íö»âe¦·³¦[Ư"M–_oLv[ŽþPd¨¡uböbzËŽ!–eHýô†%“äê9†Š=LO»&Óþ¶”)¡1»ŸÉå¸5Le¼²mI9 j5`ãJ#ÏaÃfßlû’‰$_ÝŽIr¨¦gdÙå†B•YÄ òµ˜–pêæò¡—´:,l—ÓãOµPíy U$ò2e=à÷ØÁzáÌclÚ9™çMûœì1HÃ*ôÂ"ÅöxDqŸq­¸é^*yÜ(z¥‚ |9ð2B¤áà«V°dÕ×S³ÃV5ýCûuµI]ôª~þvL†µÂéÿý:ž–¢K¤¨”܆Ȁ)­wŠÉI—ŠìtE@G(v4¥­rDúió¼á·<–†R “s±ñ8(t©•FÖAqÞóp+°ì[ Ŧråc P;tEuœëø/„;?Ôí“yšã9Ü:ªîÎÉó]‹}ø—Z ÆÌ…lR¶:Õz]q"·Ñx‚jÎÖÊåwÔ2!mF(Ëü͘+y¤žkXOš§ðb!\ˆŽE@aËk<¾ä_?øŒúÆZ ‘a+…„I÷Û\˜²>mñ>f&þÞœT’·=úo¨¥W"ÞºÝ×ËíÝ ŒÐÌ:œ–G;0Ï*!ôÝ9ØQˆC,Sgsçè‹ Ö‡ÁXÜò½Þå5ñ “õk/ $¹ƒúrÍ TeIzÅ—˜²A°Ï¥¦ÏX4* S޲VM¢8£æç’‡Ü9ÈÐ0qkºÔ„†P5¥´IGt9鞤™Ÿ®²Š‚±[æË~î=°*æåJìñÑJËÿØõÿ ÿ «î!çåí·ÕdU,9/í™[\—Ô9Â'Ì)·‰7knS]Ê7ØéË…Ó¥^IÓÝ‘±HÆó¨+;k°fª*eºŽ’{íú•¥ÛÿJ”û™Æ©<ã ä8CO»ß¸¦æFdÜzÉr®Êç5ßÓûŽ/@´YjRànÞMÕ¼h+qeéÞº23ϯ;ª¥ªj^§þ O¯I2´ ·KÞU„ý‹’¤¾Ñ‘ÖŠ¡c}U)iåËs6Ò€n¸™"=)|µ'‡¸AGz8— º%7&ýw`W·Ûã½ï<ô‹•ª³ƒðË PÎEû‰Åün ~â…k™Qyv®ƒOÞ¿(TÒAè lFyš1÷9LHÂXÃao ïo¬{°˜±¬ž Ñh›°æ«"bµ¿Ì]‡iqdÏá°fU Îå—àÄÕqSàk0ºwÃ&üuƒËUP8,l×T±äà‹9OmDr};UÓTv³–jYôSñxEwLõäéÿ˜dÛ6Óý9àd·_°íÃÂmGÔ˜Ý6JªØ]Õ é},øÌ%d¤v:@ÕUcÐÆ^äJã_Å "°œìðà{°„८Ýúlÿ-õ¦³1I¶"Àû\¾p¼×,&¨€·,¿%q%2õކE爭6ºLJGYossÝD "™„C`è¸zÍÖ&TôcV’Ãâ²4Œ„×5$6‡ˆvVrÄ”„wÀ1½uàx­û‹dbžwj”œ¯\IÓ” •+hBÑ+Õð>(¹aƒQ½²}ãu:íQ%kßN¦Å ™’/Μ–¡§Pnb™d–çÐ9P¡88 } uí8VÖ¥ê#o,ãcD*¯Ç8÷åh+£Vdxl¢ÌÝ"öÛôª¦/‚ÝË£ùêMð{ë4÷}ë·e¡›GqeÄì,·­ëˆ¤ ×UK¨ÆxSáø¯³w’ÁèE?;iC7Ýûwwˆs­Ð*ßÁJB „Š´`{åÌ€<¸p¢øô4¹@‹(LÄQoŠ y‹ÒZèq¬Q—rF*¯¼É|ˆÿt²‹i#ËTZY‹Éq§‰¥¡¨«;}ˆµPÔ×;$„UŠûH3.ë«ïYŸÛ®±C5yÑýÑ‹z†øç=Çþ7>~µþ¬ ü®óy°÷ƒô…&Lt㭺״¬¨IU=ETÉMÅž"Ÿ³½ÖÆŒ;œ¸Ò¶¨Egæ†R¿ò÷ÒÏPØ'”ï3¼[\&!ºƒðzcò-pQøÓ¶üˆwì6ÛÄÉ' Pâ[GAòÙ¿7Ï.Ê—¥ˆŒ¹±Ÿ9ã óh#³JÞñzb î©à‘³€TjfÑônšUÓCɨ€ªÝ¾U˜ÄoíüØ ßÜš=‘ÒåâÌ·•+V±ôe@x?dA‹WǘèF{+Ûžaa„/Þæ|‡ó&K iç¬D+¾¿èÅͺ¥*oelçÃôšl %T_+ÏP¨Ô±t^6ïwŠ[€h›à }aÈ|Ú _ä½’Ayf °S±Ði5ïp7ŸW Z»û|¹å?½Æ>èyWY c×µù ×uk„õß.ø³ÅâÏ|¸¢ÂiÈù±¥èÙÖw ‚O×gôï$z©¬PõÊR,@÷\e6oàÌ0upŠ:ýl•«\¡-Ö³ËÇaP[Ã:æúÉmq<ÁZEˆ—ZÞÛ²Q †G¶z‰Ñ{«´²bÌi8^¶!ó­ßøânþº¿L@ïö!‘jö ™ ‚:6¶KÛ’m‘x‡·)T«L±-‡Ö¤,º‰‹|¿‹ë%d’U~"ÉìC D£ÞÊç^”óýì ™°ÿ³ø„½ke8Rwkà pxâ—…-C¢³—1€S»ƒv:€Òø!±Ï„V¢¡“àçl #ó—ŒÉЪ‘÷ƒ C…hËÊ_ÎÖ:gÞôó¹ñw}' §®{‘Ÿ"£qX®H4F£¾*ìVµ‰šœ…fdã’Aðê]^¦¯CS|óÇp9åöI<¯|8oæ’´(½ñ€2ä¬%EÌJ;r/–‚^îR ÷]‹Åì_ïìµäLòÝÞÁj×qZb=œ]þ Òótì÷Ct1U¼n—÷tîäдuùˆ¼8›ÿ’´A* ûhÅEîÃvï {=„Ø)WBD½1먶KlB¾ÙL-– d-÷ñ™&ŠÎ3#¦\àµô>sg~ö¥,ä%C¼¿œÌ/Œ8åÒOÚLëòGûŠÂð•)ðüyLöMJOŒc„­Â ´û¡jèñU!©ÉN®Vo&™‘X1ÇÜö—”ù=ã#Žƒ'5 bhÇYýpc p)ñN‘±G@sÐ=4$Žñc:*ed²X0B\cgx“UíÄr‰f…h }ð?ÿ·V§´¾™É™]&Õ¹/˜—%ÁÚ=¤ªT˨°u§I‰ee¡O®oXÓH\ŽHÈÅÞùú;#â‡iáâ 3¢úú¾?ðy³ìÀ¡^)øóßW§µÎ!jÿ_t)ì¸ÏYr-p&=ž×Ç•Ëá¸ØÝQìÒSƒÚ=¶ú}]~Ÿô]õü_S!Oì7X×õïA÷о5»€8G UÍ.‹!Î|±WÂw én É!³ÿîcùl5I`ˆÃ ©Æ–)ã̸„‚c¥;À. ¼]åPF ‰¯Eq'ŨQ¨ÙSmõE1­$µ†YŠtzèíד—7±%ás¡ƒDOËöéyK‡ã+Žò>ݨËVgs%ä‚,²·zw{á&Ü]Ô,UF³"÷?Þ2ò'”ÄPeüz˜öÊ'¬ÐV!0ä÷ô1h$6šK}“¦`>¡o´‡ôꑃ2`iôÆNˆt™`INÜxÕ3â±<ã0Xûô)ã·@Oâ÷'£ÃQ‰›„‡ùïk…Õ‡ŠS^n|›jÆI[eýuÝXóqN Þ}ùÚç¹Æ<€3 h7[íÔVù\l£1MZ@‚Ô7IOõ‹œt³•Æù¬€)m÷ˆs+ß鿲 -ôò‘ªË*Þ‡aò@ Ù}v>C0[©Ê v•©fž׌U6‚!"ô5W-–ºqñ‡þ`ÅJOm–=潓a“T—ºãÊ]ãß7ƒ)ƒ5W«Ž4¦y‡‚iw®p£H»ú%Ñ a³£ÇµèÜÉÓê‘fuyÞâä4Ý2ÿDø9ô"·¦ß¨EÝÎŽÅÁ$# Ƶ:Œ„Ñcº/*‚û¤ÖnÁ-“ŠððØK±-úþ}c˱?ù2“í(R©EIãI¢nM{‡ÿ‡ ±þ)ŽÐãÛ¾÷~J^Ê]Ò­{/¢%U-å„ ³)»ÝI5ÒeYø›2¹ú†ËVÿÿÞÝ—y] Œ±[TR­Š¨ñåÄ«ŸÀ¸Sÿ^UÒÏÉ£Nâ&ƒ´¶ìéb{Ûï%Õd©ûj™[/‹Ô]ª,Á|Œ8%­å 0wóÏ*©ß¼nG‰TäˆpÈ Ü ÅÅ+ç…ÕA@ЄG¶Ÿ ¼ëâñ¹µ¦‡RŽ-@Ú£r£}"c‘ýÿµ-ƒ>OÄpH!̺Úï¸ð\uØ>—¤—›žÌ@³­GA¸Æ¶Ì¨ÇKê(+Üf³‹ËG%0Ï è¸Ù¿"ÜåY‚Ñ ?pÍ'Ò´µÉ<:3Jfë|šÙö6Ï|,øvG=;Å÷ƒŽz’|Äz¬‹¸·+àWxYLz$g–ë#¿äQ»Ní$+!¶Ö«r.˜á­ñ§·åç8…‡­¿`‡a3õú‹nO9VqøQ¶h2šíëaJ±ëºpw[ñ|)tzÔN,¡(„Æi˜eHq °'hXV0õÿ¿QY"&¾­A_Ì0ù°ó•q Áz‹nÍ]h4©8©­WüjÆ“v~U»ïÖ!ŠÖÃ̾ Y¸uH¯Q’Ô2{Ä|@àÖŸLÁÀìЪðýÛgÄøœíÆ´‹®ïø-³æÂÉ‹DqÙ“Mçw£X’Øvt_ódÔèˆ:ºW½(晄u£à¶ˆçèÁ7êÁ÷GûîÇšTæ‚ï8ÓEA“§•tz.`d„¾‡…§d%”©¿Œ™ä?ý\5¹ÙD™ö« ¡Õom„˘m*zÀ÷&Ô\E…¸ýjŘíT©GÞ „MÅéž™œ«ö`zÉZÛNÓ¦.™¿Ѽ0–ám9> q‡,s<Ð(iáo…¸â¯$+“¢Ç)•€$o¥åÑë£â½dw±Y:ÏÑC]/оùò&¤(‹H©0ï³_ÇŠ4ò‘ÍÕê”×mÀï a‚§ýðöß\“)[¢§³¤Ÿa6X!TÙ 8ê\Μµuª…ÎA>ëBðAW5ñoyG š´xM;°ÌvóÏCHˆMTúžµ¬1¬Ë…䓺B¤%Wm>Ý' ‚1~É6Ê@±ÚûNÙ¯híDõÚj]Ey‹Íí0+Žeæ½ÕÂã¦9VŠ ó@Ú‚‚d£‚×Ū(;_¡u*íǾÆ_G-DM/{¾íÕÈ|üìuìÿ*gq|Ïê§-„±¿_Y¡›·÷s¾=t{-ɯLx¨u D?7ýZæËûÔì|žùßâ=þ¦±¶¶G¼y CägÙmí1 w7\ ÆùfØéš!\¨?;5—4§þ~Hð眫ÉͫɠGk »žíúæªÅì¢Tñ[-£Wç*ø’Úx&9ªdÖèÈž¶€Ê7#UÇs«Á\)†y’ð¯/GgIØÓ)Šä¼O‹Ÿ•(mËüÊ·}r* °ïØÁ¸ãHµÖÿ¯è¯;ÐcÓzÆr´‡ ªÇ|;汪ýØK¦Þï—» >ÏùLç7î^ÿ¼èCLÛ0ñ÷|x2ú>ã­\4‡„¡Ëg#„ô°‰¾‹‚§cÈÁÄ»Á±wÇG/œ$ÞuÌY‚1N¡C‰d­°9 ˆ d°e/Å›Ëݾî!0׊õøóÒ»IëÚŠ\¥2i¸tçºaÏÐVT–çu[ ÛÒ¶ê ôæ@{ØÃeéc¬Ø½à Íù³F±êX½ɨ(³ÛÛpAò´ƒ±ÅÀØGžG9‚dmeY³ÿžÑv`íûœFƒþÁ¢ÜÃuã‚NÜêÓkœÙ>ŇfÐ4–Ƨ„h“Ë LWÐïSLX È8±ÿÅ×±Üq­®[¾(‰>+Y¯pù¥#¯‚²GܯÃN®`òÌŽ§5^èá Lxãüy 1ŠK´äÑë}nSŒQíç)Lêk …|Ùη` ×8a›ë ]²ë­)â=÷ äÍC¿Sôñl+#D¨Þ~H.,çù±¿-[K–EíéŒé5ÓÒ¹†ƒÁÆÅ¯š¬pÄ—µ'gu-ú3½Aš”o¡2ñ"ς,’!ϱ­œÆ¿Æô(“¨‰§ÓÛ’£úz?0†I| )AK=͇Ábͪ8LS¨©C6ム—P®‘ Ø¥³T¼}5@‡É€wܰv0vŠñ>Ô§ ç ýà3–̧Éɹ[Õ¨Aqž ]BE ’Iñ»ÝËiÂIÀû‚´FBÀ˜ùÇ%¡¿s3Óÿšþ i‘þ_fq;fã´´¢Ìÿš`óJw‰ÙÕûðœšH_­S=O¬ÆkÆ5È]yc1é×Äh¶Ã¶Ö“q¿–Þ}BqïÊ@­Øš¡ ™á†!`Ò —xŸ|¸ŽÓPÒvDd“?P;>,ÕÔn€NÅ^È›¤©"¤çÀWª"æÜ~8e.Ûa–ì¸r.2[íþÖ«s}?À¨_ôsS¶L~H}7Qè}WXq¥Lª©ˆWÞTJ­sÁa ûîåEB(gkϧU›†„ªÏ¡ë>YÐp“}¿–¼ofþ¯—zY{>¾^Ý‘ú)í !·nïãxýîÏÿR.H7ä6œ3Œ‰qOƒ¼ð¼E_°µ©Kþ|‹m5ñ`ͼû¯ñ ήb˜ñsÀÏšŒ/½Èq&†^j{a5ëuúÏrå³BÜe‰aww¦ÊL„ϼ²Î’(ŒÈœõ‚¶ò›ïDÎIE´T€aâ–s,âY°699c8Q„:“RÍ]Mä*ÝGVðTó O¼ªÎ­Î ɦo¢5§o¥Ó‘CÆ]3×ã{²­<$ËgYHŒ÷DÛQq]Hñ+X®6 “ òèÄ8u>vMTÁæ¨u²é³p “B?Y\fàÂDÔ!2v´Á¾f­óÿ¬€Mê æœ 'QŽá½‰úF.½ ²Ñ²îiûÂÿo1¿`"Y«“ØR¦0ÜÙ‚xÙÑ9;FÀap¸sD"˜´_™è´É+Åÿ®€ÄZõµ[Î@µ9KlC'CZG /ØLp{à2é§%\hfm½ibð­xõÚÏ‘¡ÔïyÐsú’%>1/S2&ß~UH¹¬³^*еլU¬2áš«˜Éš¨<¯Ê¡Î5˜ÿÖÛ‰í`E]Ä!ÜŸ˜<'ïÈKn¯JN†ù( …Q~[冒cPpúJñU%ÜßñÔh€iÌ\û°ß¼¢Ú—(Ç%.ÌSi¿óŠ]8: ±x Õ#ìÖ·ìønxе“õ `u=%ÂŒ¼]4P¶€•y¼'ùóÖò&¬¨º8¶÷žÛröCfìS[ <²óuëÒÎhM ±Q.]ÌßÒ/ÿXÏ D–zÇñÅl,v¢œöˆ1Ë‚1ʲ›ð¤ 7ÞCŒc¨„>ò#½ƒË@nÝP7a%â‘geßmfþ ̲œÀ´ ÑÖn">]$Û~ä²üE¯&[M'qüCª÷…úFåÜÇÚ}yñPŠ|Ülf Hœ|è±Úçî Í ­Æz˦tÔGle ý $Eƒ2 ]«å½ú(••`¡ñmYï®Âöÿ‡ë6ž 6-˜jT'zSšeù‡EÄçèæü j«ñy{‚ ´\PŒY :«q­.Ib§¢·üŒ¤Â/óœý]hdt^“†ýní pÃÚQáèÒecwzb™•‡È’*ë™ôîÇx¬rËŸmÌ_„öŠÔ0åkÔPY­{Öù:’0™²·Â#ѳ,||ŒÄ°uctÇIÏ bü1•,ÉZ\nÒ\¾üYôNeWŒAÊÊ_JÔçEéJ ªAi!¯A¹YîYŸ‰ j((ÀÖ·É£%ñ¹Á®-HZ¼É€ÎÀ6'JIËW0!+Y) ÿ­ Ú(ŸÒÓTÒr¼¶o2ÌÎ/«$Œ‡ÜYð5<ÜšD¯­—ÎÃ]REÏ6°‹ÕÍLZ_~ñ½T„ÿ¤òØ\šÙŒôŸ¤Q_5,_J-ncñRâ;˜…®VÙV3uªûLÈ)ÛN~ã®›ÙÔ ÍÖ‚¢õ«uLmô“rj?F"Æ ŠtøèàU®¤Q£fÚ}޳•\ŒŸãª;˜#MK‹ ©A{­aW"œâ ^Õ·<«æÜËžhyEØÖ ÿ£J§óÝÏ«*ËhMÄq'—Öýu2xžc¾G¶GŒÓÂÚøl×OI4§&ºéz~éfú+\£¶XÏ_òª|Í‘‚Ãb²2ËÄmn“ßÖHŸÄ-Zt:©8{:¡ÿá¾N=ÒÔ¤„VjšBÊà.>'?jMfZAAû¶Rª²ÓÜÄ÷Õ¿[!ž¹®jå?ù^¹Ã<*ž† åqx4bž±O ²óÞÞœ˜7o(1ų޴^tCI2¹’FNùõ¤<Ò^”H Éò^WûÙ‘MtœŒIVõ<ú°qðŽ‰æt¤Š¯é-'|r:Q­X¨œékg=²¾"ª Ú<ÔXI"¸fÔFË!Uü¨dJ‘KŽ×c% 2ÄÍ?ùëI~­C}l©Z§Î ¡™´ân;séÎGWqÌ`ÏRb]L†ûÃ@(7g ,¿`Ç <¼êooSÐ(Ge0I;N#ÊKÓd%lÖ×mË®¸h4 ” ©¦\¹2aò7y*‚œr@$´T 1+dÊU¾—ɺQ5…žÞbµ Ì>ÊS’5 ©AŠhÉlc\>ÛuílP(¦½Ÿ ô?Âti-úX¡´Z@²»»_… ‹2½Ü;ÝP7M§ O–ÜߢiüŸ=ëþJ̋˄щa}épJ¥GŠ1qCÿøÝ爂ûN‹ šÉÖõЫ%<²ØL€Ä`çÐ=ÁƒÝÛD~NSžˆÓ6ƒŸF/‚Êz·}©—‰‰¨Xç>34°}Z“5Þ…ÚkxÅZ]j¢ð~/Z2µ©G䬧hñ—êˆ#e5ªE³S>·Ù£&„ŽõÀ‰Ì+¶^°ÊËA~PáÏO0–2@’à™ªñ0«—ÿ#ìŠúÊa ÍûŒWÈê&«p–ºðI o˜4nþjWÇö”Õ÷u©ª1P‰·ÃBèkœg_EäÕ„¤!ÞÕ…úLÞWƒÃTæèç‹shä"N—Òk³ÁÏZgǰ9¡ÙæðñXgÝÕ9n+¾fDßNÉÍþˆN^û¥IaG»l}Ìâž ³íF2ËQu‘ÛJ’íá]f—È(j)@.w‡0_™«ÒÌ!Ãí“ÅU­dPáV)Ï—Äc½˜èBt¬‰~T™™}b%øi#Ëð—oW»ÝØáÔä9$™Þëë|ˆþC*^’wTí3Á—ÿÊe‹5Ù˾[Jÿ¼h5OëÌ[˜FðpxúgÙCéE\I¡k𬋿+·9VP :_Z T3ä1žoº'뇧–[6˜ …‚í#0¨•¢YA#”~êpo~oßÊ¥¹æƒ?¶_0­äÝûEì_»ËH¨ :q™”ƒ¬3¦­¥Âh¢ž§a̸T,p!ÒªaN2© Mc”zËÞñ'‹½UÜ(¹ ³î=bÞLË‚P… 0ÝíÒ[•–\:fè:Ç iO:Ì·ûëžøMg_ØäjKЄf"gŸòn L©l-M!ÃùLÚÔÚ&Nî!U9—q'ËðVÝ3øwRfgìèÑB Àt'Ù÷×\ûŒ¨KÌÊ3%"‘µ"Þ@É=ˆñÀð†lbA ¦ôVµzåÇÊ«®± û­þ0Õªa|ºD⸆ûyš`èº#[ î+«x0`ÓZ†‡H¾;hEjSÔð( õŸ ãÝ…–ŠC@ ‚ˆ9Qýþšý@Ýk›×ü\%ÿR“5bd‚ÄÕ„€Õ¨ƒ7ª nÂ[„C3èT–xa­*Í.ð Êáak§ÿ.¦tž¦=dÿû•š³#btÇ÷rè¡÷? ½Òà‘ŽífÙL°ÁN°CÕ©â®–îeoÛuíï¹Cj5-‰&}»ÔÞxøîïÞžçÞr÷iöSÛ­©#™PncÆzègc'Äø‹W<žDPÂq‡O2¶9:í-4x±×3®n7êBKqW’µåmØÇÊsoƒ$Èúí¥ ô•/VÄqHPi4‡VLMºD ç‰ÍæiR :1ÛîsbOÝ ;&¸F>%mÎÛÈú±)Ô[#·ó.ëù(e*†Â┫gj…&=“EàeíÒBaI¡ñ3š·åÉCîËÒï\»–bí´Ó*\Q-XL_q‘‘-ä¯,|qú¸ ÁUóq¤c¬üAuåE+•dôÛ¸xQE#+Ž˜—NæRï§H„=’¤xÆy›ðÓ¸Ü Díbf:,jäUÓiç†ÖKfP÷³åw°ò ´É¹ÃÍ}[D°lSÿ-1f¤›9ýHµ½rP­×­¤“ƒºª.ÞU®e Œ<â$*Hƒ©ÕbR fo†aèѬM´ê0gL­ÿ2}IVX"Çç}q÷ŠxÉ ×Ðþ ÚT~’[Y€+éÞµ™üìJO·Ï1T ¦Šêöy«:XIu²'ÙØ’0†ÑpŒ—ƒ"PÏrsp»îÞåø‘ðÝI“b‡12| ”€ ÀÄÉMg{3œ+ùÊaÇW¢J¶rnÖ†¹|Ž’Gî´à)¼”Û®¶GÞp&qŠnº³œÏiȸÌÌýd,AÌKÜ£®ßZÞ,ßìÙ…ÌÆ€`wþè›éù©¶f‡JÑ}ù”uû ”r߹įYQ [’±+QÚŒ8>…|9ÃõL=qvíI³8¯ËVýaâ•*Ñ‚®+ÎRVDw]CLÄCR2ºÝ‡­¶×3ƒÐ0xDÇHB¦ïí&Kágû˜!ͱñz|CÊã ëŠ Ç¶Ž@?Âõ=jÊ‚÷ü.Eá\<‘ 8y¸,–JeVo½½d,Œ4Écá ³K1–_­&¡‰E³=(µ¿"# VRáºol«E75Ðtî“9króãªÈmð¸]uAFËÎ_´äƒA‘Tl}êÜàº4ã¯+Ç’Ó¡Ò†Ñ,—¸júP—¤ ŒÍúfSµÃÓþ±ÑìF³,-¸¦¼Ëé†ÁèÐ.&Õ'cŠL©?Íñõ‚èvŒ¢:qÝ=ôñ§ç&¯±¸=N˜ Ö-xËœl¤) ¹ N“¼™1á&ÝÑ•™wÊ:)†º§÷§Lt®œ½~Vi?ÂR®Ù²/¹Óó?KrŒ¡%Ÿ[?EßyIeö}§ ©ç4(Ôñl9¼µÂ5UU٦ȼjCjëüÊ„„Y±^š·î Èß~³j{©!¿XWk`.¡Z†"ó¦Ö3bÿáÇ)ðj{ ˜0Æ#Iÿ±dF²¸”¥ay ÕS5„ú@ÛSD— ‘㼨ü¨JVÈ:Þ‹‰xü?5yjàD´d\6ëúåÿ$¬*Cp1éàd@Œw&‚5<õkôÔeº§PjnU;¬r3AØC*¬àÙl…–׃H30˜y¡Ü?”`KëÇ`œúd,U¶ÛØß'SPbM¸2så™ás]Å/³q‹¨¶àäD7:¶O½â0ZÀ ³™ž¡dù©+Þ‚K³…ð9z|Ê‘B^–]7G¸Ñ ÔÅŸìïîq§+’8â²Z÷IÚ¨ÿ]w|å¸ãÚº°pXX§2 ºŸ\ÚĶ[ΔBM+•Ù§©y÷†ªÚ˜ÁÁ¶¹•Š»j&ÕqÄÈ3õÊ£†úß³‚ýñ ¿è%±¾à•G IÛù_*…®©þ¨Ÿp³ jÍaª‰ô)åþdU®Û@¥.¢õŒÕ}÷ca•‰›í7k"oxKÞ^AÕ€´ZÞA5 S`Û Œ‘Ô=´¾ÒŒ~¼©+ÌÇ6ê7/CV܃¬!¶G‹jÿoWºAoÿUʒȧ:k›ÿâÄF¿e¤=bó³q®àH-@>×¹ 1|¼âƒÒZIÈøÕ¯D$¤#rØÔMþì“6¹—%˜÷ü)Ù.Ìœ:©"NÛMÛûq>ñ ŽkÓËŸÙ§þÅ/O:gÊ1uXeÀGI–9CA,d%½f;·åý©à÷L8ÑÖmÝh_sÓŸ`+îËX…f“YM„ï«æÏt¥‚=F½†"öÂÌ/Þ4þ.ô;‡¦q–À³Å¨äƒÙeÍßlzdâ‘êÆWGº¼MÚ.ð¸_»G€íá§Öó"fª!T2ÛöBjË„‰ÄÛ”N*t qÙÓ“°>­!­rÅK­S—‹TßÚîÞ¦™í×ò‚­ “×gP§'N<¤;Á,ëED2)xSæø£é–¶aûâ¿Ç…‰º6mX.øœ\°Ô">D´Ù+Ô`5€(ÍhÌ—š÷»C|↬·!ú¸þó’0á(iè"à ß–ˆh%QKÀk\Ýà¯Ä¥ Ù§%Eb­XfÃWóyH„gj¶Dz×ú;·(ùl¼îúó.î'Ú¦Z6Ç‘,ºíª§} §¿ŠÔÄMR¾ZXãË?Öë%ÓÙn9I±2… ­TìÃ@¬/é2#:Æ#’±dªŸÆýBí™l•Gà ¸Ôäö_Qç¥mR¼ÍV™0 W úâjÙ?"»;¿â\½G r|"N‘L‰"£:†/Sp©ËÖë€ëŒ' Óב]äñû8ßèãÈ¥¾ÖGZÚFŽT1K¥ûY®Âyê¶žôvaé=i0óc•‘C4yV^_:ˆì”@N|g—aF/ô‚Õ`¸s‘}¶@×ú3iöe{M=Ñ<˜æ ¨½·Ï%¢J¨9bÃëKbX~zgþÐVi@dDZ¶ó/Ž¢9#x©] á­’‡Ÿ5°xH ÖPí'QyT©´jÅdAÎk ˜mVK•d¯Ç2}Ò•ŠÇö"Ô58W2 ¼­óñdÍ…ÁЕ–ºaLU³2e?ÿùñ‘ßñHê‚LæèÃ-b™¤Q3ó&†˜×]ŒÈçYØÃõËÂ)#®.U‡9†.•e]%¢Ø§ÓÉáwMmÅù!€ƒ ¯4F7‡RZáBO.Ò‰|ÌžÀ7'X§ÏE+×혷.ÛŠQb4£ nê¡Èwóå“Ot%d¥ö¹Xžõ•‹ˆš,1™á3žY–&ì9¶:¬kYoÌŠTñÑŒ±^ˆãGU/‘Êתð® -ÙUòË’v‡ÙhÜNKªÜõâ5-W>]‚×$n²PÇ“™àR?u^ úJ=vêÆ8gøÏKIÕ½¶Æ¾Ì4bÔ}ƒß†IÇÁN?. ¯h5Öâx ÅCÞ ±mÓ+¯=ŸR6éuø&»>Ü)ÿ¬³F12ÎiRмûùtÆ­f@cç%ö·¤)«ƒýoÆô…O?õÓŽrWlRÞ¤4aXÏqO‰/H©+¨½xœX?Q,Zöñ÷j ãf¬º¯BŽO¬Ó E·TÂÑÛõïGY ’|àèÍWpÏÍÖÌamDÖ‘†TêþNÙh—öÿÒCI_t˜Mg3¤%³+w¯UtÀdîaës™š £áGã2Áë/ØráËèÍ^ç$ÚeÒ¬³ºû8âU]–”@QôrÉf«k¾¿ $µ85½jjmørOf²ŸÅ 23Éb™Y‚7©Þà^¬ÑºnfN¥²jFDð¶¥~ż¡ºÂˆ¶[¸4ݾ7åë‘ •Öòâcfúe²g†ñŽ¥Q„œâR\Ú&â¨0³ ¶Õìð˜›lT’GYìe’è H¶£€¶¿èo.•›ð*ÎLØñ™*²E&àßTlº‡gó5q‡OöíÁ\“K4¿üñ’-2R”9©ðºˆpáo«{Ò´ÓŽì<7­ æ L^ÞËgÜþÎ8ýö?~p¾¼'|c°5mB•ÇfÃæ±ajü|]å§Ài`|'Èa´¸ƒw±v(š…Àãó¹ìPrðÛaœÞw•Knù„¨Žâfò6#d£S…Up"_bÕRX%Ë ãthúª2cÂäÍÒ]ø[=PA˜©s›ØM;HˆßFÏWîªnWî²Má^§™Á×|Ó†–zŸËÏ%šÀ…=Ô?°~Æñ/½—ý/½ËŒ0©+#ò3¥0ÿä&ýY'„ð©d%Û­ö(í!x,=­ÓîY]QŽà‘–¹^Œa¦’ñ*ÉHq†Øìœ÷óˆäTO"|û‘^›Èåyì²Ð™}‹{yò[Keù9{âè)¥û¬$öaÓcâ«&4ÀmkFþ ÛƒYõ>y#—µÇÄÉò%•ãƒÍÍœb“q,ýò¡)†¸• ­,rD×y†a42-CQã›[o–‡Ë.vuxÀÃ⼤o·¥‹ðÄ{¶tÞÏ«ÞGèk0…%tOµFìáàþP¿8uœ^su U¾É~G‡DK!¼Ä‹ï!î¨òõÐET¨)4ƒöŽÙVÅáÍ^ˆa¡óg¥}<·Bo  <Íxv@&k¶t‰©'\AÑ:›Ñc(׃.Ac¡ÞM7ö§Àvk‘é"îrÞ~J×Ô±¥È³„‹ã…•™R¸ŸÆÄ~m½M7€F*ÖJvx}µt5mnÀ%ÝWÕ(5GuƒÂæãÆó{…¿çb DL Rîe™ýlÅ*ÓÙ>W-ϧ²t˜Ð²b!ðl]üb¶¬,YäæðªÐôë–Ï6Ì&‚ɲ•ïèé¬@%ªtb·Ê*¾­`‹ê–7WûAñÜæp„n?o_9²Ës2÷Ý,é0ÚB­C}™‹äË…;˜T®Ýx{ìgåƒj ¤hÄû œøÒ!«gé´Ä +{ÿ´Í>¥¹MaeÊ Mâµ@™s²§„Ö7¤µã·ÅÆJ!Ћî×鳕;ƒÇ©&ÜVdÜ+ÀÙsF_=·BüÄåôaSòŤyí¤*ZÁ%úÂ+b&~:󚨮ò98X´~Ùïeºæ?Êšjî€ ß£ýÜÀï´`Œñì9OÙ…'ˆ8ÖÔ³çäqs¹ÄÖ…mÊ¥7üuÚ6YãàbþàžüEÙÃUƒâMQ/D¢{ ª!ë„í;ÒŠÑË ˆ[¶ ˆ‹Ü‡Z÷ö@äl#+ÅÊ1¿î`” Ñ¥^ŸÍ._³÷îÂv´0Vi~—nþêÆ„5D’‰^¥c4ŽO§v‚Øl¿°²Ô;ÇûÞÝWe@öNÕÖ.X²áT>™*(]²–+®EéljWZOxTžãÜ*ÆaÑ9D”–]¥(¸å#ž*éDîÉêÌ|)ƒ=ënz}òi5IŠ 4¡g½Üu¸ø7@Ùáð&†Xá8!-¡Z%QJ‹1N“¼cR÷ÜHÏQIòh :R]( G~‚ űºˆ2²+Ö6#E#mC®šs-q Êÿ&V—£9JÊ`¥Ì^ÿ_J†À Ž7f”©ø6YB#q¯ˆhþ`à–ùºÝKY«ÒØ©„¹[¼î”hÀº¾˜Œ‹*ú5ã‰÷ÆTÆÂxŽž]¯·¯lçæçœÿ ^tùtj\ÌŸ[ŽÊÙÚ˶¹³þ¹:Œ—»Ð2)­Ïó¸UÇÙKªsŽ Ž76yãKæa!/šÌÿ½¢‘ÒbxˆÑ1Á(ÓÂ9ºý.¨P˜R¡†‘ÖðôS^‡¿ö¡¢3¼™Ûèþ|E›HGák„eþøÞô²d$PàÓûM묟þµ Ëâ[}n†z]Uq¤É¤½Lz2aÉ)&U`›Z˜ÔÏHVòëï9–ÏýVÌGFˆÚ–Z ‰B@ò~ÙiÜ ª‹‹²é×;ÚnÒ#wQhy>O‹éñu9Òf-Ã[ÒøQžu”èmÿs~ “é0øß«·$ùqe2^Uú|6¿B$Å¿äèåWÕ´œ,iÌ t—Ù`^*¢UÀnOøÜF5 5Ü2rŠÊî[¢l†:Â_Ø(Ÿ;ØEvpÀ)Qüͺ]–þ¦5£cv¤Ò$×âæ’Þ«»¿}ÖšS$òdÜöá"Ò}´½<:Uã­Ÿé÷ç©ÏZm¼¹¸À¯ê†D´Ðó¸}ûÅe©±)ªÖÈ?ž6u7ÿßHúðtèu’cî$8<°ÇÒÅÓ=–‹óÏm“n3?³håv«Þ‚Ž|8¾ƒ¶X|è'Ç´²ß4ZÞ9ÐòY6Û¾øµZrº=˜oܮߔ¨ùÖ•§> ãzÀS¤1S9`”ï…tz^…?H¬ Ý9s-ç·Ü-P]©úÁÂïÓ=:û]Îñßà×Û‘Ó$$6~ŠnôL"yøØ«²\ þ®“S:樚¶Ñ<Øh)‡ZzÞÑ”2¤\¥­¨ú£Fåï­JÆ ÈZ®u¨“Ó,e3F|“¢ˉ‘xºš•E\®b'@®?YCÛI¢¶¦·½äU2sŸR £õKüî=JÿWßkþÚH<§G’ò}ûâ¤÷ˆy¯ 쩚eÕ+6:ŽË†±mÌ”«yð?ß]Þ¼‹–‘JV àÏ£¾MT£ÌÞv !™ç€~„GŠð–>ƒïtï?sc.¯vß>²LfŽÀÉ¢1n€^Wˆžc?Aš­^93ÔÙÝöÎÉ—•YØÒý!\Þ“¬¦žÇ›±hI’:”[¢rè3t›…,Åâûp˜:ˆú[ÌcJC/… ´ó–ù6œñ Ð £ W¸µÖ;-‘p ¿¯ú7)Õl±ÌòŠQȱþ¾ä¢–g³¦ÖÔtWYG¯%ÑÇZ«Å€Àæð£ÄOÎ\¶Áÿ매-BiKV‘~é—e¦¤S ÂÌéÂÛ-º éV”Š»jô2qÈtÜ'Nšû^aŽðP-›u+„dåáÅPgîµÛ?ú=þÌ-*I¢í(üht÷æNí¥ ¸õ,7ëYâ07„ÆW'´[˜8Ƨôg礩+I0<Š·V1°U_sçCbsg7XD^v$‰LP;Q„C8u:;ñKJWLkj” •Ÿ®£öðGøÈLEÞ¥að&±Šž 3%þæG¾3UÛì)jt¦9 u£]%¼{j›ý3ìi*_¶12£0ÅB_vƒ- Êñ†ãoöd;Ò4 ¯ÁÑx ? @‡‚¾Lj¯Ävµd:ðòÔÉY5Iÿ9 ŒÉŠš\Qk±jYc&ùd À›/üª,ïv`"rWÏ}nžÅÄwn7<ÅÄ:ÌçUÝZžŸ +9ìà³…O#)`¶sB™UǡɔèJ½ŒXœDI˜ œós¼ŸI¡‡z%©#OðýÜ[.®±|Á$€î×ö£± Û\ÙUOœ:¯|hLO€n#DþÐ' íß9°Xv¡üWÉ;»cnÉ[o¬Ñ6‰UZ=ïH‘•$®—‰ ìqš£¯7êkŒË©hwsl„µô¸ ñdÎLð‚W†vÞÖ™3ŸÈ™œ+¡Ì5Õ¹Tyðx›{f)¯ƒ~Ã3h–ÑW>nÖ~=„G´Û.µÓí¥j2×Èã¨jOŒ†à—È%6¸õ·}æ–šø"ª„›oæ¾z«*«î¸ÝÖ ‘•ƒ¢äÊÔKÈ·Û$‰0/¾”z«ôU¡<÷¶ dF5 KgéÒß,üÌcæ ¸On+T§·F#Ý(ébŽw°3´B¶Èh¨Þ¨ð&ìf¶ÒÂø®bÇÒj—ß–ü5Tà‡× Gp‰?néTéW2+xuþè÷,¢OEô4Å®l 7U™i¾÷Ê;néÄx@¦ð J7rBÃ2æÑŽý5Ûár¾eÁGSàž‹ë·<öò´üS¡•u)æ×HØ?Û°} ­rÆÜm$À¥Ü)ÄÒ ãwJm3§^%æ_qñ\nåt:ÁÁšþá) h\–«oõ4ˆo [\wçäçà»ëGF=‘Yþ‘(¥Vaûrå¤Jàú±Šbë˜fÄú ú¾67Dx>Û2È$×DVÉņFÁ ø‘áSÿ¶pßSêBн&„²0•±öc3…@w8 ÜE€~æ U;a«¯ÀiêZêÝìjs{áC&S‚›Àj,‹[Õ¢õD&´Ù›–b ¬pÓŽmïºS]8³5sdfé>ÒÚéxiœhiç0Eƒ&½1å§Àœ¢ o„~ðxiÒíOiShò§¼Íia¿{ßF(äô–“ù5 Ý&Aï=éÓdæbªÝå­ïâ¬Ð6¼+_ʽ• hQÿö1åqœ³ÑÂúûRˆ’·aΊrP¦KM‚û`ZiÁÆKˆ²L»R¤¦òÄ”ºu]üëV²—µ‘N—ÁÙb…ÚÂP ë¸ï*Æá+€_ Ù9]´Ðð’6¥ËZÅÍÈ&·•~Ù2ypþ’8Ó"{†Q˜ëK×?g]˜4\8)µQ)pguùÖ¤ Ç¥üT"»×ê¬ðÙ‰Œ69µŒ ÇIÃ]-PNÚ¹<]EËD:ÂXÏBv>“ÒÛŒµðíq¤í]â$’8•_Öî6`µ/=i“çKwÚ+Ó²ñÌÂ6ÀÎóÃÏ6Þ%r b<ÔYñ Ð¥q? ù>´>¸äs÷úrpœÀr%Y<ÓîÜÆ(f[{ö¹¹¯“‹xZø·@? a¥rVY$€²|=3~³°¢ æWp+ ÀP€d©ÂèqB=HA®¦µ=¯|Ë9ꛆ…92Mç£P¨ë™\íÚ6ê æ¿^Ø9rÿ,;m #Ѱì´r=ó²¡|ƒ ]D­;RשgñɨÎSU^›Ý2§Z‚ž}šð¬ÌÑîaÇÄϪ]=8™ õÎv?ÒV»°ÖæÈ ‡f]`Kϰ|º`uÆø5DóNÄ¡ ‡Z“FP}ÐM¼]%÷a–λ*nxGJÈë…Âòܸçí"Ï=¬¶ãμî8^0®=KM£ªðká-º”ïdtC*}¾Ç= íÎSp+"Žúý½ådÈjJƒ*B ¼ä KÓ­5ª?äƒÙÞÕ øG°—YN‘ lÒþÁz…óš¹M`/ [Ã%oâ!Ru˜Q^²ÌôiˆLÆÛ®ØA®þî@KÈ€z¢);èOìþž€cîó«W<ÞÍ?“Y¡©É’j P[æ#_^¿w/,ûÖ*R’¬ur h̲§i“ÁÅ“®À6ð¨”qãlUccRÛc5Ô“ÙÛ,ëAÝ<\±@û?e}À½ŠÇ/ Ï¢löM=Yt®C½¶Ó&÷ð÷(ê–O&ã2š¤‹ÐOIÃðÝ6‰õkþ‹{Õ‘ƒRÍýãàzšE©*zR&dÔÚsw˜ˆ‰ÑHEöAN¯Uu~ÿ¢8L_ç‹ÕŸb;íRNšoݬᠽ›‘~¯ U튊€¬æJö+²t{´ñý–:?Ûµ#î”Wuá'09¹õ¬¡êÄÜËý}.Ù̲ÛïúnìÓlÞ1KMðÜá®ψL0h’­J”_°—¦ÒÜ;ªv‹—ÃØüÙµLU¸’ÈEHFÝ©Úîžžˆ³¸ð–®è$Ê“¦'h‘Ø6Jú×:‰AìJ{Í»ÈñKËÚ¢®{fI.Ó å™ ÄÉÂq8…°¸4磌ïà„wn€: «ÜçÇ<èb:v<[ùXQtÚuxq#geÝð«r€læü*I…[W;Žyû—Y£{ö/Œ^ƒŒÍJ¾M›ÌO6å\Ÿi™áqK]qã$¾ßI#Zí{ke%£bÞ)ê—Hùýlx7Ö)DƒÈðêÀQQȇÏß#¡D}¥JÈ\p|é6Ò â!Š×rüù.Á"–ðFÞû­PïxYÔ *¬[#ûv¨‘g©:¹£ȶv4bæ`±Ãâ´=þ7Í’„M¦CAî^/̘TÌøÎ6`"(¨ ëoé-ÜÔéì9ä/(äÛÞ z´‚FØ/n±U 40Ì TC½Ó¯Ú”‚ÜÞ“ÞøŽÍÑwîàsK$„”v"Y«Ì1«&£¡Ê¤OÌYY9!¸ó×ÂÛ½zWÉ_gU~«Î®|ÍH3!HzÎg%¿föõ`T%Ö/§3yþaªˆéÞ°Í?–oû zlý°õ3S‘û/s·äf+ÛåGò‡Cm¼xxvêÉõÃÖ'Îý:e]KÈTNî£G/ ™‚»+ãvØ1g{¹klÀ!|¯³1|M-ýk@¥—‚êÖ~tú&``Qcg ¯›Ú¸Û…’"º ª˹X0MqUy–Û>EãÕ„ 6oÜÐØe’ú%±®#$DÅMÚá²_ÒÇŽà© îØe#¡š.!y´uÆ:“Ìx±äk.J¯ß²²Õ*²Ý«rOËÖWaüÜ]„©/ˆŒâø¡) ㈘ ß/x"ÜiòØóz›èßûÍ5 »®%¥IL{dwliÅ =‰'ÑÖÂÍÀµ·D8["Ž·oÒ¥ù‹/¬ì¢~2W#gbðT„ΧÜ‚¨ãb(÷Þ ˜‹R#Ó\ hk̤©01}¤Ø¿­QxÌ©3\)iŒ¶í¨QöÈÙdCm¦¤wqòHvd ‚hÓӀ͜†Pû¤BÑ?;3&;{{­Ùn1‡ŸHº»Å£êrÁP7Hê¹*T¡ü£Æ;Ÿ.i?CäÀeÛã<„Jï d¢}íˆÉÌKP=ÿÍÞ2ú|%ó´—õ³)5ÇW#j¿ŸîÁ0®•;”ŒW>°Ýä™?or´Vív¿³_ÏnwÜX¥$2º3DëþÂÛWå·‡ ?#½Þ²‰H{NþÐ_„q;Fâ{笫K°êýú¾àƒ8hËÅo9îlÕ™Ÿ@ʸBoºÝë¹?}^gèìý»OAîÖ6Ì®£`®Ï°„w¿?L¿@ɸKÓP¡U¾—jvþPgØo{ÉoΉ)çÿ6‘óQ¡f÷€|‹É… Y„Ê®‰îÓä®0q’‹¼{%Uß—ÝêE }léÇ¢Cnã€Z±Ð¤<¹ô̪+г­ÍËÔ`ÕQøßÅÚMôˆÍ…á'™ÌŠOÈJ0V{‹œg¸îÖ°#ÜH ¦ °5G9—ƒª“Íë·‹Ó’ ¢xÛ|Ã>ð(Ñ}t,¨/QÏíýO¢°¹Xƒ†Ì—lW¼¸J æ˜ÏÈS¯1³ç¼äV1É¿qáisŸùaž‘ºíÛ#h§Å\§DÀ÷HX:36 Œ³êU×¾ˆ˜®7i‡/æF`aÝ@M4kág Ñ•úB[h ×M©sWWFd„ ¶íekjZ<ïDÀF4kÿ Svo–t ‘°Œ Ò…,€¸EO/™s²`]Úl?ÍäwcRE-å’p‰¯ÿÀ'ŒdÒ–ëv,ت SEœ‰€ÖÕ®6·Læ²Zò„ÇE ²@F«Å§‡øW µ |þ²™†ºaXÂÔžQlÌ~­ç@N'ã@;Ý–hÜö ´E¬)7•[k¹—›ÁEÀsèþÀ¶¹e­»Ü<  Óf*¯qäÄ´ÜÑbv<œ[GªVßÕ—Ør50RB€yVï‰L®G~S„É¢Q·«\êïï¹·™q˜Ó‰„=Û'–ñÊÅ…Ù}eð§}-ò!Çcuß!*>4 –$õF FáŸ) å–õÆùŒ´©´ýœË#Å릂||Ñòý9ßA @Â¥Ù­;d)qv…ëxKBwÀZâªô8¯ kŠÉ:ÍXë_±w3fdðTµß!^™0ü&%—6ÝWUs®>túJÚMD„e‘r‚9÷}Á¾ÔÙ¡†)©q <¹¥þà÷É-nÿ3 6˜×¬›8R³›¶ïcèôiä˪¾ˆb}c+è½ã¶L€½–êNqOä'9ðt;Íæ-ùóÚ²¸‚ˆPAë=ä’&Ï,ç ÊÈ%MÌû Ö‡QòÇ ä‚^S!ÑT›bzJÇcR È)y:í~â~ï6æ³ú6Ú·´\à4Ô¨z¤\˜\Õ ¢°¾ÓGMûâ2¹îÍOA‡l׉З@¥oVìOTJm·ÿÇÅm™NM9Û­WØ|MSšIV›«X,‚ɰXçÐÌ1ªÆhz‰» ‹^쬛YvÖ;Fç peë½t‹ÅEðCgÆþa H€þ‹ÖŽx9‰=ù@œgÚ_?¹¶²½ÝŒá8áGˆG½§Œ¯F3­ZeÑd¹nåÚÑœ`D |îuÛ¨ôŸ"tä„è"ïðà¡þjHFªÿàKÿX棗‡Gûä[¸Í{–iÅŒŒë©O>½Ü•¶ä³µJ}íÈëÒ$Ù7ã‹(›còXO$¶/®~ê£b†asI°†YvŒºÂ6a{d]Å_«vÖ®±Ó'Nª°!š)<º‹zW¡}V’”36bþ‚Ø`°&Ûç…fHóa‘£“©ó£½Œ‡wí"í­ÝcSÈÌ%¢µ®ùw8¯k0'À±ˆ0¡¡3y±œb5Ý‚¿:!eaåSºÌä Ìó’KÇ€%µ©ýŸÈ -øöÊèë:UøŸÉ"CPk,?ÆÊ)MZЪ}ئ߭Ç^„ª²üs=h‹rþÜx,ô§„K‰'ÇC·M ¤þéý¥“Á¥ûçb·N Í ù ÞÌpûûáë¥R•Ðð)Äê<‡ ¦¨4ÓâÿYñå äMSM˜a²Î6ÜÀ̶þ—FÐæ)[Ó³Õ£X Á_ÜqÐ*µ2«Ë– Fom×¥ÜÞîó>OÍU2ÔEE0•‰[Ï7‡ÈƧ¡‚.ŽîÊéu72žö-ßfa6cQ˜/¥Õ$ȤJý–k®ïÛš§ïÌùÕd÷†^,üÇ+“Aú ¤6Ú>ry_â?$óK³šUéZi4=/±ŠÝ‚ëÃ?Ì‚P%Ýé’Ö/§+-ÄÃ@ªË‹ÑðË+x‹ð(!*x†5¹îÀ%D8øÞëÏÈ-Ò™ä¼ìž;xÐäªè…¥ðŸaçØvsUP n[nG÷»aÓdT®K³ñ)ƒC/ 'ÞG1Š1 r„æGmÒ3¦5Fâ©Gä¦ jz ìHV¨Ì€+Ä–|>ãÚoQyf»pÂW×Þ•2êç§ã‡{¤¼/—w§;äèr2îútu±–OQÅà$w¯Ø{rãqzMÓõLf󪌰?XÓ$­}2¸Ü%ಖ' —ÿX܆aº¶Bàæj÷?dS£›î1Öò<8S€I’–÷«‚ƒ¤íëB?¿J÷ƒãx1<þ*,år+rù>Ù}ñ‚åºaN *_õ×ïîŽ:þ´«Š? Iàæh±Ç%Ê ˜1‡¶çªàd´ìýµ®¢dÞmŠ16Cѹ™½šh7fÛʺ$=uœnÿ¬à´ø Ž%`tÔ¡Áö&±ÎßÁ§&ÒÏ÷vLo†n7fTšŽLW˜Fu4õõÈ=âLøÝ¦°J¼,:C w“#LmÑ¥ÅG«WâýíG “™Óv"†V{ƒd&Ý÷„ŠWWC@æÅãè¤ÿãÒùY“<œõ¬y“AßoKØi$*ð÷Œy&Ó¬fÂÄ3üâÝQ;bN»EôÌÀÙóm#D"|vR¥$sÒã²%žñ§á–&­@¬t‡ÌM—ëK„zF½æ%ƒ|V"è´#*åj:³^?C\ °½˜%™Å€@ÑûõwóÑ¡j! ‹ÆÀ±K ·3ÕÍú»¦|„¤¥¥zˆ»üxTòÖ#0Òˆמ}:bÖé–h‡©/»ÌÄ N2Ž>äà+Üys̼#¯”²bÃæàך‘06mrŸÜ’4нF­Ô½9âÏìÀ2ÐØWXuÌEI Þ-ñ¿*&‹3-º6{õúi›š2ü¨Ô³Í’1ž,Qy‚`!eþô¯_›_Søš·ÓÐjt²ÏK÷=†24æãL¢ ½¾’zø¯UÇ`¹Lõ±[ÌvÅB”Vê}K9.¶Öž1W7Ns°CT¢F7Žaí†oÝ·ÈêÛÃ9}°»|¦£lLYÿÍrg×^›@ﬕ]&,êuËÞ¡”»øžYmx›øÒ¥Æt±Ò[r…ÞCéx,–å&˜!°}evŠ´€Â _÷…4€¼¥rÆçº\M¦èE&±t‚û?û1qMUN@p.»iÿ$Ú7ßó«MàLΕú¸UÓ3uì™æíKrA½×élÙÝÁ޲ Ê#õ§up@Üi…ÀÁÙ+GÂOäÖWR,‘̃2H©º!ÓÉòþ%Íì·jB™ åÉr¤’I‘àå„4 8à+ÄA»ºB$Õ90Èż`Õ{OŸüAÆÞ!”ªùޏLžñ$©à­;ËʇC:¾OsºË)³¤–È9˜Æ?§¦ê>p4£4šÚ²’†Mîµn-øË¬YÜÓUêûÞ¥Ò±X#ëúF’ŽžL·’76ªŠ|³µ±ÁÏ6?TÙùTX •“»³N¬Ø•.ƒ1û’/#ùf}cHå$››i÷í “,j¢üÝ) %"S=è\šYŸ¶Ðbxw…Þp·¦-ï[KŸ¶k÷ÓÂoŒlš>>ÿxAÏ”½š2˃‘ÛEw²9M`¡Ô!e1à°*!k7×.-gFg¥9 t=bɶË>XÓ°Ú°­¢grPžwä ëË$J¸°èõ¯í[ƒÆ9IV“êa[å×GøŒÁè·´·i¿ß*Î …ÓK‡Â2­¦ã'ˆäð¥ÆþBžÙ¡[UTÝk3µ%´­E-m†˜FºÁÐPŠoz­>ʉÙïƒjöÑ•—Ü6óâ\PïdÃT@KO—ÔZ=}=× ¨H°ÍMªí ZRÙUãŒjËìg’›>ùߥ5ƒÆÂ,Õû &C3‹ÍBd%ºÉ´¥ç™{AKÃijõWæ‹&Ç.ÐQ69)4Õ·_Q{9 Ÿ1uËMQΡÌÓàûÝÖq0΀J‹³¤;›t($ò€úão@Qepú_™±H÷ê¸Ã{s~¡h¦™*SX5iz¤«ôi¦©p£¢£\A mæ`í1Çê™y50/yïóÜ-s¸ˆMz¾úF½ z« Ã@2Œ`š`Á–Ê;ª\òÆÚ·L”M#&«ZãàÕú$EÌú“·CB÷]H((Óà ÑAüÞŒ€ziÖ>™Wø’uáë¦øúð÷‰¸dðiën¤¦B¥áá_Å?=™å‘€¨À)€¼\…²¡7*gêÛ¾Z_ï>ÀBÚ‰,uÅwóÿ\Í6Ü»²\q·À¥Bú ¤[–¡ý—‘SEõ´." +$W§ã]жÓldÑîb‰}A> ¶©ûî¢ì>“/*O»õD’ÇÑÔ-ô ÈYþYt¯"//*L*ÍÈh¾°´éü"ÀÖzÙ™¶5 ²»ÈÉe+Õç…°y¼Ë·KasFÜ€¤z%L³ j'óðÓ@@fGúá(ä|C5š²ä¡9 ÝóÁ+7¸#—üó’NUo•ÕäÁ8ªÞøÀ‰®šÅšÐGv.á­õË®$¿ú\ÖQ{Í´‹4’öHŒVާRä]?¦…@:-uÂòacÞ†´Ú‰°ç“ÉÈÈ ÃÆÞQ5=3 «\ž¶þ Dë9ZOíjhÉ"ÆJàm6×2þQB?¥ExÞVd ê#êg8Џ4݉åàû>æ¦t=˜`DÍBÄXÔŽËUÃJ@ùÓZMM¢ÂUÁ?ËIHäóÙœ7ßäø™'°ϨØFµ*lZgÉÚŒðùœð‹0-6Áa ¶‹‹¥`êÿ–2¦™/]ùõ >¥ç¤[1Eµ#„nà£Êõ &¤ƒ®uD3‹¥ó>5GE2Dvá­¼)%þEYO:Í‚ЧÕZÔž,ênÂØZë¶vvlÈ¢‘żê‹#ôq\«^Ê´“ìÕ¢å‹5€%›¬¨2µ¼ò;Š­jvïãN¿(›ÎO ïýRÊÏÁLÍØßÐZG•ºâH´“?`þ·äÄ…ìy÷ÿ®}_s´¼5Ò-'ļßoA]BRE†Y`­Æ5”ÞÏÂu¹.#Ç(ú}U”2´EA 4ÒË*†`½€4TÀ;–»l×xÄPË9 må+é QöXK˜’pÏhN­õ ÕŽÆtë ð8øR×;Eè4Þ"À5ôC…LÓ&z¨•ôÍi’ô£üá1´ŽŽK\ˆHÒaÆÒÿ >Ź2)5£cÜ€O,…–]ú,6n3úDl!&ß4C¤™°÷lW©L"ÖïfxC#81ÃóÓ¬£µ”*g çr"¤ ÛË$IVÂVVùtªe‡C…µªùBÖ –p¨e)ݲÚÛ¹i8@@AðÙë;”ÎbU˯Æ5 ¯0zL»PbíÐZ ',—| øâ­âìÄ,p@6‰¹òý\„± ð8fê¾Rði€Íƒ¾ŠÑå„—ÅølI§)“Îo¦H#Ag?›]˜£ ¡¶&¯¨õZ쵸ìØtÏqK?¬ÿ÷…ñÁÀét 3{RbA§×h"›L9ª# O»ã»¶¼k¶Û ˜YäP¦ÞŠs1„# ›c¥]XˆÖpjÓÈC¸þ&Û¼¬d¼R¶°P±õ’DûŸx›¸Ž…Ò›$§§_á,̨RWr<¾hÚ·çæèÛŒºžÊ¯…§0žã&á3˜¾Ê·>2k½Ó- Uéý &©ßâ•CÀÖ[ÝüX°ñ¼Û¬&üׄãV†y¡ämœ+ptZ!VÊŸm€¥ÊZÿÉû‘öïEÆ]¯>/s@°”døá€‘½2gìšâS!®}3ʧ×x„¦Ü6ù!™‘ëwLöaŠÍÕãÞžÅ?!`_è3$ ¢ƒZY» q¾õ3æ ô\ &û3RE{KÙ¾ÛÅku—§¹JñâõfÝàs9C\¬z;@×ÊqƦï) Ùˆb¸^Ã…Ç}f±,ë…“ŠÓ»{êÆ&FµäœÔÛ»Y‰—ÈàŽûÝÄtT£_"uu½<²u8÷$„?Pè Cè+~ØðÄY2Á¦ ¡êJÛß‹vž£BïÔ€Ä3ºÊZéûEæžW¦ê<…Œ79×1cÔ‰8…0 a& (#z§)!33©Ê\pTý!f­ØÂò‡{WH€lÏt­°sŸÝmøöT­,·B_]Ezýr?ÀÎAŸ»öXOÐ'ñÿƒðì†G·‰Õ&SÞ;‡–/uJ¾|jõ¦2Ñ÷eŸ7̬75JØuݺ$ÚïÏvé"fÃÛ4º÷ºÐÄLàž4ƒãó„µa¦@¶íBÒµ££ôJ±*èÆŠvœ¢z…ŽãòJ×vϳøH€ce1¢•{ZÉ—<·>"±8ºççÕT£Öµö(•Ôÿ8ìo~V3 ¾ZBeVщcÕõhìdð˧“@@-Û ¸ù«„.%‡IJ'ð D;$“~¬«_/d)ãIiëœÄPÁÞq½m2'Äzëª(ÙµQ±/ú ³OèÔêà'Tnÿë!õIOhëÃÈ&û%ÉÓI®ìgRPÍ•^9÷ˆ ¥×Ë}ˆO¸ëoß4‘ä¹HßÏÛìX˜,´¢ÂËÖâøo‹~ë†6¯Ö@½Š7K߀œÅZº ×>L‡ÌÖ*͆Ä•¤ù.3…õÀ‰v¼îZÕ%M×ÿw¿5Ù)Ë´»õ¡dLznP|. Ÿö”måénª±¤á¾ýšZ§Ü›‹Â‚Æïª½ÃY¡RƒÓ'»Y$ë¹?:¡ž¦NÌ)ÐÈáXõˆ“bÛ‹;4iV!c 'rE8~%G$¿òŠðæu`Uåü'î>Á·)ï^@g€,Àci®«Bªù…\TzV¯Ð 6ÞŸÙáì•$p… Ƨ`¾xVF´NO%¤³‹‚ ?Óè·¯™5…A%ßµ:R¬»IV¿³ÆçìÖ«€™)%ù!©CgeÊÛÍŒ˜97Þ£¬¾F_J/ÎÞÉªÒÆm7é¹3776§Æ3lªZñp §'L("ÁúUfþö^:7ð¸(Éö¿/Ò@asH½YñK6µ¾:`µ÷ñUËš³ˆ{ïÓöBýÚ³“SìÔ¡¸HŒ8¶ ï/•Zõ³Gz8€¼MÉ]ÇÅN&[¿1 ô,Fùö2º³5pÞŒ&·©VT:K>;çë£3ÍXJ<Ö4 ^œ¡&Õ_ˆœ~ß[Y;›ÄV› ‡fŠ»› DwˆüZ·Í ¤êóµ^Œµ¹R§wýfš%µ¯ývÙ%Ο¹VÛŽ€ Bëú6\„îCº>ú'À—ü«®ˆ­»…t`ÀU”³ˆ#‡´+ñbhÅü¸‡Ü´øën¸éL²x2DÐÌ9Ü~!GŠã¨LçxÉÂLÇ {ˆfù®zÓ ò/V+­÷U «Ã%ÀÊ‹X¥USnÕ8û2¾ùì»ñŠŸß¸çŽêÉ}]Ñf”$i†1!ýo jFj¹Ûˆ¬‘, îbSl”ãàêÉÅ„íaÌñ|ø¿K&Êìj/ƒÔ1S×BÓ¨\Ùß'•Š»~€ö$Õ›G ¿|mñ\Ž…3)Á¹Î7è~ªÙwi/÷ €¨(¶†Su­ê‡W¸!èæ<*]bÁCaF€,¢‡¼×AócÕu·ÄßR)ŽáM<Ö½ËÖs€  /y<¶EÊ™†ÁÅl$ôË`c!ó‹wÍj´²¼†áˆèq§"à‰J:>cTà°e]Øx„X$Î Ê'b"5©z‹lctÆ+EJû¯S¾WÃØ»ênÓe4Å“q¨7Å0¶µûD÷”*8)Úœô_×—ò[†øò7õîúr ^9ä_:¾øCÎ.ÛnWñƒ%|õY>¯"ÝrB!À½'ê]q¢šÍí¿C~Qÿ°p¦¹…kJÇZ¾8A!MÙ¯†×J¦jã\UÆub*j䓱 Ü€=Ùõ];'XÌw‚ôq”xO8sá~Ñ…v%I³;>‹¦wEàбw¬»Í ô„(bC ô.ë~z‘NL pæ9G?G¿žXâšl©³éV°Ÿ'CM~óÿ¢YîÀJÐåGñk}¢bQÿÅ }Ìã¼ Üv€‰XkÁYA…Ççʨ†gÁL}LUÏ‚l~*všØ£È÷ ?z‘¸6EÉuÛbÖf¶‹ ¢¤±u¬fJàc¬_, ƒ£ó»–+ò›ßÚ ‚ º“²Òÿ¼7Qf&Äöæú(:[¹°> ŒCízÆ=waêS³Â~ï0é'µmV®*œÌôûXüSšáŽÝ6²ËÏŒ¹Š±Â:8ejÄÊ#N£XšïhzŽe࣠ÐD׌ù÷ßN,a­Æè4ß°Óu»Û` ÐxãÓôZ' ÕVÞr™×Üö¦V“iU@=X Q”¼ gz̳9³Ø!õׇq³!¥WÊr, rÛÎ×tÂT¬¿ªdy€fÙ.QpþSáL- Š–ŠÔÅm‡å3á>öb„äÞ+ZQ•§ó~ª/ûoŒƒƒuvÚ`;"Þ)§@e·ËŠBÁ]t›\ñº+—/<ôæœêM5ç>ï†3Ôà §Ò­ól:Ÿ—*8Cñ'¾b+d01. 'T©Þæ¦ô|œØÓwAö÷z>V È–Ü?w…Ðz¥F#tÌRV2_þ³šŸ„ªÄŸ”}æJ#ÏՔخ¦®†z`ak F8%ÒmDhö/…÷ük^Ô¢f0ôê¹!(©™Ä‰k5ó:9šÁÀ=Ù3HÎwŸÿóº”;’®÷%]m@ð˜Ããt¢Õ!Ìè–);*Ÿ‚s)à(iЕ•í û[]EJ]û©ø?tAÏm)ÂK*&‹§Ëw» ˜‘Pt¬š¬õN$l› éÕâ ܦ«HF @wpFy–戟–¡1Ó¸V´ ]{¶E5v1V箣ìSbêפ_,˜aKMùAÜ=À¯”c$E Tyÿs~}(£Ûß&î.®R%æâ£–Ö1Î’­<–D\\\ ©ª ªF-0ä}YŒªð’œƒ JúÙ €º_ÁZó΂¼?%m’‹~ø5툗Ç"È®)ëTÒþsJ9¾JöëÝÆÊL>GU±` ¬˜ñFmG¶Ìs9 Lcc¼ ìécÓØÚC>ÑI¡ª°”e®®Ôqr¸‚I2¼¶…i}֣楱¼DðL«%?¤ÒÃrÁ#SDZÊ7÷'dj]Šèn­,-¯h“ñ ýâBNžÓ×­Èh m¹ûo¦½F„ÚünñùÜ"L/×~R¸R¼¾[—¸-¹™—&ô7žTíÐ誃|ŒlfS÷²gøWùŽ“™ù-¿Øsþˆªrè-™Eû‡ÛÒfÏ͗ᘉãôEv÷ECeÆ>8æôpËò3*A(ü*l¾¦BÜzÖ)%öÀ5~4 C_©öAþÜó^ú˜À C2‹oSüTœ]kÁDÐËj¶1aÒ2 ¿‰¼pèŽiÐ0-`d ±ê äìÔqR‹ìûÕÀIÍíÄ‘öFÒ–bsÃõlï•gDBÔ1àæõnArý*ñ®L°ÅÕLX´e|Gs‡ó'²¦cÈä×]ìÒš”v˜õEWVÓºç 0Çki/ …íiJŽÓ˜>´ö2Q,“€ÉY’Â#ÚDd)íscÖÎA³å#uOê’ wLþq#¹ºÑG=šYÿŠ@Ò¦Ò£°¯CÌø‘öµ>icÓB8Ä”(W8FIiqr+Xà&oœ×"R.z6Á[b¥0{Õ^Ò.ÿ–0ˆDãE{–tB ”.]fàþä‘dœÊ|Eƒ­°©/Ÿ×IW•oÑÃeVröxX z!Ü™Þë›þ€ h‰NÎ$9£)¢FMý Å”ìgÊ{àÆâ5û1c5?¾…šˆ½Õè;*R͇–ð‘±2ñ:´ G°=½±› È…r÷^¥Ñr#°êxàèûÌÿÓ‘£‚ö‡ùgÇ€¯Eè•Í3}?X«”Æzo$ăÿ Øâ<¾O>)}²÷ ì·ÑØÂWÎ6¬Èµà—½||]r38È ˜ŽéÜrTz»Eèaî5âæÙ9ñŠmÙ/Üß´¢¾Å°(¸»5ê\ò÷‹Ã@{éô6¥Ó@ÞNHLK¶ +Uƒ­5íªrn u/…Ö=¡žXhVë\3ØZ¶4OÐ× †íp¼c˜‘>µ‚qiéž„¤Zmäó‰™ï¹» ; «º±ºn®ŒhǺjÂÎ}ÁU30¹`a|åbYš—•”QYÂpÛó¸'ñOñêF;±Ö}޹ɗ̟L‹ êÒ•RÐ{ê+Ù·jîÍ¢©’ùZïØ¯Ò…ýqÐÜ­e+¡…Ù̉p/œ¸•Ø®°ònƒØU7øþßÃ;Ï¡ :N××±.(.m¨´Ž+YVÀœ3g¾5+e<ñ«H Ì[²”¸J"j¥+÷¶x§««Q3õ?I|®åèŽÆXé¹Q”minÇŽé¹Ä•Û°˜Ã.³Ô_ýN ÜÝe“¯Dv’ UÏòVnƒÔ€œ‰×ŠbCQ¤;ÏÊç½ÂÍǬý.ä’Ѐ…_¶¨? H]µã®¡Ü5Óü'ö_W;òNOc?´£ºk"&m«ÂHFJkêÕ(Laèk‘Ö.jËõ¨“ð5JÌ}–7Þ¡ôÌ#cÁF½U¼[~ »!ˆýÜåú+™OÉa³~m˜?YÎ.Ùó©>BM³¦c×½!.oaÖZ,$ÉUb=’‡M{μ$ñóÇ£ýñe(Û“£³Œ<5í¯µúõtCK, aÉû³ª$>€n5[3DØ£âbF(<¶Déû±ß ØGÄdro“¤l…¼jUÐü<•¡ýd¾—l%‘ËÕwq Ê6¢4ˤº­5mûç£ãEhmU1m˜Âuâ«ÿä³$ÈŽé`”¯ÎÀñ8ª½ Od·=à‘€¸ ùø8È<{gT;4Ž_'ø–&çáLÌ ždà’u¢Î÷sörâ×Õ–cuX®½…@–‹Èœ©`gÜð©Þa„¹CçˆJÉ—¹DfÑGkÂTC[„g&$\žÏÙ3äÓUSºÌOøwòCðŒtý.,ˆ'øå1SÞßzkç¶|Å®‘Nµ§aß`€í\˜L'ÿe4í¸R¤Uzk mÅà ›5¡^]ÂæŠa”PÁW'[ª"-…á‘â~‰]ÛX2® ¾;…æ@tH‚Ò#kàîòhÛ énuô¯9âoÂíßxÅ¡B…¼õfD7 9RÌÉwlêE~*P/\øV¶“ˆìùøœ9ùà‘á5Ȱd!*—’ê›צÒÜ3‘ó3nëÔAØn1ÃKlŸwa€æÑ†Kœ,ª÷aåz<º´—‘<^ÓÏPº@ÝmÔvò²XÐüD˜ÑÑÉ^xëZ¦È EÙbŽ\KMÃ…¯ô艔ðpôzè8iM€´AHŽ©l9I&·Ï$.|ÄãwÒ¶> ˆÐzÛ aÇ0¯³‡ƒ ‰¡Å'þßW­=…J£*— y!EU‰t9µQö&ïÊ›îtÔõO«(ÒŠhhƒ•aô¯_Ñbíþ¸¦Xoß‘ðn7ÞÄò'óZWs‚eô_P-ìÈ|yogRz][€Ž¯…tiÆÉ †c_4+Kú猛½ý‹ò›8ÖîŽÿqõ·ÆHrl ;'Ü=³/n=—þÚ…èñÀÔÀÊPMROâš#Ð%Hp‚Þ—†Eú³mB;J{[ç±w/myì6Ÿ€¨Êe!É ­È^‹Òø]Yôž…K5$uÝìydÎþŠ]ºÑÔ¶o`ýDLäZî8d Ä6ì¦OkŸàr*Dü?÷X?³:Õ¡îñy¿›­J^b~Bž`ͱ‰Ù¬ûq¬i›hô\• a|æÐãç öëñôÃø>‘^ãÚrhÿ'Ɖ‚„Zt$ÛÃÙ¥…[R@€­¡‚ò£½®i›ÅGl2+œÚ"]Û1ʽ­ÇyJ&‹ èÃyh^iš~¹c½0›¾±Ã’Üú@p‡òŽ?¡{{![ì}/~%xÌ]±kì½s­„§ëK®J8MÒº¬­—7~TÖêÉ­ ¾8Î4fêûöDƒÙøܰæíºµÚºGQž•QMëUŒÿÇë0Ä7/!œŸ™Ù¹°Xcîþ žá”¯ÒkÐ ,¥AúÞ”ȉ„çý¯Š0D4ö|yË–UZÚ“ÆÉIì±s¤´Æ-‡v~‰ÿ>C-J #O ]•*ð‡5ÜAɤ w80þ‚;(4‡è'H»ýù4ëQ%Ñ«†¢Ô@[æØSÿ%ö˜0GÜ5>„]Yçéy½PJýÔâÀñž1å>·÷²I| ‡ÙH€Nĺ*«k ‚Ú‰=÷Ãd¹çw¤²¶î48‡,%PÕî’áâ@ìè2\€žòÍUš9¨|í°Š-’$T¬ÏF³•?2ApbÁª¤\öS^#tºo+Ò›Ä\Ó%ýÀ´_4ËÓž> †”O˜áiü³'âÉ;fÉ0I*/>gõ2D‰Æ˜ä;Ö?±êk¨Ü:•rÏÙ1˜ígiòóƒÍô*=µ1Ž¡ýÀäìÀö¬iØc¿"ĉp§O›/®Kb{Õ³²v†¡Á ÜùS^¦ÛÍ`T‰ÓY\t}… ³‰Ó¾œùõ9 rv¾ÆÌ>Nƒs£<«™;—Å㤒fhbì<°ÑùÀzr€ ˜ŒX†] kF?wê¡M>s:]¬—(Á²ÑÖ•(Óeé`+¾±ÞQŒ±•¦ ,€Ÿ²†¯âヮ©ÇATu”&Dš ùÜmµpJñ1ªíkW b!¦Û† ^‡†Íhþ•lO¢ã/“âê¼v´‚µ_À:y™> oéáÍ™ReÐű„¹®lªÎ–A1̸•¨PR_PHö`Çï‰ÌDüÞÒ•™Ò–œœ¿²DMwÎ}ÐUœ#‚;ڮݯ’îF`S^H&¡ó"¾å§Éþà·¢âqu_¶¿)ŃqGpªýî ½S}+&Å•CñI¸dœž÷l®lܬ½ÁÉÕ6›¾Åùâ ¿ÚàFÌ+udoä¢P§¤Ò{óCÇ“ˆë–ÓEw]>Ýû‹âÆ…¸uÇO3=áSñgSr¸¬Qêu£q˜È-FŠm(c™Îé# vo/ðú=¢špù1~àYQhAŸFø‚b‰ë探õmÞŸÍÙy´‡:«+‚¼27¨'à÷t¶±"gæèµ×½L6JÅ5•ÃòìLýûT‚Eî úƒ J$d_&ZãUŸw=x'”ý܈A¸1qäcIzÊü&‘‘ªžïÙ€Áÿ"mæcS´0þ2 K®ËÎl‚¢RZnmÏ8N:ZÅ«¨ª{y|ì$YTQØý™ý³”OëÏe_u0w~½÷+ú4re¨èW4¯%ÒñÖ3Y¥V‚áöÂcéøs"öŒ†b k ´…×Cá€ã.Åg°¦è#=iɸոñ4|œOCùKÄ{#|ƒÙ¤B8Jø)É®\m1II0–wáO÷æõŽ,Æúeƒå‘¤á9I°+ »4ÌëÇJp;Ši3“4ó®üï ¿ÙXÝvÙáêê1Êþ6Œ£ý>rv‹ê+K¼CÞ °V®ö’ª\ÚWôV!Ùû29"!ŒøÝºò×Å8‘~ÀfK•˜<,Õ€’úêc\iˆøÌî=ãµXég9èîÒ°ñ,_x£ YÀWxðNi˜‰ÕÝMû"i4PÈ ?ƒ:LP`r-æ<¦Ç׸Ë'²Áš(7c¨æ¸ôð3ˆ7²umU[&ÂP‹ ?÷û›]ܽq(l+>¨ª)Þƒ¬/,ý\S35U 2±JÛ&ç"¿ð—v¸D~Xëöáù®þ>dðñz,“õåPõFÓ™¡"ÒHþhÄo ÷i/ècÑÍØV”ó"óœ©Üv3Ab¥ë·tC&þ7¢²qÐàÃüžÁźöô‘6}k¯I«½\'ùrì<-ÉÄÜ޾4 ¿¹ùåí;Á+ÞÃ~ÙÔS'‡wÌMú©Å[šxJ}¥ úQŽWHVЬȨÐëÙ¿€\¤Èú3ºò}ûsÎØuè¹×?‘­Ûª¯o>@Ÿ=°™¬Ã,~bj2…N~v õJ°Ø«¦ô—µžw ªmŒÕ±cwXÞ§¬Å—%TÎÃü1ýõwµ@˜`þ="¼„ NnË÷Šâ3ÛnÏ¡å6'‚ÍGEžvÐc‚·½H¦´\ÓÐ?ñI¼Óý#Ost Ø§)XÓ)œ|#u W¥sœWóŠW jcýÛ‚bÉÐÓßd`Î¦Õ oân…å#±qÝ»lmƒ•ѯ7¼ ùÍ•îù‹”Ì#‰À/}èäçÓ:ÖVUIï@ÞLb|Þæã¡ßßD`Û'¢aÝÄÙ™ÿï*).º Ru¾XjɳöMÖL‚Ü•H€ùúIÖª~“mìÕ™²=ÅJà®"Íú\! ,Gç%qŠƒ”ä$Õ¼žì莵OB1NdÔ/ûæË6a«?}~¡PÛ.<½äy¼Ù¦rTGB.ŠÓäî&ZËñ+‹ZjÒÅ@fwT°Y —oÀ}ÌÑyD…¿©9ö÷;ÒXRGy×dW†tO]->‰,ûY•Ž>Ú0•ý¦ºeÀÌìîÖ8ر‹’[ÙXî±kö+áß©¹Bùµhǘ´ÑNO}.D„õÌß{³I`'48 ¤ÆßãShÒ¾±¯feåä PPòI^ùù=‡QåÒÆ›ÁøŸ¼Qx i˜ ,ñóá?o³njÝÛ?9d>³ðM düÎ…Ö×rÄäI‚ H:0«Rûä&ް,þ¶ `˜@¾”ô Ö4'b¢›õ9™§ëÊR™ÃºÅŒ}­çäz©×Û—¿Ó²ÇrwÁÕœ“3âj_Ï ‘i¹@\§úÊ:<Þ‹¤…s²Gƒ¦£þ0¯ }¨Yríb¶Ë þéŸÀ£EiÖxœÈh±uÈèMlKÌf9’a @ï£gùx’0u2¯dŒ‡Ö)ôuùýî_]ŒçÎZ=î-]çôÓÞî.^ÀzʰÚG´Ÿm¡*e½F=ÛÅdþÎÜ|‹««-[ö” &%üîp~tÜr4%¡¼·îÕy]áØ*…x°‡D±ŒÖ+0¼Ï„ñ‚$Ì‚â!?4Ô·Ê:vQuÿDnõÕÝùDÃm|Ýàôÿ"¸¯j:ï?¦€‘¥8\O€ËCz¿ÊQzŽøB æù¬n°!Äß«Ì:îCæð‰Ì:ðg|ep|*Ðòúv£´Û.¶æAu&4lfËó»RåŸöãÅË ;€=暪¸ªŒ•¥r€Fm¦~~'t ãlǪ#f̆Q·ÔûÖU2‰R÷”ÀïM€&ª¨BÌ·5Ÿ¢:ô&ÂLáÆxL4à»ö•³<à'>ëØ…y)"唜f‹­*E¤³Ï¨„rTü•sf\éX7VC ùöß'$E«Y= ñhí×÷qƒaŒ“Œ{ϨÃ#-" ·(8nú}½Âc½¶¬õ;[ýŽŠ§w—hºˆ ަö6Œ°D'J9ÏõÙI¯´å®g 6ï7äÄ)Û5μð5ºöæþ]:äàìA%† P…¨8Îmm{fïzqÇÕ›Œ‰ŠØ¸¼fÞ‚…ÔntO]÷àø!‚é‚1Og»Ä)8v±Ì*å ¼sfî¡`°üø™~LÄ]}0# cšÜ¼ü×G¯hTÙ9Âý SÉ– ñ'þº7 Œ­~œÌû¹PŠ™@ܤ§#bîL}œ©ó}DßI‡'ZU ?í¹€þ—Œ¨¸èE.n×¾Øý†àMÀ5§Â8Ç÷bä’ÛfÏ-6#ùc¤:zëÿ3mWa ‹²Œ$Óc€:rÇò)ûݺYï^4½xÉ Z‹w?vÐÕeÊ9ô‹¢[Â(m2wÑ ÅÕbȬ½ ¸:›†Ž“ËÞû «î/ªD]†¥ ü¢*ÉP· äxuÐíA‚o)#Î]ö>?”Oè|e+õÔ€ÿc~g&K PÞtRÆÀ²â ëÂ4Ã@Ë%ì„ÚÈ!C¡#ý·v€TåIÝät’+Hz]¡²ê€×]g ²Æ³èP= oPWtÁô;”yh²ƒx¢¼Â:lÀ©~øb$hÔ‡ŠÌ¼q’€Œˆ‹ƒ½Q?І¡Êÿ1ûX„;J~iù5’¡:èÉBw `»¡ñÏÀ]G…S0ËjYÞ¿Vð–{úîQ_BÎ ¹×‹ggJlR¹Ž}ÈÌ«›¥aý=´…ǵ-u ò ß#œÎÆShÐ ðbÔ­”R¸Å*ÎfÌÕelÚ}5Ò4ïý/¢î7”å wùÍ3ŸÜï>GU¶¤½¨t‹•¸²Å†ûW$…¿áÅ+x´ó¼Ñ±h-Á¬Ç(ˆ³)œÂüÿoDÔÔãCòÊ ‹¶’ʻݟKÅJQL8½()dƒÃ!ˆÝÉU~o»Ö/™:ž|NÍG "©è¦ªàÅüöàÈiûô"a ¬(2RU¨´:Uó§!ˆ‰SI ‹˜‹º#_‚æ¬cÖÞQ…\JàÁ›&ΰê*;ÝÓŒÆ}Îp³_ØÄN ðnf^žÎ]éJõÃ}D-LÈ9 ö¥ññ÷J*t ›YƒÓE)*C¨M-Óî Iå”YC¶–D%ŸúRé˜8’ Õn&’q"w>dçYÎÀWŸÐš®¸g+'ÎK³+œ5ÇtøUSœ¶1*°Z~Õ¤O&àÜ2Ú'Ì}\7¤Q&-Ÿ‚Ù—ãtÉåYÖ:®’ΪŒ0{å˨?±ìd”þ¼çMç' õ+ßÞhO¶¹^çiåB:(Ü5X×Ü^œ.DtDÔŸbì ½m1/Ïe§¤ÍwˆùÛÕqO´íjÃWD룟HÁ憰G¿ îsñ¶¦W°~C©ʲóù¸.ù:KÌÿÌjî* Т{ÿðŒ"dìjéùFÊe|¼¦‹ö•£ðÃM P¡daïUzŘ$ÁS’8ˆÌ&¯`öß1Ú(ï ­,æ)KÞïÄñæ ûÏϛϮyž A¬i›§¦˜apËÍòN$ÑÈë8ÐWÊFžì’Óó }à&›l?OL±hä`ªÕ­êΕ`*øzNW-v?ëíaå X'´Þzün…Më>è§gt½Í=Z,\yæ/tsÏÇ 5hÇÚí óð,½gP"=¼nÙ-öÑ×&䯬ÝådØvršÓ·gý S\ ³¯6ìóª hâP¬ +SѤó6yPö.lGm?ž$Û/b˜À`ÆO·ñ»°¡Ý(UÍþN£‹‡Ì´‚JºZçVϯŽæ6Çðuåä qÈWW,{ lÀTò.®}y]¾Ç„ÿW›È~®°§Ýç9§x3’‹JÄ‹W,”¶&dJM¥ÁoÑK“¤ç€N_¼£®Q›@÷BlÄêI-@|{Áù7'þ<8AÜà›¸¬_‹§ªÅ<à™ïC˜üz:‘t[P³= ‘U@â<¯s$á‹ÀȬ1)ÿm¶"£ÖÂ]C£A¾Ä]ÔÆ­üpÅOoXät; Bµ~Y±ü.&±äÿ£üò+I„}ÖŠÇØ'&÷‰Ù÷ýúUJ£{”êêÚ%2® RGžÞLUS^ØØ=PÀ.NþØ!‡Kmób¤–[.dGêRؾøT³Ý:]y¬²FÿŽÛ1¯ó@n="oÏm¿q¥"_ˆ¤Á-àZ6öCòåÛYDâÍjÖlîzÿ„­2È̓^¡@˜Ó`e²“NÉ:m}[qþ¥G-Â=¢^[&¼¬pI¤Sž}MÎÄ¡&§LÏݱÙ'åE#%옖Ú4ƒ‘`%-ÏV©§ôm¤×ÿˆÏÿÙÚg®!¶41£K§H…º¦;ªªQ»¹ó:Öþ « gŒÀ¿V!&G¾„¼ÙÆ㺧*#õÞãäùoÀò%ÖSê©ïøÊ)+åô7¼W(ˆ~}5@sU­Ñت&³Š•&a9Úª'i+YïãMM‹ñÜÌlÅ©k eÔ—Á$Á[Ÿ »šëàôI Ki]wl|‹{Ç”•ì›|¸,êÂ!A½LåÓQu.ëê$f4’С¸•¡d‚.ã¥ÞÙa¼£ùZ¦³ÿE!z+'KÌ™"iT˜9Ÿss¹f¼ÏH{5b„mùa RbNÀ)…i¥W…zŸ$ÄÒG‚]ÎêAQVtÀ˜ŒèIë¶éù çð&æ…¦1QŠý„`¶Ã×bSõ°6¾xGîƒÄ£yƒù(#­Ä¬žëwÊíOj= ©õž]±qÓ–@K_Òp[š§9 ‚‡xkÞ6Sƺ<ºè³Øà,|W™=?Ç9MÈ¿ø¨ÝH 7»õÄ,o Nñç€ 1åÜHáÎðš5Aר ì¬1¨?ª¬£ŠŠ"¹À[À§V–h͵òUÂJ·©-ë±ì4£!µ¦'Z™ó‡?3i~ëÆV¬†˜ÛPîô¹­[`#¦`+ÿ›íÁ >È á½CÊ¥ +µ¦mÞ2«?bÄ»h‹¯®4-¥§õ³"ã£|í›æ5½:M’¿ 'p¹MnÖGU•õ6ç‘à 6%¥§5?²”õº*¤Ü_.h&@–š¶ã eÁG/K3­Ÿ'€îg—õxÕ`eeqxìÑM>ì•÷™œK¡¦S“dw†»*+%ѡ͗LLáõÜ\®±{)r¨øyÂZ:¤ãºü³ŒtwËǵ Ú'Ÿ{Õ™ÎÈM¡¡ÇP¡šÞ“«»mZåiÕC³©±Á ™¯®5Ú\ºipêàèvʼn4ßÚ½l1®zæ>t­¦Vß„×é¤ÛÌlZà–ü*<Ê=kÏh-㮇cfmØO;ÏÈ ›Î­ ö( ç y·:œÃˆ¸¼Ö LËÆoÕ¨CŒú>Þ]ÏÒöVðq%NÜí C¯7«ôgÕ…"Ît ñ “ oúRê[zK¸¾¡Å¹.Ç|­sðt-Q™]³@ë' ­ÿ]?‰ºœgjá¿¶ôÎÑ•4wˆc7¬ØÆ¯,ÔÑÚ¢þ´4§Ö~Ÿ=¶X0Ø¢•R‘há,26ew¼á„zêÂÜ¥‹Îî|½É}¿ŽšÄjû²lášÂœ *wQç$ÌáÆOÖÛ×#Õ?n†â%9î]‚ûaö}){Ð[wìÎè,˜Z\rŽÛÂ7øéDî w«wXLé ‰‘i kÝhÞVŠˆc»V¹Q°¼Õ+ÌþúÿX˜RŠe‡}°!Ç\iK µUò¸ÏFíw5…ŒU³g’{Un)ҿ΢Ms…ÛøÒk |zÐÔköGJÝŸ¼§V‡àËÜ.0UTšª—a]ã`3BÎ&$<ƒ(’†Œ“†ŒÈIëžµU2—!Ö‡ Ué€ÙÁàsËìüñi ‹{qÛU̱¼·T=Çߤ®o°`ßïÍÿþð/oKðçÈWZ}*UbíìOî<ž)8ßâ8F7òÄYoî}S¹dCzUáe–T”™OJIŒ›Ü}Öaô>¥ò¨}Ö$ñ¦öOŒ’…~e¥Àl^ä…ðFž¦“AŠóØ4¼Ù©YY˜wí!¼ŠIøÅÝ#:SÁ³ÝHS¤ÖÇtÚË<](m‰mØÓ@"Ïo­‚a³ùV?§Æ<„Á²@Èù–ÕùfÄì9«(çƒq{üéPoê[›+J-’.Ê–9—B\÷nGâ¦Põ°èª¶”£Ñ vLJ ;¨oÌ 8¯)u©lG&wfyV°êŽzÈ]:Ÿý&L»øRï¹Þ+I29Ô$/£·^ňà²d¸=J¯\e²}²avøÞž‘îH“UKðØN2‘̲œÊÓéø0þ%ÛþÉ™a^&Áóõb:ï›/VïY+‰IY»¾¿T¸+•Ñ ctˆbÁ°sæM¶o-Å'OëôìÅú±ndsm® B\s’ rÑMP:‡†î§è6á^Îû“‚¬må»Kö³XŒóÏÉ«®­7wâù›ÝòI9pYÒmz—j‰ Ì j‡d¾ë½µ—#‘g[àÉo|;Òh8ÓÄÂÂ6e™üHÌÎE 7svîúWyg7ÝRæ8üH²]Л»n†hkdâÍwoUECÞ$úïmæ(&`ß6n¤tÂj–,+˜D쌩¬Öáúz’ާæÉ¹l‘Õ»HS!ø. Ÿqíi‰ ÐmÊÁt2Yõ(>ªÎ $ÐTh1o¹§´©'7:¬}’ôñµ™ÜP(3‘,<4»0Ÿ=,øÌþ°à{‹!b€a¶,ðɶ0C{“1ÁHó¿ÉM rOéo¹­;k±õ_>7Û.”h ž©HÍÖu†’k¶’/1žÓ4_ÁÜz×ßó4 ZHQËo~m•ˆ37VXóEê?t¥Œ&F³NYÁša5”ÅÛSMð?“}ó][×Û•[0oþdx½…éDûè}ÖŸÓ¹¯~õªtàS‰8^Ý\Å«e_Ò™a* êjBÓÏFØKŸi¦A°2Puvƒ¡¤ó¿3ÅF{3b{^vzfm‡9B2¼&±EA·³k2øyª/á|ÈÄ8—ž3Ö¤cc½Aæ¨8nþ£ˆPÕk›/€ÙzÙä )·ó„íEu³ÞÙ²+ÈÉþ……i$þaò‰³ŠÏ¦jqË:¸¯.Iäy.åˆÁìBƽ°’-~ ©ÖÃ9üRœ‹®šE?Ÿ÷Ñ™)ÙZ"ÆuöõŽV^~¿ˆÎŸ­[aÕ T«ý>ð;Å«ÂÜ¿…hcJïØå¯‚NÐ^±(¯gµçŽ……‘÷×È©vÚ}õå“*dW-¥ÄîèÃC-,%±µÞCà~óÅ9Ä)ÎÚÂ…i!÷²ºÆî¾F÷35Ji#a3k>ÔKöÜñªµ×ôyÔ‹@±‚&û>ÇÓêMÒþ+BZêâxÜ2dUæy5‘xá[Ó|©Ÿ.9à+£‰QíAË]C“ÎAŒ õ5½B¯ÃҒК?¢ˆp~Tœ…A§0Ùæï´UŒzqì~NP‚ ÇÅ—Oj!þÃ{÷ø”þT©Ò"lSÇß~·S@Áñ$¢pŸ\¬o°…a< ¦g[í¿&ÀyÎ9,øjŸ µº®¨ @ðƒºî«/åá^3‘f$z'¬€Î±¤a“˜1ß Nj;‹Á´ Y€Ý¿"ƒuï º¯@ŒÎpK!Fkæ9Qôww¡â¼ìÿ³L5•áixÀ¤;3£SÂ;f>{ùp&¾"™´®ÌWÊóLÕgBQ\·2„¾ÂB“ïÔ~éꎯxšAS\ œZ÷Çtó®†~_{Uc tfÓš<<¡Q€Ú¨¬ûGC Öú®H´  nféWD~ ÷‡~4³5¢?á®Âÿø6n8¨Ís¤UÒ:«–žûiqä“€Qó‰þcž±Þ{lJ}Nó¯°üB0d¦ÏWh 3Xõ½6èË„ù³è‰u„«u£ŒËTÒ5hRà‰H¿÷G¢ªtv†?ÖX9Óé)EB¤ þÚãñ,áEUœL¬Ô–ó1Ÿz;÷ãi zö¢U6t¢a S™@¥qÔ¼‘ƒK‰q#Ì_¥‹ Zw§ðë á ó&æ-o –ªñ³¸áu[d¬3i™r>Ąɷ¢€ˆw»Z¸‡v4õÐkj,OÿãµI‘jÛ¯Ö¸Ú,`…1(W¡2‚ÐðúV¢&Ø@þ%üß·Ã{,¥Ã1Á}#˜š]Ð*TÑô¹aªøÏQyQÑk Xè(õF¾}¾»y#OºUüü0ÑÆÃˆ•¥¦–ܽüA¼ûÉY˜I‰ÄãT2‹Q¾ÖV\©øß¡¤öw8"åýOGÅ’x^ âætÐâ ¾KÌKcXÄyN÷ ð]3ZƒÌ"ÉÜ:´¿í*;Лýíb)^A ÿiOC†˜åaS*»|öòÈ*–œ¡ýì"e}”y+XÈ.j¼ô@<†E óËÆ>Be„ð¾ãÓ¤æ8 QÞ§ÃdÃû˜À¦l».s µžÏ@j©X†·ßâÙY‰ßPªˆd‰iØ@|Ó:¯Ò(^†Þ'ïÛÅ;õl1ž°€ºŽ±ïôÃ8ƒ#DŒ‡Tšë%‚ë¯Åg?¹™¼cðË%hÃTáM”um]Öìòð~gÏCdÂa—Ÿ+ lÔ9€x]* cyã8O9K\^ì‡1f©Ot>›$‚H°UЬaö6'¸Ð'NÓùF¾–p?XÀÜÃV›bO…Œ’2D&ÚydH*L$KÝäNù¡ûhÔì—õ nh›ç'eøG›„ww[:®IÚ]ogÃP-a’¹ížP{f(ê„Ñl/¿ç^¿¡Ï+ã«Ëò ¿A¶áåhªCHîuA¾êåå"£¶–z¥ç ¤šØî­)tä†/ òét‰ë]9g$¼®cç™å08Ÿ7Õ[F7ÒñÕ³ZbWÀ ÄØJ‘n`_øÚ»hîêD*+ ù8 šà&ë *Ó´:¸Ú¨”ÎjCoØ$:›z×ÉÝ%Ëë´m%)NBš©¹nŠK&ŒƒÅÄ] ][£‹S[j† ®}™È·OV&è.Ø¿Õyˆ£µš8|¨(IõleIŠÇûÕ†)p^;O-BýùS|CÜ N#õý„Ј]Nôt/Û°â~#šêõ×…qm™ß·j=H3ÝÔ8}üM¾VÒÄ¡Á˜@Ò²TÀ‚ô>ásý@<©‹ÖZíp¿ƒC‹þY¬>_½ŸCMé·ÇV EB¸}ËRŠ@²<¶Ú§øg W„ö‚˜aõë3'fL o§iw‹Í §HMÒWð+¦Ð\Ið}õ?-"¹¬8Zy¢z¯Z©Ò¡ÇñÔz5W9-á‡mF(à($t·É[ô§×,ko`áQ¾ i%ña +û ÷§žü¸8 t Uè÷žžJZ!xX3¯«Û³ôA¬Tw,¿%w¹™óUCm\9—íl ]¦ð¼ý=É‚Qâê‹­zcO²XÅU†Nî–³«´ð=o§­ÂÏo³ð$—*H$‚JQ¿òqä¨ëi7ûB‹\Â]MµÇï°%@—e©ñÛq–ÒL膻MSs'âeÉ Ì}Ï®òÔÒš!Tû Ùæ ’ê+OÔY¨ ZK ä‹],æöí4ðk)ú…7Áþ‡ÎwG†…}É;HÙ¨‰DàY.Žnì'þ¯#×+ñwH; GïþjAIÒ½ðÖ€Í#VQÐ äÜCW¡ï¥1r˜V~lbíäܦœå9&ÁÛUròûóf%x‘0;LfêjzØdf庿œƒNÒð«E;DUJ´€£øà’Dp_9ðß#1OCìˆß-®êv "?ê!÷`c8M¹ã$ÇèþdyŠ(Y‘o$áÍŒE×­…÷,Ìne^–¬JYu9‚ÛVT‰‹+²{hS7{Ö´B^ã–ÏîŠ(ß !¶ð²ð3¯q1@¯ŸŽ–ý*Œ÷ÖLÒr@)Ž{¹©è —|ܲ%p¦’– Ó^’ݪ‚UÖfk³p_Öth’”SæáK™ûæï'‘¤QŠZ­Ž‚…¬¨ß“«4†#Qüœb8ŠýzUùÔ³ÿ‡Ãn<_É“ÉpøåÐÎjjlH˜~¦âPº&ýÛ™#ŽßBè:Íú*mq©6@íA;,QûƒØõ‡E•í>×I­iÅ ÚuôûX|B³j÷ç‘ 12ø©¤ì^î¡Çî}¥ö1®_+~¤ÊqV>'yòwÞÇ<©O1VMM·³Gð\ïÐ!–b‘kŽéÌ6z»,·Ÿw6@7™ÂAº\bS»"å\Jš=¨f@eSÔTa × ÄÁÚ©÷d’!Šø+Bjè}˜G …"´áAú¾âï›[0|Ê1ó“S'ÌÉç"-/úôn¢JÙùD=ÿ¸ÃÆNãqgM‰P2VÂl]Àð|\-(ÊGŒßû€%œ‹bgðO? ŸëPò¡­Ï8å¦è^ÔÑcÎ2ׄ€\Û¦TSû;§>LÒ_³îbBâ^Ï«~&i‚nå:йåWê®ÔàÔ0á÷ðºvyWÙÉ•þuþ5c9¹_&FDÈÒ+z{J¼péÜæœµÕs"FLˇ—تvê’Ç2µWÜ¿+W¦jnwj¿½yžÌÛKã¬+©u >¬ÓÛ)v s¹þõÚÅyÚ¯šbé©Ä¹q.mÞ9ƒyžkg(@¦y$µÖôöÜõ`¾ »Å»·“dÑ%@y3&áO4$-7 J‘¤\7zÅVI‹ÄЕí©Î²a”¤ê¤ÙÑÝæL½! e50\”‡îužzh2Þ¯:1²àÇ)w k¯îJàO$Ø_Œr!ÄrØëÍR€¤ —^ûR¿åuÌÛVŸÌÕøEüÇšÐF­€,äÜ9 XלT6µ»Þ±2xØb„ ïû—[©£Ð®‰H>çqŽä>ò l‚{#öÁJ—ÉpÙ20hà¥Úú©ù°nóЮ0/ؼQ’.CA[<ã\1g¶¯‘Û»ì32¡+À’ ÍÕ äß*ÞF~áW?J}*…=ÁÆ“÷røŒ¡²§Dâ`v¡B ¢ùÿ¬Ÿª¸`ñX<"F“«AI±Ö±·s^Ï+‘pu+↠¹ó õm¹¯pnêÕSÐý“ïÅDAà>{Û)?në`Ê TÓ»!Iߨ/Æp {pê#ˆîm`RˆòM€¸”Ñ*éIFÞz4fy…äã2yÈsÆòg½Â·ŽØE âŠm£t^‘ý÷ºœë* þ@MŒñ‡Ó‡—¼YSùŽZÍ 6^¹r!úö߸Âë5u9¿×J_SôÐÓá™ ÏDt”õeQ8ÕŒCÆŠÚ‘u!þêÆLv_;›U‹ ÓÂ)‰ë„Æf5=ªÛ$~þêÁ3ªË(ÐÚ{Eïî3)±’ôØ,Û£^%³“qŽØ?×|M†£ëçÊÇ%ðZp×Þ0rKd¬K:±ØZñ­‡ÄIÝ|!ŸR+ÍDË›@€°‰šÅ€Ô~“ô…Gpa¡Ê¢GäóHÅãS•øœi ýJ‘ßįÌ+/eåãÔîÃà9„_ $eçr›ìZ+sŠ‚òúT÷Í 5vÏ*%ho*`5“òó„²øÏÝÛÇ’„§Âþ ጅµ÷ɽާ¯@ã³ÈF/û 1¾ø¾4‘ü§!j#ÖÙ«@z¥+ÞFÿÅÝ-¦¹}þÍh} …$AŠˆ *jš—pr·Š™³q» GºT¬ —D´>ïF|x¼9H¸ÐŽ@…•*òÀ=%Ž5†:Ê ’z>VÌoËÂߥ»¡hG–ôüÙŸ‹µ®Ž6pæê‡”ñ‚Þx‹s'9ÖŒ¡´´ì J6;óÚê¼"zÛY¥[Îc—³%l5ö=ûfv=#œ6Ú•-ÈÔ‚ã ¨?êšÃˆ´ÂTQ‡Ñ‘ 0e­$ÝQîØc_°¡ Zî¿©a%®#JšÈÊ^·›F³“$iI_¬è.A½Á¡R¨N_Räå·èøÇÑÎ0Š6æâÞvoA”·,bsø@èõþlR¢ÇKúDÐ}Ø ê˜ÇE, =ÄBjV¼Ó¾¦ýì·-ž‰ôó¡Âï’nFÔ™ÅW” „ÎïûX´:W =ßÜaÊz0JôòÐÀ‰jµ_t—3jË‹i’‰ñaI#•Ý_è1žvD–î1˜ˆWšÈw0qOt™zåµfeT¿\$€Æ@u“–C£5!B®¡_dÚÊQ²]õÔòÀƆ *=…)õ8ßõàT1hkÿÃø º×¿@sQ` LgR/ŒúJ•F%«˜d)EVM^Å‚C˜Q‰#°Ù<íÏr즪&€0pY[¬w÷Ç£í]ÝäEN3©ÆŒré_'éME„ 5Om>þ˜æò†€¹qïÒÓ|û%A•‘Í)GiÝ‘?m­uÖ^õ½)L:I²zœÖ”l ~:ƒn×üx(¾}uHÍ„ß aižcÁ¼îà ÅW¢'“ÀIa´€µçs9„µ¹±/ùS;PF;¼$ £IoÀŒ¼;@Ål…!ég£¥W•N4ÐwÞ0¡P›FB=¬=ÏTêŸv±é“G(äËÊ u-[¬Bq õóLŠš¦+§‘€çD¶2µßÅî—‹L¡ä«® Ó«:BIÛ‰~ T®À\8k¦ª·„vØް¬?ô exò²Ðl<,3¡¤ÿå.¼£Ã ˆR+dó!)ÇÌÓ‘Y IÅA„…¢õŽš2íàIÈ­¤F*¦ÁD ÄT mÙ²…³½NǶ¢ÃGŒÉÛgû÷p/—£lXQˆ7õ¾õþ±Ÿ7#.Ö"œúñŒ„© Ú¸§ì®Ãf}œ—or•ÞÃãç*f,ț•y¢ûYfC_ ”yÓØ´3¸ˆ|n*A4»Q:öÜ®õ ¼4”ÆeR𝼇xSJ>˽\ÝzÈðcËyɼWFÏíþŠÞD¿·nl–"™½NF*ÏFÑɸ¢Å7ðF9 €-–Ì© üù<÷ªþ™‡!¬ßÛfjNUŸì >£d$Š—lìŠîé…ä›*§¡ÓêËT‘¼o}± zCã»T3-¢“Œ9QŠÞ{Ñ|XZZqðÌæ·J-?»{ ïÀ[ž$néÉœ‰z;]f ¬0OXi»ÛÏ _–¿ÙÂú¥ôÙwh‹S6/¤‹iLjì°gA:ÝH +°nªþ%nåCqЧ  Î[yž9þ‚Ïß„}÷Œ»Ž|ÍcưDgþ}6€Ù•£H/˜þè,æîÑÇê“ n1 f=¶U^Ç–*ÎΟV.Be9ú+ÿrï;€À¤‰?‘9H=¡ÃROÌPE³N,£܇a½f±:ma™ÔäP6{ƒn_ékbÀ#ô_³&\"ÍözšUȔӔŸ†Žï±R“€i“Æ™3ú¬}ØfYôFnøYÖSÄÿÔ‘Êœ=–mÙRªa·5rß öSØaƒ)K»€¡f¿T U…Ó'tFžÖuñ·W¥€á šû:l¬Ðn_OÆ2Gåš %loŒïŒYÑ''Òé”èdI:ànlº;+Í14Ä& ðãòž½ÎnDRkK+˜/€Öè"Õª&òß‹Øcƒô…4=/Z_Šñ."Z¤¡[òI‘L7îíù€ÏƒòÕ.V[†rÿw®™äp±çß΄C¶‚´B@Àhš|/ã+þc♂°Ú^HR¡é‰Á7øÓ@`'|÷3èLºŽYn™€¾4ÙŠnÝ»â™_Ô­—V Ö€õýt²¸öG/ÄÈ\5¸ä­/Z¹^¬¼Þë4å•¥¾Ãœ.?ÏbE—¼‰|ÏÔãŒ"˜K~ Ð='øz+²ÂCA—T!úYÚ h¤xí/ î¦lF¤†.É:õ1»xÂ':D 3ˆI¤ÓܰþÑð¥*Ïb„òZ$~½9ù9÷l`¨,Õ]nõï„)Q\yøå³(A¥GêIëþó¶DÂú·Ð¯ïFÖŸ†f…&f_ÇPb=÷pÓbi<ȳ8ìœ÷‰²†ë~Êoëàø ’wݪDç• Ðþ®¹GÀúú9ÊëòSÆ« a,D{Ż‘¨CÐÇ› À$ÇÆŸŽ-‚÷µáG¬ñº²ç ?ÖôDX·oR†G˜©=wXzÉŒ¶ðiŸ¸»LX£»ôÝY^…Öþ¿iªaS“CUHÍ÷MøÑ©mœ-¶³£k â}p²'ó‹bÝF¼Þˆî&w¿©Ú`Æ&—ÀÅaìzBüË8Ìû²dÿ=X˜ \ B'Q¼¤Ÿ»‘y.qË5p[\Wàk–,}׺Àë§S¼ü·)vtÜðâ$E! fÎûÇö“²}cº?L…:íœ;Î31 ãM+hŠn*_ŒÕ¿…ûó}é¬JÒ5?#xªYCØCï—z7<þ ªù?.•¿ P÷[«90ºÜkÄ=QÄkîHÀ¼T¶w­š‘Ð ƒ°V‚²æéƒx§ìËÙ"X°®xYµ¹•Çq@F\º®Ë¶¥Ì}ØÍk4_cpˆgUIDèZ zÁûü;Ï)º‚u†õ”b‘±µÎò.?a$ÈÒNGLG¿|PŽFTCÓÑÔ¤†xGyÞ÷ß,‘è`© und)rtò®ïG4ë ƒÉn]y,gâüN —°MAÚ†PÐ/ô(Ö*¶ö ‘!·% ¾$g[X9 âeYu¶áf0»„C@47îxâ^4hù, |E Jˆ%h7£å´’' èÀØ©òÆú0×›—ÙÕ¤ËQ'AH¨3t[fÓ¬ÌjyÏU«Ãã=OýÚqN†þ+H ôY¢~SFï>[e…KÃ1¼Ú¸ HN±ªËê«›|q¾÷¿°±~Œ»>òèÎfM|¹ƒXà¬Ûañ7è¦ú‹LŸñ§MâB+ŒXÀ´á@œuè í(Φ|3âÛÖp´)~%^v¸D¾jÍ¥ôT®õkÿœ¤¿à-2Pv:™âÞ=øù·´­,[éúd‘¾—lé*ÏŽ–wMÒ†åì‡ßÃDNuí›ë86p‡·Ñm·Ò¸cÂÓV_z´~¾”‰G`4PaSL–lŸâ_+qöošod¾—Ò?•²¸Úé©ùåÏÆ¡®N‹#õÑ/t]áôvHíÛ=ç)ž/¨ ’êw{‚BžÝJ}Y^3¤ÞÚè>üOS@«¢p·SÉ- ?DÚ"1›3zC¦YÎcD“ á³ðÍF‹–Üw0údûœKDú`Bθ£°Ðh÷5¡ó‡‹¨¶½º:A0;ÔFfK},#4˜-%•ƒ"º¢ïl $Xr90̨«8dm ܯWž@"3‡{dÕåºé#s(ÍǤÙáå‰8QòP·Ì#Ñï§Šë‰,‘Ág%˜Jl°ÐËøÎ™„GQ¡‹ °´ù‰¹÷Wå}øq°.­ø;Ú?ô §2«rrÆ÷ó©ÂV3‹€àÑèKrå’e]±»ÈI8~Õðc °Šóf×WE57Ëø˜VMTö x‹;¾H3cw²÷5 `l•V4 ñO¦>öÓ»ôöU⽋ Í¥ÍïÂå\Î+''.›p¢Ó½œ+þæ‡ÿrJŠ‘‹£CCÂß³{}û8Þ’zwÆúþNq¾f8} 7‡À†Xö˜±d_)K 3T$‘‘i)¾+wà:QÂÏV·êÉl=ÐÞõÒš<çJhL@\2`8nqëR¾iö‡AAžK¸£Üζäá•%SV6Ì〴±È`Æ.6ùÊìÑ–©Ð…ùè_DÝ>qÍWmñdi]'‰wØü‚%{R–v§ÛqžOÏc w™P&¬óÊ럓íc¸s6¶ovŸðQ|Oë4Uh5X€u@6ïLn ÎuñakyÅÁ®àóC_K‡À±|…ɤ›/í ’ƒÄZQ.öuÿ»qK¨NÃc#¢)xTDÚyOK2µémäô é‰#Ë;­âq2S£ïÉH°%ºŽ&VCô/LE3ßf1æ N~¾£3Äi!òÂü®s¨ßˆ"É´!>9£â…:S œ )·ÿ|S5ø‰[ y`Øj޽”Üìi£­`à·±¬«˜öæRí.…-ãJ×ÊÕ¢ÑÓ;¶[罚·wI°üe¦ÍN²øôŽcÛJ™ãÙlÞ<3ÏCW)-®jXmXDžävÿˆ'ŽŽüEÛ0c(+Ä’‹ûf7é¾² ÉDwnrmQØ,À<]çen'm‹é?ª±xõp¥;Þ8ÙD›üPˆ=Pâ#œ«PsŸbò‚xÍ| =¬{¬ö=jiH{lÙ©:¡‘îÛ~\Xô [Õ”4Χô@ÄÏo xzð)Ûá€ûö¸Q0t@€ÈF> Â(ë¡-}km «O7hÕ­ÀéË>¾ºÙõí0 6B_Ò²ÇÏw8žÆ½×@+aå¾*Í/‹Y³ÎÌê•Z H†ÊV€Dꀌn„Ð`Aæ,€ª],·åcƇcòÏМ-ÈÝmÀP‰lì¼øSƒ{GzRÇö8¤NpöUÚlIüd7¯<ØJ‚t–íÍ¢“IÚU¶{$`f•˜_TÎ\5éøÃØ«mÈ!Ç+Ö´ÂE깡ݿsÎék"üJ]¤ptèhðÌŬͳ˜¿ ccÅ­ñÚÍÿq¦¨I¥¬Üì²7–`Ý»Z[ÿ7b™vkkzþ"\2еÝóß5Øòáý;ßG1‘¼¶±•ÎìúeOm ^0ÿúyy%ëDYì¬2¨KBì˔մ—RÝÕƒЍ(šëU<²Åœ6Ó,A3\c «¶ŠBîs÷Gv· Q½Ú× ¢_‘Õ³K¦aú75ÌZú 2Þz›‰½.k§'; S_Ø™õrCˉéÂ*%î>Ç\1|ñ—ÙeP´R4†î®Ëe¡ôWΨBªùkk5ÂÄtÔþuÈN¡¥Ø‰ÍÄ"?—5WÃí§­ÐW±öe~*l:¥@½=Wd£Ï;öB«SŒ•xqÄ`PÞ]ü ¥¯,Zô(Vèâ¹þª¤7ÿM¹eëô?ßÝ¡Ê>››ïtœK;œÉ‡÷}vIÓ?i`åS)ìGõ Æz‹v$nÛ× ÊLkÜÒ9O÷ìà‘Ô9C4Ö®oãJ¨ëï~ëò‹{ °ªhc1ÖLuÃ{x£#.úÏʇ¡°3Ï" +•KÙ9Î2@¤ƒåå{Ò¨âëžÅâñéx\‹ßt4ÖŸ&î²üØ”97n¢U¨,Çb‰µF°=(ú:™•hoÎã¸tÔéSÄk*¦ÆþÄBó”;LÌuºŸI޸ŠqÚÀÓäøöiø®ã5!›æiø7«BZ¼Wˆv‰¸[˜–½iƒP]‚½2CºuTD'k4Ä_~1ÝãùЍ³Evñ§œuVP4©G%Mƒ [ø»òº?Ûb냨fT7¤–xý?FÔEyÜMl™XiÎDX¨*ÕÛ°‘Ýróiâ«å*æÝB—’…t}z2`Ügp†ZT®îæ°¬•é#J˯]Б0XŠa'ےij5¦Y–ª(ö‘ßU å˜Æêàvžrÿ{„ùÁë¨bóêÉ_B˜.SêF £Å„¦iˆ}Qù•’|a ™‘«ï07ÂÑd?m»FÛLËP%“e8{•Ž||Ù2VPúö9dA*Ó!æZf\Ä øÐ` cŒqIÉ# ¯Š€•œ)±mÅØ£ÙœOz>–Ò/šÀLdÿ÷šñÃpE‘ìðJ¶[Ió³ߦ*>»Ì§Þy56e·H þ²ÆÒ5‘õ}g^Ü–ºØ!ž}›áw*Ê ÀêUÅbw'!¥+0Š€4œØµÀ¼à¡;iØÞS´3¾sŒÌñD»hÔlåƒ.ò#hŠø =ïÆ…« ²ª³Í“0+è8<\"WükÁ6PŽš6„“β[®´ š×ÌÎ ¤ç »Rh—Uõ°ËõNc¥ Î“OVºM8¾2xçû1Œâ@os8â¥ÑÓÀù‚óŠXVŒ}§v6OTõ&{•ÍÒóï‚;_<¡4ùS"IñgPÒi‹KíB¾$¡:Ÿ÷À®åëQ9¥m­ùQ0øPŠ· N²æª¥²~¸äí¥ù ¡8í‚ÙÀR°Åòæ½ &þnGû€¶OÅÅÊr¹ŸHVÏÁÛq¹è;æ;F¾L€oÈîü¸W¨Å4‡ µÛd·×+«‡Ûf1)/#ÚÝ»èsqÑÆsP>ÃvàÔÇm÷@[Îþ“¦õî$H÷=5 llã’h×q¿¡cR €¤4N>Tž$´—-"™›ŠìN0übÛšŒžç‹ù'H­>[Ì‹µNc®úQuið÷ïä RÚfhK\˜[þv`‡_Ú#ÖøÿS»HWXô|Ó/¸A:^e…qª8¿x<+AYÿg³ÿ¡lýç–­¢|ê,Ópà™–Ò»Îiz&ºÉÛúŠÖ@áÙqéöÞ>Ip–‘·†ø÷‘]ØSÂL„Cqúiê|µå])xÖÉ_ªlfîÛ€ÕÔþô ¥F7:² £¼Ì‚(µÝxËbø²Ç“ÿ¾¡'mǯ`E<0‰wÒk¿,és¿ŒœW‚Þµ öMOæ5p4tž"<ŒuJÓx…ÉD;Ð1P\c™ÔNªݯ‰q¤Œ´g 1øä‚úZ·x!  öø'@JÖÔw&ñ/Ì”¥zdWÔvO¹cÛ«Ùd¸p×WåC»Õn1ûpÄÎäò /Æ_…_®k\ƒN1 yjûÉÃÎ’œm +UAbG&K˜¾hà ×øñø­÷âfmJ ë˺1Hx¤9yR_eè·à±BÌFÆóãÖ¦=£kþKã¯Ã´4&%°DáõYêjð'[ßTg{Îàg¯{èv6‡G$¡ÇôÊÿT‰ÛÒ•H³_ïþüYG¡pº ¬6ãØÛ†ë(nãHWÿíóY ? Ýõý¼¹IL¥;H¶}2LD9•¨1$eè=û÷’Ék;:£l¾’Eƒ8oÓ‹kNŠ<—Iàz®áÈqÇqø&“…o4l?Éôç:J™Ý³P;ž¯ÃbÙ×7ã«)5„¤Ãó¤£ö"sà}±šØ®Ž/ýò0Ù²æ­Â@"ˆÀIVÞÁýùÑlë¡Q‹ ¬ô|´®‹ž  ¼êœ1€I 2ál5:Vcd5_¿{¦µ¢9àäžM'Øõ9ˆ®(Ùô@ý¾ï†ûJ:;BvÆÅ!/5¥}›ðñ„ÕÉ™d)Œ=àïÓr¶i€¾“¸r'Ÿ|*§^Nt‰!(»J‡äa.\W_sž¶ƒþ9Ê›Ñ5 © Jç„B]ÜÈa ˲P £BqªR<²Á²í†;ˆ:DÝhTÎ:`¥4C:Z˜Ü+kªN¯4¦øÔìß4üÈÁíV„Q¥Êqóû¡æÀuuò¾é3åÅx2…ùJðf&¦ûæØ5Ê‘›íüO·ü õ°/'_“ ZSlk¸²ŽÄ»0I^‘¡×rÑuAèܪŒ<Ù1'’8ãix±_º^éU÷ÈÇš£BŒ¯W¯½¾ÓÓfÌýA]¾Àm_Rг³ù¹6JÏ›ÓËËüXW¡mÀÕÁ%q9~x<å¼Û'Ô$Ÿ×cVSNÌ“[‹ŸÏÔ‹Y¿…'Ñ^0¶ôB„›7¢‹µ~(!j>‘ªßÓh‹Ù]ˆa?»þ#KÒ fuÚP×§ÿÔLšæ„ë> U¼Cóãu!ßð2Í"7ݬUïíZàj£þfH!̤ÿ`å©×’S b¹»Ôë%­¨8yýäÊà”-´¼É!{yàJ³é9¬£ù_ø[šÀ(Ó`.êPöÀúü„Æ^K{k܈jòv¾r!Ë@Ara¯&J½­°J£¨oòJ.£ õVCË4ƒç‘¯Øùð"ŽæVc†pSB”ûVb"àÜ2IãA\+ êBÔÒO—7— (¾„ùÛÊóû•`èÙÂÉßce¬Ó“AL`¹Ùæ#²¾ oU°Õ$6ÝØ—Ý泞¼$0}V¡·­zð” IcF ÿn•Kï¹iöÆ&0ŠZh“ hZƒ»V-»ewªÄåviŠc|´É¢Å‘" ‘ªÄ˜"Ÿ’Äœ| ´&‚™ºÝïw}Æg9HÏ‘šóû1ñëXÿ6´¨®Ø].G6ˆ¿$+ î}g­ŒÂbëM‘ä#¾ÿ¦‰&gß}»WUÇÝy–4À¥Š:_ç(­ÏhP0K Õǯº_g'/Ī cê¦ÿogr”wáX{WE .Âθý¾´“ü ªbûŒ£E–ÙÓê©43¶Rçs|VÙ{-×Cíéc6]vjxÖ½¬&.$Í&ðwòs€£étàþZXø—”´›ožô¢«Úì@Æxü¯ë÷Vë‰>ÙüÝÞ€ ¥wU!8ýEp–g\A’FÃÜ…äs‚c+2Ô-Ôë»gƯ¿´9Hà=Jy/Ïä=òÄÇ ÎØ¥=Æõs°Œ[±ù€6U N4öG:f–kÇJ{£CÅòDKk_=Mä4YŽg#âÉJàÛ§PGé¶è>É"‹¬iÏZÁ‹¡1 êòM’4w¿”¿d?¥ÃH á“»®ÖŠÛØq‚lŠ ù´Ãk2þ?O“_¿UGÇä>G¦>5í{]$êôgzî"¢E%ÖnÌR¿H[ýA “ô†ðAºÁXB²Å8`m„zÉ8YWõGÃfä—/8g ¸NJYö™RrÔè¹9Ä;)ä!‹…²ÐrѦ„•Ù#Atˆw2GtuÄ"'!Ã}V_“ypóÛ±'±M~Õ§MªÝD£ƒ…+ ¨ž½D4£Ã”€.;|.Ò¶ÇH]J{…†TÊiØÓ¢5h¹«æÈÌâ$9œ©¸—Wø÷^ÊføÐž‚Ú?RJJ}„›`u[’ô¼&¤®C. ÕÊ®à5!ÈÎÄny¦ƒÞkIðÂÉé¢äæ~F4Þ«ÿ{¯U¶·¬LÙ ÁL4šql] HÅÅ.È#œBÒä1 ›Å‹®4b‰Ú}û¥ºli©5{“¬&H{À…ÜNb…óŒë¥ÁYkW:¼` k²ÖœÎ¬YgôÍ u$9¶ø¹¹ß©ì…€ˆFÛz“`TlbÛ3ž rP\&àà±=“*Ûõã/ÅÈÎ;û—“lk¤+*ÂJŸn6¾öÛÿªôÚèôwxGÐëLjŽ{KW_qÉiG)\<ú§ ^![¥JQ”`rø ܾU‚G§taÝÞ‰9¦ßå_ÅtK5ªðàþ5ÇäE0Þ€nÜÙxñÂìÛÀ·É»ôs^îæÿ•½9Á·].JOM£~c¿¨%ù¤¸0ÿŽ9ÙuSÍ•íü¼ìšY±gr¿ZÍâŠ%6Á„v‡ª«¼KŒ 1Õ u¢t”óQ[~sp @q†µ™¿o×Ö%¹j+Z‚LT»t5á’ẺDÞo—åd¢'>PsóÛ¢·o“ãrÔ)Þ³é3´p×’ý–¡Ð÷a´õ!̩ȅO|8ªÏÄ𠽪êe¾G€²C$@ µ$µ2ÜtˆðŸÈI¬·¯ÖÀŽÕj¨EÁõvSnê0mS¡ìuô¬<)ÞöŒâY¥#OcHÿæv¢2°mp#ª …);üB€ÑìÖUÁfó>Ï+•4f,ð{YU~ü(}¥t2ÀaÛs»t„‹—˜Ç¤[/ÎfÉñÝ,|H‚íœ;þËò……ï~&ÜtŽŸ5O%:5NˆÏ€ÐÏaOc`^CŠÚÈ?§uØyü|±®´íyÊÇx<Ãû„k:;RI<«ítV³¾ [n"æ §Å'&h4ÆÉÿ\¨¸ÆoÚ:¾ÿžÌ@(Œ¯è†kRù ë"߸ô9{PP~ˆ))¢vãÐáMz!3%k.\ˆ¾DHó+n¯¡–ï0OÖ›ZÛGpw—ýèpE^+$Êå¡ò7n÷:½6‰±ÊØ*g†@AdhQÿ¦û1<ì¢ZqA]xvFèä ‰³`†X¹}2 ÖÓÕÄÚ(?’ad½ú᥇äûÚq5M5Z“¥вå M:Å€¨Z!s¡Z+x9µ ¦þw®äñ‡ñÙð«}Rwª¹œÃV‘™ LœÚ4$p¿ÐȉPmèžú¢äè) šéTÓË^'GJÒzÚé$ÅMZ¤0×GDue‚îr8ˆÈÉ®žÜšu.“3Ži 5þ[;¡O/S€€f<˜…ôñ¨¨69¸•c‚V¿²´œâAx:ÜÞMXɿǧÚb¤ô•¡ý¿b<(ŠèϵŒ%DÂ$°8 d34xŠÏÖ™ pŠÏ‡NiÆYZ}ÿí»«Dˆuó[>šM(‰-:‰ï•sTïyÄßã}ÚãtÄ,žš^íUÚì!;þO»Ò|†ÇæcxTV>”/Ë–½3iæ.B³`ÃUQ"®Yœv¤Åª•xNI‹·¹/DYqdðí¯|±« ÑИ.7ŽP6ï+4Æÿ–£é¹Ý“õi]N›”uäÂÌ¿p3÷º®þIŽñÓ· ‘M |õ]ÖQt€Gm¸z,G4¸î-t0¥‚´¿“}M½ˆ{ª¦¥ä{t …6m£@ÿ4?.W.S‡†S¯ÌÍ[2% ܱvÙåÕ³ûš‘t4EY,«˜£Q‹Ù‡…¾öÑ“r( Y¤™,T ?¢‰:rÚÙmÜþ VŠÂÇìOÐJ&Vë‡ü‹ûï €@WJ.¥¸[ÀYʘ¸Ç[¿fXeÓ‹úò\SuÏ0& Û°À5è©¿¸ŸÉk— V%WˆXèÁìŒþ]©­èOF¥Î4 €Ê¥`2o,ÚÌáéÕ] Ä6;Šxež¯·ç…IWÂG4bPÙ±²@4`rôä*ÅÊ㙵AgóYëĨ,îÞå¸ y›‚¶`%)í˜!I'ø]`9ßÂJ“¥7¼’Üô'C•„Ý,ì u´~ˆ-µõÙ®å’qˆNòÈŠŸ¾?4Äg"Ä|1†;y›M¤¢]8ú¸fô¨|ãpÚª5§%:鎔ú#øÅ*¸×iÿ‰cqÂNãB H$ öîãää ‹)bÀ®xWÓO1dnØÈG|vÜá~Êç°G‘ÞX½÷vS¿Ï Ë<„*!³R¿âO.úD¸i-QùÀêv''žë­ŽŠ^j8·a_fOU3b,=2á•;=DÆ7Q¯qÔžÑ=X¿,Ê¿Ƨ¤änO<Ì4„aS̰ §þBzä´5¼Ýg÷÷»°bŸöKhš2N4lþ¸ý~ã0ReÆb¬E½ j#ôpDGO"íIQämkäÀÖé ¿h…$:ÚŠ=Ô.”^ŽZ'«Ù)ðâ™a66$ºk†2|-cŽe¼®Ä<ÑA‹%äC‚iVî’“Ÿ¦¡!I¥È~Áð^ÛȈI؆r²]¾RF‘Äëø}|Æ×qùÕtçam¯¤Эvé߆Ã.Ôèm­,m±×§/E œ›«\déñ•ä~Hš­r,÷½9ŸÐbq ‰Ã҂θu+ŸãBòI¡!Am«‰É·ÔNÞ‹R lXHv‘*þÅ9–Û†µ¹–q­Î%VØZ¼:´‹;s…¹,mZàÿƒÿc¶¸ï²ieKz—ÏKï®`Ž· ËØS)諚¦ÓR…«h'm@Ñ n‘Ð< ÎÑ‹OìW™Ð)[ª)Ú5¡w%9}ñÄÊ¢Á²uùâçÍt7àû‡Ø$½À;¤}xúé·‹Þaƒ¥¾]{ Âm0ö‰3‰>XVèþñ–IyQTôD×¥RdÈÑ”O±Ÿw8çv #ð·„l¶ Í·!|Ò†ŸbA¦«&ø¡jyßü8(¬æòÉFì”(¾¾´º&‚~2b¥Î6‚¤3ÚV0q Cðxúò[[ÁÿR—ZÌfvQ'81}/É`:YrG_1yfV·’±È–Ê{ƒÁÂÆo¥­®)ŽN d{Bô²ôÛïÌkBþz§½¼L;5hj#ÍÚWk½¡ÈheïɇñøNÞ=xiož„±òÞ¿&¢ªz!µ¾b2”­üˆÄ¿x’<½Ä2²Èäjg ðݬ€Qsr,5êýÉ›è@Ohâ½J+ËÌ Çί3Áô•u5üÀÉti%-;,÷±ÌKêôxÒÂîlÿ8е/j.ó=‚%;Cs]ãzÂ?R¶JæÄòü7£6ëà¼Â¥kÅŸ#® RK`šx¥ç›z[ÑQ¯È‘»¢è­ÿbÒ£s>Ò½ ží4)Rú*À&Ä „+•VnÕ½4×Åé¼V†êPSÒ׌CSÔ¯,ÊK'¹7•øpëºÄ€6ûØh|«É =ôÿÉ‚2†Ó;ƒ™çágú ÓélðÒ¯Ü &ßÃR°nÊ-¾{! Ñ^HÅõcäß´ÓNñ}Ü£’¢pójLÉ¥òóc‡Æbš ò÷ON§åƒl|ý”·v§wh^®sÝ>Î ½æüøüŠŠVgË?;Rš­ ÎÈf•D€¬½Ç¥üÜÓù‘šOóâ-f Ûî0×rz†YÏH°_2fFŒÇæCÒì‡úfnËëµã2à¶27X—¬Ea2‰Wùe£'Í?bv´À@3kQ õÑ«Ân8¬Ø‘=î ÚäRsÂLb{}«ÒêF`UUú‘"=V­¼78:%e¼Â*¸[Þƒkû’a/È; )Ä•%L|B~ádó1#¶\ÒyÂ(kÚa$$D´öê{ZIn·“„¥Ô´,¸8à—þðS]Û2VRqUý€¦·Ø?Gµá²ãÔ­"B®Wã!gRQüçEãÂS…`:½¯Ô¬¨\樫é(Åàh±4öw<Ú¬ÚšÑjO¯¯w³µˆ£‰"o×ÞoQCŸÛ0d9Æ×]#„\}á–#‚îu¯äCö=¦áßX¼É ü=L·/fAцž¦‰C½“K4ô‚šûXt.Aæá*Ö*íð‚IäÖbøƒçü¨îYù¡3nuÏo¨Ås•eÕîíýR'ï,W„G«Ql¾Å Y(­œzœ¬UonO7€a­lS7/tØÈWË>SkÒ ®¥©_ä4ìrðö–5\kSrÿêJ€s;ÔœÖ ³þæ Q¸ròâÄlä a]àÝr[Z=Åuø¶·XÌœÊF}£Iå+~ú-Ÿ»<5åÜŠÇÊ(7ˆØJY“EÉϾš•=SkÁšd yªŸâxîíµ,®°§ת ½»ÁÐo_<¨0¯Wf—ûé B+Æ`âB`f™VŒfQo ¬Oþ ’K2Äò'AG-…Í,|[Â_™õ»x¤ðk8Z©8J=|ŸDØè?G€7’TîQákþ wskÆ¥w|ƒÀ÷0wf‡ò–nßìÂ'›0¬iÂMÒx3±ž 8ê߀½‘w¦>( û2ÇЯ&·žƒþŽÍYx€¨Ëìs+ô›IEõ~ Q-ERIWí¤Õ‡w&º¯"ŸCr¡aCý:‰Ý£l`¢]ô†”«YƒÛj—‚%¨TnɪUÎc+í©ÓÎfWAÌÐ]uRUÍëJ©¢è£ZN?‰ò¦ÁqRBa··XÅ´Lݯ k˜FÿRÖbÂ4Ÿ4îK 8¹ €‰,ÍD HR!»}"i F$¡5äySy)w·Ú2Θ¼¡¸‘!ïCsÙË®ñW¨%¥ƣŮäüy~JËA†ËKî{@´äÕr;3*‘ÝŠ`;“º°ÌHáqq¥Å†Dç¼†Ò ÏÓDá6QF„÷M`͹ÝU„?Dñý *øeà,öCZÃïlxxL Á¡š 謳ñ»ärhOæV|±•†#êß$Õ÷w9 ¾t¶l¨ ›½ ù®…nKg뉓BFýHºƒ'K³$©§M‘h$§tÿø-—ªt˜aeP¤2…Á.[´9§PL¨Ž¼ôÜ$¶¹´!q ÑëLŒòÚÉ’f.  ¼x”öbœ‘‚°§K .8Þ¸¯Ã“ =reî°otß½œ$€5™®§ž“‡KÒ˜ÎâƦ^>ÍfÚú÷BQîJ€…j‹ýÿr}2±G k½‹eX%Õ¾¾ÕiŽ©‡­ÌzT˜sôNò{9oì`óˆS̹7rý“³1žäU?Ut‚;2Õß‘Æø‘Pvßbª[2ÛÛPɹ;}†°.*{¨Ä±iµPQæà´›!nø—ùáw: ´BnÙpê^ׯ¨¹ˆBȃ*©/¸¢]?©U‡¡Œm°]—ѺöËO¬È&¦Ë¼!Ü¿¬}èD±{€Pˆ¸0ë*0ÍDæÂ$:]3áTÜçwi~ÐwÆ»~Yž¬ŠíYµï<•TjPÞþå–6åÉÊjpo­â”Äyæ ™f= oéçTˆ'†QÁä ¡M`þ±ÝP³ú,59¥Ñ…fäTÜ“M2«”æîä­ÔÏŠìxaŒv”rYÁÐÇ?_;åâ&.Ò1…çœfO:dcC·"rÖ;zÇ—gª9±ÕxAŽ=€€ÖTÕ± ‚dò¯{tùåì[Ù¨ŽB ž}ÇÄL±—+àû_¨¯FÝkÒª;Æ®ž<ç¿Ù&£Õk×&µ•_WžüƉI¾A¿^R›VÂ7#îˆ,<žr ûûmΦžàâ#ŠG¹NbFqÁóŒ.½–ms7é¢+µFôaž=]Ýb×ÈAèÓÉ’5"5Å4··*îýëÈB1pÖ6êBê•`àwl&kq?©áÁÓóæ*nÞßp‘‹ÁEÙ†ó/Ce*¸°W·pÏñåÖœ~" .•v7<@·¥Â›†ÓÛ {ò~²ÿÍáÓ:›Ï9v…~<Ï"¿Ê!U‘ „;0á˜Ó¥¥‘Í£op·+ŸÕ# {a•ÒþÑÍ% Ž ~Û(f¼û³žoÎFhûü.‚ÓÕ0×UVÍÒÏcG Q v‚ª×ñ—e—7ŠÄÑr˜Ë»Ôh~O½¤PXЦLuǘ7¶ÎþTC˜rú/ª[ÓÏ]VÍ–˜”&æ¼*߀÷PæÖFw5W]þ¶¿ø#$®˜Ìœ¥£7Õ¥ÌòÝ/é<P“—ì ´2NeÁõÒ©Õ£<@Ⴄ/2éX>ŒËŠ ¸}KÒë~Œ3l…BsŒ€Ò"!™—ß+ ÏïMVìpbÇ`ƒî „ºž’øSvÊ×<(¢c³\¼‰õ¸/lTõ¥àvéÏv¶@íý8™×QîOZ’[0F|FÊÉ9¡ø7û,ÎGœ{°å ­)%¹ B¯\‹D—Þ՜Һa׋‡qØAÖŇyFá 0áÌ"S™ç*÷rI”üæp¶BòÿÌ}ÂÛ* ç°¾bb´ipb%­Ì߉ªM pœAftËaEFŠEª‚ÝÓ&u¢µº Âà{ÈT5R:ý! K^C½ÛC¾'=FëîGÚÔ°Nãþ«P–!Öjúe÷PäÅH‘Úe^Äë!ï¦ö®f›IèT@i&¬w{èîöí’P̳ç55ÐŒ(.zXøG»™=Âvtïê/&i_.Ô!½”Š]š#„#Lè‡æv9討ð¶²7êªâ1ñù÷ u%êZÏÚ$þð”Á—bIš„AËôZÆwVê ³×©Ç”¯+VF¼zÖp¯÷Hï8k7佋t0an¬sí¿î\ϵ˜8ã‡s‡î˜¨#7òVJBYŒ¹ øðÄäÖM™š!$E`øe’UžÈÛÍ¿¶‡^\¦3ÂgÎØwxžz¸ºHC¾'Va½½Yã¤æ–ÌÑcÜ ˜B'‡IÅ`\¾ŒÎ ã. eÒšHÞùTI3vÝÉYH-à4÷s¤‚5Hhd]üiôâ¸:úBëŸ.Ÿ÷À–L ‘xBl}‚J}‚šÕ¾“³h¸o2 &àÄYÚn£ ‹¾N!òÎØ…#¯Þ"¥/Ó+†`~w) 3ªx†þªþŠÉ ‡–q+ø,ˆ¸XÂÅÂd-¡yÎÀ‘ããÝä'F^d«T{l'^c~RfŒ Ñž fà¸wÖµ`6öŒ÷˜ô/'´=¨ótþ_bDšVH/½ɾ’ذ’ý—÷Ã*gEEc¡ñ8ûŸmοçì•)^ƒFª3”÷àC+AA½RiĦ`øÇ•_ÿSè™?: ø%HŸ Ä«nì¶C¹­ÚS0½ñÛ¨|‰„]Õ¶*7æÍ™j&y:Ú\ M÷­ä.—>tج Í×½šk”¯t ´7)x–qÏÙLDZ™ÜˆÑç-0•x)rÌŸ7IOL€ÆAàPÕÿY j7¶;SiËuJ(÷I“r+N ÁØQ¥<°ê“$ŒÔ$ûjè ɺӠv¯Ä©y¡YUÞ»b¤z„€‚´‰¨gʯi¡##$Ðey@‡ŒmåÊ"n$yŒ»æ{›¸^5¶À séìµævzU= Îåäcƒ®@” ée'˜â—³ÄCmÜ„öå²§àÛÃk /pÓ.ÌØ ¡Ô¦å4I"„=çªm;¦=”;bQv-]â§AЀ±VSˆüï™<£ %äpžiØò¼«PÁfý$ÍEÞÃøéú`vÚA€%œÒÔÖvÌϱ­ˆ)Þ¤¥3·S#øP½2© ˆ~á'nÞg^)ëßD9p%5|¥«ðÂùÚ÷ ™ò1œ§ª¦Ö¶æ8o€/Š*¿š «B>$¼ð*¯¤a·æ9ç³Ež½D¥HQJÙ} 4ÒÃX¡¶.êtx¥ºBC­!¯K!O[À eG ý³7’Fzv?-óÑŠÆr_øÇØÿ? 1!½,ª˜úEóëþ¶ku4±äIKÉu‰ÀAsžŠÖº|îÞ@Á;›¼ëu/Ñ}fRÄã)A›Ñ-þ}úEó×/HdCÒíù.“]9sû#w¥Õõ¯vÖ 0 ¦«"Áq÷|ñ`ûø vÆ °8 €½Ç råŠý-Ö’ÕîêÃãr¶òï8´(¸s·iŠýÈâZ· ž&í2i˜¿$Á:žBÌqAÔoHpŽªä2ºûÈ`¨²Y«îgUõNnsðbŠ'(߈YNdl’ã {Ÿy|Ú 3UÌÅJú×Oâ¯;‡Ø/Û°4,$õ®dÝC¹ÔœEQ˜v”»(ç×ô“HQ»¼©’5ƒÄ©ok62\ßWÐÄÏŽ6»øÌñ‡òÿv:‚MÍÒ²ü8*cž-H;õ|ÖvßgÄ}g±yñˆ o[=ŸP E €œAõî¸mgH›ïLðtlEˆò;?÷Âý–èz¨– %!Y;’–Ùà›S®µÒ‰)îò‹ ¢nêÚ-GAÉÏ_ ¹ûñ¡„ŠZ±"5‡vÖóÚqfV‘ ¯|ÇiŒ£ïÓN¤|œöS<%Ž´ß–2x/Ørç$Á˱rYQ‚Ëjû;޳?ö˜d¦öаRvxÚ#b’ Õ¹‰‹ó·N}"d™'ÞàXG%)€qPe8!¨>!ðÈ -øz:”]L-*N&LŒXμà¯!`d0Í Ã8$FïvU´¬× /j|ÒU$ í·¨Öôë«è!#a¬bˆa¸´ … bo*›aå T$)unßÁýä#øY€á ·9‡PJKúÓ¤ó„'äUÍ.28>êK KAЮŸôå–&ïv¨äÜÉ[ÀçdIïqág1lzl—®èô©o÷oŸ¶ZŒ¨ÇþÔ(áîž„L+Ÿ²EÉŠ{Z&´òhQ–ÅÉ·ýl-šˆrh˧f±Ž°þÃwsäìåZL¥`c8‘‚ãÇbÄFÀ2yÀhg'&£ÚrböZg´ØÔk šs‹dv«DùùBGë»WÈXtÂóöØ›çV»Mû:ÅñU³„ 2j¬³éèd—Ú&3*Å9¶¿¤e“g/ꪽïU²{žÛ´Žý_Ih€¦ ¤{0]y([hËé-åwª¼yÄ ï36–èx¥&ÛhQ쬉â!åTë¶)DÅæ ¤p›hTUÀÌDo—4eq<ùY®ú𡔘¨z›C»…”Ùè´äIQˆêj«Þ5z û&-Ù#óú¡uºèCåI¬þnÇ”xj„3OÑvˆ°jÏ2Ì5DFÏT”;^yš÷âûñ·kåùk³ýí‡JÕkª=ÅB¥I@xkï”På’ ¿Y‹ø1‹j>¸Öƒ iyMxFqüƒ‡^9Vì3å1•CjJ‹8‹ëµu0[,`w#+…óªž1œV |Ð~ìr>°Kôe¦ÊÙo³8LùƒYÒì€4BÏë¿ûm3LqFw,­ÄQqÍ0ã¢A-‹j˜ªÍÀÄß /†Äy­A@ñphˆŠG¥Ÿ6hè»OõžoV„Øâ`"à7ŸóíGƒŠ}\Ø@4ëp_¦6²+(¢.u€²àøãÕ EiL„W4â:mD " ñ|ô±¾'â*r.C©™j#–.‘@3ýƒhÓҘêÿoíDm »—,ˆZ­lL7 ¨8Gˆ¥˜‚ H”h“B(A<“¨Ÿiô»»FHì-Ž"°#Ó2ë¨çL𨙲(œð™rÿ7òkwÜ…zƒ´¥Ü»ÐwwÂ|f‰Í5ȇC_î‘þkÔº²¦JF¨urDEŒB©´h"øõúà(¾9ªÉÄój>+{"^—s79èøÃš™C-tÒ¥d?w‹ºý¼÷ïVxè X'^!æ!|0˜Êÿ¡¨õ•ÃÇÚc7ß/ƒµà0êØá”·Ái¦ÓÏÞøPʰépºÑ0xøÜþô&|Vp(o"ï>k)d¾¡Þµ&cW¸éɹJy@ÞX;O^]ˆi.7!KxjD’?|÷7vv£ oÞO Ó¤ŠÙÙn±eí<õå`B]—7ú€ñoun?f‰$bå;+¤ÅtXðŒ¶¦Q‡˜–i͘Z]jb:¼S™°GKC“k&à äfØÇ¬½¤b!'èY›À‡W?å¿æ]ˆß0ù„$çŠ%IŠ8a†:É“{V(l¡úì[ˆ‰ %æÈàÕÞ:éq0º©Af‹ uÖRöx¯Lƒn.,þK×ÇÂ7±¾Žiù-bŸ`o™GL Æù’Qɘó^—8¢NÓ› Ø]'±³ôªz;#Ujn³ÑWöB—XÁúB±w'þ&¬l¢A 2Ë0_ó£íÈIYx™6pCëHš EÐ*”= éÌOÚÿÛx½îEËøj¢ ÕIþA˜¯ û‰=pı[–ì#×´ìÁη9JídJä+œšbÖ5Lc®ZÝlÞ\*>C“ç& î¶Ÿ%UóÍÆö%ÎJëOµè³ÔŽvììç<—)èä£s7Ì„V û1ƒ®©:ˆB0nûù„âCp¨ÏXþDzWxþŒ„…ß¹—$‚¾Â"å¸G.«9ÝG–®qÀ WQÞÙ7žÝ!–W—j$¬áC6¤gy¿µÐh(˜F£ôªþÒæÇŸƒI²ÛÊBÊ>¨ ÎÖü.¾nptÉÉG™E†ùð‹i©Æ¡5!-ß%$ ‰yÀìù+¡Ó™XnA( 0¡´fa~ì¼ÛH÷BâîÆá Cõ¹¡›Bô$>KZˆqôDfÉt<×+Ä®Hã}F™AÕÊH¶kв«á9¶§Ìn1‹ÞY]+Eû;cžYCäÖc†j3àŽ©LœÐ %Þ¸S"^»¤ó™°0ëÎ!ð³D]§Ç7Ý8Aó4ϬôÅÊ\ä{!›yZ)ŸaD¾0¾©òGã{´•, jë. ô5×’þ’AbŠC3&ï>OÎH!çJmO,.ª¸‡ˆ’&Õ /üFY0£r˜Ûý¡üˆûÍ ˜À,ð„Ž<ŠsÚ-e¾Õ ºëÂñI-JCæmêô&¼¢¸U¿{OãjòŠŒ.¡³(w¼ÓꌋùT0BŸXçÇLà €/=>¸¬c”,˜Ô Î> (”†@ø×ls”úRtWq ä……n¿“M ëi¬Ë²ÌŸ™wÛžŠ4Vætlë®t~‚íö šbéâý¨Ú6”+ ìåâ~¥™û¦[^Q_ÇTý¹È”‹¿Á<’Mÿo½º«o¦D껄¼Ãÿ¿FÏOçàé‡U ˜ü¬¶£ À(×¼&%;Ù¶$G1ÊŠœ÷[X`¯¤~ï5DðÅÖiE2:½ŠËnfÄÍõVo;aC çP ff6Ë5ppþ6.à†…cÞ¬Éó*¡¡’Ý“MÊ:ˆÎ…ïù‰Êº87Òn¯ ™ÏÑHvfZhD7åÓß}Ãø+Œ[±K±¬;:BîjÚ.ÍÜ`>dÊ<§³^IBËq² 3Æ•úM—.Säþ§Â öŒ™òm×Ùžœ>[˜ÈÉd†±¬9fHz",òFÆÒ51«‚»’§5|‚©¡>âmù‹U„!îi§=GÈQ+È×k¨zVŠÐŠc¿¯^ÌY °¤hš6lÿꞟÄð»"7FØÛNø²Y|É{YªìRX³kú1ȵÖ:4Ð"3õ,Mñœòpiv€õmÌ:û) ÿ–mIv'\×ê):Ìq‹óuM S ±}"ôƒƒJ6!ãÖa"Èx±®‡…dz”Ãæd·,8L8<ì˜ ^·A+,¾™¸Å5xIá3þʬ;Ù•ûÐÕ‘t£ÙwQ‰j`Ϫ`Þ‡KýQP—HŽë °hÏë38¢P%ëÖc3)¡ÎðMbX÷ð7t”& ÿ‰àƒûµÑ””ë—ZºÞ†È¨“[ôº(¬Ñ7[ž °$ÁTÀ®Ë5ók½!d8Ó7/Å¥C‘ñZç4ÊO~):ñ•ŽƒªùÛóžgl!*x¤ÝbM¼VoO Ä a¾•žaÌOˈ´1Pðí¸Àï.·Ó€#gñ=.òHª1ùLºZ“¨¯w_.[K¢·²ü´êöµ <ã ÚÞ%S Úð ˆ·ˆÍ‡ëN^‘ù@Í=¸ÙԳѰ<ü¸Z¬!¼€ÓÐ¥/ÍÎ'K#ÿ*ý°f¨/k¦ 3ì1ã:"E [ aKIðÔnàõ½)˳OY¨íUK+ñÞüÄï},&×8+kHŒÊiÒÞþÉþö¼LH¶¼¥®ÿ&¡OÀk½“%*.ê‰øƒnMÔŠúÕ‚&‡;4v?Ÿv&‹KÑÛ=[Ž ß¸“&+ýÇPZÛ§šÎ² W6˜8a°‚¦vh¨(øIÀì?V㹇f`+©Á\Ö­ÉX…÷LV…)ÑžÄa¯­ÕÀ&·AlUÖ••ay^tíREÔŸ˜HÀuæÚf̘ìÀÁ–ä>»Äzì¬[,°Hed-§6íô¨4ƒ\²P¬Y\~Ïø/‚Ͷû€âÄ‚”¿]J ÕuYMz‘“Í„3†}`½8*}®ûcÍñj_>‘%‰Dÿ™¿­úL?\`„ÑR\\u£­žQãÄä(øÃÆM;¾~ðá–„ é½Ju@ü^‰9Øêf"G§—Õ\®®¨‰ñ»˜»–éÐP‰2XôÞ7ŠÙWk²0MŽï3j="ìnNìž\@y™d«ÎÇu1PŸ©M±U@ G«RÕLS'N¶%?B HEÑ–Ï)-ˆ`&0·"“áÔ ¼¼²!oú³Ú}6ßÄ0VˆÚJŽb{(í$ AÛsü™1Íbôå&hí‘ù‰Maù-X‡œõa„UdÕÕP÷³£Ù€bÂ(³úmƒXùlòŽÑtN°Âžì£yf÷I›+Æ´@˜PjÑ"î”_§¸„c<šÑO÷jä»´v@¯§[î¼yÓQï"¾1Ó²x–úçÚ1Lá¡‘jƒ‹ÔÓ/þƒhŒÕy%á?U!í¡má ÖÈHâ'gÞÊ}ŠÝÈ*Öô‰çN„i^ \_§¤5T­¦ åÐA>g<·Ç"Òßz\Tëä»êÜMRµƒ‘¥&“XÖol0< KÙ ÑÔ}’9„H}ÑPc˜@ 7¿ÐÂûd¾K‘Ž‚ˆ¥|ižW÷h8âÉ;ëa§pùçÓaAþÆ}|1þ7ËÿT(®n§Ù³@¬y?hy}€ºÅÊæŒÿÁ«\ç΃$]ªL7!®âˆ@#ˆÜ~ƒcl Ïþ#LY›¨Ê£ƒçBrýÞŸ¿õ|¯µ=Ò2‡Vûoò|.êJµÄäჟ»*# wBpª÷ô°{wÇ@oQËîãŸLÍ·DRÞê‹Ey„3$%¾¢½ÿ69qlB”-™Eº«‘¼üUÕë6ÜQÏhᄅÈ%" }óÁF•<åF“²³H lé14âf´îGÞ¢‹”ñ…Ø–¤ÓÜʤ¦A5lö2Z‰(¨Œç[Ÿ¬œâM‰éw)ýêO΃N-xÉ]”˜fŽCÓâÛk¹I,Ѫp0®²%‰§ÂþqùT-“6ôeƒUÊí³ÝaWëAѸ^Õï4Ô¢‰g¯b˜'\Ý»½ñîuþ,3ÌûÆí£mèªgd÷”H÷å<Úª’+=Ÿ Æñ}ÀÕm„©¶º†Ïøw:ZôOÂHÕ âê@Úbëé†É¢÷y¨~ŒíÖêó@=ÉJAô`K+‘7BOÊ­$P•ß°ßã {¯ ÂÈø·†à ¡Üé7Æ «­¶<‹uŽ‹`×KËÀºN“¯}ƒ‰ÿVúF—ßd1 Ó.qÞïJ¾ïÛxñ±ÀÅÔ=¾âLóQ–»bØ;D”Ë¡ßϬšUë9Âåž6qÌò¤Ã/-Ô")Aæ,ïøÀËZ«U$êm¡"V”Ñžëçn´$bK‡•9°Ô9`}lÏМ“7¨èÔÔBþWæÿæ/ ÛGJÓ÷=qÁ­'ˆm`8lÉ;„^Óék H¿w0£SÖAÈáFÚ:4iH^|õ õÐlÙù?æÍ Á©çÌÜîê`è˜×õÃë€dºØGŒ®3yIQ!lôí|ü/m`¹,v,ý­ÁËW²–Ñ2Ì©N#õØ®mhg©…69@rä ñà; íGžz_*òHìLàu‰"'‡Õ`~ÑÙÂ_žúKε1vÊPW- 6ÔvxêC"¡Q‹‚ð²yn|iUÑ´G•ŸÍv8ᯠ;+?%cV™z^íA¥¶tÊœX ã–ï¡Í먼¿ ù#°Ï«Ä_‚5q©¡6æw\‚~tMŠ E”ÆØ>–æm¥O%,™¯K£è(Ã៥¹©ØÊžÙ9ôà°í˜ ?ŽËû»'º=”f¼pRîUûEJÐÄÀí(ñ;¶³ya¦‘´PÚ[ëÅW^޶‚ûÁÂþ}öuœ±7>uL)é ¢ÁÄß8»Ã¦†Ý˜ÌŒ4¸î‘=2’|9)Oh² E£‰ù,õ/S”œï¤½Ñ‚äSúsWGLñª|˜Ì(‡³$;!ý+Š’ù4o cVÈà7LÇŽ"Äf¶µüä„Ë]”\A;¿½?ñù‘Šçò¬\ÿ‘­qï0×ʘƒ’N€›WMv®yš¼F.ÇÅCdzdeàsæ¤Ø °Zºb¦1L×EDi3q§…‹'­Î6åA¡ò`‹ºƒÈnYº1¾6^ Ǭ÷Ñ|¾—Q {×^\ìŽ~EAâê ŠQ@çîYyÄŒœ=¤°™ªr¢™ßêºÕ}‡œ‘«·N[ä‚u#¯SaËd"Ù„ÇÅË ZJ…ššßþJª±ûü™©Ò·-Ü›ñ@øLv5nJ=Ö§áZ]Fœ˜†æš#æ#7ögV,a¾ô°û˜)o,õiNúJ%úñÛŸl¥h¤hƒ€|À}éOžP6†ºTpq€‘WyÃõPÿV3äÈбƒ#ÞÖÎ7tI‚(GÕY/o¿}7(¼ö;TZ«#¾ÕºboþÀç^ŠõÖÁСÃ"ô#Š—•éºPþœ Ïè‹nDÖãºP#9¥&§Ù ÌøÏß¾<³ƒWKt›uÛ‹•¸¿<(Ý?iË.ç÷T´oïs9Ô½&0y«x‚O£õ 4G-ÆZÈÜÜÉv®°Ãoa”µ>›‚ÁâÿÙÀ‹ö¯1î¬ùÃ/ÄÖ^@E{u3Ï%Qh´E®›&׋ˆÂ Ç6÷ñü§óá‡à<–J@ª2cþ$û R­æ,Û–QÿÄìp8õw<´«'øb­g1 þÌ{ôV[™€@öæÚ7÷*Æ=ù{â,P­suQáG?íæRxòhz‰}ÙxÇBŽƒÄ­-Ž‹ö£È­þÕDaía‡ñ0Ѝà0;NÒJ§:ÀËÝ eˆ(o ïÉÒЬnæ¥FBª“ƒ~¢6NØTL:(”±ø‹+R”žÌ&¶azÜ› B­¥þ2é·Ä¥À˜0ÛAeÚ&øQ}ÓP ïK\òÊàR¹k¯zë»ql#wå„-µ…Á¸}¾j¡Ii ?ú¼-FwœO]{Û­!†@6R4È”Œ¿ M½1?[+<ë;ùKŒÆ€…ð£xë„ö6 eª`²¢žvª€˜å¦¼|¤«D%¨yž˜I¼ïPÛÔ(%Ð?õr&¸`Hè­‰¨Ò$æuô«o šÐr~š%¬ `Ô'~äí~˜ 'ɬ7èœøc{ìE:ð‰âíúÓØm²on‘Û´ÿúj³—¯5fŒitNO­IáH cöxz7¾ƒþPñ޳µÐSgù™ê˜{k —çO½áæózð—b¾¯™`Öªk°°Y‚Ät •g‡Yª6²àçQöºŽûã˽U J÷:wF÷hÔ¨L§ðÃÓiŠíغò¢ÓϵÝ5©Ÿ›‰B¹(E³ýt™à;i*X ePQgEèWÒ£¬Á ÷¥DóÐGm/K:OT»B%¯­a±Ú. V“+nØ6°¿ -¿l¥c³`qšu`>9|8Mƒ&Œ_%âPŽÜóÝŽPÈ—Ûü'v®= 8DZ¢Ï‘¡ÑšÖ‹!Fï ×nƒ#ûüÒtêv¼sœ7 º‹i”Ϊº?-È#E964Ç 2Åy«…N«h¼¶Hù¯í_LÃfG”­©¿’O]Ò‘ùÈL…çÆ/‚ Aúpüë ø‹NeÇyþ¾Ï³•}KÏ—Çd—‰ƒËSl‹ø“)ÁYsA¤Å™Tìo¾‹·apIrÖ輇?‡J¦ä’K‡‹9é”U”—Ì)ñtÑ{eà71T%9Tfégí¡Ú–i-¾¯Öä †˜$¡_Ê%+²¤õx–1%¿a`k¡—Üiˆâ˜.‚ˆ-H¬C`;2e«®FŽBsІД£(œ¬T7ªÏö`†îg¬¤ßUÕ€r` ÂÁVhûªñÐ,PÿzN24âßÀš“qDd*ÿPwÛ•9a{pN.ç¡ úT×hDÒopv¥z‰èm»‹ žü¡A‹ú×ÄÜ«œ+ô~ÍöØèÌW¸ü‚=%]Vч²“œö å å(è)4§²- n×Ü‹ÊÎpµßÅäë¢ì]‘; 99dÙ8F¡÷M_ŒWFÛÆðÁ$ûç5(¢z9mʇ6mr%ù;Ï<ÂÂÕmøzDõcÖ³QHB€ž¯µ6 7\ÊD"Æú-ൃž$çµvÆxGl®f—ùmë BDsX§.!k_27Qù€w-)íÉx¶äNœõE÷ƒ|ø¹ Cá—åXu!(ÖuS:yZ;.!-2™AÖ­ÄdÌ›4îDŸ°UϯŸÂÖ t8Pr5¸âr9áóò¨ëq‹Ô>-ÄÜ´¿õ*à˜Íü´ø,ÕrdBƒÃ­¥¦8¸ËþßÛóò¨JûV ÀhCêѨ[-N«{I½ë앦XKrõ_1“ô«œRݘòö™‚芚Š/,ã/ @†¶{ÚÚ /.ν¬†§éPX[É_xäãèâ /SÌ=$i~K#oÛõ`y’21ÎBu1ÖFjí(ñB¢Ž©úõPtwBûÃðä·…Ù%&xÀœkQá²·äR–HDŸ+ñÄc¡Q¢µ ^P<9‡¨¬~l€–½ZæÎ¨©ƒÑ¨uÛŠ¼*œƒkp ¹V:TíxàÉFf"¯%¸Û²í›Ÿþ˜ì˧€w†5‘"±e!·Ë–ÜÛ¤Á&€Š/œ4±™ç¿YÛ­5/é]ô?A%šwL°æ¹Å&P(WþÕ¬ëNw+7ÀÙAEQK4}[g÷3Ø6{,"ìéÄ{ÔláX²Yz@:E4'°Ýåa÷qo$ë±»AõiæõZåéHÀÀyLO[ùP†êkt›a*h¬£E‘Vý]|œn /‹Ô(ã§Hºg¹ƒúüɑ۸5 ½´à“W è}kXÅVÓ„#Aãä~Bä)û1Vl@  Êð"?Í (Øyš°--W)a;­¿Ý¥9Þ~qÄ¢Dlž¼’Þ¤Îñ®ÃjÉ?òã¿!¯‚FÏWd™‡ÜÛ;Î嬡ڤ0+3ÚÜ[´ëý>0µøE)«:4¥}ê'ÌÀÀð¼fIã­û5ÀóÓrRëª1]¡CMŸ=Â)ˆÁ±ákAÙå°¡¾ Dö«{iËágn·8:‡‚zö-5Å0±SÅ.n¾ìžél@ƒYb±¶ÝÃÚWºòæ»’Ã(d‘°«>WZ;`¦§cŽüÞΪ8‘ =½öï:Ž¢¬…Äç;ùH=1'PØœr׌ÿ[¼‰ÑIù88+V'T–E —#*~ë‹–•37ú¯ZN}Åç3¥c Ö>ätç‡ÖDâcâ0|uþiÕh‚SÒ·U|xÕBÈèÃgw¶¦>ÒíM—yŒÑ–cG> Ž¢›¬ û\%ä'&Øð÷]¦\RZtj‘‡ÖÓÝîA«ìǬgúÏ+©Æ¶ÀßQ˯_rO¬¦^Ä&F¯tÊ!©åŒYÙüiµ‘!JeÛ)Qáñ×ÏÁS,›¿çè•¶Ö;»åÚVÅ—ÆŠŒ=o5ÖD>Ïd­)ï±(”LJnó“/ÌŽ×ã…7‚§v¢ õÇ)p–‡YXbƒ ZјÌ, ÑîC’³9hqEˆB5ŸË±?&øÄøû„ã_æ]8nã^ØJ¸²#Á´YwLv~"L>,ä¡Ê •y+{¡¦È³‡P?¸¿€Uɰà™mR„°hA CAö¼ÿ]ÙRR,¯³gÉdð)îXʸëƒX[ÝÂØJŒü¤•‘|ÑÍV›\úó ›7"DÓ‰†z3‰±µÊ ã³³ ÞŒãŠ,b>/ù. ¶qæ[ºÀb3ÏÀx1¤¤ˆoÁŒNŒíx,³ÃoThŽ7%D¨Aœ„mÆžÁðbOˆ€²0 ©ºÛͪ>L6•Í}´…J¡œ†t—ãVºÌÙ¢ŒkgŸ®‰ER¸Š®wdñ GæI0Ž@¼H Ý mü9+rŠ\×7¿ì­­«Ÿ`Ž‹R.?<WMúÔnŠcÍz.$Q¨b{Ìq¿Ä¨´.WJ[+)¶P¬`2Ky–³DñÄB&Míº‚æ‡IǾœdo¦jÿSÊù›•Ì$Üÿþ*ývš÷1~´eh˜[äÂá£&f’oÍ2®8Œ6Ÿðî|;Oì×ÀŸƒfb ž^[Ä8Þxäf¤ÁÕØdÒÍ–I~èú\Gû7Ø^ÚŸý0B½zÐzܹ˜?WL\þ [¸²/¹ÆÜhk©êPг'¾Iž™#Lý™¸²©IB"Ú&EبÞ4ìÚë–¿ ºG¶'–BöùÙ‹^lƒA©¹8"žåÃø‹ï'EqÄöÁVþÐØÑf·§>ÉpD³cêì».pî\Ukœd„¡ûj~ 4•Ê]dË;çHF²ÁióÉ‹«k%ÅE ²åèaÑ-ý]ᦈç Û{+«EÊ6ôUˆ¯[¾QÝÔ;í?Á9ËtŸÐ´çjÝN]7õœßœÔ㉱ÂéÐ+rʈ§QæÍoküÏl¨£J®¡Â(å)ÖC6–mm3¤XóÅ÷.@"Þ¹ÖZ´Õôî[urÓX—g4G°VŸö+[ÎÉ®_¢bƒõß-DPŽÆ%®‘î³þjÊímѾïß¼¹‚Yà™z4ÅÅx¦Ëyí3DŽ7UæÃ©v2w¥H„M!‘€ÿ{û1ØÎšÞ¸º¸=9¦Ö‡"PŽVÑþ¦¦–H”kjùÔÕ¼ÐÕ¹¸Y‚Ïþe±`TõÅŒøª×ih¢["^iû¾I w€¦ "JÎÐdR‡â’Šo9lt!X”/ ûøÁ¸€Ú—{ò´L œŽ¾Ë±-Ñtöún|à‡kn2ú{Ýq5۩ßUtT³£\ê0©‘åv¾84se~T@µçÁ~Åxƒ¤-Ó§‡È9°*i»áb|h'+½[k"“Ù ‹Ã 4³ :TQI³m…˾æF”°¿Ö^>ZP?ˆòß_üÙµ…Yä7çMɃæ2m Ÿ üYÁzàòØO6(Ž¢ç¿0ì:$JAYæRê&p3FU)hF»eèè?¹‡Ö‚‚4m„tu»£Ô#.Fë+ÔgE÷øz‚¬~¢°2Vø¤ç#žw?P u¨:ªž^°å÷܉´ †zJ{ÃZL3Zc…œB"™¦D8qëEóºð&ÐXXiŠ©SØÍ ïïË‹JÅóòÄúEy<‡áÈøÉCU¼F <€‹ü>“9ÖØ˜EËÕK,¨x*Ûw7•†ÓÿņÒÔ„ˆ-R¾-i±5¤®•ýTúoá`i^þ®/åôXÃçÆpm XÓ Wæ•Q§›Ñqì%ðæjÚQëküjMl4àí)ÉnQ¤ÔB‰¾ÌæŠ8Œ*Ëoêçc·VBdž!—d.áÁI±°Î0ë.Û(ñD;¡Ÿ“²e’ÑAÊJP›ÇÂK銞-˜[-è*]ê ´:}éÜŸVÑßümÿíà mˆÓ1á ü@«X¨I^IR¢0õ«¨\c?:ž‹&hE*@£ÄX…DHúôÛ#¬yš]•Ñ9L„LM|®yŽ›»A±Ü¨!UÚ©­Œ¤7Û€éu…/çÅhy´'çõÌ2ÈP×kL`tBˆ4²ÒµeËháðQXÿ[„bíÚUͩۖ{ïþkT5V]/WG}Ó’…» tòÑÅ—kÁ”Ö5)ÓVäF°Ár޹ÚIûˆ‹/²EˤEÕ#Ÿuÿ2- jï½Ç¬¶®Û-èéKZ[W@ûÝÂ2ú5öpÞ3 Ù†“à )õŠè– â`ÓÑ\n|"6öùÆÅ–CH´"i/cJ=}È~ý ¶:{ÒadŽG‡'úú„œúACšº4xÖÇœ¥>ˆ¿Œì`Uð1x°d©’“ªÒ¬.‹ŽÃó€‚âöu÷„-¢øÆœ[t185ð¥ôŸ’)mð êŒ-à™ë´ìÕHÒW£¥’RÈ®Y |K¿´i'ƒUu‹ ¾.[¥tÙúTˆyÒ |ô‚ÎiÆgùn"[T=!ÓЇ¡ÿW ÉRÑ›gœeà`Ù#§0„6&qÊCÔߢÞ>ëká|/Ì nðŠÊKMá'O=ýC÷ˇ\­å€Ì2(À´¿"çÔ¡g1¸„ØG­Ùù_XµKº·þ¶‘¸82"üj.ÜY4”yƒ¼£H_ù°CÒ÷þ¢]1/*—¨CÙ¨Ó_)¢r<à=%o±JÿHáUñÊ×Ù²(HE'r äÑ E…±`¾úé²Nõ¢.‡¢1» áµÐîY¿¼šÉñ0bÝ@<‰`E%§ìíψý ¹î‰àÏSäñy2éMÚÊïG\™S°†Ìžn˜6ø[J”Ãi¨#›‘“šöáŸMw“Y¼Â‰?gÿx!¼CKxg0ÝìßL%þ”cõ2M`aqÿ×µ‚Y<))? ÷ÂÖ æ¥£ì‡åÍ\qµ Rìõ÷.Lç}1úAðæ Ê]€Œ ´9 »éyi°%ßmû²Kòjh1e"¸wmX³…ªŽeþVÕõ)y2*Îù¦CÁÖRÛ?ÏŸdÎìèhø*pÐvp¦ÿ¼w%€÷°¶Ù=WIøà¼lWì(½ù¤¡)˜mYçC‰}ÝTÖm«õœl’ágb=;÷ÂçÉX0´ü5«z_OÐ~ARÒúæëX¦¬)7c)(%·a©Ü¤ãÈ0òZüµŽxíg)Þ)¯$Ë¡iJéPà’ ¸Ý>Gß5Œ‹ŠöÚuNª/›5°q\™ÕW‡õñ³cò„q̰±,EÞã8 Ü$„¦¥þé.xÃì:JC“è˜ïŒO¡%Ç+¨ØÛ d1Y–¶xé0ì’1tήä­?•Pu¨ Ÿà„So>OG¿{éD£]CGN;9qõ»ÇóZÏ0þ]¡ÑÐFÐ1¨‚]*\šôçX`ý1ò$†š’è7(Æ!¬7nÆèÏNÎ5j¹$¸;0ê°Ä/[!(¡'´)–ýÄS»fJè§²*‹mDNwýŽ×ÕäÇ:᳸Î"¸¥4Ì‘ù™ªÙ½~>Á•ßÞŒWB60žUåÕœuãÐuÐyÂ\og_N~]«·iš`¼˜ƒr>[¶÷Ü¡ÿFS—Œhs–;Ó-9-æ÷HW³ø>j/»QM–“=úÀSG>a¹X&˜ã‘ÐN%­vê@‹%œB¸yŸ†ð¸×U…]Ò%,ìÑýˆË°;ù‰o3Ö•øë1¼Ô‘Ž_û£—È»ÔbwÌìôT›ÊGÅæê}T"¯‹”Ӕƀ©tÎX¤ôS7þΙv…^cÑ?ò#‰€¾§î7®ÑI‰û BÜ«$C|hîŠî 6¯8£}’·É(mú?\¤ÕÇ¿”*JÌ×§pykâ"‰—…ƒ¾ãzÕ ôÁ(çw‚{ £NÍý»Î!äQôÇLà¬Åã%vKPгÀQ fID6”–|®Tãu¤s+dWÝx‰ÿÞÁ6bøAvÔáz^w@€»Ä+:ódDZžhÑðYvLñ“ûë*©è™âßNð˜Ÿ2vEd˜§Ì” B'ñúØøÏÿ °Dï>3tâ±V:«ÍÔ_ö™<‹+ʇ¸œMÃLøã38Ü'†,t H©i™Ð¬LÃÒ{¡3¸ 9…[¯½*Ĩ™¸;kÅrìÖˆ›xÒß`6á?O¸'_EQR×|‘¼n(ãF X)'’ÐZ:µÉ¦w‚;oíOÜšÜ:9 ûüQËsR:Œ¢û‹¦ÒN¢fðnú.£(Ð’;¹L}ÁD¶\ß UŠ¥Q£¶R±¡ö-1Ò£ÜmP¤9h^£ü^¸ Û¿»‚eÝÇãü›÷=ïCýB’65¥=³­­-ï(^ãcÈ×?.ûužfúꮚ†¸ý4¥>ä&60ý%ÜØfQâ;St%NÒ6i€•Ì%ù·8õÅ|ŸÚãï×- x¨E^[´„øŒ~µYñFî­sµ:yfî·LÆ>g„õÅ•u'6‹÷Ñ×B¡"Ë¢—Q™S›#[dñUÁH²•Ô¼gYiæäáWòl®S’µ|Lt¬­Jd“”+»¸¼h }•  ó!v¥ÓxòÒÁ½jtPJ¢î`&õ•afZØCÇ ï5©*¾  !O*MmǨº½"nÿ=óº„PåE•º!Û–yz,(rxmÝ…^Vu0¥ß!®7Q`¦×”¹|¬uΡڀ)üOÔÖ.3â4EYz®Ø¥·Ãut>¶‘oÒÙ,½êѬjÁÓÇxºjëbgPÊ2sÌQvE¤Nâö~§JðY­>–•èÜc«Mü_âzeø9Jñ55Hn’u^¸]Ê™¿‚? `¡›^ê™\¿,OA­ÿô»òÖ£¨4÷ÌVÿEšnuV`,þnœ`8&?¢ t½*!ŠâêÊŠ{¸¯cÕu1ƒz[Pµ¤éB‹ ÇBp)2‹!‰ÅR}µ)(ûª9˜¯èuivMê'‹O…î–).“{@æÕ(aˆ8s½!H¤º„7IÄÔÞ¼Yd5þ°PLŒ¬ùKÄ6Þ0¢jƒ'ArÝ! ¶–å>eIèKMt]=±L%ê }.±ÞE‹MI„Aõ¨WpL'îµqQi2¬ø‹°#g€™ùÑX†AˆGˆå´žô8s8±è^Aù¸èµªh½ËÏhútÑ1õê¬@¥¨¨E†5Ìn¥êoú•ëÏ•e.JæÀ¸d -Ï¢ÌGÞvX t'æHVÒ:¸¨ ”õïäãç›~EyÎ7ìÌó~±«¸Ñª ’"þêseˆç ¥"µT½wCyä*¨˜ó„î,ïxfDªº§½qæt46ˆ¨C§2Ô3ëHùî¼jzH 4µÞ¤.lÍ ëÿ—”«Lšûdðy¢‡n¥`0J‡Êžá„&¡ª}ÿŠcc'o×i0¾rÛâwí\Š˜Õ·¡«^]ƒt䛚 õƒ`êˆ3gmÝäªU4òôû¬¥:–é?lPG“—ÞY7°“ìA®µ Ï<û‰² t›Æ ¾® Ùì‘" "É1E:‡¸æ™Ç9C)þUûu¬I`tËKʽÒÛ^CÂc2Æ 0€ÐE ëï½ØäZRç« Q$®VmmxiB0ͪXÈ4s_ÄPTö|ƒÁ}¯˜«Í‹ ‘vNŒ¡ï{d>d_9w…‰y©Øœ‹m»yøg”óŽ ðfÐ9„ž¢/“yÌ|8Á>¸Ã†÷¾ûLqÔÿLÏ2,Ÿ^]xB"·68ÀP® þƒVTÐR[µ*s£Žs 1¯j¨É“§FŒVl)À¾‹6iõ^FÂt„æ&ýÙ+xÙcsS[?¼ÛbP7¸ˆÝëK¿Ô@ú›™³Å8œ¦ƒÉˆc“É'¨>¶"ùw…Ê!æÍéïžcRÛMMZr£0ÏáóJå{äMq ÛKm—Œ†(NÆV¤¤pN¶“E°ôQ1<ÊÚiË…õJ?%3”½ÝXí&)žÎDzäz,Ÿ~~ ¹B_̲ü/NCp¯uì‡É£ ˆ{ÊÁœ¼ú¿&Õ{yqõ×­.ÐáIE,ó‡Ç:Ì•2?h¢7ûË!¡ÕF’}ñH¬<¯!^›«)s®áÊ:‘L‰Ëô2š5@F»'ú˜aÖUUq³âû½ü*å6LûßÈpéVGg.&Lädx èÎå›ÃiR·oµ6)©™Çt›OãPÆœÜÈ&Íuš¯Eoý¸š6Î*.9:Œ•´ÂU’Ë õÊ0±‡-•""ñ[}öìObv$ ßmLåeYõ±•o@$\o2µWé‚Âøæ6®‰êçý¹”)-Æ©ÃZÇ"P„ô4¥Ow0¬xú\Ÿþ9 Ü¥šÆ°ŠP†¦ÁÐG›éZÞÿÁÀ¤÷_ †ÅØ_Öj#°ÂIî¼V(i•é± ^ypÇÍÀª4uZâ~Ë´œ«8AXÏñ<ôÇ›ü”ùG~¬¤wý°ê:Â;<òêJºIN-b5ØÁÅ& jª>So"4ÄÝÈMÖl¤ÌÝÍNòЧ¿;"¤ëUÏÊ–G QІ!çñò'£`W½×Ð^ú.…É<:Ý-r‡ºrk¬³€@q2Ó·‘ÒA[®¬%=ÕΫ@ãÆ.¡bÐ4™êžbkÞj/]à #õ¤T¢Jƒž‹siÇ ^†ñ¤áÌä=½xÝƒÏ ÜR|Ñ;Cw£§¾·ŸP%æeȹ.ÍîD‚¢æ Kù8§É÷±¯VØ2HûŸzé;&©OøÕf¾ò‘êÊÃu̼›TV*ßÝí¥3Éð^pÀé…)¸–"á­DX­¹Êç,e)V2@´‰’ÿ\¨p ‚Äñvº~¤­V½ëÕ¢ë1”µrÊ,Ø`Çš±lHå#z…Å5jÓÍ&s„iºa`¡éŒj¢"/óLÃέϡvÄlà@îÀ?;ï/jšöYãõø®½úHó)»mÞ§oæÉøÀ kiìê߸ïïÉÙhõ$›—Ñß‘IØ®~aö¤3‹¸˜Ø¸u-ƃ=8K:½°‰Wš¯VO8+—( ”T==±Z ø(Ñ] –¼gÏ`äE®w¶]P´Xc¦¡^÷]7ã[™Vì÷JEðŸ¦ÒøÐ³éÞkû.ÿL›UƒzÿÜKÜl™¯³€Ú˜¯b u‚SÓ«oÉi :_¸£åcMóù±z¥f¹òr¯ek.;â4IDÏ&韯94èØ?šÄvÄ fÉL³¿-Àº\}Õ‘“º¥{³# Æ¿ò¯CZF&Ø5ìÔæ :^ºèiⲉ"w$x®¢íöQ6?F–±÷«âò3ŒÙèõȦÜaû˜j–ƒpÖ™Žñxs?OM1%|ÖÓ‡¬ÙÔûqœcFÀ‡N7Ùc²÷1븎ü>×>y0Èíмì¤ÖœO01æû°4õ5®h"è>—wÂM¬û á=ä–+P/‹r9J°åm¨åÞÕDÝÀŒnKjQºãi}޼ë_æ Ø“&wÅŠô×ø‰9„p;åÄ VËý8%&ºútW"|–oTèÉ8tÝ8¸à\ÏCÓ¬àç±ô;G6 (¥Ä3ºU0ób~‘: ”E0í†+dcÅùÊdÚÌÏXh«Ø˜ÅÍ«)Åpín2U½Bx+? ¡ãÝ3 ›l£W+é´“Ÿ5Ñ’&*ýY¨K|qkÍ´[·o§òu„Î… þ‹VTÂÁubäO~Ok~Sº$´Ø2’mOHäÚPnŒ'Ú|–Ä©A®X3àt­?³Œ÷¨—dzün¿Ð@*‘ð‹®QoÍ(¼H#دã€ù‡o)]“˜å=åb§ºÿ ÔíÒ“éªg.´e²Ú½Ð¹3®1(Žœìg¡ä¤9]!ƒŸêÕ·—{~¦ö\£y4ÑÐ\,îZqIå¶—«ŠÕÑüÀÏÝ Üꟓ“=i!øP9_KY=ÃOžö‘ýí_#ó6 BŽ o~‹ˆœƒX\”t¬J¹ö×:¾E0Š5ÙY0@ç¹5ÏFW2?ÓæDmÒsL«8g#Š<"ÒÑjÆ$$:p@‹OãOf){>ÍœRèÚq(8ÕeyO؆ÞIÛ³ƒ€Ÿ¿šˆœ¹¸4«ô-­mÜ‘™ÉüAeü™ö®2Q¼]QÑqz%ëˆô Of¾ÑøŸ{gÒÖkP5Xg°q:„šw"?"?ªä™OÊ2qoòwß ìà½v~9†ü$E¨ß䵉ýœXås8 冲Pj^D8þaÐÊMr­ó”× ._t^ú„HÏE¦?ºr5f'ZŸ@"ãORPã³Æ0¹k¼S~lÉûæ#ÖÌ¢IâÙöµ6HæÉœŠºéÐÞ±3Qƒ¬¬§½,ÃH RQlx>æWî!~‘|"Ó5YŠëù.áºâï3°fw»{UëNLÎ*_ÂG”þ ÓÿsiÐà<«V’ÝÄÖ‡öm=€˜¿0OÝX™È\ªõ©|S»ëþòîDlŒ'†•ý¹jöäÅ£4íD¶GIH=zð8ö¡!0Œ”½ÏAš[QE ²T68ïsh {6ÁàÒj 46Àó÷ÂÇ©^y¿sgx:¨…!áLØ[³˜ts>š¥n*ü¨É£q´ÛŸ ÂM<¢3¨$t”£-ˆãù¹¯òšZþ‚îN *t4¬p¦¸ LZÝÇA›Än.,ȃ¸ ½EM¡¥Ý&ˆzÕ”€|9/c wتÁá1Às< ¨W€!Ú±À|ÐÈøS4áúP¸;­çGN§¾‘¹ÌJø‘ ç‹ÜÂuèJ¤óÞS›]5mW î& ÐÀpêíß œ^]›†¡´‡öw²á(Äç(«c 5Z]}µ.hí‹¥ç»;nãzÖ<õ$ ÿƒ†®B¬éaX§«Õ½‰Mƒ.¼ö@«Ù’‘kxr‚ºrWZë‚*Ó”äaafë%Ñàß›ãð9ËêUÞ Ö˨’&i0UgO|.]Îøãäv†±Žfæ%Ÿ:EiळÕ=9ùL‚eiGX©Ð¶ ©IÞJ’Ý6}r‰É£®„a~ÓLv c\l¨XŸlÚ¬*ÎrI…=‹£âNmÌcŒ-„uùÎë¡ Œo>]ÙÃ#¦Q&(sù‡êžwêá° PÙtçÇžÙq!’ãøÞÓ'ÉH¬}lÓ7ÊYIÛ6X—„¶Ša¬ÍnÂå·P/…àSÑ’ªí©&¶ù8JǃçsûBþºqrØLZ-¢L–_ûL›¯Þ!%KÀ'ßš8pÃo’E½¼}ŽGb€©ÈŸÖÒc6Üñ‰#…Np˜ÜúѬ‹$û,Wˆ’‹?sIŵc …°{¬*7ºôªÍ4?ðH„ä œxG“…K÷é%ßѽ@Y]%ÞÓgÓ²i rÂIËòÎzÅpYlDiìÛ ôòÌ(M«TPÊæþTvI®N·s­X»ïYøA»0¹!qm´úDe»C\ž°ÿÜaQÄa0*CIúéšüGM§ åÕŠPöÕÒò4GwOl9Út?Á ki5^ ÈCvÔí24µ#7¸ßA9‚ã ãk êÚdX–¦¯ðUòÓîLáFëiï6xšK´ÊËèQu–Ù€™ÜG¢ëä×û']îìÓs«ëˆøÒî7:]ŒÌŽIÈülsnæ’&zœŒGÛ`ÿ[Mt|)ë’jQ•í¾î‰¼&çK’fS„”ê#ÄÑù`Pü”é­Ø¯`“ÕÄ[êt~w¯× á Ñä­xE• vÈ»Jk´3°ý0÷ÿµ`…7{@ðÖ…ú“Ÿ[ª‚ äiñ7EÍ͟±¼šê#jê€Î×g)+qiªÃó ˆÌ=<ŸÏ® ¶‹4«( YÆïE8Ý"xc9¯ñ÷v¡U!;NòõçÔ}›ôÛIÞúÙ¡ºgÉÖyN ºñtàÏFgB2‹j Ý„C­7šÕ g€qTÙ¥.c| ˜ëP£–TþQŸ7»˜‘·•©$2ÔÊüÈwz`Dvnë*¨ÊDj3¿Ê(O’$‘H\>•/2Ãâ?ZǯÊ[‡žÐ[?0w<ÓÁê)ª|Zbøäâkb>Û­w1õÖ,à?6f¾=«#MF}_¿i sA¨²"”Ô¿u éu Ó<ï£}pwKº@å¼*½tw¢,Ýv`•»xµT5ÞIAß Ñ• &üKA6BO:{*$×|ç«üÒÆåË íšò„Ó[ÀI}ï7»[û ØH™>ýÉ&NJuñ'þ-¡E ¶9Ø ¯TªFv¯îÛTT¸á] v qÑ/Nêþ´ ¶|tsŒ&qΘnúp'~HJù Þz‰S}.#¼3Ž£ˆ‚·ò¾,—5…éÑ¿;;7ϼL©{¹b?Ñû3‰àTQ@çJÈŽä>ª6=¾Œ¤QʉÝ$‡öqîž«4»¿¨ò×DôùÝ(ü vpr¼Dã×ë¹>ÇÓ‚GèúP,ÿÝ­º,<ª wÏ_‡­Ÿ›‡þjMû(±†ˆ.@W°+xL†oz9üÇü"dßû2œèZ-3sÊÊ€kηA´&]ˆ¯ÂÂ:>ÕäZàJ€-áή`ƒàwmèS™¢$e¿XÎ¥o†OzHöE•   ´˜]ê8m7J 4›.*(UŠ…óÙ4Àvçû±¶ŽYÛ%#ñb €ª^7=äQÄïM^¶GC(§¼Ï ^]2””Ҽ.úª×|¸9ªk¦w{¢ï–%õ ×up¶¨ƒX}5ÇàPS,0iÉ] _úÌÍÝ&lYè*ž, ¸âØ,%Sä(úV·“±R°Æ·zG'oû:³ÀV›§Œ Ã-ö},©¢ð¦ððyÈ%°wÊÜiT Æá2fÛš7~4pw”Àš¶s‘¨ßrm Æ6RZ®>ïææÙAvñó—Ê»VßXm¯d·ïH*Œ5ß=aœÏ3wþZ›ðPU‹8wµb 7_48;±æ´}ÏÜp^D´ßÁÍjÅCXJ}vRùÊüFÛtöBãD¼ÝgÙ¶ÔÌiEîŸÜZ°Wçûì<>›«Q71Æe7«Ùˆ?×ÙÖò‰}pIlºM<àL1U÷¸ãÿ'ó& §ûPÍÀN7™=nÆ™Qô"ý­EÚ5úÀp”}G(ŠxrA5‚Ø©=ËÀ«ÎH”Ûï2ÿ *H Xj´"à£ð‹¯¥Éó[á´„EæL¼”" àŠ˜€f§û)yÞ÷wºÐ¬T…Y€U8O£-Ͳ1n ð,ÂÑåî[raâùV†«¢-Q/B!Fý4UFËp‚kˆ¡­"èOè×¾‡O ø ~¬!‘Pµ° ×Ä¥…N¾r*17e(8,9Ï| Í¸´ø ›dÉÔŠ©rüBoáÒ©WwC¨œ‚œùŠ,|q!v­K$èTK°Öª8á¼ì2GVI`ûA$e]MR¼öòeã\ÞΊu\é?R7ž½Gú«°˜’©}óYy?ÆG ’ Mò/®•I5jH<¶ ‡'ŒjõÅðšrpjƒIJ¢ŒlOµŸEϧIapZ“Öm*ÑnSp ë{ìÆ[ýÅe”H±›ˆŒió6²ÊÛY7Õ¼ WRV”‚¬»ÏΨK€Ps¨>çá1FåÓZTÆ#ú·e‚P‰CG÷A(ߺá~LâT °è —ÛìõÛ°Ÿ^ΖT‚®”WŠÀ%ŠÀüËšé«ô%GƒÙäV×u”´Xþn;Ðø!`‘‘U9ŸL®VäŠÒ92dñÔ*smŸëá ž`œ[yüÝÎzì1§/ñ\l麒e5£K”ûÐÛdºMÔúâ*ø§3Í×¥±Z œ3î5DÁ§³‚ÀüÉ€›J|^ØBÝùºÁp}¢#å `ÃÀ„Cº: Æ¢ ”€Ÿ"ã)â ¨\.ûx™Zá± ¨‡MùlsçqÞ,GÅU’À Päaî’äJ—:F¶45ží§Æ¡,uç½zG8%ÕCíq/¤‚ÄïŸaîOÒ þóÀX…ñR…`SFÏù÷{/‚”—ê–n¿ôÇëgqÑh|¹@ nž_¶Ì$+sòn-ž™^R†3’Ê4B)÷2Ånm ’xS¨šlKQ”e|4múÁ¼ÞÚG9™CyËÿÉ:ƒ··‡>)QÃŒˆæEäŸ&~þÎk+º¾ÏÎn·%Õ û‰¶tò1U ¶½ ê.‚—·ŒBÚ(JM›*iWÙ[õ­J,ÿCæuñµNå©I›[ƒBv×ôM^à“y/йT—AGZž,‰ ]±£.TiÁ+ª'æ+x*®w²çFí‹NKQ€/Aÿè¢%B´È&Ö¯ÈÔ*þªÒ—Z굉`o7jpâcxp÷Ù%šTUTµr¶HÔd€Ðˆ‚(î0û‚U®@¯Þ[d¶¬ì8ŒçP·Åq8.Tµ¾O{i7ʈ#ö•èÊmš°&sÝÜ„q–Ë›ªv€îÀl§ÝBX—p_j‚Ií~Ø—d›ÿI!ºZãóÌ—Z!¸<ì »ƒÂ7lE{rÁÏœùöë'™ l„£3ÏôZ€Ýijöª1HáÊW<šÔ†Wjp3êÝ+Ùô —Ê-‚·ïú7÷v*Ï€¦oXâDoFµŽ›qȧ>O»@•žªlÐÔäoñäøù¼þ˜ÞE[÷`ˆiw±©¡@ÙN¯CcäAÔŽ„è›!ãf{â•­§õøÛÒXˆ£»#èG;ƒ%Û«%Fy?WÿÏ:ğ׺¸gË{õÞtó;mU;hŸ^F¡‰×V7a›\C ÿ.ÆfcÀÝmt+†/Ó²'‚‘àâhTÐq‹~BÅœ:•‘T<ÒÓ3)2%ö6wœóÔ=ª€¹â' çC¾3<™ÚõàÂúܹíÂ;_Å(Í<ç˜<ÄbE%®\GvJypö&eebbsñô–m꽡tŒI_éD‘Uu t_J`M;÷Ñ÷äeUæ·ê”¤9¤‹w0`|;3ª‘¾ÊBd"XÀâÀ¬¦I±ÌêRµˆ8²VÞß»;XôÀêÞ{Ú mßê¼dÿ™Æ´˜+Ø7¨êäÿd·$nÑè*Ù–ÈV3¶ëÖÞæ %ôì ܱ!œ–á ô¶É Nh\¦ îðgÖíëÊ—’•-mMÄ7f—à|©AÂ3ïC×â+<׬˜s…. ã‰¾[¬þ”J\ÂËÞ%!ˆDtPÝ oV×~•mÃrÌôì|Ïl'äq±!ä†+Èò)¸Z~¼ÄÝòHuÓ¿Õ,ýÐVóõÍÝŒ óBl8\«ó¤eÖ3ªŠÚ9û)å 'ápä%4‡rìCwŸ,1¤ ,u«Ö##\E¤!Ù= öW3À#ÅC UŠ÷¡£è|mÜ}¦b°àÀ©œK‚³‡ý‚(¬ì/ݲ?ëašäÙñ@¼¨Ûœ1Aç5ó,¢âUÀ òšŠœu¢çü‰a'¤xCWí—…h-’íÂp.óõÒ´=´“Z*ØàDG¦`°f3ºýƒÒSÄhÌþkx ¢';Ŭù†b}ßÛöýÿ-Eaœ›|6Š *b7¦¸¹ÔÖÞÇXq`û³Z‡{x» ]TÅ5Ê¡ýŸ,¤Y+ì“Ô­¦$Rq·"f±Åo¤TÉF¯gC]çêŒù ñ?Wêî§/Æ2"¢# `vÀ8?'\§g'á˜ÍÓc“Ôûˆa)Ÿ’ðúÇÆUB’êJˆû> vcŠâÃ’àaádh ÀÞbŸæèV+ûDR  ¥®nè^ý0ÀgfðÀø4)ü³¨£¹}XªvǸ}¾fI&W}çoyùÝs 8ò¢ÇIÃTDþ­ù­³{Kµ|eváåõHèo„gc):{°Gk©Qžh:h²n´«œ\â åüq*ò4ªÿÁóÄ»›Âk~{}‚ë>ÍkãÆœ»ÏøïƒÝyæOÎ>To´oxŸR•%CóÒ[{°× ÊŸ”'XÎ{eú/}Ûkƒõñ÷4½»$J0ÛôK~§ê²  ·ÕÿNô%87¹•(MEfR§’‹J Ðõ°èç¯ÊÞ=C-ªË–\GnÐGÖø$I«>­²rƒáJàâë ÇÔ6¨:•ÙFøF¶‚ҮѲL~ ¤¹ðŒû¼Ed«»’Öà™H ’„‘y§Xzm(H@“ŸG¶SE|1€}éãb—òCGÐûÕ5|÷ÏÒ(¦ÓûèÉ"àNáØŒ%‡/XEÍó[¾iÜ=-gHzbä >,ŽS]€?k±÷+¾¹ŽÖf lÄ0nˆØ÷‡º4­‚‚ø’áÞ8òé=»4x™iîâÉ ‘‰H­3:,MBܽý€&J»ý:ò þ0ñˆ\ÌМÑÔƒ¬’³R˜I}¢I”VÓ+–ÒÑÈ@dÜ„RÉ}½îþƒ›#øZ±c‚JÍ·Ðæ«í)ÏËWNÆbÚ”Er dÀ ©ÝJwúÉt´øA.J"ÉÔë¥pÆN*5è) †ú<êìªJ ¼N¯Œémµé|>PЕ›¯ £Ø!ŒeT:Ž:=êF« Q)w7¼ø8´rOÖŒõ«å2*^·…ŵ™´kȦæÆÇ¾ÄÎ)ÇëfóoÓŸ"Ë},dfØ?+ëò¨:”¸mO@8‘ÍŒ×ÆzmnšÊWV–ÒÈÜ€uú*ÏŠÑæŠ¯Ã‘2»÷/Q‘ݸ™Õ“פ°5iÑ5Ø:÷=ר\¬!œÁQjåØû0(Å:M$@YޤX,Œ¬ŽUnaÃTÚܼT; <žN5ȦôËò“{Û8±ò¬?²¹%rSlsÐ&…̶¹Ùhí‡h†ªUz³'¼½¤4oÐ&¥;Gš'ËÆ‘Ý¿ ã¨Ùâè´® þDO: îäšN‡p˜²ÂÈ—,ÛáWÚY£‚ÜÏz‚®Ù³ó8†Œaü›ë‰ ä¯$¿Plïr?/¸^ÿ†Èã§Ñ„kê½ R jZJûæýù¤w_åëÒxŒ'Äð±çî·ôeîui Ü[J×L©ã5§%]%·f³¤hO¬€(¯9©t—/Rg…ŸÁqŒ—’•cÆ­µt:eýRÙ*\I\<±RJÙþH@5ìm±Þ*tçâÉ©5jQÝ«û+qÃ0«=Ç/¦*Œ¾6&[oDJ’["ÌVª¢‡¨“ѹi6¶cõÿTÊ–l>@ˆçÌñog` Ò‘‚“ÃQ¼û¤áãÒª]8JØ%Bµ„‘:©ß8ùþhøjó/`ÔV"R¶–Uõ-OmÀÅsǵm§ìW§ä:Û-ÞH×Fñ™]‘ð f½.BÅLtÛxèÖfNƒ ¿dL“¾Ö‰•üá½s±Õª ¹áÕ±Bª1ï˜wòœP©ü}/™n„-ë^,ý6j)PóŸ¯6v¸PÉ@71ºS¢O/­U²Íõ ç‘ÞnŽœq’<³#åèá°ë«ËfYÎw\-h Sw¨è{¸wÔ”/x®€ä§EÓOrc`i-Ö BÎ`#XØÛ1™eœ‘¨UÝ%’­öhpl&¥–ÜÅÚU6­-:£Èjíéõr‹ä¬Ç{h!%É2Rþ0çuUÈ~“ú›"g0ø›3vóS*ÍÂxœkÀ”FçSÚ—¡w=´eV €©n8lá¥õ'e¸Ÿð§ìÓÅv/¶B×SØÞ#Ū`“U;bo 2xÔ9ähl\/a®Šµ(4'f³>é0[ËåGzQô:À4DÚq© ̹ào¹,iAûÔÈR+Œ·2Õ;¹j"Ïš’™¸Õgû~rXÑ7@{ÑõÆõ¸ªk¥*†Ñýé¡ Šx­S¯¿"QûüfBé¡R]5b“A;AM€|D‰gÖç ¶ðm$X >gÛœÉÍf½Â2šh''wçC¿ÔŽ‘žBÛÀcÞƒTÒö¦e,Me.ÚEY¯Àÿ97—˜çM¦ì®¾ÑR'±-Ë-„#[–{gï—oñ ½òáàM$Ù8&íì$†45¸Ü;(ª‹7cù#ÞŠuªW{É^!¼»$ú¤WOÊ7%påvúÙñõzE4)#;=LÔf(xr7 Ýç”}2gS"æ´æŒœJ¤ç**9âð(TÙ0‘ôBW`…N3¾(uΆÛ=¥£çEÒt'\Üê(™«P¿RrM9ÿéálß.€[8K¯Á8Ö¶nÎ^b¢´*MZ&2èH\šM1¨f„@>"·[gu"2ü|÷š8xÃZŽn¬Yûh»+&—DxA±x:Ç>½Î}“ÎKO@07ëŽÞ´@à’ÕË>8•”–½|hë*â^#; L ¿Ó~À±CŸŸX=sÿŽsàÉ>Ùs)ÂLÂÒ®…só¾ üE@y\ì”IB¨ÕR@çJ»•øõX#µdætr˜•–pÅD?‹ïÀE‡"¯ø¾]6-+$‡´µZCØd±ç™{_Hö×*±—oZÔ$ÙÙžséÞí³C Åt†±rÚÚæ51Ø[>žIÄÙOÊϼl:L‚%L‰átaÔ¥ûìQ5·xD“Y¬§þqô1^òD±-8®DðÒzMÔЕBJ¿Dâô(ãôH·&!“Eæ†ñ%°{Z+ßB?FŒc{%œXYâ`8!“ÜŸà-wj%{ñEÛÝ#—Â6ÏÚ·W„YãÍç©v'W£éSÃ"ˆxï>cÎ3Y&0 ¢C¬d gÜ} Ç/ó¾ÄÔÄ;Ü5¡×¯Û„@Q*ôb– ±¥¼ôH!‡ˆ#/šN‚JëB`/\ÈÿÎ:½Eÿ±*ø@ãpöh/·ŒŒf¸‰iìþLSò>žy«[ôæ§Mau!:Gg.¶ldE“@ö`£*Ô¡_¥/V@¤¤Ž(–WÊW¨Z{aòQ¬““á©,¬OŠ^@…¸-ñ$¹4$þæžJEKW7·órþšÔ…|ÍìÛàbš)'›°ö„½_ë@þp‚8è¼Vô[ÆÓs©w×þÍ{í×± %cWã1¾‘ÆÑ³¬l@_ë/”ÉúçÒœsËZj¼søå”ˆãP* é4«Š@¢RêkZyrF€+û‘škÓäŽóýkªà­^À%€Ëw•Æ™šÓõNcïø14M¨×Vj_±`w÷–›ïÌÛeÅi~6eʶÜáJûm@ÇPEß]}nÒ—I5+ ¯ñ7…®öKÞ’Iï˜>îK·Bsø=¬°œG6¸Ÿ.@“6ŽæJ4rh%ýݳ¬¼ß{ O\ÑFß}0¾Êë¿kC#©<ÅU†$~c{z'íÐ ÑeÏË]H#[µ ZŠƒapðâS¿?Æ÷¦h*pÁx~··pÝy±¡{ôgqšr–Úòêö±ÓhÜX£M¬!Ħ0±Å£ £ ¾2°%!:JX]/÷`¢Æm¿ÊA#ŸÈÐa–á! ¸P+Ðô6«,lC“11œ‡v²T7%ŠØkòë‡;å° Ìæ-M'¡jÞºw é?œõ"—ÔU‰Ú©bXAYùKb˜t%C•— ¡Ý+å¹îôê|àþa„PÕ÷3+a©õ=cYçBAÕ@Ao (Éq*üQr0­g¯ÈcpKužÀtÚʼndà_X=‡‘oÐü=Ò¼³|'q:pŸ­t·+)+žü¯«/Ž•&îÈßë‡E›®¬Z!ÊÀ1Êx냭xS´”íbÔ-­…[þΪſ¢§ÞKOøÜÂc¥Ð¢^0ŒÞ‡=qªzÿZ܆þXòɶM~!7÷àIaè7ÒJööp6!CÁdýÄ>=,ÔÎÃLÓKpë5vn}޵ Ï{'ÝceѲ¢Ò‰:%ô`ëóÓŽ¥¬´gŽDw*Ä»hWë"Éqv VV?NÀجÖìÁìe¤Ù9÷Vù {…Ö^JSÈ­Û¼¾ßA?í4tºíA¾èOT±HšAyŠRªÄ5—ˆc^iĹÏâSԜ䜴{ºíc±PÃC•Çó=û+Vkþ¼K­´­áMØ ZÀõu‘ã¤yr. ›ØŒœòßK+þÍ"§5u„btEËÍ^ôë“sþ¼z¾\/Â)¹JÌ9X#iÁUõÖÌN¬¡†º–Æ-Y¬'ô LÒèÕŸ¿¾˜¡=¨9KJ½Œ&°·Â.¾M ܆ù¼ ÷|•žÞk·ñJÉ‘‘÷R%;_ÿ$ÍN>Äî¾ë ÿIè‹`¬ÚŸÝ8ïÉÖ—©C%Y‚K ‚Ò™ mãD%)±užÞz°få”2eVAuÒ¬Lýÿú’t‡•Ç&¾žžŒE™W½IÂjëï²X&9Çô:ñª÷EI‡Ú>³én’®S7'x,.¶/·U„Ï!œ@zþœ#rero=ºdæ?QÝÕÅÐ} ;Fåßp)jµx4²\ «%¾²‹ ß©=S•MTï¡"šU”Yâ9ȧü‰ ‚ž±Þðžf î·Ž8à2—s£}ªB îO¨áÀeÈëËéT*‚}·þÙ;®»[Õä¾õð{•âg¯WRe^ßäÖ&è„ÖñZŸ°-.´P© ÈZdæ0ÂwTý—[R³Ýî~E}*ž~)šPO¹àeê·O”†Ž_Vå>|Ù‹—aò!xeÝ0ròI/dÒ«*jÚ—-fkÜV?›Á&?ýÙT8R­_a„t !Á{t%  úÉ2¢XaŽ˜ÀA­=5½GwC[–Á»àÒøxAKŠ9ljÝq1KË|‘Ñ쟚cUs®¸ù”GxÓaöFâ‹Ð'Eå‡î„' ì,ü9 ¹\/{W1ûŠyö&E„ 9­0:Ödè‡u`O/R$çkuS´£kU;—\* *«òrº5?o¾Y µœÀµ…Á2“¢Eçõªn˛֪qÄ:Nîڢé_Œ9HË 7®ó]l†yó-NÌ…xXyµvN3í:ûŸæÅ¾àZÚ¯h,Èy)vj¸­ê,ó†Q™ O·qRèœzÕ¸±py5¾ ’c¼Ä‘^µÝíåzñŸŽ"Üç ðXå)§a&3Ý“7_éAÎF Ù] nØÜ¿NÏ_ÈÒ“·$ö8\ßB BÎÕ VBê¶×¥6îóÑ8IÖ3vqAï‰Ä˜L7u.y™"$6iFn™Ö¾sÝ‚!·I‰7+ØÞ°;<]”ë7ñçak*ðۆ³€ï¼³~6÷Mõ==Enº:Bpñ|]… lI“#§eމ( ˜LÐð§hWµÌÆòÁÓµÀVœ»†D ¦ ÈØW3 ©¬èžÚ)S)Ê“'Ãv.zÈʧx3ö¼G!‰ çznØ®4FGòœÅ¬ûöøHwgèÌ/ ãÜ(¬åéSœþÉb|¼žO r³+ˆß*B¼0)M„¾Â&ò³V”l$—,vŸó‘PÑ*ÅÐÞôéüó¸€_÷l«áW»}b½N‡Ôe@¥y广µ«D÷…숶³³®"÷¶E z®Ïþ‹»}—™ƒ³o¶ø{h§ËÐ3S£?«Ò¼®ÏPiÜ7Qi¸†ÛŠ2'@¸™¦×ÿ³þè;4Ò –žDùš1LÉ|£_ÖÌ›/\aIwÔ2šIcñð¢^*Gàu„Ñ Ñ9ñê8u qf"ö§}}¯Æ­Ûù‚˜ÁMƒV±<‘ðc_XÕ¤Hm‰wÐ|l§¡êÒ4AËÈ6›S´§ÊÔƒIqüGÌ_øØu%ó›IKy^=åçEãÑaSýØ MŠ[(òVGqYÓ–¢°‰Å{ú+ÔèY@»Òñ®]\ê°:½®ÒÛôcV; jã¿í;÷*å»±à`gèÿ’Ð ŒU×ë5U àgˆÑ9„Û§YZ×—ÖlÎ_¤óøñC­NÖŸqÈÑ'Í >žíÀ]a.æi÷¸íÍÙ×c-†|çS§þóOíkàÜR·à Ãè%Ö”|Ù '€£H ¦ R5A-g"ƒ/ãJœ\í·!»²¦`Éõ3¸†ÀQò°~äšè¯«ÞA ´Ù.î|J™­k ~Fr¤à<&Ò¹RÇ h*6·PßwnlÇ)þÁ¢É0¶Y•Jµ•˜qdç}$‹/¥í1wùƒ*p M!»GÁë·lt÷XzÛ"8І1,ÈP9u~qiÏÝÎUk´²¡>ÓÇm† Lφ †q`JÂFzžÕëy[H|AšÙ>Cž­µO¼²Cœ57§Xö(ý±*Q£0­ÎÞ@ËÏ%Eõ§Äl–QKܧJqÝOŸÇ¶'-€¦MÈÇþ[_âË@ÇÒçªÛÐ:ãap‘“mš€ðsê+íÃ)øAÑÄö¥…4ùÃÙ¦æXªR×Xýí^3ö£]½*O’- U -ÏS5ûò@‹i¡ôãÌOPO- ªÄ~,wÜßEó7Ô³[o¥¶®4<…QO¦!çûY Èqa7¦±ÓÚX=Ý[ÉNK@‘Œ…°ŠÏVOçŠÉâ˜|Å5‘,Õ;¶Žz'§|“m³“Ë$O⬰Ò&¸T6b( )«kf䤩@ÖÄvÉl(=E: ‚VZË"×ÑŸÄœâ¦/äÜŸ²çÊ̼Ò?H3˜±s|q«RÔ z͉s_;N¯êYÁuûËÔ"ìÄ"ñ® üƒùaE §îhgíê·òNÔÕ™ÀƒJlQ;T_þËÉÿ‚vq9²ˆÏþç,gþáN pü¶“ÕÎú0Šw$\/Z¤Dò³ß¤Z9Êš© ååÅ$¿¼šÚ*ðªv³6M±£¨ý0ë<¨T dÒþ›muwš ¼»£âr!llþíy0_Ïm w¨[ü††¯béÏ9Er¤^¦©á6‹+Œ‡Ö©òà³:¤áÃÕÿäÚ75 à·¼ Tøð D¸‹öKÒ÷;PM¦ƒõò]E’IX £C°ìBEœƒ«¾„pýŒûjxD`ýÃÜÕÉuÔi"un{ªm[ ¿˜Ê ¶˜¢LyÏ|7È“ áñÑ1@Sl‚Xý¢M (‘æ9dºY%K®|uWF‘*_'f” À´&[úÿvL*Ëj¢Ïß’tš7Ð`ç@¹‘w;¡Âî ‡åX4.ªžC6»ÆUW¦'ŠÁi¹F}ÈÞìh`õè©9g^_¹f`1êÇQ 3ÇãñžŸZšWj9»sb@Úݘz?Žd-@³°ÖŠnÀ:µ ï^-ã‚ÉSohð=†,€À(„ÐU‚¶  Z%«2–[¨|/º>–î‘ò´’°Èth%Ø:óþöKþzã5 0ÒS -Y5z>ê ¼dØÑìƒOÝXèÁ/áÅøoR£œÍ<€ëc¥àÀíuÝggœÎ‘A«7‰€2'AÂ+)úZŽŠø~WÊ\bŠ=ï†Øç“νD)VbŸffUë—íê„ú¿èkaz~9§™^þõéÁ—F6úø.õQVÌå@.®Uí ²*’Æqä¤ÎcˆÍŸæ=µÃñ qãïEe`›,¢¬Š«lø»ÛIxw…¼MŒn\²Šy°x[¹ˆçxÔÛ0êÔàW_¢ItÏ„z¯Ô¼cɶªë(3áv™yÇ‘0&R4û…ÍŒü¯‚L¡¬Bâs«¨ñZáñ¨‚êßµœµtlxµL¬äÉ}¾¨X–xÎ „Ç,½½6d¦¼tÊ„ïSÏïeSˆ|¥SCE«æ¦Ú.uUF/¾þvÉ °À²]K>žÕ¨NµåÔ³P" ë±õD(BTÅ^sˆr‚ª´ª¶Ýœ,‚ â0.´xY¥=ò†igüG¬!–õ¹D©|ÈWPrÏPüÆÓ¹… Æ÷îÞM5»ê„nk€‚ý~i/þo:"à„?íƒÅ®è¡Ó´¤ØÂvÌÁÊ]Ž–_mìt8¹%8(ÉÕ<£Þ<1¤aù¸ºy£xô›l–‘UçÝc4q‹ ±Â•h_³ÈVí¾c{ÔEœ*tÑÁü‹Ÿí²ÏA\#§˜b6Ñå ÏÕ0p ÏdKØÒ¸6NÛ×™ª%ßÞÜë$Op(1/lŠIwÑ:ùlep¢á©¢½)-#í;ÁŒ³¯/_ì/¡³¢Ö\²¡LÞ"Ýð&@õ¹ÁÁêRr¬W,6[{‡š§¡‹`C&5Vh Òòã5rè*zy’¸{YÊaÞ®,Vø}o›S„L´rúºîâüG¡„õú}ký1~+lä4xãÓè:”½5-­œ@'á]ö¥Áͪ¶Â¥AË mœx[}û!k£“zLÁ¦us­ÈWÍ 31+;fó<©õçΣI¯F¹ `tŒ–Ž#/>ƒ ÷zotV|ÂÙ1Ö i^ÜTfn²Į́OPe¢Ä«s+?Qôuk)Ð+Ö3[f±Ÿ¸rGu[™žŸÅÁúª%¤v[¸‘mH¿6žíÈè4…˜Íè^$açlA;˜¾¬%ïC"öOCj,Çfõ”dQï6ÄuUXÒéÇæ£•´3 ,@è¿Eß^óÃZ$({j¹FüàtG®ihàx94˜Å­’¨JÇ«9¨‘AÛ2‚<Ÿ(TøIˆ€C!QŽP(£+bD³T„…J 6ZA/˜Ç¿Ü~·xÑøh³ÕbU÷H‘½‚It{-Á¼µQ™üŽ4ÐÕô ”&¿:æÏgB~Tä4_Q»–Î8pSç5rf\`L| 0 è¢ìEƒ’K"û€í¬Œ ÐÝ5¦’©˜ï¦Ìì@áÂ7~¬¬8¡X"$ö°qÑÞõõ[ûB;Ú燾jüyÜH é?®6öGª¬qMÆHÑ:ãÃprY©3ÂÙ´ÕÜd•>ÁnxЇª‘åî«ø?(”T~®Íœ'ˆá­|‹•QÊæå¿õµEO@e˜Õj˜ÒñmïýÂøð®µ¦»Â`´àQQ|ô9ªïÖYñ Ÿ —¿šùFå‰5Âq•óË1ÝÆ.| Ð`ùê½P˜In“—t…OÌZŠü²wI`.ðÿ##á ý¯Þ¨$–ßJN´ˆí€.õlDO½".H]F›»¤9dð {Þ”OΕq¨)D$Ä}Íæ¼<|z·”ËShãˆýÌe9ÇbÇÔYk™Qû{"›Æ`&cŠÇÇôÚ0k$Ú°¯‚‹$4yéÕ„BGawê=lv٠ɇ(ÒO1¹ØËÇÈŸÐ?E¨„lV¹ •ÅÛ¸ò¢ºò~šK ?tIì$Ò¸±ÓYmeW—Ë©˜Ö6“ÑÕø*¼Xý„AÝ”¸Á%˜ÌØÛ¤!£ $n›¼R¹ÎTíÁI2œç„ÒæÁK ”®MÊ®©>ŸkÉ1X}[; v?«3­rîÂüíÌ‹©H—#{ØžÕ¯½?¯e£÷÷ãËäd:ãA—²¸ð™õ´…Ž¡QtsPý¿u™B®PÆ¿qh !ˆt(žRÕÒaCic[˜Ša(&¯VØÇ’¥ø•‹ÁÑ˦œòÉ»l‡l5ÿ3ÆQ;×9óà#nøWL·¶(DYÊå'h`%¾79±3éãþ†1Ù\™ÿ¼&-@ŽjÀç– ùcv^°§X5ëØ-ó ×K;k* áF6ý\÷pwp¤Õ]f]Cè·£¦Ô}{Ôýk§¤3.» œí˜¾º¡7öÐ/PA~iÂ$iŒŠM|ÕE à™‹œ$¼RåìC„÷þ—Ýrõ­Úæ;‰¾€¿„ùÁΟ9g5 ‹%݆¨œsð"£T¾"¼‰ö×íaés“+’$¢P]DÁ0kÅWE¯À;Õô™­¾^¹ Ϥå@@SAÇŠ }ÛŒC²*3bÀ·ÂA€ÝÑ]wW¼ÎmÓ­rm£§ ER¢æölVá}nÛ@T¶yÙØz„áåÂ8:ÉÄqH:çY”pbD¦pTÀ»ÌóVcÇR,N„c1Ù-Z œÐx$¥°l~güº”žÑRqTé*¥,­š`®º÷À?ýÛž$¤ïµ¶©C&‰º·Lðì²PÙ%š÷¬å”~}ΕŒw]QÐ`8¹§3à µña´ø:InªE|O<ääàÁüJìÌ”iyfßBªûZ>]§¼&@…ãªL­È¸1˜3¯ )ïûìˤì¢[j‚nIi?3^Ç$è¢GZ£ª0Û$!ß´5«lÏCʿк8 òùÕŠ¦e±vòšª¡dD°JCöM3Ý»%ú¬:>´°zÏk:Múß ºÆ²±ÿ £fÙº™t`'ZÏý^†84ª>ÚÝï<~Ç4ÛûŽìiðª¾ÇAÖqóYˆ,ˆì ­þÛ.ɬþ&M ¾?tF>¤Lµ×¥q„ËG+?ÛÊk[¤ýaà!ø…²7sÎøtëJ±\ÏêˆsV¼9IX-,›§ÇÈñ\B·ølЬã=o½¤Ý¶qšô’k» ²ÛùšÍbœ‰¶_C:>tŸKQÏáœ\Z1›=þ4,Œ¨õå‘òN·ªf~=½qÎ>ƒÉœ(P™6¡"Q´1…ç•N¼Rmù$;}~I¹~>ßàKaÍñ‡@‡·ÝÆGÆAí.F^]Žì`judXËŃñ>ŒŒU¸‹¿¦ì§ÂÖŒÄsn;b_y; èã/dQQ©3¨ ¯«Âî Õ~Cª„ yÈ“Z‰ÂTu"äm~Πê(Ù³ ÛMÐeç¾ø=R®ÔvžÌ6×… Ç–R»*Ë .îõñöÎÄ_s²”%TÛø„ GA #ª¤ÙljhÁ¢¯´\Žù5Ј4n½ò göDv˜%.Ï¡¼aFf´½ª™£âê/¸d Àt†JD]ÞÈðÝmFpþ8:F†33˜=h%$ä^ Ëoþ#]hü^”â½IoD]L£U/¶ ôÜ2š™ ½ÒÜ5!«¦E·X'ñ—A{À•Л¾ƒ~vAbŠ£«ÿÅk4Éé¥]x²¡ˆéœàéþ÷ëdÅœê4yBÚ³&®F4†²%ž‘ù_-š°@‡ãiè€!F MʲãûuøÇ2Tàevˤe˜þAÛ”(2oG²%4áÇî¬-ŽãÜ{½â”à÷ÆäœÕLp½ë’Jh÷¢‘¬ìé€AdP0™¤twç}<ÌÑû…§õÁÀZqA` Ä÷¥5º§ÿÂ’ViëtLÈAåB‹µÏj⦞Àéñ΋¿Óo+‚ ltkÚŸ!ˆœ ¬¼O"'ÍàVÛwàÄ»k¡£—ž €ù±E°<®Ö‡Á‡œð­)µȯe:3=IÓ³±´ëÜAá‡)污Rn”8ö§¼`£›­²ÄUA4P!.F/ Át (RÐYeÌÈ\µYµ÷Äí­Í…rr˜¢àª:ñ²Rp >ªÔ35x€ï‚°àl$)ÐS^ÈʯlbZ6dž';ä|í.³Kû274†àA®ó¬ÒY%=•bn™’È8‘)š•¿$ðcBcêŠ:noH(8mÖ¾Qr¶:õñ˜¿¦ »ØáG!Œqd¢jbzŒi6-Ñ£N.K^VីÙ`|ATW¡û³¹‰!›¼8@‹!sµ\u6JÀ‡©3-ÖJýIsix ðÝú¡è‚þ+1×û›¯°äàoúol[…¿¹,^çF«¼jš½©Á³4×1)²-ø†ŸÓLÒiÜyµŸ áZ¾ÒŒðLá°ˆP-Lá¼ çeä½å;ìËcô4܉ƒD­šI~¤!…0Ñ•3ñ“² ³Ì²Ç]‡.?ñkWa)@ñ;ËPäZÁT÷Ó;OSÕRV>Ñ!+Á7—ø60^XjG׿զH+$¤ÈÖ÷]gae_C{ÔýˆÇ¿oÜN?ãΫëJ/ZˆAS%Ý~táV»Á‚Õ¢Y¾Ý˜™a"^Ei¯/¿v_Ó;.¶^*ÅZ} ÃˆØ\@«¹³íýz.J±0¨ÊiÊšO8MèP7oŽÁuÁÀaº‘tÏGc›LaöÒ!)a,¦éGÑ™ŽBÈûn—Ú¹~¾–aG,‘×ö\¸Wz–Bè%¼Ã¥Ñæª$.öYÌÕ cî‡ÁH‡-˜˜‹µË÷““ ДVKÈCò•þA¯Ç>·&’µ 3›F…½dÕβD—ÍDkf²LXI¡é…” ËòœÝ‹Ži:‡WSøV]R€æ¥³§xpýnÿö¯ŠÍF1º¯ýÄ­Ñ–£¿´íÚ[ŽÄ: l-üb3Æ<²˜%ðYÊÞ)«*dù:"þüzÖPÊÊË 9ôÌ+Á>§ùSW%Š ‹Iˆ¾È Œr–)ÎÄ*'@Õ¢ˆèVà87vÒÉáekcÎÀé¥È*«ÿô’¢óÐá8Ä=*áçùñÇYyÙøÝ¾êý¥7tÿ=("2êñ ý”~@zd /öt4KL)Va”®ÊçÅP&Çè"f—-L$4UvŸl>ohì%ðÄ6—îR%¦ÈŒÒü ß¾ÒÛ¬ý…ƲåºÅI†Iz È©´’4GžÉš©ÜªãÂËw”`+H¤| ëxné Ê(•uq•µÓó¹p½%ÝW±0½ÞW¡ïn¢ªÂö’ûOÚ û÷» óÿ²œ‘ÕÍÙe}Eé¢L!h]Dt¬õžó£ñ”ù'X¼'ê¼Z"az!ÃS鶉֟]nÿVraœ‡Â›cǘjÚEÕ£^© ¶«tðK ü—‘î½χhßá?Rçk»¦3ÂçЦçUmßö–|”*ITÉcÕ»x-ù`÷ÊKJí(ߣç0Sp®xuÔSáÃÖ[NÚ?Ä•~µäÄ¡Š.©¢¼Dn/—°ð_Ò}n¬ºw€»Š’³©ÓJœ%Üqé‡wàVyg’L¿h[_µ |Ï8!v´ëü¤Knr›×é¯~*1dUã SSøš~w´]Õ@xžøB ØV$¥ïÌL=שÞ[×eû}ÃÙ‰uo|4w üdÖMÔ ­Üc‰}ØV“ÞPŹ Pt&jÉt'E¸VäA~G ,u6Jpr“™€oebÝ4òò98tËKÓL®ãÝûî0KÍÉ×êåØëáúé*¼Þ°µ½( lž®qTäuH“ô›F~g̸ÿaŠ‘±Bõ-J›Ø°è Å3…Þû¦â~vX~Úƒˆì 8¦ÑLA­X˜Qg>_,äÇîß!Ä;æ×¬dWœóá}æ>¤ü'¥(Ô=ݸ®a05 Ägy‡ IÒÛu“û²‹: KE5øzᚤ[9/‡å‡0¹i•à:9aõûH„)¶Š Ž<«I‡Ó»U@£؃»­OÒjÃìÅÉw„ü!fûôR”Òõ¥Dˆ˜4m]¸(¹òchíË©½¼Ø¹f _1âM>|è€1šè©"¿33f¾&½ t|œË6žÿ·u؆ ‘²ëw±ŽØ ][®bGBṴ̈ãóV-xg%³š«nl;˜G!ßÑ ÐS¢nÓÿˆ´ÜÆ·søDü“ušÝ gFüAvˆ~2eOÈýBt—~ãåF— ¯Ç’p&­?ÆvM Å:Vý‹ ½þÕü…îÐo.^z6#uMg‡ƒôö›ØA8Ÿîx)Nå„¥DìËy/ƒ&£gÝ4à4#CôÙ¿“V³ö^K[[ ”Þ­ræY·±*ű·ŸSuÎëcUø–..9Ý´ Ïð°&žýa…a42aT ×)’4RÔgŽl£\üM»—Ï8ˆ)ÓàÝ¡¿kÊí7²ÞHöÑžåào[Ý—´ý ÓÃ$â½ÆŽÁ~£’Î"@T6L5DßžS`XB¦#ËÜ/œdNoÐĦ©ä†±y£>‡ÜP½¼Õg°…¸×Øc†ÚMÁð6æ‡j Õmïk]RÅÒoæ½ÓÓ~UÈz´ëŒÕb{f> ·l \ò”Ñ>8tKtâø•)BéK£Þà(``ò$ Ö³fžbÍ…CÀ¢V§4v.4?Ò‚jÍü9nÌû:Þó­ÕCÆÁuÝé.¹béø ÔõŒä¿%ÿ`Žl—¥œ•;7jKòi®OÊòƒ¹~6í@ ä<êÐèÍÖUK~@ï¹ßÜË]âðQ$í®þŽY:÷eù`j+$ÛEýi3¦8WÝ+¨s6ïü‚{j$(¿‚œíÛÀwì±äuÎ"—ꀴýÀBYùfããE}FΟ{@Lü‰-IfÑ0œÜxÒƒº_Cb1²^‡EÇðЉÓw(Ú¥Ø,á}äàc‡Ü­¼Öûf\IJ:ѸW±›ú&Ù?¹0ò±>îjSçÛ Œ»Úà¡…iªîˆÎ·ã’#²îrÿq2œ$k4Øhc2îÕò8ù±"ÀšÑ[DhÜ„,iDŽßŽf;b¶¾°˜†TÍOõ!äI¼˜ù܃94‚òLQ®j7Xv h%S^S_ú¨¤Ó9Ð%µ3‰¿ÔVÐØûüuóf6Oû"¬ƒÜ¡B8?¢«šî ¿ßsι:vÔ¿ik?ÊŽm3‹B8^ Æ®ù¹ßÚ¯à[Z+ê,Õ|@:Ffj‘ ö}>ôæÊ"üµ(ÇŽªzdE"Ĭ©Ì¬'?».,X¢c¿¶­4Q/]–Tð©'U1ÉûÔϽ¡ÿÍCX“ ÷|ŸžyÞ„ú5ûæÿ][ëÏòjF´ND{0ú ¶JéÙ}<Á&ÉIƒ8¯˜a¹ÊËÀê!³lzðësjt,‡ËæmP97úY´ttOE„àaŸ$yëBkïâ½"Óºc¥·ÖÙMƒ‡$¯‚"õÍQ|‚Õ  D„‚5c)òM?G©ül¦é+Gó$SÁaô?¤!ü@í âõKù¬pÈc5 Qt7EãP^[DÌ’ÍÖ0_ #.C¢?ãÍfÿL1{[`Ú§_ÝÂF|ÝÊ¡¼Á jóon2sfCk×v^#‰*½Zv¼XÌóèNV;¸d#šX–?§‡€]„Kb¹g;ËÃýÐõçhÌYý•œ¯Í-á’«èÊÈ­´IDô ”Ml1ë\S éͶN)2ŠÄBø¨qM‹ß*•Ç “.Žûc=Ò6)I7ˆ•/XŒ|Ó+~d·Šò"޽ýìTÄÍäA£‚„›Ísð¿S/ü€Õ¾‹ ÖÜ34|ÃóV½x7tmx ìU`Ь8§õ"4­U8k^‘_»n:ÕRDleѨIü.”«ö†3±m„XvÞ˜ †ñ¹n’hÓÍÞIòª“Ò“Õ°D†‹Þj{|X ÔÏ·@w¤˜½Ã`À ØÀw¶­%¿fý'-µìÖŽrò±ë1;±>yâÁ&ÏŸxØ¥Xp÷ðlçõÃIxLd¢¸9 ·¸c‡þÀ.†d“Ć<”ë4`€ç;~Oܲ7C3Ç‚FLh©65ݪyéâdÿf~dæÆ† †xU6\·ApZï ˆ^9ÜoO‰iùaÞ”²ØÞŠÙ’¦ø’üLM\úž8™ÖÊoˆ' 4ÈN®'¼‡êâ÷rñD…‹ÎtÕFVA|®‹ûº @hÆœèh«èê¸[tÔ‰´§z/S'ÒP(øŽqDnÑæV;ŸóP@ñÆ-‹t ^êêç«ÁÔæk%-•X R&f[@dfººÕkr ê\œPlÀ?H¡ ´H/(÷ÞúÅ{ 6ß`Dêa1ÑD’#»×`¾NĆlnCÉ`.y]%[¨LHîŽ8{IÇ‘¾THîÂÓÅdó)¿ÞÍÉ€?VŒI{È\íáY”œT W©ãþs‚#¢Êø ®—€=hý"=¹îõËV0N€,£.—¼³€bšŸåJXç]eb¤Ä´Ùf…ê<éD7˜í>çéû¦‚g †o¼h|¶ï^‹Ž@=‘CõM˜ëlôíÔ+7Пª´Ì5Sõâxv€‰3_ŸqF'Ô)q™ƒ™ÛJ5ë½P¢-]’çç$À™‹eêaexnž ݬ8ØP`ˆY™1lâǪ“™›Æ$ v‰À}?Âøs´wøüA«^¾íˆ‹•åãÖûÞ™dÒÙJNå›Q\XvO”¢¤™þ0Q5 ²](»Ô;Iý‡>Z£što*@\"î˘ÁÏ~ùÊçe6ÜÛ6új¸ªVàD€¬Mè3ß¶±…œÑÓ`Dùî¿ØË}>>¥Ûd:3âc,÷0jÌÛÌübÁk Aëxì¶Zòu‡LYíe~]ëy´fë;¬ÒeØíñ»¹H]cÈØÀÚ´"˜?®Ÿ†±¹W½ÓYˆª/ý“”tCñA®3¼£%¶bònT˜Ç#ÄÑý·ºKÝ_äI~&Ä´©izÊ=cL Ü¡JPAx[òA»Ûæ$¶û¡ä;¹mytÎ açZ9ÂN¢ôÍy¼‡~Щ‚¿5WL°OwúrNª>:¼áe!rŽàÀý®j[¿…¶'K;)$Aïà~§«„ÊFƒià÷É š OJ9ÎÝ™ÆUî'®FëÔë)n®í âÃ?¾k Ïî~šàêÝÚ¹ŸH˜+ÿµ¥2Ü}$j&) ?(ñdlʃ(‘¹KÚß­%v˜ÚÊüþ«ôŠ þbCW‡ø Q5”i—ÔæØ¡e¾ÓÂÏêÓa·…P/PXˆ½™^Crm‘oŸ–jPåï_£µ”—~ä¹*i‚‘Ãj¤Bà¹Î`_cvÇi…úº iÖáùÀEx A̤¬YV8hü¥éIÉr–鄹k Ú[ÛY8³ká¶@g „ƒà‹ƒíúZ(ñ9Öw±:«ºÎÁÓzDNÙv¯Æw E¹ƒƒjRÚBHP±{¸9/±¯·'"Ô·ÃÏ€_¿x' ç2¹¢O£-æQ9r•âdjDwX„ðXЉãcaÁ˜ýSùÊX&ö::mé- ;ÛY¡_ôèÑ J1 ~¬YM‹Rj^+œ²ž˜×£4Y&Ù"¢jœ¤2pøâr$ÿro$‹¸•~†õû‚Ï!Su¨\Þ3Û+ qU(qZ«df7›ÃB€Ôq"H°moU½2±ÕBÇë4G}ô±;Xºx×çÍ€´£_NsÐ3‘¯³¬®ðµ÷ÚdUXÏ#'-Ä«Bοþ ];·:ö¦s_oS‰@'¿¨wÔ[WÌ5U¯³†{¸¬¶^RrsC÷aœ™®c úgÂ7 àFƒvoïGð&ƒLFv n·ÏµÁËŠÀßTÜUœë¼ñsZÌQ#(d¶Pœ7òÓ˜Nau‘jˆ¾Û¶­Ó=¾«ú©îç„@^Þè ýÙl7éK_ÈpfKã¡%ø½ˆÿjÈAŒÕ Þûæ¿9Ý‘££5 [K>yÝî‹\`+𱊴„2w«-ÀOaØ‘J>Ø‹Axé/>Ū:êÁW.o|‰¨Z"Ùà#qú{êvßvàÁzJOÔ2Cɪ Û*„€†`øºø}ùßbŽp‘¶©0@LöÁ͸øŒÏPù?#â™ý<ëYh"¹Ên1¤Ä¶+{ËùDu–|ŠáÃ{Wi%%ø´„û•¦Â“ÝR%¾í6Ëò²z—|VkAºnL":y9¤…àR2ß²®(Â\vû:Ús'”çil.iΗQ 6ײà)ï@^ôÓ쀌…CXvb†ý'­ô"¤ÓÎßžÿì.lCS·Ô~O¸ ï¾Ga^!ñiÜä_¹´Â'.(|-7,J®’PhÜfG•¿2ˆG·!*åø/>QŠÕ¢¥›‚«E ±µ(A½5»v4I]ðtàÊÎFÈ!È­ðZ€5úØ?'¦ì\ˆ\âÉ‚u±OÞQ°È°XwÄ’áy»Ê¢&¾JYôØžmS¢©o¬7ØâñòY«èƒH‚¬L»ƒŠð‡N™<½‰dãÙYÓŠy•J\¢Ýg0Žl5Z(ü]¿ëÛÔ 7öÝÚ|Nu5ó³Ü¡+uUï;"q‚K½DtѧEe4´Âeg{޽… ±lž9`ÙŸžt\sãßÉØ”†sÕ u•oÓ¥ùC° åt}ŸnjÞ„ÃAŽ^±KÊŸÐ X|òùJEœoJ¢‚]Ls¨ù£Æ¡‘¶L6ÊI¨;)ê°8DÖ¥+W­„ë2ô"wKG 8£om +ô=õå¨2žšþXì¦ä L™úGÉ@ú ~¯dƒj{¯ÂýÔ¢_v7ú`#ÆuÛùÉŠ"½)Ðx%3B™ä úªuNÁûµÞiPò‚ø\R(c*‡8=ÎMwû~FåY œÎ•1PS'IÛr Lÿ›§¤jç²çgBŸgÂåô@Ú‰ˆEc5Qž-Fêlÿ̇Òô᱋”·ãVoj³ÁO›Ü¡bDQKÓiI —V`ûý9ÌêôÊ€c]× =^.Ä-€ëÓÌ7ã*U{¯–nõ‡&æó_u䮕ËÞK¸Ø0@–!KLUø{¡&Xýhs÷ï½m•µ†” —\x'V˜WIl(YSÙýßøéý` BÀ\ÆM¨ª¶[ Φ£÷µ9ÊÒAæ,+•C7DÍá$ã§ùŒÑ\ÅÀ76Ø#Óî›'¥Ù ZýéƸÈ渾†Sæù 0øzÄNøRhBT@¦4”Òµ=]†‹Ò:y9›vþ¿#Lädœöˆû“pæèr&“€kòµ‹m¸|mØ” ´W*—õ,lçÍŒ¦È²NÅÅ8×O,X¼ñ¨'…9…§0 S°cÁÀá¼ ¾×µ·õxÿj;¤¡åÙ†x+™=(;‘ÚIñØÛ ã ðƇE6p7g VøºáFQ×–âÛðÃÑP®fètðâŸÎÖ˜=ÚzO}Œð¬#‡º !ìÀÚ”¼ú£”â´yÐtjíiö;9øâ©‚i 3˜JGÃJ£ìe K”ð©ËÇþ˜É7à·X!T‹ü±t)ÖÊœXÁ]¦lªLÌ€²çsÅ Žú2U7QžÜ@I·ç‰$Ù=%Ïç0ÚxâGM×lÔÕÖP¤ˆ³“ÄËÔe¬—)Nó÷xzE¾Ì§ÔþÉŽ l(±§vºö8rg=¹™K¶ £®ŸWþôà,Š™@áE1¸óR^SâJÓê·cú*²a'û9ïÕ²‚ÿ©Š©&ùäÎ ·hb½æYN¬;®,¼O÷ÐxiXÙï.Q&}f<ÝÕ†×É-Þ!ëè7ÜSÔ6=:ÀÈæïþnÿ#²`P°¥;Ë3g îìERD×%1ç»Ø–±°¾:A%`½¼ÉÖÔËhai¤LoͽFž¯¶©Ú6cR4¹z(I©tžltWƒz’B…Vòyìôðÿaú1PFà¿ßè°<ÇaÓ¬Ù=V¢ÚÏfÆû#ViÂö Íþã¨bõýŽ/µ²Pngqó³dÐÉ8™xâOA_¼ëK,øò‰šûù­-;!Bùda;^iÂà‹ÉWl+ü L»Äé(ž^I†ÚzŠ–½òkÕ2›[¼fã_žŽÓZKî ¦„²Õ[Gü\©y¼³DåÞনñ׊yò˜­é6v_¯|¯çnå¾+±«‰Óî@ßÂc°±<ÌMEÅà_=„é›Þ÷7ÃxúîdCP1#Œk š­i¦XÐBÄý‘kÄ4®¶¾}¶ eK@"Iˈ 9ðàï̹°pÐ 4%K®ßsdaúÚ®íh°Šbã­V,°Øk6°¯Wi¨üƒâå”ÏŒN?­—¿CDFÒ5g"«P9á³K¼\.ç[»e’^V³Ø¸¬_ÏãkD¨9êGæDì·¬ýH¹Ï´^{eú}W¹)¾}¦­¸p¨øŠí ëâ~»WÄtgÕöÊl4bÑÕ’Ò“iŒG𜯾E{Î×,ÍšNâåÀ*ã€Ð™+µš-ª;ìœî{ÖY ĺ¨JÊ¡/˜š:ïP ¹‰-o[OãݧŒ!dä‘ê+--“ê¿Ä ÿ<1qn³Pþ•éÈØ~Òi”@FáýÍ+˜¡ï@½µŒª›ef¡MçËØ¤¬á•3kë"J\Z ;´kŽôîe@¶} *\ é|óø;½NU8Q§`§=È~ùÚZÍÀ¬‰ø‰ƒ(a0¢)&ú~˼  íë2xB#kœtNÏ kiè}#pÔWƒÕ¯)æøk@Î Ø0+K¾K.3‰vò»/h¥D R™ºMb=/¦–¾üÕñÝB¸ÿ™ÃØ{‘ùÐÿâ}.[ ít¿‰¶~óï­ì¥ŸÇN¾U£* ÎããÛ oyÝËj»hÚ^KùÙ–v Cçj˜aUoÍÚ P?1ÏácªœåÛůMâ¤@ó7˜€˜Íùxt»^y´ITð¼6ÅMÔIKj{9ù»–x†c@×GPÿñï(ðð¶ðâ~Ö-ÁY«¹~´À“ÝsÊÿöÉÛû 5ÝpÁ-¹[ .¬<áÒ´¢.@­ÉdÅ)bÀb›ž2mý¼8ùkŒP÷SÃyº¤mðyéÎÕ/ÔIPCˆêÌk~¤L;ˆƒVê7Š‹ iÎÅ2!Gÿê¦É´* b‹„K#M@ÏŒ¿ïœbï ÑÿW\P ÅŠõ÷#žû&ã ˜5g›¹„|)“ÉiU Ÿ D¤0{Ù£×ݬÍvó+Ä/Ÿ*785eY0cÁ{O"# Em:Ê'ZÀ ãÙ[ùšjåg¢ŸŒî:™bK ²ò&»!ªÊiWÐ̓\vUk["½¸05`„òÍoÉ‘k‘ï3ÍÂùµ#Q²U-V3kŠŠôˆB ûs³@úÊ0ã[ØH²vqb¸{@}Fpפ3ØøGÁ~3(ûb›·t6’yûp–ê™ä|´Aœ=°Þ²@û;PùÇc(ŠüU‰_hÉáLvJ9ø0Õ9·çdi—ðyù®µ¨y´ŠlI6/–Oc¿´ƒx¨!’æ_{!Ê€£6ȱb—ȥ@$B¸Å,Q¼˜µ©jÛjQð¨á®.ÅöéàÞŸK…ùÆVnöùsH8AèN‘îË4D‹™´È"l¦¯ŽŸÒgškÙ¸-{†Ö–—Ù2x¨o66iË_€/C-5VKÈ—Ä “UžÓOyê)g„P®‘Nºš3âÚN°~ÐG‡ŒŽHœ`éì„(Cš‘6…œ´¶gô¡ç÷Õ»­ãlF3 Møjfܲ‡HÚ‹ª <»S­:ƒNVdlUW p'£Öµ†4EnÈe-WŸ5ÿ£hõ¥5Ï)JẅLUœÀ‚ú 9m)ìvÚ¬aC ìþO*ùx*«”Wœ ê@÷»JÞ1j‚ÑÓBHo œ¥\ÑÒ>Dc…"ô–´òkî;2Á¨<'tSÊæ|Dl|ç)¬¡ãà;·|_-кqã®âu¯*û¶ÿ›ë"÷°¯ÿB,ñ6Êsx5"ÄÖñÏ R8Zù0‰±ëƒoõÅmÀu:3¨Y´ Ç}¸ÙMlÆÏïãaêÓ· ‡ ôvì2¦[á¯w#Á‹ÐžXøøì,I*›Å…eà Ì4¥ü36öç.¤èqÚ·»Ãy´*ÿ„¿´+“s i,ôÄ9*ã–½KÜ5¢¹%U`w^Cã˜Ê¨ªi ‡€v[-X|(Ùéˆ?£ÃžßϽQN¡ÍP‹ºÈ­½Á|rn"fM$Ð#VÎ#ˆ©¦@¤Úó謶Jë¹2‰ÕÛç•r™AüG`L}èjÙ«pýspL.¸·àÑ9ßH1¢0>%w!yôzì{ëAzTQSs¹\}9”CãÁ!¤cež±úe+å•‘Kây¬”±M"“Fò[Î]I~Ä0Ö›`r•¸=óó¶ë/ƒ¾§ã*pïßÕÅ“P,¥Ñb4F·ýñFÓiì?ŸÝ ¤ÝÞJÝ5À·y£†åX—D_%nöm«˜OÕß÷ bT€"Š‚Onõ«u—ç¸36Ëଓ¢Tçȵ½]à µQôN”`„Õ5I,–j?¹ÈŽœSá¶®¤dFSE¾*`ÌÁ¦‹-®eaoJÆÅÖÝ}âxÕäÖŽîUVvôm,7rQçø6ðZäxëd˜ý¹H/róúòánXÝ{5¬ÝQŠ¯ä€ŠøGˆg.ÐÞ¶¯ãÉdб>%¹‰äIäQ²ß)­·Ü̦߬ÕýVèx‰½ D•X5’.Œ½µªõ,,¢u±°Ü‹˜U;Ï—ûV§f@›ý÷gF/V«õ÷”9»ø2ðÂú–_Íýa­=ºz‰úë¿ç;¡R™¥kíÖ,}ê¬QªÑŽñyÿtß>qýe›?Ÿ¥Ë®¯áS:ÏÒ«A´7Ï÷£ò¢ßàßÿbìµ]IeŸwõèÞt÷àÞE–Êú˜äÍeý4'YñTÛ#ƒ=§(&; <‚ʦ}maË2ùêµ>ýib6‡j– Ø–•)SP÷¡œ'gM2G£Î¤Ü ÃÈ&’'sz´’éĹ¯òô´Xäpxßg6ª¹Â4| p¨OëÉaVI1—oT÷`5ïpÝ_D ÁjÉOftµIXÛ´I/°¨°×wÉ›Óyor:¬w^x ýëK‘«V W™I¾r÷v "iaÜÕxîŠòðhðŸŒ^æ•ZÄP9ÁNõc.@ ©VÍ>Ò±·@"Aª½ ÷|«“¤9ée¼m¿Wü×iKoÏŸì}»jÆ ö "³ 6¤UëûÂ#Z ì1œbvò#ì¤pU%§:d_îÚ½Ø8õNR“â§# ´Q Zq)Ysïnï¢ {Ó áªò»¹rñ€®t' ݨ:ð :dÉ 1“Êoìùs*³{H._GSÞ¦Å}œËehŽžçS#¢háTºýZŠ&†/ži»6­"üp EŒ„^1nȨ¸âiùÁüãMäÜw§q¸'Ô†aØ.vܘHý$†²Žå<Ñ–›øýY(vêлÇû‹~±b ?ÿ€uùy ]iÍâØÄÖìh¦r#Ÿ,^¶W—„F‰‹äÓ>}îêâ¯WI6R1³?c$&Ãj²I¾b&ÜdìʯfQNþx¾:-_< °Ã7 ¼u²ÆsÍhŽ|*µÓaÊRuX÷Œ\ 8ü60ýÉöXE/‰mA­¹}ŠEUæ¸õ|2qHì“?¼^¿t¼A™2Ê#°âBcîA!Â>ÑPŒ/' ŒH ‹QQëj÷'hNvòoœ`Dã÷ùïž5OèQ®£¬:„u9wúµø% kЙ=Í&ñ¢û†¤RÆ O>gõý§¥X!2Á³ŸO|Ò8Yc¡ýøßöBï¸õuÔqAîÜsbS 0Õ夼óDH”sÉþl¸jWéÞ\T'¸Ð Ï—ˆ€{yØç»;p{']hÆ!ÐäcjC¶e.ä𪯧/;À¡É=b\qg‡RhƒÍîmëŸ ~OB2~·|øµõGEMR€!ŒH%IêT9ôõÝ0ŽxOÇNòqW«FsýfÓzø¾“‡ð3àR)-C ¼[OÆhê(ªº7 –^‡æ …" "TÛ"¥ßQ[WëÚR/¦,èE•¹ò²WjuK1‹@ÌÕÉÍË.H˲ƒ¾>Q­Ï¸{“%@jP2Åò~7s»HÅÅn:©ßàæ­ÐO ‹±ÞŽ~‚UêÕù`r£ -䌈­s²õ~ËüùáÜ—Ì|sb2T9@¹ÃO::»“:¥˜Û4QYÇ E7u’YŕÙeÖŸÜ8j¿8zcš}?å'™8T‘÷îY¦m>]´õ¬ É5 YfŠÙÐ4Àüs€5/ »Æº| ”é-? ª+YAÞ×Ǹœ’}tï'ÊÉÚ"¯_Œr®¡ŸÔKz“Ô5KèI¥nïhGÇ»óÌI‰ã̬|–á$´dnû#\Û”F~K?’£:´±MMFwº–ìz‚—­ß–ñ†‡þðƒŠœßÈ Š‡^£æãfOúTÓ ·—Ä[z~ù¸³<­ë,ì"|*³[XÀôØûÉrJÀÈe ÛÏqòß…¨í£þ Á,94‹Ü]Žœ3{¬‰£éÏiª)oÞT‰Jü£E™òë¼s”KÂË÷½ÓšÆ Ë÷ªÎø¨v  ¬K¼tIÕÎãá‚E8ÖyFE9ÅP º%— +5¦¢;ReS³¡.ÿŠÆ>qÚ =–dYëmÿÿ»v—W¬–‹{ÁpÞ:€ë2"'à:)Àÿå/CÆËße»}è#!8aËKÈÄH/Ær‰åA¶3À2ܧNÓEÖ†¯}&ž˜®œ¶9¡{o9&/k…‘-Û{›ï é µ3]“”|ÅŸLëGÌÖçêwË÷íËÜ}y〠>Îî‘ut"¤ ãü†1§FÛw÷6¿ÃS*OÿýWWž¬2°N†ec³–i@€Ðáë%z ,OGûg¨)ÏLïÏ7šZ¤itâ]—L½U½.O)+ ÓüXigû°ÚùÝ£¦*×ëYLûï+¨Ýfñ ,Wàé¼œÌ xkéÛ£³ÐNÔeÚÜ€Þ¨Ù¤Æ$lª  éÓ˜ç1 ^1UÓƒÆ[tU]Å>8uÍ1…·px¨uû³ˆOôù7|/³Ÿ@&# Ý}KR_kä‡7:ïYð†FÆ!Žo˜ÿå§7S)z  m‡xûà“Á×?æyÉšÄù'<$zy;VÖõn³Yd×0‡¥WR.~zìÆŽ}>,€åÊCÛŽïÏ?>Ã?ê9CùOéÀ'nÃH4úﳡLtù™Ð,jfíZ±¤G{\YÍh?P Xí:T>óÖ28ŠÄd6JeúÒ£¥OÈ3Mk‰õD\:¥R³1Ùe”Àw‡ö΋ÁÚ3­ë•£œuWðúÅ“iæ%·™âÞQ‰¶SkÕW¸ÌSËpüA'Ÿ©¥Hc !›Ý™ö%éx1¯< Í%~ó^µ3oåÑesÿ1R7Ä‹‘ª]Í™ˆêöôyò™G|U®¬«êûs,µu±Ò¼9ÍŽBÐä•#¾MÏü÷µWÎ|?A Õ£¥ÖaæGާGU,¯Œ¯ËI‹2-YÈc¦î…ã±6 1„¨6¢Üá&R^Èm˜:>%£&î2JZ=z¼cF:K‡}»¿Lu,O Èå8ûÁ72˜öûnªEYØã…@Ȱl—æöÁ«óšâ¬“Ô?”!LqÀ(5t°®À$x÷JÝÒ53J½HsÕkœÜ0‚Þ."Û¯LÉHß·ýU„OгaÛ>” ó ^l'áÔëµ®µ!zþ9†œ'ü|'Èsb¬JÌ4$é‹dmÈ¿.0ƒ‘m ýæsã:CæÕm dáªBXœIa±ƒL]ëâ0£ã]¬Ø”?–Þ¿ {däÖªôMþñQÜeV°ÊÊœ‹U5JF»üÛC %éMæäêøOTbRù½úì‰t‚Ýÿá…b2€›ÒL‘/­Üضޅ{){`LËJ„&4Óâ/cLom¦~µQ™a£!N 2RfLÎÇxT¶‘¯ì¡šµûÄe}ë厅6pˆ^<9ÿ f¶ä" g…êp RÇbQ¶ûvÎŽ„\xÕ^º Ÿz¬—«@WÚi¥S9=Ïbœl'óâWŸæ{MF‡9W›ÂxvhºâðåõòmŸ î >dÞO*ºÉ;¾ÿô s#ÅÀH¡ëpä»JSûTe¯H»=Õì{pˆ)sÙûßgžÝÌÝ““5(¡D&\4­6š· f…òmð_ziE]pÑ rz× 6ÚSV¬vTøâ¥ÎÜí@ÞòÅàâ M™hâ& n³•Ô[‰Õê)ö²á?ÒB~*JÈ#§ùãÚÞš„V1Yóª8luÚcpà¿¥¯Pô¾Žfï?{â™ Õž5ƒ{áǼj¬½·/Y¶â`øX, WÝöááŒ~„Ò>kØ Ù*KÔ~VœªÅ`ÖèÓª1ü™Àb7›n£º¸N¤Ö²ï¹šdt¿­zOC³~͇áÕR‚¸H3‚N±äÜ]úA2eî÷–Ÿ7–pv'ˆs]dÛnô ç UØÀ3×qæç'ŽQ øXǼÖ«dVè<”•éþ•&MÖl#ïH ^ó DiŒDª:G¡È.þ8ƒa›î á…Ò¼v9ߺ³ÿ# |$ñçï»G…<—}MEĪ‘VÍðe ôzÍë j!Ÿ´k “¼I–†Ðdw¯9VZéˆzžVø ßi·ãøà.öÅçWh«†ºs»Ôü¡4¼qZà%-Jmëô"Ò Kdsò€ÍžÏp˜èß–€-§hØúó:to«4(;¿´­°c倹âº1ïb–ºÆ’m­z)Ù¡nšú<·idpÊ´ïçEý“åÄ„ø+1:0Æ{ßµ‹9Lü¯°éIæ µ)³…‹2ée@úͦ¼à¹p;&™çξj»ÄìÄt•)5^í0éF \Óž/‰Æ3ss³¿t¬Y[iiŠ·+ Â‡Mô~ßSïâÅuŽ‘Ãé …`¼h›ò'aNÇ%†!Ž[>ê +ÏJ|×SÞv`šÑ g$´ÒáäíÛŒ¦-à*þD6|¦Á»Ÿ•Ô_ß‚¢ñÿØ¢ ¡0Ò—vPl÷_pì¨ú…c“–¯E=•K£Úù‰0]$J‘"ˆ…T2®,* nQ¸—MA~™CÁ=Ñqev"䇘>âÌíç &©\±p:áùJ{€%ûE5bB¶<„‰>õ$WY¹½P‰Ò*¿Qsª„Q ,Í‘‡™I_±`;Tç0\6G7ÏÃËZeÉÓÑO¾ò¶AÒ!ÂC1pZÓ¡65)¯¬Á¬‘ðLþE à ÞyaëNmyâÖD¬ð“@Ûwןdh¡>éÑíËé±5†=ÞûÊeÖÈW<&Tñ0N™°]¼°g ±Õœ æŽÎÐü\óîoëô`Ëì[8(¦SZ’ žË…Lÿò°NUÞ¤^'’ðôªKGLÿÊ{É“/LÔÐLýZÙVšœ8p˵„SÐZD{n²Ô\â¬Wž»»Ül1›@vË¡¦{^—ø¯¹ÎU&χ¥»ÜfFÕ«ÉûÌ=G¿K5é€÷±*Ñ´0]÷¿£Ðižcýu=¥ã¥­¬ýCÖáÁIH%¹ØYV+¼/­Ó—¬· ×Ûf±ÍLÚ¬ªHuäêÜ® ãáG(NѪŸXiÇ»çÛH‚Ñu|`J÷À6È_=2nã ÷œïš¶cÁß/Ȭ€‹vñŽT¼R xåu<¬sÜz„xÝž9™cÇuûÃÇCš$šˆ:vê1â ø Š¼fbÎÃ*³0 ›Œl„U£œ·…•eñÍy ðËxh‘ÆÌïåêŠÙ 7øC?Þ=s{ƒ‹OßÔ¦ç׆ qWž‰ÅóŸø_žl¤2_ßЀÓ,‚–´ÞÈèÌc¡ÙXU-x€‹‡ßµXL|˜,˜b¢¾\MiÖ¯A…O*°釟Û;U1¦8°’9„Ý Å{eW!²“uO ìû,[¶j÷zذæA‘¾]›ÿ\½„ ‘& ¾åñá¾£ðªr@ìNÊ—Æ}h|× ¡Ð`Àßs¦Þ'%Ü`yðF('–ͱŽ©™R¼»:Y`5Ã%4 Ü$ß3ׅΟæm±VßõÏŸ#ȇ@ùF‹$Š®ÔÄÛß>ô‡o£8—qœK87¤™›–Ü·ë?õ! È^?×ågYO଩•ÔÑHfî’ú DÉìçA=›æE»u°A&2[Ìåë¶×õj¡)P„Óã齂Ç|EW1“³­~˜ü7.Œõþ^*«WÁÀÁj@ñ@6ýH)+@ïSäHhßævøB¦Dêv» )×–š¶Æ…-~h³,ä^¯’ìêhÍÞÒH€pÃþjtw !Yì+¾®ôÓ¾€l`õ¢38©¦Êõ³.eëpP0ä"ýõx~' ¥(Öùa#Òw§o eß'êç`SþÙC] Jåi,áG6 G AJçZ†rn‡ñ”Ì ù´ö„ó¯F[<%¬ôw6…©Ðv3@"4–·‚¤›§6ƒjúuJUVïõÄÅó^N‡Ê!¬nÃLfØ./\!M„ŸÝj‘ß–ãE®¼–ûÛ…ÝÒÓô:¿;”"%Ôz»8jêñ;—#Üânšßd `’>œÇ—þ{jý‹fytyô•œc“ë„v]·NÀZøûþt­D莖¿,ƒ ¦Åó‰ÀÁ¶ ±“eÛ¿ífݯÌÐ=ߡоÐôäEF®–[§dT?û˜BxzÅ¡üx­;_SeɃheGy?Ð…æ( Ó‹cÄd"8ÿYQ yìî„#A“ ä/ Ýxr»Y2tÃ,IH»¨Á/f#7Á~ظƒïR<^žjå8°N`X—†k»ófFVv n2cRŒ[;¥ftöHp Û¤¨ž¥Ýïª$–•×È1î­* `¥J°Ú:jk7j©^^uÁ"¿Öb¿±ÅÊ™è^bMÙ &a©oøwãõtåõxñ¨>#f@ÖîÏÀ”´lYÎ;.‡ ׌¦ ÇaÉþ×u½÷]ëÿqž ÊË3d R„Ï üqhc°u‡IìÉT˜Œˆ Š©g®Gf[y´â'ì9ó:O³Ž›îí / Ê‚+šú“ ‘ר^vó9>B;xn3(ñÆñyöŠ´Ê­{h†]QÄ«ØS>CÒÝB§ÎŽ-ž… WäÓÆ4`jÚöñå&îä§hœ*:2*g¡7;æ§a –¿)Z x¢J„uã½íÎvÚ1W‰Bû3VS«Þ¬‹zrå%nüJ.XGD×’¨ìċؓ)ðú4ƒu ^Žý2-æÅµ¥¬šÓ‡ÄèíœoÐö¸L¶3fZƒû&‡cë°¦SЋâ#´îðþ´nÝ—Ç qËšªyH¥ài¥;kaÖ¾¡¤É º+ìݾ ë4Îõ_¯=ÀyëÀûö§ù*ªhUC'ƒƒ…~Çuë£÷æ`çn‰þÜîË_KR1ÚäCZ¾J¿ž¥Ãþ5Í©’wH"ºâõ³­@Ý”E}TõG¹O±––8LÍüÀÇhr|–,Xpˆ¼ôèšòKIîŽñó . …Ñ8™•ïäf% Çýf;xäñRÚÚ(–ކ÷…êQ¾ˆRd2“í\¿ìTmUà–ÓNYÞt˜5näœk9KZò HYœû©B˜`‘£{o— ËÓ ufå{¯W€£z°%†[ñN9¼)™±Úiœ~ ™„¨f\>Û½M"ëÑñÛòBfÝ|œ.ÅŠ ž×µ8ˇ@,ÒœÄOÎûàë¸&cŸÜFÂ-âžÒg$ì?eÝëRZ˜/¶G4­ÅžÚFþÑŒ¥Ù´¸)>"ÿÌ¥¿Sžù¥AwÐ÷ú Õ× 4¤ö~(µù’éçÄÅìœnHxD¯@å` ìpá´V%ר&]V\šEÑ!pª>ìâDc~,ÉlY—ujc !öåùŒüQú[o’(;ÇWšŽ, LÉ%š4h*lºÙ)îûCe6Ü0P#K4Ïe¼¼q$N~°‹ =ïµå©Ñ•Q¾?ŠP} «’ “bØÐC`’%ý‚¿"]BKÿ7Ûtéù­‰§I<ÙÓ2Ê>äQ,òï¿–[¢zµu‡ØaغNÉi.¯+{44Æš‡D‰`úI×/÷pñº<,ÔÓYs[$ÁqÎáÚÙåOZòwý8ÙÖHiT3ìiéјɚÌül‰ÅÎäìÿf,Á,_ŽXfšÅ7}ª¼-;ÎüÈqKKE‚6[]ûEÛéi®Ö½j÷ß~ï§K½0OŠ9$Þp—¤¦3W*w數C½,ª„‰ÁϹ¬{U|®ïÁ=D&Pq¤$ä‚xɈbÃj5ã÷Z™|¼Åç9t€Hö@à’ál}{…B°%H‰À*cEJ½ƒ±LÚ`Sˆâ­ÐÉvk’CrøyCä3í»ŒlÅî$ºìÆ7x ´,Ü©·wmÐø6®æ*‘4Ù­Q:[Bo‹7ÙÙŸH˵×uäÆT&J’IY ¥Ya¸¶“—qóÝŽ…ܤ825ï«êJoçD €Ð§Íšà¸O×£[Íf/Œòn 6Ië×dW,7FÖœ‘@œ´êgq+D ʹsWºØ¥ƒw·¾aÅ÷W= ˜M4ËÇØ-ƎجÇÿ÷¸†`¡XË"|¥¶LhÙŽp½>Ç}Àè$åõ¸hÞš%M‡{Íš*á(©–ý¨î.œ•7­&0ò]0†%¢—S‡ó©æˆ€â 2þÜ;4B4ßÄØ_¬²–^ÿ¤¹Wbq`,øýòÔŸÉ?Ý¥coâF¬dëM Œâye>ÜkÐl¦<$TÉ ºŽ£áš!—5ä’Æ^‹ÝÇn§+[ÖÂÉ)Œ×¤óńќœ2ˆÒÕ¾&vö¾0‚[ôÀ©ƒ“stM¶]’/ énO|¼düRòõI 拉䆆“$,Zõ¤©¼IòC>6òvA¾ÔÉßÎtoބï„UðA¥ïo­*G ú2M±q«O3™KD,†‹%¹”Ý–OÁ[ÞõÊ~„òߢŒàƾÔÒ@ô5kèRS;…kƒ»™L;BæmçwñÖd‘Îöb8Gkn¾ØårÖš{z_ ݆,z&üŽ(q¦'/UB%ƒ’®˜%=æ5סéŽû™4Ò®C ñ(d¬@ˆÈç¡*δ™E¸iRÈ?0Lpò™V çeõÆ+¾3µØÎ(%áhçfóë•ìå¼ÐÉðÞ‚ÐŽÆØ§8Ú“¶Ä3½£õ âLÜGz Œ–Ú¡þ¤zý0”yîi€,ò*$»B,Êß**vX¦p»?=´Kôï¡0GÄhçÜý«Ùy勬Uí³ ž¾«`²S©(i@s[¥ …:Âg8Û:áJ·xiRE ut§*÷RpA€K>j &vð± Û‹!Ìu%ƒvæv[‰’3µmY¦ èrîÕ®P©¬™šYzÆ¿ñ¦ä¥<Ô”»ÛÏ8í:2~NK~Û2Aà7¥áÝU, *a`ŒVXé$Å éÉÙ"™|è#Ei>ØA÷[¿`˜ˆï†è ‚JôERBSÎEÑsPËß+?þ[­ýëˆ dëN‚¡Ó@zöX¥R!ÃX-  HíB 舻†ˆMÆ®8Nù•ú]·Ê^b”Bn¨ÌCñèlŠÏ5)ú[Û,ÌcÕ°c÷£ôhõjÖ#Þà²ùë¡›•åÏAÄ;÷]ÿ{&bpEjb§NàzB>‘âB² ÷ÌPsÚËŠEv Âç›™;%ÄA.-\ÓDøöµˆd˜Þ/ïx¹ X(ƒ£¯¾…bÆ5.òéÈΧɔm—f¡$ U„7ÆÃÖxµÍKŒšýP IÓéÍ\Y—.ØØ'ÿ+%3@ |}\YJõ†d›î/×SS· ø‹†*±èйÐ1Øœ3´äL œa$w‘¸\¬TL _—¦ÐØ®®Ëd¥•ò¾Y/qã1ÛêØe†ZOPb£ÿ‚â€é^Ö£q¤‰{ÛÛæ‹Ñ“a.F6»ü¨SÀ0É˳6S£`ðŽX.&éR9ÝœNªõà§£ek­®mol7®ü˜[QOÞý{©Ò ï”R>û9M@Ú]­MÊDnÍÄ6Û¬‰¶À,ÛGå?Ÿ9œºº)l‹baÝ¡vdasß›+oîê¯;NkÐ.,;ñÚëÕéPïöR±2’J@`§knùLŽê8µ¢ç6õ—nYÁ×ÜkIo&˜ºFm¼­Ý ËKU‡¬Þ£?KýNFDÕ)²:æ1±Ê·].Å R÷îß.Å—MñHò‰éT<¨Ôß«Ûɇ»H¯‡Æ]Ô™nˆ‘a›íSÈðê@–ˆUš¤Æ-5¹â0^¶–ƒ #Lm"ø¤rY/}oº•i/¿¨Àt•ÈÇ[(š'‰I¶(-øÄɈ’P:÷×¼N8Ìùqó?äfKÿøKÎVaa&oª‘>ÆtàlÁ9i•µX¹û‘>6Œ]š™yT­‚3Åê*v¡Ç¥ýý=Ú­¨ñù°Ñz³ÄW´ ¤êûÓnÙ€B”…_®š¨jÉOOÛÇ`ý™(sXa«'áùéºA³Çø¤«w4s¾#¹+Ä*óƒQÖœ5—&{árLû£©Ede# \awxî`P'THeûË¿›C’~«†‘J&\äû\ˆ%'®ÃØ®DD„S= ²&(sí€ t^½ëˆ¼½Š¡± âŠ®ø t¼PÜ[ÎAF4-3+|¢ký7C¼<ù±å]PôàémC'/PÇ­Û`$m‰$É@SH¬3â¯E©³M•ã7Ý—'}é¸úç▭Ɔ›0ùÝ¢ò@’n«?]$N^¥‚µà–M—ð[Xа(ÑJѲ$pÉ4@xJÁ—;ß_'ÆhNÎ6òî«iú4þ¨ôœ4ÎA" uulâuÈ·¶•ç^!Œ*¸°náˆv4ÙE¯ÑrGEBˆGPó·¸s¥9Ãëf#·ÞDY •¶“æg‹?†õ!•P¿´:¹ú‡ó´ŽˆëÅ+ÅIAë:iIÅjAØhã¨c‹~[{Kª"‡$ÍÈéõº9ˆÍÊC ù¹¾ûb–—;Í)»F•«{¦’®ÉKÉxðwÜ=a–팉Ë!.²Çy‡.'\·QܳœRíë Ëöm~P]Mªa¼Ôë³ï%<Ūc§HtÈ àš.›mOPÞBs4ƒN#)v¸‰çǨ÷òØR›–C9~ØI9ŽDñø/ÐU¸ÿL¡ysJøPôò ‚÷ƒ¹J•ã‰þñ•©,W~Þ'䬳oážÓù½ ýA†NËNwËCFÃZây|œ«zÙ]“FĭвA?ÌuX´áæþi•±N@7äÕ¾3é'd„œ½.ÁØò¥UþØs¥ÿ Xîó©e¶»è!`èq9ïÜKB;"ï0#7ÊKqF½lœ•Cª²wïµ=z.E-¼¾þH"„©àŽúl ”_ÈP쇥õÍ*³òÒ Ì¾ëÍKê²%Pøb™.áHqÒO¯1úGÓ+}pZa­œ¥áÙ'Þ4“õa)’PÉM„‘oê‡ÜÌÔÁ”+„¨Zì$65šƒkPwѲƒjˆcm µ.]t¡æ_ÀîµHå¬e°Á !)÷w”#;™I4¨YXÒ7²¡ùÈ÷"—ˉMO¡wÐâ’vâº÷Är¾ˆG t»ƒ»ç?Û+÷7î}"Úï<áÆ8í¿ˆ¾«#ùucäç‘¿ZBLDhI#¥¥ræÉ¾ákÛ(G˜ÂÒ(m% ­ÅO µVÈTÁÖŒqíI(u–¼xÞÖË~¦¨… ™HB›¼ÍåbFÝÃÅRn‹k^#$³Žån4…úžS/ðé&(ôBhι¸e¼ã½äèvoÍ/Pü 0Žïƒïþ’ƒ¾_D#à "‡F=X§]Ö JõÍX;–?ûœ³":†ÐÁG >a†RŸ œÈÌFúðð) Ƽ’kH”#<Û1±§º¼.YKûÐ2Kh‰€ ?|Ä ]ºöINw†àL-:ø™³ÈŒfiÏš(±2ø6ûI.¬"„-tñì)Ùð|'þóZ|š]JÎÝ ¸êÝä:Ê’9”=þfÈÛÍ‹[¶~ƒ»Éb¸ìpâÕ +NxþGÐ4¼9TUÎNs`j.Õ ”ô¢AÁQIf·úªà<À¢šœ3µ~¤ªð™Cr—Àµ…R›ÀØ$WeœIÉøfÍâPPe’‚´i­q qECjá¼;Š“Åk„P‰v²¿‚ˆ[‚Š#áFW~ YÉõP÷òŸì^O=üê¡qŒ.Z hòÆq§Ëß û‹äœ!­íЇ[†-yº_×Õ3¦«ªS´ þp…î¶Új:ÉKfòzJ_hˆ·­|ÆÀ¦!¦óe˜DÏ$¯Ö¨AJ¾§€B±Ð3+Øù0_ןs9þܲô,çíµGè,S ÜõzÔO‹©ò6.oFdñ1eg`†E(äén|üçÞ=£¨R ¸fOðƒÀ<>[¶em-¡8E8‹SQ¼.ÑuqöYþì¦jǛģ¸x:ü~è]}bci8×2SÅ ágø¼þŽL ·uÉkG‡RœWb‰ª3 §CçH˜"n\6=ôÂ8“À3—Ä'“½´8–A&9öA(äXÞW'´•Û`y` ¬7ijþ@4!·cJñÞ{ð¯ö^bËÄ}š8ŒDÜki¹ú&”]5’‘´ÚÆ(ùÍüYJÐ¥’oÈ£nm —GcóamzénªfO#Ÿ2†! Ó[XD¹UlnÞ¯o†}<Ôþ@¤šò†›]a*¹"áM Œ'’í\²åȳԯ­íÆõj PU¢ÈËŸ¼²‚/ eÓ£©V‘åé^w ¬ú,V«dªÊÐþ÷îtLfÛ·òÿ¼ŠQ®ƒ¡ï÷—,é–Z)hszrœõ¦®Œ¦„Ø7áHO‰ƒ-3‹ò/óÍK æ–Jsé'SªÊ–·‡É˜ðìòòg0À¾m6}¼ÑéIƒ4ß]ï‡vȉÒÕ=KP®Êú_–sV6mTL$½¼£Íj#÷†dþbê^¯ýãÌÇÞ^ãtéÒ¯š† °Š›†ªÍèU.üCñ×dâéé4žœ‘±÷Ûº(Á7TÝ$ãYÒnši[ê?·?H¥"¹i§¨¿E›+[¿ó³šCtg>ï¾j‚uø$ÄÈHRi{cÕ(<…øi/ô¸bmS‹òø8®\Ȱí¹Ïö#qôoU®[éõÁ†¨WøÜ#¢ÚÙ&³Å…9—K ¢f¢»]ÓäcøÐîÌvvŽýi6TÓ¤ °áE¨*?ŸöƒXðШ÷Aù¬nb ,^«5@\X±zæJ\G„Ù7ÓÍR—4I;¤è ž0%ÚuZz×j-/R»LZïqc„ mÍ|­LZvÖ²¬ááÿ´r·£C{@$'âàºJ ìJ©-ß, uª™Õü´vçà鿊N[Ñꨒ| o+TÿO¸r¢˜Jé:%A÷JD™@wÀF­• ôfŒB€I„ƒK]2Ö}r£øÈ,·±ÍbX=ì$~æþÅfÅ_|5«ãïJE—F{ýYögï_üÇ#õHJ¿MC2m@y·ú§ò·q¼ EÄtŸ©;Bç „n(ÚÚZxbé'0KŸg·…ôõ%€&&†Ð×K.>Åt|!¬+ïA÷¶‚¶‚šU×,`ÅÚÑ=N"cBqÊÓàb©UÇÙÌ1UGn1¬v+úAˆå ™B† ã+XxMMBœ|,·ŽH÷f¡ïKaSQ¹FêSxhjjm•£ÁZ°Ù!—Síz=üžæákºF˜qœª¨<‰Ïˆ±a5e™€M®Üm½.ˆîÝj‘Ö·ˆë¡søçæYm–ËÌ ßB%ÓãIÞ69®ö:v5x—áäxSNUÒödÑ‚¿]Óõº¯nô:ÜQ/Ò%¨Žæišìt{ËU¥ÂÐWq›YòÔü‘PïêáE”ð.Þ¢kœ´~öu …4ƒþ»[@ Bì±*t)F Žì ½hIå¨Oò„)^ùED»`»c©w«)¥²"ÈX;G­HB«ïÉœn¡eµ+¯âD™N[Kä¨1Á‡5¡µüª*¢ñ,“¢¤êëŸW†QÊÊîã#ÎðYÍ_[‚z@?«BNö× .û™}1› ×Õ  &Öç¬k“7,H±õf ¤,”I|‡Ùz _;>põÀåiØE0±"ú ÷÷ßbC€p6u™q«ö¿Ð[VgæÓÞoX1Ÿl~ËÅ}óf·öEè©Dt·¼‘M°ìâWÆ{6¶ú²»Y¨n[í\VÍÉ1È&™#m”l¶·¢pKæ¿¡3œ\µÝ- ™õ†à%ñí>*í¼ÀôÃømxWÇ£á(qòÄs_ñå,¿nPv’ÙÖG~ü†šN—ÆO~³BÈ¥ç*µr]ú\ƒ˜…0¡].OøþKŸ3ÓÌU„ÝÇs ºï ©ÿíøÝdN/ꥢQÌ~ðø¯ªÀŠ|1¸Þfåç‚wKóŒÙ#4W®Ó`&tTê4mÜÙ<†ß,À±Õ0rÄìÿ}‚ßb)|aüеu¨¡F^Š…_Æn„jº_N“¡aµäé_–²tkº¿kAk>%„'wü#ü‰l7^¤ {o•aæoáF4%A›„ uC7õ·VŸÀ[bûW¥~P8¥¾' ’܇ÉJ$N7w#ÐøŒ&#ÓI`_~€_ž”A’ƒëÒ³äö,u·Ê²ÁÂùÏô´úÅÍ´GB’­£A—ïÊÚ ä'eN$ﳃt¡èE'mä8÷“~Ù²G% âwÊ©:“kŽ™‘ðè!afþ±_úÆDÏ–Ý’ç–æ!Ì0®Ÿ]Ã/wiP³•&uŒ6òÕË&zÞg*<¹ÄwkÖ:îè3TÑ¢+Â̵»oòóW/ð6·ÓÕµ$ä´w¦Ä#Š¡Öe])nj§ñ|ÒydÓŠ  wxcÐÂv!üpÇ´hY©*6¥p¢QlÉzÇÈ&(­‰4T¨çBÑj1åî `Ö´h4m–\MUÀü´´$t¼ë”=®ÑçgSÑÊ#6 ,*˜û¯½&ÐùÃÛ̺ÖwæÞp´sëC(-ƒH‚%Ëú¯BQÿÓú~Ž›¾CÖð•¨Øþ³ºÙv@ívÙÕe×'ȨÚ4 fø…0þ¥w‡Õ©ð«„[B1Q‰¯ãƒ‚3cJ•©jojn½8HZ}þœ§­Æ2€˜-`®ø¾ v·B`IÞØ® 6\FÝL`ÇÀ1,¼9°z(PXN˜¢çï¯ðhk•`áòÈ×CU½J²nˆxHH`‹îš&Ízæ¡;xÊ5àh_¬ÐJ:©Ðôà×ôz9´öý(0E,lš]÷¹pßr¾5“N"thJ× ‡Â\þÐH¥”À„"t˜Ã ù|ž})•KC[!.5Öng®f\,Ë‹ÇÁ2tKUtI=‡BÂå­ÊáõD–PuB"vzÛþ6Hd¸4´‰ñ°$q‘Rëy½‹§Á˜DFL½t¦p‹– Ç ×H3¬Ûç÷×S<¢UpæÒ¼>v8Ðý#aÄ}Yßö˜pÆYœ ØÄGeñp€V§¥CÍÜ_å»ón¦P~íêÓƒ¤àGã¤oR‰|+RIæ\R=n¹T?ŒÇ‡%Ü0*l‚×µ>®W!î+Ü{#'}HÞ ¹Ž+?¾%©[k{7T!èêWFŠüSúòðð|¸Â_ÜžH™ïøÀVèM¨µïïúŒüŽh’”jY0¶4×BéËM”+‰%ÙÆœòõ»D…¿0W™ÆåÝÂmqÇ¡E¿9ùaÝ¥ä)¹þüèÖ¤ÓªÎUÈ…ØÜøPuµ‡Ï?¼`®:­Á'…,°’P+jK»>ÇcÔ϶åf’C¯KH·bGP‡Ñ·t‰ŠU Ïg&kb3–­ÒiYÇ?\•O½š½“ÃñCË|yÀÄFå͹ÛåE…éUiÑ6³F±^»©¨œ­|㳌̿àOÏŸûòV|Ÿ,ȱHÂG[~?gÚx—æ[øKùýk7Ó]Ïp¦3i¤±þúråùt„S]KµÂ¹BNMˆx§¢Š®-Î8{“§H§—“Þƒ¬p~Ñ,{;½Ómƒ˜¸î7Hˆ™Ä®HÞ¹ã»4Œ0ÚŠcÈ£#:—3?Ñ„M´äC£.àä7¸ ëîæÀ9<‚öv  rËÉÎæPu¤×Ÿƒxœ°Ç`ˆ±>ÈÑdv˜Ù’åº3â/šM¥é¡5޹¶ž¤8äÓæd:ÎW|ÕªaV\4“‹¸Ò8û3äÃH2ïš…H>à=Ei6z€†)ŽF¼Pš®ÜÚŸ´¦1e7rѹÑnùÂGípdBé(Œš+¾ÚÀrab¦¯ …©à‹-b‰¹^cNá8\VæÍÉKNXg?€¨šNÂ#åA¡Aõø…øÒùt<-z>m]Äzî!Vn¯ƒŠžÆ.éÈöaÎËOeÕL™ý>Ý1z#VÿSÓ*ð6´gôd” ¨ •—Ú7·Ë«¢,o¨^ ¸½cž ùyxE;€,@Ñ5Ô¼™ìõ?T$z`Ç1j¢¢â/•ˆ»Fü8™À¬Z,“ª”çÔ ×†Ý¢Ù{{Áåï+.w¼À‚5εP…Ó ,_‰Û~‰˜•MØ3¾—ÆjÀ¾†  u¯»€ HHwCâu×&{Fà7 úLå¸òªŸ·#;‹éiWô}Hô_*†ýEéœ/Ä[bË@y´àc¥¾ðŸ"¦]ÁÒ¶`…g³gAß¼îÂÆ÷E)›É‹×ãÑÙ´³µæ Eº}¬]hsMW3>)i\nÊl“‡"Øk*öïÂÚæÖy siÿ ú}jëé1³ö_îóÁÿÒ7¹¼ïý@ÀQ«BzÊž†õ(a…ÌAõÛibXIÿc¨©»¦Îïâu£ÍáM26ÎͽHR ,ü‹2}¢Üî-Š4ß á‰úgaai½]Ã Š‡Ú´žÚŒ=¤A{¼(Év††Ç9Ëà ŸwãX­{Á  ïžùªd­ï¹ûY„ÌYLAÊoÏ.úÓR¦M1­B9èEòIÎL±‰}ÃE¬„9¸½¾ü+M.G¸ûAÁX[\&^5ï´x ±N¤ˆ\”ßÁ=±É)YHðI™-0o©ZaÀ'ô|ïä,'žêöþ‘z zH“o½£ÓK”fÓ¢{RÝ,U@bÙ>W°K HÈ#B Hn/A`OB륬Þ%1­šõäʺ·ÏLA ˆp„-ÊÚòÎqnXJ Þº G=Äð’ìã ÚΨ°‘Xº¯œÐ[aë*ŸY°Ìêƒ_{²z;-6ã¯ôb´¯…gE ÿú±ß¶®Â|Œ¥%Xa“ÙÍönD8¬Ÿª¬ îÄik\ëS|üg£/ä7®ÊŒ8Z)ݵS ù±KeÀκ¥Á½ÉWL–OÈïI¡n4K쾬¿ð,ÌŸYBÔùÂN.™{e¹ÿàË%ŠÇ?Ú—Uä­Ý$-~ŠèŽVèú òÊÚ`žÖ?ävà¹~žÆÅþ˜°JYgŒ‘(·Re™Öí5ØWØÊÐÇÒW—ño¼&GŸÉuæ ÛåBø\™¾*”€ b<¶‚ÿ‚Ÿ­=‡«û¨öþóxyŽBòEìµ`¤7¡Ç¿)œvIhÿÅ;–lÿõâ¹h€†èŸñ)hN¥SîãH3uï^üŸp‚u…¶ ƒD™xûŠ%ùkb"•Ôv”ÅçèiV„ ”ŽýZ™ô püÚSí;àcäpØÇ-¡xŸz],UæÑ/¶O[[ÕmÛ¨T‰ïIÌšÃçt;ùÈ%›SZsdØ›1Yö颀РìN?î[Ÿ*5ñöþ,Óo²]CLZ‰ÜbÒ¤ó v@ó~]èyôRSpÿ“Єž¶R±Æ¯DúOòUÕ›º† Jqžâ]ÉLÑ+(ôž 8Y¹íåžÚÓÈúê©RS`&byl3nÿ«Òú`há‘´íÆªiûPù“uƒŽ¢w.p$f "*¹öC2{ËÙÅBwÕ>8Œˆj„A ¤jò&(W™ÛBr.œäæûp$ž–/ftÉ»ö{ûMè«Uð ™óñüŒ}7ÌmÑ“½ZsÎíX¬“ÖµŠ1Òd¡X+ìtWcc†¤Ž+ê %ÜfDþ†´¹íæ¾Nl¤LüÉ –æBg /ñ#–LùD YÔúèdiªGòD‡]~ÚÇi‹õ‰B­òëŸ%¦îÉQžï¿Ïs_ÛÕ-¥k×@P« Œ®ôs8§ù3ï§ÕÙÁ¬Ä×MûWº¥;䫱ŽJ¶;“æò‹_\ßI÷)¹QþôÂïG`£‡°ø¦ÖSUº˜æ`<ÅÄjk•3ÓF]Nl’”]†«ÆÃr6%\¯¬Þž`ÊùGùaClž46ù÷ ™*'"tQâw É¥î®î›N˜@n·Î«6±>+ì(¬$ {ˆœu¹Î3^KÚ¯ d)'Ï^=W’?ü¿ÿÊø˜u)^ÀÚíþ¦õï FÛÔÇ·V盚)bøNÈʧÒ2Æ0ÏgÚ¨¡Po¦Û”s¨^f@cÁÑ nb÷m¹uR›ˆ5*œ·’?™X-MÍ úÛ¼v)æöÖѹ*×û¶º«#IJ~‰êY»Ìݲ/Q¹¢xR žqc…v¼C±V¼r¸Ï©Õ3=Éò&ÓiaV–\'ÞÄþ1=a±­°áÏ‚™`2˜<·qmMN×@ƒÐͶ: Æóèî…{„ûQ˜õp<Ø%Gdìвïlj¢ï³ËðÓ¨×w3—ŽoÀâ@æk±6wϦµ»}™Ié‘HÎÝUH«Š²l€„xjì°£Jéh<@~¥š¶ÎÓƒÉfÔ^´™ùvYwÞ#e ÀÃô÷Ò´ì’Ìê<ûó³LÜÏé3ÂKÅûgÐqD(·k/ëm¼50~2-q O¹Ì't¡Ü`OõV­¶bJÃfT›EÖ·îknÁlñQ†±1æ­c3¦q·]¿7E å^õ;R4îZíý  õ^–6ÌJ÷ø©Mi0mt-è]uמ¶tS¬¨3QäºLýÁtËçó\FþÌ©¢Á–ýòle v„9+S¨rîF›ÉÃHuäs®"E´.àUoÃPUAø¸úŠÉk$Ø`0l¶ƒ`')ô—zÅ»úý¿¾ú]øU£}vsƒÞ’`]†¬Ö¸TtaŽ,dg‚–éÍ';-‘„·ª%·+…¤´ÎZ§L®¶”:¿Ÿ=ÝI™ð;´7­ÃëŽÇÂìîëOÌoÑÖZ—„ÑêÀe>Ô1˜ÆÞ‚¶è8Ný—,hµ;.-é˜<»ÓO æ–qû:U%lLxp›Â5íäQ&£±–¼'M…³=ÌWµÌê9®Að„ãH ¶2úÏ²Š—X=¯âßiPó|¸D/©ß±þ3nôšÁE˜‚T9Ôué"®â,E³'B¯11š¾H5e¸ÔbPýûA6ÿlš©¨ŸÁ_ˆË1;ô£©›š„„Ââ¥]VéV;­Æ)ÏŽtÅ€jñ^ìw“mÕÕVŠ —¬ñÔñí 3ŽãXýYÇ@úC[-'Ô|9"¼Ä \N®‹ÖÆëàÌ5$uoÛ=<0ïyýöÞy¤0ý¬¯Ë!³Ó¨D¯°a¯ÎñwHw¯!:fj§çBA:wõ â©™äm)D–ÞaðÝÏó‘d¶È¥¤/ÓÊÈÂÑ@,# îÔŽ€Ô5]»lÆ’ —o§eŠ” TõQ´wmÝ—w-˜eä›8s‹ƒ ´¼4|DÔ0ᨠ–õÕ÷Cçt&­Qß…ž¬¹O¢ß±žñ‡Z™GZ LÔ‡ýïÊ÷¡N;ô[`Èc‹Es5ÓHÕãéš„ƒî]yåC‹½^CèŸÚýŽÝæȃa§ùŠ~bìå²iEV7_gh|ЇlÉ÷òÒõ†ûEÐ’'Qó{kϯ2@¹â7ÇYbyº Û~G³.c%l:‹‘d"%ÿŸ6'…WÚHí„#_`ÆQÝôÜÀS²«.Mà¦ìo#¸”‡Ñ‹¼ê¦øÿ‡•ªüðT{ùο}rš10`v±QŽœ3*Cå=Cyl“4—£S}*}Cæ+"×ô­ؘÜÀÐè…Qˆ€/@ëK/•ÑÝ Ý:Æ]¡¼Ú´OеÎh#Qô¦ S’‡…HhhAY;‡?­¸¢åÇ y«TUa‚1÷´.¡„PäÝ3w±ãÅGïÜÞ³dÃAÖò¬TTÌ„]³ÚVp€,ïá6«înκdI¸5·*vsàŠËáSJ1Ö}¤á÷Q™\ÇÞyFä QÁ7³ÚÓæB&µ^3Ü^ò;ëY˜çüËö™ û­“×o7©-t‘Áu«eìÈ=‰t…QÈ㲨Fö¦ŸêŒ™OQ…ð<7ïãˆÉšLÆHÞP¦‚{uãÓeŽ0öÓô'÷)´e3P˜kq´AÜî•>)ž[,\Qer‹†šM² %k·÷Wm,sT¼ê©‘Ô‘#lk’B¦%Êç½µÛ-Qéî|·V"èDq2‹ŒžËäT,³“%v|ÀŒîz5ð¾‹O‡õ€ádÈpÏó¬öœÊ†UàéK;í•.‰¿ ЧÞ2‹gEkUÈJC2YUƒ3?—s¯|{‚o-VŸ¤`OÐSßSd'MÔ+§†¢`>þäf'±¼-qúì†- Ǝ¡ÑÇ쯅ž‹`Hkßy©G¡ë øw„¦îÁÀÖ ð20éå-ØÏÏAdHþýI(Xý²‰³NåBrˆÏyvM¢¿CŽ„»ÐZsφ%ïȘ÷5 =%O¨ô2I®gÄz»ýá¬;õ‘ ¤]oÆ·dBPÖ^oÕß=/ø§°ö3­ ÄW¿ü*5ÙKYfÞЦ`“ª¡NPâMå"WïaƾžCi‹Äš<~}­*Mâ5ó¾c]ôÄe¿4ŽÛÿ骫¥„¯‚ØÕÀŠÃM[eG›P#®JÐÈIË‹ò%›·3 D}} Éž©ùEûKWݾ‚€¡½™u‚º‹ ‰[Bë´·ËámFõŠÎùÉ‘ÆÒ½Fym@Îþ@ÕÈà±ö› mÞ·‰©!fÿO¬ëŒÓ¼€Ô`ÑåTß™D\“ˆG¥Þ²¥ ˆ'¶ù ÒI¬¡I€Rü½ýG€ÓçQ 1ÝbX´F³j€ð_à쨄Œã\ m[´Q]R·fþŒä`ç“‚v šC'îÛŽYn#¯õXÝBQLò5ü”ÙÓW?÷`Ô­£eG½þ3Ñ<À¸L!nh¹ „Úçep'61UœÆ©†]^$”øîÿ±AÅi²jz|ÛS ‡¨ío=¹‚ mx³ê'òÙüóX櫨Šú²óì[ìæ<#cP}º ú8\‰ßH'‡Ðµ›Ä9tHÑc嬚º‡ ìØs3]2+ ’©œkM¡üMWø¶\ó …ÎÎϤ|—@^f°ó¸M­3B”³H³® {íX\¦®xœJäÀ$@ÑS&Ëj©”„#ûI!4&{fzæ;¼¡UH5ã*!]–ÔL™MÛ*q—~étæ–õ)ÀèvÜ軡iÚªk²¸o;@ã¤Â´a0×C)s2ž\ÚõŽL"Ú°˜‹9ø<ÊëŒ&/Ä¢{Úz ¹¦!Óâ"ü2íMf¹ëtËÞª°ô¢Zoþf+º7Ô&@/štTW¯Kj~~r´pƒÐ¬dÌ8h˜á- :ùS¿4+Pý^?ˆcLDŸ ¡¦¯®D®/c!ß­w¨œ;‘¡=~©`¯À“’s³Rã°†I¡Kc‡ïÑ úaó„UÃr&.õ|H ¢Ó¹kV¾ßW¾g|L:Iø.(̱­ä(‡>A:* ÿƒÔ‹Æÿ‹Èé1¯HÔãßcâ¶@úT‚Zà;èÄWÎçLÁ3¦‘)å$ÀÞX) ïl»5姯„UM,Ù‚‚F§6’y‡Œ91ƒ¯àÎ÷r´kO¶shã>8¯sîÏGü(¼ô2yÅê¦òi:¬Itçæþ5Õ´X^èòKÂCí] Kó­³ÿ lTÛ"(/@vÕö÷:ÒHîŽüI̙ˤDª0»M.(ØÀz‹¸Ïæ i•B¨rWžwX–É‚}S5Š_}„dèñ.ÉÀ*Y§À‘„ oŒu±ëo®¦u²§"æyXò„–\)h(ã·ÀÉ!gMæø’%ÐÖe) ÑñÈòO`gç%&A¼/ŒºÔ‰Âˆr;ÆåÅl!0¿±”q®'Pçþ%“¾ƒ31šd=ò†¤†2íŸ4ì:\wA®oåiz–€©åä=©1¤êÆZƒr Ê+“·+{{ÁÛ~ ±pÄö¢Là³j*!f¡W$ áÿf™¯õl~˜ÇÒQôJ©MÎô7H·¨8‚ÎHvܼEÓøâõqšËDþ£8ÿzõéPâ® ÿ šÙXܦC½®ÏÜe‚Xy}8¼¥ßb*Jùmû¡ƒ‚ú½h™„aÁ馸2cÈYš”Úƒwj+àŽ¿,·O¼{`Îâ›8cDú[vVÀDO2ÜIÚÄUoJ6™dXø&èû|ýŒ²xd¨Ø¶ÃPÉF¸—‰£°.‰ÞŸÄøÒD^~KŸ`}*¤Ž~³â5sk·ßNºùJˆ&cõûñcPº°PqWì†ã.’ÜÆÝXçL¢gî!¦4¶¿ðv#ï+~"ÌÚPÆû’ƺ4×tD+ò×Ç} ¸•1›xh1jx  íCÿ2 uj¢lãÝÓaÜÚbá}(Z#½í+}«Z*×%ê[ ?»+ôÃC…€Ò¡ Uƒ3£q5fQÚ â|ÔÙÀýU¾?|„À}‡éCì7Ÿ¸0¥²T9Lž+MYühxGcÉÇD}Q«_×ú$¥Ú;ü@·/H¨¾(Ý/ˆ˜Ïi…±Oå0Èu¿K]h¹û™'qnž¶‡re„¼¬È²ˆXúó–Ù´[»ØÓ~P7 O4ücÑ @,Ïvö¤í“ !Î:|¡¹£•'×ëó¥e²û,øæØ„‚©j~ßCž›,‘ºyXÚUÛ?ƒŽ°¥ ùY¼gQRÓÛò²|¢ªZ ˜>è¸)HÄd"“~Rg%,çƒdÈ“û}Ì0ÜÝ­íi!þÕ'¹%¼™Ð’%Ü;?k)†D¾Ž÷_RÓÍÑnó/a¨Âè¬!Ü+YÕ/K`ÖɃ`ùâ¿ïáîö'Ht<¿®+*• Ò?`Ò­åãZÛ*Ôt^9FXlÔ^Ã-2éʹr2rXùí›Іïfò jÉuÈãcÖX^7¤—á ãXX4/Gz»Ã÷ˆ˜÷úUb1Bé0AíY¦d8d6×7§Ú-– F¢[@1½ô)ê@HÒ;4ÒtkI«PcbÁ,¿”…ZY»Æ2ˆ½Î²Ì ò#D‹ùGš§n@š qÆ1—OrvK7b.me5ÔÁvÔ9¶8UZV¦5ø›>l”—FùW§»T笫¼´ZãM:ð3n{4‘é’3×úÚÕ*,X@MpAgK…îp²NÁ ']ò?ÎÓm ‘‰å/$.ÿXN©÷~A=t&*.Á ´tÐðíyÊ㦜Éî´õ—ÚyÆóu¸µ ÐÛVÜ0ÿýàÊ>t¢¬ž¬D€ŠRªÊXX‚Àê\äÙÞÈ›CUjÌ;˜YhÈ—êEÑŒHr8Êà ’þÚþ¥HÆ·PFª% 6eý¯qFð±Ìáè°“ý.9±bá‚d†ÕÒáÇ" hTüžÓ¹ýh¡ý"š>@è!™Žc4^ÏÄÁÓ¶ºR`$kªúËÒ#ÖsâÞŒaÁ5¼a¡Í›ÂiQL0• ªâóÓÄÖ˜fUÅ3%•!|Šd.ýYñ *&c'îxª!˜V^—8-NÐ>}š¿@YAq°l5ÝÞ3Ãî`\æCq Œ+ËÀN2o²â#üÁ9Qù&ï.GŽv°̸Úî;§¹ÓÅnÉéÉ‹âŽÓd¨N¯«{ULQšüUw°%×’jèÎg)~¸×–1>¸Ž‘Oéç‚kÄ@RÜô´­îsŠ ‚ЙAAÒ<'ÚhŽ/B¯ªÓøü¯¯lÃÇÿŸ4Ð)4õìZë5ÿ÷ 1,QY2‡@¤¶^û¿ÕÔÉ7»uv§…XÐág¢q”h¾=8¾ÚE ì°¹±qifî¼³cìËcw…ÕÓtu¿ËiŽqqm| «íèó0ÄK(Y¶I"9ôWo¥ÜT–U…¨.¥¥øÈ”Å7ü€æ'œå¦nªüZ{l"ëÀŇˆaÚbòÑÛ|íª×ÕT  ‘öÖ`à³<» Qæü•ê;K¬ý7Á«J·Û„ø“ <’D)ÐÀ’ZR%S‹Ã´0TŽA~6¼ EÁªÿ¤ÙËoÅÞbOõ%Ψ]´˜æûƒ?IÔîF<·M[ëÇ Üݩюî®fâ½ä8Õp{vEnÚ! PqKå ¢Ç3¨¬¥’µ»Õ[U¶`¸úÓ6æJNÀeÛAåÀŠÁã"(8¿»J&‡ghLÂ}ì7Iól‰U")ê\вÄßûÛÐnK\IK4*°àâ¶\r|dü®ø½©&:!A“”>‹o@Ò˜’Ž…^ð@#ÝÉ—h5ò¨•¸¾QJ–Êm>`E“9Žã ðü—bÊa¶_ºãn]÷¸ë¤¾×‘²œè9jŽz˜Åk´ÏL°tM ìyr˜jüǼoÊ„¸…0ôä Íekb¤IÔUQ“¼Ò*ï³·d›¿fÜ›´Ú÷+¥Y‡µÇÿeèc,Öygtí潪Œø6Nˆ$EÀ² ŽÖegâO$w‘e BjÎc{–˜é¢^wt"òr‚æcŽ–}[Q55}š0•ëyç/Àwâm V6J þŒ¤Ê%ÔJ—‹€v¦éÙØP8S3Örå ºÈƒ®COz V?=e :‚޽õ2vw ¨Šßð°nÑv ¹êq¾Kg|1¡ä¯"èæW¯?ƒŸ¼t:7/RÔ{“Ànâ2òY¹æf‘¢=KÍ!½È2JlŸá2o»ŠIBhrV”%hkÅ5êe’¯¼6A^”„qXöñno.(6›à*à +‰O‚UÜÛ·Mf‰öoø€œR$!”6üÆ©«S×N!Ê­ aN"Õ +­¯hz&­l’—HÊL„úõ®P_×{Ëè‘.ÒÌûiÌÖ³íÚGŒ²“Œ']$HþzÆÕ9 *o^z¹“^ü¤@n1ž0xOzZª˜iVý<ó7:ß„Ð°í Ÿwº/såtÞ.†z•ɵ̊­2«j¨:·ùÓÒ'R ¨0 è^ž­ÐÕâ(³ûÑh>CJ⤎t£¬ J2 <¦Ž¥MÔ£ÕWx¶&\Ü­(‡dÇÓC§½ò×þSŽt) ]$u&«ÉP¹MZ°´Tr…T™g5óLÁÇIÈšWð³zËÆrçžþDt¯S9”¸È}ã<áBïcûR³™–Òy¢^C“Àx Ùéì_ÐrÞÅ¢bóGˆt×ki¬]]¹t²»£—ïš:ñh$ÝTwvri¢ÞÕATÄS÷nšMGìÁ‘ ´òÙß :»žÈ%ø «ËƒN8—~˜y—âñôÔv29+š­ƒ >ªÞÖ>ŽÝ²KÃ9ŒÁ¤YÆ×ÅÌ6ÓЩTŒ¥ËÊr¦ÌRЙ`>¶-+i©¬ìÀÅå`‰‡eàbê?ÿ-æ $á³v/ièl)Így1¯˜†žc¨¶ÿ< \‰®”Z©^1f·‰üb2쬲Kàæìº‡Ï{~È—ñÑõ6,0pQéèmì×7Ù¢ÖÒæ˜ïò(¬/m¨ñöþ”NfD¦ðNšC‚]:¢Œð¡¹J^¹†I;²_®TÖÒå•|žn_Ž£²ÌÄçS¼«¸iÆ*?øÙàú¡ì‰”îÈ+–ø§`^8¨¡aáöX@$åØóׇ¶dAapeúÿ‰ÜhiM“ _Pš²jz,ôÓn IKY—Žöñî¡ Zëd˜¾Æa.öHø’™3L§±Ùg‘¼ÉW\M ê1åÉž©ß¤1Òv Ñ!Qø;9~@ ÙGñ(Ÿì²7ÜÏ@ó0®›­—ë éEy“™Ub®ò4§6Â…Sì̉¸:WXU9¾"€nìÔÂ|zíõ鸬óÆ4l°SI¢Ýð©øæÏåb{0î‚QBÞq³?0ºÍÀÕ…•}•)™ßÙÍâ)’¸rûFæÄÝç~Ä2äŠ+±ÔÒJ“È-ÇeªÏ§¬në9ˆ³6kh°˜¾ÿ¬„›PÒÝ¢?è ¬´r…gÓ—ööèµTJý‘Lsiý{uî…Jv8+` ;ŠQ¥"V<ÈñUk$Ø4,µE%æÂEÙõV“Κ¤úo ‚˜‹Ÿvß'²ò'’(?„ö˜±ÝäªÓžì¾•`ÒÛÀ³ ðZŠ`I• ùMRaVɯܶÀäXý×PwV `t'Ѐd$Ÿ{'|ÜL5Ê•¨âÆ m!OpGÛÀì‰á<êmdæ¡Ñ¨—k·G^œz‰} Í–ÙoÕœÈÿ¶ªü[:öö¨DiO²(“X5®V3èhçNâÓpjd}ƒúÑN¼’oÒØÎUH}A¶·"†‚›Rrë®cƒ³ïý£ÏãqÃSÆVAžäLþil[Þþ  •:QZ½”6.¤kž¼+eÒ K!¤ÿXæÞýàH…"ñ®óöK9CC¥8Þpä§peˆ'k=”¿|W´ÿg*¦Ês%€á˜dD×J|Úüâ÷4ŠéXoæùtÆpµ¨(ô?Ì~­k,å_Á>oIuoܾý$ÝÒŽ\é³fÆ{Ä¥™'o~Ä¿\ñÚãhåpõŽÀ‡mUc}n¨òa+]ÒŒ]l¡Y4B Ð`‹i¬îsÊ“Ýê—JK;ë2oÑõÛœ_(Žc@ÆtDˆîà?7¬ÄNÔ·1VO ?ѶøŸtÒç­bXYqI‹¥9ÅjÛÊ@¼‡…šþN P/©§ìK…RBF5kƒj:AªÂXžÇPHI’‘3œiw¾©‰`¥ƒ¥. À!J³Q0.ýtÚcà úZ‘€û¿c=¾O££»5[1}Äð­:P]J(¾ØCÂ-ò<ÑÂBjŒTAj#!…ç<ŒC4ޏ·”*F$É\Ì\¤Že«c¤Ýì|—xnÁMÿÊeÁn+©Et ð ¨ç3âc$m4àÜC…׿v½ä„UA‚ï¤þ1Žà}A¼ ˾cÍ(ôŠ;JxWÐðËl¶j°Nq½3[®NÖòÅíûk¯"X½´K œ§ð¶…¾!_ÓžX‡5Ø,)˜á‡Ç\Aò1£ \MÕá5¸Þb=cŒ—ãð‡¸Ìl6IÆÔ0„Ža´šå®ÍÖ32<ÈX-ï®.Ç{80NýXε«ÊîB hš@¹o¨gÛ•6ýDÿC&`?—gR>ÃzÆ¿rBýŒ€ôO<=Õ2¼«Î½…¯È^S»”#Ÿ EΞ6a–î´Iþ—Æ0mÆÊiyI¯R‡´ç"’·ðÜœä¥11ÊZ Ç€÷j­W@~ˆåq¥8ë IªóCØÒ}I¶*¤¡áyÁ¸&Âöè”ó¡‘'0„‡Å` ÁåHÒm‹JÛŠ†ÒŸpQܪF.QvV¯…YmÝÿm¤Œám´ÖŒ(JÈõ³þ¸òQTªæû·rCêΓ¹CÏI®è!-çÕ–Ök/udÆD"A%àÃÕîi&¯5Ú&ŠÒaöOÂÓ@E-Ð öõ¡mp\âý喙çt¦Pg-ÎîêÔl«æzr‹úî˜Tdî :SYM¦Ø•DÉÍ~§ü!*Ü¿UŠ÷]ÿ½ØFxï¬o<Õ´„)ŽU+Í0’É-WtŽØî=h”ö³8G7n /j´Ú Æ÷þr]ýÀÊ´} ¥& ñnˆé¬Ó{„ôÙíl›æèLv(W;›µÔAjÕi>…F-€N»=å”<§©3Xwh@¿¸Z0Ý"'?lk ‘GÆz+Rh€EE¤ñ»ÈFV08'1þÓ(šýÈh6YBCܓ׸‰Â)ÏÈ~NÓ€gÏD¿Y-9©Û&E]È®œÊô‡ñm3J4ö+×’«e®lÓ+Ø\nܪ߭a#ñô½ôš¡Í.Ëû£‚óÚj‘¯á°üÓ¸zhض >¸÷GžÕ WQãÿ,x‚…rtÖÕ×,‡ký©]-«êN Ség0¿óï4ôÁ¹‰—ýÙŠ±u{7rñõPã“Y?ßÙ¼C,LØD'VÁH£}oH:¦ò÷}xßwÈ;zÂÚ”-½˜ß½ ³4 ØÛ«©4K¼ëÍ ¡+hé1kn%Õ¿ AšKB]Ù0nïØ¥f‰4+˜Æþ|VyÞöë×:òï(`qÓKo’ÑQÉ8R…uî+Vi]ʰ… FÂ2Iç‚jp|ñ8“™I£ ï­ÐOñAªÂ­bŸ +M·¼€LŒ³Xü«–Š/¾µM›º¿6Ò¾–Â~èÑsPÆ-&Çöˆ¥š3ã­ñº<~'=TÏúçÌ@ë\·Ð)'[ˆÄ’K;úùš4‹b{ óÿÛÉk’ëy”â§?¾ø)šßòIéÛÉ@%xЄ¤‰]ýÁÄþA¦L¤"¬_ô?´îÖ¬Žó=9þiìêµ%)>Kô˾/}C€ÞŠ¡°@ÇâV?HBrÖkºBÆN®&hÏ»Nžxç®h޸ǖ¹ŠorƒÒ±©ø þWÏE³Y’x“о³4Ô9h!=Ä2Õþòå}yu;‡Ž| /pp1ÀÐ+ ‰o·Î`fÜèºD!›j{gx±²_Ø^º·äh–“ºˤ•:¶7©&ˆp~öB\Ö+¸¦Á¿=±ò»Ù9Å“¥Ž4åP&ÉgËo6uGþùÆä…5ÏÍÅIÕyÇSâ¸:†öíBmm²²yÅúrŸ!ˆzê+aÑq †òvå¨¼Õ ¯ñÿ*—»tŠkgÎd£øßù«lnyL½pÅsF®4dá¹¼lõH¶HwáÑjrÊAr+t¢v÷ߢ; [#´ñ4FïzŽùÈSà ÇVH5ÊFË$È“cãÿV ª&k·x)æ‡sÑÜgá©¢*ÁZñ-ñ†÷fÖ| Vm".$Á“ýµ&^|1ˆLϞǂ9c¯|úî PÉ£üõÕ-º ʸãŸ|C¬ ÄN¤ø7ÎQ-OxøWÔàGã Öü‹‰æýv/üä›ÞsV¡¥%™Œóê¦"®ÉV³ŽqXÛ½Ni}Iv/ÎB{@Œ…¼Ä/½ìyj˜…`*O%Í£Ê} §#µŒ0Iû:=À©‡#( t.³â£Öõ¡=†´ögôøiã‚„rt[L=LåE03GNÚ¼,<=áÁ©B7›fý/#†€¾(+y njѯ!­0ûÒ¬5؈¦Ìräw‘×Vjˆ|"ŒèüOkÙ54­ `Þæ ü&Ü+׎B©aàJQÎÕ iOÍ6´¡YË\¶Jdú®”›~»÷æØý{ŠÃ\Wü55<¹=¿¹´^ •mÁgpayF‘FpGKòÁÀz6)ûrpÝ´é3´Ðy+ѵ5i¤¼Û&„=¶ l‹ÊÊøÛ’&OúLTvùÎOþ/DHÅ¥Ì.ù6üèG!Á7xƒ3Ù,LÞ®ÖÀÐÅí¬Fbáä€ÅPút—h åøMÜzŶ@tœ*½»ø©¯âŠâúþ&À²’‚ƒçÑá/õyQ…h†Ç~Zdcç ËZÄSr/ˆO,> ¢)O¹"Û…¨Rª•Í`Ÿ:Öp_V:ÙýO R¸é]Bg?o¿":5ëæP’€L2;-°É¨å?–K’h«èl£F—°Ü7”¤àå·â0|äˆÙ?ìd—g âP¦°\/-b¿áëÕɬýêœHv¶þ–‰ Gs D#Á.óSÙjÏß1\ÞøvÏ+‹Ð9—Qõ RÆHò×­½Ñþ£·6v?cŒùM¡(ð-üÿcK<´c‘}3Yœ<ÞÎxù’ƒˆìt–´»¬œ¾ÎA¾:ÉXº–Î2rO-= ‹B9OߎÂÍ}ýê¬Y3¬P‘iï"óË´†µ3¨Š#Љõ]ïÆ «[nÿûŽyÑ…Õ²vè¼Bµñõ_zwñŒ;°ŽJ™÷Ì~µµ%‡oSæ^÷ +t.¦³_ñÓh_>Òºo;Œ$w%ex“û#zÉ!X¸Z% l]‘.·ô»Ä‹‚E:ñÚfº€yf6Y+š.¸/mMV\R3a‚º!‹í mn`©(ûœG™ÃM¼µ¼#»Þ{œœ·Ì†@%«ç•]<cÀþk5µYâÎZÕöÇ|’–/ôÄëåZ(JÌèBIœQ•ùR}دÌOUåˆâÄÒí1‡éC=ÜOèGÖ˜ D¸A€&Ð@Ý˽ϗ‚‰×©ÀŽ|Ò'.'Ç‹b«t±7ÀÂ:Y×¶K̦M,Å0ÈœØeÎK'ÿµ ›U-¾»[ÏSQÍîĵˆxU0)D÷b“ MïDPpõÍíoJ!éÙõœÁñ¹¼ŸˆÐ ÞÒÕcbj¸—Hnuz_ï#vç(0ª-” ×>üN¾MÏW:ÄzaùwJ5¶{+mñˆ*ŠÆ7bC¯º(ú²EŽþ³iQúã7Ξ¯`ý%$Ÿ×=É",IâËOÒŽ@ç~½ HÝ Ýã)æ™aN ¢H^žt­³•,vJˆÏ#µ€p4É-8%öW­\XĶt9tn&6±aL06Ï„Wòú¿ƒâóp}ãú˜Àp%²®áKFBû*±sL…ŸÛüRÀGQ#Úá¥jz]é& §ÂØf íoJ“šÖØg¹{'¡â䈀¾ÂLpºÆ5y^rÑV<ø f4Mă±ÎÖ `V±¬,!wÍ–ßÝS©g?túa§õû™…¶ -èEªAìÚ$x5Avqx7FIu±Dét0âg¬äíÛ#$4YÈY—艜Ǩ³Î»nŽtSðiîÇ/ÞÜ03¾IøÛakèº÷Ä×DaZÔU¿1¥e+Ý&×Ú°ù8º›¸$ !®ËC–ýŠqhÙ»ÒøQtß„¹e-z]’öùýõœbÅßÇr®‡°‚³pU`hϧ„ööj…2W}ƒa™U+3¥]¿òH±q³é´£y|$ýäHò­¡0’i @E-å8sŽû$¹ÕÜQ€¡ÄG%‚­åÍp`#ÊsLH¢ÈBH¸}=XÑ ?”K„ÿ%ÅGšSøÙ¢‹Þ.:Â)¥ºÀ+NP¥@á{$&‘C—”ÞVÀ0GÖE}ŽÈ>ÙÇ»é1™°`ú LüP`è8Å>JõlL"A ý3ÎÛݬܖ‡ ½¡ÇL®Ow¶ðlœ!DÿÝì±jv2‘Bpª'¾‡óëÜ-}y1àDûxÒÒjÊÝ^L6ìËZ èvÿybµ¬­œÜžšoÜ.ÜLU‹bw£VMÚ–N—%‹²Ù°\7?)8 ¾Ã°æðd›\tê‹«˜¬©XÂRªö%ߦ}¤/6‡“´à‘À̇Ä×>T ¸„ôÒ«ñŽäóó™±_~~…Ðc:€9f3:^ªÅ©òÊN4ÆöEdãOÅ|N|À¤S֩בÑI¸¨ÅòžùÐÈÿ±ò ~EéÅ@.£©S\µ›8˜xÇaÑTÁBE³IŠSS(“¤#Ó¨qM[È<-Òž‹¹7ê@²üz~$GNû l–ya{à\‡®ß kÊ‚ê2uŒ×¤‘ñ‘È,€9KÍc[‘ö¸-Û8˜ÂâŽos³'c’~=¥)§doƒW;Ý#wK«/ßÚ¡3ؽÒH¯%™Ýï b?ëbÐk3iªvbîʤõN|èH§Ó4?ãÚÏz˜~ú›¬%‹¹&§©(•‰#ÿJxœˆ+!“O 6;0œ»«ª*ÈsNÛX ²¿Ûƒ±’hŠÃÃÈ|:eá’ÚÅ;$Q…ñ?´¬§Z¬zÕñ¯iþÀ‰¡MϛݑB7h`™NX J?Å0¡½­‹Ë›ARÃ×S»—$þ…Y5áŸepm¼ÂÏÉ–„Æ]3^£Z,ü¯ìLß²HØt{æôša[¸߃µîöuXÃLíXm” ´û?7c€§£Dn•€$œ ¯˜ÊA1^ÅÐæ¡Õ±Þ*J³/'¯Ê¥0'Ò­:ûG‰|,Šn.sJmpýtìÿwõtj’&Ïlµi…â’ZTâxxþݽØÞBÖhjc19$H:Jkå*jŒ'Ĭ!¿Æº\é3Æ´)L„h -Y™9cG‚¿~g%‚ÕÉ‚‹n§Ã'Ýj†sþ¹·Ï›Ãgž¨uY¼mW—ºb„Ô"é'Ó}>7Ã|ÎØÊøL—…lfÔ¹enÍ[¨A_‡ð¿Î©oF3'G líïzUg…{Q=¼i‡Ý6S@ö¦ot~Z³bAî ÎéR‚³iNbÚÉàžNÿ4Ós$(k1 ÷¥Gæê¶Ë'luqèŒ^‚gª’ê&Žo©¼7÷ö¾6-è?|?çmÍØŸ¨«©xV\ïXܶ[/Y*{)e_˜¡{äãÒ¢­¶ ˆh\º[ÇÈC‚-7Þwˆ·½»Ø«Ì)ª‡xõ•õÜ—‚QËYo­?, SSS¢|ÐyÅzÜ|{5 k›ÚÛAfÝ1/ŒGVëÐ֯ߌÛãaD‹"´á+6V$ãíG×-“ke_'~ïÅ]lÌ&¦W’Åò@6¸øš ê¼~àœ)`¼F”‚š‘{,Œ2<@oÜÂ(“2 5›Oˆe™Hï¨ØX'Ÿ`Ûeê;çµñ/Ð5IÙùÝwõ 2һDŽÚRg𺈠vƒWN%ÇûÙ,J‹g6Q÷ ÝJ`ª(‚ê‰ 9b!ýÒ™fPÖlb°þÀ™ŸÄ&©©Ú»Ú%ˆÀ®ÓкÚMo}÷Èt®ÎM€ŒXSÄÞëXj’Á¤ÕÌœÛåÍš ”‚A °Ì }Ñ‚AÙ_ö&ã„cZt©À 9å¬ Œƒ«4…@¦yÙ¤láoL \*¢f+]ÎW”<¯ˆÛÝçð$bÔ8ó¬™ý9ªLšk+S(aÙŒ¨­»Ú ”˜¡ADyŒH§rÉ$ÜÔ’qìhùwOÈ©^¹Ÿ#ÞsHÃjÄIâž&×AØ37/{âDçs>]~¿.&½é庳áã^gmT-±r®–.ù±Ù±Açõf r ˆÛ´t&å]~uô=¾xvI¼ìŧgàiœ9?ŽÜAQfM*TÉ4äÄÈ]ä ml#Ì`ƼR»g˳ƑøßXÊ '_F/h,;¦K׫NÞù”yƒîéæ'hjX\Ô[-V æ-RáÔõ·šBšDÙò5'Íðû1Ï.‹}VA:y´ã]œ7€r4±äå(èÁû>W ³á èz*{¹ â??,²}JÒÒ ‰ fà ì{Ыð"JÍ¢ÅYtn´ë¤á þ¬_×ߥ'W+Tö×Ï5’ǦŒ lCö 66º«/]&{Ò ãšéŒ`æ¦lد\63qy×ÞX,xwÔT§"AL—­ÆÅÞ`Â+‡xú*‰–†…®B¤+í×ñ¨šX'…rì„Òs¼4Ç×PµSµ#j Òøn:h ÇÅʆš ¬,¡>0¥¡zŒ 㨠ò't.îk‡q‘›óÆsv¸œX?¤ø7é_,WE3y_œ‚çµ+RJ~¬ÔP=ËÒn@ß>-Ÿä àZR`¯‚‘/bè±IýlZÚb]¼ÈHè÷ÛÞ®¯jØêìß5½ÔøMQGTÊÌâa¬ê`Íåpù2Âk¤R‰þñÊã¬UË¥_»HZ«ûÿ.§ Z¥WÏ%VU|´Yþ‹BGÖƒBÒî0Ðp²÷3@(° šŽaÙ÷í< /žmüh/¥U?Gß’w´ «†ÀÌÚc qoBšÔÞì¹WZL¶(4•})¤’~6Þ›ØKoÓå¹{›È[Ðë6c˜7Óº ž¡N=ýÕ «å/Ë$ót¹Z×½Òzí½—…%¤4fézKþ\w55[ÏkT­òËN€+òøƒK 8úʭ·Fó1eB‹V6ÉQgªUòjù²7â${Z{ó%Ö¡ AÄœnyò°-™ëÆ3âyÃF㕽Êq!8è›âZ ²€åõ/»Ž,ÛAéUPUŸŒ;Æ Õ)±´H²ººð^:‡MŠ'§z‰*òv/8V æ¹°pdþmežl$}0ð†±”“ªJÚ5%h<ÁíÎ^ôx¨ó—‚Ê*ÁÜERKÙOaN®º_ |…‚5s•"Pk îzŠÜ’ûnÎn¢°®gÁÍW“ xâ¸â޼¸¼ßÀ–Dç›ZÂÕ†°ž•¨{r´“¡8‘1D‰Œ¡YÚíƒë Jx¯bv¾ÁÁ†ån,J쿚:y‹ §j]™¤xOQD bM™2ŽÛ#ÑC…ø‹JVfçãy†þÐi¤íÑb5Æ}bQ‚†œµmÞ9ä‰$trú§(‡³—$—‹G+HVl@ ‘ª;å—¸³Pƒ¼Ë_ûn5GÉÎ8þý§¦8 Ÿ$M¹ZÈî•íIŠFAúòˆNß­ìø¯Ñ¶ßÕƒ…k$áC*<ÐŽl8ÖrÕòT6¹¦Y(vËIÏàÖàí@ƒþ¤«Ž`ØŠ8ã{­g^)ô¿°†€+ÞWè† . ,±ÇÈl § Zøœ‰•¸,ÊD–‰Í)Bj´8IÐ\òYÄÌâWBuVµ‡³1n³ .yŒvmnmÛ—s8(?æxÃÈ‘?"0Oî˧6»Š 9êØ³—ñ†ún¡›/݈œ­DiÛÜö,¸û‘ÝÆøâ1>>øz1Û¤É? &6ÓÁ¦Yv—ÿîXŒCË€µkÆ%;qŠ ]ƒƒeƒ‘›9z@Ód|ÿñ$úsA/¹S&äº8#=Fîj½fÀ Â÷·w5šš¯‚=í6¡ˆgµ†ÐÄ(ˆ°ó–Í4z¢ú‡5D»9Á€øñkBàŸŸ†æ nZ\y~|Ì}Œø²ªé¯ P#ä`¹ÄÌì_ªjÿêŹt!èA¶.oâ yót[ˆ²Mòbæ=ŠÌçZŸn¼b½(å!Oµƒ}Iÿ¢âÀÙÕö Ãoò;<œíWJ#çÀÔwÐGÂêF®$˜.M—Ý`¦Xò Þû,%6¸Ú—È MÌÏ8¢ßÐûèÂÁ*Q‰Ì¿Y¤eµ´ ÙcKÑ]µ1ÝñAfñŒ¿oÿÐÿ+Nïmsy÷åõħB49óÂ5Þ 5ónÄLüQUYd|Ð]ßÌÐÅ«SV½<j½‘4©Ø›ÐÖEà`¦­ õ©âèÃþ±øÀýz¹)ýç]ŠO@+n„¶Hôrƒ÷ôš£E›Qefç,<Þ`E]øüöäˆ&~oG˜N¼Û¸·ëÇâpí¾y8Ù…4r _µ‹·-äÂ}ª­>~ðšáÿvÆ%1ä5¢oo¦õË:áØ¦ñ$/B'øÒ,']PB7Š¿+„ÜG„•Ÿ”VÁrC‚£b <ôhíâeõA;BáäãÆU%Qô–ú5œÝ Plœ ]Œ™ÈÓˆhdYF¸óY›}ÁTNí °éÔÖº+Q&ñGé:‘k>ÎÈ• SUüÈ•Î%cŒÓéJ”ñªЃ:…4@Ÿ¡ µ)˜ÿF=Ã*À9uó™<‰:ÿMθÀ†-‚on§86Ÿ\ üêéDá]ãÁý-8Ý nž16~™Ì\˜ÅQÚ ±¾H²M‡Yð.jØZšLóŽò£Û›3é…›¼Iê1GÜw“cëÒÓùª Â†Ú•±¿,•“‰bid•³aÔЈo÷^q1?Ë ªè°¼¤µ© C¯ÊåFÅepò§ºœÕ·š€9.©)NÉè ËUxV'|Ưvž”yþ¨’Y®N_ìZY틼‹5KJÍ<ïòYr„pÒP’)•ÞL;abÊͤ–=ófT™j´ ªo_õÞl¤UdåÜ#Nò㎉)KãÓEü¯«W^hüñ<¾üÑ‹í[&†I_ü «¾‡aù²£–݆P mh§ŒÁÚt\­¹‚æòvõÂèt‰68Uôí´ß¢Ø\>æ‚ù(±›¢Ä ^T 2W"ç ¨7—<û>,%ø·iu#ªÍî£[‚Ûk{m‹±¨+`Ú¨©?p³NòY3|Ú0§±ÈMé‚êÁº]ÂÌå§ïlEîuý2Â,:ÀÓ#ßÜf²€(K–OdoŸSÀö«[‹ùU«ñzfÎÛ‰ ‘”MºIÄUAvÖ³›YÁS«µr…ëÇÕz›Æè‘l|%œÔZ=vñ¤m½ˆÂ=”+³ø¿Gzª>$ˆ…ì²{”‰+²YACÛ„›æèÍLœIÀ¶0ƃÍ_Io !7n»2b¥ >¹ð–_ù)-+ L²«ž7õy>õvÀ8¥á?•v3 ö¥,½«pR=Ą䗧yy:tLRµé÷_F‚ánŽ"”_s7·-£ª~ëRhM­£Ûã¦õu³*ow"qÇI ù—Ä‚ä‹ù8ê£ræÂ[{ô*m¤«_]7ÄòL§zǸâÂ4Ⱥ÷§IÂ(N"%8ÄlšþègMoÈ2q¶ˆ¹`?_ð3ü½Á¶òˆÁk¼²yâ¾°ƒÂÆã'0Ôë…NÞ¶^ƒ|“/Ý@€7–åá‰ífÞ½åjÍ$‰X¶.¢¼ÈX­ŒmÎVõû`ïçäïA£Šša°¸6å¶c"&šQÜ÷úÒ<L”qиd+&;˜°ÝÜ{Ýc‘.å8s@dy!ðówo'Å)oÿñ%ïíçJØ—ãE”t»Ùvì—¾y¶°1´Ô㌜÷©'•vÅQ&È¡µœ}lú%«g,Fòw3¬Ï?Û0Ê Ë©FTV’´êðõ…ÍL'A"à îê\þÓ$ÄMo]¸ÒÁíÑ!áŒo×¢íʶ'‘Ì@Z ò÷ÍÁ+i."á° 5ˆÅÇ Ee#mQø22}mê—mœëy^¨š®Gä9áªÔö: ×¼u%VBDÑ~r¼¨-ä $’ݧöÛÃ8‰ÿ¾þVÒ™—Çž·•ÝïwÃ_ˆêKz(00Jq´“W'2oŸ¶$¸¹Rí´wMÚ(qÜu4æi‹ïC¯VQýAKLö*bŽö‰j„#œ9qy7Ž\Íy—ÒÒVŽr¡ïBŽ>¬Aøç¹ø.¾ƒg“JíTþé`KG²§5‡ƒQ/£"TxÜuÑ`ØtÍ~äyJâÙ¬Ÿ¿$˜¾Á™Ödãi³"ç÷—ƒççLô[2¬{78ðùPu!r!hq c¢F+dšBñ#ЬÑÁï¹w{º´û>ã’Ø²õ“ 9 ŦÌE 3³²Ik[PTd°„>aý¹z MÛÓ‘U« Ý}R;«_‰‘»òÒŸP¯8öN­iy_L'«¿ ƒˆ³óS}™¶0ë·Õ5~ðg€ öÒ.Þñ`ÚØp"ê›Ü#Á2ù¸²W¼˜ÍöDz}Ï4ƒÀbæPqX}0@Š ñn>Üw\E¿áÍE5\c'×…×hݶoú¿/ѹV’{_"-ºSvNˆÒ˜^àÎBmËdØ}Ÿ% ,»ƒZ€Lô_U.ìE®$±èyUF«y¡6‚ Á ªcCe x‘áþ°òP6(׆ôõš¶WQM4X=¼lÜQ¨µ€â(² Xý¾01£ÆàˆCUâÜÔ_†@'çº9àt./®]­+ƒÈðî¼¥2`/r*§8½é}о6Ö-÷{D;=HX]e¦  Ú}‰g2ÕY¯˜ 6šÛõöf?¸j“LâÍßh¥D–`a×â9ûeNÒün€*-mÀì1¯~Ëd¾}kc€Wëh8(¾Ö ù貸¥¼!, ¸qlúª„,- <Ѭö­Bæ0H„ˆ>-‹¦ÖeN¾…­|Ùš0¡³«Îâ×w]<2úz_`ŒHtüº;œYùÙpÀ(éA ãuÌÊ¥½êbºiŒ:6ÝNçѧ.OÙ’A~kêÿO8R׃Eeº XÔåœElâeHWÌìǯ yïâš+<ûÙ–ÌÖ[ Ij‚ö¨…ó òõÌFcü*žÇ3¤……¾þ¸®Qêú[†Æ~6ÕÆ<¸ŽB`D¥ÃB‹ñyù¾¢‘Ôê;âT0?`à)iN*>$©EVJƒ®>FkÇq•ö|5=¼<@ ”{šŒD½šŒ¤1‘ÒHn Ãl6znŸbnì*ÈÈ®–umÌNöš9”ŠpÝ„T¨p è÷½÷n•œV·ëŸ‚FõOò¶¹¤’kÙ2&„ïD}·NµÐñ\”ÃG¶²ÍÚmà×QŽ}< m ÒßµpÏÿ¡õf&» N ^¿‚Ö;qLñ©«“ÈiÝÐE=OvexÉL°:žÔ~ÁñúdZ÷ï_ÙÅ%ÚÆˆhýAßh¼k8ÐÁ¸ÊÊlŸÔq†Ù`»ÞÍÛ jn¶­68Qîl;/èÜ¡¦V›ò5.°½F6éb<Ï©)¥Y}±Êk†ç$PÉJ ËØ^ƒ*Ǹ,‘ýåп_fqF^Ñ4ˆ2$’ت²@¶ý”*µ¨@1I‹lU—X¸÷šƒǧ ySÐŽþhý·º%Ϊ͕uÀ­´á‚ØüÖ·z¬Ü¿&L -dð$ŸvɺNè[1ÙÑÔ²*AטƒŒrˆ3¹øMä´ßõ,^âð½ø—ï)ÊÌÄ eRÖ†s,ôuHŒaœ$w8eªÉÂE¡¡’ZON奥oìßå“ùMî9î¡8N±†V6š£aèU¶áMŸÄÞoQãLWÈ}e<y ; Ók®`=r¨²»ñ:W¨W®?¯Ù,gË¿÷È"N$𾑛dõ\Á4¸J·è9(‡ìjõAM®J_ý”Ò1QfIf7H^Z¢Ô=Y§­ˆswÿb6W„ú†6· 66åþ]™á¹Â,$"Þj5úPÞQÕeD ü7ºÜùw˃Öl%aòXÖlÇÍ5Iy”ÜDâÙR'¿è@F Ϲ‘Õ†ÚšIj1¹ö’( âl—GûÝ!ë¸R"¦K¹‡@ÿŽ9Vø«•ó80²§ãI0*†ïÝì’¦Ù¥p´ý­©€ÒºñÔBgÈvOåÁ#$n—–zô"„Ï7ñ¯Ðó“[éÀÈLú1…è˜5Ësƒ¦be² æ4‰Sö(ySvÓ$ߥÍ9fÛš°P¨¢Šâ#{‚õÈhøúûÄÿŽr„Æ\æ º‚:V”Ⱦøµð–Êw_V%«s•Å¥êØöæyW…OI>m«Yæb'½`[sØ^Ab ›ÙŒÀrÓ8ö~‹lp`ù=éÓÆ¨M\2‘8Ù÷“õ›]„ÏTàÖv6/ü“dæç¨ü‰˜úÅWV{ɼúp'ÊnïJ”ó?Éc%°åDìÛd°Üª¿}ºzÕ š"I«©‰)c±¦3OÖ²"ë_ÙÇÿRßÕ˜3T—}ëe5W§Ïp¦écEø`m(ð-"k÷ÿ}»ñ¡>:Œñ™kí£ËQ²T> 2êêˆ.Æ® D–H9S$Tò£b xØ)ϰSÒ8ü[æºþöÔÆDâò£}•¯:Ó¯FÌFª¹œéCyÞ8PÎiÜÌ$ÝG5cÄKk3 ACp1À °³Y '5b•U’çVê*:îÉÝY)46nì+"Q£ÒôÑÖl Û·pF»’QÈÔ°Ðoè]´ÝyŠÕ ïÄÁCÙb8ॿ[ò‹; ”s@µÉ[kj«ÂÑ;~v$Õ69(z`5 6œ¸ÞײmÝaÏónÐ/8ñ•Y.ôH#Cαêþ›øùIÿCŠ×>P}š€˜c*1„kh^H¢o>~øU1wáߺss+%º;º¨ƒtu?ñŽàIîß ?&h8‚H޶pw_Ø7#µ|:{] Þgذ ÀŸÒ4زXò.ÒWZh £\{Y7M^}£Sì6ëõ˜iƒ zê »mÖ²‘7`Û“UŽ/üêX±:·Š³–©X‘ÐcR“Œs ni„]Öà—Z±øæfŒÏ:8‰²ž™4]³W7 ÿ¶‚[xX£óú…­"b?v]®ìæÂs4‡£ð‡?8Èáø¬Å+ÂÀE™trmaÂ¥ÓÄÀ¤µ,=ÜxËŒéºù‚ÇBßo¨_ô‰a¥—Ú½jÚíq?ØDâ¼·ž‡mÛ[Ïé#£œî¶»Ek©cgØO˜¦.Kšwýv™÷íhÎ~'yÚQóVgô¢ašùçDâM–#˜m?ÑwQ Ë­ ™ë®vZ§Z„ýøÿ‡nyq¹C¢GOÉb¢3ÕB 7¶¸êh\föɆJ!Ž’’Nx:uS‡_ºomgH«‹¨Qÿj60ᙑ¾‚ îã¿'—Ù–ä›(o/S,D ›‘2›“ëH¿U¿Á Ÿì¢ÔÜý—ºu‰*RÅBu’µf£m¬jùUÁ¬_×òCÝœ<'16kÉ} ô㈠íšÂ©䩟QˆM͹¾¡ªQ_(‹¸ZºYmqvR.JXâj^Úï„<€/°Ò ë™:jÈ?êæ’Îª_ÄWš}‰œ©$B3`Oº}Ÿ¡Ã“ß6MU,}ŸBp¸žæ!bCZÊ‹ÑDS ¾ç|ˆž 9A™¸*ÈÓèÑ(ñ™|ÈÛM´{1½LÜÆ£7˜â6¹æ^’E>;$ÀC´†¼ÉƒÙ<­D£Ô~j¹“6jðìé¸=7«TµJ\ßIœuŭ„Œáí‚+мM™mm³òãRã¤6¦±`kU´<íüD0¤v¡Ù(‰föû6æ ìÐÒûhg6HdJ¦®Ÿ04`f†,º¨ÁèJ—NQpï‚ïU©¢ïÉrØîví½‘¦¬°Tkû¸Â|¹êRº«§ÖÑcÜo9ŽÅÃe§ÉÏmhI %UÏAí#PuMMü crœÔcE|q§¾ øÒL›û„S¡Û† wš;]‰ðe=)c?À¦*Çz%݆}ÖPíð‚^¿Ð9æÔ8l¿%ŸÒð™TZnÇ @Œ_˜°,ýÄÕlˆ²ö]®á×<µa¸$ÿ ŒÛYcG1=ÌÈ̦–Îç†R·E6HjÀŠZ¥úÿ¡@î˜Ô*ÛüBŒ#åij0\üžT60C~Òß„Ñ8#ìˆäJ¡Ê5€7¬©^PP@‹ˆн.C K~(õ¦Ü`¾Ÿ^âê¾Ý#‘c6‰›¼JOHKyÁg€N\ÄÆ¬‚¬»·#¸|U-Uy¢“‘»Û†ã§Ï $ºvÂGº®èÔpkB¥qF£T¶BOšËNIƒu:hj[£Í |?¥áb}øÁ£óTÛ­ÔÕ/ûàví‡îÖNX2(ó!MÐÉ2‰GBHÞ«‚€3ô;Óõ®€7nðamý°<ëIàxBƒI|„ùfñÇEØhôÕú ÿ|u µ`·U/°ËÍîï¹Eç–Ñ3XâCƒ«eEþÙ.ä9Ùà7}&GÌ÷ï~ž©½Õr=g³ÀŸ2é”&ïùñiÑÆ^hžÀ¬c7ãáï@¨5gÅÞ·IAçÄ,£ÝéÙð–Êε¼eèaºS¬ƒÞ®×cLÅãP2¯6¶¨/øغ[ éúyü¼T¦·$<ì5¨÷+ê@a=à0\rYOô"²d ŽÑ~†ÔšL:ýäRÉÒ×âB–ªØrˆÙÑ%F¡Y¹þóLø ±% ×½UtT3Éqþ RlÙl…¯ìûyh^ˆZ#”Š$ÉóÉÇòë( +ˆ  A/´edùõ.ñŒù²]wѼo0Öþ‹+²cõ?ûñ‹V_«•!× /æ[k_i†´ŽÏF3NÌu}îE¬#¤×ŽX¾±•Žº ëV*NÜý&1å9 4 ¢ÁŸ,Ý„«U­¾ÛÀÌ<2›xC»øÁacàO°Êˆ·îYn)Ó€œ¦UbØx¤NäÚ2á£o'KŒz}“ÃK…Vä¯7X†YäaµÂ¦æë*ÏDHc „â醩¹ºn]½éØÒTò[µ‰K]³:rœ¼Ã‹~¼e׈ÌDÊ¿ðégLZyÄ…“üþŠñrŽÂ‹ß¶Ax÷Ó8­Ú :pÏ#àßéÝ+‰óOkŽ7lìç“ßÈý:—bÍ ÙaGÞl§Œì¥âˆ(@js•Õ‰ƒŒžØòê©VªòÀ/ŠÏħ[™ß¹… à*Fm³Ýþ‚Zž&Ñ +dƒ¢ ŽÉz˜¼¸ð<{ùéÝc o?Í8¨‚Ȧ>åøÏõØé¥ªÆìö¤È Ÿ²0•ªT›#DÈñl¡û'™€©¥tM›¡SO‹Ï–Λ\ö—/2ÅÁ䈯WMσ³|ë#‰jçy샜Pˆ¢·Ð ²} H§Éï,–]ª§]P°y ^üm¾nyÏIC2²N¬á‹€3/Öñ_íý‘U[Û†F<„×¾œâN!ƒ;“¶pÊdݽƒÙˆï­I¹ü¡4Ú„ 0\‡ËᙡKÇUG0\óí®$…5èNÊÖm¢¸üÄãƒÛ–ëëÑÆd/Ô«rÃy¡Àž¬'²ö½ì÷¤QH2dÆÁóýÑâÎÊöSš…Ý59¯4Òúj^œÈ™Œy ­¶c±jÙÝSy?Øeâ²RÉ£†f£PƒqÛ X÷°ÆÑuvCkC޵óùç§T“Ïx„LxH;ÆÄYtRåYcEÂ;ÿqëÇhf&!õ¸…E­=.rC—1ñÚ~:ý#©¶ù%’È\Q¢Gb+¿^ ÁJH_9Í!ÜQ×4Õ~…Qyá”ãoÎ5éâ¹,s.õE EÍ%Q&¹˜*Ä©æë% ÓËN¸*¼_UÝ^È$< oPk;øÇVM*5‰,ÕÄpÁ^;8EKLÕ5À`"Uõ:m ¿‹Aã"¤ ÑúogÊ6ƒI»áJ©·ñîè§“e¯{Å'· ˆËáó•Ñ¥Z9 ¾*:«úyqké7Öƒ5µ†¸:ÂîW6ð<Ø_o€%×4!ð©ã*Ý^DޤY¾ÉS÷{gê·­*†‹Y9Ü%Âì@p…d/ª)‰𾊵¹.Óg/>; ÞÒvB1ZÖN¶Íñæ3}¼ƒKƒZ›‰•çkþ5/Ê+ÍècsÇ/“TDùô§µ’ Ì-®´©úÓrì¦)ŠÖ݈“7ç›hP©]Rœ˜KÔ3ùaÆj͸ü¤±±è?.Ñ\6#ÁgNÑÔöêÓiÞ»Üg+ÕÐЯޖu¹àÕ4kk®ûOŠs…dKp6}òÒŒ÷f1×Å53^Ð+·|Òy÷ÖÉ…f`YÒ¹þ’i–u £7ˆê„È÷›v[—“¼¦þ’‹#‘á0ÃøôŒi´ÿânQÑÔÉ2_ItÇGÑù@ Èšs˜WÝpÛÛ ¬ÇŸn‘Qß,4;zu«¨‰9ŸÁkB~r¶3»`ÓŽUkÍf3?Qs>…ÒueâêBÏ7\º‹æÈ¥Ò¤VØ«¥Áµ©qI:†ª3ÑŽD!ÚÒ^éÈeðR5êó9gXiŽàz×Nnä0^,§ë1Ÿ^Xd·ÂVò=w$"s¾‰ý ßñ&€, Ó·”ª6<ª › ‰-ñe¦G¢'œŸðY^vJc†¹áªMåþ;ÿq†öQSFÎ2\©7«~9èlx–Ë0"VÓ&ì6ÐoÔ w5m>­ø¶îÉrÕù]ù[¯‚Ay}þ ÏH­H j#1ŒS&¶g¥À7ËXaŠÜ×-ËO fU#e­5¿F 2¤6º³•ÃÖ¡M}êé³Pç7Z™x)fá©dné;“>úÌ2ø“Æ…–ûË["ÎuA—Ùæ† ¼Ã¾§’}N7‘ªƒÅuÒ°óà1¬ì*Š"ýg@4¾BØCx·]”§ÁÌ%äy÷ŠGÑ "ýñrÀ cë> ô…Ø-3Ç1)¸¨{xs_ «´Ô‘sœP@¼Hsæu¡üJù9\›¦’ÕŽÂÃYzYwð]zQ vOF³zo¾ý£Q¸U$yΆC¯,Õ£#g tÍ þ@êvL¾ ÅXø¡W$UÎ>z«ÀšTJšßhÈ/÷àù78ƒãWË M³; »FLnÐ…òP‚éF<0º—RT ÍRòð EådôFØ¥uY0Q¬(ÜA#ü3ê-lâ5ÃÉE‚™m¿_¯l’%Ç=9d „(œcùâISÑœ¿4u 6)ÝqÓÒ‰¸ôQõYlûu|;€dB¯e?œ‘#« šj Õ„v|iZâæ2Å3³Éò’#¬„>=‚/®!&PcQ€A‹=§xa°¾`§ªF_åú4£híxÙ$ûYÑÞìªÙŽmêõjä ÄÙïa$ì‰;i¸$Ë…S bL9Œžqpo {&ûªt†°I¯$ Sã0t©i4©o‚£î¬!Ø/­¹^BÍœ†R*¸êHhLðT¿52šÕ‹í&Ž5¦!ü¸­8f®f..+6DW*Ž| ™\ao8¡ŠÔmRŠˆbÇ:+’2`L©«Ø| ›Z“% ú9ÉŠ‹ÔãñõÁm¥ÁQ$࡟ÿØLÿŽgmLæ*Ò•ÈèUiòg“Ä&ÙÇq_Ëó¨¶ù«Þ¸‹”Ž|yLuÐ)W*‡©ã"˜%8”¶Ðd5l°…Q¸g9 Y[}aâšß3ÈåÍ;û=‚ÌxJŸÆ|¨¤æ¾ÑtÆ…펾Ô¤]CêEüܵî®xtüZ [~{ƒ†h*|_؃ø¦¥þX&ú§G/¼åHMÂÌSø;DŸü‚2L¤J¦€Ç¯ˆƒØüÈóך?ŸˆÛä(ú@‹.„ &ã?´>Ññ!SþÌ%0XSéȲ֛Pfuþ"*“køÉ£u9¾Bn—1‡UNÎbqïÿ8úí3;Ž> ןícw¡EåzÌ#Œ_öÒ~ Z¼%Æ»!_ErɶâÒµ—‡ªÞ^Ž$1Z=ºÊnÇ;ô.OnkÔÖIÅÌÞ»é#?#A·~Œ[rÅCí¡|xìȦ%¡+Î/LÚÑþÎUBiuËXÃ#f‘À7»TÊöÙ0©Ã»jÐÚým´rVl‰¢c“´gø*3ïÃn†tB™&›ñN¤­&ßóWòÁºCô>3QªÖš~›# !÷qîï¬-7*V Ü«íÑ®åÃ|+r[Úóu¯åÀúfoljhÝI¢n4T-_¡J©Vû?Äíˆ|Ú6A ¿ 5 Ãp`´ Ù6ÍkƒÃIš3…Ò«Oæ Fµ<þÙ§ØûA¼{%Q½œ±N“ôÁÐ&iöbÇ^Öa4&€¾¥=URåÿŽ'ÚôÏ(;K®C›ÄOöÝÂÕ•dãíW32o s§Î^g> ÔlΜã5 JÒ›$Ôävvi éx°6@ÊËŠê¼CÿPoeqö®À.ñ£ïÝÌÚº]Ü$|ÅÑÐpÁð_²•†£ðõZw÷Ò=|ŸMœÏìO¡y½ÈÝáÍžØê¡¿ÆçÆ'ìÚõ#rß5ÍØ>¤âo@}³ýk–lHlöÑCºözUq”WˆÇƧ¿ïÖ#Àà‚ qQ£×ü+€^/Û0¾L¶<±¯Ý$ÿÔ}ßï$ 6…”ᾞÊf¡8×EZ¸ùòŸûîï”èÆ¼ZUÄ«€±=/ Žo' ®0Ħ͌“üs¦Ö6u¸Aý—Q²š1MšN8O&”¬Ø÷]Š•¡Ùk{ªµ¯ŒÑ7i¯ÕSÝh>¸À¾ÏÛŒÈä[z2ωÄJöˆœW,XªÆÓDeó[É\MÉ_h.qªCôù·–aÝ;”»÷6HòQ=ê»÷¼håzÄ–Ù@óoä–LíÆËZô+êL(Ùœ×ÿ¨ð5Z¦Sž ð#P˜wNl°%B­^1ëדûÅzÿ!$³_U§UÃ-UBPdv÷dŸ{õÙNiW¶¾a&ÎázBj¢¤¼[Ïs0< !íj”‹u˜Ù<Æ«g,i&‘b^ÔØl+®Ð’ª5€ˆai\¾¦Àñ«{÷ò¹?¥Û–ÕÄãÿ_Ê…7žS~¡.VÓüzöÎtIÚï*Aœ£m)µ&}o¶góa÷ô<ª»›N¬x»Kn}‰;*wÐ} eùF”-ôæåHx¥âc£Ù(\úê±WRsÌÀÀmlBÍŸÝ'âw2§ž]ðdqEDÁ ”çªFܼå.<åûrªzê'^M¨‚,ÆtæãxS½.YW™9âr­*JÃHœbà^„FèUŽ“`NPmɼâ}‚™\S^;œ ¶×OàQlÿЏu&¼y[a; <ª3ª}«)Ü)ŽÁ%è\á{ÆÒaoyÉ‘hGÏðÏê¯Òz|õŽp0=ºhI ´T”z¨¼ÿ$ó‡Ç[ }ŽpÚLL<{™ñŸ ¯•øÛ'foB2Iä»?f¨ÚÐ,i”7©ûTœ¦xêðO&…¶g{ˆNö/rï•RÜ4õÂÀdX® HèÄÿ&äû‹xC4“¨X1ªÿ"¦Z8$lƒF÷Ïœ>ǘ2Èá8R©þEŠY‹‰Ò9è]y°©½ºhÑXÕ@W0[íÕ½–ô_ EiÕE¼§~\BúyÐ\¡<§¨Êò“+Q˳;¶Âôpº]üã¢kJ$ÈÛ’¤oyi;JY)#º›—!`Në6¼­ ê>RŠ#¦•럶aýÒ.áçH¤Ù':ªêüþy°É½^å.¬FŠð3ÓíÒ<Åâß~–7Ô=©@®0Àhuߨÿ“†w—›>–×ÓœØZ+u¯»Ï·êyP’ôç÷ì+qÂÝ ü¤Ö*hyœƒ#$¼¥¥3f#o¯º)çEj9ÜE£óä€Ö㱞.¢0\™tédŒ•—¸³”7¹ëÚMŒÐåh"ŒX|eõ»Ä$ífµHì®O÷uPÿ¹p×ðmãô·ØÁVœÑ/P!c«Ýr¾ö¼œ$ùfy¶ÂWÆáŠxl®ü ˜X5(m{iÝ2‰4œ´“Ì&Càù+’‰ïŒÊ3í‚zòXÄ÷ã¾ÃßhÁ©Ä…]骋|P¾Ôk•¾zm1È î VO ã¯ôF‡ÆÄ‘¬«>ïì¬þæà[á¨Ài,~÷cqB˜föKli)~g%¸&( š&»è Ù"5th €ÍÁ *:Õ_¥Ï)Õò Zt"c­¯:–´´5ñ¶Ö­Ÿ5ŽüS=†ÖŠ!—œû#C®j‚Í¥sÿ–-y¦oŸi%œï•Ž’1u$ ,ÙÂ_ÁQÝ/• †¾rå“Ì Dh‘Ô¾—雸42Guï—#„bÔ_&Cíör£üœ¬fÚ:”F£|tG Xä~+r€ê»À N³W»±ÄŽøÿoê#ÕeÿmÞ€»*³eÝÎ/àÔ&mkߟÂåP«â‘¿ŒW¬8Ž9•ñu‡zQ±9+µÇ§g:XæˆÝñ쎫ï‘â½xÇ)“ô¢›bÀSÕbЉE/ö½9•+¾yÿÑNULŽY6µ,ë‹"í·©©á6m8)Áý4¥0;‰c ¿SÒÃàÐÄ®£†Û«â½áÐŒsf¥Ô ŒHZa“a\¬ŽªÏJ¼MTËhzjv/:<˜Á›A"òØKœ*–›^%¢!‚ ºäÉ•pÌjà‰wþ«æ¯÷NPwþÙ^áÃè•tòeNª›SÊb/~Z êëeïKk‹W¾pÅ®þËýv 9Ȝ٥ x;Y]‚QXy¶ã]Ë]üñ–Ù‚ð©|݇6Uϯ#ºa Ͷ6Þä°Ú ûYК2-~TD~gMNýÕÏ Ñ¢y\%ü6gaz_Õ±™—¢o/'‰˜ªhÔY@ÔÆ¬¸ëñSÜ^u3Ox}–ÉU¨a+f‘ö8Á¿3ž‘i›:`ă6úgÙ§I¨ ¦óÜ> ÐU À™Óá<æ~ÄË¡éy›U1@P¸˜µè5+6‡É/Þ$‰Î?ßîLaœã†L”0ò±Ûr2Hmþ%¾¨¸Z&[CMý-›4‚(HT% ]PÏ$!p_h×vlN ")仸Uù=»òs΂©Œb&ÉÈÆåi5Hò©U(®ŽrF«Í_›‘™¬H’󙿦!š÷³@jtSú8 í: bœˆ„ mÖ ˜_ô­p7f|6¶B;§&úù‚ll’¦úáìA+[%‡'ÏòÕnG·@Zq}ò9zR‰EH<,úk<Å %&;óÀ[ 9ÅÆ¡PÖ/añùÓÜ6À¬* MPP&^Ù¥7–aY*½KË7©Y¢vêRw]?ÀòŸ„ k Á¼K îø— ~¬®Ó¬‘ʯ¼’¶êu5Zï™úw]¹Ðà;˜zT] {ìbY: _œEAÞÔ‹äÿ09>òóV¯0æÖ~ HÞì†b‘I¼ ‘Ò0CÇ‘[*7e|‰µò(xÂ\FÞeqbTÊ–¯,„CÈ7fžßçG6gÓÎJ »M¹E;¸ïɱTíçÖÕÀ(<•ö]Úr¹¤Fo–FrpŒí³ !LR\½Ö®åàN§âƒü­àsñudš=À8„útµuÖ‰‰T?‚‰kÍÑ$ 1œgM¾uæcÆþžB*ãtaÌšªK•Þß;“”ÍáÞêÞ)Œ†Äˆ#z‰ØÈAÄà"+oBÌ\ÌùàfYJ V${©5AGm, ]è‘4è#u4–+Ï´Ÿú!_‡ð¿½š“…Wä°ýP F†’ݾ PÉ:>Y6Á«Ù0À[ÎæÇ³€åÁÄ2gB0&å"$Úµ¦J¬ªîylêê… È´Ã ÀQæÌ-4œ¤zÊ/íâd…±Ë±ó›,1= ~M à³@¯ŠÅŒîè™—4¤äšŒQ\«=×…£z"aCxYj¤Úl‘eyÔqçV:ëÓ ZCç2B]HhURC+2"%°â*.ÕP£`ŸR4¯âqûoË9óódI|átLT¹LÙ§…¼.¸ÖS8ø /k€DšíɆcsLbbHk>œ‰_u8µ¾9²ê¤Í©ªmEk°o:ày*6‘ú dâHpº‡:¿Î¡w‘4·Ð[L­V²5"‹©³‹ò³Si \¹àA&([ç¿/~³ÔÉ­2ÂÜ[ ꈩÂGKrTÊ$&ôJ €UrY/.®þ&fGû–O:.â Uw@…uAŒù¤] `c3ì@{® ýßÁã¬õÕf¬2ôÏ}§……÷8ÑòÒÍ2ŸöŸÚ ²¥õ¼Áp‘Pý@Ø›ZÔ|^Vˆ|Ú|Å›ÄÚP üÕËWmaUp·³° €!²àqÄ–,ò—)æ 90¤uú²#­J¨e5³XÑ%9/üú¼,5w£9™=ØYîý{”A¥åpÏPoÜ÷˜R£¿)¾fÝù¸šÿ½Ö l{r tO^Õ”¯ø<£©t¿§ª—¬›Ñû¼Z½¾Èõc,ÕÊÆFÇÇ^Ú ¤°m:LôúÍÓ}æª(Ó;N§Öm‹Ðò*ö·„²?â¾(ˆ½%˜ß3¹zFº“ÇK[½Àë†O]]C4ðî¶bº1y?È{ä¯÷¿þW›á³Ð]Æ)p·ú¨çhBF¶Øá*%äqW¿P2qŒÙø(ªJ4Kª„SAÒŠô–©³Šo3Àüª ¾rŠNÿÙ¾cÛFßHÞxhÍW¬k¿i³˜³:ˆ†Eâ‹Öõ›§§¾’Kï^“æ rtx 2ßRT¶Z^•Rµ@sÒ¦e‰`¥DC[‰1dühÝp¸…im ¸ñŠIþŸ5~¾¥;ö;Ý| œgmÊiì´M؈¸[ÿÆã{•o-‹h›„!Ä× _«¦‹·#Z+ îÑ*¥;Æ9ÇóŽFäÑÕfk® ‡,»xOYíïCéôÒ@«âÚÞRèõ9 ÊøVOßÜÛsjwO¥Ë”Dn›pÖôào¯cd .UAüÂhª¥®R”Ú¬îOäRŽëax§!éaÉ]FeÚE Ëßt#²ïÚ+­ D/–jšÌ5¯4e! ½»ªoFîv’/ø  ÂCû÷Ÿ<œ¯V—!õ7ùÕ7dz‚0ù*“Õc‘]ÅìÊAmé&îzûšUW™y §¿ë:´êü5ƒ443ðÓˆB·"ñë`Þyá™kŸxíX7[sµX -ëɸ0@öèàNkøé’·²˜´N Ç_‹”JK€SLëñµáÏ×á,<71—êä­„£Yz¶5òá²ß»–bm£„=‰@KKh¢Ðû¶'ÇÍU‡œœ7d§r_Ô“[n˜L œ’8;1õÁçÔËÛé0Õ€ؾ¡Ôm«¦†g!^Yúv˜¢Š³†ž0¬ÄT/§}ÁÖð°|òÜávo®L¯Iš¾ÙÉ“FoƒÏA؈­R!]›œgâü”¸]NÏC]¨a¸Ä‹ÞYEùβù…oÇÛn…h#«ÅÍÞMnÐV+š}´÷Ym †'‹˜*p©5y~ßάš±ê·^§ñÂC5$¥‡pÊuoœ#T:ç| ‹(Òõœž(')WßÁoãùɘº•༜Âyz•?1õ7/Œ°Ðµ7­©zéþV1PíÛÜX‚NŸà<üåTZY|r᪡6µá5ÂCª»‹™K€è"Šül®ÂÔqô•ÉFXÃÉX8xݪ޾ˆÁø#ÜwäßíŽÊ&ƒ9«Y·É󆤭.‹½¼B̦ÕÈê“YÁ©Õ$Ë{wk¬ÎÕ'ûìë³;}É3^ê)Èü`-‰M±7Ì í—Š3i^ àDŠþ~Ÿô{OëMÁêÖúe'ï²Dæ yõz<5ÔU§ÿ‘g¨öTa™7ºÎ k§2ú6 òòî´M•Þ„L}ü±á½%Lk£Ù€æ ÷\ÿ‹èâ¼£mg~e­æd¬¿Ù-§äÙO‹î–H¤™öåè½…•C96uHvîe#Êu²Ga‰`ðã8 ×ÐŽ0%žY¢Rý—þ!W×4KEÑ@»_Ÿõàê1=EÝ,ˆt%Øòíê·nFœQ]¯ áÇ›­WÀâßÚžUI1M¨µöí&[ZWPmšÃ·C^~ˆ(yoðëò‹TmUXƒÇa—¿ G(èæf,Ó{¾òô¬­ï¡¹ÜC¨ôÀ”À„0¯TïÑ51#k˜›.Kƒ-I§\X ™r¿âßÜ2æŸDÀ…f³}º­Ü؉ãJˆyê,¤¾³4ÀÜ~z(D£Hª«Ñ*,ýŸ»˜_¿?VùãÛ]ÚgÒÙÅî//K&S·­L/¶G¯ÓꇈŠIÒrmà Ü¡€Pª“³fáwcõ¬g>:C^¼>©ùÏR ?L‰˜°©³~’À•@¬ÉìB.êñ>S™_ñŽ ;v’ÇøNÏ”7zAˆ"EôJ%§#üïöò°SìžÝz{’…©…_ àfÇ"?,¯Ëª¡òñ•kVLÛèvƒ :Àð‚Ù„©qdmØnî]4…½£<¥Î?m±G«&©»CB|ª¬¡t.bFT CÂ%ßW% Ñ!ï㫚̂׶U°pŸoÊÚ. &PE*¶*~pGÏ_ç\ŸNV¶Úäƒ%°¼öÓí–=ìG—slçàÃíoù­kÉ œè$/_TÕxÿ›YF7ˆ[Mýè2G hçxTœYs8îôÕöemt•X I_ë ‰B8wCJ®`ã@à­ Œ}ò±è™íº.å•1my:IÛñ™ÿƒ¾q¤ÈM²Î+Î9ÒùUw°ÍLÕÜÔ¹júŒ›)…€wÿ°•åHÉ¢zr=t•Mc"l¾|àÙÛÌîçüÔ…þzƒ Ûö|«CZ‹È{ 'à@ÈøWœ©‚±OŠä­¿õ»nùWâ¾5hñíÜY!Uq"€ W¯ÅwÆsL?Y¤‹fHµd™ÝßË–­NŒyÚ2e·F¯ö¢+”Ö˜™1kÏec•‰’ä3ÁÅu¸ºÀ2’‰û+ªÓ>“Z×ûH ™¶ùÈM·o¼u_°(¡ûf9÷TI#y]+…ìÜJ™¦âߘ£ðQu[™ãOØ[dOÒlAØ_—Îï&|ý€®3\$î«s;„E'Õ¸+  ŸÉk+Oãd~ZÉp½}s‰Oµ¾+´>ŠMB«h0} !uº€ÔÁ¶„מœ5 Þúû)*€®¼T}‡a$[-¨»LÑÛ‘On~¾§;àOM»ØB\®±þgžã4ø{Š¥yb¯ol˜T®÷¼¥ªl›Äsðjc@C¹´ •QÝ'æÌO•†Þo H(·Éý©žâ‰OJv´M»ÂÞßë*– n"Ϊ²Ñêzù¨Ä¤Ñ^†èÝÊ6vHF ´‘,½«jü—V3ŽÒ˜*¢W*IÌ}zòB†6»0Ið#ödØœÐLèÉ]`Þ¬i=gL {):í@,Gì|‹è2‡N™;h»B¹Ž³ ãï:ü¥ž±æÙ.‘(¸^!7ýÖ :Ù?fê !ð üÿ;ôœÅCb~ä»Cƒd÷°¦`ðØ4êÕê ¯ÒÄ{Ó½d°ÿS} Q9\Ý7È cGÒ‹Ýsñáþ Òé?X¸’ Àùã@ìNªð5ç®æ+k­Û(ßï)»rŒÅ`w!DæÙÉÐ+þo¦Ë1„ÍÖúð,g\·ˆ( v}Dyv“èÎŽA c׋̾dW¿KÚ©\·†IÂh¶ä:²y¼w¶‰Y¤Gá$9%AEgW¹DÛŽ*q÷’ºç)ÛáeGIÓ7E—í•'LXmQ²¦”c7i֑ϧF«ÿ_ê–b1ÉO¤±\rE"î†ë­óIÐŽ²3Éôœ^°Ðí…‹Ù8@ä0aAìü$lâ@ÃcYZ†{>)Â÷Œk(Š‚Y8“³Ÿòš¯õ΂lÍ ?îWìgn=krüCî-¿ ìm/Õöþò«:y&ñµ®xPásš¥³0#!L§ÑƒS¢>Ôi° ˜ò"âbj êA(½Ht­Ú…ˆC.h\•÷„+¬¼äsªÍ¤ÅÃL|úû†~®ß)|6FjaÏêþít€4 â~«Ø軡™Ž^h‡µ‘‚Ö/ùÐÑK/»T(”LCY›3cÄ•z ”Ès HËýUñ±%kgUÙ© þÈ_‡‹i¿ I_£‡^Ù'Äfä{pÔZœ®‰„Ųr¶°ÆÊ‰‰¡§õù˜p-tKÂ`\Yâcý7ˆc=óØøÁgdDG§i°™Ì—/$^iG[ëÆéë5‚}­D¡ò]¼È|ìÆég ×ÊÂØŒÙrÎ5B ©ØßHØG@ÅtY0æ ²¾8YÒù`¸¹ÕqÀ‹w^“Ý£#‚›mör£_ÂE¯" E~·¨ö OÐØŸêtºÕ7ùœˆ‰“OénÄ2™µÝâÇXwì©ãó ¿ŒC&5,lrzÇ‹“èiJi*ˆ E<1,´Çci¢ ð˜•S]›FW'Tõ$+!E ×ášXA–.îi,ï,dyläúU¡1 à/ð7u7öwd;ž0¨Œ¦;ås+q-² Ó·N‡9ªi‰ÎÈw¡YÜØø£¬‚M‡&‡¨¼&Ž5ÛÔOû¨…Z""«æxt Ë!M”¯\à*M$\ 1”Æ9ÆÕ´ç’Š —}§ :Ýu„<;ò=ÝCyT8•½GîO©3ˆ/ïÉÞ©‹ŽäQÌšýû./ƒÅQóé* ”fê.ÓI•x|ê2÷ð˜D„};÷¾ä.$Nå‰RÎ Ä»£í+·ÝÒ*‹;}ƣ̋ôàn×NmqKº±4~]¬4ðõÓöJ°Žo—ÖŽÂiF,S]yT®ey J{)ü 8™ŸìøNlÔ¼xÙØ]Ϙ ßXÂh85ýé¡Ú‘C3ò ’¤µ”I}#rì:)Ô[à~´–gòãš–áÕ(`yoª˜éùÉ¢ÅnDdûŒŠ™ °¡Û¤î€…šÿÍvæãÞtGTK% t MÐH<ƒ™CxÅ¢óvÊør¶xôÅhÚ“M;%I¦ÿ‹Ö(]W¤IZ`°ãÐ"Í<Ý­½ï¶0·ÔŸæbš¬ Sǘä¯6ö kd Öu3–‹$bïØ¼0öA+’`IÛï,Í‘'bÙæ¡™ eãç”0ûÖ„g>)à·>î–m~4üœOH³„ÔMKHßf‹-ÈÔ“€é#ÃÈË#ö q‡GBçzÈHŽªÅPžáå(GMèÓ“#T:K=½«É "?;‹Íý²o‚ùa‡5ø6Õ|øÊ>R«F¬çdË1*®ää*o”FÐúqªì,æÌÿ;÷m¯tW~À „m( xȃWgUyÍÏ7Çû³^=¦@F· mÍ̧9pgHðã¹ÕsN#Î?H„¥P~ÁÉ-Ö|µÈ1nzX¨¯­·°¤<„n¦NÒZ?”Šiqav/)\wð+ÄZX?ªoåL^ÐÍ.²4ëóœWJ¼i\D#ɺھìë)Ðf‰·áåX@úâ“Ý@zBœ‹ÑN« ìž“=hÁÂB•ßÙ$­Ü ªoE¾–Õ\,·½Õ­ëÃMV|š¨¸$ ºRßv6óîimÎôÒ<úayßpNÅ,þ@D—,ò*v ©|Ðr«)º‚õÊÐ~N“ Ñ²Ý/V! DÁHŒ>ï«[`§FS¿ãçl%õÿO{÷§íóE  ª*Ê~,‡Ø:O$*WÅCÚº¹~ð±# `m‘#||&ù”À„úkfµüÐ¥8YˆS æÁUò?ËU±/nI.ºt&ªU¾· „^r C7;ÏžÊ?neëÄ5Ú©­î/'齯[9:¼Ô§öÆ/‰nóhÏéReUZ$}wÙ¿HÅzßÁµN[Á@})®1,>†™£tU I<ž ®Œ¯N(:ÙvGõ ¶þæ<Ô… Òq甡DŒÏóCUTÑY¯ )Â"Ôà~U ?×F$mÎ $ ŽËÆ“Eé€í÷<˜ÑØÄ="„œÓTõX¦C§®Ë\•ïiP«M€Êô÷“éÑú²ªðIoI¨òR›Î…1–›xÄJ¢ÀT6†' (ìñr3Ù-Þ.ÉA'ÛX#_ÖNÃ\H–·q81†·3 ×UÅã…ä%'Ú ÚŸ¡ÑÊëS#JØ#|NeåÈý‘ ‰œÚKé+ñiù}T¹”œgì{±m:‰€]UÔiO™–^3f­3%? ÛÿÙ"Â;†cdSKÝbš[¼ƒÌÝ#¿"Aá8{ŽŒ8…íGº:T½ÐëÁÓÿŸ$û3.­—´e„M½z}a™“ïVHЙ¬]!øÉ§Í†Ý²Ï (8pA0²?é6)J-݃tÃà…›5ø‹c@eKg6.w:ÓÅÁCbNÙ3î¶ÞüX._•öVÛ²eC^ÇÏi’›ãЩE(—6ˆ 5Î]©GÂN]Qg^¯ùìYª˜jÅÔ–ÞÝ4µFì™´k€ ø êšt'JÔºÖýÛ¢Cÿ4`ލŒÛôÑL‡Nf­}LGœ‰KÐYD>Jpìäj š®Në)‡Èé݈ƒ“Çiž'öÎf÷¯çþŸÔ?=ðÕ'ÃYï+/¦Ïž0Û—aÓ€ÄîÇ<ŸŸêYpǾcûû0Qݲ‘Ó×ï»|‡+Ýj³™.i%béæHÏ'b”Dx ´ù0ç§ M˜”ö;Á*µ¸"…¤ÀE™ú3˜]GdZåOƒ'êø5®©_]e6ħB’:õçש•¯IµËl Yþ"ÐÁe·üðËX´ÒÍU'' ¬ ^w×ÊM+é¯Û±iðb&û¥µì(œaòK)Ë£Ù"þ¹½ü›ì·Ø©Ü]gûAI*í^SeÏ–M ú½–‚þrDÁ¿˜7鑜 þâR Ã0_kŒqŠ2 ƒ4°´5%µ®{ÐdlC©ð–VÁìO®àÿâIx†:ù(eÀ»éî‡s&6dçHÓ½Â,¬»Áãw?›_ƒÓЉäxä]'Æ]†–“›i?˜E)K\mX¥ˆgWúJæ‚UÖ@äÒ¡âC4;ü¶&I¹Æ¡–€¯ü¿Aȇ<ŠDº‹0,‚ÛÛð,)PI—i>Z›[=Ì0o›ÎªMBF8a~Û¼Ž`Aщ.½»ƒ‡·i;—ë²Qòy’Ó\šÔ‚ ÐRðÛõõ¾à8'ÄJj_9™a’ÃUr_´²6„|ébW+DîNÇ}³,¦|ÈéW U&"p:šr阜¶I‰3¢ì⻥²øqhãÒÄ †²ÂD¦w›šÜÄ  ‰`•ÖÆGüýRÄgêz]…ªit?Á½ÇО**<ˆ\úr¾A=8«&$Àd3ÞEq–¹·'qË‹š7/Þ"v!تíŠIŽ èÊ&Maþ¿Å-Gí”eJÏíc© ücÌq NÖÃS5³!ô y-÷g9=ê~„‹üÚU[hgF¾€ 5#}uÊ]'e"àc¬à¥T4Ò©‡#˜`˜ÑƒíP¿ˆâgLkÎ{œï6w§ï£Ó‚½¿,Ø·@›¤“H°±·–xÅè~µg|šH> &Ͼð+“I (²Ø0eµ¹Ñ(þ*ÓC¢§«ÇF%ôþ¯X`ÄÜ“¸U«ÒKø×Ô’:[‡™5öºt QÑGŽCLÛß³czgÉYcÙ/tÙ—õ„:F1Ù­¶iŒçû]Èÿ M ½a‘Õã\`§SÄœ“Ðè©æZ·™:£pGE°æú%æ…™Í9é<W¶&Ó¯cU[óˆßÊ2­‚„ú›ŒÓô.„”³ri­´xSkD–jóEv CSûc@2åA%/èÚêਭs¢–¹šü¾/žÇÆùòÆ6!\áoÉQu¯ßL‚+Z ©ýqdjâ[p»èOu8Xå¬áðl¯€Üb,Ú÷3ì†Ö‰#Ñ]ë"øy «s¸KT3†]ÎÍêG¿)Z!8U]£gçÐþ Sƒ/Ü».CY\mõÆ1¤57͈8#„B%õÝsf\,Üòu*Ê;B ›«£ÙÅx•ê*þu#[Xh‡‚‰0`ý¢˜Ü¸*ˆ+½£F ÕqAš$ð¢ä7}¶Ò„ÿ/ÚÓdˆz0ØÚª{)§EÅ=‹©’$f¹å÷›'%¦û®ºŸ}ðåçÆ<ËÓÎ wŸaK$¦«L‹Çª,V¾Ò$ünÉ‚àpÚÿ^†ÛtµWÓJ—U%6•cN;¸ëªx’Ë©Äê0Ao7ಠ«»¥³¶ä>—‰þf;©þÚdNÑÈV5H={}¢À‡So«Wím­7’¢ˆñáôW÷À _?0ù¬Q3ªuãzí’04Fî$†ëjü,¨¡Î%Ž¢ö…„g¯sšnöŠ:µŠŸ&†G4jä±1¦Ê£¡IÏUë\_†%UÀÝóû{MEÂ,ÖÀ Ù†åª 8¹_psk’U¤àRòå#GÉqí·ÍmLý¶º,)A}!SߜܜĿ—^ÆÖêb1Á_õÔßøU2 nÚÒP!´ùlP‘ïú!)sDZ<ûƒïKmƒùl¦ò˜ãôÊ}‹Nó?BtË(Åñ@™>*W(˜e>½¦îó“6^\‡R"—¸‚ ƒAŠvÌ^»uS$`à]1ÙÏ\ùKÕºšÂ‰KÕ™¼ƒ4fAÈàЮÜBÞê¤Í»Ü“#wåPŠÁ¥¶¬"V¹oK‰\ªûp»"Pr2iNó®‘;ä&§x–UMqÀSÔŸŒ7šk 4ÉØÀ‡–ÀªÜð{P¿/3} ¯¶¡F§pgŸ÷^É)÷ÙWæ#<û\ë¾PP»lQØdotçàÖà›‚—U(w°à8é:'°*{ÔŸÄ"jÍuld ¹üõÖ¢ˆõQcù:rñGFùÑ«Ycªæ-nfú“^^,Åæ™ɇµýÖCý½ªX‰œ$¶àënØ¥ñ|³Q"ÊQn¥$r7«9P—V¤›SV_?åÅŠóÅúþÖLȱL†¦å„ó37åÎ3»öR®ßW5ËÇ.bp3}0YÿqèuFø£Òu0P<ºÉcÉÍVÙ ÏîÙÆƒÁãìé¼?,c_~;2Æí>di·ë³,~]µX“•p·ˆT•ϰvK=PV«¢gI6óOé_z£¶çZ¹ç€v$ëÕE‡É§|°3Î`¿ÑÃÁ2qö—¹€ ƒ5ÒPdÁNf© €.Kÿ·˜êÖÓÖÏÿ FȬg·oAš¬ÞžÔQ“]ï³{‹úp£jŠ«²ê[kÕˆƒÁ?z}cÈoæê¬Q …HA´„Ì,ÔÞ%0UàÚù–ì€,”€L–%¯úóR ïµÕ.OÞ™fÄÂÐæƒgI¨Ô"-wXnÐÃÛ ãpÛÎ27?¦eÿ,dg’hú_‰8‰õå·AµL›éÁR|XLÞ­šÙ´ŠƒkÊ’"cÃð%Gg¹ü>Q2¨É†Ò‘€ýáK…¨ÝÇ6^tl-q®æÁì<õSœ÷[J“ëì™mú€ŽPhªS ð ã÷þAó¦ö~öù7ë‡ø€§v#¥ÅÿË}Nâ!_|VX¨ô8yQÁ Ãs²µÏ 9,M¬0òók³ÿó^¶¯ÉD? š“·aâ"eÊM’¹I1ÊÄÅÐ…i?g‡Uî¤1ØŽ³\¤¯&±oñ^aÎÚM£6TS-´ßõ%LH3“³1ßE—9r31 gàÁ äÒœ1]>Ax߉sål€^•½2Hݯ‰@Áœ _Ò¶~RjP K!ÈeØÿc=°i,UѳÖaý¹P^Ãp“üìlÖïL]ݳe&£oªT¶Ôå™j’Pjëéé•¢† ¥;[Ž–qé7¾qÐDxGq;žÚ“´>•òqÒh²=æÜÂ×™4éÕ …“,£ ¶OïËzxäºUà¹W tÀ¥dJÝÈÞ„¥úI4„"=™+÷…Œ)fü*Ë ‡mÚêçñ®{"TZÚ?¯xCcÊšþ_sV†¿0´ùúc†©×§BÓâ«iÚ2ËÊT¨Yl&=}Z¥kO'ÌÒ/õ–/ÿEï”9ã¯Sˆ()ÓñÜ.‰e‰À‘~»ŽP†xëžÜVW¨÷ÈVj2¢„÷gëú÷üœMU‰Ðò¹¤‡Ú’EÚÇʬ9t˜Ày›ÃfinÎ ›ö Ê2® ñÃ9á±´&@£Ò¿ÐàOYß³!Y]8,N¸; ñ$1D®LŸ‡”«@:„;ò÷T‰bU†AnSQIy0Cö—ï–u»hŒœÛ€SάÓ*ˆ‡” ªû²ÞVûŒŸwþ\iPŒÖµ Ë¡^ièäA_˜ºRw‹ÎEÚ¨g=¢(ƛŤ<Ž7Hvê’á >§ñ¢°X‰Ô=Lêoæ1޵…ÿß<ùïÈak öt"¤z@ñõã|ô£¨<w ÇšqÅ` Rx÷EÌŒ´Ù¤¢ó0gSî㾆ÉU_=]_dÇM¶Bsæ·sI«'½Fæ“çd;¢ÑdÊU51¦oÜwÊhŸìveA¨NÇî¸áÎg^DïV—/–Ó9[îrîb Ïj·§ž¥ãCÞe,pª¸1»Á¥”ö\‰DM67ƺýÜaŠa®‚×l­=ÉOçùÐffCñ—"QAzŒã,©›TI¤%9vž:ɼ8—6­'Xa  ؾÀVc=J’⊲ €ŸŒPÍçV*Ÿ—Q‰§Eñ.mLtIsДbØPˆWÜì'*4Gy/Ü;u5›0¾²hÓ›©LÔB/ß å\•…F”²ÿ¶Þ±s*tþpûÙ®4da÷Ãú¨ðrb¯Ó¿›¼P1pDL`– Mƒ/öåz¼PÌzqôF[±€£âRÔVFóqSfôjmv{¾=#£'«Wý&Íì÷ËÏ4Þ#f1ŸÓyt|"äãWÛ`­¥©®á/.Lk8Ÿè~݇TÉðm5º›|ÉÛ†Ok*(_WžêP\ûßM =ù1ËûØsµ’…ÉïY¯ç–%HÕÆ>c»D©2È%›Ž9…sœûwæƒ,®òOsï÷âIsª.Óï' ü¾»]âd&ŒE Sod}ù#äÁ&¦í…gT°îÇYÔçol¸¶m¸$é­„¿]+øuô kFÖÓpÀ`>²;P"“ýû§Þù®Á”ÔLý øÍ(ù­¦°ÀIß"4³Òéð"¾P>ö2ájC=äkŸð¦ëÄXÛÒ¬8ª¦pq Bý!ö˜6¤lg_ %nK¥îU?,ú½.eµåÁÞ}¬om&M/ζiØÊŠQ’u8!Q$a¼c'°Y¡èíP™Ûî|§ˆ|ˆ\_s&7 ȘMa¼(þ#Îì<j?Àz'ÙéÃ7•û‰íÆìòóÜXkÊÝSfÑ%É0üt\cÅíîSúçé^ÙÂGã|$q×Lи¢€m›¯ëV|½mÌ«wl+÷ð ½ş̈́½"õFbQgùì,à4#’@aèø¦jªÏ"»‚~Aȉ؃Ðßþ!a&Ö‡âh™y0©æ‹3óO¡VÊ _qKO,m¢Óž  71‰Óz¤¸E쑦R/ Dª¹îF´‰5f\ØÕ*×ðƒíû,+ýp•bŽí‘néºíìþ¸fêû)H^…XGÊ<þ<±%”€Ð…|/‘éÆý)„ð ~çr<.k6hÖOFÅB5î<Š9[‚txÑ·ð‚Ùì„O‘Ø5ÿFU@ÜSG€ïÔ‡†|NjŒÜQÔúšr].±£µbYâ³6FZWPÃèá¼mVcj©·˜rN*}¤ #Ögª²rÞ0Òætó#WƳ©vðJ9ôøÄê &ß{ȪŒ7¡/ îœ•OPM‹óêô8„×0Q!rûAëÌ¢ð£Ï¯"Êçù⸢<µqq—þ×1Ó5Ø,‚ã-œœ()Z „ÁZ)aA>ÐàÑÓÆ`M„»g/̹9Ùª”8y-‰ö'r ç2\1/†ô„“èÑË5£O6¥+å׿>²«ž<÷ãbëò2$¬ ßY´^WUKº_nì}íã7Ÿ‡øxCª¿9a†¨NŒBDž±^>„7*•Æ´)»¦„)Ýщ}½ [tà`,”N:)c2ž;,5í—ÉïÜ&C÷¤”áE …ƒYÏIl¢B`#]2^Ûm¿Ïžb ß|Y‹ÜÌ…„‚KF¦Bcð4|anÅŸ{ù/Ê€‹;/ÊÓÝèŠ@åüŽ¶ì„ ÔC¦}TyöÿZxŒrŠ˜½ª©œL.ráʨÀN y쉞 b­Ä&d¦C®ÈêÜ„ã¯8â¼~‰UØc›NÊ»ÈPŸ®¾E4 ²Ø"Do¾sjBµ ìô•âÛªóâ`H{’ä‡óí[\¡¡vËŸÖâiù"‚(JçèÑ4—ahÑ»,÷37'-N%„àMí‚.hI.˜¾ûX‚ÎÆHÍÖVñĬ¤èKâ¼~ôwB€tת|R}Sbp0@‚×µºÐýy¿9†J_0Ï ID8F,U§<ÕúèåÒ—ˆ!õ½úz§¸û_ˆ"{±‡ckBNAÔçd•vÁŸÈ¶¦¸{ž gMÓáçóˆfw6 $kuÝ„¿Ëçf¢•6 ×±yÈ „"ºÜ{ÁŸÕìH‰§—íÚR³/r‰d:âŠáSAiXØ|“5»(p0w“—ÑQ¬…¯ ¬r‹ëÑÎáI¸£ò·Þ0!öxU¦%¼¨P‚Ý$h¥«wS‡q¯¬8›á²’¹B„Ä4R.´ëÀŽ}°Ð‡Mê.ád‹g¼úY—¬ÖÓÔ“C¶¢äGùì­pÀ¾]kåÄì#€LHöD`ò¤ªvy<±Çáy4Îf/³"§’·°ÍWxNf<ÿÜË¡H5B Á/½•áYªT¸ -p_cê¾m¯:ÐÌ}+ÏsffX¼jxJC·†…ÓMt÷ªÈˆÓHv–Î5çÝòÅ›\ê_Sßylë²ÿ½•Œ“9>L%¸±cch¤ÂgÞå2˜.ìÍxhg%–³4UÒ 6®Øf;´&»œŒŸiH*În)玴ZÀÂN±Vò„YèݸÕÅæ7f‚c#ÎoºQ¶š>Ÿ1w¢öŠ’˜0ƒ›Š­­jS?&û{ %Ò'Uï6~µ!‚éƒçp²áb¶ñ™!poª\^c{iï €¦/šÂ|*x—îp1ì…àÍç6会cÜÁ\] Éç-a‹ Ú£È;æñ:gXk'˜úŒÞÏuÅp3´óûêÞm\ÎÞƒâó›ç]Ûôb±»R8£aÍmqò±ÈpäüŦC è\ü>­‡Ô·8×D=à–~ª¿âpª ¸Løh)þ€ü’mÇéìh×]ë/݇ˆò£ôZáÊ“V¤œüƒ ô[%º>'ØŽHie¤¾¦»u2\)=°‰Q•M²Vêѱ,IéãñƒÉã’–«,š6ÃwúlâB¢£XívM4Õ_G(q-~Ìù¹§è¯GÐ,céJAºo賈“^ITD"7á»E€c-$ldSùŸ4šP÷sÝë°¸óñÉ]ÑUFœ"ź5OÃH&¦°Þ»zš_Õ½mçЭ;ÙA­àÏìðœLšÝºÂzÂ<@§â—º%à/ »?µ!ì•ÞÔkŽZ I‘žÎ‹šºS »{ñ­Ÿm®Í¯[Z­¸_-)‰—Ôg}p7Þ9ñ•'ÿ,išŸÓÙø]÷ØŠ…?î_'ÜìOj5 TJbê*Àr,„mÏPHðxFh ÕyÜÍXôìZœN)WÒ™^L‘ˆc;5‹(ä²w\M"*$°Çu"õ²(Á>O³£—_&<˜Z²æÒ“fÅóú'îµ9{ðMDÞU"ÙÊ•_™wÌKAs(l5Ä^;qûV”ZíþÓút<ç ¡XÆVÃ³ÌØÅJÜú—Dñ! ¬…ï¿2‡QB>…{:‘…êÇHšJÚ(ÝFÿ# ÆÅ6¦¿›˜¹#Òët| QÔs,œAƾûŠˆ› ø¶qºÔ¬-a2^tàö”ÌöÒÍÌô7Î×HÂv@ôªÆ6g=P¢¿¹‚à‡2 &„õ!¢ÙÌØÌÚx)$ŽÉz=(zéî¾ Q$yŠÚ‹é ¿ïsså¾pÅ›¼ÎBä.«Ðš8‡ã'‘Ê ªd¹C"îà)ýï<Î … óÕ´±ŽõæB¶hqc±_ž`)zI„;—ùhc‹¥$§U€ó™ò£.#°:Æ?éÊtKÐJû¦ ‚Kà|ž[²QþÛÜs‰û…¶£ ömŒák|±¡ª…nÄ{¿f¬ Ìû ±HhÑ‘T™Q±§ºHáxç$ð¿Âð̘¤çÆb¿Ã3m‰0\æ1˜U§ÍåOÀã9›^8 uç™Æ ß ‚þ`¾š©¾!)>Ê2\6‡dû_ Ö³e‡¢¸VU½lmú_R³S¸‡’¡M\0 ¾¢¼`Úº_ ñWÙÌŠb4?‰!ÛR¦|)Ía†Ñ>²fòÈ?çëÌ2Ø£g{„‹i+® Ô»MwÂþ¬í3oæ¸à<4è H”V-PóŒ?z§°„â[ ÌN“A /6ìíXÍíóHtÕ^äêÓÔ4NÇBÚ”%ùƒÿóÖ†ô ½qajû5ˆ¶cnd‘~bµ7ÒU˜®êá‘ǯsÉÂb•.ç…6ÜžTºÉ ‚_íïÅ‘Š¼Í‘5=µÚxcQ›|ëŠÌÕGBÿPB®&xo¨ s`Öoê”d,]GœUá©á©`sið/ ™Y”áR ”»À(×/æ'Fr=Í´¡Ú†ük%¿vGþ‚°Ý«d›2~DyðÝ­ pD$Û¬ÿû"µ2"b¹Ë‘S±¡¤­«vB3YåœÔÄR)`´æXøÑO–ü÷6ÈP2û¶„óÍvIÒ¨|rÚé5G(/ì ¼M£õ6-LðYöjxÜÍáà—ˆ3vŠ(^êö ‹OJí‘Ëf¦Ï×D¶ÑLD“d~h˜j|¨qÅ®Yï½#1‚Ä€H…4peþ¥æ9Úy®y¹¿ÛÀ&}—9_H5ñÖQì8Ì£ß]Jo¹ª–K>‡«Ê,h†ÈÁó„`{Rgñ«ì˜ÑBdØ5ؽ¾îÓ7-© çäë·ž›'èó×ÅyÕõ¿•ŒòÖ}:3xįi[6U!Œ¾syŸæ½ƒšg[ª;h|ÏR!Êj_Z½áã*„oµ)™ïS?–ƒ«höH²]”³¬Z'›±"PBŒ1lÀ|7ÕÑâ‘ l.‰L”ö¿ O¿X ?tÌR»_ƒgž†„ ÝBc/rIDØ ÿ’ò¹bªN ¶íÙ¤òœŽ4é×~1ÏÄfœV]µ‰î+ºÄ}‡ö¼ÆwDwÛÒ(K”b…†@éN˘g [Ë ƒO"^oƒ{ Á‹+û+éò‹4M€ôøÍr'Q‚ Û´ 8 0rZJÊ"Š ØÿL-nôF`¿î`E} W“5Ú;x0¹ÊìùÞ£Œv舞?0=á#yNÖ5?+y'¦Ã,JÅðô¼kŒ` §¹u&¥Ý) I·øeΗWÊø¼·×Ð4ê!a=± Š”ïý‚ 0zÊíS’¡N`ŒW3ƒ*Ïr*!¬ Åëk€£çîÉYÙ×å`±nÜ¡Qý%9IYñi‰ú,ËoÏÑGûôœRi¡­(!ŒÙŠOíŽé'¸¾é’-ʪžqœUèPÑ›²Eü3t«µ ˜šr˜µüMÑ Ø÷n+!H †°€Žaç0-àg»Á(×`]$¦¦6fzÜV_SL¤Þ†¢ ö1à`fT„ìíD~ìˆÓ²|RúŽîj–žBcÍvuä6B— Ù‚YzlÎBÐSÖÚ-V©áX÷¤zkyö•Ådihˆd&é<ñèç*aséß1‘gVr8¿~½)(c`¨¦~˜ÍnÇTÔKýŽ]qPÀKy!ˆPÃùü¨}’Fƒö¾˜€/2eùŒ”;‚˜¹팎•¹IÐ¥vEÂR~¡)0¨ëèpÓœ!•Ù*äˆ3†lâæf˜–æ¥Lù]CêçJ ÜÊ&¤dà•¿ƒŠû!PКò“rˆ’¹l#ï -§€-ÐZµÄÙ¨:î<2žxŸJ6vE­QP,æúóÁn¶T×L§Šm˜ý CmæÄνË)ž`åcný”1mÎwË?yGDž0}Ç›ýN#›bÌ¡2ÛÿL±ø=JŸ’ånj_ªåji"Û7Ë©j¸DÝá»pÚ’ü¶¡fÙŽT®Î@ÓvPÆËå»<üNK,Ûhv˜¼!jË€Fœ•žŽ³'|­|5» RSˆ–š‚Y+ìÎ> V°  Q‚b"6ÉŽv.•ÿ§;ÉÑt…rE>£`sËÛ<“jb‘ˆ[Ñ®ä졧픲,Ú*{A ÑÀ—ê—Í|_F‡>Eˆ¾š‰¤®èG²F¤™‰o´…”•Õ fQgÂÆJFfBï"fŸF‚a”uç j^ÄÁ/Ýn’ª©´ÛŸ=’ò{¸L”æ¼Và<¥Ò‚€ë$”½s»oÈÄX° Z” í“vëÕŒð~$lÇjþ#zÿĂûG%«Ÿáö*†Þ1½àK$‹áY¨‰)ð v~yW…°‘Àj9â/©ûƒàøés8|G}¯Ÿ°ã“E‚“«÷¤†âH´GLÁ¸ò…XW\x(ƒâhÿ…˜Ûìu‡ëÀv”Rôô y'”¡ÇB~@u S%ò̬_#îÐÚjÚà{ŠG²¤R¿<þHdÎJð†ÌÇܽ~ÿ'Æ¥eO£íZzÚŒtà©lûõÚDÊr£7ÏYI‰îãœ1[ÒH§„hAsUµõñAÿN‚1J­Xs› åµÊÝÖ>¥*“zß86o–ú)Ä#68^€GÃI¥äUå-œ?æR²Wž1Š?šó‰°)@z\EòÕ÷é÷%&z±#üÆÀÝÍ׳ÓÝÌUÜnÆøG>ÜÛ,ÛšEµ%vÊNãТÒA%@œx\3K‡%#O×\BdâˆÒÁiY‹ìóº6‰«ÌIôŠ_~ñÇÔ»ÙRMž®%›aQ_XNùŒ_¡áMƒpelû$ ĬÀäŸx­Æ§š¹ô€þT€xÖ‘ žoVcm¦²ZbÚö0t§ÒEæÊ8ÓÈ*ÜÆpÙ$±„ß߯¯+áú 6oòâAHû{Àü%Ty3½Õò»%_±Ñ)Ç¨Ì »Ácûº9vÚŽ0·"ÃUÜr¦¢)›½Ðô9ÏR¼K^ß™øhGHýztä°5—™4±ãåÉ‚d‘±i­ó¦¥X¾œ^ê9D£Áô”3¶¨,˹›¡ ¸¼jÔ°t#Á§þÔeu(’±å!\¦¤Å*r®bf˜ è çü:íIÆ“Ÿ¢3æ ‹,.}k3×XáHª†-*LŠW Ç] ûNu} âõ33»“©ß'3í%Ž$´7jñkÑ7Ñ49¼ùÂ̽}äo`yëg’̉{'§Â€ÊN[¾œ¨Na¿W>駉<ŽÝ¤Ã ¾j§þÛ¾íþDàh»®v}³˜=¡îTç¿«Ò¿ ‡©u7U¦3ZJ†Ã»á-&cöÙ…îòf¯ L‚Ù’EÛJ£Ò£cø÷„Á1ȹÍF({›õœçÕä>œ)ÂG-ˆ!3Sc§›¾Í˜&ÖiWÌ ÄЕì’„üdó¡v€¬×"σ£þ] 5©'Ìâ[,ÿKWêtß·œ(¡Orÿàyʵd¢']/Ôn½šUCã&køæÑ¹aV-a1×jvÜpt.XR[ƒw”¼¢¹Ì6¾ôÞßœ}Î27†?­îAÎòS°·¼°›*­ÐÙ¯ûAÛ)-u99[×Á,Q5¡ú•^Õô=iOu¼¥Š€ ö#1¸ÿ{DÜqÎUؙԹ@Ø2[6Û¦œQ|­b*6qå¦!"—‡3m$ÞÑ8I©dú1¹¿1!>Ñ‹@ÙþbŠT§ëTS/Ì÷æ#FÕ[âÕ³PãòŸT¢üð]Z’™k÷ÑÞ›90· ¯RSÿx]IÐáÀûXohrÏn¹Ež)¸…žÌ}Åœ¯æ ªG×à|Þ PÛ«c w&‹(¨ÅݯóÚúR´6Ñ—q«XÄ›^–ÓžÏBÖPí=¦HædD)ƒ<|ð˜xÌ"E£á¢K…_1jš› UelÅh9Ãq`ÓŠÒÉëßT.é"KêŠjz¼ {ÍÜ‘ä5 rwnú(Fs¶Ÿ©½ìqRèì=Q_KÔë3Þ±Œ¦r*¢ +¤À÷‡QbÉ-©€›M§¬0@QeMS‘§ßÕß‹rùÑúÁ† –¦ UÞÃuá ¿É$ø¥d} yyP¦F?¹¦JÓl?ž…O};ßõÁs…=m™l™   h€Ç É@%{øMÌt°Í>$E58¾zŒ³_çŠN:¶|:„MˆôÌ~14Š+=Å$=×ÑLà÷ÆbÜäÉ-|E1Îj³U¿‚„ /C°îF°×ªT;Ö{C–à³)2AG¹"y‹ã|®`ÿPìã¢Ù“ÆB‹Ö‚:üOLDÆÜm˜Î3‡³SÄ`÷÷>ËÖ®„|\†4å©^jD j·'7:—ˆÉK÷œPD‡=’Hd\ñâHCW‰A† Ï›Ÿ^!}I^S–º)Oæ^íXcë8þûÓØ<òVˆr9б9‚†‚kWô0ѲàƒûTìø[3vVL߃•6n?rÃBµœî÷ÔUš~û"säCöŸoDe@ÍšÐÛÊŠMˆ1 @L%§hð©ºIôÄCp[×óå–Î »ž1‘­_4xÒƒ=,ªô5¿u¸yæ3’‘v~Îmí\;Ò–Ôcfwe>Ïjã)ä—øAqjÞ»¢á?QO€Ù ‹F+€Z½Š´k 'a¨®sk wWgâÎͯ €ˆÆ³„¿9.x@¹¬As—„Y£—òN5=]—9þÆÓAbúY,èL»_£™¥æå³0 ?Öë­w-£æù`¿Y:k=s»âN磄ûbeZK®ò•ÊkÎmpgý¥dÔõÚMrb¥·ÒÏÁ‰CLòÜÏhóéL“2K²‚a•.T1ɨŽdÐ?»¼+tÿ÷ ŽO)sóYÕ°¶¡_¸–RM÷«ü«¨Ñ^ø¼ Ë÷¤q.‘Œ“¢Lܧ®±2ßmz³AsÝ×8þR0Ù(T7t]_™o,-‡ оîÄøWs^†<Âp[CjÒ‚"€¿íƒ*$Å—°ãá=ZÂÎ`×Ñw/,—Õ›R{BÅÕ“à…€,§¯Kι½ŸiˆÞ æYâj&“Úž,ðjqP¥ÛCZùËãäM†?ï¼3ìu¬¢ÛEùLý¡ûÞÃ;xjÎR3:'‡$“ËÖ`—Í ‚m‘K‡–ض ßä9bW&ëíb0Ç'Îåë4gò×ÿëÁ•½'}x0øíA‘“`B[,m¤Sôïö·Rý¾ˆ;ÙWïÐÿèëGˆ|ZÊ’B·re°sÅ>KðVüQžŠmé±ç»ïŽ™ioHú1ë<}Ú‡2¨£žªŽ ?STÁ_úš›5È3çM!£)滓6…©œ`Û7Š43_NŽÂköy\ä–zó @©ºFßÝKŒ&ãzqooÇ8Н³wç˜Oq·Ri÷芞@Ÿ•µ]‡kŸ 3Ì·NÎFÀ$'frîS ¤4¸1ÕªOãâZXnT¥¥ž’'/BÒñ‰k´áí<ë’º¡Ö½}@Z°î ¨ÕÜRá·ÿíÉ>Ý}¸ýžg%›K½&bSø»ò<‘ép:¨Îº¼U¸ð¾t¡îÊÍú&œ ¾ãêåàÊ—— k³²*¯ÊN3ë—"ÔÃÃÄùb;cÙ+ýÙ€!¿%Þ¬ýWž×áïOÀ—Á_pŽû¦9xœó‹º@¹÷Y@tÒ‡¸ºøK“c­JY?é¯%~ ¨ÊN"¼ýt ›éã LþMS ›)ƒý¥ä“úq¯’:5úÄ³ÙøŽ/è~:Рl]+Óp‰>ÓêÝÞJç8¬ûÀN™Ø_Ÿs¬:4bX—ž"á mˆ‘ßSË…#±¨=)ª^À¨E)®ÉôçVGüWpo·ø Öð&qE¶»ñ8óÕïÁñ»4Ì»’_ìSˆz2ý> ”†PÒ/Ï·ëò{ñxå„*žD©œ›ƒ:—xÐlDàœ®h1B>^±b&TE'¤¼NÍ‘V1·“¦A—~BçN¯†sëNï9Šò߇`€ø$·ö’Øzoï ¯Qm~â UÖØsšÈ3þUV^cÖµäȵØw}±Mó§H#ä U ôWµ¤Z沈Gd¹ó ‹Å/âís’QÏ‚¥fÉ.u8u_Ci4óêl‘è1ü`u]id~3T³ä÷ 'Z54­ªS@0LR“­ÚuÔÖêôˆül$ÿϵ©ù‚ì2s&„ùõCÎp£V¡êѶ­Ë*ÖùFÔ&ìÐrï‚„è7yÍ$9¨HÚCwi#ä¡oh:Úñ/à vYxøUk×Åmuø 3ob†óèc97†_o¨7[0„³vÃ*®Í(`ñT sbœHï]QîÉš¸»Ü B?>GfcÚÏ#±ù…Óº=É‚¸’×ò'°hS©f5,ä´œb³I~°¦ËZ-`nr°qê’3WX}Éå-™4œ¨.o†©Šl(©È)××=óóÿEèŒ4úc%¼aCÑ=ô¦¼åû‹Ü+#}Ü®×~ÿ¸5ò©<Œý'Û›MÞNaÏyx{5|Ë´¡ÁVêòÇ=%ÐGuxÆÿä}‘6/{9è´÷ùDˆÅ~¢è mZ¨®¹Ðã·zÐRËG’á#Ç üã=“¢¸÷æÆj6ËàzytÄÉ@ÎÑ%€o_ÑŒ®ã}ZhúI M‡m=ü³~ –ê5|W)cÔ³O驤»¼æÝ6ŸÖYe¨zŠ(äYf ÚŒƒ]ëtÜ¢ºîbîç+þÊÑÚ„âËÒó6ŽÝýl42žÝeÜcLßJ÷ÍÉai(«¤SRø6× ˜àFl0¡“ Qg-òYÑç>)3phR«ÿ±ä’§4]ôo"ïþø Q™ì‰Æ¦˜o¡Ö±øìè1U`šŠôYz¿ô²ò’ùÉb'@9fÕ}§Ò­ÐØ÷$g}ŸÉÒ±ðôf2G¶0»@ –zÌ·˜ÅáÝ‘9íb¿ç’¶œ¯³‚‡ÆÖ2ÞÆæ´S2Ò?(áºË<5{fgí@u„CØ”ãè”üäÈ;’v¢üäA ã̧²½zÔez´BÆ µA) &vërÒbÂPùhÒÅÕË0M(‡qñco1@ÒÍ%jÕ€UÓ|ë†J.àHYþ@vR9nî$-þ¨géŠHù½!$ÄܳTúä“¡õ´U Áܱ&!v³Îì=Y=àMÜpL\(yN©^Ç>2gésIhÜºÑæМ±ÿ’B¸S8/[rIduÝž„ }¾Ïã¢o„YBºþ›7Ý8º„¹7Bà ãÄÌ•l† ƒÓfkÙéþ¬Т³äçpN’ö€HØKKeÐoÇ­ÌzqžÞ•SÂð¥ó3ˆç eÛÚø(ÚRÆÖ÷-UNú«Ü'ý/?A Uhšën2:Ô}-Þ@bžÛ”^$ ÀçåZ†Àc#¯×ŸJôØšÉômÃPöRÓÇLi'ï^†ïAjtäÓJITížeÂFy«ßå÷ò­…/1a àK“uXùR°Ï:,%±£aËmë¥1úM,ÍàW oèîðÐñ¢IÙr5âù‰÷š~éŒL!"Çð7c³Š Á* 6 g¦{wxØ|ge£ÅHb¬i™g™ÁDI¡P_©ŒÂØ¢{£›©WÃÖU¿êÑwx+¿$þ–Ô»B®ê¦íñúÊÅì3Eàø©¾ŒÙøC^v2yQO½Ô€ø|û—R Š¼ízFÀ°"^ô¸H™ `·BÃb™yœMCۖĵ—£‰*÷e$þ"[ÂQ™× ¯Ü–0ø%ÝYDú†NLqÓtþ)c¿U ‚k¾÷îÓÅÁ]Á¼TÀÀt/ûÖb5ˆZ ¤ÑÉ5±¥IHð›¯ádtö…±®› „Ð ÌPÊòØ ªX‚¶Û#4,_T].áE«Å=5߬æØçÙtÐ×ó’bE‚Ÿ(Cùëú¼SMzû1[µûRs.¿q”©@û. ÎÒÕdÖ¿;{jÚWº_Цd§Þtq‚Œ•†È5*Œ/4$_FäÃI,mbÙ3šp+q¦î˜â°›B:Yæ¦ðŸÍÏS\½—2ÝHUÚ8ÜÀ³0&É%àí å°”w[1Ž:}¦Ôå}M1jÊ÷„rÖ4ºdJ³»2T˜Åƒ´ë=ñV5ÓG67 è5­V6«*4wÕ*}ë¾-Åc=v»6ÀÌtEÎzÈ!Š~Í‚ tÐmcÌv4Ìï6˜‹§>*'UšR¸3Ì3B~Ž'! G°éjÑ~_¯×§ H\@Ûq}D!³z+ÛúƒÊÛåýã%ņӽ)”>Í'Iç ýVw\ÔX`$pV_ûn&BË ¤š­ÀÌê¿çSs¡Üîöû³#[šŒhÀ„BÆ?CéW«8:†!â[T>rÌ#¨[Cþ…ôé6RŒ¢$ûÜ]4XÖC)„rò7?ƒüc @›Z ºÂà’,±Ûg@eJ­3Îr½3ö¥n¶BšBfÄw›I^Ï«UŒê¿¯yŸãw=p¤êþîìÔ"z£½åß’«ÃX kS丳s\Õƒ”g©¬Ej½ïr0ÍuЂÝI±¢_kWomK ȻҔ9så»e E¸¿ÜE °ÓšK[€S@‹MÑLé™þ÷¶Ë¿ÓDߟÑÇC“R«ðÒh!>Q\ÆÊÙ¤iýÄëeß ZOµÀ„¢…†MçJVÊ:ﱇɅ+GÔðÒ¢Œ(¶ÛœlÛªc9¤ãnçãŠøäÃ8<ë ), 0ª08Kgoð˜o?AÇ@õúB7…zzœ*Ìù ú©ËŸVšî7™ÜÜÖ‚k˜5¿»ðDÝnÌÝÜßo¬à¢LõÎE i ”èYÈùh‹œhÓ”þ› 7åL¸v‰è<º›è}#‰Ô6:E ?X-Õk}Mé4xu×ç–î’UìsÁÉ6ràVBÜ®ùâä#^cW¹[Ìc"[ê¬]*<_° ÙDÂ]9é©Z©gP´‹ð“R+ùØ÷h›Œˆúd‹:Šj@¡â3#ÿ¯Ç6#ª`7 Ê,ãO±;ß>æ™ÍåȹâioôŸÿÿ67®*­x¢æ/!Ÿ%!5lp(¬šña .¯jxÔ8¡Ð«Ï7î¾MbÓ v¬Ñ¡Ñ]Y ÛÜ%PȇRZþÏá‘.Ž´Í¸Ø‡Åk‹$ïü!nÒnfNüjäý±Ÿ0"å_Ï•½*°ˆ/A+9 à߯§Ý\xö@§bkÁ$™ÖÁƒ™¿PòùTO5YækÇ]&HNüœg¬n“åš§”~œ×ï)/ÔgñkÔ„è”#öHt 3vÑØ‚¡\lë^‡¤¸õ0ÒE”ö±:7¦.VY;Ö:ÁäÃF±À–#+ùËO›tbÝc0âQ÷Ü»¯=öÝŠWƒAŸ“d"[s3à#/?»Àƒ¤mÞ© õõû¯ß€gE}ñsÒôKzrú„eó¡î’íÿ[qÄ!Dãê‡N˲Êw€CîsjïM;ìäj’ºÓÂñ7_m³îSØ|ôÍ=R¬d†qóJ+©V%Qwfç1²&÷GÿÀFýàWéâ/RÁ(âËÔ‹ [½sªs>Ë­¥b.uÞý~,}áë¡6†äÑž(-e0¤‰Íí´Q]‰ûKAùI†)鿌 {µÞ45\+¿à7PV÷è›àVð´Ÿ+óhkdfM®æXf†V…i¢G¦ÃM&vö]~^²ñˆŒÀ›:H ø_8E½¦Û.$…J & |/¤µì Mr9Q¸x¡` ªÂÌà1]vÑ#U\'(µÖîë›kö!Z–eS·¢¿j“tHˉˈ½uŸMáÞOÎÿ2f0I(¢Ó ™Kó_qkœ5?u tS‚Õ5ôÀ»kˆÿ2èÀ¥ýÎmUqR1Ýø¡ûñ¤`¬41:1¢$ôH þeµ! Jdyì3.$©…ê(½¾ð£ŸCçÝãÛc®YËدŠÞÀùo²åÑÿ 9Jr©GÔXý#jþ¶mêœh?‘y—¸Z¦¥_šiv3Éúôrˆ›°$4صG{¬sYø­GOWƒ«%”sñKýÖóûɹŸª× ¿ÃB¸–ÎL¶®‹sèÒ2)J§Ët°ÓÓs†i-iîŸ_aoF®ÿ“å)påŠz²Œ{¤ðÕ­—@@ÍÀoWÛåSµ)ö‰Œ&_çeoÍÓzhcÍÉÑ–=à¬vd!0Kbýg)œýû™Nå¼G WÂ1Q?ÛÚÇÙÄû©€›Ðú¦"¡=IµÚD¨_´RëQõ‡)ËÌn{ AAÆ.§\ }ìÞ-ropÚH„œ"\Â{ù…<Ò"÷¾¨€öG†'»´¥f¹ÕjÛ«õùZ쩊 *eÁÁzvÏáÝ!8®nu¥–áøÙ:b„ÜéÚÕÊaöPj×yº¿'Ëá“ÚY”uœ—Ïù¼¨¹PP#œ v‡ºDǰœ§­N…teÎlI6óÙSÍ4Þ󲉖 ØOmXº³õL¼®k°bWÿ««Ýg| øÏŠmN·¨`2à*/GØéIfÖ÷~ÇúóÏS0IÛ—%JbU«éO&OtC$5XƲ‡T›SN% ß(ÂRÜûnXºw·’ôµÐºþ¬7ÉÿãݱÑ)á|Ýš|îýB¶™<8?‚3Ä{Ñ[®”ÚSœz#ó…ël,ÉX"MvÉ.¤ÜpØm| 0›%*ü¢·© Ïq]k@ïÈ õ È?{¼J¯Ìw¨€cç2:î*¹JTº.þnEˆ´¥Ö] ¥ ðkg_k)ÄHOMBþþñל4ÍÛtæKՆŦ§MâI’ø’›óÆdÝ%XP•l¼|µ#Ò›ù1³h¹Ð˜¶‰<&Gæ–¦‰ÌZ½öNîl^cmÉ¥Ru‹Þ_ÕÑ5U6ÍU»óÉÑGö˘ÎxµÐ@¡/qâ%õ±0•̈bõl ‹úж=ÐÒTzé–y~¸ˆØ‡}Ç11!N’¶_¾þò‘¼Š3 œ@-[ù—‚yt½…ž¸¶…Éú¿[{OªÇ’ElPËX{‚¤ž!<£ÄÁ˜QOTékwÌU(š¥Ÿ2câg<ö¼ì w³R\;å쮸Qð}™ÎDKëÑÔõP„Ý£&Ã8hJûåß|¶µ—#ªà†f ÖŠB«ƒå]ò‰Üd“ˆA©uÉ€ø]iÿ¶ÞXV¶ÙøU%*i/6àÏÞ°ä¡Ä$ŒÏà»~Îñ96ÀZW?ÏìÆ£6§WaI†{¿üƒ’WiJYh°2LTlM°ãDu Èk¨xÝ«œò\ÚtjªìÚýùjiï ‹þ*r7‹ï‚{©X;“¿#úü›ÁÙIßç&&¶ºñYqÀ‘GÝîomª”˜Í2TB`9æÿÌM8À„~˜3,^Ù8^ƒ²w«ü~waêªs‰ÕJ-K”£]Ú}èø Ey.EÞ£ŒpÜÔÃêvžësŸäò“Yá¿"›wý£CÔ3vߤފžY'’þ âÅœâQ&#B‘Çßñ4%bk~Ñ{›ú]Í­4cÂí÷XDĪuô-ã8”Uá L]ã8dâRÅ5î÷@%èÈ.T“ŸÊÌ ]-‚î(msâ¿uHúÒüƵ֦Y×Ê—“™Œª…dТ©u1ò%r6*w£Ìú5²áb^š9–²§œ:8w¸"ª_“Áı±EãûO`ING°ºù<Æ÷>%UvC‰>5ªaöbrP=ûЪe“°Å¯l<“vZg´m9µÍ“%1iéYy`ôíç·âÓ}KëA/Sõx¼øº Þ¥1;£A¶¨!%ß¬ŽŽ"þvÍ!ä'F¬kd³íÅ3p3jH~õòѧ*­Ð0¤rži"@„jÉ" é«·x¶Sü“¶öaIQ­°úähÈp‰›­;QinßßíM`—‚K´ä]Ó¥=ô÷ÙÇ›[ 0ÚËÈÂx¹ÐR<%Ê÷fc“jü¨6gÖqc·„¶\ ×Àöï8S/­ à­›Îsùž5 ¤¸¥iÙ_œ Ñæg[t,»ƒ´¼5RZüuo؇¦¦qgªb£mt(²9ü4,tõF³&2ïžÀˆžG-ˆ #5©biJm5ÆNí±Q .ëL)Á‹f©Kå¶»}ᅫ±<[•oÁJžÒW…–!”Q¹—w~®¾§…IÓÚú{J&áè9Ü/äÛÙ>lí±z¯œ±9k…ÿLŒ¤ ²¢#Â}ý$àþ³(±Å)”yÜÀú$–›ûš ¹-û. ]O–ó(Uó§kE€…Co±”XD"Hg¿u‚[JÍÒy†f]ŒbЀ9±•£€×Ynédë¥]dä=CÌn“¼l5E)0öçëF0Vâ/:Û&Í_•îÃ?Òe4¡\E¨‚‹JÆÝÇ»/ÄPŒá'¸<㉉듨s4H>²ÈšÏåcçœLÀdaÜí™nÖÓ”¦3dé…n„ZnÏh‡ŒÈÝòÿ*)Ú¸t%Ï¢.P £ÅûÂtR™k¾”³~˜ežñQkðÙ'7 æ–ÀÝýÖ¬ýl¡./(qÎ48¢¹K?ÌÆPk°BÛÝA!“Ò˜U¨K‡ ÷ݺ3²yU‰jõŽ+ñ$6mò¯ ¼R¥»dîmå¤<s¿OQw›1…ʽ®¡Ãh²µlX]]$ŘÏù—¹Ü Þ33½®†;éš­ßY•Úg'½Ç‘§†Pv[*¿¢ –ð¼ÅÀó}Æøu*Èy´J ±ôe: ü ºá8Y%CºÅwSɆVnÇ6¹˜‹,'†&†šÅõs(ôŠSlþƒý)(û‰7‚Ô0°JQÁ&HóÅe¹!˨¢+Vê³rãtÏì¤ó® Å´­"¬Âvù(dÌKõ(‡E+ÀSFZâ¤UÉo Ñö:CºÃ‡A²h¥@_ÏLK=2pÁÝۻܥÍ)xzï×Ë£’ʹóRa¼8q‹;ÿf¢Æ(0Xâ ÝèÇ×ä-¨‹>x¥‘ÛUö º¡ÔVKë"gÛmû÷Š¾Ã¶ßR±Þ^¯ÚƦ?_?ò ?:€ñÜeÙgÃåJ g½cûÑ*Þ×"±› 툊Î{Uù(‚ûÌóh¢éÔ­Œt6ÍäÀYëps ÷-¡½üjWr^%‰…[îðpÀø£‘'D%àêurìR-¦Z1‰¤1÷u¼+ ½ãÃѶÎ@™ðîÍbƒ:ÊQ o¬¿ ƒ»Œy­œ"èYÓ?¨ µÀ@ýý~‹ÞìÒÛÌØ7_k§±}»\üÛlP:k,Gù±Å¯:’°5Èé2ònÛXê°òo͕⠭ž½•þ¶0HQy ÉÍ^×6¼Yy€þ>li£Å5:ļNÙ/B¶¤ƒ}ñ²†':7DsB—D@¨ÌWxh§p×1\¢_63}½/GZ·ÜÖ@Ã;KLîzY—¿Jl&àù0 ÁŠ![&Ñx—ÙfÚB :Ü_\ØH7lIå(ÉBª.3ãªÕ-DF DcQÇÃ`CVm­Ì&œ~c”mTfþfŠjÛ‡°1-¾ÊáV.Â"&2‹Õz=—¢¬o˜̆«ÕßKI£z«c‘wù€0¥~‘mï+Æ?1M¥:üïù°úņSÑ>½‡ñæ {ªý–‰IÿÔ'ËYÀþäGeˆfk´Çä©S4°WiDcqNs ÒóX§_'¬¼I@¤–‰C}ÖïíÅÜÏm;íu‹»Ë6'ö«–ˆ‡ ¥š¯°¥ü».µð¿F‰š8(<½ï7˜~¥€i/޾E¿_Òaœ=þ‹-&H2}iý/‰Î ·("ˆÑð¥dšÔÁøÍ[×£'†ŒR?õ;QU"H±\Å‚ 6–…ý\®*KhÌz;“$p•S׆üœQ÷åbd|‡h"$åâ)¯ íVìÍ3p¹¬6ºQÒ¥¯KçÌ’Áá4˜û¡IœšÈk²& Ò¼h¦{cçw§šGyØ$ã½5Ù_7,3U¦ýˆ§Ø>¯ö3„Vdìj4þ^2Ís0„PÚæÑB2ˆ)óÌÉÛ)Ék©Á›Ñ?.3B¥Án‚Í—ÜïóZã?Í ù㣥Œ`ý–æù…æCC¦e@eùX%ôÛP ¾\ø=¤îŸ¥—.ºÎŠ gL‰—°¬f_arÛì@`±ç»Ÿ#2¦ßê•4Ô±#¬•OïSk«ôsÂqhg«fÎmæŽÆ3•RÈàó¹(8ò;e«QŸ4[Ó …}b b¿À³#â²Þ¡gí<ªÅBà¦K)ø‘kgÓa‡Ê_±¿¥=‡!òLü«ÝŒàŸ —pµ°)nfaÛ6s>uŠÅÚvÜØ» pUà¶!#JŠtíyµë4\ß’ ¯aÈ@7;¼veáð¼:1^ <Æî‚u«qá¿Ð/%F['𴇚dÊõúÜ=Þ¡—…"·… @ [›ž†Ží_gãQé 2ÔÀƒs=Ñ7*““ÅщÎý|ƒR'Ž‹3fÛÉ'ú™Qá_>.ÛþcÉ1`íÍ8>z} L©»éÞ P_sÿåMæë¢¿Ó&ÒÑ‚FCï@¹ ëg8FXî¡ç¹ÂTK–ØÙ'ÄH|ZŒ”»~úBñB{ Iñ¡+¿|*·®<Œ¼í'-)U…tþÖÐóžÖæQ.“< ’qñÒÔ,½ÒÎŽD¨Ïñ¨$HEAÝ]~ö&Èá"ý§â¦¶´bš^(k Άch™B‰BxõxUo{P¦èä/›L(cm¥ôÂY€*slã±½æ¬âQy¾õµ ¥Ý<‹wžènJ/êžœâQí3>%>C4ñWb€ÙÃÍ/¤Nìw 猈æ #;@˜÷sm·€áР(¨ŽôØ>ĵ³*©]Ue:"”fL«/ð ¡¶9Rh·J»¤«¾±¦‡öw XUmAÙœ‘:öQlf®ÎèÉe<Öûû‘†xİ%K‡â„é l7N`eñù³Ú‘$­Ýáþ¿fÛ}»0pì”4ž,­æ¹ÏãØPOX)Üoy¯0ߊ' ºpèv _Õ`Šcƒ‘B ¤cÑ$†ÖSƒ¹ ƒ´Å¾ÜÓÈ¡r¯#û/Tõ=êtý†™ºaEß QÒRUM"3HOoÈGÚµýD«Ò"É‚üB+[Fw1À—Ä>.«jŒ·/{£:¥ÛÒ>ƒ57µyvÔãHÓAšKFç#Ž»}üDå|ªó!¼•kÆ#zQꈚ6*«ÊXYÞægmæ©Æ¿uÏ=Ÿ­¾¶[û EBu]Á˜më¾ÕNÖ¶¨~Õ”T3áÀªâq§¾’±r¶oö½Ó§6žŠà½sMgD¼äâm·g>¬QÞHûiq;— ½öÈ&בªwž*ºÂ}›,Ü9Z*ˆjŸœîŸ|Gm×N±³ÝpZ^|-ßDcF@îSiÁÑ<¯5P‹”g .tI E¬€n¹¯+mxWüÉ`{ €Šd ¡+Ÿ^=ýiŸ§…òu Œç è|3%Fý÷Ïoµ;ú¿%;*RÛC<ceµå—tô´î -q±–qleëìÙüM€±÷ð¯k¡µ4®¢ãÀÁ•2 ˜ R½„”Ã\-ÓGãÌgð˜!u9Þæÿ bGÔ”[h°ºÔ=;qÙ™¾ùÜP‚IkNë_ $µuæb,žßÓ‚íã>ç"Úþç)šñ1Bl(Ôo/Ñ€ Χ°ÂgÿôÂKZÒ”¨áÙýºÙ“©^˜2?8êšùê»R}k #j òζ‹\ûXî¯÷hÞz/N°PuŒWç¹Dwcåú7óá“àŽÁ8Æu½ÐYêVïÚ-I&[Ýùý]yK&)“L§ÃYm+­ÑÖ<¿hùï‚6OH‹"Œj2²ÜŠq ¶2¿R ;-QÒ/É›òA†¸sÙd” [Iƒ^sY»ÍB̃Lej¨ˆÎ‰K"}Òøþ4¸rt]Ír_Bd¦þC-(…èêØÔ$Ï MõâoaWjv]â\•J¨v@ù•ñ8ŒÞ¬M)Áƒ³1w´q LÁ{Lgê‡õû¡íGA(÷¶àÂ_™(neu0šVu9ç¾r¹sª¹{¡Á»$ýþW«I£ùÀ¯&/8ÂæçP»j²Ã®`câ[N,[sÌ~ºÖ£KÿQ=vúªìèT˜÷ˆµ]›Â3à/{êîÊ¥"±ÁyaQ„ž]ÍÍ\׳žxn¹ öŒAÙZpËg2Et‚ —¿9­ž‰RF™É~žä|ÿà)lùËþF ´§„XÁ±[¹ÜsO2õ˜$“/{Qyû¤uh¨™é ¤Ó¡vý,÷×Üm¬*‰UËúãÐL˾é‡Ô2à˜oãò U!î&Óm˜,RUÉîaP:ù_ÔFÈÕp_*É$fücñëÆîFO&{¿ærýµÍŸOå'ïA¿'ä™$%K¤ÎÃZ ÝU5Q8—¶f€ll(Àp®X}†[uÖûò½S­<âÒZc±¥q½›ÜAzšð«]…Ë#c7¤ãö²h-þú¡áì,¸£`–sì#²€Fˆàïf«Ä ×Çmó…¡e4¶yWˆé:é® Å‘79B<° š] ³J£/̽Ú.4È ãã­¾¸)¶A¯§ÖΠä6Ú nÃS³¡gUïûª¯Ë¸ŒccÏiË•¨|À/¾±Ÿ®bìºÛÕ±˜4ÁÝóVRA6¸òÌô’Sí¤y`®­+ ºíQ@8âóÀ„๜ÉË¿Ÿ~ê-äè;^ã3§®²üNxö$(=ªï5Ͻ’ØyFz…“q`°ž„Ñ.n}Ç.Øÿê+o8·“–cåfAÁ1X,cþwfüO…_’™¼ƒ±y›# 0’;ùÉÏó7#SÑ£6‰[a3õÚˆmRwÂê.ÌIÄ^È«c( Ý8[»–¾m–O„²\á²r§O™q»AÃ/來P·ˆ5J¸]ð”(]°”îÇ”IŽD1±âDŽQŸÞ5 h¢-ë#“¥‚ùgz"€ÄЗúê®Wn ¬Ð® Z~’¤S¡äòš+òBôйò†‹¨©³g’‘7VÚÍ1fl%bRŒ¯e ‹.ÐÂÃ+ÑúAG·Ó5nOHóbP´Â´üÕ`5Ak½ k—g­¿ÝÍþccƒ3%Ž-·öö¥‚åSp9l ¶|uïÀË· ðÑ5†Ý7~(·{Èá ¿{çj{.?},ÛЇJcü.U‚Âi,¼LN­E`\B3Çf‡Óuì2ûDLs¿ªg$Í®[»l"ý\}¬;Ì pº3MDû†BÖá9nnýÎUÞš^·T>wòEŒ¢E-PH‡Õó«–’ nGæÆ3ÿ@žwúRà‰eñ5"išLbq =ÜÖŒIËíÜÈ>F«êÇåom$»Ž¢ŒÌÿkðÜÑ"ê$,(‘§Fr¾ë걑ìr´oá #O¸ŸBBœT8ˆEYîRþÌ>²«¿ŸU« ð·þu¡0ÏËK£³XÀ (9cb‹kE\=l9а¿JçømóWáãÒ¤é`ÀškÂ>A¥9?IÁâ»’ª=Ì¿òcÀÿ¡a÷Ñ`ÅBëWðË…Ó`¦ƒÚXÀnÄù¸àådi4ã§ÏC€ë *HÝAÊx‡jÍä‡d‹É½P½M °ñ:C"tƒÙyv†¯Ã4¥,”âu*¾ïÖÈ? ív•äØÅ6™eí’éH(T¶VŒåõx’ׇq`¸€¶/ñ0ªO\2£!ÙDËßÄÿLRÛí{5xb_¥’ÏêŒÚUfëgÎW½=´íòOèÅøo]Eúþ7Í(«M/´ïæµ?úô虃 ãQÙ-ɱáË®Sò>Z‹’/ £æ¥è}«¡•.C0ξh{F¿"+´x¼À0D.€€¢ÔƒKL$±ŠËÌóP7,I§Èا"W+ÈCžÕ._Ú¬à’ „(þƒI$&wü6Ö5ïIÅä]ö_7LƒÜ¬Çž˜ u¹U~!Úþ ~­^‘LæcŠ";7šj{Ï~wÙ°‚ÿã2K×U(ùó´‡ zl©ïO›+»PÝ¿¦ª*½væ¤MŒEœ¯ï˜; ¶QÆK([¨Ûd¯}¾vò~Þáþ÷ê³`xÚÙ8Ú8“U‹@Ú€œÌïË…g”×âüàÕÒÙü~=x±®k¿×«wåÂØÌv3 L8}½’nÿ´¢—7Øõ”11»ä¨2‹b÷da¥’½BÞ2WG¤#·BGÎ,“wìãQ]eô­EL·ü/EìzDÙ–‹#ʾ-—–1­Ír¬_¥Ø*c£Ø_’—&\|Ú‚¶ÐЃ}"#o"Êü²G“{ÛÈ‚V}î{bATtÍžå%#t„ò®cÓÄ”eKÄ­§é:4ˆùáº<á.ª¢Û ä(!ùâàÛ5¥QOߎ~›nÑœX€H¶Õ†,EœõƇi€ÌagïŠwo¤þªs×€}UNìU–‚ÀuO²¤=äÀª >m…Z)¦Üó!Ñ®±}ÕlÍÓU„¹ŸV 4&´&±W6™~lÇÊ¶Îæt¬Ynq`ÍŠ~Æÿí±eAÍ›„CGhKw[Ø ØA·ÄB±á¤S‘AäÚvÓ#@çš92:Ì9g5Ò¨ŸúȬ”ä¨&bv1ÔÒqíW›,ÒMÜN¹‰?U¬Àð/ch*”ç ß²æ£y_»:Hõ¯XÈÕ©âbxÈâ­mYôqt=]ž- œ°ªLõ$¿~µ¸ e®žé›™V¬$Ÿ ¢\þx¶)àì¸`­ ›p½mZ³Zø3tSä·ÏÁ¬Î‹yZ”ìêZ1|òø‰¦åÔdåS?Éúóì@÷ÚlC¾ê Ò^Û4Ä(q<ýŠlñá=¯¤°+…E1Ö<Ú8³G팓ŽNA€½ \ÑW~Y´CKô5H[Ò ©Ý™ˆ2Äò Ýwí«½NJ‰å Ð$^GRT­¼F†ûÞô†„]‘,NäzPk”l×se0¡¯žhØ1…A(¥Ö±=èïÑhú¯woâ¶Ì†j¢1zŽrYÂP‹<ò¹ŠœLT-Œ âÿ«ôZšã^#Zµê“n™!úÏîør…dû¼º+žâ`’&`ÖжëÅ‚S¬e¤YyìJò©‚§b¬n: “EÞ¬w^<– ª®ý£,Fð'ùÒ2¸²÷ž^^¼@=äm,Ý÷” ¿Ë–pÆóžw¾“ {ëïÈÜ ÑN$ÂNm5¼[¿j¸;ThÏà÷¢Ö¸„"€˜†âràOê¯Ý;ºâU —Àÿ4ßJÎ÷Šâ«´µ Q>œ#o-Ï5Ci/Çi€”wê|wÜŸ¢@KÐ$m+ÈGÜ;ði¯k+VÚBìû;0'±À}ì`¢öèð¾g GDñF¯?´Äжçm°o ¹À³ß‹­!Àæy*29ð¨,L¼ÅÐŒûìFƒ˜1ý1ÌM²%09žE5XÙ+|W¹üá·Š¤6[yZ!9y=«ù +^}y±\é@zŽÈx‰2±`6}'&It™´Dà’k¸ä©5Ò&Læ«íoígwa$êk1õLä•@!¼1€¦áÏMÔŽ(ªx`iüÉAj&8Õ³ÈÝíßC…âÙÚà.ù7@°%¢Ãæ¶®BÝ¢ÏEv<œ¹ H‚`nÝg[5‚>™¸ç6çÐ 4§°Å6ÔaLÆÁÙU+3ÀÖtãiüž(ÔC¥Àzwn§;%¶wz]Ò·ƒçƤÖÁ0úót˜)Í$¡|w™Ÿäó:ΪÉú_ð}‡£*[–—[VÝ.e\bìb˜Ž¤´GÅ,ïÜô®×ì~µÆBºD_· Ž"oÎ*˜ÆÆgÃ6‹:¸¶š ÐÑyáËV+žä—¬‡õcÕÉî9K¼×¤öëîç àú7†Þ¡‹ùò™@uZöƒý'´»¤ÇqÕ!šx9.?­L€gvxšéYÌÜ·ÚF›úüæïæyƒ:0_LÀÀ‰èƒ ‘9<¢W¦Ø¡ZíyÍ™Âlѽ(™™â`×7ú9~»qñF,{£ôq|ê¶°O£€%F§nði+ÑV %Qí@&^ €ùxÚ«×úu ':+n h%ùžó·3Ìt*,HV² ©4/ ¿6¨Öt(° B•¦®'¸ÿ»Ù¡"åU6ÿÕc:7\ÆîµøZ^Q‰•¯ /üzd=vÜ’°6ˆÍKù–zõÑòò]´Qã¶ïE½—}Sî± ;ˆVФ jž’šþyu”êÐøÍ¼ÕóÐÚç&0-Ôh$lh)l¦Ômpë\/m¥¯¬Xµ wwüX%kðEPF¿Ù.†:á ýОLËæêŽ^% ¨p+zàª+A˰»Ð°$Þ™½û§ËCm(0-¡@˜ÅëÙó{qsž|*æœd¡å”ìæèi·Ã…rʇ‡Q¢ôÃI´|ÄõJK*·`,Â+™"Bª6wkUÚoÌ`–g…$çk6 ©1J¡õ³Ëÿ…{ òc„¿xjÞóyªÃj|ô2­î—Ò\!úÔê†QfÒfyÅÀ°d}’V5¸%¶KÆ 1^E+d4—M¼*»ÁX<°4ëiá‚íðբД³l6çGËV1b!ÎaFy2a]2zÿ*M Úc¤új‡Éù’ðû“kŒÏËßsÌ_Éͱ£ù;s!X*‘±nØ(_Œ2ÒTcþ©ø=ïÅß‘ ½â%Jãm‰8%aœ€tÆÚ¯Æ$Í9IÙ¼4„öÐÃë¢S¼ðÈÍê7°$!–¬Zoüu™ÉÏØIüßM[oŒ·3hOï‹"È’# pJ|,ÕÞÛ}õÎ^bàF†¨¢ÂÑ!Ù߀0´`iãt$ÙÖêºõš¿+£X’mQ®ÍZ¥DVv¾ˆÉú¦j. 0—/áéàYË6â»­#ö"Õ|ÑZ ~ãUhýV‘ë"Îß%ÃT(õ_ÝÎpß8qÑž!½¥ÑXbÚÓï²{]-™‚ÛÅæ½ôšØjºŽ)u`‹›‡_µâw zP=qE$ê8¦óŽMbßóåäû—ù/Ùaý­2ug=%‹ XûPÈúß°²9ΓËêÓa—:V|e3|A2Ô,@…ùMAb_÷5kR9.•ý$çLçgÀKÁOIq <ôþ ”sðtz@eg-U"Ĥï·þÏ€ÇyÓö{†Þ€Ç²­éS?к‚1àÈêôt/’}CM•ºì^j–Y¾íðǘVm°ýE ¢5O:UW Âdo=ÈœÒdyˆþÌJ[sIÀº4Á¦Î 0jÕ&Ös9bSdÈp̉àXáµý,ÿgãnuÒï\Ѹ±¶*NòQÖÛ¨¤<¿"b9ã¯Üä­ùÓµ“úx>)Ü]¯7nhž¬^yå4Ò]enòY0s×ZæJ†‘2ÙöÒ›«é,¼¿|]È߉æK€ÑJ›ýÿ|¤'Ô±ØC ÍY¿ig·Îm¾lR?HúK:ó†mT—°;Ì«±’«€'¼€ ²¸mímÚͲ·Ö€A=íÑ*0Öj6-/U‹º¦Cvð‚]6ÞÊ•åèg ô loD7¦®o$sƒ˜úÀ$\ õgH"!¢Þµ€§ì9tÛÓC¼± s´¢äo Jmõ‘ì¬ÁªðÜ»´Tz†8L\têÜÈå¢Jʦ?N¬ÆßtÝ=ë¯_MÙΜìPpùÁoÖ ûLY"µOï;×­ÛØ¨ÌFF&h÷NÀP¿^°Ú§¯ú›½|sÇR¹¶{‡’ñN ŠwA¹bY=W 5P*²ÖnÝXjs„Ê4Œýàv¯H–ó >2gÝ¿5p î™R²Nm<¶ûíW_ŸCÏc ¾ö= %[…¦Çšm•lXTæTÓ ¬Ø:%Ô”E(& ¸Ícx:æ?— ÿLð*úµjÍÔoE=± ðÁíÿR—öÝÕݦOn›°I—™Ô­ë…¸ÙÍÆdê@ËâZÖÇ\¨Hàreô±Üðº4lé¨Õ¡)¬Ý"æ] ŽŽ© 8`|}G%J5 S £÷í{‚eªs•FY]AIñnÖä4!?;œ{ÑßûEô´'¡ ¬7±ÌÛé‘§¶Êý<;âBa—쵋ê×}HîA(¡ú»0ÖâIÿíáêÍøŽˆPqº.ÖZ¬Nl—ý°-C"¥ZVóhö/åÕM©%ÝæE ÇåͲ9ìö]¶7iu”–¬…ÌjÐje­™h:–vmÿŒs¤uö¤WÀŽ;êò܉vѽKÊkk V jçüª9Rô¸[›úúl¬±§°@Ó;T>¯âŸÂ\aŸ>Ì,î¯ãèa \'ýRI3»vÅ›mŒÎÿŸs4yÊgÆ ÙDmËI$›>{ ùú5hÊ•N‡¡²‡H’ê°Ô*¸p”ÐV'Sž•§Š¨ã¥•»ÙÇ‹Œ¼›®¿KA±PãAÈ9ÕK¥vÂÊ·zºújDixsQiƒ o§áNrødðGñ²X¡€¢Ÿ`Šs$BÔ«ÙtMŒXÎUTøü’Hœ._¬Z˜ $éö¸¯ã/X“29ï%¹ ­‹®Y­kÎRü€'Z¬üñG[Œd0iæ™ØEñ½ùÞ¥îg¸W”¢x$1"½¤}Že žÚ`,`§‹ß—' ă¹£åðYÀÆó »­Âç<ÏÔr%€Y"§Ì)ô¿ë…üôéêÅMãíêl‚ªŸTDÚÜÉdÛ~°s*ù Vn&LYÂMvôþ’³ÙÑdÔCÞl;Ã{à ŒNÈŽ' KÏ›ŠÌ£ì udÝ•DOa+:ÌÆ0_Y~Ø»e‘ƒ5|ŽfÐt¨N™gæ$aïu{'ÏeêœéÇ3¤Dy5ÿ³ÆÓ½†ý4FÎ¦à—§­_»Þ3Àƒó°ž‚Òw?&eoaò¹™«=ž€Íÿ"Ì ª9:W•]>ø´ó„ÂëðBŒ?,Dæí¨$,¶=··W°”_Äü  Šux¹YÃ)…Q†ø=œC$và áÏßÄAaO$Gg»Mcà“¤·ÀÛ'Hd,wÊ¢/Û•K6S'_)mP›S½<þ¶š]Ù(Ÿ@£°>í‚sjÈGÇê-7¬ivOL!Æ—c«òøžÕpŸÐ˜`3É\þ8vËJœ…lbþóÿèTúx›ñz}L•+€ÝqZo‡ùbU÷"Ø™pÜ55EÆ€æ3Ž:ヰ@ר#º*hóÙ£¸º¥c÷ƤýýÚÿ·ãfú3ËKNW¡-Ù~b—ï'l„K¬ÁW$WýàÖïN†S ñÁA?”Ûa×(™àNS¼¨¼{ÙÀB^ËÁTo×+¾WÉ£§îålXÑ>ã˜öB÷0.Á«®óq­j$®4æöÿ¸ÍCÔ¶ PP¶B#ÂY?v.ÚõÊ'U!È[ÝÙÆnàüaØ3 ÍòŒhÃÄÿhúp4ÞØn¿`ʼÞZ¼…§w2Ü¡*i¬ÍÈÚíd ²*–xPË£˜1Ͼ¤ª!ŠÕ’¤Œµ‰ãA}zõãôY›ÖI8‹RJ`uóŸê‡"±*JXŽÆ¥§¡pûS hOª;íò=IÌß±Ô!\^V`ã+&Ñ™êN‹§¾Äp[bÞ:qâÕ”Ás¿“h.¸çO¥qïB¯¤FÁÃ?°É+HñwÆï›“7“;wȯfý$C®M@$ñ$Ö×èöÒ ÓM»¥}ˆ÷Eã:Cn­æƒ DrÖgQæE•S¢Èõq¼±Òb¢1\°" àž¾­äIp™JM(ÈÊuÞ¸¶dÚ”¤ø@S'‚ßvÌ÷¹1•dýyĺ5±EIž0$þú¿IHõ¬oœ÷—íEÀ…ÁÑQo':%µâðcØkǦ¾v"‹Ña™ŠZ¶?Ó0Ï(c†¡‰ÛÈZUÔžp«ömá¶K†ŸÊ (.:ŸyC·~ 8uÛÌ2Ѐ…ÑŽ“¾$% „E ŒœÛÿ± «>¾s£9_šÃ÷kJ£© CÍPÓtðCÞŽ¨ eÉG¥ÚÃHá<©Ü»ÊèNäráÛU|z„kÿ7¾LLûûžß_z\Ù¥Ž¼ƒRW¸mmýýˆ"?—•‹MG³¼a¦(ð–µÔFéòî7ÄÅâ.­˜õsUL•\^;wȈÝÁxª ÖÂèÇà—²ôC÷í£ò7£7‚xàE:É ° ‰8÷¡œ­é.çÀ¥¹¸§©¤Å8Ü;NÃÂsA[´K¤¼†£ .2³î´S×ZÊŠû9»yˆB $~,ìÿ†UYœ´ý©–µh¿Ê+¼öeTQ=–BYѧg¤‹:ŒƒÐÀì±wMÿÈÞÝe´h£U=9‰:FGt\}ü„Õ£ G©iÔ*(—;„ (¼–„«2úñ’™SÜ%8p8Ÿbé'‘Çî§½D“Zç]í5Ì&xŽ<ߦWˆí?Å9£YŸÆ°F¾"a1ÁX|‚‘fi#Þlà€·³eýèX^‘ p³gR so`H©²ˆô§íT-¹JÒ&‰Sñg„-‘ƒÉ¡ì­UßéÍø^ÍýªìÆ¿ô$B’‹œ¾NßNƒ€¾óŽ£€Õàíªm;p^4LÚÓyWÓý‡€º¶ø¼FP¢3¼IÂÈÖ­Oâ±'=W\Šƒ ®àn6ïÇäÀnc:œ}?%$ŸaïIn‰‡ž•KˆŠ¥U<—QŸ P<9w/Ü„×róàŠVÎíy¢ ºŠôq®,‡Qˆ’sáî=šz£M„ÆÃ_‡ó<¿«ûžÍ‰áW)ÐäŒwKü€T²ÇÍE!+.×Ã>ãÁfQ¯êÇÅè ]Y-Vµéø5–aÈ<èV›Åè¡Ty+¡GüÒ%f-@mò>ƒ!ÒB9D¥â°üdäþŒPE‚˜<èWhm!Ê¿^WŠÊ¼’ D>_` |ŒÁ7µ»žv}òÏPv©Ž’DÁluü—"K~( ÊÊA˜#‡H#¦BÍ4ßñ§/Ö¶Èñ­ã’œ Nzá7i‘4/)ó"LÏÍ}Ô8™•ÿìP9f|£Þf²~¼n$û”Ÿ7 Ù(û mÞw)°Þºž¿XœPBx©§ê¶-ç 1põæÿ฀óS9«V¸=ê}ѤÀ³²ª‘%^DÕ> ¨¼èå¼)ÉÓ˜‰C¢±”?£@” èP_-áö€u^˜K “­&–á-ûNÙ=8^·îšV2«;¾lêÏT¢g1d(UdG¢$Òlày6ÀspOjgöZ0'Ýñf÷ÌúpyB¤žPŒRê&ì3Qua0åXˆ¥ ÊÄ’ì]3¨Ò¬i{cb¹>E­0Â/ÝY2•Bg~ÊẻâûO@¶~}›Ähv=Ùç„ôµÆ¡õŠÄÙjºk¶ï9÷i׳G:÷Mg¾ôg$Þ;Y-–ste¡Nd‹ËÞ–i¾{øÏ>ä]ô¹a…ª†>½gÔ Œ*¡Z½z>VfAQø"–¸e*w¶ý–šÑ¶wt@IaÝ©¶‚™eÎdS`w‡2ïZƺ…óãõ«9(ö^Ù½­->ugv+ŒüÆ®BRˆÎ)DÉ.u8ƒërM‡*\\—\u§ˆóTÃçuiL-nD>*e©(öÈôà*·†{ç=¼[¥v¬(»Ûö±f ã•ÚÔ¬:Ýw›Ü !u‘½]èIðŸšU yª±Zt»{ƒó±µà «†æ´ŸàuâF‹3þi2{$,¢hvÎþ/M‰ÃÇ"­Ÿò(J*_„|†@rx¤šÑ›Ø GX9TÅNÃü/tjžŽ¸¨5 SÓðZm”áÖ$\ûëKUõ<,õ.ÚQU` øÌzs[w¬UÀ¸Nv(7³šËËÑAËrP¯{™GF¿ª*(åÑ: ¥¡gü¨ cúq¦¤š¿×Ž:{`°¦Ð¨ª:oš5ÒÅßglÙªF–$èZl ô¨òŠ%PR<Ûèä(=@yTŒ¡ ¡Òu@±È–>Û§¥Ã*š¶´{jªæT_»¡mþSé$!+ð€Òðâ’%.«üXš²kcÀ%渚Ƒ©]<ùáø#]H"=ßä;SªÅËw+PŽÚ1ÆgIÓ££ŸYAÿXM–ûñ^˜®.¾Ê/XŠäu³WA°D­8þs{JvBö5ÑíÅ…Õ¹ûÑ—[™WD/²m¯WÔ­E˜=«¨:l„Ý‘ÍùúxvTe?ˆf„PX©Ìr\=r x³-²ˆS°=›®ËÇOê¬Tc ½és —ožÅÑ% šZ†v‹Ý_)U¥k¦¦ÁöÍ=•tý]F”äÙÿ;u=‘zàËŸE¸„–Vå„Fߤ#²rõíL8øO¨ ょÉ`æ)X¡Ô÷^gÙ–Òá횺GÇT”ä[:I>ý±Ä§FémëÁ+Uì8³2JP>ÿÊ ³°WKv±2â§Mœ¡^!4ÒYÅšÆm‡³„ 6¢.Ð9Œ'¿Z¢Igpz~ÜÂlkQÿ³•‹ÿG4nÜëÆuÉÚ •¥:ÑCëë+ü“ÿzXÎnsæÕ´fÏ—n÷™¼¯¦• ¿öW„½ZŽ]ØJ¹$ìãõ_pHöàš Y»“9yÊU^ájµúmß7’aF9%mŒ'ÙpdúËŽhd½¦5¼_M¢ŠØÕíJéNö€qËñbÈW?0S²u|ÐÁ v×ïó‡&ÖKsmPÃå± ºáÑ´¹ìlUaá$Ž iÊÂq語䔾‰g^±» â¼@ssÿÇ„r•qåþ´Ù»ª«/©¹èYžæÏœÐ&Rl’Ö@w·³˜÷­Žk²uŒuˆõ¦JoÙ#?À.½Jÿ Kx¦KDEÏåò½º<²ß^ÒxÿQ2ƒí¨Ò”íˆ*î+¤}m0ÔØäžjôR\«[Ž@ÃøL$åK°¡ò—­‚æ»´Þ%ê…()³šÐ£Pñ‚ñ0FÉìgáIÖÝÌ%©5=·¿ÍÏdŽzl§€ÿX(NLòC–¿`u¤bpÄfèbš®Å½ðøÉ<ŸzÉŸ^ï eNï¾ÜþjzÖÌ#_¡ê¾»Ñ*`ʳPXWúK £@fµ«@Z³2謵œC¨¤Ô‚)TÐD·çãI9¶’æd¥7¡/EÒ”DÇQICÀh:àS4o]´óžýêÃL–t¦Gú®.t,pŠœ5µCÍ…$¸b8JÒº¾ûDpcSZŽêV—ïÅZÛÏÛCš'Ã/m“öÚÝÊÁ!rR“€øpD¨§_‘À·án•š›/¾]ígì‘|èÚkˆ¨‘›zde¬“ÊSŸØÜ&Ya¯ÆMSVî†Fç·Ø[êÀN*?¶®ú``ÛY7’ £ž§WÂ"ÓðýÆ‚åø‡Ö2SPCìš`jµÇSÖ´-[v¸” $æÎ„‹9C,YñŠO|H¦ïžÊcô&'ˆWªž€Q éÓ”ž§ƒÏÝ‹É( RÁL¬ݲtv¢‹!¡©3Ÿ=PÝjœé"o·ê þ §\oû{„7:-ôæÄ±X»ü®¤¬wÑËúLÒ| {¿ò5Õu9·×ÁègÁ¦!7û{®Ä+Ëc¶lenYB½óΊ‹7ؼþŠtûëR‡ãë@Q]vÕåöd¤äFù¼ßÊ»¯-=´&R½½Â{ãõô¨/M8¦•jE¤I4÷þµ7-V³Ü FËo§ø  }ÙïÂÑ01 †*jÉ Ñ„•u*cuIaÙô€#ç¾;²¿gù—öqRAüÈ’ D®/[“X)øpx÷EІ–ïÀ•+û•Ý`²*÷ÉÏè§Àt|A]g¦ë5HC"VÈ×'æ Ó º²¾î¼4qÃn=¸ †~àÿ˜ëµ8Ø9w?Ù©¾`O¤'bOp(,ü¨}6yGÜ<À{þ6ç\AѸk™ò çn…!dîqv”¿/+ïÒ3¸á,¢”ļzÇúø<…²ó~ÝÐL¹æ¿=’‘Ê%ùÛFV½l”À„ëì¬2Ã5 ›«ŒÔ©Áâòò( ÷­ùƒƒ* Þã\ºÄ -ðš·à‡ÁQVM%“Õˆ!WÔŽÌ%‰îìˆ+/Á=ZÿVB`œ|;ìÖ,¬9a¯€iÝÀg5Ô©¸PÔ7±Š&ã´¡H…Ý@ë'Nu-¸­GkHúÝôv _6­èó'£Çw°Vjy›šrëG#”½]c.2ƒeaM¾yÞÕ˜i­{¤:<ë8µ`¤Š ¶÷÷cÝ?'¼OÊw~á.äF½çMÂþ„±Èý~¥! ©[á~·6ñ'IËöaÂX²ß LüʤÊZfN ÍvÂGf-ìÎlÞ¡aYZ{¸º¹ŒÓß8®6 î«ëâòÇtHs^iCÒÞPžÇBÌ,–$5±¼w•ƘÖþYÒÏJH«ó°”¤Ä ›?êS6óº•g1¿}/x2lrÍÕ²zMãjeÏâcN®I´9€¼ã1Z—³œ}óªø‘.ç×QÈ;hþ m§ä•|ÿÞiÐ5æk¡} ¢^w„¸ÈRȤÆ" —í›rÌ|#Ó–ñÝ?8]ƒ!Pð ÀU!Z¡xÎþlb ˜ÛÈä·”eFÓaëŒÜŽ{¨Ò¨Œ¼C‰?O8îbÇæ!¼u‘Ñæî®þ¤8˜N*qû­4FRÈñ*¬æÑúa[i͸xÏjµ ¡=÷ý~f©†W6=ë®)¯¨Få£Ë{å¸7| ¶ypÃõä1¹¦ø›ZŒ\à ’o=U§4–‚Œ(, ûwaˉØ_þG8 >‰oOþLêXv3œïÑŠ?” dl#Dk÷0Sâ ¿k×¹L¾_ôÝt¥àcµ >J±—ÕHTÂdãhoyêaŠiÙ¸ú'I_ø6‚U©Œ$††%•Vêò!"p˜‚'2˜"U`ìלý Cú@d:Yq¬þæñpìñÄ2#Dí˜®í¬—Ýé—D!+[MÙ sdŸ;H›é$]^7a¦Ô9 ªÛõ* ¶…BÃFਂ¹B˜{¬½§-‚¥³vJþ‘r‘j²{¼Îh+*‘ p)gvœIɶJ’ñGXӷƒ̰Ú%ïõ«GÃàt’[±—¯Ùþi/mñá}›8¿—?ï¸mÙ0öD‰L1/8ýž»±hñÿÃÑEßöm)'œºÚòþÀòñAÖˆ% –$0nI{X*ÔX|µ~ÄM¨òˆÖö² §|GƒOÓ3®4^Wí« y–‡I2aå› ·„÷êw!,±l ï¶·ÛÇ¬Ü ….qI‰šã ±n]¬0¾h«‘2¾‰XD÷‚…¬ô[Ÿc÷‘.XÓE'u›‚ÑHô³ùDlý7½b;¾—¯°šÎ<¥£3_ª;ɳ7_0o‰€B„&¥á]g0PÂUÚ”‹+¸+–ò-qr®Û×;ˆ•¥ß?µhî¤óOs/‰þb‰Ñ ±íU#¶ rQþ‘¤·Lx×8üä3Û oÊ~âfPÙì•'eÅ·|v ÈŸ{:ú:H­ÛaÊ-(¬2=ÃíN3¢ù.…š [›Â 4eÑÎ=FgFúžçmXlÚKcßzOJë²+Ñ%mèH¦êöÔ @râzGí¹ú—ðüÙîdx•9šóghHLc¤½¬WõæŒí¦@ü^&ªÐPMî„îvǽöàZÓ­»GJb‰Á OêýÀôhœâ³wŸ¢5ɦKÝ#um’ÎàmžÚ°À{…V» b~i²Îj-î…š ̨}I} Wù-úäq¨†¢ÈsAÏO{nÏûpÌaöù4]R: d¢ý Ÿ¥T˜³F¡ ·ÁcŒÃóÜ¡¯ë¨íX%Âg&(aµØ+‡¸Ô•‰#ù¤UäOu9|®vÓ¨*ýlßHpý8?B¢ðLy‘ øI"v&Ÿº•î`X°^wà8'—FÝÅW’`&ɨ®>Ea­Ç$I.˜Q«ïÉktʰn½ú0j\7 ÛE-­; m`-¸ï°Û¡ÝS·çÔßÊÒºeéå-zR&*Rá’XÒ„"è­Þ5 >,ÐÉA´±õSŠà:¬G…;€EÙÓñÇ設¦^›öŒð:¼Ï༫±_NŽê"72}il¶jó×ù¨®}\í¦_HTÁýë¶±Û^×®»7±þ©dw³ILÝ »ÿȦP¸ËK¸¾ÿ§ .)õÍ­` ï]½rL”Y þóof1ö47½ñÓ×èÝy9QwfôLcJ½Ü9ß¡F&Öî àâä"i’2±¹eý^$ïæßŽè¸#y!ÁÑa[AŠª*’$„øŠÁóSÙgK˜YS ‹&º†™|ñÆ“n:!„“§›/à9ô‚-;U³©µ‰qÚ²ˆ2î$ŒP“iË¿o÷Vatz¨©è¿àÅv\Ç«&µ\ÃQ%; ò-nù°/ŸþïÀen}ZÍT•ØÔ ¶üW,-®(A•e0:3â â=úñ“®T<0£>Fµ'åb¢µÅÃ>u×Í+»®ú¤WÑ W‚±ãYÐ}«KÌW G‹ª…üÚÞê¶FÌ”êž>JYmØSÑ• êêêØúö²q.É®ß)»ÈcÚУÍÕ?ó·E´ ÛM%༺Ȯ÷Ï›@‰9¦«P¸md[±ëŽî`ìz°ù4Mß>{ÏZ°MO´m%É;Œ,Ï‹I´Á@ó’Qâ5t~ยZÃ4d?‡»–Ñ’xmÆF|¡ŒAR̼Fîh„}óö,—9 Í!w¥›fáØH‚¹ýBgºgÑñ^ed7³{¦ÝáÞN9"göë—µSP‰&ìkXS ,wM> ]U° õ0TäÄÃÍtsÇÂÅaœ¸VH«‘Î`ˆ]—ÙGÚÝøõ'ùj>ü&‹e¦o-e§LÇÀ¯…¶÷Ì”‡Ù*ý ùæ&ŒøB‡ÈõòD×õ;¿×V´)Õ]ÃîÆ—Ú,Z~!ëá&§Je×þ­–ÂkêŠù›)½H D±)éSä±èûl€jÃ1°¾êï}’«ª鲺¯Y<ª ¤êi!…‡E*OWüNd-6âNÜ“¯'Oêñ©Ñ-{E¯æÝ¡ßsîÑOÈ„×êzôéôiŒ¯·Ý˜†* ;½qqï'ü§ù;n‡mè&”.^Ãf¼¯ÏU@:yÔðõôTœ«vÙ»»—~N xÌ´#níØ[výN/éuÔúcÖ|Àà‘äqZÖaÚ§j©%¿ð\|6Oô•‚­{ímú~¶$kÈäC˜'e³ºâÀf­™ßO:ù€Bñã'‰£|47¬°*Ÿ]b£’÷@TlÐ Aî’ Ž>üÊe.ãø\áxxëû¨àå’ò GC‹WˆÕÒê ‘}f]º?s®<ÑkÒ‡œ ¼aiXe"¯ x;¤ÒÏ¡&Ëb'ø„$\ßȈ7Ôê@Åa<Ôö0¿¨¹0î¢H©ZÓ¡•é®g7Vz.vD*Ì ¼Î?ß(…`24u[àçn½ÀkO ã uþÆêµÍ¾JÌûDÙ4+Å0q—(ð Å/¨¼|幌?n˜FHäYüKdß{É56œ¤Jñº7óLm@•)r¾L:x­KJ“ò<ÌrcøhÓû;þë$¼[b“²«ì×;)ˈ<:L©üç{v-ú‚·}›èR—ƒ[Ȭð ÉÌ g¥Ÿ‰½P[†aÖOÌU9äßÙÒé¥2ƳòŸ—Íë%Qw9éç¹çÕ=iÊ»LÓŠnÝi†ÉAí¬k]äîºL9¸~ÅŽ8âE ét*ñï–3÷ù˜qÜúÞýì;¡X6ùÇ-?V_²ä}—¨î@Ê,䌕¹'Ï®‡CôåªÞú°iŸµ–¿ÆÅVàUM)åÓ"ÇjÎG„¾¿%Â\¯Q¼IÍÆê#¦Œ\.›iÌåÃiÌ»yPÖæT]ôåž\d5Ã)Êæˆ?j‘Ä;kŽÝM½™žBò\M­8ƒÛ‡öâMYê:“ryzÀwÕžÕùŠOO»‘\ÈÍp$¬rÏea„TF#äƒèÿjÌ82à ýOŸ:­Hl½›e–dú¦DýÅtaïæ6¨|Kæ Ç$œ‹ÂÄÖÒ \ĵåÞtÖl׃ {‹dUá—Î6 û@@!iDü¾éx™¦q8Åä¸f;T¥s b›œ?w1p×èe¢kyAÞ)ù`À¨€Þv®üÛ±8Éjq²Óãþ47’"ǼZøºO—àG¢4 — ¸—ÔFUØ º*“—E è—¡B]¡b$b<ßñ·Å ío;·æ(´+Äœ8ý¡E3ðŠ&|vñË#D†Tߥä\´.'_&5ˆ—ÕwZà†ähqÞû˜ø|ïü¯/‘‘]€ÊûšÎîݳ—¥|˜Jê1I"Ÿm‘DØ#ŒÚ•ú 9„dÚåÔŒ‚N ¤ÎÔž¡fŒ§AXÆ´?ŽÙs“Ð@|^`f35~’ú¯œýÍ'Å!Éørö 10u•p1o½RÊqÔø+H”Èט Õº"pïaˆ‡Ÿ{Ÿ ¹0>ë·µéÚï>JÆzà‘Vb¡\VÿRÊt‹»ÉÕí3±"Õ\‹FÒ›³È`Ô0Aú&‹v©ù¥!&™¦æRx÷ó͸دܧ÷ˆÔ½ýŒ³‘LÔ˜™öÿñZy¿î o—”<àoÕ±]ále CƒrN³õY“‡_ΕK­úÖ—§ã#;Û– g#`o¾¿i~JaA==lv·Á°x E…ñ13È`yZ Úa¸EßPŸ}3B]KbæÌ­EC*d‹•$©>Ö-–û½‰%4$žC; ã,™¦â}SU*FEÂV¸7a³(…ÐðƧ # ͼ0 Ò¯€ƒ?ˆD­c–¹˜3?˜—Ðջؒš3°9öàœû/;™ùÉN«³FhM-=°–{FeySÝVQ_Ûêè–õaÛÅs—>ÿöüøƒÍ%^š@›ŸÆ<|” r&eïᦻ¼DFu±ÆÜ£©¹tà•Ù(´O¨.û¬\ËŒîdåü;À—¢q“Bdij{0÷Ì~ÎÜä}T¾¤³eÛ0ÜòB]s‹FKÊëë@Ú¤žI'ØX…yù·#@%¼SãöhóBêõ£âih;Ũ³_Ë¿9u0!®ž¥›©±áyHë’»ƒ¶á!EÅy»àP®¥Ôõ„B‰ò$j±$8IU¾D0B!Þ¸þJ)‰ŠŠž7Õ@qn„š™BÓïÜ¢Œ·öu<Ï>CjãÆù/“SL·æsùσ߯–7aËBtM°épYôà»X@ 1V?ý’o¤¤ p_›Kf¨ôü®2ÚçÔebYj/QWÚ-½eèË'QŸEvSŸ-BŸœ˜¹¦*­yj&ŽŠ› È´©W™‰‚ÆCP¯D”Ù p&õ´yg¿€n&  êfËÚdC‡´1Žb¦z]L—èëøk”@Ô'µç*e ’PÓ·sTˆ—©Q¬ì˜e¹öP×^Š¢¾—/“qZÊïr\tßì©€DR^EÕ—¤u½ÒPb?¸KÓ®^ –ÅÐcÆÉo}MlÄ\uHI„‰[’¥X–Qv®ÍÞy£†erhÿÓsMZ„OQË:°à ¨Q^Bþlù²´T^ôZ­gƆÁHÉ IüZ7sE0Àù®;HÛÅ–ê£Ò¬y½âCamÐ܇#ʵ‡ÍgZTÊpvw‚Iß«½mF£wÒu…N‡wÔ&~ÑiBät‰/{ÔYG['w ÀÌ´¤¦Uxi]„[Ý„ÝØ.q¿ðKär¿Íþ kt’Òk¹£÷«Ú†hø *‚ÙZÁ 8õ¯:”Uj¢ˆzÒk~åƒý¬¦c†ÍLò½C(WgÜvóÔ=4ŠR`\"ëw‹DÌ¡9ÖB]™¶ên P86³±åE¹ÇKœ.½Œ÷1ž SëÂNÛX”ŠñÕÈÓd JÙ»]Ø }ÚõM+U†®¡8šÒ’–“¨ä›}øÍ¼xªnJ±×âSã¼% ì[±û$f±ÃagÆÑˆg†üñI¹Í@jW™ÞC®D§`ÂÈ¡iÞûóF-nm1ÎdCòØ-s= ø¹3ŽâõÉ¢Âþ:š9¸ÿùÖV^fš=ÒÈW—AÌP‚I¾!¥Ø×^ê…”ùNÚ_D /M£#›@uVNóÜÛéLÙ!ó=ý!·oíœý®¢:=¤ÿä=â ‰€†Ž‚–ØI-¡âÄ&\ÉfßÇÿ”TH"PV¯RºåæJ‘dÎט ž¢H“%´µ ÍL(îVŒêØ(RŽd#Í^[råÛ-²çÊëzL $©>¯ ñó¹?ºÂÕ)­èKÒøŽ]¹Ñ€Œv4ùÆ}Þ Ù6TA!ü—ÎùLyÀ8¸ÁÇ->ó΢y]Nà‰w®j-‚CA3úJµFøuXê#Í£áxj«Á+”½âŒ=ç)ìæ©¯Æ­2 Ò“Œ&ãGY=öm¥5¸nŒÒÍ>ÜŒN[Ñ>xWán„u‰­Y_­Ñ&ïÂN¶½2/Ö–Ó`†uâZ6îT}»âAçúD¥Y óÂK .ã¸ôP7§ùÞa™ÏJ²Ç½6Špz U»…^ÇÊO$B8~ƒÅëHÁÐ#µs,6EHù´-œú‹ýDG#-ã”EZ"P>®›éo¾ÌR]Ù«‚tÖ“HÓuðƒ¿“TL.£…œî%:Û±”¿¥qN3ìS(Ѽú׸™aÜ&´GúŽMºÛ£ÐåL;«š5ñbûÿf¿d#¡~Rãe%©*âN•–µ´¥Ò ÎÐWxŠÝþä¸ÕÂTÑØÉ¥%9rn±ÂrN\ìyÁêH{…!áj‚Š¢™—Fj êäµM°Ñ¹¢$GЦpÜê[ñVj:a4 ‚' ©°|óx™ÕÛP¤„ËY»Bé¿¿“«¢›ˆØú>nÂK^oí9ˆ…Â_€óK·–ËõÛ 2‚ïid«Ã¼Kލ‹9ãhØ\+Ï,•äȽ;oÏÞÂäȦͲc§|2-»³FMÊÏ ÊùXƸ*Ð;sØQ/` UÙ36XèÆ5a)¹žÂÝ(„§»2…ˆZ^'e™½ùý=ÇÕÁÞ ì9B³Dq]NH&ü&Wt2Ô†3¤ïaÙÏ:ãf‡ýU-y}£“…yŽ™Ñ­ˆ»Øñ_û7¦„‹±ä³’µ%ÂP® 0µ¬ØH×Â’ <±<ð0Éb.½œKÅ ¿x€¾åÜXj}ýe¦fî_~ß±‡eøÁÙµ…†Û§Af*Ôd£!+àDÃö™‡5°Í3Šš£³u{Àušª)òKoý@&;ìØ™w@§ØÙß]ØW.%­I|PîiÁåLÔŽÊ4Wâ4¢jB“BŸ6"/.ì=ÓS7t .ñI˜}{çœ3µâòˆ‚öE[ÅÀêtÑ÷C¹A"ÁäÆVHy2)v1ó³ò_âGÞå5½%fNFd׌"+ëÑJcnÀ=¶~Ç õmùz}”·­ìœwé(6þP-)Ûk5*î!>õ¢Ûþ HÏÀŽeý8öÝͼë/ÅMìQFÔÓÐði@?ÞØâ·UIÛªÞƒ†Æª½:6Õˆ3 uþKO–¦Z50ªüªåb¡nj;E Â>ôŸšüaö•ü)ô· ünJݰƒByº+´Êᜠf·«ÿõ'çŽù,íz ¸©èìù¸<âàbMÇÁ1±4ËÊÇ]â×±0"i0ŒÓ›þ,ÌŒM|~Î+1OšCj±l¾wÛÉ,Ü©uÆõêçúàeˆ¦jn<åm¸ŸÅˆ2w‘NŽ»2ï™ý2ŽÆ-­(FÝ/4_EôiýläŒQ|™@øy-Oî·,:it«™ÖµÂöúH‡Ì‡¦#i¾25¶#wG‹Ø¢b&oççywÅ/ï§Ïó‘|.eÖ1¦ÌÇ­§ñPN „[{ÝfÙ1/îÆ”!‚÷ÿ-rÚ¬qê»Ø£bz_¤Ù@ 8^K÷Ïá¼@+ÁåÈ]e€"Ågß{œâQoÄþÜôØ7Lý©è¡Ø-óÂÈK‡ à8Ù§|V 0ð´Ñx½žò3¤¬äç«™ªq[õ‚'£ô1ïëXt£•äE¿=ðÈw„*àtSmtS6; *|.Ú=zCåh|„}²L[‹éML¼¯ï}èœjazëg5¥MXdÛü<¸òlM;‰šVÕJëÈ)¹«îKX »sf¨è¯seŽ`­xϦ«öß.„Ô ’D}?J!Г`¢ÿT»|j k÷2¹ä¿/w…”K®Žs¼ôÏË`ƒáë«éÝ“#ù¤¾þ¼V8ÿwI#ò‘úÑoÚ¥=å<™#ù¬­2¨›¾“´î{ðBäQ'5·U—gV¿ÝÓ¥…“Œâmw'  –½br%x¡ xEêêŠ ©hl@ñZ‡$|<ÞíÒkÔð–zy¾·áe›08ó¡uÌ%Þ–ŸÀÇšcÆsÁ·èøgD0€œö™£àê Õˆò(N zçLf%OígåŽüHE }½ÌiÏ€þßÃÞÄIs9lè*»ªÚÓvŒ0Ì1œ–»ô:n)$èâØJP:B€pÊ–wZçÛ×èÚvß.mCÞò7õ+×4Oæpûò>Y)j-¸\T»àÔš( AÚ´nùá?qŠ©w‰6M 5ø€*É ‡¤ˆ›Å`$Éh—6à5lâÖ ®pã¨Ø¯1¿Ü2 äñ™Œç¿í¦ÞßßÔ ØCœÄÓt´0bT騦¿nrœðÌ›®võǹÙÉÙt$Cß@쨷wTKz/†0lÔ(KÄ ÏpU6$ÈrV¤t^ØÇ*®–â(ÀÝaõfT›ÐVFG'LÞâ’Øì™\¢ÑuDP3âΪ–¤»Ì…ü:‘Þ-MÒò#›‡*qpÃ= ðüE±Áš×¶ Ow•-ò!§?WpTœ;?ŒkİŠú¥Xå…Ýž¹U)&FvÿW¡£ŒRA½ls¨,ǛߠBäj£{9òwÅzcÝY!û~(“™T&ržuù]l`á©.k1•‹sÍy¾ì~âTÀ­lÞ£‰Öv?«5°dW…ìN!&u®¼ 82›Ov‘×&Ì:™RnÖÁâQEþÁÑŒ”S´íóS²ßQ{•\˜+‰sóN¿€ì;k» ‰|xY3á®Ð€ ƒ;gÁ³,¨ö]ßb¸}Þâ×0ëÉá4s¶x±ÐÍu>1G3¥9ROjÙ<ã‰G/£6FÆÃqˬT[°ûMǬm5Ùo"äRQîÓü¸Aœ¢¯f{@ÇK”9>9ó„ õcÎa&xÐz¹Aü.ñÉ?°µ8¤mž9¿èω¼Ü#1ãAÚ‡Óä›?ÝeÚ'Ë¡¬ž¦™`û¾Ï§G ê7èá 羊ü”j¨@ ¡¨ä}ûgvÊøûãû²ïTnø©ð6ˆfT-ì¡ÞâÆRéš\)…|I{ìøƒ|ìYg¨M3¤ú‚7ÿ‚0‚5%9f>øÖ”5 ã)Ä·+ Y’d›ÁÐ|dRÕ=NçÑÊ$úÁeŵ×r<>M\¥€4&f¦€P²çœ"¥=oÓ¾N0Ìý“ËDès½ºó¶?r¤9­Øæ^s+"cFœ%Ó|–A_VJ@çaD®´•­Æ«\„° ·vððÞîÝ2Ò·QRžQ•„ý®ß³ŠÍÌzÌâs¹Ô6TÇpÂk'rɚ݃£WÚ髤ãÏeк°} »jV¸‹`Ó'íþ¦fòˆù_ë‡@ºv_ù¡`;åuhùžõm[ŒRÁ°—¸6œ]ÙÅdê¥NÇ‘Fgî“ñ†c5®\ÊÍ7"ùþÒåN|›—ÇñqÑžóúW…²»b7\+í4<#Vƒ5ÍŒ×P-3#ÅÁ:&g}•žÝÇ-X¦Æ­˜â¹ßg'ÑÂ&}~Ž@П,±ƒþöí(¢T;@–˜³-ÌüåãÄ©õS޲»Á¸Ãÿ@óÁÆÂ"¯Aêºîò8þÔÄ–Zçèç¶[ã?ÇŸ)„¿½JžxÞ\¹ÿ!Ö²x¦Œ ’þvÀápµj‰¡;¬Øù8”§ÒžG¦wúÿ£½Uú˜Û~$SAæ;MH·3’I¾‡V5â² †åÝÆj†\æ¢Bøg|ñ?µühSxo·ÿ€7wý%cg›IxàPuŽ£é˜›sÁjpÀ8¶Ø#tOU>éñÙw´¨$vhô`• ¹*œn`Å&›©±Æ„V^™;ÉlüÆÔ©ì<Ù¼}J|›h Ò.÷KÝëChÃUSjF Ÿ;‹Ë¢aJOÛ¾Öô“ê—v5ÚdàQ1ÿ~ò)ÔI\—ëÌ\pÔ‚zj#®#jÿ¢mâÔž”kÚ’©íQïÂ2ª;•ðW!W ϲŸ⃠ï@™þMAîš-wÆ·ë¾¾cü+I¥‰ÀfèLfŸÃÍCÝÉù| £ âCj¦q¼yàbªaú8@Î]¬E*Ä^v÷ˆnêL)P€Ä¶Å1¾ätfp&o¹ʧÏòÕïŽ8ï½<€øŠ6 ¾wÏ@s3¶¤‚4Ù^†æ¸ 7fv¨Â9ȶC¶Ì£ESc˜¡Òy°u=¨ÞâFýÆæÙŒ%IH7X^ÈšÎo¤iÀÑÓgGŠâ"\æÚƒôM+5 Ͻ6Jn:ËÊ«.>cîÙù÷ž—ÑÝøØdt•å —Ðû—ôO/DàDø!„@¿€ÂTBoém0j…;^d.Öde›3Q\rjtò©)+‚] yIÇuw/0÷zÖ‘p)t!†"ÎWºodž3׫ iJ~Åj«)Pó‘&¿“2 ù%DSã)aoü0úÇžNܼ ê3xÛd¨:àmFCœ*üÑöÙþÔ!ãȨ¡‘~Ä4›§É®DStGXƒƒ–ï?’: &𦲑q (ñoEm†Î–?"*{Y˜øàVc¨¿LD%,œ&3*a}]­~å.k(¥]¡ü²· 5)ï#’p²óή›´“Íz"ÿïÖH,"€øÙwOÀF¨S4>ø’û¬ºPþn¼OÚÝ=EãÒ)ïÎ{F>V Ó!.2“zi~ú.3Ïzñæ•ÂD¡g°È9Ü,ìåô¸j#²ŽÈvdþwiœ ) ·';ËIN‘ˆ§p§»ƒÚ2uNPÂÒ¬‡ƒý×m&X ®ú¥ÊcIþ öþ¤ö¬÷ÐÑ¥A²÷KªîXV^–‘CÀ ¨*PbxDÙ² f|–ÐR&E‹¼ž£R¨‡¾¢N™¦ÏD¯=Â^ƘˣéNBZ ™î Rf¬òKÓ–{/´SΑ¯wºÔlZª6a’ƒF‹¼æ[ Ë%ä<Ñ1="HÞ/9RÜüEçH-¼.ã¿~#.AE;W|A_ OlÈú£¤dÔÌ ÖÕ—¢;m{ø¦Äƒ^‡GÑÃɵŠx†M”p~ž­é‹ ¿) è±ÌzrßÎsCC_X¨z)šà³¬'îï:ÿvÆ" û£ÒzÐlÁúížt®6rLjk,Áéõ>Ëò葺Kßiéî¯a¿ý”½OÁˆ¶Ä=ÐûFµøµ‰7Ýh^îÎ`–Òq¶ÕeÙƒú¢4Ö…r„}ŒD€=½:nÖÛR‡GuÜûTéÏ\j½*”ñÜ{hE<=;Ñ·ó±"\Ï{Á-G†‚Ú5^’YÞH«böÉ<ª³D”$¿Ù*)ÜæógÃÂŒÏCÄlrðJSgÍfä¶!´yŠÙuþÀ¤Î0Æ&²®ñ<JÈV͆><}:î]ßÈÉgs”?d ± ¾eýA¥M­zðü¬»Ò1ä µw~õ:w3·qî.ˆhäœéÉJEÿ!|©96Å"ãÛ“c¿’aäÖš:f¼j>"5C3¦ ElþÆ¢™­½ŒóÎdf¥Yôµø*{¨æ!EI–@ íOÅåˆ"Žã¿Ë¬Dèr ¿ëH,³ôZœSÐU«fèœìádà.Sz¹µõÕ”>ÞæE‰õ¢Mõ=ÄlC”†Í\,ÌN \áÍŒ ÕòfÙ<… ÔD;v&0·»F¯Ì±€è´"(ÁðÀÖ¶Øv‡­»± aÿõªŠü=¹ ‘²‰™”ÅÅ;  ›Ú@4%_l¦=›Ž‰=öý¥'[fo}y”Œ²î Å€Á<ޞͅºçB †¯¦ÁJ!˜ëÞn$t´WÉV‡´ûÞTåaÂC奢ä¡}âÂð©;*u¥RG{˜Î;kLÀDÈ_…Û¶X“ËNèoVÙ󧢉@ .cÿ¬ö¬‚%‡6>÷7kò|¼öÀ]Þw~þNB¿9¡€»lwÇ.6?ªµtõ•œõ$‰oZãà6‹%§eñ]¢§£Ê.þ+ Š€͜°¦åëžFëª4mkGjvPª«ÅÉšÅ9³DWÎ( N Ð/BÊN=F†àèÓåT¸Îà‹Zêû¾d/`“îhJ } dÆ(Û*´‘+z¿ÚÁÝúkâK¯’)úCU¨sk“>ÜÅâÝ.û‡qýÜd”KáöâÕ>[öñ¿ÅçÔ56°}Yú6GÞh*fJr§à&HœédxJnóÁuðÆyÕú?º‹RmŸ@©P!|32‘·½Ù ´ß¤-‰÷ÓSBÜ„lþ'p£¿Ý7úʵ>÷×Ú¤9 Lš`·B±(NOxdÀig,Bâ “\´qyŠFÙ5øòѳÇãŒ|""…å”fW‹Ž4Š+˜›ÍcäOøœ6ö¹o÷™¥ã>ü3§ñ¶À;T•õxÂ#Ó⦠}º£t°Sð«š>¼"áeRqív“ÉZ(œ„˜â`úµ˜Ê¿¶ˆi‚“A¤šŸ «[±t"o2ÎM|‚ÊzMm¦î?öæ~Û,{Ì8bŒx,Õª‚ÛçPº ÞEÙW˘ýPßB€Ì»š…ýÏ)¡§¤ØNGÅð6ä7|Çîük™ÞíÇfÀ…WUßØã·œ5b-FKpìykÑóÖü¨ ÷Š€s˜#=w"g›*¢\oN8ð©IS•šhô$VFf#î [ú´’š3}v§ “Š£WEŽ D?²[GB×VðK,,¦˜®} Ìò€œÈ¥sú ïeÐÔµZûªö‘+Y—ûµÛY¡¢ª7œýzV=XΘ6˜0aõ>v=Hè}3–­šadÀïŽû†tœç×-Jr,Cp{“li*ÀU•¤MðO&ýŒç`Ibp9Á‰RœÐ*M6ùÆ» Ï/˜”¶O¦¸1+eT”}5« nòp¨`³ßÎî¶Þ¯€$ÿ}@9Nov )n¦ó¶œ‹q­"4ÿP÷¬‹ºô ±ñû]£.ïîY^©g> f¸é;Œ°ˆ^:Â7q1í­Ã > í¬÷É?p{›Þ) ¥RÊÔ3þ“°bT‘xZK0Q¤ƒ[’£s®û½„¬ßaôEÖpŽ‚!é•»]xiòh:žPq·KÓz g‡Í'ã³õ´Ûqa>YZðEG¤ R§ë—ñÑ8¢õ5FT„­Zs“-Gœê?Bü¥¸¤„”H,ÚL)syPèÂÆè·1¨ ¯ç÷åž©—Êdtþe37¨1ÆÛTïäATÏ÷ QžHÒ7»<…~Ë*–äK|3„¹ÈœÎIM0y‡‹ÿ{eKÛoA8¦Aj4NòêzÃölj[³Ä­ãÜJ\ŒB’ÉB㇥þ‹WbX6¾ˆ;]2Ën¢³M|=S˜HÁ}ÅDÅ!„Ëb^ aAWV)fUÍ¡r¹šàı~¡åÿ/†9”\|ë&Юâ0ý-— Nxì\è’5ø€3÷‚µ“*‚…ì§w^T=à Ä|³©N"Õ‘1x=„—ÓYÕ¶,2†k6å4ŸÑ«Íj“|R,¼uµ¥uõ.Ç(m2ÊŸR{?ç¨ç"ò†¥ˆ“{ÅÖÍÊÜ8d@m´–A™--{‹ºÞIÍ]©+IúÁk¾Œ"Å0œw_:VJŸj¢¯S­65"º â§ÇDU1ˆQüŽÜ¨Iô9öýbô’È…–žébå_ˆ’•Ï´ìÕÑ‘‘<Ò˜íi“™Â/ ×=¬Qø]w"Qdi(AfÇ-Xì÷¼‘K`n›7Tsª™/›0"÷:ZÓÞ¯ µfáÖ¸kt†ÒñÓNú¹hˆ¦Æwׇ£fz욎Gaˆ Ù‚®5êz¬L ,ÍŠó5múJÃl©[ŽBÁÀÅÖ§—èßÿ;`þÿŽÀE[!iÕ£3,Äbò(/Ž`–|^i*ó~ WÊGÒœrÕÆ‚pQôþvÿýãÖ´ < í’ÜŸ7® «ô=®øÓÝ ¦;™ª«àD˜èéd?_$Ã¹ÐžŠ£±gr·Â1$¦"uPú)îÖK ‹ŸÙ© _åË n–Ñvð¤t:é$Ÿôýi<Ô7tœ®h/öޱ ÷"?„ÔÂ86I|jK&ºTf0f‚j…‡ÚåwZ'\sqwKI„úŠÞƒ˜lÊNšü¼ü%ù8Ò‹ì—Cø¹ *j¹ôÌe¶ŠnÒ4ÜÞDo<½+ì¢rÐËÄL~˜Gg®þ§oVLu,¢¹ ç¯ÙFë €OA‹(ì|±KPÛ¡å`ÕÊ^Ç)ÿ(£z„Ãj3$Žj¤Óˆ&^ütǂϥ¸vŸyOqü¥L4šY[«|ªlà|îd­îàѵ%! Bݸö¬kޛɥ,ÆÉ]„YNÇ¢*eÂ…÷”Ú܉ܹ¿oSìä%N@ÒçröFÑÓ?JÄê þ¦HÖ¥ NFqidÏ&÷à±qµd«™KÄUr€%ûÙd YšÊ‹å“öÂ$›‡Š ‹uSÓž=?^^NïP¥ÊvDß1¢è´›M ¹Î$ö!懬íÓRð`×ç k¼EwªgÙ¼S)X%Ú—ZGóDX\‚ö¦ +7w”I×—å©«—ÑqÚ}¡\’½»Ø,ÔìD^8f‡âw!qyEì)ˈ¼4<¬f¤&BI~B‘ˆ˜ õP²>ë‰ñ\`ªØ‰¸…¡~Ã_Ï·AÙa-i™]•sÑ?+§@¬¢]U°ù:'v 2ôö²Žíõ›eáÔ_í uz?1à .m $Vpz‚è ‘¶ÜTp3x¼IÄQÂRËjûŸ=_¯Ê. êóA%˜^¼fëT qCâUè*ÁÞßøÔ1#W,³f&=ïÓòæOø,­: ë;•s«¡Øf×uvÅo‚ ¿Œì¥‘±z9F ù}nA9$ÿá0Ò'Ç'|ÍÄeèM¼Ê6'$…î|È»Š…/7äÁ,5+:b5làkamþÿÑÓ$Q‡çRm­ØVU&¸ !”´ƒ¥8Þv!ü¯ÔîU^{%œ¸h¦Æe@ëçíý MÕ¡¯.‹rsˆâ@¾¹h¥lÄñ¤&ô=Œ¸¢æô,2T ‡OZ¢—í=É‚Æyïw”Ëzmduõ½E•¿sz[ÊàÁÊg“ï:H¸m˜B*™pH”ul¶8Ä>þO@**̈9óPàîÕªñªÙÀÖ,“²^]ª}€nZ±<=òU²Ý¿/c'PˆB;êYr0'3]\kçáÑdvNdVàgGEÿ¶G‰Ï‚Éþðž0Í+MÈÎmÊ—‰t/†g)ßy1ŸA´úz­ôV›…^rŸÒŽßndÅb$ªmIKS‰E-P&!Þq%Ÿða·Ø@‹ŽÕ7yO‹ÂdX?Ú*ë%N½Ã» ˜2s^|Q*ÎG‰3ñçŸ^]ý'ä!}8ñkT} Iî…ij¼‚1Û²~ ±îÜ~e;nµm”€z‚«tË/¯ãó%2æj؈œÇ¸“bnfmú5Zßß(òë=KO꣘ j=]oºô¾òg5úPµ3•8ŠÝ“}TÉiÛ€o” ñÊ¿²Õ1ªÙ6Ô[Žÿ~Ts[gDß ª–¦Lø2kÓ‹eG®Ü‚j(Ìlè §ôݼ‹¢Ðc›ù¬r´>°ŒB‰A#9`‘n*K¿÷Pô* Ú—÷S1Ú¬‡þ+˜XÀ 6ÔÍ…TUtÅwU"VR¼Ž·‹-Ã+òŸ8[Q­Œ;„«—>*û«rˆwrÉ©* mH o[€«žùjÀVL!'õlÈÚ¹[¯AÑÉ-ôœ¿DxŸì"^е‚W¬®ÇqqÛg`ϻߩ+}Exð·UÔ¿‘¢'<–íÙAH<ôQÞ(¹û냺¢•×V<™š·’v;0('½ŠÀ¸{tÀ±Ó<̩υÜSÃÖ´’‡Oû|®oôn'QÌå×V8@Þ]Ç׳ÇT½ƒ*@辯Á¥Å©$\ [¿ä5ÈÞ…¾FºOa\fE_kí¦¡ú•§6jxϼŒaÈ—0$Ï=u¿7­­ß|ó¢dý˜{+lH’a~}tã´ÅÏAúª?¤ gE©gnwþ+äÿÔzK$óVBÞs€\+(!hîêxœ/®.•L-©›u‡ ÈÄd+‡OÊT}‹W?ºÃ_áÍ¡q#¶ˆIQ(f/P™RDâ¡ýìýómÕÄÑyÎ^ ŽZß¿#coåóËŽiñê#êN>[) •|×ZÄ{ãmqÌu¢,¹fßδ¡:¼U_€óæ€×„¼ÆQ©¢u è ¤!q¸sω3á¤dL„¦$Z=‡IR³×÷0Tå¡6º ¨—¥ƒìÙ!Ôëv©Õ7âWýðÿÔ@˜ÏLb¡gÊß«‡Eú†‚ƒ¼tÍ—Ç÷rïGÓð@Í¡úø£Øväþ~|Æà𰇄­£ ›P2¸‹æýÀ=7ëbuÈì§:Y‚Çâ9åXŽ--cd²q·E1uZ#—Md¤¢Í'•oÃûÝ+Ïn“s×;h¤¥8l&ùí‚e¯«ÅPÂ×}HJTgO¬ù²dP8m²óÚ²ðdÓw))wU>ø‹uy'ã’EÚPN˜ßLåPfÄã­~†™a½k°ÅÒk.·\åYš••_DøÖÛ/…¨:w˜¼m±Á" wí +4óÿ‘Æä>ìDd::)ØÏg D-‰L£°Èƒ[¯YÎEç÷âlp( €“ª—Ô[qݧ3l²vÖB¥Þ¬|9zø­l–Ú,Ú!Š‹7l þîæ_HI\³þ:l$dD¤fæêä-J½Ô’ß-¡@¨<”H††ê–cÍ~îÏ _ĽufÇ«EkÌãw}T‘ª¶ÜoÐ1àeßM…ó‘Ê…ó†jùI˜x±Ý.X¤õ=©à2úç!U5h •p&ÒÖˉľŸaÊãEax°&'àù ƒã²Ìª…=WÊëS§U”÷¸dX0Úñ´óÀ#}Wí£xÖºåqÖb~ݾ­{}Ýè”·ð>S rÞ¼)4†£-ù@}åhPWHìÃ4ÿa‰V›_Î2·ó?òaŒ’™ õ¶ÑÈ®  B?Òú|xï?3K´šó.s7òÈ¢åê]BH:#ìzZl8+,&}Ã.ÞnwUÝà½F³ESL6[¿y(튌òVít¾G†Íç4€VaÒ7”iH KRºÍ70p¬Î˜vùL*bäÀïˆiÂiFLÔ?ÊqƒÕÛ–é²DÙe{PL5[BjwñTBAqÉüæ*ç£R„|›¾/ÈÆ—:Š€A`cÞH—?#(<4½/Éc?øU;·A–ÁÒ@J:²#Ú˜ˆMºAß ãf4Âvù­±ÙèÐ?›à+¤ ýEÿ‰6¸+ºAæÛ°.X²Û4Õ™¬ËM ¯‚r²<ó¢`FS"‰öí¾õâë’­lå§7XÒá\9è¢aºŽ”¿Zm˜96“¸R RÝÉ0« ,‰9q½ä¾ù߇¶jCAÑÿìï¸y?FI ÀâK¦wê…ƒ$YZcÖŒï Áÿî9s •‹”jѦZ²Ò¢ID ‘yý»k‘쩘Ú3èx¢º©ÀâW›µ çê1ãò4LÚuUÐæ?èL°Pþ=kÇÈéYÕIÌ|">}FÕÃcÍv×Çë¢Ô?<3·š83Ô{$H. v2õ19± bc ƒ Îò^’nŸŸ1cƒ¸ÉIO eüÏÎ\`¸“JÀb¾„ÉùH9ÎÐDT°oUW :ÐhN©F#˜| I[×î«¶ç<þÈL¤QFêw¬ËÓº'Ôy6£êºd~?rñ`¦\%<Ê/Ãv€‰É%ªYY{q†>\Å~I ®Bc …Þ©a>‹MŽgCô ÓFôk tê)ª‘~ýÿ¡ƒ{„lèA°¯ e[7ÔÝQÀ*%¤Iw„5÷’úF °gï˜7{^äU MVô®©8$Ÿ˜xÙ‰ä#vðàË8‡O÷Íd裂ßc|3d4}ý†!F/™>ˆª["´à—´ƒ1¼†ÚÝ4ÔvÜ?ßi=§¬‘>ˆ¥š`ô§¨‹¤ÈÌÞ<Œ²žfL—·)BEàÐ)à´}ÝKqË!æ"­´•>jÆIÐó­J úó€iM~ çR| Þÿ…§Œë[ @ä\öD¯z™úyTðƒÄ6GµPqK¯Ÿ\.ä‡Ú¬ÝËÂ*ZÅ5óJÐT$þ ½ñ=Uã½+ݘƒ½”Ðý2×½i¼äÕPO…ŸÓþxv|V·HyšÝÏÇkn¡ƒc‰šs}$l¢yuM_^ý`‘§GÔ‚qèS»¢®Râ">n ¨o݇è3ðß~Åïo¼£•,E×àNòôQ¿;ðÈÜ ”=š ]²Õß8ŸáãÎ%f#,Äk„–ÿ³pL ¹éRKacØÓÊ‹bòèöÓ:.òó’8kZX´2[N«çc›Á2'1ùY‰÷‰]¼¾¿"UvÀsÊ×(…WW?¨"ôþÄY¨”М½©àI „*"£Êzª,ôžJVØ)D ÁÀS™³œÑ.L.wÊÖ CÅžûVè8´Žw”ˆ>çøf6DË~ÿ»“Ä?üݾÀ´2Zb§2[©È°D_Tü­"á:½ïqûqé‹¢·/´"Îí€ÞçåR%(Ä¢'þ–GÛ‚N‹µg~2ivþ8}úT ä:„^ãBÛÈàŒŒò|NØñrwœ›NÆÀþ8kßm…ð±ꄱÇÿgg&M§çfóWµÉ™Xa—7TàŒ^-õ1M·dùº½h=ÏQpbGç€]¶(sÕ*ˆÏÏÃ#"§ÎG÷²fH«ŠxÉ. «Yû¾Óë´ú+ñK#Op4 ½ÓKуš lâeO· Aå<^sÏBæzÁ›£z«¤8â¸+P ¼ùQ£ø<¬gY€™üãlìñ{ ˆ…Á~áÁgfiiŽÚO¤^_ê&r³?¢:ühVØüëýyÈ"8«¼zèD“GÁµ©\¾S„™Õþ+1BÁ©¾UÉ*À°ˆðt‡×F‡pfxó壛áýÞQ†ø¾çÜÓÏå@…ƒTßôÒZXÒ$†þ€‰:ôcà@oŒ õ“óH”¾•_ ð(bÌü´5mÁÎÓëîfÇmÈÄ.ówàÈÕrz›÷¹B7E9¿[ÐÆÀq¨š¸‹#µhœ_GP''s%XA»rÀ­Ií)?{½¤hù;ßíµÉÅY¦€HŠ”®z`«’£Ý’Õߤö†´‘,’+ÆäõŒ”Kö$o5&2Z—jûŽ”WU©‡J»úòô@䯵ð«jʳ§ñÞ‹Q"9™·[̉±Pýå;^Û™áø# êÉšyåŒ=¼Ä™ùðÅ-¹ñÓÉywî »™MõôÌ.âYÞDY®|ª•̯D½•g$ÛN¨ŒñNó~^©kÖeÏ• Þ¶·R7BŽ^Á¸Ù¢¦v¶¼Ì‰yP•ß pæÌX¿Õ Y~–FMnµýÃÌ @­œaÄ$Åö†™ÙäÁ«ÏÕF‹¦™}¥ó†ëÁÞch0Ýé²3Nþ+Ôú&§ài«1¤½yp×ÀÞm©‰SË2(=(‚!þ‚\ƒ)¼d—dZ4ò×nŠlKÀ­çÉDÃÍ¥ ‡¬e¶M*g°^P¬ñÌeV,›<ÞbÑEÁ;Ìÿ¾’ìÕJJ1–E8":/:¥ÉôÅTý…¿ºÑ&toÚÒ]|Uè´þú¼ã5@øÚ,*+6aàs¬hÓcÜ»Ê H($OÇÍÀ;@@g8Ó®s¾ÞKi°óU‚çfUðâËÇP®Âz¨ÌBóÿ¨ßº,¥$,ÓÀQ[Öß캉ÉN™®5 >rxPì˜ ÚV]uà¶Ö•ˆqš£G<±êΆ8.!ú»‘W0oŽUèêì^/éïÂ^”ÀÏ=àšå~¦š*ûØ9³;™Ê‡Äȃ`Ë„t‹‡ØÿiàÝlÜjæºâ[è¶)‰v´…ùµP$ºíØÔÊDvåvâu+x‹ ÷|–*úÍÈ 5c®´].(q¹”‹…F4G±/1äJ?^£È@˼åOQ(ó/ä;näp9©‹+ÿ“l¹ßÜ-ŠE‡ˆ°F;v\È €/)“|eéfÅŒ÷º`uʘMëÑ=¨ÿ5˜í>„VÄ"žDñŽÜ–Z¢±4(¤·ÿ÷x–F"¡*¬á_¯gˆu~´ MÏ(Ð"Q[â˜é,^ÒwÊF¨ÒòY4¤Ÿ{CúÇg2v´'›¿‡8dZ\ü¾nVæPûìTà  ¾Ê+ ˜};ÏVÛGAU†BM‰Ë! jˆÓ‚É[7o]Ú~&nmgˆh“óÑÄé—C3Ñÿ¼¯; ?Iÿ„Á°ëŠÏq`ÌÛÁÒ«Àë`&ë9¬^çVò4m@Äš;}%ÐÁ‹}Y¡r¥œad%-l&<ðq†;Oi ’)€ªEÛL©w¼>4—Ü*t>ÛÿEP¸Ïdl7MæFSpùÁWÏÞ[´iN–QîSú’ªj û®Œ+ŒxîÖFJRŠº°LœZaäÙ8W¼ouÆTÂH‹íË[.½É?{õÚ›@ÜlYå^ß4d±êJaT⥲ö,or4îÑó~™ ß …>)¶]?Ö;4P^>¬Mlâ¶ã,+âWÒÑß6gÀ»7q’jBZÊ€[aE¶-ŸâM('&¸U\ÄOÚ¿¯ÁjõiþøÄ·Ã‰îVeoõc\= .G“©ð‚Ež#|x”^8ÎDHQ$ðÀ<$¶™ .^E'‚Ù ÍJ.Ñ8Bé64Þ•twyÿ›(Ç?#CšsìgÍ–Orî‹ÀµI`\X‚æ°¾rŽ—œŽ€×ì9\={¢¸–“úîÊydŽ xùä€X1žü0äh¿mUìÔ°Y]ÙI¯Šâ '7ÛvðM.”–,esã’­œø O0u¬·ªÏr( ¿_·λAzšüõØv¥;Wlê¹Ôãh|–kòn!'/ÙEgQm n>–©±NàC`â}ºˆÐüQ#k©`ÄÓÀ»d;­…¸˜²îƒk~#ä`›á?Cø~«yi»W'û ^O¨Ã»®\ ¯Ïÿ­n÷Mà,È;*+(ƒÀùh‹äÎ9aJ´=ñ‡ô¶>b-ØÀ-] ]ï pòŒ{³‹Â mp qð>HÎØm"fáà‡¼9êøQêg?b¡Küýj³þétòz Ëâb¯×µ©rà®]Þ3ü’öÌÜ…ˆfyP‚V×áµìDsE¨UL*lÂ}r¢å>oòfr£h,zh½jFe!¹}ù,ÁS’¿<Ñ•çêð£ŒCsÍB“Ë Ú­ÌGíNœI´TËiøHÈ™5Ø÷“÷:NÄ™¢Ÿy • Ðø1Q…Q“‘Ê7Ô?оÅ,ÓF ÒÉ;NÚù :Ò‚)…ɽ/|=’ò)™¯áG®™kÐóªß)”¤s-î’€.—eê£m%øú=úäa,h¼ã@ ³P)ôY°DÝÌÁMÄÀl4­Ê“Ù KÔp86j@E“EëÊšˆÎI*Lg¡Í•My’è²׋™¦Æ˜ ï ‡_{MÝq6…Š–C˜{†öýÝ䣓5@qÝlˆorYÿ]ª z €£&¯ ™ä] S¤÷šyBJVˆÏôCÛ¡Z¢Ã:7!ÝGA aÄíiheéakˆ4buŵ8íàµsçlŸî—vÂìÜùνlÒãác>µ¯¡é1ºS:ÝŒ W2Q3Îœå —ÐyTp‹ÑöÇö^î|ý?Y­*eÐ4—ê&dßaׇ¯ÿ#Ùxäe kÕ!ŸkèI÷6¨¾å«RM §±äEKˆÐ\Ÿì<&iÀÎÈG—ô÷P;ÀÖ½ä0òÌ5Y^©ðšt¡SXÁÀrâ¶'¹ë»øq6Å) S=E’âÛZÝCB+c ÐËg½ƒ½Ù6óD /Ä  !ð"M(µÅYv‡ú5¦ª´$ñ»¥xOàš€'šÊߺèùªWïÿ¬sí<â&b ÿï³õAFƒþïÕÿ5ôñÊÝ®†~ܰŽ0»ó"ùÉJ@bg!ºtpðp—^Q,K•-µÞPÝ?v üK@Ã?þ;vIò*â·&¢×ÖHaó,Û] Ǻ!°P€e©ß –£Ù»ù´´úmÞVÅÍ¥oÛ›ÒÆ¡¬9±ÌýÒ¹¯Q q}°]ÖK¹ûó„¸EöÒ·÷&ëw'ÛwÔ×xÅ '^³Ðwr¼©srCå‡f´Ä#V±”¡_Ni¾ ›¡V÷ããƒIzx¶¦µ`äÏ”µü¨7^÷+BæNwRœÔs€}ä(窽uIîL™ÞWü‡eàU³\\;ä¯êVE_1+ÿ¼ú°T0RhMþÅ?”µ]£¾ò²E¶R·äfàˆd²ÄyÜ£k…rT„àï:pä •öå?‰VâØ òä1Þð6´”E Ù[±¾b˜¶@X`> ÅF…²³ÅÑ€ÁÈ|'€k“Èœ.¦¾ÕÁyñ§1ÈÌXmEý²bFÝP¦$³¿J¼e»å 4‹UšÎ »Vn#Ò«"¦™f- ;öa‹°ûaÇhêo=s¸î‡•kÇNL>mÜ¥å’ÆÅš;ýK¤€üù~PÃu?ÒPÏİô“Š8Ì’ Ý–à´’låˆM™è×”äB»Þ7Öñ3xPÍ|8i5þr)³~¹ºF¥[JÖ˜ý`r6’¢úçÊ1b|ä39–gÌŠjxúcèÏ2#l/ôÙR@.gÌ’¡$•»ßÈ“÷oBÈŠ’$éîŧ]F^P€•–ª ‚š¸Á(JsÚƒ7jþJÁhžÂ•ñMÀ9±»YY‰‡Êµ³»ƒM¹S/Y‹ŒGÁ)ÔÐÞKR)€ÇT}ñ< ‘nÌ;úW#¤‹kn ™ÊëÎÑ…³íœ.*–°f²'îø¿Ÿg¿¡Äß]Ž;š4»IÊ–ÎÎeÈ¢žy*-Z|©‘îÃÅ+ƒg£ #2ìR¬BA.±gÔgµN½Ê÷±êÓsà8}Òˆ‘<ÝÀj ?3L¦Å,~uä"-I›ñŽ’2ØUµD¡±¢ÖAO˜ë¤¥ö|ìºÔز†*{¤˜:ð%e8.HZ˜g× Ô8 šÒ ü^èðeµŽÌz·#îõºFúÔHèÝîÑ™@¨¡1@ã›!=þ<öªš`ïG±'HJ­èÐXž\[áqpªì%•Xð.HØžÔ.Æõ\²{x-4Nš}ÃóxÅTÚè©Iþaƒx](fcli<ÎçØ«NÇšWesbCºý=çÄã®c´ "Zõ[(½4ݳª'$!R.ÆïÝK ÿ=Ub[\ú ¡îNm¸áó’Ô€Ð\ø’:q°¦öß»…ÓLópÔ^¼ÁÚ=³ðƒÿçºcîcžOoÌ‹5¸s{kÉßU‚@‘ÅT³óöZ3½…›¥g‡‹ÓZLbð­sÛ•Ëň`ñŽc)__‹wï(¬^¹ë,Àì—»"b¼Y6•ÔO•·ü½.;Ýe‰ªÏ;3LâPÆ Q)€–v<#À½cB†Õ&ÃhX¤ölAÝÚì‰v¥Ñ¤KÜ¥I'¥¿¸K À¼úÜâ43&êó€.ÝÈAÜË*£¬/ä–2~Ñ „ÙÉs ªÔ°OTêU“cô+—Ðr }stˆ˜Ö¬ üô Všònwy ºîbnbЬ 븗]ŠÄ“R«ˆØqŸÝ¤º™ õÎâê ü’!Õ¨;/öäkǙ䫺ûu£DCŸX?](´8¡ÑÆNÒ„aYµ’†½Ã-#A­¤ù¥c›èØ y]O¥¯ˆ ¶ö—«YYÁ0H¼ °?+Ó`…¶bÅÉinñ¢>µaøáüÂFÂ¥³@:] Zîònæš\öÛܾäO‹ÄZ‹4éGmÚ§ÚüBÜúU"ú{`wž‰ïM‡5‚*[Π bÞ8†#.·A}V,€“ÃD"‡—ŒÁTÆÒ Ù µõ‚€¤S]Þ“ñ%í£w‰î²ôÏì4qG®mG§÷>+w àÍÁÕ¨-˜Õ*èÌÄÀÿ*ã9D’ŠþØ(ýÓÕÝ)Ã7MÖHê°Ì{زù0Ÿ\h©_§V鹩z”×±î¾'gsÄíÉpœ†µ¾óG|ùëdž¦•ÆåWòËdî ¶8wz¶îògսñÚy5ªð¬jg ë+mCiS¥muã»f‹ñTY;®QfhýJNjѫxDwÌ1iôñ>_Á’y¤À§)Cß[AÂ/bHéD‹Ü‰||†ž?çhhŒ[WOû:; ÔŒU,Œ¶ÏÕoîÖFOº"Œ<]©*K|(N_³EŒØÌã©„èûF¼~ºk‘ÂÀT¨âÛ„Ör§<]-þHvžçÚ kŒÆºl‡ Ñc3ïòï-äîµ´ŽéŸ’ˆ­©LI“9:xÑd‘÷?iDúÃã¿gB:ž-¸L)Ф¢$‰®´¾JŸP©+&E/cf6üvÐzs|ëï`HÝ8XòÝÄÃØÄwÌKG& “w4}õDøŽÎ?Ü /V¬Šà¢N_¤-*\!(¾ýr*º"`FŸÿ®Y„8,5±÷ÿ~[oÈŒå)°V’%Ëô¦þ×bÀ˜ÿ1À–Åw„_f‰V5ƒ”÷Ž ÕéÿÃvw"ÅPDÿ5'úq7Ø”)~—F¿ý yª Ò¦30éV­#¿›ÓPEœ@w‘î-s»Ñ:V‹µ“¬Ý6S‘Å=ûóI&oY£pŠuDŒÊþ–ºÂV;M t^MJaœóàß–°ßˆØ…U¸¼´snoÄ7(ìÄ5UŒ¢¹¢ ä´¯xÕS:6þ_˜0«•넼µªí ‡Ñ¾¬±­!û£²‘tT«nö¥Áн,僛€óÂL¬½¯97P÷ZËAƒÈ‹YY[*cÂØ«lpó:ôcº‹Šk¦‡Dƒê‚Šô¤gTºÛ^ʃ…xë¬Ãxðá†]n•o48ÉK2 EžÂE_ÏšÓ>‘ކ/]µ6ÅýÖ‡œ†Dby¹pu+$§†UôÝ¥3·†z¾I'óë霠\÷‚À0•MèˆÇÖµÜ(aà9$½GÞ$ÝÁYK‹l¼ÿƒÕäW¾jƒÑŸ)m«éGÛW´¥ÎjÈ)úÁ\m‹Ù±Þ‰ÆmüoªÿöÃà3É.Ѻ&D ‚.žŠÏ1}BݽÇ[?“ÙK¼Ômo3E¡žŒa’UZØ$.=ž™n¦?yŸ–>äÅNiKc³*CÂl1¦â‰jä¾íµRëzÛâº[fŠÛ ÍTVÂq&°7ZÌÉjÿ)0è†zp2ÇñB\ž½fåxQ»TÓHUÃã7^1æ³üçt |ŠYƒ!?»B=u:>R¾ ãSл«µFR!Ž[™B<‡“†HéMŒ6 {ßw4¡]„ítú:Ú ë“‹fÌ;UgÁsgN¥®©p㼕gt¨!þÐ<2È B²€ó·`_Úú¼‰æ‡s©'Õ*Ïœ|ëÿ8Û-›€å†¶Ï†‹ è0ôQ&@,ÿ…™¹È#?ñ ³öÂß}­ünÚÐ,ï"»€¡OÂG»Y¾è÷î2…<Œ)C¥C>Ò—†¹žÈª°õú÷ÛÔ¹¿›W$M5 &@´@ï{ÕÖ):GUTH&á%Z³€Ú¦4ä:LLûC»»#,ÉŒ w.èIȵõL)Ñ¿ŽÃ½²‹cWwLÙ};efXê^^0n~ÑpðFº1jÂn‰m6@£Ÿ—›Ñ?†=×~Šñ¬Ã=GùWJaÕzðȰ¿”á·˜iºü""“áØg”ÊÜã{Ìéå`¦œÏJ. IbÞÀ*Š9õ8MþÇʦó»÷¯æ1ÝzË­'7#нvÐùÎðLÆZ·:ì)9ÀïBFZL`våbFºÎ²ƒ*‡X³XŠ‘5±#íõrì{eÙêE‰üÕÂU0 ‚N¤;à½F1‘Eáy¹ÙÕÛóŸM’öZ²XÂvHÑ@2à« $™i?2½;é¼?ìä’^KMµ-ð-G˰_‰ ")É­V‚™8ï¡„¢'ÀÇwëúu6.3KK’¼KñÂ~À®À×R¬i ïì½´,ŇvA&š…ÚPôŒÛLÔ£O;•þ=yI­$9[ç/ޝêµ/£š !a#¶6“Iñ¹ „€y„Aä?Â-ßI’À±u”®(Ÿeå¬àî&4èyöàû 9µd×oØ=lÚžFkÖ`L¾ÒÞe"kU‚ýÜK‰ÞÛ¢.̰°vC4ý›Qo™,Û@B¾ëæÆ¯˜’f­Éëž^+«P‹yBl <·5·šgc"ÖªÃxx@¤²z)0ú3+c«\¾-Ãx¢ÚÜþBr`û QñHŠÔø'C}íH‹k¸Â ‡„«ˆc“ߓרfl.FŽ8þþ‘2¿LcÛsVص¿€·‘‚²a/nxÒü[÷ˆß1×\-ÙÐýbäÀ÷*,ɼhFKÃÆ•J·N A‹IaL…¡¤'ÄÖ=)L×·GéßÀ[³è'Áp3¥zM‚D$ŽõózaÐg{Ù¼Úu§‰Wtjb~®9BÉi‰?”ÎœÌØ¸Üqžt"˜ãàÁv1DQм\6¿AL„Øð# JòL$Så}Ák,K*2d“†‚‡¸øì6‹ÜïqjÁÔÆ·¯-ò¢Þú84‡r”l³`2çŽaH묃ä׺ƒ;dôå¹sºÃ¼×.uWÄâo£ÛPÚo}ïÏø} ߈wÈhꃅeŠÇ0¸w Nˆ Xäæ5|‰{7ω‰THê_?®™¡‚ˆf~²82'ÇøRèL9fH´ Òaþß7˜¶Zƒ(QMC³d¶¥ˆºEØ !¬æ™‹œÿ°ŒÇ7wa?ÄGÆLêCÇ-˜OBŽœúÕ,ó¶»G`,©# ×ó\ßm™ô¿‘ÿÉþ·S†n"AE †I‹5„U‹ï$·æî¦3ÕåµÑ%pa7‰Ñ#mÇÁ¸„dõá´kAÄ™½T[?bæÚnÄý©«¤ªicøþÊ÷÷ãø&c!q+7Δ_8ÑL1ú^@a?P€w~øaؼ „¥uÇ–JÓÞo´!’ 8‰DYÂÙ‰‹ªÄDäö£}Ÿç.÷˜ƒj@×f·Ô<0±løõ„)¹ßÅ­.Ap‹“[;¬³Ÿt5ËIV‹iÕN–UU˜Nöë“'ÐO©ÖPEõiI¢¿èÌ›½ÄØûÝwLžðFW"e~÷ÝøV¹;êÄ=ªr­Ä92„ÙB!Œpùv<ãfV(ýf߆™›>¿ª–—t´Ûì’€”ú'~á©ýú}Ëk¿¶ëºè‚ËÄ”‘f@`ðÿ3˜ƒAs°[ä3õ“­Ó›WÚ­gB]ñ2ñݰü«®ÿþ5Bˆ‚ÒshJØž¯-1B,R ºbd{î?@'¥4J V¯ …ˆ´!{ÞäÞPvÂl”¸Y‰¿|£Ÿ^>äAþ9óŠ¾Æ‰V£©j ö‚oK¿ÛW–ð„ùùPáñ¨†ØIí÷³N:  vÆH|¢Øå’ý5·<¦ñveqÞ׈ã’t[· {ѨSM5ù†ë³˜`É÷STW­í‡¿‘ÂÇG›G¸\]HŽ|N?á*MíñO!–büKTiΙҺŒ0£¡W";ºöfO„-þyk\ŒsĤÆT7!ˆŽ4ãÏ#SÀÛã*öb|9¦^Fé¹mJö*Š\ƒrÜÆx6¶¯C7ì¸Ü×(óþ!ÊïÏwãšÜŽGV XðMI†N L¶ÄCÙïÜ©Èqh6‡æAXS"wî…œ?F0ñ­Þ †ìdÕöxðÈÍ—…ä!›KÐ`Êf€çKègî ñ[EöüH[‹;¼6Š¢Ô7«›ˆ]ûªš ÿ Ü;Ú=Üõï¡ ÉòI#MxE&Wu÷‹ eÊ»"‹Éày3â“Ùo!tnÌ7J…Ñ;8­wpL{ Û ”ÛÊæQÐ!â°©=½rWLϽÊ?–sê°W©¾öq‰SÂ…[¤â¹‰æTA’4­¯ïÎÖ2w1b}²„ÈëÉXÎ0ACØâ Ä¨5ººíÃ%^B¹=á¬ÝÓ^©ëáž#bÊaCŽåk©¹˜ëìëÔ.F‹OŒ{®ô¾]èíZý2jÄìàÇ d¦GKI²$Ÿþ¬õX nbjÆ$Ü(GñSmÎãHËqžTLýø=”1YhΆڔn;¯¡Ö(„-ƒ°‹*ÍišçÉÃâǧlË1]/ÕãüÀ^ -<êÿ¾oÀ¿ŠNÂ{@?ðÉO‘ÐAt¦É\EkxY¹Òr߇CÎÉ­Å©Q²»ëµ{0‰ç¯Í…µ¿ÌEa#Fæõ6-† ã;³ÐØÍP‚{§Çž&$1ºaX”߇³Œ'&Ÿ-<Ñpsùì×è·ùÚ+Cˆ“a±ÂyUÕ¶*U†…Úä(|F»þÒÒš‰òLúGLHsv UÂÑ=Дðíqfæ}-V`¯žüp^—Ó 3_û,Y˜¼œ}ñåk뢮z£™ÜöŒ_uþOzmlzovË¿®·Ó`”.ñ$sÈL™.v‹ŸVœÎQ`b¦§DSK,ÿ€¬ •PÄÓ9aTEz S_,ã…nžÕ{Ý{>æ—;ÿ)&,Ò  "?­£q8}éõp4/ã$;“‡•¼R?›ÜwÏà¶~WŽôQSHre>ÁÜûq‚–‹{ÛÿZ"¤ßÌh¨ï”¾Øm*´ñM¥øÊù€írõ?~š©£0ácu¾6I*‡Ž†!!,åAI™'ܺP³7{ß›ÓI¼5õEº`õ/¡LÂì6@Ön·IàÏN'öA]kôs¯N§Ä]„çð>ôÅ¡1Ë—Kuÿ%r°fÚ.ñwÝãvÊFí%à?»ù?[0ðízªhQ­áÙ¤±–þ[_·”úúý±0†ŽÞûl(ONÚ÷Í€Cq0 ˜/c3½/²¡ŽA£\µ¦IQs§Ôþ½6ØÛ©u<"õMEQÜy"–¸pZ×a t‘|]®C)–#|gŒþò_5~ *›\(P„ŒËÒ«ÁN`­Èž–ãÄ"w}8a¤?D´N‚z0ëÐE’Wûˆ?a‘ßœ;|ȉ‹!ñ®çKÓǯ²!žœÞDn™YP;¶Z…-mûÒcŠî ãYÑÆÄß Àÿ%ѪØ4¥Þœ}ò€™a~‡"¥v&. SW¡(8¯q£ñ†¶”âšBØV{ }ÛüQs|:À3u‡hx6;Àj+­èøWöQ½éÝÏiK沈H°´êó™˜èÍ*¨½kËjÂQÂŽ%‰Ã¸ûŠö3…°f¼ò I^وǎ«â++r2ì¿T…[FU´úîH†„§"ÆR.¬-+ [‹’ƒ›;Ñó{Ä7gkb¹ëýŽ?6§¯*d{ÚÉÐf»ÖÃŒ_‰ßŒˆïäýÒT’o ÎSbòLeÜ·¨1 nŠzÃRfv­Aø¢sp´(×:{Fã§—äžÒ È’ôÀÓpVzîÜÊá7b¯u oS@Ð$´D]•ã\Ðà êG’dÞÃI° .`ð´ùöÄ8Öä°KÄ÷Rjï«ü;õN¬é¯ÖmAI\¥kí3q yºµšÒ £€‘piÃaï‚ÁÓÄ \À‘ιÅ!&?‡”T–}A¸¿L³²½5b³ºÒa)iáofÙm:g¿®Ädçq_Òx™µ,»ÿ‡‚o-ÐÑZãiCºv,ÉùŽÌ ÀWy°O2?Q2`²2DxùèÀ!…æ:ÙO~;;XXUë&Á1Xc¾–î€èí…ºaI2Íâ ‚=›üŠXïø$GRåþÿFrÑÅ`—{8¼Šñ–ˆ‘¢† >š¾;, ­¨JK—/nÔó%ö!•íáR{ଅ"V´k‡¦¿º{Êå¾40a:®aIàvHP/ŽÞ¯èñUŠ=˜Ùð¬}é Ò‘é6aò{Õd]0¬h û²i 1‘±þÊ+v»:ª€hÞfš—FIVJPe`+‹”‰XÇ øÕ<ì>bùDÔUdš»]IÓˆñ…ƳWqá.úêÝòáÂMîk³—fÇÊÀÚíéý½rv"ÇÓûÁ€»®4ú*Êõ}àÕÊ­v02 mD©&•É ŒÍHyÎ/š ”So‡ƒIÛêDlšy^‹§¿V!:Dõ¬4Öܘ§¾ž:@M²¥[xçDÞäÞÜ:Ýõ7¨5²oª³·%¯Yi–d“#Ç« ÝK)˜dÑ_’@Ô–œ-µâ½è|ƒn~*f•ML<°vô5Þäéq»˜k€€i3;Ôw+äÆ"8·˜î¨fŒ-’²9J Ј}䜳t:•g&À[ö”ƒŠãqáúBQËgL®á¨i 6ŸÜ¯‹:väØ[½±WÎÖˆdå=,ˆàNC/ŒxÆ£Ùñõx¨ùðd\HúS6°WàÐ_¶¾-Ó1¨MB„KYŸèÆâÆ€Ö qú¬‡2š€7n}GÝ·ÛzlXÓLߣ©æÊÓ ûÈòz¾®¦W¦oªŽ¬D9 8!ÍÛ*IJ¡¥á-}psì¶ê%§3)Ù£½Äu’æXÖ:ò ýY¨bƒLײ2ÖŠawZ§ iI=ü®h†'›!#q÷öÕ­mwÏ=æ?üöA:!+|‰tï&*ë§þ“è»ËòªØöìRlã…³pªZÇÁmæ ­7ª”ÝÄO&LJJ…š´ÿ^y/:>x/îßg9'=ÖÌïßs懕-†d‡úñ…=ävVgTòò²¯Úèo®=ƒ!QÍbèy0cr`½~ÍW#Ü1îue8fX÷ÑlÛØ ½wîåÎ ²|:OA-AžçSŠ8­ê—ŸVûÕPåçF©övý{@Å€P>œ™ƒ¥Ñ¥×…Šõ_¹%“ {I.ÀLzê¼SØ)¤z›“?xˆ‘~›i®»©ÎvËŸØâß™KÓDîI¼ˆøRYäŽã?D®vj'nÍV C>§èi·Q4„äÎD­éÿÝÇf+DbìåâczXVÇmµ­9yžœÑnXH3s³|ˆ3'1éš(cÕ's‡)Ø:{‹ §öµŒU€»Ó„ìb*ê÷²íÃÑ»Œ¿KÿMUkÔîZcWDòùïËð–÷ÿùèÍ1ºÚGG‡™Óe2 ûX~hIË.ÁfJ+Z¦ÏõÐT;A*£„­©´¶ö§ÑäpÀ@ŸÑCˆ«^ùAUTq`ôOS¹l²ý5Õ¯­\ï¶^Erj{柳ˆ!ŽÕN&Hù“ÚÛ.°T«Á=ä•rG³PbøY8Iç׺¶q?óa¿PÕíq¾—{ ìÇüßMæ—ЋZfÿÔð\_Ýv«Å¿ô {lFâíѶúƒ‡H£‘?Dl2ðãé”ßÿE¢´=Úºw¦"•w– U¹‚D4ùú¹“º†+î¦ìr&†ŸošÔ'wˆR•P|º•ðcQp{¬©ó®÷6H‘L¿ã"jZ+b„íÃùtTñÓ‹™ìÁÇ šÿS¶` ;÷{`Ú ØÆƒ<‹Ûú¹eT$\Èï’ãìQïÜŽà-¦6ÝÊoЇ²9·ÇÊ‹ŠAŸðX©u®„êæÓ69rcH· E×½æ½ÕPL´Êý%ëåÇç@¸ƒYð /áØMVY{³€+iÖ—œbìi$ü|ÈåɸýRZoŸŒ` CdV8JÚTJ8ÀËfRëÌk;2RBwÜŸ_œšõ@9q;–K” =dž¡I4sƒF”먴$> Y`ÝçmYc/ÌÿÞã¾+_): GgGxÁñõíè‹J$Â|ÞT³Ãö9õe'\ žÍœë„áÂeï‡ë/¾à<Û~o‰AsX͵7ˆåûÜ7#²®Ë÷Ât(_ÍÎÌV>=g­ ¬2 Æ‘»Ãsæý¡d;CPÒ`1>6°r+ø7G]e £ {8³EŒ n>Ýô%¢=C7U§L W&ާâ‰jIuSk"§›¶A}kÓUòªirè®ÁGÁÞ*¤áYŠØ2øíÆMxµ @}?†“í›Ùjá̆ˆA¯àÞªr7B‘1 OÝÍ{zDZ<‰%f€üñ™cá7~€Þ@ “ýÕï»­í(|N=ãôkëÑSCÑrª5eŸçè¿Ñky'•lȾ -V³„Û¸†jÅž‘Ó³Fßï™AÑR5g¥¾Ù^‘$=BŸB’Ë:¿Ì0JpaŸ# Ë>¸/jù¥ÑŠa@ü?.©ÝóÜ)´¦j•’Ss¨Ÿ÷ïÑ«}ní_*y ³qž;É¡·Ä¸¤à‘)'ÚŠ•ÂÌî´>ùϯ¨&Jî`¬˜­3#B< 1‹Åâ0·O$B2Y•†uJKl¹/—:ÁŰïn¤ŸL±WU!NÃwyåêÈÐ!DÛu/+Ðï0`"K§"[t@îóåŸ#w»ƒÌ›X]Évvw„•?¨”5ú/OùEýŽK}†¹WÅ‹wò»t®¢¡´héø,BYK *}$ÑO=Ô#Áö½Rïþ‚~ôàeW&¡¡W¿ @±ß’ ƒ˜ë|/†n›#‘·'‚³æÏ•ÐÏ'lDî&,D'¸ªž¸Þ#„&¨$É6† V«ËÌÓ_Ó¨qùˆÞ±©E<³Þx$q‡v)å6ÀávX?_#° ¡–3ˆ£PC¼@HÐn:ÐŤW0ípm«N,{1Æ3:e–Û›&Vµ¦ÜϤUCN‡°`Ø ¤E›Á:ù…õ¹ãë*µ,H •UÛÃüúRýG0)µ‰ìÁ¦Iíá°ð.H¦ë ¹£…ñÂØ§ó‡§M4tcó^§:f`OÝþ·å?=«/2ŸÝxÒ¿°Ú‘C.þšŠ£¢îÓé‰JÙ¸7RŸ‘—lê¸æ")L˜ ?7‡ Ê¥œÌã½ÓæÂ%ŠŸcñ¼ã2³ÆqH/¼7õÐìÒ!Ö°Îf•LÊxr“»…H_iäñ%V‰R¼Œ¼Vò5 ²+ÈÜ!—‘ñ7û\ܬ‹/²b¹…L¿šIøiióÅç÷­÷uPð[óüÞý¿dþnšU)Ž(tÊú±ñ—OÁšvURQ ÉIvrJÈߦSƒs0ÏÓÒü?¾ÇB(!8鳯¥90Âë@-d8˜¸:Zl›î;ÇŠØ¿ÖÃ@"n”¾“­»ãaó.Õ´š½h= ÈçÍßz«F®£]‹àå¶®#vš¿°ŸŒ©šhp[R^¹Œæ/RÙþ9BI9t+!¼M*_¿ztÝøVý ¢Áœ—!…¶ ö|AÒÁ]:Ä˃²[rOp´qíˆ"$ñ5[äªK›@k4ÐùºÈsÿûµuÓ;¹+÷ q4+}­¨d\ç¿WJª…«(=#ê*Š´yE¡>w°¶ú‡‘ÐH—*p!úF霗ø††ÇÝi«º¾<^œÎ¦\jE߬B˜½~ŸñÒF…ºêÐáÊŽÀë{Ï:SýˆoX‹n}[ÁIÀ5Ýv·‹‹¨?¢)«æv­Up“]Œ½ç@+›óG·´ÑûŠÃ ¿œj/ƒ2hÊâ1ü5Y~{ºµNT#65wxoÇ2SíN2u. t?ò¨µÌgi×á~)3¬‰Ú Í”ÛèòòoÂ×ý‘ ³Óƒ`EeÁ”ïÎm>§EZD%Ce§éÄcWWIZè4p™ä⩆]O)"Ɖü'Ñ/–p¼–„¤BëE« Sð%[OŸ0w6xÃ'^DÕ°Æþ7£¦C—ñ*sŸÑµiü³ß{üüyê™C¨~m)OwÅxŸ"gKT²N¡Ïy¦ ?òËíÀLÓþââ-ô°ä.ø’˜Ñj¾nMDIÁ,² §è9ªv²Y1ý4¡¤={ 0ª¨ïЧŽs;mòü¾Êo~è8õ¯=h+#VN!—îBÂVÔöIe¼’­ìf_ܺ/ÏKË0²´k1| ì¼¢Ú ³°Ëu¦k·ö½ÌÁ}=! ‚ö1ý‘>:""(?Öâ‘„Ž-9ú ”¸¬\T ;Ú4#µÍCµÊÓ'Xžã>` =(•ß ÃÉBQC1<×YÚh–ºëyMîxŒÞ¢yÞ'0KyHóVÝZ (¿ÛMúÅuiÑÿj1[þLÀðˆ)6ãÝ`j6¤°õKäaMÉšE'W îšÈ•Kɇ@´‡¸©SOM=^ÅzêÈ´‚uþÉÐlñQ‹ª·¯Cõ` Ï$ÙkõêO7}ÌÂ\‚“"Zð5Äð—>¦•Úb&ÑYEBbdu]=šŒªL‰âÛôþÊÁ`“žæsB$ø1ñ%ê‹· {˸´ñ3Q=¡(²ö¼ÇLš–‰Õ¥âû-MÍq‘Î]G¶Þ™bÇ~DÓΆd>³k´ B2Œï7ÜÕüvö¬S§@Í:íËb—‹|÷GR¶ÛÎ&Š ”g•c4],p^ì@ í#Áø,Û8k´†#¥÷èŠ%š(º¢þ¼IËE‰ôKµ@c3R‚•¢²u‹7OgȪ(íûg;™b¥‰çÎ{,êÀA½6jž%c‰o\ù)%²B€«”!Ä67 *ؿۀ‚ëÙ&(ÝÅRÝ}ÏI“¬rº7Ë€^Ê+q™‰Ÿ…-fûyÛšEtx ð:CUe˜0f^,EÆg½ÑÏy‘gБÖý{ùÇÎðýa*ã´ÓÒUÞäí*5bå_ú¾h]KZ~¯-ºsˆ>q( iƒ!\Ø.ÆŽr®3]ÙBduÑ@WvöOªØñùR §P`&vgm¢¢u6€òj63Dûb½~VñACÀh_Û][ך@Ž,Ð7¶;2|Ý®SøpÆ5›Šʰ·¸îÊ…¥»zšBÛ¦'9 ŸMÁ¾SM† Ó¦“pè-쵺?«C·ž,m E@–Ï™qʲß"Ðãs%LÍàç)‹WíM}Z„AŸ1Cuƒ¡qéÝèkã»qFW‰dÕ¢¥{°¸ýŸ2ë.þÁ®•ˆe/ѸøÏÇ ¬Ì©^Cß—’íœ{ó9ˆB~ÞÌGϱÓۭ—l1p¯ÇÐç½%ôL¨ýô‡wº\¥ežÇÍ ÄDHeÿv”ž«àÍ!Ö¬÷Æìóôn ñ=—sÒK™«/v%å̸U^}{1´e¥z¥¤*ªwgMá©a'×Yš°9}Φ0Íß:ä ®ˆÄèÍj,B‚¤‘“eÔ`À¬¸;-ÂÔMSØ17Î.V‰Õð_¹ìPGl³¸á›ZNÄI‹'ºX¾a0ÿaÍ,Š_Q 3—•HÕ¨) ôÔ–,èÒæç2Ú›S½XÅ/Ÿ\Økvë¥ÊÔÄ:ç¦åuî‚AÖ±º4˜÷†×'û©Á µÍ`^ÌqBˆ…  FúeAº’nöAeN2<±’µ<¤¥HÈøf¤æh–Š·™ü –6Ü;©ûb°& wè›ê!8¹ß›A»¢Î9ÜO,ð{¥Ë­/¦f'¯|;Ö*tïB [­“'Œ1°zõ:¢”pÚº¡Þg,€ÚŽtò¥4â›´)~N#*BÂj—2ž´hŸË‰ l–âx±¼“„ŸZóØ …°»‚ëbäÍ q”˜}™>}zú¤f× Îl}1äˆÐh@D¨¼ |ÚA¢‚Wæ8Ž+÷‘ðRÊšÀ @¿@}ƒ5ñýmUD4`Ú€Nk&Þ‡#mÎ֙¯N—É’ˆ·ŠX™¸WÕ£®Ñ¶„¼Ó.zópncpï>„¤‰tŠ€“k($_wwDZ†®wå¼VEçÓMp¨;aƒQl8ά¯¾ýª5.œ èÕíÔ)÷ 蜷ÎDˆ­­3DÂoEÕÍ"ì=›ë3UPÇ©)KHP {*„PKsi¨ÇœíP-S=ÓP8‹h}¾M1­!åLÎ pïìÝÄÓaùáDõþœÆ¿—?>BÜCñIO?;\Õ&ã»!ªËdåB‰Ñ§“O¥œÚ"Î2¶±I“)âa¨NàQÞÉ#‰1NZËÊ.»Z±Ó!&®®çUžvl¼+›Ø*S_üò94œn!Ÿus£]^­úÂµŠ‹4“†)8Kl<ÁÓSY-¿ ³Ã _¡&>0È&?²/:JLDoÿmH‡+·¯ÆÀ0ÉßL-uÔ¯EýÃ×ýq˜ß{í0¬íjWž²×\ëµµïÆÖHÊÇgñ3~‡ eÖñîª>Óž‰ŽéÿV˜½AŸliC’Á³ù)„¡Hét±+ìÛVÏŽ -zÄíì[ýº$•¸ö+Sþ?¯úÓ/«ÂVX•]¦,{pW˜©h.då9Ll%F€¥==öMñ‰˜8@F<;bÈ¿‡ðz¬ýtI‡ünÉîO$§¿Wº&W­l†‹cÆOS}öÐx—Áb§‘÷Í!ÒÎRöÁDk'ìo ó­¸(&3Lo9 úÔÔ(ºÔ#Ù”+9zèhsÐÔ`ì@î/n‘Üåzç>¥[$H-1 oáÄOc|‘£dÓ,eÜ>oẑ¹âÂôÅ“'_ÅÝ(êçƒÉ¤y"HZùmæã (#L]¥)»¨^·Œ1RÇç;Nô3êzšÍŸzºTù2”_Ø@ò™àXmâ¬DR\ñÎìºåîSùñÇ8¼Ù1•¨جmÜÉМJ©OÔ)” `w˜u8€jÅT‘¬š²Jß0(`¥er_NÖ´+è² ˜:H¡Åm,•¶y©Ï[Ì߬ …ÔÍ©ÃnèMCê>½>’R OÝ+Iúƒj,KR™«š'Aò8á7øŠ!—&'A.èšR·:·FÚú\äÛÑè"&'˜¡ñ-ýoù_øÀ+<öRÿzz3s‹CŽªerèÒ“Å@Ù]‘\»ôç*¢þÀlD½ŽÀN ³«ï#ñkƼÌÅælIäVÞ¬c ¤Æõ[ú÷9ÿý‹6¯Î—À(¼Ac<¦:Œ‡p! [t‡€²õ¹–W/á½’(AL›Ë6BÂ>¾äTÄâ*Ý= 7€-üeºÕ»Ðd¶¯™ûÙ$²U_n<î½/\){J ÚªÿiJˆ¶öü æá{@‘0oÇÒfT²Rp †­±îœ£ZßÑ‚«õý³¸2Zûúhs±gŒ¸¼E_¦JZ=p¹æ) q±iMUµP¢š^èâ…Ò-¥•ÉÿrÞá<Ö@ÁasÿO¢ðõkWÞW§"™ž:+z¦ÆØz:X“ÍâzVCˆ3ˆFÐ=ºZ© cz\9¹<ãàY$ÂLÙb½™ûgÎÅTŒ­?U˳ßRãþ7„ýËé‹Eø»Ø\¶Ù`ïv¯NÇ+Žl†ÿ'ƒ¢8qaîÏŒ~8Jti;Úö‹ÈVóÈ¡n¡²ö JÏrÒÔ:¡¢ÞLyöaòO×É+HÜ©ˆyÄm©à\„z„%_ÖO] =®}w (ðãál7›Ì'¸GÒ9²ÁÿîÚ¥yéˆ`ôöŸ›Â–ÎÉ¡Z–%夙ZÒbwKÏß©ÛBŠ嘀åïÌÌj>¥m/ZîÿF>Y(eJoà¢É_þyéü]»gM„èÆeÙÐÙâ¼è©ýU;µ±À)T̤†äÀû€wýÏ*ê…ÿ,öÜ”‡X”£Æ¿õ¶÷4.åb¹ÙšÜÙ£±~RM™ô²Û’ŒßŒ>™ÞÈN×ò’è€tž° ®ÓÿºMzð̧œ”lsû‰ä²•ܦ°û"åj~Ä”¢ ùÓç³zrxdf‚@‡Ï˜!lSõĶ¥—tS2kSN'ˆn“ô>ç©'>Ǩbó&ýA5în¦Ïƒ.Çx²mRë6"ìÁ‡gMœ÷wmÅþ~š%/ðé àÒÂOŽ`’^gdIÎÓ¦!Ò¯™bS‡Ð%oÿ1i‹GCvCÕµ£r4¬Y˜ç5;g瞨J¶l{Ô!æ#äÄi¿O] ²Ò¯'9ü5#Üv¶ÈN+ýáþX‘+ë4:;™Rß;ë5Ô… fMËPTó„>½Ëé…VÓU¢µgߪ•µ˜ØÌh1âĘ¡'àú ƒƒu çWðæ\ÜB¸D6î_öAȼs–ó„ ÍU‰`NlUoiˆÁJi?ð`&¡(Í‹áb™L™La³aØõøûHð¢'Vº[ϵ2xN©Nk6×ÄèØåáK„¹l9d TåÙHÎ÷¹8¢¡óëª=Í©q­±G=Q[öCÃï|â>ßoÔ©{Þ ·Â_ Uà$ÜŠëFù]J…Ps¨¼y8yïüœ\f¬òu¹4 y²{ ò’ÃA®ê+ØÔ‚ßæy²òåçÊæ,)½Qƒ!x™ÝBÿ±ã½.:+ý××Üâúzö%Eöß=¨5‰çàö²âT¬û6˰ /%WÜn*ñ}n ‘Ñ¡tÖŠ%é†ôãíÜ0‰¢7…Yc5òÑ–75³Ñ¼ÇªV »ÏCÛË;}i y®w“Jö8¿ìP&N‘ `ªa!m_C™Š²R‘ éCX'¾R4‚p±µÅhˆÈÅ‚6±$·¤ Œ-´®þœ›ïVÕÓQ4`5{øÇÚB󞃯d©è‚“áÛdû~§¶üzË_&b ÉV?˜â‚JguH;Ê+<Õ ˇ*»#,d¸.¶ÙBCßÉ*cÚ†ÜÐ1Ä¥¡~M}TòDùñb‡9 ~nc¯-õ49c„­9Nj@ǧ§!—;s-Y¤ñUt7“ìWh¥KtüPü„DÁeޏlžùgC,†ï(§‘&yÊzg4¢Y½tuDR…›à¸ÐÞŽÎ*3ÊâòiQ!ÔÛˬÕ%>…ü ”C~bƒ›à¤Ddp^tÁE¨ Jõ8£˜Ý«ÈŸ#naÃ~ªö¤-R¹r–¡Î¢$WÍ÷Rèw%€"Ï[§5+tžþƒ¿·Iükok§ô‰Ÿj|qBêÝy=ÝŽ ¬j§¿[ö<6ˆÅŸb–­6r*õIÞî¶®ÒçhÎ!R"»K|ˆ·*ôÈ´ § …€™{î.&ö}ÔW qkÂHäƒAQDͲ 7ðê$ýàiWCŒ%ÉN­™ßû4/ˆ(sQ`$ˆñ¯ºjÓd¨°°îy*âÈäö¾'¤"d"%åUu6jE%á3ú“3ÓîvóE‹TAv,.Iבö7¤LÙq\öYÕ—à/~ßòÕœH[ÔDÝ æ¿Ý¦»™C¿9”›Ú¶9gä"¥õo˜G®‡õÙtô~„Ïý71IIþåíê/’G"†SÙÚá[vHÛæäçM-ÎåAg¸@üPÜÆ¬‡¨•Òßégï¸×ÐÿË 1 –òOU–Ü»Ë0Ô• ÁØÁ% N@!W'aBÀc½F :Ž£%::O5›‚¶ÜõùçØ¶oJT Ý|„ì!…k§ÂÇåüûo*><gû*åjóåjɬ‰‹÷æ_¨mš_9õ|só¼¹Ëô6—m›òØ#Ÿg”á‚¢a+ ÊÙ  ŽÿXMC³Q÷ÙÅšKxºF+âVkÇFÊ7ȸÞ'Cÿ<Ë[½³;)ôˆÒÉ95/ƒb¥} &caLûJUæÝV| ¸kþ„ïåØä…Ñ`m”Wà—ªDq'3g1‡õ6beâD¡$mâ­œæ ^»4‹¸²œÁŠw6œ%'s ím*%á>ÒaM”£X>Q¬ÀÅhÖÔJx½^æªháb(פkllg &ž^ñÕƒgߎÕ7£b²¾z—烠ÌX^8Øú—Õ·\W˶3ŒÏóoêȃBY¨fé¥N~Ü­ ðÏéªóñDs)Iצ¸õ ÛÑ+_Ð!2l%¼–ŒQØÈã:v ¯jP B¼ÆDŸópù{´Â6†*OÙb·XâpA”v»ªP6%tÀ¡ðN¶_Ý%îhbJ¶ŽÄb˜ëD²&¹~,@ÇŠSWLö5] …ó 8F’\@~ 8ì„_£# =u­êua{É…HQ^Xlf3Ø µ' TÅ¥Ph‰MÑéOûÙ¼H•‡UÔ2Ápÿ ›Æ ©ÿ»7Kð.ŠóOL‡Ú„=õ?8P"OJ°‚[üc= 6 " 9ŸHö9ÎMwê:†$+{6;«!£ÏFÜ…Œ{–³¨Q{Èž¶Ä_ݙљ>–gïB“F’W7%ƒÙmHo,*òU|Ó·œu•ÐÀõ%æ žÃ=kþ‹e…˜§lÿëŸ(™ÛÁ܇¹]ùüã«J³|“\:"^פÑÅæi°ÑèzÎFv¥cU©@`Óø‹”S_¥z»6˜§ YËTs)åšf©JžÊ­Õ&åyF?o4õŒl‘<È!fܵ¹Ia€")‘¿1Yi…5Sy^—hÓþ Uáß<‘äj ±z86Õ²ÞW¥FÄÌÓ/vI3œ¯†`ªø¤ñ÷µ/AG3`¼%uQIQb&êc4Áz舫pŽ€Ýu5ßuG®ãŸìÛ\7I°™¬'3På Œ¨×8½JÕ¬ôÐx¸jÚW4Mñlá£cÍé‰û¤~Ópø~ßQMíOÇï.Í–¨ø…ú¾8X—ž†úòäÏÜßhP‘iÃÒ’péECbJ0ÙgëŽ}ÊH½‰ÞÃ-ÿúvÛkŽ$ŸrÜXŸãNuߘ´Ô}, ÿOË·Ë•ŽCc‹(½iÏ`\§A3u¾ù™ŸDü—{¬ï„Ë>ÀÙ5Ô›¸Þý.çd½IFÄ =ÀPÖò´‰q<’ÂQ3dŒ§ðes+;˜êÁdzö–¹ÿsAÚèéÞû.–û¦ªánU™a2¦òeJ¥HI`Ô‹xíyOmkg˜F&ÑßëÝñŒ9)Zr+‰­Lfwó.ÚÙf$ØÆe²¥ºÔ%³Wð8lÕ›µ[¯3‹ŽP„¿×Eb²—jp}ûû^æ*ZÈ›®‚a¤úâžE'/[ŽÁ€âå¤fšdŸEM¨o²ï” Gþè§§špv-²»Ó¯’µ[¢ðY±!•ß@_.®/øS‰e<¦™xÁð½ $ø?gûÚ0‰X§ é»±N±¬…è]_έJz˜q[²Ô³»AÛõ(ùâ{”b÷ZÐ É#U‰ø» ØŒV!9S÷Þ Má2ñäÓ¦ãº[24ä"þïí†VŸÅhD‘Â)¡|4e³êÛèE”šÔ~ý`@Þ™zN¿/°›ñ‰ãËÆ¦.v”áp*º¸ˆædå;4#€ø¸`Ýñ(K‡ŒßŸt&/USéµZ-à²uÝüº‹¢­?krla¨#¹¥t¼pcÇ1 mMøë´Ë ³ª‚TÈ>6?@‰ñ{øAVQÀ] õT0â~ÐGÊMˆ†¤§7’•Úüÿ=MÝMU7¤k}]pZ+Ê÷)­¡Aú¶dX^9"Y¶¹“N² 1ûl¡rõR êÄù_iÜ!ªÑ±i$¬ HDu“Ñ ÿµÙúblõ/›¼™†Û7¹§mM¬q%ëNŽP÷x8}!R¾+ ú"Ag¹JP_/jY‰¢—Ä}š‰lî²Gk<ŸÚG”£ clJÍ+ŒÍïòJ¦ÈˆÅ#¦åIÞUÄÊ;Ú„>ÌK‹V’y"×FiØï¨³±\ºsÿ›J Àq&" ?Û7,?%E„Æg!B¯%­¼AÕoüú‘/²èæžti\ÅëÜ•­Þn†@xœXHÛC¾Ë2&‚bú¥ÀÁÜкs5ÖÕ‚®|³-H!#T¿ÇÀ“ÿ§|‡´6QÐ=‚ýÉ} Oºù‚§Êue¯0BªæÓM¾.&0æÔEŸŽ N+½Ôz:ºþ ùhäAvG_äv…ôb=UC®¨Rj)TeÝ„´TÍ6L—]޳¤›d„l.ÉëÕüœÕ×&Mœeö¹(¨x„F¥ ;„%§rN²¡~‰¡¾UÈFÝ|b¿: ëÿ mu¼ÕÃòáâœôqÖà«úhþʪãNì?øxô¼T-‹{ƒÆÂÓŒuæG_ìÿÅ3†E7,ã1'ݧ]ø•¿•ãÛÙ›•Ê*¼(˜©kv¨i¸Ý~ÙróããW D•8ª@R²ÆªC f­J5ÞMiÅ C})°ÍŸý5ˆÍüLÑÔpµà'ôîžÓûE-Ü/Úß`>\¶îU½¤?Õ—¬Ð.®Ûç#F†PA„¤¿æ¤!?û£ú¬cPÙ<"•j[‡4²õ<^äê’~§˜¹ÔTx ó0+èÙëâ[¬«¬ÙQT¢”bmgŽd¦0ËÙ¾ã⫺½[¼uŸÐëÐXy#Á/Ô˜Ú>Eyn3>òpoévV@’”cÌz) ±[2NŠ”¨±A¸Ÿ©©æ“䯾P$ÊrËS~RÕI‚ =:@‚°²ZöÑ|<•Ü“Á®§0Çö °Ô†¤ ͥĜ³½”Cʤ+f¶¸iNRû9ÇÞ‹bëúãT?Îëñ5ü¨6ÈfM2ÚºMÜ/-Ö)¾Hìà‘ÑÜ5šÜÄ-޼¡EÆbôøUg¤t³ æÁ‘g,^8Ò„'ÊM€¹L”CÄöè%Œ'Æ¡šÛ› Ÿµ8¢Ûyc&ñÇS‡VKýwMÇ3›ˆÇÇGÚ±g.6ü—sW‚v)™i7hw`ä„¿T#†§¼ ¢ eÐÕŒŠÉi2¬Xâ2ÿÞþŠÀGF1ÓÓ—%§ÊšOÅVhîAÃbÙûÍžÈ-Üb+¶­JãI«)æíö–˜-HP½~ž˜)P÷ Ñ®q?ž¿lËMHð›]« ΰ">ûM»Wz‰wuGªÖ7°†Æþ+3]^)4phó+*ü“ì… û§-ƒ>4Ú½‡z’Y( ˜®PÓ)Í÷6Öæ‰ƒîŸ¥úè=…‡¾Ô†¥™mè©¢HÉ>·9–Þ6ØcÝ–‰ÚykÜLœ°ôÿ(N$OˆW¢{¦K±Ð€¾;i¤…ÏjîKË?ÉÎ<+ê`¼ua ”!ób*lþ]_5¢ËßµÿéžÌñ¤‘Mˆ‡iè[0@ êõK¨ð~n·ÿVõsMKD¦Ùò¾|-„¡­‘*›Q'šÛ¬@ỳWš" m=%ÈÐâL5azaبܰ1PP ”[|”i夊¢ÖenÜ}Æ` áœz­HËÉXùŸ¦mÏvkªÿÕ;LäQŠ‹ñ2„Hµ~²I0W·Ÿ¬7ù“%…·Àæa<›Û§([1é¯`>¦VÒæ ã6â”±+^*÷Jž•³›M¨Æ4·B›ï­õçF‰6àÔMŹò~öB¨ZéÚQŒÖ)Tòñ מ«fNÀ›×h]¹v BŒåÃÔG Ï]Š#Ä1ÉŸÅ:Œ¹uè¹ÀÅg°a.wVDóŠC¾æ%ïÿe‹ØÏ»¢Ö[»,bËŒ6ˆ†÷<\Àç¹Ò¶ñ5õÇÁ‹"h¾¦=m§Î£š1! % Ú 9Œ3éÃF_ÌÀ{Ú_špQ¼_§Wp©Ã ýMúÆËkþU”UïÝ‹P¤Ñ!ɯÈs'S´““Ø–Çå~cáçk±5PÿuùæŸÂÜì…)[ÀëHÚð„ U. ÈÜšoœÝ9èÊ©Ï-YÀC£'‹oºËÄNë­ÚË5©azÙ¶NØ.ƒàÌ~í¿òo2ÓXÔÏÖz­…ËhQ5m.V§¬Š>­Ä¼ê¤Q„­bE©Ò¼3¥%//ñÐ'Ëô÷JšÖF+]‹Ç;¯þp6‘iüqò·a¥éÌœ‹Ñ^Ä–jäwÅ´ÁE­j‘Êî¸e |çÍïâp0NãÓIDhêÅ–×âæR8ÏC±Ù—%d>WÔ„Vïvûhý*¸‘”­|šs~˜6‰k’©1d¢ 6ìÒYü#ÂîvšÊÄéy̸_PˈÇk gPþµ4— ?Ë6o: hÎp£Ðî²~øÞþA”ØÐ€ PàÐ]ñ£…dùàFò·èÜÎw7–•DüÈ´×i ^/!l¼6§aêúü„ Tž•àY»× æÖ;³v¦ñ#µ“b:ØÅAs‚Þ‚(¨HN# ÿ/ÛÛ*0`[³x¯BÖ;dÇÀÂÞí±Ï 믺'§Ù¥HJEbsÈD3q>Pý ì•Þltaö9÷Mñ³QrÖ¤‚%}T‹RgFÙk<³#¼(–ÜÉ…[K)ž¡¡†ûz4n¯…U¦™c¯|‚·ãÎO/éóû=«ÕLö“>wc8$8Ìü£Âú¦ÚIFŠ`:§T\–Lü?‚" äæ·4As¢.`€ QžÏÃ+¥C×hB Èç­ÝKié<;þÇÐm7·Bid!3°,`àµOdïjïèñTgëµùû¤“åß«.Þg‘FiNÁ)ì©Y©@]øÙ”úì7瘈kVµDF ±´Y®sÊ”‡¡VI¶”­|§GÙpí4Yöã·ÑGòŽþ…©ã]X£©Š] Êú*XËl×R,  ð6û×d)¯ð¹÷C§ú)cœ ØÃó¦çí²NÿИƒ \ãåž9Ù¹k&3Ãíó©)k·Ä´;RéG‘ɰð“âÙ¹ŒÑt—a7^`li—QQh)»IÜè-Ìäc†³zŽäºZç›Þ£R%ø±Ï"£o¬Yfºú“X¢S;&§‡ŸHrVÍZX|­ìqщ‰æ­›ß67ý]½ú¦ Ír†¸ÖÜÑüù¶ËDQ/N†ù(Ÿ¢’TRK_’½hç 1Â/ô=·­AÌôÎ2† ^[ÁŸÄ¬_*äA°hó0±N«&óX¤l%' íì -[x¤þ0=ÁcÛÀªì ÍM©G±Qþw[°Ç§­ t:b¬i‰¶T˜ã(¬² ²ôõ ×›¸ÞáT 0õÛÇ1Šmspõä~(«uFš¤,o媹­@†1'7Ó@ëÃAPz•(c~3˜¼çmH†v`ôø#9щŒ|Ln"0(fîÂfÚíSvÂ’…|ûM*Zêf¾™|Ìd9ªOmjß[ì'FµrìÍkÛ‰¯ÙµYàW¼Ñ¡¸+M÷t KÙÀ%š(4£BX{‰0è2$ZùÛZôÏ+Y¿û;æÃ,pþ,ñO‘ï"ðaº|T×äÊq´aW(ÀfûÄ–7 _Æ<NÎ’õä‚‘˜ž‚Ù¡òšC¯ÕÆPz`åÌÙäçØÇ÷ Å)¯Mï«»ô{qïöÒÆxr–ªâù*Jú KÒ~C¯ßãŽ5"µÆÓË”I{Ú=çUak–® :ÿfýO ˜6oÑ']ˆ…Öw› GÇ#|Ÿ—Í£±ÖNûÈ’1 ¤6¿д7Ìݪkó˜ËRêĽJ9ËãwÖ> jlf/WÙŽ ¢ÿ²/@ßï{ŠÐL@¡¬è_ªðí®¡™É‘Uv”äªÉä«o^ DtDp`ð9ú¬/©Ìã:¹@¼ñ¦/Ù4ìx—€»µëv›¨þW0¡vÖð0L*Yòiׂ?®%‘ÐãLÞjEÁ¦i¹°Ëëf?±‹ gžŒÄ;B1Ô”r~3BùbÌîžœ³&éXΓÌV,äíóBÙ*‡*É«yM¬I¦¾ýÛ Ë§Ñ˜ZËXQjøÏËÇ"ª2‡VvÙåšRÅ¿ä§y™>‡°»•d ` &Än¥}H…‡'îKE?7HÝj¹Eç´´åi† ÝM—¨Üª=óâ$½ÔÎÌÞŽñ„5 sº†Žt4ÿ§Á>ÚH& ž„-‰Ÿ¨ãløD0W7ïÖ@7“Æñع æ-D† ·3OçÚļÓÜ?£¿’¦ÚϺšî§ÖVùÿüjv;§!¶<˂ònmL$NÁ>™"}Œ“ÍÁˆm"–´:ªT‘RåÌÙ8Éq+Y,›ž¡w3•ã+;1Þ¦»õ–Ä:þÜbҜ Ćkd:TÙ´;¹ âü­«AŸG¥ÌÖQ&ùOLÅùÿ4å5lbÃuZ|*-*Íu¼$RÂO²hú0ÜTæí=¤!½ÍP6BF_ý³'Fqìp⌴aËÿ€ ˆT2WÀëK¥ù"§±-?vò`(ø¬%–iûdÇ.}à˜'‹…Sô»çÖ)0B”÷0¼oý;²£Ãׯýº-ÃÒcŽ•/¨~ªˆô%ë“™íÁʯûºV¦A*3ý%D²¦ã §wÇ¥1G²Á”#Òó”žô¬mB~¬Ý4õý/í@¯ø?õî—Œ'QÛÜIªË°Xv½¥z0eN´ˆ„aD·6«äºF™’ŽÞ<º3Fœt¥&¯èel,°çJÿ²f¨Ùd‘€Þp*¬?ˆ¿%¯(1†"NPFoþ$˜Lúð™ð…8¦-X´M[³ú°­—‚»clRM¨Ñ‰¢/q‹]èYƘ€óD lj4ÒÏ v"öf¬7÷ë΢I³V²$û˜ˆµÈ£ ¦eHic€Tד7¤€¿ÚÆYòx«Ó*mEQ¾@H†í(eÛ„µ‘!Þfþ%LÚ.}± Š®©Z™¥Ö’1oM«²ægúë0¯ ÞÑËüzkDëOáq7£1Ч-¥––€8×jÕdÀZ™Pkkû Ŀ҉Lbs«Z $i#¯ÚL;àõÏPZv^Äü1$¯VÃ&zÈÀN‚eØ­áT[¤ûd Å(ñÓX"\M¶•¶}Vì ŸY’4Wmíõf¬›Ö5ÌQè™\6gmtqût½›¢ë¥øK> ‚"B#gQâ•zÍ‚?wY¦œ²dÈÐ  É>¨/Áši“6¬dC8—L0‹¤_¬ýK!ü#lä êò+BÈ¡¨NMPùx+þ7u°à×÷‡ZòV6ü K*‹ ë÷Ìg~ž =–`8"`jï7ØãzTƒ–3|:IÃ'$pÔ%lŒvx¶ªqpö4Gïdç?ÉQò39vå“<‡³—öÈðÕ©—ZWRFå´‡üuáú<é,-W‡”¡:~¹<'8†«0Ïl»“ˆp僆¢"O ZB¤˜ònx— 2•š‡¯“‚'²rfé ¶»…|úã&“mÌù×:Lrªò?¡ã{níâùÊn†4‹Ñ=mÍ¿¶:ýÒɬ³ÄÀ˜Š^•ÞH]‘XEºàðûvCË äúúª óܪ&ØzsB#ã¼›} Œ‚¸©(èlShÒÊØ¸¤rÿ ¸3LuÖv„ Pr “/«ÅÏ`üŸ*´ å¼……à]òååŸÿð1:ßiòÈÿ—·ÛòøX¿J8UNf¤ Aό؊= ÞÈ–gôik5Ò mKYÝ4ãžá ¬ñË[;õYvÄìGAu\šbJ)›ˆ8€!Ùà÷™Œ¶É¸-_^¤FZïNtÍ~¹×f†äÒ!3Ž« ™ ïìÇSæÓ©­£!ð«õJl¡¦íÓ$xð·“S™GÙÿ„Múº¯GU!ó)*ŒlÄÔ»`ßQ ÌGW¨)s«Â5`HÏ7>I¬€+8ç «©…ãj<Ùö‚®*ák°S—z>ªÓ#šCùô%7¼|÷Ã7—lcmCݘèåp%!]…k3G//º˜¸ù“z[]É!,»rݼU2“ópFQ+¦çÎR¤ÒÁ웸ְuÿ¤ 5žÑ‡Žœñ+ûÞ{„bdí'ùÓ80ßñøŽùèVŒ× äE“:#%­ÀC:õúÀY‹•EyFŽÙø3V«VYJµ’ñkÍ`±hØ]ËP““,hczyN}2§-ÇR+/¹ë¤W%ÌEÖ=\Gý‘yÅÂa.ö5Y—ìzL/žaR}à>4Åûo§¦8†èh¥‡%=9@h#cç”sl¯É ÷ÅÁ«x^ªÒ̰öç¨[Özʼéï,‡¼yær÷°¡é>3_ߺ=ÞSÁ(T îç²ÉJ×”SqF”½Ô’N´vPY±bx½Û—þèœf¬<¬Ó?çi* ŒœŸÎ!vÕ³øO8ÖP„O‹üKÒŒL.”P?‘ß>RÄè—oÙ9ýËî ‹’Uœ}UÎ_µlA¶#£Òñ?Ü7}±÷õdº,|õ8:ì„&Fùôg¤²Iùûo>œ g.6¯,xš5†Óˆ¼Ê·H ¦ÖýÐNN¹i?ÁŽª¿ËÌû‹vmôÖŰ×Xn ìøŒ—I.Rv?´C¸×Ñlü~U€g3î—t,àœã;60î8ໟ»› "IË3Z¶n*¨¬Y<ã¼Ð­DH–V ‹¥ˆIqfacϱ ùû5&1H¿¾­ipV-tÅ[{Ñ¡ŠýÌkœmP“ˆ_Äþ¹ ´s_'ºè_x¡ç‘á?õʦØÂæðŸÏ#„L2ÖúáãFÂò£!bðl [¡§."×#âlsןŸFªØTûä–à™/l–\¸¥JñÅÝ<¥°"v@§ãºq;ÖèÚÀ—eƒ"ýOe¨¬'$(FSt Ð/øó€÷tìJÏ’ÕòôlžQ@Ï:ÈíëpãoÆ·àN¿°Q„«¢U9ÔðÆTÖðØ5|SISm! †õÀá…RL³’Ì]¬¿Ý3‡7u.oPt*R:x”ã}òxŠr¢X…1ÙÌÌ]C*•çGr€m0e¹òÚ¸³÷8·ú2+ÝáƒÚí[ïŽÜ±qưr9ÑMŸ˜|tŸx}S÷N¶oÅ7—9C'/Q7Ð}nHý,#„É÷d‚pK=mž6ç¦ r:]Òà ’ø‡¡Ü¶GŸ&\ìu¿‹çÌŸçYmŸ4žÍí%ð×xvm¥§TtÉ{ äã¼Óå ‡u—Åää¹aßâ[±qf¦ý2ü¦!Kl‡™øRw З‘ˆó_œä zq<~5­:Óú}¨f›qûÖ„—l韇¯gqckÀæƒ?…þ|°jbjm5ïV2Þ¸€¡Ï;—Wµí_%Ùuç¡t@„Óòåp_ìïärÍ?Œ ܶ7`í» “!É rÈ¿E‚dUÃÎQŸ´ø©Ókøí­Õ嘃kØ÷W1¬üø=Éým[y§^g_§¬ô=ãqé·kI¼¤æ]vRÞ–Ú}ÿ\Žèhé©<þx1ÄÇÄŧwÎÛ`ÑÔ…¿¤$e‰Æ”&S e¸!¨tÜO y©ÊBW¿.¦ý0¾M!r£ö$ҽˡš{—Þ³ÉÜó÷³mo¤²Â1Ç$Øk¥mþ ¶‘;ûÑZxƒoEÍ"ö¼X‰qçft óql„_S‰½Ój†ñ¿°CØÝ³‰ÂÑÝõ5Ì· 梕Ç÷]N ó,àM‘¾c»Ú–ô6& „ˆSš¤½œ»êªRŒ—«QX?wtY©L¸õàWÝNº—0\ùýÿ/Zœ¤Ëéû³Ü(èÊß³ÀtPÜ¢Cã\Œ´6zÕõ©¥,ï…”vNŸµïº\É8 ƒº\#„Õ7âRª~;[9J°¯À\¶>ŠzîJ÷,X5ê÷p/—æ5Îì\`ÿöËŠ?t7û]÷çT÷hÐ ¶ >鈙/[áÀvî ;©Ï»u¾JŸÆ€„98ô ™V5^[N”B ëĜ餫ôïÏýeÇrõ®:[qDi>Œ¢4JþÖ”€Z¸[X®ª¿;~ E64½—é $vÝù4,õ•Ž Î°%ÏÜg P}†JÕ‚ ¼àÐIJµ%€Å¸»l­U¶sàö˜ƒ3™Ûõ\ïDÙZ$š^`{i_”º® ÇÂFL`"·Y"m1ƒFu v•IxFXòþªæmQƒÇX„¡Ãá©C¹D§FÈ,dì|ODé>П–z ª V3WU(Jˆ1$è-M­ˆ0±æ¼¯®ªÄøôú(‹æ+Mù¶9‘IÅl£’C3&Ök¥ßî-ˆl]Ç}æ)èÄ{§†ô=„¿"ÙÃ*lð›!GEç{&Xl¾ j9<(yè|î¹×qþš%ö‡¢Î&=@Í®mH—­wñk¢ñl1ÖýOÍKýCú»@™ByNaßãP<¦ªiaŽ­«Œ’®ÿ‡lyt˜[8G$óä´Ò&§c”U?§Þs´Jÿ:°EuGðІó0?©Ø—¦; Ýøwè)9©Q‹“å"ò¼Æ‚¥p.TˆrÒÙEçgÔ%wTV9ù¡bòm\ü–°²:æ»øg°Ì—¡€¤‚í0¹·KËߪ„‹mt“zËi0{T¬†0APî0䫜ô¥8_İå‹ÚÀfìÁŸ‘¬sg~Xƒ JÄWÚªx…—^e)ì,>Š & vÍönÃͶZæ:FqEÚ,j/àžŸ±9“V¨¸õcGžy…” ;CHl†d…49Lr'£ç¸õŸ©y²A¾êì_ך:WÅ›…Ë#TÅL{{Ö&²$s˜ÒrÍy/"Y.‘”â\È<6tÉW¡ÓݽïmRÑbóÕìiˆ²ø[ûÅ?90»í¬XÛú Wg¶"+ÀkÆŒsåœKB­Áy}{£<3̵§Ïñ€’öXžCÍs€3ï|ý´ÃoJñVV (D²V2kRK°N‘~©¶áèÈmÝå7iª-†³<8Ré¤2EúŒjyãâ |ÿë½2_T*X5|tÊ{'Œ”YÛû Kßãá—¸§¡q*u ReI£—9ùeN Mñ%á†Ä=€.­¶-\¿½YÿòM>‘G;ÂoÀvâžÍ•–B-coEnÿo%àȈ.pé0Ãb°’–ª­IJK  Ññˆ÷¿+½ìükè…9²dÇX½™ã é^ ±JÆß‹ž¬/¶<9Ÿ: áœ]´ëð_{{f è'b­Ó—Ï-FO”ËLÂÅþ+ SqÝuµ“¹bûTÀ"vF©¡ZèNŠ#Sz"71Z„…ºm &>_ù„À/ùòÈâ7<’,@"eþ;ù¥©XûÌU%â*$Ú&ò.¤âÐG‘hÇìÜsλ(üW6Ö¶«bçÑ^ç¦8–]6¢ƒº´Åÿÿ³Âxyr“í½ŸrmÉßc,{À¥ C¨ñ0­¥¹ÉŠ5¡XEÀF,DùÏz2RyuÆä(†‘6.aŒ3+ð*F¸ºÁÚì™iaEjúMCœG×\ zW.Î<'äI,[KœÊ¡Ï>è T 3Ÿdþj(aØÛ zÌóDdoX!6ÅIÀF˜ÖƒF"ìQ·•†J÷@>ðŽªf³( ä=íåÃîH¦¨Î–vLñœÌ”¼œý˜m|¥ Gɵÿ7L¿f SÕÔ†á8ï}Œž8Ÿí6Ã2îÛÌEœ°ÜîK~û¶®ÚC%©Ç'ïþûߪy³9YÀ9hÓшÛ^Jû‘¸þì·ï]â£G³‚4ðßÞÏ­Œ2L$›˜WW…¬þ–³rm¬Ía~¶Â–+˰"Lÿ‹ÍS‰è³Ub9§>þˆå…‹~•$Ù" qÕ¶cÁÇIêšìc“? %å|Bãmº£R |ü…ý¨H¾qKÔzI²W…Å9,ò“aþÓC‡ªÇÁ@ 4B5$VÖ$$ôm]¨¿ÿ¡[N~¤\´ |VËÕRpùoK¦­z?./´2=—}Ȳx> ÈŽ=ˆûËôm°E©c{7SK}w ¡o—°[îø¼ÃLOÍùaìÜÜY ›÷ÜŒê++Fœ%,46Aª@Úã$ú>³j¨œMß’ñ˜/¼Žñéu„”e +—·$Lo5ô.çmŠÞE=Òû–ð;ý¾RúýÉ1XALJ‰â:ªevÇâæÄàBƒ‹VL Å½#A'¶HWÀcKÿnW “ÊSâ)Ì-5%q2 ËÇ”ˆ¶ùá¸XP\ü É]W³•^GŽzêÆ‡Éá[&Êõ+·‹2ÔÒÎ1!q÷<‘ùNÁ[X›,†©üZH¾•cxŒPN - D÷Ój²gµIyáx6nž ¥±1»::îné¹²`ÅCû•®Å³c9¶¯]Þ4d7µ}ö¯±ÚÔ¥šÄœ˜ÙËöP„øvR}Ô⇄#-Ú.“0¡ÂNΔöåä1Ýê³ÂjÕT š!ìý¤5ù&‹rŽ˜AÄå©3ÿ;œJOªþ“ö06uÆ£þ8–l¸Ò¹q{GØÞáÖ] $ vI¶ÀÎRþµ·4*½•ÊKWÄ}uë•”ãIDèÜzÉ[ç¶² ´’º7Är>‡éb:b‡5¯Í œË†ñ=P™)9ü7aL‹x×÷˼ë%JS«}l·UEÆzÓ>°)ïêmUö'Zœ_)B@—>eª‚˜üÚ ½Èµ+F39ì™ØŸh×6´»SÎ÷µý÷s-®ÏM™/Ó/%+ë údL4ÂÅPlj±ÃL¹ð6#›|" K!MjêP_}öA9MÂoAxÔóž’òÔíT-™lfµDa~ÊX€Ë¸UþZEiÜJî23ŽfaÆ¿¨g£ñýK°ú°·5‡¶”ší’Y*_¼àÚ¾vAɹFGvÞqL#äL­º©×ï9FK’‰@ÈfÒæÈ|ÞÙøS/‚ˆ£±*”†˜wE»Mð0m®Og8¡ãżJa²ˆå †Ñj!,¥ˆärp*µ48AxÚÒ2ó›ŸÎü3†¸ˆÅÒëA!ƒŒÂɇ³ÇsUÕXËÍcž]øõ³?dy¡{êŠå£93°Î ùÆøG$ í\5ìâvÒ&ö]N©¡:ý'Fb7ñhÜ—ï&w }Þ¡>´RhP·;™c‘å‰7Õ‚vÒªg?-Bç;`%xH*}cðL!²QôÀ~¡‰Œ%ñÔ6m¯e¢‹oñ\²ÓØ*Qö¶ˆ‚ÐÞ¤y¿ø<€÷Š2 $¦nv‡&$}ÄÓ´Öñþì–wõófÅ<ÿ]`°,õÄ×çÉò§ˆOùUFÉ¥î礔ôb§Azä;*s¯”?†gƒ­¨½šÁGŠbKƒE®yqo±‡°ëº¯ :³LSËWcHÀ¤G…Ó»‹Èe7:ã'ß–zH?è#pž ý<+?dã8yÀÞ2òÔ†F`ÝCi¡P‚;CËô¯Ý_]õ,ØUC@Ô”­ýÝ)Ft²bc,Û½L}‚ãcMÿ #‘–•Rd‰ «$”ÊíÊ$lJ4²¦”nÊ_ùÞ²™cY6««Óá"ª²»»‹¨úú°‡)IdYþE\,9rê.Qðlü¹i3mxøQ"¢ÂºózÓæHI%RT±v‰^IØÝ]TOÃ×û+n»•¬„u°LáÍN‰fòÓíÒÔÓ`IvHµ¥Á[ ×lj÷_T!_UÑÔÓܳ­>;ó;jtxDpzµÙ‰yj–GHƒØ•­9b¬'VR]n¶Þ¹Ì!*ž½³CË*çççe—ƒ§Òuν¤¥¾ݤª¡žÅ¢d_àÎ5ÔïŽÂ×ö¦þ˜!‚$ãoÞÆÕLñA¨¾¹ÉÈL‚ANÐQAº"Õóx±ŽF;ÊÅÿ‡V(%’­¤<þçf’KGNI‰®ëÅ6"»a4¥ûã4{Æ„°W°F²â(öÈ×_Æmòó««¿óª¶rdõp,†¹Ó¿âœ4xfÎ2î °Cö‰®¼(–Ê´V9ooT¹-Ìo“Û­÷LmÝ…ÎÊù9AõWùÚɱÅR0·´ùÙ¡=\ÆÆ×¯ÚïªúÖšÚ•GÙty¿†ÚýëTe}þ9FÕËäÍÿGú¼¤÷ȼS¥¨ß…[8>Ôu<Œ¦l+i‹ì²Éª×”‰¡mI‡`”ÃÌìY°uáG„×lÊõ>¦ª#í¯É[” ŽÕ0>Ô(»žòá÷`”.ßEImï?Î-HHu0]4ˆë“ÊG£W˜2Ñç븱ÍAæ6k—ÈùCîõEE&¬}2ÿÀئíO)¿5x—kÛØIËB*.¼‡OkÄ! ’(Ú݃d†O’<ÿÝ©B)`FüÆ»RV%wèá°ÙVãŒÎÔkÒb4õ ‰÷â,A>ÅÍ×a5„±)íËÞêéÄ ñÌÔ[;²ô’êZ7&fxˆÝYüÁfžƒíüª²«ÜüƂΩšZ¯RúôÞêêÛ$÷5ßÄdÕ}u ¥”Ë‘ŠUsn—“¿óQ‹z€åc xÁJ,å>õN=73Á×¹›ÖUm^íÔ³•· c­&Ç”v„VÙwejJ³ ÿñD½×2°x‹t\ºgÕaï¶1?UGéÑ‹J·GR$ö+ŠÅéÎáÛ 8QJ² [3+Èy>cÿg®^<X#·òË`nb'Ï;Ô¢üÛ9œ÷³›ÖŽy[dcLƒÓ;[Nl Ï_-ïÄ™¾[åCƒÅ‘ñþR¡­I -—CÊ ôšÆh¿Üˆ©^ü”ØÔ'ù0.:.#PPîaØ8€Zvàðü»lb'Êtt)D‡±¡´ˆVª{ãFÃ÷Ù…»ÎŠ ô2tºæ†7§ØÃÝûEL# xð¢ùA5ªFn°H¤S‹{Cžš·FÝÝuŸ?7;µî\7êpþ aÕ7RX‚±†ð|ÏåˆHœ}Ž¢ë…µRÑ»º6ç”…d‡”]V- ¢@6ª…«â†Rd„3Àß5ƱIšå/€¹²&ÉÏnDƒeµÿd•vÑè’ãâ‘9òIxÙÛN¥¦ ±½B”ˆÒ—îuè{°jËWtµª…Vä˜ìÖSóP Þ©.·:Ï›ÉÆ šÈHÚ,|å ,…ù׈%§enQ¼·zžŠØ-)+@˜Êï6Mì¤Ú#ž0ì„h»Õ{‹¿`Å·ÚÓ|vÂ_QÀJ&%@—Â횺Ëa$MAÑ6CöL5tQPðÿxâ>àñ˜äL¦ºKûsK6ɹµ9ú`e›÷ð“w°ú€ÆàPo<¥U(MJ.®ûÍîœ@Öu¢&-•‹ÅÉòþÀ–ë㜟 tÏ ÅÐídÚK¥×¥O…33³ÃعL눈†°eŠ =ŒºÍ2¿=!†I Ò !®b•Oqæ¶é}P³=›?*ÃVø²!ã 0ê~Óë¬q+ëo´™¬E•üCaÚžÃÆ…õ·š|QÑhÄW¹F˜G¶YOHŠ='’MXà¶QÀý—Lh ¦ŸLòZü&þÄgáºÚ¸œ¬,ëñ cúꬸGK &第þi­«úcF™îÀ áNfæw £ò_e@íTŒ1”sk7×ÐÆêì„RzãUŠç&«á|ê#…»Š(=®•”´ É0ýNwoŒÓm/Bµ­trž=ä\¹C±'ݾ*:ÔÞ3~ÚK{¯‘Ø%•[ø(ªIÏ|åxVéç…µ¯Û7¸%¬ù(OŽg=ïÄ0Ãä‰ÀÏ=·8•¶•픇û¥×/þ€¥ï¹K‰Ë¬5ë<¢Ù…Ô]æXÞÕÈ:ÑCý¶ 8cæÚ±Vi|á¸ñìóò†Æ€è ÚØéÜ,Ȳ˜“XX>¢T‚†ÄX,²U  =¾ ´È>ý”BŠ”-À—먪œ ÿ†ØÉ¬;{+§‚<_2ÝÝ<±žÙÉJûIÃÚâ„;Gk¯Ë•/À¶›¢¡*pVƒ@þ¤—+Îÿ¸CýHÔw7šçÌ×2M3LdÉ ÆòÔ\ €ŠÓ ƒÎ_qø'Ö>+»ÀL} U —iviÊG…Á¬{«ç:ΕõØç¸1« fÙ’Kîœqð´Bk+Y_éKPœî‘Üx!-j|Á[ 7'í‚9ü÷æ;ì&¤Žˆ~°Fìö*Kë:A·ùŒcþK E¥<|Q³6#6“ÿ¸ÛŸŽ2½ø"„!K,œ’9‹(^#wÂ’yOÿ—ªÑüŒ™G±™Ì äÿ§xZr 4TêÐë±];2 †ŒÀXÖ«Ëñ“J~Ê) ü_{Ñ¡+Oó¡ëÚ«äÇ^ ¦ Ö‹Ý¢-xûÔú€ÀÊXIuÀ3€̾­‚ëówÑ,D¢'7ë– ³7‹~ó ŸLrèìÞºÆhH­V\×<,àŽëµï/]³+Øøú©!Ù¸ïx^Bmð–„:¤È´Gä#î|Ey‚ÐÂIRC—‡EŒkæ„ O›Ýl®àyñè*+­¾,šëVHß ÇÿДï(L®0Z°ÕTcœnbšuÒÛXiwTÉNtà.Ù˘«yªõšŒ»Öw%Ëæ£ —–#P‹LEç8Øë†î÷Uòýooa›& …Ì3ú Sÿ‘@â–óòƒy—ð\£b~âuÖ,Æš0g¹³Þ|»ãYíb'l?hÖ‰ð¥¹2ˆGÌøS²±{›J-)e1ñ²ÕѦ×Ýè}}ô!á!±ýÃ:Æ@¢ð"Èú×±jr厸-°*hœï㈢­Ó5ÀÊ*ËÔëþTÒ“:{†3ÕI ,àÄHxs ùk¨¢+GÍŠ†;'Ê{Vð%å›’¥tʘÓC>Ç7ŸÆtQÁÃF»e±[Ý,"\µ4CAM#§-±‘¹{MûÝÂPpÑå?\0€¤ÜÌ‹¦W…ÖdBòýòJòòÑþÄ Fä½£Z¸ËÖÞmÒbÒGZV÷#PrŠDûæo­ˆ­—0¹=€]7ƒÂm:öqå0ñVµ¤7éãkŸëC0„¬a=ž«Fb¦ô ‹)SàOqâŠdP…Œ‚ßû|júºxæ~/qÈ?ùÖë·vÃÚ¡šfä?n›'¬UÄbY- OC«¬×œ9C.r²©§cª¢äÄýÊâM‰‡ÂÝ­úþrêC§6**³æ˜2¥ÚW]ø® D…Vk˜ä!Ì”Ø /ƒ!‡B³ÝK+h­æ} Œ,2›îÛ`Áþ¬ÚO¹ä@ hC¤ˆ˜»§ˆúSãjü]Ò±×›\;F.ж¶U‡OBuÈùðWà ¦x0§ß®Cº}* &<9‹ý–c®„ûÄ~Zö§ ÁÁ› e~kcùýÑ›kä>ͦ…ÿ¡©øÓÊòåE;i]–©¼ Ù`2™¡½ŠÂäJr1žgkxša,b¤W:æŸf€œ‡m& bÑö4·‹âd]ž¦ÉʘzÎÜšŒS ]†&Ÿ¢räRdýºL^±e£DÆœ“³ÙûÚ¦9êUH¸ÓïØ[ Ì^ÿ 4c N|‹ÙGöY\ÐßbßQ1ž$égh®¢˜×Ç4ENáx0pq‡çc9ÿëéäl˜çЄ¶Š¾e.¼ð[Lz‚¼'2_ÒlY‘¡&Ò'XÆx˃ĸÎ9˜ßðÕ_aøû#EqAX±(^4Á8=–ìÂjpì#ªÕîàI®Op5€#}_o<¯”E—›CÕäÕí*e-ʲ¿ Ês³L¶šºÀN=Ðâ¾éRÛWpûad² Å[6xYâ=cÀñÌ\|Ø>ȶb¾éÀ³æ—eðjX¬i{‘áö¤þ)½Û=Âb*#‚ý°Øä$¸álöyiæ§\y]!ð‡¥”{‹rðmh%#èâÂÈ6k˜vݨ^¥;9'£®³B•Çùcó̪z±^Iðó3ÏÍ𩢚HÞ×”ÁéniòÐütÔÀç™'¥!†§xPž;ø¡ß‰¹‰=”—Ê;m0V½çq©F-*fÈaaR·£š^ö‹r’BÙ åÁrç8pt` ÐPÓÑŒâ|Âòï"H¡»˜Û`•r à)v™XªDÛQÒ˵Ã*WiÂç6Þ<]uмFÝ¿.Îì|ëÏÃçÕVe”®Õ'¤]‘ßòÉûò^q& ¸éÅùðPøwûîí!Ÿ£µ¹Dš·¢8aƒàA¿ÿ$uô¸VGŽtÿú—ÜFŽaå±¹ñÒzÐë÷h¢ã"ÙЇ‘—o |ڙ퇩‚„¿ O®%úæÉ¢m5åÁ—L¶©fg ONí‘<À{8B«Õ_çìO?>þÚe'Xuçst¿vêLq™XÄ;Þµ¶ÛT>¿hÒÞå`Ð@b°¤\« ”ÖØ—Nàò>§*ÚR¼8ž—¥r¥‡Ñ¢¸ÜÍÍì^4gR­ø³-m]§Ûî² ís¦@BÐâ³ÆÅp²Þ&i ¯ŠSîÀõ¯°¡ú¢7Šn#4ï¹aûê§,QLž¯TÏ+UL¸é2㪅æÐå-›Ecé»n`e&ËÉ{OÒbí}þ×.Ë9uzI_ÜȘRâ;”'œc™y©±91P4ÙQtyî›c‘Ù]˜@ç)ë ½öêj,fÀáVÔ>ý¶ß’Ø!‡†×õiûsÀkL‡ .!/øáÏð,qÈDj£³{Šl4¥8ÙE@Ž8¬l> âtÈîËØ»°¦Q#6:EÆbÊÔUYI@7ü ýøÙeYæ¶"ƽܻåð›ÛMñ>|¶kEE !¦ \œ`°Hp—±°ææÁÿtv§‘Rb¸ÍB !õZm}ÎE‚PìZ¢Ë¶!Hße¹}4?$¡®B·SÔ,¼‡Î]í£lY¸.,œ2ÐÉê)>Sÿo&.sFïÖý2Mf©ÅÿÐM. ¯N½L ¾ [»U>HdÚù`hÔ‡ &x¬¢î-;«·ê“›÷jðû\˜©Õ¨mȆ« ç€*ÃcBYVÚl @ª.ä“õÆ›16õx&CŒ›C«2 ®h½LÖ5µ°ÉY/DÂýz·rÔ²Mjhü+\·27íØrÓ!„°eqÀO`>&ž¦/’‘ªŸ†4Þúð§ôI)Å-DF¨ ¶âBÀÔ ¡¨Z5ñ€™û«µ¸kÎa®to·< {hÄ(|µ[³cÜÛê—¤W(qðÞ’SÆ£e­œ‘P;pøÑÜåû®ÂTÖçv{T Ù'z„Üæ?¡î6ÖØióÊŒ—·Nh-Wضc£'BJº½çŸ×úaÇnÔ­øEÝáW’(÷êÞ¨=]“Åí4–öhâ~°{З%cF|¸žò_­ •‰tJ®¡$FP—”®NJ‡Ñçô»FàÒÔAàì]9Ql‚Kïgô'V˜ç¿Ó]¼-^ghfúsË< Òï#´ë5Á긇ôýcT_ “øBÝ^”¶ùd3 aÝzž7mV[Œ ¾,W TÉ:®¼¯¡Šâa[¸£ÉQ€’¤d‡/=<|)ÕGŠ&(æ'a˜†u~ŽH$•µLáZ’¤~™wnÍ$¦ìh6ƒpJ(¬SÒÂrE“ˆÑBˆ/Òš¼²\¶ì±—¦î-ÊoýÌWz¿×ÃÑO›s¯Í>Óª× 3ްeEÆïYwŽ¢nˆ8°?¶[ÚÒ›¶E/¹1…\n0ᄆ[ŽK!U[Ù>µdL”5ý>eÃ]ÞU€‰É5°Áàœàà vILÏZ[S¡v!Á'Á2û‘UÝ„‹|WñG‰…ñ’¹˜¨D5ûUïOÜ@bþ ‹”¯ìJ\öF¢ ‘a3GzAÎËš—6°çò öe.éŲ’œ‡ºÏ6§x檟Bn€É-ÛlI¢t&x®äøÚäcU«Yx+¸ ØÎB}ñà]Ñ‘ RyA_ýq¥•µ(÷ôvIØu3ª¡1Gýb!¤¹ftp[Æ¡/–=„®¼Ïµ–‰ ^®™´tíT›ÜmåâèjÁ¼_Ž"æ/Ük¸œ:s”ôÉ”2ïV9åþÞå׋Õ|õx¸oFãh€ÛéQ¦S_œêuЍr4yÌ^K„NE‹]õdë³!2‚ ‰tˆò¥¸â*¢yHÇ\ì¹gÈ© -|éWå€z?ãŠâüc˜C0…Ùè¨x÷“Jkô'ìj˜Ý3Ä 3®Ô&*ãÿ$¯cAKÓRêò]%»Gíi-–“Ì…ÛfßSyq¬ æ»ÝéªÃÏ!øÈ$Ìe¤T5†!»,j@%ÀþÑ÷•ð¦# ÓVì;~ìUdúÚ¸}qÉÈ@÷¿ÚL•+Ø™‡_¸ t¹‚~4ëšø\ò¨°ë÷Q6ÐàGÊø³©ÛGäËr?¡¯¡h?ÍÈ~òÔÂRk”D$ò™Ð[|¨ 6”ÁIgd# sò‡à¦þñ†‚µä~0~ã®@!·ùx¬Õ€ìJ;e+¹p£Ùø0ÔØºR®6Èh”& ¾ùߔŠÝ) +.¸üY Øçqœ³,$Ì·<æ‚0–|w\Ç„ŽŽ.×mJÜ&”)Œ×õ‘È%Lù…d ®”p€YYüTƒó;Aöfiµ8£ÁÔ@7EµVìƒ «ikë|²‹boíñš×þ%¸ ¡õ$(A++má,{|Åœ™ÈĈœŸÚ!NèÚDÃ~?¶,ƒ3M%2Ãz7äÙVNœ¸Þ¸Q?¬!—ÙØMp±°^ù#àÚZ÷l:^ÔN¼˜ìÄ{ hRÆ"b†]ûXr \wÂ|#5Å€ž'ÂÂqñb¨K€ d>ŠùÌÈQÙ{¤/Jù£†=)ÿ©X™á™Û4â¬À-¥—ß¾WnüEy|˜¢è4%ö ôÚÊ Øà¢N•’XŽ7dõi3ôåƒø&ïퟺrÈwž¿³ÓR¸Þ?ðÎÉ¿>¿—M˜[·+c4¥ùSìáQŽç|µób¡Žv{®aà<Üɽ 5è}`fç JÃ'ã]x!„QŠ‹7j;¢¢Ò·6BÓmÔœ Y¦–E€}ÅYt{á·™/ô΄a{‘RöZÜ\üùÛ8çY¸Ø’žM%'–ð">N¡4íîƒËÿ$Dqp üÝ7ƒªmù rËî¶TÐnj·a7DLΜˆÙ«ÛïJµÆu 5v«õ(ëÙÚ=ìØÏuÆ0_àÛíTèþ‹†¾é&íŸÝw¸Szt‰\ ,y–艔E,énž:”€5£™ÿàî&{ä °0AæÂï†Ád9 ®o`—sÍ­Õ7I؃=`k¼È%zç[ÏQ!fßÄ ÞÒÜ÷Xoºò¯0ºêB25è™J÷6ǵC¬è }„ŠWàí„ –M ? ¦ÅÛŠÞÈz=nOý&àÿQV+*ã®LÆôëK*!“>Þ{¾ALŒt0«¸+Dà-T¹gš•*6‘XüdµZXÁ½D«™Dæà©ý/dàÁÊCŠ}u=)4V¿.[Œ¨ /‡ö\C,F¹©n<º¼ýð‹AêÜ5µúÐh@2À€]èД^ã@¥Ú(AÂ%Ø{x²²/¯iiKf9­äû*PƒšÉܶfí-G>·¹‹}YW ;&;‘P5”ªe‘šArÃKC? ùÖ0ÔÜÆ”ÈäÎfs<<¤èå¨Þç`Ûº;,«?a³U1ÿéf»0Æâ7)¦¼\ |Ó+aÁAïVÒ]0æ>šfýô°Ï©C3§GX©Òm› Yé9Ø!ŽÜû^Þ™Á¤ÒU%žm°¢Ú‘†@}1ûIA—Ø?ÿȽ[«Ä4«P}ÌÜæñqlãî=åÑvoÀþôÖßñ¢§&¢²œrˆ¥ÅpQð@~ Çà]ÀŽWQð+†Tµ>´–燬ófJýaQ2i²vLPp[°SÅ® ŠUeÅ…B×Ð@KÁ%¾!“ûúýHC”ŽõÈ^ð‹Aa¦¿_„¢õ(]®@,xt5@ä@æÑqêA¹ˆ‚¸]TwñHÈÈ»·©tl K´Ér‡.üêùå¾Hp)’erKVðgJý7oÝÐsqÙÍSéÇ IÕèþ% ¯î]ÂBZ2J?àz  -Ôd³ÊžVYh¾¸  †7¹2Éõâô†¼¡uiã†\": W}RMVz/Õì+—Ú EΣÇh¬‚ø™Å?ØeªÖÏðy§IÐVíTúXÎŽíëh–Óm.û&M Ÿ3Í[Ç×Û.›¹·ò¹O)#@~v;{L½‰O°(¦oñŸ¦ž:R4ý ¹Ðó㟪}äÛz%´x¼$‡Ìøi\ÑÉ¿1ÍL$9ú/bÝ œö‡@Cnúê§-íÒ¤·¨BX¼X×Άƒ¢¦ß(8¤è$…¶Š)r^–F~cÁiÌÕÍ›qé!•Â6è2 8ŠŸO2À“8}RÆÝƒÚ8ůA(‘Žn»æ;c|@޼ôOñôÿ0'¿'"®š²ÆKB>ŸG,ó왎yàþÕзæåÐÙUà ìb¦Ü^YnŽÞ˜Ã]_((Ì/°–oxÁHCuwB+=?ÒÕk„壱l½8ûwehÁÂ!2è³(¿F Ì`7ÅYÑk š‰Æ2 Ñù·©J9í*8à¼S ”;Ùû&¨*ìÚ ªf–°~Å»†ÇÆØuÛu®DuÃUÍš0 TY+~JüGT\'ô. “°Ò„jB|QÒ1:†/¹j=ú# 3GëÏËa@Vr^鄈ǻ»5²qžб—–XKx÷¼›¶_9ú,´xß¾M—ˆCñ ¬WEú"UÝõùá^\!²îò+¢±ÏdÉ•ÖßzAbõÔèÚ»xÓ ©—V®ì džwη2&ýհ¡öÚ¤JG|*q–IYƒÐ#ûD÷‹Þ¤E–¦p`"bÈ·K@5ª;¸­àûÆË6Æx¶²¹ô_VˆŒ<È6þ¹’¹*Ó3böY¥»àý;[D#û$¾Ÿ»gv&6# ·Ôr…&„§öÑE&†„k2÷Ëéá’)Ú©u znnCY±š ½fœ¡XLÌ@. ƒÁÿ—ž'C­šY"aÙ¾ö[,ªVWYÓ,#ÿsQúÙ§äÎ<=Y͉Éã‚L›XÑS£éÑ.|}}>j„3`Ô¯"þÊgW3ŽD;;#󽄨! tÐÊŠÓçÆZqzË‹[E5¨ð¥t`uýƒA’ÍÒ{ÂÊA¦Ïª´º5 “=½Â¤¢±E (êº$lváï?,x6‰íee… $2ø€¥'¿äB—-jÞ|Í{Ûºù)RFÌ£±‘éVÙ‹o) (&¤?’Ì/oz]œONÓ褓pµéÀL„—qV݈bäõ‡9ÝÊ`Ùójôö㫞ó/ŸîôíÆ¸Ñ2Éé#fB¬™Ù$ŽAr瘛/ý`[¤¬–ã<+ÍÛtÚ+™—ç륲”…{/Lyâý™¢êê0—õŒÍMsTí2®Ç‚ø2mP_ q¬g"H/ÊݬpÁúcÉ5âz5è»ü4!M3Ŧ_Þ|,cH…¨Àë=¯Ð³…²xˆ•(f°µÃ>þe•À1Ž9nr'Û?ÕN[tN'dÑØ[ÏÖᔬCCê(6ÿ<;ß¿£’ê‚>êe­GÙ óê³õ Ö}ù~mA ¦Aà—L¹kkià4øw¿gE°:ÉZ)¾H™«"ôw-Ø ïÇÒƒP+°_c›/³ßn’+¥e)ƒŠ½ù%Û‹mÁ”ä)[ó¡‘^|=¨; ­s­(Ë\ƒÁœé&‚R:ÆîÔ/Ù±ë›GNdÂ|ÕG„űŽ8+ŽÀËÕr’Ꭰ\ˆYµèyئŒJ£ç¿tˆ)ŽÓi·÷ÅW²ÃI”™¾(þ½rSÔÊýs/Ÿ´úµ¬t-"#j’5¶{š“@ê[˜ÿf%¢.úGÖ§2cкlŒõ#r6Žov¦ÆCÒq`¸Þ¼_~ñ¢¶’¹Ç»J9²” <תW¸Ø!×/UÚewT‚Ê Ê5€Áé¢ÛAŒ`°cÞ±¥*«Œ·òõâ-œ_Û£ƒE dŒ e¥•¥ :Vþ ôë)m7––cG¸=“þÈÌ@fLJ ¶• ÌŒÆqØNÇêü€™¬M_»Â.  À~=•GLþ´k•€elLžå7bjVà[OXù.”ÎpäÕ¡zQ’y D4x>c.›#çÍ%èPÅóèîœW\Ü l°ôsaO¨n_¥–®îXñÐÎýFë°nŽ0¨³à,Îu)WrØo ½ë ×>yâ2Ú[¡.ébÚ ÿ;x8TƒOmo‡àúYUd.i#¢|ùVä0~ä@c-o9v³«¦äA†? Ïßףϟ›tÑ¿H•<´ØjWò{931ÊÕä9Ô{øE–IXJ–ùzë¯uDQËž”Ú&%¸zõ9–óÕø$‡\2!ª $¬©Y¡ ›@!‚¢mc•t…þ¤7zZìJd-.”Ö3= Ê€ÔÿÏF™mˆÅyQ1RzÞviSÖÈT®Ú;Ãö< w=¼8R“5ŠïãØ|œåPaq³¸Óu²tZíSV….m`oÉ”¡Ëø*SÅþí¿Z"Ò¿Ó”K‡éð« ;:B¡Ç)”&‡Ç#¨fëé%SÈ@c#I'º!e§6ÚR˜ƒ¤ˆÅ¿97² ëpÍùW€´>;>5|8W¥ÿjÏ tÛ‘bÚzeŽß™¤ÌÖgb‚/v>¤©lY^îñŠ$tn­>âIïR–{Ó:Y‹9*ÑaĽ7äŽ9¡>u# -óëµ)Á $/4UM2 ,=9ߤ|+ ¾n&¦hñÒIzá·îë1‡äq¯Ó„Úën}`ÈŸ«_g_/æ DB§_ÿY=‘6¦2 °sŒîn·F´³½ÛؘÅÛ.«únA›šæß SãNàhµ”Þo|õ§¯ß¸cõ Y‰„P Ù¤2àym^4„Nù~hpó>‚‡ú tý£&­lüŸöÜà}ÓÇøq„s+ÀÉ#Ãj»}7äöè/âýÇ?ä@»|±Í†3?#Á@j¡0§à†ªÀuSb¶  ­S ¾½¦Š­àÁ¨ÎúoÄ$cëE Lçå=Z`•ÃI!9k[w(xï̽^`ìó’.x%ð¸;Þ­ $vÐ"\®Ñ-ÁŸ"ÅQÌÓ CÖ 4UMçWk4Ø/SFó±ñÿÇ3Ê<¨ç«9ªrÌË‚Â#Ú—Afì# ¥À°þ@"òN°­¤OgÂ?á*9³+.\ì§ùÈ PÞ›BÜ9ScÿÕ9WÎ- Úõ ÍÑD5¹v€*å+%~ø -’X'ñà`úŠ-i\kˆë–œ ú×VåDSemïtþ­Ê‘~x𧺠™õ%qGô²•Ëýä5ê½:ŸÂùÛ.x¿½ K ÀFB)¼c§Z@£ÝEÀ_6‘¹1vRC)(Ù–åÈæmO<³¶ÚÅÅ…y|½ˆ˜2º3áA¥5LÞó\sAÀÏϰ€ù†mîÙúpã¥8NÈ ¡ÓGÐØ))‹±àñ§¬  YóÀè§ ¿˜’5¡Õþˆ°~õ6Ç}up¾ð—Hø¹C²ÂŽp|5sî[aTw„ZX:-;á¬àÈÚá.D9*ZW°[ga×ûVÇ­]H¾lÂhCgŸ¾•jó>­nýÒ ‰·,‡þülúÐŽÚ|Kv+º ŸØEÓP0\’ÒŠBl@;ùfß<^¾ÁóR©˜¥¾w‚$R’9_$ã¥tà19«-uÏ+NYG‰ víèX?H ¸˜òßÄŠïŠâ2IéHârsZ9¨‡ùº4‰»×™š©ê)QÐ QŒ²¾xÑ-ëZú˜—û ±ZØä¯eÖ¦j",åæ4Q©i&«Ç0Ùs·É–5+ãJSxð©€è^н×5ןÜa€zaXa? FùŒ$¢LlŒÚÀ6F1ØÏ:êŠ{]bëX;œÌéVb£FæÏÙaJ%}j³ø£4ª^…ùqÈË…Þ2ù‡E‚ê“”{‹È+"ëhéˆß>¤ôÉiÓÈ@<C]6Qæ‡Õé ËüD=ªQÀ{sþ‘ì£^‹ 5ÈO—þÐL0±œ+Ë(¹ìâÚ¸½OÐ8û™#Ìã!vZõââí³miÄ’ÉOÁÔËÀÔ>qŠïç¹×aÀû‡,•—_æ9º\º2uRUx¥ Í; ¨œqgu=D”&U’ޏQ6NârÚTʈïï|ÖLû˜5ãá÷_àW’,Áž¡Ýªúÿ&zÞ²Óë J{—>8ýŽd3`e‚qËËùs{ÕÆ—<8…÷P>•h¼5€—ÜN¯S*á‘eÁíkhص¸âP$ô×}Ë€d¤ÍÍIbWPœÜõ{…“w!ögµÏ¤‚\É âµ]МÐpƺ¬ùmˆ‹æa\µõIÊ< ©J×Lز¼ÇvÑÉŠåâo ò.A’rÆêšq®ˆ´³€ãWÃ|:þzSVŠ/HºöÁþ'dGbbíTÆ¡évŒf«MàŠÆŒbJÑÏÜšÞùxµ–oÚb¢wmƒÜKû˜ÝyvjB-H‰ŽÙªíaÃØx’=ìU°ð‡ ú2i‘p³o›6 ½¨åFbY]órÆ3ð$™•¢ ˜VîªÐÇAþ§zÝ*RxKw,z8—Š©cÖ–¬ZL‡žc,âOŠ2³O}ûhØÁ.\*£¾û “-¸ý®ëy´Bª¾)pÁ÷= ÄOeXêäVNØ—ºgêçËíCÄ$®:¢ Š[²ºn+Kxv§Wõ€yÚ s+É1ë„èͪ. rÃà¡[°’Î#œÂý‡4ÉEñòŸB_S­,êo—™FæQzà·(*Jø™õ÷8E4YÔ·!߬X:C’Ô*q,ª¦‡¾õéÂβ¥H˜jò–©Î/ !HKœ+bqum1/ýÔgUµJ9\Õéš“ZåõÁÛ8’¼I­E™Ü©VÇœuç–ë-ü¨5r‘ìáœRk©ÀøÑQýç‚v)¤±Ö‘»A/‚«}c”µB½¬ ð†j~N\õpLz~•²—*Ø·=êZ‡Õ„E3毅£ï•iž¦ïâÔršR³Û´#® ÒÁ>ã¢Ø\#Ê¢sîìD2§íU/Ðì1€éJªº% h+!•¿§mµ@‚uŸ‹W«»ÙKc4îxzé ³K¥ä^Îù•ßÖÏLCÔ’”g×xL ¡-¥­XÌkbÕ/£?y?· û8 Ë¥ú~A›°6¿Œ÷iýÔvZÜü¥¶­{jø&zi9J‰|¾Ìr%sÜ[¬QÑ•Ô<ÎõŸ¾Ãná×–*€$z›7'ç4s†exz“¹íÖsMŸôØJÜ–ݤŒ1“´}§çXƒ˜…Ý#Ý*âOc™‚DÁ¶<ÂÓ\¢¼f¹·§¹®¼ÙH &8Ñ”ƒ¡÷Ñ¿AWÓ?i;XÏé¶_g)°ò0lÉìçÖ<”^Òðߢ èr £F ¦~ÌQžÓ¯öåw*³ž(Ir7W­óÞ¿Ëó áPÖ_Å1s ÈdÙ‚Þgõ»…)ÉR”*î"NçbNšþ|››[ôr”ž²Ñß \]îäÑJm@;P«0¾Ä"œ…OÕ½Ì.ðm ô+o‚†c® Ñ!ü®nWïgO«SÉ»S 2·ç¸&T4CÞU#ÿvjœ;B£ºXŸD¾¥¯ÁæÁ£‹ò7µ Œll¯k¬ôUú´]’£œD_ŸÝEC›bë u¶Ý¾³bZú1ž¤†Öñ.$¶¯ÖÄç ¸Œr¬‹Ú´žóÄW?l²ç1ì×ðŠFö™²ëé#$*PÌÐî–'lÎT†ŠLXî[§##ö'ñb*°Äu©šYyŸi­ðFÕ}ZûhnCv鈯ƒ8¢âÑhêÙ¼‹œú×™¸¹±ã(’c r®×ô•¼ñ…*ßÈ4غ÷/Í‚ž!K˜ÚêmÙ{SXdc\þò ¯ºÆðüòž:í[o/!¡ß†„J†@°•ÞÀeùžè\(¦ã0'±ˆ ötGÓ{-zõÞ½òJê§1š“My§ñÓ³ÆTì¿.ï@ ‰O²l¤¬p¢•¹lBˆ_ó=ÝÕlinãÇåçüÒpîR†º?ß@j4ÅÒ ‚í×ç ] ¿Yøa|Ò˜©Æ–ZÓxúYd"XŠM«:@ýqÙü±ò=`\I‘wÞ‚ š¼=Èüa—åør·Ü!•„«·Ï¸/4KË…<‡œ¶&2È,j9V‚,i{¨ÜÙ_€èõ¨ÀöhC!#üfWŠžžœ%©ø8Z-;c\êµyô€i!âÁil“0©lñê´z¨Kù~o ÌÕ„Ô·³î-?<Á†g÷ž+ë¼Ó!öohuðU1mÅ.’†¤ ÏßçÜ&‡ÝìÅžz•ú;ôÚuç Iz- *½&z¨’ÖçÃHtP ò;TH 0gGþÖ uë+_çxü-Ž^%ç(½B”'y¤¥ VØk°b…!ž˜Ã†hÏ)™€–qßYü߆s">ðsu}’÷0â ÷aj ùZ¯« k'A/¼o6¡vª¨ ü®7”쟋ikÚ¿OöPëSNa†âreFtùáÕ‚y¾)  rHœ ƒ¶õe:õM8f9‡Þ´¼ Œ®]璘¯x^Alµ‰A/,IrĆ>…Š/D¤=ý h*‰ 71üÒ*ÚŒ•1ðÉ…¦/pE¹wvv7!*a^ÿÔÙb9#x¶æˆ;4yʇDNnKƒ³Zv¥ïäj@ÒFl•¿ ç¬>„Ü©Z/„—cѲÿEiæá¢ÃCF±*s²œã™ÙAíÒ²bòצƒ•mˆçWBëb={+ùü¾‘ýÏ¢©9Ü‘a,-©Þ̾àÍæ¿·úæáŽüÜ[ˆª1B2§íÆ>Yalå'º|šè¶ìÀn+;¿d¿¼ÿ~¯|CÈÊ–â„ä?㬴™«¨ó?‰‰Ý®ò Gv’‘$- çâˆãøøùü»lÏŬ—  ÂþÃÞ"³Ó˪­Å(SnäBK†Û”,€ÍÝq1bnÓZ:#1b…þ}w¡WJ87š;ÀíLKÁ›Ÿ™g·ï/»pþp ,iL…Z£|me™Ë,(žùp\,Ý‚Ð4®evúúà¶k‹•»oD¥Æ0”é à=|ø£¾è’SYúm ªcì_#yÞTYÁá‰:ÿnP¥Yš›¾~sÓÏœ™ÐVOÙ…ýÕÏJ¼ù5ŽqÑŒOü`‚ÕbhJ¡eì…D\žÀU{^Ö·ïÐ#©#ÿ¶ë‡#ñµ¥„]Ük&÷8QšöƒÞš L}U®¶:e˜C ;päY¼×ñÔ…8<óýõ9j5èÇ©­S+„ðLW­ïb²üÃ%>½n®gljLÅç-SíKd`Ï ›Q“V$„V&P·ž°rÓW8bW­/ßQ=I ÞfûÚqd…ŒêGeçU¿B"6ì7˜Á¨ÕºÑ6U8©šrÃtO½öP˜j«Ðäm„åÉÂ'0°ºÁðß8/'öˈ:ù—v©G(w±×E…¥Ùç+68Ep B( #I&݇Ås³Cù 'Ì›^c\Üzûëà9©Rk”ÚÉéOKùA%ÓÉ÷ ¬”½æ›oʲ%'óõh,%y<|`Lަ¾}’¿ïÀè§ÆYÍM]¨[ESvÇÊ;O…›8í¹lD4 xÁyð+ŧ=@-ÄÜ‹õ1íÁCàüzè²à_ÜËöÐFc©àƸë¦(lì홊Ý;,À³"ÅW”u²1"ÏCó‚^¥ånž>;YK‹ ÝŒ#âÃQmÔ´[/UFéðÑ£61òò ò¬=ÔâǵLTD×tg=Èú™#ÇW.M¶IØk? å5x{,&*&¢Ø\i¼À Ü>ûb²¼EÉUÚŽÂÕöÄÂqB`œp$5dh“¹>ž£ñÚ3CºÞ x‘­f…4M “¥tÝ-ôÿ=Ë,3[ü´'þMè!ÝéMANº jÁ°Ñ38<ÁìeV;íÿ/RSÉvèµ ¢šíkh6:aÏôXŠàŒRúS§“ô:vÅŒ‡“ëäòFן´úèdy,cv„qJ¨­ºy¨o˜ýçh=¾þD¬©_óTHü*ç™uU/fá»ÂIh RÙéj)÷ˆ, 7“Ý´xT÷¸²£¼9ŠËe¹“Z‰¾ÚJu4ýß%˜k²œæ9í“6+Êd<Žž‡FœâI‘¸/rçïÈB±â ÌUôÖâkÿMHmï øñ¢.o5ã€èMD~¹…jªÞî΋n{ lŸ,Û[~´ƒj%¥åqì)ÐÔçè'Ô5ÏÒ¢ 8å—ŠÇ\Dö6Ý%âÄ₊VôàÙÝfý©­^Õ&79”?ðVbL$mN®g›­tÕΟiƒë;Þª¹Àâ”_p‹ercnÆ8Ãmåç°Ñ.; ¦ƒ±Ô_æÖ0ÏŸl“?"ØË°=×­üwÙ¥OÉ×ZóKMfh®Ô÷¿Tn“¤ÿËDãEfP°V¥ùù¬}$Ÿb¢8‹?í±›èZ#À Šü…)x~8:%•_ïUùP-§ÚÊTkÉ%î°€m‰Îòÿs^'¯TÚÇC[òÜ7žBhr਋ћx7Îjêöë÷Ì„0éšÊÃDÁ±†k%!© ŸÙŇ!Næç`@ƒÈ³+ƒëÈ5Àè’ÿ.@©Þ'\¹ŽRÝd¹>Þ…`Ž5Üf¼K¢¦øÇxcÊ!ªOÉÑczR™ó’}›ì2Ù…U€Æí0ˆ ‰€œU°nSHÿ¶šåæòê]ŠÜ6kjSÂ{ ûäwªÅ`X%@öñÉ~á2òk×á&qq®#Ьì.{ˆ]J0$´l°¹K>CJ4Øñ(ÛBb°ÛmþÆî™¡¦ë\ûÚ)VtD+9%bÔu ‚>ˆF]Žsáò¾ô(/·Å36ÊÖš)Õßs{ih«º(K覛y²éNL±Ö\<ÄtŸZî–[c3R]=ê„pNíìåpšÖ ŒlÈÉUú«ò§ŒžœÒ/_LZÞÙ>Á°!íK}ùŒÊ”¸µD#X!ĚĪËqm®7‰Îù*&°$yb~ÿ¼4Zg漦ˆ!×å ÿ÷FKýÞ…[íBb6«L*›€\vkÒ*œn-GÝÖÓµ½¦úpéÈ©ž7[d.íkò‹}&+eïö–Iýy³3èj~;ög Õï›JV•Êô„Ò§ÞOAJ±†ZYn·{œÉc–Èô hðÎk¯5Qx󶔦oðq­$cHû3cÒ¨ïÝ–¦ÀÅyKEÄ».€¦c"Ó3þ3<4²üc˜“––[ˆÔ…oŒS‘¡“6T(±þ>^þÓÆÔ%¯M¾Âé…)|±0k‹V½Ü·ÇLÑÜ0Óúœí‘ÌìL:<ÙúL…A€r ê›èlì &Ž7åT{@r÷¾¼ù¹zŽÔО"«SUËþ’)%?Œ÷¦² áÚfzn/S‰0Ö¦zƒÆÝ úxʰjoÁú—§äÍÙ[œÁRÒÊŒN¹i²*¦¥\QÉ™¬'‡À®{‡"D65Ö"S» Á&¾ä¡¢1”黦8r™’s¬µ¥âbfüwgyÑJé7bêoPŠ}¹.NgŽ5bþ {‹V=¨¢ÏyÛofÉÞÏo=V+›ËeIüã‹&ùÆ£Ü5Ô®„ÒMlLæ|îõ4!Ó("ÂçøòKañ¤´~„Ød@ú9Yºò®²–bÚ[Z‹æ%åµ@UÚyÌÚ»Ý>âiÀ²÷+R“LÒ²âŒÈ4Õ.$BUpµ¥rÃ*Þ±\?£À LV)Õî´—çõaÆ‚¤bߥ¹Ê{7çÁ¡{KÇvmtK8' eݧ‰~6¹Ó:cûyw·¸×p­32¸E= ¼ØTËRpÕhþ=[:ŽâÀE Ëd€¬ÎO¾r>ÍûïÜ3 ·™ÞóÏÖö ç:™(Æ»Gm?I¨7VAÌ==?s>ᓺ%­JvM  ÊS€1{«ã¬ë£YØ$â*”(&'ñ ­º%´4'ì¨Õ|ûí’’á vÊ ‡Çç[z§Ïx‰¬*¾·ëÕšæ8UØC-kÜ!@+´K3!U2ÇN¤Á(L&ëd$uGhHûÜ>L´Ì˜Ål´ƒŽw¤zfâ6Û7VáÚ0B>º@8M6×®­„X5ªëI‡›"ÆtÄí‰b=éHPg6Ñ$¯‘­ÏS+M,%`À 99 Þad3>;5ä²Ç (Ä«@aDr«œÃ}Ë)þ‹Ü¤Û›gÅXû‘¸ÃK“âýÜ5(w|þ–ø<‘A‘\ÿ0Ü; º›çåÃ.î-i2Žöå¡5u#›Ç-(¦pógòP¬œvíû¯òMs°;*ð*hI±¨‹ÿÇzäsäBøÀôÐÓW6_;7•§È 5Rž³ðø f£6|ï $UFüOv[@D§0Ι<0…î)ì1®EÿÔ‹ÑKŠ;Âcí¦üN‚ª§›ìÃ]‘³ýȪŒ~#ÀÃbójxá`L!‰9Ï¡þ>é ò‘Œ`š‡ºUøËÜwyMq5¥¢ªºüå]Š8U<:+7ŠÏZÀ]xDÆOzß‚NÅW' eÝúî’¾+´ÞÙr'¡`ù­/V¿®F:¸o˜é'ï‰Ä y½ ²Q Wc¥*68¼`_­qŸ †ýq¥6ñØdÛÍ÷Ȧ2 T–àìÉì"æŸ°Ë ]ð ³KÕë>@©j¿|r4‡1yåmÛö>÷ßê ÓŒ€@ÿM«ð$EšLF?U?Õ>-þçÄÝñ(V‘U_ÍQ.SŽ(Ž^„Né÷Siÿ ĸâÙ9*›2<]{¯5]:À¬¤÷Ñ>úœÊ1M>Êß·ü2¡t[iÒ&#ˆÏ%""ìpËcsþ ûV+¦»ˆºJS7¢ôLyßA†–¬Ñ8¯„¯Z50u•?_î1–0‚ÏvÑ‹–1Ô­;ý’„o”¤ÍÔiYS˜º4»þ¾I:Ø2'É‹Û"ÀÛ™ÏEý êýÃyîÜAb:ïÜÖKÛglaÌDUʯD»ï”g1JO!r[2À¯ «ÚyòØM# TL·—º¤òÈF5pÓÂÓÖtÛ\U4m¼Á˜áLT» ‚ËËUU©k¤¨8_Ž+¼,#‹<Íç‘É••è†Kõ\`D:•çA¶¹yíž%–LmA£·ÝÍVÐüí@k¶~-¡D°ÝžŸ×¼ *¿’Šï‚ä:_á¡í0;¯©?NÃb!)Þ ÷~Ç*1–êZ%QKâkà4^P†lÜî‹7Xí*2Ò,úïÖA¾(/‹~+ѼN|Ô(_­â¢Íhè0`ÙÄJh~‹ËX…¨L9ô…€U CòÑ ,è¾A÷¢pC™÷æ9ÖÅ;Ècâ72Go¿~5ò‰²‘øM¤hl•˜…«$@GÓo”øN¥'øÃs&¤¨;à,\Zç¬-rˆ‘Fþòù~4#FÚãÁ‚‹&ê¢ fIyì[, ž†®1Æ ¢RNn¸f7 DЈ)â @âúºe&ŒR™ºÿ1|™óïýBPòý3ÖWšùŸº3-ÏDº‹*z‡ì¨h ¥™º-ªì¼‡| *Þd-ÌáâöîÀ³nÍP~û¢\–|8tAD>²V‘¡÷”ø|Úº¿F±à -× †Ž–›,´]…‡jˆdò8Vû•L›ËHâ9K‰°i§I¿Ä™íql®ìÔ0ÁJkð˜G˜6iHipZ¤¬² J~ w‘—íkÁú@bõºW2rÀ÷ÒzÛ×a4^‚ÅÔ2%æ¶Þ\UÏ5%hÊÅÂÉ“!1ïø¨¶ƒÐõPMx£¢Ÿ¬ZåüÄjˆ—»~+ ¾Š%Ñç3¥õ I(0bO/¸Ê¼7†ñ Gº¡²¦n]ÒòyCÌ«äö—ÛËàS'³†Ð…†žþŸ+h‹ß82>CE†œN¡Emq7½˜TÙ5YrV¸ ¢|N¿u7¥.ÂÁf#¸˜O˜–E¾SÉiøÑ™w¹°~iž–=¶éôšl§ÝF¸ceV@}„Á?Èš‚$(mcš®(qçÃF‚|¸B©­5¹ iÙìÙý¨„ÌM*£€œÐ:À…oºÙE֚ćt•q‰ùþ‘tªÿ2•EÄž–ÝBs!ÛÝùbµÀHPGÐô m‹>íöQÞÑ1dãÊÙ7/ežìß«)„»“û¸B¹ 1`=‘`¹ä«ðJï‡ÂlýìŒúr1¦„·ÆÀeYP©jâá3Åüþë/Ø3 Á|kÅ‘»@Ñ| k«wOi#Ööð‚aÂòÿÜ ´Mõ7ÐÈñ¬ï]ì]bÚB;Úˆ!püùbÔÔv(q©q¬¥¡Ài^ZŒpÔ‘;äCç‚þ‡4¬ÃrŒÉº,ó¬•è?–к´~Û‘»[cp@µ"ÝÚ:¸| ý&2­¨©ÅÂé/ëIJ*lŒ¨˜òŸä¥wi¾ƒÅ¯ }®ȺZ¥CZ=m¡ÑúQ·ð¾­é)Ñm}„Ž3%‹ÆÈ]³çä.ý>'^5 Ñ%ß)i—‰'öî öé"‡WäuÄ…°|=¶Š¯QÈfî9_›ÆeîuéåЇU†ÊLß{äí¤hÚ·!ïÑæºÉ|PtÒ?ÝÎD[ºëã$Ó®«fF`÷œ»L­FE‚‡ÉãV(¼°Á]E´G›Y|HÃÕunû!Ó+ÀöŒòö&©k¬¡¯kN”!ƒ›Ô7â*:uÕ‰¹›)¨ó×â³EôöÈËLwžKOúŠè¼P[f¿dËõ 8‚[LyøÇx'ø<î®D–‰¢ Dê$Ïm¼ Å?E‹óÛêÂøÃ}ìåh8×¾oy—ÏX0Íõh” ;‰ã=>ÀÕ”µþEP€°FC‡±%–)øº ZíÈϲD¾1RÅ7Ì||…È©¸.êPž~àjJð‡vë5®˜%[ÈÉnÍÊɬ_йH4(*îFð9³)lX m²A•Fµü£!–ÓȯÔåªÀô{|‘«v> ^‘qý˜¶èà[Uæêãù;~Ï¢Ñö",óX<“ÐÑÜ™é‹ ®.-Ð Î6Üx€Öé°«¸vjÛÃwÛm­ò@¦ ˆÝ(“>ÕÁŒÞ(­b+Óº²Ýâ#¨Ù ŸÏpBý´•G׿šöÆÚÑqv­efä{;ëfj[UQV¼ÍtE5yö[XŠZœŸkä·ž¸²%ÕaæŠþÅÆÓ©òNwãe~€a¿¬z«%Kp'ÆÄåOdi†ØsVy»MÚië¢m^Å÷O}TÓÂRr³/þ˜·St—¹ï¸}L"Dµ#Iâ ùù°s]Núw{Wé¾Up~¦Q¹J;Þ¯y)r ©óA´t½NÁ¶î™ù.g;(TÿDº1ë%;,±­KŒü%ˆpQd2 MMˆBJ–û!îñ3µþÕ3V‘çÇýFÃ;|¶eRrŸ¹'oÊÃþh·ð¬~Ðý†ÇK"¨ ŠãçÑ㜻€9u+Äd *§QÙ}9T¶8„5ο+òÂVN™ sÄè¬oOÇ{dG‚Ö –¦‰ÿÒA6ñkvõºœê 2åÀƒSÀ-9="—(ÈŠb€8Ÿ_š¿Yn¤×òÖ•È¥Âo^•™_gÀ]n’Æ6v@Y›`ɱ±ð'=E)‹Ö>Ú ('B”tè¤hh†ëT/ò©Áeà ¯/²ÛÿQpYà¥÷ˆ¯e úÄÇléåõ-!]:ÇBô§¿^ìà—­öm–ãºX¤²L(öØS{ü¯À ©>;9Š-è̘¸ÿÎæoê³bœ‘÷2ðs¢E_HÓj£²¦Ø¬ÌÿÆ+&møŒ(SëîâM§lÖ—Paøæ1LW09‰YɈu Ðügz¡¿Wa™îú9 Èt0͸ÈéQµ]ç(b`¬7}Øò†™5ÿz².wÏÅe‡üT.Ij‡¹q9yÉÞ¨‰Ëo¿ZRá»Þ.é!—ó-åiÆGŸå±ó ÇܪãpFl@[âü/¼ßeµr ¦A[ApÏK‰ì˜êîKÓ(´þŠK0µcëé:„ åÌ)ï¢âÓ‰ßð¯D‰ÎN§æÆ³\ѽ†Ã„ö EG L{2ÌŒ©¦1Omî®PNu_¤"‘ï“ p¢˜ß¨Íx"oYßþ—Âåàý?‡Ïð&Ìa/Ô=r-¢.Q댡–å8 #О"äèèûÍo…Qü³}¦£ÓâXˆé¹%œ=ç÷Üe­çòvpœ¸x{ï¨_W†>öör’û¼kóR„`ôËwyVžíßßíØÎ#¥ŸB–dPž¾ Öî­‘WZÎÆëãÇ×P‚¥ºLQÔk ë§ûxgÙ'bª‰©hD M‚Áùt¨j„ì×=W–[ÄuSõu±÷šÒAdZ@}Eã膕¡aã30…œ¸È7oÕ:W˜ÙÊò™1Ô½8~…n®è‚ì×â+Š úDHö§T'ÛÚ¶­øÍ=RóÌÁ·¤ÁŒù°{j‰‡D ú‚ªô½KÎÐßß ²—VØ,ô¹%*¦½íÙSä°/f)õŸgï.u>ÈÚ{ºÜÝcÄØ©Æ_ÜM(݌ˀùáï\ýÙ“© çãUëšœQó°”ù"¹A»O¢ø·´b×ý»_cÒªZž{0YCpooäïµÆqòý¿ƒsH)® ¤©ö³`ÖÈŠ/Ó³2yh €HŠÎ`ž‹~Š÷ŠC¾ƒyåô©'û  Ìÿ‹X­á|÷ã1ÿB¼W®›þ£y5Sí ºLbå¡0n*%n:Hû¸ ø‘*3@5–>À!Œ¥[U"i`Ÿ!w©°×“‘!B,t”ìÒMgeôÒò#(>°¨§ôQ©Éœ=òÿÌ5`ÃÊ1èÇDVÁó_º¹–Ñ\=")ÐÇõ´g<ÈÀ†*íŽUŒàŸ9Æ$ÃðŸÕæ!'ØÍóïo'ª³÷ˆW0áïï0  ›†8]IÒƒp…CA®µÓ`Ó'“_Eï¡f„$ Îq­™²‹‚ üBŒ»l±|g]Vа®æ x×i%Àóòõ¡Z@½èDâ܆”ßurÞ1¢#âo‡)­Èb¦óz—LŒ€â¼œž_Ð4yž§FÏÝŒthji¯Ææ¦gFW£ª 9Åçò“°mREùp Í"{×E ‰p*ÅFʼî½Pô'ð”Ï*fo{v_58Õ|`ÂüaP‡(¦hapëÿ^Á&,²”ûƒG£Bj-4„‡/!”ƒjN]מÖ#i›3ñ¼f܉²Z¬,èʧÉÞQKξ’gï±± 9¼'6ˆemP—H¨…†ð}cø¾ã.n”UFœQÛ®”HºÕT2e9äBñ+¯9Ó›ò»§'Ítyv§Û äŒ4J®pÝÎ)UöÏ´\W—P|ø¯‡§Fe=›oZ’¸ÐÀ¨3=ÏÇ‚×9JõZÌCWˆÕû¦˜Á+¯ë+ 7ãyžtìí§bç&©~jÄWoãòŒ¥ƒÇŽ̹¶5;Ù¡bðšÀn×,½ÏE œÀhî\ˆ;ÇVî<·.´*91hßö›•áSqaþD<Ú·œDÚцuÀNlMÞºÈ,Bk–-ò@ÙnÙûD¬OXù“tŒiKtߥ³‹²?+‘˜Í Py&{=§pB,¥—êeʽVøð6ÙÁ]½!£h&ªà½"v©°m¡þ“˜kRÕ@²Âp–âz1CýA«4ZôdEÉmW±õ' |ñ~Ѥ²-¸ÖWfRdœÆ÷’E–Cøbàmåu Ñ:õÖ³&Y®Qª›¬« aÒ¼ù4ƒÍæþPÏ{ÃFšñ†çåE»¸Sä+1èuÕØÇ„½¼l=<…u)­>4˜bŠó¤ꢉ8Ãgk娸)ZYxÈ/It6¨53ós]WýVîðó-ëÚî˜1n³Eh‚X’¤J]7ß YÖ!bvÂ)”Ðb|:O­v^y¨n…ïBä} {ô ?müL¥‹)F­©“w˜ûÄogž'È”p}‚`§øU½$#_ÓŽîŠü˜Á^MmߢÜð ú׉¥‡h3—ãÚÂÂܸ›)\æ…ëevGóÆ´(šÏÁ þN×0)-ÌÞô²è@]G2È„+c3– \*ßÖZ˜ºøHAUDÎ=T¨ÑË‘ÂwY`€Ö˜wØÙ/ü¢±Yx:?VÊÓGø4âõ„¯6ì:JÝÓŠò%Àn™…@m*ˆêÉ@ãYzNÀÊ24øípŒWTy7hÆ+#ûx=×ñß3Áù¢Îüæ ÃçkÚúKC†‰màÕû5Ñ–eÈÞ/Þ°.ÈýŠsþò°’-Ú¹>Å úÛ—yMÒô}À®8 °é–¤8Љ­éûÐ_8Ý~(ç/¨néfô46:LÀpîøÊ³y¤R*<ÿNœ]~ÉcsG„œ19¤…ib©ÿ„ÈÒø´z,üâeWs&™ö@ ¦—23Å£ž¦Cõ¡´æýø™” ý ù·©»À\¯’oJ…î¡]ºbèK=–»?rÚð=½.1¨èb 7ŠàŽ*ý7Ó4`Y¾¦>œçÁ67h“0‰I㦹y@¶ö·®¶”– ‚ÅÏucô:nÀ˜uÅ)½ëà5k&½oÀî)«Ïo~5^DÝó»E¹X*²Z)Æ$u†DdUe`W‚Õ°©jãcÌŠ{ÈíѦƒÁ¼Ÿ« ,s€?Ô©s’F² ù‡ <룾G'ùiÐ.,J)/ÀîÊ@ãžãpÞÏ:VØM·ÞEb³ÏçÌ˶g0>½°dÃayGºÍ!xØ.Êñ+ßÀÇ稃]:.ï<•M¾{ѳ”Q§ÂÒi˜ˆ\#8·£]ˆ°ãL/Hw2õ¡æèÖôo%¤.ô'/íÓNwÖ¾.ç^£&0QuÎAŒû'ê ‹àõÑ5wжH+öHFÇwò›SÚÞ IKcîç¶1Ï’œ9”~“_úP¤çŽÂA‘:§L~…lîÒ“|=¿­tŸ Dd¥x€®(½ÍíóîFçëWÛ._1åžLˆ·Oå~>ìqòkAEŒmž5õµvGKZâÁØ$(ƘÈD±XÈN$)}múÔ† ®‡6 ª¼DÃz%³wøIã钤镾(móý ÖGÚçÝ)!¶bÈýœ‰c× Áe«Ùhm ûÛ³i‚°;CY†qŠjÿ·•ÿ« iU©Œüb™yÇi÷À‹Be,"Âãßbb1{ÌF¹[ŽPºw$ëÝ›y‹½ÄÄÆö,c§žA1’kU _ëw¤PCR‡Àr¨É¶õEG“ë-©ÿ ÷¦p§;-ºì{´?&ÃNEN 3L#æ0Müb0x,?·DÊfèW ‘gööw\/l.§¡·Ú¤Šè€)Žhú­dh_¿>0¸m»I*ež•”,ˆ°nŽ(;¨Í0°uÈœs¸-ǧ–‡é0Žm„œ¡—ûX”óm¶Úî aбG‹Ïêhpdšˆ'£?ÞDQ)iÞöí¾½‹è âqµÜë–ÈtîGö‹LÐHÙ4ð”ü“>¡e.?-Ö,j¡Od.ôΩQïªpŠB ‡»ïfU™³Sgùö“·Q“FLBTÝeïÖŸ¬Þ\©Ë‚¿Â¥$ü,ËóHM:ÿä’'Ï*¢&y¿§Ç7u ½@‰´:ܶ\Øõ‰ŸùŒlâ;AbƒWµ{Dˆ¡)Éa¯¾; ÍìáÎ7©k½ÞÏ`¤J E¬é\`Þ¶ƒ'G¦Wé>Ÿ!ÅTïÀ5yµ¢]±=Øîw÷™ ã²™×ht “Â.`…Б|BPùÁlÐUѧܦËPö–tñ¢Ž)ÂþCLJÓYã‚»,v¾ ;#È®÷¥láéèWÊÁ^8ëÿ#–ù߸§0–rCttƤ§XQò4™Þ`Ī6µéšŽm2–v3Ç tí$¸¡£à#p;lSèñUþ´"÷ìhª°‘ˆyð:MHÞˆ ·Z:ƒÐ(6-eL“¸¹Ô nc‚ÞìXåvnùt\9•D8[pdŽ/Ñ9ÿÕ\ÀY²¿A³¹ö 53óáîÂoIe–…-<Éö^3=ÚÔ½’}â2‡?øvµƒ›mþ.Iñå˜ ×åÉDÂò€ ¶Îf#¥xÌÑy e™P,ìäá²d©Ê¯óH#!IJT§çÓþ³Ö%OÃyp[B2l~åÔOw@fàP‰ìVêî³·¤¸9¨°ÔøyÑ”åÌ"Dz€ÖKïŽ_4òUù˜åНFíÆÒY½Ïz«éÀܠϪ}ƒ 1kþ¥¿ÌYúZ$™s‘\ dÔ»Ž[+p™v?Ìâ.ˆ¤ÙïÐø=[Á3S›¤çƒlÍá½ûêØÌôG5ÿä’LˆË7g°—AD×8ák &Š4÷t¾|éüâ^—TH"s">þ˜E<¦ªûF#K̾K`±U†Ìý?É9èç<¼á[4Œcõâ¡9!رíR°õ—u¢«´¨~¦™QLÂqüß:;ê>k1@…ÃâuxI9p·aáš ÈøHeÓ¨+knWÈ[áIâçÿãPÌñ˜!#Åœàòn(”1Ë›¿I¬6¥èèðSÆx r€ëClú^di¾ŒòóÇ©â¾ûoŒE\‚T+ƒ=è¡+Õ½d¾ÝsóЗ×áf1O!!Bôýß:Ñ=²fìŒ%pt,ï6Úñ]¦ŽÀEZËÿž±1xÖšŽôÂû% Šë-nC.Ézé)"ãlÅ̉u@º&Üâ•Xu£„ˆ<Þ^¡÷¤í¯ó¡$SotÁ÷ïþQåëÉÿ“' Á"L€®›úßën¢? á\Ïh`TàÖ"½j3ôyÝ]eiÝád˜^ÞXZ•SAK©8bËdÖõ‹ZÔ&cÑ:–š”ïʇåðó†\)Õôø+Éí/Ùs–^ôI8@骊,¨#‡3Jz0áU‹tÐó‡RËB”âò à1á7C©øÞ¬_:^Qö¿Rp¢ªŸ5¡giy‡ðîƒöE2§\J†2žê)ÓùÙÇ-ïÁ]@nÏ–ÀRWÀ7D«¡V³çŸÊJÈŠüœö&—t^éµÂý°’¬ÉšÖöõ˜åTd+Ã4? ýf¡W ꬿV¹HûsO· ºú'ÒXÌÓ€Z~³ršô¼W.¾ÚØ¥s U³¡í‘‘îUa»·*Ô²ÜÅ™³P\µ3F:´gT¡«`¾‡ëî~0{õÙ`^hñ§"¿e ÏÊ?íKG3u)ë«—7b™“ "¹×\Ë*ÕŽá²çE ­AŠ’ }ÖRPm½1ÿã†#™öí,#Yþ¥Km£»¤=ˆuž¥MUaIeˆó˜ád¶M¶þ,ÚÓ_ ¨ëò¢¶§8ï‚ylj‹^bŒ€ Ì9„¬T†¾ÀR,ïµþh{å„‹Õ`÷Ä]à`V¿, õc'ˆ 29Ø®4)y¢igâà°ÝµëTaŸÐÓX‘Ñ Sc©fXޤ%üБH“5\)ÂÉľ…%A$ ó[ÐÍ4Å2uûÏž&ä²ÌÃÝBºî(=]H¯~lõ؄ϤöV…?;È«Æ7«_kÀ1€pD~f¢XèÀ>c\æ2ž¦¨ž Ø#ÁÃnTŒtÑ!MÏ”Æäcs7y«t%Õe„NÓñ‹¦º†Â[ŠâÝŒ7-qßwÝn{k+à¯XÇkxòÞ‘>2Q±sM:òu˜Ô­éÜÎhÐAÂz þvâ’68û yŸ‡‹c0Dm’‡Báë“–Çf Vëo±W„ïξÁùŽ6˜!Ágjî¢TF±¹½“¦ež—ÂJüÖgu¦Hg•è»A8šKgrß k?…³AòÅ?_'x¢ÎNcŠÞŒ·4ÌwwèÓïú‹ùR„tÀŠzôOŒ¨mzঀAnSUÝ”ª…ž(C‰ºJ‚Ϥ¾Ø§zŸqðéAFtPM Fx!öT´h©»L‰œh¿Ç_Ð X,g@eÂÄÀɹ æß}EhhOèC<€Ö.ܬ*Že/³ía8TÖ_*¼? µjä¸.ƒ§aÊœJØ¢s}€²PMàçŠD+äýþðVƒYæÉü{u\WiÇ’]ê#èÿn±@ÎËÇ«8ˆ_Í/ö,òéä܃!¨Æ4bUXVRV¬}TÆü¬åbu`F\Éë¿——hkÊêµ{ôÀKÌ|7ù9àžøg Ä¯pI¶®°rX½0urc¬þs:CøÁŽ¡Ån5b ÖÒHRÍÄt¯ø¥5¶MðQæFô{ÐÏÐŽ ÕÔþcuÑfM&Uéòâ»K7½oeÁ¦%Šõ´©Ä]£\ЛHgX‹¥NŠ9Ó™%R‰…–ÅâîÙ-7Ú½D¼f€#ÿªïÛÉ¡¡555 ›°úÐ\Ç%+¥‡4¡ÖÛ§A0WfLw_þ1åI‘ÜËI2™2¡4M}‚Ïà™àðkC+×:y\É=×Ŭ[(®æ‡Xí¹-K&'À:ì£S驿ÉHkœ†kÔÚ"7ÀÊLæ¬-š D§~Ÿõ–_R;&ýÅ'R¤tUw©ã"ÜQòé1žMÑ‘¢¥É"1#RM> lY¿ >Ê~‚Þ³ Ô„Ï7XxgéØW­Æ]Å?Zò@i^ÂW úÈ@ÇŠ óã›;ø¾M§ã›@NS£—:®b:º ˆÒ4õY;÷Z?œÑúì(7\küyóÆ£Â'ËQðú’àßEzyÌ—nÆ>ñ4ÞícRlñn¦/ÌHDÙzW‚ú.—±"l· öà·i‚æ¡k˜XÝlËöþéä ì÷ÉÂë¶™)Ôe«ÞIÒ%Ÿ! Ñu5A;­y¾!;1×8Ÿ¥C÷-hÊœî‚tÿP±›<þ|û6®>®›Ð¡qÒ±Ý ,±¨Þ€ñC]RUH)X “¡ÙcÏÖô¢kÜphÌ+ûQ&ZC‡7¬Í^¡Ù[ƒ‘¹óäÛn¼å´y©MÌpŒE`Ù‚2—vŒ›\Õ‘®ÈÖ¿ÈÕ^‘#ÓV©  $Cn€{˜çÞä¡®Zºr§«õï  ^n>Ã7 4¨OST¹[ƒxþ lïÝM~~sî›0žRIQIùlðs§d æ]äô…VÃkà>„*вñgmbbÖ34ó}?5Õ×F QúÈÞº‘½>Ü8À|m.,5߃࣯ѪÖõ€µÛa®ükù•KO(°ãø-°Ñ7åÇmã¼gšÃiÄu¢ôç¾’NsÝÎ÷‰ Yšéýã?ð6pÃNk[ãú¡¬ š… vK m‘ñj:ŒIb[³p˜C‡ͽÅÒÜÌBÀÄè‹—™…"‘e ^ôû8nt·Ãİ·º›K>Óz£[ØæåÞr¥\ºß(YI†=¡FÍ÷õuÊt“ýÔ5.rnñŽxÁ `;CmpDK|Yº¥ï 'ë¶‹¯ç§—êÍÁ×»ÔÝíÞ2Vøž@ƒˆ9V€ûB¨‹ÑB¡% Íü·“÷èü3´øLnsA`œÜÓuÍðÂÐ d¹Þ©?±üå¥úÿ@7eÁ9:-.4–õ]†Šaß§Ô“kJ<Š›¨û¨—GW;Ö:°½‡ðêì_è` ÖGè·WÓº³A>aÿšºi€]œÈZ«Ž)gu$ý„Î$i¼HA4LÕv$ã¤ÐðÏ}£Q÷vN£Á[‰õ%ÖR¹*šòëÒ½¯äM¾Á“®t`ç?dÐ ±*v[šøÇÖ õøGÐ’õ£û6ì•N‰Š%‹<Ÿe’ÐéŸW.œ'¾]LÇFKžmµ¯…/ÔÛßâNIÊzaz¦(Åî=Æf,Oý ñÞÔUjGK`IúDäK9À C)ÑfNÓÉ¥âXM³ãôù]2¾ƒ’ƒû €ÿ¦xHªíÝÝVh„ŒCÆØ‡Îj¯E|ª®Î,¼àÏ1a«èò2l³m¼YJå—öƒE}LE>üE-ݬ&²žwìO®Åþ—îÆèÓÓ®¶´eu“IDKýÊRÇo;a¿ðÙq:û±p`}b^ßcëч‚ÉÒ¼Jó¢p…ÏÙmÜÓÁt¸µ1•Ã…ˆ€%ƒÓÆwÑs³õsS+²ò¦¥ÑgÓV+'ïvcç44ÄÒYñÇo5("‰ °˜õãFÊâµ'* jAó³%'$š!k25ßß–C¦wãˆr°x¯pÃ~.«ÛWâ®¶!Cæ“ݸ^ÍÅü°·#sÓró’ðÈ*<¾t«ƒŸnî2YÃJÆ­'Ø(ëtƒd~UYx‘ ´!·Ô$e2T5uZ·U IB¸¹=Ƚ]ÎB-úÊ–¦!8˜Ø bºRx™kòíÌÐkðR±U¡Ñ ,c`LÐ3vjb¹º©ªróŒÇÓߑû *5;ÍéïÔ툧ùÉcAnëÇ«Y gc€‰¯ä@}±æU¶áO ,ò’áÏúHkm·² ô]¾w>þ <!Ô_?uv®¬‡Ï¶Oœ£ìŠ­NÄ&<<>¥§×Ž“¨÷]|öCž Ö GæŽj7m TÌ€ôÅÞ?Ç'”Ül˜ÔÅ£áh8ÿÂ…Ôüý»L®>sŒ,•mR#o“ ü@(±“qîK–»|FagûÂbàÅoYxfQq•´Ù–!5®/s¢>\ÕÈ?I=^U’ô®’Áëmo¿\t%b.D+~Ÿ2†š`*W±I:ìüdŸÒ ¶qÇ"»ªþ¶_¾9‘¬îR*«Ç§¿==³hq{6¡ˆç¨Á×@i¦—K­v[òùO¹&!ï59ýNÚC>´!+lÇ}¶õÌNVØ1!·ôŠ ÿácBûôYåh[2×À–ó¦K$•B¦œÞ'ÍŒ½/&y3“ðɱú/{¢‰›¨ôI77r5ùX”"ˬQñðC(–ÁF®e}ÛAI`’æçw%h'k3[–iôOÏx ?ä  ·”ò³S§~GM¿CÒ?iòW ¯·ˆ‰øw“JãtЯTª0ç1Œd’Ç­,¿öðdÐ ûæÞ"Hä¼1¾›øÆ3ÇU2eOpÒ‘ó"ŸŸˆÈBL±AÌ ¶ÐÅ›,‚a+‹<xïåbàTp~Ý¡Èç«Î©©_ÖÙ¾èëLTc O¾Q[ô1ô?~š ŠË³´ (húä…‘-_‹ÐªÜÙáã¹séáÍšA0b$^jDþšaåÊATB˜å³Xc¥Û¹žì>û]-¡˜š‰jäXZ²žYzâÝñâYõ°íwƒð§}Hw>0y7Í•‘?ÚØy÷¾°­ P\Fôô^bq&±ÆWQË)ô¢]Ý8ƒ‹ÕÔ"L“!Í# ¨ô ‰âV´ÅÀ° ?ùcÍǘÁ©ä–ƒÏGä]K\j—Žº£3¢Þ»ƒxW©oê”=ØØ‡Ä¨ñ@:Pù­¾PÙ!TýÂw <Þu£)°9<´Ÿj‡ºT£ä¤>v¿ªwËðí{¹•8­5n Ðñ“·æüyõ±…æü.@¨ØƒÂ¶Œþn÷ˆUø±óm+ôÞ{r„ÉÃ>µïOdˆ¦M6#g  ~\ÅŠ[\ë.jÖâ–q"Âód¸‹݈¾PË7êY´B-Û*D¯ÅG¥ä "KW´Á¸Î)Ä­ÅPÒÁÙBþLç©åYˆÆŒr {¶9Ælyñx§%²«E¯dT—]açÃU'SfÏ~Ðõ_ˆ±æSP‹¨=Õ+£0 :£xÚI™ ¾)üA­P-Øh÷Žá|š+ÛÙ}Å]xpû]åØOX8g¡¿àøÏNW:7—mÈ <Ñ'Ybïé§Þ)¥ò¥ js=â‹ïTpY1d+螸4@–4*6j Ë4âU A™I*ÿ*N‚Ó,ÌÕ¥ËzEÎìÌè6eÁ*¨±à\A3ËÕ¡îm~¥&j¦MÂb¿ŠX!šàP¼bB˜""öíêÖtYâw¼9Ü“? J&á–Jt–g öÄúêz¬©—žâ_¬Åe¬*[bÿoE~–˜tfß :¦H_“]î‚=”'×^ÌlY§¥ê©8[âŒV»HÝç—Ø,ïWøi-:Tq1ÿ½¬À‹ÉÉžmäáˆq”£áèþÃE5N‰.Z‹ëâ¼J¿+A Ô"óTøW;g Š¢íÒšÛyuÙLøØPké«ùÕVZ! @Yìt醞 e9 §4™43R_„9©Ñì—±Õ̽Q±DY0ãÐü;¡î­+ÿ5±¶”ÐÄÑr, 3à‚ßÀL†¬ðÙ8…òu¼Ê>Á œæâ¥ß‰ð,å }†ß9,1HSL~Þï é lžò§»~Šã—Âôxò½ Jv-ª³¨†XoûÏ@Òð´k¹}Sžâcw‘Ó‹w¾D½_%HÝWn¸¤@²T 5w0û<›ôXgV“ ÌQ%îéc‹ý”Q†2²ê#¥å0SªÞ­Ïi+ *âÛ¥\ 1'êÞ© AóÊS–¯Åù5:dÁ`tò÷‘¦û 6C"BIn¬0J4¸îÆRkeRÇ=¹ú{ONÜØ+W† )6ÎÍDgÏÕ9=š~–»yGêç)0þD¶S™vb2Ø{ìLo:ù-˜ ª“{4…•´_¿×¯ [Cðá»ef·EªT¢C»Ö»¥G,„]ëNœõ¶y˜xËËö—Ž˜Ê6+}šßÛù­3еíÖú¥”¹ªâxv»îG@Í%ëØ)¼r½Äµ¹OS™Ë*vœÄe_M§…/ËмØ^Lþ뤦ëÒ–Ö`£–Å¥ú?ø«8¾,žƒÇrW¡G©.P#ï‡MUøXµEÞ“2„‰º "–ËûkªÍ[hó3šbh®{¤›ÐþVž®Z ëس¹Üç ¹8=ûp’¾#x›‘L´-  óãÜŸ&Œ«4Ãt ÿD©^ý·ûøÊy©>?ó^¿üàþ/”®:% WLöçânõAŠéŠídx$#àóIGq㹸¨I—Ìuñ3Mq&Vø FtèñÀJé ñošé쬊Eô‚4ÞÎæXÃÉ.ÀmÝš‰Çàï„ ÐÞœã½N?ûU¾#P5àÐzƒK`º¤W×[:|æî‚ ôjËÖdd!Ž f+æ;°c>òŸ§Á%î¸7„È1YÒÔ]È#ú†]YPú4Ø)é$‘ -¯ Ú’^êÆ;V(M2îù”6ZL_¶Ù¶4£Ñ05ųŸv-ä׫کážØ;ÿ›ŒJ”Ô“âHeàQµT9àØ•ú©¾/«ñÏhK&c \…;=`ú.,ÐÃ…,‡hP«ÿ3Ô»›våºí<'RNny’˜ÛÛCüƒÞlO©´uÜHæ£ïI·/v÷òpëZQЮ‰Ôò¨¬}º‚']‚;ÁžÛv°/MÅFb ¡×è¦1z³ê,ª–hvT@¿ªŸØnß|ü­%R2yuñ pÌLÿiK„ªÈ%ΨldzÃ]^¹f¯Þ£«’Eü~à©26Ç$§O<%Ÿ’=`…›_'0IÒå>ò¸åœ.T^Üqâ7å¾ìy•3ô|%Ʀ‹œJà;ïcµŠ ð²éf>xE;fÙl7¿öM÷œ‡Òb×&“„mÈVÉ5?›2„Q:Õv„ß`þ™¼g6bžÔmrËë–_Ñiâ!öI´gÃNzð ´IxÅ”¼|cÎàÙ<=#dåŒR¾KÎ<u­"ó»Î¤Ú"ëvmñ¯gN/ñ[éîµ.XîÑÊ Q… /~ˆè²]ˆ+‡˜[óÚ¨8‘ɧ£Á}Ãéû-°Co»åd^2§ÜHÊ;¾lëµ(ÇÃó–u"k¯_J¦j¥Æyum|zš  ª2“zznͧF(|¨YÍC©3lj‰xUÓüüzðîþ¬ô®oÛ\‡R6<6)”žb·p<ô—Ìž.DÌa©øJò ñÚøCø„h¹Ÿ„ªÁšäy5=-±\G¡~;4  AñË'ʬÒuOÝØ€‡! žð£®:â©VI%Á=c`’düÈŽ4A~uLX>¢qž+„žpxá de„ÝÏlIs æø}~7dµ"ÞÖúÃñ€eþ=Íw|†4íbýÕ¥2w1©ð¶‡ Ú˜ÆCªÚ¼rE†xCÑ܌ԺޣØòG—ÁljïzŠW¾>ŒÒ†×À±ÚN ¯v”$Éÿ%2¢¬±)‹iÁîz²ôÚïtŠÍ‚_dâêc‰4Ã*$߃0±ò4ñ'ó'™ êâQé.œìcTÙuoËT²BvfˆýNŒ@0t÷Ä `®XàöíêÌÿáÝþË4Ò`ßì;Á¯â qò°<..ÿ Ù±?ŒñHVŒȨ0UµÍÿemP…æRT…'|\tpNmüÐIkí‹ wål¦ú€’¹>²[ª¦ÅNF ⯉œ7”€wíVµÃYë~ ŸýÓ‡E;æ=Šö ú=¼–Ñ~éKÂÿsÊú¹‚Û_ €LT¯mº÷N vêÈF~Ž›#¼©ËZHcšPɵ$Ñ0­8òš0êôÄâ9.…†o\?ã»'÷ƒý°\Ppú Ck%+@æóÂ1óIÇŒ¤“åTZ”Ãgä*‰$ã@…¨0®U4´I²k8 |ŽWuŒf‡‹çxdûÂsí–©|LÒq“B0„êèE„xIKÿ9£ªR›æÖÓpÝp|ï9Áˆb@áóOK–ä©~LÝø ̰wð¸ñ[ÊÌóŸÉ6†n©ãðÔ–¥S<‘/:$û‰ÖÖp:ó ¶ŽÛ6L·“»‡Öž*â+–Ö¥üCïu+‚JÆ0ŒŸ$ôþäHå(¬îDÜÓÖÒκ—ÆC¼JÄüM$!ÒÇ]Ùµf, ßã¼*«Iþé§9ú!\I`‹ˆµVÙÐÀMäRÁÝR9Ô†(‹ð¥ãˆ<œa¹Æhðªí%j+tcÕ2ËxÎÓ3ðyåÎ˱v«‰Î4ç9󣳕áH?·O^Ìå¬úôUÎqE2Â{£e5£TÁ½ÁF¥sÉ=$~j)š¡Hê9rªA¾¢_‡Þ«™WìgfñDËôvˆ[S6Úšnð©_òrDµ…å¸àÍaµ[™—…Q=m)*{…ŹæÏ!Pg¡*þƒl¡ý«¬$ƒ*óSpÝw¦:LHg"õz€4Äa5T€;÷¨j ¸¤6Ýo¡øU¹ 46Ž”ÞÏ/¢]ô|‡5×¼Aµ2%«Ò¦­Qg“-©t'µŠè™Iµ0K#úà×Qó.~³‚{yÿI«v=±}?½6%)>Ì©ù<¡Ã†MŒ¯Êñ,ÅkÊkyÌ~I5€tÊž³´¹6¶oC»Fw1:Qù¹Küš«h rНY}Yд(ÚÀ'Ó¤¡Ùöž‰B©2¨q¼~“Û™d-÷J–"—Dhȸӆ©:ÃP홥Ìí` N dfúß54ÔvZ–é°6ýcâeb)ÿPòŸ>Øõ‚]™4=åîÞyËN^èÍ™/«ÿÈú•Ý8t«Àùr“ˆM‰þ¥‘†HA¼sAµ]IÏ3 èý¦ú÷ÞýAÞÍX»v(‡˜ üë& j«bµ/,háMKÇO»‰oÀÿ“§v÷íÿÏâ!Þ`ŠlÏ6~mr•Ê“˜J,#MjŠO£[¹2Õ—Y¬0ÉW˜ŽH‡ÉÒ¬g0·­„=¾üVe5Îúò‰ÆæÔ½0¼Z„•ì´µ¬§dðýG.¡_]dRH6aÀ‘­ÛQ;"1©Ü.e•LXe °¯AâÛ;ñ_6ô2FÙ…ÚÞ;“odB+… õgì.áî ²^Æiq4T<ºd+0T‹¥ü³@Óó‰mÅ1­Úƒ¼Öi¸Ä÷ÎÕ¼ù÷é¹6jÌâFCÙÔîÉuBG|ï[Êzh?åær£Êm¹¬¡¬>v’4>è“ò¸!D¯öHÚ“KÜ-e›®™y‚’áà 4Rx¹z´mQ¶éÎ,!ð) 5a—?]UqqΈ7ï ¾²™^ÿ§b7ö¬ ¶2Õ ª)m[<„ÃáÆ9²î—ùÿ i¢ [,ÇTÿ}°`ñ‚¥2T¶¶ÒÇ."ßî—w/þŸqVSe"Äzòž™BºKî\Ö+Œ^Üï±¢˜{VÕä*èäfîð²§ÛÏ)íb„2 뉣cÿ.Ô¯ˆYcÁñ¥£h¦ØIΙ’]~x¨Äá›×º0ÓJ^` Ò¾EíÕÂ%GÈcK¶’bÎ7“màZ=Î×Óï.ð»A‹Ù„±Ðz®Íuäaœ• 3qSaïDt9Ê^ßõžx“—Kz»ã>ìYgšIZˆh^Š4K±¹°¬M-^×N= ¡ƒã嬊¹ÄI·Ò¿Ž³¦ðó6]:Ó“ˆ6êÈG~¿‘P¢½¡T¾(«,M—¼=I,{»‡¹I€tW •ž%Kòy“Ç@a0¬–³«§t룠…ÁÆvK·ŠƒHÁ€<¡t8¢ŽŸ!ï ›ÃUr¯%…Zùa¶:|¢L 1î³N;²óž_ÚCW2n[êåÿDÄ·ËꥰÝx¯JTöØÚxÚ<ä œÞ‡J7F#uè…Ê-$ÉÔcßÒŽºh£‚±zé |†`ôËoø„„0ú ”Ù¹Ú­INƒ>ÎgÇ9ä¶Ro=›¸mMö}‘†_%ží'l†cKMúÑǽ:Nðƒ~%gŽG¥¿)fü)Ÿ0ÃZ{F>¥zÏ5hB³ü Tððž}öÿ˜´á/ÆßNY¶:¿_@¦Þ“Ñ}|Eºf}Í+˧hÍ<1XhРQ·—‹É»|˜[Íþ¼S¢;1pWÒÝÖ½NG¡tà%lާ0ô,6ei_0ÞªN~£¥áÐGp‡Âš¶Ìر:É H¯ü$k^ÜZšqyÂ÷×™Ù“sã AmàqÿÆuj´w¸ÅiŽ 5]'K<〻whÙÉï5¡³<íõÔ­Fï ¬:&y1 Dß—9jniÓ%À%ç–«ä8²°«Ô@;òÿ¦DŒ§®…ÚÐÙ º1­Ù&s`ª\3Ï•1~§èºôÂìEC©Ì!t…wz 4›½F¢ ŠWëçu®bÀ)â#F ³Mu/N2Μ¹ÊÚ¤„%D%“¸"E‡ý•M*˜ïÂ…ƒ:°Cµ­¨ÖŽL:ó%dX'>œô’û“r õNX¼1‚±£6`M å–ËGÂßoÿ7¾!:€Õ c¯}gÖEÔCÞî*3À÷ñ×Nó[Žé¶m'†£²š¹Äy$îqðc¶S/HM†Ò}:Q›k ©y!%¾Ì!YDÉYýðÄGû J†^kС8hO+k‘KGÊ_˜ã6Á¯âŽZL‰«¾í(X!ß¶ýøfoÍOBÒO.Ýj§sÔv¥4@çÀfˆÞ¹ÕT•¼J/Ým•NM´åà¿à"v ñ†%ö´9DÖ ¡‚äôq;wtMØ%8Å^¬8“]öDü¬Lí{1,¨·õXuÙAž¦q+"‰uãËӌȴ1 †á; ¾x–¨ ®¥úüŒÂ|°X0Ék«ª ’£3ÛhwØÕk@ ¡ FÉööµ5•JU½áRCRYK ¤BH5Ûhh†þq§ìÊ•´Ã‘%gËØúb\± >8¾ÍTÂ2l.´i0ÇœWbËC޼úJQê¸LS¥!«hü3šµÙmŸ) µÙ“3X·¼qwÔÜÆ×ž˜¯MÑýå·qø„â0ßË|øcHR`²½5DÚ&ƒ;Ä— Ž­Ap°eD}ØÓÒÈOðˆ§dÅÛócðhä*¾÷V†Âb €?Wê‹æ„û¶>™wºúÄÄvÌÃ:çeѰBÙ„îM¾Ÿ­$”dœR€¸2n=¤¤Ý:›\u9F{’ž†#rœè…ˆ/h-—lØüáÁ„.+ÿNBÿD º.Û4p@áëÊÑ:’t‹}ÜV”©ƒªåj p·‚ÜŒî1PÕpm-ÂY<$•o['‡íE­K…O50£ÔwÓD~й·“Õf^bš-@ã^¹–Èê€Î«Ê$sê«ðZÝ8ñ~ò´uÖû‡ þblm¶`–L&pgZvÓS§T¹ùHïz§ý&Nke½ÜS?éÓÆ(BŒÀk|«cH€#³:¼F¾ÅN›sŽoLžXxÜá!æ§JTÎ0¯Pw&…ºV._CcŸGvÐsóxÌ2ÐîÈÜ{ô,NPÁ$Ô¢dCçÿë û½_+AXº¤ìºÐGúë›±e匧ljDÀ3Š"í—së—vh½ÄµºŒé(ùû’}{À÷E΋¥zLðϧ|¥NlÑÛÖúÎÎW¦Yü¯;Šr÷T€d ¶©8óý¾â…ý½‘¢3i"Ë>åAw@Ó¢4 z“à¾M™xñ®[¹OýI?uŒá+°Þ±øyÌ{Ò}Ý3}ö¼RÈú.†xü59ËY6uAKépñ V‹¶fvÑNrT§UV6‡ÓXL÷‘{ CÜkÑA¸%â'noÒ¹×Эžl"^ŸjÑX+Al[¨¯Õôeæe)r¥:Ö¼bY/vö÷UÐê~™ ŽEH#A ù(¿@Ááé[‘x‰6j:%L4#ñyWôöÙ퇫H5Þê½yõMåz&Î~h7ü½€¿ÏV?“ŸøB–{/Ë'Å!x”ezu[%(ˆÆß;jÔ¸õ±í<ŽÙš¶Ð ½%ïUâÃ>­mùÚÜ­å;qHèD½•¨yzî5'á¹&C/„,[W«¶­ëTcm1…Ë ®<˵­è—sKÀ ¡„µ[/š–eKa‡³R, ”=ùjVLå¿5lé&üŸ…ä3' 1è)mº¤¢Ê¸Û½ý‘ˆ€âÀ„ý¬Î›œô58+ý^R¦a°Dìε¦¡«ƒ¯YñبeUèë‹õªöDsáí&ÐäƒíÇàŠh<[‡–TÊ–²@:‘CWó6QAK?dÒ–¦¤'t§=϶³dk¤ey‹¨ÇY.ïˆ …—DW§‘„¯áSYrzÇô¦µ5.ÔÇæ¤O1,“PÝáÖrY“#Œ4DOи-û²8ûòF&àDÏ* ͸àÁăÑ—¶J·Ünmû Su:X¾VÐgðöè® V³0¾Ú3Ìÿ:ìQZè1Òe¿,p^+þ%rÜ5ãHŽeêËJgŽHézKúSÚh?–/´d^×RŠ °5‡¬Ì冨<ö>ÒiX•›í9X–//:²ë¬\ÓšÆî·h º¬±éáLo ‚©lrIK½ŒB§$\á¶ÐJ2/\0ñ·_ŸÙüѧB;=jdüR^ªÝd§ÀmK•™å¦²WVåÕ|p¥lŠõÈa4fÒ*;u²¹w8ž­Ç£ÕÁFø«¹Ñ%‰(˜qæ.aœö³9²¾ÑMÀå¹ °h<ÙøH@Ä3k¾ˆáÉ´í5YpÑá–Ör¹”Ž“•ݾ„“/»›@FÀ¸úèUÜ?UYaœÜâ\º¼¬p¬aUJU±«Í>{¯|¤J­í­‡¯ð²\fNÇ.­t úÀ•Ëbf²ÝˆÃwhá¿IÚ§ûAa‰/¬t T`ݦGÔÐ%}Pl¨p±Aë{›/lâ猪¹k—'+Òv ô&Ã,Á  w)꼕ª´Áé$ë>Y¨úB IWæ&Ζ:$e  …vdQzptØMüƒP:jb¬ äA Ρ#«[‡gO @øìÓ^¥®ÅÖ3"&8É$̶=ŸÖ¿G?Ó›àË™ü¿@Ÿ÷sWU³Uê£íþpº™rbqäÃÑ.µ€èéâœÁhÓ{›*|±cQ,±X‹@ýr.mÜ5H¢Äβé“+ú~†÷?|Í_sÚÛ3›G¤Dº%Ñ’oðexà§ ÖÚ0õS^ Øýk® ’É}®Œ*Åg¢Í3ˆ™:4âm6dÆ,ÆÅ*Äð·È™p¡±—¢ìP¤Eg¤+iÌm¢ÊÄ[B2» ‚ËcÂë#tŸñÌyŒ55‘ƒQ„=@¨1FŒð2†z€™!–å(ئB³ „°s@›Ûÿƒ’¾>•+Z£ƒ™g Ȫ p[϶Ñ#‚®þágK,z§ÖµN‚“X<ÚðG…ªjÈBl4à$éwdc ¬= N$|Oë¾4åP<û,6­ÐìT™®Û„bá†kŒ²¤º•†¾~7/z×tvó#_¾–ÿ´1)1L„5GÖ‹Í:Û¡ú|@{ ¥&õ°Ü±†ýÐ õ@l:=1ŠE—‹ SÚòÉ߉¾úggÀ¼nѰÍLÊ!k_õˆ ¬- -nÝBói©/Ü{D &ðŽ™¾LÕ~ð¤Ø…Vr—Ì)Y•Ï·:Ì'òÿƒÙre<«‰nyÜšÙSDu¥‚2GHÚ¨B¾Q½=ÃÚÔgzPÄ Ü_œßÙ[µÅºkö½‘®-‰FÆpfsKÆ¢x¶\v6u‹UBviþ³•’ò Mò›^šÄ%F±˜Óq+w oÅ>€ ¾ÝÊÝOÿ`}œöJZôÞã‘:£•èhyHOcFÞ"ÃxÓ¹ ËÞc= ›¡q^™»esM!€óžú³i¼ñ?M–®Åè0ÒÉ à¤‰:s °xwó JlžéQrv/(zle×Õ&dð²‹Añ.QìB"¿£ …M®mƒµ®á—82Ùí-õˆüŒÑ®¶N/ÚÒ¡[ptÿèC]S–›Ñ¯ -h|!¿ÜXi$RˆY-y|MreµmL#w_4Û&ÜõJté3L3¾®$¾R’Ýü¼œHè×ÌîJhLqMýšŒ§þ@>7cC}vÁ£°dÔˆ£ ›rÛâǤoa Tîs$—¥’ò~o^–1±D™ÀWV?Íèü'è‡Ìj‘ÛU5¨GkÈúGr.á\ç@nbÍQ\†Òùš„â\rWú*D¥Ê ÞØâ n­ä¥¿¼¢Ë&ØË–üýXPwc!¤ó0EtÑ­˜£[}Bs¹©U„¢”“,h‰3Þ9=»é½…s¶¤jm¤®9÷ÚŽ™†!mÃßFŽ%w‹ÌŠ Jöõs<Ïþ5µØ‚v6Wäl§P™gJ´æ™Id»ýé:LäB¥ã§Èÿ:Ѫ©ŽOƒ«Y§ÐGü³ÌO-r¾ïÁâgP¼D“à¶ók µ„½lëuSèÜ9Â:c­d¥?ƒ†æ¯ç,ªóZ–ÛM8ê”Euô½ŸèJ%×¶eNn–­ÖF½Ð‡…Î8T7öó`6âPcœ¤´•éÿä5Ñ\ƽ³«ùԂݺŠådzí|LkâT,ÔûïusîbÿOÓ“ØÑŠš^Ì%Ãtg/JÖ9À4ý6aí°þð4n;!¾4aVƉ[VÎNY¯6E$»AÔÌëè¡z÷?ݦ¡½·04 ™•êZ䥠ª\R5Ñc Q‰-Õ@)µNGy(N*÷±Ï¨eÚ•`n:ª9¬ÒžÇ©}“Ÿzö¸tTxfä,ˆ j3¼Šx'BÓé«Lä +<îäq^Êäg„a¶I~C'f|ð àY[‚MgWkD¬r£e›·Nƒ»'êÚgǘ]uH0/­þÐØSf Ë0)ƒ8[ÚÃHÀ¸‰¸­øÓæ"eíq¡9b—Uõƒy[ÿs~ÖxJ< &åä Û6ŽÒlÜÖ£” îY 9ë7œÕ 9U (Çð¿´HKâ8’«)J©.kökÐtÉÞç="UîÛÖ¾DÅémæœ.3EŽý¡¶G‚€‰ÚÊùY;)ä,Í¥×okË·.=WÅÑ?!^=ë¦ÏFߎ´¥ž9yœó/my»J;¡!é‰ Ó›kÁ¾ jcxÑãZŸÝYÔÜOL^¨‡øÃ(/h©YÆ–pJy» ?ÃnÙùCÜ­ãÑü,?Rú3-eŒµŒ?÷™’¤SÎJG[ ù³×ýË#icš$QtÅ@Îî`7#È¿áÉß_‘È»GYÑŽ5^‚†Xþ@FïøŠ-~ú"„H;¥‰LW#Eôw.£q}L"õr›ãzÝŸD„¥c•HDéZ^x~¬ÏÀ]íh²a¡´u`ÈóŽƒõû£K¢µI$m îIR«0›¬œ<ùýÅsÓê5PÉxÞy•)cú}+dh¾E¤ÝJòäë°{/±¿ï6(}ä—¬u)¥ÑonQs:Ó{‰ëü¼“¢q 5â>ñˆ~©=ÞäCõÆ æöèÐ+øãáAèöÒ0Í&(¼$ûÅÈ·sÍ÷Œ)I¥ýè§ t©:ãIXEÆúp)×&óç5ˆÄmZ»R¾âxŠ“§~ŽJ|CH¡Ã—“@‡6Ãóä,ôÈÓ=M¦G ù×€Ð<À'GØ’±Y&ªUØUpR°"ó…æ³šÝ@-J…áÌ€[Œt€!2\ÎÆlÎb+ìîÑqïæTkÀ%W-0§ Øúy²é¼û"fŸp¶PBÄh¤½„L0Mê¿´Ä>±¯8Ô„ë¸ 7諊à{†6mæX"CãLE犾¡[—оõØj_Dt³ÝÅVñ yÜdaoS¯ä Q²¨O …q89“½úIQ¶·º5Ö^4ahÑÖ¡X+o,;pÆ©uà7 §;F›6†¼)¥Á|ü…Óv(»ô mÍ7‘,µ7e$`8“®J˜¿˜íå–QõÛv÷@ˆDÇ;b›ôO¶T™WK¿~éÞ»ì1' Èm8úO‰‚³OÄ…ñÒ'Ä ¢xy:@hyÒ–Ì‹ø(:@NM’}~ݱ¯³Oñºj ˜•,´T@„ºhg Ý©ÃÝÕ?k¯kß°ˆ80TFê\Ð Ã'‚HŸÆ,V ÉßÒÄÅãû*48Ö¿*if¾h1Û’Ncɹûk¼AúxLÿ“þnt‹„^V ¤ ÁjÒCI¸I+w6pO']ÿMm…Ý,MºFƃWônGÜ?Öf0¯oìþ2ܳG`…à·«.„ÊòäæÝ¥Ž8é›ù!\J (ÁZ€0Åî“ b^Ò&¦lS0Ý4áHxlB-òâTV=Jˆ<áçtˆ¤ÇŽñ?KWK8šP9×¥9ÿëÿÝâ,Eòv?Å`áàv×à#g€¡ªâWubU¸üRÈiY^.c_à €¼fwí4ЇØ`}Å€fýœD®,þ÷u5è'ìQøÈrØä6E…!·ÑÃ]œ éu‰Ýv¾µA)K‘ΦÕãóD8ƒyôV˜¢>ª}*G/C*|’F±{DõŒ+t ýz rÞx¬t6½„rkVáÜwáΆr9öʆC‰Î(ÚÎxÄyŽ úHÎøð¡9Q6æŸ×íF"‰4s&ÿi9÷‰ÉiãÄUdnçj†®_?eëñ=M>Y'ù­c7v=5lx~ÖÅà08ÔÍN®¥DÏ–…÷5¶!ŠöǺ$‰;ƒyœµmRÍå …çt1Ò‡ßï=Ãi"ž¡×ß ÜÕø°ž</¢””‚\šCiÂü˜&wGwßµD1تŸ6¥ŒµÅR7îõÓŒàJD@Y“”ªù!± n5’Euä ûUçÕqm¯6:qrpéþ6ÇK¯d в>J4Î\PMÕhJ¸áJ¿R¦(“v§î•ZšPðùdÊV n–rƒ—þ ýÉ ?y¶vv7§”Ç¥4U¹Ì§ä]—̳ƒ’ß×75:Ä|¯ñ)zn$c]CAÒ«© #Ø0ž‘í—«»ãx`¨¾ãF¾A¯ù¶Ý,J‹¦^UTÏó™qWð¿ÂT¶æ±¾ëª§X,¸Lw`^kç¼t¥:¥,¼c“¬uÉ$ ÷éR b’5÷à~ú,þ¡P#ŽÔqWÔêʸWfq“œ,Ñiïšà}¦*YúM`ábU¡¬7“0¶Í¾/ñ*†g< wä{>wiØ«ÆÞ8Ìšõ¯¸ÿÔùˆÙØA@Ù×ãw…¸å Rq9Ë ã‹+”ï~q‚žÐ8·;/Äýü¦a*½È­þÅ ª \j5K8aïm®É—žN«ò++6é¡lÝ› òó‘T~¹7hz5ãºê“Ý× ëºTçØEÄ̓Ã7zuLM‡[/9KØbÑ¡yY_pQÕÈ”Q›–5ýÞF‘ BßÕʉÇ7¨Y2òЦN˜m35Š# ³á4_ÕÄw§¾ñ§!·xBÙ%ZÃX_Á'8Š©Õ<¯ÔÎ)ƒwË9¥ÍàßCL©LË ;ÑäGëxóå‚™”ã¢0ç©Ãúë‹#~cR¥üìüUqÝhG¦2Ⱥ–Sø*ÚâjyJ§ÅX”5î‡ E ȘßfCÆì`÷²;è6k>'„vóʲÏ6îÅ:ŒDÔýCå*Ž£üz˜p<%ËÄãUt"¦¡`d¢B1a§¹…å œªv¹ƒYîÑ *蟔Y—ë÷ ²'Mä‰ÿn§”åuhgõ‰¤cJOhÐB‘Ø×ñ~Çõó©bø„ìÞƒ³NÕg¸Èëª §Ûk—~ °UÆ”‡D½îéž)–~ƒʼTA¯¡íKϯ'_E†wÖàà„:z‡—šŽB›Qè™è«)“DÄœñB2€5³´î’¿³?RðµJíèE{D]A9y WUšÌ!ÅË'Õ‚Ëc>ì¡®ÑD2¹÷›ý®~;Ê9Ñœo#ÒBXݦòSL„62;=¥i ’ê–Šu,ð¹…¨Ìs^¥Ž*¬§‰|ÈĹIKâ•súûÙfhlû>@üãê[ì#z‹¡Ý « x®çÊï rZ¿n}¥ó³pbÇH)áÞ'—3©K¯O† ¼"÷÷÷WÌAK­Gÿh‚ëFŽYoÞÞ­(Êè%/{•ñ_ñšž›YXX3&È–O1{¾µ·ÅÕUãB¤í0ÆìXU E¦(ý››V>©ãË`GÍ$½°³Î':Ù°å\‚‘=TTÁ%àò™:=eÐOÄ<az"æ|:Âî¦Ñ_-Y. úÏü.¼~»å¨F–0ßßÕ{¤bu+Ôµv0|ÍE`¤ ö_ì$ηF„DWpn§8áátÝo¹¥Àòºˆ¨Fw¸=GÖk 78Ú5aRÕiùy]dZ®p¦V þêr £)æÎŠžÇžü ÜÏyÞ†–2uBQjL¥¥¸lÛÀ±’û4‘·ÍI>†7³ní_ú[ua5ö>",Iz»1<þ:GâYqWeoÃÑ1-Žn뜚P:/´L( Ð"6˜ÐŠÜ@vîÖÚŽ¯>ݸ™‹ïrvöÓô¥ öÃÙ ÌÅÈh«¸ |Tµó §ÓqÙl€ã«'ˆ°C/Ù’l¡%qÔ£¦Ä]Ê¢P.BŒ/Õ"¡Ì™÷Dc­8lÚ¤ø{‚{á"œ£;Ó?x°$lÑ’¨’…ÂDMÜæòÕ¨U2ZÉë4¢TJ\ºùkÞŠlà6i°jaƒ% Ÿ<Y`8PÄ0HZ õ¼”ƒa ›ãêh2?žþÛx¡aA‡c£M¼T ôÙ´ÁðŠàìBÕ‹8A"xpà)׸÷ÝØ[Œ@ÎÛ3ÖÄÜòlócå5Eè¨i×xk>í€î³„ºbµ|ògÍëƒúâe]2ß…R¯Ê0m4!øá lzVXœU¦mËXó~›2ôõˆ‹9)èxÄ÷¡ë¯êÔÂГ.åPqK û¬Wue1’|·©Ã­©à¶»Óý®ÍD~¸¹^¿ÓΊ’JØÑZÛ)>V=9 NÓ[E²·´RC´ˆ¶ê¼–3í!ŠêU®½Sk”¼^Ù"Â9;¸ôáŧÆ,žrñß™æ<Éq»ªT¬¡Iä–žðÃ+·ÔÊdþ{€4Hwûe$ÝW+a¯¼Í«¯¦Î|•Yˆ€ýŠeó£S¶ùØî) ¨—Ù6¢–Þu©Måqò(YƒphG7Ô-ªe^wœ¹0¹BZˆ~É-Òµ¼ ,vƲí϶÷î„'N;o¶ƒ `õ̧¶Ï®L(h:q•ކ-øâ¯œ-i­œä%5Á!ÉCY^‚¨Z¦¼(õ9Õ‹¹J滫7½¯ñà,å¿äïÿØÄ‘œu?oµIèO„°ö™M|ðʱ7˜YJþi´ÎS0¿Iæ`Îv²ÃT€sÝÉûI2@;’'^.× Û Ïž !|©1ÎîÑ.6ÿÁ: pD…Ü)…¶ðͨø*qÔTFMɳôI[-Zù¤‚‡ãÐÐØ>qþvÛVî ñòÅ ªÚ Njgi|‹dà{@¼’Ünï UؾI,}P澊'®jº:ü_ÒYz‚L³5¼}[í²‰÷pÆlEa!?Ö‚ÄÍ¥b1IVž²Ÿ ©v(¸¤<λÜ\Ñ£öõÉI\ãTxhþÜ=Ƭ÷ÚêöU¬väç AÑèÏ:Ò^˜ 6–EÄEL”¯m³f_Ý0ðéƒëPÅÆL¶-³Õ_@2×]]ͪG¤ÇøŠc ö³•ÂpõF¦¸‹AàíMñKëtVbW—Í Bàs5w)o§áýçIlð)-¢9èl¾,¤F°zþf”Ýæ-4Åi;hgÁ u`ô?n³”N­?@ðO¡ã8ÔOè6´„X¯?rŠí„j—ÀxfÃþ’üìÅ´‡ûžÒ²Àg©bA»:\³'£¾·‚š³sáÝ:.u%Áx ¹½é14Tü|$Û#ݽ“2,=ga'¥œN8ŽPöF¿°­Å¢§s¼ÎÐV‘KoÐÛWlŽ¿¢qppI­sC! OWÉLü.œ"1ŠI·ŽÙÅv=i2ÚÆ<ÓT}yJÙF쫦[W?™2©œ‡püÊ(ääâ7°ÔpÉíÏÅH ž†ÿëÉ_ßµJ¸Y/^ ¹¹ê—áÓÏð§e6!HÑ„|=º_WÜí¥ “G{Á™†.]N_ÔÊímö`Ê–žL'Ôà@ys¾qôèñ„Fp‡ ÿ:?ˆvêPOWnRãfø åã½g95Uâ¦è¶¡yŽ.º¿£ÇRõ¹ŽeLèáfWå²âHÇ«×AÀ×vSœˆk4+È0 Èæ¥ÔóåW_ØN"Skf\BÆåXåÝ»Xq†i1~ i—ßè´mNô†èŽ/2ŒPoé 8е&2õyÄxË4Š&ªõçêÐ9#R„Ø9îJæ^ü‘ĸ`Ì4A 뽨D1ßmÉJÉX÷¾X°øé,³/ËÆi—­(;0+Ðú÷îè;W‡ß5W•Ð,ËB\¥€g?Î Ò_àO{Íû"âéZn§.©îZœ¯•‚¿ï6õkÿ$Ó‹à4#Ãuoì "RëDчÉO; Ä4‹\ð?=ä$'Œ· †akþW®øND.Ÿ@°>æŒʉ>C9M!"€ûuªå§@·©µ,s?#*Å|cõ̼•Ö” æ RBx.=·±8‚µsLi²þ±ŒcÁ¸/öq®¶ Û[˜lgiHE>bAÂé–Î@I‰XÜhß.úÝ7ö‡7¸§NàЬq–Å­¬foãð„©ƒ¾Ð8âÆ{h½kŠøû?½¼Y6I»mØj‹”Õ­ÍE9Ìá¥Bþdxþù½Í‘¶íIbËÉÄl8L,Øb‰ã5I™ù<×®Ï_‰ÑA=+ø ´Š5àv.eäÚ‡BCïd¬\ï;5-ôßaýSß7ám½²[Vž_ËÊë C˜aß¿4sÀ“aÎ̹Ÿ2ÕºU¨ÃmóÝœ¬.|ø›·—/×JzöÄUwT”ݹç!𞘠ô';|þ†ƒ¤vg!“æ)~ )6n¶ yr9§µ@Ê Îø©œ;(Wzü sHpÐÿ$ó2üù»ðÙ€žEr@¬S<‡ Ëuýãr*\<÷oDr´x‚þ,½ÞÚµ;óÊžÓùDÑ»¾¹ZØ?Ä*U4Ãì©§>÷ófæ9|²ÓJ¾äîT9v*Á†dNS Mqv.ŸÝªF{Hå_ã¯l——O´U«|å€I³^,•8ÄýNNéÁú+Ûn½œø™L/Âsã=¬ctœ4\õ”(&Ó©åï,Ë£Âç†Ãt)K< áÉñ[Œ÷BÛ‘e³üœ_åšßà[r‚lT!wG*pz¦½ ¢tM€‹¨<ë«æ/+6²I<È7d¦w¦Ì-»ÆZî×”|B7¡g½çâå'DJ`hˆG«•Ú¬‡üü Éé ât£õVL+Ï mñÌ1†Š“²RÔnð~Iò€A¿²$ò>ó¹½c"9á×¥¾²ñ¬©)Ó[È–>>Æ3±2#­­³¢ÒÕu JXåzÀ4#GN¢Ðí“]½Ã8Îô5Þ]V»Y7sÚªhcê稆³çJ“¨F6âk±åê( $Òe/¤Á&CƒnÈfrìËÞ<’Æ.à§aè[ä³D'Ò¯¸râ„‚Û['ò%j$&·2%Z¯…>¿iôñýsÔñ„|Î`6ÅýóÄ=«òUóì}y‘³c’-@úî÷æW8éC@ÛWªM¹ÑÒÐñÕÆÐAÉ.MI¬ògBá;ÀÁ.6?DÀÌ5)'68¦g#©ä Œjü#a¢R’X"dÙC»ú´r$ë4 “•‹·&M˜ö˜‰I? ‰çè :Øy †l ÎLUôœ•®l>¢*1  ×CðcNx0LxB»ÇÅ’úí£—zÉ©©Áè^Úr5/ç&A`êÖ2g½qšdãnpÈâé?D»µ¬ÎT¼¨hL} ßò7Àc‘•Ì7R.©ö)wYL8˜2d-[í ?^õê í±X‰Ì,úÚO,a][œ”Yýxºd²þq)ÄTüâÿg4‚MÔ±ÇiÑÿq'„•} °!céOC‰íPEõ¦{à^±AÏ{bTÍ99QÆÞS“Np+:¶ŠQRÐwð&NE.i,þ˜bšOìÓc%=}UýM!­v¶·,ÓêUm§»êL 5­€ŒÒ]šu¤9~øÄ Ê8hßÚ~\ÆÃ_’2³h ßàùE G8Nci)«QÛ“|Ø‘›.8 8 IÔK%clAËç4NÄáA†Ì½¯j ]'%”’iå>Y{ÈöLChâȧ&»Ò·£.TT[Ñ&®Ëå>M¤õÉÈ¥ý¦¾ 'vä }´bÁ¥DÜ:†˜”9:{>äá#q¥È0:°„x¤tU¦u68a¸n £Ö¡¸ PåO\OÕÑ„lóµs¤¹@*øóûö˜V sê!¾ƒØúQXåtßÃhó¦}%‡Õ]ÈH‰<àgB bîë‚çé°[Ó²~²ÜrøÈǶ>Åöƒ ›å‘Nï‘âx÷ÝÇ’ß–AÊ`E…ÞOÚû-¶a7ðžØ#úš&î’<ínõ †c'®•™|ð“¥Þ0Ôê+“#0¼Oxø¼ÞÉ– \²NŸ‰I8n¥Ê‰ ÞMzù ã ºT¬€SeâQønÂ\ ªp¬ËThµ“bob#'ŸàÇž*WÇlO «ÂAxgQ^˜d¡PÊ{•o¦›uvÜ5œÞl-ßS'7Ã¥Ö6ð˸±ô’ Üó%#Ñv«ÑNÚbù cÌzœ]Ž'ø½£H€B]~Gí~Ï„Z…Þ¼½ r§É2%ñq›k±•›¾@_ñ…Iríi$u Ú¡‚®{J vIßi`€[OɆ÷§»”é§3®¸¯l1×J[½·qðˆ¨BkMîÓÙI=š©°ËOwP£ãmÇm<›=vó4¹6{e8â®"©t`þ}žB…‘kÁø(~çØçé:ÄúÒÎë׬`ˆ[ŠBM„àöÁÍME%˜hv½‘@&5ÝÏÁ¨Lfá3! GÝK†iMMˆkê´0v¥ ¡ú¥:5>@÷~¿á­L°Æ"аc^ýÅ¡ñýsƒQKÆ {uŠË±"ãöNÉ»”I„Á,™CVp6>M)¢Åÿ0Ìï@¦wl3y-z¾¦DÆ :•UÄß=ýXø•R^­*¢^àÈ‚ˆû?]?ûIc«‘vS#&€:ºß Tx²l7õsÿ N=¸§eA‹Ž4ž¾e¬¶Éc7ç‹45v æîPIÙq:Ü»g z>R·v¸± DX˜×(Â×g¨#ž²Ê=„Žôx)1ýVºÖ œ·†&éÔ.Ï3sƒ¥D0zlªHd´wãþnÐý•ÊË‚©åì~ôó+Ø´µ** ð¬dåàó-¤hGä p…æ—öHÍöÂèT ¿æÍ®Ä¨ìðÇ”(û¥ŠØ vClÎÓ,Ó´û\ܶ›†{ÖWF±gÇ3Æm%×t¹ÉÄKþ%¾#·ˆSäbkïàÔ>\Æm‰¥+ë}gøáx+ð3w'çZˆ…³Õ®nßÕûÀ&¿ Ú ÈŒŠÍ%™”´D Á™ŠŸù)@_,m’Œqôiv¬» €õy¹€Ãÿ9¢J_ÎÜÏ󣎞¡á GwXaóËô÷n´Ð€Ú¾šÃ ¦&Bð´ ¥ŸÒÒ;näÏ7á,ªý’ ·}.³¢ƒìÑùC%áп~ÏœƒÉ§b|¿¡  þ:"â?gÂz°~”s6ApéÑZu€ZƒßÛ{…ˆ²hk`Ù¤ñY*mÝ™ãÓ©áæÔ3}—2|´•õ]‰¯‡Y-Aæ«ÐV¾—°=Rþøl©HÝ µwÌA@ŠfsP>»/h "h'MRç®q׊äY“ø.n‡¿5þý‡¥ÂÂÉî4žd¤CƒpC ï¿!§NÕßЕŸ„!Y!f?ß,E‡•o÷ƒ\¥äD¦Žçìµmñ£Ï)Ìíb§Â†9"Œ¨(rž¶¬¥“²5Sótïu™m/5¸ +œu9éÄbW­«J1yŠø ;ø×¥Ë‹ŽÑ±J2DÕIEfN0)H^¸\¦3‹”G—&£eBï¦S¢!©¹ ¿>ñæ­~I§¾åe !®6–ü3¿ì‚yº¾«A Ïî£ÑŠ|â?;Q¯Y5*†\Ý>tÃÕzX/-mi:×m²jg1|õ¨#sÈC ë§QP¼û³‹¼¼âSNBµOëJQ.[Øâ §«9PÅ&ƒèà{Öþ® ¤£JJÊ Ž©¾—Ão¿¢4M=°âN¨Ö‰ª±¦€› qÖ8!BµÀ‡´$ᙲÔâw¹z¥ºWŒ„9¦"‰C*$Í㛥ÉVNMn Ö¬il«în&%°tU.¸²ˆ†ƒÒé–µ ½ô‰O“"Ò-"ÿØVg\Ô⹌Η)ž%7Ôô‡ÛOw5"f¿|ÿ÷”;žá¹ ”v-ÆAõÅ»ÜíZb»¤ÑÅ­°š§Á Hêbþb×Àlã5FL熩 uL?öö—2¸8%­lc–#¨®8å䚘ë—!ƒ„ÒÐþ’0Ô·†§²Ý¥¶ùqbEƒ"v}C A®FMÕý_©N€äŸTTÛ£g0Âá¥Óп;[Æqƒû æ®çÒÌz°+æ5\ ®Õ«·E´|RV–q«ø‘ÄGªk`@7`·I;lHô¾ m6q1Øa€-‰¢ËÀ` ¹h1Ç+L,LmV¬ê3fHn{¥µ¿D6^±uÂDHkc³ö< NÔ/ìZŒã¤A…¨öˆë·$¾vZÓr?ìHÚHÅ—ËE*œf!? ]À¨Ý;)²½TìºÙ=ÞzŽm=µPÊ ³É~–»áêz’Ï<ÿY?ÒU>«A€±küç¹D›d(ìüÕ tjEdÁ¼Â· š¥À¤H؉7‚YÎëhIK äŠ7ösÎGƒF}:e÷ …”e/’“šÙsh¢NlîJà2ÖÂK.@w®í†YAµ´•Æ%‹¿Lz4>ñ¡µõÕÌþ†™­ð!©qø¶¢#gQ¹~.5tÆF~ÐȬ z2šûŽÔÃy ·[ÂA÷õ?r¤ÂqÕ:d†[¤ ]š¸‰÷ˆÑ£‚‰.˜µ‘P—Xš0ÿ˜aݽ~’/I˜PÖ´·³Œ²Û™ü_Œ™J4o4·Èh×üwËiÔ_Ór6y+n—³,¦õÝîzÙ{n"rÚ¢I¥I³þ!£°_‚ØÊx à9pàôuILlZ‰®{ó˜òÍÌÌ´!Š%ªpߌ$'{0ÔñúÓ°>º˜j=™k¬€ÒUâv8eÛ¹‘6c¡®|ý|g)¹`“¢Â·÷1áÑEßÃìDgä^ãJ¶¤ËÑ­óÙVÞéÆ ÎN°cÒ#ÿèÐ@\ËÒu?¤ÓANh’,±ô.Ÿp¢øƒ¨1·ƒÒN~º~² ˜ÏÖr¸°&Í­ ëdŒ‰•†rEj×8tÒ{éGùž…Na'H€ÖITÌÇ ñ’c’¤flU|¸hfÍÊÂ4#Œ•qû°–l\ò„¥dZÞ¥i·_ÿO{ÅÞúÐ.B¯²]ô š.+ÔCI^ö(' ïîQk&bºt]-מUòl¤;Žž0‡áØs¦šká߇´]þ¿+ ä ðÆúèU"4`ÅLÝí ÷êÌÔ^ ;U5–2µÀTù¿ ×áZû&£5Å(„‡©Æzß$g¹º–å7 ŒSŸ³š´!³ ~òçeãHÖ$:½¢(¬¯DNlC·/ËEcutUKGêŸP‹R(‡e<ÎE‰ ºÈÖJ¨|<”¶¡¸+°ö†xëì·a¹£×"½‘'¼L©"½Ï~xÐ|¦x3¾|ür% d¥Tñˆfš ù4ÜŒÎüqÂñbçC:Y ó!b…P'*Œæ^,`§ Ñª4¯2s¨DpñÐ(T­PªƒZ„–€c{&€Ü£ÔÌ÷Orá>?ëÞŸÊ‚0±s Ã3ë#Éb>2!“æDGJ ü”³2<î ªmçュÏÉ‘$S;v:J ¯yˆFâ‘Ð_¢H¬ãî`‡=!gnÅ»LiA<Ø4þï©G ( ¸|ë,E}t‡I0É]Oé9aâê·ÈåÎêÀ“‰RXýxGâ4ˆYMª‰]?èÓ×5ßi˜ùÓsô‡3‹ÎÄí¶¶ûí?#Z|`‡†„à¶{šd°Õxñ³U°œXû¿Ò§åŽDë£Á5âš#¬ª<›%ºxD&`3Wyá»^fA‡yQqCôÏÆ¨Ñ7¡4BúÔmù[ÉïN0£)ÈD¡Æ[RÊþK´X¿€»à<]ÓyÒmÏîË?+ g¯ ץƵ†¶Z5GTƒ‰¼›tµÉo59Ÿ9Y|vRŠPJUE¸IZ†dDÒºX¡‚á”{®k ‰hÎh?ëêHËkq ª„̇‘ë”8*Vê²µ7ÆÌ›½Å$ývÊ€[sÅ‹tMbLëéðÌÎÜl|_h­..7ª  î3 H}3c Á„>fèÍËgS›îH5«¹ˆ¿³J"•Ü/¤%Ìו#Ÿ2uüKˆbüfÔdMNú¼™W¶ßò2œ&wKÊ Ã‡ò_w¡Ù›c@æ]+xúyª÷Pº‡‚‡DÙ^9gÝŠmåÍqŠMÎ×DjÞqöm h­ÍAÉÚ¶|†,Ç7kCxÇ:/{à P·æ<ô‹‰ R\¯H`Em« ¦­á¦’4©9ìfüs‡µtzþdõ>O˼#o.J¾s½ëBùú§¾†x´÷f¢Þ~Ñ‰Ê ÜZ½lU’H¥åO;Å‹g Ÿ©T’_4PSøßÕçöÂxSÒÜpMC ’Ëćú1ø"Hs„„orÖ§Òžà>{–Ô‚ >¬ÕÞ:rÔÏꀆæùìYƒ^œéÞIë§•Å@µÉ*ÈÁ8ܲÎím‹Õ´èþf.~¾à>…´Æ@9±ÞÛ'){*è)$vžX±ØªiYEÛž]ØÅJp²_óóЗæ–$;ƒŠ6—smI£¿Ð5Aiµ{ÿ™Ÿ£ˆÐbÓºÒpÇg»/Z âz·“¯‘rȱ9˜1Œ?+ê9¸ö”!¿ÅþX¯3KJX~y«mŠh­$q C=j-òüRè¹ýp"*øˆ×÷^§…4IZ|JpÝÒPˆŠ'#Òo-Ôa€€hx_yÚ]z»Ðà \ó ¨ÉaGhGžVYdîñü‹ZCΘm½à‰ãI²9·»òâj•™BÛ(wÎÈåÌ¿E„RÉïÒÅÒ†)½SÛˆR\Q®&òØ=±£Ña³æL6„oÚ"ÍY9,_çx…S–ˆòMQÏK€ˆ Xëæÿ&a-ìÖvïf]º@þ5¢…Êo¡i¿VñÂf.øv©0Êš"aÎ`Îöžçø‡±OÄBøç¥‡Ð>¯ÍLŒ»Œn0Ñi„Ú…Jc‹­Ú<Ò?N»¢— u{8ANy:v9X`ôخ֦}RdšÙß?ÒºjLD‰'YÀ³oå ºôS´H•€ðS’ÄèÖÂ’@-·À ™KÉÌÌT m(ÁzA‹J¢] Z§³ùÈp¦AÀdÖ¤ÐQ›ÃiVÚ²¯±õÐ G¦œ5Q´9žw7·¡É9®Šw¢ø±a –´Â•4åª,X'~úý°ÂÍ)wXí£L~ÚñVbÿÐghC5;ñÄØ>JM(v¸ÀA¦ó¹È$-Ë¥â»2*úr‚Œ;µÅ ¤)¨h²¢QTHÌÌvnì/ ›Št´Äç3¡Iç-†ó^öÞ|ÖA0SÖÈYüm¾cæ˜Y÷`xB¨WÁfÀi*£WM5®x“¹(ÿ*1„ˆÎOšBs3Òv«mÙÑ¥5¼¡¬(Ò­â·|gA¹g‹ŽJEMQwü­&¯oPþ¥ä\h·'gò &SJÙèÑáUÖz§œÙ_@´ÀÕ#kJ¥Ä/¾ƒá²6›²þ ÊæŸ­»»#êÓ<õøJæí…B“£ŸŸklV2„`„Ø Òñä¶2pŽûV3Œjw¯ðv§èû œ3– ÅXµú,ÎØ1ÅK#}íÕŽé–á·eyÊFqLRPØJãtïêÁIÒÔ³Bfã.™I!úûFà•Vܯ,esÚ€]búJ ±SûÅÓöNq.£ÎU€‡T lÎK–dÊ '-¹^G>LCYÚ0S˜„•s™ ÷jHb …F“kCÐ~¢èîÃÀò˜Ç‰bGUm}[1=p1ÌK¨ú臲'×¾¿ÚǺÀ›Ð²0x BE¿ó0Ù'F—ã %D–zl艆xìjÆ£ÐBt¤Ôd¯ 7ïò"p,rb y§sxlÏ ñ‚ ‚Ùq3нûÛ¨.1Ç|E¢‡¨ñ«+®½Ç^ÐÊ¡Á`-l—J¬1‡0©ÌèÞ®Ž¦á®D0¾ž>‹ÚÖïaˆì¤.8ÏKÊa'áñߊ¿Ž Óž•‚îƒâM¬›3ÆüPV,fÓ©þ«1‰¾•¢|A†2wKÂùÑcÝDçô¡A¹ïáG”n\,ˆ/[;)¥¸õ9(øzfžªPÈqÌ|F.jdíž©µÅ·-ƒ2Èû»'"ˆó_q» ˜5çƒbæµ>"€_…}z­–¤ƒòÓUåSúŽv'\§}}©IqO ljˆЏ*Ž]܈ã~Ÿ8u)‚Z¹>ÃóëÀŠ÷-­–¬tòa|ÍRÇk 5³—‘""Yãâ¿•`üƒ\š?U²E—òrÿbËP^ŸŒÃm ï¡[ù¢€ô ºZ KN*»ˆ=U†‡»Æ/2°€üD¦Eª3’ K°¯; ¸§‡•ƒB¤e¶iÚèß&ìN”¹4†0ÉÛ§ô0u\P¾Œ‹œ»xˆ-t ‡Á¬T2—ökqóè¥IM°éD™.(Ò%tf­·½«9s|iýã›i‹ «È;¾ÎhÂí³d7ŒÊó¶€Qcx '̦«ž’¼¡Uô3l>o ƕѽ¿“—™›¼ý q…+ G €†u9Ÿˆl‡[·‘ ±:ptu½Æ 7†Òžxg¬S´Í mÕ] º9I:þ/r5ÿÕš˜ÐB±¤7Ù‘p¥ÅÕNŠ'5›ƒ§áüÎOíÚÎJÜ.¦§X,Î*q+\õ–÷Ì9,6OËð}™°= þ“Ñ‘‹w359ƒ]2,kM]ª„ø+òô[;êóx¥@º/€\ãüPò/NºYüT›ãEó´cz2b„›åÑ1&».UnE_NC¯3¦,ŸU.3ú*ïc‚Øã&ÂqPT1áPF dÙ“h 4ºd0ò·ø3Óøªž%Bx…Ò)Ý„ð•*Š0±êÁŸx¹­˜‡á~FÄ‚C¶!¤%¡<ªÃ]jh*æÒcB7±ÒÕ3»©0»ûoÐ>ˆ%Ö6ÝÈÄ™öþ9š®†êôpð£âd£‰j:")ö'‰s7e|Á^9¢š{©å¹Ä”f‡ ¾ÎÁ¡œ(ŽðáC7b{jL0ªcYò¶¥>¦Pù€º»Ÿq ÓJeÞéŽÎc›iŸ\m h(a0_óïÎ* ß2ÊsJh怃NÿLÂ+LéÀפ”ä#™»ˆùÀFì|7åã‡óš‹.oîàÁŠ0Ëa‡z¯Øø†¡úà”šÍ  ir1t·è‘ŠØUäóz0\TQ’µA†Jèï`5) šüÆœD™±¶>%Ÿ¯"¶&ö}iÄùȱì³#ÕÝù"((ñ£AŸû'˜¦L)zÖ&×ðšžp|¤Ó)§³(6ÈC©œIM .d‘ÖEU‹Ø¡Ûc'>Œ±œ¥`øi,U÷Jg"Çh!4U-ð:ˆ%àPŸ¸„ÙÍŒ¯÷º ò¨kòcdÔœÞäÁSå³½ÍuO’nA?;Q_FÔfe–G½a¹õ‰ÀÙü,Ç0킉(&qšg1ÜŒ!nöÔƒL»žÎ4¨Nûª}uÌQ30Ù1Sþ¬{Yñs2J¾I§?ðÐÇ›šOFåÕòâIGL©Aóv¯ýœ‡9:™tàÈEiúăمd;Nw2šE°|Òæ³Ã‘è« ,HÑ*GŽ4ow^ž?3UÑp´ocvøHDÇË^2úwdPk£Gt¨œ’€üÅ<ð[Òò"”´ISUú‘/2HG›œ­„uYáL¦wD«föp¿@ÎE´¹]j|šPtúaây˜Á%yè=ór °Ùªhlà´¢…-½ØG4*9Éi€”U[Û^@û¬ÄÔ…^Ää‰ôIóÖkØV½ã°R4s° !§³cn”j!Ó‘yÁ[.tˆâªéhÊËKPgjBåsÄËITíšÖy=hµ,ö†\̶!WW…ãXã–’ï‡[ËÈ«F­Ý!ë •±]!;†ŒGš¢+l BhYr&ä_ºöï}P ƒ¤¸ÀÕ†²ÊiÆU2V%Œ|á÷—rÿµÄD<°xÆ(v?XÖ´ ´Ë7*Éý„uª1¦­ZDJw‘y¬Úb´g2êÀÊþK¥ÓQŠ›¤“*´UŠ-21ÛêJ ÂnÈz-11MñX²e+8Jb&¼óåîÂ%M-;LκËÓ7÷ GŸ×#¡•uQî2põ|›ÒBçì~ù¹ãL–Ç‘ÃQ¥äâËåËkéR'þƒçoD‰>±uê˹̂Ñ€Lpòe -dÊ hÛÝòVšË¨Ôa\ÌŠ« „óeÊWf¦;ÁæÓ¾ýÏ‹ÔAp>’zߢ)‹Z–TqWàq-sb{‹<½ÆÔsÀS÷%Óf/<$šô 1?ĆÈXè8îE¡r«öpÿÄBf pý€Føhããw¤Êhʼn9J¹ãke¼ø Ð>OÛãÍRM¹£ÛI–TØKBò𜲠àx/U¥*…6œ“ä–(é°”uO!0£¨›–»ØàöïÍŽ–Àø"ÝÈ(`Š—qa[yVë´qV>)DÑè󵟰`!ÑŒ‘Ð œ6Ïi¤/ïG=0´¡®ýÞ%Ñj¿Y]Ç]2Sw©£‘»É ƒà=yæ"ªšW‚ó·2¨ÛTæsÝéÇÑ–à xz]o8œ}|P/¢±!C=)¹iWì«óH-UA›XÊÐ_ÃÞdh×T-ê •;Å w)ëq¦?«?ÈY¾/LªMÁ+íB/{qÍиi`Ñx­rÔãfO}VIÎCYÒÚš~´jåÕ}¶-Àw÷Â@«Šd&0ÿïûàüd4Lþ[æ—;*Øÿ¢A}²Ó–³gcÅTHåj¸œJFâî±ÂãAŸ¢®î0cW®k²ƒAÆôqíøX!ÿ‚õwC„ýµàýdBv…I°ÊJÜÝQ³E![áö,Ià?38±ú™êª§Sñ½"¿jý`˜`(°¶ü’K½¹ö–…Ô$Ýlj¬©”§à+vMû¶ÚFÄʬ!òÔ ”e{Ÿ³Èœ,À>‘;L†µ±µ_ó/J#î¦s懛'Þ,‹[ŒÖl÷4‰Ô€Ãa¹È>Y?”ÆF—„Š6Ô»€³q_>€¤Vr„öM'8:®×OJ¾‰—ñ0]{:5ÃW ‘‡ïXUè¾cB™*¢hì:Ûôk<*pìßÜÎ)j'wdT¡9àJI®ÍTc†Ã¨Æ œî4GFÄ…ìÄðIÁʃg§è˜ÙÐ2Çò{H”ÖCvÌïË)Íž5+-Ë;ÛFŇmLÖgtIð'uüümÍ5¹$&Ǭ~b=L§´‰žË.bçkSz!Wö¦AÆQàx okQe^¤ßñ±ç/6M·U ïð©ˆêt ] “[z¥<#[4ù:^™p#)QÏ û×çTWxĉ“”Ýú³u$S˜Q?^&-‘l§£ê'rF=~-pBÌ}ÏßÌxçÿBðÙ–wœZLSHæE ÄÓÊ}5‚Æ}ŒÊ+òH;ÂÊà\*“äçMøÃ2œŠj¯g’©´wgõdn†Ò6øÊi'ù›%1WÏà v(ta4ZÕì~FÞ‚6j²wÁŠÕ¸Þ¿À>íWß²£ Yœžq¢Á6ç¼ÿ>æ³°¼ÅR Ÿ|“7<ĵ–EW ~„X[ê=×^=Ë>˜â°û\Ç*Ž®$G2ÍÖ&ØŠÓŒ_7VN'§Pù<ìÔ`ß TWûvíQOmOÔœ:û›ˆ®{ñúòµnYzWÆ1×ÚFB¡Ëqë§¾hfý 3IŠaßîUg´¼ÒQÏ3=J”ƒ `†«W¹ãúcsõ•€T{xÖMgËí–#§VÕaïB„÷Ü0Š&,]'U« +ÀB’@k$ø-_¶äåõ×ÓxI«ÐóÑ.Eìß Cò^f²j ²Mv’ÆŸ9æ ˜€€¥ÈïL•¦+UÜÔÅt æ¹úÐA¥WêóÙW ¦Øa™+ÕF)Øï£Áè÷„Þ8V9Á™«g«­ÊÅ“wþèKV]¼†J£-ž·/ïîR¤8RtÄ6GßRÀÀÃ]ÔOV`jÇ:#ò3ÿ òL¯/s óÐb;PÏBÜ1²?ê0¯áÆlÓ±"¡ef#ĤÏ0¾“ÎD”«Õc1Æä‰¡æÀFÎÈñkúÞœä*bu~÷Ns›0¾cMÃtó”X‘ÏÒ…3[³ "|ØšˆÜä{(j‹>;ªî_)<¶ZqS†œCÚš¸£¬°ëu{5áðZ(ñËÒdÔ(À…-XbZ—fr3V3&ïÒ¶ ˆv´lƒ)i´y³…šÀDtÜjYDø F;ð œQm T‚`Âɯ”þ=Å7€>‘FÖi^åå‘Â[vPU©S:er—víïf‡&WpmUG‰Sº'°ñ%æÅŸŸ1"„‹¬¿GJÐgôÁÆ}f1”ë%9}™RIÞ©õa¬0ƒÆÒu—ÁT ꆛÓ*qV#XÛŽMvË0ʵ¢Û­CÓʪòV¸í×Ì÷ä¨Q”¦.˜!üR_)EÿN >ñÓûþ¶ùbb@P‘¤18ŽAyAÚÞCñÒ 6rÇÁåqD¡ðsÇQ©Ô7fß{.•£°‚ Ò„(ñ{‡1YrÔ[üûc¼£=èjµºŸ/ ˆQ l‰P7 M*>’š¦GJLÑ÷»¹U…×­Í ;ÍÄër¹ö ;"íünÄ=“¸{}|ßdFìƒÁØ`]>“¼éŒ«¿Òi®•™BnS+ÖtEeJF^bëžMP™.h¦—ØL¨B>ÓÕZs‘Š”TËèY«kÄj šÆÓ-f›Ç)ÄW|ËøÕ±j?/Ïli0†]xÊ9 µj?½ˆxõveÄyôJɢϙëJÎÃt ÓS¸o:†s®#ulßÈ&e*ƒhòŠ_¤±áòHq/çî¿ðóÜp¡ Í/??ûj³„µÿøµz)ŠŠ>ÜtPx¹3€ò‰â•¾!ˆW⪱¶´ýU¤/ßËàAü”éC†f™h¶WºÆx¬ïøœ¸í€@"lÏTT¸DÒÙùÍ ð ÕZÀ¦kro’* ð€§ãPDNŸ±HŸrŒ “µïÿ#G;Q‡þRg*¥m¨¢Ñ»÷£¢"KôæîTßg›|Ú¬t–î0úåtÊïÃ%~< ,YN×(Ùà€¡YÑîM¸è͵/²Ä*táëY)ËbDºüýS MH–3"×ÈCJoºÅ6ñÜÕΨ£ÄTß®}ص°PýØ¿@Xk‘óžÆb%Uõßdý縢ïEntl"š]ù…_æÅ&]kûìÇ{…ÈσMÆüáqˆ×é/¹.ò1f«9~õi+8(()Cq|pœ]¹ëƒa/9T \f€åë8éÄüüËg|Ô ý æVªÉ •®š#EäUFv9ª ¯6—¾ þ•–¸Ž ­*¾î »î F5Åp/¦À­½e,¤€½¦‚{K†xÁ’9UÜièÓzÒ ZµÐ¬KÉ8Ô®Ûâ‰s®½AÑÔANsö›lð~€éÅ]³?X8‡<ñyŠÙ=LÞ¿Gqi2Ý2^5Rµ?,ÎAa¥Øã%êŠ Òmijÿ)9Ôþè´»ó­l)ôY™œ›9ã¢ß ÚY0ŒªP¯uS%§–În¯ œèpØ“ìþ~1êÔj‹McFDMÎ{ôh°DÆ…_øâÌúêˆvåi ƒFL@…‚›Í>Iôæ÷¶fx•}ÜX„Ï·£¢³ºæÖ ÖÛK3nD¿šê‹¾fs\5¼Ó_ Çøp+Ü$Âúèß:­æÁ ?Ï1^9 Qă ]W°¼cmÎVµÍö²‹5ä¯NÉËçÿÃtƒBãŒôf ¦¬‘‡ˆ-â">Ù™\_£p}ÉlX£$è:µèM=cÊÿ6è€Õ<౸ Ô¡Æ`I˜j4|áDŸöùœá% £»Rð’œð«¥ÂÑœ^;Ê~ñ’EâÌ –­èïÒ† Ûq›0 ño•ô°Z![ „ ‚Îö®ÂðG‚}¼·½™¹/þñ­îñÆ}`„de¹ÁÓQL®óŽogô^õ4RÐ{µ³Xø 9¬8¨l˜ùFÍŸ1 a¾PÐ?«0:éÞXéã>ð*1 µ½|Èf’ÆJ).=‚ŽšZðº”f*½¬6V¢FI«ü SS½»â0þBeÍø¶½N âµQˆ•ßQßæ3ÄÑ]û…@/HcÈÆŽˆœ"ýZ)SÅ䯥“Â?aV{Ô¢ac¯;ŒÑpIøICŸ-W©Ê/ê´ŽAhvf5_=ö¦•=`áQ’'Ü¿gZ QÌðÀ¾zxí™_BÛ°½³„#µ®“é³¾5êÇ7ÂÌÖÛÌX‹D ðV%µìN“Õ–ƒ¿*M\iyŒ3T=`³òÆäÿ;é×z9^°se>årÔ©sŽ[È¿K@¶û-„oæSØ?B¥™Å‰xâÞáûQºÝ[]›P£AÙ©´ÿcÅðfåº>ø;á;N„”³sÒ k^ˆµŸìE±¿WJÅ›ŽÄÉ;—½ð¾‰PƒV[ ãwă²ý5Þ#euÓ’Ê’';iÎ'hg|¼ÞUËÓ Ž0 Jéšã†[}ÞàåÁ"Õoæ†ð_¬F~ ¡[•Y×”2s©b– I)ˆ!½%Òë*=Ü7¶W$° †Lòß—9Afº'Q³ ò¨Gº6äË-Ž|ÞÑ&´ÕÈàœÃgá?ÕI7}6㣈cXT¿W™Á¼®üÏœq›Âr ýóâ±ñ?_&îh ÒÜÊôW‡Z‹™Ü‹›ã9«—Ï©µï-P5–«À ]š½fcøÌê3òoÛ¶Ä"^+™¦»·þ_¯µ‰%9œcQ—8íÿ²jˆ;½šizÛÇ‹+Òû8G¶€ÆÓU…yÐZ ¨Iü((…ŠÕ+6›§çÎêâÆwÍ6ú½¿Ú(Å y—vТ'b·3Ñ?QJ7æ)ŠàýöõC–!}u”¿_ÕLŠ=,NR&à“p*=Zå,uñdLÎiÉòs¹ÚYyZ1AÉ–óWæxÖÍoñptyÙÒÜ#DD¾å%÷ ãr"ïqmÝȵ;öÊÖ·™ów÷-â½¾;ØAÐáËÈýxš¬wUmTK Å%áÍ׆ØÂv¦ü¹~QÊààÜ)‰žcÛ¾ƒúšHÐ^Ô ÖõpÂ1DÐ-º„¶àÖ:sqºìi÷žd-r‚Í6‡WOä¿Àóø´:sÅúPÙ˜æÇ½‚¯0€ÚÄwdšû˜+?E&¸Äb³ L<‹+|"u«»4õMçCžR~[ÇUo¡;oìú„i“¥Ðù+^ngȘû(ì 5ör±YÙ^Ä¡ôAŠ´ìÑÃt7$½?Žئ"‹ià‡PchÞXùâEŒg‚ˆ…´Ð!ÀÏåfo“?¾Ö "•b¹íá'`é퇜LfÄi |jL §®rlŒ95“wnNdÌÀs®ŠËôç×Û'iR5UâœL4z’Rxs5ÚS8G2cÙ"²¥Š™±þØÐ¡©ØªO"ŠJΊAqî2]€£-’…±~Ü4‰N4TNrÎ'-îÍk’MÕùz¦´b_²¬J$ûµÒ $÷Íå•õñI°½Êá Q%„+¡á 0æeO{]uÒºþ“XÖ—3†=)ô ‰ >Û§3ˆ•Ìn¿ÃãøÔi¾¹ŒÂJ#ûö£1ëîðVò[6Å·¸ ÜR»Šx#4ãÐêeT¸×­k]¦qls8 ³‹ ­´ŒG~çòz–Ò"­ÖLEƒd"à×g £‹ÝÂO»ý*,û‘;;\»•銨\SrÎõ·¼#ÎÆ©?U¬Ü%Ú])^Èf| =ì-œœcŠ8¯Y8 Þì_ÿÉþ"»±ÀË{ ÌʈÙ:º­TnY5¼¢ wå›ó½Ôjä¸Ë(tsq*%74ÇazºvþpC<úw”]ÜßøÍ>™Í;É»ØY®_dvM´wưéi»×ŽA‚1,væxÜ­ÅÆwˆÜYhô7\J!Ïøy¬ ÝŒ*æË <ž€¡²L—ßVúò>¥·²&¥NQelÆ«'¨òʲL âÞ9꘰û*@¿—Á®}Ä`Ð8gz°Ýê™,Cç™ÒdÒùø-Í5geJ9!˜G»°Äor¾–Ö½õ¹_<Ém¿Áƒˆ¬(Ê”-†íÍðáƒP¨Ðþa¸kà«<"?0hðö¶rýð¸Ã—ùA‚;}»DJøü—†ôÀÁä:χñ]>¾±[\jÖ©’*âºÈÆß šÀ¶Î=×L’â«2XvÑ€KP7‹¤L7Þ4ä?†Ú{îáZµÇùv çÑÆ:åvrè ¨ƒ^¨a¦¨· µüìðxßž˜ÔȈÿ¾gÔ礘È{/È¥Wøm Z;ø_-'1œQcÅ(k…å±ÍBÕ¿žÝÍê ­[4h…¼™–8+Uå”IJ/œ¯øh«Õak›cnHô” W[ÔUÉÒí§Ñ[õ6®åÓÃâ{層Ÿ¿äàN.ÓØ[’ßÙ‚Ô6{Šã‰‹ÐÒhm8ºiÌ|•·QU…L¬{3¡OãN¾R~gU‚ä[ÄÏWP³p¾A´ ?Yð:þ}Â?.ΰ¤á¿—õ|³\gyœWÓu]ê¥-€<ÒЮ/©’6°£“@ý¯ ×}âO.xõìï`2¨¯í”Äë 5»û¿Ü¡côä MÉéåÆJovdb ƒ<>ÏOî«k* )íe’»rIëasÎ=¨’|¦LíkN¸î/qqFÿ:B|æÞóÒ¾)tvs#®È|Éï ¥¼ë¬Ö. ¢ý²¯´cdyphƒ;PäFâbykÃäØïøÏsÄ<Øu$äⳫ5jñø¦n²éÌ©0ƒXèÑÔŠ÷ ûc>ÝÞÖFÑ;E\s)t,·KçSW¸’O^¡…[À§™OSh1BLþ¢?ŽÓMh1FD‹!¢’©ÞY‚Öi—¶Ðª×²°g÷ÄqÕRzWŸç‹÷‚,b2™½¶Úªe-÷w¼/ì7Ž{õe‚ª ñQý,‡8[â±['BqœÉÉKŽÞÁrü *’wg™%'"b½ŒÃƒÎ/ud pÿq·’%93Š=ów¾Bôb*¼‰AáE¡¸»M«¯#ã§0þ…¹ÃÆ6m°ó‡{«Jû‚í€v%X#Ú'b˜Ü:QO½ûO>/bÇï‘þJN7$±èåã:ñLÐM¿˜ãiašQ˜×Nn„Ãa¥øs«Èw,pÏÃs•±¾ûX°@RÒ R=?(-î³a²vaœ<Š(,ù,A9Ý' 7¢ÝÄê,k÷6Û÷”Zí}%FŒ‚ÆDgx•ëK“ŠÝmìâ׸x>Ã5¹˜’^%£blD@6ú©J³ÙkÅÅ ÌÒ™ƒMr–c“ÌãÇ Ö={ Ç~6JSX+NžW®?¨|,wKÐcì—» 3(äƒûˆ¿¢rˆ@½àRÏ @°è2KÛbl¢Ö\É|ãÍûqeÑõ¡º¬Úˆ‹oX{^ã5Fþ;áÀ 5Âú›" ¶å-6e,=|© ?óHhl'Æ¿…81 Ö¸Œ[žsNðü®g¢¹Áôm#*·Ž#ÔNat E–ÂB­icÄ_[dþêoåζcì‘¡WP}†üµ“©Æ¬a][èZ¦'òë™Æ£uÊ;Ð’MŸ:‚áOTzèqâÙ§]’uÁß‚Xvær0rOj× œse(Un©dœàÌw‰‹nh‚{ã¯B®pñY‹ã:#lîx!- –báx:Š| y7Húšù?6Ž’Ï3è¾Òr뉚Рâ}ä$H¢–í™…µ0;’ r^”/ÎI7;ùDü¹hS\EIÜýõfmù:óÑIã~l£S®‰ÃùÎA‚ÆÖw!gåFR-Ê?æ¹ôI“Ï„wûyô­Ð,î€ñ"RŽ[+vëÏĤ«Íó‹nvTá´Á®Œ–&‡¼Òªë5“ ‡éb'Õ—Ñ_ Œ8A‡vPÊU;R KdV#Ôßµ?J…äd‡¶’N´ôH)ÙU4ÄØéÚª}Žv±X{àóºÎO?Š Æ'ÂLwA LU³äô +˜RÊW47Éo;Ë‹šI<§\ÉDñ‡Íÿ®gÿؘc|¶ vü#Âñ!,ëGîâç$wðÝá€úXæé6n=öaHÓ’›ðìÖ«DíQA#$ 5AÏ¡v2AJn±ð¼¥¼ƒÕ²h€æyïø-¡»_ŒŒ‹Á‡¡ÂÉFÏê}£W ä?¸l_¨h¿§lû–~dñ@ä;Ç¿{V%Yµ;0´1˜h¡XD‹÷C€0tºSf”rÂÕògÄ®9¦W9dËRÔ&‚÷ BÛÛöŵÞrüzO´ç/ _W{¡qγ:ƒ@n¢G_ÆNÜËü¸5Ž‹Èy»ÇC3· <0q’VûŠê­Œ¯`(ÛûH1hgµ”+úZZÓ€?©Ø b ÆYnHì»<ÜY(“´Z›FoI>}áþ¤¼®#Æ%ƒ›j:ê`X¿¦TmWÇõ¼¿Û^XíqÏ~kº[º6\(AïˆáGú’ùФ8EluCΰJw¼›°¡ØÖò¤¹%Ál´nô3çüþ#dCdÎbñ^Qc,§º›ª¬ì–&„»òDiº©„ži<®»ZÑ…K½’s>—”;WŒÎîåRèV-å™m^”yâwEÃŰ“‘½A¹Ç¶–‰V0úÓønø÷cÖ¬Í|I7¥CNljàôdïúJ°h}¯s‹é¡, ¬i¬U"šô?ˆ¦~ÑC\þÃHX%’Ö+,+ÞÔm¿´ÔØôòÀýtH %¬þ®ÒÊÉ£õªø.ß ÿÀVJ·ªKã\ 5*‚L·Š•¡.RÌ#ê§Ð@B¢Í¬œd$*ž«‚¥˜Ö7À >½SI# 0÷2~þ[W&E—ë‹áœ¸¯çwxkvÁþ·z#§ßµÚ‘ØgÂV¬Éqª;í8úÍWTj¨Ü; )CÏøfÈKç våÍ%Vw¸ˆìûS™¸R÷‹iê_È}L§‚R§!ÔàÍ:R¿ |o܇â²v~YÌÇïâÑÛÓxPÎ B‘Èñ¨¥øùíó9}ùAòÐÌAÖ±€Kx9‹³³Q­w>øùü2Ck*­ª±~ô>ë(³Ð‡ƒUËÅl˜Ð` ’cõ83àX0IC4*@¼“ öœµ.—M÷P¤“­³Ð[Ðv½\d(rÅà”ËØm«VÂΊð“Æ.Ô\\Ö¥E9« à¬}‘¸Ñ^ªÙ[‘\ø‰8ºó÷ü¤ð©'ùQÛb¸à¤¨i8D™¼ës‹_:a×m0Rf¾,Yø¾ÿ TBqŠ®DW3ã@é.±ãõ‘S„ÓoèFæ¼kªïŠ×ѪHÇT¼&ô¹X+ºÏ¢¡8:ÝÌñ¶[tiý ™žëJ—_Z®Ùè¿]ÕÉ”û«M–Ïïx¿){^•kñDUóQÕ/éÙ¼aF&ú©cøÑ,d’Ì¢JÖÑlb†Hüü…M¿ô™øþðŠ'61zîÝ«È ëª³n¼;qT‡’­®ˆø‹‡S9ΔxQfÛ`•*òŽÅô”#·ÐC¯0Ã-;Kãó(•ìEFÅpPܤzZº§Ùçç·‰'W V3Dÿ]kn;-‘†ë÷î:û”îñ¾rCgÎÛ¡‘£y) ¥¡ÕŠ—9†XÕ2×.ï·l B1UïIõF¸Åö™gèjLh`•×ÜŸÿûCy°pöí}~€Hy±þ¤%:GÕÓ¶• $²éj¥L£¯|N—_ ½àĉ'{Éü÷ò+5ÄW´(B8 ¾à©œÑ¸·"gTÝÞÓzaÛˆÓÌ{g½¿xÍt‡hRO†îï7ô¿à £¸ƒºÔìKXKœšûFÁ^€CƒL!ý,H¡È§[érD?X /·ø`_½–W®Jf|…$Ú~ÐqÌÓU#ÂÉ£'°ïÛÏIsô/ÕpŸ‘}.1 ‘=·lb3TöÛSÙññ§ï¯Q+O—´%L˜÷i¨ª”eq‹ HêSíÜ‚ɦA]Ó:€ã,ðá¤M­‘P99ìÄ6Œϳ¯ÖN Uxs&ŵŸàBzüßÿíPƒE›µ4ÞaOV« ¬ìn½_WÇaBI‘C™£J£ªƒÿ^rUx›X€í‹ñÝ¢„Eþùv‡G@kÿ\®6˹Z·¨ùàcÞåsg¬2z%¶¯ô6qóSŒÚJ4̇½Ú?BY²óÃÈ¥ ºçs+Â)Ä©aÃu£A°ÏçˆvðÐIðÏ åxÕPÄÀ­wÚ¼›bŽ1dÛ«iG"ÛpŸUt@ìó§^´26çš›¾jêK¬˜-Ö‘ÇùeØPØ2û£ú¾»—g ¤co•»«ŒÛ¸ãÞ :oûÆ ¿éùF/A‰±&:Æ,S£Ú¿ÈnKý_Ÿb¶-qÜy‘º„Ÿ¢Â’8¶‰íXžÍ ½ó óD`s߉®tÓÑ)” ‡1ënh®S{q´ã)t÷)wÞW"?LÎêaYQ#]Ž×ŠÇrús2ÏóBpÃKΟ±óõ“z!Bò/­R¬…£²tß=ú^[ÉÆÌWDÄkLŠ;%J¨Q€ÎšÔ­×Ê 8ì¯P¦ñ:</ÂÀN_Çí|TÒ±–¦áûˆRñCÔ@ܖᥘR|¤áˆ!'¨–w¶W>«u ±óüKg~+uâ#ÕCGv;˜ûý$ËÜ>{(íi«,ˆï'I=è­"tk"£å‚CªÓK7”¬ uSÂŽùF´I$ë ‹[¸sé\¬io'Žë£MqEÔÈkJ4™üó@‹4™EáaÀBë`BȨá&’ ¹ÿñºû˜¥nÕõbLT’„ø×ùÑ–*™0æíË”iļ֯ì’{™fþØQm€·H‚²Æ\Lj.-†Ÿ£óÑŸ0åRž……¶;‚ ›]hubÀ£Â9†¬·«NÀH6Õ}y&ÐäÞ¸6™Í-@ÖúÁ¨(gÝm Çõ1p+rëK¥âZ—»9ÎaxKkdÿYÂ<+¬#Z@t…Ñ[×~Þ0JûO«¸R÷çCg­¼‘J¾gÉßñí Wù«¢€BÁB=›d³d;(«2××2|•ù¶ÈŽ’5œB`Š]Võbg:m÷ ÌÌö»}ì>n{×¼]ØÛ]˜%nÜ— ÷ÃΨ¥¼±<ðl騎BizËÀ-#Wß^ÞW sêü0Œýƒ¨:Ó§)…ëawÏ\u{+;ÎÊn0¦#V Ï>RßaL²j-'¯ù©‰OvBvb¶ÍªÝÛמA1w#òA%‰žào=°ê‘]_î®§†TêЉ¹'¿ÍØO%ÊÈðzP,Ñ}}•bà­»Ý N…,4$X‚ã‰QÕËR2±ïšÖ¸÷Úáêꢧ¢cø›p¾úší–{Pœæ#Y"ñe·[ùÐ>,}Ëô;h&pÔ¢KËC¶àãâÊÓZ%ä" Ç.*¬Ð«P+Ï’nBA´*ŽzÙ£kDÕ¨¸6¥î\®t¥Ö{€˜i|CØó¨û|.“Û'ÑNÜ;½l…|V™õ÷»7fï쥽`s\¿¦ÅÜÕw$ôŒú·]·L~T@ûQ&u+·• qEíZV¤ýš•‰* ѽ<`¨à@B˜¦ Sqü~:QtŸ¬Á”öþ¹Ô‡@ ‡±è FZˆÒBàòt”¸é"8+âE2aÎ^ BÀ"º7•“Eër»‚áÌü"¶é,OÜOh¤|ƒí²Ë9wFOYÁâSöaM$‡ÿ»áQñ2Í}¡UrØÊƒçÎ!Uýçm)§Hˆ:þàT÷R=Œ¿0ž‹óæû¥Äý¯~z|°¡"óïxÁŸsðr¯ÛÒ ;¥ùôô ÷³ú–¶ofÅÚIDØ0æ™ØÖ¡Áê=§QZ×yJTlFÏ…ìn”HךðÙ=3É«vœ;B¹£ß N1³à d6âøzP€ëí5e—±ÎÁZý‹‰g#Wñ&ú† ®ëD•T7ã (1þSH{‘¿òïE<Ô7ʈ¦±ª‘)ðE-ìÛþ˜@C´ïö£_C«NâüµÃ))ØÏ3›rÞdÀÐ:V³Ò|ÃDؽ=ÚÇE}¢öM‰AxÓ·oy Ãßjpû£”ÎNÖ^š›I~dêÑnú¥sc×sÇX9mð­&ý؃md_Æ}õøæ;ª©ÖUO¿Üàò¦!”±%糘p¿Þ§›8¶PpaݰsM±»sE:ƒ¸_ã Òªj½ ®Ý-^óÈÖÚJâ±A,ëŠþQp•™®Êyͼß#3À?¨0CkiVÛjsl Ö,¨ó¯ö™¾P¯™¬?è³çÑ'w>}%nwñj[ÆÝ fJuà62[Èu$颧R!²„1qE®m³VmQæT¹,[`Í“ô¢(œƒ²þHW’Ò‚¹lÝœýöUmW½dM†±5€Óp ‚3{,½ü|ÇxIÒm˜°/Íï'<š"'xQßu4Êû9zÉSjò̳±h¢*Â̆«Çyiû©RÖºHÄ|Å#7ÄŽË|us1§É^%q9ʯðs‚;*1vôÿüYîóôz>sœè?þ×)ýyE%Gáxq Ð ƒQ¼X¤x ×íJðS¸ðF*é·BL–žþ1Ýj3R"ÞDÝø}Á¬,ø|”ûÑl[­ß´trÖWË}ÄŽõÀmŽ(Üóô X®9BYvw®Ã'õ¨ê4î ­k.ñG.Äó³ä±‹´F>~ó Ñ8µ0G˜àÍ]þ~N`!-}Y¨q¼sí‘UB΃>ìv—âv,|Ÿ$yW0­Y­”FLAŒîa8Ûýæ¹ ¥‘$<ºñÛÇd­ Sr²Ü/5vw†a~ƒ•Æimòš…„S{ÔÀ-öJÇêŽõ`Y´þȽ‘B‰êÔ·»²/MÜBÇÆ`Td(Ã|ò£;Uöy“ê« Í6ºáE»ŸÄ9ϲ+‡JIˆ[tÍW=-N+vÑ—¹Uõ9)Ü<éßb&ã·a„y4ά(”ǪÍþnîòYœLtà¢OŠŽ`Q÷3C®AI‚n—‡þì_>¹¡\TÉ<}ͦé’É2ÅAáµ>²{Ö–­øÚþdSäÙC ‘Êõj•¾À§L)MÂhÝî1†µA##:ÒŽê Ú:]¶ Ù"Up’ÎçDNÒþx¨¹ß›ù‰¹4{ÆÛ]1³9îÃÅ‹xxgr2Ò6®o$_1’{©B¼%J;xÄ?ᓌèÚ²S3Ù™Ÿƒ€,ŽÕd•Æ=+‰Ó­p·kéô•2æòÙ§ŒŸi²OeûÄ0|ûÏ®ö¯šDÇ0Ñ©a‰žîzŸÑ'Ĭ-˜Æ×ƒ ƒzÂeñÕL¨M®×õ XY;pb³*Édp×&9å7ñ¸ˆ6?Ñ´ Sž`¼ Ýï©ÂÞÑÏ@×x´ïf´NîDº7ܼN0Ÿ'±ÁRÒÙ¸fùÒÔ+“¨KÄfÅÏHà¿ä˾åM#…=«;¡„Daï'ô®ðÅB¬Ê…Ážý`‹Ú€/Zß6ËäaÙ0JAmMÕ)¼Ú€h7Žÿ©âËüêê4r ¾®QÁŠÑ0ÃöSßÕ Sô·N®!È>RW–´#K (?h…þçtG²†_£Ê;?¯}MÚÈ’±7„žtÄìjbÇĬURxN &j¹’‚¬æÀ°â/…,ÿuQ:š}I¶€,Hö ºˆªG“kñk¼ýZpíÉúx3^8ëñÔÞ°ÍÈN¼Å¢5Vcö÷ BéèÈSZÞ ¨6Šã9…goêßoäV$C«ÿ¹ð°üý༷mëðœ+Ѻo殇Kž”Èïòª²rT,> «;ú\fX/9“I”„ÖL%‚„û/°fÙJ,¼ÊW#¨¡½ßÖ*"ð¨ZÅ4r:ð•Þ¹ë‰7bYNFGû<„Áü|ô‚KGƼö˜ ‘ˆ"$Õ—}9UOø¿8³C+½sñ-GÍ5ª]âåz¦f‡˜r‰­góQçˆÑ¦?‹zD'³ÒÎ×Ô¿ãFdÿä0( ÙÌ<}Ùð÷àÓì»ʘSÍ,º´qBû_®Ç,d>úl\ŽzÜU9¶ð‹ÞùåžÕ‹ ?o‹ƒ~‚¿R*[Z%Î Ÿ#Km²å·?éPŽ2Ðk^‘ØŠˆ^H މÔü÷8nÚ;ëºá±=…_Œ=+ÉiMð~šZñBfÐ!kt“Ý£ÒmZ ž@1ÃLŠVZ5ÐØ–/ƒð \P¾¾ 2±Phª­¾lÍU†ëY›tµ<¿S»³Lâ×ûa•%[ «~Í i‚§ÞtãE»'[¨²(SšHx5‰nõ1yâÄ`Ì*O³¿w vÉ_#Ÿ9WtñA¯®÷Z¸ÉZw`sULÎGôƒÔµ÷À/l¼#ªÈõ ¢òÞžwˆtÒ\Œez7Fxaæÿùè!ïiÉ0 œG#ÁêßêV*-¿ ã‰jÃ!¼Øë>YswèI™|©õxU¹K‹ˆnÁÔrâï]Æv:õPË©SŒ±>I6¼±ú„&'f`3üØ—Ç;¤-bvnÍ›wTÄø¯\´ã£ß}»²jnâ¿,4Œ½A¸ÂÃÁ&ÇBPåòÇçí¬AGq=z÷f똄]/w,(ñ=!þÛèœ,ÁÖ…v$Z^ÉBNaç*3‹Ýé<¥«sqFÄ”íÁ"ÏÐL æ(Û§1ƒºV\¾§’{ Sª§•‡ KߨÔß”aC9ËŒ©ÔS3oº)º‡šâ‘5Æt¦‹Pb9»ÂNŸ:ù¤¼ýþ±^±ë`nõáÓ¬ìöG‰äÑsÜg„ E– ÐwÀf%Ž)Cª3iV­^ Sߨ9Їqjâ"»G–¨ºØ½4 6ú?œŠ);«†[‡wÖLBp×x/Iz°…jîÙºžô›gDÑO¡Ø³¢Æ=¶*[fbµÌùW|.}Çþlh1é;-¢öm”äÚÃÈ*O¥¢ø2tâÄ=1OØ¥%9Ùßjäê ;Úçç `‹ÿ¼ò|µ‡n7.þ²sU+ê³Å:Ùˆ§µnk³¼°®eƒEéŒ=gkv–Oå3+ø¯2×,“ìdn@Z¼< ~ꃃQogêôâTÚ[%2¬ÐËKIuZ)º‚³½ÁŸM[åÉÞk{·[F¨aþ»i#ÑWñyž^G7F '.èr÷¸$ö­Çj´ÌMp°„‰cGbflpqÁŒø¹y´º¢&mX] TúÍÆd»ŽM¸DMóôAåÂ/†3¼D¢‹ \P_Ð'æf´©š ‰\=æú‰ß"/ïE÷­—Å]£‚nzBÇS þ»ÂøÆp»*¯&"/6ssrÇÁéÛõõ¯3Â`9P'/=)<0h¡át±ø`ްýoÏ0‰LÔ7²øö®"'ðõ•ÙÇ•F-›UâWJb!'á´3ÕSwQ<;÷ƒ°8Ê7fÃâe´/¨Èê¡#@°G0AãN‰ Ä´=2ð¾Ebó…Zýè ãߪ*ð›ë<éÚ½XÿNkæ]ÌE8ËÇ$-s81¼2 æÃ½!Y Qü*”@½±ý‹Ê@ñ ÄwÓ3òøßŸâ5ƒå¼2Ü.g=2-n=Pzë¶ ¬’¡_Ÿö4+&ãf<„j# »óLåZxs+”óD"!TÕ»3bôqxqAšJO¿ÀM‹6„Öcm­ä$"y}ÐþˆGø¨ cïÊÅkUñI%ÓŒkT"dH1{}rÚ# ›¤‡‚v-\ßá Mîß¶}û\Ï¿~Hɺ5½Í:¡™„)ÕÄLð*U›™»bS­Ø  lDÉ`Ô²ÕØù^hÕ묪#êd¡¢élËn80z#¶ÅH òØYl'$ZB\Lxï‘!rŸE~B9Ò;ú¿‘ÒèÊwW Û†‹ËÇáx6SQRPÕ ÝŽZË!Ðo«ØÐçT~,‡Á˜©¦\ FSòÐIO5üF(íâ:/ôýv µoø·j1xr“ÄUY—¿pÊyWPÜ‘®aÅNÊûŸï«|ú”p:_‹n…ž6“àå{$̪Áˆ«L£ü¯¡%E‡;¶”|Þ~yȸ®ô’²sO+As¯…‚å÷@´±r]±}nû‘ ¡òöñ]²ˆ§¹åíRo_Š˜•ʦò–VäÿÙº ðÂÀ×ePà Û4ñÙý:Ý{ñ>AÄ6É_»ƒ_„Ot\áes±efÅÿN£ÚK'WÆ.¨ÑMuS‹> -xx¨•¯¥K„íJ’{âcR-Íizðq°¾(»f<$¬öGM—š?5„hÎ$ÙŠì´€æyOdQ'QkK%±ê­u妴úƒ³ Ç›K×}^¿Èák#y åä'ƒˆ±–Pva}f13Û¥pà#ð;CØÊ‘÷ÛìØiÒöÇm¬ÉÞ@ç¼ëÈÝÅ(Gj•´¸hŽ'è3ì#¢’ÒuuVîÞ‡q‚)7+é ÙŸýÃù4 åþ-(š‡{àTðØ¿y³Ÿó=.äxMŸ #)Ìì’µ pÆ™ãºIùÕ«kôÞªI6äûå¸õ€NÐjKÒââÓøïÛÎ¥ÙšŠhçÄwúìS‘/=†/"íDÛá±æ¹¸Ò®͹>¿­ÍøŸ|^ÏBÊi ã”%ßðÔ¶õ•†B¹~äÚ%°|ßUêßûî;h¹èVêF°•û”ÇÒ¼ýø„¿­„%—ŽÌ ÍÛ 0¢%qH¿ˆ –Wè3Ä(ÎÌAø„ɾ©ÑäÊtÜipBsúºKÂ@W|(þLj¾>CGB×e̾ž æÛ¨Î,zÎÍP¥Ù²pR…D1‚"m,kÙo?ç)! ž á£gE6ø…Y"Ð9ìÛ èõª"¬Xœ#x8 ·”k`*§G *ÇN¬ÆÜáYÝõ‡Š ø_Þä« zó¤¨í˜ßRZÚb:¹IAªŸà„ƒ«»…3õíW½<¹àñ£G8¿%H ·µC8¦Œ'œêýOît䉿ÀhO.—îRýËäe÷%Üò±ÅxWü;ü·±«FP.­õ¬¬GE)Sý^?ù'MsWpm5ŸÍ²{ç(ýÈ‘~©aÃˇsæÚ•ÏÀ=…ƒÀ yÛ  j Í*}㮇»›ÐŸ\iIRu¦±Ìjp/–Ñ Êœ@tËáèÂÆ ¤Å•ïŽC"ä Œþü÷vBÛQÙk;ÓG‘?ñBÀJÌFë¹6‚_ƒ!T,Jæ7iÎ ¶âóVzZš ïÞ¨(‘:ynYH–\"#bk¤¬ÁòòŽ›v¶—ûÀ— D˜Ô%¹ž`°Ûjóº·;5<–Šh"BAUÜêOKeìMW¡ #çŽÕ~‡“7 P:Y…+"«7‹q­í¦”ùBØèš’d§:‰ƒ¡9Кô”·12šB{ŒÃ•] =èK®€T+”©*ަ‡¢ÝØ.€<°…Sè ¡ÚfË84)Í¥B©÷M¤Çg†²âT”²vÃa¬ŸÇŸ¢Ú*‹ÖþŠƒ`¸*ãHø«†Y,×éŠÏ¿ÙU0‘©>”Ò„nÃ^~‡JB0 -ÇXv±ƒj_Ë·ÖX5DÂû‰a£ÃH‰-HEú³§g7¢&‘`Iû~sùãqRId_x´Î] ýáâ>E \£çØ­' |Ïÿ¦ûÝáAó]ŠÅÉz•²nˆñéβ¾aÕoN#<\F‡»¯ê/7€ ×F¿ ³Ãõ‰éÀá"Ìó!7Šê9}ï¢~cQõ÷ˆB}{I»ÀÛ=ÙÀ~êçlC›ëU*1G‰$›óÞ¼w+=œe ±<@ÈÍg*ëy—ú!-°wÀ}=ñ¡Œª ž|³‘ÓæÇ,cò-5 Uwߢ =;$SPÛŽ÷c?ó±]øH$ !—9n/oÙUõÁÓJ ŠàU I6¸é3/8`wÞ}I{?(jk ˆ•êrDñ0^QÜUªÊä_EšæEÿ?€ò Žì³D°è­KŽ ÓˆÉ5Ñý¡QߺË^™2mi¼*ëë‹\Ýe}ÄF/ɱ^JÕÎðvo·Ìdð}Bæy[úBý†º=ä²l}<ú‡b‹º•{¶fÁ¼±mXfögáhï<žŒ ‹ ]èê­©¨P1-tàS <‡zhç¯ É`íÄF CmíÙŒñ‡ÏD¥t],‰Òðî•F¨«¾÷ôîª ÀãäD‚<Ê D92-š¿*¥ ¨ùížaåõ»aûv¬piŽÍŠÛö÷]2NÆEÖÁox§ÔkÂÿ¾žGU½tZ‚ÕU?Ûý)mhâÿßÒöYål¥_¥‘€ Î„ØÙB/ê^ãÉh òS|ãQ®¿eô÷à„ùªJñ°F8½•r§§€²­ˆ. 'דïä~öPƒKÀa9pÌ Qψu&ø/¯á ÐN1Þ°%% ¹ÑÈäçÛ$=×gMõ—·Çð‚óöã®}Ð:•TDŸÃœ\Óf™ýS…wÃo r®b¢ûJ^d¶Bƒ¡ao)é–ÛÈjSFqµnËTèð­¤ /@ˆ¨»ÿ‚‰½OÞ¿ôòñ;‰À±Å_”Æ5¥nŒógÉŸÎQ,ƒ !&ùŽý{v-³V}"ä‰Ò Hªh8a´ØJŒáÉ? |´LšF;ž›ìÜL£žhHJq…ƒÇn·Ç€ƒA˵đþB»Èw~²››wR?àh­÷4¶Ü4å–¥L¤! Ú|”µuº¿Zr)6§–ö’dú,ûá̤Â;[œ;ÃPîµlÓz£Ý{mmŠ>H¤8öñ;ªÞ†x#øÃË»@’ͤ=˜Ë ×Íqqíý[¢tšñÄìÐãw ÎQé-Å¢§×-´5âÐDˆµzñMÁ÷tº._xEIŠæXÙm¼U\$êÕ È?áÉRõߌ-®†y/9Ðk XkôØ…rÇ WžhÄ>§—E]føÆÿ"íHø% —„Lç?ë6Ô0¼c¯Ï™¸k0õ²”¥d›„´Ñ` »¥ ·g ±§Q[, ì…;ˆb•“ª$ŠÐy‹ú>S`8/Dį_Ì&ôNóëñx–²“Û•^IU5ì핟(Ë¿ºR+ßpÉQdÄOº_bRRœ1‰äÌ3¬ü3,÷³ðé…9£ÂÉ ¹ά×è! ´Xn(‹:!ï23åú•¡7P™·qàÃÝ[¹ôˆ¢\Ç[þé»9ytB5^'Æžºs\‹ŠëY%ª%Cu\/VǬ@<"VL-‹.,ìýqšJ4ö$¼%Í.¢œCˆ»OëÅ›8A!^õ‰1BA/½ÛcãRÑV}ÌY؀ϼÜ_Bì&^ñ ÍœTNKSðì&äXu-C“±Tiñ#ݘXЦô[K³TŠ_ùp»f¨›ˆÚLm‹Æó;¿CPS ÅdÞéèºé$ëZÅÑã39eÆ)•¥„oiƒ@ÓÖ9UÅý6a6¶» Dg£Yo;\V=7™_ýTôÕZc{pçÎáµy²0:`—Ï' F¶ždDÄ—û™i˜Ù…ƪji);.;âü»Uü竞Ì&$`»nC¢¤jõoºCë€üè'fR "©’¹—cWª{ƒvÌDÂûŽ›ûˆ êÿISÀÌäáKÒz»-“ßå0â<¿÷VTzAµÅ}¥$%èŠRrÙƒŒÿ^”œ«!•RÞüx\­xæŠß}6ñÂUÑÔøÉDŒÏì‰×·à4¹Š…~[«eŸ‡¢R™êþê&9[΄–êd±dxöÂÌ®|`ž¿j)Öeõ¦”¹å5^+’Òþ–Á÷üÿ4JL'#×=û ùiˆpQsÓD}Nä“À\ÇG—×$*’ïo^bØIÔtÕ’{ sk¾š¦¨–èo•$Á™I}¯qAïZ—{AD;n†µB]ê_ÕûwŠݧLÔKT-§ÑÞd)î\™eϱÃòí/Þ4ŒZ—â½=‹ö1X—>ö³:Ϙكl±¦+ †›:ÐXZÖCd>v\wüTûM¤&øQÒ6~š²C_êy-[{¬RÂ’½„έ ž‚v± 5]ì@J‚¥&¶ÖeOOa®—ä ‘‹†Z¦²KÓ‡›h?S´“UQ’Fb‹¤ñ ~™yOM3î}å dAÇ/+«LÙ dkဲ/ õ oql£5*ŠÚ- @4FÒÓ]DÉ Fû¬s„êQØÃ¦ºÀ‘qœv@òZÍ_ò¹ÅYjú³Ížêšþ…Îs|ögÕ)™ƒHÈ‹¢jh›Ò‚.=˜òʇ:¢64‡-„ìíäA¥hÈÔJ§‘§«%§=l#<©êÀà-4‰VäáñaZüšš£dš‚¸áU‰ÿ•N¹~fu‡3½)¡uûP-t‹ª"þú§™:J}hÝè5´³¶â¼¶%ì$hãòøbËž q-@²¬•àö…$Ž1òÞ1u݆!F÷y@_õqzLx ”LÉ`x <›ˆõJTƒAÄି2OE†ó•U;j÷Ðì•ÈgßCFIø*( ¿OÂñ  mn=ÂÒeÃ:•êoeõ ‚AAϰúá†Ô A^E=ö7¾xVj½&$B^S“R9º'1µôÞtžDÞ¸=¼’¶ñ홪qY˜n \ÑÛáÅlÙo |§f Ì\‡Ka H6\õ¯W³Ì˜Š[CDÀr1 çÕBU&÷ó“°C’Q(“2WñíDm3ŽÔŵLf~TÑžHGm ´‚:¼WœôÕþŠ`­¸sq™Æ ^вÄTðH𸇞Ѡš;Mw‹ày[+ÿN¤O(C.K^óŠÕ)ŽÉ²Í(yÐÚCô…MtøïZ´Û <2o†§8Ý17Ì®Æ,!ˆÑ˜0i}9ú˽‹]¿z]õ°ÑÍ9ó‘Ë]¢rXkoVM p8ªb ¢ÜYjœ—Í‘³iÔ¾|W€þþѦFâ~е!ç!èÜë½…ÓesnòMçÍŸâÑÆéú¤…ѲŽÒ·§é/SHù¼vU~Øc[Ð|¥[?W}-ëÞ×à´XCj).G ŽP1ß;ê ëÑøÁèhçò†üæ;SÆs;PFÌ÷ éÔ)xåJ(OjìG?Ìp >˜èÃk#Çt`ÎÖ¨adŸ‚>j ÕÛ:ze ØËïÙ4Mí)i®õð¾JÖ¥~¦ÖqháAä$¸ŒŽ²nå õ€¹…ÊÚœMÈÝIñÅñU#ƒ9뾉×z‡07“ÿ° `©¤ ÓqÑ÷{÷dZüû>>íîNÙ׫íúpyÚÈfjmAJœH°—Úú•ø6lÂeè}:ÆõX€Ñyp^lÚé±|oÄgËïnΤÌÈÙ7™બ™®×ˆõgÞN6o…¾‰N޹û×fÓ1…eãªuO”súc¾ºBv¬(;áÛ‚4¦³Ø¬ò€a“·­Ú“ÏÅ8KÄ$‚DQ_Ðí9ÃQi ÿcöG-3£Eµ[ tßTbÃÿ†«ñ¸Åwsy)x9ÑÙŒ'ÇÙß[‡ÛwÇ&(³†å†ÑltÜúx¡[%—rIïïFᙡñ¹7k fÜúq¢‡Äß÷ *6î·)ĸµ 32´Óy=Êr^ÓêÓ—lÕ¨(ÀÙ@o ©"„ñ ¼; “ÒRZ‘.Ú8^Öp©_Àlê±ËÚÔ®x²yµê„Fîq0yÔ~Ò¼Kޝ‡$Má&!B©`üÛïÈ ð¾"ãjºp8‚çÚËÞÚ=8¤¯5`íÔ!뎉ʫe¶eÿkÎ÷@ûŽÂ&#ÄÝ¡™Wóâ„]î»;жÖoKþ%Û·m8Ô}e€ËÃ=é§*EõKоðÀd®ÿ*¤nPê…]¨ùBĈ4Ø4ô+—Øß†ÿéL—‹\ž½jK/‡¾ìjجÜ+Ó¬R[¹õw2}_–…ã­}k«ÙÕ(õùÜ~ª!¤Î·Dú¸Sc-+E¹ˆŒ]²pÑ@iÁ>ÿ ÕfDHަDçb¥ñá“@mÒ‰­¿z},ü>»˜$ 5›O|NËì@…­‹l½€­WÞŸëzãº\YâØ b­Ûy~•ƒ·ì/%±HWtå ·hß5Ê”ð?½¯ÁÛF:âØ”ƒž ¢=ZYFɯ³"´/zO²€  Cš$·¢\¡]à| 0r‹ºÇšk×b EÈ? ñJ+}$fþaíÓ禆ϫQ-ts0?½M·}½¥Ôe=燷5ê¹–!0"·ž*V`ÉcátÿübôÒà)z]Ea0ƒD2ªCê-®‡AŽVp@¤…½BÇh=ÓÑUðg ½ý’}$_OÞh3]eWÕ¤.4´ýþÔ8¢3g ±úó:‘H!+bo—+„‚w Æ1h¯JáßH¼º‡Ç˜–$b£‘y§»ãˆ¸Çðq\;÷ömÜ;ƒ|š±}eyøçUiÁfâЯäõª¶VãB£31¬1¡…,©Há]Þ g6U¡§P>J¼æ'&¢ðJ ^H¾*K¶ÏãRõi8;<èRýnÕý&VE ÛœØﵤØŽƒíAÊÇQK_L¿Ø‚¨YuuÒÚ7­‹KsU ì¦~Ém2W÷6[Q:å½ô¥Ìß½€êh‘M\¤9©Ý¨'Þ`&QúŒò€±F;]╯S çZO’|Û×`T®QúF!‹AÇòëh*)ª*´ŸCxýt_h ‘[Þù𻶃éÝON3û¯ú 6hûÞÈ—e׆ê.ÇjA¶>–Eý$Kä1ÿµ }\o¯Ö눒¥«ÿŠW>…E1ª?š&¶f ”G|»p WEPZ|sÍs.ÛCCï[8nγeLe‡¬¾ç1`åG×E¶R ‘9q¼Ü\ܘø°ü©üäêtd£;d(;ÀùX "œ~~|ÈÚîC„H‘s?aMÙ¢ª‹Àœ_2©3¡ó´ ™MT2o<(©ÙÔ:jŒâçâ‡ÛÜþ5PV‘Dà·¬ÎãŒhq’ƒ¤~×aÐéð'TÿáHF¾:À²"› %o')õì˜24³±Ì3:®ºu–¯JŸ ©Wó±pO¶nø´¬¼¼ÝVÛð€M6ôInMúÆS€‘º$W°ÕzÜ@„S…Љ>öó'~Š®¢”•{…Ç’ÐcE*ÃÌ0wfªÆ ÷Ž{EêY•t¢eËûØnÚRæåΜ–GÏì”n“ê8È1³¥ì¼ÛyÕÇIJ·s„£ãÛÆ„˜Àœ¿_N¨w£rì…ý¡>»´•ȨM¿€A\ÀÂ}"¸˜@Ô„…’(Ñ]Ô)©g »™™ ÷£ƒ7¹q<9ÂD\y4Dë!>ŽA¤=\³¤P: Ÿ 1rÚ…ôï¦ÂÌ\#Ëé2¯Ö{¯Ý*ñ‡þ¯æ|™òeFý±JåvF gØ ÒKê@"æü¹µHsÎõ¸?ù¼Ó 6ù`ywkÁÒ‰ñ¡Ôáã2ùöILè‚.{ç§ÙmÖÌb{XÐ:{ed±üÓÍ_ ¬ÿöø1$¼½J K´ˆŒq陎²j$«Œg³õ²M»§ºÆŠ¦¶º¡cTVŒ‰:<ŠÌÈzT«˜• ™¯¡ ­_¶aÁªÚµŽå(f‹áhü } zډŠ.7Ç›½¿¯­K ÅÁ*™Ij§ @)£[t)éô+®.‚“„z‚{z»'²j”¤ù1$…O\éj …VaI ’†œX-e\fÔáQHÒtÌê§ ,ßÚšô¤-Y/­öº’ÚÇWeLQ\Å”L[ã§\’(D¬–ÒZ{šó½FÞ´j®€8 ÖÃqvŒ² ­s5!_ϺæŠ^ðLòD&ôþ”Õ9¬‰ÚÞÿ×pR±èÑX"¬E·ôŒªçbƒ@6‹eüIãr D B4ðµQ¼Ñô,ÍÍ“̶ˆ3š*ÌG¾úà˜œñf^›À cœxe-¶@ÚÁdau¶qQV@;å¡ô!PÖ7+ $œOÞÄgJ„…sêCaçCæéå.; 4Ë$Äý™÷¿?m ††ÃI÷ñ4謲ÓÓ¸~+í1yº…}2uÌbcµGͳU<Œ!¦£gÑdI‹‘ìZŠ`Ä~F?TdWžˆFƒ@L->22"}MdÀë ´@rÉâQ˜ö…AÿzµÖh‹­s½çz>è÷µ³z"ójŒŒ»»kû TúŒ”òÖ~ÝKó™€Žâø sù„$ÑȽ¦ÙëC,a6A O_Q>þÏ9,¹À7k'(Rˆ5ÂÃf_Ýâ±:Š>–nç’PeXŸ¯Á';»¿x$!´3“¶czj ù”šýè´h‰% °9Á/n¬9„“­°UR£'ô)_ Cm…ãëõýùϰR«©¼{㸅ÝêÄýõv¨OšÛ‘7÷K·ù˜c…þÈk჋F8žˆÝëc[!G²ýZGó÷Ù' v†D×Ò°‚- z¦¬ ¿â¡÷’]oŠ=L¥bs¶ÎüÙ¯ÊLõä´ám.<2ÒB)q޾¾Õ4[õ¬d*)…Êÿ©ÿ|e=“Ã¥µ@¸Ôªd6Êp»êµ7Zâ­‘5Ì¿å?ƒHQB5# ?Ú3_•«]óPu^énE„UG\Þ…Rå…„­)5òG$Fpµ¦€ææ9FCsßH%.`¬ÐÎ ÎqǾMíýã-p•dê—¦5\`gL`Ñ<0Êš› ‰{àç°ýQã#ñb`¥¶”f£ü{™HÅ;@z6íò´yªXKtÏ¢2Ù+Ön@]êªPjXkè‹’úKÅ[Ñ †Hdð¾'•+ÖÌôjƒHf転2mB£¡ ¾MNåBOe`»ø0 ÓÃÌ–QÜH‘DÁÎ'À,sÓD‡Óúµ(~Ã%Š™ÛîÅíN#©µ%„Ãx8%©XäãC YÆò«Ru¥„D+Òë³Ò²}“¶ gYþs, M¬Kž— Õ<+5ȵ»‰MWpgÊÌÒÀUPÃÖüÇŠä1 ãrª¿˜0jS!´_ç/`›í Oñ§iPá Ú3¼þ!\]2S·ËrÄmŠÏé%Ž@וùOĶë‹Âó¦1ÿýÙ©¾ÁTŽÇL?>ÁR—³ï©k‚gúœ´«R¸Œ[ŸJ@”v‰0ûÐð¨Ecîvè×µ¹z€¢Ô4¸ýå+ùÍÌ0)Ù±êëÔŸu‰Æ\Ø%±P*#òâon ´î‚&>z› âG,#‚œNkH¥×k)ºßu÷0ٔЕÇJ|K,Ÿ¡ô¹ymÚ|Ë<æêà§#rçd18Urö½zÁìÄ„,f[&L¸Üg’oh5úg@#œ!¯úxüÛv™R¾äû}SZÒùX0¡(‡ðLjMEßåÆòdG›L¯NÌä1Æìòøc$·K”XaÊ<”T ´E„Ä\|·þ' ²j׳1¨uÃgð¼ù¤qÊç¼\j¹LRþE§¶ùùJ¯8\±íãÖgt+Õmncp.`Và…*¿ovÂ1Þºë. vÉ]#®W¨iÒ1yWÀŠ&zhyÞüó3熈,e,{¥0´c‹Q=ê¦ç`Z~ݶšôrÔZ›jè:´‰cJ½¬Ä.£'Ï"l©+%9ô.&íÏoœœöH±é°•Ê ø¢ñ&Ônßl¼¶‘ûó‘›ëXÏŸ?[ËciÙ{qúÇy3ñÝb×™‡BÈUÊ+QQRôO!kíÙ¬D#ļžo ŒDy ¬hï`EÏ"äÕÄÎusvî•^KиÉ ÓGŒáäêLŒ‚EÔ: &±1°Qàå Ûâà7ÄFá,Ä· b@óÌrî'ÏtD¡%¤£bkÛ6Ñ#p§SWÀ­Å_¦dŸ§o P ’ú¤°×}—;;Âã[Z5§K¸S#¿d²õ•æWUŸù1a VY³lG»—_d¥§Ô‹k*–xÅÿío²Z ßÑ„…kà¦K“'"ùœÈuìäE²…aQ˜n䬑ЭH‹œêÛ5ë¡Ù>q}ÊaÙ?Œ·ì‘ª˜«r¶z ®Zÿ¤¾ãŸi&2â šOzã#Iü ÉaëÜAz=üÆd),ލ|I‘Ô†ð ÐÕœ H?ûÀ½î• ö¹ f‰ý$¬øO :Má퉬zšîSµœ"• y•Ýx7 f:<}œ'žz§|±hÂÛŒ€Å»Eá« U³Aw—2Rù¶„F¨µ¹×ªâ#Ó4þ&óýùÍC'Á8é˜|*€?@à;2 ’€¦EU $«¢ KsæËbX| äU§Óœ\¼å˜Ù5Á½Pt}>…bƒÓbJ×?õ¯#™‚{®õ*ÍM†= o9$¬K0r£!°7@êÂ×Ü:›ÛÆpÁ,/ñ…Y<äÆÑWÇè\K[f.zò¹z{ÉÇÜÉ/ËCâå§—Yr#ôõHzCaÕÄ}åŽH2™#ÔÌü3sµ½•Þ j©sè*, /‰E8ävSë' ²  #w¦ï`ÞN5A¡k(@þÙ´æHd‚¦ï¦ŸJ2ÔZ?V}I²ÏÑ÷¸E»rcïí|2óg"í`/ 2s.åâÈ‹*«ó¡PÍ܃ï§Á W…™åÁ Âk7t˜XufÊ!Oþ1ÝVÏTûƒÔÈê eÜzß™\Xkp|ÀAöÀ¿$wDÚTÿø5\ýF C5­9•éÛb-Ò‡¡¾‘> \Ó1Áö¬—s/‹<`¹S6¸LÀb¸:ÛLÄðsÆ Æ»òq€‹“¥ý…›Üº‹£Ç°º‰ëQk H’cwÙ^-îƒIÄ¿\äìS’iñ‡ôÏq¢à[ò™ÎW/Þ蔩#Ì⤒”ˆ|²eÝYèúÆô‚Câ…@­ì:µòÏrÿzV…ãôÏM c)Þ^ÊîЦ>=Óoyó§6‘#+FÔ¡=Ë‚WÌ[Ñî^{Y¹’9ÜÄÁô׉5 ëcÛ^ò²tækʶ/uÚýhL1ÞàÞ{ìjÒÈ®Wˆ|ge z“2º¨“>Ö1Ê%MÑÁ—쳚î*›@Öé“)6´)¦•ÏÖù)ðÃØ p-”Xè$Z÷ p¢ûÓ'-PÓCú%åà &IGµ¹:=·ñußuG3ÈæùM°Ñpýˆ-wÿM0Lx˜iËøCÆÔˆµ¦­"÷Bñ,Ö¼$Ù—HògÑ…Ägx†/楄:e+M¶Ku²x*¶s g~U'±-6œŸÐ-÷k§±½¶Ã“…Š#”¹¡x‡„þiX·ýYÚ=¦=`yär4­ÌU'ûM~Gé:¯‰Æ¢ÈÒ»O »Ò<¸U™®=×_“u×7ÃÆÇˆ>ÀDR+W¦'ÜÁŽòÒ˜B {ofLÒ&0õ­Õ™ÒpPY®øæTB䓤nV¢'Öé²…—CÏ`t×ÉŠ̥ïQÑ æói<ÏØµ4@Ž.ö¹á³ösæe²Wüª#`Œ²hò–S®«5”ã¸.dÎ.ÖXljOпnápJ´º¹2BEÍ7§ t‘žáª»ŽÒ÷7ž‹ô×#7ÝøÌ,oI- – -ÚÅ0ì¯÷ñuŸð\/§6Ìhc8(¨ mËÝ+ΦF¢›"æ’û‰ÿ‰¦6†îN·Ø…>áÃÃ*`¦_èPóQ²|=â½»"ÜÙ°n™+ð|_ÑŸÈ>+Y؇ÓrŠU(\a®\ÏXÿ5Áfqyé ãh¢P•¿ãiyëîb®i§&€ñÙúœøÏâÕx«eQßãwÏŒ÷Õ ¤X¢§uã´C V 'Ž…-èj÷<›aÿ‹‘Æ {ŽÑTÆoWQ;:醊×>›—/ üÍ_VÖ~!-ºV@F‚ÏÔ“Â#÷[͑&¤kÁȧ<2y®ò§wèÄô†ó@æ³4Û0ü5ÜNÅOé[]öÖ˜Oåx5l”ÏòN:à­l}t´NtÊ´²HjÛxßÕñÑâò¿âÛ!¼5Oëà­7¾ ¢7б×Ù„г¿³е¼¾ü©$„^¯]Vq\¥ÞxoHa‘§º‡½&ìñ™‰KÛÒ ¦@(<¢X˜²‡¡÷£V¸D¸¸dUº£À@„¼»`ýbtVÿ8ڦעKlüˆ­³âDßöó5Ïð-E’lƒÏÌ(>vb¦ŠHD~˜ÁGéÈd%‰ä§)y›iåjMïg[qõΩþžÝjâAíÓ€XÅ|Æœ_®P‘1^Ûè)gäÒˆÄp¾šßÕÛx®ºwüû¼£ÀÈÚíÅyôªÈ—UåajøµP—Æï`­á:rë”t¼åüpVʱ§åžÙB-ÉÁîÉJ‹0½¼xЖ!!EÂâžù&¶¼ë`iùÏ¢ª% ”–o~úÿoóŠúœAOVK& aO/œŠcßeÁ+ß“˜5¶ˆð "=­ÓvNþÅœ×NÓ]~2¶±`Î$¸Ç,OU­Ã©æëÝhô]Š•‡ß¼ó®9ÁÌ9â:öŸµÝc¤æ^4K¢ÄÞÿû9õÝ$æe´Ê`)«g¾À=Æð:«w?#Á˜Aâøºð5fð˜"íÓiÄ@bz…F¿™æ‚H/pòÐ`âÃt >ÏÉ¥ù¨6H&ý~šŸ·7>|šÝìíH¶ZžÅ qE£Â­1MÐ*µr}Ú¢œ£`‘àÑh4ueNj4M$£øTãé 1)+ͬ¡^ÔÆöŠù'u¹ÇÚ¬$×SVÒÚüxs0Ù\ö²pëÒ§³·ÝEÐ!Ê¿nS@ì¤K$µêF‰:6{)&Ì/i ªDW‹$9‘/ß&¬ÁãÑÿ) ´"È3z  OW•ì®ÈÅýˆ=ü߉×Ïõ…™~÷¤ÿ|­ æÆZžÊ KÃ:}ˆâtVµë^ûA+?y¤¤Ç©ó2ïýzC‚r` – Ð]8•¿íåc ²Ù¤CpÇžÑuô¥@ÆOñ”‚;/ÿ¾WðÍ;7<)Ct}œ’ãY}ЄªÁþãîäU¸½F-ÁÕÚ ûµõ³A2¶Br¶[TúCí)€?}û;â ŽÍ¡'ì=‚u4ÕK®Å­T }¤Çwý…Ι=•3dƒ½A«OÄsm¼ndhSR$úÒJŒpRÑ.2´¤~¥‚'¿Euï´·Q/w•w¬ ÓÃߣ홿ä*/.§ßZ&`¢5b$\ÄgÖ+^ÂLÎ^ 0¥à™§˜Ã-/\¹|ß“‚iêÉvEL2;9½Jþ÷}çUß[ÕŸãJšt>`Ž1Y$8 ]gé¡õœ±•ÝÚ.PI·hËXÀvÊl†ðòI¢—ت# Û÷¹àž^L%ÈÅIªê7WIêì[%Èߘ/VqŽc¬/Û]†j©ÅFº>VŽä†QJ—•­ˆ™-†çärëzB¡¸6dæÚ¶9dçèDðÛ ©CŸÀOb•_ܨ=÷ ·)’%¾á±´þö6Uð<æÛéq­6Ê[m;Å^\PÐM›Q~ýއ©»I6€íÂvH39Î3XTù*$ÚË‚4HOêê/ö¹å¾†·¼qúï´½îL@úâî…öë<ˆó–2–>]“[Bé-r ³û‚Å­¶D”€þ:øžfVvþô¡Ïñ4ǟńمÊ%Ek“0°¨ìB2¥•µû X{ƒš]~™cÚCÄ,Øã$’ʧë»ÞÌGãÕÎ<{ʱ0¹4¿w ød-Ñ{„ÞmsÅLË1™!+ã[7vË–­EìÞ’•AóU’5͵³fÁíà.ô£E'ÙÖÛ¸²=„l >¸ï‰~$÷ãèªÁSÁgCb.{Iñq™ä}s’ÜFeA~ñ×·*ÐãG­"éÕÔ˜q¿gëp¦§öƒ* zúØ a ™©$¯úSÜ îña5Ô\ÔúiËñ¤ÿ[íxdgÍk©­†(Ù§üNÙãýd'l–ŸÜðÜ9n!xòØCí äÙ…PZƈŒG(£aÿRwÄ(ÿ¤ êŒ-cg¶Ïí;Tz |©Ï,ÐSrèŒb¶ ßñUÃtC9ý ¡fý–Q6ç)é;Ƈa180&άí7´9Ò*E±–…d+,d†ÝB /6 °2oÞ`ô¾¹+½W½üН;^ÕZÙÁñÈ‚{ ô¨Š,€€I02úG‹Á±ÿ} ‰ÿ„¨ $î Ó¶’€_Ãï¶ÙÛq:2…'ºƒ"v÷‘vo$Öš™,~9u×[ÊF_%ÉÒƒ!w·Tç‘ÈP“=þ\of³`4ø¿9Ç_]í²NZ“ÇãÓÏš,l©®éeJìõÜ¿ãfTsm4÷Äž3!š^Ñâ?PäÇ*Ÿ)lyº«zˆ,²%êl~¾mÿ÷÷ºöÜ¡DóÊt=¨O¥ÐêcˆÉÑp…_ÉŽ(‰Ä6VB¬k¤ÒëŒÃàÊV±”U’áéc{%(»PÅáyþý˜ØØŸ¸éò|ÿŒÓ¶«Ã“êq8ªHJè™õÁd/òζ–×T¸!5™fÈ ¸À‰ÞÓÛØ°ˆõŽw ½Àëk‹aË¤í·‚&3EðSJ\»û‚fM*Ù@³«P5(0e&˜É\ÉIikú#<`øÄžyÇÏ"6œ!½jŸ/[E!iÔ¡¯#܌΃õ}»s¸¸ÜDާ6¤ E$|ŠQP(‹™MÿÓ/Ë@ ÀˆÏ"šÊø–—ê®?x×Ô?0 ;l‰gÉ6­$µñèý¹ÂB]ÔŸLCÚnÄ…9‡ ]ËìïBc0ô<<®q7Põ›¡“¢ïSIìöònø¸²2ÖO@q ú+ ŸžpN˱ÓáQW®¸‡—™}ìÚ^w ]k.ˆ3î_óÓ#¿P×ivÚ™@¤Æ\BŽÙç‹­ˆMiÉ{à¿-FÞ.SÓÓîó^O_å¥É+!z˜\ü4ñ¼rm-§ËÈwûp¤¦]®q"Ʊ˜b¦0ËÇízý½uc'ÇÛÒñ"í•púÇ™ å|9Ä‚kdEE!éøAõÒ‰d˜cß |²™­0Ø[ÞEÑo,ÍI›£8–T!–k¡¸‘–<~êÂmÃÉÎp&ÞYᦳCU8WA¢¹R¥ªrü¤ˆH.0¹¢QWí« õ)WDàI£ø¨H&‚˜§ˆy/u´þ*‰2‚4ôcÉËM÷¢Ÿy¬•ÜžJb£öç9Óè}l—r°ÕïH éCä&’(Mäì\gÁ–a¡ÖÒ—Iï³^#w=,a.óÝØ"öY-!='UQ¯b¶.ô¹®·Ô‹ŒÄ͘ ÅaF™O2Gý ÃvcÚE@\kV ccñ_y-³¢‡ÉËÕhpò·4<~Ïì=bvyïâ®ú;ïíÜ#”=®”€y² rFöîwËNDG—ÔÍâˆÏ{­Îö:Šò1Ö _±@U²…~<¾Nh1zÖx`ö_ô:?¢V•' 90©`z\"¹!V'ËDf¢üxB§”ýÇ[÷+ßî\û]e¬ÞDÿæ^éR5bìþ×áŒï¼A„qðø»:—í`ãS‹"·F—¥¶uòi¾_ËtÏNt¶3ÐÁ‹[2’])3šòŠÇ?Œ€D\¹Mî§fÏ¿Š§ïu´Á\ž@rHÔÁÈJ¡ÖöP®ÍT™\DøËÔ9pk òd¸ë[sn¢áÃ"ïaf—ªx“*á:ø-Èqé}fC†´Ø.C£üÌjp™ÅtÊ2Ã6UPJ^»×µÁ¨$yxMÛí¥'”Å;gÖ†âϨ÷ìì¡íY 1É[ ¬f0Ž6Gœç“1&¯ä@œƒèl?Y•&ŸYB¯ér¢GcrPDRG÷ ûžnÐ ü¦Å'¶8Û BnâRÄú Œ­â\ðUäx§´ÅS¬/LÓßNÈâK²ê4MW—ØòÓ°.lשdAü¤e«umkË ÏÅÜowÅ$—Á•wÂÌÆ#Óæ»U!Äómc±×¦bÝ耱›Ã4M„”ARíyW›‘{ú%} ¸7 p0’Ð2³xÆCU¨¿rŠBÜ"û‘Wë’×'ìWS]Šõ%§ž)Œaù¿~™Q›U9¢$44¨…å§$V$?×N9.ìÀgHº™i~©Kóàè}îX£EøœÆ¯IáÞoïT¨Á•†A¢;L Yk…P‹YÑUÙç`PJü8·½œ].˜”‘84Åÿ·»~·Ta|ñ3Wè°ØNK sþE⛆.Ÿ(÷°,ΪŒèXU6U*Þ…8g×ÀÐÑ%*ªÊæ•;u;ÑÍ÷T.¢¯~êenÏY Hàþã8,[³Úu¸œ•ù‚Ð£Ç ûù$^¡ŸY¾m;â¯U´ÊãV5k+ô‘á€I÷¤Ü/¥™h‘Db.0›ùo=dû&RÕó¸câP±ŒP~™; Ã!ß*ÀØM&Š-"­-zÁì¿]aº‘ä6ÍV?Òø(¤væ—}K<¯è™ÄòÂMxi1cƒy|Zظ#úرDà ,W@ÚNÐBRQ \¬*´Å+Nù.±+úuQÎ=us7EêÙAgÁ®S,µëIÍ'X&Ë´A¥ÎRèÿ'ªŠc’ÅNcD÷ý9ñêØ 6Š€·M»íe^Ô;éÂ÷jVý ‡Ï9þÅO ¡M3JU\­}OøŸ›?ZöÙ`0]mî“Ñtpˆ‡‡òEàkWû¥;kÿ’îÄ*¡´´ÇK8ôÝk\·ë!ÀPUR-¨Ì9Ø’sÇRñs™÷ü‚[s0©ÕËÖ~ÄrN›lFÍPWSƪ¨?W ³ÑúŒÛä/ãÔÏÔ>æÏ-É[É©ÉIfâ'º­zž Õ5)ßæؕމփ³= \¯D該܂:ÒL¬J7²A‡ª¾ÏÔ8œ_…óŒÂv ávaÉ`3(ÞïR p{vÊBŒùaGÇy‰¸Zé<€Aéƒ`{,®‘FsŠëN Êñ Ä! «·±Œ¸)ÑtÓ×ü|­õ/´q±@z/fí=O3iAAÒæ#Po&O¢ÉµÌŽ(ÍH.ØÎ™ÒRãÐßFn=~VX ÁÛ,ºÄ;´ º{Íq(uªjeVouð˜öaÑÞn•ÓçÁ“0É›¬ˆ3²=“ºù²Þ˜Ö ƒàËvÛê¸ÈPJN©·µÖ ­7B&íßÓ|Þ#øÏHQ¸x¬G œxi¨_j ñ¼q}GaXJ+*ÇKÏER“öcÂî//Œ}dz!¢¿rE/å,Ì9&º@G¾€{ÌHK \fà±åæ79÷±~4è‚šŠØ6ÜþªCãuþ` -Ddu®O9ÆF5HRvŠñ1ÏDmz)ŽY”Y"1T?X4Þ±¯ðœŽ£ü ©Ë\o ³«÷ª. ™X·pÏ<CDb$hË ‚‘ÎËë„F~fXFµ÷ ±—“ÕO¦ZI2bª¬ØGÉÛwÅžV+r±ÎºYBëú µ–ç”L6÷d«ÌÄÃ2R Îj¼ÄHÉœU4¼™¥Vw¬0=0U‘GQÚ¤LX‹IÜ ±þ³€QÜ~aõ9_ßžæ£þ/”bÙÏ*t•nÓ‹Þ“K‹”k¾nf°‚Ä‘>Z«UÓrôsp€g„“ ö ­"¥•Òßʨ/X«i^süÿë%ÑŸÀÉÎñ¦õÌŽyR"õ :3Á¿¿—~/‡Œ1ÜH§Ö?SÁBYó*”ÀJ“곫Lœñ¡%¹\æaà=¯}g‡)ûH§'Y­sŒ!ªúR³Çòñ›)a=rð¼ÊÆ:Hž`Îr³žH¦´m¨f€w5Ý)ÿj»±ËÜ·Ô¾¿Š®,᯵WP¢Cœm(%{ܼ˜è&$xRô¾‰ô#ÜÑÍkMVeŒ=õ -›€ÃõÍYðg8vñq7°̉(BânqIîÕ*ÛÖ0.k±<,bž4ÓÇONÛ_Êà„ •ªÝz@¤/m ꌱíbʘ­Y Lf»Œ j ^Wè}¼eÎzÁ‹;½Ž«þ&g‚èae]( ºg%\BsËø7™à4Ï÷¯cµ´Â:ï·?’ÖÖ±µUú—R0oý§¾ÑÁ ]ÓÚ.¤ IÒl“‹<®l’þRfì¹X­ÁУâ™}ËÝq¨\ŸµpGñ©æ¬O§øvýG¦JíË#×û}tµk¡°É³khÈŽu×e#¡bug¼Å³‰Õæš°ÝX£ê½øe(m£Ñ£ÆtÒÞ9ì/¯x†Ãɇ7L™ÏŒ¹>p7bq4ß^>âøÕãê"&Fƒ;2—•3£#æå‰ä‚V0´áJT{§WF4eÙ—+¾Ý èàѬ³š\5{Ó%höuª3œž–1H€­I‹Êc«–IF÷¦VÓõH¡‡Õ³2d=€¸a8K@dD\Sè _Ÿi´pÕ•?ª×t÷«Ø^9Ó±˜+¼ ­`!Áî¡ÞÔY£¨Íjû*2‡‡¦T‹z¸-ižXQþ$v÷%~Bêo{áÀH£dþ ðg°,zÄ–`@C´€tR.8>÷ÓÂæÎÛÞ¦MJÜ,óÙ‹aW¿¤‡CG—L?"Ƕ.} ì‘p ²þ‹„#š}Ýóƒ.X×É®QÔ/ò.cC³ë#p•qb‰{Üè mØÕ³–|p²¶äp_¤ïAU;·óT³”¿< Dkã훫úåê¯ÔÑ‘Æ&ivéö´!ë¾ÒDƒ?œQ )9U+Ãsý#Ð/Ú‘è/ˆÅä°¢´Iß+FRÁêšöÂr$/º¯ô~¬s‰Ñ=^:` ¿ë±Š­l8xž[H»•ägmÏãÏån£óD£{L}b†ÞM.BÉ©ËþÚ—!šg|ƒÍ j^ÆÀ‘AqÛzò˲$a)£’[òèâÉ»Vè'W£¸ Û‚,‰vh9 {MÐ(ËyÅøØ[‡¦.ñ’“³a̽v42ŽÚsþ¤¸0’c¼&€î:3*&A»XÆ×Z£ÙßÊîüúk"2šýÞ5M¼ñS~ìmù´ŸÊ’™ gh±ªS¹ðÁ»Ý°XÀâäf÷EK*&¢C77³’‡ g™m¿WkÊבwZäqÒ_•uEü¨v%êËìSÉXñ(’œ ów4ì´"ÉAÇŠz,=Ì»=p‹þAêê6VäAü^'ªyŽu¦·„ooëBÇ;õXXî§^M¢0xaO|¨ëJYyŸn[>OŸ$ÔÅø<8DÀ~“˜CóÆ¥Såµ²ªH呬«¢vÝ|Ú êÁÉ¥b[~˜ÿ3!á’ËÏán±+4ïS;¸‘ÀnÚØXÌS4©ävpdó²#³ü·>èöŠ@ˆŒþeåñ”«¿-Æ,ï¸[.o ü¥gËqL’«l©bh&h0šBcéÂò`I9?{ĆðÚæ· L¯¸€v¾ûf\÷J:­È¦ «dK'©h¼@ñÈdµàŒa[Ôs“Ô³¹^{Óóž4A_ë£ñ,‘u!t¬µu™äøÍõ‹Ï×ë¢Òž¯úÞ±dqý#ž0}6ØÙþ¦à"[dÊoù‚Z™¨? Î\ÙL5ÁZo)§ QE9‚sM¾‹¸~EÿÔç+sÓX½yZM;¢h{…]èRòtÌ -å‚ mþ1؈CƬNFy¥=@8ÁFxTëèÚƒT¾ŸtʃF-(¬\>«V‘©=ðedÁb§Y:­ ’ßäõý6NRäD–5ãLrÈãþa-\àŸ%åèŽG,dÛtâÂÕ0è"æc­ÂYÚ‰mÝÝú¤‘Ö;+’±Vçv–! \­§…Ñ.LIˆ!½^Äø3¨š6èÜóŠFf/LŸ¿Êi™2ؽò,¨^¨´&E Ò›W™FoAוßûó5MGSä•ÌAûêê ŒLÍ÷jR½Íù—TŠ›*Ü8 ‹ò2Îm™yǘ]Èî(¾ äb£Ä&{†§H)*s>é 01#ÉoìãÌ’&Åo–»¨y.ý)Çps€ cpœ6hT{Ÿâô”µà^µÝ¸¢ÿç+H lÿìÓÆè­Í2ß9U˜ý4ùüƹ³¢Þ!EÎ&Á‘ƒõfÈn¦Ú裒YÑUõpaèT4 ΫðGªfQ(Kh¡†˜Á3( 9oÃc†~éf+TŸ_{î‹)Ï ÒŒŒ_oe:Ê…l—ÎŒ" ?SÏO÷:»]‚Nv¯AÇ7ìoïe$¬¨*‹8oüéõH®‰†ç©y|)p¡…w'öS°îZ"W }À°¼õIN³YÄÔlá`Y>ôñŒi,üF•Æ[\ ÿäÏF/T|­>1oíÇCŒUÀh:¨5>+Çn[:1Ýžï)R#>wŽôµ£„vÒÖZ3ö¨¸BïuǘŠsË s9&VË6Ä(EÍ BŠÊdŒ/‰eW[‚t‚—ò㙟HêQtœg1sMÞÓÜ­?<{¥éz#è‹ìí\ç-½…¶kˆ9mõ gC;dL¸É|‘pÊ’eh±M¦Š¢jЬ„{£¬œ¢B´,Iå|Ì'½NzÏ l¥\.^Ñ;|•Q±Lš|8À³$ƒ)\Ëóï:F½G(BÑa(¾•©Àœ"¢Î øY2}Ù9u´4H2t¢ x­Ž–ýŽÚõÝ.¼Ò@qoHhV£ÕÿÕ1ú[œGæo%ÁÑa'Œ2JŸö;ˆºDV|WÕŽÅ1íª—˜¤O‰ý^Û|àûbá×DÖâ 8àÀnfys€0<:ò*R ¹÷ñÀXðËPé :Ñ«­8‘¨™Ç+(aûÑËÖ«/qm·*zÓ–àÎrLƒd°F;u*èwWãΦ ÁqÎ/uƒ›œîìÿ&%÷œTAqD^çúêøØ°×ád¡Ë[ yÞévÙJýì²þt_@!g˜6Ûña]ƒÝÛÀ ãƒjïÆ¯¡‡Á½z C R`@göBµ£/È•]¥õ”ÒÄVP9ºÀÊà« úçž´«ü.*n -CyãO‰B¿}²4ORôw–èÔ5—®Möªô×Cì!#V« Þ¿X8¡Ff» Ðeô?fÐê|¯¨™iÇH¼ÿ1†'á%emñ üš]JàôDJT7…¸‚Ì)BÙ÷Bÿ¥sÖ´G.Œò‡ÆÔ™Ý“AíœÂØ÷ÔýZ„“£·ocäÏöw@”c}=ìÚ¾Öq #„ýÜO*·_«yNBÎÙ³´-bbN›ôÕnˇö !8ý8ëEÖQ fûg›væ}uK{Ýã+üc2º+ Â'™‡¹´¾ºëÄ:‰Ëxâ:Þÿcön)Eü“._>`O…n‹_¹4ÆÀ»QtÜ̖èÍíÑTw%K8þ~/ÉçtÛ™Š%-’±iDVD(2’ƒì÷xAPŠyÏLK>ö O+Z ½e²´öcêÿN÷þà“‘l„ ùå><¸¨+½È½Ò]sü>Ü¢•tY'Ú¡Ã잸öt9Ñ+ÓOAÏÜÇMR«­<뇹 ñ; :‘£Ä&<|ïÝs8·ß”—eF,²²J-8šsáú=D£Tbë÷ÕH@´£çp5Z‡P´Ä»ÒÚܼ`CeSk’©7ŸÃùzñÊîÐ&)^“´7¿È›áÈðTj ÉL8bǕƎŽ8i^e6ÔÅ=¢H_jEÕEõ=˜šïfy”?fö)—•“ªŒzÅ8¯¢S<‡—)¯‚E[`ßËg‡iì7á’ XÖç19jøÛËÑU|´ÄZ &´â|Œ|Ye­ão wË„è¦æ`<%Û¼0¯1* *ɉÐhÍ^/6³' Œ ]©B$dæwÖ{ÑMâîPÍa^ƒ½ö¬!<;BÛJ¿3­ºz9º½u“ IBgùbê™B¿òÛ›"P¹]4ZEŽÌxw;qÙõVY«6úH=’ý^¿Ã?¶šAaü‚D]a¿›Jn0ÙèöœãOñYSy¤[ ßÌuå#–v‰-9Çé™d‡…¥üÃH€±ÿÏwJcQ"Žòo aSì,“cÀDëæÔWðæ÷>é1ÛntQ…Í©${ùìð\厣‰ÏÊx#äµ Š;wê·ˆ kî0ª–;j:'ã$I‘¥¾»Ù‹BU…\Ïm_[+ÆPë÷Ø'ÆÉ«x'Ô˜Ô\f»™œÅÏ›>,)eZ]×&÷JQ²é¾¼Øã po·Ù1dj^²¥¾L)¿å{hÞ躈yˆ™Õ€ u`¥êCÍdªi%¶³KÕºx®“å^S\a–– åIÓä’²8ŒüD³•xð4,O\õXt©Ñö~Ö'=©2Ê\¯“/ÍÛdÇμuåÅì!¹­Lìý<â;3xAÇd±j>ó:ßÿØ`™Ë 5»îvÛ* 1 ­çˆûú7ð× _ß¼ELÕ.=eê‹ ê¥“M†j?v:{~”ò m3¥ÝE¯\ž¬w9{䎾no Ç‘Âcã @4kâ±AÌ¥yJƒ=r4”JÂûCŒ!Êzµåe:5·ÝéÝà´Â3óÝ* DW¤ªï¼êr6såÆþ¦3™b˜îºÛÞMMa"&¢IÁMAsXìtwŽøÉühjw‚æ7sÀ­£ÓËŒ=zL¬eÝÅ»UF·x¡Bášc: öuUÁ·f¯‰Nv"½Vƒ ¿Hü£I¡FðÐhéßJ„c‡}'<…JøWÖ $Â)JH”0-©¿Ô‹ ·4Xe6Lz¬”]Ÿ~v+«N»dCçøh8 sÍB€˜Éÿ:<3ö @žÆPRÛn¨ÐGùƉcWÑ4x·œ4µ<ŸbÃ.ì?—B¶pÜß–ówQi­‘¦iN{K]çOæÂf—bx¬[æAÅývc©=ë“3« §OLæw4ÜÿN–61a/€‚­ ‘Fià“֒᪴écÇWcGƪOö,7 l¨âÞ‹l¤mòRǸz™‹¿ìxÈÙ.Ví~€Þ{Ê©kÖT üþ‚ù‘" zèÄEŸïö]ê¹Iʾ‰:y÷fع•hyv!»\ÞŒ†?7Y *ߤ µ'²´Ë_}J€ÿÉøÅy–Õœ ò:j™Ú¼êZ\ÝžänŠ9=®Â™Ï$M鸫i5¯¶z;ƪ’£Õæ-@lJ×éÔ9«S•>z°Ý@7ü5“>{÷ï× bšH‹B”²’Z0ápX…oì¾ãÿXúÂqUñw¹ÐìAf¾‰i23€-¬QÕáhÙîODo™¾b8íµBšæï+åw ‡€õúšûQR$ 0„UûšÎË;ÍëßA®{D¶ïÅz×V%‚Ldä †u7ñÝÁTC°rÍÌœwòíÀ"«¸#£ßªBÈ´¥‹' šè² [Këh©Ow©ÞmõºI€ç÷Wä‡ ÿoÍЊhvK3:'®m±£Ž­8<ÿÇàm°Ï7Ù½ZùóS®RR×jÈFB¦ÁZW¥„^Õe¼6¥nkß8÷¸QŒ–㤌“•¡NJžÞ’\Ë«Áó~âgæcQPlŸ9‚/ö†Q$ qú°ªêh¿,pÎa3 zÒ¿€{3·&”`ã¦Is$i[H€vv¾Äújc ŽÃ°‘gCàô-Ï¿+3ì¾`¤®èÌù$®ïuô ™·Lž`µæ†™?!ˆL§Né¿wÞÆœ`xU®‹Ûâ›t–ù³›º‰°xæ´M™Uj[Yu—ú8¯„Ü=^‰™¡M µS@¨MŸçƒÊá—ì,NA}“ŠÑäžG)F–qú‡–C¢·©S_Oî.BÀ^-<,—ίQ½×#Ë_îÍE¾ˆú×›dÞ‹6žˆ|)¿B"‹JE,x=1ÊáygòQê-hÉkpèùÏ–É¡ _mÖ- å™4_ízF¡¹á.â0 !n°ñÁWáA%nNÔkµ:ë êqÓ)CúÌTÑò7Ìâáñ~‹^Œîü£3-ðKV‘õ¨†Ñè™^Äm˜DLÉ VÂÈÔƒ$9“ v=âAÑ< "ÊSgG×V`æ0ïL$ôÓÒ#جrÁâeÕįµ­ðžD‹wRž¿ô”«ã9®ý¢^˜%—=sUS;øІg>|âi•ûã3²."¿‡Fù2ƒ3kçhpNv!& 9æûh•Ãq ¯±Âm;§»WÛb¸žK­¹ˆ±:óÕ2]ÌP!¢&žhÍÄrz ¡gº%;?q˜S¯™UÀøi…tÑ;GÌеĚÝ¡z}°VÁ•¶… <nTܢ͌ŠF‚^{ÿ­« aXÚ9•ÞÐ8õÕ8ý¢ô¨FËÜðw³wÝn rý\¦¥žÕâ7ó Ôoåº!" òvä«îÍ/Bze ³Ú ¾Éßšð”¶]ì-ïMdZ%©ù$høÀ6”³Ê‚¹Û©Á í:ßYÒaxá…ßðÁEµÙ'•}˜ª*`‰j%Ò¼¥ˆÏè ú¬êflbvBV/eæôû™FH·}¡${™ÛRìH°& NÖ®kwéš$•ÔÀ¼CÍFQX0 Ï9Y«(y]Š©oµß®4˸ˆ_g>89ÍÅÄw=üû™zœÄ±Àh½^° ÷oô–ÒÛX¸^^[Ïg—‚Wâ÷WlÁj"‚ùK¹å7î2á‚ëDI–UÆËã1y @€ w‡$à %+´ßiR¬L¡^;+vïËÅÝ´;t͘ÙåÛovìÖŽiÊ„çVhø)G¡µÅù‚FK¼,oÿ~Ûa×Eéĉ„ jÃkñ ñm‚(;| ͘«ÔEŸÜ»ª€ª5ç|’k_Gçw¬ el¹ê+³ZÄÀãën+¸ŒÚ£3vH³”9.ZîÓ1½9%½Oª…&ìêì¾Üs†)Ò98ÃëÊf®°¹¡qÅ ¬VR>5æ@²äj…ûéMUv±_:÷&âÂâúð%{¾,ÈIJaÿQÉ•ûòÀuUÌD<ä‰;/? )éÎ1­\¤[M<•~c%î|8=úbŠ Ú^—.Ö⎜+{ÍãܘLÝ̇Pe‡åíFDâw¨î">¼nÄeïCËÊÛƒ®¯:®`gÓéî€Ùe¦¾æ‡r*´,þ ÄkÀîiƒ\”ø0vêsƒCÏ×Å¥ shg ÚË_ ¨uÃ6Á’gš´œè¦~|Îu×üíâG@LêÐHöûMJ°g¸2¹Eä–Gܶ(žTjŠhù])™QëöšÆ‰p,$§Ô”AIêªßŸîT1\`¶{ÛI'­Á.ìÄEÆš˜bë\ààªÚu%’1ÆÇÎãü¹™(—f°ó3D¯iß`Yâq­˜;}W¹‰@°Õ|s/‰ân̳ÿ±Ö°EØBÇV϶Sðo¼õëXÓdà;JM¥æ0fÐ k½ÚÉGWîU¢ÈÉ'dæIã“òìiú³ÉrOÚò½4¨ŠB”Z|f[ú>Œ'sú Ú™ Œn`6®EÔV$»y×6øEX S>Ífº6Õå»ùã¢6y²uCV‹&´µÿ¿¸i&n .…›ç¶T¦¤?¶ ·F®ø…K[è‰øÄ¶yÌúnøŒ—÷;•Ïj®y®ó2‘áŠ^žïêª"¬éuP5;|úYw¤ú+h@ZHŽ|Øœ¯Û/W®,¹=»Qš¤G•¯ð«Ø¿#‰ LEþ Õ‚5EUöÏ2ÝÛYc½ñM”ô÷È}ŽµÇŸ_þË,åUzVÉ=s¬B™13”U} PÌâOC~±+njq]¦:/‰/*DèŒð ‡|¡­÷ "gjñ+†Ó¨A@u§¥nÉÉJéûz¨øznȆGÃwxo!ðó÷*p£Í0{‰œ’-[0&–àз»Û UÕSª’¹Š}"¢a8Såb¬jJž0:5ÁMý‘p4A"(Óq°ñJ>öÕŽO-@¿T¾é/k«–ÝJ¡"PPúßô'˜€» z‰ŒH׃¡žaš;Û‰ÈÑWöìSÅù |ˆÄ¼j[€…* ›å»éž±ÖbôS»öû¥ë׎4J ¾ôr²)5ŠhòÝB„ýÄÄîþÁyMÂfé·‡‘ÄíO–ó¶x»L…ÊxÊteâëùðmzÂÐë—/J‘ýb´_ráéÊ:šklšéMtPÃT´‰,;þÒ{éžá2Ú‡R:=ª¨@ó#=µrO‡GX3Ÿ ù-§ Í ÉïЖ™Ú?€¨ýL}­?DÆhÁ¥|}%Îìw‡¨jÄ+Ë &À‹TçÐK™.ÊtoAEžf–:èÏ÷à~05[.RÛ, 1¬džüIÞùl€l[žÚ–õþ|r6Õ3OƒçmÎI¢­#ñùFé±ÄvœK›:Z‹åû¹cô›iÝõ¸¢X½Ñ·…Zèpã0^6‡Ñ'onÞNÁ0†£)Þ°1¿k$F}È*z¬rÇÙê&#,Ñ:µÒ½ÚZFnÌK›FE=n90¯Y±÷áXÒ¡°ë¸“¸ÿ´rØé13 zÝžùG¥þ Yj0¨ ¹X¿à Î¥V%\#ÏX¯9·¡>ýâFö‚ޅ̔ŸqeÎZ¨`·”\¸C‰—ë­pH°°•æêœ¸ @†Ð¯:Q‡CÆîŠ^;GA;Ñ©2ùÕõÖïÿ Ô)zd/êÕø wô•©1Áàæ©å‘©Mú¢Q~šú;œ_Úòݵ7ø¨ÌùVå"@iß½ }áP‚eÎ@Aëßȇ¡Ò£ìtùâ§v»÷`%¹jÍ-Jƒ}ûTô.¦#k á´Ÿü•ÍM›ì¥Ñjz}5ý>0ŠÒ/Î_>ròZíèÔ[Šv}YFšÐ$)#¸8î;iR%¾Tƒ„cúºý2é{Ê _svQE0’—œzÔ®q“ŸZÇrs†Ÿ¾Iïî+¢ð¡rÈÑ}Ó¶Ç,„2õuk!œ ¸càü%ìý“Þ}»ÇlѺ¼ß¹|ã ªâõÞä|ü¹›÷Ž•Ñ—‚kSÞŸÖé!!|ÛùÑÒb,¡@™q´›)RA#ºãbYÍôÙ[üË7²FP/ÕŽ‡ALðÛXÇó2«˜|¸<2w÷ÞMÑÃ=Š Ïr¯8/Ssæp"Ça8™^d/þºK×W’ŸC~ð^ ¶µ28Óé1+ô•NÅš' œp6Ú9"b'}n³‡¥é'·Ù‡á©rËÄÜ|ĸ®Pƒ_+IÁ—„én±Š?áµJJLS&ÞìÊñð:'UZåß,éîÕ3iŠ4¬XKÁj~ÀÈê¿ù 'ÌrÕ®?ÊêÕ:mž|IðL“˜©²œDÌyÊfo8"%t¾6°,³!°Hó ™×ž2ôÙ8 óóËüÆÏäñh–otôÎ`\ü¸äöÐùU+»¿‡’`­Ë$’íNöB56ž¦|«Ø½†]^* ‰ö[ÆÍššu²ïÌTpçWJ-OOÛú1÷ZŠðÌÚñ{UH¸ª?ð”Rè>ïŒ?!Ùi2žr»$ÿA¯ÊômÀe%Õ‡7ð}?ò½¿þˆÈÿˆ‘øž2l5®‹ <¿‰`î( Ãkç8ºUo°ö•Ûž„ß:é›n<Q 0ÄU©2õ‹GÙÒÒ¯ïÈ„oÌã«Lš2¡žT):ÊTõì+žrã"£½5¦2÷l€‚2NøßÁbR[¸×Ø}ù–›çÛµZ+,/A´iÐÁ£10ùJ0Ÿ€äL%Ù']íEõ´Bo# š¿A0g w€†Ê×'‰8nÿHSÚ®ÎâtúÖ!Sc&‡&S*4‚C„9bóÑËÐM;8îpò÷kUm¸þWœÏ~ÑM­áÓ0¼óÇ f,³"¥C2êæ¨m…¦xÒREGö—òèQE=°£ +a¿|ˆy`9 ™É%ìwü&“AÒY9­"6Q£8àÕÊFÃô‡QCâ'ê(Âùr¢áH]¡ÓÛˆïäät?3ãH.‘_ZÃîÔÉÜmµ>( >|{Jw)œÜxŠãÏ¥+AŠ=¥z8Všr¸‚ä”±{²7§×»Áõ ¡gέB$R_•Ö¡Ù¶Âa°G3oÃ7y›º #é§°!õæšëøzÖ*±+å¤%DvSAc+D—6… ¢„h` Ó‚1 °4U½–+_ƒ¹ß f… \k)ÊÕ"í×ñ—‚S¼%·À6«xð–Ûî–7Ü“=ÃT¯5ç¸2ã&³Éh£èšÕ ò܉ÍC° ­\l ‚Ìc×÷ô$A;ð„†ô¼b åáî íÔ]Ç;½SõA{Õ­À ™R‰3lZú+ ]T²Bzn'‚îóÆìþc晳 \2À»ôÂý6rp£rØ-wd¸‚}4˜Ë¿/°æiUàb´§åröÀ´0 ÕÝ,ØÜÒŽ–A@FY\XÖõ–V)ÄÂ]ÏXý= ÊÔ³ÚÏiztW}â\­Ë=“ rkeêµ°†@áÉ×½¸T²‹[ºøki—ª†zœ›æ“ZQPÏì¿ÊµfFi$h䯺蛃ãÍSõp4×t‰”¶Ã©••Õ!í×ðà\°Ö¿²Š T”*Å j6¼²¼·›Oè£ÎZ(]¡­K‰à“Ÿ\™… çÓP„ÈZ@q,„ݽì/ÖáØ+þ‹c…e,žË#4¾ˆÔeÏ™]«ª©õT3‹"Õ—Sn™Ú!º¡ðøäa:@wªzJÎS=ˆŠ_G×ä°"âdM5ŽÄÚ5Òl+­£;ê0|äö¯|=ÏdãŸÀŸ OÉK*U0«šžfAy'·jVªø”Þék§íj”t¶@:B³"”iOšC9Œ¯qä‰@Ã$ÛXÕ±ÞµÜÉUS)D4åiΞž}«¢2røDAB“¨árhZøuªYuY 7±·¶ ¢ocLÞ 0B)Ö‡Sª ¢Åk d;þ_‡02qªÄ᤮ ýtôÛ-ÕNK'cc>Ç/¿åNë‰\ýÀòvÅÛì8¥Ã(;©DCQ„£îŸÒs¸Z5¯:œqˆrBh¼ê^‘2–pÔL!yàý)Æl²2já±AàsJ÷ãG•éÑj0ÌÛ$A@–{In’8B!|>«!sƒ×ó&œ9¼09U()e*¸ÐuÁ#›òºˆ;Möº ?æçlÞµÛ ;Ž3ø†*„¤Ìª6t˜£5‰sïq©6äÍ%Sg5éc¯ä„²·©I ¶ÖåûO·cøtr‘#xP £J(0 .£1Àt†¾.ÝlQ„¸Ÿ%‹í©Àøˆ‚<Çó;ƒ}ª9XÎÚÂf£äîqfZkíË!á b|aaÙ“ÊÕþÀrœS€‰Í¨–Æ´ý«ˆé›ÚD3RÂP”, Üœ>ï=ñôº— }žM "±þžÒø ¦Q´7„ÔœHབòMO`õ‡Å†û`)È*iRQÔ*ËÉÌ–™Û\yOוrõw7àr¨MZò ¿ŽÝ˼‰¥÷Ý•‹¼ÎÌŠÉ?¯u í¬¾5Ë/‹‰DlhNÿÏÃø] m®ü€iá÷—z$®½°ò:¹Tg=æ¾¼œþÿëÊãéǶ@á”vSÙËäYÒ©{5“2@Ìjg,û9U~WiÁíÎeðØ2…@)ñ­•·ç·…@´Ò{¶ï”m…(A?oHbWÛgQû‹‰¶-ù·ð?ºèy8Uðߘ.7ì@Êc…Ø´À¹ªËú‡XTÉ‚v¥ô­g0qуrDѧó‹sVOUÒu£ýOžÀ¨’ßå#•]åWj“f¹'øCC´Q:ù½‚éØLV+·<‘G0îW"ûzK³—®ýEú#®NròÌÓË Îùt÷4&f€` ‘DX»6ÙR˜Ï EW¶‚0È–èÊçlâ {âC®Ìþ#î—‘Wû«ˆ‹GÈG¶BsÃÛÁ=E+ŒR‘bs[·æzëTIo°!ÀÔQxžƒU>² ™ì<#—¦ÌñJZ´diîT‹ŒS8°$c•é7²…ÜäQ:U6ÁÑŸ)Æ~¿:Õ)Ê@Q¸Ó‚€ŽJëØyéJ§ÕŒ6G%d¼¸þ¹½ X{ý7ìÍcŒ•82U.3p“©~Ê?u&|¤™ÎÊrôè¸$ Xþ}ýöVÚüVE:’–¶kB?€•fÚŸÛuÏqÎÀÅ8æ'O%o# Ÿu£unq£Gõ„k…¢ˆš‰Zx½ÔÀ¤ùÚÒ*B ükZŸá‡Z¬P#ÇKE°\—\E_â¯RRÆÈ¨®^•[îi}pдëó>ÐX­Ëñâ½¥FA bœ'FîÄ1ÓEVÖk,%bðWÚ$bÊÜ#£…I@­{Ó YF¾û2ç-!ÿ†î» SrïgãúÒ~V HçÊy Tû½í øç๽űω¡á<Æõ”ó mwR«¯uÕ™aÇÍÓÖýCÛ³UjßsÊàå+¼Ô¾QI‰–@*`>FCÊÿV|±,I”ÿ€hQ’/UNg7kÇ÷°1VoEzøê¾ÿËDsíÔy×ðõŽÃ„õÿ/ŠzÇoåõ:pÊ~gzkpX .cR3ÔšŸ8IéDÕ(ëL*ëªQ ‘'G ’ßF«U¹… Wß'rŤ£FˆÁøÁ*Ã=a«öö‹fpK×òs!7^ž¶ŒG9På:µe§OrGÆ`?[`LÄwéHe L”iÍmñ{œGÙB^ØÂoÀ[¸•¨ê·(–é åyD8í<ˆ)µßöOüEÚ[—PÉNº…º¦¼þæ±úP¡#nõõ3 ^¿GLJ¿*ˆ-3Ó²Ž_Ã"ç¹8Zó´o<‹v¹ÁÁЦwk„mI›²_+tWvGlc}«:!]Î[üàbq6f!œ@ù†T!Ñ{ÈŸ#j+€ñV¢"‡À¹Cÿ´Ã×NÖ[i,UH:y<ѧEº:í|)·µ|qt›ÍAEWˆr™9wÅùm+5U›Œ6'&@%X(“ ÜqË:²B´ŸŸ×ùo´üø:\ú§G’œŸÁ.)Å• `]a ³,£@Çâ…·[kG:©¾¥Üc<É¡hà,Mà AâÓ|¹s-òû+IÙríŠIh÷Ç;€g’Î\h'ÿš¡×§>-µ?¸XЃÍK*©ˆãªUø”î…rÛŽ½åŸ0׌~ÖE-€¿´ŽNä·öê-õcÎf›9ŠöüKÁ¬4¼ò ™3—]ì÷E¹$˸@ùRhï ~Jj?&T4ä+ÂDìµz:•ÐƒÜ Ø@ •«KLº)‘Ìcyï[–€ï_™æo|Ì™Ááj†Ë;øU©:!"M[n¨u`”©•ÔXBWQÀÝ>\=ð¤ù ½  }n KOëænh57J’Ó$¡¥¼úü¡{!F¬í¤{ ýe\ÇwGÀC×-6œYïð`T…<=³]Ì]«öJÍ/ÂìESs®Ü#S*Ákœßôï²ò;rktÐ |û™õÃ…°èÉ=`¦[˜Éê’XÔ8Ó¬/äêzȹ1ý2ÐR‹öCŽÉÔ?µ÷õgS8Å—R«L+cÛ­sjY$À]ª} îyl7aHVI[ù(¾W Im¹$”¬ õ´:sì+070 G[t:­ oû‡¢Cž_Ç¥5ápã퇈 ¨+‘¹‡ÜÞn¶„æÂ£þ¹÷<—ÓcÅ{äi~Ðäu`E‚l0štüÐÄ ôgÌ7þ”¡ˆì,M©)0F9ìA7mÀ+aG@=¸“˜œœ>fÛq÷2ì1–#K®×óÊÎpò_*md«ë…òõ<œájÜ%¡X¾'~¤F‘ýLâ„èHåØ Ó¢c3œ)Žózš¹Š¥“æù$E¦ladTnG¤vR¦×\–eÚ¥JñY”&Ža¤™&6¸%‚^ èÅš]“Ù¯`Ú礛³w ]Ñ‘ Ýj›ßi”á)¹u ¨31X»Îz¶f¥ì<Jt?VG³--èIC;é/m’{r?÷öi‹L£Ýëh§àFæ˜ Í§·L<Ö&ÂÈò…øc3yùGæ­Ä պɉîUÈ9Ö¦Ÿï§DšœùÉZø·k!XîŒÉ䈱âÇ+«bTE%#c»¬Á TBƒG»J‘yTpž¿jªQbþßCx$†Zs½ý}–`·™>•”áŒÍÅËÅŒ%SñYù3ØïÚJº³åy†<ücðQ¸Hþ"³ *{ÅaàªÄ"JŽJè§Ë%m¯UÆn§ ¼JDDÉÝÿq±nðõ3RzØÉ.GåÏËìÉRá¢ÑMìÿÁŽýcc½ÞN£^á¨ãaUÞ­ Z´Ó^¼FÑÌlÖDÄòÉ3“וÂ!׎}ÀQûÑ)‚ ‘«¯tÚgó*Þy¨Ÿ !Àx¾X2’¹ã1²îœSGžw×"¼K®rze„„3µ0¨z#õL!Ë2ìJÞu7tö-ƒÄaò!)÷{ôÜÁpø»Ú2é¼m_gÇèò‘ÕbllÊ6ÊŠš ;O‚¢3èØ!@ßà± ¶yÙëR‰&‡‰ ¥JÔÌÊ´ôN5'eÕßµ¨ €‚\)ļ§< —$K|1Ûg¯â1©-Ë=u=Š"×3Ÿ¼œÕ Ú8ª±C-Ö^Ú 3y CGº©ØÇSÛuJ‘.­‘—Å#gg^zÑ{¦*´‘ŽõMî8KS;÷^<‡ Æ?«™ä"Ìx<"ãJfÕæ/&iÎHlíd©??غlÝs–ÄØmSI­¸ãKÀ$ÙRaÂG ›ÊñmËöø»‹Ýðè½{ºÀ¹†ŽÖŽÑ"µ$í@w2³/ò§Ú7ÔYñùVZƒ"söŠ¥‡E¾Eœ¦vf›—š óÓxðW®…8L€Lç"h’JÏ`ÂÜ¥vÃMÙU3e_ÔQËìoîÛV†1 ÜŸ&¢‘·"@dƧ´U0»3wS:Õ83nmoWøïÕ‡±Žœïô©X¡‹ËöªåK¦`O“ŒðÅE¾Þ0<¢hb….¿¼›â9#ñ±¥ë41øï:» &÷Ëiaê_ ܵ±Gˆ2_Q} Ý&²<§C¯C•¼Ç¾É ¿w‘Œ6¨¾V©­‹™9°T§z¸öà!Ü)WªB¹Â—&ÉŸ-Çwfû†dí‡Ù䣞BäºØ<)á y|Õ™T™'é Ç•êòåÖ€Æ8«\†S®–ÊFxTV£…Äü0§óA”lj`/ήá‹a–-¦Ò¯îˆOW~8<Œ\ ¼tT•µfÛK‚оexØ$#ÛSà%îä}}Ö¯½(kÕÌ^«¢V?“âüÉßÚö ¡!£ì-hùËj]GËDLJss>H>S½¿äîAðƒØ‡Ç†…S¥µÛ7àˆoRî4xМ§— g|Zض0›¤Ÿ«wÁqW"*Ä ý ë$°ÛûCB'‡X³]{GcÆ56<jÏÍá•æ?õÊf_ކSÝNçš•©à¿¹ù|^>[z]¹,£Ý r]ßLÐ-,ô¤Ï[`‘‰[¤Úèh Ymëo8Ú÷€z:¡hÓX]µ3éZ «\g«´â˜®pq¹#–s×fÉç½ÊêôôpûDÉÀ~EóQqLš¬Q%]‹Óy Ô›ü´Î™€][ ‹Jl•ñ„ÍbŽð¯BìXž[µ¥èó†£Ú~/í΃”Ut /4þW¸'ùs+ú>¨ŸpÈŠCw@B4àž%iFGÌ߯å~íAí€QÃ׺ƒÂòž†øBÃ/£t9ôl¼ …ºË‰mh™üјÿK‹ .O<ÈtÍɹ¿ sïÏÑÖLˆ¨&oX†åF—†—•p¯Î¦H²%3wÛzr1§Œ» %dRæÁæ`ÅûF´sç 'ÕR‚ÁÈÎêÜ•uLaî -íiÕ¥ñzk·Â!n=à[~ ì[Óx‘%¹Àš<_Òà£_°Š_|7¶~•Ш¬zØ`õpéV–Þ›è(¶·ÈÝ~„Ó±µKÌ4æ‰*­ˆŽþòø¨ÐÓã\ª¾×mFZ ãAš5ïv/nbákañ?E˜í™¦d°_¶:Ó”c‰XÓq  ¿°=ù¬½½ ÿ¬ÄánE÷À©UApÛv†KXÙdú9:çJ-½VoÉÖÂÃ\/¶žÝdª‘~ÏÏÓÖpºÉ“iø¸KçÇy\QoM6MqÁï7&bÿƒWOü²Abv™–\ÒH µ{Ž’þ?™U}ÂÒßýB§£.b07;¤ƒvP.×ËÈ 9 .õDþ=51iÖ°*íÉQo¯=R¥ÛÑ;2nª „·µ´•5ûê R/èýÇÔ÷ê,®tp•ç Ø´ªL$ÄcÚÏkŸ³¤$ýØoù E"ȯ/~²ïß~¼A…мôóZ«s}gøbMåþô/ƒÐvnI4°™ÍìàâäšðÁ+í–i¤F¿õ˜F“éw(ù?署B“³žY9möÕá˜U‡°Ç–øþ¸u¤&!€ ?[sú+÷”2ò`KúÕ¢qþ2' Ö#C ’ËWÄÉSdp×JÆÖÚWS¯ÿªoáí¤<ÍŽé*„å2é_תµHݨ¶{ƒZÕ†‡c¶:Ý´_'wCÐýÂ#¾8ÙhD_û®N}wóœà°ÏÐl4KͼÇtKwS¿;†°É¹é*Ëj$‡'[éë¸w·aKÅ=˜+Û¤Eoëvœåï’ GW¨G‰º®kqÁ¡é(]‘*O¿02®xìà7Þ覔/(lò`Õ3K+Û‡…4øš²ªðÚòN'NÃa¯Ô}>Æü뵑jí}ããe–“æ=´–ÝV6ýÖŠh?ƒÆw9Wf £b(I•O‡F8Uà×uømº¬pÍ7 ”í®ÿ9hÕ—Z„*PâJ@§†–ê}|”[ rjê³ü,€‚À¦‰hüÆ»…¸ÇèN„Ö?8ñáݤÿí¤Óìé ª ŒÝ4š)Jà|…A¾F+29PV+käç~9žE`Úq]»æaUƒR† Dn‹²z6¸Óô¡è=V eJ`º‹j¿¼ô¡i„ó\G!¾Ö!ddöB_7bƒâXu·û÷ÊS4á•wNjí¶-7ªÝ ÇÒ Y)H]PñqzÙÙí/h= ÓÕcÍ›öÈ[¨³K¼þ-PŒ1<Ñ $3ƒ…ªh‡øšYi2qZ³µP~È;Û狼{½!^!ØéŽ£x‰Ó°Ñþ­óœ7”å4˜ÓzOè+Âêö ðY0,–¤·×7–í¯”}rÖÎPbGY°x¬Uú#µò…9¼"aK”e”{1MO–ÂÂi›wÝ·ïs‹h¡¢››Ý4±Õä÷/»fQÍÀVÃtŠðòލ—fm:o:iAi`á3hµlA[ï1ÜŸ {jÌßÅâ ”£<ÝBˆS,ŽÏ§ƒ ‡éâš>5ü5AÈbŸÓÏÿ>®¦$¶~.Ș§:z/eå¯L7à‘V·9¶E.6Õ¯º–\Ý`;o÷æ²NÒÖÙ›² /z剺ZÝùZM½ç_ÂPÆkkÑ#ÿ Á|ù¡¥¿\0‹³–Šï Ô·Õaq !aOQ0")Ò¸fEK“¾—í`‚æµ­߬L¹õ2…ª«¯± Ãæ?ü%Šyícæ·Jïd‰ÈVŒ.OÛÔ?é½É Øm±xæN¢ßb„ý}†Ik³…E{Z ” Æ kYΧ'ž”DƒÞ\šÇuCƒÓ8 À°ò]k¼˜ˆäg˜…@ƒ,¨˜€OêAßìuõË‚°R] X’•è‰h-u$Š$b w*úvˆôç­ô)Vj O)¶ðÝž‹.„Ø¥ŽÏ'2죒¸ÄÛÔU‰©”<2 7ðØÕÁB|{;VhÔÂ'ÛÛ¦'+^ð’Dû;š®,³r`U »×>rb[x_ M]y긜Ê6’NFÎG÷+×úz8îuz€N2üĪÕÀûˆnóIÅ„ÿÒ[|n¿q+˜M÷ÒŒêÿ"À¦øÏßLÂïï«6o«Ç"7”ýX ›ðƒhwÁ§weBEiKj=¢W`vïh&9¤ÖÑšJ8èi)Ò.E¥Æ~2ß KàÜåèò€xCðªÅcÄÒ¨—íÂR"ç^žø%òþxYäõ1^ò0¤s#3w“‚€É0À2{™l–"ÔËÄNs.ªÂ%Ñá ©F‰8Á¸z =^V e}ݯø|uÏX¹Û2 °Ø"×vOî&‘IÞL®ð'ÔOg«¼Sd ™NËþxë<$…͘~Žr賺}hTˆ;$Ȧg¥,N L2Ú”-ßíä^cgŠ öçÄ÷é1¿÷ý l uÎ ã·¨±lô6AÞU«é­nëÛ`Bº1>ë,¨\zvýX¢iƒIJPðÉ úAe#q+è5hÌ[°O årË}‰>‘ëË°ÈØ±9g±ëOPB¿½óœ+ôù´Ÿ›%À¬Ð«{ -iøÏ¨x¥¿ãÚHÙÜ+ºôº'lEšð`5ÄF4HBœ¨†. ²³\±(Ñ(ˆÙBøŠ§½£‰"ò†û µ„ŠS«æøL”Ê×—EÀÊsõ×zF™ß $,Âîn÷J)ÄωÃj¯tÜI}«~­¡,æÅIÖŠS¡ßòÍûà‰tâÊo¥=$ñ­`ßã9ÝÀ ºÑ`ë çóÓßsý QHsm+";ba ‡e—5ˆ×/½¹ó›JyEûíFôýõÝWbÅéÜíØÄ]mˆ¿;R˜åÔ úÛ MdŽ¡|‹¡™)’—4¹ÈôJ¸œ¬­4‹ÊW+5,±5Ûr\)E7#ZžqÌf¬÷F‡ú+<{˜@žE„p…Îs·x¦§K½Ð1¦‰zOjR~€$½f·J}ùéK<Á]„‡£†Êi &O*ƒâ3äÛŸ´Çº–YQ¯ÃO!:„`›]=T/Ž|à¿,Zª_áž)’  ů¸ŒU4‰f÷']­óÉÎíoÈÍÕrª€4å¢÷®‚w»S‰¬¨!ŒA*‡«ë†rA Ã?ùÓ4¯öN³ú¨¼õþ0{Ï5¢± (:!]ö:¢Ç·Ðfp«½(àC ­Ú5Ô‘h¸i—W%Q€N,wœÕ5šâ¾S,Ö÷I,­$ዜÿkq6„kfÞ–[> מÓÇ,é4üã‡ìÙ@çÇÎyE¸ä@ý†^a¾½$óž+}3Š£†¡H%å° ##5çÄã7ÔáLF ƒoË7&I”åËšH¹{?õP3/— ‘ü´hì-zJ˜ý"OÈ P'M9 ‘Butñ²èe2A߈WD>-l/PqªPw(µLÊÿor³`TðwGd™ÊeU²a$å``=>¦Yžz©î„fŒ±ŒdŠüKbØ®º?Á÷}Ϥ¦èg¯"*us$úa€ˆ _5ütÜ÷XÏö݂ګÂéÉÅ“ñÃnœS ¯%8ϲgJ"n曯g’Ò®ødÀå!…:b6&û‰`V•kÚ 2Ot#g/w€R3yM,ª ðŽ/(K ¼‡y-b!_t>qs|†ÄîãxŸV” —û4òÓÅ´åÊ¥ÛЩbGpäæœè…=5·4C}ä|{XÓ-ΞöOÈp¡;Uóþî–.‚¦â¨m9°ü %dÈ, ÎpÍ쨱Ëê ´Ãû£¸c]0ÙOC6G4ïs+»ÁÅß)Þ}à @é†|uºj?˜Tº"7#\LY«”ãâ0Ül¿*ÃÚ7ÍWþJÞ"²§\7ãcµâÙåA.*9s?ß 28üôþW{m‚ª$àêô@ãØŸÓ*ëøÐü$yK¶Á©BGgWÏMþU%s>HîO=Ëü‡öâG:+^|øÂèí¢Å»ÞðÔóMÙISnA<-¢¹ˆ-¥r-‹¯W~´h`ªÑ㘓þ› »j°Áïã0H$‰+ý&„°¡Õš^óír-Ôp .µŽÏ—þ×ÓË£Ê'wþ°*ò߯1Wˆá&î©—KÛ›±f²áÞÐ{ÁM¹ ž²gdG¾Ø!Þñ Vl»àƒg0¥Q Ï™ÕztJj¢uyP÷n4α*ÔÐŽ^»×#Jü@buw ƒšMS˜ ëž\ý)ÌCƒ=ú1‚d'ï¸OŠV?Ÿ#ÂÀ™éíË=nˆ*ø6ÄBm}ÐßC^vöQ΢³ß#Z"$+ѳD2ï²½ͺU§ñ~Â\‚àÁjû`˜Õ6ƒ6fv›!¤(€S:²ðvvÑæ,ŸAcBœëæ´Žï^ [Ü `!]ðùÂRôþ1n^íÔxCLбÑöTecÍ M†µ_íúx]uÇ,|êªÿʹw. š6Mògt<Т 9ºŽâ8*d?ËØÈ÷¨ShÚ"ô=«<æ­{àÕd‰!Fm”‹›ªŒäµt-!»†«ÀV‘€1 ^¾}YŠYêWh0Ô›þ:ÜËBK˜‚OŒ\hY)·¬g…¯ÄÊ'êã¢É›àÅÔ„8`Û/J<,á AtyÎ^QëÒ^ŸGaª½J^x`6X¹ú}&Pˆä“£lF7£Xc6=.G! Í¢¯ÿô¥R=œ¦° ”0h¸jèÈìqÕ™zûà„ °wfäZŽ›67ìñw&`¥"œ@â>êÕHs7…ùb7ÌKQ{å¸rç±ÍÞ^£Ù¼Ø¹¹˜Õ""ZɆ>m¡ï pgîÜÂ­Ž€à_´ú9ˆyˆÕÌ “V»fïXwiîäÅNïÿz¢XÔ–ô¸’)K«ö«ÝÑåÄFö,‡¢c¥Ž–¼ôú bч#•îvZú Oº^µ%Ê„Ýиy¡¸ÃCîD!srÖöã-ÑhDPD Vh$ç8„8”N´Þ U•t¢eÌËšg§‡´,q¢,‰ó·öü@<£HŸ^¢o,ʬ¢ hg¥=ÿ•£ô‹#pý’·áyáò\_ØGÖÂ_MPO^}\±‚<Ñý³Dh'•8ù~¸pvvå©Öh–¡»Eˆ5fȇ‘b|Ö1lUï>)YÞ»¾y6Ûš™[JPxß¾@zM.5°Â|*ã> ø–ãÔ%>•Ñð"÷v7ˆ½™gêÿØŠyá úv’ìü®LƒWjFãÍß®N`‰býQ| íë—ÐD4æ³ÁÆ—*’Ÿ¯Š´ò4‹†ÍVÙL±7ßaÖƒ[§Ñù±`i¸ëÊJü< {"æ“ÿ¨t€ @™ÊHȸ ÕìmÖvµÚéÐÙ™Ån½Ñ§$ž.Ûi*ܼô¶n®Xk1ý§ªwc½Ò"L‘'´›ø“ ÓÿGÙ¿ø­&>;Ñ$‰R”µMHYcV±t±Ø!¥ã¿:¤>óÀ—uÔƒªìrŒG¤¹±î=Ô—õ—Y3S0í^T(rŽ6¶h1Ûø a9ûgÅ·µîÀz—ѲuíKÆÉÉ…ÉŸsGmL¿ s£ˆ!ÓNÈÆGM{ùÐ,Ü!%,÷sÇù³/5c¬ ÔÒÔXÞ¢ÚEn¬´¥ã=93Ûô ¡ÆMÓAc„ŽhtÁ¸»d¥Ú;hÆëFÜ5ö5Š¥sô™°^¤Wë±²‹A!kT'Jåðð[zæLLÀ@€ÓI.-6ØãÉ6äÉóÎçC0ï¥& ðƒeáT¨§ǵ\”‹»r“†¤¦ é[ãWÔ k`e±ãÀü¬k‰aˆ>%*OS4Ø¡2„UÀk~K¢FÝÎ'bwÐÇ<¶WÕ/ ¡VÑXǸ—‚§òIpüfcH{ÊÓ¡ºš_L‹2bÞå?àŒÎGÍêE-.Ùš™MnoØ%”ËþÅÝšRgœ>êÌc]--imÜmÊMjÊ„VÓ-4ìã@sl™ àïX¥|Áµ²ë×°VQÕ׋ÆŠØÓ§ð\TGUí(¤È»îÄwãv”Uk[å† ÿTöA—½._çn¤Bù»„5â·™*!Æ_Ùçh×ðE;”}äúÒƒIÅ9µ1bhJ rQþY“7+Wnü®$EnÃõà혈þÖpЩ§®B­þ pY×-)2›-¤Ìö¼kC.‚aÚ*ðT9Ôo„κÜ2}jÏEgl¿'›·Âìˆú“÷À=G {z@pHa_ì¥&a¯3…S6Z±ºÅôe`E1e, SëE8 VȱS¯³ƒÝsv·ÿ0í†pñáffJOÆ4žÏPßÕ‹Ëcß¾‚OÿŽió‡Ë¤jì†6ý ÷Fq%$ˆ³Ø{‘W»9b#tû”' 5÷*ÉØDžß:ó§¦<%¥ŠÇ|g7žþ¨±Q¨ôA‹Õ`¿]×"Ïó/Ìe5ÂB„ž/·ÃæÞëÜAŠÃêóZ8Ããa÷õ‹£ˆºÞ²]BÏ”ªé•‘Ü£µÔ*ýŠU©÷nÎJwÁ¸‰ ÀŽNz§3ÿÊxàºÄ#4 W"F¢*áô½gg¢5gÍ篽B–uY‹vboõÜ)Џÿ”Pp5]î° ¡I Ì[É·¤ÎPá'jíëyÙWµb`.T¡Û)ç¶$nã³w<»_3sÑ$ŒpÓUÒ&jÆ¥×€…lI×QÂ@ì-²?˜Ëm³ ZÒýWµº4Õ`‹˜Â-¨ÇEÈoÄþ Ÿl@=žíX馕©NN`»¼.§çp4 ¬(ìÉâÌêÕàÕ™ YrOøqë­Q¢JDª¥–A\"è)À5.~VäúÙ¶(qŒ–Áê{5 O˜-Áê†}:gäߘy‘y¬£øK†*µ„—$8-ÓÛRfÅŸš7y¶°Øú%Ð ÈÐQ*¿‰EÞp$˜1gô."K ¸…O¯Ô%Ù“Æ»æÍr$1r0LƳ’K™òÀÑóžFúÖ÷÷ºÿšö&aêw§ »³À&x‚j©ñ3Døé¸|æäp#Õ^襖 qº©³2a{êÌf£]¨X5züIYâßõ±l&•¬‘÷Úe´( Õa^ÜOƒ”‰VÀ“Æ¡…qƒ?­¢‚cÀÛ¬;ºô½ì*€â$Ý@G‹žÀ.ÉÖ/ªÏó›ÙõŸ *Œ3/7¿Æó©çvÑáýKhª«™{¯Íx{IþehÁÉiO¬{Ž^”?À–Ä¢1ðëFûË´ðû°oúe¸`¥«ó„nuJ›œò ÙODn (»DXETšyˆ‰(øü¿þ›†*³‹ŸQD™=½€«‘Ê.2B`Œdk·³a=»EÓò›®uîuÔ¡Y_'çâ%oWψ¤ƒdƒ§Š·{y7[J VéìÂýâÖbá¼~ï'M1*{—;6–~ͶpcÚëT^W«Ðnö‹³·LkëB¼Mû—¤åwÈKµˆ÷X–Ý:Y_ÔàUŸ¡ÆYÔ:ê ¿…ƒÜ3 x’ääkX·‘½vÖ†'%ugáÅ%¸cëÁ=¹éÑÚ×Vç!xlŠ·'+;ŠFºô{Pçõ~°’a7¯zñ‰N3MgNa“À¦°qÇêb'3|æc¡ßÉ“œÊ¢—Î0/•©Z4wOmÌ«/r‹ö,éà ٠(p®²ó9ª53ÈÕ„$<øx¨4ÌKgj^BuéϧàÅÔ´º8a­/‹ËÕ¿‹ †S>T¯Èù‡¹/“)˜‰ÂZ-Hde|JDñÆ´L›RßÄ€¥ðQB›T˜úOÂÉã· ÅPþÙ £ýõ}kp½ÚÍܪ«¬Î šuR•r² xO1’àÆ~ݘŽ^Sšf3ÏìbìTy°ãР .h$v‘Þf9fO`ˆÍ"I†@\Ëãñö õJkU,µïÜX¥žàãÖËëF§«(Ó™b0BiúJDíÊÃ…ÿðaõÔà)™U€Ã*ûÓ¼Ö–¼¬ÝGN OÓ³i«$èëõóÖ–ñ+â9œ.É‚Ë2äçÅS´ùÛ)…âÌ«ìW&—·´ ¦åøL˜w¨uj?Íéåog7°eú–4:lëœÂ§\´{‰Azï;p±Íl¿ç@‡GLM¯€+ð¢ðþe–Úœ˜«*Ú£JÿøwÂEA,‡Éƒ6-¶Ô‚)jµŠp]˜‚¿{Øö#_ì΋Õá t‚dììò_¿ŒR"WŸúØ+·^Y’gï4!í`ŽÝT9¿P§r dþ¤Ä߬NyQ§R”g‘‘AWkò/ÙZ׈í,ú¡ö ¸¢:oˆ½ ‘´ÿ„gF’ÏKí‡%h˜‘–¦ P NC¶«¸Ç:=\{ˆÂÜ]©3Õ\Å2° ¡ýÅ ›¥ S2äÀ+ñˆ ç %Ø;‹·ºˆ>N×_”oïlÿ['ÂAˆ_ïïWøp¬×xÒN…J‘ —ƒêú­v„|˜;JH_7(K m˜ØS¸ ì„A ¿ºÊ‹¡’DŒ8+!·y¦¬æÿ#;W›ŽmÜ ¦™™%#ºœ,âØ¨B/s __j‚ 3 ºP‹T &«Ùvæ„©´ÖRMâ3z”²O²Žú£n„Úby¯Q­" ö½O*¹]wÄךR²`Fm×È9œ‡n¢åCä¸éQ X6” õED„!¸^Z>VhÜé7ËÈÔ¾^Øã ED,Ë#2Z…;F?`öJ,ŠLíDj{é‚M<"2!íó+žã9Ïs—÷ÒÇæ`çñ6¸ïux‡J$ŠÆS/Áj:Ígd£H!s:Þ¡9Ü ´ÏW“ )êéçZh˜×§FëÜ@"üâß+öÀ‰õLÀ$Ï&°ÅAŠç‰g.zsëvfö¬~ ;Mºä<ÛœÚ ã®Ñˆk³S"¹÷»¯‰òC÷DH&•lzÓ& ÔS²ý~d¡i>œÓðõVõÃJOÖÚ?ïÁ‘è‡ï¹ñìûXAT(ÚÁ­£[…æK‘z – ´_7YƵ ¼Ã9—µ¦Å\&0•pµ§Ä¦PœjRv[½JbÅ.Ъ4Ãm”ۛ׫Ro1ƒՊ4=+.ŸÉÎgæ¿K”÷ æ7|ÞHYF8nŒlÈ“Åqiêûbõ@³?{­Ay¨n½)µþƒ ñê’DKŸ/ȃ9Q7Äj+.,99ûŽÝ•F¬An»p—\ê¶» €0f\·òÛÝBà—ͪrÊÉ̳ØÍÞ£1¡ÚbC$v_{6å—« /i9øìŒFŽèµ'Rc%ò`Ù©sÃÂB²ùC„B’’æMq¯IÝW¶%ÒÐâ™ ¨K‹Ý‹)Á±/dhfÿðU¡Ž²ñÓnþ ´'Z½óÖëbS§tdóAâ]è¡8‘ö„ͨlè/ÛÃ%¾Z2‹fžµàkZû XDêf±í¡u[¾eÖA/•ŠV‘µù¾D:Zò€[ºØcB yཱ$ðÏÔÒ.{ì'^ñ¢sêñÏiÒó|øëù•ûâ¡À´)lÿ?‰zœ»Vؘ°oãÒµfY4ŒèÊÁ»ßųcžLc4ïœëE‹NÈ É!Éê%Æ‚S8€æÂà _¬¸ûÇŽ ™vĵ+?ê Ÿ[‡“²âuJ4>¡¹¤¥ÚnŠœJEë¿’ƒu†•¬Ÿ}Ôæd´oÔâ”`ïÓI_šùüí#Œß麴ï8óÄèS>S؃¾ŒŒäe‘Cø ÛVdŒ†`ÙrìGŒºåæXn&³‹ qÂÚàæ}ü·ØeªäM&Ê1}RWGZ1×D”7UÄ9ar6cB”Jöê;«¼ Gf³¹„ZïaV¼Øjâ *J:pé®»úñ ר¹¨ëýq+m'AÙQ¥˜$G—5´mЛª—³ü `=©£§!t«y…ò.´õëjôzó¼¡ñœºcRܪuÍ ÔcÁå!#‰‘pèkÊ}¸ƒ­s ÛÆ3®Cg-ÙYék?6Ò¦F~O¡Îû5~¥X/ÃÑP2Þ@J¨ÞÎ6ºFÆæÁ-Rƒì[dj,#4]gœ‹2ŒÕ)Ñ@(ŠnÆÑv©ð½ˆMYZ””Ÿ?U`Îû±U}uPVèˆ8!ZR]1¨7A$xÜùÎ_DåãÞt°´5“•š¨õ’¨eö·¹‰U¿ƒ×ðt¼ÌÁËyçšqbz§kìèip.Œ×d¡S5ŸKÆÆÈGש•— {¨pšKUzúŽXµ;£;¹§Þò0Ës¢a'q‚,%»9* ÿ%+C$×"—\ÝõŠ^Ç /›È”U‚O_iZe^5Z;ø}yL‘B9[˽4ë{” mµÖ’-×.Úzuã²—,Û.äR Ç ·Ïš›go¥u€6Ï;h—J·Ê"æÂšèƒu7æ&™]¸F‡&‘¸HÃV¼¨W±ÓàtáÝjИNS°Hz]²gë_i{:¬‡ÏdÀ²|ô)?!“Šv XVlPÕ @º"÷¿cyc²–äÑÎâ[«Èn†0 SÖÀಉŸÒ#ÙN$všûh)Ï’ÍuÂâ—K3‡'£Ã=¾>-rBî˜1±ôð:õ©”4Ëu‘€ÛàÊ?›q cåf7‰¼&U^Å霼FHxê,ê¿HÐ.èq%ky€PüøÅ·*åÐõ¡K’ídИwàk÷lqsÉ‹`JEšÃ›Gê>ù`” gÌcV&ÿÎÜV~õ–ˆ™ œü™Ÿ™ÈÙ´3ƒ\T-%DŸQ†mÕ«‹ÕDAaÔld;ÄÞ.¢Œä°6ÝóEÑ¶Ý ¶šm^}}vg¥–I‰ÔUÿQäI¯/ÅÊxùuÖ•ø§Õæ®RïpÈÅ·‹š¦£ „6EyS4àô÷I~¿Ó\prR›Îæo`è´ÞÉåÛV?MïÐö¤åEvÂ…Ù“gï‹ã€ —K“žßHT µ› WWséÀ3"YçPØüûy’Ñ'âpFW(e ÈõLoùYp|OSCËi*ÍÕ…4çY¢ÜΰŒ>,ÏÕäSÞÙ±-á.ðbóÀÁ+'‚€½ n" "v±’ðõ%DdÛ·+ÁÞ€³„F“ζ—íËtÌ’¹®UˆÜ•+šD(è ?hèÏ›H;ª»;›ïI©.GS§È.×vþ5îIW§Ù^ðá…\zGØzCÖkQk§°€çµ°Ž®¶i`I†Û 3Ò¯“e6Þº“–L¿w<ïÆý@~c¸«´J')d”MùhMˆ4Ô6 •­hbà‚Æ C3`é?«Ùûd‹¼ÂÀî 2/kòú‘Bg@4Thö›±XŠñ8„ÿºžì£»àŠJ(ºö¥“&Õ]i´ýÕëV»½8ï/áëû±JûQ@ý`ië¯IKˇ,±tS­&Dlj‰RÚéòß¿Nûx?ŠâLõ–( z« ¤üßëdIÂ/é4ÀâCð!J žû>¥Û! $9?°ø‡&t&–aGq¥f‘ šjw¤ÅZQg$"Hˆs?·KÙFɹ°¾?3ÊE"2¨PÈ2¬;k&"¡Â`.0X‚˜” Þ`+ø¢qýŸøuìËP˜”µ[Ê’*csøa%µKx—ÔO‡ä‡Þ²Iðïàé°Éÿî"p1*’À©Ç¦Û÷}‹»ý¿m6»g]*òZOxÏ ÏWÕ¸ FeÄ5i_麔¥W¢ò*ä®[÷¤g_ub¶»³³!Cq¢Ö°JìB`´s'¿ù‚ÑWˆDˆ÷&dË0ɺwÏ—Õ.+SKÚpE­µu_Y>PØ\רk½‹å%y…òºâÎõV¼øÉc‡ÖŠ¼Ù…ÖÌZ —M1Û¦G6 ×ýÃÖl¤•hž³Yж ¥uô¾”ßÿÝñÓ¥ žß,I)ÄÛ7V­‘bÚÑP¦®Ùºq€ÉW:<7Éúë–Ìë(_ôݽøa¨/ýv»§yϲXdšó ê^͇žÜÆj¬ôÌ>~µ^m‹Rw û¥V¸æÜ!‚üˆ•Úû¯r™^6…ë6åfVs—‰9–‰éuɪryc£ÝŒ @Üh‡2‘AÆfƒm£Œ8tl£œ\ BÔ8ƒD¬ÙÏl`¶æ¯ÍÆ"yóצüútË£ßñÓÒĮ㭈_y/D–7Ó ¯tïÈÆ6|‘B“kãǾhZ„вçïûÓòK?Œ E}×ÃîyHæºÜ6¤1Ø´÷‚´jòis8õãv ¿®ýt4E…¿u(Xˆ@_•e·¬CáoºŽü¾B‘ÛRÂÆUòHÚe°s4™³½=2Ÿv‰w@Çó ¨3ïOkmÑQ¾¯‚vɰ”ÎÈ ÖHiÖìOî{7‰Mc8ÄZøf¢K¬Äk’°4êiÏ·Cb°½ÅXã”óмøÖÈá Pÿ޵jí¹FlÕSo"÷ÉRKÒæmM Áæ!2×|øäUc|0aÎÙ]NÕMôw©&CaÌVêºoýÜJ†0¼Ã"8þ˜n/ø\ÇÀªÐLj ® mVÜpèRƒÆ‡::¼ñ\& ‚ÿ0aA $@¢þÒ!‚Ñ8I̲ «wRtÏ |Cµ'óÔÐVW‚+ÞÔÐÞÝßTsµÃa†ˆ=oi (H|’?ˆ ûg)vû&e…·>µI"–‹¨ëMÅ;TªáÕqʬ]/ŠšëÎîZs8öðüvŽÓšæƒh„2¶Zˆñ ÝçÞÅÆ$¸VcÑ>ñý%ˆ2Z‚Û›˜•ŒI„€bD¯Ã&…Œ"´¥6/ù>ÿ0yI,¸õ‰ ¦-$s¤·§("½Õ½œŠNîiýù"Z$E¼JáÝ! Xض…#ó¯*`^xî ›M¦šèlzCƒŒŸä৉5o†FK¤šÖåB`-ªµÏH=êÒÞÒ¬J[›€ÅÊä\œ±m¿H¡ƒ*2juE° D ·»€óÉ‹—–RŠmÜ×d¸Rxªê0Ü|ŠJ(ª·Ø-<wŽÐJ›˜átÈŠwôð³üÞBî³c:‚Dê‰)=¾'f·—»ŸÏ4X£âÍ`ͼ¼øü Â8("!ÆDõŸÅ.sAÛ.¨¯kQ8ã¥è1|ª,†& ~h÷ã!z‰ÝX<Ùd ·$•nÀ’ij\M>…Ìfp~!ú/ý`wµ"ÐÕ I}@ o¥j_­DïMÕ&=ܽæÄa¢È×å_?¯…kÞh7†H´òÎ!²}g…˜Å΋Âs B¡õic»$"1€%i,Ôx²:1xàߢH™×:à»÷‘sGï„H˜d~ê †vưY} £ÌëwÉlšà3n©h´µbZ¬½éæ1‹ôN¥pO 8z*:mD*üµ}w ¾wÙ/¿Ýiš—¨Ïå_K?,m9jùeþ7$Ìç¡lBÒv$¦Î°§n*"&ÄIO”7A\Ê…•ŒU¤´´RìCTw—^.¹]!øMX ÈÒæþÂUf 5ËÌI©P$>„nðúV}Ú{ÒÌÀݼé^Ô©G²i¿r$Bëöh† „¦kyNØßekj÷×ÉBω;’,»j)ŒÂGKú¸5'ȬÙ¹G1:†×Æ&}À.+´¸ù*úÝÒT"nÁÔÚó 7ËćB§Ý:^€Ü‹á‚›ÓÉ@;ÃÓf§Éu9d²93"c¬Ì·Ó™ÈáÖݰ¥Š5ú³´£º™ëè"Ë×ÿ"­Ôî0 ‹»/W®x%BÑyÊ™»¨AS©$X‚…ì¤Ö+yÖÎ.©{éyOí›ÞëYî¼W ñïƒÜ’Ô÷°[/Û 73¯äÅš°±Ë"æ“í’ pËë4Xçµ™è y-îçMoìëµ&…ºqO·e%Ó³·ˆuáë[• jð^Þ%¹ñÑ5”î}nñ´æ;ú!ùÇþ£r Ç­$ÝÊqcžuË"ïäÁ—*•‡¡\^sðgã‰]¢*?ƒ1Ãr2íä°ä½Ãðårѳ»u×a¾Ô—¿ã^BùÞÛHü SÖÉÁ,´™¸A[Áœ¶Nž§!šÅªÁsȳ—D{ºž$ªMøpß`L8µÓ·ó´®6kh}|  !½~dW)¬¸L\%øî$1gSW¥ý>C|¸}¸”ò`è$#(Ëj<ʽÍx°EÊÕYÕ;…¬—:ï׎üwÃÞ÷Ïaž9„D³q$jÝ#V}ÔGN–ÁASvà%×µvâ+ö†W}gè®iÝsld^T¦l¾»§y€õ'ˆØŽn¨?V³ aê‰^·Úƒä#s ‚¸L [äƒÙ B¤iäE}ZDÊåë³Ãz1M×ñH_n…‡;#m‰cŒçJF½‹–­î> |MÛDZ1w}÷™î³Ó¦é¿pøÓ˜LØWÀÔCEaeo&ÿXŽó ÜìS[s<ý©¯Ùj¼mô{Í*w‰ü‡º_Ø›AÄ,ÆùrÖÖa“†ÉY×0&âñz4cÿé•^@’ópxêÁ,Ï/y„^,å½°Q@`‹2‹^1)L‡ó"2µµ¨NK¹ÏÎ Žpȱ%TŽ_HRx0{•¬“—Ñ‘<.›¬4>̵äp'ÖÕ±JÊéTV,±7· ¨0*õ Ÿ4–Tâ÷f!IP|¤ìhž&äݲHÿÙöîS—Ow¥7ÒXcû”U.e}Í(N„§³€6Êä¢[0Ä( 4K„v—0ãe̼ny3ë/÷–¹›­ÂoÕäB0 œŠÀ£šÆúm«OÜS7b²ô_ ×8-.tE0˜&È»,¹uIdÁ!Ô) û‘ÃâG5½¸d@EÒ`YøŽ;ôÉžÐʽE£Ï«y—ºj•~+¼<ñ샅b…ÿÈ’"©öN|fíÁžsÚ“ªeûíÅÝî<ˆ·.ªtYT¯¸löÓ‘[½mÊZþˆTQxISZÏ'23ñ$GK£8_3MeŸLKêvý^窨ҙ.ïW™¶»yIøÏïXÂ#2K×0S:Ï,ÆÓ´‹×òç5z\Šv„JÄÊ8JüØÙú¯ÑèÜ>Š]”»HYLÊ´oÃü€åÿÔ<½gÅ&úÉKLØë¥RvŸjúÒk®Ë\E,ÊDä^Ö¶ÑÄoSË~ c•& N÷0€(šA9iéugûn¢ø«*Ò¿þÁ(Ÿ@xÂ×+z˜@‚ nÙ1§;R:=£–«µ³°üß—ãºG$._v':”±ÑD÷Ä3­òðšÈÅX'7P2“ÏŠÁ¡" üks$â]uÞ¾m„$HóÎwϨ…ZHâÁ̬²›ºìÆVU¢‡óðHˆÑ£ß„¯P—<$þ3Ûÿoþ±#?~Aœeæüº²ÓNÇÜõ$åj-°¹“Vâ °yò–ÌP‚Ïä©c@!u´ÂtyÒN•ƒˆ/õ<[œs7d{³¾Î|6ªlš¯]#Ù$ù;(¯>ëE¤eu­ ÁÖYÅà–­ÆÑ@¹¬2Fÿó})QÚµ ðÁœL„*:éî@ÕÑú P±ÊÃU¼ô=B ›ä0ÅJÁ4Ï·ÄKÚÞ³Ûðª(‹©_ÂÊYVj˜eiRõh´{CYŠËo4ÒU•Ý[ç¢jYÀMàè ¹Sup²—‚Ä´d« ÷dÓ»`•a¶„Š„Nÿì®5q„ë7‰igœX>¤KÓt4oøû1ê¦î€¨jb½É¹™f®ðÆ!Ô¯L-Q‰´È‘£o9j8¤oÊp Æc¬Ët4¡çQZ¬ b®¬RmTXZbã^ÈŽM}Wÿé&  3Þ |¹9eÞß“–j-|Ã*~’M>få“ÑA~=À2ÿ¶"ùµ0IºýeHÛÏ-ž3Í|D;šÚăå®›XÜç´œ×ñ‰é˶„‘êÃC:Ì»S2K,k»  ¦ÆiýaáÌ!.xk°L´Tœ0-©}®Æ@å·±¦>}ù»– œè*öÔŠq '6Ôö?i©5- z:Þ5Ù\46ox÷ÔnÖe¹Œ¯šœÚ ÆDª¼ÙõÇZî¾käöDVR"½z4B›ö3)5vR›L¸µ1Š”t™>K Úû/Å!TÉè¤0WHI%ùµ³Ù yä±£§´¹›±º¡/$Í?HLT·Ï¥²\Ê èWwf|(³6æÿø¼P6R]† ÌûîdÀˆÍ— Çdð +;.ÆX©ÙMÞ¦| O–£Ñ¥‡~ý­‹Æ DCI{ã¥FYr`I‘î¬J ùÁ2€Ê~mm|š§’a°nJ ×7¢qÙñF7Þ66t“š©æêÈŠ7éƒO̶œHN[¦É èÏ[à‰"\œF@‘Tf^ù;üÿè ¦0ëš¿ _d\ýBDW±CuÕ¨6ÁØ>«,Âe’JfUq(½;‹òX ê5DÐÀ?Ù˜«{އb@Ë×eŽI(òØvÜî®ú@˜š\žeeGÂzR-ž-`[Ä.[‰ÄÉW@]Ó´£™Ìõ…Œ‹Ää¡iåßv.Gœä¬„JU`—mv€MBÕƒq*¸Þ†µ*´üÅø:>'©Is“ûÝŸ\w.•±ã-Ãf_Z»QLªÃéÈ%•k¸(+`XP/æžÎœf-Á¥{ïdfÑÊóEúº,Ü ôÒÓ H>'‰E Žs›>ú¸@ÚUaYÒ¯ƒ®†€‚îf½ŠÙM‚ó—/D¸ñ ¢®9ˆÿÆä&dT]\Aåšµ2Ï­‘~>~(Þ7ñ»ô´g ë9À§9ì 6àéÏåfýüµ¶ú Õ:Ü1FRÝ]䳿ľ¸W Ò3_%k®³Š&> _+rn±qƒ’Œ9þ6û*ÊK¥Ä¶á0Šô"wþášî'ÍnÞŽ+Žp9¡ÐŽ8ó¤rˆ ,èúý¼yÌA‘—šùT,µ,iðH©£aÀ«ð;E¦‚J& Ú ï¯pRsaŽïPœGQ _Öœ}üÎĪÂè옴K±²( KŠþW)_Å/Š xJ»7–cúC›v³üÜüÐyþ᯲@ÏE£Ztr¤Ÿ¿Ü4é2;«˜û"$TGÜ…%øA“ê÷öÞÉÏúô7 8g¨3‚4¶„ÄÕLås×}ŸË¦íð_$· ªrðTÅ=ŠpU`½K)ÍKŒ3m¤ ´Smlµ—Ö¶ƒ.pú8U 3BJjVºÈBË‹Îæ¾4òð…Ú6¥Å±}.¢êÂt& §Î~óSLåK3»–Êøæ}iQb£êBÒσG«úiŸBG›$V*¶m¦³—3Õ$Á×>:Ò™±ßS¨Ý>6—ôå¿:/Û6ò0‘¸Ÿo)<®±õ4zöç0ëz¹ u;–œ½²îöfIU‚UïLÒ6ôp‰Èâ-ZÇ‹J'GJ¨Þ*Ǹ”ö‰¯Ž­dïÊ[½ëŒ˜6ª ´šÑ|Ä3Ÿ‰Ñ·]ÄÂç›g‡0;W¯åØ0Êý¨¨k’n0Uüâ¿9ßHýB–àrQ£nÀÄlÊþâ‡ñj|âDtøJ"¨!%i’˜,ÒÂÛucý9W:žC ¤›ñÄ?xTÃüXt½¾.1ä‘tæ¶íŒ¢þ˜ÀØaî]Å•¼Ž¡•¥A§j#Ø8ç– êz \ü©Hé—ïí;-¯K²´tHWЭÞHçõñº'§t’4&Ê'©Ñ:šfqÈ‘$ùÚbÝÕ羞ZH]o&¥Wm¡9yžjÃh÷õƒtÀ‡9Þô‡Æäá ÁáË«¹â+ijEš›¥˜ºó8]² ÂSâåEéšÈ@±&m¿b-üü÷¥{’úǵ $ìó\Ìòý?µOŽ?^À‚86ާñùUŽ¨ÚŽ˜¾zm¹ÑÓDW}v¿ÐíDèS»ñKmì<‚x¾š,€ø3Dã¾´èL¨ÊeK:©B“o‰IXü Ô˜rÎB׮„ÀkX°ìÒh [7²‘Ú%±ZMð …Îê™Ä}3äËÿË·˜h8¥%óMH}?S죗hÄ2>,“ìsõ<òÄÌ:ˆ˜œ—#¼T¢õú.ëEÕî«Õ~vðM!žZÏBn]’Ê’qŸu(%Ü+·ÖQïRᢻƒ|KØJ˗±w=SQ®ª›“W‡UX cAŒƒVŽ÷jh@ù‹ûZ¯1f‡=Í?˜-å=‹µ™Ä[|µ0ÚõFd ŽÕžL”sNµæ&múhY“j"C<Ö¶JZ˜þLÍ»}X¨~Òósµµö>>°iVý Vÿ #,ƒFÄ›ž²Ñ•'áálí0'1¨’DåôDÅ„7D)Ukm¨C Xu€>jXÛUÕ–wVH¡]s]Ù³„“îètEO¤µ:rð©ÜÿÕiK×ý ƒT’¡ÅrÛ…j‹šäÁ4oÍwqS”%óÅ5Ó†\ŽÏ¢s•?~Ç ºŠCc ¤×#ËVã‚Ââøé ª¿¡*]¤¤°3ü>I8YŽII¼_Š¿M`ZÏwhwØ ¦&Uh!‡ •ÀÊ ­Ùxàìµëªº¥ö>½•4Üv »¢Î ½ð„£Ð€¤xÔžq.uñ=WÃß ¢ËÚͺζ{Ù <\¨x¦|k;”;‹鿲¥ªiævè’þK±‘>r`ÏÄ]éakðè´¨Þí@l²JÄÐÐqñW2ÏÌÃ#îãÑÞ™½Ë%¯jù?A´yÎïÇݦk)|Œ²t [9?U|`…õ¹{·•n%=RÈ÷Ž7&ÉKM]ýêW´Ìgôãå'ÎTáýŒFã©g³ ”BV‚jlë°È-nO¯H¶‘_К«!­8­ñ„SŽ'XàmBÓ½Ù[®®y消†| ƒÂ)$bìÏrcÉN¹“D4äD “.OTm­ =ýÛ|uͬãìYÞ™‹÷|~¤Y»îq‘q’q¦œ†š²tyz²Ühÿ´ýð0Õwü”!.rÔ¶Q‘ùRâÞHÍöFMcøKL°R휗þÓgzÏCkM⸋Ñ€Eaœ¢[)hAµ^7‡Ù@DÇËHtë8rV*QÀ:â?G=G(E­&³êS[%P‰ŠxÏ?þK@j¦hQCÅÎëv‰Û ¶e_žÓk²YAÓC¼ñ;K•)VIŠnÌæœà–I§H:BŸÂý‡mŠ®ŠEbV¦ß#Û#T—X\¼¬U\!‡”—‹W²q¾ Gk¸ìA€gKãâ){Œï÷ž?ÏwÆ6ì)ã𭎵+5ÅÒßwn‡wq̓aó´t‡-¯¹NØ]yv9å^|°ypšltgÈHðø;˜iϺJÞ÷YY#úJa}èT0^lN‚QdÜ{ƒY,:éõ4ªòœjh«SÎ…í‹<ù¾ÿ»eûÔ°%£ìr6…jÂ-õ4%÷€f¤TG€ë{¼>+Û”©â€ ¢›ÃùùÕ'ú4h&6Óq Žõ`ímÅÿ a/j®Öhæ44/Íw°`ˆ/´lb=<ÓÀ™\ÉÞÐßN+)òrvMë ”ZM¤6ŸìÑwŒR˜/¿-ÎÉÕÓ±kÇq™2;ö€£‰±óÇ£¸+/–rAÿ…é§"oµ×˜‚ÜïîF" É k=ÿÕ—NìXz,ôÿº••K‰UZ_¾ççâ¨CV׉7–ä½¹jd·*ŸyÉGÞ±¥áü¯þö(|çýÅØ¶¶c ±¼—Øj€°nl q…ä·ŸéϮְU•Œ{N/ v½B£ŸÎº@Kh4<ý´Œy³ÁêKY±ªn £wfž}°¨»wÚz’.½£%CŸM2±ÖižÅõYzj~œ…X¤á(…4Š S ÆÛ7&±§x6áý¾§¨É}Š«ÖÇŽsþ±MaYKugyÝ¥3ñøŸ&X#¹þ×£ÙlhUj·K#÷lØ`Š ŽŒÝÆÈ©Ý¼nOÐ{¡i‹NBbÁºK’êŽ?ÈÛ€xA#-P¢uµDJ±ŠýƉCé=nÓR.]¨WZúO•“ÛÛè+˜©S¶9<‹)ánÚßwYg2Z"_Àq‰´gIj+¨Ã»Å‚ Ê©âœR»ó-[e‹Oâ\Ë ÷ýIƒkûˆM  BFƒB'7…ÄÝ1P)‚昮÷–]êô¨ó4÷*«¨hEÛ ríWðÁã`w{¸ÏUuqz"î󒇼ý˜¸cæg¬ôç— ¹Îî°œ^˜Jê9ç{új¶Q'A«¥ãIryqÒ»]IkLSC ]i-°–cì¿¶„ʾ8vμÅM0ÃÒ—uk6)HuøRö°I‡mÒ„´Ó“ÁA®!K!ª ”\öZLÚè8‘œi2 bW$€Â°“ÓðI¼át¾|üP{pÊIÐ϶ðhÞ&nïåøîÉÓ2ŸïÆX ùtŽ‘€ j­­fØS‹£¸m‡«p¬èÿµñÆÐ4=¦üØ+¨yŠþŽíóvðæå«ŠO|¶ö¼ …¢K©+Æ:ÙFï˦¤hÔC$7Ú¦CÜÅñ.—·B_&‡‚{—XÑqM–M…c¶…Ubò7 +;ôνî‚y × ûÙ£ú–8Ý`/?—‡Ø¯·æcy~Á›ÇùžÌ•\–Ð~Ih\R˜“y *÷V.·Çøñs?·(~í ç—SÜš¡ÁŒvÅP~ù”‹h^±B˜MÜ2HÃúû¦¾µ[`݃bW¹XQz§œ‡ÅQëä ":nR=M™"”†u).!‡þYrqÒ¥ÇS™qÕàQ€L¥µŸ6µ$*v°Ü@.‘ÒM“)´yu¯¯7¤ÿ_lu¡MN3„芅tX\›¯ÉAgJ]£¯à˜AødÆÏ$Œê(Ã(5Ó¥+õ XYD¹÷rd¬Yð›5÷…ï úé~ƒÞ`è;FÏØÍW«A] ­^Ђ“ûgL‚Š…/0_ƒMÀÓ¡Õ߆–³ýmfÔº yUŸÚ›V'V½7ÕS@ˆÁó:p"®LõÖáG×±³{Ÿ%e4`Âáãó†2î5vûŸÁhóÎ>nÁbUÍP¿ b‡×”­¸'%8ƒž·ŠN¹û¼…~y ëP1àMWv…K[ÜA2¡j½dœ5HÔ!<äA_ˆ·Cê×Ó·šöbÕkãè¤ ž¯3Åš&ïeN· ²€X/”ÈÌö¾¢˜4ص# Åp¿>ëiɱR(²ù9¿Æz|å}VÛ¢ìLüAró‹ÆÏdJ¢Óá‹eŠn«äÁ ¨¶±¡#Æ“îFmúê—¯Âg®êa!;zÌM*–WY q¯oÛ×7Vf¢«-g íØç»ÐcÛâo÷@Û§ç0fÎw)<£Zø¨+E@5õÎIjæÞ|¹Ñ¤Ž¯ H$–è•,Iɺ֙Á<žëL]]ëÊ#íkaΞn\?£±q¯ºØò°÷ Öþ 2^HkïgMSzgÂ>”Òpé2³””¸ŠÑÏê”æWP÷lýLWütÅœWÃ&»)+«ã¯X˘»Œ¶ÙñàýìúØ–¦;7µùg”R²œò[xå÷!›d÷LüC¬Å«æ—¥„¼œ¸ÄºôR¾Èû”átÊáV4/¸!°Rû2åºÛÆù××@*ôxoZWÚÒßòT Þÿ}e;Xq{6CÀ%ºþùyA IFħZØ™šo<ôXšö´ ¦9Ž÷‡­¹¯^I†u*ŸŽTxÄF}‰_­„òªoD3ìvª‡ŒheÊù·Ä:|™V¦Ó¿ŽkvMÉnc7ÿþF6¯v)´,‡‚¬»f‰±á®´ÆÈuv}Ÿ¸¿Å0Dú¿9~€a½Ϣþ§ŦÎoÓúâòj€Ó_ú¸²/)ƒT%óç ÐU²P¡“0¡Î#NCû× »s_Ñà;F£&ôÔ­URÅ‹\ñèMjq}R$GdY§ ‡¿›[Íâ³=œËÈ>ä¯ò¬ìlÓpeYËÌ0‹œøåhÕkø/ ­é-ÍšD»Yµµ|Å…ô©·Bm 6—•øË‰ÑÛ‹;±*þœ"ÖFX€*Þ½zjÛ™˜ŠóÏ%ûÃF\Ž^7-‹bl’×Ȣ˥W0C°Öì°Ó¯±¹ ¶2ë"²OR.ÆšÞ.l›+ÔúÖ+ÛyÌŠtÝÿîL.1±ý¢™}Ð{TVT„ªúGÞNí¿fÚ< i#ó÷“Þ§åX¢"­?=4®Y`­ßÞ¶˜½%¾Î ºÒâÎ&A}´Èt†81(ô‡jh*‰ Tp4¶H5-ŠÍ³Â³ÇOæwCªË&o½êCô—$›Å&”`ÖÐÝâKÅ)¬M¤oíuHÃS§KP[@OÄ…ž“§0ë®|¹J—â/™K.ð:9R%”.:¹£uhcm—ÖÝÄ’ˆN__lñc÷‘Ѽ[éÅÆ’~j¨¹À¢ô_Œ©»™}×[l%þXr©Î˜Ú“)œd+!é×ÐzMÚ/ˆU{AѺˆ (qƒÂÎd%s€þ¹¦‚ø¾v¿5pR…†7<çÒ<÷«ŠÀ [„x˜’vËRÝv£Z AÛ¥-^Šö2]~ð­{hxQ#>`»¼Acd¨$FìW#èȨÞä>¾‡þp»¼(z5IÂݯ÷QÏRžfÔ{AîÇË} óâ<¸‡¿,OßlÔÚ£ü$äsj øf æýYÖäe¶tú:;¼†ê³ÝÏ9;§ô¹z×V7¹/ç„/qsÅÎ^ÄOºúììPE¼¥ýåZM#ãbÂØŒùÑfÄ“CW½Z<ñ•ÆwíaØÚ1ëPå¯åÍ·#çZªZ°ñOx2ƒ2óUSC‘n¦ÏÆQ;ayc»Š¢ L©[æV8ó°d jé ùbèϽì d–)&2ö²@,÷ BÓv,M•-®˜xYl|QLÏ%|ÿåŧçŒÉ»˜3¶G¬p‘}Çôˆ„ÝÉè«´f÷ÛœÂ"ÔÖ.Zó ¾Îd:!ÅEñªqZMº±;nK Lî{ƒ¤À…ínÅXð¨Ð?½÷†K‡¬:G`©1¡àóyGT'jŒ6÷£¿[P1y‡´Y¾³icujÝðÞEŒ\¯æ´d5X´¡>H ¸NØC`ä'*{¬ÚÎe:T·æ×׿¢ }^õ{Þ²±ÙÐÚ8’+#:`4¨èø Aÿ‘;ºJðwúÑZ6½àl‡€e\.NæukÿËÝÚ¤‘O òåAÎ’°Ø˜«…šý”õ@+¯è&˹=Rﬠ"ànX‡|zRwöt|ᨉÖЯ«Ýé>¬ð‹QÚÉþºR2öJR–Sfõ·ÉˆŽ(Zׄ'耠, %šÙþ´Š(ïÞïÚGá ÌÄ5^J5Ûý8WØzœI­‡»ž~C@Á-p¢ñ…¦Ë¿By]»Õ#ši£«+  ¨–À>‰ƒÃ¢b1ó&4-:ÚìurǺlÖ¤ÕO{þ£[.˵¬¬Ôûcàem‰ëI$Ï ûXÅ·`³;‰e—7‘òâò!Â&B8k]$£ñŽ¢sæ.Æ\¶¤,piC“6È•‘¡>¦ùë~”ß¼ä¶z—;<\ù~°hŠø#K&ŠÕ!ñÄõU]Fã î«Ø»uÖÝ^Uõ+Ò›]²æÆW¼Peªúú‰„µ ¦'­òb&ü^‹Ââ‘ïó"¶x²¶ž’C×þŠ!cŠ7˜¥’NJヘWgþu¤°`¿­ãÏÚ&56¢ñ´TSšˆÕHÅt¯¢Š©ì ZP_y3Å‚ÃT%ž`ÂÇ—¬XŸ ¤ÖŽN,ŸX¾pZðuˆ5}Má éÄqÏfÚ,"Kø¥ûµ=uÿ½øq kRm_/d¨QP¡N±íDGé<ž€Ç1¤°AÁbŒ_26a5”Ó­3lÉ&Ó&g9õi½¦ÄC—JEÕ|¬7²t3±ö„s¦ê¼ `Œ¬/k ŸÍØ—.\õÌ_¢»OI ’¼ñœµ(¿¢›™÷SðâÞ§ƒ=y³LÞYÂ\h¦ˈÂU¼çKŒ[‹TÝ4,"6CfIÄÛ²ÌJÝyÿwò;ý$›®ÈÊœk‹ŸdŠLYUýû¢Øtý¸@x. ]²jÌìA/¹"Vh¶·O6¨í ªÜÛ/'ß@ú'Ï·%Ÿ@ÛfA:) &РㆣJKj ,K… Kâ„:`»»Qš·—|Ñ<( q(?¹NOøÕ¤BŒ$'± £o|Fýœv‘BbaPž q¨ãïxÝB_ú25_k;¡ýW†¬æË»©Oi”°uq&@Î4 Ç rõ"Qýã•©é× §_îÒ¼w¶' O.šF.«¼DCÿq¡R½ûl§ÒG/¡%Õj¿ÕüY˜,1Ú Š¨Æ×Ž¡N$:ºïÙSÔ‡¸#änïlá P²ÔÀˆÈßžJèv=êÊäKshsøuÑ[W²TfXºcïȨkŒ`ƽóê8zÚ]:5·{ŽÊ $,ßcU¶¿ï˜ZeÿjiR%»Þe¤>ÎéôB ×#´{B]U ü3¼­ïÖGW÷ʼnòïÕŒv¶òÞo‘œ›`ÎÔDök]/¼Fö°ôüf¡-ÜÈs%£ò*6 ²z`Ö,üÝ8ÄŒbñ)6SÿTk ”Í?x„Ûí@ÈSeÂ*­tàfð(GŠŠ*èçò¹ 'Aæá5:Á|«J€'w-j^çÛ’¸òsû­.`Zá®Öþø+›ØoØ6Š}yOü{±ŸÒ6ƒ`þñv¹ÂKØO-ÔW‹û5<õÜ¿Ym&J”1jÙaÍ#'éCÇc}GºÕ²O[_°Ÿ4äq\ç;¥ï° ŒºžÈY¢Úòbe‹ÂŽ…3›£²º0^Ò85B²Ë{ l8ÚuAI[¤a)šj/*M7L“©p×Ö1–ùåc1pRòœt캕.¼‡ë„~ÓË C¢_/8Å,’ùÄuUÁÄÒŽ`+$V3È— ¶<9¤Ê‘m[¼µH”ä>“îû{ÍÂÁ¤s©žÔ$@9 ìSXÔérÓ ³ªÒZòáðUÙ;ñ @¼uׇmÛDÌ®¾)¸kNfG?¢ÞøŽT‰€yü¤'/ð‡ÞuŒ"?c‡Q€ï#}ZR‚G=Ž€Á’†ì¬+h ‹¤z¸Ö󿩬H9¯Ü资qÛàsq„jRŒØ½½ýÎTnŠãÑ8ÄáŸæ!*K;Ðe;x 7´u ½š±Õ“ê61^u#éñŸÑï±Dω7~Wür$'"󖌣s¶óÕ_a/È-2zÿ¯Àú‚÷¬‡o¸{-x^"ö t[½bdÎö”™å•#qê;¼y%²±!@ ¹K‰%ðÒD$*À¥Ûe½Ì¶R`nœuô‡ãkXÜ3ê=ÞU­?Œ‡Ùékë æ'e¤ØCWb̵Ÿ•æÃ³¦¨:ä;ZЩ¾Æ28e±˜’ˆûÏt‘¹Q;©#Õ8ïÌg#kyR­á¼kV™+À¦+’¢Þº‚T÷Mò5‹kg6X±âÁCwIçêaþrÁºg8#õ÷¾zp=ÁŸ\æH4G«L£'B¬ðš‡m<°Wà8W o»*ÏÄõBúËŸ‚‘>ñ37œ špk>s­”‰‚z•EsÛß<=$Ÿ;N—ø;>$¸ãcÿ0”RŠ£ûɸ0Èm°F”y‘ÈÆ´6žöˆ2qîBÃÕ=ã“F2§žiôM£$H[oç7v!kÇ*´7 áÕÊ*÷NТ-žå7$Õ_4û=´” t݆O0¸ÖAè)f×"je¢ëì86"§I7ÔöýÎ#ŒšÛcøi‚®ûORì¢h7¡œLiwǺ”€x: n¦úùõ¬æŸ( 2Ê@m çÐ=,&ÙǺW,áÁx†Ãk°ëñ{Ø+ fUk\w ¢g€‘žX£#ãõÒ_ZU›0Èê–¥ðߌKx;0iôè±3 ¦au}f•»Z0ÜWŒ¿Ëµ¢ÃF`=®÷8ÁA7ñYÀÇÕUª¾Î˜…~…kÉC–3£$\þÅ+ÒCÝœ·;DE‰äßê èa¡7*ãñ×Ï6Ÿ†½úL$—h»¹ÅEùRIµÝ+D×ÙbÉ„ø§î/|+€”¨ów©l¶Àe‰y;ÕRˆû¬Æ°,&%¨7æf""1 hDµAÞk—HZøsUÉ'ÅÜÙϯ…&«JÀÃ넟CϙޟH¡2ÚxR‡(øŽ¢Åb0i’/ây2ÜyHsâÖ?U±êqú)Û~ÊL •Å'r €ïý(ZŸôS„oHº€2—npO˜º«”ÍDEE1‹/¬ˆ0ËHîßþzèý\–„èö}Éþ"÷µÕÏ(?N¤JÎv[EŒD ûSÞ6ö(TðpÒ McB^tº9ÆäÖÀåå7týŒÝIêø‹çÄë éiÔ$ä™P3Ï9)˜¶Ðæî²Ãš1²1O¿¡môXG ãó$zNX2“º~?OâsR3‹¯ÉŠv烦«sv‡},H]¢ezÒÈt*°¿þb֦ߵü÷ÏøÁ±|BVuÁàÈ¿ô¯^\AhA×Ò—¬¾5ž+δlrÇÅŠìÖ-(bcOdoà&Mœ îA-ŠÍæUXÜtÁëÌZ_Rù|?r>"R'q¯RÅá´š 7w|앱9yšuÀjàÅ[ÿ#X?áÍAŽ"©ÏýT“Εº,ß}õ˜˜è"× —îê®ïìªÝv} cEÁ89ÉÊ"Á·ÖoKÁ+ ¾µ­£%ú½ã–èkp ôžk]<¢7I‘V7Ì|aVHº‡ÎÖžç ²”bßñ§§Lb¶ÚáÒ±ÜÔ¤WU-ý- ’= pù:•n>B!Ñ×_mbÞÐ÷ ûv Z›™¶J§ð£wëÙG§O›é˜$¸$ãÝûÑÌÞî‘3.Þ‰Èf‚”„æ£s‹x“îÓJ~Šõ’ùžÍ€½ÊúªšH®|]‹9sHËŒ2»i»$€+AÄÐì@2I‘OB:Ýc}ɃÜÈSr>J,€Âå»!Ó#1õOm§iQ‘¬xÿF|¦€7]ÿŒ†?æS¡Í°ƒ ㉚˜Ù±° D7¶IaãQéâ ãGŽöHŒvAkh=óˆ3+‹Äívh-MSÐÎÇèS(6/šÜ²rœ1é{|BHÕ'Uø4ß–7Á9J+äZ"³£(ØÕÒˆ<ªv,„Æý*ס)7ݬôë]gXî—ì.œ+l-«ú®¹Îñ¶ŒH†µ ÆN呪«- üLÎx˜l¥!jP*ª£szÓBOÊphðª5äo•Ô§zeÔî04.^Ú† ‹X­FUwµ ÊøS(šÍ$[Ó’F2ûÃéÀv8„ß8$â…UFÚ€ï<\ö¯À“ú‘оƇ® t3Œúò*`7­ç±ÒyCH˜oFKÒÛË{B¼Ùå¤_ºôÒÛpáŠe×6-}â¹ ÉV)ô£ÇÍ鬯ŠÍiö… œ &uú’ÞßÏȺ/[2ÍûÂÒqï£]q^ªÁ œ/õ+Ûû ó›^ ;qO 9¤@ÔÞ~ÖžqåX*_Þ^±m}[ î,ÕŠ~öZŒü¼¨\Ú%¡ܺ„²àF>nŒÛhA4¾ùŒEH 42rù!¦ˆë>º}•›¿ð<94ƒÀKU<9D‡$•‹åã67”!¡Fä‰ðgþãqH‡û+ õÆþÀ=ô÷uÍhÙ÷[ßÛ¼b‚GOÖ/_ԂălÇx pá¥N‰Á»ó©£Å:ùF¤@‡ÂY æ‹·£»¿T¡ä.ÊÀóïšç>^</ö 9®™[Jž†M5ØvY›²^"ñ†mî%8[:ܬŒÊlQR‰?kÝÄTJò•cˆÐ"+¥ÕÖ¬½½²jî0zÕc™Pã“ yû*ÙÚ¢(+½ŽNñh+Uý‰šò"Gïܪgú£ù—²þ–š8nKçJcš g9¯øß„ÓË)Ÿ½èDÄ¿r9XoKPb¼â‘È7^¡€<Î_B¡QBs×|/ {Ò0ˆ¿êu°+¬ü4©×‡ªþî<õ [ 3=ÖÌ„(ÁožôFdZÚ„¦¨`…ĹuˆÖè­r¡ôsŸÛ.2çy×_¦ð1"Û)b¢h¨Ò| ž`²‰¸µ@õ©L3¯å¯¾%D$´G*ƒÇóiÛ)¬¾%öâm_H¦ˆ"Cǧ*”Îè:Š>ÚðÂú—34)ø4u#:Сi£E†êywÖƒ%ê®TQÐhy åÊѦ1Y@w“sûBc M&°Ò mA= fùák(Èçß§¸ÃÑ'a3Ø'-¢YýržËÛm»òÆy†Ö,j Õû $^¸øÈý¶­½=ÿå6T!ÐÂÑ$$ÞŸ^ TQM!#à^é‘[É’/4HP0Síqµ&†<ÿ°P9ˆ´[têb‡ãyä5ªÍ–ó[ ut胱À-ê4J¦Ç-–Õçíúe ÀiÐ×>ÄõnCÐ?‚MñšüñÜÖ/jÕûܘY!ECÑ#Öð ´0)F¹BfâiJÒ2T¸Bâ€8®ºúA´ŒÚºbnªc8ä1>ãÍ„kec šÜt¾s°;õ{UaÁ>eut¿SbCÇh¦_ˆP7äϼ{È 9›÷ìljúžî|ñ”“›AÂÍ„ŠLÇéAeÖB&B¶fÃT‡‡"nGûîÛs¬¬òGŽcë$ãÑ¡™œ˜‚¬_“ϧâ Ó„Ct4ƒeɸ]I!¿^´L’‡«¹”k}?_LKÂFFëk ARà0æ±-Ö`m,^ÿ_l\õ ‚d6‚RiàÌøIøÕrüHg-™‚4nO˜‡âÆÊëëÿ#ÊYÌs¡¥×[)¸•§Ysí®û˜+“0:Ílß<ôU=ÉÆNÖê>Ï«îÕ (WHn;-¾›w1&Þ6ÖÈ…½SK£+‹(°¹Y³CgvÁhß:2‹-ƒ¾~æå®Õè0±åAñù_ÑÉrÔWð5×e؆]=wC:ýDÜ2´l´51¥¬ªRû×RñÀ«adÍ€s$oªÐá“–²Ëÿéü¨|±‹¾6Ê”ª·šºñ$èD•'¡#ÿƯT%¢e/´ ëë%Áq<Š‘È zçWÓ‹ ˆ(jÑÔyÜS—¨œ™;¬qß[EÿÇ7".yµúGº[:C'Ç™Ô6òyê9@³p¡÷B|0>››BJëîØˆµR‚êºÚ‹B´j¶è¶Ó§ó¹†SÇndHÿ‹2¯ñC­»ô‘øïA³õ÷7%<ðÿ XÇO )³Tag­ˆ¿íiFïóœý,ËéÍá‰\U7,QŒ ñ#qgïÍ$QΘ|U*œ*g1<›“ÇœôB}êK¥BÅ9| $¾ ~lÄ´‚P§;³XCQlE’DÄM½Dpä÷k2ÀPPéVËdî“+"["&€î¡çávÜ>áÐ…üpH°qF¡§¨NÚ©[øeï±üäVÆÂÚn0ðy^$Ä3|†d¬Ø¹œºQ†œUÁ1§h/ ÛF_ 4uGL`¾l™i7»P£‚/ý‘‚F-è6ÿøžO}Ça($äßñáˆVåýE_}Óe\&¨%:p,jAvUž{“€ÏPŠ@_• ':Î}àxŸÙâ»sÃr&õñÊûÚä{ døš?"¸$=°%gÙ¯Q$$SÕÝsóè3:Ó-”I9J!&Þ”Ã\ vXð%-¦¶ §,A ë dL«5»ÜõÖhtú„Þkg'Ü ç¥rªÓQ¯v‚l”¿ñoíA1›oyùŠ vƒ‹À«á¦þÌQøÁ•ªÇ©('õ1¹ØW<Ô6Oá !•ªË©sm²y]±dZQ{°`ûC-VSiÁÍ.Ö}T¼†~"F²\ÅÈù&rHYZ¬Ý$bx;¥/’¤.ÁÞpî\3ž)ϧ¤Œx»4B¯¯­À}’ãTžºv¬>2…ã´'w*Ú¾átÝQb‹Z?@ø•ÖßíšôÝ¿7çm(0 "Ô/ù…þºý¯¹è«®YÁîlaNÃÛ²º¶&ÿãM­p#Ýš6§ëß!äIÖÌpÊ[±^“Ft¯…–«’  #hæOKøÂÌýÙ¹:Þå~’Çè mΨ©Ë¡p0Þ.Ip£ïšÈpݱ¤ã‘gñí¾jÉÜ‘Û<ôÞÎmL£ fO±,"?W§Æ“ Íê<ÍP`_26 6¯Zü$DTïÊËŽ‹Šc^fÖ.ʑǮOè9Gt©ZÆÃJ÷µÝ¹¡cÍ1à «½Êk “ãp5r%ñ›²ô—môïàÉ+egì½[|V4þ:WâÈücøŸ³Û:åf]Á˜ÄƟɽ˜æìmqºç“éâ3@žkl_ +ÝiRÐp;SALÇ£îd4,4bø‘>)m#RÃ;NDB†ÝI;÷”Þ~×-H@4»¹Jæ3ÚŒPeÞÂÌ#u¦Dùòñ®už‚„V¯¸U YoN>øi W,äã P"ŠÖ+Ö‚mRsV$†E“?¿¹ÓwZýš_|öÛä œ7Ú%ð» H }°‘€fLIàhsñëN7RÞWdÌS~«" ;í.»Î+HÍÕ|àé¸$7ËÚse}+ÛÃiñ—ò³äŠM<ë6+9HGRyªZGúz}¡B×,»×¸æõ ¸ÊãéV=$u@>þL¨°á/ òÓY"gñ`Cl&ü:ä.(u6v iRDÆBj¶NhSˆI‘˜Ú¯öÙ¤.~ ÂÌ HÚ¤ëŸT¥N¥8ªÊ‡ñª<ˆÁm–úٖÃàó)Ž ¼-gCd Á.ü Šþ„sºÐwd²H)UÛ|( ÕéåH±pn—qؾ.¬ÝhÄÕVÔÖóùáÀ4(_6¾²Ùä ·Ó2¹gD¥‘ðÅ Èõ²›XBS®Ÿ¹k›ÈRoSuoÞzÈC{>¢38vÔ‡•ý÷ùÎgì®ëþýÜÌ@‘ÄU¶¿x•ú¹çÓšefvÏA‹ÎGÐÚK îJVÛ‚Ë¥ó5N¸)ª4«Á îR…N‰Éù‘¼n.þY¶]½b¹5ºŽvuÒõ}eªsG„&md'Dš~dùP5Õ§lU\$PLÙÍ q´×h«ÃC%Ö¤Ï0;¡ÿbœÕvTDäkéçf¶Øzö‡OîyQEl»#½‘ûCáÁM-j Š gºˆ²|°C0ôN,=(¿:Hmea¬ ØXï¹Êè@…Òð!¯¢÷½³®•âÔ(ÿ ãshDšåÛBѳݻ¾òIE¥›Xþÿ:£” ƒÛ3 Ìž”^¥°7;t&¡fŽü7vQ}ØhiP®Š‰áal*õs0éÑÂ…˜²#ßÓß•1l–€ì0ÈÊ#AÆ~^òÜdf[‘œëavH¹O“šû³ÕÎÔœgµå2™‡§ éz~ñõ[¬>Ûõº‡Ù_К[„… LÅ/^¡u0Euv“k÷ÐÇÆrqlxij¦îðñ‚AuÑÂKdN¾ÝÇÝt1)‡#²+s r–)ûKíí6G ‚)›zØ{ ©å¬ö¦wÇ ÏyÓn¾Ê×B5°ï+ G4RóCTq ¡~ ÃwáUä:Á‘[ÿy¨ȳÂn–¡6m -ÓAÐF(ÊäY„Ž15Wİ‘ô“[=bc¡:†ûq«} —aç°Jyc~2Šîø5w≠‘GÑÏ‚—ù-†ã˜ò׈ /2Gn¶Ê’;vÊèGú÷Nq ûGçªvÚ[ \!¤Bsj7©ä6·POK¢•°ºfŸ–÷z·%že’ÏS2q ÍÜHk2®ÌÏÌb+BŸä mÌç®}Û¹–o#‚û:ç´/-Ír=[¢[¤ëÕ øGL¤zùÌxå\Ì?“’ãs]èýo™eþ|,7 aÀù=.œP=Nư`‰Ý•Õdˆw•Ø7æù½8³îŽi˦Ï[]3΂CÍÓIea؉5³âuÍÇÜQ¨nèX(½™ÚìÙ üWú Iã9H)¤#TÎZiÕVŒ;€¹Suï xá’ÚÔD„ìåì\.M ²ûh×ç9‰"8¼ÝŽ&4²[N3rR0*(1ÿ¥ÕŽZÜG·)£÷JšØ‘uRµ"“ƨ3 P£L%×n}U×Ò¬¯³,JÜÍÉÂê$(¸Ù| ~ÐÈújYž¦,£ŸÝ;՛Ȏß­šIR*h™¦½FB!%ÿê/.´Üã[Å—åÄEa6(çóòx¸fùÒ¨º7zW¦/nÉ0Ÿ1ágÓ•šíÄ^!kº¶Æ'ÿLí‡ã±ûÁƒ€ÎÒc¨cÄŽÞ…–NH n†˜Þ9®É ?ÇŒ µ“©ä"Æl7ûúT}Gš6Û™¸— ÝØàm@F|ótD÷ÑL¶Cc3ÀÇͰ½¬³äZçþL½yÑ"q.½TXf‚¶K‘ÓÆ.—²Vódjý³]bh0õ×_Tìªç$(sžc+m/þ5–‡ÅÙO?ôlô CäçÓ{Z># À·²[@ ZVúõ®²¥©[›R¾Wl>Áð è€dj±9Oã{ÑÇÛ:fòÔhUbP¥¸².Æ„¼€F~HBtÒ—HÛYIgîÃã¥N·›hüD/(;¸Œ­aI²Là Á¹#L˜þ›¯h–“R_óê¶PðÚ…DÅæåìÃò +ç­ÍÅë€ÂMÀFk›Áõ»'ƒ|P/{[%OD±õdÖLJšÇ‘Y8ì ¾µ!ÔpçiÑOolœ³üÃÌ>]†äÄâ"ö‰ÆÒÝv›CþÙ×u=‚Ù8ÆDºvÅño1 ¿ëÚFs–᮳|¿°c_`ÏL’4ðlܦÆ(´Í<î ‘ëâ'v4FÜšèªX"ŠBß«]çzǬ®1Ñwþ74µÔÝ@P†-$lõy‘FŒiNû#™ ûúW “7Š%Ö¬QH"Öº/þÄD,sb¡óNX$ÔU¦cÔÄ ä_¶æQ«zÅ»BuCŸP÷bª_8`ßné\/sy;É{¹šÊƒóu{b .Ƙl° ¤~e¤)‡©v&†múÝ-ƒÑ 8²œ@2ˆÝ?œÒ±[}ü~ü¾š¬JE”©¤þ‡¨ÍÁÀŠÚûƒiãã´ÀÔg) ‘´/ìÙNö°Uh£¼mæúÁAË侊êhTa_ç`ûq-€ÍmüýˆX! !S‚-àíVu=*ÚÌÔ©9VÑDþ©Ö'–!GH ÆÚ£„ÉH«­§ ºÛ#<‡_¢„)Ýú«ÝŽÖLêÓÝt7‰Ú1e ÙÒ5íXLßiYìY†hnl®qq7Zláb’žÜ¿3ð(Áô’G»èÜѼaœiÚvCä!êìáæ'ä$Ò)‚…gïù(dŠ7ƒ¼¶Åõ!æ§Ã»mMÆl"ªúàl3Å<@æ¶Å¹éõ<5t%^uø”€%ó?ð?ëùE3žÆˆY¦×1`…•x£÷×=©hþôg>m„¤ [‡pÛ€u”MXñ޹­'Ф]'._}k#³émnUÄ-4^˜ðg¾6!ߛԹ -,ŸWìA ­JÓK5}5Áa"hþCÅG4WŸ8=W†ö&$ª/N<ã Eq86¹Õèm '¤–-w¾‰ã“.w|W£Gm™‰ü`5iä„«j½¤|³ gè•Z^Â’wp#(Ö]SçxDñÒÈÝm¯›_^,Ü YR…CS)ŠV 2r²©jÿÖº ´ïo¤”êý8uµ3ÙÕD«hp(‹oÅo|mÇ#ˆ™Gª¾ÄþEéÓ÷•îØÃ˜¦‰Y·äK¼ s~㡊¼ÛP8ľA’lÂ`„iÍWu‚D›ŸŒP¸y„9^>O+8;­@ÛbzW§‘±Ø–áÝ[4ødbAÏ<Ί䘻GÊ -‰O Yß&äjΊO€"@9Ž×3Þ]¾Çá݉AŸâuŒ–y¦¦#ý±Q¼9Ô<êKXúmõ"¸á§¹v mG]GÅ|°1‡§„ÍÈ3þ›êQÞØ©…([,v-M'þ24Ú‹°KÓÖ@ .»‚–Eq…³s ªè5 Øbò)©U ÞX}Zêòûõމh>äLhSðGª#Ö â~¿zäÂ…–QÈ-kzÂ-ËK×púÜÞö>†ÔeI®áÉŸÁô2Í®—+ªú:u—‘œÝã#YÅ“o´M©£âç‡ç8ÃÅ=«9ë#Ó?Ýû[kÚ[x&§ŸCJ~¶1£ê9S¹ígŒ7Óå»FNM ƒ\:òóº ­+¢ï ñ1ÚTï¾’žnnƒcJÏsš WÆØ3o‰\4g9F\@·˜½Ê ÕMîý«*漕ÐîŠæ›ÁÀªJöÌy J;Äß9¿ÝV`=à‚€TÚH¦åŽþ@c:w#2ñ€ótåõ¾<(üÇ`ªõ¢ 105þWm›$p»*›+׋m ˆ^ð¤shj€Z-3”‰zÌŽ“ëÒz ƒ³ÞHYúûܶ~1Ò˜äѦÎN®vÜ/gÒnÐ÷NûtCŒ½B– Z:³!—}`º9;rˆ¼í (Só†O‰Z……¼‚O¶ãvÍ±ÆøP%•¤xî1}…@ ¨ùE9`©\SÆCVJ{ÃhZ¤xšA;×åw¢ê¹5N!9ý&G´MËZoôøºF(–4l¯<@ö¦Õåw À]¼Ö_èlÔx‹zSo¸Ú˜€M «X†ÔZWÞŒÎëâD†Üï•B ñEv;¸5q'X˜YñšQ¼ÉËFG܇2U,Rmd¸@0ÕçÅOÃhuf æ>¶£‰ÙX©ßcÐFÒµm²méí'W„ýÿ|»8IŽÇ“ÿÊ}±¸58ÎN+ª›þ ákÔ>åÕYQ!T”×ÍN¥ ¹KL1|œMÁ ~‘)•»KÀ@ ºÞOªF;Ï!›IcŽý[á©ãïE¾mࡹ#§ä[ÜáÚ£ âñÃ&€õÇ.,¿KEžq­C™·ˆB#ìÏ‚!Ë@s“!û$_­qµQ×]1!¢PGT‚$ãÞ\cf;šr†é1q ³Ý*, û㦆ÄP´#—Û`‡EUHÕæI?) óQ)KâðÌû¤²Šz-ØÔ‰V4á™VâsfD^FIôÆÆ>Ð+@âG{:•3G@iêÆ“w5#17&5eøWÿ=<²—Ú¶j[Öæ=ÁÏ™š\vçÅ<{˜œ ¬h!{¢ì/ Þ˜1¿OXùÓO$ô‹ ÎV­¸ªª¯zq9ÊÑi¢z7¬,தƒÈÈ:,€nuÑ•|¡£à#ži̶+¬5/rù:Àîâä:Ù²;p¹²Z™~Ù«„0ßÍxu­1-†` ŠWžáÅõŸàßi`õ¢}Að·4NXÜ'/CÐ#ó¶Éâ.c¸'/‚¸ºD)yp5ªå¼ôöÐeCR ún Eá@-µ< òU¶ <@7½1Ig %™¨9ܸåŸÞ¼q!)E6 Ø»×°D¶=¨Ù‰O›ENEàñƒßç4ÀUçbŽ?™¢ìŒTÓùkTviS_d¸–æOÓïCXXGßeH r+ Õ;ºÑ´2|P!iéÕÖŽ§:ÔA8UÜrŒ¨B\>S$R7~;®};1ÿÊ«jRÿðê?TÙÄ¥{£XÝË0ûCú»K܃=t;*òs+Óq,½örb´!oE½è…? $SBN˜ö~M€Å"~F+KcJAó±ˆJ¸­ø:ú¥G’®S»}!Ù+3kGQþâõhåÇ¢å€,õ6\2f¾=†D‡…îõÖ™æã5øì^kàˆ¨3ˆÌ¬·õÿ;F é’ŠF ©?xžÿ|4e´o¢},nc<'eÕsAødéŠT3 \uIíÀÙŸÔJCV#9¦ð/`ù°Us`55¶kôÜw ¹™ÕïãØY=ðÕï¥âÅÃ*wË–;VM5±}hDJ—ûám;ÆeZvR-›AT!{ãŻݺ:.åœX¦´àŽ.‚ç+1ð¦í–k¼ÌiÆ @û©¾¾°¿Ï9DÎ*`UTï3øÄ*üÐB_0·AíµBÏ•ÂÍê|ïîúb‘Í'×P؇z£%a¬S9‘W U =º¾"IË!§û{¾ßØq«;ÿ\KÄCØ  ‚Vq(Ž//¨¥AiçÞ ÷!>Zm‘CÛjíbUS1ÉOEšî”úoÁˆùyÅg’µvTŒ]ÃÌ_ÿ™k¶ÝàÁc*”µ4>D ?ý*j¹xN„ñUº7ú²+[$ ¡Îø]ºäôv~+üœ63/­%}µ¦¨Ô¬kÖø#Y  8»§9‚S&xj0;-ÇBéü›œeìB#Œa÷<)1ëe׫{Ò|¡EœÏÃ犨x÷J‹§ æ²<.²™íQÅ5§æû¨W¡ ¡êÒ.zð‘í\õ¿v‰'ì QþHCÆŒ2úÈ1:Î.Jñ0s’Ý-eÀº—¢…ó½u:?ÄèW “¼ÐfI׬·Ùëçú©ÝEžI”A€¨È19eð§% %ñÜO£`ñâÉÆMÌ@jðôÝ ¦i¶ÒM½tÃmÿÁŸ:Å~À ÚÆ)-°Í8îÒ¹ñÆß¨—ôŹÒÚ6 \ë[®ˆ£§µ(T‘Ñï1)@­=R^Á÷Û“Á*t´_‹ßviõk·UäFsúp•‡/ÇR“Ð~ÇÏxÉq]-ˆtdá~ù(øù32¥®‚bÀ¢È`˜ˆ¿*ù펺J~¿¬Y9¹ d¸4Õ´OA FîùÆXÍûÐu}˜lG­D0Í~š 0©Iû=OƘ5éÑ”Öi ©îàÙd%Ü]Ry òB°’¨ EÊ’+Ìë]ŠYòœKºèi‹ÄÑ…rŸfu~GΞòa‹~úìLyCÜÖl;‰ý㔪J»#š¯'k1ls¡è¼eA éòoò/hZpÒ "“oÀ/ˆhh»ÜãêkH|sñíkõ\%Ç/QÃmX©·_bІË!¬®T”®ÏþoeŸWr‚A:ô=,†Úô±yzÚ¤¿?T©Ò~üàBeù¯òŸ$å¢b÷0 y bABµjj/”ð’«/õÁ%5ÆZÖhAÑÔN{™†ì/}¢yÁØÎ•¶ ípõÙP7ωýð§ö´Úåö$!ž»S ¤BV‰ÁTa]t{^9:u-K |ü[2ïé¢f }÷é™4+ïuÞ·€Úbx?RÙ9Ð Mu{Ö³H¡5V¿=™Ý¸ÆÒý™»C`}÷–ý;±ÊéBúirÔÜæ ^fZrø,ÇB£HSÏoP!×gày¬~ïÛ{è»™¡Û và…¡’SS47j¿G¡Ìï '5ha0nš\¬TWÆÊí"s[¤†E8cë¤ü©ÑØœWõOw÷böu°`kÝ7íZ³·Ò±GÛæ´¹u&eÔ€y¢“#ä”yÄÄïS>BKì¤Ó(ÃðŒ—»_Ä!Øf93d5uý>q }7£¯¥rþ!ÛÜGúh¿ô¼¥ÉWbT@SÖg9úòzGkË‚Íhù“¨ñ?|»™7#üÒgÖL¼Pa÷OÒéÓâô ûq×–ŒÑg6[Gû’âÊëbQ-±¸w, aì€s’ÊÇD‰ä[D QÿISݬ’/Ì0‚þÎð0RcÆIa··EÒqÿ¢?üÎàÇ-Ñ™zݶÒ.ëNp\»‚±à³l8g¼`ˆñN/)ú ‰JÁ5xûðÐÄ0Ñ oN AÚ%’ÇHºWÙfƒÄ–(?ßņjG7ÙR’JðQ RA=§´AC—˜ZT]E˜ã¼›úòØx®R'ìGmÛI¬eÔÝê+[©"]zQNûÔnS~ÅY)LܯÀ:ƒìc'º¶@# r^"Ç|q ` vn1„VåË‚EÀw`ˆHö‚•Pùä…¥V'ºÞÆW‚Q(øq>·ï –kŠÑ oÌÉÅHb¢Æ9;‹D3ýKÀ[rÍŠÆéüòUCÚ»JKÉì†qÃ1†³æ>-Ó2yV)§+Ç¢¹Å+@a´øâÚv×Дc3ݶÖ`Éê>Ü·&§ªÚ12Ñ–ÉŸÊ«L?˜ßé$ ªÕ}ÞÚa¹²N]cØj1“–­ˆôÊšÝ,:¤ü¥Þßü61Ê]dúNcwjíPb',"Ão9ül]ÏS™¡cÚfò¸»IWû«‘nZàää;P¹•ï^)³FUw3î‹SNnZè0.°vÂ-5ù(*Ïd|ˆu¬ÑJ±lEZWéžcAB4j‚'ïËøÀ/0õˆ²Y÷v ª›Li‚x„|Àù•¤7[¶µ»°ƨOÑ]UL©ÕmI&n¤¿ŒèUSYé|¡‘×¹õÞà|úb¦‘ºßÑ­Ò‹‡Ý‰x«aµF<© £Ð¦ÍÞÇk-À ½*…¤‘päbCŒh´ç¹?›@‘j ã9ÁÙ”òʼn+Íe…Ãré¬ûš¿ z t%›·‹Lžàµ`/Ø ê…Ü ä|²B¤‰–À< l(a{'u½zjmúùãóº¾5L„Ñ’Qbˆµ¦¹Á×9IçR½ÄZè§ž¨|%Œíc)‡)Ìd°v ¸a¥D‘Ü»ˆ]Ñ¿ÃïSMjX,¦”«I8î+‘å^0~X9äÀF);¼LÅéð*uÕL^˜@C2Í¡ ˆ°îßÊIö2¼-Êw­85Þ’1Ž’êF‰zX¡¶4Ìâ–9b§—}æŸÞpä Kx8¡¶Ì§+ƒ.Ÿäþâß”Ú É}“IÔ*9¬ì¹RÖ›ÿˆk:[ÿÕ¯B‘—Gñ5íÞKxÜ[¬eÌùb<»K„[Š×"Yü­ >1’+Ú.Ýœt†­òDá猫íbWþ/uÇž~ÁyêÖH‡ˆ ŠÚ«#^¿´\qWé^AAkQÞö&¯á­²k@p†¯… g”¸ ‰ý­ä3E(^^-CÁ1ÙXNŽ$ˆ­°²éb™Ê5 ªÊ÷.º4;.ÊþnFÓ Ö[“m³ ÆåLž‹ôO9¿ýÌ.TÄÔÜøã’.ïpOñž\íÚ…F!2­ŠÎæù0tumgïkÎÕó ¨½²SlT1Qjò[í¶Êî3rÜÍ´-ª§Oʼ=½ÄæI%#ü<õ”fmãn UÄR#Q®IHuXº£ ýô«<ö lp›ïþu4;U÷‘$N„Ò׎ÆN=J] ×þå\·ó²+¿)É\i£+B|‚ÌwžÕ¤ÿzŽþÚN èD¹„I‰…Ùy`¦~p“î'r¡Pÿ{Ðkä ]¨Ýä!÷Ï/,G¶¦ 4…È1ð•‡n4#ÍÉ7'Hy‰e6#«Í>>ÚϦqÄ2൦NlO±-yhÐÓÂAv"®‰h1é"3óîH2ªøpý­S–òE=ú˜Ú/Û×ÒÈócåXRüm³ÛF4g‹CݜƫB܆í,Žýa¡§1ØÃ×Í©éÇ–F3PÏ/n<`@nÜxÇœõ«ú˜‚i>V¶BüM9'Æä(¬5õ“g9%½9Ü#ŒÉ•U±x*ýöw”«êÆö:G"_ài*íSì|§ú ÕÎë1â±@…sŸAê6”¡³±(8€ÖF6å»Fù›+„š·ÃùÅ€6 —€L @ L¸ž©–§~$|’æn³´nΰ›€gRÃðRœ,%Mëi@Ã}:0j‘º4ò õ‡ÜçdJþŸ=æ ÖúÕ t—æÝ¹ÕפŽE& úgG*ªóØÛC, ¦$‡iu«Òr¢ÔmÑŽõL×. ¬–ŠkåÁÜØP.›ÍJ'¾¤²À|ÕD=i­€7‡]£/ZýÖbaL?ª“]ç%ç¼…oc0bhBÁŒ‰ oç&—kÿ‰3\è‘DàE`˜Æ¿ÙgK:Q¿ØÙ±%éjéŒÆ™ã9Ô¹;|ÛôÜU9ÆBŒ»¹á®ß“[™¦ ity”¤Ý]å-ß&æà­hHB_¸¡Pr«¼+@Mнþ‚ ¼[t©wÜPX]lõ£Á{¡¤“Q¬ ÇÄ ›š/ÏàÖ¾8û—Þ)5<9Ô¼–ë|£§ |~9rù2»^ î‘ï°™(ªð…Vµ¬ÏܾÜYÁG+}Uȳzýãi9!W{¶bïV)£fyúÃEÚÈwœ;w {ALáéÕƒÄPþdé•*é~¨Zp*Ç]éο†ù¸ïµ‡”0SCÏÔ­h J&ñý{%e/ çþy‹—rÙVwT¤4ØôK GÉ;J¥ƒ`¹òqËfz+¢!{úL&´n8¢ÔR÷Y–À¨Æƒ[E{Öa[0´Í¹j´;¸ÔGK2#ÀƬú„È_4Éä¾Äìîéª6›‚Ìù¯ÇW’¸*§ÚÑé°^t?5§«Óâ·e·Á" o`)»ï*„L;ÏÑ©Û#PŒ†?³¸Ót±êïܪž,)Ч×l”Fïlê1OY üÕlË¢™Ö/ªu™_¾0£‰`Ç;]GZG&W/è+çÙBwRõ>0fä>M®D?È!Ç¢Ÿ|!yW—EDÄvÑÖUG}3)ˆÅ¾(9RÚ’Ý “í_eøñS˲¤|{ÁJj*s0¬wžÃÕŒ]__‘IgãA\·†¹Jsh|z–½Ê‚æ58Åš€h¨Htm&)gKL`R“~•Ê€9ž[õ.$ˆ‹Áy}¢ªRu"0%D0¦¦\È€šÅ]ƒ‹Ú`)œbz°HM7m zÄl”Ò®X5ßó’¢»y√²G¼àd@+`Á8±LpI!cßò 6òMV,ÉSÀñÏÒùhx}g Nũއ1€M]¹Âö,<Å6G™xÚFc†R±¥Åm¡‚[üž×ø¢Ô\îèÐÑz¸€V`vjý SóMêXEßâç(gçW^Áß:X¿l¯Æ·õè¡)\F¼œ óÔš‹ £Nˆá÷ùø£|Y¥ )¨„ûj8*ÞR]­( â©îäQÓheä:].eÙÍ´ÃS"wŒ0L˜ü|ÉÔÓæØúïœÚÅ*¤‚tßsâNó_à`óá)Ž[ÇõzŸe¯ÃŒï©I=Ä=ØÕöv¶]ižÑ…| ŒºîK"ÎDf9n—$ç¯ÛšMSEOÆXþÒp‡Þ?¹yrs2¼Òvø…†P›÷bSqꌮσÒNNH{swÐ[ªHÉ´î¶ç\gY`¯1Ù‰>ùLm6A¡ŽãA—y°)ª¥Î³Z‘KÿJa“"ÝdÉ!øÄ-©ÿB‹Œö¢C CœµÊÈç½lWЊ—öCm³ ÅI`Fžç ¡ ýi=]%~“_e(È«—¶á<M8¾Ïð ÆfˆÏ`îAsJ,÷±@DN?@êå乡H˜®Ø‰«"S, ¡œ„SjBobSb±íªòœw¯À3—ƒ›cøÀtSg(}}ÎPnâ«yƒ-Ûæ,¡‘€Ùc¿>½hÖQ©ÜAÉïK¶ õæãç²xã«f`SRÄ>-=éºéCúZ'N;:Åõ¿Þí¤X:ÂÖÛÚ.,!Âs¿Ä›Ãx+¸žœëùZ}ÍU þì)\M$hØMaêg‰·hÀþÊR͇úßUrýÉB]Gd½¹MÝ•¨.qoHøs˯vn—!Âh\¨ÅX£‰4~ß:#œ"ÅSÇç(ûÞvƒWrof›¾!•[ Ìï¾1ûízK=‡hT‡–ü"&:©iþ¯^ê’ÃŽ[W¯BŽr(­¿yø¶Fþ*È|{m!Yâ%=ZÄÖQi&éŠâ)þTÛîNÒmJ^‘'Ç‘JEÛG¬ú†§U²ŽÆë'°ÁmDdÒC®Ô^Ùrvåx ¡;î ”ìE!Ô¥ÄÞj/íÝ*o¶c$XlÁ½Rþ›”>eb‘3"Çè:­ŽM˜$]Ö1C¹È‹á5+|å:’Š‹Ã­6 À4­Uñ@5%)¤æsÚôÖw¥YÁ¡xžI:­†æ>æF7Jü̇Ñ9Ûû¸·è$•.®=Ò”ø²’’í¸[‹WÈñ€mZ2×>oµ#Ý‚"Í®wÏMH‡Ä´³]A™ÁÚå(ÝèêêÃZüE5C«—ù²ó uW™40 ‡ú*üÞ:WQ9´}1À36Ä·ÓG;ßøÚ…ó‘îUòEÝt~’†±`¼êg2¦ï dE|v‚m‚¬ Á.0†:ù~ e3 ÚF¡_ѯ*QÿL§ÚtGròŽÀòjU@'®° ±\G©éÙV’sï¯%·°ü(C„#qŠnQoйH~qµ,!)L_+çr  ™ ×òfå/× ^ú2%n)yà’§ÿ£P(ý¨v‡ŽanÖ "®HÉõ¾ù÷†,D®Ù=àbšC{~É;¬+i´Zœ/ŸåÕ$•®md‰Ïq¯€J¶Ñ÷¶^^<³qvßU¬d¶Br 4Rî*4ó0HC{Pãt¹ôÅÞŽÚqÿ2ZßaÊ×±çR¾­úž@»Âˆ²G£-2`ÔÇ ° ^’ O5jØGÏæÛâ-V†dîâ6ÿ®ã]m®¶cõ¿jÛ¶uXÌÿe8†eÐ uõá©Y§¿ v+Úõ:^åú„Ù!’‚‚W౉ò–(ý·nÊ™GK1?=±²õ-÷U³rä3p幘:¾Ø¢Àà2ÌæÂÁº½zA²Ï–Ü9‰Uf6¥Î¶½zÄŸìÓ3>ÀþãQ(kbñ÷¨çèõýpœ¹ÇŽ% MÔ»>Ñ0æò²­µ¦PÈ¥®Hy¹­ƒä´ ‡Xøìj—oà¢M,¤‹:qXaòÑÃKbÆ·á©{€ó&å˜wbDÙZ©ø2æ­ »À[ áú×`sB²ž%Ìá½_9Ë7wئìç’“»ÞŽCxÚ‚ëñƒ( ÷Ó\Ã׫­¨·f ÊJäÅ-åƒyaâüJ“Ÿ¿¬Ë®ƒ°Â8Á—i€‚'¡I%ƒÇÞ.ñä…·ŽÌ¹œN•s5n·Öš<ËämŒ–[ù?)S¸z ýjZø%¥cÓøûP»vhË)kè¹½V«s³–7Þü<›%˜ìv¿AŽ,fýIÜûBtõÁLx8w †®ûܶꫜƆÌúó€;rÅ&Èi#Czõ7Ñ® t¶p~Viâ“ßÇ­SîB%ƒ&k÷¼èž2L;Ê£òmáPbøþÀÙÈl…ùµz’K,DÕÏAà5à>Ýᨹ„qºyBøäx?rë½”%¶•8ƒ®|’¼´¹¬+%ì™r !¤ªDÛ&We¤ª‘ u t¥ã•²J¼M˜óóžáL¬’1í½Î&y¨Ó‹ªõ©) ðdEšh?!õÔêçИLg_ÆX“¥søE…S ?öа7´ t8ZÎêãéX‹4lUL…3“Ó‚]–g|á±4Ðö§—æü*y¢§]”¼2»Ÿ—çÚe ¡gž½]s9ª|9Œdðwãý¾Œh Âl©NðC¨Ãªó³žGr¯ø+_Êq„,ÌÙüàóìL÷Ö·X”gûFš ’0Â*Ÿ"­—· =‹ZµÏ^á±f…[ •iôYZäãFá¼ ¦YiÁÓÒgs¹N°|CŸ®›ÈžÃub¨V²ó¼ötcK‚­×Ör"·ÑP.‚B;î¼2—÷†š2“ŒÛ•ÊÀÍ’-!yèIàf¬\2­Ü3Fà⥷±·øÁö_IžÞÚëL´QZîÈE|½ NP“%ø"éÉæG–s.“tKݾ-M=E|àZ>‰VŸQ\;"½ñ)6TÉan‰¢Êãu«ñGÝ_ÛÁìív•¶¯Ž´ØŽ'‹Ú½ð>Êõ[Â[ÑØ%›/›&Žì@©v•èèH ·Ø‚sÖ7¿r›,gßÝ/ veGÔæa¬ÚÙÓ c€Ü=±ŽªBö·—Ìâ ƒíø|£·˜{ä{w'ûŒáÇbîrpö Üví •å:Iê³)~夞ª$ó½oDü ^¬e3 ƒgqgÖ?r|\sC$"5@Aü™N(˜ x¾r°µdYCZÉÆ…=´æ…SqÜÀý¨X ¹âÇuÉ­ €Õôäo³õîã!Ñ}‘ûLã"´ŸL‡¢<ýyj¤é˜eª„`,—´ÿ’ÉþH*ÿ8ÙŠ¹0i  ¸uN%%Ö)Ô’ËS<ÝGÓÁµ¡v,ˆ\´Ï}Qe}§,%å—ÐáÎçýó­¾À¡5þ§@ÑÓ¿SÈýÈSW#@%–/MŒT¿šqÝĉõ;âÅ‹ÌýÒócñ°ÊŽúº4·%£ruDˆù²3Ë$«K¾mý ÝØL„vú™:ºV›ŠâÍ¿~ðj±Zôà‡>ªÇWŽ'ôJ¿¶ jÉTù}@–«2ï23D‰m‘êóœ~" ¢èˆ÷Ë(#e&+·Å–ÒsäĤšD‹AL–•r7¨uÜq*ОýC„KП”þ¿°¶óÙ=X·8Q×ñ þà!ëZ†ž¥§Ìxò/çÚDý—ZÍ®Ÿÿüb ß!änÔ|ÍÕ|»è¹ŒxÜÂoÀb@0¼AËZ‘”Ñ&}¡–÷% ‚å{faéƒÚ5±‹nÒc€ˆj€06ɇôýqö‡Ö¡ÝAX1 °§G&W³bL¤ÿ|ü6˜±NtµA6GüÏ09Ý,¼.»Ø+0OÍîD¾\ÀZ(ƒïûûÊÇËíä•JdÉûoöZ6PÖ°`¦ÒUýysRP`³sb£ÜÛm8“†ewºK†Õt8~%åŽñ/éúÀ8ª‹¶ýXØç…oéMf±PÆ/Ëc%‰_|k$Ñ@ùúŽ^(RÊ”ùq8äá°™Î|Ñ$M“ÛÓ”g½Çâ·á÷»]–V YÁ§ê‰]-$‡ÜÑPÊÞÿ!.¡o3faÚ pXÊ#Y¨ÌŽ Q]OË ÊKîø;™Ín×nwYRc‡ôFõñv^ÇLNv|)ÔPÀÏ[ÊD8ë±3ÿ¹çÚx¯oÉò⥼¬¦–¹8 ¾‰º85úØãPE¨©x³Ú½J„EèùIeÐævz×– …‡rpm\NH´+otÝÀÝy=æ/$p| žz)jQLÃ)X:>/©²ØY"Ä^‰¡3†µOsÓ>(ãÙlvßo1¢Jø54TØ$C•œvÞMF€ÛDkJv0ÁáMJë粤™COª*hÝ’è]Ž«Ef¤Û4óµ%ÄõyÆØ¹MöFPîï–ZóS&$’ »|Ê®¯®ïu„*ö*â eËóCËŽÛ»Åc­Æ8%ÛúÒnîThŸ†Z‰ö¯©££dENÞªôÛþºÝ৺{¸Çyqxè¦ã´¿LŒö¯ÿ­‹lÆÇØ:5N¢Ž™!J€j´äØ5™;7oƒ¢çEd Q96–7ãc%·ŽÁ¹Óõp§é/zÐ\ »£”šúÔ~¸4W\T›á«àð ×JÞúåÇYÿ#IU8³÷¬Pµe ÿÎb]Bô"Ç@';¿ŸÃeómö1z Ð8çåJ€\þ,Æ›'?dÀ¨/ytí7ãäQoÊ9Ë%R½òÖ“»ÿÌ;Á­°æl´<ŽÂw3²õœ–ûW¥ë¦+@v´jX;{Ìx‹hIëZ6ôÎ{Hª—q› »ó›'¦¢4(é`¹¤;ÜTïá• E/ŽÅí|Ó1.‡bbÛTzܺחŽ5½åšÂcRƒ<é C).AŒ:-:Áˆ<Ã] î0fß_æK¡4mýïÝôH_uμró6ú&9!›…^®ôí¡šr/dÍÂ_´‘sDÖxk{bC$ÄèFÀŠá =‘—¬Éu” *SŒ—1ÿ Ã/#2ðDk6›°šìë8êžÂ¸›¤Í7y0B}5#Ó³¦ÏÏ:›;ûþÄ(€[ÉÞ¯¶œTÊÆs:ˆ¯˜Øž“¶°õ'$È{Nµ!q|ö0kØX2ç´yž¥±Ù³4á"„B±ñs7RiÐKŽ‚"oᎉM¶²Vªé· tªÔƒåq¹Q˜s)—'@/;ª»îÕúøÉ.óº'Ò<@Öž§âý4µgvz1™0ĵ8õ±÷,ÓXh÷9àm8n<(dtÑNúŠî‰aªÌ„>~H¦;Ny­ðr-˵g<0Ï@| `A3ëçs¨ó&Ðtác`¸öÀip†A™ÕŸÑ–`Ö1!Ù¦..­"&¤tkû]mõ—2ÐôîBMjéiʪ ‹ h+Ðl·ö‚¡ã`®.s:µ¾D¨g,Dº.åÔyÝûùßJ°ï¾ª4¼>Æõf7A@Óÿ¥\RÇÜŸyðQ C¥@ñò-óœÿ &ÁG‰dXïÄ<¦ß†Fü•Gúrç˜DáÈrÀø—óyKÀœ@±70Šì96çM–‰â¥Ìx7Ѷž uQk2+ñbŠ»hXwmâ± ÂÂu*ŽÁëízÜCíäðøLüD‘Ùo€~f/•ÉZ:HÁØö/±ƒŒ‰Ñn3²mŒÑÎ’H®­ÞÍ ÝR€ü; %°`’ò;G@ÜA˜íë´·ccÍÖÄÎVI)q+h3)“"“™sL:ÖÇ)É+r´Ž£dÖ(U—R!#.Í«„w|ÈvwÆÆy“uùˆ]-kvç:Àe6 ö]k¦îj×÷:º>1ìiluÈÂÆêgÌmù–ÍÔ9Íž‚"àT¿ñoÐNÇÀñîbû„"ŠeÊ0ï°ª:þ—^m‡ïP*‹Ùýì©í4*´Œÿ½õcšW¾®ÞVâFDqÎ>ÇÒŠ¶IuÅ>rNÅ4ãM&‡S½Ÿï9Œ{ÐgµE{-}ÏmCŽëÓ©ûí¨a¬Å/îˆ?Ôò›5–‚>Ïü$;‹(éÏõ©m;÷…ÿœ ‡^u H˜|L·z–WCNi9ºúQ¥v]©­—³“AŸŒ[¶¶@ím! ²šU¦(9'5„\°¦zߨW胎Ð<‡vâ·WWÛäÇÑìòÌ\ItcÀ1Ëá½vBÊšg‹D0fe­áF…Ü•…:“ék’Fj? ˆe‘%™)É õŸÚ³¸Tª&R:–V> §¸–€…­“¬{Ô¹å³ý9Å%8ˆåä®Gø%ÙxƒÄÏš£ò]1B{#ÃGŸE¤¥îíß)l6wñßï3uýÃÌæþrTðÇýÒêV3NŽÿ]äŒ`Ç/$윯FK<1=¥üÈ1£:³1X•cÔÙ½«k™Æ:Þ¸ªG¦bÉ.´H­}†r¸wŠß!ðÅÛ<]~ ÝQóxg4žE- ÆsCRñH$‘8fàSvé×ùHmÅã¯×96õjZà?ñd׫;ÔF£÷]ÓÅ ½5Ýl¸·4ä›s òÄÿ‚òÑsîÈ –TOn æ»lqM ƒù0NÅRÀØ…³*¦Rã^cÛƒáÝ}nÕ/v¾Ò×Cñÿ<¼Â<®ªFIQ:$þpñî‚L¡áf±iˆ›¥|xíª~bBÖb² ‘ ŒgòDܨw´ä”|Pм$õ{ü«î AÌ5ÞͦFž:ÿ"+Hù*-Ä4´,k-å“ú纜8Ç…4žE™cöÁ*U×d¾évëÀ;&2Ë1èîý½Q†È)œL÷ ó™µã2;|ZÞo~:T¨y”\&²Ö£Œ=朠 °ç#yË.ŠÔŸÞ=ÃB$Ÿ¤ßFƒÊÝDPŠz›wÛ8¹Ùãk^Pb@áV†¸ e˜Ñó Ž„$,}èSæŽäJ¾…Ç5A‹±*”AÕ‘€ù‹+erðËF»úo䵕.Þºê#œ ¤j– tFR—1çFµÌ§h ÉvRÀLHÁ®-_øÝÕõ!S‚ap›üDý¾"w\™€CxŠVî¼×ÃîùÕûªWÖ‡£”¿ÿËe…§ä’}kªYdþÿÎÛO©ê˜.—ÐÆ!°¬·ÏÓ|É<ô$㧘.êÛ6ªZEönKgÆ)ì g(Ç“_ ¸àuv¯ˆÍ©ê b¨Ã¾›v·Ûõ‰</Có#ËóZ-HcɶÔÔ˜y¶%Á7Иµ±‹1XJ=’Ã7w‰ðË™6xk%¯êe,FMÄ ³ÀÕ§òÉEÍ¢“‚Š£Ú¶û¤‘…›½L¨}+x÷ ½{7,ÁaÕ‘Cƒé‹]îËÒ§m?Pjg ;zÌoŠ’Ì^ò^¡1Ç)c­N’Ÿ@Ðk+[NòÊï9$œ¬Æ×Û¡ß^¤¸¤*º\NvQϽw:£¬H³Î¢&##,“l`éBê¢ÒoW©Úî‡Í{uÎä÷NÄß\°ì¾Lg’ 26q/+‘m[d$¸—œÉ¤ºíoâxÔXüµ•‚%•ºÝHÑçÎ÷Ám‘€[Vc÷”7¢ø‘÷¿p/ñ+y3&@í"´ m×Á¤æIðJöu§&&S³ÜAÍA¸D:ÒÒªÓ¯å¶óØw‚,x~¾pÊVnºÄCù‘xÄð¨çˆ °(û3ì çmÒôÔ|šæ7•T ú$|$qûÄ!>ß嚆]ó?»"ú-H¹ßJ”œÄ1-d-7&,…´oêen·ófhYg½‚qCS`aÂ3Ü[¸e÷€&?™]4o­lÄ#ì6·º°¨±î¸Ï¾ÿÀDc¡m3.AW:I'%ý%GÙ‡Iò½W+˜–¯10)3úÃù­ì¢Ey8%˜h¤q8¸ßp³¬tÿf/gæÄ-ë5OK²ÑKdenÔª\­•КH³^÷‘°@Hø–`Ö&Wæ;4 VÙµš™›ñ¦‡¸õä#ðW2ZÆà>mÿÿ©cŠTMœÁÔmµz†@¤è¨àBÿö™Ò`J%G¬ˆÁ˜xué˜h¥7ÂhÌÍBÝñ; :\PÅ` ?®ÒG)ôU¨+#0>Y%ìͳ»Ÿðs0röwßüNøF2ÓÏPË“ŒÀ2seÃí'4¬ôìÏ‘ï‡úý— GÞ|ž‚×b!@Òù ÙõAoNé «ûÆõ‚m¤«Æ—ˆâ2eb‡.AÉãÇj_—4/ƒ[^ëŸ$†ÝTRô)tT¥NÇãôùª-Z„[B7-ËÞ‡1æØ"fÀ•fV³Ò%¹'ïÙÉ7¸Â''zTkÔcðf¹~¾ðª÷@ÞI„&ƒÄ¢Ê¯:â`[c¦ Àu¹sÝW£ÅûˆNˆ¶ëßʹuw?*Ù [“{dø–ÖkÜ<î¹äm.©¹×NÇ* žFÃU —o“Ã|Ãyv?²º¨Aá_MÖåi1=÷maD:Ñ„p) ^B; ×xIÿ³(§uZ?a ÄS]×ÿó6ÖÌòïáÇh…¸ŒlÜWK48†4+—GOÝÇwGÜÉ;, 9²¾ŠÚ˜Và 8”²èâky´j^·.K‚ô?xiªÛÞéè 8tßÐ6Å)„æ#ÌÚšTí‹„³›ÇÉrkuEboJ¶hw¢3›iÅØC÷€`LJ K°¸«U(IÄCT›@ã6uº aD¶;™EwµV³w“Ƥh¹l®½AüýfG÷W¢³iÔ·cé jyŒûc½óKü_Þ1}[8?‘Æ~®ìsšÃï?ÍË/Bs¦­Í¿ÒÀæ[Ú«±ó¬!œEð¶]ááÌÜÕ›ÿ^ûNª¤ÿ:Û'ЛOÏXwížâÎqSgõqüVy”.Liz‰Æùé,hül¹ hüâÂv?êNc¡¿`)ç凞Ƚ†Ðñ‘LMþ‚ž/ƒ_R»è¤ÿˆ7¡¦Ï¡Ê#tÝšoÞ,ö‡Þ(çç³À8ªÈîpTÐÐÑÅK: þ5Ú–ÕÏ_1œ±«MÙäcP:Â?ß×2PnÃÛÂ"Ši57ØCo¿câŠî¸ÌQÒkNæQñ?øAÁvç¶ þðÙ;tYEX‰ä&™4LßS ßåñ$¢w9J å"6áp ªÑ•–þÏ"‚ƒ‡¥. .sÖBv“ò§0躥;äo‰6ñiŒ¼=zÕÍb‡j¯ðùµŸ—ÐTškŒœìçÊm4ì!ÕX™ï"­^»„¨ßi";fÁ¯ÿh©fÙHÐ\/øÇ6©Ú»ˆ.¬ï ICÀÛ[«ó9Ÿ±²q³zOè²ü™ìoŠÍðQÔöÜ)ÈÛ͵&LÇ ³…ˆb~qG3ºÛØ0•öžÌº§º2[À^Þ%1#]ler÷Î €¾“‡ºøEð Àšß–˜uRùâ-õÓš¶úןCCÊåõpº[û´¿–"ÁØÜ”/öû&ê†.æ›øwå³<î¤Çª*XÛBÞsÀ¾Õ"›H~Â^¼ IÕMÕ+IE{æt÷$€%½~1åNÈ=Îy®y‰”jèïm&‡ÇŒ"©-/zúýë,®î7|鎊ï¼ö#E滵Z«Ç%àÑ$4÷VY£65¼õ£:aÅ}ÐèJ¥zÊ;gBjÕ,Š9­çréê½Ï>ºµy~X‡BsX7*øú‚{±K#·M8×™ SßLÇòÕ}qðn%à(ˆOþÖ[Y /’3ø–B$ØoG#OÔ¥wQB³XøÊ¼ë>)Ük|DÉb«&ÙÙ^Ú… <¾ÀˆŸçPªòOƒ )Þæ•x\6`‹>|Ë.VÎ÷Z2î§=¬Ž$Ð ÷Á¯UÈœ¼p×ÙnÛZqv°OCB³ˆ[Àì[Í ±ÔZšÃô"(€ÛUª£±0§…Óám‡'ÞøTv¡†Fyl)Šª%i”Ë]9Æ.åµÁŽÍD<ßèùáùåɺ5<—wtgXnvvתÆLøvŠÛäDíÖw‚èªF<¿]?dÂh²ÇÑýRôÖK&J)Ó§£Ãé™ÉËÑS(/¦ýî–e”TVŸüÕ3f“fÎ*•Ø¥‰„kk,Ë›†ø(nºç3·Jâê3V©úìëÝ$ˆ:¸(94Y &÷5–G·tí_Iék ×óƒóƒ#Ø@Æ1)’ÍÃl¿:~Åÿuøèø ¶îÖÈS”ÙО֖F…YŠëdž‘Ä-O³-Uµ¢tç8˜ŽxsܨÿZ-ƒ-È‹U ›.ÄÉ{¬•Ð…¸ûÜ”^­–è¯uRáoVþ_Ø»3ö|mÈÀÝ9EÓ¯€­Pý’&˜€<5ØÁ š7ÞA³ž­wÀä8ûJÄ'øÍ¶Sƒò§]ÄGνzf^IÖ¾NëÄå6ë“bÎ5q5ÞFÁnãC¯ÑI(JrMA€QƒJåkÎ[O¨Hô¬øÑE,|aŸsVüo¯ØÌc šˆA#Yêä Ñ¿œ5¬©Yz›<ŠUÍ_Ïäç¡Í¾]¥Ï@ÌÈ>ˆ?¨­ÍÇð¤â- ¦£>ÑóoÒ ÕÒKË\vý>~! ¼Øí™…Ÿ8'ÑZH\jß­«Únž¡|æsØLí]i}*M÷ ¯A=œˆþ _ð{5F¿Fû»{^ñ<—qSÌÌÁ„·æ…[k0Â¸Ç¸Š TeÂÈYx_1®úÈ–s4)†ô7ê0;¥'Zª çÐ 6ú“ìa2v•ESm8ܨMžÐ_aDZ‰âbHKq¸¯ßL'æ‡Ù´>çv×’yÐJ»¼q«PLÓ³Wp:WØ’ ¯?¹¢£ÂJe Ylë?ºŒûm`r :‚áǤµ2ª·d„Š%\h~Ï?Ô  …šxrš/ γ‹æ°« ¢pæ|›m衃À=‰¾;#Nwµ#µóä}y‘Í7'áó6ªG.0ÀÜ ±r GJ+o¯&òÍ^X=hÝIYbuZ9F{ÛA€‡áqDú±ÓãQKÔøIé"~ž³’¾6¤†nÖµå-–?'¹[ö?fæ{…‡Yl`ö™óŠù ¥î 3x\°1ù]’ž7ê•c«Í¬ásXÒÃNzÕ†#ŠÄ©îH;t=Šh7¾›2Šºï»:¹ÿ×è+­ùº#ªeT! ôÃ].¦@ÿ»¦  Œìý›r¶L¢SVfpƒ$SzLSáÏ!߉¢oš€¢ÄŒ1¥®Ï}p°kflXMtM‡V:$)e.£^ÿ°è;;`CLæ“4=TB‡™ó/KÃÇÌá…GágQÒÌi‘Ò,‹ì˜aõs„tTƒÐí׆jÉ¢X‹ Ì€w(Clúžl›’êÇ×Èú—Ì[ùü1N°ýœ°tby¸¬ï›Ý¤#’!)|Dd¼€û·ÍâÞäâö,ÅÒ ¿ï¦^?Ž© è‡Þüõ¨ð¾ô©’E–aRbpIÀ…¿oÑvôÙMâ¸Mkª-@¥¨Í8©vN¯x*vúˆ\d¦Æ[•–Þýh3nÓ‘z纫²La20`œl²Ú`wCí1)xUßT#+êP^”̤^rfOi¤ÙçcB:³\ÉœAÙNì®æoü™ã”Šùžhß6-М…ÊOÐ|ê½näU¹0–Ó6‰*gÅ‘™5a7ÎÔyk®æ/-Šk#mÍ?ŠVi©³X„óqF¤B1Oæ0­Ì|ºª#ÜE*Sçw$,&œ€¨î¿¾Âi0 ¶gç±:æIŒr,¼ùEeœÎ„ó•*¨žÙ\‘öofï{¢ÕÕÿbéö09Œ]£y&oœ`”Äôa¦Æûs=R’«¤nÅûÿ€H8ŸÚº~ -Àþé(&Ø©Êv³)íp›:£¹OÁÆœö”†Ÿ Ÿ. "`-\ú—~À±r_K’ɲ%®û8䣦æ±ïÊŠðÞ”>&a*F…wãÈ8Fdk£Ä´ýâÙÖîOšl0ÀŒ±”¼|*Âô{ï¢È׳Áý/ZP0óÆu CvÍFப[ ,Èâk¥äöÁÓ6Ù›\²ð£ ·Ì»³aÚóXÉ'P3å粸qR¼úõ÷<×p´œõÏ*H ­TªõE´yý¤T=“ºDá0¿Óq‹$ÐQ(ûoJ V)ÆÖ㺋 'ÓžˆJJÿNïBýVn ï>8x:f"àëL[ü!û¸bU/É‚áÝÒç‘I‹§l‡î œœgrØÛ‹¢å¬J1gLË€•NÆæ! Uz*Âöx7TÜá|î‡ ô]qoˆ˜#»éwÑòï8|Í?–:*à}± “œk$A+´@—ÀmaGm3ƒpKw ÿ‰IÇÆo"gè7~DÓ“ž›ƒ»b¤ §y Ë\8„q÷î‘QàñöÐm´È²mß¶?V¹8å§­ª¼w`Ø«á ëwý¦Wo.H´Vf|ÂC_¿7k¦ £;_ïFÄ6Kk®9 óàýî”/Û'Ʊ…vüãD¢{Ô žå§{…j¤i½ŸG>ù³ÌÉ£ÑA¶H‚å")C7öMrà4©Q›KTûñ"Ñëb’MKæH|;q‡Ö¤Ú>“;Køšæ$GÞ“FQ‘¯y³gÀb˜dÙ4Mÿhð ÌãÁC Þ·iš|Ü~- Ä—}qYÃz jÚE– ÈÇC“¹–V߈£Êjs6T¸h¸½üá%¥èM‡=λôtV*ä9Õ~› q ãÖšfÀÈÀ¬.dTá²uRôòA¡2eô§f¦"OämÖÁÁ€¨nÕúŠT—ã"%|`a4Ž©ù½á«dˆo]ªHc°¾ûwÉôd¿ÿ+Tw.mMt™P`¸®iša="Â,\¿—As•G _——ûö'ÕÑnõ/¸–©1„"ï&ÿ´92E&ô·ýcÕF›ÍmI\¬(E`ïuTgUvk_Ñ]ïˆÝ‰I )Œ¥ ýòŽÓÖàå6ßGAá…ÝÒ³€»!œA½MªŽ¨'ùYOŸ2ì9gå…£™­±º`È}{Å]]Å·»OË®½ÔR ÉMü`Å/vç€ð\›RN-÷ˆgÚRC͵ß"®ïtöæ½<~KFŒß¦Ì]Ç9éãØR5·ºÝ„ÔϾ’Jk¯H½Ý ÛÕ™Ù Èjô™ÙVì—:[†¤š?p#M™ ·êÍäë’É“¾…E‚“ö¾Ì<º]…k›Ý‘ˆ¡ÓRûæ —ohéCO¸ºùˆÉ‰»ï}¥‘ä¸ÿ ”( .Í·‚´ò,<}®9é–èjk†3—Ff&ÍÉ;3ÕàñT„Õ6är¥D§Þ\-Œ ^S–ÂO"_˜†âÈ'©òÕfž÷uÕŒ¢‰^¤n³ŒúÊ9ö…lR"f4†‘ÐA9ƃÿäÄ[ÅÒú }köO¢_I E¢”ûîì®fæ|dXE™¦Ç§o_ᇅ½öýc@sW¦«kôŽ2ˆÊÚ ï}h`X Ö°AÀ%çlâdXIf½ÖóÇ~À{«›¼6dçÃvK-nxºx¤i‘Ë'Ïáï¶÷Ŷ_úÀÛløßo¿v¯UÖec–S¨¿)V³ÌP ›uÜGöÎàÞ‘Ö ¯xtºjÙ€Õ"dˆ‡{£èÀÊ ¸Žá]ÀOg6¨ARÅ7ORI&Éö á±Ãé¾<2]Jq([·žË· ÿ¼ÆæœFF4þeç¹Àܪ¾qŒDÆ<Ìé¼-BÎñ脵ú‘Þ1ºŸ”Û/9†Z)z›r¸§ÊùÊ¥8\HöBt+bŒÞÜŹ‡$=žNËœéÌéƒMÒµCšPÌ¡H’3U©_é©çì”qlÕ|¬™ëÁdé:½8àh¼Rœ_èåk2§þ—[cX&Oµ Ÿ·_öE©„"šæ1ß7B8<Ï¥#§‚ä¿ME –Ÿ`ósHì$v…eU 4¢Q}@/_“ehóª¾%Šˆ´¢Hbf{±è¹‹1®”×¢©w îwj—Vo˜Ž¢IŒóŒb^K—®g‘)P]°ò,;þP¯9œ²Ã©tDò…Vâ?:""•’’Â…6 :xš½y—Eºä_ÝBa‰pNÒÊ‚íÞO7¸¹V¾b²\y¢'ù+«Ï+g¸’ö>¥g(Fg$­íYÄî4Ûƒ‡ý7Ú°}ÆÌACÚ ÌæŽ¿.ã %w$ÃæÓ–aÅW‹3¬ƒÊ dP•4y<Ì xî'ØY+‚ËX„“–?òÏE†G]^CÈ÷þ$»¡Q+[ ¨ñ®Y ûñYÓ{€¡ð)¡ 3÷õ&Ã8:€øVc@ëxL%H‰ÃqH3úêõqƒžúÌò ïÌVCÛ¤®Àíõ!’ι¡±vòoZ%ò¡¤ÃL«YrJ×(:1‰]³ïêë3§àº*0ËTñD G–ö6QÊg3ÒúÔ ^@J43¶ß +­‡—ê$¹”-#2ö\ÈÜ?6“e±P뼫 æÔ 1<ôî”ã>§ë¤}ÛýÕÕ‘²A·Û÷âI$G;voÎjt®Vig•fòϽÄQS•hŸÑjFÊ‘µ ñ7Jû)J\—6í]èÍ È ?Á<÷Íü„ì1õ©‚ydû¡4ŒB¸¡£•òL>ŽO÷© Ï +föŽl¨ìÄMGî»×ÛU[9m¨0”=aˆ²Gù,þË#¹Â;d¡•#)j§Ó Ñ.[cuªùÒ=«ÝUži†γœ×µþxþïjÒ5K+¹rV¦Ç_£¢´òЫTªÚïA»g_^ŸxÕ ¡AMöö)ÉŸ0U /¥}óç>ð-‰*€&€¶mwº÷Ÿ[®ä!uy0âu4¶…±ÈÛ>®._wî/v`»,!¹Bã˜!—/ÌÉ#`ænð)°ƒA}”\tú þ©_…¶³õÓ:èfyÅT ¶ìÎÊÿYÛô˸@Ü›EØø~kü!ë˜KO^ÍÊ(ùý0ÂBJé'MɈÅ Dé("÷!~žŠaJð©T]ùU&ÒÌrâË4WŠºÊ£È–wKD†Ûm—ºô†ïgÝšQ'òþ~Uâi FÛwe1Ÿ ƒiáfl^r€>Ó\;ßTAí?dîü´[è{jJ«ËœÙ†.pB“Ò,ñÂ;rS³$kåM]+á‰Q'KßÑ]D-CMšmI†s`ºÜ¦Œ°N/²bp¬†¼¯¿Jó¤}êbS[‚SžâÒ–‡õ©­ž¿_vΕPjÔ„—ç·øH%ÂÅa%qžÆ.ââŸ:CÁÈœ[B-]ÝçÀíÐÈD¹¥Í5PÍ/Ͳ£ÿ3Ñg·Íº¥JS¡«ªƒ¾N×ò˜6ÓÜ]»Ák»!ˆ*UElJÁØ-hNÏÅFxF©š€£ãQqf ½‘«ö± ÜàÇÒ ª(h8‡ÇÒ&ÊH$G®¦²…ŽÅ€ –D8Da¶Q›á)â>©‚‰RÊØW Ó9û¿Ã.ea6è4ë±’›½^°·òö ðÑüŸAT7çØƒ™ë£Ô´/ÄÆh´ìî—o/&a¿ç“T®ñAôBZÜ«Ç\ 5儱B€í¬|f®Åk$ –KxGçêéŽïÐ+ÏQy¶ŠR| R!Ò‚ë[ ?ØhzÜÀª¤‰=C5[á„6xQÏ8ÍÓ‹ ô5û<S3zX˜œËQIOå{b*Îbs1`œÏW÷Bükæv‹"¯yh`:­ Ijˆ›V‘ø¤©ÂØTdÔ~'‹ÕÊ팊bùô¸sZìicËj1=;ýîµêk;ªÇbÁ4VPg Ê"vXïþN¯µïô7eó«ëá»èe8d¬,4f"ÁZt¦©ZÚûÃߥB•7g÷gOû×táÍ+Š6Ѳûão+ T b~Ù©Är_Fæ#÷~Òé ùàe±½fR Es.Œ È*ð2û@¸JöþÌýÖSÐó2yxhE}ĵZy¡ «pŒ·48Prtà´Ç0 ø´xkþ?~eÞ JÏ«¶h*÷óâ0?e”{²XŽ[>]-E_MŠ YÊC7±ÝÀL,(w†¬ÉÈQ\Å ïÛÄuM2ÞhþØ$g£†~õÄü[kϵäM ¾ƒýúý˹¤y›S zq¸²qW´Kíó–ò¤¶x"fpµ¹ÐCTâ|¿Õ I›!ˆ&pAâ iѤ”Ûó¾_ÿ$õ'‚Í7w‘Lj~¾´Å–Ü_lUÊ•¦pt~˜‡2¬›®¼úBt½ ­S–úLH~¸tý© ÃqnÚ8sXšGÖÅËÊšë-è]_rSCÕ–À‡ †AµÚ½ÏY*-IåcÎ: /+QÑz‰ÞA{„ÿ)¦ŠòƸfjÂè³nŒPkìÛ†µöÃâ`?„ýp$:š»ÙÀµ=³[¨wVîµ>Kk}üžÇIÃ/Û~ì8cœr¥iGù©'7»_NPÅ„á2Ì,bÀ¶Q`ÑŠ»¡«mœ?¹©eD.“T¢•òX C¿’_!ÚuÚ-H”Xj8I%#zciª¶ë\®¬)a˜"âm3}‘ ]“¹xE¨º”Á;ià¾ñˆS VöšI¡e›à®…®5OÈÀKH¹hœ|†W ¬É~O³žöÚwIm(MœlÂ!γ¨%Z—ßa\XÊbuû–òä¿b’KŽrðd ÝàÈà-+jÌ×v÷H{©f'Îð±N“!ù7§×[æÖ.ÂËè=ŒÎj•Ö;v¼ià”Ýœ øAÃ!eSUNYŸ¶ÏžQËO·VŒˆº|¡Mä/áâ¬-Ø çiïnCñBÀû9Vœƒ­y¯O X]lt²8Á‹oøÃ¨EvÝ0´Bí©[•¢|)ŒrøÍÇòW}ÕaK×+¢ý¦8EZU´‚Áoš’>ŸCHú`å÷¯¸árîlº„ÕèÏ=j3攇öòîõì:f;;§¶óþV§óÛñŽçÈÜòR./I–R†-Ä1pž9o6k°Ü6=¶9®¥ØÈ(sDäðjét ?TZÝ@\\Àä›Þ뿱C¥®j(Q²uôÖ»ëâzŽÚG)+=DQÈþ™¼•©†¶%vTïáCœq b†åªl<îy,Ï:­.DF‘“«´2î.äàcGKÌœÃÞOy é—4¼k‘¾E£måzzî r Uû/ç3}6XzÛ™P† ¸:y{ËÇÈU½#ClÕP‹ˆ„©â•u8õÜ;\—3GÞO&¬yQFØÍw#½·TûÎÛA°ƒ§¯>‘dIöõ—_rF³žýèÙ«Èx{Lÿ Ž£Ú•Œ“<ñµÌS[€ô˜ÝšvšÁ›ÊâÙülµ%Ú ëCÑ䈫½\tT% 5º|•n”OjªÛ|ô ĪVß"í¦¡ §Ÿ1ŒôAë~3,ÐÓ·nn¡Ò¬ [#ÊMéhœ0…ù$Õa° ??F~¡â«ÃÄM6η2¯ ƒüÊÏÀ^®r‘ŽÂ$ É&±§9M0U€äºúµ"A¾â–žžtæé UJ ˆÊö{(C°—"]Ä$÷B²©¯57 ±Õ§²Ük¹%¸ÝêÎö^°~d&\`CM:¨ ÇÒ èNÇöÖæÇ2!„¬£J,º©W gGæ¸ÒD }Ã×ËÚ`2tã ‹sGkDÐX÷rjŠ’ÃÈ"RÞÌ,ÀhÜF=h’`zœý ÿ¶•/?Jè–ÉM­.r— EêI»'¬7 ·šDÏ*üé­žW#éBQH挅AùæF #‚ò#þ8Ðsäûµab©ûDêú.Ö,vÁ©óõ$ GÐö$°uVrçšóºi ‘Ë4 N§är8†Ã–G*‰}ôhqÞ¤6VÝÎVz2ÖÉn½…´žh‹Ä”·üÈX5¯Z"A¥ËYÅäŠEG9põF½ÞžõøèwŒa5â"•„QDY+U˜þ˜;ÖHÀ{„¹¹ø[n„Y" ”o2Í’˜ƒ,É(6.—X»€÷O臫—Œxn\µ ÓQ—,|¢XM¥ß²ý’é¬G,¬ j4t6 ¶é,Åô–åé_«"NRÿ1µÿµ þ}©Ú9“èbÜ…îYðh^ÿD" b„F:…Ó‰wÄöȃ5}­ü"Ë·…謬tØëMLrK ø }Ô“åò¬(EÌJÛ°1Á}ç’LëÇ,ßSój‡,S‘p„ ²$˜±æ¢É䯡Aúž>¥ ©”Ì:©ÛI,N¶Jù %¢>Û‰[£“™°MÿÌ®L¹ò‡¶Ýuó‹w}ô`úþ–•*±:áü|Y?Çð©ÆOG6»Ò´Tsàüñ²û°^"|¨A`f6`Õ½çù…x ž3ÑãEV‰¢£ÁjÙäóðCÄ·xûö:šû¬\è¤aì–MÄê¼z…3+²ÞˆqkÙþ!_vL‹‘Ãÿeh(cÒX&˜R@1_L|„ 3 ,%Y×¹Ç3"FmZРðJfk²kíRO¯Ï{p¡6 +õnѶ'ÿr£‹IBˆùË9vœÈ‘KоÃ1²Ê¤}|Pš¥•sî«ë2¬è‘½U¬µ‹°ûáÙ7#’ ÁbôPáˆGg 2y„5pcM5êâ6Š7æQ¤À§BÖ"1hiÛ‹A7JNVÀlfUm±äžšIÈOÛÄgoó¿Ô‚(ÆË5g/fÚ¢Ë#Šw8Ü"¿áDµö_Šl¢VÌXH³1ÌhÑ©~»óývðÈ)7nÉ˦Ñúû ÑVOÌU_˜}𼂲~©ëJr€2õÏG ¯H# œfß$.I„æ·>nìäl“f0@•tçÐ ’‘ X©è²v{uáÝo8 ýe"´ÆåÝrˆåqqE³DýÏr9Õ‡î€Ûòæf‰Œ`·V¬}žMïf¼–ÇÅ-îyt­€ ¯{G¹ùÍD< ×Îñxˆ*{ûyøx•Эˆ Z«½N‹qDóe dÍÛZ= ¨\¬:¥¹¡žæÿ¢SÀ¬d ­ Ø*yvÍ~RË{$¾Ø ž¶aFúhêô³8 šÜ13ˆn–)ì†5íäkõV0•±P{®D5†å9Sáw¯ ¤ÙêÄð¸Ò?†ÄÏ ©6Þ†™‚‹J*/Wc†¤R´+çk¹äiw€Ÿ¹x ÿRMó'F5áÁÑÀ[aF 2°¤ú®YGÚR±…Nóë7ç´ÀE““õAG ëÆÙ‰”êÕÔ/o|O™Ó±eÓ”ž½%R¹ëI¯,ýÞöÂÇÏÞo ·y·ºäª3ê‡JDĆ̣X›2¼[KܧÛí²^l©TCµšà0`4ç·í7N€g}5‹õxŽö¤¾Ô+júßàMïq³ûÞ.²ñ6RëLƘS‡}í)?ö©BbR汑?HU $cºš~“ß^[¦¹Ä—&?Ø`*yD"Þѽ“ß~æu½ºÃ Eí¤gŠZñ‰+Ù)Nà|+«}U xîÕýæml6>ʧ7ÏÆÒÃÍ…«Ë…|?(/ìûÉò/´Üÿ'¦°£ì3dVAª¡Á\Süå£@5š×2ƒðöÍsòÖDaOI¤¯i\?#ßFÉÐO¬>­oöòͲ›˜d¥m¶)º³„ 3ʰ ˜·kce@õ>î^¬‰ñhýÚAš{óä)ew u죫ë9š„_ÎÊËÒ`÷Пä9Èç;XÛw›Š2»ÃEÕøja“ËEL«éBŒ52d$èâ¶<òÈ{ `ËÔã*“ k¼'-MHyµ›QÆÄ«µõ>nÞz¹¯z·ÓÓ¹Uï?’nîÝy]0¯Þ§U~Î$£ê¼ûHùöa ^éS,Iø;>gwŠM(qç)v7Ö\è‚AÓÓeÈì°“ffh^i±¦ÄC5Ì·Ñ{’yÍæ 9T¼Ÿj£·ß™æu1=ërjévVˆ„pÌ+‘xµ=]@î ©2A0óÓŒÀf¤Èlž cTJ˜ßž˜GlÜö‡Šéx)™G˜óÙ7Ó® êJ–W»íÖÈ…Ìç ç¶92Ð'/7NýGïŒhw~tGÏ©à$ˆƒVCpåÉÔ¨×N*:R)ªIF'¨lóÎËŸ„—M*ȬæÅû7¡àΟü06Ðwp–dJÖô·Fø âðìx}j¿Îþ8ŸÝxÏ.°Ð(ˆWÿI û½þ×3Æ.àOgYÀèw×OëmÓÙøË-º‡¹+Á¾ÂYØ '*ƒ5© }b2ru Á|—GyAð×EçˆÜ¼‘¿ý®XDÓróM++oá÷«nþø&x}ýA`xPCõ¥eFçâÆ›’w0„׃>VÞËã·h<dzÿÑœªjÈk„±ü©Uj¡ØvtM——u#W‚” TüÏ–£Ê X'9†Ùåƒï<6‘kS5®ÀçßPFªÓŠÉ÷Ƭž&c$£í pu ‰k¸Ùb WH_;ˆùï¢æ=_–zU÷Ø“?ªÄ.ÙÂai¤” 3-+F¶6;vùõh{õVÌ%[Ôï5+—; ×:žÚØÕÿV©•ÆÏCw™Ñ=Cø$7q†h±¤I Ù*áJ·NÉ¡`¶Ì;âÔ¤Ø3ùÐuá¤Ã•0jØà2ä[…oÊgñïÙWææáù Ì $ÑXÄXö"»°N`€0•z Š ¯^Ž1ººÎèÝ!Þ¸[">q‹ÌóÂ%˜ÐqcÃk€ˆ´J£'Ù0/˜$jW}îPU±Ê›qAP8éÚúQÍVü5ž§0z}ÓÈ=Rž¸H©[ð”þÇÚ± ˜ òÁÂç¶`Hr98-îŽ6b=â¬õƒÑÁ·Öi\å3@à#Ü9ÌkÔæ·1¡•sI×è‘R~×B?ÕK~wC )îÕg2ÿÓ•BÒ?î]_ÄDá“䇪ïO³l!]§‹EŬFs©þs[uNÑ.Mâ´_Šè K€›lÁõ¯M·Ž Ð]Ûþ ú»²ä:"V<<×í{–ð,²jþ/'d‘üK½3_áV7;­F Hb{äCí¼Úfc#Œ ;1`šÒí凯 ÙÛ¶&‹2”MŸ»3‰7§¾’Ÿ†¤+}©r"î…ÂÔgL¾õ6«P1ñƒî%½%b‰ÅÒ,÷CÞš=©‡TÀ–ü?Ùb{?®éˆi1€ Òýgé?Är˜…ÁÛ1ù4ÿœT^>€ËÉyJZyšDåu/ƒ°cýÍ#ýÖÛì–^Í6~Ë0¨3e6ˆÉfOÒQ­ˆ²tq˜†'DBö9ü¹Í¼{m|IƒÉQv®5ƒƒØÓ∨môHÀÑÓœÙ"­Š3M¥ü7¸žwé/ nazUôM)T¢3}©=ä-u1€mÒ.`Mª½Q2&¾UYmö7I¼¡¹"˜ðyæò[zÌÁøñþˆº‚|’ÊU»lÊBò—G m¾åê„7ý!=P@­¼E7€2qòÞ[q¡0bRAüŒt´déQˆ·g=cõÓ£56yÔ-C1âQ«ßÔÝUÏïÕOë[Ee2¢ùÔ‡UÇzà|!’ZOÿ¶M0¨¥¯Œ*¨^½»Šñܹ¹°§oSfáÍå]Q±¥õóqxä¦ÜÄh0@ßó¤ZnLÐ%e kd±ðv€çÕô×PH'`'IßgúhŒ[? ×`‹ròô o&vN¯ù»aFŠZ„C)C“׆®=ã¤fX 6QQ Ò|— OþÒr3שx$¿[²š×<^¿ž{Ãã;±¼ö"´ËEÞŽØLž¤>KÚ¶®Ó[j–Çd}Å–?‹ˆ.ZZàéÜ·”ŒLÿH´~¦-‚àbô¼¦v‰ËÊÁ~|±Å]3LÇbÎMˆ¢9ú,@B”õà%õ‰ÞÓ‡/Ô³ÈiÞñõ]KÅÝ0 íÎ'ˆdH_k¤î=F¾±GQšPcY»¬Ÿ"·Ÿ45"7ÜŸÑÌÇ~"@|Âþ$½‡Ó-ºê%”\=v¥®µ¦õéW‹ûðpjnÕK¿ØAT*¾ù.ÑU$†Öé)JpÈÀŽ «%š×Hâ"½¤|{n £õ^Ù£ùXí'ßñõ?ág/)ënDë¸^-ˆ$:“á1ÿZ<‹n¬\y¨‘}oÎTmÆvxëØvoת†â¡UCåðŸÈÊñÖ÷@qwúøNN\ ™`-¾-¸í¶ ùlH›Áf¬Õ£úAÅ(PÃéƒ_Vpc;ɯ AÔ?Ñé­ëü¿êÕtüÁƽËÂxK` 5sÈ@ä5ÛZTfüªî ÛÆoñ¨5Êe¯UhÁ¯é¶] ?§x: ôÔŸ©ƒº-Ѫ1Ü´·…íÑa»†w)¯_òï£òþÙ,'P(%·I¾"­´m޲J‰ §ÒT3('ò³à‘L¹Úf¯ÿAÓ æS&¤½1[Ì&äà°72žòsg“gÚ Q‹œ²ÀàªkøŽ5Qïk˜q+y+b¼NNæW(¶âÓÌôœôr·_è5¯X'—B‚  ~}õÿc/6°eÂÜöÀš+Pª‰¤·?^+(^?ê °Ã”&„®„D­¨¶ü̧6ô…›­¨Ü.ÓtÀ-$ 1¾éϱŠEë>q;èÑ–BœkãŸÊq¼j>†¬q(·ÊµóÅõŒ8áþGK~ƒo£ Õã wؼUåf¡R¹;EàÒþ¥œ#ŽD]`,¶ßµ?Ïòÿíè¤CFûjö¢HFBñ/ØöF©¯ m ´O‘éÞZÇ'onøN,4ù·„m´2šø‹øXG;÷Ol;|¢‡ƒ$wŸ(îâP(ã`cÃÚ+¦îËc]¯¯vÓ¼X.:%I˜º'Ufîü\¡Çª, ÿz3¢Â],äæAI¡æ'XX\ÉëHT“´[ZÜ•O¸•©@wÒò2If &«ClQQÆ(vŸ4Š›JöüÇE­üfª /æ½´ Áþ¼®®…XíJ@Ã8yóeåU†4 fo4üK}ZœÉ®Üóø’ÈXö¸ €ÿÌ)Pñ®¯{uZÊ¢Œb²#ÿgµ²ŒÓ±eC\Ñ3¢´ð°©çÞ˜%ßÓRæêM©> 03fIæD´pC2ÉQ®)‡ü¾ iž?ŸªËn÷‡‡÷‚x î¹nmHÀÞ í*ý[œÎtÆRëÉæð*2³ñ¶žÊ’¾jj”×lГ©÷Òtû9Ò“mmÝEó`žyÚÛ4-ñ[?äß‚ÁÑ¡ r…tævaQøy!D4 x·"V~­S¦Ü禯‡R³n/×6Ù>+=ó,v`r^êäxö¶}A,LFNuÐÞAC›9{q`¢º‚Óõ± T.‚Ìßýz“ˆ'ʼivþ<«ó-ëDû•Ëí-“wâܨ›ÖiÒ×b@š .4îh»û²[R°¬Óî˺¹±¦¹Ñ`/OYËþP‰ßpaÊŸ Å´!ÀG‚o=DÈEÛã€züí+h6„—9 H]F¹>©¨+‡§µZðÿ]ž‹I]÷¹ª Ì4 Ìl\jÖ¼ú/wÈý¶§cáÉ¢ê)lµ)»kúj t~è#o0p‰%ª´‰ÖÑ0èïRJwÛ?noÁ,iEÊ*Ró9€õŸ>¥Ÿ­ù)|¥Jž¹ôäÓEëœ!2È’œµ®_ªBjU÷=âÕŒCÕ ¦9¼ä‰$´N…è„ÏâDdZj@˜T©Ɔ˚̜Y¯6jâ™Ág&“à…Šª@ðQþõ®, …í)⥘gÞK{WÿQˆ:HŸiÝINé¢ ?¯0Sy/«åo"e%étËå·vªßYˆg HÆOÝÒšïµ…ᰩݲå U9uºä x—ûÈž—ÀíXIo7<á«^%f.çü¡I­³%¦1⨅]­™ÆRÖ@Âbõ篩Ã^#}0^Š¥’W><°þó÷Rz¬Åúñ D«9d@ TׇŸ“~DEr¢@Ò›XRmÞDDµÿá©FÉZ‚­X­BçnaZŒÍ ´¬ e2Wªš¬ÃÖÐ&Ç¾Èø„,=® U„–hÖ,²o@ÅåcÖŒ-üÖ¿oã {©Œ4ýöÎdÿÇn¬±$ý:Kõq¸9'̧Řڡ-ý†KK¤Êð-Ä+[=ädÔ›<F¬ —â_`ˆÿ€. F»AÂx“y§l87ÄídøAÏ ¥^«Z—L¼­-ߺ6…ñÁ„_¯ÂðÔô<ÈØ3B52hØF ÒÑ!¯²Ø/ô&$iÇЄ¦°Ó!˜~^|aŸ×~v,;Óû6LaD¯u Z÷L#ÀʵHx»K—½$4-¬®¸€îIþÂΆÞô×fÓ0ŽÕ4’.3Y¾DÑR,)Ac°wEæõ`°Íݪ«Ýp î,éu9ÞRöøÛ3'„Öú ´p( ôúmÿû(4…w½óõ5S£5ìפ ×_d6raa“Õ“™¼.¡éN FäPláþÞpÐìb7dñ[ˆM¦átwíú62UZÊ2úÅE»z±ê9·ät÷("sæ°7¸¨*òëq•$dôqYSx1ÃdãáЂ]yù evÑZ$ôŠ×DÕ*ó²Ò¦|l˱êÜ`CX€_`þJíøÈp½;nš€¬ãÂ@:™†6x{_€ “a´xïÁ£FÌ.fÐ÷ÃkM¬ Põ:Ï‚‚‹7‡ÆrIb-Íï‹ÿäG+i.O5éQþ{®¹ìû€Ûý·¹î§8òØNðdôøQ±t³Ÿ/”ÛõÖªpda€“Îÿùé^·'Êø:@Wô)Ê|Qg—㸠Y|x©[[U–+T!-”Áî0Ê+ýš´«âì®ýGp°ÏPô#0àê‡æˆOV&üöp\¢ÿE8KþœÄ—V¬Mò#M>ÆVáà { ƒ*Ç´{ …ç¨OìPYåDq`Y³¶ËA)Cº =,æ–7Ñàd6š9wsæ^ñàä3JÑJÃr2Á‚ïï²à«ë,ŸZs³ƒ?RBGí‹ùµ!žM/HÜ¥o¯½Mô_$íçòÞ9CäoÏè;Ë M¦®×uÍzÎüM³ÅÓ¢<âÕ®¢Þ¤~ ÒkH ]6•†ËĠ̪ë>.óÏC ôí£»¤[ ¥[ ˜oQŽ'ù׊–¾’7Ÿà&ë‚Vûy¤„†cÌHîÓÙå3òp‰…ˆ6sO²ŠÐc+äûˆÉ ­‹A]€oÉÖ½ :eÀƒ2uñ -aþ—}„PEºn¥±%$ïªÙÐÑJ\`BkšÌŸÖRb›DKªy‡]´S¯1ómܰÁyT’½}lüV4Ú'8˜•Ý¢ý°¼ó±íưöu¡úþ}ÜëÝ·PŽ›kžžg(âðu· ëðfÓ±<ä‡3~‹R¯Ë_Á¹ÃÏ%&7îpKx¯}6[‘c®2wJ‰£ 'cþn:µæðè3Ð.÷ÎAy÷ÿ"¶iïˆ%ö±ê.›£~F³œóÖ«ÇõÖ³ŽdKò#œS•uÀ|&±Z±»ÖDnâ6°È`. ÅHz§³ß <€ã˜‹>”KEÊjøŽ«î|Ù%qeÚ0ÌÜDêtM³ï”`0S^¶«D@ì —Ô†EšRÂÀ©Eî%,ÁÒ¹É.{¬Ü™ Éõ&šÁ&ý×m(§—;^‰S¼V{Vÿ_ÕŽ"º±ž—ŽÑ`}ÃÓþ–iðsõõÖvIÑëD pç·‹Ü+Õ¥%Üø–ìç¼½{¼þÁÌÔãÚdDÊãwâÇeÔè+u嚬ä%XG¦ìå*\†Þj&ö(RÚýG vÒEd½¿ÅÖx7|Å\ý-GØ7Þc+ GÕE#ó!ÿ³º?ƒµ~c…ñ6ÈŒ>õò"LÒA\SC× F¾aë”ñÓ/ËdyvKн±ˆ¯Wšï''fåHW¦v1ä}­…èoN˜GÛNâdž>ÿ›\Ï„y²ËßK¨®G‹ à‹'•¨ü}F© ¨cG0 ö-<°;6nÉ®BAj[áEË–æ=P"'¡¦6U€&ÞEˆJÙcÚ'F.‘ÎíQ;Ë•'®3KÕ¬{¡qu#€  °CæS•æ-E>9"Ù>×&kÔô [Ým«2Øo.”‹²’¥AõÄTY£!ZqÈ´‰¥ú Ô‹¢:ïæÄ©LVwªªúy‘/;,!Ò÷¿ØP™N:]êe¨EÑÓþe Ñì V$—è¼]Ò”|ýÒ%û?5@ºÞÊ‹Åâ¯bZç¸àVF¬ŒZêF¥#?{ŽñXçl»O“Nï;wä~- 5Pn‘O”<ÞF4ΖF$½ÿuT3uÃò„8!sÕNö‰Wz¬Ûsÿ»6øëmÅh$7¤„½[~@NÅ>€­„ã«ôœ‚Ô.Í#ÁÚà“ŒÚ=ÀÌz¹ô]þÄ>dQôÊïFŒÄˆ1„eŒ”mî[’¬³ZÝpáZlÖYáãU‰Òkç¶§†~ÜYñ4Ê3úèBóéé<RÌYüq8©¬ú–Ó³qi×téÃ?+R©Æv‡cú1#¥Õ§™?huz‘Iž<²É+î_;j[ãíëÅ{ø×Tøžø.`—vô3ƒðuR˜¬`hç-&(dueÝÕ)‹¹¾ õ P(ýTa šûjVqA/iÂ¥Af’qÞGR²->‚ÐË4$ñòʵð&PÏ"KP5»ß¸¿c}#$^z P‹aâ dyÖI½ÁÀ"YkξÒÓ²dÍ¿§#ÊÔ£/ëÊ÷"Ù1ã PNÖ?:W~È—nÒ,TNYùó}¬¬;í˜R¬H© €Ï>í«&µý‡œ°ÉD¿#Ÿ–B#±TdbÅ#fÌÃ?c>×@Ë,¹C©Ã[1šЇ0´ßòñóD2œNŸ3<¯æ{ñ£ìhË[7v´D¼€ƒÙ ¬¾ü›oóê¯qr ·'ø¼ß79iK !­çäYjN—˜lz­9”GünÓêÛHo‰ÛW§Å¡qÍs†óï‡ý=O8Ú‘5ú¾[:Æ¿üÎÓ²iT!ÖàÏ’ˆZ7éö† O2Ú%Lo8ÍFI˜ ¤«½=ÄȤ„Л$R3_%`D-þɪéb}3¹ß0Røñ‚T9ÑRøt3LØyÆ6>FwíâdÑ ¨lÑeOÝY>Ãb=Rgy¯yîÖ5F= ºÁÒZrÙÿ"\`ÕÑ+7j …§cH$ÓcÔ¶ŠÆq9‰Â2c,[ŽÐ&`åó•ÅÙhȾ73ñ a3ÞZiê^Íc@Ðà‚#Þh$¢½´vömÔ´ãµø£€¾„´yõaAC&—Úɘ[Ê‹J~ÍÓœÂ(E ü5Õ{Só×ýQeüŽõ·óˆµbÞ}ñªŸ ‡G.¹³C|é¼Â•bXps— A®ñ]÷Z²aº¶É— Ë“èªr9ÌÝ3=7&Ó¿ª J-i³AEúMWVœ¯)¥K[ùøyÀŠjüQˆƒ ³\häû £ÏÓäþ,Õî»ö Åò~©KݪܺÊ+eö=#=Õ@½ŒÖã¤}~2‘4ƒïµa•ÆxYF˜"|q7{‘z›CÔ“\ ê‹âÑ,{*Ú†¨¶r[Kn"ï0›B C2:(†ÝÚ+Úè8d·FÄlúÚòNs˜wgûg^ÉpíÞG±†Á÷ò;Ðe‡Ë>œ+Ã*ƒÜï§%ßE$ÃÌ*HÝmêI“óRì|‰ƒ\o/ôëÏû~íïåP8=f~CçfnR¦C;Ÿ9—-(JMßî×bšì(h{ŠÉ„±N…‚Ç£ªz |'m< »\i±¸ãl”Xxm÷ÿ+„¡œYvóà9„f~e ýˆœèsöý®Oežä±w21~…C¨ÃsL26ä–5ççÊžL×}"·¢M&Ʋ6’L4¬ êÖšoüfK {ÒÍtcêYÍ.N Æ$›¦|¥ÝA½xžÎj0,öõúVì‚C¹ÀïÍ9[c³È"Ê`RGH®¤Uõmëå)/¾#àð›KÃ’¹þ ™—ŠîÜxá 6Ïâæ¸”ôñªœx%œ„ yú;¼$[Qí¯zfÍ4ýjÝYõRÿC_+D¾$x{"ÍûÚ”bûm†æÕ¨­Hª.SKäÔýÎÜ¿²ïrëǫǔ3Ë&-Qõžâ«k]}´§¯3/_ĵqKiÏpÔ'ëÎM ‘¢4¼á§Y=  ‘ÿ.þ"¶w¿ ̈̓U?O¡±gÉøÿÕ=…;øÞnu³ë(›þ-Úæý1 ¿cr©‘–šQÒò_R¡³¤ak þæH¤A$p¾ ¾’^ÏIZbè]µ£““¦I‹±“ #W„ï†!X?7Dë ,-¹]ζòG‹ï¦šìP‡P´,‘mçãÊ[–iØ\⣄J`r°­o…c^u¸˜…óðÝFijVüÛc… •…3“Y5ƹDøhãwŠ*^"À‘²¦&±\òñ/ê2ðß×G!ìaàóÆn#K£fðצ% ñУkf±*”b´#ûÞ{Z+½¨ýf?¡)ŸW®\€=É·6m£%=æì4—ÝX*¼EV[LŒÆ îB°®·,6p@PøjµI4ê¢Ud aÛøHó¦$‰áúÿà”1«5"8lÙÙ ×  ª(áë­Ù²ºÚíj÷÷w˶œ`œõrâ?écNŒ^7𪜊Èê™É¼B¾òGl³Ö×qÊÃZŒ–~n#Îi¶Öܤe仲QKsûÿ¡ìÀß\h6“KòV€—5MüÀ›¯kœÏdS¥8$Z'ÂÛâ8—Î*‰H,aöûx:Ú!Õûú ô/Bp¶Õ·½i[C²§Ã“8 ã[«ÅÄ<¬g@XðATØÎW4Ü©àNÏé2Dì¬ÚÉŒVNß«Õaç‚ZLfÀÈRá(Ü;à̧wgT7U´ .9Ò×eŽßI«ìL÷Ôiû㬰ȥ‹]õ]-Bu©A­´DñÒ!Ó߯üéP…7åVʈ¿óy¡YJÅ ÌA(¦_VøÊ«© e•û~8¿.ÙŽâÐÞŸ[É÷r3:ÍAó%$ ÆQ…ÂþKŒ;f%fB^Ï:úFíƒYÜ厕˜ìÐ)$Å‘ñ>ç!:@Ž"qùhJÜÏöLRé¹ùÜ¢ »“?øx+Óe|ì¥1Sí ÕDú; bĦ…R†Æ ‡™´x?!ò÷¤.yzlœüX.]æîÊÌ3ëÙzãÑ* 4³p8¢„ë±¶Ëú‘’[>‰þûž¹ØçGØÄ~Õs—GɳÄÅêÏîþ>Èš“ªB³ö §Ïä•™Ì-o¨‡q{Œ·˜!ˆBãƒ7 pToPË Y*£Žvº:ÂØóúe]D§øÕ—ТT(ÓhÌçNáÕqŸdf.Œ×™d‚µÞø4\£Cu3ñû¶êdê]l©­n™quw÷òçÆV·ÎÇâà"‰¯‰ ò ²Ù63t,C^ã¨rHeºý^†Ê*ÉcFÔ+Š£¢y—ôqÎé¿ÞÜq°Cl.»ô³ñ¬–|ª·×u3 ºFyq{"“Ò„Ó‘Ä’™´Éá·å·´8Í×ÚjãŒ|£Ï'ovæ ë_Óøq¾À'Õà c?z«7óWÍœM5öÑᛞÚw¶(.?n;F‚Fùè‘që~;KŒ~ñºø6 •“¯¶F`Í_nl„Ë…VßöCA.É=ád¼qÎdø\Ñ1kn#x-u3ÜâTg×ø’LMÊxF>5U¦/%UJöÍ+ â”ß,·ç,ÌÖX¿û™æ%»øùVè0}µžÃøÂS ÀÏNúj2£½°Áò‚dÐnêß).†‘Vt'…”=Œ²ÛÛ¶”™k†Î’LAcdêæï1~ˆ³| D´ÂsÛ¥!à 0ÿý#_üŽªs Þ,™à¦õÍäBãD…,aœ¾…åÔ•L4ĺ%#;—êy@§›’i¿òÃZ4L¨ˆT^j2?×i(grâ1|‡´Û1¦»ÊVÃ2uyT²*dtû?[æ >0T¨’I#ýƒØð'è¾S —Âr7Cb¥ËEct ô%hþ'ôý+R…·†VëȬ(œL°¹TÞ%RCÜ¥ˆFNFÝ胑àuܪ؇ߛ÷½Ô /<·›S{X*Y䨼19¿›‹Ã£î¡}#õ{5¯ ÿÙ6Tìû"k6¨`¤ÀhNˆ›/n™>±5WçæTâêOEѺýÏ¡¤¡:ºþô Öé^œÙþoÒþtË)7Šb}ýŒrÄqt¿…p'"©ó Z •ªUƒñ†xA@®w0®Oy*£üÿp –ŒüÚpÛDj߆¯J{WÖ°ô¡ÍŽÝÒúlk¹(- j¥U¹ÊPJÊu?uµM$@˜ç¤:\»Ï­&¤•¸³¼?øT2ÍJ±›oÞMfE^ÈÔ³SK.íÝv@ÑbO¨¡vÄo øFg”Û}¨dþ‡‡lS2K•Ñùo¸EÉ©œ+C—xSãy¹\ @\é¶ÄU ÕŒB¸õd]œ¢ ë@$¬Û“ö9ÃðF¸eîð©wÕLÞÛ!4 t´™’wþ·¨×Gù€Å¨½èuWP÷ƒ>!‡ÔÍŒÊñ÷ÍìÃÆAtÄ•ÊÂêõó„”ܱùç1Ž/¶çÌZgiujÈ‘¡,ȃ|\-÷|õ;ùÏ@¸p‹*ްl¸ÚïÁ`GÊ´Þ#x8ó¡F¢é*ˆPýà0)\.í˜ÚËz—a téJ‘æVC,ƒLB?*°û$ߺÏnÒ½rô§qý¤˜i íÔJ‡Îk%'…ôŽ8›:IxxÉêòž(¹uGu7°çHÖûݲ\¿:xK‰7ØíÔ4{ ß+>ËèeÍ(SòÀŽÉô¡BÚÜÔP,Oëãfq˜dÐQ/îôŠ®ˆ¶¾¿í¼QÓq‹ø•N-O¡’µð!ØõJ ñ©~ë%CS0¿¶a¥õ2YòH=r>ùƒÀ§LÑ=û”ÊŠ7ŸÏxéþgôì~Î*( #˜Çµ±'ˆnUó ‘FqònÈõÑxÞ@ÙRÁõÀB”}{ ,·ïó¶Î$"uß8?|¿RËÉÃáÎyÃ$G™»LtAQ5 Ù¤GÛ¦®Ø*UB'¥=·–“×Iˆ¢nôsЬ·ÑHqXívgq]òB&¿ê6Ä«Íökåà‰å)ãJQ19ˆá`Ù.×TX㮑·X)Ú‰¾Ï<å³¹&1eýnI¶‘?@dZŽÇ€MËúü¡•ày•TY¡D´×@ÛýSîjÐ"ä+‘¥ÿ„  ÐÅ` ×À §>•ºÐÞI¯ìêŒæöÙ9§h”%>L5V—Ž·Å`ókØùÁèD(·Qt2ÅÀ¾íhOyäÑç‚ó÷«( ÄÓÏhºývEÃâmˆSj„*œi`Ïå¼ ÉG¢jÚ#qƒ)–È[Út…HȪ9{ÄùUMF±’†·†iɪ¥TÖıÏôV9±dj ¦–‘\;4Ú+BÍÒF1x¢°sÁ“bj¹M„ä‰TcžØÕcZ¡g(¶z¾Uª a|Àv㩦>lfµ»Df­•7s³á¢äÚ¤$÷ðŽa,àøÕmBÇÜ`9²×!ª.ÖHæ¦DOùÖ„•'÷nH_âTXKœó]Jõi$`$àÙmæèÑeåˆdB{ÖÏB¾ñÞ™a¶ú%xŽqµh癞s$ÉùjSwÿxhJ /õÀu2€¯¨¸|¯T¹º>_â ìCLÒüõ…öt*ƒŒË=>ñ…@p׸I³F.ðšó¯pÔWã=‹;,¡ï¿²¾¹:‹ ö—áuBª{óHÃRÂðîÓh#À§‹Áœãüï!­l2 tI–ÕkÊÇçq’¥ÅCPä?!ïá”UÞæë”¹ä=¾Zü¦Æ$T â^þf¦Ãªi¯'yøAmœ¸Wz[†#•oçëgØ„jÃI–¹F$+GKpÕ{Ug%Új µÜh5±d8 £þçw’¾ksz!/ø!W§Î3èþ # ElL²K³s#MF¡ôÓjS['§=×þo~êþËbŒ).&z’§ç&ØI±.Rø÷P´¨ÀVc°()ÞsÔ£¶EAhuÙ DH­õ-‰}¡Ä0Ñj'qj˜×ÚK‘Ú4·#ù3£)ÜöIOI÷ýŒSL^Æ#(jŽª¾·Øüœú×þ_ ƒ5–OK¥—ûeÏŽ6ú6 éÂÁ³y¦‚YvÀ°Á¸ù“çú™’eÓý^'n$ínóW}øú±×‡žqç§p;}ü? $Çkc74±d¬æy¿`Þ¸ÔÌ®E³:K+«7¦@#Ù'"·Np%zÖ÷¥Œè.„|#Å]g-3Áß¾6Ôíw—¬Ô¨‹ !K—X7¸Ð–Oéòc$ø¹ì†6@}}!Ý‘8ûegG6‰aźÜïö†B`¢ÕÎö§D䫼Ûò©ë}þ¬ÑWf5M´Üï[cQëÉÿ¹N7Xž©Ð–Ç6ìªvªírB+çé3Û+8AL•Ê«RXÎFÉ1Þó x„–ì|Aر0wÃ*Ã,«œªKNhº~îßlC®ºïà59kôº¾zÓ¿jàWÚ¢´\÷1Þòç<^”~«}‹¶^÷b­¢¢U'Î Tg4[Ê^7æ–¯lStd41áÑï€t½G÷b;uö“YY*™ŽÿåAƒ* é``¢ƒN6jZ¼1ÁŠ»£¹ÿ5äõÇÁ½á Øïlº“.^­êJ›ÝÌMmª›Ð|À»ÉÙuOïó„]£YÊË­r hé<…O)ð'4èÊ ÇG¦ù—švm)b-:Rñ†¿Žs¤èíD³–Ø#¹ƒ[„á6uQ ÔlMžÐä)ËïF»Yö{KP_Æõ‡†FB,;{ZõU'ã ™»CéÜNüÉÊŠæè1ŒÀhá˜T!wVíJOè,èã´~ „y·-?þ.(ö^)ß›k¿·¨WËXÃÁ¡Ê÷3y\p„‰D%3QuãÇ[c¨à$pI$+DÒX) ºá²G1l½Ýù]Izl{J>õîõœ¥ÊC“ÛÇ9l^JA¾ÔÔÖg´QâQë@QÉéÅLØŽ.KÅ\™}”nIŠ<;Ð2þK¬ê{UgxD°Ê§+n˜˜‰ 6’ü¦ ·\ñƒpÿ*G±Ø›K°²ÈI^ >BQhÑÞxH«Eý”À‹gäË w¿?ü!7¤d›=|–¯Ð†è ;þ•Ý*»û·´)!@Bó –ÆÞ”CÂù²ƒOÊ¿µ~®úÊ­f¿Ü·çvAQøÈŸ ÷iÁÛ¤䫟zBd¶L6ì€àô1Øú'Ø«:£Wï2]Ck;±‚ârÍCf¥[ÐvT­*wî²»°Hb¥Þ0:=:¿{„Ó)eôÄi…Ë´Ÿ'hŒÃ•[ŒØb†(êC§¬–Ñ‹Å_a™6Ö jÏð–ßV‡QûH‚ˆcÕê´ª0ö…ék‹e–†9›â¨ãžº;ýô8)ç%¶¼iîR)ÀmÔœ±Ê)À.àI´µ+3­K38œR %¼4á,l…ê Góɰ䲌\`z~ËŠ'@"^.lƒIÉÖ²%œÏˆ^ý±¨ ŒšŽßŽÎÕ²H]Ç 9a•¾Ý¨S¦i€È{áÛmzFÈþÇÇ–d vJÌê‡ÊÇm.âw 8t2ì'÷4îºë3|fØ+ïíðA\ÇU&âþßþÎᓞ$g¾öðÖ'žüÑl¿jºè"†m§›<Œ —¦Ëh‘´{ÛÅqÙ–{Ìpbà-ZkÎæm™CB’P=Q}‡NôÊ«X²1ì0Q7ñ¹øs¡_ʤ8ñT‚T5gŠ i7329 7€¿Á–ÌL´í!Sò±òàˆS‚Y¦¶\‹ÔõÁdÃt‡->ÊBÅ}Zwän¨¦¯ßð»Ì!ø×’`zD±G&2Hïÿ#Þ¬PÕ:ã ¬Áñ‡ÁGƒN# ÄÝi§ʤ½‘m|±óx‚Pn€/Þ²Ûࣸ_ynÐÕSr®WDÊ•S ã‹D$ì=$/òÐѾÊå·AÛÏ¥åú)œ‡á¨»Ó“èj¶‘5 –Ã,vŸi y˜]uÇî•,$P†hópÉ­ÅdD~«`Òk6àçÕOe-ÏÃýšÊÇXɉæs¥Z„.ÉÔHÛ™©}¼\nöT*qŸMÇÁƒßà•uú0-ÒŽó .øzSÉŽS•÷RëØM«I$0¹þpŽqÙÿ'Ã,Ò^ÌæöBPvZïš2“D®Cì®ï h³µÝ:rî%œR¦>ӼɴÞ¿{0æ!qÛ“çyY émÉnvÇýß¡çëqÒ„%¿”÷“þ‘'ÿαc§UsÇfI¢.÷¼ˆÂÏs”ouÏtäÛ*ÀˉHiâ€ß¯–L7y1Êÿ™³­ ˜Bx ôsw¾ˆDICbÂ)¤àØvE¼ÿŸ—Æ8²eT —ÇH‰†ÑäIX§Si–À+Êë^«qUœL¨l9{Õ4Ì3þ-qæ‰XNmVñ}rZ‘U¸¬êI汓^ÝÛrâ× j„’x°„#ËÀe<îßÚ`Y‡4Pï§Ô›T†Fø;@±S—*êAÎM[Ä/¦>ç¿Að$Ò¡Ý1±n•x}~øUBîr˜û!³®Ò,Ó‹4ˆÀÐÀö©k©l† ñ×^¶×é³P°5ƘV¢ü´‰V¯Ü’EÌ9Š5&SÚSÈζþ{ö”"€€HUάÄ!)±Ï2î zÖ[*b-›Å veW}V"A3Íÿ¤ËOïÞ9x+ÇVŒöš„4S$WLL»BS‘ŸÆ 6y½¥–ú WBÈÕ«2Ø¢¯âDë‚`î¼îI„ É ¨Ö„d†@@ØéPØ6ZkL4LæÁ°‹¯öÊŠ¦µ’hrp3lžy§®çg” Ê}†E?¢ÂB]tWŠí”*xVêËÂÚKË]G {o+2TMþ7•Ò*½öõ¬»»¨åbzèß¡W0_WhÉÈÛÓ¬ˆŽ’ãÓn{J~f¼êa‹z„)Oy†àªº¤õ;ÔI5¸7ÒЇXxñÿ²ðˆÐÌNÙJµ ï‡Óˆ—)#æ³Eú}ê®}v‘\såz‡”z‚„GNý0Í‹OR9ì‹’BƒRµ*vPI™º7¨ Þ†ƒ­£øpœj2ˬjÝdÞÿÿ,òÌܳ6c¦kWæA•LŒ¹Ø6pÓ»Øù ªc@\=”-æ7ù5cJ FiÔA‡E«7M54“°jÙc®FòјFÌkQÎ…ùõ- MØ- \… À&ôr íÝ…Äw—eÈk`Gv£ÑõKgß,I«ààƒ2ÿÝ¥ø3øD7ÒícÕén¬DlìÍÇÖ]E±ž¿íq¥ÇYðUxA®ø+a ÄÌ2 ìèl¢xHR-öˆjQú’ð…þKÞ}Arÿ.ƒxc¨ì¸ùä8%›ÙÚ þ ’MÒš²ðîUK£Î KæiĦ] Ú…Ê u(NR Ëx¥UÛ êN]p¸È‘HÄ7…sŽÕ‡t:ÚlôÝŸâÉ’DamîÓAò4ÏÿE/` ¥II}y°ÂÚ(PãÇ…&žÿ1ËHCjÙF“>â­/~¼žCFr…(€ô¾ \Ö{øIçóœˆôB•Ì£Õz³ôAô{´í¯õ¿HÕyíÕ¼6 µVO7³~‰`ݪT‚ ¬,c/>H¤…ɘô}=àßÈyqÁ¶ÑOý%Á:ëˆÇÈÎsÚ ŸÁ³ î—\ñ:+,Å$ÌËÁp=ß÷Š2Uzy{Ë §>ë‡ñ… åJx²B¨?T@*Å>¹¾#»/õWŒ>m=u?ÌO5ݳ—¥Ùl™øÛˆ©³Üý›þ“Ì\jIïÆýŸóÔÔÈ¡ãø÷Û‚¥«Üêÿ®H%jrN™åUìtë—ú õÚ ‚h³ŠË\Áýp¼ÇÕ­tMÃdûŽÀÑš6ŠŠ©ÇÍûÏ_‡>áþ[ó’D%ýœ¦jQ=¹Ú ÁYÍœÏæRuO*œ@ZËšg‰^ª)¡Béñ"ÙÉv_ýÿ4>@àsøCq ]©Ø9‰rlLøüä“ÏSlM MUOhp˜Ùé·ÿDŸž] 8U¤œæoéIÍUA#p¬J߇«Þ¨ì/jqD+ ÇÔ'®¾ý†±Hʇ¹rô„:Ã"@ÇŒh HøiLÇå£ÓtLÖäKàùS–x:‡@V_r7ôý×YÖ©‹²)äusA– j¸×¢±Ë –v8 ®qSîíØf–D”Õ,œÉ¬ ”Ð뫯żèî‡`¸´ç» N±88|×¢ àÞGî€qÛ˜±O‹¡ÙÙ€`±î–…3ùš( ”¬Õ¿ObÙ«¶ h­J£ëT ùìVIT÷¦#t\@¶gåé2hKÚ°/©Œ"‚ÒMÒ<þ4Nÿ=éüÈÒPXEìÐ]$㟺¹þÊdd±bgwbåä})™ÉSÍ ¹Èôí£!Î81_óž°ì-G6q®¤Æÿ‡ð¦h£ä¢ÕÎío4ÛöÆùù>e.Ù®ÿí+“ÝúŒ•sËWjz‰<Œ?ûÑ-aÙÖâ·÷;íI#EX;q¾Ž0ÝòåsE¢³3%ÍÅïžû”ka>©p‚ëUös:DÓÒëLLQ¸lýð õô}ž8AüˆÞ¦iÏ•À Œ… Ú,™Ÿg?f‡û ?âÇ&-¡6Ýl]{¿ùÍ«FÊÊMûŠù×áänêN¡­íâêK—ŒÚº À¡IñC_ö4×¶ÊSÀ>gKqÕP±ãóA”Ä8`èñ¬ýž|BÏ0} ð{?(F¾×÷GÙƒÁ.>ë¡0»Ñk§pÙ]ÈÎTT,ÚÕ—*"oM˜cÆÚÝdl@ÒÒ%¶8£ª‰où²½£m/}Q•Ï¥ÒáRAðÁim¦ÃÝj÷Çv4%b@[³X3W—o­-p$ŒÕ$[jzâo46( ý¿éà Aç—Ò¶â»ýŽDjL`q!ÅîÞˆŸ6EŽÆá¼n7oío|!y!üÔ4IÛ ³¥ªý°šF&ÇÌ>½ÙPý÷0mÙ@ŽTþUu8„þyò#¯MÏó½÷¹[ßtËË»ÐO´¡!¯Û²É+5uä?Ã_ÈGìĵ~É4Ð+ëaªÜãøs´.=ØXoÖj4wüÇ$ÍèT2†ÓQv…KvíTd ›ÙR „åÇSÕÏQB‹úC¿¹çÉ´ùiêh3îœ~†S-ˆ& –kBó¼>mÈ/–·¡±j1³1 áà'E„!{x(yƒCÛ¾ÞÂÏâÀ#ýû©i‚J¾áÝ0?žžtÔÏÐq!¥š;Äy!Ù*­¥”gV›Qúóˆ¶,¦vàË ÎzÑ(cz(Ÿ(o5o.”°f7à ?ï츖2W Ñ¹hwª%ÛœÈâ'÷äq`zq±˜ð‚…+%2º´Yé}ã•f¦•u±àÄ]”’r½o.Å6ám3Ì A„‘q}?X/Š|I£Wúwÿ«ùF, «,vy=ޏŸ²©o5ðàpîZ ¼Óþó"¨Û{ãæQ!þƒ7 â½LsZÂfÀ¦4§à½çìþWÂWft®¥|CÅSØVK+ZJæ‰>ñSeD´_Ï$0¤‘ ÉJú¸Zq¨Ï÷âú«Æ(^û©ÎÊ:M<¶ÏÓÉàû#JôÛ\_Aõ¼ÚFx ýêg}+ß/m¹!az‹=KȪÞlVŃ߈ir<; gˆÕf‚Ù”uPþ»Qr‘0Kty´½(òQµh™¯¡2æ Úc=aâÖx¹—óG/4q¿ÃWÏ;8¢Ašpѱ^/¬ŽËae–À‰þO7(UYþ"´ÙßÄq(MÉZ£™ÔГC;1WÄtj€ÞÑP2mðÜßÂÄÙ2¶I©ýu‘yáaTCøÿ4‹¥G¶Vu©©-õæ·¯À·àë\.ˆ<ÌË–æ/ÞOê é)ûwþ HWì Á˜»ã»×ëö#ó€IaޏðYdËB:Nó—¯­„Îë k£3fúÊâà6yJmK€ÉÜKw0ÑaÅå,~¸GÜ ®rŽ»ãÔïûGÊNMa:¥IH(0}"¦k\Á+"±µé[¡ Þ¥R?‡ãP(¡ Í«- ÑÆºÂùîÜÜÚ!IE@B¨Gµ ö$Ñp£û,x6ƒ+²òI({Ëžã2ðad‹~º²ék<÷mw}v§.R[%g‡º/ ÷Ø–¿6Ú‡{aZˆ\ªÙ`¬ #fâN'Ú2¨ùq– ø›ÝÏwérÄø!…SHFÎç9S¸ ÃF’fÝ^OžõYväŠ[1áÑE\$¦a­ªÙÁ1;ŒOF±§w:Õ;è<.á‘ÆÈJšC]˜ßÞÂûÃú >@Fb›ì)Òǘã¤CkI\—BWüÒ!7P~~ÕÔX´å“رJ9JÀO2(ר´]½ç&PY{O/™&í¨>· ]$[V˜YÁÞªSu€%åPSJ Óø¶•§PéŠþ>Y»` ‰Hð ÆO,É¿uÐ\€ÃŒØÓùñ¤é½Xl/TAsÈÔIsÞµe§ç„1Ô[GýUgÎQ [.Û#Á]K‘=±è× ·öŽÐØ— e„´7„™¢-’.Áë|èº)Ö®¬,­9xTÑ›Jw¬3TÑ`‘ø¾C´‘a}ùæY(“Û°Hw žãϰö˜Ì úãjhëZ õ›ý«"ê(œÈ]j_ƒA\‘ôõÈ©]ø“0àCxøçe‡±Y>Ø7G5;ýz9qçâojÏ8s½üOHËõª8»ÊåÈIíÈÛ®.3s51¯< Ú4YÕ‘rÔꕇ[ò;)íN²òGñü¡&ò:׫m£;…Ö@ý‡ŽçvnoøÜyÒ׫.c\cbJÜK ¦E…òdÖPÓFÊsec³Há(ZI'z k\Èpé=f#¸ä9 L |@Ü{´V[YK€ÈÛ+ŠTïXV©Ôç•Òk÷Aä°ÂnÓiu÷_SÛÓçâˆS$¯hðåÚ) °’rI¦±ÅKÃk}h¶H="Üî—:¥fh‚91W×Íâ0ßEJã Œ0°÷P¾Ä$¶tlÙÓÌá‹<§„ôÌÓ/L*LÉÏ,´^¿O(gñ_QÑõ^´wR0¯)üLaémŽk™"Ù bjBCû„ÆÉp"4—Éi h¨¶Zu•†.Šimz3éµx·ä¶!¬™Ô§: HQÔ0À½#~ÂPªàdÓ™sÂI¬uvÃãXmrù¦Øú]Àg©“|UÁ;¿Þ‰’LÙÓH›t¤Žeý]ºG62¬Y©(ᙕî 0Ä \¢—7s 5·L‚í/ÉÀ˜?WÀËå£ï$+å„fèccXimƒˆÇß(ŒFÌÃ!™&¦™ô@HWî´·ã:™<«Èö,ôFis‰Ï°9.žQÁP8“©rUdþ.¥ !`˜°äû®[Q- ƒ:•üœï:ÿðÿ’@ˆ,Û”ïK¼žB-Ò\¡µ÷é)%›€¨dSÙ™}¡Jc±V5!×®G˺š\|d2ØðŠLyÄÕ`Ò ú50¬1À aSOÌQû½E[­H¢½?Âpz¿Ò‘üOUÖì”C™ÄÂt3EDšcv/…ŸS‡hjÏzN9óÏåK¾aËßýkk;§Ê~tcí~¶¶qeâò§Û¢y€­WÕL‘líø¹ÌžŒî8vF]Hø{’¼z8ðŒ<¬ôˆ,£:h“kÆxÀûyqÄ<$ûè'¨ÿÁmL Zðêà‚†¥›ÜgXèK ŽÉš&¾…oPyÈø: ÄWç¬cÛe `vÒ*œä¹9'›gŸ»®ìH‡i [mŸÛ½n)µš$|k *VÀÁ9–À9µ µí­®ÇÁ43Œq.[ïT=£SB'\'Ò3\¯ÆÌF³êˆxY›ô aµ™S.q¼ =ÖKäW œÆC—ÉÖÚ.Gº`j~‚ ! 1>³éYaUNíB0ÍEî6V ôhË”öu¾”§ºïÇàÔ:œ›€Y«“;iƒö–`ÞB¸DŒM7Èa® N&ʱÎì‚Ì[8æ’VŠ'ÃÜÄð«$Úµÿ2QV¡ä÷ƒWp3‚ˆyo7{,¦KÙÏ(Ì=³¥Hã7ƒÈ„pÀÿüæ¥@âcqØ„’•9O·÷Ê6kUDaæŒM_š‹§nÙ囓KþÀ¥w ;A9ÖÙÜoε3¬Ý"xzþs*L‘r’5‡bÉØ¶íÂΰ6Ø[(fXÍÌî~õ¶'n¸ 9b—¤ÃL‹á[Â4¢Åš0nØPÎŽÄBtAÿôÃ.Áo‡´»¼††úó†aÅã“;Mp0¶`D­¯×±›9vÆQnÞ%ªÇ½êÀÃd>ÐNfÛ>à²2lû â×-8ÕH_Ò‚˜_¼X›4¨O« ø§¿}þé¨ák¶(,ø‚¨Sš…/ö'ðèç¼ô]ÏO]Ø9‹å¨Eô©·e’cSOlÜ_ˆ„¤œð8a¾ŠÿŸ!‹cR‹ tœ÷ôiߊf˜cdÏ41!myªœÖpƒ S~„š\Ž–î\®äÐ;0Ó8¬[Ê+kA/Piç÷“Nœ{?²na½T!‚x?“Jg¨n¤ŠöiâÏ¡O7Q¤’O”ÚVèTRÆU©R"{°ø Ñvu'é6;£â'¬¨®„޶c"íßµ¶ž¯®SÅŽÐ2bf¡ªöÛ<•¤ƒ1pý§²ún¢×ˆÇ‰ÒI)ES±›3[QÜV+­‹Š ?Þu}sO º'ñ ù³G•½uû>™a)”‚½cF®2›<í,µBû„¤YlâHsçoO¶UÆŠyWäaß­‚×ê’»>Wì©ñzÄ­“;{»·órv(ìÀô"ǦX0f ŒybGë÷Œª ´C|è°¯‹åU46{ÅÛÿ߬ø|/ó!_D-gù†h~“4û ®÷|b'\>×™•ì•@»‘ù>ìpA+@›Ò'€nbx±×VÎÞËéòñ? ˆÏ ¡`߃dÓñgmï̹>ÀÁÃcN#* ]¸õPgƒÈ‡ÁIÊÀŽVólø¶Ã°â”±D#¬ÿž‹%1È5¤á9@ÌÎkD[’í( SŽ¨ÝŽ ʘϲùè2ú"Aqƒµ¯óÏúÒ€ÛÝ'\Ú÷“ r‡¢õxÇàyË^pÞ+ÙàÓyö§ ðï–å/J«Œø}Ú ~ýÇóuAô{SÃЗzÀèwF·ÐRïè(K­ÝðŽdÙSÃ÷´•ÚP|¤¹ÞÒCtKC4)l!f¼™Pªô(³ ]l(r’Ã1š£•}÷†f…:( o®üIRª£…’5¥ÙQ„³4åç‘ÝÝÆ±ÐTÊ‹oò?:Ëú)æ7a‹¢Ix ƒ» tÿç÷ç¯qD6çXH l"xÇN‘=~Z=‘þŠ›Ø‘m ÔES7ž«¨%eHÌþíŒ\µ«œ5X™(û€>Ÿ©¤ vqaƒìâ`tûõGíZK ´_˜‡Âßfr˜b÷—)#ºÆ |üÑîÿ¥?üñ¥ žJŇ³ºÁ²€©vú'¾²ŽÜ_g8|tßg¶Rبôò’¶9x½¿m¾ú½˜`P%N)@I†ªT…½=é²ÃÚû¶~½òF¤eÈEe#ªÔǦ®‡ës1;ƒpƒnñúïiœOúã¶ä‰ú(Cr6ê!5Àh}’_çœýÂk4Ë^é›;±ÆDl.ÁÊ L]ÌN¾?˜¯rôJñÑæ\hêUà˜·È§›BHB†¼6º™×žWÀF+ƒ3¬©´b9·Ï¬¨„ׯÎ]¿$c£ÁLoW†÷&ŽO3Ë® ïˆþ ¢K|’m4¸>£Êþy¹³Cþé˜9ç¿8NWvµ·±¨Œ>QÖ‡¥1<GvyÌ8lœ³Á‘ù ºÐÄ—ø6ìiênLJoØ;+§S-Åñ£¤ %O·ÌÄñ¿rå(+˜ñ«¢9ŸÙ¼ö¢”m{Ös©.@TáŠ;½¦8“•vQ?OÖŠ#(usj¤U6 v´ŽŽèÿB$Üê÷‹|ïÒÔ÷®Ñ .xœl[¯òÃNEÒÐá Lñþxv¾)×#¢WÉF;c*‰ÐîÛõÀkÇMe“–þñdèjA‚®8õç0œ¥´MùS[sUå¯J¬ÈB\ºrïËùiÛÿsFhx{«”ÇD™ud+kHŸ”dÚwXD惠aãwM¹ß¢› n쳈§ZØÀuòL«wiÓÉž/üƒ»rÕߎ];*Ýíkn'ëÐy½â¸Îëm³7¡Îç¶Íˆ°„+-oñßoiòñ †‘¿ÁzÙ%bMåø$÷6X€”C£ë3¥xlªa·¸ð#yyªúè%ƒDzndé]Cõ¾œr·ù.߯…ôùB";˜¹*_¼÷ÔÎÕxXcŠïIOpÞìÎ’ò*€b¬}›ËíñqÎf‰Ýê­ µqœT'.cÇ@‚¾jðÎVYs[ùÌŒ*ê{¤®­ëd+;"Áÿ´hx\4 ¦·½ää¶|’÷Y”).7æÈÕ.vdC—ö¾½¿††{ø÷" I2vÀCÁŸ ±÷*ãgÍ–\Ð"ŸÜçœJlÂ2¼ùä…Œ’3é©ÙTêÊ+ˆËl>¢Î |å?ÛÛrÓ]@K€-‚Õ—ðžµK*št ÝŒ¦2ƒÌOC}Pœ*.m@UU#ÏåUã½Üˆ8ƪüç.:(ýÏ3ãÀï ù#×Ï¿Iã°UX¯¬?õÐVBv]©Y8¾YGI¬>L5‹ÐrI¯“Q>ËHe¥î´Ì>×D»=`Øa,WÁÚî׈UC²DíwLT\­*w²°í%už¹§OíG3s#Ŧ† ¸—ò±£†PéÉöšLµ=Ûª†ò°"FšöŸíy“ù¬‹ï:Þ¤Þ7ÎM„¢ysÀ»˜Ö÷ŸWý2µu¯œ Iî\^ö(Žw+ x"»9g6ŽL°Ìî(}c`ö ŒVý=LÁëÍêÑ­ŒŸSá½Yýçæô…×0–Ÿ&Ùž_†ÍPwÏ­¶PDw— _“{©0صËxóÊ2¦õ*.½ØP̽¸+Å!´Õ;õ=j{‚yyJxjXY÷Œ/¾Ãé7`òßùaââÃø·*2ã,q€ˆ,º)ÂÖ!¬»,S7m·®yõÑòÀUÔK¨!êß5¨{ êÚÒ A¾—;|ÃtÄ–n¥ñìH-ûù6¦GÔ^"Õ"§ÚØè—žˆ%ÏpÖc -ºt‡@Ëíˆ2¡™D&±gkA_û‹ Ù¸ÞÂ:ñ"YY"…¥¶”+¹­:qÅÂÿ2,pú÷ôHK‰ÌdŽÞMéåc5þ—¨oß™›?Ê¢ˆè™}ùMÆaŸbÚÙ] p¨qJKcÖ&nÑj!Òé×âi*ŒóúðŒüΘa±]IÉ4˜ÖÒ<9ÄþÒ“©ŒDöíhëB5ÌkS$k1†§Õ%sX_–ê­Ñ¿|Y û;ãŒxú¼å´=AúúM+1a­hôe| ½bÕ@æZ¬ÃèÀ…ÄІ g±¨ƒÑ2–4ZXˆ’M¦´æVXé¯@ÞwP÷.Z¦={ª?ÄœT&-dÌxØþr¤„z)¡ý?òá:Zõ!;´©ŠÂÜNãa "­j}]!{R¦ Td0rËa@µ½ÀëÓ`·ýÝžçŇ ¹ò€ʉ3·§BOâѬ1îWÂ4œÃÆM ÏUègf2¿^aVpW`Å'kÚó{K“¯á뱪~„JúŠÐ¿~ÑÕAß7ŠžHmÎ<\6.€ ""x#Æbs lŒÕOÛxCm§cîw-cÑ=M4:ëbCÛ)¶7œQü‚$˜3²3ó ¦&²‡ÅÁ̰$Ò°/ Y‡Vú_ åÈù˜ôY:ËÁUD£Ïæó&¡ÜJ]Ú Õ }9Fvýbµ†’ÑW÷ß²ö™¹a› ÙZ;½Oµ,\™OaÝ[>íûGvfù]ÆvÎÄU`n‡H§3'ˆõ@ø½I«ƒ§ßža4f3É0kHÿ0Æ·@ÄFp+”~o!ÛÓG[s¥r{bÔý¡0ŸŸl —s’"ªGÝvyÐf2ƸÆ3¾›ùr̃·!‹L7â[DøífÀ¢ÙsLb^è=)ùš~I$"¼mgÕ 4/¬Ù~žà|ŽÁø‰üÀ\®Óðõóâ<—{Z”@k49'æR;D î(!y:Lò*þ5´Ïp†ôD´¼XŠ9Ë{ý€fÁ=\÷Ö>Ý’–c>Éå®×èSÏL¼åí§Œ\‰ý¬Èrßon†.ܼÝÃɘøµÈW ùwPÙ=ôGUgM/^Mê+¹Ћ£ðtL¨´•:Ë¥Éq4ÓhW¨®KódÐ`·Ax†™žì×xŠMº<ÆI0ñv~䲬®ÀdgeL&Åžc°ÛEúövl„¦K ­w‚(í".úRšç˜[ߺxÂ×´ƒ£Ôõ°¾» Û”3ÖG~k}Äf*ûh£Aô7¾%Nº2$Úgý#Â\<òRƧúØøDƒãÇZìîß}Œ>Ö ýé:ó}|\Õ•ÑÀµàÃY¿h´Ôï¶“‚q‚Mî@±º=€­DWEˆ]2š]J}bQaÊ¡¥¶½¾|`âîV‡¤Lox #mæ?ä÷ï`&pD;GLÚ’å±ûœ-=!üœCôjV>3½J|¶Šqí %ä§Ã_›a=éØ¿Èh³&±µªøü“RFÝ/‚Ó²S ÷²td«ð‘ÖGû³€bs†)Z'kÈIaï0Ï©4†:ù@0¼²"ás8ûuÓXÞó`qø©â*Õ±dµr9ÃÛo¸yüüïÕ׵ϴV±Î˜^9ž!½CáYµ»1Þ|eÓ_ÌÛ Wmsg|`_KÄ_Âl€8ÀžœãnC˜ƒ¾º¯}~»‹ L¯A`¿ =`2•õ›ï‹”p+$$/<(MÞm”*¨1åéë½×NzÿQPÓ(¼…q=6ƒÿ¹:êSÃ:í½¸¶ìU#võ›¿C‡"*¶w+_ƒ¨$C¦4]³’.`€ ª1§á]_íìPÕsýwõÐíÏù_ÕáoK-"ʃ(IÚªÞ•ý}è!×-ïy:\‹ùnúWjF÷¼Ì– >ßcÈZjo˳^’Œï÷üš<ú=ž÷ZÊì¢Xù‚¤8—‡œ_§YïÖØ‹O_h¿x‡º„Ír­*«µj§``=Ìœ©mWqøðã1ªJ0×ÈŽôH¦3çõObÏ )«’^N-†ûS&ìÌ 'h:UÂcùÜZ ¬aM¯ñßUÔY}g¸˜ ×ÉU\×j ê²ó ’4zïþÇ"7€¦ £ ?°uTñeID(ý)åò„}:ÌíÐÜ´Ž`'ØÎðJb¬»Yõ ä#\©®«ÍÜEp…ÒÈ  ôåtšõ¢u£<¦%.REÍV®©r)ÿeéU[;@Ê&*„¢HéÑ”™o…6¬™à4^°êHivMc)«ëj…VçšÚBµøÖÉ'ºY\¿¥ÏJ›% |²=û µä¿²EÒeþ›zMýÎŒ pa£ hÇËø^ÍÓ'û:ÁºØÞ§W>dÀÀœ ×L|0€»¹¸èY§Qï»ðZ m+£ƒÊöÐC7áE)#¦Ý$ÒÐ<|¤:!óZÓ¦›< D É-ÁòOÍ1Ϫ©[ú 1Òþ«8kY+Ÿ¹‰(vÑ!Cè2[Ä/Âú-µ ”÷äºzÖÊ3a;äE5]ö3ŽÓ b‹»q觇ªkÐ[Å/ï¬ñ®0†è„¢”‘5Ck#V5µ€G:½·9ž‚Ú#ò†Éï]ä²k€¦‘ç¨p­¶ÒQÁ:ÀGa27äc@vÎt¹›•Ä2vÈ8’ÕwM “›¸’h:.Q`lyÊ#€ %2ÁçGÁàñðË׿Þkc(ÂÈ—çgÓåKxc*¨431_ÌÁgö¨VÌÝ”lf“jт݅NE“ßD_1õ’9šé|%nÜÁ€™ÝFÚuy÷ªFßJüqMr˜¡£øYB‹" ž$ ijErM¸JÑ 3Û™žqMM/Âí+j½¯sG©w¤:6_Ö%£'¶¡Û-áÕg8LërQº}~Z˜Ë;b5¨ª-E?Ëâ%¼ùÉÏÅ¥…õ›ûV‹îuGD¥&˜>cwÂ7GOA™z^ô-¤I‚>˜‡­ü|.{¢£àÔÕ©Yí÷¹pñ´ïœàrøûbÂGbP&ÏêUM½^¹;çá©”dV/,º ¿Å>OÓ|ãAP½ì"©YâWó²þ7ªæ(MªÆ ¾>äw| #-v‚nÒ9 $ý%kÛGHkD”8™9R:\é»4ûÁlRS΃‰xAiâo€šþÖ$;â“f¹9d*ÿBMã†èCÉÓÓ¿̆3ß;‹+uQÇ §`¨³žMˆW$^Z©÷˜È‰nÙ䵿ë&š˜£wRÛ âËà7‡Ö„Hûl^@Wïu‹d™)°à'¥Zê}mÃ}¦ æ‚¡ K¤*ƒ 5 ë­ÊÏ:Sêun—篂:™@_Â4J‹¯Zc.é<¯Àµ \æèº5ÔÒÐSÿa¦Æ6®´z³•°ï²Kßý² Z1l_€’Šj8Þ‡£´Ü¯?E·ï‹%;ÿk’Œ˜=qÍ,A'‘ñ ž_Ŷ7Q‹q©†qß\3áþ˜h KýƲÿÍ¥Õë…ç!rðÐËc0‹œ#³•Òï™aOy{ŒKð&f†ªªh5bþÁ‚«.ÅÁ•dÎ'q€³ƒw¾ýVC¢Ô*<á60ÞYí0›:nkž’¨5ÃäQy"¦1ìÌh]þ?cg#™(G«_þ®û+7ÚY ç$´2Çg8ïcQ½¨J‚@`Õ+.…7=†Ñ=°†[Œ h\§ÜÍØ|;V< å#¤•ô¿“wAãÃöâ¶H?!Öï"Ä5HÕXf”Â56î·t¹—ñRœ=ˆ½c¹ãµx1ÿÓÍÓä*Wûj§0Š}$eíH6Öçlh¨CŠN!}ºJ²Ý½jP¯‚HŸ$´+f\¬Æx/V²Ûk°¯9ß×Pí’>(ަñ hS9Î^N §|ó=£Çè^È)KnÍ,\ è ÔqBëíÑ­>Él.)=Ã[ì´_¦3̈à@ŠÁ1'5ZhèºSù8m˜ªB¿q·÷U-£íèI«¡‹0 Âáó5‹¹eš¸oSÞË‚ÀÊÊï YNì CI$.)u56¼Áƒ‡"N­|Ú½wq¬~ÒXÙiúD*¿uYPõù8Ì tOÏÚíÌ5bÝV¡Mq¿!;Þ\0çq6|¸Š°ãon?iÈáAž e<ñŒÑ⇉†B¦üˤ<‹í’ù>~[òÄP¼×í7¬ë׆˜ó4üôþ9Þ*I‡ûëa Ú6Å1= “’½^ñ{'”e»û§÷|¾a#ˆ½IsÛ/¡¨Üþö1‹<äöšl«PøÆD]”ÌÑê«‚‚eì¿*‹+)â¦<Säb0¶ö‚B’xpûºÌ•DškpÖ* _ÖåGðí'Hø‹!g$Â^Io\e»jH8v§ßÈ‚"§+ð)¸p&ˆZ"¹¨@ޤ¤õY^¬?…v²>)¿¹¬RhÕéjîÕ°kÝC¯s‹n=râ™îZG„7)MñÇßå ­#¨?åÐäïñM)ð>&°å5Þ»oÊ¢š¬{åËuâÒ¿ò$¢šó—²‡lãò®û¹,à¾Uhƒé{zñЂÞÛš”z°HÛðÓj% þiÄ÷ûd‡è6®žKÏ€²Š,-µ±my{äýÍÔ$%+ñ RÓ®x.ãY·‚™ñœõ±á]Çk5¾»ß]"|RK_Ïät=¾Æ© Õ½ó¸(خ̩,nÂÎO-àhDÆ´Ó‰…þæ˜ÃNÜH«z:ÀžIs'3ÉÈåT~!äÇàgÇïOÍä6}ÄÅLë0©Õ€, Ô áU=꽟$¬IóÚo©ªG¢1Nc™Z.õä`Òúäa ×Ê·ÕŸ— ªÝ⢅YÒÓ&sÅ~&—ûPî]w»·Es5‹÷÷'FºëYU55‚ÃT®†ÖPÜ2‚šm&¿©°¡#ò7Ÿ´Úw¦#÷)ïÎþmˆD!9¨Þ] ñì-t ÃÅà\.µ|9'º[½«Îàªäc4Ùö†‡æ¦ÅJà¼bü KÆØvÔÆ“ƒØ•|?Z‚? üãø'ƫŠD—Š!+µ|MKhfÚæ_ẘ!†D™QuÓ„A#ºï$;ò®Ö,_˜ÅEÃöZ`·iö qUÉîT4 ü§´ožòolé ÅH^üZòh“Œ[£ÇoU”±IÄ^kNÈN£ "[¼vT:g(ŠM‰iÛ‚qÀzMnºwX=/ùˆœ4Ï!{†¸ì:ƒ ±»ôü¯ùŒÆ_ /ÑŒ gû?_å^»~#"¹FúèN¯ý–ê>Ã''ßÚ«‹ÿïeÜ¿ãŽÑ¬? ¨ŸÐÖÅ6þ‹®v»w©2„ã¡y`k(¤{0‰]G”&:PI_ÃŽ{%ï톭ˆœWø4ב½cKÑ%çÈ[˜Ã$ d´Ý±¡E_áÓxA{žþÙˆoûàÏ78wûÈœòe—òÑ]YE~½¦} .e©Ž4í÷ìÈ'犴Ü(4õƒµ ÄþjŸ_¢£6ø#5 c® õpeS!ý|bÕØB2 È‹›ù¢ ˜=Ê¥¯RɆsÎ^ç^Î}ÕÔ¥°Â¡EE·£ÖX•{M¶dYŠˆ²¢Ém·Ð¤öU’nUBÙA–byÐÒ!]Öu ê¼P˜oJ! f¯ð”’ƒC8ZE×਀ô<¡Öún]ùÅ‹ˆ‡ ºW÷¢R{Ð+ ƒÞL¦ÊŸAéo$ºöm }->˜…¬ª¨%€Ëy‘§ÿŒó/+ïÕÁê ѹ€\D¥7˜·r§@4;JùÍ,ß+PÝ…âHn‘²#æ²cÐ>ös+âݰ sùª ‹ ï7V¾C’4¥8a’§Fñ¤/p÷‡hô¶V®³zFÑKÂkþÉ—˜Œ*X¯Ã÷üî–b•è›({Ö/õ²ú«u¬šœ@ ¥û>ü °êÕ3q7µÍý6X?¼o¸Äƒ„:äz?}Yÿ¯v §–¾€å–›ß‘í¬¨ñ©óþMŒœ‘Í4¥+k1’ĶÚ³®‡Û™ø¤)?DOKP€9w\ï-WÊ©¨ý÷C£PtúRðܶWÜùwò¢B% ‡Ô½LãEÐ…hE“̸”RS¦²°LüœöØNÓ½yÚ,‡…v݆ Õ¯º ÊÇß;ºåé'Wk,:!áCÆBÓ% ï}âã±L÷È‘ðßÔS¥mev«?IŠ×ìŽU'ŒS‰ÎŽ=Šï—ˆ¬Ÿn¡\—’Àã"õñî5ƒê£îw-2w®ÈÐÆC£ýä–1óÖE„÷®LHM.u|"†‹û¼å.+¬ÿÒ̲v%²[Â%·Œ&°½íX›z¿oCñ§û‘\³-ÇãêŒè£Y-å”lß‹k"½§¡¯aß-á?;Eác+ –¹Å¿“-!p‘úiÔí1Öt&r-[:I$.ƒÍÆÆ‰ç70Yp & øðYW7#Ë7ËŒ)¥’'Üäë­4{{S eå×üÀ¯ú¤+Æ”aÎëU+§xƒ<·ô%uöTèÇDäc“€—§Žö Ý0JkÄu»]ÿ4Å®<Œ<Ñ!ÿm»-ø3“ÖoT×2Ž-üŒ½<™lEÑÞè¬DG7'‡³6ý¶vU÷7!îGâ[»ÒIF˜ÛÆ(ÔŸíÅžB$ÂN†‚Éå›ÂÀ'Eh›wãù6Žvsà F]­\Óϩ鄾øÅØNŒ¶~RPu¬B!Æ=nQñI8ŒêJ[€zžO‹0¿P"i<0c#¢ÿ/(UÏ¿Øè³n;½ï•oìéF«Ë‹pU”è™ÁÝ Tî´¦ª|{›²ìîöd £æœ­ëdRòÙдî{ þbÑñ/l·©Õ tïZ&ch¡þ[¢ËÏ@¹q„GJb<€U3nÎ Ã!ô‹¸ï¾gÍ á𺠹±LÑço1`£úA9;â½ãáœiú™_àè<&§¶pqa2„®Lzbpj-Œ3ËËÄ»*†}>%*×°Uwùßëç„ɤš`›Ç§€aÄIŒ0I=Q,©ª$zš-mÍòôÂc‚é¿]p×ç Ä)p&†ÄToé›¶ úò§Oè%v€bŒ¹4o:WEÂE Tv¿h,Pº<¨Ï%TU7ƒ·ü´«Æ·Ž2àA´½¥¿,÷°¶ïè±MUîåáñðö¥ß/ñÐø§½,Æ¢Ÿ¹™ïµ+×ÃK—Èñh²Z7[š2“´àX/B\3Óµ‹G¬“ºÁµ·"vfŠPOÎQhˆvãCTâÒ`•›í¶fD«hr}=Ï4Û@¼Â~p7Ë™àÓÿaMÙR’ "ð 9«ñáÚîÒ#ß íŽ`sHŠõ¯â{0ËâU|³EÄ÷âÉð§(½SïÜÓ„‚àoìµz7!(B";â¡^1KÍ"ÖŠL˜š¯áR³á£kÿ)=Æ¥JÄ®Èâ-¼ ¤À.„Ð@UoºÑ)œéYÃ{빪¶\Ë5…!ÆË±\¯¹z&­CzÍ2Ž8Zv‡©ÜÐ[ÛÊ1´m³LˆÖ²É0CÖÝÉÞ4sºnÉ]טÿ½¬´¼O‹««£ãˆó–‰²ë<ä|¯¬FujôÓ1uW„UžÞý, —iνS2ÉòœÜ'÷e¬mÎiá(ܣ߆‰$l7%Œú…¢‚=´™Œ2 Z' ôPvÔÁÑ#ðèíZ›¸—yr\‹ý¥oÂì+èß{ýX ÃQ2ê‡ãvœñ´‰©o™ªþâ}DCz9ëË0™‹X'¹$v5ÈH`EÝF™_£R^ÉL iŒ°~-$n€‚™ Q–0ô¯ Üsa#Z;§÷g®E$2u˨@gCŽ븨¦þ,ZÞr›ÐC!#úM¸÷Q­Åû»„ ÖuYÌIoW|+îœógD•h–ÚtRCô߬áî’yv,0ÌÖSò† óôÜ~³³}EŸš~“ó¹î“.Mš^]³º0élÆR…N´G%ÔÚÔÓ6Óa¸#úÌk% •„œÀfÉÑ3†=Ü:óXoX.>û¢{¸n š¦k;)e¨ñ%`é(€]—ÙÌÄ­¯¨R7“˜M:;¬¶§zfÛòw̧ü‰¬È8[t@™6ûv¬Cêæ1ÊãÂz‡vðL|]>û0Ìp®ýQOúc%P1÷ù;a fJ?Œî/s¿w5m\@ÒŠò÷ôWÍRØzü;ÕößZÑŸµVòChjî’š.hæñªšÎ=wWú§>äG=S-£„Á}¦Á¿+¤þF¹$! D!†ÙÜû5·‚¶"Wgã´ª•-«q!#Tí.›ÍîVÂo@€‘ØÞ¢»;{ªZ«Ç’¦7íŽC;ƒÜ­vqÙIèãNú3ÍÆp¤•95eo,k­úP©Äút‚Ôv—4‰ÆOß‚“n¬X©ª3byi-“Ý-y¿vë‰4Ù0y—Ë•e-Y¡DgdŠTx¬ ˆ!F!¼F"KÍÂom¾”„âŸèî)!áý³Þ>»ê]›$6ïËš@+ßncS¦û–ÌA^9ÅíHà,(d•4ÿŒÈvB’l>Ç¢Å-6Jص+D2?(¸Uu v™ÛµßzwÎ8 ]Ž«£F»ÿ.¬×=W_Õ[íΰ+(ù˜‡»Â¡˜ºha´uÆ£©¶>ˆu#j’Ûàü¿)& ÏëH;N"o”=H?ø5œ9ðIÑW›ßQÞ5‘ç𨭚ҼôõÃ;ìGfЃ‚¨™á5‹Ÿ§Î%$LŽ ƒgq_\Ü(˜')‹"ʘ ¬å+›kü¡´ß„{t+Ÿ¯‚‚¯hO°KuÔiÐ…Ië )(LJ‘ŠwtkV%ºBÓšˆ’t+á'¥þkI{àÏß²ÕÉ—UÙõuI”F…Ù„YxR†‘MÒðe«fÀOTðæ’ð¬Pÿ©÷ªÒKY ‘>ñ† @fŽôqÃæŸ’•bät!Ù8E1<è} Á^1¦žˆ[ÁWß®¿À—£k¡E•kÅú¼ß-è·4E™1œ®ÍáȸT§Œ)¹æ{€½­éGfé|ž‚!w­™V#óºtå¼ÁŠ©³˜30àùfK„híƒg?öeq%YªþÂÞžek~,ƒL‘ ñ(X اyÑZ–œ a}FwÇ×a=§û'ñ9‡æ££¤%]YÑ«ÃYÒ3Þ×w:g·0_€ñɹ!ÛÕ"†·}õ€-Á,ÔÄ#ì{|W9Ç)ô-^Q û(éXSÛ( ™5¡¶›ÂeÕ ÎckQDT¸s*¡ÖÃ1 XÕï%ÕLyZá¦îø“/<þÆ÷ÞJzáƒcû÷ˆ“ÛH*.%±ÝýM´ßº”4Ú²ªÝÀ­5óüHk“b«ST:‚ÞJËÆºÈ¿}ìMn«ëÔ\0(28mcÜW'248D9bài‘9*N$Ýž)¤Lù½ý2رqÐ%¥šâ ùž¡J J´`P-–9 Åfñl¸Þª¢;øZÂ÷DÁoªy¿ioL}mFz~Ò úeü¨¢8…[ù7_GCäïâ…<[m?ku‰f ñËÆ_a:$…&™<äý„™ JÜðl†l„fœ×¢þ­A4³ù`µ×ÒpJþb¸È.âVFˆµ†lœõ38p΄ãf]“ ¼»þFŒá'BØ$÷ÇðŒõsÅ1DÔ)õ¹fç#0W[õ.={Õ–.,ˆ{£E_K(dž«)y‰ªp-ÉUÞ+k6âÙ£ˆvy\ßéÇJqÓïm”â}pó“è•tÄQ]Ü=•Â8ÝÿQ†#½tV,OItl¬÷ü Ý6~U´¿ìßø0¬I2!øúÝzà!çWÔÈ¿Xƒ~N{]çc&tÇãß\ëØòŽ}¨.àºÕÜÆÒç&ÜdÞç²’ëŒè¼à©ñI¬Zâ1…{—,[î#æƒ|óHØÄ(&í¯«bìÿYFž.ƒˆåïâÒñbèîódo þŒH — ./ Øý{ø÷3?ëÏܨ¹)øND°©wc (å{d!å{sxd `ÇÀñ|Ö¬{écŒZr ehèf¥æ‘˜±"I6Ïæ)f(—·¯øëwø2žlú›Ë ”‚E>’…ò¸Ä¥3ôc£Ò'‰µÊ®¦äã>AŒ\XrLah¨êÓü‹X­G?ÀÆ“¢¥0›³p¿)É £.™‚«DígV󇄺©[~ïp å“-;ºUPÄP†Rºd{šZ®úÙl0n.¿”_·Ž&¸F @÷èÚo‘^æAM`©$Æ5û½ 9ãÓ7Òñ4à)Ðк)€îµ*D¹$UpåÑ4 rŒjï¾JgyxÓ˜Âäø”Õ¨‡áÖƒê¸ö´ªÈ|‹z¼þ˜_àÕŠp¹ ­L—W r¸–+šöBxv¯ü€pW¦¾d:í%Gë–UkÒ‡²–Pß<ßÔ‰9Ü%è4 Lúî½ë5ý… ‡,8lˆÓ=,â¬G•yð%Ý\¥² ²yš+—L·T¹à¿a|ÿ• h¬ÝC½d‹2ä)!ë/X7ïn€ù¬Ôþ²h‚SÂLÄ|X¶ä¥X\W™<ï4&\ 7’ŸƒÆ™ÞèDþ³é<—ØÇ äêÜC;Z…á+ü¯ìÙ£9njí G†Zì‘$ÑV–“®ñù.}ÍáãY=[{c#ý ÷ãÎõS8 Þã59OÁÏ‘Ž’Aƒ(µ9kQ‰E:-6ìõ‚Ûò³ßBŽšvfr™]†ÒœdÜÙõJŒôž·¢5ørˆ¦ ÙÅÁ|XŠ»P¢UÍ[×y&ò.[æT‚uz’ƒø³\ Š=ÚVQH—4£ÔÔMÉÏ 9(¢a[ý~0|Z¡D:” Ê 3ßS “«ò©¿òFöŽBZ˜Z¾º_p·è:còð÷{ïßÝp@e-èDùŒç×ViŠWu¤^10óâ.øדV²Ï°‚DIàÑ€þx¾2añÕ ¨… `jlºïÞ°HR“Rë·Á`YWwjmÉ• àÎ??²Ó %äñ¡JÑ%¼*¦õ‹PlV˜®Àqú¢}Ð"=Ë’Ír<êC±F¨ÓHÜ”ê`¦ÍÃÝ‹æ¦V P®Þ8×"+ââfÿÔ.œ¸ÆcÜM­î‚ØØn·hÈk°QÞ°c»·~&Á>œ? l­ W£ß»%ugZÔ<Ž”8¤W¼Y²j„úÇÞ ²‹ÃÔ’?¯á‹îæjJý™(Ö’é×þ2 +}uÝ~ú²s4[eWdV÷¤¹¸«Öo06˜éŸ=-Jîºo×ÐO½‹#6µQ+y\hÀ±À„>¹‘[º¿ÜjT¹¸‰xëÔ'ëv*pï¹!wd©+'9Ôýåeh`(^¨b–¶ôÙ<Ô‘ 3$OZì# ÿ‹…‚™j,–`VZ=:­ê:¦œç;SÑþÄËZÎ#yÕÚv,'x¾›9í|¨×˜dG8n¥î¡³ÕRð à‚M<;Ë` ‹M,µüË©µˆ9/€Ä|o¾%Ú]ò6çv]"l’ûçÝ´öB)Öè¤]S¾séüé2ñpXé)Ÿ®Ìò1át®ÊwA*÷DûÈà]¯&´±öŠ~áÙgg§Ô$ˆÿšÒŸ±úósËY£ÜŸ½³èšEy°5wì´‹ð>ž©Ï8’«Æ ÓÂôíBÁØt(žcsžk/fñ ÀÈûX½v;‚Ü:Öò{ .ç:þÊ—®ÇèÍL8Ç&ëEýA̪G„;)í(18ª@©UÄíŒ|/mðbØ»u°—ØSÔ“˜E­ pe(öìŽÆZê+µœä}B õÂtD¶3@p_^l6l@ºc 㤎ÿ€˜_¨£‡Žˆ9&ÌÍÝÁNËœDå«f|ÇW¶\ÄtÏÇDAu ¸<¡U@E‹} †<£Z¸õw€Á ’Ç@E)E›Ÿ-ƒ;Ïe$f–H£[ rä°µ«2º6F°â¹ÝòTï¡At¿Âç,ÝÒÄ,ƒOìHÄn¨)å¿%x¤­é:¬ÌyÁóÙCV××€‘§¿MA&)~uù½·èLÌgTB #™ÞNÍÜGƒT4m~„œ‹¦q'h,«*Oóæ†ÛF—«×«JO8~}¤€\ƒ¡[y¹‡Ò©ßÇY0 cÁõß+¢9Í+—s0–¬¥å`…ºJCзãtsQ'._¥ƒIsòHZ[š£`}­7hÒ8kê²çÈA!èPá%¥·Ž9 ZWÀ×yq•õ£­ÒÔ tâûI8²O8üžÔ7 wwÔêð_‘æµ³õ΄Qja2nO³ájEW£JQcÎXû c ˙Œû]Bµ4ÔCÔòRËÂÅžgsVá=±‡ðc¯Œä‡ˆå_s`HäÈnF‡C¢-øp:6áFvxãmbg€‰œ%_ñHUÙó̉¢òǰ2ºz±.E)™ï0éÈÀý!å㵚îp´ÃTǸ~–œÀn_f¡¬jòÑ9W—[jf÷h.CÍÕYHl¸ÂƵì àuëÈU…¹™ú¹‚âD˜ þuš¤¶úNQp0F_u×¾q®ø-j(Ž“x’ôµu‡re& N³dVIû¬xóI’ÎìÕsÖ¯.gïÕÚ9ž÷#§øQåûœáØ`ùNÐÂѢߕôÒòYpº¤­æùÑ™!v.ª  FôŸ¸Ï³º’]$Ÿrnë{scÓZ|xGâîK$`ë 9w®ñ,!ýr`&ËÔ:)î·â9’tÊÒOMܦ5IÃ4¢Æå)þwIºäg/wÉ£4ß~«;‹z çç¹[úwì~,øe¤0Ëw.èæ½Æé6ä›k_!@¿ÅlÛìá=U}Ã,-ÚÛš¸òŒŠcS±Çè>B\_q²Ç§¦ŸÅuT9Öf.¨pE» #eåâÇ‚Nì›Û}N‡–°~ƒç`â7AS°ldÂߤ†îŒ:0þ4Ъ°á̱Öõâ$ÊŸG{¥Êc½MK<òp‹¦‡Sø±«3˜ª›â{¤MÆÐŒ+SÀ¦û…¡«“—#z~à›£©\8\9ÌJ8)"Tḋ›e˜–Šþ<õ ‰ bhŠXQ#=³áɯÝÙ9$÷(T\å½Å­ p·NÌ»¹™ë…(󾕘g/åÊË/¹£È'¼ðì¸K2ÀJOp;§fòÜ¡Žo-8ç·. .±Pòã åƒÆ/¥&ïE4¸Ò­›®ÊìL”ð>Þçi®=½ö (|óc+ys8èb# O%èxHQ…SCëR‹1Ì™½D …$`äѾ˜&7ÃY;àÒ_Iÿ$ª8lµ~Ðvª‹4rÑ8´¾?u¬U£Ÿ"Ÿm?)‰u å™p~åxès†¿¬F9§#ܧ„ÜÙb;Ü»0àU7G£d3U¶¤›È)È#ÏÆ¼Óïæ!,”' Ò9Rx’ âz×E3ÓªNircâ¾"Êgߥ€ ‹ŽOï+OûH–zÌÚÁk/€¢xÎòxêx_ÁÂHVw†Ž4Co@"Ãú}ìª ±§MæÇ‹ù4›ðtè|hëÏJ™^ÜæÓðîF‹¯ ÊîÕûeË~‰¹ÑÑɯΈ(.Ó"_ŸÏWDC#šžKOnT"ù^ ú‚ä·WèaêýVölãѤPqN÷ð€í åL‰þÀ 1ÂoºÖâëø<¼«‰Èé’®¬j.XQÑ6ªh ÿÛ¶‘Fꩯ;DwX‘HFãæ)sßÒ€#n„ôQ.ÀºžzÆb`©#'œë x²¥ÜFüµ”ëéî>+÷øàíâFÆäOrÁ¶rÚÅ)ضìYò}~rx :À<ÊÚsúO˜ÞÄÛkC&zûQL»“êH?,ÔÐ¥¶Q÷ƒZ¡ì9í°Û¯q°)7Ÿò&lÓ+æ"cxg?åäuÌhkÙLe؃%`¾ÀÂÔÏn —&âØ;4¨ÍÁˆF©È€0Õ {ù+~;öq+Sv.EÅ_³4YPº“ÇØÂA¬G5ñEù€·=†ó‹‹‰Ô«í D”ÙõEÈX Ô8#„ð@3'{ÊåéoÂòBVøÝ¾¶}á‚h‰¸ÉÇlL²ÓV¿•‡Éo‘XgFÑw‘ЇJ <ÁRÓ[¡Çü—9jr,ŽwNNàʬˆx ú•/vÚŽ"é ®ÖèŽÍÛ¢ø_]A¾M…îý¿œeåOwMvôQÖ›es/í¡c³f9ô\œJn#Þû¦ c?vowصL+Þ<"LûM_=àˆ¯I´xË©I‰M7l—eƒ±Q[žS‡[/«r¡ Mš™hÔTÓ¡¡³6ŠƒÎ:ýaSQ{&Zµ3.„鳆]cpŽe—š‘ )o¿{ÈuåÒ÷? /v,ržÛ$b ë…[¾„tÑÄ+U-Û¤/@ò×=r<ŽÿŸ£ÂÓ4ȹ´ØË˜åÁб=”³s£@A•¦§ú~ â¦?çÅúp¾»ªŸˆöómxo‘=·3íþØ\×2¢ÞËÊÎb!‚Þ›_a^:è<ÐäÃþ™ÞªÚQàѬH¨„…@Wd£°³ b6³× ¬Ÿ'ˆ?eÛàz‘.ìÀÀ˜qg¨cx‚”Ü'¦ DeóÁRG½þöÞJZ’ÞÊ3Û#TºÁéœ*nFò&qüò}%Å .FÒ9®v‘}½ŠÅÆýŸ‚ø´¡aàVûÒ2öšuô"3ü€w`ÑŸùÙÙï;ùRwïlCÞ ú ÿ¢†¯gm»hYF¥ƒñþnäÙ¼r}½Ûÿ_’æ³ßsŠ®_ég—{®ã?åÂí¬ƒ'Œ{*V&³çòfǺ@x—Ø*+6Õtš¹VÁä³µÓiH(Æ«ÅÿÅ8‰6>ùJ?ôî¢xWQá-¹2ô‹ÍgããuÞÂ˶JSÊ|WþLþ]¨>[2<וuÏ_Ñ­¸@;h\ëD;„#¢Vîü_ì /ÊÉW|›wuÏ^<œ}ØÂ½pXò°à§Ô×°lF‰$”¯¦±N}µH9ÌSÒ¡ZF³¬ЂRµ&i©3Ô)ƒw³!*ü}°™5šÄËûýäØ\Ï·ì¯mÙNfJ.®Ó÷pŒ¸ÍË“ÙÀ–U¬0(Â1ʪ>Ì †_hÏG¬;*‹T¬}+ Ëšüª«å]ß’ê)ÍäÝF(FìÙç´RG´í#À*Ì›‰¹ÐÔGŸ DÑ:z ¥²b ¶KŸôؽ(B¼øpøV0 ­Þ4E\rî:„ÍeGzÛbvðÇF‚ø]uLaœ©?P)«íŽ$¢BN²#Ö×{iM‰Cö¨,3°¥(Ni±8›`èÖÐëÑOAªMLßxߦË|í—u®q|ˆËÆû°a:fñc,ÕsîÓ°§ë±®þIM¤ìqs˜PŸ8$,3jÊeåea“à:”›83Ãò·›Uůsˆ³K\Oø[ —D˜€–Ó¹öWm uöT–=»“ó…ŸvGÚÃxk`Ç2ó~+áö‘nûg iT~|8+aÖA+¯ÒŽâµ²Ò!µä c·þßy¹ô<Ι{¯ûh‘‡r2ìëv_£›vаt Æ„†.¥èùßP‡RóK¶ˆÛtmŠ×¬øh óØÌýB™+“éàŒ%L#°a¦Tög6(¾C€ÖÖm†G©Èf>›º¯ä |Þ§ãŠïë•÷>ûÍN6Ø8Ü$ìýOG)¹÷ÕÐ5#DØ'™¨ÐDr&V¬ ÆbÎsz&¬Pá%]\sûé«· €ãyEóÔm!¨d-Öj²9¸nPûÜ×<ßæU>"¥=(:™fÐc LKâµìÐQ‚G™çK ¸¤¸~q'†¡<£dÕU¼ÄÄ6¸tÚwo`A t1÷Ý5a£…–zMÙÏ1+ á¬œÔø¢I&3&€2ÁF„•̈îF÷Þbâß/,÷jA7¼÷÷5 |Î%ô ôZ,kðŠÌD#ØŽ^r9ÎFëâýöMQuøû·¢&7¶˜—ÃT«u¡MsÊQU7׎ýµVJ äöHt–¾?¹^ÔÀcNMQ8l*)uñÁÐ#ȉۙƒ’듟*³œ=פʆèñ4>ð:RxëŽ0ÓÕ6fº„ñàݱ+q8-feÁÎ}Õë±]Îl%ëÿhÑP>í³ä Lag9zÀ”Wæ¼ÍiÑÆ½ÉÙu²ËúÖñ¤Éèˆ~£5®ë!G+ ~«ÆªrµæÈËò¼ÊWë¯CZ A j¸Ö…¶ h:¶¼ñªCxDOX) >ò•ýÝóî*h©é˜+f^3Ū[i»Hwgn²ƒõ  é Úä+l qI!ˆÉ,ê.ÏV5RËÆ[ƒ–_ÀcЖýªslR]'çəЖg,+<¼6,ñ Ü®ol‘DþÖ |*)—{Kc€rM`ƒrÇïç߽уÍ\ŠFìú’sƒp„•LbÏn ÖÜ0‘®Fr?ã鉸I 0¼©pžEWꞬ6Îee 9ªÙ=Yª¾«B°uJ‰qàéxò.;õ„ø‚>FáœÅ—f®{[ü½qd™n*~nÄ18ë.v—øc€ˆ#G Äê(Åå'ÞnÊÃæ“¶i¥•nÉx˜j—“2.¦éä|†>ä&Í­Ç´žoüjÔªsì²þÛˆÝ# ݃!](©—Tû|iâ90aQ8?ý¿„ŸeyV%à<^·lóÃþ×pU¦ÄGeýfE«µ§ñò…R²nˆU¸ ˆ®ø|£¤êlbI1+П‰ê1aMC]Üóe„v"ã›2v5™¬>Î#HÇïpY«ÐÛÔµ­1›Ú³E†¯Ø˜ ½­åBdTsÁtþÞd«ÿÑõÁ×R–ú×gÄÁÔ`BmÜÔð¸þÉžæB ƒD©pKå[ÒÅW]!&‰ŽÔx9²?ÛñœFä@9xwÁjÉÌàh° h“­bKfÿ0±Xd2ÿÙÒ[,DÓˆ…w•ÀŠÖÛøÒÖ‹töÍ bjR",ËkM茚déôžd!™}+îʦ^J´Ð í¦² ›uD®•ë¡‚ls-K¿!ßñ¾gUµÿÌ\l†©© 2T O²Lþ>­«QÁ3þôÊêq¦Sõ ˆNcnug^ÃIg‹¦´Å¿ S¾ÒdŒ~»¦µ&rP06-w²µ¼Ãø€/Ÿ±0蘴jz|±]’e|“ì¥A–%8–5`ðW—âcÂ5hdçUƒsYîÐGkert×ÈÅ„—N„¾Ä¡[†QìuÍ–¿r^äßgV?ëà Ö`-X¸ÊD,VBo~ _¡V˜‚>´ Œ .Ýê5¼è•ýËž”:cn©ÕGvg¶ À§kvˆWâ1‘5M>â5ºò9Y½.àœÐ7ùv?èãþŸŠpo H›Eö=êúãQU9Ÿ«!¹BC'Uâ=su\Gÿ¸Gäyl\ž·¥…FŒK×䲨öy/¤Œž¦ž¢†}·‹ÔyòÄH4Ä÷°)CGvýƒ»"H‹i…À=¢ô¾žò±†TYDýÄ*øVÈTšKýã»ÿ­Ýs|ÐnOÃå»f Yú^(]Ã÷õk_ê}I†1¿ì6béØïÉæu0Åí*(ˆHä„6”‡Î_ƒ­Í)Ãb@19ó˜×A×ÂÙ×ÁRpaæÍ\MëP…wwQ®DÀ-f_“eà‹¼g‡Œ8 °Á²áa‡Øòœ¬*Ô,8<¨=’7f ¹!!O¹G·û€éAp­rÈÁD»@ñÆ­¯gÓ“{üÃOÆb¥ ²ã'±¬s½~v: ËÐß”‡–;CsnÍt×»}ûMxQ=/•6$^)®iLvhŠ0ìšÙ÷:Ï< y §¨5©·ã‘S ‚ù=59WJÇH¡ç)•þMES:«ßÍ[å v8¹u:9±8˜×\£Íôbé§G04EL…UˆóŒ Pc)õdsÕp|JS«ÿ.­™Àz-A™@î‚€0õ¯02^FÙöu‰:¨6øã óf$Ù‡¶égð-Bî¨{S\§L»Ü(GD\jF+|¸©O9¨×¸ÀM—œGï€2pS9ø®b]Ô%¯Ð±œœŒã"ÄÈ«D}X„é=„eÙ ^yëMýìHGý™FdAo.&Õ/IeWÏkFIa¶®¢ ^an¢ÜOd iÁÝOÃlA®i&«¸“áÌ1çþ²T‰¢»¥F=Z¬äGä©=qЋ"÷2{âh–‰\hO_þ ‰ÂØñS¡vV6¬tYÐo4ˆd„ÏX¦V;¶Êƒ¹}kÖÔ”þAŸÆÚ¥0<Ò_ƒX 9uùIbL¥,a‰ ][Ü*©ôÖ,IZ–'ÌYe»²Nm TDVŠ–5˜¶¡ ï:mÄŽñÜ6nJJ\‘wª®D2dˆ¡`º!àO^v§?ûGÑÊZû€çv‚:ð…‰ªVòrdH®ºå¯3' ñ "Ÿ(½G`ôŠGYtvû—7À‘ ûŸ¬•|¶Pò{,r!%‡^œœO¡¯šöûmÑìÄÝ%†…÷©øî‹¼R.ì»J’™:ìªt¡2ÎÌóÞW”ðÄ@NÊT‡ÓßE %Äž¼6M "¶ u¬§Ëÿ‡Å"h ÓËHÙ» Ó<ÊTÊYŠ…qDtÅ×{¸Ì³*ˆÉŸ;‡©ƒE£“âõß&8Ž‹¡zêÊ{Ê)Œ}­²TÅ~a%‘ç(Œã®6ñžKBÆI—{Âzò‘´Ÿì§qb¶Úø·ùJ¯.x„HAß8ÃãµÏa ý=Aü V>9F¡ç1õ‡íôL7Cò¸V!{jª #W·ó ‡‘@Í^WOôöDÑ_Ò/­ÇK¾u9µš/ƒõK¾éø¯qÚ Gš@PÌq—I:rÕ‹›Æ:K¹7.r—*‰µ~·±ŠUs³pè£û?©Ò‚LVw5ÆÌ¤M²ûëd)òp¥yÜBÉ(hüÕ==Éî=j|ÏÐRàö,™KŽi©\çq(? ­,3pá &¾O¤žºSž'yô2¤®avÊŽö·ÑÎ챕9ZK"ðB/| X:ýôÌ8IøÊ¡Ò#q¼“!Q ¨wßrBÓ¨{ÈgNuëžPåѧ¢¯à¨3?:´Ž¯½>yõ. œì¸ó‰/Úk“†=ZÊ‘Üù˶倡¨‡m…Ë0íz×-C%3`ø%¥mMéz?ä¡)úËÕZॺ‚nœ0;&­3–á¥Ù{ðöòÅ(|Uëºê|ýÃîN26Ã2£´ÀîSioþQ[ìDÎ K}W?¦Qá(Ó¯Ït8ªÝžušTýBö¿yˆ(guÚªû(ç8Œœ­ X ç71žNÞÂØ Ha¬¦£¢As}Tq5y­Ç ©œRç¥ÓŽ£³‚3Gr›Î•ÒÀ  E©“ç 8¼$eî9/D'$¥òúz“²üÕTµm2DìËBm‚§OùtŽ4;€F“_,}[tÒZùµ.€Ü÷!˜òúÇœ]µÜjl¶ý—ê”âþà¥mÁN.àx¥|ïÙ¾ÁuCr¡÷f–4÷Ue°×:z7þ·š¡lÌ'Õ2†3P_ÂÝ:¢9ÌòE‹nÓ›]Â}–5ûfgO-Ñ +oÏåhÌÆ§}€À¤¿æaŒæñ‹7Œ+¬*tä*ÑTükÂxÎËŽYµmàÈ5|¥Ñ´r\~1±í˜ÎÍÙVª»y ®ù»DÎü#Ôõn_3-%Xv\Öp»Ø4º]“$i˜Ž rƒNrS–t𺶜îÇåªç+ö·Ñ|”öÃ:7Ü‹´=ý'9JÛË>4À·óE§ÎÄ]‘&iÜÄé­ý«û|‰@ò9°ßñ¶»Õï4@>÷ì2¼Ÿ ú½†E[ >½_Ç1cCÔ‹z µÙôLåøŸÈrl¤¥ œAƒ£1ìÿ Ã*Ê¥G}lÞ#y¦*ð@ñP'­(»ª…û‡“‰—u¡§ZU˜µÕû)¯NÀ7<œz´jâ°á@?åOÎÑO]ÝÂôÀ<>‡k6öÛ0ÈÊŠ6†x¿f"Êíü¡ÜÎ÷,c2\9”½K”¹%°€vR;)˜1F›#ûq§0• ýÍšˆÈ5é¤pi~ &åþ× ;~­©#íQ±Ã(îÛM§C‰ Sén^\2*CP'µ)%ö=QêžaOŒG×µmRâÔô>¡ëœ]µhÎ!°{@ø»h¿»=mkÁùSî$ô…+~{ŠÏAµb·/‚Ù酪ñEõVøâÞšƒõÑÖݱm=~²L†ïèGƒgeÕ]Õ§§$ ²åÍãö0¸¶+ùN?*d3UųÂ'í+Š ÐÞ¼»>øzŒ ‹x.Éä«!ľÊ9ªÝŸ¢ˆHØ,R [ÜÄtk±6(sÇÅgë Ù5FÿÚ&ìKª¬Ð8o³-bæi¶zœóÆuªÒUOT? ”7NÔ­v`?ó°¾Cyº»îk@îš8wÎî¥ë·§ä.Ìâ]¦ò{Ó¿µ'‡WæEÞÎ\\9˜Î²wÂ+ú©r#Urù‚J”±©ðÍ·Ö¸Çr º-F4õ¹¼5Ÿ‹UgŌڦ-ޏ/ZëÕ×A]òjá ~bºm",]¸-RÁ? n0ŒämÖu@¥Ú57mð¬6Š>¦÷R¶TœØÑ* ³-ÙqÒ®½L±6eA3Âasñð·½Üwå Éa9e?X´¸({Á­Ft>ùžžUK{ǘ÷Â˯"©/µÁå1Å—’@¡éÒž.Ý¢J+pq8°­Û7ª1T´¼íê7 !ý ìZlŽÞßF¨—àP\h`åkÿ‚[au)‰Ú|jkjÂò] W??[ð¹e¨#Œ¥:7ž2çXž¬©0`…ÌKງnÍg*îÝÔ 74/ÜŠŽAÇBA›-ükăO´‚£hU­¯<ƒeëŽÝ×9Rm"°ëíæÄIh"N]ü3–^/ Óô^´Uœ|‹ÕsˆÛ±qk ”E:µ€òlwæ{L—$ ßJ4ÄÜqÝåîcsÔ;ÁaÿC»,š¸U„;ÞÀ†­Æ–¢ôäBîÂîûô5Íb£œá®Ë™ƒc~*>ÈÕò™/wtmÍ2,ëéSØ B£IA{¿á‰EL1¦îhF–Úu•z>Q`äQ 9TSË“x@bÓ?r‘UÇÌž´üF=Ì ¼&Ãzh2 üõQ¢“Rê ÷µeÄZ+>o7÷HËž‚Ïþý› 1¶÷xý4 öˆâ$9ü pOÜŽ}—4±µû+É+ÅÄÜÎïXeBi©0åçÓ JÖø€ Æ¥Ìü-|KÞgQ@õŸ™D˜Ä5ÔÁnÃ9BÑd€y$5ÍÐ~Bžì°”8m´a×§ÐkÛ‚¤Šëýîä/C£ßÚ\ô˜%—¦×Öñ+Ï/åàq€X£/×@rÐÀÅ•¸ÍØO[¼£ 7b?C†ùà@žÝ£ƒé•ÛRÓÜ>¯r8m©sj +w5yVŸj< O7ŠTöû†šÞÌÖX)4 ¢¦{4Á" Ü²>tuKMB>ßïŽÒ­ŽÇK?yv¿b»qÐdÂþ}Žå4шˆ7XQEqp9 OÕC*šÏDñao¿¸^íìæà×\vwcêfå­Ì¦â9°bW@ŽÝã}¾îoí~WʤŸd *qÇë뉙âH_,´8†“qåžYlz‘SHiQ`A㫸óZ̤yÌ_ÚãåVAgÐ'Ÿ6]k` ð,m1×d$!a Ì.øþ{ÿ÷ª\U˜õã‘ß:6ƒ´,åÌ4 =­lzÛÌ«D…yäQ¢ý—´™Ç¤å5>ŒiAýÑ<^ˆL™È›ýZÔ86k6YŸÂ!Tnœ€ JTªxŠd×u›RÉZwT$»ï­*¬µâ[4’¾¡øÜ.»7‰"q¢/|{™2®áÖKÖz!ãT‰£UH¬‡|­éšÀ•‡D!j ÃUeÀqjC–FÀõ½o[»ñÕ®ýÒ:ûÿ'L€Ö9~G"#ôà ˜Ô´g´ ¸ó ¥Ë¥¬½{ÙÓ>Ç3€d;˪°.…=´WнUe¸IÝž¤WÚââð-RTâÁwå ©ùÕÛ‘f쉰š—Ï8Š»ˆ}LðO¥UJ‹›²ì'ñEð?%2ßHÞ„Ð ±oÿxýdiNæËrŒIü²Ò·žÝya;ó±¾!=gÕ†ÿÓåÜ›-M)˜Gû¬«ÐHçz¨è¢7±ñëÐÝiè9 ÃÈã(²èòˆÙ ·DöÑBYù ɸ/OùâN²”Õv£ÙƒÇ*@æ,j“´]“ûU݈PFAŒtªº²¾ B6ر­Â‚ù ‰7á- œ¿P2ùN£~*«ª â²×Gƒ9+lÀ]¹h3L¤+†»…(ܙ皩»öK««Cß§Š’õ—´1T¢¢U d=œj609à`ðeVDx±4Ÿ‚àÉvˆèptŒèŒã©Ÿ+ì; ÿç{^­Üiêo¨­²GÁÏ×dZÛdîºvz[¢ó”Œöf—eœµÁ#Ó›œÍžË"¥õÕÛy]ÍhÆêàÕ¨Ÿ…´ÿÕJ: §y&p¦Òž Ž«ò7àÈ„€«Ôˆ.aüH#Ô6œ¿eÊßâFˆ¦Öò,Ó݉F¦‰µÉ-.è|·å-†0Iæ»mtWƒŸg»ì|¨<–ŠëÓ›zuò£wqŠÿU9=¼‹‘FÑó²#,§ºˆlžÿ¡uZ†Š’-tþ›¶%_XsøÞÉô"jf?yQüè`Šü&‚@e)Ûòµ çm(²l„C9ËJ ´‚œÊ÷³ß.š×=ílGIW‹vÛ·Òä;tJ̲M“”Ê ª7r Ö¢¹Õ‚ÃøÌcÃ0"5Žn;'õZÊÙ´Ìô ãT”b£.8 §ÉA¾úNðIÇœ¤¨Ô¶ ¿›¥v"RÅ/¤’Mq¸äì‹OD±pžYf`ÏÓ3`¹4ú¯ÕèôÀ}”>WSúÚŸ”™pw5Žõ9.Å·š64ÀÔÖï¨SѨâ#}k’Ï{‡ŽTòéV¿gT}0¶ôN@h²´ÚP-ÔN}ëÖtÂô¸¹pS…‘h‚4ùpØÀPÁÿÓT”f¾v%µË4P:úÅo/’Ý# lÁ}(àX3g·y]å:¼|êCá<ÇáàD$•K' ¶.G4-;œ$ Þ-ÔW„*.p¤©i6\ìHY¨ e)Œ+ cͬ7,Où¶–'ÃÔðhD•ë·¤A•\`p¨¹¤§ŒŠœáŠÎŽÃG¬pl³ ðc€tclÕ¬PÀn~é§@½±¼ ƒ“ÀaþþÈ$ŽóLI ÞÚRà:”H§Ï†ÌêL\j#:ú •C0xã#´ºî”«·CÇß±úQÿëø²î÷bJIÐ,!§!ÈE"ì½^'ò¿Ÿ1CIŸÍ¸£»4夻Tqiã¤øahº¡ÏÊrM9…ÉÑ_X>ÍÖ:²¸ÆTªYxø¸ÐpS²ÉM30¥|û”ûzíçõ´Ô¥Â¨@þ|t©mQîÀj’-þMžÈy†jÒ¬÷ñ Þ­ÖÝ猴D"¤Ñæ+y1‰W5ji§…¹ò«pß„ŒÇ|‡1å¡w+õ¾¦\i2i¯£}AœÏ;Jp9 ÈHqÙ5"8 ç tMP× Öeºåû½Ì¦ßAü¢<9xÙƒ‹uƒüz*¤›|*žE4A Q°ìS¢ä¼…£ÌKñïÍÒª±iƒŽ†ùy•[¶÷oús’¡5í6ˆ+Bg±„”¯¨Æ7€Mߟi¿Œò³ÿD]‚Çù3Ôo§Ïúð»vj4TwÔµÀá | -4Þ£.ÕÉAˆ»wá'eHÖO|zõ®uXX¯bŒÃ ?‘[£0B(¬ª©«ZŸšaƒA£ûðÌïQQ›žvß ¥Æº²Ô0µö×nؤF6gb¥9Ò6ãÓ «j½Q²Û ¶p6M îµXTc'~Éλ8UQÔdNK(Ú_-:¤ÌpçbX©À8Ò”oriBÏ‹ä±L¤—ã*(œÑT†²ÆÉjÎB$ Éþ@²½KSå \¦`-—PÑ)‘kºù› û¬í þG´ëC¬ÉGÓ-Þ2 bÞyÖŒ—é—œŽ €Õ_ûR­ÐfÝE ]‘!ë(# ؽeûä{N¬_³¹@g$r¤¯€¦pçå¾¶^ËQßn5rÂ~ï’ræÀ£¼ïœ„ŸF,;fŸûv›Ê©`_½ÔGJè)®A¾9d˜®Üi¦?n¿ñv!'`‚Žñ7²]¡²c³”/µ£Ñ¥cæB3t7¬)ieîÆXÏ ó(šôýÄø=2þö]Ù–a!¨Yy„•é!éZä[‹iì$w"MDÁ©#fTι|ðiµ`¬±þ$ b•ÓÆFæ†ù›Êâ5·ÎmSÞ½VäŽÈ´ç­”À]O8N/½Ä¡V€Œ•ã-‘J€(<'»]Ç®ÛHôáy¸L1'ÞŸÈ^ZÏU$Ke°;Ýù†uöÇ|Â{«?›’Ó¶/øõ¹ÍÙ"AóÔ!RZ„5ЦóÔ¿€häVÈÀ§zaÙŽ}bÕpña V ô›;Ív¢@ö=(¥#w¤MDm }$.BJhðCš¸ºÝ¿ßûäæ®é_Ei‰ë×â¿!¢‚º Þ³.í7+“FyŽ}’ ŠðTg­B´F@ß9´Éšö ÍÀ7´°síï÷ònøôĽ®µ{HÉbÍM q"s FSæE­4d2³}Ð*f£çèNk2S}°5*â:ïØfüÃ5>>uh'ÅišÁý#G[Hp}¢ Æ×Zè¸ e“É€´G@(Ov,Çà ÏÂÕ´ï:õwôÏðYHéT;˜k@nêŠö-–ØMÊÆ©·'`…ðQ9n}î¿$Å`SWÔáîKÁiBÀÙ¥Ø=ßko´—Pä{ï7x½`¹Â3ÚÈrÆìý&ÜS%½#fOÊ ®ðâWÇ40îU݃¨6ÎêØý•¼¬¿×T¯©zì¤LOÔ }æÏr‘_°œL›±PçÐ$eðã}²`–¾Ÿâ²ÝÒ`>/TX†[·³“½~N]µœžv"LƒXWÙ©¡utAð¾ìé ²¹–~çšKií_#yí„Î@ þ0È®QÔY§îq•±ö°° °SÛEš¨ZÈ1–ð8ÿe+T'!öZ1ö*3 £‘GƒÛÁú ð‘ãb7>fžµ(]Ô}gM?0yÞ“”.¡Ë4DµÿkJtC‰›ÞMZÅäYç£y9͆b½TÌÓÌó¢¤\ö{L(y´šìΫl\ïÝ79&š©Ä6¥ÇÖ b­7^8¾°âIS¡bÈÍm'’4а•©Ø4dJò[ÙÂÌš¹ê_É<Ö²_>£³´u ;vþ£af Ì–-D M˜©QпuÏ=1éÉž·•Ж{caÇD¢ð=¡ý4Ú·HÓô×·èÝTtƒÃÜÚa;o—Ò`½‚@ÆíI„ÏDI’ÌÊ`žOa7à, \è´Œcéñçç›ë^%ÇåΨÿ{lúÑùý†YR=Ççêôwbnè{ºTðÆçÎøm©õ1b—jA Í@Íèêµ~µ]šßt¥=¹é=Ò⪷… ³ù߃o ¥“ŸR‚:“–{ýP–«‰zrðHáûÍá~¯uZ R§²NƒŸG¼îÚ€=Ï[RR­Eþø'ç…˧+¼›âžÂMŒG>8Û7PÓ\zªWMý…½mpóŒ•mø4^ç'|[,]†¦¥HS®Eú(=˜óƒûáß$rÅ\Þ×<ˆ¡5†'¬²ËáOì@}3 ùœëGõ¦ºÞ½~¬€ã gõWì/i@Мï&‡Ÿ5]™Ñ-9÷á×ÑõÁÜ—mîâJ„í…™!| ðÑó/9P¼2 KEÙ™|ý”mÜ@òî 2_~›«¯È÷PµGѺ™òd‡ÕG)ƒy ª­xZÒÕJ’X{PadÁC&Þ ¾ùwú˜“&핹 o WèèdÃ4©|ïÅ=öü­W[m™OF"×êÂHÒÓ‚fšYÐÿ(×°˜Ý¶p û¡oôß–­UåÕLv\+¶Ð"ÑϼDzÊå£Î¤¼fû¶Ø›’U›`U-áØŸéÊ•hÚ÷ô™«óól9ÔÖì&tö5jääáîÊ´„ö™qR.nÒÆÿ¼›ßôînÕL±?¸RnñYÉ?¿@Z» òR/J†¸±$»sVinÿÎ š«8XVâ·eZO@^²®óf`òžWì,Ë+…ï3#eð³Ú”-5ÆIö.ŒÐ8Ø.Ö¾óåX ¸ èüʦÚGø¯Ü²O³áóÈ¢­ÑœYN? Y«Ö‚ËPÚšEãUÏèýroVËøÕºäBÜaïù¶žîYÕîYÜ›ÎnÖ¬ËG]#`I(¯P(´„Mª¯(DÇ2èèݘæÈ`í·ýw££«v…5Šèx@l}KWË"èÞ2hÿ¥ Ȭ„¤ù? ^Q:ÓÑ'Òy¦l(‹¤´å§‰c0=tYáU-˜ýZy­Ê´g§ç)U_‡h‚ hò¹Èóé0dOLòõ±¬ לQ•PbâR Ø(v6ª/ÿº4ß'ÆjóÙâófkïÁÀò2ÂMBË–·Ðï•„¶_~„Ü/{ÂhåÑõë‘Ñ{Iy^F^EB˜¢}Žhã F¤oNÝŸF÷ªÞ;8Û‰ã¬c¯at†ÕK#’ƒé¬™$õø ºlkoôá u¸Ú¼P…0á{ Yh„È“ÈéÎ ^7‚k|*¹÷j~¢ÕtfcJ¾LåòMÜ6ÂsÉ€ÂC¢Áf«aΖoÑcäC•ÙŸîtKJ­¯ =¯~÷RûêU Òö\õñ—jç¥Øá…ĄҺ6‹¸Ž~²Þù…E©U¤6ÔSóÖ³"JŒýs›åp/Ãâ(Öž–±mb•é9< ¡1´– ?€fÖ¥ƒË­q Íüª‘5„-ìeá!„;øAÒèê÷£Ö^YØ‘ÁÙ"ƒRýõøog‹α$ÙíÔ%â±}<æZ”7!Ë¿b2©'ƒzœ$87"¯Íýð»™ÓÀR¥[&n ü'vRðYÚ—sAg # Xéõöèwž^I÷P^t Î4Â+±nÆ% }7${6Ì4¼Dï€yÖv¹¦]3ÞøúÉÅ\šU¶/ìÝWé¹´ZJ °òYæo fJXme€Ð¯4‰{´<Ý©¤ÊOÚ[…s<ú†i¢&ùäòïÅkè´áx6hE…xu~¯czZz†LŒ˜`Û éÛ?Có8?SâCv®P›Mq¨K/6zиHæxêt@ŒÑ^æö5¢+Èn}…ûʯ®õ‚݈LØ¿Ó.*^þ›ûkYϧª Ñ:³äÂ4~0wQ?+|~PîOXÔØÔ¬5Œl_ÀÚJ.ßó´!ëdê|W){鿊 Ó…xïÐ4À ³ö`°†5MBx®R– X¨ªƒxsƒJü;9«âìT]dÁ4Ï8<Ô€ùÓžþ<ª¾3àù⸠½Ñ±½¨Ÿž ÝÏ.o*𘙾W¨Ú­øiÖÛÖ´•ê«Â¾E=Êÿ©ô~F°ŸwÓMt~¢bámWª‡uÛW¸ªmõ,­GVR©C¸áª„˜ ¦I°ÞæšôÌ$ö8¹L²ãSŒ7,p‹§ê%Üaö¢ Å÷Éø;|l×!Õ)Èœ¯ÍŽZR),âUT'é)}Æ/ëùZ;á; Wµ¤vó ýSZ˜=ptȺGꜼ‚%˜FLÈÞð¬šs$(ðv2 .§n‘”Uö¦~®JÿmCWË…5•–YšÃSNZð·Qô¥,|Ùú…Ôn7>Ž"8ð–(,Ô qML輟€}s7è _ÃÍ¢ð¹ù;.h*”Œ17þ9­³5P,°- ߿٤ÑuqÛÄ ° Ì¿\ó÷­Î®*Ì•¨9ÖJo ,´yYÏ2¾in¹·ý:Äñ´Ú â¼Fo ï¦ÑÏ×»k{‡”ù¯º¸ ¢ÄÖçG›ôÓÌNþP› q³d z?Fàâ_À³ë6çÕ‚Ü«"98.fkÁšõÅ2»,ÃÛ—ÑÿI½dý…²†?@_ùÊÂ3Ê?=j,ÁœVC¤òüû\>¶°q‚hŠÆ½°ß”€®°"ž¯’&ð5ê£]ÛÒ?i—|DÆT0jßÙEÑî%O»fü‹­ ±y~²HüV¤ž®Rê3eÔ—QêÓW[Ç“BÑÛÓv ížêD€“ âÏPÚ=@çüŠÐÌö}­°àyR¤DEÄC~AU‡Çc±6°¨,[œZ°HÜÇŒƒ!ß)™qµ¥»¿ÖŸ´ødèì Ž7ï5‘3òQrSíª¡9ß…¿¼·ó…&Ú5!ë'»²ºâ’cÙS?|ÎèZå‹A¸þ½¡ÛgìQµ¶e(Ñ <Ú' «ßL3Ò×O> “SϪÁe˜´l床Òr…þ;E;ã»ØÙÔ¬šf–S¬ñ3"5ÞjÛœ´/rä¿e©ÁÀËæ;#¹m¶¾å1ÿ‹“jHˆE›M&–—ã˜n£5q¹Š{näÀ”¿ýr´e…Þ¨\ÿ¤>õ÷•W;ŽWI/YÖ ëÓÔ¾ßöúô•üõ sÔæþA¯› ×€,bÂÄRõÕOÓ°ãÅíQš0ÛÚC ][J >PóÆíÓA5õá•NôñëB_i6A{ šh³ÎgŸCŒ6‡3?~êì/<žåËõ|ƫٛˆ^¤ÒB«õ¢¥mî ¹2ÂŒ£ÃçŠ'iNÆÕkãNŠãºoH Óv<³ëSó`}¹·lrÄ6—‚z5Þ§è弩;÷GRTÂ*cÈ.kK,t¨ŸH¥#¦à2©Ì£ºÓ~å̧#_Ê Xg´O (‰Ðƒ;ù …ÎÑ9¨£Jý“ÍüC‰æFÊ•¿…ý+ýÅ€¢Î/§ÄìɱñÈš¤MlÛì«H-ó5r÷Mç¶o¡>IfºþŽ˜<ƒ¡©€fD<´÷RÆþ ÏíÐû/ Aýƒû²NýêøáÝñ·–yÚvEŠ¿žYZëé%È@ÖòsË…×F@·ËJ©ÄÆü5 ¬U ¼áÑ(óì‹h¾×÷ Á½©qu¢0gù±±Œz–Z£-ÇÐFý[¥šÙu™ß£ÔÛg%5Ç Ëþº¶—å÷›yÂ[8bð}ç—[ð†‚*k.ð;] L¸ÈQ^¤¯Q ]³ ¹ûf› `hòR¤Z¬á¦"]þb©ëYî ÉûF©W?‡§qVж¥Â“ÿ¥¾¾kuù_ä Ûßf¶bÞðÝÅþ &ŠŸœ/¥Ë¸º£mY^˜©³LÃ:ð¨³æ/Rr*7§Y™é~·ç'á¦îFÕBÐLìÈû¹€Íi Áæ¼6noö/~C©Kò… À¯‚ O% tÖ•ÁU]‡ŠA¶û»Ðp“ó!ÃxDì€P—»û5§Ÿ®¼Û×äoã¿Â×èuõß7ô¿¬˜’‹U3=Ù7v)½wp#-\a†ÐáÐÖ(jË•y‰ùØòY,a4”¼†r¢sΨ»U1'¥ßm¡@¾ì†H­š•­Ö¥ï óø/œêŸ<s™^ë¡Ûƒ°ˆOدƒ/®˜øøÖpÕ:žý’ÔÙ_<~÷®Èœwæb’RÝôÄ9Mb¢R¢Œ%zu÷j¼°_IbKÉ í‰ýFº|^7lf’NЃ«)ö-™À@a{äàÉÒÌžëx^1Èú¯Il•$»ÊíwI<´ «‹X×[Ãê÷;B £ …¡ñRü3´¦©¸¯âøñtv—"÷9 ™.tPdYÖ׎ gt}o1Ó¨àádtô”îë˜O}àâÕÏ2çPѨkêjZh´Û—³õŸ5d]!‡ŽÜ OÈÍC•¼¿«^ ¦sf’¹§°G «x=å¢E6Л@¨+Dí•æ:#‰ò“Or„ж8ðÃá”Ël{°CNó»©~'),‹ÞÂ\aLYÎRáÊcéXxö‡útøÅÖ?ôíÿÒÜúß5ˆÐÅrCöa¯¡á*p]ó¼‹3…!y HdOÄ"QJ ~us ˆFËMÈs ËÕ#&uâõc×\4ÜC.Œ>ÜþìfP52T¯#H'P“‹¾\ý Ì—"”˜£Ð^ËEæL§=•]—–`™0g¡|%¾çWàøÐÇ+1GDÓ~7Ýþ­lx„"ß²’—]°~/⫼KªÍc™gNåÞ™åÍ5;g`1É›Œ0¦?L7éFï8&V$P×Éi fª+‚þõÜÕ%ÈYâ1$æ:ëz ârxÉ´«ôwBО£¦ O-˜É³‚?ªÜšÎR/"\:QhÍ[Z„§˜H V›#®¬äÌ¥*ïŒ!™ÐåÈsÅ1¶º‰0ºéˆØ;x‹³uÁœ[‘Ž ƒ ÿaòχ­jƒvhKA™PcêÎjš{~0Ä%)¤7oSóxUì å…r¿ùešQÒŠCÌ<ÿ%K½W'v­[=>×âPò8û¡‚—v>©aë'±§0Ò Žýìö$gˆâŽ3(ãpzüçàèN-žFY2 Îx– i à!¼p³VÂŽ‹ÃO Ì ±ä¥˜kHÖa•R´(¼¶ÉÇ,rD¹?°‰U¡ˆ£;\œÑ&›´¹“®@úáj«ú>B¯}äYʨ޴´ ¦ËAÉs§*/ÖÌé( *êÃ+;õûÊÂ=;™Ý«¤‰.þJü®Cxf ƒ¢¥%Ìi>q»Úèäx6P«ö֙䒨ýò9Kì6ð¨=æ‹Y»ô3MIs>åŒ Þ«¤óE-ÑZóäÏ$A¼÷wÔdÒn࣠¼Á°*¸°W ‚Øð×ýðÓõæÙ'm33`øËÞîÀ3` ¨\€ëê«€WÑTw„Òqb8gBïrÖÆmQ_õC̵§ÀÅöü†{tªÔnY Òcõo6>V| …ƒ12kCàÞþ;rmž]}Ø(×jÙ!¢³†zsÚ°/]ƒsS {ê®™ /Ÿc±s»··2bò‰®á„Æ6”|=$ýýËÄzÍNîÁÎËzb"sºsyÎCÑn7Ρ?þ_Ù¿õðÉ–¶¥’éÃ@Gúüj(W Yw[X@{ÙÙDz¶ïªÔ%Sœ$qlk­9‘ˆ” -ÿΧû’­8Pÿãe–ÜÂy:ξ`LVœL„zÁÁæ»!­$Ò û]j„yšÙÚçîPf¸×ä’ªÿüA^‹C(ìs%Á!4xì Ö„„o{1#‘Ÿí¯~vs& :¿†ÀN»*÷ -Ô£nNÐð>˜`Äc|‹zá¬j Òai.ã¨EJš_€6òÚ ³¿Ðuv‡ÚŸÀ(PvÚ”‰îSmJíÿÔÄ +Å3cÃôûÃñ%îá®päü«0dr¡Vþõ£æA ü)´¦;ÊWßp¼£ôkýí ùB&<‹$‘`iÙzÓªÞ¼ë‹ÌO4|6hfÿ,Š!+ås†53²2 %¹ÔÝÑS·Ú⢄NΨYN×~Ë$!sPsBW â"¯2›p ~JÒü€ i›ä‰Û é8˜–Ôu÷QPJ Ùå“–åÔ,œZè¼:¡ƒÎ ÿ{ŒŒÛtË(¬õ¸'ÉÖBª‘ ógr9ÊokI'³~¸k™íeÔƒ¤WøÚ:N+JæP¯¨6þç—o×’–_^Õ & «x…ÍA£??7¶¥N×Úæ^ÒûØ ¶¢Y åê³iäšëë¡ìŠj–cfSÈ~Ñõ½¤”üdá$–gR D’ïBSS /Aäö5Èò lJ°â棰©”øoTol(ÊßZ\fë®qT;-þÓS'þÀ%qNi|B³ŸG-Â-6„…7û}ÍÏE”æ˜":™_1V¦úA™î<•p’>€w•»‰nD²³©|jÐìÝ’âÜè ,‰óùíÆ dÕ©ZöPŒúzú$G*®I8eZv̪^Z† +;²súŽ„0hw÷ét—ò›QÄ)R(c~ mõ ¬Ý÷òâN¸8k›y‡+T@-+VÛ<œ®"hoãçší~P}yÑ”½xŸmþ (ö×ù}¹ ü4¬¦”‡ºiÒB×I/>ê;ó.QýCæ;A½G†…„ÎÏfÏñE˘Wò¼V sNí©k¢¤–ïM|‡éœ¯Ä ±ûgöQÇã°u‚2õý0óÞxù¡ò&¤u‡¿ãÔ~GŒ|â÷Õy›cÐl_|Ö ù ÈÒæ"ÇÃvEÉ9OðwTé't»“Ðå½G/4àû¼¿õŠ~-¾¿Ûÿè—ä+°Ë@øc½5öÉrÉsÙãc,k_~%‡·8ù*ý¾Ø¡3©ª­¯mæ06ó¢iÊŒbPp©†w%ÔÒ†—^Zݵ¢}Û2¸àž™õöÅ‘ü¾ä¸ÈOì3NÝ4.ï<áÚHçQ¼÷/HªV5$­ÏF´>:P³þ퇣‘­9÷àG]˜±\„‚nªWqÓXéM×7ï~Å.±c l‰«èÞeà˜r?‡f$Eel¤’ïÑç_ø[¥MÕ2û³( ]bòÐî•dcLwTÖÞvÛ†CSØ.jÒW” ¹Rðsˆß¬H¼‘1zDµCÒ ÇLÈ$?*™eÊQM`Ù›ŒGõù ¦¥6-Jo}qþ½+òñ –›m‘n¶WæY>XÏ×ú 1¨sœÆ„’ñG±kÖâz4Ò+å’µX 6”³?*ö ”´»ŠØp‚¼I){x¹)ãJK¯ï¾:øÂ’ƃ=Ò ´”i G<!8sÌÈÞ•HOöæ@S-ÖÅÍ䃞-Ñ»ls¹AtÏW Ê™Hô$ÅŒßÑ ÅoÖÔ²ì—Gÿi#®Séýi•~LùD^Žý§Õ{b—˘ñy)jfóŽë%{Ñ 7àlû3eA8ËzŸÌíİ&›J;gJË &ÍüZqý-‰®róJ~)?ª&´'cgø/æ5_màÂØN*ŽÁIh´&ûŸ‡TܤÕÇÂ̼3×ÎÇ€+ 2è+d`q.‰ì² Ù|Ä Dùpج;k©‘l‚ÚZ*òäܵ;’s˱!-›(À?ˆ1ƒ¾MÜ&µ]:àõR: V²bÔ¿<Ÿü[° 9}MçUCöò tló²rÙãÅŠ¦?ôRŒ¤E’Aè’1Â)ríÙ‡NÊ/Àª†%_€¥WxüþŽñF¶Råàq”FгœŠöYcØvqX’¯Oåz‡ßÇŸ˜¼»¸dRÀDN Œ@gÁdˆ8#å¨ÓûvF$©µzˆ|‚åcuñÈ?wÍû_‹7HÁ=}6-ÞpxaØÛœ(r 3œ7^Y=øÉCm8ÒÞ_Z½¾êçS.¾õ-vy]þ}‚û–xš‹hHcED8^pÀ† Ûê$aê¡# ¾Ò H¥oÊH uOlP(hÈçD…ÜT5¦¿Ð÷+£›žHúV9Qþs°vsu»ÃIšB>ι‡MŒŒÃäƒä«|5#Â^±°öÅ¢ƒrªõOÉ–_ªÅ¹S# /7_šÒàT{¯äîÃĸ?¹“J5LT €*/\kçÖ›è&Hñ~†-À¡/¹Oê©¢egŸ±„6ÑÁ*0`',¥ZéO;¦Yº¥ùб-hôæ´Ûp9î(ƒ–r”æºh³™ šU.­,\¡=CVÜõ ibI™¤Üñ±¯F¦À>ŠZ?,¢ò Ÿ»Ÿ/¸¨]ÈÈ“\P¼hó”Š|IÓ›Ënå?Ô-¼Ê´ïÙôþjã̈çÊ$-Å.fþâ\ù\2•éÈš|²ÿ­`‹ˆÝþkX;€”Òœj´Ÿ®(hzúŸºÄˆhÕ¯™d0L€šÏ޵¶}Ø4«Ê/>íJÀ+!]·\߸ØîïÀ¸X:Ãð$Dľ“÷XþJ8†.O˜¤ÀZ¨£ß<¹´I61‹>cèV(5ýžj6¬(Å_>±Gù°J»øbN nÈo$DÿTç!#x am]‘វ۰MJÌŒÎtF¹"຿¥=xjSÆ™¬E¯ú› Êúô‡×êí ^¦ÀîÆN€‘þ@cÜ=Ï^œ)Ú†§…1ÜLûäׯB®ÌÁÕÒé}E´™±@¹C0Ín «§Ù/)¸ZE³|÷•²ž+&¹â½:{u,lb$*ŵƒëŒfÍ,¬÷ÝôÑqcR“aE@ai—‚å‰v²ûŠ ßnͯ£R³AEÜôÌNpu‹ÙDò VFaZÃÁþÙ$"³ì<à„ISgš;ßõ£¥¹F£ VÀ}îe3³2g¥¬1½ËÆ~È2%SìÑÔH“¬jöã• Ÿªœà`m-H‚¢´HPqªÕ-D” ò’$˜Šœ˜(P‚ïèÉ&1Êœ ¸KÇ«®ÓßS˜«F“]ÂÜ,Þ6] lAKíž(:0pBõÖc ¤Â;$Å]á¼êv\~0f˧ žß=µtbõÊ®OîÏéÔµ è™ÛHqn‡¾ÕöÚ Îñc|Ð>)¿7ñýâ&“ΟNΊƒŸ9¹»@I +ÒÞe¿dó_~¦ÿŽC*lk®zì´Í¬áµ ͺ¤a¥y^@`[L©„DöµÁ¯/œ7õÌÊØáfö;]ËÉwøÆ0*l~C`>½$,ÿY²ž>}dcŠJŒõÇ ›cO&'êÜ£jD<بÈ-þûñDÜ(Z¾pb ?-âÞ;›Ò":D'Ý'ÝÕsé_¿§´ˆz8¢Á‚5ަߥÕëW+D¶wºóWV=Hû7|¨§˜âÍ"omó°]«“(§-fTC¡c–z,ñÆ|{€tâPcèj8’`Fh¥§\¡eb_:÷êé-ÊŸ%¡:pïžèþ¹àÈÌ%`ÕbdÖ–c±ào”N¡œÛŽ)Fð dcN·ŸÞËM>\ê HH}JR¹XúÜ$£ÊºÄ \À²ðXÊÆ·V¼X ŇÓäx{=X²aÏ@3„ŒÓp  $t±È#©eW~'Ÿöãu°‹„î :–˜– ê<¤ÎËÿÈ¡&ôv C戕릩lo–[Nr‡XU?ëìP0ψvE—ç…ÇœO¤HÞd¨G]»=w4ØÔŠ}Aû°ÊÓ0S‘Op/ÅåŠ7)ÖÞær½o•ë5ö”†Ï;n^Lxb€l{® ö>A»PÑâú¹pá[?Œ‘Q~¯«ØBëqÀˆ‰ôx,_Î’Û­v•Ai1¸ðûè‚'–ôçP¯=­>¢´ „ÍÊ{_oøo¦òÍkšFÎýžÄyɆÅÕÏ‚_™Œ« ‡Üs.‹ÂèŠÌ° ƒ)æ/eßTÙ!4\‡Æ„rãóúfYùw;»¼ÅÓIËÙþ|3´?Í— ..1AØ!ßš È8®EzöÚ«Ú›eY'ŽË7͆gOÃÝù›`2ÊÛYϤ¼N9Z× Õ´l–í†ëiÛ­œœú¬€B´Ê7þ·2«+±<%7´¾B¢ÿ×3ø¶Æ‚nß×% û†Í¸ÜÁ»3Ã8w¡˜…‹ž„ ^·Û۬䅸Œ®F5-¢Ý˜ÇN"MlÍÈ¢çJÐkƒöÜÉysAn–ÅÉ¡ ¯z±=¤¹mó (ä…ÙK:ÇœQÀ±V†îy¡óu±˜YšEü0²ø­H•×ìÑeU‚4¾¿í†ª„ò;ŒŠ™˜ ©Ÿ pwIæžébŸÛúÇû³BX°q£PVKÁ,E`6@|¦4‡§ÓÈÙ†Þ«®(_‘‰´DGDøQ¥$_†×³®¾­A»Ô;CÄÕw6+®Ðò$Þn-ÄZ|—ã¾€©öŸr¹SeÒ‹†oûeãw²Å¾Ø´/§¸n@¶çtrÄýµŒ §•1BÕØÇ=ZªÚ¸Þÿ‚ŒÍI²$hæC¬¡ËÉæ»%·ò*iY”zu[Z Üx§ƒ}@­ÔñÖÆÇW%A·8Sf=êëဋí=B‚¯iôáÛ·=%d¹$á;:]³¼"–av»å§X¶]£‘ÏUT‚„Ù¥Ä_ûdgÁ1ੈ£äæoºá /8Þ Òˆþóý~ 7—° a<*¼4þ]c*ý÷óH”ªÉ*NŒÄG‘kÅá*úÑ¿cD´ÑÀ~|†@°aŽþŸ~/,«YÂþ¼,< *•rD4Œ*bO9¡ ­PjXݘЉÞ¿$Э½•*[TÄ¢§.}æäLz™)²Ôð•R·+B4÷é!ÄÂb(¼6 Ç6?‹âFí \V»ƒëWSfò”$qº&6{ӼĀU—Û*köcVÛ‚ڕ׆UÊ{ñ¦Pc¡Þ,wPŽúâêÊ6\?ÈñF„aðôuþŸ å6^‚hÈúÝñF$$Ã7Æ`A.¹¬w¹”´o¯æ{‘G¼(ÿ˜ Þ˜Z¹ôÚ6Y¿È›¦ÅÛ!ûІNþþ¨Õv¿C5-bîP¨‹Wÿ?|0Á‚ôl b‚(§Å8• ñAVb ‚Î8ùꙊÈ^aÑÐDûD¢ôSÜ7xyÎðµL½aö0½4›io¦bž2§‹ŒŠNõKåÉ3÷í²%ÑF„ö©¾ô™-%”mFÒc-gnW[+l$> Bø¡ÑdâÐÈRÍæÃÑÝü3¤'¯“ànI\Ú5^®C½î1³r’X‡­˜å´Ù0½1x6e‡+2|·þ]øÊ.“œ(b-ííí¤DЉØcjN:·«)?=6¾Z¶‹ Ì.€;>©;/¶›•oÝ> ©'MþÕ€× Ó¸ˆcüÏl7´Ÿ¥ë2Q¯=ÿ[F‡ i—ýMºËåññ>l¯/yîü2©å7´¾þi÷>SçJV ´ZÐs¡iÅøK‘þ3—=ý ý‡Ç’ y¬‘Àô¾!|_+ç~™U]ô2Í Iv3‹Ïðµ¢Å2½Ò>ñüœœ!Uˆ·Bwͪ„î)@ÄBîèJýže‰Ì[šÄ HÀ W¤¸éž±ùu+5ÍG#$Ï.ÊžÆEúP¿„¨’¼Øªuÿ ºÀn䄸ôüZ–wÙÃI."”øÔ+gãWßÊÉðjÔÝÔܬ_ˆŒ†PkršRH…Rc|{KzTüW®ä¢ëoÃD”õEºÃÑwõ>úÓ‘M ‘t2ÑJûg¿k‚úR&(Îr!Â{\è‰tòò½f–ÞÄŽøu}=(wÏÿUgk +¬ æålÂõuŠã”aRU[YÅL×Ï â×Ý+q¸ãÜÉÉÁ“±ïövuDD¿`w¥˜øA{çñX‰CÁy¡Þ_( Ï\ÚÔä]Ƕ€ (†=·{ Õ±3P2ìh¿™“§•ýtPÜìË´ÔˆHVÀöˆÉ[ÄŽÐaO'"RÀñ­¤°I ­ò…$Öû`£Ÿ3¨ðþ*§ÂÓ,¦Úí”;^«\,GÍFÍsV#ÏÁåÔç“þÀru!¾ÜkzpÀôì#±Ù€|úÇ„]ñ©=ñ¹+~Ш5]y u¡gVi,ï$ð Óa¯.wvôÔEWÑeù˜^~Kš~ÅšïEN’ÄYM†vUºùašXÜ¿±5Pæxõš~¦Æé¿}.¤ }àajÌ”ÎZ”Û|»È­`5/Ff•µ†haÔ®*ÂD„¯íT2Dé£å£Ýž ¤@‘À)h(¨¼òÌd ‡=¾L–é>-øÛ"o£¶Ó8[{Bt‡û°‡ý~Û`¶&)A㘠ž‚Cüþ©*=úÙüq'SŠþd0Í Ods‚<-’ž÷¸w7â&„šfŒlNô Y]A LJ„Yikßþ¤ÉÊÈK_k€_ërw;u{„yëófƒáFLè`§Ìæõ?•ÚÕj‡+#±fž ÄÙ®åð+ëð0€n)öÎJ|Ÿì{†N]McÿXÞÑÚ4¿±Ÿ¯_*„of@½¥AÑÍ´iCäb,<̬²êJ’ÁAÅbÅJo©ÅîùQÈ×9u00ß×y=ÈŃ0þ£©hß5gæ‡ýLÓ‰Ùœ@×Oèþs@ ¿Ôa$ þŸ=…o›™M´òäEOþ¼ni¶Š¯P‰{«Ë1·ÉW£1¼~üõw¦“„2C-%î\<©MÉM(5ì=‹™}bèÉ™‘´“&†h¨X&¼uU DÚ“Kü–r«Ž+",Ìj0+2OyÙÈ2üh ÿwîl b×a@07é1… XN ^¹0ì‰;Þ#"Ðhüߦy° º3àpIbhú±ç{f,¹Zj‚(zTÌYfG ÍuM8Xé|T‹`øå€™$ä h9wšs§’|Â}à­•ÎíB3yÉè$ƒû†µ":Ç zÁÞ–&è®aÛ°g¾:¼2»v2P ûd€Æ¿XÄ·4†vœ ;rƒ»4Ôýè •l ‰¼ ]jU»‰'.£lWþîˆôÐäÓ!—¾&d–IzM·îçþVRá6F¸ä.åIÚG.Zé¬ñ‡Ö¥ë$uŸÈö^sˆ#…ÖÒ 8ÿ±´\†ˆhC9èš}uîŽbµ"¯Í— L/;l&g—þOnÐDd³ ã™ýÈñÎeøÇX>vfïçl¸Øº8NëÅ<šÉÒÆÚ¢´Æ¾î­ÓwÑêAÊÙsWŸ/ÐáÆœLÇ›@6â ø2ͬ4·Ì+¬‰ÜåW¾Nà>¡UÇ ™DS$x]¯F„j~yÏdµS"NÝúTŠYŠà‚“ U5þŒLÝ$´ØÜÖ®wÜýΰwúKºÁ7³køƒPÄ.*5ž¸OUš@ßröt¢¸;Vå¦_µu?טeé8Þ˜ƒåw†Ó éé‚ZOI“VĪ˜ˆwndéa ÇÖ]ˆð þ/8?–Ä=}¨R #bø&’’5¤£d¼mrŽ&§Xéà€ äïÎ¥2„ׯ;ùŸÉÇÆ§:¼ºxzÈxþi^ôÆÝ´F¼:.ÄEº !ä"D[MPÎ^Íé43ÿ˜PWБ<Þ"NeŽ*õ#½aë‚â8tu†/GåO|d±ðrÙ8 ¸—î¦H7pFF¶U¾‚uÙoÏ6ÜúmÀŽÁ3Ãe›Äúå„D‰Ð=cMd§Ùßr¢â:ÖŸzng…<ð‡œã~KØ•ÿŽc] _+C,²çø%g‚º¡ ¡É[åÎì2]‹!üÂb‰ ÜM¤ÁŒdÍ'¬[MàSO0[Ð_¾›8ÿÊSÑàêÿ²^O× ±t·¯§Q)›5b¡DµûùOa 4õŒò«áÞ~yô\‚ ˆtj1‡ÔO·¬šÎ¿Ž/h\¬B¯êc™èòô¿=Ç©Œ¬†äéý¹ã•’Z6¶¦ü:㮑7•aö =-ÃaÍ ³¾ºª’Ÿo¶4(=‰Æv¥!QÖÆ"åéoN‰¤…Ö5,F÷Å’q"ö="*Š3`ÊQAƒÛ#¦¤¸R¬—âh±ù„bþ¤‡Ãx.+¼3i5qMNô\ÔàÍeØÁý·{åþ®!(¹ìÕðÇ_c°KtŒsí´{• þ“›þ¢ LÜɘ)å†g¾ó7w3ø‰%.}@<±/¶Ð$N3Žø¼¨Ã‚¥‰ÒÍŸ]Ï•aŠQHó—¾2ÛT²c5¾_j0CíF½AÈš|{gþ-}ù¦’˜¾ŠÏ~¥z‹‘BfÚèºOúD[‡&‹`˜åOM ¦9ùkÜ"§éáC”‘GO0êÃ’I9æÞS}¤*á"v^ûÜö"{¼ZÆ ±Ä/Pô’W­¼ –Á6ÃXïfdGâf^uR¾ûöÙ•&ÅlÙùÕå-3Sé[‹“H9m°Œµº’s:íƒpà$9½L{iXz’œA °¡„rÙµ²Ó̈üÿ»2…”>>r¾‡£Zó<ÖtÍÖÃíÿ–€¢ thˆÜŸ2šcÌÜê”l!½—â¬XEÓf®IÕ|Ù» ÈYÀè}(è5Åž„,7&ž8vÇ;~¦Õ™¼¯üâÈ5é7^Háľ%]Ò Ëƒv_"˜ŠžQx\-°*Ûh4b‰mSÉF½BÀ.¼ç²¬™Ý“O.] ·!ÑÒ¯Všp,æÕ Ìç‡ZVx££4¸ã¤úv¶p¦ñÓ´2ñ†øþ¢‘kFœ,1 µ‹Ä =‰~øª^oµjƒägFk–ák±ðø©ááð\K½½ ¿B óêÕ8?•ò øùQèÆð&Úg¥»gÿé3D„éXŽ"×Jl›Û1¦—äÙ5õ³0hÔ¡5ë$Ïî0.<‚žS«öúKµ£\+€K³‚m¿4¶E¼Úÿ×Vµ\æ Üë˜éV8Ió&±ãž«Ê þãQûày® µk4iµòÓìΖ_M§àoC.××:‡Ó/-œscºJxľãö>VñŸqhøäFÁH¸Êœ .Õã–¤à-ä‹ÌʶÁT…æ jWéP<Ž¯ÂŸ~Óõ+?”âû€DŠÒÒ_Ø\Ã.Å»ŸÔÕâööhÃ"H¾÷çÊ×çsX?¡âdÉætN± A焊w½¥dÓ’žrâ]é–)ª¼tõ½-­­(Ö±ž§k/D^#$ô‘¬¾ÐÀáâ1\kÀ• RQË$×èRu;«gUfu&$‘og2tߎk©‹R¬ÁºxkÇ Þì±ÝÎÁ%× L.u ;nV—@˜ >?œ tç0ý:pÞ¶¶â]Œâ‹uÚ™\^5"H0BÒòrˆ¡]JŠá¢KÔ­0¶…Y`”ìð P;œàýQf†áU·:á˜B=2||? xç.Øîå®õÍ¡Ú"% åO?LôMQ^JÕUÜkªÀ]W9§]«Þ³Ûúx×éÁýÙÊãC8“÷®,¿mØ€"ðoÉ£PÊA²`˜Cí6궸 ›FÜDšöT®Ðwe7…Ò¡ð€hÍ«g+üK[w¡pw´óÈýšœHW<1¹áZŽ^¨#׉33:àyÎvÝN¯”<ÈG` Ôû›ðø‘Å[Єü­¹-RG)»œ|–àƒÙ¬RGÂ-×tX• _“í'yZ¹*\h— PC+²º…•.ÑF‘v'PØ€«ª¹JÉ÷Mx¢…LÉßÓëTÒ-–ä# ¡qÕ!zã:-kR¬ÅÛOKå"÷[“À6Ò€ÞÞ1£9d6¨¨Xó¬<2Шè@õÄqóìóI´ê­1éE1ô¹µ?k/Ú;(Â9µd6òK€3|a~–\Ç [OÂÇu ÛGVÍ4I`„Qÿtã’c‹jñzQõÐZ8”DV x›1`¨|ÂåœsuVÅ1‡ÁKŸòÜdlœ oÙ‚)U¿©„JV:xz€oq„g }ö¹+H0¥P•9%½û„v å,Ááaj›!à àb=ÖÓFìÁž¿f ~F:óž‚@^„9H)³[W|ó¹È®¯§=¼ ä¨4DÓìPèÓi¯ù‰V%mž…Ü}Ÿ3ºGéLoÅ+;{ò©ËvA~rO¸«À,E¨F>ó+.y›w™k–òŒ–‡n“ÉÎÖ<4H¬Ðjè.PG ,“èTñ-1ªhLA&]D‘²;ªÁ–3óÿŠyUùT_ÒÈÇåÐþ©Øõ#A‹XYõ4ÒÙ|6Ä~ªv㕇¸&˜ÇÅÜç£êÚë m}¼zu0pÇœp@OT‘IÔx6€hý™össø•(Ë*¥ QkWî ÷¯„ø!YZyši ܺ‹ÐxÞ›ÁfÏO•ÅZÀI—[à0^EfOb_— ê„’|ÇÙÈ S¿bðÅíªu õoåTؽƒ;©¹%³Çõuº‹+W;É*\"ÐsîŸIÁvø‘Ö<éÊô‘Š…‚ù¨MF926ø?»UQžß8/ÙÀ,1`J-ÍyuÎÝ{#”ÖCxÉo×h[Oêk ‘âá@娥ð4+£uº»ù§M†Œì Äpaëȯõû¾Ú2«m˜u‚k ÐÀóÑŠpl˜6Ö¿+Z1Ä_TÌðÖÅ¢"°v7ÿËt-¢R ìÀja„.hŸ$O™ß<žX€U̘1<óÙ1”ïW©ÚŠ'Þ¦&£ŒËz•Tëœ}È:Ø3-kR²÷ÒK½„¼utçøË„´o1WÀÖ=ËR9´+0=í“`®0£Py°W~0¬Å£€€‹!ýÂ+¹uî}"¡p' ¡„˵‡IÞó¿Oþ1cø³×±/èNÝóZ ‘m£z¯Nê<³ƒË ãþ³5€á)žî)—й’Û*¢>&،ЫÛ, ÇQPÊû¼©ìX^ê&­$ šà‹ÉGáœ_ÓhãVÃ+6(Ê›ÛC$$Óö*Ê1(%3kÄàgëòÝÕ"Ù“'»vPÜg·AçàÀõÖC‘×°êD3$˜$ào§<ÜŸRÀ®¤éÌ´Ëþ•U­n¡»¤é}¯ŽMˆ¶TíÖ«4A<>ž‡VõÌ=3pHôß Zð…õÊqhÖ‚ïõåø‡ä•Ú;¡Á6Ù[#Y¯:™yÈ`ÚS®’hØü®ë1—.\! 2æmÿÁ…€Ã8#Rqxl§9‰;VŒTß ¯¬œËÚ4)¦Ô¦¡µwWëïÕǽ‚Â%û‰w8Á攈q‡`»Ö˜0¥ìajžÙдRÜ*9º+ ‰AÎ'þ7R8et*ðB‰·Ú»ý|áP¾|´”èxGY® ¡²C'³ñÁäÏÿ'VEÐ ÿhWÞz†t’`ˆ’ñOrr,ÏB0Û¾¨*ñǪäqÜ¿|jð@RÝ Û¹ýá Ö)säùcB¯F扆+3íÊz³¦0iM½hÿŸ°)ÒÛúÐ Ú#r¥W7‡#+üïÖ3F8‰eitñÒ¡´<’ŒÚé|g˜H§…:&^'ˆ"vš 6+~ ó½¬1}Ï€B¨µÉàG» ˜ý²®¬nÌ×ö¼)¨ã@P0S…t ï›µÃMFƒ—{Ö£0{IµaYƒ0·£,ýï¬ù$îæ‹xÈã. åYóS.+úN³-PÛÝ"þL—¤Ý4rÚR”øËïhœQX P‡×ØØÍt,×¼ê?pÔ¾õ¯”ÍVMÝŒ³ÃÖÁ¾ü¢œå¨{ŽgJÑî7©¦îgÃDL[I0»™…»¹1›Îª{v©kZ¬ZoMËå„'£»žT뺮Ió« Ñ:0ôE\¸¢º²îŒ¶™œæ%dW?Ï&‘¦PûA’ÜØz`-UcK¢é&»?Xû e8 õÔÑDñÄñ–k·4p,¢c¶·šªÆ…±i…ûÊšL µÇhÔ!ÞпÒ8d[æ}žû õ2ÆwÂ>ëVø7ÖvæDÍÙOL‰Y›û¦¢¿|Ì÷Á8@ª{ö*F¹à¶³„å9ü5Ù¦\•*±l\áUÈ¥fOÁÂLäL3ˆwàjfž‹SÃñ(SA"ôű¹‚SaB }™ÃM‘Wîô °>ˆ»—&ÿıQ9!Îz‘·i!ã¾ÇsÆÓïw¹&DâH"ÕþðýÔ–p§ ik¢Ëù ø™íêðø0‚'ºù’ÙÆ§Ë4ÛWVéýqŠ\ÖgÔçë4☒Ç]^DÀbU9žêü§ëÐ %ï#Í/ f]dÁGçÒ1ÀV¡;_*‘)¥˜¡Àg.èÏ\¿0o‘žë„à\¦ þ:ÜËbѰÈþ­ž><:‚ ö0„rT'ì&=Ô"ÃjµìåîDœ·>'3AûuºM^Í(æØjý×?ÂÌ-ýÄYñ$SC’"W.ÓëÁöÆ5Ü~½O]ìv ²¨l?1»„kS@;Ò0³_èñE5ðñ4@5‹Ùàâ àÜY%Ýù¹A#Qk‘•Qlgþ§£²H+ûU}-ÇŠýè{q’Hò§Â$ÿm¾¢C8«”<˜¤AÕa ÓC³ÒߎHk,á”ç@†¤ãÈCöÔ°"4«ƒwßu{޽»½å`ŒÍaƒ×ÈϹö½Ö­¿ç˜Þ-ê'—Ìju#LV¡.X(gD¯‚Jû0•N˜w ®¬OÈ\ηœ¡¢©ÈZeÈÍ͵XÖ}óÖTÝ€>\Â}>z°¾PÒgYŸûWD¥t);+rN9aKQ;•r¨ý‹!ö —š™ †LEwËS˜ðÞêX'C|=gbEA´ÕmAT'ß ÕŒÀ9å¦üøŽ]üß7ãfîNÛ;~™q…‰Û¯Êtÿ@$çé³¼[ )¦¬¼VÇ®! °R–[ÜðG^˜eÝ üÔ¬ AâU Á6$£¾oûc9Äå#í[çúI¦H)oFä)µºŒÑÒ  º¤MSáÅK]žV.åúŸ‘¨¢íǩݘ:Ü®áÔŒûK’Ì' ×hI1§Sê¹9³Fý9æ>ç YˆYvÎ/XÐn1w3£ÎF¼ôeÿíDß}\ øöðŠC­k Á*©äƒÐ|Û|L~éúL%Ä´×ã*ú¢ÍÑÒ%í-œàg3Œ“©R‡¶—“ÔÒ%E ü“¤g­SœŒ aFWÖnÊöÐñSTËú(œŠƬ~†$ŒÆ˜!f&ƒ ¼Wmˆ¢ÅB$•ÞSSɵ„GdyÙØ#‰}ŸøÐï”Ûš¼ÿ`1éO}PÛQsØ<_Þ²¯O晿È"WïûCÿ+ ˜9iµseiEK#;2Oôvò2”r*‡ihN'ÍýÙ6'÷Æ^Clh„^Žkëúv$¡¨Ôˇ³Žg˱FðHõd¿ó±³:âc%žOÈvæŸ&•v髃 ÃÊDø.Ì0ì#ÏøjÁ#ÖÑ×–[uëɉ¶ÿ„60¥`èØ„•Þ~\àl=ƒûM‘·ùƒÎjÒ¥à½ëNó’ËÝ8û˜HŠ.ð¨JÕ€opX D¥'æäy˜×ZòNب9ÏFûkÝ“±àºu{Ýé´4eOÀGÅ %2Y/µÖÞ®£ªyE¡°ú¥vGPˆˆJAÑ hÙ‰v¸¿ðß &¥tç·[Æ{`~?Ð.¥ö”f»ðú=áÛÙ^š¨YrÉíÈæM ¬¨fLE“"OŸŽô †0é.T]Je¾ £d^¼OäSNšÓxzó$­ép¤Ø«PÍã¾µÅEÊ—rfö¨4 i¤æÁ±DñLKpxéi\j·ˆgÉ“Í.§ [ öêÂICxÊ6¢ / ý˜Ü,ßœwi®r“ÙUÃ_AÖ+ë:ÙzôžíVÍ: k§ÛWõŒLs4°Ç^}ÔâÃ_ _˜ÄRÍš©O’_­%u£l<&œ®Q³€cη•[°³¼Ñ”“žYCAMÊ)J–\ç…ð~TP®Û°Ž¶þVZÎs¯£ÙŽä¤jS(œ#’Œ-Ä—ó¶ÝýeÇîL#äã4.TøPqQµJÿ³ aq€`=¥«¿¬W|6“_µôÃ,| {‡N»ré”ú,ŘÍ%§ééK.’£ªÈZ@Ø*rÄÍ0ôûS\⯂Zê™QA3VžHg× ƒFeà|XmAE[gÉYu¥9·@,½)“ÜfÀ~AáÐå~£ÂÊ<¨y«Åu)Áp«Ú“'.Œ–C6|U£‚,¿MQ܈6÷]©NÎAzü¥w}v.Ž_h ¬|¿ú>*á5³½›ùg¨ÁÈÒ·+· ÉÞ|c4W£¿6>h’‘ÑØ!æÏ‡:7'žªÊ§Ñù0.©¾Ôµà‰[ËùJ7`¬¦R–cЙ Zð™JE´cИú™Ûд!ß%¢ÐgSN)ÆÜeù,˜1=àþíT_Ò4’ #ÉÈLOjê´—Vktöt+Ú‰ zÏÖŒëAêŸ9º]xõ9ý'ÏWµ{$¢ 7Óù;•´®Âkc[™êüà$ËHo 8ׯ¬ôÓ›ÀѺÐtC´«ú­ç¦³Ì¯Õßó¸ùŒíA€TˆÒ„+,%ù0d¼ Ä1¯ß+DOßï¥iü-=#‡¦;Úƒ7.ÿÞ¬ÁµO¾l"=»” “>—Ó)ý}PÍÇRï5Ф¦_ä9eü’ Í\á”^ÿ©êløj™Ø\Û¥S”'²‚Àî’®½>K¥WGÎa2]| 'þ:Ž˜@'뎽g‰Î%Wît¯]•u¤þuærmé‚õ3—‘ñ«Ä©62ú‹ÄCóp¸oñƒ7ü¨Ú&›£žar€B„¶«c•lÎoªPÈdÚ½@v úÁÿ¿ùcèsr‡Övšï»Qey\¶ÂµJ²ÔUÒ ÃVøq¯aO×ES  õο3º¹² ¸slŸ9MÔiÇ$÷­†ðÛÃñ5¿liçžžÙ-ˆ›àô˜`x‘ÉÿÛr3Ÿ¿½V@?Å£òuº¾ƒg‘RZyZSµ»:Ñ+Ìv¼ã»Ž›¤ù7„¬à0..rIHé…âTÆü:U’и>›”½TT¦¹DøC0>ö½Ó’î÷¢É¿‹ƒþ´é§»;l+ •ØÝžœ¯P'SÒD¥æ7§DÎ{(ŽHn’RÎg˜«÷`šÜ›§8ña~Nñ ÒØ#§ÂÀ6aðâ€Vu|Èíz †ppýÓ¾ uÚJËæá½·1’x‰…§Ncpµ†!°>CM»ãSïƒp2àU{xß2S`·‚ ”ðÕ¸L;¤9ô… —¹¨"|‹ ç•ôñj—Â>⪔¹©Û•Hc¥iTáA•úû?†‚FÞÚ Tcݪãlê#1ãÉQ°[ý§ 24‰¥÷Ì7Ý4D:Z{³Ct P¨¾Ýl‡ÃáPlåbðÚšXE±—ŽAQÒü™F*°1Qšô´Ô ì÷g‚±dÑÿ-/ã˜& ýtCÊ–i_2üc,7ˆ×ÉDˆMõ²²Ž]+¢5’,FoÁ4*ÉKhÔ{’7ž¡=üH~î \ýÛ„˜ÃNöøÕ,× ÀIWñk®Ö `OTRë?CëíG7Dåz]ƒC¶ÐméHàhƒCNmð\ûY_æÊt‘`0ýþ¢&G¾)Ç ¹‘,Jý„eœyÿ‹sÏ:šÊ€XE|éAûA!ü>»À÷È__‰ßÊ?ȯ]’„5„ øA:Ôäê#‰ÁÅy,ÞÛaR·}ae—ÄxNȶ‘c)Vgè x²¡Nœ©h@mm?25‚äÍ…{½6;‹ÐÛ>Ü ¡ä®»ïB|%C¯J ôFNÑÊ2Š|lC€£Úà›–x`ìux\ýÎy¼b ë µK—¦ÝŠ÷TŽC {Y> X·d£rÛàØí¿& šYÑk"IÃ:$Oôpá0À=@÷¼‘gf͌ޮĿp Ø.í—¥`\¶ 4ÿßó Ñž>TÌ›ö3‰P ²¯ª˜An«Î.O<Ú»ñ©šÓf;¦=w DŠ6ªÐPß$ŽŽwºd 7³Ÿ =¼ÏRØ©˜~W¶NæK}éZ f :-_$Îu§t}Ïmå8[O­1ìOêÀ’ EÑì4pHL$Ì×a¦„uÇG‘šÊ¡šWÿä»(}ãBJ0çdò¦\ƒcÖíʰíVÎþ”;‚T"§\{“Û ¢øðò«F¨Án7ò¸ÇÐ ^5ïk2®—Ëc/>ã7éËg]‰°çâ}ÿb'ë±ðÀyN hâ7g4¡±—®²DÖøºçWÚ© ó—Û(#Þ¼]ÎiS÷½ºüÔ"—´¬p›ù!˜Ì;ØQªÉ骑¬ÀýšÀ˜4«œ ˆb‰úF‹{4žÙ“ððº>ÕߨÑÞׯ6íM 3Èÿ3ëâ59íšÛ`LÇ錄}$¶Ê dÑI÷ey«é…Ç…m­poÐA™M*_µÝG‘'/^ώ̸sE îÃ̺e‚?ËßÜ7²poÁÖOâKŠ fÅjyFÍwz0£28Ž"<³V˜ê"àô:©XD%ë”éKh©Yqæ÷Y¥þBœy³av(Øe(ÓT†hxl39K£Xä7¨l±ðÇGï)'Z!jjƒ%î!N¶-Þ°JËèù@5-(þgߊ5çT_xäìÜð¥÷I\z?i Yh]†PÇèöZîÆ1`…rJ"/›9u}ѾóÉt0'Ð`k‹ÉÀ. ¬}+²Ó4°™Âžì\m ·1üuµ^RÀ÷‘iD“ÜXJ¥Årü"ä׬‘^HL°÷E$v¨‚ÒýÀ÷¿|(€¥bäA2ܪ¼¦îâÀï#Ý|ŠŸœÜzÔÄ…â’¯ <³%è,š#Ã:ïq—¢>’zOA™„xuzÜÕAàRd)ÁÒ¯à\•·ºáÀû³}?¬¥'²í¿ÈúV×2Æ/î´ÝóÊkODÐÃŽàì'N§fìÃ,Ö£tQ¥æ.IR].`0÷ý¸hS“áò0õzwÇQ“^›µTYd7)Õ=_»á«2á<Î×sL´£#¡Õt·ßÆ™è`ÅêÀ$MRß'•*zJ@AØýtË,œœÓ¤•„Œ~]üØŽE.ü$!-ó}>°Vøgcu\N…—ÜkôG‹(¹Ö;6êˆ2::x§XM¶*ŠQ‘J9œ`†_–ýÝãN1;uZÇ+ǃo€Ž½¬Œ`Ô©Xÿ‡Šô¤Ìpp‚ËŒKÒÎ@È.ˆ ²*,nއP”7X1[èkº>àڃ๑ Ÿ—"Ãêfš<©ï(ÓÂeL 9?Ôâ7 »•¤-êµ_X3½ä×IJaws©æ }µ |àÞª2¿o¡RTÝk´Œºýþ>­Žî$ªU×-y·¿¹IÞwg Z•a²^17»O¸Ë‚ø£¹á¯+\Ó:.\á¾#1&v—â:Äšÿ j˜¸Ÿ¶ò7ON²W¦²+©°þoœ63K§7GZÌ¡H l †C‘ps‡m›„ÉÃ$,¯ ÝWx”5âÅPßúÉõ>dmÓka§®Åwí)è]>霟îÙáY(Îâ·äI!åø!`e¤ñ>=˜XboÖ=¼-¯*¹š2€pU&d-D¼I´aË+Áþ*NÇç¶ = eß¶oúôcl A¨ÂÊij؉겱©^͹jñé<Ù)äþ«ö RËà…ýNáð0â iºŒ+-Áf }Ì Jù˜ÞáXœ*Æ—íx#UßuÑ8Uº¦z¢PÈüXO@Û'ÕkªK`öÎOƒ3ó†õ0ûêUY»'¸x¬d¥@=ˆôp¢¾Ç{MQÛØÏ  t{…- «2ÞH¸óëKe|< ÿ åÚj¹š ·7‰“¹‘âM§ñ0c¹~®œ½ñðñ hK¡>¬Ñq©ÅåJ7ÿñ¾?ëˆw眂¥o'ùÙ&yòHå 0]ÎßméåöqìHƒ§–ç@O_â÷ù±0^ê&Ø1î©n¦ƒêEqà\.^i€'ä`¦›ã}ßâ­Î`#ÁÍ‚0Wܲ"z´âyc©h'æÆ oœ_ˆºù¦ÁN5x¼£8¦pV£§­¸tei‘ǯãÎÜzÔp>û:²ð2ù¾}ôºÓ‘°Þ“þëèu)wÃ@”ܹ.ûe“™Žt}ÁMy Vq‡â—ÙS¨%zÊûa=-¢·ø¦‰‚ûÙpûsƒl*Ä݈0VÀùú ù°,õÚ Úff]ë|nx9½S¤^a!,ɨÅ}»h+Ïäuy=^õ¨MaOÙÊ bJ­ÔF*BÊö÷T§’–ˆ…/œ| ×þ‹ojgZé‹6Ž·íŽÎ<ÆÀ[èË%ìÒë¼2Ü Xd¸çFVºQ±¥Æ›=³|/ÌÏ8ÊÉër¨f–xÄõµc¦½€©:C!³T 8Ãù[·k³ê#ºkþÊ?Ú^ÿ^9Í7˜™œµÑg ì¤LéTN”¤¦ˆå:Ÿä³§–ÿfIžà1J7‡9þ©-X‘YÄT]ßÝVø kUàAYËÙ«\ï$H<׫Úøm‰ŽF¨¶` ­Ô÷gw®âxêÜx'Ö‹«¯A'Õ‡à+â¡VîÛkÚÂOiîáæÎ~i,Hœ èÆ‹T;t:ÎbšÒäü§l½vò%{zSM÷öJ‘u…òuTµö·,á SöoTÄó2–,¸ ²/ ÄCݪ…”‘-ÔkÀY–R!íåV _£šXìCè…š¥é-U t ®ŸGszL&Â4 ÞÕöÈ! ¬FX­Üw£Æâîd»ØÚ%ø^ÖR«æáÛG/¤† éŽÈO+øˆoÙq¬`¿¨­õÿc±ýS çx±W²'èZs¨ìÐiºÅ5)¨hé»Sèt›æ4!Ä`öô ÄŠ%+®Q}õÝÅÌÑ["[ê2m7Ó@þýu g„# Ì$¤ÀÈÑŽ]~€)&ò­ Ø¢Q#Njµ¹“…‰E¨¬UoMÛñò­›j‰™9m­¸ë‚Ž5ÝpqXÓ¾@ÄèéŸÑå˜ÜJ‰Áyû<Ë„³§÷k!ça¯ˆÕSC-í•C]¢ý®Þ³aºB0Ò‰e®Ùeô¬ø¿¢¨ºÛ3¯ª Ò_ïñÕþ¥ó4¼@¼! ÒÊѪ¢úyéj&ì|þäžP/mÌ¡=.é犲’0ÆM úCÓ`G8ODF>T¤˜[· Œ/ƒGèàïäC :ÙV宥9%³µ”­gQ#Ù"ŽCÇêFcÒ¯?.}vòÁH‰9WÉ´%èõMÆed8›¼µ ãÁµE€D}6Íh—‰'ÍåÃ×,jB‚º6ëÆbëm™I.–5ì%¦P’þvÔäÞ9K¤Ø·÷¯×SþQ»»}¤È2ÇOˆ?¨ÄPk›­Ê6Ók,§™YŽç†wÍ;©PˆkôÀUǧÞA»$àÄ-Yò‘5¤> .žÉÇHM˜XcÍòÏÀ¦= 6$Š{è=  OÙ‹x¹iÁlœó6´z54kB‚º»+ ­Ñ;lݨاOë^e”ư¾Å”qüöêŠ#3àòGG«RÑpsÀg·MÛfÅ2·yä)Lp(-Ñq£µ8í@¶‚”œÛy4¾§û.æíÎ%¨š1Pí‚?NŽ®·>•ÇYAÚác±òð±C¹ëL—h }ZAIf” mÉêU#—YbÞB—ÙפÉIøÚÇ:A¯½8þ“ÕÊ)ŠýCÖ·/Ã’9q¦-ÎŽ/¨Àù¹Ä“×¼»ƒL|›r,‡ñNXçû¯PŒQºWĸNÇÎb~¹å²`QƒˆþKoº¼âF"qp+p™‰êѤ!F1>ú -¢>ZrZÉ$ DÆ›DI¹¢N”‰2‚'6õÿ5O—µ\†øŒ˜útØ®kÏØ âJ~Ñö¡—ç,ãÁÅwɱj@ÑF¼YOòÕšI©lH'cóå¹aÃómܹ-°Å,ó”kõë ö÷ Á^„@ëâ3?Ÿ„ýCÞ^3ø/]N¦¶Ø'Åa™ O8?f1‡ôyÃñÑ i'ÓRJê~zbƒòËœ4ø]ÉÝ–‹îf/è®íŒõ •ö±»ÀÕAPZžÛ¼‹€íÆW·~Cœ5H]hÛö™³äìz³”çö""‰}¢(?x{±I@ùZ!M+“ë®QED¬[ó@ñlÔ“¶¡rÖW‰ŠeÌr´$à DM—’ Jèji‚ÑX…‚÷†ÁÉ)_d•‰Jš± Ü~¶Z>õ†«WõLÐ2”Ú‹¹&Ér.þ{‘µ¡O¾?‡‹o±›Œô4i1Ž ×H†ûhî “Î @gJ6Êz{_ž+ÉcÀ ”6ÏÇuû¦ÒŸaãÍ[£ö¿ŸŽ„‚ïþrÒ¹10RŠÝµIúIu< ‹ Ù¶zb©ýõ×oAɼs[5³æÍà1¨ m,_Û±÷tn–^xÈý`$óRNP­þý/€ØÖ+¯9J!~Wr´¹¬4ò[÷)y—!"<¸<ÅP œeªÑwgàÙ‘X~’Ô]Ãý‹.* 7lwþ/*P>ßÃ(wÀQ:Àšz¾¯·Q9±_³¿×$¤~Ê]F?~+ªªÕ ¬<9瘶Z±DÂñ’G {ÖþB}LÀw[ó6 r±¬ÁÝÕ>'úP…/g¯Aÿíi¿£Öó/ø7˜:ÔÕ;?Nrûø[¦íBS†.F`\óû~ëÚºýÄÚ?]„ùõv–æÙß÷E‡£[¬âÌôÕc*>^‹Ö¤É—"xýv†;o-¥ƒð’_\1ÎBt=4ì`õ[æÅ¸×uò'Û@KjX†w{Ƶ0h…v†Ä­À¢—T¸¶Lœ~ŒÅ* Ðc34vßF*E¥ÆB2 $µxçv`T k®_ôÔí]ÁÌÕþ‹s\r=¨ÄÈçZÑ•¯ÞäqEOºžªT)Ç_½¶Ñ¿™±a&ÓÿŸƒô‰çcêϵ¬ù¿,JÓU7uîëc*Y´Ç( ‚yJÅ fÅ1÷/çZË+%C> »‰NåÞÐ)\á¾ÆÊ¿…{=¸)ö×%)4ü¼™¦–Íîd`·ªh8Î zÛQe1m[Hhp]2¡øùú©Fföáád[Å” èT¡¥ŸFœÔÚÏ_d‡šEÄÌoWõÍ!,±ÔñZþÚÆƒ·æ¦óÁ­hµ|;OÿäX¯néƒ71t£v–á1“\Ëʶ»aÒ‰Tdu>ZËóm¿‹ç¸þL¡Å^üãxøF1K—F;¹,$ÇÚÝv÷ †Ýîw”–ˆÙÊI}¤¡‚òÐñéÑ"\Çèe¤#¢ÈUoÆCÜ·‚òO°\Œ=‡É%¼4ó‡‚9£,ÇR¤. Fã/ëäyáí%-ÐöJP¶š†€Gï`/B X%7áë[XaãSj†È•±ƒ»çÀ/Qõ;8±?¾Bäù¦«ô ÌáQÁ÷gDùw¿¶MQ`ëé€ÙVà‡Oy‰ÀxŒ³æÅ»ñÁÚ/í6f'Öî$/GÎÓÑý©ç+ð“Kœ7ñ÷©G®u\®gTÜY%Mšvñêá½¾/óºyª =\´­ïgUÝùôÉ/Æ8ÃT/¦`ùG³*=;n¡_BÚPAhßtŒ9Y¤iÉÌd ¥Y·&H9 úÞôãÒLí”wĈ©·šš†b7Un9ª ˆxUºŠL–/ót}IÈ—w¶b,i‹rÀ;Q€Ç±DRx¶é1³4¦Ëûc7Î]“a+µÖ²óÌ :)-àC“hã«Qgêf—Tê:jÀÌPW€S‘M½ãË »dGU{O²?6LLòþ_JH¥fKÉF´b.ŠjëpÕ?ð‚e{AÄ„Yd¶ld'¼Â•(e;³_º¶øPϳ„·T‘iz{â*Î}ÅY½·Pƈ«¦o>°˜ä¨³ØWú¢1ºöÁ' 6Cv+Ö©Ñ-ޤ¶z›Bé<áäCyõšO,O%Ú=' ?z*|ïP-~±•{nÕ$T£›’IŽÎûºɉ”J`fèò»`Ø@ý…SGûÂû¶<¦\¬5Ý«9Q†ô œäN3‹Q À&sjæÀŒ(p„€“1W»5CHºJC¤U ˆK™¿c2nïˆ Ìíl©àŒD jjnÌþü¡KT$ßuÝî‰ûN±r»‚Û0cbQ-~ⱦ»¢1sÄ1¾MÞË—€Òv)ƒqøS6Š;«`‘x1{l¢àF4%Æà?çÌô,.‡"JÖ ST¬›a— LfjG‹kÅÎÒVÄßåy9FîÙÂËV¢æõJ¸M`Róçëž}p}%?+Å–4xøCæèÌ=ÈU~lÏé>mÛØoâ¶ÞÞäLø›hæ Á¯ÜljO¥ÃF²4»D5¡7éw™‹m#8÷Š«÷kÎàÇ6Œ>QÌL(4Ž+¡Mµ“)‘´g31ºÏÔ@få„’ñź'ÕZ Dšª é({ù<$®vs˜ Ò´½Ðfd-ÜrBŸÙR²C5Ý1~q¸ííþÚ³:HQ¥óõÏ®Êch.Å ßô"©É1F¾“ËÐO_DV)öivaüêæ‚XÃbkùVÉë3¸~s:â7Ñ7 #ùÔɶ¶›æË­]çtŸÿÒø&^Ÿ'—á?Öü¤þÿl·¼ÛµYÇWò`?B!ÿö-÷) òºà›†±‘…vÂzvsżFÓ_Ó$9IñܵIO+L%î 6‘4‡ôë·òææ¹¦fnX"­BÅ–êi’ùRgs÷ )¢LÐäHî5›ÛSUDg’üï½9÷.$NÖ_\Ü“ç²j­R©”ä=ïÐÜÀÎE•k,ûÍ,íNš+8“«þò‡uê\^œ›òU+®âFYeT: €3³ã5CÂÒRõqQôœký3Àˆ¡!QJÿ9×ñ™ôw¸{OgZ~ÉÀ9Mïß½^-íçÄN'7Œ] ¬U’+ºÝÂè5¢Òáj]ò®;c¨W\XKö‡ÄȽMeˆ›VŠØ"„×>üA궪 %Äk/õ†U@³Ü?ײµqx„MæÑzI5ú:Q…ûã“ ¶åm›MÉÞŽYcš›Þ< Š`QŽã*ü¬þæÔç«K×{ËÀEµ¢ÌW€±¥/3¶c˜>\uû-_†Òú%\1?ÉÇs b4ùYÃ2Bjõ'¤]0 :Ë]=q\»ø‘ßlJÕª@àWL4Ô‹6¶“r¦¨^çD ›ž q~?ÛÕ« ¹,4_©íNO31>KHVœ‡iâ†Üaï»v!!RíÐJmîP!“’:Æe OΉßÂ$»JíÈ©¸ö8ÌÝÃJ§KäÜøAV퉢­;Ï ²Zk…÷s¨øý½MiZytÿæ¸hÿ¾U~b·/Çï6dAÞø@ƒÒUº{BGUlÀ˜†æ¾É…n7²3>)ÙpQ¯á8Šäµ‹´bμý, â…-üášÚš´Ù5Ãã[Ôäµ ˜&”›$|GÙ£ä£[äm ©k€²|k`Ó34”sõµƒ¡Õc3·|:£¨¢Á1•€à#¢>S+/lFB³J¦çæ+qÔ•ÅMXnÙÌŠ31c.¬h^¥uÓäéÚz–ª+xZI;>Ñäx7F"hRc6SªÄ€"„ÊW…ê·&1 ï¤ûvo®“cц–º:0†m%„# 5A¯—>÷ÏYÚacBÀÝÒg‰ïã°,Š„q¡±ÍéL÷£äÇb&¥¶­`YÒÐÁÍÑ$ï•*Ë 5È©š.Bï(;iÛÔI@°ÇSÌú(«ËW`ZsŽ<·gö¡ê•‘lX}îX!/W¨· 6>Äði›„W| Z"l¿‚ê”t.¢˜4À<¸C^zõ)Ý ï´»7íL±~ŒÇÛ,XÓƒÐq o* ùtŒ-±÷6©ó» Ž¡?55˜Î¯±åt'‰¼"xqḿ»V„Zið0;Òœôšû‰+ÊàŒìÛPÜÀTy‘^-Á)ЍX™âµ‰2^»‰abæNn|ŒÖÂl¶DißðÀF5ºòæùrßÃÈSåð³è"Eiÿ & úæVDɪë(Êü„(~ÚbJÝüdýЧ3X$¢¦`ÀñŠB¤ °Íe„Ž»-õ.B; ãŠhšfúÁ6Û9L{bž¯ækv;Q¤ÚXS0pT±Œw½û– ¨ @oëJj€·¬€“{õT=BÂT«wÓn)+»Qiz€M>‘x•ר.ÒVn‘bhƒ^‚nþ”Üb9_ý¼KnÆ2d^_1ï ÿÊ @¯8Àqi›Ç ,|’©¼uÐmö25). ¯\Ä_ŒvïñFWl±6éÙçÜu'RL…äÍ!0îA.Œw„2RAò¤ŒeMì™jü›L±5&Þ7™I3ó‘¤~œ$æ–h^˜ô½Ž”7¹|<Þ&¿~ öžs• P½@¿šÖV¥6¬S!Ñ~VfšÎ1ãþîZe/&Íðq8Ç®nRÀ´[ù«µZ`³x¶›ŹQ‘ÏûÈáýšÿìÛ†\”’è|Œ\<DÔ“MÚ= k‹ô8©lv3/Þ­„8ßJèi1”®ßå1ZQm™sÙ$þÇÞxÙºŽ s‡ v¥þ ÿEé² ~L¿¨*™ðñ`@åVëxç}ãµÙ ò°Zöâ•÷S÷HG¬UÜ,¼”ÅeQx+0¹¢†€š¸zÆ‘§¢Œí‚ »ÿÖ‘\·6Ùv/ð…Ì‹ÑÕÍ蟟{OyÈ#¬E±ƒÖþÒ§›å„nÇÑ\œ–/4în®1¡H1«NháÐdøšsCl¹7¡r·šòu}¬íÈ«ذ’êÔj#ñ3]Eð v¯5Aܧ—­çú©"yâ3 .oG-"Bp¡%(ÑÃOcØöë1($¹,ò¦Ñõ„™Î‚Ñû!7>¸ÁÑéVvkø®€Ò¤OÌuËàIKÛ ù¤ÁŒ ½jJOmNØNI~÷éaØ^¯°Ì‡V9÷É®WãÒV^ÛÐnJ®…ÇO4‡Ö(…;ÿ€RÕÏÅèɆ´AY2J­o–ÙK¯¹›L™Ø:×ï¡Ëª©[!eéšïh¾kÇ„=iƒ.ÿ5è^kÓ˜HÈCwáò“è°3sNw ¿…uÕ Z”ƒù£aÄ[,ÌÓó)°ßâA†«ðgÔRBýZ§aˆ‘1Þ(ªÿ¢ÎÑýœDb."¿ðÃ#ˆïͱ‡³²7îE‰šŠˆÎQ­ªcD€ˆ;ZöÛ ‚aTåæœ3ªj*«iv(Þ9ŸY9‚`ö×­ÞÃ0þœ,†á‚Ž“JËÏàG¡=Fšd«‚ ÿTܺƒ—'çΨ¼{K:–zûÕÝæb´Âƒ‰þ 8Ô:ý2J@Ä&6z_=Añ“›h†q“E*oc—bŸ¿Ú¨uw¢V”t4í‹ ¡ýÙK/†KÔéšN‰ßòrO)b&7e÷¹ªË C¤Ðõ–BߢnfF¯å¯®—@êù¬ÛÕHKÏn0Vᡌvó€^îóv‰`h£|ShžUØ¿Ì,wÒ"9s8õéfˆ×¦NÉü±ÇAFŨe£‡çZ¦Ò‘ôº ÓÓ½ˆyª„øRµÛ[‹fÌÏó݉†åàB q ¯é×8 ê÷XÛ»,lジ¤ÚxÎv é=¢Ø"š´7E©lCÍ]Ís7·!Y´ÙŒáÞ1ë#„ºL}æ¸%pá ,)†”!QÿD,AñSAžfj›˜æ™Â½ <êRiµ“CkaŽ<¿‡L$b€Þ’VÉ„àòšd“›Ü­"¢žF<“t±Ñ·¿PÅý›žÙâë0­~‡n”o]º;…S“ùËF­þ+·ÛÒ¬Ò“¿ñšÊ¢çZëæ—¶záÇ 0ïK‹Ÿ-ˆG~xl;7)íø¡°—L’Ýå’2øÄé ž‹ôÅûhБ+*D]y¾–üPŠÜM-ïrõ šïwIÝ#Ì"(Aq„”:Ñ–R¡êžnBd¡™H…Íd3Ê¥Žàú«ÿˆµvËÇE‘Ö©È·³µu/L54o½®´€5y¨znŠ~k•8Î÷'ž²~Öeïy5—t7Oçõéô8̰ÑB»9À~p@MêÈ@‘íõlÞú1€â[ÙJ!ª¿Ï#~¸Øc½p›h> °È2Î)˜‡v´€Òò£ïbwW½œº±ZßËVH#P¥Ôø(ýWÀ“'°f¯03;kñÙ/*¢œ °K炟_ÚÐ:ï³´ƒyó‡–"/Éñœ²’PÏ­æ–"³î¦ÂõððÎéâ:Æoèá¿ È,"16ÑTëÈýiûº·ÀŸè²ü\èYBD!$ þ˽¼ÉÚ•!] 4!g ;²G]ƒÇu€ó‹Ñ4oTQþÄÛ{NQŒ¤»Œ¤ÿ7Àèÿ’Užøz ,P‡«[_ÕKšç¡w–›$¾€›1–”ÎŽÃC÷ú©6åk‹'ë´ q!qSµw3‡ktçV#SX;Ìú­Nò!ºW:ÄÙÆå Çˆƒ¸]³;Ì5ÇÊ;¯CJ5ç<ÅjRñÖ‰Ÿ±½ƒV ÂíS×ÚNéÃM+ŸцŰj2åCæc‡{êP=hR Ôk¤DÔÏ€o±ûÄßÊcÌÀgÃDžÈ|å•ë*3F·^ æc‰‚Ì 1-¨A`ËoTÔ÷¨f‘â xm‹bÏxsS?E0LZd­o»ÑÀ­=‹­Å`„ʽ¬Rd)vqt4Özù”× ÆGþ¥) *YÒXà4•简G(}3Bá¸Ý9ÈEŠ•ØYìïljÀŠ€~—zg9?©t† +ЂCÏoйÉbØÍLú'ay¼µ®}Ñ»('^ƒÙ@]vžeH Ô–§Ýnh9ýþT32J¦œ|üqx€ÒŸF´Œ±E¿Xt˜I'àIl™úZö ¢Ý´ž¹š f*ûHìš¿—þãSS >Fa§»lça_Ž 'L /û^æ¾e¢®2Y­gV’äÝZ[Ƨþü÷z0à$Â%/«bæU/)ùr@gV™2æê7ÿ†úAdØgEL&WðÁЍs÷š´+hô^M¼ÌADR¡oÏ'èQä·%'Qj­ÛLçŽ ÌnدþB]© [؉#ö`LxÕÜ9ˆhuàÐ4ïžç-•a«]éúúxSWÕ'GÀ†ïã"rê6±ˆ,úC/_¤Êé1­jâ@²=dCOýÍÙõ¾ëB&ÇØ"q&7çG Ò÷:2¦üW½P=èSÀ-¤¶&ÍïM\†©¶"·=ï‚kÆÖ«ý4¦…ù†åYžqµö)xAcÅU¾»^!*hÄ·V }c¢Øû½ûkIPûâšEo ½ÈlOQ SDVO3¬62¯ ÎñÂô+*v¬­EóZ¾eŸʧգ´¡=™,ó»LÙ=+´õk§òg[{ÔŸþF8Ü;ëòMѬÓɈ.ü½/1±7¿¬¾~Ü12h±_=à †.u'Á”&t‹a‘ØQìŒG˜rÄŸ‹«ìøQ$;M÷:„ª)¨tò>íòÖ›€½ÇÅÉ×ëv`+*£î Þ[*Ç5+Q1<£JG0OZ\ãÕP<Õ ‹NÊ#_AàȯÊu©e ãµ6yFÓ\çåùíîl£³&jÿil×|€m‡ÔŽ“–þ/·;e•×bÚ×2 /Í™FÐñ Ï«¢Œ®-ˆè,ú-fŠ RžS™¸êæu)dqš*·®Â¥@îì*YJt®£C. /ø° à‹°I©<Ø‘¼©†áf*´®Íðë!îª<¸{…(º×3ö–^&Ï`Œ S|>¹YÕønéç±wøuú*5XÉ™ñ»f~O@!¾˜Ú: Y@ÿ (¼à¯¼‹IÒKC³±C8¡õàÿCT‚¸j_ÑJ\Yø…‹×Ö¸Ý ¡]Ó 6¼Z ð}××ûo›Še)™ j#5Óe(<ÔŸ¨Í©dlâÍ«áÚ«”ùH÷ѤKá—̇Q²u3Éê,¬pÇü¾¼ÃC¶ÇĦë„Vôz0ס^JMïì48`5V;Hà þ2£a>?Tïõ™aÝèKK"ë¦Î®ÊËÐbx’ý!þÓeà•9hÞ?ª"¾Am¦å^M#ÃAjNâ cèm½óÚ)Y¢Æw¤`ÙÜ#Á¿hð‘‹Ý3/gwã²5²ºž~“j D;N`S‚´ŒUZL[>‰†Æ1iÁ“V–8*QªÆéƒÍ@€ÿÜê*fÉ„EÙÀfp+â–çÔ®Õ9„û‰j’1ýå™Â`WÒzˆßMq ¢ƒJƪ½b> Ç'‡Ú¼J¨Ûç^hÉ€¡“7 QD¶Ëœj5½"I\¼ÿ¡6­g6 Ôè&Á6¦}’Æ#øŸ`Gä(”Ȓݧԟƒ]cÍLž°fîµ1/½ŽœA‚¡#Æg÷ü~%mÍE[úeMÁˆdz9–Ÿ•V˜ð¬Rø{¿!"kŽëï!ö[]”£xÝÞÿc%èaÑÛQ Ö(É‹1 Ë-G¿;킆 óE‚m®ç{%âºÃÞì±må6ݳÎ&QI¨"ļe½÷¿S6À¿E?pfc“~螆;ÛNi!ïN}xýâö¯»t$ZÈé®@”QâŠs-xàæ«êœàj¿!ô&ý7úŸÓõ¶:;@lNÿ‚vw‚º RæSyŽÐàC›bÖbÝa"OEµ×¯ fp(W £Õ&„}RRþÄfÎ?µÞNþÀ¹z©ò{&dÉéúulµÏ²¶> Î8ë>{µ‚G²þ.´FŸÙ¹¾€ A'T̆œG•ÕVÄϬé¸ýµ˜ówüNŇÒ)-¤êóMP[jµL†5°…ËtWhGì†lÔÒY&²P¬+"q­*´×ôÉhGöÔeÖbg² á;¹Xc^Á³kžº0ÃÐh•Öw»Ä·JJ„^ì‹ÿnQ ¢½æ&Ù%äˆVE„û†ÆK l4–‘’Ðñýªþ µ”Á¢§+i7￉–‚U¸X¯Ó˜¸zó6L_wmø‚Aˆ3º¨ÐFxŠhd?<:1yhòpÇ-…ŦÃw“ 0ý|`R•wÊpÒ9LW<kÃ;Éû.«Tή†òÚÊ¢Š×Û”³gÖðÈæôÂAè(GÉ‹æÿ÷j°^°®/Pvµ0–:‘=1Òsþ Ö·Xés™ù '•j1ûzÅ?u²|^ræx}•` ⺠Æ{›=}cðìvèÐM°¸¦©1ÓrÁ/½…啪45ýH C{µudÑû×1šÓö5I²ÒùqYåIÖÙ™ÖΆoÏ€®Öüù¨Ž\@•àdo1{Óªr;_—È]‘¾—Ë=蜼 еõà!ˆÍ|¶!£±i€SØ•]Ù­ëcyC‹yZîÞ7“©—¨-Hyú½‡I4ä§»ôƲü¡êa®i/üz¿ (»MK½J7Ûö‡-wŽZgç“Aq'g1'5 Ÿ<ü3Åh•t Çööç ò”'î}uSÿBHLY Þ·":gé Í£®%3?[`H;æý”äÉy&À?j'uWÇ«'顉Û. |oœöÏn0§ƒ\_Œi\«m¥—Æ×¾L°‘öÆ+3iit\.Ü¡/>º¤—³¼”ý-á¶þ7P 1åßËCÎ ’ùÖrö¥/±¾ýhû³‰GµýŠÌÏgÏ š" ª"••º½œ×J)À@YáÂ/“§8D]ÞýJM+o–8h ‚GPm¥ýîÄi`80ƯTc¨è§_'›¥zö—Ú¬£Ú¾ÛO†êEa«e”¬…uìt \“õ…ZˆΠ3¾?"K)ct÷©l¿¹tᙦîšÏÝ=äAK¸nFô;Æ»•N'·¼.þWWܾ­O0œ7ýçG7«äçÙœmáòûõ4 œ2ùºû‘M!ko€LöPrƒöYR¦Z»ß÷aºÅŸ–¯Üþ HÌi1×…KËðÉÖ,d–‹çÌo ã_×rs!ü/•"»H$Ü=4Z÷o}-p®$»Ð'Y"a.áÇ(æF"C‚<Ƈ¤,Ç­óù<7ÉjµÅµ|ߘÉé2>¯p½¤x`_çꯒb+Œ÷¿‰ ÊA¬Hùbáp±|Tª±ÿ½G§JšÛq¦&tŸA=ç/Úcž–E8Àú‡'öû¼ÛÙz£GÛm ÒàÃÄzlžÆY­ª'K›#l¼ö‰ê ôÇu8+Ìx·ë&\™ûç’Ј I 2ÀãÇøßÚtë¬-ŸQEJ•?¿?!]òÀÀ{ž÷ÅwÉÁœÔÙb€c²—~•H ÕâV›Ó°êÐÑz„‰ã0YÙg§‘Çmþ¡*_˜çŒN‚5¥U› ™¶>cR¸£â®Öµ­80 bìV,D@W¸Äþ õŽ.}ÜŽýÇÎs/šÔŸUšjqå?ç%VúÄuƒ³õ¡r!;âeúÊy7DU–›öá: åÛÚÛ,öË©héd%R|ûœœÞ%ilYEB¡rGa¶Ca8"p.•ÔËän;#Tïjb.$Yùåq¤ÉV™Å£dá³¢n´ƒ} ©)¢‚ý$°¼kW›kr¶xf®±+ôª3 © ¦´D%¾Óªð²sO}‡üû¤·ßLµÐ€ Øo¾'¹—õcU˜‹Ôm¦ÈÍÛó‚Â(n¾·"¼ˆ, ^—›ÉýáëØ† ¸òë&a5Ç!°™´çM˜>ðå†y‹"º m|TºÝ Ë: k\0c–lR£]FÀ.ˆ£XËŠ ãŸárOˆ&âÖ—X£WÿœïH¹tåG¢.~«·m)‡@ãøêuòÛwþ:‹ô…_yÞSòH9dCÝòg»g† ¼”Z‹o,”Ú¹É'"M¾Š¡¨¦“½Õ2Ü!Shª™ômY3ºï>qy®üd~þW¾†É>!RÿÕŒZ¤Ä(NZ¼P ¾Äp„yŠÆ†˜k>ÅTÞFçŒwzEX° ÂÄÖúuíLó²»{Ö’iÈŠ³­E‘™Kvܘ •³w4±LûeÃIEZC{ák L;vƒdþßt{\­·+Ëa ?£ìÃKìRûïœU%55-r9·ZJYæbÞŸ»d‘CÌH÷Âd7]jžÎO2áüø={Çïדt^áÇß|„#r|¸$QéÆ}ò4WX´$ÐëŠüÕHHȈZÛQ§ípÃ4“ZÏÓ×'½L¹)¼ ’^zè–;& ÊëX¯¨ˆÔÐGzLx€ïA?'å0¼êÑG_ ÖGKÉx°\0¸Ã:~CNj³.B °ÕWt¶Ý‘Eàã½®/EÛü$vdˆÈ˜>i¨$d•%¾h#^±¤97Øõ–„Vûm ½™ZºccʈÝæF÷×ÕOɨL…çv€ÎI€÷X©|VI8ÀR_"vTÛi›–溡vó (ñ÷\Ùߣêÿg±¤ƒfjÕ{ʱü\J,\TKm»½{]É!çÁ£~¤œæ&à^H",~,‰~žiè¬}ýŽ¥0>†ßùˆ©t( çBuÌÁ1cû‘)‡{G?N÷‹{댬†.Ò¨ð¥A3ߨD»K(²ýTÀ¿‚v ¦ÁÍùå‹jÍò[ßæÓÖá¼”ÝÓ8á%è_®©¹÷jÖšúÑŠ{?ö¶¾=ÝÀpyÌÓv{“‘,2!hÁ´˜¢hPñŠõ€ÂÛ¡ x| Xëíká×RS¡éî| ¼âGL€—q+ ^aô Ä“uè(ñ²ˆp“Kh!Óµ¬—Éñï9aødâhx\y@X]þAl™à³yìûKV³*Â`ïFzÆØŒ°šAnìÓ¯…¤.[â"ɰµ5cþ*ég;²G×Pl,¡H¯ôjÞkR»ø•D[¹4nA1èï“0þWÃÂ: ßóŸæ¯²5)”S%¨à`x‚1.Ý‚UÉý÷Õ¢MŃ.ò#Vý$ÔõʬM¥±Ÿb,úâ#Õ“¬µë;!°œžÖ¥…@GÑA4ÝÝ5èÊLGÔ«¡£Ÿ{FDú+s~82<Î~¦«<É„­“x?ùÃþ×»šUúªÿÛ&¬§[¢ÜQn¦¬°ÉЖ¢[ô*o”&\°bÉà˜4°c†œñ2 $˜$¨>YÂďЉH.ô):÷Ò •P,;¼ã{ú5&Ó.çÊd(kT o„ǵƒê¤0·†—ëï„–Üúœ*pr “˜­¤ûï%vµÍê›ê¤—_¶Ðã~oËiO"²UQÇ3éW08Ù—‡å-»$ˆ_½ â)N½†ö³} R ó§BíѾ£º„pŠ_ê•M6X eÈZ<‹µ0ç¼Ó}ød`´Ð©A= Êߘä|iõÓ“P+‘ØQLÖ\•­1ûçïÿ¿a5‘‹:0 KV¼¹Dôì ŽãW$|OƒÜ€¨`W®ùúÇîúc‚ã'Êc=Ù¤¸½Gj„‰ì/¯`I%ˆX‰ùŸ´|5ðÍú¬{]ÃZcú–£#š~Éonˆ‹M|) tá?a©¦RZ‡ÄE¾©Ù0ø¹W"ñ9moÜ]-•çñÍ%â_¿{´(þ-wÎ:÷à \²åF¯ºœy˜GKZ*¯LaSdmWF!²Ó,ðõ|uLX˜ò3ï´¡Ûr  q¶x=r¹êÚ¯ùpÌÙÅj}SÅÎPy>•…¹¬…xZ3  ¶×yÐ(`Ø•nïR?yŒ0·<ÜÈôêM—#óðÝLQô«ÝèëÖ2È#&m£D:ѳ—¬Ãp‚jŒÿ‡Ïß3ÁÃz&AeÆÎ,ípÓtŽO ÍÑ£w•l˜]ãúú}’1»È[¬(ðœèê UUJQÌ‚ñDé»9nûÞ×ó†¨xzw¸/Ý–Çä;N l*v6´d,ò¶ˆ#Û™¼Ì:BÞ/¶Uc¥•«ÚQºôð¿ê0k/Ïg±E¬8%ü¨WÊ<ºQ±ØOýå#*#åÄ»ó¬Òǃ´vŸØYI> §ŽﮤÄ·ú?&Óîg}4iâšjίP¹a…øá}<¿@t"•³vfͦ¡ @#Q€‰aY ¯<´p-T„¦Ç5Ð;ö’kŒÇ÷~í e)¶ÕsÂ.“‚½¦öðóÏ•„dÆêÓzÆéü¬1G×MAdo1Ó¾*îEÊôJÄvE‹½l‡\Þ£f‘”=oœ p?I, Lµ£¨*Ó|[·2µMäýG¸Ú.p¼â¬©kÄ–E.ªñ¥‚¯ˆµÏ©EÕ•`qtG;'©:Ÿe;ÊÙ{œkokˆ~È"’W!B¼!ÕJè]üÜäIÖ!ÃRü?¨óÀ±õîo׌0ÕÆ,¿¨ä¶˜ZðüêºäM·þðý{ìpRd.L×(ýž/“œÀ,Ã5”iäûÎ#ƒ¶¥ô'G=Ô(ƒ)ËÎN!ùI1qα§HSÌ~ÚGBŸ¡×;Èû€@ò¢ÒK¼Ά¥OÄ+dp¾ ‰LGC5ŒÀÙR8®L0 "mÏCúƒ)' Æ ±Tt œD¬5Ë,9="6¦¡ø¦…Wé™jQRbëDŠÃµ9~–È>R P•’MíàQdM €Ïk»œ2sÿŠþ™¨z/IÜÔcŒZzGúü)F@=ÆwLA®Œ’ŬÄ4 Í¸å6¾SbžÄ…B)±6¥baðˆ›úèýó +¢(™ØfƒÓ)©ˆ/”»‹©e۶ȳòsº´¼ßXˆÞ–Lþ|î¯":´œ£'  ¼n²zQÞb~æUxº^ŸRž|ß ã:ÜÚxn3¾!Ø$9å<Þ>¢S£qÄú€Ò *¦ŒáXS—LÒ¡üE óíÞ,˜­r±¥9 nìU–'+0v…9à Ü‹F˳¡vùö8=§³îheØ?‘ïÎ@”àp=·xÿP€ÍÎÈß?Üô€øÒtæ­É§\œ‰4çøÝo+™UD¥á¯‘ê´¨låFV»÷_xÌxÒ©·—EþJ YŠáÊÒ¦ޮįyC[=–âºdgzE÷ ²ŸcÄ{ƒçkë `è0g#w7%\ƒÖ¤IžÐÎ% Yœ‰óøÎâ"û;«/Ž®Æ‹€_%ìt!º•Èùè|Éàr»u dm„›NèÑhå¾É¼OÔ„ÆÚ’zÄ–Å€ÀûiÛRb÷x^ …®°µô@;¡+‰V¬ð ¢MÒ± žWpÅ{2l‘ý>{¯n.âHd¼ç@.DŸèHC!Øì!âü"j}[}ûت&s‡ÂÏÔR™ˆB-Óe?E£##‰ÿÖI¹¼´XĤ³™­æpÔâ'Gù#¼@FñWe¤xÕ~~7xÏ#keï§(ÈÓ'†Ýù/ãœÑ˜[çƒ<Ý ° ¶Ùœ%ÆçnIY9zÿÿdðäãºË]÷@/ŽRàÃmSÔø~ÙmãÛ0ш•}|.uÎz×aè“ 9é8S ùµtÑu¤ö#uÔœo…8É­K¿ (Ka=³ûŠXÂ.v;1•læŒß:ÀF®ÏPo¾;¿Ýå—Û·¬Rscë@Fo4m…¤Æ*6­·ýÊ~-)g°þ>–)üçþ$Û±à…[Ç%œ·¡üE›qræÛÚ9¨ñ˜F×v‚N.9ÞkÐ’…·Ý)Wiï¸L¬ûUü:.»>Å£ÏO!Àã"°Qû®5«îò‰ÂBpO¿)jG·ßeˆãÚî.Mn¼4kµZï!pÈ®¾××öúò”r È.»ýuæËºϜÿ&à'V[ PCÎØ&3‚ßíû ì¬XŽû Ü!.Ùÿ7êö¡Ô{V´v}óBˆ¢Î”î8†årÎ9 @Ê:=ÀàÊ— .Š‚…n E•‹¶ý! Ü„„»¥T¾>{Ÿnötìòr¢]äÍÕ¢Ê0ÿ£BÈæ)qÕ:Q VÑP?ýz7¡q˜ þÇ"@z$w{»:w³Ã)Ã`;¦µ†©üÉΓ°pl]ÐyGdº5Y«¹«:<†UƆڔfpƒþ=80¤~w%#9³;²#-Úi‡P¯§ö;SC§ù¾¸Ç€ê0”{ÂÅΤmñ©G´™¥x–Þ~ €bWÔÙnLtÈÒ/^)M°Þ¸·ð¸Š7ƒK¥SCbĉ“Ùb§ÒI¶é%àVú&˜Ü‰±zّٖc×íû“~He}Ò4Zî.`it;¨›{ü4½‡4^צëÚb–stÙ ë÷Ÿ‹€â‘pÁDɸ\œ´ŲUP6…ëXŽõ¬}Û €ØªãYj¢b¶…†ÇÆé/Í+‡Q Öö˜ÎeÎ#Òx þ4™ÙD»×»ÛT[-ÂÍÀŽËÂ[Ù¿×’èL8M«Pƒ¢rF{‰}¨NžF³lÄfÜjbV?¶±WÓ9¯´ ãqM NxÊÅß0Mú›[\²Î©f‡2ÿDP5v›³ÞýAN™M†0H­MóÝk½ãD0bN{WÀô^ºGß_ÏÏråGeA¿åÂMwàíiqÔ÷wºSN½@Ð~ô‘x¸¬€uÏN¤Þ1í ë1P î®¶¤Á3\ d€öéŸøÅ÷'”QE‹:¡¬šÚŸY•¢kw7ê±f7ÐI³Ìí¿!Ð/_›ÛS\Èægš¯á pi¦gQsTäA¼ÞY;iFrÏ0àVÑ.ToɪtâpzÑG  Ã$zÍôeu7÷ûsYÕŒ¯ü ½ˆ7“{#kû¨“0g*„÷êLhPÕ$f‘SkfÄ„N¡S#û€GD8Ø.ñJW:¨˜Œíþþ›ÅÔ3ìÜ& ‚(®Çê)ÿ਋#©]¹éfßr, çJx>*H꾋´ÉÒ‹ÛŽ×ó‹Lû¯4ŒÉ-|;dœˆ¦1Ðù l¢ÕïL®Ð0ûA|·ÖÈ 8‘…(¥¼1=H­ônöÌì¶-ÞO€ `¼°f-…·+É‚\TÀTC®"Ôi¹/´"uf„óGjX=6‰˜ÔgÈhÖ±n{Ýå](TïíJ\ȳ…JóÕŒêvöhy³]M7éÄŠ%yƒ™Ù:¬jEŸâ‚ù…àv x‚QðPâÌ” Ë!Dþ•ÅùÊ£Î$Í¢ØWê Ç0àÇžÿEמB|•?µ¤y(–b Ø«\¶ã®£ò{†¸¼1¥á£x¤`Zqº×/Âû…ø ÒqÁDÝßÍÒ2!Ì7—äóE9wv1ìo~IÓæ`E(y—ýì"Ê_9ÍÌ"QE‹fG]½6´¢ËRV«v|@£Ã=ôèÏ0ê¢+ŠÞx³1kõ˃ßOd‹®å»È÷ï‡GUTBOƒ•¶L‚RÌ3ÿm=ge£:Ð`ÃA/UƬ3Ä’Ëium+Â\EÅ1üÝa’W¯p\3BŠ”*RKlCû7W^ Žš¡*…)'Œˆ'Áºp.Vé?¬îëËr0>L/<«áÌHêö%9„åÕ¶*õßœ»z Ñ“KJ’’>«äîeáÎð7Á’=aÅ$rž·cê5ý}%ø_ø -¼jܪ¿µ°bÙi±¹©ÍE_ÕÃ-“—|jÏxM 1x¬ÂôÄyõ@iV×þu¬8§Z¸Ž:} eÁÙɾ°V†¯Ûè™ïžâAC^Ìâšw¼ ;ÁËÖ²|pRw ~oÏ` .›i°Ìw|t˜®îpâëK…Ýp„ï,¼×b¹Ä 4=^ç¤#5:ÅÁYv¥X q#J€kæ“©›ŽAè]|„Œ4°_¥ñ>îùù2Fp,À¢¬KIŒý’%€ *«¬ºÔpá9$gµðìÊšfÊpÛÉûÌ>0PãV IàT9q~‚²ò·X#ªVˆÓ¬^O¾&1qÜ7ZbhH·#Ôí ÂkœŠê²LönÛ£½¿øÖvkºÓØnY¹I¹ ×І_2X£ö)·ï²M𭻣~wOÒ>×À&S‡¦uèyÚÌÜÃDÆ5¬Ë¡ü™‡Ø ­åÇc¨>T*ê÷q–èðñ¯bÕ[N¦ùšŸ/™Ñ¨-_q–”‹>³IÅq×¹Rëä¨ðúÌÖ p`Y«"å/ƒg¥áº=g=]ú¶n“„!ø®tä{&Ÿôk¼¸­ùEÀ³7S&Eço†À{´s²Ó»n)Ý.j§Ym]¤àlýÛþJ7I´¢Ý|O3dìçÂ×f\*ë +Àî']—í¶©(C€Áé\Ü2À²•5êdNSŸdSÉ…r‹; DøÉv8©×=ýµà} §WeBóÃi›òÍ•Z¨mXÊÿnžÄícÛòô]Ø©m$åéO¤NéÝþ?üœæmhx܆*KÉ×pxxÇhŒ ³#k28~i¨`NGCÐ=”ôϸ1¿ë}A•?=ØáüBtRõ|+ÁJ_Y{ÕáÅKRaêþ~ªU¥ÓƒúŠ#Fp-gÖß<üØ’ð.Ÿ‡z-úæÄkWûìíÁÝ Â:§ÿ:®±N¤wüsŠ·Û›d¬;Î4ËV=­W¢>;xƒ$šJJ»Ç\³šmZ,¡91Ъ6Åm|2j¥ãcþ™d§rb/ŽŠ;õ鼑ó'Ù¶‹èPÒÈæãŠ)s…!¾ù±_¼ï¼rM¨D+ÛçípÈ$8ªFж~ÔMLhYÈšÖ…[Ò¸e2[›×)O¡¦v"½W'üÚÃĉlÑÄç{ÉRp$>£fÒëW¹…7cG‘7Ò\–´qÈ+Ö´AÈ<8‚_0õ‹†ä*Ž™I-Ö5ž+cã3-vÃþßÍÇÀðk4L° yÓT‡G÷tæNI’gâ(ÅÔðÉ /™¨q팦m™ ög£Ïo±Rý“JããƒdwÞ4œjqzIÐ ¯ñiéÖÔ¹ï šö±\ªâÒÈ4ãi!bUï2ìÖcsm{ÅÊYœ@à •+ÍìóW¾™œDO£K÷õ{ù_‰Ã¯$kÖ»Unø›3êSîÙš$&LXg×íJ‡šKéËæÖ±–¼éÕŠÓø|ïÊQ „³í¹j,^F×<÷†QÓ5i¡ðaSuÐpU pqûE¸lìkž;Ÿ 5ãÅEDëk6îÎ㙄º I¢ IŽI×ê¥öÀ4 ïK!¡þ¶Š…“7LÊüù‹ûª°bëoŽ{ì/ºw ¡7Ä“Æ)»]œš…Â6L#­j›faT²ecÏKY¯ûxzy/6sˆÚMq›·§1ŸÁñn7¼¦k'˜¥ [ã•u¡­ŽÇ‚6ÚS„Û €ÓÖZP ‚˲&“î]à!˺ßÿQ$! êÌUëuÄÌØó“Ú6TõKg¦}!S; þSÌõêRMø%eÓð¶ð{ž’èb¬ ÔŸ"CµþYc" î’â¯rWJ<~$ènö§ ÙjÚRÜ-‘D:Ûêv>¥ä>ôR8FÑn¦içùÎT‡/þØ–×j|ÛŸàoN×èø4=XÌ?æ<î^XŽÉ4ù‘ˆ.àN—ZúrRà@ø)å*k]ùÈÃèÝB4»ùf M•,‰ P|xr.Ä­÷-Üðâ**®˜‚\‹1² yN…lâ¿lú"‡‘‡þËÒÊ´ TÈ¢¤ó¹‚YÂÿÆoÚ„:+ÛF‡žoAÐpÚ-ÖÛ»”* ª 6hÜ Dì¤ ,aB®5ãþÞ¾k5ÃjøO[WW)bKé#Á‚k\´UÏKVE¼óœ¤—í¦%D埵4s+nþßGjØ*¢,_WÁvïH²Ø†™-Ñ9mã(ÞCnñ+:|qy¸“ÈŸ¦L—ô[öÔœØî]©²ò¹F/ÆÕx„³¼ÆuiÕê!ïN©‰Ž ös• óŽÆˆL×'&Ø€cÕô\ú©w~Å_í±jÛ8w[\¢×§;8żST˵'cˆË UÕ2ò‚¦mCfD 9¢l|•²`e«¡¸ ]nüö³ÏýÙ®Èá¿­í¦ª»p!K¿Ž]Åݰ 9%ò¡ÑÎOÞ˜»–Ú^vd )¢£ÃúêÙYŠîØÙÁ$ëÚF`ÚçtY†”ä#„;nn ¦¢…ûÛøõuvWPš†°¶¡ëúd™¦k€¦ª~$=à ¾WUÏXBu„-h)Dü¦¶¼wpÀsÂ0ßažEˆj7G¹žñ¦¾wƒS&c»ì„†> êoˆ¡2˜ ÝM×@zËxezyù”#üæH@Rt£XlA¯°VH`º/Ž}Ïdw1xtô¤G3~{".÷hZ­·ê"ÖH¬yPh@Y K>UGn&€rÍ׬xp»Ûí€/íþÇÕÊíÀ°—ŸOca7\¦`Mr”µó[ëȘ_”Kßá°qda† Æ0ô}ûdt8d˜|P¬/)¼e³Ô'¨´2fçÆ'<ƒ)ó LcVªônì¿æšd´—«QùþÈúéŸènÒ¸ÑÖ-e`I½a°eHû ³ˆ%²O)ÙB\g‹Ê7{C/6¿Þй¨ætÀıFÛ§¸Ò8$¹¬7$®þó§q`ð½XöþZ¡“ÚÄ”rϾJ޼¾Í ÇοäHÈk‰3oIÜ]#\92f:»Z÷ Q$˜0cÕiæï[÷‚öO7—vöó ‡¤ £×ŒÊeQ8N«©2'ЅΟw¨±*»H•ÐRV›RÇ>n¬Ð®#[G’|iës“"å×·ôŽ2h6_kcf†£L5sé‰êë{©àIx’äVA¢°Àqèì?£“ž]ΗæëïûtöÙ=ýlf]ƒÑL&¬wÝÞp-Éo¤`&`«(&ÕÀöšP„Èé«“sêÞ°§Œ²$"ÿÓç¥ï…-€éˆ[¢{×°`=Ñé„¶t—¨úõì¡H&€ø¬x^¢17´mÄ´©É'ŠÌÈ}µÂ“§5ÕBPUd¥›gš¹— øÖËK¶éîë¹ÏpßÇ¡?XÅ2 _ªWW·'Ñeÿ.#˜`ŒŸVô(¥€¡g„SðœªØà8ÚË8ÅÅ"Áîì¡éíT?¾® ]´Ê—i>Œ¦4Ü=‹ÊgQ:¿¢•-r§ý³[Þ²ªŸÈPÈÍ!¼?®³’Z]ô”f–š Ü62¤ ½ã.éìñ¯Ï‚VcŽ *ø[`Y y½Vðw Åþ|}-1ç¬]¸‰K±ÿJsú="¼8~Œž7ŠqÈΫ‹… I['T%1/Ô¤Ž²57$:‰Í¸C=n@yX¶¡‹kãêäâ¸Ãa*Š¥óõTáoçß~sÙ¥‘ül“2™WÇqÉ¥hÄ!dÜ&Ã.]æ2`¦QýmCaذbf=Éyaëšï›¶Û•38rc?¡SØ~åpíŠð÷ß'+|Šè¸"õÖ빞ÃÑ]®^ˆA‘$àÆ.¹ä#òaCWÚ¸Uz Â=Wf$”(öº ­‚ °\`MÛN$Üí‡KFø±I:“ öð®7Cc5ˆ7Ù2l£Çqâ™qY ®ž©èn(±dH¸þ«a"çÒcί½ô9äœ^ŠÂÈA_L — ´Z*–ÐkU’PNß®3ìËe®ªvʸ(C5]ëÚ4úžEùp´Pmžk‹¿bÃÂô­^¸P;ů÷Pö-ÖÝû¢§Zê÷ÒᄄM‰q×ðnVG?§©Ï ÁQܘ¯ÍÒ™:ÞŸµÂ=ÏÊWMM0LWñÎVoˆ9.Ï|…ºA¾t cæ-'Ö?Ÿ¤ÎžûûJ1Žà'¤35°:#«êV»1¤ Ê"ß"kñéåÂÖ ÑŽôW*€úÎ[àS[h@v” í~ç3‹ Ï ¤#&áõaq¸¯Ÿvt•ÜÀ•ƒ¾Jšwô4ò';Qô!4vrÔ_H¬ƒ x…ÇÅåU;Ø­{òÅãeP¥ìiSÇÙfü5ô~@¿¬£)G€æåVI<'àA1 {mÛ…í1·×‚F4>öê„ßL åÉZÝ]Ø`˜FRóõ±]ÑgÎ…7ÍX,F×&¼†Ïqž‚£Àå‹êø Ðõ^õ{­~<–á Vm.dòÿbÞ°ÄŒFû®Sà@ùNv?÷!c¤0m:¶þ;­/g>#…©Ï€AŠ ïn1Ÿ)Ïo‡¥µµä¹„ðÚº)Ý/Ú÷]ä0'®¬nó–ü7ôgTNæTù Ô ý`šÏK¬éÁåþѾNLÑ­òW¥}èx”mí,J#\;c•.â½`†¤nzcùŸ¼Z„6ÖÝh7û„ë‡Ô)½0ˆ+.¶g–·¾¬q®yh ‚“ ¯®¼©ØÐºTTËQdÃíØÄÃ[22ÃMú¡Š—Ì ^ ®t 8Vû}óœ+„mcÅ{{Ò#ÚlXZ§¶ “²ow ë᥶û¼#ŠÏ±Š£ªÛGcvMNc4â•E¯ÿ~ÇùaÚyÇééÙ · <Õ}¶ '<;™r"m%ÚÈ©½º´Ff|…7êóëºú„/²ÕœQ¨µ‡ë/?D2þ7Ù>ɬP9|&îF%v£XtÌ}8eó·$õ~Eìt¼P]Í¥ŒÝPY™ã^;~:‚Òå·MÈé”rci1f¹D¤7|Ú3p¾mʇW]²ý%Å…GRB̵B™‘¤ãæ÷a)ˆBå·ÖðÉ÷}uè¬k<*Üð’4¢ÌÞ'·¢~ëµ^þF•´½ËwÃhFØàŠí¾þY?l¨ª%~‹@c±íRí¡ã1)uP 5£ Ó+»g ûIsQIà¡›*¿Ÿdâ^ÚYã¦ó²iÞ+©J«Þ&ªÈšý‹Èn>V  j¼µœýüÙËD*/\;máØÆ+[ý-ÆÂ™eô¬BœN2-øW™<ˆ¶« !p[]#VªøÃÞœ*¸·>+ê6ô[lL«°c‘‡ö+n\0`¾{~ñh@—bÃa*ðèÈ,k>:äf7û·Úà.Ïje‹I$Î8‡bó"i½ì¥ƒFa—üĪ‘Ô«_WœÐ®Ûàt$ã¶S‘އŒ4YR‡*?ö¶N§g“á±îޤF B܇—©ÝÌÕ¡ûÍ!Óýé5À‘Œ˜A3.B³Õ· êy- 3@6à¥ÏAòX´â–\<ŠŽFøÇ åÍ%îpÅúToÖDxrÙšNk÷ÀŸ6¡Ë€B‹¼>ÈHÃúzÉvn $a¾¨´Àý÷p€Þ/éͼ—x¯¸8 –¦Ð\  VD.¾‹¹ÒAU­zý« ü/ÂÒzzµ"à0H@Ñþ,±Eœ­h¯-r›O†bŒvìéª+*Øtáô’“ÒïÀP~ÙÚMhÄÿXûóÄD¡ý. Qsp U"€.kR†LC©bJ»N²¥‹‚å{í­–ŽÈ,ؘ£µó}‘/‰1š¡]4ÆÒÖŠ c{¼Û´¢b³qu·Ÿ –þßjúXŸsŒåívkߺ٘îEºO½«ô*3rŸ_NIáA–3gsxú“ØÜ½~µ, ᑊ™ÄJ³/e\¥5,jljÉdm€‹P×.ÍrX UøŠŸm|%0íÞ¯®Væ)Ÿö/®ë)¢JY,¥ ݲŒÓ2”:É‚Á¿j!ØH]^õd#îÑ 5YÖ$ 0“xG² T"}¡Ó€&·Ô.§3ÑPVÙåÈŠÀÈå~“3õn€=]©¡ÿî?T& ë)«{´æ’{"àg{â¡“¿àYÖ‰c3aÄ+«˜Ôü»÷nÎló3-Oš@‡l5îÜ£ D·ÆJdJ6Ó+),ç‹×ï@Dk ‹5gÈyŽäjÄG-èÞÊ|3ëV©ùnHF²]6HÐzojÈ+ŠÅ'ɶ“жÌÐâ§-ê¯P³µ>wð¼–ê¡hÈîÚUïlQò‰“­ŠššÍA\wD©ÓúÚ[kTtÁÖÆ+4Çz¼Æ‡Ê ©Í‹¨ Q˜¤å^¥ý}<‰Ï'T* ³5Èålùg M3¿­xSÿ46@ÄŠ&„ìlÁ’`˜âú[xäHé«8N)OCqø—¨B̃@J=¯1è©Þy0h—¶ '_f²,(cÁmç[¹FPiSÜ䫉#cg{¡ þf ®?~èþë®cõœñ…}’‹”uw£+×Lý†cħ'–jgaw{„§_iä¨Ï ZS“áîÜ5ßþªë+ðØ•Ž‘Ù4îVÀT*ls¾ýŽ çwüäqƒõO;mçÇ„€:ß’ÔÓÚs·kP wn«óM¥Äkìlã~[]Ù lŸfmEêej5†[±p!à!;Œakx°ìHmºnNOÙÀYÈå¢e}¬†þ¦ÇÀ¼¿å`ï™Ü— Ù‰› ô`"½4àïGû´5 nº‚ Áw}JF›š™î÷3ðíÓ @½Ð¶èžp—‚7Ü,vΞ᥀ÿêlî9æeLü#r«.·abÓ+ÅexpäÓ}VxßzNûÍ~C»Ü¢Ñ×,Z<¶7§v8—*©õ´’¢¯4:ÑlˆémãJƒœˆ®¯¾bgQVëD¡ÊWµŸÜw¾°óÇú׌wÃuK"Ár X´áéTˆ_ 1ñ 7ñ¨\³ &ýŽY'ɈqøÿVÅ š¡(˜n¾DÈK<ÎÞPû{Zi÷Yñ$鯶e˜Ÿ~”2Y/^ !jÅTSE¦¨pG·ñd°ú¶:̸/Œ¤¿tÍÌŽWXmWMŠ ÝÛ¸v“ÝC’Ø´è7ö½¸r;°Mü0 3±Â×>³n—€”lRg*å-Xð1æZ¢—ÒB²*›¥Wñó/èÀÒõ‘/ƒ±çÚ­eÀÝ|v …á_.úpD¥\–}Yd@ñ­ýÓ‰ó:ö8D ¨§õ/|Wëe’?#õ߃Ž<)¼[*8MCO`%Ný9ÓÙ*G W è$Ô¨€1'Sfô¢ñ'€}¤™6ª}iCg8¬Òetůœ™ŽðÐËS‹µkëÛ—)>V®ChÖ/¨Yß ó S@¡Àð¹Ç0T›åÚXo"Ʊµ4bÌW]°7¨›ô‰> ÷S`ix˜þÝ0œ -sºÌ4*ˆøÈq~‚ƒË÷ômGS@EíIÍtœ#|Öf #ñ]Ûñ*JA(;'j¼Nñ ®8·kvƒ½½’]ze[2bCe!!ïAõ±(EšTå­£í&Ž‚”£?ôm€âs<`ÐÓÖ¨.k9œ^ÞÙK˜]|NÅL|™—2PNÖÅ,Ôµ­ ›0å`¼’“ÁvEêëY’Ê-~â‚!ãM|ýL´¦æ£Ê©g›3Œ-“"G%ñ“E3jš<¦÷u¡wŒf–\¤+òRÜ¡›>ù‹®büVUX>Msá2ŠÿÐØë˜¢^íFçd]K«g;Ú@ÒWR„òÅ} ÝÒ~œø½Ç™«/Ú‚ 4$’€E$À¾å¼¡I"·XmmLÛ^ÐÖÆ¨ŒÚš‹« x¢Ðü_Ñ`Yó |–VI£©àÞÊaÇó’E£kÍà²Vh‰ó§¿¯r‹<µS­úÙòÃ2ʶÑzrÑ%ùnd†hk%‚ðñªc‚‰´\¡mÆK©el¼ùÌç£2"çÄýÞÝFꕲ~gZäTϹ]¥:øq$ÞÓ˜òO¿\ D’z!‘ßÀ Ô °DZvå¿ð¡dèÄøá±öÚSÑc£m@µì&ªÚäT{cjïGà Ýq`=ÉåL¸?WÙXj½¹3wxÐø‘~d2®$7i¨li‹9•GFŽPsÁYh{ã®eâMlíäêê>h%0­i&¤p3n@nÉB*η¥&¦ð/8\Y¶Ö£Ó]?¿ëî¢~üg\G78na8®¶ó‹ad«›añŒëOa2{k”¸>µ±Üƒf×Ðv'rî©Mxå„·—+ûó­.åÁZ®C2À˜€¦ÍÛÝF•úDýÆ]pê]ÐÁ,#Ó¯0Åð"›tºÁ¦ñe‚dµ\jO@Rg·v®fm^âwêësõLYEŽ:g:-Æ_)æ&â-w?s†Ùyywx@ÒÅí@k¦2{ Ë%^·%ˆ$*„FÝHQõ¸Èê“~1” +A¼ã ¡jXÜC™a&Ë,u‹2T³Â dV+v—ËöÃ7?wŒ§Mõ¡ÖÔ¸'ÉM O¼CMÌ£IšÌÍ5u!€È}½¬ßCZŽHÞŽÝÙ„,%I@,K® 0¹Òú-X»–Ýeí_“؃ᩲ27‹¡Ví¾§|3¬Ì4ÞÞÌýf^‰ÞX Ot‚3ʦãƒù-°é )•Ni&q_ùÆì@k20TÖD̹ŅmuqåÙØ§©¶æ ,ÔLa•É nõÝDÙ,„Ÿ|e=EÿB»bxŸ 0V•ýßÏ…zq@ªô eàSLKÊ“H"÷…¶"šRã ø’ËøÎõo"Ñdÿ«xèóäæ6uãÁÎ(ÿb"|XÄ&ÊXðÞññFúcÿVäè+l&ϨÉe‰ !Òf?RúTµºr‹ÀÞˆ8ƺÒÕ ì– ]S@‹ª[F¬g½Wmš(² ð rAz—`ÕÒú…›™†f¿›\W+Çê`ÈÃÅ”åIÃ2Õd½cDÇ <TãÁN3\çi&qvá,ca eØe«Öj­˜¡AkLŽÒ–`ú !› Â÷= jÀŸˆ±Ãâ[!Ö¾Yà·Í)÷ˆÞ§TéÛÆ­I#ÍÂIççÙ}ÂÀUïRw–[-÷£ž®oÍrº¸ @… ˜ €…ÝÇIˆöJ$í;s¼ŒñN?Â^uй´ V‡ª@J&QÃ' (tÅ ¡¥qør¬äVjç¿ñí¸D€É8áÒîVþÔÿ+€;›P*g*Úg)>ÀÖKUä&õo|ÔZ·Fi^˜£åž÷Ç3ê1×<z;(¡ „õ^>«ÿ{S÷ìó—ßc“0Q—£’œm­„=ÑHêÖ“)×7Ó¬ýìÐÕC·¯¼#ýWjưt¨ëÊA~bR'‰þmH§ºÙ«‚8G@=­ ³/mdÜ›£oÂu=Š×¯„Î †ó§¿o>Ǩ—;h¦0š”³%v¡O^|~Lfo„fNͶ%ß¿Ímô}+ÁkÿgzþïÖ'î¦#$Y+,‘@ý˜4Èo¸s•爀Ç×aø 'Á±ñ\ä-EõqðQPaXë•f±-ÅF^„ÉÒYëÁa¢–‡È‰ð° ð/-Æw&Âàß“ø€³ææDŽ(d4?ˆÝœ{£¿¦³3æïdðìû^¦ƽyè–n"©RDm1´>­üæœ'<•»‡þõ>ä<Â…þÍôöXt’1ˆÄî½A}’J»ü |ëª î\nŸQBb¢ß¡í.ìò“G¿áBO¹ ™ÃRùò8±#U2 ¶¤Fˆn¶d¡qíãÇû08¿éÊbtòž6ûÍa¨eJJSf¶Šm5rù{ï·Nl¹*†ì)8?ª«d#JkÓDÕßR¼ñ•L†çÚºBÀb¥ùÜÑm6[ckšZÙÏ#p¶ò®6c¾wÑq(}É/Çdò‘•ס}®Ü,#!ÿ¹ÊŠõÐdMqÓÓ Rþ s—ÈÕ=Ä}G(†ü #CŽ51ÄÓÓ¥•”؇_¾ôõÙß®Y›9‰–ïê+¢´=DÕ"G™m¾±`{ÝÞ\É`y‹6œTã?9Ò–°jVH§Ø8+,›¤6sFÎÆÜ–ý’χ­Öæ&Í@EóTæVõë=HÒ9˜¾ÍäeÎLìt…2fT 7.³ææ-Epxž›b¥oa›ç·ð@„Ã{ð2R¦ÛÎÌÊîõ•Û_ÿÏ<猸È3FUZV¾5WˆÁí€g=ÂdšÍ”ªðE(tÜ’\“ï‡y[Îv+\Àà2Η€¬§Ìõh‚„‚E°Ç—ÌÅ8­¡ú×ìWíƒöúïI-ŸÔ6¬¶ôºê-}ƒ”œŒ}õås‹’ë~©-©~—^Ûr—r7kˆG6÷`»¶×4É^N[-21'Ç@Ÿy£ã™øO•ØjiFE…ž©*,‘Æ¢ÆÂ*™&fÑ`¢ ¬¢²Uª@pãú¥‡¼™ž?çÁÛ®>⾑¤Ä•0ûÁJHIl=ÒF`]w,~HC¾îÒ :éµ§5垺_ °ÃÏÕó çÐÔsÑïLe·3ÂìßP«QÍo#æ»fÝ¥Á ”Ô&¼ÏÛÂÉ2íR„\Ž˜?#Æw^t_Êm¸/¢“§A–2kÆ×“ƒ`†·§tv¿âX"VÄõWE9Èâp¼8úûø×1mÈr/=Òᆠʲ±Â+GY·I]‰ÏùØ'}œêZ(\v¶ëp’þëP°gÀ$à¿n &©'@ÓŒ—ô~8Ÿâ»:=¶Jdo>›DGgÔ{¡£ÈÇÈD.E!¡ƒõöxš)åLÓ%gTšÎj,£¾mAñÚäÀã°ÍSæçÑO´­–k(2®{ é6I§ éo/îØV ÿÁúõ’çHË.+ž8²/ü$âÔ·‰ Ò£Š¦ ©¿Î¢á[•1^ÕKÃfp\ª}žSý­Nv%HºÐt¯Awgaìè@`Sµ8ñœ\Té¸fžÙÞ~ùÞ [3Rƒ#ÖtòÎ2¥ ‘±­ÊÛš 0ý°+Œ[Vý¼Ã$>uFyºß;Ã;Cæˆy©å1DÝV>‡Ð"?1ÓBª«MŠ‘W@¯0rW ¹¤£7îV ×– „F%¹ˆêjõw(Ð 6rï¾–#½[ê$޹÷}jÎÐïÑ…«~†‹‰ÝïÏx|3'Uן؂"êLì¨óæH¸Ò7hJí<¸ÜgSˆi÷5 N䛓25<'\H'#”Î[M>iï3bJPž W}ëÎ}ŽósUèÍñõ[>¡kî³k¼ÁÁöÁv¡±hwlŸ3_! nñ8›œZm·[†¾EÝ€*V˃8 S’VAïm‰öòxP®@@uî«(¶V|qúà~n¯,ÍSÒyŽr§GŒ|Üéõ¤ÖNx‹´:(eÃ3ìH¿p½WvÜJåo8Þ–èÄß•†éÍvTnÏÁñ}Ìx1ñÔ2Ú%eµ eã†ÿ<õ(µœÍ¸øk:¾S6§0–e-ósùˆªÉ‰¼*OõÕyBCyÛsì@¿´¹ý\—ekVΧuÐ)«ÈÃeV¯ÃlÝÝVçlwîl6Û«·m¯ÜƉ©Ħ ËÐLïGC—Ç?E± ÿ'qgc÷{dx½$'®úif]ÉyÆ=Gí¿ u#IŸªò@YQNûÍK»cÆé¢ØñÀó€F W| ï6»}W7ñÈ\6KmÚR€£!„£"ªÍÄH›ä¡‹Gd?p½ÑÿHÔîŠLRžV43ö:VÖ@ógàvÖÚëúˆ%óNxǰ€Ù J±óר¤¼RÁÂz»´J†ˆ  Õ»“Ï?R‰Öž££’1CUˆ?ê;h_j ì~n2ü×¥¶ŠŒ‹Ë[(Ù%’ÿ££ñÛfáYB$*ï™Í~®¢¬õ¸â½þI¥­,€ûãìõ=MÕŠ*mù Âk¯WPE‰b,GN€ *a]ñ¯ >N“jÞ4¯Ï"OÜ=‰HåÅЇ²¶CõsX+‘k"DA¦˜ªNîÈŒª@ƸT[§oòâgu(¶pÍè «Ú´T“ 6ÏÅÞ±œë#ÂeâPK÷»õ$NoÀ—÷XLtçùg©Yn!ÝY;}£e>& ÚÖêú~;#@,/a˜§Ød½MªÙ¹ƒÚ >T £%ÂÊÉëÞ׵߿w«|‹¾þ hÙ¶VºÙQð'Lй"Y¾ÓÒÞj•r~03Y4”-wÍqåI…†©« É DèÙý对)¥ž%€}ý~¡«P#Hv6î1ÄÁ4†ö°0‡05õĉ6¤$M$×Î Ÿ.-êèFþNÈüô‘„~g" Þõf¹ãl¿_÷íÞ£Ào ~|WRBAÈÀÉWœ× 0C^¶Ûä[§y5xmòr ÷å ¸)”,TZæ¥íÙ#X*âNÀr–7H”=í†>ÃûªÓ”§_¸å’¼Uäå~¹NKF>vhíÔ^ëîªÒPcݲ!w9¤ƒ‹'tóÃôµÆ¨IHb&M‰zI¯г(Í$-êB¾{Ki|Ýýú)J&7ñëdÍd ¦ª$‘Õâ*rÑ/ø[}cˆ¯ß¢Ð9¾Œ9…kVœi¥\KîÃß)`½þ %‰³qÆÔ "Ä­2åß²[”-4Õ|DEØ“'¦‚äé©×ÐZ”+B¬ÕÖWã%Ī_ nņX.Îé÷‘Pï.ˆüÝÙ}(ä¡þC¬ûÊ·Êž-ì¹S Ò´Sp]›lêÿ5 ÛÑÐfžÞ‹[±}U­^7ùJSv‚àà·£\ n_AÿäïûššÀU[›&ÌžÖûù)Ÿ§Ä´^~i«Wµä'´±+}ÿúÅðѨ \‰›–•äÖòá‚´ÒÝãÎŽ¥~«EãNFEÖ¿íñefäö%÷V™ÚE6üDá`ÕVrÕâ’Šn¢I&0¦òÁv·ªPX[ Æ sN-H©Ž¥Ø—¿K…µ HxèðÌ àçd´¹ÿÎX¬,žÀÜfnÀXbn–XIe޶/]Jpð6±­ŸgIZR칩êsÊôE$TÛë–U' ŒÓª$"2Ñs4Ï—k{¹©úLGoëb’䘮åÉ8ç'^qC\}8Œ)¢ꀶßÉÆ\ö'Â`¸Ñ×ku´t|¡•èçãk¨ˆ¯4½QçYúNº$;Lìkº …“œ¨kÄ\;÷öR§5œÕߨÏጽó  Ìx7êí dwùàõqzíLGÒ©yº@ÃÝÁ¨ö·ÀŸ¼4­äìÞ+¢IvÝT±y}‘ÓðMõﶬšFXŸ±ƒÔ—ä@õ\„”ŠŸ×ÙFkš•Äg |÷HÂÞàœ"ëYµÃƒuòÆÃU°›%k hLa¡Ê»nß‘â'A VîÜ?†Döˆ¾àr¥˜I¨›™8Å”©NThÕØ¦Ï9Åá–¹S0ŒÅdËcmxm+Õ´ôŒøÙˆ|fÄV“"e¢ SÉ }ÀEaPÂ9ÄòcsÊ·ïá7T#lljc}}„Jm€æ¿Êf¿°<ÅxÍýá Gm -e©|Ö°ÁOWZ|Ý:fؤ†Ö;¯Hh~ñÞôÌ’;EŽÙ½¦mvhN7«PKN°Ù)Þ)C¢4(‚ë~½ËÒNˆʈí§$&´“­š½úp‚È™YCXVXïœê »8µîìR 'CEùj½ÅAP7qCµ¡Jñ"æÉ"±‘%W=±®ä=`Ä_ׯcƒõ/Ùk½ÙÊñõjžv/»dµ™’ÜE2U¶ùFËf±VR·DU•HwDs°%û/T¥~\wm£=µÙ‹Éê¶Do¥%Rÿ>’«?ü¼ ” ÀQï#Œúÿ‰é”ù<;ò Û!çÕµv‰šý´-Ô}{æ+£¢¹? ôÿìî(”vè)¹Ê¬'N,#ÆÙ/"Ä=ÇP‚@Q…»,ÒOxŤ\Wⲇ@aµE/¶o~²Õ•,ÞÔ¢§óÏË•Žì«„U¢ÈªX‹Ý RD„²ï¤„„1È+êð±éÎý8:@/øÕz†m` Wã<&‚¬žP½Tý_*ˆHðü¸zz›L¡Ý $øxõvÚiÄFÏ«XÃAh*¶2ÕºÂJΚÜðFúƒ`™%˜¬’Їº’½«-1“ð/1>ÉŠ×MŠ–òYÖFצ‰°[~ªìøž¨Áç8kfSU[МòéºQÐØö9…öœh-ÎɼRÛ:I‘N", -µ}r×@±^ÅÌcÛðÁpÙË–ÅôÛøüïKfTQ؊ٺª‰×BÂä8¹Ìˆ’†Õñ8ãdV›GÁÌV1ü!“F…èE׿KÀgÏa&ä¥'8ZR¬X¸zà’ÿfy0KÕœ… ªi¯¦UjñV(O¢j×ÿF½Xp‰ï›F!ßÌO™%ãèmåŠgDç%Ï—ŒÄ'å¨ä-!ùFrÜæ*âjÍ¿A¿ù ë1açµ³ö”¸Ø¿yä?㞃0™ÿ¶b+íK=Ò (óèÚÅå\šüž<ú–JÿJ8NüĶ-¥'B’ã¡Ü ïÖæ”^Äë¹õ·ªé0°ÈášKîÒñ3Zጒ©Ÿ¶»îÉzxžÔiŽN÷ò,ñü,ãw2¼ë¯Mß&¯nÀ=šU¼þnC»¨0=+5îcNdv÷+üÁX€*šeÙ­ áúÿû7("„Ùžª8¯Ø•¶ûÌÌFSƒOI¿ç¤³;ü¢¨¾/õE¿ßmi…¸|’ñ 6”ÿ0Õõ$m“BŸuz é6ÈL~0M¤d@¬(NN2Éx}H[gYìO‚&ü7H0:õŸ-ÊTquKø=ij.mA… Q$23ýjÕʼn)"üiZ<÷é&Ë,œay{Ä‹Þ6SnRøÏê6M”R"HRqå&*¿£Ö¿Á°ÔEÀ- õ|Coz/ïÔ)w°|_ˆXª öü“С÷ëpèFSíÛ1Óº|ñy¼Þ^Í@C“Ys2] U}ßèÞm‰R×{XÆáe/ÐDaõ2—[!'l?æ¨)=¥Ø·4:šÂ®ÒÑÎ.uüÂCön BÍÑyVmó¾¨U¡˜âÍ öÒTß²>Tx¢š—êîƒÙg]‹ºël²¨k–ô?}î*û|=hI¥UHi=(’º^i»‡ŸlÄÄÔ_Ur'›Þ÷^CÁ™N¢§[ åL†kh“0^ÌöžynôˆÝÞ|ÅÒÿ«´×–ª œ©3Úƒ´*pQû`bNTÄ s}oFã®[n#Í®4“3öÎíÙ4F²k¤r~ª#» ¶!½ñ\Åø#ƒÜèÉyâò"3Œ¾8‚ј0n³þÎ ƒ\„©²$r'Ø ?¬VC77™jjóχœSn ÚìG:Ô‚ëá"í”(&|½ D˜/5JßzeYñÁ—6U„Ð+ßÙ4tµÀ¡[ÍѵÑW´¯vŸÆÍ|:2Ò}{ÊnÂ4ûŒ7saš¸š¼m§™IgdÑ'0dN²0Âû»Öb_"öiYäB58úéC«QŠM»­t)å}§½‰Çõ”J·Š’ó:]#ÿYnÝ+6cHˆZÜ)„2ãJÇ׺ùÿ눰Ϲ&£²tÉ¡]Ùºù„LîZ~* |ýÜRQݲ̵h7j¦>´×9÷r+;cvé»{øãü!78 íeJî÷Ÿ‹ãÞAf”§`s8v¶È~‰fúMl  $n?´’„sí@ y¦YI‘y$CùNDô +ÑÒVHê£; æhÕžâïavåA,©‚dó=‘6Ö—ï4n¶4t€é×.Y¬T·KÑÁ7ðƒCDtÕfÁ*;‹èÜ´˜å~ h÷Jg„èóh¬_É,%R+xTxgŒ)<£ >¯ûsÇ)Ìmå'yxPªÚŒýv+vtŸèîxŸ)FêZü}&ö"Ðú£ €×Óàêì“ÃWêo“ˆke–»é7£95Á>dÚnÇ>«€²ñ_¤TLå<˜.gÑɸuÍŸ8(‡‚ªf\øx ƒ£ã쀻Å61nýžK–û¥F–½œräýx†ƒ2loÎBÿwùkÝòn­zˆ_&£?QÄ<[¾$P§¥”P!ÇFàGÍ4²õ¹3¥#t1']ŒÚ[L>'*ÏtP`H³¶Ê“T¯ö‰#Ç-ú'²»FtíÉt×ëLžÙd¾Aw/‡*¥tŠÈåC’ܬ(ãÀ½á·ªD?’ô•³Ô[ÎG‡C¸©¦Í—„ ¾äòp1Lº D9Jí#×abWv•a—ÿëÐWŸQxPkèß¶•XtЇ«ìà!^•}NѳÞ|¶–ØvK6›6‘Çû¤ÞdÿïS+R»ÓPCß…Áüi‚¢ ä.ýVNÛ½óW¦0Ú‡³‚e@„ÍÙXØF ]ŽÕ]âHJÎuAú³01$ÉîÚý–E²úÇ7’U=üÇ|G.ÄòqŠH‘”ôú ÷¼jìRi\±¹N>å;W&žæFeÎTìè³ã3c[Ìó2¨Mdy/ÃìôìTöf)›p¿VœkaÚÀB«ŽÁ¸Ïœ¬ïáT€žÄŨŸx p¿ªV½Å¼|˜êñvö˜@Ïä1P =4uHr¢¼”„×¦îÆ ú´FüôõhÛjÉ] "øÀiC òîεƒÒg»ã8‰ñBeSÿž™|/&[S†®åÊ7õ§ö²ßoˆ,º×o7tâ{‰˜ðæñKeÿŽ1ÐŪ§ˆî>ÅÚ©Ô¿ûMZìÒghþpíFª—­¶À• ÒëöJ°€?1”§+ûÓr\“-'ÙDmºÊ_Y¯©?nZù÷¼?ù4Jƒ)'\ô„Zú±åÙN_uí $„P¶j{A6ú+Ía1ÿ™ýˆ¤¶¦¬8Òq³Ü×Y®µ¶«‹ù:ðÇL…Ú6ÁE= ywΔ É: דÉÂ))ÉkR–È!ßf¯,DÐ oo’‘6«rÎ\ùº»0ŽˆÌõÝéáÌB4(…]~úÞá¼ÿú<‘„k SÙ ö‰|ß~£(3ϬòR(nD‹£„~Ѫ«jgSd’ôå²·µ­Ôìù(,®eq!M›MîÆæÜ¤Œö°¡S ¥ö=â³ÛŽœÊ[_ÁºýþB=.â¼eQ$õJªÚàºTlI÷ʳŸ˜/tB„=ë3´rû|ߢ¶&@püDg©ó|ßw\â7ul¨TöXŽ=Šœ º¨3Â={$N£jL•Ÿ¸†›HcR[5U(è ÜKŽÈ“tœl†è[€ ޏJÝÌëûád ¾'í¨—æuM.“o9bÔ"h³ Èòø%Öþ]ÌÑï{Ø{Å»@7JæÄÚ¿ y?ÂYÙŸ<îàÿšÒEÙÔy;à O¹xÞ¹¾z¤Ð×[,™Û/QJMkœÖ(™SQ@Ò.‘j¶@% EÌ/9¸@ˆ’‹NHPè¹pµ]I®E›…V/ç§~„-AÓ ­n`àÆÚ­gÿ²xQþ‹êÊ–GH&,eÿOÀrX8.Ð:a¶5ìY< @¡á¢¨;ÿçÖt»¢{C¤H¥"H²A‰[BeR{À«ÙžÒ>Hn×Û‚½Lù{‚hå@ó%ã£_.†…úÑü ¯ 2j2É­QŒJzÎÓ¯3ÕËxVâ‡~XˆÝòßè ð¬ë(};ïJÒŒö~{Þ¢ëyᤣ³?Ãìö¯±þ³úÉûZ^3m‹Èܵ‘j•Ò€úÇÎu_«Œ±Ÿ8QfÖ"¸(,´iDÇO¥¼¬ãß˼doW­N@5·ñÎÙqXD¸‚ðd«;Üö\Y¥É,'ñ5禱N¯+×@Þ×*-•CcÒ?G è¥ Ì{{ó*‘Ý„Ë ¿ÞÁ{qç7rñ3¤Žd‡LÕX¿…½žÂŒ·SþQM,YHtÍ-/TyÁu‘ÃÖ Ýp¯Âˆ¸ÔÛpÙÝ{ì(Â9ø¤¶ËØ*jð¶­×”ð4¾­ûSZåê[q_D¬€à©ñh³à’ÛÔWÖcÐ<û’ç="ÄÌ•~Gù÷¡òZ§#ànUÑ¿–œÃñ,Cb ŽE¥S_¨~¿fUEORå)Iº¸œ´¡c÷Þ@ c5åWèŸÛè¤mYÙ®Äãÿéeð=ê 5™@U†§ù>m5ÿE'>»!µYz´¾aïÁÁ¶ÿ ·©‘:à›(vÁæçÙfg>8­®ëñœ¨=©[iÖJÉúKm€¡È^!ª˜Ñ¡z T¶@Ñ4IœF`lz¯èâ’ÇÒÉ­{m‡¯‰8Lq¾«¤“Šð¯TGRØ´ bˆîA¥Œr€ð ún_YÃ+¡³`…hG½°±$´˜)¥bζÙ§~¡o”wz‹ hÕôvS$ÇOk N²UÞèóZä”®0˜è Î…÷~Ìj•.*AûÅikO¬ÒHŽ0XÜ9‡ÐÔklZ=êS#× íT›é‘$t€›¶HãýÕÊÉ’Çð*² ݨ ÅeÛü6 44,Cn.´©iÊy€Î…u<Ðά¨£X]°ù>÷ågõ:[ûòœ°e³¯!pûŒ 61÷|[|+ïw€ÔË5XÌßæ‹ûˆóaæ¨+zÙÓ4Ù¡%KQ‚(™YÔ;üê9’ Ê‘KàrUã'âä&Æ`פ¸zpyW®º‹&Â]:¹— ²QK廸¿fuÚ7F*‡â¨?¼S~«t3I²z‹Ã ×9È|ê4ÅöÀ\<*’ßóçØuoϱvoÔUoH+欙֦'1Í”…g :̬ Bi ´Zls.$ïÀ–K.”Jo*Cái…Í|+€iº-=Ùž&‡3uðãÿ?Ю¿zD _|¤PȤU¤ E>ôõEOU¨å^¡ehê+G4ƒ—ö‚Ë‹·.pe>‹Øòk>I‚kVŽ…ÅÅ÷!,Á«g[Á]ƒŒ¸¨¾Ô í9ågž'Aiƒ¬¡…! µ4îcz‰f5qÃÐÍ‹¦ùã»ÝÉn´–ÞÏÌc;YàÚŒ•Ϥ¯7¶ÆDÙÉkôG»Ô»0µ*vHÈŠ”[r¥Îk™èGjh«æÖØŒ'IÞ7”à®û„H˜ïЍ,ezuO\ùŸ0‹4ÊOmB¿ ÒR=« 6C ô‹`~ºÓ£wß[%DoÌEÕÔÕ$öÂIç¡×t³ãä¦ xÕîÂrž .‰oV|Äa~‚OZ,Í'z†ŒS6k9Pw²Œ§8 ûÑ.t¶¬‹®<›–0Žq´„ìÉ" eúŠ1”<¹w»ì®·zZ­*ŸHia陸˦òÞÛI¥VLêñ~Âs#g­žZìMÏïE¿:<Êvœ9(~ZUí\weXŒ&ÙÅüªØÍ¢GÁþ^ƒôÕÑ—­}Ç ßHݬɚ~]dÏÑk}Ÿ×'¤³¹,ûä^pùC(•yX¥Ö{LñÑÌE´õK8Ê¢¿`E3§xóœê¼R™$q&zˆUÛËܯüDÊEOWZLƒøJ:5”ØYHâ»j5~ðYœÿrJN×­ÈMP¦ßi\—Îà|†Î\º„UðdBñdÀõC¾×‘Û¯²CàÑКÖ,7w2nÅ7ä¡|N¬*|»ð¶LÃìC(€Vα€Ä/ñ 8_¤¡Û{ÙüíPK¼÷B]Â#Íl°Ú_y˜Òz°Ç½7™W½JeËv|þ×–“¾…UË\Jí©šOp0÷X;Ó‰: e¯(Û¤°©Oz‘ÿ÷jbÞ0¢*|RY¢qÚyWëÖ„m-Ëïr‡Z§bä<órôÊàQó" £_›‚7 DT yS6YýÞι¦3[¿¸bÔ“ŒÙp› ±â¾ë±Nápyñµqær¯‹Î#ÀÎ^›õ -·¼Mä+ètöèðâã`Ð]Xá ïü†º‡FÝã}]{÷\Žd,‚· 2dŸd­¥¤ Ü7ë>ž»…õõ¨Œk@ÔœßRn°ãRá¨ü¤dŸÄÍ_jE ·Ôk„][.ç9ôÙO²ôWèÏ09µµ×±°×²AæòtµÜ‰Öy¾ª»òrï‰Ë:qsd¿<×ųl^»ðZm§€»ñz:—ïYÅEã¶NŸSy[8ÛÂàÁ¦™÷9àŽBÙÑòEšHËáN=„UvO(ÚÞ/|ËtéțǸ?…pŠ$»I=n}MÊY”]fª's§7.ó_NŇ "JlÛýCÇÊÁo^JTÞwPXU IOÝ.Ç©]]f°kø Æ›–{ÍSš£OBRä1o º ¥m…O;3ä«xý,ÇÉ‹ðpxÈŠ€C5-~ùÎëü¹\aEIüÙº¿.J³%Ç=»Ü¸@–žIˆu¢\žÑŽ/E%‚›? T…AÑ fù€c^YUiú÷ »0ð…€ÏˆýP»!üÑ€jî‰ÔÝÕKçª`è9ÕÔ%¬ØUjX„[TÎnXÆ3OïP϶·=é·1¯µxÿ;|2ؾ¤cqÁ³Åak\«Z#·œAOcû™ˆ‡þãBÇêÎm)HžAø% űT„4O)îºdC·8 îÆœ nÅyvK"{Ý[’ˆCðëJ= v4$Ý󹃎M&‘¹XU”…ZDó'^sM=¼X²£<ÙdèûhÑœå'¡KŸÁ.¨ýÙÍ¿I¹âåit”hóï> Z뀳Ùäœ8XFÙ_º,^ Õ ),À#ôÍ ¥ -¯\"w ¹ÃA7Å‚õPú%%DÓc.‚×ルH@Ûeøò­põLö?úø\ÚøÍøMlÀ?Išóg ¦£|¶¬ù‘bsÿÊ;_f·¸… „-»»è·4MÁ%ÕB儼'ñv lªd›L¼¬š¡'Jm¤§…÷W¿ƒ%ç~hsŸyÅËx•ýõ ä)bħ¿C¬Â+dÚ=í~l‚?”ÛµÌôúŽÃ÷Ñs¡ÓúÄø'7]¢ \á.’ÎóÀœ5 MŸ×^†­ãjCt;Œ¶ÈnYmaëíÊTeä'MXš®ŠÉ;šaµ7gß•LT‡#‘JõJd€fd‡ÀˆÓ©Ñ9¦õao°§Zb³˜_ŠÉÍeV:Ì ÞCôfÂô–,Î+¥SÁRÇ:è*qåò!ëô.ÂÒm}§¬•¹E;‹Öv»` ›™Ü¯`È0¾H™N4j¸–cÊ]´“˜qXZÝG¦z<íòÇá—•FÁ„lqßç!õòBc‰Ï5Lb²£g‹Ù ¥ÁhOOåÛ ºNÃ\rÛ4£!Vþ•eè;\PõJ—}Ö@Ú°ež#ÅVpÝæÜ³°a×9’¥@üV‹yÏÆùC7ü’÷­Î B¥ë%Q®±T°Êú?™d€Ä« M|JõàPîŒ~_äîºÜ`~¼ÎÔ@ŒD~Pï§Y§ž¤Fß ØD›óñî%Wþ=J©ÓWÍ0<´E» a?Ö¤YP¾åÔHßÚºó+FvÇ›¹)<çòÀiûæHÿŒ°3+q%è„Y£¥WÇ{k®‚{ia£°â -«­ê…"i'ÏÖ ¶,D$Èi¶*ÁùÏç]”‹<U’W]¢JÌL(¼övµžüOúßÚäC ª¬È[@÷}û„‘&M°“xñê¥Þ ñ‡~$£vý–Íy.<+“/lM{DíÞ ©‚Bcòb+-„@„ðŒ}±‡X“È}e×-MµØ®T’$yàqó³%ym1.ã4ä ºAïîSõðU們z•_áG7¢ûÝÅÁK¨y¦a†QHT†ýƒDW §MDÖpü½FÍ—PÇ ï<»nC8Oqp=JÍw¦U}ŸÇ% 㜃;º^ à AÇÓÔ Ö`ŽÖ’Éå ¿-;jíÓ£±ì”¾òáàT¦Ç‹ú©ô¼¹¹ËØ·Û#5<àäÊsû×Z½|^gÿ œ[Å+º»«Fr³òÑqúƒŸƒt‡||·ÎÍoIÄ>,‹ºŸiòNám‘àÄØñHhÍN¾°5Œ¸«Bª¤d¸˜%dcÃŒ£&"íq»D Ðg<5»SÂù)}Á"‰ôéçZáŸ`ÅVî q=g“"ÆU•g½?mûÁŒ¡Úµ0¼„8¢ô5*e(½/Ø/*éÞzÐ pYF î©Õá4ŽlWP{jÐ%'k+…‡RwÓâÇÒßy›vÇS(ë £ò€êëYIµñMÚ”úÐZ}»R@"a}M·Ždþ%´XÇÊ-D¼ÈœÖ"-Ò`hgks1mêEir ]se_x_/G}" 3“GäHʳ"á‘rð?0£Ø§¶ìðs¼eáJNôgà·0—ƒuÑGß~¬©TD´šâ ÅLÐ:©ÿuíÉïJÒÙ?ß‚ ÛµHÁ‡Úx#„ ¡’`ìj›XÒ©—CNô´•>•îm79¨Æ½T6iXl›è”ú³Ãzr²ÇŒ½£u÷Â×ÛMiU¬ròq΀AÄãx²Xa’å-³S­òÏ0ö~$\Ê ±m1p®ÌÅœ£›€Ò˜VÑ9İü‡ç:ƒ—’Òvùñkc(¦dXñ»Ñ1£bP(uQƒ™1„¡Z/W.åŽ'Ù"Ci£„µ&Á©žó æÐê\´ùD´9•ð—fÚѨ!&I)wj'Kä[‡?Î"¼"mˆ;4 hRXYªªi"¡à‹DÆ#I—c‚0ÿ!Bd5”\ÕÇÏ¡“õ6†+õýTiÌå¹ S*žÎɶz–ŽÝ Žæç`Óù¤c‡ä³î'Œ“ógÜG;áÿðzŸq[±êe¥a½¯@³¨›³š‹º]]´­Ã9~æ[¿Ú2sgô¸Aó·ç½í2ê •® è|•³rQé1Ó•Ú÷Æ„G1¤3—ó'Ó¤¹ümí§lÒÚ~»K¡ÙI¢º&è{pŒÈx´nÅÕ^p˜ pÈåHC‡çµHz~پ–ø¤òaŽÔüW7µKÎ5c[š&±[Rj Ö™o¿ÍkˆœSðf4l=‹å Ƶƒ:Ó°eÇG4ÌîF'¶g."úÃp ï”g 7ï,ñ'nEðŸ‰qÒ*ïòM[\̃¼Ø7~ôª#s¸|µ³7Ë«/ðKéöª¾›rS^ȯ“œú/_O˜]o)Ž(w.ÔFcfèjô3²bÉõàæFN‘µ%fú«-ÿh:Fô5Ÿà΋÷ßÇ3·Š÷=-)Î<8·ŠaiÇŽwªºÐ‹ÒëDûøz@D¹žqñ|N˜Î½|rc޲^ë `6êŸãæ@§ATà÷ÙÀÔЪMœ\?+ù#¬$ | ×gUnößd˜¹àу´bMRiI'ò"V€süû“ "ùù9*éTל¶H§p§Âm”šcÃÜÎ$ªÕÏ«ÐIbÆôÿR´´<%Y×H¾ç$sGÂì9~œkB }Oß.þeLCü®ï®†Uàï{{Ýrÿ&ò؟»ÕÞ©2`rmߌ Ù­Cؼ¾Ðš;‘HŠRIØ>ë\»ã@ˉ €oHkÈã¯;­ÚK~áîŸÜz!·ÌÒt_®î—yùjÒ%cîƒDœº;N=Â9B?4¦n"¹*Ð O…ÃÄì@µà1b¤&^R¦ãK,ߟÀAnÔ¬XøÊ@IôRåw'}ލ˜Êó?aˆv®ÿ ìU}±ll“*(À̵w…º %b}¾¾ éc5Cê£Dë ûæ…œãÑýÑ㺮QÈd¥ô$ZÆ !•N{£åà·JHP—%Ι{BøŒžqWÖ¾ßÑ$3ÙÀ öß:+K2!D£/]éQ¨hêè¡0]ŒŽ+×”få|nºÝnZc8»»[¾«³MÊ8"Иɉ̊Ø20^že÷Îl›9uj*` ÅŹ'R½uw§úk?ÄÎæûö¸ð‘È”q^/òÛ‰ #¡ PÐ/igŽD‹“õÝÜ3¨Ö¬“L›2;¸HIõ»GÕjjëõÒnW_¨ÍÞˆäJª¢c3øR~lOÀ“•âêÖŠµÔ¹*/³mP…É×…¨ÉÔ¡}ë¨ÈPÂûVJÞ”i¾Íç Z^Öú±¬IN/ôd8Ùlɳœ ÒÂSà\ä§ oY‘·&ŒÍˆø;ȽWßO]ÁíFí!1û˜H¡t†ÞÕÅwý#û[œ½7!ËÈmHáлJ“ÆAÛÙ»êE»º|ìŸ"€‡‚#‹îèá7IÎ+8ýù±®3FÙ†s^K—ûmÀT /;¦lÞ8ã`EúTEYmºÃ¢ØËÄòúí=Æ}IçL€ qï£ôÝÒ}S¿RŽùåæ_µûlañiÐñ>Û u,H nª;äö¯UódãÕqþ5bØŠ‹èÙ²eó‘#¨‹0Ӕؿ)\áÍuP7_Ö‹£ºÙ÷¼!s¶žûî¨xlåô±Å™V7n‘?DòEäpŠRûÇÝߪ'Äú:ãû†KÆQ] „,z» ¸¬NQj`E´ë謠m€Ý6 ÇÖ ÛûSQH®è?À (|uO_tT’(v-Â$]ÁøÇPÌ޽‡œq½]\³Ã‡¢ž˜~WEÉçÄZô ^ÈÏoaì'z¶¼a±±µoõž˜üô7kVL›î ߪ Çu ül(â•E*7ÞnÍ“\„)+ùÑGÔÕp.mœÙ Kë™§,1~¤4;ª){¥Sý/Vô“¡)©‡{äŠïä]ô®úÿ7¶ÉÚ›èâ’w€Ì­ýMxJ\`¥ š§xÏ)zmZé`jë•êê—u&§¶tg…`mõ]ÙŠ°òâ&!ÑԺˮ`jX•ZßW?”?6Ôš3‘«šðÿ§³É öUÔà­š2ã2²&^Ý`¿^bFjé?#ñÈ"bE‚ÕB—oe‚â*ö:{ : â@ꎮ¢× 4Œ6çæ:¸¾öÇ1h{χÓoµ•¥‡Œ‰Ú:Tq¿i˜+UéöVFW¾æ ›ì€×м!÷õŠ(~ÉÔ* y—ʵzYLJX]kI’$zÖ©«G´|ºz:÷å)îš&‡˜º=¯Èÿ(Vº8¬¸U𗝇•Aiñély¾=ÿ¢º}£ÑãÅ|XP³hl´vVóž+¨K[7TiÕÛmô]ŒÃÒG:¦\긩9'ÛãdÏ¢Q,*­oíogþÄzg%V½NÅ훵`¸ò6×j…›>×>WÖÏ3Ðí` ÊN ä@UÒñ:GÃä£}5¶£# ¤€21&é´¼= 2“á݇¯Ê‘Ìà &Gk</NU²!‚dkwã¡u`m*Ýgàð†»;èf“.£³åw;Z_R˜Ü³×ë™ý‹†ÓóGðôô«ÁaH•_éy׃¦*(UÄQÄTWiä^Ÿ]&H¬#»>—böCkÂW\±‹?þ/éÁIÁ£Ž&£*À?ô2$spä:î°µ>¼Æ(Ã\(Ý»+ˆæe©5¿-Ê­;V²à¨×肊v›EE=A0Òp9q'G0OX¸)W·(‘^&ŒWle#4imÙ&ŽÂ ×+U~öŽEE€>¹„ƒÎ îeJÚJ”î /oTò¤2I–=7ìì,#wB{qn}¾ð³ægùµéoˆ¿ù.Ü–óS‘ëš4ØŠ½so=Pêe©0¿ÜÌNî\ÉŽÎNJªäM¾e|œK~F‹&x P"ÙØµ·r£v{˰¾ñp¶~œðu°ct@4ãÆ‡²1ÐK'QÚt]àôÝ¿™¤-—.þü9Ë”Š‘ø$9mZ«oQxâo‹ Iq.ÛÁ5êÌÉTâ¦Ë¤•Ÿ}ç“Òež‚²xs!§ø:¾Ñ#5 C’1Èè÷2Õ°ýq²„Ž}Ú\؉oŽ1¦L=™„ÆBÒü‡ov"Û;0”s,DŠÔ×åƒ*àƒW59e„Í”|H “²•Á^» ± =@Ó¿˜DÚà,]„™ú;pëd˜¤hT{Küã§ù-;}TÀvãÓU‹w°-ŒÅe&¡šÜK¬5°›U¯5ëÆÐÚ“%évÿ2ÏÒáÚ>‹.Þë£N<àuO£ÀÆ8³h÷j¥¸í0„ßkgOwvN÷>Îú(!úÑÙÒ*>ÚP7‚ùtTÁ{Lýzøô°G¸³þ§V‘Éåã.ÊQùËÅð5˜VáZÖO~±B´Xy³5龸_‹ÛÇy_@TÚîGŒûõF2ŽýSkBqæ­ÈíB"l?tw)òöäÍs»…ÒëòâóWÛ¬ÙK´ô ÏcHŒ¬ÿ6ˆIG ‚=ÜŽPfw^À¤pB¶IÞõ—gyô¬”R¨;²'ID¶cµ&#_Wn²Ù&E²ÞË5ùo´î Ça.GtꨛM,1ZXÅ KÓ«½>5“Ö¾¾ÞBTÈæ–™ä%¥•ë‹R—,WÊ,™³"Ú›X˜'ñ¡œb !É4DñÛlŒÆÒÙ­U¤qð+ÆÏ€Û?¯þ‰§¦½O·»dÑn…µ»Ö`¥ìšAcèZäag,ìJ@0è¿úgñ¸&òET=p9EÑA’Ô@Õ?EJô¡«€òúê5«×¦ê*ݨm] ¡žžä/þ: %ÀSÕ‡œeýYn´r¯F|!J¿²ö!èí£Ü=Å¿\¼ˆÈÄrÿ3+ üýãTbSlP´_‡äà>WLyV£·_ûaþ‘d‘—÷û8óàv÷íÃù+rkK)SßÕ»©—±ÅïA^!™:µ'¯78oT½`å&ˆ 2m°ßêçh›pÝçJwÚM˜îª—ªkì?R.üh¿:,i»rÌ£vΆ?úÃ-9m«v:.÷öMÓŒhÖý*ÄsÄOií¦'®˜p‹ ç9-„ÊY&­;[ü#á¬]Ô'xƒˆ?L»Rõë4YO(!‹·&îöæË­xs‹¨а’ƒ…Átµa—P†Ô äA—Ù¶IΤ…å¼ážàl­Qž¹ÝH.×_’¿BÄ8ˆ$±Œ€ˆCêà]…Y>1ɘ"fZanž;·=FNåÊÈÉølTÜyš%1Kœ\HS’t‘¶J%4x‹•ð•§fšS¹ò®1],ú‹®þºœÛ€GðsßMô‘´„‡Ý u˜Øå7$}ºŸ1§Ð¤¢ýý½ÍTP1ËP…Ô`?º4'd<C‘´ „nPË<¿ü\&Ÿ¼Ž~Jmài閸Ͻ6‰Fyªs2…ù¬R]ÙÀ«3úi÷ñ~o¶ÌhŠ¿2k^¢¯‹YïЇý”¿ŽNé6µ¼t¹iY,.¸¤vü^j¢].D4/Î J‘tÓ8ìQ÷9ƒÚUun2.âb1ª¹KsDß#—°¼r½“g¿{@rXÍ w<~ÇG|Û&‹l'WG)üÓ—x´ÄÍlE­K‹RS¸ ‰›÷ΘÇX¤Cãn)«;ÀÜ'XÁå¾;;š\®Xfêz‡ ÏÑé ֎䟱rœlÁ.¹ßl(^õ!Hgó×kßHïW{»œŽ ™¦þçùCþÎQSÙ˜Žõ›‡¸dU«2Wce×ý©I¨Wü"ƒ¹£ž÷yž€#“á«¢ÄZÎbpAÿX›„º T /8¸~àfKd«¶PKþW5t“†út‰¬Ö—'¦¾ì˜ÔœùÆ„3Æåù›ª˜ãv$j‚L-©¬I ˆdD<ŒY##Ä?^h”á=ñÆ B—íË_²y£ÐÁ“L°¨2:~N]š'´I‡Ð8>—7ø/¦²ÆÖ•®Ô>Z5j^.ÚS²ÐûdsÈÁÇÕ°þSå–;KAg¹e1‰£ÈóÄÝ*aÑlöÊBÀ“ûB6y»ÿÍ·Åü®Ê%‘ÌUdz½ç3[.vNš1,ð„þäâYšn†É¼ho•#+ÅŽtæø9˜½½!B± ¼æ¥éé°á’G&Q±38ÒLËFRY•h9 ½-¦#<ß9¢Õ‡öç\‘²viQ3Ýæi²Èb›– h¥ß;è"­•¼/Û’Ú(„™=¬g"´˜Ì-²X–v6Ta ³‘]fìÁ"Å‚2žÆ1 Œòʽ6LTwÓ_T*Å0§HòAšîÿDÑÁ³8¾,ënŸWU=œ–`ÚÌ“Š°ÄG–xZm 1Жg-I¬äª°òëYÐŽ_jP཰PÁ×oÏn³]êÿ9¤€Ê§Þ=ö“H›EyN¸šWÅx܃{vwReKŽé 4á4ùNö™DúŸaa@ùœ¦—¿nŠAô•8ÿ®ícû{HÂå’_PÒïX\f.:uØo˜Jq K õ972œh|ûñ\ÇW¡%l%[ fw/»ÛóéO(î¶bvßó·RЭ'ÚîÓñVµ‡Nô`*àÏÇ0”²ÊeÏÉÇXèN0U÷3Ð=ÈV‚¼ÀòùØÀ–kb±;¶›ÉŸZ*ðF†ûhM¨ú±w\¿H9–¨ ¿YAÑ4ËFÉã™Åõ÷¸Îü…ä`ÒÞ dè"kÉUÔ€—æBŒÝgñ èj1RÆëT,¨ÅÀò7ó¥+_ºÂ4:â }ÙŠŽþN©¢¶Ê×$;vlW±Àˆç1‰¼GÊþÈF‰Ò2ñr@qGUä<̵3f<»üÜFì|®Ã£P{!?¦Ê¸Ø’•¿YmS›á]ñÒXçvS"¶`)Óµ3¿æù¬™Ìr>\`ýOË ÑËh=ì©bÍã:¦5íÃ*‘Ïœâèž/&ŒÞüsß ÒâÛ„C°Šk´á*†Ä÷ÀjÅ”1j³G‚ø—µ×¦§>õ¥Ì)´Î]tQä‡i‡•¯xÄå6Ã0Åô´Ýdl•ÝÁ¤o€ÁÈ*aÁ  PJ­‘N6Àc·!ÊLÌ/‹“­1i²Fr%ŸÓY é±>Õ…<óIöþðQ€qüqù¡ª„Ÿ!MÓMV2dÏDò“ICkAŒ¼Rnk9u1«šk"?d4-)öÖWq~V„” yÈׇÒIŸÈs$#C¦Ñó»«Š"¶>ñŠÈ®ås.fÀ'ð®´ Dš¸D¡tEËaC¤‡ˆž””/ ë^#è¾p@–Ä |ŸTM€kÓÞ·ÉýâÆMl04ÌÄíƒýžF%{´ x!äŽÈ#'ôëÞ ±;ý÷oÞ¯Æ ñkLG‹`€‚ï=µ‘Xâ—&X<¥iº,>þŒz‰+ßGyRÞ»uä°Hi¨K¤ÅmWœ&æÅBmÓ}è‰î«k0k[âJlëT¥lãö—“jpe  dkB{Áì¸b™;<¿cu;çÁB3HÎE£Ùîe3EãXZ“ÿÛ¼¶Ø`u`U_|¦@ã»ÅBL ˆEš…÷н$êÄï"¯P{7çú|>¯›eÇPY¯YUšöl5(瞀1‘IlõôX˜ˆª}u`ËË!!ÍÙ­\´'ä1jÜ›{Êà¢<~=¿™þ©òÊ’ÿ°iäÛ9ÀÎ&\ ©¤·õm±¡<ø¨üC@¤·(Hö}“sèÑ­‹0Û¢üx!9Î¥DÕ Iè$á“ÛûÑï¥ëÜô7´I qN7µ23Ö#Р¥Zþü©Ý„-¸mëx.¨ukó9ÍBnjŸL·þN$7ÛaE“@ó)鿎g $ì˜8AÉœ–,™QòÔܰÊÜRX#C÷ßž§ÒQr&ïúY~]÷DÛÈžEnˆ¼tïÄië—ÞÜka1˜ÞÂïxÞS5s´±¢hÉ!n°—ÈZEv8Ö…Þ¤1Á_é;’›þHws“r}º^ g¾üíÞŠùÕòçYnoL°Æ‡ek™z¼*sB­b1ÖöþWi˜(¯À«bSêϺ‚ç‚‹ø sÖò̲½Öÿ$°äÚiñ„†¢"Y œ³¬áügÒN<5o$ø°pTC³¡±h]:1ÔŠ sMŠ•Ÿ§´aË–¾çB÷ÐáY¢š ÕÎÀHd¥Ó‡£Ë*ô5Sù]L2ƒêcŸ}…xŸ˜ö ÔÞôöaÅBùŠsŒ¤`^¾-ÅӧË!  %4v7;7dDLôTZ{„¸þæI™›W‰º³¿DU膡cU%8˜|½«å .ΦÑŸ¹½û¯²]ã%‡öE÷iç)Õ‚ºR9‚2Ü¡ùˆGtœ\„|ä¹8+´±>úØQDA£E¹jFþ·xxhÏ4[)™îM/Vd²¬‡e*o¯.mX¾G<}ÙU÷˜ »¿ éÈ–vüÌÿ_V *…zª¢!ù?78<"åÓ%;¶iXv#ÔHHLid/—˜*VÜSœÂU«$ÆßôäÂbƹëé=„nýaO ÂóæÍwS3œL¼—;FlüÀ‚¢\P¢q0ãVHdßáþ: txùcOþE§kÛÂ!Z~ã¾Ü· Æ×e#ä¨Ô™(ª:£Ž±ÞŽÐnx†ï›Pa]_íäßú¿á†s…£87}ÏáÌÿºâZ—ëÎ_€ÉÔ"ê--Œâªäг‰%tÐ.}§Dòñ1Û9k¢±"Kª–5äÿ…@µ\ÜÄ!ÄgñáDÊ¢ÎtI‹ex›1Ó×vÀf‡g¥âh 3‡ô?²©Êv>#†î†¬˜?ô]ÝtÈÔæ*r¤®D‘ k3˜ÔoUMUq%$=Ñô™6cù9dÁ6]wÌñÏWkR«WÙÖðjÑz”4Êû RÇÞäIïݳ…d"´H‡+g% œ%lʯ Z§ &ß¹@ln–zòeqôËÌ:ÇB°Ñ“*¯;xÊ,çÂn"— ¾lÔÂ9XªŽaÔn÷ž$¤8Ê$H\*  é+Dé‚.§ÅŠ <0$ÝyF€ê´9ZlKšRãc‹óQó7¤ö˜ù¥Ù ƒ·n4ØaÜèwø¦îµTü®)°¤;äSòo^ ÕúÅòA¹xíüñ*t×&¦ÿmšKûúüƒA\aŸâR:BëãP™çBs]ßt9²®¤ ZÚ÷Í’‹FAAºçÚª,Y®•„áVkåÖv66ó?¶â…вç¢?FPÐýoHŠ€úíø‰0Kíèë•E*WgÈtLGÝ>LÙmâc\zg›¢6Æ>¯aøc~¿f"4"F\±ßV9Ÿï›ÈÝ0FVë QÈŠL£œš9}–%6Ђ—ð\íaFÕƒ}æ!ûclðÜï‹,»ûµûïf>Ô–ÆÑ›¡1©c e@ºa¾·Q)ªkÐ8ST:@ÖJ}IÙºÉC¢¤—²Ñ¾_㊋0-•ZpÐ\®)ÂÄî¹ÜžÈXòŽ¡*¨"ƒ;éȤ¾)VèªLT`„<üé {.óBRÇ|ì0»z´ŠÀ¥ Ž“œÔ.µÖŸ¬L–=²±š–úñ2ƒtj+Q!¸¤ˆgªg½?èüÁ»8ãΊ?Ê4—jÂEõÚºúU\ôPÍ}´_î×#ó–…è"”¤ü2šDç~zwÁ•Ú&"5H‰)hpô6ëþ˜¤>!ª=‹ïú>pþw7ÆÂhVÅõÙžS…BÊvPE—‰Ù]šA"žüŸÎy«JeáÓ₌LŽ J³é¾…íè™ÔpøXY’ßÜhƒkôK}¢EnŠòníé±è»’Á¬üÎ8Ì%Üd_8ƒO½Ü7ÙÏf§ „~ªØ@š(28P†ë[E¹¨VF¢w2èÏד¶¸@^›•-Ÿ>†ýšŸƒá}Ôî êfQcãH…ã걦e¯yØËæš™#FÿD*mº-º|éïQf2»½2ç Ï ì•·s@˜¬r(iIœÈê1—_»é{‚挙«& ±ºæ~Ò¿Q*\'‹/‘9\é´çKZ &·tû^~¾³Dãúv\z²é„^Xa¶TgzÈ33ŠõËBÎDDtzA)H>›ÒibÜa$;=½š~¨7bP8uÂ1ñ U_lÈ w"·~µTFÌ\žayÿy:*ù[ûV"ÑX6#àóDÁÞÁë ÅDý”†@»-Ä/‘“½…>/lyùU'“\ÕE ÇyªòìdŽòý¦Â‹b¥¥›’r*n@zî5˜÷GÈ'ªô¸žAÔ[êr¼0•tƒ= îYa²bXjÂéaÈXz°# !åê{˜¿Õ_‹‘¤ÝIiïRÆ™Õqòekûõ’³â\Õ_b[K¢ ¬ºk7…¼? +—m¿ñðç]@ÚĜÓB7<‚-áÌyÿYÈ>)ŠŸ<ž‡´h!6wN7ªK‡¶(/)B…õŠE”,‚Ó¢Gýáê˜TQ`h÷/©ÞxƒRCE‘1õyd'Œ¥žÝwZüÏ 9¸Î¡êqCŠÜ©1Ò—… v¢$?0d»Ãoð]õjrüÆÎì(Ñ n'º\{K# hr펮ªâÅ5‹õ=´Ûq¾@Ôå.ZÁˆ;J2õðêGŒÑ:¨óe^úô4U±Ža/÷þ¾-i,ðX\‚tÜû>„‹o@I¹‘-Š“é5\Û5 YÈöͶœHƒ™Ig£a' ð×÷¯ôÝXžqñÝCsÔ¶‘ûúø$åþâ¶[ÊvÀdÀÆŽÆFrߊ¿´AÅà°©«O÷µìºKò_f? ‘S™æ]Ü{Z‡Féžì€à‡[Ç»‰™†Â &Á*Vú‘ü¡ÈœîÏÃßÌRZ@cMlñ%C­–½Õ#cZ[ϲhbi Ñ…' Uîp…Åë™ÇE¤N°¶Qµ¬¡«ž„@ÝQ6¤ÇÛl2ÜßWÂ2ç-œQ‚a£¶ ­YÕØsÕ´ÚDåvˆ»°aãLØ!„stº¦üjõ„Êïä5ûÙR\z/e)kzNžÎ¢hàâTL2EÀ;Väám¯ù‰(?>\tœxiji`fÃ,»aIä80>9'Lÿuµö,Æô‰Ÿœ“2Ї€°C$ýC‹¹qÓ—Ùltk'®¯7dcýš½âº|øÉûŸ0³h½‹Sáã (yWÃ[¹çO¡‘#G$¼ ±œxûgy!Ȉ϶a4"…¯ ¯Í½‡Õ¬Ç@@N§úìÍA´Ã„­h¬…»&!ì©z{%Æz;<}BdmU<›¿²,b2ëÒ0ï0^­:\Õ w㦢kžî›¶É'7ØE€¢ò‡¥PpÙ¾qÕŽàmϰ9îÌ4Îâ‚Ä $@swYfk ÉS.ŒH˜s'¨!4é–C•@Ïe&YˆùùoG?Z$µø³Ž™(BBÉàö›ÿàçWðãÜÖÍr$ PâA•]+5¢@AX ¨{¹¬Cu÷P“ò¢µèrr¤A\e.ì±ÏUOî/»0ƒQKbc|'ú¾^w èg¾7`†à0bïóÿ_ª´ïÑÛ%©œÄƒaBþUÒ‹øÝ-w;ºD,©€»Ã‹&÷ïi•üø¹ÐбÎ?~¾  Li@‡¹’ÏȪ¾‡åC—=& b÷©ßä ëösqëÀ—Œ£Ž*U›…þ™˜ù7ã éÈ2i+ZŽ>þŒß¡°^χYxÌÚ,€EXL–,Pæv¥Êg©®>œò‡Aÿí¡Ö 7ïüOp«Áy&iVíçš 9êÌTÚIí:Œ6Õ•¨ñÉgª\iü ³#Š¢F´Ùó€Ü˜­ š=/ãH›@FðR×^«uOl‘ãŸæø°vÿ:=ù®oÅò'.„k³ªiH¼“Éñ;´{…$_ùnÝ&)¶ãúñ»;Ƙ ðþuÓŽcÚù ý¸7CÓC¶8„—¤€uƒÏÖÅÈaع€ª8Õ;F ÈeñýiOÔϓώPæV8˜Y³d¼ÓŒZ*¼ÙŽ 'yIOög·>Fã(0沩BaÛC¼»¾%¦½ºç"€Öôİs=‰•né£5u*F©Ø¼®'Wéõ"òú~ƒgˆ«®¾÷ØÊ:ëF`ç‹·‘º\ò¥j쪷Ä*5Œþ{„5d ¥hŠœªý›bk¡ŸØ'ÔF±YG‡ ÊÀL­QK/!À¶Ê±Ôל,U°ƒf ùÄÍŲ ŒZMË×Ù35ëRúj·œÕpä¬÷”ð.ñ ï_f±ës@ý´ÀgÀÛ·B”´äSÌ㎹šÕªöÖGÀžPüç>øÑXRí›8×9›#QB•¶[¶'Bÿ{}wh7§¯ ± Ãë‰5ö…Åÿ2ýHÁ.gØ9'¢[Òƒ\‚Á!Œ×;°àvheëPÕ†At=-bÂo ;pj–MôpRá§™ÜÝÍk ¦4”üù–ŽP~W¤^n×(öYÝHv<Ä÷ÊŽ‰àðH±„c×°ôÿfOin«˜\óîìÁ¶)Ë6tý¦ýc;sÓ ©h÷μ2ê¯%™è¬óy¯evû»°½ð+üÉ¢ÚÐõ錻ë=mbŸ%{lžçÜ" #3YZ?a‰LgC–¼ù¨R©™\:u,ÀrSçX¹{œÀæžýŸxÆ€ŒYôTÀ ­4ô­Ó‘6|·L*ø…Î{|O1žOh‡€eÔQiþ`²]†ësÞb6CšèðÂWòð2íßÅ#†CÃo3œwL»¹?°ŸXu‘ÀÄj¯&µ"5s’]=j|¸š6ꦫ͆ ‰ÕÑ×Óç-áõ» ²çýL:[A¥0òñIí%Úru{Î~ ‘ä’n.}D!5«HyMìH³ˆ}!ú{úZï*îM˜ˆJÆgKÛ­•Ãò½>p9jq8=…íß&'¤²oãW*çQ·¨3¼­ýû8ô ØÎ}òÁ{²)’Ñ+ãÔ*©.;ÐϤrb߯xLD1ü¨‘Ð_Y<•åâ÷ÍkÞt@p[\gvt\¼u¼ŒŸGÊÑá4~´ é‰òÈ,31B6gÝhíå[Ÿëëº5Ë{xᡯ4’J‚ ˆ3?²îéòW@Ä®M ’moÕÓHâT¸$¢ç±#¹Å¢ò‘È$W%ŒºtVgQv—‘‚ÈlQœÜà"‚µBçbùíÀBà¹eÊjëLP ›µSP4xwT—,~ƒ^Ä¢§> d°÷K*hFN(ˆ¡çNà !ø[6ûŠØÛÃÚÑsr+.&ÁŸnºÜ/í)*¬IÞ%TtÿHeãÙÖÃ̽#<%¸pÞÙ m\D–Œ­DQC?¯ä5@àüg"×ÙŒ0,öõêË¡,ý[Ìo;dQ5ÍÝÀÿ*A˜_²ƒõ}À­tîHœí‚'Þ½áÎZöüðx"-?íž@Wì…ÛK#ÝmCîÇÒ¶"+jñDÓJì“vô«×ÏžÆÛ3«¡-à‹Éà{ÈSÌð.†¹[3©=¶päåíŸz[@›Ša6õv‚v¯ÌœÀÞ."1ÉHJ罤en2Š˜I‚B¯›í¡©ŠNÂaÛ\õ^4#ÒÆiäyÂ5Hã<Š?8±§DNÜ…“_Þ´¼_S"ñ x¹° ‡‰¥÷ņ–D ªÉ}B¨‚œÈºÃ%tW‹ÀCÊíq¨¹pqñB¯ö.¢ÝÂr9YVf­I¤(«…rU.„/±.J=(‰ÈO}é¢u1IÈì­Ú2`mx¢Íñ'ñ"µ%#H&4Í›E37>‡ßgÏ)‚qçpt§5ŦÖå1  O¦÷•OvæÖ‚X–C¥ Òòí¦^å+Ê;ÆùtÉœ¢Åòè a‰4¡¾ƒôL™æI»µ}†ñü¹ß^špjáëSÚàkEU|•[i!\[? ÜõZjñýó€Wã&Vg²ê*ñ‡pvà‰Êmä‹÷IÞWRA9,}uÇacu+¾í ®«‰ôGȤjHiõÇÙò†°Òv`ÿ‘wƈºã9Mæï#ÊêÿÁIÇcå@óiÍ5×XëjRιaODƒýí*¾—c*þ„“ÓW×ã ê°ÌˆHNü* …wŒNó™¤.ÚÜâŒJÞþJöŸØ7áŽXŠ6éïîôyëüÌSê@ÀÇQŒÙj¿ ÄÅxÚLø-%ò9xŸ2µq9ÜØ2C.¹ýûòÂð_òÄ þ`\“½fÖvu¬4^YËÓ_*‡•}-ø9uÊ4Lk*‹üõD ’kCVˆÇgº§š¾åöÑ›‡HA‰¦g„7Iãˆîêgþ3E„3XìNìºñÖx5ÀgX³_#pšMTF?O¹§8æßa ’¶Cn‚<ׇ¢®–ûåd9ȰTRD6†2MŒUŒK¬¤{&ÝÅ‘@œÞa9BÔ_w òv"ÓÌÒ=á JŒB–"ú‚hÃvödípið `³¾ù¯å<ÖÁZl9Ž.Ôì’>áà.÷Ï„Dg1x¶5Zã3Ú6y/Ñl!Ò6lŒ½áP[Äç!›ÍUjTv(§JÕãÙp¾¶9K¦äÞ¥Qh„‹)ª~2Çz ¤Ì¶V^Âsºh²sº¶]Ð…˜’”¦éãSðñÔˆR2Þ}4∢¬½ÐæMv’¨|:kuGmy6½¨Vs>ï½^ydgÆÒ$ì‚#µß7GY#gs馉~UèþfÅY–YÅIZa=VEqAšn#@Á`wdê­8ºˆ>Ðe–\ÏÙE.2{Xp´ð©Ãµ~G`B æA2¤¤š2GÆ<)ü”|÷‘…Ýͺuð nêPéb1è̼ý,¡¯ îtëÈ{­‡Ñ,¥`DÒ¥ãE~8‘ÅüW£G•Lßǯæí}È‚îF7ö§Y{ŽmÃàÓWVÕýrcp”ñÕ6Ÿ·(Œ½Ú˜oa¼UH׆ Ê&9’j³¹\©ps©/™‚&BL˲‚ìå uf‹HCÃÀ.µ7.V¸÷df_o²ü/s¶“çˆË%ûƒPfŸoã+½TÕW‘ÇŒ‰±¯“Îj·œýçÿéœý‹q§.Ò™7©èµ rà¶=ÓØWØX>dŽ"…fîɨõå씄\‰•wýl¦6ô˜»ÂÊÔ-rÅɆ’$¾ëGQSƒGù‰¾ê mÂ<ÐDá6·aÓLɼCÀúÔdB{ëF.k5«¾:åçyIv ì8ãœ@I3S…{‰,»ÉE4?PŠé&T|9%þ!¤Ë+óç¼"ÖÎhÓ;µÉ ÔPÕ¢úĸRH…ÿy¶‡ºyʱGtK*ì‰2‘œC1Ùœ#Pˆ†D^(í#pÒ¶¸oEFæö䪞çÞnpéç¹U☓vgƒr=ÅæqöÛñ&œÃö¥%È`y, Âe¤Ìù£bHàAUoFqj¯q²ƒ@é~Rknm?Òô æ9=Xp½:Ê7}’…‡8ͺëQ6 #U” VTMë.äò¡I]¼ÖÆ3…ÅoêwüÜŽ´zžyûZÖ^ªF˜¥Kfœ5ßêÙ­®2éŒÿÍ&•Ò{YP5%ÅXþÞÒM—õÚp0²;ÆY• lËx8OE€ù¶œ0i-ýYµ/Xþ¦¿ó¯áît¡é+JRÇ5ÜW”ONÈ ª~o~ íVƒÏ¬ó +œþMïÙ}}c‚Oí¥ŠUñ({Çà Þ+jyíôáƒËþáÎû»–péâ†ÔZ$ÀDJ‡ô¤Œg·lyAõ_õꃎÝ¡&¿¯lÞm$s·. ŠDó£•8çÄ®I§;ääª/*ºÃØá:ãüå³§[Ë¡®¦¶9Öê%nõ¡+õÐÈœù7ÁWaOW¥)[P‰Ó­žØŸ·;°iB½m?jçÀ¥£Õâ±€ •{Ù¶îê)Ðuž#›+áV`¬µGC«öYÏx3™šªë¢†kk J:dÒÒrõ¼J ä@û$Eñbê›æ÷Ô¢é-Áöå®|¦ÏRGqÖ†b”„f]E(Ús9Ï ª¦F£££Bó\ èÒ´zºïøkžú$ûžaÏÇ…rD‚ G>kLíog€XI9:ßÜÎ(MÜ’¡Üz=à­jT›Ú»ÐÉOÈ¿‚¶Gü1#Îa¦\½C©…3_òƒ]Qﵦú+—A‹+(V®Žà%€˜iñ~"t4T–ç™rL ߸0-(âØ8G±JÕ·›:áçN”£§ÿ÷ç¨&ùˆÀ}Ã,Øa‘6ÿJÚ­ºýb·(„F醱 D¡p½oJ¢ª3˜ÁÝð«Ì9ýÇÉÐHKžñ²V—6ÛÉGÇo-¦ëKFÒ xñ>Ö,[[^,}FØ‘ ]G>k#aò,똠ÈlÍ´fÏSèÙ1rˆ6¹Ä”ÌÐu£×i˜A+¯ò–£±»äF{[䪔æÁ™_¤Ú !ïˆVO/ÅèAÀ}±ëÁĺ²Z\Åçä•Ã×8<‡mý0Yû{IøEõd9ð›™^[£‹è–-´ Ê¤À@6QËž™×¡ Šÿ!ë_¨ê 3uñèà›´‡ ÈN$‘â_15ãÛ˜ŽC«y•¿0ÇÞÿI¤#vž,›jˆ¥IŠÓSRÀ÷Â"óu›-b¼e¦%ç8Û0#…ÞvçÕÿ “'§Þ;¾õ“B _ßû-®è]÷ó}eMt WhýsúØÄúáà@R†–Ÿ)¤)5í YA‹Y3ìÚW#Ïc—7bмDø'Y¤·jFæÀbúÜ{h ÂÈ*òçáQÇ’º©šµø¯œ]<䬯}3IEÎò‹8NC—iŒŒ‚úø:íJãÒ–¡ª#¢‹b/Dì ì¤ãøcežª¨èV“ᩱj|v ^üÐ/úm5U6¨Üq‚QÉPÐçïwÙÀó‚0ü¬ÈŽE÷ºÑ…0ÚKE¦fÏ8x#¾1ý>¤?ècŸ-¹_~¥(m.ߎC·«‰W }o8žÀ¥$e™ µé$%]<ˆ Œ*bñšLÜ¡F!P„|2c;Ç*Α)ÓÊÿ îãÀÜ*äš1ð•øe,-¦üô¤¬™}å)õ…!–2®f^p•=lµ…]ð¹<áæ,®Ég¨ê¤ ©%'!Ïöט.Ù!¬,'‹²]`Z ÙqW ×|o™Á󨾞ҜNÙÈPLƒK~½Œ¦cDà[•Kzoñš·F0H½KÌOq噫R§°áÁiwdÄSû;ÌÆ0îê1ÔèwÇaô#sÌþîGzõy5t.¶Ö &•0O©…u!^ØæîiDÉ™ÝÁ:—=ȃc³"£‰0ÚÙ– Ýé[dÂðZÜqù¯OÅã]–/-ú™Çí H=¬tõ¤Á·®Œ:ãY®ªµ@9­rŸ‡iq9žx\#ÿ‰3Iؼñ[úˆk/[Tס˜t ”P nˆ7iÖ)8õÁâZX ¼IÝκ®õíŠõ”Üöz½5K- €H*CP5µhc ÏÐTåy1t4o¼ës1J¾ó Ï"´H|K ²F*zu!‚VLœox9ÓǸÅŮ΃]¾io¢dTÃy]®Üã„0¿YUZÎ?g*œã ¬3˜‡KŒÔ$Â$›ß’ÿ5¿<¥$Ÿ“,kŒŠ;y‘ʉU8e/áT3,U~J¤­QÆçTàè.vŒï_•J ã¾Å²ˆnÈ@!¸¥uw‹uÿnîÊ8-oùÖÐÛœ<âËH‹’#º= žLNø9Óe€šŽš¿a¨p aÈø¼0~¼ÒP2èŒZ°§×Òöô³$§¼%Ûl%È”ž^ˆô¤þ¤%óuüp½W.§$ˆŒøözªÚQÇà°í¡FAoߤþ¨šoó¤ÄÒ¨^ÛöÒ"ؘÇX0»ëh7xÿ¬â¿\“»û0ãîê¡WoHø”½bô‘ˆ™Nä®'0‹Ëê„Ï6H!Ùp¡—랇¾|ÑHµi9¡BAzóˆË¶ž_̰B¥ž Å,yà·öðæ’ñâ?rÀf¬pJ¤üýèuÍVE æÇ»ÌðÕ?+ÛӀϔ¾Z`ü|¥ý>“5HD9ñÏÛÌRré«­:¾Ìb²"X¸t_¯ž,vûIpü m·Ó²J¯u­–êŠÆa6œ§&‘œL;ºÌL[œ@!kþMv~é°½Žûx.í8æ«þÌ:®‡’:Èå©ñkáGhQì0Ÿª6ÛíÄÔ§GMþQbtþ¬èè~;ÜÖó‰oÈt-Ìȶ ÆXLV"~"€­ÂLú“¼NßñÈ; Ç‘^è¼ÀíãžñBæO_†Ô´ÒhyVÜ‘tˋڪ©›i€4ºclé’›8­†7Ï€^~#y©NÔ‡fU•Ž,ù.ìj"´’›‘YÑsÛ–¶ã  ÜµçKÐÆÛO1e̬êIÕØ*°fí÷·¯¢Þcô‚»™aW@ˆM!^4k ñùŒšjˆ°ZÞ3âŒ| I°*`!ßÏ)½e:èrc}ã`§‡*SªêÅkbÀü‘¢š1-Ë‹Þ`܆Ź;¼¥âébMù$Ã:',‚ß: A¾WOƒ…ìçö64o®¡Ìµ|…íøfŸgí½ýEvƒé€x¡¢U…,M¼¤¶·ÛY/±]è8CW­«(Zrê‰Þ­«ÙŸz’[yç—¨[›Á±ƒ´Ù¼Ó•¶óƒ„Ã3_°Á7ñ37¿ÆÑ©½’»ØÈpóâÏ€1 ï¿  [H*€Eg<ê*3G ©™½ß4²?v®|ïÉjÀÖ<3é›÷O¼‚ÊUô9è’¤ ¬ïœè+7ØSˆ"ÈZ”(<Ò,8Vô£ê`¤áBÎËy]¬Å-Ÿçш@’Ú|pê²ÊyYóø…Ÿ”SÛ-—Õüßfó‡z2ÛPÅ„ŸÊj›U§©ªò½3EäÔ‚QbòÀV& ¢vÃÝŸpý´Õ7—"r]eº„X€%bb] ´¯é7%ÕJj-úpT¤ ·§ðòö±cäÖå¾ÿ •P€ˆØ‹*Uè ·R$TÖb^›:W+Ä— `?óHÎAz¢þ¹;Þ–8„¦b\–Ú=ÑT͵$4 ¶II­Áècd…öíî‹ó-ÙvðQï :y§SÍ'ŒÖNÎÓû§åoȘנm¿G\·û1ƒIÍbX'~?Ú¹‰J¬„ÇŽÇ—"…EÒƒkœà×í±b2ŒHå;–zxG–þ(V*{ÖÒÿ¹ŽRpÏÄv©ñm"ÈíÕ­„q„…½S©pS[60ëvØ!$N X÷Ëø‚ƒfa÷þ '&jv%ÄÁ\;zûX”ê@Ÿþ*Ð.ÒóQ7!Ÿü#µ)é[š!8â¶‘=ò!ã‰Ñæ˜,6™NrÎ\]nÛ†þ¦.¶¢¿j yørÉ©%ÕÌŠ|¦à;ʳ-U‹8æ`"Y8#¼ÒUÉœVAÄ€AÝÐüôŠxPYg$#Q÷f,|¡cØÐREöÐÆßà~õ™¹W ^'‘}}½R!\w”PƒƒÕ³uñŽ|Iž²ÐÞË È_Ì«EÞ‡®#žô: yÉ A!ž×XÅ 'Wë›XlŽäœpaÝmô)‚:³¶îµÝ¾(h® j²ÓÛ 'Œ4Ë7˜à\¯j vˆz^Àn@ÃÞ\fp¥Y ý).l³¶õIg~—8k¼½˜ÐØ•wOšs_ðÛøÍ#ÀI:t µõ€+@-Ê)Öãû„Ñ ,M5d }¼ˆ¯v^/¬Ue`ì'i|íò5ŠvAšešªð½&†½ Eå‹s™?1Ýüšt³4’îÖ1ehüÞJãGPº>^×/N£wÝ!ÅÚg¬Áø¡S}£ÄøLÿï/¡]¢nÿômâ»geÚ©Paµ¶kø’Tµ§(ë5|C8aÜA^yÞnVøžíÔ]ßôÆmç9¾-³¶œk£.Èl;(M´+& 8H&}§ƒX/$â¼Qiž€ñe!Ó½T½ÆÄQé$ï›nCVœn’~e‹©ë”`ÙüB+‹ºêGs9ÖGg è±Ò}=×X]Þ`3 Ë\¸~!Ð/¸ö={S#@ñ”PÛøÕ¡Ð³VŠWcØP7bJœ˜‘<¡Ù1„ÔÆ UO¡—»¤çˆÍëwù¤™íÙcy¯›Uh[êÀîÙ–ëÛÁDuÏÕæ;&©?Ïd×›ðØ`± 塱ºFóIW#°‘Z+ "*ôÔj,§*Ÿ°Fd$ƒÕîè;®ÙR7d¹ëøª‡õéž[WT¢(¶ø—ü÷“µ|’Ó~§Œ}{_Ñ÷èlMøÅùÅ¡ÞYbß–þ·4èS‚1¤É[pÆ,ÝÑ}q+Yö|cD_GGYàM¢DJ£žeŒV‰'õlK_™¯…4“O©ê‘)Y¯­ÔX»q!•iÊÒp'ú`íÑÇÖÅüþgìwm2Ü¢ÌqQêƒ&O‚etúàÈtAÏ6ä¼E6+êí¢Í(å\M°¹ëÜe´<‡È&UÌþLþq˜§öÔH0BèÎЯ´’¹R7T´x)¸ƒ«ÚvÞ´>ê¨ÊÁ®FJ•ëñææ‰È þ®ÞšÑ4[­pÞ¨|öƧ?—}°¾™Ùßú4˜]*P;‰»—Dä‡ øpô ¢‹À[­4鋨Z×oÙç?¿BÄåü%XϾ̒µó FS‘j¬^ªh4ÃÈhœD^~`;vÿ,8˜]F2?ÛG|g[ k·ëå\Â-]íQªA)l)È”š6p×#…qÿ3ñ «‹1¹ :T“I¡…<¬v™<ë’­Œ$úðß®õ9z¢=\ÿ?¶{Ú Ä§þ§´ uûeoŽm‚é» xôHEŸ÷»~ëW&¤»Ç£´ ^…'úŽ™PÈB 97ca>[ŽA°  Û&ÊX¨ üu^.ŸÒJ¢O.¹{ß2ºTŸÜJ\ må!ñöÒ<™ŸWµéZs­y˜>{w$:)LO­Þ®ƒµS5ÏŽŠW½2ºî×ÜÛ´\,òèFoQgWŸO!°šµ,#gû<­‘)Ö›)6Ïöí[Z¿÷§9 F¢Jx|*xôG^É Ó÷Ìã(÷^V¼…ÖnÓ– -Ð&ç ¿oB2°CuÅ™óÔ!sÔ#Ò‘ƒ¿)ô¡ä‡ô" Âû8Ø>¼ í|sƒÕq&½AH‰QU=’ãc[ñJ˜/ü¸a¥ø4Ì?H $oÕ. 8Á÷…Ènå¦6ñA¨¹»Ž¦%œ<è˜J¬:Ï]}D³%¨†]žëÎù”FâãÐi6v¼%h6v’ø)*Ð×äËGÉ"s[²_Ù R•¼¥¥FúV Sû¶ô;×¼mÕ @¨-9ηRŸ8µŸþ 8„ΆëÑ6&<.î:yþ(›u½Ùš1Ï%UàN‰Ðnë.=ž{;ùKYÔ÷ø}}{ù6îh}ö—*mûPíJx2¥ÀúiWpG¼ošåÙŽñ e/»Öñö…ZP"p¦¾Kà™Ÿ>~þZÖAÃãkrtüŸ3¢UP0í¸öÏÎ;Ì?ÝRZPŽÓÉ4•…US‰<¦Ø7%Ã……º#²‰kMÐJ|ã¡™ ˜áø LmtgÇû–®Õ1Y'¬\¦¤³¤ÏFû¨ÀZ6Ø+ÞøtQP…^a°Më­VÆúú%`}Ÿf&z›hB$¤Z0eêÊ]/ƒ¬Ž‡¼[`0݋ھ<ô Íe‘c;÷Úâ½ê¢YRùYypC½íìŸÏ'V0ýw±çî!u²·%Y`™B35ì¦Í;09È6üÝâÔ(ùcç‚d³Ò;fÑMX´œ?ÕnÃJ<› ¥_7å´oxOÉšlú <Åõœ–c`’a•AW9×øVØê IWk…æ¥}rBJUAìö0h¥¤»ek¾Ìtÿ®B›lG=hV&Ôò2qP û»âtHßÄ‘ñS´Ü˜…ãSJ~Ì/IÍ‹µbuÐ?å€jÒŒ€Š@׎„G™Ô»…„eð¸öé«W%2aõÊ~ÌĆT+è‘me;Ÿ¹¿äÑeψÌ|”Ç7Ö§C<0ˆé@1n0Rø<§­Æ«`­j͈ú÷è•ZQ¸œ5Ub“3‹º†˜¡HɨgA~à_Z ÜLŒUM²Õ]Q f©Í­q› #^FxÐ4I½ÿ5§ÖHê>°¡Vgccf¿Ðö¿Ì¸#›q]”#óC\†¼dUŸ£›È­šÀ%ýI¼-—%`Bf[­òáê†ñdÄÞÇ;Ô,8¿üx®V{S±MBó–óA{`NÛÄm¸L_ûXqBߌž@JÝ*q«"Éneùø~·Å^>ØÇn¹”û+½Zw ÑM¶µf¬˜:ðÇîi±Û¸Š®^Õe\YNàÂnZX>ÙY { ««³³?BÞÄ*¬“$µ €Ò'ºõQ«ÏœÉqCQ[lŒDÍäÌ(µ]÷.ßÕMça½@!‡O#Ëg²<3üSM,q*űqò´>Pù=–ʵv”XÛqíY¾6Æ‹×*»õ"Òd¹,I Ôd­@þ!¯Œ§xß)oTÝ W4®ÈJŒ2§E çý¥¿59‡m§Õ}òkÈñ™WºJô§£ ŽòóCBûÖÎÿ̹¥‘ Í£Ph†NÆ`¯/ô5(@,Í»,—ì7ιè»ZùÚ 3‰’ -èœ÷7%‡›iA¨Gå²q,nkEGí‰æ°L„”ýä{˜ë‡élrW%жV8'8‡çëïôqðz‚‘¦6ï›Êꯓf¶y)ª­ìÁˆÄôãc̈!é/=àx)ÅpÌT|~ åQñ]‡ê·Bí—HZ–ê~UHB^™Ø³fÍòëǧÔEo;½qó" Q!rôN}j½o>”qo˜dx«gn%ÔÞå‹qÊGlß¼S£Ý3xóà%?ú8®Ç³›Õ°,ÅBÍöWìÝB/¥Ö £)FQæ‘?n æ+ ©?PPxµÓTJÙÊ×zû‡“_À8hW Lj#³H¥QʈÌËþ|ë)V±:?õPÙ²ÃRyÖÚ¸m ‡Ô#«œ?6ÐhIkWjÔº(˜~ýw¦h¢¤Ãø8$(Ñ.¦fÂkN âsûÕ'65¿ñk‚RP)¢Sµ6û¥½´)S“…n̾JdTt' ¨~(ºâF.Yf-NÏ;å`ef®ä}üù]¦…ñ±pºU…v?¨¾(p“AÉ"¹Ã#EcÇf“z¿Í¹Ù(‡‚ô˜Ðý |&`JM5ƒ«Wñƒ¡×‘J1þÜJ<¼çŒ¿D>æ‚(â¸úXU|'%ÍTQ@Ù ³H¤6müOÉÙÇu‘+ Ê)¹}WyYR4Ö$cn·˜ö`&MÍJºãVS™«Ïë£ú^irÐ4ÝçÕ- ] ,¶+ w‘«½yã¨E¦Û+ýåµnÇÙç.µë•ã ©WCøˤÜ`/¦ÇÝ®CvúÌq¸" ó Áy”sêt#ˆðæ{“96ã­÷¯aÚÁ¶Ÿªd’)©9‡%ªÛƒ€r­SVëÔ­]#KÈEÞ;2Kå‰+ì¡–kXá?ÕœÃXÚ§örÑ…ª+–Øt4Ûƒx@m¯i2¥º¬ÔL¡‹ˆŒÇ€è1®‰Þ“ÙIEà"Ï¿UØ! ZÜöÉî¹(Öçe˜>,Y=3ªêÎGCE÷ æ!Ô½…7ˆ²½/÷NÆ*ì;uîu\íe}ŸQÄüŸt“q­â#ólÐG9uPðÀ*Ÿ~Úê}ë…Qo¢DÎý~ ö{Õ+nÃFTPN:óÖX,^y×¼”±]ì®T×2T‰#{Ó\`w!ƒ"‡ÆóRgÖYuêìãûï“]UR/F4Œ%;B~´³bíï©áȆ:ˆÚZy&'ÆyÃãÝKVPô“?zÉÙl?.1åàì·MÈl3茜flX4’^…À´µG¹­Èî°hýD^ýB 4aπ墭ò`ìÚÚhƒuŽoùÜpËþM’(i‚>bx'‹ƒ·ºb3pº,H·|+«0žœlÛàf>×_2¤˜\’²áW¹ :{?ã’æ9ì+éð· ùDSǘ0=ù½[çÀ‚Ä´ Êó”¢jiÔ÷q¿vŽOöƳu /ܼð!‚«ÿ©Fp´±%Å6N. FЙð2¤±kWb „ »0ÄŽpäÞ‡w€Á¦‡YfÂ{ûï¿É‡}'sø¡ Öy1Ž4þß:w$–ëÑèò<ì„nxg<™¸ŽFK‰¿kB"É~kw@í¶ähÚq¡£……>$C(ºòò3\6F emM?ãEx:Có¤ä“˜4F~ÑAÜw&L?tpL¡Ó­2Ò®ø{™ÑɳdXPdP!:”yçÏÉ=O•^jÚ/z—ü’ ~}öÂå«È9‘ªw.€5˦ÖI‚›TIQ†œÔj–•¤ Ê“¹29¬ùûêÑVªAÐÓ@ÃËA$ÜSRY¢50S[®aj’X¾ÈD¶¼½º`n` ð3èKhBÑSJæ=ï®ÕÌ@\šîx?gþùÊ‘6{ÄNoÌ+ýuÿ¤Ý’{Øß¨{ò_XlgWS%g~ÊY¿~Id)*Ê3©ù,0ô/BrE/¦ìÏÌr˜³>m©x«ÕAÓ§v\ñé,¼H5^ââgÏ•À x“2ÉëÈ[.Ûç&$û\ùØ!ÕfìÄ8—ŽëïÐBòEò’f+æ$üpY¼ut³@´¾_xHÚÅ"ÝDŸþ¸b9 Ò#aås?¾­!@\äŒÌí¹¾ú톉Tîõ翌GP¨ú-Ù™¸xÓÔ#~±1`›/J¹Üd_žá'Ò¹¼ÒŽk9üfʱœŸÆ.—¯1ŽËÍr2âs‰Ý¡W¸Èþ#Jv¥«ã~d™[õÊÑÑE¤Š 6R$È„R]Ëß•4]àƒbœÞQoFÔ­0tè×U"vŠ•µÉ)èˆF•†S˜ƒWŒŸ©Ç“gK;Ouÿ¾àgÇ`]ÿÓ<%~1·Hr׆J2`‘΃ªsn”!JÆ1ç·É^§Ì >Ž~\ëQ΢4ÿ²þCCLI¦N½íÙ Óðò÷¶™ì¿ Aô衱»¿ä˜|ÿ*çëFgEdÖâ}Üd6–!ôØüp: †ºóÏ?÷¶@™bö¢æ®·¶ù;30&Ôe07œ†ƒŒ]›´ ö–þvíÐ1P”“9`Ȝ֮ *Š…¬¾Æö×é[3 ‹†Ù‰Y;’Ž Iæ¢gGrMWð+¨I΢¼.DS³›óß¿`À%£etÖÀEzƒž8¿ãµ÷ÓäÅY­ëðöRE Äž¡6[Ù‹A³6)OCwèõ8· »§—% Uúªì6¯0¾¿œžHº ßKÞ$9ΈørQAÊÎýl˜Þ½¬iÈxˆ9ä_úëk¹PePH¦‘~ßœ–Þ`p”ë°<Ð1S„ÏÈMàÝ|.DbØ™šìÙJôíÉyœBFÕN6 Uû/DTREÈ«(?ûÀ÷òO!QOš)þe¸>ë Tº"0"cÒxvˆ½JD6rK‚‡ªwìÔÁ¶j]Gš)íÅ·1Š›G:KžÈ}þ·¤þЧ!Cô7{wbØòƒÙŸÍvÝØu‡¶©ª9&UÔ‘­”²­ïCþ«çY6à+âb`½ãÖ 9Ø_ß=ÂÐjëjߟ€äÁÇžÈ}ùu¾†ŠŽLã)½vc+•ôÅ$ÄâÙ—m{ËH¥ôgoð·Ó5¹…ß)ÒÒÅÇ1tY´JßC@N>’Q¿£°7Ñ©8WY›^àÖ—Ïê¢BzK±r">ÅtMwu~ºÌMW‚®‚²²Ï:ÓWóM˜¼é‚^D/» Bç51´(+”5Ü”Hu`—*‰®}ƾ䠢ëw½{j7¾ò=ØsšÅáó¥v¹CÐ Þ„Ø…Z„ T@Z<÷÷A:G§äþÙh¬UÊ Ñ•Þ2¤‡\ ¥‰²$”ùg†33°ÁŸr2jÙ,ÇÙâ4fê›u‰|+ùðNuêœÃ)©×*ünz`Bƒm Ä™9Âõ g²)7ÌYÔm«¤Ÿ{D}Ix<#ZÙoÁÝÅÝj‰YÑjÚàl†6=V½Ÿ¿^µ×™ÊnU[”ÇÇÞ%¸ŠÞ–É?ó®ùdRm³H£¢Tx]“. þ:jíwªÍš¦5z4}OüK„¸Éaë*ò]ñKüM5’í…¾Û⓼èó!m†c«‰,–¿¹ç;‰PüëR·=úÉϸÂoW§9![›QøvQëS’Oêª&±¦q7˜É-»å2¦øtÀr]Ÿ;6%ù ¿79ú€ýéSFNö°å›·?ª*V†…ž²ú]®ûK8û­k¬¯·»gtH‰ÈG¿`3ÿ Zì;{Ý5Ž€æ{.!cõEŸl°ÿå#c¹éýÕG s•í£¶ï`_­å(±ÚÊQEH&Lêf5D€þÔ™d¤I*Ä›:¤6þP1Üß©{ñïûð–n/üX©'j¾tµ=ΡÝn粑¢‰lWZMœÀoÛ»rqõIÄü|CiàQÜSïzfƒfEh= `²dÄg]N³ï^H ÈF”óšÏ•ª%àñ*ÁÖûÙlÛÞé^Lá”8°ùpõõÎð0%ØR¦=Ögæ{ÀÅ}‚­~æ-:{¥]Áí´Ø€©> Ï.ôù“‹‘R¸eGÒ7ÕÈ"’ÈÄ»!r‡Ssdà ¨¢kYûm.©;좽ÿj€ÿøSWUÏÞ¼·lTlÙs&±ý¸Þ_úþ%”]+LD'm¹ú4˜ª%N$ÕÈØ”ÀQP¾¿?_aùvYS—T4ÃBØû%À³úþÑõôòF=ÂPžæþ Ç}á±"¼“ô”‚”VÆAß¶ÝeÌ`CâQàϨ9eÔxp3ÛH)"å‚ð…qt-hœBWǵ“É“Oò”)†²»6æöâ6eT‡D©e³ÅÙ?^ô¨éZ/Ž|Q„+ôrñ>³^¿S¶{z7þëX¬:â $2#ýy=Μ‡}«&‹»”G3IS§¶t³Ìb£ä”ºˆÅo3^&‚'8PŸ›g™ý¸V` ˆV$“bÞ2zÛŒ/–.ƒ—§ŒÃF`iÉy£±k)í1:ÀKdÙ¼G»±òÆ_‹TÏ,Ùd•ûq6?ںط†#?µ¬7Sœ|6€Ç†Ôý[ë!È¡¡´»É¿·öïÜÅ«¬d:KS|k Þºi|$®è`Dvh,/lœ{k@ËÞ>Òþ\Òr†3¾lÖ.‰Ï+7_ñ¯Q§WSâ Z=°ù:vF6ˆ+Ò„s]… ­wŸŽ«êž¯ìõå?Aidž»z“/œ/~?ïqR¤£µŽ!G÷xô%‘“hÐhÇ)̹á¥?r}öàx¢á¦õ6ZVœÆ«à@¯š1Ðu³íY0_£×œˆñ²>.\“ñ¾JI?+Ú ^ñ|ñ0óá|ëyseüt2¦%ýÞ#¸¥ÒñNµKÏ÷jwT´-®µe¤pLw¯:0y²¿€Ô:<“‘Þ ¸Ò^èJÜ\Lýrb¸Â£œËH·M'ë½],iìYûåh¦Õ`‡üN+”oL«f í5‘ÿö<ÍáúÜpÉnʖчI¦ëEÔ1½Íÿ4ÉÝÞßÉLúµÆÝÂj‡%è}EOc&C’x8ƒUÔøÂÃxüMAÂ:_/J’¢…‘±þ”r‹gƒ$xî6~Ekfõ+[þ“Zò¶Ö€Zp¹ŽÏCÞJÿ»è(„b°þp<Á>Ý«X±Ay¤ªv“{†]q4Zš/µ(OÆPŒjÆ@_ŸšàV5Dl°ãR.‚Õ  z4§¨i´ìÊT÷' ÔU™â‘í9‰?‡A@ãyÊ «£ u,û×sƈõM¤³ÐÏT(wäpÔl“€ 9Š".w”ü3èHìÒȞͼ0©Ð{î'«Ùàɵ¼šø.ŸéBÀðýóFæöžÇùrgi®ð’vG&‹Æº•ØŸZÑ’}Îk"†vØ;µ¥øš¶$Ag™ÏÂ8†.ðîs›-K‘ˆÚïä ñÒ‘ú ½âe¶Î6pÇ^”Éxªõ±ê^Œ=Þ”$­öl¡9(¦ Í¥ w ƒm~v0Üd«0SóædU¢;Ï™¤!‡›Î•"‰džÐ­¤C­p8cc1ÎŒ—`‘” ,ë)÷¿.(Z9½ÂA» ±¥ÖtПmBËçé‘ÄùÝ€CÕ’¹ (¹‘ì:”f|zþqMXë½./ýÆÚ7,aÔYBR®Ýù‘#r•¦ÔZÂ?æ¨>MsŒH}B®TrkNµhÈö﬩©*œ´Ûü¶± Å•!—\á1ië×G\2VÇñ¤E‹z-fö—oC}AcÑP~Sô<“„ôøf5â(‰>NtÎw-ŒÛPI˜ +€LiS.±Pk¶È’ÅÂÿ×”€à³ÏI:žVå³Ð˜ÎðÀï…ã(Ë$ÿ<â2ÆÝ]5ñ<ÌÇ&Rc‹®àYZ>P¥=áÖÝI‰@²û™(H'VÿdüŠ­ð†©ñšínŸy¦ÄJ‚®¸’^³œÙˆð¹¡ÄígñI’K7ÝY+&‰eÓíœ*ÄBgÀ„§3oNöfmÄé¾i4›ÅΔwJ . ¡ÎNÏý¥-|V ÓéŸhHÕS‡ç™¦ŒÏg(m×k9ô¹¸Ê‹8#Ë%”¢LQ¡©F[èŒk‘Uz]Ÿµkh.4„?–Ò9‡odïAˆ*EK´á -,xý™™O¥5©"Óe'h¡ ä,ø§~ó;5Ï:e9ÒQô§ 9lu¥‡U“È2±}[ô-”ùʳ`ˆ¢eçžâû¼¬cÿàK"l³äI¬P¬-hí,!§Ìä·ôH‚KL°¹ãÅ:¤åôh(ã üåñnZ‚¤ ´±Áå3‘ºê†USÈÅ8¿ (ºNµyeC1t‰‹Ú¯þ$`Ë)rÑXç$olâÈ¥AcÙ³™>ä/mj1-f¿¤õY~y2<ªµ#̇±ücg£ápaV ^b^FL±çw!7;Ä•1FÎR°DO[6TY±JåКJÑùMÌÞ„P÷“8ý§_d³Ï0¥‘ŸòÔ§ ©n:4ÖCkXäãØNÊa>a‰»Ê'õQ.ûÀñ V㪜=j&åp(id’ï†-A3UÖôäŠùýûÖ¸3Ç….a(É%_§÷ݼÞó‘0âè](®ZR[¼ŠŸpÔg¶iZ6Ýⱕ® èÎatòÀÝJ<g¡^ÁX¬àÆ]‘wº3HTö"Kõ26k¸ ÆÌr€d!ô vj"u"¿ÚÔCßL• î`~$Â…$ôd˘evcâ²­AJ¢¿È-ûà‡jµ Ïqq5¸½Åîj7cÖ‰»ŽõV¤š–u&ƒ=è"„…Ã#xÕß8Ú“OhY”L0&z(V m»p©‹ù`Úµï‹0‚_¡ Nè¿8æ¶›çDâf<ªsW¨#Ã&cÑø@ÍX{õ¾Àd;"p0”}Ÿí˜N·$*_ÏÛǹäN *‰Äj†1×;š!ÈÊ€Ô Ñ£,-)4! -ˆîM£±5ß²‚©Hr,¹Ë}jÿµ¯Á°a>|©*Y8¦ÙÁ’*AOÝÕ¯XP©…R¬7R¨ãƒHsâIetWüžYÜé¹6ðã—+^t ID¬)G·­‚#™²Bï5jgà"ü`-Ž+ðÞ™Á¬gE6QПÌêEnøÜ“äÈ+®Ø¯—Ëè­%_ü=*1 …L‹‹iÇ(œ?ÕØO1%Â+EhU‰pXsÝÙôyyšsú—¼ î5°j·3@Y»Ž“-7àª3"L†D¡ä"t (ƒÉ˜ÏäêkàX»Î»Ôë®[tq9á®n¸?ÖÔòêB<ö,Ö‚£s¢ÌaŒ!á3IÌèhSæ¸!(ú4¿XÞ.'*Çú=ðKRX‹»n±x#²–R'[×á§Þ2¬J þîcŸš-°•ÿ£Ò«)ûãû‚Q9þRø÷lÕE½E©xôÌÚŸ¹ËD0+Ýמ:‡{ -xMüí"˽æ¿“UàCx öÖ³t„Ÿ ÜÏ×§ý(Ò÷[ÏqÑ_§h‘OS(±‚‡ËvóB¢J…®žAZºæê½ÖKfù#©ØÒVœ!»b¯Ô¤ççÜ<‘ƒRä1GâèY¦ëÉí¯óŠSúÊÔ‡ÏÖü;fœÀRK†3Ø—Ï.c`:ð\D(ƒ4 Éú«Œ]žÕÞ$= h‡H£;–¤E4ÌVsHø,åë˜ÄÅý2˜ÇCØ’ÕÎa‘ðÌ!ÜdRZ±é) ×ö~ø/êMÞy,­Ýö¨hW~» HÎ ó9SÙŽ"OYÒšë:cïtÒSÑ 5äÂj‚Nâ²rèb3²ébzº9Çš{O“Y.tð§ï ÆO±=¬é…/«g ƒ#dÚ5›fÜð!ÓÓ®€\A´BG”?㓦ú€zqrÀSUÙØŸŽƒ-*A`ÛCbÛ1âOˆéèKï’·å½`Øx‰‚¥%Ш‡WEªÍ;– zÿ•ýî>ÖfMe>øt_ëÁ¯mÙêZ¾ß;Î@UœX"O9šQîÁD&@Íàö£ ž£DµìÇš2áýLgÅÒ^Pr)HÞôxý¥gqõ_Àa£FïÛlb:Uƒ¢Wó1P :¦˜{yW]tŽiJ¿3,½ÿœ7ySÅ*ÀS/îH$9Ž(@-YqÛÚuÖY‹3ý6Ip2—zß1hõ~>;§v#ŽiX1ó± ‘A„xfYܲ‹ùýëŒÉ`lµJÈäêð¤PñÏ ±_4²G_F{.´{žÞ"u€¢}—ÂÒ@f'åTñ° ‘¸€Hù)Æ,­rl!77èdz°Hè±?…jµ¸Ï•Å:9ÒݲL>¯Àº¼Ê×Ú”·& èê6â* Ó*ë[RJŠ0ÂLíé¤(s_÷ò[£{Y™ÛýfÅî[`£ê /Ï™RMÓ­ÂÚkBqaa«q’ÐŽ]YåKÏ%ñÂ¥à1‡â.N‚ [Óö z–‰Ö.©o^3õD‘ÇÏV­â¹OpïÓ >Ìò_I´¹dÔ¤$pGTœù@¯"Ù¾„Œ…†ý®2ØÌˆ0ôQƒm,n=[íµ3@žÀ§9¬²Ý·‚@•u0ç÷E3¯Pòîçh+M—ø´éT"p9+%Oþ–ÔQm댹£"z'Ùeªžà©FN•ã7:rë‰Íõ¹!‡DS/P+" ‹ *ï!¥J.SfRj¦ø®J ž©è R†ãý­B©a n—?Á:î¿ICE;rVG:2 þ’IMÎÇk"~Mg;'Eꀶ˜ãÐúåJÒ5§JX+³ííŠõç!H,O‚bø P“ÿ3¹ѶAéÓî³h<ŒscñH/sOAš€EÓ~¢/!޶3?˜Ô—µx M»‚ 5•ý]Ó$Œ-¢Ê™Ð7×é3S‹sŸ²4#3b¯ü~ØØ;ëœR a÷8þÿ‰§)[ä÷“AeAä363í鮹Ã÷Da R¡«r”Z¯&ZÙ%¤vÏé2W÷U„)Õ×.AKb3ïtBE,wG¬ÒnÑ@Ä1G-\tþE”FɆÿÀ…*æûFÈÅç¯Û^-y œ°S*¹^VÀê”ðŒ3â$³UBAe¾=ÖD¸E¥)'¼P&Mê¸$j«¿&G8ðUoKzJTN5BŽ÷ÎMŸ¸¬y ijѳ¥ž†Á¼þˤ#J”›ÆñEƒ×ë;¤ ëÐw„ZÒOõ¿|ÎïÕþ³œ¾&Íds’ÄåÕ‡è.¥ªu[Þºz9CãIç˜êÈÌQcÉ7É"û˜5> ² ÇÌ#;V{$æI•&W/3÷ÆÙ³Ó@-ó¸äÔ6ê[U3Dþ’dþ8_”–WUD¼“'°«9´´æfFR¥_V¼mØ ôçÚÛðÃ5?)ÀÇ?“ìÕ Y^+Jèuÿ•ERL„=ïAUø ŽV²iQ(›¨œu„Š$«)?N¡j²Ìg¾ÃZ®6© JRÞ"·ûç´£‘Ç#ï ünWýwh„þý½Lñ訷 Þåà_Ǭä€^ü”²{gë¬Ûǘe§[I66”L]õ^oÂuÊܳ“öðZíœë Ãi0ö'!„€þ2m"²ì8ý°Fk‚A+èq‡º)-Qd¤}cmI’cZ5“1&iy%+À\üÅ.œËL *ƒøzÈ„zGìŸ~C~%ÒG  †—¶ñ\œÛh ¯"SÒ·±Hבˆ\Åb-ãôéô¸Q4öi>3Šêc`Yd@çµ;Mþ\*˜Ð€Ê;ŠÔ*ÎÞó–jHì?ªõM ElÌÓéýV‹Q7ˆ¥PQTb<¢@\X6æÊy—?a_j€ MQ_ŽAN¼~å^ß÷¤‚h‹u¹™& ík±:3</ߘZQê2ÃÕ‘«!œÖi4m¯Ñ¶á ö’À5OZ>N{¯ÂOp]®£ü—ëú4DüýY3ôǯü™²+úAºàv› ̲åÅ÷“Æ«aÚ‹Þ=¸ø@Òúés§ªc]Mµç*€ycÖsÊîE¿?ˆj×l#{e]£ª7€+Ñ€¸y­ua A¿øÞV™ê"¢DbI„¬ÖˆôS´®½`jqN<Éø å¢ -¶ˆ‰3¯äçr_ôóÆo¯ýžß‰¢j?Þ  B¿zh˜žŽì<"‰·Ë ÿOÁž¤i{èM1N]gû¦#±˜—ÞS‚³D|r¿q©G'¹g²ò?‘ÞϹϯnz5Ö…ƒÑBZ¼ò¬”’;f((( {¾+œ2½Ì[+ñ=òE­ÿŒ\Ì€FW¥yg`%ámþhË 9ÓWx-É·g[ö'rN"鈹8yˆQq›5(ø/~ÿu9¢êÜx+¹õJ%¸:†á4‘´|R7æ2ä’ù}EÃ;p6>Ò5ŽM¬Ç}×h ÙŠ|]|ˆ0œŒ²»ŸŠ .%L3ØT!8*ïU°ŸÔ—8Cp5HsŸ•ðʧ~n”oqŽÂ»^ƒð`Í+qêšLgý¾cOúÞ#£;Nx‰R¯) FèG§ý ¾è™ñÆ>-MÞ¦ÃņˆI™HsŸ¨‰|\Ñ{ aVO¾•W¾-rØ65À;€0wÂðèÁ5IJë8ÒCÊÒTÓX ñ‘ÉàŠRI‡êõ{Yø“1€Øjì—”Ÿ¡ç \:“ôÊmö™Ùi7SV–C… -ýütó)KVM:åãð%C“‚ÓÇëχ5&cÞårÉ5EI \±:• uThK&Á •¨nJguÖ™gº¼@Ëé˳u +Í~Ø ë9RRFGÿVº=SVHFÈ! ŒÎh%«®ýå®Ó¼k [PÙšyÎCÊ0s%ÆAoÖ˜c¢ãiš‹ß ‰µÖ¼¬:lcü®Y‡`ýG3ßïúÝðEÐó1‡ N=GK]#x _šöû †Kÿ`¬ ù³´yM¿Å 3@~Iñºž,SS1ÁÅãiuŽ"&pÎoÙËGW΂/-V>V~™Æ<öð ïÓ—5š“?éÅÓNË–uOœ‡ILÕ‡ù5„ýÏ¥J©:*q7ò÷º­è$à¥@±aW³|ƯäÙd´Qï’îÁaã:\[„˜›>“øØøÁW ŸT¿úÕ¿èØšêf3Ou‡Ýi¬hë1?ñR·³†Œ@"Iš'à÷1ðÚ'V?ÄmÆ`•X@ºUNŽ)ÎÍ©"y¨ z°§;ߨw2{Áâý}sܧ Öådc/E#e13Ÿñ<¶Q™èPœ3åÔà0«56â¤OY®ÙcÙ»7œumžé=ë;/qîx‡*^¨g²gä¯pã„föýadR¬þà9@ˆV°I¤k¿1ŽÕ·–Š»ˆ ©QðZ».î»^·DéÈ÷}`€Öé¾Â QbjÈGî0FõÝ&6úa¸L8¬†Vó1¾õ“T!íÎÛ€$ ýó^3í¤«a×uÅbôùÏH.6§jE2OÁ´ÏË£JôšêŸ—άºé lA§½áÄKÍèFN© þÌåe eüB¯šFP¡¾1ÓÉÒ'ה߄jøp†üEf1 w„»ôù+|cý>š'°Æo“ÀÙà` a…‹ìÚÙ¢©Öá’¥fu0LgDß^‹ym:Û¢¤ ·š”ùV›i Wæó¿öÜÜL 5©õ²ï£'>®t;ût ³ }~× )¤‡·ó± ð½ 1?L ËE㲆ÿvÿ€¸Ahìð×ÄEåmÙ·¹^k£Æ@˜¦v=öj”<7£=èçܤû¤¢ØpðÙÿ§vgJ:£¸°ø ”Î_A b游ƒp®dó™µÜt÷r8oŒÒª±*AvmUûXT_!áâm‘qöùÚÆ³[NRRÓÀkuÜ„lN~µzÑ´†/¿ýÏ&€ÆžmÈÍÇÓØ>¼xÄéÞ‘Ò1Z·=Lr節´®YÌaYøAJÝûžÏê÷sº­NÖH1ç†ÊÚÍ5„34J©ù‡Ð*áJ›å ¡J/=¼w, ì'&x&ÄŒÕÆØY»…]+OmZæ°;²©~e¶ý]?¡ú?;„¦%B©êS<(;*»ßíAÞÉ£èß³\Y}D¸A«T’`t§m¼TÏb®ÛeÑâ»ın.µ:6Ç  %)é?pÂ\,¶2éËñG{„¾Í'×&æ6—ƒ>k=™OPëÅ©O´rÞ:{YäMqçç«ØŒ›‘–Ð'¿:‚Š”þ`^4dgN™¡oœk/³ÝCi'£^£ôT{ÿê7}¢{1g‘éªk*#kÉ® Æ?oØ \‚öýy–äxE—MÎû`òY}u>ñ?HMòè ~[Ð=M»BØ}5[´Kå5ì™4mÙ0RÙ§Š»BßîCšÅ˜þ Ò½´ŒßpWljD¦¶ 6Y¾Ü±— Öjv&œËwê{éÄгvCgÂu‡×è×±›áÌãD†³!2"!º’)·b­‰OQ˜¬Ð¦éJè[ߊ¦ÕWº¿mEkëÕì7ê×¢˜'êÈ $jÝWŸf¶hŸ56ÐãŽn7?äÿGE¢nÔòæ~ øƒPÈ8>ñ}ùš´ô@ijáßÈ#°å¿©—"ø©˜O3ü.èÊ£e£3 JæM¦"6!­-*?-å(ð.1B’Éun˜ Øê–h—ùˆ,Œa?§ ý†ÂÐI@©•jh›6AF§AwÏÖšCKx…f1K4ÐñGeÔ-Á’—ÙqO‰„“£ªÊ¢^bz@kïÄf‰ŽØ Û¯—š9Ri/Ê~Ú:€¤Þ88#C¢HÉMÈSØ*¼íÓï¾ËÜ‘%- 6õÚËJ~›–º8MR¾n8ãÐîðe$CY˜ž¥Î¼Œ hK©±Ñ.jœt‹žU‡»^MžåÓŸÔ‡~ÁXÀÒŸnP¾ ÇP8‡êJƒ!bbðC;Kôì*LÐGôš߆Úc ËJ!Ø[ˆ­¢3å@åÑ«ý´ñŒlâÁâÀû·ð¼^Æ ¢òVš'>òò©UZNbíæyn1 ̃\J4~Ò¹Ëu19Coヴ:½ÍóÏBüš!8¼yU€LïSíM«ókT“ ›c>j l•5\°"¡< …°!æªÓ™*S…WÉóêíàeo¾5Å>h1óL-ôŽÊË—­E´â쬖å züœ¦+’ý}èÕ a@:¾vÚ}ø eFýÃsu®¨k©œ>8Ù,Ñ…ž‚!siø¶IµµRQ¬­x õ–·Û/—xKª2%ŽÖEÉZµÍa>ÚôÄEÄ=—Žâ\>í®Ì¯)ÈSsdÚ—‘{•à™=äÈ¼ÉØÅ›&Ÿý{¶±–~sdåw[˺5€QµÓ2ðæ¬o͸ngýŒÆv®sl[%”ËîQ4ÕAÅ`1aô\¼•‚dy¿«á˜:àÈ,“–¬ ‰':YL/ƒ)@Zäd ¦{zhÁÇ^ú€ÄŒgôr®ha÷€©.|–ÊkθÔь،Ö±Ú”M}hëÐîi S¶½}¬ÝZÀñè,yÀg)“wz6`SÍÍ>ôKI¹@êÃk¹ùM¼q©v?ÑTH>œq< CÐÇNµá*GiF†><¼ÉWD_HHØï¼ £ÿ/½óAg„›¤…f'n¼¶q7SŸéMQ-2ä®%µbúF¿FÌ»ùBìEѓҹn72ÓÃæ¸•G@[‘;iGúÁ-!WØæMâEM :ˆ¾ÞNï'ãn¥û/Æ2²'šÁà]µíéd8<ÜÛZEŰ‘}Y Æ®8Ü„þï¹ÈBŒ»Öù> -üûâ Ÿ/2¯<,ÙþÉhÙO‘r9ö ²Û÷Ù¢‰=«o¨†%%ë¤Éö2''Á4:N ¯ÝÕ̾ÐHà «­|˜DÙ}Ñ¿(0ŠÌ„‹!ªAÈÿøúu÷hêà¿jÑ'r}&ñÁeàů„@a2ïÛô-`ä™e5âkaa¡ü¤8‰â>ø§ž<É gLy+›FÓ›ØA‰Õ·Æhý !k‚kP¼>2‡e&S•‡Yxð²Fk98%kr(ù†ñ}\í·‡7Æ¡´4¬HÉuŸCö÷*‘AŸ%–žß0]’]Á.@ä{T ;öæ>»×¨¤2Ä~ÿNnT‘JÍPCnð𥠹±K-LÀ• ‰wu†…ûZLв‘_ûÔªZ$g•RAP‡¿Ž_$NZ¤•©l‹Ùlzq¥ÆÕÚ@ûÍÙ(s½“ôÃÛ"j¶Š}RL38ZÆQP¶•ŒÐú3«ƒÇõ¤yÑu¢ýG‘ëu_0(¡Å¡%B+R)“ оØ\ê™sÍÊ(p„=õûZƒÿ©hrø¸=Ú9pXŒœôØ¡äCY 6C³°ÖP˜µ’Оàg ÿªÑ·ÿ»å\ÔGÍÊ{ Ú=>6ÞßÂýÍKsÒ-‚³B­L $u—K¥ŸWû¿^(%Oqó—Q÷—)lÅ7òƒY né)Všæ¦Á?¬CI«º!ì6àÜ+ÏöwAÁlÝ{ä÷]Ù½ïömVÚ9à($Éo¿\ ÜÅDÀzkµ ¡¯A`ôµ1¥…X†ûd”?dîž{j‡ۙQíGë—‡‡Î:Ň„}ŠaY¨Ò]5?rì£c!q3iÂ#ÄÀÞvûð·Yý†êp “Í̾€T<¢¬ˆÖ?pö])ÂI†wÉËKzä[(kƒŠVÆh½94üš(J€Ýç$è«Hož*DÁ‹y5ü ±‡š:ÛÞ/Lø2ÑE Ú§·/A€wºž²]®·ª˜ >ù‚ïå0nßÔáËŒƒkôyÈ/üæºâ¬šÀ°Mæöz3ݸW£Ô_ÁÁÑ77B[¼ƒgù[±ñ,œu7_s(G©®ódÙ-Êû«å( 䮑ÑWÒä‹&8á›îM6pº£É–µ]Æá”sCrŠsgB­ÔÛÿ¼Ô”öØ_¤ñ 24ä–”gÔú†Ôu‰.²ƒË8C1éÔ8†¦ 4Ôn¯*'¾pø kC}÷Q¨"­©“@i»ø2ñ{ñ…8ö¼8س?b¨¾’q!•s¥!Là|Öf;¾Ë©¯¤ï‰_\ÙÜ—u'_Í·F|ÍÍ«ÉÛÙÑ*ЋUY:•L†JñÞß3&jvؽ§C+øiõú®uq÷(BöªíÐà¦GéÌg)ËàǸtP-Ý7QACa¨˜Ô3ɸ½ƒeiØi —óÒ{©&;?ÇPU±àÔh½1ªØDߢ¬Ä–¨`”âü[87ž­]!5=üôîÇŸÀÚ?ÝÆEõ5bz²ÅÙscG^8ð¢QÅ¢cÔWòÍkMV¢Î.†T;œ5’r5¸A]×Uf!.pÙGíº‹0ÌÆ–,1½hBx¬;J¤è´¦dë:À¢ðºMp‡½L2À­ÑÒ¶E#Ó#<ªH¡b¡X|›â_¡8Áß'FÏÛõêtôPkó'GãlÓôÙhh„uˆRÚƒã¿Ôfš?f´Úö»=*B ·áó™)вó"¢X»‚r+)O½Õd°"w¾ÂÆø¾Õ~cà#<Ú S\uÝÎmÜnð×çGUå0¼£ÇÂ'9Þ½ËM™C7QÉý—èm uø€œ3ïâ)2–í~ tÅA¼=±NÉuíáO¬ê¹ç.)³4v-þ>É'­8ü]ÌÌÄûG ½~¹ù:˜ó¼%ü;í¥¦\$¦b'Ô·ß1½ç™EåpƒÿÙMÚ²!¨^…‘ ¤+·1m1¯6ˆâ·Ïzë|[ªË9L]aí63* fåž=ötþÏy–—«¿ÊþÃ¥ÇKŸ¥+DnÙAša–ýÁ§2àÊ^&8ÄY„©¶ ³üÀ—ä,?ÕOÅ[4“HØ]YU%*,düêÚÕoøvEUGŒçd¨¥3ãåèÐÀúƒwéÎÛºTçÏgÝGZ üÃmš4hÃÙ³^T¶H”¦èØE]®q*E N×›×f4¿µX…‘„ùÝà×aSÕ #z°‰Üеòí ü°MmàP#ËP1´[ç†M€C é›þ{aàó&C°B»‡2^J@Ò®ßE“Oÿ:u„K “Œ6%éò@ìœëXŠ `Dò™ûÑ—½/ Àx”žÛ•¸¦Wû7õÞ+gå-âEvJÉäæi­jŸß {XnûCœ¥‚¬†ÐáÑÄ׳øo#.3žVšotSþ/&‡ŠŽf–ù3oâ~é(y(õš ÷ ¯l¿I WC¯’žª×:ÚýpkÚÉŽèeù ‹Ô3×r¡fæ£à›Ì-»GêLýôÄ_Tšâá^ øðæûź}%¢nYxÙù–:CY•í@5gr"%ôöÿß²óÛŽï% ˆsCÕÔ¡™òßf2T,·"ôj4€wÖÛ‹c§Ç¯ é§!€ ‚›øòWRäõ0ñirc5§Ô@­I\ãþÔ¨6!zuŒÄͦqËqþÿìwå>V”…˜™(|´E !êCQ è¤ÈwBMNð9åd{]ÎR<Ù\ýbQô•£Ê¾õ ~fKç¹[)ÿzWÙ¡F½,é)áOBÆ«@0ðÆY:¤Q H³tÇ8Ú¥øÙ™Ý1gŒï!Öyz-åÎQ³Ÿ¼ Ï8n3\ùË^ÔŠ$”à©«v{³âé@… —žx¸Ï¬¶UC‡<¶µœaNÏŠÉ?š û §eÅIôW¥å•9áÓ]Ã'´¤ü¬0DÔëHÍzÉ޾~Ö´&là˜uW4³¨…›ƒ¼9qÁPžÍy¼È Î’3oÚ<ìc¥lûí…q# ùVðþ¡4ÏŽ§4=`Va"¦¨RcY $PAl•ãÊàTV¥îæ@‹E:±Z<…«KK‰éâÆ´»¿…Ìmî3ÎT'NEäW„ Ýï>XÞ½s×EûƒÜ¿ë°f\R9DÝìžè1†ýžÖµêª$ ˆçÂèG;â±ôt£µ >.ÚÓÇÛDɲdý%„°¦ÚŠÊ‡z€ÖiZSåMƸà „µ$9‘¸üfB(8줫 -s«7¶›R±‡A"­M»Ò} M#vôsþæó¦þS¥Téß@Ë_[¡MñJ‰@½ëûŠœa o:­b5^óœŠd T”Ìf±¶cŸšu×û€æ¨Ð/Ï@Ó7Ú`àaù‘î⣻à‚7Þß5õÖm°åÛÅ÷mð1¬S¶@±¶ûÉtù”ÇJÝë–#Ëã?ÉTÑd×–€fÚ_Í{ä¦Hc›wx$èMޏ†ôÝ_oÔ ä_bh¥s¹—‰[¶K¶«n fKÕà‚ÛÚeM©þ(©)@ÆnÃá+•Cñö†$Oû`HXKªòÛÐKB<(UEúS°3"^á•Ò®/X…7Iæ’4ðÿ€• 0H¡ÿR}P¯”;ƒÈü°á´ƒè—àpT¹±K™D® £#ôwcFIö*±6ö§XÅ¢îŽÒ’ ÁÇÆ3ƒúDzÄÁZ™/yu+ ôµÎô¡Y¨­OR£iÛt1p(ÝQ1RíGô§Dò5kŸ ƒ*ðòògh XQ°$;tYîbä¶^`Vù6PÅiÒX/ø+O&¦M|¦<è9¸¥Óû’<%pÍ'¤áséÓå`8Z–œÙ\Û>ßù!® ¿…q43pR¶—¡±®¼$It)µg0Ë/І_ Z Éo„Ú*X™"9 ŠÐmèÃþ˜çHQ®iÇÐ#ø=&òºtõ?[ÓZƒì2qvÕy‹06°H™h§RŸ›Zw0›Ó†éuÑíÚö¼ðg'k(¦‰e%ç3F f²cO"äíñ„úxeÚõN‘[‹2*ÛÆ«Ì6€î'I4ÛýÜ®e€!WãÝÉ´ØZ)ˆ»€Û^RęӵÃÞŒõ…§â´nnäôå2¶ØMÕ¡'ð¡Â`R¾>D§-ÀºÔN=MJžš‘!È0¶Íª¥É2 “Þ §ö ¤ Ê|Ð ÉɽÐÍA“‘èÑ9B%Ø>‡ž‚ ÓëfPÃ2r‘ê(‘/ÀSɸAƒ‘šüჄ?ÜÍcõ ’ÅÂq£DÙ}obŒÇEâ3*# ´Sæ^~]üu%¦v…ä[xzGoàï9ö͘o‘n^らw£aXªÆ'.—B52š£^1ÚÅÀ;P@'Ì›Œê¶OQÚ•PkFœØ:(>]=Ö“ºâñÛÒºífîÙ}*ÔÒCsq¯¬{¸»wÎÿ×ü°T¨ŽÍ+à æÚRk\W¡é3_0öcápUO>‡D³v¬ƒ–!”ï¶æŸÐÄ…º!áooŽNÂbpØBÁ¹kÔ#ðC>%ã¶Ã‰n6âÔ ib¯äIì1¿›Ly7€0t°gGÊB=Ýtm,6ºÐN.J©züÃùv1oñ…fÆÒ4WZÂøË4Ī9í“zôåÊéñžWo¾-.yº/XcƒnnÖ5šOàkÁ @Ï즫Õ1û7€îʵWz¼tÁ hÄZàçÞÚ:Hâï~ý{0m“è1~–ÌÏ#a¿Z¹Ÿ¯yðÚ¡v†Sº.ãÅm[VÒÊã#9Aã-MRfA„èÅ*ü¼1“aË]nåYè/Ýq÷…sGæw˜hØ­(Uì ½•âøù04uºN?ÿ®môæÕz€(/ïñm`‡Ü}Uΰ1j+­yÈÅ”•¿¸’¬NÖ\]> áÍ}\ÚÜ7¡‹ ‰Xf‡]èÜw(kéœí9FÅÊ‘©ºü¢F4Ô7L”~À5èø˜õØ£¡÷‡ƒÙ_…a¿=¦5‘ u¼ZiM0·on6Gé–Œ=ñR2/ÿÈ©}7çeg6XIX?7X'ÀA"¶~Ó~ÀòFr¥Ðª—,t”<îr¨k9ýŒð*èßÞéÃïíÈׇfˆ“¿ãèDoÊyÒÌ tâÃ`dX —€—Üó’X°KØi@ºúD$ÈÉ*ú¶‘÷t9mk"÷*d*$”j¸.p½•ú¨Õ¦ÉÏZw{dÒQòeÓÆ h¶14™õ;b”òWãXrƒl@±î,ìÐk&K‡ð\bÀ{ÑRÎÂï'ÏeˆË–’ŽÉTw*|«:ßíéØ 34“Š AÈ¢üõÛg¾Ø>Ët‰– ÑJ‰u,?†öÉðJ…jYµÕŒVüÍ_¿…ÏòþSúKx…BZg¸RƒRÜÏу^ц§4k›Ùghdþ/BÓÿüÈj ;k¢™é3È8Qgº ”S®À\¡ƒWÞâ·k)+Þ×Ñp|¾x ÂÒô½€`îÜfA×#£é “’Hm ÎÆ+éýÙæ)æ’-/ò«µ\ rÃëq®ÝE¨B¡K6OÖãaå$pEÅcB¨ð×o?Úu+…dh¬#j°†Fë,6‰Š;³ŠsZ*„WñZ3Ð v/2ÐëýF_¢»RõÄ;0õaá ùF¬þ”y¿@!ά:¨»Qè¡)V\\R,BV¾ùn¢|ϱÆZ ²Ž«ãþŒ0îîÁˆÃRügit’*è’\l~ªu¼0bn’FoÊè˜JªÎû­œ»à·%|@øÇ ëÕOÀœU¶m€¯†Yí¢>¶îìÎDše:¶ûæ—h€ Þ:_ñ)¼¼DÄ vD°vÈ{\/p+àbÖ‰0‹àYßDMCX«Ad#&è\'wëØÖ°ÝBawòÊsþötPfH§_Žf| Ï¨ÏŒ¾R^'ŸËù1R>©X rÖùQ[ZÊIn;Ñ}ƒ´Fú­‹â?Ú@%ÿYÛÓ’çI¯pr¢ÂQS©WSŽmxCg¼­Y~dÌN[Q5) RDØK1Iˆ¦\NÓ3@<Â#U¡î’Z¢:ÔÍ|­ty¶(ûz\ó³ FyíÅE„~…OTº +Q“:ÀBGgh?{áÒ`ƒHo XÈ `B4ñúÒ#)œÔ*'ÖûŽ‹è>ù¾ÃîË”’þ¢|ñ´­Ìz`”î&jÇíã9OÀŸx[áB< ’ ;%.(‡²-b”C>n~þd`f”ý9¼b¨„äY%@òB4°¾'Ëê|»“ì1q`ÿ²¯Jè§LûŠ/¤ìbvAÎ mýÖ™‰ »3ül`Ö‚’#èl{I; †ùôßIäNÁ<á³9¶øtmÄ|Nuмª¸ÐRüÏúq›qºÐ p.¨À•‰`ˆç:ÓF‰8M-’«H´ %O?ØOVáùyæfÉ)ÛÝ#ACÔmÞ©‡,KÀ˜XÚ€=‚ˆÏ(fb.£“z¡Ý§™SæÃXµ9¦.¸-hµ¤þ€1÷t è SÖ–Ÿ£¶Òg%HrdF«Å=¶ÞÑC¬±z¡“*™¸Á* ê¼–¤®’ˆR’ ò¯[ŽYâá„l€D$Mô=íU1Q…¼wîEÙF6FiJí’%©Pj¹BFÇ|à¿vI3÷´2Ì]ÞQ3(s×p–‡2 M¿«¼Yp$Dñ4H†cöP19Áº6=áó•¾…ª÷#L®œÌ3 0Ý1Ò^KÈœ×x)v¥Š€ˆÜ»“‡ŒHZÙVÖtB,õôGw=oˆÀüêõÉúZ+?„-9ïÍ*h³7“.¤«Ë·Ÿû݇M)îa‰ÎÆÿ5÷HaårxuAKO7nsW(h*(k2½8@r—Ä*å¼^1Κ0l:2¼kY(øÎ›Ñ7lQ ¸ìÉ «P ¦0á#1c7…ûЧz7A—ïk@ºhÙ軤ÁÝÐÛQŽÅÑ@QðÃpÑñíøaçÍÖûêÉ66D™Žƒ·«LÐÿ¸™'xSùÚÜ?;¿$PDƒs»£¥ÒJbÛ÷n¹k1÷á”sáAêëþ?kèZh§Ò€ˆ"Œ|>‹€¶¬ilAÛαxs! ÍO¹O"È6—JÌcó|50A.­Ç懲S÷5PÕ£íæñs–¿kße¯uï·nAtî!<{•`ßk Pu9.[‘2 ¯¤5Ä\]m®¢ºkÒ×3ɹ7‡Lµzåk\Ô䞢n€™>ZÛD˜Dàž.s%)€|NõáfãÑ@¨Ó–`镬¼+Ëy§ ˆØ[N Ëf Ðü­Æ¢ö"ƒ_3‡CªßW̺ì¶RyÌçtÙÇVH!«YÜÌ.#ŽP‘™@ säÎkm! ‘%Õ÷îÞÂ4EïL:¢RóÆhpeklAÄžîAèÇLòþóêÍûd4¥Ðs••áê×Ú.í¹è=]-¼ ïcÅ*äô^ÔKôÒÒ•mí¡`¿êûh’ë•ý*Õê¾X$6 ¼^C$FªPeY5 ŸŒ~?‚,<9üÒŠ~ž7 ‰OàgÀ1as•è« Ö¹>ç_ç¶8{Ï®s$àýæ!"BzËrøUñÜ‚›Em084LÔÞÃ{¯É)´Ñ'ÑþÝXÝ á†ù¸q„RÈŨóÇ%xiApx¼¼Æœœ0íCµËizx§&`‚ìÑ«ò©Í^팜.vÝ&“iU¡ ¡øéDîÖkÁ³”ó>¹x‹íMe·«‚?>x¿3æY¥PÚZ½Ò´Æê`±í('Ïî„•uÑÆÿúXdå\Æõl*äîIÙ­ý“,œZ–šzS/çÔˆàáQqìYÊ¿äu? Zu2 ŽÑ‘¬ÃõT|Z«þLx—J–²‘ºÝãgjX¨ö•Û#·ÀGä¦höê5ª%£×·‘ü‰+݉Hyð=Ð./…èØÅ?Ez%×u‘†4¯¸ÏøÌ%ÒòÉ€%›?e>euLet‰ýB´À,/º48þþø†í³Òûöcß¼|i’žñK}WîlhÉÁPwCžOaªß.%¼m…¢b‘g ÷’E˜Añ¼kçÿæ¢Ða×}Ï•S”2í"‰—„ð×\U:nF›n«qÒ•K[—¬ÓÅ3ÿ KAsVÁŽ&½å¯/; Nt}¬ºl Il¦b|Zýµ_e®“˜+6Ô\=P?²‰£Å|4•ùÛüáõÆ K(hø¤£–X- ˜#>Og5T´:ì\Ñ£,¬ ‘ý†È1`"ûâ£?“i]ÐÖˆ¹ÞÇœ¤¾R;¥¨Ó“Ƽ“ó[6EÍwZC^7/-ÉNwõ¨ÒlAL Uñ™Éß”Á*ÜVâ\õ‘[,œâmñíåäÀCg³§“døï¤ö/ŸL]N«˜Š2ÉU› *£>+1m ÷ŸèNv+GCÊDñ‹A`\ `þ5œœ%ƒ à±1P3£»?FƒÕgŸyÉ-[ê…_‘yÈ1ÞŠÃ^ƒHó‡Ëyʺ·Ã94´A# ÿÙŠ_8wØ£l} aWf6P}©QÅϬ~R,¬¬=ž&ºz¦â!q\¢n,H[@Dî³À÷t7ud¿ÉÁEš´Õ“;ÑL1ß»e»šm@ ß]õ¯o¥âa,ˆí˜ãI¹_!®Ì¼ ïÉn™²¯ÞYÉÑBöb€Œ™g5îÓA!0¤¸”ÜN±»Ý%%œBxî,˜žØuÏ™»$Áѱq@UX3’i(Ïa¦dh\¨ý,\ûÊÅžÍËÊ5ɶÔâ#d‚þÇ´öë ê•·…*=§JèÓ4›¥Xxÿ}s  ì)ʬEms3$äf´ñ–½÷ ~G}Ê©dï–3H'€ÿ“ïÚ<â.ž\TŽ÷~¬cç¯1ãð•ÈÖj¢ïˆ(2-!è ‡+¤T4-ñ/7—Z8`ìÄb Ò…j¬pÏUi_±ßJ¢;Óu´]Õ¾e’–Ý¿ªi]Û½3¾W‘<æ“ðOo^0&dAvµÌð‡ïÛwŠnÊ ÉÂ|Å=¤¡ }|½AT×ÈÃ.žgö@KüˆT£ÙOE@{mJlÙQù^RƒÐÁ€‡„µî2gÙIPÌ [ÚxU‘VH«(Mu8Ã+Ó­µ<N‹§ô(dÙ‰öœ Bû¡ '.¨}cPÕ‹ø=Æ¡§(ºXé­ž{BìüÀÂYL1EO]R½ì ŽäÏZ±‹s3QU‘ï_–N7¾Epä89ðC!Œ¤eâDÝZÒÏvPKš8ߤTÞöÇSàãxÜ]EæcÎϺõñAn†Ž`›ŸÏTø'Ý €KÙ­Àjܧ½~©gáʈ¼ÁDêÏÁ"f*ò–p0ÅBgLÈß;»:yf¡W”Mk*☡¸ùÐå<DF‚>Q ±¬çŽ–&ð¦ë CĆFaeQ~][Œ¤#Ï£öÆ%‰DŒ÷ÒìŽl«ÿs4ž?‰’)?Z¶†wŽqH:ØØ~Î䪭Eb0\ÆdUζÏt^DÁ}½Ä3Á2ÚùÒO€ƒfé¿ôœÍãfÙÛ.W/1 ±9!g4)“6|¤óŸ|1H}f]‡(´QóøHô´,% —ŠHšS"taêÀÇ êMÆû†¡r·"}j‰*BG·)ð3ÌåÛ`I6‘É–‰šŸÞQ¡çv:UÛÁã€õâH€2“`¯jßÉÿ¡eŽŸÙë/޹H­ ñK’v‹aô£(ì˜Î Æ®öØpm§å¶À>·‘–bíà ÷tÓßH)töx=7õìExcus¡£…83DÖ£ª™†ºõšã•9z@d¡.ùÚCÊ/=µ\„ËŽâ1»jˆßR©E‚8Ý0³…"—rÇ,´TôŠIŸ% ˆ Øähâ?îª}‚¦LNž|oo‡nB‰ 5ža’zr0;º}ª˜ñ2ËTÃën­ÂS™R»&R Èf-7󪥗iÖ,]r:¹¡‘ûåd¨óæ×Û¢ìLJh ±«\®3¦1ÞûÁ†÷þå)ñ:$xM@2ŠûesÒ XH"Rî™BìM¾^Ü*(êÐÆc{(Žï¯ÍÁâ¼¹ª§{”öä/ÎÂÿÊ@­rC';ôzº0.^ZqƒóÚl¹¬¶ò ¥V_C—>FMìÉÛ}z~‚î2´„íÚVÅ5aÝÙuçö}WÊ FÞ`Í8ô%œf®4\ÌlË©‰@±ÏQà9–\5ÌI;Vx‹ú`Ì?ÇŽ~5Ãódr¬"0D*× Ay7U&¾†ÄiÔ°)'´hœÈoFÓa¦€ú›^¨@?q.-Êþüu÷\]&ÅÃ/£8P€N»Ù=Ç›¶Öåí)9–Å9x,¬ ±Ä»'rÁ2´hNïÉ¡eÏ2†Òkúß‚Á…}ÊKˆÉé[Ci~¾Â¢ï=We~±ý ŒÜ>~®™éd äBòãû¾AÝa­€S÷L=<ü?̤Œ‰`›ô ´Xݪóqº«¦Sqj3%Ũ·s»gUNÖg7â2ˆˆZ?®·Üû½è;Ãa'S¡pý‚u©òžhýn¸»ØïËL. ÇÚ‡/ƒb%”HVCùb'}vßfë©DZ#2{]û‰“SÞ¯Céhl\ÌØ‰”Ñõ”® ýžŽ¾:Œ°f‡@ÒÔŒ(ûúXy‘]ûJõvÙâ4¬4 2xUxšÄ·´½s-ÁŸ#Æ&`Ø-^fìAÇG]]T¶6§™†u¾~ RŽð³­¸"ÚÚ<=•H¢Zó÷VÒƒª×2F²s÷öR:ñHJ\V‹©¬È0‹äu=ý('qEôKgŸÏL»À1Ä#XŽÅáºpð,«S„ºi~ÊW*U%¶ô¥ã ïùŒÀ_ ‘M£?æ#ïÐR?¨Ç;2Ræ´(ÆOK„Û•ø8ÌZ饸kìc¹½ë¾­û1©öqJœou°Ð¸³»5©¨Œ+ ”ó}Ò× ãui†]*VÙ{Z‹™;ÈSDiH¨j™±aê ò‹#ú#°âÇ59PßHc4ƒÇD¬â©‡Ç2DšçC¯"ÿkv5HQ,W]“@[ˆö5T­ &F\ëþs¾uÜBTb¦j/›z¾n–ŽKñaR •¢pÒW6,÷ ÅUš|…ÿhK¿9qM©=»Ä…Õþ”YkQÿR½®üF.1“*" ×ÿ¥ðÞ›RèF£œað˜Õ˺æ–׈cr!T/›ÝM‹tŶ™;|¿†=¯ ·òªæiL¹°]øc€«÷Mý!²Š„ ybsJ”cÖ• Sq«(ô" Úuø/ý¨Ý?jüÞ¬ó,ƒÿjÒ 15‹œØ2¢©±_?– Rµ¦¾ Ç+Ìȳh$OÄuô¾ïÜü«Ô¼Uç\¿ˆÐÅ:{ç—Ó ÖòeÊÂÇI‹‰ªC4AÊItÒ…‚Þ/,Ô½… }šÉPq »ŠßMu1p‰{zŽSU;¯ÈÐúÌÅ`“B;51¯µ{aDQDË1FD²Òuåå#O €ÎPð°Œ8|æÖϦœ9/Õžy¨j 5AYÑÈ~< -ꊴo-o,®ÄãX€gM#ß•nV’b`Û§c°–Ç<Í鬺:öÇã&Ø=BÜ$uS˜€ovL,€†¤ù¯O8s}ðÆH aŸ~Ÿ×á!šÕ†7¢‘Z¹©Ó“~"À£°Ùññ°$ôTp½)×C–Q­ÿ Ù—ŒÄ@t¯Ø•ãÁ´Ã.–”§k^iŠ”FE°|ϪÊi¦‰Ž€Åÿï„E]Ä01 ŸOA‡ ¢[GÔÁð«û_µ2ý%þ6œ‡ƒº.šxu¦ØÔR^IÐËܼ†þiîUx¶O3U€ž’‚×r‡I:ýò-ºdš8üO%?¥à²‘ª{u6›zìîÎa¥=yã$§üÒÎ/*[ øÑŒ3¦yÖ7…¡Ážlôâ„'ƒ—[÷ËóJýQú¡*Wfx6hkæ0«WÖUY·H?PDZ¹ZhÉé>Œ+A?}=<Úx=?©¬jö)Ol™Eü§l4.½ÅoÂÐÀ¼h“Í‚OÚnë“·¿ªÒøI‡ íý‰àIø||Ó! ÊϧT›:NBÆeÀG@hUU²+]‰Ûâ˜ÕâÀ½ñkw#Àú‹ŠF ¥¯Â$'ÿib¸jD›Üo3‹:fÊ+„O˜3l{/ª7ÎŒÑY•­À>ŠR>Ì~RR•¢ÑÛ»çNäå³âÉÇ ’ëJ|ïÌò‹h=A2EPý‡g‚†¢óòµŽÒP˜‹IÃjëÁÌÕL˜Ùú"º 2_ º† œÓwh[×0ª·˜5G—ÙfæŒç6Fj˜µ¤¶g>VûrÞ=bÄ0ËÌ„µE)…!‘hðqQ9)˜_BEÆ.I¯-¹ÐRØ?Öi€rÒÂÈ"¬Jl[«™å# {–ÀšŸ › GÌÁ]âôéNÓ®bÅàÛM Òq"UjÿS“–)"©«éõs8½ÑÞ‹ ×T¥`U™´`­”`‡Flb…A„u?AR&Uál¬öYI’æm¤ç ÏÔòß‘’àÅ8)Èj;à"™ÿëÍÙìGu&£Ž7úÛ#?`B9h¬·R-UNÉêvÓOE!}¯‰/)nЉ…gääó¢÷c¼, Ú4vF ×Y/;ŒcaîeÜ,¤\ÑÄmñÛcQKÊ­hþh8dö”/âš°òMeë.VÌe ý„öä.eÉs8ÃXÅ™}u'†‚À‰úy—0²ùy¹0ÈcÏi!´'Qº)¾žÐ’$|á*ÆÐ¼9ITrXÏi¬šIÀ¢îý…m“ÃYCüÑÏøF#ƒ’¼¨ÕF¦YgßK}Ôú0‡Þ˜Œ@Ò3¿kvóº’Ùñ'Ë—ÐγÀ`}ÿkßñ%ÎTUÂó¾Ö×3[‚³ïM',Cñ'ˆóX¿ü»VŒßФvÿ ¼rÓ•HÖÐI¤¨¥…¡Óš­E?úÔç_B4Í)e+z–´•|6’Þ‹RxË.¯½˜'çtAò†·}daúâœië[¶%<2`àäXѪ­å§.ŸfvÄ;sŒ1GibäB˜«*| §Ybt@Ž&HÝ>¬VÈhU–Iˆzy#É¢ÙCÊác½ªÓëœõ‹Àý |_³º91(dáa¾cÄÜM|=m3Ön¯Œ‚äóå™ Ï¸»Ô´pôÙëí•?·¤¨SúoNq ²ù"ñýˆKUßY^h#‚ØýœßÎ!¶2´$X1žË‰k–ÿP4•D1ú¬ødħŸx‹ˆ ŽÚÁÝ<ì±ì´/EMܽJ¹q-³üKœtOȃQ©±éÖ™h½»c<»ÔàŸn¿æ…H¿_‰¦×ÿkÔ‘‰>gû8 …ž“R²˜dÆÇIqg³7Ò‘ø˜Ô™ñøÂ99º3~O…ø^@’•9rþBšì¾ g‚ÝWUtÒ‚Wa϶îg³>FJ¾oäG3n³¤»ár+‡k$ò3r=]ÐñþåÇ­vSî5ÝÏÑÃÃboî­ êÂôÉ‘'Õ<×$÷dAŠ4Öªò©8J3´Ot›9€ÿGü/3Z"ú9D)¯18Š·±ªœ‡íúIü•l¾)m¼D’¤V,Ķ´O†8¨÷°ecýl'lÂ6W(ÑSó—ŸÚ‹øŒÍïwÈÕܹT–|¼ïh˜÷6eF¨¥€j+º¤¾I’O‚x~OZï!œ*_ñÔt«Ö常©‚‘äxsK—ÅJ>ÇÛJÞÜËNI-»èz±Ïô¨DoBtï‰ÞÞg)?âkŒAÂ%'mQ¯xõʹØd훌g¬i‚›¾ßê‚ ›¶JáxSÝã˜8BžoàKˆ$›.ûûMl7tÜ>]¨±[ˆf‚Þ .%óZ€›ÄๅB @?˳«Vì‚þ9ôn¸v‡¯‹{@¸ÿ[c|Îô« ¯!èÁ¹ÀÙõü2 * ss¤XI*Àïrp`jžœhîõ¬< V×5èYÎXõÐþ>uŸ ž—&Âvje9 ,â-G5.Ò¤“bwÿøô¹¿WmµÌãSdÉ‘iÉÖQä~+••æ~¬Ärô+ÅJîë§pPÎ-32U”g8Ëäþ§q³Ìw³SúØÐ ñ«©¯%,âÞ•î1Ÿ(_À%âáL\Œ˜Ø;UÖ°ÚÓšâCÏ0–k}3‚.~€¹“rº2CƒDÖ^“øJ™þ^]¯äõŠp† ²÷E•³)ßc“?+*`[‘:½$³OúƺÄW?G%€Ã{_/%`Øäí×ú(#RD¢û½èA ¦Ðb|°Ok“N±iíRNåÉ)iãMIoÿˆõm¾IEüm²¯r**ðÚœ=“Øëz6l¹!¡*LO¥Íˆ«Aç£õœÆ§Ùºù˜ÒÕ5Q„ÑÑZ)BTÃÔàË0gȈ B™(ÄîJ#(D™º¹"îQG“ÒûèÁ „;Ù*s°.wíî[µòæFžºù¡F—Ѻ?öBšºŸ‡I+øºÕýÆq['H ˜›'oă)Ô‘ùyD´ûëïŒØ?{ù qè`yBµ‡­¾f ’¨¥¦{aF/ÛŸÿÏ$eØHãLéàŽO!hpý…™GþÄÁÿFX”çt6ˆ¤ÿäQ½Ò3Þ”ÅI-)cŸ@’I-/ÖãA®‰gí@¶wµÂù¡íy8õŸHS‡f2Q3À±°cGuñ‚©Uq®…•1æÿè½>@ÜÒKˆ.<3/«y(É’ÕEøý¦Ì(âßg.#ÅYJPÆiì.«|E†&³Ö¥hFÃ}BæF@LÅ6f²gËÇ«yVÔλ‹ÝÂ̽;:ý(ØäÝå”á<°\(OѰ¥9 ÞÕ±…È”ž\Õ„ÆÆÙrÖþÙ»< ñ{§²05³¯–›øÅfœr¸Ñd ǔ쯟¼ ®{˜.¡#oÍ1,ŠÎoSÞ{öA–"µ/TŸÂÕ1ó¾íiµOÿ÷ëB¹`Ûg;ÒM8lQ9è}Ž:Ö2ªûü ŽÁ°;¡—]!éêÆXš*L"rõð(¯‘N,ªÖ¹šÈZÿù+¶3FJ†|gtgÉqBI’à°BD;ê"­s×ÞÕf¤g¨l`¦öê#·Êõ3?%=ÇóœœÄ j{ÊãÇЯXBÄö)³­Ï-Šd0ÿØáÁP‘°P¢…²ÿº®y ¼FmÈûç\s™mê>:”ûÀÒìEŒNÙäEˆcØUD¦±êÕŽÃèËóÃn €©Yj2ÂlvÞ†°aá$-bòäS¹.(¸Â¥,.ÖF †\¼˜µz üÜ¿3¤¹téLêüíwÖªN¡Í3âÇíîhX¯W›W‚æ÷#°ÊC»>­¸õþ¼¡ à‹ˆœíïˆs K~©4ôç‘a;àÄ£]C Í€$¬_ë?‚õ3kÏÙ€­=²àû5~ÿâ»Õ‚æëóÚïrÏÚ ]ÊÌ%EWb~š@qN*ûM ª¿ôªœ0`qO·*¢èüæô8B)“].ëÝ_Q_u }~ž"­×ê¾èÞs²+ŸV±Úc]åHÑ1:¡&<žzNâø:ÍÃI®ÁqŸºÿ´˜ýQL½d-%è%œ6ÊéÁY=¸Ï.æÎ”¹q'ûöÞ•ÛªZá©­¿D×έ‰Fo¿’%ôóýû;gŸúcöœÎðS{}Ñ£ý¶p?œÿ9¹l¥Œ„U÷h §ëÂNHõïZ~?ÿŒ1×»!íw“­ñŸì¬ÍÚ{tšæ¶ì€”0ð• ?.ŽºÌÄêx€C¬'žù |–ìKƒ–†²›ëy ˆ»a“‹{6\xË'•HmÑV² ß’‘Ð|˜ÉfÄΉà¸Ò2Ë5±íËc¸*é‚Lî Ê{…4ú;&¢¸§ñ/j x‹ˆÈµ?VÞ=®¯GŽ„øC‡3<­„h¹¡®@ƒWÈÖ÷̼‘‡^!¢uÙõá`-Q0÷*݃ej`Ç;z¢ÊI瑎5nÊÛx |ÔÙf$Ÿ)ÈÍç^W¥¡Ù¸àˆëì€RÈ|hømh œNéêTõÿÛš¡PÓóggTK…1 „YjJ‹N=_iúàŠ’Áë ðˆLSÊ×ßü‚¶;ñ›MEeŠÒ7Žq$ÑÖ3´x‰™S2†þâF!‹ðË DÏÜ ¨ƒëÌærü–j–Í®‡(O ÁPÒÚ€©$ cÄ^îêW» 3u&ßM!Óäµ:Š\âf¬–=³K™VËÜ2šû`ÙU&A,$—% ؘ¿|¹™,š@n®3¯¥Ì6†{«¦7ô¸Úý1F–nY׊&Ä–¦½pÏ÷mDy¸±8ë$gîÛ;fa‹<Î ¦”7ö¦:vº$|ñR"lçwù_¨®àÌÍɯ’;UÒ{¢Ÿ5ñ-¡Î~iháï­œ{“QQÇŒA!U˜©©P YÓ€édD`ÞL–m¯ê9\o°H+D`ÎÚ9ç`³…×ã± S½Œ{ö&!uŸ7Åß=ô¡¬ ñôS2áŠV÷Ìžªû]­ÂOÛ–¡"¾™¨ÄŸ‘BÜC €¤á÷ž~“¨Ú¯zUÜ,O“08E#Q=/Os«úq¦Âèˉ˜E ìMLEˆQ†“MFFÞ^w"þBï,tÍ$Qœ‰%'­Š2^o‡¶Én8)É'yYî2Ÿoôt®‡Ÿ©ÒoçÏu±·Â_Ž˜j‰p€.ˆ õÞkÊ?¶É;©ä½›ÕÃß(!àü« ª 9*sµ+6!;á,êò<Ü”ü—דÍ\7[[ƒNÔì'¤–z•öÝâ΄ØÅ‚gi^xŸÈ\.)â;g_U‰˜]8ø užU(:D%€z·‡$»^ÜÑ›r„n©ìAa“M¦‚×_¤h,ÇÝò¢¾9íãS¶ù[nsd?â(ÖÑ2¸……å3‹Qh™¨+¨%k3%,·x`@ -•ÉŽ¹…íõôcžýŸº˜Zú­}¸"^™wÙØ~—ÎØg;ÎŒø5ŸýÚTYq…µ¶­ôrAùéâ²DXÛÌš5ó¬›ïÁ‹6«ÌEßkŒ€QþÔÖBÀ"¦{ôHû§0ÂÔ_eÕ Ì»ŠXûDÊ[81Ø5´¸ 7Ì™H‘ÌFí’ÁÞVò™ß øp:*p‚ûx® #®-ƒ]Ѭƒôr0ì‚/„tȼކ¿Ø¶þ¤øf¯¸îZ›Ê¹Eâ6` š<Û¹ðÒE[ò a±ÜwÆçLckQ>zþÑèçÙ ©°7¬ ÿÓî‚{ô±Fžß)”#kšïüqÇMTð@ÚY0zMÎ+Ù]ø‹&©cC±úŽìèïÇ5 ¡F<7Ô.ÝÜèbP¦²Çqýß‹^ŽdÖ:vËŠ>CˆEÂ.ÊŦ9阋nC¾£—©“ÂJ7@Ô¥‹ïjÏU¾²×Ž”‰$™Õ>шXÏŸ‹ç›×B¼lD¸²Áçèêú¡²E¥ ²â[¾¯ðDbD•îÈ#G3'VI¤ûØUC+ßEpÀ7ƒ¹µÍ¨ô^ r“92^%a$_k_­…‚(ú“ð·‰?b}üúÃÏ SrØtÓ3)§‰BfÜ6 VeFûzì4mŽê~F¿sPÒY[ÂNÿ¬KÅäUFI{wÑ‘…þÖ£¿ÚÐß_ˆ%©ÅÇóÕ\1&÷ƒÏ ÿ¸Ô³ Óncê.Kq>®š`*Ñ,&tªÔ&72SÂØÃšüؽIËtÚ ˜¥•ªÙΫnŠTé30¿­ó•ì påW™§ñT‘¬ØJÚµ¤¬_p8ß1ÌBŸ«€ë&J ˜hûæÈ ’0‹šO"æœß”_ÌrïYà}±(ž'v V på>[ãÙ?`}øšyÜÈD~"Sá v”ÈЗR NPZÐÁ?ÿm‘‚§#·Ô\š¾ÑÚ-*³eæ‡ÊZ¨tâOöê¬êÍ>dSÔ{±™ÙX÷6Ÿ»ý…¾­Ñ,ýÒ‘rœ;`pŽ6R•õ¦ÿÅ=8y~ÀºÛ£×ùü™´ˆwî±[/ŒÏ„œE_šì‚.ÍsÄ;•(zƒ‚ùÊ6( ×H›Ô¢´oŸ¤z7[VPì~‹¨Tç5ùTΪ|8“Üé°S¬á3Vô¬Ëø–îCÔÖó ¦Y·Ç¢ì(ë ÃÉÞLɰÂз*ü%ô¶F'G5ÖêŸÚ½¬+YþÓòC½U)è´œ0Ñ¿¿Î—·£á‚fÄ>Šp`½Ñc ÷dPö]Ügx¬“ì`Ü]ËV? n‹F+m¦›Æ+Ø' ŠÒ)©r­ G'uÄ“>ÜÔÛT%ìÜªÕ >¤4øeíba×RÈLÊÅÚ¢<-ŽoY…M2%šWËs«&e3¿" –P'Á-OßBž«:B=5¯:VgF2Œ¸0Uʃ ö‘û’‰›ù”;øüÙ)¦i¶üx1/—éœîZv}²N»BŸ_`=ižö+;£ŽÃGéÍìQEÄV §@”Ô¨éÇoÕ=Ê[r|è§gšOõ´Û¸¼ô_^ß­ºöˆ4mq›Š†¨^J`îh2fÖn͸º+Ø;„«}Wuþ?Mb£”´ŸŸß,,g"Z¦’a°ï–þÿÐ^ ]’ø½åRDÒQ±Êz_`³¼XoRµ$.­›}7š—ÝLOQc q1©ð?C#»€£ÁÅ)££Ú¬·LN`‹ñrkÞZíû%7 g”ù‹&$H^ˆ._ÈE?üõ±¥à…¬Å3ÀbÛV× ü·à7CüoÓ}¤™ÇKô¹°n"×:ŠþNŠA›Ägöè=óŸtÅËLOÒµÏnLE6X˜ñ.´B߆ßgó¤3tvÕE{p1›ÃüAkš¬ñö‰] Ä!µ.KTòbù`ÒZU*™W;ùúòLz’LY¤ù»žÕ?de"å bw=Y…]8(ü«/ØÐÑ«pÚ÷›Õh} šKZv_Í ÏÔ“ŽÃÝ:lfëîsIÇ0+'øÃì5³T™$k”5ì£ã§1¾9+ûë’šCW[Ø7.<ýóù_Pl·QZÞ²¦°;HvnÏ—öоŠXÐR\bÃzfùB†FLú<Šuâ§BÉ«XÂ'®MpÖöΖ¾üô72Ò˜’"B¤Élø;S»8ìÑÆ„Ýܾ«}†5ëú4|Î.ȹ3qJi+Þ7}“ÃI›+ÔóÜ“l½DU­îç-ÈO°²õáÚdë)-²ð˜B¶J¹µ»;îÆtõ®çŒæ_œråV¦ÁœþÌ:ñÐ\¥Ç›Õç:v• µ4½…÷Ógažà}ò‘iS qÉr<¾¯ BW|\Fmã}ç epúª­ÇáÇç°Ÿï$kvŸÁ,tF*’ôwGâ/»¸mÀÐÛRµÝÿlÇD¶Ù°ׯm¢x>ÆòÕí‹–ÔÓ_MÄÑGøöÌá~ÕK7ÇX[aUÛÕV1‘Ÿ{€)Ù]!­_Ü `9Ñ…ŸÅÊÓ§Ñ´WÉWú`׎UÜùчœ¸SG%€GݽY~é—VÌDÀQæýÌñæ… Ÿ ³Ù·[«£ÜJ@WÌW7÷¿\· DìÍ/Ñtéï³G˜´:ø@ß }¦^ÉÉ‚=ý¢}Ò3åF'RcZû9S«'07<)p=MÚ"dÁ’Pƒ‰Ö®]'RÀ¾BvË2¯Œ”鱓µ¿Ù–©× Ÿë˜S™èpÁ鸫䇳9KXέcLÒ–‹ÒR…*L©F¶lûð°497K?Qø‚BÃöÕÒ>Vú8›yxÞŸ!ºK^ª o£¤Öàå¿Îr×l6îƒlù>ê Ô0CƒÇç[å•«ë'Ãì2YCëJÍÅŽ=¸=@gŽ Y£]dÇâBàp!î0<´96}eäPÄ@»AÐxŽ¢„*‹¾ÒºÐƳ[àÀb˜<±QæÎ7…-é¿$&pìå}¼óÃxÜÔ:¦¼¹®ÖžÄˆu±Ò?y ø/äxPb)š– F6Ã÷hâ Þϡƭ‚˜ÿÕ¢¨ªÁìÒtÍâRlB‹†R\j–9"6Ö "h-4……õÏtUɮŠŒM£ÏfyŸ ¸JEžXó7™¢ ù(ûòÔ©íCvT3i{·w×p¦}S CD„Äå=ÜÞ‰ò$ýË^kºQ!p®áPКe:Å;¨©ŸÇÔ›šÝ:C΋XËðöÐ}íj¯¢ÒÍ›7›uÒ˜â0ßB¼dþMG‘,!3ˆz+ÀVT‘$ùŸ8uSåOb´4Um­½êHH‘éÉ¿EVà„€aŠINˆNÑ|{ðÿœ+CXiìPS-–ÂUpäsÄ^ü… —Ia¾x1¹i™ý|éêáŠÖË`oOÊ\$ æ_! ÁõÁ"ç†)7ÎJ©$¯ ]éÜY¤9üEÀ1å¿]?=E{Ë%¶ˆþ¨¿ë¡ÞêZ5|š”ÄŒPvDOÀ“ *a»cÉ;8ÿž7Ÿ¨€œšÚ4uÒrﺮ敔ÇdãúI™*³ƒ¡Ónþú2·3Ìô®ò=F°`7ô¿¯ÔSêß#ã2Å]BÓ»%Žôܵ"Ô™\ˤ¥ñ‰/ëçâõ¡´!Ï +üÔ"66’î­Cï/R£†fÐàšY¡€w¶¥ú§–×L’ô¢–4&}þýÅOó Ré áµÉ$o†Öy%b´{à¹áFÏq<Eè‡cxß Ãs Xû°ØÊÌ’ÈÀ9ê1À'¶B<«€ªþN¯t¿zy"„ØØÙÆêÔˆžœ÷¯î×±]v:ðA¤³]ªFd˜£«ZZlËϼbKe¬–(×âœ\;4U˜ÞPC¨‘wÛ®@…аú8˜~‰ýB[EPÄ|àÿ=F==‡Æ† ë©äS…pˆžÇ=´OyûR0·¢÷ž)6j¼š>·\,e¯ã6—ä©l›œþö=áuÇ!4\c˜¢œ»|[®Ë}U°?îMzn»¡Ùßëˬ=w8æR1q‰yE·Æ¾ç]åЩc›oü[RBÖl–aïíîTßC$PºGkÝHBo±@qÁÙ¥‰¬½¦9‰Z[ü] +ÚݶSÍM$²õ»ÓÚØï^ýR´ØH–/pª>b*zµ0>ÎMg’GŒò¯˜eúÊ~zºÌDj¡W§Ô]ÛR7áEÜÔ•œü6ГnŒCO§Íj,ð*îu.»/³ûŠ.”Š8ÓªÓoKŽÌ”û—EŽžO¯6}Áž<òíÃÆ}t¢ ZщíAP¶©§ˆN˜æˆ=¢"Û•Cóx]vÍÂ]{­fCÃC2||–ð¹ÇäƒþL=‚ߥ*¿ £äV°÷qÀ‹üb=G2‘[.eº±ª.§s¾Ô8~®Ý-ŠŒ/ý¦|TÃ$)—0N:ŠÏOñÈ4zæ€ýDìícØbês˜i×[4,»2 dtOLE²'Ý»‘T±µ‘ 9±SM–.ܹç“ÎBh8h¢lý÷'iN„jê‡öx ¬û¿°ªÿÜ—ùrpB¡J†¬âù”‹wÁvxH]Ò|œã‰¨\Ó×ùÕ˜¸jÅë>öÃU|…$30/ýšýó¦Iɘ e fÓêØ"ªÙiLØé t$:3ž©Ò‰/sŽõãßtŠÚ÷ÛþÉJ‚³›Hh‚Ŧ·mQT .Ø87kà9<®ñ (€d.í6tÌî„â7A…­ûfŽöúAR·£½à,“UÁÎzÀ!•ý5•ÕPoÆ;ôùí€2-i¯Iª@€#C‘‚&íC)s×6¢ˆ5D§Net!-¼IPÚ=ëM÷ÑÖ„04åm(Œlóè§s‰¡Ÿ¼Â‚}j’D "åiɬ ÿ5,B,ðqÌâòß§Mª›4Fà½MÐü[T;%¸›w‘•OŒaò›ì]iùc%c ôt8ô¦oçòó)>3´+lœ¸¹g€!nsÔßH͈úáH2@V³Ô»ÉuÏ&_Ðrmê×›'"ØÍ_=àÀ¢˜¶6KNUV›> ú¦ëåÄ[û=Ù~€§`%©EîýáæGúàI zݽ¼'”‘ñº•QaQÊ ôÐÍòf÷t†_BäÝü‹0åM @0Ü9@¯W§T¯†[\™ÜgˆåZ¿ù<6³/É/hq”R{íbÃ^­Ã‰´Òƒÿ%mÄ•:eÂ<ã>›TŒÓg˜ëþ°RŠE„¤g$¨Slž!ŒG…ÂòR,Ãø…%`꘠Zæ‘aªŸØ±ˆAÛ.¿ ó*!C¦¶‹?oJN´6hZ΃ÊnêW'æ×ûEM`×ñömGf­Þ2^Â¥jA•–B ˆÍp†ÀÛÃÆ6Ìw«&ÆóQ¸€¤‰ìQé›á^Á5Ÿ]yÒIÏ‘®ÈéÂß÷í¨»ŒÒ)zžžGaÚ[Êçã\'’¼¼Â޶P.ï(®ø ~¡½ÆÄ²ó¿!ã{oMòƒª'Üô+L›YXwa:£ECOfö(¾E˜4{d»öhâæúÐd³0â4- ÍûÄ}¹W¦oÅåÎq½•l.N·]œÉ9ŽãŒ´™" d÷Šû¹#s•m«P’mò©Y˜=ßã®IÄ«²[Þ±ŒÝ…ã¶Lð•1G4Å.C‰ÕgKPnCÓ¼©¼çŽ­ò¬8òBµÊÓ^ª£ûš\½õZµtœ%…÷aÜÍä½Pð&Ñeƒq…­²6ã¸2õŽÌ™ 1½å3×S6YùTÓNq"bì÷‹åê8ö|¶#ÚÛ¿ãúï©*ž¦?!b'"©oƒîè’Áï¡Äy îX°QøÉšBrJ¸™QC›äT1î’vWôúâO2¥˜øØò• ëцr Yïnû—Œñùáor¡`'w=*1é~,nAÀDˆõj¤iH§75å$$ð˜Ð/Gð!š^íÍ,rÒÏ-çC_šôìÙMjG4{“nz`Šf²‰ü„w§‡Í?ÖÙŽºÅV•vg9*ÀŠÇúÙ´{£Ëve­y:»dØO Yñ j¤¬.¤ýUÊzwv2riâG'ÂiXÌü‡¼1ׄÒõŸTxo\ø=‰ &»ÔËpýïqR{( gÉñ/‡ê‹Õ’û_Y劈¬ÇÿR¼Í­£j ]•œE’¬15´oð÷¡¢•±‡¹Õõ8úâsCjÉЦxªÒB“Œ|yê—ÒÇ¢7ðï&õ†²9ÞÖ'6É®UÝý Ÿ·Ènæj?Ã×Vk¶~íFs¡v‚8ó \?8/È!QÅJ‘h®ïÂÇ~µ/ ƒbÀlf¨‘´@Õ’|ž î&¿î£íˆ{€6ÇÐûa™û¦„YØÜ*"_ßEÙPÝÞ‡Ü{uCöåÑ}jdX5]B}þÇÑäý‡3Çßw”Ã\ÿ2€ã«*~rÛÏ5—¦÷]z„YLQIªKb£÷0q5¼&œˆ6Øæ7rè8ü¶C×a°~4x)R¡h²ñ°šª[®¯;÷ꆦá(Yôqü½ÖÆÝŽ÷Þ²©e¥ !Ñ{‹¿“I0²üŸ•Z„“CÿK7b,ËæÐl¯Â,8àN|}D:¦\’qó?è0åt-CPJõ÷d½¾ ®ð™`»7Ñ™êæú„=,™“Ðϯ}qàÓÑ<âi›MKg”Õx¶¶raú R•kìÊàëKœïÈ‚<1$Ò|zžÍß<¦Ó"ºhGÚÒŠW3ªzøv¯ ›|³·ž8Æ+fëT˪Œ©EúMªœzÁ3H¯'±¼6ÏÀܪ,oL%àS2{Xß^aŠ€n³lP˜-'†›_Àuj´5„ßeSø@­ÚZåæXAÙFPJ¤Ÿn°>É·ŸEF4ÅZ›¤*^9¹íÆã;f„ÀÅÀ|Bz¾}Ñ«Ln+a²ÍØ ©ˆ\wÁIšÙ`º)6ƒÃ„îòCªrcÂÙë³÷0ÃÖ¤i(6+rÎ*ÀÛ3ŒìƒR©Õ 7Αé˜M1QHþr\¤3­ßZ{Ú;Mþ”’5ò78‡IÈ<:XXoìw7Ðd.¶áôBkó.—7޹ùÞ7Œ:‹éÙÈbïÃÈçiw½ÏÇ <ôž¶>ÔƒÄÊGJ÷”´’ „Õvš!š“ò+‰Ëãa^VL¿jJ@»¾Z£°¤0M#ú4mÛÛC{Å=AOœV­o^7ahN“u™Õµ®ëï.·Ä)ÁšÛ\˳6ÚÇ9NSÞWõ>z.6ú´âŠö×Ù1nx&ý÷«4‹FÕDû'ÎÏåëÀxWÏâ`í÷.‹u"¿¦ÂàËMÛUìèûú÷•äÄ–ž3`¬}XDâ q/¶ò…zµÛ©ëgÅ“x(ÊòÑÈ!çkvÜÉ{œ×4ÆMhDŸ÷»Y%X8žt8ûü5ãŒÕºvÛÿâ´âï·ZZanOÖ­Ö¯ÿ‰¡µîËYk¸à» ø{_)[ø<ó¢})&pms" –[±…ÈtÜZ—ÍÀ`°Î@\­l§ ·ÜÐ&˜žŽuœ UçQ¶ê,¦ëíÊÉ­¨§Ë:ñ¸a}d¬£O€ò" ê]ÿk¤›ôÚ› —÷“DnFª¹”1ž§¯‡‰ÉÊ„®Îf¼pôŸ¯å™qh¯¡о¢˜ž6B4œB3ÃÕçµt¡Çë%÷k<׿-ƒ ìvKZ´Öu8׋(ø¿Çé”2›Ï{vûlÍÒz·âÒ“½f²wvâ ¿ö¢'°½Ø^gûóN vÌħÔÑ“³¿Ž\;†âU*G¤ÖKÇEålïH[…%dS^sT^)Uï4°U»Tß°)Nñƒ©“ë›U.˜kZ÷3ÊÆÍ£Vª>dŠ“A74f!wÕmj™¿ÝY¢cP'i\sM"7/Ò'‡~½l7æm®ùY(Pˆ ÖÈÞí¯;˜þÿèŸ4 u!ƒÙ»fD(A0³·3BÐâY4žD —ûú<#gì=hêëîjŒ¢ë®Ñës•ЇYˆ…WJ.›Wº«5¢Þ_Ö0ãm²/Ëø‚]öŠ)g¶ý*7uÎÆÀ7N»I PX6–5` 3ï¹y ®šæxÝ_•ˆ'{:XÏ¡×nfÉr4^¾Ô¹ éWvÀsnXÚ>Ù»4,ÆNHâÚ¿%‡ˆè:‰S÷®ÿ7íâ+šæì‘¹ë鮞é×±AVpÒû/áÐ×#¦üÐÊ\Áv99î6~3WËt{l‚ Q_|%×B.èÆ•ðeõž¨j';‘~à Ädj…ôž<]—AÁ V´Ð:s’iàÝîðuf£~šV'E'ç+ê—¢eæøµ1t¯0c€Ù=¿+jÚË%äLP>R¸£6@5#)²Cp´&/”žÅaK[‰NÖS<ÔРǕ˻+〠Â.”…°bªö'áØ•N=FG3edÉÓô®P’³)nýU³ÛÁ1ßOÁÀ—‡­Ì€MµnÆ@«Ñƒ-VÛ-Hµñ®ì㈸|3¡‹ÿÿõ­üTôêÎ[àä=KL;K#s††÷þÃDþ÷K˜(&Ö€ ÛBK`§]ð=@ˆ³Ó±RÒ?/ˆ6Ø#n)Üml <1RfŠ­-1ñ!K ’ZƒÂäFMì²2s¿?k›ü}³ —1… oî;”I»’Üž[¼Ðˆx±"zŒø‹™3'ZÕV®` è*ÕÀùð™€ê‰úS§6^Q…p¶ä×± nRoíô ç6Ïýë‹_®®»öÇy”Ð:èÀêO:ï¾Qxªœ¤ávÃÎñžÝäÌVç7ØìË”/ýÕ8aº*ûöwN@5·Áèc,xµ¾Ò"ðΆÏkÂâÅÌô¯–ÕF„©CìØDiM+œ#)y©—ê¬q1©÷¾J¾SªåzÉwÀ³>‚v0³¿èÜUe’W7™R¸ÿ0¶ 1c-X˜Âm|‡G\-Èß‘Lx´ѲˆÕ—Ъº·qMѹ)€fîÉtt‹áÁš ã9â=jÔw²²º8í¥§Œœœ„ A$qîébb¼ê|UYñêsŸ˜QD3HüaCJ÷>ØêneÉ~¼d”PLj$*\rÿâ \€®•,²b—‘$MçÃ~X¦eÂ…{tî`1‡üèÓ+šªªgðlvÁ´_F.Ýú9§S@Y)´ce*(MMÏ’¬bOâù+ƒk‡˜ñ?ó§†{ýÄ'@¤}Ãrª¶ Ù‰”°sms¼ÏîÑp`L7yl÷×V踉Ïl¹ ¤^ÔVˆ¹’\Äm[ToX†æÿ¾ÕZ•Õý£ÖÚ±]*l6¶ñ”‰mŠ:4¶íµ+'Wõw„§}xÁò¡Á1Q˜Ã}ûNë-žÑèb Fû7[ô©¬¬ñíë„ÈbN Qtl ¦×ÖÍna©¢n›ë ïÛú }hYƒ }põårÒ¥f' hR‹ÿOMYmÍjwEúìü0Ç­¯¦˜j.ÍÂT‚ŸWúBóa?Ø ËxÊ™Ž [îûs:ò?!åÍ_â°ƒàF®ÎgVk$vÃ!àß²8;–ó~v Wýê±Sõv'Ô»p%Úîôªkí/!qL6^®’0TF3y%—®m¦§¥imUcöÈéoàä§ËÂ9”w¨¨CÚ²ŽËÙQïþÅ™ÈÌ]ãØ½Q³â„ !Ùæ~–Rg¼ùƒâmô¹øÕ^‘6¢À[Jªõ3-¬‰ÃI²çC–£Å¢ ÷ac†ñ«K5§¿hdE±rÖ¹Pb0£pvÁqR2è pÑ3Ñ{ÎE}á†ö‘Ø‹X]prl_2¦CºzÏÞ[äàeZѫÉvw‰ÁÊý9r¨Ð½ÈþÓIiÅæ?àï¶åÈóG˜ê DlÊþÚøò€l\Ít9d8$;æÌ2v;κŒæ5ÖØÓÔÒ68¤õ¡d!Ý4ÚO:[âÂSYÕ»òùÐóKéàKJBD€uúÏV¥¸òÆ{-{Ã;Û1c¨X >¡“íÎă֘S@èJQæb™Šò¾£œl !¨AùbKÇôjr2M¬K.žºzn³·ŠövÝ2T=UÑlÅ’Ínò†¬Ôg;  [å+ªæ»î_SÑÕ(²ëŸ«pLÛS¼8]¿D´Jþþð F«¨;¢QÈ©=¾t›&ïÿl…žE†á–ä‚¡Ñ8­¦jÕÁÉ çþ¢³ç°tZ|*Ç¥&ôØ½Ø I4sßÏ ö׎cž9F0Ô…õ?K—#žÐ]ðø¥>Ái‡“æémŸw™g+èÇ—ù€ôÏGŒÉöŸö·J¹Ì|¹Ž,w¼_Dâqb²(œ +i95i¾Ü0s}?N&ì7ey(3ÄåÞ_WNÏ ½{ê_°î[´oÕ²*ù²¯¤÷ÉÀäyÅ‚ÇZÀþü(NÙ=`dô“¡ ?hÚ5Áݼ‰“éŠr¨šª0=‚'Oðí ë!˜h aIs7q/[j·°6cœÉIö^úP‰¼=¬áˆRØœpüØ÷˜ä1¹ˢN~<ù£7zGR\p‘í3’;L0.‚c߀‹WÅ~>Ve˜@Íóv‘² lÛ÷[˜½Ž€ .Àú ¤Xøe줪ä3gOÈÝú·a€Úrœ"Àk•ꦗŸ}QÑ?:OÞTiôOã1‚=èz}z719ÓBbÜØvOÄyxÃþü£“ êî0©˜VõÎ*éòÀðhŠŠ‚·—¸ÍMJ/¬{afzÙ—_w´&H²T­¯ã ¥¡GOssþª‰ U JA[´9{½þ¢ Oöa¸X$H¨à°ƒ „[ÿ (b,úH×òž¿4KÿäÁÆEmô³„àý¬ÜK $y¥±$‹Û£šÔ¼á£¢vÿQ®ø5’-®P—lD6O=yÐŽ“¸ pٗ席­$ÁÍmx‡×‘°~ú:ïà¹èM ²þd(z¦Á³éw+‘‰F!Sé˜éMüŽÙ›!ó~¿Ø’CAãò§lä8“(·É…9R¼>.5ñÆCÈ+E `¾ÂmM–M;¨˜½üûc‡'Ã4Ú ³`(㽎èÃmôËmVK½WÁøô^1cñFå:8ŸýQt%´{67Îq˃ŽZ¿±‚ó–ŸÞÆ„­Ôr¿_,ª™Å·Ú{ŒÍ<’?Pë2-uÀ>X«2Ù`‹—ã°hNbM´/®5“ ÁÀÖ®T)WàXB|¤¾7óM”íå€ìàÉÞÖïðOÚè‘F†µ ÜÛŽnÛÌy2¸àïôÄfæÂÄB½<íLodX¨ö®?Ü«rkãÛ²@’ß­þž®ûË¢ÓSÛtÔ†=.}dIs¾"³–¼9´ån2Õn%Ü cèûÅX§”©%cö&}'œOÒn 4nŒä‡¦NŸ;âCÏÆW3ƒú†Žp’ç@UÏÆbˆ3¶rª«i®;ÿ…9[Sù&„ä•A¬$[AènÇUÒº…XÖÛèÛoµ“»¾ï½VAsL»GUÌéûõŽë‹ÅØvݯpéÎg&íß^Ìê\¾~=…Y—ñ'J!ë;c (‘Œ¾¾]ˆ@«©.­€7’ïh4$´90Ž_ÇñÇþ´¿Á ‚Ðì ÆZŒ;š½„T˜:†ŸEŒiW²µPS”sƒÛÄáÑúà€8?´R†±v "tˆ¥~{ IvžKï!6‘QÎÑ#RŽq êV7=b¡¯éý;ÃáÙº öÙ")óÌA{*WBćêæ|äÂÆU8ð|ɺð÷R\¯Ô­RvVBw s†îK‘^,B-ˆ—ŠðÀíÖ%«E€Wq}0t7Lœ¶Bµ‘»Ð®¾~Ç6âìÙãžÚ¨CPr^ÚŒŸ;Ì$SÚ¾›Œ°»”LÝ^›ÏßãB棳¹ÿ÷cˆ1µ½Ïépã›îÀ®°»€õ¾ävæv.aaÇœÛihÚ$4õKAuK,˜à 8;¡ÀCª{‘‹gê­œBÏêŒÈÞÃÖÁ°Ö‰Ù%rÅSó—Ññs‹@°±ÆA€Ubž¾ZÕÔw¢nFt4w˛Ь¨ÊÙI2ÖžÑNáË× ]WsÒ)~E \À÷»w(FÀ[¹¡ù>X¯]¢_¶³BœÔ î`G­h§>Üטxnç?_ÁL4fXÒ·¬¤;¶ÿêü•èöÓ¹ ™Ð[æTKÌ•FwÝ·@ÓXå [®õ¯Â¨0èVL’ñ:¼Åkúhòd’Vžâß6¬¯éUf*@àÛ·&PC`œI‰ýå[Ô–$m 4ˆAÈõõe ÃÚ³WÈž¿g¹Ýu¼ÕßnŸ¬xñxz ©ÁŒî¯wK¯º?…ŸÐœÂæÕÚ°‡ÎÃ)ÁU›o¬ü®K€ä‰˜Ê ¡†Âÿ7p2î™v#a}‰‹0–i¼}˜ŸŒºÂM«\)–Œ zøˆ\®üí…PÎû¼qþ¯‘pí3@ù^KW!h­±Æ÷2öˆÌÂÈŽ¬qÜÇuKbü÷À±y“m?¼‚TëéKýoÕ¶¢ÜY¿rE<]æCS܈Ë—;TlÕ¤2#q\Ë÷ÌýK.E̯ٕ zzC7Xy¢®³A‹óì«"Oz/ë:3Š*pZŽc²&¥»™}»ô"£Ñ §5iáå¢zJûíÏ€Žæ0i®¸r…V»*ÔñNöG¯X«ÙÀ#?ï<(Ü1õZµ¡¹Þµ¿TQMJ_ãÚ}TÔõóv*¢\Ü»9ÑÔk‘¦¨íÒkeüƒíˆ?Š™»õDhàé ¤’_$Å[\F€±¤\æuëKˆŠŠ0ޝ4Nú~ã&Rð½ ýN ”+$[^î™ca(Èô¥»zq—?œ¥»ÏÐÏßéb¿)‡Ä:3d­¼ÇÓ)7NSÖŽžtÈ…6Æ®3E™ÉSOT3Å]žÍꞪƒŒzÿk¡P™‰fÖØ ØiÎKbåÃùÏmæ&JŠ|¹¢­]¥äj#ºr¯7'#JB…r"ON–߯ñâþÍëÅÕ¦ßHM}¥kêà "qš‰è;‚!·j®þŸÎ]”F1b90R€ûkzür±Ç""JŠðf&{¶Ô'­¼óc}ølgÌØæ@Û+?ËÀÒùP?ê“]–9òkŠvzš<ëì~¢JBYiµ››¥à¨Mêi´ ¹;é”ë@çõEEt¼¥‡€‰©ÈH[Ëó“o$3Ñ?‹ìç¥_§õ„Vâ·{{c@‚%©È¦–~)©ÿHäfË FØ: ñhà B‰XÑÄ Y´-£åχÏLÅE§?PúÚyt“½æí–R”´’~LF3ö!Ëþ¬m’bcÃ’xZ+Ý„E ¥³A}š0=½ &OZ¯w¸­nsF¾>ÊÁ•ܘbýZàÀÃ…)¡ŽƒˆpE*²nÅÌòe²k«§ó…÷þ¨ÊEuZvº cŠWÓßód¾<ÚKðJšz¦ýÐ?i‡ì:¶•SÕ8‚`L¡at=[Šê]ÊÜJKQm÷Î~οp3˜|`˜0íÄìïÈÓ;MûN1PÄ}K®@Aµg aUq¬{8ù)³Ha²‹@lˆFñeÉ»&:hô„·˜^,8–sÎ ëÙ6ü¤vÐ c¸ÈBÍ«‘Õ#øcÞšÌe’@P¢|䞊¼LHì1¼v.ÇãÑo îi°ãEƒ ¸¿®²@Ѽô¤F:ŠAì÷ZG_‰BuÛk…º-ó–öˆ?­Ž€Oï¾Ùê`¦v>»±Ðg8{Üš>¤÷Æuõ;~ˆlÎCŽŸùJoC†mÊr´æw$ XGU^6˜>¹«²Øzg®‰ä @7½Ël´Y'Z#Š@‡.U>ØòÓZ>8®º7¬µ¨<ÀÒ¤èÜ©ÀÆæF‡ì!oûrûíDÓL Ž­öÑ~õB5“ÁiýZú‚×>w;èÖ.JG•<ál¹rÓÕÓ‹¢p+âc” O]‘ðIG­*îxf'ˆ«ƒ}Éè‚ᢻ“moO Lÿ];Zm`\d}ê-¾2Äþý *\´çñk]²õ%øu£dÎusÞð²&ÑÖ ¬¹K;tÏNi!k{˪ô»—½ßü\¼ôáý á+Ð}¾âæ?ª«Ûùf¶€ÇedÂ>»íoo}@™xbÐc®?[¡›V¿¼ÚEJ£ þ×ú0*m=†VnŒk2‡a;ãî›Îö4Ò¡À:<™u>rë$ BgMâ÷‚3 .ÿ*æ²É'kjŸÈ€fWž¥½­Û“Ií4 §&Y¯p–ZÖØ4È>,D% Y6=+ ¾8øªtBøðk%‰ ÄO•9Ô™µZÿ÷[#$ù®ã\|*iP¥ÉýQÛ¯WÀ˜Ê+‚“™sê¢g̽ªíSŽ'^L•à±ß"XôTiÞݵŠëÁ'ó’HÃPõ‰d1Q¢:gaSN}žOôëÑ& „°Ôe^ðêoJÓ tËZ¢ùóí]`D£¯v(<ÿ}ì`ñÜC«Þ› …¹“êºb¨/–ö9¾PVÐÿátjÑ€¸Y†jd¤Ùa³˜ï¨rs S͆4çê‚–ÏŸKRä'Oí$tL ­rØ0»R¾–“Ìaì ’˜£døØÓW»Ìzƒ°ƒ½èSådɶ*œqþ‰xm;:×zÜ)Á|ñÇMH^6‰Íþøº$K¡Ñ`Qc¶ºn1ž;,Dû%¼NµÞ`”è³I²+ª¦ìjÕ|—€>»šr–þMáºÓñÜãµK°qõ™•K¨¢lf*wØL£0Há5l¯nèCÚDÕ,ˆ¸uxUcŒ/ûC¾$AË,¯ï|€þÏ b‹ößmÛ»œ˜H¢¯øO© ot^&Qÿì×FAà»féžúÏçTaåPBT0•.`ÏvK«úºÜâÛäÖɦ€ì,Î!¾Ü%:ú2ö¥.>ÈõBá×ÁÄ2o_ÿÈà/åâDïE“ûnžÎöœŒ6 m¼V$Ìr›ô½Ö$B§â›Ì†¼u±VâÄq6:’Ŧn¬Ð)QŠ/C`6n!~&î=~m¾˜qÔ9V’–õ{’Ì37Öówå"© $³r m€»F3œ·£€@A)ƺR™½O€ ŒPê”\°h˜š\3\r·¹‰_ùì@‚e žäa I1í ,ÿ«$°+ˆ(͘ 8w¹Ô¸TÇ=–±sòÉb_dóÖaßÒ¿S&ÎvrÒ­$KÁE€¨lîŽtÐôqG /Óå%tŽÊîÑõTö'+{¢\L×ôlÌ>»‡÷è®úF#¿«…ÎYKMÚU‚ØògWk‡Èû²OÀwŠ’†zÊÉ.4›K*ПÝ˱ÿ‘m' fÒ{pÙ.wž2ì'DõÛ®_Ãâ`˜â³L\f5ÛÇ-m‘IÂÍ5f6ëå"ºtôÏbò°ít(‰a(8h¦’`ÜÐ,îùi)`/kA VÅríÔô²9P$»pÌ ç! EBf÷3Ûßј*0¥zyÕ­* @Xµ0Éñn%:ÛÚ„zÙ œÊHdß̩罈DN{P[?XéÏÊåË# ƒ6\€^°FÑ6®Ø'/ #ŠÜêÚT20€B›Ó–ÙëAžtïùÕ×%HÚÝÞP½ÿ”OshÂ&H 3ïÐ(;‰ÖªäGÆ1ÖÏ5¤ u&¶Õq[>ÃÅ´Øó€z–oZ>ó»²ûè8À¤cÅiñWIZŠ$ÙKãäøá‹tYe Û/Ø„RsP-4š°I g¡‹6#´º´óS­‚¡ìb±…â{ÜMæÎ^´, .Ðïek޾øi0zÂsº4]øÄ±þ¡V·X—#¨ž]@±J&LW•ú°ír‚J êG²é+|ªÚFbácÕDåfg9´ ¾À‚ù*A|º)ÝpŽ#ð§ÕdÏÛÉð…íFpТÄy :=²/EN帻¸JZd°¢Ìrí!÷`8±ÿ Jµ“¬~ÃgtRû,5ÿR3½ä}$Ô\+©Ê÷àÖ Çø0u—ª‡ßü ‚£aBä…iÁ_ZÈ êkÞzã)³±c9rç&WaÿACäà[AÿöEÒY7è‰Ó€wõX{…Ãëhîó`BÐ-©7ó´"NÇ~ 1 ™LFæú¥ŽšÉ6 +§9v ã“_íñv^þåóùñ8⌰~YPºÝ8ÐGñl{æ¯þÈÿl¬Ãi7¯‡âVs¯ì…ã kU*ƒ7U%³îŠ>ÑH$·|aÛ˜Î=Y|íî©­ß§Ç&.:IZ fÛ˜ø.ÅÑán ƒú÷¦]6ÏåƒZg¢GÒ˜9×x€ÑÈb™Œ•·ó#|¯EÒ9äà àv±çc]{B®,jrÚb]aÀOÔà ­Nê.ˆ1¯ÎëõŒÐ‚‡©Ï¢Õ` ´¤n‘O!þ‹ ‰þÄx¤Èj‹ß_豂ɦƩl™¶Ò«Oàw8³€Êè9ìзiåý³¬[ÍþøÚî ÀE5©"çJ$—£ýóÅ^ f`ÍÛMöŒ{#›‰&–ê¾N3ÏÁõ |%s]¼3&vA2÷h8÷Nvbw©%hÉÒ€yѤ¢…‹(¾S¥Ÿ$ɯ+ÍVR¡Ì6©õM©¿÷~Þ‡eE‡èͬG¦]© Õ–zÛÖ¢?=/¾<)çÕIdR†ëæî_Ìaw¶7!áËX~í½1•`­Ô“"Lï^yS¬inêDåíÖµDÈÒl%IF &Ácê‚´“Û=̹ûÄX|nYªe•v¸Á–3Òé‚´R¢yÅÏ!ÜÑ&” …­NŠçù;.ð~1&NW¯Gêí=PJ)új'(ò6x¿|x¤K€Áîï aøl©!WûºÅÏÿ(ï:Ï;ÿaêΊÇ"òÙ™¼KGªKe¸$çu!NÒybR>yª‡õɆ¡²tíÁÖì¨Ë.€H‰Wˆ«ÙÉ0žËo[W7ѵÑÏrÅ¢ñ‹5s‡˜®ö‹Ìyh[ÚP‡íÍêA2€â°žÃŒj°ó ¤H&SN/¥ÿ7@ ¸°Þ_zÿè’Á—˜DêÇí¹B‹‹æqã‰@öä0ȹ¬ b`\Ê ý?hú݇áNŸ ±ïf¶oy2 €¿ .™Ü·ˆ®;¬ë‡×½@µ˜gn”Vµq'»Þ i’ëO/xî ÷8eñ«žF·ÔÀ^‘uB@Éês_© Í@‘Vv-à˜S‘LI"5éÿ‡$à1y²]WhÔOí²¸;šC.Ak3jA@ŸZœÆ üvˆBާÐÈZ" ±Ïdpð’™ß­ØþŽz«Ã/Ïþíš5!|uÂV¼wìtZ±Lƒß¾zµ1eDì¼x.¬`A±•owi»}¬=0)éÍì‹-Ú ëNnÍäÖYHo„v™ö©éÀ~4u¡S É6…š XgÞØA$ä‰9|ŒÓ[:%Mìà|S¿“;ÍŒÝá¹YÅu§Üò)ê½K/d #­ð…”Å,é XÓÀÅ`ÆòÔ`NÈ’£«¸£c§¶‡T ,¹ŠåíñN—°¾ž"adß~).°o ®¼Óÿîgöð`Á#i‡˜„Z„%‚X†ê‚c&z7¯ËÖþ¥ÕÀ 7›¢-;¥µ>†rU¨{xH·Y­9fÈyv$g“Î#N M°Û0ëδ?Áu×ÑûÌš`ÿBm»Ä¹É2›£SÀüè'2)va1âUñBÿþá†éBçõží@Øo”íÙÔù4}—ÒŒâ£Ò&;AV,† ßbª£e ]2êá§§”e@-Π±ÜF”&öÚM6€Õýj{¶há'XÞ+ïã|™½~a† ½w­¸éÑs‹’ýª]’Fb}EC¬Ïš1ÞS*$äídtñá]ksM»´CŽa-œgVlÇŽ4µ^¿8×yVF™©ôëĨÒ°ë6Ðп¾+j,@2³å£+Ö)i¼ü˜£Þâu–g%ž‰w?ÿm³ÊÒ†PÔ”s)?éŽVreÞˆFö=ªâ7|“Ë7¿…4RôTÓX|NK$“ì¿Ãôô€ õ”S×uì—ü)&’—èÃew¿tÑÓ"]ú¦õœ¡5ÛéØÿŸ+Á}x‹gO':âÐû,%÷‚Óð½e0eI›ã˜ZP÷b)¿fd , û„%H™=žÛz-£f룲¹º©o’*âu´êàñZØ4 €é-àÛM32ÈgÕrjS¥ÁÍDTp–áÁ”ª.¡Li×'2bU†é%¨ã*“‹1¤*`åŒ7Mr‚©öjp×>†ã¹%‚e$¢²šwoJȽŸ‰ôKÝòBKKðÚeÀ*Þ<ŽÊ)9±¶SV¸tŠ ƒ Õ3¾ƒÒé€7éCÃn4½Ú.?0VÉ‚?ìXƒ‚¢œ1Üchüv캟?yêšØ5áu³ ÄÎwã\uÀ¨F¾ò‡ùPe °‹µˆy¼ôÀìah®jLx `l¨¥!–B­c¬Mà©‘;ºŽj­4•Œ=ºÞûÂ7{_QÀÞ{}ÌvÍj3(Q¤¡m^à®Xš½,øS@×Üž„šŒÕ[Uwxþ¶©ý’‘(V†gÆŠ2PÀ2IN ;ÚrÆÛ†ày|üLÈo"]Þú‘¯<ýM*5¦> w…FJw§ë‹›_¸ú1Ãú>µï=B^b&Q+—lþ\È,Ý?óÎÉ"ÝgôpEtMSC§Aa*½$$yû‘n7Ùb.³lÒ¨ôå”àõïg×ä(´Ì²yƒ~ ¼A-Ã_ËN›êp¤`gëÿœª ÉZ>³Œ_/惔Ú­_ÒF¹åÞk\oþ€o¼>Xžw'Ë[Ñ5$Ú ñÙœ¼¬¼à>Ç#ŒŽƒýžàíœÎ[lÜØ‚?ÒÅŠNi -m…§þ¸sÐÎUêÞPÈdpR »‘4Ïy½yoBУ(j”ÀÅ$º¼Šæï`îÆöCÎÖÚÉW 9Á¯.ƒÜg}”z¡£¶A€&+¶äq‘>½òçƒHÑ vy]^?ÝÏ_Œ;”T2’5ȸL—ŵÈá—b³{äzÊ}[(„‰rËef.îIÁe;n§N’£zÊ$Ñû¸R)?*Eœ]Uñ%h¤HI%%½%e~Wð»Ã„ÛÆkƒc~Î%LSÈÙØ³ŠIÚ)¾GVìGAþx*û Ñ9Œ¢¦ºHô‘"¯p’¬ù"ʺàî_„üœ­)@bä Æ b¥Z´ãÅg/º§‡GŠõ2ÿ"ÆA©£íàJx×…Ä6èb+¶—<@˜‹>N"'ð|~ÆÄƒÛ!gCï¬yèÜÒ¯™_ïà÷FË«Zëeo×äzÿ«ë~ÄA8f7v.²‡…ì2*BÊ{Ó¹îŽAƒU+»Ûsþî:×­6GÇ‹Ãj—ò™òôMTöR‚['µ°^fìe—úoÐK{«0ÏfÌvÁ‡Po'?³±ƒ× ô¼ݧ¥Ûò§~½>úú¬ {Þ½½n]ËïƒÛE"bÂq¯¬£Ü×~Md½Æ #1Kݲ~ Í 5|’·3ÄNû¹Q ÂÞ–ÁÒô`EHNä#' Oƒkä>³Ï¡ågFÊà¦-0K¶üJ…b—–[LªfOgí=[½.iEƒ—wÐz§¯æâ7×$‡­é”³± HÝV«(LOÙ%n\ÖÓ^îÌ/Ý$¯# ¼ !³e¶âÕObUä™)áE/R0ÔŸ)ÇQŸd¸¿°õVó,u𨉠* äXž¥¾¿®$Ý™äÞl¸€þxjNÂ/dJvþö(õt³dÝÏN¿iÖÚõè´«˜x‚†ÿBZF¬úŒ /Á•-¬Ýðé-0ù{ù?t̓™lx*˜{’ÙプžV[Ÿi¥*áåFÂc2î²rØJóðÛ(ý&( è2 Pš÷‹ÛÐÉ*ˆZõ>}8öZêàbl_4ÔäÝv\ ž3-óTAþ"•fãý´ìþWsè5».Eôûÿ}Í’I¼ç€^™ÞD/í4óîéâ)+ü뺈M¨ˆ¾±Æí’‹!knø”7º|ã’Ö'Ãõ]°uF˜ÂÐ6ôc œÄEöúêMŠðuÓ@v7U;ªÆéÀS©:t/0ijöýÍœ‡b'®(k ®”ãW«Vì-üIÕH2¢8jpÁô“-ªG Ÿ kPwòÎÐØ@û]*­;5Çí¼bi_9ŸÌ‹L7_³õ½e0n>Ûš{’–èZ«#DY)qé#)Y*Òšßn±roM_¸Œ&“ã|U®Ùèc#þ;– ÉíOúNÔ™ 7vÑ¢=˜÷Wºå¹‹ß€òÎ.µOã˜N¤à¥(™v'MYúnD%%ÇåqAß'bcûæ8 Úp¼!òQ:ô}%2M‘•ÞÿÎ!ÄB7Z£ŽŽ´½K«ÂT½ãymÈŸIm²3àP©YPó„L…8ùäòɺÛÔ@ñ¶àö¾†ÍÔz8%ê†1V`k¦ ²{Í߀:ø’”Ԥ˙»¦Uz¶ÊÊ^Ÿ½ÌçHUÌ¡µ[’sÔøqÛ§‡»Ø aãŒ#,Ù¸®q²˜d¥óÊ$\⋹àpÍ£×Wv‚¸W¯oåC hÁ4Ãû×0ÈÃOɤúÁ°—qÓÐú²XTÀ¡îÁÈòDÛ&_! ñóx=ÂW£6²½±l€Ø‡{ÉXF.š4ëqÜ G²b — îǬ ‹XFï*ã-ÿéÄcS¦ðÎCàÆòÞÜc0$Ô¡M½;½*+W Þéã(ºp•Àzi·‡>ðß‚™qF‘ºðXW37ò›(•ÑèuÈΫ«¶îÀƒïb›Cܸ”1Ήë(©E+R@É º5ê ’êl*Ñta×Ä`$µÄ$nÐÿØph‹Ð $ñкö$1\ôÛt¯‡+®¤À‰.¬r‹s¶4!OŒT”rßsMðíèm5 ‘Ä’}FTä<Â_Ì“‹zN‰Ðía®H/e@€ÿ#¤_¿’>wy{ä/$¯ ÑIó‘f²;P»<®¹™ 6s”K°ŸIp.*‘ ÷Mù¥KpË¢A¡Ëf[ñ¦èxö`ž ’ R.yšJ,4yè= ñyK·´RÁHqáŸ-n3; Yõi)ÀV-“‚F[3ßcU²)ÀsFõŸ‹°U¦NT"J@ò1ÞÊÌšNÕ䤾-µÞØ)Ú¸òÐNnRÿq%0¯§ŒÄN9;ÃVî 3^ø™­$X „¼t®.DìÞdW>§kö{_ub°¢èÖ°s·ñ±ËSèÃzÞœÜ=$æ¡E].å¤ôú<¤·ØŸFqøÁ§çœ®”¿³Ë|YŸé1ˆ­vD–Oñ×ÅÑ=šëoŸ˜ïld¹ò1‡àælµ/"Jî W(D8¨Q{Ÿ!|9ž³iýv³o^[pë€»Ðø?­º—~Ÿi²ýžæ…Þ¥?QÛ Ñï7äH«%Ó{V‘æÙêOªÑ «m¤®;z¨uý¦>îfÅ$ƒÖ.gCŸdµ#ð=pH†iM,Ξu$•òŽhúÔžùÇqG³°‰^™M-”y²8b”ÈsÛ&ÕéIÕgºs„îžñB“å§§—?XÄ ¨h.ß¼Ÿl³±¡ÇÞ|e÷pØz5ôÂpÁNþídé÷þ2žŽÌ/ò¡l Áú/nK}-É–t›»·Í‰¼1ÒÊ5ÂJÇGG›eªÅâîr{ªy Ä—r×OÍѺ×i¶1Ý6 @O†3}O‰Smïm.mfìTxfÚöBL`éD¾ –9ÊÖ?@ õ^ÎQê%èÓpÏåÌúg@DÚTYR¤+WUÇÖICh7‚ë½kb8²¾¥7úí[¡.wžîZŠ=Ÿ ¸(U?¾<@JØW†+õVëŠ ˜¸MIrDŸâ ÷TžÒºWnãö»‚'7›=rÀÕh7üés^Ò*> Á•4ûŠhÊáY郬‡Ãq¦EÉI¸k¡Ø>Ô& ü7oݪ%ilÐW¦‰$¹LÃ2ªÿbÎ*“xçñFâì$Ð-Z{¤©ºÌ×{acáïqE‚zè ŽR6W'?wL§Æ+¡å™ ¯©£¿~(¢v+`à­>‘ÖaÔû0 zÓ §Q˘“¾×÷ŸHçuyí®Æ} ¹¬’oÞøú¹˜,6³=éH:!uîpRÞe —Ó8Ö£}ïŠGos•¥K8Ç+ J@¥Æù%aÃÕñÑØ4hë¿ó¹¯3MnŒÂº8a™§"’¹ÿß”Y­8S=Þ£í&%'hÌ×"¡­á¥MMO.~)¹VWi<8PŽÜ“qSCwàMý± LØ4³ÊNÏ`<*Œoj³ÿ%³Z9ÉÍ6–éòaSyuÕ"†‚ ë Œæ_·êö°bß!˜(êņ;Z¶§Ì¸ãðœ{Ì““O‰øØ„} 2¦©jm‹ Z©ø—'9»qPÌÝ(’Ú’úô4Ê~ÒÑ·±iÔo„åKҳܼÇ4ÂûËÏUɾblïîì=ºsè¼ju d9ZÈV…7îR¾eÚ3!Ý7gûð<«–wSåil«ó'#<"ÊÒ$V*@bÕ±:vÄÅóòýøuÔà0ÉU;©²VfÙçw ŸõöÙ¶mÄo͵žF¿ûÖßuùX] êë‰]$ÔÃÓ—(¬©è›°Ó?å¡h —\S†½æže'☊V #>8–˜ÈhA Ç~Рɳl¯3<“<úƒ6Ÿ,|Ä´ Ör~”Åqº®ù[IÈEìÿE"^ÇΠüVÆý¹xiQ¶5ƒÉPØÑä[·ÃÏX¼<Ó;Œkjb·O, S¡&Èü€˜D—[. ¿»Ó Àqe4Ü]›3O jöÇN2×áÞv38‹ç"d7ƒŽk>¶¼žW¡ñ …% ç6do˜òÜ0nA0û“YßUeIAc³4ÎOØÕ%˜û¨R;£p0_#ê%VL]=þk$C§.¶‡¾s‘ªÍ* ÷Š=iÒ”:@UYÙ„Ì^0kª ٖdz£òyŸßÆè½Ø é[Øtù²¯üf#þ²n9B%%€\›g~Ÿ1ê²íÒõ8­`$ªvÿ…÷vvmþ?5úKw™’ ÍÔ¨Þ!D{n«ýj¢¾~ÿFÍŠâ!-ä¿éU¥ÍÅœïí¥5¯§Š³dƒËÖ75>4N£š´ ô²ËäðŽØ·}Ö·jPú”H¥_¸`õzé”o¸á!¬éÍ»ŠýÑ÷øw`º§»¹8˜¿Áü~,ñº éñ($¦Shé‡&Ö¼XηõÂ81»™I¼›ˆ›¦#hò7ÇlrûC,¢\L<9à>øL`[",NRä°=ß«à‰}<’asÔ %Vi 6j(j)oШðëÙZ‰àá]81`AwÿJýÿÖþ²ÿÀpë4[݆‘‰øö2Ž9ZLB._0 áb+µù‘xÑ/øÊI%•>=æ™nÉa“e­®Œ§®ŽI/çŠN¡ýÊø²æÄBÜy~2™Iñ£=—¤UñáǬpkx ƪI·)gaþÌλ®Ú¨Åèy6ùW1¨¿]‰’s¹/³ã$ÓáìDŸì¦®žº|žˆ‰fÒt×p /Mn¦›¢¶q2÷ÀÅ\¯âE¦× ܤ‘ Á~Rx¡åøIBµÜ¨eÑŽÌBß;½¸4wϼCǼ>\Ì5– Êg¹aüÕÔ݉pŸwX6Pv[Ê‹-ðëuœÌ]_Rл„^sžµS«c€ºAêY1[]÷ŠqOk ‚9¤BšÚZsO˜P“­gìËWÖéÍ…æÊö¥°€Êæ@I&Ã!lvÉ£¤'^WR§ë!øàŠèÅÔSÝ…@m\¯µÓÝy ¬rφE¿ì çïö€¿Ðœ$æ1û¯_Ë•¢Ž!îœ*ùûBX"l6 ŸÙ'%ùÀZöÒùÉÏâGEõ3kYt²ÙØ —$£â„cÜAú´P¾‡¾Eìõ6÷ÿ;Xµ õÚ¡GbÈØ2Óæ§–.t@Ïý‡2Ý1…i¤ë3Ÿsó«æ·?â£UþËd•_µ­>÷ñdådêx 'I¨°»¬9Bníït¼¸3 È{ª&? ò7'0OCÝCp×~#‰YÒCÛ7¯Eɲ ÆP5õõ„¹Þïô†â}U f=ppx§]ü4¬´×Ó*b·ÝQ*$eûFKÍÐ9 užÕ1Khµy³·è~spÍr¿UsB¤ñ5‚B~s.ö$€Û9DP¡öôÎ'„,èªÖÛR&Pl…_>Ektë;ºð(ÆYKð.È3ìUŸüÖŽ_J!ˆî¿ðÇÒã]#èÕÚ¬¡2Iâ°ÂšÞ&he+L‚¯ñåákù“Æ0'“öMþtàñ˜hj̯F}ÈòQöˆå<ìëçó›˜yœe µÙLÂÎÁ­üC ³‰7fÕ¯Œ½™bÛ@ºÈ>l(ëÙ×ø»i“Îâ9Ve8õ9ÿÚ…¦‰³Á•åS¤&ÔI΢¼Guân›ô/˜ó놹CŽ@&(¶J—ì‘\Öš¸æg^5¸ëŸÖ0í“¥ŸJ‘œÀîU/d0 ìšïÝ…5>„y ÅN"jXL¯q?ù”ˆ=‘;-‹UqœÓ”äuÚ˜vw0}P¶go“-á™;œ¤¢ŒžŽ»¥í=kvYõÝÅ4rkÜGÞ|’fê$2¦V½oGY–`i™ ñœw]U"ð†,”Ïhw‹EÂß|k_CyG“1,)D$õç—ß„0L´±ªŽú«ÑåÚH«ð¾n¬¸¬³,PdöÒãRcx(ë´WQ_8ùd°ðkAš³-\Çv(«ˆéäZL„?­Ü-œc/&Ä:þÎ¶Õ é,«þp…¬FV¬5¬¡R4H¸¡è ¥tÆ0ÌNéÑÓuÀ˺eðç$ätˆ }²éÅ`üR1ƒjôëzû÷XÊÃd·þÞ“ àJ¯| ‹Ø‰Æ†®ªÐágœNÒ‚Kÿ¿Gl®wŠX§\Ì=Ìï¡¡îÛ«ö0pßJ"•pÈx­xʬ0âN¨ÚÒ¬"N ©nÇëÃkIµ=hxJtY<ó&åsŠj_Ç&f ?渘 ×rlèG˜ŠO-é6‹=æÙð'lSç<õVuIŽ8–BMËFÞ:8«UÁÖÕ.×út&NÀ°aë#Và)(Æxz®/2¦‡Û¼$Ü’žª€’DG|… '¤fž¬wùLöà2ðäþ\@B¸ÖkÄsº.È÷·[”FV\…í?"yéõ4SSóí›X[³z+±_æñ¡ ¼<ĆY$È›ßΔÖÖ­âUÚ¨kË;_ذh!­Ã¦tІ|ÛÝ×I‡G¥$¶òαò­ñ,~Ðiz4Ïçtäë´i¢‡DVÜ÷WöPîa„ý “¸÷êù,ÉZšsQq'cTX`½ $lCÞ T÷šÉI¿òDYç¶l<ßn¹yPvšUKÿÃ=(œÓ ŠªwÐxÔ‘Ò¹n?±)8äD §Pß.³RX1.Ï ­²¯¦ýZåx JœÃ§u«bÖõÁ° ¹Ã ÛÏʼ ùuæÒÕ/D%,D¾"KEBͧ#‡nœ=°ôAyÛ’‡ÔOöVã”f¡,% ¤9šÜòÝŠ§#niØÝ¤®p:—þ‘{¢§ÍõÚ†\U´•…8êÈS$Ø» § ù˜MS›ÍÄCiÈ\;Q7O—ù-àP€D‹kjŒä§æFèX|@¿÷‰ne¨$½J¥Ô`rqG<œÞà!0$PS^dái-èt®¶qwî˜&'¬TŽ´-2öpRãýŒß”y~饖¢TÿŧM;ˆ#[Ò2“$—¥PœÌoWˆ•‚m³¥—Eˬ7ç_Çàp"45怖›‡ÛÝ´uZŦÆym0óÌË}mE3¥Ö^(N ½šegãÓÍ$Dmš{“-) kÀp·þ:NM™±YÑTÆHš0õÛÉ!¹û|• :ÊͶ ûSÿ3.xkº #ÿigiV¹Wqk<ŽÿˆõÐdnõøk@"†ÉJ-µacÉŠ9ðév êÞšMt|‚OÉÆØò·^©‹5T¼¬ëûT,êö Vës0U}¦oBÀ´¥±6Jt£$¡«Tgß\T>oT·—º‡ÑžH"~ûiñõ]3Úv>;þ2|Z‚ÊÙ¨n·Å%Pì<&×íJì»›VËï¿íâÝ¢“ÖLW¯ *³i8,¤£Å´BÒt?©€¶s“EsØ„¤ôP$ˆ©Í„nÇŽ³Js®ÈL =»¹{qïE β@Þ¨nMJÆ_h73ô^ùÔdáxÌÇ»R›J«,B5vD ’lDBçó.€šÞ48G"5¢F·ÄºLY‚‚|‡«Ê‰:b>Sn©^øMË÷ô!¾ECw#®¬B½•e9zÏdQÐöÇT¦ÖŒ[½V):%-Ÿ¬ÄùRF2ݺPyDåä·?ݤ"‡YàTÆß¿ k8,¨âti1ÌçÝ#Ù ¾i[v0N/Z¬,| ¿…²$wÇŸ[Á#çahòÎ~÷Kžãdß©i/d†š² Ê®²ôá0cú›GÔåT2 ö€Qï3ÕLò¸¯°#ƒê©üb;VËL× á…ÌûYÚd/K²Ù2K%ŸU‡dý¨ÌìÒ¯¹¢Ë‰ ö5±‹3’•I¢ˆ…yŒäÐ:d¢f,¨›}õWW9Ú÷ظzÌ늻~`ƒ­)Ïiyéçªæ]ámÕXû¥óÌè-{Ëa9 \IZeä!% ‹igó•ˆbÔ½0 ™Ó®Vyˆ ô,qUV¼Þ×2oÌ;T½.}¥*ê‘2×+½Ké7yhЙ Óšƒª"²Ó!>–ªajø Üë{&@}ZAdtŠŸU|ÿÊ_žwbâ· ÛâÝñÿLI_˜õË1så˜?Ù*úüáú4g™3€8œw@”ÜÖ_Ç&uIíôé1±uÆ3±öñS¯üS8›ØÌ#»oièÄkWBæNg?uùØnÖ%zå@¡!RP™ÿóýde3cžý½7W =+ÁXy›Œ…¦¥çÙÝ4<ùKwL±ˆpV¶S°Y«Fm¼ p²›©z6ý6ç1“ªNcsgŤÃÛ¸ôÓÙó¿°ÔN·^$ÅûRq„A±Y “6ƒ´¼–7É-á'Ù'ëúæä yµëØœ}™cßw·nœ‡Š#É\äÒ …Tpµ²síŽJ/9{Šh°Îá2‘Í6ýñgæ†âÑ@®|[n0 ³·"þdNBz­”A^¶±HÒ°¥:ê2´A”Xa|]'È(_m¸ð;H­ŽcI;[>ÔÙÓBJŠJ¯®C$“þd·± +{˜ZT¥åZiBµ3Dv‡©Š¿ ñÌ56sŽÄ.ÉoA³¥ÆäÍ@ý{¹ _ÛŸH ‰åkÚ^§×:Œ°@6­wP¤S_Ú£ T…ψ’Ï´Hèa5@à¶zê dÛ¡Y×NÃö;ý¾a9 ™`ãLÊeñÔƒ¢™6™u†îz7Òéãa[Uiîy’6«ßiñ&q¯5RLñÆeíu2ÙÁXŒÚ,b,¶À£iŸ(ý<‘2':¾ÿ‡ÚbØ.I —FT±)a d*•½-€Æ†£ãßý'~IL¦¾$&:XV 0G.mr¾³X°½Øu×víÄsßEkxêZïðKðúúX8þC xûÄ XT½ ³&º3Y+L#J2ìföd¬¾µçµh› +=ûCˆ¬³¨`·åö¿Æ/…,ßòôN)Ň» G1ÚYyÀ^ëb4­$?ÚÕ¨À}~ô9:'¢ŸƒôٚˠÕÂ?_9¤\—’ÌBžüfi-Z¤ DœÉåâøõ䛎Á°N6Ú5dkÌ¿;ç¡;³’|ôÐ5´9ù…©CfH¼'_d•;Îúd¾>6¹å£t„æO¡?t(þÝ0›Ž¢ãÝ‹->'©c".¸‚rp›D}jE~§BH[fý„­‡òELy²¨ZvÆÀpÖÌ#4ՀϓSž{y™ç»BhÚ…L0Œ•eò측CÂnÆT0ã°Åô¤T5ãõã4)0Qjô´Š v Ál¬:Q`ß/Ã|°ÑÐÜ(wFÙx ¥ƒ®¾›Š½|©nXM6dô^>‚}ès &ǃ²ä¦ö/ו«pÑt=ÕÝ,Q†PìWÿ7$åcЬ¿Œ§>I\D{éAÜþ¶«ã ¸í{¸efæyJœQ“‡t}0ÄÇ’^øT.ȧZv>1yöÀUóšŽæ‘°vT( Faé_z\Z䈸êÂkŸ&œ%½Þb ½ï(×hÖ#Ҕݯ¹/'…ÞÜ6k <‰$ÆÄ}|FR“øu ƶSK\åe­9¾Éñ üƒ®ófde䊎A ™ƒ¹zf›ÕyNì<-K…Jñ>ß1D.'JìÚÍšHÈøä­1/hMË„Ë ÁXµËr*›Ì^üüjO>І[ûæ«{ƒ®w’<ìÖL¡¬fÉ ’p¡ÃÄÅ,‡GÑp,lÍ78ó8ªdMµ4IQ:±˜P(O•Ö–hÊ3”Ýå»ú{\}u"Dúü’ ÐÇfWñ®. É @¨Yn ñRGv/áÕ‘I[55WK*“мRMÚ9C²)[ÙîÂß› óÁÜ,òC{Ö\Sj–_¥m³a:)â]û¾r3\=ºHíA_7ž$Æ ¯þ¨ÿvo4'4!Æ -’¨³æ~ ŠÆ óŽsì«+?*ožžGâRm—­  äû£_‡<£~ÿ&8¡Ì¼³ç^, u¾WfÞ«sxÐkréˆíXÓé&– ¡ Dÿ²½BÆ »vfû§VIKÐ5‚2 ‹¾$¹ÚMjq©[ósÒ.,š]‚©{”‘±aô!'ßí,4†Ìá"¡g;N)Œé‹ÃÖÊC;{WbEÂib sÞ#ln¢¹ý~ÔÐ-g”R÷+ÎiI™K (efYèkÚ™ô=ÊÜ"kØ¡¨¿:uŸQ; :N«ÃFEò¿_ð²I =.€ž ¼ƒ¤Ç]ü‰3aE»RÔƒv¥»búééÎìvªA„·rk¯ƒÈL¬W¤‡‚‹eC5í—Z»‚:‹&jŸ§øn£Óâö² du7—ÆEŠ•µßù(r>€kÏ9SPYQ· "Ò#‘Hå±Qt[µÉÝϾÞ0RaÇ1¾ÓåžG¡ˆùä)Ãe<àº$¡Ý­­4\I%R±!{º¥€v0Ñ œA0ÅÉAZå®és-®å³ka,MFlR|p û•@îzú™p¼¡aél/ƒ¶÷lÖ¹òíÏóó=Ÿ¨FΣmè!Y†äßAñ²³Š¤¹áúîpgo÷¿Á£(­fn—€™_MÊxØzŸå*ýí7ï¯ Kµj“ULÕo¾H§´#D´ãºíAÁŽù¾DP¾~Z€]âlÙÝP: ù¢ZÉãwÞj³³²˜º~RðP ®¦v¢irá›$Äó½jgýiýHÎÔn-ì±nFfkurÀ¡E¿Öé]•‘IúWЭàÍZÃúx2˜÷Ä2ÅóÌ€9ÕGã¶,ǸfBŒžÀ¬ÌF€~dNKQ±<Çè«GžåÏ¡m,ãéª÷4ô‘®“]$EGl”çIýÒkDýfÉO•YЇr¶~2„Sña)µ|B„bG>_”ü¸ä,¢¾T`2¹ÆhòŒ‘~úíZ±^㊱¤$çF׃ È0tꎆhéP˜þÓ²ï[øŽxè½ÜýXOÈHŠÛâí—À÷‘ *•$oƒZ~ ±¿êáÂ’[ ±htlp7ïì»`Ãìýâ*”£ÁñÝí¿Ê%`—ǃ4ޤAEòB(½a߇Ǚä 1ƒTJÁ!\ •‚òªØ+ø¤Uºt`?š(ûS‚«ß&ü-ýÙÐRØtˆHµDô'Œ3­­ÀSØÑ~}yn!IÁw†m‰aEA@¢S=®Y»{lqñ÷ð!æ¹¢*…¨Hl©-I€’AÊxþ§BÌi4Èsbe퟉d—/A+ÓJ#DÔSÐ.ØÎ0­Ç›æ^;Ôòê쟶Z$ù]LOˆ›«Íý†‚¥Žä¬»ïŽÓÇðß®D›z…Á–kW|甂 /º`jö/Ðûkîã’tdÝi#=7TFkûX¼Í†bwþºë0y9hÙ,F²@!ÝbÛc#º3MÚ“ñ£ÐðK]óº9܆Í×ÂQSš8ڤÂ&õ< ½x0¢.—ÑÒÔùÄþ Gs¸vWs¦ÿ—äW±Cf=}¹+ºµKѵ»0[V$†B×­W#w¤ÉÍM»(je5Ó /‚åªÛ´m0 7‘-·h›BÆï—ª¸rÙ±.¿›Ì@¢}´Z‡ª–­‘Çräik½Ù+ålÝ‘:ÕI– abûAÅlô°LÔÿ×BzŒ~WdÊÂF‘aK›LÄi®-ä8ýêõy±%¼8Y ‹Ç[/†ZA¥#‰Vá¹ ÌTuÈ&’Ç^à5Ì‘8&8$Ä$¨eÖòlÌ×Lî¨o&”³þ"‡–®Ô¼qMKŽUPâÄv„YtËäjD‚#üu·DÈ;ÂO6¡¤jsoËXqsžs‚¹lß0Øgk¦´ñ^ï 6-œ×zLúÄC,˜Ô·¤ÒPaTÁüò󉿪xmÌ"Þ»ò.‘ŽHk&Gjðþ’ÞßÏ(دèêÕ^§þUb^⹂³Â7¯r½aëךӿj>®D£gø]ŽméVÕ©¬6ú’«hïÊ ”×(GùsýFúçÙX÷Ò*VíÂMgý÷eîaÐÐÛg›-r‰ŠF_|°Ÿ¨µjàL–^TÅ}ÙÃÒ•ñÏè)xÍL½‰ÝÀËÑ<Þ>sâÑ…©÷ÃmqyOÞÖ*¼&ȳ‹ ·ª`N^UqxW’5—˜Ñ¯P¡Jª±tVJë[=ûÁÞf3/±²r^->+5¢–ÙÍ‚g”w +ŠæµxO!YƒV¦@”<þwÊ {I(ƒôGH$pVÎÕr´ÙKxÀúþ½ è§½Þ•ÖXÊÈ{׊’E×1(Ž[•ʤÝT9Õ:v !¥pä¸ÚüRxáó‡WE`RÎ?,Ä0wú`h²5U™Cú=%›óúØÿ*óM–êì ^yü ÂÍ;2Ü4ÜoŠñ6 ,ÍVKÔ %*Ó_Wß"œìÀ©vÄ f‚‰Ø„œjn:·Â‡+ûÅmÈðœ¹ÞIsñ5¨éê†4{4gí—hõp¼­Þ TïÉjóÉãôÌÖ…ˆR×"üÏ@ütù?çül%ÔÝDн·!9ð“h© ð¥õYb&ºæ,¾Ú$¾’ö{ŠÝK7U e_˜È/éºÈ(ŒÕ•>€ ;JKá’sÜ-Nz½}zÃq=ëe©/ ÆP£c¢?”KÓ™þ7¾h©º|ÂTv„3þp]ªé⽌¡ Τơ!xqÀQçГ&8öSóÜÝ ›w6ˆç‚)es7R‚7k׺Õ+K\v¤ÓðþíÆŽh Œ=*ßÎ9zç–Gž¨±²‘M˜•'ýuÇ“µEúšQð´,U£^ B°#è;¨jZ ¿œ°g‰ççÒÅŠl]I¢»S'˜!÷3’É–"8Û”Bi¹ðìÁ¬‘ve³›µ™ØÄ‹iÖóÚAƼø;Û¢ ×Á±ì’ÜtÅ«§é¶ jãçiy,õÀû ;@í¬,½9<Øh^áÚE=çÑÄ˶µ‰ÚZ6 UÅÃN»¾eÎx«ª–ú«”~Ái„­z2ùeêAWʦwϽž€©Ý ˜X¢ê¶‚âeâàA#"RfæC¹AœS‰æV&Þ|_3qrQá,‰ýÜ™5† òýyRv-¸²÷u—C kË€gh¿#tŽÅIû°3ON4q,Âøz2Ò>xL#rѰ6¬§;í±d-†Â=ú  Õ¬À-lÙh4ÜnKÙCh«Lú‹åÇ™sžËlW—yŽîO¯Œ_¿íóG¿i”¥ù»lB—"5bœÜ Ëbå‡ê}#?Ýù`0,¶IO9¸LQOjœ”Ó--Ð=æ´EÒ«Œði¼‡QgðãöûNr¡Þ¢dÞý8ìÙ_~H QEñ÷D¿ŒÏ®¹.ˆÎ,fß.ÃWy*±=ÃÔÐv I6ºùšÉÏñ@I)b¡{0AÖ-f©RvƒxÈ5·'‘ /|p¦¨q!±ìÉÅü1P”)¯cŸh4ŒkOœTCR¢b¿+¥p2Éû¥“¾’šªƒ^ ¤ÑÉ0êÐ]VµÒ8¾ø±JµS¯”1N<‡Kv QÂ4Aý±§:%XËÎWÓ½Œ3rв¯áó7}ÚæJlW±ýÉv²}rµµæc IÚ1•{!oµü¡z2ÀÌ:h˜cüØIbHwãõFH "êøî"Jvè[>•Ú ÕÎê|N—(„z&Àc|nÏZø9@‡¥Ì1/ƒ1›j»²ÞðŸ­Ô+5Äbøû‰¼½Y;è#6u ¡dètiTH¡{näjf ž¸a DûM7±(S"Fm׃z†‹pËѨu9‘] NzN¾­$:1Ê]n‚\ÊYœØ`ê=qÛûàÆ`ö¢·µÀm <¼Ã¿ËК4Φ˜ ÙŽÃÊl\âÂC®¶7£?Œ¥'ÁÈ)*ä“·üFÕœ| VÚb:Óß½ò×½A1Äyˆ‹à’˜å<§¸ëî:c\-%ÕY0ÎÌ™¯…~ÁLð±?”ºÌ6`y×I–ÀW“Z%58@ÎûÊŽ…-äq/óã×!€“”ZΫJÿ‚E%ÅTtú ãɪ¯ÆÛf燵Á)ž.ko¦œ 5§VóöI]Ú8%—â”?J<î-mºò0”ê8ÿ¯{Êû’/`évº­ä#ð^š‹IÔÄ|=¶-.`šœÇÞ«ÓvŠ@:¤2½BèJþ÷N€F?ÐFU´þ!tÉJd)© E‡÷<Þl»ØbZ‚D) Ñ"¶s"g—\ÉÁ1Esu =²%}~Ë/É.§øøR‡úBŒì±|޶¢.[Ø1N&çÉC-pNÿ2üºk<òÏ…˜—ù 6…nµ>á„û³D+RniX59eчœ:8@‚ꩵ4 ÍÜnõ;î“^ü¦ ¨~%*Fº†ÂRðèóWaµåSžª8&œ@?<š»»²dÂ[žÜhíGõ!¦/Þh@{À9€ö,¥:ŽiÌ8¥³µ)\·Oü¶%‰‚ëÒÔ`/›«1T ñmSpÆíx•m½räÊݦL¾âzáæ„Ø¢é4jwImoo Þ–,@u·ßŠÌ€IUð\(Ê4šW´o…tñgÝ™?Ý+øi*…ÎyI› K-1Ö!¶ÑÁ“ˆ‹~sãË·>"öK÷F¸zWðQƒëÛ™p_q"%][óÉÝG»Û*çÜ>ŠƒEª¹•¶W‡ƒÑã¾q@jŠ4ÂÏuá< ÊoTœ¬p`˜ñ"é”–Ó{ÙL˜-ŠLö†¤ŽHËx˜šqPk·+ÑþžKÔY; eª¥R‰ á©­KyŒ©P\ð#¡£À+ û•œÃÍèj¡•ñõÁˤô§¼Æm_ÕAàÛM‡]— ²ÂM›887«ÐML‡VJB¹Ù²öÞ½ ’ÛæDUz®Â:ù3—èÀzÄ}Aó‚|iæM=¦`g»†scMt¬»Ð›’›÷€© Ë>ò+r¶x UkAV¢YiõnÁ =‚Э* Ä6u»‹¾³¹´± Ë°9º8OËK7DN¢õb3pÙb448Í£ œN=w<›"Èx»ÅÅ Y Q²ã=¢EzXSÕÿ‹9j½!O&·gg…9ÔÉL‰l ZæQTèp‡¯G@Ü1¢PÚʦ`gI¯1†îQ‰O q±’¤êÄ]îôÓÎo¬„—²¿Ùˆ?ÞÐ:£6q¬¿Áÿñ|ô¦ üe–_ Ëâö9PºÖò"A}Ï2¼ô3dbòÔpMöÙ“õ;¦È¶úƒCp4)Ñc\…*ŠÂžŒÙÀüpÂó«—H‚ÃÑuŠ j ªè2{|IWgN©òÃï÷;3;žC.I¦{ËúÎ&væßÏ1?šËb— ËÌ;ÝÜb乊(òüȱ&û¬û[Tw©\«R×nå)õüSÞ•Y&ö§Òij˜æìŠf|±D¿\_ñ 3µOèìn‡d©7Ù¼(WeÓôw0oüyÏ~ÜH¾K¾éZÓI8¿¦ªÔL Å)-³ù›xínõì~òrå!?Ïûåc·“”™nrýÑгÞÈM^nu±èÚl ²ÀV9øNK:§wï]h¸–³*Yê¦c%¸9»’"èÀá$j†©4Oû¹þýWƒÖq®WR³h ‰0 3³_åØ.‰áö~ôÖXÿú‰á1ƒž¡4)±G`üFß¾J‘¸¥oƒ’‚Ña¼€ÛA-ÖsY«úÈ1˪äŸmÍ9ß&ö½¡èÜ•@,rÌ;L^wöÿ(ÀGY¦ô;+y©÷ÜïÕn©Ö˜Êi$jzÿ|eû@šŠ(ÃaN2ƒ¿üø'ǽ´»Ë†§_Ò—ptÚc-‹Hg;ñÍ´¶òŒ¿)pûB²G{:I–¸Ïg_gÚ½¦¸(ÞÝ ì.La;ô]Òyy9Rð"Øò^æsai0]ùﻪ—‰3Ú*_æÄÄÃu¡Ãq؈$dÒ|Öoc8¾lÝÃÔ„¢I­‘9€÷¶rÞmpN“=Æ´DmÕ”M%=Z£í;B”mÌpYœÕbÝm€QÕëJ÷ƒ5ßÉèú8 A}N¥!™IM‹dœí½½±ãïõPsz,…‹Q´£!Ķe× sZ—ñâ,L#¢û'Þ÷𷶬fÔŠ$°-ˆwM¶¹É½™Œ¯Ÿ¦ÜŽ…|cÚù‹r·±2Ú5¼9ìhHMˆ‡"–;ðÀ,¾s+µ‘¿¸\Žœï†¾‚ÀHðɘ?‡Ñê·×jûÖ"‰ýùŠ«i9ÐóÞ Ÿ!öWyâ,Ÿ=uUß²ºþÇ;IP6cQj¯ƒÈxtÛ9‚µªö‚Á§š³ò¶`¬’o>ÓÓðS¬¾Ãh¯Ù%{¯@à…5µCYçFã»]B[êk‘ÃasHì*Ý#!lYn(¼±Í‡LÔQwfð ²r’ˆÚm0/XŽS$%Ú¥ ·Œî/y†°6-4…šßƒßv24~Ë|Í=-&f÷<ðé&]Û[mÊÊfm²=×Öþl†n3½Q¡ò#Kð´…UÝ Ìs•õ Ñô ž~ËÂ9v"Ú˦Ÿ/A(•QTQÒa0œ$û€ ¹a×32¤]hcÌÁÓEV² èâ?ÏÆŽ÷)šŸÄ…sÇ£Q,†XÄú­#ѼÚQ÷}¥`²hÂ3«ñ ÄÈ,grÑxý¨ƒz¿ ààýq;Ÿa;›âP )¨~ZKiáfhÌÊDâT¶Æ)Rpñ/gÈ'ŽZiÿ8,ôiŠÑ}¸Í ãI@D9,ÁÔ'_'V,ÕùVwˆî(õî| ç:YgTŒ 릸ە=tÒl6ﮓ JxÝ9Â[‰¹>ÿïk¶,óóËw˜kðxº7k㼕/µ+¯¬Ž½pßLž«Óó-ƒË—cšì)ó…äjàùš­¶±êU~+d*e/ìž¦ŠŸ­Qø fRêÅzÃeü UJªüÙ4Xþl?Ø<™"®O‰±îª_Ûï-ÚÈÿÛÛôµãˆ½*}ºðIvë*ùDµ±:9·¤¾ L¨($ ËlÏ0ÐÚ™9癯Þt™0Í5†w®N~N—>6*€AáçG-y\Ò^ÂÛ¨áA.Q‘—Xe§:çïÍ÷jMÆ¡ƒº}®Ë¢Ìn¾Ûaí ô4ÔÃWذùV¤±-‰âÜP"µ{¿>F3KÑëqØ÷âÀ!ü€Gÿ52ÂsîZÑz'x¡5ÞZ—ÛyC'3P¨ËgUϋꎻr]¡"eNº†|‘Õ–dË"¬ƒªn¸S×™ˆ9͘€›Ç»K¡‹h¤—Gºj0«±»‹4àcöMÌ—+xCØûïã v÷?¢â»`+Ioò§à«¸ÈÞ=.ñ5sjÂèn ÉöäM0âCÖŸa{¹M ky2u„{ Æ’-ßœ ‹‰–ÑQ×ÃÈT`žr qŠÅ;%Â"Û^—ÛRv¥—8Î#4ñ–™ ߤôóOC-3;T]‹Óçe\½ÄRëØ£€I; €Ñ¬c€‡eºØD3Ë æ%H—ŸÕT¼«ÕCäÁvß¶\øµh’­þ3ÆŠ+¯ä× Ó`á=™#8i}~"óÏ9¼Ãh|g$Ë{ jyjŠQ7%ð»Óç~2?´g¾º&Ò‹[¡ð† n®ñÿ krÇîš´m¯—RïgðMÑÑö§ZFî‰ìàAÄ‹5Ö£Zš(™]ÊÈËâBüUV"dpº 8Ù3ÐFès þã¤ÝÝ÷ùÕ qï‘§"Ös‚]€Ó  È4‡õé?k¥Åél£1»ø¾ dGPó;‚l»¹‘4àêXò¼ù? r‘ úXssQK¶q“™Ë謿\UO¦K;’]/š*¾qãm…Tÿ†ò Ðj«ÕUÂ`þ"#æ¹ÊD,-fØ=± ¼kÈȲôn¶*M5h«Þ Òöæßî"ðÝäJ?R œk¢MÝp/»F:«ÏV,yÖ³«âš‡…µÒ âÁa™ÉpŸ¡œ Qçéq:qò‰¾FQ}Ex°ˆž àó¤…ª>·Ý7ª ’|·òëc@tË3ÙéI†LΔ™€º©¹©ˆ™ÒN$Toxï!'Á,EzeZv”’ÃÊÉ‘? Nçph=H±énd‹±¶¢+GN±cóð,zÝÜPhùá£_ºùÛT™¬'#T%ݾ~Ü+=zÍ5&lÕY'íTQºæØÉdˆzõŠ_æ×;AQ¡1áÝT|ÓÌþµæ2$ôJæA‰,‹¿ûË/Þ—Eph|ÕIžŸr•pm$?v×z«*xk©ý F‡JËŒ}ûK¢aD¡1`\lŠ)ç5€ržy#³ã¬ç2°†“„‰¤+¬`Úž¬©àyI_xR~(J^ËÎ=)eƒŸU1ŽÀ¡(e…–T'ú†í=Ûa jêu( v¤S ö/CâÔÍQ”Ýc­‰J·»¿+!Úg1ªÈKkº=©_Jrœ%<›äãÒÊm½±â,ƒÅÙçÈÚ8l„5:ë÷ÑkÅ Äêúâk…c‚PG˜Õ@fê£?»‘¼Š8ÔåÌÆ-BÌnUÞä‘jPwì&móôÏ(¨D¬Ô€ãÑÏj×±†¤eƧž!Ì^+}CÂ&_ÒÛhߦa½Ñ$ SÀ¥Ç½Çymö¿c¦"óÞZ÷dæ’;¢êT€ü_$vN«^óÈÃ-Z,Ü–IöQ`!yɃÉá+Ôì³È ç)íÈî-žòBÅqp‹÷[Ïó2•z‚¢1–ŒõâvZ•Ym ¾A«XRh>øgà.îC0ÚxÅO`8ƒ±—Z "–^ÂùxÖ`ò&„2ßÄ¡ü¶•E¼Ììä &!ÿZhÃ8)ÙæëRѾ'TöüňÜû<ŽMê§ çDo×¹–5A”³wz¹dÚЇ{"x> -èò…ÛV’õ%Ž2Ý—Žr® öUbx ž¤H86E÷òá$…ûéÙ蹤’¶×^B¡¸s™”¨m³ù5úǞܽÑÞÝíP‚ <—?ݧÎQ¡=c‘Éê|Æ|vøi@jÇã Íœ íí‡qö)‹¢}¯Úâ}é¼Ü_WÖØe1Þ—56€9¾*lþ­š7©gqÈÉíÐ9e<'£dAÜ”9å—ö6Ž…EÌ|­k^®dCLöš¿—GÐóOHá(·Õxq“ y'ïªîÛ¨mæ¡B5E}Ÿ>ýü&¡x3¢s9³f÷­Òh §<¶®ÿßýBlU’‰˜$-t5 zØê' ¹A:F0p‹>9dqëý±…w¿µJßx¯&+žn âMgëˆÅ:üôsqe>âà¬ñDŒ…FEãÌ{íÖˆúê;—Þ,J„OɰiÔ)IIéµ¥7«i”lÊX±Û×òYVX‘YÐî“xlõaIÁ™–ÆV˜K2z® |—¸UÊjE¼®u/È9êc)ÚŽ¯*ÑŠùu#Ì4¡#ô°ëμÎ?}AÀG¾ŸY]{Ð!"ˆd²N­fÅ„R—›Àˉ½{Yúf3 –¹©µÁoÄIAº¬"hMD•“ÌqÃT©äB×v»´Ý¡?”ѵõûU×uîÅE5Ký‡óÛÕËø6wyò¶`~a—02|üÜü‹¦—Ù4vª©@LhŸBPÞS–á;ö[¯ô=Ûû‰7iÉp§¤ûâÙ•`{¤¥¶˜.xˆ¥Óöôý,@âGǃ’y97ÎsMìs倡ß#ƒ ««¦RÈ„K“Šr?Ýu…¯:pޑĶ1Óg}í.ÿ8 ™aŒ-†ÅÀ·J4ÑžÌ[ê`y¨(2aµ? "žVåg ÓËÁ Ö³yY@–Jû¨Ì7L~ÄçŠJ(N{:FL8³Ax”7ÿÏ…btAî–,{^Vd0ÅO¬:wB )QXõÝVq®ô¨lž€ Ka1±ñmtJB •Ú|ºô˜^*JR2pšGˬ%)30¬š¤Tï°Š÷Ÿ^iÿ´b¼P0+ „Õdžšƒ¸`yáº&¸ÀTöò itÿÀR],n:3i5:­£±QcŠžv˼/0±n v<ÊÏV\l¿uñû$ì<þí ›ÜMâ.zíµ! ¨Fú¶¢Š2Âç mÊîh¿ú&Žx¬Þ834‚û2AÚÅ5ñµfß‘:¹Ý(¿<¡Áÿ"•Ô˜dêÅOн§ÐžpM yWÚ˜Þ¡ÿÙJ„e Í×p@G›ÄHÎÖÐõªq3\+B®ŽÕŠä›01‡· Õ˜²­šÆ5Hvýos3ü7±¸G.r€rʼn©ùÚíu<‚Æ74È×úÚq¼ÎcÓˆúô¥‹®ê½úOÀaPIVý!®¶þËhª—¤4\sTýuM“OY(DæV ÷†Åm\½3ݰ8Þ hlƒ…Q [ÌÝ倄ò¢x „& ®úÆn®ÿŽ£bÑ‹'‹õ"÷Ãðϸдê¦S‹çmN»Qt¬E=oE:áÙÒÒoáfµn˜©I•?ãÌã^w%‡¹©;åÄÒa/³ÆCuÌÞwÈu“É~ ãpÈí^þ-p­<äÇ¥¸ø‘>àM¶s.tŸO^üã:¨–u‚Ì0‚øºÿ:‡+þ1F…§»íöDR è‘“ÔÝI /Ôë*œÂ8>§€·45è<¥fªÏŽXUb4z™æ7ÚK’Âä¯òœwr}¶ÆGrm®{$Éð¢è]Ì«H>ÌŠas2±r¦ŸaÂþ¶õ¼s[Ü0v­¬q¥5ŽÂ€î{H‹¢,íXP+!ÇË26`Ç78L‹2Ð/W9Ê¥„KK’Öj}õjó˜'ÖÝ\2…K*Ëö¾+3Ä ’BE¢÷Ä$¹CÒ<ß'&>ò@á3´ y»øý|Þõ6•ÁZòÐÂó È àÌïw ÍF·Žëʽ¿#u2<‚oA÷d‹ š‰ Út®}²½±›À2b¹NÁÖ3 ŽyŽùðô»á†úkuŠ6 })p›ÊðmC3ÇN¿y:·„)Üloñßm§/š­šlL|V¯ØB‚äŠx¿y5´v9 …*q·?EEoÝIûãp®Q¼7Wp?o"“+™ýé¡ßùè^oÌZéœñ]Ax÷Bä.¤ï¼[#Úýƒ‰¶{Ì=òC¢P¤/9.¿C@%ã<ì5õSÇ»_ Í‘ å`õ^RÜ‹y¸Ñϱñ @4àƒ¾`o°‹rC4Ä£rãt¨] á4­þ®b°æ¾žó£Ë,˜ ´™hÉHf5®€,O—ýÈÁ…ø=õœ:/¾7WI2î0‚L$W™Å}¨8¦Ï9bKUXwîÔšÚ«ã«]Ê÷¼µ±B -'ÓcUɋ#Ó'¿­Wë“G§ŸåìÚÌ`Àxùm3¼WFíþO+yäKñ §—Ö‹ß@»¦q’ƒéFÅ©íØpïÌQ dÁ²&ú°\Š6ÞîI?Õ&WhfYò QìrÀè÷zíMÉ(Q¡K7 Ñ+þøÕøÎò²½½XŸ¸ãS«×hÆÝ†Æ­4%O–¬¹Í/À]6Æhð„öÀÔ­Ãîב™z£Ó+~Lðí“ ŸÎâÒ±+ÚBNeMrò¿Žý=Ôû˜t-œÿöŒÚ¶‹3ü%‰ÚÞ§íƒÑoµ‹Tm>TóБß¾6ù®JW=µN´Œ¯™ÊyÐOôYÚ,Rñ‹qèLåRQó6µ6Ù‰ï:½ä˜qo\A(6‘ZxՄݺˆ›Hƒ·Ü'Ü»‹cÀñqy'Z¬çƒÛ¸†XL13}CCPçüǰ bs¹a¢È·û˜lÊLÃj€ÏõKÍx¬u“g%1žúnùm-FjæÒ™Ô39¬( …Oå£fÎþú‹­­²é3ð‹íDæyè ?â°5ù Ò´ãíò™»³ë3¼Îì<—Œé¤j>¾'ƤqºÜæ—f(wQÎÒ ¯F}Ç2Ý©ÿ ºI[ ;U,‡: 5è- ‹kGzá£Þ@N·$’!´vLÚÈ ®½$vpH­Ôí{k zêÑ%Jjç連ÐÒyäŠà¼¡hk*Sœ¶¸Ÿd ¸ÌÔ¦’Y;onî’;J+¶ Ðávzð¥çpîu›sc«E#þhí÷ß²+Ù2“äk“öVw¹³êâ{¦B;Î2ÚÔ*_‹8"­rÜãh÷÷øÏ¯”Ó:u.Wa΃ ý u쥹Wi´ØÀ•‹î'úŒ¨Hª¤^kçã–¼3W%ë#ú Ž©`-l’ÛïðMÈ»i#ö³ ¾hE¹ HÓEÕ”¢õAÓN±¶{ÒíÔf)&â£k³ýM…ÊŽ*ªúÏÂÏjФæÏà´¡e]UFïtk;‹Ç?=V§?»†»'z¸F³%!¿o£âü˾F±¯‰E+0‚TÑ~ y™h# a=Y — rÇÖÝa\㇠¡©>'þ™¹ÚTû4móíte°>&?c'÷qé?È‚/3¸Úÿ>gÓ¤”ïI·ÝÇØÕ2óºµ>†lIEzèPà9„OþjïýQR„¹Ê¶€3ó D>,Ä[%DX¬B¦Ý˜>"ô•Ø^Ǿ~¶~¹sæ ®gë;îã²-eݘìJð2 o‚½6Û8¿>†‹"èò„‘Üß B@°N»†JÎHBØ­ñdzkxíT²†Çàå„x/#ã‘lØ7 3à׺«Óf$Í™nŸÔ‰B?ÍyŠ‚>OF€”1ÝQ‚¿íJWª‚Òµ­<‘"Êx¿ÑJ÷!á‘”%"(×C‚ÚC¡EAH 5‘Ýpì¦ÈŒå©´ŠŸ„b ‹J¦Ðã{=4uQ_äx쥋 ìï>ªºÊ4@½cÅë•è–PÓ2èdÛ 3Ø÷Ÿ(ÄL0¢ê"§Im»¯ô·hqŽß»ñ¯)e8"¿Ñ+ì4’ب*s_+(WsÞp¨ˆt3Þà÷¼É‹ßòcQ®úhT¥&P˜fßþ\â¤Îâëß›%…¦º­äÖé %jÓ}Òägǯ}RÃ\éM loï-ÔÛÕu,ß¶ÚÒ=Ô±'¿zÅ/ƒjK–¿“²þU¸5kY\&¤+.º1IY˲MÉVuËTMºõ„ Æêµh§f½UÑ>>ѺƈB³åò3¼ .¾ÏoAÃ6ei•ÃZµ5XvûRžVì†byN/2¤É6[T¿4à‡I?¹Œ=ʯùGC½7lòæ`þšj¯Y¼»Ó±·ÀI›¾\ôȃç÷Oðãs)ÕÝ£¯:ô¬6Úžz-•Jv3$¶|ñ$“½j©*>m8Úàîä,vM¶™o“ÃùWfŸš|Ì.à—ÛÂáý½˜è¥m—–Ò” ‹pcÝÍ£fäc¥ýâÙC^ÚÜÝÜhI¶å=8GyÇúl,£†*obÝÚO**lOèbj`J>ë·)þלBa#›±ÂN¡9DqGŒã»F,œtݪLô£8Y CÝûÃýîN´lïàõüòß~çV4h&HhÂ퉔”ÖÃ=¯Ãk»w¶vˆAI®õ½eœŠÏ&À5œ¼j³•,µ_ù×Ï9æ ’`SÃwÁf¤xþÖ*¼èÍšÌË*7söP#é©üº‰JcÚêßKGÿsZäs›"pš ˜½ò€mk.åCr)݃‡ð›‰|Ý.‰Ð¦¢^ëP¡Ñ)a·ê:Š€”Ó{‰Ùnë§Wv³ÊõUxj·¤y#€•~²]$‰'£‡¡-ºžƒb¦RšÎ¹ÑëãϺ§>’k©Ã»[JAoÎÀ g%¸Ÿ‰¼Ë°ëâÙÌ&èŒ<#nF„5¦ìí¼„ê´Òþ€cDvÛbbÄñF%Qì9×çaÒ>BbXP‡@ÝŽÀk¼º|”±…ï…qR·ò‚ŒoËRªs4dWq¢sܳߟÞ5ôžc,?‰vÎ E©7}}Ãmyr^,z„ ø £¬fvG¶µ'¿œ }œ:1V£yk!; ð” ‚Ól†é8ÒÙwÔ)Æø¤Ñ;nâ7þŠLúþn0%̸Köp—¨¬8Aä{5Zß)8Lc­$4¼=­ <ù{‚/»7JAÛ0{¶kì¡™KUó* 帠cŸÍ#ÌnnDYêII0…Šz*ðwù’¿™ØŽÃ\Œº­<ÕrŒŠMzÃ'   V+ÓÇT¥Ø˜ÑE&€\º²Ú«5œè­ |*Ü»+Èáñ«lª2…|pF{rdä©ùô¶í&“DÌ“×ÏôhλuVL=å"B\ZéÄ›œíí¨{՞ؼ=@ÿšÄÇf[ÜÑD…ç_½d†BPµ>îO§XV++L'á“\ì “ºëýeË£_HacÙªø“ÌçðÇ€‰æR=N‘¯™êå~8«)ù¦Àêyÿmç½ ÆVÆÃŸGC‡÷w’ g£Ý@pé½?pÝ‘ÔPž´í¼!pX&„v>‚«1.çT]%âm óÓÐÂjüÜ·Z¼*ÜøÆõÃ3l\çÊ¥×§†ÓåkŒérIµ6 ï­¿‘Û"3‰¤…ÃG5™ÊL·3ûë*)E­çÆà&ã1ªøÀ­G}º?\5ÚÀÈý\UTxO]>÷°DU@‹uS â’ ‡F‡«¸ &ö3˜À'Ðè ™£„¸á”.`£÷´wSÎŒ| OÔÊ'kÝéÃ`ö±òžª+7Ê)šÅÏÅ$5F ÛØ’ÇŽß+o³n¤@MfG÷4t§(ΰá…Kƒ„ME÷PòEnŽ=^ëÿ ùe¨J¹lËrõk²¡ó QhCUHn|•³¿ê"µ¸Øn>\ì.ÓßÛþ¢˜ÜC*“«ct®±¢ç¨êužú‡LL¨êL { ‹Lá¨áíõ¤©Ke².$=÷nošÊ¾.÷îpˆ€²K^XqZÒ`‘+n-%Î$G§IQ’Ipµáv¯WÔN@ÿ¢Å´u~ùqXÔ´t5)¿PÐÅwÚGr³tãfTp-#uRñßÀŸÙ…»èÿ(‹rHßÀƒÅq!ϳ¤J›ô˜j2tвÌ"Il(F¤Ý‡.×A†@–>ä´ƒ€ÃÆ5ká[‚ƒÇÊPްçrL †XúcR™0ä<јXu„w)âKRÓ;K¥t}@#¶|UÔÇŠ¢|³ÈXÏ ò… æ,lõhµÞ»,yý°'_mIç®X¡ùð|Ï+tñ¼r5…ÙþD”¬-$â†&Àû• ëìU³•¼S'Ĕԣ9àÓÌ‹Rü¨Lç#aA_«9FyŽÄ. ÞœZUç}]ã–þ´ð¼Fº “Ò€*å­à½ØõrœtÓüô¾uÛEñ—øFU¦.9C µ0/8´+ÅA_†ê3Èûߤ0Ó2ín‡›§¬76°QFňBL¡ òÒêê²ñÃT±¦[œRdëkª¢u|\j8’+BÂCH&:mŽ“RÎAôß$æ‰øs[·no(¾0æÅÐRÜ·¯ÅµiÚ_á#éVª“ú¨= P€&Rž ¸ýl;ö§ÔkùBmÄÐp¢EõöÐlÛ_²j[ã­!q DhWù&Ùí¡NÅEÖæwݺV£„샥ZÈSfFp\mE‰†ùÙ;$LV©Ñy:û²Þ£ ý_€pgA‰Üt ýãÝâæ‹›#ë Ï5A½‡$tq5¶ÎÂ00•*Ž“.V‡’ -ö˼€ÎùŸíE%T¹Ë5ö^KEœ/x® ÇÂ9ŽX¬ð@ðíÚƒb·b$âöƒj1æ“öÆ3ã_“EÐŽï»o„ž X“=V)@ñƒžª#ãå¡'-5œG$kðÚÄc (åÌ DKÐÄ F8»ëÛ@•4åÇÒqÔoû øí†ò¶Ö.ÈYp`¥€f*›þ´öË@ÚªžÒQ·³ø°_{xÒl<×—¹¼N¥‡zúÝ[ß&œóÞDwä;\f'žQ—>Ö ‚(ÿ]Ë<à§©I‡ÉàrÍeíoø“ ©ŠÂcoˆžÒÙ¢`XJp3¿bX†Êr$— Ü7[ûÝc‚Oöº‘£ycMàøï½$ü‘À=sâß(õX·†žt´ŠòôÜ-½NJÕËQã³£A Ï™¯á¬½S—ÁtÄqS_¬Õæz$ìŠÌœ§Æ.lÇ?Õ;÷GžYìÉØ–P4Iš÷Êà)Ë9ë,±Cë«nŒ$ùãæƒ ¢¼È²,RÎ<±¬kýD»Óˆ÷ñ«Áq9ž:Èç•§]ïôòà’]ˆ—…Ö˜Ö°[Êâ§íö # !)l×·‘!“Ô²a€=ºWO™4õN·¤-ÐÆ”µØ@SAZiì¿ØLEbë€x²âj®YꕎdÖ};˜ú¼ÿ¼òHËrŽŽp#§ë£e7èͳ2¢-º@?edë§Æ.;Œ¬,h£µ7±YÉñÉÎfÈbË??¡ËGKZ»O07Ú÷_ªz– Fþ×”M’¡ÒcË6<@}x³Ôšô¢h ‘_Î|1£Ð‡W䌉IÞü·ú$I‚5lß¡©Έ,÷ùmbéË7Ì\Æ2Áªe’ΨV^Ï£“¢[t£¶Ó=Ó #i¿õKßš§SH+ýÁ“9 U™Z÷"9iÌÂö!“‘äMz¡<¢MÕø~8–ÕàÞñèûêšÛò«g”両úß7>=å!¡éY¼B`×Áaƒ7³â½Ì*áB4ž8ZIjÄÏ”ÿÚOž¦%éBvñZ1¡ÓÅ¢)F­ZGdpó*¦¶ø0 Ó))<Ýäy‰óXîe´mÁLöíXgæñG«ó§_bô_8?sé⧺t]>?6#{óÒKv’OKé­y§÷é-3ïÄ úO³|RêAÙ9”†µê¹Hú™/Žðžë-“x9»óa1q4á@ ¢‡Ûc/Úq'¾ÓC$ W˜ä¨Šy ?VUúM—Ööÿ ä÷[±G¼Ð_f °oP^–èΔÐ×¥{¿€-É :]ºËæ<;£íÄð[D úk¹á‹r÷©V7½Ÿ•.àúvݰ@'š–_1ȶäßûŸÍžcgË‚> 1“ûc3òǶý§¯ÑDKÐkà e¾³ni±x— iØž-‰[œÕ+ÇÃZ°”FÞp¤*Òš4+±ç–—ÿí‘miö”s¸ù¸lsjÇ–¤øè%\Ì_"èø ‚þ«Zžegq‚¥‰;Oó…0îd€PR4õ`TKÜ ßæªaqïÙc·“š?ÔßÎIOÊ»‚Ù$×½`ãÕˆ¤êHyN°ICëÚ;¾w\®±•Á-grˆNjæºVÍtiH¬¤ã6ô…Œ"5pL òw V8È% †ùüoj‚p‚Æ™.³·k+cWFf1÷÷7™óÑfáTæIûØŠ‡V©oÝwÖ£8S¨×8BňÚŽ a k9k³uéfÏ¢ï^¾ZŒJIÀWÐ _Ubé8\ÍN»/ß«ÌVÂè ½þQÂÁjO0F:ƪݩV§òD(¹î–BUM< Is2º€æÞh¶ªýé(0á)»ÊA«­•eg bY6égó¬…èøØýõŠ`j@ùe|î8ÒPé ¤«²ÓvH®æêŒV¢¦~$‹‰Í/Ô½_ž]Ho†ÃŠFzº¡ ¼;d¨~M\­N~*AÆ ÆÅ˜Ï…1m›jÃe–XËÎwr6çKxÎ2yqJdhVqɃSžoú;IŸ]RÃ-‹sG)$ƒiþCölõñåR0"꤆o4A¬9ú_œ<å¼õwXP5*¸x–Í«™DfŸ+JÛ©¥07-ÅÀ™ôÿ>DŸ­¦¤›ˆ‰/Zš5®/„i&ùnP,ï~Äp¥æ¾[’„òR÷A Fgâ9C¥|úM2ë´Îá½ä?~ãÖìàyEæý³apêªÞçpGSë«Zjl¨úì&ýÇ)»nÝ' ïÙ?ž‘Ä4Ì 7/l/‹@› /21çüÓ[GÓžöøþÆ ß.@¬C)ÆÀCQê‡+FT¶6­ÀÍßã²"¸¥íõz››PÇîd µ‡ã‰–®4‘Xz—Å€ÿ™'¹Ó•oÿn:úàÙÓº&¨¡|ÖÖU„œQȨ§c·'º•VÏ«’Jzcù¨vÉ%{ö-Ù »°l9uFN( p^Óé.¹®âRWîúڹͅ9!=PNvÁõŒ¸fž²3Šc´òXµaŽÂEoÒóÙD ¦¢40Ž:Mù¸¬Øj”‰°×Æ—÷ãÐôÚ´ßÞè–¢{ÿ´,×&÷“´·ðúrW¶Ù5|›Ž¨sëÞi-We±Æ˜ä^‰`–)FÚ}Öó±óK[*<ÙÃùÕNп·ÅÌÉÅkqÿ ê£ÌåBc¾Õ֬СʹÙ_òhú"~?1% i{ŒùôXrJ-Öú&­¤åÖÍîµ&Ïus—³òö³J·^¦ NYør²±¹aÍð: Llß.Éâo;~Ð÷ÇÒ*£mÜa ø~åAù’Jéº{¶þQöЈ¼©PÓ§µ c¶yç~ë5jWp˜€uö§ÊŽe†¼% c."ø/œŒf•÷øŸšó\ùïf£WINÏþ+‡e—V¥˜‚»Xƒd÷™Úh“oÕüžáê5àï+‘#ýýœH¶[d÷˸Q‘—˜N’̨€À¿ƒ·¬“Ä9 È,ØQò*Å~”ìøÁš¨ô‹5E}âNæ† çk²­àÂÿøW”4“°kaòã/Vþ…WþPLx–´Ã¿[5'à=‹ÁžlDõšõŒ=§*k‡Éúøª«šË2¸Ììp‚B@Iq‡8dй¥ån_Gs>íÝyz:ýÚè èëRî7!A …qƒÃEb—ŸB)A½àŸ5X˜ÓÞÓsð†±:ýá’˜ÆooÞTÿÇ-ÃUó?¬“¹ÅöpwÁÂÊÃPÏ81ëÕ €‘TÞÊZ@KÐ<‚ûÉl­Y±Ë;=‰Òw`Ð ›¥í5¨}EM³Úúà‰ȧ÷«ù[0|ÀµR+yiæŽ1 k}ò4.Ö¸•÷f3!Fذï0idu®2ó?Yå5X¸OMe˰ïbÆÝC?çÚ¿¥ 65åZF¯u.jUµ§ö.Ì<Ëîc}5WÊc!ßi1LÏŒ!ã¸ÑÿdŠd„-©@z eÃ_K Bap÷À¨Óæ±ÛQ ô˜¸[ ‚5ë-"¥á}=Uî)ˆÖïE5ûäÍýŠDáÅHÿ%RƼd ”×¶ûÀj¢¨v e”OytÅ.¿dêÍý.B}’ÈÄàïØ´Ò‚¥K˜PÏ;o>¦¯ñŒ¹K$ Æ 34ó«Žž]E¼éz²sÌ?»MÉÏsÞS€Ý‘ßfä²ölì†LÞ4Õ©î—æ¹£Ãéâw¶NŒ¡Ä&^ön'õ wq4§86»ÆGuƒÆi_ŠsÁm±ýÔub2«¤§5}ÿvÛ^Šûî0­™µE(fÁ‚s¯ä3Œ™Ï½jOÇBä4¬Ýø»RD›95é=Ò¸”ËI¯š¾%&îR”iûr]¹RhÍ9Ñ—dî>0£ŽÖŽö`B,íÀvbÙê\}ˆeÀª‡X=\ŸLòQVsç7ý¶i/Û=äÊÐíc°rbÛRLú8C4–%‹}÷ŒüÏW­îÄ© ³×øõ (ùC7"ZÝ7éBÁ"y*ήGjØÌs“i·‡TÅû̦'_àIZÚÒœ„ƒ&A¬&SÇC¹¬ ¥O`¸å¹¤#¡è7h5H-)¶éwc™=˜\´å2„õׄe ŸÕH¦ùèÄ*<þrÛÂyã÷ϹksWáÈzºªÇÚ,   ¬ö  !/û®µ…&WÊö#½+)­Ò‹v(¤ ?–ž„(š„b<…œ›õ­ƒt¡"½/ƒdIdp%`±|»½3xFÿa¡\ ­ž¦¿™ÔR)—Þ‘wè4ÛúߥÌÑhR· aï*’Ô0øÙ¾qàäãTË{åzo/·ca6>fÜEWå¨)è0Í΀#¼Î2m•¤~Ö+1:ïÏŠ[Þ .×yõîiíWÑ9ópÝŠÕÜÏ« ºJ¿Ðk:q €¹³ ½œ)2Ûé’^c-þÇÉÔˆ2Q¦óÃèRHg×ý>A`³+gصªW Õcsⓦ¤’PŒÄ5^Ÿ½›6Û»]éÂ/ÝØšúÕ¬CNvP³—R fв<%2% >cT–ð©¨y… ú›Œ£’Òr?°T.HqGž/§æV·ïL(&õNv3Ȧ0dlLJçd¾Xh¢Òß" œ`’DçÕEÇœö)3”±®¾[áEº­])»ê³A`ª°‹Ô£Ö§àU²Bo!<Çû\xä›Dbw™¼ zìWt%c[ðåëþÇ#iNÓB}Ž+mÌ£ø üèv”Úhiáæ–Ý#"×|(]"ɽ”ÔéôSeBžæ‚@³Ý²Ûo£÷»£vÂÂeviRÅÒÔÔçì?­03ÆþŒ|ÞsÖ?¾ƒÅú”6èÒ~Û‰¨‘ŠÈ™èt«øý æ`tK[cÙgTËfOÆ,ÊP¯Z«ÄAïBu ̃ËÍëüi½ûó™ä9J>+ˆóÊ89;£ f'JàóX“pH ¢(m÷n7ü3ô‘îà"%ËÕ°ÚÊYãÓ,P£ÃˆS¥‰Cy¥íÀq®ßCÿ-ðMØ’—…C¥%$ØØ%ެ,Ô¾`y{Ó«9$ı1o ¡“Ø<»Q¶gñbà E£÷•}ƒÐ ßÝ¡R9A濹MCNœnÒaרŸthW( @áÌ8^¹ [  ÔÛ|påSTÜ—Arý㬃"ü4ݤRíÕ^îFËê'bµßá2¸•ê]z*§› Žþ®ðN÷¦úÿL0!--N2\¦Âb™AlÿÂ.÷»ñ„G3~ òϲm‘Mç ·OŸ9O-Èš>T==±áéû!­â l°Gª¨/FCm'¨ÏC䛋ñ`˜ÐÁD錀wç0+Z•âÎî¤Í>"º܃t!¼f –0Å>Á©(óÅOÖNÝMøOÀ|ˆ)kþ˪tÛç9ž¢’wͳœ´ôa¢=hè4µ» Ö~‡–4EÞ–_dT³MK}æP2áiä ßC/W©:øl6ê³2Á×î“4™Õ!S ´º[ÉÆ¿Ìöu rÖú“˜ÞàE†'“ŠEJM•øà'ÐëâE¦gë¯Q:39²ÙÓ1¤|a&»6v¢¤ìCÙz÷bçÝãG”¹ÊV˜É‰¼38Œ˜ß|I] S¾]ÐÒf#{é›`ÞËài"2B=÷[€Ãýk€ÅÀm2˜ôÕág÷<˜4‚j£öÇšS´q“²¼ŸäˆÇ.Ѽ ÕWÖä±Û¦Ì¥&¬«nT'¿aM0²‚ó˜á`ªroèty‹Dç ç­e—¯GGï)f´¢!‡œœúÈ-žcLÇ”Zˆ¬ó"°“@еoË}Ü¢ÕË9ñ^¡»3ê‡^~ˆÙLÏÄŽåß²“m|Õ¦§Íî¿3¢æÕÅ^Ë•ð&±½á’Ÿ¥=‰Ç¦H ÏIÏ‹²`Ìôò~i=-0çá«XS?¥ ®A­Ûò‹Z?¨–UæE¨É!ã*û‰ ö~»~„ØŸjôó¹S/Q¸rʆi¨6WjذÐÄ)æ› äO]k/ÍÒ÷R18o“à›ý±PÁŠñ=%žxº‰¦]pÔàö/ä'®5/Q¼³Zj£ÃÚ{³Ï&ÓGEÀ Ú ƒ×O‰(ý¦ŽC• ãÌé}5U;}Db–,/:ií…€ÀÛ†ˆ êäZ¸½ËÅN ãÆ ^Õf nZ—(¨PÖÌþ1lÃåWQz™.À¢Z> Ò;FJ à£<î¹"ÃêÜp«[%Bª5{¥@¾.Ï&ý^­~Ú©9@—Ž× Ê),oé7Kmƒ¹*Å¿`^tZä¼zOÂVh8t²ý5y^'NÐ~m1 r¦ –½…54ÛÙZÂWþÏÒÄ#nE2,.CHÆ&òt§´ÆÐ'œï¶dláìÁEŒm6.BHê¤p½L韡OŽQl£ôscˆÓJßÖñྦྷÇŠƒµlÀ4ÁLò• #x¢%¨B2pø$ÕáÊ·;ÚoHf挹¼ÄRi'/A¶ µî̳U¿Ò…°7ä¿eaKo)$ë¸×5F qq™”ÄÖçØt(˜0N¾¾[=G3®å[I+. Ò«%rºa*=&ÁID[˜U”މºœ„°ž¼§R&.½?P—‘l2§›)¦ßNà‡\m!V E)×0‡-`¥RNœXÖãŒì,¬å43„}myUyÅN¶s‘+Ö*z/±Ñ }ÍþOöÏ_ÔsÇ„g7 Œa©÷¤³ãõÌËÒ¥rí‡í  º“ k_ÝKÑL.ÂL j›ñ¤Ÿ;ú“룠Ö[Åš@0}}M{¡Qü,1¶76‹dáÚ+@7’ƒÕ¹¾nøp´e*«P,ë!{Á$išûS¡3›ª8ETÎ8nÒ¬JrÚ¥»33Oî5®‚k”Ð'-û¥±Fö‡×«zDûdØqÕάÊ^]½Ú—h ±­ÎYÿ—–“¼‚Ž{±9:Kžo?Ï'8UCÖó÷¤ñýûÇÿí×Äæp!㮿ŸÍ*':„Œ)Í•¿ YL¢WÎ8E)/6ø6,ä`~öûd À·ìôêÁÁÆÃ¼•3¬Rz£ ƒNq«¦I£ôkGÞ? 6?TYŠÄ}èæ©¡»¡³ˆ“duߊŸ‘)üÓš0Xì›o–(ša‰õžd.‘mùw*s>uü…ÅyÛòA‡e‰·ÄüöñvŒ 9»'Á9}ÿ­º÷; …µÕU=ábcÃ- É<$ùHEªñ ¾ÍDâ:&‹pff×4MÃ5Ä›±Ü9 ‰£¸¾Î4†*ć­úsšóôÃàB-É·yo+,v'^A fRB>ø*bí&Žð ÃV]²:xA$0³¢£X$-nMY˜ØR]¶zùº™®ôƦê ð—¡G,Heƒ†~…bµ¿ØZãNcö¬Ê¤`±ES’gúîÆv#I°ßíe@§,=’ërE ¸qmªÂÎþîµ}nÍ,Q©¦¶À¸’íèÂT«W0çT&Û¸ƒ$·=A¡Æ´-%Äú[—,á+niàþηSþ-ž›nÑä¥Ú¸Í•XuL“XHÁñ¡Qéï– -|õû!1“¦b;5¿—ãªåE h’šÄðìtƒðrúÂfÈ-öѵ{áIúfkÞ.òbþ§"H¢ü wšeŽEäZ<‚gá‰Ëô6Ä[.¹ö•i™àUøÛû^f N‚M–1 {ʯ¢m4ã²£–³ÝΧÊóºù¢†73ßb‘lP²‘_uÊ£i¨=ö³)^¡Ø‡nR- °Qþ‹ÇëZ+d´C2EéÐBrÇñ4±³0z<ªuŠH?šfŠ©üÊP îw·ÍÈ ¹ýùL[jBWp¾~ìxX{"œ ¨o*°"*ânv-£àqÿ·„èÌþ/¥â”ÀLÄs?Hý¥ååÌ3 ¸ËOágh¸aüæji²µhû)Û ž•”5=«š¶€î›1Ü”mã5ðX‚´žÇZ~s=к#tùÎS„ŽñL³Œa3¾wnUç HëuAs'$/Là‘'.6¥?¼Ô£2ûô?OYî¨Ä û…ä8PˆécÑêŽèÏRìL>c³ˆÇ6ذ±òÜÛidºýá[e¥Š†D¼–Êz06Þ‚h¹T¼$Œ®ÁƒyßëåuR ð5v²Õô%b²wg*yFûÊz‹°xop1eçìöaÈ]ïüç"¤}.ÖÔ';ZyÖF!;úrªðMç{›ÀÆxÄrÛJ$mÔ=+g”bˆñOà—º#qò—¦}ÛÃÈôµjj9øÛd ÉûQ­°\ÎÍðeÞ?^–~JõäЬhÎÒ€Àš*g°ÝFN“õ3UÛH±$ª~m;7YêzåïþÝôée?µ+4Ìݲ'ÁeNÝS{¬—[»B¾ÄEÈ¡w¤p²*}^[—û¢4»'BÓmtŸKÙêêÁe”‚ñ͘›Æµ«²?¡;ý §ÿhÜI¶ðÎR Ï6|N„|ÄIDñSÊçò?¤=?/XR>—R´ß‚âIw­ŸÕb®ð·ñ4‹êŒ×dÊ$\SÌ:ý)/<¼&”wÃÜ…þn¤õÙ¿cá©íßUþ·Ô*e†“…ýÎ኷¥{Q„ƒ[&ê¢Cg6%pav’wº6Û&=Äð‚í)à)gkGèÕ¿‰cÍŠt)ɰL#V/ìN6âRˆVoÌ+`Σʥø¤š˜(Ôcì5ˆvoÁÁæ(\1‘ƺaêY,W9×Ç„S£‚ºxÝD™©}Oå°Bþ(tC\»Lë¶p³HYµ}ÒDêÄTÔJA¼!|ˆ Eÿe™b¯Vª¬`¢4 GÄ/äõL­1æTDá}é3büó’iÔ‹ýÖÛàÖ¦P»e¥Úѳ¢ï~©(–"e,öW‰ÌÈ“åe‚zÁްѱoòT¯Âuž¾F~úq”ÂЋu²¤6ŒÑóB­_•ÆdÚœÙٛôބ<5ƒyÌÿ®Gˆ\¨Gá@’‰6ã©ü°&‰{G™œk.¦tm4SiA\Ì­RšE —|548ßs‹]4QöN¥BǺ”Ik†lî¹ÉÏúC´y-a8©0 J5*cïŽWÞI$é€kdnÝúþÀ¡å´A!ÛG$iRù¸¢Y:jÙ¢¬*ú² tŽÄ‡& Ç|‡¨ïºFëÀîÐå RÔ›µ;úì냫¬Û¾R@âÐáM죄²ZÅiâW&•¶ŽïV¼òTÕ°9?*±”’:xgŸòQ‚ß·7Å<tç’p È D›Ù&K"ñéüç›ê+Wî(Õã÷õÂäŠé¦oeØŒüè%Ù«L0$¹V‘9´ºª…>¥Zç+:ȃ½=E&Æ{´ð¿™Í~êæ¬I‘ÈÇ p½M·1È‚âcª§ØBTL>ý(À“ÑÍÆæNYY3#q¼ 8b ±¿xd¢þ@¿+!M/W÷^'‡ÂÛRµÚ$ãÊ)`¬×¿"§ì.™Ô£ã¬íyØ@\½õaTÖ°XušTq;æXˆ~HÕTI"äÔ¥â1h&Ê-üËùã;˲Œú.ëB¾é/íFêER 0Èý²t¼Œ^¶Ãx›áݨûÞ7„t4;m¸¹žÝÿšUèI—Ãøˆ¾5vµÌIÖ|Ýf5ÇñÖ“g¹º=à‘2ž)i†Zç.jÃÖÄ©Œ~ÆjW¤Ï{û‚<Áš ÌÅžI šçÁGsä¹mø­~3ø——g3hŒÒ”¡Í}œÅȾQÝû°eÞ¦=,dÄ5§áC„†OùLC{“¤ |Nû*ËMUü&(ËACËL¥¹”ýl¥©¨%ƒJ—Øßt~úWÆýpÚa‰Ú³V_aMÕž̵NÐSE…¬j5Ò ÔÊoF€ÔP4‚5ÜÞ‹›fdÂc°5èurz:¥ì7(Œûf*ì·+ÊKÑmÄ*«à S»ª6`Zm ´c+Ü,é-ÎL@— L†Øòpž[‰A§-NÑ.Ûk¡²ô~!žp|7s{y^ËW21“zpÐŒF/Gå$ÈÊ7Ø k†ÒÒò½Ì#â)«’žA4ñ‡|Ñ][öÔTjBšYòÛ›†¯Ý–;u”=É›‘D¯a/nz=\øÁZÃjüÔæhj>H9=ŸÕÖæÓ‹³gÔt?jAl~…h~®!In0­UŒ³Àv«•¯LLŒÁ9îßÝ ÷¼Î†æGv.uôG“Œf‡û"É`Å¢¾»ˆ7eVwuQfˆk18rwvH©•]Ð z=lÌïˆaþ‹H–¹e;…Míl‚ gg>ÕNu×;¼$^³G¼ì¬èöZù3ˆã–T[êl’åÊ›cKXÕB „CzÓʧ%ÏúìSëžO{¾® ¡ /º‡F›ÑxômÝÑ^2ôv‹à~3†[÷ÛjD†‹ ~ìŠ9ð¬ªdƒH-é+á`ïw"›Þq´rÏ yHl_ËwZ`;ŸW‚0J”x¸)ÅÀ|Sm®Ò“†/ìE”­‘ÍHìIžÿO¾ydÖ ¤—}O“ë“„¤i½U„2­6\¹² LÀ }û€¸èw‘1†»hú•Š=VéjŸhøø·}žÔj\è5 e,)™çWAݳ|¯­ 0¾hN4Gk„ æ !àÅs€Ù¾ât,¥9UË}®ê§ŒmCÜ#råäQ°§Ïœu§öÈßk9§éÎ=Ž:gW‰~-£Òà‚×’Ø%Ç̤óãh¯{™+gdKéÙz·c`È CòÿâOÁ²’Tª,Å ÂNà–ŠŠpjŠ‘Obió“£÷…Nª+TGwI5Ò€·iY= Zx^1± z‰óú‡„ÑІ}FŒ¸ŽºɆí’+û¡tWÄ´äkäñD gêv¼áÍV„£Ýi×áVEÊsDLÁE™P>–Å–UÚ6D™Ìõ\ +LqŸ²þŸ]ʼn°u¾ÊÔl“N…¶~&,OêÃÊÄm1‹zƸU|)r>Ÿ®•áR:Ë¡Ë8Ô>?‡‚T^jYG°áþpih"È-y1Ô:$éÚò´¤sa¨v>^ôeG.øšÔ×rŒÆ(ÿu×DîŠ ŽÜñmPÖm'n‹eî{¨> §Øÿb’_Zù¢Ï±½ñî-‰-@ÌbÀ|MÖí{Í]à“`ââ±Òƒiíº};#Ý¥ëÒìÂ×½ £0Ý!…'ÆÀ¤L¼HÚ–Ç&£¤íôQ¤¾Æ,çQò¨þb+ø«{0 ë-mô ý;;£8GbE•,펊Îã˃›¾-0ωŒñ¥™gËÓèé2KG:ó~C9Uàb»Ô•̇¢öd0<«î<$:òÂæ‰‘ua¤·sË#ïŠçpîØÔjLá¤R9·ä†Ðð·^é‡NT„ˬA7 Ÿ'ؾ¦‘ï?öÔÜ‚n0¶V”‚ÃD¯÷NÑÖ?óË…æ—nvp.*´µH„b˜ä„  `ß:•¸û9Ü&Ãf¼³5!e” ,°Š¤ôÞîIpjXà¡b1iµÄæÖŽÈ¢:7È8@¥o>—Z–ÞΛöãËôÄ(bÕ‘;“ÖûÀÕìIÎ"Á·/&s ŠU—½_&£ÛTïÃaNXrß{£þpVÍä­T\7–E<2hP˜ ’v^ùÃäxØéÖéȼnüÜÓœ×â³<•Ö‚iJ&ÉÞËL"m듦³UïѯDz̒!™0” ŠÓâPŽk‰•î°‡æ}:ߘè‰gø8rßS?l íŽ_ŒOM^1þ¤´ÆVÎ¥Dm½íB®AƒÛlWf}Éà ÷šá‚fœGCLΗÞ«Ä·É”22`%Æ“ÄT۵鹤‹\j–ÂTfñHhêû ¦‰u×|¬JŒ:¯.ÏÝžPï¡’qï )GֈϮXq×+Ré¸âÝt¥M†Dp¨æò6ó73R|<ú¸P;ÒXK+ÍPÈ¡}ÚžŽú UÇdܼß(­­¤¶Ås* Ö½¡¯9J.źZ³‘ò‰,\"AŠû cL‹×·˜,bB̉Iü¼ÏÛFü1WJ<–·êå2ü€ÏÈã—âº@…à ²_„Â$åî£ôÝÿ`#(+çºÌc{ÀÊÖšôzIG gÙìD5¥ì¥Ðà>pøhukÉiEˆŒ!î,ëSŽ„ª)vòÁ"wGóŽ£?©°iܧ;FÁ-e¶•äšpsÜh“¯)?†¦,_—ÃÂÁëh’4 ß@ú‘:ñxš·Ú òú›õn,$¥«ô‹Ïa^w!Þ¸;¥_ûmî*ßô-)ðÍà] êþ0€Úú¤šI¢Í‘ô¨”M^ºŸEÂ{ï':q†*¹ ¦œ9B“«¦G$gzº„G¯7ɯҘ‹)·hàú,c1x´°…>©‘©kÆš”#,R›_ mÜßÕä»ËåG‰¯ •Ä‚±<é®d#SÕ»ú¥pXXÀoÁ®MuÖÈd¢"’ƒ+X!·¥“¥9u½•JÝH_üÄmS8o5z'£ç¿&(’Ÿ¹½-ëºéMRN~ŽÓÒ‹‚¥¥PW»Ö2‘wôyN8÷É4̯â?ë3,‘^(o•"^[ÔÛæy^‚ªúdúIÆÃÔÎï¼[ѱ!וJ‹óÒÕ<*Æ^ÕHÏ;süxö$'HtPNÓ *Ù¦lxJRy —(¥½z*a+ TY4e?F=h%óÿ&U¼ÿúÛQ|Ž¿õ˰»µö`)Xe È…—4w¬SÇœYÕgÑ>ëŸXß}óEl€N!a.Fˆ‘WýWeJ¯·G»[{.ÓÖ—‹¢ÔâÕ£m.§íåºç^Ñû݈À¢ØÉÖÙÛ£öª3Q[±äVX>¬L i‘)—Á*˜;,m˜oZ3IL2Ò™Xa¯`¶]eдé†a‹9?h¯PGÏlá3/%ä2Ä£„6ÉôKQh8@?$5,zdÀ8µ£ˆâWe\|„;»L3ä†Ùð¢okM´ô6½Ô:dE1e*'ÔOê/i©³½9­ &Ÿp½3ÜÖ:›Üß(2ºŸÒp ×”^=“焃²ÄÛtV™¯ƒ 1õÚU¥!Á¤¼G"Ê\eª^Xᘟò£»j %L½Á4±ËÔSìú/¦ñXª»a·bæÎȶԮI°±ûófÊ&9 º^ê®GÒGP_cö]³×h{?ÁšµêÄf`s‹êP‰E®_CcK‘~:#™ÝMpÚî{@Á>Áe–þ{qÈ,BZµB­È“×* …~’Ô† ™¸L²Ûëm7Kv¥„«1)xNj§ì~S@äÁ§= ‚ެvXšøØý“<XWoÕ?ùé Dÿ5¾`:²~0Ôe7¯?žÔŒrjW09?uý4)“·Ë$¶U±k6Uâ!SG1…Ê yjZÓjȵáþ†¥äQnnúÊdzC‹ÒßèŠ3á"`ÙŸ,'X߬š•§wvüGõ¥´`öAëõ+…=Ô&íž¾a£øöŒw  ‹'»nT¾Ž˜eÊU¸íÖ‚àF HÀîÙµx‰.“ç—½ýBvÃh×ò\ÞP }¢Ïÿ÷R¼h-Ø!φ8-‹N¿OË࿇+»ó†½±Øe»^’ŸP}Æ;Í !öí_tàV-–˜VÀ¡Ú¿B¢×>¼‚C¯f˜½÷Ž¿Håùm•…2LHÍõú–äaÄBù ððìÔ:mS· 4O ò5ôçî»ÔÕ¥Íà ñ¡+“L\G+=¨”—§7Ú×~ ôMÂ&Ût¦;~º&qƒâmß¼¤?™ÂH¶ „9ï04jm´²? ¥ô™5»›¡´˜u\Òš ²ð`¼ÆÇäûäàhô«Á€t#üOÒ±Y~¦‹øývø®ºª¬D|vŽeo¦Òp*¶T[ÝVÿZ®¬ï5’~LQ)¯‘QÿÕy M¦@–ò-]‘_çP¡†Úp%ø96§‚…¦šDœÅŠ?À‰ñ…³é/©~T*yÕžm»»^Ÿ£i1u’€¹¿±t¤‘=ë6Mæüã9s&îÌ£x3^͹1µ¢º97†LüFÙ—ëqJª'ðvS uSÎu„ NÆC Å¥¯•ý´&«„u°÷~Ε6›ŽÉ&ð%˜ÅawÒ7½p´Ëpƒ˜‘bª{…é¾28˜ÀÓNây4“™ö&ºæ’”â9Z㚈Ϟ4š “´£ä‚›’Çz³xZ“'9Iw´ä”ôBèÍò9­…]®þŽœƒ&½¨‚[À£UаVŽ~S¢ÐÎ÷±ê°jjCÔÏŽ§G7jCi2­tCâ$0¿—o¯kc‰ÈD h‚î‚(‰G²¡"LËõKƒ,WÅS.º/MBíB®ÞèJþ.O7´ú.pAŒöè¥Øø‰¶æá-3ÅK\¢Ÿ»;Øé p‚ÚÕ‚[oÁ6•&CcO®nb__Ñ 3_àPªib9»aòê“7˜¿ƒŠ“p©pxØü"5_ i3%úC-÷À Íôš{¶1(Ëdx…œJ§›ì°Šl¯ÖtÕ.ƒ¬ó>¿½ü;,ÅD,ÆÍ0£¥¸øvîÃÍÐÖö\bß}æ)íŸíÃû°o¢J¨×YFúBÒ« ñsô¥¿íßãå÷‘Qµ¼òJLÁôy@4%žb ¹Ô?ð ߪó§d³šNªÈƒïW½\µŠ÷Ûö¯1ʲQñKì¥@ŠéýtR7¤˜Y­É¹‚ f„d*Q¡6%£Z¾1ɃZ€Èý"m–.!Ðôª+¥âž%úi'©÷;˜«=¯@Mˆ$ƒ#ŽKÓps˱+ú|pîò§ý°+ðK_éãXÙ UÈHd Òýû cxÉcG!½Å÷• Í€Vsjì Éëôcc¼º¿N¥SôI¨à~„ç•vïÇÿÄä²C9Å\aYÕ†)Ȱòýðu™Õ¿ÆËXB Õ7d"¡AÊW_«”’W»éõއl=ü?h9U©B¥×Ú+ Ûí¸r³òYoû#jÉ‘ h8±ƒÿÎ&1ü}Xè©6Õn“b(G6úêBOäÇÿ¾@¹ûÚ<þ×?Ä÷ï2þ }æFðž6Ü•³>]kw‡/êõŸ‰P?ãÀnÅÏ‚)Ó Äþ57ˆÑméäÓëÿoÞb6­µºJÛ1¤uL–؉¬>$(€P¯tº8kÒg*ÚàC™Î;cÃÒ/{ÿê#Wó`ÎT:µò¾YL™Tg£¦å,¤ŽhBÊ Ì6?u«AŒ]5žŠþòèVþï¼W2¾DËÓÜ#ˆ‚í.ÿÉ ݾËbº÷µÙ¼i^Pì³ ›ÒçúÍßèq¼£+РÏûà?fì ®GwFIÕw}ä—)‰¬][k5úXâY7¸DÓ”Âú¶ $ð3§C+¿6Uå›q“)6*<—d/ÜÙQ}%ÃÇnW9AdócÔÚŽ=ôÒßš—ÿ|ù0"ñþ`öÜ/) #õìàÖaCèÑö8ãrê1wÅKC,¤½1¨Â4Ž “•˜øÌ=q¨/æÊ&€¥~æÿ„£Ÿá¶Õ Ðvÿ~=WtÄO²™íBcb›vÂ¾Ž’7 £_5Üå†VþŸêijêF#êx³«dÓÃÝüíÁË D®0F¿+i×=9ö>V!¾Ö÷òƒ!@ ´tñx^PëBUÒlåðâ#ôµì±s‰ÿ¾%ãÌ4N21T °vÂ>"¯Vñ<’ýyÛãBR­Ñ;ŽöüЋÙ5ÈÏ2ÈÑ?¸X+ßp7csþlÔl)'.Õg)Pñ‹FõèM?Ù{Ç”{øØí ­d~ŽX¶·t¼cåjÝ ?%,#ñ8J¦w¼Ù2T­UcW:£4_¬°ð{Õ†ÉaOïlò¢Jò‚%ÆÃ´èI¥9lîN¤º) é ÄCI¨Sm¸¤@$”9;¥a‚Ñ?Yû;+ÜÎxõ”ädoï‘j‹¢¢ÑY{̺(!X_r˜A[ ¹"IÀY¼‡èEý€Ïß™®³\àE7ž¥ fÖCX’`zS¤˜;¤Ø)Ä}¿Þßr¨ Ü*Õà:€´_ÍÝå¿ —u¬çfå‰t÷&Á»Èc'ƒœì\øúYÂ:èÒf¶ÒZÃiË þ¤ðÉľoè—ÉO×jý9 JuA7çÚúÀ›Õ'‰ÿ`µÃÙ7ÒK°wªº;&©ŸÂf<ÍåÙYOyÞý0+¬¾ãƤàA¤<""—…ÏtJ8!OÏd)¾ÞH' 3—óÙ}Õøï3„Ž eþÜìz/ ©HüÓÚ#ºŸ‹ãgmÓ@qeÀeͿӭôY' Àº™£Õk÷“Ã?.ªp—Ž8øl®ÁvÐ)éêDZHÆÛB}ÈX™¹M½‹sY"9¼¯vì5/ÍêªA J L¢\ÑÝ;FÂÆƒ>5jZÊ3÷¹ÂO™üž H†2”æIR|ECW÷ ]¶õ×øŒ¯#X”]Tf=M®_ñ)†¼ÒC (8·“³nEgÐ…õ¡îh*©þysJ8P1õëíø¡ŽÔõ nw¤°Êï#ͨ8!zòlÐû±yùK(FfGU§<- 4m¨åÛu•øw³üþG`Ös:Œ-·„Nu•Z€ýáÛ+u^ŠòC9iö5ÛlÚï[³3ïÇSùÞ¿.TSMoyfÀèå·`}ÖÖe[ ‡£ |ñPî™åuèh<áÏñ6»JÉè¨;‹úÎçnÛ¿VpVêƒä“‹v­Sm—ê¹Æ Wñ_Ö[_ñ *škhhÊqc"#A@f$êw±RйìrÆ7gàc.lDZŧxXÌ)]k#ZĦrç‡Æ@õѤðìõÌÚ¿qe|£P‚ômÀ™oq)“Öæª§å•£K,?jÂŃ8T‘Ï/—âÒõ5©Ñ…Q­LÆñY¤I"è¨?ÜbCv4•s`6-ï*–+› ÄßÔá$qÕ[Ùã=ÂÆUj)Ú”jÁ–™Ô›ÕiKÝÃ#äÈTg[ö.¦Jo¬>ÿã9½ØéïƒsFU/ Õ£#øHÏy[´TS¬ç•IâÒâb¬ÈD-‘Ÿ•q^”uœ(IbBÛC¿s2¡<µ‹¿’º\lE[ÚSIõñ½ˆRç­LU=Q ¸°hï»INé×ËO§Ë!I3kÖ$QÏÀ6’íj`Рt5yR™}vÎ9èX™”â4>ðKyÊ/I¹ïñq"KY¹ÝFYÊå&xÜ>÷ébïÞÿ…\j8@ÇgnG(?´f^ó,UpSÔ¤3Y*z/ñ¢j®±\3Ø~{“•…ñ×ðq‡‘9ç+¨ùåµC¾}ñ¼Ñ ñž× ìSÇ-Á_õÙ·_EPTÁÐÐÌ' 'ã<Ž¢å£ôžù–å ®»ÿPSŽ#ÛÓMl¾®V{M9½+ˆ„•zëâS¿’Ü!€µ\¢…‚%W!iµ]KæÝHÅ`øÎxÙ ƒ£Ô§˜pX-fX$ùXÖ1ÎÉİU¹uŽ[#¡XÅyÑ(Ã9g/ùG sû\¿Gý; "ˆ º”fÝ=Šì?)ôådj€¦ñçž¼s#ۜᩉqºH²P€ ݦè P*k€üqG[^ŽXfν-8k kÈ%!ÏÜ$š'¼c+œÒ_BµóÎl¸/íÅè¯B‡ã}Z9Žó#»ïÃFä N¥ûŒ1,‹F?Ì¤Ø ‹BT9Ÿ/ŸR9ôž"*þJ‘Ë/l³)'Dv³QsŒ^¨4½Á­jw¿;•W^´n…‡MH«LtËÒžXÕëb RÁŸ1ƒåڌΰnôJeN‰b5u$Üú¶9ÍmÂDGäŸçµÑøKÓ‰¥&MR»Jý°&4›\ÁücíoøË¶å㵯ڇg˜Xe~iÈK7§?W{Ù&EØ= €­ÎA4¶hI=±\µo^»™%®Z³Î Š\J8ê½»dÿK­QOYå›ÛGæêÈ8T¯äÄ]áù0<[0\°UqˆÅ =ÌÈÅQRåþˆî4‡ÏÞËH¿H%Œ0~kFXÐDÛ§c·õg´GRJ™CŽ|Ç‚s,™-rý^tÞíòÕr¯â6,¶šÛÇìM5©©áë›.µ  ]N©§u»ƒÙñ™ìHÎïqŽy<è| ñ°:£ ‘Ñ V»1§Q™¬„¯¶M5'÷K.~Zà-/ê—êÆ{l¯:‚:¢ˆ:ÒX¬ºEÒnáË-LIEjqpèËàá˜vw:Zþï^°•ïºG-â·r´ƒ¶m)}«—˜T©›pš¢jÁ…'ú…R—ô=åijµ‰u›æopM‚Iàræ—×¢žÑP;Ç;,ON]$'¶ …µ îR ‰µWs6²4Cì¬Ô„§Qt©ó^1ß·6=\ÈâŒ,Fz¯-’ò£ 0È[xï”ý·dm‡&td 1Ÿ‡ìÅ…QV3Ö˜{ØÊ¥;ÿ5ƒI}¸PœdÌJ±ýó/× w÷Üâýò²µh\/@ï‡RÒÆ“|­~Ú« µp–‹ç§h߉鎗U«ýCýî$xÂà$çæáwçiø¸dx0dñ·Í®„A›üà%•ÿX›…‰ØpãÐìEêó©>»¦ÐÒŸñ”Pu´ƒæÚ[ÌÙF^ŠF+Ç&…ž¯¼wrQZýˆ@ÃÇéa(¤µfBaÃ+ý5™ÅØo¹'ô«‘w4½Î»Y©°Nv2.)ùÿ{1³Š5—VnOÞ»_þ@7ù*Ø,m/¢ØCÖrû %Z÷¿Ð:¬JY†EZvŠ†ç ­ñ£?ô¾K“°Ås’ „)i,¦L0riO­1¾Mдç]ëÕØËÛ‡®ðüÒ[P0î}´kÃkl¸É‰÷\ëƒ9¯ OÐ7`9Ë3‚>þðÿtèäbß½¸óJu\[ WÎ+¦ÖÚEã›b]IÌ {”0i[ø¾šAûCv"IÜ':VöØñ“=¡–ìr`3R·Í]W„^È\¯ÍÞ(¨@^‚f±ªÀ`ŠUâ›+Ižb^(Ëö½“mxo_²Yço,¨°Ülj“üfV0äÄ"+-ýÏÝcçho¢­#+äõÔÛàÝJ¡žÎhf“xSzÍZ3á&Þà ¨ëpd‹`2÷32V¬²V䯛VžØ&6tß8žVå<¿©¿œÀâæ{k¬¶ðùNà6¾µíËSJåÑ}^HØ7OVض,7h¨ãS1qGAO“+Ü •”ñØ “‚ææò=¦ü÷jáTIÙËîúnå$â4®â@̇ã¤Cƒõõe·¬È•G·-šf€½@!oñƪä’ë¾!­ëøx4¬ÇO´‡¬°|UW[[zˆ ÑÎ v=³“v"Z3ô`2uoóÁº{¢b%Öçƒ'ZyŸM)KšŽµ‡³•:,#¡çËr—/ˆÍøŠåˆJònÒL,³¤•±ƒ¼-ÿ©;ë.[«e<[³ rQ¸Çýh±Ÿ T>ƒ`'$–¹³¨¥šwE§T•¯‹®'ÐåRØò¼øŸ±A¸Y4ýÓ¾ŸÀÈ×¾Áü"Å®xŠT*§Wµªíê¶‚’5ËÑke_UWÓ‡g¡FSÍ:0.ú<ÜÊš£öHÍcø`ûš«íKVA1;•¦ôóÙ(ÕC™?‚GGJÜÎ_(ú©±"ž_y‰û®‚Ô ŸŠõ òÕ¸äÚõ‚=ˆ"ºŒ.o_9$ ¼:¼ß¢¦ •‚LùܱlŒ‰Y°* îÎÏ˃K½ÙÛhFý ÿ)þib.ÛâH„äÑñ”_ìÜJ€”ýêã&¡·LÿËä.à©sLÍjŸ§xp…[Ç©â:, ë1æ6}øÂÂî!ê¯ÃŒÊ`ŸÆvRz¶Ù…ÿ­°+ }¤4žÀËZŠßƒ/g0/¿ú™“C:9·>.UyçÐÆÎ<¦Ææ ‡Çð1žã0áÁ©È“/xS.gco“€Í¡rŒ^€…3$s& r{µkz;ï¼¢~üö‡H b7¨Œ÷zº=YÌ<¢²A "hÛå›;®ò—›‚Š}›âÛWYßÌw§§šª¡ókVÜÚ>?@è(ÎiãpÜ®‰|ËûÞÁ™"æqc'Žý½¯À8›ÛsBʇ¥Äw\íö·ÊRgâWЦmŒùù¬g{X Á1¾•Ó­™›¶ôñÄôü‘lM4¸ÈšÑ¹íÐ÷ëVY_ãXöo†BÝS2ÊÎUbŽÅ¦ڼÝ|d]“¨ G„ ]È8ßQÎÚ:‰‹•¥°ÑîÍz£[»I¡M"³"”™â¨_îŒÂóöþ øi;>68î$þOKhéëŠ[žö.zË<¼ñ‡û±j™ñÙ‹õÊYµ;6*Tmƒ‚¬I¨˜¨îºm©®£Î Å® ³»΄h$ \ïÀÊÑè.ŧÙë ›2ìÿ€*kÃYÉ@inòpõ_¼½üVpr^\g4œRË{Œ+Yˆx×±¿@ü+±M¾³ ‡v? û>óJ¬#YmÙ©}7nÎ+»$ô8ˆ‡aK¤¶( 3Ké`2˜ž6©¹¼"Qñ³k¾F‰}x…PÍ{Û‚¼À+ª-òO:<:g± 9T«ã%½LIµ<£uÙTLý•è3 Lnü9Ñ+²î¬Ç DQª[-ańث&¶×mè˜Í®b©²K›Û$×Væ"¦€kT\ÑÕ»§'­ÙÂW¬YfNEÿ2yùɸ‰ì­ŸS˜çÔ&U]—¶âU´î¥’j‘$+DÈ×]IêJq`p11AßÔ&êÿ-ü=T¢{Ô¦ï¸.çC›NI€dKNs6â¡-léǰªD`ãÚLÀ2!2e:{ûÏ™E÷,¶Â¦)8vTK ]©öx8ôtgK*—-ïÐ5Ci_xŸ+»É%¬®m"ã²»öõÏ×ÑŸW0úÙ$.™!(…dšòÈõó­D:’¦n×g0Üms×0üèÓh<Ú |ÍÒ„$k$íûqLÁ¢FÈZ:†VDîRú@]¸EOs\-¹œ&†ÑÁÞi‹œ€v‰¡Jl«®¼rÆr÷Hµƒx³–8‡Ú\y%^1:N‡•°õboÞݯF9/8{oß+ÆïÁtáù+~kv€/„¦R•LO ¾vOSòFOiO=Ã,0ÿ»5gJ× ¦¯%¾ÔXÑ(fùÁÕ}v8BùøÕH „ ˆNÏ PQ®Ì©E­o~;wEN+›-ü:I´IÝÁk8±„>Ùfaæ¶Iâz0§_Zü]ʰ窳%#´ŸWeS 6ïßÒ¯ÎðPyFTãÌ?gàb’˨Õ qXgs˜0 gÔ}¯ˆ‘_—›ëÖ7-LöózÛ Gýî‘×@÷¦ÇFKÈBT_²`x¿)1»]‰Œ™ëlåþ4iÞѱ5Ö*©pcˆ[T%yŒ­ìÌ ‡Öž‡ó§ò»È)_@CËŒ§‡‹Xò]wDù¸wp¡A[ÄZÐ2ð„úimú´ÔkÚ앳,–qMDÙÿè%ñ…<0M³•ûX¹-M–-û`Ânžò³xÎâ½–äX!YmÑ>­Õ|8FãSjÆNx}hâð¶ˆù¾[l×W Ma¹ª¼4Ü7múZG„&ÑvôS!bkœéG'}3´P<»àDÈÍÔÂëž_Uè4êñ`À¤–ƒY$™°š$JƯäÐÑG.R³£v'Páðnò³›Œý”uáø^;+‘ÙŠtÌÏb²B,¥uÇâ<啿H}_$€$ç1œê#aà_˜¬ÄÃQ6TðRìf%‹0AÚõ|弤3Åqì(l°¥$Ä'%ÜÍà…⯾Š,¯|¶VÞñJeŸ:q&K24³Ð‹Q¼Ù rEž}øu"ÝùCnÞw-raPbAýh)ˆá¦Y$‚ëvz7©²ßuä0DHÖC>v•‡ÍÆÔR“ZxW§Çð/¢ê ÃfE í8Á̯ò®­‘ÜúÁÓí:]l*ýŽÆÝîLYiPó&ȳ[ÌRôÝð kåM9é…Bg=¡•´¾‡Ñ9¡¸«ûú_.:¥ÍÌÐçk¦Wõ ϘßΡ=O†7-úW Ôþ…:ƒ¶Àâ2rÜB1ùÂgA° ‹|…J2ìÁlãhïËÆzŒ;ÜCcË´/ôl+¦ºú¾Ï®Œ†Rå ˆ÷S¯5š$qö"ÍÖ# Ba`f–Ëô^MÁTKÕÜšÿðA´lãÿºGèìu¯›®fâ«÷'|A;{[ÐϱiOç(…D¾:·V=p’Ÿ­Ñ˜–}RrU(S•8 ÀÆýî?ÂX ÛçÜžm ५Éã‹@€·kbG.ùÙIÓž‹‡g„É|û2¡üNzÛ5ü8jŽœ?Âul¿Þû2ÎOxŠ“Î¦²ÔèúŸ¤AºµÜŠÈ)ý}uí_Ú«÷ˆ"ʘ뮡“]³XñúŸ U‰ü¶QÈ8¢ÝÕÁ®m—è–&'H¥ÑŒFÓåq4ZcExÇþ‘3\{e®™&ÙÑ(”Š­í M©iªàø®5ÒC¾8 ~²LÆø8¾ÞêL÷É· Ö Åá%êWì>osJXØ[VïÐñÕdvL…eùê] Í aÝ-¸%)ŠnrÒØÕ? ”-Mòíœu€ëaxԗϵ!Ïïk%Эm2wC£'XÊPÇhþüJ~bE(ø0ӷΧsŒozЈÆp¿€Ø DáVr)^U÷é–\ äT¹@M›:¶÷ó<‹Ô¥ Éx©4¬ãJÈg‚¨8b@„tPez\8Ê)€ÌMªj| r¹¢¿œø±«½½âå=ÌW'Ÿ-emΔ…Áêoœ!W·1,«q{Ë›ƒø¯ªµ‚@Wxþ WááA…ÒùXï¹T® »¾. dþ^G»zÆK¬»“ìû0ŒveŽÞ™˜O‡¥@E¨5³“_LÔ|–‚rœÆ ²ˆP4"”ef)ÐÿþØ‘-ð0C‰ªõœÉ€Qlþû%NN¼oÇ. ~V,LôæÈŽ q;Mád%‡ï0ʻշEº¯oÙjpF-¿8.ÕöT¶øò(‹¬ÇÒÛ“U*¢Í&õŸ³÷j2Ù1Î ‡yñ:“J{‰‡7xØ*7™0… vµ\°J€’‡–¦òDà)ô+<åGú+8œq1‰&HM£ëZÿר]aEŽ\H5€’)ô›²JÂxå Š¯UÝ„V1÷}-{»±ë£§¶?ö/@•Ú¡† |ðløü\±nôN¯«—&׈·5¥Nÿ#Ï01)ÎjF˜´àåºû?œ;Î µk‹+ö/æn¢8Ùb•…œ&v¯‹ÇnO®€°%ðÊkJbþ=B?€G‚Ùè„ELz…V¨mŒ¹žˆ;K¢óëÀ=¹Ï§‡ ÁÔÒgK?ìq÷¢ªìkíÚ¬vÅk<ïW϶8?P¹Ë¥•‚z`‹¤Z?è™[=O J.lKG‹ Aõøü­t×^ݺB¬…ÉÙ» uçÌܼþ$íŠÈÛ¥ÓAõ.ú²Ê7Êb̈ëìö[¾ý«Xa8 Ž*EOts%%âܘst8¤KÂÙ’²º´‘¥Šû3uC(ƒ0 #ÔœËÛ¸syΛžnN=Ô˜–O-È,sIÝ-2^Ã3 ]nW ½Ï2Òq\Td„.öØ6Ũ› ò™÷¿¯*~r‘Øð%£Žƒ~ÚoË#Šå°‚å{Ìì!Ú õhÈ«¼˜hʵ'÷|å{ •l‘V9A¯jˆ£›r èÐŠÑ†Žšjvávj ÆCÜ©Z ƒ_lLà__<q¶¶úy@ßòÝbœê'òþ³•]b 7ÌhR°;c4Y¿KtΟÓÈ;™Óå‹Ú£µô d·^3~A$dØw˜ºEn»²4r¯ü(ÆX«•QôîË6"ëä!g¬¦ÉƒðUÒ34€g µ~›2ÿ·ï™ª Ó§ùXoÚª'´²œŒÇóÛ­‹Ê––ãi˜ÂS†À"e8ìV¥,üÓ3¢äR‡ceõ`Ca½XK¥àÌ)Ìuåôž-§ÃâÕŒŠH=/ÒŒ“Þh±#¿ Íùøàžòªu$0 ˯„à¨~ã‚‹»F–$…[ÌKÓF³>³à‡±¯/Î ƒ±ÙÊ|Ÿ%ŽpÃ2·nÛG0ÕºJHƒÜI7⾌ì34åÔÙ~Y”å"Ö…Û‡[³B"IÆ,-‘ì„ÿpU7dþÊ—©~L+¹PqÈn0bµ *aïu]ë÷$\Î&s挶‹®…oJðû°cï±ÿ›µUw <»Ôy ™<Þ¹ ôÅr(6삯 .l#ä\¤™+·é‰ÂÿŸ0™Ùð†¨O9xý´B4Ò@j¯1÷ÝÿHÿ‡¤|gY0`Ÿ¾”tÈeT)ù‰+x>FnÕ…×úÂà„œ>ñ•jÊe<ç_=ØÀ9‰Ö\8ýîÜÛ_êä 9sêPž1Uöä¥ ŸÖijBDèÞUö¥*½þ…´IÝÏmBlŽ`뙌o>áí²/íº^6Ò¾Q¥_ëyüËÔ½4ÏwI Ò 8®´n54ª¸$”:’}hJäå•_u0¤Ó5ºŠ6ðU½Ñ^¸#SxÃj¢É/‡];U“¦¥lw£–·]쀙Öl‘J=ºûS‚¤×´Ü?õðªNψÅÙè°ôÿZΗ"2)i¥9{Ù€•Þ2*JØ5æÐˆIˆØ×ªäK…ç½&{üþKìgl™¸’Eî;˜â¶›Ð\^ù%´m¤Ò+(ÕUï’Ãe6^ãíRŸ«òÎw\;–ï²fTW‹ý¤ýe$ÑX jˆB‡ÔW÷Ú‰\¼â»sÁ/UÌ8Û§&,QŽÌ¯S‡hM^gÃqjÂß"Uî´ïè »¢’‚ju±ºR §+.Hÿgâ°;$Þ {' ?va»·%ˆàÒB<ÚQþOo¡DãI¼´c-h8+#:Õñ»AþèÙÛÈJ”6)ò†ó%‹Ü¡M¢ÃjANÙ}`Æ`hZ7cU¼vÓµŸy]^N¢6lt~N¥uù—c|h³\Á}IÿæõpVõÕ¤¦êj@¥H„Ñý¾á#ìXƒ[Áp޶¾úÕ2—KfÝÌ©ð Ôp ©“Œ&‘Û$­Ü ¿¦yÚmº2ÆÌ<¼yý©ÌDhÏV U‚ð]\.¬ÕŽðiºÇd­¹üÖ˜>>ŠJV6~˜âñ³Ó\ ê Iº½s´D¥dA b!8NÖ@„3-³èˆr¡^§s{ƒzuÇðUݰ6Y Þ)›Å‚êò%ëbÅ¥’eSì¯7N^¦Ne}&,õš«CM·i$b‰ËåÃîoƒ©½ìB‡1´CH 6åÕÿ¨& à¡™%¶ë¿^V<‹5e¢„ÔµYCœ55bzØj‡N— ²ì›á™ÿg“`'‘ø(ÑàL°>Ú†ÊB×é¦(šc Âm˜-FŒX‹ù¤ñ#RdÜÛ°ø£´Ó4Úeær€.”£šßðo{|f“2p”˜¢4ô}Ó('.‡ÊÍ^Ñ-·íÞ`È÷VVpVbÏþÚ@ë¹ô±$ÛPqZûKœÇ3ŒÖ/ªVI²‘w8Ÿ“<ìP"éf8å§z½u{¬p S?|å›ulíb<È•¬Zg£êHc†€–ºߊ©ö–.ù3bnÏîRß\ELºO`À¿9F—lùÝÇ8¯lÒðêx±¨FŒŠm†Ír} Q£„uœ@Yd¦}ð›B[IŠ*Wc9ë2]!&nIkµ4Ç,¥ˆ)_J4fq‚m-ÆŽ\ó=Pì²ñ¢'ý‘ayøî…ršF'Ò55ß–|$n¾.ÙùRûiáÞF#Ì8^ß Lrm 7›’¯Õ£ûŒ*i÷øáü7lgwÝ*„¢÷–ïƒ}lûÈû™û@)Æßß8úK•ŸFðnÚmcµ2h†MÇkÇeë¤L‘põøƒÆùw?"êÒÙQÜÐa½ô*ô{z$‹-µvõˆ9Q¢9Õ]¤èQÊq™­ž4ÃÌØî`ÖŒ±ÚÜ‚WI˜ã{äæóõÑ·Š\JÌ×€xàÛÒ”—oý¯Ül Ê•-™B•_Xp’÷Q®(‚ Iž®üi&s^ƒ’6½²ç°ÉõHKlÕØ,bzÏ>òð©ß¿†ËFxŽ(a‹…±#ìÏo¿ÎfþÍúã ëÜÃèâ=ócFaÒ8h×í…Þ‹Ó-Þ°Å ùケڲæßïaRÞwãÀ`˜µG¿¡±o> -i¬‡ƒVˈ`ÉÀ#M=šƒàŽÏ=4KîÍ—\v©Ú/ê9Uò‰ª~Äš‹<‰—”3*Ä_=R[¤ì:Ø Õ½Uú[\J*v ;¾=VkqY¥:O³Ký2ž b ì~‰[ÜÚ•=¨F°O ”XTQx‡äõÊcjkêüœcÃõÓî¹SŒ {X#%ãz1À* 1ç²½^-{2õ8ž–Ý»8ý/cžuá³ýÿfŸŒ|« oö«ôúg¬WYGJÅÑoÃ35Ô¸RZ›Hw/¿+§û€PŸi…Œ.rILïH(êM¾Ãσ SUßP»ŠÖÂ}Rær<Ú[ê2Z‰tðŸ#a“U™òW&€¡Â׊TÂýu¨X˜[߇Tº'#àoE}@Ö~ùÖ  Èéy>]MÌ™v‰’yVûÐqÚÓŽ‚M'ô¹YdM?ØþXPzˆU­¾pƒ)DTФTJàc‹!×Ç2 d´ - Ëm™k:gÉKkP ñ(+Å’¡â‰L;öqHÍ™·M‚Œ…ßà*ã#“kúejÀürJCÀ•—G!@øö¬¶{G:Ü=2¡*c`7þ“Sô˜Ö¶ëP›‰•â µ ?Ô©õúä%q?Lvüô›Òõ_„’¯´ÚíG[µ‘˜8<–²>fʪÿìâàŠ–HœDéÙœVïëé©VX¹€ë80ìJv‘äJvé_¦]LD–=ÏÉ·[óƒ*ÐÊÞûòÁõ'l!‘æ|_åïgu4/å€-9Æp¼¥f-%ǃ“Mг…,~fµ0cL/J+o½#ä>Qã:&Ú9-wÔÁÞ¬iý›Ú±9 !>òŒ ä-ð1ca¾ ET– ix®ÊKù3N–°¥f(k\^šÔ0ÓÏÿÜeR©Œ†«¡A˾ždO9íDM1"})pÌE°»Ypõëô—ˆ±iO‡o$/P®#ûu×uö?ŽŸ]V±Eÿ:9ý…L´Øßk(ík`}ho ÎNSl3$µËok~¬Ö8‡íÅhr{ùMÌ&k‹)°üêM× Éœ–Õ¬ô›M µ£vëÙÄ`޶¯ûAþjëjJÝéHè?8ªsnMi‰fàXRC©ˆWSÆÄj7…>jå…²¤žGÂ%ß`âž_‡¸ù1(‰ú"8W*ßie(&¡Þ]veöÛtžÕ¦¢ðö8?vký?Eòé#ù¨6ñš7‹ ; «[ÏúJöÙŽÿÂj¾ëß?¾.·ùbìÞÆ)Oi‡ÕÕ”>s7ø>bNÿ>c³éiÛ3(Iûúu4Ê…ãÍ´”q¾qKNü‚}1÷—ü}æßnÉ2—yðqwù(‡$0O×°¹#y­«ÃË3äÿNðsÛΈäàm†Œj(ÁåÑa sWæFyƒÐÐSû~e§ÜYþø·[ȈˆÀ²÷þÆ0^r0PÀšÐLü0äÝ‹Èë&U¡«vœ5ÿØ \Z2“Ã!±gûhe„`ó.Þÿ]Ƶ;‚TωŠdƒ~×¢««´¾–Úà¨h¼áâŸÚ1Úñ93x—ÕÕ#q„ë;Nc»‚‹T:Û"Ì*^x;´Ñ© ð!Üa¶]Š ™îþν¿{lg´5§¤%_Ûþq¤U(Ó—‰•­w@™[Ðæ w-ᨠ¤ qrÍéˆZõwÄöáï²(f®Õô#D0!ö%2óG桯Õòò²»©Û¤»±ÔÈÿ—u 'ì$Ï–:…馴¯íxQÍBS·géR°”~lž=­D‡Íõ–e1â\ˆ€)'$µÐ™ãr!Ù‹<î¹møpÑÅ?ѼNñšo%`ûõ ~j´ÉBgUèk‹¦=SÏƽöŠD†­×ƒ˜‹òÅ—Û:Ó9y ï ÊRúm9Q=F^®¶âµG'®`}23BÕ=©¡Aìvzþõ¾î›‚w‰$lOm#y´Æ¼?êƒîûP;él ã ×ÿ¿hìèÉbérÀM¼õ# 4¨ß¨¸íµÔ1ˆÌqYf–sN>FŒ:½K—Þcÿ;Ð+tÂÝ«„Ìa5¿~_²+ز”áÔUÚ‰Q²übM«÷œZÈœ\Ý!ŽªbK»O,7£©á„,ñõc² PéuíîV¦Ö},N{Ѧ2°Îm×Ö¦Ö#½RëœÏAþ«œ™œ;ÌÎÄêp²¼%’j"x¨ó_¤= .‹ÒJ¿ˆ3òžúdÓ"¾#ßúEÉÇ vìuýÁVçW +ëuÐõ–¢cîdõúQp­”X¢Ëò€;eË÷VÅVæSQ‘[ÅéÊÿ4&BîÝ!®Ïö|ýJ—iR—±@œ¤V@Øï–D׫ð•»P„4ܬyáU¼ÐùÜüÁ‚Õ㦥N›¤ºëjºõÂÏ LõN°ËÆšƒ×OA*[WáT ¦øîšÙ&O@ ,IN2Tù#‚¡Áê ,ù‹,D‚Î` RwŸ~¦÷¹mcõIÆ>=W*v»Ž¤Ëù ×Äf3.ïäj»Ù\0FBY™7]æ ÉSÀR‹ãl#ŠöïyhÅ]1ź}¥–5&Sf<nÃVH³²"I›ŽŒhÃÆ}·w]¨ ‚] @iâs©Ý"5ÕÕ˜Y\£ÁsÀ ‰£v[lµt¿h¶¯‚0ÒÉ4¶0í—m4}¿AX(ÚšSÌ 2í,#~H¯_’éÕc™ùõ¶c©Oè®ÔÛ¡åÙHJ?ÞÆyËÒÌcŽÊŒ0Ž_ö¾S@ÖD¬è'w8ݳ|Z&Úè=¾¯;yÃ,â¾ëLn¶®º‰„ÍÁrIlžÀ…Ѭ碰ژ[gýˆ±Nm “T¬“a,s×ëra]þ­lÖñ…–ˆ†Í&Å^Š{ jsÅì1m!_îèÑÀʵ–5Pw÷Œ;íÁ¦ÑSÃ0™"¾«Úž)äÀ¬ Á×ð%uf`¹;ø”´ÌÛÊ8 íoZ€ÀÔ¢ø•„‹WÙ%éTåÓä†?eîõö¨@{“{¶û»‰ãÁ.3¡“,êþÍK.‹ kâ¶2%¢õ1ÄSþátU Å«¹:kɆI+èUE]ÈW–ˆ‘hŽ÷ã†2't,;“äè±¾ÕjƒøN›)ÅŸ/g±ã7|¹l÷Õo¹~ùir A9NtVOœ'¤w_Sêç@õ’º+”mé \ßú涤\…Ž.>s>’ Ý­‡Hô©Rº‚ºùîÿOù«NgU‚Ž-Çhsúh-ŸÂ案Ý¢w6Ñ·Ó7o˜çeöë€hÒÙgE>h¨-Ú¥5z¿»óÃït9²h[éÉ¬Žƒå zlBÄC;ëorØP*>—³?³ýX×éàA¢6Df^k6ߊñÜÆ{|¥IÞÂ0YéÊÔzóÿ‡zñÓ×”9+ÓRÚX²­¹Üò€ß±=×BdýÞ…ó QÙ’×ÄL_¬ ">0}\'ó,[» ÏfÈ €(Ûs<Ÿü+m*2D&‹F=Õñ<Ãp¬Ó¨†ÚÊǺœ)¢,sе!`H)ÞâÀ¤#©X"Ê(*$çèDôR(eÁ{Á2På‹ýïœdò…7¢ÂPMËyé©q¨§ùººt†ÅP ™ºà:û%>à?–\A64¶ ÷RF¦c¢V3Ea'w‰|X0Jkí9nÓ¢>[¥ùÅ ÌüǪ•Äþ¿¾B¡†rÔ“Àç)äk¬åÄ®ÿ;íA¸…ÍSwÈ·_¹Äø'óÃ3¹| êQÔýoû†‘z^ a‹k{Px…Àò` Ïo4æ‘äô…^»º¬ø—úw²ÿZÚ‘–ç^ï°-8+éxÊvú…ß0¹ìîØ¼ÕiÀ-ð8ÄEü“Cåê‘ã•‹1ßzRîx3—ÑéW¯ ’xókíáÂJLŠùz1bnù ™°ß$´5MÙ˜I‹èwÛçp‡^@Áv‰é+ŸW£—¶&‡ƒ\Ί,ãWÕ†´¢ðW7 ë¾/ÆX)d¸xWQªîð"H"mtºäÀÆæO¨]¸¸…Q3l~ÃC9ãèíããíገd|ãÖB·C•ù÷;ñþ&Ìëç½æ£’î¢Ø5¢ÞªC*ª ŽJ®Í›ªÒ>3¿x Âð§•ûçüXOv_‹êз Ùlkb‚~#¡àãXKµlR¿þ¥aD8Zt†È´ºC>ÖQZvAK ®$¬À±/°ÝEÓŠ€ð„{¬ (JU|Ÿ…ìà’àLÎ4å?â¶nsI Ç;r1Ýx[]"lcìi(W#…¨•Xˆe úòcd¨ÏGøäzx·LÔü°…ö’l n¦.ú`]E§Åðúöæ‘uHÕ7,H2—™K÷7å®Ô ¼ƒ¯ßyçèÄlè›´ýŠ&\-íô÷m3oT`ÙÑüÆúM+þ7‡4 oç„D|<׹ʉÚiߘ`3”…ØV¹uµ·ê”³ŽÖN ˆLaSQÍ\T"ò\C¶±#Ä»½È°J´ÛÔQh››X›ñÂŽ›+2¹3yÌüçÓ@J¥‘üó^+: cÃzž* 6£°4 *ŸÙ—Z& à>ëµã¨µÛÂ"垤O•Ò@u-TA î>¨Ó.Ǩ£—Cþ:DH|Œ †W‹t±œ8NPÁ«ø£ –ñi¿h²Jµ¸Ü¾¢ ûYÆŸµ,)bÊoHQÔ]e,д”áph ´›t%–+¯òµà4«Äƒ†`¬hg…¨~³§Gaü~JI3[Çù±dÝÞ¿rÅípÜöq[nüÆî\ZE$n*bA#„A—Ôì•ߌ=½Š˜Sõ2`k7ÄщñL$Ó í½t@‡¹‰*A°ê'˜Zè?fÂ3Š`y™}­‡}tv RwëÀ»ô©lv¡•C²ß5RŠF?ú“bZévu´R5.atdjød€÷ZÀâ]ˆyï´¸ú5~ÕjÆæKz·‘7Š1ÏŒ­~PO ϳ:ÄLßYN)/äûv;-g×Ì|eð¼ÁF9¨.‡óÂÉq]Ýìžv î4 Ü^ñPGò:[‘€3‘¯iDá&–5:?£›k/%îË)ño<ÓxlX ºÓï‘ ×…M`•pž\…ÀE¦Ú0h&W¼ß®1iˆøqÒkè¯0PË:[å)<Š˜YåÑçLˆÊ“QÁvÚÇÔêª@Š!à—^s™ÖöÖ´ÞcˆM«Jêó¡z{Š¢4ÇÏ·Ê'ÖnÓÜsÙÈÍ_¹ÎVŒ­¼]š¡…toWWÖœñ;âºAÎ(»„ç=»òDbÌ}Öêzl&¸½ûT¤„‚}RÃÍ„ÌPÜEœëQOàŒKpz×ß™E» ²RkaôN·÷λKWkÌÂ!®xèðÙò™¥0²t¥%Z’gû§wñ–¿.GËœáLï  ò”l—?ÍY#2Ûx;wÒ°fCK‰®Ü”°zÈâ•U¦aÂícX¡ÚüA $?'º­_È)Ý,—×ì~殾ÿb”j¿ÀÑÞ~P"¶i–ˆ µ^¹kµÚ°Ò¸?@ ùÝ€Ÿ•Ë.Ô‹ 6Øtš×¸G‡§÷TH™ ™í ¬zn¦ð#ñCA!mw™çESpy&Å‚…QíT»õÙœ»<šÛι³!9ˆQJúî’@yalô0»éÕU¨ßf­MK/E=LlyQÛèá¶ÙÁtí>@Eʨ{6ãHÛ!@x¹›B¦cP.Vü9‰®3B1ZðÃ~T‘-¬ u©v ŒdñI7°·äï…GD­Ñ¢ÒÀuáFúbý]Í=ãþfJºTô¢$+pŒñ"sójâÀ\éT¦¿¸ð â……¥Ñù[drånµõ²DóZgê`° QÃ}/E7'ô(3#…¹ÜUw²¹Ö·¿/Vu1˜’âßcÇó™^"«9ú "$%„F2‹÷‡â¾f®Eìû %/ I‹ˆ—‘ÐEÊËØb´ž{„Þ?E9ý^¦€V¾YI™-w›ë> ¾‰ÒŠ'3ôÎ5­-ŒLÞ·ë$ œöÂeXxDiç Ã™Ž¡B¿_ /Ûοºý£_€+¸uã·¦þ+œ×™íC XÕÎNæË2RZ›‰ ìnþÝàslæ‡õùw{=o¿-fËÒ-ÎŒËj-÷DØúª_¬Ýn“\UW¹Z‰ÓzgÓp©(Å»1Ææxà„ôXò1ªàö¤t;<±éº…¸øÁ¶Òwâ×*i“srq쑞÷D¡Ò?(Ž”¨QKšK  ˜ºÈ©Ó'ü8<¾ßû©ˆ¶À…À<ß±šô;¬¤~ÌC²ÄLa@l¢XjžÛúO9ʨzNܽNB6/ô– ”ßxB¡ÄêÅ5®[”X«(ß¡ÞÃá-T>¡k}‹Áél[ÔÒ¸V-Œ ×Ùl@NûøC»µ`ÏpÔÐ mœgP³VÃSUDv‡‘×âËå} n Jÿ–þj8,î6ŽFJ}Œ¼-ÇaxÂÅïè°kUѼÌôWõgrŒ|ËI‹Í«oÔM‘3=¹Ìª-ÆöÛO“ï-;R#™gVõáT_)ÁÍÚ›éZ·ÿ6ËJn WÕUÞT7I¶«áÀ~4ü+ ”DäD9ãV ›ÒUSʨJZÈ 0,èúC¿"ô&iª›N9ªò®q@Çð³ã‡ q7˜ònÄÆA·s}}€ä:¡7?zt)„7Ùa*Qؼ0ÞÃ&qGšmÒ˜7zìò ªl.LèZ¡ÐÌàØîh•ÖSšI£Ü†éÀG‘L¥ß†Jð-ç£~ÙRÞD°ÈÛü… žî;Ö(ÿÒ7¾ÃÌÀ9™¨ZšY™]Áå {–ÓÙÝÖ=¢èo VØtžüô¹M#Ý— ˆì·²8S!‰Å|}lõ'bÇÂõ/è‹«‹ŽeT*¨è]™g¿ýÄah¨ž’,!Ç’¾ø\h‘g A$paHŸ£Ô]•©~aŠA”Çb$°H{j7¨ÎáÅŒ ;Î1zÔâ6Õ“ùÇZÞŠyÄÁ^w8$ž0ZÛ”ÉÎܼãã À¥¡Sº¨ˆ;âöޏÊ2|:ù9¥ºVüá‰rë³fÙ•4ÔÃe•ÖxôìVˆPM~ˆËÁሓ¥w%‡í¦ eÝßüÎ~Cñt±¦G³ì–ð½îد(É»-^/PÙåU ¶5d""v†!pú@k¹š9ör-‘“ ‚ˆü¥€?=´ž…Ôî@ˆQ ©‡×aä\Ô‰}–8{õ‡Yæb§&!¹°>̘Œ‡MI”±î=iý4’Ì=Õ ‰PSEù)`–yȦtà$i´ä¥•B  À¶O<`9u)F:9‡*DÉ´JÀäGgã &¯a Œ)9öncù(¥ñ¼&'3/4Õe<wx¤*Í=[— H‚I?'#Ñ—6†æjª?«¨«%·,ÀǬuÿI…·é<õ³¶5ÒsT¬ŠB˜" ΢6#[÷Ì:¬“/_“¯„;eÙØ™QçPå´—¨Øšý5ŒÿVÇçkíª°•1h=R¹"g3ôêhN¸ÎBa-©¡ ŽØ±–ÐÇÓùôР4›«“aþÕ|vÞJ#è½¢Õ‘îݱ2d7?™YÒÉDáÄ{6­hVá_ˆËüf –½ÅjÏ‹!ñ_lG[ÜšÄd£|- 4Èn‡…êý¹Ñ¹­À$0*1ÜWÁ©N6_­%eR~Ù’Ó%'(Š _§ŽJšïêÌ ¯‘_±.n¾…ñ‹LáS §e!›Ò?Íå‚¥ö£ž3ÝÊmëjYü³Â‘Ð@Nð|ß 7]WUµçœH¨ñ’ZÔjwކˆóMjóÊQ,\ òFS3~ÞfÉ‹h@QX9æeI ž‹J"SÄý/wÜ;ÁàéV\+‚-Î-¯bš•/št¡IB¹YšN˜_ _ÊdË®„<)¾Œð¨KWfü‹¸_ÔØN'z¼ªÁá”5…þH¡ö©ÓŽN2šÅaZAü°ò¬ç¢2<5RÌ$G‰±)#¡ø:••; šc¡:pÉ’%öõ a,ʧËUGÅÈX2ÿ½2V7­gþ@ÝI0u‚«}ñÀ%¡už!PÔoÐêÒ3r,pUñcÜ“ZMr¯mÊÑÓ£G²=„Ùç´|¡Ü àð4Pó+Eæ›Ò&|iӶȵ•,b¸¬11.ò¸©ß—Ë+yV­x©…DÊ»÷Ð%5#Ê:¬©»Çk&~ÕºZi*BUNõn…2ꇑ™¥¥™þ÷ r–þ¸ÕòAwk¹õÆ‹hdΫ(9D‹ËÀ]Œ Xtl_MµèÄœš*ÌÂÐKd\= ÃCµÖ·H‰ñ®}m%Ç\YÐ{QdB3w7⃠Ƒ*é¹AskÖ¥¯¨žÏ)`Vš AäíRzòI=OŒ8Šû,®Øœ¡¦Aå_¨ ‹Ú¬ŠÄÜlé± úi¦vIŠàáõV›~ÔOÊ ÿ;Y€ BE´0õÒ`å/&Bv7)g Iðþ¡ž¸dOoV“ Ñ®™&xˆ tâ¦=>U/#±šÈÚKP’œ'¿j©vŽntwØDö±ú{•ý°ƒ«É %#§ñht «[DмÄbΟ¸<ƺ5µØvÕ¥`*ý p¿OdÌÙeui«>$ÊîÖœn&Y ôXC1~Ç]tajÖUµ€q,ðnÿ›¾3i‘ãg¢pšÿέßi^Í|¸‘YkçJ'Ùº%µ"Hü‰pk™À¦˜}ÎÒ‚˜í›Å“÷c馡*Uð /i;Ã%QLǯ»WLyx©K‹L7ã륹¦dZòº„OW‡j×£hå$]$D´ƒÂÒøñž\ ¿èq[Ûì‹öó4 n»²hÙÆç×|…©“Á€döÇú åUXS ðåE/4P‰)ðU]ÕÖf'¥ÎǶËh;ƒ7µë¡Ýá5›I.ž€ãõ±lüÖºž¹mŽÅ›9à R«I’pPßtÆ;8Qç«{ bì¾Yë|¢€±Ð‘M^lR†/Cs‹õ"ô c ܽY ©Î»Â2¡M_ú¿†ûf:뛩¼;ë *e«©"kƒ‰?è‹ÂëÃGw[Úa×>jZ\ãŠ].ÿÙý°Ú±is £ù93]çmIP|9'‰.6¶EÛsÏuv„¶L¬]÷ÓžÝp¹ªÌ"v –Îü2]Ò!¬ã…™ûA<®oòͽV#F½çæJÖwVÿàäÌ P±I! 5¸ã¦s´2DåÆS&éѦ½‘J˜Ý€ç\¥Sœð9¿ŒCdô;‚Èû+/#ógJ—&±R ³Çñ7vK“²Ô©7^ 0ªM·±8«qÊ;!&Öñæ>‚B‡©„ºúèh¼m湂㌯ß,;¡+ÖzªÎ¤Lzp‡ìÅ>tÆÉ¹Õƒ'–œÎö ‹Î)-Ù–×l^Éèñ†Ú‹Î'ãìY”B˜ËÇ3·û¯ÃuB¯³0–XY¬¾¡amÁÊsD­W†ª@˜iåÓ”¯ù@B µŸcƒ7FÓ‰ÔÔXì;î-ÿ3S·ç£jó»Xçj·(‡Ëj[)Là1cTÑueÄ#,õªüX·ÏÒ^é?Î Œ¸ˆI+ Vÿh,©rF”~d[iæãd½“jÑâåñ~ ü†…$úÅ;]bõ¶JçûôãcÂÏ)•ßLøóy·^]Ø#øõÈ!ͨÚœ@öǯŽ)øzÊ …9†×èZøvD\. YA¾÷‚‰ßÆ)j>ÑÆ&îºÜ¸ëaÈ^œuâ T\7õfWéú›†²!ˆ`ÊÓ³"&Ø8D )ìÄ3µ{‚vw3–›šûh2ðoå`ãrŠ¡|™ßÛ¾‹"Á¼°èÞõŠ«5ßÜ6ÑÜçW†»?Œp§ûÇíZ°#$?²kÙé1ÞM=¤r˜Î]äR(Àº-±¹Ø2az+K†—ÚÖmb<üs¶Ð¹² ‡)Ê3¤v¡Òæ*‰“êi4½¥þ )©ßà+`õÆZ'?Ǭ» èe. W²mÿ@†×Ð:¤÷TRõoù€P¶|AuÓz:‘æ'cí†hážðËÿ¿Š:詬ûWÆmˆ–êÚ:+Sµ¿W"ÞÂ'¼SùŸ0ý\žÆ¶¤¼TMv<ÎÃg@MÑÏ„g{¬#²8#‰ׯxÉuz zoÜÁØCæJŽR."=R} gÁ|øéŸ£~‹ª`ºcªÛ õ?+~ /6õìlê+È[ÿ)Û*Ð6”¥ÆÂmmj…¾Ü‚¢7Ð KþÂKyã_ƒ©çIMáÈl…—Õ^æ42£_ù*I ”!>p¹\ò‹ >¾½J“ó‘Ë$øÄÒ¾;r9iYs÷$Ho-.÷Ü£ ˆ¯18Ì>÷nKjÒ;ة‰¶Õæ‰V‡×+›0j E40â7ЦÑ7ÌÊ-‰ÀÞÕ×_ß £·ÏÐt⃢ǮیGý}‹,£tlÿžtÑ#;LO£B¥3AßKüú\xd½tÃXYœFþ#™¢¾¼r‡çy»÷–Õè_Õ<ý£ÌP 3Z» ’íþú¹›)-Ë{/”BK@Ú²5œöÝÛq¼?TWVê í ÔiBù¿®Á"RõÎÉ•ØNy?¢S݇±D]jµ{ïʶIbÞÅŽGý{¬eʇ´¸õñO ÂmŠ^¶ÊÆ®°]…“UõucID-pµyÞÒÏ5ß]¨£Ïêª<%&ŽX°ŠÊ·˜¬18è5ˆ([ÆÓ¿§¤Å,a\Å¢© …“÷ÕG<'ø$|:)|²vet:(X¢,×°é{ßáôÉA¯òýÀj*{%ÞBXâmˆþ }°³Ã=ÈIHØH$´Èú ËEò²võv —‘“z½ß÷«Ø±BèÀKºÙÔ"˜fÄfèÕÚ`pÕ—G3Ë·‰_úÚ0&Œ1Ï„ˆkû/½†oA¬Q —°„ª‰ÏÀh†·wP;æ4Øù†‡íñbÄ„µãÂÍ÷uCëäü£[¬íŸE5»o—/ TÝLoï7dvݼè.[Vñ0æ3à¬àêkÓ-úd,kX»!ãÞ™òøWÏ(8—h¶tºJÖÓ°JuÓ½G-xÙ9Þ^¯IÅ9\¾mmiN¬þ" §ýŠèMoO1h )ºÉÆ·}«RÛ©¬ËlùÏ0#Òþ¶õð{‘¦¤Þ&W°¶¯@s¯ÅjÆ&l¹ƒ(ÆG@œËÉZAQrþ»ÿv”/ØJ?SÈtGŒîÐz×8Ý[›ÅwvjW6Ï·q¦(ÞW{ÉŽtn¡ÜóÌ÷6RQ‚Œ#KÔ=t­„ÌÝè¾­ï<ùɆ+QP‚ZÇÅÖS¼+\®lvãïÜ êóòz<‰i€ÜêT1‘‘öhJL’PF"úgBñNßï ç£kF¢Ã#ö'вÖ9#­ÛU¬mWÉG\,˜1v›\a¾œSc«ÝZQΕq¸'¥²uÜ@ß»$m潄u q]âÕl+vjfË+µÑ áÆ=éQß°t´^¯PP ÝI’!í8ˆ~¯é“Š«üï}%·Ûoá”¶›ƒpBŸÃkíÄQ*qwåx[5Ïâ¤HÖ ¦&'ò.*™ '’fh^ëÎÿçÒRSp’…Ûÿø1&š¥¤^˜³‡@ÜPj‘„ Q¥L¿¤Ÿ£Õð0"ÎÞóƒ6੃궆J²Wvp´•DŒÜ<ÂZ×H&«Áð “&ò¿»_ÆÀ—‡þ#@½z½¨€Þh“zpüáʳ5¬¨“¼ ÞDgó½Âd‘‘Êôt@zA?XÑ0ÑåÅ«„ƲêõïyPxþZ}ÃÒ¯™ÀØb¾ ›:wø>ÌÍÐÒžóá{m×QŠäÿ˜NΞ¬ç/ÊŒá':Îü)p©Oßð娶XkR S¢Bp/cE#ƒÀãL6Sþ9»_΋³¼M8¤ðnõï5‚ñ©U妉c!]NÄàf×,Ö#g¾Õ¦VØj”=l/xPx‘ÂØiËÌ ï­Ø™{ÅPpu©»QW4ª0ìY äÎþ7£|½-e¦çqOƒ!.ÑÕ@5ƒ],HWk¶÷äùa4§ñ”Ÿ&ñ‰X²9:!Äe2¢ò½gRØD ÈttTA€šÔqðù`eÊMElsÂ-ÈÜæXÞ†‹–V., ‡‚tLñ&£}ÍËi˜j j䃲²À µÃ÷ÀØVö÷e,§ÇyK:0ÙúZdh “´±qiˆ{T-ÐXkà ô‹XˆûÈ{ǯÂ|¥mUDf<'Xùá"rYSð¨[jÓ7´>Ø5Ôœq–­£ÒúÉÕnivW²É1\•ÝºŽ–œl"Mð|ôlÇeÉÉuÐÑ:EÕ¸1ÇJ0X_%… ÈéñBF#çöÓw)Ø2=iwéwð²¸þ¥æƒWòdßê&ÒÅ õ¹Û²B—ö+˜tÕ·8KÂ/ IŠî uC—Bk¸³¬'9—|+GdÁw:•]c(ÔëÜDYŠl¶mS?6ï”ñ§¹…½qÖ°åÕÎ)pœ zg€²9Ý)À†íA pBv,Yê;`7¡@;÷|Ëç‘n“ØÁp:>qäÿ"uèØ!»×C”ädX—V·¾ì>S—·y{ZNð¬‘ü@F^w”™ãgŠE@’×Á¡ÇÓlUÚŠmˆK›Jç­ < 5˜­Æ‚`f©¬Q¼mFݚݱóL߈—Ã3 æÊÑÝb¯ÊuHŽG!z)¬u€ûdÙ»ã«÷ÿìJc1ùøÀ„Ãülp ; ·x\§UAœpêûb :ìôw!Ÿ¶w­B†È®Oƒ@° íãAbH6×Ò­-Ô…ÁþæZü§ÞĬÁúFðã9x-Sïheˆ“;ˆ¶»T. «_MšËvM*x[‚eðñuúOr‘Õrp uï#o~—ÁY:o‹£×Mý))F:ý›ÂuÓ§¶°“ ×P3Ä’^2e»‘$Áƽ±ì“ì<æ× …ßÂ*«BK:¤ö ̈ަ~ùgE[å ÓÜÜñ aø4ˆ¬Æ+ý<Åbu­2®$-0ÊGÙjdž¿¦Ý°Œ«ùœYÂRáõ–ˆÔŸ%_-=¸® i"ÒÃQ’'’Ѝ+_(=D}DµÜ ™ÉGpQÀšªuœnð£¤` ¹—ú5–Ê$š0‘äÔñkŸóî/aV 9èn5>lð•“PÏuïד”Ž36E¬‘%qí)ÃW(~)œõ¶Ø./ºZFµh‹)kË’ü‰_cé Ý YoÝ„Á1R™9ÔïøbWã$kÖ&1óð¯{ÅÀ¸,Ñš=ÖqêŽ/Åvñ 7§ Ù¤f Pw#‘ŠgúR€wj,­+Þò_΄ø'Þ5ÇÁª OBÄö¶ÛB€À“.*êaT…{'Ž9](ÙÍ–&HõÇ{ôŸÃÙ×CÆ+ÞÄ.Íל^I kTÎAl"ãÐ d1§üxô”À¸É *.wà,‚Ì#Œ¾°¼&AjA(!~oÕ:¶z¯Ï©aòR­ì~'×l¢Ž4Hbö \!ïÿP_\Õ´ÈBœŸÕ7´ÔüP Ô skµ˜¹âÛÄž*‘VБTCÚZT•ˆ†rªèÍœdÇMeV«=âö öisÀ¿Óú§¢¯ˆÑVÓ°@ËHª0ð‡)‹À…ð*§èžÊl™ÉŠ¥áþ´ƒ€ÊFãx2¬0ñ5ƒ‚ßXŒÝâb‘ÏãxÚ2ÎL/ éQÏ¥J—X‰æmW°3ߡ߄‡}¹µ£²ðVí¨[ÚÍ„BøTW EnKs9ð28ë³:ßeZèHᵺv@Ÿ„¿ÀÈ2aáÒ[d¶ºSi.«…’}‚…õäŠhÍ”/‚ä†ä×@7?Û‹”>³¹qXy ¢¨ÿ“&Õ¾3쵪Yűé…ió\ÆÞ-¿ÑtÁ3Ö_–¢1¦C‹ÍèãBð‰Oièr{wÉ.rHó&å-ï©më/&ìh™Ëã¼-ó‰­nÃÆO k˜ÞóHŽ«kØ öÆvEÍ£¯Ôðư䪔–ǬŠl¡x¬ËrÖ°ò ,YñêiŸÄÔÒ¸`¶ø¥LÕq¨»7†Ç©$„vÍ")‰ ÅÍ£„N Ëvîs “_Òq¦ùÝíØÍpe¹’å^~/Õ~>Qíw†2©H”@{Ìæ«—Ñ“ª;ßµÚ—œ ž¡¸4ØŸu¢#{qx¼ »í5löÖšÙ./·Íñ0 =c}9óìô0"v²­;=ŒãÙ™ÖFhn3;Šùšo²½ú%ð˜8ôÑòÇ[ŸôÜí̵ƒosÞ÷òH£úBæIXñö‚þ”ºb«{`ù±eƒGÓblÝy6®’Z²†yé±Öq²ŠgéQ'Ÿï½)zfOŠ~½ƒ0ÌwH!ƒFó!O`Û`Ò·Ô p–À¢Îßíøˆíï<Ø’Ó÷M6–‰1T–¾+5h^‹ÌÅ5Jm¥ó`Ï1¨ ý×`Þ<Ã_ùK@‚ÔÑm áðc…±*×lp\2«E;¬×‚Á„ÿæÁçm‘±<”·Eb«ŒÛ… Ü0€”ÇgïÃëAVá |™9•`<àA´Ûû®³3åeÞ¾eFº;u^•Š/H…S1¹¡([èYÈÞ«r´ŽëÆâ*J\u]9iÎxà‹£¾]Æ9qÖÿµÀ^óu¥ÄX j@š¯þdPv/õkCÇû°dÚ‰ÔÎÈo‘ »ÐTÌ$†þi¯"Èx4a£¾FÂÒ–;м;6meŸÅ/ -HN½,ì”KC!ã{À,ÑZ8cWr*íy§ñŸ“¯Ž’óV |%Ç>C÷ðsŸBô'²!"‚ðtåOÿ…‚àcÓÛî\êBÙ§“Ÿ[p[˜rfKú‹öê„_ÐLÞŒµ«ƒàöl ÎùpBã¡&c-Ln4én˜tÀN¸¾a¡ʲ úON¸ÎoñÚ&Š4aƒ“dßl¹+è Øm@­´1}6øë"LXvÝÍ3®ßc3\TÎÜÝ’ñ7Õ?lIXÌuªÁX¶Ã•®”Î|/(n+’(âìþµT´WD? ÔôÕH†V'sk$·ÝRÈâ/’Ô™¯Jû…éBp<ÓìŽDå¦ Wt ¹ä83œk ÂI¡#”æÄ??5âÁëÏZÄœN%6_èuiy®ÂËMIêWËÌÚ•â}´X`Ü2À²Éeäå1¯|_ÝélÇEøŠÊ Uý]î¹dó]Ûý-åÐp÷ý•D¿ÛXí÷AD¥–v¿Ç¶pnTmw2R虘p¾Žlý\W«oWÌ×*awR¢BÚÔf ÆÇ¸+jé)DVó &þÁûxé)_ ³3R ƒ?×õŸT\7 .QÕ!&ƒ*‡ <ѹÝú§]¬ør]`Ú¡C£Ë õ‰à?ÉüUÚgy4;Þ4ñ>ó>Ìì&tu‡±a¯~ø¶Le´f¯‡?ƒtH8pl#2oÿŠÅz¹ðó2ÝÀA`t—íð+cX=9Ò&&mšÊ3<‚ÇI,7ØYÙ^î»HrqÉþ9àšõ¢­è¶¸^Bÿ¥§”}gºøÿztÃÂ6ppƒ ñÁCq-¡žbÅI¾Ž ›z?˜i}5P˜$–FÂȵÎD`‡´[µ¶œEûÇ=²‚9–ɧÞñFQèˆx:ò“D†OÃÓ‰×Î=ÿ¬ê¹ȧ¤Bß C0Y$oú )ÿTä*•Åd¨sJ€ò[RfÖ#ùòü9îcs;@ù:‡×–M ²"õ¢M÷ clùhh?ÅùÔÐá¸#©Ã\x¿ˆb¡yÖ¼ÌÏý FnBb‹~VŸ%uï{·0¢ ny Ÿ¼‘A3%VÊ»+É.Eë½±=º_ 4-þÀÿÁçh¨,…ˆEÝý‡ä|ÐÝ*ÐÏ´¢2Ù—ÚáZT¦§±Û åEF–gÕêó R%®ÀÀ,Hß#¾é#ÝÇ=jû—1vxlaâcü™®áNâüø<Nàwkœ0ùû« ˜ó Ëî9ê%ïQÁ É7fŽÈ¸ÌÙwÆ{2ל“ù͸­Ý¢Ò¥ŽwWãåþîA*‘]À=ÊÀ,ÒÁÍyÁóìë]î}™¸Sžµ(> 9¸•·¨DU¸ûY0®ÂàŽ7IÁMáw—¨§ˆ5Ãâ–´%‹…F8$'ér‰'0ݧçÏ•ÚXLÒM›c‹*® ý›¤h?kMÏÁúqç¸Üô§¢m1FîÙ{¦±4& ±"R‰—òjâË~Cùþ··4KŒÄú',®ʶü*;Áª¿YYÞë:G+º­ü—1 Q»µaÑOœ…Ê£ †<)0Õ âNŸ·2aRö´åô-Öd ™lq”áDF ­Ø-Ö ¡ó.6¤…S¨Á°‰U Ïžâ<¯6Vžæ’$f¹7p,„´ K%'.3 „+ ·ïŽAà45 >']YpÊ4=é:"2]úë7¨Z Ù…Z»æ“‡(©](Á¢·ïð<†ÌýWð½Z Z¾l»;n•ò¬¨MÅTöÚï7Ë‡ÇØ #Dû~—áØ¼s Âè²â–®ákþ0ótëÅwêþVÆMÉ[C¾u…\“uÈûi™bauùVŽ—áuÒwf˼1êÄ+lʽœL;pEœ½ÏPîúCú€’êi˜v¨öé{+žH^¨\§3š:âW¯¸´x[á•ó”ž×ÎÕnÛf"Ùˆ“΋W)øT&&ðäSÓýöì)± üœ+z{tˆõƒKz ·[µrØ*NÁø+:€fὑ¦ž/sð¢z¡íQÐì¼Iñ´ù¬Ö¦%‘ÚÙ¤7Ì'˜¨Ãh(¿f‹€Åtò4WmÖÜÎâ¿DÆŠæáûûÇ? |ß°ï%Ú¨Iè´FD aûOli‹ù”&¶{¬p;ä7õȵ™f€¦"gZÜ›è|ø¤üajõ˜Þå+€;2½é™Òf$Û>,¤îúõujóîÜ—vWòX”¾¾žO;‘&/&ÒGÇÛqªCŸ­ð¸Ám1<˜`žkÍQcðÿšíjãËóÇ'?ÿ6T à³…h]îȧv=’‡å9˜]£¸/•uï[O6Jö*fçîÎB¯$|#þ-ásFguõû4^XÛ¹ò27 |jeÅÁ9 HbÒÊùðó+Ɔu[ $q’¸× ”›Ød§TÁdým_:|ãUy‚ŽÌ’ÎáFF’–ÿÞž%Š3îâÅ“´O¨ŠÅ™á¢-û¸U{pgƒ K­£Âp` ,%ØCôñvD*¯‡ˆ—ÂG §!Ù>ÍÇ¡Ó/çïà4·Âf:ë*6=ÖU.‚‰­ñÅ3Y^.ÑÔx‚ÿêMüÿíË•–ŠÖ‘©Â"²½ù—p˜Êÿ&µK–W 7Å/ÄN+n… úνg5´Þ ëÙ_-ÈÅ·‚ãpm’&ùäÍ.Ä ëaÐév¹Ws›åË [—²·"ZƒË3ÜL ­Y\¾=èˤÍä¾xUùá<ΖÖOéduiW®‹Ë[²Æd‡’DØÂ}=ŽºÖÙ²‰¶k«Ž&i®+vn]ü|‡ÂÏu¼e¶Á¿ÐÊN!”½;6+øwƒ2VfœË‚Z„W'S3㶦{¹ñzñâqÿÌn}…Óáv|ßSFÊàéGü‡~ ¤h*̉~MeE=m›OŠ{_,°«Î)„NeEª÷bfO—u© wt§‘+úñ ÒKRÈ[ÞÕ™1 ?ýv‡q nâFÁø¨™‹Hio„¹ ;”31T”é¦ßÅf1䚦¨]§Z¡°kF:ðeÊs[ñη\5[–Å*:².ž¶fN´‚þÍœæaiÓçV|ZëßÕ.‡C¨©+o;Žš¯;J.ž”vŸf„¡ãwj_²oà%}g¡I1,×ðCš_ÃXîü3†6ñ„°oÖ¡÷˜Òê Ål,XCâ•Ψ"á~°-ÖƒŸ{Zqáa”Ö­³}f[F¾( ˆ5™Î'lšn]´È÷‡Ù*ÓÜaCUÌ™£0¿†J+Á¤Ëöf*ò"?ƹ°T ÏhËŽ”É)ø,Æ¿8 Lx/Æ 3Ïõéúe@eÔõ×»±o{šuþîÆ´a)uI¡Ö®²'¤'6Äqbt€f$«jqèȃu•¸í„£L¥õqÍ,{õ»‡¯îÑqblG'iF¨Q¾s¶ß½’Ôƒ4„,$ßüö>”3~´˜Œoæ$»®ªJÛñ.Æ6Ñ$lé¢gc¦›í—96cܻƎ¦ …ìÁS-`ö)‹ÝiÞôãà¤%Ü!ã9ýKûC-GlÚHFU«µ½UÁ,¡¹h —ïiçþS·ìSGµ7¢AÌ”œ ¥)–L`£8Q2Š@?æ7䟬þ¨ÒF[—ô$÷µPÌ¢¸nv Þ‘ë^Ó¿éT´nJÔx=frè}¶¦j®}Óc±ñ E4n@KH€lgŸÏ¾Í0ÃRP%Ås† õ.V"؃$U¬€Ï­¤e³Kõ‚.f¾œÇ-ñçÖGÞÍ”ÝPé§ÃŽ/%—ž`Ÿs}& Ü_í——Ò…Fm‹t¨OOüÏ·)м)ý£%z»Q‘-Âøöšãa$µ­ê€™ò±SØ÷C ¼Ñ'°x›\¸f-_wR=þ~Ù6£¼ãzÏ À&:\²XܶL?CÊ€PéÔ¦hˆZ»<±¥µ€âê(½¸Ä™‹fÄ(ÙŒ‡X…ð†"V;éÎ*f( „¾‘-ÿ¤‡·ö WÛ×´5ªxA#ˆöò¥¢Ï†Ø#¯ÏòÃ3áÉ—`ȵU4H»·n€˜.×*ÇEÀSiUw”Uvs¡BÄ„¿' '‡ˆµî²z¡££zSTkŒXP>h|æŽsð©×þŠ HõÉów|`üË. Ì·Õ­Ô²cé·Óum²ÜêR1€µojçSIÁF~)ÇXhÍ ³;è_ÿ‰;Ô—­/Øáöw%÷侤cN´£dñÖC5è±TË"á°?DIc™r­He‰l/Ÿ²ŽZÊ»¡¼8ÂóbÎ3Sæþî9š!“‘<[•ñÔnHßòha±-º@ä2+쇞,«ó‚Éb µÎ6ÞÊwÜÌãšßN=”¼[£á_Àñ€âìþ¯.™užÏÑfð|ã[ò_J¶0\~ùw£!’V|–)ÇŠ;lˆ»£`ÿ/^>ŒÞÄŒ-b/Í%@δ‚ý.¯ä2W’Ë)“ Aò2…‹t0 æ5¹± î4&…mËØ01L7¿s­ ÕÛ•û®Q0޾ mßPï9ðƒ*^O¢ a“³ÁFål¦É(r¡«ãúØÒ‚i±€¸Ç”(0°íægQ)ì~0¡\ƒ¶j^ê2Ó¡“…Ì>:F¿×¬e”l·ŸbwäÞ/<°§Çï^‘|<­oá)Ãy# ŠÂǤîRßZâ?Ú¿ŸØØsSΨ-+B=­i½êÛ—ak='Ov=†«>Ò)–#KƹLù¿½¨x÷(¼ÿÍ €›«¹þ©eg”ÈÊÎ(™˜ˆt`§þÙÞ³ .Ù 2}³§c´»¿×ôŠFüÒ Ë/Ë·5LD ”Ô©[ÑæqÌôRyÅü±PZõ6(àÝ}`ßöËHýM`hRÛ®ÏÎ4KÞ:üìnË·ˆƒ ôDûùãþ>%F³ ¹[)MIh^‡¶n˳fýsü9ˆVzÃWexYf„èRdm ‡ÔÜ–¹Ï8´‚ªŒÃT'°~ºcéŠáÊ^i=zZ|©™J¦CÊA®Îü Z1“h=ÛzÖž2ýgð|u¨«•bÏOË÷TNz›Ëp«yq&ìr—±°wøÏmA”qŒy‰I™ý/Eš%‚3ð/‘îØèSIODˆñΘA°”ïväIÂঽÆd°z,GÄØË©Ö¶'÷„äÏFV>'Ž©÷ªãÍnfJq¢ÏD¨Êi{VÞHfš}R+d”x€Íæ閶Ʀ“ u1{v=!%™í¿m K$ÿÊì¤ÁJŸšõ-~ <5u„LÒÎ?UΪ§P(¢Ú«?¦zZ#Þ$ÞiÕÃ-ˆzf«–±˜ ®BwmiŠqKRÖŠEåS4¤ÁÓR¿ð!µ«}ô( ]8Úª¢¥s_^Í@ YXÝc*=¼¢À·ûÏ{¨Ž¤Mí>t©pv:\þÄê±Æ‚  ‡îƒ "NôÉI±E”Eùtýa–‰ù –'„ébD~<&E?äæœG˜žäÀœêð?J!wãÍyÞäç¶…Àè•ÞõˆŽ!OëÎ]Æä*Ø(ôÓ]î½£DuÞÆ§úÚ?⼎N8`KËɒø· ï<ï,½Rw*z”ót¬ÏÇË ŒF^;…×ò$Þ „ºé§E§É^KdBºTuæBnxÿ4õ2ìý ð™†J®)Âv&ÝðÐhÑÙÄ­ˆ³9yò½ Ñ6/ÓÈЋÕku­[ã¹ÅR8Âjt½›ï`ÎÓ;=g—gα³}c¾G*~âz×&.ÆÈŽ\N‰Vêƒé¯ r’¸,£Äh›|ð£QÚS.…Æ{¦¸Œ?Æ :ÑCžâݺ¥½Uá% ñxጊ ~¶Íó_« ö€Lâ- ’_VzÃðdAÛ©wÌ¿*,A½ð‹–D·£ŸÍ½pÑBó§Ú]Dä,OZmq™³THÓ’Ý xR=]oe“ ˆÃPçuq¶8ƒ×šôl"ÓY„nëî¸ØïY9,¯ç` š®Kbj­%#DÚÊXŠw× Ð=ž}m4c_ßy­t£žíù1Աё­œË~§À÷%ô‹n|DtñÆõ~<¼!ÊÙ‡”ýDZ¦–@-)B[KÖÊÈeçø(ÛE<ÄÆî>Ð%TèLxNoÓŒ Àí*FJ;?'²ëéœ ÊrãÿÐìíêÃw¤VgçIÈÚžª!ª5Â3çæøæ¯ÉÜeˆÙÔ™÷Ùƒv´³vh‹û°•…hŠ‘±•«¯$$&¨õ°(ä+yÉžsÝÙvkrbw»~áP‰0-1’¾vXc„ˆÞXŸ6bôºÃ0?Ht[œ^ûq eÖHåõ¡ÿž.΋$íÅ= ì­½>dûáBY×O$òÊ}l`‚(! "æšHMÌøió)ä I)v‘#à¹Z¿}û ¹Þù­>pÌö:ºëèÖÛèÆP”¬öñM«g…ÊËû¯ŽÀ•âŠM±»ãP„îª/pQâ2¦ÀU(Y ýkRè"Ùž\x¢àx8?Õgô²ú«æ'SÅ6¡÷‘õ¥•IM6$Nè¿Ð`“ð¤K¢Ã“$^2³M\×3ñ3°šÿ|ð9Z¹þuÈ4x˜ã¬Î•+ü9uÑA–ÉΡV_hOR—\|ìz×f„‹ûì`Ùüz{£}§ºÂ|áYÊH쎨>}™4¶‡½Ofƒ3í±?K…íG‹·ÊRb/é°Ìª}2%ÝWYq”ÌÊœ‹Ñ ÉYÚ¿ s>œŠ¦Æ±š±£ŸˆáLYª°XþØHÄS/§†<ŽaHÒÀ÷þëÁîò ßl÷aœ~\ª6½’Êdú˜¿<7”Ò¾èÿg1вž@›\¬G]ǃsk`¯!©­ÊÝòtƺ1DS*Îí ÃÚì½.KDLâËs¶Ïã&ú†¡-ç>Dº§ÝŸ*&Á­\Fqú¤‚V놇Lã/†î\ÖàÓî–-™¤Øõp—Eíc‘Aƒ1ÙÏs±”‰uþ}¬œ…°pìbì8qwî5Ì£Ëä\Çèo#žÍ…'A݉-§3ͩɆ?³ð꟮r‰Èø”Vn÷mD–Ú7¤»xäÙæ7“ˇT¾ë£{é ç9¼ßg‘4ãBÃÞ&l1Uœ”ŠÞ´ýášAõë]µªß 2’dòd—p­À¦ÝKb(“A|HŒñó6ÛåÿFC Ӿ؈êŸM$6¬)©±ybž yù"ìf ôO¢–7.hÖ ö4yšÐ _îŽxÿ?5½®®XÈÊUABY½Hýhz*Š› RV©ÆÙëÁ´›ßmÿqMF|jÓ‹bµ=ÍáGñ"(OÛ ª¦JÑ«¡†?›ç0¸ûZšHlŠH¾¾X±ž¼ï±-±˜G2…Þ!à€6Þ,±„K†¿ýæ|£Ä¼ön|ÜŒØÓß_£zêɱ°tóÊ—¾ã1Kü ¾`|¤ÄEI¯ûùa¯Â+1­x¯¦-éÐþ… ø§R;K]¦Á¼¸u‰ß0åh@Ö'r´ ý„уà½òðfI„Óuåeó2 ˜%= L± ”mÞò¡m$/q¢>Ž}% 9ÜnŸ¢ ÔųMÙ“¤ã)¼HŸC[Ü“W}®!®ðÍ"~¿Eè|Eîx섚Qÿ[ÿ2Á¢¬vœ­(.ùfÛ.^Ö‚*ÍðMx>8äR486 ‡ÿ¹Ì×sýƒÇ|l®+‹&ùr„ÆLʧ¼3éÓOz"–ß°¹÷Á´MÄ[ämH®¦­Íãš l‡Ãw„q¿`Ì’«û¢” !Òŧ6L{ÅÓÇâV…£tK¦À¼Œzy« ¨,³fÀÈì¿êj¾k7þƒŠQ´Œ;2Ë X®…Þ±“©ÒŽJ¹öß5s[¥Èä牸±NÌåÒù?«©„ñ¥LÐtx'ñèüãT5É'í¨0B<Ê_KùuY-R@êÚµ;s%–dK¹ÇÜiìK’>TàrȦÈÌ,F˜á#åÈ ò EðåuØ ÝSv¸ÑÉžÓ†©»fÌ‘p¼3lóÌÐèUÉ ta1^÷IBœ©¥ ë Vz7 · d׬:+nm‰ïóúôæ¡f…c7;9L«ç`\ÐêKNh¾]Qse¨¼¬éZl¼2AQæ&X¥‰DÙbët§ Ÿ°—˜3?a=>‹¿ôv3ÏCfÙ÷®[…œ´¼@Z:Ùဥ|ÛÒÄïDéWôþ&ó,©\ÚñÎÞŒ7‘2[év[µHf#_îS”ÙÒ–ß/¢ò@Íúá?MyÒ äRƒÞC´¼¯Çʾ´më\8úQtÒLIl£wùËOÿ¦K÷± ç`Ù×EâþtÁ§˜I”dEÀÑ_ÖÞõŒ Y«e“¨ÙœóŸ’}ÌU`¼§,œå÷/7ÀÄ¥žõ‰a&ÞR“÷± õ?¯(ô¸ð2mAe)kúG'›¿áå×b$“œ"lÞÝùŽËÓíû4ȱ‡Ž#UD´Ú[qÒ8ãÑ庮«É¿©ë¥Ã§”"Å•¬‹Èt$»N¤é|Y-t ¦[£;œqsÿì¦øq¦Þ5¬™)DSx>¿ñ³Û’;Smá;š'¤°éXÂÒìqd’Ç?$¥“èâТ°’ŒúÑfÅ}qx•мlìÆùìÐH[2Ç °Ü†ÿeWèùz‚6ÓÍ»‰+ÂE&[Ôg·zé5ÜÛÇWèŸÃ÷ÊÖ´õÅúLb]Ÿ‡EŠE<›€—ȉñ&E´°T¨±_¼%ÆW²û|dèÖÚZ§gኄ´U* ²²k®Æ¼+ÞÑÕXµz²ììâ!ìž^KŸñ“mPÆ8E¹¼SèLq>k9 î×8@¶Û9ŽcKt ‹qÝ@ù‚ûóºñ¹ˆ\—ßëPŒØÄ l¹^‡yp>uа÷é×È)L1EËÏF>IÁ²÷Ã(ÚT8K®–LõUž»N¹¤ Òky²|ÛÅOÊû6¶£ bà— å'%ø¼‘þ¹6SbÏä‘â5ih¬—1…¸~ÿ@»X•Å "<‹QT‡hñ#7ˆ»²pòÚf÷Ìhµ”)Þi‘cx½GQú4w¯ÒŲQ½­@»EM¹¡+BœsŸ¦®SUšý_ÂżìÓ¿xÿK¡°ãÉEºh<¬v[e†ÐZºó'¹—ìŠGÆF&pÌ ÉQ‡ŸÝ¨joGcD_F`M„›1âÄŒü ’(÷Œp½k²ö°HÙ´·œéÔ™µ?þn£LŤ>fÑ/º,ºlé Q&‚¼ú›ªm•ì½V©¶ÝWÞó5l®g+N°×hÕ¿ç)´L~$.CŽ: u@®‚óJé€T,Jï¿Ç‰ÒBB/èwîùúÁ8GÞk!b/R» àGÁ©¾—€âv³ÚxJEƒÉ¥æ~ö„“žeR³PU¾¯˜an<&¦ç¿Î zο®":@tL>Ú¿’šóáb•!¾ŸM4q¾C™T÷ì«HEXÛvn©sæ8-õ(Ã(± r´X´TC±¬ÜþZ‰µgF¦™ƒmCµ¬y0)½Ü¾:*ý²\wU„$¦òU,RˆÚ[ÜY°¢ ÿ÷¦»5]j`b^!Šïš½ž¾­t˜P°A˜lþGi% %þ´t I Æi50Oö¸}j Šà·tþ·{l•z ™TûUX|üÿa¬û9bÝzUÝ!ºa¶e5’Šd^ÓpÎß `áë• Ûω8þݙІØþtú:æz ÄN§™Ž,F>6èªÂ3Ŷ… u2å)D¨Â=#ÏÜnÖÅ›Á¿¢ð ãÚhšªÔuˆ§øºA!áF4;Q?Æ?>8B.±ï4M„HË•CrQä`¤2Z‚ÔM¨M¥“LG‘˜~‡öÎ2 üVÚ¯ TD“7‘Êl2%âUIU¶n`Ø|sà7ˆ 4Z÷ìgVl5øXG¢æ柔חO¯ÓÞUά¬WÝí‚/›£2àOåþö)ä)‚È5{s¹ ÿc¡'è­Í‘‘ô ܤÈeÕp˜¤ˆù?Xhy°w”Òãñ‰¨Ý5F @ÉyÖµ.€€ýyÂý ø+k…DPf›2¢É‚÷’Ýh` ÌñcÉàÜ(Ï`µ;”¤‹Î|Õ†¬M7)Éà„SWÆxm)îÅ—$Éçïî`4Ô¡~¹|˜ýꊦfëT¿óJ¦ÐÖªGX2Œø /µ†(nwCfš—D¡¥š‰ök†b.‘óG†ßÛ‡† \¿à@@¿s»À§_CEb_aE§gf4ùs&¸¥`Ìì†õ°‡ìœÉ ˆ;I Û·ÃZ:5{‡^òRó­i#Z³#SZÓFâ'ßU#[ã?bN2±0{³M×ò°[*ÍíhÆ6åÆÙî-æ utМT GŸCm¢­Ç)\ùû¸ Ô;ÙŠ%}™ØÏÃXÁ Hj"™Ó}AÞ–ó$_M_™¦ZÿlðZU2yécÌ“ÙõØå§s40H¤_,Ç>êõLËÍÿîË·ØÎø´E#þûBùõó$‘ùµ `‹;_ÂB¤ÛA>sJå䋼ÉLÏzã£QšW+3ºGܧÓ=+ Ú"8ã^Ë ç}ö˜xÜ»‘rpuYš a2B¸àWeju1€‹Uq”šáÔþ¢sûŠ ç²;Cô*|šeFr$9‘m´zg« R#| Ì“ 1nV¾• ˜4ÀÂã( &v‘|¦œ ¶b©±]—ãzHæ§ý̓_«E ÆYabÀ_nî‹<Ó_(]A|öèY‹È˜ô"³àjþšÔ%U-q*‡ëcxá{wrj×R§üXÿаáBÆþØSV@OOs6 ?vŠëÚ“Íå>ƒ¬j·NÛgQ•«Î¹¼mÔ3íœ0%éü_K¼X4Æ©Ö\æQ™Ç'=Âì ØúËp†ádR¦†òkßøÙÊu|Û0W„‡Y&úS§#E‘ OÝÈ›9jsW–ƒÝyÐ_£Þ’wR€Ù.Pó#& Õ±7çùÑÙ{ ”8ÙB äÎCA’‡ñSˆÆ¾hÑJÓù ’_Œ©$Y …Òä„Þ·9¨å$õ]=ç͉¢3°>c[Ž×Þo㯸Ïð•&b–;NŠML‡‚Öž#1æÚb.@`mÄ«u]ù›rîJT¡ÎFìäS"¨‡‡K†~E‰ˆ¾D¹4ePE…_dEô¢az ¯á>­vÔŠ ð‡püT—DQðI^ìD5ê}b‘°Ó¶ßÏYt¾ºPçE¤T»–F"‘σ¥Ic](Yä±Á"áRiz&±`Ë8Q„ VÚćrCR~¬õ=ÿIgÂKFb·NJcr™õ]+y§øÝ÷™D¶0›.} ¦ ‰i­!™ì.wãxsÿe«7BÞÃ[c”úŸV^]èÜðJÂGÓ|'ÓÎÓ~C ¦ÖY–dÜÃIôQ—%¯æ„ºé|¦MÈNzÎWX~V~JW©‰‚Ë`Õq$>C¬v–Õó&À¢gÛ=…—Eå•e«_nN°¥ºþ$¦ä% ÈÜÁÉ0ºlFÈ¥-Z³ÊBpYÈ^­8÷GR••kÐP»°n±'œÌÖð#AµCÇMÐÒkö˜œ„qv­:*G)XŒíÊt!åèÚb£_¼Rõ° cŽéOŠ„öô`G~ãpÏÀj…"74¸.?Cv.?*dtEéUlO艼Ûþõ³½&Fþý´>ï±VÆB)+›kr¤)z§ªÏ! 9ßܲÆšŠÐQwˆzj³,…¹Þe¹³Gka;ze¹å™¿™]tÙZ“ •dŒü¬ÛÂlO.x˜$ûmÖ‚í·åÒ÷H[·_yƘÕW½¾™$-û‚\½S¯Ï(ÉoMg-€ˆÆ™Ç´~kr£P >u§ø«_FX«MpØíTp5,ÆHÕÁøf ¹jÏ<€àBãÇXì( ½xD5w#qÓË•IçÛKŠyd…øy{õ'¬”j¾ýß‚`øpføÈµR@%@–.ÖD(³Qn„Í“¤–ËÆË¹ÒÌbŒš©CÛÖ5øˆ#a&A•®ùæÕi„Š«‚0"Îw VÒ}é,Û–Ý’ výårK4èÊ+¸›%+p:®¯KŒR…µ>däÞ+š²@E5 Q›ÿá^›¦æÞ(…>ûlz¡2«? í96m‡~¨tªü*ȱ ísSm^Z²c \.õ¾Hÿkcd· V®ÔãÚ¸Ào L‹óÓÎö{ÁŸ•ùº(0¹ÚZ‰dòSîZÑî/_{À±h¼›Úµhª'º~HOJCeBýFLBÔ_ážé DzÆl8ÑÙ 0¤©ªL»Û‘/ºÂA}¬<ö‚}®Ô§iµØh-+#Ñ$^ܪw.÷½F^§v´ÏçzSá¤sQ*:‡u;“ØÔwê͸y…ÿ~$¯CÐtÆí|µO,=LðC¬ù]”%O¢ðnk4®VôÙeý]>¿)ìiš`F&Ó¶‹¢Æ‘gŽºŒf™$,6o;ÈŠ…ù¡¤â]\j~Gnbƒ,ÏKY ÚCÅ–sXÙ‚}+ìOµd—ÃP¾: ÜæisÕ~3¿g À€,ÂÐí©cr3:^ü9¬„¿¼†Æê c¬¶ËÙ#~rºR=Bѳ ‡Ñ%äS¯ßJÓžCÃò)¥…ïQ!ÀNWÌ —U¢ÅÄ·'lÓû„XÝnÜenû©{(Ì¢Ïþ'ЍåÒÔéš …šQÓN®7—V¸,5««Ê±•ÂþÒ$š³ÐcéÖ+ÚÇ û©òÁÌG¸‚¸ê T²ƒÇB-•÷7xÇþ”Óeá)k@qþÛ,NˆG†X9Š©±TŽºj@`¢oPaiÏr‚?ÛÙJáŒ!J2ÖãךÿLN*h.܃®ŒÝ›|ñд<¿…‡2#V¥Jr¢5°E7çö"…X¥5i&ø.[<ÃMÅÈ^¶ÿQz»¤öÞ»Œ¿M;Ù¡w×WÇpQšl¾¦õ…ß¾n¾Î ²w°#IˆBr9Úšß­ÈFè‡F€5ü2­%Œ6>cÉÏØfv ~:¢Æ¸ºÕx)PØQ»,7O^P7¬X $‘¨yf±OqkéÙ¬ñÓŸå‹hv¼ÞßÿPÓ5ŒVP©ÛK±«ãù‡F´«¹Ü¾á‹·N=« rW¡‘Ð6uP©¤q‡Ì…³84’ &Ûø¼x¾­êCü \ÜÿXõÅdî´{ì ïÚ@^-ï‘eöͶ ŸÏ{çvqóñ¡U˜xŠ7#,28Æ8"ŸoŠa¯Ìɵ4T“Žý™š¸"Ÿ–©¤V`a[ÕJjà`’üä Ýázœ ´[Uˆ…p¤dq,ôW‡ØÙ%"‚´MîN¯@FmÊÈ_Ï_š2—î)}ûÊ¡¬Å©ººRù©¾ÅG¾.€º5­ èúÿÓ¯´I¡Ÿ<ÓÈ „¼x˜¸É…ÑdŒÅ.ÓŸ;mp>M/øèÇøA58AO jú_º«x†ö?ªa:ôYy©€ñ;7‹I‚¹AÝ7ìjÖ×tná?Š*'¼ª€6mèµTŸ'ƒChÎ÷W•#Wðø•šÿfÓæiÓ…fCMv‡šUIÀë-sˆÇJljè‹GW³=ENz ¨&ªü8*œ çÿHƒèP­ò]à–Šd{"®s•r]ü»8ò"›|[¹l¼ÛöÖÆhÝo2¨ËÈÿ1ð7ˆM]µùU¦ù„nÌ{Ý6QoÄ¢Ùq–_±·ÐS'\ÈäN>q ±Q?õuò÷ûÔ]qÊ/ŠßwnÑZó|â2!ayN¯Ùz¤kO¢*,AïÄa:¡îh#»žkÝü'\[0`8÷‡ ¨Eôº¼#ŸY‘`‡uéh«ÿG;Ó zEüÊIQ¶,*ò?Y]¤ƒÛ[âi"üýº”ò‘wØâ!ÿUü—V®XТ ¼±ËâëN³>‡q$ËÈÍr ŽNéÁ0$Ô¶^´ùICG@/Ŧü™b@ÁÕÞx€ÙIuŸ÷rB¾ü¢s“,¬×Êaæ×¯ã"ÍJÛ‘·êbK°*Ž4¤™z)Ìw:­Èï¥Q‹ßEëoB›m‡ÎÊ.·—öGyÃ:!5†Ô2ÂsT¦;r°32AÄúÏÊRÜ¶ÐØ» fOXqOk¯ïâ@˜œ!¯Zu)*h°ÿúö[ߥ‡ÔúWƒ 6]rmÝ$$±›YS/™ýkI›dÓ'7e²âZSÓ5<“à!+¬0ä‚9»jÜM ªB)ê×ðèå§*\nMoVÃFÒ+梇ø·¨Ìb0þè[x˜îÇX)k@âMÖâ.É4ØU’4tñë æ!|©˜u³ezŽvüqÒ&¶—¼x! ?Ù’JLÛïBÛ-œÈë…h1E|æ¥zËX½@Ëfèp‡ú6Ò¾¤/G»ÒõGó(•8OÇ_XƸÕm•`”Éú²ÃÕÿF;þc3wƒâkÚì>I‹o¼CYšr>óNçe8*Œ¼ ÎaÜlØëc­ô}Àe”ìÕòË[%êIàžtã£ã)`Ö‚¤$ò¨ùµÒBoyöoõèÈZIŸ‰ÔPÕþÖ]=%ÙQWÿn…© OÄÞǾÊÁ¿ü¬äÊœ/3@,ÁÐDÆ&”ZÖ¤ºk9slní àÁ­®Ä ØŒiRÞnxé§ôrp¬Ñ¬s—W…ú7@Ó¡£Ä5ñ£ÊŠÙÀìOÊDæ9 %ÝutŒgegwȈư{_ 4!wZÁ[0ïXï{svU$7à:¹¹‰ž:v÷/OŒø*Žm^Cd¨‡Ñlÿ‡$W¢]mOExîðj>¦:ëûÛçÚ8³â6F–Äfã Ã+û ¹â&6[‰õ]èÎÍZ‰Ã$ÿeŠG‚úM©4êÉ0[uxޤ”H燹QƬj½¯…O¸b—DÁZ;éïÊ?>ËÅsÔbªùÄ£bWÕŠƒ …]ppé¾#—XXèb`#È] å‰OHøM}1pbX› ×ñsüÛ—PL£…VóÓ«ªRÁX¯C‘sÀ{ÎKŠ$,øM›­p`æ[oýžß¥>ª…³ÕtFë pæ÷«ŠåR­TÈ$]—_<—¬ešºt+¼ïw\éG5u÷ ·¹?uäbÕ׫ö?ùóüGË‚}ZôüÁ{µW¢ÓBþ¼µf>gèÀvŒáôw}Oà·qnau2ÜÉ‹¨ " ®ð«OpÇ“â ÙÛ·†Âò4y‘gKÆâ8JœÛ6Dy¬Ü¶€B÷÷`åSõ©gnQ2B®cºÕâWÆLîþnV}ƒ÷p²*‡váªS ,ª*-ˆº“Ù[ØPn¨0Mˆ]›¦ÉEq7œ)^óˆ*W4ݶa‘€¿ÿ>à¿~´Â½á¤"â£×w>æl‚2yêXÑMÈŽ° 8~Qk(v¼½Nþú¨²§Î€ÎÚϱ}3¦ÉŒœ;xŠyJüaúåwœ8•ä11e«Î`¹{Ñ-×w wýù.׫6\{±ôC¦&Tט‰xyRάœùÜon"q=åE˜yx³£Y3í›f"Ã~§pbI2)Víf— Ü€‘iŽxó¥1(³¸PÀ5¼ÌLvˆ:UÙ3ÓÚ›ÌÒ¨ÉÒû3õ³ÿ~[g!Ï›ÉìWoCT-¨aÖI~ôƒSͽ–*ž{?ÐE„§†!§ «®‘4tÌßl&ݨ¡WÕVeÛ¼ ã¹€ÃE!¦,×äÖ —$ÿS¹VYöy–³ÿeÌÝX‡ÑGhÔõ"úpó. ÕþËÚkê䤴ÚBÙ>‡†f0nÆ H¶vÀUìêhƒ~Í\ªEr±.L (žþ#\ªO “>‘6j+›×Y óèúsr5ߣ·‹(!ÃCø%€½ãOnIã¸'/¾EÙểÉÿ‡r‹LÚØ›ÖÃOv§ÒC1 ¨Oo{ÔBB–R2œÖd’¥Ö¼mG8j„­@C`-\H_wH踗ÿ+F•›–LN2ª€H«T\KXœÎÛ:røCh°ñ(é×é*}9è[ éå5âÑqª&ñ¬¢Ã×b†àãp™Ñ'óठò²2ƒ¦ÐSaGJ©ƒW§ÑD³E  »éEŸŸÀPñäÕ+ÍêQF®/Ö kÄh°™çcs¼¾! Ô1£̼ù£B¦EˆÏB ‚}²¸¦ùˆF84ˆ]O.£D¹¿äî:4Bz4©m1O“ìê­"Ñ£ðÁ-´_CRæÛ®mò.áú†=¨ˆ}öwÏ1,ö-Ï•>·oà•ØÈ¿ÝøtrŒ(æj ö²Æ{1˺Šý½åÝfÅ¡éCAÒ<ªé:œ°© ñµß-e‰@{êè„CõdM6®Aë‡Æ¬þ¿ÐzP ¼ËHÑfÒ(&Ê+Ú…_õ)I#H?K¸¦|¼5]! Òt q€"ê ÝŽêˆñÕOkÆÞ(D_ëm]D’#×ÿÂÚ c¾ôþ{ µP4‡Mp(…A±÷cƒÛ¡®(Ðç`IˆpÖ|‚Q2†7ÁÕ¤ªÈ~Rh±+»êˆÃÃjÖl½rïñÕÃèÐÎ7 IHÙ+·k›uph²ß;è%Za9Ô ÀÿFÖp/ñà»8 +&ZÖ.w_,Dvãi}¼Zƒ£ÿV]:p£fpà”ˆ;™¬í‘yýË´Õ²¶™˜¥¦?‘üúgFï{ÈI¾yeïtb~´­Îã“~bL%ºŸGrûláÔcî#‚ÑEQ8ÎG¢uùy~ëör.‘óAd?[Ò±çŸnU#Lò~?µÁQ­¬>9 bô{‚”³%kêg–D­ƒuüot! HöŒï´2E.?¢Wßy‰íë~É¡Xã;šˆŠ0ýâ…ÇÜVs|á¯.Ø÷,QŽ,üi0!ì !tN€oŸtâtaä{0õg½µÐ.²9*•Tõõó7Ûyùè®#õÚÚÈ5Üh‚Ka:¦ƒ*W»Ú:­Vá›'¢¾[2$\^\*_ P³{õf3-j$?JGg—]Z°—h •D/Œ! _|nÏ* ajÅ›.òüKî̑ߋ÷>"æ¯0Ì R2?écÝÆý)‚ëØ0­¨”ƒz? ¯Èb½ô6Uèlx¿ÄæDÏ–‚€§§–—Û»Yºa^ÿ:1å"’„Äž×·Ñýtf©ûç>Œ°ÿ­ ©*ÿŽb¾m ëͽj‰´¿ýÓ¤˜~Ø6Šš°‰)^ŠØ7ùNÓþÂÀc.PÚ¸H:ŠxìÞå-ÒúºD3eÈ :!躉9_í‚䥚…=…µß ÜZe7á§ :3Gî+ÌüI…{—wÜ OÂ4ÑÏy¹Á®€M¥²<ýƒ†­"FJå§ '‹Î¬ý‹Ú‚hSu]UÉKYyÏŠ£‘Þõz|¿aù¡ ôUªâ$Khɧâ»$[óÏñg´öî¢=˜ŽÏH µ'¿°_O;˜+ˆ`Ÿ‘ÉÂPiòr™,tí.Œ‹X×Qw^.îï*ÝÛÓ+(ï™z"ÒæÀu-u*/íáX»2*­ _ºÿ{¬ø$ëYÉh&°g„¶o ÕÀqM½©÷?˜c%Çxw:nP£¡3è Åí{âÁiÒî¬^G¨×-„ëQÒWÝ4Àm”',²qBEòÑÕ$_¢¥+”«QÚ{djð†l½³Û(YÂà›óJ„+<53*ã)ÇýŒ®Ñ e–{ÛǪ n…têýô¤‰ÞßÈþ%ñýï}AÛ[JIŸväy–Kîi¹©D*t—ò1Äï žÛWô„J™ÃÇhËrÄg»í*uߣ¸%a‰)ên‰)Ëm=V„±B9£9__ôçEíŠÙSxvqÓûºiž4´þ©ã%>Áöt9÷/¹mÉIÜSͨîQ·ÃQýœVvv*Êž€ºáàp“Rð-®\ƒTºÍCZòS®cƢČï0$zs72Qî¾¼=Ï¢fÝSÿÖýÒ+1ƒO»|`®»JødÈÁµ’ùÄhc ÇÑC2†êØ%Vh7öø‹¢ÖÜÛèÆ0‘Š?Æý È]9Ø Ž³.ê-2f¡Gº£‹Ü¢m'çØwNC Nèhj§T~´Ã ø­”‡_éË¡ª!Ó¦<¤èŸoýN|" ]šW”L¦ØGÏxYÏ¥æ÷8`4õs Ë-7ØrsØžl5±Ãº°<‘üµÞ˜~Hü † pN”Æ|ô~E];Vª&ê{w>ü–Ý6 ŽžBÇWöÀªWTg8Óïýä·߃؛€&Úû³p.ûgÃ#BsŠ')jÞßòP†°ó‰¸0Ô·¾sCàChƒÝ¸œ€è¼!ÑY¡.D„³ª×Þ ‡€ê*òØ#‚»Ÿ7ÚäJ_bp”ÚsÔ*ÊV‹«fJù48’.Z¿jSJñBºÇ–¼hÿ ý­µuä±i‚S"–þÃZUí‰àÉxjƆV¡ª¸F5‚-ÿ_5Ù´6Ö£ÓV?fÜ%¦™ý¹{[¯H^x•þØHQÓ ƒ”9dÍiì²ôQŽ\G4Uw‘]•nYgËÍÞë‹ñ®J \2ÑÑ­Bƒwž+ªghT•±Œ#%ô„ì3ž*? 8.5æÄU›ý2À·ñ§¶í©ø—ÃýeÖØåªŽ½šŸ£Bͨ*ÎUXʱ 5¡–AQǤøL¶ ´eíø‰'l÷«A¹ÈE Í »sàÀ¬Âº:]\¡bN}#­¼YC t-²Jaw…_Æa%þCo^Õÿ°^h=~u€š„ ©A*»>ä£‚Щ—ðÈKñdéÐÌ' ½¥>á4^èí—=Ô®£]É&…Wgó+,‡ÒÒ{‚´5‹M6¥±ÏÛ…½KViHbD4­¨\>pd<øgƤ¹DÚÃÍ!§{à@~­7 ‘ê@YÝ”Çú°VŒÖA)ĺª©Qa²dŒ=Èoúêíi¤ÊÊoµuï ÝÑïÁ7í\Ô•¿/f< · ZǬ¦ÿ)6Rs‘x~ÅÅ»½½ˆðD³È—9rÍs½ñ/—^î§J[y¾É½„ÙHd£=sݬӧÌ).Dê}9—¡wå°ƒAáLe×-¬”ü²2šÜ,t`¶ªŸ‘Ý`)•–Íìùù#´óÄeÜ€íßÎHÛ?Ï0ì‘#PÇ) k–4Ï›aç‡Ëø)|¦óÙÿÃ"R„J xïyÜ#úé«ÜO”àŒ]ÝüÔb´“Ç<¿i Ì^:[ŸãS‹¬Æsü?/ ¬QÝBa·œ2þ‚VŸÈÍ_½ç쑯¥*“zó]ðæÙÄ­ì*ɈsèØ øÚ”õó®&.‡I(«•­¡½ún/nîcøÆ¯nÛä¿é‡ £Á. ÿZëM¬V‡²ƒ§~x Û.U‰"{x^ƒHùXo ’|–œiUN‚ZèX_²¦÷óï´È2²„ ÅsŸ²Ôü˜Íï·/'೨º0€l[‚á/ù|0±¿¯Û]ˆüì1-‘/÷^oæ1ùn Úøtr×:2ÂÌD“o›‰á뙊"n¨C4 ¯Äê‡ǤóW¯ý¥`áñY¾†ó]uLìrݪã‘Ã>ÂÛ×°´zsqóÏõVºf™Æ§á/ðÅq2aj­46ôWRùe]~Ϊț’[ï Ô“›I+š"@" ¯½ŒÉæ—ÐýU6ì>ƒ¼á;ä¶šxhâ´¼[¬ÁTì&¤çõrIN’r«÷™õ³èæöX_‰mÚÏõhÅ=-&îüZó/¦Lg̰Y Ò•ü d€Œ^õ¤K,âàHˆ‡Õ®.<øÓü8²<úìÖõ"3<Ô[6;µÖyø…± ãv5™ þt#Sø³›Žñ ødŽ´ ù‹YªÄýÉú“¸YÆÔ‘XÐ#*.B x.hn[ox<ˤ›0 ßt–Åk> ¨%f‰Ö@dvE²pw•Ù·Tã (z—ÜRÔ{ÿg{N¤òƒjÐ$6Òsq{~’ç“ÂøýÑ‘|quXLChV/׈zWù½²°2ÞMf”¬eSõÀá—¬P˜–øUùáÙ¿8*½¸è0œ\Þ $¢ Ä¬:­aÆ´10ä†f[%\€,>ZR ßn¾êqg3÷8¦Þxý„¥?Ýì¡&ÓÀ&r\–öy½'µžØÌŒ#¼&4B}=æ/±“Kç_btc¯QQ4 T°ž©†ŽªÆ ë¼Êîñ0ÚH4 ¼#›¿bùסÁL´üì› P›{(tÎäÝ`ˆ×™FX†Låw›+! —#ÄÕrg›ØšêµÜ:ŸÒï ¨xf³b¨žÀ3÷…•Ô˜çW³žhÝ&ÑYÀ¸º¿OCa}“ø¬º o±ŸXLÏ2wœäÆèR_ §. å0{¹S]±wÇ90‘|^¹Ã…^ÁuFóL.§ùbs;k&O_žÓÐh¬ð¹üÇKk^ŒÏ½N>Èô•ýÓî°D 13Eù0ä„GÆ-zGÛ¹qJ 7mH÷­Ñç÷(à€Q ç…1º’0bÚçÑ` Kw«Q×Þ"z“‹RX24½ëùõXá…ÎÄ8Ó±@Ôrd ioum=¬1ØvÔáû}]Z—z¯*_ØYbôŸÝ'™+Ñ‘?Z„ZÒº·ï‡ÍÁ WÍÝOK?³>‚X¾*k{¯;‰ ’sXb…X6ŠEMÎ/ÅÅjÌ Ęåp3ià„;%á Ö>¾7^ ¿ Óô¼<«ºtÑRKœ£ñƒ$(~¹œ#À™“†‚Û”Ýò\áîÂ,€u¢…dÝ­Î>T"`{½YL, ‹í""Ú„ –ÁXÖ*_v>Ãv&›b¢dœ›=o&*kºrõXé †®~Û½ÜP ´h˜KXݬX",°æ‚eø½¨Y`´l9ôëÛý²ˆJ³¿%O (9:"Ê `ÝõÐØUÀF:¨%(Ÿ£¤üºé~‰K®³ûÚb®ÂnI÷¸?J¤)µcîZœgo•ÐÃ¥8o ÃʹQ€ ÂæÜõ!©,42U4Ý4&QÐ?”¨EÃqeÉÜÒN f¤ Þ¿È`tЬ¤Tèxøzu†xi¥¹æ·¡Ë€xr¥~¼û„É‹ÉD1 OĤjÒy£î7‘³R Ëg“¾ªª¼§@sçÏ{øGþ~Ê ˆ…Úþ<^ss0T‘¶,«¥Œ8+B%p„ÆÁÒë}uŽÆ YX¼/MŘxZ)cGQÎ/ž·Qÿc€Æ?ÍørÇá ÈVâ$²~{µÐÝÉ5Q'¤©òͳ'’Uô±˜²ÉÓ‰XÑ{šÅk[(ã½E®éåÖ+¬CvÓ„†ô'×û¤ùèkÄñò/Ÿ¹ìå©‚d"×™ n舯ã­9©ªÄ®ûÌfö t4LÝ…\T‡%¥Z€‰,â´Þ6e¹‡´MIC7ÎêS‡¯F“šà„ÂI‰8Rý•ÝÆÅ$™§ªÉÅ[Mž*‚™1wªfÌ.Át?C·¨÷Ú ÿ”ÂÊb¦å¢raÜà#A,ÊQÄ÷•XÚeu!Y^g³OKºªÏÚr0Ú>sN*ïëÝ—QÈ=ý ZI“PV÷wM'B¸ÞBŒgà}é´>ÓÜS31+ë²»q‹€±mR¦¥ÅÒ5ö\[É mÕÖ Æÿw0Å&}~qoˆÂu”b±þ›ÆµÎê@tÃe‰±x—uEù†º*`ÜN€ÜUOÞÀÞ=újé6Ú<ã$Py­éçpø<ž™ë`CA‚…%«_Љ—ƒÌ|œ~‚Ñ]ï¿Ä…»ƒ·CîIô6[ìTMù²*s“¯øÍ~ñ`¼Üd®„":‹Ÿ BgP¢Aï¡A|ÿEd²¼ÂW댂´<ËjQuq%è´ ŸÄ«˜:°¹,ô6äÌ¿H<¤™"E@˜9£ší§-òùÿRûtÿ¨Ï3na¡’$Á_ôØkÜôBÕTJˆmT+Dü+2èÖI“Ì(”kÁ>ž?ôŠ¢@ë,úW)w töxz–•9Ê[E9hh*¦æˆÕSBO¦ß $¡Äšâû; ‡×‹Ý·˜„ÈOteD8c>¨9¨Jågï¼ÍnJu´;F]¶z['w‰‰“íÍl6üSkëvQ¬ ¼ *ëmW2z(‘ïÜ-|VmÙò:†§üÍ«DîUœD¯m[Äí5»æ ZoZLÁ“5ôP6ÿüzGØ"Ÿi“³´õmÂ@`;ÎßW½ðx’}þjPéàdÞxßÒÌú.™Äˆ4ÔŠvŸkÔvº“ÞŽG×ü¯JŠÉÅÌŒ6ßüöGª3èê#¨pñçÞxxM} ÍYjÖgYŸ†ç“÷!Y+£vÒpÁV_á-Dèé´ŒP}I& éÂïD•·CÄòllf9†þPz>ÿ•p+ãk^ýv« gÎ ¥v¨m“,X&4üË¢Z F¯g÷ ò€r[tî7(¶©'*ß\Åv3÷»—`á÷~1²RjQ‹m<´ëæ·?°×R# ±mò@+eÅCÉ@Òñ„9YÚlIHÞEÿ餮…û2ÿ{wØ —ÈDÿƒ•k|ºÏ€@^DvŠ"èŒã¡Y-ßc•Å%‰‚Ô+R| E Dj—êß&¥·ÈÑNOþÄÓ¥Í2ì1qrÐ ¥I¾³‡kƒVjøT/ˆ®°"¯¦?x±™&0ÝÔC›DQP„Cפ|XX²1G„°Êi¤†¦A)A-к=œ]ÃþL)àHï}VÃ=:¯”8æj 7=ïα½§é<¼÷þ~0mðn:‹HWTYÖœKÂþQÐîÏWËžŽNV^ ìó‹2¹¦e 2ô®Ï{ò"K˜˜,ÚêèXÈ¢ \Ö:M¨J(>kC:t-UÞ]Môª7 *àýîDŠsŒåq€]núÄô”c’.sw(bÔ*i.gƒ™vKOn–$8>ß1Æ…C³Å´ÎÈs1J7)fSó;®ì4ú\ýœ·$Yehbh‰°õ¯™]a"O£ïå“·–ÚÑÞ€ïøòk&t´ÈØy"'ݹEJ³y·Kö¬~-’ž«¹F¹ØJpšr×@[ô…/²°Ù^Ý©ˆ§PnX>½øÅY_(¡ô¶Kp¨C{fFD¶Ãy:¦=‘Ý'ø;ø7ýÒsêNŠ\ƒûŒ € ¶þžì,rrê,#ÍãŠj×JˆÔN-7¤!Ó¹š²nZXž@7!:,“×ܱQÓ‚4¬þeFBU„ŒÌÔX\¬&©Ã¹5Õ¯¯`ð‰I'(“¹p¤æ'­`.•Ìt%õûiäQR§®Ak.·37@ù2Ed±öXúªî£hí5ðüÚnK¤)1óS(tç<¡vƒ0ú¨Ò²ï¶E_úËmó\sÙÝÁWØæk2"‡i‚ÑøCš( ÙV§Ûݺ¨qÒàm‘[Š]!+7¸¡È‘…?SvkžÈ·Ë: KD‡÷€œz ©ÊIØiàš/lG¢\¢'GÔõý‡ÍêN¹UsX‡L¿€óÍÿˆóÜ]‹EJïXD­s0''Ï Î4Ó{¥w}ÅËL5®5–äƒNe“šcðd·§Ê9|–,•˜kúEðâi.0,/ióÚ{Û²Š³«^ÝrP.ÚL3 ÉÚéOWVAQšÇaÔŠ|¦$tYwØã¨9H}ŒéGF4?éb,Ú÷ÚÑí2s' ¦^XÛöTWP?ècÄ8z¾?ˆ­§·œìØ3÷$CÅaˆØO Ò0æ àËo™›ë.ß[1&ݱ‹鵺Ñ)š'E€EfÔU÷Å÷Ôøæ’#bî'(5'E^ž#üMbT æw¼XÏ+7É›å™ä}øi†f—±¸²S'‰ôÐGlÍ'y@ƒ>³{¼‰;P`²m¼ù–©ê˯%6³&†ÀCׇ?L߈P3\í´(ê/¨ž©Úgæ#éjÀMXž½5)ýî — ÆFÑ 7tD7m2m¦ÝÀäôàhõ|N®’1é…Á4HØ<\y‘'ŒJPàE-Ÿób[.K^è˜Ç§è±\Çrׄ"æFð (… Ÿ5|ÀŸ—’Ú»ª¥]À/¾án$}t¤Z³ªéu4´O d‚¹$¨5ã4kbs¶R\ÊEÆsû«[ ¶Ž n„JÑ œ\t „áb4DÌŒ“ì&ÉávYä!nÇ!ðs”H#ØC3 D’É;•ƒõMÙZTË,Ýd‚(@Ñ×ére?-Ÿ÷yJN‡´ôÞŒÀ+Ù$oÒ¤!çŸíXU다ç,­›Fp–v#ˆS¤‚ %Ôf9uÓ8~ÚYNÈÒ7ý?âߤ;t^óˆÖö•å¢Iö®™çüüì9r#ófµ,ñÞÈ®9NKûP—a˜?ÐëìaçlTBz‚¸Ý6·æíP?;îG}Â7CµrGTÂÔïÔûîLr'æ®iŽjâ‹Ð–=¢¯Z5ÌTwȨ§·ö„Ṛ5·`º]UAð2Æ=ù3ù¸ËÚ÷ Ì~æv%,µ¶ûŒÝÕ›QýšýØUž}` JÚº ü?“?hkÓ°$Ïs”s£?½õËñP¶XàüvÐ.¬¯z ë>Eúµíà[aBßK ‰îë7¯`°Å! {þHþaë&vÆÐ€Õ=λ7ù™Ý<…Ï¢EAs½'ø«3?ÿyE£½ fÃV b3žAãût%´x[ ľŽipUl®ñ•ÄQ°îÄÏd3½ÍPŠ#—vq€º ÷ 8Bøöà ÷~Q×¢kr:ßóµHK·ÄZÀ­{åáïH…É£k^‹rŒ¦ú¤”g¡S}m¬pW*jˆFÁbÔœmïÚ® „ª³¯D!ÊÌfUFŒ×E†z¿Œ$;üŽÑÙgàÒA&<ŒÖ€K&•TP>]ްôx-åw唤X½á/]uéšSß^2w²}ÅðÃ.D ¹¹‘÷\‚”fØ9±ýÙ9#oß7¨¿.àÈÎW›ä™ìöWŽÕ\›S×–«»W®©æHþ±s3嫊€à/–“¬ˆ (>üÓ;ºyeß^ÀhüŠ8·ÌUó»ð–™ÌÍÒ¤ŸJiû}³F«~Ø :³åÞx!šÔfŒiϦ˜Ô b Yšd ‚_LƒÙÙŽƒ"þ…\çåü·`€-c.À·d¬…J±fÕÛ"øk1u/1ýÚTŽí·¢ä)¤×´†u–”aŽ­ØaåDëªhªö…ÌT•LÐê·üIHÌ,7ï ¤Ö¯ºMe6ÿ)‰ûÝâÒ2¡>2•éëÄò.°ºOÜÚY-Û)ÍÃ(µVtƒç`u;„"•Ds«òö|'ÿa{! аðu͈ÑîÇýw5„S}%È2‘qm~Ó¥þΟF˜Ï4¼@+¬ÿöŸO ð˜€Ã®ü,êâúv“wïÂò¤¼f´^IX·³¶9“ß<ÁÔ6ÅÜH¹*£è´tL%P6›úcÙ‘ƒ†ÔQñ¿„ÈîÙ!Nˆ˜Fp‡"#|@Fk‘ŸRFÇ!í» ÀI²ŒÈú·±‚~Bü­G‰ø[ÉÆ„3@V'%Mœº±¯E®+³ä¨žñ€ÏÙINÏøqë&)›bë%ª~óI€CHGon#ð. sDóEÎ&fÄIOÿTƒF½;I^„n§u~ÈœŸ àR¼IÔ„5_¯† ¾J‰g»—¸½:\sӱЖZHÄCÔ¨49S¹¯°@7¨ûY¹¥\¶v/¥:Ízl`çÞɦ:Ù?Ø)©0rƒ^dE·¼ì°FWNg­À7Âu§û79¡ákPgãS. 9_1…¶¬Ñd>¾¥lax¤Q|@‡kçÚõㇵg ·—”Ïóí©U ú3;ø¿¿sÛ)Äý´/-r‡ïP“ôH `›–ñ»‘7‰=\Ý·“öÄ6<%v±)®ZF…¡j‹K ©Heнˆ3Q ¶¢Ã§&»±ç%ý#09(©h¨‚ÜÌÚØÖ`F×SĨÓü=*4'sŒwÝÍ<˼{”±¼2#t§­–c®SD^‡LËõæY­Þ Íñ §r‚¾€¤.Ô ïf¸Æ´â±¥±ÓLMŸõ®ÈŒ áˆBŠ\Þ(4wƒ[ ½z¶~Ó3­D#8&6|!*3ö¶j-ÕÔŠ1·¨:DZîa—Mø‘å7DÑÏŽõÿW2Û@Ú6ÑÛ}öi@Ú/*õzÁÌêÙ¾¹‹:MS3«ù «‚©ä¨2sJïr¸ä±_À_DNDB[¬b$S™¾ŠMé¡[Œ:­…Aâ|¾æ‹-âVe=?èm¥ðëŽ29 ©"Ûz2Jûµ…(œ´[$íMó¨¬ÊO°ä“• ñq‹Tc\"«.šoΡ–ÌÏO¶Å Á)  übŽõÌ XÔ· 9=©ã<g…bßრ#[¶ÎÊÔRÝÿ`ÐJ±=dòïÀ«¶vÆÌÔˆL|O×ÜÃ<ŒÖrŽ*qî̶Äóøh¥°~ †”r HF2‡af㬓†º×Ü·I…,àùÂBÌr[o® ¿ß¿Õ£ÝúBM¬ÊZ e’†10*n½§»/-]Ì7Ï]ûS"x€rÃUeôiúU¸gJpü>\ÄÌÁó~T?Ú%úI€Ù鎌ßx€H‘`»¯&­Cx #1ºö:ù™Ñ¡Õ]—O4„x<û}~‚äî4¾‡&q^ÓT­•G7„˜òÊšî­ß2Ÿ)~MÏŒÛw6,ºã3ä}_ _«µUˆÿÒ2ÐpíNIšv·óW+jý;u!Ãl5Ý<c…$$ç4¸Á#.à\ýSOíŽ w—°Ïêgh¿œº 8Y«Jšô¥ÚfœWAbƒS÷}¹ŸîD–4 \QX>Z,rç„ꄳlœ«+ ÿñÈd©oóRS{ûbR H¨5ÝŽÜÝÖ°]?­E³Ì0ó„àùªp.^²"“Ø:Ÿr• 5Ñm÷coÊp:ÉÝRè”ܪô ªÇךì<æÁf‘ñ¾i;Ö k±·Ç­'SZ_Ÿ^µb±äQ¤æm…ôHC½›ŸmÕSÊ çô`AJ‡®@ áô4$×úgŸ#ĉ#X^ î¿£¹ r°HϬaZ–ʼ±Ñ&7mcM¹¼æN­´îE",­˜1wy)sYÑ|g3v;j90Ôe‡ÑÐf.Fü›H×úÉsT@ƒrR@ƒ[Уg¬PýÙ¸òÆ^õ%ÉWÂ9J`PÓ‡o›Èj‚ºWç_a¥ù!öÁÎÔ)Ý?ÙÆÍ¥‘Yu#ãÇ䉆Ax2öUƉvŒMt3W!Ä”Eñ²Fþß¿ 2­™Öì>ès_íùè‹O)ÀÞaânœXÆo¢kçB _”F|'›NŒN¶ÍüaœŽ_-Äz¨"J+p‚{ûUNr¤ gdÁ*wŠ£ †]¾ YE­ EÇý±Ò‹½á<Ì.‡Á’>*,D1¶ÙF F™pæ­ÙsÞÖ‡imcÂ\‡A›7†ÇÌf0J£;efGB„Ø%µ„[¡Kn4¯£˜Ì÷pé­©.–LâÉõ´ï¦spî YÚ\¹ŽÒu›B£ûî†n;Âåœß–^®}=‘©áÍüù»¹ÇÒ;Ó ,K‹GUGE¬x\EÅIïn½þ¬JW¤Í$¶Gð(O'ºï°àk’UPÐ1VÎad¬‹¤ð¨”«G:tX½Œe×-/*.<@¥ó%x’ @ˆp€„pIFS3,d¼0Pµ¬éŸN²jÑpÉôR´ß€ ²QbØm¯í/Yj* d:"@ŸnzñKú Òò´Bˆwvo¸oE«<Áã¡Ä1õg§†70å(Sõe9£Z°¹¢^rºaf=(,_±…xPÁtuÒÛ”‡aòÛ;ÑrŠöè«Õ û„ðú’TXŠYzÝU±}3¿º¬\Ø¢>` Éù`öÚ®[æ²@‘Ó¨áqÞus1?¦àMÔZˆ /»×Wu9:‚Ã+éy«#;À&C_QM+ä|É„D«…Ô³1oC¬y•œ?ïÕéŠãènCp Ä±‰žÿ‰¡ü뽟kõ‘îO¹&œ‹yWˆzBØÂÿbîìýŒ“Y"¦Cñ ½©7¿ú"å:nqsëpªôÜyî{—ª2þXiÕoþ‚°÷!gnøÃÐ`’œ¥$–rgAE8”íT‰BƒÕ§Kï•&©$cèN<% ›ï¤‡B+éé7n¹ûczri%N?\;f†(ñí(¹8}Æe!½4ÃE†4ÝÞJ-7Ž“£’Ø ³ÖÇ3ÈÃé§!Æ3/}žLPŽ¢¢¥b›ºü?«.Y¡á¼L¶!RÍM-?4ÇÄÊ}Ö7Šu öeJ+qõÁèˆí¶×ÙäséK%ϨBŒ3˜Ù¬ÖJ£2æ¤ÝÆî̃ˆ)é3³ÍóŸ‡WìÜp#óý$ò[¨ë÷Ì3s«:l7P‹x–²HÂÅ é§6ó õ, ßM×ÜøúÄ3]6ƒt]ž ½LC~¤ytúršå®°©‘ ÿ…»Èû‹ù$HVP ËÀ ðÐTkèø¨¡w—q`ê"Òv[3?’/¢ëŒv+Ð6¬©Ä?ûeèl î•í$üÖ&8NSËîkÎ)ƒ\ÑÎÚ-e!Z1RŸÎ0H1Ïú'ÎoÆú°§)nž¶êÉÝm ³³$’QñùéÔá®éÕø´“[ ä¹)etv½¢%ÖHDÅ»ÒÊ‚ÙE‹ P Npð'#•™@¥Ö3Rö…_SÙl§­ÇŠ®?êÀ*$ÔÞí­ªXQå ì4ÐË2œ,Ù}öQ%‘{tm£‘`ð?ó¼J—[%ðÂ$N 5L/[îœÒ<5š)ysï}:H¾3‘Çç3f¸öÐÝ~lŒÙž¾ãž–•yÇ6°ÚøŸH=zuÑ‹iÀ ¸Q‚CFºÉøÚ+0ÈPù¥H)¸:}SºDû˾ÜÌå¶[¾Ä ËI©‘}N]Jpþ}.?\¯‰»t M˜4/¹¾•¸G#î;ÔU1ý/Ѥ Í|“j »ïé©âWZ*DÀY” Ý/N/rXà‰¸?sÍ4dE,­Æ¹32äJmúC4Ö‘Ì•Á“2 ?cKßý25¶]/aÙY’šRIˆø±B C3ò½Ï0*\kéeKCpx°\Й –ÿ¥/xÎYpö¦Ý¨T{ÌÑCd0 ÈìùnÃ÷0-xþ e8à&Æg£‡¤]éX¶ßgaw(!ÎO鵬öž8=NSÐ)·’®†!¸^ ¨û«_™n”Õ·X†á%PܵTKÞûœì'ÁôÙ9ÚI3P1®2]¶Ö‡éÚàÅÍ2nó$îáfGÍsw}dÀÊ?T¢C&Ím¹ÙMОð úó‹[æ&Ηj#º¾K‘«Ç‚Ÿ®cÝviˆ¾&tŒüµœíA“$ÁRÓX‹§†Q_ú n"¡¦[œ=_'¶›»3€´óÍ®Id½µ©Õóeâ‹32G¥’8ÏÕëÕŸ È`±7f&ÿî$»9Çg}゚É`ˆ\r÷€ëλRÓ³¦ÿDXˆ í«QÓ—{ÛÂÍ5l‹ÀÂÞä¿} /ˆ[Ý–¨Ôë¶ AJ.`£ñSºþwß·Ù{u"¿q²¬ã@$öö.Ru²ØvTyRpVÛMŠÎÉ)¸Ó\i|h¨Æ)ŒäQÿªf÷ímEhñÉpŽ PzUIR¹¾NXucAMIø]Í4Ãþ/ÁmÿÜ›ÞÕÅ…ÏÎÉÿu”¡jMéa³ßdã•8ÍãvO "ŽZòFŒCÈfJP U3áxÚWM†D8W1òmû žÞëßSt±ÈN<ƒËbÞ?—]“æ»{Örÿ…çH· °;Ül05à»Ûµ·Ú¼TSÜ:ËL´S£X.È=ñ6^å!›Nç˜Ó^»ò¼ É—ºE1t™4"Heèa%Êám#¶œ.•i–†v¾ÒËô–;ŸX+Ñü‹¬ “±•=Kh ŸCù'D;§8½C/žh¶B';Ö¶•”Z™ûcûCvêüMäá¦f«†Ñ¾ Îöí$½¼ˆ]çËÏè—ò[¶I™2WÀ,,™mBU!w$çèëøì›cTIó£Ë ú!K=«1Rr±YRŒä÷þ—”Ç©[JAKVdg'>uGЇ€%Cûl{ÙÐK¸D¶<¦E[-¾ÁËŸOÉAx‚vlÊJ¤Ú%”œl½^XÔÖ'ÂÈD|ì‰)‰oB¨!—¯D»8“¡ˆ)ÊUž³Š è >˺éIza@Z-ña¼¢œ+]ÓÞ)‡âønUl¼. *ÎM%¨FÇâqº ª<‚+$d ¢ú› „Îð¼{¾œ8¢hmUŸ¢ŸVÙ‘&M¦(U¾¢SûÌÃ/¥Yð¤HÀ?ódÉ»+sÒ©”hS£:Ûz¡½™˜½­C»f²H‹aÚP¼¦…a#ööWŽ?éU‰€ΕüôV‘0ôFúÕeþHiyzNÇÆ!ÁnÁ²žX}×^%10¸€1)äs\ÜE­‰”#˜E ¨SÓÇÆp ðóhÒèÐÃÞì…ò`èh´T^;&À¦z,2s‰¡ù) èR¶!N‰Îñ'ü=µü‹Í«ªhg~)üŸq\ñÍŒ½Cü áÛ„±QŠYªN ’eãÛ‡GŒôØûÆ$-?Òl;òéVq(¤j í›f|B“¶‡hAĔەh/•«Ž4â\àÑÔcÐÕ!é?v7¼s?_¦g3k8­üW`/à*$~ú6WY0Öã±çßl~Û±ø"Ú¬|W)µóý7¼jÂï­ƒDòÈÑGÖƒŒÀîÃåýè®ì»ïàÇá^Üýó¥kgíq_¤O»ˆG*€QN!…‚dË´â ce>€1—2;›sº’²~Ùi.‘ú¿Ê>[0‘ð°ÅsÂË–;‰øxuË3ˆQŸ>ÏÌIíË]>I¥Nóâ(Œƒ³þßë‚xtn#÷ç”Øùäxè•Ñ5L=‹ ‡ é“ndó¢F´èè F«X ÐAK˜hÿ ÎfÀCÝå&ÿ 9ð§1üû’ŒÔ7|ÇËV„Ç*Ž[?»;Ü‘4¿nëž³¼‰ÇHÍSÉíihæ5²4|u/Y—fª,ë~n}1¿Ïñ½c’Pª´fè]F"Ž­›;ZY….ÁU¾5©ût>Ô¯¸mÆ×¢dË¢š§Ívj Å,ªðæGð,'‹c}æÐ\÷B3*2m‡5öPaôò‰‘Úb]ëO*gpÔԇcS¥KàxÁg”EqÚ÷ ÿŒ‘)|ÌÙåàñqÏtž”­¼¹es„²¾üqÊÙþEéCõ~‹×ª\Á£ÊÁ¼<B&̤všmC¬à¸À#9IN¸û« Òý|ˆ‚Û«pRƒÖù!—?tñJ÷¤]¿Y—VõHaY…H¨’߈Kîý©“!žæÀo‹éc7(2KTôæ£ÜJ5ÔÛæ‘iÝ.ᫌܛ£a¾ÆàØÃ»$èù è5<®Ö!©n8$´ÕÍIÕ}k8!µŽ01?ö”V–Ä‘«,„5Æqß-’À\šŽÝ8èaÈÒ‰%æôÍa–ÀòGÀ@‹ÿ‘V¤DÚ¼€âWõnž~,5Ê’^äòO©Ónd㨥'Œ®ß·ù9jKžÈüK’¾ÍTX¼}•ymÔ[pþ¿ÖwØóöç.\¶~lYîÕ*À×); NoˆéÑÜ™ÝYºNG”)6&¼…&] UkœœŸb5ÁÏbÆüsSËÙƒß.½xZÔb å0×T¿Ê)·b=~AÆôf/“Y”‹¦áQƒ/Îe)0gÌ¢±¢»¡cblA¨R]ï{kHÒµ}@B3ÀfÔ5˜Ø“DF-„ÜÅŒšqx+·©˜¤\’è®XØÞ\Yšü•àRßÖ¡zÉšù#U"9²â.ÙLN ¤”'@ÓV‹‚ëöìüñ¨#EÒÜC¾\uܸ`_“ «îMY§M"N€³z·Ï¶œÃT8@é&”³žµ*¢žïzâ›{ù¼jå÷†-Ô† ÿg<…Ás`â0{±`©“ ƒþa–^å äžñr[ú„yÁêÙh\nàyneê;m›žN|ðGeí Ózî!ßÀ#@,´:úÊ™k¯E*†¥‚˜e¥ca¦÷I&ðXÈt,V-«DöÇóQpîÝ4‹/²7«˜Ü6|c׿ê½YÆËUr©Ý§kÆCÈEqÐjÝ´pMLCÌ*Î͇mq?‚DA‡y½/bb3V7>ÒÒòv*ýüdþ·l >™ª…LÁcÆÊ¹Î°ý nìJ¬Wc\°àŒXnøÄá<¨ Wñ³ýàrÔ> dU«N²}Z«™¾a£þZËŠPMgžMÝ Z}â¼áô­1Äy5®W¬—ðÀià4»½¬I8+yCSù£”Ad>x@‡f á÷@rÈö »FRš‰¦5 V Ù¦ÙjÃÏ4O?xÄÉ:í³GšD{%y™?v…—yšƒ‡û2§å`·)žmˆÅÑérýzO4‰\©Ò ²‰Õª3J%ÎÁ?4×hQ»•r5u>uA¡€éOl y @÷ú½|îÄZiJO'œ›’æeê±½•ÿÊ$”l¹º¸h˜zɇÃÁ³`c“¨±#Ó‚w<_‡e GµãÁtÍnîo˜›7ܼ 1­·UõëŒÞº÷zó±¥6ðqj%ÞŒ2l)S Qì€:êáä:çFÞ°Ýd·¯0yO=Aü/üy7\/×G IHâ½-0+•ýjÙ#kší—s³ru­.“µ]t×t)6CïÌ£–Wf-‰ASWkg¯íÜ)ÖËéSŽRÅ $]cÄ·YKä#¾»)©P‘( jsw4Ü‘$5ù'°ô?ºÖªa9À*¡ë”_P]%ú¹t¡Ãy ú ­ü -ávËž‘ìD zÍÍ{™ƒIUh7¦pœIÙFø†oÄ1 „ŸaòûSáHö Æ"?§žI —_iö¤ob$XKMŽáã™gwˆZ‡ÊYÃÉ”ñsìNÕ#KÃH#_Äþ6áØå]: ­|U,ļîLÕï½Úv¼z|O¦8š¶x:ã¬Ê¬æçý:^%/¥ŒÅð 4vs÷AsaÒF{åíyÔ´a¥#yXY]RmK1«Å´Ç×´“1?í97Š:Hn÷~WeÀÈsìèÊAg^áÙ*i‰vI…ýÆ4Q½¬\";úy1òasŠôô!ù’V [:¬‹ÝÚÑkÖ¤Ú‘ók]pÞc9 ÅÞÚ6î¡ï~fyy.hÓ…G½>½šiÊo2@Ä–a§ä×èä:¹´€sö~3ÐD4Ó¢°ú4˜4âY~.ž(úÉlÄbdÉìíªåéÔQ½Ì…ìû¢íÜvŽ(EñîëCç RO ¿^…rErÎGUZ•ªèJ«Ù[á‘¿WÄ;FÈ ›ŒÕãŽË'e†²(nòJ‰oW\eAš@ÅHc›r(_ÿÈø‹”¼²(l@Ä|âeî'åEE°2Q3#éïåà:¯ÞéáîjÈÁɯn0+0+éMƒ, ‘ò\×–¬Îy}âèÌlŠÌ7Æ“°Äâ$·Kƒçƒ e×i`WÎ…,_% H&^c'€¾xŽVÍeûUk«'¤Êvd£¦cƘíMb¨7kÍ¢7¹ÄÚƒei÷(Š%c¾ŽåZ´«(ƒ»õ7‚YèUu½œwFõm|ÍÒ¬­E"ÛutõÝÝV 2+s·’.$›=sîBô_L&ÇÉ D×%ÁЇH×;%óéÕeCÃiö„hÉHõbÓ|Ùnu˜Ï²Mƒ{xB2þ‡˜¢ÿñ“Ìtê­g3ÇÒ⪬iÜAñÎåТϲëz[¦&…ø_¤‚wRÄnÄ×sšUWG‰Ô0c.ZåÔîG„ÇÿS–œÅJgTìfôgKþX”Žþ€ #ôâL£ÕÖªG…,K ˜®ð´‘…ÿu\j…)|ý¢ éƒËõ̸7&©d{¡äñ;M<ç÷¦V”<÷úéÓ›NnÒBãÍà9D`½Ò%ôJÍnÜß…Sv>pwœRø3 ¶?ÄxÔ8ÍpVY«úë†-]îrú×å&ë ÅCþ´f¾1¹P%>eÔ‘ aÞ`¶ÏCßb½*ìý¼m %a! }Üû®ºrNâ”ßßzó3Yc¶H\„¹P‹‰œìX8Ës‰Dú"[kBGÌLôu4°ãŠ˜ŸT5b=ÄèÙç1[ã »lJ>m\¶©¤A@$näb˜ûl½*Ž‚Ð5s>÷q[ëî–éÍvÔܰUù©t*»Ä€Ž‹Ôc!{0öSYZsͶý„ùº/ïv•+Næ%¹…­b†™e „³ª¶ji_Íù°“(µ(Þjãw¥xëˆ',Ù/°3ÕšAïm˜Æ÷Sf¥YÛ¤1X„*ÝÉÎÄ´º-¸¯¶ïþÜ6Í…ô¯ àSÙ4‰ýÊ>-›³ñ§¾íô/.4dœ³Íïýã«ñß¡‹ëð*r€ûPÁ·ß›žU~Ê6Ê)LÁ‹ÉS(½#sÞ/Þšª‘´‡¿¯’3lƒeÃá!k‰° õIÖ$³”¨©½ÅÃì]Ô ­!¤$€‹³jI Ï2AøæKb‹6âiÓ“ËXòÓ[…à´»hb?ì<¶®Uß›o>µ8åÊPl™ pÛa¦žâ0|A`_ôI5Ï9ÜyÒàqô†”2\0O¹‚n­HTf‰0ÕnW¦ªÐ#†Wšw¨Ä‰z¥™ªÓ¼š&¤§ ô–¡b¼œ³ƒS©â{3¨6ΨϜ*¿žéãžÏvIÀuÎÁFŽIÌ ^²!y•zÖ>WJ¦ í„ê>ˬ{Ë}…>:?¾t?*bJ —‚ã`^˜iËió8äòö­¹Ìf½ÀrOè@¯Ò_;=‘ñçÜÛã9c iÓ?+½âAó¸ …oôÉrḠùQ¨RD—LÖäÓ’ø£—ù§´š²5O†ÙS Ä%úÌ*æÒg´eàa±ˆ¿&ÃËe„§þä †ÌmçBüm£ª\ó"¬(©DÇp˄ۑ K½UàèýŒ b‡Ì¹‚×N.Öš÷V±ϰªÈ±V¬ŒÖ‚åQÓd óVÜo]ûö°Òã¤e*ÛXlûSÆ>b_Ô2s{öÕG§ Gûýc_55#üj…~Xe¡¦TOè}T ´=sóÜ ñþVŸ©fd*4RÉkÔÿ Ü;ÁÚ[i;ð\*‡¢XÝ À§9+§ÿ0­à”íÎ Ñ`–ú(,À{¤®(ëhßJñª¿Ñ"ç~Úua©¿«> ±T†»C•˜˜iƒçš<ÔÊW»¾¿X7ýD@KIuê˜À>äæóÆÐ`O/øz ì=ìE5¼ô¾œQ+o´š¥;[¹ÛœBöäÆ%Dý¹—•µ>°´^6GëN£Wo9à™Lë‡&öwó›a^ÑàBûÛÓ@Ôý•mÅå;®I11æÚUëË>ž'€Šõi5*kIúÜ.³×ÖT­ÈÐA¤7EwõÆÕ(HÒZ,õ­ŠŒ…]£ƒ„V[Bñ<§Æ*!š_Zþ¼‹Åx¯Ç÷‰“))¿x±˜Æöjú¾V¯KTðÅxÿÃ×â†Ø$$*zFËŸ€Š©êsÃ|ñ²…®ÔÇÖÿ* üŠq·4jZd®­0ª¾â(pŒ1´l*râûºþRÐ)ˆ¦Bbr… `ééü£½ C’f½göº-ÿIga‹€[ɾh ? ‚è½xlaªž›ÄÿøJ«Î™ 7 Çýfì&*9ðQôÅh~˜¦…Hùþ£D ;X$!cÒí¤P<¦®)ˆ%’úÉeU]qŠ<¬½;‡LàrSÇBq«Ðïz&¸å6T“L#†ìªÌ/Áts{(qƒÒ ¢Ýå_8÷¼à®«à£Û´èòÂŒ´(³×0R€žJ–5téLV•oÖU»êæ‡âˆÃùeNŠŒà8<ýßa½òåzÀØà ©oÏɱ UûUŽÈ6§ õ0ŠÄ á@%Agå”S\º“tò'-.0uŠpM1:¦t†+‰/ì…§:®ëè¹mà HòƒB¼÷ eÅAZC$ÒÖ%.¶ÜþÐøKeÿpUz ™šFà©3"²¿ í­Ýׂ1¾Z{ FƒiÑi0‰”œZPœª zIx‰Q™>iý©~A®.yóbX˜„ÅDŸ÷ÕIÁÄåÔÁ“ÊŒåS<‰’¢ßZsë ŸhÍ»‚\ÒÊþØèìR$t!ÖUãblÀ²·tøBH*‚TÇ|â“Ïj(V•²Ã®Ù¼U+FÊ+!\šñá?L=J"ˆuµ»Ío jPº–µ.ÏŒX/K±[èkBìGÐ3þ>»'òZ—EФ8¨ý]9F€Ôï¡Líú~?ÁP0\´©²\wÑk·ø®g~×´¨Y¬«á7óy~Ò+wï#“Œþ*ã!tÛ†äx3ÿ5R!†hå¶Âø×ÜÝÖ°8¸^AŠ4am¢¸©Pè¨Î)‹…ÎQzO{4U-ÏÏ6Ù¶{ɳ|~hJMY ‘H#Ûæ ûr;œŸMú†ò°:(R×ãk‡ ¥¯bnh/#du‹OsÎà *tŽ0ÜMždR~óbäE$™¦:A1ðv ˆôºÃ™5•Õ…Ï[+ñdŸÔ.)*y…ñ{ìÃ#æzöYSÓsT—iŠIâx{CG›VÇ׊½FI¹¶o»vÙcòÙ{ šå¢ƒ^ip Ǥ)½¯’&JryƒÑÎ÷«›<à#zí7ª¯'‚øóu^ ®ø2 ²×°»9\aé67Ó Ô\•^…´°„C‹ºL# ÕW¬HÞ‘&7.…:™Lt­Ui 0ÁGyû¬-ã-83„d¨mz¢F÷º7ÄL˜@£DOñ(cÛ1Ï€›gqæâU6ïu®.¼„࿳«–>$-§¼©ô¬´(ì.Ïdê¢áüleIÿ¨¡3Áñ>7¼9¤¥H>tÍËŽb\‚‰O9ß4KdØ‹IÞfóŒ|¼Ð*éHÀØxËãb‘äݼ\jâM ¯¨øØÏaø$ÆÂŒè1Ÿ¡ó×KÓÀ…eUó®d–_í>ÒñìGêr~ÍY8.“sæ,ZâL©é•C)‰m·…öUëht€ *¦¨Îñº`ƒ@ÜwavýOéÝq‘‹=5&óTx"‚2}å¦Ê0ƒá³xmŽœyüÌ™+rë;¦ÿÃ^×D‹¸äúañMQ±húVóQÂ/§ ¹‹Ýô ºȹC‰:’ŸÀëÕ!;O®i°Ï§(X }1Ûô¿¼IÉÖ¹ŒÓ¬OÒvpb¹¥h÷ëi¬5}T 'ü¼³Õ .â@ óƒ: 2_|[k‹b]L'È3 ÜÔ¯œg7·< ‡“¯ø@K^Üÿu¯¦ ú¹êái”73•ƒ@üÞ+¯Ì3›mïÐÅ~~‰ËÞgÚm W¢%I”$T±(ªÃ$hÌô:&Šnj64A…Hn]Òzm eÞTªùÑùÉxÁ÷3Ž«e„hµ;ž˜ã¹A¬ˆêå÷âô1ž˜JÆojÅžŒ$ɯ).ç_¿®„¿Ã¥;dî¯Éë—~…²CƒÚ4,ݡ¼V‘J‘PM¨¯(Ë„Êâ)¹ròæî]Y&–í™LÛlOõ†]Ò•âØ´:-­”;•ÄÔün»ðÿú­½Ç¯Ñ»q‚…ù9Á¢ >Ÿµ3»HŒ TZ«iÔÑËGGì×ùãSv£[ •Þרä9^âMpÏq…\.¬¹\žÒ@æÅ¨wŸÊë:|´ÕQ°Ÿ©nÚ$`{\ïmüj¥©ßш 5%“b¶ >Ž#º*E ÚUèäõíßG37¢3b:¡–¸^š`„À‘Ò SmQàûx³y›þ%Š’ô‹ªâÅÑQHÎÊöT>‚”¼+Ë-EBŒý uÅéý…ªe¯Uú‘õõL©–…Ž}O5ùD@÷ÐeËÚ(Ü´ÅúHÍzŠxê8ãÅ:œ ÂNœ}êéòLhÈtb2%âvl öLèêJ^É%‰ý…E¡/;bÐLy8=p=fØõ¬¦ÌŠ1ЧEsî>äô‡;GâéÁƒqwNØ™P™ÚPÍ/;>ÄÿÞ °ãaÅË9Z!ã9±Ï5ñ:bvæ(z]ñÒ@v‰BW„y1~²®r*}Zçäa'åšæ."5T‘X¢³ØÂz8Òr8À)e"Cv*Ú¶"{ëG¦lp-—Žÿ=´yõ#{,C3Y,“SˆT³…¸éZ3~Ð-þ5CfšÂ¿ˆ©„DŒ2³8$XtžUúâèëaL°»kÁ­#äü~‘6»´ð©Ú?è{Õq­AýßÔ0¾e4oJ޹€þá»ÓvºAùÁ›Bæ‰`FÏbqËÅõkn®ÑÅÅãÒÚ/ñºz9÷+9¶;VV†D/dk aå¹>ҌӯsYû‰;Zut¼\&XÏG=k9Z›hıkf)Ŧö¯Z‡Ea½ÙY7‹“(œ·¤:”ßP©ÖÀ¨W]}¡IÇoÒب(бC™£ãi˜u{U %º¬Z+ºË»ß¢UP­Âà¡ÂHLNŒ|íh%¼›6LO´Æ ¹!rº[>1ù\Ú:-ÚˆEêÓó=Œ­Ã¾ * ²>2Ôµƒ‚%÷H ë|€7{ ߺ;ü­ü_Q5_üàúö'æméÞvcz%#4Õ¢˜=þÝ}>R‚3[Eñx‚m' n)z*ˆŸv"’-$ÀìÖ/é×*ˆÛÎy;D+Qø ÒõN.e”ºiz=jì¡Sbö,0˜£8±î<Åë^Br^ŽÆŠ…ùàa‚ú:èbè9çò¿cj@–øÒÍ[.­½ó©S‹UMÅRÃYŧÏIlF+w¥ËÀ±Ì¥¦±Ü,KxÕ¹˜š>ê(÷e‚$ä2ûM^æ§­ëãò U–bi廆–@† ÔóïÖX*´ÿÓdŠ<Íàt{¿lÊÿÂ[hwÇè:Os„y%àyØž+TônÀµ¶ ÜcÏ Õ!a£CUÁá=#ßõI&+39—É[ð]‚Jýõ ç·§&›ø¢½£x˜Žì Eý.xñÁë"È[ðÔÔlüŤF»,KÖ8T$2ﵘµV€)TÌ$À$Uç$FåÐ3Y‘ùOBâÀù•@韀óþêâ< ®¢ #û4Í%L…V”qu´vUQG/kƒ&y‰ýe÷ü£‡€t”ÙŒp¨h„ö§‚KŸÉÛ9ÆUTŽ Åü­Œ¯ùL̽íª-:&ˆ¢0évÁ¤móVæN„µ“gÈæð"`›g8‡- ,ПÆÕõ'ÀAOÝø'¤K;häP[“zì Â6àÏügëL‹Kædª€S‰ ~ÍEe›W¾Ï!²z D”TY)Ó¿–~Îôp­&ßN{Gσ³{¢ãRJÙ*÷†À‡åÊ5‡TYúyÁdg\k´5ç^UŒmáþ/ PDYcÃì»ZG"¼Ç—÷/`Ð;?K&™êe‚ÑWD“¸’µ~uÊ £ÿ¬)2}ô€íÓÞ͉€žŸI¡¶Qÿ9ºâ0®‡8ÒÙ¡À|¤SýÅÒqéMµ›/wh…ìcöwhÌ6²Ÿ=êq7º4ƒnØüü¥ ér)å‡èäƒ|½XÅü:ý–eƒµW“Ø)ë­;Ÿ®ÑÎZ·º Ï[ɹ£¦¨}ȈáÒŠqy©r¥Jë ØbÄ•ÜAÑ;º¨ø24?•©§ãLÕëa=ŒX$Eþ¼B¢äN=¾~ÕS!Yd&%«ƒÌ´Ã~¼ÏŸ J+™ÑOfM³%ØÈMøR&9ôÕ×~·Qþ6nü°Ü¯r~ËIRo㽚SÚ¶ÆZ,þThÔ8õëè(ñëo÷¯]ô/·â:¯Å·ÈùQ æ—·/ ã¤U»•¨”PÅÇõ1Ë3:²ë£—T,¬-¥þTzɘ–Ô®W˜ñ=Ý+¸é6…zÄ(ä¢XÀÀö²ÑñaÃÔ5m¹ë_Ъ1º²¡Xš¹å§òí°&fΦqºuIhú£Ü¥{‡`?ö ¨»+¡&Ã÷µ&Ô¯ïò¡l)n]%|¬ï©¢DIÍ?¥hGÃNy3³£k`¿¼ÏA”Nd…6­vgà³æw*0L p-d²<©:G³L>¯=ÉÓ4±»Æ/ÔºÆYÁ¤¢„+@SøO²rGKLЯ‹b®KY=ȋ腒”ÉRs¸msNA,¼Š‰“•É#õž7‹ÊŠW!öDeH6ýš ßÓJj E¶lºd.y­‹’RI£ií5—ó-q°IŽÛSÏrZÉ$VE¦¤‘AÊãå ùóz޲ ¼Š¡l ‘ŸÑüìYTwuƒ¾°Ê³tÃÒò9L¿ÚmV#ó7áõùpgëÈjO 4ß÷Ó§—E,•”šÖTn6«®þys“>u]âiBǼñOŠÉ òaÀÞ0ÇS%Ëž'ÌBE0²½}Í/­uÈ‹‰šœ3ù #ÄG ØÒ¥rgͶŸ,ØŸ(yvWÛnß6×¾ƒõ^bT>fúˆo0xý§Å<Ô:+›c?"+×ù™ã`W:¬¡«_kº N–€< ïwEwºÕ¯áÆ´ÝTå^ƒK>0¶`2£ gw¤»ÜòÖ^Yʰu¼£E‰)øÞÁ¦÷÷¶8›­OcÀ;ªšÃÊ?yÎ ×às×-r‚æÍ÷X´E°­O-óÒôá}¨ÂxÌ6M`·Ù-uÏuëøás-[K罬½bMصp‚-¶;ïíOÌRU“B¬ýÑ“õ…—ÿîÓˆµ€ñÕ“ò „+r\Ï‚¬¯Þ,Äsí& YT×±-gßÛ£ù,稾”ú ¦ÂwŒJ *FÁ5Ú€ «=äÍ$Zá¹oøƒî#‚ܪÙóÙʇI¼ZÀøKˆº¡A8… à°ÜÉBè3ôeßJSù´.Zª’„ͨ¡XoéŒi{Nµ `RyMqÀ—‹3õIÜtÛtÞjè¦H¸À'¥˜B¦ð*f‚”ÛÏhF(Ç"Èôàv]²1VÖ$±”ôQóËd19³÷ô_Ã#— RÝ)ŸgRbÁÀ¡ÀööT#øŠ×"_>ß±É6ƒíç‚™§/}'ŸÌŒÜô©ª'°ƒ…©!Á¬psk‘ <ïÔµë\‚ ;rŠü«$¾dCÇ“ä"*èx†Ù?vláî§ÌÞ=Ö˜³u—·DòþI5q+ÚseOw¥ pü»?ŽstÜ{~ô#èäµÈ1êC—½xiƒçå…_ù~®Ç$*–¿\ƒ´ÓhjÔ2ji¢jêAõÌÃKpíô1”7•ŒßmìÏ%a˜^\9ŽžþÓ=ÕíÚnÚµ·_ƒºÙ€æ7k§•†äEêaÖž´Š ÀÁÌÉ5^üªVMOŸ‚b].z^…ÄHBL†å…r£©ž.žÃ<7@B„É¥ö}‰îkÂiÜç3«ÐZ¼}?º"€¸’O½ÎQ†xhëÞNe†3ä¯È‰tsoïd(ñp!LÚ¦u”kŠ}ÚǹC‰hý)–©jRSœOÅ)ªìÈtAÝö\(\G'ˆ¨˜ „tÒf‚%cŒÚÊ™¢”üÓÁЗæ)úÜ%†Ú„ä,·À„.©¾ Â^Çp‚v$Ë–&Ý•RŸõc0m DùN½;7kúc†.?æôÜû‹Ç5ª†,x?´Â (ô­ÜEvÆB' ä«×ÅøÍÝC6ŸCdcŠŽnSݦ™ Ñ8ÕúOšJtZ%—ôÿ”c­!¨èäU3Û/ðzןKÚEA 2tè­÷òp°£ÅоÖâŸÏC€›ôsñð”áy%Í¿r@E#>Ÿ#€„•5þßÿ=|Õ‹÷ÔùrÁûP$p[,<ʈŒ-õѹÊ<’0ªúh7M1`ç"teªî~¨i¶rê991۴Оu¿TÆYÊfqTìàgÅ››¤¢Ï¨U¶äpí@…ŽøkïFa®-DåpÉ—œªÒÂ}ÒDFT„!§š6¸Ý(ÄÀ¹?Ãuä´os•°}?±=xbv.­5a蹪@{¦|js§»n¯Ä›W–^«XäÊHüÐÜÕÏß3VÝÙçÔ.‹\ë·ÛX¦¿Ð•<¨EšíˬýÝ®yY‡m± ϋο—Ç¡ÿÐ[{,ié«ó:/£’ 4E)îèˆÛö‚äçg þΟÒÔÍõÈ;Q×µ!&‰a<µ)-¹¸À+·¯b6Uêëv×å¼{[^’ÌbîóŒÄô—Øí]ضbôuÔÓ]è_,ë8›ô+iŸ=©ªÙ9'½¢XÎÈû²W2¤ ÛÀ²þl! ºçÆäX[–—’Êðb@ß]"T£'ª–>7ÉYJÛVÎÞÔL‰ç›#{xĉ‡·Nò§¾ç‰ò§Â.DÁ–Ó;Še3÷3Y«nÞFÉ_Ç¡ßòp äå*,yÊ¡ÆÞnJn÷ëõS­Ã1}ÞâÓ”˜%=RüÔ‘кD‚yòÄ(ŽE\ÞÈŸ>Í¢,ó¹ÔÜÑFô±í@bÐpƒ/‡ƒßÍ|‘–סš€œéŽzñø=Ÿ¯ ¶VÂ6¾Eöo¢“ïâçSXG“ûáÍßÒÙ®‹H\Ùò,å•í&R‚å²U {¨(ý[Ø…ÁÒ¦:pu»íö¿§’gu')㣠<=“Jì¨/‚ž{;Ûµ_ZGK#ÍÌò•Q—JÕÇðd#=kñÕ¿T±¦ÄN Ú¤=MÖaù.&˜NGÒÚ¢„P3Lý2™zžíP §þm6bç›8Å“x ;2UslLîÉ÷[/—>’"ûðùMË àD‰òÝûú–eïìföEø/P3‡Ú çëC h @QVãæg8Bjº­%J ø̤¤hF¯/íqZ(\òd®Ý §Œþ÷ çèÌ6ß湿¸R'Jç´ÁñzÛ=W´î8¬.P†Îçx°>-Äé|Ü kªg×ËÊð› Hµ?ŠrÖRSk?l#ªg|Àˆ&cå»(Ú ^fšeiwÊÿ_´í¦P8øÁX‹ãÊ ŸR)§¸B=˜ ,M!mã äžõX '¿ˆaœ0®¾~]ë¢U\á$Bä˸ã¼ã†­§ÏÞbe²B—å~ݪ=/öù„êª #—$`VÛ8Ë6ƒõÜÝ׿*»lÈM¿Ëÿ‚P\ vƒO8tE;¦ù&¼ï•³±qß@í®áKC#º<—=ƒÞÚ±}Ô1ÁƒV«¼~„ÌE,#21°-?8üýÒÛÂi‹Å”$è%áõœpv¾Û.\¼à‚šh<[Ö÷fÊ`g´Aò‘n¬‰‰ž5x ´ ”X ¶Q*åžyµ6 ù)£ð½8:jÊbpã—~9ï~­we®½ ‚z gZåÑH3ÚBù9–cï—»°ƒ:í“+ADÙcõªŒæÎÖgXâg9Ì+d¾aË|y±xjxzüeý/jœWõ­ {=ø¦ykàuepÿs¾ÿ†¢3øžÈå—Ip:§33ãK¦CêX\(%L篽·ÜDKî1vþOÂʲ¨®2©oŽNRQn¨­ƒBQ·¨wh¥æ©õê½µîçöºuAjñ» …R@ë0Õhvm¬Û¢†6Ä0U·°„…ÝRi¨/ÎöƒÚíw°VÀö~— È>$í0X§oÃ# Ög\²G‚ Þ¤DðWhšgϲ׵QnÕÙfXyŒR{Ÿ__ XÝ'?}7E²6"ÞU?@S‚Zâ’g+RbÆ^QäïöbµÖ¢×òúAv8€“ns—$¬ûüj"̦¾xT¬Ý¸` ÞŽDåƒTƒ›‡¸VÝxyG©¼É9py  ,ƒÅÄ+$7þö«_œ°]@£B—p|Vi„æºOœåS V¹ÞEFãzÄìž/æò=¼½Þp4ëpHmßÞ$¼«@®,˜dì¶Ùê dA¹ÜÎŽ÷ßÇnnÚV;ê‚<[°›½]‘Š +U;2ê,Ù»F ‚¼”.{G,yT@»¡†P$Ûy Èl&§„ŠEW2»ŸVªr¨ |ZÖ½9"#Ž“¤ƒë^Ú9"iÌPaå|7Ž»òfoÙw@y8”NY}E‘ žáÃNXøŒ°èã·èBƒÚp¿·„0ög)éØÓ1Ÿ ÂóW²s8ÍÉzá•@1 AT¢#W§}QÍ0Ç特eò>À;©D»ikPrîý}‹ƒ£¯…‡òhmñ- Âõ ÷ót|?Š%5-~Å@Ä Ö@œfn "›}ò«J¶å\òYñϯ²ÆŠ&2GÂok[f¸¸Me§£èøS }(x® 5F’¼òâÇ« £°;GWàòª‘Á¢Œa KÔ óöÏÁéŒ]Ægæ TpKÉÕíÚs|xÝ_P1|Ìî!yÛ»È*ãi¾îqî@ ®›w$ê¶ÿzÈŽ™x…I Õ0½¬áÓîÇc%ðàð˜}kFf;8ŠÌ:ÌQ8d%ÚX§K‚]<àçh‹\#QWÚÇÀð—.µÒYvûÅn…#Ò8÷A]Æ‚dÉ<>‹W&³0uVwx*ìj5¥ÚlB=N= ‘n¤·|gäuEµö½ËMw¾§†Iå@;"Ï£å^…°7­-9ÿXY¸lon9¢ÛçÞ\ÐÕÈ78Ϋ¨²ØfgXàw®ð ‚Yl¾ÖÖ¢&Xµ`@ÈŠ[Hdðù»óýŽÒ åU¤t5¼¿)a „ö9eç–ioø:LCXÛìß^gJ÷/Z YíZc™…&ˆa+%™î[2X1¾Ã‘…qÕÕCÀå亥¤-;ÕªN_°bCôR·¨5‡",Ø ç$”„\¡6Iÿ uËßiÁEÝ/Ä{÷˜ÞoRÀŸ­tWoÊÿk%÷žØÍY#â9¿Xº•94~†>tîªÙni¥Q!_„NºÕŸŽZá= Øy–à—©ÀS!àQ΃Ar1]ðÝ$ª‰Ÿ‚êYèèá-×u‹&^)åÒÿ"¿¡C<ëX‰ÃOÇ ¼Ìáýt¾»ÇTä¬NÅ .ÿºŽ2Ø×0ÅóÇ*¬\¸”Ò2UBy\PJdO‹Ò½:êÇÁ°¶;]áô{ŠÓœÎ!/+8޵EÛþ{~ÜãL(€è¯ÒùÒ¿ƒÜ½ðÆO]Áá9‡ÏîúúñSƒƒf1umºÆÌú¿ÝÀ5<)kK—r„4Ä ª1œµÿžz$4VuÍÛ Êäxƒ45Ú"ÿ—Ÿ×» $ÊEêü *ï,“ï_›ÂµòAYPÇp¸–¤jä—kTO©¹«ü´âêL~îBdý±}1s“ò ¡…ƒÉ€©ÉÐ\j…«G"Rýd`NŽ.íi}‚j‚Xuµ–é$£@”Gý?‹WM©hŸM*éZJ¤/ÁÖÏd‘8£ŠPí–à÷²ùó“r)²¬™Z2X}Eø'/ }:ÑÖ Ô~JÏ‚å6íˆsG6äsLòÑx=©­hF[*}PChÕ¹®WXÑ®o³I0¤<= Ül2ÝJ}#§J;ŽIÍßìŸXq>^/TzrO«X˜¨µzÏÀÿ©”Þê½[ò(™?.¢8o­Ã{s]ÙD¯VÑîP_Œ“¸Ê'ÖȨ#ùé^)×x%¦= I Á]ë<ŽQb¿™KeFή‹2ûÌý÷-ÛÐÕwÍ ®…õkZ£ä¥Vw¥'5¹»Ôµ6Ì~2QéÆ7–c—T\ùêv2„åùµ5Ag âtÌ3DcØçЗqiY`¡ ‹¾úÒ&#rü¥ÊØ?¬fÓ£’„ÚVî$ŒÈJú¥Pt|øª¨¿Icm*º&šO¯”[Gudç;˜öÊPÍ[HžðyÞÙâ÷jpâèpl5§þó—†zD8xþ_„g¾y,ò Üîe@TU)'2á-½º„‰ÁÁ⩃3r{Ê!Aú-ÑLùB®vµÏþêe‡ô`poîÏŒÞÂ0Y[Q S÷ÏF›×O‡ÿ²v¤ 3غØàÆ@E®!×Ýkl¸÷·z˜?[}ö»‚U{¹gf¾³éôQ»ù×…¼Ï«á¬¥¾Wl¶¯]›å`² ®/ &ð5¯´WC:‰4ßN"p|ÈçUK§¾FBæãZ×i-øLõÄÓ½“’<7Õïì8“;2.˜\”R¢ûrë-<íÊG¼Z¹¨ã,[àdxqº¥¿ê©@xMáä’!Yõ¾ôþwqÈüÊÝYcúèGîxDî8tŽ‚'Á¸÷µýÇÎ-M¡ç/›»ÛèÆ”›¡«Œ²Ñ­‡õí\MÎ8•¨2hD–qíçq·v~¥þ„Äo‰úØ:½áuPd “E|/&¢%><òß"d¼“O›c ’¹BÖ›»Vñ ¶‚N`Ρš)^H_&(µ°«fTºY¿>šý@ ;ngi*o~¨æ¯ºûÎâN1ض -KIƒQÅ_’î]ÝÓ˜îÉ×üp½ýsl¨É!8™Z)$ Ö KÒ’œšÅ[¨…ÿ²L%À ¤„ VM ŽzF©<£cJ¿!sÁ'¾®=‹œW­ò¹Eβ+«*âçæ …}½€‘ÃròûOv™ªá[|b$ð¶‹)Jj²dªÉü ä)¾ ΊáÇ_× uè"gOTRU`š®ã=™ªÝò ffta®õ°•)kÿЈ6Qðä‚„èééöìÅøú7 |¸‹{涨äei ):—à*):Ù 8‹ëÀy’6°¡«xÐáçGŸ§yqé6).ãÝââM}~^ak¾kdy`±=uµb‘s”l&îÞ( Üì´\:ÿE/¦ß 6+5+F¥À”I_ªk]_w1€”ÑK¦8’øg²ÛÛ4Žõ¾ÿ}v.¨ÝBåê{³R_"üqÕÜšèÈ’c%HÀѨG´¼ :8ÜF•¾­/¿Ê«"^Æ9/U;Ìf8org§Â?meKõ½DôQXy-¯n]--µËBÿ´Û)³A„Cé.é²`@ìtOpÙh2`=>ýa¾×QØË—sà#á¤>Hyu®?†]0uh©ÂØ©v0„í~Ó_è îÉ Úлáê & “áJ¥´ª‰xË%TŽîSØÏŸM™h¬©ÚZÕ ðZ ƒo‹½\zÇÓ?:15y!ˆ0zÇóB¸[r¦ bVãºÆûó<½¸fà9/L¬}Šêwèí“|$i¢~Áà´’ütƒÖYï)Èea t Ö'ÎHin-„MÂn2)xbô7©Y·Ø:1g„DÿäÔIñ0‚ˆçµÂ·ižÕEWðÏÁeôGX»ùÀSÖ]É—…z¿¿b³nkÞÉC]oëðnNðÔâ&¤Òr@›òa£zÈ'` Ý Uj: lI‰!â=ªÁæ¿¿æ¢áÉŰMk˜²øÂ5y§üÉ,àU#ÅÉ­òÑRìBur¾‚ÒåTòÜûc.mTú¯X]úÊÍIµãôþo'{‹ %{ÊlJ&0Ìì–l`ë\mµ«ë°9GRéhi88”dt­ L/?™&ëøo‡·+À ÀOþź£ËšÓFÐÖŽSq¼”æÊ ô3Ÿ³}83 ®é'ð`îã!šé³Úc¸WÚ­œtíþ(¤4¾‹ßšHé6Ç'âÒë­nø0JkÔžf‹ãV+K[`ÁJ¼2q5¢C/BJYr›_øÿ’è{Ìæ®ÐýþOhiÿ?*Ë Ó<,„ýµç(€ëu”è{ÜcG‚EqÅçQ(šhÂyû…€A+uÓyÌIÝWôÊÚýŒM/Qó§ÒB1TŸ •ÿÒÀÀ?O¢ª^öo-)˜R—ã^ÕÓÅž.t'pY(ÃTJr”üP4vn»T£%»áª4Åo¶7ƒÂ˜ÁÐH¡Ö¡XÍž`¾Î=§·ö¶ö£Ò^/hÏC:x³ýU>§–ã®§¥Oîké w{L€}xœO¡õšNÍê’->jÿ¯ SÞMЉ4ÒŽ|uëVàÏ5T hÐôBI,¨…K•ƒwø^ïQØfßYØÌ°ðj¨p3ê9âifë¦Ü-cšÉªxüºJî7¯$Ç…ù”•‹Rÿ à¨Õ»Iì–{Ŷ‹Þ<ì³ÔΞ& „ÝœL?1ZÔ²ÌÏ!Í&©©jÀ-XûàE¿Þ ë.¹“L;­fŽÜ"ZiÐV¿>1“N~ßyT l ûúLðýÝšìë¦2ü;‹ùE-ßy=BöŸ½/KFO¶Âÿêã¶µ>À—Ô”Fns§å¿°ö+¦Œ`‡¬Ê­pº/ô©ûº£)îz‡‡íHL¼ÿ×öu g‚#dáÜ>~`Õƒü„* èÃWe‹ÙðQÞ ÁB§çìqËpÛjðÀt5 ÛÜ(VK͡Աsºh ‡ƒýk‚a©·ˆù5ûÔ˜þ;ëÒ-UµQ²¡FDÇðÿš§Ò ’ ¼J`. ã‡;\}«åù2/¸‚}úÒv Tsð(gLÛùp¡Óª‘¨¶«í3œ¶ïøšßòrò0ôÌAþ­A ›)´x;8ûþ…Iáæ¥œ¹éªÖs‡Ã2úØž³djøœøä»+Oi×—”Àˆß#ÃöA¯Ò]”t´cþ† @¾ ¾Ä—Ïã¹÷ÁOŒT«êðó²Mzt¨ýÎÍñë,N©Ú*‡àì Ü®nÕiÝñ³›€wsO'(Ê™ÃÔ-9<»ÄZï'‚EÓs̉ä8÷r2Í Áveÿ&p” üú/M˜#fSè£ô¶Åx¢UBœ+ƒ>ͦNÆ×Ä$3Xq>Y Ýȼ’’?Z†f‡Ñø/&ºJArNÄÔei=™x¼uøyØq¾ \Œ;«RD@ jŠŸò×/èûEç ²EÀ>Y‘æâœ:d€ŸñÂ{;ÐÓ—Ý6‚H™Z&-c·Ät²ñ¸äLA’$>Ra=›*®€R£šœ¿¸>êD¨fý•œoðH²Y®•SE€þþTôðI4ADæä‡ßH:rÚvÿAØ>¾&bŽ‹ê½ø µ„Ƙèqödði0o‰fSÐÿý[–Y+æêÂ뱿ؚ#”(ɾ8‰˜f¦WEKúpje5uOv…6¯Qî߯¸41Š*åÒ^pEÂèàøˆªHªÏ€ù^C@gh+Kœ={E«~}ÁcAžŠ•Yà¦Â¹6®Lþ%—NÎØ ÅX*\À6W®ÅÍMÆeW Ë¿ùÆ[bêTŠÍïäÓÉI UL˜Æ"xuOÞJŒZ¤Æ¿TRƶìâ`_\1ÂSlDÁCAœÄéòXã5_•ˆ}£&Ç ˆ˜ëì‹7›,p—ØÊýo856êìJû_6âÔ¡¼»ŸÌXùU ¼s¡ ±Ÿ°ûÅíAöÚ‚îê/ñöbfawgŠ˜®lNz²Ã#âxÎÖ»0‚Š{ G ~u‡Ct¾Ç€ÑòW!ªS•°ÕkGLŠ›[l2±11¯åAÿv> 6ô%àȦr©Švvb * Ÿ¶Ù‰ 3Æ…V\˘GÑX¿ Sþ< âìÙ×”e1ôöÿµÞ ü¹úð‰±æB SI<3§§‘nüé$ÃkLëÝ’Ïcºû™¢vò*^øBñøRê~Mº’%Ö>2OßÌ"‘^s‚ѯ½gÞávL%Q¾ƒ` õÙÜ(”›œu¼¯±‚:®Þà]UÄ;j_æÇ¡®éePLÙðëB=Îõ7oæ…™,5Wz7d]þÆÀⳇ°žðiÓGÜæïkïÂÙ½æÇ bÍ£ÓMZãUèvç¥I¼F4÷…ð$¯ßüÎF¼éу¡ÓÔ²à×ìç^ƒ»y­&ü}FRK”ê¹@÷kmÒ@4]ŽQVÎТ~Us‹œàwÖØviú35q|Py¿ÿ>DÚZ[5à,‘0«°WüÕgóFšdxèl¢E­.ÛE@ƒ5¾™^:,Ì/6ÿk´ß×ßÍgl±õŒò„—¸a*[:§[2KˆÎƒ ˜zXCË$‚±‰—’Ç+»§P3²€ÅÝÂßŦìy]¿ºáäÑöx;¡OÕöÛ›jêÐlO£_k¥Èý£±Íbß…'×@Hò 3ûz¥òiý‰šÜŽà]¬ ÃWÅfš8WØ;Á1½V°ÜÿRø°7{¥Ó½Ž 4Ûá«·VΆüÍã2¹Í· ¹„õ;%KxÜï]œ;gL5ÿ‚ÓÙž{éï'¡TæöUíε÷âÛÅ&0å$2*åÏ[(NšTòËh[ÉC,œïäØß0ƒ…»SUߋɯ¿!uNHÔÔJññèýwÄ6X>]G Ò+¯·b‘¡P ’'ÓD}ݤE¡€å‹¶ pÚšæUd–ûeôgò€Iæó±q‡j¦Ñ—qõÐ5.çåÇìò»øV$3:½ e~.ÐÇ·ô'Ñ c/ð /ZW¹œ“^IÂÄÌ¡”>¡â¿y´šO͇٠ºÏòë¢Ó’M2ЉºúA±ìhm??è>Ÿ-B?@9)÷(KÕÅShýŸ”]ƒÆ…É8žâµVQºž¤ËþY§Ÿ²ïÃùp°Ã,ÍsEš’Ò<¶m^˜"ìQ×ë ·NꢤFŸÌIy‹¸Uɵ.ÔªŒŽGM¼bèzŽMQ €6…OZ’-‡åyó®Îo~ $neŸ°î%ÐôäÌ'ŠiëkÀ\æñ3ì‚Gñ«)„ÄÉÀžjŠÅfîËì|ʰïÞK«¢QjOÏëž2íE$ômX}S‘òQ™7]=Ù3øÛ®ðÏé¬6=¿5ý,wÒUȶt Ï]†Ž¡%ö ÿN<_ò¿¦ií⦲܈¥€;k®)Z\}qƒÖ¯?X<›õÝ\‚ 5¾9²¢½½À,_=w®˜eÎ:ö­§%‹ì”'—BÐÅäS@ûøýý.k‹WŽ5ï:V÷-"aI¨ó’œ¿¤ÝÕ|¹ˆÍ>1éÆŽû—˜ð$ùÍó@»`6>!mO;‹ÚõZ"€>ñ%†%È`ÕB” NPhn~Ð5KJ“Ó¼7¨8ÖªKóH,°cfÚ˜#,Â7άê@û$´ç»·OýpRÅÎÿÕòTßÛÛV ÑÝ–¡þCyrGI fã HõiU,Moæ§2CõÒ³/†So bl“9r!"X¬Ð¦$lôÒ?êµö ‘ýî°wÞÆ¥ùÈ€†9Ùp|™q"ïÑš‚£“-•!¿ç2é„;ƒÅ´üÇ}lÊ6ûd² i ró$aù>T™gK9ÈÔ¡c}D„1@pxß²´Q{*ºö¶)Ï’ÉLÛ”î{ϺÙ+ø‘nãX(Þ`›©!@¥zIô•øÅ¥ŒVîlÙBtº.v.º*¾B½*ÝUbÂ'&h:c8/3‰¿6¤›Ú|& 65léO9q«¾k€vx¬™ŒŠœmâ «æ¾åBú™ñïãQ¸ü|ŠNøQ_^Íó]Üyt L=ݯã¯7¡61oùPǰrç8niÜ5û¦þWä½Ìòxÿ¸kÿ0.€Ê§Ô®`—ýrO<ÇÐækkéT"8ÌeëQÈ£*•ÚØ²àMÏÖ % Jmœ’oÜF ³»®3_s˜V‹’@¨yÀ ¶ºn'‰ë‚¤×͸ę̂&W<×’w¶"¡ƒ>7Ÿµ÷€Ý9Û ûSÙgü ø+åà! `½¡F?Uü…UÃxë¸ÖµÑâtÌøž’)Á~.oQ)u»ýÃ-ÂÔF!Ëû2‡ i.ñO~ ¤ÿãÏB: N^2ÛÊÝ#”—vcIæ&ÌÛWž$Ø>¯aòfÁŠˆ—q';Ù¯Â6‚š=û¼M½êny–aMþT Aüi)X¢kï¸à í3–Rã®z÷ Ô¾h·;†s¿šýƒûèèÅjáe³AÿÑ3Àžû‘µ|ȶ›ã"MíRÝGÖð¿ ÀÐ籌ˆA}þ!“€éò|0ã„KôÂûßþxËïk»¥ÆYWI³n16%™]ûY>ÛXíSÑ¢N·‚X›í_»0ä{ÿzüÛûß9‹¸9^\/²ÌyDÇ.«fH“{xÀ@SA”ø‰¹]˳j…zŠ™àâõš†Jõè«+—"Ä0“FŽˆWDî™±ÅãmÜ–óާò_XuÒÈû‚Ø$¢S[ëU mX{Lâz©—Ô›ÔgJ²[ƒ]QzÈ·ÂîŸ %Vy&â¶ÚÏ\Sav˜µ- ðpãk„Š"b¼ioúŸ¼M€p¼D•s’xMq ¹Q#f+“ðxà™Ã8ãÝ2÷:•ëí•$v¿Ãø"ìEêך9[á]ÄŸù·€¨o‚.)üg´W<²G¬ïû†óbRÔäˆsÐãŸ~hª‚ þ]òQU¤³‡@ü§v}ìÖÈ̘ ·DR¹ƒIÒÍÉ–‰Pp?7ƒpP”iaÄúÇŽà ô“ «“@k1NÝhÞˆu~¨±j’©A9^d{]dµµÑ-˜'q¥Shz¦—SrA¼¾Ü ’š.ù¦°¢Ð;P5Ó¨`¯Ì^Œ#îRX«ÈŸ¿^ö E*YoËQ°b2{KÃí:÷Ú3·œôì`Ä7ÑSȹm²uúï…€GHxšeúb½Ç wZÎlYŠíì7¡t'Áz0bÃäP¬^Ã,Ê€º„f5ðeÐW]hòëSØó›OY¤0ñUÖœ[ ”[ε†Ì¤²Ëë7ù3},}|9&9øh­"˜ï ¬ )»c¾µIHu¾žše·®gÀD!Ùi6C^¹1pJ-R,‘ë–ýò?Ê48@¿"±øÚæ²ÅÈ_ÕÕ}SÝ.€paØ«Îþ\Ò‘åZ(0}]5Ÿr4fyË¥¥}ÅóÐŒêŸÕ¯ÐJÐ3¬Gð Th Ü“¸yc¢X$âÖºÀò‚ûñâ‹f5iZ0Ã+Í8…g¿ˆ%zôÞL6¼vN´o‘A;W¨vGõûëä¡z¢lÖÚ~ßBóuáûš²¡ºÎôœ‘|Rd]z&¢1pN>3Ã6Á0 e¤‰¼F‰÷·qÞà_°v½Ø-›!›çÍ„ÀwQ›Å–ó…ß•ªG/çyj«u„Îøºª {2Çf»$``ˆB_¾¿¥XÜŠö™z¹÷HCê (ˆ!`´>ÅI±Sq[Ÿ¶/ž¼F$ ÙÏr»»üèëÒ‰ð¥dT ½ù·ïä]Ò'æ0€Îò>!> IS¤eû"–õJXVšfFìeB*Ê.¤KmnþxGõ­þƒ÷Ä%¯†ÊÕ#/Vq¢A¼7–’ΑíãÝÊXÆm• º·OºÕ¹­½veIñ×"ç5J‰ ÊW¿º(ÐN›D–—$É •Íðé8ˆžø ™uGú"¼ç¦JúÄÅ|n©ìzgÄ…ôgdiÙ誩}w;Ñ+¶Ç‡"4³*ú¿j-tL‚¢:ÛÛD /Ý'û8–çáK mË„WqaÇZ ÖÍ|göëÐdÿoîn&=ôÿÎf_sDRÁ :ò51™qkZ¯6Uñ%õÝ©ížóÕYf{#grÄUìÖWUë}’Êõ.–ùÑTÓ´¤ ’›Wè—v¢”ü K\Ô.ƒ‰'â×A+eJx±ZÏ9Ù¢_K  ðlÁ3Zçmj<ßsAúU%IÃVÀµ[ kò‡ÁõÖnz¼='ÅN óu»ö×$óqӮѼ4s( ŽýÂ@?ä" Bî…| ‡D&+à [¢56«…Þ©~£Ó›4Î)K$ÞÜaôO0“R~LÔöúÐPÄ]ßmé²>ýBÖUSoc .! ­xÛÚ,ºÙÌhâ@¿ã.ª–+ÖJC\ƒü¼>y£%Ø+wѦ;‹e}˜‚oE¯zµOULË·p°Nd“•‚dŸëBÙH»[ÿ1žöÝ=Qr°ýUOøæýÃCÆ„â lªi[ŸŠÌÁÁ,V‚J‚æɈ,×5Ž8…ü#û9©ãGº‚†Ö6ºø‘&Ra¤ÿžBòÓŠ‡'05ö¼ÖÛPE8/ÁŸò‰¡¶>î“Ñ÷NgïÒëæÙ;R|êcu…“l#¯÷ï¹oœªYû/ÄÓ3Ññ¨â7´$÷"øèG{éu04HSèœ|Õè;ט+pº5¶lÄú7©â‡\w} ATÐF¢dxÌ"¹fnÏ@5`õÍ?ÿ}ë%½vmÑ£QËSR7R3Œä½¶Y…gPô2E "¡y‚ ÀaÂq3a’ê¯üËX2=­L…8Øßæ=@hø£…˜·LÒ/¢z¸«sd9îÒñ£ï¾ŠËÙ”®#ï%iÅÛ#|èk1 ¦Šµ¸æÞ$Køjª@’ KÊD€ïkõÂ4ÊŸŸ|8êˆQfYVú ´#,äw®†?ËØ†Rü镇“ï~gõ\!Jæo2b+G¹ Ä Õ²ÒBŸ!Û.‚éò•þlö¾nátNaÙ¯O«"乆ÄåSpT)ÏëP‚I"Eî×Ó°Ã)= o-?hÚyÝè.ÕÕñƒ°î=XÚ!L^%þ96ÁD<'´4-{¬I‰Ý޼—v)6…'À†ª»B´ºþ¹$Ç6¤8Ý>>ç´Ê1ý†ÑÙ®0Ü=9t,·“!Y±ä̧α0 ÎQWÅ ìënflž§ò^¾ä#Û乜òø¹Â ,1©gOËÈ0¢Ewb0¤/d^l°¤‚’ÌÄ$2¥ç„q¢Á̉W ˵øJ 2œI¾`h6O…U·Ñ ½ V¾MÖ‘¤/c¥ÆÛÀñ¨rTÅ‘,~þF?£]4Õñ)ƒO”v'ØÒ`✃>-õE£õÇ&0~–­í^#C0 (M³~Ô>±Å ôÖžC)9º3J)’ oB ®HËŽJa‹_¬¼gúÊ/ XcÑøçMߺbÏ.º‰KM ¢)²ÉëƒðµgÍ•†¸¤:íê­?ˆB¼&Ê0x—‚Yti¾Ä¢DŸ%$qDÝö¿%£J†(Û{ùÚëІr¯q[ää: ÈÚd?¤}¤…ƒTëÒ¸o0ÓÌ€eÊÕ¸ð`s0•Å´Õ&¼;Ð*kyXô]|\=0ux35ò 8\‡·ÈœÇïêÍÂ\ü× "öî“‘˜'bT ¼éøªˆ£ÄkÈ­ÀENJ±L/õRõ6™~t{L8¼bv9!óòRïá)í²>;‹>Ü`äÌ«?í7øî8„jôU ±Zõ Ä83'h±s%æ¦ç#H™£ÉN æY  ’Ï[—KåC{ÊS÷ZiÈTós >?@&òýG\¿2€dÓ'[éàÇ4¾N‘§•¨8LJ!˜·=@;Ï9•/Þ±‘:,ëVpŒyÒ ;†pr \¯l‚°H\¤š/ñ£¤×ûö4´žª»wPDJQb-ˆ¥ž‹JRL½J¤Á|t¤ù·yr¹yª ¼IŸ)šŠà$ 6-™E€³Qi— ·ïÝòQ0´ੳµE$R×NäÝò.!žæã~%C_UKXé1¬‘4ê“䙄šíä×_Þ€@>¿Xs/‹Ë“’µË@W<&Oœõ®´h'zž‹“7¹~LGÈ$Íì§<ÿêýè£xAa±&ÿ™Ó˜·KÒ7OŽZóçë5UÊ j-ª,v@›Ô4zf=5ñœf½™Èd¹M˜»„E¨D‰ÅKDúƒìM”*Ôê1—°ÌnîûômWØ®½†¶JŽf‹ ‹±æ‰+€p·Àñ3媞Ür4Æ(Ú™uEzú#ÿͲµÇuñµþ¤e# nkÁëŒëŽ'ßþ‚1¶ƒ]ørC£H«eØ=SWu-[$+ë Ú°”/óÅÿlBöL§c¶TxyBû4^Ââý >«ë~qäîj žÂyvIÚ£Žm䢃5vú¨ ùàä˜ dkÊ„ÜEÆF±‹)Ö}ÎBS¼=4*­Æbu þVÉL=í¤+5Gý¿U| ÷Ò¦zÆqÒMwÄaUÀÈ@¨Õù§NNV`³&’Ϻ4¶J‚i˜0¬*òÇxì‰ÄËKN<»ú¼?–2-ßî{‹-fŒÜßʶ8FÇNn—Š âa6sYŸ°»î:$Ès’øthãÚ@>•×.JŸ´ž2|ƒ,׿;BKä ÍrU”Á*’\%íÁ96áÊ5Xñj‰{ÄÝþäÊ+zñ«TŽûPM\Dç˜øz4äŽÐh0MÂÖy®¿Í”jÅҵѳJ‚7´ðÏ]ü@”ØÀ4’ÆíÕËpøÇ/z:ÙY·NѯÃxq9[mªqøO_¶4jJ0þ3faÂ÷äÿ­±I„”aº&nw ’•pß½)®m³lt!p¨qàIèé•c7  '(¾EcÞœ!š1“ÅpÂû m¦ø¤)Ÿß¥sã[Ô›l@ü!ßkFþv¹*GÆU’il@‹3üŽYxƈù7~ÒK ó†;#´¦lPÅò7¿”ëË~+7ý‚Ú|aˆPñª"C>±x·d(3vU…Ní¢ëÖè {ãHt:ËA„g¢…køÍ:bW³\ ‡Éä Ð#0»]¸˜{##¯Y[3ÙÓ>¹·—{0…—¦‹òjL÷(žìI§|:¶hßiI9ë\:} äÍÃý¥ uºH’cº¢àÊÜ9̈ÔêQW[ðï0¾ v-›Îà 1ÂL4'|z2;¥ØNÞÙx¹4ØD.éfc:äË£h3–ŸåC‡ýdµà& ™¶/­,¹ñ%ËÉ–x"£©?ѨZ»Š4‰I§¯WH›Üã"J4ÚÝÍ_ÛÔG?áz²h¾]>V´½þ…Dô•ñZûƒñÌ´q<`½ÿÏ?ä ­3RœDgGͼ#i¦;K•‡;†ÐP›eÅ8=ÏáÏÕÂ'ßÁLLíq=AUÅ|˜?ã}×{ ˆLÌààA‹¨iQµÑ.s­j¡vV›¢¾*­a-LÛ€â<{ÞÙv2¤áÚ©h§[²oŒ` ­!&%Ê-m4þ±kr4q­æ Ä—!ð‘-X¯âoãjôö{4Â^•TûÂÅÖ´Õ´‘9ó`â²<^ÃdT:ŒÎßmï«:«";TÿV[,œŠíËÖ}n›¬T‡uµÅ‹ï¨y)\ÆAœz·¾&eæã÷ÍRΘ/°†*C™Ex?btÖnVi°S-”Ìãîh%Œq}哟˼Î#Þ“>;cÈtÔ„™8öp4=ê»îgm<]xïÈ´ƒq4.þEÈ&h̨ÅTº ÿ¥–±TK'Ä7|e # ß8xÐPC}JÏ;îz1.Û>øÊ!Ñ•Ñ|áU„0¡>î£E-6QÑ’ÉqûtÖŒª;BbbÄ!Í|­€½ÚÛ Fæ±m­ÿ¦Ù‘¼N84dìÑXˆ˜«XVµÖÇfžF1d I_÷¡‘;³Ïú HKà ߥÆmìÔñ7VóØë´ßDÈæ×î“©ÐP­Uæç(Tž‰•Ôⲇôkýþ·¥e·çF’ö_+ë>«±½€^~.dñ¦+=«ßƒ¯Æ…]³ÂoôõÑ pà\d*HflË ‘K"¼f²-7Y‡/5J˜©ža”§h7\£ŸóÄ.Ûaú(j0˜²žÈäƒ[ÿÛQ¸—,¾DØg‡¦\ävâ0Ý„û÷7ÝA=—{OsF¬¥ óÕ(cWrh¦4G-dÀHF·C•¨ÓÂx oÿ±':ÚìYÂNkt þìå}Šák¨Oº£< ŠÍù¬qÑÏÌÁ”|Õˆ™ÇLÞüh¤®)X”*Ú¯‰Y Ó¹[ó4È/ƒ/ª…)?9h»µ;hêš”ÝÀÛ¨Ê-í‚È{¦µ¥l2t èô*ì×bÁf²‡x”cuŸZíyüP–w!0Ï?_n‚Jû˜Á@²]ÇJSI'µ³Ç=•JPÖv$HâPòG'MÑ6i ¿ó’°yž„ÀþùNóµKœG²úÕãm@¿É Õ“²3Š"üBÿä`©OáM¶Pê§ZIè`/6ˆÆý9¼ôˆ‚”Ý2 ëåu:7w8ntFkÀšh²É¨¢+Ò®B´£®”ç­´¬©V~œ¥ÀÊâÌc¨¶À?1kJfjñpõÌk©\ëA R*©N„ÉP ¨¾„³&W¹Ì9Ç\IŠà#„±[ïøˆL˜$’XÐs;PJô÷ÛÑ2è­Ùé>åÛT¸É‰îé¿›Ó×'éâ™Ó×KD”%Fnü5”ñ­F…Ü üCvçZÌ¿jDQPYg_âsC1¡ÿêüp‚庩*Ô‰ÙÒ‚e}úóžPY·nÊÍ^ïíPÓéixe÷—òwï!^XìCñÏ3æLª8þ÷QpÓ~NÐaw#økMh´¥ÃØæ¤ÞŸ®]€A›Ýµs°Ù®¦}Ó—‹,[#÷ymø“,·w;K ñ!¸Ç«˜®2wºþÜðâzw7ž9k®¤¦GV~Š’Â`½¢Ë͸091]Öý]C•Qcz"œ8BßVÏ1eŒ‚Ö£d˜ûƒnàG(·ë™5Q º+÷V4þ°Ë—õâ9»ÒºÄî¦}>š{Û½¬PO¥ž@$û<ÉÜ:B–µâuQan3Y°ËpË‚-ïÊ¢ùUÊ$,ù:ºõ™aɪ{²]F<:šqû!¯òÓ&U­1pý˺K;@OøL}º/ &z h‚Æè-–k}xìµËi<ö6úHi êw¢ÎÃӣǫè„Ë?pô‹rÕ¥\üXSïvëuÈðpÍóÐ^+v¡×Vài'8Ì% ûlËe‚Gt÷㢉^æÝ'¤ Ó‡U$.‡¶÷IK¡MäÖf¦°{8p½“Æjìô•;†‘ÿ0-÷è”*våy»Æ“//AÀ–P|ÈÁ8?íF°’ê…Z­0 ­“j —–gâS!ÕU%Ð:{Õá.6/Žç~#$ê/]pæý°JþbÕÕGÈÆíì(Cdì¦(…W/NÅCB=B‡ÜúŸ?¶’d4š)ø 5œ#Ã!æVHjC¸-™ŠÕ*üæ/öa,®@r¥k»F€—”ãcÏj},Çï³²©Ðλ¿q1Ù‰œeAzžU^ðñmßãüf,%¡“†” yŸá¿—eiEm‹C‰YitèW§ß$äžÕ ª¼¬… ¡–ßI¯9ÏYänª¤:<¤¢‹?ù¬­oÐÝF§ƒ8¾¯÷֤͖1ÙI§Ì•óàù—b‰ŸÃ’WÈ&±‘:‘9|Ƚ¬…VE xI†“ŒY«’ϹþNÇZÈÑ4K¬X¹™³ë?cSF\„,§2[§‰+§ôûAL‰×÷U[kJõOéɉ¨ÕêÈ7BFÃPc©Ž|ˆ¼Ê*ÿt+mŽÉGÕ×¼`b@ŸÍ­%ñ÷no:ÏJ#f¹vS®(´Ÿ(Ô}í÷bZÖ`%7üš•m“Ûaúà A >Dºà'2åšqwõÀ]ŒØ{ sÜ©Ã<Úf¬‡uÆ¡-²NE™ ñ/„ö‹,=1MÇ µ+C'¿®ÄÞ…Å‘j»²pý16°#ç±Ní-ƒÒî1ÙÀ*¨2O '’„dè$0+[âxæ‚›zRo%”Áþвl÷ô¥¨°ñTNB‹1ºÜäþ^l·Æá¦¶„i«™©·Ù¶É„/%ÍÁ`H‡œC mŸp<4ØB‘‡§cW˜ áí?u>3ÙU´/'£¼«û98*á]bYº™à£HpyÖÁˆ-)ÇÑ8&Af_í0œœï"ž$ŸSÀŽÉ+§n572H"»Ø|2õ›Ê9ßô[;‡ÌÒçþ«ÿ8"ÜQÞKÐ}Í¥NíwwÚ9óÀXß´ …"Gp’ªãÔ½¤NVâíxþAزgo45üúH×À#F±¤Àhf."on1Aâ¾Ä ø>ÆhN¸­[úÆaÂ*% ¹åâv1´«ñžvY¥ÎT9 »|‹†Ê£AÂ]s$ŠéyË"/µ˜|DÓ©ì)øÄlUªËe—ÝÚW»V!LC‡Ï9&C¨áÈÄý=S&°U¨þ^Y̨ÕIèn¶iœÀlžæê”L˜ Z;²4H2JÊ5I>ñèSÓ²+"37 «lp)‡pí~²oÓ0~lNò¢~tŸ*ýâŠÉ²&C/Én)Ç+‡ôwK@M c"òá6HíWµí2vã”ãÔtúìcæË¦«Š­”»Íò§”ó¡!¡ì“bÈÛ*õà±€eÚ …1?Á{¹Ðïj~J˜ÅÁB}ƒ† `Í+¨³¬#º%—–ÅlŒ±ÊÁº,q¥{ãfÌ'=^¿=è@çþýÍ-Êi­?Èüh^…õ‹ÔK‹#’þ& tþ—ûS€!ºÜã»tÛÁÁsóeÌÖ"¹O‘ÛõäZøÉN’’¨'j ÛÉúþkÊ[$¹žxx ©4Ãv„ v+Ûwkí[:VåÛÌHBÁ½ü¯}Š4žA>èñ"¢vü‹lg1¿ÿqœ²Œ‰¡ÌÄi?ÓhX ^⬪)•¸çâ¸%Üxý£GfÏÉñ¢·Éd. *À™Ÿ.4^}ï95ß· ¸7ø‡Ç¦ùÜ*9¼èß¡éY“ƒÙ(@³…b™\茓aøÝÔT›oý£t+Se8—ßk³f÷¦eÈ3ð9– t݆à*¦rÿ–nÒÇè„/V5GÎòç©æC™†Õ^اÿu›þ¬ž<é$m³d’ º3jÜöGÒSù4Ô1$Tî·›€iÿÇ P¬Ô”ûâß_Sãë‹RrC‰Ì|á;|ƒvǰ¹ô üÐs‘d;Ýi—QT¡÷¶°%½.)¢ÃÕ¿jƒ?T,´„1-œT™ >³fó1©œžœnâ轉M‡;{ ûÄup”ª¥»|`*ãzŒÔèÒqDõx.«‘*+Ôõ´&§ØÐ- u£T ƒ• ¤QZ3„*»8!“£,‹ûð'Ü~i@áuá!Où”\}È—¿%äWÆŠrtëxoÈq" ¢v)mÙ‚ìÛ©6Xý‚‰eíî)€+ïwš+˜‘µX©þ4íî¨azg1&¾;øS6æ¼ýKì!á—¬ˆY6GS— šMl;ÿ —a7 J’`…ùçPÐQRTyH@#I=Öì¢sY‚KÂ\ -‹\ç½ò<ÎÚ|ß7;‰@æ«QL¶Q ö qHÒÖƒ¿ñúøå!\†Ñ«‘@ %!' ŸU½QÑ)d×ä G=îó=Þ¿bìó=è*èì x±ß½k‘óü¶üŽ-ŽA"?ìHÐhþIÈš7Õ’¦‡ôT-Ûä˜éÄïŠòOÿÁCU{«³¬9—ÄizÍíÈ?õt\@$’QâÐÀþ¯8ã´{ºS=%U ÔJàÆl¬6y o?]8ˆvÕnQÚƒé@KdG‘£”Ÿ¤ÔÍ¥¥„äp¢ŽMN~¥rÐ`²½pÒò¶¥r½Sˆ3æ…9÷¤ð÷²•!¾ÂN)hÌ4,Ü$?ÑÊÒ¦>s'¦uÃèk3…W&ikdà^>Xõ7x›NoÞK;1O4"ÿ°»b½«3/¢¯ÆBziJ¯¹:ßÐÊõ¸h‰”Õž¨Éy£²EE#à±ÜæD—Ë%}±)æè{]ØØcAˆIãæJzAZÀÛWËi;|ijÄ+€Æ­©QÃXA%›O·Ÿ(m³º®Óý«Ò€ƒ~‚¿ŸT¸”-¨ûxl·RÙûBçß)Ö—oAä ÅFP~^Π=ü‹'/ÁÅ*XöÅ®AM9ÿP\V®~XQ¿Oñ€Ý?W g9nŦƒ:Òø¡ól¼«­¦gváXjÒéTADH.ÚÜð|—vˆ!‚ï9á3(Ã]´#žÏ³ý ÜOíå WKâü§°ªÎ¾g~OO©ºÆW3J¯uU¨ßsZŽù²/€ÿP–S â4°í+Ÿ€á–ñºu>9= ­0@µxÿy߀&Ú<Ç̤ƄžÂì%îý<áxÜ$ðE|87ƒIb»/ކÈé?ϯ˜:Nú!‹é?‘s~÷Dy°ëèï °%dÓj ~~JR½í#êlí•õžìEqÖzÉBÈiŒ¿Ž!—H—)ëדò¼ï?Éœz¸`·PUÃü¹ç®°ý?¿A®-f¾D8B#ß}ÝàCþÆÝeeÍ“ê×ÌB;Ãbœ‰«©e»àÂYTÿáž º°Vwîeqc^Lm˜Ý€°ïeúÚš‹E2GÝåJFtƒä9½Šk¾ÊÚ‘Oøh JâÁ;Í-^yO-o´—(Üèøp·ÿ@á L÷iG€³™Eýè÷LÍ×®Õ™u:a篪5ôåöÁ¡þ¤Œ±œS!8æ—¨CO)ür—’¼’®Rá€úƸ‹Ô\@ÁŸ'E-ܘ\¹²~BÝó¼Ñª±fŽÂl᪎{ð£Àsæ½£ªFó’9£q5­!b^ö†õ`íelt`Hå¹jâKC,ÆŸ­®Ow«Ì»¾Jz©Á ã%yKJ€DLDhzÎXýã ¦áÔÛE£7Ÿ û¤MY¸²«‡¤¼;=„‘oÑgà(ZÎù@;²<GÀåò1´Õ ¯%­ [ɱW»07½†ss©¤ð§ŒØï+LsQ¸{:prýŽw*•yŽÔ÷´ø: çÖPǧÝÄŒìÑdÑ…b1bɰOécni†—^pSbW¸éñõ8%x7ök3I­‹SÕwYL©šrñv^ƒ*æ¯2zojSù…viß²ÀÀð~ðÍ*ؽÚÕ¹ÇßGU‹_ü!/¶¤öZáý=2REGª0í+uËÈIl@àÍ }êŠÁƒtüB .¿]’S+ÚV/CBÝøæ²6Ñ<öz)µ›˜ÜY%`Ë"¼­I £Ð?5“°d_5ô³ÈÇÂ$4d¦±¤æ8W V4[³+Ë^÷ã õ>þ—ŠýN¡¢d9JYÉ7@'K*‡ìÛ(1m»â™óRGë-$•³˜´@Aã:'¡ÝËSÿñ(ægÛ 66“mÖ ÖŸí÷ÅWaæ2¤ä­x±†Ø3–•:ì¡ఆ݅Xè¼ÓˆØcÍHÏçD3Ö[àÌÛm¹ž™FüßÃÅÒ9*ð °³*l›k=ź¶ækOUæì@wÍ•“O^¹ð;Š..>—¼?RÖM„³~Sjn 4:»˜ï‘Û×”¨·ÚÝENÝŽù«ÉQ\ ø1…®w@Ë}È,ë_œ—‹èëîú¶KKWIâ–òLuÔËÅJÿ™óoJ>âÆãë8-¸ð}&ïfõNÁÒòãN‰¬GMóoë|¾UÊÑü¨@צ1RC>h þ¤`.¾$‘ü¯Ù HX˜cWw¿i‚p·©.ÇÜ4Ò†›³ïZ]öÜ * õE7ðþp⯅ª5 vŠèì×$Šß¡ömxk†ŸoÒ?™\‡ôw¬/PK)6|¦‘’˜‰s;y õ²zïôŸ‘Ÿ­„È"¥ãeéíŒTllŽ”ÄmÆÔØã‚C&{RÖjA+ê—ú檈&qûkŒÐ+7ç.ÇDàwr&ç[æC¥ž¿\JydfÅG’ÖÜÀ#ùéF=K+E9‡6±K¯@£ Lcd‹¼úIg›çï¾ÅÛ~Ó¹Gè!.§þydª®ò•´yìk¤?þ×ÂÀkiBðqÿ¯ ÿ{Üh*÷rµ±èƒ×ú±À•Ü >}Sþ“B*­kØŸ …¡OS‘yv¹” ¡3¥+:®Q5Ò»7Â/5“g.FyŠ;aûT³;µÕ"•V ¥zuqÄ"v”q­¤ÊPk¯éàÀ¦6< ˜*Q“‡Â {õHÖï¿´"§£D[žI8x ³­ád‡*õx‹Âq Lo7c–ÐÀ¾Ü’°óUæÉEŽ ñzò C,¾ü!ùwlL:<"‡I¿3übÛÄA¼xU«O éÂ0}c8ªä1$9Ùªºê†ÕIëÉ©(Í·z÷N¹[L‚‡bxÂ:ü»ý¢21¯ÆJ”d<{›ÂvÛ}°9í‡$HDua``+uðgv“ÚùY¶gqi¯F9½]¡¿CàX ,8åYú¼{m$Ðú3°»÷cx†”tõ–ó~§—@pÆØpŒŽ|oFiv;(Ïfÿr.Ð5#ŠC¦JÿYcü—pÙÚcýðO§XvÞ9ÒþÁsw-X¸GÚvrjh`þÜÄÒÂÁE&Oõ +ØòQÕäñÌøãß‘¼$ì¹ö€!.º–c‹Y=c•‚OáúNŠ+²$k€B-Zi Ðü>Z)••’Ë$=ûINøFŽINŽBäs#/ÉLàÝ]H¬×‚,ðþ{ùTqhñMðu4‰4È àÆˆH±<;åÃÊ@‘ò«$ôO…CÙN:',êGÄbìšb…K‚(^Òµ é=ؤËû!tÜãofuóü ¯4pî÷zKcæ;ÞÆ3g…„›ñâ\Óžd%uœ2Ô6˜ží…f³fZSÓ ãâ+·:8«{\Ó¥JK i†,5,ÞÞž$nÔ^/’¯€US¡ð¼O[ÇPÍPŸÒm$¥Ê/èï+g𣢣Û׎^ŠmSЂ¿*’¡™­ÃíÒÊ>R<‰ =žáÙY}ÃÉY:'лÎ{ !gÊTäÝÅŸ.Ô³6Œ42um r£ê”N´ü(#b Þ÷7_»0˜dë·Â‹XŠ¢ù\’:Ù ñ4žyj꾜b¬¡»N4Î^q1ï5Юgu“¿'ä¾Oú!aÎ~û0‰Ò(¦$UfÛYÏ,Ò÷‚ Oíþ£uMÖàüHNÐÀ6 äs³.ÅöÊÁ 7 èh§âÙ‰C}|s3.GÕ'µ:¿†0|; ÓøÉ’¹ŸÍ£)äìÌÈÃäe™íU’‰i¥g%Åî¥P”•ä» Þå…˜Gáì'ð¹~昖7éeÈ^Ké—›/þ6ÍuÜS iþœ8´Ü@çòt|CˆhB¸¼/À{£¹Ú|IN‚ƒ†êjb."®‡Âé\oÆ1¥+“ñ‘JqéªXÊ‚YR³þÔÜÇÑíp2fÞÒøvÈÃÚji±Ü~4s]Í;§‹}™XhKm%ÿt‚Kÿ[Oü•qˆtü#âb(a‹Ãâ7°=‚mm‹Z è?±N¾;]3W¯kQD=2ï ‹ r‡µÈ(Œhc»ZU3‡˜¹9æv;hWÔt ûFÈYUkGÓ@ìzÄaG˜|S` ;ˆyÍפ¸ñÍ"‰©ÔWÖÁ!OÙ.F¯.$ë³`ZœE_þã¼ ¯;Éåò"z¢Ã>ªD·È¸Á(5ÛšÍ"í»¿@LK@L­dÀíóJë2«OºMxcl鬾\{oÐÿêyˆ¤EÚ,Ⱦ¹fàh=®@#ÄX³2^€`¨‰Óœ¼…ØEÜÉ}(Wý÷¿GjjƒL –„C…±"p¥ÖXO›Þ,[%y"QØÄÖiÿêš’X2܇ø™Ã¿ùz¾é(xïòSÀ{$Ôtø_øVödâöpV„íãÆ¤‚hŸ‡Y,;‰% Nô§g^®‚;vœCÖM§àņ"Îê=åñ‹ã€ˆÄ †ÌoЬ¸t %Hç)1p³£z}ÊûVg}rŸŸ“@\˜ü²j‡åZèAzf2¡ÀX¬MeuMÒó1M3IoÿÀ¦Ó&Â.†Ç[q:š¸W9MlÊ3±Ò<Á¥òã¢"0Lç:k.Y ª‡%¢ý·Ù ám pÝ`d°ì’“´ú­rîITh•±^3ÆâQ.õÃ$)|Ö Íz@éá+'â}]åÃÎJ–cjÕþ¼†ËßèGÍ~£BEµi Õ›V5X™¯€æ<ÛA ¦•G±©ƒî{Ïo¥p¢ç¼•‡OÔÈX š¯ô 3YxSMJdX6%1죕{Y]é˜hË ¿®U½+ÓA(è˺ Š'noª™šz¸3}ÑÉ.Y½K›—bNÏo:ɱ,ÌÐiÍ_«Â3=®ã3ìÌà WÌðeÏ"ÖçË–, ÿ ÎBÓ[þIê!R¢¦—ˆÁML9,ÒZ•¸É%úÝúi Õï7#\X ¤“‡)(Í CË ÿhñ­ª0*sЕm€ÑŠHÊÑj“›»|$¿†y ˜•¾pÌ4;¿«øïï  ”ï¯%=¼åÕð¾± ã£ÅÑ÷Ù.u舅²6ƒXT̲ÜN 4œÄ>×ö<ÛÃ[KM€Üœ“fÈ iÂÝÓ&xµPÍŽWÁW9Þ%gçð¸ÐwrFZîjU@ñü±·ƒ =¢Jé[›HönuˆÞ¶›Ë“wÃwý!„™›âåÓÄÎop¢ÝJ -W!XÖé4áNC¶j±¢RC‰ëê+î6ãï‚g° kö“Ãܤ]càì f áûu«$N¢àÎ Ôœ:™×)©sç¤Á„ìR&}éfO±Mr™À “p-Cª%ßx{¼s*ã¹{3Ž”µÎÜ&?šÖ‹­B;ÿ KÖWÄ‘“|ÙBØÀnÊ ™û³jÙÂG´K÷@^¯`Ñhˆ3ãTHKþ¤Ý öýƒŸm…Wk¾<„s]BÙ¢TTé“Kø˦ÖˆÌyë_·1 ƒŽñá"Æíèæ+ÊÂî})Lùr1Bš‹Ð>`Œ;€_0%t/¡PÙK-s@úüs!ÂÄÄ>QäG2ßÞIyS+ú"AíKfkؾ«*ŒÄÍÈ:µUž2×Z6©æ‚HS|q=õ-’1«CxW§ºá»ºá¦M'ƒó©gIW/l³`M!Z,G:ócL.f­µ´0À)<…²㮠Ýc•$˜ü;Ý ƒ6f’Ÿ~\¡Ë¶]§´’D©=´¡õ M!’Ø7õ ËÓÒyy6Á&»¼åôc¥#f –RUæ»K*ì¹ '¸Œ[¯šO÷§ÀÑœMdPµoÈ›2EÆSåLlƒ|Rtz!Û³Œ©9·oŸ|I:Cq;@‚5ÇÖÑÏ „þ«Ý øï//çýHSRxyBæü­Ì}}”mdjºY&7 ÇŽãvåv·øU,¿mU]Éãé ‡ã²&õ»È_)6zÅæäs¿tp<|ÝúIXs|¹k~ûÚ»$Òz2=VûÑds0ùUŠÚ4ïñoJ¹|ÃíG`d €X.ë³1sbZIÈÕ¼+ÀÏûÆèÕcïbK|W$¬n¶A‰ïçÙP%.‰™Rwy´ç²(~Z¤Æû>Wd©EÔ€2›ŽÖ+üN +K¸…1!«ù™<¨³h‡î)K…ܬÐ`®–´H ßVÀ+÷ÏBýóqDèÓ‡?à>_NÓq«;@<äïŒbWöb!`ßÌPá†jº©Ûó†Ù¢c;©Š­…áOr0K'w‹myÁe¨ÜžÌdÜÏw @»5ô” ˜bFxcª•è<` 19\)1h]¡Op_•è l8Ïú ý– òõEí‚$žÑÑöfÍ$—=ºØœq¯î¼°>)š'•/øOÅ«öDT“·ï“Ÿ“!ጛTõa~cè ¬û¾ñú¨UþG^„ÄG°f4Ç€ÔØma‹†(¤‡ 9¨îDDêÚš®Ðÿõ¶¸9XxvuÓ·‹$FÑ@ï „ ¼wß¼†FøüøÔS¡84?–òm?'Û7¹Á‡S•…Ì ì9¤M^ï±—œ&2@f„ŸÁ®¨!SªŠ6ˆ'½Tb*÷ îTß\&ÝYAb†Í}M„y‡sÀ|žöäF>CÇ!ba°ƒLš7ïuiÉç"¯ƒk¥?åGŠÍÙYÅ)v¥å6Ëé<£ÕÍYÆi)‡å †.;YùDŒ?)^eîhÀªä¨ïªóD²œrë)A¥0¾OýÏw+%=/òP$†ÿD„õÂAÅCQÍ7HX‡ÿ«½óÜa”Ý%‘ÑãBìXa –“¡ýhÃ>Óç‡È’fÌíåû9‘>TlöÚ>öܯúòLJu=1í>ª>Ÿ_x¼K¿³bŒ$<­×ËN˜;UfH lTø«¬_ôXÚï©>ÐÅr3‹d$¡¼|ÌPFœïN·ì?1Œ $ñ ,6}‰ 8ÿ¤g$ÄæusMæâžé9O²ÎõqóèŠIè€.øc¼«vú¡.V¯¿øTdÁýÙkãFÛÖ|#:œ?Ä=Ë­–ÿ‚b`7¹K“Ÿ’dëzÅëvZ„êäñ¢Æ«ù™™‡¯ÁÅÝÖÐ3ÖXC;™V’‰ãN‚¾PÛ@…º¬Í(榸¦¡îâ«{rG¶|Ñ ÃÊjºUÍ=Ù—o¢w_*#†XjW¾X¦Q:péŽäÎ…ôVŸÐU‡<äÂ0–÷’þˆíÉ7e–žqA!€±jpžk™Ú N€Ê*sXM&&rÕÃ,¤jœSÓ§ƒÜ—tø·²Ïàg§NTNQK¤ x^DdÑ—ÔFF‰)´Þ~óQ·âh%7%‘0êezÜã ÷5nQªÕÿ¢·YP÷YICñ¥“iÊRÄv<ŒÌ²ù¼aÎ?!˜êá òÑY{â^%ŽÒÈ)ìÌ1+“ÏÀñïÜyg:FŠÙh­©>¦Xúû)²R@tÀ)e±xÈ: w—<èñð[H(Y#M?˜å³”#ÓÆ#¶¨—¯xWªuÔí>[ÕxŠî—¡RVñŠ éíH:fêAˆçIÔd;ÞVËí¯ï}Üò) 4¾jýÍ}Ç/å,hòÄò™ÂKRÙé³™¹@™ñCV¸m¢P¡™¿s¶F¸“ß;%—§2ØÑN¨«˜×!¼%q—á E§- Á¿_íÚš"ò¯k´ÌæÝ÷Ëéñç°‡º&„ïO.,È¥†ÏH#®fë䈲ȎøÖ¼¥ˆ»!j·Ôn»A†ågIõ »,¡ôQ¨íïÚ5xy†Û>šë›æHØ!5]·Âe¬JkÝž‹àçšÌ~غ V€°¶m@›7¬úO—ç\0=ß4@Eä~|õ³•3¡à¼ìu8jxJ#AÍŸ #Û[zÁˆ¾fœ¯¿ql2xÒ¿¼¿”{á\C¾ööõôùÙKÇÄsÄ2¤æ‰G]¶›Iœ]nÐ’DÛÒ\-Ó…–gua‚ÌNýõ¹ç‰yñÖŒ¾_ˆœÞkÇ•~‰â_1Z¦\Qê‰éfMsÀXÎCÉ¡ûYöv³‰ub¬æTŸå /©M„ï]n-ÒMÄÿ»kîó<+y:úÇœž½ßt”¯ïg”©i½h}Xüxgí D4_dì3ÂúâÅæV Nf$•è/¥ð•”ÓÙº¦IL…óîþ`†ôýzº`&¼…4Z·ÙªPÄ›;h"™‚žq£à]£¶ÿeú¢8Ɉ9à×ðB(-–áàú¤²–^_f´ö-Ì'Ï,4ê'4$$;E-ÖKŒÒžÜ:Úeø§¿v¢²ò'âWò*lùD<‚ô›€-¥2Ôü³†NQžÖ8XeäÅÍ'÷º“TAχS{`n¡3ÒÀ¦JT‘rVSSÛ!/eGõÝ€råÀ9MÄ8¦öl‰] ”mq7ÞNcƒ`WûÕa¡ŠÂ"Û±A½‡Òæ4=¹Wå×<œ×‰vN0{#?o±ŸÄy Ï9Å”·”bŠýfy}Êâ]]Õ9Ä -Æ«Ą̊¦ž ›ÁNmµIq4¤F Á˜æD—çì³QF\6z§¨¶IÌ8l-K-Ê-ÝÀ²‡æÎ÷âׯ%vNÎ3 ìøM³ò y‹R¼V–Œúf+˜ÖͬY´øã󲕲«i­ô0Ù7 *Èû—¶À_’P7;;Dµ§9{1‚o ¸ráΛ¨>â››c7åš~”…äMGIétöœšÆÂqZSÑŽú1@H¿Í<$/(Œ á—®X˜7È¢Ù²(Úlj•ÜTÃ;zñÛŒHÓ12ŸÚ&@ÀRÆ:˜Qjî#c¬×„íb³ +!Hû)oü§È­<†8kð€¦’³^Í«áÑE]_¶†0€á÷6oã+sßu‚‰™?Δs¡Tž»{f0šøSµ6™MµÅÐÿ;®‹×FÜUkòȬ±\Óã¾oÊ*¡ÿYýÇõ3CMÛ¸¹=Ø?öúeù–šŒ.ÈÐØ01²^x;õÂ×´?뎸*GyÑ5iM\‹<7¯BD¦þtÿ¶­x !ÇÍ:Pg]Än¾úJÑ#œˆî-ºë؇RÐr) z$ñV{¼3—!6D›I(Cö'£ÅÑE·èQ©†sí£z5fe¶8ùIø í]©d©P•?Z+y¯J k3W$) dœâ.}Þ’mÔù¶Iï\â%›È$D€YL5R×&ƒçÊqx°JâV¬°,ŽD(2™ü:­¶Y”‡Š>ÍÏo,÷ aº)-RŸ»RWܛޥšÔ¼g ×5XQ[õ½y³Ò¤+x¢×nøh׊\¼i ìºJx˜X‹†¡ÊÚr)H96lʽ SD¾{9Ï9&«5«Ñ´;–·Â² ¹×¥†«4G®kÈä2UúºÛÔ_/nãžïüÔI(‡÷ù ¥VtSŸøÄø±ã ; áëq5럄ʞzõvzHâ&£Ì÷qÔÐ7‘…½UáaÁ ù3»Nß® ?œÕ œGágÚf¥u}ÂyÂm]gˆ¸zˆ/aÚ†¡4“ý>"'!»[I…òÒÂO׌u‚vy…s £*ei;çG1ªSî7·éý·÷M—Æn‰÷æ žœ³Lʧ—¶—pr.ö¡Ž§5§þœOK D]Ö…Ó”›ÒHüêÔxÃ/?೤‹°PL–ÌE)H­ÂÊhxBÿ®$Äœ™ÜŒ\(¢—h~È5y’aåH¶Äï#—ä2èµ2”A¡´í×Mjž“h‡–Ðßì¢Ùtž»léšfSÀ—R_«´!n¼F ¶ y0ŒÇK'PšÑ·³ÐŠzƒ†ú±7Òs4d‰´=ð[kY>/WD¿ê·bi¬Œx$ƒ©’ÖH÷´–Çÿ‰tY۽ǂ€ô¨eiË}(¯·ñGyó ¥Ý4º#«Jk6–ëJú\=^Ç…u|¤ÄËQÙ,–'fC\ÊŽœ°?ŸsK¹7ÔØ_Ø ®m´[–ôH„< Wˆ»^¢_ý£dõ{¡²àÒ"ޝÊoÃEØ–õŒÈ´o㔳žCŽz†‡«ºK¿$+¥µx¿¸@¸øo¦y•8 z˜vƒ˜§0ŸÂÓóé ®Á‹î6OíDqí̽J·³µ°1õ¨ðË ™à»"M¿[ß°©ÌßÇ1àa–Oy‡>ÕU;œ±»yÀªË=>E´`;‰@ÓÀvsñý°ÏÝ[±#'ÞmWëâøñ°x¤èœ,7ónÄSÛ#ž)sÛj,»±@Ó¦Y²6¥@ÚËÏL™iÞ—,ÙñK{)Nïõ:ŽX‡ùº¡Ï`‚s‹ü×é•·r%Éx®Ñ“œ•}dbŒˆ²½ƒŸYÊ ’}Þ¼J§3ÇÃ×,ó̬*o'.uPj1­DˆúÇ`TY2ÅÞ Oëøžô»uø‰þkûC3f¶ž§¿VžkK…¨ú}^ÅßÏÞïo+¼9«l$œP%‹6å—Íc6Ç%­5pÂÑ¥@™êÙ uvyæ/ÄÜÖÁ«ÀÏbåUÖŠù+hQ WdzõûB¸Ô×h>+›Ñ¬ÏayQ»Šôœ ™¤½Ô±ÌûërD½8À¤n¨ é=cçlªÞMñXÅ–K™.¥þ­™¢Ú0grj”Ùx”E¯¢B7 Úh>Š<ËØfãV,.çðÿ£xçØà¢]iósßSK>G ÞÙ!©½ßIÛ#ÞP ‚P Vž¦ímËJ—Æ ³æ qümTB #vÝòéî¤ñÍ·–ËU;S~3º¨Úˆ©9Óa3vÏ>)f›a‰¼–¾~înb0x‘Ê;Vã@2zðoéWnŒ×U–z% ‚obññ’Ò‚,¯ 2ý{â2.Šék ¬dð鬧ó£>?Ï`͸q-¡1#" u "ÌV Á"„òvÒÆÛ&¹GÜ%†ÚðëœaÌ×)Â(>¨GXAŸoià®§×n¡Ÿ3 üÏñIÕÊä‘F!¹†RÚÑù!zlG5‘öŸz¿ûzð¾ÄÂd.ÍUqÄÚü÷Ñç콜}›<£ÈÄ~§îýcöO@Õ$9ªPw&"Fv–mÏïezÅJeNÜa'»,Aõ-è÷î…ÖôúŽ©eo˘ýjY°ÏõÒ."+iWÄB±§@ûˆãÌâÂö°Œ/˜h„Ï`}G*‚Y)d¿Æ/q_ž©6®ËbU‹VÁßuäi€cè 5EÐTRRÎ)þ0„ÕÄ©U- >¬‚ ÔùB>xJ„’ž¼1fD@wj¦ãÕÖMBàÏeÙæ¾‚•x|]u…ÆÁúËl¨úîšÍ§UˆJ£Žˆ“_é~©ÃŒÌÑ )‰0DÒ‡ÕY m9+v æVDHq]¾-C5ÜÈ©:"¨¼´ _s¨?ÿ0ö™—äÎóÄ`˜Ê·Â#6(&ÝÝFauÓqúbD‚ú ~ž@ÁêÉ]p3â_ |p%÷ˆœeSp†vvçè4‡†äX V¡^'æò0})ï8»&ÄÜ›æùf͢˜]‡˜ð+PBhxHþ#2ëÖ°]˜}F;eqÁíYß®oË÷Èé,Ãt\èŒ4ÁŠSÂxK‘(½àÛ…Sîó=›JÉ*y–úóç?Ãs)ØÇÜYxòÌØÂ^Ðú•¼n›`V“ë7ûâA‚$Ó•›/{À ÑØ|§RsåÄæ˜ŸŠ%›rto‡E¢ó<Ö¥M¡3„›Í±Vb.rö์ž8 ©÷Cýe+I €Œ*VdÒ}Âì0HÒ¹4¶;0ßø˜Õn;Üü%h±zk{;ÔO=4´àN+[> L¨”ì¬f‡aCCvXÐ0:¨Ì'/Âøæ¾þàÿê4Y1ܳ¾ûYÛÈ×H=(–g*Ò±¶d´Bö®ôã D© xQ™Î¡yì±Ú­ü…¤Š![YÃv»8LPxì¸v횛Ȉ¡›G2ÓoÌàu“Ò?( Q›ì‘¥év© ɸ24dÛ¹ž_`סM5D?pK"ë¤Óiçjø- õIÀÆl¾ÿoÌ{µdLTcÙBßç53r†ï:ÎÒŽLå¨s2è|ôÔ@ÔŸ‘Áï¿„Îå ÃA/fÿïmÛ;£X$`" €½ÀIÔQàUEB(ª:©²«±³exº¼·/Û\tÙ¨÷Jm 뇌,ˆ$•BÄfE‚ Ù«ÿZMÕ¯ÛÂÉtÚG¤6Â5¸ŠãUyšŽþ0ÕÖ7Ë‚ýý?z¶G&«$^ËNè>ḎqŰ¶ÕŽ¡£S—®"žÔ=;¾º«ìç™[H׃{}g>\¤902#ó pêìzªEŽ:¿õ­ã“ayKcýùÙÝb$‹Á2 µ›’×ñ'sDÛAˆ q¾mN)íËØŽ§–ѽ®Yjk‹Æ”Äüœ#ž¡»*s÷õ²/®)\™Ï©¬|S\Gq€tTpº^\èý"ˆµC§)ö„úÇúKsY‰òë;ob\‹ÉßðB}K” É|Ö·„QZ3ÖvÇîÁÑåNTB -r°sí'¿-xwùþÿP”‚næ À,ÔALG0 é ðËA½>°E`Çÿ¶ƒ¥kÍ‚×9Ã#;‹ù°‡’² ©k‚‰B€A5±½÷hQ:å¼ýi®[:q£@->Gß[/éa+1Åh‡pm·=Û rBn±-2§»âçP¯ššÅ#2)Ë.–˜áùAyäv‚GnPé×¢~ó˜ÎOz†*sjF>|AM¯ƒL‘â‰E&­fDêÑ®Ã]B?æmÚ(á±9€Süó æ×±œâ¦¼ÅÕ¹sç†Øûcz>‹£dû¦9veÙ@à¯<%iÁZ.‹ã?¼,ë4;sËb°JïsíBà~’ö‘nŸªó'áúÜ4×{ T1}SÊž…öN;EïD+®X®H±nÓ¢ô Osä)Š×:=”/‹àmµI¼U­ÕFœþzÓn¼®qÌÝÆ&ix¨3l)¦†,aqŽã—øg@©/ºŸÉðq>‘]¬‰ÚÛfù¬X(í0õ‡Í•,ɾ'DlRA¹o5V™o´­#*O`2qO­-˜LxÛSñˆù0ôò²–NÃ)Þoı‡Dæý†•Áè¥T'¥ýdâÐSÎ× ¼‚BiþPËè+KÖ"B?0¹5‹–pv$¸¿ æ:|ÖB¶"RðM!ÇÅžF¢Ñ¸`R•Ÿb24Y-Oc·è»›™ØvþТG2 ,§ ㇷ4Þ"z¸Ç³V`o${[@}üšžä¶¼0LÒš¯h öpiÑ_ ìÆ'ã“»‘VÑð?ŒPf쫤7˜Úä ãßàœµÁ_QB{|H©†âÁ\BèIüRq®“T#¥újiu®h噓­4 UXymi˜Í؃-åo%Îïkö§BkšjÆ_ö ÐFEÒR+ ·…€²tN߉‹´`¿i3<$“P\Z’ã•ý÷çÀø戚GyCBŒãÞž‘ Feìv"»@äI¿ bƒB3Na¤Ç‡WçêI÷!ñ{&pívÏN œOá'”?Ðu -2~'•Ä÷ÑŽ§\Vûç»Òš?‰.qþÐq@G¾¿)ž8x÷,çlì7ÐmyÍS€{ºaÓÉwlÏ1uÞjFÄè%ÖâLóâD‚Ú:fçíùŠcµ/E«ME'÷É¥ž>@·’xw«¤s€ÿÆbV†¥|EóŽmÉ|ùrTÑ”[Tzi!õxŸëû±© ã {¢X1Ï-n—¸_ ƒqUJ®1H¼È«óy‡õ–yAŽ¡f³mE–“Ÿ«;¤’Ô`ø_o>˜b/­t–RÚB‹çà$ÕË[c^YâÈä×Ól4p†úLõ;àFþgÌ¢ÐÝ;‹@/‹Zm2ûòŽçív žƒùSÚ°ûò)L/›cCŸðwC¶M½>ßÙóUtðZ~ä\¶b<(ã¾…l¨÷³¹ ›™¯Ë"Ò`ÁÈwÉDðGqæÌLûo„ÞGVËÑpÿÈÀNoòÈøôy|Ã!I¿¿ÒÜ…Òõ 3äkBÉùÃw[ y›]' uB : ê¨_†B1¿¤ö tÁõ²@9ŒGrvãÏe¶G pÿŽ>­ß AØ¢  Þ~5Ü2ç˜!eŒ•°Êj¬Bµ]Sb' W’hÒÐNÞëLéÓ¬]þ—i/9¶>ÅvâGEå9P =šMaUC$pô/x°#2ÄØ7ï …ánö­¥_¦8Ï´ÇøÞÈÍÝ4Ö[­‘$@š ×[[}é®GêS›µŠ‚A%÷>0»Î¡‡"J‰A‹&iRNÜ¿¥_(øÑ‰¤ê'µPsš%³¯.«qÿ?“÷Ïèkp¤’ ¬C½»6 ®Ó“®Ú ÏÞôæÿËí¾†ž`B6˜©8Þ_£^dæ¦7z$ûz.Ìù·ðö5îM¶2Ü@€ÜÓZÞ5UÈ C¯Cö%Yk·nOCCçŒD¢ \9{Š%cG0ӪǴ)×t-ô21\5†çÕÕ%r”Ó¶¶ò¿Ï€nÿÒ‘àÎ=OñK¨†ŽI¬9M«Ô #îojª,KAi¥Wxôº¹Zqc˜Ý$0 ’ï¼z«?ÊL£|"ÁVbL΃D}[ðLº¸P½òiì^XX2°‰7Á^S…e‰>ýBé@V7‰CT-§ª ¢ºƒbÓ[M t5Týà&±¨E?¬Ä0öàËNV°nÇ| E•õfFØÉ ‰h+¦Ç—¬‚DB ·ß±ä“F™ü—4ä~¨0>&ç}jñJç³A¢‹ç  Å„¼ªûA_œCVBÓßÊ–êWýˆCó;:® Ö$É^}tO¼©tÿLû SQÐLJ[ s«k4RÆOV¼*ž ©yÿŸœ©NüÚí¶’Ñj k¡Þ²Då½É¦ÿÖ(ï…y¡Œ ,Ï)â7ðdÊ­»k_$QÝQ‹,Q põ0+|­95FÕOªÏ¤æE˰þù:›'už%SÄîHW[[Ëe@L|ñˆˆ£W15õÙaöüªc&Y|fé–ÿã‡$+#†ÂZ eš:xKê6M}놚;ãø>Ç_ªæÿkÈ-á'Œ u¨èIˆFgÀþë”Ð[ÞíxOajz!ÍeJR7Ò¼‡.öÕ öM/^(»:`\N),?¯=†íˆÆÒ­k×ÑäÂgÉÞ#zÁîO¡àc?¼d0Íž8B¾¦h²nÚ1T9æ†ñÝ-&õ‹ç¨ÇS2à‘Ô3…*ƒÃ >…™Ïì,ùÖkÔ Æhüi2Ç©9¿Ý›'JæåU jg˜›,ð­Ü¾­Aޝþ?°µå^iÚf™øá8“a¬k2p}€ˆÎã:‘Ú¾Ès…—žÔy’1„ÀÖéþ²M³ð @Ï^å7 ¢öf»ÌFö^Ê`¤É$ nX!‚mAóש„Œê+«Xÿñf6ùãJêߟ«ƒyþAتŒ.”ßT|˜ë°{¼…)4tÈôhB;¦f|¸KÏÊà$Ìÿy1ËÒÑUÆ5eؽ÷»-hmθž ˆ28ž" δà,²±cðÎÌ_H¿÷7Í7Ò‚-Hu?y6IrÈ?ÞŽ+þqo’¶`CÍWm™íå„zßKNµš_qÐj«~6£­RÅ!†»»’>»"bU«:“&…’åËäÍÜ% DÎ6¬i•/žQã•©éÀ3áÝ•òÇí{šoihή%žgˆ Âåà CTÖsµ×Y ooŠÛ3ò_.sü´ê&Ø{C$vz9 ùQ“¶¯¼²~?IsüIÒ­w¡T-‹…ãÏ…c¦h*ªIûFr’™"Ö§Mq¾õ¢JGÏj^²!.ÔiŽÓûlx©/ œI-ʦPäMr AôÌâã…è„çÏ ‘Ï^ºgÿêàôç œûo™)ñNŽ''k/~ž_/œ¾vÖÝ‘îg #€@ EZ!€hé±YÌÕð>ÅrgE@P«Óæ·}ßýª®G0ÖÆ ê{_ s6«ðF/Huù„Ô<†÷3Ç-`é%$yæx\ÉïÐ׊e¨ ÿÁ“{%RdY÷šéoCïHÎÍóI%_Î) ªµù±4x ÛÀÂ_“•hË/Œx&ïJýÇ¢›²¢B!Ê«™6]ÑEQŒ$°G5"s–'oªâ«=ÉtèüRÏÁ1–ç¡Çtˆ›/ò›_Þíü!̦vw¥E×ý³ßD›ÜÆcY™2ê,Ù7Ig6‘wL}’8Ô}³yyêëÇ…²FIÞ2Ý,O…üB¨ß›b>±ÂÒñÅ(U_ÄER5ðvÒ‘¼ÞÔ€æF ŒðÃ~”wuEj› Xf7¸õÂë½0f¼à`ćo_á&Þ­D³ÚšµÛ%Ö`l–aEDŇ »ÆŒ–qÄýòØgTM&‹ Oû‚µßPŸp‡›ÓÅâýoç}YeªþÒ;Ú—(YJJz4^‰Jpåe>éMŸam²ÙLpÿ}¶XmVûL€æQ¯ $Nš¨¡Åð-áõ/vSG d´ŒZvY‚뜼öðf owÁB?k¢I9³ªíŽA§P¨´(‡PmZ~>“? ýKo/ñ³n•/7€¿ƒ•½Ñ¼‰xhòÇÑ|ºÅÝ,°&œ‹:ôÊdœÌßý2רö§oËßר/~ŸY¡2úo¨cHÆ2ü@Ðã¶ËkÉ3¯ß·ëIÏu–"!]æÿ¹EÛö,¶[é,ÎþÓ ëCÆØ;¬åöª…WÔ2 p>¶`KDø’m‹¼ð—nmJÓ>Í'Wÿí2ñC7‡Tb;ÕµMVý¬²‘²Ò·NÁá­®VÄ>H°ÞÑr¿#wñȸãí|Ñ ²·Ä”¨Rº»Ù|“B Ξï<"²Ì] ޽Lã Ìkl:³Ò_‰E‰p:$7½^Æuî=õð  Ò_ {;ôþ¶ c¡q’ð€Æ MÓ :n*0T|Ñ?úÖççk38ÕŸ(F,ü8ñì ºGªD|ùšÚBý¦Ü(9=±tóÕ£M ÀèˆtT »È±Kc€š íÌÑš –]™ÆKòÖ^[*Hˆ¼xÓdûÉN/#k#"ïˆP}ÅNú–2åZz–Óg÷ƒ*3Ìþ!d»:"ä9BP';ÆDyX41¸dç˜VÔA‹Ô¨q,ï-иíP ñšÿQ&Y÷‚ŸÛã7šØ–hÒLÁu^…¿Ýi3gL YsÝ‘ýã |&VPŒ„Oï…eNÓAÅîØ•XDRé­@H–ÁÁ Îõ<Ð"Ïý˜ª—ƒ¶¡ÛÛú`S%œœ©ñW‹’¾i¤m&ÚB•î¸5õ,tѯÅJA)—ü-#Ǧ5ëòüQ’ܶ—¤ ­þ”@A5V¢FZŒ4ÎËd*²sù¿,Æ=¢$eÜ!9bl4Kpd\4>ØcêFçÓD²*R—Ù!ì¢Ö²ûaÖLé§~ýr ÷À+“¸´áÊ"…v³‚ÓrÇ-Ü'ùSDûÖÔÝ B"*¯ˆžèÁ~@ÏzÇÀ:ó`Ê)lsóPÊüè˜ 0{ˆfÅ)°Ÿ|O9 î„|  *4Oœ¤k?ph.³°ýxJk&qG‘Ou{«º)2uÖð…ùzŽˆVF±qD¬´ÞgÔøCˆû<6¿DÃùRk^ýo@;‘jsPÛrù€%â-^:u5RLÅš@i…ì{ý-ìá9SŽ_3ŽÎ0ô•[ Èõ(~èüÍÂý¹ÒVîÿµ~¾¹­PêÄ¿bÝ]§ÁÚî‚ਠ–‡Ô§%# Ê9Èð!2ïîÆ_)zb/\Eª+ó1‚Ö>{Ú7|È{ÚéêæG1»ôÙ߀ayŒ­P͵»¤Úp"” Ì€Yäy*ÅÆQ56V´—qˆdOü>·[É?œÚøâ±Ž5ùTcf1Â÷ 93µs[QÝàà¨KœŽ{^¦¯Û¾þcLšURÈê#$qžøé¬»ªÃ ´šËÇîå Ü_cKÝm½âX"µ¢ô´×mä9ajr•a½³­˜ú$O%ùÿhs¹8X‰.¦ÏztÏ{‰m‚~Ú™-ÃøªŠvx' š¬¨ÍðÒ·¬ËBÜMK;„bø“ÅKJ8oÀŒ+üZtGmÖØ|µ¾p_²ç/WÏv,à/ØðœÔ©X>Ý·*>}27“ÕŸ”?í{wy›^‚ô"æ¿~”¿K4¯?®?1J}]Øý Ày«£÷ ŽÊU^ÔòG.# ã÷ºÛSª .‹JúTŽÖE ]"^œ8Ÿ¾B´(PëaU<9aÑòްvo‘Ld©–gYþÒ!É B—ÞŸâÀ>ÓÚ°'¹qÿ¯9_¦I¬_ cùF•G¸GO+5ËQœÄ“Dã²< kU*ã@ÒÆE$À€)ÿCZ» òܶ«{*̳ÖoÇʳ͚“Íß{7+Š÷i°N^é3KCÇ¿-Úßl­}ë| Ò6eéª[_≒€ÆE¢úP9Äî˜ÏIá|ÿ;¢ªè˜vúF3^[¦¬lþPfqWÙÒXu/ßm\ χ`¿¸2a˜þt.ªX¾Ÿ›¿OhIIK¯Ï×Çž?1ÚëœÈóÝrÄ‹úÄè §u{´2°™•,ø#ëÙæ««“ý*Q†t& ì4ò+0¹«Ë$êÀ$4Ä: *ìL¹J!QF`¾ œIÖgÙXvQÄÑË(mRöL³ öðCUÙž¸b“x§M·×pñË”ËßÅëiÐMÑKKÁ~n¹›S zö3P’ªß_P%§ßøMxü.^ŠƒŽv[“í#;­-¦³á¸J5)ÆûÍ@Ò6këÅ_ŒK$bmhv­oÀj #n¨d' ¥{wªmýÑW~Å›í3ý"ß™Y²8& B• P%pøñÈÌ5­¢±ùˬ×,BFÆúËÄfêú6š†•Y­àœM\C×ÒûØrošõ3+çÍj– 1‚7ˆ‡#ý#OR™x–>e'{«Ð˜„ô =lÛøò²)Óµ’t2’ŸD³[¡×y&\¡Ç)a 0k™¡Tv¿‹§è2Öø‰bÃ+CÂËóÚüÙ®F›½±éÐ'QÛâÌO ”PQî'_hl~Møö”tݧ&š ;E\šVîÊ”às½CS:Àd“åû"Œ}â¡n‚Ì!¸Z”á„%×0ß ²AYäK»Fm5Z‘`¥,3ª÷']A׊Vt-}H½E®Rým)?y.±éÜóÁØ-€ï žGŸ€®Ööcj*!DØâôÍIHá4@-É;©»ÊÞ­•Ì…áÔŒÚÌE@QŽÒ¾‚Ù?ÊA)EqU£;Gž-å¤Õ·´>=¶^Ð&H<ÉA¦ƒï¹¿½Á•g>UD†ï(DÜ×ûK`²ØÒæHˆYφ2ºVðq?´è¼³¦Ð¾ð¯H¿!^7ÜXDó§p¨ÈTœJäà¡hs M²B5,î óDá#†Ì”:[‰œ h>ètÖNKá¿À!°lbݯòïK-Gb¿òU’Œì{'²ËéÖšt¼æ¬MâôΚ6Œ¨P=ò³‹d(åJ¿ª±;ä™t˘ æ·_¤AldñÛíáÙ‹ÄVqG­¼óÖE¬å*D ÃFˆËÃî¬MÒ6b×±dBŒ¼d*Q±xêÅx¾«õ¹ÂèEà•5#xÓŒ"„4ÿ0óxš¯²h/@ôÚVBWŸê‚ãEˆÉ›laµîym Ä6ê:Óªì7«¤{ÚÕS–p œgÀÈðÁFfvï—MÐp‚•Il±"ªPsoI‰ñ*Ü2b5ÏOÆU!Z}‹×œXrÿ$êâ+ ýEk˜È©¨ Í›Ã Ÿ =–æœÄÝøµß°ï‘1ß:iï°V‚>Tb 9º?‚m¸ÔpBGß´àÒ=dÕëSEW¡ì Øy ø­$é‹°]Î%ÃÁ-ru¢´Ï¤zó‹iNÏm:iD/ñ÷º²N–1:Î[À| ¨¢Dw >·¤›ßô™5ßQÞ˜,M­¥î4^nâ'Bëff¸M©Í‡wÛ<–…œ²CLùãàÐlÅŸü­ î­,NSÍj·:h¢•Á¡Å€®Øe¯½BMO‚©ƒr“t¨~Ê£„>wÌÖ«–VXßœ0罡ÉU+ývðQÌ(”PØë-Žs¨»ò¨½©Žª[ ‘ó>¯Ð*¥[C²"çDå„¡Üd¤Ç\Áÿ$lím¼í0o5&²—’…‘Ï̽º`‡UϬ9 Îƒž³¼`ÑŸf<]›Q`Õá¾ ´3“1(,Ÿ ïQb›ƒß8íûnw¸Ùô¶ÄÐB©Üˆ„½;5S˜66Ø&¥ˆhðq`ÏR´‡.Xû¢³>YÇî ¸E³fK?ÂŽö”9Âqßüç)„52-ÇHד¶x>çbŠÎ ø÷† õçt3•æ'Ë Üö1O^¥âþ|9±;MùÑ[Äð›±A¼GÛe÷jkãÖ;¼ƒ/¦…™±>¤ºbþ¾ocËvøU™FUä³ &b[ üMOÕ ‹”³°$m¾õo$¶ßýp¨õA5³_jEð¨ûv*‰–¬˜’OiåU ƒ,…›ˆG£j7¸£)­¦*´›ÁtpmxÕ0½LR£qŸä~¨pb‡« Æk³Þ'Ê^U,nV¬RKfC­ñ¦f@Žrà‚˜9ÒO±ef9O)nÂ…‘¤ x¬Æô­Ðº·ÑÀ`±Ð×9#ÔaFTv~Ê@¯[MàÊ+o V7ÁÂ*×—¦h¿¡ïtÄ<¨l¶ÇÞP†ŸžtÀ³_|¦¹ú˜L[{Î e¼2-)¬PÊ_ª’ä¹È‰þ´•ºJ'¬Â·"ᶸt°™ Ös>9ú ³2LäÅBwõ”B`î[€6µ¿kˆ£ˆÉjq‹Ý†`eiPØØ"ÓP±d‘‹ª¶#òþŽ¡ràþ¿`µ`³ NÊÿuª iW¨Ð¢IîôúåO¡“?k¥ESy>tÛël¡Ð“¬‘ÔGªÄà$–eÂ͉;Ýiót2ÇæL³€F°ÆE° Q<»ÜeÅT4^_Í’Öx/ÂM"l*Ú:ptJ2èãæ¡¢ï^I×¹?«Whª¯Áf¼mJk¾”ˆAq_ç  }--±¼³õw êìyˆ7¦6ëÊ\A6.œ\·²ÃÔü–¿CkC¶Áw“àŸÝ;üŠê“ÜÄ`§Á]µ$2ø½¸udfAÎ8 Þ¾á¾á?–Ôö7Úé<Æs¥>ppdj8» ÕŒøî–e—¿ûcìÈÃÑV ù–#nE3ö&ÂY£þÌLq'L œìSC¤~˜ýût]DŒËÉ—ŸóSX|è•¶`ÀdI+3WŽýÆo.Ë¿ÜäÀ3¾h¹B’9¦îÓ¢NÄÃ+xR•½ìi,NôÖoʾêÚ±¶ý€{^{OH‚åKÎÜåkl¦ü°¡ÕŒc6S)æ&š€ꔃG ¬ŠÄÒœv ¸÷ÍhÇç­ZˆšààÚ")±Ë9½òœCZÃ:g¾y£¨jÓäEkà^´b çw}ÞèT8ÆÙ|³¦Wâ‰hHéŽÜàÅ+%µÉTñ'0¤ÀÇï“ÏÉù0\}gN'žêSd KY¤,°Š¬cÐa‰ù"Þ°„Ð7H²À²@1ÎGža‘îYBüû8 ïo5ë°š’D\¤%gh¶ü•ŸsÚHÕ¼7ÚÙö%BJùx=·?Ó[ 4 “ˆé gÆ$1[;xó‹¶™±µkäJ—•qBÓdª•°'P¹¯× ¶»5P(+›¥FM)&ŒºíšÌùöQ[·+£n¾aêm3ù Ñè —Öœ ðÎŽD”ŽQº~•,r%+ÇžÍõ‘ÇˆŽ“„Y¤x븹ÇV"èùE8ï,(üøñÐ?n>ò/¸Ý?Û°záö€z7§vg }*Þl+§òFE×ð.š¹û‘CµÑ¸ÝŠñ³Q Y¨gìÝ>P‰úyÇ qI1^Å–*Ï$óFá‘o£Ž}ך†ÁOè5’Ùuˆ¼¨µ¥xhÙ( àÿ5ù<úURjwI(‘ТҬ`"ZŠÞ~u<¤ùeb™¤'‡·Á„ü’ª¥çº™òMËGñÚÞÂÓ•¬é?@ØN‚¥ÀÊ“V£éû•œa¬ª5L;zGLÂ{¦yŠ„¼#ÝYNÐñTnÝÖJy€GÙ'0Êbð—“„žÀf4ˆQBÔÙëø+1†>ùYÄ6-¨3BXïse¼9ìÌ$<œ<šä\:z>‘®’çn‚½Æ¤oȆ~^tV¡Zë¯aÂÇ®Ù#4*kHþb³F“aÿjÛmx#´"då»(À9&_x3Ä4¦‰Y˜g$“‚Q ý\γ]ôeªUÊ 8<"‚_ÜÉ“¯”Z0®´ÛKù #•LH îWz& uÂáGî Bɹª“7ëߊS_Æþù%ÎÓ:š>oêñ]ì‰@co¥9=i•ñׂkþ±ù{Ñ4j²IAÀ(.IV¶ Ûe'éÒpTmŸ•f;ì¿8Pþó¨^n­C%µÒhÅÂËrB·¤!ò{=ºô%z‚O¬ ó¿—ÂÇ5›Så¤xѥ˛SíéÔMÀOB1Q1‰ö/móÇ€ÊgÒ¹¡z€9Äî;túüù'{à}(fõÁñ…“ßà]HÜóñ+MÜL…¤–Òæ£3Ë{@h±ŸÝæŒr”DíkÛQYœO!O¯'nÏ9fà¯ÜÚŽ”1sHOýWDÊzÎŽ¸Æ,Zñ笚ñ˜»ý\î·ÔHX¡x.Žõ‹éåýåÜP ó‹ Ò¼ ¼Ãß“óÀ-9 t†nà¾&ÇÙ¨¯ê×PüBŒvYBÔw,ÜÔÁœ¢ë Ûy0,Ïn‘x dh¦Ñ-Ù•Àìƒv‚qµ)±ë„̉ÿWWÁ~›beÎ/2R=}¿Í[Ú5VØIv¤ð¯âÔ>¤Ì–ß´ó“°m¨Tq¹q¯*I®Œðù ¥ºÝX›ì1©¼ÃÛÜòüW7¹]ûDNÿ˜—¦ŠÛ­Öö•áܪw+$ø‰U^ ÑÃúéÅ­º£¨¼ßL˜À­ÈDw±•†'hô±%ê?Ì–,i›Â[÷#^ù,Žš`˜$ˆw°M’ôlü{„W[¨nŸ cÑ@ù[ÿ‹È"\ÎþMSTÃ28œ¼X…<ásÞhÙÈçÿþkàZ r‡ÒνP+ªdiÔž‰ ºË²mnÜåLi† +oˆÞ[îS†œŒ}¤’“PIÉ7z bæ·ü ᮯb%|ð‹¢-)aŒFþGèN+®/Ò°Œy”Õºÿãä1^8RbùiÉj= þVÊqxl!äq°ó þq$9÷þ‹N‚•^ë(GYdÁP¨3¦¤¨´£m×*›a<ô£ÎŸJÖeß]uOîÄÇ<ѶH™$¼¢GïHæ ±…do/à¾Yÿ|òÌÜaQW’ b &ªŸø?2ÂVðÅÞlöË ¬¤^þˆœø´Õ<|®ìÚ>³£YùÏÐ÷“j omˆ+~h™@ƒôéÈÓ¸PÜ¡T¸8ÛI#S‰äÊÃ&°Pª's Ó‰›ñ"iFì„ÁÆr!B4%²üNºƒk’t“¦ÂyÕžfém¬Ež8¦{áTŸçPàáÿ)®ãgçå÷³âÛê ¨•ó[gqlo=`²¸&Ÿÿù‹’9MæÚ¿2ó­CËl†SVíõ§ ÅÆeÍoƒ•$lÒ–ýW'9[l<˜%±êRïºç?Vé .°¹}\P”¯%ý a³í|x*#å8¬Jù2¤p5Hê; –Z¬ƒ/  +¥FÂ9Ãr¬Q:[ mZ×Û+w!è–/T¨%ÛLJ¡y¤0Zß7üBn{>C^'+ý$ •/]¨ô˜¡ÒÉ? …€¹ °&ºLhŽoÎA'þ­©(>ù©AªÈp–”<Erd¨–3µžVOèwÏŠýöZrÿÀÚ¶(ãk âASíÄ œZ0x‹Ú¦ÿÒJÙÝ,Š”'¼y±* ÌC¤È’ñ®ä7îñ'•„Ö%%Ó©òføÆÕÂæAŒÏK‡÷ÞFr‹ûÙ:–3.¾5¢ûpÓWü¬‘ž"ç *"¨Œ!:¿%¹äpJ´Š b¯Âç~ɹ‘w¤àDz¤%6®,”ë5ô²ØéXñ <Xõ’,c ÖQ.Œè¯‹JÊ4`ƒ!Qk´ð?–“ZC>ÛVõJTtš$ÊáëÅyܸʥráªbÝhæb¥ui]ÀQèhv=´aO„lUÚ> yP_ NÜË–¯£‡ôŽà¶ñÞ.M€ÖZB¢h:>ÈCÑU¯#cëZ0zâ½²Ó±”Þ×:jÕníý¿:»“oê ­è…Ú|`6ÍÊ"Ÿ¾ïÇÔ­{›ç–­“G-AÚ4'9%ih•³5Ú·Éê˜BË—¥üSǯ[ Dd´|E¼ïMrnP›yêœÓÙÙ¶`]<›U ¢ç¼¢Æ|N×Aä'9Ûc ]Onõá”äK¤ÿ:IC²þ:wãqÖœæ–&p6¾LÈŒ”@èn—'*Íz¬êóo’MÔ)‚Mk†Ÿ*ÖV5‘¹Ö”ý¨59€™{Ü4{@ß*€˜©Š3ô~=‡>Ÿ{z¨{K†dw µ9"¨AÉtø *ÐŽ“®)¶¬ ¥Àò&ÒuyÓc6Ì–•Jü+Wê½Æ¡ÝA¡])95!@½ ÚrÜèXhC*‡ÇÓ“õ%?¯T0}wf==A-Už="Z°'âJ‚)€1âÁ¼€ù HeB•q.}ªz °†\ñʼnWë¶Í]i˜ÌÖëK¼ÜÕóÁTì‹\ÁOÐ^£Ãœöør •Ç! °—[0¾oãKRàEöz]@,’O¡OÞq°~eÿŒ‹k]»®659Zôødcà’ëŲ^#ÜøÒÅØ¼Š­íÕXUUÖÚ›C>ûEŠ,ŽŸ‡²RWÜgôÍ?]akÐ=Mäf…÷õƒ´< ˆÎ`ï“”qFÒƒÅQÞÄvT Y¡…ïa¹>5[­„ª‘_áù2—Ò×ıo·Õ&µàƒË¤QbÕç÷Ó¦ý¿¿p*sß.²er^}ÜöV÷óB :‰ ØcËcHª?1pìñ&âé†;YN¬Œþaspp+’˜x±¾ò/ÄbmFñ›HçA0願9©1¸ß}Ä€$ÈcZZCó'Øwìž°Æì‰/ Ì3W-ñ‘Ý0š&3O”Râå†'+”~*âÔ¯YåzRŠº'9ó—-íŠÿ&…Ò6k"h/×i|טYõx×§³6>(Ä#Z¨æ‹Pðè"PY&££›±&– Û°Oè 8­<;¡­KøÐ4hŒޱݽiB=…K{”õE·¥ÅTòÀŽO·~å×#‰+Ô;?q‡†Áß©©|Œ¥y¹n‘¸{z¶ŸÅrpè…N½dªòwº5ÔüÝãu"m)¼Úý¡J ùýfwq¦–räñ¥[Îú%†pZêuîãìHWýqÛk²…ãÑ»êä+Ñü2†¢O„YP( yšRZdo¸f Ö¦ ‹è hF>bðÏ{7Sæ“Ͱ}©†V”@Ÿ§©X¼ŒÃèrD‚ÍÒ6ÁBï­”óíΘYN{:¸Â^¥fïí”kÓàÂ}q“Á¶HM1hzG"{sµU¦'¤«Í½·{æP—7o#“/6=fèÏ4 Çþã>œz5¬ÑòÜWÍ™™UÕ6c‘üEY!³Ô.‹u)[¶M£ ñ]–¿ŽÝsHæ÷tGú?—“GÄ~¾F7‡*ñ».;÷&XY)´Ö)B銂¸zJÄjßiÒOòÞt–žÛ´œS„ºTUã MP2w}óé7?Æ8¹1ñeöZF[•Üõ`ªèéž`…²|¢ÅßOFìR;›ó³Ý¸wy–ÎË’1'ã•„’ ˜)ãdÏfõáÁ¼6¥^aô©!7Q£ï·Ó8Côª5Å÷°}ôæ©BahK,žYEô§~“V$F©)Bø°É—HeŸg:‡F€%WAyáò©çºKöÂÁT½…¤9ÇØ[¥OŸã›ˆ ¨$ |«0m;‚Öl IÜmí„÷=o@~.'uiYrùã&‹+|˜Nb#Ùï$< ýçaZj¦ç¡ÆÕ#{$oý¡n„_fO@̾è®?'D·,_U'²uŸ^žâµ‰’\X÷Z_æÛQû þäÅìJi†pôÇlí’ú?‘üf-8ûKT¯Ìµ?°.¢%±ˆ¼óYWœÕ¬Á£…eµo%K³só&›péXô°“kl. 'RÀÆ ¾è4ëÓ¾äËÑ `³•Ï÷Mã]¥\qÍFµ¶@³á.8ÚÇ)c³%p.æY28A®´8Œ_ª7RªJ³_ˆÕÑPU](èg¯ß#tžÒ%nëÖ«a ¬}–Īɘûd:(Ã~Ža“h|òQQ‘ þèéÊ‹"×gÏÛêkxWriþásŽp¬#)þ“‰e„a¯XÏ+èB‡9ú[õ^3gQ­ôw;÷ý²Xl'è\Ð÷8¯ žM–¸H+ø”r¹…ðV™Ì 8Z"îŽÛ†.«z’´q1Ò¢Ë.Ž„Ÿ9  ÎôÄ'a{ïŒÌ¨x¿6Þ©Ø ßõhˆÏ3މœ"þ¢^êöTá‘“„H˜^QØ@Þ,¹‹q›MŽFjT‚ Ãž‚¶”š€Ýøï”¹­.uª³ݽâT´*>°ò54ÜGE*ôø¡Ç—³•Ât¤>¡ØÂ{.Ì(<Ð8‰ ‰‡SƒIc¯G·†…†?!o ÌHÕ™Ì7ÌãJÆC- Wƒ»Æë–Õ[cßÕ :ÐÝ<¿N %›X$v}3‚ú“3Á«~Ùì‰'R87CÖð7÷Â&{9/r ÷Êö?¹ÜlË…ÿHmÁœ(LÅw`H¿k»Þƒ$o<„¥¬»Û}GbœôÙ]'èþ—bHJR«Eèd#ÔÌšLò'a|Þ%›6[©bt¤:bœÿãåvƒzy$•÷xÕV CfI“` óõUD´íÍ|¥ (˜* \­Mh"êz „9癢»†'Ÿj| ·^à#‡%ýº·Ýàôm÷øhÚU—ž¢‡2³tL¬lf·õ³Øº‚û6Ú<¬v¯&µU+íUHÔ £Õg°n-lÄë3ÛåÐÀõÂÉ+\°*ç/…˜þêä}Äæ›½88ÿÿN9%v2>®¼P9àžZ°ü7È¿Æ]xU ø2XWþc÷©¼%¨œRdƒ‹j6}9Å ,ï‚•É…5Í%2,Ü‚~K¤ZñŸ9j+LS«š€0Æg#4À€øK€U¿¾œf,Š·£>":o$òìdI•º“þåú¸h®ßkqÐ&ËC¼ ‹þHOÜ%=ó__Wµ„df®ÌjZí¶Ò(´gTz^F±ï¶.lMÛ†åô%϶Hž4Šþ®L av¼¾éu'€¬PÜ#7íe½àœ-Ô›dJ~bI@äiÊðÖi€¼P‚®íÿ6«dÛÓ ý!ÞˆG1;boÙU;D"ù5RE†á3Ýl¬ºOZAˆr×pGzyXÓãÅ'üê.¶{ŒBcq"‰üøu²c8®e¾bm¤pX9¡3|¡iážšº0ü¢q2Û£E¡b0-L’ÌF›¼·k“éßûJR£O'DÌ“ãÆÐ¿ÒêAXbäð0~$68ÁPÎ`/Ì/F ýìì”Fv†&‚(î?‰/ÕÕªƒ«jêë­(6ˆl^UÉ~§4K†ª¾ÿ¯ÊŸÄq|: ΰˆÈŒáƒok^‹3Ïv,æ!]„X`‰°þN`[E/¾ªEî*Y÷3‘Ô– Ã~g!Ë1 +NWÿ%9¬ÞtM¿ËÂU\ÿò·ØŠòJEÖ︦ µ‹&O8O -û% ѳæ~4NÒ6è˜?°‡¯´$¥„Õ.¾žIâú|¼ƒ<)BOÿãÑÄ•ˆ«ËÚ;Ü\NܼÁPMþ%lCV¨†‰ s^iŒÐæÞF4<­ÝTÃGö¤X†k(k[iQ›ó &‰Á‹¿²Œ¡\ÌmìÎú[,¡W*#GÝ-5Á…¶Iž)åGØÆñ¢¢Ÿ´+n&N6'M¸i\ˆIë ì¸Ì{bHÞŽÒÅ”û,Z(–?aÑ$ýž§£ùņ¾º»º}ÁÀ%ê^+ɹ—ÚbC½½9ÊEâ¢X|·GfHE¿áÆn­âBÓ3qt„>žr rD˜ýQª]È6?µ£,ËV߸ *,l\‰Xªalû;_ü2²°*ôgÎ+mk+ºÄ»ûó}Þ¢×|ü–ªÄê§ó‰É;›ÆÃ¡¿˜tŸ‘¢^t‰b³áÙAC ó*SVÌPªAýÔ Y¥ˆB„ݹŠ6§ØÒ:W”9²ß§ŒÚž›2ª5úƒRä‘Ò¼@0¤:P®[QÇý#( ‹&#:]õ…r\ÉaàzZàTX½{Iéûƒì·¨¯@£\8«¨¦³Ýá²3@8€V´c¬&ž äO»¾œMjðUm½3CÍŸH¿hÇÐ ¼¢h* ñ Ñ˜›&õ°Âz¬Î}3û9ƒ ª=c»ÙéP†=¾QŒ^Ù™ÉОFyläˆ/ž´>ijò§Q·š¨_pñ•zm~åãų*©)N³¢qQ b×ÛÇ»e:µÊ~ŽÌÜŸï:›Õ=1*hÔRb~ª½ªÔ–7zßjh Œ¸à’øz³V›K5XWº§À.ûÇóvµäeÇjo²!~´c¾8¼®d Üì68ôþ³}gz÷á}iŸT† Àþ¯r¨åkð/ºÉùJsÝ}Aèä.;ºjÊ’?6Ö!tØêaÿÕz *¾¡ÊØl&g£l‚°5¥æÔÈGˆ0jrÞ!iU 2bwÅjõœ_\}«®^þN¢þi9Ü‘BÛ!?ë³ÊĤ†4¿ņ4!ŸEC»)g•O‚I ¬ƒ<ßô‡ÌrÂdX>‹ëwÝÅ–1OšïN}‹O7T èMýeðF¿ì;%Å€tÙ»q·g¸° ¨-e`µ¤”ïVÝô'¼¡5å»6ñ®«ÿ½¹JÇ/bÊ97žò𴹕òÄT‡¿ÿ¯̲K¶UPN˜Ähk6¼@W€ýŸ5KÈ:Ü@—>àóŽÇeÀÏï_‘Y¶Ã›ÆÏ(Óµî`WñhÆùÁ–ÛTïx–OÒŽ²N—ÀÆiAœvÀm1ÁnN SuÒœÈsÜFg?ÞKÍÿÁ.½}Ww¨¶ý4‘OÞŒãyÁöË®WAéñ“ªƽÁ'Ã$õËÏY,ܹ -^tü*¤Aé9n+»ùÉ~­Ò(ÀXü’nDO¬æ†Ô„¶š}öh-X²ÝFtòĘG--M¨e†s¢·'O=#‡íQ :vUézãnð :‘b‹´|kC{”c—íõ øW}€É6R—éVͲráäyª2Äݱåí¤Ü×ot³š81L¥Ùn Ò&ä[„Pâ­ÐSûF¶›}~í¨°oÕ2ò $»`»îRSØŠd‹fiýìØêß8ƒ·MYqŠn© rupI4¨á4f1U”0 ÚÞ‚&þÜ8^þÉ»|_\` Ïäib1¯¾©x9Œ“dÖxÔõ'sj’g×þJ¼ƒ^~¸d&4L^ùýHööOO=lÙl —꥔–Y½>± UÉX•ÿøJBÄʰQ9omHTçWƒÎÀ)‹(W ÖÝ„éÉL†r9V¿XíÒw6ø1ïs‚…_Âk(êÍšÛ}®–<ÅAÿI7Ó+»êÝš|ŸN.hiÆ3qü¤¬õ;RBe'â¤ÔÛ/uŸ*gµý’bŒ#¬—é½2œ`”–S0Ûêßñ(J̰J¥Æƒ?ƧZßû£’s_nÓ³¥µß‡e“ÃíÈv³¼møÝ›þ²Š2’Õ×MwÝe7 4ÁápÓ-v^í3¼Å!!Yef':u`mS˜&ÞazÙ¬yÓ„þýT¸ã_ øªç¶ò"¼—¸Ä2¾#åÖðY*¥Öí`jÐjë«VùðÛß)4“¡&R•SBôVúögöYçG»*Nêý'N¤E¨x¦A˜ Nä}×+X…©'Ì,Qô•“ÔVæk7uº•“½¿zÁ…`«Õlª™@¢SîÇù46üþ9 [Â^|y™XDi s AzŠ´WýA0¸eéÉlGS߀„-h_“8Ïur7É‚‰ÞE⚎ào ·`bóŠ]{¡ ¶=ô(váXwI+~ ö ·Ô¾rc†èrMe¸ Mdád¥†2Q§ÔTÆr´_]fªs®Áè žïX(¿]›z¦#^u× ûTI´¹ÐD¶5QH,Å"|¬šŒƒ‡©kX:Šø`øq“)å"æèP[pd›5šîz}©-D¦ÄÅ5 ìG`­®C×z‰ÚCØO†ÂQÓ~‘þyüS•$jÆÆsv×p k­¹_›b'ýfîLaÉ¿”.¾åCcƒ¢ ='ÇÒît7Á€UøyGe{©ˆ`Œ ¾á©æÇäÔSŠk ™epj =œÎû[ª9âh5Äž’Ûo™b[¿©8>ï!4ïÚG"–®†Š¦m–üöÒiN‰Š3ðêfËÊÔ›OD½­ì쾉¹œÅó 8 (MyHÎdùݘ›´ŽºëÌöÊèÍ3¶ÈhqF¢Íj†I™ÿ’…Ch¦n¡·h{ð[בù¡S¼ÚÖmôþqAoÌð{Оb%W¼õÕÅž£ÙãÈ¥~oZ‰;î¢ã*PXK„ÐÞµì•jEÿ^]½´Ê––ᔆ—eíªü7•#ý¬›Þ±æŒ=j/«Âê 3VÓ· •ÃO퀱YDÍ¥`˜ ¹Jˆ,ãÁ1Õ͇Í!ýÓ{ýžl†üù§˜}Ok6¥êå–A+Cªl‰ÒZým~sj¯„žÀe aß‘Q&ÞÙvûQ^Öñp7¥˜äI€<ÏïÖ[ÍÑû" ‚ßzF‘‹§K)Ò艃 + ÒÁ0»IEB!,nžtóæÒ1ÓÝÖ‡e`꼂 ØCÑi41ìŽ:—Ðäæe‚Çïjyê‹êßü0—M8›‘rÂ\7ì,ÀŒk~Œ <&†ZÌÔCûÅNtns9¾°Ê³æ’…ÅGºßlsÏC¸vJX6|i{,ÂÕÉÂ{ÆÛ˜Ÿ¬ë!N–"ÿ3Ûш±é5‰R&ÊFéñY#ßR ½¤R‰JÀ¬‚|™8̽pŒœµ¥n“7Iq— 1Ö"äÏÍ}’ÆÎû,ÍuŠkˆ o/Š`’_ã#Öóÿ ÒǺZƒfÄëZ¾Án¶DÌ.hP½ÔÁE¹I,= í÷†iE¾a+Q«ÇyêÇléM{H‘Ù:Úbè %x‡çwÎß.»ûpró£ ò|^ÃCŽOi+–?”IäQ{ļcoÒµø!Yò|ÊØ ø(F7á—zÝñ3];vtß°Z£w:jì—k ß, nU ¬êÓ±5›º—å.æyLÑwÅsy}v,§ü Ü#ª H”Cež3ÁÓ‘}<°SÖêÊ[FÙ C±KõmL3¤¼P–7ƒòØý¶~ɳİåÆÈrÞÖܜПÿCrJ£¦nŸg‚š‰™ táq$A,·9| zhÈŠ³t7Oò ¥×­µ“ËRrR™^€~‰»VrMæý¤hv=^z)·ãjq:GŒª`ÂÓhC¨Ó}Ÿw ¶QLhéHÀâ×|;|n€¶ƒè,«2‡Íº½ƒÀ‚O@jĦÀ¢iܤmC~½‘Ž–©n˜Ùô«Ã/ KõáÊ÷<\Ý‹ ÄôºJ”Ÿ!5}ß× A,%e £*‘DÒé_Ö•ˆ¦øïWä!o§Ê¶ ׿7uu7íáÍëàj$ÚORÆ›ËÃ\ÃsÕ§'/™=ÉÜšø`I¯Zš…nͪ¢lŸ,»wÕ(v ÃÍ~N)+襈àû{}Þ¼ªJòš$×U« Øä…°?¢t5ŸúRÄ+8œ‘l¸üwáÌoØ&‚†R±©l…\ŠÔͲ˜¨qJ¿°>q¶¥w®%ÂãÆÚ¢˜5ë¾ A¯XÔy6I©"ÃÈž˜rooÞáh9Q^œzúÙ²‰êd¢¤Ò’q|Ò€‹Öz-_ÿµ•Û4h4‰CoÏË•‘DA5ð'dvLÿ·Öƒ­ðVõºt>×Û“íX+¬Aqº—˜ãn¯ ¸cW¨=ëžwüqëH &âb¨?+5¬Õ7}&;et#†ô¦ÇâÞ(fC£Õ[!D§•¹ç>INØÏ›²øsBœ_Ìßbw·S°w vÚ¼¢í9ª›aáâÑ6f>+i+vwï:äS⇩¸.æýoÖâ·ATÇ€·Ò,·GĤZmsÐ)ã=ýNÙa£è1·™ým-¿ÃÄYÍ„{gb¶j´V3Ïqâqƾ*×PêHwuc¤¾ñŠp¹E±Þ“j’ÞAFw5µøtùè©ÀHF%Uh9'ay¬}L–qÊ"=µŸ}/ ºyƶãJªL)+í¢pøÝ-‚–æ{åZTXd5'3›E%¨X 7L,|q¢,Kæ4Ìëž9ï‰SÐËUHhxŠ0oHdjá¬#~´Ç³2ß”]ò†Ë¢ZÈ^w³×˜Ê)GÕ›”|Éô.àu¶¯‡¨d íóiàÍÞæ Ô£…6J¡¹&wäQ3Ÿ“2‡ °ˆÝ>wÈì×ïz$ XÍ6q,$`ûiž¿›buôæüU÷dêW’ ÙƒíÆ•ûê ±líŸ`ƒM Ë¿Ûh žózâ»/aêVŽÀ.FÒ9,%#øÖ•å~Yr4zY±8V_¦·ùAˆDPRª"úŸ«â: )p,t¹¸?‰‘kâååÇy„ ¤Áâ°Â—^ûj€âš# ’ÎT€B8Ô¦ê•cê”5XaÈï™…8?¢ÚaìÉ=Er:4¾ì?"Í7ú‚¾à+‹´Óf¬üY’<¶ ׋=>Þ½i! bÖSˆ ÏZô}}úå¥çÓäTÛá³$ 6È…0œºc8Ê0µ=€bâ3†­š8ÆÚ0Þæâ¥©¨éfºg”•A.÷¦6àWÄ…ê¹ñ/Åâ †h ±áÝù¤Ÿ2Ñúg(=ω^•ôàª€Ô EÙTöf«¿‹çhÍ–¦9if¹;}í±¨%±ÔÿNL‹Îìò=Zõó<YиZbK·Ù$´ø nX¾¯>½š›×kì‘ØØGÍÀìsq1idy¨²> y$™…6¿wùêC ØÎ{:̾§ò‹–¥¯Ú×ñwŒB„(>ªZX:ß±…Ö.Ê]ÿ —>˜ÇnS½›“"l†*,xüÖØ,I4&Ñ‹$$:¿HuïxÈпÎôÑ//H„Î+æÐ¼u)£9Œ&XB¥·f'/?֊›âçßI¦^zÓ<&èÖÃÚºjÍÔö3­øA%t1•3Ç÷}ß@pò'xjõiF5èöãݱ"öZG(ÑÖΦ‚»¨X4Nœkwïõ~õiθp³ý¿?ý¬ ŒKGBIaÀE¨ü'@È`ƒaÊò–wéX©‚cœ*nÚn¨§å‹´:…¡ÏJ…Œ!5ÆÖŒmÂ¥–ú ·KOÐÓÅ á1$`ÇšvªÎ "t]PT”ì"ïð¥ˆ7‰wr?Üä_ÑöéÞÑ⑾ò".0ÔŒa–¼!ù=aó Ï?·0R¤ÆÃº¨-ó¨ä¿ú¥±7X²×6XÊmÓøµ°¥É¼7ƒÄŽÒ"R#"™èD‡HWˆÅÉ­0¢?½{œ£Ž^›»™7FeöCW~T)KŒ â˜$ÿödXH“ÝÌO€ˆœÿwY—.>2ñ¨‡[o­°°gGï+]öÔ… k@Š-ßs?ø¥v|ž]ˇUÃ;ÇôkÏ6" ž$câÃ’`²U$Òð[ý=µ¼ õ¸b(cJJ@ÀL§øiʼnպ F£žRáÿz$jø‡€å5!hsxrfuÅ$RMŽÀ1‚ˆ\ý™€’ªqÀßêYÆ$ÉÐNo8Õú5c-”Å’+˜ˆ-†Ð‹,MñÁžÑ;£2ᆈ5½LGüZ²6AÖ¥Ù·_áõ£s. ì{°lž¦:Q2u‰ÿz‘ËÈ}ªy˜£?2/ȳǚçblºçeßÂ@¹m_Q”Én×À¼Më㺥‰àlZW¿Þ_@ñ™£DiÜ’©AýìlÝžÎWp<°ëöð–39$d…Wçȵ`¶°ôÅÕ´É1…ñ»gÑñÓ°¡È¬w½&æÆ|mËu¬xn„NH]ú÷®mE‘—l EÍ.É‹ÁN¬LB>%  ´Ø=š®âx}¸#–‹{‹áûY ôrÑ"›«hƒÙ’»ZGVl’|Åkå¦9ô’)P²¡1ØVÀvíÖmÊ$ØÀøVËá æÌEB÷y´Å¸6³ðF.ü:ѹ@cí&Γ¸ÏLRh  `®9“?|Þ&­² ÊEåk° 4&èÐ=Ÿ”îù2(i”~N@ß—Z˜yŸHD©!1oÖ.µk‡§/3í4AùË)§…{$Öp9•%8:"C”I˜P2b#¶;q¬§{â¯,?lÖwåC¸ÿb6J²A^ Ù<¬·e³ÆµùMè8ßwgGÂ æ” 6N¶æ©©Ôß-*£W·¹ƒ9]9Ýùí#cç3ÊQ¦Ð×dWƒ3…«G½}놸aþô‹¨ùC•Áah¯CsüÍXcúefø¾`!€™Ä"ûi±GÇiÖÖ²Íÿ"Ò-ŽˆWø ¤¡ö¾{Mã.ªÂ»°Š½® š}ú`î,ä’ïù;UV˜–^.pZ]tÙÒ“ÉLÈ•^°~±·r·‹LÛG< õ/GiÙ’J ¡÷^‹Qá… ;Z@N£»7¥sÌoÌ4k!LÁ,©8C‹‰€þºö¢ÚŠò¡@Ý…¿°ˆqZÍØ ¡·ˆÚ2ô|vÕ/èâWRªcí*‹ÀBrœø–¾|ŒÆÚDQUú÷IbwÄmR¾–ÜkF 1,ÕÏÙhÌý«¬¯·>"çö?i‰R*àùºA% áÒº•i„*ÉŸâMåĨ-X‡Bj$sV;ztèÃ'ÖK[²çYEGÆê†ˆ„v\¼L-#úqŸþÒ"¿¹y+^ÖäAÈVº-ÕON+=Ï$}HåC'öx¶úh·£žá€ñÆ& V|kóÍ8 žQ­ÔÔ”K<¼É`Úœ}¼ZGÚ ëò¡³š1˜êé˜!'Ù„üå›ÀÓzÃþÆè€ÐŠœ"ØÍ®îàLrZ%“ L×E¸ è¬â‰ÈT¾D„”>Äkâ&Û!µP,Ã>z½]'¿þŸº"'ØOoMɤz6&òÜ…2“iˆiÀ˜.uIöf¥|§ù‚ßæ¯Y¾^‘AÇ×f®à ÙeÂú(ÚtæZ—äê#'åP•zŠAeø¾[øQ–¤S§·ï*æ%šÒh°Ä`œ"å׫ñÏ Ž¦r=¢¢j |>À×ÁDÿ Žðókg­khRzÕØÚv‡7€ü£ï¦ÙËÜójŠî¥ÚÜ(r‘Ö¥¤noNgƒWˆö¯› ]*'JzðÃç[‚Ӓ¡Œ/53„œ? tû3Uuš×v‘ÊVØ žK¸?Höìq³!¯I³X ºwdºÝ^Úv2ÃàNP\Ya¢È‹KèÊ·7ó̫̫ybo-siö&@£yÍ®gá`(îRDÛä; çÞç6þ1…Á맃§×Èõ`t¶i‚§#œÎ¼î1©«¶Øe®ž¬z³ÝRiR.ÙîªEæÔ3áÙ“ˆ ¦Ý]ce»ÆYW¶ê0Þr¿ú¶ÊSqI2<íË“4ÏÒÖ®³¡üÛ³< `?:˱­9ÌS7‡Ô‡pûÞ´Mh8Žì ùù™l©[tnZ|ÚÁT7I 5Öµ+Å~D/*—rÜ-UÊ܇…Ά‘ßírf éÃ’iÇÏsTˆ4nÕ[ôå%§ßÖÆTTè’w鞺[¢É’7 Åü\”¤±â_?͘WÊ¿à‹yí{É)9Êþé÷pÔ,]bÃI/Ë{º÷“”Y\^¬YþÏäJBjH¸°µ}5¿|¤D½$é/ ö±$¡’’&ö€ñ‚qöå \&Ã˜ØøöÕ¸{òwt(”ð¹V°¼^:Ä—y¤f‹:»3ópòÄG¬cÂŒ„Äaq_Ì|nŽßˆKâÓYä†Tq}…þ°˜" ý›µ^tM8Èß‹Ü8âhâcÝäj€ É”¼Ë©#Òlû,VÖeD¸v³ãµå²‡}›ïWná>{h»×¯t~S ©+x<Â8t./“èlŸ;†¨û°Ñ {uè‡kŠHv‘‰ŸRÕÂú³Q&ÕBr`ÄÕþdùÐÜ»üjIýþÖΙÊûr¿¸½¼@§ŽJcæBˆª'"®Ae—9xê¢óבëí·tž0t€4´Á!Z¼ó(lª_r™R]ÃÍCºÓ²øô Ý«%êî“ñE\} •£î\«¥L®/DN›è•Ž_`x•‹n›÷Li8‹!ïŒÝæí§öˆÒH±M¥8Âé´lü0|,pßñÎ4=oDKJxÈœ4ÖÇ|Zši< ÄD¨ýËoÓû­–å.×êã éH²¹ô«ôd,<سi[:—·iA^ša5oÆå€¢Û‡ëB©M°MëÍÜè•–ú"Iz(q_^eìòª>2ìD õ³6EÝõàOc‡H‰ 1³<{F9²’Ö¯ÁÜ߯<'FòPÌ ‰ïÅ8ŠƒÁ×qh€\ÌA3ÑÉí¥(¡mú`õÚGÖ_lå¶8ÓûÐÜbbüØô¯Ù=züƒzŸYrGÍA­›nîÜEŒl3ïþw ÓX%¯×túæ 'lö°âƒ!ÖÔûr7‚2I$#ɹ~ýº~epª<9<õú5#Iu”.¼ÏËj“î*é8‡o”?Äï¤æ@ìg‰ø-DZ‡þŒáÌ­Š¢dHŒDHÔ¬xÊC\a¯rTÓì«G¨0L$‰Ç ËÄj£ D˜ñZnF“q½¬¯ž:Ò»Q×Irmx‰*¨Cþ½¡ŠœˆÇ µqZ-3ÅUQ‘Hp·Š±æñ3p=Í KõQ¸–=õi˜þ–e´ÿMš®àÇyníç†VÆ­ïlñ1ž|Þ_Ï+“¬|õ—y ’Çé"£ëåL2Ë‚ ¼ú›ƒ‰ ”xK»Q°Öû]þüÍépQK¨¹øõ殆¹ ØÐäo5M¥r\T†H]ªF«¶²Ç!ìMLpÖkbRAàü3î-œk…ξހռ;$/+ڌްHÞŠUÑ“µ©—ç‚$¦`[:V^äïԲƉV*©û6K“©è­ê©v«eu±–Êé®Rø÷¾²€ÐI t¡­óí-i w¾%ˆÛª“ðhZ#è¶äHá!Â(蓃Ù“'Š[o8 Bø@¶*Ôêì£u¨“¸›¥Õ¶fô¥oü ­¢åNfŠ|fí1&ŸÔ°˜– ™bÁ0YÅšÔè§¢ð;.Q¿¤O–«ûLá“>ø.‹ž€ê›!wWª$'(’*Ю«—‚‡åTU^±" Øød‡³÷Ð(;Jç¨È”bñ-ÜÔEÎŒÍ_ +#«äFÇkžë‡‘hP*L’ŒN{~È‚¦‘«æq¼ßÁ궸JŽÚèƒ!ú½¤Yõv ‰YT»tù ×]"óLµñUѽ²Z€!›¨d- {ÑCÚ” EŒ@ka¬¶ÝFr®G´™«^Þ:eUðNß("çu³º¾N=ß¾³}Ïý³)Í -v)}±ž)HØãÒŽ'E€9ܽøçáý–¥m"{Ô‚#zˆö¶€dq¿S¿ïAÖ@&þ íåje„0›è%â=Åž| Øâ2&MLJRµ1éѧÄÑjŸ”ÿr.0!î£ã-Ôƒ1³` \ûÄð„¶ªvïÓ4;ÚºÞªž½“]‘êQ4ˆ#³}pÛ<ÈÙ“Ž—>ª&âÐÊ{ÐŽ“nŠŸ åÿÑe†ír'´a–&Æ> <$#]é§«¦Æ 4ÛIA! ¶¸wl0öû#Ø]Ù)¯pßöÿB¹½ëÒSj¦ðÍ-‘Š™5„#üIйXZ®/1­D³ðoÁT,ë Ñë@Ø“œûè+<²Ë ª“¦‘™*Ád•í»V'[Ÿ=%Ö š!³,¹A('“b<Á0á¹l?®^¢ˆâŒÕ™ IÄ‘`½©Íö¡¹l‹¬6Ž 0ô*ª–â7ç•Ô »Aoç•sK4(õŠëÅùÖ´anÉ~u´¥795Í yM—éQéÔgôq˜:P)QOòþzs¤Ëwåh¶"‚âÕ—åû?Шhóf]t¥â'5 Ãx…ˆ£ÎuyãÁϧ­ã¶„Tì žhÇw-™ºuý‹“Ñ?´Ç¡†¿~f4 ²4ð«H ŽCAÞ³­.N¦CW˜²Ó»ó´"g€tùw_ºA¼ç` Øû²A¿”$·yÙ¥F:/:aòÞçL\²çˆDÕŸJ«!TìŸ){…{ñ>asñ.7¼ÄNËÃ…¡<ÇÁ…Ü¿íÏþy­ Ù' ¯7ÓO ÒþÙ;T;ïó…'aþ-’Ìî™åÄü_6j›ÎÀÅm ¡ 6Ï{çì(¬ÝÛ?æácc5”ôð;Ó w5s¡¨q•q»¿ÖûœW™0l<Ä}à·%Õ©öz…Õ¥‚ì•j+t, ?À´=@^xr¸‘|mîn€KEô­±ÿBàö—=”£²Pi>kƒ6Ÿ`Åð³bˆeTã´³ì9R T8âr¶b+°<Ñù›®³xk ± ‰y“ÃÄÞ™"Ø|âôãèî0µ—éʾãÈj5'êqgdÎoMû‚T(’ϾIÚC! –ööNÊüàTo~Ú¯„jñ¯± Ê##8Ù~8’”•HLÚ0€Çëð.× ›Éš¹Õ•­tâlåÖêfO$鱤ZJb\QÀÁ{½âmþ8Uã˜RÞø(€áÔËwi.nõ*¼ ö,|ÜØ3ÞBV&¥‹‡mêX7"¿ˆ*SU@õôÛC_œáËÝß¶ðZsR8Xévqn'SO;…Àƒ_\äxlÀnŸ©ii©ƒÁͪ7#%ˆ(uÙR}'êÎ4¨¾Ô”º> ©bÏ¥/]¥Ñ&4fÚ€2^M ¥@6I >þ K¸ÀH|j@,\]n‡ç·fß©¨çM%ºl9­ë!Þ24$=—I“äҚƞÏGÛ3ߺ®_9àGÇp˜CìNÜØÖ<^;X‹}“šûÓi¿jqÒ5‹CB/7Èæh@‚»54þ7Î3li~SµK²Ú gWÎ#ÁfQ†›øœ3*š¼4)ûcÁ‘XŽ´§ñ)Ðz@×y=ÔÙ^ß¼¡G²Ÿ9ôœmWÁ"þ9 !F7Ƙ#O ’ªiäÚã´àUé¹@>ÃåaO7=UJdô©AD‹2^@·ÆVÙ€õLО„‡"zgVðRM]ðÏmÊ`#®"V s7Ä Í£]­—~~V»~ôÍm.îJG͘b¢;÷ÁÌMoàÙ†¯‹Æ¾T£x (mÀ//!¾û Ëï¢ÄlÓ+ɧ‹äò“¾¦m#_@™Y™#°Á°F@dÌB_¨à|ÚŸß\fήâåN.2è•íÊ‚DõT)CõÅBò˜^ABo‚VÌmš9ld+™ui­I†Æ 4üaDç§ÑÇÔ0í´Žò0~~××t­Cè0rt/ŽˆÅ N§ß’¿öR¢ÆmŸàÿÐèå[ðÑʬYT[Ys›m7·PO¯•ùýð$Ó2ždçm]`>‘GÎáªÀÜÛ‡'ø÷ÅŒïùÌ© ÖÔ­Yp‚ùÇsj‰§)ÅëÖMu’‡1›ð™†L¹§m0Z~T-­Lfßïµ'•°ƒ%‚â:ý./Þ÷hÍYç~Œ…2,ÌQö[l:^a{ɯ*Þ ´¹˜-3í#ÍáOQÙ÷Ù}ñPDépý“ç.sšʨ¨]ñb¡Žd@nâC=F7i¼íx–Pd ¸˜2"»ö3j¨æàÕJ¨p«ìÏú¬¼¤ÁZt*ØÛâñÐ'!0Q´ú^™¡ U;Ý,Œ'ü—hða·¸ùSŸEJÖ|¸¬˜SŽOgwRÊ7÷æ%0£FUnZ{KƒªÓ¿áÔ“‚bRõgóÛðªŠS» ?ûäÆ)Nˆt… ¨NYyãÿ¶SWBRå©ã<ñé[»èá4õ¸ ´…ÿ?Ñ£P60áoäð­bAIŸæ];!zû„ÅK3jdTÓ÷?â¿“òëj òÌI9hNj9ë¹¥_P/¶ÐàµaÕªø Þuȯõmôâí{—@+µVþ\TÖüÛõj-È6¶ÊH"ŽÐã\ö@ßrózQ½ ]~$æŒfDjI¾³]¨;d…´ÉÖâ•«ìV$üȯwjÔ‰_/Φà [aûÞ3á` n~º ‹÷R´3£à¤ ªô»/è´óFwÜÇÈè¢6¶œÃš]ø£}°œÎNÚí’â¶°¡T£ô5½ô³]ÖbcT«ûšl·¢A þI9\Q_Ò/ÐÔ=O5î¼Ì>Ès!€û±ƒ– Uò¹%ˆºßÑQ»Õq!}3ª¿Õ¬ÏOö»ŒÑ‡Þüûî§æ æUaUAzË|1@-îD ßÉ¥­Ýí~­¨£Pè…t/MòJ·£wÇ&KJØl[gX.ÙéìÙõìgY8)é,œâtÄ`µÅ‚<ËEG^áèÌ|®Ýj²4\Â$i90B\þ£]ç/„LæŸ(^øÈðrÞýž G_pâ‚lÖ¶JQe£¡{ÔÀf _µÅ_kæÐGXà%P*D¿¦%Dב/ ÒZnÎÔòÆŸ÷z9o0˜)™KN0=‡ÎìX+©1WH[€†3— ÌwmàéÄ û¸ê?:]ÿÇ>oKÛÌÑX=•Þ‘H¼‚%¥(“X½Ÿ>äoÒŸ <ëmts\sб>-+}²’.Ö q²ÐeêÙ׆M†ÌJ–Ñ0Ä÷fSö: °øµ3m‹F7ózzœ2€ÌÔDm|EùFŽ>Ñ8ÕnÍÇ‚Ú!L1Yø 6¦Ö`^l ;¶‘“Á«®¼QäbàxxBÈ}I×çìüh×ù¿éeâïãEg‹TþS™Ú5[¥ ¥%û´îžžz^e^ä:D†~Ý_x,{ž{ríâIJÄ?JŠì­IÄÑþa4±¶_Wø]êqæçØ1²˜¨®Î£ýê—ñÉ“÷ž •œ6Quùˆø”’P‘ttîÆƒ`N!NÇ©¿–ä ^Vî2xµh’Y§Â5jÁ³–ïZŒfwæO5dîùeóiCÍþ' — À Ê·Æ­©£òƒUù_µ~ïyá®K'8î$Â]æ0×*Ž÷ʉt±¸ô§úŽ2Én)[jÀÿwŸÜ¬]"~Kp s¹–Ù)–ó61!“ ¶µé`àJy ÚŸä»yí!´ Lq5!XàE{È>,8Ç!šJ·bª-¤«ì^ š )Ã/Ÿ*lÖe ÛBÕÑNt©6OåÆÉÅwš ±`‚IY}'E ÑŠÊN´WÉœÇ~³M{MÊU‚Ÿ¨§b¿2ã>¿þ’oÃNIØúÞxS:0ƒG¡9±œYÓß…S9$FÚBôæ<oÕÙ¼¤‡TËé)ʺ„˜cu©ý©"õcBåØý9wí/!…$yDÎ.n¾tÊ\ÍΈ|Æ$ +FJ?CÒ‘Ímp08W¿Ö[ù¥eÜ‹)ba”~Â\¡ñk±s÷*Ys>q>1ngÔ¼UCÇ(äÝù銂Ü òyÔ£íÄéۯRâuß b¸òúË]Æ]ç<îù‡¡±§À­QÂêv ÓtÀ%à:T@Ø!w£ºÀ S¿º½¶Íƒ*€ùäö ÷VÏJ:ߨ|¯u·í$lœ"p|B´^sŠ'sµ­OEIĆx`¼ŸHÒþ (ØH?ªÌƳ]ŒS émšâ°wùÍêöAR•‰4yg¨ ,&êüâ’n|;¬Ðo= S—è× ’mÀ´d¿‚U½21x« ˜ñçż¿ žc ù )ûgF‡š¦±‹Ù)aç‹Çm,aÄl9â$€W¶B©fû‡ÛF~ÿåâƒìƒ'†Jµ( í©1–Çc ýºâº±)¡Š)%ÕWÛQÏä<©æ3o(1Ù ÑPÑ*¢&D†ŠÇy÷VZÝxµIµxû°–aª.áд9ëþr‚êP-£”7þ6³ÎA‘ô›ã\£PŒz8¥j×üV±'B¯ì‡–UèÓi^»¸Ûõ\®‘ÅÏÑÆÅÙ8Õ ¥…Ây%;wÇ?`¡Ä5$ g×?‘Y:)|– Ëo!"*Å“íêg].?Zˆ{ïHr¢Œ›WQ‚Á—oúžõ|H÷-ãsGÆJä¶ßHöH¶±J0¸RZXvt=ù0¿vX ÔxQب¥³KÅuš| {Ú!Œ‡9ÙòyÌäêiߤˆ ÔÌöPLï 1ñ<¿!çß-º>ç!&ñÿøÑZšE?Žè%Ã(c¬ò¿à\‚‚o]hò%tÆk~É*¯ÅÓC‹^ §ÕÚ–£útg;Ô…§aý¯RéQ‡ìwv-L4Û5(þ9U4ºçuk¬TBCèÎÀEÀ’ÞF+Þ"S"0ñØ¢Ùö¤´½Õ½ª]–öDe„ýSÕ8¥àTÓ†èl$£öµfa}æS, i°dÖÔ6ø*¡ß†N ãX j­;q²4¶´´$áœÍÙöüüªÉ1/jŸ2Ó™…–—*HŽØÅo¤;Ë!”†Æòš[dEZkÝ]*P ¥ òDkp)u>”{æàì)Å<Ÿ¥€1 ý¬XG ´ŒKÂéFG™³ée¦2v’@O+"‹N¹5ãËaQëØìÛg$ Ȳ \—)̓0¡„õ9PçÈ^uÐrëZ#–ΈI#ŠJ^»Ð#Ô³ž¾Ñz”b:Ç6Òø6í!Ꟈæ˜ýÏ/ìÇ{çîºv:ö¦ !{™´$ÿ6Öœ±þa Ns|„½˜Â‘ÀxZØLhkÀ"”P.m¿£¿ü_Õš@äµ$¬-­1•ðÔ¿*M!Iqñ~˜1á!k²8uª{9ƒ€oØÎÍ=ÎëºbŒ«Ó*¿–—¥!z4@@ÿhh MÎ.gš#ÀÿÔUã#TbtÉòf9Óò~zÁÆql¦õôùEÞE©¢ üØ]‰"UÆOËÉ&—<·qTÔøâä¨z–­”’öŠÂ•äW»çUÁ]E 6B¨Ô‰îÍEî#ü™œ†jïxØL òP ”œ²×Š…Ry‰”kl4y¬6±ˆÒ¡vg)h!àþr“š¯uÊÙ¢1óå¤ë©~—Û®Çï|ÿÖ¼Áu©ÔÅ ë!ÑLù¦lxñ.#i$I‡zŠ­’3£#¹u««…ªy’±y^Ð…mò ,¶@pÏî=³?yéYfÛÍYVáÀÆÓód)42 eIdÌìÓ !fc\~° в=`±®îÿLâk¨o—à‚¶U,‚Xû-Ì%¢ÍÊœ±xRñ ê•øU†j¢ o"ë˜"…þJ5&doKš%¾Òòí€w ê~)dâ:ô'ÃXºEéd´-ê•1G’ÎW6yˆ¶ÙÃkÛ~¶G:+ZᲫWg¾å".`øÅ¼¿–'z€#ŽxØ<–ŸhÃÉ­°?4÷Ü–­˜Jpo, šuna’-Rù¿ðÇ#¢¥ÿJ&<5~á‡Â™=ÐBmîDÉíÝþ-;%2u6©¡;ÇÍ_!Á dKõÆv‹®å•ïc2[#qåç£T´üº¼€á çˆ «ï²Êí•þÁà×œŽ¹W>/kл_ë„ú•–óÜÇÍ 0ª~^sÅ©šº Áµ –ðBð3É*@Èl;h%·Þ¹Í=jY’Ä­ÒyÆŽF^7!µ¾Å:,Ü‚Pvÿ0“kõ9À÷ÔÇ£­ÐÎ FÛ©n1~Ǩs+ÚÂÿ̽¡_#tñ%>¯•Ô$Ú¾BWië%ËN!¼‰Ñ0ü©™ ÷oŠ8"avOŠì%3¡c7”pÏNÖ¨…Öþ¾ Zž‚ý£trC={HáÿȬz6±~{Ð_çÙæCÇ&!xÎá՞ݠf\táP¥i׸R¿«Ár n F#ÒÅÕEVO­%¤»ë×ÚUcœT÷ƒâðD{ º}tzwT#œ0 `±n]`çôý>lÔHó±~åþ±<½ŽMÀÑЫúø®­®|Ê!ÈGš¬Òùé÷o$¿éod5ÄlÞÐà•t"s!­òo¤€µ$á6,°;gÎ-ßA&B@h*V÷LouhÚ#)?Ÿ¢œ2RD9^0‹méG×–‡Û¸køò<À~ïeFCu2:TPa ;;!L±èþ\)+»:$£¥ Ãf–BÙK1i¡³[AÒ:Õ"ã£L1j]tQ³ìYbWÁ #¡Ã=Ó/»wò³û Pb“Cs«º+Ö#blÖÈH%À‘Ôû$ û•»;›†‡å6º½àNA<3¼¦ïN{ùí9A– ÊÁ͉ Íµe>K[kìš5̺^ 'FBÈ$Ud†\ÊV±"Î{Øõ‘^¿— °ð¨4$gS[OÂ;GÓÓÿÄÃ/AWD‚´+£á%ÔÊúþ¯ÆÙ¦°w»ñpI4÷»@Î˲óÖb§@Ð̱Ÿ­Š$ÚÉý”O![!8ÙžÁƒ9[à˜y,uáRææµ43 ‘eï]]ë#2_'l 9ÊYõ0ì}!7ê ø3Á‡ûg†!Xîû®£×¢³JaÅ0­Ú·¥¹¡ÐsÃ×ðËG#µxö,XÐû#¢½IÉd³–Z–qÑ8h߉@Ç6wÓ[_)Ðîö¶ðP ùßÚ*LV»ÿPWáÔ¿R]ófÞ1é\º\í?×ZNŸ|†½˜a8¶ÞMB¿¡‘ˆ,ä¾”§rÈNaÂå¤ç@ M92†E©A)Ü4#xšO}e•vý³|S;×­½_¡Aø•’§ ù‰áÞ*õ¦4ôE]æâ;–SYwB,´+XmÞ‹Ê“¦=L7|/ÁÏKiDÔ(ÕèÄ+é #ýR¦5‚á2d/§Žl€1å¾âùý˜ËfÒïnîAä8ˆQ{¯côzÛçn—cǾÏü)-;–[wËËOË uoø`) gª55ïæ8†)J`‚ölBÉ ¿ç†¦;µÀÂ[4M«½5Γ}-žø^ºgíà Î1ÜL6Ç0Ã}³ÙQß4ÎÛï)ë—ðÙ )„JÏ´[?§€HùÏѾ˜á˜¨Ÿƒ¼SRA†GÒ~& ¼ÎËx˜Yüw­„Á(I¦92ïRErÊŒé°O÷Îf‰lWâù›m‚™FVÌ<½…ñšóq n­ºt û½Ýr…ëyÉž7˜JA3õIp|›b“¯𢆨Õö˜é•;ؾ ÛìhÄŠ0ÍÕŽ€þ}¶ðJ޶ ³‹>ö@¨ìŽæ-º•ÏŠ·YæÝ â4ß!üWâ Ò›YÌ|Pçy;K×ñ{‹ íù c“eÀµÖ Ä_”ê$XݬãkÀòûóÍù\©‰›‚ÿožÓôá´5‹~+ŒÂèÖur¤žIY_pk¢&¥¸ü"+l_¥ƒ³›b®Hí4íù§œI^{AÕu¦2®wyˆÓœs°q'¶IÜ¥¡¼U£)+‘ÕãÞ:¤¼ ŠžU×´o$æ€)U;ïLÐqÀ_CóÚTSf`ÈK Mž¤R‘Ø íƒÃAzã®Ö\6df… u½.‰åžäÈl¥'Âa ãra!g„@îªÂAj‘<óGJsô[ô¢v€¾±ÍT[Ž¥íÊY?Hä/=#tUhÄ9S§Ç…œiI‘#JýSEXK†ðq5¯Ñ\m³Ê@^#Ñvß'ÈøÄiQë}r&XçÆÃ!E+"2j0 Ó6vå.¶üewmjºg Ø:²(º”ùOŸ¬L@ùyû€ -pÈÎXdÆÊb~¯$5ŠM¶}ÞksNb¿3_ÜÜP_m5äÇE–Ø9ƒÑ„ŸÄù‚`Þ5M‰Þ íF?bn')k¯LÎé¸êlE»»íÙw®ÍHŸuj/3œÙ®¸ó6ÂÅ>Âbù">?ÈRí®â£#èÌ®wæYë‘i•׬ÖnŠOŒ¬µè~=]z2Êzhˆl<ÙPXjÕø bõa´%pfçDíì:RÜ;—¦R—Ú•V&m&WY*ô—Æú48~%í‚æóP×N»ÿƒbüs$RÅ×D˜±m,úZ ùV¶ÈOk›àxÎòÍâ ë‹£‘/–@NRÌ}`&µWdŒýöDͺ%R?Üo“»b6€œpÈ™œQUºŸ5]4œ°´ïuRµ·™s¡%šØ4Cef¹ºÕ­g"!bÁ'J6•D] Û$Áò#õI¿Š0fV9k~r‘Æãµ C_“²ž-îÊ!þ÷w‡K‡ èÌÅ}*%Õl5E¼lÖä¾ _ÌÝKÐ1Άt2ùe«]$¡/èék-PÂ=l3†¨?ﵨZ¡…ØgÐ?›¢€èëbôoîTÖ@’á¶ûÿ’k¾GÜeëïÄ$äÌÉ!7‹CN@óÙàg„_ƨÌä•Â|±Þv4òÔ«‡ÃF7ˆ·;¯¯ÚY—j)Ëõ"ÁQ…¿žýú|-v¥U+æðïxªÍ[D±â?·¢6Ú>øJ¡#4¢9 FÚ´ìªXŽ¿/lÈþ½[úJôƒö˼§¥‹-oIŒ ž-é¬K½=³>Åü¼móhô§W—sËgJîà‹æÃTrƒž­ÓN‚x.?æ3ÐÿáRÐâ N5Myju.$ gö…ÝájÄõC PéÇ2ïc²B“ü¹›ñþ;ŸgÈ@µÐ‘ÎJ‰ªl @ÍS’Nä§XrB|gbß]v/Æòp]*¨0S#+êÇÏ‚9ÜÁÉ}ÍtÓ»¼a85y¬°ˆê”MCx65ƒêØ?ñ-ý 1•TV [Œ­Ë•ZàeßL1%ë(y…~˜µ¨ÖíÑ\9FSé±'Bb¶W0w*}êXí¥%Lé„ê­-öš:êRR¨Úpü¢ ½owYT3øä¬Ë#úÀ#Š „&AƲ…©„fxoŸØ¤&pÌÔf"GºLÔ€ñÛˆs^WƒH$tÎ \l§’ .zz€¶U‘漣V‰ÕK³Óbn< Y ;„!Ü; lŸW¾QVò%Éî‹âÝ‘f·ß8gh«EÈʵ's4¤÷=sœ%J£´Ús¨xâ⎡i«‘¸NØtq<ŒV.Z™Ùcäæ“É ‰Ží¶¶;|“ È x$¶62i+•Förɲ…½…pš£f»«ÅD¬Z¤ßNýÆßM•–…ÆPÕîĸ>ì8Ö¡ÃÛòaæ(9*‚6>Ç”Vƒ…•kMß•S[w‚ôbY•¡“cì7¬ùRw¾âº¤´6Œ³7F…5@Òá–%ç&=\:Ì•®£}qŽ¿¬ ¼Þ™´d÷eðaóB†¥9øÇãa"v9î!+ mj­o[s L˜.MÂkä­{ÔøF%í’#ätI‘8Ë7NËX,è–Kì–@6'xÖgNûZÃÚß§àD£­[¹}â_¶ódPÆM2#ëpŸú}Ä’SâO|eí  "¢õT@>ѵ²Bª“AÖ{œés—[EÍÂ:²ý^cLúÄÛÖ¡g¦ÝÄxë0ýûÇÑI´¯˜è²«ø” 0º}{ͱ3:º=ÍEn¿õXz¢¡4mÅ~*ÖœŠL>]`÷ûäW˜¤’•r„«Yâ[S!öÎþV#sØïV›v K#$ŽK&¼ îp–?˜å‡u'ßó[º¿ã‘½NÕZ+}fº®ð«®P­BBn=î®8;൘¶S“ ,@Žß^o¦lùÛÕ« ×Þ‡U®5Û²íw„ «fé ­§a› în(h¢þU,¾Ë§ŸGŒ%(«@˜Š(þw^S¡Ó —7³ê©ª_;©$A]z÷†ZŽ­¨¢ï»Dp~¤^@`xýèÏRTœàY±v¬Á^ß>ÏÈTÉìo$æ‹¢‚êbâaž¢^uΆ_+Î ,%*r\!¥wÀbµÎ¡}-ÿ ^KeÖÅÔLIçb©ì›[Ôp½0²V°r—jÁw¢`ô+( ©à21K Ûý†"¥–’Œ.L:ÛL ›e›ÂüT`æCIÅ E@N>·p A.Lû"1ðpö/öò›ÁVúÄÆj|Ô€äS½]@kÃãã_¬,d0t;äøú£‚&Aæ’'Õ¢„/~X-’-« ´ï–‰Á¡é*X3o…ü!…ôtP½¸Ó |}JYCÿn6³œKÿ>ƒþŠÛP'd%(ìmøÔWÌ’QŠbpXJ÷óî™éU=0‘#vŽLÿŽŠ`<Ý>d‹H7¦ÑM£¬óòÕy÷ÃVs7ë óÎAÎ…ÍúO¡náÜbx¨'VÕ8…=X$r»êŒZç÷ÍÈÿ“Ôß~Ò¥Ô³ºk0>vÿ°ó úKpÇ$gæÊ /@×-À›’*¿ºûl· Ò*ƒ3…±ös.$ú¼ÍCñ¤Qf®½{ƒ‡ì¨/ Údåsc)£¢ µ½Ç8ó ½Þiå^¸ðÓ9w†¤YÀ`J€^AUW¸ñ汚A¢°2N§´yDD›=7Ó 3‘´ÍÈöÿT"ë4t =Ñù JuO5(îSDå-Çð¯ì«JXv¤/Cµ›?/!Y÷j$èsÖ$Ãr¡ã6Ó™×»Öó6f÷ÞñÃù߆Äݨ•lB­[š-@;®Ë2XÆ“%`Èsùѹ»TCy=Òô?œ.sY86ØãÛ™“Õ&À´&o FTµuÔKæ·ÁîNv'–,× ÌaöS-ܲŽôò|¸‚%0óì!1ÆaϽaÜ$„0i8†áJ—©~¸eLTlfì©WËbžl­a~=I:Sp•¢)4T˜•ö…jÔö%è³å+W¼›¦Ÿ¬·4Uýì‹Ùª\ÆÂƒgÞ‘e׆ÎÓµ’‡»uprDöúŒ®9HGý[{†JÄ|Ï-È€rÌ 2—ñ ÜOÁ”69®Èb:Σ-ÒÕW<:mN¾ƒÀ@ïz`ù‡€ÅF¢ö…Í€ü#0LA bÂÞèß®.4ìpX<5Ëôdº"à9'åþ.>v[€¥¥“:ZêíNQ^“šáUÿxÚ®¤Û#wãB>0xël$;aFPœ~¦;3Ä"î©/$‘`‘'[±QˆæÚï½gœv‡w ®ÎQ©?k¿ 08×=ÿöÖ®',~€b\Ît«—&¤èùý¶Çíøu׬¨ e‹äãŒT/D£ˆ©;ºo_qýµ¢7`&v { €ѵ²jE@“"…*{zÃüý+‘¹])?Ÿ¼N 뼬´ô’,2zÅX ç•—Ió…Úãø Ä&%aƒ3a«»<¹NvÉ–H[Ô2Z[vG²x~Ÿ†ô¦E& L~±ú#j€ÒÝ7Ûι¼gͪ$ý¡é˜ ‹RA íŒèL°L&Þ)Þ퓤èÊxÖ†v-zÕ"€Ðx²H[ìä¼ÃZQËE¾+CFÁ›¬ÎA¿}˜ýé›QÝN«Väk,g“A¦l6Æ1@Ô ¾úØÜ‘A]{ä„ $•cÜØÃ<ÒÊío‹¤–~¶ÔOõËѯá8¿ÿËi X ©cZ® óY=+–1GdÚáùxIë¤Â…UÇ>`²ÉD™<¬'xØ.Ò3¤.ÕaP”+UÝÜŽÎûÉ”\ ¶QšùwV-'{,«ؠ0¢&œÃE/ù0™ä%ŶÁvIÜ ’'î#àÇZ2¾§ìé~ u@Oøœè0Ì D¢sûe€ß½#žoìk|ZÌ1l‰ëÉ€M#M9›ÀÕ°†A’-ÌäèCÉû'ewYTýѯfÝ·ŠÒ™½X¿”D¥ïKŸôVaÎ šTQo4*¦„Ad³L³uº#¹~ùÿ¦»¶Õg*±Ä=ùGÞ,£Ät²¥`©‘?Á€„½¨?Y]wN‡ªîFV=¬ùÇò¡ÛÄÛ‰V´ȶêçˆ+£"P¢CeVA;寭ϩêG¡vœ¬Š·<Óþ†ØƒEöª9E3/|–8\D-65"¿M¼‚¨‘´²ÍŠc’25Üö ÿ:1Yvк uRåm„{VC3Îfè8›BRwõ«,hÖ_ŒI¿<2ƒ«}ý^k'ùOŸ9jœøñA4Àó'^7©9Y™jË)Gg~|`Ï9ï}ŸÌÂHÍ øÌ'ζ ='‘¿9¿’s¥ Þ̶Q ­ë=aUUA(íè•”2¨ù9Ô\Òè]Œ>SÔddøÃ‚qÆI $sܺÍqDÐÐO¸è(ÂÆd£xÇèe[!ËeÛí&ÈQúQHôT§OÔuð(yבe/h£Eð§ …0Jgáµ|eÈϬácuèí½Òê†Ë§q ^ÿdKÚ{ç9±F*´:.CFkûÝëp\ÞÀgsX:œYã“áš_Úgíýþ—+xÄ“>ÓŽe ZNÕèi5ÿJ&t>qÜTЙæX$RT:,`’†òŒAΙm'K[0Ý-#Ny®$øw>½×¦‰ÀÈ݉¨£$[EïéVâéÜ]•èÄ+¾€0ç$C«ðUb-_Êάr¼zâùA¦Qeç¾MÛÁuµB5–‹¿´Aœþ¿=+kÍKÛÝàgQœM¥‡ò×ë8 mÛr’èw“7 -öD§ìzBƒMsäªE£ÀiGDÓêJ’Q#’PL9e†bÃ!ïäeBwJô…š°§ÏR¼xÅj‰›"üV©tÊÖ˜4㥳­ßä€˜Ó   &›¥¶æ©OÐò–°< Ë •zÅϪ[é{bè¼€EZ‹¦m„9°Ÿ»Æ,\ õý$M1^Ô³h®Å«ÅWùý"¦P^ÞrSòÚ¬• M»$sBù¾4”ækõ ô“ e~}ÎLDB¶oÂ}NŒ”Ú•yó¦{µ•ϔŤ\‡µúº[áñenÉ̽è¼nMÏ×ÚôyvCÔûÔp8þ§î›K‹§‚BËD"v|ýdÏ˸ÜgÜÿA°Ñ&¿ZJ'‡g—ltuF$g²=êNØY:˜kîÖínu$SlØð®Lwìÿ!ËpþGtªšLnÒ$jÏ´œ­¨¹ÞHøŠý|0àu“gçz1”,×cnÐïÒ~&Z†gŒ8Ið·|HIÄÐ9˜ûÈ^o„ÖWx ¦³F'öžÅª¡š5};Þ>³Ý÷ÞïGØ ~±!I ‘%dCñl9ex\#ôéü¿*Y®–2.ýH¹Î%Óf†€¡üÍi.X¢m¥5&“ùOl-Íë÷$^,++e Ý…Œš'ˆôjä\nª‘ÊœX‰ é‘1‡¿¦§ŒLGV€6$j .cüçþA¯Oðs]"rE+¼‹ßE‹ÃÂ[Uº…ê䯭4Gc¨NMÀX‚tçsrø:”×iyû3läjdäÿ:…º3—®ÐÏ\ Nï½:©©Sþ4Ϊ\f|£(|á†/ÐoqxTñ¤ÏSàÅ@&Ü É=ºé/ß„ê à1l†ÛlÝi¹¤­%dÜ¿¡ëƒÆÔL¯!mÖžÈÁƒ›<烲Ñ?EZœW`âÐDù÷N5‹k° G¿qÌFö”çps‰M¡`ƒÒý楇|°lfÑH’ưM˜Åèç1Ú7fŽ®ÿ:T@ww¨|8ßrKdûÉÉý1,âñ3›]:ËËÓBŠRf–¥8=sˆäß[N»MßÎÂ2¿ÇjÀºô ‚*ÅÏ>……7íOFDÐËŒ¢ÊøV%ój„læÑ•R‘ŇóƺÞ倳Cwü“ '%@ûøFVkä†?<±ñ@öhL‡Ã+šzá´öË×ð©x+Pâ,¶åfö5½|°Íÿp„•ÜLRä˜óŠ÷²hÛtÿãÊMž*doËðÒ¢ƒÔ]Ž„:ò¿%ZÙ0ùöVotw†]TãvIïæ¤j³Ð‹í…+Æ»,Á¿DÆóP¬«ix_ÃÁŸÿ«VÉi'•Z¨ÖpŽ‘ó'ÍXk¯@‡ÌbÈQ&ò ·ÍM¦ ºž¥ 6’ ¾àÃÈ]½óÁ|üùÊ'f5yÂiŒºµ´!ÁÉÒLY×ÎZÿ€g}× !Ó{Õžž/ê²*ºÎiG–úz§ \6Õñ"îzó¨«TØi¦7bk£iŠUÇJ•=§, Q1ѱ•fÆRÝúa }×r=©c'#)ÛèlϨsãQýŒÒë‚:¨s¯ÕK/Þ7FhìC ·o8E±Y1ÌÿÒ¿<•è1ÿúLIóÕó‰üUZ¥œ§gdøoëªí®_Zi^œ_{ÌÒÆ$+¯Oì„TH„‡ÓzgXˆVZ4ÁË_yÄÁ#Àåð;>‰¢(!ÕÄzübkž Yà£eI'È)º:É;ÄÿE§Š£“±ƒ"6Œ'‡Ø÷’ÌÍÂ[û÷hŸ2òBìY®ÄÏ)ÌC`±_]{†±iå´ä-Ø"¬—§DŽÓ(Ê1ºÒ:½HI jeaøu0h3¯Á8ÝÎ-Óœ7^†©+ð‘8éT§.ê¦ï?¹æ&o´Ïj iùÛ\´€BƒJýý[MÙ jæ¤*¸„®Ø¸"¬àür+m±ŸÙI|’øŸRª,S¤'_U`Sà\8• 5*s^ÙNX+e¹Û8°îŠæU¤„FR©Þ¸Qgm"ôÎöAáO?YCJ€Ú0bç¼h¥UÒ¹xúì„AeY¾mèjcŽƒUqŽm 9ÀåÊÙúíüº@&\‘EFRöK°ÓA¡jµ¾ôëÁ)†gº„½ÉúÞä{­ç­öuè°óÁÍTœ×C Rà ç"[ìÎe>28c²ì~)jäà!=,OÙ?%¤4ÿöÄ D42Ð)J =âŽgu%åËçñú­×13æ·àV Rå.zLü!S9sÿ:;ËžBDjÄÏãSÈsíÉn¤ ‡x˜ÿ~ï+ó´ä"ËF¤2ƒªÈ½z‡@ß•I7EÓN †§ÀÁ†õ(7»‡Ð†vp8ÞÆ%LS ³Ów>³á‹Ò7 ç(££c-®[žÃ¶È!OT΢k GÑÒpnäÞ¬Êc¨õØ}c™+Í$¥o•´›^FÝ¡hR| v3pyh“ør”+‹zâ"o }nU/«í­Õp»ZâQ¾’¿5_(Ŭ%Þ&eÛ¬ÉIIâgdºŠ0m6¥á-< ÷dvž`ÌolitlÚ¬9I>m2ÐÖ·g÷iuEÃo™c£:#ˆáØF§ÁAŸ¹Q]á¤)TŽ‹’6yûù“ÓÂï“”sZnëd—}JU.xê3 X]ÙZ'ÏV:‘ƒàÃóˆ#!ÐÑ”!5Š8ápò&¡zz[ Z<Ù´»ïÆõ¡ GJóFêý–å¢B–Œå]MâùjÂn+]ý‹Í]N5iÎÃ&A¢VeÞ§ã'ŸÅó7*XOÊÞ2ÁÜô-ŽÙ} {ôk7ø‹Å/_˧—2Û…R:ˆñ£±žÌ·&Y Zpxë›*lÛÿ¥6uF'=qHÙ¢å¡ÜÒêßLœ'¡B9¤è{­xIÜç>*%–¾Š©œ½y8{?†°ÃÛWXg| þ¦F£½æBåíWfå3e®aâÂôQÈ¡ÇÓßœcÜáVÆÕ†Î[™UáŸùÝ_NŸA8V>Áÿèå†0„ ŽÅB5—Š2åÉPsõý¦sn8Ðn  MæsëG»K¥§'›ðý‰3ò ªµ~wÅoõ_ÐÀ¬F…̦¤ œO-›-C|«Ñ5i3ðüÓ‚…­ï:‰ýÜ«Ê=øù€ ãÓG> ½ÔYbŸÄ7xë÷A”g¸Ù3ù·Q9ÛÞ¤OwÑ™R©g>•Ã?’§h,w·ã¿or©{*ÌÉ{ú¨ŽÈ·›è\Là(>4YƒÛœÏ—3-†”Æ]*ÌàHÏÃþÕ1 ºK=WWØß¦/þÕ›šðKT¦¹p,Á¦ÃˆßîŽ90D.ªƒ¨ŸÒWT¨m]ËCž©J«!ÅU\ ß÷ß@±¯$¼­c’½t–K£s¸¾2jö!8#LÏ›=à|apzéÄÞ;^-öÉÊ*8WE¨¨­µ9ïÙh3èây½òdÛÉÒœäÄDâv»öÛcÔ;ê¸K’Œ/Ue'S•òs1 lmÓÄ'ô'¹©UççxÍ‘µ(Ösù-áÂÔö†…Ò»‚â’£`5 ƒ… L]L"zœw‡ª¤¨Htk,KË6bÛŠ[6ñ«9“@~)Ôw!PšlZ,ú%ÅX†÷¯mâÍ@ԀꚨZä<;äÿØÍ¤ŽyœÕ«Õ¡ÐЉʯ{ÏNßîÜÎÓit­,=H_! pMGÜ€Òïß³ ØØQ†#ü ŠâÔßtHAÐòlD©áønºÏ$ma\ôÖà_•ǹ~u‰êT~Ò §¥­ÿÕ¥/»—Î+Î À.tV‘”µ\ë@^ÄÇ B×;à¿=§9#þp†ÆÓRô'Ètž=’ ˜ ¬Üm÷cC[Çýï%±Õ‰áBvh›@釢°ôÅsƒGïgK2r—.Ar=†Sò,¹–ÉZ¾íÎCh>M&¸Òðl6yzáî„öà¾'ZºøØ» hÔlXgý~ÓuœP\nñg_ ʉ–’”/ñúîQĘã@Ów`ò q'„²ø®€Dæù½"=‘ ï})žLÑg9þŽÉšYœ”›´a0-±ÝçÍZV0­ú†˜.»½0Ûœx¨Y _Û¿|”ر‹„ *YìØ‹çgíB“Ú„Û ¬{Yk3@Ÿ:¶<›Ùƒn[³~öá¯)â#KŠ:ÛS;Ü“œÕçQÛ}gÍ¢ó2øÌJ¾÷ÛpCsa÷zœê©Ê›n ÏêËÊ•ž9ͦ´ä`¨‰Ygý:&ŸÈ¾%‡å¯-eØ.3g4ûäjÜ­]ÄNÙš³IÔgüØQÎpXK]Ê&‚Xô‚ŒA /á©V$¸¬6ì`™«ö¤c²¡Â¶ð¥ ðT_:a®]}Ò…¿_¿Ã$¸ªð~´$’Ü›OhbeýØkHK÷×¥Ì_)ûm6°Âù ² o¸ÒÔ´îR;ãÃ/§ÅMù?_ ˆì>®ƒpV¡øèS¥›µ£.•ª‘/x? T7zΊÂÿ‘Q2 Aù“:Õ1r‘§ÒìÔoP& œ¿µÙu-q’‰¡B)É ÷P¦”…«Ï QQ”Â6Œ²ÀEiÒ•ô?&D‰Æ–ß_SèJ‹&¦ùQؾjÎxH bñÆð€£­œ«Ýf4ØE7à„R-/ 7Lv‡‹,’qHn>ZQú¾ * Þã´nv™gÞÓ¬å¨Â%†–ß(–]ÛæôÎÛ*éÌ骟éo*N(±û)×MJ&íGœ£Ès£aŠg>± Ž\[zKw˜°C(¦‘c. ‹–‡Þ&JÚnËŒ¸³†tùŒ?œ22Šr÷ô)À×wýºÚ|ÚüÊ >BSAíý:7(²Õ øÂ$2èU牮e6¯*×yŽ›×ÓöU‡' w ˜Ýj/d…6G-Å 7Î"&Ê7êÿ“H0^q»)ó³)`•™w8žj¥¡ Q)ÿ•ceììšî_Ïff;Dƒœbö°—*tºÜVµ:?÷sÿßZ÷2Z¥øPô€õ9g÷gµyöÀîÕ…Õìa_Ú ¨ºgnÃG¯LÁ†” ,hqýq‘ÀÌ‹³|n­ü§;¥ M¸ÛÙ À©Oq á.Vi£Íò„Cz80ø…e“ˆcþ§Ñ} ´—Œ¹Q…j°˜uSƒFš÷{Qi<:'Žm‡‡·‘½Özá—Û‡ÛþHéšÁÝ‚ôˆÿB}6™!Ø…Jzhô6€ŠpÛåblc¹-À·’_© Ør¼ã¡ü\ï¼P¬ó«Ù ýZå¹éÈ7í–¬¬ÙMˆx»ç²_o‘wÖÅœ-¾z/dã¢<‰ò A$ýz-“|Kc~ç2ÒÍ–€<ð™+äÊ -jÜ„ ̹èØ×Û>›†rÀÞÍkTüYÊ]ä&&_†áŒ3.x2‘¢1d U™±á˜ÑH¼Aÿ«=žRB»¦qÉ_yÂáÉ!9µ<ß»£sÃ=œHÑĹÞó7›ãþrecc)è°¥€¿ŠáH<]Ür\“õ:` ^@Øsä,IÐ>„b*DKI›^UÝújsørî®.™Ë3´›`#;ÙóÀiÒέ\h\…±%¦ÜöÝ=ú~©´Y‰¼Õ‹š7Eyÿ¡)ápÉ¢úÇyþPŽÿ'FVS :KÈqh·G.—g„7¬žŸ“¬¤á…-1,Õ’À÷Ý.Û£ 6*úÕAÜÛ‚@ROJxäóãìG‹¢ÌoA #%$"ÛP“¤É 8æ»Ì‹*ØP*†#±­ÅE ýH)Ä,oT2Äàók˜²œš: ¡t÷sq82’È…¸™XId>st$˜QTsØ©åÏ9hñFËà nˆÁ"¬A5Ù‹¨oX7@[„ê°C¼ƒUŸŽe&.6ÿâvÙôMbN™äT­à\|³£­›²óHL)Úœo#­W£>íêý="—Ñåi´’ ~kŠ5cáÜo4É¡‚–)þVá#¾ßz@VÛØõŠæ“žè+àñ…$ïÁ5fº’è.>çT¥Ò“÷aÓ¹ò(‹où‰?•úe’ÿ׆FuàQÍ)Õ¡»cß 9!JÔ_ ÁÑÕþ•øÇŸñŽGØñ°ÌºÏý°âD‚B,ÙÖ½›ÉræÌŽ¿jä¨ ‰Þ)”þ‰®_‘ÚT\c™L|ãœHMÙú–€tZÒÈDF¤Nú…º5Ó‹¬6ˆòF<…f¿ëô,¿ Æö© ldAV*f£Jå,qÝÔðâ~öjë°·ìXº‡‘i›¾0(X)õã™B;F½u›3—•ŽíçäéSJ‡c½c\ ÊO/Ú\m¢ó‘~±.à&凩ÿÈàTGqè%DT®­)èAƒîgYF±¬ j§zìê¾¶Yz1)3`K!’ñ¢×Í£=ës!u=Už•80è:‚OmÒŠ¿mã1üˆ~>£³ˆ%¥k­*±%J‚Š­".£ùý§P¡±bº+-jÌd&óÈ_"‰*6ú‚B ®Ì^GàÑœpõT$çD(]9CkŘ Ž.Mg¶$}Øç]‡,5«u÷úi×ÿŒÆ ,Ò<ÉÅ£rÚêÖRÇÞÓ‚Ü®Ea³šÛxŠ-•€C’ ­Uj·ÞyH{ŸZ!oŒpªd™Þºö»òQQë`Ý@¢ o·óÙ,üݹ¨^HsR…#;óFeµ*ö뽿ñÑksSÍI`"ÄýŽžFmV‡­®8Nt:(ɤóSé½tÄ”/³³„Ù€;­2,ØÅËvN·,B8+~" †šº°”—§îÁo@ÆnܶrÖ•¼íŒ‡7 ô Xɉ=woÌzJNÖËØ¡Y>S‚‘*Ï@t’-†²ÿ[¹} &:KP¢:Q[I:iÀ:l( ,ŽB˜c“z›?i†¥ò[?ø·Œ®ÏU«v Œ­Rð1è "†|ÈíýŸÒ öEÉ8bcÑuÜ8çXY&:.ßÿä`ºYıç MåŠ'-±¿OêXâ‡5Õ ¬‰‹@\Úyff ú¾Æ<!Kß®f le¡m¨ªˆ˜<Ó) kÓÿü)XÙB "ƒ§zÐÁB©PèmÎÉ+‚AN¦DB0!‡].í;@¥0‰Ã»VôâU[>L¡ykQr×÷zЛpãèfo[øK pŽ…­Öb,L—Ò|OJáÚ-DÇ&N'ÁguYRèhMÅ š€¶ìÕçX/Å· ~ö™i†Ÿmu™ä?ú(ß(V(“m5— ~ѨTæÖÔ´Þoa@¢›ÌNQ†nDcЦš{“«½Ç Ý[—KÉèͦŽATÃ&¿0~à2ç·Î‘ß{êW.ÇUac'€!€\$­ý‰Ï¯¤§0—EĵèĘsß˥餜9tSáGÿ8cºÉb§ˆO[Ò·zì¡8²ñû>‘«…|UÞ+(a1(Ê*dʆøXùd ®W‹_H\/S ˆ~ÁHHé3›¶4Ä ±ßÛ1] ’nޛȷ¤Ï$ÙùÀÝy ŽÏ— –¸ÇØž!t 4ÂúZî§ßî‚D7ÐiÖ}C/Çp{XRVe å¼L¥œôºÓæš/©ÉµJ-ÎÔ3‡…,h¹/•u7 8šÆÏy†Ÿ©Õ¤,T×2Mç.ú9Rº0á|-Zkú]Ä{™æÝï&!äÔòè²&†Z½-ÓÑiÚìÐ.¯z®œØ¬âɳýhd¶€Îw8Ƶé\6‚t y.·ýb g:Qã"m.‰RA§ð֞عÕa!‰öv$ )Ÿ¤%S®ÜõâBPSzò{½<œ6ŒÓƒ¨ië«$”=tSšK‹’¶ƒû ýÌ#déâ!7’ÊR Ëþ™ñJåóúbÃËmm†fUãpY±³B{Ö$:þXâ't1ÎrÓyÌFè):Ñ f-1«µQ(í„è¡Jè33%s[’9Š›$GˆqÏjþ*þFX{)6­Yú…Š$Ö…Óü-¤Î&ìõA÷«€Þk©£ÚÂHÜé@R ßšÄël×Êl”-WMi/ð·pQ^Øo,ˆ!/’U ptÒ¤—´±l °µÌئo«*Ì„fÐv6œñçƒÖ1p¾MHêÓ\ã̯”¿CD×IŒá6Z+.O ¼«ÎóŒòùÝZö!ÀÞ“B=·&tü deuð˜ö 3[„ÎjÞfZO‚ûÈ„dîhgÒeÞ ír^BœP/+n-€u¸“4Ý *0Ü+ÊÐëT=yöÌk½Q7æg_S‡/; ¢r‚ô°½·pï¡xÚ¬À¯×Î@]1€Øgó÷Ø+ž£!ò.ÌÈ¢± A§Þ~iì1gJS‰€JºúÃHðN¯^5uhÎ oD¸Š€Ÿ»µžÜØpÝü3!åJo`HóÓ¬î|G:¬Õ…üIÚ¨ë_åÁ9ˆÀnês Ålª‹o-E ù6É.«¾ ”ño=qú£ÇêJŽÔ21˜!/MƒÉã8^„ÁOá9'áeó9~˜Nû#„fô/@ìU=ónÖs8úEUÚOiL{Dþ¾‡–(?‡b† ¦‹õ¬oB]Óq…”k~Q÷^®¹ï?l@ýÜŸ99؉a€ïîˆG -ÙUYïÙß+Že¼ÿôùMWbìe„5„ø‡Ť_85ØM”š臋¯âËŒ‚]9-‡X—YC¸ó.Õö£eˆ8D…&‡­nIÇ_ÏѪ&•}ƒÖŒm˜†ÅÂ* /‚oÔ]”†14F²Øèf–4MÓŒ L žno 4Á|Ùv ˜uqd°GH²¿ÀÖ/NrÖ⬠ªçôûÏÀñ‡[‘88'ãï*Xüa–]ž÷ÛÅ¡­Wª;¹tz&ƒâÆ'ƒÄŒ”þΔ«høëç0 ‚Eo=-ÑL€Rð$Ã"Ìãóhˆê:¶·IÌ2T€÷´»´R¹èz)4UíÒöò@pѬµcu=O0KœŒØ$ ÜדïÑžðàë418Û?Öš=§Qïî²æ^„ßRÙeæbUb“+Ç´ÑTK^ÿkì\±FçTG:ézhÏ3ÂÖ°8¡£í™ÿmöUî¤×‚5àƒÖ÷ÚЊs ÏößhØävž‰åF‡¾%Uf‡µZõ´þ^ÜPeüÁº ç?Âå½9n0œ°³˜v²›aIÒL´¼…hRQ}ë¡d\ê%bËžœå ècY\Hì°ô[R•ÏfÛìJüzŸ¢à=ž¸üÄŠo¿_wS¦`"ÖÂ7k°5 £y²8™?N‘f$38"vL5´_l÷Š,–?o(S͆Øå“YÁ|“O’êŠkPé”7 Úþ˹`±Á¦Å¿eÜ$mÀlÔSƪÑÕ5ô24o–œacUûà'â ¬^|Åñz‹Š‚ëC³ kn~øzev5jÑB“äŸ}¥ð¤'RŠOršv TÀ@«d¬ãh™! ™ŽÌ6º½—+èóŒ;»v^¦\mçÍ¡.ÝÍÅ^Œ)¤è Ê:Q³+©´K¢+ÚŽ8E:ç5˜L÷w,| t-N´+©K§žê€IÎlÎÏ`Nú(ŠOÇnßZ(`JÔ0?ú~ÆDSÕõÍd'01ú݆(/jvt³øYðö;Šò¯ø¾ß§úxw‘Ôiãݬ1™eÕT/8Ôïñ{£\RæJ)÷–. 7@—²-ÜÜp¼±Ë"ªºúª— 2ã—“ ‘­ü©ÉnüªL5¸\²ŸXìÖ¾þ_ÄJyx÷$˜ì¢ëpRðôÅ̪+ØF¡fæBöyËNHÐã5,É`Ükø2­_zXƒ{.Y _ª,Ñe·©#QɪŸñŸI)þAË4—ií©è1ãÄŽà™Ü>ljCV8x(ìÑÊ…F¹;Ñ<šöÿ7=冰ŽG×OHBGÍ2W)Hð†ÿŒ™|àÑõA-µ}Ý僑qÁ‘÷ÞïÈãFanÝÜOªk?ÈKÿÔåС÷`üË´b4Ǩt]"GuP=û=co=^õ-Uæ`<«)Wá‹–‹@%cs`§”ôª@)È0fóÛËÊ.ÿÉB'#¡@­ (|£È÷jþè–)=ú4}•6ÛÝsçMa˜%ÁGî>®Ç n2žä¾)nn3ܳ.)‡cŒaÀj+äË~h?Ǥڠö³èrÚtªH>Ħêb Sà¸CÃÊtküE?‚Ž‘fø›Ù¢b‡D{jÖeˆáz†‹Äj7î!€ÇàŠñ¡¥Ùz´YÕßi«†:½>&vë´Ž+=ŸR°+ÙçÓ>^êa.*~’*ßmJekI‘ê&"áæ6Øi˃­ÂƃùêÆ41V„Ðé«Ò>íÎí¨@~— ªRòµ}‚{QÕ#c™|°9ìóФ¶ž¯·©|Æ:(¬u|ZÈߪ;=aÖ7€C´ºÔ­"%ÿ (½¬µ3?çyíŒÎí¤^Hé|Y¿q pääZ€Ã}/Zó,îÄ¥G¦,fþ8 ¨§_v-~…²×vžÑÚ½l]ì×¾[7NÉÛH Ó3 ÄÕ•x~­o"eH TEÇ¢`Wžç‡Öö…»SÊÍÑöœéÛ1µ¥Ï0²'¢ž a¿vð÷”‰[0Ù=îá×½SµÀb$qÚÈ}ÈÒ¬¬ƒÖiÞ߇~Y¼ƒÀ©ªdí‰_‰)Ñ#]Ó ¯ý~kýfšŽÎ\ß¾W ¾ØN+9ÍØéjÍfѱøôÖb‹å Ðƒ7AX‰h_ÑÖÊÊ;cKL|¤·e H ‘²EÁ™@µå¶n©Qø9÷lY²z¼þν fI³¼Y‡ŸG‘TËú ðQ0ØãÚ?`û§å`s^•|Árm“¹óœ$Ö¿ø?]3“p†`c †©üÄŸVèíp4,;…î=ˆ“$*­Æ*4“‹:°¯mB:“›ƒF¸Zõ!j­R¡ýÒÖHc´ ®š€ÿ¤AöE4×±ëÉø¥©% ¯¼‚¾w;íºº­,\çtñ@g87m¢yÙ¼M§³ùE ~üã H¤ ËÏÙ€ÿå&Ú J¢Vs¤¶þ|ãl{2I$l«õœ_JGÁUêWpe.‘†š÷ù¶ ){t]z `ÅWU6gìõ¯óþ°$o VÕ£ÍH±àøÛ=œ­ò¡qëun½JkªÎœb€¨š5}®Rñ=”DùO0“·Må ¯ÖËÐ¥{í¹§ R£Ôª2ªœeµ0/q˜sÜŠ¢mÝœ±fø°Y¾½ Ž´ÅÀ{i(ù2Í4wºÎžXC bÕŒä4%ê€!@Ô×àøÏ»?§›Å-ÔúJi$Pï6 d a”âˆßÖ‡ÿÇ—Å/zÝo5;dË…ŠÓ懈0¿¬¤¶ßè.(Á Hó¾÷î‚þ·zæmâŦJbCû¬Ç®e©“Výªï1>¤ëèã‡hºÒœA6üˆ Žc;2!BÀ‚Ï‚d [ÉÕ ½ÊÄ!°¯o@LÐ¥c°ð•ö¸ø\£*· Bm‡ª=°ûÃ…Ç9·™ïªî8„ºÆ,”‚<¾ÙÛÆ¹z?ÙÝshꪜÛÿ%6ÑË'zæÏX}Wä\gÄ­G¼äãD-Í0à:-µ·˜~þ3Ó~®úƒ|íá©F×»g ±¢·—=~~kÒi+Ôú(h‚BàÅÙ¸ç¡â(ÝÃ('¸’Ž© óÕ@K~e±ýȉl¸·¬$:Œ î,Bsîýgî€äïTCèÄ#X$i€ö°¹ë®£vñ¯Éìp\3ÖÒn°¿y£Ã×cZõ À xæ[H‚V£M˜çØL¾ëÇM't[Šþ˜ŸÆ«=R-}6­}ü°1DCŒ{ñâ}}#TÚnëÃß•A[BôÈ5`/ú™ë·²ø2G´É¶Ñ¢œQá8 ÉNÆ·Ìg®K\ø™œ¯²ñGC»µ‘²KóV?1O¹áëâe¦l¤íût!U´!sK5+•%Òk¯…âmˆ{g™”—̹ôBrŠû¦Ù®Äþ™×DÁºå‹‹ø¹ƒÇ‡åW¡uÿöÔè\Ëž¦hc3™³PÙ‡°‰èáSH"vë+Q+Îà\ˆ×L¹÷â–d<1»Íü ¶°&oŽ¢­Õd£Æ)&rCé:8)”4¾©Ö€ª{/T9šžöîß®­¾ ÚŸEä[ â½ ¤_ýb[ËSО@=( Deþ[—ÔEÝjçHá ³¦SœVoÝ·Ùì¦ò– Ö"¡k LlaÒ®RA0“÷ÉàGH(¸Ã{i–y¤;%ûÖ½àŸµÃ6þâÊ~þ€O\MI);‡Oº‰ =š‚ã6i.ÈXïY°ô((‡Oò%蛑7jkX€j_•u9ØÎJ,h䦥™²Š)a *èB'ăA‰ÿEÂeŒ’ŠU& fÙzë@ ÷C;±›JBûs‘L×õ¢­Ç¶ˆ†ô_â”e}Ì÷U]æÛ y汪1ݨ÷™“Ù{‰ü!0\<|—;Þ¾q19jW6¢X&³ÝÊ`þ˪ªœÇ(®‘¨.¿jÿ!\Ök^ïÆðÓëh×[Š‹+Üo6ŒO–”̸ šVGsÝÓà¸CHërÉE¹VWíi…G¶¢RœƒBncÛLØ/ò“ vœƒy‹D§}Jùqv|¹ób˜´·± ªdÍNŠØµ¾*É)ûQªñ)ŒM‡²ý˜%Ž·º@ ð½ì;° îKäïMâL¤wŽÁiÕ+¢g¢ˆAÒÈ“· û‰v6x0²äÚn²[ºÊð'ðÙIÙÁÛcï]´šlÿ%Ƕ­XÞFMÇTÆe£k`lîÅÆŠ ÓÁ¸ÚP wê¼Î¬aBK-b$/¸Æ#Áˆ{¼ œì½Ï—®—Æ#W¦XGããÊ_Ù†ãG3¬ê±Ñ«2ž}4Œhe»oxgÅ„0?HòC-s5 âé}_ktP@° õq†ü ÑL>TÒÐSÑu åZ4ÆnUõï‘’†’||X÷o¥ô[ »C$”V8°Ùwðó0$h˲ɔ XÆbö=Å_Ëb’J“2°Äÿ?!f!Hþ{ȵD‹9áã·hVÛu¬üá»àxÝóï•^ñ*µq}CvZ›ÙX‚½turD{c³ü±MÙ!Èïèx-1”`í ®¹bòÈÑ6Á3‹ÄWÇ=ËDd-Ïn—#ê‰ðW\Å|Ò¨¼óÛ§(%a…4€ïÔÞkÿê|:ëñi[£ÈæZŠ=Œ×"m~{È%Ô[¡Ý5h”A%„lêcŠk༂G…ÂÖ@íòÃ_!Žõ›zOó- ÞœÑt¬¢ï2º¾KTØA•ÎMIá:Þ!cùðp ‰5²µ÷ ŽÅñù-݈“Àþ7@¹8ôto–·.’·åoÊÅ·CƒqOIæ6‘¡JŽøµ/Íârp±±á[ëxZQ\ÉÛÜöûô¿ X+nOú¤á ~”5ËÓð½0Ÿ´œy˜I M€­ÁYŠ`#ªûÃÿåp³Gt(Áº®u~nª5È Ñõkºs{›m7½ì”ßX¹èÚž•W(üÓ½ ¬Žuêãô2í øgú|¬Hã;+ζÁÙºgo·=Ì8»ÃºIôþnÄÕ_,¡².0ý{ûS¦{]¦0HqÔèÕÚ¤¨ÎÑü@ÖüxÕþ$Í/ ûRâèÉ$8:æE¤(Ðo…‘—¿‹ÐHö’HOøLß¹„ÉA£cÑìû I€[F%‚Ú1ò6$ÓÍ* 3¼õ÷¥ž Ôò«ci@Šâ1XÇËÉÖùõñv²*ÜÝÇú[æÂ|då0žE=dâÚS¿”]4€ðAðPÕb ˆT¸4÷}›¶˜þÉ5R¹ŽœLz­ãyµˆáRè ªÓ¥æ¤0ïøÚ`´ÅzwFHÉË[lÓh]8G{åù¬Ñþ 6éyˆõ¹ˆqˆÛìÔ¬QÁ ­P1ÓTZ'_ÅàÝÍ*é€n‡Ê°¿QÌ6Æà$,xžL“¾.ìÐ/¸nme Ãõ[ÑÔaDp¾E9}Nb:ö ž€2Ûðx\}Þ-…AÖ/áø+m½’,îMeAdõÑaZÆÄ0øÈ“¯š ¨ƒ=è³:!÷Ѐ‹‚÷÷E`!¬’Ÿ4ˆ'Iyˆó ãxU¾…Ó"t#‡Åóü3EbB¸´„¿7AaeK2ɵ툱îZ+{׊´®AH‚‚ÄOÉií¡ñS—”ôÃ'ÖœìC{‰. `•öZ%™XLû$½¯;ç™7J†¦Js7Y\¤˜-«‰ï•*?|CÖɰ0¢œî€6ÎØDï'ð ·“–ϧz–Ç¡yüÎvÂÌ|¡nñÎK ¿):01³PjÜ˯!À‘àÆg5•ÄÚŽ`HÛT\~l¥u¼{ p *vg+j@(l…Kv9P(Ò¢‚¸ó@Ý'R×QQŽ.3·éy¹ÊÍ~—ºð€æ£ž– ÐØÙ¶éᯧÁjV£G Š2úªñ`Ã#á8­‡Ý u%6Ýü*Ç’ªÊ±wMÁ SÀz‰`t4y0eÒW†ý¶‡„ô;ä\nvÂcÌðy4«ªÏJ&ï±™qËö©®IªÍ¾É–|øN-çŽÅ™hy~)ÀïÙÎmï#©Ò†z,sàçŒfò„9 ‰Ó2x¬Y ,g@ëJ™ÚíÕ¹öæzt¦ë6”H`Ä_$ÔãI@±¢Í1ï‰jÐ>Í–HPþ¡í¯øicâÈ`ÌçÒìèTEy=OZeÒ)œ’¼2c@8éDÍÈþyâ&ãÁ~ƝyfC._šy£7Õ!‡[5g–ð‚ÍMˆýkùûÕ¨?™àmUè t{J3 ÉQ´m˜¶•që:?‡ùle×\})n•ôõ"m”öt"ä]Ö™BxŠŠför „ÿ­Xùõ·ì£.z•^¼gÙkC<$œ§[Žýr†í¿‰Ôø7Êh5(„ÝÀ+Ôb­­yÙ‹öèë¡ZÜ6ÎÅyDÏ{@G‚ XypìG§­6‡NÂtA—e8ˆ¢âç1VÍUŠÓ]z÷4ÆÜœ´E”{ÏXa÷íœ DSìvq($9]>‰Ñ“¼»¿Éî™R„ˆÓgeõ3ѰkcEgÙ?…V0ºnK-ç*Oø§®˜¿ÛNÃW“$ïR§‚)mÃÅÊ"·:9Àm}–çhwE‡ÛÑÕW¿ë‡ ý?Óô1¾ÚQ132OZÖ.6Üø\<™Æ7VÞwàPMP4£‘oƹ×{jÈlŽJX·Ü³õRN*o ¥-ïÁÛ³i²¯w3—9 ‹ã¹s°@ñ‡¿^œÂeÍ€¶½Û2ñZÏ÷(X\}ˆ‡Í˜šw458($£/\Û,º/‡Ì1–Ùv¸ó=ݬøw,Wèxè¬5»Xø¡œ;½¡ÂÏÝ¥rqp^w{î4q¨i„âÌÆ3×Äy¬$(™å–£ÜTš†xä?ðµÉ UNéñc>eäÌpÓž4“2ñT=xî_ãGøÜ¾-i#E”¦±û”†¼æ&åE».ÄBj¥½ÑÀ‹_À•- )Dþúû(\+oˆ 5yª ¨sŀ˦nnçe²Ã\>-‰%goá¢KeyšAzŸíý™­=êµÜØ º;‡s‰d_~d¤Þ´ÆŒ ®]×SJpn nô=Z©åȤò $x¼RnåI1Ã_6„VO‹‹ü::,ˆ]Ìb[«ü.—Aô>'Ò“Xµ —WG‹²£Q,ä¿ Š¿Ø=튻_“6•ôÍÐdù–JÌ¥y ïãfáj`–/M—çÔóØnÉ×ù"†£nsR†nŠKq3†ÜÚ’øþ•þy\ÁÓTÔO,ŒÓÛ[õmНrXZ\§Æ,ˆ8]¨Ï¼ ÙΔûdÕ†Öz åæñ¾>h?Ç3D¸i}K¤F(Càw.xãñ ˉ[tÜ›QO ˜ˆ ,Ï`üfa¯=5bŒöƒ+zÔq/&Ó†ªaÓnDzý\t«¦ M”ƒÿ})ÃTæã¼ÄUäõ˜ ׳¦óN ²Xý)™¡Wøðñà£ÀhuOíì‡Æ¨ßE¼IÕr‰Ï.WMX½XE<æd¿\¶«úÒÚà©`*Ó‹Úù´ã¾zê:Ù×ùŸ-­—¸©èš,&ÝÖ¨2Oà? ôíðJRÍ®ú!a6eÅöž0¯¯@ÙWF”§®”De–”‡Ó~UŽ\¯j²(»–:­8^4îóM³õàç]FW]Gˆ}´[݈ìÙ^;¹XGêéÇ YåC-“J@‡‘ÙiažÙõ5XÅáè “8Zœ¯Šò‡¤ìP‡LÅOíL%^—oÉᬡ®LÊaøY]ùbA“•¾.Ê † aããºUFQ£Êmynð Q€›+ðÍ{ê„÷¶YÎ4ïàøŠÊ+”ªùV³òúÃÍ…òICC°ÒýV'GoCTv tË1’Ê8ƒ  ø¨kmrd› ûŽÞè ¿C´@‚õK ³£ Æ,äj»F$²Äl—z°¦„ ¬yáNãX/õ¬ |Lˆgô"Ë ÑÒצäüôjð@BùNdùþ ÀK8¥)ŒíÐ}›Ž¬Wo%üO„­aàE;b¤ÄíÚèg‘⮞ìLÛd"Ò‰zVmO¨%ë„óÛüs‘…ƒð(–—dRÅÈ «étþõrˆ5¶÷øï3.טOê!&ÏÐst¨¤orÞB† pqâG>? ª«~£rè~†ÀëŒ3ÖôjNÆÖœ#’ÖÁ‘¢*D×ÌÄžkž÷Uòe)“£îf8¸ßAC¥-I®{JGÄ|I‰w…mh}¬™÷ÀÜ0¿µºÁ- Û@¢Cµ ‘Ó†¾)º †˜ËïÑté›qa"<¶žƒ‡ùëÒß²0/Ñ2Ç0ÛJ͇ýjšG«x=º*dÀtÌÓ}aSÜ%¢z)öuV¤t×ËÌÆ"—A/ÖOMû8øØMN_s²í¾¤÷ ñ$’… “ÏÊz!TYß–ôÙÁl¤ZòHÝÔûT4ÕŠß›– á%™H!ŽzÆ*ëZ^ s!NùYU×#ž“›÷u~žÑ5açcHuÈZ Ç"XŒwEdìØwÜ@‚Tîúþ ¡][(4Ÿy‰âWOPöÖÔÒéÈÓˆ´qd¦öXáé÷¸b~ðÌØ~ H€ß4²k!ÛUZ¬U¶Ô Ò…Îe6ñ(»e¯‰––¿.­øV¼ûçÁ©})AûðJ8Ÿ-f<Ô_:.wò> oÙ³O˜‹›fAÉE“E‰mRü‹í5¯v`Œ&ò¾Ž=É|dmœ¢Vö±•_·©à Ÿ*; O0ÙhL6*ÜaË[‚ Òœ’FBqQ¡©>g¡ˆ®#Š´UCÒÉW6–ôIЇh ¬†àà=Ñ%l+û‚o)A Ü.éý¡‘íQœC¬¶×.)4ô Jµù°Ìƒ1\_ATcáx€ýçÿ´…Ǽ2‘âÓñtA¡ƒ4™ kD<øÐðkd7pè§©ŠÇ}½JîaòäK•™AõÜVvÍÖ̦Öygˆ¡ÛݶÇÏ«§æ*VÄäv޶Óì1î"ó']lbþçj®&ßscÃë¿ó¼½_&Ãß7yÕuú8µÏ}8îtýÀDí©4¦•dvJîCÁžˆ8–]¶ÅŒ¼|ІÉ| c‡ûG1øí¿É²‹+À!îÉ›už7ë¹½~s¶Õ€F¹Ë˜-ƒkî>|‘É`M4ºJ| Át«fSËñvøØ3i®âiº}vÿ³ƒõŒ+p•’Íœw_eÄ}#» €t ø¼¹^xª5Ì¢ú<¢éÚ~]Æð«Ï0PùeœÜTÕ±[ø"ª[ÿ|UZñꮇ7q«ÕÔ:9é'´ô0匰@É’m!ê¢piGb¹bz 3+žnô¤¦G{Æu:V#„ÛEVz¾¿ ìÀ|õU{+> c°óê©Û\þÅgJGDãr^Öf±,¢ðÒhÝKCåað!ú£#<Ææ­Á+ÜÕ… £D/º¥o³ôÃxOçÎÿÊÛöÃgkåFðf1,ó™µÙ_¨”žÄõÑj™…JÕJi'ê"ð)”ÏS–æºÌ­ó¦§°ÕR°6ê‹jžGf©P²šT1§‡§™•mq#ž~G̃•PÚ9ͣѵÑÕ¶äCiާQ~ï¹6Á¢¬‚­þt-¾]˦[—í³À–¡p€‘ÈÇæ@ŒëÉåsÚî>ü'—Aƒ+§ô52*ˆœûIf€nÁoÄOâ;!ž©ÇHmJ‰½àB—wÂÙ‹ËÏ1nM$Šq×ð ÂÆ®½“¾DQÁæBí·Vý@Iõt>ƒGwyœnæ sçÞ -¿9~ ñ òµ.9Ĭ¦æ³®£â$-þ¾ÿeq¯ìº*6¿æTm”þ2¼BëQÁäCzˆÚ…æ@ *>7·iNé3 ÒL!ùL/|$tÙòÇÎ»Š€ØòÍCa¯n­²ü¹íߺk‚u*Fn“îm*79sBl5ÎÂÕ5­ƒK¢"ð^(®…;Ì(€ÿÉMÏZ·^”ŠÜ19¦Â‘:·ZHoŒ‰«©Ž…c‚ÝËXˆU/a&º¨gÔ%­k·D¾ ÀO…»¬¼MwÒQŽ=cÛ¹!‡Àó ñaYè`GuöÁÛõ\•ðÙºÌg¯øIªEPJkNñe^‰–Wi.ÿ¾ù¤ä÷\:W¤—ñÓeú?N½j¥ ¡¡•´¢Ótê¼”ªjãóÒšƒ(½ºÞ3æÃÎíB¸ÿ:"•lÌ+¬±ÓÆ>s ù÷a_*ï8DðoSITªž|á€2 †÷Q-X³Y2Ê10?o$OŠ_Z½—¶~r8ÛgÛä†]hã'Š·âÙ5m\hbhèkŸ[Ð|z·ËhÐYrp|Y‚üä¼Z]D13÷êÕÈ0CJ3ª2˜™ ífð‰)/$éFÙ¹„µ´LÂä%{¸K“NÌ»ìjÑ×Ö#é&ÁjìԠɀäÚÄ×ûuX¥Ôó¼&Go*4š¸œ×YìäDGõýÇ)Ël÷™D®ªL×Âå½â³†åÙ ×ÐóÜ5"X~Œ†J¢9«-ƒü®Ž*·ãœSÅB tF1ôCû WÄþ⨥¹¨7{ÔL̬@ÃÙ°äÀÕhmaH8k þiÆ_~½¦¸lü±û’aåÔçc•œå¸~À™Ó4ÜlNW“›U¢ªéçJ¤ËG]Ìÿ=÷ å›ÿ¬ÐùÁ,\¸õ”ekëQ¹ÐHSÎ/1Áö[lÕKÁÿòŠ6xÝüsCäž–ÕI.¾é‘£“ϼ í•%ŽàýRºС ¿V×k¢LA=€R¹ ŸèçxDü8œ|/J^ô¨P÷•XïÓ,X2øì9¸ÄE+Ò*hűù!(3ôÉur4úú@kšß73¸žQI§¯á€UGrb¾_ÿxÖIÎÐ×öbãÁ¸ï)˜Ý{Š€ðí £ @)lîL¦„ð¥Oh3=)€-‰’#:ÏiÒ»É/M¢)á[²RØêèj'² uÿcòJÓDø§‚”8 ÀP¢Ú¹u©I Ê„)ݶ"º’Ðê®óÏÕŸ¬²c¢XàÛ4Ô`@Nø CÅk-ì4ÑÒ•çø°˜t|Ñjp¬Ò\Ú™s˜D¦Ae …5Y’#êý šâÛõ)²îî†tº‘W•~Ù³L¹á]üò›[Hà±`N¢ñ˜8ì9)M„ÇS‘úP¼H@³ø§dÈk!Ñö¢Î+¸îò«žÙÒܶ'fàÉ–NG'™ç]á»ÔÜz¥Ã ”Ùüv°]l¼B±vé.ú$6˜šÉÅ<˜§Kã†kûÝkÁª =Úr‰šƒ– a•%ÎÆ¥ îØ,“NBÛÎp¶Ö· ûǃúqìÒ?-’™}mlŒ8°Y2IÞW!Š =ŽÏx¬Ó2=*½uއoÏwTZí7tØ5yÔ–>[ºUFwf¾Š| $¶‘¡Õ€#”%6 Aº­I_„!Ârí]³á“zrô½ Æ“Ù~‡‹ÔÉ¥ìE^:øa+àÅ+”óau* ;ñê0‰Ög’»hðê?ï°Bí¤:¶gÊT”¤w‹-ðû—à 6~Ívµ”pHRÄ”Ptº£a”wNvJgŸ^ï´£èm쑹u—ò ] àZíDsX¨ÃM®ôÐÓýé‹®ƒá,/|¦žÅ6»E´hWÉøÖmý]oÁôÛŸORš`T¿øŠh Ùì *ºÁÉø!¬å°äN@fðÜ:#stVhÚ¢5œ³¥l‚3¼ÄÈÿ†ÍìAwãngnåO.ž…¶±ECæ§ôwž†½+«‡n7Â3Ó%XÒŠò+#»K…eº–bgþˆœÕÌsë׊%·'ÑáðíçtmmÿEÒ^Þc`ÃÓ_XU¡ÁתRï2Zé5ôàoCÄC¼S€Ä×gÒ·–[a]ñIÊC>zÎaÀZâðØ Qþ5+EW°Œvq› 輜Úd£ÜœºÈøm‚Ózq(6z|VY‰Õ00—4ˆ\¥”-µ!%ÇšŽ·p{)jé“€÷§tÁ€%ã=òß–yæÚMLĬ6wd)-’÷âí˜)QXÛ%*G‚eº Bhè/»½Pt¿4~ø_¯ÜrÁP v`Õ¥ÏO^yöª-0ðßÇì™mq¶6£ÒþÜè-ËÔš˜ãM¢…$ú=ÃlsçÈ ¬9ÿÜ%OÉá{¾TåâþŠ Š…\©ä*fžRßˆÈÆ ÀµmX«Ã%6([6¢{z_ïóÖ/‹õ´(F¹þ<¸¼<“´›èµScË2,H‚¯Þ2“ʾ¬0ø½ {©m4di¸Izqòš(<1ÌA“uÿ_â®V\â̾ðãüè\t’`_ UÑuÂFÓ’\ëû“V’Ú±£ a—Ô}KÒå!¢©•Ïòêè2˜ƒDn‡‰SMÙËäš‹ö¸ñ2hÉÅ*²‚„£ žcLG.i(‰˜QŸ–È–/JìŸ`§,º`çó/I¥Òy4qHïÕ¶Jðx¡«‘¾B»—pßl<Ÿ<[|Óý,;cŒjô£4RÕ¹)Ϲ·}9oÑscjÄÊ6y(öËÅ­½xð¶`̹M´È”ñ…a„©ˆ7}1ñEèÿ´iÜ :3¤®ˆÑ–ÃÍhþ]¬ÙQ‚YÄškæö|Nôßùö›ÕR¥[)­njÇG >ÏU;Ã1^h Œ¥Øõ‰uRw—STžu%s ùÁ‡$ä°8Ôÿù3=›¯QÇ×K7‚«{ŸÄ¥4 ¶FB€[3|[z Ë9JÞD¾PñÉAÐJ7f-j.Y£UD ‡UÙ&ìñß“U k¶M&Sœ‚¿œL¸mEgcŸ¿mWg,QâLÌÎb ûL$âÕk¯Ÿâ‘’*uƒ ÀO´+åà]ú¯Vnè?R”¬µ6› ؈õ ò%Nv’àµÔ?à3ØýÐCc`üo×^aÔ°1€y™ÆbH¾Hw}mŒVæiS*{Ð!Ùw&IGšË–t¦µ«UQwe¤–i É,*ùÂâ÷…µ‰ñ‘½ñÙA}ÎÂ$4¿ê&Db{n&ôdOµ-…ÏßúPÒ šãZ…X…€ñ~ÑJ4ÑE©ÿú9\Ý|ÓýSFºU¶ûv­*G™G3tGAw0 »8V²ž0[¾ rÕé‹Ü. EÊL§'Ú„Æ;ZXo³™ÀŠâÕnäóTçB&ι1Eürd‹`Ò&áHö£7±f«5¨Ó ³”—ØÉ ¼Šî*C½ ç«f•°!Ya–·cÁ´¤€¬‡g¢Ü>b@áké±¥äxÍ#}x9(RÐd±ÏŽEVËžÕg‚ ³\áqqˆ¥ pCås,jcƒ7A›‡ÔÎÐ:Œ¯XŒ;³3¹tù#Ëš¥Ãµ«/ññ»¤ÓJ€W¯qL0¹V$PZªº ð¢º4©¦YUÞl0Ø)ŒAu´ä¤äv\°5š/žW¦B¶þfûˆÛ¶ŠÖ1ïòãg˜É›_4#šŸãŸ`d–ÝvDmI®B»žKšV: ¬‚#—cú-yŠ0ÄÐ=°‹—(#¼Ú¤€Õ)P[­™‰e¤û»xž¢ôx'~1 œèMÅé'8)µ_Ã×¼ëø*á-ƒÖà0â–ˆ‘Õ:e³º‚­O.éÐ.ÜÌÅL'“ªb)@3\ Wy¼.¶õÉ3íÁ-‡LÈ•¾‘xû$ãå#¦â±(¯m"xè{$„ £OñÓAëÜÏ]ĨU¾¡çÝÍßàÔ ¸T6³•Ì*r±å1.­søú_.-˜•©]…ÍWËÌò}w! ŽcÏûÔgÿ÷®æÏp9µ\˜ó˜wòµn4M@híÛÉ¢`À<g8~X=Δ×o !ª­õóŸÉÝöÃtùÿ þ2Έ׌PÓ ÞU5­’ç/Ì€&Œ%Aå튘Ÿ|ý¤Sìž Øò­ò†4¹_¿R[wz[O9þâ1EL}Œðz9Q1Wg§'jwS*dìê6ÞŸ¿ÇGIáüÝ“5é)ŠKbË4«xáÅRTªo÷ºJ=ás%ür9UmqÛáš!ˆSè0H€Ø³gR”©ÒÝI`cì‰"ˆéÜoŠ\¾(d@W «`u xZï¨uÓA}ìøûÈbzÃDȉ t{”äÌUMS†¶Ü?X©ÿ²öƒ‚]pJÀyŸí¸¯™ï0‚–µ~Ðq¿…À}êX© ìkç„©wNQ¹‚¦FЊñÐuIdø/TPˆ¬;×WqpH¯‰÷DšykY{¾#Rf€¿ú1î•Qí«Þdaµõf§ç_cÖ þŠi†»Wº;¸Bú}S×$òÓ–²He2ÌeÎW÷-¿*Ät¨´'70ôfHPC¬’w¨;€¤vc*u£S-*î®/ŒÃ7êyÞåaæ:úþÔÕ—AqZw}«‘¨›2 ÔÊ(„^ñà6¢,²µb´{Eï\oþ-,DpážT¥H Nˆ&eB¼/ø.ݘm¦‘‚Ÿ±‡Ï¡ãÞú3óÄÝëæ5å4›r©=M¾JþÛ|TÅ€^V @®tÀEJΉô]{N<+7ÙÇK[n Ñ]Ѱ¹>•©Ýujg™ø® F[iâmNÉa6áËÀT‹þ-„iy­s˸eìaw›Ñäw\í)’Î  ?ÂG ÜQÒÓYïðìl6êŽÄ«Õ6ŠÕ¨WðŸ6¼—½É^ÎÒmzj*8‘æOíÆ´[Âr# Qƒn–êî zíëaÀfÛ]m¤”¬ÖGï2…%Ї0ÁÌ£:>#d~}ðŒÔ´1±g5¬ƒ=’~ÎPk¿¿TÏü»ãjÖ¢'§‰ (й®£ˆ­­xn´kh•9¬t\«¨·¦ÙZ7%⎌à UO4_Ë \}fƒ¿JÕp+ž¤t#¦0vçåq \ ¸Ì-êyÕcL0n÷Ã`ñv‡õ^‹.ž,ÒOqocSæ…s5.¸Ð;÷÷y­›.ÑwCîbM/ÅÃe;oKdêùÄ“Y¿±µÑ:+ï?ÀàÈ™²¨²: Þ÷Í£¸.‹DæI‹BEMÊrÆ-󚈽RÊèÅ-/îvì øÝ§˜ÅÕ*´öÁÅû]X7•¬ÿ›äÇ1ŸG>`Çß³’&dÛ[=C÷½&z2Ï+“/ë;ãþ2!‘Û’L—ô»<Ã1_cY}ŠÆ$¹Ûn¥^”,î¥Ã·Ñ Ñú¶+hÔw’âô- ôT¢ô6‚•`—­Òyˆ&FøóÞºa>øà‡Híí´ëÐê¢ÄÅå—¬Š=Lõ˜‰«:é¥Z]½øƒ*©—ÝK §˜tKàU§=5ûÈ Pys™ã¬ËÅ’ˆ4ü_Ý¡ès̺,ÿ®8ã,£A¦½ ÑÇ~%F¹ÉOúRˆ:#òÐÙ„tÛt ?¢"€1€þâÁš|`™†Ž·fnÏ-’óøàýD-8³ÃQZ šü‘8ÉI]q"‡M#&ɰùù1}Òím~zh‘!ªÙÌghÃWðáF†° ™=tØR¨ë— r¹¦š”ÛVD£ÎÒ#àÀn$‡ë—$"fàiªÊ±Ñ=i7ç*E1!›¿J1؃02ÕŠ‡ÓsÈ¡Ú"i=bJǪïb•\Ì!eÖ!E°Mfö$äDHyñ}¹Æ ²®Þq¹¤×!¯Jû€¢4·ÓÛïù©)&YK•°fÇ× '®:…D%ãÒ6Ü__K¥;<ÅDu…Ÿý ~4zí²GHþ¾€¨rØk4–3ÿ”,;û²ãžÞFzú¾™[=ä»ÐØN#¢° ø{{$á8‚?`ÇþåN‰ïnÙ™T|›Öß5~¥ÏÔ7¿hóVÌRU«¯ÇáÌi*PÙàãà£WݸO9ñdPü0Õ2R§ç.bi~£^·v¿5‡‹¦ƒb”ØŽEEŸóÅPò]ñ<9DSIνh¯$eZ·‰nïE,. Æ3½öæ –3ë@!Wó»lS~¡d×<~Ï7|nÒ¯´|Ô­©ž-É¡É!\Fpº©³fjx‘«ÔmÏV8bw÷}- €Qx€{`ü-ŸžÏª^ MßѧT¬@»€ à0¾’ÕW®R‘Nt´žK®} ÍŠÊyOo¸ ÑnŸXnËd ¡ª4Š=“pBÂVDKE‚Þ9Rίz³Û¨ÜJ’ãá±­l¿µf]hö”½,¹žðÏ‘Õèn™fʹ‰³^":Þ\ÊÖÑK)ð#žw ·çM«®ÀNJ†ÍZ<û£¼Ô·Pð[B‚¡‚<‘évÊ0­¤Ã©åœQMϽnw®ðƒw—ùˆ‰y£…Àò­SJò*ªÕca‚b~€0p#ú®üibdù±Ï¡M(zDÐ"»éªæ„µ!èÂĹ1XEÙmòÈ †T Dy‚^‰~ún‘VŽý"yÓÄí¡ôãC J¡H«m;ühuÿº®œà¶œ$”›´;Fê¯u%…übÖßÒS[ìþ~°¡mtytoX¾ºêp n“'ôs2 (˜Ë‡_õ+¸  %ukNu*¨}Œ@Õ#‰êÈ¿ã }{e «… ¤j4«5÷Är+×]‚‚-0 Š$áÛnW—¨Î>»ÞÍ^úÖv b‚5~” ùXAšÿ ƒôÙ~³,*3³©à×uãè]sr ƒ¨y‚êõÓú×BõÌ®òœc†+é>™1ÿqã“oU>bý¸¤…•‹•Ìï­áX ¡…r“„$¸„=8$Ôß+øbx ìÄ»ÚVJ¬ÿ>c¨{Ÿz;ÜáT=÷UÏÌ·‘jFskûÜ;u4ñGÖš#8W^‹Y; Ò´ªÜKï¸ÑúCÙ­×OÔü`ófpI¸Bc-ºîȱ í*.¾r"éˆ&  iP:¢«‹F<¢Þ{؂ͣ׌84î­7àHOø Ôò p˜Vr~ü:+Gè"¥ü6vƒäy1Jö˜Ù×*!Ö©fÂnwk's$.ןœaÙê¾þú#=o¸’õqk ¼…Å5º-ì(±æ/1ÿqŸÞjjòcrçÀRe#̘Ÿ“ŠÛ¸üÀ>A õ'8?:›ã¸lä¼Yz…úÃÀiÐJÜ|Sµ1¤ ;+‚Þ0©Ú¶³“4mØÇ nr ­¥¢Æ^ +C˜F(«> Ú¦ ´7˜F4f!óÞ+"¸Þ7Ù»»¡?·viTgâJÓñ(LC´ˆ¡<+ªÇó÷=³2«d´«öo|P_7Ùó"°™jÜc§ðÓÛu& õZšHÅËÀÎfzc¥,Òë ByÍ×Ue¯WÌ÷ï%Š1§Ðê¹Ï0w {+”CýôàÔ·âéËí÷(T ú°*ýHÇêœTEÔ‘DÁâx]»Ýû&[œ¦)©ÓÙdaò•‚ú‹ZLä$âADèdØÃá j¬ºÛv}ïÓ¡ŽëËç'}ý¿`¿ËýíÔÚwïRn¯€ûK%G¥­þøYÏóâëݦ©0wݼ½èf¹þã!I‰sÝÁ³qð“¼â_3L¸gµ°ÎÍÅš|Ê„¿î4UÊêfd…¿–W T]!q«˜„UH«Á‡ë±}¬øK!o6M¾¿ü8gѤ;ai²qÜ—‰Ðì»PŒ€+) …qï‘ò!¤dS‰hÕ2´l˜Úšµ1A…CíD1½ÝAjE3þmÁ<;Û¬)ä¬ [—Z›â8eÅý°`f ïY(Ž"1§ìÖ­„œDžTp×C—ÇqFóLšÞÔºËSGTpÔ£«s¦Ì@¡®ž3„Ÿp°×"à¸\Ùï{üW)#Œ[Eém-K ‘bQQìXÞÖ¥çZÕƒ‚‡ÞíE¤öMÝ‹J±ÃDÔÌoÒC޽—X›ÚùŽ0‰¤†ðž|Q’ž+¹‰òdLÎõh?̺?bòúN*ãê÷Rƒb ÝM€<7骮O—͵ðÈ% »Æ2®*Sû¼ Ú_æö8cêH69 {X£ëÎ¥µ~´¶6ê«ÙJotðDWNµÏ…u®ž-ˆkùaMwŸÉw55 ¹ÓJþÛ¾3ª·û“£käðÆ(tô¶KK–KÜC1d{(/-‡òe»3ÇZ½05¸+¸’Üû1‹íL*'ØšÁÉO˜¤D´; I|M®OŠoekâ{¯i:"kë‘Ñü‰ë¡jáÐçƒÛŽ­öwSã+¹§ºÊèï"o»–×&óx鬯"Ffzcä,Y’q–êȪ$è`î6W¸Æy6¡8»¹ ÌÝt­|"'þmlù*ÿs=ªb¤Ÿž†WO÷ökG‚]üE? ¢zµ•v•W3êøE€^iW)]ÆQºB|ï¯ó9 âééîØ¦+`²ñ”E‘§ yÖ–”ƒæ½Ûü<€Û*(°Y ´3x>¯ÿJ É=”÷scð©|*± Wü#¿á]ð±Â•R—^q5NtS„rþ»ú„#M õ]‚ÇðU€Ì2^ Nò½ïÈcü—+õVœQàOor†å!g~Åþe|n˜Æ5< Ò ~n/±œS@ŽÈ‚ÿržhÿêŠX¢èúÁ·»S“«’‚#b¸ƒÓùQV±R%çÿ—ˆlbè8º§|ÛR«Æ=œjó6J˜CÔ&[™ÑÆСäøÕFQ7ÍÝmÚ™þyhxQb §ðr,-ɪ)\\Xcx %ßVÌ”wˆ…í‚ÀÆvæU´L%>±íW…Mxî™îêÞï5fg1Üv÷Ø,—e<« DG¿Å7“çRq¯)D×ÑÂry\PpáËKäÅÅ?ý§º²Y5ýI"ô‰@ožžc“hH#ÑÌ´y@+~yTnO»ø& ¥?áFgoÚó·«ÙU/¤$™œÊ+WýÖ5 Uö…‰yŠ]¯U?QnîUšºVÅ¥žL×èg*!ý „î=Äf©©å³ýQÍc¯öáí±UhC oÊéc®d&D! Ó[¨â‰ÿð®ø¾Þüðå­dÙŠŠbí(j‚á€Üµ¿Óá¹5nQ×) ¾Ö¾¡8ˆ˜ºî†Òù°vØ·êÚÌ …Þå¿Ù¦P©ô÷s¶/ËY•ù²*dĨp¬:ÂLyÏv¦‘Õ“F5Ø  ï•Kë5 õV<œ‘Òž3Ê_ÃÒ~é©u•Öú_Kö@ß’/û ¼@ë ÎX;r+öYH9ç/ŸtxªÄ6|ó,oµ'¤)}zë I6 g « g€¾]D5Ú÷ÇgW9[Ma cŒERïÒ4&ãÌ'øãI™,h»Œ:ˆ3>{ +$‰¯œX¥úö¬³¸¥ Á¢o!`ãõï÷¨öÞ‡5^/gáÉHß~{ÔÈæM-\Ó }ŒnÎ5’†À”9v|9='pfY€MfI$LžEUçWœ²¨b¤YQÓ¶-l’ëyxîTñ3ãżÜû?ÅÓ¨Zûe7FdDöŠâµ;—¾W¯tŠ—ªÇŽf˜ÜdU ÔuN”PU¹Ã‹6« >àá`4“sbÙ…£&´›M¤F~pt‡ ¶ o$J9¤w& »%…ܘŠRÂ({º1æ^·Ÿ »en¼ÑPeš‚›™ó–ð9pN[Ë ¢œÅ忊h$ò=CÃ×øÑœØÝÔÊ•ª‰É‹-"Ïñqþ»hÖúÑ;Í8®  Ì¦Ù0®g¼£0¯:6 ¾BB(¤Ï!YAxŠ 7›Å¢è}OE‰?gz‹anÃ=¼7¾âÍ ì±fï‹'Á¯éÓddvÝ—r]#Öe((潚ã¾YÌ‘à즳KgÂ;nÍ|ÝðJ8Üj¦ÊY] l> °ˆƒ"ä=–»òˆ¯;ðდ8;; d—ŽdÞÎZ†I’ÃpMzì.\ aôÂã6ˆÞ¼¦ÓûËe÷‰ 9 ¥z.aº|i^4t•%³±ôÓ‡Zx<Ú4Ü6 ɶmW÷v::w’‡…ëØÞqP‡ó‰Oû•<øY©ØÿÕCtn%¼‹ <}Ö¬ûëõm{žh!"žô ½;6v"e¨'n;‰Žì]:¢¦½(¾x4ÆåaŒÀ`âRÀReלgÀ饨|˜“tÀ~%Ôœîî¤g°Q×´M¾ © £³Škz¿¯3’ûñÍë¥C ÊY—11ÙÁôÜüŽôðe?TÞ¬ðÞxbp•¯©71úZeÑ>3-®Ä`$#–b²ibä6>öÿp›i¬Aqô¯ È•V~iw®±+ù¼é(‚)¹(ò-³Zv%¹@+§njÑPƒr¿Å (ÕÛy*_"§#ù®Vî€Å+&G¢Åd\Ö-_OnÎ_qêçú¬ :Êš‰VbÆÏå‡J¸QÆk€¸o{®ôëeþÅȰQÿëc®5B¹õ–­°U¦]C³£ˆ]_²p“^ò” éò²Å}c>ŒÝQð÷­²‘R|Ù§†5¥j5y\Åz$T[ÝüÂpezU‚6Y'ýæ(.i?Ô s1 ¨wi™s¦~É&GÅýÃa<ìNÚvæT§/6O¹‹XQb4w¨óñ_&j‹Ö)¾>ú©k¿€âý^‘1^'MÚÙ¦êBI/eYá)‡5|Çó„]éä]Nº¿¾ËÞ`±²8‹êjO™˜žðÂl‹ï¤c¦}š2ÐÉ?N= |-ï&oKÍüèi¤ç«ô_X^#¾ÂŽŒE?ÁŠÌ§IöaÛ U<m~?€[ì¤;@Fâ÷'©æJfÀEu+éW°½&´¸k¡O‚yî)B\ Þ£ÌbW³].ßE@»mÈÞžQsú¾ð@yA[~Wα*ÐN2«”ÏÌA"0Ú=äÚøÀÝ&'ѸV^7>©ÏÀö¾#ç5òå™B2a›ôƒÍÃâ8ij-u\Í£ ©T£y»Ï»qDûZE GQºzyQ)§ ÑñŸ)@Ò;-MìcȦÂ5€,0“"0œÓßMã0ˆbn1Mòb@šOh1óÿ`‰øÕeš&qN¬MÕ—EµZ®Ñ•4¢æ‘ž(h&„Œ˜£Î EâßÙúÂ(‚€ƒ£IU4‰¬2Èý„•-GäÜ•+Ìÿi6dʳ®ÕIˆš 'Ãtòžö„¥Òmnäcå$àóG­±sõtAÛ_zL˜Ê›,"üU/݉ ¼Ùi†#ËÃ_Ö*¦{âmb#‡Þ­îÅf‘Ô,ø.Ôþ×ý;àŸ±–{ Í :¾$å^ ¡p¤rPÍóùÇÓ§ØYÇ^nŽåÎ#³ŽÀ‹ÆãxƒÚå³µS8Óñ9=BHóô+€)åž?ºÂ’ò¤0iÙ®Íçòcöuµ³K9VWݯ›ÈZ›_Ík¸E‹L'AZs€Å’¡¦uâc!: uϧP8âvæÞ¢o¼Çù Ì]öË«µô<”—<;Žº…”!^ñÿ$YG}5>kU6þt¿áêÒ ¼ä¼3Ÿ{ÈÜuŸBÑŠŠ$ÿQY>–~,¹¶üµ'a}§,F›üeTQ³¼ù(ß6µä¢'Ôùƒ5ÍÁâvAÂb`¤a"'uø"(ZšÖ1 µ+t°ÛwõãRü'Gš„”Ám[H—$´éwäŽ3:–ôBæd‚•ïé߀tÃSߦ»æ%áÚ$_ë%ÒÔ^µ ¾Ü:øG-iàÓæ"Ù7â ïسåùZîå]~À é4è¯ó0CrA0ud7;.ƒ8±´t°³dŸ†(̓‚EõuOJj©÷·+oÉõÜÿ%}ï ZdxÐPJ¡Ô¸;_ ê·n˜ÓB¦ÎBÍÝ¡íjvÉUÑÙ4Xržd*ô6.ÞÁÊ×G=è1Sf0˜\U“ wŽ„••]l ûS¤†Œy‡í’2d˜ð\&*Èøó")¢R¯u"£áLÉ œ|x·üҤĘPò®æ™#Ĥ‚ö1ô )B8Ù&ÄÓeÿ®w\ˆì—†ì å§9v+ePÔ9^[ZϾ šÏÔ>K©«™ÄµºG…ˆžm´a1Récáùa©«4÷ý`&õ –5u+g,|Gªª9 ïáEÑ3Jñ$ÛÂ× âûÿÏ߃b»¢9o³ÕúÖ¶»N.ÇAˆmfÎÄ2ë3 r÷ý€ü¨Ä0[ðX÷ôÍ€ü“ŠÊÉHãú~¤÷1u©?òÊD¾´.Xf®eSªUxp®&sGtuœ(Ñ'(¾=¶0Ea„¿Z4VæÚ ó·*K³&ø´| Ia@]šâU­zјƒÐæfçQñºrGõÓ°Æ|)PXí2@¡2îÌÉÑo›jL*4ç!ìû¢õ~G›âÞfÈÄRŽ“”T<íþ0Õ—ãØ;¬‡0¡}‹Òãk°é!È`°NcªË¨~hÁ„má„[ÿQ$ "Z™°Üäóƒú»<%æD´®.AMõ;Q£ð=×yPB›LlŸ»\Úúy]mÇ4oÉ™Êò‰ܧÀgFWÈD%‚‚Ę߆¸í´7$§Rƒ'¹U¿éÎ!AVèÏÔÄôâoæ§nÒVÒ÷½t³Ò­ãXˆÚ ü~èÚLÄÌ.!ÕÉpz|0ÅY…­{¢vËþYúýŠdq„ò¯-ß Yõü¼Ïz8 n¾ ²&ÿP ¡oK¢±êÔv"á‹Tˆy (ÝN‚#F?ÝÊ— Å/Z!ä”„à¸Øë ¹?‰RÎÒö×oìûMù½þ wfWvÔ$^Š‘'£Çr¢ìÒ¤¾w5æØU͈¼Mˆòhxqb–«‚ã%±ÆZ½(wI}oA›7¡§þ"¸÷?RbtÏs“ 3»ÓõkiFXe§„CÃvˆ19o‘ia!=šk¬CäãübÅ+”ø»ûIßG¾¼tMõSwf¡&7׿Öû`Ÿ ÔNò.#–¿iÈ¥Ë4Z¯ô·u­¢“ÆÕ´Bú:çOñÙíá +1§íBà˃ùÆ s©úJ6µEeøvþf ¿'¾: -»&AJb»ÑÞª¹"¯tò¤Ýd X<ƒt½K¦ÂdIûÍ%d}JݧÄÿâõ;š«/ÐEøFY‡?î#îòhlOj&¬Öv¢3•ñ¬Oƒ;÷!K{‚_a8T9söáé[£IMËÝxKœívõOèøïqØ?\tôò»!Zv©@7£D ¸v$Ç&W½.ßÏ3„mfõó0¥šÍˆÙ—WîC¡¡l5–ÒÒŸ4ˆ Í•\R=¨Ÿ‹’ñWr>+tn%|>ø/&Ý)ƧdÖÚ(ù߬Ê[sǬñã„5é=ËÅ—ƒL|÷ nöŸêóãrvÕØ¼`é”fâÿŒ¬»ˆßH®vÁÚ µh@j°Kô–šh]Ù䃬Y~ûI\1¼NGð'˜F]éÖV9ïDhÓ#«ün,p)+œ ¦Ý&˜Ú4F·l¡t<éW#aÃøÝM!½[β)®±} ÃMÉ_CÌØ³©Eåzß GK2ãQY½À_‹ž³/jÂQI¸ô*u êãéú¨…¤=$-Êžk§X-ïÎo¡?[ö4¯ê½Òás^4L€±åiº€W¾;õrÎJQj–ç™ c*; Ù£ÞÂã«sPÛ™ÍîìÚ”¯ôæ$6UÕ ŠÖÞ[žc“×Té^ò®ôƒ w ä¬ÊÇ"»×Áap²«A™oA¢gz0k¦Î/.äI‚öÿG9YfÇ7<£–‹9jlöd|(³#= _;­‚'yÀ¢äS?œ“üx0ú†lŸQ«RrŽvÃ>å’ 6!…¬(!bøkj‰Ô“mÅ®†;›Ö®Øâ3²AsõÿGÖ»¦Š?mAäJæ«%Ó(Éày¿ëæÒAž£ø1$†¼Ý"“ð¦Ê´iÙš¦>ƒÅJgÍÙîõ]«’µöJþˆ™«ÌÀ•QRt%œä@ŸÂÌÿC+ÊZ¶#ú–Úe.󰸌Ûè9ˆ.:*ÞE<c³N§—[_Q4ðx̺†–u?àƒ‡ÒÎÒù§Ù-ůŸü¡£%Þ:`î^ÌZª£ºXß ÷³k -]ƒi»7}Nãi¬ó‘÷îò¹Ú…üYGâ~DŠp±Nú×äPÜ…QýVv¦– $ÖÆëUáþäqÆÝ—–ÆÉ¡ÃLÿ<`&‘1ð HÁ°´½Î9›Àß²§àå‡bªSC¹-×%ªÏSæ,©çõ¬ŠüÂvæãös¶#Ïv…³ßÙtdÎó;­8Sz´mA\[¼C¹cº.” ¢]ØpwûäDa¿@OArg‹çl!Mzð ÀvÈSzv_¯ê?,€‘\LÆ$P$ fub>s¤vè+!Óñ’@Öìk“"p‹A$NŽ\Xý^Þöxö5·š&‰|¿‹¢³'l<Ïž_™2'_Ë‹%ÖÛ‚cãþ$¡†¡¿/SÛï¢Üª¦l />þ²1zÔ-&f©c]ƒÕù­”Üâ÷ÿÄÿäį¥ßím|eH©c4Å"ãï°S¼—Î0Eh }ÂÆVS¢‚¥u–#ŸÊkÁkÌ«æ¨g‹¨¸L=ú;D]‰å`Emâ÷ÔwÆ®Þ<¶ôæøñæ®e:2ªí­ Í<µiÉÕža»Ž¹ÈiBMРx/b‡rÞ^×HlŽ F½¾!è»h„ð÷hˆüX;‡…¾‚¥@Pt€ô›;C96zÌ«ø–^<#ëx¼¥HNZ&Pß2/^¾|‘:º_“©¹ ñ‡O¤ë8‘ GưèN­Ë!L9!ìÝ¡UßcÒ äéì–s~»ŠNhzWá‘”Ä={/ÉXç°eOcâ½Ñn¼ŠhÈ—VY¤4"r¼‰Ì>D¥kƼ”E“©2_ø¶„â•.;­c+‘0/©Cû&¹°EÉ.50½)†<ñ‹.6Ø~Ú[.|LâŠ\¾{¡ölG®‰Ô™$ÜûÚ$æE³Ú»$+£õ¦—=`­|*\¥))âødJ!Vp2"¤B%}Œ­Ï›2[àÆ®Ó>î²±Ï% Ž˜;ÎNºÏ\Í£Ò¿IžÞÌA®U—S|åö‹ºuPƒrïDîTxÓŸù³Öýб—¨¦N­2¸»Øâ,î™Jä|ïDîPv“ˆÿË7Q V[òŠZåúYx76EUdb\¶ðÚ‹­ö©àMñ€0`<‰¡y¦ãÆlüÇáFq½òb½°iƒÃNæµj<‚`Æç€Ð;Sù–ô¸¦¯=¯: Éw7Yic9ï¬ 0n-®:x Ûg?(.ëœ'LÝŠ9iÖõÅ?£4¥Ôí°kùr<“/A'E¼¨ë¦ƒprpi±ž -š¡nšëЛfÙ‘ÒÖ?Ë Ân…•OWÍ'ÌÒ†Ù°èp⪳(Y%Œø÷ôM§Ÿí‹}bE`OÔȸßÇ*CfV´U]€r¥ï8ɺ‹yAsÒ{ãI#IåÛ)†}Ñ ­øaZãa$c¸Ck½¸E¿ddgõh?Ÿ>×Ï”Jñã€Ñ¹»í¡° ù3C+ƒŽKSÕ¶yã¶3qWs– ”êÀ•Éc¼n柙ëÌâûÁvÍXƒ³4ÒÀÓÒ¨š¦“û¢Ôh`\I%Κ›«jmÁòö…Ä"¼'¶’a“B&õÊMò¶ßÿxz‰ ö1/Å|ðA•:¥ŠQµÿvA ™ðþgßqMÀq°ÇÜLQy©=TAÈtú¬îôø¸G'6àU=kV-~§L(ZçÄ„}:o¸]BGÖ†ñ§…:îò‚ ï°=À*ªÎ5$ÝË—¢Ô¶D~ &É~ð5wWÞžkº´nqáG¸¦šîÞø;CyŠwS¬ DznÕl ¨®OÎ]¨“[Ðb:tá?®9ìƒÒú4Á͉{[ð– …ò²V‡kì dY/Ѽ!ØÜqMá½YÀƒP×ËÒA†E¶Ô𩉉o7KÏclHð`¶°sY8¿&j3A…iÙPÒ*Góøë œZl|l¥p>eKž¬'ßãÐ@r£€w˜ffÃŽÙ¬JQ»#¢¬:H0ÞôkúF¢ŸìY«®ýg+w§á@/îSÓs·Ò66'øÚ˜¥<Î¥ß䌥×1qOÊš9@üÖ€¿?7kº~Û„IO* ¦ê¼/+[IEàp-ÿ.9·•gw4O˜H:!îüýá€Äm"‹ò šÉ¥ožàbsXÁd|ÍÏ"Ì$¸ä‘)éÜAÔ<´.ˆcÔÆTö{$V€J9ëÆ‡X˜^Zu©LƺEܧb÷—†,ÏMA)¸½pf?³²8†ˆÉBoÖAeü%UÞǬ㎯“½V§÷õ;)+÷B¶¹Z÷ÙÿµðUcº<è*Z­?––‹ñjão#Èe0n·~^Ò¼+Ûƒ‰æF ÿÕ9Nz¡&iH!1oŸ¨0:â¿*–ˆi©³·G¶{âÿÐLÍÉÊ J_ä AïÇÛ´«…æ/´Æ±âq5ËO­5–Ó¶rÜš~…»"i rùG8úWDØvKDurOÂ@ǬT½Mã€X’;3æm%ã-Ç"ÅÈh•çR`ÉËO*é^¬8©ù¡›ô’9®=-Ñ Ù]îŽTo³£"ƒ)ù!µæ —„sàKçÝTP±&–à0 ý”ËfþÔ“Œ()=bž¼ÑÌJšý©Åï”oú bõÙž1Á-Wô´}¾¯ŽMn d3ž†è,á,¡œO4pjGæ–½_Õ­Þ$ÕÕÞáu A”º’J) Ú­U Q†^?ܽ§ø|>n w*áÆN’ýO]²ï޲oèÐ<·±”,—ÿ¼9uÌËFgîÓ¹)ü¥ ªþû¦jsÔ0Šf¦ÿ/0Úló?oNF"b –®n1¡õãv¾N/§¾ø¬£¬I¤Å¶Ú^T®U‘m Ì7É-dL>¶Õ…#e~€¸ô4Μd¯¤@êËñ{ÔCÜÒMÐ%[ºOáU·’LT•ª×šVS·¯ùÖõ*ÿ¿V|å‡QPа,EEžÇ™ Ò¿¢t?Ó¶úC%tƞΌ«~>¼>ÿ1Øâ;ER™ƒÆž%—ȸŠþ ÀÈHøvk¯Ë%~|}~©óþÑ£n9R¸!bÌyÝ$fø¨aE@ÕGð[ãUF€>'Lqê  †ŸY›E†ç"÷­}x©Ñr1>©rMdˆhŸÐÐSm“M¾gÅ ŽÙK…;ÐÛÿ¿Ëß·³y*3ü ꧦêc}üÐ>G94æ(ÁnM­qÇIùÌ£¿ñÉÁQ‘b°Ë¾Ïï+»öÚ|m×W¤ÖýX›ó<:LbÆ[Hÿ,¬xѶ“ òœU…†l}_ߊLÃŒCe8@|‹ ¼@n¯O°§I À"Å#²ÄA6ö¿Ö1ÿ+YY šÞ@¾þü7é;Aãí?"ÙŠ_?I‚¥ÆŸä™ý£UÈÓMÙÉàr^N­êWæR³µ4¡xÕÂÓÇ<àɆ&ª yZ©1šxAç¨!Œ§U,h§Ѥ i :p(\k˜#9p´‹sWgõí?%6{!­âzðÆ³°Ë”¤Þ(Ù…ΗmÒ¾;Œú ·g´ ³Éë-¢c4eè#@fqé%¾tþrQj×°Á‡îtÒ•Ê ûv)èe–2|ÍÓÄèu1kM o%ãìñ‘dTºµ²hp»l¸~Ã¥®_õ] Üð…ã¢þ¡7¦¾¾Êj¡‰x¹H7¯o×x-Ö£‡ŽU‘äà*rֿסKº¸|x°wMí¼ñÐI œÜIÜj+¡ç®å+-ëh“‡¼þG0‚ËÁ@÷½Ž@ôÄŠ£Z5C®3›KØCO ”Æ“kü ¹ygÓÞ6cûq”Ì-膎L<õP¾džéÄ#boeMlì?›®=ÂpŽ ­\)*Œzë&§ ΠÎìv•P"Ö8½¦Ø›ÅP̵:®j¤½²K+èÑQ$H¯%w8=b¹Ä‹×H£²¿L•8íÂýºÁ®<ÊÛ“EÂ}ß›ÞàÈxFÎÞ~éZ@ÈBÀÜ_P²—38&xa¿x½8ãÀ70ä5K¶~´X®eéš"gXÒ‚¢ŠŸiˆÉzƒ!.Swñ±ø)ðX9jþÌ9èýªœ¦õ¤§³FwßTûJØ¡­36’läØu:–¢ÒÐjó9!—´öÜ£Z`K«–,ŠÆMY‚±lÝQ÷ºÁ\©œÑ{°»Bá2ö‘AÔH·qHûï‰ÐjI!¸=ßJ”FhÎ÷bì!Sî¡ó˜xk©O· Ò¿¯±²ÈëðTB‘f7wÙeªÓ`ÜFžîaNŽ5—fó8d¯í-Úêþ,«B}•Tv€((õùc•^ÚEè H¦ºÕ …ÞÊgØôÞ>ÎJô™ÍÓ(%pWBm6Iècyì¹¹É Ž‚m›21ïœ#; „ÍSýPØ£9;&6)DsOÃ[í-ñN?ò²¿˜šGOx-.­–žÜﱡO-1ŸµÂ“ÙãézÎK¸¥J׊•³Ç o²1žJŸ Rᢀ’ËwEIÕ˜ ó÷y²öO‚ºÈágé« Æ”ÐIÙ Ë¿ÿ BÙÏ)áýqÃ…ž»«†–ʨ~‹EÆËŒšídJ:I[6—™Eàü‰ƒÍQ»Þ¤‰vc˜Šujq:¹!<âøc,EÁë!*Rï6z\ ,P¿¬¦}v–#Ü×g¿qÖuQ‡®·UÁµv¯ÑŸÏæwi3Œ!{„88Ìvæé«‘ðûeY”ÐÓ¸ ÙåÑi4fûB2ôs‰f¡M4ÑŽ9hÅ|ø½à)&ä0Wz¿™› ²)r±R £æž¬•·=Ã[ÙÍ-àÀÁª42éx‹>V{Âß4Þ#¬)¸DEQ•T5¼Ø¥…ÄgN\¿Èhº€bøÃU}'0~ÙΡ½. c….±ÏT±2ún—†ÐeUÈó?¥d¢â—JÜ>9Ƽ¹;L–aL“[ŠõW÷„I$ÔŠgÇF§Ð²7áÄÅS”¶xÛU9#ÁÕ&OšjÙ Ôô ’ȃwc+­x‡‡²ã2 &§&"›ò6 í±4iʤ±°'ºŸx¡„QâýËg[Tž×5>¢/ èõTÝ |õ¥ê¼Z•å¶|É „¨úSpȉ;ù<øèçmf"€õ¯¤J†i³ŒùòÞm%Á̲BpªW˜_ÿ•µƒúœ}«aés¿A ˜¶½EH&Sî*TYàûúahÙî3ûU âj`ѶDI%>p?t3›EºX]^–œTMJ¼6¸6Ni ÉÔ¬è¯7]£çîá¹NK®,.±05–¢ÈЍ€Ð„(hžKux8Œ+„tW—«œ'GOãq‰ñR#¡Õâ§³3¹FAúÆ—°ñKc±+‹rh‡eQýˆÛ¶)Ÿ3 ¹àõkOÓ…œ V/yU µçî—à +¼’ugËNÆOy!ôÑngø(èÖ…îíÉʈhº™-IÁåéüÔq ã*‡¨ÌüÏ9R¾‘ȲâIžÁ%"<ÇݸS§âiX#цšô'ˆ÷ 6d€+F«>}5¥`ð¤à“’=·6œðÖ¶Eû®Œ³-¸AJNW8Œ‰t8íOi/1ÂhGÀW ©+`‡ª>{©u¼üaïíð g§[b—ä¿WŠÀze_ iy»ÐÔ¦€U#4K’3”Œz—7Ï*SV\ Ñ᩼‡ÄBŒ­wy™•)!±NoEÄínYœ-Ä6Ÿ²®¢ü€€ .ÝJv…N«q¿eð²!¥A FD}s˜éZ˜áá~%vod±Ev†>œ\åÚÊñ„Í„ÚÜhøJÑ ÏÝÑÆÝ¸öÌp`n¶“}‚!Ãƨýµ&à=`ÜÙ³gùnœss2±¦£¨Ráw¹-Ч±£ÏU—´çKƒ'˜•Pšâê¯CG–(OÈ‹!jæ|\}žv~?Kà2ÃgØ96u„1§ÈãiÚbè(¬=ÑÖ£þ l>Ï™e²gî<`Ë„Éö¦ f×wAx¸Rz? ÉÅöµ·$zm°mCœ@ _TmΑ`½BÑÛfÃ;£Œò¨L³}Ж›Ößæî=÷+ÍT_©~¦¬·ÞÝ×£¸(E£ð8*©”h‡h¦o¤µ¹Þ\Ÿ h¤g¨ •nË>î†ð·´$\ŒŒ½©’XEn&MB¦t¬R™¾"œªÝØṖÒJ{ðÚ¹ÓÏßJ¹ìnö.œ¿íÄ2_–+QlD†½Ýæ$¬†‹ œtä]úù°®[þU¾±|- ø§éY‚ÅzV¥¤¹³ÙÏöRÒÄs–¸&òÓ¤Z»€ ˜û¿þøÎGª(òD t¶siºÇÕßÚšð~ÆYMµÃ$ù ŸëˆpùO/㘰üEƒð@lŠñôØ~>,,Z ¬Ö³ŸPñ/yâgüËvŠô¥Ý\"É^d[C,®º‘•æÀ®¡úªU'J[ÊÒR‰ó6_X)&jÈïŸóçþšt}T£B·7]Ò{¾ ê­Jc”™j¸TÕÕD,ÕO7Ó1Û=4-•[M`(N TA{@°èö!^wB R¥ð­±/º_S>¶Í²°^ÚaáL¦ÏPʸ—훫–§­8@›Ay56Š[`³ Ïî³DP³H„°.=Ê ï1>°€ë-“ê”`4¡ÛÎ4Ì3ù[°ºà¢™vÎÉÿæáí,yµð¤NpÚb&,OïÀÍŽ èKÄ&þûss|EJR$'ùÔñ@,ˆjÑÐñPûsTEiÊ‚£iHÀ`­}Å+DE¡ø˜ãŠÇ!ë—¡Sfk¼•ø”æj–†\±Ãñ=°Ž^µìHØ~-¯ ½_õµ¡L{SEYš«yÑBmÖåĘëŽf)N’" > Ód‘óëͳÞ¨`3±açûÛ~AêL]~^lW ,]cb|ý’7¥ÝšÌ`V$lÊ)µlÐ: ¬Q^"¾îÁ¦ÇÝ<ÿ.æå Hú&ákòÚ'Dö¤L·æólƒ‹ªsfä|뚃n°Ù8Êã_§MÍé¥JqišH³Š—{ QUh¤_ƒâ[ŒWÈ—ùkµƒN]Þ‚m‹ šä¸Žó…ðÔ)7,Ñ •+î´|sÐÅ¢2ÏõùmLi»Äw2÷ý:ÀWœRRb±ÃŒò‘Iï2„Bq!fÉy·ÆÚhv,YV„›É3Aƒ]ÈWä½Û‘µvÃÔŽÛ(c®Ô¢Ú\æÓ$çpSuþ< —ði°Õ¨ êÓ_/i'[ôïØûῘ$r@·¶Á€WG>·‡Ë;º0½aêiuÁKÙêÁ­õxVàth8ˆ¥w­à/ Ý^$7ØFgÈp]N‰¹Û!ƒ*‚à„ËœàÀš-%Q‡{ĻɫIÑ|ñ¾Œœ vþf×È8ôø*(Ä„[¦#Pf€]W`àq=ˆ©éÂs‹ûWe@]×ýØ›ûpGU0ÿ„˜ @–4?o«A…‰ÛêŽZÇkÜÄ“5i›îþ>ÕÄ2á) í[Go/´/Þó±s|ƒ (>"ãqO0ÓÇ#:Ó4´M ~÷v‰¼FÒ~ßçsZ: J¬V†éˆØU«ñp¬]]ì~¶ƒÓ&´Kfé@ÎàñFa X¤ØŽÏžŽ³Ó T$^Õ ­é“*ã{rÆ2%¨/±¥¦eñ!cÒÚÂŽ†S¨Mñÿ ”¼cÙÕT¡Ä¥‰Žç7‹Õ;µ0nfSÃ×Ý<¯ºÝÀJp…q\–žºRÛSžT\¸¾HÈÀàÈ•ƒ¯*±}ÕH£+Q‹0eåATU¾¦¦çº0xÙ/è›i†”Є¿eÂõ}÷ÀBCœÈù9k&‹Ej¼±²4Á©˜ ©V«‡v#eëáL³¢¹.+í.XiBÇ ³8_Èd#ÿغ›É²µ)¿,æoàç{ E—†×ŽrI;iHƒbñÀ¤å‰b>ÐiE8ŽŠw"C3„‡ÏÅ!kÏøAe¾1o.'- _2p¡…G÷Ùü?™T‚ãÊ¥F‡åìïeç©{ €÷œ…~HÌ í fõÊ››2mY–‡iÞÇ÷¨"ÁÇÝÿ…°SíXÕ®SÛ{ùÝ»¿õ·ÐèÞOxà²P”6E*ôpÓõz(ƒ’?HU, ü—¼S*šº…ŽLÊPVIÓ'óP3Yùä3p´„ú\Ò½²øÁTA¸ù}LmI8­R¶úšÌO6Q<ƒw÷0¼ó˜Dég—u–ˆùSPaQê|æNbÁZMÖ}7þñ) éÕÍA‘p`Âú柛£, LÔ#¬ÄQœ˜.¸-oÿPmD¾«›‹í±n¡F_Ï•s;¢¬|þó):é÷Ò•üt[øÄ#󎢇¬L3ô*ä]€>Š:¥8ÒÃN•ÕúPǼD¦±êx‹j“+äB:@ÊüÆÐ%î ÌÊhž AÝcÈÎl&Èô Ó­„xè§ Ð0ã¢z’¨ÔÅc'Ógóë¸ |hD7Tn¨{ëŠýN2Ýd*5îX»‘–” PlÛ$MLf†>TåðƒŒ§Ã‹aôù@\ý#Õü2×€À‚¨üˆUŒÞvˆÍv…Ûcú‰´Ï¨”WvÉóN»‘‚Ï€¿xÐ@m ì…FX•Ø2f…p.xnàÞO{†ë=h0£,òƒ’Ýñ­K¨Â޹´ ï»#òMÚé.B‚]´/Ò7°ˆ•7RJÓÒòŸq±Zýüaô¿Å:w­œä/?HŸ©î00ûýLå…å¬ÈÅu® ö¿Îigž+fþ÷äÑÕÕVH€K&2C6iÞõ[KêïQõ¾çþlˆ®0þ@™r=‹?r{ƒ’”1²\ÔÎÉÈ|˜ÀáC®ÉoëùÛ4G§¦ÉêKcTê©Ó>Ï%é`ì§0*Ôª¸E»é‰Çlà"Ж Ídy3ÂkfÛÆh¾þ~,VÖ/i­C¥îÎR¬ä@ß‚Œ)ö¾¥ÖÇw²!¿k=76À§XòªiWYM×â&0£ñãY^îö]«$k 3IôÕ>Ã\ËnŒw}ç³I÷.ßW EÇ=hò[käp bFF¬ÂƒXF¼’Á…§4€'Šº’eâ^ ”jl€¾Ò²…§,}QÒôÍSlx|¨®ºƒÏÇ?ÙRŒ·­<ÙnSÖÊd‰ ƒZ«ãêDÚ³wz“'¤C®a²,E"s`Ç0 g¸ß¡™EÚ1V(ðEk8J-Í/þ:F½Os£Í©7± 8ó„§žC=ö9AXRúøm$£2ˆŒ×áYµ›ŒßÂUÅ¡÷Û«Ý2,JUŒ Üò Ø&´íŒÖ˜Ù²Áª™t×Â= è<§•€ó*)­×ÆÈ…]ÄE³ßÛ)q¤+h Ý“ˆ ˜ÿ…ÄÒqÒAõZnƒhíD ³,˹§1ý18Wù×´¶mƒð»°æic çEƒ •”~}FÏ´¾yœ.\ÆC'ðj vùTö³Ÿ n# xmÅÛMÜ r£ñ÷ö•h? VºŸ™îŠBÍRû» tzÛKÁÝR ŠÑ!“Hl™ouÝS²Ú˜Q…(Rj hŸ £.û³\ÛUA£„¨ÂÆxâïçÏŽ¸$õžØÝ³TEäÊÀ¦+µ¼æ@‡¤öOÖƒaûœàâb;TÜF DÏKU'\—üÄìâÇ>ú…]€·pžÔqþ~…½mô-9¹T@ÚÆ)€ú ƒqI—˜êˆ[¤ë:OþÞ8”u¤®O‡K&Ë«bª¾Þ@$ Ç!ÊŸNvËQy±ÿ;¶ÚüÙñ@“ÜXÚ´Ë×û›ü/ÆyÅ-«†eäË!…ß%‡NKiÎ6µi¯ýú¼åjr¿K< €‘û9ÀËÐ.ÙŒ%×Z!E>hpéõpqo_è“’G(Ü’‰Héi<‘5u [‹Ôg`dþØé, :½O&‹;*õ Kgj ȋ܀I:DôƒÝËÛ‰“vßþý…ô5Â?CÑ$ýçkàù)®Šu‚iÔAŒæ‡@÷O ·9Q7M¶ËÃ’‡ØÁïèbYü¼{©õÉT, ~ªPIºE_©ÃV3!$t+Y€ Õ¥èµ×¬xÝ”³ßÝ_Ú ” lMbŸþZáÞ£®N¶éáʘ©Ô…ÆB§í›cùÅ#‰Ie;lÂÇ_±¶mõUm‰Á/÷Û1S‚ aVèì½±¶dSäZ ,E×j? éñš„¡`·)Orf’›\xîæ1Ç=&Þ­‰Ò$qý¼wz$`bîO1ÿX¨Þ…v–ò9I­U$FE"pbQÅãK©IX1_ð`üvœPm}gPû„ Ì“”2úß ‡ÌÃsoCS9„µ›0ROòeD'Ph°%éá]Áÿ,_)„‡[-_s°Õ¹½—SÊQD÷ìoõËui¼øBËò3/Ýj9QÎzY ‹jÃÊÌV¦¶?¤û15å*À"ÿ¦¾˜¶wµdöF+K¼iÒ[LJío²ºc±Œ},ÝT0¯¥¯¡JŽ9$t„þí \ŽX@*5êOD^fiÝX[š˜HÊ+IÞf‘…àzŒß /àœÌžnTîm_÷3§ŸE’ÑtbE Ôé°r™´h\éž&¨˜±Âˆ„Z­iÅp­ý°]:¦•·$æóèz–Œ©µ´K>‹þÀ¼™G Â2.ªLM4(á´ŒôÔ@pô¨%4svÃådžLñdó+K 4;˜IZ¹A ­ A nƒŸ7‡_'©<˜¨ ¤ŸŒEÊBÒŸ·áÔ€ƒÌ®{ñéÅ·±¶µ‚à°´¥¤ÑæŒ7÷0ïðlUùn÷b”är˜ÆæŸÜV:’$-}{.Ò\Ø),¾¤g¾æ•6¨bÎ" tµÖ4²×¹f[+¢¦•’² ¬Uuº‚2aW™[4ÊS»ÐìØ5©~S³D À\‡—±ÿ˜©¾¢Az(Íã›ÃT=±“)ÚBEx¦«· #ëštDJ—_öÚ` e?LI{Cq"ÏÆuˆº¶+‡ƒæYͲŸJ^—–«%ôäÏÕjic6ÅßÓ6܇¢}x“ðÉMÞµ_Ýâèûœf'ö$dÌû¿*'iÝÆÈdV,M…œ‚¡æÒUl1 no —ÉM Ö¿r<¨;² ÿÞZ·¨8; kâÏøÍÈü°Ìò¢ÖHJNåP¶BÝÌ Jq¦0?´HG³–fÊ\‹t8°©‚çøq·º§£fëØ`^ ÿ 7ñ5àÒÅn}ëd {(e,OßDìÝUx8%âwnžZ>·±?!|×Ô¿5 ¹ÒûĈ¡-#m~úõ3Û`ÚIuµæÑ·œ%ÏÕ‹ÑÈ(gÿ:ú ª~!1—­r¦+õ«’1»Ñߦ/ ÊDj»$po¤×KÈ*ºÜ®HÓª¤&„E *p-\bÙw”P×ÁdDŒQÅ·»*­{¡2ËU…zC‘ùRÇ"WZdåZÜ4ç\ô“£ÈÒIQ–L!óz+Çc»2,/V1\͇ {ò]Æ>^àWø*àÛ_Ð} –~pùg”ÊòêõúÊl/I´&Õ£CGà“ŒÇš;´äš§³dßݪ¥$Cñ™´éß°ÆFBŸŒÞzªìðÕoåÉÌÓñ+¶úøŽ:ÜÊýݸè=סbÞL±qÔmi&Tðª%1Û‡<Þo…Hº8¾Ñ­Ãâ»XàpæL&)ào_à¬Á jd–[Bø:Ò? ÷fÓOk–uÞlÜV HÒ¤þC¯SIæòC‡ÖíÊE/.HBÆzÁ4·55ËË9ìŒ6hˆê`/ã”hâ:¥VÈOöTz£~}>oóiw}‰¥ôL†ÙÙ :òþöAöS€øi=ªPËh‹ñþy¼Ær›:î ™ð™b$Ù‡H9½Â ™ 'k4ù ®ìðçáh<ó8‚Ñ—d{KGÍX\ç î§»Î5—}_®ãÂy9üçd²Iž`ŽIDzJw€S£Pz‘óü¨ô z:&$Gš1èÖ)z$óÈ4÷@_<^ÛKŠR=Æ¿ØkÉPÑó½>×#Ã_ÍÉÇŸ,tdeP1üœ'÷‚/`íØ€RZ§š,Œgsd+…û´‘(o1çUEF t¯aj/ðŒ.¥øåp퇆»ÃÕÇ œ{,‹‹.@É€–(@Š_$™èÔÄûxB¸ômöA ÆtDú]Bù¡K 9/]&uŒtúè…¾@›“E5Ö+8²Ô.‹Î,»øý²b)xg$½WÍ»4E¯ž\'PÃË„Î{Òn¸Úä'&/ó6¯Gƒ‡£^S-)W+qÉ£;G±yÉ ÿ˜kˆS>&H­Õ«E0 Š·Ql'‚X©¥ŸYÂ2B{ M)âÕ©K°ï ƒ¨ƒÑ~xÊ'K`OÝÖQä5žO¹œ+£§¶Îuï4‹ÿ¤Ç£kJøîc-R!úõ2ñׯ/rŒ\î†e=ÝÑAAJbi± o·Ã^Â58©r6:¹*¿´Êß;vZ'¯Ë!„_™œÝH©ÀÜ"nâ3e„Ø+ÍBz»f6Î#N±ÎE7”#yÞÂþ u‘¶mñ£2»Ò›bdTòJ•¿ ¥ŸÌ—·­FDG dúH]T„}FÏûGÝ×±ýEþ¦œ©EßQÒp«TN³˜hW€ðžï!LJ’Ó½¡Ó›Â+r¼wOëjîfð‡hh§º êꚋ΢Ô6ÄøNîíÔ#7³Ý‘ºÎ~’­¦£ªòF‹{~hfnö™~K>>}å×yuJÚð%¼¢ý§S¹4 Ÿ«Ã=R¬/ [€¾È¬ñéŒÀ $@Uq¯ê`Q,ŽÐ·ð)ð¶«ÑÃ?µ#¦ÇAÂL™ÅÈWÚ¢8m[yrth'to5ûw3eiÕ‘ J¤—lªôp$ÛbÜM ƒÍ…µS&"ou‰jnb™¬…sñ³lݰ…½ô©dTwýDj½k›OœßËÛwÿ¯)^:ƒô­yT€j—®,3Äöo“çÇ·|P²yˉ\o†VκvfAY šÛšî1GªÍ.ÿÞ™ókl@ ƒ©µkSàÜ ö"½Í«Fƒ] ©Z¦ÿÁ%òÝnÏ:5·qæ.Ñåƒs”¤Í×KEëv>cU†Éu‡ ð:ŽA%ïAä“q¦¡ª.Ù.}‘ÿ×Ïîû€WWáE3ê+ÂX‰<ã@ü‹…æ­ Ö@UlËe]*š¾RUtKG8›xÙùL˜$µvÊY®`ûlWSÁ`ît>GX…ÃÀ+]#w¹êC”:µÕu«¢f=S) 0@Ñ@ì*köo>€D‰Æû›*à3¯}7¼^ Ê¢ Ý”uѺ+y[;”U•ƒµ»æz9î —`[ž˜Ã¶&AÇÚ)ãxœg³ÀP`³¨&ÆÜEÒþšÀúõ@ãËúÝ¢óÏY•½†}ÂCk úŠ«¶°›’9/žåô¼Ö,›àãWvžÛN Œ´®žó&3F"ÃÁo¡ëÍÿ¿¢êý{$‰y“«/­€ e®.Z ÕÌ `ë]éû=Îîl'û¿ÓެÚýÇ2ù•š;ž·m;©æÏ!Hk=H=ÉåãÓþD>äŠ fîVÙ»'Í-¨[cÊàöTëQjI)¬3AÐâ2N{šljüq+ŸÿiðÍyšaæã†Ù„ϧö…¬ÁºnûĘð’-¹ ¾€e'Œ屌ÛÞH;~½®(?“Ø©1~V•cÕ RHJ-Ž ¤x5‚˜rcmžÉ6XñieÐ>ñ- c Ã@û€ Í&‚ᦎŒ‘ü€F¤%Ü1_õï@«ÓYúcÛÔU®èЙ ç4A8~çõÒù«¶9Aú…%eŠj)±Õûíí÷C„ï[0‘Ìñ]Põ|ÃÛÜ&Õ_?væFl8[œ`=þ¤ý›QŹүb‰2Ô^¯ü’-2Îâ*¨ÂS\>™®*’ƒ.âÎåô>!’ODölfÈ3)Ýt8,ľ¥OHòĨp¿ªï“ש›ÏÑý§»Â“ÄWãg0—àw'Ñ=vœ…„¹ÿe|ý¶ö,%r*hN®Ñlijգý%¡@€z·•°Õ<v5û (%ÚoÆb”MÔs±[ØêÖx&ã¨vw¡$5ä0þÛÜx¤J›ÇÝOj’DŽi_ ¼*ùLy{@–µ[]B—ëô§:ãNt,4êPB´ïÎ…>9Âùµñ?×,#šQÚ)ô·ô1ž¦'1.˜«¯ýDU/‡\¨ì°}Ç#~4N¼&Ùí¦ãzO# \CÉO$( =^-s„ºÜ„†@µ»oÏ]acmÀèEæ¥Æ8ÊÌLŒb2„rµÝÛ[M¬G|žSÆúUFkj†XZv^¢¥9Ù58ßœï1ÛÿÌÏË€69ܯ§~iö~-¢-ßÇB´KÙUèuž£I¼2Ͱ{TA1ˆQËé”u¡u f'ŠQ2+£Wä—CÈßðlö Rô¦PZ(›Ü7ɲ¾ÖÓ? à²ötf¥á—)}`àш7ϰW¡±*÷B")oy¦péðIÉ%ô!iÌ¡ØLvòxo™,y£ƒAc6´„ƒT· G°çmø­mû‚é¡Y÷—«¥+(WOHç2´ÛõˆÊ¼»fÍÅ/$9ÿa YÉŸ%Íÿèò•v1Ó@éç Uk ŒW–ær+À•¥2@É1Ïm'à½ÐdÆ]9QÞšj­Þ qéi]¤`£_8 xÆ’u/`ìÖ|B­4ˆ¸s7n— ©¼¹åêqÔ-Ù'ß<“ïÚLúŸã”Ȇ¼pvð€CÚ¨ëlÒúãß| ˜XÚêÉœBŸ0RŒX/ÊÃÌsu€vÛZ€„øB…^¨bóœ2Ù„Ô,Þ)cKgj?Ûo`Ð)oƒk)äØž‹J+Næ&á©IÖòªžÇEˆxáQòj€{EÖ4X–å -bJeTÏU`¨ül·IPѬD'^¶§ ;)°çO+:ÔÏmOßP¿ÏÅ÷¾âZ’m×éªãÞmƘ‘¯¡âìœHÝ5¸‘*6AZ#~}è1ú’àY3þK¥ÑÆYd¸äÿ+Š¥OX»ÛƒUÓGv@>W†ôö¹2ýΛ•çšžà•oÜ^úþ‹št‹ˆ¾Ã’_í¶›?ϺO£ÍgþÕâžDíþ‹8»®6ÐÙuÞëõÆ4cZÆë€:QÎ~þJ½ÞÔžƒ!Qž¦µ¾_u*è"1ϺÇ"ÝÎIóÿžc¸‹WYpÍÞ‰H°œ?4RÍD¬“ÍÀ÷W¾¯ªíßgÞès`¿Aãæäu¼ÚHq4®G¬‡"êUG.,TY¡ŸËøÏMJPy„~å0÷w5Ãí÷¨6œîݾ³r÷'ïYzúo¡y_¡OÄ'=Ó¹|f"(ÕhâŽÏ^¬ªã¢!”uÛOqmGë¡ÎZW䨥yZ\»ÞŽÔýÃÌ'À>’rx³ë ‰ ¹ÄpÑl!x€öj¾žëµcÝ\£¢•ÿ°„”Qwýì_ fÌR…,¤Á¢å±z¡ø¿ì—iÕF~5÷Ÿm›s6@G±¨„¤èð"Ó½¥²GЈ¨U¬¤•ÜG•Œ64«ÈÌͯ òïê °ø´JE»êXhQeDZÄ­¦Äýd»¦ñ±"&9}à»[*çÅ¿âCãØG¢é´”vg8HË€Á^!×®tç—Ú»oz°.Çœ­zë"oAû}~«àU©P~ûQáOR»¯ù`s­öè?”'oK¡¢+€S'!ѸðënSÁ¥ÎÞhr«ç‚SàB†úªmèä…ªmm÷‡ÄI7s/âhã—Ú’WôB· à°ÌÚÕ2NŸ=‰ÖA˜å¡¡P#þ±rÿ¹:r©3@«— ”VÊÁÌÌ P³q’\G qð™&=:¿y®‚=õ ã-–1@£ö~Gjù ò]Õþµ¸Õ¨­ÐÛªP½ãïÕîõiìp¸á÷sË¥‡’ÿö¥oéA¸×¯P” 5bæ~ÁíÍ~jYl{X=g,] p˜g²8ÌàŒxÄbTš{Ï3¨!2ž&ÜŠXƒñ1­&M›EjNŠMÚ]a¨ÊB_]=zKÃŒ<—ƒ¢gèíâù.¯šu¡£Êšš™§9/=¸«”ìŒ2¾ŸÖ~ÎÛkOWœaWIÑ3~Åîr¤7ŸT Ÿ‹¥"‚F<~&%ÅÝ0œ 1ö“ÄFÓËKÃsvÛªfµGu]çL)µ>‚ç¹÷Φ:ž}:…]Èê”9\Þ ¤Þ…"ÿ)?³$É™QV%qŽóõ=á¦" þï¯eŽTï6×ìyþ(n8SÝלþ[ä—»NÑ·€$fzÊ=Ë¢cäáÀÿÞ!eh3æVeh[ £…oÈNÛÄ\-»ÔÎË×uQjÔ©©w½.âURG¬ßK…n`ðáÊA®ìšg¯@aµÿu¯÷rõAéa 7Õ¾¼tXñˆ /œÑ_ºv´óMö¯ÉºÇPÜQœt¶å(–Ö§“ÌôZÒÁ+û-¦›—ϱÍÚwØ”,õÍ2Õ\›L¬®õÍÄ(ÕJ–|L ±€Âµ.ãÓêW¯ü¶Ô|rŒh±k½œ²¿Îð“¿ xÝU*Ôåz”Âû÷ ÄûýÌI1ÍÃìTÞ÷½'XÑ)PsÛJ¬÷è¹ ¹q¥‘ÔØ!’5™|¥Õ9gOÎŽ ‡­àAÔ(3À@uU”©ª9¸Í«*Z·ÿ¬×± qm'§ãkŸÌ7Sñù6#Z@rÅ,8g6‡þ9LA¶¼;;L(窨ÂS¨s'bçmœ™(@%êà…¢~#E*ß©7u¥”•Ó† “Š„iµªeqŒŸ[8=ÅHóf=C(òϪòd4†æÚH€ÚÙÝÉÌy×MàX|cEàDÝŒÖ7“b‰DVªó™oß%³-Šéöêbvª›Jn;d(W+!»Îz•ÆVé¦íРP’/þQþ"üÞÓ\A-¿Ùp—'ÔTœÅBì8l\S7'¡ må‚Tcfuÿ¢U dþ¿:šýX,MÎÃS×Tæ¬ãénÎt“ï¡WzV¢D€ÀõuŸégZ¢ÊùõDO|À óìüÝØGËÅ4Âq’i˜=¡®ˆÔ@“µé˜_·D8Ô;îÕ¶ñ=9*ÆXH¹AœO¬¨wºŽÈ"’a`o8Ó×^×)l»KöúHÏr]vÒ^a”×Ð8@C¥%>4Ë2'ˆ™+¶oêJ?I…¼Ñž¿•X,©¥[þê [g©¦mœ…ƒ 3ÑRxb_?̔ꤕsÆìâãi=¥»yìä1àòA­žùwË|ƒ\â[uõ P”ɼ¼Ñ|H’ì‚ÒÀmB&!`ÛNù<ÊÍ=–ãÄ6útw¾‹»³_çü¤p¥ð-4Du¡‚,׆Ëhk —“¾v-; ’7·†©å¶]\æÝo©· èÌ$wî£Z‚nš!À;ðÈÍñ,PzžHÑÍé‹Nŧîј?´œ橯 ?Wl ­ ¿ÀŒ‚1M×.2ãDÄ_žOØH e©ã9oóa±ëpú6Äw1QAH±63À`˜£¬½ãäP¥Œ³ôVª[º•"JÂ0ûÊ[dÒÈÈ .ãå9ÕKÁÆàoÆLw¾£Ý¶þOT=øê6ÈýŸq¨N×þŠë0 [6“àÁòšƒé²Y†¤#á3U´èy{”&9¡ºr?‡RÕH'*£yJò!ú7 ‡Â”k€… ¥,ɺ³kê7p!ÊS$«v•Dõõw¨¢ÖCÔ|dþX ·?uÍ™®vôXÙ+c˜¥j¯š.` YRØô´õ>;ç¸reQwQÙ]þŠ× ‡Ô/xWå†0ÅC]äPc)Ú¡Ê­ßR\J¦› ®Õ“}`Eë¡*ÔÝúèÖb±ÝãÜ”­NÛþÉŸi/0UtlÒÚ¤Œ4½± ×Ée O|ÖCeÃ¥<üë7yÿ‰ ’ çÿ¶S¬½éá/¥²›ÔøuÚàx®(Q?À:°> ˜÷laêÁ§œ‰2‰;6댛3»¨cø€ÊƒhPC ¼G¡:µŸÔþ1yÛ­ ˆUD\Ä0"#+Át°îêQå½p.zc“`q8¥Ò€G›¤‹cAÐ…ÐQ#©ã4`ö‚—ƒz{þè#  ³àÒ·¢È 4Ilhö|9b¥8®JÙ§ÌN/w#jÝQç#º,t¬#Tæáû.¹&$ï£øI8ÇJJ!Gc€Ç\Huèn‰ ×鹟ȥƒÌHÙóŠ]E(GÌÉöŸ^î/™uö°Ÿ½ù&5|1ƒþ£Ze¡Q`ÅÒœj}ddï}(¨-³âXކÌ9êÉæ;÷'3¢Z.þeüt2ã6”'‘G ‡ÒpÀ—Æ«Ä $8R)OåV­·‹UZ)ЊêÁî  ªöJV˜U€îÔÄôäÌ}¨°´mÐÞ7 Tìÿ¹ÌKÔž#C4Œ?&¯Ïnå4R즗dµì» ŽRßÇ~æ’ g{œèîÅø¬ý¾p!=)êF 懰ƒ ¨Œð#~Û}·É~P‹cJSÖšæàn Y&>Ý L†Gôoáo¦lZ¬Yj’:‡Éÿ«oS÷\S-Ƚ‚`Ó§!ý'ge+HU›X|#‹£V¦™]ööý ¶?\o”fÄÛªw ÁÕ÷Ã+ñYéIä}-”Zd%Þ|¾„€VW$ÃÄÊ+ZÉákEEá¾Ê±.©ÍÕŒîgùH=DóÉaØÀä’’»3+™…“zH¯ƒAkò @gˆKS»Îa¥i©|bšæTÉxž£¢#R˜¬¸“˜B›Dã¸#~WÜž.–!K'‚뇴¬bÌÉet¸„ÔNìôøX’\‰Ù©'|úÜußyˆ÷…LS ¾œ_ãUQÄ¿±.ä\d4ëM ¬ú{f²Dšæ!S´ÛÁû€²V•"Ö‚hÉ7ÛF G¼Ù<Ù#Oöí0òHoÉ*ÙÇ„Š]¨Y£†t~ð/BÕýPÙŒYhœ`ÕØëa}øœ0çËŽÇž¯–„l}Í !{³e+yÊÈu”aUcòa{Ôcz˜!þIð®×× ”ˆ@/ØöËÿ²ÁøDš‰i*϶_»©¡΢1Zâwʰ*šµ+ÕÑe†Æ÷†]=ïD€q3©n'Ö;í Ð{€ÏÌúoIŒÀM{¶¤`YùŸQ>›íßÀG ¯2)[kÁAÕoØŠð€T¡ð‰W# @ÿà Ž½ž/o cX$î,Sôé¾u¶%%¸[ÞÚl)x¼½µNë(…IÁÄ6G <Œ0’ÏWeR NÆI8N«V)¬ýÂáXüJ$ôº0X`LˆZÞÁ$l½cãKŒ¿Sã+ROv¡ЍúE¼g8ÇèFƒÉìÝ5‰kÔr½>Ã÷™ì|²°3-š›®ï8 Ú¢#ù£–¼éÚ”ˆ ?ýø`÷³~ÐÚ1´~þ=YeD£šNlô3ÞS¿\¨IC «ÛS^io¾@÷;«Vj=,:ÀYtëþ™”j#Ï 8ps+`½‡¹¯Îé¢Ò—Ð2å9Ü¿qj2»©+¨ÉbV]YRz‰]ì„P¹m¸ªåOMþOõ~¦Õ@Ûeœ¤†á¾‹6âëd!EÔ4r×FÿøÇ…(™ÎX´ 11ßJêÛ~ý¦Z¸~§Ž×h).hê€ðnŽJÝ ¥ÐD;}7UšÊ äÞı«­Q‡ËÌ~áâ|íÕèl¢üe|ïáíÝ^ЙE¦bUÐ[Èàm5—HC~|?ï§Å„ô¹aø5ê­‹%¨§J³J.嬭ÿŸo1M±ê %Ù+¥0Ío|U¨™~mIz‰Î”È&öœÁ¤%-»¿»Ÿõ¹âd!§”­i0Ø÷‰ ¥»aÑì¿xºÙŒaìsÕòjžÐýÝ æÖ³‰u‘; »¥¦‹·0 <8ÁQ郤u\”›Âw$?£ï77bŽdy¡Tˬôtaï{qS®DZ?h9=ê:øƒƒ¢ÔITÂ*á•õ¾À°W‘ƒE(Xª¶¾™ÙÊœýKsxÿé!5zÀ“«ȼ-*ÀuÅ-rÐÞ·Ÿ\K&©UGf¦$ä}ãrÞ[w ³bïp[“!˜7UÁ$6F–°VÛÓŽ¹üŠçWž—)¼ñl" 0–·gÁ$yq Ö©‘ô]ˆC4‡‚µr)ä•”g`è@F £]ZçLì2]’r+¹¸v,T6Õ¢¹¨^²¿\ZpÊOŽÉ7¶PØú ¥0W”V c0´±Ð‰m¦àÔózóP˜ÿçBÃd&ÜÝ ©…ËíJÍ…©2&-€+Úà!f¹¸m›[U:†ÏàB/G–þ2{AcRK I—;)Î9`&mb7/l' (Ïço¹÷“ļ[¤™ìêºwij¥žL"L,=Dƒ€ý$iÌ£0d¦rÔÉH÷¹ê¦²¯»¾}\pâ÷0þ¶”Å, ¶n,æ¾ÎbˆSÝ2ÜùV)«¿€Ð¸‘Œfôþ±Ü5ŸŒ®ÑW…ABYj4žq0ÅVµfýáÌG)&Ñ·o Þ|Þ\Ž ëèKnØs÷ìw%çß7p¤Sq—Ö f«žl¢b'~Áñ†Oï%ÖQÙo?’Xè嘭ÝÅBüVAY¹alûpf¹%vÚ n081ÍÔÔŠ/ KÑ+%ŠêŒéKÙ"ëÎKÞ—õ[Nºƒ…ÙZŠÍF¨ý!zõõ5«@”œ+…’žÈÍ@$#(?0— í%×>l6ü”.ù„9>µˆháäfµá.e^,=,J0Lèîâû@f1b •UÒE´Ø1$☼ǂÁ#½¡´‘!'WW>œ<”ÇI F¾&,:¦ÕŸ`÷Á¿Y¤1;Þþè]úF-qfH£Ís\5’ýÀ¤«Ñ`B=ì=vûa—³WÿÄõŃ˜š³Ž‹!i’Íáä§»vw»ð‘ b.%F[ ¨„³ûð¼ÃuñÖÀß3K›Y&,%¿Çy¦~ERÆ¢SEÙ¯ó°?!i‰¸x¶?ü'¾GSÝi:$[ö³–x„l\sÝÈ›˜C¬òé‚¥töÀ—ùß:ÁrO-·è4Ù6Egë…†.|‡– >‚iÛÕ0Á T3ý‘ÊR*ƒ~ ™CsÀ[ÍxH'Þt½Ï2Œ 8÷øˆì#´ ‡À̺ŽytèÊz•ÖQÂÅ[ùͰʅNsªMmÝ¥©Æ˜“…°µê[·Á |\ e#.h±ìÆ­Å;`íÙªpRÒƒ3¤ªBL¡€Ú“W£Óé›0+£9yn\¬eõLÿÛc!aòw“Ë[qÍÁ¿V§”Ž<‚*ýßÅâ}„0DÝgÞ¾OD¾&Å}¢:ƒýeäLM>Fr ¾”×zVÜ­M ³âf@íì¯TLOÉqùeµu³›a¹M·ÉÊ+ ɡʿßSu´Q€ˆÙv’|kÏÖán9—¿>±gq€ºŒ¬Ç<ªI(^B“Azq;óŘ³°‡Õ12óÌ¥-ú5Ì ¬ïR™óD$™† “Øù‚Oê–!³£c Lsñ:øÆPhÚG5]ïsÙ/éåùüŠCÙ[‹½Nº×<¨ßœ|!I¤WŠõ¸R@eKG?7Hü¬%$)UÕꀊ±·p! `•9üQ¦!4nBª“€â7õ³gÆéD4ÑŠ“ê•âk7I¾C{>‰æSÕÐõlêù…ÙеŽãÁ•ÿuª?’ÞM‘Ÿàj¼†bäù•ßĨÛs†’™9\))â¯7ŠòâÍ-²à÷gýa²Cñˆ¥²‰áÞËBä8qõnI(©\óèókc@üz(ÐF2úvÝñŽÅñÞ~÷¯iÆî×J%‚jð§á¤é¯€M}IÃ×y@ñ¿Vù’£–öËòóßÔUX†w9¡Ä*çÝã§lÖ˜àAv]“”¼Ìnfg˜­ÂZ¶Ve­“ì€!tTÖ¶||ùæ©«ê‘NvC?ÄÝíîs6jp˵§·[å“Zµ˜ókS†‰òª«¢½ÜÇ#d×ýõ Ï%Ÿã£+¡ÄOÖã˜ãrö)g×ó‘9¶cNˆ$ÚäËç—Ú¬ª^‹¡_¶d9€=Û Ø´’r¨Ž&a%\Ògc±±“8R”ig"¾{êÆ_ÙP'çæ¹\ }vÏ«o¾œ5üf˜÷Q•b–guJIº¿>Ÿ~÷²ÇtÌëÈC¬*Èçë5b3‡Œf µ ì´”ë]·O9ô»vCòƒb¾Ï9Òt{oï=Óæk$@š,’3¶N@ñ­Ìýd6í—)dW4ŒÌÉ? >-Æªå¢ Ñ‡¡0Ë»%Ì7 ]ÆcÍÀPš‡‰ñ{EÔîðµ¿arÄã¬ý¾sÁÍU\^’ïp8.tbɲ›ÿñ†â¥‚ëÆ¶ p¦)‡ÉEѦ}e®ƒBú[A½ô(~u@-Jýÿ `øÎá·p<…êffm/þØYÇÓ¦íXTNêÍn« ܦ£##>{ÃóÜêôgÁ–kšèIh´‡n-ø”oûþŸ¬6uÏ™NmÒuLêGkÁKÒùÎYüÛ‚ÅžÒ\@’'bcö§ TÙ ·ð­ÔËc–SÝøúb´ýCí®ûÜ'}¹§Àmf¹9ø €wxõ:‚ÃÜ‹ýKhˆðÆtŸ××`Vk¥zL°CËÎT–Â×Dšò< cÉ  pfЀ‘Í?íXߣèôuãÔ¥~ë8ñVJo«¬µ ü'¬ÅÑ#¹jÏúv, -›lcÖø¸æ¤;aSE§:HÓÞ)¶u'ŒlÌûQd3ò%rjûôÚ0úf(jk ä˰-ÓŽ“úêŒý šPº§M¥p‡¨À<Ñlÿè ¸ãóǧÁ¿Î)þ[üðsEîâ¡­16Ý´¼òôÔt+M’ؤûëË.&ñ!³‘¡d±œÊðì?±ÅÄD@£Êž¸3ËÄ\j†ÄNwÂÃÔéK9ÝzQå:šk=·ã*°U­ÍÉÕÛžuZp !ØO©ƒ7æª>|Ãbdò¸CÁ~M=œ×½m yéº+ûtÍ!cˆ| AíŽ ‰Oõ‡?¶ŸÍ[ÚïV°Dc»Å†ì¹–Tõ{ ¦öŠé×—Â]õÕ~B¾ÊÜÛ\íøè…16ÚÐs~äC×2óÄ]©PB,H/ÄL»%¤nv9µÐpfÙD§@©4œ_Ü ›ÑÕ&åÌvHïÏkIwŒÈ3ùhDOjÎkKÆü³–`UCXr]c^u 9rõ+:±ßœ÷/r?PˆbýiF*£´Ôý“ÄsÝFg™2²ëjǸÌ7vSv¶¦>Ì,JD·.ï~Ÿ\x‹¸Íù9[F¸Å¢£wÜÇ€a³ÆqjaÓ>ÃÞùgÿ“·a¼íÆ.öùÀfÜ¢å‘pÓˆÜ7>ó‡0 ?BB£å$òA3#z¯Bú¨?+;õØÃç…" FkjUàT—ç[`ì䡵íÛö`$eöÕ7¥^S”U>o¢jA)á圿ˆnS&ôHÛÜòV©ÂÚ„öѰ|=÷sgºñxÕÝ¿¨ëÃ4ôf.}˜ûÉ*ÕÖÈAßÑþHŠÏí€"‚ÃUaìIÝ‚žZÊâDõa.Ÿì¢„éW6y&ú æâõÁʺ2t®EáÝ_ü 9ð~L,ÏHÀù¾½P%ÎÔ r¯~Kº"·v~¶¬;lÒ_s‹«$w‘îõÍ[3ó 9i o£MûïÛ…L˜o*Ó«H;šÀ0”ŽL!WC­vª¯¿¥áÍHwQÆ= ­àKsÄbxVõhHE½aÏežÑÐáá{ &ÈeŒsâñ¦îõû¥¯©ãHÞaÜd‰Zòhv#‰]ô«ìKŒø„åû˜>VDš9n”Úõïˆzlé0ËúÃÿðãàYQ‰7¥£ß $»O®ú™ÐîjšY枈¹]z¸“Ȩ̀iÅØŒÁQ“—Âú–:üjõ—3½émz›ø "Lš:°'ÑUá»Ùûº'IòLçZT¢5éÈ‹¨¥‚ã³=‘)Ñ·ßPÖþÑÓ!˜`m•ϰÎÚ¸x+Æ?¾ÓèÜ=@Çx]ãMÛ»…fr¦ÉB*’ó®hJù—“|Á7-–,©IвêLa ¢5¶°*_dr™¼É?, ,;¼´ƒ¡hKÄ’hòþpßI Œ†èßbóbeÀ‡6æB—ò—ÓˤkBÞVbêlŸÖ$Û#Z¶¶ r¡–_°Ã²›§Â|Èj‹n ËöI•q2A"Ö°”SÂèDñkf?Ôõ×»n?æ^c©²å¦‰ü™ŒQ ƸdlÖ ^÷À8UXm°ü½Dz\µ„A?i˜È…çè8iE«ŸÐ&gza=SC :"äb+œ¦Å€[)ë½§6²Н´Ò /þJ‰ Ê æd)˜ÛQßO;c4«c£2G“mà6 4é:1 ¾'ÑÒ›²Šh_HÑb:ù{€:ÌDz¥#Ì-BbgŽéW¨¿CÚ^ù±)jŠîúnM2;>æ÷åЃ3ÐL¤.˜A§ “’¿•ÐbrêÛù~mùºàåt½3èÐÜ‚/tëFO/‚Hmð|‹ÜT»Þœ7ªâ-ðE cq 3 Ú•¼kà¦9†Wà`ª«\iã|:š£².ˆuÒ ¯l&öI«ÝÛÜËcž¨§I·ùq –Ƀû6Nl.G"3g4#&è«òtŠùð8±-À"T#ÉÏÀ('´ð qg.а]BЕ=Ó?*US{ò_<^$#ÕËÛ?á2ƒáE€oªåLjY©Úìi&({eÐ6Êæ³çüòv­ZáÎñæ„Må‡5Ãy޶úf€C(à&†o\ÁÓöÁ€g/Fÿ~»»ÔV´Îa£.…¹¿RÒ8ƒýKñêe`Ý¢ÁqÆÆÿi"u"Ó'<øÈ©žPèÏ™æèýÑpᲘ¥¢ƒ¢¸ÔÆÌc ‰´®m˜Æ6§ÏSÊ6Ìé„}£»:/ã’p]DT|-Ÿ1¿‹rÅK¯ýøÌ÷cÍú^Ò¯“þ—B(÷Ýõ€„a‡({YfΪb$Rj9&‰ C` ”ç^ë|ÎÞž¦¦ÖNÄ£mËIÚl ÓõÏ?&`D@6 ÞêÜ—;Ø<åçîôJ™VΈ–ãsÎ3éÃíª£œ€%vÇ5ªæ¼E‡Œ xý¯»0ƒOd¿rÒ3” 3_0¿-N'Ú¨´‚ÐU$Šž2™Ý…/‡/3‰›êRI4ôÉ1ÐÛÍcö)_8ÔÒÇãÓØ*cH)([ËtFÔ¦*ÓkGÑJj.ië u/×~õù«tÂI‚„ö‰l=õEJîàTÏ[ŽR¬s¶†Q}JÉG“»[”À{¨_,oÕ­‰bæb¾û`ª-:æ 32fsUQcÌkþj)ÀxÅÙ« Î\C4½{ƒÚ¬D—|*°—ÒüaX{ŸËbõŠ’^8´?DÒMmúzøô¾˜±‹›ÁUÿ¾¡Áƒ@ƒ˜WÙ—<²LVQZ2öºË÷cXÒÔ°iecžsK\µÝR~Ú)Û#]³³.B-1ÇßB?¢Mü¿YåÝ4ñ k™žÚ (R-*S™·X€¤|Oç*f«³PrØ|5Ú(Ï6~m™mlè`Þ¨þ·ýY­Ò–AðôÇn¾Å¨I#ì‡8×û¸^Á¬àÞš·.“é?[à|`euãœòDü+ƒ¿²{ÊF'€Ã„‹&&â?í¬$5Q °ê'ûõ½Q ’8¹=ÈLH%§yÊú™‘÷à&0ŸÂDÕæ.ŸßɓēŸÓ±ðü"NŒ³êÀÝÔj G!æòÇ8PïÛ‹ò€ú©ø & Ž§æ›Œ¼i7)Ê ÕTÔíÚs¡·É¥)CŽÕ$‡A~¢¬øò¸u?ˆþ{°8C¬*²¯O|œ/‰q?ಥъž©•u>æ g‰;Œ§ˆñ}ÁÊaN„šyÒùi³ Ú,¿Ä&ÔJ³—¾02Òüõ¿‘¿ÀA}‚®¦¬borx)3%žm ¯„ë5c< çv×  ÔÇ‹Ðl樫6â@ú­:sä$¿UÇZÎ¥>|e åjesÍiªîd"Ÿì7pÖlˆpàÒöþBô~;küVμkÉ'¡H2E>¨Þî5©÷X¬ýÑS7h–D^j {ýHŒå•ú^Nýè‘\ð.ü»zj…øŽD–½ÂïóͰb4¾VaýŽW?<…{¹/ˆ:e>ÁµÌK»c£-Ž<ë”Ù­[ÊV»›W›ksonöa´ u;¿$ªÂh+ÀY…Ú>ñG/åfö—À Ù/ýTƒ:—‚I<œYzö³¯Ñ\ºc};èÀÎ'W<Â?ü’'›'€fô_[!+à3”e”qšÄÒcqï‘¢T ÊÉ‘Õ$z ý3î‰äŒqYò¥ÕÝLºé­|Áh0QÏF¥.^ Ílµë7E~²sV[»',ÁÈÏy½‡kzMóšý3ÏògÚæ×ä•ß5h¡ÎñF )%×1ÖdMf h†³š"î™<2bÚ.t4“?X¥œWfPÞ‚?îGËD¿÷¢¼<òÖŽGïÍ2>Àˆ2dŒ¦üöbÞ”=úïÃH.’Ç —$tý–@ÿ“«XÓ\|Q^Q®¤ñÄÍ Òá9ÙO¾éÓÈqiâUÑn³š‰àËîXÛ¥5òX ˆüñ 7a8_¨§îµöú¡ÔÔ»4÷©T•&ù «ž€ÒGåt¢c:= è±:Û~6]yŸ—Vðþ\À:t„"æÒõè =èݰ é …?5“ÇÊæÆ¢œ¼PoT"] 0úÕ/él8yyd•âÿ¨¥“»«ðXßïìÔD>Y󘌊ÌK·¹ÙŒdßSt3?/tÊAYù’ݧD‘­–£ìDÇ»}ÁðNšÀ‰ RïG‚¡ýÝØš¼ùqàÓt¸Ì‹<š}›Á{xCúIõÍïw±É½,zÏ LŠŒ¤ô–ø¢2øb¤É Å›ûÜÒSfQR>„‘sñ[ÝÀñNk¢Â‚Óê+%­·gÌúô)!„º]œ“¢OÖëª 1y ‚ÓÂÔè¸þÑ`Fç¡Fë¯c3©ÿåmv$Œ—æC=F%Ó2÷•ß„—ègá°ð9³l˜Y"lHdýЙ¥ Oä…øx•«GjZî«p]h¡ÒYˆ„ÎiÕÔÖ'¸„“ =@×ÞºâpíŽ× X¼ƒÝιœ£¼†ôe4 0œLnÖ¤Ö_%z û©‹"[M Ÿø‰üÏ ³KðÏ.UP¾dNÍæ¥ñ#ûaiôÄ‚×Ïä'áÕwL©YÏxKDŠ""j™Kd}Õ©ÊB˜âU´®ùýñ£ˆì<ÅÉgI-Léà®Q<†ÉÝRu±™uÓ_œ-a¥K¥ééã^$ŠËÕg£ÊMX"œJÅÁC&Ì·¨• ‰y 9ÎÒ¿=¶ñs>4¦KGgk%Vú¨Y#k6¹LôâÏïyäQäwç²êʯbŽñÛ>Ó>QØéYlµµøÛx{"Ãë[ùâdš2°XëÞ9â5J¿Î»|`×NILã±hØÈˬuƒ›¥Ì”Žy̪„Ý:vâû¹šEjRÙ­ˆ¨yî*OÎt4_¤L–Â{‰[ªÁ0láM†––i¾üEÝw"ùiãÐ ¹š»*€±À#?Mãu BØJ)Uƒ£ôM俪X¿¡£ANt­¤BšCK„Ó›f5ä\r-H ”¸cz¾nüÌÝçèÚ¦LÏ}‚I"ie€•xlXÚØÚK*>óSÀ21z'o¸MùFÑxkqØíÍï¸ ¯´ûfØÝ—…ÂûU|ÙŒØ$†ϺB‹Û‹„ø¦ ›”$×uï”^Ÿ¦µíuâåh¥SÅÄ`~â…´E[ ŸÇäVÚHx¨³¤Ž¹¡¹­bhN¶á¼ûv‚Í$á„—"¾™˜¨þðœú°^¹¸Nåz;p7ò™ÎŲWá¯íþ¨7=$Ìp¤jѬð”Ì­r;@ÛÌ|ÍhKüEŸy '¦§›f~¸§“âÝS ¬Wq¢ LÄÉÓLMúq¥ØcÖÀÙ›ùBßS’ç¬8°ê|o‚ÓV|:…M#½Ô²ZÿðµYR I¤€y͸¾(ÒÅÂ;cN}úy_ÉÂyÕÇüî@ürq†S½byV ÝÀâo’3ÏD+1 [‰ ñ0˜~™ºøü2„b´Xç»d•_'žyÚ›X—2P˜,™ïùÌéh‚.²ÿžúNÈЭšOTáþæ>>(H£¨ý<23ºóA¼K0ƶŸ`Ès ¢§Ùöÿ¸Õ>2ÝãÂÈPOI¬€¶^qa+¼Žï s‘ ËS“~9È>ÏA=‚†ïÖ€4[2G–w{ï¿ìj-S†ñ’ïr—H\Â=}.ëCTs°N{o÷M"³åâë±ê¾¶MÔ…0ðï·Ñ¨µ{6 'wkttê…Í…Pç½yÅÇ0pöÖ´>H…~Tfft¤ G½+~å5¡ÎiÔİ’92CöPycïmU:ƒqSµ€o™ÜSý§p}$]úÊ׎±yÕƒëî°•6¯g¢Td:ƒÉ¨í"õŸTæŠ*ë\ƒ,!T´ 7ñy Ýû¦®?Ýž yë¼IÁV+AÂÓ7ÀH oj!‘‚Ù¼}¯½FÙËKÊR-é²GŠmþ¾ws¢<‚|m¹e„¯QÒǨ ”lR¼6˜N¶3JÎÁVo¥Ucßc둨¯Dàà¬ÌLâ¸w©¸ÂîÕD{¤zyÚ:^WäüVÓˆ›ÑŽ7¤Md`JÊV+Í\ø“õ h—Œ™Ùþ˜Z]*Ukžö³b•þ@>ª[`MK™j8€°¨â1üçtžn$É]2\$F]¤7OÆpÐéÄFŒY µx?|çAä@òÝa•@(: ²ŸÛò^ºÊÀ›¤s X k’VY&Åb±¯ü¨é¦§L4Æt”ÂîàÊzüíK°•7grØ!¼¸P‰ÑåЭõÍ3¯í>¿þ™°~Z'ùÄ¿Ây—]ZVEÑdÎÑÆ¡ !܆ß~õ–Sr¯y›ßpJÌŽ¡Ò9O¸´ÿ•F4…¹ƒuoCWÌ/½aWJ%,ÚÅ­¹Y{ˆâÍU\B´Ó¬öF"g{(p<¸JK¢=ÕS_u£u@-û¶”œ^ë:POôU½»ÔÜU±„a¤E¢Qn¸Õ¹ÿÏCAÌÛ–êyG[ý)«›y«Ê‰ª@Z¨ù†ùÓ+Ó¯–6¿÷e¯}G#+äð}U¼ÉæLT[P¶Óñnň¤äÊM´ÚF¤ì¤ú?Þa“Czy¿ºd¯)öÒËŠÔR¸&{ðQ¹1 fd1S2±*BRr“z:£aD*/»9Çš”ÜÒóu¡Å}›yÀ¼Ñ\5 ¸sÐ-¥¿Ä°QñÊ:A“šm–+ªß€=Bx‰h"Í"Ÿü¹œ`…¶¥lñ¦öß‚_)Ú·€ÁU0S’&½ÆÈ«èŒVòÔ‚nw/!¤Y²—ßå!ŸrFÜíPeåNˆ%Û¹ök}†Š¨Iæ4·`:~¸Q#­²G}½€}Pþ°9ÑàòêÞ®¼¼ÿÖ?O(©*¤i‹/ÙÕAà¯$Y„¤>Ê2Úµ¹´fpA®M(@"d탽3`óCT;+ÚÓ¬òb¢7]­ÍCºöç=´îÏÄ- ¯£6¥¶ 7Æ N09£Ä+6d–KâT²éèB{ñ}& î;¨Pÿ³¸×úów)Ó à7{T b=éKs¯L«Pï [‹Jm³2ÁÕ2cÎ~áþ\dã’•¥³ü¿mhÌÍÏÁ1Ÿøe醶Cä¦*¶æfv-›Ìú“\ÿê"Žô–oGtÆ¡·”µ”f_ªZ™åK’qÑð©y°ò÷¹qc‚fiIêhH^ø­V¤ÆÒ§$!Á§J¹açÇÚ±ÜÊ,x®þg\ÈŽÔ6n;qs-•Ö<©×å†z"®Ì‡£«WK7ÃÒ‡ fÚõ[¸ÀØ)«ƒ’û}sÀkÞô[¨ÔL*~…Ý®–åV˜ +8Œ‹üû8í³ÉÝ»`á‡P9æ6À àY:ù(¶Ûùwù˜àÄOµcäÃèž*­’v›žG’i)û?—`’ý§òwÙÞ‘¶9Z@‘÷W×s=é A$rÊ'žSÿžöxÝu‹ôP8ÓüïL:êõ/Cf{R?-¼),ãŸþæX'5Õîî î4+{øB£Bmyk¡íˆEõöškgs¢ŸBÔ [ˆA„w¥ ræÐñÚ´‹¢ )ó°ýšB˜ÕÑò_ó"àÈyºÝÑú?fk…s%Á<¸nTîöñÄ;EQ4_ŒgÁñ<ʧAD6øíÂøœ¾c®n ìA,UÕ'%zã>,>=Ý#(,‹O¼["JçØNã¼j÷-`ÒhÔyÓyy©”˜z?æ¶äÿlm³™€õ×^'s‡ÇÑVçàQK”ŠX23åyDàŠe®úÌ–—]­mbè%fDM €Ôˆ¥zÆ{ùGäžc'ˆKÙŸÃÈ@2…O‘µXU,ÈüÑ×c8&Èáº@ÄX»ã×TÎ>KÛªAªPjâÏ$\"Ä´¶Pž°(« D™Ód?ÔèÖ#¹ÊY>ÔôÎyá¼Á{ä`S%®‚;¶Qĵ3\9‡É§`eÒCåÚÙ¥76¤¹¤†N¹I§¨‚ñ-ÀòÀÁÞ!ÊÒÛ <Áà‚m˜üýƒeT•õÉ(¨ù&ïº*ñ ÛÖ\Ÿ::ê®Ã›]KŸ»ä,׉J–½Kvˆ´Å&¹ô•~'µÓìêþ”®û¹{:MC:Q%-‚þû„Ôô’j22·JæM÷ù­•••Þ¸èIi"-oo"ÂäjºöK¨§wz:S‘˜œ²ÿµJqÛ=7¦ÁÚ+ØA­IÛ@'Þ¿ûâ3•~ņ%÷-Y³E£ ©gRE±_IÎ',Dê+ç†Ñ€µ%Õ+MËG¹I?¬ÃÄAyÛ±~³æÔÍö®ý-i‡HÀßFVBAS»'Ë<®¡×Sã’Ÿ;GfY&K÷9Øœ„–£¯fGF eÜ5 ¦=\B]f9<-@Lµ¢6 'ŒÿÚ[rê{Ê¿ÿgÃÎjO›ì\€ógD–nÞ~H­ ù±vGÆh‹ãwÆa÷BM¼Ÿ5Êæ¸&úÙñ/ø JsÿÏ}RÈ'•„·/$ÚóÆŸÔ X Å{”Óíi­!<ÓX[ØwcPdvõ-”\ˆy†Ðæþš5üÊø„®Hjíuù=rEðFÞ-8ºÉ€9P­ßE )Zfù³1äÊG©þgdzfñ$(ØÌW~5ßä¨C8$Ÿ¶Âµ"‘Á€Nð­Ù‚; uÅo¼áÂôûÒψ9k§ÁVæ3øqœyæÊ ; $9ü/> ·Å¡ Y«9¥û™wÔ÷Ž Ãîf›èúXpçÁ½àzG<k‡_{y L.ýJ¯efø"*d,¼~å(aTÜÈç4C´™á=ë•ÀDÙ]VxFt-|¬.Ê7‘6®Í\96aV±tªÈ~êÁ†QžÿÌëÝ1úÂCÁl1M^])!+ei¥$Uö¢±‡cäŸáe{S]$ü^ò4cƒì[."ZîŽ2éª ‹ 7"ÇÙ1ùÜy³ŽÌæ¬t][ï>_2›Ýó3=ÕJZ>ÃU©Z«ƒÓç.Õr׀׺9èHŸºŸ±1“ù8G2ºá£GèBpàìxÕV¡$j«±³{Øjš}8ùE±ZL{У$íL1Ãé²ÖÔ›;TéâÜ÷•cƒTƒ×Á©?­€|Óæ]Äf„‡`æ÷öIJ}‚FÍzSÎ|O8­û{RµPoõöôN•dÏ2ýÛåïÇ.¿º2#§gdÙ¤ Æ…G½fŠJMr©ÕÊ)“`+ÈôfvY1¦y’ ã-œ„ujøù–áðÑr½O -pûÈDÄŽ] Þ‡ŸM”¨ÿ Í¯aÜCY9ÿ•]ã„„,ñ#h/[’Ü? Æ—E?ìUJ›ÞàDéÙD×]PjÙ+'ûò%òÊ»oä¸pŸi&!ÌU»(Ï‘Ë2¼´KiÁË ^F×ínÚºYAùçåé´ýQð€ÍtÞÅÚjÜ'õe¾ó Jë=œ Uc¶Ð¹ö•2oͺÃÓ¹E‰‹Äx·WÃc'k¶{vž¿³YyÑ+-œ!„´Î²Ü=¼ÈÞ„75^D÷Î9ølpÖ@Gü‚W$´ÿ¿×„ái´¿Ýc« #ÁçlŸª7Š”­¹1TŠðQÿeñœ¥c®ŒblèšÏäa¦ö*Až¤Ó#Rh©i|³µ¾zÜ1+³{q>°±Ž½´ðïÑæ )š&¯T«üðŨ ÊUu¦‰¤JÙ»„ÊõEÑÀFÙ1GRˆ{¿>¼æ¤§ù¬§±7éç3Éí­!Kã6?o`ɲDZ‘÷b/GÒáÀÉRß’q y—üLÌS6qKüBV:#ÃEƒÂX°_ŽSYc6bÝÝsyÑ%PÔf½é\ikÜ.¼0…9íöýa€æJü POÕUàª3Üíøß„Tmˆ…ŽBôþ„ÜŸÎ Vá§D ꯗûaÕèø(Î JS`Œ×Çÿ`xËèɈôÄ…fZøöï\Êû8xéÏR„Q»À95ã"k©Á‚…  £F«åmBòZœ[Ayü ` ñÕȧ«G½µ¬t^Ö» ¬ûÆï˜ß‘E¾ädR½–5 “9®Ôp“ýPèïø„Á3·bï„„BPbt!À˜ E„½:&kÇä e¨¾®Ž¾³ú›VE×T︠¢3çÄHr•n?žÇY ±WTøÑ…©á*}¬C¼=3»ÊÅÛ<$Ù¦¤—è—ïÇB´æ,(‘ó±ZÁÛ·m̯˜%£S‹¡EÕÒi¢wãÈeûÕ¶ºôb)쯘‘Áã·Á´ÂU^‰ÒC$L,C \B í?ª±½ôQ(Óv²Ö¦ñR$Ñ(^颿Î%kÜ›W]&˜£wþã5FÇî÷ ÿÖÓS¼+i gԘ̵²ç¬P“Y´Cã:”e~ò*1ú\»êž÷³bD;ʹøbýCÂYÀàôS{=ÙS³?³ú.tË/²!Fâ á«Ëe¥¹û²Û ÑýŸ]ÇZÌæbü޽e…xûÛP/kžp,¶=‚yz“–B¢&Š`T ’|t7Vå`»jTp¥Á,ó6èÖlßLddÏ9м¦ÐK&ý#´1Ú—-öå²Ò¤\=Þù"¢ê^x“—£VÀÇ-‰¤N#Õ… b­¢Ø‚8~ô‹Æw©œÈ€ðkóù=9øŠ rª)Ì9en)“Ú(°¢uç4š½13^b8û_­Ç¡£îoŠzƒ©žuI3är^<ÏÁã†Ë '¤ñcR$KJZEÁìeÄ„VÐaâ&ËM@_Iqt‡hgù©Í%¶=ðœMU×þíGnäÝÃr>;xÿ}fÓg&‰3ÿ܆éIq5Ú¡`gÁÜçíÅ|§øoø›9Ó·ä­Ñ<úµ0ZœhñÐmE›k1¸Â Æô®°í‹#ö*PÜ¥VÿIô;O¤_ˆ ßúÆêsvÇJz8€¢§€¬ŠxçdP?YntÔ?ë¾'››µãñ›Û e –p„^IEü³¯!Å÷ôÑ»¬^ë2• ¶é³]HÅuˆpÂᜋû"È‹C p‰O†SÄZüek¥ðCäÌŽQ¸¤.—vW¶HPÿÍ4]oñP,û*¢—Ñ&þµ >ìiË¥Þ·AaA|w!üÚ0¦Sø¤â‡}¶:Ñ‘"Æ…ïá¦<óÂ2ÌîÞÖ§ÏÈW7ׯ겡Ñ”ÿôº‰Û=º?Ò@P˜9ý¨ƒ‚]¬p)Qœe"ϸÜÇÄrДÄ2*:/vA; GH ã¥e†`Ë~n¤¹¸ÍDÞÈrèûi•0è¶rÁ-ÏTt«&@ºÀN[¾1\í±$Ó¹ ùK”l·•áYùS0z©|‹«ß›C©ËR!cFæ(äg&ˆN÷µŠeʧ6±Š*bð9žûßùÞ¤NIæfifÀ5š7—|Ãí{ŒÖòƒìïÿ¨qJ¯’V¶üih[ÊÐgæ+ÀsÙ@Zþâ\RDoXb ¶a3á,úÄ‚­ìB™C•Så;;ŸÓÉòEŠ©×v¦ Nb©I….¶bêùÔ‹Õ`Æ7°ßÔÞ®¿gêllýØÔÕ°IL“Ómq&¼8˜ÓBHæî!~ùM´½äžXT¼©¸ Ò— D:@Vè”ýz%$7?-&4J^Ti˧2òGé`°×A9ŽÒÿ7ç3Ô;š·W6öKÝ½Š·ÜGº·lÍÅ_K¯%zOS+_…ÿL%WÐõ7»jάÆMŽîž|šxßÈ›U´"üvT(ÿkuÓJ€áè÷’󚯥ù°—I.õÌBÃäŽ&¿±pÇY#)ðò,Ù•îh‚†(®9ì Ž&»Z¡çÕ~ÓË`­zà’FÈ#Ÿ`ƒè+«ˆ±Ä/½„VEçÈgÇÌ…ùHÁN©0Ï#­Dîþ×£² b?ee.‰3äÕcç( ¦6x½vqŸ´v´”@ÜX”[š/Ê·ï7Ã9 .XßÓÇ膅pvœ"â%a/wU} v 5Uh·ˆaPÉ|Á—koÒÈ]ÐÁ"‰{º´¿¦R€ƒ<`+xª°Vý&ð+ób·¿6²OcNÞß:rµf‘#bvä›´pÛ‹Ufu]íCΙôŽuŽ/ §W+5ÕcrÀÖúQ±ZØŠýØw–í!vóMIȾ¥ö\fî˹#Ú¹Ô£ë GL%\3©èœÚÒÒɨg›”«ÖÔªÙ7VT8`‰k¾¬;gÖS†xz3d{Ò­ª‚þ K S%2¶î4c’tWu?¹¢Dk)xÈòþÁéF3#¶«Ok×iþà;¼¿˜(áŸ`9½gu^ó&½ Íâ|hà¾×é8øœyÄD-.~h$Ž^»(¿ópú©}ŽÂŸY]ŠGÌk§\g†º²ÄÄ!¦ÀÆQ‡úÝ<¼)šïÔ™;}€u#e«™E!'wÛè¦N<ØfrP#òíÂOÇì Øè…‚êA†OÑ»f6gBÊ/¦rüs,ÛÛ§ìÛ1ÜØ¯ JJÞ¾לù´èI0þX_Óî m¯H²Ë—eÒÞGX"³KɋǨÁñ™òv…. 󶇚f€#n’ÒºÀn{~) oæ¬)¥CÍQRTÆÉ9óu¡]ÃkŽýõÇub“—âL—Æ#zéÏÂp™R5ñûé.[Ð0ã?g?p=ç·Q£²Ü;†¼IÉiz‰ÒzÇïP 6!æ%"ݶ´ìK áy>„4ÈÉÏŒì{ù;…ÿsž‹©ÊáÍ…DŸ¾—÷ûÐM }} ‰l‰{ì @Ð(=Œ6L;ýùªC$éb޲e’¥» žš@½üGg«e~žc#á«‘ð7Ô¹À‹é¼?tÝ2¶˜þ©¥ çfMµ‹B>À+‰Ÿµ1 šUõ•¾t’Ž.¼3·¦qêö(BX­ø`Ÿ'Í/0»mþ9ÂN`Ì‘^µ& 9ÿŠk¿ÈK*ðz‰ðZ<=з2)È ODˆa6mÆžcÀÔg-[9jÛ02%öÆ.¹`¡]Í1¨™îÁ‹iø| a58ÚFž Þð‹¿i*þ¨‚ ˜Éšt1äæFÌ ²b­¨Û\Å—Z mQmbALZXdÏ¡Eòt°ü»Xóµ¦iXÿ”#Ì÷H‚|«gœÎ Ç$föÌ?·K) =(“!é;‚ê‘Zâ%|òvxÔV·YËœíƒ}ÕÕ$Î*w“j„3[Òí©u0¬»%D+I¥8iy˜@2ÌŠ\$ħ+7 øÆú…ö§±>‚”^nš !ôéëGâê²—´ÈÔ¸Voß-@AðOOeÁw™NUuW@ã/ç‚vÿ9BbÉá˜çûݘ²<;½0 M9Æ8®ŸHÅ…þ‡V^ SÞJëd'X$ìÏÆzUø_g®…u›÷Ó-ñ€ŸÛ·ÂBa2§Û§}}œ°àaÄüÆ©ðÊ™í À× kæ9¨9£³‚aÜKµýÜqªœsPií‘!¡›ç¸H;ü ‚¨7íi1g9-CµµÞ<˜ô¢õB)H/¹‚é*’ùCöXÆdT¡Xæ×?ôÓÆAø}ûUÊÿ¡í|&BÇÜ­ÒñX7!íÚ`æäXGÃ9VZT—WÁ?<ô ÙcœÑ5üŧîV*š}ÄW1¼”’ S;ý^“&ÐÒh°°¯=š ÊlÓZà™Nº ýV:|žI›8G_—ãÂ…Ñ/u±Np2™¸ äî®u˜ ;ØP)‡.oä¼â!C21daÓ?6B˜ÂµMÚ‹…ªªu®xðÑ™GΪ*Õ½bû©©V'-BB6amÿ&†LÞ#W)pD7›ôXôjÊ)ॢxñƒý¨}Óµ¼ß"Â&H¤Ìùáê#ûw=itQè=M‘Èù®ÍËRÓâ`Añµ˜õwXä}p/–“+‡ÜƒØFv¡µ&2À*/o¢×œ¼9w<ú1¿ îí_:B½sÿz‘?÷¼?zöˆ47„õÐF.¡ ¨3JYkrÔ¯L‘@-i)X™ôÌ&ûš+G‘öëÁ(}j‡'=e/b ?]Pµ»í , õaË#• 8Ÿ ÷ݸ ¥p¥æÇžÌZXCìX·FžrØë§*Þ4¾t¨ÕYPè“W1þxsœë,$> 5ê0ðþ±¹ËϘ…Ú W#¯±NèhÿΟ{ùˆøPVK©A©°BªÈºB04îµSŒœœ†±Æ­/ÕÚʳÖã;;+ÃËK 1=,¨Êhé*RŽs<¼?ò&¼(Þ$_ƒéRswéﯡ8T°åQä¹âC †ñ†(†(^QÙØãÑì}¶M{Âaýý/Æ*܈¯pa—jÝC»†;‚›WºQð­Í{œ ÒæÑ$ЮñƒàxÌ¢ÃõeÖ‡Ì/ Þ*Z‘šñãp§‡6y)ÊÖj? '×[ñxÿ„lÎBÚR“ [Dm4Ê›|˜É$õ<ÕM—4ýu?ý¦Z +!³jîŸ= ¸¡3Мsk­Ûî:@ŸàÎsŸëc{ZtŸlÚøØÒÍY+#0bOþÃÑ}Ê ï>L–M3‡Ä‹!õ}ÛJJ4Ë&S%µ3ÜrפÝ@#=Bún¤Î©m¡††Þ¡œRíChù¡LÐ ® òìÑå§ÐN½7d°>ÞÙížò‚"%_†2î1±î·ÈWÈE¥A _X’O›$‡\©†e:µxó¿ÃÀ³Z£n¤Ñ£¡n#"'O¤83q¼5ÄP¬ £G¿¦q É.;@h]khW•¨Jñƒ”‘ãçjçÒ”þ›]aìßQ8äë¡(¬œcOWm¿Œ½ÈÝIK2oA‚G™u ¡þNã©]~"IE_Æ,'+ŒÀ°ªÍC ›S’耢¤áåí§q’ä¯2½H‹ÊÍîýq-†.[tõ,ṗiºd;w-÷…µÓ¡æPå%;þE‘ƒÂìžôq‹BŽÀØš:Š+SI©+ÉI²'àɧe1ƒL¦î-.½oXíÿ©düwH©µÓ^}±VSŠÈP. Bä…NÐGu¦3$vÊ&;ÉÔ)Äaâ¾°ÃrÑåŸ toϵ GY_“T⢰<µÕR×Agn49Te@ Ñë¿;%ƒÑ^ì‰E~³ëèÌ·(„û ½è’HålÑ–ÿIïΕÀW`ÀÆ(üpzÜî ŽOt¬09+t`¦µ¿þ,RM›¦q«bVĉ-lç%èŽÝ#(é!:ÉU0nQ¡¿£–xüÝM^´si8L?²îŠ+U¯_šë—lþ#CŸ_+Ó@‰N.©J¯,iÓÜ7x¬w)èmÉØW ¾A器îHÝ·F;€3ÕÆ#³Kï”–t¦?bhÓÙ‘ù˜wHåòÃŒÁQJ!‚8CSKââX*M¹2Zà¿©Ð.Éâ›–{‰U\Eº\Á6j4ÉXÉ鮯?vª“²J…ð\CÆm}¼Mç–É d£ÖmúÝtê@KÆ! qxà ôî®Ò¥®,GS1ãfóšº&wY¶>§QíË+F> m÷½—2oçÆçÿZܶTÑ!ðô¸¨OzıR韎S’ ;Ï¢rò pyÕxjµM8ÖaéžlJX%PG(E0s7‘ÎNCz­`m0ðÁm¬ -.òê­òAØ"ùøEŠ!µ¶‡˜1GÙøò%W^…0£3ÂÏ+aS’vñR¡1e“q¿È«?-ÒØ;óÃã¼4 rTÛOH Ã5.Zº8Ö©P6µÛù.¶üš›DTM9ߤo¿?Lô¨ãs޵îÒL×m>Õh¥V5¨nË@¨ˆÁ¥$ä¼âÌ…N²É.ZøØú0á¹àR :œU‘©oz©¸ˆÚ…w”Z©)‹2ŸáùWMêm¸bL©Î÷ÁWœ¸¥¬K¤GZÜ6ÞÖRÔ±Þ ™gZí×üÕÚÆŒ½ô·ÔØ( t²W“ÅËc±¥¿½$(1Ìž²î*kÌè òÌœP{}oÂk} €(U @§eæ`óoB°Zz7âú£ÿ“qàܺD¼:PT#ABÁ"»,»Ò«ÌZïÒ£—l`j;'¦hEë¿~ N¶ê2-®M„iÜMc]• x90©ûA꜑Š;‡®¶cPÓW³ÿŒQ5AP<â%ŸØã Jû|Þö1ÍEÑ£G(¹ö—nÔ®ÿq Ñà8<ŸY…ƒÎyÅ— 5h¸0æ*…ÁZ´¡t‚ ¤nóÆ‚…Nóp;èÔÚO´°0ÍYF²¼@*¬RõÕ†é"£ëŽêÀISytÞ¦*J¹aiœ¼ˆF{â^ÙÞà ‘%»± &—°I’‰àl{ͬkÄ@B/r÷ÈŸØÀ6" ûÖô°vñ ¿~c†ï¢v¯¢£<ò—et¥5ó;±ZZU”!Z}ýÞ:­$rê 9êQö3ËÈ3Ÿ%צþ‡W÷ îo·Djƒ‹C–Ê.ƒvì*¡M ãpo²JŠ®j>n¬mCÖGªØ39÷¯ô£õ/Ûpw%giÄl£ (îÞPI¤š6šÆIÊŇ7ô(ÊáÖqlˆj‰3Ì…àgì;{ÁudPЕ¼Då#ÁùÉrJïo D„»»’8šê½ ¶/-šžO© ‘c©wU4¸Æ¨ zGxTÀ‰{N*“lºÝ ­Ú×Ùæ›Êá°càòÂþq¡‹iþŒ§™¶ò¼ûÂV°Ú¶§îþêÔh²@é7–‘•/  ÑÑšÖ;‰¼»ŸÓ%–y³ G(×Uùù š$ðÊe»¾ôxÍ“ì­&®ØÊ‚ùÃdAœ6Œ P'™}) šÌ`ÔÎ w4&m§&Þ⼋ŠÎ¾‘^=â@÷h…²LNO³á}Æ^b‹ÊèÓMº½ŽmÎÞŸuBV&!÷ªlLXN… NÐzŒ†j†îö ƒkþAL—p;l\µ/E°—Ååï+MçØ&˜šHS“Hâø#€â(¸.˜¶'”d–^ ×a÷ ¡çËÒoÉ2&œ ilº¥dÖx˜]ÛÜ­/«ûÕrÄy—¹œ:¡ÚZŽÃ¯ –WHqÞ&/üçg¹-3¤kß§Î`“ÇV0™~¯ ÐÝ; ­"PMZߨCúÓ+{@DCì)ã~xC+&Õõ$XêÍ@ïlÎq²Î8Ùz¨6‚ôæ¡oàÆríáZóØÏž¾.o¢ã拳Òahúǘü¤´j?îmàm‚¢5+¸¢©–­/g(C‹¿g)nOš›\C)"~i]R=2YqXÀ‹¨2:ßJ0aePO4N¢ã¬"$ÔüŸK¡®YY¬jêS“ÿ5®êåŠòÊF§`À",$¶.Á“©¨êͰ¶ä–Sü`ŒätÆ~k('M[ãòØ€š³Ðmà³ïÃÌͦ#‹å¦^J†»œEƒ{ÞqؾÃî г235ý?»|=3_bÏ•EÙ«@E™£žÚÊý—#{>]nq¦/èP¦x™Ñt8~+Gè‰2o¹ü;J°OTó`üäîä^}ÊéàØ±’|‡NÖÜìKð‹4åy:Ä€V£y)ê§Ì{㜒Ùq²äA²DO™Í•Р@÷a³œ×ôFØ/y`ûÐy#Y’ÈÉéü‡9 rõ„x¶‰ëК‚›ÒH¿5S`iËÉÔR‰¬hÐ~ :|TËãÍt/u´|ÖþN¯HöOö6+èÈó§à›rÑZ7pâŸÖê&¿Ö æIË ­¹Cµ7ˆ”ðÔ½U /}| ìP›±ˆ-—Úô×÷Ï(Șeáq1ð9U÷ãÛùј è ~oõ¼ ÌDö]'!A@uêK°ÕÇ— Fê"ƒÀ±]òîáz'¹òm·Öªè¯]í71 â ÚÞ£wËB' kÓ³³ßÁ†4i¶œ•‘©;ëáƒýàpËàÊߤêÀñÛvÀ/C¤¾Ð.«¬1ÔÉzkÓZISð”gÖ%­Ì©D¯ëq7^wÉ—éMŸ2äºÂ’lQyU½é‚š¹Ï·S’ôSg‘ ëWŽ­[°~²Á›! f,ªîŽU‰¶²möE»…e3²¶Z´âr´~¢ÎBU½nÃ=1®y ý½–ÅúˆÎ3ñ9Ì™¨@ür~VMn›á(AµúO#GN ú5Å‚+ù/Âs´R.´´Ø¦ÖôžÊíáã§¥<‡MC= 1e=ÑÀß,}”ÐÍÛe9¡[»{ý1¨À×', lŠH¾N¼ûP.âÇPhd„.%AL Æ`”p7" êÛ<ýGP•â»5;Y¥gêSéÝ1º%±ßX—Îyu“ÉøsäÂBß ÄÊæZrw"Š#k7éCa.ðÊ_è3»Æ<äåëåþ7#éP¡ªÏ ½ˆL8RôÓUñ87³Øj‡ˆ>uÔÏžƒ¥ïkç.YSP0Ê’:ï)Ì´“ÇĪ7Å|%‹»˜K{1ïí,ÒH^ìÕÈ¥þÝî×}+LCƒkø{Æâ" '$¡xŽ˜'±1DŒ‘K#H¢ÃUáɈ»úŠòøÙÐîRÞ·Í™€v\°:xÒR™$‘“£ÃÞÁ2ºF¿H¦Hv 3G#Àð#~¸Çì꘨lŒÓ ¹´žê¤—@\œã^2S˲+}9þM-5E ꜙ£an3ô±>ˆ¾±‹p ¨<™žw\_\Zµœ!«`|ª/r?]€\©“Xµ¨E1wh#Ê)Ñ%ž•À(2œ‡¸Ùv§ï…áNНðÞl½KèGíøl)õ²ÁDOSPvF/¤ÄÃpMý`|ýuAîúº@Teæðòœ 7o™ÕgÐ_p,F‰Õ?L˜MŸP«f6FDç”Ñ#K'<Þ x„~§1Ñ#|Lj!Ç]tŸäö˜Ã@‘m¤‰ÔÜP>D›¬ß©šþ^êðü=O×LýÞ ÂóŠ3ü–¬MMû±¹:?gÃF-/}R"•85æ³÷öa8_©ÿTé4Lð—„®Ú$¯!èLqîÜ‚À3@žˆ¾ÙIÖ… ‰,ä‰odzoæ%rNŸâ¨ë¬sÐVëGPl˜xð€¢¿Øc°ŒiVy‚%-ŽòʕڠŽ_Û^§û ê½ µ–¢ýµÛ¥iþ ”Œ¢Ô7ùÚ£ö"SnؤxéOÏ&š|í±¿Š:*jZ‹û$Š3ØQËX¡D¬· Üx‹!%8ÙÿØ—¯¾ÿ \ì'Æ€‰Éó§< ™Ëœ< =±»;|¤Ü\Æ{x¶»Û+ÙÍ,÷Rh±ð™ðb<Ò€>©—Y¬ý6¦ßR9|9èÖoH)ƒJçt伬KX,PB0iÜ’¼¾¯wž½dí–IR×QÃÌ^=É®m‰Ü(Ô&št”FTºË߈@U© "ÈœÃ?‹6É¢·Â0%æ·2cݬuÔö¸r(‘o8l £Úúe†œ®j³pfž“zbëoï¡É'¸âúi¬Ê =¨¸{Ú˜]RÂûP†Îí¢¤±ëV¾©9³„þC3¿™e’Dü2ìžU‹ð\jÒ-©£—A¸Wï²ÜSq¤­‰‘?¡´H âºÔ…ì;2[{ÅÚ8Q´Ñ†|ÿªs;αzÿ¿Ø9§@þ/ƒªfœ(Qý9MÍmdÓR!•1ÿ属;¤Š2K¤dt?¢Ð‡iÏI…•ÅG‰‡o¨^{ô¯–­^}x\Wç24P!Âaë+ø’žØ÷jÑ:g²úÿuËÍî³û\ ø#åK¥q¾êƒö@í[ÈÓÚ@Ì{AÞ•þ]5º$b¿±·™è7¶rEvõÄ€a0lDÔ…ÅlF›ª¢Ìæ¾È:ÉG÷é´˜©‡Qå':µ ožU4•)Ñ aN9à±eÖ)ØrO²–‰ÁŸœs¿7a(S¬„á5©—) VRj °áí]oôðióº0vÞi_2åÐFq ý…ÓìÏÛô>ÎÚéàV“œ{¦Q×}ØVãðÝStXR¡Üðà4+ƒXR í'Bhø&k¸i A¸ªÃÔ–>Ÿ-[V%þO7™¾ÉF†¡ c%Šrp¤ ñeåKDc?,HhÓ$öñA±[+mƒ¡³>;¢9m(G•ÁÇèè+9˜–ް3ÝÄ.xš@[ àšÿG‡Yz^Cé 8†Ìê Ë;è#Ü õm~¨¹|‘}S6¬DA‹‰BœÅày•W¬p&e!%Ú¢Ò³Vs»Ø]þäìv’RŠÞEãøxŸ?¾Ž“ÿ](i©Í Ãú+ê~À1O×Kö+/Úç@§ÁdêB@•õ÷£F˜q‡ÄÒãÒÒó˸¢8Í…Ö¶ã VåŽðjÜô‰!6#“1“ÎÃOs@á¼(G¦I^§ýHìÎd¾àŒ6œ×7[a‰, Ö/K q–YE¿Ò¯ö´7)=<á ™f¯ž¹Ã«­øÜOZý”hŒeMpøèÍQQþ׿ &î±!F¾h²LT„»¤¡£…k ðQ˜¨Îøèë×ðÌR®ʤ4–ˆ›½q¬;¡¶½*÷øÛ8seÈ•ç$jã*¡ ³fÊnþÛ” V;çÜjÝ ¶P#Dö,X¤=Âjvè\¨à°¤Ý—b³µm^‘ëœÿ9»·êß ‰«ˆ+ß}М9AÆÉ|_˪p¡ÓmsOŒxžõ}ë—DŽB±üŠ-ü{P#å1 söÓLÌ! ýM„?Q.Mòb*GZ3Åâ`9sÇE6Ÿx'‡™Ù/Éü5%ò©N̲"k)÷Í ÒÚº›|µÌ*žÒÍuç;AâJæ+Æö<››´’ãªË-pB(RÜ© ž ‚õþÐ6ßS¾îgýŽfn åÖžnñ´i¶S.4‹Œ=âQÁ‘zžð@¢úT ð‚@žÙËEŠª½kO|Dn~y@]òâQ’8»!v£}¸é>=e›~˾ž>ñÛõ 0*q~¢ø—¢/sœMiiµŠ'Òj:‹,ä,Äö¯w—Þwö‘ ú‡È\M{Žž÷Ìa`ioI6Áø¾Zx•cåù 3“A"Ù‹Tè_×þEþòikT›¥)Î<‹` öIÔ;\:-Ûà¬Ù0ð ‘ásÃ|þÁ#Øž¨Êio¦–è0'uÁ¿íö.Q~Iß<±‚¡§šØ¨öå…è:`¸xðKgc*—¬á)ÔŽ~Úáda¿™à×Bér®]ÎqÄÿ3_¥[ôPP‘4Bë¼ÂBÎwÙíß¶ ËŠ §¡Zîm²;ƒ—;æžñ½/UIòMÖžwJ;¡Ox2Ÿ÷N   —¸š ´dŒ\‡˜«ß3~,ï©>ô<³¶2©,Ea3¬l¾ù4ÁõAÌ"òàƒñ& vÀïÕ@Š™1².dL ÒôÓÑŒm§ &5ýˆîuß.“$XY^·,b¤UÒÐx$ÿoh@¼ÅÁ£²-ª`J"€Ã˜‡D6›1h™[}Içy ·Æ÷¥—6pCñý—¬C‹M–~U8VF¼«›ÐwIcÆEÛ}a£­Ú†S€Ffy·‡]`#9SŽ:k#1ÁÙtsU/b§ wÕIûÓ¸ZCÜȃz$¦0ÕD ’¥ë¦=ì÷õï“@¬¡Vk ¢äñÃóM¦>ø]ä.>ж¥QH—ŠÚ.úõwG“¹®SÑJ¶Ä»]Á,©ô:GV€Æ²KŠx(¨ÑË8[‡rÙlj*—A<òthÓ@ÎA,`ß —™„>©™¤˜“`¸yÒ×N’º¸Íq*›ª8H#²ê4Q(V£ËW@g±„Èòf:£°N¥-²ø¨Åéqõ.Á´\Õs…¬âgs¥:‰âØ-òl(è¾ÃÉÐéЉåÒ™!~aVô6P›F4»dž¯¨ƒY}D2×jy/Ëh]hi«j<66uIof†lgšÖ¸‡V:' úS&é¾-|7?nCµ†‹úx¼¡pÍ=4¤ëô2Ç(ƒò`>_•hÒ9oÈAÊ.IOû¡vÛÈ1ü8Ÿ™5 °ÛÃsò4‚ºµÀàu­¿ó¬ó Â9·¦ÜñÂ-íxaöû³ù$x‘«éñº°žMɺ½É™` PQ/ü BÛ¶t²/´äÖ3ôÜpþ˜q¨ŸÇ'hL- 1,Œkû­Çmaþ%šµ²ì ycîF<»‘žî¿ Ú„>ýÁè¼h.œåŸÛ§ d¥÷˜XSUî«â?xdÔÏg›¾[b«¦#ÒÀ€o¾‚ï²3N•|C~ï•Ìàáso·%ȸúç!&dy‰„Éò_ü¼º'kÍLÿ³ö½m“Öƒ/nèàñø'Ú‡}|ÓPÔ¼¸¶Œƒ[¶b)Žü^c5ô£Äx§Èw˜L¿I;˜ Ð#CîH-Õ8ÝH¹NvßAK-–«Æ°¡æË¨{i8ã5×Ûþ܇F•ò©:dhzCzͳZŽ&8pæ¶'Ø‹ W,Ûòƒÿ[‹A0—^hbvBZ ÷Úàtº•,¢?ãÛ8ö3uKÕŽcÙÂF×ÉÙnÅÇx´!#×xÜ2Þß#ßÕÖîÖÍîo5™bÞ}u2‘Ì ?¢ó¢-úL©´©¶\;,å{L)Àÿ ŽCÁ.dÈ•î\†˦¬xÅ܈›¶Õ†6ÜkHêÂ/‰Î4|’õnߨù—­‹þñât]Ó±C€‹p J—°Y±ÒßþЗ—¸Zaþ)Œ—ðFrp;Q-%¥ö´[Á\+ºº[Ê>qŽ•5Î2ñ©„ôû2vùËØm]ÝpÎ8tÔÕëü‚¹øaG®¼µè´w9€ó4…©Qä#9¢Ê¥]XüŽÔæ ÿ˜[gÁãç8è)`ð›Ç”`bo{ec«:†š½›ÁËõÕ0 ÊL~„Ú€F?ŒøPA… #&¡ŽvÄö–}‘Ê:eçÉ ¿Ï}:M€1[A%¿ç¾g—S=>Ü©ÿ/Ï¿ÛÄ³ÊÆW¡,TŽÄ;$‚î²]’Ÿî6[ÇÕ—¶‚ ¬h†z¸­Õ'Æ¿– 5û’~7èï(Z~èÌ‘`uƒw¾ÍÏv°óšºãª?kÑ-—~Ô!¤¦a1ç2Ì  2)ƒ¯À»ðýÛÃ=â‰ýþ½`œîêGšGìÉØ‘iwêžã¸’.¸ÖðPžVÃ:¶ Úi±Úœ)Ó ßÜú 'Õ xeôêË•9.:|¸Žh#ùsF¨Õ‰ø›2åa ƒ©Ÿ$™©–LEÆU•“I…fÉ*gbÔâøÐy»N;ž½þæ󔣓]Ò@dQóþÛ1Ì­ >øŽÌ¿±¼­v«;bËa„cḠÍç;ë·°8¢Â.Hê±lþSÀ÷®Ü!)2Ý›ÎU£l»Ù‘- JÉn’_fyl•FÿÏæø¤¡9é·QjÆålÍÝ‚®Ð|âíÂe†·I¬XEùÀÌãÍüQÇÅê.¡)¨Xãf¼œt SG«+eØŸó×­ðÍ¡É=°ŽKðA/ö3ío…Ùè4¹âÎp®uz«|>*þ˜vëè›®}S¦v°ûÀêQ7/2Ž(áëë”_×j¢šÁŽÇõWE„æ)cµ³g¢áN:ëZmë«ÊzdzžW+c½(xô²Ê ´:A„ï6C6°ÎE¬éš9³¯ê„ê&ûyÈ€øû»Á©ðƒ'н4 cÉE–Ô.Q£ÔÍdM9Ü‹ã*#Õ¤Ýóêà"*|rýÙ>Ž'‘¬â97ÊÄva¦—Æ×É *Ìœ»’6{òPño§\¤41_îV“cýcét´÷£ûøƒkÐDå™t„ =ÁKT†%ñ°icYÚ”8¥Ö ¡,ü¡È#·ïaî‰åp#>sò3ü©×1¿œ_=Éô2tÓâY©wÔûÔħËÙí›ñǽøtuÏ âϱ$¨£e ¾ñ;¦â8=é•“gg3#\sáüPÑ[wõMpSÒŠw¨öK®#‚šídÅD9Ì¥ÔìVÊšb¡ÞaÀ2·vjËs5HŠ{ ù§2œ}ñv©ç¤É´Òìš ï¸žiõÒcû#ñF‚D“ã]÷¤Z¼ÁÑ‹ Îm·ÍéÀx%òQÅk™)=àbÚ/q!}þÆ*ç!nâùeèä¹7Ì3•Î|¡páü‘ ¹‚âm^o'Ý=p×W Ðjí¯|Èk4 ¤˜êäy‡€*å ¹îwm/µAø ‹¦­‘Ãíâl’¸Î)˜â{™qÄlpà ßÞÊŒ­ä;-­êJ('zà×µÎÏ_½n0…öùøØ¼»R}½›$‹Duã*‰i¢MŽÒv à=9”rQ>¿ÊîC37o6èw!s4ÆáDlv52lÛÃ$çp~Zûz\ØÈ­Œñ[´WYéÉýÎ^ú$ŠáâòwTöIn½‹Atâ6ðë’†%Ûyj>ÕÇóš¢ Á8¬)Œæ‰)Äš\0‡¶ÔJ ?B(J’¬¬ò9#1ZÁÈ3X<¤êc‰¯î‡±öeÉkFŒóNÿ;+‘5|}<«BdÌt¹¶÷,‡LÃMÌö8ð"¢ª4£ø©ÆDW(ÕSÑM5 üüækÞðóUÓbP›ZÊͨ]PuÄéîžì¶µ æŠón¬F4¹¥× mRZÕÒî ˆRŒÒßʈ(š¯Žy×ñkVLqÌê`Ôç&ÿ»RpÉb®êƒÓ¸K‚çÊ’D!ô¤7ûxB”iô(R öé1PŠx93ÃávM&«®êúhŽrÛìcí×=åê?cRë5Ei8X&n]‰õRÁÄÅ饇ç÷.Áì~µTO”6ãñ¤jsGxG™×mŸp³ëòï¼>,¦á¯Ÿì‰Ñ¿«ôÖš’ÿÄJ3Ô9̓;˜_ŠÇŽ•ý,Ï7 Á+G±_v©Çæ)Š¡,’·ײPDÀm°÷õ¨ºß@ìïËי鲳©rÂiayÀpˆ–#6¹Ûå¶ñLæ¨L&=]ç³^Âu±(¹|ôï".ôÿZÁïó:„p> WfRг÷:u)¸Ãÿ\Æï¥·°UQÁÄù°øëOgÂa›ïo] W¤ÿøÐâ!a%§î×—Ü ‹ïK„-õ;îœBµAœÂŒi|‰ý¤ÖT=ßT†¥dë®XvU§q¸KíqOÎ {‚ux×ÁÛâ¸1×2…Pï£É»™­†g›n×ÅðÀ¤5NQüå^Q³è‰FÕù‰PuzÖøt Oÿ>cûâúJƒv©3PJ%Q„k\Œ'³P–|U²c—ªEõer柄yàžÀLðžæŽÇ¡Îu²—{èÇ â":†}w Ÿ\9ÎÎ;ÏÄí7€ºÔþ+V(?‹‚¯Fb‚ðÆx‰| g:åâ;=êj7äËF—td«eÉ7PÓY×b¿‰ ‘ÆlHñ0Ûòügž*;†/#ý€wbŒ`¾©–òtèÁÕ)ŠTO–ç˜jÒöòt3ÿ~Ò*rO ¤+º[Œ¬æQÓ^»v.!½B÷§¿lêæ€Â0EŠ9P†ì™)„þ°%µ ’V £¦ D°10žæuÉïi'¥qó»ÓÑõÛH§–< tÓt~9a¢V²é1tÉêÒEn¬t 1D\ü†j™Î0/s¨ÅRÜS¶úØÃ.ïÕƒåW‰ÿœ7û—ÒXLè~{PŽx›(ñ0ñ~h=|œØ¤l ˆµw~r(Iüý»8‚¥`‘¯Âà¢+ìþ-(VTgÛž¦€+‚ÆÇ¥FX¼äæ¯ä%¼˜2²Áÿf¥™  u¢º,¤~{uìd_»l$ç¾—³„aË”½3%‡&1˜®´rqP£ée…Ôi«`+¥¦eÇ%EäœV3 d%[°užŸ:Ǧ”9#Âg™±›s¨Oj ‹Ö¢&ËMYÕµÓV2kòÖï>Lüæs$¦P±‹¼KÎÞM÷°u2ÝuHYc}W´>ùƃ*÷—W"†‡ |šþ=GÂŒÔ RÌHëœp)e¥Ö,Qìrï &x¥…–ç2œIîЬ‡¼)=TuÅvù(…G¸Òï!®{JÕ©R±*šI9Zñ”Ê©‡1Âh>ù`IÍØ³0âÛõ›$€‘þ¸ã7_œ—àܱþü¢àè¤ô1Þ2^ög™ÀãŒÊeÞ*¶“?åbP„1{ª—ƒ¢£ÍȹÐp©vD²×C(›"L'¬¬”ƒä¨x®oÄêYVK—Çœ*ØÇ¼:Ju5õŸû½©^m0W;?†7% )Œd&¶88yOª$N‡”¤²©)å ¿5>gW >Ó6mÅ"«‹=Üøõõø Ú žWΨµ«`Š·‹¡QZ©›fO*çÝ®¾é H3ñì9ÿÊqÔ~kh Cå§ øÞêܰÑ5ñ.µ#lްïjp™ÔoâòJ#éÂhÈ<#zÎoßv´õÂÕGMXÈöc8¼ ï4±Sš•h< -ÐgñÇzª·CÚïã2–NÆÊ/?ÅÑôþU»`Y¦X—¿htº¼Ê”·1F#/哯šŠô~ÿÕT¶ýiP5³ ëÄXöÙê¹Æ„fõ›x£†cúÒÚ¨ñ˜+Y0Çô•—Yap7îÔu­e}C0Ä‚p´Üê ‡ËF˜_#Þk•Y]·e¿>˜î4¥%äyƒ2‹mÝŽòo¤ÅÏËâõŠTVGañZ=þ![Ò³¶Š– ÁÍö˜F@®RÌ(¹ÄŽ(züÆ¿ÞÖ±ÔâkFˆ‘³0=Cs wMbÀ¬1@NGª­4DU0í‹mÓ/SÀñg€Ö¥üÎq¤æ<x´!]6g kòÚP¶ß—ÂìIœq?u&qzpRÓçÊ–âAPå>9[ï%°JN¿áEg©/StQýf>PªÙ ¢]—>,…àŒ}j°q?UÄY¥Æ5‚gûÍ÷òP‘õÓ¢¬˜Ä@ ®”äGž…f£åì*çØ"8¢BV2Ö¬¹Æ|=˜ëwÀçwÙ׎"ˆ Hü׉(Ÿ˜Ë@Ö»/‚d49… o²@²=ªšý[5IÎbp{‹î™w˜ë®þæ÷†¨î2A[‹ÙßȳTçàÀÚg‹Ç!vÂØdPǶ¨Üî!‰dË¿w3¹4¨”7’ɵÜ÷óöhUñ¬Ïí×1_‡v¿8p¦d5žï\ Áÿ&ë;Ž”˜v›šâºÒÌSñ}ί0~¯Ðh&ÝXÁ~þìvÿÍ{zvÏÓ-+ dlÂÅ6ð ’W]4.Èh” (ˆb®[í³æ@œÉ§Ó*‰”Y£IÔƒísžå…òPZˆQ>ÅôM–Àr—ÓV×lÜn"ÜË¢ÇÆV– --ƒ°á°h‘†ôöûÏ—«È¯~³$QÕ+®‘ µgVYƒ à©È6Ä(Ê!)‚½áG?$ó†)´ó©ý´š±¯5‡KÀ-µÒ¨õE¡ ²ËpFlë‚4IÒì$Ϲ]ÜqHuÀÀQ³·ïìW&41ì¾›vF ­³ý `oÜ­7ÔŒ3¼;$»W*¹Ã™ ÉUB*ò°g V?iClÜN É~Ù`v£EĬµJµ¡Né:‘{ ‘ùBðÚ«Y8áðõÕ§O/%_bÛ.›f¡uõ–yësè¦Èk_ÞÓí÷9,oWÙÝ{†5p÷Ží¨ãB'åÎuY‘‚[ÖúÿŸ  M™·¹…ÎUÑX^Ã2‘c,“ç…Ö­Šãévªàœþ+K^ØxW±]Ϫ;ô{Jo€‹|ûIÍ®Röl-CLe£ð×…5¢£å9 4€5Ú7ü$d¾À†©v¼æ„ŠZ¶v8à2ŠêAûhbUÖwþsú©äåPde|6Ž`Cz‰Æ™EÏH=žÑiãÿ˜}]øu¼>]B’PY74Ä*uõ †\Q‚¼é&„~mNUÈ\+BD®f´ŒþyÇQ³ä·})F¸:ê1-¡ßÙx6dÒc™UB¢…YSÛÉc2I´?Õž¢FhG’Æ£<ïfqKp†—Åñ ^}H™×y)L²sÑŸ ý6óÊd4•ܽÊ_ç5Ü1œÛA*.>äÆuëì¦êõjkØÌöä +)Hü¸+© K1ÀƒÅ ¸ÐpÇv’ÇŒ«_TKVøÞÀ朧O-S ¿õ?2¢¦­L€`Ø„SmÐiVL½–²…ŒÑDÝ, –÷ÕºÓªCTC |¢«Wg¬-Ÿåˆ>e^ðÐjXDÓo~b±h/[*ˆ~¾Z[ˆÐÔþE7éðx›–×¾Ô![ëž7êß^|{èiYI¡ò,lUê´¥—¶#œ‚m¨Ì` d/²pýN"&ª<µ T]A ÊìcYMúB„LòzÑ×,€¿ÒxG¤ýÃ=ø¿Xb0p_C^úf—Œ§¹vtæ™T’§"י੧=ˆš½ãø'‰Ù8áÃJܳ!zø“¤3óØÚzœ _ÑŽëô pŽ'DoÄ¿qŽð\g‰ù… "G!­ ”W|5ZG(mŒºÈlS wŽoJèÂS“=€¯ J¿>Æ ˜•ë( _'1;óÜêå®Ü›ÚyÒ7¾¡šæYg $RjiøÊÒ­X%ÞøÙ¸vwÁöZgW‹â {1“šlÇ¿•µU~ć!,‹–ˆÏë^£÷ î²TZ42†©Öô¦÷“¥÷×)]#¯"OÖ-žv#—3jÔÇÝÖ[hxOZŠ;P‹;÷ã% صƒy©(zW'fËZ|PŽÁáìxHûÝÃ×úâÞTƒØì›ø™!Q¶OÛ-íu\‚maªÔ΋?±Óõ Hœ `aÙÚ|-½}¼BvҪߵqL}}~+fi’š¶ø(÷$ÅM«gÔ\UëŸA–r;] Æ^¹V É¢`wIÂÑ—&å[kûµ„Ö'ë­ðù1³ôë U*Ð÷ô!ã“þðRË´óÉèã¿î޳²±óm[yM™ÐàZl蟂Ϟežf%xêƒ'L%?ª]AœPy¦v'Hl˜Â Ù(€ Þ‘ÅŒ<—N^ z\ÌâB=€(pÝÁ¤qP¯ÝšIfáOgJ¹Pf˜‡Šãb6ä–pý2º:¥×,%£Ü£­#Œ)Ç5–Îsá2†²„“‹°^M¤ðcŸÀæýYeµÙÆ‘äJ0ÒŒZQòy©Ì51EÓñÁ£hÍJÜÅ­3zçM„7øÒ¦8ÆjÙ˜ ÝcqÑVÐ#²é¤2!zyOQ“Ú9çPbüýˆêuе€žé†.ºÅ·r É`ïEƒAlÙÝõÑñq˜ì6lškƒü—’Ò1Ø¡xÐÃb­ß2¦6‰˜è¹ŽÄEÑsÙPmR€°„t×ho–’³F´¨"öAXrUÜ'žç ] Qå?E4ÖÏ~òAþ$®¦á J’ÇËØáòØ9ýý|áØo ³Ÿ¸ÜÇ XXÃðû˜[ÑfŸü›/\“'Kç«…Íwu¹ oxÖ˜l —8.| ¥+ÄŽ¹ðG‹Úo žÅùPM”…X/‚oóaø¥k¾;Ž2ôÅ‚ìJ=þ ù˜ˆ`0øôÅ‘*/(âÆ×v®.ïÀ8Ýî‡ÐqkÊ…¦qÛñŽt¹ðÝЃ”Ä•ˆÛd»ë4;\o¦þLÄ×¹ÒYûݪ0ó\ÀÙ$¼’¡vK3äÊlóNi\u¿ó«GS‚¸0ë=}pª2 Ä7±M š4tžÿP¯«ýÄ?6DÅñ\EªèO@Á[×*I§Ó8-V‚ä ½ûjXQ´õ?Ô3çl÷g·L ¸…Ý}[!y½X½É—ej!º¿`BÉãáAÒ«³¾%Þf?ÃÙ1ÄhRðºR³%ûî`ì¼ONÿ JCCçþkëò¯œ€†Ÿ0ż7…ÖövB¶•œò{wöŠ/|·ìS¯Þ$ïýr89¬½jÏ,¯$áOfí%¬ Í¥k$ˆ‡VK¸ÿÿ¸/ ÜÊd¢ðÕöcrq8Wg“^<$;¨óŸ@nÛZ$Ö{Ææõ›z/Á+T+ñ$±3Î Q!¶3±†sZõ¤R²W¸u´ü´§9çW}ߨv¯ŒÉÁêh|=-äüQŠŽu'#Ú#fÇ/|èê͉Æ*ëãñvOùÆEÕÍâDŽü*)Æ=‡«Ò2Ä Üœ ¢7y$ThV[³üä¨Ê¸,½YIÈ­e€mNÿ†¨ÙzBÀ*’·&(©c¸7Xµä@µ#‰QˆÛzh°Ê ´XÁ=¨PDê*!ÙÜ­€+ßÝ¡Ê~*m\2ǨÙÚþlȱbmï°•Æøbžç8Ô†å%=Å7¯¾`Œx¶»-( ¥é5{ym)Pš“Á`ŽçA_˜ÐïáÛaf„ë=‹LO†ÌƒÎ3SíÌ í5Ÿnb »ê§…%ÓÂpÖ\e,ÒPĥʆJvj1ë1Ĩ‡€ëŒG>øè4àÆgx3жtñÆûÂ%õ ±ŽÃj^ͤ$Ë»Îóè9$åâ\Ì€–¶±ÑÇ<â¿ ý~d NÔëµ…&QÎz=4VÙ@PÏz|SÒ$›Š|7åj{©àË´ö}——‰ÑH¬à>뵋ÒuœW &kTÒ6­q3Ã1¡â„[¼uàÆÂ«qWqN1k^ÈÉ# ÛØÞT äàB7VÄ'Ѐ-ÆÉRºàidŽª®×ÅDкN¦•ë;z¾4ˆX›¦—¤Ô_ëRˆÈߺ–DO KœUºÉ7þ{§Ûù#ƒ¡³¢ßHx‚ëænxGèA¿g\¬¥h|ÆrKÇØ-Œûˆù¯Zgj«!~Éêg)憗8Ut²í@² iÝx1A²²eg¸ÕaÞ2o®K¨#ü=güž0\]ï—3š>蜊#æÃ w•Îêª;vK޹½^¡&væ^? 3\ñ42ÿÏ$e™YtVÅ‘¸[ªGøÙO£öã?KÕM”È"L6@7ÇýJ>A=F§A¬†Óv ¥?J‹é…¡BLn]u‹'‚nјá»/›MÐÏ]Ìôr*fè;“AAFQÒ !ÉUnÎSÿ/(ç¹ R±Np± ž¯ ÆÈc»Ì'¹úœàq4`‹ŸÕzuox?OùÇŽ@¿œ±‡å7Ë3ð ˆÓvÔàG'÷v÷ò¤~϶0Ãvi×4KýÔݾé&$EvÀ¼­ÝŠ@QÐôÀÏß,. wÖïšxtÐu\ÏeCs¡õz;#mc¥ûkê+5çþmðŠ›ëÉ¿ Ü-\þ-d#¸£(F¦l˜û–¢Ô~¤{mŽ¥ÿ!jÚÉЪɇµRL‹ë9uOš äTø È+IBKו¶pýÍzÝš Ð:à;S[æQÝ/Ž÷ŒoˆvA¬]÷ŠvšB0lø_ˆšÊš§áöÔùzÁ&È#áÈŽ6YÕs½<;##6¦kôqxÀÿp¸ËÌ=—ÄÚÛ¾>{µŸ X ¶E¿¸(|›¡ _¹ÍyŽ»mÀç@«²çc` ïp ¸ìõÅØy×r¥xÚcª1‘Ö›R¬AɦÍp¼2:7?¾Þ†˜jÛÎϪÌZ yI’KË73øpÝ"•ÏeKÅpŠ aá3TíhW}è}Ï „ÑÊ$WŠv%'+*[D¾/AÖtžÆ4Êawoà>S»éY:6KôEع Ï³ß YÙË#(¼Œ1½~¸‘Áó±›%Â÷y¾é`{F{²@c9¬aVèùº°J¢ÿu_þPÒËþ¯g^oÕ_ |þXšSsv1ÒCMüÉÿs,GÀ;šYµ[¶*öh§'gòk¼°ƒ« ãI;é>[DV˜¼ÝoÇ„¯g§r.BJ“óœœ51þ&Û¢×/ÿTw÷ B0 Uçí}ý/“®Ëê Ñ/ª›£Â©å³È8X¼~HJA¹žï\„Xû2–}Z[9X,X5ÂËÖ×_ܱÖäH áh9˜A¡cèO­±›‡ÂG̤Aôoö«0Ù\1ý;½ŸΧ¤É –•0ˆ±Àe"uw¯Þû,*±5ofÊpWð¤Šà—ÛsÌ—Ï„¶QdIëeöøÃUh*Ü€E’êNJ|,7GoJ*íe"mCdF¬B dPµîŒ…â1,±³s²g6Ö¶MÁ)¼‰,,×Ú¬Ó³½­èþ˜ð"Å\§ø½êd&xÞ3_PÝñ¹G¹WE‡6g‡ `ä’Mý¯9@èáÌ» ÓjÌ lÍidt IÑzE®©ö ŸöG8Ó9Tð?M¹ÍZ¼Ù@;áVÚ¸¼ëÃ9$—G嬌q²1±^ϱ~èwëp ý7Xh#{¾jîO¦¥~{9¥k}?û„6ê쉹ê\ÿ%ß½¶ÝO%óÒ!5‡HÙQQá%n à¬8ÀÚ‡‹4ÊÖwÞÐM0VŽtW¯—÷I>C¨sDlº1 7rþ÷—ÍLùã C$üÓÁ}Í “æ³Åö]ÒÒÔÃ%¡q2¾^Ô¹diÃüB lH Æ…êÂúÇ\  ÕwË3½í9µYîŠ:åx2¹âŒéaÅÄÎH Çu:µm¾ï~Ò{OÔgß_LI‘Yä=ýnçZ®Èþ¯% ¡7 ã/ðÝš‚Bœ 9®ÂÌûpÔ¬Õ/ª|äPý´>GNœǺjÛ™é+¿kmW \-2ܧ³êü¸‡.h[÷^m§Ø†@ªÆâŰ1á¾·-x̉#jËòìÔÍ4 iZ(E©ƒŸ9ÿˆ¾ó¦æTeô³Ñ@¡5˜>JÛꅜ’O«˜c÷™ÛÑ™Ì0i—~™Æ4¼¬‹…ûîÌkÍØ{ 2Y#¼¦÷ Ëm@}øøØw^4ÓïÜì½'½žÈóFÉÒ¸ìëýKIÎŽÉ:äÐ&P=¾ß:D3…X»E>ü^¿È@:Èt{ã | ߯+¹KÏ%ùŽ{,üÀT¦¶šDbgS›È­W(àO8”ZŠŠ­{eÒIG(ä¿‚$ÅŒ3áÌJ)بFh¨zä ëóÂÜ3ßîçøÊB>pcZc8—4ëžßÉðe‡E„“!°Ù¯Ã”VNõ5"„âUA‚´¬,' h*BX͹Ã4k?Òœ ekÊ=H„t(?"Xg7d¾t¡^dKŸ2åâÝ©//…Ùµ"çFñW(¶÷ŽÞáèïìi‹$G>),ñØy¸ì§)K2;ØÁ„;ÈâîùDíæýª©£ë¾ˆ©oL]Õ¸YÄ‹³ÆH«JÙàN ?w?}æE·øcƒ<\å¸VžXúu&®1Ÿ¥ñ¦Ȇˆ­CzW™’gFZN+Ë]g¨!!ËÐ:øä€Q2œCK#óI !P£íE>â,=ªƒóx±$<ª©íD…Ľù’¦•nP3ÍWãËÏ/K˜·ôVàŠ*±YøêS6`ŠÆý“W» ¸|Vì5àlCM‹Á^¼[ºÜӌϽ²W~¶NY.Ù¤S%Û5O©¨"”ã‹ö߯\>³}¿ýÐ µAÛr‘üÍðM™Pw>¢°¦9T¯‡¯ci¾XÂС¢™ ”gvWÿWÄÅqõ“`Ãê_ŽŸOãp_GÊ`HŽK°KN†Üq8*tzZxBìo8yCϧ-éÏ?û>¤m–¥×`’ÓË5“+Œ 'Q Ì.ëMþ_zVw±ûØ: §² ~b¿ð[°ñ¾€ÖŒ“MU¹`6Dȱ[Ôkfï*ªŸÕ$#L¹£ÓýëàK`WÄø¼ül?w\”rTúI°éGÞ¹ Oø»ê¦“¿†Sœu_„76Xžš¸•È@ÒØä ´vZœ}äÚÝW³þVNfå* ®¾P¶ _ƒ¢™'íGˆ5¶v¡h@‘q±Ê@‡«$#e54tö{ô¢yÍw³¸Êµ L%£B~ŸvÍ¥áæaS9dãïøíƒÉ$¯Ž™JVüyޏ+‘…¨,‘2$u÷mcù7Ùu±AàÜm ±º!1ªbRÿ ÎÜ|.dNgkLuWÍ×]MžéÇÉü‰2âÞó‚ÿèþe) ¡æÞ÷ ÀIææ½cx©| @myÄp l"вU|'ÐÁŒãËä÷6¢¯,C6/×§°ÖvËЪU¢)+‚vöL{3ë}¼§~P$©tv¿ÔSüŇXX\÷[TŒøæWšïåÚmBVæ#8uL cË x·ëžQÓ›ŸY9ùçC»Ý„ $.[έ8%#ø–…ìýýf=*«hDåYQOv&›ªtŒ$-“çÎx†9ŒÂ€²"B?×N ïu¤žêy±ó¬íùWŒn;?NB:j’ºúb:vÄËË2çÖî—ÃÏöÛÎ$g«f ¹å·AH'k,Ñq¾­ñ‹åȹ*NwKÏÿAÑ5Ý×vGÛ˜ûüK•{$ÁóQÆ›ï¡ÉñxŸ 151”®×,µxYñ}¤+¯þ0’©ç jºNi™,Ñ{¤i¶P‰Ÿ¾{³úyKŒé¯7’|(‘r“ë¼¢/á`L×”x%}}‰©‚Yot¤ÞÉÇ„ñv¾ã|¼2J°àm­7u ¶fè·É^ ”›éB¾/iBÓo³} š°ŠHZüw5¨5ƒÔãŽ0Ô*¡„äCšRïXûæ"ŸñÛc­BÂô´\åÙy•Í‚4ƒË5žé³5®¿ou#¨ÛEÍmqDåD ŠheäV¸l?Õ|iÄ,";‡oHº­é"×çHÀQÉZáoݸø4æ¦<ž]-ðü9Ûæ&:ìDMÖ yVnö79d sرL á=çsí%'‰]Áû‘þ³ÆëYÌkÂeÍ åÃ:&çÆ?çyŽˆ8Õ_¤~ð$7æíSðOÆ]š6.1˜ñê{ªâ½¥äÍé\@’¥n[¬ìÜ â2÷á&¯ÀEhÇ!†R{†6N?+) Sã} jd‘Ö¤}¤#$Rç¯þ6•ª¢Ï8‚+¸?íULË&ÚG¿º¸’ˆš‹8ùΚز‘ ºÑð}1i£G?NÈÓ¹ß2[«ip Ðw„8¡¡JªóKz|\ê§²Âëì·õÃÀhK—p_ ä\ÔüobâJ=:Í‘¨G9䦋¼£Ö_G„©¾$­¹}û3æT‹âׯY`W©zٺЀ½a‹t¥ŽÁ^2àâmCú¼D‹Å²}*«Ñ«S𣅌ӌ=–xÑX@PÕÝ’½2 \¬Rn»L«»²Éx4NÀî±:}|}×_á`:3¨}É‚†‹˜4{ÖÚ¹*|ðL{ÞÖ6O9³W L4R© ó ›î¶|,= Ô'½qä³é»NÁ¿Çƒ}±Ÿ >eb=;ª®á“zƒ£hÙÓºë!7ÖŠd@Ю³”%¿u¬CèÜ\ꉸ0µà BÏ`U Sȧ2çNé=#R#½BÝö3k²•{˜Iñ€ClÕçÓYÙðŸ}ýJݰ]Ë—Àc)Œ«<0ôJàêœ_]8¤ }ChRO$³tÍøÔD†v°æ28¤œU®+kIKVC¯hèàØVý€m#ÊÛ¥TÓ#óF¶°ÄÚe¿/£N?“þ0P1Á ÿ>$ÿ0²\œÑÑÙ}ÿg‘ÎÏ žúx5úi6Î)9Y1‰2æRû[2ÙÙ¶™ZQRÀ9Â-Ç¥ë¦F-cÛ"öã“!XÌA_Y¡µIŠÓÏtµ7°ùTÌ~ÿÆíkoÐuÕÉÑQHn™+#¾’ÚÙH»oì¾°µ@ʈ*ƒÐ·ú¯×5“38kW}Fçnx­]st%’Ía¹¢(ȃ@t–ð—bo?«Ç#•PÎò2óøÔÅ_¶¾˜HG¤ƒ[†-œZq R4œl#¸D‡Tî^ItÚ:±y“4da^ÛGmµÊ(·K$ÚänÐkqhPgIo@.-w%¯Ëlfpyv¤±8<ujäâÁ¬köQ€ÀÏÚèñ‹Ð(ESÕ‰j‡ƒB‘ü²2º5‰¦˜&+ÛC¾ˆxŒ ¯W…G§Ý]›« ‰ ÝXß‘Ź]vœo»·Òó¡©X ±ÿm¾L'_e¸ÃLw§üpƒ—Š=¬iáðlEx6ËŽ[ho’"kƒÉÜ·V‚TÝÜ˲G/¶•òݦê’ÈQË—‚O¯uC‰Yá& ¨‘´G‚ûTŒá,År6&ßjh⓬Aîr,;zw¸o¦Þ¾YàBý4°M÷ˆÒ F`UÇó²Òjš°IÞˆ¦n¯­}ŸxJ]¿r/Mò²cà$z¯o`ºûuz„êùš  ªÿWi‘•ÈÐSïëכר–«Ÿg¦ónÉf‹T”¡äÉ>‚O†ö™@Œ)á,ú( ð5Ó©Ž¡òêFóa^ó”a s~—‹VMc‡RQäŽÄe×e†ÎKù´F¸iç¡"±0ž6Ø)[:nKSYcwʾºáŸ? ©º—P|Êã3¸òÛ\JŒÿ‹ í¬½—º’ô ¶*·l†¶oú"ÇâLÇ•ò/=wgÝú_§jêø»)¹Gê1Ò!N@l²*bÀóB‚éü韌€¬ˆl¸4›ðþ¼5 sji!E¹½æ&BÈtèÔqÉ2å]uzãÀ®½2èF+ÇKhÿ|L}oã R²Ô u@â¨þ¥àhÅ\ñ7aÍ\f.œ«út¸—™È®²¥H·±a8&u~¸êØu´>‰X@Onq”A d•®]êêYgìÂÖ,Á@Õ$WLMóí«$šÕ±õ˜Q/(¶SfÊÓˆgþP¬ õ<À@kƒŒà¥¡Ü¹n’}àù¤ú2,SœÛ ÜOmv#:õ6_ÖöÕí´|x„­ßØgcyÁR†'L{Oç‚0£¦µ=š eMéÅò>(zë̵/×}µÃïüêÜ^ÛÞâÒ H-=×uŒëtÛKWØrK‡¯ μSa?Êü¿$€4BÀ†^o×qͼsî_èÓ [ûbßBº¶ÛÑ{Ⱦ½H=±‘M=ž“=cªÅÒ³ïVYjÖìBMŠþTµ G5àöé,Q"é`Ò´°¶@a24žn©öu}?¥çþ3f¹ì‚Óãä Ñ>Yû£/S;I TáÆ!l o’™mmì"ÒZÚºsU&ÿ)'v÷/Öxdl׃zsZÏyô?°tjü3kŠ©ÐË`ñ¼ÎÇäR+\ü\su9¬DÙxXïå&¨-D•……7õhXA /~öÂL-Y¹Aô¿DùCÁa 02lªÇëîZ•«²Ãõ9ÚÛñ)Mm'‡ú ø/éÍÓfUº$Oc£” '’Ìç¶ÒI_ê_ ¾¨d2 EÝqÒcõ‹Ò¸Oá~°5r=ÕÝËI°ùÝÖAGØ]6¨qŒ§í¥¶øåKŠðmxAÂyL¿ì‚¿^¨=ýÿ$ñëáuék (Ÿ"Kªh3Â0=OGÍ·¬ƒ¿X†U1ƒ.ñ¢ìâ;¬Œü°O7JÝ\£¼lN¥½¥ pTÛ Ä¬P=–ýF—¿Òª¤ëœhzhB ¥‘‘Í»ÆÞÓ¦s ¾™¿6 GýÈ6l{x\ßHT—ÚX‘ÔÞ-{Èx·õ$±Ü»?»ñ™òcœ’åË (öª‚,¥ÃlÚ¯ý¬ûïIí“kdäwY÷É~T4Ĺ#¿DºÇµô[J£Hø–ïQã€ò”ó9š6…!wâ@;«0#3¢ÂÛéÉBÁnCîèW¾þ Ð×Ajs §Ï‰¨ÓuÍŽHáò«Ïv,É®7þ-z5¢l÷…ЭçŠ78µ< Ô#6aƒÂÕféMnQ摆&FÖ¹Ÿ2v`"` %ïÍf¿0½ ŸgÁåØEsš‘T W$@9Ö K»ø´Ä nt:ûZÁà¨"0bû[~EöH¤ÛþÞ4‹"œOéúÑÒD³i‡­5û¢dœ`æ¬Cw¸!\zH‰O\d wû¨¸=3“‘ÅB¨ÈÍm¶qeþQ”ëÚÓ ú‰Nædþp ”za B¬TP0¤×¯“K)x}F†CÈ|6ØÒJù›ƒì] üJ?¨'{ºm]M^èÈ&W¬\<†´¯8D3ì£øÉZ2 ¹ÿ.ý¡Ý§QZÿÓP+"ž¿ËÏ?x5c™–¯/Ê‘ñMN>édw5üN€ú'qø¤¤Úziçë\OïªÓmR“L4©üùDí¿z±på`æ5À@~L9Ìÿ½Ï:ûRîb±ª¨IHŽöho­m£iJ“3E:=³X¯5ßlšFnK ½´)gyžÀd ôqszÿãžË³Y“òhËàn½Ã±[`9XÇ܈|M“ànƒï„*2 ü?|9Á”‹®Ø\«NË…—)Åþ¢¥NùƒÈC¶ˆ48býçíwæ'‹-^çk ö`jóˆÍ¥£0ô„pŸßÿI5q›ÿù ö–Æ àU#–þ© ®0a "²˜ý¤CûõÆ÷jFƒ¢íþD˜ÎÉ*cHÏÛb9Dì™5ÜgG.%ßZèë9•Ó×XÅÆÌr€u 6j`'BÌ$3°¹ûΠôT¹üþ–°ˆøTlç ¢ÐÔxú¿VâñUîÅÆáB6Kü<»ü¤–5’ÂyÍîÞÖ°…x™Î]uÙç­üĶà…íÀø ý P>ñ›u6° í¡Z é¢Œ¦qÅŠ×~®TcúÆÃ…Š"5s—yš²vݺm‚IÒЗx(Õ=ÙÐ%t’H ±0ð°ÓÝ‘¦Àº@bS/Š ”…Õ€´üLëê\xgeÏ! ­”0ƒºÐµ9Æ4jRtžuQÆÍzRüh³ŸÙ±¿ø³AÊ~ÊLZO(‹ù[‹ã–ÝF ß¼²f´v•‘µžqn«(ñóŠ_Æb ;؟¹Ø€mYq˜$s2¬™l[‡^éä¼:êÏÄ¢ ‹¨‡øpF‹< ìKïH‡udŸÝt4ª‡ä«eþw¤¬ÜüšAÎ;ëÜ»j5|ß>M7ågSúÌ_=¡L°Æ0 ÈÑ¡0ÊåÄþ#D幕Jf"läóL½zäÍÊ­‰*%•¯Ö†èÄçyfíœÒò(ÔÜ™oÇõ±q\Ú(±K™#KœÏ>¹ 'rGm®á[\ü]w ĆÖ|V‚;{u<1?mÍШWåä• ÙX>›Š¥rý¢IÍ}ðAÎÛ‰Qê͉˜Ñ·¿’öUX±5Õ _¹—¬ÍdK%ožN@Ã#é\VÀç®Øl“Šñ@YÎeõpø©½'Í— mÛÍQN_«ÜV¼Ó|ŸU±\y`;å?–Ž”ÇÓqj»è°æ§DøÑ ™Ë1#a¦[ûYwä§©Èê|“ÚM ÄB&•ÁÉ‚Ó@ÝË*Ws¨*íœRìÒæqXéS…£u>«Êa^žÕÉRúþ¸L}é;4ï†OW’Ùê@”uµHö,›Ëð«¶A× JŸ\'`ÃmÀq¾Os3;É#ÅÙ?·‡ñÖÏÊæ«c®KŃ–-ãvpQâßdä›#TTûŒ)'nîÄþ–:ÙEÜçÒqË€@z=W‚¢t(ΑuDüxƽOè‘DLkò¬aiåM´3ØÛ]°ÖMä—¡ÉWPÜq5Ù¢.Ë£Û$äy¬ •í÷0ó˜š Kú-BЙú7ëŒÈ#è‰ff‚¿æòö52r2dŸrö­Æ^"ZiÃQ¦ÝÍÍa8âsîy> ?±âKuº/æìœéëÿ7¸(·É ,ÉVÃ¥lÛçz¡µ§AVÒ?›S6AÛ5Ò5•Ý? ¯‚f'W Ü@Ë7öiÎ{ìðf(, ÿË~ê"±0_ôµbˆÝµgþŠr¤ÔUÝJÂó=Ià%ª` ÀvЦ¬¶ÈC>gëÍø—§Ùšªàžì]2€úKܬâöOq€0¹9²—~vVÉÛ9mjtCƒ!ó} ¶dÓ‘;äi¦”q¡Õ¨¥[ "\*ÊS†nÿ¨N§`SËÖ¾Í+ ݪH}ÜŠ,)ñ¢&Ù´C¦° .Ôë#¬#¹8^â‰æÒ7ÅùfyàqШ»Xc߆ø.ÔïÒd~¬Mzõ Ѭ’ì¦é‘•ÖÈÜÐxô”&ô‡—¼( ˘c°òý.Æ%ÆüVX³mªbsº]¡Ì«eÂÒ/ø×[`ƒÏkm÷‚‚~n¸XƸœI,¨7Sd³KÉ;$…ŒÍÎy§D6$ÔÅ'*Ïæj,úó¸ÉR½iÇ9/S‘.Û_Rg0T“¢K"Š ì+щöú~4+ÌÀg!“÷*d‚ØU²È“$ö¨uV‰VÛ'{U°cÁ Žˆ0UÒ GBóÔüì]Ý÷›+ÖøÐÕþum}ÄÂÕ£›$O €û<Ù´…CG9Yæ=%>”Z1Ð’àÈ86§ðˆÝo²³ë ‹åÑÓ4¬†n[A°Œçß»[o¼‰‰¤‹â>ý·ŒÞ®XgåËx•ò»œ#ÂQ³¥Ë6Í5Á~”á/ko@á¨)ÉH¬©&Ÿ`: ôüz$wwK“úH$ >zä®È­O_ÎT.øc2žðeÕýòË£¡]é?92ŽŠ1Žpë§8Á¯"T}ÏÙËÓ1Ò× ôÅÛ]\B°)¾T_T;%(ü5¼FgK¸=µB_FžÃØç¼©hGÅ®ïŽûãVÛªôçšÛœÐÏÍp9Nמt –œ‰RšúÚås_Y/Þ)ýLatW‡­¡Ï /s:âG³íHø[¼¼¿·¤EÖ8ÿ<ígFþ7çÆ¾ˆµxÚä.Š“WDB`99rêWkE«´ö¸ TXuÄ‘ÔÏμ|ñ!¶8 ò4\èˆhó˜ïÎ1³M8^àè®p\gúx/.º<Ÿ¯®S=¾{ îúJyÔ¡Pc2Ì"‘jp(„!àÀµ ŸéZß.ƒŠÿyºb¾uj“Ù  (J]ëNë~ÌçÄy¾ýrô·Ò¤¯#?g²ÔF‚©¥I‘Ež!osUÙËRD¶x¶‰Á®u|Ú‰(ôù_ÙË1³¯½q”ɵKžîƒ•7iÌž¤ü&á5”è;a8+ãŽù <еfwiy'ó YH2ÓßVlü ú\‡i:òÞh>cØ ¡›ìSÇF¢yØ>Ü‹N`äv´:'84 1ÌIÎ7é=Ua1£s8Ç€mJéø E „VÁÉW€À™é«|q^ìòoIe“k! ³‹*¦IõO;!µ¥j(<êLH­äã—Â~íæff«å¯ë½f–Y¢O|OŸñ_ œ™Íã¬äºÑ9r+ÉÜ 'qïè'3ùKxšKª”a†lXÚÈm[¨ †kÀZ–³s?íy¼b%)öæBË{uÏÀ¿l‹ô£’¯=nÈAâEMZþ µ¶z#‘ô1Lv+]¶3Õ ëîîðcTKõÇE˜­q|[ÂÌÞFöœ€}¥6CÎÛD¡}Pxø¾¡~*„¨Ääið\‰ 3dÓ+/aåÀS½˜¾Yu™$îemÛznÇN #ÎýË'¦áE-YO¤ž÷~*ÛIV©¢a«¤`΢+ÀÏ 7†æfëȸª~ûÃ.zx£*¯è|ñ¶` ò\øÕXÁI$vR˜sléÜ”386gäpeÅìöpÍ'ó§öï¡L´7*K0‰›UqíõÛG\Pÿ‘ýÞ¢Èæ[Š]@“‚¡Ä"&üå +lZx‰ ’_)õ—!oÅî˶!¾ ¦„(íâ÷;4Ú•¸ïRß…ÁC²êºZÚ.ޝ‚bÜ ™ÃÊhùð‰&ЇTE „ßÜÐ â]øÏøêÉ<ÛŠ?Žœ†…5Cþî.êHJæK½³ò Q…Œú(È^[¤º'Kz˜ .aó‡Ç,A9îEJœ.z®;màÕý¬–ssâJG¼ò¦`›H  ÇŠx<îj‡Íÿ|…’ä›|»Wt<| ýT×~-)‹æ`g•…邞jÖVrv•^¨4¶Ï•Jâ=1õéµL߀|Mz•IQ¨{n,PÙsB\q‡]£,ø"lUcýœûU¢ âŒÃº SŸÙ°¦æäróèîŽé‰!ÎÙØD»ù݉ž}ÔŽÃϦ×Ï»¨Bõ ýS~ݧíOÑýE.Ú5"?GE~îâ4ÀH\ê‘]¥)Ïǭ좞„Á,Ži4€‹=¬ûöîx/Cò5*uòÚ÷µö~ÝI¨x0Tƒ? — Zø+Ü竊¢-sÓµ¢’Ã|໵=Ãxp9oм ¾gÛ÷Êœ<åL·SϺâÚ$}aæ»I3(ñç–ÃáW•Gøa¨ªÅßïÔ°Ì?Al%Ü#¹EÞß8.yÙÿS!~} jK5±H&ƒ\ЇêX{x¸ÅiÜ«]¹™ÊÚÑíúøàZÁI~ :t×<åä•OMk†È6lc €Þ7ù4Í-J€¤‡Ë÷*ÕÈa$Ø' {AɹZ¦"•q%g¬U[ÈÄœZÔ%>Õ5 Iµ7übŠCâ§GWe±Ÿòó^¼Ü'ÿR5‚]TÒe¢R+ÔÌØ?M“f€ÄhÙVàÎC² ²nð‚B -¨È €£ï_ k²+ït²îÆåÚÓÏר‚DºÊÓî…¢h·žA¦\=‘ ƒgçƒlýur™_ÙÌ1Êyø_\Ê»HÔ¶ÖY‰w¶É·…)£ AÒýß f4ÔóÔ-èy”`¼B{†2¸ÜˆË¾©Œ†ªTR¦±šÛfE5'}CÜ•‰LÞž Oñº"wèowÒõ÷–ÆYz9iJ1ÎRŠ –Oå ŒêÓý®ú<+>][ä¢À2Ô)Ñ 3Â7'¸{ß½£Ö6…©‡2~-÷ $•µ¡r,ÇróÉG@L‹ùÇ€+žìjýÁSÊèˆà#5Ó-i¦UùUýø;«`‹}‡h¼3_nHûŒò`‡ÎOÒN›è>î¨pìãAåÆÛjÂD­ðj¬ÅFa´7@F½màqO ¡&·—k2‚Kk×1¶æ’¥Doµ¿óù2ø—›üóC²uîõ^d‡-K v„F•EÏ ù‹7}!+Ù‰ÆZrþÉ”ý¶3øpÍz°–|+Ó^Ã.â,%Ôž¾3¶[Ï&?Á±²¹ˆ¥øb¾º]ä=ŽOoù Ñ.tmôµéeÖ¿X˜Êʯ„œK¸Á8‹FlÂ{JàÌF½Ýj:¼(Gñó²#t4ÿ&”skO¶26fÞ|õëSÒjI0É.´Žüksœc+Çý¡¶ßˆcSSÔþ$úO|5n9ûjñ 2q”©ŽðZËdPâÕD›]Ûéhô, cvœ$Ù97 ¡f€2©nà“r=¡¼½â(i2b”TãDÑ0©BxfûfÝÎI¹Z‹[¹®–E¦‹ò›¨¨ÿBiµºÂvx_•Kœ¨—‚ïÄ.Y‘ñ¼_žá<ÖRN•ó€¶œºÆˆx0 ZÎOwK§ëóõò,ÎG×êAØä”Ø!k¥ù†Ô9X «Îjyx|:‘í ?åâ³7N+nâ±…ö‚&¦ÎÀcwªÌ¥hœ®â%Äù’…»»À²ÓOºM¸:….TÅÇÛµÆᇬç^wV¸¨PâRÈ©‰M÷ÎÖOÑG™ \ë*<%ïMp×êæãeÖT (Ç?„xÒ‡%”H¤ KÑõßü—w—€UÜ«îɯôeCå8š=&Ä7z`«`ú öv*~‰£Ú? ²že\IÎm;î{ Ô“@ƒr€jŽWg +Bzp:œ¯Ëm~š¡h†bj¬º¼áÞ%Ñô¼v±‘p…\ú—.{-ª*26ªîÜÝò½çþѷ牌¢º|ÍyÐg„GïZ9x y_FÍ%‡cÐþ>K½¯½è¼Ð7%³î2Sé1ŽøAÇsx a¢9Ÿ(—H*xåÑ ñ’…â¨üØg`l=ñ€z¿a"Èø ÑÍÓc׃(Á$Ì+¶cî7X'®„Õ° YW=ÐÐDÍ NdÖ€æo#•Âà¸é¿ ó_iÛƒÁòWUðjW*˜•­‡5ȘJe•…4Ñ[ËšŠp ÅXl‹°÷H¨hÉÍý:ᮨEN¬A°¯L(r’WyKhu×Së9»P›(~u2hïNÕYø´ð ït¿¨•E!i"•esãrÉt‡;Hëƒ1æô!Þßð¯ Úç5eÃ9mæÃ Æ'ųS¡Á·Az@—øqiLSx­:ýÄì8aSÿ@p,ÃË¡ˆmhlWµŸ=S†±Ÿãñ Æðž1=©nD¿Cyñ¿ (ý[çæRȉÔÕ¤}QR ‹ï€{AF˜l <ga¹î£ÇŽž¤Whó» ºEp=¢Æ´†ýšÞþ÷Т)y"(Íϯ":£Ï¦5h âˆˆI˜'¬õª)"”ééì)þ-jž@ñ£BŒ*‘½|²sÅ ÛWT©<Œ–3& ƒ@U0ÙT ×…›Cƒ „•t„ˆ±þ¨qÝ©ÇÏßZWMÞ0aíMÞø1ü—»2ÕxÛVy¢â©Vº•¿çÙ‹ )ýHWËy&¢Þè¯ÐLÿÿ-06¾äõÄö.S2­ù–)ŽÉ’PÜb ÀvP+­¸¦±”¸]zñðH4ü‚é°j̇÷q ‚m·Û¬Îqc–ÔÆ/ @¶o§ôy®V‘Iªlì–jÔx«¦'ïp Y%ö`á%“]‚å<Øb”z ʸP4!É·צ­³Øn7ó˜÷V³ÿŽ¿•ß©ŸCS[?¸mÛÛjÛktÉzmnŒñ 2”Óü¸Û·%í1~µØùÑõŽ:¿Ð•c¹¸›çÝv/„ñýZw(úèm4%qßÐìZùgÛ‹Ê"ÎDز¢UM7È L„Kj”£#÷ªt¬Ã‹®d:1X½$üí¶šôCC"¡ÞdF‚tü©1‚¬²ýZ7ý~߆¸6„u‡ø$:ª§Êv¸Ár±³š¶oþNºƒp·ô¹I[®½g¸¦ØÏË{1ð*Š[œÏ7;ü·Y±Ê­]A>".>/!q9GÍ sÿî@¦íéЫ•ù@ BºÃìõWHFšžD™ëô1€…àÿÚÍ' çIpi')àˆ)"›ê‚š®Ñ^Lyª EýáÙ‹Ž*1&&¦Ú>Ø^Ö¨ï&’61¹Ì`ßL Yu6Z’}× ½¾ ÝÈ?ñØÒŽ«$’i'º@qVVÑ…Ž8hp~c³ýj­¾ ÔÖóÙ̆”l• 7¢ÜŒÈô8XLfäïbFW<¹äep…P(¼؇Ê^"ã#Ñé”ù-II]\ Ÿ}3gZýQúHdá’Ò[‚ÿ Ô"ÉÁ6ô“\+ˆH¡{øj·"GpÍt¼P ? q%•_»Ô‡ÑKθc.Q]«¢cÅw«m.¾)x\~„g²º¤¶Zyƒñ>WuøÜûï €ÒcäJ‚[‘Ôd‰Uý€"xVPžÎJ¯©$ªH =SÑ*þ¨àðràË^Ÿî%kùÞ¹  ­uj´÷C°S5ìì˜^]‡~‡¨æc«‡-ÐOÙT[þ&•xGŠ$×RHS úbzõ|ãªÏ|+„¸2Ua|ÿÝû ÷þ{WçÔ§X¶› pJt‘Xø·-WëI¸aQGš7FOÖá—_ß9`@žò×óä¶zµ!ƒMnÀö9œÿ¡ve`zÝXŸ$N¯SWD3ÐLòúæºOôRƒ_õ5ÂÿüK¹¤'É-<ËŸÊ„9ö Å@côP« ðÒÞ>OÂø÷Ê:æNAŽ©/?ì¡p»DuSPð•¿æ˜J­,¨2§ƒ[@þuÁ\¬Ó»*òYJÚÄf. ¬†`6-«‰Ñ«pe1Ë:åR,ŽM<™bøGÌÉWOg°J 2[~È¡6ƒYHO'ZÞ‰ªE,¶ß²·€Fïe§ÌKLÀRZf´¡F༑ =rØ@p¡»ÁÁí¶ªÆßÅQó™“ç_ÀYfT.¯èÞ(„k¸Ã™3- ['u#|çy4}шw¶“à ™ÐYBñ<µœHî0Fº'ºùÓEB¼ïÉÔÔ©Šû¡·Ûà&` ¨'–ð-þ¼ØJeÖQÅï+}=¨²äÄØ'ùµÞæÝÂ/ÊoãFãþMÅ|%ž’ÌÏ^môñðî” ö5[TRw¼Õ5|úŠ-™pჄ˜@ºL'÷Æ6œ>à€¨Ø'¥ ™ @rN¦D¥ìÄß~T¶°Ý9= 1dB¶ZÂ%…â³Áv0)µºÖ&Åں9ªê½0øéïbò„-Ö ž5ê”DÍx£åjOßÉlªT¬T÷÷ŸØ?õ7ó,'oò Eh« _hŸa¦Ý†'ÕN0ø4{Fø(¾}æë®£c%e¡ñxCW ùo¨4&ŽOÖ5q¨zÑøëKoócD‘8áÀÈ8h¬öÒUä2O"Y;Û jÆzm0T È{i;q$–lX¼ARÈq˜EÉ8~¨‡" cPÈIrŒyGAÅŠ¹ý|õŸc§D&½Dk¤VTïTB)_îœXÖ¯»@Æ Âíí™ÇÙ$V#ö7Þ¨hdâ¥o‘ÕQ]é§Xð%ÆABóìJ8HÚü/ÖeÀt«Ã˜³PÙ1è”H[ƒÀ’ä|Ú)ø¢éÔt}Õ¿ y0¨Cà”´ú"å®r~,h"ÔÞ‹Y—ÁžYÿ‰¸_n鯺~IAs5ćl¼13ze0 ;à…XŽçê;ì0>g É ˆ‰w½<á±µðÅCž4e—È£v 5wÖ:7»DYvÏK¤ QÕÿÇQìR;tG@ |~„áŠÃŒµªêäv–ú÷ÊhœBó^Ö&K€7'pÆÃîc­V†_œ­¥ë #™³‘‡>µrXÅ7úy³˜I<þϤĎ,Ôb4ëì ¾˜­µÞÇÒ °‰äö¿_oW¤»%#äßÒ¤¦ç$~©Çéÿ”ë­òç¨^ ¾2ùsy'µ WÌa\üØ!FSÒÃ[³+m"àÄ«Õ%}Ž®NE2`¼ùÜÜÍ0MRöŒœóß”!¿Aœ^¼U(3£-*Yg ®õæI_8Ó¶¿£Ž' ~ ³gȧ$RuˆW©ù­™ðÑ•ÝU—× \”ëÅ$"CœñEû›GËÍ[ :lþ“aò>Bó¤"ï¾îÛ~õ©øúS39Wh¤8Oz¸;ž/q1¯R&ˆ¾&ûí]ú] øƒìà²Pè›v³ä9z&]Ò™Y/eu»¿a•©àÊ|‰ëÙ R¦å³Ú‚€aó-3½Óyþ×;âVô«k»‰¤ê-(v¾¾M® J¹h÷ 0LKo}öS·`:ì ùÇŸ{Ôl£ŸO ¦0õ"¹ŒÍU#áQ‘·‡¿Jlz³–ÂD+î>]a™UÈ´‚Ò> ]8pqª"GtG{—–ýì‚ßr…v~hÄ&­8¸Nç±ý¬0Qøj¶Ìƒòݰ,ñ‰*¯Àý;{ÃŽCj ‹D˜Igà—›ÄŽjËÓ_g7ƒÄâ >û º¨çyÝcJap¬ýðîf¹'}h™.Àºñ·¤RMð.™fõ*ÈÌeý`Í”¤”¯Üÿ)¢“¦+[ÂW>‡ÖÔ…Ÿ¹âwÜÿùíUÊ2ÌàB¾¸-2Ï_)ÎÍ£0…Ïö “èÜðw0û÷¨GšÜƒ¼ŒñB``s L‚×Ï †çÛB<Þ¸yI¼VðDE6üÕ5çÀØ !»S®: :XË}Üo© SÛ¡3›¦û£yó½ðçÃÜ|4¡æFûb»ïI<Ô¢XT`oø¡;P¸ü§hW3ê7ß›‘ŒXo²îÄ;ËaM‡sç­~Nž7•pþvQ”_I‡´Fn ‹KJL©QŒAÒç“Õ7‰uTé-ü–¢›DZ ÑÙ"¢|x¶I ÿj0ªð 6[30ŠÞMÝP§{@úRPð+À¶ 6ºq^C² Š€ãŠblvb´•óO*JÓ Œ c /ÒX³ À‹¤x ò4xjº‰±ìúdü ‚ Þè@‘n)î–Ý!“û9º¢I8÷tÍ&|ñŲӕµfÚ«Üê[fœú.t ±0d>pKO-±[˜Èì"jM6_˜ïbáÜÞ0ƒ§äìvøñDö¸QI_¸§è N6<«Kª–ÄÿníVt0&ì42Ä‹Èc4r„lioº‡h®R¢ïrQLØ.i¹)$hƒ~~Ébw±S+suXUûß÷ÎÓòDzÉüC{8_XÞdX.Ž õ¿øõƒÂ¾Ô‘»e’K-ÃT7”¨eIÀ厀"éãÑL‚èþ½yâνèWøe!lL£–;»f[O!’ÅÉVÆ­€J•ûÈ(Ïœ¨w5E´âNµÔÜ¥ô0ÃH®†[©Úy°ªÏ‘ý24ú«ÁïdŘimÅ9©9%Ü`gX\—.Ú…Ò_½]ë1UЃ©òo2ë— ÅÆíÐ=7.7‡6:bͼPRMÊíc 8øÌ¶iØÜÚ>´Iæh×Þ’Z;ÿÈ¢Ð&i{€‰˜Â¶vŸ"ñkºTÐéK; K»sē֚kXÎÄ·Þ¿®."óºÑÅÔõ=±f쇩ž‡s/>¸KÙGyÌÝT,î#xæƒ{AâkcͯҴãò¯Áq%aÇ!¼5óÉ7ø,îÿ¦IW¼w.T;ÃØÎ&Z]Ý«s»â¾Öc6QzÎ0ë×fzÐû{ùj óA,ØZw šq&£ˆ 5èòn0kzu:švÜP!¯‡V·rš¿ÑûŽük YfCÛu”_uÀé¥(bõÄîžUt´¸©'yL§ëÏKæHY„æ^{®8oŸˆmkÂuÍò¢…îFÕùeu£1±ÛA…_ÜG#øËÊ8e§ÌÀ»—E"î(HÕ°GÙêÀÂ|òñ3O¶÷Ì.ƒêyíQ¸Ô=æûNñP€IŽ…-ë‘e"›ÐÔÒ‹ÿ>ÞU$Ôü³KWxJ¤Ü Qnmë‚çùØŠW’Ôè`ØH|… <“–ŸØ ‘H‹Ì Ê9=`IëÕڣͳ·—›%OZ¢©dÈŠF½´1mJª'Y¡vÜ£·ˆOÝm}ï Mˆ)þü~›ÒGäyˆ”nô`…ý⌵ÑÍÆ'ÔÒæ½ 1óo•(‘EñŠeƒ¹sjlŽ; ¹ƒGxØMÀföé6‹Aq¯m]³óæ¤tw<%<$͈?€LvŸ¸ÄÇW(¬ò ÎBF¢€0‡¹âŽLhø·Á5T€€†KýÄRxÏðvCp†éÞÔ£BÕÞ+®óÎ(»Ks䀒O,σm¯ŠX óºTÜ$ºT¸æ{5p2ìã  Q(¶ÿix‡¨ÈodØ-Vüç”Í¿ÇQEÆ— £Éâ*^£°——°…ÍýIÍL1QA¾s7«$—×®Ê_©Ý'Á\Ñx%•±¥[æ­F–ûøäJÎf#V¼Tùš›Ð¹7Ó£«†òRuô¤;œODZ}[¬÷ød›&]ê:ÑvzB>M·U7Qß{ý×»:ØØŸ§Áj-­‰ JmºgÄ™dqøš¨zqÐÑ;‚·#è1ë8Ä÷úØoA{ô‹Ìùz†dszL5®þdÊ#Í#ˆ‚¬(×ü;\èäîMÜ´2ÅkƒcxHŽ`ÊŸü ‰ÍÓé4ÖïçõiB4¸¡¡ Ì‘FnÌ‹¡²€Ç¤ÒôÂ<wÐpÄ)·òº>šœÌßËZtçW]@ ÜæÑªúy!9?>Šk×ëšÞëÎq5KSä¬a!*(ßЖ)k=|#¿C„ßS8¸7Wܘè ÿð%‘¸ eúç›ÔÇ—|Hb¹ü甚½®.å|_°éØç@ðµpMþ|5>@xÀÜMÖ„ Ü™*ø·‚[(-u½Èä˜VþV?•&Mê*öܧP׬×r8~9úK³¶*L;È ©W·ö5<½f8dòћǡñè—z5ë…˰ÀUì)F¥péœY’À}~]9wA] mˆù¸ØO„çJÈ\²–ýV™ÐÌ{›Â!OAýzØ þ()ß®Ùõ™È”P1gÒ$#F’ŠIà"à jªø·|b?²¿(ëžÐDU¿ÉÆYÿ½âîψæFk±sÀtûhò æT ‡ý+Û£@ ߺ•“î\œð‹R!Ç[uMΘù=¬Ïù'„ïÇpýà]ä[€õ"¶”£<[øt]„àô4MÇRî'y3æâÎÛvö±¤åÁb²sý[ªšjôyÐÈ©m°ÅêyVf’”Œ_ÕïX¶Q°ÜÜA` Õ PÝH4[S Ôc±‚³ˆï’äÇî=6dò¥%N”ª³/¦µBŸÀ¿ 9õ{4¢=‡{Ø>޳Z ï¿ŽÄ¯µÂÕ×{ªË[oØí6KãÐ.Éò—œV.¬0{¤]k:ˆ@]e’ÃêÜÖ¼ñ3KÓ?³ºørû úÑ GÊô‹øc“žÄ$¡ZÛ°{çÃ.Pc>âz+©_ùTå[DøÂ™ÖÛÉ.É-\e‹@UsJ ¡—Ü&å×’ÆfË ¥ÄäÂøëjM½* }Û¬ÜP)µhÍ‹Zs>q*fÙös}ÈfÏ£¯¥V_jKu}É¥Ÿ÷ 꾪æã»A/m„Dù>øwÇ" P7u»yî€"e¿¡ó¬x–šÚc=4×—ðáƒ]½ã$s…÷Ü+ó3>Ó…ÚŠÕ)߯_ÚÚ&‰ÖÍlîi©6µ;°AÔ~’1\zíÆqlý‰a´ùfUõ‹Ïe¡Oö„W“ƒß•ÝWÙ½¶ñÃ(ÙE]Šú:ÑqË8“» ¿ÿ%Á¦‘õ&õäø4"ªø¤çðIfy2èÜ,óCÁË Åa‹Qメ¸×…Û:Ú ;j=˜x˜îî«Ú§Î*>œ‰ÚNÅœhx‰q":T+qs; ¨Ÿ:¤²š-~åˆz-…sèÛN¨Øæ'8?!K¤¦\áÑ“½Î™5=;œ–²±ŒuœêÐýoÒ[ˆõòsîÒôûÖv:.ÑÑïÀæ…¸õ-äPW·ÑC‚WjÁÃkÈ(ÂŹî$ÜYÐ^}µ¸ ² ˜?hÖŠÈ©Ðî6® ?IÍ"åç;£Ñ#pzì¯EèÞßhòß+;Íú]©_j^Ü.³ÌôûllºðÎÉßjɽÚ=J=®]8C'ùì¯þ™‡% ýÄŸ¥£#ŸÚ®Î~ĉРn¦¥@DyZB1BÂîð©ý’ ð”)Sˆ"„d“3DèìÒ›\¶´g=ÖôƒjPõ°@‚4̧f]Š¿É÷¶˜7þd@K£9 ð§á½d"¿·ñ:Vm<•Ú°60iè/[0.P·%ÙBüŒñúÁ_K-ê}[Ü{-ÉTpâá¯YL¿Ó7y ˆ¾üÆô£Ï^4tˆF¾eë÷C^ðÀ»Gú‹G|[Œ0¯¡ $ÝØßï©¢˜ .ø{’а€Ì|ŠìëÃò•\¶ ×nöÂ8X|¤½È%Or©³ozÊÊêÒÒ‡vX ùòÔê–«ÑÖØÒ8,èÎ2²HæˆSrï yƒ¾g3»nÔz )%ç‚ e÷Û,°Ò³Üy“ø8Ì:Þ ¬,DÞ À„ëÿèt"aº’¡¢\½äÿåÐú޶­Ú+ “œþgÚj.PýpÛ¤7Ký¿eYZˆpk™!ŠCfË2;µ<;$ÿK‹Ãµ,ZÄlf8®Nhܹï™ruB`œ‹­ä#±ý{ ¿jˆšâY‡Nº®ÃÑno€!ŸÓAT˜@ ¢:ÿ½D ™˜Ùt ÏGœSrá>*ýSæ±s—=,J( ÊÄÕo>ÿ_J½âÑ÷‹’\a¢ƒçå!M·l†hS£É~1”–‘OÒÖyÿgÿŠ#£v.S˜’S Ë]²Ä¥â‹òY“6%®tƒô´èߦ¥;³Š²ëâ):†TÉ{ùV³È¦§¥mÓ"éMZñ £ógÔè~:ÿ2ë)Bpÿ_¤c(Ö§jg¾SéïoËcKÞ®Gùßl¢Ëîh’Õ ®kâï\1û¤ûœ:Unò0\ u ðôè¨'LDÒКfSQêfúÆ ¤¥28Ò²üÏ-Ën¨[öôRI|‹‚Xþ=—¥KctÁé´V"XUNÿ„ÜÒ¯/IUs{±ÿص{SôŸ\<ÜùI£ð\H=)’.‹ƒYÂYþÐb8¬¬{jįò†"Ì— GÅÖ=I$òI‚àž¥¸?´]¹[¾iD8áU[ 30š°ª¶¼kæ|œêÖ59‹dÑ ¥E_ï¨D{U8Ò½¡£×qœÖú?OïÎ mFÁ¼@Ó;;ñ‘`àîK¹ T©œVÌgÅê‰v»}v7(ÄùØ–XöMM‡´¨;cº²ô/øßœã§E.eà}a…E¶“úÌ|ìw ¸ÞÄ£QdzïÀ˜KתðZ˜T;tgµqGtªu¤8–ÇFyÍ=C23¨}‚³'¥•ÚŒ×*ýÂÎÆÓœ?:;Ä÷öÃ×=Út\ßõD§¶ u*˜OòiÈ£ÝâOS—ÒÚvoa´íëZQ˜C¼M2ôݬ^Gõíc³êeÍ6&SÕϯ¾>v×})õª7ºY Õ)E(9žè™Át=§ùaAƒË=ˆ˜ð;›ïˆÁ¢R¦côLïERè9687¤fð€Úª].÷¶÷Ò¢œÏ¨fOÞÏ|¸ÌTRšÚ¦Þ0pˆd&os+Z?Ø+ŸÆÉq |uÕ*+Èδ£eEÔD0%᎑Îuþ9W5ìDÁWxûõ×áõùÁÜŽÛr1Q;Ðõnhóë3Ê—JdP…$eþGMÂèûü$Hë”ééÊ/úm¦ök#ÝP ýŸ’õ,·¼—5-0 °‡¸¯Žî[âíÌðLce³s?¾ÿ,~²¸6ÑŽ¦€ÃL³›O”a³ûú‰ø¯ŽFN|Ø 4§âÄ,átLøÿ]aLL•"cº§M ü†¡Î%@ÇGÛ~ˆW•½ oã ÀP˜?:Cˆd¿“›È;‘‰†™Ž Ï^¬2ÝËXÊŒ÷c­|UºS‹2ͺ“ Ô%Õê‚Ð÷ß4 n·0Q¢ï_¥6‡_ûwï¿ X!µÉ ¸Þ=/…Ø‘öÁþEeÒÛ‘bà¥êá¸Âí^´m9Õ¹R =ñÆåøòÓñIú}UñxCÏû*-Y s¸’ĦÎ,Âlóšð¿Ón~Iß>@¨#å‚€¡X· fj¶‰«þ‚Ãw ÎèójkûißàfÖ"¥þãòj\·XL¨Y–ß-þ÷õµÙÙPN½8º…ï°´âCœ'®.o¢"/9©ºÿƒÿ$àeÖ»‚*ªCÇ“ÒäªD4òÈõ!œ\¦?c¢»Ë]QLd›Û`刱£\cßcÎlúXÜÜ7}F”ïhŠô6¯VÀ“…ç§uÈ–…b ÉJ°©#ƒˆ"1F«“Å-§ZC]KA\•ý.)‘$ …ë‚)ÊîGö|9[‘Å eê×ËIvŽ¢7¸ù¹ó«kKÀ²K—ÆBÖ½yÝÊ AŽ›>saËÄÁ¥«ŸÅ¡,‡Òn{ÜŸ©×£ÈÇ#:§y L¥Ò#÷|òÚ5C:§UÇzvÿS0²š˜ð‘góeê„1 |’L…¤_38 +¶þÜïë4M &"@k“,æAºJ‹by”Ùw‘¢ÐÛ‰ãcrÖ˜>¼©ì­F1.âÿ$¶n§v\Ì)•ÐjYh£E£'ÐîÓyâ_m[6­ ïIšR)wvVþåñ*št¤}Œëxšb´È…’lZ8½r)Ž”ªÕŒŽNËm<Åz{’vw¯õžœ±vö…A5àæŒÔ‘V„‚«ž)9",Óz%s¹NWîûp­ô1¸E•.÷ î‚Q© 8!ÖãI‹r žÿ—RôhËÙuýÖКŠjë5|ºç †Ëcs§¹<àª©é –;RÇ’¬aá{K9iÛ-jÝ<îà;]}=òçãaÉ÷g7ÞÇšñTÓB-õ:Ú£¼ã_:CôêÏ‹–\éØ6e‰tÁî9vué³nùÀ¶ýžÑ†6]?éƒá.·ÖÙêL=ÄùÓ„šCW„Ô#“à9duèŸC uJP^eËj›‹D çê4I@€¤Œ‚ ;1Êk˜ÉrŒ°»úÔÞÛš»{gú_Ž+^hæqFA‘–>Å——m²žhWïŽsÃÕ=yéÈhÝäQýíä‡ ’YÁ7¸h½2É·9ãÓž/† )¥Aå=Â2É(Ršyû×8Ùåpt|Ë鑧ʾÔôM’à‹ªJž75a&ãØñB€(i Ó_¾ˆÚb¬ŽE59­øŒ0ë] Dª§„ ,—ïLP‚)àž‡®%–˜Tg1’CµoÅy©BœÕ2U*Ú3Fs+ LpÇwÎx\±ëž·½“Úy_Š ÅŠ‡w†ÛŒì»³m[”©Û@N´°nxs9ж9V´ zN`UÜ~åm”æ¶t§Äî5µÊ„¯n /\¥š“Mt`AÒoC¸yÖu=)V> áŠèŸ‹bÔìûÍÓ:ÔÜa»ªÚV_¤jÁ®¯ÂÊ¿DAù ”«Úн<‡ÿUãÕ+ä¤ Dþâ¬ÿÄú7eéµÏûÛ“2ÓQøŠõLïFÑÂdNFͬR9]ZzÖ‚¸ ;ø‰ ñFÿ Ú $|,ñ¡†t›Â¨pêèzU´bï½yvjÖ:‘i“Ò«ÖcgÈíÀy÷¥Kµ®nƒö Z ÑZ´£Ô[ž¿sžì(´p9VzAdCµ(L!?-‘š€ežµXÕ’ŸÍLµ?;m>Þmóʰ/ ‚SCÊre÷avWû2¾šžœº[iTÏ5¦Öi~äB±³37ñyGG^³®ó²d?®Ú,ÎÞÚç ÷ÇÀp³x,!Ц(èwXý W™ Û'›r”‘‰×¡9:±e¿(k(cïôÒ¼«q,Ù·p¢æµúà“蛩­»Ûºãìl+1V=ÜÌ%ÏŸ•çq ²hMÍ#Èp ¬¾±t¬Cß³ª×nuظ#%SEõ #UŸëF ™Ýøï·á*]“ΈŠóú¡v(:\nyà àzüŸf– 3Ö×ÒÙ8±0~%{OT¬Í#‡¯7d¨,‡‹Ú8YÝ ràÂq@~ûöúîKa˜––©Ðž]TƒÑÁ‡Q m°¿…etâ ý?ažà4V£c¹2¾[]¼Ë Šš°Ì¢88+Š›|¥«6~ñ<éµd7vñØÍtÛA0³Zù)63F§¸•yƒ—•ÿ63«H“¤ÁT0ŠóÜÚ£y1å@|è½!©‡;"Õ“9Læ,݆ þcCÙTÈÅlùÉSŠÏ…àUí[¶`¦ZY^Ø~…)¶»ß؈“~L$Ʀ@{cí.€>[—,I¤UÔÌò]ÜÔ€r1á´ {¨ð@ h¨ÿ×°üIûÀ$q&­œ< {à´ XÌZŸìFÔ(rÄP°¶Ph†× ï{D™ç`ƽßU©’.…_>]—šâÓ¢tŒ1~á0W~¥ÓµHŠa°RßKéÛFðG’­}µ´‘t‘ØØTïZ<’í§Œeñ©V N Ël·Ã»TÔKˆO±À@êàKMÃX°ÇÛýƒq÷}»€ïÊSŽ÷’K È‘/þP’¶×Ñtý5¢Äú.¡ۤ«ù?‰”áp@¢YºóªºË¼0«î—r[ó%@VÿSeä‰Ï\±]ªNô¤WrÓSép®°ùEÅ•]Ä,a¾FÚF“ª®T–]— TËÐŽ9Òq/×gZYçÂ=4î–Ž-ÄÒ#Þ§ýmOºÒ<@ÇË`¾xõÒ¨ }@,$Œ—_¦aïN¡C ÔÝ$Q0g[ ÐF»€œ¥CÁíK¶e«ê¢kUÒª¸ÞÍÃ_ú1൚I 'ŠžEŒ&ßGP&‹§ œ`©ºÍ,¤¬¼Ô³§¶zkh§+’ë½ÖˆïY>ùÖ':l²xÿZ“÷‰{G;îPråvί83Tÿ/òù÷Ó²Ö¿ç)@GY®°¸°gðòU7èûÎt›r¯|Þm_qŠº©JerêtkÁPý´jùËnJͧX¿¼¨Æ cy²Ñ%V¿¹ JÕæX“t²Dr™ð ?Ka´ZÀ¹¢ž*A+`oUé4}„~vë öj{oëÃc@~Ú°|r/Ñï(—Ù]-FÉ ŸËA)jH—Oªù°v–ýŸ¤GÛ¼¹fìøÀþ8áï.{DjéÚNüo¯/SòÈí¥®ý¬öç\DpÁÝåQ] ‡að°î‰X²zêÊÐm7ßýÑØÌhdX„b-øÓ›FÛ®}gI’Ô4&šóoÌ$Z‹Ž5d ‰qW¾±¡¼6«M°ÛhÒ<+Õÿ'Zh*zg#¤D,ÁÞ›º«EŠ§à¸¿ù2ȯ–*>úw5Ú-X©Ä¹ßRx%óˆuÅÖÅ™?u9¯72fex5»xSéæ–pbFÑú…«pý‰B–Úº˜À«ŠöûØì曲ìJ¢§ì¡^É âEÎKÉÿ¥éÀO|8ÔΓu/Ä{~lº<'”w€Ž»ûipYœW8c§: v§Ä78>±MæBDF¶;&£Ê5áPK¦ïøì›Ór%·ÆFßçZ¾³Gb´.|UóÚ bû`Ì H˜›Áñ"r-½¿3Ð\.³œƒó›*½ƒHr¿¾?!*g¬¡ÓµlŽË‘/vg¥ÆþJfìÚI®”‡A÷£«.HMÇÃ]v×ÚÐKÙU«÷=­„)…`xþ‚åéãn“ýù˜ÙîfwÓlãßn#›NÀ䒺ᗦoŽÁO6¬9EÒCÑÝÔsÿ¶ÑÝô…“GCƒ¤ü±oM¯t‚û&ã KBÞµÆ"õàJJý唃ËÝÖOÛ+_&çÁØVLv*ž‘:"»¹jB0Ê‘’\3Ë ÔÙá­×Eu[wAnY¾@N·wæ R¼ß'ér[U6Çü[›Þ# ¯+á¢~ú}x‹KÖC|Ç|Tø¹-¹Ò·!uÏÇqb· KéD^Ãu·ìOÚ¾ÐÜã#'ü€»„hØ)2^‰.`Ô(!KÌš¥Ü€ë““©äúÅP’ÁÉç–·ò@#Èd¶œ97 Œ»âLiÎ.á´¬–Ê=ˆ\GOüÚ9>¥9Fy´š7ž1“a,æ ÿ¡NñÌHcž¸¯«,×´ÐË«?úËéiØ"€ªt¦´F‚扭U¡4\sÀœ1ßo8æ0 W¢ÇlÒËIÈÂâ*›ü°ØödbØëì™k8Æ;6†í |çe£'VV%§< ÆgÀ£F#U¼o-‘v>ùU ‹¦zå È0k¦AZyG™¿Ñ¸Û(KÊ*ëpŽêÓz×&\m$>ù´ƒ÷7Úš7±u¯ºËVßøÞûêûü‹IY6¸*O\Mì,œž©¦ÒókŒ.Ú\ÃVÒ-Âù SçgjRuò}wæ‹Á}ÿšÌYôF¯ C V]Ëîì>Ö^Þ+€b¼7óî#<ê·,’=P³VÒe,úÈŽyv™­ÿ_ ‚¾ÃæÈ˜æuÅ[-a‡·Â:ï‹dm\¶¡r™©,þoV²¸¸Ü$ä%ƒ0¡"V²Ï˜N=u& 3Ùqölpú8ZR9\²c“/RâMÇ`/_dÞÄ@ö\¿qjƒ¿“U1‚.…Æý(¢úÞêçÜKþW·JóhbÓ”Ýí•aL½\;‚a…‡øô—¡s‡M®–l@,ˆá ð7}uGP’ˆÚ®l³ì¶‰žÇf’oJÞmO6ÀÄã)ÓŠýXs³ùeËõ1S¡¿ÓSøØ½*ŒÓíT=?‹JßÜЙ˜d;Ô±›&è¨ðuùƒ‹%çy¾'Áüœ;pm ¢.½’KØ”ò°åÄ_A‹ÛÛ]…Pâb~NínŽÉ%Þ*þÝö¿Pÿ"‡\Ñbkbw¬¥wŽ©üž«ƒm_Qç‚1x.>µË<¢îÿ÷h#k\¸-'S¥9ý§‡^ø{¤÷ÄÉÄÃ(V×½Lʰû 1ÎUÖ`;±Ù´FCx.õƒKÑ32’1Ú§BqàwöZ™–¡m:âi7좂2Ð0½v?%jjWÛÀcÑRÖµ¥é܆R^'RR¾ˆ`ŽD]ϵO—lV1³êÃû–-G±k¥ XAæƒ,#?DÄ‘¾´²s–ÍÓFk€çÌÑ‘÷˜„¶:J…-ÞÁÞaM’<ßOr¿ôšèœu…²¡¾)×a5·û†–¶*/q!:Mœ®ÿÙh ÉáÙ&t3È„ªŸ3”ØumºmƒÝEÿu×±é-_AÇÂÄ÷8Q5÷S‡Y•<êAÍïÛ÷¼C`·¤±†”ÀÓÐ3*»u_"—çÌz=·Á¨ówŠ›žŽ•˜"¥ì-4uêŠýÏA‘ŒP\xióõµÓœ¥’•JóS}ÃnA]χ 3DDZŽ&0îHz]q8þ|Âãllpƒ°Jš-Ýbâ–VÌ]jÄGTüºc=×ìôàçsp“‘ð½çí#Á“ÞÎŒøŠ ¢¡ÿ£¶“SŒ÷&M¬¾à3ã›rþ}à¶"æõÈôW\eÛßÞ$ùøí*>–[Þµ.GÈ[vy˜zJDû5 Ê2ñ„ljž<KµYÞ››£¬™Ýþ‚M‚pwç³SoʘÃ{ç‘Ëm0Çø٬ıp\8®Æÿûxºt¿AOcúøç&‚2<é.töÙ¯RmŽÊè ”¯ÿ$cí‘Ò¤Ó¨ÿ[ëóYrþÏF‹!|„ú+—öùè´Ôb»Ž;U~ÿòÕ©ïÀhe…©TšaZYF°k5¨á+ª–H" ÿ”bˆƒ]¿æ«úåcv¦î‰ØÃ\òÛ\³µq¾YÓǼýOž‹Äñ¨g̺”­õKe{TÇÏÜÏ4}ÛtOŠ:K2Z@DÑb…µ 8Ù^1 6믙Vñ†=8 5~³©N¬Ù45zæËä|F†<\­ÑE£† ÷ÃDý²ÞÙ‹Fh«¼+!¢®g‰T¿Î`%_¨Õص>\õÎÜz›qi… .çpEQU˜(ÅÑó,œƒ¦Âݨ{Tcˆ¶ƒ¶·`Gf=3^rá´†Û|§±ðDÒ 1pîv¸‰Uÿ¯.¹ÞlFs|Ëç!?^D*òzçm1c ×[sï¸þ1Ø Ž£•nà¾e¡…i ¾ôÏk“5§6Óú^ž üq¿Ýň[‘”Oè¼w˜ï¸Óv–“.õÁŸSAùAÛ¦êc¹{ãÙê'…WäCC2‰ÃJK1§4‘¿ƒcé:Òb–r’/ÖßÌåÅ 0gæ=óêÀQF^JL¨œ¹ŸJS¸þ^ˆ¡TuB"’1©€¶½a£¶“9€¯ ¦·,á–±äúñîÖ%Ìз ê!ôà= tÆËAÞðÙ…QõÝÆ±×óÚA `Ú¨áõ¢1áÐ5!%ð?s`L‰=›ùØv´ÞsTkwj¼z-?”pc+L‡¿<øÚ G+@:ªDN¢A<߈˜ýZ‡ž•–زC¯z€Vš +×e–s^+T /Ä[šÔ´ŒØae˯H³SË… Y‘Y?>û¸…E ÉÖÌü¼«ÖrÀc¥rQV(<>¥\ _¢{Ù ÿ3¯/ª*Æë ÆÐ ààe—ͬZð-Ž-”&F™+”ïÄÇjoÃvºVšñô"×µàuE?ú´"x£½Ò†höˆüç…oáAÐ!b]Iìçÿß’9eÓ1ì¡]+>H³r‚åI˜ñ!TÄôÕô/d-’yb)Ù¥MY®É+w;ô"<³º§®(VSh<³úw"wQæ×eøEú£³EÜŒU–Þ,&$Y¢†ç;cnÒsjþ41z÷Kä{ßwþù†ÿÖ¾O¤ä‘ÔÌì¶y÷†þç|r?ý.xlŽÆŽr”¶½Â°RŠuã`#ãÅì~žá>ËisÚr”:„-´'? -GOŽmï ľª/´giK91 OÔ0ñÅ×ÿ¨¤Sθ±ºI?yÓÂ…Ø?άECç&$wbìþ23l¹•ÍÝ>8X&š°JØ®‰åÛöÚïvh-Áô üâð¤,ïù™›.ÿ†˜PßgÀGu']¯XøJK…Î⬂…è¤c!z,ñ¡·IäÌ¡=!Ó‹áƒê(VâM:÷~ðÿ©VO›‹Â©”Æ?¼`±È .Õ * ½ªwUKâƒkÌ/oרÑ€á=g²´[XL+q˜ëæ;×2´ÓŽ¢ÛàJXêˆEt€¡qÉQØÂo*j÷©ŸÁõêoP‘ä]œ˜ÂÚØ²šü-—^+”»Þý¤€ÿÛÆñ›žÃtGGGl#µ÷¡ö±>iÊR?Õ uÝD¾!¸ Ñ{¥K4¹ëXÖöê´»Ÿ¿¨ PŸ\v…B¼Ö{þ‡€Ì'\¸ãµ±ô_áyÁ‰µ¸`ÑBñýMÓêcd¡WÓPmÊÚ.ITd£ÿâ@£÷jjɉ‰+tR®¬]¨À‰7Šw@ƒ~óÔžbã‰|*Ñ!‡‹Þ¤¦û{#ixJRŽpFu,íSëåQäå“0òàÛ=G¯w£º{‹ÆR.V$4zö-NvÞ“ÖðõÉ‚L;Ë¿:&¼@}o°Wñåò›ó½³(fY?V awQ} lŒù'ˆ~Þ»›´ÅÃÈ#•Ôê.n³D¹fg̉T‚ÏŠÊ,òfúÁû’a#‰zÿϼhéC|0 ØÑú¡ š\9@}?åHç{·p·Ù\ˆ<´Î' âÏÑÛ û°ÏÜG\ñà¢lÍ«È'Ø,oÑ›S€“áè½Éü«‘ȲËçì‘‚|è¥î ^¬ö¥; ÑžqT5èîM­1øÍ Ftûã*Ðà® 9 qÊÜL(tfGk°yÔšì•\9‰–ÒqºO¶ ê„ìJæò~P?å¨üÓ°!ðÚµšÉ÷7õÏýׯh#{Év?’{ÝB3U¹{ó „©>¥^ ýRÂ5î'd:ÁÉ¢„œÿ8%¯Ãú&EŽCÙASó²Œð~ëdáÖ þ,J=Ùl¥•(g=É8ÜiÕ\ƒ"Y~Э…‹OÏn©þÄ™œ³âÆËh_€ôÏ• 4‰5ç’@gS¯îR&±)×imÓÖŸêä»7uã Ô(v’œº°!xFÃ[cÝe9‰3.wû4± 5ÔF!°«åª2â´¬+'Fø+¢š„L*µNî*.¼&[W«Ÿƒo “¦´íå3ÃàAÜ­,LBа9„{Ô÷ÚB,–µƒŽÈDCIå'Iâu:ÀܪzòïÂú¹73MdßÍéÑø’¬ò¼éÑžYÈ ’Þ%R?}¢<'·¼Ú ß¼!9P®Ö2îýÛ¦ DÂll,^@>1M_[#ýeaá öx¼€#ö³Erø i)ïž\×}dßà˜1bBLCÔ“«û” N¸xnyÔ”8þÉtƒ­xGÝ!¢"1œ† /#¤h¬$7¤ŽkÎ%ÐÑôu~ŠÝ3}V˜Ê`Îà9îÏÍìYðÌœ„Šß„_ä@ £ž™ ®5•gÄ«0]H2­xv/a(©.r‘”Ãý¢ëÿ—Ÿ<àª*àOÝÜ®y Ô†üJЍßÐ$¢öp.†ŸèžS/¯;ÓïF"‡O÷]½@„Ë»ËpWz.Äiy¿;Ù Aã¨bot·Œ¿¨E¬…©TÔŸ9IQ¼ß2Õ‡M[šáe+Ü’=ðöaÿs'™±BŸæÒ×»c³—}\_õ?÷¥S|¹2üz¾Ê´£5 u溾±²±?ä±ùÁ/>Ñæ®íuƒˆîgöü‚îø3ßäš­½ ï·Y:µmˆ <ö”­ÛYáÇ‚uf~.ëS'à+ ì´ ’Qvöšëü·ÆŒx_e'q¢„K$õÚÈoµF wz¿A~¿ÙÍ ÌÌoPžü‰ZÖ†é;…=à ‡‰ÛrmöÂèZÍ–,Í­Ü_¦ÔUŽ#í­ãK¥Þ• ¿3³á¿¼µÉù&ãCCóÆm‘F»('r+Ÿš ‹!6«,Dݲuµi"Iˆ'OÕ³Ÿ0M ø{Ìú§£$ÄIðLÑSç‹éÐÚÇÖV#î²’o”ã™'­¼†EhŸ~.Ë);ŠŸôþ!2"MK  ï» œ‹{\ZëÑÂT¡¶®IŠÅ_¾©#*Ƀ%á”žŽª•Yé×J½`!÷1ð=ÿ }ÅØŸ§—”h_B“w¶ ÊNü1xm$ùzïÐÑ–ç4PD"š²z/½°˜HtBI»ßèß?›B[^‹Aþªz­»jE?öžt éK zÚ%\h³·£¦ÃÎ.G¸]=Î*D’¤1+Û¤RÊ‘¿¯ÿ«f 9Aé? Ÿ†æ.j7¾Ô_çyB|[ÒÅÏO<íôÌw²%àßòžQ¨H˜¬nk#8ÁÂWãÌBÙ‚¥²ýtûŽ.¤%%T@Ú¤é–áÐ\ÓAÌ‘‚'Ø»ùó+!š+¸#8? ‚pþæá·Ò×±Ž$Œ \ã(èÁ'‚«X„­·‰ 7U€è”d~RäBŽYÌZo^CfU˜Í…úVéP[E*EŸ·W—^æœé¤RÕ!g®wÕzéO‹’á Þéwà¤{ßÜÑA•¹!'z§M‚‡¢ u¤šÁ\ðZÀ˜H} qžÚQ“ïr@¢,f¡‹šä®TÀ†”oJ)dd[müUãC:ÑùùÓúÇ–ßeÿÝOÙùÀ¤ÝE¤€D¼‹$©EËàμt¿4-žBU÷Z™Œ®%µ+Æ„†1Ž5í´öL„O ÓàkA¾öÐ^‹fSðàŒ:IñÌ«Bh=ºÉ›±{ó,옅3Uzõä‘Î#ª2CåËÈåÇK`R* Zû1ÿET¼P¶Ì•ƒ¡S±:ÐÌ3_”qD· 7¸Ót5=””HÑÐb£åJšxPR!Ûª‰!ÀQH|i˜±TÛº°¹$‘5ÌÞé[¤Ÿ°lËþúã1ˆ‡Þév@@\uêƒp–Z™¨_\ë5U·1ϹE®o^ú!wÔHOw‹½‡õß‚Ä|ø£KrN5Áll &]["ÊXÕIÄmwnYš„±Ð³æc9éøé+€É®çøÎ-q˜r8… õGš‚s˜ƒÖW^Üè:qù"vìRÑׇ۪`99eMC^Î|ÅŠnùYûö +ó/rsÌEŒøùFµ‘¸¯å¼uá°óºèÖ= §ñ€¸'P¤öÝYÝ›¢ý»Cì’€¥Ž ÂϳfýÛ‡=4§¨(ê¾ÜI‰W›øåñÇ£<«V§¨óÄuÉR“œe¼e··1Î2‘ÏûÖ2Wç\rGÖEîPÀ(ç%T=IàÒòò¶Àµ*l]52¥„R¦‘/¢JÏwyAŠOœÚn^3r)íÈž~êÞ`\E¨: ãv>·jÅõW=)-\AIÖuCè¿`'à*âÆ1DÂê÷Ý¢¹´xŒzìE¥¾#ic Q&KÃð´+»Tfúg”´R'/Ê”âƒC‰L¹†j±û;4ÅД*¨ãÐx•+‘F:ª‰¯7¶*E|2&x,¯êÓFÀ¦˜ð{ˆBpÀˆÐ£jHÍ(£üÐsÊQµi†*_‰z’ ýç®ØFêãÌuLO`Ö^h—*ý• 'é^A€EÍ•0ý¸ŽPùÅB€ßÖ÷ãsmÈÊÛH”Êô³µû2Ry.¢·Å[ÿV)¾Ÿèlÿçåÿ¼Gë‰1(Kc¥´!ÇŸ\*8ÑÕÜ(ÜX(‡¾gà}­'ŠÝöEìâ5r" Û³6ga‹¹÷þ²DÆÙÕ^ß!/ª80žm"ðe¡Ô'󸆨éÈngT@#Ö9…HßœHñcï¦h<û-üg¶Dé}NÔDà#Ùö¢ñö¬Ûi%ŽŒ«¬Si0ÁÈLœnկ˲[ºþ"¹ ó‘&×kdueÑkÅÀQß6Ù¥8f­5îêÕÚåî·Å¼W1ù‹î¤„mUÂÌøÓc³¿`†‹m²DÍj—È|¡ŠÆ¦c`\þ1+¯ž@ĶÇYÊÄØsþÖˆOË ½1BT÷^`c+< ´‡ŠÅ¬bPV{óKµ= ¡ñ¾ìü+ëÒ±´Ã¢WœÀÌâÝük6Ü+˜öPØíZ^¤  ¦ýq¦M×Y™þ= ¹áNŒËaί -mˆêDÁo k`Oäp%¿®dO`«?KƒMlØ+¢Ä€ÿѼÙ]B£zk˜Ç9éÉûõ¡”® ÏÙ~+{§~ôha‡%¬zø4¾iª\ØN´ZíäãnÏbÆÒµŠ´Ïô “‰xä!¹¡O»[Ñ(¹ø%¤˜ rlQ98Y rÓþDÿ•Þ@V´8¼Â'B„Õ¢÷ÂJ"`TÆR£ªFŽ4’+Ií1ºÔ»gÔoZæ pŸÓÆ”uXÔdêj½Ë ¥Úk¹qizö¢æLRº¬Eð±uƒëÔ.„ÈW;*Á¯¬]\|Ž8±Sÿ¹9Ìøv]È–òŒo%QÐSS9ú@“íÔîˆ{ ã ¬‹x`ÔàmÇ®ÓýÓ‘$¸ 6tPòÛäøÌYv P<ô²òuO‹Ÿ3)'e8«ïfi\ˆ£±NÁÃ2´̵+´ÑIB¹èÒ9¡ T²aO.Móµµ6,šØ| PXä{ÒúÓMõðqçpíxÆ{F7÷8ù7]7¨œ¿¶ÀyÖjÜT¢÷…þè l}Ø\Û›ße¬`•Û'û1jý’^—o$ÆÊ%ÇÜ …ã?9À­Rc$ß$ ÔÉ«ÊhË¢qê„ú4Â#õ<±FUÛÒ±ƒñÉÀÙº5½‰_Ñâ«Õ¸[zµÉ ;âs%¸?8àùU·ï¹N”¶ŠÅ1[€« …ý .PÈà—‹‚É› «É£’­ReíI\PÐrn¼¸e×®v³’ìfoLIX„K²úb«°»°&Qn*ÅxxE´—e6ªg¡”®µ.$MÍÛ âì½Èš£oq¹×¶Õe¯Us,ŸÜà«3Àw»§ÓUN̯£åùj K¤ð[y{}Cš?iÃw>ë—+Žªˆ”Ï}6v ÃYë°o¦QÌ6$Vu3Yh‚Ô‹jW3æÁ³ÅMhŠTCÝþ8QvyÏÝ«E’H­ÐëÖ,¯@ÑŠë$åèL?åНh‘‡3zá`ó—6Þ¥hkŽ*<^ÿéÀ>訜¼­¦^¨v3Z„dÍ;ï<ÏUÏR¾F{¦|.$c#Arã¯Êªá@z˜U®º-vÎ]ªÀ¨¬§F¡Úí~Ê(a¶X×ó‹àÜR¾‹'ÝÂI)/Ÿ‡ïbb¶¾Ý²E)‰Tyí»ÏNöÓ䌧3!nEL]lÁ«7 ,ÓÄ$ír›¸[ö ®lÚœX8;…mL°Û×µ÷+A~§™RUóª_Š‹sG‹×¸ (ªFK?Ö¬mz¿Óeùp ÷ÔܨsJä²ó°Wø'~…‡•Ì‹žsÜe; §j±ì=vÊ„r +u³€})­¾æx´g%ï©óÜÉwQ& @ŽÓáÞõNÉ{ô åŠñ!…ŸV¸ÑßÍB¥v¶†º<9ô-x}]†n„Ðæœ©3áÿ(KÎ`HéºÒ`&[!L:ïQ\üx0ŠÔ]p-4„æ”È¢b¡zȳã5"…÷ÆûmêN |ùQ~ Glc³.ýÚ_m!0¾g”•QK—hÔŽü–Ÿâ^µçúÝdÚÙÝšš7hßé–oQŒ)2÷a>ïeoÞ@¦µÕ¦ärö¨Rèƒüìáý$¬zê%´Ïž†Y†ÍûBO»èn<ãŽF€ÄF¾!Ø`³`Éïw%0‚ÔLÁBÄd÷cwO…ŠÞed:,/˜ÃPÛ)ê™—sÑó»Û[¥[U';« 1 6LqÎ ’˜ŽðJó„¦arˆ³áMÿÄñ†ã{ׇ;õB€@¢Qa”JÕCyQíŽöƽߛüýZÛÍ·;ÝXº´·3¯^}ŸQ<.?%Ž,аyí=¶§!yúj _ö¹šÂ) ARµå  9áËô³Â&á•6ý>t¯Ù1ì6‹ ?…ìˆGE“†jš(=ÀD.XŹ“g1Y¿§»ÎS#¦  ˹¯øƒ{ðò¼CdŸwéRF=ljOÿH1èýhœ=!bšFúSæç|õqX~uÕÅ…¿ò) HFGËìÝ@ȃòZfrœœ½þBÃç4¥&ðJaiü{±´Ø]mœÝ e2F’ñ/b~”ÎßtÌ>]›™/\,Ÿ>¤®²%s?sKÒiQówY©6xô«y–ü;Q¹ÇF‚×åÀ ¯çÖŸð ™¹Ve:s´±&ØÄì‰$Þî<{ãpl9l’d¨k +‰@Å.Ï^z–-ž‡ÕI+bÞ™ì –;LJw*_Éé뜟¯i§;C2;^¡Þ ô&.òƒƒÈ‰k*VLÚ¸b’§[Ф®ÔB Ðñ§äÛU¾Â¡‰Ÿ±D<´ú™Ø\Øþ÷ÁÀE¥‹äee'3_äÆ¿ê¿ë¹ Ÿ«ô+¹é/›¥ûOVçª Åk’ܳ¡=eBäÍíìA0þBÆDÜvÕ–®F"јïYÕP% réífºÐäögpŠ·Tcp{¼Ça¨F«í&áÉHg†5.üÑ^V`fÌÒWêû60l~o Ž]å1ŠŽ­Àé,Î!|ˆñõIºPøã4”–Ö-KÈ$Š¥ìd™@©Ø8'rÑÂukHÿs‘í¼[y‚Ëmf×÷ bÀ¿àÝgÙpˆÝøC'¿F†„~¯\GlW‡ói½îŽGÕ+ÓÝEꊱ ÄÿƒK$ƒ8÷‡:9̧᜺ç´"în L˜úÖ6ÛÔúº_t6’µ7Œ}€Òúï HH¦9¢ÁM:j¨>èí*ëî½|óíLTa’iìƒ; ÊÂk,„õ‰àç €Ø±JÕêƒ;^„n.áRAœÈm¿—àþH)b¶Â¶[¹ ’% Œrn¯‡V%ÖžLfYù‚¹RJï"UØ’‰vìGàȱš]‘e„hc˜Ù#6Ô\†±´d¬ƒ¶ k4?r"ìœ×ý•]û=%11¤ ‰Ç)Bû*—Áá2 …E]"Nª“Ž’Rî‚D/` 'ׯ#™Ú$îBŠý%ú° òÝ=Ð5±Õ›¹Þ"Äâ:*DûĨµøD`#7±¯·)÷iÊàõèûêªÈlFºííÉ•"æ¿ì©Ïyó3V Ó«0qª>‹Ò ‰XwŽ2ê’µ»âŠš+4 û]õ~5'Þg­ÉÆïˆ;?›?/…ߌäwžÑ8Þ?3¶‘˜1ÑC·¯óUŽàŒ+¢¼Ì"¸Ÿ¯¨ôNœ»&[ÂoR>>g‰\ÒúšF:ôƒ€Rtd°VWÞ_Na4íö*$‰µ›#"Žøqý©þSÎþg‰L'4ˆX,±qNw÷¢¾Ø‚ s)‰eâ ½ÇÙÇÇG’^•£A×åsÇ—9Ç…ê!¦0t=Þº¸V}B?|еÐðînâ © œ00¦~bg<Çhº‡ç¹6±ncƒyÝáå _Ÿö8ÑzСþ}þ˰d%+Öx7xDàl:Ž–zã->GäL¹Nì9·ØUÙå³à†©u5/¥Êã`FÊ¿9°Ö¤¥ô,ÕKèžb7ߦˬ n0Xð¶”ÍêN‰+þiÜ,ðp¨T9ï\HSUd0–4²Ûg»å¢1¡~qM. Õ¬Ûâ'õn’÷ð‡H‰µaš>Ìõ@áœé­Ð˜ëeWøÃoÚÕÏøz£}R¸DxÒZ^½,e9 ?bLn¾…ZU •Žù³‰ë ¬Ž§Ja* š•úv¢Ö2ò9ʳƒ%ÀMzOËRî’„-ØŠï¡ÃlÌ!†™'¢LÙ‹–_[„ô¨Qõï_ÀBËéøb[ûŠ˜WvjÒjˆŒ Ý™Ãï"±R!.04P)ËïW¾>þ´!l^Ñ/w)ÊÏaÆÎÁ2gúI–M÷mc…€£b=>“¦TðÙ´h_„SEÕMBYSmâÙ¡E.¥r /4¡ØRXÜ'â8Xñîõ— ül¨±¿T‹Óˆôc?!H ƒk±ð™ÂQ"ü$6ˆ‹á5É"žùoÍc±A×ÖI/ŽÖæ1‚°Á_åÑ]w•š› îÒ‹òåó¥~õ>²ß÷ññÝC§¾L•8Ü+ó,ö!ùhaºµta´ésõ4ãüô/—ž`lº >4ªV™›†Uxy”… ºgعRðvÍy|€ËU@&ñï¾I 5ÎÈN̈ Ââ–úø¾4°7Ú0>ù®² ·Ø-¢—†ªX|Ž z½o篬4çE‡M%[¹‰‡ÝÖ øcBÆàþ™\®pÖš¬Ö7Äñ[žªÈöÒ0X&d«1 °èñÔÎ[«‘4 Ê yù¹+Éír…2)í]üˆ„z3lïïYH§p0-ÂÏ=”Á…ðØCIº‘ÐÜet¥€0aþáàœ—ÀOy˱r5«äîT´JººM?ÉÄOàe,üsѶ{pusf­NZËz"ÿÜè”y2]ÞïÈ)®I5Õœj©òÁÔ„{°‹Y¡.ÝÍ!ßì§Ö®÷4Û×›5iÅ’§­¬€Û+n0RŸMRn ¸Â˜‰(é%~Uá|Gð#3òppœ‡‚\Í:5yö^k 9O’°ŒœTÕœ—=íÝ*ù”¦”æ4õVòêƒx±ë´,ÉÔ¯G4WA=­ô±÷£›ÂHý Þ©Dü%ii•ÛzŸ9Sêòc=‘Õg{uìäwR/zפ‡ofp¬X»ÌUFe‚‹æ%®ÄØ8ì•–ÍÔÀÆÏ½Yb§ªÂ8Z7‚võ¨ðìã÷¯¤P€Ä ÀXœ.è$}Ç+,£Hø»æ3Ø&X~YcØŌÖ|Z‚yÝvÓ:ïeÓ®äH|ÏýëT×.÷ ;>i–›8à”¤!÷¤m'³ƒBg‹9ׯ!T.‘•§ïÜaÛkÖ¡l=uåÉÝN “ÐéC«MfõŒ7±¨_Ê\d'Éȶg³gYü|ÈÔ¹»@‹E²ñ°iûXa–uäC®ìr¸ÌLXq¯?®åGŸòT,.û³*&¶N& dpâ†[Ö «ÃÕÏŒÿ¾ýZz´ýú_Ó&r+O¿¤Bx“w•2¾!ŒRðžuˆöÔ0eþ 6Ž]ˆÌÄ©H¯\°÷ëq\çÄÓÑQ#-H¢ñ¹NYº¶’ưà{b —TjI}!…uבnž«5•e§Ìzç"˜Fy–¶"Éá ÿØÄƒDÓïìnc?!é’I ”U#ZCœðï?ÿl="U?Ÿê h?çuQÖH|­ R‹èÐ[ìÈ5ý, øk xv@Šia“ ¤ÖTúÃèY0ȯ¦s«…ÍÅ•Äöy%ÊÓ»sÒâÒ¯tãda<“g~÷Sühµ¢U¢)‚JÑ_迦`k”í¶ÌIç6±ƒ­bûr”V«ÝG(È©) Šo, ´È–Жíý€»qqEžå­‚žþÌvâÇ4ª"ÆôõEžL£‚tz§—`d5Ög#X5‹DD<ÚÅ1æDîgËŸ_ ÍoûgÝ+Óݬ3nY¢!üJÝ› !ƛŌ+âd¶t|E±ñÝŸù?«Yka!²¦kpäÛï xŒ/ðX˜K$éaiÛ4¦()' ßX€—H´Ñß×ÄYHljÃ:>°!%÷ؠ椩#égTwPˆ"¼³*Õ åø}P9È ¿N¸(-”ÓÇ]ǧ°QRéŸ"[ÊÊMúó%T¿…Ó)NÚ’Õücªo_Åì¤2ˆ½"ݪ *×bñ}ä(³.vÞÜw\³a>u‹Ÿ8DîV°íêzƒš\Ï×™JÀÈínùÀ)9×ùjnY`t;˜Ú~髌ç~°Ô2’Áê^Ì”ÕÇÈhT’ ºì=—;cÙYá+Å a­ Æ A° ð+ÕeQÀžÅI›šGC¯éYy5õʪ’x·Õ?e¦sÚ´—ú%ã¶Zö=%~C<,B^Ê9»‚mP.ž§|(‰c¬¬rÿ«6¯î•çæÙªÉ6?*·6¬®d)Gø´hÎþn²ÕÛ 2²@‡¬ÖP«ßÆ+ÜÆ`VÅÇ1ÝykK&³›+µ؇Ëñ”´"]˜µ¤çVWG…¸«Œ@g°ôad} EæäøÐ­›`8º5t|C®^ÏM`#lSZQËŠ=¢¥YNuù®ƒË"Ód[óÜEì¹c‘ŒSóˆ­¤bz¿UšÉ_v ¢§“ÿÁÉÀ¬4Éà"¸irê©×ÐÁ$å}4kgµ›ÌþÇ—E!aZØ(šPôñ ’V•…õuj`‡"þ›Ñú¢Ý,©OÄÁjŤV¨¥êêÛ\RÓu*, áeS½§%ì; "A™¹è“¾ê®w1~D|ÏlÛÓ˜^žJ÷Gø‹.z8eñ§¯áT7MÝøð×+ƒ™•£ˆ…ÎØ-xN¶E TûÐ,xïý%uúr-‹(©Ñµkˆ«ZÆY—ݺ璳KQqÒm›iô«‰Õk” â 6£eEϷ箾aï"{úÚì¡I’à0)ÌŠUÚ†rżÇL6NZúN5oé@$Ù¹Úè›Æ­ò•æØ+Y…|0 ¢x«µ¨•ã(Ú³œÂÄFuÏû.ÆÖ8âw y bXÙý†Í¡Íê3„ô5óô‘M M‚y©n³TZм–âº@µºãNmÖy.yƒwŸaEoòÉžÅzù5$ÿ¯ì"9:*w¹Óx$œ†,}asà„ÙÀ¡ºœPòïöë˜íè*1{<õ±…rÄ„ŽL#^½0¨w2Ñ[Ësa¨zeÏÌúe ™•d<™‹Á‘È»2‚"¯ÜàÞqv60Ž0Í럌ƒf¶}"'U^xYšLž-ª‚7…¾áÑ¡~MÇýÈYœ*/¸œšYºHRˆÑùÒ‘³ÕÜÒ™ùí@vN¦Â¦–ÿ¢ S?›™F7C&éŒGÕ-™¤_NÌXÒ¾’Œ:A/·ºA˜:A;8cAëN¼ Mzê zË9dv±ó¶ÄXŽV0eT_Ä3É)“È2 gLOÃŒq!ã3NîÛü ·äƒ™!NI&HÐa—É0Ia$`/{ñU°¼–bÆŽJ“Q‹tFT°ÕqßsS4”Ÿ”e½iÐÚ&÷þ'ýž‚<õh¿®/#H1ÝÔ v4v;ùi{7„ï·–ð~Ý {)úÛL%Ÿni¥æP]mAñCͨ_µ”mÛ§|tÿ+À×<ÄÁÛÀ(@D[¦Ž¥ƒ!ø¥b#²36Ϭ+ÞÓu+ s4 é¬÷B¥íõÙ ”þz·˜ú!ûÉl|×Ñ“ºÄÝGniäÏ¿?Iè^;ÕåãLRaK°8Zx¦¡"7M¾\àƒzñ×¼qíg®½µS)öÙÕæOR1%˜«Á{Hã8¡¥2d&ÜN:;Ì áÝ0¿l[ÅŒÑo œü0a§$(^@aL¡F}ÕVì2¿yØøúô°O¿óyÚ§Eîža(,Ñ«w‡>é'¹úUEÛR!ÖÀde¿ƒ<¡Å!]B7±ZÒžD<)é«Ù¿TîƒüºQ,n¥g  `É›úk÷×Ò †ƒFÞKÔäÝž …—EL%K4dFÑs¡¦ .,ÔlŽq®eyh:\Æ1•î±a '¤Ã¡X5~qUZIS4­¼ÏøxÿÉsêZ”IŽî"Âæ´GyºG &­²~”5œÛÛ:+ìíqöøaíÔµáæŒ Œ„‰;Ýüô1WA{j· ‹Ô"ÞG«¿ú3P#{Iá֗нíå™G­on"(OrºÚ Ån`'\A@âߘD-¡÷®¡s°Ö€|4åpmôBïô!lÿ¬ú¥OÿÃzùZ?ÖËã³é—Oû°˜ÃËFW6ç)G.Ø(¬FOϦaQŽïãø…všªHóµ†2½ZÁFG³ÎESëy_÷äê£cA¢^ìgæ°ü#’î£Âs1Ùçn›±#—TKH1ÖrB´¯J{ƒÂ£*åž,U¬æ\çôâö yB\ùè3õxœr–•ÕëßulŸZz\€Ël­%„Úv·3J4LñG]‡íÁNþp”–Óǵ‚êxýŸN³LJQçTh5 (Ì—¨ø*Õz¦dŠ~”¯í ³™ÌØE™CÓaaú˜c8Ÿ8ØÔÁÁ¿$ÿ<_:lÓÀ7à¤âƒÍC2ð½šQ¤œ&&ØCŒgî|¿!ØD8’DÖühÓh…¡Ìµº#¦{O$]»Á$O/ôôäÇ0ã42ˆ4¤+¦µ €õ• YZdµ>sxžÏâÖ}}R8áÔ¢å{æøSÀª:MQñÈVäz¡‡åMJß)‰N˯¢ògèÛn¸î<=gŠÏlâ³ö*C´~+v„øSŠ´Êµæ‰¡J—¦êÙ›Àv¦ùPÙǜ֔mhôªmôš Ñ}tOï~?‹³¥œCÿ#^HÞ|âÁes¬±ûÑjÞgW…â‡SvY¢UôìCkþ÷WÆôúŽËzj|´ Ùfð‰ˆª¤5ñ*#ÓZSLU3CVI&Du|x±‰28À(¦¾(¯~©ÃBä5Åí§ êR¸d‚JƒR5™"9¼Ÿû" +Àt÷’}Ëüœ%¾O_ü)ųxò··ç¬—^ôZè3Ù8ꢱaqx·E‰&ç¸NtÜ tF#Çô™iÈ ®gXWZn;OËÍ͸Œ ±ÝdØZ]ß©¶€6C"'™²ÕNzu³€@Ž¢Á·cŸèØ‘Ô%ÚBŠ ^èóíC`êW_JdõÚl½Jg’…-,éûmg‚ÃÅ¥¿µ"ÌyK@¶¡B«B7™}FE~(zÞzÛØ4 áoð¿(ÁªÚè—tRŽ’¾}ð':U [›¤2rê}¿ô®4º» A¼Ç-º81Ò†KE'ñ}Ž‚˜¢È¿§¡Ùi<ÞÁ•8À7Í8IÖêR!عˆšì”¾[Ï^Îæ˜xÐ.÷ÌX°ð$ˆˆèÐ×úÈ'Ì$Ͳ ÂtmH•|ž’ñ’(hi€WF…4#©ð2jŸïI1K*|îÓx«×ê3¯Ü˜“ˈfÉä¦(eœÉÒÜ ïÚVˆ¼CóÄY ‘ªGÊp]R¹Päãjˆhyì:´‹ohN(ʳ5K’qÅÅb–)l$áÆÏj:¦[`$5½|=aÑcau(âø‘›ÅUÖV30;¢‚ò©“™}åeJØÐ„_ œ´H>ikòÄjêjþxb.$f¾¦ø-·lÛÖø2_q³8$»Ñ›¡‚\¹z¥ŠDVõ*tžY±éqÄÙöŒ}9¦=]@„¼>Oý= ^™vŽîñ"Lšìx¿ƒõKú𘋨 ý–§p=¶3×õP\s“fÜ‹J´Ùî´Žºb#É7ÿj"5¤ÜŠÁ(¤}Øt÷Œ/×ÊñVY/¯C˜¼eð‚èâ*/Á÷åý+]vøpÎÏ·P•&’W  «µñ4B4Ì67Ëÿí¾+ײl ‰CÜÄEçõÀ9êe²oÏt¿*Í‹ ˜\é!µ¢;(ˆï2r»µ«¦PÊ}ò1Ãx¶Déùgh3´:ÅËHÁuçÖ`ÿÐDtku'·Ù²ˆüù—13X|+“0W>0Zâ2EœÌd–ç³Û««ÚHýmñw1¨>»;gÓEK͉’Mõ4Ú”€6ÐK©‹û?ºq´$ÑRžÀÈX¯^!ë÷¤Û¤d÷5|¤õÈo"ãžÒO¼q´/Ô¥ÆHyœÑÂygñºx^ ·Š?¿¢µÌ—™ro<æ†â¿=guDhϲ³jO\ÏjqY•DZþ«*8ÂleÚרý ©{öO« ‹Ž~ µŠÃ^nÇnQ%PÍ-ü4ËM3zãý9øyºî­‚°<šT…eÙr#±£#P2ðý -\ù.û L°-aÖ­ùÌûê)?™ Ò×3ªè]¦èᎦ{ìj8xmàÔÚk‡’¬¡êÐ].®Q<  rƒ…Ý_³;^‹ tXÒO¤ŽU?ŽAµ:[rúßH h»´6# ¤î“‘¬ä–r-ý’J R“ [>P¹‚¦Rêf NŸÔ?ã»ñµz`‘1ÎT£òº&æ™ãý¸ÊU»3&©êŒ yÛGµß©²ÐÈ!¡xÙÅ2QE>¶uωÆÙ&P÷v.Twív¥r« %½€)÷蜩›Ï½ÅÌà#{”yžªÑÅ™œd¾ˆ)g¨îR%¨PqŸÀ@w&[.Ôg²ª4ðRF"ž ¸¢tHÌÞþ»ÚŸÄOöÞ«‰ݵ±D¬·ÂfÝi'qÅrÉa^ÐŒa‰ÿGrK4ѨfOB3.ŸPÍ´„R'¡~¤4*­V›}†•-"ŒÁ.§ÄçÔb˦›|¥½%©:ç‹aEAê"ïÕ›d8ðZXž™¡KKáÇ\FÍÂï1°.Ùo„NM"¿¦ór=D‚Ê·¼r GC8'²­§©çsƒž€Þçò~ùÕÙUz* j°m_ÍPÀýÓÙJq4€Tmå?àùüä`-¢17Õøáóâð€>Ã`Fm± \.J `²ñŽÂ?é8'´ gzÉд½9¸1!í”sœ;O•Ï Oý54Æ×2[­H!ã@yAGœù5æmßK$}·âãØ¦¼.Þ ÁJ \šÃ.ŒRîvþC®ëÜpÒЦg/4§{SuD © ÄjÄc¬Ÿ-$¬aâ?ö¼z§Z8èd¿P(a§é§ø;D8ì;ÖÒíæ¤ÎiÒñQ¶l·RüY‡oF·>ˆÜ9;¨8¯Z`ØìL;:Ê4šƒâŒ[,27¹».KÔñœ¿ß¼=íB3CC‰Î9üçã±0~˜ ¹Ä>¨Ï>ë@¥h¥l»´ûT ¦XD??Ì£«^z;ª5ÎL;½bW÷pºš‘Z­è´ë…´O L¸ˆãcn@hKîÿûô“W‡ä¤ö?ÑÉx’YËçhJƒ½ÝL^çd|³H¼V²í3áã‡(Ÿt ðà³À»á¢Æ(ˆƧòõ‹v"=CœÍøþ,âé…XÈ¿ ÍXÀ+§MR.áÒ³—”2ª¸ŒùO}›=>yiˆ‘`5è9l»dêœ*xÑnLæÛÞ__mÊ¢FË 2kÞ8Êp@OWâNë'óžÌÈ˶8Á J`y³tUiO²_ «Y–Ý@š@†ò¬@Aý²O›<5Œƒ€éõC8ÏïÇ1äÚaHG\#QËy@ÖCöéžQæþÍsyµ]ýJ¶7*Ê<ŽÀj*QX„¾ÅWPóµåöòæZ0UÝ\^³TU”Xî©Í-ÁºF[‰ dë#¡Êªfº–"4¹;äÄñÛÉÅà¸_æØË:¬Ê/2Š€zòï¿x÷è­²¢÷ùHÅÒÁûðjÐ/îw’ò.‚„J)y+…/­ °Ð¹\™Ì&j|÷Ò½C\ _>u~ñ<´í*™\hæ­!ŸQ4$ä­ªj LŽob´¥ç”r“||9¬ëDIÅ^Ÿ¨…Ó¬gT-è0Ãvé }2Æ»ÓîmØN ¹qʊɇF#9öÒÄ&-ðX3Kóéq?4ÿ?3ùéh°TA—¤Ÿu ¤%¢ÓÏX GËýFc¾[Š’.nW+F%ub4³( [ƒ¸d1}Á*ƕҲVöæ=ÏÇ'Êb0øÓxUÕè5­)' OÁðsŽ\~«‹–¯€/=ë‡ÞßG¦÷bxtßTgÀˆ ªËæ{‰k¥ ž½z XV*ŠžÞÏy`°ð9µ"e€”ÂtæV¢)6ùøŒœ*¿¡ä º7ôôcíM4CM-?ÀÚ€.(_!ý'[6«·|PCc ܸ?Ñ$ÀÓVOÌÈ÷Ñ8ÉY ÄWI<ÚµŒJàmQ w«Ò¬äY‘Íã)ŸÙnïÑWƯþªòp È ›&Àþ²}(é¸8¢A{Ð:»ÎC5×¹÷@[<Õ§ùãà¤@§w˜Þe6wÈ`]á}­F«×2òÈ]œákƒ@’¨£z(b¾I•3b züœy Y2¯qaÐïBƒy‡ž¹aXí¼Žæ®¹qõæI]ýöÂL%«ÀC%Lµ¶7öQÅ|ÿ¨O1©9'cqBøE—€GÒàå§7Uçúÿ·ñõìÅVŽV¶ ºq¡Æ´èïãƒ$Á‘(ˆ)ºšàö¡Ó[ÔÒa¼VîÐ éò›Û²é½úúp,¦È¹»©Úß?}Ð(p£·dmÒmX²#)‚³ W¹[}üŒJ9æî7Ì€µá®ßáËೋ#5yP”ÎÔ²<æ÷dœ‚“-¼Z…9je¸ÕðûK…X3ht¾›ˆyiØGn¨™® .èXO5ï“oåL‡œ $t=ú˜Ã^ÀÍKóþäÅÈ=`sg™¹ø T[EqA8ZZ ÷”„›šoð’í,k%p ^ºhäÔ”Ì)þ¥/NoûÈ'ß”²NùZnå-Çí(6ˆ#{•óIÊ€G¥ÔW,dkeÑc\„Ã0Ý: Ï<ã¦1<ÕTôôÿö€CîJ¼Il“¿¨¶‹SÈ©)S¨xSføœä{qLS°Î÷`v¶ ‘Ö°'ÿh7«oŸ¡Z˜7#‡ó嵆y‚Öå‹—Ù?Kžcãæk¥EGÊLHï/ÂAÃz¤ÉP\~fÏš?J¬ç½z¶H^ ·qìžÂ © £ë’m‘ €ÜÕÖµÞý-_– fÓÿ4rÿb¼]LœÀy¯r¹Ba›\аB{w³«ƒar‡¼ƒ»¹ØYÉÅ^äîÁÒ³XpïâÔqÅGjÑø!‘†Auûz…6»;[m⼡ÛÓeÈÍJ•­·j5x ÿ_ð7•ÿî=T’—xÒ<Ýãù5,—è 4ʼn×>)®S†"Sxk¨Nú‘ìzg Ÿ+Ó}û“ÙúfË;?¸À’å±Dœî²%Nçóp±w“[Àªï,vR÷\âÀÿ㪣8}gÙhoà?‡8½2®ôÀ›—‹Gö“ìé|N%éS%–HY‹T§ s½±Ž[Ñ©¥ór£½|ò”‘7²†yÎÜ@vôÔYÙ6lÙyVõĈ…ÌRÕ8ÔÃh]ÁD’dÊ¢7¹¤0&ÁŒÄd1ê~þ.Ëf$#n»y@`½bFÕÙžx4Ü‹#t”ïc›Îr‰ ;¯Í®º æ•)ÂX>É‚¦¼f-@ø£‡8ÔŸ Yijƒâ|r8ÑDÔ÷°C€& I)¹)òÕTz¯ï0 — &ìK%,ŒPµLc,!ØÍSôÖÙoVfëìKŒ!ú˜™}‰‰8¬,½—Mé|FÉ)¿IB"¸ã¾“XLÑ¢üÓ¦î†joKúÔpfWÛ{ݯ\¡ÿsÐØþÊfy˜€¦cƒ¢a®›‚Ú!…æG|ªPNÚ2°T«…'B¦2o@…ÒEp1În•^0ñDyJYIn+Arao½×ÖšÄL3~o"Rjdš.…yèÄËö„Z,ÚsèìÃXë|*Ɉ-§ä©#]EÉw‚ïüß §Ã¹ñÛž˜´Ô’bÝŽ03[ù|SÍèxy—ÕÌÙ‡öëyåõ«ñ‘9ÄŽ×Ú®.ÛêÁÔ§G^ñHG¼¾&Fî7ù;ðûê gì›ÆÅ²œTÛµ€]ï>p™0Y¡z¼¸ãJhïí„tø{3¹Æ%Q0ˆtÁå´#Wôcm²ô–ROLx’ pGìtÜqp•‡í—õGYå(ù\DB¯æßýkŽKæÆÈÇöÇÈì/ vhÁ)æÒu*‚®@AJBVí—Òj ªgXfº‚}ý—üAÄYt!d³ø‰ã«£zúõÛK‚‹V  _Ni/œ¹†Ã™Ã}æ‚ÖÈÐáDzðå• KpÛÙáU¥_̕Ӭo'/Öu/˜‡q“'"QW•§¹0³^Õ'‚nrÑœ¬pNg¤Æ”;áÑø6«ËÖ"IZý€55 Bmù°ôú'Jí7r†–Ñ”¢ú ;*Íÿ6¢óÖw¸!ÈâîL Ï{„a9övÝõ<¢Ìˆ,ýð;„ ¨ eÐA=»ó‘óSÒú)c Nㄨ°{æEÅ¿ ¹~uÆÍè¤{“jõ³`[t9Î R´lñ .Üúóúˆo˜J@BaKt1ž;à¿úÏB |Ñýº»ªÚ µ%{oD•N³YÆû²må,éh”˜«…¨ròPXšÿ)iâ´Ù¤oW±®ªG»Ò9uƒ™$Ï~¾ÕeÓ³2T_=0° ßVÙ¶žiÀãßöyÌÀA»ÆŸšƒ›Ã_)eäIlŰ_Õ…N¤«nžO¯Ã«1j‘](5xGç Ìé,r²ÝèÖÙ'ñ"¹ç•{gt6©ÏCp¨ø»9žt“о†HÙþËÚ“RL90î݉‹‘Zò‚쯶MÞ/ÅúFZ.Lþ5æ]€C„°!$fõ…cy½TŸ…Ȩ¦Õbÿ†¿ò°9Ë4ãAìz¶ölØ$@ížhùÔƒ.™þ¾iM”Q^Ây?Q…JÄg_3ÇC»Ñ›¹tÁ'«º_)kàsi¸¬/ÃTN+ö¿AàDFÞ¥{a1 É”IB‰:÷Žül½ïwŒŒŠõòRÔCñm¢:è$jìœÂÜ1-%Ç›f¸,EßʬýVŒ‡¦-p΋_œéãFPêVÀYéd9!q‹t5½¦F–äÿOÕ) z§„™0°)_²WW‚w ]¬æ] &âÜX>™Tb'r´Ìídx4vôGÒ‡4^é¸ ö÷uþ’½(CMº@ýï¤úÔÑW‚fˆ’«*=Uã€Çº ‡A»HP]$i‰*·=€KLÇð`w/ô—„0ààÚE4õXáìb*’ʔ⺓Ìo„RØæÕ¡`!O¾<É.aÞÅ{NjnºEVvõ–öç OiB'zul2½çª¤R)Lö“9~´ì;3wÏô»Þ ܵZ6%S@ÒÌXб1.¬ì.´J“™œ's"àâJ(€²Áh[¶]Þëö î÷ò¥søïœ¥H‰‹Í³ýµüïYTÁ^D<—ï¹àÕß1zÏ-*Ø @úçÕV4Ä ÆuÿÑ肋˜Ký¥ËhÅ ®†¡Î:áÍ…BœVže¢ÎrÜ÷YÕfÐÌ4à‹ (òÌðßJq°<<­µDï“s+÷(Èj֙˕ôh-ß<=z"À eŸò¦æûåk’bÉì82ð–jÛnbb„ÌTJ£²÷¾¹XòDú ^¨ëôܱ#ǯ®öÎÌ>DXHí×2¸W éŠús'É É6D”çxBçMÏ7H´€ÍÏ!:CÌÁÙמÚh=ÜËEâ8ž¯ÛšæÒ[·÷£ž ‘n©ÍëYb/©ùž oÊGÈ)ñ¬Ny-~ÐV裠ÝëßaWî>[]p’—6¿è^-ö i§ºŠ!X*è_Øb…Jê &ïËbö§"ûoDÊ,ny»ÕT—‘Y ðÉ//üÝ„ 8S¡Óñux­˜¬™ø¿—ñØj:í%ðÉr hsTZªŒúÔº‚Êd>’ŠåI͉6ÅÓõO‹Œ´\ÏDÀγò`pìsJ>óMˆ+v®“¤†©eðC3_xÖÂï”HX4—s>>WÐÂ= 0Ø¿e†¬5øT/„wh™}ìèFw.K/>²…¿P×ö@(o6FH 'è‰6%¥¶©Ì="\à&Gšõ÷§µbëQúÐI°¡«|.ÚÛà×­uHÙÉ6û!V˜µj‹; O¯b«ÃÍ¥Äv€‘h™c ËL–G¢Æ/Œ* ½£š8×kpl±¸ï€ÏVè´³cÒ†­uÚD|f[ûÙøÏekz•r§=r,òÌfïÉLi Ï**YÆÑK„mô‰;SAS=¼Ò¼Žè“‹qËÿHr9;q#dÇæè>¬"ö*gÒr«&`)v ¥o/.K2xÞºæ/R€Zç¤dKCæ?½/wJÃðZ{ñ½Ç¡ã'‹62Šû'õ]LTØýïŸAéÆ8 Œýµ Ú]¥qÞ¦6r{ù9=ËÔõÔ±åbT),¡ðùö”êàž ZvJ,ÙqWaz–h‚ +†ãnÛˆ  lÒ[Ü õ%8Ú®¨I•!Ì´ÓÓÄÉè¥*ˆjð@ ÜZDæã€®IÚg·gâ7Šíà~Ï.?:)¨Ëqldãcìöâo;0g¦  /g=öý †÷Y]Güz†öͺ–ŠàëÔœW§ur¦Õi¹6‰höšss‹òû‹bäˆÉ?t%Äܶî§âÈ´“ê³ÓÐÀh5 ú´aùr¯Z¡±õ;&†º¥0Cê×[‘]ó4i*owß G)ß´›G»3t€ö&v¿¸‡ ˆöë“öj]XÀ÷ï 4høj±Ñ'øèƒ$ši4ôGYú6ÎÞÊd¸Ð`?p]¢KÑÛ_"÷:a/žu]¿§K—(;¤‰†=Ë@ÂPâ­bZÚ¾—§w)À‚J@¢¥Èºí4)ÉPg×X|"!  [÷-ÎKFõبäÊ÷¯[e¸‘vÿ~p l•GRUÏhS–>@ù“El*"´ïáø¾ w~¦²ðOçÜ/’N¼’4æÝ„Š.{Iê%s¹” x­o”J·é”¹2$¸çVÎ~uÉÄèõ¢Uì|<¸æ'¸Ù „!ƒçʱ;ƒƒ$ü‰îk­¼XæiOêêkÌ_b2ܘýŸ6ÑO·JàyÜ:í¡5Á'ÄçǪ–Õ£¬·Óyœ­–Fì%}OðµØMe°²ÓÂ~}”™âUœ–£¸Ž< jcÁ ;$¾ä™Á)>÷p¿éM¨ÌôvŸ6ÁÜô¥ÑšÎ9±4í;•«ëï)ÙF\Y¬Ræ ø·È3®(Tšô•Dƒ”Í—M³Ã|{odÏÀºþ~žkËÅ Òƒ±áÂÊ’v PUå ¶zµç)B3R;XÓ'XôdŸå²Þ4õsñ>ê|<¦ÍŽÍãõ*MP¿½Tpþñ&ÉUT4 8’Ô,Þ?qÊÓp?=PÎöbU×nÂ#fïÎ¥ÑT·Ñ×<=®niÕç¸àLï@›RáRš¥Ó `5·“l¼?YØ/Y··GËD-®}ÙÅ!¸k0®VŽóÔ1² Mq“ýèRÒ€gXs}‰²®ÃƵ®å›XvˆñiWì0幟&Š —}ygOÛÿ8ó³oF”ÕÆV:³“i‰ÅfYP©Û‡3 é«ÉMØßýÃŸÐŒÒæÁ33ý[(ª†—q¢‚T¢gf?L^Ëáx™¿ ©´ï› 1 eéÌ2¾\@6njI¥&põê㥺ÑgY c^ù9‘£èïß{ÑôrQ$}ª{EôZÇêi£x|çcµÞ^SJíÍ~×þJÙ²ˆÞ…b*s¤ù½w58;VÔÛ«ÇÁs\ÖÁcF²f8¶¬¤Av(‰§Þ’…ïæÑ”oɵVbß—±U#YÃÝE-Ên+¿•WÉpqß+)f“üœšE‘ XljãÂA’ r݇g>›3SšST ¢rÝEHU „j[äÍaÞ±¿Ýv~ÈDΖÜQ@ÇIÄuœ¢.„@çABSÈäQ”‚á=òž‡¯Êy>i3Ç2^¬é˜L¼a±³KhwìÈ.qÀÈjÇT|VvIˆX\Wù%äóê–ãȵ©~à0?âKû øqW¼‡É“#ˆ•|‘Œ«¤5"ê+³_úéûƒ¢Þ‹¼žu¦*„+ÑË:²*;ä^j«˜áóF¸V§ÜhßÔjH¢µª&\ã3ÖøÙ›·e)¹§È㇠~ïÃÇùÃoš÷X±¨‹JX:Äæ)ÎAôÅê§WCÄÃTêI%ªSόŜýVìñ¼§)†ÿ¤êµM)£aSOþ=-‘ÒΚ‘)œ]੽åÝ!6g*Y¨>ÃOÞs@¶4êTIj££À6^à50‡ªUMw¿Ê¢Û7¥Â6¨¹ƒ õü–Õä•þ K™ëÕÏW˜»¨‰—9` )ž!ž3_œãøö@¿aV0õ}ÒSÉPÐo}÷™ë8^~ëÛ)p”×Yn‰§–ïñË•°| i¥qÕ?L¶,#ÙõùÃöûWŒO[ IT½'²"&˜]+â¾wÛ·a®AróÌ`Oe˜~ËLÍTދɡ›£‡ä(uë2¯‹†ÍîƒãPúNÊDKÆ¢I*±p¬3SJm®ÃzdçÔ×$ùÞªüIÁè§ fh19¥Æ®òü…ƒ‰µ.VÜËEÜZO)sFóž }r g%óÕw  b„ÓHLe$ŒòL[ißFÀ¬˜¡J΃“è!gièÁt–ez2Ol>°áÄø\¶¨¢Ø¥\Låa).'× „/í`(ÕŠ>kê«ñŽ”n)Ó‹|‹üT,¢w탾x½ý@Z¶ï¸S¯Æöç`ØW ”Mùê–‘ Eˆúh2ABó¢(ܨÆx/þzR)äŽ ‰o`Ï&2Í\/ò>¸vk“á‹akŠ=ƒc³ÞкàOù ð­„½7=} ›Q¿Â¹Fo¦f§[êï¹=²wlóJ¯†XT5RPÅÚòoO€¿rÝüOt¥hälÇ0õo&xë?#§ ïòÏ…—ÀM®ÎØšÖ2ÝɨßRtÆf"¥‡íÁDœÄU‹›´ûö)&UJïyæÊºÎî¿Fûý9\$Æ'Uànï»ÃXuíG‡Y ¥6(Oõ¶,uÎ9 œîž€qÍ.ÁT”ÇTË'3«•èªz 3ŠúÈ“F#,èŽ]zjüõP[f Qq '!\‚Ü)ýù9"ê8(Íëfv7µÞyý—òŽ=¨ ])çÍE&k˜MÚ1÷2–9@î炎ú³Hvà“á7œÉFg]RØë—î½ò»*‚D‡1,.¾-„Â3Ýðañ\&ìj†ðYžUk¦Ø)‹@ºÎ¸ôcQÌŸÒPlújß•@¡^õf%0B žfS`›Í[c5 >C¿i=FEóíë}w^tjÖÕÏn~§^1 *rý¦93ÿ†Ÿ4+uŒ–E÷¤¦Cˆ4~r`~!–ûfa9Ìž§lÐæ“ìqÓ9iêqó‹HìÍ >Pä˜"ŸXˆ]MJ BYðËÒÀõÒÓj ’B»¡|+‚%)Fá£2¸Á•ÍDËÇ»µÐ;Sۧ躩ß8²GÕ‡\P2 ‚9àFÞ9àÒV3Õ¼!i Ù+öÎ\•FÓ¾Û]ö³e· ã•K‹˜bÐf©ìÓÂMÂä8ÔŸŒŠJÑ dÁ=‡GnáŽ^ô<¡È‚'w ´öùÅ™™rG"S;Æ!9›Ho½Žú¡ªQ]†>²p]3úw9#Ûñ¦Ò'Où ‚^{=RÅÑPò5J}øhþsfÇ l”pZl•c„_÷¢7ø¶ˆb¥dµI$Í=¼‹zR­ÕC€ÔKÍöBu£ô‘üf¥Œ>˜Ö*(êy^©øk5—E³Ú1‘‡¸mÉ÷dÚñoö-Lik‡èð‹“. ±±Ìzë9Z·'Ë|ÄH‰åÜ ¢˜¼ùµ&Œßš„¦ÈÍUÊÀ¸žt°1  23TTÂ[ôãkÏtÜvo“Œãæš#{”;>¾¯Á‘ÒûfñÄûöA|8’ÒÁ†×Zÿ5³‰Rþìñëš.>@èø@ªv<Šž¼ÚG>Aàò³ÅÆäÈêFÒ±'ÐÂe™óÿ.,lŸŽÄ8ñ Ó”9\|Zˆyal¡þˆ GwÖHˆ(¢7#£4ê&.ÇA_pù.Uª„ÁPbh†ÊtúŸ °—¼Ý)"ÝVh T¦Gn:$¶ßEÈI@PVR’dPi‚g!“c‹mºÛSÛ9LÚ“#]^ú>ô[åV *Du ”ó¡åØÌ>Á@.€ýEúú£îÛl”LRÈ­BÍõÝyZ1)Xþ¦'Œéèìù{gò-Ó—º¡€7%j¸¦Ò£ê.V-›]Yùg|óv†IGçOÝeZçî@¨@„Ù+Ë—úvÌÒ®9VDcZ ù>{ÉÒ#úE?½93(Æ/ÇBW¬À=LvH—¿,s9­g¾Õ§ú?ÚQ=7¥ö‰|¸ÌÊSù±:¸J^MØÆÎ —¢Cúm@Œé7·âî—(í:ŸqÉŠ§¶ZþX—o„íÐoTKÌÞ#4+¿ëÒ¶Næ°ŠwvÌ\KÇ¥s2·íåÜǬèzöÍ;ñµB]Ù®·æ_~+,ÏWÁÙtTƒ\ü*¿Ó?û„*!æ[ºyí˜8̬V‰5b9¸Zˆ­‹yû¢êµ¢Á}V_ûéðÌò”f0R•[7@ÜUI‘†ßø~¨£X Y¸±à:|E¯”#ò€T2æ±ù}c¹4ÞüÒcõ­Ò¯'Ã?d´8ÕXúíÏ¢#J câêßv&ã¬é NNy<ÍÅZJ¹\KÁQYØÍ ݃¸ŠÖÖîÂ…ïN—}Ž+*ºA€ƒýÊÞ‘}¯¸ö“V]Ì÷}©{Ë&à»V>ù6)U›ýrŒ’ 𱍍µ—ß…)(}8ŽJSéæ%480w®LQÖ†ë׸×1Ù°Ì•sìhó]!cßf;,+‘]Mëžá¯HR·±ÁÓxÐ̼Ô"•€ã°°R{ü-Ä+ü; ò½ÝÑ»´©úäõ|æA&}…|±îË«ÖéùÂr¼HÞð¹N³&÷:€í™Â†wj,õÝ=È¥¶ ÂEf!>Kî^ÿø, z uÙTPûìÃOº½¢¯®v|õ!”2(„"Õ5Ê?IšM ±æÓ{š ÚlpâS> ¨›Ä'Hb¢D ĶÓ†X‡‘ßR5Ûköû®üyAt18åEƱ›ÃÇß¶1;µøa ·ãtU§ùõB2³9ªhüïQ-Îy%^W×?,Ù¹™@W¡ÎTšXF‡7Ñ»ÏOS¡ç¨$buaêì{ž[¬Õ»Ç”ÕSÄÂIø0ëôÉ,wñ”•qÝ1iO¤s7=iØ¿êp´™WÄ8ëˆÂÒ°_ÏìE„öxrõgޝšˆ:±oÏþj æ–£¸Ú`Ñ ·ioõÌbè½jòu$ۮ̇D7n/ˆ5ùš^ôY,ØéDk'zó1}llÚ¡œW4ÿoñÙsg·w5OØC;ƒšÃN’’ƒóÿ©—Pk&hÅø¡ê«HªYýd¦lcÁUÅâ«Í 2¤%Ѿž³”»BžõQª ù7 žÔ„@úqG§dÈGøðñùN ™¶œÚ'µÖ70ú Q³í>_4Œ÷TPÕtq’¼”Ãþ.!À@4¿­ãºdˆQڂㄘ!§–/o5Ô$ÁqøÅk¡C:…R»ƒÂÖ×OÆ3H‡ºøF„²j^òEºñ„E³?ùQ%FpÍڽê§@ÚBjÚý‚§››µê#óˆ!PÒu1Ü•ÕÕ÷iµñÉéýÙvñ+̓¥ï÷Çp AoÖJ•:6ü€M&Å´Äê±G!Ó¦ ×§ ÷ìodw›¶Z–rmÖ´½¡¿Hj8KûvQ>}P3ÆüÌ n°‹¯"rù,›ƒ6#ÚMÍÅà”ëàÞù6pÒ‚/\<«j×0¼€QsjÔ z>âJ›pÖÄïÙ¤‚ú” –¸Öû‹Øaÿ¤–qO f»ÉÑ>NeòÔ+ícñ¤&b0ˆŽÞÚ˜ãe¹Aåîèßç5µ^¬ƒxÂþ”ÖV ¤ö?Á Â1½gt‚ÈjØ1¦7F4jG ˜´îÊQ¹ÿÚ¼4UÜõ‰cäç5Jö:cg:ý8½ð8½ ­žÉðÞjkc€2F¡aÁÄñÚþÀÕíQE³›MöòŽ‚+¡ã>"&° öÂi­£ÌºŒøÁL‘1Õó†@Rµ¥!™ˆ€k€FØ:SA«J(MÌf™=Ðzò ËïîŠî¤ÍÓçr’zCÁ§”@›=ý×ë^nÑob3ÏÁ»Iô沆7ÝèD7ÒÍ»—±ÿ¼q»»Ÿÿ÷¼ËÌYÑšÝ]gø³˜±…ûŽ>¶ò­² ÿ ŸÎº+õÖxçÓµˆcBfÀý:ŽWð„_Ü «Ýí½¸ä$gl?¼ “ŒÁüÕóѸÁqè @“ùkZ®ãs«1©rèïD»ôrÍlÉC¤ÃXRׇü-¾F¼Dü;ÆòšJí(ÊkÕ8*M¸Þµ$*ÎAkÍ=Ö™JÌ©îÈüŠõÖ×wNqÞ² H6¢Llî…÷ΞâÉ1DHyéçýþ¸ÆÕÕCŽK…:ãžÝß1Èh‚¤3{S§þî*‰ žÞ¨$\†Š¦{±ë¯ÆCŸAfS@Ð¥óRš¿îLð ‡FC?­ï:w 9²Ã—~‹ˆp?¾Y ̵ÌÎu$½9»ÅJ§}Ùi’½¡Ã|-@ò'|syݳdê–òhÊ铯ö¬ŸÒ†ò„¤ŒÖÙ(h „ÄÉðUÿ¦=@U[’˜à*»bEò¶ï8Or™Ât÷² Ñ­¤êÜÓì3>t-Ö>#7žÑÑ£þYøTV/-ñ¢R¦ZXä RV|Ù÷·¢pš ­yÅÓíù Á‹nryGK2/ÐáÛa|€Šf %HGÒEȆ+¥y+äÒpLÌÚ–÷âŽýÒúMÈ,KÀ hD†m¾øUw¢ˆ ¦÷F᪦£57{ñ"+ýð\øòìâ;ó´¬F¼Tt?Uü½#ç¦Î(•›mˆg‹¶"ù ‡¼ŽI~þE1mRI]˜gÅÓQ"+)U¸ øû1¿œO™æ8±ï3p¬À~Ƙ †ë"p‡jCk$Œ}ÊG”#ÖIãǖ¶þO“Åô£c« :cÒÌÜÑ31J)¦B'©2IÊÜ p¶®™c&v‚}<¦,qóö5€*+ 4“¤Ÿv÷Cݬ!¹§  ÁIíkü‡ËæùìàWBŠЈ¬k€¯íM óÒǤòþ”m¹½6)â˜O˜ŒŠœÒ[f¢¸ôBj?;áG“ÝA8kÉüV ?å3?Û/‘åù¾¦Ce]¢×ßYAÐgõí!ò­8ÖÕ¾‡2SzUªâÛ9xÄöÚ Ÿ‰ˆÌ^ä?æ.ùjͶj\ÒuË•'yª ;ÿò”_ìøà?ŽlmbKŠ5GS à8|çÃ³á Æ`ŠÖøCŠºið4å³@y¶ÿÛ¸}[2ï]fw÷°?àA^< îªzfû× ín„6dÕÓ¢8"êWFYæ’*a“ûÕ'Ö@ž!}±>$öê@¥¼#HàãsÙœˆ°# ,rÖáˆ6±Ó4oò­å@~òŸ‚ +üŠâ ˆ¬w¼|ÒiÁ_Åd\]¢‚5–ÍâQÆ.FnÒ‹¬§»†pƒeņ Ê3üg-¥ñêlÔáw·èFN/«j‹¢ÅËô~b®“›wT£Gü”ż†jºhžnVghIXQL¥W÷0>®HžCé¬×`dÜ}:­–†Åw[ïxl–ƆԄˆ./ H-5<ŒOi¸L`ÕÜô\Ï|†¿cw„©iÇS¿tm*,éÂHK¸æM0Pï_ÒñÄ?Åù² 1F…¬Õ (Ûç´¯^çe:ØÔ…Ã`ç–Þêö|›½þLЂ;{'ÐÆ#½6ŠRbVÚÿLŠ öá=òÌÎ`Ù úÏ .èé°—]ÏÈ´@cíìŽÓ ïloÔçA²Æ×ÿUpWG}Ó)]>»«8“×Q£À•ŸlÙï‰Î9/€Ê»<–.‘KºD=¡2]3·÷hA= rChí­îùƒa¸I IvÕümÖ’Ö¨PÞÜ'TE’œQ ”TZÚ¡B ±)–d† Ïäaü\p1 &ÒF•ÔÎ)Vâ»–æ¿Þ'Ú)–šz‹l—Í™_ñù„pC0Æs¹ÊËìß Ä‘ØFäNß7.aíŸc¼!^W’Ùσˆi[Áß{…N0¢ÜPX³·ÕñbW_ £Š½™kèê&z5¥¬`”G·"_Ì”í!&3žÓlÓ¹MëaH¡å@™dàì…ÒòÏKt(ñ›˜`P3mHØj¶Œ&ZÖosí~i›ß og C ·TÔÒu—ÁQ”¿ÈO—w‰ª•Oèí” ‹¢ÞkÉÞùÂ÷Hd¯š¸\g×Yñp1Š—¶èÛÏ„>“+Zpr7PP+Cˆóñ/âs½gî øÙËÇI5ü™ºó(hàÐlÑÒ?ç”ÕxíRD“ÿÐ3R>9õçüÉ\öлöÑuʰcó <›÷RWc¥R,EȶißNKÍ„_ Žv™(tªSúMþ?¹3x˜]¨:”è¾/p_vHtXæDÞ|+¯5^ ÌaçPRŽNkæÎUCÊ"Cn¨VBW±mØYòg­èP&þ¢)©„ù&-£tÛ5Bz¯ÈÐt{ã§õ‘ôp¶@eZZÔ»,¨äÖó\´á‡ƒÊýÀ'ÑJ7#¾éí»ŠdXÄAÕåÐwS7Ì ýàqðÐJÉ-¸Óž©‰ÑÈœr‚‹9¢Ps¾zƒ›„_uµẇ9a P+í$I¦¢UuH‚‡†WG<¶`SÀ6.ÈeuôÎÛŽÊšgëÂÃGç_ƒE mÄÎdù Œµ[»z3P¯+NÔÂxª¹ieÛòKÖØ_=Ä¿uz£õÜeW}1xØâÏ£š2àT u»®*æì)èõLNöW€T ÏøoM ¬Ý…£…Xï7²²H+â Ù-X6!H†§îZìÝÙe6}D¿Œy#ª²ÑJ¦ hÐÁÚ;–9fÔ~ª‚ènENËs;NEH?K!bíñd|dá©4á/}ŠK½Ä¬’. óÔ’ù&ñ ¯Êãª]š)W<«(Ç<ÀÄóÛܱ۲’½8žaíhõõð0 ÒÉc½øW†D’Š V¢ä0P"òÕor»Hˆð[4‘~ú€”¾UÈC º˜1ŒX¿m Ò‹•üûf"ä2sÃÂÚ«„•Ñ×V”¡!NÞL)1¹Þ´‘ÃëÚÜÁX€;ËŠÊáÛ7ŽB‘ÐF%'͹bÕiÑ¡jûˆ[ ÇLm£”WÖ öá§xg œéó¦þ÷m}ú­ÿë?|®A”ùÏEV ~†Ú“¢“Ú5N *õö~"1ðIÝqª‰ "Ô&%ìðx½õØ2W¨Ãfì¥äcE\A=øÈ†ÕJ›ñhjÉN„ŸµVçß-„¥¬s㨻уàzðº>jTh~ŠÀ ykô„>ñ™tŠîUÜj˜­ OUKê…f×Z©‹Œê/Zq9®’ yðžFJñƒ92å#…@2Ï]g$²XÇ7_é€õ× -M½²—˜Jìãuå•îAnš›JZnU‘Iva´q3lCÛÑxÇD]"e"ŠÝÊ:í*álv!oãòzу¥WF}S>o>Ä.±°QFìÕvµk®dîÂWâFèYž¨qñQ¤-·¬4¤cf—‹yÏ©ªwBÐ\ï¾È…<ëàHÑÀŒ‡PoÝèðHº6µ«Œå@3{žþúÚ”ð,5.á‹`î_LÔ"8–£ñ1ÌœŸ°“D\ ævf™hr÷‚TÏ\Ø@毌wØ?K‡Zô„ƘvÄ ¹÷œŸ›råŠ)üµ+11p™S©mU¹'^•±Ø&kݺ]xª€ R‚‹|pdZ·ÆD<5&÷£¸có!cd É28V¥2­ÉhoÛðY“‘¨ìbê§®æGð•û·.c¦8‰d¨'LÉ_¢á´ôìEA¾:A}”¡u%¿Œ‘ÆÐÁfåj0*–Ë#’בO@z¬Düøq‹«Ü9²ðÀ"Té¢ÿ'ÉxÇóÛG"z¶<±& Ýåwâ&»‰ âδ†Ó§ÖæTŽÌ«7y¥èiÁ5r4*Ô-`8\uøsÂÆ*'#×X”éÐåPºb7½-Uª“‚(®?:Áì•…ô)íò#… 7ãT €þ-A-ú ¬Î¿œ¹ú/‹ëVÒKâEžÌøüf-]`_ù2{VN&'½ˆ/ÓçLµì#ó•ÇÚsãi(›‚ý-72râz0€b˜»‡—kâ†ê¼—N“ÒÝ3×e¬Å á'R_…9å2N¤ýÇîVš¿óä0NÊ[ü¿€>žkáYÄ>Óíæ^0&¹Ìèé]â»aÔᨌAª,D@Ï\»VB܃© Z‡ßŒ,^ì[Á45Eåq‘è]5S«"º0) Ò®¨uYŽÉUºøÜ;ͼA‚|xÓqFXŽÜ.ð˜šýùÑã R8† Gº;±}ÇØ·×ð¨Trd$Šùp)Ÿ wûzàs[êËó ú"‰¶Ø"íSGÖ á,fVðê÷`µGÙ^z›³ƒ0©&ÿ£J&O]2ûº¯+K¥‡z[—hYgËÛIøÛÓFëÙw­Y#´p<æÅO3,ŸÞç ºÝô(«%aRPã@Ic §Mǰ,¤'Mf-îDö˪O÷1ˆäÌ¢å|€Á9û"'fA0¿À ‡§Ôg—ròÔdÍÒ€é¥ÔÛÔ¹`%ÞIК·÷ÂA;^tó`ãlh”\µgM²ÛŒZd¦çÑ@kîS&×l£“ï۷ß8‘UÉ>SKh G¾5s„‘лÇôñü4Àr œ5*!öƒ м"â%l} B¸†XÜW¹k‚,¤ÞÑË¡ ö~Œ@Rwl -v›?ûQŒA :ñfÌ;Bdå K¥`öD~Ù¾f#yóõñ%˜eCª³ñª¤-Ál¹¾Ùlo%k/èÜØŸ_‘—h·uhe½kÛ]k©'!Ù‡cB5‹ÌjÒÚ¤.ƒkÄàzŠ¡\J7³”¯˜ ½V‡c£8|¹Q‡¢&nÑñí¬,ŒîøiöAƒeHOýÝœ¬}uýx¶>žíIþˆ{h1KçRà[ØîŸª5ÏÀaàoia g‘{TtW©S©)ÿ¹–.,Ù< Kê±:u" O›­ð;lÂZ6&FÙlâܺ˜ƒ£Œê Wï¹[¾S‰+Mæ[$GIfÉÿQ—'ÔˆÆLqUÀ-GXBÛ*.[ ç|f²ÊjÌÉ5SÓÀh/x,±ÔÈ™#8/Ðßü²b–¤ú4sÅ8¥v D†<ø>T ‚rHûQÜ·Ïm1ïÉü¾‡öúûH#VÎÔ?ó‘±<ħ¢‹.ß!4R2cô9åàÖ’Äç=,}F•Ý –š£uçá¶Ã)’k©ê¬åD¥hBö˜;óE¢ñ©<±+îjú/†æ·³·’É µ½zG69Ò?2Þ;KýŸX>YÙ9„â±Ô®ÿz”a2cÊ @Ñ)XážýŽÉþÕ†6+;×,]±*Eçt¸CÙ+wº1…s&©F¾PDÔÜ_r ˆb_ ÜZ¹I„b#…§·ñ8›§cÁj®Œ§š|Á0õ³ Åz^cs©s,ã@¹ØlI»ê!ø.3‚D²ì²&ÀoÆy:ñ›2ÓoñÎpéžh¢aõ\=EI߬ü¶ˆõÈT\\ÕÑ„çƒë­mè¦\F«J²´[µÑ¥©mºaËZ $…*!ÉvI#0Ô´%“ttØ;§8è¾06»zYóÆ£tÔrxôÑÃ>AÈ­D„K¯ÞöÔ°à5ˆ¾ùmôË­\ð*IÜ‹³LPDÍ&qeÕ–ô¦žS\FG}e¸¨xýÿ–[“L¶©t`–.ÏœL²PÚ^´öBc ŸP 6@Ýy‚Öámð[úÃ=wa •c¹"¡=„è{!dä?P«ojåé‹Ã‘LÌtÂKÀ4¿Ý°ø›¶à*—òÿMh» äóuHfy‚)Ú›ÿŸç­¬èžt¢ÒÍfJ”ÿYMïhoÉôÐ# éc¶´GÒ8DBE¬<AwžŒ¬G+z²\•Ꙥš·å\k¸ŸŒ¹ýQ»D`ïz'i”€²†{’XÏ¿­FR‹Æ·8°¾…Á íh"%f2<†¯jÍå§ ¸E–‹<î-¾Ó¸üÎÏåàÿ³ tØW;åë±òQ;ªL{.@@é,@Ÿ’Mu—@ŸÀóØ’ua§Ñ «)Šˆ¦»ßç›þ?Ëé‹sêö›¹Õ#…ÙaR}†æ…̪{Ť–eÈl YÕ³€MüwÑD^sḭ̀„òY‚˜¤ :ˆh© Y å9=,ƒTÔú˜¢Ç§¦×vEO‚v<ó†ŒTí‘s>@qŸ%.x¬«QfgIbf{%“å#öœâ.vQs;ÃŒMôÃÞcÁšýwçÙ÷ÑKZÌ8 À¼;3´{Œ5HÿCê˜Ñ2‰€£tßZ>h Y=]Zšß‡-'¸<2-T½Œp¡EÍì4ARÐ\Õéf'Ñm§šÔêØÒ°Ò¡3Ó1d½â«iç`ä+gg  ‰õS‚T-àh² 3©ÃôÑCÄìbßÍSñ\;—†k­ï˜ý1q‡º~:ÚêJ6ÓÈOXªØº–Æ7¾è9;–k­ùÿïHÝu³‡1æèñ³ÏêÄþz ø%<ʑɮ×Aéì/7  ²,tð)»B£I‘^o5ⵈ§®¹q*©$A/[VÅÆõï#ëëÌe¾­\^oœ£ÊcýÕÉ >§2Ì‘Öô…ÓD„54ãÆ¼;ÎÓ$< ‹üºú”­ØûΨn­”¸Ýi$é¾ðAxzÖ/‚²WÖûüßQBt¥¾Þ¨¹l´íR:q*“§%&GFþ\5KbGÕ¦„ûsÀ6ØYŒg"nŠ˜µÝþ}ñË#5Ík‘Áf°5Z™¨¨¦0㠣쯆oz.JeºÐ«´%¤NK³kuûb1Û$:PíÄžÏ9Ð+^÷j$S€é m€X¦/^ f¢},ÒÅ;2wç¸j”~è®(¾Áád}<²/ \Ρ @gÑâ)çh“ }K›ãKµ…ĵÑÒ}¤€ÜyEq‡ë‡…›a ã$¤¯7ôí}¨ G#ùV°ªõoÆ dgÝgb£wˆ½[R6±êtI©é*noâEp¬–IÅöt „—ü P…µNŸ†v1HnC<ï?!ñ¼ý²`rÿÐŽ,F, ˆ_u¦Äþª‚1±E>³ËObîW(§ÜÏz-Üj‰¡Û}‰è`¶Aá’˜ Ån5Gã`.³ªNë¦Âž±d+  ì±Ù Aß®©»žªšeݽ#º˜žV^9‰LŸ~+õRÍe'•ü—^vÞäÙn¹­Ê(,4f 3ER‰ (½/HyýyOÍÍ©G>¡Gk¼Àƒ\S ­®÷Fž> QC$qN²ÆiØ‘ý$³ÅÛsr£‘\Ù%œ ¶yçÙ¡®z»HëC‹eüàî¸6Ê>õ 4¼“M f™{¨£eŸÀº:Ÿ}qeO…ýc é£Q-Û¦œ+¬ïøÏF'áˆg è´c„u?/±/G×~uü¤GÕ ½`ŒÑÐôãXçßJÙ6/„\I“¡-£É@ˆ‚ƒd»åÐêó³Â]`Åq}>Î^wš¢êçð.ò:†„ϳn„Kùø;4‰›ƒ±¡7ðý#ØÚz 0Â=¬5¨ì'Ä<Žr‹3–#ef ?^RsÅ€²Á22é1û¶æ»–(䣯k#;!x¶õ-³¬LÒ…0A,ÝVX¹ÔNkíÍ–¹=,°7C«ƒÃ4‹(M Z“l•ËodGà´êÇÐo™|Åg}—‘¹?~ƒa8«@¢Æœ}ŽŸx7/i—>õeÈtB›`ZjïÙë'©˜ÚA‚S° ýucпåd å‡í ô”ƒÀ(F¸.ò%•©ËÒæýV¯"ÒŸù·‘±¿TC@Zâ&=‰ç%PDC‘ÂæÜKNeè×rùc!;û°jKö›dŽÙyIy&bV`êËáZµ$lsDº}Aß#/~†öÚ¶ÖC–)ŠÉ2,ܰ4 ÷ªMÏœ  ˜Çí:¼®ùƒ¤fB,‘ZƒŠ^á|ß®þmçPÉ‘Ðu—ǹ”.yQîÜ/é wj&ÿjúîo5¤MÔúm¯}—†É™æ=è:'wÝæÖ§Uˆ&•˶Ím‚-Á¤ ,?äkây‹¿éAƒ-¶ŸVJÍ+ëŒJyj:áéÚà|™©ì¬É3·£3xsÔCØ^¡±°^¢úÉcâìs4ñ¸[^P˜,¬—áüvRtZz\ þå}Ìäç¬÷ÉÛ›X÷I:ÒrñÄ0h?ï Î*5§’,ŠyÝ·#õå cô`Ä¢Î<ïaÝl6WÄË® ÇppÌ(úÿBGâÿ Ë&¡€ØeÇÇ ð¥V¯¢E6³|80tÖü£øËÒ«‡ndz¯¦°Ï9?ÄÏï,ËbP¶­G LR@±gg,9²™¶%.ÄoG›E½q!]¾o Ú—3)î ¤i}ïg+®Of;dJ‰9Ï3«$Z>‘ÌØå¨Ý\ `~¤ŽQ̲ÆÏ”xÝ…ù†ÃA¶kmZÇXÍÞ[ÇÇÇÒ¹sY‘u P¸w@R5Ïîj7ü&« %¤ÜÅåU›Kêóðž5ÍT~éhS›ÃW&([“{+ œu«o '²+³å²‡È«b*ò–~]æJ¯ñ\× ã&%,¶·G}Ôî¶õÈSØFF¨pG«þEgá-d“iõÊÙÉó›?©5ÛI 8¤+ßÿÝõóµ|¶ß0ü$®ż†ô%tCNùÿºá<Ð ïjHö&G®ÎãI²J]é徸þ¾oI"zf>œ¾ÑØ"fè ©Ÿž¨¿ùo¶Â²z÷¼ÏÎýç¸Ý~6pÑuØ#зxP,µì%£Á‹[4âÀ.”ÁOûò:£¡šUD®Öl ¼V³.2;{›´ø.,Efš34µÇ¡P›æk*"Þ¶'^†Lîßùéülåm‹Àóí˜Nرë'aDÔE—á ^”yüާê㋺ÇÑ;8ý—Q¹ª íÎeÌKãÊ­’ùÁ†æ;æÇBýS€Ñs@šÛìÇNÿZ²@¾MŸÓÆ›ÌO+‚Z‹jM,:–ÁpÖ §ôûk©ÐÝ·˜Ï\âfòw¾ËÚa3‡$QÀãGÊØÒùbú›$šR}ÍX>é«»ËÝ}­úŠë)}-#«¢1œA6°÷È—ðrwBkƒÈ/ûÜS³Oc}ÝšêЄo#_}*££XRvÓ± ¡<€ù_Ú{²õùœÉ:^Õ¤öà¬Ý“îÁ/I´B_ù#Êø7eZ=WM& ,6Âd`½S%Fn°i$1£ðÅ|$E‡±ï0/÷¥l` ºRD6àqÇâtxHCÑ|C–¡tÊ*¬Éž3ÛFåþæÀ÷ÌßI£áaÙxf–p¯ÿ†¶w“â#4š •Ê}<Þ U›Öáíz™»­ò Ž×H¸Ai@ÿE°77°j$} Ji½×¨ ‹Ú*jÿ"Gä sÑÑÚVû…4K,DÖp/b5|Z'äqú®ø‰ñþ6¹©•C ê‰/Ö\Õå³½•I¶Ê™w~y2=a– ã úE†¥ÔøhšL’+™4Ρ"ü YÆò|Ý¿t‡1¹”+‰9e Æ´ÜÃd™± É?éB¨ÒZ]Š–1z÷(×!F[ƒ63u¢JïŽòÿþ,msm»šbÊ’OÐ$¯šÒÑÌþˆfE%wéôd¦Á\êB¼¥¢Ù3è8yG¦S82>ob›ÙÔ¢èCrŸ®M2Í\Sß$/9•ÒnìÑ'«*Vç(ÙúÂrã0\” fEÅ€"͟΄IBä"ÎŶE.½Ø àÿc[¢Y5ùŽ“Å,…ž†Ìýð¨2q8©šaõ½r¶b'™s½ml$±&м§g%幘cy¥[7€à)”ŽºIMØŒß- žñ)»\wœYUSÜg`ýÖ:²BLl«ñš˜Êùž2š¾¶ÜFD®H;þڵμ½Éç:?¸æe.‰Çâúòh—¬cø­)C_ýºý]Lr·åa¨[êému8qÜN§!¬X(‰\^¤ Ζ†“@Òcé/‘žÁ톮^íî*9Êì~ä'9kU]MrÌÉËÃÜ,­Î g7² u^²ÓfÐJ™¦>›¿_¦Ï1—"8Ößüí+ÅÆùÐ_¼–ÛLö½U §æ‚mÆ~îÊ%½;3<l÷Ìp4øæIV様ÏÉýBc–í³: U»¥s ¶¸ì«Ïi“Y±5ûK[àÍÞºSZ’ôÀsèG¹?Ç+Í;ù5†R}á‰}Y’¶ûcÝ;ô֯ɋ6ÄsÐíU·Ÿ ÈÕa£DƒDš8O­5æÙ$ïÖ×UŸXï+È#Ÿ6½ÔûiA'—ÁI·{ãïÔîùàÄq_¬Dkžkqµ”UøübÃzxXç) y²hGŠ•¸Ï#ü2{Ñ]HÀº.D}£bk#º» Jú’i N²X½œÙËœO³Ýè)N: ÚLÒhK–mßUW h1Y¨|'1äX“‘P‹×R¿dÝÀVm ¶an…B®«ì/ÊV¼±}D†êÉq—Vúâ6’ˆ÷Í/^kŽÓóY/îãTNÒ ËTÊ…âLs}ØÊᨷ¸<ÂDYJ0_ªA°ª’l¡ïÔê3ÑŠÉ@ÆàÜ÷c¤Ý–µ`Eý˜Öéz«²$`s—Ñy„L½Y)ÉÀuI÷bcã"%#?´;*~Ä­!,¸>¢G‘`÷Óîwuÿ´[t•+ &ÃL÷Ÿïø¦Dgl€Bgä@§ûô¨^Î¥9qÅ¢_{‘¹G…—ØÚªÛv +öR{ñ$¨Žý‰ÌŒPê)l2Ö’ˆãyYäÚú¢a¢ „@÷¨ßöùd^{˜ŸŽô…¹3ÛýÃs‘GºÕŸð¹ý"Dpï\Ê#=.‹$Gk)RU -éÝWBK;ŽÇ[aoM‚©ÛmOü$;¿‘ dÐDÜÄÏé¹³Þ3{ñãó_"F0ÈÏM_ßÈû=t•£j½;£¥PØ#OÀI@ã¹0§}’w컰ئ̓n)¯–‹yñ€â²húÎh†Ã&ËaØJÉ€ìßå—‰z-¹…CüY_ÙˆR¨“1ë´ü‰³ù÷ê§ Øì€¹L:q¨¦}™|ïœd2&­„*Õ=M”é:>áÁ„›ç?…Y-6¥Âòƒµá_ðê$¯-ˆN2b¤4\¿K›>³Q-„  ør³èR¸=çüÎíQ_m§ÞªMà_úê.‘ø*%—«žCç¡‘9|ñsë9Ò¿ç ™4µ­_úâˆÁÍ¢ [5"µ‹tõA¡…æ­8 E×ׇ:ÿžÕñçGå>"éxj¹0Kw^©[0¾ãÊ6ëÔ÷¥«Q¡ìê—)!]íI,¿V³«&,³Pï5 ¾@I}Ѹb߯íAn¡†¨çsÌëô‘tEOn¥]i«ŸIyDr›¸&Ä3>‹R ;ùðñøc˜_Å«U;ˆ]'í¦Ù1ýÅs—·1ˆ-L¾–ª¾bD}±±ŽÎòÅÔ¾ñé®Ï ¦kà÷É¡ñ(0_•ß11!–R‹Å$Ò,BQj­¨Þ/ÎlÒkßNA¬‡:é\žEyPíÁ«]Ú…6ÚôŽq²P¿å@Þv`–oI ¿Ü󋸉y(βÓ?î}Íûr¦õ‡½šÌ‰B±’Äe]}¼»%# ,õÈ4$¥”xÎw‘’3Ë$¼ˆÑi§â­a:\äNxœÆ.†Ž,ÃÃØBØzÄ©ð„.ÍgæùÂb3¥÷ñØ$vÕ·rTü¯Ý4¸€ÙR¡ÔxîAAW˜mï`¿¨ÒØ>½ìÃéOCn)%ˆ×s!Ü×F}°ØqxïþrkÜ®©ùÓîGöy¢"5 ¨»¡pÞ4T©lq~»†ãSK-?dûn~·C%h¬ñ£Ÿ–Mm=®ÈlŸã :ˆ×x)ÒÝ1£Q ÌÆÁÈ#v6ÀàY¢ÁÕUŽò‰ó{"çiœò³DT†Ó [66}bËÁ§Â 8WÐ1ÛHÚªCŒð9JáÃü¥NM<7à–,ÂÌQëW{dqËå JÜvû·¨äå5fÁx-åÊïwÖ†ë-F%ظZ wéá r ‚¸=lóN°é†òT­ð‹â„‡3ÖýÛÚ"y Ô Yß$Œ´o—Ó_Œ}´õb73NôÜÖ )Dˆ9 À2øzéBËBã;e"AZ‰ãéSÆÆað‡àU‡ôL'€RÙfmÃݘbù.j šˆ•Ác±{¨Þç~i4¼v%<ŽÇ¦‰a¢y8‰íen²"•±S°Sþg×È ;齇‰»€9n8?eðÌÿ»øNY‚wéoÓœPŒÝ²è GËzå¢,…)œ_ª/ÝÃï›uFÄQÃ,+ÊŶhÍœðÓÙ“½{kaÇV#±Ýh™k‘91†-/K£{Kt§Q‡$w¦Ñu:,"Š¡Ãß—ѱ€É7Ä9«°(-HÆÂÉ%»„yÜ•ý¯IcšzVȧÖVþyªåSåÁ”ÍnüB¼ Ù!ã ›.@¬õ.bÉ'´‚ui`¾)Ñ7 =íéÖó}¹˜×Ô¨Ùëµ#dë¨ß2ž½ñ¤—Ñ ]O¤´B”B%ÛKа ׿ŸãˆƒíߎÒNöT`ßêã~ú9Ô82ƒ_A¢í}BÉ.ŠâÆSöx°A0;M©“Ž%ï}‘W2¾Ã…%ªfù6s\Ÿážwžàt¡5•úM¸jw1¸S-ùúètÔêË„²§…moaá?•Ã…ÎCøÝZ½ç`ŒÐYô†ÎíÞ~Z‘,ÈS#Ԍț`J>ž™m·ø|\ŸååˆôbÅi[ñœ Õæ‡š0  Ì^†×µ†Cç(xÍÞ ØÚ´3™üPŠƒŸ±JñØoä€áõ»“èœÕ  aƒ€9›RKP–îf)²%2¥² µèøý­²’ÄCço>^T¤`i·îW¹é™ñ®´x¶Ðñâ_æÑjÿ§ý gà;äf\~ä¼&\]A©6ˆ@\ã¢Ã¸º&•shåA¡Ê»pîßPÉ:ª¯Ë¥˜Œ‹"à=w/Ecj(·Îa¦OyJ3#ëóµU[ËJ®ðoû™Ü Ó "öЯõަ!mâ™Õuph§ –‚OÌ_8'x²Ž!Jybi—eZÿòLÝ„t/ßÏop$·¹41ù ½~î<£ŸÙ8§çÅì’LvžÿœÇløyê. Bw»á"¤$Æ)1.gy”±R¨¾ â_÷‹oûÖvíë ‡ÄÒÏ'NÛºñ‹§JeáçÎ{KRø5ŽZáúóËGðçQUE %˜Q«`=Ð;3±ùZë~ºjBSñÆmB¥ð è–,³B,Ù¥MI Ú}ĶòŸ ÏÁ8Y™E˜Éù,Ë#SäXÆx,°ª²Ð’:šÃÜ!¼6¾Fp>q9ë6)ȶ¬Oô"“z×0V;Udû|œä.¢žfIØDvIpDæ“ùwöì1%59û2Šë ç+ÔÊOŠÙÎ[òRµ„åJê ¿nU“åÑÖs ¤€‹l|wRy\' .‘ÂtX;‚Ï(²æE£vÖÓÓHbÀ%H¾ªÍak–zR•Ó ½åb´-w~ª»aÙ ¥_[ê…¬€?’ý1¶’“´ª’`–#môÿW=ÑWŠI–ps9WHÍA†n6GVíÍÇ!ÄAñCÂ_ÖùzÐ |ýc|³í=‰WÎ^2Áž¾†¾)€!q <¬Ó]˜–*ÇŒ‡=u‚B)ŒÍt)=;ä%Ê: ­~Ottˆêr•Õ+jò¢@†ê¿ˆÐ/¥¹6E™HŽÞ)i…Æ¢¤Ó‹äÛc©qegZ_w%\ô‰,Pö ü>´BzØ­{ˆ°.d},ë»Ò™m¾˜»¾{/ÞU¹W<<€Ø,ãíóz‰ÏoÁŸH\tºù9Lh¼µçïëÀí@Ó>[vâPD—î€ÿ?¼ ׿¦kÒA­ƒNô§k8·†Y•Éý‰'æˆðO¹&Ü3˜ñ±ÿb‰$±•Råw:¼,+e•V($”æ½69:Ñ…ú ˜ë>›Û^+›¥a|òä[_ 7ûƒ¾É‹§YŒm’¢d>\"U6ÂÀUâÈP´=~_êUøÖ}!í3ìÎ*Ípù,²F['® Ïø¿Éè…7EÔxeSˆ}g…çãb+ZÊ3šÍ@wàUO$4$d_õì£òÉå+©¡}Ý)ÒׯXž¾q&¤]¿V [Â7K°aŠgìlJ:¿¹PŸê«_„Âët¶Ï‡Ó–xÓå*Nœ°ŽçMÖ4#¶Cjjœ6¶¢ÖçV¢18U”)D쎈Rî¾K>bÄO î>#Yˆé¶?È8_Œ#…×m@MT:LÜÀ˜’Õf¡§ü~±¬WZªœ&Am‚?/+†œhiEÀiVo4Ãl×Ôã¹s«(‹nÏÞÔ/èZ cöˆÒê¡8»ñc„¿£ f¸ên7åŠÍ Gî…“À@B£Ñ°Þ.Á áuçôÔ5qá\Ç‚@KÚ-ÓòŽƒc'½ù!¶°ºñÿL¦¬^1KXÇwì‘j¿³`IU.ù÷‹uÛãWîºÅ/]dkzb®X"PgxÒà¥|Ê\â±–Æ+ÛÀÓ:[v`Aƒ‹Â|ñªR¾°DúÎèÀõ'¦¢»¬LÞzÈ3~#ß¡Bœ‘{=|µôÃmÀpE5#èD (Tľé¡úAÆ´]Áä\ÛM«4bu~àmÉ™ƒQ2øÎS ÖÆ×pÌIJ~†‘6H }-Œhtíþfƒ\åfÌ"–4<èÑs7¨óêãdº °bõJÁìÄ•/OÁ¬¾K*â:ØX&(JQÖ¢ _T¶¦¾ Ô†èǧ·Ÿ>!-¬#W-y~}N<­ñøÞ €ªöî¿Vvå5¸Í/iU®Eí¿ƒ»öŠ÷swãtêÜɰ€;••^Ü1· Ò³hìÓFéöú8d<0DýsŸ@ß.µ÷N éŽï(-ß³WÐDLžÂBH™Ø9D&iO!J÷ÙÔ"öåRËÞØ&¶ÿ\F*­ÅdRT,Ÿt’üj?ñøF´8ß4Ïömc¸u/lCRX+2‡¶÷eœË•…†L4%Åw€ýèÿoÓδ˜ír/Kþ?µc;»Ü ÒUÑçö¬¶»wdpV—‘Ç¢Õ×dŽKÎVSG"SínéÕ†Rd¨»ø˜ÆAð Žõ>¦"qZ~Ç\ãËŒç–1˜¼£;IÁË °ª)^Cbë ±u7û,ZÖú?F®Jýg·©q õO‚œÏè†% "S¥¹ôÛFt``'Oñ÷Í L(’ðs¬Š(L,½E5çø2Uáe&I™54#ß]¨Ÿ©ÛZ~ãè&€½ýèÞ‰VÌž?¨ÒÞúaÁäEîÒì-ãŸYïÚ•æ–3\>@ZÇÞDh5‰0 ¶ø;bb^œ ©Ô“¨Î(ôYmBO—0b—J¨áª¦˜öxRºÞ/Ðo±©!…._¯ÖTñQ8ÆLÅ*¯æº4%!©ò";¦Àª3ÅEmÃÎ3¬ƒQÐ5]eÅÑš #q™§š¿…RÒ?N:åË®€T/ìô©ßÎjßôs+•߯Všƒ‚¬]Fa½:Ö; šunc—H ¹„æç8ˆ¹êãÉw—ËDHc¡e¯{ˆ`…¿ÒÃf=–]+f‡B¢€”Ã@ Šp2=äÊl7ÁF‰ã(©|¨ô¼µØ†C¹ÜcTM¶5NøUŸ,Ožl}Ÿ1ºŸKþºÑ´â)2½ã85‰Ý(ê" ¹PÃG9[(ºÉ1Ãø1³¢Y¤Q˜Éf¼oBr]ð!-o¯X­kÏc}'_óòcôm|D &<èU-iÏö~.2ŠËÆI¸–q‰}áÉ™€MÍ›H:ÒQ;]¥ ZÖ7óëçr :4û Øzée¨?´©õOÏ‚€é’àÓ|.ö$½z@bPG§‚¤9mh¹æph9Q­{²P®Ù3GÛÌÐm3ë ¼7Ý/(¸+zk‘G2ä p‡õAÁVѪ€]›ù²Þ~·Á´lo 2Y΃ˆ.Û¹åîK‘ ðŠƒbKYõÈ ¡æi §Ük¼à x1X¾e^ Pc]4£&ÐúÀ°ŠŸ;X)mŒk­á¨~P-ÃVàW6ªëüW3ÍTÒÝÏJÐæ ¹^}Âm…~†±·»ÜO£] Öï £¾X¶lˆzdNè/µ1UJ}¢ *_¥:ÝsŽ%h6 ì3€y£w,€‰0t…*¾APͺ?~ÖNYB$ÅØ­æW£OËýnäÅm¸e ¿gUÔGا¯ ¡Ë¾#‰tlG7>A¡ú9%nK úß3†ª²3sޝé%5ÿ˜ÄËžz %¤{¼‰·@NŒJù,wn7@K¡ìhr…°ÎÔæ˜ Nûä‚wDÌj^ÑÍŸW~–S³q¸¶Ú=PËô<Ä‹j`tšð%œ¥)ÏØ–Ñ ˆH_<\tÆZOž—è:ä¼eíJ Vå¢ÌýšN»'ß5êÚ Éñî\™ÇçOy1â¤ç3 dîìUçq &ÉB"ÂèÁE²\çiÿýpí÷¹ÉbºÐÁæ=íóiõfî B³ã›º®Y]À|x·Û7äï®âB?©ÚÁ¨¯ Œ¢Ò“ýjÂÉž½¤‰)éÍwŠK×¶û;Mƒ‘ÂŒŽ[ :È®r»Õ9•Wßè1C<6Јۿ‚ ]æ &Ón'žÍ=9¨GOÕC5S°û&çyIÒ( §|ƒþ¾iŸ%¨ò;X`N>„ÒjÌžX¾opX0ýÝ<ëèKåú!=C &ÿ,žÅûúànòH£Ö„!P+M¿w¦Qk%JðŽm›p³<[tÄÌ›0´ P´ÿ’7í~ÙÝï“N³ [Ý„ÛpåÑî­Qî4¾N"¸Æ1%ÊX‚ý”—ËÖ‰ËýËêÃÔYà!n5¬Ä@éG?`ܘP¾@¾ÔtfvÓbŽïåDÝß!©ÀÛØ›&ô!\{3[î«ó8d†Ù=e¼î üèØþr»„¹ç‰éƒÉ$ùAOo»w•zk¼ZÂ4¶Þ˜Š<©få¤ ïCÿŸà:BöæôtÅ¥G ”¶õY¯DFìäEIúÈÆ+°±,oý—~hx3{r÷¶¦–Ö~I±0>)ìyÁ±6aW›åü$‰MG¬b æ‚ì:,áÜa¸™DÏË "€ysY=\ân) w Âï?ö]pqí"£âÛXDzàÁbË J÷<Þ,»±èÇÑä9&XmBЧ.›ý+Í‘ËÑ©ä';Ň~”Á(x'‘#›à‰jûšü¸Æ«&E#[;@¯ª§üAò3ˆf×lžåº~:ÌóDk³ÿÿ©w[ôš†|¦ËÚ¹~¤OÜN\ÿ§/¯uÖ'ÎXD\îÔ,Q½xXà” ¬Z·TÚ@¡£ Ê}"¡“ý ¦&íœx°/üУO¾è˜•ñßìïç•Ø"DÀÂç|%Ãhú(zì4.hb,£ÿ.ÇÛŠÐÐÙ/bm†lÙY|ôƒkÞ¢uOgOë"Ï5>· ½'ÊÏiŽž0ÔèÍ ¥À%tjÏuÉ«IJ ,ÝV»‚iƒxFîˆÒnÂ(; ½}¿&PfõÓêMýæ<<GG™#.”¦ßÆÚ(½/>G;owvM-Ú oqZ· Õ~ôXêÚ_sÌßòw?âM4ÕÜ@5E9ÎÐÙ4>´<›0°aÛZšûFâ¨)ðV§;†ðÄ(13‚ëxxü¡P í>Ô\U 6RÇvì̈yÅvš^ÊT²! ÙÁ3@pTx”6ïÑ3íáÑáŸè‘ÔZ*b&¯Åœ¢‚‰–á)Øe~>‹]²vd×hR• Î Ð!ÐÊuÎ/«ñÉß7·—É_Qî”5ŠbÛ%1“Ì)TXõ)­S¡hB7lšcɰ!CÑ}lW"aò÷ âï¦n©ÜÑG†>§ïP?‡¡¼&ªñu?ÛŽ6š-¤õ©I5]º»e%Π™M1`ØdZ6XJü>õ¾¨¶ïIÐ…òëˆÖ¤¹”º÷µï$M·YmËÓKIŸŸ÷“%¥ËÚP1‹Ÿ!ÏÂõ)’ÊÒ‘yÙ¶Kîní$>Clëì”y@¸o¿ëtÙ{MèTýÖš wx2ò2ù:<{—y‹Á²>3MTkÍ%Hä.kÛŠ9Ë}Ö둨&Ó zå¶!´³ Ü”ù?•Ú©p&2ëqüùë«*üŸ†E©¦âÌ?I^þ‰üq‰ýÿ0=î¼Wä÷a»¿5¶03¢·¶Ìk<ôÜc",Û„³V¡Z®z¥„››ú¯m8¬ 8uÕ„GÄmêŠgV&ƒ¼9 K3l+õ)ß´£‡ÁZÜ92¢®#ÂŽaþÂΉj¿=8Êq7ƒäWâÚÖ9H‹v¿qÖ™Ú!ÆãèñÖù=!Sag€DÕ<|sé% $®gÅ솉Œ&¡ÿD{ßþ4®W×/R:=·^Ö/”™´)˜x YŒmPg×%Æâ·] Èá1QÉ—Ø{E†µÕ°!XØá]C!_².btЬ!dUHÐ3±¥aôqï×7ö±³?‹Ct‹ñÉ–=¶£4ÅJ%e<ÇV 5^ü¸¾G¬8)Q&e¤;o`ÿr¡ñV3>F‘½KfâÕZJþFôÛסem hèMWžF7¬K£ð×I-W>¹Óâ9¢jÈ€ll( >–îì”HzJr;ùáÎà/U T÷žXS7±[×7]·3ÛÉUÖA?,æ‘5§«ø `„»ÀdüŽd§|ÊaòÉ.‰k—áts•¤ë(ÈGMŸqô‹“™÷*Êøœ?†QsØs¯Ð`ê ²÷v’ ¾•’º]¤>UÎÕq_–UŽÀ­:I5ÖäAÅÇ|S. H4‹‚k¹­Õ<µN°õñ¿Úç *;qj·è½Ï“;ÚvhDxÃŒIJ”ŒY’ihóÕ“Õ-a0µ¬×K:Ðà   ñ$´Ý=<½l¼9DŸ¦Ä«±µA)¼BÝZ!ŽÕíHŠuÿ&Û}z«s™óœh¢È#6Úæ°&{±ô•}ZüŠ@,ú°uzkÅëb³ Âo”d"€Y"¾O5eF§ü4Ë%sR^)n'´T  ¦ž\®:¢ËÙϽ.lÃÙøÿWE·JòžüÉöýü6ƈ¼7ÐêðnàrG;œ·™ÈKËp_0‚ñ—¿¹;KÇsˆ¤ˆ¨ú"Öª‘JçO¢aìºå',È7’Ì´.øpõ04¤?õ°LÚÝ\K “5¹Š>Ì–?ŸPæoÂÚo"T…€#§=J‚³Dë‚$’G$jÅ&µ•:¦ôäÉ?‰u¦X3Þü¾ J*6ΚÕc­0Q쵉›Ãq´æ‡bwô%ƒö†›C«`ÂБn_H[ùWm#CÆlÛüß)ÝÏÿœŸ´’H›áµu\Ë “ÑÀÍþî zšèdºá7#OOº²û3ø/0^ª·Tã#™n°k\yAޝX˱½.œ¨!aâT.Lƒ4ùÈ|»I*íüíÝOQ£Ãœ_ùë[ 2bý¶—dâ§ëAD­å-[TÜ„`ÖÈ$ØŒ¦û"«l$[é•‘õÚrx‡­ŠY¹¶šW›h÷ö3õÊ 76]9´Ë³^L¡óƒ3{é"f7G'eõ$²Í19z·5xƒ¡†iœ­KXj%í ù]žaÐ>s£Rå˺G#­dåf!½Í5gTºx²u$ æô®¹Šù»oÎÍòY²Tcœ‡¼ª›Xýuñ<G(†ŠÝ«§÷Úz ÿ×)XÐ?éë{™dNލÞ>u¶ý8Dë´Ô%¥u#XlÐ8ÉGó+Êpn7VØ G$òOtcLºÔ ¥– ¸ñâÝ"Ø$—ßT#¤¥ùšóÔ£L¾bŸýïý•:€d¤%°Ê¦æâMÌ”ìnÉ„ >åÄ:x©@yÚ|Îÿ_ýšá/É’â|dAç÷u²ýÞ Ö–×ØÎ–‘Pǃ‡¹´‚z²¤<’€‚­€GómÚýb¾­åÃK"µaÝ3î<ÀNOX¯_Ó<Km‡îD}$àOþ>LXeÊX*ïžT*;Vfð ^öÀ+‘YþdAOV/ÎÇ„TKä(«WÐGmx¸®‰)3{Ùw&{ …u‘ ,¦ÙFIÒ,$ù¬þÉ.¾ÄÛÍø#»¹45gð …¸Tb)… Žpà¨F!’™?=^KDïÁ>NCkJ²‘KÙa²˜Î$gÇÆ;Ø“ïV`J#AæÞ}‹‹8I½ÃT—…ëÆ®Ø¥(v\ìr‹á"¢y¦øÌvPì½cõ‹ÑŤŸK™:nḭ́|Âg°Ž&P~!ÿ¡¢)æM ¸¸¾ ÎzôG2?.ΙNÍq¸Ú¬‡ÊÌd.'‚TûªÃ@Ö[‚Psè_•*-‡OF0$7j„KñâÎ \#O¾E0RŒ¿$…m’¶ êM{H‡1∲¡hi'ñÝœTɼ$Øý+)¡#—.¹}‚ø²sW’Ë Â®ë¹pã9WМ4 ä-mÔ¶^7»:ÞÐl$Ou£ŠMAÁŽ˜O›ëñϾxÑŽlZÞÚÎŒaKSÃ*;†$—Óßýi °¤ æ=þ½pqÀ†^p&•—w÷zfç…<ôI™"¦ÙGßõ!Ë~€hÐq"aÑÁR:Í´$ãƒ',|¥JÂ{¡l)7æÆ ™5¾ÖüW™&·kJ~GfìÞ( -G$ŽmûyÂv|¢2 åd0U²?«-¹iäŽøUGkX‰¡ÂÄ¡Ö/•]#ÿ¢-/Κú¶+BzóŒ“ø«è'I9/”Ÿ‘¿ŒùÙ`ï5hŸFÅà­[Öô:1ÂWÕ¥Ðu[Ò²É,ÍgsU»%d¥¶t¤ÇIÌHý|Ú7œ _û[ŸD>„ äN% ¥bÊHJ}¹˜ 1`«8Öÿ²{WÇ G4*T}Ð{3ÃÅÑ@™†šaùiìÀ|Å]ŒùÐy”m^z~•TÔ"‡fšÀ\EhuŠåó]îÔÖ‰Û†¶Õ~X¾DîDÅ(¬h 3ò䜵gôÂÆÜËU[wp{?v÷p)ÑÇš\«¾°¢p0¶ÎäæÖÁù;iËN-‹n²ƒB–ô\h#¨ZôÉ |ÿ…XÍÍ%/>ýoÔC(ÐÔ4'³ JÀCí¬ÄÁL‰Y¡5ÜÃI"ÝŒ¦”(ÿ¨£ì¨zm‘Â!ßBD#úeœÀVk^²{J¢GKJ&[g`çîºã „`$׋D÷݉v_‡ïiP 6:Ì)·‹éžºŽ«O˜5ñBžLÇ>íÜü‰Ò¬@£»êµ±‹öl×%7Ù>´<—à,ª‹©Ža\ŸuñuEî“— «‡ó‡Öí µD‡qêk ›ÆQgÏØÃq¦ Ky4@ævJ£øƒŸªÈLFÛ‡Ssô¶ K^Ñ¡'R‹ ì1èÆùµ'Ð8ц9ȇæœßûõù5ÁOóƃX²åÙ{è÷Ó(MŽ[™š,‰°î“e¬ð;4Zá)YSŸÜoöýínz™«-¤ÓŽÛU.5–ÎÍ]˜âµ„ ¿>^†S„© íÏö¦VË{ŸÎuÝ™x ÝûºßDŽjñ»Õ7ù8ð:Ýßï¨ÓpºÞþ”Äv¸&;Oew9 2#û™.›žÉ'–؃#Xda«jbtZS»ÎXZÔz:¼fõYdišµÑí)aºâa¸’ì=¥qëÛš‹]êÔêï—×E鄘 i§€®ˆ¨)þ$ÏSÖ>—þÞŸ?Æ)f•\ÛJ© äñöÓ‹=6ßBj +²ÛÃ)³¾~Ñé¿• øÙ{쿱í]D"Û‘*ÿÚ`’ j»)¶ ³•tHÅ{®‹@¾÷ú<.Š úì«¥Yýcyxã÷J7 =b’g ‚OÛݼŽöfé!–Lׯ¹›9°‹š¦¤5+§xÍFó¡›ÞÍ·$tLž±‹Z.û÷„mtZ‹Hé±KÂ:üm_¤¢Y5Dc—OHªWZ¯ó08î V,™x$µØÃîê[vrŠš`­Q—^¿³ì’öü­»…Â^/áš’¤ìý w¥°Ycç”FøuR:Üí×ß é<âÎIçfP/­<œ±žÛ§úa?i×øäËgÑ1TM_H8N'´LûûøOAÙè,Mþ€FïgØ}ëj}G[–„þ"ݽv7÷÷Ï.'i–~cºèà8´<Šjhâó¹Bá@KM‡Úýƒdë AÊŒGˆø„°Ìhhw<ó±É‹@.3Ý?Þ£”#ÖÏÐÞgâ‰fÕÁc¶Üàçðƒ¤¨‡0n5*šÕ‹øuŒì¿!]©J­ H„aÏŸE!¾Ñt»­™ÛûXÄZ‡Xë°êÚèQš7Ð9Ø'{´ò^@ŽeÅ <&`jRvDj› †›™î<Ú$8$-óZuz0’üWXß¶;”„ªGÆ‚k¦úÜ1oÎ5aÛK#1˜¬¿%’[àª^ÚgW#LJÐÚõ óν– ×ûí­¶LWHÀVÈ¡ w‚½$æõÞr‹P)æ]<ëú¸“uOn²îö‚e\ðæ!'Tddª{¤·C¸sö¥¶Rµ¾LŽ”½‰ÂÜR.Lï%ß^›ÄtıM(¡QØ;ýâ2¸?€‚ì±qïtewÑTÐÆ(Mœ–Þ!Á ܦ+%é¥2ºË:YX xfª÷ f<Ì]»º;`.5ÈôÛ@¦?ˆÄ‘–í²w¶ðrš‚ísFâ·¶*ŽAü÷òD‰ï—ì~)žE. Ãûõø2Ê«hÑÀMbè[Lqí¸µ~4ÊQ†f€4ÔDÛ¦×Gò¯´ý…ˆ§©½`øƒQ§cP*Ù«§šÖTTâ©I¼JùáóC)šg~ºµÝ6Î Å&š?•FÙë£,8 ,¬¿Ðf} ²u“äsaw ±hÇrïyþÜMªë‹#ðln…J˜D`3èâ`ÎEOë:’r+ŽóP‘=Vço¸I0ÎùMN;ûY[wktâ>½c2ÁøHM} ˆq/!v9ûÍœdlwè 8‚v®S¹p¸¼_N†2A÷– ‚?ìÁ𒤶èÑ÷¦k74ׯR5¯™| ÑÁLGØÿqePÌð9œVºðÒѲc (VYíÒ°¯šáM¢¹)~D7 á²±ÿîrL¼èPNzÈÕ["†5þ‹'eù›5÷Î%ó M£K–%!9Bˆ²…¤H‚Ö¡,ä2ªà‚&¨›Òò)ôTÜ ‚*Emöuœf…¯]Ð0]µàû–À“L", ¥Ç$%Ðõšà½Á`µ2Dx”伩6*Ìøµ\l ÕHa3ò¡9÷*ËObu¯Œ‘>•ô£à\2Ö£³˜FЈ`7q¸ ihÄjÉ÷õZ¥0ª³\Š ¸”äó´a¤˜‰ž…ØÞª½|&jmmìiàj†Ô P¤ôÄ#Í[™I¾‘=Äüìék1®šˆ¦Û÷I£QËŠÒ,ý©nr½@/(–ÀiFǨ#´;9MšºF à»É•9³{K3K@°€Oãó¹l‰ÌŒlî_;«Ìkeö³L ´˜ iÅó>•±‚qÿ=1ñ¹ 2‰k{x†ö{79ž¨u*šDÔ‚•û ÀšSNím–H;øK§¬CÑÍÐ9!ü¤~.x­°O,Hb&è¡wb¸JÓ„½5À“Ë•¤ËYn 3¬TwpúÙû20îµBf%†Ê¥Mª@û³mrTÇ&ôòßL‚ù\Á2Iº€¬cÓU¨ÈÏvèF♳Y%,¹‡Ëè=ÆŸ=r"« þ^noø‚#±£,g¤ªöפš-ÔÝDl'H–Å™N·€ôëpz°ƒÉRû"TŠ$Û ËÂòòF_LÖj…1Úë°eô„Ðçë2\[ñû; L¢§/ä(þO‚¥4Y4Å–)ýàà­Ò ?]ù´¨¼ÌK«˜w½)8Eév ªBüdëÌÙbk5+ð-pþ•êÂçc÷)‘±¼=‚/œ¤Ã‚úæ«ßo+›­Æ¬eQ¾ýÔ5âV†k·¹BŸë ìÁ_YÁüêøë€¢bê…TEp»/up´+HšÀ!²ê)”`¬Õ‹ÐßKÖv†ž¯òg0Š$¾0-·ŠÛÞ~}Ã^üIh‡¨½íA®kŸ³÷‹ïjV³´–qÁ}6r€½ïEP‡¿m#õ©Ø©ƒÂ«¡82¶l&=fÖVŠÞôyó^YƒÌbB€Ì íÒš"Á‘Z~ìö…CKÁ‰V0³Ê:Á$$: ¸ŸßgùmEÕ EØá-œsz?‡*e±ª#$ØÜ•킯‰ù êªG˜¸ã¼÷ÂÒðL¶WTåÂ!0Ñ)ð´!7‹d7­â W¶Üä¤Wš¢‚+!$‹{Óã…)YïÙá7ÃqKA²*O‚‹1¡‰©$} Ù1NòD­Åõ-dÚ Y«öö&RjŽñiü×Í{1¹UEjEƒ“ia4L‘ð‰‹EæÎJÌÝÓ³€"tqêÀrXšbm[° å&¾±»`aå⨷Ù^[S!ÃÊ©8ÈÂRòØz¬‡Nš„å S!4ÿÉ5U¼E•JCS¤le/Ë %‰œñçñÐÞ'ä€õ|K§Oß ‘&‚§×.ð$wµäš7z,AÛû‘=0Pƒ‡h–³2äáðº×¶.’‘pÇd‚˜×ùŠˆÂ6ÆÁ{þCÞêªÝŽ/*…Iò°™“ÀÆ< •+pß` âˆÄ2rŸðÎL¸j™KÚ΋ó|ñT¤qø¿™±XƒÏ?áü¯JdåÝã‡çJOµÛÚíM”0âŠÒ³šæ£¤\°ô;‹8m¦¿DÈSÊ |9b¤2 ·Gú^îú4¼6³Ÿz\1ô¸ pTžpv‰ý°`tEó#žŽ+#ìIÔÝd*QªÂmyÙPÒÆ‚åéAMþ4{X*ºSÅ–;e@×7ÿl¶ÈXF'œÀ¿¬•Ð4Æ]2`Xáu¿Ð„Iëþr£¡zO»G{«Ÿßw·†Ýx®1?ÐÌÖ­‰Í r£QÚoâ}ÛKcÇïewFXÓL½ão`{¸AwPξÃ~r{òòº Ä=O/Þb°X÷œgBý$+„ã¬@võÿÞÇ65žvÂw7ÝfÓ »ÂÂéSö½üw #8h„ìfDc¯¥T £-Ù¯crÛÅcJ|Voäï®/ #ñ® ¼U5F,O‘ç RŸUò#¥³Ê›·µ×òßµý€´ÎñÂSô,í0*Þw„ÔŠh@ëŒs,ûÄ$È»uÁð" bgéh”ôIm›¦ Y>‘ëã üØÍ`Å|ƒ»œçên80ÂX×VÄZíš§Ôòó„,ѱÊ<’³LÞœc¤¿ ØIbŽÍËUšžg`ÂlŸ.$ÈCWÉŽþÙÚXð,¥ÎÅht¹Cì`½×Q泌}Œ0[î¾Ú/H(yH,UŒ$ަP>BkŠøð­ö³è¡âù"3LœL\ÔC$@}Ï2[7¥–ê!J5.aé–MO.ùÓšW?Ǧ@x³ØSõO/~lWÔ f¬îLŸx™éÅŒOÐwò4 «ŠRåØE›Q¢p_íï³ýtßÿÓ]θ۳p©LZÅ7¡×–¶š!GR…kõÌ,2¨ÃzáíDåµýž–ZåZ gPê|Õ«Jp@øÛ•‘‰i„€¦Šz5†tûŠuÕñY¢ óг–š.ªVÑ3»›1_¶Á™"‘¿œä~ΪÀ\#}Óšø˜/u;ù‘*ó/¸æN ” IZcgj?wÂp]VÑõÒñÜ2þÅPµ¾lð&SªcÍ¿ú6÷Â5«C­…µ{‹­Œî'lÕé¾}aµLí?‚ ì¬xŠT)u“™ìî¬EãdEâ°]s!W O˜ñÛÍ£E+ÿ‰2ÐòKzŠñÞj)ÓŒj[Iv³ê )”šj( xàvÏ·¶ÎxÚÍ­–'ײ¡ÈBÄcZXÀCÀõˆQ‰ …Áý¤äG­ö’Œß» VÞÊÜõ3pE¯È§„âßd¾ì2`]·ºwia²GÛ4ÀDOS~,4fÛþàH´‹t<`!tZ>¦%Û˜ýG›It6ˆ!ãY©'Å·†Ê™4³8e~8æ91é(¶ê NòtÝ×´ùIxõù`+黑X· …íÒtš¤’öƒÊGÓ¬²ŸXœ±ûFÝèÄÃw§¦”9f…xö©¼•3õ…ܘ~ƒY^ÊíZo#ì÷T 9WܱȑS®FHÅ.Ú°\”7Ô36ïDsh®$Ñ—'ëÔ¿d¿"™»%nЛF´_ÆXj×Ô⼡OñÉ퀮ïßÓI\r 3]é«ÌiÉÆ©q]lPmªÍ\:U@Ž‹¢š©W†5«-@Ù´§æY*x¤IJFCùÿ%T ÝeŠ÷ÚÚ7O†hyÍÉç° ©$Ô˜¥vÈ4îëT2¬œ. Cñ¯j>0Åÿ‡Îm+ªö½Ž²üZÎúz^SG*—ý}·@«5ÙEƒÂÆÈ*¾gœÏ(™f~¬}È»^<¡eãɇCùô®Y—P_æ±cª@õP ^‡Ñð½óź½Þ¸€ÕZAÔ=ø¯Ìj&tzqÞœ7gëyÔLî­æòZùDŸIH¯òõ+ñé3^º‘fá•(ô™Ñoâ÷vx‚çjaŸ:Ñðݳ›t(M`óÓG‹Ï–'‡GG‡0Í~—,%²/5Ð㱯¶.ï´¾³‘àÍÆA^÷ŠüÒ6”G;Œ”݈lÆäÒ°ëZüfiéi'Ú‰ŽyN›ÌZùnÚC‹F8&9{¼ we5˜ñªbÍË‚$MÁ©«­E¥d5›h¨-Œ$´ÀÝ* å65ü….z=†gøGú¯›ÂwíD=]Êofª s=Kf Ö»š_?ù…J ¡ÜžlXÁÑ6Y9kz3šfðC«%‡éChmLæØþ–ûŽY±ÜüSYö>7(®îHmifìP&à8ßø&m÷Åa5³‚]yr(~1c÷$GQgô“ô‰â#ÌT!R-²¤ ÈÜ“Çÿsúš="6…€0µ¬ËRîI ›È8wÍb®ù;=Ø1£[ƒè¢ãHœÌ¡ÊŸnu¦êØ Š{´ 9L3ïðÚH· ¯|û"‘½èm,í~æ÷3Y“Öá·ÁíÀkÔó¶¢B6“È( ñ=ÄXw‰ó©ª_q¶»øB6ò,¥-ÈåÙ¦‘ÃAA–®(Ì¥qÖÛJÜ †øÌÉxXÃp ¿ÌzX0|¥Ç!‡ÿ¹sÞÜ ¾‘Ę?h^2°æ®r u…(ª E¬øR­°2K¸‰zÏx5ý GBJ»ž¬mf¦ÙŽß–û¤0¤@ Õ¼i`Ƶ-7ÔÐlIaöcøÍ9)«BÇ r{x`Vø¥¶4@¡o®{ ¬jÀúët°½ÉGQÔtt‘v×~2|…£SByŒ*áPä0Ãm?&.)ù>e{µ|iz^*ö„U8Å»Ÿ¢l1Í"æ6WÞÓ‚J©•]umLÏL3Y›ù^à ÚöØsš¤ ö,vFí¥­s¾ӶѾæ×j¼zÌýVcEZ…° ýF–ÿe‰;Û •*Žú¬ëÛXžÆþµ²{ZÔâÅÄ¿ÿ(ø™tãþ©Î¦2û¥á˜Ì—úµýStÎ,ÔC¹ü|E¾ä/M%Ílòu€gBfIêwàç÷ûsöVc[hý×·fî- ¢ê@k¢6Jÿðw”U}²§ ûÅ“z ™üæšü³³o_ôí†0‚CØ/%õ3úÁm¨¨Æ¾¡ÚͽB÷ SÑ¡ë€*€~Wi´ÿñý…íIÎwSâÍ!ËÕDIÁû”³-,á˜!c¬U®X ^c±ë‰”Û?Baf<Š9JÙéê¦LÃiaøqÙ ¥.¢€‚¥v1&l+ÕÔ{‹ž&±º¨Èd8±B7Å9ÃõäœõØ­*Ñóyõ¡Év Ÿ¡VáÍÎ8Æð}[›w솊¦$Ø=9À·Œhn¢‡£QïnqY¥T°Îó^r9ÓÂ)zî–:ìˆDBòddïöÃé…_a_v"(m©:‘"çƒxÁ¬ýÓÜôµ›ý äõ83mR@kúÑ俺£âUu’÷Âs¬këFoÕº{Äh˜¼˜ê;½ëž®èý ›*ŽMîÌ -ˆȱ®üÅ#%ö¢f<Û¢ù™\H›Š­kiOŽm8DðF¨(‹~EåP›ÖQ9¦–Ê[æ{ ÂÌjW¤€$‡mÝòí#ž[E0 #T*Räãå‹Üìa¨mÕðm‡w"ýƣ쵲LØá¡©¬Û|\ÁA½àÂN»¶ùoâx·º¦/}}>ó÷AÍ*ÿ½@^Þ‰pP1ÔŸ/Ò¿QÁÆöÈ·ñMX¬Ü4;Ïš¯&™Cò맇“íÿ×éd„§58@?'tèä9ßzFCmðDI­P‘CëP¤a4ÞPÍó‰Ã»AbmàAC ¶6¾ÝôÔÈZa‰@3,l8àRŒÙëFï”YûK ›VH½¬c•©¹+î×4ÍØZØyMW¹¸;dÊ1é‹xâB•$ñ*Ús·*:âjVWoðZ"ô¶ (Xµ×?'pzzÐ3¦€;íoB¾‰¢,2ó(ã3XÁÙ²Žpž¯3lµ|6Ø¿9ÉW+[{¾çÕš‡>Ÿ/sHØaÏ$»´Ëà7¥|0U‰Ê-B“Y·/0Y›3ÌøçZ+þª%¹Ôj¨Š6Åq¨ií¥ègÎE5A§I;Ãô‡]–  ÿÀЂUŽÜäGçä"µÝŽÿ¼=¤n$RT®¸ßTö ®®k"O:‰Ò›Ài ’ó03ç£öðL—w™Är“"æ”pá-éÛäHùF˜^–ÝÙ7U×W‘êV}—ªšžÕSô>  Y½üêM ²‰|~$ydµ8™øáp«|"¯)çfD†3ô:Ö‰—¢ÇO¢ñÁÀ¢ÕÐŒÁ‹6‹†{#b#‹êòLµ¹sM3ð‰à À„® ‡IŽb”ˆ”Ò%< €¾VTH yÝ”Wö hOÊ}éàc×_²™î ¯Œ¤ÈSÏTºAåñ~9=±¥kU.„ý Švuõu!_äϼEV#¶JÂvm ëûÉNqì™ 3Rîì]Ó†mó…Rܽìb´ÀmHs›Û<Öמ\R›÷s™é…üÝîôùÆ^†ë,–#-érQs)ò猿Dòi)g+ ûV¤¾Ñâ$-+mÝ|èDÙ½ª¥£Æœ– ³iâMèÞ)?Wñt+!yðö»]ûRÚ?§"^tüAIâËÓAÏëÈšxYÛ¢*£Aø§í‚ð|õFì'Ê$½`¶9ÊÿÔ¥ÎÚµ 2ev3¹,”P£šºÊÉèOlXˆŠIdzQ£ËÜ,㊅oŸ²2¡|ݘb)Ýñ—åáâ[ÒHÚ'¯LxçÀ:T±GÝ>ÔD!hQôfU“ƒºlR‚¢k¨öĸFB:ÛØ½†£DžéRö¯X#TÙ¥¯¦÷"_4µÒÉkpZçÆEÿ&~!gö41¸ïo¼ÂÍœdtò "¢!êÔÿ׈Ólñ `ÞB‰rɬZ¶`Û9ì½-ÜGöòF.ÞŽÿ` Ø-«áêªÒq¢{Ù-ƒü,žZJÞá,_|Íöì¢ê4Y`¡ÿ»ËÂ÷—ô6_ÿá‚Èø^A-µÞÔ¡ÑÀohúŸMÑÃXq€„ Jç•dRø’Tl2â®z)†“û|¬ûu '˜æ·Îú©ŽJ”O,Õ§ø<î8šu—kÑÆ ¥˜ƒì«ûrZÁ6Š&4Ä|G è z½wzçÈÂ¥VƒÎ%ó cêC8Ƹ1®ÃN"ž%hȾ =Ê1ˆ™îÔÏõUOfƒ7F=þkõé0q‰!à·'ÞæV“ÐÄ,Cý+WcÚ)~IJ¡¯®n®‡|»–IïÔ xº3œGÙ}·$)FÔaiŽNq,µ $\’"3š$2c‡ÿ·¿³´ÅÙ¬z:]ãÝè €©wùþL*`‘ͯ>гGËQ}ÄÎ`É%ªf3[Œ£C¨8"Õ›~6À ëÕë婉ó´˜Kµ§ÞþÀß°ø¯r°F®uSFć½ñU\TŠÙU‰‘z*T͉*¶¦’5ÙPtJï·3z¡&®"Y™¶/mÂõóÉ]ȧà§W.lÞâÀ—Ò…_9·¾\Ñ}Uâ–~(‰‚ÖG%ª4š7„`´Û^ o¨yMx{9~ ÖSFÅPÖª=†cÜiÖ <'Y< 'þ)KÌ.¥n„Iv*Žû WÎ \÷çÀ°µuËçÓˆñlû€îkŸz Ò^Ø¥ˆAãf5[Ä3fÁöù6þO}ŽH+(þÊ…_íª ¢ð};/¤¡LéÝì3Ñll^Ô°,7 =Óúš‹®Ž{Ÿµà°µg»A‚@Ü)ÿ·è7ýw6@|vV¼þ¾Ü$o¨åÄû¼XÔÿyù( fTkÎ¥‰_Ï#0ñ{u¥>ü:“<µJ¹ ½î†R!wÈHšép¥7뱃DïH»Kºø6>˜R7 Ŷñ‘¤äW2øØæoƒQ$ÈFH‰2¨ïh7X ²­8%R:‚eŠèÿW£u¢tÅ!¶_SȈAªm¶†ÉŽ?䀠¿]mjDU?›¬wKl«=`»ð¯Ñ„bÙ•ËÁíDrAG¨Ã&Æ[ŸhíðœÃœÔ”ÀC:Ó‡-'ÜçÑTr:íGr‘E¦ž»ªAEù”‚m£JèÇ —éù›oäb°Ì@-Åã©’L1„y²·¿ xŠàJg÷nQÁ`WEæ‡!/†‡8Ñì`ÛÅž,·å*Ôœòøø&ÅÖ;aDܸ»YÑ›b2­Ñ¡8»¹"Ÿ<=žŒ‹¼ZþF:Ÿù€ç0ZðU–¼p±Ó°"Špa¸U’ç)&ƒ¯"1i°v§##¤Â$_ùð6˜®:K!á{}Ï~"˦JQÂÚ­¥U~!Ͼ@˜hQµv&ê¿Hàlæœ3 ì‘i¢lZŸé\4vW„¦wbåÿ‰r±¾ÌTÌÊR‚Áô!ªéÍ^®P  ÿ¼#ojxG¾|*ÞÝ–¼!ù Óï2Yªa––¤é‘âê5OÄF£où$Ý® «Üˆ žª¦oå³áµ6,deDbäD¶ðR-ÿ(‡9Ü*›¯ýmÝÀÙ!´è,ê¾;áÆÎg@³\uã*#]h×ß9“ÕÂu’O¥¦óÙk*³‚á«Y§[û#Ù”„ý¾`žR­5çæ/Ó`’Øj‚TîûJ,í3†±­ÎÓ½uÒ(B¾Œ‹·»oÿ¡ «¸ Á¦WxgÉ4{Xó´q5k;ê[¿~9%ú#bT‚ôdÜ€´S 3Dâ·>ñˆ[_9ÜsdÓ+„-éÈ¿´’–}„ è˜õ«þ÷ìE™\g®¯Õ  ÄáÓðE',wzO÷ÿùO1iÜhÐÝ’Ì6Äÿìt/yÖ1l‡d]K6Îä‡t7‚y„굃ˆðÊK@óE)¬º<»„{NsYs|Åiøªøð7nG»Ÿ\ýׂ»ò[M$øxïQ4ú3Öå^ÁVuϹ"°±Öè˜[¥˜ràzRb‹ysµzüõ»5÷ý'Õ<±6`™È5)x²åfSš4·Ž®¢Íw1æGϘu>6ù&¦¸ÚðG‰ÿˆ‚— àÔo7‘I7­“®8E—@ûúOYX‰ñ{Âpqp ž¦‹®PÍuÁ¡QüÞU¤ 2&l‰Šâ1ì ’@Ô3QÖÿ›85gwв«Øx–ûfê“%Ï  ìý1Ü ¢É,E¨K_žÙßê£{sê6v6C$µ¬l´Ô…Ud£Ô¶اŒ¡.•S¼·KQ|ôÂRé½1Ždz ²×¹ˆöpBf »™Çð†¡B :¼ÿÝ.«Í9:áòœt*or¿LÒÁß”Ÿë51›ÓR„¥ðg™Ú†åÝTæ²BÿÇVd˜#?zš*´Õ²Ôû I‘~ª-Eã%{èðÌ«êû-·9o‘ågÄÅêïuÆ©•ÑÀp­K‡Ïà8²›ÅølBE­þ¨#èªP€UÂ,(a^ÕŽ£ÓÕÚÄkœjØß¢x¿JÞ ¡ëÛ EþÃŽ[ìÝ–äNMiðÚÛaTÊÑËÈYïÖvC±°Êˆ×ã>°…¤Bª=Ã`^Ú7/Úçñ/Áy—ªñýF­¡¶k6ì¼dþXð#Ðð³ùþoÑÍ7„«ï‚üB"èÿEÔW\#>º@ÔßQ´«´ÛO<³ëlüNÿþuZô=Uœ–Æ+C”4H‚ µ8ø¬:ý[ƒ:‹0£Y´‘ÿ¥ï–ø¯kì»’;µ¤;€¼iÓ& Ôæ2íû;hˆ¯©îqšg>6^Z^]®•ˆ3É[."©M˜o+8w/<¿÷ÚfŸ3–‚d‹Ri™pÂb¾ìÁ™Âs— ¸À ·‚’üç…öRÆxhcÔÑÊiÿ"ý~ƒ‰×HE‚cKS®Ø¡$„°.w:^û©Žú¯áü1Ø/“Ôº6G€ÍþîT*|.w¦(¶¸_À 5Ól‚èȦA¼øùí‡/ô9^Ì! vä¡ÂX0s–NÊúéf[5Y3„ä،ާB+›èORšñV›†).Ѝ‡½}—X)h²!$¼ƒ’%ø6Ó+;‚ù\ãvºÃs<¥mżpæÂÜJ§DDPôI3"¦šb!«rÄ ÕE’&|(îÚ¯Ôá¦"÷=¬FÔÏó†þúð6‰ zxîÞ“¿q»3/_³›’Ѻ)oòÎfcø\t§ã~¿3“çB׫ªY®v]Ü.‰*­†0°†àTM:‡ÜíÚÖ@{Ï >>’þÒ†Xx1¬i))œ`°UðäÌÓœ§×Ê&-8¾göŠ09è¯6˜±p‹Ô ‹IkJ=>G¥]¿N¬Ãh¢ñ3Ùx?råÇšuÂ,/¿CnÌ{¨ÙQFñòù˜ñ)¨C˜èËÑM+3Vceõ?þ„-I_ªŸ;žH¿_sxÙuÕH¾¿Äáÿ=âšQöÀ%E3‹µH®Ÿ;ã'¹¡\ß(ßïO‚œ]Ú;$_+\شˉ÷Óƒ,ãÙ YÔPZ ³šÅÐr%õ-]+øbÕÂpሻ2½Ø†¸œ›’šú5âeÙiÙT7_ÚeRDÜ:Ø$ìÆà‚òfõ~¢›Ìx)ëÆ™óÐFEÀ+‚Îmƒo¶Ô :™‘/Yd®§ž™ÿ÷=:¨ý‡‹¿‹G8Ÿ'µ–Þ’W|–~áÿsÄýñ5¢þë†eœ™ÉÄ—? ¹âçC‹'9^¦d\(Ú‰Å,d·]YuxèyZ f<ý4.ï›Þ¢`qÑ@%a«å­è6RÄ}>B‚#žPgãÆë(Êaßµ•±j¹©ìü2ôìU™ •‡=ÜÏo=né ?xëY´9dÇóÏÒIË‹§$?ÃòQÚêZ_ãjt=6£B¦Ú­M(ƒ…“Ðt²_+’ À¤Ÿþqe&¯?ÞRÞ(¦M÷´­¿”ÐèCWHÌ•9!gí}ȉ]S‚ªž!=7å¼@-'iH3 z+|®ýü2Æ1I 5Ø‘ ¶£sÑ%JÀÞ¾÷ÿ ö\dB wŠãdNýÇ=KLŽÔ¼Ìꃃê¿HÄ%4î“¥¥.3ÕRÑY‰ý,Å+¿4µ£©1Ê@’Á©@šÎä 4¹ò‰Ð)£j…2·} Ärv%1ÞÈ·_UOwðüCŽE÷ÛÖ«H  šJx rúu ^^tÙçÁ­ ¸5mÕÛKqÛ;ÁQP€aKãa\ñŒÃhËÍY2ô.Ý‘´þ–M*ªÐ‡¶¯ßÇÃâϳÕÑ!Fo³©Mör¨ Î˱"ßùO&’ õi¾Ú©T1°àüªG’%·ÈV L  êŠÃa%wA|2G+•‹½ºÅDÿ•–1>æ+Gäצ."ï¨D„_LԟΟŸ€éèš93Ö•P ÿ³½‘ÿ–FåÇÐÈ5îûJj»NÔkŒ?1„÷Iïx@ÙÇÃëìµ ¸¤‹Ïïi2;7u§ÚØ3*ăîñÁ¦,½ì/½Ú VgIŒðKzÀsè x‘LÃÑÁš'y åB"‹âé{«ž…yþ2±*RÛn•ÔîSŠ›DÅáÄhŽÓhÓßœë°WÝE#¼ÅœtÄ„šø¨ã‚bµŽà‡€ÜZ¹‰.= ÄM&M‡»ãM¥õ$DÁ*ìýµÀÂ…²|ˆh¢¨op—~ˆö?€ß‹‚åÌP[~Æãþ¨÷µ|Í:âþÏ”lïâxÀûx‡Ö÷,4ÝUD?Åš®¡h\]¢v4Ï€ SÐ÷ú"ECNØRP­«=sÝ:ÒKÔUOøªä¯Øõœ&óœÆwq‡`+?©ÔåÅZOÀË>R7a´*C£—þä0ÏúÆ›pAni²ñƒmƒö>{3&]¢Æé&?ÌÛãb—ú½k.©Cob%%ÑöÃzzý¼²ãlËW½Ù± ½gkÑ’Ÿ¨eKÌñB ‰øu—;³ühï j¤Ý«&í$éc¤º¿ÂõP¨‡õˆŸ_AfClˆC@N·å³Ðóqõyò‚Ý•óûb—;µTo¢oEŽþR|*A³ÚÝ&¼ó×T: îõ”À‡M©/fîÔo\?‰×ªªðpKØL·gtô÷9m€ŸðÆ"ª‰D@â1Th2,'ú'‘{ó wª«UþS9ò.xñty¸xá`è;GëÄÄc7䛃 ÜnT!¤‚¦Wxž€¦»åÀÒ<ÈoÿɵE¥„ÖU™Xfe.&+b*z¿MqwZK£E­SëJX¨Íôrë׸'uF2ÃFêxÅ_´b¤e+Ù‹3S["Žï¨blÔKÊ2 Í¡_…Pé™Múo”Ôø¦¾”„°ÑˆŽ–˜Ÿ³Y­³Å 1 ÿ×1>¾ZXPÌ'm9¸ÄÍFÌuåïž*»O»­‘°©5/ŸLÉüY슢rhŽ›pò˜SÙ3{~îXyуÈÙ¬¤Å™‚ü©²9à_î”h¢|Å£“øOrµGÅ—\ÒJÈ‘²9Ñu„!$oÄgÄúRàÆ¬Â–ÀU~·jÍ”&@ùnx‘st Q}Å²Ü :ZÂé>4‹9 xߊ§æ6B½ù¦¦öíu{OÕˆXý_kñã épL,nâxCÝh»bsep_9h…U^1Sõ:µýp…“¥š@3ÂQo0¡&÷¹É¤¶=¢º€¹tøÌõ8ÉUAf¯Ÿ*ÛHG Z{2ä´Áư¼wªË¯Ó%áœë³l´“¼P/À=ÞØùÈ (¨‰†’]^±Ù•õD0×V ÜÑÍ8èRþÜhĸnuW‰óØN=xÜëÕÊi"Á Àõß&[‚ÍÊk’Qëg7xëÔ,^‡Ï˜c>\y/ƒ¯†Ê§Cúº×1uîsAôcËЫë!øïhÌHX1ƒ´c·f¿3øãêBÐÚIа‚ %ܬ[‡,ÔV ’^^bEŠ•†È08‹œ¤DÚ M¾a%Z½Ÿ‡Ax`oJ¯Ðw»cºý¢ q„?³\銴«çè.œº="Êð±›2Ïiušu¬W/tÀßzÉ%®úwuâ@ßSÿöÞ&š’PØ^©¨!Õ‘ÑͳZÇìÚ²Š®?R‹jü|×~kR<¿«_‘Ôäe©ï*8ÆÐÚg$dË<^x³r%LÁ Ž|6òøå/õñK4§†›4?×F/N/Pk2 ë4Ëø ðÏrÁÈþJ|Vù«Cµ5Þo––g¿Í©Ã6q>);¹÷ÑO#+u€øŸ¸nü ðÀÆN"¡%¥%åµF‰§Ã“’Ó_=«.ëÔ<ïSÙ©YíyÖíd&b3Fš$™ò÷Ä 3 ^oli0~­B} öf[ ˆM)~¦ …¸êð ¿ñ>Õ»Êã¶{ìÌ;ŠÐ™\»Ð¯ NÌñ²]· ½º ‘ìžt•e“丌µ‚á^ð4‚gïÌÐ-Ïè`]!æ Cœ¸#J6óYëUÔd…)\œêI¨8´„ù÷;%høÉrÆWüh£€‹ð 7r¾P¹ êû ÁX}E‘˜ì{ñ-ÊÙõº‰Æ´jž½~—£P: ŸÚVs ÁÇ+I㪈í$F3^'3³`MœüWú&ý€‚¨E(niæã3{Ú»Vdã) ôƦ¶ç.é§*~­I™àc ªð¯|×ÁP”BAât¯ °ëy¯þÇX+D:‚‡^€Âo> À€«¥@»”¹àNJ7ÿäuø,ùÛ3¢áŽè'g–¦|Jï›tÿú1·º”êLNÕU¾ï‡î]ßøJ LD™]ö¢=pšHßž J¯Þäl˜¢ÀuÛººeƒA÷ètT!=“úÃ%ÉK­Ø9úݘk–×1 ¿ƒQs¼v8-Cãj«UqßmlΉþ׋N$[Gðö"݃ÝÞÑj`˜ë¥Vè[•fóg¤]gÚç©¡¤<ånÉü¹r µ-Úî3¤•cäZ=‘dò“Ÿ`p JÐöÌc~ˆYu0ŒÐk…ž BÆŒì’î5òÙxÃD/‰eÄhÞÞ<ÓA’Ö ÿÉ·•Cöüõ5Ò¶Á˜Ç‹ÑÖȰ80vV£hruÒDÅ,ÏùK3¾Pøô’³uÑlà‰#µþ¥å—‚u´Ýÿ¾â¦½¸@@’Ò.f>%Á¥ °—&ðܩޓïÿ¨BªàZ?ŒBÈXL¬ƒä›ãÐ^z$î£0+÷w>Š]{1™\§šÜ |Ÿ¡“àr—>R¢4–IL â±ÿ¡(g0®û)]°aN%×Ò™€XÈñð;*EÁþuô£›q!¶(ôØaPuÎ3Þ@;š‡¯J1Zu8??÷Om|§W ª«ñ!g3ARA|±8`¯çÐ!Eû ¦T_r\;rìé+‰Î=rz0ßHùÁüWOU^0ì®iúñ›ŽÁgñÁe¹Þ?€Gß}–F£¥ÑšgÐð•ýÕ~0^ºÀ×¹¢Cê>ÎyNt1ŒPgºÞ£yÛuïIÏXA"øst­)7€‘ø[Ê;Oä¥+Òøóø+(V šîiL ~EsŽÑÏ( |3wiÔÓþËIÔKû©AAéêw Ý0/»_þø³ù6VÀ4‡ËÍ—T~¼Ë½:õ–`%³–ÄZxFK‹h¯0䇦 yA2ýi‚pø™¦FÐ[ß{«t„ÂcÛ&â=Ä=оLhîœZ¤‡wŠùÓ bøÄ”Q6Éî~n A÷5©iÓ“8Ð?1lw —LV®¿¨¬Èh‹H¡HWNT¯ªqóE"ÿ¸ðU,f`Î=Pê¥9½‡pîRE<ü»à€ÿ B¯ÕTòT[V$NçÊB ¡Ñ%« ùiÎQ®!5‹ä{eyøîæ Çy×EvªÐô"°K°9>iìœËm‘ª*͆÷^†{jû)J«Ú?ê©J#rwF]n}„ˆøvkŸ3ÌE—ÆŽ5Ççžšø„I÷‹Ö(kNHs…#ýÌý¨IHâ7[_Aê2äUwÞ«¢¹›·ÔáJ&±Déî|ˆužý¯ý÷ê«q ¾tò(ÖzÇ uKéišmAæÜ¬KhSžÓÒqÄó GïìÂÔÍÓ Z¤ ÐcD­…½,©ðµgeã‡#ˆ^Þ×jBœ¢~&ÊkeSBAŠòHLï*—‚K·BÝþïç×§o—ÛB‰•Á9†ÓÑHÆ¿º‰bçúé<Ñ”Næìåö l—.ÎêâUáÿD ku-Æ_ÿ•Ûœ·`J—¡!ÄÓ—I©AN|б(M3úcŠ“/y¬®†™ ÅÓ|–TEþ´É wR_Ç+9äÀ-áë½Â-A è*ü3*Eí¶\_ Nè ÂUÁÖq½” üó´jáØ˜fˆ‚(RÅ9¢Ë¼ñÿºçD¶Ø2:OO}ç6¿©Ó©øŸÚë_> ´æÂy£Éts>êGö˜ˆWUŽ®*7F¢“ë˜WvøK+Í?|ËY4H ĵȂa Ÿ{#áS-4°ø$£óñÉ:Ò¢Û\rDò㇠ޓäW éììãgçÿ ±|ˆ~TÞ¥/ŒÜYa LT>¶-×MÀ¹+^ ÅÌòñØ#3 V3ßBK®ê%H¼¯šÊ0ø>Ÿ|¨/“}õ+B[?û¯÷ñs€#KVßjªIýaË¥ Óùƒ‡’F–d˜ ÑÀ äÔ€ÐÎe`Ìu xícç°ã)JÔ¡¥g¿¦ª¸ÀCÅÙã½jØœÁµe¹™+ƒU°¨P†WÌ}š¯Ê9µ­À·|)ºfJlG&+ G£Wtv¿“b›!¹ÄüyòÎ5輑@ñÈñ û²Ž|ãÕðÜ®ÿ×’0©ÿŸÏ©Éõ¯Bó£OvÊúYðû±Yr·Ð¨ëŸ}iX°¾njžÄj"û@÷µÐ=¢qÂÿšÅîqÏŒiÆ®ƒÞû}5è Ðš?{Õ÷BŽ.Š oa¨ïxò"‰§6rš8iÖ¨ÌÊHI ך“ÚóÄ1È‘pçñZ"ZËU=æ%ó Á ­Wq¼ÎîÎ[™nSæ×úèðŒ8W<ÒîØë[ Y]ëœöø²eÔõ”œ:Ã)P¹HHtäš}ð' âÊ%7 ÷æCnÑòwRúü93Ëž йqYd(‡Ã^?iÙöÊ· 퓆«zp¯FÙ¼vE>-GoKTÃ(ãó€Ðž\Ê:ó-”¯hP#|L,®ÆŠT‚€4 ?’?¢ î´±ìö =Э€cÈý¹*‰EzÊð)mÿc†ù£É;‘Œã°¢O±kjì4öB ¶¬µÔøñ >ˆµ ÊßRsX`Ïmo'ÀóWº„¡àÕú¢¡>d3ã¶·ç¿Y@þüªcu&ûÚ[m‰–¢¥KöQ% jÍ´Šé¹·©Ô˜ikÁ7k±D]â”qûe(Ë0“7,Cfù<2kn‘Á–™²Üôéˆå§!%c—ÓPEXwóqÛl"¥¥ó­Ó8Wð”xê=žÀy<¬±YF·¿!/4yã 9å­ÞV†6Þ2€®Ñ²Ø—giEHä¨d¸«vÙ’,’û€v&@¯»ìiA5uR°ƒ1›5æ|»•qúmÒ AG^´ÎÚÓo»¿«>¶ÌU+ªÌ€a(q '´LRNÌÙNbQÉ÷AZ/ '™¬³¿zy#('âgßúT'”ì›Ú"Ùµàõæ9Éôf^ý©ØºYBGO³$™Añukfð)ȧ4ëùõhÕÙ«ìikf7䲡PfRqôSÍüÎZVõ½}@5*=A§3 Ë%VòVå ÷ÀœëÝ ¸Yï| ¬ªB×Úbľ̆&SIƒöZ:l(OU·ÌàÿˆèF¨ñj'÷}ÎvxGS}d‡åš}ó†·M¸!N¶8F]íäÛã¿Ë};»5-ZLòáð íG9Dê–)výÍ»å_–’âúP<’IS¼aö‚nû$âƒ{h2£ùøJ¥ó$•TœÐ,Q^urIù¼&8¢ðŠúŒK\¶ßVÇë¿eÛ$ËùE¶:Z0jªtÈ! ¡÷:|SÖ¨b~o©M”¹³‹ÎFy4Ћ%–ûȲP£ájfòf``DÖõ’ªCŠí §:]þö;ÞR3ªeXYzn/SÉq͇kÉJb`7‘ÿ²pÁì)e #®È;™ 0ûÁÉšSù­6ò¸J±-ËMûÈûuô>—%<Iþf?VAÇ*>uZZ +?òTóƒç’;á'_ü$Dù4ÖÜÈóRj\¯;ˆf·É­¿oe>I´L°>,M÷÷µÁQ«%ñ|ñè{NÃþ·êx‚áé8DÉIÉ{Uç|4 —93pw$v¬..F¶=O-¼ÜVå-Nß\››ØÃ9Qx`–eƒ¢&ü„Ä͸ĭîá¿™aB%›ÌÜeÔfíÑ :ƪ¶ø®ð°ØÞ,À æ…@y³ÎrÛjSªËå8k©e9\!ò_"$•XZ:HSÌþÔ7ÚI þ{¡Oß³!—µ¶} ȱ=æã¶"Ûp¹87ÿFr}©ŽŠ…^y£¦+`Ò<¬Ô'P®"8¶gè›9õ‘$xV|ýØRÙQ ‡l€ BF @©x"gÿú‡¡V©µ•A‰f·Åï“;‹ËUyî&°‘;Þu²»èÈÑe%â!æøß>ú¡ÁLD…]Ô1¯Aú(ÒŒC5ü4ch£µ(0s5tsì’«Ë=Yl¯x´Ù8¿ Ìá·ÿ{€ËÒ©%xâìçÌ>¥fïàlW\ôöI„Á›?69[Kv3 Ô0Óm¸^dÛT©AÎ>>N|1­Bz=’Îîz:ÂÅý¾©h˜W³JÈ/ªHÂ_Bž÷tZ^¨"ÖáKî}Mó”EOzTe¤Ý3c޵þ‹Ò£+òOX“£Cè§Ô€.:´eŸ¹YÌ«ü\6ÅÔ0¾aø`G¹è#˜ÛZmX‡‰ê9×Ç,ä³^hq!A,OÖ©á•}pdÐhe|<™¿+†ƒJzã•Úï"ãx”ᙃ§ªÂqˆoÞx«nÕ8,Á;ïQÈ=X—S¤4Ò&†! : ùcŒ¡Ç¤õàܹÚz÷[ÇU¨ˆ¥ôÈ@[ìÈÕö,â¡ÔD4‡LzkÚ×pÓ7Í_ËgÀוò˜ÉÖ·`.Í€¯w¯€lšçU@I&m‡u%.ÒÉ9Á65¿ `víq"2#;ÖôÔV#XG ÅÏl¿\‚Þ#Á¿-¤'ÌÃ+ ‹ÁpöŽf4Ü'Kާþë¡<<˜4hL>måÔîG­Àq…KºY÷ ÈÇÞ…JÃJ FÍ))*Ç%¼¢–§­+ŸÁ©šÍ»à2%)'\3$¸vüž¡%ÝÑòÆ`¼ˆ÷¢¯êÜ2LDªŒ^W·`ˆf¦|†ƒ_¡½ÏŠI%Eíi•Sµ&‡¥Ú~eÓÜrŠCÁñZYǦ)ëÙ}YÔ‡DÓŸŸÅLáÒ=?Ùe%Ë8Æ“Q'ÙWíܨ—©ßh‡’eN´å¯¦àŒ-Ç©9v©ÿp3H£¯ÏªÁ…;1í)!.Ô0„K¿ ÎF ¥¯–>[¾Þ!”@µR[’Œï‹Âò§o YÄcJr>Ùoãz¨záwzOøI.è+ÓÉA>9 Eú(d,"%!øk¥P°¿$OüÀ“ð ´—a®Ú/Áæ/*-Û 4ÙUœÏk x¨=–.#KS£‘Ò Õr”UƒÔž!·ùöOv^­fþ}‡ã®ºI¿ßZJ"ìxzn¯Ú»[*n£x—£swÏÞ˜ìfŠ8£Ä&—í¿g" ïŸ--ú¤aNÎØ -­Ÿ¯C!% øˆ7ÔUïÂÞ?;¢ëqNRKÁŒ¦É![Å œÀmæ Á¼±BE!LQ›æb?£¦ÇÎѯ üí#‰ñ2ž÷Sã{>ǃâ€É¼ÍÌïJK_ò‹V[:}𢴠ÄSÕTŒ)kçn)‹¥„L‡>Ì”I®¸‰väۯǪü-ÜÔ±ñYâ—!†8hw!Ö¾¾zÏ@â_HñîÍ[JüA×m5B>›-¯À‡Çá óÖú•eìÆ<ôìb„/Tâ³:‚þÖÍ¥€— 1ÍÌÖ¾å TEâÐÖ‚¬À×ýÖÕ  ž­°pp ªmé»g6‡¹HÔr NÙum3›ò½3 bE¢@.ûÖ~u‘ñòÐuã;šÄŒ•YC6âÍBIE:÷VðCTú´|ü_¿Ý-WÁ&½yô@ŠEå‘cqEÜ-¡åŒ"a.,mÓiÖJdd Œ BøÊ;p Óß´ª¹øeJ>؃Â+I°a’¥Ëj™$i-Qƒôï)Ïe¬&÷¯ÖÇ›u`‹26TÏpœí„ѩm ©6_SðQd”?å¶7Kø’:Z¹eÿ±(ŒY¡<{Ê›ˆ;µJ5j>kš}M¿ÂÍÐ=¥¡ •U•ÓVÚ#oafüv¼a’!ïÂ~ÀãäÈ&È:ûO÷Oêµ›«2·¢¨ª¢‰@pÁÑh7õ‰¦–Ñw,xµKz$D°’¬­^D’Y ÷po»oB™ýë öil¸¸?ן!ùNå+æGù½}.}ºÒ,xÑŘG×±ê. ÕX³a c5@Q ç? *jJ™IÁó}ß[w˜û£§äY³/{Jû „ðè%`¥³í0oíäx„æ4äöºGë*ċۇK·®1¥ü«MûŽsãJ“+)Áæ @-‹k$›ïÜÁ &o"™Ñý3öëúƒ¼àjq΄9AäÏÊ~µì¨z‰ôËsÐó×ÓÄ"0O?[]•Îö–rà£cÎV%C޽ùªÛévÃÆOõX9iæÉ/Me ú`/‹áïñ×WÿÐX®SÁuYtäIÀG,Ù,;°þ?n0jŠs †°¢øï]¬µM¿úW¼ìYE×¥xì_ódå¤ Z‘8ªJQx¸êüíƒ'Ï[ÐÃk@ZÎ9^t]ÙýR“¡¢0Q²ô’Fµ¾pší£™š‡ßú6Î =ÚèBÕþK5ô©ój<»øEß¡¿Í¥&³a:¼Þ×WÂÒJÅf•ò”[ØÎúœ¦y7D üåÿaEñCG •?[*`™ÿ`ЄÂö!e#A·¡ >•ÜôA_l(aÞ†³p¡‚__^{¼ž3ãÃožþÞ+‡Y?ˆOw=NÚŠàÕA'ûÓ‰q bñ¤ÅM+ŽÒó8°|À« âÒa ÿÕê ½kºa¨® Òèa[ï×T\ïkª“/C ƒR Í‘“;a7²ZÒÁv¾}ÃuRIîÀ%ùdÇeæj Ù¦aÿÝ!ê¬8ž/úAEÑ)]vMsñ܃äTævŽÕ ß½ÒÈA‹»cKcH£=„hÇÃ> ¾yÞN3PúŠÜX˜3Ÿ^7é·–VÞ¼Õy,ä™Ýøá¬ Þ™UãA¤êˆžÄ?ZüEæì&ÖfS}àã7ëB|²£â³Ï@hü³öÛׄýömLtîg¤Íà%ázK5V»‚¹A«þ³,(™zʱÿÜ3MUy%Ž^ô>H;" ˆû““Uâ0W1nͧYƒW5ÚëÙ´l ð®ŸfC,³£Qð)ÝÌ@!/¤ñ°|]Þ‹¦ëœ{˜&Ù*îiŠüšþé IÂ}iÅt%UÀk¾öØÛyï[ïÿÞ*+hÌiíŒUFÛ5Yò9*OÜήÌUWHü»ú6üíDôŸxÂ(ÕÇ_ÍfÊ=råa_ÅÏ‘ sRÅ7ÿKS³ÑÒ‚ëg> áޥл±#äγ aÒŽ?^oï9$Ž ³ø'6ôûä4œvB*ˆaía¢e«mH¢¥Ö]Äßc(vîþ‰ri}œåØN$Ž…ð7GK&ëÛ¢gIMÎÅ¢2t’›8pþðå>ChKpÂ(š¨¸¼ fÎÒLTPúj—?j¦B›ETªìó_ õäÖ X­NŽGИ¸¬Õ=*Qï%_++x!ìÂ4*ø>ìÑó˜¥äTˆò¶Ó—¢fw~°×Ì\vŇmXN‚˜$üB8­Ujžã"Œj£x nè²8¿ãôÕ†V WÄ‘"X²˜æ24îÂÐsÒg†¸(Ê>k”|ÈŽR'«r^~!gœƒÄ^o@s¡H¡,ˆˆÄdˆwù=ü0h›-Y¾:O¸x¯.:]«ÛPœnÇ\v õÿRq:IˆÈ†Ûíëv} _Šàéf4ÓÊ1™óo·;s~ >üz¡)ó™5¦®LM¡Ýβzɯ·>Ž:—S‘'èðöæD¦Ü(yÈ )°,¦ï¹¥,%$H¤‘Ä¢‡x{O {_‚Î4ŠÊ¿ uã N—ºùÔj£HÈêw¡˜y0:…{Û·éjþ¢ ;`a ±™8Gl»`V¿0 ‘D&*ÝQ>Auc{àú6cÓÌ„Šä=¤íÊŽÇï^Áønª0€:%Àúâ¯úNdÂEe|G” Ñ×áu3=Ž<íËE*ëO±ÉZ ˜û ~*yç@šÁ؆‘* µWÑÿ; nŒ¿rVB6žÙ•f¦Wx\ÝâvO’àï#;—XÇ”ú7r]+n\iÜ.KK².Na«)±lò³ªGýøÎ+_½ X6\“CRå.Lj~ÌÔq›Z^nË&9X€›‰ M› ëçá•ÜánBd‚t˜qZÊ:]î+ˆ"8µfÉ·ý”Eše1—+äI-„¡{îê'_:æ¹`ãF]Ù‹ìIo¡ˤ&]éúÂÔ½)€G y”‡AM’»N¸6¸˜±J›zG|ë“›=ÆW®$ášý³Išd6Ël‰Ë»}\©›a ïìYØá15]³-ab/Þ'y‹9pú®‚±ToÍí·Ô«Ÿòõ"%ÎÁ²&]ïDŒEÄèþlî/Ñ [œ˜A7ÔPÅöÏßô0˜nóWkÙŒúaÞeÓj¦íÌl!4Ñ» |û|yiTQT¦Ïù‡°²Dƶ˜J|àø‰}þV ]‡é­Ù ‚ãÛª&Œ™Çº¸W{$gÚÿeìPaeßÁ 6ÅÚ‡àâ@¯°º:B‹|õº„lZ‚r½yÔoø Œ;ãðÁ~ÓSC°+)gck+*n%DyÏ$F¼)”Äýw#ˆw”üI‹vX²/$KUÔßµ ¨H…é¿àôÔÐ÷kw Y÷{.'Öh×DQ?9—𔓯SK+]˜”,Ù.ÖR3lætIõ ’[NT¢°ü£—|„AæàƒL[&çÔvØ ³ÖèQEyJ}nq´j:²*m¢òYJîã #®g\Üé‘çÕ.þp‘€drá\ý7^‘Köužé/í¯ë:$µùSÙÀB¶v“÷Ó¶Ô\2àÎ €·*/‰°ß¨CmA! ´?V›ÜWYäUžÊdA¤'}~Û)os«&ê:¯ÿèõŠ,V6Ú&¼@´øÕåïŸG zm‡_Mû$?T„ÈÇ+Æš%~Ìÿñ‹—GjP±Á±×DMŽåxl¶<=l[J¿.yOŽr‡Ð–îqS® ÌF² MZlŽÅ/ïÛÛŠŠÍoIv ½KÐþÒüv#f´P1þËŽ5Ù˜œÄRâ…† ŒpÂM˲ Ïx'©š>û¨abO•iµ:çN>¨fdàþàcS8?Š90L¢U VêRÞØè2ÀnU~8ÁJ°¿»…“O1L”ÉnˆlxÅÄ ØGÉöùAmù¿5CbLoa}iÔ ¥À‘ãe“ád=!Ä?’±)ÅÞ“°Ó%Çz5TA‚Å%Éá>UóÊT¢.«lâ°—[7O$Yq(xæbDЮ³:0–ô¥À¢Ó s ïy—¤]´¯Ô W–­.g%SÅ. ðe ¡‡mÄ5ûÌTže…¾1+ÇH6ÊŽ(½*Ïç‹h+«Euà»^²&}i&áæ£Ên=ü̘^èä|×0Ùê‰+oõqF“ÝTEd¢Õœ¯ý²å0ß±Ð[‘Ks’«Õ£åM«:3AÅ%–ryÜ4qÁ¢Ï‹®)ü§<ˆ¿†'Íß¿Ø ô–Ò•Ó~õÇlÝ@![ülñ¡ý¼%£„e°”“¬ÛÆN’njk Éfœ€NÐ~ZO IÛ@ô!vBâÒŒ¢Ë>ZD5-×µ6sY cOa¾1à Mo“mrŸ \-¢®ö¡Á„A)'/Oo¤Ê€6¦Žš|›r—ká>çÀÇ,ž¹N}ý™N*ÍâHNV>;ó|–ýT;+JÊÃZ¸µºÔ3ßo‘ÒyðÔ?ý=gሉxµR¼10¾Û!enÁ Úü³ÛÈP{jE´ÕÑR}¨c¨IõÃá£n³!W­dz^-µ…qëõ¤ÃÈ©ØÑ|[ÍVɈOoˆÓÿ<±\ÌF %t¢ñ %{p Ò¼&û˜Ý:)aS̳Sac8Ð2qºwNÏÌøP‹¡r$^trlèYæ÷ëéÞ‚h2-âLJ0t––È W‘±ZÄ8›B|»ïœh¹bLƒU{…Ï÷§´i–h¸£[W¼ˆ§9ï%÷ü= 6Ãç|¦‚Q‹ý ÊÞÝàðj#ŦsȳLh8ßj±âA•§µÙ †Jªw)¼1]¨æ;ⵤ9öÎ/àv¡OW¿ôí¯˜#©Ú€ËúÒ©:v¿&u”pÚˆã"MørûÇ!ód‚è»ÍÌ|«¨oÒ]ýÈcÏ:Û7MÆÔèŒ5Ò(!éоX«÷eS,Å"ƒ0‘j…@mß#]ZeåúŒ·+ÂyÚØKÄX+£¹Ê\S|íÒµn÷ØH×"ÝCtî¡Ò·M> ¸°x©«KG•.µ^û§HÐC«wË¥k-.b‰ÝÞiymÓ \6:)nZK§Cä äjBmHþ†ýkî†~aÏ¥ìʤ"Ö¸2 ˜žº¬i´g;1zGR&F%M3 ?ù#©Þ™Ì?Èó~0½3%}FˆK%¢_©¸O!-ÎÉþ ðÞ4Ö‡.*h…fæ¡ÿÿ{{©QµÒ\Œ®ß€q"¨x~1G”ò¨¨_]PÒŒÕPq o.Ó̉ª n÷;Ø»¡“‘ì„h걚¨«ÿ×Ïb °`®²á3W‹‚¨Ê9rÔðÞ)>êuëªS2_M Þ¾Þ#¹¬/uvÌG2¸=J­ œ”ïowõ9+¥dÖ‚±¨=Á#,ÍI¥=±nr8Ö&ƒ6Ni9bdi¯’ªOS×dÈQ­a[#t±p˜£æ‚–“yUîà1ÈÍ}Q޳ºÔÌ^ÞrâÍ+V`ç çµÈ,85Ÿ_Õf7ÌxUR¯dµÐBœR¾ ¢ÊœGT5­"&¶ÜÅsÁ—¨–­Æ‚çQ®ú-nô[_NƬn3þFa °ž¤/‚ܽÊàØ-‡bºÕµ=Nôô°´޳drF$U¿þ¤ï`ç ±7¢ü‡á_ÈɰyG·’¯U®Ô°kœD™år{B(í<,,…í]/ý3WйgÉÍØ¡]|‡Œ q“¥‰õ””tôÁ[¼œ,þ^¢ž”Šðp´%ÑòÒq260lÁ ý}! žõÐJÜÙ:5øJ™'%+P2ŒH3ÿ6“6£¤ÅsÀ…©!WFÈ_t_Úèó`Uw$d3‰Q,hXýŸs…¼ºíÃxè1‚°žÉ˜ÎH„65s%+”¶t›.­‹V]Åâ‘À³Õ÷™+´f@vCvŠ~ê =ÆwµÅ̧Պ\W»½d@ÀÕ]0=ð÷!°‘p.ΕB}•Êì§YrÁÉÓgëÜ®”+7¤…ÃLÞ/iúàá•}Æ„ÐþM·r÷׳×ô©Ì/÷Wb8U2û¿ªã²¡|nîg†_!8 öiŽ(ºÿ5d°×O÷€;½^DŽ'1â4lg¼ïÏh]+¾Ÿ3´ +7ŠLÂøzii®ÆŠU)Ÿª I6á4L±^¤I ìD[¼Sé1zÕº_ëŽmÚts¨Çó 5Ë!âs5àÈä¥@»\od]»¯¨ì㙥´Û”ª@”½B·¸þ²lLZ¬ÜgŸ–Ø&à±nB’¿:V¸ú §r%Z¼¹‹àêТóî!ùp*¶‹¹‘¶’åË) ªNHH»nñY´G¦ü,-É‘9Ð5cM‡Ä¾ /£?ÀPÑ`qM)ÖoQQÖ 7éDüeûéF^bR>Âþˆ!#ð}oR¥…D¬óuðRÏ/$,¾T^M¢ÂWÄÅ_3>Lêzæ^VóÆlMTÉŽD‡µµ¼ÚOÍóÁÑqõƒ$*ÌÕÂ>DKsÆ– àÙ ëÉ!¼f†` žÈpU,Óÿ.(èm7ÀòWÕÿ¤€ËGh¼iô Å muÒzÒ¬\=VL܂λˆd“ð™ê$w…ZÞ(å4ÁíµiîÎãË$›ísêé`bÆþ™/ƒdj!õCP"õ±f§ÛUÁοÂõ9 ªÔ,ºËYê£ÉÏñÝ—3ÒãÑèÊÑt¡~bîãnÛ·_Oµ/ÿÀ\eY½‰C¬{Ƽe$¥my`!ÃzãKç<þÆ>íËl:MFÅrÐL|ã ÃÛñT+*£SVü`=1î¬Ð¥S.é«ðQ^µ­z{U1zÉ1c}ò×ÈÁÿåRRôÕ«Šœ1•ÃŒ*[´Ž g@zå.œ&—œçŒ“òßÒ¹DYÖé«xãkþ-§pÖì$Ô±'®W¯êóBÝ\ÕúKj^*ͺÖvééŸ#ó1Ås|4_ò)@O̾ʗÐs\;]#J{{‚𱈺ª ÚG>èðøä E+ÅóØAû”å¾ʆ€Ÿ÷»Ž ôw‰²Ï9AäÞ$˜«‡¹(o=Ô¤yJjÓwMWl€y©FÔÏ0~ëmlù% $\ÆÃŠ^@µdÚŒåëÃ><¥"ŠSËUÐužøŠZÏäk««Âc%Ýú×ZÄึæù¾•¬XÇe)xrÛç->Ó¥T1y8“­“±¡¹³4“­9|CWþp/¨Ã2dó ój%»ÀDQüS·zÌþ”Ëð4äJWïY¡÷§A¤ö8‰mi“‘{p¬ýñ 0Ôiþ;öKyG0^ LÉøMŽìy_æ²Í„¼òæŒÚSKQ©Ä2)9Í"UÚ.q‘ñªî$VB^ Ƙ ¸T÷¥€—zÓóçyF%xÀFSþÜdÅY·XÞuž^ÉM”º!1uu™hÿ¹Œu¸²af¾!X)ì‰éá±ÏÐø¯j¢áÐYÓÞÞÙ$™A €®Ý:<¯“h8£ZæÏ³ƒÓÁ–Z· $  EIÎý|iŠf )ߥuxâ‰/´dÃ=™æ«y–¯i½*Á-#tC{’ÝÓÏ©¾)§q€àý§Š^ ¿q¹#î%½3Çý‘º]á“°€œ à v˜Ø°‰ƒåé<³ë˜…ë‹Ó×[ÔäF ðT5†ñï¶«15KìuÑšÝR!}òÌ“ÁÅlŽÆö“…½.dVú²7Yñ»¤å¸Ì¨~ ¦ÇK‰8…ºI·àžLØ%wöÔñG æÔ™+=íçŽÙŸ#„›×=éÖTڹ̦‡,þÂ]« >/b½qÂL‰rÇ2*+P²â‹ž_eÑŸF¦Rú=?’¹ý¼±ÉNø€ʈ÷™¹9GwJ3é¥ñ®6€ML–{B‹ê›gÀì5KŸ“8Þý dæ§–©ÐÝp¥sa°cjÏ®4‘Ÿ˜è¯‰Nˆüç-…á¾EBåQDÆhtí`cT­„vÄüiêªú¹’½¹â ÈR0­cLÌKóÌ0`¤ÎR!© gŽà¾^ã­Ÿñy‡Ogdn€g,Žê&>'ö.s)7Ù>Ý}>Å¢/g«+™ 35¹2u ûìB“<hè5o­¸paÒºxP‚þœLƒç› uϱº/Sh(á>s>©b—y*l0•†ßÒ‰,zQ—Ì.m€•h€æ‚+‚¾¡Œ‡òè]`8Ïis iØ›ŠYˆ6.Œ-é½BA£UžŸ€"m.7Ä\Þd­™ƒì¤yŒjÉÁ+õ—´ÒXÓ¥‘}c€]'*:ïI{$$sÁÇ~öm<:¬{wCÉQŒ,„á­)3*† ·U)eö숡¤J‡•Ö½EhP¾X-I"Gñ„.1Æ1ø™dT þc{©Þœ*CùP0ÞÏqF‘å;,%’ESZÝí{±"0œ”¿A763õ€Oo’ú=í§î®÷—S”ÐÕ9.§_ÁN pjLÄ·…sTvº­|þRº(rÎËF^˜É!MÎýytŸ”ã'¾©“8ŽYê¿b47C¶ÑÛvÝÅ&o3Ì~°MI®Ä3‚bÏs¦Ïv7ÁÅÑŸ œ”‰ŒDk™|¼hâ”°ÂðSÎή=9ç®á.ƈÍ9¨¿±É¼ ˆ¤mhÂØ5— È1|;zg`vXa»ÿS0M¤fWºe¹žv4ÂÀ“›DÈÈ—ÔŽ}JÈýJÈ€½D7¹[ågw›´ríés‘Í•h–2Š A˜œËg3àØHuaAâx*4>§á+l¾/Æ)ŽQÓSêªf¼8'ûl¼´œö勿 YäŒtcõwªcîÚSÌhz²Wc¼ï§6ÕÑÙÁ¨&ºø +,¼Ñ$ßu]0ï»"_‚h·L¶ê› ª=Êà_Å ÑF7ø’Ë»ù½N>éðõ“k†S„¨Ä#·×cY‘l‘c{<¶f×hölX,åýKÛRœ"4b{üGt°ŒŸŸ¨ÀR‡7˜©\„Å‘-ŒíW­Þ¦®“º»GÅq„úVº9ÑSÚâ÷ ÿй~_ÄÛÎä©JDÓDŸXôyŒÈî!½æ|(¥>§G˜½%‘‹Ü§.‹üåNÃDû"3qÍâR—7á©F¶Klš›M™Äå‹ 8Bmu¢©µåŸ—³;ü ¶B¤º~VÑcïEŒ[¾²'„cËZLè9·Ál«¿ÿË©^wÊÔ6á p^ƒWC¢?:îÞúWQB¶õÈ©ëyÂd W/8ܴɈ3]ðÕ¦¤Êbp7¹¬ñ_#ôšuÃ~…u<=?“‹úh#œYsêG~¢?ŠŠ{…ÎÈHƒ½¼À"Ç¥^3–çƒN˜$JªËRð^±Œ"šýã¢fü»Áê ¢ª×+»Çr!»8ãžÀœs¤Îìi香)$†;Ψ¬ä¶% ½ó¨”?te \â»´ú•„ ÁÉËh’3ÃM1m SmT7CRÄ‚\ïàŒ¸ï††Ýã0¯Š†Ùív¸ÕQmaÖ|’;Ù­s´èĘ©Mæ7ÂáàF&µ¯Ú¸€uÂCÅû‰€×-â å>If“«øîbókÀT¤\.¡DBy[ã‹WT‰‚tµè-‘ÿð6hmŠ…scL«e…á©Êµ×nó•%xÍÙ‘ðñk§uO÷76çàâ Æºý‰ëâé–×áZ¸ë¬”¤}åöjÂ-æ.BQûw/h6å´_Ä1'P”¢øÿ.»h“Aw¼¥ªP_Çq¡§l(êø"¥ž?iî] /‰ìÄEj-ѵ‡ _ÑeDl ´;ÀÅ·‡2fZÈ”(`sâÀ™WwÝ7gé§ &±’×6q²hÚ…žšÓ—Èã Þ©Ô6_¬FÑZ†/clvˆeqâÇ›¸RØß|rÄn8s ÷ì°˜”cèì_Ø·Óm±‰“q…:ªÕ¸Nû„3a&3\CNR,I‚ ž«ø½-zåÙÕæ×~ŒIkš‰­7Bܧ9kö–ŒÒó˜®ù¸þýËYW‡bÀ‹ÔKû(ÙfÉŒ W×’ !ˆ˜ —z«|,9ûÒ½»µ²@ÒH¢Û?µŒ†{8ľ]a„°éqƒ›§)<×wÏ·Rm‚Ï+É÷ëÇR©¦CŠ7üecy NÔÙÆ©åp¸C%¨×dÌB2—e}`Ê£’+âtFŠrìǸϮÛIÂÌ¥ÿMc¤ë²¥¸xöºž&YmÝŒð$£õYï·ñ\uÀ.ë„U»í‹ÆæÇ•œ%mÆV“s–Ê¡ö!~O ýçxÕŽ;µ¥?J¥Ðš„ÈRÞÜU†¯åÌΪb¸PäJ{Lèd⟼ùä5âôbæwà:ï­Áª‡NÎ)Ë™mWmâi€X':®v©>½$IZ‰HÅðs»‚Š£¬½dÛ €iQÁLt,EªÆ‚Bi«‡7P¶#5F‰åAW¯8ׂTl­—šXŠ5°—ÃIŒ;ªG).±~–gWˆ!\5#‘¤VY‘Íu”I_ðÙsqùmq–0ù<Ђ¾Ñ½V˜nRÏÞ33G1=/ô{lR¢ÀMpJë) íÿi&¯ïï5Œoì„kª@Þ膖Gž½†0å‹ýW…xŒªWnñ_kRK" é×=¯uŸhgÅuhrdŽOôÊxéª\ý:˜ã¹kŸ}ýâ`ã­P›_7Ï7hMŠP¨z¥ÿ•û0<—¹î§ó¥š£²"/þfnðY(š{_6Óú"KØUõiv›*.?ÔgŽpàaÏ.I€Ç5Kˆž7è®Üêâe¾n¶]j(ÖÔ wíÊÇΖÈM™–Î-I&Í·G`X¼4*$6dêL»$¦~qw÷É›ˆ-·u“×ñ2.õ1-]ñDoÙ­Üe”š„ÎåãE2?­ÄÑ|î#Ö«·KúH¬«'Àn•Äžfã±A¯{]—Oÿ*ÃÞ®áŠmTê8“P/€¦¬FQG=éòÉ]¾©KÒÄô XR84ÄBQÍÁô4ŒeòúɆ–l[@R?âà6æò&Ês"å¢`Ú0a¹ï`LØI{€!âëh“utûpÌLšf…Ù¹»zL²´K•ˆ'îû`"*o8eòWŸ‡y“Šßm¾[×eƒî¡ÙŠ—M›P» vm¡Tô·¿CÊñ<ôý޵TO¹Î/§@ëT©ëæøü‘9­­’vÏ3ØD[u[c9Xç é9ómÍ“€¼"o¶‹Û©XÜ%Ýe}ÖɃkYíJ•Æ=+÷ÿžBÙë|É#J’k„Í)5>VFàº1ªç¸Ó™"æÄ^’;´›PAñ{=Ü9œÈUŽužAL¶“ÒNeGÚGñ>Úe8Òbo‡Á‚Ì g\]hƒÊÿÛPx\ýØÖ¼—ç1ªÊ«‘ëc€ö9×b>Ñ>Ñ_!ƒŒ±‚ä±™ð‚ÑúÒÍBжb±I‘¤×©4‘Dg„ûì_££xž˜°ööYTõ%NÛpHÄËü¤TŒ¹ÇIZ6Ò(¦rñ¬î}¹óñ Kž‚ÚÁ¶´¦à+«ýà ¡¢U˜«’‡ž„þcn9Ñùt,;šošZddr™¥Ö\½¢Ä6u˜O½ ß-66OiÇúælz@íÖœ'¬E·¶,„Э„m ëÅÿâw*¢ "ÊÂ4päNXðeóìÕ» öEèŸÊém˲™ÄXJ‡9’ƒä7 £M¥´@ vtɵñß^X™ÖýqËŠ¡ÙV»Ê®ëÉÓ… ”nº5AH¡'è‚n3ݬٞ ¸ùùTg¢õÖź pÞNË¥‰›pÖÁÂ÷ðÊ×›iOãvï9Åw"‰á<áÊä\}ŽŠhêÍ«Õx¹oùE#à>õÆ š¥ßèsĘ¿±Çe½ÀšçWÈàm«Å¾ñ9 Ô`Ûaâë±äØ•@ö=Ï‘/Ð;òóAŠc⬬J%‰ä]üì¾&9zlÔDÕ;¿l4å›1@®8JMͳ»‚á«–~¯ûdŠ‚©ŽÍkWe©Fò‹ÞjáI Ꮀ$h?nÑ<ÞÝu-(–ƒC]•tqUTS<ÊæŸ/·9<¿MÜ> çŽ8÷¾nÍ…%unºOw"äâžÇÙéËò‡þ Šgi9èsÈYµ„:xà\ºÆÖîjÖƒ¦Nõ•€‹M̦ûÁ1v Dž´ÞÚôòÄ©£†:¤=”;ÑŠDv$ýZíg«½"¶ö¢=izlíÊñqΑïS‚ÀJ¤mI¾©F—`ÎÙãÿk'¬rÀCji…ÚzDF°Š†ïåAS4<cõ­.á‡éó®K¾oD$ ­ç†@–oÒfá­…Ã04þê?š5_`tƒ±ÖzØøp©^U¦àûƒÉƒÅ m½hy±›,.áï¯Ë… A«Ç_½Q·ü2j]'p›²3%?l šg/k©Röö‹;Œ#£ œž Ÿp˜ÚÖü»\ž;•¤ÛÔøtMëÝÌk°é ƒ.ŠÜ$(·~(¬]×G­­*º•2qK#n³ÂßÕÕYò*6 Ÿ Û„MÌsÖ‚vú@§AâŸ$Å/È2B”ÀÍÜ·n 3²Gž¯6 ÜÃÞ¡§y'4eĤËwf¯‚Ôáˆzï/´´®Ž-:¢Kéš´[cïb >õ×ÿh°»®þ¼×7öÐ\\T°Òk{5TÈVJÅ9>ÑÎ +²Èï#…\Æá–Åã×DÙ‘‡P’'?ÇÛríÄŠ»‡Û–+•_²JÆ7†'Öÿ™òúYÒ é:US¾ ó1ŸïÔ=)̃¶ò>÷ì Nªv.¦nîd*à v™_‚Ë`¹A¤”jQIàâ,´x°ì¡úÎûbfÙh3çe·ò‰Ì^½Î=õì&¢ÌMg´f,\`ÛZ´Mê#…æhk•çç“e–j)i¢ñ¬»hmßVB6% +_?hf¥¯z)à‰Ü”„¿FÄ»„9D1ÕQX;ÊXîÌ­·f"×_˜DDš—ë6I…šÖ±4æl‚Û\nž9²Lò]åÞÉŸ-jšß¬`Þe-WXˆ·¶o*XcÇqP9P‘\øávZŠ0;†]²ÚÝÙ5wÄ÷ácîŸ“ä´æ¡aG\o<½+»s‡ÄpÐG`Œ_ðû©ó!`ð|î]ë;¿Ü£î !àƒ]ATEô …ºú\¨§PÆÝ=­µÏv«óØo阕JñƒÎ~Û”‚"^²m¬£œ¡ #Ü_¶½¡:)½müƒþÁðN€,TÙ%ì `[Ã×Az8”C2¢Š á“Û^@õT†ßmÕ¢´þ¿ùÓÉTAÕtÆ•ÁŠ\ì´U¥€€q¢+”ú æ «±½}æ®ñÛZ_Qú:~P§xyé½ÅðÂ(ºŒtmmŸå¡C¡LP¿)vù¢ß<Ã…céÿþ-SAJJmi²ªÅˆ0ŒÂµÚ·/žE¢šßÒQª„}Âsv´%õúP5RÑ|ý@¡¢‘3˜Êb²g_JV -Wv2êÈ“ŽB*†Uô’??;uåêT¸m."»]ôôЬ¶À¶ïH2Ì~‚fÙ^V7,WH áD¢×±‚øåˆ.Ú©5õ/®üÔļ<×θV‡S û4;õD+u¦@­æ„ɸ†\Ô§€±à6¹}¿â¡+p Â{Ô9¼®&•¨yWËhBX¾D ª«ôÚÉØ2o½çQ/܇-Kv%¡¸)>YÌÙjâç:Œ!=}Ó·mYZºÖ¶iÒ¼çÕÍT„iÒÈQLS[VrB…j´HÊ=æ&£/ %i$/8ݽÝÍ ™R²}!69ù !Ã65’Ö§jÁ¥Éë_%Ó^#@9 @ ãáF<¹²S Gƒ°åe†‰~«àꌑ€¹7ù-gŒ-nm?˜ ˜?=îú_^°°Cº‹C+:Hæ¼.ÛÝÿ)([Îp·7™T­ugðÊxO‹*Aæ¿ÆMÔ·aÖ¾s¢^ B†aÙ´%Âûò/ò8ò ¤‡läAÉ¡ul—y¬»ä·i¹ZëÌ—hSø}Çs—: €”¯uèBæë,³D8éËjV²¶dQã *c†7‚<ðê 9NÓ`;»šŽà;SI_º+2¹JÁlœ…6Lð§î×ݯ¦9ݲO`¸‘½ÀNˆÕ±Î1×ÞBb­ìÈ ë`üðC2¢ß›Ê£¬è<ºß#‡éNä>{c¬èiw´`¤²»Lì½Çï–Ôk!ššç3ÄÀ} ‚¤4×›*ÀO“~,D:ñß717ùá,ŸV!†Hg¶ä= d…bLpÚM ‹®@S÷ÝÔzù°=®&²®“p}5—9„„*ÍÍ&i6"pö|†µŠ1ÿfʇה2”+´îÑc? ø°©QN‡,l­!¢Dké-Úò뚊̦Ǩ¬,WŽÏå P?2@ŽAÇXP؈T &c÷Úÿ+Üý?ÃnÕŠ.Z `n8­‚Å¡ëÖšg"È·ò*s ®_³d‰ÿüp@22øÇ½Ó“d_ ¢g­Ûñ¡‘3{qEN ¸L`X?°Æk.+ÂŒ"W͆•sÍhþm‰© º “îí}¸ ¶›µŽb^îúÿè<òŒ4 ²v¿+ã6ÍÆn¬æº¶·ÂÁ90l}LœÓD}ªµÝ,¯QPBzW¸Ftšé®Ö|á„/N’j|ÿ ÿö¬â±Ú?1ÓË¿è®ë]à ”„ÆÀæÚ„tovó€DH¬Czðl>cëèSD{»¼áÏK¢ÅÚvÙ©ÁÑh´êðV°Å:µãúÆ,S<ÞUT¤|qq ÃÆ®„ža.¡­àœÇ{‚Q®«âÓbϴΠþØùw4f31èèÖØZ-ZL› ¾¹Á©nqת›b D/Š×"ùŸ[ë’«¶—.½nâg©jWÎK'§=ÍŽ‚ò Ûñ³ûçý6ߣˆÕÐ+¥ Hwq]¼äç|-+MÖÍÆZKÊ‘lL ›½ÝyVfªîlrÕ¢[ŸÈ.Ú„fREzðù1¸Xk¨qüdØ,´r•aµfdú!ÏÄ€ø½å19õq¢ËšoNqhe8K–¸y!{WߦdÃ$ò`Ow)M &…qbb‰»—š©š¯ÈŒ)ÇNÔþÉ]†ïìÿÓåƒlY‡zƒÇXÓ#¿7>»´SKË»/(#¦L=MØ$i}õï»ÒÌ@€m«k!²L=?ÝS͉ètˆØ@¨g©AT0N#)vj`§jŸUM¶Žô7ºìV°)Í2ÑoPÊÒ¬ðã›”R×áp¼i-¥ÓuÝWeѽEÀOo\¢Ð4&CWKTþϦé[Ä8”ì¶i×òùà0!¬Ò»¥Ã8°´_’(Œ 9 }±7äga?YF@Ó±8è' ,šÃJ8-íéöÜLß8J­ß¡¶“Žà&oAF‰©w*ïôÛWìñ+rTª¤ ¯ǦTaÓ) ý` ^ ÅøûNc_LM Ï_àè*#Ñ2ÄŠÝí¿ÉS½Dÿ'y×°‘ Úö~—’«öÁvîîöœµº[ªþ¡•‘1aE\7.e‹´I¼˜¯Áî~ù~|¿˜èC¤3âÔÁ/±WÊóï“5–û~Åú!+•¿wE7i lÐv˜?™pšjÛDê}?ÛàÇmý‹~jôVìÏõÐÖ\õ–—¶Œs«¢¦æƒH†¢ê—£YT–Vd³ûèó‡¹Gr¬ƒxßÀS‹Å!Žª™—ŸØîì°IAس۸Ä-óH¬þIº›Ãóùu®x†Õ…ØsûÔrÆì÷dnŸì‚ÏY|¸ù¡Í£vÜÞÕa:âSfúsm7]°B÷®Ø6“áÞìÆÜÀ[™úvw&°ÝùÒ l™³±ÒhagË+@ªvH2âîþ7$)"^Ó›ÐyÖ ª¼ß¥:&’C­¼Ô´ð¹6Q´¡“"pÔXç·æi,¤ÚóÓ”GÁt«q½A³,ô $+ŠŽ~“f_?=ÏUi?ñÀ½úÉŽH½ÿ÷Lδü/[Dè‚m&óNψ7$Àšíû¯ ‚ì*Ð^Òª¶æˆlÜ¥oì¤v¨4R^K÷ÂYš® FÁëÏú¦dXŠa‘ЊrÁüftU&AÑÚ#ÈsÞ/â¼%Q'¢Ç[ÛˆúaeÙu*ª†11·Ú½>cü~$gæÊ¡õ]én¯Æ\i9@å‘}m`X˜Z×”X؆?š£˜wÁ¿pæ3¶$ZÛ3ÚM&a¿®¸óaiì>C—DøCtÐÒFkÄš÷ ¤q7…nüÒ¦ìL3ÖîË${ ñqûÉÇ»1ú{Ïù A•V\ðù¾üÔT<+`»¬û§ƒ¿4"5¡óܪ‹¤Q=R"µí#ë1ºBÂ2r´ù…h€¥M™˜stÆ^¹ÐrÑ£ðÜÆÎ¤äc¬Ké/p_Ðcúê†nIQs£Þwœ%iæõmqkg«Éw!{ Ãþƒ•jí¡lÚåEÜêäË=U^Ƹ†ì^{f^ š.t2œý®èù²2ùÉ¡EË>TÎÕ?@Î&þÑïü¸:ÿ ­ îjé–L|yÇb²W£574€ g+’F¯Î£ñMè}¬Å eHž5ý =ªôæ›5® .&n—±%=‘\O½„èè.ˆ÷‘ÁŒÈ{¡ô·O’sðP©â†y²¡.‹·û?÷Ǫ Loõ/VÏ}NŒyaÁUyù¡±We¢Àœÿ˜Dm«BV(Ú+qòêeó¶DÊaŒ xb÷-¯¸vïÓ‘3ÿÝ[„~9gNÛô^Å^¿õØd[n¡Ì™ìÄùbÜð±Ð¶Ò¢ÐÔ)öºQLŸH¶fÿf÷ôò]‡|Ú»BŠÚ5b³- | ©.¬îá¿w‘4Ñœ²~ZÛf×X«,O¡ˆ ÏdñF’çû ûzKûO_âWâÆ¨sY¬°ž.¼ªÏrW[Ifd0§ö€>32©£îOó)I¸æçoz=˜ÏÛ`FÑ §qàê/×@ÛY¸ŸÕ¸éiÌ<­…g±¸Î°|;©{qÒÞ`iKôâ)ßj:&¨V¶Q„ çÚ—M+?ñÓëñ¨D_òP»R^ €}¯¢]ÀTËo¬ó·.ÜIg*³f­Aó":™å–ßœeo ¬æº®›ô èn¯â®$óû©v¹Ù®)¯cM‚Ûá\Ùs»}ÊÜïïdóWûQ¦…÷¥{k¤ŽôÑÊ}’Œ¢Í—FÛ sÅWX‚з™õ»” „Ìü/íëV ëDcÉçš)ŽËÖMÑô9õ)S‡[g9%† 6+¨tųo]ºèovD›n-¹€S¨©GÜp ©wUKq”ˆ³ø‘5%0Ã8_}SKKTíúØÌVØMµqšÈZ³’˜ÌÂ’ùCØËü¼\Fí¹wCšÅ%½Û6ÛôÑåü&kÒ'-‰°¼Uö¼(ŸS‘è6¿žÆÕa׫öÒ‰¡díÂTR?]´rç×~Ò7éz®œ×°.©{&Q°\¥”`€6pf`¸ì_RÊÒ›’嚸Cµ”¶¿O¨ÝÜr©ñs]!ð•§à‚∙ü>4oª„¾Ëî2¢½Í5Ïë©ËΦÌ;S—0‘ÐI†<ö $çè‚%Bë?ñW2+d½VNAw]L½%x²Ó ë©Øåã’¨æ•ó`Éš¹æS°HÝ!7”F£U8øc°ZJ ¦4–óMðˆ¸;Ú,ÿœxø%/To¡Ûí”x¡·p 5ƒû$%VQ{¢hçô~}ARëð~®š8©¿Öz)ÍóóÉm:i!“°‹M1b˜¦¸W\.À@VkžºóúöŽ1HÕzöð–h ÙL×ó¥äaõé‡V÷Aâ¼É"Í *OsJÜ ^Qû¨eÂJ-{Q´˜Dp¥'!– ±4:"ìþ$ï!ÓÉiì¯QDnÖÆûLn†ˆãÊaèjK cm(Zš º6êÌ?o‡Ðû¬bR’ ÛÕ¡wÑãþB콸NheB>¯hŒ Ô Z1ÌŠýŠœâ\¦Ó¦÷—2>[òùš34L³Î0Þ™Žªêñrpº¸®j”U,Œ‡[2Ö"6B·à,ï`Ú¢ƒ9ñ|ÊóèŠ/e)»2ÀÅõ’%Ú:6ι§~Ëø¿Éq€‘Âi'Sbç8mƒMìýQ¼.ßýsG:¸DÚ¶}‚ú¡zBc]ÄvôÕïû•Ǫ?V{¹ ‰S9jæÛ™„gŒ˜ý<Ú*^>÷¸F1å¢Âv…>:RJ{Y ØóŸA—+8îH3Ô ªÓ¢³·`Ñ2@XÌ`ŒOö%OÂ**‚¾~t/ùæó’]˜.1‘WÚû<ÁëÔ/=ß›}U7Zvƒš#Ïûúu w[5E¢àÇŽþfb^|MÇSsò£:«(ajmî®ßHesü‰Kq 8“Ïqøá[¤´B­øèÊȳõ”#¨Éd¿4šòu°ü Ç÷Ú4Í­=Ä"'Êíg&@u¦ÚœmRÉ?ôÒH§'ê ÞA-”*·SÈôÔÂø ½êjö+g-â“;3QöëáøÏì‹@Vtg=¤¤i&€ò9­+&ÞÈ3Û÷D_J¨±+B&2±Ê º6ª[AF+‚i[ÄVž5öÅ æLÖ8C– @˜P³ð¹›¿–v¥+RlÆ_è1¦ô¯¹îØ‹E¹W“/¸ôzÕí¤'ܬjÞìèDeƒ¤/´™Îü±lU¶žåI÷d0Þ*¿†ëOûJs|³vmš+)ø¯ÏŒ7“c€n׳Ÿ=:6ìj7*½îéMM¼æ™Ô­7ˆ“Ñ"‰Çûn4…}æºÃá°U¼:?ê N‘ðoô¿4ÔÁzaQ÷kÁˆ`Éq‡y€‡5ÓF%e±­úVyn-o×øyopmjex<¤e½`/T¡ðØÝ½a!oF3õ“/ö7xrù¼DŽŒGsàÞ Rˆ¹Üµ;mçkËNøÀí­rø‰–é6MIv4ùZ‘U3¶ì¨Í|Iªr¹´žcžü˜ëâ¦4$É&f4ˆ3ýBxŒNSñ¾õ™/NZÎVýÎÈZ$£©SqƒšÁOˆç·f88ÝCM<\”Ì(¥Ýé£.Ó252_!çlÔÉÔ³Y”°V;‚ý“kž&…Æ–SeåšÖ¸KêRÏY÷B[WóVÒžÖ~ªxsõlg޲¿u 7=œsÔ?ÈöõŠËx{Xt šjY‚{¶Ë÷|Óö)ûãL?>8I4ýÑHý«‡?¾:¯“œ½ß“°¹ÎŒ6Y6C~™4á.TŒÖ6E7½_8¸„À+W€uÜoõ³ÆQ`Ÿ¤téûm:¥.7å`ÓÄî [ G‰sÊY‹²t‡m±™ñ-ó²mÀa&ÎRyÉŠRt®c ‰b»–„‚‘Pÿ/ƒ$lòŽ—a)w8æ 6 ¦¬÷icK]¥ø^£ºx!QòÔyp‘ Ÿ°‡´¤ëzGÀ,ÒÌÿ~îb|(ûRfÆNá°"}•˜g_¥}a9›´:[¡léOL‰œ71;'¼Õx†ëç½ìኩé {&rdQSN…S>õƒ²mú|ŒHé£ð¥ =­‡+±šTÝgÜoÑhxìLTº‡4ç¾¼FæâçêO’ŽÀp‹«»û Ñ­˜jPbUÌÛ÷ #fªÜH~{Hx€Ïw™ÞÅ/ëŠ(?ø|%O{Üx³Èâ<³Ü“³"(¾óŒ­sÕMñÆ ÄÊ¥ÍêĘgQÎl%¼qÂÍ8ÃN»]*ÓNøìÜÕï…#ç=%ôŠF%¬ƒN)MŸ¸'ùÃ<]%ÜÛñ±"t?22æ\ï9Š×ûB ÷.*4} »c>¸Í–*N̪ ÕuÎb­&!‰Äõ²ÝÝdy„Mr»]­3DÚC˜W§pM….€Êx1¶ôîKM¯ç²ßÿeßRË3'böe,жvå´ª÷>u"º[/.>GmÓêœß.Oè<þ¾¤Üw&=æbɃC{¤îo9ÅÊX—¨®ãݯƒ¸9Ǥ‹24Y†ÖP¼uÙA9©Ó‰âû\ŽUá(ÒG%Ä–§ºŸºbÓ ]ó*ée“gºd5¹PJš2î7k׺ŸL¦ì4à¨+j˜ªgž‰=^»BwÕ ©Nd.ÎŽñ_·çÒˆÀ ª!±mm@ú;ļŽ.¬±%@fÞ#`PPS>¶À®DÄÌ¢ŠÁ›$¤O—á|O>ã›/¥µ*p#ê¹þ1—$“ßý 8G\2`™L$-ŸÜGöëë­—áÕôG§­Ôy¦ý„¬®ÊiŽ€4,ÏÊïl~:ÅÆ»„è„ÜŒÌÒ•Ýß Œ3@”j÷a[½è…྿šen3¶’½Yål8"'ñr¿mIö¦/ œ£ç Xf†±Ni-œÖO+bŸq#f4Óý-«Ãòm'YxT)èAmÉ3…=7†$w ×xßo~‰)¿æØés¶Dì+ ¦WÚèüQ£Q%F-®“œzÒ¼ _ˆŠZçÊÇæÄ­»ê¿LªÅ¬Ö|{ÉÑV€ b´S–íS¡®å4¬xISeR˜Ý–"tê­ô/>âF<âP2ÙïϦ—žo1:åæ_¯Ñ[˜×i8àòç½l ìÂ=u-ß`…Õã¸Ù<[Ú€- ?ü,î—Ä t;…!$©·Ä4`ñ¦E$Ü¿Éb, }Y}Ç×-w©³1tuŸþµ‡w¥ ¨Csì2ç+/° f˜æ–‹ðÀÂÿXÞßv $ß<°Å”ÅUYUM<ß©Á…)éƒ}ˆ/=¿(Ec²'É}”­Î©R¹ÉÁc}WßWˆJRŸ}N¢)T€NãD z U jaP»Mö§`¤Y¦ttÏOg½­-¾%±å¿æ|’þåÞ”|Ëï^ÇvDôŸm»Õ‹š‹ ©1¢ø’#‡ø›)FÕàdS½Y*´|»íLº‡ç×Ñ×(¿LÞbœ~%Á©V»»Æyò9C…Ÿ5sqñ«¾r|@K¡™z4×YŸF| rê"kÐw´&Å¡PQ.ØŒE ÑëÇôdÕSÑrïC¡ÿ1‹Å¬„Ú8ob¶ÿÅTW'ЋÝÛß¶öfž =^aF?;6NdØy"à¸@Y;1ZN|A|EÜæ[â’D›VûUÿÚ?ü":[®P@¤À€Iƒ”tT´+9AIj¯Ûnê¨71'µK=|Ȫ@Ö©…µ‘ gB#Žý|Ÿúd1¥,^1’³Bk XÒRÂæàèsÏ“ï.l÷Ä©¥r™Unå9`¦I‹w‘âå%O¾ã´–ϽۥΊFoC]nÈ\ ÿ¾É3›¢f—°“ôaïëp0ÅçS“94EØ&ðº È›Ÿ{¯%c¾’Uý”C‚-NºÄƒ€Ö5¾C‹K¿aÈlpªà›¼t{wR¦Vd‚„SK,–Ç4Tf+ƒC­¶Wf4¨¬ªlºlÖVÙîÛ石 …?ÀÝ¡lÑA˜îÐAä¹¼]»SO@q±!”q“>ð7½bè>I ²s¯ù.©6jø«Áe…ƒj^P‰¼6çÙÁ3B#oó[~hÑëÏ~£Såx|"¶µƒl•—¶\,!Ýp{±ÅUZø³R¥éû#h±4È{š·œv6‡®Æ©®Å¼€h/Z±4`Ö1gûġ<iâ6¯/ 7ØK‡YlòEKe_ ‘dçêoØ-\ÌXrÿF>(ée• ‹É­BËÉ6Ïû7/ò$cåwþ¯nnΩÙ$ur×  è¡b4û®.^Ž"û øâ…ï‡?WÒ½¡ðZú©ˆGg9qoBe<«½G#QÇ_šx=êFNáVÒz¼ÌÕÝ®tw`þ ù¢“€c™öÛÊTÔ’Xäÿ‘© Z«õêš>¦¤ªØ_`Ð(V±þðó&ö½¬k:Z)É.ůóõ Éêæþ†*b@yÚ¶·ä4U¡ÚëÚÒ,9¹zP î’·yA½ä÷x; ›{[Ú‘i ¹‡ñ…ñFRpôyš¬H~p…Sýݰ¿ }û„àèt2:‚‚Rl ǽd žõþüÿ¤°$·W5§Ìba^Ü &*þ”Ô'Ò)ìÁ‡ó >óÄS*™Ræ¼$8þ‹Ó—0v²rN“{òÈÒ5Ëç¼½xª)¢EÎDa÷'õBƒèÅn*êñÜXõ˜Õ 8Bâßñe÷Õ“K ªúÃv4Ûbšâmtî=Ev?>’C/Ü€çcóýGKÞP™C•êáôŒ!+¬*ØôõÒÈÂ"¥­ãäq3òn³×!¯54]Äž`£‡î*A »ÎW–àÇP)øÐH¥ò6áådÉAÏ5Ìi<¯¬!G"Êt:ü]J’çuÍÚÂlÉ\ŠQ¿/ÏÝú«á5üÖóºÜ.³ý®;³žÕ\A|F—áb3ÚM PöH?E•Xú¸¤,‡ÐJg]÷rÉšIrÔÂŒNÀ5e;’ƒˆ3ÓæŸ„Á´veþ:–Ú¢ÿ2Pù®‰`•b?!†ïÏœ¼”~PÐÉ„ƒ÷i76¼xQЍ›:dD”}kœ(0µm®©˜ ì SuÚûñXDcn5/8@ÙªÆR•Ô›u)‘ÒéìnŦÄ[¡JF£²îϩ܉(ú¶B©ëlN›©VHãcu¼M3’$Cz´*ä;q¡°óܳ*ËAáÒ^ƒoœyG'JøNN*|Ž)ðXä ãró6ׄµ„Pe.u®#Eô7õJß.€x Iþ¯=ÙÍ¡oªhä y-ÿ·ÙéêY";ø¶IÁšŸçäs8#*ðfLØA¨¨NøìÕZDL}ï@kAÎÌKø O‡-ÓªJ°eQƒŒÈŽý=ǎ媂«*ˆþÜŒ,¢t˜ï£å>÷ã›ÿ»c¤ÀÔHC½=þœÕÇ_¬ÄÓø¹€Ä®EÄJã3à ²¬¸ ñü³\ê Z@`ˆ¿Öþß-8º¹ïV¡m¸ÏÆ"6 êí¶›Ñô½ ‘!7•î}]¿ZuŸÑk@?¤:_Ϫ1±¹é”Á”}“oaÆæW¨€ Š²Nsb˜F2û“G–?¼I0©˜:zB8TÑätžvH­ N›?â\£×¹ßîV´`Ÿš_Ròª³4àŽG¹»ÚøÅ7ã7ñ‡ [éÞ× ”p9õPútupÐý{™ßƦ÷ζܨ•µTÆÐãÑ~Š~TÇJ•$»ØRh§°²8À)`Û3¡èˆANp“ƒë\ÀVVω™¬C œE£Ì`‡é§:lj~‚á®Ö)¾àMš†¸ 3 ôÆPMuóú˜pri ß€"ýÛΩ7q›µЦ‚•sÿÐT†-¯H»pXœõqI¡"—"n‡™‘`0ÛaØšÅaöãú8üÖùu‰5x5• ¼É¯W=‘ ÁríЬ±¬}r7°<^¬{²ªÚŒ»ü býÞJMu¡Û“F D!·%èä$BåŦ8¼Ÿ>;G( ‚óhú&«í%?,WbƒÑÈžiýd[\ç-îЃ‹>;ÀX¨$×k_‡¦V#‘%9b?d¬ä-÷wéU7¤ívHûo”‹òcÇáC—5sÃh^eVNav_ÕX9ÜLj¤îÚ—[™¡Öþü­Émz@@;ýï…Ðt¥)Gƾo3·¨Š­Zh…*æçèqW¦&dƒ,=H¥LZS òðÇV€Â{¼¡X2MeÃa|§ º6×då.7ǘJì/c†ebþî¬ ˆšÑ_W¥íSFÜbßkœ¬Jdk%7¶·§!ÊhhÚ¬ãF#ÚŸ×(iT‚’Z)·z¨ZGÃoƒäoÂyâÇqÂ~ÒL‡Œªªl4VÇÐâäB »B?¢%6CÎÑÇÅiÚ:ðÝ]uþp¼‘É>&/É ¾\?F¿mÍŠ‡Fô#Cé‘ßÊì€Õ<°iÜÊ|Œ,Žãý§²)óÇså|@Y¼h(üeGMægí ¿¦Hb`²•x2“ °¼-†1£~Yb†Ýÿ'WŽ40Ú?paֹЖþª­_¹>€ö²N¹`7ßå·FÍÄŽ›]25J–)sдãÙIð\`ëî1Žæ'8àúí7L–72™²ôO4ŠŽ¸¯x'C•%ï hDǦ}¤@ðÐq…pŽ,<{NýºQ"iGÚêƒ|}7Ðvöó|ïÄí)H¯‚oj*1Òâ’a´˜@\olù VÆöp«-Òí8ö”@ÊèëºÏLSÓó-[a?ƒÛ¬Á{FN¹£½½öí%p$®€]€Zÿž;Í ^ôx¨2ך<‹§àÈ ­¨‚AÁÎ,FYÃÒÔcÐèdWÉ[¯íǸùOÅ0r€:äáÀÂÜ÷‹ 9ðOBìð J¹òl]VßôAü¹©¥[®3ï-XšêY­î'Q*þøÅÉì(ø,ªïPÄ jLÅN¾†ú(l̆ðªµ5\eNGÃ¥’¤˜œhMí]ƒR@ê̷ֲÔɜԜÈzØOMï t14""Fâ I‚V;!jŠs‚C"7Ío ó¹ŒXÔ44À†P©+ýº‚Ïw–V™ï·óÁ–¿?dL‚SÛÐM‹ÑåÇCX%õKŸÞ•ï«ô’÷;Їe‡]<Ë~kÔ×Êœ/¾ôóâD.CØÔ'·Ufc’£¶<ž7â'—ò»~í^bnÔ†“媊áÇT¤+ ñZ¢…˜'‘õ0½ õDh¶«‚;©ÆÇ@Š‚Á+u œD8¡.Û:}`»5Ïs­¬ö- ZØñš‹“D_ƒ5Ò^xÚùl :©!aéræiÆâ§Ð«ªlme쪣GO&ŽYé¹ËèW`_#¼Iàh:²´0 퇔3#r‹ÞèýË!»7/KÛK¥XMšÓi†Æµªn²PÁùùÜ[çÐÃ3n$gê«ûZÙóæ]C7$ÏX–msÒ«Fÿ4799_MdmçòÑ8»{pZÖ3ioÛ:0~Z ½spU ê…y'Ìʽù¬µ¨ó îâ]L|뵚*Ås,W #1òãÙš¶Êrµ‰íÙ„ê?sñfðÖè Š¿®4·é-FÛÅ£íÏ"ë³ ð2h€«Ö'/žs£ ‹,ýéo-ŠM€¿MORõr‹ÆsÂîJ: àT;CÑ©9n©É¼ÒHÙUû{ 5'úµtH4-A&PÿýäáÄT§|²€—…·¢þ±­¶ÍÍ Gu M}¢ð¸Tª×Ö&g~>9Ø´[©K‹îò:-@„j¤žíe¸²ob L}!ªßõfÜUÙ“TÊ¥«íïú·V*7þz(°;Ýeê¯-8×!÷ ’-cN|bK¦÷ Ö?spLV—Ølºƒ­{„z¥ ~qáÞKe š9ú¥ X. }!©ü“PÜ ÏÏɬjûšˆÇ‘S"L&©pÂåÄR5ž\fFÞO5d”X(˜½oQ0ó–]"G©ã:Ÿ5½A|:Wë—+&¾W,Ùz…Ó\·’—¥÷WiÄ jš¨=nï`ÈÑ é_ððïgƒ¢ŸôXb~ÇëK¡Èô’œˆý¡Y¤3Gu£¹QàŸgœñÖ€§TZ¯ÆÍÐçaë³ÅÞ^ ÿG޵+‚3üxorae­»­2lÉ Z‹C%ØÏq &mn}8 CÇ4&³½++ÃËß«Ùö˜¿^1†™JÕå¦bþN‘ÇSÆ––w²çõ~§¿˜¡n?›¨‰ÔÇl¸Zvì vî÷a½=£´ôHXÏù6Îá÷‡CÏèÊÈ"èS—ú°ÓBtŠTÝ^•'Éq¨{skï'ù.Z€ˆm¢ Á°ô+}ô71†'Z)÷‰LøKqù¡¿ƒ!ïŠ%þÿõ^÷ÌV!¹ìRáeAF!ež¸ÚŠ\°¸Á0¼8í?†mäÜl˜Ý‹ðb[د>­2ïé*Ôö fyü%ºæB½d!s˜JíY„´+[ºsáö†ê†âhvƼ`“@Y±œöqµ¦ ‘ÿ{ÜÇe´Ž(¨éÀí³=¦ˆ<·ÆÌ½)~ ^cÿ*˜d†JðY.𕜂p„ (U-ù~%<³ÓO`QlÖ´Qb’€Q‡,Ñ2¹È¤ËÊÐ °Û¾.us«$ð‘Y–z›ÙPUHF—ÁÓS@&Ö¤¤ W‚QŸX¯™æ41 SjÀ¹ÜÖˆ+C“÷öØ/ Öé”Üi¢^Öµ‰ì@y&„iëµ ˜Æ`,»},ÝŽ¦Ô´Ðz`Ýâi·ÚuqØÆB€ §ü‡ºDξÁU7D+$Füs¶œÚl<^ A(T€ùú‰=È“C§(°—ˆcq%Ù8·ï;çyªµcFÓ9wèk:!ä=¨C0Î37÷¢^‹Ú’"±Ã +,(–{á‘„>CyTp”Éd-f­”+)‡x¶j=[r­Å·°ÙϘÔ1w{›hÿš Ì#5“ϦÌ*{Ø[ùêJä2id± ¦i¥,cŸùE<°Aýv–ë%VõŸ»®zŸ …º˜—é,ŠöœٿΖ܋ªEÔ+3îAE+dº> VØÎˆ€x¿·ÝýT÷í´2Á1±¬VaiÇ.ÕÏA`ˆ®fKšûMÖóÜŠÆÎP(áìRÿàôéÿ9F #uîŽÈGÈh÷ùYai£ËÑ YSõúlÇ É„©¼þGª‡Ãó“·}1èk‡§Æ5º'Hëis ºW`É 7‰?Y§âÚŒ8¾R¯9­¡Œ®$(~ÜNI•¦ ð˳ á¯Ýv•2Ö…§%,â¼Ûz¸žÃUl›“ìŸ]M!¶ÒœÛvk©/Òž7ÀëþPöÅrÀ®«µÖ<€ø|ëo÷Þ|-cpàˆ^·Ç ŒùØ©gŸ…à“¶œRÃÕ„a¾Ö¨'t9¹“vtÇBŽVMN–ŸÎ2IÉ%|ˆ³å(ð†Í#7£É¿OO‹£Q9ˆ5¦Èáe¡ûCý£wùÓ¹.^ME}œù^ݵÒH†'û*æ:N¨á¨× ~ù<óêÔGúG…`ç Õè8›d¡ù¼ÿÍ“HÄΦ÷ö‰¯§d÷k.E¾#¹Êu|‚)X¬’"Xß¿Úû/ØrãæãèþB@ š„‘‘ß<¯è[gùô@â«÷ñ¹‘;2¯E,Ÿ´‡‘ð)nÄ?ŒMÃC^ÏÎb]Ú͉!aΛÇAá=ÀšÓ×0ÌNBPß‚:¬m¾ʫÉ«¯çWº="Zn7Ó%¼`m†¤C<þø²C °Ì –ñFƒæíŠvöœ.¹®âÜŽ%ÉJ-9zXýXÚ¥kç¦ûbMæË-Õ$è o7R$nHT7Y5>¼çÓÖo?ì¹<Âµd±×t´Þ’ð”pa¿wú„ÙDw.Eo8“š© oŠ5êÁ?PéÄ•‰Œ/GT:莽Z­ƒUŸ4GtnüpÄŠÃQ–*°iæÑ¯"õÂb]ž3i|‚åèÿ¢ah ‹€›ž¤!oÔ '<‰e76×.]èu×Ìa›Vç‡û'oŽQzi&Yþï0hHe m ª+-ß)œÇ°kilíÖ‚`™îÑh}÷=ÎtN5šzŠD{]} Ì¡K+!¯^ T«Î|ìâøì1tÏ]H¨Ò±duLÉèÙñ¢@ÜÕ#ÜʯÅIUù<}kÐ`Î\ìÃ%=÷så `*®Ò„—äã…³Z­Ÿï—²O²j¯X®Š¶“€Þ¾"·%cª»ÅT¤ÑbÈ08_cF#†}T4›8æ 5Öÿ17”š4ˆ#"¤zŸz×oŒYGHï[×Ck#A¹)ɽ ƺÖëUí7ÛQ5µ¥$Á¹„y f~}Ü,o•£¹àHÆ4M³~P¦_‚ÓhÇ_ŽÅØ«î5AÅ:Ô[À‰¿Œ^¼J£…ôÿä]Þ\LEttQ]/$Iê ~¡ ¯gB\Ë-KT|HW"®¶&JôKÅŽC6Ž||#²xޤ3Šò€UÎB)ªå±òW€Þ(K­äìG¿ddš-Svô¶Iy³£I<×ߤKâ”àT§ºaÒS¬ØtùZì€;%n ÕpœìžiÓD‹‡Š{L­ é !hÖ´ ÑÏô c1b¾wL–«ŠŒ¿ÈÁm'Sßú1/…†ŠÜa\ |¤®xF¯µdöqY.ð[½;"™ÖÃÆðŒèꤾZßQûÓ‚]~ŒA2[¢@PÖ$£­joŸ4Ñ&%^¡Bú~–ü¥SKLú "¯¸9̓˜¦‡Ãœ0Ä`®Ò’ƒ¡§œlã$Ä")z1±_—SgK¡¿à˜¹…Q!¥ì%gâ:X[d¯è°mÏŽä1GœgºfXÒ:~–N*é{I“$]K¤ôfŸf•…̰½Ä…æùšôy°,øŽDK­ó°3% ¢n»¦·Ê¯Ê‡ Tbaƒ6–Žöh¾…ÂÕÃíã Ñû§ðŽmû…r¨O=»4öÜĈ2Æ¨×ÆŸ³¾*OrÚ^8¥zó xÌÎ(û,Ûéy©Ý5=TÚJ> ¡ƒ X;ö)NIßâ´ÿ«fdqo(ÀŸ‘óuÂíÙeWÂ÷RV6n÷ ¡ùÀÊ)ÔÊ YåÂt\)”; ۙ㢓§øÌñxJžø¡iò<áb——ðÒiAó=µ—§tXœµˆÉú‘É7že¥-Ö´Wåp}äþÒû΢¾ùOÚ|çŒ;ÎÚ1û0ÃeÆÎ@7,.cž~ë›ö[ŸH¿IIéRq¹°Ë}ÞA£mVpÉqoç9^—9Káê›;ò|ùX(ª>ø2qwÑy¥Î°^\eáêhN‘éÌÀœlH¾×RƒÎ£yM÷R=5çÃiž÷•¢àÆÕßèåHü¡¦²S5%H“š‡Æ`mºAÞá¿ÔVWš‡—o"|%á°,`?ά͗Éâ§¿pfÐ<ï)fε½Ë±*êà?Éû«êmò+B­E¸à)#ä"À ë„~©Ãð8™ ÎBB«•OÎÂ9ô§}ºøÌ]DŸFirj°÷Õ]dAžD‰„£W’6Ý’¤EÌ;gXPÝg-,|0ú¼Bc*]U.l‚–±n`®¬üÛp›¦P"Ço q±³wNÅß‹ |¤ «c&[¨6ƒ_ÝœÛÊ´þ6”në”}°I_Žú ”Êkýr/CÙ>?î ÅÕï’í»Åì¯îK¬ò¢¿bõTBÂb½}Q<Š×È÷LìÕ²ÂûTÚÊ„ÆmkŽþÏ‘'lá'®H{Ú+¼8µ—Ž–?Øú«;æÇ®*'tºöF|™¬.iôu{¾/)/ø—ð$%TŸÏ#Ý8øöˆ›½½[Ò^›jšƒ¿‡Ä#¹Ób1óH!.pŸßíÛZ 1‡¸ õá%Ô'ji4Z¡Ïs£0•㾦G½ó”øšüÇ[=ãÃO 7/l!ÊAÛvmZ|c¤¸rüêCÍ ‘«÷¶Ò"ï6h>yµ4IVþ¦ND§t‘áÖõ|æÁðin½EÖìØCï|¾±–Ú¢Èò;­”¹Õå²×ffý÷l€¼+ÕTùÝëç.Oq_º†b øíq±åV¢('Y‹â4´¤WßÌ_ŒSâµú_ÇIƒ‹dQ¦¼ª¼âÚøœ1¹Að/SGÜfhèöˆά±*Ú%©ƒìH?–(1ç¹W™Ö`u|ög€È¥MzúVýÕÍL«2Q øU6ÛÇUpŽÃ¾ 4s?§æËc§è¦&¶x.¹ÒÃ9½{ê$€–$bðÏEþ}j•ëØ]Ÿ‹› ýá/_‰:‘ÄŽžyÄÒB¿+fTŠR,7*)ÃÚ lMð]ëÚÐÓ–á¿/DN ¡É{A†±†-EqiÆ-÷U‘î1¯ô™)*!>é{%£/úøu`|ÏμŸ%b§êkÖŠÁ9´ÒÊÒa^är´„×ÏA©òdžãèU΢jûÒ >Fbš€M ÄG:%ºZ(àVÍt}ë“}pJ‹’Ûⲃ'-kã¹+tTJÌEˆ/;ø`b"Pv8àYšžããž¿,6¼wž×œá@T ¨¬..× …)´âN÷¡XSÉ_V¡Ç^°ÿ­ŽzãaÕü1bI¥9@>7' é©\Y:ŠÎ9.éyçkŽÖ„™Åå-¹(ŸCò/h(#È[γ)›Ô’@åTèOÝ¡00dkø–ô~Hh(+aljó€_"~:îÒ©S×02ÏÉï툛éxC˜’äË‹!3íß‚§’ò·-Ll$ïsèYúFì<ÌlúÁ~Gî{ÁàÜ ÒÍ^¹t'^¡DàwpæÌpz.ßð>‘!hª°…¾óý/C’¡¸Âßr1Ú^\%4·=|dÓƒhÌå›ÇÄO%c§hbµ¯c€tÂFÀ=¿šÏøßö±^áÖ ‰)*ÿ³²ê£§ßAÀÕj·jA§œ7/AÁz!…¯Ì¬{vâVÁƒxô·x;mv¶Y™ ¶Ì çõŸëÝØ=$ ðJ ÿVGþ¤Ýî˜XJE(2tÿÏȈBqb÷`7E•”nË£ €J¯[aÌ…D£nó­¼ÓÿàÎ(céOîà¼÷¢äxpÄžÓ„,²£²MHdúЉÞðM7Ò>å|²Ê Ū@Ø›i’;†ƒT†¢¥¬Ð"¶ìŠîŸfd3±{7øíKßðg»®:ÚS4£Ù)ªŒõÙy·pO|iR½RÉL€áƒ~õ› — ¶ÓŽ®·5Vfiéix¸úÇ÷ì‚‹%¡áéñ‰ Ì$a¨™Ùç|\ +4~x&“º4,­ê­öárÉ ¬‹ŒE¨!¾‚ñtíQ¨jAú¬€³k€“4M$“·Å-Ûs®NŒS?ÏŒ|šÁ™ôYç!K­%]‰üÓÁnþ÷ÑF;—Ñ嵎ËW~Sp£¯D²QMV4?q똰šª3óqmØøL“õnø­mÎHfûÚŸCÚ¤ÒBR[OÕßP9~4P7Ö¡\Ò}®ì\ }Á™Ùívçè»Ô#S–W7!Ж[«• "ézôAVÚe"ò±)¥2äËÉØG& áomj7_ “‹ø±Àþ€þ¿7MŒ¤AÈ´6Dßki[±˜âÙåÒt+KÓ«Š †É‘¢¦)EL…} È0Î\#¸GC¡IçŠ.1™Ê 0Ó­xQHþ%¦Àƒ-¹‘“m!˜wÅÐäß>@"ÎæR's¦¨é¯®ÈÆ þ<þd~ïáV<&ÝÐcò(òùþ:¡éåÕ*뜔…´¯R_Ú ¹øG*Û˜~#ÕÂ܇àZKÞ×ýC’œ¨ú°jÿ¼à —öYÛGƒ…ÕÓe0ú 7µJ‡Ã)°+¿ª®Ð6går{¸±¿ Ÿ‚Á­ÃÄÃ’põ*°Š3?Öæèø_ªÌ¬¹)ç»·æ»ô·êY‰Õ´ŸÓñ WuŒw“+íp Ž6w ƒXi1··óý‡“°Ø­÷¥ÅCH?à~ÆÓLÀµ7½5{£ŽCY§öñƒ¯/ :¿ÏaªÐ#•&q‹Z5B®„4ª¤OFË<ñúu-ÏH°ßQC4«ž‰kåŹ!Ó"_—•€r =®°85Ý!ø•<í{²k ªrs¥ºfa'hÍFòGÀ ÂϹ(®|'Œh ôŸnwð«œþš„ØÊVKVùŒPïÍÙv[žŒÈ@ ¨KýÝ¡Š“%+ ñy€á,!Ÿ±1y ™õÅÈ†îªØàì@¥ ]þSÀ_Ûx¾š@ül 05Þ¸ ªßA1ÄŸnbkWA"~ÒSÔû¶}ÁýĺäMÏ ?ô@³Q¬™Å[XÔQ.¥Ϊò3Ï€òscD½ ÕaçSÝB¡ãñV†…m ñ¿­V/ã÷Þ&úûL*p‚’“aq…ÅÑcU¾¦Ýë=>r&}Ç«´*3’Ž.T=m#Yû0j'Ù”O«2åØIzçM.œyA‚ýrK}0,±BÌcU`p ìŠàbÕqÿ™îvùš2ÑÝ—¬çÉ Ý\ÃÒ ÄZ¤ßù³ ²Õ-Í2°’äò³íÒÞŠ…ÏòÑ$‘¿›éØ„ÀŸÒVªÁµ}aÕ#Œãù!Gk=4 ¾ò"Y5Tèµëå÷åybY¿g1Rf$¦!åöyfB5±Æ¶JÖø³L |Vòª4ž32ùî'0,èì~"þo,bxí<·èT·uŒð‘ò<¯¿ëÇS9G®àr­£ò8ªw`¬P—ñn5!Ïå;ÿ¹f‡ªš›Q†Skª•½Õá•6CˆæÍäó«æŒL4¬åû”L§Zöa†£¡F bIN¤“v¯¿å¶”‚û¦Õ 2’¸T„ŠÞnGhò›à†á *{%Þ•N¶Ø 3ÛYÞà9\§­žÏ‚Ÿ]¢W,`µ ûe%&&ž}…2•É­¶¥ò…Õ……ªl< Òé¬î¸‹ÖVÄ?1ॠ4ùý&W€´ÕÞ$ðŸE/ílÛÔ./¼È·c­ÆÒn¬EãÈhÛÏ;YϵJkÑ‚ÈØÅƒLg_[}w›¬-ÆÅþ?±É~¹Ž:‰À¶Å4WñgÍI+³›«tÚZ¨#•î—Á¬^¨‹[‹£qà«#MöðdÔŠš¾`ςܩ®/nì~^~@튠+Á0#7%œÚÌæÖѹVÛÝ f SßJð‡ª×\›UʘJp= ì/ç‰Çš”7sû4|þšÇàÚjåðUVµÇÌÛ n"¼‹W(TË&-?s¾<¤ècÎ&P› znœyò<ÇÁícÖ„`Ⴤµ±L_ÝU#àBþÏBç"z-Ùg^UÔÿƒš-G˜0±i"ÜáÎ jïv\ô¨ªžä–žšÑ%Mâ‡î]‹í´b% ôî$$™&Lì›í†CÀc‚Öåh?°a’7ÙÆ¯x´šr^ywóî”9 4öÆÝfäQ!_*õÉG=š%‘默Ô‹:|Ü\`h{ˆý¦sO‘Æ{¹}ð8ªT!§êe­VöW´.©ûðŒÿ§{ÝâQß ™×!LAJoMÔ×@Ãd.ø¹0$]ö꾦ã.ª¤iêIMÒž HmjŸÔz$Áå tªuíÊãnšªTÈfò˜ëètBkX}:˜Ë  o¬çøÜì÷E~t”¸n÷ßd‰]ëÇã>³î‘z×¶t+1F“ïRÃo »$ÓÆ¢ XÙ óÔ ×̇]˜öÜlŸ´<@¹¯s; _po.hÞ øTTd÷gM­Ò4pW47K|Ò¯ítúªb{—÷+*$ p?@â:7hžqÙº³ûÊâxRû~²Ûj—Æv7¡SŸIÖúi«¾€†¯WéÿšÄH&?Öß!7µ^—ìæ_!»«Y’1ÊÝcÃë€ÅêUÖ6À”"ø€n†œeÈæÔ;ÿN±õ²|}ÀohËÛSá¸Ö¡ð‡@‹;=NøÁC¯Všt´Ë #0cv–»\a4`ƒ|j7œì:tˆä6÷ß²—JÃzŒ¼Wð3!ÌÅ/™¥‰ÍòN˜¹÷ßy»ï÷,R€Áyä/AÀâ0 ˆD}hòdrVˆDKý&Ãlœ7Cý·èÐõJ£&Â-«ðž%$!PG<‘€¼f:˜mƈ+(™ígðd…°ˬýCþò˜Aëœ3Á\Û,'=ªrM±ÊnOòg_)¡Ž¨IRKÏα)¨ÐEÙ±Â#ÒíSŠçŠH+®`^{F«‰†.·˜}Ó  â_}Ô)æë.³¹æPÞSL¼^õ"› œî-Fy-°/ìŸÁîAcwo²2ËéP÷ÄP‡\d67*»%§ð*$ûȧ Û&`cSÿ<%LÛÍÕW”¡eRäÞØQÚÆ7åãþt¿„Z¨ÏÐKìÁ#” D<ò69}9¢±D•ÄÎÇHÜŸ°ïPcú]æ}Ie𩌘¤‘ #µ Ó`‹Â(Ï¿åcg‘n²=Øítê ¤Ê irÆÏ Zļù:]X´Û±­Š]6½í«L>0+¾ÞL]ãö¸g†#TEê‰rNN‹Þ;Ãi/äL©¹îwzFRú§‘ƒ4@$(©@TÅ©í ’¨± ŽMî |5Óì?³{£?„k=fB1ú¥å_L܃ò’}ƒ·"_ofÕ{û¶§þ— Q*xë·n^Tf^åák„fÚÁíü¸‚¬’S ÔÓ­…‹k¢¤oMÌ–]÷ûÍ@ôJ›’ö#ÿ‡7=}O?J‡4Ȧøo¬†t¤)Ø}þÚ­åE*í[±.7†`߯|$«c‹?_S ìz›È‰"!õñ²6 R-x/2hûIí•E™Eê*“?þ{™?ÖÖtC+Aî½b!Úí§¡Œ$ÈGOŸó0_Þ¾‰¾&®g|5êv(Ÿ¨€QßÙµ60Zc™ÒLô¯ÃðáþNï>Øe­ñòoªî ¼áøJÜ`áÜ:-RŽ\*©(òMg³°ô.õE† Á³°Å·éºÈ w\¾WpúkÑ>[W_¤Ü¯ÞaŽø`ä4Ѿ¶–±âS_9áY Ö´Íõ]±²žEv~uOÂhÈFê6÷9¢‹á²—Ñ0eÕdûQóúõw¼p…Œ=ËkêcK+‰á-‰ƒl‚§÷½›uó--ŒÜÌ ËÑáÚìÞã‡så‚‹ÎJ6”=EãËÓÄ›ã®þØCç‡ü Ïà§1‰íس]ô½º#'ŸßüñV×¶¬˜ÅÏ ×8eF~Ýù»RÑé2^)¼úÞ(­\-ã7WÂŽzç¥NÞHºöÓï€!aõçg³-»ªœe‹ŠT-`?ឯgêÛ >±®Øšo{E ÈÞu'Ý63<¥ÃOïÒ¦ïþÆ‹˜¹5.™ÀU§Çy‰Néy!„b«Ç}~ß¾ý¹u]ªÌ&êûm=¨ßXS^r¢'ÖZ±E™†±ªœ*Ÿȶåôͧ,ÈÊæìò ò¬à¢çñuÊñEú1ÒˆHd’0ÀGM]ÊËf¨cUÎh‚9C”â ³m‚×{öL‡I[ÂÚ½¢ùž38­«¡§oÕW öcQY/?6XÉ"B™m.CôБ9LÕ\¾êŽÔXHú­¸[Ú9qì]Ÿ{~©‚”¡ôëà7«‹AS‚3g#&ÕÆè¬•‡b¥“ê?µöňOÉè"ótc˜m1{[z( ¨k>³h 7¾zºj€Æd|œ¬pk¡šù'…°àKM[†eœ"°O¦#®)¦ÿÈ3‚Yj*rLÉDž¤µ1!Eå"}RبB}fyQé´5ä ŵª“ÞÃ< 4·xÄÕ›ZúAØ2ó´Eαð9É…¸l"àB#_Õî‚àbÑÊaÖÑinËý[µ‘™~¿â tÇÛ‰ÒfÓ%(ñãò¶±N±ZÃìo„åoº&ò«Q÷÷õ³‰FJ×Mx!O!Ò —×Ú {A—¥Ûò¨ò:X(ŽÃJŠJ³=ÓœŠøºÙ¢¦ô4ƒÆUJí|ã÷ù³‰þµŒÑÍõÝ«Ì!ÏKä'tCý¢«–ÇJÇ5ZÔ›£ÖøqG*};ÒHí³@‘€jùì¥~²G_BæJKÁª|›K-”TTÎã yqöml‚ò·/DÛÜ Ñ»[o­‰-NĽãH`Û7 èì$‹¾øN=Ï»hovòPsû|uvÈXU3¬écp ßF¶§4áxÉOÊfœäw>=I¥+³¢´ƒ¬9FVþÒi!ý?÷»;D³¹æ2œ›RÅx2Ô£E™+ „~…$ÈpGœ<±Ò0¾‚ÒOÝ9Bã`€_Ä`([Õ ¬\+)N)i¡ùìßð7çlò›ýºî5 cŒ+z3C;yÀíïÑ4Òƒ†˜ O–¦ç¡r… Rù—´˜ Å"UgjÂÁdx£OQD/™yÿƒ“úŸcHÝ?T`e”£ 5žÜò’]œíZõ<Ç5ç0ÀãÉvO  w¨Î’J¥ÐüpC‡ÝñpPis°{ã7‰’:nÑ Ч;á¢À ´å´-+£ò|ܹÐ,¬‰i5]dºZVsá’ñ(>Û V‘ßwµ‚ìò[I’9ðÍiŠÄ}}WÃ`~¼á_'‘!×Îùýñíp]&o›)£Ö&B¤›ŠOéö:5<0,­_,6pÊÑf²p¾¡tãÝeŸ_3fÓ›!ADØÔ9­ß†­þ&£VëI+`•¤³…) 9fIh—q­Ö¤¢üræ,NxÕ Þ a‹÷E´Ýô äõ1g,Þ^m«Õq&•FÙ1=4+ãŸ$—ø‘§ÐÛïF«|Ñ-¼pñYe‰ùÂÈ·»ÔÞ<\Ãñ¡ üŸu•ý6ƒª…"ŒKBHk7eq¦#k´ÂÌ2ŠÜÛlcü#CCs´Y†êÔaVE»¦sÿEæŠv# Ù 6r‘—H†Ú sZ‚S^uøãw3–yû!ƒfޏ*u”ñÿV‚U€]Û¨þŽ R¨§&-qlK7úž¬#©?amú›j|2ü­F.çB0”ž÷ ¹EJmìXOXÏ\-îÆèPËV_š‹ñ¯ñD—vûLžÁÄêŒW‡sÙÂ%}«¸ø2t·/%â1M{eïî&¨<dU;t1AÌJ3®îö)g Ô°üIÖÂ-š¦Ð)j3î,¶ÿaiÊt¬0Úr¶¸| _3ñE0ú¾•8}ç~¿íJÉV\©¡{Í­J˜êˆ¬'^-&1ʤ•pÝ~ö|öc⾿3xaûÉ~3Ÿ–É{V͇†ª ^½ÊS<Ÿ%—1IS‰õò-ni—.A¸ÁSàÎVŠFlÂøFGb«d(Kãøµ|áF©ÕEô9ƒ¼óiæÊti.m²‘4»ÿŒÄ±;P=.DŸºI·ù¢@¬oš3¢Öê{ecÛL!G]’Ý‹žv+?YñÕŠ¸×âC3 @ ë9¾°€>(SÔO›ÈCqâ#¥¬X‚ìîþ“4ØÛYtnõÙò5hô …e1ªƒ78U2ARW)~‡u…Ê£8†¦A¹Ê¼–™[EÜ¢}˜Ûù0:›ý2ÅR—;KÙ± à+b!OY|{‰E¶É4!/„q‰‡ùþÖĺËÄé¸$°Û³=f\šèГ_éŒH'TÍeÝžUål=a}çÍF><]2“#öò¤Ñ•Ýx†-{QpÁ7²úLòú[âLíxfl@^b…T ŠÿÓï•NÁå?P¼ù$sЛ÷X¢å;q[”¬c ñSjiw¼V2Þ <1‘’u_Óûë¿É_k¬±ñä†|F¤gEš¨xβ_Hzn_:ýÀfwADÙ'ÅîFÇçÜ”?qæyqô冕Zf;pÝD-Ù~ZÂ:GªëêB> 'ØE_݈°aÄv·Od‚àPÒëû1^L““&0QÜÛâj†ÃüÝ™ÙBʉ9'Ðíq­Â‹/“L”mŠžÔV¼ÒO´µWJÌ­°½=Äð­-ë¸ÃÀqûkRÔèñá«N'•ÁnfGJŽºº4Ý-¬H§ 0™å:³¤Ýén,[hLÃ…iMÅ»;N™cB8ij0æ{š>vYÞ»kÿs~ÿóDdÖš†®©7I.&àK#b,QŽ_9E¬‚.Ûe=Ë:+è/!vN,¶´Š6©e½‹KîÝ%cÈQ@ž8PåU¿¤<âH]&}®9òŒ#´\°B «Å1[ó³ ëÏå¯î{Uú™'-Ñë³ÕQŒÔ¹õ¢ÇL¯dA,‹Óšv½µ‡îr-7û3Æ bó¿·ã€NE<‚ÀÛ5±ÀîÂÜ ͯÐÙ?ÏknÀs%ò£îòa€¶Ç$¦§Jdöa8V½µòÙ¼‹ÍÚ&~ ·nqB £íÖ•²—à=È|0ˆÅÉìö¹ÝfbG(”1 j&ÞDSç¤Fidð“¬×èùç—ïÒ@/aü}—ú««W—"[KZçÏÒç1êiÑ4Gϲa7ÈÀ¡WÝ$x#.ÂK[Ü«´´*À×ýt¾cº›”ÃÎ%XBÒ Ä—7"»ô¦é#úå úsp(Ôeõ&w¶kuº¼öñîIÒfu)õm2bê´z.úä!úÙFÕ °ìÅóñS"¹DlœÜÅß°ÒsIÈㆵîp3d3l¦ú¾‡’HÐøû¿;O)ô4у® P1ü#O›v€¬Qß-[–û‘¶Ãää¼rÏœÍ_ÓÌÚñ} œÊôr¨d[È*~Ôòã&SݘûÌs£ø+Vþv[Uü|ö:ZÊ;Ö§5zOg»9€QVõ–ù¦±óæØ¶ª ÔDd‰ý[uOÐ\ ²âDYt‰i\•`ÞØYù€œÛp½ÿ$Àý_ ³Þ|NAR¥!òPª¨P>4ÐÊfHSíéz·õ4Nïéæ|†(*ƒ&5¶¤S¨Ã"`M ²f»H# q¶ÂF}Ú·‹Wê(z0 hÁ h9Bmv#›éžD‚%»ÜK‡ رÈc‰)0òé«ê&QÈ(„€;ûž¯×–JÖpb©pßGäI©µ=¡^ZAV>^¨2<7ŸmI;YØBsóI­6@¹±—>wÀBÑÔ÷¶yd†8‚Äøb›¿­ `Ä× ôØŒ©*oL$¨~U R>ÇÇþ±x„¶…4—hp‹Z HFÑ‘§H÷L$~ªBìß·‡Y€½@™Q{]fuûÑð­ÖfVLÎþÓ½Üâß$öE‹ÌA³Ô—›ŒE ½\ñþ¹rýË6ÃöR Ë<‚ã^ŽÐ"]8"ÀG^ÖE¦°mCOü¼>Ëg;˜_fÆ£Ý÷s~ø‹ý¦Û# ³ôÂêÝ2ÈPòÝÿTŽÝG_cÏtÔB¨²tÓº¡qX ËÙc÷‘‚vÂÜ w]r×­k5Å‚,ÃÿZ ®%…JÖ'XÄpYùh!¦ ®ò„Øg×\t7ƒ[yȨ´l¼0°‰¡Zð\[›_¡×ï¼ ` ãÜ4/Q]SòçÓÄVøï³¿Ë­-O¬5LÞ ¯ïO×R3^9‡Q1v`q¾“ò«ýq°¬ÛÞØv5ìSWÜEoh©ßúPï *>Qµ|䤨ÙÀ…YŠ©Mq?µlèì²éÔŸùî呎äÑÀ`Z ½¿PØK&ƒ ê Ò*þÖçQÔC1°q›äðñ½s¢†‡MçÜõ„ÒÙé>‰G’lÓˆHÑþ{aàÊ~&¨eõxù)E°°ö’gÌÿÞªº‘íØz,YÏ´iNTŸz1P`:v€&üŒÉU}%ùN(;mJ.X0¨±ûûªlÌLNB~‰ã\}¨ôïBÃýäÊ6Ïd½a dUr?‹Àììè¼vÝJ¶ „§æV¯8`_N'Í-Ó·ëuÎj¿oyÔGv*”¾Å²óM¶,&øÚ‹PTü²ÕìrRÙðŽù ã'%kA0 o“>Ú±Œ ù̈>›NÄYgK—€5>›D˜k©ÆÃTÒ‡qŽ×œ€ßÜ®á:KØüƒÉ-Ê?á6´P÷µ qëÝ‘÷UÂß-ÿ9{iœÁËE#vN¨Qz³¨ôÁ*K¢t;H½ë0JPW°¬¢|¯``§womö°+ âx³zsí*8ÈáŽ.ÓXs¤#øuÁ€ë§é»ÆÒÞfnš-¡o9Á~Ú··V§¯d™ç}¼ ÀP‘™¤ëéµDŠQb¶”}ÍGLÆr­ rðãáÊ]"QcÚhE¦"倨óHýó\1g))Ó|óÖ™,ÁJ}ˆJñ _& §{Ï+ÝmÆöÔ¢8£>¨&ºú°Lj¥ÒœoLÓJ_8‚Ps­—çÈÏv ‘Ç 2¿Ç-È}OÑî {q IeÌwµbOÍÿöÕFìéÐ_Ìfn¥úmC ðv­W“‡†-ŽVZ¤ãíÓf>mÒ‚Ð(úf²©dfföÐð^Èè*œœ¤“‡ëÃnº¾ZÛÜïñïM2»“û‡Ç”mN2ç»ßðq–@ hÏó²÷4°[yè|Nó{ÕN¡¨DójÞðÎØLÖÍùØLJa‰–Ýy1®ÏÏs“’ÝËcJ‰¥Ûgªû²%¢äÜ=¢²˜ëî"Õ{–»pkþ¨ÁÍ¢ß? ¡»I¯›¥ ª$u8¯ÆÏa¿õ/7¯!¡{ßR°Ãei#g…3Æ~8¿—EkfÍÅ0·ãÉìpv¢æë…B “سôŸWNÿ•¨%ˆÌŽš Ñà3üFª®˜{ÎSŠvAcboö¨£” ãÚü\Oþ(˜ ¿… ãVƒ¶(ÞåØé$.¼Á §Ä÷þ<ö»ÐjqµÈZDx î#¿ \ìóåq_ßàÐ&(•å•#…ºfÁBÁv .Ê”Œ’n¥XV$q¾ÁÝm«Ëßo:µWúƒª€<ÃZ"Š7^`‘kúTŽ—…Ÿ¥ =Bšw Å1õääuã`ßÁp^;ÄA¨&5 +uu&%Ö)ûóPuwÃ;:CŽZLQûµ Ò"ðuÌS»¼…·¦d¸ç…¡¬ýòÓ¼´‘ñ\(º½¦ëéäæ=DÊÄ ‡Þ”•ëd¾¶Y=çŸu<+Ä@¶Ï"m€°0oÝ5 ú!Ö÷vIá(«þyP@üL?y9‚6œœÚŒT,â®{!M« KÖ`–íË}Fmc¦|ÔJ¦­¶l2íè ^õuõ£gÂÅè:HºEIè™*âAÃÛVô©ØH‰a0ö­ˆkîÇüÏì´=õ Ô¬”Ø×ç9"ú¼%)t:a£XÒ¦!B×ë‹loo•…ì8«Óíì|<~(êÃòE%ÎmþçD|€Ò'i›ñû-eX—˜Fi7ññ®¦–¿š(Ô¡¢CÙöð(a&i ¦47ˆ¥¥ÐI|-œC÷5m%ƒjùF)A„fé>Ç¡µð¾'ºš,èü‘/Ú°ek YÕ|]€ÖóBŠ`Ìy¡7ï"Ôi‚h-݇>¥9Œÿ[,´"µ•!ÌPõ8Ôˤ+ݪêiûð§¥£y¶Lîp¯Dýk-åöT,w‡6VY±‰¶í Ô3þ”»ÛÎÇœä. G¶Ž`a­ç-«H.ÔH™—Ft9á¨ùQ=nß…êþ}ÌzZ–ê î¶nçK†ï÷)Ë ™‚™û³‚ž3õ jûkÆžÇ9ê¯$Êt/G"¹€Á7ymÜ}kÑû  ýûEk‘ƒ?(QÙdàW¾ì]¾¬É˜/Fܾæ!Řj7¸¹T$¥Ð´bR`RÃËð'¯é3OÅNÒ-ND:C§X~Ïbð?dŽù¿1B‹Ñ¼Ÿ9æ¾ uí= oô¾¹– ³OÊôüJÄ&ɧ:%ô[+F\†a À‡âZ0Eg9äOõX)O Q@óå†KÀneõjû÷"ëKaÆ^XKÄL‰ÌkñýÛ¨w÷î3 ctYnë¢w7®ðë<65ŠU­J¼\hbнëDû»(J)À„J¢|HÕa¸Ú.ãxx-×¾ nÏfEª·L—¡>™ˆ'yÅ¿é¤A;|‰¯ËIÄªÞ w3¹²Ãéýöp v-º˜HðøæLBZµäëÒŒ}ŽI‹'Ðxa½Í“ølä[+ëW3¦p°kw%™»#ü™0;sß©yKc˜ø5×2¸bÿ„þZ†¶ÉV©²JÌ*{úÞbQyQPFC&SBÌ0>¸È²K³¼»Q U Heþ!lFû]ôoEyI4Gã"ެÎAl5éMξ’ÈØ£Ãry,(ê¼n9eñ„[Ø]e‰&Õë]EæÛcIþ4aÝ%É_ ÷âÜÀ.êr$qm}¦“p Ž fFÊAIû¦o%Ê"X- }­%ZBòؾð¯ W$a7)¶?†þ”òJX‘x„¯Þ[¸÷/âFY…èàÌITÁñ¸é’œ–LÝ€K1ÂxXÈøµçfµÿºªF{Ê#ÐÈ”¼b`\$¹–Hȧ*H¹!V ÜNî.r®×Üsí7m}ÈŒôi§6Æ­Ó¸…zàJG^x0Éi÷I% o¥ªÔÌ®µ÷bØJ¨2±YyG‹åæ˜Íb¶bzzÀ.Ááë“Kö0̉µ¨A(1àX\‚Ô![Ïg_ÓîA§;ïl› ­¢-² 3J(˜*I[éè†]@‚‘¤?øDîÇô0ñLôÝaŠ_©ü'#‘+†þ]8ÏJYY›RDhkÙ¬›<:®Ø½E"´éAÝk lk³‹"]q ˜BÂ3ÆÀ‡|І|=Ó?ÜëkÌt®ìGž÷= / ªÈÍPÆö ¨ü £ÚbF–¸¾ynCt¯Õ¦#ië˜EЕNôoÈy-Ž&j ’䕊EÆ€äÖÏàÇE´»ééÁtF¤E=껀‡ÆÅo?†$—Íh}Dö$%žódaôñ Þ‹7Ê#¿:;\ÆùıOœøÉ•cÁÀ.x5:9P.)Aˆ!3ªì2î¶ûï›énÀ•l|Ú@;ÓbѰý<Ì,]Y}_ülj4 ~‹ÁV¶ôĺ9ú§òuò^0ƒÒeª¬àøèv¯; Y{Jí0–9¢u2%W‚ú8 HHP·EOæ$ëU‘óøÿŸ¿—z¨ã;‰@X5J‰‘»ÿÿ‡ð«Ø’EZ{Aø7âL"èk Y$¡ß­8!<0”ŽaDÐH_L®³xAŽfL #€‰ ¼ʳúp$ÐwNå8a:ÿÊ3‘T…tS¢ `™Ñr!14-¥ù–~#’Î XäÔaòs82>Z;éNt0’‘®ÜQPÒ½fÛ.Ëí|ì“ï'*«YÀºÕµ¾§Ê·°kCŃÈZô™–܈(ðÂnÐÚ<pýOª ª¸$ä¤ë#E¦xñlã¨æ  Á'³‡%ñØäŒ™ñ!&É/‹ÎD弎+Íam—ç`-h…¦U,A’)e«üFa³È"B_r0Ãi3î¶(ZßaY¸AŸÖ$ AÚñåëÄ$šÔË—K:ùƹ4¡–,¿ïƒ·Jäÿ_Z„ÄK‰ú;œÛ.'Áƒe»Ø’öÞã}÷ÚÞÓ%Ï h±GòÅ\š³#ò ›=ko½+‡r¤•o© ï;‹©Á’ê%Ïögªâ¥'ÃÀ˲×é䈵QÃNü^µ¡ Ñþ-žÅ:Lìù²§%oðç\î)h«²Që8g3€Åµ,ÛËÐÿÿóCüzøVžj&poøÈu±ç÷Åi=°—ø¦€ÈF¯ñ[‚žÚÔÓùa°ôtE²^z XÀî·)H{o ê°Z9Ì ;7ƒ+‹fƒ¸2èÚ¦,Àp<*!g5øòxû¦ØVJè“!9Çœg?v8!¹ØWÌ$oøD‹EítKÓ6γ†zZ-ŠÙt hº%êwâ5Ù½6KÏAË+BÔZ®²?Y«sÜ£ý5!~‡µ¢oËÜÎH? D¿ð:¦Îªn²%Þ몢²6ÜÍlVJZ"£«l¸YN»æwÚ©Ta"Eü’¶|©#08‡spdvx~×Bý`Ípªm“!g†Pÿ:„u7˵qÌn"B£åÞ7bµÈÂ:[-$ÂPmX±w¼b¥¥_ M{çQ骃 çO»p4Êð  <Æÿ\!¿g4ü æÿ.0> öä«ÂOe$@u³çRÛܽá4ŸÊuª‚Eís¡ÎUmN´Õ^VYo ÿ\Ú´“&~á/Šˆ3ñÏÆ¨H}¯›4î BI¿Üî Ù‰^g.QLÁD*}xÿ7L rËzmp³3á0ýãü½ÇÉ¿ˆ@š è5erҼ¤ö±âóC#…)/QL©lEbSèN›;±¸®rÖ†~ˆR! ×——GÆÏïcºÐʵÃߘ\áA‹xÔ´ öUâµzŽ€«‹^WJ*Ç–s•ÿ& 3ýŸÕ ¸p^¿z1BO|Y/Î3~ÜÇ*6uGvq®·P+$­:2PYFL£‰»‡iÊ¢ ^{ƒZšÁÓ@'Š?¸-•I/ß„ƒ ̦ÄÈ~^Ü-Á÷6£=R–¿Û/ëu’c·¡U¤Æ‰².õÓV•àÝù𤌚†Pž ë4rÜ.$KmÁ˜ætGøb›Wn©Až1!\Óè¾|¤°_2a-5-NPLsø™T© Ê é™ 6yçÍëîÓðóôS¦c𯱒ïFãu惨piP\áu÷Âê¦Ðânb ÍOž•ü±M$¾»¤›ØÈ«hlu1pž–d L•Z×Ε´*Ò3¼oT“h{ýM”—ĈVè-E²wŠҨɧ|LZ›1-QYu÷ ûkqðÖ#‡$ÿ ìbo 9º Þ EõÑŸ Ñ=Eà¿Ñ]SbÓ‘5Cˆ È¥ò^ÎÍk•vlG–7éªÝ‘ªÁX M}´@b¡Ø3áYõÏO" ˜)Ü£\ºÛZÅÉ|¨â¼#£('H·ÅùŸ£‰ô:¼hI:Âëß}â&ÿPU7î3î÷zÉHþ—ÚXNKŽæZ}×ñ ¤½‹-—› ?SðLÄ”]óØXYmÜÂÓ[^éU §î¡ hÀ,hL*îN°f-Š¢~)Ñ¿Q¯A·öcŽð¥P7Ço«=åQͨpd¦/FV°6\|ÈØ&›#o›ù×/›Hå“—¼€±±ÓÛœÌq­‰öœ#1•/ZžÃ[»ëJSâúQAn?ØÓæøßý‡–q%×´µK‹ŽÅ0”m<í¯%ÛDôp,CÔp¶}ìÈu*pøótj‹Œ¾`#àìkÃH@»²ƒTv)Y¯wš ­îñWxI›Í¢àãGöå%ß‹t}þvØ·…þ -gt>ÏãÖ2/³þ£ºW.z¼ÀlRÉ !•»ðiÆ”úÂ[½F!€*‹(”œ4ÃÃruôÒÕ[ŸŸi½ªFÏc4P‰&Ð÷M‚3µ0u¸G£kNWSÈ ˜)ÍF˜ý| 8ð5?$2µùâá˜sÜòä:½Ÿûp~ˆÃÙ ºEtÛ¤“±ßä‰fÄ'ºnX£¤ÐÀ–ãõßÖ““Ým´œºÖûíC¿8N±¼òöñ†ñ1P(¹ÇŒ‡ØþTßÝ‹óÁP: ˜³ãÞpգЃ²®ã+w<µ˜yþÉG9½-®bî>p2ºàÒ‹”ˆx 5l,1l¨!ZÔÿ‚>˜‡­¹Îõì·éÚígFå…a„ ý,ĨåŸqÝãn“­õÉ%ù!ü8ðÇ‘·üMÓ¹øž¼ÍZ;ïTk% éÁ\À`!î*SH»Æ•‡%n-hˆ`=IÒ­ósÌÒ†ÇéÞ«¶Õ-Jí$(GÜ_oFÑXijs𣔜‰céC/±“i›bbpNwÇH<“9!vv6Í(`ŸX÷7_Õ×èøÈé$ ¸¶©-nÉ‘UOè°W~—­¤) ýŠ9uîÐ÷ßpîqñ•~àâàš t“2©‡óAú Ò—´æ’ÏŒŠ$=@ËùýÝœq$VŠ(9;º¯Ûå.í¾ì³µi&ØgO¢\ìäY¬§£¦É-xï´7ÂY%¤@®íìe’áÀq  |d¡RAlÙ|­Ê€¦×âæ•žàÉtHY毾¤l³í4Á( ±²K‡×‰ˆAfæeÊP_iùÁ“œ6½e\ÙÞ%±#tÁaÌ”Þ÷/ìve>H½½ºLš“{r\È6Û3\Þ{‹6&ò'<9Ç!!Í®H2*ñ•–´!º…ß¹C6ë¼OÊ-£@–rY§ÊþÚöÐW!N„¼õ%’‰âm§ßÛ,Ù(½ä1¥‰UZ¼@Wd¤iElgO¡p¨Þ,µèé¸'(G©ÞÉø0]/’&õ„iƒRn|ÎQDã³½Åíî°#ÈåF®|H}®TÊCzÐÇŒ ¸xÄe» X'àû9œÁUÒ «Í›ô~"z@ª×OÊçV]¿~ñÂèO(ŸmÃÉÎ3ø}yú¶KjXøã2,>ÇÛÍÉÇ›ýŒ¯Ï&óÖÙÁ[.¬ÔÍùß>‰9V–/w€» ²E@*™DçŠÔØö­᫪õ6ÚÆ{ñm£cÆÀ; U ˜Õ"™Á{šÕŸÜcæºÜuž „‚ìàû%­,“ÝbǹË:˜qI䶉Ùèë\6g*ݰCÅ\ÞÐŒs/a Y¿òO!¥< .3“žœ~l±0|´t^ŽÏI»VóHcÈlT¶òj¶ˆ 'Ñ|ÉðáƒE:Ô×lê`a[´=Sy³·ç=.Sµ±L|7B²åªÌncÃVw"êõ{v’=Xoò9žË#Zç z'¥̲.í3f>E(å&ìéÔœù³ÚÜs9SùÇÐèí·øïœ0Až=* cdÀæ ±wd:e…”iþ@£ûn¡–W—;$Ð,æã»ÜÅíT1áZõsÃmxGœPWáÒ¤,ne Ò>VšG -úáÌÛŒ_¸ËéfûHÜ#We<'ål¹¨“°ÉIЖ§)Éø“/Eñv—¶ý“#@_ªHU!ŠG/ÓûêÊù’Ï{Ùt9÷{xøƒ¨ô £5å¹$†K±É ÛÊ„¹˜ÁTųñB æ¿g!êÎT÷»ÅéA(÷¯cË’›Ý~œš­óZ¾4â@¿?±Ìú‡‚tekéĆ: ƒC2æeè$oø7æ…‡âq»`ÕÚ¶uÖ£6ŸáFµI¶¯¾î†¥'.ç„A2#ä°'ûÆÇSÅ•?zI£tUÓ18Êó«4ß±T9ñbëP .•ßÀDÐTŽÃy2C2D ·ûO’hÚŠÙ ¯WHÊGš_Ž”Úè„ËN¯)駺fà,a|blß|Ò6tu¾ù/0/c"šÉŒ·¨Å§Ï~Aâsü\K#KI‘=âz¸P .Ønn+Ü©ú[œO¿Ž>Kÿ šü8š1ï?{ã9ЈZJžl9g›šu Õ3ÜV•¨MNºùOU‰g®“f xvOh­È ÅäSmd1šXdõÚÚýCµq“¸Ôô¸W®-@víµ!ºž½d¸÷0l/FYoe“Å(έ„òPÜ¡^or<™_»k®×bÈAßKæç…Ø2ƒFß9¼œ3_(>\ÀJ»¢-8W)óâhDa?LÒVЩ‚I+Å”˜ü/ÉYQ—ùµ­'“~+¨ñˆN Û-µÊ2ûþ¤ò8ˆ1u‹¯”$Ï£CæÚIÏöé‚c ¯»Á&<%QÍqtˆRÇ`éÏÿš¿<¯ì`IóË`¸qéÀC3òýlðÕ¨Æn,0ƒk!Ù̈–E3<ô^ÿdˆã¤<³PÃx9ô0Í«}–_Re¸\ÒÓ…ÊqA˜RG96lÒkÂR¥¶î^À“y+†»ïçm ½ "4Ù©é!ìÀÏ<Ë1˘ޭ&uHÕZÿ¾ìYîA£ÓjJ XÚ;?wΟ-êqªñ¬²šÑÆÚß ðRÑÿ,Ȫ¿•þ•ˆ9©u6Ü´SS A‘3‘ùn×¾:­îAúm9Ê5%5ñhªø¿CžÀ‡@Ÿü¬ÂêEn‰ê)>4¤Ÿ"Wã.Ô”5Ž}|b fâ6ž£í»!¯\)UTùXƒŒ5lУ&·(ç-œ¯BLŸ¬×šÁÕ>Wü~ó"Ù¹vy ,èûuÄ4¦qV~ò4&ñÛ?%u!ï€VUƀш"ûëOjÿ„Éõä&,Öi´6ÀÅàŒ•šsÇ—#ØìS´Gvæ£qÇ“ÿ±Ìõ Æ¶éuú¿6ªAzÊ0cÔ—¤R–±%ÀYÅy%ÿ/z èóq0>ºLsK¥)=Úïxû}¿ó»4éSþ_Þï*ÈK'ûñ ±# U)‡8mÓ:c×Ö” aؘ î5;/>Þ¿a7(ïÝ—7ùP³kgþËHØ3àˆ¼¡ØÜ4 /ÞÔ®IúQÎvNw?àº/Çn@ˆú`ù¶¼æØ\ž@±;f²¦ŽÖ·#Ç™dÝøª=•ƒVäü˜W¶Õ{t\ºuÎé¸*{ÛŒ .BIe¢ß <e M¯‡ø­LV~!èý?cþvÝæ¾¦”oglaH¹VP6œÃº&?LÝDÅ|q%ëZP-sä`&)Z÷érŒ§9øuw–ÀÔѤÃUËö¬ÿÀf¯\3Kô€ªLà)KdÑW=ßwÞ„)¤+QM5¶’uÇXÁ9J«ãL€¯‚¾p>}Å"¢éÎccIkd5úvñ6Å(-‚\Kmž ú¨zZôQöÒÁ¤–”^V …~‘L”ª¬ÔÚý戰f¶ Kˆo\eŸäo§l–'•cA@kÑ©u}Ã9 ®É.Œ“É;€­ÐÎï5ÍYÔ(BL؆è{¯Ë®/wKf/Å¢~ÂþécIm÷ÑX£Å®ä_ÝÝ:ÖP·­`êâÆòEf^º—jDÔ¿<^2M…ÓÁA9Pý•'Dï¼B&#[ õÒq-UûXá]tCgß h_µŸu¿žð¼"`çºI‰öHÍÏ3ãTÞZÄ"YQü÷qNé Åžd})ÒUÙç‰Ì`˜ŽPnüô÷¢‚Þyí]DÖÅšë„b«Ó§*g/dQ2„(ò;°zEå$pñKoB‹ZžQ ô“Ó=v/t9£”Ó”éÒ…G¬•¾”÷[,Ót©ïFAïyŸ:tÙç­Åϯ2F¤^Œ '$íÄÁ`ƒ2Ü9XÞÓÈi¨Áß“Hó^æqÜlÁK&ú¾=³ÿV¿?é]‘ã±=ö +…¥|]me°öÖùïÓÿÀ÷ÛæŸ<Ôz z¾#Ы7oVÌÿ[aUx WYD å¥R×E;^6åQÐ.JiDt¿–d—Rå7$Hàdzª6•2ÏŠ†ÖTÒÆÝ×ÿ€ŸSQi¾…Ú|ýúƒÏ» ”l2N{TÅî€LвYqÎ_fAòS³E5‘ïü¬Çã (f÷½•¼LÎ!ùÓç‡ÄE^ÁÙ™Í,þyð=?o_)‹):ÝfÆ'¯^ÒOCÀè̇pŠ>ÔÇŸðÂlr”+šì^¡6Xz-ÆGÿéç„IŽ›•©&6ö#«²¤•%dùQã(„椢eõÆT¢‘Ä=¡z²rn†Î ~»½òBOq©FSIÃv‹ï´å5¹Kx†¬(0du©žÍ3â1¤±±ƒ¬QÍ˳‰bºUMⓨ˜èª;‘ê™,Œþ ÚÚÖÊw7û-gžœázôñÑJŽäT¯[³Ü‚«f¾ml]Àü{NƒÎü‰~õ–ì†D²¶,“KÐ!|WŸž¤¡n'Ç'„Ü=¬\Â07œªA~ æFí.ŽyM©6Ç|„^«/*Ó -%XbèLjSBWвjoD°+8yÿŒnÄ|n£D}b{DZ"qZ\Ø_ùØ‚¾[jz¯Û=ØvݓעåõºJi$‰Â%+eïŠl·| Å‹×p9÷¢ ܧœ¾oHzó*¨Æ-5¨æYÿR9ð½‰.žJ ƒÜd­Úy›T»{â}3õäê³Ø¨ppK›LMÞå‘ý©Èúù8O-‘j*æÊ2ò9Ï”²úÕ^;ž%zkOaÛ<çû8Ï{×?ˆú`®Z¤ðŠÖ(1–öff ‡Xv÷Àg®èœªsš°ÑÓá;¤*Ý5Âíðæ^ÃÙÕhdŽ«.1Jc(/\É?¨¥-Ks)‡ß,_he6Q¢­û}†>ɈD£ Z“< aQCÔîXÂ×Gv4X{ó¡»‹1ì!}_ûÁÏ>ìws_Òν²‰Iãh÷´»Š[²Ì42(ó P@ÒÐæü -K†< œ‚ a“Tèõ1;Fg5ãhHz'R$"8Õ,äÇ>¦xÇÙqÔŠFþêN£lóÝ>þfˆhg>|ÔÄcé?>0wÉU—–»×ÉÐöà¼ã“ªšÈm¬6ûye¸ÀŤdR¢Žóñ(ï?ã ËSÂîR¶̤[Ët½¢ŽNýÕú»ÿ¾|Wâ½V9›çìOºÍ ƒs`~Toù­»*4ä}aDùqDÜeæcŸ'®øµ¾JÙóû©ašÕñuË41+ÃÆYïå­~ü3SÛòÒê^d¨gV˜ý Sê–G|Ëh¬« íE”m€ÖvtO 5€\BŠÌŽ cdöõ¥ÅÌåã÷™VñÛÁ¬uªyêÞ¯b+BÏÚœ%4(MtÞ2MùímNûßH[´g?çˆ!Buvìzõÿ fãŽÙÅAYÓÈ=û4Œ”1aˆ,Y”ŽÀ À¹ë/oA¤…Ìî웆>Ad¹¥fF…ÒÈY—ÉR¤R¶%{(ª× ç’¨1| xgà„Mïõ$ô»oÙœœøzS•ó_¶ËóbV­pÉt“\œÏYr†kLôÎÈù1’Û£E¤‚«€ógŒ+ÚÆÁÃOÑEMxd¡ÿ]»o¯^ÌäY' J™öq°ØÀ{”üXá" —[Þö ¬R_eúú{ißQÒ(=QÏÛp<W0R‚* ñFKaIßé«ë̈iq¯Þí¢zyZº×ïTÎ|¨AÇ—`Tñ[#Ö£°õ“çU¾‰é«ÿg‹¢Qktàõ.OÖ„á«‚ ®U.À{*}†Ì8"¾'EÊãÆkýe6nZÖ@¯Ç)´Ã!À¹höõ„7hH1y@ÿ¹r^¹¸) M‘­dD~-N7û@òFEFJ%ó¡Ç¬rÓÌ­m ÈÐ/¾“w£nňP#qŽ:'ÂúúUÌ„ð3‡Ž òµ2$·6­n?"›ÌåÙ¼áÊ:òüjªÀ·p›ïÛ“¬¿à±³ÄÙ¹Ï[š«7Yî/ý1á=6_Æ4‰ýèÀŠÖm%’›¼cgU »ô2X›Ù õ²´‘÷k†èuXtl©¶9ï-œ }ˆ–Ð'0,ê(Ò²,f¦«xànû7VòˆˆÛeGy2>È·,[7¹ß®4ÇÝLÒð=Òàw/Ã2 :mOD~ÐÙíUá”Új ÃqvÆßKèðmÊ“ºA1>Ϻ؀†LV¢‘n£Þ_4iE~Sƒ¬3ªW·Fx ~*A„K´H ÚÅ PN¿gø…ÚË£þ›mpž¤½yš¦I”`°6x¿+Ht$’7žßªSN3¯ Bñw¸¼ÂnÔ‡µ‡Ö´á‰Š¡ïty! J-~¨qyŒó °–z;O³\Wé-HñÆÉ»!ж³'û¨(‘Äobo+ïÜ¿ãß•ÓYí}w-œZب¾¸¦Ò ¯bóB¸d›tÙÌÓ@pQpõm»bÛõ8Ü:Ÿ½Y,=ÃnAÞ;€Í‡*l~o¿fÝßèë`¹nѸ¹(Úš7osÀ¤.ˆ¯ßvZu>>Zê{?|Vàd¬~Pÿ=I±„Å›Aì®!2žk3?¥1F¥7øå,v{Ê׬Ò;1¤>ƒ‚nä=€|l™7þÒ™t±®­ƒ•‘Áxo˜¸ôÀxiºã,ÕÛŸ(÷Úòß~ HÔ0hH>žbC̵8¥ˆ&of!†h?"ÊWÀ ¬¯ÌÆkbÓ„ï²çé$ó PÃVSsz)™hÜoMì:´k«mY¤iùÊm©h“Œ]n;À«±ªœÛü§~ÚݧÞ4†¹fŠªyø y·ŠO@Ž:¦šƒ'YèYãëgs#2ÓKrj÷ÏçsÂøä¢H/@Tb’ÃG µ‚zÅ  䓌ß\W^5D»ÈëaqfÞD=eá§|{ eøeïpXT'SÉvr ´E€Wͤƒ…dµi6 „ƒdË øÄ FÏý NRã+xbÒ Lí÷ë턇GRÆ‚j™ïý’Xm©©—å4#7[Ý%3°Ù~ö Ðko³ò àËm·ÐÞáÚBäÃÂð ¿û§l±•Ò:QÒŠdíÑ„Vוúàúê2›(¹9lñûügM_4tÉÁAÁïo×êå8Ý;1–o@FÂíU[v`£MÉß,Êà”âmê6ÃàU.5ÃÐPÈêÞãW-£½bƨÖP÷A¡jhNÇ¢¸Ñµ†àÙPk‡™c¹1Á*IØHÂdÍH iæ 2Zzx²Ùa¡euN¬ Uu7p"ž¢Á@ ¤4kŽ-¶Ãð”Š28?ñ+#2í0i ‘°&'‹£÷¶° uÒ˜–È …€[Wämïg“ Ût¹÷ªRp%ÃrU—‡¥ÇîRÆ×‚³ôz Ÿ±Ÿ³tx¦ã^‘!æÏ]§^¾³.)Kºï±­iýq„…`‡ffå™—a®1s½BóÐ2¼Ç“Í…át`ß ~±6ÇÂùPgAy¿I ‹O&DŸzPó¥ØÌ$–Uõ¿Õeœ|˜*¢÷L4j¯í¢xpJÌÄY+j<|¨k¬S/µ%øÀº­i‘¹©T_?¶-Ùõ£ÓS^ }¦B<)ÓK–`Zµ3òa5Ç ßçCCÔ@EЫ€ŠPòéåÀX &E’Ói\¿ØÈÉ•i' ¨úd+kx4‰jÿ•s_¢T©oÏ2máCm•6°´Ú6âç«‚U¤d,%Æzôh±²¸p])|Ô[½b§£`²h÷¦µ‘n€\Mæ,gºD=@è Oç¨j÷ü IO˜mj}ƒD£ö8ð3N&n!»[ˆ¥„”_ˆ/_KÇí\”5Rýôµõi([ª‹$ƒËuò®âнðY¢‡Ô“mkòÞ^†ÿ åM—Þžø~ »Ý_«ª)¢°"áj­¶»N´^ë‹=n¡Î!¦Z ¥›mZíçNh>¥»ªñ=½Ø#‰ßÏõ¯£úÓõEÂV^œe€zg,zü«ó¢±¦œ³<µÍ¢·s~qûf£“ry0m̆”¢שñÒÛû•uv¾5õ*F¿—Îs&õ™ƒ‘ea¬°ÞFã…·y³£šÕz”‡Uµìƒùë¢~DØÞ|>:—õB:8Òh2Æ­[‚Ú}úþîrú˜åNT%œï>zr£‹¥!ÉL “¶©â„^z|¦ºµ4½±À(AÍ»£m7¡¬¢iÌ!cêRž ”v옪ÞÛüÆ7‹é4sÚ=Óñ¾Éveza†¯»á€z@[QKëdm*hÛ·–Ï_ùM@GQ#@¦¹s7/ËB)Ԥ䘹€4³›òQBM4y麼 ¡Þ†KÚÓU:²¾JÛú!áÉëxq‰8`Ô™vðf¬ô˜ÿ륿‡ ‰¯¾ßúlÙê5Ž" œ¼í’¤ 8¢Ë¯/L”kû:=’¢"ö¶ ˜Z‘e9«ú(²®ë1ÝqƳ]R˜§Œìðí(·ØxÜó½¾Ñ™ìŘÚ½BòŠwE§¡Àf[r}p}'%W{#‹F†9?÷å:ôbñˆs5‡ç^ŠŠkyðÊä†i0PÇ×%>ŽÜûüìùqmx“’馲”‚qVô˜þÓtêxK`µÚòqq7Õ„ä¢b9ùØÃ •Q¦¹R÷÷ÿùÔã'¨ó¶Ÿ g•…2˜Ù…¨3Žsê»êZY‘gŸ ¡_ÜbQ*…ÄÙ²ó7Бª:ϲ1G~ž¾Å®‘ð+9;AÏñumïJYb­1™€PqöSÜe)Y'ø«j¿Ð!ò%C«aù9èVRmJ>×ò@As«iÇ2Â"Vü“DÊ/NNÀþAkËì%½JcCïän›ËD|{Œ&y}TŽ:ÿ+ç–Hu4ònŸO˜FºAP¶*ïT¢õ†QÌ':–áÓkþé.%r»ŸµüßÉ÷GO›}‘×Ûs™ëºä!Ë}…Ÿqæ 3V«] i—d¥ˆ¾h¾)|@‰Óåðµ(ñ¥Û‰ÍóÅcRBUãÆ¤€”-E{}W¤R}ÖᆃQ„¶Àd':‰Nˆ§‡¤õ,­üðèqõ˜›Åøõ4$Qô#¤ž.LX”-Ó`Ž·´R#5¤yÕ§p8”‡hë±Ãºƒ[^»"èM“Çð:Y@}ŠÒjívG<;µ‰äfªÇ7M)Câ}Qÿ¯ŸM•MšiO•>J_ÙlJî;3T¼º ûb¼H28ÚHøŽ´e¤~eiMqy«„‘&}Vù’,¼ è ëÓŽ€…cÙ¨!ÿ["€¨h2ö4Qrࢎ67/ç苼sDkƒ£¡ÚÍ"©ÆB4Ræ”NÔâÓíâ#é$`Hpžc† ¾*†ý_&êHbŠeCÏežKý”TivÞÎrÿ‡Z5 ø*•8OÖ åmXª}XËýä:PIÞ{u.@¢€bä,¿’EÛ>J銡ð£ú‚é±K$Z’ÞÙ…CEÈ@|ÝÈ%çØ¯ç€¹+ie|ÇS¼eˆ©©h"³ZÞ/rDíéØü¢ç&Lt¦Wµ’[<®rÇ `jµ5[&#ß§¹³$íÎ,¦ Ÿ”Îm=¨‘1NàXFá>†÷MqøOÞèi§“#ûÕ‡§*Q>?¾½Y™¦=‡ï«¬ è8y†”<Üõ /ŽèOíc|ÖEwJë¿Õ Óɧ[žQ˜g ëUb9MD+Æ„žòRZ…Zð”ö¾Cú„| µûPnÎþ—ÒŸAQá4£†´µê9Ù50¾ÿr^–B½ëªR±/4p_/"è ò7(VtmrDºÂŠ#ãc‡t]ó¸¥v2Na÷äû¶E&¾k}tPP&Ÿ’‘«JÒpé»ô»Þ¼€cR\;6ÉÎÃ9©¸<(&¬@Á Ä™³*LPìZéz#­ ýò)^~ðó*–%¶ãñ´µ`H\>¿lŠm,’¹ÂyûKÈŒ©‘Ù$IE(Ñ<)µÅg£Vßö®Kºì}ôJöç{M1[gzõ7â³ÄMvn€:{p W4ëåºj„·r‚Eu±ÆÏÙÓ¨;ß+¨L-Ńê~ôÌ×ÁV§o°6<Ü£»Ó#–I¸†… ë@†Ð1‘üÆêË׆n £mŠýh ,Ù¬¼V þÌÁHC^gXˆülÒ{†*^¿€¥.¾i9'OHz£KÄ—Lšx ~¹¸øí:Ö&¬×KÙxr.¬|Š%ÃgœÝú.>ÉXÕú=•XU×>úБéEª)ŸZ…dM¡„S©{üˆyðói»Üv£E ~yE €Á.W%ÏáÛ Ütö“ÿܺ>\ú°[ÕkHη¸Î @m“Iµg*}§°_xÙ3Í‚Ôa¶ýtÖ´²šô|#ÙßXÏó·GGȆÓ8GÒbŽ3 á„÷¬Î)œiÍŠå7Õ=ñ,üJÌ!Á@iÓ6ðý5¦xm!ÀCð :Kµ¼3úÄý•Ðb^±aĶy[åÀ8ꉙîà úÙz‘NÛÜ–1ž†nQuº5 ®lÁùœøÝ Y¯¶T†„M õ¡ÖŠ\M9NH®tljÀq°K^«>no±¦Vò%'Ò¥ÃéÚŽ~>àÑ%”ʯ¿ âÈÂ[ÔfbÁèdÞ@®M$j»˜…¹·W±f°G)ÝOÑ*ÙsRH¡æþŸlœhv˜K΋¹L*<¾ ³ÍÉIà]QŒ{¼)Ç1 ¯> >—³=ÌŽd=r"?MÛÑ ÉÄF“-ÊEÝ9-S_$Àâ/»ûé‚~vÑ’î%§‚@^êø7!kbðCVôƒcŽ$­ÙJ}E0"ë)™¹)¼N°ÂV òo1þö²å§$¯$ÐbÙÏqv"B®M•…ú™Žâ'|ôiôëq;ŒXæ¢y‡s}øº"-[‹O+4Gh¶Â䓯ڵڢA‘° ž¡3Ró¼¾>v®IH"(îxÛ\ëA a™¸‹¦ü@™ö¾iØ èö–nñ{y`xmg½ŽË”Ñ-P_8òCq¥nšòéy¯³fBEc®)KŠƒ¸œ},|œI¼vâJ%ºú=u¤D²lEïgU«,‚5æ·Óá«LÁ÷0K¸†ùW¸Û1æ¨z:ÜŒ.ÅR?¼IAs*ÂÓnBôâL\®u ¥?+#o-±ylÑ'Æ&_V&+sÙA½wŽ6c?žhtâ+ãO ÉN »Âªm!—„… .ÅÐáïÕs*-M7দ$ì1|GKGb>ïy<£xê#k6ñ,c²è=ÄÁàýUZQÿQ­CŸH‘sSð,Ç{9>²³}=^Üoùu¢ç:·Ö"å”ê¼¥÷MPõÍvÙ™·¯Oºë>½xŒˆ·–þsûçCÆùuט`ãJÖ'©%<¹r¿sO ãÒé©mÙ4‚­°œ)x‰Ý‚pÝuZ‡QÕyi1âkì¦"ê.@$"9F{l¢$7x²XÓÎTôи¼‘Û¹ô(mRWëïóÜoëÀ9°ý±|òœ¢d¨~ÞÅ¢•þúîÚÞwsfŸËwÉî¡Æõa êéfˆ¥x\â唘8 Çk 8}QvRÍΙž²±©Õj¦=Tg$˜ßþ_Xî éP~¾]"¦*Ÿl_ŠCn¥\Òt“‹GIdÑOÀíɼí%¿Ø•H¶ÆO:oøR1«½+¡¼M"õ¼ÕÝŒãP®E±~¦0q–H‘;5‡­n×b=îîPí—õu2„†ô.tµZ^ñ(B1šUठÖ+ÌàF­ų Ú#2<銔óŽdDÝÙ£„PL}þás|¤ÚùY\–ñ·Õ‹­êv‡cÞ‡ Ÿ;0•ÁrFÛs·_>ÌkÜÓwPwZ˜ûåo–¿í¬¿Í3ÍN•»²·}UçÑò•.C¡>#½(=Áøz¾F¶ÿ?±0:ÿ‡<žÔ,+ÚÊ@<1ŽRjãhB5‡:KÑQ .ñGŒÉ´½˜E©Ï0_BZܸT/¸÷û•Ì|÷~þOŠš¯åʉ WãpnóÝÇSºŒ‹P²IÚorÑ“@µkÿ‚„¨dv¢º`¡°|cs§½ƒ–”éŒcHØhÆî?Þ£ð€þ¬àÐîŽA ξé¤)–¥±úBÆßÞµÓ]÷9£Õ³lɸ²®°Äø/šc–®xZ+5 Åp~’r–®VQþ ÊùÖ¶+”T“Þ¬z¤bêµ¾¾Å \éž¾«}©åÊN1JRX·&±ÍȦ ó爃¡$»•!3o›Ò8}›oÄ=i%;#1qô¼œ@* n]pÌ•œÓßâª`€lŒ¯…™­sÅK •éQABH½Ê7à ѠZŠëœŽlÛôB]ÂM, ›œti?^Ñ )@üþTÙí/³·€Ó›ì—û±…,°œ\Š*<.šÔk~¿:ÇI°i*¢7a™’ÚÞTÍ=äà s˜,ù èæ‘&j='Ÿß³éã×Y&„Àõ´µ‰KýœØLœö§G®ØêÈújo*ƒÁ­õF;5u滳ı%èŠûîŠ ¤¢â"sc=7ÄG^x1+vÿX&V"î¤~‰¸{±‡øz® ½°io@n˜ãðIÁK¾=yJ¦Ï¬9ã$g \‘•R'>ø[g4eA ‰Žé"§ßU|‰­Qâs>çJ·ºŸpƒùX–+3èèH1÷}ÙÍY ÃZOk¦í.#•“ïȧÉ,̀ǜ“3‚©©uÁ)¹MνIi ø ëÂaÛ,’‹1(ÛwMô ‰¡‹T¼+ÒT(".¦&€O‘‹A÷2¯Îô\k"]Qµ@–rIT£°Ì%qÛ¬g?©Bð6$3<{Ž‘•¥)²¿xvÒPًͶ¼;ø»”ŸÁï»Z¦ê£POΈý‰‘Õÿ‰Y³Oã6=Š]ý"Ç÷=JŸŸ4¢T^Vg¿ª—.9l¹i¹Ä¸duƒáWb%ž½ÈA¢`ÿ£æœ&ö>¨©yõè½Ë!po¢ÄSÝë0$=óXÒ?Ê'éZËwø FÂênr Ó6å@•¯%Á-¾”àÔðIX§b¡eƒŠó²tcƒCÒ1שÄNº› ú`ØæÝ ûR5© 7ËR®ç;dñ”4/Xðô?GCâ8k^úLLÛÁÌ Ýí;ÎôZ(r¥¿ynÿšó†<$LDáwO¾{nŒ6Vì—½ÿȸ;O"0jTô§‰{üoëÿ¹Ñ?©­[sÜCa˜ ¿[¼&"Jà:9!Í› lÓ`RÚ YÔ ?ªg¶£ìweçÄ>κ©àÉÙDxx„鯤ø+Üq„©ûK9+¯ž†‰ŠÐDt.¶î¦ÇÇç&ÜÔ½“Q£€\ó_ÊÕwQR×Ù(«ñ…žÊˆ¢åúÀ:n­Þ‡ñÅÇé}ŽNClTèÍðâïNãŠÿÞª"wm‹±€ «µ¿d–S©ö7 FH«¨RÑþ"dÈ$rV©} 6`ÝF‡Ý™ëO×ââLuêS¾ún×ä ááÏ’y‹‰~оÓdë¯ßÔÈY(iðñ1}3Œ/<*³ý¸ƒ‹µi†ïº œ %ÉX¿•34I,‚æ@ý=;D€²vuI@Ë(ÿ?·?½#ºº ¨ß%G “ü-ųòð.*Ì+V¥°S;¬îþõ™_^,‘lMŸ)à‹ Â7ñ&Ü› HÊ _ô ѯs9M_æ,ÏXTÚù>Ê+’ïÌ× ¡ëNëh~ÿìøi>µ-SǨ&Ì¡5Ö»ÎýÈâ¢v#G.¶òhrm'ȇ’8éMãI«m4]£Ê(Àº~ùqí[äÐÂß[ä*X÷–%׸¡FRô{Fwü¸]ÖÈ|‡—é}å‘)?î÷%ØHh7ùwLᇜýP¨MØ›-³]kSÉК¢ƒ§‡n`ðì­\UÝ$LäØ;Ã1ãÍŽÇ·n¥¿Å¬üÇÁ©¼å«®°B@è‹jpГ=Zæ-/Ay´œv8Ÿ@쇢fdÒ2Dß[“êàº`ìÈ"~9De(à¼7a9 ßÌ,0$_ÿžF6¤*ÆS:¤c2ÕN&ÝøÉç, Ž¿&LíÕÚV\ô=„¨wHsmí\ƒiá©a%µ»~RùŒ¸ˆOÿ¯”ü³u¤”¸‡†eDílªHC#/1äòë@|Qa÷˽٪BÙ:cßES0!–Cª&&{&¾×~8‚k­„)Åc^¥Å³«U¢¥ég  Å9_/£e;°ãëI³ ¨Ÿ¢¾yŽfO… erPùÂ{(‰+ÊM1YdðÀà(‹™›ÀBîXK¦èš²ú²ß ÎViYñD«óm4¦lͼ"ÌAc†ûT.åòÒ8ÂŒ~J5Ýc~ÏJÏüÊÜ(z=Qþæë©‹·,>½EU¶uÛêL=v%fµõM¬LoÙÁ÷.«ÎØ *¶|ñöBoY "ã7÷ì fžä P@Ù Ûh¨ÌG™¯—ý 0Y²øFY ao¡ü´&.wÕ£@®e!ýžëŽi"~¯®òï‘Zà«hþ­F'×@5v† ›µ¹ë¬ý‡›æ½AoÝTê ·ÔuÛ¸ß+«¨ë"‰Z"Æ„ÒÏ/¾„ðâ1™×¥´ŸÍÈ”ßêÉþ*äiÈ5gkww„¬™¦Ò­Mzñ\ÃáÔ7L˜qN¢zm \ˆÁàˆaRÞвc(Ï^¦„ÍœÕt¥Üà=Y¶Q ¨³˜9ÀÆ(ÒÆ³V—v¬µµ{˜×ÅÈÎ3k„µO¸›¸i»¯ÛUö³­§½¡¬B1æ¡ZÑ4Åœ³{ð¡déW°u¼j¿~í‹-gs±èó U~lë³m%02¿‘Z¢ªâ0ñ¦í)†Ì!b¤“Mªâ?¬L 0†KVXƹ"e©!½5ŸŠæ ßÀ½gu^»Ç@ã-(ÞžóyΗ¢I8ŒòÊòý0ñ‚¢o]j&#1°ñ5aôé®a¯^ß0ÀgTÞ*z°5T`æyŽ<œÃ8Ð p«ú¯=)›ŽO7foÿ"î.±"Jt¹½cÎOyüø[‡É&yV?0 Ívém 8«d«ý:z?%÷êT&\eiæO?Óó…'z$•´×]ÇjódŒÄ›I8þ™¢þ©ð#ó­nãÒÛ#,1VLÄ90Óqñÿ9êBÿªüo_5GŠ“£dh?ÊYCž‡­=™c…WfŒl&2½_½C!_nÛÅÆcÛgmR¸qFúÔ¥”ï–Pù¿ í#¸ñŽôÝwæÐãæ…A²\!X…JÀ§£¹ß½‹ßøþçN<ÄFmtÅ”ÄL\SUx:É9*Yc(óû!ÚåDÈ?ÚšeíÉóŠqm¾vj׋w=[ð‹ª\¥4XÉÄoùŸcÔP¬îòô §áàsŸC…6=”åWÄÎ/[ÆÏY2£g€É•þ§ûzi®ÊWßÂJ7|.Z”„õ;2pñl2¹•OEsÓÒME7¦oÉNËÚÈ6z˲©ÍÒB€\ÀêêJQ6?›\‹ †;üë^ó:Jêöm… ’ÿô|üQÿ[ Чïç§ }û–›¡³ñ2Îâ™e¦Tgç±ÜЉC5 ç‹®£@Á89†ãnÅðò"¬è`¾€@ûµöî&ÀÆkª q‡øÑˆ…åÐ5ªôµéòÇ/5)ú„€q„@+4Öw…RrrW,XõšP`TÊ6‚þ.nŠq£cM‘Ö´†«jîàí<,\3€÷·‘Ï{)OL’Ÿ±jpieLÍ4MŠ?ürEzMOÎåƒøpÀgBð]j†'ˆœ0ã†f©âïá„A¬ÒÈ!"©3lï=~|9¡…Ú(|š‡Ô(‰ 'œ¿nqÁTÐ ù’.ÀGªX%—e| CæO#ä ŠHµºrH’ñ·d÷±‚óáïT" |ˆÄpzÜéÚ6œ´fs$ ¹W„¸YËENjÐmåPv”©sÊÅì™]¥¦ìµk!V-'-ÓâGÙÀi+¹èÐÔ<žëFÍù#…¡Á›ëvs}×QnµWÐ>ÝãÏ•Afù}Z`D§¨-n׿ãÆ(d yÑáaèl==6CÏ_OϘ"¶ššòÆq=ß+!v€¶Ð"¢‡\z­X=Xƒo ¥xÏW@è6$H½Ý L ·€%'ðXøó–^gžóðA@rÞÀžD›+úñ½Õ{C~ùøƒ˜†ËÓ–aæ¤ÜÉùêóì¸Ý,Ø%€@ùºVd7™%ÍQþ)„ÿ()Ýo J–Gvü÷YcR®DѪÐBV©UK#ïŽ)§ð•Ææ†—œ¬³b›˜r!xD°I0fÎjMA Vpœ#†€ß^µ^ò°[%^$k²˜ò™måÏhà;âÌyùÿ÷Âh‚! }Õ×4÷d°ê´…;ð­§/ìµA@"쪓Ђß/¸0Ìò.2O®cå+{$sê—â£Q°38•°VüΊmð¸€ß}ÒèJ*gb´Níò QÖ{G5?(院ÆRyqúqß¡´Ê ñAÁ«E^ ;œz.Ö0½a™3È]Lnòö±©Ó,z°Ó©ðÜví½‡eøA6ºÜ‰ÿ,‹=H<“Iî¥|:¥Ÿ²hªuØ·œ|Àñâ9 ÝpK3$_ jÑ{ÍLHâa˜ùEdÓv¥ÈŸå„5aÔ7F0£½%Xù:Þ’“˜A5¹ CÁ­.^@ˆÃÿ‹ æ‡ÿ§}SÍŸ¨¹<1xc¯KÞrˆ–íØši)£Â±ué ñ½d­1¤uì¸>´ø]£Ç1³s+ÁÝß—ïçì+ëôƒl®ªºA§-;@üš{ ¿ Ò©ZK2š‚fFAàüf,5^=Ñ»sÄ÷ HÕ{ &°Í‰ ¨{­t_]"1~+|<¶I+,¸ÛzìßåwbÕàí> `Š:/ã-²}›SðšJXè¶×þ=¹n KšiO¤> Î´yg?Š-‚Æ’®CÁ^á)þ³Šéc`¬'-B¡ñ,ªy“âi{·ÝuæöÅí‰íù³–“у›´W£Ô14;8ߨcØ®F´º ÜÏ’›>UÅryÖ"úžSÔgÕÄ#\ëÕUÀt6½Nà…:f5nEËxav°lÊ›ömùý¸(N‹Ê#{ Ãçã§ \‘%­ž¦¡ gϺ¿íÎÈÀ¨È–Æ;=¾ò~tšKñ\ø#«~N`þ «ãôpzp Ûß;/• µ¼I*ħÂç¡2©’É÷xôÛ~ñÑü Æ?ðòNïÍK1Q˜óñ‡Ä^º·”³ˆ/…D×ø'´ƒýI;F¹ª¸´Ã™ÞÌé¶­J:ꈟÈ&’ôè}N“W ÖHjæP#·–IVê B‚|ϱd’+ýkò[[RXsر¯3Hyz(Sõ†°Ò‹¹ª’¨q=•f¦Ø-MÔ$l ¶ìÓ¶Aö æÕ׆£ÀÉba÷†w)™'7ô´£ÄðŒAÜËx'|îÄŒ@µ‰è±{ ˨Úè¹8oÛ½œëqCkþ,QÓ6ãP2‡¹“…å_þ½*^¡ßÝà±FŒÊj&Yg¢µÁˆ-°ðTZxN.ÇHÓgÆB?…µÑDu‹KRhñEƶȬ´B¾ÜŠè¤ ø¸ò†˜ áϺ÷(±'*¢KB.j§rV(yöãE"…ñ:O`ydó¹ÎõhÕ›‘ÜU]±ï¨·¯ ï.h㡙܂Xè8±§M,¢[C¼¨$ü’SÄ>”óÐgÔ¼£=‹m¤W'"žž*í²¬Ë‚ " L£ýzãx·6^úþ?úl³2" Äâô^âÝáµïêX²Ëc§ŸÄg¸(ÖÒ ?" W‘–W–ÈwаaµÜ÷±Bw,¾ÓÏÊdPWI}Ôž1<¼g7á‚Æ}Â×zƒJsAÝI–Ü SÇe¬úÛÒ”M¢ë° ŒG\—…5«‚QÚ½&¢ ³¨xýÌ*C ¥Ú•n¥€ÌS{j *;µ#PK‡gê–Ë9¨õî]h"«A±ê¨Ú£¶±s9Ñu¹jØ~–.#òûɲ² uhÖ††ä÷KÄ‚åC ¤¥…AyÏ9DØè™–znÓÑ;È/[»‹îû üé@¹;Àã4×k©ç*œÓڹبxm:L©Œp“Ùwèñ0ƒ{oI-­ìW~´}¯ç -ƒ­x1‰ö`h¿c-ôt8vhÂL4Nü€ÂÂ7WbtdŸ)uP¦Éx¹™U]¿ÖPc›ù±Eò”•TæD–p­rÎH•²7ÂTgG,xs#FÌeÕãÞ0ýÞGÍVºkCREî£n"Øñv÷1«’|8}Ö¦¥|†,팇ïÃM¼ÙiþíÆE 0Í +Æxø ŒÕ&÷à îù) o>°2’è•["Ä3¬È|s©zYÉ€/zd#­ÃAž:·*T ¹“>B·†k¤Ã­±rÐÉ¡U^êÇ{… ìÇ–Ê!¾4óÄ &1˜|ÔU”¿tOÈ®ºx£±Œºç©åsRÎÒ±@igަEÚ‘þm\Íóû‹ÁÍkß"¾ŽsF<};ý }# 6æz¬ƒE 8rÌ£)Nd1®Æ (è±g„JzË_õÊF­ßÀ‡Ó< Ô Wû‹£p"Ÿ(¹†Òy±wÚ,Èoxð è.P²›b?SÆÿù>m@×\ÎnnòLÄ«ÇI·ïv–ql盺H(Ÿ}›õ.ô¬EàX-õ™4‡ˆNLKÎi«œ+¼·ª6ù¬…-ž`¥¨š:wÿSÇ\l?ÚžÆQ ¥ªÕ üŵ°ƒ–z7H>ó„¶n~«ìEÔ‰ûÆmYÕÇhë#³"NT¾ð!D†Æ…2,rY\Ty¼GìGv¨sVÀÖT¡`]0æÞ#Ë¢ƤTz êMhË»r¯ê#•…ÄXº½v(9‹Ä¿qË•–ÎÈóèU.äA•úæÔÅñ}—T»ÍXO +Jˆ/—8e }rã·GP Xz=Ynç÷™ðÉÅÙº ã¹:ÕšñîLþzæáBMDˆ4ÿ£-\òH¨´É‘Àá–'¹I{‚Ó) £„›ª‡iþá¾Îò$êû ›ØÓ’"ª££oÕ³ªú[Ý3eJžôª¸ñ3×HŸ|š&DRšÖól‘©“&÷°ÔÕ‚_`„:4“ÍüEï÷I—{?®,ÐÖ"Yº ÝÚ<:Y^gxª":ùÖʰ臸¼o~›ÅŽLv”ºÔý6å¿_òJ“NËÿ'A†(I¯Ôd!¶­0´£ì¨trMWíDÉ=wŽÁUÄœ¦£`N(u¡²Ÿ%ªk­;qjáG>„o›‰ &2à|â£ö#† iÚ5Cì%wKu¿qåj¨Àžhc?v™ì1²S®D]S~jÖI$•ëÿâܹ+Ë– M¡;òÐÛÕ ¤mº…¡L<ÖFH“R­ [Ó²ì1Tg¡tXéz ˆÒÔlLݶ¡÷4U§Çˆ÷]ÇÀ`—K¥AŒv°eª¹ÔæÁÜ<ïr…Èìƒq6Õ¡ÿ¾èzɯ$ç{wYÿj¶¿ë‰}Z¹éLV/¤öU8Jô¡¦ ÇÆÈ ‰ºè_…×UØBÀ0vmBÈéÚ"¢½ÕÓæI¡æµÔà.2©ÞÖR.+–SæäíÉÈRM­kŠ[KhŽëê= ÒÇ–fÖר&ÖÂ'dÜ㉕˜ë½PŸ>nSÃj‡r¿.ÁÕäºÔ¢“@é€Áè@+§G!ÅŠÙ1,D–ÕÊ­Í\O0Íîù‡nøó k³xç¼9â½åþ?>WFì¨h}§+‡ó@ôª*ãï#ü4Ê`Ì·ªE—ŠãØ(GËxzoçÓäÈ9.Ômîö÷ýÎ_ÅÜ5c¥îðSg-mŽü!ÌJü´ωy§sê»0Î!Àõa4í‚zð¨­!hË~tDþݧZÃPü ýô°Ç׸KëW¢šyKáµ)Û*n«+Ýh¦«KDÛÞª;Jdo¦ž&¯áÉB±+¨]Ã*æIóu·éßo+x#˜Ž3ýǬeáØ‚Š­æä¶ƒÑ}[ÈS†JùŒCy÷£EÀ‡¼©ÀÚÿ¬¸wøWÉ3n/+³jbrw‘È2|tN»ü ñÕlg/–S=EWu‰Wô ]•K&¿g1·««"¾ÈÅî°{:,{ÀF¥|;›¿j)íþjh%žM•[ž®±?#tœI4tÒâ ²ÄÙÒMÊœÇ-Àþ"9‚éöº×¶´|óÀ€S¥6#hºA]bz¾Œ™_ѡړO‹DƒtS¥úÖí*üÐHÚ¡o<âU×Ä]2ŽlG'Ú3ÏÖ‘ s*nñ%U Ôà̦ۗ¬ž#EnëúãÂJ¼¶ITˆ A#ë~eË0áûûHnÑ™(¶txeðùüyW”uÃ"oDRJ`#H%ǽ\.‘9çÄs†séƒofxŪÖÀ~ëU]3BÙ¤÷Ìä›BÕ"ggW¾ÐU§:åià¹àv®_ã/SžRV¶žNx÷A£=ë¦a5~¢K½Á bqôi˾É™ ÐYb¶g…­÷×F8¬)ÖüÉä8Wüé.¾PnYx˜‹ðŸ ¶G…È¡¼‡ª€rÇÑruà ‡ïËV\ýMÀ˜6ŸZR¾úoÍÂFHŽ k”?°õÓÆ«ÑR†[mv¦›A¶îƒ¡$Ö)û°O¾^BL3~Ç?zUNYg¡ÉÑfqëzdàsã ŠÅ* ËU™Ü5dïB¥…©rÀ_ƒúj×ÿ‡29t¦]ƒ#û„"6Í•ÃUìj»E5‚b Ò,Eª²äÔMxØüÓœrKðÌí«c&;uóW¡ŒøÂ×ïK¿QQ¬Ð)Ø™²Óq">õÝÕ3ð`åÔÂÇHn?ìxMoØ$•kì·UÇÑ1èŠ3è ós,râ¤Ã…ŸŽ8;µ€Ìîü ŽE¾PMÛ)p…02ka÷#l Â…Ë…Ce£Ñ6kZÃvt™¸ k€*·mî_™7\IwþÕý±jVÕÜ("ú;*ÅË«¯·?%å%=®áìñÀ øœÐñ=ÎmŽÔØ ßûpªu´Q ¿ †ït›³ÛHñl9•ãÏœèDì/^H@áˆhÌx¶ôSƒüºIÌewòŸ%µµ „Þ¨†Ï58§±<Ãdmñ¿‚ÁïWŒè¹Ïš jXvJ^_ÜëÜG$ ‡l=ƒoƒ ¶ÇY Tw?‰w]{ƘOðNœÉ¢Ý—bìúžn-ë†Ùw)À¸È6—©®‹ˆÂ‰Ýþm2‡×œ]ÙÒÙÃûkÝÛãÌÆ,²ZQ„¥µågc'Ë]È»]c‚dH¢¢-ï'ýˆµ¬¿UÊË–ò ±›™G”Ò{¾¬N(»-µÇ¬’’(L.Ñ;àu–äu?ý›uÄ-vMŸù¤FL1àAáêôÉ£¶[´\—É¥\1ö(½CZ¶â=¾š%kxð{Ø‘_•ª8%Urt¬h”rEÀ ¿ÉÌkRÍ®r¬˜Òl‰åþM9 µR…·€Üu»kÆ¢XP쌗ç¼0e¶†ËnÛŠœÅi M×Óš¶}Öi‰}Œó›µgá€ÇXyt×Mœ‚Ž.‘xø¾çŽ=õhÿ^3nT.–óá™ P³T§ªì©Úˆ¾Ø÷ê .À?$åæ/?C¼o~¥ ü;kÖê¢Ëô œµAEžïnEÏ»nñúå~µ¡H{kë/#m¿Ò¬Ÿì±Q5äâ[óíx¼›[E–ÒuƒBXLP«.ç…Œw9d–ß—|~áùä9.ÎUÛº3gõ-ê>ùíª²4µB}KlÁ1uþ´ÓAnYê¹&Bl†O¬æ- ÎÇq{5º%ôHv½jõ@ñâ±Äk?„'nã©377’j_þ…ç,î‡}“;k­´Î-z“ØÜõ?瑌 ò¦Þs¨YÞÂÍièú‚ΟŸ–Û,ï®Û`\ ”ó$'“6jÀ»±W±Îöl¸qpyÁ²õWÞ›XvÈãnzÆÃ §Ç*Qü»{Æ~¯íaࢊ»Æ³¯)OçƒÝ$xºX6¿‹ÌÜ(ð>ÆŸ¡è¾3Ç)S±È¹žU\ŽÕÎ?ƒ¥u/ž'–ä7hz×57]dB ä¿¿OáûÆ„H:ª(¿©Îëƒði„1s Á=UP•«®/¦Ðµ]IÑeà1vW‚Ò«}fKnt÷Öç*Ì i‰ â}} ª¹Fú}Ù_³d…5]VJ êF£Ìšz…Š]|$a˜l“åÃÑòFžÙ’¤ºü¾¼.Ö ³ÿTW|Áô'Ó:,Ä BÝkÀY$§ù·Ävcሕoƒz”%ÅöÏ;؈}‹hœü«ÞéYíi…xçÆú‚y8xl5¿+-gGm£—Z@d¶,D#‚rUC’´€¨Ï¶È”!K4žvÄ Í¹’ÄßdÖñ0{© zóomÚ‰¼ªŠ_Ù`IcaFGM(`“l«厮ܙfoù–ÕmUœy°ÍBÌŠëb.yåRüŸI¿Q[G) 1î:·® †R?‘Ò'CEì>CìŒÌ~½‹ýšÆ›œ8皈ZÆÚfyq(òU—U2œ!5C64…¼ÂøàÅHúÝlßðÕŽóYZÜ8ºÖÉ£gF—UÏÜWi<3¥yF!ç0bÍtìRà:º 5? ê#+çe(GJÎG™Î™Å-¯‹Ô±®‘”Û…J´]q ¯[k¶¿Ò©rãbm†ÝMÇ’P²få|(ñ$Åú"fUc=x°‹ú³RC tµñ6Ê+i…vÜ‹ßW<º^Ó@à–¬·6È’‚ÑÀꀨ.Ö¡€Ásvý""¸zFØ³Ö 3Öø‹N˜0ðÿ¶ab&jékí.4@É«ŒíGDd…–ßÐIMÞæÎŽ—Õ…†Ãa¹Ï¶;]TºîÄXÊ+Yc³@›Ã‹Ýá£N]HI2”C±ý$\š®–;ËTO %ѱ¬”ö³Üú; · &ãbóP¢má+(íZëþNj—äªoŽAܪˆá$×›+àÖvWþKþë_ÍÙÔM•™nÔz:  á6L®W§?ÆFfºÁXH 6Sw¨¨¸ÇkçBÝ5„µ[bü‹6.Z–³”äŒû>"D…ÓÃü ôƒ¦³}Jb*ŸúT3«Á$÷¹TÏÝNÐb$‰ÃW²3mi}ÕHX÷òš*ž¾âÁˆýe‰NîoDlÀ¨Ø¿-¾ëÿ4zé-clÂÿ(} ©†-Šk@=B?æL‘DK®¨HÉ8>;K•sµƒ„Z·“Ên#“­Îes±Ÿ; 6Ê‹0V'ET.ã> :ßøQâÒˆcüÿÜ­±?z7È×8¦Ë$–¤1'ÁMO¯@Å£kDZ°‡!²“›ÀÀ¢_‡å>JúÉB"þQ—+Ïÿ˜Â˜ó§—FÔ7ØŠC¿kÑ~‚kñæ$ß/­wTy™ äÅ×YßílY;_¥„ÅžCé9I¿>Ö‰Ú3˜5¦?ñpÒD¾² óKtBî—{xÕyѽ•N¿ð†ÌÁ¸¥f½ªŸjÂE¥l2¾y„PG)r°l€j´_³½ÔL¶ÇÄÀI6OFØ›jÔTšW“˜f9å%?÷„îo¨s‡6õsI\…»‘lôú-Úiåc]YiY,°Ô"œ|[õ"SH¾×Àsx£xš˜$.C)hB¥¤(CEäÐB Á®ÎÊwû=s}•m2"PPA9[CÒtŠc‰×ñÍ„¥´‚ËלÞŽyZ_Ï;¸Îºns«NêYKwC3&ÄÊM`§xmÕ鄯²6UiRì&¨ª>ÃsþrÇÕ[¾m‘¦øŽ9g&ýIŒ…Öîäþß«á=ýPs– ¨¡­XŽH…ãŠÖ0È\ çüŸ¦nÕ|„újÒ!4F ˜,ÉSs;ÍË/O©†R):›Ë\Ž—<ÑLË“`¹°#Ó™àæü…çÛ¡6¼ÑÑ(Kªõ)J¢¤4Î<Ñ_%äpþf%#Ô-¥èY±gñîýÞߨf®æ×ýóP§{Ú¯d1R¸­Þ­„é4[=ð"j˜Þ´Ä­[ƸoZó`B•˜'Y·ºakÑ%¡'ú´D5â4þZå¶Å,ø»²h°àÐrð0¤{+bÚÜ ‚º@_þÕL¤GEýG‡ƒl‰´y/hTøPNŒ2hZò*—+!gîã"2PØV/wÏ- !À>BO)/Õݽ¸râ÷Ñ]®÷<Žö¥¥Øõ/<IìÉUj2Âv4|ßgó®h%5¹ÿ‘[m¨é^¼I]çdLušu`dª_1oÈ(W ÒwV$Kp§S.Fs§·— vxo‡!O‘6w‚v,vŹ«4¯)FT›ÄýêžØSÓ¾ÿ§®Ä‡`·Óhåuñõª6u°ãšªÈÂà Næ‰å‚ü<´äÕa±F%b·H¯Üá¡s¼ä¾À ó§'#¶µn4ê„MN™Ñµù9R.ù¤- à(3n„9kÒWr|xv«`‘ÉÊj8È–¯NŸÎ_•AÓº0÷ã¹~¡d¬¿`µç+Bg²÷Ÿ3õž ºÖÈ5úøX.ã¯Ûƒà|]^í£©Úïqš²/ï—÷c̓œ6ãæ]2–i×eö•¹×#šõ Ä й=ó5¯½ª¾ŽŠâôƒ„ÔmõM2N ¡qk½DÕÉIé(ÝÝy}àÝÛè’ ³zCÜõòŒe“L±N]ûw&-WARÔRß™˜B‚(cµ§ÅˆS3!ÖôI-2ÏÃʸp$»7q ô\Ž5”t^žF}@0ûÙ=³‡´Š‡áÏ´÷Ünýñ*ˆÙ&ïÒ+¦¬Ø„Û²Ðm=ñbH—I´¹h^\©Vp>¨‡ÅN¼ö9U ›~Q·ÓxíšXÁc]ÏÈJ À)ä웑‡€‘'øÂ¥y%¥˜nÜa…e×Â%~Y¤Iæá%ŸÓº?Šo% Ä…b¦·[éê'îÐΊf‹#×ïÚR}êq¹XGÁ°exÐË™¶è/1H>r°Å{“ j,kž‹QTu’d†÷Èæ/ïþUÂΪ$…Ý&N9ÃÂ߉"eÖÏ\fͨ±l¢Ñ¶e'›€[¼HȼCÛè¿t÷ÛO9lV~€Sh…íî<¥µ¾š?ð8]Æ_¶-ø–ˆì~œ"éS“F>xõoÉNY¶O Î~~K$}dŽä ѽ}ûq!Erò‰óȬ #qnŒô>—½qo˜FšÁ'`×øD].XýëCƒÔæã<‹©‘…}‰þk! 8ÍUöě馿?¢“ éW$>›BðÉÄÜãCÅ›ͽI®Å÷*†Ðes© úË™ò®‰õ¶º\nò@¡ºÃç@[ (M?‰æk‘#8(ݵˆ”ÆÉio·{°„!Q0>ŒHñ¿Îé»~qç• iýbÿsò¹sÉmÛŽHÞ¥JïN·BpŽ·÷‡öHEM`ñG©Ÿ5°éíâϳ_¯!S”’€5D>JãgI>ä4sBw‹©ú[-ðÂöfÈGÞWúz¸õ"r dËöäB“î†HVOi ªQñMƒåf+Ùl³Uý è'Bã^¨8¸NJ„˨±w…t—û°ðrLâ w+¶‚ìÞÃ9äù££W¯ǸՂçW§ðaIŠ'ãý`EbØd8Ox²-£È‰±Õ–À#}4 x$, Gˆï¼³k†»x¨UGŽHg³1ÐÏ™”â4šDu™a¥&$xÂXU<}u7!æ—èöàZVàµú#¹Ðv¼¬àèÕÑ>öŸŽ I…YaŒtÓG=æævCîºøq [d™¦| h—û­¡ Ää©g!ŽÝòóLlQÍ‹ë?ÿ¦¨(§EZzCò[I ×|6㨛Îð X//f:’Û.gfcÿûyKªÛ½êÚp=÷Çq‘¸Ž=§öeã?g6rg¦ìht~4ˆ .U¥9×©ì¿ Ý¸Ôï–”¯Ã^#¹Æâ!ó*ò=%»ì-¼úP+6'°m­ËðN3ï–=ãldM9?†/f¯›j2;|&^ýdP­|äU° àÌ(zÖ§—ÙYSóç ¥lé!F¸ÁÖVHùk„TVÉdëAsÈ)HâÇó¨'¢ÜÄ$m·A¤A<5Ç„)  ©8&·Ã¬¦¾æ/b˜ËÖ§}t¾7­ãfe³¦c|¤^Óa •qµì Åý?p÷y˜wƒä„Vç©BD¢>²d½\5FjÍ‚C¤kÜËNœOsÿZNæâúâst‚+ 8Bzj•ý ç8KÓÐ$IË^ÕW)á®2«1&º‰Èç¨GŠhdrŒ¿üw7`ª"iÕÔgðwÑ NjÍ&o2(rß:ðP¼¨ÇÙ°NßÁR[oOɦ$©8ÔçtÁ%uW±¾oÑé ýËU;?+%"Ì SÊÆu Âõ²àUÖ"àðí§§ð ˜T`^`A¼±ž?‹@üÖ1¯I½M~âÑŽêEÛFªa ‹¯“=²ÀÒJü½@ŒUr¢Ô“%^ªÊ:=AÌeYÈ2nmXîž2â~<Ð×oøæïævgˆá>|ÀX²¼Ø­ljâC ¼fækÒª¡ÿØyI¦Ù›ÿ˜¥Î@¦™¯Ëzq¹rZ‰á|Xª-(’]üæ!©@g=Э.’>\îtÏ’œÃÒ`ðùFŠÜzÆÝîLÞF¨I ³…§β3¸ª½¾óv%NšJwUšÏZM}–ó9ºŸíaÌËbÁ âÑtwôÚõ}—»î p¥ c+:ïˆOèH+­˜“®È(;ˆs¤Þ¦ûûQ΋Á»RžÝW;ëÆÿßVIoê7Æ… Y/z`[=¿ªà[6ÁïœìˆTšŠ§dqK3'Á%»üo÷¿·i“/OO‰7Y€ªÔÄõT²5­añIœ=fJ)ºÇÑ:ë}¨ÍèM–Ç,…LTÈ‹ù¤3ߣ©<²7¢X޽ ›Q<-Ó˜ðmÞ}#Ó/3S'ÒÔ5.ú(ÎÑóªô<œ°ìÖöâ®*/%wÿIÊ|öü_\¤ÞG6°®¸…ÖÇ»4"ORO¬ÁÊ@T¾5”Í–']3v`RCê˜D¦—­AFòƒ@' ÖOƒþìLriÞ†¾9¨dÝ¡`™s- pÔë:ųÏàWn¡Ø"™[° @âLÖßö7p»àh+p¯ƒ×#öøø´zßĨ°g´V?‹ÔIk:ç éŸ{%lC¥‚¡úR?ýcÿ¡¯K òÃ"£åˆHõ{HÎ<ñTûÂ:gNYEP-¾ÝþÁݳ±Ñ²CÞþnDY_v©ƒêí®úqÂ…é¨s>È#¦+ øŒïAÌE—jöŽ”\ßù9XAž°Y—º©t!†PôK$ÁÇé:kÿÀ³.’Ôzÿ.-ÈÂÇšŽŽÔ ¶o#¾ï¤µÙþ¹ØTŠYu)MkôzRrº›ß€ð…’R‰ÐY±é»Þþsu¾¤®ddJozÔÙ!˜Ô§TQ4½¨‚v™ÄS/gF‚JS)ò;Ï@&¶lÿqdìa¥8dt˜³XÛ{V' ç§PìLLý—í¿„˜Ã É6?½‘"[GüB´ùx»‘;YjÓHÇ4`î]rû¯Kxµ ×ÈæuÆ@3zJ¾°¼ÐnÄÞÏ#€4+ømÕªÑ (¤˜¹PÌTÿÊ»¼ûÅ´¢èÉ¢oµÈiÌÕv߆•âlÔ¬‘ôÔ° ¦<)=$GÐ:­Ñq³BPФ†>‹ôöl㲟ž.•µ‚ F:Êyñ9æ¢ê•ÝoMxßNîOE0a—†µû×ùIc 6C1C ì{B´ë˜Õ ³~±r`eï´PŽ@¥¶ÊQúOÙý5±7pÎ=à ¢@ìcHZU-깨øo©¶PÃN60 çàëUGüª¾6ÂCgI»ÈöAHòKž~G^uN”^ÛhÔŠ­âsò26¶¤ö0UâŒ!-–ñMåX)«8Tbˆû@$ùÞz³×ü»XjcÕ¾õ1_¿ ¤fÞDyÌÅ}UãüpÝPûG”œžSƒyCÅo!õÏ{°M*…øBÒ]˜pîA>bíQ„ôÑ, è#þòè­UÿÊeÐZœ³%“Táq™ö¥n0ñE%È®nwEi°‹ àÅ›ÚÎÂ(1tC‘ï~Ç!ÝžfX6”ÞÙÕ;\‚cÀg÷Úá—¥g½’ØÛ<)˜ i}u«LOÙ£‹ò»UÄJ×µ[ ýx ˆ¨¼‹1è,mOþ«"¼ïQ„€§˜›n Ÿu¤^7‡^ürf"ÖØf†ù&A”¾Gì3yh8’–7iî%ôWÍuküA»»f®Íû ¹“Õ†"XGÕÛ- ÙÙ/ííNu%V6¥ÿ”‹ ’7è¤Ó_öTno2HUÒÓ:Í9;¥†´Ýõ凟b AU;SúÛÞ•£OK`ÄÍ@²$¨Žb\eDwYd¾ÓÀغ,YrÑë+‰êeÁ`èåŒ}ÀB¢ûúGY»jÒâ—árì-»¨|clŒ @´ÞøzóJÀqû> ¤²x¦£oµ2kåsð áQ±b3jñdo¸jJ©éÝÑ.ò„CŒ½hÙ‚a6Qðiq΋b4ðó¶[3ŽÆËe±{46{øþçtcI[œ¤XÄéŽJ»K몕Jо1¶f:Óµ£¥œ”ÙB¡öѸ3õüú§Í]-£ØÆo±aîÌdμÏãê›Fª[i‚–ïA}jMoC=ªN,¤%&»ˆ±Ÿneé¸By)¥ M<Íy2¹/ì¡BÙôÛÙkÌøÉʇ(ö—¸çßaDoi?óü>ª&jB¸%ÂÔET‹]•%kÀuêÞÎh¹c¨íôDwvŠþ×âD  OsưFãº{ÜC.÷îà9}ý+þ”Ðw½vó¥wê1‚šn€Ô©úÅÕ%däÃ¥+VØÆL4Î…¬  œi, È­P +·nY*Ðb$ Û*\o¸‰qhDÇøâÂNˆìš ïw]cYEŸà1÷ÔÅK•3ëäÓ¹ 2\ï,9zWÝoÑÕÙh¦6F$h\sáÉ(O^•ºk¬½d2¡K›$W”û“šÏÁXÌ=pœ¼_ß…„34—`weƒø’³[OäÒ…ö N ×_œ²¿T}d\ÇZfÈq¹nmO´Ë‡~Tv0\êœXo¼×¬Ó·F]m¼vÿn¯ãp:×i»!™—õÁÛ—+0/y…Òeª­ËZ$·PÏ¢ÁÚR©@IebÇ—ˆõK1Å¿…,-¤ÔÀƒomwá2€qS 3¢{˜jjÎjf»Fˆ¶ ¿>½B‡p!Rt­ÆÔ­|›õ¥ã@¸«7òmL¦^‹`âX[…»íŽlK{ãR«„0"l̘ !®Ùð¹úR|xëxô—ËblõæaÁNÓ‰cª+{ÐÂ(Ê: >HMwVÄ óið9 de5Ø|ëMõâ¢È*$Dç #´6–Ò3]ÜØQ¾ÖdžÇ\:‹š«ãO1c4¶ºŒS3„æCs¾â{uDîš@£?~ß[?¸lh•îÚh‘p¤VŠÓ|“~YÅ\Xä5‘ó Ëžá¡\Éeâàb¿ lÜ•æ¤ÈϜƇ27JKµÀzzÔbë²ý]›t¤ŒÉúõôÐU,jÒ¦m}¹w‰ñX1Λ¸iôöekDçV).ÜâîžÌ¹vQ Ñ«P•ødóÒOžn;È‚GNçþó $¥xJp|ÿµ1d?ÙTÀ<ˆÉ‡6åÌÁHÚWp|øë×ȉ>-Xq–Ö=‚^b !Iÿ˜8È€_¥Qb²]=”½úö*b^|Þ?£V˜ô·V4‘ภ)E}úBtm#¹ÎóÔØ Ä×'뜨r™Í(´4ã³4æ¬KÂÖ£*‹+kv»UÉÀ~1uþÈeŽ_/{ìÊé“YÖ’½n¾ZãçÎ;–0Åñ…¤7VÛ4¸KS{c sH^®©¯ùocvŠ ž%ŸÅ÷Zý a7UácbŽ£ÌÎí \ùþl¬Öv®†- ¹È—ô¬ &B?n¡…’?–¤Ò<¾WPö:n½‹ÙiÐ’¡ó§df§^1Ud¢´v·7z¶ñY8 ³ßòÿ4š‡Q2Ú‡î«Ø"l_XŸL°G‹®wÞèK§§íNTí(xi-„_FÆY;ÛN×;O ÿ¢êEÛžYÈK ó½J ¦Óâ–XÎnêÖEy‘>6ŽÑDíWb+,EbÕãø4¦¦à¸R ÔP®.åÅéݶŠÉÆæ¨/Â)‡ËáÞ+1{¯ËW w+L´ºµŸ ?8 tdÇéØxžÓ`Ç!ð«Œb+\ Ÿ+ì”^ª7*Kñ÷ߤ_îÕËl}Å8[—$“ à]Ãiª'ªÊöÌXXêÍ’Ùzˎч»ÅòY÷òt4|º'§âÿ,æ4ë=ã5… ®CcáNÒŠ#Óä^ ¦îÒ„“W“¾lв=x¾»²¶úÐ0øJÎÞ#.ˆŠ¤6G7°ˆæ°aÕ‚ÇI*H}ðv¦¼/^è¿gÙ§¼Vò;ͨ+@SÌ‹£ó”4¢…ïj4Ó)ür¿JB1H¾ÈÍÆ8'` #8õÖ2Í?¹ÑÔˆ ‘B°b²ï›0ñDgX„¼ Ïì¨Æåš„Ôóv¬6ʆÃÚ…‚ãÝ]œl¢7¯ø±Ù¸;UËfö#ìH¦ÙfR=È'}Ö‚xÛ“êcÎc©¯[SèIG%ËW&ó–T™`ã ¾‘Ô¨ÙÐ MnB_?Œ.*aßá—¹HïïáLs,ªgíB,´{VJLË5Ðb†ýU„W´ó¥?ÂgÚnìÒò5t™¦´a~ M‰³pC}W®Ÿ¿ÿåc¹xæ×Cu\Ýqzœî“ÇŒxÿaL-\½º¶èߪßðcÊY/`ˆå¬"ÐÃ*™³M´ ·Ä ¿.1Ƽ¨¬\©d¶H—DxýÊô¤?íf!á’ŒŒ fÍkÜ@? ·ùB¢¢NôÄ’¬íŠBa\‰*±‡”B\UX£„ ø)%l°¼útÕÓ›n1çÍ'N †• -"¯µÑšý«É_h.¹s:›3=›&nÙòxÆŒÄAk]ftòVÑLx;7ø€ åûÔž- i5ÐîárÔN0uNÕVdçT¹î2ÓÉèÁª‡?á¼—l’•ÞËÚ3ÈFÁ”‡¦g‘ú¾Ää ¾ÖvÇ„¤¤£2ß¡£óÅò‘MDÎ+ÑWM…òATý3FABøU×ßüËO2›ú5l Ÿ¤é¬JØ©•â{™ÒFÜ\GøìådˆÐnLäà ú>,xý“”QõÚ•ìy¡%–n’Œ ªÚÊÊ9¾‹w²2V&UóxËÔÄQ&¯ø×MQ\–«ŽX,NçyÃ|ÐоA Æs_ÓŒéŸÃ|XiGà‘BscÚ6¹ÖáfžTؘSNÍ>²BOÕCl…+@Öj6ܱ·5{@§ù¨›ÃuZR?nPQhH–Óv;ØM¼ÿýúÁª•¾ƒ…â±UПKçsŽ·çm©È‹k³íOB¨ó$?ü-ZJصvòÓ,§PyŠ4 @Ö…–ÐÐTÿ—^R¨:—ø"•Ò]„Í)㥦ïA[(úKˆ-ælë†v>Šã9%vçÄjI: ßy®RæÜ–Ôôq÷ uÈÕ«|@Qåu}™ø%€¶—ö1V‘HñÒà~ðiä÷Cwöo~5v˜Iã$­"~aÕmù¿ÓBî³IH²h:8¨Ö–n‚Ùë ìaõFÉ‘LêÜVþŒ3ÈLnbØ îpã™T¢¡Q®[õåÚ}Ñ[2JHä˜ÎNˆúª ;—ýÅ9cŸtEëü?ŸÑ`‡@'ãnLP’ÖüW—sso,lÞð§J3&‡¶XE SA‡aµLëåPÒxîÃàB!8yTwäæ¡ ß:Ž ñ”Npt•¨·‚×±6¥dÀ°ªrˆ²ä´ƒÀ®´.´ð8¬šG 8”êŽëF&¸ÃGÏu;ˆ5æÊe`3<_­7‡àØÉÚ7s™Vaʤ›üÚäÑ)]ÕkµÖÌÿ"eDú#½+ ÖÞ§éÂs¨%gBcìT¦+àÆ ’1¢'†á’˜‹†"L`h³NÖ6¹*0¯¬×¬ãú³åÒûR1j’Óe’÷áäÌNCZ'>9ɉÍ€+¾{:o{Ĉ±=!ª©,ÕopÄcžÉ:³tÎôùPóÅí3÷ž|þÜey¶È>ããoQâÕE×X팴iÓJ^Mybq8òŒ°&`ɉ;ßéûyoÚnþé‘‹"Î Ãx‰æI6dÆAïÄ>¾IÄÿÙ\Ó\ˆ%íÊ:È]Û%,CVÿržªÚb¾ÕÅN~È]S5/&˜îq"äÝsaaWŸº¢ «^uÐ˯Ú3¨.nCH zæ¥sñ☙¢uÝZæßF ‚€]®–¹®<'€Ö#4µÒj—,Úó߀ü¿v$C-ä7}ü!“E×~}<ìJ`7¬ð¹á;ôï;ìf°îÓß0Wí8^rQ×^iuº2s‘T¨ S-¬ÇÎE®2W:¿€ÝPñ?ŒÃuüÑj™Ì\³x=ânƒé6,òyÝ<4¨džÅ$DÖR’­pÜPo޲æSh”s-mdˆŸå<“>RnW;Y…Ä:ë$pº`1Mà4´ß±¾ãQì÷É®;{?Šå3>Mx °z®-J÷YS2(‹Þ‹q¯¯ƒÙ÷iQbe˜Eêí 8®Aã´ý‹5<3 ‘ITÅ8ËG±æôÀUVk¥•öGä?†ãßâC‚ ²\»G<{¿˜kªŒÄ$M–á”Òâðörc@\&ì…Æ§>GÕ±ëúóàáhÌë,¬×•QSÄ#ÅM ÓÂÑWí-gDƒ„”ÙPÙßÛ°sÿ—}lí~‡ó¡è‚'÷ÞÝòÞñ€—þÎôÈá›r–ÿàÆÏ îîØ4;y\z`Tu½BÔ'Ɉ÷s”½_¬û…ò´€ˆ¨‚;Ka@RÎО÷ëƒQ²w}_Ó&݈Á^Ö÷FêE=©×£<:ñÕ®«üCGÌ”}‘EOð©å}M…-LµƒSÂB¨"¨[ âÙ À ÎnY¸ÒÚex²É'ÛAºóã™jÕܺr&¾ 6qº¨ü‚tîþl+ß«à×Ùkå k#à0&æèäÝC;‰mx“AðÁþió·Æœ%`ݼó¨6áÇèŸhø=$™)Ý&Ò#¿ò ŸU#3’Æ`›{ß+EË `K•(ÑoåÞ©‰ßÆQà³+§Ü ôËëRèÚ¡’»0÷ÒT_5pÑ‹³j+X)ŸyÔ¬søãøeå±vþÂ;E^ŠÐž ŸŸ|ÿ‘m›Æ4>Ì\§¶L›âM\e–œ`æyøÐâ\OÿÇlàs°BiÕTÂóÈ?c—–)`]fÒãz'„~#Âä¨OêÖÕõHÓ=iG}µ¶¤ÊB1¢¹ÍGÝ ÎN”Œz¼ÐÎëtAI å±צ6ýNÔ“w„L*kÚ}'D.试º4m•m¬…ä}BuYô¶I­bßÂW–ØOw~aŠ&UgÝ6ÆšhÝ…ž½jÃìxOy_Ù<puž“ûVM,uWùƇx,!L—àaäš@* mCÚ·½Í·iN LŠ›s !ü;ªœ¦Œ¼‰GÉí’#>5*„¬ÍvúÃû–†žQO[ûÑ@·[ißîèí·K‰ÞhYf´‚!°ãóôË4ȘÞGƒ„“Xæó÷Çö/®1 ”‵uÍaÇ.²Ç(뙕C¿õwH ¥³hùÕö['¹5ú£îð Vë9ý!Õ]F нžô²;õ²ëkŸO->Êkë×™FHyAÌ.v´Upëj Y%º°®…xÄ/ªÁ·«Öþ)Åp4Dû§³±¹9N%”cnî«Í5ÐR{‘/ÿÅ^lãÈ{^ùä 0Yº’!°´lH}ÔŒ-'*ËYnºÿ‡e3w´".u¡†.í¶ì'ˈ”Ë5+?O 1™Jk¸ÿ¦ØBsÝ(aò:­±qµTóºwt Ô2&ZŽXO”¯‘ú ÝòèS <ØÐlÆÛ¯¸_Ùì§Nl A{pMmð…+·(§Ü=*x˜æ`&žn ´ßÏ=ë“sÿÁÍ=ØÖw¥ÅV¸æÞ˜?íz«k®ÍŠ>âß©G'Ñ—¼=ÜÒ_&•Pá{é’c5 Ä2¶ŸãÃÄ ×ðϬöye !û‘Ÿ§¦FŸÛ”–Ì×;Y]Û'3¦>ëâ€ùPøOæ¥sœ†ãÞ¤ Q¾ÐüõØ{-Uš(–u4Ó‰äoÁ<*^¿à‹å­Ù!Öo1¾î} |Âù?s) qꥲó#Þz'1c ÷ì±c%ž¢¨,ØÕ ã#üa&fÒ(d¨ëºp€=žÜ÷ Z •=‘¥0Bmé cƒ§ž ì`W«ÊªÒÆÎ[¡eYŽ+þ[–‚’ØùÏŽ"ëÎ%5Ft/íâ6Ü#Ë#eA¾5îÏýVå ¹ÛÚž’Š@ìd¥ò÷.{í‘ÀNÃ«ÌØ¸ï¿Ÿ”s¥ëí×5Ôé$鹀➲%˜ºØ®Èx .ÔÑY? Á:"MLZ2ë-”N í³Î"‰V’û‰8.Ké¨P§v%¨=¦PÝòBJ·M÷ë68õö%užv¡ä¶WRÕÝÄí>TI]d=‡¹øÏ‰QñóT¾¤{=î9"`7ü÷t»i¢Ã²Q¬¨ïëRàŠø½ª¸EFÃ.WϰIn^øë+^ܦ06¼ Ö?}Scb¹®éÑ«tË„¶ êNïs'k—€ Uã!çÍÄL‰¨¬_qLÁ‚"!·cêuj y+òV‡Í‰»ÛöN–Ô7¯0§M:²ô9Éý‰Ê1L] çsïÌÎ^|ÌËúþVß]Á@ó·­­ñ +À>œ%s¿³ÑP‰Y·s[ÇRw†e¼ÔöÕfY"²>;ñiEj:C*›">Ô&%ˆl´] Ž’óo]lŸ™ÿ³ê®¦cÍþ-·ô4daMÂ|Ôá¾jvEXT{ã‹TŸ:ë'V’sÃåˆlÈÁ/Ó#’Ð6Ïç i ´@­w[ÜW@ø ¶u±¤Ø_ÒÉ™ï7d&ÂI £6ŸÓyJ‡FǦžMÄÎûÖ$Ý63KØqRmM‹“2B¾lr\è® êE+yòBï·ä¿Ôw6äe<ÔØú½Gál•û…Ž83Y±Ï§t¼HCœwZ½EØøÈýzc—À–Ç«Í#Û`e¶š ´.FT[ÕŽ9—߈hê¯$¤ ïÖÂ$ÅýLFR°·ÌÑ)1ç —ÙSr~Êùjîá€â›¿þÚk¹Hܺ Ë(˜-cÑîMGY’"ª:v Êþ¢è'Jö­†úÞÎxЖÊ:JŠÎJ—æ&¯Ü_£™,[ö#úëPÜÑE 딕³‚û² ¼á&Æ{¡ÑËÊuÃðá˜÷çÿK¥2u'ý7s,:xøÊÔ¡ú¤xØKî Žá¦©î1Zfå[¹<¢BýCX—ÝŠsSRòYø“™"ÝŽzjÙX“GíIØK&·Å‡²ˆ²\Ôçý¦ÑÙœÞ6V%ïÙm`[ ²ÄŽˆý˜šÊ(Ëý»‰žmϰ¸Ya]@Y,¤ª‚‰Kø= é1Í´NM@.Ë.ްØ7LÛMF~¹Æ?Yòâéqc{@K™ æÁa„i:¦— °ïÙ"(`VKœ%1¾ƒÌ‡øÌ”–léßϱµŽ'¸p>c¢T GHüÄP&VZn ‡úlÏÏRðxíà¼eL-=¬0E4®6˽s·rXB·>ñš”fµ\V?þŒÕ àiÌH:IÝHJÓø¶Úøà€~Co ÍÏ3FÿëMµ_ž¶*#ÿÂT×k–R&(¬h_ëkü9ñóñÝäÇ+ ¥!“Ô7Ín(O³ÜÖTü »¬*g ¬P•xfP6Hò/¯04ñ±ë?é‹ûÐÛ™…Öo¿—©ò%ÅGF¸sï9|"t+m>ì@ÛAo¢ÏWÚÜ*™$f?µM­ÂkñE4DøŠm‰ºS{wž)­fHñPDÒ¡°˜ë}«ùÌ®Ö;ô»RA«û/¦q$é>fÛ,‡/ÄsÇž":r% ¸¤ i7•‡cì,#Òœ“©ì8S"®ŸÏ?”‹šn^rHé:܃ySˆ‚þ…ož)|ÍD ýW€›w†XÍ7¼æ)>8-myóÿ‘M.€9ÓùÈe2TPãhñ|Ó„ª†!¼ÅºîàŒHæÀ+¶§>Ç?XÕJÁÀΘÇÕÃPa†‘ˆ‰Ø¡ª:ÞOÂÀQZדG¸)M8údÄWó3hýiæ˜Ý~Ð_öƒkSœô:F+EŠÞûûë:oÙM4ÜœÖÁüc®\ÖÇéKI–™‘Ó8^Dë¦dF짴Ξ•••ðÞÃmÜ|äÓÇEýÈcXr2¶Î7h˱!Ñt‘õtU· ˜u¶od³2WÌÆf"ˆ I…%-8·B×EY;Â`:`Hèõ…X G©$ü°°!аÆÄÕtŸí/a¬XKŠ@nM‘I2{L,þgÜPÀGgÙuïW 衺$åœ ¶$K{o–%_Ÿ‹AUOKSòâ{íÚôûE?k°}<ÉðŸ˜I´‚*V¢nÝÓ?²ØÃ8_VäÕßÂz'‚Ç}÷÷DmdQJJ7%žÛ (“S8 Oßï—ç®D^ƒÕqG òœ¤WUù ”1_€P°ƒ¾ÇÇ Çröt9ÇóÙž¸–>LaDzÃÍ¢ñGcß×<ÞXئ¬"맺¯&Ñ&·,[Ǻã \NWxÅyíVœ¢-‡múø¬-i^gú@iˆ‹lx)–Å94Ç–ÁˆDŒ: y6C"‹6"~-U–^d¬ÿ^Oñ+Ù&#ïdöçÒß;çÿ`RIØk±÷¨?¡}¼íÀñd2ºá–j«tøh51Û¬DÏ„“ý‚åªZýw7EF¶poîªçq:~Û _Øê€T@ øþdÌWweŠÈ ò „ÀüQ±ÖOM RZžUòµz>à]…×+5ÞpÖ¯#Þ!áÇ#4á‘͸ÂîÚ¦-‚¼º²ñß,˜!ù¤Ç?“û¶Lÿ«¿©‹-&Ú@ÖH‰KöôÉPïw&kîÄ™ š1þzg"[§…Ù”ùéüÛˆ$écùl-%!üñr'ãÙŽ „§C*J©dÇóºo “@w—^É ÍǶҸCÃ<‚E8¥a„-ÐàoôÂìŠEÂÿ×Zï'iíNÞWõ³íÿBxÄ`J¢{-ÙŸœÏny²A„Ñ’šœŒ=÷ÞÎ5¨A«÷*ûÒ^ƒÓX€ô¾Ž(À7.7r½ç&ñxù¯c މ$ƒÐtçb(>IÝq zÓ.ÞÏ£Q|÷Íi®>²zøRÙ+zklæ0õ#»ím òw ®mw®FŠ˜Îˆáühl¨šºóë2Œp1zwEŽéG5#¢)ÞÄ€)ÜÓ,àK7… ¸Ýzqë.ß6—BÌÁè•0ö™ “fGý–;€ö!sb.=ˆi7?T¾®ü§Þ»¼© ðu±›–û=Y=M¹;™%¡­äçd[Ý© ªh°RÙkÎ@;÷•¬R¡ô]¸ùNLM :WiXÜŠ4ÑÆÌs×´ŒH(ëçŽ?b’ˆTbœ>ÆøÅN1|$w¢½¸\zfãW6¸¾ã|âg¦4’¬Ëâ›­¶„‹Èê" pf<¸-ðˆ™Â¿Dí£è¬ ïûP'À×?v-â-…Mùî;œXÜ{Lã×µ|”ä|^>Õ.„m°cêK³Ä‚6 Â0SGºÂB;2ʦ2OžÓÄz¹Žc˜æ”êÇ´ÂÆ!+ÞÈ 7íÔP¬6µ¾³kŸà™®h0®cé¼ Ó=$ÍÞú’µ">û`..„Rýu¤ÿKÆK‹,ÖIRè)yVNà!£ÏÝ 8£æ@ñë¾ëºØøÍª}oê×µY® öÞü‘iJš½•q;˜ŸL»¡øUEú‚[—ÄyMù‘iÁ@¥Jé6™*çcˆu´^ê<î½ôkîdÿ %Üdù·)ˆçÂäcÀîjnùÿI)ù›Èa$Ž•[¹“SCpŽÛ5HW {•o·ß©šnÞÊ„î‘sG|—O!Cf ì-Þ¼3ƒ¿gDf‰þþ){€«¢°è^TtÖ¹q/(ËL„ÈX§Ïq„Å7:¼·©Ðôñ)xÊhxõkÓZc~ûJW1Grd¾ þြ4ô½mÀ¹K3/ed;2KWÏÐåíŠ@NÇë‡/A¡b2æw{YXljÑàzâ—-ºs©ñ² €Ÿ¸m ¤J…_^P¢²¦0v]ßT\tºgÎ!%yªjgn¸Wé}ËŒósJ ªœ«sÊÉᆫ |¥èºO~qn§Çi‰:‚zæqV£âŽ`ˆ‰wÙ1ÜþŒÑ»à+lQ‹ÃL ïuæ‡4ÑæïO±*Nð‹¥3|L#R­ñWF£­½w|Õ¤iÕœ¤:•ëC‘{ÕÏú{yZa@T}¹¿jàÜJr3Ïõ_ƒÛÂ2;ÌoÀ67+ó¼.l~†g3I?)!q%3è6~Jö’º*i–ÈÁŠœ´ðÇüNòÙdi +bSöN¤éRûVIƪ`:ìØKÌßÄómó ²,œX–aåäS¢|D@Bòú@ƒ^¾¨ÓcÝGå” [[xxò/çzš 긴Œ;Ö罘~ddò¬‰Ú>¡õXºÅ©»›zÃö7>’ãíÉÎÃ…ÓðE‘Ö<9“Ò qä¾óS{äú¬MCýŸg­ó.ùL5ßA’¢ÊŽüa2®ä$‘ó]xÅ:›í|ØÞ\`VoŽùªô-æt¶®þ®¬šÀ¥C&TñmÄÝ“­à³‘P°!À&ƒm¿ŒÙ¬¾1ËˤÐ6|:3L³qoÌÉ¥Qø‰Š®‹œ~2êÚGSgf\}A+IÜ·•·`Œ®1r†bÎÌ1pàë‚gHýNÌ­-»C݈JEé΋7à ‘S[vFA ~§UK Aqz›ÿú³ÂþΜ@1Õ8l$ç`kïZ•¸;án¡¶ ²m°"“Wãš°É…²1ÊÚ |‹ÓxàF$éøBb´Hyp2ù+Ê¥U ôºÃ´Ë\,èsŒ™,«á`·dš’ts·tOþY("£ ¬OŽDé÷âe²Ru1†>5h–>Œ•ºÞ+’eæx\jDÖì0•3!§mÝ\­ío\dHyéH¸,Rm§†KxëçP|(n5þê†w8ÇOh~8àÙeY +‡V MZh>õ¶XV‡àÖîêA0~ûûü-Ažœßc4ÂñÓï&NǘO‹Tæu5â äIzå‰X›nйפֿ]Ü@žl/‘g˜}Ð5}£D‹þï1rû\‹+~4V?fú, il^¾ºïtZä^?€Éz>©ÜÊmJ’±Æ W1ò35Åy¹o™ˆEÐÕÊÃH?JsjòtvC B‹^ª_WÅé2‰ÈÇÉщɼqùR§‰¯OØ'™Vf—8éóûˆu °-ïoÝõ=ÎiÝØ]E(›_NùºVÍpÝ÷ªÄT*…wã×ëw…}m_ÒÉy/uŽRwUûáê±*ïw“à)î°—Y71)ç„w6¯ÛžBÁC©"™Ã÷}¡¤#H@±èJÿºîƒyê£ÎfHë8×…¾h¨:ÙÕo½üuëuäÆº°/ùûwpƒ£?·—è¬ú3åÛb§a¯òU’ºýhP8Ì$µ.ÁÆ«£[ÛØIÍå™ÝÙ9”!é¹§éMÁ¸¼Š¸µk]½µs‡/´ÂøÉcœ4pbëg´[kÁ©dS»aÒ6ÁÏ\÷I­‘.~í?Á…•Â.‹#’«PIÏD™òž¿Õß¶ñ&ê/ U E÷Ò<ÜDü,¼xô/¶âuNCíû7fðyÉÀ3%~wùù tâçaOeSßMô˜\Xßœ4—r*6$è|œM0Q”âo[C—’ýË7eßlJ,{í|Ë?wk-$Ǻ~’!îb¦‰@‹«Ú÷2­¨Ý&d=«‹Ë<1¯ÐnÎX1qÇÃÁ_Ï?? åt=oÔÇ(b¦¡a¹ÜÍä¤+#¸Mb,Íö˜›^̉QÚV¢¥gS)o ¶ÏÁ‹N2·›€&kûo[€‘ ŠÆç3€TÏx‚ˆ¯Ýº”r¤%Õ…á‹*1’CöiÅ3)“¶Ã¥ ŒÔ0΀< ø_‡6eËýËx#Ýž,ÕÛæI—>—‘½®yUw‚žsÙÓ‚Ù†´£ɦ”sD­°iúylcâPõ~°bß–àcÄÌeŸžCÀiŸol™ÀÉ<^Q)®^°”/&+l+ñ=*ÑlIF¡oœÞ"Á/ }I0k”€§Šw¬s°øÈõ$0fáøÌK«*ã—tµ/Gù=·ˆE­ºc3&®Þ~Á ²M¦¹}úÍ3³ 0 …÷†ÎI_Éø{tCrŠa¦©¾É:ür{ÂüÂ=aÿD'ejWpJ¢ìä•8³ÀZ{[Á½oǾ|òµ‰ô7Þëâ±R1ë!|t¹ŸôôÒfì¶Î5¨ÊÊ©Èýuç•èqÔr‘žïÚX«‘d$IZ*T<“˜=ËU!Gâ*½Æá³L¸lF’!r¤±ß}Ý÷—3.Üfv„5_çbÿ…ûAR9~‹0ýˆxZé¤l1T6®:*ª†ônƒüÎ-˜<´Òtª¹6®`Î0¹yk¬íŸS»ÁJ€½ý¨¬…¬hJÝyï1Å„ÉR’`²°y7Ñwî)€)L;{'î¤ÛòÙÉ|Ö}4p?L®5oHå¨cNHä?ßLïŽÄš~Š5£¶ÉDÐBÊr¿"¦å7;8¸äØÌÞæŸ‰-œéî¾*Á@˜ÆäGˆµ¦ ÞAÞ¾®“Ôž?¸›¤ æ•Ň݇õœt €ŒoìÜaÁ$FT™“}WIúuQâÀ„8ÈyÞ‡§Ï5×8ÅåãõŠ·¡èÞÉ‚Z›§=¢8ÙÓYKÒ6óîæ€áÀõQëÈ ÿ¨^µ] ܨ¡[Ð íD’fK{¶1ÝÑôyæE£'½ÚÞy²³Å U`ü¸’39ÑÍï¶vŸ±rQ×·veù"~/ ÷¬j3}ä4×:€ëÎÇÿ_ «†Õ¶’jŵg®­öŒ‡k81óßVsðZq}ÉA„‰{l®’/Ò^U‹q¦} ‘±KP(oFyï¸ÒCx÷¾2‡%íâ[^ü"ìâ]À†àyj#(ƒsmÙz6d±K î7wôxkÌܨåA®·Wˆ ·3Â& jŠ}oÖæˆêüðc~¿¯½Å>gÒ`¬gŒnXO+皺©Ç7âù>óº3z5hê fAœM¹5Á…ÎA)Ìðøô+Kò$!íÓ°wÌ»°«²z¨eºÚ v¢ãÚgœ_åÇP+†Òú ›ó´o«–Ðè7À„Ñ8Pï´ gâì>W•µ4\w‘…XíKçÎfXg “u×Ô j‚æ; Œc s›ôñR Ã÷¹ô÷gtš¥«÷|yE2˜ÇË3@U%“«µon/¦K¤ ŸtÖ4€B°ŠÉˆVáy˜bÒ;ÿ9H§Ü¶éé19Ú1ÙIi¨MàN?T9@ò{X}M-Úù"†ƒ›@9i-‰¾N)œ›É³{¼ôê=óÌhßñMnxšþM ^0Úÿ¡¤S#{½?fÁ;W°yÞ!÷øç4ònD0Yñ"Ù¿Çê:üBï*áÚ=µå_³¸ ŽÇ}z9JüF ÔNÞ‚VØÖS>'V…„@KQyÆf>ü¤½48Ÿ×†bÛÉÚá3`µWu­gÒ+ô2ÔÙÍ]Ï\ "tÑ–àt9 RfKò…0ÃÔPO³Žn«ŸpD!î-Ó¢@:ä’†@¶æOÀÝ/ïñp®›&ŽÏ‡w.½È”µ9Ú¬úÑQZ€0~¾Á Ïï&ʸ§ádÎA{ïC¡ƒ‹s»+S•Ç=}¬L þ­"9)¿%™ÿ;Çè)”_Ó’éßó—¿èç‘*96òdÅ„ 7Ov|Ï57Ø?fcsmhEÈl©Ós?~Ñ«¾ÄÃ鄦sŒa¦~b‘ÀQÕ|“ ­¦Ð Œ¼ûÕ‰GâË/ˉÝõ­(¼>º »yT«‘­‚¶ØçøÈ綤o4)ÝjlgBV3<€~ÐPbw¬ÌL¬–¥Š Sºþ÷»yvAŸ ]Wb&@L9ÏQ0¸ÀìÆz[†ñÓZ ׄ u&«,Ð7ÌÔ}M$<Ö•–z®Ü)ÿ§­Þ8í'$dzœPÎGœEí h?kú¾Ãάi$¡Ùˆ^ņ¬.„øëœ‹N¼ÏªtíÎcþå4£¾dnX+Rc×Ksh†eô&lô†<ÿx€O–ÙšêéYUÛßt^CÅý-•_[\rvñÿ"\£²O=1[ذÂÒÌ¥—Ir±6Ù£3ì5¬þï~\tÁyx¬ ㊑2Þ*b*@ …?8#Q¶Úÿw­3 ؇ybHç7mHG«ÑМðh±#“kÐ ¸ »xÞõ»g.ý‰åÇ­w“ë€a†P‘<òñËÝçòj1%ׯÊZ¸s"*a4c^ï9¯Þ†ÄîëDíù’QІð}ø¸)Ìã†V,àÞö_ÊIqÒ¸±%W“[Æà2ç #ýÞ¼*Úå L˜Z‰Ï«ôe*Ÿ{?9ñ½¶~àÚê„×N™Œ «•Æ æSí€ [Q@n@<[ì9†Áå#ÐBñͰ±ÔF»eгv]&f1ºñK¯­ °ž¤ägÄ‹Ú×p1ÄÜiŽòŠnoaŽ; ÍæfYúƒÿšròÖoËÍ‹Ð$Œû‚Ux)È"»tFsañ·—Ö?'Ñ„Õ|xÎîD„ðM³ AYÐ(J)-xäæÍZÊ`¶"O©…·ÝϦ&pbÍÕÐwwš­y|Yºaî"¥ùdájÛw] ÚˆÂ[Z‰0*¤ÐãÊy¿\oS1¶ÏòÙŠð@±Ö¦öæWiŠ‚H?³$gæ¥î‹C.5Ñ’†û«ÅSôx×`3TõXã øvï€3e_ÀÙ¼ Áõu°P`Y¥Ëmz% +ž yÒ~ó/d"N tX ”¤ÊŸ®–ûŒ\eaùËrÞÛÍŒÝöO‰7“Ú£»'÷ŸPÑ$Þ»Ž¥ÙêÝu ‰yT;2×>nc!ùW8f,gƒo©Ý'f€ð­ôEÜ[éìpÝ´ÉŠì^ÁWãBÔùA?Îʘ0ðö%\åßyzÛ …”¦¹Xêþpxìx›^þÛ¬Û¹ ÐÌ–goÔ·R)z#Còz.>³rH‚€!a¯ÎôÐêN“LgÊ FW”`š·.fí Grº}¶]eƾ<ÛkŒÛzïý’DD›Áoe³¾çÿ:æH>O5y è°¢Ö‡ÓÀ\w>ánË·AÈ$ïIÁ²÷D¿j9¸@0…‚œ¼%.3Çr¤u§¶ÉMK–zWI¢â»,Yî7Ï,Žv»‘ÊtáÌä¾|üäÅõ¤€85»yuÎᾌ…Ö€1¤pæí.{Ó®;’Ú´»É[Ÿe$…fâ±ÚéU”®™a_“¤Æù»?Op­ž-k%ªAn´/«ÛsQy¢a6A’]øÆqë^„*Xûfi•-œài0KLp¨æ&‘|IjD3ÓL‡]¶®ûO^8í»E–³ ҔѴ’÷©½`L^ñÜ-7%‡ÀéR»‘Jr³»Îe¥û?“g5RÂ$pJÕû˜‘EÞ >¬5ïsâ2Éêu‹ÔÿŠáÐc²3ò*YYP”Ð é—TòÖ{€#FQcwÒÇ’ÃWe^zf†>ë÷½”r%U¦ñNGôíÖ‰ZÄççÆTKfºÒ™ÿûPPÈ©}(â¾Î§ÉöEâÌØ—ömôŒ¾þCµ5Iì­*3ÿ&öϪÖë.Q<–®ÜS¤ØŽd2Xxv)eˆD"M2jg95MµØÓéê??ºT58túÍ} (hoò ÷øã%¤óþ›'ü2k]Ý0þû¹ýþüŽÃw„ZTBgižMè¢BW‡Aþ½›Äôˆè' ÈŽ`X'R¥œí!8#‚®›‘íMô*7]™³åR™âÿ²~¹Õ0â‘€_8}N6›ÆØ†ëõiÁ˜¸aÎ#×KÉíƒÂÖÁrõ+Ë¿!wÞW)¶¯¸Ò».Ë­ª PÕ¬@HvïSÎùáPc§-œ?#ú„$?jwް¼· ÜjrJÁûC Ü×:îŒü²u÷R/®³. è K«ú ³Tó˜|YwPùF€<êÎÝòN’QQLíFÄêÍÙý©1áé"%@8¬º!ŒU–‡ñkrüüàü×JgµÑïܨÆW>XZÛ–YôŸÊ$ñ"vÿ·ê;ê~NåNæå 5$eOg1:ÛAXr²Àl€Ÿ"kOþN!$fSyÜ”,wäWÎï‘êú%«*fh´ç-Z°gô2nÑ®©’Oië@«ÏøˆIŸ¾ÁÈË‚ð@‚JÎ7õ¡U_‹ ™ô:òAj¢ä;¿µCï÷:¿­›  ¦¼…Ä,Ð…ÓGë„ýe½ÀG{v4[/îWèj)¦lhpbpªÿÖC}Œ/¨û«ö¿ü:$X` ¢zé럲ÚŸ!ÿq ÒqX ì\NóäFƒ;ç‰ê-}a[Ɖ€o¸”r_-% B)¤AV‰èHÐŒ­á”˜ÃG‡FZ冔@ýªc<¹Lé¼â‰` ·Ð²$nH¼sâ#$˜’߯2§Ãû#²-ù¿!m …JûIåjgC7~¼ÖÛ©|8ýð¾Zý™êpé>#ÓyНç‰ÎûSÑk\õï5Ôff.ç£ÓMÊ7s$–]ÞD~ÖŠ^*Yß¯ÌÆÒ”nÈ…}qÐz)ûY H@•ßÝ ™miD㸠ZxúÈÌá$åS• .u½nYÕeèàeøzNÝiÅ y‰¹‰z­ãQæKwÜôÆ"¼·kÖŽ"ãDy%1úÄÔ`ß^v!Ãæk?¸Ý~[ó¾Rá ÝŠ{M‚³nB½K¾8BÝ%Ç5(íßçíd êiq²²/V‡þsÜ2Õ p ‹ù4X`¡ã×·ƒ{ Èy´}DT4ŒûiI#³ hxävÓ#²—ºèÑa[5Pi-†¾@ÔbŸ´®*”‰ê¤‰d+ûS™ñ6šA³&,|*;¾Óg¨²¤3Ψê*2YlL÷‚{iº[gÊ;±tÒ&¶ÃS‘[ÐejÕ¢7M9›ÎRs –§YâŒX¾W[Dª°Ægo/S¢'ºìÄÀÛùV{o¤9‚w“ ‹™1zƒ°ü^ŽÝÙ‡Õ”X:·`òT çªÑûIs™¡}¤uíö6~†NP2ö‚`¼ yªpì›Ü‹0É…½ŠòQp…Ñy&øëÝ-Y[»†vWsŠA_]kgf„7—xâ¹9@\àÒkL)1ïì±2kÉ&(±t·kµ\Ò^Š9¹ï¶™ìX sÂm×S£`û-Лb®<H”½WNÝrê¥3¬¯Þu9HJc_œzQ)Û[ÐųcXZGÖ' „w ¢I:N4Ì1¥_õJ¶Ún´íUˆ$ш?ó6Äf=›µ1“‰Ý(®æK¶àZæ)G¶8?©Û¯’wÝN‰‡ ¦AcSšRÚ?úžNÀ×™’<—0t͸N [)ÏqôImu#|jª1§m‰\ãk´µª8‘îûÈ¢®Æ7eµ“s…wPîéBÜ^Œ®Ý,ÿÈT¸~¿jß%ìì¨jË4ÍWC§+¸ HTR ÑÈs>âÚŸŒ”ÀÏ3±¨ÃÈ“˜ûÞ¿n‰Ï²hÍÅ oRý¸–#’,$§äb x§AÙ]9}Íïömþiöºð†îš­±:v1_7Ø“¯×ÊçÉÎî8çÁÇӓȽ"î7Þ·˜WÿGIcš>äéÚî÷y<û[“™×Ó·šŠßŒ‹‚±ÙW“â iÔ2Z‡Ø ½;ÈhÃQÑœÞ9#'ÜÂ:Œ?U1ê-8¢ {“/ò¯] Ú{%‰¼ý£þ¶«µ²£¿ ñƒ›ªW’—ˆ‘ft^цW°Ú“6u(kÒ²Éÿ I(ü”¥¡œÅ²ã#nx0ä¯J< ¹5? ƼÁሰñŽG@à;éǸ€Ûó µ§ÅÚD6iC—_‡ Þ;G›ÌükÚ‘‹âÈñÄ‚½OÏ≽yÀ/@íGõ'K/¢ ”ÌÝu²~RÝæÞÅ Pø™¡íì¼Ë´% -¡k«}–Éæˆ®hÙºÄ+£_ìc'{ÏÜ.+<ª[jó’Y}PõóÙ•ë©´?ñ¦ÞUÊñ¤L@TØ~:Mœ /· 3¥|–‹”pHeEŠÇ2 •W·£ð€E[Ñu] oëà,Vž†!œ4LƒÑÂÜðЛV(@g«pK ‡ÿG3Á='óïݣೠV-/ € •{úq!î¯.znüæ¡¡f^TgL})¶Vb¨Éè.¤œ+W¨ºÄѹ¿7𮪠#_ð¬h1–~N$ðV…«#Zùö_öäå¯äত™rÖ˘ªOUú?Ìö¡ &ÊS4² á²uó;Æ:ª’DÄÀ5†¶Ö>½ù3¼,I¾è öºr]|Äémô¾¿W__¯ò¡ðÒl±Ä°xƒéèo4I•ƒy]¬"š·N†¬_¿úâ¿ %ËŸzµäÏ(PPV¶d³áO§Ÿvìû“N3Öµ00ZSÊTëć¨ÀÂ|gÆPÜD w¾F)÷„ÃÝ‘g¬‰ff‡fæ*"ê;Ê¡Âä0­Ç*pþXÚ—|ÓÙûìT6¾ô ,F;Ù·›Íüë¶c²ŠÐ3Ý‘ßYKà¾}×ìbÊPã̹/ ¹(uÅB½»óÞ8¨Áö”þP˜Øsõîò²cÌиb`Ý¿•߸ë§S±Ð¼&#NdÀÓmQ,Új‡d—!û.a5±,óøú·(ø‚B÷ÓQ˜Ña:=¥]ú°4“ÞÙ¥EÍqy ¦äÉlj˜DÓ+yà7 < º=Iˆ×î@ËIO ?\Z0€?ì]ÕZ„¬è¤5;껇X¯µ‡^vnû¦P4R#¶þ>Fš:ø˜F° QÃÙë^†ù­¥aÈgTÈ`ïWœ#’LÚ‚IÊ8wn£<Í.SÜ@ùƒIy¾Ä;Lä0Ç Ü à“W²tg'ýóWHL÷ÑÆøD½½N_0d¹÷ºy×Xø_ê–›6R†r†€rþ GZƒpkœ#µ=IK(ãœæ·˜K¿­µRÕeiÃYÝSÅ–¤ô†=_$–ç–Y~Å‘Ê ~‚‰ó}““¸âù(Ò=ñ(NžXµu«IМ,ߌ:Món4€Íƒ¦`×õ˜|­±Z›`ç¹|\½æ~Vˆ3¢ó“]YKŽ:û£ì…Ñé),…ð×’©QØ\jz„‚ØÈ'ËhB(Wq³ì%}' d¸ ½Þ;XÞ…ÛÂgó6.ë¾ú€žñòRJÎC@‘ð-“OÑbʽ*Ì­ìË=è3:û>ÛSÛæ§Áo.WúJ8÷w$ a$²«÷H±LñE$oÍ'±e1Ó@LÌ憎dž«CRF×r{!¡H²®ðÏ\ÚÝ/¿Fµ®×a¥Ù«ògÆ?pÕ‰˜Ñœ ÕVS=¶RÜæ³£›ì¶zuÛçV8½ÙLÿv:&´gPÎOÀ¬¶µnú©FÀÙ•C5-ÁÄäýW¡>ñášú™Ð§€d4¾cÝqã`lÈ­~©}ÆšÕjÜ[º¥õàI2bµÕ6¨‚G?ÈSá?å+ÝÞ²ÜMΓõTÏ¡:ˆ—øóælÝ}‹Z/FfdqÕTcÜ‹ßAŽ¿æšPÙ½þu(OåƒÃåPÓ{ì”GOxAPwQ…rïOé`MF7$ÅûB ¸õ]ÝŒ‰O[D§¤¤ê•_·‚[î µ›7ÆS’× Ä팱'-qEñí"ÿ:)f^5®S=áXcÀÌý ?Œ²ß²“o͘É5S g÷\ñ¹0r¡È´ µærˆ5:ŠÚ5-WÈ úÜ༵Ÿ"’IRw›HÁÙ‡ ÿ2•öÖ4mü‹*kß¾ ”>W¯Áš‡šÐ‘x0zåeè O2J Ùúº*eê“’+†`RðïÌù¹¤êëµÛvLržyq%[íLòlj6AÓž2_ÎY¢ô7N)© õ'óä¥g'Çç:†‡Þ'A“[Ø2 ÐæaYD«À?¤‰ÂœØ µ_=pÆk#pŵ<5T£G¿æ–§&…Q·…}9xqoûN)«é›„¹ké‘2 ¥þ‚œi›`ìbšì;SÞ=FžGÌ«—#êÚ·¶OÁûÍkØ$kq'„nþ¤ñPTø¼[ఢщF|û¥É€ÄŽ^byhÈt¶3zPµ÷×ËO¶±‹ ¡™ÖïÐk«‡y¢+E>ÖXíª'[bFàø¨‚}òÈŸÖ…N(¦Æ¾ &&Æz¸Ã³¸¢yÆ»Jc@ÍÙëNÊÞ<ªýuPÑAž·Š3>×ùäêòKÏÓìÙ(åiî zš®Á¶ŽîˆšKªöcæ9ë°úˆwHáMµÔ^ÁŠ Èâ’l^’ˆ²öŠ×w'‚mòt87ÌÑaØÍö=–ï—00Ý•‘( 9ÎÜİ~:…š¢Ü2ã¶ñTÛ˜úŸ ÈœUO SgX‘ño òäˆçCÊ„õþĬ¨¼<¨IyI©oäÀZ(‰“_~Ò‹<ÔžT:ÿ@‡u,4(¥§øapšþeäçÔZMÏ%Й?K9ü‹#º!‘Òzå!]ûßrÁG„6s¦óD/Eð*ˆ_CO¶P?²…n ‹†­–üæ’èB[” ÌÜH”½:ë[¢­F~ùÍX’ÎÿnîÞã¶Ì’„Àá:õ¡}êü¨:y”¸P>f(ãÃcœª®¯:«YQ‚ÞØ.®‡—R€Q`‘úÂJ+XbÌ,j£öÊMª÷­%Ïæv&ÙßX vòõuÕ ; m〜^½Ö•DâO*ÏÒZ\‰¼SÓ¡ŒÍ»%=…†µeKwŽœòÙ~õ ìózÂtL8ûíüù§ƒb™9©÷¿îÊ%q¹«—ƒ²«Šôƒ·¨ý²Ô[Å{´.Qª ,~·ñHŠÚ\“Ì¢iFRc‚ªsyG­aÙ|Þ#¢c1¯™™Ä ýî·ã;.í¥ä‹§–؈E=„šYXTƒr0×é¤|OÓlÅí÷¯Ñúëˆ|/EŒfª²làiGaÿÒgµx,_Ö)fV“…Þ4ÕÙRôòŒë“ƒqzD,6ƒé[ÊÅ™ÿÅfT¢¬,–wØ¢-^åŒ`ñ˜S É‘:Ñ&L‹8÷ ˜¿F| ØÍu`ªe4×¢þ©ÞÆ'4¸ÃÑ:¸Õ­vßÐä°¸1ÿbB @]·za.˜[D¥‡•vŠ]¹°šœé 6…ò¤Qå¶€ºKäÁ¢˜)ÓO2ñ@A ^I¨¨KŽoQ³·uù5üª®áÍ· ŸŒO³(TBU…xؘloÎqSd¡˜RþÈD4; @2*­hìo&8ß\µ| ±øŸ;DÄ„×7C÷Ë\÷ü]]ø&ôò¯SùÀê¼ w8Šp/=—Ú4¸QûÙx€Üœ°Ä4Mö™²Ì²uÃç£mXަ#Ïp4÷§7o‹cxY½D"q:LŠ"ƒöá„ئ Ç™u|Ó¯ªù×Õk2ý§ìŸà[S±Âñ>G€ƒ ¸7ù.A­Õ>i@¶˜{²T,?ÚHE7’5U Õ^÷×] (ñp3 6”bÜá¦èOÛöé/ù†‘žðoÏÚgîuª¨HÔ:(gfüc¬§‚ YgÙÕ?¨2š0`Ü¿‘àc¨ šc(¤FÒm^ò 䌒€VÕU0/ÓÃ2UÀ.¸×“`éW’8œ•U'}Ýöåú}eîmz;t¢4gU6Ÿ‹ÊVª)ŽŒ1ÁÐâáì”66ŽÏý‰8t7fRÿy¹ìŽª”±³TTÍaaúÒ ùÀ¤f:ŽEG1é;l˜&ZòWHkg¸—ÄÕ§ÕÙy¥sç·1ĹKDG>=ľ/e¤*qn¸&f¬ãÐbÏà¹ZT€Ý†Ú‘’኉”$ëÖƒ(åsâœ'§Ñ·òÿ3„LS“9)ê ®°0(7/4ßüvjtsÊŸ*'ô‘k©îZ¿Éáà1<ô•+/5`úü§J¾šæ™ó™˜Þ khL#mÀÙ’\ ûa‰#Ì ‹®~÷KÂ"C&ƒŽýÒ…*LÃsùýyæ">Ûôi×¼ië#n0•–›Ôu‰ß:gµ‡üf@2Ú&c‹±FqœÞdùÊઢ$ÓRÑÃÄV7kšÓ[vDN˜’Gö=L/†çU$ÀÆÏÝ×wv^Š§Ý™isi÷:­ѧ ¼’5öuŒàR2R,Õ:uä¶.Î…ä  £*'Æç¢ ³ -Ó ­`þÏ`dtK¼+ìPw·oí¾Í.›!ÿŠpcEgB–FM§F«àëôÐ|ofÐÎa‹oDB5Ë0 ó’ýñ]Ñ•ž´ìðhx}[.)‹Æ_H³æQ(~Ú¦+¶€æŸšÿ÷¹+ÐÄú9ÆI¬âã¾Õ\®ri ÎÀk€Âps¿ZÇ ëfæòûtkîuºB!-*Zjœ£œá[ý1ÁéÈjX5±ÄÓtA¤ÙèªÄèF‰jEg´CI—† _„ÿ¼pN¾ÿ i­N4ôIRêˆëtHºK(ÖeW¸%Ô«A¶§¾"ÿ3Ÿ)µÄR.-<gDóŽù;n{ÌÞL #©!g.AÔÖÏ®[.­Sä÷‰<& qNhA/ÉTýV‡¸IáïEc‹JyèÕ—Fª(&>Úb"“³Ï¼‰3É÷Ô–?Òêjcëà½3Å{`Z‚é·ëâ.ÆjÜÔæ¥Î¢ðFã•h%ޏûÆq‹ðÌëIRŒîù?Õ¤bÂÝK¸}ÛóÀçóèÊ5Û"—R_¹{ñè6jß$‹þV¼A×"?àûš3nf.ÂgûÛ:Í1¯\ÿHþ±\üÂkÑVòp q.Š¿«’ºžV0ÛϪ›ÒôÅ“íóaõz\ß&-º³l†•‘ÛÚµãÂ-€Ë§Ül.  òNŽÙW¸´ïƒÜgˆ¥×Prör°÷púT\ª”½.¦“‚\Š óý§ Ï„ÁkÈ'Ì¡'V™XãÉH]*›/ôbZ»ý¨d…ˆ{ ›õÿG'EâêNJ3IalàåñÉ¢~3Æ-{§±>±ÈQá³5^Í|!õ%pÁyvŠJõL_¿ ûRÿM¡‘82ÔÙœ¤ Øüõç|»®Oi„ », â$œ'vÜêkZ”ù£#¸¿ÎE€Í‡¢Wùzc3ö$ü?uÖó6äÒXº„³&”ÝŒ—©m‰svœsNª¡vÃõ.yO;òðmbŠå'J—úƒÎßï´wêÚ‡ýn-n4 Ž˜wQ@WóßVØäþ\ª ÁŽp€£¾ê¹V¸¢þ”Ðr¥|0Í !E@ ™œèG«XŒQ¤;`åúÆì!ÐhÇÐUk°<ž}£&^mŠçg®B1Mcjã"ƒ¿“Yû³ßPëØŠJA; ßï›$Dâç ÏÑloô ÊÌ>eþ˜—4ËÃ÷Ò×vÜ]9×b$ØR‹ð) ‹ü_Í<5-l|-ÛÐÞ’ªwOíKTÑ©?eJ\ÃYZ®8fÿò¬>UÑŸø¢Çk=;4ÇýðŸåîÀ÷bG]3 Þäw´Òæ\.¿G-€n ®“eâZÄáx¾ª)iƃÑw’l”s/U¸^s §Œ„çnáß„b}â¯Æðý´¯ïÞ­â-•릯‘óåY}4I§¸ŠËa¼ûÑ6‡–V%ÿŽ­Q‡ùSü-ö°$%ÇÙ0ÖæÊÔIâÙ§Û„¹Ç(,½–º}ò Jv­“{ò~ªK²ôc@5&±Å>F?JKvË‘ÛÛ¿´0¬ÀTöø¯GıÜÅöyé0lh™ý*§{{³0Ü,†U¢Bz~õB—ÍaÅjt ZH†$¬ºãZÅ&w™ôCƒì.hSôg¥k$ÿ(-à ­ª KÀ Ç„š™wrsK=!TYFðæ«Ówé½A…ªÍƒbK7È€Ò¦1šž¦I‰\ÖzÎÍÖ²M»ÒdáŒ0ÚlŠ@WǺ«£1(îÞÀå0ýó²îØáK^ž¬AÁëå(mJ6¹\äU@6ãR”@ ÅÒ…ûǤâmúùQ–ǃÓ$7!° ¶ƒ´ØUc­sýW“¿ ƒèŸå P3Ìòeå:[iz’ÊG¼pµoA°n`À20󻨃р|‰å,wc̾üµÖú~–+ÖŒHáÎ'ÊÖ±M-Ðßöû?g¯7Eˆ1Ew_B)¶i«ÄœÍÅ8ðgm %¬ä¾æ7þUÊ¿û§FwS|ÇŒœT4ï'™o€v …ä†Ü®¦†Ybçÿy ŒH'øGùV/á>2)Ã)´ý.¼¸*”l«’×_Ø0DX-‚V!øTu(3ÁÄ"ì,”^5ìź~Ým€{SÕix 6¤¦."é>0mDõSø»ž ‚…q~ÌB=à¹kÏxüVMQK˜ý2aj†M‘¸Xhc€¬UêÚ½n\ áçåˆ Rc’%„æ.A¨'·Þ+˜Å+õ‚$‹_ü6Á‡¢ãh“ ¢N³f8ªW”+bð•,3¢•¤ÙÈ~y¿"”Ï/],Ø2)X…á(m ëÔš>®ý˜<~˜—¡È=2nr¹ÿ}¼}‹'®DJÜ$È ª™DS+ø£ á|æê0hâ^Çt•8‡•æ‹ 4M¥õ-odtÕ ü|L?$1”ÀB®Ó»-‚¬|—åQF÷taËÚ†VŠÄc"dÍ!…JýwÖ‡^úªçÊÒãvë”t&Òl­B‘KYP\CHØ™ 8ófH‡¤éó$К$+ÈK5ر©¢&)†w%³gÈçkN÷ÑAüçºë½ÿtæ –Q¯Ëm2×Ý_™§iñ[Ñ‘¤_ ,þ=µWØ:;þ>½im°$G–‚½mì>œ)"ró’úiî« +ay~’çc>!ëÒã¹0hº(kTÕtÙ:ò%uçŠÿpób+ aç5&楺W³õû§B¥`'¸>{wíd?5È~Ô‰ @«…t”8#IÒ€ ×Cù9Hùƒëý©Ù¯áÂq™$A!ºÎ>ó~ ã&´õTŸÃ@_ð3¥"üé™+5ZÔäâí.8×媖çk¢ˆ …øY׿Vtü)ÖÎ"¥ê7Q·jq§^ï"ûw1®s¹–Ú¨3sfêÝŒ+ŽÁnÄ*‡Êóä¯1p颤ï &ìû¨ÍŠîPââ'IjŸ™Ç‚úïg*{” Øi"†•Ù1á«i%{Þ)p9±ÄÄW9·WI_ ¢ µì ‰wþUÑãÔvÕÂæ]=…ÑX#‰h]D{¾ÛCÃ:‘u×üGÄIâðÙI;¦Žp®Çtå3ç"7Eó÷”8÷4'Ò‰ûØ’ ºÜ7<'ǹÝÄ…JÜþû—Í-cðûûï*üéÜ¥Ó=·2³½ÛT®…ä™.o[FzAñ%ÐX`2tésZ¤áWZQô“ù”ír«eìáJ¤Jcºs>¡h&g´N` ÿ‚>S  Ì’~ç`Tq¿x6õÆ'ÎÚXR9qDKU€rè`ÉB@`ºâ¿^—<¹"‹`RëíÀ è´ôdm`÷_Ž]₌ƈ]#ç=âþïÜ3ލe™E¡÷¯6÷çä°éó4 Sné9áÉQUDIªè<ƒ#U(ðÑðÑ@$è\5QÍD<¼´Pñã±5Ò¹.r» Ï3²4¹Äv ¤€÷V_³ƒ³N(UxæÐ|Ò eÆÓÙ‡­Œ‡xðØN¡•Éd#]pGY"ñ}ª.˜ZìZ¥~Úè_–çU³¢3MB»kÖ’NLf( Öq¼ŠN8@}É$%Ûê f=[¼x<b…Ã4ó¡7pøg©*œj\·?CüÔäs‰†~´uæl[5™?¸¢Î}…FB£Ek!/a½>½\ãÆºäÁÊyŒ ) 欕¿`ð @™Œ2…îa–óضqîµÒU2b,Dë½jËžêžÈ©D'¦•ÖmB£FIqœà™6íÔà̲K"\ÚØ-žDv`ÐúöÌA3Àâh‹h£Ù…®–þ”üø…êt »-WBG²eD$>bÇsîbÇ_™èz¹¾¾Ô"äMäܪTZrLÞ êdÓ˜’ËRÂ"ÈÓfŸóð[D–0:Á"Þä£[\L¾•CÄ<Þ–£¸ƒ•|Ð!Êp °¥R}ª’f·;¥à¨,µ³üKE×<·pÈ¥vâ¨W×±z¿ 5æð‡¾,ÔÔD+qxz[™' ˜DyÊ\-ƒâïr µ¨ Ÿ'ÙfÉPáZé{Úoàó^Óõ!†PE`X_ɲÙl¿–~WáB=Ó}ŠùNô²9âIrcö‡/#y ºÊOê^Öë§8 ‰*Ýus~ø$ÝE8¶û{¦âFrôBþâÃYðÔ{®ä©W#+_ôt¤'³¦:­c°ÀjàóÕ£½ÇEá’i%PGÙ‡µýÕ¦ ìÚ µoe@Ÿ‡#Õé´<‹øÖ¬E,½o:ôDœÎùç¡áýÖa¨§ÝÜT@÷£-9wñcX-¢UÐÿZ:þkM6 öжwâ`Š08ùì¯-ú»#—!ã ·vDz±´,Z–"È®©BÙ7 ^DŠëàЖ™ŽŽj—F–pÞ¹$ËT°x*¶‚ìGŠ2̘cðjïáV_Qžç@뾨˜aâ\×í¤­¶8Áì µ£®*kr·?AÓKдB¦K‘â˜][b…ðü: Œ ì×z×/ô2é2C»Eõ|j þÓÌgÒº#ѳ³2Êu=*âê6©Š£§[¤ã&«;Î;éŸbz¥ÁâÚ‰b`bnjjiÑëçé›Å±B,Û.{’…AZÀ8Áïo?‹ÑÄ™#ãœÕnò2ÌúŒí\Æì »2àvJv|ÃPf•Íø¢i“Ƶ¢Lîª@‹“Ae;îðn"Ýù¢ ‚¸sˆ ŽÜZÉ{rÌÆ&;P¨p+†ÈR¸äØþ<¦ù¶Ê·%¥²õ‡t‚‰ù=Eýzjd.àŽM³¶.ÇŸpßÁ–qE[}œ¬ÿ?‹qß¿Ö*a”Ιt´Ë‡$ûTŠÑ§—.)0Š'çÿës±0±Âø‰%öß5Ñî’U¿ÒEt'®sâf‡ 4(Ùuct~N,‰‘¼l 'kæaÑ‚ À.MaG¥ËOUu†LÀÐvÃ|ˆ¢#òm±àŽ |ЈãQI…ù°M2‹/iôíø‚sð)¾a.Hä͡۵͡ ­,l_û»¥œï #£ûY³ý?ƒ¿Ýå-¬ËP¸ç¬ûTcÉ2ŠÐ]®÷hîëÕ°š„rrýx#»Ï﫪õ£~‹¦™×–†Äu4¹»yfª_¸ý}€À ä3‹n´­}*i’ÅŒ®?ÂAøVög†Ís̓ñ«“{d=2ÎõG*Íq\LSK;¢¡ JÓ{·$ÒDqÈl™<ãÏ=PEÁëšØ}·_¢.Ì*Û‰_¹M½‡æùðý—’ÿÇðNJ\̧ÃŽÉ|6-À ´œ¨Dã|0ÉÚš6nÔû6)‹¾ÔØö©ÕÄ`ÖQdåÚìC×@ïØO":©pÖ´ÝÈÀ¨Iáõ‘Ï®]A \oÕ¥ËÞÚ¶°„ÖvcŒŸ-ýï«õTšøl´&„%Lª@|í3]É‹C =ƒ÷@¨*¡k'©Þ·àv;-¶¹Àà9'Òì ßú/+FÆ>+4)×G*šÀq3U1ævf[-dùpž+–y6lxÏ@Äᆡ³ÔvÝ0ϵß4_ߥl-ÇAùyÊO 6`—7Ãõe.]ÓS3RTwP9‹Ü_aÛ¥áCߘöjÙj€­åêS¡#M[Ju_ûŒ¤¹s¨÷ñ(½„AµÕJê Ó$äëÙš¹¥˜:¶ÞÚ¤>}„%NXht”q^J¡Bà.äÚ0ä§\Pó aPqÁ¾eÏѰ"+DaÑ7Žë§°pkëdA¼äðüþI6·jâ¥ÇIˆ >ÏÞOŠèH9Ú7Í»ã‹-ˆÒÝ\²’^©«¼ìå ‹gÖØÖ£S ‚~$¨’Ñ®ÒHG]6/À€>¶LBQvÆ‚µÞFW‘L·bþë.V3ÀB¡¤*DbM¸ÉÁ„–ö½„§,±÷éF (Ž7lÒ`GÙžišùà-k̈±çFiæ‘m,À°tê&ê…²Ðc20k8WA ÔŽAIqþº®ÿñ/€D&Üo`=ýıX›Ò R"{p³U/8 ®ô[À‚zq‰d#¬&A¹ÿz[³ ûÖÝfWT¼ê'ïþ]ò“r÷Ü9Y%U¨ò7‰$·é~SØ»“$6õ‘ø`TYÿ9h±•‘ñäÛÛ¿ ”y×ÃମööÓŠ§ˆe ¾Ï3eA?jq¾÷ìè“aÒ)›”” 1­XöK(A.Çy»€°öîñÈpPÀ!LèêS;F÷_‘<$™³ ,2o¬(A_ „IL”ãçBpóÂ:ãXÇ€œžk!4–¸Lš~Æù„øQ´wÍ&=¾±@‹v‚U¨£“Gøí¼M—ú#Õ*sNèû9mõÅ%gÇ´©úb4æÚÑÅ2ÏY]t©éN†t9x¯Ù@Î0Ÿ IP‘¥wÆ8¤U¿Ü#m¾4z`W°™ Šœ¬ÂéXr#E Ý0Md¹sàB¤?oLxyA¦“û”Ë. ýúŸÃÌm%ð²`>Soá-îDæÙN‘ÆÊõ‹r¡j3ß7#y†à¶¢^áNÿ®—H1,æÔ²ïLv$‡ÿ44Ò‚cŒHg'²×ÂZð Œcá”P pËc”õàüªq§Ê±¾HS³¶=4•óîÛ÷ß7@A!„N?Å|ú)àêåL³Þ+Š;üX:äëÛRakë-¹h§µÛ?º£Å˜­íД”ádð±K`7«ÌyþÅT8ÂæE{‡m>™^^[?’ðÓ×¾*ß~ mƒv JÝ›ÒC™‡™áÿè«çb!,7ØkÈ–›ò‘¶9:/à¨{ƒ ª%O†¯\v4Ë ²®#ݨ™ñ›.Õ|nÖRnvüõdwL9¸ãÆv‚YãÌ”5‰šêùXŠj;{l7¢Y–Ìg™ÙS×U†¤;9XÎáJ×íÜçó“òÐ%ßÑ/_Û.ÿ)Bâ¨ÿ5[+zÞ+!YÓþß›çµDCß§©.QØ)6ôË—4ÊUÛuˆÀZè¥'†›wz žÞ¯Ì™}àâTÄËwànà£2Ž\9LÄÓ!{'ÎZÛÖk¥™´Z^Ô ­Ð‰œ¥'2¿ô˜g…eÈ^´Ÿx?å{ân•üÂõ—Õ=«•Øî¸B£ß¢òñ"D}’ù/7H›4»€p(zty>wà5À²*/ ?K5à]‡…¯ˆ&|ŸtÊ?Ø*Sù-bÕôÕ^“êä ùÝMÎKZZÎϯ‚ç_Y»tõü¸9¼¹ê59V˜’þè:¹6‹¼Ë1CŠms°A”Awë” ÓæŸTëâ\q¡^ÊMÈÓŠqî ÀH^+æI ²¬ë®Í\êÇxV56r¡«bŸ7Ä Îðy\]Û›Y ¡#9dAAïMùíÌþ™ ÆÀñ€^*«xñi#©ÀÊǸ@CŸÖ"b•o%e£`Ž>&`gþš N÷ õ“åÚ³÷áú¢µÍ½ëšýMŨ¾DE{²ÝØ¢imk“…î=öÀÁùLš¤T6ÿ®ü_°"'×nZ=kÊøÞñŒšµö¾=ÿL!®3‡]¥å Ú ¤Ú¶Øç¦îfÝb×ø' °Å£¨x¼­Û/"CÏbÖè÷ÐÄ-ùë~ÔÁô¥ªCCí@7NiN êäƒtó•ÊP` Ú°.>¯v]˜ËŽt¯—¿Jî4¶e&ƒtXx@ªRƒ[Pø`ºyG·ª‹úèÊf™<ŠÿùÆÂ]/C ¶¨tP´Öú ÿJÊ:§hAçøi¿ÛÀ¹^ù‘œ¿79ÿuê+•¦Êø—vq&(˜£ ˜‡Öš]–Aú¤2oþ0–†ÖPQŽb±5ûú¸~ãîøÇ% zM¦mÓ|çùߊß7`ra³™Ý õˉ[©B3R‚8"åQ¤ÞÎ)ßdàßoSWàvS7òïÿœú`Š¦Ýª([YÐåˆí©‚•ø2hÊ… —àuŒ4Žä@qi± +6ò¶Sìõ2R€QkU!q€äéö·¡Ép¾"wäAWXç½,ÚC×ÙÝ:Êã( O^7Ï0‘™v¡7 pP62›fg¼.Ö;j_ÍÒ¡ Œé].3ÐöÿUÌjiÃYí-å·aŒuyÆÙ0¸Öç4Ͱ¢ kWg²ö`‹©B;:`Å;\ȼŒœÓŠÜ†Ôºâ«#¾ç×&aÒ™’bƒOÜ H¦—Rh¡ŒÒýæV¼ôt´Ñ[÷*~TÑàKÁ‚Ù9°š•aHŽæn¡¼L…Q\¡Ìœãl®#áPtmš/žjÇÅÿ:c­t¯ÙLÚ†wöPÆ<Õ׈sÍÒŠX»5hÖ²´5  þz¦fÙ$ê‡Ç3[ésžZÙñõƒp¾ÀœOÑ…:….³|Š‚Dúý"I ü3ÚÚ}kÖ¸Ä#»òLΔI|¡RŽphüöèÆôEµäWA~ì~Ù ýàZôj‚|ulºìâkšòL±T y-ÞÃ[Š(aºàvyD ûó} iR*¤ÒI‚—S,àò$'k)CDL à`ÚNú®F/yO¶ã2º¬°ï´ÃšFîˆ!²KÇPP&pˆú`P.âgxŽ]§IMöýÞÃÅ)zœ¢ñ¼ñÕ‚µ° "£W-;_Â¥Qdüwõ…“;÷¬XØHwž"ã \Añèß"[4[À—7D©8æ ÑÆ[´žM]ØÀýF632ýÉmž! ”}{“i,nÝ•Íq¯ §Z–ïg®å7Xœ‡œ-X©–I–„Ìfó¿_ya_–?]$8HÍV1ª»¡â^ª‹·Eªëí¯ƒîó†˜öÏÐú÷‡²­k¶]5Ë«V%ÞÀaZíõ\¦$mµ0<G×9ç ¾°pˆ\ÓGNààSV$Ò6&ã¢ìôcêQ­TèD+í3Åäv{£3n‡“gÉVuöÖš “-Uã—>Jø¼©õkKë· Å±„™r|•5ܪ?­žj?‚ Åø¨à®0ÿž Sr0É€.Ô¸ºdw¿½¯•ÿy×Ë3ʼ-ü_q7(#9lJ+÷¯LKd¿ÉÄZUÝÃÓ†g%ƒÅy5ËðäÜIšk0µ¨Œ¤V 3zát.tÕºtæV„MŠ ;ù6X±<7ßÎÒö^$CWôBSîÛ: êÁº£fŸœ”|ñyÛ(â5”ðïË}‰mSÈN ë¦'g;µD˜¸;¬ Ï ¬ì¥ûIö‡¥¨<,Ÿ•"0L; ÉÝP@[9Ϭ>(TÅž{íßÜUޱ”ê`2aäüòÆC]]>'‡W‹Ä‰Çó°³ýUù„pð¬©ü½kæ&žÖ—)ÌèœNRÍbg#~þ|(íUnŸ%åœñ„¦˜E B•mÌÍ 6m¬Ç|‘íÈ3~8@G±ÜãõÐÈä r]³6:¿’¯xÊÑìÌf‘Ã÷[$”Ó =N€B‚ŸI·„$>[祳 DÁ|t®NËö6ø-G`‚Þ=ê2¤¯ªÃØAÞ›QŽJEÍxoøKª"±\Û~ӸΌ€«â{"¡œ$•ÿ>Vl;ïnQ|\X¦*×’Ü“Šf– 0þŠ%Rç 鿣!W>}¤™Ex±¼c  >,í V…«‹½Ÿ9vD­ˆA””í„]Ónb‰}`ßqÊC çS«(nÓS”KÄò)UxDä•h, ¹ý¸RQNb)kU‹J|À‰'wãþü5ËPºœi 1+ÎæR2vš{R" W®xCB»Áox N•s;—w.ºG‹GÈŠ× 3€íôŠ2ÇPäòëNh`Ð)*¿³:Di÷“ ÌE :‡ßÖô~ÌÛ¨SL™jÔ=0µzÍnu„ÿä>!HwåA˜ 6»ïÝMî°yA@¬ÌýŒ`ã’vÙxN¡SGCƒCy­8yÉþÈ—àöƒŠ€Ë¡7Ça¿á­ÜO‘„ärcæ”ÃG‡Rå¦>RjÆlÁß_äÿ¼›ªˆ¶äùƬ߰Óý:{ȻձB\^¨‡ñvÇ“âÚ•½]Õ•p¶wŸŽBwå|º˜ÖrÄ­9 gMÌ 5¹Õ¬|1Œ²ÆL –Fª%óò·àÊ¥‚zê­S@{Fý\s9ƒÖyûåøâ穹Åxﺰkn!w7r&ޝ^d>fïjåèU ,  !-‰ËÂsûÒ hÆ!ØŒ™  [5ïûQ÷”€¶s,‡ç‰‘¡1G"¶¡u• S wTj£ÿ7¼Xò &ý•»Ãåÿ9z;ÎxN›Þi2IôC,.ü¨Âûtîh#ov’af‚?i`ÓÒ/’ªb4ì¼Tq®VUï"¦WG$™`lcdxìÖ»æ—ÆgžèUÀ>xj@ð:¾ãȦá=p°xRbãn±ÐL ~ ^™äûD?=ë†nì]©K†Å©a"Ă˥Ô]'m}†ï$÷lÒöâ7­>T2§‹wÎwö8}›ö¢O,ªmƒ4™¸¯›†­,ç&§1~TÖìmÑ¡Š÷ –éÊýíU»µáz.ªžL<2Ž­Ú†ÁëO¢ Sv ۻĶ‹¯ ƒÐi97DÓ—ÅéîEçºU¼tŸ¨ö,¹9—ÔÔãïR¼eÏ“\')´¥Þ;…1ÂËÿoÙŽÌp >KæR¥Ì‘˜'ºcM%‡Â£vÂýƒ\qñaqmæêWÉ……Gç bÀyšºU°½÷— Þ»±ÀÉÍpš"zàì<•#»ç·[ÌG|)Pœ»@Ï.µ@hÞr”¨bdc¼ ÑëcF‹©^ÁUºlèËOÝ Š°µ1Îã°÷~yz­u‚*ž/ý팥Vkžp4ðyû¿Á¸DÇ÷6Ÿ~rÕ`ç3/°’/÷mÝ ˜rd8g±±’:UTKDõ­E±uËR‡i3¥Œw©(‚¼ —ÌèÞ*HË=·~:”dWyŸy)ðàz_®Ü}EªŸð”ÇHo ôêÀClpóÑ‚}’"Xí¹J÷´iÞµ_T r°S˜{–§\ðê&7^·0æG³•¨@tÑxFCÏ^˜03ó’ˆXCŽù• …û+ixº©LH@-Ïhè™PÌk>ê6.P£j#›m·ç*~\ËãF!ÛÅÀ‡&y†ëa¾ IÁ yŠFµ·ãU¹ˆ­ŠŽóhª­£jhö­„­Öš WØ3¦ï\€±pÜhìí"['L{)v,Hë`‘>OUc@ºÔLºŒVÌõéß¿¼Ÿ‡öoP‚ó3šlñ]_ùrF˜8ƒŠótã?¥O K&œ’0ßÄàCe”ÜD&@­À¯¿7ŸC¤)†A-ï=Z/£DO?‹ØäöÖ« ‡:ð«‰3ã û#iõJÓßÖãÐÊÊ 3cñq_˺U7ømçO¡¿zs“ÄÑ–W³ý¦â ¬ïPƒ Be˪”ÌDjêÇU>ô G³zÅSÚ%ú"­CæÈ©]Ùñ5²Ëc‡ QëÉžkÀ.Œ£\­lÛžŸ’’ÂgÓª"oªz¯ýJðN.õU8ˆƒ›É½i¦Ú€2™‰ŒC9xñäAS‡ÉoÑò Pƒm2Ó*á4ôOO:@ä£ÖŒPÈœ iôÍ1†ƒÉ¶Ô<¸qùáW °³G›m\OÝðä¯eܬÇÇå)Ã'\8H_} ¸´R‰4ë¨éê¦~­“á,!,«Ø”ÇMkž‘öOþ£Fk9{hÞi‰a¼û“#\ͦêë mú¤P7QL¸¦}âu³«`0K]­]hW6§H–GW`ÎÑêõ6¥ü¥ŽÌ‡èï!oÞúÊxe ”“bÌíÒ&ñ/òc振O<«¸OŒ·me¦¢ [Ké¨ÐÅì(™%\«§ žR9:,„O@_ý»¢0x—”|ŽWMb³|ÑP]Q?Ÿs’‰vðRk N§»Ôº0Å5y:“ºÂNCçeݸŽl]„ÆÔ4é6 ¨;-kc3 IéTm—ó\%&…E$Šë!û9šø×³®Å"}ÇEàjS2ȯNiXî šåÑ=¤—OˆüÿíyÕèk2©8þ<^vÅŽÐÔ$¥åèžÔF{ü¹FÞ<v^ÈÖ·SUš¡ná;Ž[‡=Í…¶¶s¶”ªKoµj¸0Cø²˜³³Æ~“ïU™åÇËÍŸ »â"ñ 0i…p€…à«!ðã5ÍP±!”¦—©(O]Š” "ÏòsÁU–öúšØ.ŽÏo@:½’ Yx:H«nOtsoE*—m‰¸x+;Ïu>ÞTög Bž­ñ>ã~{†ÿÝí[FÅÓX_d W‰Â#'E[‰î±Çºœ s&  þÓ"Mý¤¾ÐÈ—ù×~%†6ºýÒ°TçIÙÜÿ 6¼Þ#°;ëo¹MHžŽªûKÄ»rRmþ‘cK£R45yù}3Øy|Ú˜¤I Ÿñæ^`ØF[âîÕÕí°lgB1ÿŸÝØEKμSwÇ5r„w«™q¨ƒR=~ƒš ë"+ÆC:];íùsÑîc9Åë(ì»}šÃºcbk-¶ÃsÌlËß‚"G©ß<Â26sH˜¯²̇>›%dÂ$L§cöÒÌÍ,šˆRi§”@@³ îhX?A8¹v(éÊ£dJ¶ïíEWÀ!+ß[1È-7$nðf~¦½©ú=j¦´tv¨ þÑíÖÍítO°$ÑÔ…ìäUÑÊ’ðµ5=3„'.˜pÅyXà1C]mЇ;¹3îA@ƈ%§Î/ C‹ûèå&íÿº°èîæ‰žÀ…A“Í[P>r@;i˜»&}"©ÞŠlœ>×"<Á@>uü(°ƒèel¡Üñb©^ &KT­.6ÛMò4ž÷gI…>èVG®sƒkÝ;¹³]qÓ¦¼¿é$fé–®ÄÓIê0{Ä“¸¼¨’åô3nˆÜígeO {¤ºÙ¤‡Œn­F<¥;:-™bÝ!:ê»V3].VTƒ)2Añgƒ v>¹B‚HÃ4<àfªs½Y æ|4fá#1“(–ù#C¸ ¦IU,{©ýè2÷¬MôeĆީîøvÆtx ¬UïÏ&ñ:QåYÐæµÅ$ÔÐíÝV)mQ¬òZûv×òÎߊò_Ö,=±`ã)weÎ7u–;‡§Å1‚z@Ž,ŽqŽŒpÅ>ÏØ&áTÜbª@ØÆ`Aœi,!ÍÓºÕÞÊš6"ôÑ›"ÁЬo’Â|GfÃ>š·nÇØÙ†ÄHySÉ.°ü«ä‘2ïü ¯Faov¨”ÅÚ«LÈ×F¿>¾ý· Û³&6’íXáy—øjÔžGQ»ûª‚S·:ÚD;<[õ°z‚ÙlYÅM(g—Ön6Ìéã÷ Ç%îKIÀ£Ç4*o ½5~%îeä–¼ÄS—Më²C¨”Ó{‹Í;¥Ï4ô¬BYbøã‚o²¢º€8Pþ3ª ½“»­’?”þ2•°a,zÇö˜HàqQËqÅF_XLÙn–Ô}F T²)_7¥':I8]üÕÆÐu~nçØoœžò·‡s•æ·Âª2‡(ÖŸQò]Afîõ·{¹‹êÁ‡³_+³´g¿(zÖ¥©õjðØSã:L¸DÔ5÷?—Uq¿Lùß;XmGYÂl`³×õ*ˆûª–ÀƉ)¶0È€±AHÁŒÓø „áþwº“QÏkŸ·A]ôã»7_k³D»á<0ëB;@¢YE6NæPJ±LCkDP¦˜`I9>>êImé‰L—aîƒ{?xƒ;©µšÒÕsÍ\wy·(j÷‘íq#NîúË-‚F\HX¿ý®ý»ã[ç*¶¢5µ½Úê.‘wЀ?±ü+Ç1[f¯Uo€PZH2·~u`ÂÝk9©¡ ÀúÕÆ+ȲÜL[­—)Å(ÃÔX4ô¶`WeïÃý¡Dïµ=B#íC™vñi=ÇK“ ðûøÝñvúb *‚¤¿ÿ1ǹá\ò¨Š¾7–AŸ^û›n2yqÀ;ä œA¯EÌÓÖÅýŽ%à*ÉiAm–f¥È/KíÕ)ŠI!uø 暢‰À÷gêI3÷z©€êð ï1šêWrµßÚ&²÷þ”½z èëoHÈócq—ÂÇ@l·m\Ðêê¾6Ÿ/‚\É«hMåww¬èf(ÚÚÞN2¹½†ªòý®ƒoÚ³¡Š9ôhÓ¹mˆýO&ÞqpãÆiwNÆ{_M]ÚTy[×ï/Ü™¦i2•–/Àÿ*èB­|¬^ 5°îµµz´ýÖbá\6W%LŽé–¿Á[| ך¼z¬}ŠNX:æ-žUÄÓÝÂä¥bÀÄJÔ y4írAù¼ó%–¦].秦 åO˜¹Ñ“ŒFpr;f°ÿ±úºV§š,ÑŒ¢"5UÊýƒPË'ûÏéT‹R}3 ìO7›í£]>t;™B©SJ§Ë±æ3ùë?݉ûµ¶_5­7ß©%ýþÌ^臠cFÈ;а÷W¿Û˜U„»ìÙ¦Ê ‰.ñóªö¸ý`E²›é¾q£„ð± œ{#­ö%šP"œÅ_v1A&À{ŸÔÄ‚ëåÎ +K+£Z'Ô×ov eo÷Æ›;•Õ›¥½kDu@`%÷+üqbç¢VèÍ3»’Iê*uÌþ× Ê﬊¬Ç­l‘ßµýP’àT0ð„ ™\Ã6æ>®”{ÉÒ“t[@¦[ÎØÖµ:-áF˜#‡z>¥4`—å¦Ëò€÷Ê ×ÌÛ^/©Ù>p¢ÆÀÔLº‹—ý.û s¦XV·Ôn¶KWÅB¡°¿™zfé+‰XçïFŸ<ÛíS™f‰€±Ÿ¢8I8¨²ÙÐÏ.HäE÷8¤U»~›[)=Î%¤%r ê…•V(؆I†¥u¥Vg÷A„¦ÅºÈv ú¿×# žðí3;ÎGàì+Ð;Õκýêxª±Ô,§o,ºò3Ä_©ýΈ„nVT+é’E€&´´…Aøó ;}h¸nð´¬yp­j2XçNÛ†Ïãßâ”8[*øk6¡®ð¶˜¤gtû<üÍü?”²³R”Q̹Ùj UÏÍ"áô#{øq5Š<ßl éÞ¥¿îuhðyhèwwb+·‘æEëtëç\šƒYÖä¦AîøVˆÏˆmýù%3&Êš)<Ы¨•Õ‰”ŠP΂håï–Ͱs×jßPµ¬ZÝ` €Âß®1Êo±¹àì‹*˜{VÕjà£Çî7Ù϶Óç* ƒÁWq¤L6³Ìm´&Gf¨­VL%ßÌ(èŠÑí ¼F;¢‚-ôaj?ãБÄò¬5ü¥+€È “ o‚«¢è¶;´Ütü$(+[;'~ /+®Õ|TR(z oGB„”·Â?}|ß°þFÃõRJEy/t,ò´Z Í‹œ™RÝX€ŸÊ“!àÓT…•~6¼O¯ðûš(„Bîpà ÿÌjNØÞ‘6`°´î¦•Lè@RŸpÄŠÆt–ù½¡væINò œTùlJêFìþš¦®ÞÌQתPcJTyRZ­ª|VZúC‰‰œ—ív,Ô:xÚ‰ 5'ëu^˜¸N#ñ\ÜÆE—T^eWÐ>”âz6›sûzì' 8éØWغ.gê>EðÒï\þ>O0ÇôIRÅX#ƒØ…:É»)xÔ£Oë[¨Z¿`K§ZZhNž ©æ´8~¼\«¨µ”vÃ…™ãL1ó!VJ%#îö!ÜC§d6<ëMÄ_éÔ©#‚a;´|¨œA$åC$%=\â(ün'Í ±Ë­-‹˜î²âØÕ?ÄMívû] õ SqTxàN•ï„®òýÄóCZ4—Qî àê6AJïht²ø¿§…Qéÿù¯h§“øëía£PÀMíz òæ#¡uxÁØû}¾Ågü “¾6ÉUé[‹šH'Vqò¡Ž S^Ìâ˯O×^˜a¨± :Õ_¼£H+¾ADå«$¹ €Í{ÞéÌPÑñ²“ÛÛµ‘Û2§°VHHÌ1és?”©Ö}LÀo)äâá# £´: ÜžÞÓ.ˆ2:}Ü ¯!!•X¡[òÈ®'¾´˜DóÅqž‚ì“à&ßXM;­q¤ ó8púEî½®Þ¹‰Óþòª®qAn›âö—»V±é÷D]ê?P˜Š9n"3 §E¡àQ{Gæ¹ÆiQBú9È-Þ¡ßö e.输]™!§&Žu [™ÇJAHKJj$p„Ù½IÛÁ¼K‹:’G:E“* ”òÏ£¿I|Óé#7A³Í©þ dtÇ.SÎ5×!Ì•Î*Œz0¸d´½–KÄ¿­¯/6F}¨zìžÄ×_`Ìß4ÉU9_‘̇–Š7ð=Äz¶z…’ ®l¢ ;FnšÙLÙºª³?Äeápö¶¢F·î*‘ÀÈ]9 „õÒ®±”ý˜üúbÕ¤\“ c]ì…8~#þœ[Îuh½Ö6¸†8ô¦úÛ_nk4êêOºë>*ÍrÙ²1' ÖŒfK²¤¥¿Àn߸8‘Q­NWO+ÎД™¢El ³–‡AVhUUÈÔ¶ú0õþ_å1ÉÙŸƒ‚šdŸÍüpñže‚f¬E2c,6Ší¸›‰Ëw¶ {[ËáÚ8…)]ÜÐI‘ÆœÜiĈS‘èÆ7–GÑ~"ËBhkÇD“H´N‚»2éÓj‰ƒÖª±ÿ±Ì7(´®‡gNµHÆû·‰œM™p,¹tFˆ•Nï#µkÈ‹ÁhvÉ+sMþßm`r««z‘¼mcàùîEèñ`¤~爟ÍÑ Ò sG š\±`jò“å7÷ ÉWH¸Š{äfç^š{5: Ƹ+oºOî…0­= PÝÞ¤ú\dNƒóÔƒxNÆ%Ca0¨×»p…a¬d”iœ)ÈÛ6=äg–¨y¿Ï O›;'º “EsÞ‡6ÎWg›ûm½MÆÓsQ ÆÚœÅI@¤ ˆh ÚåvxÉÐŠÒ I)ÜÈsç¢SÈ`E:.†f/ólÌ×¹'y¤ÉxBÄ&Þ¼—¿FTž”x 誨*öÝ—˜m.].ø¦ÝõÚ-$;f‹²›•Yÿ]`â5Ycº9hï×êzßiÄ‘sæF:¬W´Ag»5Ö—¨ EηZcJ¥®C¿ÆÍiWL»XÎ  Ñ÷;ªÂx×lÀ ±ÊÚFË$ £b2@=¡ˆðG£B¶ÿßÅŸÎÙžµ+OÿñTOØóëþœ6kAÜA•ØD…&©?TãݪtJ'>t0ºm½Bÿ£÷/ŒìWù$GL¸úaJ-J6¥AÅ#ÊÚô\àÓ‡Š8ÏÃÌulÁßÑ[ü9'MÇ€IÇŒzui••‡;@¦r`˜$FéyãùùWì1KÊnìlèÑV`’lÐåü¡Ú¬jÁ'GI¥„ºà­™:Ý"·¸Ð,,¼½¢œ‘x[ÕF,Ø8~ÞNu$`ØO¦}Þ"Ó‘`-.X WçÐ6wÒg5ȬY¼œ“º½í5JþµYϦ=} ·4¼¢ni®ü\çÁ<Œ¤ž>ÉÉn„÷·4”è6üõ;怉C Þ»ÜûQdŸ…Ù òÕÑ#Ô]gMÏFl³±¡‹_+G^à¸ôÕ“)±}.±rš¦æôp¨Wø×µ¯m ÆýÕõgT)'Áå¬þ97Æï@/¿yº@Ôæ­¬ûå>擳4,5©ˆ3ý4³YwÞû3®lº&ƒãäö Ê¶%\ÀÇà56í„J/^ ãV'.W,&cAÓüGÊé)\æaK ýí#eãëÏXêêƒX{6‰&²¬{ݾg 5qÚe0µ Ça%¹BÏò­ ^_ȱ-º88Bœp(ÝÉZ©ÒMߘ¹ïÒþokÕ4kœy ÃS ‡2ŠFñaÏ J¬ª•àÎBòºN4~Ÿ.z¸Õ Å›ˆéíž9D::¾l?s¬Žþ&z,r²LS Jūͺ^3eºô>sÓ:&2)Fò’5c)¹FÃE˜%ù+i¬ÿC2ÛŹ0dl~—WtXªžº•ù]GôÒ©g‹ï÷ø>xþ,‰dT]þ(êŒÍ'¨&ÎI}$Ý›oLëúÂuuóRÚ '"zu¹ñ“¿Om1‡Ó‘Ü•Ý9;ça~¬ç•~ŸªË…ä}î6ŸMëÒèˆê–2¹s¬:y”ÅÚÐ’Í£Ù¸5̺@·Üb$W‡î/‚Æß̉­R£àâMr.&09/çtÛüÁã&’霠/Á¡qQGC#TªéE9¾¬ñœÖ§ –z!KßÜìõ9O©iÓ:½DÉû(vΔÚxˆpbÖ´t$NÓà‚`|ù$D½—íéëW(œ7Ø×§»p-æ}¨"`%þ£Ã3å^;ZX• 0=¯€êïñïÇGïê?2MÊàÐk¤6&5;„Y`OyI¨Äû<œ„y„ŒiÜH¡•FJ{J´T7|Z¼ùÅG:qÂî¨Aû®¾yPH‚. £;8Ñs9¤¿l Î¹ïª„À—¡Î°"Vûl‚ƒ¿PÝ­@™aÁÎöÕ1: …ß-­„’–i¹sŸþd¶/ Äsdtù´ïË‘öø žÐ6”TäÍÜÔÀ#MM sœëO„*šæP7ñYGvÄëÏBžYX‚$wR'Ì0_VfÌtò3¼Y6Ÿ¢>I÷ÿV;À„7ò¢f#-LáãSS,bu•$15”·ã¢ù“§hÇ‹ïÌÒ¤O? µƒ„[fP´ërA8ˆêxXôÁî6Ñᯜ¡Ém Úq]ò"ó4说®Z®%8ˆLÚ}ôŒî|Ûa³îWžäøò¶ß¢ ÷e!ñžïƧöy9#¥¯_Ùïc,Súé§å¢Ùç¦V¯ðÎ+Únä”úÝÃ}÷ðJ¯|"qµŸ¦m·¨{‹‚©®"ÆàòÚP§>ülvÓÞ¡çÙ,p-ܯNâ_e£f³UüAŸ‘š‡.qFæL×›ÆtZÞƒÆ ruáK{ãú|Ÿä·ÊñºÉÇ¡cîϹéÅ=E¬A4 YTvUñ"mÐdÁ-³L%ïº"\)é«oNiVÃXï}çZÑÌ$,ÔÚG!rLÝI}Û›ˆ×Ð /Ð åšòý‚ž*'UäËØìY(™·¿j¼1êø‡Zg$Ñ Fù¶aº1b|€ YÆj‚—­©Ú]ú•Et(«¿Müä£#T&=åѤbp)ð}Œyý^Þë꯶Lx/€°y|¸ØŠTèbVut`šlЬ½ãüB/ư|*­µrXÌðõ•#D8Ž|>§!5Ä ­Ú:†L¸¢¯Wà‰IܸýÝF°ŒÿãúwuÇ$rЫ¥ ÍN¶"«óüå`/QùÅ»Á¾¬_Öí.û)öËêÆÄ¼” >ädÂ<á/H½\¼H¯F_­0 K"µ‰Î)KÝm1«ûëaÉN³N·Xu4B*õÄâCÉ®ºE·ü›°òÔ_· îlk”`Š3‡jY^î–Àƒ´ÓÍTÆuü/Ee•À™6àþŸ;d褷>Q­…Ô½ ¼¾” ¬;š¥Eiw#,bZM³^Éw#~þY3:¢OÖRå8ke£;)¸7^#G¥| £ŒÛ«7V”] º ´^=Ïß]ùc·—ߥ9ŸYôÖ Ø©CYÙ%öÛòט)¡f£{þeKy'|Ë&‹/–44Ú+©Þ§èÂå©}^gŸµºž<À±4X»ï‡]où2üõd÷9ö¤ªà8ÖIK4¿¾n1„#ùuëCÎ*aÍ¢Ö¥—¥¶¬šO—‹Œ']ׄf§m*¹˜$±­æ,¦S]¡uðøG.{ÎaÄb›Ô„9X6j–¤Á€hßèûcâ[Þÿgò„x^ôw\.¥t½1nŽÔ<"ç’J*úÉ9éåÕonfoÈJ}8ª¤(zr„)º|V;…‘~iŨfŒ¥jÈ‚Dÿ©Ó¥é›íØîác"]§Iã÷´-–„³õˆH v (Þ±ý]M#祓þ/Xq§•µR^¨îŸÎã“tPqÖdï&ìh8WšÇìc7'¡­Ü]/ŠOaú³킼¦¡ ž×óõ=ò4Y½!ÁýÞzæÍ¿4©ØìÚùRGNsˆNþûéal¸PÑK[Éãʶ>ѽäÔåÄZK˜{›¢OÝBV\%¯Èn"Y†‚èf¹pV p)aÑ©h’ÙGN›fáLÕ–¼(¾oÙc `û‚¹$ƒ1“yÅè:hÑG¦)t•”ÐÁPÞ &Á©™ˆáÓÓ*Õ01µdÖlA})רÞðÕÔÀI=³¾Ãç.ÀhˆŽDt“®1ÓobµZ,Íúb ï]‡·+7jd^ìmÜdÕ>ÐÊm«ä§ÎYÌ.n\|0%ÂMø)(õøÌÐI4k·Ú—ú€Vœ¦p1´rrªÛMˆ­2©ôÉ#>Ÿ*Ë¥^ÏàU¹› jm^ã,î\¼»-U4Wüϵھ|º…‘ÂÀ³ë³¸ñÇáZµ‡¦Õ󨃼wzÔ šŽ +Rå oèè ežÙ.Ú׿nwî‚<›_N;ZJç§aÕM—pŸCFòøs¿xRJ¦0† 漆nz-CûX{ÙíáÁW,{-\üM}°:ñôÿçn~Ù]Zq9^P›ØÏ iÅåñ³bÞJJ3¥‘{~÷ˆˆž³Ä ÷““£ß.Bý—Ó»ýHR2àZd„k/Iûo|žù¥äòî‡öçʘÀ·¼§nÁ@³ Gh0\•ÏoÓH…[_SÔð+³y˜ÍÍ|a^}ù|öëåªÆIƒP ¢ ’eă½ÊŒæ«öokf·ô+i½‹êˆ-7‹BZûPèÄgýuPïMÄjd?ZÝñsšKë·!''}OC圃2\ùùÕ3&>Ͼ*ü·tSL%ÿs÷ãónò/U¢´#ë]]ÌŒ­Bƒn_¹ièíâU u¶¾dYæ&Ü=ë’Q˃,¾?Å¡6jÆbÍè'†Àµdu4Ì´@R< U'ÁAšn4}þ¼¾ÑƒF áë¤h™žÿ{ZÀÙ÷ÍãCPÔc¸ư~Êšö„W@Ži'®teɵ¸â³Tf¨ßêþvs°­6I8p0µ®XØHœxºQz‘•¤8µ™–’:Z”í”G—[jËXIÓ*YANç$·ÆÄHÏGJR¸=æÂuvâ$Þ TÓŽ¡À¼—L»ƒöËðó„Ü@šÃÛJaf˜¼ª^ÄÕ±*ÅÚÑŽ>•¦–®„Ƴåoþ ~võ ¼h"âg¨J0Å ‘ïŒþS±æb ?Þ:L dN§…8›’ù¡jÜc%Ù‡n( Ê|Н¦ý¬2ý|2Óe@ŒZœÐ\—Åk‹ÄgiÀ±Z Ëà¤pŒÞêDà–ü>Çæo'¼._Q3¦“ú8„5l†£MwÁäRžî–Y¾$Ôb*HŠG@9ºðá‘Ú r¾¶%6’Rê^_Ü}· Ó>‘ˆ=å©vÂ=9®©9bùN®;¯’y ÎÔBM™¤Úï<}sùn0À!§á\•€Gr`×âÚíÈí·{q‹›|œ|ôÕ¦´~ Wvò<Í|½_é Ï_€Uaš»vç ›7Zì ¸_qFêV:Ù~rÑ»…"Ûahý³˜D‚„¶Ъ16Ù¥?<×(´ @cf§úÿ_Õ› Þ Ü¦°‚bõU#f’‰Š|dª6×I؃(ì>*¯È7N#…ͲٓæW¶Ó¯\e7:–fmšM²÷g„ZXÁæz —¯Œiïþßg«°-n»bÆ 8ˆöVæudQ7ö…z¡÷™Å¯ôƒÑl[mÙÆïbz)’hÕ•ý…pYªmþ~*té‹S±qnP ‘ùŠ6£ô?T²T©ÀÓ¿åÎRd…ù*šW]È´6ìögÜŒ·ðyMÉGh´`ýÂJwƒTèvò1ã¬[{ ÷–(WkùÛ|UॄØ×ÂîÌŠÐÛu¨A¤~ÆJ»ö¤ÞüËïÔ’ÈkßÎû]«xVK!å «É™Oí"ûÊHïíYÂI‘=ÒhEþ/Ðäyú ^¾¬j!ÿ¼¤T¯Nj É“ Ñp¶žÆ˜wCÑÿmP öhÒÈÍÐvY!÷§®a SÆ0rø¥“>ÛQÜTÃшÇ:Îá]˜¼„Õ9Äø´‘ã% ™Ÿö®£ŠÙ7Ôçådkúùþ]Fóy_¶5ÙÜ”Aú”<Ç/‰.ZL8yGà”šêÄì¡°‘¡¬–«7/EºúüÙ+ÜGºÿâe<:´M5ào™Áo•hN?"ÄÚðj°ádzd§éÌÓ¾²õƒƒÚFKë*«PǼ@°Ÿt2ÃŒ÷\ ¿lÚ‡ËÎ nÿÉ^‹Í—à0©r|êÃç ‘6ï"D‘@Ïy¾ÊéwE¿fûN(ñbçFxeñfî(בª.kd:Eê\Ì™·™ñ(Ù[†Z°Ì­Èæ¨+*R&ù§C<˜B%šücÇ·C_€†žÄ~Ñ)¶˜¥@hÏ>EÊÛÿ_•·JKR0ŒhÃØMF!W£’ƒìdµ]£*‡ví×Ç-;Ódsù©ò]E‰Û“¸Áª4§pqî¹G–¯¦O4¯î3j7Ë •3ߨ8KîÜ÷“2>T~³~3mÇ•zXÂ4¯FU˜£h«„j˜Z‹[xUò‚õ<® 1ÞWhw:…±þ÷½ZÑ=iVçšX&\Î_5bªP)W'¤–Ï9‚ ¬ŠÃl…72wž¼ZöâN«ÔxgªãЛP­%Fžò†c-<±k©Bç=¢%q>±÷¤£*ÏÒ¾ú-‹:ʧ/ÁŒÃ6­wp=1û=jö†ˆ¯“ íyZà(ˆ<#åþ>@Â’f›€NKÒ˱y»<ɾWøÞ‹,ï E«ÜóšßF)p@~œâNJþ—­¿E–ÿ-æ²(† `ý¤„ó]?÷d}¾DÁ{¥¿ÔÛ¼G›:Û¾»ö|+¾ígcWv vª¸ÌP~RXƒäRË5L1°1;Kà•G.ô‘骵µC‰o /q¡  %ÀÝÂ-™šL€1hå©êûÀIð1þ&Mõ6‚}5¦·®®æS”±:ÚÚkasìcîê]ã+ØÙlÛÂMFçC‘sTOh™Ê½Y£ñ]#ÊC<îyNññ£OGtZÿØd»ðøÞE ʤš›G¦*öÓ°¤»db†fc•ŒãÞвÃWË­qd8r`!+1„)®4Ÿ CUÒIa·ÞS*¶XW@7Q÷!ÀéÓ^f`w0dÞ’RÆÍìËη€w•‚°Œi´°ÉE@ÿp=.[t|"²ˆ,™Fä3ÜuvâmS&yÙhk¤½íú®³ †x««“Û©QåËœ-wÒs„Z‰‡½ÎØ%ø— GqàÃ#ÎGž 0d¨SÙj‘MDð9½ÒéhðÕ—ˆ1Çý:ýQ‰ÒkЩThöó%NòKœ†ÕÖ„ý—HC^2Ïq=úö*âp²„·¹ÿ°þ­Ž'eæ°Ë9ê2årý«'‰ßJÆõRmmQõï ñaúõöt…Tah?_Öë0%ÆYÑròG©£‚ .JN ìòïÕ‰Q6f"áåùÄÈB†‡eqp0âΠ‘ ­å$­ëMè™ÖÔC–€™r-Œ‹`W‘B{E s·Èg¯ž¨¹à‘ò½Õì€1ûÛ:ÀLÂe'…š0æåâ[ùyÿ¼áWŠhŠÖ®Hô Èf9Â@›g|py+¯±*ÞFþŸ”Y]ƒYb^_,ñì§ÒN@ÌØ´]ü57N‹JŠ>ðϹ•xå-s¯±C\X£|LÍࣔ‹yãè¹7=”»:—m n˜ok6)äagöa ÉT¢ ŒL®>UͼKp¹Ã&‡Iqû !”v8€8Ü}âØXM>ìüÿ1Ì«|¸”¹V>óùHèd\1‘„¤ÇÆr=|îŠÅ Ë Õ:"ÒàˆÿÓü䋟aå®×2¹¾×î\Xµœ)ýôŸõ0=íþ³ ÆæìÛð×–ðŒ%v "«²µî./Ü/y6ÞÚÍóóÏÍóCËïO2—°‡Ç¶ÀXPz|f߬ÚN17Î]ÿ]ªC°°]s÷Œ„§=Q‰!‘<µ§=E/qƈVCÿHDMë(|?âþ™7üé6OGŸ‡Òå–àîsã9Ôb.òƒ›îg¤®ã[Kï¡ð³¦ˆbàKÖ7¸»ÖüÍYcºÈ[ÈÄšˆ®F21Ø`P"¸à¥”ïk|X^‰-‚ ÄçG•¸%Wú=øc™†‘LO‡ÇžÕ!Ïd³S© ÷F§ºvÄ«€¡‚QamÓu¹!-ñªxjv#ªÞÙÓM z÷ýn•E¥éõ´\Ѐûþl`õBމ¦÷²ãç„-lÿ?ñÊ 1h1:ÛïÛSÌ|^Ð/ãAÍÎàñ>1µ³ÌÏ6‰Ü4/8Œ [4?yÑ„.ú$[@ë2m’#íúzüôyJÑ:¬« 7†Ø´y~Ý<’„-rr_õA VûÉwν0Æ 9Ö]Êí™Ô=QOÒ×ëWI„þËÛIq'÷ÑîåYO…¸úNæ6¸PÕÂEqÈc5”S¨ÏÀékÄKÿGÊM»•qï‰%!šÑ¢ËÛX]]µ…ÅÜ/Öƒëù—7bŸ¦•vï Πý6z¤ÙÈiIjw+säÎÑ|ˆ?®¾”$ÜÏBö¡ìÚdˆ Ì×3zS‡/uô°"›Ú8Z Ò½¹gÎ7@òÓõˆÈï%>ÑJ‹¼H­ËéÏ?ËýBŠ2\• |YjªéÒ—¬«ð¦ì}ñýú2J3Åë†@Ñ?õ :ÄØšÆ€Âx;£¬ˆO÷!È¡õÅ]Ζ&êzÞß…Ñ”½ƒ½À‘4‚“ ø˜áô ­³¿{VÉsÎ"#Ô4ò¢‚¿·,k$¼ 7lM„ÇÇß2 5ó$]N ï"Q bKTâÉ”#éžÉzkÐrÏ"7=•eísíŽ/fIô»Zxû6°Å¯@ÈÓE—r‚>$1;Lš¶ýÝߘIÚÃýÒ 2cÐÉpdun–Á–©ðQat"É𧯰ô•M<\Gb‡W”†ŸtP¿‡ ³³«/ÜšF.:Du’-€ÂL¨ MŠî;¥]ù"åÒÎOAß{ }÷›qvªâ¤LSU6­;Ra üš±NÎAwoƒd“¾ölÅüRì¿#¼V£ä$Ù·ÍÁ%-™:|ÿÌ2¸ßRåÌ¡T¦ª;4ªl<b^‹Á¸æ9Ãú‘ȺR„–ÁJµQóDûP¶|¢¸|žF„¡ã*½í­¯ûÏul#—Cø'·m{%ȉùdå[]Pa[b®øÑ¼¿åѽb§åÃÆ²–²FM søª„CU¡V-ëäáÊãü_ý³f®ÔZÞN24A ·´qµ²ü«Trã…º†ƒúÏ`³ËŠÖ‘.å–>%Úª°Ö¯üg]Êó¥{kÙ>im 8ÿv…R—“ð¯ËX•ÿr9øz¢›D<í:à¨X#T Æ®pËË&eüÍÝžþ.v¢ ¨µ÷ý&ÿÊÀXJèŒ5}¼¦Ü¢ œ‹–=*|,*B=©Pîä¬"ˆˆ‰>éßj“ú»¿fgÛÆVv2my…’yïgÞ4œ…Õ0ȉ6Ñ… Àû5‰fÕ“#òØœ˜”Ki‘PŽbàÿ7 áÂŽê‡èìpÊ öõšÑªI¾@Ï TP…TÔÕ8´ûÇx ¡1=f=B‚ÃÊréÒôêëuáw·+ü7=¿OÕOÐ.ÙQD)êeOäêV ¿kk'±I<§Lz8? à²1í’Á+mç,^%lSRB8œ"é×yu~­ («9œÓÝÁÎƨ,4=ïD^”Ɖ“CÏ“ĬS¹àv/”î„ß!º@«qfÊç¨ ¹jÅV–ï¹NH#5ÊðëîFFP7°–Žú–)Tüfº+²él^K/ZO@ܶ½w·›9>m©¸jÍqUBNè£îgë–À^_lž§.£¤ñxUã1²qÀâ¥ØT…£ÅDñpHŽ‘éÚŠÃnHfÑÝË@}|õ ÏL%ÕOÝJÿícœol¹#¡ö©4|Ê7o&¥eöxéÆé4’lRnžñ{Õ…lb3®ý,ðkþ–z÷»îea´ŽâD‰f¤}rÀ©À‹ŠeèþzÅ[û¿”vT,T`ÁGâ̧’u:ohVG¸˜k{µ‚µ,2uwiN‰ï<0ˆøÀ‚‡Uˆ‰GHŸh~LíJËæÊQXG¯d÷_+„ÅTÚ!ÝæäúyšÊÐYÜlñƒnºŽE«G‘Žù°GÓT•Ç« ‘¬"HÅ;>®0† yÍþgW c +~§ç8]*9 L®rð /®Êïíµ¬¨ß÷p+A+§ ±¥ˆâ)q•k…P¢'óRÕÓÀ¶4fJŽY¨´´¦ÿ… çÑWÅ^°ÉízIÉÄ‹Íb¶!k73“‚0·¬fÒŠÅÍ!(Ý ÃØF@¡·‚£„R›AÓ­c›ÝèW§Ás`ð-›hÒA@ÕQµä‚%ÙZo!$xåÔ-ÉbÇ6fš¿ž32Gôwºq‰µ_É _ró´µñÆ•™ÄsNÆ‚Y“ñþóùÏŽ¹Üöˆœà‡RøÞŸQŽŸbU‘@¼u¤äÊf‰·h:u³Ã+ôRßp—ïfÆ[#ÐÄÀ­Æ^uFzYøª¥‰ Ôp%Ñ ÷N\4Þ”tºËÿß²Ìpùðþ´^ʹ ³ýV­ñ‡úèïܵ È7iqUtYW‚þ‹y«ÔñëxçÈÁ Å³‘æ¼Ór¿…ÙS‰Ž¦dÒÔSnŽž,ý™ÌJ)=Â&žzÓÐ\(X‹÷—Ñ…aÚ\Y¿leé/,ó…§Èº–U>²×‘"\„-*|õ«Á˜Üw?J„ Š{é¶££¡°¼S}ØoÛì! Ê7W‹´²Ilá4+Çe îrÍIÏà —ù)µtÐ!vŠ·ü‡Ï/éÚÜžã”æéŸ A0b{D#ÿ—Ò?B0šÂŒ]-u_ ?cí<‚pϰºb+Eü´«z„Þy*ÄF`ðHm ÂÿØÚ"nÖ`¶Cîðˆ‘¸tÂà͘îC¡,UÞ,Ÿ~ïÍÝJÑnè²"ùÚ÷ÿã™Å¬x:ñ^-¢y}ëiå£ó`©M"d¹–.a•±nBÝWÿ—¨Z ‚…ÏêŽ>)WÝQ(ǰvX€´³â /éwlª†QÔ…ø¡‡-IÀ©”¯_á¥àð \0AÏÁ¿ ÅßJh¢QPQ‰BLa™š» Áb7ã BÉÑxTŸé®=ž«y UJcó&ùëŸ_ºì`‰‚ÅÖª¼[¬XýNl½CGk 0YÃwl;€Š¹üª.Iç8£÷0iï›:¹i¢Ú™2à×÷½fçtIxÖâ¤9 ˆ¡<å°#qò÷ÈdÞ(¾7îßVÞ’|ø’Rº Ì®?$e…yÊ¡9µ&E…7™Ô›–˜¶Šåˆ7FÈ8ÑÁçAðô¨&Ü;ï ÇàœzÑ›Œ &ìPªª½-·p?g‚Üù©©¾ÐAJvõ«²öêJ‰à5›ÂjÚ“ëj€Ñºàw»î¯OŒUöéäD+_ÓgL¨—¸£©>œ9¢õÇx… pEÞÏã“#˜åîŸP™Ç1èBT‰dÜ!ä¯ht$CIÂ-mÆf¢n÷‡VQ€qþ¡t¤y+ Œò6Ù¢ÎðÅŠÀRÃþ¢Ñý·1£j˜r*rÉå\ýÇЛƒæ]<Þ ,P€ÖoH1ä-ó*ꎼÖÃ0 3˜‹åÙp'®9®µUç¥Ã™h]÷’Žuq‘T 9u» š’ùk…þZF‚QÕÕ¨ y ú³ñv«×Ô÷W3(ö1ì"¨äÜèw¼eý¯Ü>Õ)z¿ëFÇ‚uOé•Yr .D×›ÃHÿ¥OÅmKÕ i%z+Ç=ƈ9‘0#n€~ SKú<] CSG¾Å7;ℤõ{Ý©è«1´RQKØTCxöeÑ“‰ÖTæÔAVÕ9¸x¸º¼ÿ+Œ'žW†ïµæsµ%eÖ:Uð ùü¿TR=c“dâ‹?ÆjÑ4£#õ¶d×K·=©ÄoR¼ùzƒ\ÔËE8굎¸ë¥·$°”u‰™:êÿ•TêšÉ¸Q/v «rºÿZÎ5Qœæ"u0æˆd¿»i•FÎŽ–ýqëô*0\)+P±ß©ÏýÄ®ƒ1~¬ÞÄÈN‚q&o”GP#€|9¨"ª*ö]g¨ÎîÕÒ®‡Ï”PÜÓ¼_ö "wß[zZÊ–Û¢†¸“Bxµ)kV>–¨[𑼋E?RÒ?ß"Ÿœs“0ý ™þµ<ÅŽ÷+ ©û³ÓQôŸ":BˆugïEHrúÓùHS>'ðŒb»³œpä[1Yö;¥ÜÑL&Ô¨% U!žÒõ‘ŠÚaþH~DÀzfCø]ß½Ÿ Ó¨öR8*y8N]{°@ŒB²†—дJ\¼LÁµ11"ÜØ­ø…gß…+(&ص¸"°›jWæø6`l´€ V\–ϙʗÒ`rß.F¬5æÌ乨+à¡[¿6%ýghÞjÃ3¥žµ!´ÿ¯û:_¥ÓnX— T!;æ,?臻RN¦Fb&5Å^zÑEì–­ÈÂ.ÛrМÁËÌ}¹Ì™s†“8 ? û㞪ÕÏ@a¹e­D-.G̼z¾¢†$I¼'è;õ ý måÆo¸óŽÍæFO:Î%¬Yû9󙽆Ä^[Ð0¼4†•ø/»~+Xi‹ÎwÆ`býfԜه"Í"˳'C¢#Xº×Fqrä·`¨“Gï…æMÅ´'@ªÃê}ü‹«~}£ñSvý)qqDþ†µìmto¬ä¸{m3íy¤”im=yNÓnHaI M¹œ80}“­ZÛÁè¥æiµü£¬b·û(¾U? rɶ²sŠk§ßDã¾{ž±¯8™øTG£rgâØ¦œ>ÇšÌENŒ1«]äh UC8¿ôéÍo¢„ˆ)í{ì}ZÞEÙQZn{÷p€+–$÷€‚€(/a¬Ô8àl51¿<¹¬ÔP{í›i¥©‹0&x æOÈ`¨fQæÄÚ¸‚'®à‚qŠ9³A”ó‹ôW^fú~7×c‰ñÛd€q„KJÐZíR*^Cñý$GõÔô}”Váoµ>}ÙA²YædôýoSòáÎ’uô!ü4µ-¥€$ž,gmö²ÃŽ”=­>(—vmõ…Ü€eî¢ ÇîwI³4ÆòZr€eÖ €½ƒ0´9ðhB ð›G‰9É\2½Ó‘ pº8wmWóÅÈçU§¿ñwOD˜ïn¡ ò |ÞuÛï`L["°”‹¦€#’j~™×,)$a(ÓœŸÍtž;ÚFHû‰´ÈГ|±Ôçé0ç$¦ÍTÿ£ŒïN˘ËkøDYL‹*ÙÆDμÚA¤=ð>2P|­½ »9ååoëyN{å;£3n¤&..^ÊÜßöE‡–ÉPËÿÊÐ寰Ö"— ÕAe*ƒ=‘#JàaÆT„Ó±F\][ÙQ¤½!‚ ÉkɦéZ'i”h|ZJáa¿f-风à BÛUí¸¶o¢ *~­i§GÉá†2 p“bQX¸¿Êk`I–tPAƒ«çzˆíQQA±*ÛÈ=n@Õà!8K›»wï¬c¥“Ë=Þ×ôN?’,›â¶{Ð ö¯EÁî{¿ ;ÿ·¶áš–Ì@‹?æÆ÷£ ZJòì…ƒ¯½q+1{: y>ϧR¶:~l˜©EP¨óyù ½Žê¬#_ÙBÔá³>oël'rª‚è$Ì®³Œ¯¼›¡bÜ€=%Ö0tüì) ¯aŠ5G 󦓇SK3SPšB™IËDª¡ÜO?oßÍÓì$ELÓagÀµ•@‘ñ$w¨Îðýç@¦Þ}` ×Èë(r· vZ9°øôx J E¯Ma/”â€ÝñÎ/µ)À’{¢<ö U¬\‡ÖGÛM£|}|zàܼ¥…uÔgŽxÔµÑ(6/f<Ó•ˆ@«o…Ù3*õÆr–>QЧõþú—lmH†b•íò Û`|ÔýH `ú7iWØÇÏNk© éÞ‚5Ȳo#=Ђ"6­R[ç=ß1tJò‘{'r¹:Ì=±º‚:ò;GØ4´ÿŽÁaíßï@–BI(·ÉÀ òJõ–à ÙCIp7†iH:MÀê§b¢ä9µÂڈᲳù"î”èöö¥ŠÛ×ð›“ôÁžâ&¯Î,† ‚Êå-aVS_ª|’Nw›)äÉo€Ã=ã’¸=}kªx•1Òêð ÿðÊÂì@È1ÏÆûÐ.N.<¡õÒdôV¾Dé0Úöš6á`xð%­.ðÒÈìz KëäÖ£<ÿ|²0BÁ¦ÈùKg’›hõ·4ÚRH^VøÄ ¡X|J••P p} €Ž%GUÒÑP-Ëß?<ìN]S¡âó¾@Z'»q$\¶F¾ÒZÉMù êKÅóàHÐŒýK<˜ðØmkW£Ѝ¡8O?Ÿj€eµ”mÀ•-úÄ7Œ„‚#ù¾ ® ‰&ß?ÓÞâÛï» (VmîÉðò; m“ÜKý4Ã8Eä±Ä`¹ó”KkNI?s€_¯Ûpª鳎ù\,ä>Ä=ecñTw1N´}Om`IÇf©8E!â—mP!¨×#RØXw:"»tÂr›0å±e7|FÕƒ2ÓùÓ-®×àî*§p¡šþÀ.³¡~‚~Z“„†Ð*n_4ÐÎÉÉÿìÐïP8ŠƒÕqyEਔ“æ(†o“ÄåI·Î"ùJaïå"³ß÷žv§þÎy¹“ðÁŒ˜—V’éñN¡ÃeÞ$Ãߣ^42¢µ«xÃáýÖòó¿§…Òà¿Môü k[ìxÛMöùÍ‚?ÒU ϰ`âo¬Ée"íxî»m–K‘Hý “<Œ äƒàþÿ<ÛÎnÁŸ;Ðo†%‹Ÿ‚ 3ªËÙ7ŸN¾àRݸ"þ "±zE ¢zv[ØÄ]3kaha-š»î–P»œs0óHßèñSùº6” ôL[}Ú%ƒU‚—Y­‡Ñ-Õ¥œ,Šgû1 ZøñŒ2·ÉÖÈ‚˜ya¦äæéÇ—F:ê@ÀIþ0û&ÉŸ—«2¨”„1Ãú%L_¬âॠ¦Eñ]½wPËWèéÒÙZ6Á×™½õ|ö¦“÷g̪hP×]~ÄŽÎI‹VsFL`îü cEy±–æ³›!¥£‚ÆÝ÷ˆßŒ" ÷yîºï”tþ°uÙNàÛ,À•ÓH-ÅÇ[ilyå—^ãÞ°—š@Ô?Ê’ÙúfÀmqW뺶ÂM]#ž¹­*W¼\›QØÆ;P‚† lƒíƒý¿OÄgE ÆÀdÑõ;ƒg‰îæ¡N£á›ˆVgqÍ1È–o¢’üœêí®.v_¥ÐY ¦¿BôUÂø-FuN²e%”%óæ3šˆÌ‘ŽéÒÔ9%9)וÂXˆ%OðßÒjÄyrºóÊzB»çOTS-n ÛV>~ÒýI—x¦ …×M9÷«8RpO÷cþ]Nr¹”¬ª,@µ06´Bõ‚ó (®2þ·ä-À$ _¬0ɵܪ#}/½¡gúò§ÀÒ©{?åä¤]CÏÐwÛ¡6½C Þø²PüéÔÅιµð*†8{âáYŒPžiaç(tA#õ\䆪|͉Nm¬²iÝ´µÕY£…m^­PÙíDF÷˜¥}Zl¾b–®z•Åç³}.1zО3üyÇ €êÓ÷žt–QYÝÅÀÓÔ*½J¯ KÉz+`<Þ̦޽õêÊ=DdŸnTÙŠ<÷9íjòž&«õø¦ž‘]Õeª}„ ½¨Çé%$¾O|ÌîUSŒv ¡žûüõ*5üÎjþOÕ‹ òlŽÛ¬ù$ÿ{(JZú ‡âªê!{Ù´†ª$·­Ý 熊Üi• Ï„Z¸Õ¼0 £ƒ…¥=ƒÎV@‹©È²©½=ybê²6­o÷óu(l7$ù+ Nâû©6ýÁ­}+èdº£‰]¿ÂDìLjç3O§ãdG/O„0ÃBUHên+»>À@ìKŠ‚&^ºu^ÖÐ3¼Á²ëÈw¿Ù¿ 'Lš6#Ñ~ø6õا6þÜ#5£[öB®k-ü H+vG]Š`æüÏ;Üj/dæQd–¹Mþ0ö¯ZŒÜt}&^~§eàGyŒ­A)T¬Æz–#[!š;ð³_(&AÒõý†.²oÉ~Ä­ ÜÇ/½o¿uâ êâ±v3'IÔÒT9G,ùK!¡žš´¢g9â´•)ºŸƒ§³9cþi0ЏÊZ•ZÕ ÂónŒä:M5%©Ø–  ÷…:ƒJ<õ†ºþ2ŽŒo^HŸ™í\’UâNË7Ëñði¼¹ÕÙô.[xÖ„× B´²›ï®:ÌÖ…5NjØìV/å໣oÁö-´!íÈÂ3}JPÉK©ÊùÖlÿC¡A¼tñ¼£dÃݧÑjÕuy•™Ò\Ê8*ÚÀÍLÏL´ Ìÿ‰5 £³aW/4(ì·Yr܈ÁÀ‰.¢óºò@=M+¼T&s_ŸjS{Uõ³ýª^–°G´&£ÂqìÁÄ#~Æ'òb?½bÛ¢ÌÅHPi°gåର¹¢%å`¤&Sc¨*œ†‚“4ŸŒg\Ë›Øeî›ÓåýŽíl1?îs! xè'õŠ^Bã9Ý£l UlèžmĶ“"ÁYuI'KBE†[ ƹ\ÍËûq²$i›5X2)nÄ•U–gF‰¥@ˆ#F -§J‚ÕvÑg¯ú"`jšœq·Dì-ßE%¨²Ý÷# dVÇ—KŒe€ª/Y†&E4;ßÜ‹£gw¹×µl&@µ±3ík¸T¡Íþú¥¥X«è! ©Õw¼Àyí]"´fIº¤È¥tV@yBˆdÝëÍY<)ùOQÊÆ¡“û€*ǰŠÝà£OÍxdiR~\DaXÏHò)ÞÆà¸R)â‰Ü$d_±,•æ« ò¦—!n#M’1¬cç2­3ÛÍ$8Á©4il_~:¦S¯Óú< gT jp×øj×ïáR>_àÒÒ _ª– 8n¿?¯ÅWj‰¸nš»‘ù‰˜nXŒùRÏÑbWÎÂ’ûÇ]â3`·\D¼J×—uãìÂ,4̓1‘i)û?øã XQ$ùC¤7Ã"‚BøÇÊØš¸È®[·‡ ß{o È0ë;ˆT~.IUãäJøï®JÞ2É€åßS´iY´h VùÐ=ƒ Q¾µKø ÀoÛïØG¤]+äNH½Èóß9µUt/°ç'¯[¨Ba4¾ÒVi±B ¸é¢`ã?©äËÄÕ—ÿ]uƒ Ï9-Éõ 5H4ŒKƒBÅÈá:ç¶²Póz5¿Z¸EÃVG4ÓJ¨>0JÁ{ týÝœ‚É|€üzbenûuû¤È›§@NB»{:¡H¶­üŸÔ{Æ€l™|tãø€_lÏa“„¤­å0¨¾’ð<ÉðŸ\çiŸ=*òi€ë(´‡ã±d÷PÄûmM6p1yÕ€õ0¬hÈîÿ37I\7ç¬E9ÅãÙ#{EsÏËöòcrÂÓšuãÊȶ2%Q©_B€‰vz9Ò?±ŸZâýÎ| Ï¿`%ð`?ß@ËÒðóBmë’š¯¦,AO%T4jûeRÃÕq—½ôÁrxôxÜQ¹ OÔ œ—•“˜ú_/tŽc3Ûö"{2ÏP»üÎDg]»§¢Íh"µ„ŠH¸‘7jî\ð™xõ²íñd,ZîL— øËõë|Ê=âÃ#¡¼ìöÔKAQ[%Uоîñëê6fS+ØÝpòzçlpåS¸°L€-Ͳ ¼ªø¶m’v¶†¦ÖÒ{ð(ðÍ%«æÙƒëMŠ˜È3 hr¨}€¯nÜÊ OMŸ<0 Éøèv ­„­Éþn%P©WÅdc›» âuYùÇSO¤Ÿ™ßÑ‚gžAXè¤u$ ƒlRÅa¨„¹¶`™z2ßà …8D™xSĺ*äfŽƒÌœÔX“YÁ.qÚ] æY³Øl ¶NIª×«=JŸCˆ‡Î[3f|¿…JO÷š|yö’† Åÿæ1þ­ ö:AÃÍ!ÓMÔc*&üü~r õÉ 7Î#|`Do•cûl7œYâ'6ÜÃkI†‰/ÕVÄFŒO]%.}ó{ªq©±ÍpÂ*êúØ?»¨¾Üï²ÆF‘Xh…בÀ…Iú.Wzè% Ž`Mý@ É*¶­ÈA ±u™s¢ À½S§[{ÅB O7çR‹³«ûÓ2¦Hk†Y!‡Îõ΋xhp_ ß|1B¯›–°6‘ZˆX>úŒ…?Q*žtx–lÝUûØ#À9)A¬C—`»ÉGg1×9Št/Y»mYÜ­9žb_IÄRûãî´‘”˜amZ^·¢Ò¢Žãàââ£Îìù_Ê3´g<¬‚l—/z114ÿÔKØ’ÈŠf–N —r=¦Çëòî,Slà€œî-†Aü8•»4aN­Î”CçžsXr½5$\ÏE*Ù‡©~ã‹\®ÎQ0ñ¬~!;J%UtŽ- $V`¯úýåìy­·ö)줎2vpQ°pãþwô™òXDÉŸ½'!ÞÚråbïèGP“ý”¬ RSQã¼ÀÙêkeÔ™ÔAù‡e5T“ª6{›í}v +Ð%Ô1Û^Ò0~ïb}ÎÜ.ãZø&bæ,!h}£TÍFé/@Sн•{Õ±EW‹Ä+öžœÌè’Î…¼Ÿ@luòÛšìƒ[~Ì5ÍkøŽñWº}â'']Rfš5p-7$3;Éj5D-FÊÀçOØ8CŠð¥É4eZ×Ôäà–Ì…(¥ð·—õ¿8ºS8ÉJ;§]“p§x*£Œáº3—%­0~›xWÛT'qûs¼Fˆ]–h§*­ãÎÆ¶ˆèÜ(2¨,éÅVr©0S~iâ.`ià6CŠŠ?A;'¾¸t®¾8ºÔ¼Yé²§Ø*‘c¿ãX^½¼ÔƒuÍœJÂußJÕ^çûó£ÈqúNcè»Gå7Ø»Íû$Ëù¶¥÷/p–ÿ=£`«7£ :ž|@¹ÙšG± ÄÉg„HvU´…ÿBÞÑä ý訨ük£Y¨<­²˜w¨µ.Í0HĸÛSM³ß ‰äôH¾'ïþæt7ˆ“;ÂÇÕÞ3œ9TaÉ›Œ©/Èjcaá‰xÂÙ`4eþÍG ¦Ç¥RÒ_‡pNÞ6ø~^¤cÐ>^ÔV·Õq`¯Ó³¿°:­&o‘ï’Ë×V$ËIŽWÔ&Ãw³ú ~'2 ~¦åädÈöýE~*Ä,‡\±ÞPéZ­û XP ‘°£¶@̤dPø§žo[û¢¿nîôÛþ„®ãûX’Pñ>6>$Ùìyàÿ ½šTLd‰4IaË‚% ià“.‹C!PmñÍ ¿ Õ®ã£V°®àE€ŽÆîCò³«î‹ò,qÿZ+|èíž~TB`_"óßëõb¼´¯?¸Næh‹=|*­ÆÑéIÚŒº h( |BÈ—´áRWÅÍDqzn RÿòrM‘³éx‚X!–¶) ò5†cp†T?#«Ý-‰Í$$ ­r G‰¢ÍþÃAÓiQÈB– Ì}w«BÜr7|­S ÈÞ‚=d?4›ï ; ÖLkÿ(l=ÌN»SéÛI¨þCI&Êû*í@f í7fÊmw`&ÿG¡f3zkàomùø® žša‡‰"Øh˜TF(¯ñã]‹Ë®Î[)·9v.]õ7¨Ôi*Q4{ocIû:Ìúõ'DrÏáÄýà dNóX]ñµ”ñcl»ºw6 àú[òBrT©®ö ¶…/Џ û’©þÿÐͪŒëE=Ö…ʾ6yI¹°Y!}Žyêuq¤žÄá·YiÃÅU¥eXçžqÜ­£³OÀ¦Ëk¥ÞwEã [ÀË»½î¹lIxÈÌbªÁ<ôU3*'¢No(”ã›N“e.ïþ‹ïÉŠ'þþ­Ÿž™®žˆ z*Ñ›•à¿$ê@q)[ä4„«0÷éªw=â×çíÆ²“'-Lº¹A|0ñ„¤¦ÏE,òðçTõê¥47ßMÉÏP qµ|Q»UJë uؘS ÚOgAzÇÇjú³÷ñÚÖŸ‹¡-ß]6‘ùr¬@}î£NZ¥yË 7i‹fL»ãCu®änæe"¨P¤¾-¢Ñ·ÜhøéÇZšu‰äóóáRÜ Sp0#´KÿdÒ̇ܬ}0L†çKr¸£ü±¥1î39¢$ž÷üÕCíÿg'OaŠ*+Cý°Fȵ¶ñr‰ð+cÃØKº†c!Ë1e7N—ì-<‚}ØLb?+Ø%]-KÞ€Öž6¯ž©¨RfN¾¿êÈ•ÔYrJ†…#g¤¸]÷WŸšJ^ä{š1è·]ÖfHÕ c¦ú,šŠ¥@±Ñö]ÆÏy&#§¸´—Öæ¡kM ›Ä¥Éwˆ¦D­Il°Z¥FW~Àd2—ß®§É ½b”7ïO·¨>ÒÏdF¡‡VʾXéM³³»¹Çmq•{¿›\êÿ;°¦†Ÿu·Øâ®¥‹™´š-ñ5kŸü6ûŽý›f3±aûž;¯ÉY¨¥Ø©la§Êy^Ø$¹Qí̤…ûî¶×\NñoZ%€ú”˜'©Æ"iZÈ7|°t騷2¡)Êþ×üåêCRööÏ0O²Y3Ù-uä-úÔ¸:H”„õïá &¬5wOçÖéô±žoÇåþ0ž"R]fxSÞ€m¸Ô-‰ Šs-ü‘ùõIqÁ[€ ‰¡Ø[–Z\ƒ«½Ÿ—o{]z«[0C}Kp£<7®Ž…ÊÉ›zÂ?Ѩ¶õqµv9 ¥#lî¹ÇeIçE}˜Lô”ÂW %˜ÍTÑ>–A%M}E÷<ùúÑÄ"}F×&HKÓñP>Tf®bjaH_.%[~ʼ=ýIÏ÷åìôÌ÷2¡׋†Ü“VBEò¸fÈâ÷ëì.‚rœcÚ-Lí2hås­çꈮ!=á„w¸5СBøz«ŽàwBH\}•¸ÉîßÑñÃn6Läy2_Œö ¸þç äž~vÌzZx|¯·F²‹3¹raa¶’²ï6$ñ±a^er°´?û…¸Á»-aŠ5æ $ï´èö”ûѨ·2–k³òlI 8áÀŽ\í¶»&…üñMµ²Ê5´ƒô­„1-Ù§¯»’—4㘉‚_ ÕêçÂÓF9 O‹OóZ”JôLÜv~—”À[ª¸“dþ-ê“ .ê˜ÜWkG}Xǯýke$ùØxÀØFH[¥× Öëyã!W÷ ½ûPÐ4#ê œØpŠ7(£æ1}£ëuã¶?Î¥8*çÉÿ%nú[ÝâdXA8p™ËùøÀëí†&Uígåqá¬Õn”a¸ÐaËz…E¿O\)‹ bë–®/J¾ø…7&ºAyäY[EgÛšN’< B1Óÿí¾T™8by× ?”ƒ&â6L Lð}FYt Ìs>šË¾TdwÐêæÖûCÝÃÖT]¹{.!Ó@¶DXðµ ជ*$fv‹ÜÐÞL1ÄÊmïI;ºÓ¤¯ã&äó–öº!‰8pJ îÀi=è ]|¢žÇËæ@½¤1 ¬‹ÓÆ–û3$ÜŽ«û3|u|±®™=jè"ØØ1þî” ù8·ßû˜± 0u¿q݈ÿ«™¶øj«Ôñ‰Õã. ¨BæpKÊ· ®ôÁm2ǹ£×1£`5[ΰÒÊ¢«<&|q¡›¶wOüÐzBsµÄe4’ye€&SÏQ?ã;UU5aé·`ÆsÝd`#ýÑy*~-êƒ;Ð c1„=z"Ó[à·|­…«™™£ äcÀèvHz±)l"ìKö›RÞˆ2gíä^‘3áiðä2¼V^ëAE>ÀC`_H'ê!¾Þ*,‰7W¶ÖþøÅB’|E¬í‰|-Ëáßù\?hžz>ÙƒºJ‰¸¾â8ã5zÀþçüžCJvñãú%ð]t¶h€g6›æŠ~Ãÿ93¹‹eÿý|8À:©¥. .ÜXUmm‹3€ÒÌMê­Æ¬ø øfVˆ1éW-­¯x¦´À¨;·Æ”kõ­oI·"§•FÙfÍf¢‡¥@û–Rcª}!bÈœc YæG‚f•À2Ê¢êjüíü]’Á…}^¬Þ¦2Z®IF¦yÇeúB¯•D[.EWðÄô.0š‡ý¬šÈÈø|¸GDz¿oR[Ù$98Ólnʃ (®#Ñ—Nk1èà¿jlÂYŒ£? -Q¹ZíJR–~WÅ@ËB¹QV.*—‰´ÚÓ›* àhÊŸ, -œo•\¼¼®ß4Ý_ˆ¼•82Ô*ð’kÆÊ‹c‘FT‘ý½•ÌÝŽfpP}Þ‡Âßâo¾¼J6]x'¶/xH±87 ÆA~GBI(¡¨Bd)t,ý›(E‰Ûlm¶\Ÿ¯ŠßŸÝ äH4N•=¤\±ý×Ï—å cö¡h Ú ³Uâð6äÁiæñÊ$²œ¥„†ªµj"#£³µh/­¥¾ŒÄOu"cñ„…zöÞIn»‡¤³µ„4ÓÑš%,ÉäàDñnâÇv„1<α5M9‰—éŸÔ´ÈP_OA% ÈÌ=Œ<ñqUÔ9}ÚÛU47‡›mÔà,kOÍ”|ÑùÝßžœ3 Lb[ïØs™ùëPú2?Î\ŒŸåËÖq,!ôóÓ†¿&t5œÜ:z'šùRHdüšÒÒŸ’’T˜ÅxO‰Ä}×ËÙâs”¯{x_lø*ºSñ šw8‘–K¨×çæÌLòª­æWzºplñC†oïMz C„·n¶¼b¾£öoªíddã.ᄳkD\‘p:›;Œ¥¡,¾Ôµa]¾FûGùƧšÃr¶·6‡Cÿ㸚_Xlg66ðAâfØÜ¯õàìOÆ"@b€)0<劄݌ ãôøÎ¤1P²rèZä^E¬b󾚢éý¤9^»2×\ïò‡§¸/)BñÎ’Â8¼yÃs¼mµm±›¡ç/ìx?¦F;„Ár’`ÁP¶Qý-@a;™HFƒ‰Ô´{ƒ¦‚öx^êÚÜm’K£%ü>Oðfª†îÃŽ»>8žAúÓzu ‚ʺLû9œ¬¨Õ|ü³±¨ ´™¦Ò€¨Ð×7R瞬®` eàªÚ¿ÓíõФœr™µþÙÏœ1µ bÏÚ0ÿ½1Ò_õ””grÑMÕé-oâÜŸºƒ^zµòï+`Øšœfß…äæ ¬¸fÕVl¹=ĺõû6ã|fEáþ‹D”\üä·@ÔŽ*ïBÿ)¾ÑU_sOkŠ›îcרM.=·g?×”¥ã‘w–+ÏŒ† ƒó w°Öú7¦Wà)-Rðƒj%ži"Ø@ÍW½÷;¥ú½I¬qhàé0ØuFÞ—”=”ø&;wÒ£`*Á²Y; 8GVzƒüÓààyßg| I›ÖÒæ¡™x#ôMùKQÊæýéækÞ5Š­8+¿b¼×;?ã–îlœ`~r³ÛFý³O<[ÄLÿc,³Øu·Ûnjñ9"³_0…€ /èÖÔž„[ëž5CTÞeÿ繨,µ0êyÔñ¦C5öYó‚C­ 'R Xžðªf-¯ Œ’9L—£Æ_þyÃîv4‚O$C¥GSßñ†Æ‘9 ѱ+%*ÍZ‚O`_5Çp‰]]\¦\‚Ed± #Iº›‰ám¸tI-Ñ [Rù1Ó­ö•V™ìÞSýnã|¥!ë|ºOFôÀíPh¿¼Æ¢úÅ_ºSŒ®¦“Í84A½ù@y˜ ½ÿåò Ýs•~WKëæãçq°,:Aì=Ó–n7оšŸh5¦¶ÎLŽ´ÜCɸ}øYšEõ[ŒÓ½ yˆa±cK[k!!S좊m¡Vo¥áûBUŸú‰­k¢¢¸еšlªW\’a1N£\­Ñ!y°p.$Kt·sï ò‰NɵÂqS L¶æ?°Úa{“U—wh•&“”àH¡ÇUÑRJ^ÀYeuî÷êc©ÃuÞ¨hî[ÀbXúü xåÈvþx`—ÀÐ-ñÏw+{N–pQUµ„@f†ÿx»[‹û‚}T ßPÇ1±ç=xFðºþrïÃ]ÝÊ'Èz[tmÝ Ö1¥í%kPPÓ]Û„Hèçî1Kq,Øñfùÿ™]ë,*63EÕž´O4´Á+.èÃÔEƒ÷p»L>Dz¾ÐŸ='g2o'°áüñOz­ýj”*4 #QL ž~ÊÜNJj™F;Þ̦„ ·¦>ë¶ÃO8¦àa;§)'ÏŒÒJj% YdµêGÑQ&·jšË©î^ÜxCqüº/üxpŸ ¾•w’¡üMŠ/#PèrÏ`€ ÷±ßBжû^ké5î[¥þŽí£ÚU V%m“rÞêCî_Ñ)G¡J‰×ñ§Rj¸³>wvå>†Ïˆó7¶å–%¦Ý.¬ÚãN¿†>/kîT˜Þ*_4˜dìsä©2stD.`Åk\ôBÍ)úƒxmÏcÄ`ãdç·€*ñ+Ï#ÌHÝÇíVƒºd@›1UЇÔymé3pþÈSÞÂÀ)øE…IÊàuhx¹¡jŒ[|Îô!âÔ`k¥ sb˶€r ×ö#ÌàÏÚO¦† –³î›â²¹&ó¾DvÖ«£Ó¥Ð^€ÌžMwr³\(¤ÄÌœµ{;*ÒxãÔÞCEÞôaË÷xÀî^<5 ø[-[¤ï5_ú÷Oª9V_Ý×¢fOîF:·-^޽ģV:)˜QCÎ.Ñ,FË×QÃ/".«U­‹LÄWåïT#¦+e T,A*bWõëoEßðK4N‹8þu¸(A‡G9[>ßLIR1À‰“ËŒ:‘§îqlÉ­#Ñc½×‘GûSX*+ګž@¦€¬ ž5I"yÐU×.2áãÍFŠ_‡ÐÚ{~¶!k¤tc%Þs Ì^â®+¢Žö3V$Êf®}. ªòWM!m)C\F]Yg€iJZ‰õHƒ®c‚=Žj õå%Þq؃š‰-éYÖ°®Æ›6R4±´Sua€†›Î«_CGx÷ñò=-Ä*>ïd9ر“’ Â-àÑæJ;o´-޼f}é â`±íÈJùæDÔ[æ HÏ ™BŸ°Ø¤ÚþŽð‘ú\ -Ãè{º¼“äw3 ÊÉû阰7ºc¦CõóséÈ£ñƒì-37úÒ¡á`ÂÚ%I¿{1%Øã/æjÓ7­´/D³?<€Î¾œ ‹; ó¬bý«þ,ÖAʱ!Yò!”„ª­¡< aرԿm¢ÇdãÞ—çH÷¯÷¡¸O„2QC÷àŒ&ôgfÛuÇBáÄØ^F ²‹"â Nì–lHHíÄ™‘$ ÕN‰¢µ+Õ¦ð"ÛÐwêÓ/âi^Zq‹y ePŒ±»uHÛ¨”K „^£ Ä©ž§™KX „F›þùç°òë@E¥Cs•õ²åhš»Œ¶‹Á¶/Tÿt bÿªH<áuˆ»ô³³ªÚÚHa–³¶Œ;l.f@­Jª¤Ü²DùDµN”ëæ´On¦£]äAå>¸³©ß>"1`[YB›&Àð)×fyâ'2‘{žÄâãû±î1¤;TkÍ•1„®B%1–ÍsÕ³MäiËþÃÃyÜ'ó:#œÌt€¤(þ17è=9)¯Uº¾(¶ãî´ áDÔ¾HébíZÁçèÉës«í«#p<çÝØòzS¥Ä^µßxN Ú[d·zÉA¼‹ í6-UªïDÓü¸ÛL*î3k@þJ;‚ø æ>~–´n-+¯¼™ÿóiÁˆÒ»Þî»ù’voqIÔ^] -;†ûE d%ÉS¾íöFcaQs%›è„™ »\¹ÊÉî?nº'Js)>‹ 0¯ì[çZÌ´%LmŽÇYAž HI%Õÿs—+nŠu„V­¬ÏGˆ¢j.§©îyßà£0†ä‚é8ÍUŠl*ûB¨ÀönÐÆ£F³^_"€(âMWé¼—x•j#p+UòŸÄ#¶²§Ôi7ˆŽÒÝpM»±IÈl%ܱÎTkÖ T­EÙþ3Oq›V{jÇ?jÔ#˜Àôï·HlŠ<.õ"·÷4Ĥâ§;PÏyMæ"†*BT•wçªeZí¥ŠÍFëÆÕiéÑà”žOφd¬•µ™Æ¸ (|‚" pn‹õnïcïÈšå 9— Àª™ÙÅv3ù榀ÚMH)ƒÂE¦ù2´Z!Îh$ÂaÚÔ‰Gç«&TŽuÎÂýóÊÅ-‘¡:ËE°Ô)ý”ª˜IfRøèÆ«nx•P|ÅöŠB/Ì]a–é¤}úÃnãPC·\O6‹‘ã¹S¸²Ó#Cl—ýE㸠‰â/O .Ý}u,6KN¾0FÒÞ“âÞÕ@²côàŒJ›µOå…S]Y$>ÞUtöa2 Ö¶'M×HêàjÙ6ÃQ8øÙíz¥=2;ÍlŸpY2£Œ9LÍ$vÖ4`ð.¥gptð²Ï}|*û …ñŸ«ß&þ9Æc·B€­Ç ºgÖn}õ]½Ã\’l“ûG³Û‰Í[°R ~ðE„ãl¹ª@× Vš|eM´3&O¨ àD£œþÜa×1¢X=ƒ™ºy`n.ðÆ:¹ïbP»®æ°o;Òû"Õ6m y\B´m/×!»ïη‘LŸ3¶ÝÄzó7%œ´!É(Ö™\d³Ó ´Ú},öOŒƒr ¶ÄÈw¼t tטCüÙ<¶ó`Aý{" åk|¬ØÂGƒŸy›•ÍEDœ$UÕЃÃ×M@îy«$WÉWÁ¨Qyv ½UÞ*øs¹„ü<—×'©·÷²&ÿçòe·cU22 KåW§¼§uÚ EJ³@C²‹ê÷0Ï©žã’R²Ç ÑB–`U—lº”ÀÛŒ•Õ3ÍZ_XèU’1…»~+zþ²¨f ìÀþ¤'‰lÊ»ÿé+-Îù%^y9¶´ÇñÀÁf—Ö:©P>ûIË~G#)Ó€Cš|ì†dräX}T Ì'Ùy ÖIy¼syÈMXtÅã"æ¤Å?…—z¢Ð0ÍX{Ò{ÇHá½èŒ®©+$³ÿv8Iè£h{_öŠx\‰õNÑxþkÔ£-ÜgºÛ0܈€|kKîô4g?¼åŒ< GxÜšì[Šu컃¢< k²¾³]ì‹?ѱ,c€Ÿ“} ™]v¯kÃß—ÿª"s€"q7„öÎ y£bš³]@˜÷L°…¥çãX4Ÿ» _œ,»Éúsxð”>Vë™·4Æ£Šéç˵“Ñ‹hH#ÊuãA¸üP¨Ü4ò·ÙQÀ|0N3bK÷º!ö¸k’´\¦3dÙTÿÑÿ¨ü4vÆ0Üî{¼ÙŽÜW„œüáøRS åG?ìgvÑ% ´}‰&Ý¥¢Û€tº<¨Çàoj+¦ªˆÒ×ü.¾YK¡_íÂÒ3ýÞö‘€(pqÈh¢zLv,ÚÐôJ‚¹R¼!…ÔIÞˆ$ h™©cQQH`àªÄj c°$ ”í\•2Mä„ÍÉQÇ!j9Ë&@|æTœ{{ÞÞ)ùùmr³KùKXê"ž„»é½ŸøÉé?ÎW?ð+¿G›Ç'¥áù  H†±Ù¸»M¼¸ë÷r¶*Ñk‡¦ Q¾u îâš¼¡(íuH†-s̓!à‹êÝU[˜`Žu§}Ú”HüX~UöÝÎÛµUØ42ž°Ç1æzl\ОÏ}ÌÄ,Õàž˜Úl‘….ïwÈØ¯“?n§)#:´’ª5êå³Ô÷²‰>>E"•±oãD9ÒËܼ¹o„K}÷žjPJyËIr± ŃrδB¨ .P¯À‘þjמjYoþ óh¼Ä­v&ù“g™:™ƒ±mÉ÷T×µÌF‚N¾ózÞçá‡1æ\q!ªd ¤ÒµŸ³ONè…Å|Ç_OÌæ6+Gïýå– .¼äÔRx›Ò‚O(ëtƒ í®÷æ§–2hÔDRÚ0“ñDÑèšIÈjBD®M~ß01³Cǃžß|&Lõ•nwôV#É8õIF¹ß$‚z3ta¢÷©ýŒ»†!öž4GšV.¿ZÑ~nùbÖ„9rC(§Ìà_FK–mĪ, ‘áíS׬ò®(ld³bFPÒ»>v~¥q†2×ö|šAÞôá§x®§ TjÞ³ÛÆ,CÞÇ¡ð^”í÷Œ¨CE¬GÄ$ðûïI‚¦„6­¤È¹PºÕ‰CrþëôG`·Ê¨iàxŸÝ©MòK“¹ ¾"fwâßû™ÐßÎa‰a·­f½u);§·ÙI­Oå´8r/rz€Ó 2…­hKOÑö÷íÔÉÂ|ÇfDûK¾2¥ÑþS)çúÆÃñ«·>ž•«’ÂÉž=‰ÞäÐàn>Ù‚ˆ=Y™וpŽ‘§óÄ^-ÁT‘KÎݶ¬¸D&–îkôsÆ´žÂ|+¤»‹fØ E¨£Xà}‡Qíei@±H8]óvãéQÓº˜XÖ2L&ž=BY»põ5Ô`sË®¿­Ç\ø‡Îj°SCžó"ІA&fWrØ pèžA…ïEó`‰ÏÞS¼Cr¯ nH†ŠEb½°`»ßç凼I’|áÞ¡TPÍîÒÎ70v¬§vø}üþ\ÏÆà’…S.‡øEy¥mY5R¢§¶,Zã·öA °QeFÜBè Fû$±µ ¶—®cQvL"jS »a¡™3ȉ…cJˆ{žqM÷×r™FÿKO·\‘öWJ*ù1‡gc礢Mâ5¿AƦóE¡½àÏj 7ˆt+°ƒ¡g4ŽŠ·ÈNS©c3¢£õW–—̲k%D’pàÔ“ýGqÑ¡a˜Ï?U™I!¸rÂAßÅI?ñ+x 4†FCF/_ /œÒqÄrŠ&ûÿ9Š#øÄ É$wÆ–¨‡“ŒŒ ½KRŽ71´«CÐd.®ª'è¬'ˆ-”ÙßÛ‡Úš·þÌ‹ø‘¾Ÿ†iÇš¶¯F=°Én²úy ;¿‡f”Â,åÁÚO$%ªa>ÂQd4ùkê}×9Q/{›ÏÊVä_b¡2[«Å…pݩͼûà”qŽï¹8½bÜ“œˆ2H鉷@i¼K6*³(™Úà+^ãä·‘cm˜‰‰¯w¯²3k÷+¾œ|¥ß½}“¯XÔPjÁpª[ªêKüÔ“ë‡æ»¨| ¾4¯>ØÖç2 ÔØ/r€l¤C›¨!¸ÁÞMLIΩF5ï(Ä¥‰ŒªvÄ' €*kéP›†Ã?dsº”äÛbli9ÂSD6nl~<…ê¬ ˜‚ºz¡ñ7™èÝÀ&r÷ìnC³‘&Ú+ƒò.¿ê²¾ÁuXç¡ÕÃ!¢ü°¿@1ºVÊ·]7÷©ƒ0ñÖô7‹9º‡ìßüIÉb©Î¿Ù*(€ªãÆ"œ‘H›Ýa¤åtç{pñ™h×<ÀAhiÝë-“º€…8—õ¹sý3t&cqŽÄ%í`Aae Ñ×´0€òJ *Ö L23Ž~™'añö¥åÔ˜X1G„+p’óxQrm§i(Êäs&ü8¶o­—x!ð³ÓìhÔ’QÙHœ‚ü;˜Äˆt@§ð€º£)5ö9^…w„·Ñ³Úý24°DR?#÷‡F‰¤$ÑÈXIŒëöò u0SØ« ýêÏØoÿ¼§s,?œg¶¼ôù…YÔ Èsì™æ®òi’4À|½Ÿà¾¥ñåzŠŽµ9©%yÕª1_ºðàI‚bÏ‘ØÓx,†Ì ÛÀžs4á$ÖÞ“ìÊP;Áýdçp³ÔÀsâ0™>I”@¿Âõ½(Ý0½×™2÷[*EnÅya‹‘To®¨áoÀlËžJžÏû‹SÝGLÌ öxØf´zDŠXs± Ýp^®%ŽrÒš­°ºØ÷rEêÿlc]D0ÀU³?ˆÂ ÄÅHß<­Êr¯IB¯JÚ3dà0œ¦[<Z°AÛ!|Á!jWuKÏÑØ§°`ý+$Ž­Bzî$’1ÊœŸ³ç¬Ðº-òX¥¢8÷!ÃΟ£{1Ǫ–kÀ›u†Ä›”ÝÉh[nKXÖÜÌqNcû d\tcDþmiî¤Ã\ô¦”4-Ž¿ÎJ¼ë¨Ù“–&Ò@ô¹Ì;Ê÷ø~lwXƒé¸ùêx…ë?.KgØlÃC±ª…]DZÏ¿®ïmž”¨ÕD «÷iø8o"_É8_…TŽ«‡¹$#È4à=òɇ£Ùr9"B޼ùòŽÂÌÞúÿ§¯3ú·t´º9½×@Faȶt>˜™´t‘Ì6M-±x¦2ØeᇵÖvÑDcß©2~ní?O5U5*º.㹫°¶òÎÆzcí °:Ì:d?;w¶×~ªEùè^0ÏâT¶ˆIùÉž¹–KõaJ ¯¦öÀrà®&cõÊrF ‰YÝ󬳥ÿ?]ø•Û ßs”¤àh¤îpÀóY„ŽþKWJ^ëûóBtú÷™Üã]˜ókל)An„¨uiO¼ÿŒ©ýO[4ª7,àZÙLj0g«ûöÞ×ÑWßr±“¨ _Âß!|8å˃ >)6%úe\¥[´½·<ËbWxÑëãè—á¾\#]ŠÐÃØ×YuèžÓâ´Ÿ•ò2;oràí# x›Ì ›«Þ“»!ã35‘XXH›{ôæeÔB¬E¼ÉâZ«ôY¢÷ Në|zg:¶,j3ùÀÞ•,­<éW›–€Íb×j‘wÊÄS¡Ä`þ›ËÖÍ3%2ê-'rÕÖ£Ù9o%â‰Óãó ÑIx7£ò¾Â‡‰²ß.dA}L…óïp$]~âàN^¡¦%"à3!ñùjÿ\éß½/MÔý±#5®Îö¥{é‰ fÕz_@™VÏò8lG2Ÿõôñˆ4>q•û|Ö½ð™ˆðï±5<ä9ÿˆÈ çlÖÀ/#ÜT ö#™ áÅ»–Û•ÍÔþt—¢¢g¬7“ÿk5%Á/(í÷¶Ô~‘´(DÇŒ7ðA$« Âûô ugZø[ÃØŸ×‡ã£å€ÐÁ Y^áƒA¦tE™„ü”àX¡-»Kg3‚˜a{àkÑ*¢3¡š”Œ|¸Ñ5Ðeµ?Ý|QwÀú€ŒÐl x ¨ÓÅ*âËmêêˆîšŒÌ… Lºf-š)@¶ã¬Y»,ò¯»H.TÓNŸ˜ð9è0ÓÙ˜‚ì~Óžjt†"NKM$ Q€¯ÀAxã³)*½rFòxy·í͇˜¡œÈ¢G€ùÞãâ†ü7÷ðÚêub‚–¹ ÷AøTL¶7'NV8#¹±=îhLÄ^Áòœ‹·jW+L èª=[NÒwÒ­â\û“ÜОX(Ê®ëB# ¹ÕIî6VžêÝÉ“ŠÂch,Š…?án(h­}D)¾[„ž!œäoRü'b8îäÇè°‚aRD6ÓFZ Kä_]ÐØ9(—lsøŠdíðµ',RñÖÖ«qðè2,ðU½¶3vÅÊ5nm “mÒÌÝû>ßún¼5;ÉmÙ}ÏÖrç>h&/Ô0*ÿËÁµÔÈ]sWk*é.ÿŒòXt¿ÞúúÊ›%£{$A¹ó•^Ÿ^£#˜ùô $sždáZï²!_{K‹øqa«j· µÃ·$úúŠ’ÔEè˜àÅÒ¦¦ä ’±#,¾%¤KbRzÛ7 ~ôì> ¥öÒÇΰۉ¹ÐmmÄž¹~Âÿªih;´̰_Éæ^«³]¶‚rÁ[=&­P;Øy´ÄMXªÚâý6D0»ˆ{©vô0XëKv¦Ms+F×ë4½,ôPz^Œtí œN€Ÿh¬&Š'b;_Ň…¬C¯Øã0u w#” \mqy¡éJÞ¶ºž9Ó¤JÊAi5Ü^kÕXqêzÄ¥WN|uí €kË8Á*’Â@µUjY¡¡X šÊvÉK[?¥€:2  ëÙ!ä«Å¾S5£w1ï³Äô-ô âHþë„%ˆ“JÙîšk?Ì–Ý»N{]=m{Þ÷ŒÎpé¸X°æ1o@o‰ éÅ]aK~!Aç º\3P6\c8V…ܼ`?|d bË!wñHCX›b&M—Æ MKÛóÒÛÖÛéë*xU32¾Qç'ÄQާ%=òjôúø iQÐŒ>iLö¥XÔÊ;±lžÜ ¡$Ǿœ‘.%#"¥U›=qøGèz]ŵ6’ ;g×)è¿).áfœéllÊ«â Ä#¡Å‡tæ°zpÅøäN׮˞ù¡?ô3Ù`ªl7#S#ÜÈ#‘¤–2ŽÙç¼Ðº=â½/¸ßO:%°¹ …qä-fCT½#б~†‰¨\"G˜Ú/(´Æ¦ò!S¼³Ôò$}tBA”N5` ßÅvò6×Mwí{Õrz_8ê?ÄBŒŠ‚+ƒT²\t>Œi#,—Ç¿µ^{4M"»æn¢$âÔ^Œ+5àïã°‚Ïÿ ŸgŠiÊ_ÏegǬ–ACZ>õ ¶øUçç&d¨|ÅAyD*}„– ›Ç§PzàèŸU–òÛ7Œ¾üûhR˜™v¶ pÎÉÚ)‘õ$‡âDm)µeÆ7VA£,ä"! ŠŒÅJ)f#øÌü0dÕÅé_øÝˆPǬ½j=|bøkúäk¼ìIãawP íÐÇSû КJüQêdá!âï ºä2!œÒ¥œ`øM1g6Æpœe­Ïx‰Ü1ÿáêz³¹Œî̳ØB¸zbJ3¯«šµ‘U¸à9m©½XÌœŸŒqG¯ÏU´ÚžñÜ`¶®ÂCžD"“èßt_a4¶ï-•`Ÿ¶LÝkÛÈœF ñ&>ðÕ<ÒLQ+´‘œzIS i°fG2 ý:¾éŸDKV.W}מ ìU ‚ÁS«Ú‹ñ¿!•¡±Æ%APÔûO@=Qcñ<>#²¶è—XËlŽ`o0ýAt V€Wß‚ö­ùÂP,­ƒg¾…¢œÕy6H!ª,Gb÷’Hâo 6øìkçÖÆxkð–ê¸NH `äz† éQÍ:ÔmÞ˜gÔƒ¸ ]`OÛêðδô¶ÑTN{CY"Ý Jߥ¸Ã¶%³Mß…: Ü¤0Lƒ{ð‰¢ˆÑ Ê~cÈŠÌî½#|þÞ´:œ¢€[ OÔ«g³~ ™ï4|üµQaQ‹ÑÓ¨è{µÚQ‘Ò!™æœ ô–I7w™p0Q¸‹˜* gÌõEaì¾@~ƒÖ˜÷Z—%“#…PgÀæÅÍê…žtÇÎæ ¤áÌ27h@ìÌÔ†äì$’¸Û®Ú׺˜ä “$®?³%ù$ƒ…¦ä$êòkþug.Žº HBÄ]ó «¥°PÜÿú‹&¹”N¤£GÔÓ´^ãÿ‹.'…Z‰Ž~:£f^ÃUëW5ÉGšÏM6–×n5á‘hvL膇ˆQäÎìÀ»Ía‚a~Jñ_&¦‰vÆk23àŽë¬2Oèc§Èõž ï«ÎW6ñB(´¾*WHñÜn&û1ùœ6?RIâU‰áñT ¡b{£·9fn£"b­C`Ì7_Ë]®%Ý+MìaRíãZÂׇ99¯¢W ¡EùDàp”Ù~Å÷G˜ª¢åÚøˆÐÒþK%’_²è;qßù*Ôu0$Àœèrù>%›d;3Ûº+O ,¸š|´m^´ç¾#7¥¥^IMXhü¿55´òØ´xýÂß芿\à³U±ÆÅ:€é–±a™×+j麗­ðeý'޾½™FjÈ(’-TÁTc.Ç9S Lèf@o“M±³Àšž¼Ä*z×v.¤ÐæsÉø1Çý­_¨×à ërl\Šw?d´ÙaЦš€Ú9kWd“Bð—ä2]=œˆ9æ•/"*¢Cå[·úÆb¡9>1rAÒª½—e‘œ¸ÃÞ¨qD![>ÂW×µ!!~?€€h»¯„ÞSß0§w],­ÉqÎRw4…; bsì“ENâKÏyQ”ýçY´RÃŽ%Ak7_òB¿³±€æ•ÐÞ42Èñçf„ÄÞT“ž7nËK2!8¸p_Jm1²f¿Á‚¾åÖMR¾b ÉÜJ„ì–¡F®½`¿Ø‰…¯yqRè*)åÒpOeÑÄ‚(U³ zd—ª“ ªziCt_Ï¥ÇØÐç½Í.PR ƒBüàçE ßȦý/U˜³ãot¡'Ê&âàç‰ËõP`*ü ƒ¯su€wÊÊœmÜeöå“Î¥xJ£róÈ„`G =´nŠ×”æÈ?išÍi&µœæ™už9­©úuÖóG†2¼,ŠR3™4Ú“Öæ,¬Íx`Q qhd¸[>ÛÏti ÈÔŒ`ßÜz=ŽméíߎÒ¯1]?î<³‡.!ºw݇ï…= Bêk:µÖÌ(¾Ž¬dJ¯Qè< nÿüꉳñ±A¼äp±XX«šÈìÅ F"‰Y&3̳I zÛSe}<§â3:;ò!&Kuð@Þþè‚Ý+ˆ´8!9ø¢0Ö¾íP‚bC†òþÎÓâ9ÛãA©‡¨.S±j7íKÁãYÃñ9o((ºyŸöϹˆe¼÷’Pnh°÷îþUƒŽÞ¿1E*@”gUm+@ÏPöG²ÍýÍÄK¼Zÿ­á[Ã× XO .í„Z©·ô¡!‡tòß7úzÉ©ñ(”:'ñq¢‡Òe“”èëý%¹VN%?IJP-j ÈBèJ½íO® Ú!­Aù„ÔwEe]®[§­p6_(Šû…x™O»å|‘µg€o@41¸½ùõÆÔ£¨YÇ™sátK†^Dá¡á¨1›!¾¦­Lþçí9|ÎWÙúbCÛŽ_èOñÉÝ–£¤…ö†¢_GXã›2žà’½ ©þk€ä=ÏÓ~J>¨kSý‹_îâ'¯n–ä–—áo`£qI® ÅCå_¾z½X"¢ÆHƽ y^l` LZÃîŠq§Ë'f…9çT|QX´ð4Ó?À‘×2×øÆUÚlÈB'—¶mauûG,xV8ÑÐ&úٽɊ,Ú¡¸u\sìjÞÿ%”õë Âh^xø¼1‘g´Òió?r¨½-T²Wx ¹rÆrBú¼móäØý—¡¨]ËsÌÜ­À@‚·Ë³ Óý©ñÌF¤š?2s&|¼P‰½©ŸcaÁV‹öºÐÛ’I8›ó Ä»)Àë§êâ•ÆS# ‡?¾ ð«Ím0äÐI§xÆìAë ):*;v‚¬¬õX_ËC|a꽘Œ€?-m¶þà^ ßÝjIÔ©þÉ7|¿³êPSõ€q8j%v’~©íŸ ác ¹oeíܺs¯:‚Ä¥Ê È®¬ø4hÀ(oLV؆Õ/ º’•Få³GyMlbfF©;IF7‡n:j{#Ðm°´à–ÈnR=@寑S >-Wâ¾o‹…· f0·$UqUUŒ@`´ì~é‡|wg œÑD¼ó#G¹I³ëøJÀ¥Jp R@ÝTÀ3±Ò~˜6&œzÊŒÍÏ´Ÿs+¾ðPr@a©Ÿ¢«hoí齺¥ÃÒîÒœP2íýȬîîŽNØ ª˜ð\B»ºóñsW§ƒ‚ÿ ° xTè¡©"³,3Â#±.”ÐF ~̽ÃÈ LØã~È€óQ€2^ÀײUã…«‚2+4ˆAtŒgl¥,Ì@”èyžM-G¨Ø!¸ÍIÙ¼pìDmÉ»a#œ.}ž_÷þ™Š«+‹¾ÂXeûÙ®ã,#¥v=qìh1‘ß΂Ô?²­ »€îä„ F¤R–æ´pã+ l3þ~÷¦¾ñÙ„øÞfQ°=S(@A r–-]¦ˆ8ËÉ!$…s|–HØê&3·5øŠ·“»(Øv Ÿùý ƒ¨£Á²bo!K©™‰iÌŸˆ(ÆtÉ“.=çßT¼lJôz†ÙÌqÒU0“u¸ oÔà‘±|=¼Ä+1!üzhÙ Û4‘Ùäzkç óikŒ:ï|]šî‚bl ¦V¶ñtز¢ýòˆâÕ *€ Ø¢ןZÀP¾Ë×LúË+Ñ"5â¥Tu¢òP§\€ÓœzV¸ÛY¾»¥Œ ÷²^k"W´wv dyqm2<ÚóÎÕD+úÄ©ñ,Ó¦£Ÿã¯8{ùòGð,%âñÊ%(¿¶€è Í™N »ÇiŠ\[M”"çî-jïâÕöwÈw´¤•6wÝ4ÃTµhþåzÊúuµ¨±³ ôÂIyEA‰¹q+ó™ô|ê|í^=Îm#­:ÎÀT:{¿ÄŒQD¿gžرú¼‡ªìDÎvÝ ¿/§*ý½(6G†¹¥½ð—µë)zã ÈÎ4~iÁbÇ‘û-Ö™®ýë Ò1œÜD:émX¤8+îź;âwޝå™öã_iù”ÐtÄId}NDÀ û?kðØë÷\ø°O¤%‹ø›™ð­ïiÔ+ô‚ÔX”ÔÕnŽS©:d&B ¬VçeÑŠ8gÆr£ššÊ(¶y•Uè…),Çå Fö§Q—¾G¸š«S¯Ov&1'x1Cw`Z¾°#,`[»åi) ýZXs6³ †X—vM»Ö­Ê;˜#A¸ P‰bóKøÍM!6º$|„=qð‚[.îÉèóó‹(×"®ôíÂ. ýœœ»‹¨ÅÜœ×H›õ?~“ð»2»ÝÃ’yk<' ‚å³çËf.<{Ô´#r·m‘“‘‘Èc”£:Ö—S7[7ÎÂJaüí1Ó§…/8$å#[Œm cºŠ©¸ÿmkAÌ‹=!ð´ÐÒm¡Ô_m‘µ©©|öÇ©VÅÆZ ¿ª¢”¸çåþXù:¡„`¨RzA“¤‹»3V¡…  @æq9—ÊÀ›®ÝN5èúœ'ííÄåC§¾R/xÂ'Üá»»ûˆÏ­uýãÊÍW[á6q÷ˆÏt´œëeÝè ˆˆµžlW y\Û/„íúG ç”nþRä}°pLÙùöŸµ’éN3 ±[ÍÏÐ…Ï‘j=‚ Õ/— Å~²u»DŽÝýú«;Çv䳇>¯GÜc³"ºÖ%Ÿ&†›N²:>m$RHÍ(œfÁHŸ.3§3?fõž)/ÓX†®º·vzW/—Jï6D\Ô‹}bUòXY=†í"Þ«uŒau¸Ò-l欷ÞUaz)(XÚÚ½«ÿôKÁÝ/pš×x‡¿ÚÏš¾WGGž-§ZåKì©+²€íiv™ºûÍf{9Õ Ä?Û|ÕÇ&á&«ó†!æšÁÎ¥ )fM¹²ˆáh[Ó4òóšN|ƒß«Ù„[¹]> ¡Ï/F©ag:úëÇ=,˜}:VÖËa94eœ@„`ÂC³â­Ûêdë‹Í_Ú d‡ßU^DI‚sžAà•Äàhj,$ot80†’×ÕîïGúj²EœóõŽ4iËI\†² ã‘°yÀ‰ÓŒ)è ·­+ùßÈ_›ááZüüq/ewäÌfgÌS_µP`½´µ¤íÛ›{U°äq¯§šj¥ñ̬¡€¥:¼ZʾkŠJ”vEÒb|÷€È¤Ã9¼åSÖ¡ Ëô³0†Rñ‡þ~XO;2¢Fƒ.È“'ž‡La8þ —aî2Ïs=6ŠS¦]‘ÕåY¿+RÂ>¥¹”•~×³Å¡ï¹Kå9çiàÿôGäI_¯¦'é‚ãb¨Ábò–d®Ãææ.¥5T:‘rš/b/;ëM $ûˆÍ}4ö £„u³*·0Án4´+ ¿<©ôà)þ»Ð€±2ŠÞ'ÀZDb‚r÷…Uj¤jô¾f_r'Mîï’Ñz¢©ùcI±ܺ!Ú Îõm™17Èüͳs¨€RjjäB˜áa•ûƒ±çkšZb\€ŸÞHsIì·»÷ÉêYبòŽh° Gw n$SAÐÚX{,<¨lÎ/àýÄ]€“E)ŽÞÁ ð0{ù–8HTÒˆ'/éÜjê¾b^‡B‡ü[ëQâl)S«T$s’{üÀx-@ÄCæy›ôlQ©¸çMh°çÍŽ0ô{*€h€²ý§ÞZ(ßFÀoÌ3ÇÔþÐCÂ"ôQöç^MûJÿí~³$¿þÞêRÑ`t¦Æ:ìSqÑa.êžüù@u¿‹°öAÚn 劽;ÁÿÓaKƳ1Q4f+®3QÁm±æ^zùÄIq¦HlX ±ì¾æQúU]?ízœMª¤7w·I¸Ý¯ÃÉ~—Ç=ÉŽð©RA…îxMw ã#TõÓ™+l‘ú×à$MEI•æxšûj;òà´Õ ~Pd’ 34˲nY:-uò8?¶Eå2VÓŠ(¯Of(»Ô™5yûI k2çù?ãy_—E[ÙãÏÙ[Ò­ _0ëp+°|ˆˆÊ¬F°vdŠ%Î>§¶‘ƽÃ3ŽØJàdžZ˜hrø wòKßBk9ãÀ[@‡Ì¨õ e±Y~Í–ÖVeSÑæŽØùd)¢ä¾ê´ /ѱL­á¹ 9¹1ÓnâÕùCmá­xu­0ÍÞ>dïìoF"ãg#Æ+Ä~æ[')(r}%¼2‰O²/à /¯ØÈƒøUº~AŒÐ#ÝòWjñújTãvøì.Ù9ß6yW¿ƒa©ü/t*ë5 |˜&ÈwåBr×Ù_B¬å¼%ª†iœÚª¯¡»–2»4 9 Ã;Èø’'ò±ù”þ¡nYi+ý ®”¼åï<õKÿDÝ$ 5\¡£æs|¸…©æ BÚÈDp¢–K N%—G]=€iÐö»Xæ,‹JKœÊH&]^V¯3iGѸðMy+«Ùù£rq [ÂK16=[Õ— 6“Q(!ë¶Iµ&.$di1ÙÝVùÛîƒd†²Ä—C{}wQ±±t¿§Ã¥£ šïì_´+³ ‹F} KBú…^^8IÜØøÅ‘²VΗí‰ùUÄg)|¤ÖØ ÖÝZ™ÅhÊ‚Ž]Z•µˆXiQ31Àö Æ<%B‚u¬+0[À»rmõ1eìó+N¸€Dš¼z‰‡8Môcþy¤0óÏø:Ï\]ˆlj´^³Ž½‹ åÇVG"Ó?_¶!ˆFѯ×Í®]Ë , ‚5|è?aqÅåJöÈ–‘C´ùÜÞ¾Ä6b8êÅ0ÕiÝÍèY úš(RúRª0gïò ƒ¸ƒ.ë]aa¼+CgÀØÂ²'—ÕmµìÄ:øK¥"ljd6ÕsªÁ|ãÂ80{)P>X5”.‡‘vò’ZBæ,ÎUÒc¦ë:´aíÁúCþÞ×6€È<8&çÄ/–xé óFùvŽgÿ›Ó5ƒØ¶ê[÷C3xùO ‚<ì 2ZQWkÛ«Ÿ]Â{¡ â°Wêî*ÌV½iâ¶n`z¾LjÆ#¯7t°õ'ˆ ø³2_bb¶~K‚ÀÙ:­ô›]ã^°PYé4”.ŒÃå5:å‹@ênßÄy(iÖ¸ÛO±|‹¡oRV#˜#°Ží_K!ÁÙÊ“Ò+Q”¶¯êÞsfódýÉ’5lÐp»¶ Byî©×‹LŽY!w˜Q÷Ù@(¸LGWÒ‹$•'^>”o3p®•¢ æ÷YØ’D³Eް²4;WŽ{>k«éý%¨¨¹ÉШcîüQ ™¦ggðEŽ\…³ pBÝÿwØK[æêg¾Úa&qfL÷)ýtý´×E€G_¶™5TÑSg™)½%‰‡*¾¶\¨é=¦Ð ›ÕÖ΄ژº›¢Ï{~“y3£ì¼K‰$*û0ÀUÀ¹‡÷? /F+?]§‘ÿó9Áx¬¤çGÄ.ù ]¶¶b¦š?÷þù[bQ072@EÓËÑ5T·¹bR›*‰»Xâ9~—Þ¯YX"´çuÑSN úÊ%Þ›jC­ý‹X#ÄÎSÈ™1\< ;—ªëC‘_ÓûkTQÍ®…ë»×‘ ðõid×Õq`=¥nuSn´Ñ°c„ã'’í­†K†‚Ì—½wÞž’ô´kq£ M´¶ƒ ,‚·T†º°ÙWf}#;dTw5_ öð¢ï s÷›Ë¾¬†šTÓÏψÓ¥%¨m3¾ù/`K˜ N,Ä.áD°“”¼UÓµ.ÑÚ¸o8Øj¹ ÝCÖŒ†Ë˜v>ý¸´™&l/V#ý˜ÑÓü2-˜%+btžþŽÁìDà^¸&Í•ûSô®R MŒ•Q`…Þ.÷I™Êኛ ƒ”xeªÃa}"‰¡ÍRÓf'šÐ§;&”c¼«‡ØåÂ<§{"ùŸÌz»5â"FÑ5CiÔ“a •öE Þó]å`ù—!U¤øãÓF€¡Ò v•÷«§§Ø'&²•+›ç~J®rD su{[eA´‹:ð50„n¿¥BY$òl~»º@¥É6ý#ª¶_õ[Š¥µ+GŽM†afÍš3ÃÊUl9ÃrÌOz¨ #v[àö¾òÃXSCÇÙ9˜Á–Ö ¦H="IÍÈ+²çëròÚº) 1xíPÏÐ*Iü¦ŒÔGï趈d}féMOŸ%tØ lY“}z€b¾ Ú°¼@ÆVHC š4ÝF§Eµ+f„œêçöظŽè…‰÷žšÖ€Öœ$+ÌêÂÿyåu1ÿ•áq‚” t"à u"â,äUKzMÂÉP+k!žPJ°;3©ð)âÿ –‡%¥{°'e¨+úIìå?,¦èMø»?¦‡5« mcɵÎm=¢[£èªa¤ŒfJà"£”æ` —˜Þk#eÐhçiœ3t2ÑUQÖ’grã~&Sbä%âoÜ<u€:•ÁdS»#ÔVêj5T~ ÅϹ…?ãæÛa ÐÏðS_,;.µ ,J2ÂlÒ>¿” 0Ëݿ؜DH€Iñn‰”©–£LeؔͿyù:}ý¥îÌb÷µC ºªç[xmJ9'MÎXï:-±á]Í®yÂq«»˜i!Ä›'‘§„t.r|Až-ê妷©½ŸùìÎ_Ù¡M¹1Öw úäOØù3¦%ó$âÁðè#$œÎÒGeàô¶MV¡ÐjU®wÍçÃðÉLÔST§µÈ„z¿OîdŒ×¬Qß+ªÜí 'ègï’ûús_°|Ho$ –Žcyâ\š`ã´`Ã:úgœ›£GJlpz›C½Ã0’ÕX-ÐôáêƒwÈVÿÕ“¦Ø,ã#.ù/}Áð åétS¢€ÙŒª?GtÜ0ñS=ð^[p÷1ÁöN² ¥ãXA>SD5!Ãf ®û|!0ÕéxÎtÁ¸mùUÂÕkN]Á¯?ÒšÿzŽÍ˜l c¸1e Î–ÂŽ%F&ák×w…»‹û£? Â䯢+F‡3ßÓW~Óõnƒû°"1Jðôÿ‘z†*FvÙ<“?V1â¹­cšÐáÖ4Gâ¬Î¯€±5 ^ ìŸ@Ô|4¼Ã_ËÍÐó{Ž%y¬,®°ÞüFÅöÒO””>W^ìrOП@€4«Sz²’ÅøÜ|^;~e¯ô‰…¥uà»Xc jM¹I(ë."¦íáâ9¥«'9Çâ 'ŠÂ8¦ÚŒ­Ê$’QñDŽ×vK„;m„3Ϙâ 9n;™Ù —{2V¾þëFàÔ»BoL¿@Ç«%èšdSŸMvŽÑTä`Q >ÊŒüãîvEu]±>V ;úîj?7uНa¾Wì>íߨw}é5>‰)“œ;¹Qg0ÉÄ_.êк¤­çAƒâjÞ›`Žñ“}†D«‡ž¿uû˜éÞíø“=6è%,9Eºvý/E¥­³H0rˆ4“sÊp*Úå¨ïÙæ',5ó-ƒçðµ$‘t ]Z“$~àlÐH_ÅMAB/ÊìÉ(tô%žöV™Ë ÿÝg;]"31-…ÐCÑ ÂÍlX4bC¬=Ì|ãgJð4-ž' Ðs)íò›»Ø¤–‹¿¤1-²Gké"L‘»Ÿ~ÍwÇ0Ü"TÛtÅœI{×"™‡”¸vËKùóOüãàe)T»ô9®ch¢ÏÌ‚„è&„O&Ê„!”/î #:6e»Íx@Oþ÷…—D‡Ä)£ýHÁºàê†O² ±hËÌs—¶äûu>"ßxÞöoSìr ÅD ’š‘0éó©ÑŽ—½‰8ÎÛ]E¢äÒÅï,úठbʶ³s¥{—emGùj†çÔªMÛuÔ݃)|†—) …pË_ÁÑB«zâæV9UCìga¼l$ðP}q-€¤Œ û Düv ô•Öiÿrï™'bÐ÷m3¿Å©670hò©ý±wóò˜Û&S{ÚúgŽù„™8ä­Q( ©æ˜ËgÖÞÈþ×P“Q:ÁMÚ³yˆÙѯ®Y÷ ÷þŸ½rѵ]¸o™™çatÌ0ÇNcOh€+ýâNEfpØš„x,5$׸2ˆÄüÅU±„RέT®S£–2–nãã«m7ƒò h4Gšà°^9ÑÄþ¤+DŸÚ‡;ÛŸA¶ôl(u~ XÛd¤¬=¼’_ «[0÷Vå™±“±²h²Ø™M—J•“%⺊9]ëÂ#ô«{Òy+&Ba.áØ¦%8(ü˜•ÛÒ ¯áíR¯7m”—öfpˆ -ˆÁ?E)D‘^o%¶tH»û‘YÒÄlêk˜é(¬}&gxí!%ZgmSÞŒ8·¾Ç?Š6‹Xkû¥lÀÎ!ŽøÕ£÷ÑOØÈ&†Û×Nõ“þs„ú¶F’Á¸„Gáö†XûVÞÓà'®Žñ|sFœ!-*Ù¿ snP°{'µƒ¦xƒÂi¹VÿoúçÄñFv“Vs†ŸÓ~Ðߊ@ân?y"ß³ç"#u>:Æ»Îõ¬+‰kÌÿóœe åCÎQÙ`çw” r§VèÙS‚•sehk¢þ‡Êeox!òo˜{R.šbìýñ{Ó¡‹Îz.ì]{–hi·Ú|@^yå¨ÑRzP~¾ Œ ~ý¾N¿H•Ó LÏrLd Ö6²ûÕbåXÉK¹¨éäì=Àm,$»ŒStâ œõ¥ÜñUû N¢&“¶£¾K9’ßèÓXqÿˆ|í±¯jô—Ö'eñN爊KR¹hRè§ü tM•t9ÌÅ™s4ô2,”I±…£¾¯Mø;~¹ÄZ¶_€ª¿]vCõô>Nj+©ÈÏPƒu.¶þõÜ[PÝèð€Wçì ÉÈgÅRÁ¥ƒRøÒ Ц¯åãE!Ý&’ËÊ=é2än™¸(Fz¶<©Òô[­'SËñé‡Àh×{áÝû÷1<ˆ„üÂè]ƒÓ¦u:w€Ú< €ƒx—ø5Nöœlbi‰.+ËÚʰ¶é ’á.Ü0!fÈ|´òfIh¼r‚F·K´³åô5J›ä9šÂ}Xä)£h‚¦æÜï¸)¸W¢ÇÉ›“#˜×M!H`f¯ÇIÅðuVv¡Õ Ô¹bÄ¢8d=ª Yèa9·ClK³ïQó3Q²H :ÈmvÑ)$Otj/z¹„~0—Äóu½ŠYešå¶×ä‹Væþ\’¾Y ‡Ö¦íCú(ær¶ÁòÃL³¢“[úSðñ¢ð,ŒQKÃ4ôñ{‚ÙS¦ãób]U¬õ­wîä 6e)_Jœâ½Ÿ…œQúú¥> J½be凢˜g¨ ßÁGøn¸‚YƒýÜ[×Äcµ®Že ÑèTŸÄìãó·4~l‘4ò6ä+zÜ”n`%Ã-åG|íñ€Q­·0[x½M“+Ùž7ÜÃúiý9hR`«+šÇFÐnþGÌ? ÃØ(ÙÄÊÓE|IªAùÄ‚_»©©áç°vG€ðËZéžQ7ƒP7ô¦"cp›ÍAABýºq³óóKpdðõp„7j5%g†œón2$8óåJÔQ0[µ˜Ã€6D‰Ê‰°$|8®ä®¯^Q£¨Yç5æ\[†cØ‹œE5@ufšXáÆìæc {KEnöœóÒû¥¼Z; íst<ÎÞ¯EÔõÙ ëéíÎË7·ÑÛÀD¥Ê=»^ZCl-›á¥ùp†2ñà·*Œr=]‘»LP(¯%R[¦‡kÅ`¢›‰l½ÂZZ¡±üiºžÙoÚhŠñƒC•¨]…W¢h; îòq( Qge?®m˜MXþD®ËVp$ û€>ŽTìÿ#FØl]6“±ì 6[ø'\žîå¼ UÀ"Yõê½& ü0PÈØ†d:r¾â?M üé1ìÒEÐRaYôý— ó™‹Œù¯Í#,2¼04ËÏè±á4³,7Æ7s"ÅÄÁiÅ~öz#H¶´¦ÒI9%$ƒ¸«šyñáU`ŸåºjR(h‹@Þ˜Øzä‚B§»²‚¿‹)F´)ªú™ ¯ZÎ#ƒ3{ýZÔ*óSda·‡ ÇË‹¬´:˜ï§̆É#“rn~r+ž0[Cš¨Ö~1ŒØ®n‰4žŒ"U«:ùKe‡fe–1¢E߈Çû‚-ð<D)@U Æé7\Íw„§§z@W @¬ý”hªŠ7LƒBûî ¸{ñd(ŒÀ”V¤ë†Ñ•{Æ:¨­¾Ú-èïõ+ûŽÈI”ôœëä2@Stï*È"£¸Üä“À„ô8Iãa¬ç º¡2w‹ìY š|¼âQÕz0qÓ`´!/›ÌIfzøˆa¯E÷Qåà@nä¿äó˜;zj}*E˜'V³ÞxÒ ò,­‘ü!mnÔPÝ­¶–õ0³L+âìIpªDá¬Iö±49陵8£—‘äuwZùcü4>q¶D®©‰;öÊ&q!O´£¹{úòRðˆÞ£9Ôú_ûÓ¯<×LT^#`z•-¼NRý«4p¢sxV)~^h¬+Ì"Žl€ç"}¸µ®àfëQÆ8\¤g¶ áÒœZ‹‰ç)Ö;p…ênA™Žgò±Ú’æHÖ² ‰aŸ!íŒc‡oú@ôïk¼ØƒúìÆ_P][¬Ó¢O:­¯Úp¬Á#wš¬@F'KJA¦Ú Ií´ãG‚EÊ¢“Mö¦í7©2PZ@°í]nã{1°ÏâL‚XíùùÑS72熑³Ýá¡ÏVò™Å%ÑÈäfÅÂH¹ /Ñ<ÊýôŠOY‰¾¤ìž%&­Â"µÿ!ê­0:z4b[ƒ7’!ŽõLaæZ¬àBö0&ëeŽØWóîÌ"Ìݳ¤žRÏ0Á£„YçÚ´íPŸ__XF…`°ÖfÚÄïüC¿ ¥%RÞHRá®I`ÞŒwV2?S¦ÙfB¦¨CýR·l=jö1Ní>^àz¯Æ烆2cΘˆ³TmÛµc‹ïÕždû·÷Œ£XÁXýÝ1¢¯/ÙE̯C’Ÿdä7b &ZàŽ§)ÄgmÖ1ÿ ¢ó½1ÇÉŠ©éûǿ¶’A& 6,˜šj䡨à¹ñ§%xTö?Ò¥j‡îâþ½¯Hž#`ñ)¢ïe½QG£4mnÊþ0Ý;-Œ=c0·*¯QŠñU52½ÈŽü™ d™Žz~ŸE‹æk€t\-æ%D´O}V_–ËŸcq£FB½ô+H³áv•Ý 4õ‚–äCC ¶à–36³  8g½ Gƒfaï*ÃEÿ´âܘb-ÂνÖ/¾¤êYP?íìv¢–Á/Aß@"êÊuã4jZ¾ jÅÍ®WÁ‘úÚ` ñ™ËÄÑð‚ÌŽÏ#Ê0Ý© tg­2ªñ¥¦=¸—Ò¹ ²œ;鼺$€È) @=h ½“ÝŸàÜcfœ©À'háQ;Á·bdvJ§7³Q“Ü"­ˆV ˆÚÄGÑ8„ÓÁ'pºqm{æ¤ìÐH'ñ…Ý—ÁtÅéÁ+åd¸edíLXl³k]?q>Í€ï}º8Îç" r¡§ëÞúù@éä™!0*;Œœk›'¼þ² ¨.0—ÞÁ¬õÈ›_€É¿¨‡€¼„³sÞ ÚMº02€WRI÷µ¿YˆˆÉ™›AKàÌÝÇÇ‹”¾b]ÕV1š‚ëïŠÂðj+3‹<¬M×v©6|NE`ØñÉ3B¦ß-†ì=-´Gh–“§Q'Còþ»çï© “„⑊õ¨ís¶ª@Ú3ùÑ[û³U¯ Ûb¿%¶?BïP&I!©d—j`Ñ@‘†.È4Vhm0lrµØóòƒ•ýŒì²‡YÐ/OÉ 6ËÇs+A¢š.’ÙTáqx=s@ÎFü@ŽXáÝ{³b·ÎBÒê'0ë|ÕÖØCZ IEÀæ‘ÐëO )@PæßÂÉõ {½,¾ÃOA"™€ùðv@òêî1ñ¶€V$eAA@ "œµ¬Ä^•és7¡Á-3`ëqó¨ÊÓø(¤E‚±1MïÛH˜ª»æ+,‚“Û‡øýý¨§<ס®äo4,N'{ô×g¶g.‰` 2%*Ï6rfñý´½J`LjÃYLà|’‚9A_ò¢'\,ê?½þ»yáШ œ¼7Iu„|pBa™›µ"c‡I~BNS¬;À#j—¦>ÕËà—,¬è“¸…àÑ–›Š[T>‡ëneœ^­š ½Õ&Ѻ§­: ¦g ÞåØÉÞ"zËK4´SÙaT9'4î=³qsÎc*Œ\^.ý´ÎáÀæÀ·]½Êõ8ÐþTÛ£ âL²3–`¯³ÏµÉoõ…ÁÞ™êÎÅv;ãJ™=z©4|îPÐÄ^gzrKlÑ0ÃNÑT¡¡=G¸ÅÙ¶EVÇØ:H@žª§á£0všbO2€@-¯Ø„ßBBöåôôŽ"hLUDË6\äsev~ÿP™SSgã–®lü3Ã&êÖ€5úÝÇw³ç÷orΩT^ìqy—þ­gÍTï ½ùà&äÔqQ(âBÝ&ÍéS—Ðw¥×)7²®O¥ÖÛÉ´½ MÏT*MoÛ;@8ìLu~¬ °VÈUy‡»DÈùOCñyÏq-郺èNìÀ÷œ?xr¯™cjp!EŒ:ï÷8&>hŸâàŠ7DÙI/HÇnE‘»ÉGÝ12Wk¿V÷™‚0ð·i+ ±ÎA“?ÞÒ°›Bb”v €#PD*8qȪP®[q“ÐĬs·(ÒõôuñoXîzt­qøkKñ>‹‚0n¹Òh=˜ >/ÜEë¿iç³ cmó0MjËUaÑ`ý‡]ÂˤØû]Z"åš’ÕD0.–Ëíîeòšî`—›µÜÔ8o J]õ/Î"J‰] ¶Ú-ºüp8¯%—®t-‰S®Â-È¥‡¼m66BmÁõè±®q®p¿íds­WM›0*R&S†š“þ1°S ñ„ŸoDé˜8è[Aq\ãxÅ>Z3' ëÈ(÷‚ÒY[Ÿ6­cÿ²®{žÞceÅþFkº!Ö¬‡ˆVºÂ©Ù—h²älÉU†‘Š…ãE»o8‘¦$/OÙ1bg ·¢ý ©\㸿Òg ØB WÛžËðÔ]Wé †Àꢭ«[¶‰r«ó9ˆI §w$  xV=¨út›\.ßäž'•.%‰0®Ä‰L(Ã8  DDÙ±NàG(É º=áy(Ëóz`ŽOPHú¡¢wÄô_ϳ%?<™å½¡ŸE§#À”¥„ÌÞÖø)yL×-×oP"R~ÕÚ¿v»Ë{cFè",<±ö.½ÄÓœ––Ô‹I¸üdòÀP0D ®¬ŠÓÓ/Ò:]•‚wÇ*p¡2§ €K]¨8Üvª¹€ÇµL–h(úÓk£´e `r¸Ì´ÀPÀŠ}+sš ½Ô6™Ž¤âj’Ïï·?(cÿ£³i¾Èë{Ì-eQ[u†¬ÔZuGÈ`X/Å‚¦™gJÜKX#œ¨Wÿj¨cÞÐZ3Ø+‹Aü‰Ï°€±1a_Ÿ‡À}àqìÁXȨ³–ðqÍ¡}?šž173oÞ£»zäx/¦„xYýf õ#Þ¿õØ.’|q€¹—Úò5XØÄñÁ̶‚ X¾/v${¨Á¢£Mî…‚.´ CŒMõv¯sˆí`ô¼Ó7‹´U¡~Ñœ9»`ELK–A‚ÓÞö#ÙöIÑeV´$®½À¼uð¡ÙùSCfÞÖÒi .z'"*…8OÇMë/½¦S-}2v~.b;­8ToOÊf½¶Š©|†QªT3ïoƒ¬5•+BJl[ïu^2ÕÀ ô@èÜxõûmÞš )–ø°•$á¢÷öçÊ_’ÁmF‚¶_WºéÈ´ó'¡ÝÔ ¾+¤)òWÞ´«Ò²{ˆÍxTƒÉ…ôÈ6ONyÚ¾MU(¸þrñgÔ§ö®˜§c6½6ò;‹öº1cÃ{᳊4×SU?øuÞü×üÆ ‹í¤Ä¹¶‰óšú(^üªEÈK$æý;ÖV×…üÒl?)Þë8V¿bpeïKÅ™½èÛ5_H€Äö˜‚’¤R¬’=Í|ûÎ+ÉÙgÍ^ÑžÀVíîâëüÙ¸T»ÐÍ„¨ëKwõò ®à̓wc§óVcí,ZìcÒ{ø·ìÞÅz*#媳!€`¨ýˆàH'Z'¬#×ûÞh®†*ñÓëhï¬iýx÷œwîeÞïÉ÷¡¢tOEåsâŠJ‚Ü2UgÝ»ÿ2 5Ê©S/Zaöµ«h½Áž’qó ..~ vÞn¾"Ó-qé¤@ ˆ¯vÖîÁ7̼åá){g+’‡ú Âå¼ïh3§t@[Ã!¸1+*Ðw;ßü3r‘4ÝÇŽª&+õa;Ûz¨gƒÁŠ<ÒsÎØ”wZë÷ eÚKu8”°Ô |(Ñ\at…èñ’µX8z8²Þ?§NFÂO‡¶|þ¤Bš5Ïùr§fkg9´r_¢½n#5ÜiþF+ ¶k°ó–GÅ´êÍm>qèãôÂî¡‘;Õâ$îØjèT0;Ö¾m`énh1  Œ/Aš‘n’M]i)J­ašaù5(ê¬íŽÿ.5Æ®~­Âjü»(ö0j~<‡ÆÏ–%e‰³È:³>šzÁY%¹ë¶2ÁZ  áÞŽXø‰ |pb¸ç¢‡„€~ä}! ¢Gl A¬‰ž|ê`Êpl´Ä¼þàÔü “¥bš|ÉËÊD¡åøz¯ ¼§9Çöwº®Æ…ò9©íôÿ¢ÀžM#†Ó"f ¤­4i­ÁqlÿÚ–nm§JÕóÏ qºžÖŸ¤‘R/Ž ‡/Üã„P"`qWÅEìë4ü…¦3ì€ŸÞ +t¬¯iF¿ëP´Õ C†/¾È`X½ŽcuåCƒù}¨gTB_Si3°}·xr?rÂ:SV i¼¯…’… ¥3™gß…ÍçO€F_ÎLƒ£)qm1ñ… Ô¬)Cêèüì“f,ªÎö2%EV¬Çš§cn¥>&-ÅBhðÚ†#‚•AšØe Ч0’¸—WôÍX¨F&°G7É0‹~Ôuؼs–ÈÆèÂ$á¿äs£Ié.¨e»ÍJ÷÷ær—‡*Öy9Cÿ"Agji¶©cíׯÑM tvúAº•Ú!d;¼h¿À3èÖ[#±(+±aZ®£—ðjÿÛX¦12·«Æ‹ËQcq§¦ ´Êi‘¬]eî-s™?×3¬å·îÊ»!XkIHŒ¨äƒfgÆý›ƒÕŸ—qää(>ò§¯aŒ“ #/~GR™‡FS->·>ükï>Eõx¼wMj%ù§]d¿ÊÉVÜžè\›»ÂZ¡ÛÜy±ÀÀoªŒÁ¸bãÁÆ®˜ÿêÒÁà­¢‘½Š:AäŠ †ùªRõP"êàìïwUN=ù‡ÆT|‚†(¤úY?Õ9%úw#ƒ€JöíFÀ§KYM.V¦p:´rý¥¶«ØNgQ®#)_Siÿ½ìÌ·®±KÌ* Ì#fXÌlòÞ;äÑ>o¼êŒ7¡?é/ñ/ÄK¡pbu$Ñ€8åcu–ÿÅì(ò›C¥O(ìPg>l_*¾£fIlšZH\"ÒlôðÝü˜aî$Olo³Ý“i[k*†í5kt¯öâ¯p5á×>ì&œñÕžîOT ‚?Ë&—ªäÜÑÆ'áØål¾™QLhãs†:ìJACî%$çm8 ˜+"ß`‘q÷Ûž¯þŽ2¤ÊãØÓr &”é%iÛIÂ3£ñ0TâÐô,.2Õ6§}äXZŠÁƒ@\Éüù Å/@„ôöQ ZXnV*&‹ÑvkRNöXÏV x #DŽôa ˆz‹LT6M·Õ -f´£À°J§g¬ÐÓÙѺ,(«Nv‰k !˜c†Ë/…»–Hòj®ºÂïl¯(4n(Vú\›'“ã û×÷?šàYȶÎXƃ/¬E6ÛˆÓÙƒY4NI4HAwh¶€bmdëL-ï >•ÄZÿNþd´³EoWj¿æG¶¦©öQGûw¦B,¼¯Ù‰ÙúQã-,K]r³î‹›Ð”É7¥Ðc7ã]Úã1ÑñýËŸ˜õ Ìà3%&Á7¯ U75`Ò~åšÙú0 6S½-ÈL-À áü)k’m)I;Ĭó &.wó66œ‡/2®SC= !-¹…—¿¦(S%p¢R!! 2im¤ÆÏw¨sJ•GeHÅíæoúI(a±1#­²ûB¸'y^eùC*¹ Õ7gìÅtiHkÌFï Uߌv4€:b£ò¾ )Q]îí!ºIu?¼®qÝOK—Zx-(Hbi×1ÜìͱÄhéIŸ²n»ÄÃ¹Ê ¿ýIaÉã|GÒ‰x€6zÇýÞÂ'¸{wb&æ1tm[%Pjц7Õ%lŒÐxÂ#–©ó'†¢ÙÉWã&žÄœþ€‹„JÓ{`¦ÇššùBÉ,YôŒbLr'+ÙO¥kË’’7€Èúæä î÷2¥¬€ÂOÙ^ݱ†eÞ;MI¥g©]²™ãÖQ^Xd›9êÿ€íªUÚººè—}–`±À.c\/ïÓ`Ž÷­žË¡fžð@$O3îÔ‹QTà•)¾ìfÇc7ïÏ邿øM„§E„öéÁß<É¿›óPÕð½Ýv(Mbú²±¤é)P!ÂľU“þènsþi0yL`#­!I¤ Èxb`¾ë=Jç%üTüF€õuÝ­Fè cÆâ‡üp+—\<ù£¼Ô9.˜Ú8ÄýPçè9â&…´–LaV涘¡q!å)·âì÷ *º]K ö´®ù͈®¼îF{¤£”ÌÉ´kQJëÖjŸ·t7eHü©ò Ì3µ‰ EHÎ<¢“NLÈh ’U[áxºÒøÏ.Ó•ß¿•Râ]À²nÛ³¬—¬Àíð¨ËŒípèÙðuº^„–µ•W jíM%P:ù«Ãˆõ{ö-Éé57„ÊKTcºŒ=elÉŒÝþdÿ<™íx2åCý5^ôÐR£'‚{4²'òïÉBD"¸²wàsàÄý²œíŽÁ¢[ÍJcj²9i³kÅäê__g²Í1¥õ¥·µã–éhöþ=W Ø÷¢ Òèþø)å.!*½êM–9#:dqšQÎYütZëý«¤IV¦øcn´ ùðcØí7eñås·ÿ‰òÍ>cù-#o®²˜‹šÑEæE“O.¾"ªM*§:Pwcï¶®{&j ¹*CÞ«Ê%ü`®› íKâ^­iÞÍWí­rAx^€ gRWÙ¯Å,IöЛÌ€ÉPÝáFy>KiŽ\ºd.7‡q¬”bÕ(kìªÅA¿.j -#6X,¬Ò·ž‡ÉÉåÝß±«©ý§¯|þ¿5:{,п·j¹)_Áâ÷óä[5—õbͨ—KMÝüf+Á7v_è‹_Ò>¶œ'êꌘ·œA0ù Z‡éGY+˾ •"ÿL'Á«~*ÜÞå †Ì‘DuuE}àöŸÏ?I+lѺ=Ù9<¥UªÂ?,Î߈Ö.àºt´2±Mó‚é!&í:õÁ†¦î\gkñkË÷ŒØÇt€MO©ÄŸ¾—¸e¿k`ÿJ«ùêýûDEÄ¡’¿×<f‰ýÝxÝç»ðvôhWI;W ¶1[ú"Wÿ/¾/RZ­î?;<¼Ž.º³´‹®µ” ^íä;Ç›ôŒ%`ÏB4¾Ä`ÖÙÇ„È1ÕfPCR»á&hø_ŒV™ #ÿ7P‘u`t”J¿î{Õ?{ö¡/hJcÖs}FF¤i\Ü€ö¶Bíãg¢¢O0³ï–/†¶<Ã9•ßÕ(‰§ò‹¥SðÛ¨?3&.0ÿ'qýß‘?#,YŸÙ³ °&@¹ó¤ìÏ© ³Š¯¹ê>]/¾¦ùÀ•%@»H[U¬Ã|¤ù,x–“xsºÿL÷ºKx…5sgà‚vc8ôõ4,“­±˜XáÍyKòö0!†¤ÜQÂÄÝÒqô¶~"h¦‰ñp ¾Õ³~dœÒ½„\œn@¹ÐPZ ‘ á=úSJ½ò¾Sþ‰[îØ8(ÝŒ°o+°¼YËÃÂÒq|ŠïÕn½I·$Msî)²*YR™QÞ%œèTú^Cnñü tˆ^¡¡°CeР”,Ky×õÄ)H]ƒ ðdµc¯ÝèÊDª3éÅ.òú5èw9†ÊoáD L¿IZÔàÓp!ž«®†—ùÞôu¼†«}h£óë¬Ó½öQ8ÿÔ2@g#Ë¡AdŒ[3Ǽ²/w®’×}lÛ˜ìçÆ¿ˆzF¦Ý躡ÑßýÂÁ5ú”f…õÌY šÇƒ¥#arâÃÞtº«Š«Êk5cËhjvêí¯‚Àd>4‚;nJèËÜÍ’ˆÙwØï‡þÿˆCÇÔO/q1¿;ëÑß~ ‹7ÓÀÑ‹ÃÂ眃ê”èí$¢*ß\ù7{ a|Ö¸š|j“mßÙÁb|É+;ùRÛ |š8 ä0T¾'% ì~ÕèrRgi ŸÆíë¿xyÌhAúŸ“¦*ZFRýc,È_603TÏ/D¤¨•¤‚-ÏdQ6'‹TÿËw™‹Ý/è Uu“Ád8´ôÆuZsj^ÐeB>äé¬ ¦+wòf­ß ¢u7ú³c~}Ä“ñ'‘ï÷b¼7}YvÇÕVäÍgxœ‹ÝFJ8ÓÇ}Œø›p¨ÿ¯¡dPÿq{c_/ªpëÙìÊkâb ²²>ŒÌQj|g°·‹¢sN.âßåÑŸ{Ñ2aæk:Êc`:Ûk¹¥¤ác^9އ¦‹CÁñds‰ÎjL¶Á*–z˜N4’„Q¡CÓ=VìôégRîÀêJoR¥_W÷z 0uC9Œb²`ü?52]:n|%_”õ¾ö„qǬ<3NfìÌü¼¹§ƒ9ôP¶iÕ)×X.ÀÁ:\¢ŸÖ“ŠÂÔ]Q¦î˜®aý–9ç“Ë)ƒC¸üY–“¡’r¨\Á1Û^°2út=xômÈ!}19âE«»Ñ(8C½@ƨ·ÒF"¬,z÷X(Ál¿0šì6Џ‡F˜ø5öv”$6hSò~"ÄಛI`N °ásÜÌãc÷³Mv)À]óp#;ÆÒƒ¹X‹Îr&bI—Š)mí<;ínºÄÖËÕRV^z ÛO3ÞµÔ,@É8·›!Šiqºe‹½Þhfnv ñÌ'Ó3Øþ” u8IVÜ’—ÞØ³_Ïಂ"Eþ[߯š íˆÍ¸q&iÛÞŒPö®U1[^d;e¹+æ-Ûùd2ÿ“¯ªXýõ“ë,ô«N©Äò9e…"caú´x ëŽ—#¼YöæŽIxªøªm ˆFúz³ØþzõG»Vñ È}!`Áø¸ÍÖÏRÂYGÊ YZPªQ8-G]ÆQyxGõHš³?&-®Ûmð‰ ü¦GØ0Dí€è"Cub1²DïMÛ˜W£ˆæv ¤‚êëBB-DàÉ]‰Î[S’:ï3©ómúšJ$D/ŒIÞÎIÝQ”f#Lh‚¹ûYíTÔ;:´]Óäõ¸ó1çÊHAM:i8¨Â²**‘åvŠùékµ}lóÁý·daüï+}ócªfÐÛÿ—)ÚÍA«`r¶ù*¹O’ê¡Ð“ÖeeÂI6ÄuW ÔÇ&׌‡™ÎS^ÞȸZe£r,°­ åt|Ô¾”Úè ¨½ªì•­à¸3ZRÚà‡UÿĈZî|ÈJú44éˆèþò㸲÷[äwlBþösq\Á€XàºÌ\g#@M9Di¨5'܆Û~T½€õ¾lÍh.W„‰tPx£±‘X# uɼGïºyÐKȸýÓBitþÖÊLnÙô Þ‘û{pW¥–µm4ÊÐÒ"Pîà~Ù Ò>™Y(’– <@á íú2⣵‘— 3`ª'ÄYŠñs*¶•BÊ&#C䉨Æ~4ð…Ù‹.0+™òfÈaé'±ÕËäýÄ7nSÞ]ëÿÁÃ3^{î ;FÏ¢ƒ€{/S6zÆ©D©•ÝíÑDœ£Å".˜d þ†âös1óÚ¼D™Èvgs,¼‘Aw¹†pÂý´$KåÚ×”)jqÉ-°çµmÌgãúÞÉè^³15[¢ÞòúG4µô€9éÔ¯Eœú&ü$&· ›‚jµÐ¢X±ÍHåc å'Psd·õ\@˜c“”º6ÑèÔÞHæV§¤ClsѸޠè!é>ª2¸%]ÃnxJÿ|mE÷ë¶Tšnq)/jsΙ‹W…/VD—å,›¦Y%’[×ýúC.”Z´…î¦FQá@ ªØ¿B}H°þÎÕYŠ'ÖyläbOé¡F’ï_3׊=ß1Ù¥Áj{Å“ÚXfŠA¢øTŸt5'¾<mh :1\äöª®V;ªþ½ÜðÊgà&ÕÓQ°Ñ;ã,X§•œ‹þèóVæ³4/v»~B¨Þ)Îb;Kþî…„öô©ð>ÞsÃ)ZDXæv=L{ŽOÞá´ðümK83®¶·=S¾ïÇø`ë g7vŒ·Z9æ„Ó0îæ‰üST^* ¦.#?þg°f fžD‰’_ÓEQÝC¸|ñõïüñ9R~9ÞÙAp¸t $ÉM ¸PþÁ¼žéÝŠ Ò3…²sÊuûÕ/Þ#£ Féñ±ڹD'į2p2tó/Ú ¶m ”j˜æVÛât¯ÐÁÝq3®ƒï³ûn˜O“M¸D š–R÷ÞŠÓ»(ŽlAQšUÍÙ·‘Œ®A†£¿1ë–ß¾4ù‡6ÂÇöói}EÛ"ùJZ ½¤ÆÏ( ÇÏwEPBh×^±Bqq²¸kËÞ˜Õ ôXÛ€³âúŒR è¨CG `K W9¯T(½Éö·•ΊÌ0^¨ ¾ihh ¶øƒÓ/úªêšeJ+õ3N¯h/è,+é(ç÷kE×ã>-HóêÑæŸ ‘\ˆÅórVnЇd)ÍbgÌÕìI”,7§öK…Ø^‚GQò¥õõƒŠØíU¸ºŸ4ÔœÉÎuà… µˆ"çE$ÏSøy²áöæ+SV¤íÞYἿa0¾cÐÿðé ÜcT;"þBj¦HúÂjüåñºkáa"i‰}_ó.Ò>,qqx!Câx¦7-U§î¨½žVgyvêi&13à°ÞËò­ÀRHüÞÁù‘‹ùò|÷»Æ·L]©Ï±k!gß–à™„ÜNnl Çl^'ÙtÂ~–p•ß|Ü­ÿâmü Wš,÷–+:aBÖv¸&Ř,Î_$ôIQÇ&„ÊúNä ^í5›î^¸Q'Gqg1ë&Ü*“¡Æœâ²=Nñe;~izLϯҵûÉ]¦ÆjºÝ««2Lªã‚¹/5/Ò¨LVàå%„°‚”j—B²ÑèªËÀ}1¤»$-ÚDŸ,Q¼ù®+b2üÿ9]¤Œm%Uá_·j¦MÚ¾iáC1|ᨊBô p¤J4XÝ…è +‹»»Zü8Xü,Gš4òªõ¶ÉدéˆùXJYÈS `E­v$õbMEð„j å¡ävø6S¹€ß9+8wË‹H—YôŸ\fáp¥}Ç3×¥Øþb6L`_l¾\wú1¿¹ì7ÝejýÆî€2³·B„ü“ïDQé"LX’F¼ª•ØO„(ŸN/D¸ê`®4GÄ‹2üz©3¯"’«ãgVÁ-;VªS{.^ß3ˆGzžÜ®v*gÂéH¶ØR9aØCÖ–XÎj!Æ4Ã{ÍìÊ_¤ˆ¨ß¶ƒ¿yL?„Äq È?‘Ú°Z Ô©š=OŸ‰ñý‹^óè…Xy¦:ÞÇò Êƒõ¶ùo0½Z×ù®VxŒyqý¥ð61_“®Ë] š`2K gø=:J#R [qKá€ärd5¿DÂ[0V;7 ÐÖ,4_ýð"  19×-tÉ}û1Wp³i¸ÄûеHµ}ˆSÞ¤=ý–< ? ‘ ¤œ®ÓK¼ÈDü\ƒ¶*>o^µ¹œ“M 7Eâ]ø;cÑ~h¯¿œ5ù ^¤Œ¦m W)/Á±Ú3Õr«kš1ÍÿŒÖ—-⺂¶ ®ë¯—íI€ÌÈuûÆXüœµL›Ê¦ðAfô^Ž{8¢CYãzèDú÷#1šdµ"¹‚oÓh 0æÀi%¨9I®wGð^¹©.¤Åì‘3#ÄÅÄ8pTö”áwô=‹‚«2Ä8\›·N¡ûåárN ßçž•ÎBtOÞ¥4T(»"jý“I·üÆD´z—¿sx¶<ë;šJ-K‹Gñ®C ãS–4Ê)1µÏ棌[s”ð…Žkª=QÃ]-–õ /Û@Ç?\kfFí΋ó.8|Œ·¬8q­~ÂõRrà+¹–wSN²¤enS¼ÎóCb8zäAÒÜ a}Ñs|‰¼>-wÖC²ËòA)޲Æ:K= Ϊ½‹-ŒÊìõ<´N¾Îë ß‰¿ožm&³ 7$¥‡Jƒ¯ªÇòºÇeMcR Þ y¡‡áGδú±õ(§ö†1•5Y ŸÅJ€Ýk…ô§ û\à –PQ”é&-“uò¥pL=c ϳ¢W„ù(R$Ki|gwÿ,䯕ðgÚ#MãÊ ¤`°­þl3ɶZéYî)ë6^¼Ia›I®ȩaίâø]‰¶$ÿ0udwi5¶š°•å[ÿ7\uW…$ùê ¯z ½` ß kì¾|ûø³¨öy³{U}ìpŠ"ÓÂ…”–˜á ¡§Ü#.·~Æø‹§·2ÃÒœ˜›—»wÆHÞ{<ÞŸ1 ú+>všmÕf”Dc<&]ºä4›`Í(^'«bgÕÏA:eìM2%µp¾Ö³™y èƢߟmW²šóCü–šÏ ÈÉûöMSX«Ñ+ .Šæ’#‰h ¤ÛŽÚæ+'SŸ£®á™þaPl´s- r›>* ÝÔ™Ž"f›M~\ õ‘¸ "Ä×dý ~1E*.,©,ºÜ[{E¡gf(*ä¥ðÄË•˜ÜA“ÉʺæšëÏ$%äck†Q^ÆÝô[ q\Ž-WŽl-ÁlØßàœ\2"v™U¸ïºEka*©ýpü f½êcà¤$ïôjüÐÜðû¾¤,¸²†Ÿa-CƒÜíýé51á%àÄÏg¹ì"‰ÿò* GFT ù~Ø Æý1a‚­ì@…Á,—aÏ‚¯ÉT uQ:dåq7ñÓ*£õ6ÍÑ`×uOΰ(¨,âHž;~½_ ÀüYf ó1™ÆF$yáËð±ê5ZS0€à÷.2qM>ѤH±yÊ_]˜“­’ÌÒ˜Ÿš²_ò÷רc¢š,V¬ïz·jŽàTOÁ¸}BÕ„Ê骃Wåƒ{¼3c8ösß@×ÀËHz¥+LÚèÃ=d†c ò¸9nrRa¶A¥XऎX[›·’Er?ýŸðÌÒ¸^Ó^~»$l4=p .Êmy‚öúÎX:>);ïRua M½C= «Æ¢É±)ØÂf&èœã®K >lÙ¡å·)_¾dú“:¦z+˜=ºsðÜ®mÊÏ”#íÉxOLMì ñû…’-ª€’IJ5«Öøb;ê¢nV£^ì*u _ã®S¢LNA.Ñdâ#Y]?u2ˆ—–U!¿ÿ-Úè+7!vòi×_Ÿ6mŒÌ’¦¨|Cºyš ÊÐd‘fãjô}Ç…(éç¾znêµb‹úÿ@^Ü,òî?;!A”^¶¨m–.± Óˆ?êôæ´¸ŠÌXšá,ÑX¤ÔDü`íTåúp:Ì”¼ìò»#ÀKxºÉÉY©ÇέR“Î!~îî¸b(ïÆšårdFûó‡õ‚¬GžÎ!Z¥Ìc(»Ð0Ô課 ®°! 0¤–„Ï5 üÙ;²pB!’)ÙˆúW“~í èä?²èIåj-ÿA’U1: «ÛÜÎ5ܱbY÷Úë”Nî j3Hõögö„BÃZôá3›×CŒe–¿Çs! š#ª+EĺÔÀ(µvÃ!ñ‚d’–ã´ÀÞ3pgw¨Q3#0Èc”5áî_0¯wp±GmDn¾‘Jrþv‹l††ìóé2ÏG£Fag3AŸlQ$Wu:Ò\ä¡RÝ ÿ‘‚ˆþ±DŸ# ò|fÚ:BGd:Ùž)0ºÇÀ:mR\#¸2j™º‹ 3Hè?NämO’Ú+8³I#MÜQ†Íü[ ànxÞªÐKC¾è|…I>f±ë Ŭ.’e¨ɭßßn°¦|_v–&©F‰A9GŒ§¶väìDTÿ‰+"`û7Å 8ñ&¼†4‡QŒ~¬}ˆ$žE”ûPÚÚ£¾E„  ¦mRƒ{¹ú1¥‰o±©¸·Z‹€@Ê¿ÆÜa<üÁþêÑwûüNùtXõ‡*¯âÐJ\Ž3€áƒ’ån£ƒUqbfá^i×À±/Ñ«QVg뾤"wͶ“Åühtÿ0ƒ¥ð¤BR¥MFfØîn»“¨'Ø`úÕÃî%N><ØÖ¢N~÷â$µìÝù*¥šAÓµHü2@AÔ¹Þûÿ†ò.´ô;³ŸqüÞ+äûwí¥©<|™Sÿ˜Äû³tf„¢;¢4]ð°§nù{˜tƒR¢›/„÷0ž~S7–÷r þLzÎ:ylC·²Y³£{­+>G/ÁÅjOÐdzíˆîGéi |]µÖÖ A³§`:þèCL Ì7“Ó[|ƒúYÎÕ.¹è3uä C¸š¼Õ +í,réðÆòúgDvXbƒ6ž¢@¬›Zo«ê~‰.Ö~æäBé±ävñ§¯|Šƒ®ÞWö ¹Þ“N“UÔów?ì/T˜ðã‹I¹ü–d½”‡q}^…ÀÛ&œC¡žó]®ŽÛÏÌè\¡i9!N2ĺvËÉéM5Y|UŸy5mè…>³ÜËCnF4YqÝJ„Ì(ÄeûL³¦~Ó¢:%òë²SS=|™Vn €')"FŒXA«÷ J®@Û.é­w% Œ½úMn¼m ™ª½ž¾¦ýü|å[aù´ÊÆmë%¥¨ÚáH r@3€È(½?ý|´a¡hÓ`t¡0õX¸¢EÞM^ã«w ¬þ¿7Œl†ÙI-.b$ò«i)™ëì,«:-O]'ê ì÷ÚÖÙ³i ‰Ô2uþ›iG5¾â¾1ªTŠ÷U *$(5Eû¹ªLØ —ÛnB¾ð2òâyw Ó¦MŸÚcOôŒ–¼tÕ"¶Dý?ÿ‚4–q’èN0ßXàªâ@ÈÏBêMéŸúž©´AprÃ*—IÍIZ?z§ ïÛ55+®8;ÿÆÂE҇Υ¬‡•NÈšJEý8ö« &ÍÍ”€¥¿7¸x]>´ð0Œ|Àä•Ñ©Æò 7hô“P¢bcä†iÄ Ç\ÂþŶÏ4»?ñD‘Ò“ jŸCg>²nÓ)…ú‰ÐÆ•†¤%uz®Wÿ©…þû³Æ¤(âä*ÑZ³ø×cp$2¾;b“Ô`–UôxGKP8a瓹(¡æ‰û¸æþ®Bˆqù>[­Ê—`§)žÅˆhÃAñ!àë!–a‰ÿ:™Ô|ÏHÜ+±mÛJäáV¿ÒÉ™ü‘‘sïÕ;ÎM§N ô(g.Bü¬3Gw)ø5æ\º)¯&²¬´ÙVŽ MÓ3økÖqÓ³!Ñí 5ˆÏ½^9ærvôð=O¿V¦›Måûô[Y¿Q­T­M¡–(ÌpÊKDª`©vß$ÔþðžDÞZjZ™è*{t8þQ“´…p©ä›@½‡ ZY-ŽÉc@`‚ørÏÍéÄÊLô5}þôÿÙP=ÅGq¿Óe›¤Á¡E¼'Õ‘îM³dmY² gï÷)MÁh5ÖŸù,×^Ž'yˆbòè(|¹ÔøÖxy¼ }rK€©·ÿ®z‹¹ºÞÝî9rÅQi-xÖð¨]¾>p«×ô¶²¼x›HŠhé · û$f”XGÔKm8Ïš-S¼0pXþ,Q¾lýžÝ‘)òÞ¼^ž¾ówðT  üd žT`jOµ¸ËáЫ¼'4½©ü(Sz¢ þn7¢Q BdtæÖÕHq¸»+«:já“â| ¸U’êÚtüÃZÄr=Ã#ÑœåN¶´Kfd`ÞábXB¡À”Ðdc¼W¸¯î^ì/«ðÉ`Ä[–#îƒ =Ùç›Ãñ:¦µ]†M ðnò刎#}²_[UQΑ޼ùä`Õ 1×-˜+V6ö¯iU/6¨VøAÏX‘ÊÏ®D/mÆøV4Cwü­µ))yèÕs·:mµ¦yšé¯FÌü$ÕTež{£¸Ks±«’ˆO÷ܶ¾Q7Æõ 8ÑSÉõïæiˆ…ã4ƒH>ÔwÔßWOÅlÄÙ²«< íÃN‚øõ Úúð”¥0''I+¯×õ:ïBC"©×r¸ÿ‰´’rä‚-öeÀ ü¬U²zÇŸ¹Û°Òs±Ý§±§]Ñœú/±qY¬¯6´ÁHá&^"¹hËK ŽÝQ:Fqc´¨”Œ/xz SÅ÷áøyS7L„ÈBÒÄNðè†ØÍ€‰‹V?Ö;oÑw<òO©Êbƒö_…•Ðõl²1Ь;1M =‡×-% _Ó¨ôæYðøjÕhÇJ¯‰_¨õÆz!Ÿ×ù>dÿë.f¶Þ‰ÄžÛ?É!•1RCécwÎü0¡# Ñ]v¦äÁP{þ¿v:®n©?ëîz‚ç‚jN²ZÚŸîëãÿ‡¦ëiX~‰H-}Û* /ŠöHÃ: ×Á¢8»uÔ=Æô1Æb~Ö$ h܈ì&4‰!-çrï=à€š–FæºE&Ã+ìϤP¾¼8áBwèÚ$3ƒ6SBÂûâ¤#ËGÿl<À+§ÐÜ´l¢—*(Õèw2 µÞ†Iqƒ2yä,¬êmê`Ÿë,âŠÎ"ó (m¬“ńㅘªÌÁG%¢¹ä ™ò˜&!2róÏÞX½ƒÍ ޾‡"‰@é…4B|å}]!ÞÀ‡jØpâÃbrªrý¬µƒÅ»Ôî6Ï<ŒC9å§”•Õ†™ZC°ÝàiÛéØþ}üÌ“‹his¿m²@¬öqßV$`¾ŽÛΤ¢†â fø´—©Ä«úBg34'Áâ¤hWýIu4Ö Œ½ß1è·vó)‡ø³¬¥HiȬ­›Ó:­âÒ: û÷¶©$Y oƒñ“\_°Õ¬„Ûñ>ëáD½‚öÕ”6'ÊL½ÚTɱÈâ—g"‰ùoà"$˜¸RŠØK‘µ”`¥M@`wÿw¨¥i×~ûæÏDzÓf»sǹ*ËÈh/YÞò‘¼­³P¡ÀàÒ[Ž¢Àçã²kŸÑÏs(«²1^ì:³èû?œáE”TÊœïr<@jÅ´µRl)ab²µ1B“ób+ÿrá0ﻯÝwtS <Ö&‡ÉútÇ;Ñ?º‡Ø3 òµaŠUXHAãôKzs’Ræ]óš°êˆ©z½˜®úòв´ X_ HšÖœa0.µãòaßwó•ÍÂZ(Ûµá’N¥ŽÛðêβe§#¹š/æk¾4•þ£_ù´³Åˆ/ëáSmyÔû†jf+5'ÂÀ±ÒaI*ùUaD<ƒ˜-&>“kŸ¨ÜÇ쿃¬|×­Ê™!˜IùFÞ¿Xݧ<ª‚†Îg1qö/Álºqkík‹º×mºÓsºÙü—«ÄÀo¬ïŒï¼fÀäÿ¡Ê’iÉ„Ž9Ø{®+T €+ë¾9ä…ÿOš¯e:؛ôb7t`oÞK¤<Ê|Ô €&ö¡d7âÍMêbÕÆ^ûTT2(yßkF¥‡<´L+AJ²^œC‘Œ¯| ÛàñxÆö·¢°òÞ†|x©ÉË“srRgHɨ^f\ñ+â{q?Vµ?ô]o£9R‡X¼ Âk>ùœÎuÂ"«ª{8˜‘o¤A@õ`²¨¡_€÷:Óˆa¿ŒØÌà•€j<ý´›ì>ÀHu{;|Û6Øé¸¶(ÖÁgl袤%lUäîr¯°:C6ù ,ao–nc¾Ú¾:6ó²—êþZXÏ‹Q˜¤L9óÊk*§ ¢Â‹-g~M,¦Ž:®ÜñS9h*a±b ,eQÂåÚŸôoM €ÎM#vÕl¸¯Œ¾ž!N»‰°aÝvݪ€ä$©…ÄD«If®”aÎÙ¥Ë çÓάïK„t#¾ûÝÌzrDª†R’ö ‹#Í}5ý˜ îo^ÆASWwj¬[[¿/ÞØnÉ‘߀¢«Û` ‚\ÿv6 ®zœÒr\i‡cÂw7³5 ¦šñÜM% ÿJ±6_߇ÜbXÛà9 <ýÅÃ8m·ãL³d¿òtú$rFU|·šZ0ÙºÓ-^q&K¾Ûñ¡'«AœÃÚ'ñÐOùø‹ž× ç‡µu m_fÀ¬¢S•8”yËEñçÚcP˜¡¸¥ ƒÔ¦¬ŽÂ& Ô;”Âê4»%³ÿïUÁŒÄNîjÚBå%3oï:sæ°Uš½"eÉM(ïÖQÁ¾¹†*„ [¡ñDŒÉ5§3Ó‹º ~ùÈÚÜ›`têóoyb¡êäµn'ÑÇÇ⯵›,ÚÚäqîÞ%±ËicŽ=óSÌÄ™‡æéžÉ¨ÁÌ1¼žó9~$XõyT†æ³ Y~¡ÛilžÏa¤qÖ“ÇÙp&J<¾Ë¯S£À%X'†¾šLá8ÐÜ :ŽŒáÕ3Í5þÙœ@÷þ^¿¤ÑÁÅqº÷Òˆ— ÷œ=ÄE7«Cÿ…Xxþœªaþ¶«—ôDÉ=Ùæ%8WÚÛz:¸¯Ûâ ü•”.¼ÌÒoÕØx«Ó!S½¯,U#iL} ‚wÒ ã¹¢\+*Hzs©—óÓnµTýc%ºSI”¶³!ßT›J«¿ìhŽ0AÊ fœÌ²ÁGù.:f}¼UXžs&¹ýt}-n\. ìùA/‹ÞàØk¤®¹\ý7æ¡Öq*}ò‘иŠçÍËû¢;XòüÐBþ"ºMWú1¯öÖiÉêK‰f“$êgøÓÞúzþ¸ Äv%æ)^ÑnÔ¡™dæGIgÖƒ¿³5‰Æ/·lAmNOQ=¾Œzóû«ªoLŒÁ§¥\Ù¸N?Ìü„KUÏæGfKɵ3S‰VϦŸDõJOP¢ÆD3$EÆŠ¹+?øgB¿ƒŽ·£ó31奾5´wØË¬ù1{Çà—8±†8âÙ¤QøÁCñy¿/¢ ÊÜ.R#CŠ7:¥ »4ºøf ÿ‚úñ*j†èÓDo”È””ù˜(–«°RÝBTÔÀ‘kMÍøPmÃÍè‹­^Íà·hûlœõƒ€c¾€*hÌj&Ÿå‚(øíöˆBdlÐ=ï@(™²TÙ„ÚŠm¾b,C …à¸ÍñÀä(WËyi»5u‹Ý,áàUÉ”už¢‹jFAƒSÈxRÞÇG€»(VÌI³‘ÀjE4[UÝȱËÔ Ü9Ϧ xa®(Sûg_ —iF²)¶ˆ­4¾j„ÅšFfiú\s:7ËågЬ-/¿iÃÿ¦SpOÃPR®‡O¥N¬Œ³;ÙZâ§K´ƒs-‹§¸³¾Ýë†oàâÉZFú÷ }ø—¸™ÿ…ñ€[›oñIJøñ¨¯Òâž7!¥§³«iq ,wDø)1iiFDEF<À@›ç²@§Çeѯ—º6ÍÃU”B(Pe›<Ì/)‚ÐY´¦žqpÝU¡¥Ž‹läóˆZIÂßKwØç +Zd?˜ ÎmrÍ:(N]ÙwñÖÐë‡K’@Ò2µÉ¹K •Ü(ŸjLºÔù¹+=K:¼,õÄÐÞž#FAc|YÙ.ûyþ";Kê­RC^Ø$ù¦¸<½¥ºE‰¦"ƒÐ{LþY“iòÄ9TJ. 5ÀÊ~áSTƒ¿ix·ã;¢LÑ6°’fp+V´ÈbG)܃Óà@X“"3û­Ÿ°J1@Íb\ —šöµ›/݉w!qÓ“¹âH‰¹ÃÆË@^/÷'RéI`ECàªß9ƒ766|1¥ z †ÄOöÓ‰®é ²¤KhO…JV¼›âɼaeZТâ”h¿Ýå(”e3Ú\A»¶E…j œ—ä§Èî3±cÌÉc‘/ å‹~1× ™NoK.ô¯îN¦ÁFœå\{Æv·uÐ x¯x¿}<`Tü®ÔÉÑ4lFÛ…±Ö»-½b饞…s{ç Óñ3Õ*õÜõÉ-Q¢o¤/œRKŠº¤á}ûa×ÐáêR‚ ø*釒ÃäI—ÃéëhqlXôL©Q¯%oÕ‰ò2G¥¡tÖëú›ïeãµ\™W]øå9jô8‡ ÃðADþµŸ—i®ÜöïÖ:AºžOEQ¯§Ž©c¨ÿé'`jú͈–­ž³;f”ã}äÑÇWݺ³Ÿ„?ÿšàUÎ{3ð\žák̯^×P_¡z!ƒŒ \At§ºq‡st¬Bd[­'·Wàa:PënQ¢•žšÎŠÙ_kÌçd¢m¨&=uk½ާ‹zŽ—ñ§wÆÑl¾?/¬PÛ Ù:Z±¦r/3-œ~?‰¶+R0måTÊv ½‹Œ¾H¨#»"º¹b2©v2³©Ëxt/R m¸ ¢›ZèŒÂ8ã,Æê/ÿÆûñ™ÍÍÑgfÝ/¹“¸ƃIñ§žnð0 SKÖ{‡‹¼‹=e{³Ú ϳLûઞä¯+pI÷~Ô%¬˜ï§rCJ¤Ú=E—•Ü „]¾$*üÛåe‡š0@iºUõQ¿n |] _¼t¡M$=µÌ8oûm‰ ÕVœrõúdD'&H–)ðD¢-[q€v rÿP©&¬Ÿ¾é¸¨wV×…¤}­´LG¦çq7ô›w`‡¨„ ZŒ{RlEÍþ½$­3e°åŠd¨gª¸äH1 [Û;4ǧê~»§£P˜ ´æÁö”Fû³½e =Æ´÷€Qéd;Ú¦šRôV¬ßàÍæa‡ ¡õÄK LÆÄþ¢¸,ûìÖ$õ{ôu1SŒÑ)­Y<×S"oõ°ÝØo•EBûA8Zªê‘htJ†Wíôpù3DË1Fít Õ8·e{0ºxPn'¨ì_T³à Ñ+|Á©Ý ·•\€uÛ*|D36%åD˹€–@'€°àk‚#4(ƒcód)i}‚’ åŸÍ™® BÇÄ£šõ8Ehÿ=úò¦CÕ·J# /KÁò-È™&‰¨³uï,ü»ßíä~„Iú£ÀƒkÀ¸–à/Ýáw6”ÿ³.Fˆ2÷ÀÞiκ%Μ =£‰ñLÌ÷Ið¸e`RA-½}Ñ yÍå¡kÂÚ~í~þ2q¶d‹iÁv”Ž¿t´q¡äœÊZŸòLx^ŽŽ|pm5'-—– ÔÝ$üA~4Lföì•Ã’l¡ ?GŸgò§@OÅØ‹Kª~•"õº{5ýÜ?T"Ej¡f*®Îë9ª ·fy‘|†p_3f·2È `Ãzpt'N@QH  ƒR˜'v|F¾¼®å<}VÛ±ÍéêRûÏ*D`ÄÏ ›ÅÌ8FÈRb²å+x-Ž“‹ T1”ÉŽ Ù8e²zúÝXày®ChŠX+9(Gý…ûl§p™XN€”—VüÄÇšX\½=Å0 êô•7sŽ$­ÁÈà}ê¼païsâì”~±ì<õ"1b3p‘ŠÝAÉó¬ätº]¥ŒQŒ‹ù¶oaü¤ÿÓÑ>*¨¾ÕNÓ1Ð0Óx·À§a=“(1Í!àTºÜÌàŽúZ§ÐÎ…*ÝR@%%l_mæEny‰ Ê…vþ«uj)Dï,ÿ£¸'Þ‡Z¢›aß›×—7-Î'cÛå"©¯ ?ìlŸ@“ø,Nû _£»yÔ9©Saƒ:Ô:¤Gƒnq>HãÕ3§¾x+¸¡v¶[·ûª** ‚: áS´­¼¦5„ówgÜ®yn“¸nx=öûL²€¬å!¯uò6]BŸ¢©Wü¨¤Ö˜¿7pô u´ví¸÷"¯Ê_él' 8ü‡Z‰õ;c"áêXN ß7.ábšâk.Ö'"6ðm£ÞCÙrY&”=46.ØÉ¼îú€àYm3J8ÿÝtKÊ}Á@й¢=çŠè/SY:±îxžTàÿ…²DV\yÄÁ¾ðÑÜÉ»]úš`´rÁgcaVÒŒZ|äaC~«2ëLS(×DÉÔþîOØdv=ö9C«ï¾C¼,útŽV bìXÓÓ¦j˜à`êü胅MŸPüj*¿ÀžVÕÒærßCø?Núì_„'o³&¨~§•5ü†Vó‚^ îK7D;g"BèiQz¨¤£W8™-¾ø§cSþŒ `èÉ¥G%aûz÷P†ñ0~ÜÒsŠ…}ÜX OµÛü„ÔB[w›ñUå.Õþ€¶.!w1rhÏÆCq”×9(¯®Ã5º´D·Å¾w¹ãr‡ȶ4P2?ÔʇmLƒh(Ȥdß¹¢ü}ÁGø{ _kã¾~¢ßÔÎÍl'¾Ç‹x̬O“k›,ÏlÀÌÞ†bXrÙáÂSƒ|g’–$$xU|¢­jÄCw¥,å8p;ÀŽp]Tc ©z…Z§SORc 'úVMLÜ­ÃöÁÞï­Ý8‰¢È Ç s¯=z/º¼ÔØ).E“Åá<Ã\—ˆXÎOì¨,-_Ø-3K TaZd’–ë[Z¯³9›õ)Vîž.žô6!¢UfæGk.݇ç R@ r'sNÊü$(¾’ÑË…Šb½[ñêœi ÑËÈ«’b>&±MÖ:ßÂÏ3UžB6UûÉxh Õ _ARð'£O– kr„,¤Yæª?E~PÌ]¦~Bƒtf²]Ý~ÚñfÍ[ûR?~rðs&~ލƒ•¸ñî·"Ì^L›pÌ'5¢&ƒ+^²63¼¾;~Y„ÔCÐüÿ•÷Ù-y+A"ÿH|¹†ŽÑÄ@NsÙº}Œ…eoÏ#9zþuX0ïäÃxú@¦+Máâðy„lÈõ²þQ+z¹*ÊúÑfuÖò‘‚.8ak´=ý *,°)Úa’ »ÄŠTéîG7›` -JÚ\ª-pÿýM_S–Ðj´S<úà”î-’ʏõÒ´=cwŒÎY¬o—¨7|ë°"g1•N+ç:k0‘‚bi Œ~StÖ íܾêM×J¥Š*O]ß©Ä ^ÚÔôÕ¦Ö;\{Ì÷Y\?¦Ò#Ýâ„¢úºË©ë#ï¼Ô”Î3çÉИ×Wÿ´Ã&¾ Ë\‘æà5J¯3êLc_/n”‘mÂÚˆ–u{PHZ?£^ªÈ›|rüãÖŠ±Q¥Ù-YG:sBG|=õV'„‚^ê'kÀÙ´…ócûLëãë™^³CïNàæB±rW”j‰ÐC¿´¢Èr»Cç~±I»¶3 [6u ñ}UL¦(:¥Ø| -ÖĪj¢ãíŒHÅ:uÖzÝŽW0úán3«Ö$–K*^ÊyFœ!98<¿"bo †ÚÇa%®åŸ<°’3¸w˜¨Ì«4 =[hQÙYð¥]gÒKÔÉmÖ•›,ø´axjU_•ÅdOòü†®%?=Ñ,-Ewéœ p-ˆùcÀ†ùëLd-W?Õ¾F«R¬ÎÏw]_w uávγ8³ùŸµë‘ëÊïfw‚—o**ÏÄŸ‚oû™H£Ë{A£å稪£ñÝùDÁkôNOè#ùK•¬¤†}‚2jßu¨Â:ˆ ¯mêDñUÛ·¦Vl¤*bõR‡ô›|\û ¢—oȹ'"Õx “s‘ÕYµ{2XÓß`Ï«jPU# W!´rå\¿AJ¸ŸŠ4ÐUœëàèÂá ßrî}ç¤ä£H¿]œc°ÞxL.º¢B¿Á¤Í"ÐÍ0=I“ÙÑ?õwÞ;\É0º®P¦SÏSÂ"¥@TnIxëÚ±çÙ}í⎔—ÄFg‹¤gDÚÝ_ÁΣÕÖþŒh¬I¾6“‘Æ. Í>zr5\îhôüÝ\K m½‚ßG!\CÏD?B–ÉW¢ÄMH7Ä}ŸdF†ÍýªÆj¼ŽÚvÝ=¤ú›P·ÊÚH'³/uûêB¿õ„1.NàOž„‘:e ‡ŽÅbkSÆDP[MÐ|T9nSŒ6$ÎÆ+ÀÒ’S‚ƒ Z2 ÊœôŽ:žlÞ}\YÚàëçKÃðœÝ„%oŒÄÑ6zè0!X/06J á¶ÞÂF@þô]ýÕýÀxS´vgÒ›U1…C¿e‚ÖY—óMަâg¬ÉTΡÐêÉô¥;~îÆËw°ì³n™&Ñ@ â§ˆA8Rá \h™ç)ûPX‹ÿÒ=s¦‰è·+úUp¦iª§Âqj‚8!ƒŠû.;úð¡:ŒM¯Gñ©‡‹ÞC#¥ø(‚ƒ\?žÎÎÔ6Hm_¯‘™u1òæ¹€7ô¶$ƒƒ\#=÷f^Všy#¸+·>*çôÀÛŸ¡äÎ\´ß3Ý«Îòx9i­Ðdƒë&þEeNn·ñØ9þÀ.n±¶µiÚÁÏß’Sɯ4ð$ƒ¿MC'”;ý3ÔêU// }ÎŸí¨¥þ¨‘òñÉüWi¨ë‘¤C€‚8‰ƒqð٥ݿ\éÜ' íP^¢¢‘‹û8w¿ÏÂèµÿwáˆU˜f$Õˆ/fôüQG…%JÅpƒþÓÓøë®ýiˆQ–y¬Òy:×Ë‚á9¥€%9hàúWÕExDÔÈEØZ›Bd|‰÷=fÀåìúíùX«ƒÅ©DhÆÿõ°˜ßLJÌ4T6…ûÚÍx¯Çâ°B{زºWŠßáƒä.ìü'óHpR)®B¹Üy•â÷ëF2ì‘䈴㈠0ºóû¦¹›5- Ûi)ŽÔ…áŸã¤ðø„éEM:5§kà6ö?æíR.®R;) ADÍǦ`|Âé9WÞêÒV?sM®¶Ÿ­´Ñ÷^e MžÃ߸Ö0L¢>Ò”r‹Eµ²ÄËì†$«u»Û‰±|öÿi¡¬½:ÕÙ<+¡³Ì˜\HÏÈ!íg@÷·›4)á †-<Ä di½Y¹öYx\x¨%éÇd[g@ˆ¬5þ»PÁ;d(ÔèÙt#†¡Dåâá¬y¸,7B†ÖR{aÈ_~làó ѾÌ5Óbf]¶Ö?ÙÓO; ’ƒc¥¬”à°^ø´.ŸçÂAreʯCYéö>oý&N7C§–‰ã(>Ë«?p=g`37.-ƒéÆU ô±qó0Ë8Xh*€r–mpËFª´Ã‰ÌC&Ú‚®–T_™Ñz‘L9qXa¨u:Mh¼Eáè ðãÈN¯o´E@îô™ãZù£ -§¢wáY´¦š‹ñBB$~Iko*#Éw(ë7dzè›Oq„Aù§ÙصŒ±\Á©  {ùnýïß6Ñáã/G]Ép.ÁØL¨•˜REœlÙV­þÍ¥ÃþJµ=,ÉÀgÐh?“šódÆñ<uÈ©Q0W4¨©ÔŒá+aŠ{SEÂ3c¶Au­d5¯ cÒ%AÿŸ[3Ðln}v§»a½«ÆèFÕý–àGÙnLÜÁs5Túó+#j‰VGÂÇ[»@Ý{~ŸÇ‰nš´µø%Ô¶E†VuBµJ¦ C8 ÔȆ•’èD̳Øm{?3êÎuA%\;1^B»x`ìõÆá‡æ(~>ñr0DS÷8ÄÕ}`¦SË8[¨ƒ6hAùžVË­`:(•;;%êd2깆(¤'&‰ý ()$(dx•ª*D!ßÉ‚Cgõ§7xÈ@+ëôÿÄw’e°`Añø3V]tm&êc²CLW(1ÖúÙÅë[ÏÎL)÷9!~[µ{PS„ÐÏŸþù߸Å NuCµ44*Ê©xºMH·†õڅ湬RÔùü• 6•©0È›&ÔÅ<—¿ˆåfõµ É¿€QbWò~¹½á¼ç#‡ûÒšñ&ïðÖ¿?}m™MEÏ%rWHm‘É\ü\ý*-¿ã_¾?„ o‹BÀ +{¥[Çs›t5»Ðׯc¯ä.NÛ`¾³~ž/>I'°Ôš+ñ¦gæ‡ûŠågfD_£H,#w¨Î|âÅË“W¸9dñÍìŠÃ‡)ÊËiN@<¼gzÎ;N‰‘Ö4j£¯r"UdLÇî„'(àBƒÑPÛ6V¸ùÀ%ÆH”1æwÎÇÅi;ÖqÀ€µFõ7wù)"Ò®$8©:iÄŒAé+Ÿî+‡$O°ˆIk3 óNêl]ZmDV2J'qÐDDóÚ5ÒRW›kßp5ƒ›Ãª¶929»››k"°ÎeûѰBö[–Ðâ-œÑ ÛÓ‹ ‚^þAø¨ŽÉ'›Ç€ò‘ )?±Âü¿¤£Ï»SÆËr+–­Êx 'ž£³mOC+"K»d*‰3G»±táå¬<Ó7ZÚ‚qà¼l)c´ÿ«qxèTË(‚ ŠT#šõ«õÑ[£{~üý¯kØag{ƒðW›z¨acã¬áÌßS©g`·I$½]]Ñ€iÌÙ }ɠÑ?ùKC´=À î$ôÜü;Äü÷O –il?BGí© -H9¯ é`lh‘OÒwþè˜;›™‹LéMôY:Ú‹è <øB®o9`¼H¶Ÿ¼¡VêT2’¥ò¼~j#öùÄæS ÝYæP6YgÇîÜÈø±dû³ÄäK2þã* ö)ÈsJ½¡wÈK’½ùnóôϘ)ñN†}>}©@'0M¹ÿTûBá¼…¼%žNëÛ *+hW©ÊM&M—ã¹~‚‘d;s¤éðZ¥”ÀHï£Æjšü­^D”0SJìcH@ x)yxG껓 BÀõö¤Åêà<%rÍZÔ†HT§à{äÿ³ÇLp{º×. 2»#&.ˆ¶_l&ÑØqäö²êE*ÃÞzØKƒÂ#ÄÅ€\!Ž{çí.O-C§¤—ÇnñÔ©ƒßÛ!/ ½¼\Z‘|Óó»µé®¡D½ì©9£EàËS£ì6M¸72¦š£ÿÞ§=uSe9ö >_e¶BLŠWÎ2"L+¶×T,Iw¤ÊëÞ’‘5²é¦„•oØ/Íèñ•*wD®Ö?2õõ›ÂÕâ’mÌL"jõâ ûùÕõñ6ð”ÏjÈÿHf ×a g”_ðšòüRw7o–ýNŒ% ­”Ü=9kà»Ã±š¼#Éâm¹Žµ¨((¸ß/ `lŽ,ômÄ”n°?~Å‘í¥LAÒ# Ȧé—ù!Cul5M|=2p&¹Æ7÷-¦DÓÄFΛ“AèÈßO‘ábÂÊñoü•0âm˜Á°FJÜ##lÒKŠiVÿ£5¨;o/C+WÒY=¿£0£à< y eaÈRèx#ú‹DúoÏP"JÚ0,Ä“K8J_”n‹,Ÿ×¾-‘Ûu©³'TŸª™,Bœ§v|Q“Ø90I*Ò»/õÿŠ¥O§Yúø–Í€ôâö‹œÂ,œzN®“ÝBÝ}›-é Ìj—Áà® b]WU¾™èGfšÑ‚'œ"«°…K€´[½D¡Ï À•hø­ë¿MC×}&’½è€|d¸xW:Nõ8±mq‡ú2utÃ.U¥3¼+úhì#%0•,l+Øÿ—Ï*tM!j3OÀÖ ´š½Á˜—bíl*òN½Ì~÷"*ÙN çùLÞÅ5ÄÔ«çúä];¿{p¼Ìƒ¶kÚ¬¯š~5²ûf‹èäêcÔÒQV/=-îÄÂñˆ¿öÁÆDôÆÎïq »¹ãU)rŸqUªÆ%¼dÿÅ”W¶€â¼H56ø;·»¢¿¶úM™;ÎÚý]ßïD —óÔɉt[™ì´¯¥lvI¬%¸Õæ =µéWX™†Zí*þÑýL¼Â¿·Vrb /)¢bVºÈ·ßÏxÂo`BEœ2…s¬`$ý‚õ wøôRÔ#g,£@då$›Â@o ”¿ôu¡–6àz‚J»Ó‘Ù~0-Û”@ŠJ‹6â§û¬{èÓ[Œ‚ZÀ©åÑ,‡þXK“ÎÞZQÂÛF°Èil<“„»DvÑ×/¶8m€’·BÖ ./èXíëÙo!íIVÄ:?+[-«7ÌÇ$ ÚåûœÑÕ³ú¢öÅ!' }ZXsš]¾•Òn˜| êÚbjÅäyÑ~$¡X”,o§ŽKa3‰è¯Õþ#û¹'`h½>5q$ãT^#±5Ü`ÛÄZ3°'Î{ê)4ãx—4¨q)‚s3bøàîrZœ¤U.x?öRt?^ÈtãÁøABΜ¢Úo9~ùg%Ê.‹°V‡Iãeƒão”Ü·Q‹zP1Wâ[wÕÿç…4r5ÆwñÅ ÛË–&XÃXö.°“qæKÊÝÝùÙ‹\mš ‡V¸¦Ööú7Ðnú#‘¢YŠyðƒ{’Šñ-_5(úgq<ððc€OÀõ› þÉWŠ/*uý— ´HÝŒ@GÍ8dH–¾üR8 …2ÍÎ|‹;ÕžÃA!wІÈçµ>íÝí|˜âó¼F n#ïD‚ú¦ž¬‚yan0Ð"Fci‡©H nÇÒ«+!ST¼¥+{œÇó“ÿ¼ƒ ’¶âè5sùó#ÀK̃r½©Cç%ŸÙþúlSI'ήKt‚zh#`4 ÚÖ¯mRÿ'/¡‰åÖþ 5W3G³¯`lÈgúì܇§l¥þ’ì—n{oNu í ëÇb¼6ˆÊ¢]~C;úîÚ³÷!Í}T®òõ Ä½Ã(v?ï„ óéP™£BòH§½éå×%žÓM±Û¦|F†v¾©T lÔr O‚KúÕ}® *ß\¾/Ÿ“»È]Ь)qŽóðúÜ[íãñiV“í@lczI¥0:}ëûe:#ú­‹ ÐeÓ«`Åù+ ¦óßÕ6÷)»<]mÂÕQ:LØ¢\>²Ý–lÜ.Qü:öu‰iÌs5±}¦É¥GÇ¿ò£‰ˆ{Øc iÍsLú$L£Ü»ksÎ{~ÞZãß#ceiÙ ð»Îo —ãW8°"s«¤`!BÒ›²(^TeHé·sTQA ŸAPi‚u1p š¤3òß",¶Êz昔‰æá ‘æN¢@šNM=ŸŠyƒ1ÚÁ˦m³Êó& kù—êïqÆw1gB6<ñ¶²sši“Ý$Ö ÍI0M\ÐÚ×Ku‡hä ^iËS.ÅÃyNB—Õ ¯o³4 [k”p>ȼÉmdk6°ì§Ý7¸+ËÕ„–¤•v³}ŽöD̤~þÈ ¡yu®û¸¹¿GeåŸD‚(ÑkøEðØÇÞMQ¶ÇnªÜ¦%è±;}rvQ~€½úÙ¢:õÞÚ¤–Àç³ïó—czŸ1£¹Aƒ\H¹¸­Ò Ã5#µ&9Ìœpú¡ÇwÂù³ò¡‰EQ˜$*8Íè`”X¸©ìpb‹7ÁivïÐyˆ)ß´ <Ÿé3t³ïz.¡M…g>Œ ˆŠ¢=ý‹ˆä(­ òZÄ4ćæ„~K´!±ÉT…hà¼m¾Iotî2J¨=jNN;Êó )ÿê×(¨ÔëzûÔdcïí¼vfãqyÙI”ߣrqzA 4Óð6î!X3° -éciޏ>Æ£Ðr8,ày5Z·Sgƒa‡5¢nÖÔO E«Õ5…ýb?ÿ’Z_*æ!oS]Fa Fç’9Ðt+ð†L%Á°)…= à$zÌG´¸[Äõ¸.ÚYU‘;cnQ1SËütÜv®•ífy9Û®“Yïà™]ÁUÓ³žÁ-²©¹ˆbU …G´ç÷Âùæätô‡SÓ®¶ÜÁPt¦˜1qYÄB òbéˆôäé™Ý ¢~êTÀIëA4#è£I(êÙŸî̱1U§’¸*ü©nòÎù¦BÁª4zƒº’<®ŠÆ—zŠc«êñrBF€çˆ£Ûûtk¥J¶”;Í'#‚=?O¿v'1A¦ÞÕ´pjêsNråþ.ìV@«ô•© °lffžyç?T获éô§þþ¿xiÍWdíIóq‚(SùJiÓ‡.R©˜üŸ[ê$Œx‘Å%êê6ž]ð–lº«ZuiÖuÓ2jjA¾,[¿@wÙÊL ›ÄpÙˆÈGí}óHP ᘰðZâI¦@ß0ÁdYHecŠi;ßú%±D±] ý(ïÉßÂNn"—-b^“çF¨ÖÜÉà*ï[}Êœúé]°ì¶CàÖ’º‘Gµ~¾¾æ\$}þ×!4+°rNCïúsëî¼ÕÕP²Äðoêþ 6ÌègŽáɦžô<¦à7ÙÕŒa4/ê© (óïòè×@!‰Ë 3¯kÕµŸšQöD.ÉâÞˆÖ’ÍqbÛó‰ƒV…_[fd“®n‹²-’VÓylú©÷šÈˆäº‡óš•F;ÍÂ$ò€—ëÈ< ˲Þl•GÀP"å°¯ÛþåÊìæxµMË£ª‘ß}ʬ*1ÓñìifOÎÛx¹ gÌ›àF2‡!>ÖšTú€y–ÐLf5îV'™˜z<øUä)˜^Øh^ÍI ôs­Ý:àû,œä º‘¨(yòTc†èÞF«¥yV£®ºÔæh£éµÊDQ‡½R&ã²hQ’&¶›"Ìö®äœÙ¨XÅ /@`Ç«V¹m‹!ÛþÚm!O¥ÈãýmAÜ‚pQHæ8œ„´Í¸<~…”èRe9ñ5±©Û•-Aû¬IæÕg›®o»gë °?w Q}Ár[b? CS=+Y;"¤Avk­'ß²²Œ{ü‹E±NÄþŸ$= ßÙ#©mâo¹pšy?DÒ6AÜÓSEæ’ñ"‚fØz]3Nê& Ë#ètá´bù²0}Ì(®0ò?”hwš*Mh–ÅÃg2^JxÙÐÔ6@oÕª˜róxS¥VÖ^PCk,‰•æ·nÃǦÌalK¤·†B“yÃï/7×§;9­FžYLž“¢ÜÀíG¯dåNñSµ¦¶t¨Q ¢Üå9‰§Ñ"ž´‹D{{œÄµËí×Õ½K]Lè­Râ·™©ìÐÌt¾$Ônûy@,Ÿ_¨8iQkû^ÍÇŽð¼Î«ØV 8ç[üppÂgØ(Ô³2†‡”à„¥—vÅ?jñsƒÇŒM¬Øíùt’±¼ñFö~×˳ ïÓð\³ŽÕ£ß¸¦-t_¤8œ$NmtŠ>/!aµõHnQ™ „à `úÈ®¸ø7º¥ã\ÏS?úÀdçg^H‡XYGL¼y8ò¤Œauæ—²ÑdlYr5´¥ÇÙHÇÇæÃ#¸Ö–UÃO¡ Ž|PýÅY^[ö…ºT=Þ†Þl4@ºZñ;‰ÉèL…í|à5nðÇ߯«éâð†¨¥¢€Z|ñ·vë7}¶³”?ã ¬:v–§ÒþQ¼ÉhÓý˜¹ÔKÖÈdö¾³'Q À˜Sõ|øj)buJÊAƒóG„¿î‡PçXÑuó]«“Ê2VôD¯üÎÅGu‹™ßúHiòeœ.˜eb²m|ShΕ Õ²§³ìyPÜ\NÁ-*xu›OM̳)e‘£’‡ÈÃë¸êRÂÒxyTr{N³Ìì¦& »pó÷ïž&_aùuC’0ì‹Õy’eĆ~âgÚÔÕ&r“˜}ÇÀlÔ’íÄ 0û“¸i•=j”“ßäã¢ÿ??)’Æ©0©Øk¤[wyòY·>­|–{/–ÛéjRÜ U3Ö¢10>xd’ÕË Ñ.¤×!Vžã4°?¡Á+Ïç ÚÛ qãM6ý8­Ãx'„I N›i®1C\†â|UHbsG«aF™èÒI¥……ñä~ ySQ)½HÍØ¤¯÷T?á9¶_éCÊ0!“×àS# LU¬–Êð¤=526L‹)â;@‰“ÚÙo c‚ïgMa7È Æ¥íȯdÜ«N¯V鋱z á2~ºc`9Ú ”4´Ü«Æ#A?„–'¿ ZÕ ´.=ø+L}°ÊŽñþ˜Ù>Zȹ1õÐùn{Ð~[k$°mr¬yª½b€6ŠUE+•‹·~ý¾%Ð /–bró¶ì¶b(ö¤Å-FÚdà8Oû^n=Îâç5HOƒFÕY~yó¹ã óª/“ÐçÛÕm~ÆíyqÏ#ûÈT¬ÐÝßûxk_µne»ŠÀHd(I¶¤›ÿª×ØRÙñòB8µÎb~E 2aÍZðú[Y–['“ÆX\þSøtÐ…!1ó׊RÆZuÙ~L£ÕÐâo%ƒõ¸Ýh›ºÀA*øðÓ„D…´cüÃëî»Í÷äpÑB!)â«ÛMœA ÈÙ4FnJÎvR–;*£ ³(éõrpðHσCK6›Çn×ø‹Î•˜ÛOÓ]’÷§TÊqló®SˆzóÞ¼£ªãÈ’GÃó0ùÒ6û=އURõ ½â¬›VRËÌFC þéÍ=ÿ)&࡟„+™o«ËšœDÆozfä<îŒ="²Á#ìÜV² 'Hôy­5Ñ$%º Iæ¼î%ù~V^Yâ¥è5ß\œ3x+}V&u>•Ö bC´ù41FÝ¡¿œˆõ;]”®&ºÖøí `]V‡0ƒD:ƒ¦$6!®5E?¯ÆÙ]Ðk®º:5w<üú%møèЖ]ŠÜôlºÃ9ô¼Är7,¨jŸµ%RµfZµ9•WËÒa'Œûr4«?.8±_˜Ã’Æb–@ºÀ‘B¤H_RÀÅ‚ì#ÐÓÜ#Á_FF‹9ã 3Ä?ÓˆéL` Ø!÷¤ <ˆAºÔ½S¡à>幊†sjpäÊCRþƒÑ /9®¦`[}Ôï¯×ÑÏ_šts±Ã¿/­œù<çÝ l‡‡âýñŸE¾°öa~a%ê_9¢ªéå߀ªîiW#éY«l}Ù\BPÑŠ|0áTë ?çok¾±U-©é?©ž[…õìxl%C]Ëû›úvžÊ»gãFÊ1L.¤±Zç#žÞ;ú‰§ V îê,µDíŸæÔÕ}‘â ˆ'®¸1lªë`Å-³Š£ª•I&tàñ¤ÉÛC.š¡—aåákè…ŠÅt¿i’6ÈeL¤1Q_6ÚÇmÁ³©à>ÿ÷ç<ðR[9"õµJÐÊPn}!°ntç»ü?g ŶչZcý»²XH) ›ü?WÓàå÷žs/÷ױ̣ÆG3DKpÙOÔÓò›õp¬Õ-‚dÀäXTë ß‘:Y_ôÓâÒL-Û]Cál xRðÏ•mµ`ñ”FD;Æ`„“Ç©‚‡yh3d$«]Öú$Ù‘G#"¶|]aà³pêe{éó–/×Ç@À°Ç£áp4¡gOÁ0éòßÿ@§Yt ÛçR]CÜ?5³).¥ÿ¼z&îò—mi- z:rß0äŠe±oЉ"qñ+0ÀGÕ%î=F8—5èc¥qù·W›‹ú\ob—·k®3Þ,²–¾IbgXf}RüUâ ¦!([6¯*•«ç ëz%øÕ›ö‹ ò™ ëk1½?1¯…]¯0= `¿¬|®¼h-y³iňwTÃä”H6è¾òsà±B»m’o¸,‹L=H,ã×öªö¨\âtK]]ߤÀ¨õ"*Wæÿ²}ÃÅå³ùÏ’‚É—Šñ•ŸùfsÉd28¶ ÒÁߣ~Å{ŽžôF…ËÕ{ÒÂJŠÌºu·ÇÐÁ\ª5K¥í51 ÿ\‹ÚþlÑÛĶm;:̲g#¶‹ãîàU]i@ÃbÑsA$\~ŒÆZÅèÄð8!ctPÕ59°C#Imfk÷æD1èä‚dûÒ‘çÏÝK@èʪ(½õÑ~ð= ¯g¼‡©{íkþ8†íÕ¦ØÑlðJnWÆu¡Ó sq%Gþ¡ªH›¨æ&b{º4œF ¬n–½b‰5(>Ó¬HæW–hBîꃦÚm ÕÝ»è§@9y}°Ç¥~â¾p8%=Ãr ¶~þnà»Æ)¾5ÞdÿÈ~~s9Ò;*Gä0ðçá]ð¼;Àì¯&u,‰, DßòöÑê½ðâfŸI›u»ÉV̓Uq×XÎ!Ô¦ŸÛÚ”ÑöežRà$©çØWÚfËÐi‹^*,Â7a`¯-nX@uê‹Ôî}î*öÞIáRY{ üb2"ŒôA¿œíÄÚÍæ´ìjX;F€M~ژ"Z±D~ÕD·ÀOÙaK±4.å}*D^Òr1iÿŒ“pQäë›)‰ÕêC± #åøÇ¯¾á³ßâÅX¸šr´Ÿ‘hhÍÈÿA¢Ð äð<ä—ö‰ò³û§‹§Ýü¶Òé‡O™À>Æ¥`á~rI8§ÁtNÇHXä—íy·q"$z÷®ž‘4Öç[xÍn»"š«`®mÑ&t î„~£x! ˜¤¿¼¥Fk &â:´MæŠìݵ{uþ•z ?è¿\¢ Ë‚©RŒm'¡ÃµP¥³q^…ÎfCÛ´¿‚ÚáD¸#e Ì(#JºÒòV›²†y‰qYžµN„†ã°Põ–¾tŒ¨Müƒ ­Éÿð„ù®»\Á ÑË#¥öõoÚÛÙ$…?³üÂ2ñýaˆlbâ{|[#{Ë Á< A:x»rQ9¤oûÜd0 QtJ=12±­K¹ ¿ù¦ÖÌ·¦Èj;îè!4›~@g¯í4¥<òôÐR~´3ƹGÉOŒ¿ÊiP’…ôù¨C+ûy+ )(fKήlßm3°6;lU Cg½v*¯@ÔÕ®]qÛŸÐxÕ Ÿm»Q±R°.2ªŸV:CgD¢T¨"L—ÍQ†*:ªL²‹ (‡;†æE.‹­q•1 8[¡ë¶ùôs]êNf‚ùmçøñøíd{¥Ñ{>o†™Ä-&RD¡ª0~<{!w'~ŸGºyb¯#ÒlµŒøvœLùŸrãXU‚u lêöÊ;9± j½Bq¹¨èOæ8]v©[}çýkOÅË[!,ísÇÊêhsI*ÉÚóZÐ9/tZí'q zâà€ß»Î4÷*@¶sƒ“öþ`Œc8t¦¬5¬Ü"¸êþŽi6lˆïö­²½N¤ïöÂëº ˜Ûl ÜÑô›€6>µ]B,÷3ÂÇe½Ö.à=ôºYÊ>£:p¹3Àáï·°÷ˆG#†­‘ôOz$BÛü¬ºQùaùˆÏ¾k”4ëò?ªñ®ŽÏÛhób­y€fÓÒ½Ëùå?‹„ð1nZcÓŸã;Æ¿¯è*‡ýPÿ¬”â²?ÎP•ú†É¤Q 8Ùœÿ°ã{B4x*®SÑ|Í_° “#,²„ÕÒkøºXižuÇgîwÇÃu ßä—a³ ïl~Ú°ì{Ü#9)èñ }ï_‚Nʳ½°—ÁEx׌Ñ2íâh4Q¬é)¶bIŒæš+¥ã{_²·„Êÿ¥ä[˜öCÛ¥ÐHéq~¯‡×ššbá»K(ÙììÇδ(8Àtu½_y ßG·rJpt–¢7^—,˜†½êaíDWšçDO»§^“Ë¡­DÿDlqÈòX ƹÁÕ ÖNs„å˜{@pÃC’{HîqóCõ~¿‘€¢Zy 賎’Îù°æ­ýÑq„ÃaЗ;öÿ ¼¬×ß«Z¢š£˜IÝ%°y²0'=¥B«ò¯ßIÃçÿOlj¸#© ¢ö`ðfþ]â+Ø%ÀÏõž8Uãbk8«m˜û¬j%‘ Ci‹ò*¶¤Ûš ºë{W¥w™•ü@=ßW—®!‘±öõ·‰6¯îÁ‚¤œP¯8K–Ö‘‰Ó¸ëúĤîÉ8ìàVjvl6v'öW$«SŒ¼æUùªBO5`SÕW÷2ª©Õ8+²º±@éò4­|lÑq›ýô«ü$OÃ{ÿ ›4¹¦ÙtׇÂå}=oÎËr_ÿ‚ðƒH‘¯±—¸úÎo¢Á@Õ1Žô ©×6Êqø‹4ðñ÷("6s­·®‰ &½n›®×€Gžcš9|£X\( ¹ çÏå>\Ü¥ŠíCvÐP.MÎmŒFÎ>/ˆ5œ^‹±-Bš„ ºš3€ ¢<22:V²ç’°aÙ™­^¿Z·=ŒÞ^~&È¥éÓ¤Üx÷Ï.iýœ'rp"÷ª¡’£´í®Á¸—©Üµ>ßÁ.j èY6—Qø>¦Bo߇B.*ï¸"¥£t 9Mx´C4ñÒ®.G -‡ WX"ÖÖ?æÙ›KpÝŠtQ†+8W]ª ô«rFÉ#Jœw‹„†Òl"±Mbw$»ÒØ®äzìhÌ€Å!ÇiI÷ÜÎ$\#×H‘?O…w€ç'l’Y© ‹OvTäo¤6žÜoÙá?`yé0Â] këÊ[¦¨ÅÛï—:Ðè0^àÕKÖ¸!±ùä7$–°#¦¸pê #Ð9 Á XöÓ ÂeÖèPËÊ‘$w!Êgi‘¨¬x ¶ì öú€þÅ‹‘^húJ‚ôJ0ô…_üÃx°B?\Neç¿ç¦¤S³ñMÉ11 Ç.¦ßëÔÙ0ýÒb?/ðÞ‹½/¨6j‡³s98ø¼Ù]z™®×!®‰5~/ù •"äé§§Ý|‹Uð{è³ Ø«N¨@ðÑÙ •úºë¢zÀT½´/Áé£ùÜùðöQbï Kª†|Óø;çÂ`øÊ—úArƒ½ý³u¹N¨ †•5ŠðóiÞÝ. jŽêôiE6DZþ;¨—S*=ù„Øã^+¥PÆÁ.êƒ Ûã¢w§æ/€$æí“FçÒre(…O«Fï\纽[Øûhÿu™e"¯¬ŠN–séÔ+îý OèÛ~ùsæŽúÿóÚ€æGFí+ë 2tXtëõµ!ðÔÇì3^pç¿3ÍJ&̰‰ ¬µy/¶Pbæ J;Ua—É1…6 =“Ì—>•®ñíq‡Ôòn” ©• ´ÇOúEþÿö6ÜìÐŽ '^ ZðY ³bA¦«DùCò[Èœ#äÓ uY|:¸ }š\ÏYÔµQlôC:*Â}×uD Â× %åõ|锸«¯ýÎ ˆ˜6Äñºl³Î/¹¶}•¿ ?ÖqpØ\è +¼ÏJY€¢±Å˜N°³UèZŽ;žH̃µt½¡«Öþ—j™éa±ýž[Ž;r©™®ŸÁq«Ö€äŽ5£†_Ù3¸Å‚Wß õXÜ œNìL ;xL{ 𙰠ά$Mâêy¡/!¼°ÛÚ_Ù¡l7»ùîN™Îî‚oC×C"ŠáÎ)§ g@J"ºi=+‡Öæu¶‹"?Ô‚@”ÁÛAõئ§,É£Œ–¨mÍuÐ#ïxïlu`Ö‡Ô³[²’ƒBùXžL¾«²ˆ©3Üë ˜ÆD3ß“Yˆ•L 6k£D®02^e‘åYÉðÒo&-¼±ÎÙ„Æ@ÑèÈq™ìîüh³õƒÀ¹à•µ—Zµ»×LüÏ£ùXK+xýÀÞZT‚wƒhy²kz˪ýZ¤™ò‘f–>ðšûrexN.E=°(…é) —ˆ‡‹äÇ”ý¯·Pºö›zúת:R+̼¨~;1ªì­¸=ñ¾ºÚ&Ûk^°p¯<Ú’òÐõ¥Nö//•¾f¬6Zèñfࢣ-'óRÌTB] ãeÊ̤ÝÑ·J¾ V0IÑVT>uu‚2ž6¿MmþôdÞïàh Äc-ºý;]ÅSëËã¾¹þe]爖-1ô©è)ñˆ+æ±x:q)O ›„-SéÜö“j•:wSÎDÌþ¸5 å? {¶-¯.ˆ a•6_œwÁ4…qpŠÐÓZN(߈–KÖ}Û.¿Çx41ù/n—Òà@í±¶å¶C9ßd7º]ï)O°¿ttйDÊ‘WRÛc+…³A#4Pý°ç8ââÒÌÇnOêû…fä“UXdz²@Í%ƲƒaÒ¶‘Ù_¬³Æ’Ir6Óõs_"TáÆ/ýû[ndp¨¥AΗéU&X•“»Ëû2sά¸ô>¨ÐŽ¢ó‘BšOW÷•¾Ãò&­D´«¢©²üç 66ºúæZè Ÿm&ôIÚgechínp©ˆÇ;à foß #‡/êtáÈŽ³ð,¬1WþϯÁõzr‹çFØ:ä!‡Ôx¤4mÖà}¹ ÷™:.7²]õ`&Y›I®`W}¾]°+ïbF†ã&ì¢kà⻣qWÁË}Y¨¹p£eL19^ÞÜ­~Ã’Ù·„Ç ’^¯þ|,^q¤ã^X‡˜þj‰õKèƒ[e›d-ôà(PëÔ7£qËüð÷´“´ –tºº,\ý0áxÅÌUò5’ÏþÖ? Î…#é¹w*QI|o‡"“éUÒ»îŒ! ƒqm bï[¦I—;AzGÀj‘è•L+§]s¿¬=) ‚˜¬#s—òÀùÓ£ÜéÙ< 'åMº£›£q[Od’«’oæ1ÕWã‘dJqƒÀZþrÒp/(hæyšòO)ŠYË[Iq–š‹Èx„špoÐq’\°$¨&’;ï$äÃ5|П6dæ„ñìFN[=Th©{H8„ù:ÜÙʪçã/¬ÄV'6æ–96¸„õ\«æ2Ÿµž "]%l4Y@Cz& YœTtNj,’3-xl×9öék/ Y«V¡Ç¦ufv{§Ùÿy1âCM¨ ަ .þ@rÊ„ÒÃÇ®e¸Z<½´ã4SѼHKOK”Œu7@ØPå‘Çö8eY!5Jû±êl£Æ“K#àºÓN þ©‚†m| ¦pó®›µ1¥5Lr~ç?ÌoïÂûþõȬQêÁ¦Ï9–2¯œä^àX’ýÿqáMF8šærŠ,à2A¿s»°I‚Vþ‡üª“·Ü€þ®<’ž<+eb‹íPK[ ©m ð¼tæ2¿ j>n^d#g¸ˆ§ŽÇÁ«íeï±3$fB‰ý‹;»A²o¨¨T¼§U„bû´«› Ú ÿ´x52?úcL¿ØÈî T¸ˆs ‰ßö”Н#¨¬gU=ˆÇÑæ_§dµ %U y¡ŠÃþo›òY?–«NðfGA†;ÍÅi­ œ5ÜàrЧýÄ)˜ó,×"£SòbwExjoÖ6Ó¢iÝulºy²„cŽéâQÖí›±{]{Þ’TÜvR5vg´ÂݪBtþEƒh_ú¼àt'÷Êïa@jã­õx„ì“‹ZUÒ58É0 2^êœPÓJï Œ”o’8¿ðIÁá[Þ sf÷¦Õêþ¨ˆZU­_é{´ŽiÚa»Jq,Þ§ªáÛ±ùNyÝ:¨:zàŸˆ®³!‚µ>©”nüúÛP9)üD)¦ ª¬Rµ0Äß$±:i""qЭƭ§ªËý¶\iÅÆwDs‹²²˜oξE ¨ÊTïOR‘§ÖíkŸ¹˜Ø;3@ïv>ôõ ¬drÓ² I½ ²Ü ü‘ç¤0È{ ]µé·ººÄ‰XNZOYÖ†¯ K‰â$ñ²GÒ²Yˆáz‚£–u`ÖY`µ·3¼“3Âê7~­TS@)Éï5U) ̆nWsé2¥Emo4!¾Gu8JkWÿé+úk%@“ÑÑÏRn…8t>*TzðQ‡ª!! é¯/ç~¶É\¹<£y%¿˜0|QR¢BQ $u­—w«¬&G‘bð×ù€Zµgw>$ÚtÞŠf±î‰?¬¯-ƒ€(R5Ÿü£f@eÇÝI7³è9S™š¤Èæõ÷»M½/è½€¬k3É4„!Ë×rÝyY§ÝÝå‘·óÇ+©¬€N•ßþ²2'ÔøåGz[NzdšÙñ¬YÕ¢Ov.“Ç{£[:s!Eg´A¼†/œ9Ÿ”¯Ÿ\ö¦ÊO0ZŸøÊY”W<ÑÀîÌèåYGõf%¼*ó#ä:¥YÁèØ“©Å÷~Ïÿ!|9Ž{¨tíXËÔ›‚?Åñ»V”Ç 7Ï7IïŽFâð¡­¸…kœ^#và-1dy,0‚[?@Òà"ÖH§M£}˜ø÷~›3è°MΞnÏ>•T›:£Œm¡ Úòôû9´ha€2ŸY'ÞÔy ßT$Ø?Ldú¢jø;3xÇìϹóýŒO|%~ªª/=I/Srt?|5E¡ŠÚé_—Ÿ7<C'Ñ¡¬œ“ 9j5„Ð#«7:ûœ«;*š¾glÎþî™ìno~»Uê•“^÷Úቨ)ÿp8݄Ӭ"÷Fî=ù3+Ñ¢”6¾ ìÜf&òë:ÔÙJªöâÑîï´XfjM¤Zè탼­±zäo}=îÉÏÄôKÂϤD@ßn‡)ñžU!‰áŵ•t´ã3và¼PJTé"q=,~ã ø »haþê[ò5²Äô Ôq#•_=Dñâ‘px©)û¬„kï1ãZ%.Óm¬¬¶†fbµt•aŽIkÒüËêxÜð×oSm©rÑk‰åÓë$b³^i¼Ô‘ϳ8Ž2OL@æÍÊ ~ή­y;ûNbå¢oÖ½œ={‘aaKç¡P8Ø›ƒÆ.]Åé ³QKìJc‰¯X=T8ÔoÓ`ª- ¿l´ˇ&ž0&º»0SõVÀ1Öku˜Å½ÄßN²@­Ñ'ž&g2ð„º{?nCÛÆP"*FÃ"I€ï¬â,g +&JP:B’ĨkhÁ$jÒ YèûÑU0Ô^ý¶L ³Û·ýbb=®+¶GqmI´êÿë†Î}º\á1Çø™6ºÕëDè‚Ùé}_Ä¢[ÚZîgü‰Ï2 ÇÓÔ”{åfýl³?ÿ±2 “¤öÜQÕH*qcXÃd”„ –fWRýc xq»Ç1Àft§¥"ƒº†{¡ýÂôAVæ9Xƒ.§dÀš1¾QÙéÔ š—1-*ÏÝ/rNhm7ÓøÛ€½bF÷¹lÐó¬m(YêLÒȘ‹, ]¡ÕNÌÞÛÕ¾Ë ÷£;Ï6B2ŒcÃÏ­ù3GxµG*G£´D’Ô”ô㦖Êdíâ݆FŸÜt¯»Aر`‘É—*qÅ4¹ó8D »]èÓ› ª–Kq¶›Å2Œ^ô1l˜_ä¯!°"rnQîúþx‚µ2¢Äk^´‚ ð5om…ÄöWP ÒäE÷©F¢šô¥\çg#Ç1úÆÆH„Ŧçt sÙ¹MÓ_†t¡ƒ£Xl´œ7VÌ4­Ú º—C¢aÊÇøØz×ôF5äaRÑ·’[>>˜Ö ø”ˆS_ÚÇöÆtÁoЇò¶‡=„…â¦Þf.üá½ñ"4W!’¹ì|š— Úžç£ÑNˆ&shôÆî&kî6Š<€ºÌ3!§Qöêò—Ïñ×ã­QÒ­Y-ØKÙ´ûÒBO„ÝøŠÔzÈdG0vñ¬Ôål'#§»Täaü+)To‘¢þÏÖ+:TˆeGkTÑâÁtšnKÎû:Æ{‰›ë Ó‚˜à4 ï[˜àmè¤Ï“¤%J} xXlô›«%ib}ÇHq¿BzLbxÃ< ¡²½¿v·JK# d/ÓI´¢±›Œ38e*¼ËvG¸vˆ\CÃðûÇÑ#lçÂÓ® É­…Ûð÷>JüÛÖkå¬Ö.q¾Iíðœ; üdõõÄ–¼]/(NÒ]áJÎYªå´¼¿-+¤ã®aêØ0käWÜBA@CÑFñT¢>ÅÑyŽ_:DÙWÊa¸ÿ)÷ãßtŒ±óÇ“`ˆOKÚ”‹ˆî 4ã!|°#ùu,! 'YÖY@ÇâÛÿ–«?Ær§w»‡o QØÄÙu{€=Gmö<2ãBKèõ1àèΑùë|8ÐfÖHSY ¥ÃxkâNrö[;·ú›‚\8e”‚¨e_hÇ'•ˆ¥Ãü¹*nlúW£z¢åöAom¹{!0ÿ g1¤põúרÁ²p>Úž{>t¹¾FÚŽµ½h‘ÈWÚ1òµç pè+—˜ (\Œ‰ðÔõõAAˆîöVN-ÊãåA·7Þ#) Ë¿­®XDí(šq÷AF2^í<¥5‚¿–æïÉûª ËQ _c>\ánâ?›ìúó:m‡Öž5ÚÌø›ø+·>1yÄ{S%•Á|ÍÙ“ÌîUª¸Àô` MøRN=@XÄJw„â´üN#1e"õ{Ê+íüÂÂÚœg©ÍÐÏö@æP… gÂ,²Ý| ‹¿AŽ× ¯g¢Ë˜€S—î H&ÜRb””iðÓÄW¼í͉Õ+p'™"ä?= ‰šÌ¦òuMeh³;$éö=”Šhu¡¦­:”¾ïÚ¥j"øÂëàäØMXKA ÙB% ¹dl#'»›åXM„>W"ëèü;Û=6$a’Æ1ÿD°Sa»vMYúbJuñ˜î‹wh‰Š©–ë|ÖKîf‚ðÆÏÍ%&Ç{±«É˜S xIã>ÅíÏç«•Û²"CTu†g[š Ÿ8¶±àÑï•Ä€u<ýì—Õ®L’ê‰HÖy&~.ÜšfgmAi§n›Å°_P–ìßá­« ˆ·ZDl3­ÉïôÈ«HDGÎÒ!ñr×Jê¦FœI™yI䑇‚¶x\þ/¢’ÔZㆾëíТS纮üººb{u™¤t5S|‚ŸË}R×ñ…,Ó_¿ò|µÛÔý!…âQž„î+h¯á1GÙl~QŒ:=™ï—€zqOû‚Er8`Û6†¢Ì·xÈu !.>!éÓ\ÅEQ~×=ˆŠã×z¤¥Z‡*µ%Ã@’­c!XZœ`gŒ³]x$€î¶RFoDQOàØÐÉé–t€Õ1{¹Äô¼F”Ʋ/R Ufiã-Ðâ5XS2ÌIý}@L¢ V!ücšªRý92ŸXèŽfšMÝ7èÁ˜©ƒ6Uœ¨ª †ÝŒcêÓÕÍÚÔ e•]  û'é>íÀ$]5¯š¹O&Ç[»¬ -AþBóx)§É.÷ãéûÕ$ÕCny7 žqZ«ä’wòHöÊ#™ZÓøpg2/TT¸àÏ-3Lâý/­p˜AóÚrfÌo³òM± ÁF»¿zËÀˆ…”nÄlVi‰9ßûhÏŽ»ƒO|^´|wÞÑÞ’7Ó¬^íƒ<‰ß…<sÝì]ÖxÕJV!®òµ)nªÝçŸ/É]›é@í†3ŽÎtèç!œ÷ÀŸXåUœÐÔ&“& Aj ;¸±ÜkûßÇoÐç{}~L4ðÁ XÚ ±]@&|°³[‚¬®?¦„„ ûL &mA#µ¦Ú IŠÑÐ’{ê€keàw LQ_7ˆè±%Ÿã}9yZþÿÏëosãeOBÖ:ƒ9M:KŽÀÕ²mŒW¿?š M'mJ êõ–-*û>—ò*þ¤¢13ìÎð•a&--—`zɸ!+CÉ˜ë› † ~ö(×™í?A¨\Âfd(¯ ,4›®ŽA-Ï–à†lñKºt}Mk…`n~•z„V#ÓsLržJqJ?1ÜnOZΣØávçÿL=jÿ—·˜÷RßËfðCÂ:WiæÂzPö GkŽDo \ÕŽBqRåáüгEØ…¢@Úi5ßx`GäÎá¾±#ê­!_ޮŹWßá¿ vmÆÉ!1¤ÔÀmª?ƒe¦ø5<={þAcbo§¿âá p#ø¬Ý¦9±.…ÏÑ¿jÿêùµ j&dÉRÞ_0C bDV~žDm¦?6Ò3ÍÒ7õ ,ZñÕÇ=ëí¹ª%¦m(Òež°†¹jû3¥K [(ŒŠ³Mÿ;° âr.Å9.ðçÏðátŸÒÙAyåG6-äÀóâý…a?çrÒ‘b í^™{Äþ—·é€~'yÊâµèýŠÁì?Jœï¢ $Jzм.J÷ü/Ï?ÿ÷éÁ#Gíqˆ=.DôŠó´´0ÁÞnO–‡ÕÅÇ[à~¬í§ð½è+GVöz”ÓLM~Qq-2’ø/ø˜Âb<õp@ÎT£ÍÉ ˜ç&ÍçB9qïq²lbµàZÜÆßȧé*;Ó[ºH„ÿå%Ø‘µ¡gœÆö¹æóàï×grÇ}E½ ¸%oý 2ÂB'O{1•õXŽOq£N<8ב ©Uá]2\N̳*:r#Ù–\Ì{ž¨~\½ÃëBPxNÀËÊò=j׆2‘íY °É!Cö2]H¨@ÙoBŽ¿NÇ^°? ²„-Å#µ~#ý&;ÚÓJШÏ"Û™j•Y5ë‡l “6#{yU@Ua•ý™kd#XÌ}[÷!J·5ôwÙ¿U­R„À¡8ˆo”l$*YItÿ4øïÄÓ±Pæ^4obúGÝ Ñb–œSµFl lß"Ò¥¹ÂàÜI%ÈâÓ»§Q‰>˜B[£,ÁDábŸ."™‚ëá{î,Š8-ÒI¯Ðal,\ÐC†>{ß‚“F¢¶ó?ØšbQY6à”ɽT…Ê^}ñIJ²†Ž%%×:sMé1ä-¤ðªZ‚,¿­¹BõAm uò©¶ìIlÔ<Þ¼Ê6©*Ý»î%² B]0¹·£ugŽHDw!ýà .ò_ûšÈM8åÀ´rAØåß~+ÙƒxëYèÑã­ää}̰Bö ½¦Þ¶2~Q }@`¡P"Ÿø@«ÅÇ ñO¬N6uRV굣Ŕ[LÀ*+‹(“è;”ÓºÊðK…ç=ÁÛXæ0RX'À(dg­I,›‰€°ö+¯@:îï§“²:ÓuüûÁ³”r$xûTÔÜE m¯û«ÑðÒ¦ ÊÇî0+ô v\’ü¯oÑ´[á7f–PJtñ„ð5F F­>I&Ñ~ͪцRc¦Ç(|Q ½ð/h¦'ÄTt OêjUàïßýò™mAUtIÇ‚ïwt¤¤Ï¿‚°8™Ác⩨&oIåVûZa …ûÄ'\'">³ž›Gâ@Åï&îNû(£ÿTaòBÜ_Ïëy¸! ˜œöåe7@ZùŒ7|¤ÌÔÐrÛžVç‘.5êSѧé†8JNÊ@­l«ñ&Û 9°=ÙLÃí¶½EÇ£îçqiNG¸婿£¨ÄæÈ’ÄãPÿsغLç0T°K‚il0-Ò¹ÛÓ=ÅP8œ#ˆ–ž×>fI`d“ŸH^ûþŽA¿¤J!8_Ÿ®Oo•ÿ+.ý0“ËXи Á®|;×”ÛH!pÜ ¼“¸¡øê÷rÔøÛc¿ŽûÊö¸·3û¨\Ô±Òˆx˜4½r·´x˜di‹ø¹~9r’7r¼®ŽÍ¬?Œx\¹ÖÄÎ’ƒ.^÷,¡'“u¿û¬NÖüË—ïò M)´yБàõ·µN¦§ÁZ4ì©)·´µÇ‘§>õÚ¦)DMÀڕƇÌsÀ·Örÿl éÁ2Ûž9åóìÁchú,² ø"úBv5À0Ø\†w|–ä›fÌâ[\‚—¢Í&¨œšd3Kß+†ëNR p —˜?>S¸‰ ³ –·E…|q0$7ª®”ÍÆßë"X÷QUþ'•>QÑÿ¤“6ŽÂíJ¹‹)’V!17‰dÑâ mÍŸ¸ò†Aȱz´-óÈq…½·ÃfÝ¥ž8{dÔìʮ§,áKTÒµ¬z‰Ös…so9+ì§â€éLG‹çöÏ<,!ù_ó3&¨­ 'øÔ²·0P•jsë’76¸™è3²­{ÝÅ¡ç»èæèÆm÷^ÌþAÚ*güaÙy`Z+þ{鏿zÕÞqfÀ,Ó_‡QOàCó…0.c¯OrÒ½Ló­þ‚©ž4‰¤a^»%8§f´Î¢ÅQýÎú¯Ê5d黟5ñÐcøZÝ0á-n-cv™‰¤ÌQµì˜I©+|D 5Äa[]ù8¢xO†Hßü©Ñ˜t¢ Ê—MFÇružÒýݧf¥Ým`îoWÎÉŸó7£¸hÿoðÔ"V ÎqŸ ¤<éCeM¿ºI1~Ä<ö/fI£Û½o0 \'"(}yòøl4ÁFU» ªÝ!Õ¡B\ŸA7 Ù‡ AédCøùÎ×S!] Yg`ÂÙ˜çî87x‘[¥Q´}Cîc™3!BR8¸lê˜Øƒûyöý:#| NÏò4cõ)Ô3qiŽ¹ÓºX~êÛc^$ã¶½CEf“ü>SÑs•Uõø°¥èV4Ò,p¨— pd\}ÉZó¹ÖÄH‚|£T¢üΘWí´P·þͱÊUŽìÏyÄW=úPs)¢¶VÝBh7·J²b·Õ-¨¯HƒXƒ-Bƒ9€˜›ü%î”g 2ØÂÕÚ§pv+^´Ýë"ÖÙ´eæ<»8-ü.â/ÅŒ_L,[ßÀ.ŽHƒ{Y­o쳎ò(É9{÷>&®&w-týÚ$CôµI€ãþñ€æÒ Vê1%ffÈ éÂ.«>rÁý§òKè›="K)Gëšnûº35×O` ¶Šm¯ RªòAêÊjR‚ëy«q޲ ÆÑTÉ©hQ Räi¡-«C¤®ö<°®…/Ã$ y_œ.Ô|cÁ×çsµï¿0 LÖHR6í.8µÅöÞ»Mf»ñßµ+¶%NÚ¿°G.³Ì·Ú=ËEl„‘âl(ÌûþAÈš†3é³LH=A^Ÿ•”/õb7Iö2ê7c°¹> Žr:y À­/©<‹b\/”4', ^UÞ3:Fs†<ºŸü«þa%ÅÙ4C×ßc6XØ89KH͸êéXô?2&rIvŽÞfN_Œsª[·´–¥—¶9 l[bS®x‘Ø‹9ßð¸vO GÂâI ~”eÞRT[*3žÅ‰?‡™$âY*Ú¥ŸLÀ|ZQ¦åçõK„Ì1ƒ4^0ôñ(ùuÍgºƒ4?º¼ ~2bßïÚ¤$F„@é®ÇI>õÒò2ÄN3­"xÞ ÆD¹G× N¼_T×Í*ó$7|-¥†ÄgDÒtkÛ³]3Üçc,¾õŸ=ÔÉ|LÍŽÞPЯB(-b¾Ž‚ý•p¢+)†gÉÂ5fÅëHÁÿšÕ±šÆ¤Ë&)¼7¼= qoŸÛË ‰Ezß›2Ä´´™Àõ>ƒKÞçxõÆú¨ß¥µ·×†{XnÓ⺟£’u×KžG±•‘ÎTWÒ”Ñ8<wïGš½ÄA|Aö7Ëxá”_oWùws¿Æ‘fÒ΃ĭ8ç²M,Ê3 ú‰‘”f.¸•th—/ßZ¸rãßø Î?ž¹Ô=·yð‰.REx¡ºèÓ<6‡—¬Òœ¤µ~S^žòÏìÄ`§ßÛ àó”¯EÀ‰§ZƒªXˆ@ütf ¡·ý1ƒš‹î«Ãu@¥öß™s0xHJñpm™!ÁárÂî·×²nýñNôåŠ5Éjƒ–|rRàÝêá¡«Ð¥FE6˜%ž?pˆ#ã¥%Yä¿ÊïOMÐ[[¾7‰Ç“å‘{4¾ý&?à‚ÙÑl˜™"¥'Q,¶‚¦Ôi×À_?”uŠS¹Üz‘·e2Ÿ{àÂFïçþË€´7³cz8Š2ˆ%J,Pt#Á`ö,.Æ;õ°“iQf4^°Ù>+5³ R7äýLN¶©™Í´8†ÝA¾˜˜m¢TQàß9¹‚“pdïWóóÌ©¼õÓ²I!HúÛŽûp±EYíèÔ'õÛ?h]³EX Ãø°ÐåÝA£²[jڃ¼)ÿ$ˆ›¹ÊcÄK®õd<—¿Çëtlî7‘Y ]Åë•—fšÃj°“H´›…ÀÂËJ_)‰×›Ð®$ªÚù×?í¸p3ÈcWG[ŒÂ0 Ñõ—ßVýZ¢é®;2—¼”ûæ.ƽ^Û®Í_›†»÷ä‰fË$Z‰$´zR¯êñ±}f›öÚÍá@ç9;œáºSÖÈ}1âF°° 9¨iÐ"å-‚‰“ÞýYÔªÒB.—޾…€Ç‘¬å~Y›9ÓúÔrñ.kyšœ‰Ð^ jkQÑ,ßæóû´~ màBÅ•·{·ýVÿ÷Þ×s‚cÈ\Œ•ßPîK-ÿýœ{jØÃ†øÍøÔN0üÔþõŸ‰žòˬo~ xÐK‡{ý0!ë¨þb.„(¤F œ¨û9Ž ™Ÿ˜^‰pO·–¹¬¤ú‡ñä$–ZõºdL8&4öT0´Ó-aߎ‹ûH”A±ÌŸ§ß°$~bTJ I€§Ì_9U~©j·™qZ‰ªÐ¥ßþH҆·²ý+»œG˜­ô œ*ÈöKzuÇ•_ù;N‹Ûòì¾h±)‡$ùŠ!7؃Û*®w‘f,È7_fz¸„-¢ô+y4ã‹SËêM£büцý(lÓJå×TçÃ7Áu«\dë)¢gOYHÀ>¢6åò÷°Ó¯é»  °þ£òê˜Ô œ ö‚¸¾kâ‹}œà<!çÖžèšm¯{X˜e$d6ë×ÚQÞ›@ÁOÊ`æ›xðòü—x´D‚Ͳß"ý!e iÒ§%;bS]‚NöѬ”Ž„Ff&Åï´SlÕ©q'æßÁ#QœÄ[ƾ¾ÚÛ±N=ºØÉoäE!bC/…aS{´]b~<ú:—†Oßa9} <~Î}^?ƒîÿLj›µ_Ol*½Î ›¯è¢+ÕËn&¾= ±¢Ÿ²Ã9‹+9©òn1XL—¹š9 ˆ—…šÿ¯ð¤,¢±J¦DHŽ jÊ ˜›¯éŸ?^OuG'3óØ;ÜNl¡¿ ï%ñïù Bý鲤{8ðWàŸ\ƒ.BÃ]€§¦Úúãô ò ùu¨/YP =ìÚ*‹¥;±È©&œ'× EC¥¶)[OGNc·ènûN$½ªþì}¡@t/— F)Ÿ…ËÃë ô~–Vº ƒ>ºR0nì+Â"ÍJ'd3õ€RpŸÈöfÓ‡@”‚(9«Âz[,ësN÷pýû­–Á:Õ `ôÏ·³Œh’­ó{tj-š4´ßw­WœÜt£.ëq H4ì æ‰¥æÅ£2Ù4$7螗ƵÝççót,6þrŽoê&óšMMÛÇÆÍðN¶>$ΧÙ’’o°F҅ö.³©@Yã¼FêUãÖŽ…Áûçc[´ªl/uíp ’<Ï ¶YnzV1ÿNoÕ%ƒ*ì|¸ ÂÚÍ(¢Õ½éN2%‚Qr°–ÞAroFÈŒ 8 Ë¼œñzÚàN[† 7¼{qq`ÇTíàÀKrQ{Ð!µ)eµ–D¼Ï3«âC<=ŠF¥‘rqMy{8«°Ýá^!àÓ'oþôÓ/úà3憱"õ˜=êÌó¾?þŸßØV$qœÏuJ^\Úœˆi®i5x/.qG+6€ø"Œ1 õ°°FE¥àÁÌ|FR¤Â甃sÙØ,Ž­”‹-#íGLT@XñÀ7¹rmo :ÏÊHrÔ¯ò¨kš™ÇaƈJ1=†0f¸áo3¦tÌù|]Mô.k_¾/­/«:h™¤Æò®#TíNâw NëJèsê9Þ~n׎É.ƒ^ oròé Ð)ë>[÷¼UfÄie=±ê=ðÀ¸h™mW¤Èè>6SÞ5—Š•»÷+=òö'85ÇÕõ#ÖÏò¤^sb½è¼yµýgtu´Ë n±Þ7ÐÍaG¥œ² ˜(¶ä›¾-âu¹!‘¾'”éãl ñT²["O¿›±øëy±28š9qàé üz11,¿ïb5Ln¬“&M ó‰Z”¶¡ü{“Á–Æk—¼®6h3ÖÃáƒ4§(áö&½,_ÞùT; ŸÌõn—àÆ-)/ëÙלEQ¦Ôž}~ÄšÇ%Ò¼ê¢ïç°å/«j|×´…y0ÛoŽO:ìoàfÊu6ML"_Ÿ–&ÎaœEð»nv¯ê´ÈÑü]4?”uõñ¦ïµ% ¯Džù¹#‘ä5û\½àQk@¾ÇÆŠ]À]܆ÐU).d›ß\1¹ .i€}Ç—*‰þnÅæs›%ï5ÙÈCjñ}ºoÖüÇ(d,-UâñÂášW¨õ[£ô±Ô(NÖ’oÉñF–CûXŠûáxñ¾‹¼1s'±Ü¾éžŸ¦˜ë%œ3¦åíÝãšÆ§@òrñÄqçÍÚçnדÀsE£r$^àôÌp ’´ð?¼i Š\Šàº«½c-@:ôªÚEU+©Pç:æ·çDÖhÙ1*OÕDGÍJßo-÷tÉ^¡5îêt„äßÔø +ñÆŠ~’{^¥×ƒo)]ÔÕ|ÊTÇ¡¹DaЙޕÃh³ /*n»U =É-Χ¦–á9Ö¬©éÖ¹‘2®–úSÏ+rDŸKˆÆ;Gžõ´¬qÄ‚G&Ä&B¨"K> :Ö½}2K# =áB9Öóžfaq@û°òa e¢ÐQK¢Ž¹¾éØv8Þ,?Žíi"KÉåoí#%Et&<ød¦›{1b ^ƒñð˜ò‰ E£°m°%©Mh€aŠ”À?(xê,ÔÓùŽC ¥ù*.Õ! ²HL K\kVV¥6xc nÀl#)Jnòà5è¡ÖÜ߀|r5jXŒƒÓ¾5ÒÝpt–(âlBCtJ˜hþcl…PâÔê>]lŒ;”E6:”ë×¢t)ú̵„þÈÒà3!è*)*¾M\¼ˆQsL‹8œqBîûü^ï6cNǾ/Ëåê%Žëįÿ“³ˆ¨i0‡_Ò¶W5=®6_/ÀðW3B°î'\òäÍÊuðÌè³ü†—nRX¸1 .NHE4ewSÚË»9Öm°ž½À†Ñãrãê <î8¼ž•ñ¢,mf¥€”9<¶F´ã¨˜Ag³'pÖx2š(ŽT†?ªrðsÁ¦cþï¼0v'¹Vð-“¬¹¤Æpc€AÙ[£±eYضB–ž™\´!*ø<æòÚåká˜^›q1Ó§E¬F¬öšC¹9þ}°«0€IA«Wü?ëWK¼î¼Øùzó—1]„× Tg A`‡WÿSàôtqD¿`€å¥¯ä(§Œ¶…|t€N¼îîáö,#Çpã–vÌôÀ¾k›$ϵºÀÁó ^§ÍØ}Òi¤•=!5‚Ô,.²ß6#_­ÆŽ\==êY»¨‘Ïéû;8‚Hô.qû§|gãì~ÿ9@âè1įfã¾¥ò½ã\YRM«ÞÕZÇ<‚Þu-4;Q%Å«ø6Nw~~¨Æ4Ë¿²€ %98ºßÜý¹¹HkØïȰ*:u»¢ú{¥ ]Iæ^g -êÀêeQÛ?{¡Ü26m[4„ñ—¾o_ ›»)‚ò—»|ŸÉßY*ßw¶ Þm:AyÉÈ7²¤iÙKïZÉ&T\éM )H)Õ.'ßT}¾NÕHÿ×´Ûÿ÷lŸ-¹\ÓçžÌ˜µóLÐ?±}Þ±$Sÿ4ÔêßOuM1ö ®ùy›rƒ¬ºrQ zÒŠrë‚ùÌõèåÊ)ýÊgy Ú+3“<ú™££ÕÊeù¼‚È•kOì¿ÎCQgoEáȶÕ~‚—M;‡“€Ý<³s•È ác¬±¤¯€NA#ÿéÄÀÒû‡tÿ À`o}ÿ1àÌô¥° Î} µ$«fh€ZÝqRÚËŽ2TÚWqLN±Z¸˜fÖ6ÍîØv׆ò(éµrœ¥Kx0eÁ R•€hfù8-]¢¶Í™o1Qîelùƪ:/;¬OWÂg.¶š¹JŒXÄû·*æ¶i´’Í3èO`›§øJ€iˆ’¥²†\VrHÀ»3å¹î|@K+ÿÛî§D4ÂN¾G´˜—ïfµ ·šV¼}¹QÒña!pmŸvŽâp§’‘έ/ó1õ6Y^µî»/(þ>_\¯mzh{nè × ¢‚ø–†|ÅÀŒ°ÑL˜ø¶oÛqˆ‡\oÔ5ƒ÷Hf@,çÙË·†¢í®‘‘ÇE¶PdÅäñôÑ/'\Âz=ý»Ca>¡ÁÛ¡ ò=¯¡ W&Úã´àõØpmvücÛŒÿxƒ¾— ðk£-ÿ»ƒ@6³G¡i¿üÍá[¡%?*³:£Ê´§h)lu¹Ò1·¤öîDáfÚ±…š+ªPÿðOü´‚Šzþίsúˆd”lƒ¤ŸÊV ƒ¥»/lv'éP!mOt¬/G˜È<ž »œúvƘ¤«¶\%~ÜÜöZHPÕOA=Ö2•W…BçæK ¥c÷IAó£vþ¾p×Fè“Õ ÿ~>\¡ßÚà=dôáMܯг·Ç¥\4žh‡Œ%($éÇŸ]Ñ"ç¡K»ëPÓ (ƒ`ëØviáº!Gì Ò0´¨xæøÅ·qH¯gæ‰O&u_Sü.¾9±·2-†~!ÈD‰ŒNŒÍï´`æ®å×V_ûâw3î’âÌc¿C9 ’;¬­iRÄ«‘óسŒ `ÿZ‰Æ è Ž'ÍWº<Ž˜“3k_ÈüJ×AL¹œnò)EK‚©¦š Ž:éwd÷&âWnÓqe;¦Èü9Õ£ÔØVâKÆôF멯xßÞk¡ú ‰É'¢×Õ±8éR?èy‡Ô'¬¡–ƒpÖQ–Á.:'f2ešƒºµfÌBN¶a 5N|µ®„o.HêTwÓ"~ÏöEF»õ²°ši6«Âl\¬ÿln·½E*H/.SÊÀô–ã`5Ï÷ìÝ8‡,2ÕÈò¼ )âÐùwucŸ+€I°/Œò¸¡';0 $Lg—å,%el"È‹†ˆLaÇiæU¬JçäƒUè)ðÊ¡]űCRkczP BqGêŒÒ½œ£€q`–ÊŽô›äR4­’%ܽl/þ˜ár>. ”šÈæ·Ý(me“zRU¡ŒÈx!pX8 qË‹ÆÎÜ]ÁoˆV·r¤ ·X ïÔSn“¶‡Ý½. S¿%™`Ïé‰K—6 š¾áq†éHÁ ûoyr¸ÏèMVW¡hƒâ‘Ç){Œï‹È)2€×q ð&sœ ëëS›eTºÞ´^*ãñ&ïêÁŒ¼^OÓF25N‹sJ¢YN ¡1B­yC<@Aÿì  †97Q´oƒ$óðmeä3Ïæ™,²Tkç[v÷zN”Mëê¤'Å×ì æ \X?À¡WÞš %£‘¬½ùÉk5cø_Iƒ° ¶®—§¥«C¤'^ÌíëÙzUá'ÄÔֱŔÉ[ªŸ‘€Ú%^I¢½“ŸÞæ#iH©á ÕQuCáoÅ$;û'ô…¾Ü9&p _z*Á+RJë- ±+]¶Nr.óu¶Gº¶çšÙ¯8+ÿˆ×ÍìGÛ9ÞÚk]Wñõ…ƒŠ0pW¬b]ò°â ÚŒ¦Fv5r [á”TŸy¦ÚôöRo·ÀšZ̤ ÎÂ-ç¥fã?6íç}oKÛEfÚmæ9™‡÷i‘o©lEd„ÆÐE0Œqû·^KS;ý/òŸée¨†oþ¦ü ø «PiÆŒ èÊwhGVéP€UÞ‡ ÞñÖé'ž3aF È;ÛurãƒÎDˆ ^vÆN½ƒQÄÒ‘bØ–mVƒsµXéžTGÁq ò A· çÍr“8”ñ¡§™2¡V*àú#¼:bå`åK{õñ?ÝÁbEì[ƒ†À]¦ïoCxmJ&2æ1Lg“Žé0mV F•<Ü’¤ëÀ{–±ävú{*dɪèù!0"ÈäCÔáA.7ÇœãR°äùx}Y $½ÆÒéÎùo¬õ-"­Dº™3Ea.o%0 +«svýcþâ‡ÕpAñ¨;Ô™¦5k‚»¼ÊŠó€úÔí3«#k ÝøY4´ úþÓ-M𾩑«…ôÛ<<æfª„)¯•/œcn‡I~x5çö¢‹pÞDû¦õKîU—5íÈK.€ª>ŸÝ¹¼Š¨ ŽÒÞxsµ!:ÄšO¾Îëšµ£ËßYƒ»ŒWhw³=þ½Y6ž­Ë ¯¯ ¨Zð#ù@ÊØSgùk½¶fOÀþØ­bóNZ95% Š‚%sÏó ÊO ¿ÔŸ)ÿ2LXèÕBûF +_O'±aR ‚±§Š\{3y³J[k×­íÂjõt=¿ðw¿ÉÓG?ÿ¾» ^Rv°ˆ˜Ú¥íë×dÛ¤Bètý°þ´\ÎF¨zJ%‹ð·ä~Ø-ã‹?;üYù|k:Ëá|à5A´z5WiÓÓ­læðV`–Ð>ó8…ÝQ–þÖ]þÓ²jHÿ4¡ï^¸¨ö•¸%‹ðò;.-‰=áщ(­èFÒ³ØÐôù#Ão [Í­«{ñæàe¥¥„X(ÎÆx÷ò ʇmü†óŸ¨…)³Ì0± 75–®Î×›À!l¼»l2Ôµ5•¹¡l\!Û/_¦Ž¸»&û,SDùÕ-2¨PææÏMÐŽÓXÒµî2òËX“w©~|rQm„àÞn å»jpÑ6ØÖ¸l”§‹bG(5#L /ÀU )jPàåÁçL¡Ò Ûbü| ëLQ‰É¬>ªN·í DJœB“­-ο,^à¼fݦû ù;ì‹@”4+È“à[Â¥õqcr…ÊðEe'À¤_5È<Ǧ™Gûˆ„`/©Œ‰Î¬0ÈÃ1jZEª,…^dOÒrÙRéê¬fõI1áW¥?ë­Œîæ.?Ã]¶Là&tSN>ßùm)lº›Oð‘M”›fÃÐÀð•5?Ï a ¶äü²Éµ-˜­ •âëNÞ†a’ ß `XŠž;NWë…{þÈJ/âÊãàõÄÊ7X´uŽò õê·•fúq÷¿:óÛî3ÄþÍåÒ‰ {`/¨õ°Éa:“×õ½¤¶ß´Lå?ßsÑeÓä¸?ͺV“DEœZ‹BxSý(¶o1<«¾ØÌv8Ø^':£Œ,LR°n2$p_+îäl)ð9 Ç{ï,ÇùÔ¶YØo^Òî‡`hFÊKú´Ì3ó#Œ+Ážÿq8¶l7(G¼FOiú Žt3’e\{Ys„+Ùg(µ.Sö•rÈß$Y½b½zÄ[6m5°zæáÃX@O/€ôrü—âÕ#~J§rƒ²Ü¤9jsï½H¸‚‚NÒ¼ê›à™>ðÉþ§9œÇ.|¨í⊀™ÈÜ/8 /4‡úp1ó•d9Z9O€jV-³­b¥XX=Uðüu¾Þ9 œÅ¬Uʰ ¢Û—7#}¨|HPÚ:î§ÜÓÇ&L;Oþjß3UÏŠÓ5ÍS²1?µÈ±»Îµ~r,µ½×³¹0àz¤œqh-ÿ\qßbR çä,K£24‘tA¾ŒIö–:0eI×'^’`Ó•ðüªþ«(É -+¸¾ã !Lrý«%?=WÂÞÏ2ÛÊ=ÿ¾;¦!6þ úÕùRœhb÷œ{ ÿµ¡iÅ]‘WËîÔxßÅXLê¡2¡Bh6»ëÓd¾q†OÿÇèÖ4“9¥púW®øLùµ„húóE…Äm^Z%\þ´9÷úÓ˜p€Û8HnU(À'ÜwB ¼‰J Õ†É×>¾ëüy!¢VO‚’ˆ ¸Tªþï;£‚ IéȲ  ÝR^°@©YSÈšë[»¢“¡¿Ó¸0?¥ƒ‘$0ȧÙsôËX›!Á©GåáîØ™ ‘ "¯i¹·­ÐùÄ–ì™Ø@"ý2*êº"¦Î …ù Ÿ+²!"Ȇ?kãn†?hlÐ’ïA‹š0Y™O"÷ßÙŒ¥"¶"SëTp?e®ãŒÚˆcƒ€¨ŽX%ó×ôÄôË–<¼biÒ©éÌ TµJª7¶ ܱ#åt9ojLéZï矂‡JëY’›=Ln”ã-H‰Ô]v°\ó9(O*¼ªß¨7ès€fE9â:_®6Õ8lx‘vö½|®03™ºµU®ÍÔ6à+3¨KR7èSZ±´ä„}ð"æÝz5šJo}4&7L—­¾ŠÝ櫾frÓ¾HÞàÀ¥kÒŠ¡>OÊßëœ*[Z£ÿ~™þË'4ˆøy Dñ*¤%5¦ÉªAÂô®¢QJ†|¸ÆÍgL#ÒäùÚ3ñ’š·>ú7Ÿ¡à©¡fº·¸Ñ†Þ…´…Ïœn:%!‘ëØcªý¢°b‘>"U$ŽX*W©Ÿ|’«veãi'¥3:z#,ºZßÕoìõ ”Mj¬«”q¡ŠÄLsÿä¿AˆEnS¡ÝtH†>7Š~Ò¢#¢³,I‚¬ƒg'-5¡þ±‚xù|9Â^É-ÇÆ×¹ò½–úPo5"”+oáôs£³®œÀ~;Ož¯Ö/]kr.5Žæ®ˆ*Ë7(YN×HÃÞ7N•yˆbgÖ¾ß tγ„ˆ^nåF;Ì–%êmÒr ßéd\à?hð•ªãå¹'1< Ì‘…_Ý)îÇ(UüTz›ð¥ÅIÚ\AQ`u÷­wãºÕÁ)Ñ9.i8G«6ó<è~t²ö83þ‚{|•¡ ’†"®†u´ÒÈÄÞ0KºCÍÁ–T–ƒ"Òµ–qn «ó c åíÍ5H¸K,÷Z¬EãΫ0K’ÒÂëPqT‡ÖÈ|ë¶_´V)µFBkyÍ€,[ vÝ ªpV’àYEŽðÊ=|58NP—O`¥¯œ8,i:ûTž$¬ØšmÂSôün¶_Šá6¾IH'’GP&Í•êÖe¾¸¿ä.•ã ý)6‚€Ä0QÚAäµG-û D\nw>HרNú·XCSÁãaZÚo‹ß`(33˜gu£+”žæã·n6Eñ{evt­óÔ±;QåBÞºT¤MÞÙPs{ Ë.û`žÁ½êìÕv€8*öún+žlš‹ö’ðÇ[5`_¿¾„ÆâCJ¢±éNîZ¨AHa+ðŸ3Ü®¬‘ˆ‘ ð‘|AŽÓ« ¸X£ü1/Ôwû]ÚÕzì‰8çžúãF¿ª ¡)˜_iz>ä­hLòt 1õÿ²¤Z¿Ø~^ˆŒºƒŠÀbÈvKn=>Û´8_%»rÖŒ _ïO¯4:® .-Ï&^xœ%ÊN ãìPÎ-×´ÝPÁå\M3 tÉ1]um…yÑ<[=Ùyä/Wÿ4ñd =g8d–<“(½4þ©­–´lL:¯–ŽyÍëçâõ”  '­y~éh›eJ×±j|Ç<ܖ˾RògB¶qúë™" @Øäª~ëQ:ªÏÍ\Ÿ·ä€@8ú€Ðyhšc@dµ$2Hªr²šŸþôë'¬Ý[Ség@Wxª‡Ž»!•9+>F´È ½_ùE>tÞ¯&•9Î〷žŽÜÉ?mZs›NÕæk¢.)}|ŠY3LKpq¤Uá*eý#LcµYj>¶ªyVmŒA Â*Ô*·ïÝ­ý[¥+_L­¨¬Ö h«è+ç.Ð1tFˆÐÒðlf÷_©S;@òòÔO½\]fîI¦ëcB›Þòa ¶H43nZp»ðgxWšVWeïJá1¨„>éðÛ ()‡ýª3ïg¯Nœ·ÁºþGS (ž‰f;D2À”2. Y¯®±8ƒÍ೚8ðÐ2HžæÛQ¡ÜìŽÄ´ 99d!•Æ?†(¶‚×d"‡³™/¥7ðØõ'K»ªuäs9ÒÀþêaØñ»O¼˜%ÃÝCnfRéKjÚ’cc7ð}kB¬‚ÅþÑFÊœØ!ü´P¡TŒäå¼ú}N+¾Š»X½07R>õïM­ YÛ3SiuŒ9‚° Êéß™΢BL:ü_]ì¢NȰÃÀÌ–q†9ÀÀMŸ'ßõœi5·h¡³vô\îL‹ÕÆÇnŠŠàÛãýµXÅ‚÷Y£µ/³"x}­uó«"Æ­¡³<âÙ ÄyjÎð±=’~ˆ;ý$Î*89©SŽ-}üvžýEúX>OT WN¥¡H`XÀÌ@mm¬‰#étŒ'Ö!-›n614›Ö ׇ1¬­¿ÿ‡ëÜ,('Ú×xûaÐQ ìߎRÕÓü£)iÿ×7Áª(b¿t¼¾?Á‚^šqv¦ƒˆÇBàA›D#ãÙŠòécNº8ñ%8ÏaºìÙÙ’ ‘„cìãÖ:èL ¿ É6Ù#¦¥b°qŸ‡A%nœêû­ƒ³ÖÍ\7÷Ù²<;N"2‚PSÝ,CÎKÕÛÌ®[½—Ð%äDkýçïEÚ›Ô%rRñV±<èWtÇ‚t¹ßÉ*ç? ·ð»äÌ KÚ=½Íö¨³Òæ> ÁˆË™è¿™fþ{1 fO”ñ xG õ¾WØÔ9Ùh¡jÔ{y|Ò"êMr¦{‡[ajÈJ•ŸÈ‚ÍZ¾fà‹QÆþ÷xœEþÌš»ÿ9A&²j/_àŠíÅA{YfG¿f¹ÙS¾Ñ£(q¨0êÝ ^°Í’tsJ•YÛÒJ¦Áê÷Ðå\ŠÑ­»8S‰hø6Wnžº?,§÷¸©~Q݀ʮ5«^æ¯5‘ÿ€š‚L Z F×n¬¯Š§Œ|Œ8æ÷·ž{LjÓa7õr ?! G>ºê0Rÿ±W,ˆÑë;>žG‚ £$”JG«=I÷q|©Ù÷`ֺ무"Ó?3óéjÄÈÃkË7É̉6¥¹Îº($ÛÛ”3¬l×’½á«6Ê}:…2Yˆú”KP®èÜL~J†µ1hÙtÎ8ßl‘õåþiòäˆ< 0eßTügj½“°m§r•éLÞ®îC ƒ”&û¹ê[!C£1DØnOÀàÎ"Õi"@WG˜FWjæ±(Séım›Ø–PªÌ5*i£!úkk&Ý4Ð38 Œ¨¨éçvc¦vö0mÀÅ/4X/“tÚ _ãu ;ÙìÎ:uñ@º/c".Ô2×;‘ýùj8¬Òd¾Ç´ô¦ñαfB’?ÀpíäÅ IFŸÙ¢WÇçàôÔ…™†ÀÔõð]hÿ5…‹ÆÁk tH,(Táçüm;øåîùø¦›l¢eøp2G-‚a6EÏBc¾,[)üÛ$‚mÚ0XUጰ¢°å“^ßõHa Óq®®|Tåý„hÛ¼ö•läH4 ¼Šz¦_–’¦³ÓÌ"ðÀðNéGèå_LàÒ,¾.©g7íFÃïw陋x˜¶CèŽÚz«µ²”A§nÓZÏÀ…+¯8ÞbXJ?¹vXaXÿ'7Û[r;Uá—ÿme‡Ÿž(ˆ÷À%oÆ” צtF=›&E»#IB­ÉÿñæâÍM£*Ëšµ§rvþ3–øA‰Ã™W-SÛ[K·[8D·Ûâh`•.‘;)„·É€è˜¼Û£õÒðÊö>‹ËrâØÚ—t~'¤1VA:BêXTy̓—´‚½/ºUÐ÷ôZ6¯cv¹1§\±’Ó(zѺ1™Pa8Bç'” aâC_ 4¿ÙWhXš€!{v{‘H#ÅM'|<éÍNê¦kÚC³b·%JooªlêƒkÕʈŠN@íð¡ì÷Ìe€»“Z´ãÛ´ Ôվɂ§[µK³¾Ð$ñc¤²g±£W%ûUhAmgÌïÆIͽ…QeG*ÌmSã,p/”ÜQ›j`^­EãñúL}yjÚz…uVÛyè#9ìKxJÒ3C?¡§¥®=ñů¸i·5ž»0·3ëÍ5ZNµBתè<Ý£vÑO§Kéß—%šš‘˜. ­; @öÅ‹§â †T¤8_ø}E²KϨe|BÌ´5±^cò¯}#6#xÆŽBÑÁBľ3+R…6ô $4©¹jE«¨aLXä!(H¸q_PV¿î.c·ÇÞÌ5^ëê忬)ØÖ’Oß-F±Õ­bî"D_}ôÎEÁÖ>§(õ…è"Im©Ê)ÁP'vB‰` o¾ø1 Ë£ÅUÿzbtèâxCô¢¨’G“ [3²g¤Ø±xä)„ºõŠ«Z”/Ö»Ú~î%-õÅu³1:‘³êÜìJRˆnÀª{ïœ_˜ ðù ?¡÷õí0|>šñÔªéÄ×8Ñs8–Ð,ȸ±O¤éšR@@¥ÍÁôŸj5¸Ùà/¤BötPšBZñ™yòÓM”nb|j€»%õfË®å€|²òǾƸgkôsÙ s‹«\Æþd*ì 6?™,ºØ,þñÚüŒ1‚ö;ÉsÜ[¬ÅÃ]¦­4»Zcg,ZÙaNWË3sJd- K‰–¹ƒÖkÝŒ²ƒ…e›™{R%ª)ÂFæM-m‘½›µ¹`²A[™ú¬%ÛýAw˜Åì²°c¢¾èÙPcôèn…k{¥¦Iþî^y¢6’‚1-i}Ÿ¯ 4i&¡ 8 ee¥›ûgÕ ò!J¹Mó>·k^;í6èI{Éb!YO.Ítç&Bù%ߢpÏ}Š#’u«é¿âµ@"g€Y¤Q!ÔÈ8® ]NÔËÄD™Ì;tžxËTIŠ5óòÖº¶©‚6üûý 1M÷gdaDÉ@L»žh͸X‚C»»MÐò0„aµêY õÿÚhËufËP©7]ì[SAµ¨Uv¶ü©pü¾»XñïÔ²%nz¨Y(µeÆSœTZ²Îå÷¼Uc?ß'4f¢f÷žl k‹&y:27X­BÌji‰x6¯i^þ&Õ=mÐ:hü³º:˜¾ºlÇ2Þ\yV?´‰ <0|Q|!KRJtße’Õºf>‘[)ÃgeÛ—Ž.x„pÈ»WÌ\œ@Ýßña;tDeÒðølð‘¥fðøMãNzûmx î±û+ôjæ]Z¶i9¡È78¦@jyû° ɶ+ÜÔÚPG]&šŠöb¾4ÑÕÆÑS›Í¢fsÝ—‰eqè ºLHdA˜v2A‹9Ôœ„ê³¥uõLߢ­ÁXC žR4=Õo)¡0ªâñ~‘€Uô/tÐjäÃÙp¼ƒ¼V °ïôMˆN…ƽ¾#CdK]šË úJ‚t0¸u‰“jqÖ°aì¬ß¥[nc6}Ùþ^:Š{û s DÉÔw¼¢+X…\Äñ7í–¹.¥r–áú4ŒɉãÏ YîÖ*ám¨'ej¥ºÓ²{hî ØC$ˆ6ŠºsO'ž"PF¦‡<“¯‰ÍÆ*Zš†ƒâŠaf¨<¨ï~%ÆëZ cB@zp]s“ÈBº¿¡{G-ì®,p¸P3’šº9¼øTP¡ N ?ŸÚj¸xðR*Þ}_›ú-òóEÛùÚ’¢çL€ï$§~öÿ@ÁPÑËã›êo•ìËW×pÊÀd¿W,MxƒMwǗ´‹œ?k•JÍ>¡)5:ÇdÆl ÞÇ8ìÛb¢öº—ûÖ©=d{mÐÛq€XA¯´ÊÞwË>WÖ!X:“[±"æZä´ÅþßAÃm•F³¿âTµÍxß…] Ù”§ÆØÃ‰|E%G;…÷„Væ…Ó s`—‡væ?C¦CË`GëÒq¼Qb‹¤3]uÆ2`ÖKÎHXë(Ê¢@)ØxÞS…SU:h ü˜"EKgû時\ãÎVg/7MåÄ­ýËn”€<¹$”ø5&«H#ød)?´ÁcBmÔù¤›Å€ò VG&!?Â$U3ÄWÅѧ-:¨¯¥¤OV6ðÏÁåOß$fýr®w AéÀÁœ“|0å…?¸rÁMSKëV°ŸC,|ÑPyÉ¥îƒçõ#øXÜþ^Ë0LuÎqVp;=РB†„|²Íã8µ4õÊ1ÊO­ø¿èeèHR%w ð¹Œv¹À:ö_„ ¨äåW3TR æäï?U¤L{2Þw“Àlk3áiÈßâžÐ æKw}2eru_ ½c¡-ö¦©Ä*²t8Ý’9º ’ý×oíŽ éÔh ×Õ(²nÊvijãTUŠ65"4TNXz0D”?¸N{úN}X´^ÆTyrl_°ò›)²\dw/¦ &´ý,µíÈtzã;žY1'yZ­‹“JK±Â!`pžôþ'*nIæž3Ä-ºLù.UݨP¡ÄQˆ#yjÛñý™˜?8½AoÕ„d ஀ºÑ~ äYæLÑÖ»&ÊA̬'jlþù§ íºBï+€BÐ-Lr€—«/ý³Á,…F /gHddìK¾f»~èM†>¢“*pÒÓ¸·H¸4ZrºtΗ¾ìøã€ÇÂsæÈóbwšÂ^_¯Ö¥½Ñ ե•ÜŽ¢'¡Ð*í¯”ÿ 7—å¬ñT­êf^ «CY´íZFlnЫðýóìA—¥D«Ùÿ×cæ@ŒÙü·u÷f­u˜„)ߊ€n6“EÍCF+£@0Zî‚ñ–4׎Zçª99T¼}ÔiܼCÄ9Í™@ììŽ<:l¯þ ¥†9sÉ@;iÖÿ.åë–VS–a´6ÄN鳉éÔß!êCIÖµÜåw0’‹+"ž‚Q¹o•“£îcû@¬µŠùq‡´ñWÚ5IëíB»:ìÇÓ£xìöŽŸäØ]Lû™™äøƒrž ŽíÑs®þ}*T`Ë @v³Z@bê üö}÷BåÞùNFW3ÝžªByŽÍsß㺠§a]ˆ.NzÓãÛÖýHªžÿLýòÿWضˆ?®Ù#'póŒ|¶’m9g×c2k‘L¶ºcQsj€<‚W­‚`;WùøÒ=èÛRw %(rÿ6bùœüžônz–G=1í flÛKÏš‹#Ñp­ƒò`ô‘Pî*>0›}åo<œi†½nwÈÍë¦ôìÕ–ÎѾïœ7(~=xРܼž/¶Ò5x–Ÿ!¡½asêµW mN˜ªãÌsì9¾Rib'«ê+å âfÝy%Š„ü/PVtÂ(~V…zŒ1ûAïŸ0wDz†,.y.}Þ%ñ:øJÃ6í²#µdâ…c?Á™ÿМ~VKLï?ß|£Läe8 =[\á»ËS P?³:f{}ïÛñ Vý¥`Û4'ùCHÂæ³1Sm»¨fý}/å×§c ÉÅA¿v#Öæ§Jb‹\ëâòëU«š¶^åãu÷àgȾnš;-i®¬Õ÷¡½ìSV9Œ¾ÿ¨¡°Ñ‰J‘ŽŒ.­¯$"@“Ã7ÐP|¥F=w!õ p|d8Kÿ¢TÎÔ³©=ÇVô²1Mó¾Ì)¾'avúJcd‚ábxç/h2ÉxåWó]U<µÛùôâzd˜<~9åù;,ŽìLB«À[è•NI¸§9oþ[û€÷ÍtÔßwaQaü¾ ¼ÓX +YmDŸÓu‡dß"s­D|mxv‡Žéä ”€¶$!U{€ƒQxZ<šô:™*!ë‡ì8ÃQ×ÿsÓÍYseè ±‘·+Ï Pö3I„VÁP,lÎ#lC¡›×¢%ŽÖ5œ¦€ÈÈmV¥ÛI@ÃÀ)K{[uoé?ôÅä¥>ƒŽ‘×Çä}gÊ]b*ˆ±8Éc‹)®RD¾˜¯’— Òîü|yœÒAjžìXXD©¦hŸDwm¹ÓMq7®¥`H;–¸Š/‘s¾½åáŠ[—vŸ>Cd‹r%Z¡7ìë§ûbi)ž—â¸mÅë¦èÊXyÏ ¢œ›ýéÏzíìQVwçVJËÖŽ”®lûµ¾!ÉVùq(­Ë8þ„PxRÉØÐsÇC3,íšÎúÙº”ÒžgYüVcMïÕ%­;ªÏ®(ÿÿ±[CU…ŽR½C¯€Â1°`7Òë³¢º¢Ã}®I·\—AÂFÊŠfK©oôš×ûLýBs€ä"WQ7¯8¨ùÛ#°ñßšYÃV–КcÖÐHKãë Fµ‹ô ‹}]û§d÷Œ ïé€m;nÃÔB¨ò3›Mk*¯ ò•î_7è$} îCÐ3eŽ?f« µ5¨™òWOÚ~$YƒÍFƒ•M{ÀTã6OËÙsä0"®ã‹ª¹ºŠòÃX¯òa˪:Ül{­ñÍή¤~8DcqC¾Ky—Œ.ÄI±å¹º›çmP·|ô•ÌQ£<ÜA LÌÜhÂÚ€‡•ͱ}u0ÂC¬h¥9Sž{*HÀIô´ûÝ›¯Ù§#&§!9S+¸É„.‚ ~´ñYÉÖè.H¶—ú뤫@^~Q$Ìo ^¯Y/ig:¿]GR¸$OpBÌï3°îzJC©™3¹v#ÌŒÿyUÒÜî`4x%`4æÅ>,ô拽©Ý×Ý}¸^µÙX½å-¿÷ ÈÜLMÕÂgnÚDJõrÕr U<ôKØÓ…¸ÇE4ø¢ÄTñý·n{á2Ô§­²s­4©¶?˜\PNËÞ8NST1yã_OŽérÓ¶k;ëíRD”»x2rø‡wZé¢.:å`üëݪÅËQ-ršC‚’ë!3gì1cÈ^˜›]ìòpðS-TŸ%/MW#±5àQ UxÆ'a»J E³X_+×Þ›pß 9ìqÿß2H”àoƘ\Y}?æÝ,ùIx68¦ Ú>>Í{[¡ˆæ]¨™Ô¾î1$mÔ5gÅîþ復›Ä@•ùâz¼~‹~urõ?0N÷§ü¹œü&ÇFc„›ä[áOE“­Æ´}yäPÑ(pÀ°/È_+E<ŽÞ˜²/¾¾âç8`Ãi±Êì°åLóñë”ò¯äÕèQ²†\Ò™ä×e© ~í£¿mL1üìð'›•‡GîJ¿Çwk]ïèæw v%¢]‘‘–nèÑÞÊo¶øëîŸFšéÜe|ÐnêS£ŠYÌÉÐF²:—ÇŠµçTʾs€ ôK÷jœ>8Ýl‡ÏL ¡èU–Ôõlׇ$I@—bаöŽgRçˆÔùäñûÙš ¸ÂœÛÁíš¿[8L¬rzlE,¢ìÙCæûõe—è"·„÷–¸<œ¬ýÕ.›€q$Ÿü…çC4íu8•:&Ëä·‡jÀ1!¨ˆêHT]‚$׳ §iÓWC.]Y\7Qê”Ë»-[¾^:SÑ´ƒÎ“§$¸j•O¾]7‘ø‰é´dA±ƒ8kO±¡œÃß5©>›¶b¥‚6Ú.XFf¾p!ƒÂŒ†A1¨ÊBKêƒB=òK,b =äÇíÚ{°±‡¡•Šó«C^Ua½Gf‹¯ÍLñ«o˜wjß¾wÏlCÈ%héBgu¤«ñ«g|@„¥Ú(ªÿBmL¬þ^=·V¼B¯FL%0U_âMÕ]DvQ/b¿ÀÅ$u9®ÈýÆ8©¨úð•€[”)o3ßÎBÿªõÇŸ{qóD9ÑËùÛêùíÈHDŽn˜ %RÂBË ®°š¾i¸ì–=ɶUøÞ@dÖNÇð¢DY!k²05€å“%Èzo˜/ÝÕÊVo Î).­Í/½f³šÀ#èÏ}ð+‘¢´’Ȁ茗ú WéÂTTùÒAà!tjL)lþïK+82Í*„ÃaÇãš[¢\ðŠÜÙÛÌ9˜¾…¯Ì‹#ü÷LåÚXj›»m(ôè<åÌ^+ôºt*¹ÑëÓè×m.”iYòFúøJztú-Eh˸ØÁ¿mñË^~§"¨™7lZ—G‘]gÖY'?ðôžÎOqC%8@<Ë xº•P‡Í´QA++Z÷êÔÕ’g¾u:RœT—¢¯¤úªâ¶I¶ö¢ê©–¨Ç…¤˜è×ôÇÌ}Y™H‹Ñ+À{i£~ñ˜é$6ÂÍ;eTùÒäu¢£Ê^­†<Yˆvº¶:…Æ}éc² £E´4ËSJëçôÖ™Nà›¯™a“ð‹ Õ$dEƒ·{z<œíöw¢¥Ã[Š…ßÎò_â Ùd¹Œ £®TQsÚ_Ð6ÿn”™þ0©¤•±n¥+ÍNŸHCq='=”/ªãù éðbTMšó&j§á®G{ì³ýlÆØÄãž Ðt4-«%ÑÅú‘ã RJˆ`vúu4 ,ôò<Ö=pI~Él7¿l iGgg tpÕ;œ©åɱîîÀ®LV ÂWÀcsj´ }YO¥*wL†ºI=¬¨õ j¯Õ˜|(>8‚r¡ù“´Èر…íúÊ[Hjdä…çÊÉõSøðoé.°]?Ä/ðCÑc…Fß«˜ VèÓ”ïݱŽ|®&oÆVŸ®”¿Ø—xÚt)ŽóI…ù’6Ÿ¤º4]Ý`>ÞÁÕ}ùç¥ú4N¶YoŸV ƒ¾ÚO\P è­é{^A¸ªÍ:ãjïÚþ-rÌ$öѧæáY·åÁ7~Íìd6©R¢ˆÀCxÙûµŠ,¿RïtC¯È’ÏTz$× ü˜¤+{õÝ|¯ÿž‘c)8šÓVlKȆ\M~äÒøˆWIÀá5aêÇ­¤ûìX7ëUsËšÕþæ°7Ÿ§ g¥¥ð—w€ñ…Z‰‰V?s–ãxò·ib¢Œ6åºßëΡõˆdM[û’$svæÒíäM±'Uê3fLk-íRœÍH²½ýÃÞoªä¢;ÚºÆE€U¶a '“ vyøéÆ)Úrîìšã.¯ÚFu·¹ß›‡~`êÛöaýœuÌ5/÷RZ@<—075ŸoZ“ªÍŒºËÊ)¦‰èÈQ¥Œí³l$Ig€£‚ùŸèêA‚ü/kÈŒ»o’ª%1áÇ®åÿ4ß-ÌRŠÛ¥Ê¿jPh·Õ† ¼@­ “K7C½#Mhf5>Žsr‰#4;ÚÖ)Óc_(ZîDA·‰üËeRµú¹ÃV¨j™ìºA±Aÿ‹zŒÎ§ÍX tö(È›Tóè£f>¤£ë™Tʼ&»+;ïCMZh^[G·)N04LÖ|‡MHøÁ¦IÓQó¶Þæ2ú6zäAL#-ûDbõzvoÐ$è$¿j!ÃAÊÚb(w*ÇÍ…6þ¬%¥ZVVÛšl^÷ãA\WЧ?A(<|¼JÂ`›[JÖùýÈEÖ7€²@¥g°‡zI¾I;o€¨ÁGîscªVÞ0q«à£vÚw!¶¼Y†Íf$ß`Ú«îòéR*:)¹¼o¾d¤Ó&eqï/NÛ®ÖLèg9Ƹ%”ëè£Z·QïÊÙÆ”ç6Z”õG˜xÍ/œmr £Zögû”][@v.¹ß,&¡æ¹="O4Î’•`ó_·û2ôâËÊÜL âÜØË0šQZ·Êï§ê‡ýÎ: e51XO1ØOL ù”œO Ç”=+ÉjDx«=Š/îšxéŒwA‰vw°C€ë}3b`òÞ-ròžÆƒÉ^ßËiáÆHñ1M”„ApŒ ¯Y<—Ï)øÒ4Œ[´© d5Æö¥µŠ$H|™Ýñ~*ÒBâRUóø„:[I&ñòX{u¨ö–Jçýøú.-­ §¡,@øÅ¯#Œÿ¾xä#Ïo·ÚNŸ2DIgð|ãM±Ö:5M˜ÖEè`¦i;Iæd}²¹U!ðZZ+–0öŒó«¡(…pÄr8·?<À4&\}Uâ %\ñÊé žÈ³Ôæ%14³]À‹°pþ02¨9]‡€S:®I ¬úÃõqh½ÚGškñì8Få«›k긌 ñ(¯zºD4kÂ8RÁ’8 ¼„|\m LåT÷…?T'“¢&M 4Çr¬òþjDÕ²×yjqàÔòŒMKŠåye®. ÝÛõ1zÂ\­JÁnpïÒeÍ…1¦·Ò¢'‹YŸP90õ…já-ÚÅæÆ€;üý¨^â1{I¡|×ÔYûÄ=B É('gEÕ¶D –\þOý€†YбÂëvGÿ~<«­O£5É;~h¾·«t …ºßýºê°ÓxFó¸ ?xG£>‡=§þ_Ïóì fÉWê¡?jo$‚Á P“0=N?¬/ШqC3qv[á°.=m ­ÞìÖÏBò19Úàn_Üù)ØÉÀýšvâ’[ÖÂþ–cÕÎлÑkø|­Ù…”|÷ÊRW&ª'Ø5ñ¼g,C ÿÙ•K °ÞAžò±ÒóÆpPý€bæÇ3àM+Ü ¦`ðë§/DŠÐ¡…M£[$qE#üøñ º0N©Eêyb½ñÚ¤×gPÒ—+üzŒ‚ä8+Ù JÁ_`ÌÙ J VDW .RûUk”ih”¹a©5¦—³ÇúO7&O$ 9×WúäšiëOíjøì4Ä’Xšbmø»kü¤6ûNI&3Mωá•Hÿü‚(ᄤ 8ƒ1Ó#uê²u¯3…2FâXJ‰G ìuðömá~=•ÕáJ8ðŠ%(öˆ;³ ¢zdHj̬i$T'Œ»¢Z¨a¶>s>mV| T’¥/¯˜¸wuÓ<—†Ù³9«wK‡wµøð láÞc×5g€Ø¼6øè›c ޼wêEÓþ ´•)ظÁÖ£„1ˆ÷YÇ›‘†îÕ?¨Aª`·DUÆrÏCË0£þ+vE‹|öèÌMÜ÷Û] Oƒó²Î³ØÍÆ;J)G6 WÉx¥_ ŽÀº¹Œ³¼Œn !žóbóõ9ç}6…ÀêLHððUÌ® âvôà‰9<9©z5éIÏø yÊ5kmª‹@ ð“Ô0zdƒ–A“œ0ÈÜQ°åÈ0!_Ë|cñ|T¦É®Ç¸€P2ºîÞìø{µ.VžŒëIS"g¿ÞLDÞÅ'Ÿr÷ jþl‚O¬_PäHê<*3Á= ŽÏ©ˆ6ÄG}çÑ3»Œ!\¬½ÂLéÏ »‘2Aöþç±´ü[à׳^SÂùBÝ> úÀ˾Ó$‹eD-Ny·œ£Y[÷<0Š òü–ÌÑXœæ¼7 ¹].¨,ø ‚]Ú¯Pν#(E`L×ÊôlL÷ÙÖ‹®ÍéÖ¸v™à¯àNİyâ3Ic@Ãî‡-Z­*2¤#®‚!ø)“;F •¢6n¤ž…ÿU6 HñÚ·¹|чŒýD¾%Õ²€×½‰‰£MBbTx'Y+l³Û¾ê´á?~U£;SA12^X2LR 332í£®Ñ=\vƒ6Í"ÅÕð¥-oÝe„x$&~b€€v˽üt¡45Wë]–FzÖô¹Ì–ÈõzfS^wù·7.LØṊÒâ+’û{ã-9HwùòrIÄ!þ´µï]É_ó÷n|_ë"¨Òèƒ+QÔÚR ïáá¸FlJ­­¯wEÉqŽôMF†B®ÆÏ×ßÓò{6Äž„¦åÒ¨o¨‡s"|Ù¤¢qÍíª”ƒ¯Ï«‚˜†…gÖL¹¸ìâŒÆE]#HùÇ s¼²] ¾üæn¸YûTÚ®â¼ß©89ø—OAøØ+FÀÔ¦ ``eò0óŒ%ÌEÀ„.–Æ\J&¶m‹ÙsÁž ­>þP§úáü`éþ¯fõÙÁe ðΦ&ÿw„í›лÎz{Ɇ~ ‘F‹ê°„NM_âɨ¯ Â1N“Òg°Ÿ‰VÕ]ó¾\KÔ—À>y£fž•’çÇÙh›†¡QL™ÙJ29~zߪ·úœ‘)Êòk—çš|à(û»À?GHë\ˆ¢0ûíʯÎ-Z¼y_˜ ÎçÈð1”%h«Ã£&f®[Üu4ËXÝÄòËe‚З Ê„þ<ØôM^þшbR9€ïÒ×'X<ˆ[6JžžÓm/Ù ÙKÖ‘³>—~½G3mrzÙI~¤Ìhâœ,=Ø·~øÍ-Þ/Yécu¢ÎÒQ•¯#þ èð†¿+…pšeß 媚ÀœHˆ¨²k;ÆMûØ´*£Ð{wj’½ª[Cœ¯½š ~ìéï%Awt X]„.p%% /D{zaUø:ÂËá¼¹ÍÒSGÏÖÆ'g%$v,»2W€ÉiîÍÏu¡Z5KüÏÙ­!ÄßK=ù…%ƒßî©=W _¤QwæºF!š¸8¤ö•ÆRLŠÈ˜îþ*÷¢êV{ >j‹¥dœs2˜‡Ûó¨Å%Ehß$|‡zÿ§!˜ËR6`H5Œò§aþ® Rá€$ù¸óÌeK+© .÷ ïö$÷÷GxE³Ãˆ¥g[à–7Ô6SªV ¡ÌzýË Eu²#axÓ¡SÊ"Ì’87Îþq|$*­•0àý¬þ1OͺÐ@Ap*A=(e»þ]ÅdØ+2¶ ¬—f!Á‚C5| ]0›˜ßZE:Yƒy€C»G'×ÏsX¾š-0FToX¹B †#¾º´a¨ô·Ö½XØ’¦ô9ƒÎ·^ÉÆK//cú S›)Ø9R<¤_Å‚«a³ b  e·°¦8…ï†8ñ¾¾ÑV”.Ÿ${©05‚šc›tObˆ,-§+¸]LÞ°¡¾Ôa/³žIs3ª°WØÅ(ëžHÒ§Œ9ÀâE ùêv®ÿœ Æ6ˆ>¿òL×0ç}¤&m2ª·k1]Њä•7ËcA0T.êfL3b4D„hõX¹ÙŠ*àShñ޼ªÛâÒtKx%l4IJÿ=l¹Úáš“ ,\èœÎýêB1dÃp³YÓL6lŠ€™· ±‘nç׉{õ­U2ræD˜L®Öª}¹‡ô1Ê#?¹›±Ì/ÎÙ›´›zG£‡âXz›WµrÓd0X>ᓪڠL…“YœŒƒ->žóüfqã Qì ^ÔÏý›S“o¬-…Œ÷=$Ew(+…lÍyRdrÏòÈ®1âŽ{)-Ðw Ðyzãb¯(dIÏ}¬ùM&|ÅiýÑ~éˆ/™z)â‰ò›žEåA™íZ¸Ã¬œû:UrJ©zê;—ƒ`æ@­SÅÍÉ42ù âv*{«ßrö1ª“Ÿt‡—õš}žÄqi÷ò3š=ØÑ[KCÆNFe•a¿«Z£mB–ž¨÷žnué>=*Æìæ`QÚq”µÝ€±'õ€úÚ»žÐY~ÙKÒ @åÓÆÈ•’—UÛZy †Däòµö¢§Bb¦xœþ> Gƒ`E)´ÐÉzjfþçùäù… èZØVAÏÿ]7¸Ôš¥õ˜Ð ‘.Ú@€Žà×f5€¡†‡;ÔéU^æõÓÞZ(êK*ÖhyÄio6µB5 0c,°;á€[`Ä §¾_ K_Hà•]l>ס€j2®„ a²b ¼äD}Y¥d~Ê%4ÐPŽMþY–¥k;/üügrŽe®÷ªHvš3\[ˆãF7¡"–ÚLÇçoµb‰zW SÌnüZý\€åðeӵįBæaŠœ6ítgMhpãl w‚L“á+7ElISó³8§[ý•ˆ(^†Ü±*w7d ¨Iü0\RÍ©¾Û½ ÷Ÿi×ÅÉh)‘ÈUP–rùóÖ–X°ÈÉlRïª@CÂ7Ÿ¥¦©L:A¸èôæ¦Ä¶hD ”ƒ«¼zJn\´¦ãìTªÉUº{“Ecá¯\8tfó2ûf"ªu:#ÿ€¾÷ *A–mó?y.ŠFŒ³N6QL®CäÔ[Ÿ ™ý ƒò¸Î>o·¬û d*/£]öúúàLËØ¢ ‘ðEÑêihJ½šÏâ»ÔÑž¬oJ u„¾î± b0 ÈÏ¥Y ŠThÜì9²þù!¼5š^Øíxꪽ6zsâ>¦ƒ’.Œ·…;åWa­úCV.Á¹r=p™ÙNgüÉ•‰‘†YuÄäãe7锯‡¿˜Äh¼…Y¦`„©ÔIœA<Ÿ²Ï<Ü.tTƒ'-`f€¾ ¸¿€2Û›r;ii Á Õ…o͹¿w¢ñ`¼÷ä1Cu âˆ{lþ³h7ws#,&Ñóû´¾¥ R­©úI%qù”Ä'„߀„/ãz»:Ã¥OWiÈ$Ü)WBF¿¬ €4,»ýM@ñU<ýoQÈóÞ±ï¨3áCiX˜mÓ'ü톋cdæXÔ¡âz¡h²/*†™Æoa³ê§H±À+AëZ8€°sáˆiu°~;„É8êùyK¢Õhà)mèMÁUŠÑ•\9ÎInäð×`Z*{éuCÜ‚ÆãNíõ”³—n}ÉT™æ Ê3z*?pÛ‘ájƒþo‚Ì áv:º×…õBÏ̊價Ø},Ü÷x/°ÝE'X¡¶ð*µ ±Né”§ø\4ÛU—¬š¸^[cL? noÌ„|…ý!Ê´í¯OŠ{ußž£€ÑÔ5¹¤@›Óãuá@þ$Ô$,ëò„sy¦ž ¢Óz= O™ÎP¼— Ø.¦ÜÄÈúäçB|»ÛÁ,œrï?´3'3ˆ(JPÛ]O-9´xçáÁ-Ñe÷’¼ÂÍY3mVPö …qvêÀU&RumÓ`¹£îv®·—<Ñ ågÀNìDÂ}]þ|v¬‹-ŒÀ`zºqb{æðÕ$»ël 3Ë‘©/Ì`?bY"¢¬?óT¶öY(П%Íy;’ÄàIO|µŒýdbJ†ÒÏ[<ðH$:¯œnðR.|—¯ƒ‰ª§4ýzÿÔmZ$M‹õ“ð³)UnüÒ´¢Ë]bŽ ãddmÍ1ƒcŽ0'(éÙž"_§WS:~^½Qo"½Vºqiu®:Ø`ð߆é€loz™ì͌Ԃ%«§Tù’RÄdŸx…=/:©òÃo àhm38ñªyÁâ8,•Lôr«• °’-e‹/ò‘$3ÇÍœµSÎYV'Z÷Ä =®ër\+Tñ_¿ ­öˆÿn‹Œ¸«º*Á¡8¢LáÝFx¹-”B¤Ô“›×cÝ‘™=‹r×¼DînSòüòúún•õÒwmì-Mr:¤»ÏÈpñÓéüÛz›A§iô”¯}æÜ%"$ÔV*bCÐÍJ¼UA‰Å'ñcyI.+HËaŸíf¿H\3{ReÃÙ4Ÿxö‚žïÀ£á²N¹ÕKÒvëéÀÑÀ?bÈ‹:Š9HDOçYV.Âib”ib3?O±jÑÆkÍç…Õ]~¢#×pgÙøk½­†ÚKV;˜«(ðYdRX'ÞJÜ«I&3(†¢©ðÀ˜€Á¥üÓª´—½¥{ .«ÛWPý°¥/.8ÿ9÷ßä¬,ó¯ú —èÓ˵æÓük  ]|e{NM8ó¹L³]0ú9ñê‡ÕOFÁÕ½mŽqÓ.é^u*ìLhº#&š«ñâáäÚKŒ¨ÆH˜År®¹´,â¹AizcX¬Ò+'<ˆ“‚÷J³áa`£§È"àÕê\'£øË{‘Bæ¨DùjJ¿‰XÖëDoÐ!®J¸ª‘,ÚR(nPñÜ›mB—rõêjµ=…òñ30HÈÒ ðG‚˜˜Ž‹½-1i-`™yð‹â@6Ä¢89&òY7&í£ßÈ)ƒÎ_VñR!#¯Y[æ˜ñ„çœîi«p¢=ÈO4WS(~´Øä«;ØhÐÁBù°Çs`V:½ÃD…µÎìÑ>Ö}äÒ¥€$f5Fì½5!ÖóU;²~“[º46HÚ¿Õ]×Thú|ÏÄ#øÚÖyw²á™­ _V4¼ GJ󏡨ƒ 6>N«¸/Á¾šÉ5ß,览8¢×/’ÑPqÛPT/ŒLÑ!œ»»Nõ9(ƒœüäIÒ(2æ‹ÿ¡+ä\ÆÝÀl_&Ý8©>:œwz{e(q}™ŸÔÏù¦ÁÈ¡¶ey,4oncD¤ ;7tÙJ´^‰i8Ò|å•AJM¦ÝV34m%h¢Öè Na+R€ð¨¾ðŒ£ÊÒ§ Ðkªï‚ÊZÌÏTt½úûø³ûÑhµxÉÁ<}OdЂ Üs)’DÇvŸ­j˜òŠå W/¬-½\‚œ…Á*Îqh #Z÷DíYCJq(ò-R#•”AyºI}̳ a^9¨¤‚†Ü`;P)~°Z*†–Äœ”õ%NdI4\3xÖŠ¦ß]ᔀY­ÆPµý¼;¾6í`;ËúÅ_'~«‰€£jeÆG è|+k­Ýü(#°¾Ø?ƒÍ#è>ˆ “€¢Œèê3ðh,uÂiEŠhQ’@P ø€W&öxhÊó¡¾ic<˜"ЇqÈíulD³Ü²ºÔúƶéð²'£:¾|Û‡iøÞö¨<[mˆ1Bg†”#JÉý€ÅzUS9vÐáã—‰>û¿OºszÄn¢l™K•Za€Lzic­›µÍö_#UÉÁ|2ÙZ7ƒz y­m¹hòVIá-smÄFN+-aíê ¾3ÚÇ ^ìÃt*‘~5œBf¨†D¥°æªŽŸb¿¶† ÚWj Ö‹;Œ%/rE³2j²Võ7Úõf}l>ãql7¬U|q8¬ÓæÔ.Î35)¦»)ÎÅk ¿t©ÙÆyZ|¿8n†—RAq+èÅßAÉžÆìAË [¸ÈüÜˈ¾pjê&Ð-#™Í ä‰×ÇEm{SÍÎXZÕ´‚6WöRAU!|^b¡ -•+±´ùñ Ã] ¼ºÞ´<ˆu*!`V?Ý'@þ‡IÆGÄêx+£ã‰jyB…PÁ8 á졌™"vÕâ‰ô%ï£ýVMß]B$“:{b@=øw…ï€GàLïO*{äN$7 ;êb¯UrPÅ»Í:*¸â°U¿\äšw§l4'éꄽ¥©Šu}$2¢íØ»ý,fýx0•˜ÿÅÃí?6ðO€Âÿïoм~AÐÁêw´ØyÙreá®ëPÏ\5…=ÝÊ£”o™ÚªSŸ›Þ”ÒYŠl’î8=;:³KÇoêw1Ã|Þ ‡ý·ØÕÔÖ2™ê$±“wqhÝ©E¼sI=s•²ƒ´ÎtÎhT›<1½rÅ’0žGÿ֋͹$ƒ;ù* ¬ÌÕÑÄIßÀ¢HÒ=·,ØX+ÒN\±EÐ+â̆7tÓ쑜ETxì'é:°¡r_Æ­†fNâ—†¹¢LĉýÛì˜ÝSäýqöRwÁ2{ú¦»+ªCàTÓ7õçÛ S±A!ö±LŽ ÿ"i—ò¼S¿ð D>—íÇ9v"Š` ÂѤÄTNî‰å“7,Èûoœ(jš%JJqv^>l‰ž\ÝÛÜÀŸaXx!-jLRq¬T¸˜ç´Æ§¥ÕØzËÇ"oÉüô9#߈aD•ŒÎac:ÐÒùÍ}¥¾Â2$ós0‚Ù²7† œ²:Ãc0õ°Àû@*ú/‘PQý½¶`2©†ïð8òå¾öÂR½/ÂËÔµ¥[(SåçPR¾ª·ñжˆÖÊpFÆ {(9y'Hâ½R(ÍR: ?GÄ·ÈܱʹŸVÈRí#² hx’ÎoÇCŠj‰Š¼mŠžF‰ÿG|L!…Ò\Þó)Mèú¦Å>¾dí^Ñ«HÈH•Í©~!z©kª‹øxJù1 ü»9SXñL£‘6}Ü ­°äÚ£Ï3¡5€¦ÿèÓ;Tµÿõ·šZžK³¶×;qÞŸ†BZùs2÷€¼ãwU—Cãí5±ê'o¶ ÊáêÌÛ¨‰AZP5F¾_ŒwhÏ0¶;qÇe…Rƒ ÀH<¸Lj,‰a XæÈº¦s ƒ]4&¿µè§h" aïÏ©„¿4Ð…®Qª’ÜÌj•Ö£PÏÞ“F¼·Àí¼n0­¼ü`ºª‰é:”újPLƒ'ºº ïéY•À㱟nŸ¹©Bì;Z:šÒ°K´—ÍöÃà=s;0>,Üß—”—Ýn”4“iøÂ;¿G’¾Êö3CgüƒËÑÝéºûULrä+iH}BÔ½A ÌhþG1ˆòG g'Ž„=Ã]a'!„ð%»MÍþOÜýTT = . Ù¥äm楛¢ng~J8éãó‹î€ÁÄ% ù¸ÓûïÔÁ”x´oy3õÁxl¢øç4‰ûÓžYíõ½‡Xta¾Åˆ>>ÌÊA`¨Qq9š©‰+ƒRÊﳋ+UG‚T–ñC7ÓÉšòÌÕ†ö¬#¬Éíç§SCÛªøWÄ*C=†ÝÖí–qà°¦"Úä^íSü9„¬‰B:"+tÿe õ’¡îF2b*ÔÐfq¢£µzv8™%.g N@LèÙœ6µrXòsô*´IH÷IÛ.H·´‹$-ï[þ†R9š9zt®~á)-[VË*†.„Á‹ÓåÞÕúi_ /V¢wVQ?mA£«r¢Òg+9 õJ[JÖÑ?³÷lˆÖL÷Ȫjàv^¼ÜßA¤äàËv£s£}`¥HAèB ±ÒÊ›„ññ RÓÆ|ܳûs‘Õl¬)ßMBÁ!¬Æ»2À¡1¿¦LdøP»Î+^D¯ñªî‡¤D6>Ø.D¤LŒàjÄWØd¬#ðJä–Öhis®0£ä"Q%M¶‘æÚ!–ÅÒ‘ïÉJï{ëY³FýZ¯3ЩUépã³çz9GçO=…äï,TœK§rš½¥m†¬ÚE¤‹Fþ™+óÈ_ú>@%ªU´Öå#ñzŠþ Ì¥Ÿ©Â+¤DHßLG8‰‚æxëð@„“†ê e{¾XK‹u©’ž”»o<€j§äLvÓÀªÅ´a•ó¦H v/Ðìï /@öKT)àÆ…‚Ø£‘¥ªHÃR¸ð¸Eb“ì%‡G¹Ãº¾Dö­g6WáŽ×Á×Á³{çtÞ>Dº*†h ©à2Ø-}^Øz$Âæâ×zÒBæï8í~[Á¬‘§/XüÜ›_YÊÝ¥ñqÅ}î¸O×Í«_f–Õ-Ÿäê Kr3¶}B\ úÑÜoQ,…aô™wù¯‚0õÆI¹Ь±‘½9W õ4*úNUŒÑÁ V š/pl¾óÐ%4G•êônÉNÞNhx@…8ñç“deíŒ4›Vë×éKo¹Mˆáìé­Lv ð*èdktqEç^¸—'r¯ª’Äzt!Ê€Lq](u"ƒB.Åá½?Hú£Ì|âœî>Þ¼Õ“ØIqð׌›ÄðmNÐÉ;stVrÔ5/¤-³÷â3˜S|>Þ™ö¥Ùp@„&­D¢ÖȬßÑØŠñªÍWØö¿r¦à-!‚™ÈámÀaNb2heQ®–Iþ×Dv©›(§Ö¦üQ·ö¯ÝlMqo°qô¦­¦«DÇaߪ÷Dtt sP„Ür0¶µX{½¶©‰@¨M2P3Ьk9ìèJZð½þ˪t#`a{ûºoLƒJÈst˜4è5o2t‚+,¥KðÚÛPÈ…1»yÚ„¿ñauœcX¿µª4Û4XÃ:J~ÿOÄ ‹éá%Ì$U²ÝÁ÷ÍépÏøÌ%hu·ßòâÙµèÅy˜vÞYˆøh½z1õØØ¿½$·–ãéŽY K8×ñ¯KC"øËpþ1ǹÒèªShÏá‹bÀ{ϘÄÔVdà+òŠúø¥†‰qÕ',Ä„õs~eš¦ˆxL  ½4ƒ§¦‰BM¢ä}öÉSn/3‹-lO¢pó£ÊŠ­-h=3¥AÛy¢5òÉ}U$稕ƒ£‰ˆ&&sMÌ\J“Zˆ?‰Ÿú³Mhx.W¨ÑæÒQ‡{˦¼J«ôüØäí9j® ¼>,¹x£’ÜÅzh쀥U%ªÕׯݕӱ¿(  bBq¦"i‚+$»»©ød’^ì¦v_Ì7_*3»†ÿ•ÑKO5LRÐÙ^@:P“ó‹ycÞ§áHƒÐGÑ+bV©¸§ª©¢cÛ÷ à$©È­^)Ñlñ»È¿ôˆÙ²s˜Fö.Êà`÷…3·úWQØ]ÿn& ³¸Ò„ÕÍÌ"\ðâü ¿¡ ëÜ>“EþÁg(xŸCAª‹¦l/7PdIœ_]4óJšæÖ±¼ûmÕök:£§ACÝ ~¼QFxcŸ€lÝãfûfôÍ\ í´èçžÎÏ,>àÚi9õ»át×kwȧd>r9fÎVy¨Óm¹˜Uæw+]H‹¦\ _<,B4 #æ€Bluéûà RÅ–}þ6kËà†vÄ Ä; ~85·RƒkcÄ Î¼­ét}¡ÌË«4׈Ãz q˜ÖïÂS2k])y =­ Aè1ázIÍN°’Ë'ãžI«T¤p,ÎöéÿýŒ:þ R#¤TäÅ*²¾ä§“pßN³£#€±ð·ßwJvã\?) íE¿b c ØáiW6¯ËðO¶ˆÐ.ÍØõ±âûÃýÞ3—zÐqŒ¹ª¼_c‹sniV£íÝZãoC'Û†°Îü˜Çdª-Ê/€À=ØÆÐ@HÊmÇSCª¿=«Ô;êfcZÛ{êØ}<³ÀR϶ ~£?æGÕjÍ«?ƒo‹ü7ÓXÿl¾PÉ”Êc41Dýå«:ù@rµ¼ÓuMËkž¡Tf6¸¤§ÜîÇ7/Q5· ­³³æóи² ¡sǨsd|Yôîõ‰:cþŠ4>Ž)­“‘.Ð>YÒfhYå?ªY·ïæAè§Oª²æšÄUª®¶ÝSµÀ)Ò˜£çÜÇ f'ıÿK¥ÁCúñƒ’ÌfÑWÄžËm¸Ø@s™0z°_F_=‘H%>MmÈÉ’öÇ„‡ZpZ±uÖÕnͽÿ™¥:qÍiöY\!¶$³Fï ’9zÙ;# žœ‘¢˜BTCã“E~b9H¿–Â+”òÅ´ÍçIíÝí=5~:Ršôá‹ö˜&‹R];Eô:¶~Žq„Â"’Q_AôWŠGF®ú®çÁOã>¨®Îfl\rÌv4ô³ôS Y@`t°Qê6£Nó=Êç°#[“e¶Tîœac$£Í%áKY½í„(ü¥3Ãß÷ •…ÒBÑÜóÌÏ8<´Ë²tã´ ?æC\ó3C˜f_…|L›a‡ =ÈE`~`„nr;OxÓÊL <Á _Kr-Ù“· °› ÕâmSO…%ÕÆŒ:0*?‰™¾45‡Ù<ìÍÊhÕ¡ ¹¥ÍÜ}øÅ]#‘?‚´ZâÞu¨Í*¸ã¡?ûgIu[¬g5ÝxÓ×4dIÒ‡ï__ž.õGÿŠÊÐ"{ûŸ÷ò²xOšùVþóµ×—ÈÂ7W¸ðâàÇ<‘¿Aáßô{‰Ê½U€/‰BUÚßÚ<Ñ PÀýB–Uˆ*1>Öøc_¡v¢!²øeìþ¼àÉqÅØôõpèPíÝhOn«6“!}*GD6,rƒ=”œvIo#¬¤öËÚ”ûÂqS:dÇÎXÓc8­6BÅw5/¿­pžå ¾zì9ßj%ªH.·L®;Wñ†í+Ž´Ë,ž«â*pÚú N™qÉ®!D’´oúÎÇÉ—Ä'L5Žß™Û› l¤bŒ›³1®˜,ùrx$ä…Óƒ¯=€ßÌ%ÈÖ«Ê%IÁ›iq«€ž÷Jbtâ̇:mG QÏ'éËÕôVÏŠs ¢ÐW™Â#o’´ù·Jšû:§À¬a¬—P·²]3äåõËúu<è\–ÑZùÀ‚S ¬µKzÅ_XûqÖ%•ƒmê3`0d¢?&• ßgˆGºþÿ•8÷æßÜmoé*lkuý%ÛµP˶Ú-ª´X¢·Dš$äk·˜Ûº­wÚ0ÖOÃ:^<,¯M<ð™F+¢`ïT+A'±±‘Å “Û3H†IÞY7Ïô®KØ­  Ué¹fÚdd¿û ÅEýN…̧˜W÷Ñ*çXŠñµFé-7^Äá±ROúmpvƒ” ,èB ÍÙþEÎxø‡9hs$©ã»Ðõµ€ò7ÓYÖ<¸øhëéÔÕæÕ÷òRINëô!ðš4b1ëlàC`wnKHîÑd2»ý£1»Ï`¤p©°«þ†gpêˆa¡ õJו¾)öæ#t‰è)Î/ OËù?Ë)'VÎs(ÿð×L¯D E8MNg‰U>ÎÆ9¯S—, õ 1!FAÌÆbÄ~_ø¥ðaA0ˆ!ÅÄüJÝýÝêKü¸ô¦E]þu¢Ù)p$1)œQö™ÙTwoýºÜZÎŽB“k¨Õ£YÌî¹½UzF«•-¡û(îhuWQT–/¨ Ùä¶|ôš¸± óéj”ïÜ3U1Ṙ ‚Å(Å=2À§‘†Ýƒ8µG30ø‰[¸C%Á'n¶+Rš3ùÐKP¿V"u:ØE¡zàû¹šç [ sàg¥,Q–úY6&¹QóÐz¦¦Ñü+Kñ¡ô~Ô‚^ûœ|‡—ZÛYñzmjæÃ1NxNºâÑfqÕY! Ò%2IÞµ–_Ø wϵqÙºdû [mªÌžêû<"-b§ô¢ªŒ ö%®i‘¤Ÿ1Ã|Ÿ+áù0òOró†ú³¥¥˜y5·ß3Ôö`6„ñFYƒ¸èù\Gž¼Þ¿ [SåK ùh`@¾9?›¯^‘ÑÓ¤VÑLja*!ݳ£Ÿ"ÑÇH›€ucÞVùI©‹àpËääÑX";u–‡æ†ï4IíÝ.UlJ>,îÈý>ôïUtÉWS@—Bºõ$6›-yU§Q%ÌF!N¼‚ OžAõÙaÖ®4(°Æ th¥¡IÔ:ógp‰SIß»æ©Ò;>¥³$å¢.V° LQ€IyöËžàâ0r4of÷¬*‚Æ“H¢l‡8÷·YœÿËå§Ëµ5›ý@øÙ ô¡H.iÂÞ ÎÅÇÊKº•—Ñú¿oÕ¤K™âlôTnÚ«rwá•JìƒUÌÕDnWÝ7ÕO¹î¶µBäûÎí€ '•nãxÕÔ f5apà_bôc¸ú´…FŒZü3e~ëö'†pC|ÆvR:Û ^úÿúç“ùW[‘Ǩ.Uµ ‡¶§ê‹CEÃ><ü¹¯ìoËmWòË¥ÃÊéÑ•>4åj ©5‡å„LÙ‹enK(¹Lsº~xí­‘Ð3k v¡H7Y»¤¬¦ý¹z¡ßݵ¦9â~§ÉCš&\K‚Ö®öëg ZðežÖˆ†+·*d g>2® ™Âž$­,Z²“ ¦è4 ÉÁbðYx®`ÛZܽÅ#h‘hŸ1 âd$±éÐñøt²8Ô_Iw‹¯t÷a¡ªð´ ÝöÔx”5¦‰-'ùR¸–8vákx!._où:±À¸‰ñh`Ùs÷$’ߦ¤œÑO[‰•–Ô6?!Bº^%ù^˜ÜèŸVW&uªŽìóœoÂÑ^j[—Û‡ž87éZ鞃K-,DÂÝÂ!y¯¹¦ŒÐÅA<³Œøa}@%»ÚÈki”tR3ªœ‹Ìö\‘Øüc¯æö‡:U)ÀªÖk@A­IÉÍð"âÑÂ,;,=ȪóáÖ@'|°®t¬ÀåìËwCÑsý¤;zEtõ1È ÀPg]‚ŠUÅ«ßkP„%ÓHR:'E+iæ¯òIOynôŸ¤øÖÝ+ÜÆˆ•”ÿ³uJY:Ò?!ª³hKß çähòLOëIžß®Ð¨ò‚hǧíx¶?ÚPl¦Áº²_"°ša(ì Øó7ÓÁ4‡8‡¥¥/éñn;t( ÃׇOðÑ„Ä@Ã^6Õæ–8p[oÇv¦&÷®Ø¸H9µ–CVÜÿí Î ‰¿ºŠie5(×ðXî+Lœñ@»ªŒÈ)teÙbn‡ì`PMøœvîp •„g®”ßS’bè]º†ˆò's· °“A!™Tý§Lª{IÁãPÏáÐ+fœF6{žøl°þnÍ…0¯™M½åÃâö„>ÁÊ«UÙ¡(ÙPÊ=T,Ÿaó–åÎhƬœa;þ­> 0—Æ®•ÍjxA}¶F)­¤…¾ ÍEW**ÌÎÆ‹YÙ^«ù¶çþ£¹ëÝûZ%ÆVLXµ#VmʘrKƒ19=#¸ <ñhczq÷–2&l³€ŠÕpc-s´Žv†Êd®w*+d³Xy'‘e•R;ÀæÙÅ—›¢ ]8X®'ð5'&l˜Šº¹š¦„ôoâìãCÄàüúœÝ KÔ—ñ(°¸jÄöñmêJGT»ŸÈ‚žÙZ‡^Ê 3r¨sÜþ q·ÕäV²Ñ¿Ÿ6>¼Ëo0¿GƒG®æ8s¹È*(_Æl¦ #‰õçvëî©0™æªhð7(Ÿ³Ž$¿ëö̼;®Ÿ8×b:JSö{À‘•bò È}¬å­7KÐÿᵩL#°ttr–U{Ï÷ÎKÖog`/‰tü¤v®Æ¯l%0ŒöPÙÇ0Ã(FÈDÍŽÛÎYd•œ[|k“«7 ·l»‚±-\I¹¹›d+“$Ÿ ϾJ·Kœ‚k?ïÞçSš2ú_¶Y Ý•侘4kae5,1   ÃUYæ› ýÄžE[0@6|Òl²gHáñy£fÞ–@Wî~bb0øyÌç’Çø&‰;È{ËÄŽY—¢0µÊ£éMZÜÚEÀ–Ô…ÿØNŠëh?²|ìéÌ‹ãEù™|é#üÕvyºµpŠqð’ „;Ý™'g0ýˆ±„×Ö[D÷æ;ŸÁš9Î Z3š­@Á6³ßܧ¬–+$!4—‘ô9çõ!¸'µ>"ª¬9iêå]xÒ'µ?¾œ`7ß%{\ÅlHUÿr ÿd;„XÈUló¬™É×f'ïâ“§ /ñ±ÃïX ú:õu–Iê“c9Ê8#¯þí î#¤,íW%UPE­K8×èe ó»W}*ï- ᩉºsmÿ°a"‰I£:S6Ê<×; FMµÈì\ú3GÏâÂ*YßÓ»™Â0Á}!‡KdVbéyɸv,±±¦¾-YDíX:ÂáÃ2‡\U¨Ïãˆæv,ÖPþ P’ú|(ü7\0"-•_ˆïuq*XÉ*›Jô éR¡¾|,ƒF°ùEo«.zøøBúªÐÕàT7˜Zø…ªÛMá‚!VúëKŽ÷óÔ×/I ¿óS ôN\ÀÏ7ù$¤ž³°°zS&ø1f¬ƒêÛãõÝnpðsPX–o±ÐöÃéü‹ €ª4ÐØ*©G42÷EŽäX7G±éŽžIxz¨KƒI+C¹?Î÷Z¦øi£‹¿I*ÄšÌ]”rز ôá…ß½r]ûe9È8|U;êÚׄ%¯zw"‘ß•: å5l°»³²*ò{b¥PH¨Ò‚ 8Ý{y8¼[~j´êÉþwc: ¡ÎyN£øŒÙuåëc8€iF88(Ç:ìTR~x„6EµÜK‘žq7)T,ýq® B†K‹×L“ꀛ ßA;ÖÿQ¦iÄg@.‹ ‡¯òÖüÔÅùÁÙ§ožá7s´Í$ImÉ(ÒÖÂŒNÂ\» ¯‰lÁ=˜ùAN‚8tK‘øxëÔÇ7C@ªPÇY:?A þ÷N/Ô•ºõ Ys£a·lK E`"FÌÁ_ëŸ'–5šWrÄþªUÂda!d§Çè&åb…£ÎýŸOî1‰—^YF `~ë·U+]K'.¹{Ü=¦_L ÷ÆÊ¿V€_^%n¸¯øúyj±Ñ›úÑÆvð+Ž,«j„EOÖÏô ÃJª×Ì以G"äÞXs”Iý]?ÈÈnüã²¹q¶k¸ ðJ‚I`BòÉôjTª÷ x„25©5½½ýàO²Wè[ÊR9•¦ OV-F¼È¼¥Ca© uR“75CLO@%®œ•ùg[s‹ï 6O›ýYÎÃQ¥±­#ªf¼·X0Z¦¨æé¡ M¬$bC͜՜A¾€©Š$f±˜iaïÿ¯]Â'5Í_à%‚œŠfùFL„ ªýmØ$"³/ ¨ëwð?qÕÎ`œ‘©ùy–À 3–à“‹Î¿Áëê=°Ô´ÎÅ=>·ì0È­ã5°Æ†9)©Wχ gG]ζ±È{|¡%uæî°|])ùÙª—^¹Š›ÚÂØù1ýp%׸KÔÑ2ÿ5THOj\ÈŸ‡#OVgCE9ˆjŸò@›ÒÎLV¹¢DŠÏ¢½¤ì:§€/A»ßkôX<_âö×ô¨ŽÀé¼Ä –,´Àk¡#*šº–ä™6rˆò轃© 9²~÷I+,Ö¸jnHÂH¢xobË, õe:ȵ;æ›yk}6Ëÿa_ÈGá÷ÁM§"ÊÂaÞ[¥$oÖ¢[{éÅ­.  £À2d(»›lûÎ8n _­"Û; Ów%CCàJü|úô»9ÇÂ+Ž›³ÏLÖde¦aÍ|ÑB9¼Üƒõ¶ö <΃ù†l¬ŒêÁÃÜRÙõ¾1¾MM£É¨-Š& z p%ñ[ŸÓ”Ö½°tk`çºû7.0@H®ÈêI|oÑŒí•6ÕØ2ÒÂmaïeÝWâ{ŠÍP¢2gnh[¹Ãù)z[)F› =R¤`0ÔH>G‘÷ýÍìY¡M‚mÎ/3á oôÛ‘Ûs >~P’NF¼÷4äê}ŠÕ/2˜š‘åöéÃô€•8‚øwHÙ”ˆ·|¨êK£3òa)Bü·)KæžtFÐÐôº!ÃÍÊçÀ¬“ÊÜÁÝ;Ã]íZÃO6: ï²| °?a-é€ Q¯èÔâ§2;¿¨ðäFà šÛ/ûB‰®™¼ïÌfH¡ìÞ ýÜJÀG‚óõ×lõ+=Öm;“+å² ¶H¯Ñ8M¥ÿ¡If}¸Xj®Ø+Œ“ŸòØ9˜˜©0Ê0zLt¦Nþd¼yü «Ÿ`E$.šï Ésãœoïdm-B¼ÿfu«ÍZém” Çp`^Ó"éwÏ9_ øžFRF¦Ä™yOoòñž%Æï•%¼O±GÆYâí…Zíœ#d›ÎÇíØuñ›ÔEý2/÷”-8‹®bgwL'€ÕšS|K+Ýd9ßã¥+"}·‹T„¬—7<zQ‘Y&ÄjŠÁtâÚƒ¹gXØÀ–¨ƒ¶fÁ«¿säXƾÔr î6^•EE¢4Ý8_ª´sš&‡Îî1,¢z®¥¬ç=aÀÖH¤ ¬p`\-d£xÅLå¯ÔQ›ëO_îi…¹j Àê%Y˾±Ë¬„ÜÒ}rBv‡jQÎâã4õúvÅVU0_xK¬°‚l¸6WbÈ ë(²¸±Ú¿nqÖkžém¿QåþáEÓtãÂM/zäÆÍú€,YÚ€Ú©"q*"q9Ñz9Ú±úÕÕ=„• ]„ë<Ö]Ù~V¥«¢M’ŸWî†MÀFa§9ÂÓ‡j«¤|ÐN©s\ Zkôf©a±Ó O+Ù¥ð%Ó¹\4†Ô8IôP2 ÁM KëËN… I_ìÁebÕàçå•fZg‡t4#„)Ì«]È/G6Z*¹‡“Ñíì1G˜Õ—ýÀ0—Ì-1ø±º2¸1K’8:H-¶; §Æ~ÇPeÆV+·¿[ÉèWaKb«×7ªƒF-Í«-‹³òšÁ=¡ìóšX{)6ŠTóÀÔØ”WåÿQ×gÿTæ%¹ŠNvèëuxJ¥›¯ ¢ HàÀq;ÁÉ‘ÕÁ»S¶Èoe«SæŒÄs®qí/ø[Ÿ:æý½U¤_ZZÙTm‚rx=‰JŒ¿åãNéæÎõÊ“É"Þ¢+œŒb°qð'5;ú\Íìg þ% lw‰l TÂX2cIN%ª ¾7ø Ìñ¤Ð¨©0݇z©Š:DlG)§äís¢k{å{2O}"hlVïxå@þÔÄR³;O‘€gz^9¿HFÞpÝ|ìcHRI:ÖÃ%… æÒã®—cì‹ÑžE ˜w€»!{CTAl›€ŽÇ¨58…¯’9cçÀæ˜ {ç/M{©íy³”!Téc8+--a ß)ÂÓi$.Q®à¼áÇ(M–8*›øË{¦éš‡Yõ¾@70ëed‰l qK§»‰·ŽÑs‘P!I÷/)˜Saµ#êo°ùÇwDT«Ü½Z&³árH±•ºVqlˆú›.uB¼~¾¢élôû«Ó¿Ã0Y/X`9ãî+APŸ­…0Œ«œQŽ´-ƒÇb?:9¬ íf~BŸ0fiUìá0Ž56iråÁvsƒ»{3¬Ÿ¨Œ£ þ×(#Í)§I¡žvÇé°ñV‡õg•„/Pið–-øji`d›<ïÉt¹bÔÙ-¨y°h,Áœi­CâÀDšp÷ù:œöໄwnmí! 0Gê€åNܰN-ãŧGÔ,K‰¶^ø“-ÇsÅ6ªÒ(4M+ó…ÜwÐoe»’÷81zMú ø)GÒ6Zùë«ïRxUF±×òuÜý‡è7Ϻ4+Ó+¤bÂ}üÛ9r•œê^_Í®ok Ì(Àjƒ4#®¼Û4³©A€iµ,*Ÿåùy„>÷GUK¯´UDÓn&ÔZ&É$O{Q‡’÷WßFe‘fÜ'<'pÿÑs(ô½ÂªÚëÃ껉¦‡å­„G_®(â¾Ì¾§æ—Q•<œb­~0Çô÷þÎŽVNb縌ǛUërWgî#¹6–Q4}fX>@LÌ9,ñá°3ÕPè9-FÜÖõ½®.ØÓv~K™&nâ%Ãø(Þé'*+“#µþlíPü–GÔ_´|µXzáÒ ‰~ÕÄÓM¨‰WŠš#Öþá(™ô#*Ø$Agœ‘T±¨%¬R왣۠ŒO¢8^Ó¶f\j“2'+¨ê|½)ö5 !óo2´I€…§Òì>ÊJœ¶ëü±~ZWíìP2 Z„]“M¨5ò\Ê/›~¿ãžwЅൊó;×|rŠÔò!4aÔ=Qº5ñ‘!?ÃuÓIqWTQë¦AÃÀIª§ž0Õ"Ї°½…) ö"ôðÆ€ýy¼'Ü–Hô 9XÌÂN¤¿O^^§å^OíØã¿o,ô>¯ À$øµ¿¨±%€<'Øo6·Ü,ˆ`â~²c€ð¶òÕÌ£0Z‘' Kçuùoƒa¤áRk+(ÑÐÏ<7=4Ö1D8Öb/¯Ox ‡”É›¹”ƒ™@ùMæå4w•lJ°)ÅZfgß„[~ù +å˜2QfÀ¦`ýs^Û\p/pùç"{}¿U&‹w§h™ %o§Ç«ûvR¥«QÚœ:D ï‰o¸Oöo:ŸàI†hÆH©–¢`ðNJ¼¥tKìâx.Oˆwt"r“[ú sòyõ¿ÿ °#&‡ ˆÇÉ+9YúO­D`\lûäü®p5ÅHiEâxbÁ:ØFÛRú¹02vîÿ”M>Wžq²ìÇOñðÞÏêKx”ZÎ+ƒºÎ—Ë[Éý?Ž3€Ò·I¢ù\ÕúO5-·iü£3O§ÔÌ܆l4úÁí€&ûÐëâñzfÞ÷ñ%C™Ùu$ë•«zD §NÏ¿­ÙQáY£B!ÐMWΚþG*Žõÿ^ÒÛ nÝä·1TŸâŸ~ù{Û­jªIѬµmtâÿ ôê<†cÔ€s«­²2¥ŽJXàý&˜´ÊᣌP3Š~?+ú9÷L4¡4½wC¬¦,ÁîºÖƒ»!ðUªíÌa¦v|Ù"==Çøb5Á² 3ËòìÚÆðÇmü}ƒYïÐ^åÏ¥œ½Paij , S²¸mˆ£´/ó›í êùBr¼Ø(fãêQÅnâ»ö#¨MÜMà>ÊœÐÖUN‘õ5òÔºI—­MsçØqöÄ^CêÞ€‡ +™“F ªzÀ©…Þyâr€áÊÖ÷BR°ÁZªô©íì4pßgúïKàÏ=S·@¿% ‡Ó½¦p±Vzq²¢GÏP6@õÊ…!} CŸ##æ´Ù¥$ž‘æà}™Åé 0ÎMEëG‹N7œ³å]ªÏÿÉ«`kU¦P Å´ôXI(y‘ˆ6>ðÕò!äp ÒȯV8 •B*·‘»±beÃÌ #½mæ]ªKÒ—é´òü("ÒòŽ·¿úŘy©mæ+¯me/¤.ЊŸ1Ø•7 \‚½ïüâû:Ö0 ùøD<,eÉ6·¹ »¡ù$­ 1‘ôFÇ}$EõW7Ú”¥£œ¨^÷ÜÓħë.Áï*†ŸJ(ñru™zq´Þñ6¿$ê=m5Ÿä„óÞg$[m»ÑR,®|ˆQê:–ÒM0Ôda|l¦ï0'¶þúl ³°YðíW«ùE¼ÿLL—[ 31Þmô\ÌWG™]¿5DØÿ%âݦ)hÛ½†šx£-ú“DŽŸ˜=³ý6“ú&Þ,%P·uï×bÔ(,Èàì¸ã²ê”p3U³c¼o­ÐÏÐQœŽºçûÎs\¤Na&&éË|$!ñÎÌ·Vz4ûQPMŸèÔ¨¯¸®™¤ôãÍ &NiI™ªŒiL¥äw0<=ÔOë?ß•Ç3QD—¬À¤rôýu¨/ô hxκYªý«§ÑnŸÜ³§R¬ŽLÊxìæ6F®P\¦ÔìÒå*¤Åk«TôØu}Æøiü“„·´].o*ž Ï„ôónÃÈ&Rê7M-Ã,¦»gEøù¶Ãáåýn¤&^šìç@ð1q_^LB¿ós°¹µtFúŽ œÄ»0qv-þ”³°wôôü­u7‡ç½ÂAS:?y 5™vù¹ "$&Û´&7€X\æ ‘)“z_Ç£tk ½` avù\|â”ÝSrÆ[å´œ­Èc|`½ˆÌ?ýB/7íàéý3VŒIÿά²šCˤ'8í9{Ç5þXJ“ÄGÍÑu¥ðð¿"òZÉ…ui oLõžv¬…ô§ 69qQíþVù_L9~}ðTz k>ÿ.”¯%@aÁOexæè2&ú¢?¡ × kÍwàÃL» °ÈNÜQH§ñ$Uˆ|Vƒn­O彨Á•‚6á­rÖóµžd÷’”[þFC€AÈÅáSYÖ?{¡Lè%ïB­¸ØøcûeðhcðVA †‰ÞVgj޹\QZgZÕ]¨ ‰€UìOKgÄÝkl§:WRÌù\jž²P ™@E™7ù7G‹¼ïHoæìâ‹…c´Bàf)Ì ß~„Ð]ΙüCoÛø#€‚Þ†Õ ÖãEÀÈú’ee"Æü T+ÎÿŒñ!¿+¿¿ñ! …ÊÞ3âìj—×â¬ìÓ¾Zâ-xǹÑ_°K.Aú„¯/Eâ2ú`š1øf6•&-Y‹‰5  dˆjYðñÂå  !ýW¹vO¾|µþf®y‰oª—ð+(¥¢qh-•AüÔ‚i[9{qr³’ ø¼mÂùõÞT·QBÎʡӽ{j Ù”/%6ŠÏ²^ˆ|ª¨ÈxI ‚'/àaî"ýùrÔ[iÚó î‡'´#ÑUÊ›Øé;ÀßC™Xº÷‡u_Îú¢„°g okF®¿0­WÕ–j¾'2çµ½-–õVf©Œ6»/®U$» )¹” ¤±ÕßOw3Gª™¬{š;óŽ#îžô€à°÷, ¢ãÆÜáöñb¬²œ­üé¯Á7ÿ‰À²tBÖd¹X”Ë•&WÙO‘' O4£Ñ(3ŸPûZ6±ÉŽ--w6(½13ØI‡OXëCµPEKù¯Ý·5Ù±‚.¤Ž>A)Ø¢wb0§BâV`— ˆÎug=ü$wþá~°z¿8QÀ06~MŽwÌarüöë§êæ0 ÛÆC`W,wìúpV·è (3oðÊœvù˜¼Aì¼¹v0â8£+£¿Uå•*«wˆ•ø“‘_úâ¸ÿ`šbh1(„ŒÜëÿÙCx|,_£[oW5.{ÿóT'ì=èíŒ%X€tÚè&.QÐaÅýŠ–Ó¿À¶ÔÔ%õÞCðõHÓ±$õŒ ?þK$;i‘´Á¦0ÇÓ9L ›ô4‘³µjÌ™4'c,·±…SÒëF^ QÙRv-^|Ì̽œƒx&”ÖÆºÎ>!g èÖbÁå¸Ö.. ‰ãdœ^G¢Áõé] {21šp)¸jt«mðMý»±GÛú+Æ™.U"][¢Ç& ô˵ ?I®—‡C®?tPÈ^ɽ:'‹î¨ !èŸRÞŒ5áØÀ"×§Òtü³¾q ]|+Å1öT5ZÄ,ñ%ü  Cde¸âù^[m~‹Ú¬¦U¥o½sÅ0äöÌnM'ˆç;É.…oÉéè6M«Ø™Ë^¿–`½]´á˜k˜ÇëÈl‰k7n›kIŽ;gÁƒ~Êh2B,ÅžÙ,ë0^.UvûN>Ùó?GÀ.^ïÀ˜büyð¯\ŠóÑ ô[›·qŸ½tŠÈc ˆ¾–¸|İ~ý£UöD™ëµÖ޼=€uÁ7wmÄAæÒmf«B¬ Òe;07e€ , ÍÞe ™'ƒe]2ÊYè0ZgÃŒìG‹«š¿­2Ä”cÈàeŽb…dñÁö›±Í°Ä gî䯮]œ~•©ÚΠ.z ÊvW •Ç«™Ü¾© ÂCiÓNMYÝizºP–Ù{¸ý£Ö¨‡N \üCüA×ý´=è!- ÈæïC<,Î`9PÕm±Å33¢ÆZ{ÇÁg &ZU¸Á¿”×»ˆê®^;¤ÓŒ‡EìlðЋ-š9YZv€»æRë »6 S„1y‰|É;Ÿ]"ŒÍ{jR_q 7:ã•ûb¹WG-”5Fv«À™…rráÊÿµ#Ä‘Q@÷5×7¥/ž¿âƒŽoZ›AÆó4q ò²˜«†·#šó†À¹˜¬w9ØÁyÝÙ¾¯œ›ÑÞÀÒзýÐç4$ÏMCüÐYW)Õ)Ð;Ïë¡«il*;6™FRÝY—-ÿ ïàx…ÓéæÆÉˆ»2Þ±Úxt~£Oqö¨ !ºqžñåßB4/ÞC" QØà„v:xnW•’ì™ekáÏö‰ÅÎÝÔ]bO^’ÿ9C¹QÚë3tªqdvöÓ5×{NãY;$è4#R³E*¸‰2ªïùúiÑꙿÐF’ðådÉŒ'+kf·¹—i¯7|=§Ž†• ì²/5%µ8.Àt‘H“……Âx 1~˜~-ùÓj[!Åa%—ë\°¸«·îšÏë%DOG ¥}WW¯ìÛkTqN¡ÜÅ3à¨7%Ÿß-Õî›ÞãÀ0–±Up“¬7ÝN#ÀÂÿY¡@Ÿ3Y~„_•gK6vO†Ô".îC°õŽ´Ã*8ðüµ‹¯¨ÄÝ{m)¿C±³Å;Â6QnïX~=‹î§«2>ÕÀy†¿\9 Ì–øÈÛx½*>ûòY!»£tÔìd1˜ËN˜IÅ}ëÑT@%ŒOu‡y«©Ry.Ylpé'›{@÷ˆv³ºÅ “Ã÷ÄQ¬–O’VFÉwŸA°‘ Ðë\Aêzw|ÆÂˆ«¤ÖÃAÆR¶6J#Ý’Ð;Aý¤¬U^ô$r¨#‹E’0˜ ÷ÓÂIzÓoÿàHÕÅ6œNZݨ­ÀîéwYÊ(Ž3·¿Ñïê#«JX™¬ÍLU¼z+63hب*Üèos¥-É–4ç™wø×­QrZ±¦IÕ§Q~rûºZ ÕœªuV\2ÔÝrû(·øU=2ñGWç)>ú'¢W´"w™ÈJíCg³ç_¤¾ÿÑ>‰ž×ôÀhô S5*<9¨ÁUŸ¤À`»ºa©ZùÙlе½ÍŠÖÞ«ä´ÓFœ`"0Ô·c)‘äéÛ‘¦2”¥~Ïq¹Á PA §Íî¬Ò'Ñ¢¦iÝ×E]¹ìíBQH‹Íj‰’.²ÛI¯,q…9@ñ)èm啲6<å?U1ô¿ •œ‚²eúh²aY©S3|W¡ú3Þ9˜…ÆŒ7 ¾ëxÖê–Ô’#$ ÛžÓ1ž-^DÃ1ZÏÅò9rÊ®ß.¼]w•ÙÃ¥¿€î³³ó‘ß˾ÔÓœûuñ»ª•oäØDþÏŸO®óqœ*ÅXh|q?‚`ð¿ÌÀ{,67Qc•Ó¢ q¹ ¼¹Ü*;¶¤Íu´TPž(´CëÜð2ÿÏü»h7/Ñ®¼#ª¹ä}íâ@Äôî9;·ö ¤#eÆ ­‡lZH,”$uèéÁ·ÇTèwT*úî™orNºo^r( Ì«ä ÏßZ±N†7){®r>î,~su5øxÏÖüÒ´>$êlÊÆ¯œün0# MÚ܃BÛÈ`–ˆ¸„ Þ¤„1"-™—ç¢$+—~Þ_Ð?&ENiqJÐëtÅ1ɶy!1ßèu¶·¬™ø-|é&‡&»:OÖ‚k?u‡—ö)¸‘EJ®É®æˆ#¤Â_0™%ù5˜øW<+ÆÕÞ6TrÖÏžæü£ÿ§V;´‰•‹É™ó¶TéîÅüšŠg¸(Çé€[ žÂuãç«´þ‰&@Þ®-%ÇÊ÷ºxŸcuFa6 =1ÎÅîÉÎ?_¼¢Ó}o6W™>âŠÚ¹F>:†”=t×ÃÒì¯Z74jòVýÚåçðÚ“Pz¿Í^³"\Ol|øfB$Pa·à:aÁÞìŠ\Å5¥–³!ú2ÆRø=p#L„hý"7?¬|äd`Œß&‚F£Å4%Ò]ÛÈê…)f+kRyU§r÷Ð »ÍÎnŒQ瘵ʢ Zê»8»ÙGPR@€å7Tm˜Ôd³ ´ŽO|zר?Áp—qâä%=a/İ$”:ýN±ûNG’ ®eVî5ªó0jð3Cúà)¶¿¢K6º’Ø[ãsr!j!òÚ7ôK”Õ]×–qQÈÚB:þl²ÇÒjÑÎÛà">zW<;¬$ "7ë,Pè±E—1T‘$vHf³¥°ÏOBý@¯M¯÷®‚Óñt‡sm „c²£1ßìz6/‡†W‰eÐâ…Uõ[®Ñ—Ü1¬‘ì*:ˆÆÅf·Ü·Å Šýì®{œóô„Z‹8%À°HšJ†×@è4‹p7se#UðiX¹ÔÝ’K¬ÏЬ#ÉÒÑg u|D E3ÿi‹;¶XÁ-©¯lôÏ"¯Yîˆ ~_µ¢Ý`Ì÷€Cåáw±‘³àbÜ«S›ú/ó£Ñ‰·{Gü=üÏ¡h¹ÀU’ó'üUé<žd ¡ûN&ÛW²v“IÚmŽôX¿GðÈÔ`“ɧi‘Lôv?ý8Ç—Ô@ªÚô/²cCîg%sß§ùÞ5<Ñ]ÿ8)é'x4qŒXK DM{cÐfŠ×FÞM,oþ„x<ÏI·Ÿ$z×Éu6 éãþ²çÿŽH[n¼Ú¾Š&ÌP ßêxJÍ‚u¥¢(a„ýwJ§)p«€ˆ™)HÔÏ,ýH‹]IØU)ïØÁý|vAj+²Ç+4Ìlé2µw uIw2äã3yþL¾z’! Ö¥S.°ž§WàÛú„Vxý Dõ©,GYQû[-Å'/kLÜÛût{¨h@ƒ‡ô{u¿P4û&mèÄJ×á·š!BV*¨­K$…: {Ïß~Ën'‹dm€f™·µ@¨Àèçoø1&¶¼Ø‡Š²­|±ð¤BÂs¦3$¢=EóTQM¾xO^¹<|øE´TAv{Ó™u¡Ñ%«'°:°D°bOÇ_ n§µþ™Fw RsgŠ et1•¦…\ìD%»/³¼,»öŠ$±N¹˜„-Z^F”j…qûÖ Ùxö#o%]#³Ç‹ÉQ2ƒñ+ž+ÍÞOñ¢‘Ö›”ÚEÍϸ5/_.€Ž±¿×÷UÓö[(‘órå&ر4ÜN_„¬Zýz›ŠÂ ³ýnÝÍÈ»­)t)xWáÚw Xpp'Äå+W?,$ºnlxç‹/ôb¹å6¿ä)ê-›ZìGõÁ?ªQP[!ߨ”¾I¤@¡8còïÄ¢/ªçÀ4YaÎtý€gî|©.Jò§ºJ¡7Q ~‰AA05‰Y‡‹Œ©0Š>’jUsh[À)a9GF›4ò¥ëoˆ £FozEr/? "Ÿ›ßT*Ý8 °{Å›:'c÷3?´ýéà³Õ?A;Æ*—†qÄß Å†7µ}%:˜tr•+þœ%òzþ”bݧO ÑMm7¤‡ûÿsê Ϲ Ú_Á’•ô°[RH§æ8 (…j[,ÑD÷äd´óÏP7–œ›ÀðE÷ CG:Žî³þký 笯Šçs¿ø½s*ÄbUmË(”æ¦L ¹ášx]Ú1¿€&W¯Œ‚,qouçÌÔqµ˜¯W²;‚¥$š“ìq3³uårˆÍÒOkm¸Àɺ°©@Œ¶ã¾•˜ÐšGÍe“¸" ,7›~§ëÊA;â·ÔiÄÊ‹Lº& 5µøÉ™ô”Ž^™I0Õîc-OMŸ˜Œ½89*a«^ß, ¾/xœ1ut÷1á1Ó¿|CI‚ïc/±UsÈ+`u‚úÉíJâóa»÷3!§Ì=°Îœµ*º·S6–„ ¡ÿªŽŒi¹*Šõ³^åY©Œ[S÷R 6ktK7eNœßVIõ÷Ë5îö+ˆp^l^f £øöù¤¨{£¨ƒa@²T¥üfC« à ³«gP/KœÙ°ØA¹Ž—‚„êÅŶ{•¸²v~7‰Ý6Íë|1s÷[ù¬[yø0¨b®VÄQpny6é¤5*¹œÙ kÄzHpM1„»®Uþˆ’pÜ`Eœ†xõ"Yî„ØR)Hb{âO߇`´á|º?ï(ž¥u]†‡éBxÔ3ƒ ÕÄ+sxpDÞ¹#ÚÎZVW˜êͺ±LÑ]Ðk¼Aÿ®/¸0:rÎâÔBØûÓ]5yÁ¹z¹uÈÙ%ë}bH5o}Þ½Ç ýX±ëË—ƒ¨€ kÃÉ2÷‚¥”yæ³ãc’kxŠÕ4ßáo›ÿ„r5ñ¸‹R”®Z×*CGŠð|žóç߸ü‚6Û§ÜæS~K¶Ò„ÉÛXÛ›ùÇ:n®Åݧ²Å#*±Q¸wÍ(*Émò|ªÉ³ä®ó¨´¨ÓõÕ`?FŸ:ù¦&'œÃ·ÇØ“–¹SÜ,à-Ü) ÖøÔŒ?2 ¾ °xkMÆž0ÅN"Ø­7¬.UÓ‡¼»Ù›vŰóO¦8Ñ—­îÍUsÃýEò yH<#QÕe, ^+ Ÿ(æ©kâïîtü©„Ø;)Y?.ÚSs{É:!-uñÇš<Ê£±8aÞÃl±‡©ô…—'5ÜTvpGãï t1ƒ2Ö/Š+ö\Ò ;1`ÓSkèR†ø ÉŒBšôó„£;N… g)žSzLk³y㣔ydè—C7µéƸžMÜÄJO2üS§Ù[L‰e~ªˆ‘\$(j*Ožúãm!û´¸öÐKL8iVM<ÉQ$c] éKc¬Á©Šƒð[8‘Ájts»¦zqŒØ“þ sÅ}pLýÍ3€>[­ôL¿L襹ýw˜Ù¤›ee#¬hÅ,xŸ½¨âl¸ óu„#îâgžŒù´çW"ñ:=Ý®ê¥9(èâ*Þä6ŽØsNÝñ5}Þ|Ú*Ò瘱!kعº€‚Ëì8¡âͧPÏ}ÿ\>ŸI ÒÊ [ âÓ÷Iø¬z UwæH’Ù¡[5nÿf•i¢Æc!8€<9ÉoU‚ÙÏ~‰0VTž–:z£þ¸9v`&·KçÙ“MÕ|YY¸û‰‚‹Ð—¨—XÍïÚXPÝÛ[Z½Ô£hE3‚2Ú¼=ÙïÞÚZ}²~ÝíÑÚ Á]5~,ºAZ”Ì…˜åékÙOÓ „7Ù€¿ÐÉö!òzdT¡èR³žaŸÚ¡Î*ªU,pÎIûaX¾¤á[ «ò*¼‰}€Á×k@1"¢Aùç ¦ŒoüK_ô6¾iK½ _å-C ?ÌÉosù©´=¹¹¦Öìè€ÙQØ’¨ýW"š:WL¥Èh|! HF8Eßí 3c6˜oN 7=+çEO„£Ýë]Å z¥-Ô:LŽ#áfü®DÀá†`LùœÇAò£'ŠwÊ,ÙŽï–™qzd9±±¿Y{ßÊgœJ>´= &€è ÇÞë!Ósõ}IØF+à(\îåëUEÄ?‹¡)œ àæE`tÓ'`ý’#¤EÅ`M&9„Ô´° ,Nʪž'ZK6ê~âs2S½‹o~¨úoKå M&GL­$£ †» ì¤#Ò¢Rõfc­Ÿ”j’×þ»?þòÔp.›‰ñR ŠKöÝÆ°Ý˜@õ<Þ´À° ”wmãAŒÂÒ†?ß <Äô‹é§&z×6LQʼ¡”BôR\Eë(]ÕÌÊ4P«2‚ÑÂjíG”7Cq÷<öŽ3–«èûUѰ¥$œðûTuHZòA(ˆ©Þ,ceŒF£hd ëFÑèUr§‚þÕ¦Y¥®®ž:%Éú—ʆ*'+ð–×ë¢ÌgL„;_“DœòÖ b­¾½‹}•kPwgØíÊJä!ÚÈcÍíÑž)nU †—ñs Óp¹È‹óWÉŠ)9ÙƒBM§˜]‡'Žß|†'í§Ô;-Üßj:Ðg•{·þ7à_^4 Œ=&m°ÿ-wzf‚ Ìà˜]Åê?,Š è¶—l»Ævo0͘àPdÉÑføK—þ&.Ã"Í<©Ïyïl'ïŽ6¯«jROú:“¥$žÐzœ¿Á°Š´«¥ä5kÏî‰w,n!°MúQ¾Š6-êˆÍbï„ÁøkŸÀ‰TBå­®$^ª¦(…¢Š(!?&Qo‡>¬Ç_6ìùð“{Ù‹äh(²©Ç…”bAÒ¶“!à† .ðÙíéJÙÍ_U¡L¢júήáî..] Ь•´&DÛ0ð$½³4áJÎÇt³#2¶!EŸÌ=ïPˆ?EëS/…ƒ,Ñ£Ã@Oê½ïóä³éô ‚,êxÒYo o…¿–R0Ó B {èdÇ*jCæ{¦ÜTÐÏg«3«~#‡’vI[VdÔqYó‹g¹šÄÜ3ÿ*_P« Ø$aV¡Ï‘úºh¯puϲšÄúï73AÕ´¹?…ìm°ìéÑô%.½âªÕ°¨׃¨¾’ÐÙcrm: »'ö'vz\ØÐIr$6Nú۠͸Gok Zbºù¥Pœá™j4ùö8°*[U;:Ãvw`\iEúZù7ühj¿(2µŸw{¨D¨x¬ê/¹=F!ýíFmÁ§%UoÎ~Rn©Ï¾Ä‹£—t î½âÑД ŽkÇêÓ³j¥•ÇKä& ¬•ËÕG¡&‚踂è4ªs¸z*Ñ'²`úýíæ »Êçn ¡ç5„%ú,¤ºÏ4œ€Oq³&Š[=ùÆõ Ñ¿;@Á ‰è‰<µ'ËS0§qQ0È1IüÔ» À¢Xøþ|·Ò­É`è°|-š=npJô˜wÙ“ÒlY7zï²ðõ¦‰Kå…\ýíÜx}É—8º ƒŸä׈‚°Î”Ò‹Q+ùùòUŒt»L—î)ÝüÙYEx6%v‚½oš¬©+”»Ãwøí ]$ïjBܵËïõ8ê¤)‰Üx?3ÔîJnaix+צ\ wÐ#˜4fž¼Ùܨ=¦ßÆîÐÙ—áæP)ù3ðí°A²íè‰ã‘z‡åÉ:Žíª•œ„ß´›h—îŸY)=E,ÃóÀMF! ’$@ÑTþÂü†[¤Ã0ÝvyD·ÍÍ­t³Ò“–ò ¹!”‘ÀâîvyÚ7æj·ÛÁÀàn9ÇÜÍ_S­¹×-#{÷&‹U¯­çl÷t;N|ÇÞÛxú9Nª€Æ•žità‰­¬žÀo,^·fi":•¸‰Úhäù¸´=`N…þŒ‘V«l²ÕéñRJìðð É1„6É¥cqp=× ˜ÐAçêø`ÇŒÐøB݇y›W¹Îrt_ q{Ï\êà}p7¾¶o†"«Ì|ï9šË¼ë´ý:Ó:¦¹,ѵϞiD‡)Õ¢=ªÓè“Äu8ü¦(s€¦1ü„)F¨ì¦Éq&3KQ@‚_píŽLMÐO&HiéAd"У:7>¨ß#ê×8 mâómâÉ‘ùY;òïéB‘‘çòë~\ÛÓM¬®©ùKøÿA3˜a‘%Ì#×…Ó©…‡]xÜ«nÅü‘ËrÐÙ1ͬ(¢À†X_t1X£Š&ç¨Çµ÷FÖîVIýöéÕ€«An¡Á;lÂã6nd®fî¸û° I,X«öDíØð’åé¸Mk†ž;ȡֹ)!ÑÅ'â¿ÕCI¯ê¡Çr+6-#n–ÏÏ›L¯ åÃÖæ†ÚBŒdŽÅ± è$4Ù¦ÃM—÷ºƒ8 Ô㙩x§}ëÃo@)+ˆÅÙõˆ>ð9Âßõ#Ž¿:üIú|vF,_'o¤÷vÚ@ƒ\¤?áÃ8ç‚]sIVÃz‹6œÀvôÀ˜)T uš'*ÿ—2iÔ ƒúm¥Õãvb ½%ÞmtªffO³¶E¾ú1æ3¸³#ˆ¿UÖr^’(i‹¦ç–1 ‡:R”ÍÈÅõB”h\q6AÜ3ê뱫:+Ñ’àÚŒ¢8©ƒdQû%ÚÑtëãxû¬èkÜÜöDHLÐj÷ÇFŸÀi×·ê\.Ú«éˆõ6 ÌI$ºR•Ä3õãöøÀ}’ uÅGºµ¶sé]¶­éyè*†ÑÂÑr;|J, ¿§çÞÓÅíjºÑù”L|ÅÆr@tÉÛÞñ¾k³yº/çž ¦ÿÔ#LDã9ÏÒÃûãUý²¸HZ7”)îÍ wÕ)ë•Èe{]ò~ù‘¾Ð5VIèä’hy?HؽEyQÌtÆh'òtÅæ|G2pÓ÷Õ“n!‡Ü³?þU‡xœY~ <VÃlYßfÒMĨç f2©/#U‹ê?Œí~`u,Û䉶íˆMòd+«¦í‘íÒè‚'š[‚Mð=»¥w^Úp¤®Y²ô„Xxx1ù-!¹« #rZˆ1ÒäÓàÊ”Þâ?Xyøâ=`hþó1C^“½›æNk¹W1ÜMòŽ ¨FV\Ú$cVP‹˜jM­‘¤91›S¸ÎV<Ò§À¯aµ3œ±å=aF郺.!aÁˆË#ª¾õ=ññÇðÒÊôI8?Ð÷šEv@õþ÷WdÝÇVp9O¼{·9çŒ`š–n’‘æý—&)h¬LâlJ—H¯…~ˆVšýÁ„t7ÎñQ’"Ù¾îªxKA‰r¤ Ún÷ût'µ…Ô9çÜëF×@‰™ƒ1Bî-óv7SÙÝuëtÙõ *^ìŒ+uOB.9Ü9K;—o*—FAͰz<·4âF2ùöä/²¢&€2ë'1…÷¥~ƒU±k« '”eFê„p:¼›³Î÷Ä(ö†¬õ^ FÙÇ\DÒòå„Á)#ŒÁ»íºŽ¦óC“ˆ”KÄÅn¿&~U½ÁË#²¢‡›X¸þ9~ÉøS-vSn±G¨ƒ-m‡ÔÓM$O-S|nè:¿g¹¸»)Š¥wÕ;ßKš¤j]*<ÓätÄËI}ǸL¿‰»yy§_RG®NÎÁëF#¤Ô«½ëÙÿYPMŒ2§Š !*òšœ‚†þ|]dÖ8-FGn^,º%œÖ”IŒüÇ|I°`PÙ'èò»Õ‘Ó*è·­õå6æÌý9B‘°Œ¾§ùyÿ=™“>¸9òöA§‰<î?À‡í1ØZÁîš#Áú# W}˜•£€’è˜(fàùV·7M~Š{æ18«Ím=@còC„¹4~÷m¸DÇpnv„Žp¨_…dé à=†T2ƒ5Åòºî†¾‰È/KcØ'jãÛ팪±±½ÿšÃxw÷ì߯#Šjð·Tæ˜ …Aö¹ât´?ýžI!ºô¬oŽ—æ|4¶'UÞ¸ ¨·§–e¨mæ:ù ß=£;<>‚t½52yIé!P7¤ c@>XÇVÌ\Ï…~žûpݾ¤ÁAŸs¨0€¤Ý«ÇRT¸²ÔPã[X¿¸sø»µ–1 i¦n®Év§ò‚iN—ë0„jRÔ²åKx0´zIóf>8•hýç\0´6{‰LÜï:âSx¸(ðÀ Y´%WØÎíD }¯‹ C¶Fe’+xRíâ·Ëgº·æÄ ñ:òéíuºUY)Âýt¯¿7ß:ƒšï"Rt1lžaî®¶ûl½K›¾ì¤‹ùÖuÇŸp×\&ýªh„ï[ÜCmfwZcL»iUŠÍÌ‘ÛGjŽKž{„Y碀„ÆÍÖ¹œfRž©Ο»*}$æFa *ð씀—¡–F»j~#~m€´þÝ4_t°U«¸Ò«÷%¯Q¡Ï-¶~ü–ç m¸¹Ë„økÔZûçu.0¢ÖiúyöùÕòÆx´±.w'R¹ `€‡ò¼¥[í<¦:Qlk½ƒÉÙn8㵈9ŽlÖC6YhMÎ>'‡ùc>§T²s¾l(Û¯#}F)M_rœ™Ñ¼å^Ae94客§° ‚7ïö×âòwŠ%\湯yçKoîkOÀc¼Ûž\–v.=á±²–T¥î ‘·0Q$µqÞKÿ*&Ë2ä²rî‹.7ÆÙñjÇKÈÝeD{öDÛr±G0‰¡“xë.Ï2-]+ ‡c ÄöÙ€)~þJÿÓüÓ ÍyÑ~/A¼éV…컎pÆ ÇП@Z,ίbTÇFYÓΈћ¨(ËÍ)uQþIÂ1$|ˆò)ÝL;á•üý×õœ˜ºh°˜¥àû:t„ )$ÄŽþl€¼Ú$Ïe U†¦ALyŽ{1§ßYòBÂŒÏö…—hÃk6^lµ¢|=§>p)ÍX·ÊʹõÙ P˜Û@BäZròƒ‹Â¶ÈØå{Jµ0´”ç‘pδ^;N´ÏJMA$Ôà¬`|âã‚–ã‹£¹¶Òã4ÙÒpçIyüI‘oDï…û`oã¾$ÎÛJd ©]nÓdsõkÈ6žøØ›ÞyP åý²N6ElîpfwÄë„%«åØvö£Y©Ùb[¾ÌÍy0ŠVÀHu†›ý‹€´ù_÷™ÞXýëv¨jjK1}"~Æ–²Ÿ9´1§ý!.¹,7 ñ\r‡ú+$ß4SB^⢇þUåä«y8]m¿/8‡Ø‘“"Hýý€Õº’PAŸ¯ ÕÄ•“ÆLæÊ É»6&4`FìËß+ž 5ˆÈ2ðÁofbAy?}ý:ïV!0N©y÷ ?}ôû wyZP}a EóÚˆP±lhùn̲ø"Mùè•ÜêëK#ž •èIÊŽñÿÈ> ð̃|ÓFE°T(6·ªTGÆG´†±%D-DL\þ–9Ëñ¼cGºëÂtµà´Nb{ÀËÏ/—zÊ4ÛÎÙe¦bÍ:ͬþÈ7W5ÿfϦ*3OÕVýÞ¤k-¡»åþˆ•-&j《G xmÍvÿX»‘“™ò8šè23ù€i`û*žÞ³p× àUQ´.­œP˜=ñ‹þU—ÐËÔÕäé#{„ju§íUAsš¯1egSu(1{y97Û[Ž5߆ôã©74ÚöˆË•yN`éÑawc—x, m9yRF·d†Eÿ&Æ ¬ ”¯¤þjÓì!—•Ë:iA¦w'‰ªJ‹…r Ô©ö”cÑOâÎÀ˜®Ùì6;!`d}Î ãa›$áPC0¢£Š§sÊ19 ²ï¸Q#ª I3ŒN°ƒsª©paâp(§þs Oõi¿l:q'îAˆÄX(³~*–E}™×fþF˹‰.•Z-ò3ìØ¬ºne'VÐÚh°ç`Ó‰àXÒí¤aÅòZßõÄ5Õ’ Å{ȉŒ>âÑÑï *è@©Ïÿ™Šr´Ç®DÁ—å"Hm”¯Á’°¤˜ÕÁâ’¼‡ôæïísÙzU,TBA=Švá"–µY†ë„ùkHŽ_„g07ùpó¹úL&Ø8Ü”‰‡S=½òÿòìx[4NQ:¹œ& 6öʆ,ˆÀ³£J]M'•©ÆS•D]Ê|uó~ùQ‘ÇC0s•ªyç¡<kADgâ n{,î~™ÄÓn9½öÀ Ï3¥ C›Ë8¡Gß[©Äqò÷hfã!ù+òÎÞü[ˆ NhDÌ{² ÛjÃ! 4Ú˪Æ`$J"KåòΙš¶K@õÇ¥CÈ:ë¹½§´ngNEC W-÷r–‘ìI¯û„ÊD6  ¯ðÄjæ½µ*p§Kç!JðÔÏj$<—øt©q\¾ƒæªM]ÜÉÖPOmã5Ì$:ƒqçûQè{4¢°RÇB?b[}URø4;¡Ø\†Ù ¾s²õ5B¼¦ók*—©lÀX]zä®1O¯g®ÂY2Š~Å?¯9ÿ˜ÞUËðfÅ*¦ù/ï+Í™º¥“ãlÚb”®³âη>ÿ¬ìœÙÏpß!‰ YSèjŒÞ{à g‰ëðÚñiÿ­ø–Áˆ/…îCÒ:øätnn£ƒC$u!­'ÂÈLJ‡xåÓ‚Cz¨6`ýtqÉk4`~@tñ| ‡sëÔ¦ÈMýŒ®·Ý ¶Ë+7bË•ç “NЦPl”ìP¦ê"n"“±SJjò Å9…D0”äËq¨‰`]¬öòlñd‚?вz£“îÜ™w z ýRΪ2ÛèµÅÂT=£—-þ$Ë­2‘;q›ÈÒoÏ—xQA ”ɘ“é«NÝ$³ e:`_`)bëñО/¦g‡£r‘ C”öß‘)$cÀ×àíóâZŒ8!è\ÂÍ¡ÃTD¨'RíHŠÆÀžyœv—ÝÆxŽÍ¬ž‡Ò žùðÑrÖ.)¬iL ÷ŽEñ"ð‹‡ÜOÛƒ?b~¦V4Á4‘jR™|‡‘¯ó")¥¢Ïüë b¿ð{: Z\ /ãŒB…Va¨”ƒ…˜ò8x{Ÿ&öÚPûJe€t‰Q/ý±’ÀÍÙŽMɆÛ>¨ý9h¡©DÝ·ž*ŒQ”Œ÷/ðk’®LQö•v|Ú‹ËØ×[2 E«Ç’PT[¿¥ë6ºw7óòfWlØõkHé¿lº )%©x*;”¯Í˜ßöm¿G±LðÙJré²6êAgæqžmüíçþœŠ¶KwÉçAâùÀ¿Å„@Õt²$X`t–ð?t2G¿ÅÝJ¡?x¾´Ö³©DíEò”v/˜4;çh’䥱‰@ø0“‘·E0)¿¦C Î- F&ž¼áÉÀá|þ‡„§Ù ÌÜÂéØm£ñ˜(Sefg)Z•` M&]SÒ#Ôæ˜}ñ¤'hϸçŒVèѱóZS¼ ËÞy¹ìÚºøÚö:ÛuÁF~Ê—üžÆ‡Ÿ•'AÂ¥—¤ÕÆoMÚ΋ç¼Þ~Úå€í¦Ý ~¤e“ZSþ”\I,ÜÞ›s¼B\¡S.G MGm'¢^8%ú¶Æ±V1êÖj´mú}Á ´3ÑT}M€ÆuJ(tiŸ¸€ÖðHCe.İY™5éŠ<é³ìêúÀºÊ WPµ¦ž Hza$},dRgËž.‘Ì8X h#Ô=j—†Å®>g6ð«Úesy¸Ä¹çJr.'ç7VÉ|½¡™~®>£õ¬!ÊŽ h¤§)É뢦ªq+!”ÎBŸ§Éâ˜"…7Fp3,`ëú\1(Þ¸ÁkÏc.† Y¶Ã{Šõ¯Ý¤-ýú‰îóW:ß±²cN¬/´ ø¸È=.Ž–.œ&…éÓøÞ¬4þçÿ§7­PœD{hæ¨'D݆Qã;QBò".ÿS#6Iœ«·gàퟱrß«ßR ¨Â„bÎ÷(úÿÉPN3K€!)Üût^2¤v¸=Å@ÌB= Í®³ù—{_ê+>yÍ‘K6ˆ< ž^/£k“«jwaªüFIOé );ž_·®¢’m%®ˆ€v¢Š”·™´¢Éçw2…wCpèDJ+¬šÎÆ·} ˜.Ü>‚JMR&”mðT·©Y‹H?âL·Ô°óTŸ‹Y÷” ‰ES\\¿0ÉÅ9ªµMM~Û*[6å¦ID³ûWöÿüK«4pÓy¯©•9HÛÎ;kÝsÀô1DŸÏBÖùÏZƒ \ R ¢7FÒmTŸÓÿ¥ÅxÅ™ ±ç 8C~¨ýPwJvwÄoÐyûüå“ œœÚšÉ&Û^‘}?;i“:‰ô›ïz©|_…®m7&-{½¤w (Ûší{ 9>¨øJZE$P·X2üæçáÍõZ{ú£êf”»›÷§{½Ì8MXO¥ý´!¯Z.8ug†¿§¾Ñ\o€…Eåã×óKî,qÄZ•+J…|©MÎÉÝjа…šîÛTù²Ã… |N³grš¸¨\Ú÷-ÔÊ™Ö|=xÍ\ê/Èc¸Š¸`-åxPd|uÞ³¡í€0'X™hÌC ˜x„ñtA½‡aää& wµ¦6û»Ÿÿ<Ð= §¾]²\¦´s/ö#I?eGB18D?Ú«]™ö½6fÀzÿÃýýùgºÜ^]"Ü,ZÀ\OˆS<«×"_©Q)ŠÎl±§q8ÿN„„#lO–¶^,ƒÂÿ…¢O+:ÍcMN°ûJôóû [¯m}5«Ö¥¯mÈCPQº|Å\¤J¿´‰…Pa^°~ }O«€à˜à%v^ÅÁ{}Ÿ”.DýòPËYxèÊ#4R‘L17ë65Ú†C=YÁ:‘¢w<RPª¬“ñLÆ©ŒzÎyÓ'K3Ø5AÅŸáºËWPE8ô ž?_Ç™VVl™{Ö&ðõŠ„6®Ä ›83÷oJđΔÚÍ^»7ÿ¦V–Ï”î„E“ã?ª)SÉlk+™—§A­lßÝý§ßf,,[“•Áö§ƒùÝUñZ&0;½ü£$¡ë Ò)x.ÔøJgᱤ*ãøæÓþ+æ, ÒíÕˆg†ÄߢX*Ï[b›¹Bzt¢îH¦ÿSÚC¿¾£‰‡„§´ñªc=] &ZYHRçkZd/Û²[ã|D’èŒÓu5O¨’ œðn ¥]•E·…ž"µ{ÂKøúbº2PSm7寄Þ[Â-Ɔ5À /ÉÛš0ç"#úYÁ|1žˆ½zÕ¾ñ£#â—®”TûDÙx)sÆERŽ¸Ú‘A:â_mLÿ¢ÊãЧŠÒ œ€–À ¬Ý²ç ¡Œ”“;&l©üò3¤‹›_GÏe¡Jû»,Bbsà ARS38³óyVNgËÊ’K!¤§‹*xEŠcè·ž½Å &£ K3›­^¤¤>¯Öø$[²!ù—€I2•÷‚TWjG?ŽË^J³Õ Š9¨M[屜0~îBÔ˾…"ÄÒï¦3(8å%·ÛÇǦm™ŽIöy^‹ä,1/‰X76Ür¼ÉoÓz©±«›æ>dK=]²<æ#·ã|ñQƒÁ×Ju9iejÈúM”ò½k¨;kÖ÷w ËHšÞzúÞ:ù6µo Þ ?Qm÷\0ËGf×dÁ`4ë8b‚+ÒZW¾ˆQjªõþ¥âH¬‰Z·ã5ó —±ós%ñ‚’7…ŶAÉ4àŽz•«¢îGNÄÕG&[®?kÇÞ ŽÇ{Ö(Õöü,ŒåžãSÅÔ›àÁ…ºuÂà}—}¶4ªfÖ>›œïª¡£žpp·¸”æë[±>Œ¤2J¶é{½Ó6Qžñ™W½¹‰mhhZÞ„ÌXj ¯LüøJšÐœ¦SΈ+´Bà=nå‘+¼z1ÃÓuCš4.3Z9±wJh•ÙE©×®8 ˆšàòYw”J¿ù¸y€sÃåý’ôO4Ó²Ó–•«Q&r–¿€Åì½; ]¯ܳժa+Ã'Wpj:ìÎáÌ oà¤I[ŠþrýÓöùy ?zG>²è+öòMÑF®þÐôz§÷Ÿ$ˆ%¸ö+o&\´!Â-ŒÊ¸ûS´ú(Y"Áºâ‰9"©;zz@ÒÕÈ‹_´:¸ »W³ý .â+¢ß¿ û­¹™©(øVgëF‘BÐ캠ç—¶%•Ê-ü}A€mjrø–AzŒä0ó¯’n/ŠØžá µT¦>O üiˆÓUo:JùÐ ‚ž)t=Q¶¢ÏÐïÒ;¼†Å3$S7Ð*b¢TITdÚ û7¦VXmfs{ávÉ7_çQÙjˆÊH¦BonÚ# Ö¡ÿ¯qãdÀéÁü×ãÞ33 ¦>%~:gÌç²:ìèp6 è]$´uF”ÐnX3¦mîÉK{ø¶hKù¹~ 'Ô{fЗdS·îŸÏBÝõ¡$x² #¿0ÏÝ–­‚Ã|ä4 ó¡_‚ªH‡Vµö8¦;x·Z‘UM§²$̱®_­N·ÖéêV#¾ ƒqˆÚ?7KŸ˜¶„]x~5áÔ°v¤|í«½6Ü—6+[Ü’t{¤=ã'N<м~kÇZÀÞ“Z(´U“ '9‘ìr¼3^BvŸ­ÐÜ—ÇÖ€º§w8ú’J‘ ¾Õ¨I85”™}ÊäP¶djSL¾Õ Ź"ávä'±«„Ä<ú2zïëÑ×d8º³R"WÑäêЙ¤Ð|¿@À¾Þ¿cÒ|'­q@]‘ŽOÇÔrÓf?)äÂkÁ$Ù¢VµøÌc½±r‘Èo|ÁÑ‹¼ÔbóäÞN©äŽàh(KOY|(¡"ü¸ÏÕîobâKÊ¢ÚBÌt¤y}ñjÀÂ)17rû¯¡Á·“K@©Æÿó"%!|ëi[±ñë¬p¤ƒøµ6…`ÌóA䦡G^fYDZ2ü Vý•ÒàùGdÀ"ùw‡oø·•Tͯ"ús½Ï½ñÑÿz$+[6%7¨8ä©y& Ñ.–yúz•dcâv%8X†tü»‚gŸ1žIfxþvç ÔBåRp¬… -K¡+mO‰Aµ3h…ÁPfª¸R†ò£²¹ÙßÃÃ!ÇÅLåØû^T·nxFšu!ñ¦x;vÅ?¹dø–V¨ºy"¨òÈ5=í+ê ãP–5 Nù Li'ä ÿ”0঄úš´†äãh(‰".’þ­ëÚg¦qê?uf« [²½Íà•I0]µå$ÿMóûÏîZQ÷ĨŸ;tYøRüîs¸÷èÓÍ›âUÐ!„§cBd¡¢·–ÄÏ'~Obˆ¸Ä8~T¨ª£#UðüÙÙ<ˆ ¹é‰,Ž÷s o—uíºD®·êql¯½+ÍIµsµ0˜áíÅzqÂõd7/OÌ»’ùMâ$:Nó¼|vÀ®5õì Ž#»â”)WÐÀ{eŒåeþÝ•áÌËçÈÕˆo¬s{2Ñ`G‘è«lȨvw¨D”T½‹?†AW©ˆ¨¬á HíÑ慠6•‰§)ç7’ëš_¤¥]i~Ä^U¦·hdLŸâ(["[íp†è.¸=.9ãäà¢N†“ ~|x^ÓËA˜P‚ Ѹ÷ޏªT·.W8 Ȫ8‡ÝFR”\bn&«Gt”cZ‡Øâ.sJæ˜"”Ž ¿e9ÚZ yGN¹Óâ´bœéþKD—:9±L=êñX2p!~î½Ä4!ô¯”B³Ù>œz;Õ_QÞµ”>p^\’øý¡ùHЀ¤’Xʆ T‘\n…?–‚³îŠå,º¼ºÓn e$w<Åš$Y ÿ‚\ªNö!_—¢ i%¸OÒÆ•ÞÂìâ 68ãªæÌRuÿ ôž09dì08t‚ƒÊ‡pË”®¸K³õóï>´WgÅè§9ß%5™[ûÞKÈa&Q¦œÚÛL=ò,ðè¾+³ÿpµMã¡ Ðö¸OïËoº«T˜Û(ø8˜!)Ur0.ª#¼HÞ6u)Ü :ê2 6hÔµ˜gfpÅ[Ö›óÃÆÎy-̵@²ý5°V ¡+º/(ï³z{GÖc¦?0h„ÿÜ¿|L-d?=u½B¹¾[DÞô(ÚKº•=&åƒÔb3g~&Ökö> ÝùR¶ í6/VªHdzãršâ‹8mþ…)­¬= ¢Yþ-_°u)«€ÂzŒ\†#%! ïǘŸ3€¾·è«¦(O¶‡á%·ðlÑ?ÓæUñò\v[èÝ€ÉQ÷üÓ2LáÈíä¸ Ö%F]ç›õ1ïìk‚²2õßRüÃΩĚ‹awîÞnÐ'üêp²®ºqU‚xÿ½qËÉÑAPVâ!lºˆ¢]L¤3¼ZKŽ2g%Ô~n²Ú„ï¹Rº:=|nºEÞùñò;oûR•B¯ÖE Ðcšœê¼b»RàëôŸ¯¡ù!ÈEbI3þb׆N”±çŒ…¸ú¯ 3öàöë7\¾~§¸—_­ÄCOΟp‚¾D Ž«Ý?±¹dÝ Æx$Ÿ2±Y½u‹Ó(þKŽ Ü‹†(p®Äô®6“ë××êpˆYÁƒoœ‚ŨÊàB·S{# н°o9ª½‰8OŒ›Ã‚oã+òŸAcÕ°8ÄY¤µ..Á«ïr9®Ÿ°¿ V˜‡÷6S]hD÷\yKüj~Îó쾋¡²éàÛÕøßµ¸ÿ,üoN2É Nh7÷Îçs¯Þò`ÿ0Æà f¯mJe>Ñk™R\ocdÍE ß# ­}f4¨àðnÇ2ñØßhš*Pþ¼Ì\¿\r~9¿úáý¼–²—]%;äæ¹Á >yåò‰ÅÛ”–JjBÉm̪Ä MLš/h ¬\‚Z/Ž\áØ¶k„bÍ‹ Ÿvd¦UØŒ&±„EPæzÑ›˜TÁoKÊÏ4¾j<ìøi ¾Àù˜ÐŒ= |ÝEëõújv]š$õwFĤMÙ¹k/ƒ¬è£éžb?¼=VjØ€ïÊä̦ÁK½èÛ~ƒ²¸DåÿäxKäÊ€k:ÛÓÙ¤ûC¢ú3ºÎPºo·CoÙ,jÃ`ÑÖÛ¸rp«êPå"ÚÌS³á‡2ó&úÜóJN.*€Å´À`]ü(´ñèjt·¤·J«vócÁöÍÀ‡Æ(ÈQèÖ»(<åZ狘 å9 ö&ÆÅYWŠ-ã¤]ÙÂ6L«àú–‚ëdÈ—ísYQ‰›Ž:Ò³{î'*m‘8˜¿Ûåœ2:ðÛç˜ qÇ6LDwxžžUÇÉ7×1WMAí]·:a ¦%£é„~k[‚Ë[G'jƒkÂõ5 †ÿ¿³Žáò+D\.òaÑ””ŸÔÉhP ž:Ö"_ò÷õšK‡YqF ½¯^'3Ò%åá͆™$ Ú‹î+ØïñŽ‘º1^³~i²´°Ðaäð B¤íÔÃâ[.îðÞÄ–ÓLB¬;g«¯Õ¢Zñ‰çiW:ÕTQÅq[ïê¶$§"3ä‚92o+M¶Ì±£¢öïÐÓ¿ƒ²wûëÍ ˜[ Ä:€¯a¿fHE³'YŠ9jQÕûvci`6;}š0š€‰u„ê_‚Ïõð´Âη¥µŠä²%dEå@-<À)ló1Û}qw¹‘§ŸŒÚ«Ø±ã½„C%` ¼aþX›µ¥ô´¿ ŽR’Õ£‡¦µ¾|«ÿK X[k5¥Ç¿·µ–bÙz7.cÖ¬Œž9¦ ÉïÏG%&&2¡ãIØeshƒ¤ +¸ŽY>o§ša䦊¿‚–ùª´T0¢q Á¾,Do*ÞU• k£Æþ $?м#cèØa‹ÎQ¾ÿ[,y8 ÓlÀ›øÛVÝ!Ôïag¡±WþÕ §ü›ùŒe„-ª[-«9€9w£rH¼ò³ CJYK,L\S$Y©¢¶vgҚζ=aãPKþIô "+3÷–ïÉ¢LÛòîDö&“p  ÁÞÖy¼e^è4EÏ\­à_|’JŒ7;i(¹ƒµ»³=ºy‰“.(žx‹Xì¡i³ëeÜÞ­À·ž‚íÁ«ZÄMy‹Ä´8@½ !’{òNG&5r)ÅöAíRj6©µô/Ý–hcøÅ½ ¨ •û ÷$+ãÜæ3Û¼‘FJqü±¢y¾ÛôaâžåE8E7îïèo9Ü• zr •³)åßc©†åõŒú §/E£C4 R6%íÖ~Øí~Ðá#ˆ8ãúCl^?«¤ÆD¶’Ò}Ɖ=¶bŨ{J=…÷ è e¾„ÆY(Ž¿*&»Z}«:ª-#5¼XJë*”ö¶HSÀƒ>Î"v€MÆNÊ?g¨;ìƒ#ä&¾kJimú ír>iÅ·Ú48U¤¥0Âö¿¡ÜàßÛƒsáï¶U©DWfH †áËæñîCM%Y;åtp’™q(ð&&ËExNõÅd+¯¶LG*2€¹×ŒËE_®4 N(CKò‘¶=1Ðúï9üuË‚c Ú}ÈedÕ«q_v{&Å„5³LƒÛwÁP’õKc ìuçøŸíN½í‘/æãc˜%¼á\”çØ˜ëBËÐ}δUw'÷ 2eú÷”>^Q…¥ôB÷õ„d.¿¾¾=ã-Ewܲ9AxØySêwË G-me3n4„Ü"RÚ¨Ub~zV^ÚšzÀÿR%VœÖÔ·7»ˆI!ž<`Þ‡° åòT ¬I0–œšˆŽº@Õ–Jb ^Ý£ VdXûæ°ºRœ¶Ü…š`–Bzßב+²ogø4žC#óDNØ2›.««²SsûI å3¨€ðì#Åš IÍ‚Í6FÊl(² ÒóÕßmÙ¦Kæ'YïwÕ»;!Âöàݫ޾UßÕI̬f÷GIå–5 ]ûT¹Z­,¸¥tªÕ2cEç–³¤Ô.¥ô) ¤Ñ’n“ÆÎ˜=Hô`sK¥€,› ™nÆ–ã ‘kÆ$C-XfØZÀLúÖFÁÞ|wG‘áz>sõ`*Vë4'Jk“Ù­’'ù¢§EP/ÅC)ïÝð1Hº.u`rdû¿}óN'<ÕœáÜÛÂÕfý¥éµ‡„!H¦uìã#*ƒ~¤ÍÊfv_ë`z¨ËdÀï.¦ðÛçÖÇßÐÂ%,S8eŒPçŠýUw°(É„Ñ-‹™CETY$[;˜±IÖ…ë^êqT2FÝ`v ¢œsüXУ«YÝ¡¬Ì[õ¡‘PÄÙ¨çªÜFm{ñc^sƒ+|À¸b`}™¿¾MÁgxé@]ÅFiüHS5Ô{³6œJ,¥9³¹ˆ*#Æ*箤Žè)®sÏHc­toÐî`˜7p)y¸Vz,"F„@Œ„Ͻe}nF bXüëÏwÇ%)׫ K•zúå9eÄ6x/5Oä~´£-wÿ„ÙrzÈp÷UȨJqo\°ÂBÞþ]†b2àNŽóн(e*á±­¥b#È¡±ž«y¹oç*Àì[ÅÚ6þzdžpŸ? ë?ñ”¢°¸½FàR®x$ÇGtc´•d-·Æ‰…ÚM×>RSUBù¯.š„‡•NŃ ž,¤CÛ|¡qynpªµ^¹Ý Úí¬Ãýw4ñ1?ŽH ޤgÁ>ãeT«œ9èŽP@Ó*äÌÙ§ïÅõ5”õZ<11Vhmc»IEÇ7Äà‘üÓf§™ý+ÄvrTò4cy“±ï) ;»ŒÄÏžê¿™¤=­pî –K ¸Ëø®- r–Aw-®OLG6Áø‰˜ÝÜL[Û‘]’,Â7ßË#èP^lƒ¤är< qXh`u…j%ƒ†‹³ Kçq0ú kU€Aô7zƒ+”Š[ªae¸KcOJw·G@£}B¤«Ð"ÐÈ>–CòG#l.Ûƒáh:„æs{Ĥ¯.8à£$•šbC1>”•Zn„xš°Ë#¾ÑÎõe£]“­ÂštdªYN ÉU™Ñ~O lB´Ú§õ«Q'»†JÅf˜ñ~—&R†“͵ýšGšŽ7ÓÙ)Öç —Þu®2Ø-rc˜@ÇDË"òÝlöl°M6ä90(A‹gDZƒž“ýœ°Ûˆn¶ à6‚t†æq5Áô?Š¢ÂsÒ7Ú^(Û?×Ë)ÅH|©!ñù|"]Œ¶ñ:$sä×õFƒ)Â~–Ϛ迤~Îz÷Ö<Æ…ÐIá,ÝjVo›…ä) ò+½Û²•`QŸËE'©«4¾Ë«žJÿ•VaDíºŒ>p˜‡!hâÊ€‘ï¥|wê2Ê}HÑÚôi:®øô:T«›ÓIƒºé‡’ù¤âü¾7µnÒØ1ùÀÒ»EV káçBŸ4nÜC÷vmiwÓÇÚ‚PuA(bù^MÁ‰•¦BËv5ò RUÌÂ;Z  xag{]ø$¶;’–=)½ÑêÅÏ)¿žN¹NMDUàÄå‘ÛP§× £˜Œ*„ÿAïoùXŠ_®2!Âôp‚ª'­N¤@Axæ¢OŠÝ‡ÏYbßgdöº ¯:••ÁñD´³ƒüåÝÜLyie|$`-RŽ,)èo*Sin_X+äýí ;ܹúTÎ×R[Â)´¨.Õ‘y§†: Ü‘Ùw qÓ1ïøç/X7—½xAWm“ï,5ïë¦ÆØ¸/>ƛٸ€Æ“½§g5@$ Vô9¿†Ž-ßîšTœÛÃzÄrÐ1½¨º¡÷$©ãLç'ý5M°Š{‡u£®'lG?Bw¨ªVð’ŽÇôÔZ‚ܺnÏNPkàš¬Mgœ§23:…Y£†íÐû5‚\²q'¢)ñŒ÷lÑcNº§—^ž¥„~7m/U QÜ®7¤<Åhq&;€ V°òD Øc¶¾=²^‰Øßœ­P$‚;sqV‘Œ¥è¶[™wæôC-¼ïüþB®„éN:Лí÷AŸ¤?f?+H¡ýEK6°ª Ø"hÊ:£ Ú%ÝÛ½¨{6¨.\¢¸£$s·GÔíè"êÖ±h%X%/–l•B.7éÁÅÂÓ푹÷gˆ1TqéBˆ®cý›&…]¾¥Áš‘ASPFA”`sÓ£žh¥I&8Гތù.”S(EÆ&º¢S3#\¿ëÕ¥¨H'ø4žþ"µ®è ÍÊs™ê6¬s„ÁõÊÀK¸~óW e¹~X70â™á†“]Ë{´±œË%(‹t¸šn»M~‘ÿ-½;E%ãZÏëÞA1îHB'7d=©»½V²^Ë«ñúcî—q0†,¢7É¡MKÁ@c.^¾?id Ø-Òæ-ÛºR&€ê–|âå_ ° 2Ÿß, ß°‹6lˆhçš7‹ŽhÍá‚™ð]kÖ?@}é“ là+þ’ÜlôBÀƒéF5? ÍdUû•oýÄæŠMûßñîܯ—l¬´’2[“qY°PúðJs%É~Nú3n!î¶›Q È9ÛÌ8¶q÷š™ªNseˆg84wô…Ù—”¹E´ØDMªª'ݹǞ çL¤þ©LÃ5ø…i÷ÑêiƒzQÕrÖQ+ûWŸíŒ)–"¤áŠê!Ž,6=ôK¥^wâ–O% [(Á««½éV†]—è"ž&P`¥ó«"Ñí(Ka'Ô›OÆ" ¢ô¶à#ª^ï¶Ê<&ÏÆ/2GÂÚÜdµÏ÷ |×ÖP ¶ÌFitOŠlg~¿ûúxâî×FÚÔǪóa'ïÉ^eh3}Íy‹ŽQ¾O¾1ýœ¨7.á-eø— (;tå$ä4oT}>’\Ú B¼GænÑÓÀ—·[«KäÕm=£®{-ÜL18áþ×&C›µˆ8Ýò»®ð€ˆÇäeÇ…-Fݘëߨ ƒ×«¼…Egá½KÂj\3Ibù+hü<þu?«C¡jXÅL¨2Ya›ƒy ªŽ]i…Å…¾úïmÚ I㆘´ÓëDÞúB¼÷ÜlV£›É‘Ô?°$÷×õ;ùóÙ7Ž@fý¨j»Õû+1¾"‰]Ó=vúGr[1SF|!Ir@[_PÈ÷•ªo§’ï±BŠ%Ò±ÝÛ½9í‚ RO"+˜DíXu›Sèø39åWdÖ#§˜1N¢‡ Ýdªµ¼AYDÙ`XÌΰ¿4JÇ5ÿ4êd0‹¥Õ ßXa_¦]\:œl5/a#s“!)¤£ÆÅì=ØÕ2iç#g³†ÈBÚïR¶#KÆðfÄ.»3t­ƒn¾k¿2ëè<¾ê²fV§Û»üU`eèËœ> ¨ ¡.HêB‹ŸŒšù ‚|Î8çÎ&WÛ’ÆSWræD€–=¤)ïî8:3ô»¬òRøOx®A±ˆ]œ„ËQõOgY>% #À÷»R%s9ó>èò©(Ë,‡Y–TŠGÍ;1ѯ³²xq'Ìú4Z`5)Ÿ ,8èêïÓZr#9‡†DÈãH‘œß£mTSËâ)•fI§a[Òãbü/÷ërÊ÷§ß¥nG¦,kå¹B0¼«cè|<0’ù:ÃЕì›Z4aN5Þ@¥Å×{~Í×Ûý <_´aÄ.wÅÏÁ ærÄh}Ñ!®yòY¨ñ .?醃ÿ–žh±mô>mV\ÍŸg­$ØóÏ*n5Eí8•"ã–»F‹½Ô2Y¢^éR¶.øœžWÕßNêÓÖ¼{–{®T„# «·ÁóÒ®4Jd.ží•'mÌ3¨¯µÙAˆû½4UƒÚèr5¹±z™.Y rjQ&¾Ãæ…`ÛÕþ1|I¡.HáE¬óŸÍ¥á¸Ÿžb$ó MT©ÙüF».£–Ÿv÷)eÿ`‘$ùæøç3N§Úi},‚ªwÎ-µãéÏ«øsžCpkZ”'Îñ:ݼðUÞ¥Üb ?]‘̵H©E˜¶Ÿ2Ó£×ËMB:Ç 4ƒRõ@[°T6uyío;‡ùÑîTH´…¥ßBJ¹uòëåO$P*ù±ïgw¬]/jôo¹Éƒ:Ðb´漸J NbÙ°‚ÑÔ3}ºµF[C¯åß@¢’Á §«RõAå"pAéÙ O `a“XýÆ¢:5),/¿›!÷@?ËCD[„ ¡“ˆ6êê°m¢\é€\ÔH·Ù½‚<`¢wÕ>ô ¾÷˜ú‹2šaõ=K\Rnûü’ù“äa ÛÌÉ §½Š @MáçC|GØõŒJ×l}âZ@IÆ-¡Ì°ûiûÀÄgüŽôÙªJPÿxõâI]ž™n›Mú‚z/ø_òÌ´fjØóÖ±.+¤Ù_øL–Œÿâ‡ÓèMê°<^¡Ýæ=ï­KN¹›ÁF-ŠMä >#YsÌÄçüÖiDAøÂõg¡í<‹#º«=· y»–»bÕãåО¯ñ¹ ՌDzhpªe—] A§„ ‚þÇ„àßR¨ =81zÕ¶ðĹø7ɨ ' í zp[¹{ÍFò^<ö¶¶dFÔßUd éè>Õnªöÿiks~ 1»åU²â·NBÒ;BëºæþžX)ºz"_æZ÷þ}5,É7Œ£ßlyˆì×…‡W{b¸0,ÒtvŦ#%Ù™‚¡^îqgº ö©.W3 žïÊ´A Ä¥õ<ß¶ÎÛÿnW@E'^÷^8Á–S—zYÐ"=Wù;6õæ ÿ‘£»3ï¬ÕÙ’õ)6 ‰y"ÅÏTRîÉLÅ]G` jy%v&£¼2ÝÄ7A|­ãlzÌ)e”êÎDzè9õëu×oœ)yÉ"n¬÷ˆe„6–}{ nÕÓë,Æ8Ha2m–ÆrȨB2ö)³‰Ó® a§µhäVØ÷` «s@€¤¥C:EäšÀ,¨õp.çK^îÏ¿EÈ8e4 kjg€ù·bw…)!>žS5 ØDØBCžß÷).çF{ OP{eCîðû âëÇå<³­Qs­¼0 R¯O±ª–ƒa>à@W#|°Baƒ*)BŒ–œ|½Ç^´ûYo}ðÈNYèà” }¾¸‘)-ÌÁÑ’‰sÉ¿·˜ÙÏ}ã‚«ƒA‹ºaÉ’OUƲsi) »W‹O©Ôþ’Ã&õrÊiãÛ®U’¥{âXÅø©è[(‡{<;žq–BoÃÆô¬¤Ãë~?7BR½ø(ôÉÅ;ø’ ax´áö5Ãežc" Ø„¤ÉzúÅóïÈ3DOÉaU¥îCœ?]BÃ’›gÕçÿoc™Óà ŸY’w hòÒd¤;¶ç€»]CzZFðTÍìx¸+À0ß)ÈѾÜ2r¦÷cÊãË0-Uó¯€Î”ᬊ÷úWžYþبËpþ #d5~Í2ŽÍ©‹jÔ0Çð›J)Nol¶ lXñ1¦”P€`¨©ô;ÚF.Xm€'X)|T~–Œ€û­È\Áþ:KÌSªï;»g´¨–vªså›8‡þJZLÚçOSŒRsPA˜ù5ÍbhTÈû»~ãegÛŸ·pf8>­DBrJúàmèÞý|©…œÐìLLéE ö8ÕkN탽'*>ÓviÑ`H¹¯6Å?äŸ}êÏ5··F¬a››Vt.Ú:ÐA-v;¼ðUø‡ô|Ű$­bÁ‰¿Ü¼ XåjºdÍnæúáM’̘ct=Ð*|W{1íz<ÕÙ¬‘\?¨N’ÂÂÖÿ?ffÜìóÊ$Óh“ŸEoáf&¡œ/`LÛd(¨´ÎpMQ^Odgù$¤É¾ÿöŒ{Ó„Óñƒ ”dÉãTãšuÉ–§Ÿ8Yn¤£ûwPŽ”pëìŸ$ŽGØÝy7/¶ƒð!ØÔ¤GAí­\$ÔG҄‘Îh2z%ïËCCM)¤N!»Qö« Ñ®‹ïoÂf8hvϼfXB…KO¼I¾)#ß‘mCh½ Gª¬nÒøSÃtœ¸câúà æß\€:m!ülP°bhº¸üQž"ºBP4#Œà䆧WŒØƒQò±û-cÕI$éW?¯Ü¡&ü“ÑyuÚÀÁ[€7Ýu/ ÑyõÅmp&`R¶¶"QG6¢g/µÒ2¾ÐWUÛR¿W3  ã…U­lž“´Ùx¹QÛðß×GÍÃæ{™ñë‚V®6Œ\W>`C^SëËoD/W ®¦Ã´„,ZÿGÛËÁÑJÐw5°ÑcМ; “máóVÞÅÕAÉ S.Zö§× Sò壀UoK$vÄÿäXaŒ¿@Ö" Ý$ q6†ž@5çpu*Ó_ü  ‡öŸX#~Þ}~”ÒDúä´¬.R^Jõ ³òƒ‚WW1 ,ÖììûÎó*ýð…ëÐÒ‡“¹«wIØ´l–ÜdæŸÌ\üÀÂÎ;XôQšÐJP{¯f×m瓌ïøT¿Ÿ\PZvíÔSH : ˆª³É]¦½Ý- wF<ôÀ!ëºùý©mÄÕgܹF5ÖuÉgÄÒ™“éB$„Jþ¡‘ý× Ÿ ‹"·ióq§r"ä…ÛÃô´ õS…zŒ<˜º¥ð1Ñ&k±Ó/L ýþ,TÓÁÊ1Vþ1\‰×ÅLßIo–\|h×L8WQ©ãÓnƒÅ’0ßàÇΔ(~™8™K=[ø¿'½ãs#Z­ËSEMJ‚»Ÿý÷½7!Zþ¬8aÇ! °€â†Œe0~6±¸'ÌëVζ5@h e ÔÌÇɾ¦þž,è„Åc4\ "õPDä1;+¥e1Ùû–Uò`áÌ»"Ù³/l»Òÿz½{<þ5Ž‚„k#ܘ…š¨y¨îºj3wn@iŠD¡NcÆW²Ð¨7- P ÑiOMgë½È5 TêãˆÌù#©˜W6:R³Ìw‹7«•‘>]õrGwƒp<ï mƒƒôá%çÿ²ù /7ÉEÂnE³q—…[Oç$URw çIŽ~º¼­ÙxÞW¹€¶@A5BoŠçW0¶{¡ÓóÀ~í‡Ó¼óf”²Z©0îãÍj?Û%å[øVÌí_®÷Å©€¸Äƒ(g2øÌç¤K ·1ô˜®M¶£Ròù¹{o..Ð5vÜ2%‘Î9'æíµ^Þ ÚÚ4B;{óêdn¦Ž*¶†écnÊ!~Zt¡=Ÿ`ßl :,ŸdäÑswüsÝ(÷Dd>°××Hd‰8U°¯§‡£îkè!’>d.¸X ®ãIZ°ûiÕó¾ëŒÞõÛ«`ÿ¨µ‘ô›Îµ@²†bH Äíƒ.&ÊæSI„é«nl€l㡘†PØÿÞQÐX1,ãäÓ,/FVŒ þZɯÔý]"ÜV žÞ »”ítZÀ|ñÒF;-•ܽå';Á.RCZÊES ´>Œ†7õœ^ôµ‘ø)¦Èñϳm/ZÛiŒ\ôÚoø\;n2ÿ© Z ‰ÝÖ§”{¤PM¢;ÂE«pç35–³— ŒÕǧJ‡/^Vúl‚•È^a}¿—“~ˆçNxx–‹>ÊwgÊÛ¥"²rÝ©ùžÃÓÐyUäðýPÖŸ;W´¶çlS`AÀ÷ö1©€i¿VÐ+¹¿çü]˜¸T•1È;aÁV~!&kÊatãn‡õRé‡ñ¹ÀÓŽñÇá¤ÿÕîfvWêRRŽ*oAö°®+î#lW#X¬éP'˳´f —HYéé¶ÐÑ­œÕ?ÂÙ+­³¼õÒ:FRÖšl–¼îC1'!›€Ç¢÷ÿõ ¹Ïuqˆ¨Ù½cÈÐ×aØŽV~øçKRy %ÉCøªË~·cŒBíV€†ºþ£%ƒY)•€¤KeíÀNά>ŸŠ³r'_ýùKf²@âPHw;Ä•’"Ÿ§ž„erãð´-¿åÌphÃì–`vµ¦X{ĉ¡v‘=÷k<ÚŒ^ÿt¶'kŽˆƒ\IBüb0ö,«22Ô!” P¼cxn,¼¸óç˜ö šÉ}7Ìæ&Ôç»ø[‡÷ŵUé wÖ{c^گЎ8××wèvÞÝ0 3¡P‰”(ñÉC?/z€d›Ÿsá/ ­Ìi»ÝãèÖ›"íæºPÆ}Ã^?‰k¯2œ%±ã6`Q1¯ÊÙ!ëy³Ë.Cô“s”òD` Êõü¤¶ùª‘S¸Çø·'"ÁeÏñ#qt‰Ý%ÄÁÛuÙÇs˜y͈n@¾òáUË9ì By0\² ‘?Û*¹ŒdΔ8B|ËÅ@‚òØ\åu£=MÇšåŸ%å"vžäÅЬd4hÚ¦xv”Ë<æn§ÏÛMÙâ#Äá 7ÙwÛ[·Ö4懺#¾•l&—í147\}";Êrš÷‰žáºE’Õ’ýA‚O ¡RT €öëºâ¡}›r­ñ\¦)ï‹kûdU­Púœ²Åãì CV™JfH(¡  q-í »c¸6 Á „6\KMÍ®‰µ+6î6‘&ú=×:U·^GG#½æç@ØMê}U.¬ :C*¤Ì{ K_‹s#—÷7Ás3ËqVüýøO1ñŒyGïDû Šä1€¥¹.Zì)Â_–¶:Í}µ# ã_Á®ÖŸ¬tçß©ÈçÎÕ;R‡¤Î„’útl½©`¥Äîìže½YýúÙ›¾Ë笇´äBÒnôó„€è2[Ú?èÖØñ‰ü—ô Ö“o8üïGoù'Ì‚ht’ùaU“Ÿw"½%ûoÑÍñE¥ºó9Фƒ§²Ã÷A¦:kÔ™òCSAŠ÷p3ùχ YGÆ ¥ KCj3Z+Øì‹\5§Øtýì¼8d­Nø2Ý?•ã'²ÝdsTØÜg¿ÈLS.i˜%êMk—{ôC¬õSîDm¼]8 Æ%L¬8Ê 7 {u쉛†© ö AïíRøñSökh^âGR罇m‰Ói€øoá%’*O;›«´í }•Á+‘„à|B>AGv2Ÿ² 7z! ǵvøó|Ç™E!^`âo›%-kA$¡B¼š%’ ²ìX¾Ÿ°”úF„U´Ñjß«F™iP8­Ï~9Ç[õÏ‘|’åå˜z¿¨ºnffÀc;^«ÎêEcÏ•)Â0¸ 5 AÜœÏ a»ÓýòÏC>VKXÃÍzÇUˆX®cŸDÒŸYõŽx—ý~Šãé>Ìñy/[ø„b:xHN0ùM¼úà Š«U:öåR„Õ¤bhû¬J€õGâÌ’“_N{0®ÿWùÜ)~üwËE|ùdô él˜$úâç‘‹ÙƒHð•©FH›@Œ¢•(IÔ5¿YPÜUy(«©Jj=™±àQŒ3Ýbá¾ËºÕÂE K·@†òŠ3ͼS3T§>]íO>q[ìr:Õ•n°~Rèô x,¯ Ö1ü’;HD/@^y˜ï3¥ý$r,ݱ4.òHtXl½!³‹gÜÄ:v?4Í¥k‹†›?u_¥…×ÝX7g::ï^¨¥hÎ`’è¿+ä9ju"ŽÖ1ÀmXk œo'´”_7ŒÑ|ÂÙyÀí·ë6¹óŒÕÇæD¶ r€o¯´ î™Í\§a_{uê8y>øYƒ óÛ€ø‘×/œ&æùpÚ%³3SꪦÙ&Q;½k® ÕY´¦)½ÕN ¶ñ®q¬G`DëËÖ°€~ UÆ„S<Á®ÜÂŒecÏ„Œ±|èâpU—¶ôò‹TÇ¥@MÝÓµ,´‡ý¹Ö±¥ÿ¾;Þhg‰¬G¼¤/(÷ÁVᔜ½ ³ÜSp»×ë¢bkatêÊ8jÒ¿½¾ãµÑÀ£,ûNF*WßóG‘˜0×°,4®[«”i`uƒ/HNÊR]DÏÞAFпËG 3„°Ç[wQyþÅÀ²oªf£B‹pÿÐÉ]Y‹*h°¸"÷°­°`-”Ãb¾AYàEÌ £àD À뱉ó-¿A¬yÐEM_Kd•¸'6‡SÁÚùò·&@]>ü¡ñÕÔת³÷¡3œ^ºç]×r§ª…ÜÃ,ÊÁ$³NQÕ\Þ ϹûõèZtããåØ.´qëZøE‚y.›øD«]³ôU“ñ#Õ´O’yÁV@Ö>©5!ð0ù®RFR-bLŒQï?®lB¶ý3¡?%z³ÚJ<T¬°}pí›Õ¾2fVè9©…v ͅꥂ™F…[tÒmH^¨? š X×øü~ ¯¬¬Xðï}Ë>øÀª`ZÍÊw&v´‚¾2Âbi)<×òtþ«-k‚ ðTÄ\œqÅò”JQ|º¦£(“_ÔžñžÐôRUü‘íÙí!ùÍEß½Þ Iºš¾‚|ßJ3÷§pe+JTRõª•FV ÿJì÷—ú%DÌs¥Áˆ±¥ô>ºxÁoÜ8}Wk=ce‡ýÑC¤Ã8Φù›eâyï¯Ö´ CùPÌ~–9±é÷¼qƒO²´úáˆÍ&P•¢Ãt€ÐA[m åzœÞóMn©êì×p^ˆÉ‚ŠÝDÒp&M5hùIï†ìq2méâ2äž$QþÃwÙÁMÌ!ÈJ£p5ô"vûndíö’q¦6á »É̤UÆ·I’:´™®¥&±œC0{ÌGÿtËø½` ·Z%Í•ò–7Ap°G>_,!ÏIìHqC„§Ž0+Yh1üB}ñä—mâêYä•þüÓãf½U„O"¬ Ä@Š˜¢7ÉÌ@ãzbò1…»wuª3GZ“ÿe‹ã¯ŸjŒ‘CÞ›c’?õJ%Zã2“–Ýzï‹sÿ­!Û]^ºW™=ºúâÀtÞþÞ%™, ȅדxO[*½²½o8’ÈárÞÇóayeEqvîÜ-îšü*@ÃÃés34KÔEƒ&‚:n”¬Ä Ûiç?¹Èu°,/ ÝejpŶöŒ—Å€øä6n"UÞÔV[ªt‘±äÅÌ=aãs b—o½å:iZkÆå–8ÔüqÀüiôQýÎ`þE”MlÚ /ά„õ {‚//…\#ŽSßN‘SV%”fwû²È½;zÄɲµ$··´¥ã´/×ü‹¨õmh¾2 •!}1.‡^i§‡ÿÿêH gÑ$MºõÿÊÝJ°ÏI'çó²ôœÎsÒÃqõ>¢¬TêEp^DÚõÒEùX[¿-œ7fÓÍü–¾ÜqWþÉ2<˜€!¥®Ú€ÉâÉð V·Ï·gè`–‰½M†Qs ­®¸tî‚ÉÎ?:»x¹)mNó†êº?¬|;ª¥ÏŽõÍb+¬»°l˜T¡â8` W}Þ¤˜’F=Æð.î$,Rþ‰Ê“þ#ö§öÆÚOú¨3ûø-y­ÕâùŠ2¦0Ô6ôˆ†–|!gJw»«…ºÓÑ{7Ä lIfÇ•¢x4~üs?51 b¨h8,6—ùI'Þo^vßcx(uC2- Úpb‚ægŽ À£`Ø>vbïÉcÀ׫ú- ˆÇmzUY¡,©ì§|ÓÛä4sE…73ý´Ú¿%c6‰ü­P;?-ðGèSgôãemˆÈV$Jž½¥™Uû!Mu»e®7LGüö/š`^Iè Þ™aÍEYTºê;61Tm•Õ0:ióتñ»YÞ}Ü-Œ=?õ?× YDg¶ÖÁBA/'ý“a®ïß å1M©è½OÿžÊ2÷ËUzöžÂ“-mà]”Í7@ªP™ŸTty!ÑõÎ$‚ÔÄ6Žn2מ)^Æ$ío±3%"ÛÖu¦ôelÉ«¡Ž"1:n ßîØ¤°³é ·!8xšâC]²Åœ îîQðQ ä£ÜMTæ ц‡?ÃÍ& ^#uú§d’^bæ×«g¯:Ô¤+qGåJØýSX ƒOÛë´nQ˜¹TJ/`¸NF ïš¶®¿U&ý‹e¶§ÅV‹ØvΛY²j¢W„å–P &²Ù#ÛÜÜ[—•BÀr ܾ8‘¿µŒJãG=õæ›á2í¥Jm!¦K„%×OD$. !„ä¬=P²9× y°Ç\JqÞU¶é°j–¾±Ì4^}@©…H¢s¡>¿«0ß:8ñ£3KÎýßö—›ä¶ÞÁ¿2¼óÔnŒ4ÑlÕòêuB› ÅIhì*Z›é¹NÌÇSþÌ;SbS*Éï•V¤_wÇHé†Û›3K µW}e`‡+*ÒÁùkXf{ˆÛOT±ÙâYÌÉ(Áf58 Še‰Ký”EÓw‰=•nÊ6¶dsn1³Ü/5¿c‚¯½H‰üИéK “ÁÄ<æ:I´y…xòBWŸã[K†y8§™¬gåUé×jéO¨}pÎäƒ Ü-üœ:ª³f>ó¡Z95Í[[2VüÝg4ÍS_n­çìÕéKÿІãV|“iyi0~4€ÓÓqM B$Êc¯Ã~u×:NN¦G] ÃKs¾(PPo}¾Ð·Œ¨¼ª¼«S‡È&CÕ¿ÂíQÅ>uv1 &½7t4¥ás9_}° ™-€æ¬ÁT–¹°#7Õ„Êg®Î`t$o0êr~ƒû©HÁØ€2rÿ1Ûr2dŠ”ýê{¤ zïûóø5ø Iˆ_äúí¨^ìĩц³è©'I¨ïõ3V”"$#àêW½1^HZËI¾öÐp€e í;£Ý\÷”ýý÷çĺ}Y8ýX30˃¼ º¦OÓN'fêq¹Üí×át ®à“¬2©o5D94m~Lò3ö?íŠï{L…Ÿo’;ñ8ùØËt8xþ¸Êš :¹ E „²«I=¸Ý¼tnYOÁâü:è^7çt “"é‘H‰l± £ZÀ0Ê!|_D5œÖÛjÁ_nØH¼Ö B=¨ äMY¥áÖ R@ËuÒ̩߰Ȩ á8ÿ¿XÖd¼ª·Î"FÎe¡Z¡¼ ]—)¯Ö`@yX µ½›WAg@\~>Pçx×±ŒÅŠß­X¾1¹2*ƒª:Ńo öGÅÚ‰lÛÜáAà:ME¹n ,ã™7&÷z#ÖU™'ZJcR±„WÓöJ§ïÙll]¬VÑÊš%½¡£·qŠ…¨ùË”ÒéŽ)T¸oßÑBF<ÄYX¿!Cºýò *: J¤õs´2~fØ{-SÕôÊTk¾z¤>ÕsëŠ-üM6ïgˆdø–³ˆ‘§Äåƒv#H³›ñ;ÿźü‘ƒJ%d¸Ššþ¸î}«Ôx†XÍg‹„ô p!´q,SúeJaE^Ö,ëäeÑŸ¹Í‡UPâ’­cŠ\¤+q£&xÝ@<:ýð’0ì»&ÙÒ2ýj1ü“– n±/Pù­òØNüSgp_ŽÓË9+2S[³Ð¥¢ÔôÐ' ®+ÈZ ´%3 Qr»tÉÇ{6|¹4QÂu©¿Ûo„úšÊѾîiëj¦ÁÈ,¬c»D*W®ŒTl)” ’VýDŽÖø¼VïUÉ΂2'¬tDت=n~V ‹ ¯|¯Ä?óä¶Yäö–LŸ‹RÌÐf"\Y'zDi³¡ΦkönÍÊñjPϽ`ߨž.¶Ôûä4y¢KŒ1ð‰mÖX®fÉ©õ .킸Ç{Ž–)d+iúæw£LVHb]rÛ‰ƒ˜Ž‡Õ$Q½ÁHÚ‚À£rKgÇ+哽<³]ûgæn½NPfú’j H¾ˆôFÃl‰³ä+lõrÏ‚`Ã*[‘¾É›ìšÙÛs`<óì’:¦ÙQ2{»{àÂi‹ „/0ª½fÝ SH¹©]qÝ,ÄÙâx:q´éð}žbÜBt5¹€>zJÌwO{£;¤fc„9»erþ¹º1!°«§î$b ¡†Ù®Tã–Œ èÉ¥e|z0@@þ÷KwÊÌödXÅqLßêE מp\( düÈý⮋|ϰó/Q†(Jèðxw$¬%¤aÏ€#éOè-ìH7!Ï6¨1¥ë*C¾ÓŽO¸| Æö#àóvb_Ï=n™TÓΗŠŠ @y]Âÿ0:n0ÀVa ãtÆPŽYÎ*”k Yf`H™÷“3¼@o"sÍ2é?’–t,®iŸA_7²ÓÀ·šá¦i¼ ×Fhs§ý„ÑéÊu”ñIG“KÞ•¢ˆªûYØ¥Š«ªTŠÈ©õ^å.†•ßÌr½þØw¨q°F|Á]i‹=Ö¢è>GQ<ÝDNhfÊ5ƒÚÁn˜Y¡Œ\Ô@™ƒ7$æ, ˜Å˜Öw_]Ó ¬…hå‚Ý7–ä£ón›³B*ŽÑ<5áuô¯³¯wÞ,'û„ô sÊŽˆè×þ™?t«»~‡1]?©ïÎÝTé ÚCq6q]˜}«±Ä)Ö-÷ý‡Óy޵ëý½hòvc×ÀR–+þR±€Á3ùúÍ (¯bu§RÓŠG§ä?y¶Ž‰¶D$cÉ P“üWEœöB„;W¯N•oÅTþ!ïQ]Î ‘¹\̧Í\¡Ÿq÷ vA¸Š¡NaS3 0Ì´Xñ±Ë¾KŠ‹óèdØkfùåµGJ¶:«üÿ‡G£,:ë¿BÑžë („\ûçÚ¸DžGÊ4©²,I#¢#²ðõÁ±å›«5RvoþLƒvØgÅï!ð¹‡$Óå`øçÝ86–Åz±Zûàã,„g†®UëHÄŽ¯8 ˜Ú:æB"s\}Z9BÖO¿tÒnøkóÎ~b2š{ò/½h$*?räðy7 äZVœL¾Z£ÄÖùœ[n¹„Žn“'׫ܚ੠ ÂçàÑ- ü*ñYe©6x»‡Hæà‹;”|í37q‘b‘†UÔ­ÉhÞ‰rË%ûg8ŠEä8CS£=­eZ¶ipørr¬K¼Z*f,¶Ë¡×ç-äÄ×KIMVŸ ~®Ï¢S¯ž1L9DºÛˈŠ/\ÕrV‘,xÔ¶ÁƱwó•ÏáÔäÏ‚kªøH°ý{ÏÛjmfNšè£X+ûò|ü>iÀ5I G¨$`WŽÀª\ÆMBëÉ[eÁ-^ÿÆF—î2ciêêK úq¨žõHxÒlÛt»n-Ì>XªÈS{jU€HmºwÍš¾Hò“Ø‚ %k®Ûäéévlsî0O÷Gé$1hªÏ,¦Æfaƒ Zøûî||ÇúòlýÐÅ#¼¼äª› 'ŸÁ>Økâô>ÄÈÒ{¥z½ôÿ,Ü~j]ÐÔ$—]8ì„Äw,0ó£·±¿åÞÈ©8%sX} Ü+Æí½·pèãÖq°‡ú@aì7‘ªG—ߌhD üö’ fa¿Ï¼Éõošñ‡¼_óY‡om‚öŒM'Gb“Ò>ù©÷iª f\÷v b.ðÈÁ)ÙĻϯ§¸yá54\ÆMÜcÝ BÃ()#tDòžªš J ;*Çäôq^´Ê—äD—HóH\ÅÜØÀߺ)S0V“`‰øÏgÕc6^z. ¥f¨³BQÚIYc3ŸSåÿà€Ÿ´W:Z ³¨&Ê)Òרï3Ó{?Å}gå9`¤e~WxhÔ›9“U(ŸW‰-\€’,2#€¥èMµ=›‹U ïZ|7Ð#2 ª(a§ö“ QyãÉ(5§ã¥f ša¼Ÿë¡-ƒe]m8$;mÔËá²xCÑ$× ý„ê0b@__YØ0¨Bëni“Ó ¸2i3£üwñÍpØL”'.©Í–àÇmWÌb›–Qc¶íb\e(¬¨n2iŒº)F}§Òe,Ü*L@†)q¬#+CH¤_4ïc‹ÌAÛ]jlUE˜¼ÐZWú­ØCl3*¥Ñö祷–v䋳ëYèihí ¾Þ•’½ÇR³hÌÙ'Ø" Èm„ßÔX¬äŸH|L^¶ÃIªx™0zi\uÌ%Ây,-]ìÈÇbîX½À(Œq¡|°)drèÄié>˜ÉÝ÷1þ›¿Ü{š5yÎέu¶â«og º7ŽÂ…`TÅ_{‰v¶-º$¬¨Ì0ö‹,£|’’/¹…à@Å$îl"_³Ÿ&ôjQ0Û„ÎöPú#â)ÕRGà_²Ã #Á«Ï}¼(ËÈ<¢”ÍfäZ¹kÒqúEòo¥ˆ¢ºRRÃ4óß['P†Íê/ÌØãy¼§Ñ|A+È– <¤ë}æy«ÊûšzìIŽSj[/Z„°1dmjx«bHÓ˜ê~_ÎÚ@O¯—Z jí4¶2ÅSu6°>G¸dDHˆs]¬²zs A-ÃSØ n„6@±¸4#ëIª£Þ_*[Ö°Õ°> ëÈx33týÏWD-£D®0¢':0a™ò.ÃT8îTÊ{ùjÒ,Ø”¶@wwF®¥ ,V¤’lL 犿GÌáðA¶b”ï8+Õcåöpþ£èrj÷>¶+Br;äÍŠOh¡ª%Ë~ϰ‡2 %ÞN‘ÈÄt:øÑ9 õ Ï|ŸªfÊžW…¡™\&ô*/õÀð¡<ŠÕ0U3ŽÏÌÒ‘½ZÏG6sptxÅÙY¦¸©Õ’÷û4Ü™µŸT¡\r ,9ÄIbá3ÈÐDt(´ ‚}Ìvs¤æ¬û’hŽ æÈÈ·~]”2!/ƒP«˜ß]Ó1)”“'sEÈd“ç%¡ô½ÐpøX@·]YL´Âs‚Ÿuh7çòð¼ýó¢jžCîäãq‹ÜÕuBøàÊp›ªR;¾ø>ìŒoTwùQ!Ç|%†ï›Í:PßÔm/GH/TÅ:›a†?1œúï-<Úmn²â{KD«¡(ôP|kQ› 9ãZªëÙhx†áIÁb” £)z¸C×Õf' ¿“v”pïÿœ§aÅyIÝ,ÎþJè¡­C:ò9 Ã6¿¬Ö—ž"¿¶.î 3’’âÃEc X¶,Ô@W ½¼CŽÖ'Á£I¨©>¯çÙº¡ÆËê—’Òƒ¤2vGDZ-ŒL óq«Å¹DMÈ€‰ ×Ö“GkNH`³Û¢„ÀðÔʆOÝzÞØû|͓߀÷ç¶«¥\­‡óâðÓgXNcȸ´)×™ÚÚF¦l“å•ðý“aǴdzøÌ$Òʤ²²$:†dãS)´ p?ÜÑòèMªU3§Ri"“#¶Neáh<X!šoTb ‹£R®WêÕ±i"Ò~»©W$H'¨3êΦ²"•3ÿoÙ»kxvvÖæý¨šJ±šå<µyiäõcÕâ*þME!ëþ¡q PÈ2 ñ)”4ÉÂÈœeøFf¥ˆÇíÕ}6ÀF÷Ñ–ö!H¯«þ3µ÷«îvMèí£`ž·}KKµë3«Rš©§º\Šãö3áØ,ɘäRuöìÏ xý—¨ÊZ<;¬GR {J%”4ÆXÐc%èrîÖE(È€J>lJ¯ÏvRs5åOJ=–Ý!uy:j´ò뤑ðœJ‰P´¶f1ÃFÛLû¸ ‹ê}ÿrgóÓmò/RRœ._´\nîGtêà‡6M*Qd²­h³·:…æÁùSÀÊB“ô¦ä®Þͳjüc¢—3S)l2Ä«Ë0¶ËA.ܸèÐ(ÙÈOE:OGÌs¢›¾ NÍnñ&6Ùl/Ã÷Èõaod¾bi9qd§ FáœË§§BÆES€–DØ3»–\‹å-+N^;ÜÂzë&à¥OÈlhôB+'[Ä5‰Ãßcë¤ÍU¾Mó­“TöyÇÅ맦üƒe,§—?˜…e3&—”`ÓÔ…£\µ‹ÿkKI[þÅdÞiËÃZåZÉ٦ǔt“éÅ%ÂE4œü@=ošä‘.”õkh™«Îí ×HÑÎ?8Rä—"‡ÐIšl dcÊHJ ¡-|Aeq³Cú(>ÍSª˜Í!£~îãÙ:Ï_–pÀØwqeªbŠ›ó°ZŠ‘ËƒÌgÓ7Fóf¿&Ðãb?Q˜âTËÕg²~Cj?H0ë¾zè ð¼èp¿Aßש¬eH(ó(ËQÅuŒ§cEŸíÌWßf"й¶LË<Ú!"0eÖ6®ÚËÆÔPeDõú8¡9 c8«ë xkµ¸ƒhys€<­¢'ci‘ÿ—¬ùðf±mØP¢®=ÿ‚+G.¶ÃÈPj±)RŠ&‘ŒñÛh6,‘z 5·Þ—a_IU¯gö¿xlNŒj^“¸ˆaœ)æUÀ¯+)þqEø4ƪSÍŒ%£CÙÁGJ—3{!ʈk挣Îwì³>oÁîÂhÇC­¸ŒŒX¼ÈàFî|SJß,mYÇžÌ/˯óýE«¶•X… œ_sF ,ÄV(ˆMÓVÖw@—¤à‚j½Å½õD`Ö¹ÆÜšc9PÛE ¡,XÁHædH”q2@GP{Œ¥¢ÓJÚûÆü¹üc9 åˆJ5[èlúzé0œé:`KYTÜZDl,q'¯«5{,Å—.›Ñ{“öÌÞÒoüv€ÇÍ8í:b (M”7s¬ƉÜÞêÀ5ìêGΉ¨ £hd¡gìv*ò,u–P“ 6‹ÉƘ¥Ô|—ä#æàÏ89 Ü^%ŸB>õŒ‘þP~–×BÂêÙ4³†õ±\døÚ½v/Úê\±®yj†O3n¤›KÄj £î¦gðéþùIMDÀ¦&Eëå$³Ù¹"¦ûVNghƒEahPéf“ýŸ{•q¼ÐR´n(zœ+ ­)9Z*áWàhˆ h%óÇõÈ«%Íc=¡¹‰ó¸ü ’rÆD©+åÁxÄww"–Bè¥rè)ˆ¾áJÏŠüh&i/}2WÀvÜcXÉ.õÀÙ»‡§fûbiÐ-ö£¿ç»!ŒcøG¯(Þû×ÿþûâL,ÓKŽ§Ç¦&xÉv,´ÒY™C•ÕvZ.<ÞÉ1mG„+ž™¸¥XX\Óü9X"»¿K‘·œŒ&$¬4tMNy].¥Rñ¸—mû¡Ô…CÃŒøtÙ Óå ;dezc«ôŽJS!•4xö3gMŠx¶•·8ofÖif ãÏÓì}‹8±GíÌ;r°_Ú?màù;8&­ÒЮSco1ïÈÅâP–^pÜ×{xÕmi ×£^ŒTæè¨Ò}o«ŒβGS˜Zõ»î‰Ú>L°Ò©õl¾ë›•}[žúÀ‰'ö…ÜÚ õþc¦ØÒT¸èäøTÿ ªœpíó±4« ´UâRr8³|òŸƒTÓü0—_+þdÑwX?PîUÊ]ˆGÕk1¹j &ú‘ÈÑå¨pï§x†-;÷Z8j"€’µ~Æ %[©ëæ«•Aj›¶;“·ä¹§O™Pׇ¶®—suóQbøW&#Œ·V˜ŽÞLò6%ØÁ,CpT§°Ý÷ø0âz‹b>MjÃ%ñ+d¸ñÝ{‹çßc~jíöâ š›´ öÚ‹Îû2-Ñ€ˆ]†öU/"”ÈvžÌ:ð¹ƒH>µ&iIG ÷bƒM q2¬Ìkä–¢ ÝŠCˆ‘1ý‘m­ì`YO2^«‡Ã»•R´Ý¬®GÐÓ›>·W6Ü füŸÌ«!_Àðñ>?Ò@NN¨7¯î¿Ê[ë¿Eÿ^ú¯F¬x·9Ž¢sÏAM±"Öµsk"²{ nïªgÍs²Ý€*ç^ ktÖç'=Ö±5;cƒ|4¡åÀÛìÍ{òkJK³õ©£iO¢îúG8EÀþ±²‘Ï–*ƒHÑBQzãD€äËf«þ( •ôY7–ú½º¦ÁG®Á½Ìaâ&D:w‹xqö{ž§¸ËF ¨!à'›r¬ëŠ{ëTº¾C[{í´e5™Î|Ísmýr•|6±NF(ð(Ÿ`SGîpšoù$@ƒñ´pD`®÷¼¶þ‘;ÆíÙ´ƒW­]#­¬,tµ ŠÁ5ʘ›¯ÑåæuãsÒÏÁ¶[lAÕeM™‰³^ó0Ç%wØ…SÐ8mJž^YY ˜Bßíç âœBåd0e)Œ¸-¸êáv’S Ý»NòuÒ–MŽí©óîÁuÖ\w)[Ò¬9Mºjü/ßé‹Y xcXXàA-U¤Púc©!ާzÜU°ïÊ@hîÓXAœ—tÚì͵He­ïõ–+YZ·tc&ÅúÄ3¡iàÕ%F{ÁÆ2Ï$9½[ó!ðáÑ#s8ñ¦ÇÛY¸}Ñ…½ÈŠ×ngìØÁ\ž“­$«UùRì|ÓͺÐÄ0¥(a’èÐkìØr—·ˆ]›Þ^%§t>†»ÏB ³£S¤œýlo”ÓûŸHkõ*zJƒyª´&ünì¦÷OåñpSŸ·éDrŒœÃ¶jæ&b¿Ú®(Øi$±®Ø¶úw us3=‘y6y?uñz‰x«¬ÔiÑÏóÑ#}¶Ç$neƒyÖCúØvBÛ÷u8b¦;H9yXy[Ðþ2³Ù:&o 2nç»+ßÎwÝ`³5:ôë DÈ(¿PF ÷æËM¬NKî¤zì4ÕÆ<±Q"• ä­.•&PŸeÒR‡]l°ëÑî† S²o"BHëý¡5Ã…r ‰nð„ ¸òÔOqùÜN«™ÒLï°ì³“1b›Ç`ªí±nÌ7íÑ)ïø½û¶Ñ7ÉËI! êÝ*aùãè)’å™x‚Ï¢!>»7Ö$É€>éíº$A¶q^‘]6{ñl{Sr2¶­_ ÖµJ²ok4åI Xº枸I­ñõú1íºª.§LÐß~º(ƒÏè«´;¬þ­µìƒ |ñ;¬eòA0ŸÖ1€ï9ÑÍ—RªÅo’{¼,rk=é; ò‚Íòºi̯‰ UŽI{DfDP2îzÅõ$š23'ÚÒçò„¿»áãF>ËÜÉCÕECÃ#É6Ö(^K×n›b®ˆ¸œ$ÊŶ‰dȘ‹Òì{6ºaôñl?6#êY¨ÿË[>T@ B†fؽض·Ã«S¤ tåÕÑÜ˦¿ŽY+ਘþJÓ³ØYVS °âòÊŸÕ0x°BÅlÍH<®º±ãݨåøÜ©éŽI¾‚Õ©ªµ+"s=ŒêíÄ×Fuµ°ìšbêeVSˆÄi·“mD1r¡ê Nl¹LÇ`vÈõL³ÙÕð×f„h¼âÏ62úÅâ÷¬¶¿K½g—Ñ“šˆÕœáÒLU3fî/Ð6L‰kP‚Qh)]¨Ã ð;âeÆÚuñÝqßS­ò[`±¾óêÙ÷ÊÁ}-Ó{è=qOjiáµ-Ë =nçšNÏjÇFŸ4«µ(ww4\mbK»°©mÏ|*ð“Ò}œ! ÂK„ŒWšg‚Œ`ÕGñSíN±z…jÒÊ.Ò'CP Mš˜ÓN¤-¸ïvŸˆ ­¡û"}ÇÄááàƒà2ŠÈ¾‚«™£–û+IS1´‰ ÷V¯Ìt}Ü?Í`ÚGk ™s|ò¼Ü9¨··(ÔÈzýÒŽWG 43S^¶´VŒø©¶±>ÁQ”ºÁ«5}¶6­ØøÈê𧔊ê ? u¢e jõ¡¼‡RñÏ£*…UAD¡a¬Ì6ÓþR}¿¥7ÁiÛêwªéÐSc|Zõ´¢pÉÏöµG«ùœ×HnІuɯm;?óI§l1Q']âF¿“/0au[ƹ$‡½R.“ß0=œÆBKƒ« ÌÕ»öå‹€Mb4´ñ_S †óWn ì‚¶'y‹0 Êæµ3®QýàÉeÉ 4|4’,†$2Ž,¹'öóOüÅd‡Ãw³Š%ãBf`ìÅ€²×çè@ÿ µ ßCX­Ö v•Æ–ùð6:t(†=Xã0+2®03ç'o€ 9•¡`+òƒOê¼ùµÓMÈÊ­ÒI¾y³ÑþAc(œ0ñ«'ð#g6…¬>Ù&0ÝúôÊ„€î†Z]ØÚ†sñÝD~¥¸O¬ŸaJ€Ös"Ë®ImêIëq«ÛoS;1óއ“4kþ"ú,· ’/›#×=ÅËj9âUpîàM° ºQ ÃSf.«Ùœ„A¿$©$M`w_é\e¡ºædáäŠÀ8w¤»)ùy ÷’N1Œ‰­ûQhê0†¢åJ9ŠÔ%õ' N‚UØ39'¥¦äË)üûþ~+ £e–|¯W_\0 šdGŽê£Æã? P%%Ä9v'¯8Ø.€)Õ)²VÁü*¹tœŒ!ÄÙD…#–*Ï™ü½‘GST!ú¢îœ>‹‹5At´²½—‰èʘë¦Ö ÓQ%žýe \  ˆÈIJ"Ùãò|R2FG;žÞÿiÂÏ`.>‹-ǧ~è3nóªí1ô/ƹÇèP¡1’‘ÛÕ:0á—y—}5`ï $¢ß:sMDÏÓXâ²G÷½Ch•ðíð”Z§‚0 ŠèO1E„L—ö?м!uFhÊp²±² ßÏZFû€}¦nŠ˜ç_»lÔf’`Cõa6c]÷9Ì…»môêÅ7Ç»þÌ)ôvZÙÎ3¸„{'³¤ª±ï N3 $•ŸKX lf³=Æ…,¦ÓZqÃzøK¤ç€Ü²!Yúðóu•y=™½ÓÓ俜Ì.Û £µÐ¤KŸÛ¦Ð$Ù5ç\ëÑ; “pÕ(ìÄŸÀßÛ=ZG{­á hÚÉh‡„ZÀK5.v$2ôA.ÈùseRz„a=GÒÑÛÚâ“«À[­Îž™¿¿‹ªÏ tÕÊŃüÅ &›-»u†*³ç¬×ÔM!È£WYqfÚç¹ZÅÇô…Û7+†¾M_æ1ÁŒÔ º1ÊÖ^Û³èR¥$ ï+Ѐ-_^ÕDú´(^Úo@¾úŸyÑžA ˜‘ÜüοÈf‘Ì‘¦?i&/–hn½E‚j»š›§Úh~ Új»íU ÉáÒ)QÓN7‰6E¾þ'ÝË{.nµ3ͼöŽè< cà$ÿõ˜m0Ý/wó¬Ø Owû>÷‰¤àÖêŒK^Ž™mfO ÛóyF§‰&á䨤¬–ÀãF—ÞŸ;•?AcƒLÀ¬´nËgó¦8H2Åÿœœ‘H ΰœQ=4 $:£fB ñ° rH«7=… ¾ÚG\hÚìÝôöuS¶¾"éïpK=WÞò # Ƥƒ!™‡¢‘Í6ñQböÉ Ÿ«Î_¹ /÷äJb„$ÈÑ¢iy¶¤³iô9Ïö²×3hЉ\߀xõîú²ª´N²œí\0ÏÖk gÅŸ¦Z=ùªAäÄRû«ÆôÅ1üÁæiFêp˜þë'À«Á’v×¹ýñO“Ø·²‹™Øé\É*F+Â2 !D ˜Ùó´"[-º sÈçá &'ÆÀnÄçLÈp~å¡`° »£pE¦¼?Ý’V+Ý,‘t©³@·œK nÀ-]ÙßXؼWž—ýšÉrÖêÛÍáØObP ~ð‹1e—ö0Ï‘0Cð,J9|ð8ì‚;ðΎͺ`ؽÎhýýÉÎPâ8Ó|ß]JåLj‡‰VÕñùvøþmv ¾àœ’ßóå6ÚÒ2ïÓˆuÞåV¿×«¥†×1XÞ<¼£®¼4°áB‹Ì†µýpæ Uª„½³{JæHîšÉP£„1ÂÏ^Vö£‡æ¯wÏ[u”S®ûè†W5Âÿv¨©}÷R…U#øVrë I3}Œž¨ôj1óß³#qø)zݨC&Óˆ+5‚º©Hœ–FK¿÷ œFÓÀÍo‚âÀmØ4±Zõ8Æ¿7\ŸNPXn` åCžÉfAµfˆz¬dnŸ›Ö®©­Q­}ýŲóÆUðó߃•váÈÞåýÊÅ~®¾ƒyâçMö ‚f.2W?k¤äï]yÁ RδŒYäù2T9n¼,ž¬ÚíÊ.úWJò’&.Œå¥­NÑàwv:mµsçúGsâ~d‘À”ÀôÞüqÖ¨Ë\¬˜Iÿ–Å a>_O‰5Kêþ½GIB÷ÙI// [<óñTzˆ,W® ÙÙgìÙ”ÓÉc6òZT£kaMu?lWÏ)÷audÌB6¿Ã>¨ÓÓcªý…~ª,mò{Þ-?“ (3-*dcX$ÉŠ!ÕœmzÁ‰B¸±÷6¾é•KߔƉøßíÌ£Nš3üBþ9-®­•°åoðŽ‘i…ƒMz‘³ ˜«Ëà‡îZ-_¿CfÇ›KzK³qÜýç“ôÁFú¸ç‡\yçh]H1-%мmF9ÄDÈQpð+LJ  ¾WËóâU´‚Õ±…D.Uãv˜8Öj&TÝþf£˜Õznóï÷ Ó‚ãBƒœe›ýV–È ÈxœVA1P¥¦‚X÷cŠÁr¾ïÎPÕ‡®(|²¡åY_ž;úþ€b\)_Ë鈚=oцNí? —ýH¢øÔÀ ®%èè¸æù¥¡sI!b#ü®uPÏiÐ3UÄ‘/ºª†¬a&zïo ¶„îáZ~¨åG=ꊅ~5µ…nêË% µ·Ç(oDE¦H ûÁiÅgM!æ¾§NLw0ËLüÙaŒ?±šô¬[JñÆîHGë¬KÌñé×?ëîyxcÏ2›=%ðÅýòô3²­[Z£¿Û’Êã'°HhQo}¶Ûd¬Cðzeߘ´ßÛ‡1§ SÜíÞO'ëYš¥4ŽÜgËé» .å·LBRŽƒãõ"˜³cŒÖ39Ýš=j/Ô4,Ƥ^µöÉ* ’-| ~³¤œ°³¥@yˆªüh«ƒèœä;³,^’çÎ ©7™F.{ˆVºôfû¹4=¡ÚËâsÍüLÛ"ü˜×Ä;´µÚ/þb€ìÚt±ŸŸásñ#AÆs·þÙ˜+κ‹›bÀ8eHu…¦E’cDö)dTÙžmIóⱃÿ¿ò ÷fwJëºÇ'½ŠßŸ{Mö£ûˆ $ѾõúÂßH¨CÔ¯vE‰m ŒrouâB1»~ËÄ‚ Äu°J ý«ûEíC|˾÷?ç/"Bžˆûõr1j)©§D± 9o€ &î—«d_Œ>ôÁ†Œ¼¥E¹„åóÖÒ‘ÞaIGécF³Œ8ãÊøÒeÎ@¢”TL½,§ÿ}Ø'e|7x´˜Åýú#ô˜+G>µèwÕE„)H¤Ãé¥kxXÑâjQ€üÜydžC¼5º]V Óøò. ök%kolU1¡÷Ç4™O#9K¿d÷¾äº|M{Æï– €6w|(ÆÊì›r·Òc™NBÉ>?é\‚ ÿÊí|;lÎgpkúÚ=^–(Ê$¬­!¡!œž½V|Ƚ‹ o¿R=Wù¤ êN&»6 ]"R‰½s™?I¯òÉ 'OŒ͆!ŽbõrüƒÿØÒœ6JêßøO{YÔ3ïñ¨‰©)oV÷K®WãŸÎו‹säÅæÛ·@"aëàR,Åf}ŠÌ)zÈc—#HÃçN¡"ù1 {‰!¬6æù«‚ù ZfEN“šs|À/y@d-ûÛà丯èԺ銫£‡í[ý±ã{ï3”Ͱ¶‚MHÊ£¬årÅ|¢íÊ}½šçLvM.ý¶Ø)¬ýZèÁÝ'•L+"Cz“ñµ=ç ÃëE=V¬Â»‰átî5ÅDwM³l~‹uS:põô"¥.MÝ€0FãŠì×°iú1+Yð« ¨åù-aÁ˜9ÉÎ^ƒ “‡†8Fd1ätB:´)Á\›A É·uCfL˜"í$›8õÐ$»S}&¶\Êò>ƒêãÈ«œœwù׶˜‹bO€¢„Šñ©u µ %ÏŠ\¨XGlRp’㟷̓ÃÞ™³{‘uà?áã*Ú1AUÔÍceôì1±üÖ©Ý©‹.m.qÀ%[•RJÿ'‘{!®7æ°9&ZÇ-kG;òþd¾> A% ¾ÑsÌbòów¼¶§EV»É¥—µ™ÑeãI9<Ú³;EÛËl+¶®µJ:rž¼¶õÀ’Ÿ©]# ¦s3åtÔai9‚k.zjy"`S»`l·&ý¼72¯À€ßøŸÈ0P©}5µÙª^ÿ=~–¾5‹Æ :È’[Õ™•e0^«—Ÿ7§39i¸¥m¨yÚv[ª3t6z–7¡ØŽ›ÿv KA;ðáTËåc’z#šþZE„-ÿqQnÊÒÀާÂ4°;«ç.áCUèNfe>ýÁ—Æ91¼—o_·ðWÞ7ú²X /ñÛÑ7"ý§â‚Yšu((gº6Å©mjõ,k‚SÇ/ÁB4 8„Z†rB%b¯€Úç°õä´-ÂŒƒ.ÌÀ¬–×D%ç¶¹1 `‡¶O¤pí(Š,ï¹Ë]D…Ip:ø`³zßÈqü£Õæõ¼EckÞð:CcÂÌ1QÇFÑr[yñΖº­²?á\&jèÜ‘ç)ÖÔW!‘€U+µ×säñbxÛoyg¡Q*À90ñ_£ia©”n'Ÿ…ªý8}ÜNqíXwfÁ'É}ýÉE3$Ž‹¼.´óJ&ÐÝâ_*¥¢ u¨þùÓ¸æ#2 ÚÊð}øIKÔçEß…ya§p¿NÔcŠo ¡öÊ9k8%àûïݤ¾-D3%ûÒz0Y…Pt!Q-¤Y"Gîr±KèÄ5§;0ÒïùshÝ@Ô`¢®ž_—˜§¼{ÒóUȰ…?Bü65aU:’2üѯ°kò9qÒ€zW–TëúzÙÛª ÓIwBsú¬ Ö|àÿ”™ŠW\S‰\´VÀ®0o”Ô„K–~ÌE/’q$•ʬ8M ïÍ[Á¥¬5çœõ{½Áó4¬!§ —ClËŒ¯Vû´.7R?/ûK× T7h>ÊóÒoJͨ¸Óé~xÁ¼QJQ…虃öÓ%|èÚÅe ®ø“•ލ•Jbª'ŽšøØO DnÁ-òžDt· ¦‡H\!=qi”Ã>Nh>Ö\“zÙ¹„ÃLº‰ÍÉõPí½ýôe„¤ðýæ›ÚÞ!‡ wT\bõ?˜iÍâ?#'¿‚£¿ÈHÙŽ«ÝÙ­D,Rùú€Cgfêî'Ô~Q7¼ÅmCƦv«îR®¦²Øú#‰tçÂÁUÙ¦:ã%ø :¬·^ÊþîcO$Œ^$¶÷´û²æH^F$c1~¿*àN.'¦æRäN9OÁ/ì«<Ü@zŸ¶–CÝrÔM銛'ýQΊ?àá°èŽ>Sœ—_t&¯ç1•\‘Ñý#|8ïøçµwË\xa7ôS¸Ö4Î8«a‹ÿËŒYÎÔùà¼U,èRQ÷K1ó„¶/ÂR(¬eÞ0sx©"s(FÑÉe“"ΪnSÔ-°À9f5È¢s)nú'C³òòÁ²Y)>°h›¡è8UpŸâ'nMZå~gˆ³kðç{ÐhV à ùÀÞ4¥+Ã×%§Õ§c·T%mÛV‡ÃŽ|úIa‡](V„á‘ &æ˜x¦0ãp§eͲ¢T@ ,ƒZ?ušil¨Úë¦ýÏ ›°øÙ·a HÒ“„AܘÄóÞ ÜŽ&/{ôÓÇ+ÉL‹J*F‹AÿòÜ!=nå;%‘¥ h…*pvs"³ß9¸´Wš×€DìEð}õ•i϶WT<ÄÙÈ5ÔʨÈZÜ&™5Œ’$¦|ôØ?Õƒz,bfq: LX{ƒ‡ó%­þ09†hí„?W°Ò\­0u²¼Uš,Ͱuï{(8ã×êôd¼‹YùP¿%¬‚&…¹ÙÆ}r©ûo‰WÖ©¼ÅCÔ`D#¼œ½ ½ðtN|Þ©Å÷å(­hÅÅU` ³çi€¦ã*wÓ z –·Í‚ÅI›\kâã%õZê«Z÷š"^Fv:ñÿ*Öƒrð‘ Trõ²‚ö£b‡uÔbU}dð ¡¼]þÏ,u¤ØÝQ@í°tDQUäKD!ÇðžØ¿o«V˜¹­»ûM’‹$›J猳ôSä3N‡Ùí¨·ÛÑ”Âü>á"uµPŸ˜ošÍÚŠ¿1H¤¡´=Jxåu7†¤WçãØ¸Kp/ãÐüÕwuÒÅJpR‡ý)ï¹È(‚Q±µºDîÉ óÑÂ/ZÇ!ËgÝqXhar×a‰È_ÜoÊÜß(§U©ÜT3g¥‹"a½4E<£§Œ_d=lk"þÜ×'ûÅ•ED[tH®¨fÆNÑ,e†|ï­yÓ6ZáVg­™ÜñѦŶªs²ÄzfêóON}TˆÚ±kå±VY2Û›[ìů––%ßKÚbZ|ÜðUèž­R½ûép _æø¯í’O{OëvÐC+J×Úü®½n°+dÍ\4rO×iå©6vø³_@Ø?ÒñsŧàÞ§©ešëÖ¾ÕÛys5Px3 •|B±ôŸJlPçJ±OM´™ÍØÉ?fûÜr+z Ê”â'“›'m¹p ûfˆ8]q§{ÏÓ#Á$ ‰ÖÔ‚{<ñCn2ï}†`aC¾÷ö¿ò…–IÛMÄ>à ¬Ò°¤çaé*¢$2;¯%&QºÂm ¡Ç9ͤ † ÝD¢ýE\Cl(ÒÝ0Ø€£ª 2 çõ£‰¬—×;²Œ Í>=›(ñ}؈.ИþlTY_¥ä~ÊjîàÔèÅsŽ@™’ÃàÂ*¸%š d‘dÇJN³‹ß™¨üè¶?‰P·àíJˆ¼å‚ïG3|moWÞ8®n#Fâ…”ýRµRU""”óRö¼dEQÕy ŒÑ=âK)«(¼Ð²gˆ§4ÞŽôÐ:óÛåS¢r1u2(xm¶_-["ÐÇÓàˆ6;†—<¢1ÅþÞþ>Ñï‘îœ]×®™±úì”S†,Çc6CðCQbºñ=LwšÖ.L Tg=”’*åc ’q­äÿPæÚ¾žþCV>|³(4øNäÀÄOs·€´É‘‰O“F ––4©ž¨«OŽØ_í´{ãFHQ‹ÓŠÿd€«#§Vˆ*Rêãl}_-k-@¹2…¼‰ ¬ß9ÞóûÜodfº½·^ô(ê<³Âu †›}¹·‘Ðí¸t¥'Y+ÕWÅ%ü¾Ø:ÒCŠª¼P#0ç¨Ýe!P$…¦B‘Rãþź2‹ûF•R~m>Røbvèvk1<6κ_ºÔ à ¿Œgh½Y”©`{„¯{ÛUm4üñÛZì’#†Ú2Ì08»sSÞx ×E]>š.xmþ°ìNâbÖ9g¸}ìd‹Qx0<xzü¢üÁv3²–²ÔÚ¥âøê—M]’³•»ã8E¨P ø1‚Á6XDV'”E…óyÚ¥‚»è²š…YÜs[î((ó+©Îh7(šÑœÃñœJqëÊ8÷ñ§Ç¢wç(…Èñ‘‰“Vªs€Ý£—Á•Ìp!y«úøS î|EMD¹ŽeC÷–otúì«ÎlòKƒ%‹f Ñöëî! ?ÿ³žF!ÔSä“0/OMGNjbéªv…šíJWt.ºC™EµÂs‹v,m^D'ª§b$N”ZîÆâàMµ!·ã!{ ¼Œ¸Íª°;Òñ±|¹iY+#'±ÍSt?f Ö+ø”Ê?@]ÓTþ¦ôç /sVüj™ aÂŒux¼/ $ ÐüŒT lý–¡dG§Þ·7i„’Á÷l嬢³õú9ÏÕî…öêxíz¶á^#NSƆ\·Î:"Q㬑§­ìA6”@ß„mIàrË•-N¸+ÁÏ7Ô–6p/)Jྸ;got±Py‘¹œž·kSZg*RÀ¶-°ïÿä+›íFñ’_,<ø”©c€ìÑžOEéóÿ!¹*&x·°“¢E@º¸í0gšò|Ò1†+bÞ5æÇýÎy« uI»í*!9_2IŽÜQü2;¤¡båÀÒ5Þ‰„TSª_$ñŽ8°‰Â¦èV¥˜³îL³«‘鉨Y9âȈÛgœÚÚÁ°WhÑÈ ÁrýИÔVð'ÚŒÊp:…žO`²ÙëÚ;¢ B²éaÄ”HùnP¢­éfÆigѲTQ A´ èBN¯bÂêüû.r8- ùf€€8Æ–2ÀÙ©}k (ÈœCK)¼&Ì—|ÔÌ«'5¸ô™©[I²T›wZ¶ÑÒøy Üëpýkµ­r žÄýØ­0ò‹²* 9LÍŸ†Ðà1[Ï5-Ú¯ê ˉY>JÒGQ;Â4§¿\s½Š_&>\Zˆ”šôâg§òÓ»!>ÂÃý¶gÍ]ús0îŸ3Çb¥æ}qjŽE÷Ü'[;¢W;;‰æªùF ”ñ¬^hŽ^Œ„¦ˆ çÄTÕ® ‘Ç´ssO±‘ͨ Fû2€©Üš5¾_ä“”þm¨ˆLǵ:þ0e ªQR‘iÆA]ŸaŸ/´EÇMú†…ÿwÌ£-ÉѨ-TÉ¥lÊíÏJûóa3R]£¨ï×Ñ •>½"S‹e]iÑåݺ“Ûƒ};.@b¼¶Œø€ƒõ:ßzƒk¤Ëw ÂyŒ üL‘ FÍä®»pÚê Å;¬E+–¦*t¥'7Ù2M`.›«/bøJ:êIg1'x:[ z°-Û"$V¯„‘‚õð6 ¥¦œš·è‹¶SƒƒôCöZ]'CÁøip¾§¸þσ8vQ;: ¡/VD˜=÷ý©º|ý’·Apˆ\“yé² ‰§H˜ÿã“âåznÆÉžâ;¦ˆ*U&ét”Qkêb’êØFü²Z½D¸Óbo*{ˆ¸yv«>ã\,émÏMG©Þ5é,}‚/x\ Œyâ cH’GM=ŸðFÑoŠ H3Š`ºÙ…¸ùK³ÐjšT¹Í^(ÚºÉpº é–ÀÒ¹AוÆÃ3B5 R¶2ñü¦û;໓ù¾b¹Ž69€Ëkã Y‡l%I&Ì_þ÷÷.¬ÈÕYà«Gá‘«s4i¤#½ü H/FN( ƒè¬¥3ÙÔÑŽØŽxpÃ,ý%ÁƒãZÑB±Æå¶PwQó¸ŸënúROs$à‚#‘ûWÄq\0~ŠÓýùÆ~Ûë½Ôç:7ô~Œ£‹µzùxêà-ÇÄ<¦uNsNÛ:é¸.qù$™ûU\É'3òz`¤„0rT£0JXÌJÝ·Šrk¥ÅÂĈÜ1¯FQ4à'4X7ØÑ×2ÂVít^éàê=¿;Ìc BK$v‚à±MÖãÏÀÿ¼ÖLØàêÕ÷,jsA‰œÀ‚ñõœÜ^¯XR½5U¢°å­D¸¯ûކ¼?0êÌ[Äfìÿý"Wi‚TŠ$˜K^ÚY½}Oºu©õ'ÌVXÅô=o¸?b5xâÒ Q¾*_kƒdŽ¥1t¹u=ÜC2žŒ àA Úceè®"˜[*Ìž¾ø„Â¥y"ý fµD҈Ǝ¤By<@»tæX-ÝB¤w¢ÜèNüÑä4|ÎÛäeª›p‰ñu´{ 3•;;ßÒ„Žö@ŸÊÌ™@瑦n¢œŸã¢ÅgÑ2™ =4­Szýï™ÈjHàúˆUÝýóÛëÏIF`ƒ®áЂçã¦u,w?#ËÚ …¡÷b{ýߣJ–7“Ï–bõf Ûˆ§ŠÅ}"ó*.is85+—VÂÀ¢i»K“Ï›·>.§i½ÞWYLn©‹–‹>¾|p1.mîÝ,ˆ|ÂiàÕÊ9ýp RŸ-¾,_2žpÒ+óXÝÐÖ ×_¢x;Í]P»a?’%)?X©¨¾7ÌJÊ 9Ñz9$u¢˜9*å€a—= t>â•ë•X~­(Y½Îˆ§×¦Îõ•¯µ¶´s¦ûLÚ–¶×î"¬Äw3µò.=8êœ@É!lg»eÕòŒþÅ·\á¨/¥ñìcÆß‘¯âÍon:C9õw0ºa^CÈ)K–¿fs4@iô$Eö¯Š·Ã°¹|ú™¹| »—n¹fãU}aÓÕ=‡)€€}>;ƒÇè9óÃkóÓŠT­ÒfÀ¯†rTº3_rÆÖÏ$ØN]óFzÆõµ÷$ÑëEþÓF½v ›ªRæÊ!ÔÆÒß­AdÉ,Ä#¡%v†‹ÊZÕÖ¹eœóø¹Ô‚2²õ‹TÈyfÜ3ó×n¹'7ÞsTB¾¾•ž¢|C7HÅ+â„Ê-ŠøÈïrƒùØT\ƒ(ýjž?=š4l!†˜ãodq«(8þórDøÝYlÎíÙGÌV¯Çãší^f/ê*ô0Ç]Ù{rb»…¾ÞyÙíÂß (Ž¢ÞYC (BÒ@é_å…§°"öð§iý>ÑötÎxH57ó|Pp™7Œ ž&KªjW\ðö_ãðó™À³ù¤ÕÚl 5ÑѫæbuÉ£÷ô^BÄ[.àJÜNfLïç³6tëqó}L ¹µä°?=‰êÛÖxoŒ1â~…~!ó³Î°©¥ƒ>’ï ¯7¾}PØ:J¥.¦á2ÏM¸j*R*,z³Me(×ì/¹ª¬!Ðñâø¼dv,Ùrš §i_xŠs±„jÃ뎈KR_Ùõ(†zœ=zYZÚËâÙ]zR)n'9÷%U×dHH ±ôeõ|¥{[ۼ釢œ²hNí°BP“r“}–á<ï Þ8¥I(š¡É´Š½Gjöägv^4M½9!¿ÕŒ6Ìép5tébÇ_OUV½Í5 êžã7„ÙôjÛÙ嚣ø{öÍr©âôfN(tìû­ó• È[G¶¹ÙQîÉ\ßMÎâDÏe¸ÿÚ õ8Hİ–ÞÐ'¶ÉÚærfL¦ÎÒ_©¸-u‡s’mŠTc³û.½£hûÜòå¯WÀ5ˆ‹Œ¾Ü¡oTbf&±Þ]††öÀöÅ~7iF9žÁ½7G²ñ>Ò3ªôG¼J»¦ z¨ô4ü5p´ZZŒÁ¿‹òÞß-Žß_pŒCÆŽeìÁWÅ…a–âºhËÁo#VÔáÙä.¨¼¼×Ú{´zg“lÎzs -޽£„&z¿~Ô¸Ç(¤’„@¯~Wì¡cŽÁšâtR#–’ßÊ|Ïøyø%íazÆdŸdo|)Dx‰½×¡‡Þ)O¢ñ­w-åvãñÃnTñ¢fOóÏ ˜šyY@âl±ÑwàeKÁìéøKÚçŠ{Ì•;C¿4Û3²è5G”˜¥;L8¦ L@Q®¯gB9¾¸'`ƒÃ/¦Æ%Þ·?ãÕÔ½E—Ûª£µ âç„ðç²ÐZ¿ÔŸ˜²ƒã¶õ; Xt_.Ÿþ¿›Å·•‡œ û;AxùÊ×%èáFô㹊òè|Êù(±¶Ž!õ.åÜàëuV´×ЋúÑÚØ[ˆÖES8Œzè,8Azé€Ìœ¶[9äˆÖF︆\âáÂ,D;rdšRy`+è¶â[ËãmT ¸ âò‹gZe‰Ê¢ÜîK[…ø©Vuú¼ç –‘3Šø'²&·LYÉuÇÙ‚™o·óž'¯UÌ[.(c9à•ù†øÇÎx.4 Ô9‰go;$×3äªÚí°UCËM\È& \ò7*Ë@ìÛ_IB9•7É;qzÄ>õîôÃÖÂdM dêoÆŒ´-í0'«Å”íxëHe_Gž‹òV(ãÛ”0 =,З½Ú\8¯Ù ùËÇËü^jùJÀ^ JþÄ­Œìo*q' H™eR UûÃ^åGvë Ë=Éo¯"a†ËGe4뛋 EuÎíÅ\íUø\[™\-¬Å‹ØÁ‡ÿI’…xŠ©a‘êƒÈÆ .÷×*’Z_X—“o«ÜÊd?Ä·À¹àt ÎG¨Ó~…«ä!ɤ ²B }C²ËЯÆÎ{LuAÎßÞA“V’êÑî í®ó%ÒZ?H†E¢L\ŠæÖƒå„Ÿ×è}ƒÆ§=b᫤¶ŒµSš2+¡»$gø" sx› ƒ°ÚP1õ˜Šþª¢}R0kÓ¥Â@ª¾Hþ¡®Hƪ·š££ØnoÖ# ¾¬™ˆßÙ j}ˆ©9b[÷ã0œ¡…­…#`¡lf…R Þ¯f¿Y”œòRØåT'“›¢‘-ñüâP·COÌ¢Æ@ìqû´ê6[=ÅÛÄDºÏ©ÓÃ垤`-ž]W‹_£IN²øoâôq’ÌÀ·Ütvê˜ä§'4(W‚ÁÊ9êIéJGs*; ~Z üÀV=EݨŒ‘<2ƒûÓh³EhÚjŸ(ó”Þ³°\e ~¶pK¦’á÷[ÈGÌ@>ÒDÃÔ•Ðp§ â–«±¿ ƒ³ Üm蘊ﹽ¯^Ô£x,í_ÿÔù`|MŸþ2Z:°ï[hUü·2u½fµž‹]Sµ—¬ü{%vJ$JÚ¿C\°$R2ñôÿ·T-(Ák\µ‹÷ùj‹Y1Ì·h!ÿ  &MÞ°BˆºZ‚Àj×W ôÄTæÑX¡žÞJ>,K”+c¨bc°G[#l’ÌFzѤKhïê85 `p qc›šµtt~o¹_"/è—WùŠts_¶Äë×L.󻇩;vÓDÐã‡LZŸ*‹Èü3zU†XPko\ãÈÜØPúMS¹ÕPzlÒú[M2C ZîvP[<âÁÇ9¥ê-°PFɰHÀKWÿ¦rØ´‰=yAEÛŒtqÌÚݳKfz«ÏŠ“įQ$­c#f†:F4}Oä“iá,Ð’ˆjFT›Ud”ßgÂS#8Ø>–5³uûæYëäøÐ±ßLÇ]ƒr«Žê-ݦ†*¨›C÷Êø˜!#˜’}@ä7@­üüFø7KÂà±Gðªíô{ž•Q¦óÖ/µ ¿:Ã6`3¯Ö{Lˆ†¶›R»$à¬cÔ ìj(ß=Ö¿îµ¹lCÎ ±Ÿ5OtC°oƒÙÚTúé¼¾×^·»ZŠöÍ'6‘_¢áÒù€ð;aÁ{\‘ýýx,˜V1ŠpÞ |µá° ¡QO‚mˆÜ5zLeúÄ}ŽùGw¦æÆk°r-_%iË eÚ,ã~¡¼à)­'âú¸è°$Ö½Ž%äþwöŸ0+¥GjWø¬@A=æ5Ì9}á° Ûg¬?ªkgf’ÐwLÃg¸€,Y–(XÈ—lÐ/Çf—Ê,Mš¡ŸiÀûûaÆF»ŸUÒòO£.ðsÿxÌ]òWBDPùuÂ1#ºf1#Ñ+ÏüD—Wå…»ÅípéÊ?hDäÛƒ­f¿/nÜ£!*”WQ§±JÎ¥Ãeø+ÇÑÅoÕ3øãs…F` O’=Ï£[h4¢ävÜå~D/õŠªÞçèX…öè°ú½½ºã·™ØcŒ‰·»|úç^B’ÍŠ÷®B?Ô9Õl‰òLóaoŒó÷­¶_ ûc®UÐf}h:üÿb@=Rbuó- 8yYèæ Ó²h¯wTêϲº½öc€€'sTÓ¾’ÞŸÁžæm¨Y• šKã|àÜ·iw]õýò¼lÂÖÐD•¢;f–†9_e¾ÚsÜW"¾'?F×Y±-ªd]Š%A ‹ÁÏÆsáà¨+Ækz… {1O4Ša:ISƒFEù=²áä‘‹%Côy»d¢¬9äVûO+lÒB&îÈé !Œk–dÀŸ÷ ÿtÌ©€° Û¹óÛš•-¸®+‘ "(ê¦zsšØÅ‚Ûr^C=çñF‘yè¬} spã¼SX'cÄP¨&WÔbí[fé—³Ö*gÄ-÷±¦Òwôf6ÒÊô"½q×¡"O®¦Þˆ²Ä'{J¨8œ‘9{©zÁ¾(bë—OÍü}­ÇÊ0ø‹vè ‰ø‚ƒü<‚kd˜.pž/6¼›0D#qY*е÷xK•PSÎ ‹"7·Õ…GóY—mp0Œ2æD2éëÄ÷ÍlöþÅ'6žM»¯/–•Ôq2"ä]…‰³ "BõAˆÀpIš‚ÛoDº2¤-+„—hyñÈŠ+qÀ˜ºõ:¨Šê[Iä§»&ò•oOæédÏyMóFHÀ„…ÓTÑ—Yz[$¼Ü”ñ4ZÓLjDˆÃq=åÿVÕ ÝLŽI‚ÚTµÆºC;üº,îç§Ó%5hSb»ù­žÑŽJŸ­ÂÎGÇ4Îj”NZ+=¾™I“¿Æ‡IèÿÅ¥;<)b3aùQ Ÿ E_A;VÍt[^!=å!RDܨzÝ §Ç¶ñ7Sô„ufk’ÚÂjྵɢ™–ÓÑ 0ŠVà<Þ^¾¥ŸhË'!ä|ë"~n“rO%ðü ‘;{Ú‚j®‡‚í)ˆE"ËÎèÖ0È›ÔVš­ê<¬ÐfG'îÝ…hG(XüÖšbàbíï`6Jh{/o` x¯à¸&Ð2žÐí}O ù뱜i›Aœ —s"Ö¯P 'Q(Ä¿z¿µîÖ€á®W£¨.7eôYú 1ULn}(ß«¸š!fBYn݆†a J'ëB·F wm¹~­/È7žQjs’!U/7$&}w?R(*j†ŒÉ„ütà{ì¨:…ð^$ÜV/[4GfMIæmn_Å»dä?ñ1Ü;ðŠ¥öBÓté¥'Äs± æÂ×ñ kÖ•M%¦©ÁìúLbðÊJÁR Lùùré?U¡{ýtî¤9"ɘjrD2h\RraÞ5Q³¥Í;FOƒM•­ÆòÐ)ðŽé]¨?Ç[£w­Œo™pÃQ‹–É”·|Ü…´Ól…&,hÈ@üö­þ]â ŠgµäKT]'B­=Š›tïÈÙ˜ö£^9;Kÿ›<ü’•—daXùyK3 õܧ+7{š;nNwŒáÈäZ` ÓŽ7Â\„â•d‡/ë-‹åf|uˆü­ªo#¼¾gréÿ3Ì ²A³Ñ£…ÿ–¤ÀòØ—ˆCÜ…åûO¬ótÁŧè] ß?%híÁ˜—‘–‘ƒÙTTÙbƒµ±Þ*T}$U“¯ö -ÞD[Ômúr¢p(G'ÇX jÍ´q¯&:vZè`E_bä{§þ‰¾¶Ö³CøeÁ;Ö÷nOê5'd±_XÙø^ŒáÓ4"eá$ËjK[€‰)%\78Sö9ö_H&±!¯Œ ,V_ÉP= ™y]¨p«(º‰Íƒ'ÜÇçGW÷¦6晕©‹ ;I R„‰Âò/¼1IÜ&g>*™Uyè”§Qw‡ô¶Ë`:9ÐZ霭ˆ9ã —Ãyî’þkWñs9%½è C5G~£ÄO× (?_ÖÕXay@óOc’Ë\O€_!»õ òjš‡µ ¡"'ÔÀ¥z}Ï•^WÙ€^Á¤ÆxþPpÅ ÑfÄlÛ7¨Ò–õ·ëns¨™‰Ø„Ö/#KmúV•cFÕ =D ØVäå=/8-£ ëäͽa"È ýÕlZmºÔ¸Nø+JÍž¥ª÷ ´¹RL¦àÜúán –½€OöÑOSg¨*Ê¡ú„Ï;Pêl¨<";!óÂv ‚kûdö'¼ªë=;êvŽåë ´545ú‘€U¶Æ‡”>öiWV:0þ]j(Kéç5‘–cÑ>'/Ds$Ç¡ñüæÓŽË›+݈ ¡XTÌÇ4)Ï,~Uc×&cýAhŒøQ,í_~9šH¾Ÿ²1¼Xζ9"kïSF‘€á‰`Ž uæŸÐ+DWFÓ¯Eä–¤Í:B¬•Íu:²IH\0†SÑFÀ-¯WïÞºŸ% ˜÷AmœŒÂamQ7¬„)‘ñ6ë¨;¼¥º±˜fçȘ¨ôÈûNðªT{ë`‚ô] òlæÊÎ3ï8=»E^¯H ±7ZÄ Ž}ÝBÀçŸ<_3g9Ñ43e\¦S:5+‡É=ƒŸ m`hìæ(pÍçǾ/Cn]^‡áÏ„ûCyV-êÇ"üÃ}¢¢ó[Ë–ºr"]Ð,Ãé‘(v™âE*ª5+ß`Ñoß#ŠßüøR…«÷‹ SvsŠ:ÖZè•y1¬öþü‚œ UY¾n=¾Î‡PÁƒtI?ö)B§˜¹Ì»m¢ºCβ 6/°d*8Äy™^t¬wÍÄx©^Få ¹õŒÜÌʘ’Âý¼®Ð‹ùUÅ&GxUÅëçuTÕ§2~IÁ‡‡IJßä€Öð_ ùE£= ӉȈ¦¿þ q:!Þˆäkiõ“mWX½*"r¶ør)¤;€|ÎÊð"(oEÂa㱎rË76túQ‰¡›‚ã%5éc|TÕô»éË·ƒÁáű¢ëD÷þQ\;ÿnÉ»‰߃]Ê"Û8!˵þ,–úl¬ŠàyHâµ¢G?ß 9—àu®œ®ÛVš‘ÉÆ 'ÁºÁÈ ÄÔÓ–¤$øC:üÓ†9‡I8*%ö¯[ƼaT¡2¢èèV-öxDüÝ]vM “\5ã(à|•n»³ qø¡)ðõÐp$îBw7%2¾Y÷TB™ƒJÞ¥äö™ƒù¨H¨qg¸Œß/¢C®S„.™ÓêÓÕå«•yïÍD•>E¢ŠMÉÖN‡òQ*Q àdÚ:h ׌ÝST Ê€å‘0,Ü63qpÌO«÷ò”yŠ)w.xœù´jbÞÑ×~§ìx÷?_AW¯<–kð¤³õ!䄎|£{kÌé¬Eæ;ÛØ RÜ/#…ldxvòÄ«< ™ù¿ä=E1CS%|…ÞUTªÅµ}—Ð#ÇWK}¹ ÊÊœ¥uSÐBÆ‘.Û3>¡föÿå¯ od®_»3AGšÇÌ¥ßBµ‡Hf¾x†ð0~¤yœlôDn@Ÿ®•ï3g® ýŠá?4dX´ÔW£„ý°f.®líå‹Ýõ0–­[{Ú Ü£y½H•¸½Ö‘ H7æößM“ÃA„o¡‹[×K¶wuNå,º1³ªËòv-‚<¿E2q9€Ežða)Û¾¦î½;!I%#0¨ùIfgè¨NÏ•+o(‹õ;¾‹õHC^æ[ÞÇ®¿J™Â„ÄøZ¯E"g@ø)k&œ62 Ëܺ¾ÏÒÏ;prȬ¨ÁÖ“kMóùå¹áŸ:Æê#!.{:êï7`hŸM?ý´#¤•óûü•Ñ0‚•ÕpkK'•üŸšržê°Š»®ƒï1f¢|=âlþzÐ÷‘‰ÔƒõŸŽhР¡7¨Ï*°Re¡8#ž*>&Duèz"»ä{pqm‚èÀgóÔ?q}…gÚðåÚL–`µ&u¦F6A±™ížmg¹Izig—| pÁuÇ~u!°5Gðn°ÙèÅ/fÿh/tÈ.ÜÄM$ºìL{ŠvâHû—ãÊWæ³v»‰`Ò…Š7vÕÐС”·]$`-Q#"ë¼û!´zŽŸã/úPçóªI„B +¨ò¿g¡”W~JÊK2Îù)$á^¥XØET{8@…Z; x,ìâí§,q†Ê-² G€Ó‚jôw)º«waoïÀƒ)@qEÐóp¾ªRL…ž1°Çy¼ÈùDÕ0=8ðé£ûlŸ‘0ˆìûµ ~®Ã–qibÿáóËÃù5LT j¼ÿÐ(K}Y§Ì¸Œƒ÷*áNÎÞ>¯ôÿå;] »×ð[t޲gž1Â6رï Û<0WˆiÛ)XÒLÚ{åßÞ1Í·tZ$å_lávò=Þ¤” ¸ý@øÅSïÒÕʓΎgX ´ç¸ÎFÛÖ8‹UÇ3~Ísò$Ä[…ã8çEVÍAn1—ß|,§È9æ¬ãwÜAùqdÜÇû&ßD¸n(ì§ý–à¥$A,`Y&É:ÏåÍV;yî£+9%2sãˆp)k$&QöVl1–ƒ,—[n›¿Iä…jR•„»ìª1Q Ý7Î>eÞüTªßæ!é8qf(:¦wÂHÖU6j6àR¶ƒ(eÓlÜà—ò#ä8©5€Dk1óТo™RPÞ³w÷ønô"#û9·í.„RfÓâžvâ¾§\ˆr½äVÈ®:y‚â¤9Æýªõž’á_­×¾,v볉Öýòg½wÂuÛÒî^c¥Þ þœ¹9bƃz$z0¸Kj²A?â‹ZÔz®;ã÷˜ž’d\žEqÏLÝG¹|¯LÌí¾3’"|ÕáÃ~ªaɳ?"XÈ~Ç¥U’뾋ÛJ«¹HùNç"5î 1ûÎØ†(ÓgËbT|ƒƒïÒR¹¥ô+dø6´{‚!ò÷Ò¹@€«2c(ƒÈž¯à…ñ>ýªx³ê¹Ä–½· èø¼8ëä.$áu.ðñêCZpµI"¼w:‰ø_#Q{„tšˆYSé,ôp‘(äõø'L'/ÍÜðk0O6ƒ1j¤T&0ö¶©i ¯ÚµUÍi ­‹¾·O¢ÿdF‚#B'R‚lúÞ¾k]‹»z‘ §ÈGA• h“qPŠö¯¿G™á#“<ùCwmf•n-0¤wìþpä&X£xëÈyùÕèêwMˆbŽÁ°4”÷lªúN©0x® ñ×µ4³ÆËO]0ââ€ØëIÇDõ<‘&W«‡Y·ÞS©:ECÒ{€>Àhd¢¿f¯¤›Žžö\ë•[–]T=d§íVsjçeg1×Xý¯w[ƒòßö\ÕµYÞ¦qœØ_‰—«¾Tî+ìÓ/ñw¦¾,K±åêçüuèß…,Qv*uëÅTx›ßÀòuzNC ÀF¤±,³vÀJ B¨§üÖÁ-›,¦b|ÝãjËMŠØÙK¡&û7Š_»PŽa™vAX¯ôUãÎÅî¡¥uºÜÜo3ÔæT+ǯ=Ö'q2¹€sî¿Uð¢­à©œ§¬€dë±`dÆîÈÌI+. !g|„]_þ9Ûr_6¢Õ@š¬(Ö V7ÿ\ž-9Z~e©ü’²úÙ8 e Ç½{ˆ5{R)ÙÚˆË.PNŽW'“e=`+ É‘%«#u¹èP»U™õEÑ7ÑA¸ oª®J²T0PÉ`›v%Eù´ÍeÚ§6¥ðá³-,ßÑd¢íGûŸæü¥›¤³£ƒ§N{°Ç';"m‚´÷l¶²Øiu¾}o Û™ýÍO—BKA:xÀ±Væ}©öIó² òahøéÇö²”ä3ƒUM̃\^‹™¾Ý V<½yˆ‘ s¿ôú(äæ¾ oó.WU]`V³§,m¦qVÛ‰pÈ£R|QÝ [.§»›deŽÜI@À+û€‚ÇwpIϼХ‡Œ³cþï¹2/A3¦“v…¥Á=ÙŠ£M‹’‚‚ÐÂÀ_eŸùõûCUž· F~„¼ûŠï,°/¿™ºs…uQ<‹¼4}ApòfÈѹöÁüS›mŽàÉ?ásðY½¢7½Ÿe–éOwâTKûÿVá+)mè7b\0€RNF׃lAc$ÏZp‹qo»p.ã°BÓU­£{qUØ<§’ÅúcDÎ&}×Ο™é¾½Ý¡‰!æ©çó*¶ãâlB²&&ÃyÞ½J¯&Ø4àZúÛ„ &ùeºäLÊnJЀÆ;»Ý·"²LëeïéC¾™=Ô`[„ø|~_žî+Ý7u‚Öhš#ð¯·ÈFŠÅœ%¹Ÿj9*Í >¨ãnÊF:¶Ö';‘wn+_šÚ¦ž…ü–î,l`ÔbJ¨!ËdâK«w‰/ásÑbO–ñXÒwÁ¨Î3ÂL³‰±ûòs\a¨gW¼ÑÕúoà/@ý8{ÙqŠr‹”ט":ªsR ÒÛês¸únuOD[íëŒUtëŽu¢fh1`…a•ÿN´VâIœÑßO4ý<ċӋ/·ß'Âìƒ}H6µl1vnIOß×LDCŸºG œÒ P½ÚÈß ¶º.¾‚F§gÈ\ˆ``ö@U[qm÷¸v†ÌÐø8]ù+ƒWžjså³5MÖYÔïÈûÏ¢ák 1˜ ]@ 窛nt™6o+¬p؉å òˆÉg„T_C´+Äó”·bý”¼)ü)Û´ëýAhÐòܲÝ\$‹žwžÓŽí㜑…F?ØþiÄç 4ùh~µñ®ÓðÌ]bß¡kº,=¦‡DŸD|NÀp'MIðcü Ay#ÇnøÏƒÃø„nªmÙ°çVÀŸqÏtÙ̳Vn Õ×´]°yiMYÔÃÂN# ¾W^çªÖBÁ6bÖNÐÒ< djˆô<ù…O´žrsõª®TÚì¢]ìX™Â“ù¥Ä7FxQ-„wb¹étÍ.´ Uùá¹½+ýÆåqÖµýÑrVm´ÇÕoåP‡Èî%àSM²ïºû‹ñÕJnJŒK×ñ‘SÜ¡Ñê‘Ágˆz¬çõݾ™Ï"ËÓ&ôSú [½&‘|h«š+x9dú&f:Ò´ñÑ) ”qÝ)\I®Ù¿*É%ˆ±£×5ó&â lðšÞFH|€¶Óƒ!•«Îo޽ĶV•°4]*eÿ¿šÆJt JÈWLÀ6W¡äúðNG+þÚ˜U^ùÂ-±h¯¦ÖÕø ô ¿6×dç-«:üÞS=:þ錛|¹£/"¸Øïæ¡îâÒ®¸OÓÿ·'ª³ƒ™Ä*ôP’ eÈücœ Õ+šŸÃrŽ¥ïÎÿbKtuìuF(q™æƒýV-v¡Pfb!깞ћX}Dï¸òm·Úê@À¼%Õó›È¼P}Xë=!LSº‘'Ø.ÃôŒƒp }Ô™ÿï…¤{ä8t6ÑyC4RBaF{'UCòìXwÒÐwêôcÆáæöGéÁ¢íqãÿ¶ºÎÁ+‡®¾ªD¤µ#BVÚ«‹ù¼±_»;ŽöÇ.µ|KFísô9æ?wéæVP&Þå}1ª)'uÖLy+çø_§é°PÎYðÎlèüÉTÂçØ×N6ì¬s:z2H`X3aKØÙ™Ædm7i.³yß@ÇÍÒ$}lºZ³ÍmŸ³š­{9× ÆT¥N£[—ŒôTCw‘›m± `¬]*Q^\yOwÛJ©" ÂlܾÍIœ …°É=ô KrB_idPIrÇ.¸Bõ¼@¤ŸÎ¿ÌZ/äRÒâ#êÛXÎpDüʽ£ŒEzçqðçÇ2ÞÕ»i5œô9õUø(i þŠ·ðE)›Kå÷0 ÷Ÿ Ýè#«u³‡/.r2`÷øuõaG#è#ÌL¯péÓ¦·•†½èù%@Ó )ü•JZgVÝìiÎ>›tK[LÁº*ÏŒîòÄû9[g§Ö¿Y¸”¼víd.Ý[ês~ö`õŒZ0…Ù›pɸ+àþ`ux/ØÔ¯˜kir7Lã Áâ÷0!««½ºfÇkêÐEd¬¬ L¤ø*Ü­PWЋ&&Ué²êsÑfþ¬<gN[謉!hÿ Ev¨'äIĂR;~Lš¤Èº©?1ùÓ‚u°æ<<ÖMal 8DŒ‘\qÏ\‚Vel7tŒmƒ¡®ÌËÕ¶°.Í âRçÂ.Nb,YØ çºKÒ?—4Ph§l4 B¯ké‚Ãø;ÔNv5ìwÅ0VrNÁýYŒ_:­q¼†§ýÙ¤=‚Œh÷kz’:ê¿Nû}Kà4Zæ²,ÊÕÖTc¹’%*ä÷ÀÆä²ÍîT ?ô;að¼Õá§=„­!jŠŠPjóãêæÚÙv|Ô|®(Áó2—6ö4Ujíã?I8¯mÇWa<ä­‘¤Z³BÇG]ÎtP¯d$oÓ·’QyCŽAdBÒþÈÊk€=kF:ÒO„E{€XÛJ}qVz4çâR=öSÿȆC2 7@hºPwÕ†&@•±ê“£,‹yÑàw`™æ‡^‘©²ÞO C<ê—ìˆ##MåÛý:(Uû–GÄs'3+Åèú__EÞÜ +k¡ðŸCFqÀÕÁÍ¥IÂÓÅßLNÓGš«· Ç8RÚ±ôÐY>Z R!(ûßò'.ŽÜ&¸Y¥i:3;¤zÊÎ;TG¸µç¬.t²¹=µ‡ãÝfRáN`©Ý6ËÕxtKR½КÛ~!N 9^º¦Ïˆ+zjQ©Ýýé•›)°Û±®EÄfy/F€ÓZ©MeƉEE‘Eå¼ìzgÊ"¢6ôq™÷[ó ÔǤnZ;ˆ¼Êab?Îz#À&—,Ó*30×N>öªð?ý°ŒPöZ“‘";v65ÔÌ‹o;5Eù!%8›fW^…4{Bž>°Eæ"·~}d³oëj1áÛ¶ ûÇ÷ ˜5æÁEWùúc}ï-¦4î'g7þ¨z1Fc@‰qv¾h‚Á˜¨…0¹ÌÌ{Eþ¬€ÓI Ë£=^®‰úlÃ{S‚lÕÚ7;M—иÀ 4Ô5x0‡ü9¼¼Álÿ*@…óp…ïžJ–»œ˘SÙ¡e»åݦw-«@¿l„ˆDCã`Ìmͼ…e~2Ãâã§*¡"ú#)µ'uh£õ,¶ D0̨wÜ­®ÿˆüú74Žvù“W~¦‘̨v”»’z»^÷Z©:_P ¿—oNÝóàÄS²˜u²Ýr´­âI£ÑÅVm¦|Ž¿Þv³DY{nÉy{J°€h‚¡î1BO)¦l«Ðž’MÚôÁ[WY…¸um_jб>Ä£QǼô|¶¿Tug/6 Óá…|ïSÛc¢¿Èbiÿ7|4æ“03°4ø·ô]#ó;p“¤Sßû* Õ®œQnsEBDœª†×ÿL6Tä×A&_U©c"öýÜ®¯£‘²çh_ø⋺˜"D²³‰×ç€ûk ‡&Íë£ÂÿtGqÍí6o§ø}¸±ðT9ò™c©·˜@=¿³.Žz8SGyØÕ‘¸ ‹mé÷ÅÝPë4¿?#¼èâûf]@†ssÃy<ó2‚‚`ÓËÍßK]Iiqã@¾*ßí?H`ÄÕUnµ78ýƒ’ˆˆ`Ì¢]V¥ÏæˆH&«AbNiPÙLaæŒP÷*S,U$«qʨ¼Œ¶ý?ÔÅæ ¶é_pebûÆ»?±fûÜó7ËÈ‹T°d–³ÃÞÍÅFÊÔ„*¨—ñgg|ÄÑ+êšG?œn3®y¬9PkÊI–ùÈ‚à?0ÝdžÍŸÚOl޽·Ÿhjãt¢Æ•ŒÓB }ôÙPÛ­a^CIlBùðä ©ÒnÙkS;¯‚Dà0㊅ÊÙÓËO¶v9ô¿Éâ\–)â‰kÆ® ÷=Éìì<¿FXNE6£SŠz3_š÷OšÑã¿W®¤¹íJà€˜7 8·îE†Aî_ô"øè¸¡ì# Ìe]¿Ø˜Y¯%>ŠBXãù§q8“NFCK×}™ȵÂö‰qpXé°—DÞäÿ°y§¼Yh Ž ësŒ,îÚÄ@EsNšÚ4 °ÏM ¬>¬ßµ×%.oâ!åÚÝ£‚÷å*@g͵yÏD£k©(§På>’Jñò¦ýábê3ˆ5mÄ¡£ÒvØÿŸ 䵯£¾jG|Ê·B7)*·=#ÌzíC‘øÿGÝS”‘,MkH†òøýåÖ¾¡øó¸M¹f•1¯cŸÆš«Ù˜þ.É$î?Ûø ?¡ø ÐðbÄg»Ôó½@Ô§V:i+P}d"Ào$w*ÃqÎJ*o‘î¤^ìÐå˜ÿ’pb·‚’ƒÿ~ìhb˜ÌÓzOŠ˜,oDòçþåôyè(R^€Ö´/Õu6wo Ü¼ñ^‰/‡­Ž!hc_Á…•…s!âÐÀV̾„—q›TðÏÓH­!ôŽ^  Zäéñ‹u€4¯zÈÃ% «¼Ð¥{àÅ‹Üúß°è¯"<]å$4‹ÎÝ}+ŽH躤Ö7cpÝp †ÍÏãRºðcñ¾¦)\ö3 §á© )ÈhZ""'™ÞYU÷yÙ ÚïÆÒ|Ô˜âÅÚÅjI X©©#AQ(T8 ¦¨:Ó%#ê”hdÞ?¨Ã‰{Ø9~OBb©nÃ3C³â¾*‡_Ñ3pØýÏ'ˆäFy~x]Lªs…&8y™š¸îìFtcœ)øî÷àIþï@w¿ò(ü† $å©K|Y‹–U_]ß"TùÛMÄmç¼S‡ÊªôÝ;õ°Æp 1Øô80¶…ƒ^Üb¬¾;«ƒ#´he˜yúuâ9)‰¿j~N‰çê¯>÷ µTâ߇V”ކôî1r_P\hƒ ›'0È€Ù;›ËRmÛ*AÐÄÉ!"Z³òÒwŽ2àPÃŒ0ŽÄ›‘Âè.,·p˜—V¼%Û1}yTÛV¼yÎcv=`A-aÑ 4ËRühÞŽ_’ýD6^ŠC§Ù îG?­zÎ"FN"$%*Õa‡•5 ‹Ÿ=FÕ=N'RÃÜ&‰—¤ß5,²NxÖ.ôXzsëJX€g»Æ0oÌWìëÓèი˜*í$ˆ–³ÚHÅ‘f*H^\sã? ÒrL»¿ºoØÄ('GÖ2E1wy‹E3\D[ù'ˆ 9&é’@'\´«^„È|tùsÎ/úšÔm8«ßí¤Ï”\ÑS/?›êo„rLÞ oÓ<ÅQ®&kè¡nïäl˜aŒ¤Nþ¾W'º]~¦§8‹=4…ZC}™´•m¡® ô/XÝêÐ63såyÙ2ÒD‰Ð9{Õ8§âK"¯;'{cuÜ®ì™N×+ 6Ê;dæ—[/Ç <’Ï·Ô|XlIzß‹lù³RPøDa2MS^¯ú÷Àµ ]ûeúEgâ TÓÉW ˜w5íÕEà\esU§4B$ƒJ¿­95AÇš%º·‹p‚æÃLißuÈjúnº¶ÚFÜ蚆‘òo@[<äÈœ œ{"É1FØ¢6fVë,sVYø$ñpµÄVÿʇóÚfkì²´Æ Ç(§ýð¶^#ó#Â…oפ£å&æœ{3Ïv·€µyèÞ“gxŽÜ%õük<¾¹Bébþ#€?î¥ÑµÛý²¥0¡ðçwsê¨Ñç³&aî–'‘¥˜O‡bíê vê’8G[2žƒ)ŒÊ1q×kÁX{Ÿ ¬˜j/2i„+*ëØpç…:OΗ´S{,ÐoÒÞE\ 95wûÖS$´/Å‹[~>›Ò[âWïl+.×H"ŸÅë" ƪ‘\š]Da]³Ï$AÏeo3„ù(µS,x¹Ï×¢Ÿ¬ æÂ”Ô9‘ž í ÒYˆoç¤óaŒab¢a¡æ%~2ô)•¯œÁ é¼Ñ8uá^–+¦ƒ‘y\ÐdBŠºÙ»€—h­4׋ñš>:¼RʵŠJ+a½Sœnë•x]•‹QòÄh|ž`™sšGh”ôFå·C|P°#O˜&}¬‹Tóàœº^ˆÄEÕìn|Sˆ2l¼ö¾§×Í—­h{fÓQ5LX Ç·¥ÂÿŠ®î¨š†±Ô†LM“E µÞÇpÔ¶"Ë\ád¬Öi¹î]|rƒ¸Ç'Ùsy¸Ö¢éMu!aMè|ÐWè«Ò¶Q¼èè‹°ãüÂ;+>çÃ?ìV|iO£¿…ó;ùù‡Ð$F_;À‹¡IÓ™—A%É ‹*éäÆ.7i½5Ÿdʽ×RÌÜÑ“®6ÓWÓµÍÚTùhÿQà- ÎV§êÕ¨n›ÿÕwèF1btæÉÁí£V_K¹ÀóáM%àJ ·E9q©îÿb ADT‹)f+¨ò 6¥JsúMȹþîv¹Ì¥¾sݾI¾‚ôàÞ·/\wVÂC´‘XÒ@±Q®ÛFèó;;Û'Ô›Y¬ƒ!î”á]ë>.“üÛÛ½ÆL’Jâõ 5Ö(++¼ÛòÚiè§B©lvºÌÿQ7ÍU¾Í–©ÕÃ~½µB0}ôœHä‘°ÔGR÷7ƒJ Ùüg<Ætiÿã&é­>s„ÁFM ë W«ÕýƒÓ…‚eÙþ7’:ÓÑ<[Âp.ûTk@Lù|ž ï` «y ´Pªß=É6ÃÒ(rP9ý¬¹~X/¢YCÙvÀ" EIÁ%aûÈZð²ÞWÂKR×¹±4!¦såGÌ 6ðsV±ÂbÙS²N?œïH `ïd1NBÑ•­Ù/ÕÚvõ,ؼ†SøÄØ[;г٨à †;iðT$fÙ–ðp@qÑÈ«c‚' m&›ÿÓai¥¼+½­aòÅ®-Ó—ºUÛ¼á ,Ý^EÑTï]­Gî|Ë[¾ÜòNÎ$¦bÖ.VR€ÃצÕÕûqû¦i]ô'[ °)M[ê”#Œ/òRT¸â‚Yå½AŽ<`W¥ñØ ¼¶¼L<=è„gá—(8>zßCS}:…s'ÔÌ¿Îù"¬×Å;üõ‹ááSQv-JÑ%`]ƒyDÖö¾¶_ª¼bŒô)vä°ý—1ƒL±ÖVâR7wì¬]v”3½ÿ>.¯j&ïŸíhø™«5ìLÒº8« _2%ö{É+ìOlhæšR&¹TL»Íó秺Æ,u<¿§HÑ؉9—˜$ñî[{îÐðde%›Ä}OU'Y$öF™)†0Óè¬éSS Š‚„ ¸{ñGš~´Á2\ Q,ÆAO<.ª]l&ìq’%ÄQð˜cŠy² 8’1MlFÚªF³|ýH›±ó¤Úïç8'E¢&¸¯ÜS¿© Ž_nô ¨—ãÓÖM Y ªúҋ͘¢ç×a^‹·="nð9™b¬Uo‡ÚÐrÉÅž¸åÉ®CµR‚‘÷ÕþèéL×^ðè)æ"VF|°Çº1¸°Ýå;Up»á1{L•½Ý7Ôt³‡ñÆrV|ßRh0%VØÇÅžù„v˜lz;rÎ’¹¤ÜÔ&Æ?2™â¸Tj g}9 6³Ÿ;_ÔçXLq)™K½ г‰Ô½‰÷…:$b+æ]£{ùÎïê| ³7í~%Y0"ËárìñÙ>÷†|“Wƒ QÞØþy>é Õ)M›ÕÓË[f_þªpÝ®™‘0¥ðwëïBÕ—ô™P|†Mó;4ò¬iØrâh°L7ŽNf˜m)Ü:øæCªÝXv¯oÁlˆ )Mi.¿Yõ£ ™9­3aþùÖÚ®>”.§ºqk’M=K€ð}jAµ‹¿’³§Rë¿f:&–Ž~azL&áLä7¦;ºïÉSb“åbdž#¼‚Ÿ"rÓÕèå|EÊe6žì:¥¾`-݈‡Ìö8Ÿz²BQp*GÅ–ê ¨ÈwýNL,å[åǤ´tÔËÿtÔ@V^†qxª›õǰ©+ÿÒ°±¯ÊýºüPL»y¾Í &9X'nÀ˜2¯EQĹî†10gsdŸgrÍhj†h\ïüs9'ýQþ ;ê%ljy½Ð1Etvu·…|ê2[ê[(<ýMú“¬µ÷œœÌ«Lµ¨ÈM¨Ý–Î?O¦µ\ÊŽeú=mØú`~û6·!ƒ¦ÿÖȨ1Úe6ñdÓíë‘rßà¬8zêMÄÖuÊ!µFI÷ˆOÍjîcùhÈ5%¤LÜ$Ó£¯!§\i_Ø~®Z%~8ØgšXƒì^oÁ¾î¹ûœÊåºtO¼à„}²^§]¼GÖÒÓo±ŸÊ!LJFšì‚©Æ¨FRiùT/epR¢Œt^8sTáphŠÙzù]žj(õ ÏË–Ó òÈK33w –G)~ðaC%féÇMžðã”ÌÀ¥½¡0 9Øí‰“õZÒ °Dz¯©z•#ѸòfPöÆÂì·LÔžŠýÔ*—W À ~˜ÎH°a)RýyP•“ñtpÚcRÂ/lxJt¼NT!°…k{N ™ªô ¦8ó*Kí›:èʨà) ïÛ’©;&2§_ÝEJ†‰[7?©:¾`¤ÄépÌÕXÞëÀ½ÿ@ƒ©ÃM–}2A¯‚‡HœËŠÇµ©ü“ÚæDË¥ŸöC<ó?Wˆ+»òèNÕÜâ´Šäö¯žŒ½D‡a™„'«’v?œòþ^ô>ýCÕNKÇí¤üuþ¹cðþv¾"‹„Š 0F…-a©s%ÍZkù&l#݃ˆ€#Ê M–úá‰*dcø.)ɺـ™N*ÙÝ„ÍÞ꡼‰‘¯Ÿ@è´iÚ˜ûjÄÚB‹{­Y"œ[Fþeš§¢=ÿÛü å.†›ÈHø¢)ã“á&O`£E¼Ê)4Q€˜ä?cU:ÇsjçE²-¯õÒ•xfËmx¿¤ÜÏšù—Þx䈃ÁŸv>õŸ)é]§¡B²À(|Ôž€¢îfq]?BÜÄVÚ ‘AºU]k¹¶œwôš¤(àçkuþË“ªÚÊ33!Þ¦ÖúÐ(v'"›ò~—Upšw â`ù²#ÀFNÎ8¿©WŃWzC2´ìr>Y˜tJzê‹_¸Ä¹…‰D }q]’§rۆĎ hT‹Ý⛀­Rí`a1š,!”+Ø-°&ÉÑ4õ+!ñe+L@‹Ì/ü玹sÞ hTžï€¦Gï'Jó™6ö¯"Æó™` J\É2´ˆžjØ4LJ¹¢Ë'¢W/jLe‰¢YßÙ‹˜óºj¢†ñþ<ÖL |ÞÀ¡“¦§?Z=˜m¹\°G>3(P GЃ—Žw â3cý3)eQ„QÂé,Êê(¤Ì|éò(ÎO›WO€ Ñ>Š·§à¼Žl"ñnüåðWc'†0ƒš&”¢ðºOF[R¤Ì¢&O,DŒ!8ÄEaUœ×Põ>[aé—ú?Ñãc¤¡rh©™ìY…@SB8¿I:YJ²\±9nï€,-’–I˜„®­Bv º¢ÊÀ07#u’Pëüt­5\¸%c` Ö.—g™z96 ËëK,`zyÙÃNzŽÆ?mt—ï]`N+}ø¢Ås@(»ÞîÿÙ¥µ‹Ýe45ŸÁ×@FŒ¼v¡š{fð򠯿bæ—}û( #нM7ñCÚï“6›W ßåºÈkuÏâIAä!ïØ˜†¢÷žŸ¡¹.›ÖÇh ppƒ÷ù _çåãf Ào ¯Ö-œO­ÁÁŽW%„‚ŸzÎìä.ÊÝš4ý:ó*=LuVµú¡™KØÁ­§¸€÷uôÒG¦ïPCªˆïß#ZõÞEm–Ö0Uv }Šw£ñ/åñ^ýn|&x/ 28 {M ]_÷i2_Ìr%óªüôß’‹>­æíId~ëßnM!§m¬·½Ó7ì“ ¾Ï†Gnq8ܸ dAŠÕÔîþ”Š0G¸\ïO{m³n¦×½f>k¶¨8ø¼šI¹d%¢‚p æöÃHSþˆGƦàoÙ «q ú#îžø4òÉn%-Ð3*Å€i7œ,+ÿý%4·Ùp…°Ù—æÿ`õ|rŒ&@ÙªõÍ]tO_¦Ì‘ª†©ìrøÄËÝø¬äªÔÜkzІ&¯nUP\dÿµûO˜•]¹8š3à0üß…HÜºÒp»fÙ…½—4½±9¿í(‡ß=ˆ/Üßã$…š¹Ù¢ë’n8K)lnè —þæ9=u䌨ÑÍ/xT¸Ðà¦zM¹‘ɶ4LÑ#-ßq ÀLµtMô&2[Ó¾Ä_@÷dxN@%SA¨~eÞ'Í ö€.ðÑÁÚå:*ÛPÊ,ƒ•Kp¸àõè2pÑ$S,a‡aõzîÿ¶<¼1ãnÂWõ¥Ô¥B€Õ0ÐYgÝ­žH®$âÁ‘Sª¼úèúõ×5+C«cHÎrp`i ômÍ¿Ÿ@OºÎo——/’»U«‹V””fµìË_¨Hw zÚ¬-‹ì4÷©o±§Ç-$¨Ï«èŽä$}x”ãÎÂòß(ƒä6.¹sí›ðR˜¾8G ¨ÁHæ}Ùp“B%ÇmÈ3@°úÍ–þï:àøvnsÞØÙžáQöÀ&Ë8æY!nÏÖ&öÁØZ§®ŸzÇHwíœÂáPDP©3…†‰湟”/ x—'ð^G$L|ãù¢#ÐYÙ©Ù=ÓÎßCüʇH"¹] ÏA"Í/ °JOâü™°ÇÔ“Pgb,h‰\0ƒ…À»õ&kæiŒI‘Y‹ŽOeNi®{%£Ôn9Ô–M7 8ÇÈ꬚¡2Ÿ‚·SÀuuÐst`7]jE´ÅVÑP[¿ÄàÖ›ÆÐÖ]ÿ—% äq¬™‹¤PÅÓ¶…•·©ãºÇ€Ì›‘¦ÝÚW`·aζªWeKŒíT¿üÊÔuz=÷„‡ì»QÞ¡dÚyOÅÄÇ1¥Vg¿Ö¤1Txþªk NB¯w€Æ£9ˆýß?̱ànmlk!Ssb %ÝѼU’øágúÞœÁçÐ'Þ½ÔÛƒx-ßxÁ j_o*9PV´,;¬n40>K“•M\Žž8#Q Séy¡¥§? õ‹ «íút©VÊ:Ã&zi&2§>Aì\,äÞå±ûíë ð/ éÏ´AI»wqÍÜ··6‘ÈY?­®ùŸn@}®½ßݦ•´m¢ Ï– ê{²" djC]‡ìn”!H6[ˆÅÚn;@4ܾۥ–&ÿ¢fÜÙf€b4>%aÓŠG.ø?0[÷ ðÿàF‡ÖZÇçÿ‡i¬Î«'‡¿‹Þ¨„žžÐ·•k÷ù‚:Õƒâàp†VIÓ˜} * îU@ÐR*ïJµ©‹~\ƒø×O›|*¬^Ç‚e(²vF§r¬ÿèå¶7PtÅ3¥%Bƒþ"tFU¯E–i Vmµ9ÛW’WD(*tõâ˜sNL· øö6\ ˜1z&o±•/LÈÂgÊŸ"qÙÓKsºY˜:¤X žv¿ËñÙº¿±ò®£z.îÀë»vÃæF*²*…Ñ]§yûû¶d Íöþ1¼+þÏÉ ^Õ"€×.ÄäH—…K—Ë{’ðÏðK0Öi±¯Öû¿–)g Ðm)a8sÒMÇâÌ3¼Æ×¬·²è ‡7f41Ü_ϵbÃ2„N©„c¥tëàU×îÁ 7³TDWÁibÀA,ÀK£:¥¯KÇÞ CÍYý+&ЂQsr«ÉC +½°«37L’ ’Šñ‹ ƒaMGè`ä ,ÝÆ E¤êl[q»Þ„ܶ®OßÚ†Wfæ,O6jzËõh>jÈÞ© dO…Ïk—Ðì‰ßüq:ãšôk& i>b5þJªÉy–s<Æ?Y5¥ ×F*ÈÌ<û0麶&…/_S×3²Â¯Í’3íDÌ«{¦[dŒUžWä»e¡™84 ßÕ·§Óú+)~¬Ýh øis3Çr WFè J¿xnP¬¹4í§’çb n`Ж-¹NZ߬ ÔIðTš‹n”¿Q‰ödIÜukk+™=P•»¬mý‚&Ã6ãR;v‡æ7ó$oôWU¡qiOÆæ@ÇùqM—?7Bkƒ}/ãæ„›HŒy°ß ñr­Ô3Çóâ…s/Y‡/°ªÏ­Íêâ‘õú¨áN8Õ ¹—sìÒ¥úÜí[ÑXæéŠL#9íj¯Á8n_î÷zMB­¡âÉï~Få>T‰£™8ðd·­¦¦¤€e¦³Ý„÷Ûçq’WíÀúvë…N¥=ì4„7—ÒÞ3ûÅT¨y ã=Áe²ì˜®ÿ¢…À.g+yÁéšò2äGçþS«ZÈÁ^¼>Óô;å‘G,ðÛœmûŒ %?ƒ`×cò¾éÿë8»ÅËÔ¹ïÿ¬ˆ²j»FF= õ{`@¼µÅÊE…«hp5&&¢‘7;²ã5(\óJØ“ÄÐÁpÌ¿ÞÏÝq†M`au®káè’ ¶<+DßcEp¹#6:Nø‡ômRÆ¿Dµ“a¦à}7 m‹ÈÈ62R•µ 4úqZ*pÕÚæNï=K섇«”q%]BšB ±ur Ï†Š ùaP‚™ð×3þŸ]zûo!å2ÙÇë$X_«ÊÃܼÿiÞÔ ô­…ô‘e —(ÄÑ}ÝÛNñÀB¿Úä’=ÇBGљߋˆ“\Ò`L&áæYÂã•Q—<`š9Ÿ’®àõ{¤ž½1ÔÖº5¹d Ë!a{+ý©®åÄX¡&ŒÞ¶O˜eéxÁO-ù(…$V±ªô‡mÀàÏÄžò3Ë­´Ž!²‰`°N>”­ý¨µ­Mc"Õ^»5CÞÖ1$õ 6EšÈÇw•\¥U6H6ûû¾lH °Ï4T×ïß\ßü¿~ìÕì™ëìóZKrg¾Ÿ*†5$õá§ óG«[~ù±£^¹Bw=­^Í’ÀÉËVV¾´O/ÅÄUEÄ#Cˆ|I,×u‰Rí²IÃT´ÍW6À[Ñe2£P'áCI¡E˜€¦LäÆÔuUä}éuœöä;œ¦€Ýó5«¸|1,BdéºÕau ^ņ=.8ïÕï&ÞÐ÷0¶øûºøÃÆTàt뿪§ÿ˜¢§ú;U=èp>qBþBdnŽRI¢rwÖ3b®8iLÉPÇâ^Dõ¥Æ0ÁJÍæ›§RηbÄñI+=u¯Fe›¨˜ì@V¡Ïò¤ì¹ï•Æ?ĉÑg´×Ç‹q°‹Ÿl_ëì Ý¡ÖmUj¸„ëZ]´[åN|TùÂ+7·ë.Åɺ7á¡kÓ#Ë_èwªv"2`ŒìEw€ÇûÈJ_ÂÏU€ë¹Dv«>H@t#=Ï€oZ˜{<‘ ôvA¢å° ®¥~ç “’–T¨Ò TyĺÞ‘ï…Õ Õ:úݹ˜0´#”ÔúJ*Ñì/Kò³Rã·žq?±PaQ¸DY0îÜ~³âd:eRbþC½“@ýVÈôø†U½ ºýÄ×-"<~}„h$êQ1‹<“ò"ƒéËr¬Œ‡ Ûä{ŠJä×Êœm=Åó±åH® ƒì‘=†>¡Q „!­´! î· ®Ê«³I½¼ô&±FÊþÇ$Ö ûøC¢&ÂUnÅÙ;ýÊúpÒ]/銹&©»i‘Õ‚éiè­Y·_D5ÛŽúf2&Š7*YK:/`¤¦2[wÚSIZ] <ê¹:ÔßG ŽùWÆŸFa•³ñ´e`KPµÎ*e†–CØsHEê¼Nµ=,;¢çÒ°‡Ö†‘ÖÀï#©¼7ùcÉ“¯!÷ޏŠÕ3¡†_<Ç”$krÎ}ë®Lƒó†€>`Î…Kóö_í䇹@Hm:Π÷‹äca>.m^é¦ÞDYó^–_dæOÃ>QãÕÃÔÁ=@»è«é´Õ–Ì ¨§Ly'9Nó¼7€°[‡—§´ HxX‹Ùß7Ü# úg9À#(þÈTEòàp+¢DrG Ê ôtZŸÃt0›1§Ácw—…ã í2 !¼×ÝäƒßUH@Ýv‘¾;F™‹"ã !tË?‘µö~†bŸ„¢·.'ÅG!D¬HHøô7GÆRÎ6®q%äÒü\§ìvæ•)— H4{ìpcÙÔý0´û`Wÿžñ§•ÊúÏÅ?ï«§$µ†ã\ô݆Ñ\¼Ú8*³8ð*¡c&tðOzxZÛ¿i¡@ÊkšŠÔÝî¹õË¡Z*ÅØ!ÒgÕz¯ã[Ñ¿Õ@~äTGíúÒ7€ ï¡ùxMj­¯âL!—Õ´áÊ:þ]i²nítóÚþa»BÉ0£JbFøiQ}Ëݲ”Èà e–¯‰%+¥)!aãã¥Äi?ð ÜH2B ™Ù"~N)òENÁ_£1VªçüÑÝ|*¾1"\rê‚ ,ÁzäGfêåÂA(2Y/Ôò(~_Óð!"Ã& øSŸ=vX~‘ÃI^zö°3u安Ÿ2u`åw»*èÐ"i4ÝÒ<Ì¢ Îm €÷ò®¤‹{žànrý‰(µ#'.\°?ò¹nh!ýºÄ‚%ì~«B£)¬ãŸZSðSøëH —l2%*w‚ Ð-‡š–b{ßJÀ»‘óœ·*ÞmÔ+š®¢:öP;}Ín¹ÜyŠÛ­5WüÈ£ºô®ø×¢,1>K—D‹‘ÿî>[ë8+t„ÐÚ€‹Aþ@ JS&ÄÇKß ‚!#/Èj¸„Ê:‚¤¿Ü¹KJŽG»õ ÌæV`@&Tz!·C£ì–lLÕ.21âð–UK2g©Xáôk ­‰T­\¶üØî(UM™R^ó4ÑWMB—åHLøò†ºŽÖ {#þoŠ·¾5%€±g† ýŒ(" ›î¹Øîìd6µr(‡Í›g>Î$‰d³<…®I6È·š††òÄɳBO‘‰ä¦Ýz79”2úOU—¹z‹cjU5°åxÆóÁºçÚ€N_ÓŸ fãÎ-vŽíXùsHúFeq½òž€…hMæ^æì£sÖÄzÆëwT|ŸôäÄâskR{) vˆÆšùžD»ôŒˆ¬'ƧÒ&§SI~‘±CTÍøÚ-ÛRÀ„0NÁ†*{„• cùð¬ÂfQš¬™v†ùƒq„‰œE©C!"’”Òfg7Úî´ý¾½ ʧ-ªѾh4ð‹^.y£Üøc ¹ÍŸn&óe$Ô½Þ^qa4/?ÃôÖÁR0•öÎκ«PgV^ÛJ>EP/^­#. ²ºiwç>D/õïc{GpŸe+Yrr“×NŽÎËC5 ˜iôI+¿z@ĸÛC•´ŒÑ™GÕÀ—¦”ºòýZÝß £W‹Ð¸’$!ÌÙj?ot7n] ßô>GE­b’…6,ûû:AÍ«9‚X2Þ>ªÃ³©†)§§Bé­ñrí u£ k¢ôÑv²D¼ôòZå.Ðω†Ü;à¼pÇQ’b ö„úo×ÎÍ ]WHtX¸6æ‡ê¹c¬i¥›OÁ³” '7×ec—äY)ùF _oõã) Õ1ÖÕ2î`äbš©ŽRÅÈÈ“Ú$"7?jT@ÙŒmB‰•\ÿ>¡k;ìuÇ. ˆb"^Ép¶ hîtš>r ½Í”¸}U:¡ä%L ã»-ˆ#¶Ð83sëÕŽ¨ªSÔ\HÃHêµ3ó‹=-øÄîÌbð`V¤”Òz«u§;¦PSdãD£-Å% æúÞ^êîЋ!Ðþé X½ßÍ&Å>†j;ºÍS7vy/Bà¡5BcIǾ=šþ´8²LhÝ÷H…g«)Åܰœæ€ùñ‰Ó4ÎÀü €ªu‘Þbðž ®š?vɆK"{k Š ~=šqpí5€– QúŒNs*mwð£CÌì„Ð6Í¥5»¤´…IA ;ŒÒÀ,8]Íþ”fº‰ww‘XêÂ/k+"X]ûTŸwÝý|`g†´NÆ¥å9áÒ^þ›˜ëZôh¿‚žPfƒÒ0ãy>‹å¾“Ðçñ†Ñ1ñG7—°~ÝnYâ?‘ˆ(ú‹xÌ$Å!²¦*Ã4êf‹bI=‰0_ç~b ¤Çy#‰š¤åUþñÙ.Ú'¯¥ å¹ê Œ™þFÍ1”ˆ* ª ¤þw3ü:n‰¹g^p(QZÏ ¸‡DŽ=ªø äùIõN›2ˆ‡—Éi<8ä©ÎÇŸFIÍ%l±GŽc6Í2¦RÞÞÊ©»³ÙŠOn£h_ko3½ß³<¥2ÑK¡fæÎ•x|Ä¡º…BÉÏ¡ŽµF5©4&ïh`OÛ;é5&Gõ›óòoã=X± ΈeH71¤Áá ÂÆ$Àl”ñ^œ§%~=f§Gô8‰ÚLÆà‹´¤û!¦ñFœ=<ËAuHx²¶lßµ\”ùK´t.,£) B–p¸Òì·…£ 0Áˆ\ѤãžîO´™DnÊLäGÝKsÕš#Ôá>=ï Ò¯Ù'ÃXk­×Æâ8ÛÞî§F×Èÿ*\ªBy’Û0pJÃu²ÙìVW5)NèüØB³qµ¾ÓK?•B¦ß÷ >Ԙ˭YñîÐ:¾ì(ÎTVL @ig¼) ñ"‹éoÖ—RŽŠfhøš7ÆäM¹ŠŠMüà«ngÀü«À„&—†IÞý¸¥WS…J:´˜þËoŠž^½‰ìägPè-Ó¯@A«ƒ€øcà'½õ뉭¨ÄŠ3µ_-:ŠÔúä})öý9øÕ]£fdH]ØyL<ééËúK/B·\ÂçÝöPÃÈlκ¥ö󂻣&(º3LÕê´hçî+ ©ŽÁA|–±(Ú•¶gÕGcèdú.Æ#2ãËOb°4j}ûŒ]×oš®Å3 Õ´PÄú2#WžÂú­²{9Ç¢.Û/ªºod¿ëƒLù Ùu~ãŒôÿq\ùF;çr¡–•n)h:N»©¶œ’åSw{ÑéO»:€¬{º­:?{¶ XÊgiËd²è}pÁ^Æ[÷qŽÈÒ CD4«ë$»Oì!â"tŒHuÒ^›´OJ`dÝU›om€b·²»‹0`ç$€b½ÍË ‘Ó‚•zdÖßPzæóç@’\Æ7l‡ ‡?J#ƒ±€mHü@~êÃjåÐî¼Ê-§i Ã`T6éþå+É+Ö7Þä¾ ûÞ˜ß:ð£MÇ‚·ºp¢ŽLj¡Záö?:Æö*­+R;h¯þpVä›á+-w „:.­HõoëúŒÓK/î·Kgì™±ç®?IÈ-qûÆunOIB@ÄÛÝ;Ƨ`m†ÑW°&öƒ»mAÄ)Ù†d±ƒÏøHx˜“ƒ&6B™†ÑÊ'œúµš O BתEYqÒêa"=””m>…9Ê7˜€,’?™F‚´,ùæSl}bÏæ0ggˆ¨>ê¯0§#©X¼-Ë´±CYÛw=ÞLо{˜qƒ—“Õ¤»,PŒtÞß×>Ñß”ˆÈ>.éjšÆ¯cɰfÁ¸gx°±~½E|1N´ªò¯µ½GÅŸï€%„ rŒ A¿¹ 5÷ì…ûÙè,‘½ëÛ¾Ò§Y‹bækàl-ôÞ‡4Kä,›Ìž¡ëÛæz) ÇÆôƒ‚Nçag¥«ýÝUyús÷ˆ3|ºbŠõ4jë7.70e”új¦¼~ÍÌŠ1/o[vÍsòoj ®vP¬Û݃ rÜDÂŇýK_ÕÉË]™ñ{õY9§~äíËó¾+ª$¤8ݶ—ç~é#jžW%@}»"ãiåžJd&JZú0MH…@Öj©,μ±ü‘é¥=­Ilýè¯/bÌ–?x[汨{©›*$NqŸF¤…Î!†)F8Ô¯ã?q·l¬%èÙ†Ò~ÉŽüqcwG_ïÒGð•¸nM¾–i“1©M ìY›„Ü)¬‡#%ý, §b*$ŒF Õ(´¨8‰_š]ǘˆµf$¼YØœDñšˆ¢Û¶o¨JcÏ„ïDõ„…“}äÀ¹3£¯¹…ésü#4©!ƒáa+hDZœ(s’ •Ü0âØ 3÷àHD=5Î$NŽ[ÂYØÝý²Ú£Â]œr˜0 Iöô©ægeáb®CÏÓª_èNW£Ñ€Ÿ¿yÁ3oýÕJÍÕ”¤¦–i>òxñ±ÕžŸn‡- Ò})RåZC 'yqfMò`ʯ™¥¦Ú) ný‘ê hhõ‡×êI¹ão´5“P.…üØL×^ëTj±ïʸ¢\6]p±´¿0%ÕÐGɪð|ר„µM‚c‹Ä)©ÄšÓK/1ŘÞÉÞ Î©6"ÍˆŠ¾…Aç*i£Jø¬+Çæü!` ÷?=ÇÎÖ%Ö±Z¨¾EêÄ- jzHw@¸è¤K윫égn3LÁ §QÑ3MÙþ:D+ÉÛH 9ø^axY~‹I±„??¼O«R>™ûò¿ˆk¯ø~;ʳëò|•ï¿D_$ÈÆ”(¥0{[<ëɬYI6~  ÑþE}~§™ÅbY¶Ê>û“L¦Î¡ˆ©f¤ [÷»@½GÊÇÜl=ådû—é)¿¼šc’´sdt‡±áWäßÑ“ùŸ#<Ñ'q";Þ=5¥ û¯ƒ  “ó>®Í:’óÝç#ÙÖíúä¢D‘–Ÿö§„Z#;3ç* F¥9)¨¿¼æ•çµ¢3ÝtýÔŸjD&o,bÙ°ÖJ›Å÷cQ^ô%`ÿºõv=idËllÛŸ‡É³]Å,¬\•J^»éC ‡„ÓD´8p #³=sÕˆE~T1ØßŸð6Þ™EŠOnBµòlvÐlŒ/PâĬmùü—¤8ÎFœø{ˆÉõWC=¡‚È ¹¸€iéýQÿ5ìÁ6šL…ó“CÀà-øÄƒ²tn"NAÔ í3«£½¼´žçJ+G@‰­0^ØPƒO/1ˆÊÄ̶å²™/6¸9uN…©¤B¾i „¿à’£ô},à[³”òϥЩ Ní}uª[‹š/ïï4U–Š-!®Wf–g^õTúÒN9ƒÜï~‘ì¬e\ D7ŠK¨&­þ££íë¯lÃòÉ"ô+#/;Ý@½ßà\ÔËÅ^ŸÃŒo¸ bnˆŠKš —öƒ?™ÍR3÷R‚5œfÃPÿ—Ç\ªºH‚|/üq²0r±Éì`Ý+7 >ïþDªjï:*¢öÖu‚ØÒͦŸ/Ä¿ ªT@êtåxÇýì•×Öƒ»ùìÔf76}ï¿›0Xþu‘6—â.ŽÄh§½SòV¯‘$Î}£€.}Ö,+R>QÐ)ôGX×`vÁs9ú-EÏßC«ÿ™‘ä•l5ª¾†Æ¶X·ÔýßmËЧ†àÙehE>œÏ6)ä8é«®ÏÉÁU¬ki’xŽr—roåÐ¡Öøxpõ<œÜ ¡æ_‡€Ð-¼Éù/½›{pÃך)u@mÀÂ3­ž@UãxÃ#¯²ƒÞɘç¯ú2n¶CÅ1úQ ²íGቭ߲õz©UÇ v$mÖNýÚP:\L؈=úx›¬ü…ï´§Ö"¬YìvÆ¡u %e[®âÂÂ6W ª¦åµ×õcÔ›*O¡oÉnäátBUŸˆNÐl £‰=5Ó çV&¹gmn:ke8µ 6½+óMíW "ZªA|CIaQÉ XîÌõ{3E,¥uÜ$3ºî‰’˜.ü¦èowhâ\«ˆ~ZÒÑ~^K\Yª^¥4”•*{Dx5\èÏ›ÕDaƒ­¶I{‹‰å(H…žrpUÆ'›þ>ÜKOv¢æñÆ`Öú­H™Ûò€ŒÂÁ–;@ ñÑj1Œ‘çÕê üóóf(àPDñ­õŒ?yqýŒó‰Éø›Ä°Í(«½’ȆOY$ Œ©ƒ+J>ÿè™~—ÈTÇÖÿ²ÙW»XC¡à3^Õ^nw·ÏŸ$<êä›r+– ‡Öe]ŒQ×/·rå_f†)•ýÓÕZBÚ٠,ÊùX'ÍÁþS‡^’4Ü€.,gúvoÞ²·ÆÄ­Y‡HÓè‹G`ë<®H껀Y¯2f7uÎd‘'i–ËíA^Æ“‘DôCã¶í.(,ÿl\ £©­yÒÅhQ@ÌOá$LQþv³#Æ<ÀÉÃT!-÷—É·JÅ=Ö#·}^6I-}Œ¬ðš\ ê¨@×l08Üð?Öýtéa`sà-˜×n'FÞŒBº¾¬NòO³ÞA,fö¢f¿e ë­"¢°`4B‚ý$†,0˜¹ ÃA3ˆ­³ÄäÙkSÈôG$êËÌæLŸ˜†«’UæÄ{Ê©ñÍlü„cã½Xo±–ï<4„ôhf<Ö™Ìjg…Ð3ô ]ÏHãšEÊóz]‡âŠv²¼ŽÎJ›®%<¹Ëâ3o-5äü'éóï•›2Ø4¶þ gcau•w7 ôò FÿˆaRö¸¾3ÞP¼{ß&¾$\ùÉ:4x Y()?ê•eÄ´£–Í$ZpbÙ="X”N”3ÿá#§‚«¤ð©Eø×ëÂHÓ.0=puWÂf¶nÀ¯oöÕ·îGµ!¥ô<éG|‹%A„ðºûôn%€a1SxÁ/¡ìQ7¢~&AÈZÅÔC”í¢ïIR¸L;- 0Ì¿ê“V¦ ½üñüP¹· ÿüróÀâ¢ú¢ÌÇ_õˆžåóMý›µ-£UÄ/uîÂ3Ö¦M>¼ÿ÷6°ÌVÊÂ_¯¶ a¾à‡e¡ÀêØdb^C·;éíœÞè¿9Ñ·on‰¢mÀVYfù5è…ŸÙaÿuP4•cG‡±Ø!UízI¥]’‡óS¼Ó%¡¦hOÆ.Bæ0•Ù…²æAì³yú“áäæÅÈÄoÝCiÁ6²yzîu”³ïï4Q}1¬víÛY®%1¥.’8Áô!»‹À*Êêù—‡îP®=&JÁzÎ8 ]MFz»ã²M²‘¯?JµÄÚ%,º ú`\öÍJ²NËG>®çž‚¯Ø ÷¢öA™jRBʃ±aHQ‰€(Š¢ Hމ*CO‚a©ðÀÁ~Uz¡lJ‘Ÿ…ªÚ¦Å­²~ÛË"<¹UPÀº‘AÎåNM3J» ƒÜI;äò¸õÄZb¦“·úL?«,ÔW2ß±¬¯þàÉqg“*4d¹j3ó$7dñi,êmš8ä—¯ƒÓ NŸŸÑpç4U‚ Ú2Ȇ£áWÙÃÄ”ø“ÛË4O؈¼‘3x²*Õ‚ÅüáÔ>G"¡}Ÿ rñc˜žÉ'ᇎ; 2ú;´š;äEe;Ḛ̀+›æçæ}ZCTs÷9"k®¢1o¾kûô8AŒ5^ǪJfV¾¦­?M»#Mì[Û`p6Œü+ÅÎòÝ”õx|ºÌnŒ¼ª¨Ö |1÷ÄÍr‰©·Df8DúÈ¡‰»mªàO;ç ýï W-RêXv½Q‰yЫÎ|ƒØô‡œô¸eÍå~hOµûG°ÒQþò›Ûc>¬Š–õj¤6­ÏÚ­lU@X,ÏÕ3ü0e0…+Ž­ú§Y0 Ư8d ¶Z2ý—ªÆµÇ@¦Bð3´h¼«;ƒÇrŸJV¬E{Õ­ \ß« ½¡·FÆsÆdÐêº%ð¿\&É`g‰"›|µîtüû¦'[nyy¦jý5feûdù²¦Ì>‹üú‹Vò­Ðé$LZ!¨\íúo<#¨Ù…ïý™$z o!P!f ¦gnák®¬) ƒ¹fvW8ïKÿt;«¦R”¯@(ÜÜf>}9ÍøAŸ,¿/5˜„* .&=ž,›Ÿ«3VÇjòßQiÔ°à´ö[|ìí“=T¶øÔ\‚Ô“à%uýÔïŽb•[×ÔäñöÓX22'Úñåg­ŸÝ3êÍOò‡Ê61S'woÚ‚ÂòÃc•Œu›­XÚelUo(p6O ŽÍÝÊøÀ$à×Sâ÷õ!–’mYÁìö)Óþcg ´["P<›zÆE G€Î£"‡$s¤\àÝÖ­¹\L†cXÙ«`3}æÉ 9F0®Ô¦%¹òú¢ýÛmgPDQ>VäìØ¾(£\ß<&TM¤m4fñ¨QZ÷îþü‹ö¹Jt|o|Fø£è~Þ6-j‘À Ëä!ˆ„õ8Q@„|kpW–¢iÖŽóJ£¬Õ¡²Ì'G²Â—~‘h#ˆ®™ÒŒã€™ÎM.®ÂåÉjfhŒÌë¾¾å@Úü÷ñÚB½çó¿Oì×ÚÛ–M½@O’=˜c„b ¶<’ E#RÕç s6*Ú9‹ßõÎ&cÛ ùP㫦èyŽzN擘Ý$\v”=ÉH+ÌÀ?§ö6fõ#ÖE’E®¸¬Gá¤.'Mb%ǺѸa|Ž)÷÷[ ý)ra„>Àvˆ ñßêt¨ž’NÃaæmxÑGU(¡q“¥bAmõQ‡É01´”(×s©¤jµ=§Ålt&ôaIõÉ쓬é‚FZ~éž4Çaµë¬,ŠÑfÙŽ…ø]x*“!YäuMk½[Aë$颂FÙs&è@_‚Ô$b, ”Ì1ܦÃzÞ÷öE/<碛×ú|7ÒTÃÜï†a fw.Þ÷åWdC®Œ¦ìèØ"OӣȊ`R*ó‚‘²ÄxH•©=]†RR þ™¢çdU×3y” dÖtLÛ×? ½l?ËܹYh ¸Kßœ0‹aزœÓC:*4ÕË*û1âW)œeµUÃßyQcå¢ žµÇk r¢êÖ*ò6ùÎ7‘>{œ›ëËø®Û°#7 …â¤Îk`W¬¢áÆåè¤ùT?%R¥™öŸÛ´‘ÀOáºÇâyCCh˜ûY»Ž.vB»}„®®a­r”¥Ö´®vëa ‡lÔàD%Ùjr¾Äö.KÐô~G÷9>l­¬è;”ÄÀ`3{gز9Øå,#ɽ ²cŒàØ©žÌcTÍî <¬+9ƒÝ?¹ŸYÜZHh\è{Ï\œ\ò% ªc ºœÙ‰Sa84'ŽÂÖ ©Í‰vø]ð%ÞåmõUÌ㟛óŸ]¿ Ó/QÚz²¬Þá=g©Dß8Ò½8 É@sµÿ¿6¯ŸÛ6~CF}6ÍVðQªþG»€€ø ¡=Ы%5/·îväÌ­˜†J "\Kd>説¨ôð!0äÞ¤|ÖÄD†WìÎù$+.ÞOéÃ_:ØÈz”=ŒAjx!}ñªíŶéé| .["tz£ÈˆKy)/ð ̨1ø^#âdpÞJ0{—¦­•Ö‘ÊÄU8ðÀ)­¢Áâù#à±×7Ãì ÆÔ4i·ÜGì"k˜›ß"׃¤qMLwØçê„ï9ãeg.h|$}ÁdšM8"^Ä—2Í#‹¦5®cáã´¸±ð¯Ö„\\ÎjknL_æ¤OØ[­¼5BOCŽöÃζ-3àU$‚~\ âð´Aì‘nî¢L¹ÅF~ý’Ûj´†ÚFõNÇBsšKU!Ò¡öN¢›Èú>{ß§³‡¨‚‹¼éß–¶-ã=M˜R½èÛbXOéõxSÍIžA¯}€zmˆ±ú„Ü8?“;ùrM*ˆÈ›Äï!̳í “eHHéj?v©t¢Ó?_½À¿äÛÚý=Ç™•¢ƒŸe–IåBüU?™DÄíÌ4I¬,?3Oèu±·×œÛ-7­¼dV ×Qcõ=¶#Øبe*µÈ騺Ý8ç¬B‡3Ød4³‘ †Þxmí¯EC¥_-cžT;çúÓÙ%‚ÅB¶¡Åó¦“íøÈ#+ÍÂ:§‹ÏÙ³õžq0 Ÿ>ºè»˜EI€³F(Û²´Hÿ/¶lŒ­äiü¬^€Yôï ‘Ð¦ Ó¥²æ×¾ŠFxP Ü| gþ˜]¢Š}¸ãÿd@„2Eeæ¯G}õ[º³ë´«QØX ñŽJ4ßÏäZT¯Ëq,Ÿ{i|?Æqž4UÌ7™¥§š'Æ1DQŠñÞ½ÆîÄÝY>->´£Ç8]ãd Ž3AC¹ÂÈC‹pC¾†c$Ðò¼ˆòχ.þêb2Ù–‡jÝTæÃÙ‰p¡¯¸Wöø:Àõ¿n"{¡¤¢ÊfÄS/Ÿ¶_ ¿t ù|P/HïùÑÛ΢ÿ€ß§>­0‹¨WF¹àä–¦Ÿ/?ïJá÷ ` nÂ4œWY»0̼´²JW!@}8Ý\&ê!uN×0·ì¡|2Æ×(]RJZ k,v'¦‚`•e‡Ï¢c ÅHÀç bHþ âBPó°Nè.EŒb{÷3Úÿ·Ÿ-áºrëÞ”ûå§wþ ëÖ™U!JAî¨O«ƒïa’Óº\xØ âZ- ‚¶D}Áë¥×4ov0¶oüP§œ@¾b¹¡•Ä£[G0\èòº¶Wæï{fv=k‰cŸDK®m²‹‹>x±·uçu:ÄÊm¨–žUû¤¬:KâÌÇ5–K©údàÙh36Eë|gãA•Ie¨M¸$‹£4ƒåPÛXs¸2.n\³[¹Ú…ZÑvŠÔ8±Vræ7aì™ âÀûuâöU÷ËA¾}y çÏÛ<àUø¬4÷o‚ŠvÐ…Ž7Ì¥‰´Å’Å`DzlB8|å¥ΤÄfœ6è×”Þ,4f ñ.ïê:Âl0JÜ’ßœø–êÒ&›9·–¤šŠéD¨°H”ü´Å3x@Aýùϰýø>éE2s jŒ|ù˜D¥º*ñÞ%”øyiÀ .n‡´ì¾w=äàÄ? ªj¯­hG§qÈÚÁlÝŒ þp7ì7‚x™ ¡ê×Ni2—؆*0ÅCá®Íä­É¸pl’š×Q'í$ÐIÀY)¦Õ ©Ì8èlæÉÄ7k1ï$¡&0ô˜<­´¢ ^¯öÔÒO¦l2-ç‹Ð7î™/<Ú–7x”ŠLZϬ׉‡í7Æç‰ùL9.'é_†2êN…$zï«eÄÀ&×Ä«çItqSZ™\4‡ žkJ¶øž»Ï’F@ Ý !fŒ ˜dŸXË>ÿ4_&²Q¬ÿÔ²ìól>+ˆRs¯±š§…DìpÈßô!0ݛ֟M?üx}^ضø¤_ HÈÜÁ Ä©ÔÂ¹ÄÆ@‹õîXrUª«TVD9À¤;¸cgÖª6¼Œ™Çûë•×LrdÎ\¸<‹~ˆ$5>‹(ÓVÿL⬪Q€ñ©˜C|E|éæL.(¼m·Á|_) z¥C•.XwJ^í+E}T­4·Ëô%V3OYý”ü‚&ÎY4¯îÐÊ#îî Ù:øV´‰ +µB9¤iÐvž-{x7Mï„0¹'4¼ÈŠcïÐ-2ðz…P}kèïïð öÐgë¯f®s¨ÜR=Qãv T’+®€Çâ£ùàkDã«¥•°Zö4A¶\ö‰”îù™• + h¨ÜN–JV8Wò²/J½:¡m.K—ô8½Ö¨¹å9Çü'R·O§é@wåÎ ›`taa·¸€.„ZXÂÌôÔ°ÄuÅŽÚ%ïÿÉþï7Œž-(û y ݾšÇΑ¥òáÏÒ”øq‘ÃMµ»mk½ægª‡sÐäxð¼â¼FŽÒü8a¤ÕøKá¡ÛÀŽ i¶%•`J ¿×Åþã…Êx€|‚o 9mtá°ýÀyÐy’‰àËFF¤l½]P,‘>w¿n½sc´éuLyö?—¶eoñµæ8l\ 4ÌngMZñÞ•?¹üøÒÅÝó”Ψ}]›§µT¹a;ªñ>¦DÅ·ø Œ†sVÆJJMÉȈɱéÿ_Æ‚%)+½x]u+—òaˆkôÒÛ1OÚ^’B Ç’…³¬xv#m[Õí;"¿cy™© *ÒLª[•)½é ìK4Û]|fM_ѯ¥‘¾±Ýº„Æ9q#&»“¹‘YÎt Àò6ñ /. ¬ž€É˜¸¥8"ÄöìA4&ÌÌZJ° öM÷ñf‰Üà“†û¿ØIm4‰ÏC-ýÎ*ÁŸŸN¥—ÝW‘¼…‹àtZƒ¯SºW¨¾ï§^|ò¢–ýÛ©p-6ž,7VSÉ'^kdûŪ© ò¬ÏúíXÑÊåÑɱö:›„®Å¥».ZËy œ±ñÅÝ-)P:·Ÿb(CþÓVåvÕÓZºKf?á…L¾uàs±"—q"p囎»P"œ¨’oŽ=U¢>¯‘¹¸ôΓõ¨<ÔØ÷ésE¤<Û |{D/çºCþF'“TüAuþí¬Ãüpðv‰bp)rºÌÜæüFª‡7½8– ö Àå'©D3èï;Á”yü‘k]r±¤Ww‘ í@Ña½- ˌܤtþÈÓ‡sÞ|yT„ÇÀœåtÀ ÷ì"û˜4Ø_¾òá›ÏP»#Îk¦úE¤ò™®ïZÍ)¯/‹_ ^¨[±_æ;ºå·âä%¡C”®¿Ú|S˜TE­ÙœÒ˜ÆÒdÈqc†’æAovâá ×T•«sÎ+Ø:Ii¹ô­Ñ?™ºY=õé6€ÄeEÉ3iÔfÿÛQˆ¹Éû¿I„>sÀˆ_(«æå„î÷hG¦~²ÝÌÏ„Wáƒ÷Ïœ¨¯l–{ë´_ó\×—GI€A¤¯Aºq„ ‹ŸŒ53xð›G…ÕÞ³³ÌÖ@<ŸSv"œÒX~˜§exvYzƒ®O6úÉX›š šôMú¸ àÞUiÄí©šàq,%½½º,N@.d¬#ãd`°Úô6=Цè#;J?;½ê3¨ÐëŽ&D½»i½=8„¶— ™¼iÎç¯èœ6Œ3&1°wã¦Å Åâê­Šßšz­··íꉬòÀËÞÑŠx„ײ¹{DÚ)’ßÑ`VÖC~Ú±1B¥U‡.ºçM»FvØ~:Š‹IL_ăók/9Àžr%–5™|uæ7|F/ÓtÞ7–q!DÒL7 ÐM‡DŽíT_=KS>‰ì¸ÙG}¤ñÖhØ[i Zë*’¯£½.mÂçwíóØãw1 RlËR{Û„±¸Õ•ó"Lå,=ɤŸ5®"¿?h̬—LRì†È¿‚}Fwû#!¤èÊ+ µ~jéÃQ&1©Ý™¢Ô~C!„8ëÍŽäêêù'Œ]3U =ý/ÏÚuré‡d©«R^k+ ÖnXˆdè¶×Ê[¸NX¿Û VªŒ|ÞàŒê`|Ù~,ôf¬%ÕÐJåŠbÍË£“LŒšÖ¬÷¾š%##%ïîæì™5 Jþ§)=„F‚¨¬öýý‹NIOŸhn¸é½¿5]fð§Âõ8|ëM1u>E’9kŽ4ãT¥Ò1ÅóMxG:ŸŽ wÜÖö‡ò.Ç4ãjÖš ‚.×ñev;ª ̱ÁO@U¼þÎoÐ-ÞeM ÔˆÙºj+!P ä€K‡+Û}ØûoLü»åLÇŽNhƒˆ;‹‹^|ªÓ2€X\%ô“ssy wNNÇ?å·_¯§5†ÁÎ~ä9#­þÉ_(ƒÇ,Ü}¶na†4Šõrvvë¨Qxf|ÞáLh籉'&Uzfı^KfìG.H‰_nÝ4Sn§aMÈŽ¬4‹¢X|ø[ޥܢÞÞ¶p\þ™è`aþwØ;]Žb¦éða¬§µ8\ ÎñõQõJ»ó£âm¥ç-•Lo˜ƒLJkÔo/yü½\è‘õìÖ‡tr½â×ßÛ\ºŠÿƒ:bF›îuJÌ3FsÁ8NСT\k-7¿é$–¨=ÿ TVQ𷳂¯LŒ& Ù*ˆœóPØGò_ªF]©…„›sëÈqØÖÿÐy„ª#t¶Âß4Ö BZd²x÷ ˜¼R[ãAØ! Mo±¼ý:vù÷Miá÷B]Ò+M.œšjÂ/ÅÐј©-XwI;ѹ…×QÒŒè!_¸ì)ÑÙH7)ç§“¡ÒÇåÙþFµ'°àœ›Úe‘!«ë—ZÐÞç]KþUeê2.Òƒå‹K ÕZ`ó®XÜöèZ‚cŒ\m@K¹šé• µ˜¦Ý› ‡Ö)øJ#“âÂ-Ä‚8"ÿÄ!òéûçKQp̨st*aì¤[íÓøÚCΈíõCövEÀZY!ËkûywJ¿.I!v˜¸ÕuLTPÈÛ3E¢¯…üZÕxÒ5 áZEqH—ÝÐÏé6UùS+Ýl„ÝsIÅãÇû®É™š‡>=ëø 0gu:Ø‘—Ò­žA™D£c!:}Šó%¡waÛX©èUoOŽa„?·ÓîR‹!‘бâwDó€Š06ö}Á«%h¸cµâ÷\þ¦[- ‰^ƒW¿0•ýtqCŸ]/àXõ Ë"M|Gò•Ï7Wÿ>K_¥R#.¡£|ÿmÛíÏ~1]õà.’”ØLó\‚Õw7+ÕQ ¯©Öë†qÊ£«óch ÑàÑ£u¿[Z~ïî+kP_иi~¥²5Ítëüìœó2|ŽU\Pjþ •ÍQ®õstxÕI]-¼ß:ÝÑa묫d(Çé(¤Ï‚Qµè<åìJøÛ$ ”Ä£‰Z—ÍeçÄ8ù1ôr‹Ø¶‹Rß1ß?Ña,wfV"H ‚ÜYÆ´].ºT³bؼs™PXv*@‰,ˤ§Ev~[½=ü(ÙlÔŒ ©uîüv31ÒQf­b‘ó¶ßš¨=’ÜO»‘7mQ†´1–’ z³+mgÃ5仾E•Oö;^Ê ß6öÉÙX§&¨ÉOƒý¤k´éŠ,ÿ”p.ÁœµMºâLÙ['vA2^ýoÎÆ ™6ê_•¸¥¯•¼¸¥¢ëÓ dãå2¬â ½i,en{Љ$¾­ ÿB&—#& ¤“yŸ%¸üé^»½mŸRcóu¦A˜ÏOªŸB–ÌÌÌ?Ö0ª ( ¾µÑ$& Nµº¤^¶ÂöKâ _£úºýùŸðiË ©õ¹‹À, VȨRÿµ!üpT¯3í¬â€ý£/DXî>w‹ƒâÈ é™5˜l–÷8ôËÒBž¼øqÎø#»ð­1¨«¢”á…Wù®Ûľö,gz–hkzEãHïf$“¶Ð³¬ÿee½¹‘äíˆâ¼èÆ^ïþ¯ˆÉ¹ g—³õÝF]HÙAÓG)Abþ35³ÅZÅ{ì¿„QvÙðz7+ª›%ÖÑu¿Ð@e±L´ƒš…2€îZ`­ô*÷¥ÆXCàÛ¹¢¨œ™ñWl ëàÔžè{H¹'W ö)/7u)GÂ…àø~OU_ý£°q¢Ç“ŽËÑžÄ.óP.7Û’Æ‹‰È?mÿ :ÃI`õé Š‡}Ô^gÀ±Q%Žvã{ÛÊÌÝÝRJwwb$ÏÖ D޼, }힆Z‰/¸HÑb°'×Oé8BŒþjÛ´^$&/uÇB0 \|Ì„£Ñ€9œðr=ÐVFÏÆ1˜ ¸Iø%™ÑmØWm3z&W¼I¬7¹m¶?Ò‹'âµ×KÁÃ3Ó„«]ň~A›µŸ• †Nért_d-Ue¯ˆÚz¶)ØÏ!3YRïéNÙœô=¬ÚÖì-xsd£·„ÙïJ|aŽœ©FÜh¼1G‘à /¼ÄkÁf]ù‡¥†‰¾ÜQÿzí0&HQ[E7½;ÐQ߯}ösW°ßz ?ëh²T5­8¬@Pq(ÜРÍ> Qñ±„¦í²ÄÉÇÓÅ[F”äN’s÷AÔC¾ ÷É:“‡FòÃ@þwi2QµTï3éfíK*Õâd¤ê¯+ýj½AéáDÜ";”rÞ§òQí –ó@,|dÑLâ—¤)5ѤpÃR['”2`éö:'_u6ݧrÂŒwXSÞ}Ø´|ÄÈmWå7“]§ßÜœqJ½`T1tN rÕæµIžW¬R÷§›ïM¿¬|f¿©B»IÑÜWfƒV5 h9h×p,éâ·BÀó—ž;'y¦¡"ňå!°sêcœRll©[ŸÒŒheâe ýTÙAn‡äí!ß–(2©£[¡„ß(“…ôÓs[ÁMë=°éÜLV=7‰š¸-zQhéÉWÞ°V³æÂ°„“lü4?8úàÖZ/¯GÞ¤îÚ\Eh=ò’š1¥~ÍÚGgÌÑF_Û–L–lvlŽ1}!´1iümÞaã¨w¹GÉ óQ$ºý%ì4"c92ár‡Ü•Ç„3­ó·`Á®¤„s©ŒCôÓ:ö¯@i:öfH­°ñNDP'ÊgGëü( ^¿­AJºaKè ‡0žÅ\,C:ØjÅnqŒ‚ÚpëŒÿ|å;üs“7Ô÷¹Ïá[óù” ¬‡ï£rÁbw-œ°s­3¡ŸY¸*AU¹ðÏ,H9‘Ó¥8¯ï¿%8þŒ*¥,LÑÙÍšhƒ<©=ëJ *!Ó  e]aìØ¯ˆ¿ž/ûÔzèT>ÔuòxbN$ô'>¿3tG¬‚jtÖBkWÅb%êíÉŸn”7ëÁ'‘1š+çä÷7Ç¢Qn¿PEr+˜\Ú·ã6¢<îÓoƒjÞ<Ç÷g^‚é±1#‰øKKuXt›Â–3×{å)8ò²³£Y/¯ZÅ!è`kSÀ«à6V›ìÞòêWÕÐzyд•êÌzº#ÕëþHƒ$o>b)ɦÜ Hólí]žµvÅ‹æw5Bùæ£%7É+È÷„7Ùó‘P9÷ÏörµxmW-Hé«›nœLrs©sqˆNá :õM|¡ÌõÅ€ Ð âå(ÚWz‰Ù‘© J|}4åºÅ(Å®ôª¥Kn’R§ˆ=/?~Ñr‘YÀŸÓ±¨%Š/ÏÕËBe2nfÈ$ÚÔuf`ôꡜ·ÃøÂg­¼ 7`vœIÐ%u¬ÑÏi2%V“ êÔ 1R1Êh¤À—Þs5jáŒxH~ó%“{,BÈÿð…¶ Éþ=ÞŽ—¸6rƒõG©k$áöî‚´ŸÚÆá“  tv§í \Ùlbb©á0ã/gÇ™ÖÁƒûÇ ‚Š |Ä^:à€e«ù–Q]æ+ú³»•M@Æoé4HT.n$ `_ ¨é‰ ¶qɪ:?Pí~KŽ© K`'+Ëïß¡½Ð-:S3èÞÈTZ‘Q5™ü˜9 ið^w©IíM¹u:oŽª™ãÅ—‚ß9æÆ—ÙÖ'ð‹?i ¬.¾áÊáù‡¨úGº,‡o6$ÇežÑ·æ ¿¹(Ÿ» 14Ý*›T÷@ËÕ Ê¡FéGñÙ-°³Ï¢uAÁ‡m¡»ÍÀo1ûó‚xÔ¦ØG?ômKØ^Ÿ@qúü¿Ï.¦ŒØÙr€»1àÉe'$ÿ™‡*‘{K|7£ùÚ!„L(°T xEîÚÅÔcöüv‹JoyøYˆÎ §s¶üèÏFSyp‹>M+R«3AŸf—kPëÄ+ ©E쌕Æn»\m“s͹¡®)~üÚ"¤"úšÏ¨f¦©ý›ÔìHÈ¥ òmÙ(‹µ½ —D'RBgrÿ¿ÇÁÜ9僾¥}þË5¨÷úõ6U:mSÎZã"ï61í)¶+YW¨ð$]¯WÉÓ HšqSH'Í…·e©SO¨è÷É éöªÔÊT4‘ÕŸø“ÕxÐ48¶[8y8†òb( '(LÈgS"nÁµp’[\š2V^¶¦~óç{n|ÙÙî·Rµ¿ÑùêQ.vRÙŬûÿ/07Èz÷G§ÁÚ©‘ß¶?Õƒr3²@Àß‚L…!ÆõjÏyÊçd«,ÅÓß]¥lÌXI›||ñSÞhûÓ2åG¥u]•Í•›éA>Oá@˜ÆÀ¼h&×§mÞyÜ<â©€èùQ‡km"0Øj˜Þ­¡¦†}I€¥È€û*Ê¢CYc¨ê*ñØuÀÒÞ-DÆ ¨Åµû°”È¥'ìêGV Öï¨5¯pÙÌûwÔ#2ýJt~¸=וõÖL ²2 ‚b¥_4ÒÚ²ýßV «Wè’Ñ4Au }éÿôÇ/”£”g ­åÕ´ô|C¼#‘ ÌO›«ç+eq»ø˜ma4 ýÚ«Óò¾‡  ß?t A¿p¼Ý:žÕhU‡„ÿ97Š_,>ý#‡{¥vѵ­µ±w¨çfî° %@ú)ªCögËP1O¹Lç"ˆQQ°|ZÉM ûŒ…F?|!Ë€w|^¿Ý€`F—ÝÙ·E"iuîIKÆÓ|þÇ ±™êøÏfËV²oß%NùyÖEÔÜ~ãkm_‘j÷Ñ­`ú^À¦ _½ûX/•=ß-†Þ ÒÛ}=/o¹ˆÁà—¸ýqØ[³ä)æOÁg…ãÃÖ±?^†½M˜‚H?ÕñÛŸI¬„ â~…nGa¸ËÚ¥ ¤ÐÜóàÌê¨1 Ð¿Œà ÿ q™´a¢)‹l]\2ᵯœ¡ÿ”¬2×¶rÜ9 $ÕF-o{´;Á•ŸNunÖIqöÕ¨JéðöðýqK.œìF »ˆd: :(vrÇÛ«²¥ü‚Ú%‹÷Éè°§£J,K¸…t(ƒÐÔÔË&R§ôvm¿ÝeŒao ÚÝ¥kemÍ7¶‰©”^P‰k6}`Þ:Øš˜ãv«)8®ïerVýe¯„6pØûí=\ê!OØl#b¤tÕòJ™ÞPS@K>ÃìBüÞ\s5à9„8NÑ¢9R÷‹~$`0©4eÍãì°¥uNó´pP7Þ.CPÎ~écó5çÌ“9Ükóõ~5 ŒÄ•&GÓÜý3ŒcÁ2…H+»¼¹M 1ž‰&z»Ã Û¥!èÏ“N…cJ¡ì¬».C:"$´uÑ"º¨þº/_g—çü¿zAàÑB_FÀZáŸw[òê2FÞT„Í!;P´¾AÀç§pñh2©í"ÉÅ)HX‚ÕO÷ Á5 `„Åï>FV3ƒ¢V¡e;Î%™·ÅÜ%¢BÎg"ÍÔg8k8ÿò¶˜°ó¦LÖ˜  Zòý½ù‘§ŽC•gYןá¹ÈÆ>Úž¦Ê%/_¯Ö¥„Ç<ðár²{ ³µÖzá¶ó>VÙÖ‚ÿB*Ö[r›”Wö€R¯A8ÌÝ˦.ÅU¸æ5ƒP²4Ѽá ^ÁPØ-Ù!Œ÷±DøØâ…Ë¿#1ö ñ×fÞ¾Ç B¾Ò|;€V˜ÈÀ*¯:Í1 i=ã'i€Bíøya¨:Å©…E­åëÿ-ê"dû–OpÚh ‹ 4¥„ì‡;ƒYT¨¦ö´ ¢ãÆ’É6j€ò|®;GâöÎT5]Dâ|ÉrSôtãº/øÔ?ùç•Ö°±“Ô/ü\1P.¨>ÕZÿ¥ŽöÙÎ]lV'ÑlÈ È:P¾"=›ôÛ¯¸¸½“ðÿ[hÍžcºÞçéñ7-•#«R×G¨Ñ®GÊ»™SÅ’ÒÇШRDÐhi-r­–N\˜Ož”™ß` «p3Fð lo¸)Ò=B¬¨õ1ü0 †± [¨¶‘wd­ÔSò¶5¿ä¯‰&E–ôL¿œª‹Xâ[H7ÎÍC«WXÓ‘¾ç’éøäåédzÔÛ \šu–nãÐ z݃«‘¾Ó‹¡mX]qB|ìâ †$Ì9exØ„i«¯`ºŸ¨Kvã{ûÏ Á³1•âÝ 0ãËÉ<¨25‡@âmÈ#ˆÝ»•óÅtL6}Q1*lÞû ˵Øï MФ˜¡.w#NÆö„Œ€QÀÓŽNõ–Ôþ+h¥ˆI *Ès¦ÁÇ«aè‰ß›•íºõ=¢½‚‡@ÕäÝ™ÈþýÔõfœ¯†(r?%Ùº8Õ‘Cð9†=¨d§n+¸@¹ù”zÛ ~[] ?tkõnF=ì`\*«Lj.^tpVΧ9 1O_>r&KJŠUt=dîQ¼-V8/Ä÷¬bž¿äP£™Žî;dTŽÄ„è /n4ë`éäp ìWVZc%ª -šÉÕòv:' G-ÐÉ\å°×-;'fýÚ¢+‚o£EV`’“Õ‘Ùç÷ée"Q :9vÀÑfZà "nË‘Fçëm†ª²~sB D3ªr syBÓs©&¿Æ IQjÁ2Sðîó*åä݇\=~J³ÓèRI±ÖžÈ¦7'ƒዃV$ó Þ“€ý‚¢YXº<ó™@’[ù¨ólHÉëêœë ‡ò+7§;ØáO$B}"Ô(™ù~ÊNæâŽÐïVß¼2 yÐ } öû•±b楓¶òVpM–ï@ì¯<ªÕ1^ÔÝŠÜžåÚQ+š¾i#ÉŠVgö¼v\ÊRÊ#,ï06Š _¿½¹@Iõ"‚ë>c/ê˜ümʼnXϱ{Á‘çó$àS]˜g '¬00_§ç6l~QQ ÃFòÍEŸb#;†?W"£€å”!Z„‡9]µ1OTåþ\qÀ—†ˆ"g,/¬y?p(Ãïì"ªÛ¹Ž [•œà8¡Ä‹ÞŒœ-Sþ˜CvP‡¨¨£ÃæÜt¤ìd¸1ŽW {¥‡ÐÚ7'g‹Zgc&Z¿ìëº8ë]ÏíK, PèÂÖQµêbÉXš9»?ó¾~=0ÁŽ˜H·²á̪Ýb¥o×p •ú©‰o¿éUÊN!Ÿ?6@´FªÊ¿ïÜØ¿§ÎŽ¿‰¯ø›¥ >å*Mö²Î)+µƒÙ ¿£ì´ë¹±ä£¢þ™0™±}ïç”a¤”g6¥ñ,"ñ”¥æÝ}e)è=„Ç~0)!hü²`½j–€fÐLnÚèJmᨑó‘‰Ñ1¼¥ûvŽÛBÂÝñõxŸ»‘Nê³·ªOãëm n%LÁœƒç‚5Ær7o½6•÷ßãI{`NÄF!­Â4wQzsn¬ô^¯‘‰õ Æ`ôEóèô6 »”Ás†³œÐsÙp@‹öË~\óË‹÷;ŠÐÿ-r€„ÿ$ݽy¢»xZÃ&ó.àD1°ª†½¯ûð¿kƒg26e¯F¤‚¯+Û{xd½  {|Lj0Ý©3F/B=ˆ„*d\õÜK÷Z²@ÌMDˆ%ùáVE­½¢»Ÿº„|7£á«åà K–§ä%šÀ£ïn«X–Û04³Î3½.Ì6“s´R»ô”²zË„ØÇ=õÒ¢5z@¦0ßšcÂÚD))‹úšZÈÝîLñÏ q†J÷@› ‘S÷@iúëT˜e[O5íÕ„çݽäû›OQ  žnݤ)’ËDY$±Ä™ŽeÔ{Þ_QA¢¨A®±ŠxïQød“ÄMó…-Ùª¼ X¹cCõRßêöVbÅ.ÌÂN}~Ù.nû0ÚvvôøÕÛQ½Kÿ,¥~%éiðÌŽE†¤z ¼È‡°*ãÈZ^©%¡|KMµ!n79–„DóÖéTíÚ.&[9¸âz/NêN( ÕÏäì~8L*¢ÀJûUpµfN¤yçyP­)ߘ…¢iºb}O}@‚Q8=]Uéj¯/ ¦[\lŒEõ ¥ËÀæUÓvsD»\Ó®o÷&:þ/ÛH’òRþJï£yš²Ï"d{Mª„Ô\ú.„Çæ$Ž÷ê4Âc„6„<Üš6 ãÇîçѨÅ7Mªâ£ìéñÌСš¬2Õ£¬²_#>0qX’©‚ªÍNÎ¥dé݇eÝzhVô]_Çõd?rÜÑúõX¬ó >~$ù?ô,ñþ>pF–ÿ®14˜ýM²ùO|Ñö(!“×ÇTŸßcÂiî‰üÀƒØBÙ³ŒñS ™ÏFˆçhÉÙ¯'‘­uÚkÝ´IÆÃ€3utí %W€òç;eÎ*¢y½Ç3«K$CåƒÚÉVß¹ûjg'O³SÈ rßðÓH_ÕÏD½±[>§Ú¯‰ÛNL¨h©¥WÂVÈêò~¼%;mã*|1 }«€a‚Ð AÄy§€ètkª÷K’çw½œ7¡ мÎzbÒqã™ ªØ³„ðq—y9´[ƒ+Ø.NxóþRÛxX*Ââ™"J oÌl‡ BQ¢j篩·ïW»Û@}›zӶŦ۩glf®Y+ˆØ´l'+UBK¶š‹Ž;ª¦ ˆ‰Á¿|,#UŠÖ—A¹½û…gµà`&þQ7'`tKÁl–W¯ QV¡?ëN¬I›C È]LIÆÓ,É! ›Ä›S#}ª–{º–-û…\x\xç¾ÌÃíwPlÅ媰§ÿë<åwk’–é×?ƒÇý¸Àü¹]hÎ gƒÔEYÎxÕ=UbÚ(§÷Gª¬§²›C•¡eÔäTè?çÜ’R%‘bEÇšÖú, ]¤™Nÿý„<í<¿ÄÏO†˜ò¾²* u*Ñ`+þ_¦rÖ)€N¶N»ðë6ˆò\}Õ::ž;P¤º>@ˆ’­ŒÚbÇ)¼³"ÖV§/dº_ZРDÝb¾E…8}Z@•„¸•óvÍoÕJXT^Š!;‹sÄTôÿˆ¿”CÿýöÆÉþ¸÷‹1ð5æÅáí¦æ€o»ã6ˆ¡ )aÒ^ETøžJ;8ôö§8ëN䣂{ý##qŸ us[ˆñ•£|˜„Èý&̯ áñvýÔ¼áEy¨Î̲6þ ¥µ0àĺ‹^š6îÙ¢HLì™8¦çvh©ð‡èKÁzÙ€% Õx6Ï_¼ü\XözŽL[è5Ïà×ñª©Ž¬V´ žJõ‡öìvžˆÛÍüÚ÷2EP`³ùúßñÓý$3“Œå0hñsÎ þ„£5ÌËYüâî(Q'‹šY®ÿbhmws·«7DöƒlÝ*¯¡e4zԙɲ¨¼Â×ßÒç‰ùÓq6plÝJ*Œœ “}ðôðêzì“úÁ>€À|ý©$,u×y‚x›“ººÁ°]»¸Mª×¥íFi}«¨x0`Q HMñŠ#ØuŽx8ðÆãÉW×—;s´ºiIo4yé²)tbÿ¸?¢;26Û&ó‘µwqsðàÝExÙsб<¸…*ýUT:a Û§bú•ûsØà9Œy)eg@¡Êîs}Š4_r pZ^ß,SjÆúI~¹÷ºn¨ž@aÅüxŽßP":>•ŠéZÐs‡Õ”]*‘.µâv‹êñÂH.Ñ­&Zß´ ù\–%'ØÂCaQÿ-0/ –¢Ÿ«VÍd —ÔA°@f¥9½Ñ°lèFÃ"xœ¬·øl>gMŽnmŠNkׂ|NÛäc'Ð…«hÍ„ÇMɧ& /u8UÚ|b¤&#¡HuÂŒ¢à£Ä—æÄtÆ"Á@‡7í¨[Å 9’¿6š ¤ï‘÷HÉÎW½ÔN¢¶¦å48€T¯®PÇ@ü¢TrÏ$÷E™8Y¹ðS¥R*9ÚMñk¿ô…£úÀadÔ'„[ù#yeµ¤•Ž›yB¶xt¹{WÀÄ»§µ•K¾ˆ\¤¬«ø«/ÞØ(»SG÷9‹)à( nÓÍ­c(­T6s9°eøu+µÃS× YI?ÁbÃdƒ3j¾ë³·UþßäJEZŸï!}Hjðä1…a<{ÓŽBÍЦDLOá·|“{l ¬)©á»ÚÏbËCà5P/=WH 2û‹ùìGDþžÙe2ÆŠ‡r¬É5Kk7KÉôuH Œ‹™¬Q§È:ýÿUÓ2y°qôü"Ç×a§¨5©£–!ÛZÿÿVxÍ«Z¬r8gSÕ®ŽJoßYq—¦)UE¨EœŠ*Ý\ lB†Ìü¢uG,9X^gdÔqsôl#´S²=Œýùèåh• êiƸµÅg*œ]39ÇvÔV[ÿBëc"<× ¼“Z¼˜›Þµ ›©[¸þ>5Xz¥®=ö0=1ÔjVL(Mv¥5ê/>'WåÅ.\¥´Ú¹*°È›·YH‹BÞñn¸µðþÑŸ§ºïéôÚšÜæ3†çæÛ3[f0VK]à úŸ’‹ÃB`â5‘£+•]yA‘7bj u¨ƒè1iXXføþJ÷~À Œ¢ß¡KÄn±aQÙœ5ò@7Ï(†ሜ‡åpÎ †x…¼Ê¼=é@M1¨¬zß­)`êéeàE7Ñ”¼ê¢aÆà``@넃Æ^„"Êág]µqqÇ&w 7KfF°gdŒ*íôꨔó5Qob±&Èvqº@Ó¶•?šEΪ+o¿Ú_%É·xÿ¶ 3<žCÚø(=a¥·Y)7¬ñbI,-Éʘqú6ÞõÖ¹8•bæm÷Ë™‚1÷ŽvØ[eÒCçt-*¿ßœrøµ .—ÖÍÝx…ýe™‰Í"ЬYÌž]Y3Wá­©h| ³çU…½]‹8œ8vÙÉÞN…¸ì$t@Qm+r¹‚†PdMH9×a- ^¹(ÌÉC’™ÕN”áŸOfÖ{"X‚#qòÀ<¤~€8ÿ% ìÕÍ~´¢†'oöWnÞºíNP`ÖžM[˜xGËEç˜ÅbZÊp %b ŽÝ ðˆë¸:ì•:ݾfññ*BLƒ HHC¨úk…î!?òŒl›FC¯3NÁ¦‰ u5enº´oضÝ;3YÌòíËì¨äÈÃ*&mö€É¿¦Ù'·Cý•9N3ém-Îky¹³lU¹B’”yw&'¡Eêbi îãÿpÅ,‡þºÃ¨¸H¸Þ¥ö(™è/Á2¡˜À˜lv𺤋÷D¤¬°‰Øå˱þð†²¬,¾2•†ôo½ƒÈ€·œHœdÜ™x#‹æÐóÐï›8³2¼¨Í}$a¢.2082z»«/­Ó¶" D‡Í'4–^ 7=¤ÿ[¡}[t^;V„Þ@pj#êLä²ü\ø‹œÝæ¶›ø®ì·¤]ᡨhIaš–dx–0úû\²®¥ÿÌ)—® VvD*Úã j]Ì,Þ”ˆŽÙü‹+ÂPÆxb¢a˜\s3#*E-ÖN0Þ(ݦú›c^ (Å0K²v°æQ°g{ò‚ñÃgM¼¯klXž^Èc{¹k¥\«78†J>ö+yifa…E¥uÆVmߊu“Û5¹>mOzð(ßÐÕ2–ÂP×p®ø [! 7²Ç¯Í5Gå¥Yb\ÇYÇÒe0”Ú±dÙÍ×UƒE÷:01ñ¨pÚ É5$3hxºÉÁFW„+W÷ vœÊ¯¬¡þ÷@´ùÙMeji©.&¯.*í‡×½HŽCT6Ây\ídïù…%³»©ˆ‰“2ÄïJ’ÞÂÍ•¥rh²1èn\5¤î[ãæ…çtí÷æ^ ɳÔÚÉ¥ Ì)z&ƒ\A¾IÖ úûí®´Œxi)kÃÝðäÎ +½Ò©ðCÎ^lj"y%}maCt*ó¸–ÏR_•*]”ÜØ¼Ä°”¥Ž•úÏN|Xɵ‰Šàz½Ç"s·ÊúºpD› ÞÜ·7óëU¥žý¯R@CbêºjݵÖìkæÔØúNÈ\O¨ºW§·š¹¤£È­xº-a‚§'K9c×=én­ˆl¯g—á¿/Çmª øŸOÙ½ G³#fNÍÿQ”[ùi#©ªäWsÔ¯{›üžPÄ3šÄ ‚}Eá“‹ït?Û1Ã-ÏÞ­Iv̾1o´Êsñ <Ó5:L2Fll˜Â@´òݙۣa€~o›Ã†ãŸ†K|Ì=cÁáÄ`“K2²%`×£±nÔš{¨‹‘–Ëöü£ 3’¤ù+Âée tP ”“ÄQmX3æµåNr(' 5š%ƒ&¶@ïè‡>tÎÞÚù¤mиÈÔè 8+Q)n â [žbž‹«L×…¥VyþÇ=y ï^Dq†n—«P…Ô2®çׂ“«­,î^"ÄV“¹µ±×ØÿoTìÁ8ÉÕÈöÃLÒ Ip\íÉ„¸> BM}¿¤=Š#¿;Ìz@ µv3üÇÉ'wó/Û±1 àû›RI7N)ÐçIõž°¨¦måüðp‚+ˆÖ sð4¡ðÅH¤Ÿºnr‘0×Zù¨)í#óGÐЧ3‹„xçÌFЋ–=èQ„1Í©ãtäÄ~1)ú=ÞW@v‹•øäǺûJk'ýýDâš·\&l+™Rÿ ÝšF÷(ì^ÒVä!“ê´tô’ö“ÛÂ,Ã>ŽžÏmŒmµJFÝU(fz?¥‹ÆÐµÛÛH¿ÒDˆc={¬ãèoIÇÀpiY6 ›jhþá8\sCÆÌez.´ß¿î,ªì÷NâÑ&~ Ô/êKßSlk›e¿œÖ5Æå{KßÕ‡É'D¾]³‰Ùâ…þê‹.Âö'º—cfÒëB 5dòÂs ŒÐÈÞ!ʯÆ!¸œ…<³iÇKïçWÈ[7kç“ë¡Äû29£ÚnìÊ1ºáÁ¼sS´‘¾YOUŒÿ晦tü×8]uö°¾¿:ܽ·ÈÉÚ‚…S•pî)s ìûáš¶Öñã*Tù“Ê9a46(Èæ°Yv“´™‰¨ÅÒ—áWòÜñY¹&ò`û1Þð/[ÇÀyøvD]/è¼a„*Zëy“F°nƒôŒŸx3$hç‚$’ÿ]C†‘t !ú5ÛÁ6”ŠÑ%a£Dxu’,á:EO f¦N/%…JÁÒ‚öü½üÕÿ™k‚_®jKUgð#É“c"3 -⛔ȧàN¬@˼€«–ò‚TL–\Á‰ˆR˜šŸ‡10YâR*jLS7ýÐŒã_®í=­².ýW=H BØÝÞ îÇ•ºC¡=­DžˆöÞZÃñ5‰¿š1Óë˜ZÜ¡I¤ •F†Ýèj›X«g™{K³`凛d„4/¹H´2ÆŸ°Ü ÈÉ.rªú\Ñ@tXˆ–чUî«FV­kÔ°ñLóNfóð ÀÞwÅ,Æ©1§ø4v6¤¢óxµòƒæž!mK€Ê…FÚ’U—Q ÞÒeoØÕT›_æI ô{ÈŽU\s‡¶}Üb—ïߌ‚ïcyØJí˜ÓéIvµ¤°õVè Èòõ \VìŒÕÑ ë_Gp²‘˜À¹ ¡¦KÇnĈïqÛzKøþLH·1sò(óª˜ê¶²åÀ· å?’/|È.ø¿D­¡ÿnúrk³‚ºIõ¹7"X¡Nu®>’LÞBº5aå—¢ »!AãÀ%´u’^‰V@‚=pµB¤Llã:þèkõý´©XÙ2U&3à?’Pª UŸÊDhÄPñà+1Y‡®—AÑôLžE–xݨ’œ jNãÐʼn 8"©HþÿJÃÁÒ Ñ'4u”¶1E£P—.¾Á¶ãèÕaQ%ŸÖæà‹G’bG§ð){êFÞ#e•¤˜[¡¬¯‰œCù³Ù¡ …7±’ÉuŠo¾T›1AOâ¢ñê2ô¤ææ>q ¤¸oëþó€)ÅiöH{!‚WŠ‹ÎSã£ÒŸ§¹ºNjïxevG ’ÑzÁ]- ßâ3l3Cl,t?-Ãå•'-Ì.OÐX¯v}Ö5&ü}$í³ªóËvT©¸ $¢Œ7…Á‚ †ŒuS"çHvM>TýE7{xép¬R¯÷ô-(ß}*Kª#ʳœ7>ð=z¬*¢ÿgúÛüžHZž¨aµI«„NŒ¦„S_;»$jâÝï}~C 4¾6‰äô)˜>¸â›HÉ™îµÑV°zØGjØÄouÀãçf.ý³•ž„Pj2`G¨×YÉÎüâ¿ËÒèo)£úˆ™ÿ°n(RW'{ ËÀİÒýsÌ ¾_B•YaÇû3• BÈkhÜšÇ>zälöÓ™"¶\U&Ûøí4‡'žæáaÍõâj4· Ë)Kíó~ŽÂÍ›døé;Q¸Í‘˜M1¡ëk ª65(MN$”R¬nVÌ•Iúkñ„ewpÅß¿ÎúR…†oHà#^°0HP,з²¶v /\‡#ø=qVȉ LA³Ñ(ÌÄMTyÛ}THhÿXÆðíÔ*O­Ã¬êSB˜Z¾T”-J »ïÁhŸÊì0¥—¾Hɨˆ|†njŸ²ùÕ¦I˜Ò­p¯#=_5À¹,'Ëo8zjÄ‚$]@ôx¹”*`Ò±áÃwÁ€?‚ªª,aX½ã´lJœ¥žúqJRO^Ã&ƒtyŸþNú,då:$ÆX¥W¬s¦º ”ñLÏ#ïçÕΠŒz¤©æÐú´é­ f‚G¹J¿.òà«õPeÅðºƒÌí*ûή,0šU@±fz‡;÷ªƒÌ,SF`ØÎñW#påóQ&vük¨C“Ößë›m~wÿ°Ñ¤"ƒõ·¦1JJf¶¡òùã²îÅ›Õ* `í¸!õð¬¬ÇßЕJðA‰{4äCX›§x´œ[ùžœ•FÉ6½ìÖ{ç‹—:+ŒËz`6Xd°´}Š_ %i œE._‘tîøí¯ÁºìîöÂqH ý3/ÞÑÒÂ÷ÿ1ZÔßFtLËR†bN@–‰|Øÿr#@%Må9¿sœ4Ofè!Î a»L@ÿÁê?§…+ ¢'âR¥-¬Gjeö¶#¢§l8»?l¦T‚2¿œCKyÿ£³&ª§,}ÿökú¹€•Y°þÜ¿ £ àƒöÀ,™e‚ªÚáà˜è²(aûÝξdòÁaŽ’ŠíM9°“lÚyéÔë:’Kñëtˆ´©¢ß£¹8ª©ÈÛi7G‰Z¨Ö´o½Äߤ«+Íÿ½Ï­örÃ\?–*[FÏhÍY×<œÖ”ËÒØ<6¿úÆÍ"Óô-dêÎýlÉî[``çø9áí-"!ÊÜègQ ¤_8¾ ºR€©6·;"íOïé÷½cO6jc2ÞÃo ö’ÛÎ|Å6iÆ;^ ¼É'É»³¡°Æ/s÷˃9ÕGõ­Ü§E/ät\zi"û¯³j`¹úÇbІîó®×ZØãë]mÄ‹2Ük«§Q”\Î)MTn–_ûëzÍóxGl¹1<¡æB5Yqe.¼ÇrïJ¢üäÊWtêGþÙ¤iÖœ->bÊ„3‡HGz58h&U*õÚ°éÇsþ“„Þ†ÅÉ2!ìBM``DKå#r$~sr“3 „\[5¬û×Nöw';¯[•—àäCN±F¾ɘAai›Î¹æªÂ!™Þ’@is\¿“x•l!×±v¹{n™ë §Ë6PqLbQ°§rkp{r¹Ë?vµ \­–Kt^>\Û\d+¼„4F÷ÿ›—…¤» §â~^–7·“ü¯)€,ŠŒP™B¯ÕÜÄÊO?­‚E:[³ro@Ïû©µçɸã¸'Œ¾e.Ö…"tò¥³j E®Áwå(¿x“šÍ ' y1Gòyš?qÑh¸rQ³¬ ÁÞ´YHÞW§;TJØø¨Iô U#b!ó0ÖŽ«.k|“ö¬ñ=ýIÇñQq7¤Æo{‚AŠIœM?#·úÿyC8·ÿA"…®'gŽm¨ùA파S؃ÜÉVöÌË8(“UÎø´ÿžpÇ^XúœôŠUslÄÒnù?vµhÝÝŸT^8—›`’ZƒZ'‚ÑòÀìQ!`J•¬èºH_iÞTnXË o‡ßPÿ_™ï[ÈL«Œƒ½Ú‡Q•–lºk|µ',á‘R;U>[Òl¥üÐ(-»°‡~– MK|øv6)×{'ù+ºÁáçÓZ,vuGz}³H¡´€ME°“Y»\KfÌqޤ Áæéß·Z;ü€Ê—tŒ ħӑ‰Ø uñ|ØøeB‰ï}Çnø]ß EÒLE; ‡+‘·CÁ‡LªüDŠ7¸UŒ#`ͦjj i>°\}1¾O·ŸtªÉêPˆ¾í3Î{ÿNZ gP1ð&:e„Ž>»kk¶©`´„g¶‚u%|4Š©dÖG¼?üRÐ}ßuK;©êF2t¹ª. f›ÂÙ_Ñ?”…ñW+ÆEfxÕ¿2gþЫjðÁ7·³˜h!yœ2qt`Âh¨Fµ’ìB ûÒûÅÁ—uÀâ ±žÌÝÞ'Lây˜ÍU“E£©îÒœlˆuÃ_¯5@Ä¥Àš²š,|ªiB@`óÚçñ,ò<ôa'Kx •,kùø£Šÿé›í¤[|@Šm‹aнs¬N»œ,íUÉjL‡«k?ýEöþ Jc”Œ7‰൰w™­¶{±PLÞ'êãk±§/\3¾wÊmš8¿}¦åj¯È€ˆÚ‰ôe2©Œ³óLJÈb •|¹ v4ͼpôÞa¥v¤N–r*òÞå›ïIÀZûq_„h d¯¡•2‡êP¬•ØéáÌ‘™J 0²~ã ‰k=LÁÊKÞQœ{ŠÄ^ãÛ–Ž³¢:¦§¥•ÃïT•:i>4¥/iÔ]~RJ¼öö‰º_ iؘvœ3.ò1iûiO0 °¾Ý)ž{uÁ‹àïƒèjÍM²{äàktv·Òà „kdœ¡éº60YÓ]9ç{aç±q3,ÖýUÉ:è Ê¢¡Ï}Ö)ÔšàÈ8ÚÐZ9ð7 ÓÙ¥^~ŠfV6%̇$6)JžBn÷â¨Wf £EçK_ü¿a¡†cþ̨Y/T)ŔŮ9{Ö“tΗëÒqiíÆhr—n]Ï'ÎÄ#AƳrSo¬}lh sÊ8AšjV‡ÎR(A®‚¨Ùã¬s©ÇV[ÚG^ÿr„*kÙZ•G¥°ÄÝýw*w ÑF» s\úw(œ Ç‘OÆšïÙÇÕHj1¬ä‰7¤Òµœ°Ë)øjùð:Îeü{¾É˯ÈÑûÎѤɬ:ˆ%Œ3zד/ÊJÙW‡íZ‚u@ÛEÕ…|£hŒïŒG•ˆº]Ê)xMàãbìܯHï Q1J¯›®•Ðë/þj¶«É³ï„7×Wö/_ep±hî*MdÝò´B å/‡#,ìã”0 íïcªé¢¹‰Ì Éyuf½±nõ¡‘ÃÚXˆÂ“ÅÞ¯-ß­Tªáö`’§XB=qŸ9/®ýë½±…Fž*„·F]K…í§qËÅ~ñ _(öÇ)`$ûõê™›eç§‘Úñö[/¸9©N6˜ÍŒë$sÉ0òª2¡KXY¾„&7èåµåÈŸ&à ¡ »jŒ·t¿ÃWÁ(G¤Ü·"=ÿQG ´îÏGƒžWÿ|XÜðwÿ޶lD„ƒˆç³ò[OœŽv¸Ô‹oôÁÆG&ñÜ2ÍØ¬¥™,÷âÿ2º¦Ü.rƱHÍu–áiæ½&’’ßö0¶MÞ"ï ÛEé“ö¦çmóa,íËÌM©NF¿%‰M•·§I˜ù8P›{«¶?ßè—+K¶̪*2 n$5â+.úõ7™TÔé3{doÕAŒl} óA†ºî;ñžóдª­ Ƽ0«5…*ubFK¨ÎÝÓlRF©z¡^[— 8­%i|¤žy±ï<†÷\Q[»F |3ÝÕpZ•M¢¢ªŽ·þÅÍâÊŠ$sei ß5Éãík‘ ÝbÅÁv.v÷*@´BÀ£ë°¯0ÛˆrEûÂM¼ÞB-äBs}wGÛ*gwQBÒ÷ºÏvó½B# êåùKGÕ8™|ÎÙ\L?E’”…aŸÿãäËÚºïð òà‹&úå5Æ=º%Ï!'yñ†Pã=õ¾Kx÷nyé{kðÇš®á¹fÏoçh(ÛÖ[ó±¬ó=Tm›³–Óâ—Q°¡ÖDµºÿ•^ìClÃMZ;M+QT]FÁü=_‹œXÈ2lj”ºW6»¿)`7@]âðed¸MŠ®»Ê! ƒ7Òï‚]‘K£'åˆéNùù–¦ŽJ7´bþò S] A½oôèBl-‹7pÏrlƒ°ž”Ù]Cg—pµßÕO®DêªÁÏ5ÑèAÃl»5&œ¸øÓͰþÆ„)#&Žßu;ºµ¤ Èl™~ t¥qµ(«fa¥&ã¹ÓS u'j&UŽÂ—91©VˆìŽq~¢ÀU€ Í3 ¡ÙNõA/øµ>ÃY 6 õX¶´y{v(if¬>Ö¤]ù3¡)U2\>b¨-k,µÒ,cc±šb!caø:~iYI"4¾Z|Ò‰&šF:¯Îɯõm Áqó!^@ë°ëÝ6*ôê­^»¬ìÿGgh€¤ ©ð,༜äJ–°-UÀT3X© ¿?Ïåá9­ŠHä_´1xØjÊžyåZ³cóÂÛÛ$K#›öúW:…¢6IÜõøI 0¦thªM,QŸÊRv~ºØK“ü ޤ^øªÂA⇭ ¿Ç!E¢ðuãgãZÝ_IËêk‡ê!uá£ÍÞØ 8ÔEŠoSûz,¡è p7/êcsêLBƒZ§ª#ZZKwUÁ-‰òõ\”κ6•­B¹ôÕ³rE# ¯vU`F~Ù“«L6$5xÈÂ$ö!Às\™ —á~¿+Cñ^î¬ S/¿é¹¥6B48}À,`%†)¦CЃžáº[O|9Îeçgžî²y5–áLZ çwy.¦UÝ™€úG´Wˆöb4ܳvHû ¨ò+-oyC4¹df"þoëÍ’ Œ‘!·u¾Á>mu+º©PDæk õ—íZ °ŸE²»\ÙE8¹bú±Î•S¼®»´þ‡`ñÅX¼÷ð'BÄ£i^På˜ó¼4¦zµ*¿Ìl; ž‹¤ùÃX CÓòsGBGgg™',ß!¡,o‚ÄZÖñ‘_¡ 2¦ñ°qˆ‡ÏûåO.uxáç¾¢ŸXÛî+üŸ3L[ê-9+œ!ã'ñ è ö%ÛøË½¦Ð—®²w`~uŒ™ÿb¶.ùÐ(ò-ÖÆL’Í®¼ pŽâ)køk÷œkÔ‡Xr:¡ß` ÌŽp¶^5ð9 hìlåŠþ¹òõ&j:üâôñŠóJÙCÑ=GmêÍG<ÛÚ$!gÝ6³blÍ“3Yj\æ ßYñøŽ‹DxÒˆ¤›Cð˜žÖè0ì"Dtô~P“)Ó"ª¹Ï°H–úgƒÏK·1ÙuêYÖ¯Åľm|bæ‚£8¿¯ûNåì¦ø%r+P÷£nöÝ8Ãz·[2Ã(Ýâë;v:E4¶Ìuq±’­Ëaæ;gÖGê)±Äïóòñ²á, <Æ…TšFglr3 ÷L*ÂÂäP®#SÛΩöLc0ªeÅìêÑ /j”!hÕ¦SÌýÖŸÉ»fOgöDzI‚5~¥fçHžw²fn–ÉL)ˆêMeÏâ‰L‡….À¡vâ3‘+ħðõµ~¨Åvöd Èp¶„-[¾S¿ÉÿfÜ/O'f÷.;Ÿ^$¸N.Òå é>7,jn§6…N1á=õÆï!óî¢_ò±ØŒ«‚‘}]ã‘n0'þîÕ4ÜØ”ë]0AóßfXkC«˜¸ôAìâF·1ÛyF‹Æ’XKµ[›Um >»$Ê[lˆÔ*#¤/ «æˆbDÕj×ö¦ßn6p)<ýy÷#*¦iÔºÃg8g#.M»YÝÈC ³ðdø €…OId•T„4Ñ 2è/úAŒÃ¦ÌËÒÄë.*o <Á—V+×U1èg¸tij»ƒ×û®Ÿ~€Ò&_]HIu² ã5ø:% Œ;s·WÔ«’tbÞÔ¿Â(½¡XJîšm‘”ZkœE£ggXú®‘¦¥Ð´:§Î¾Í<»NsáúÑÃÆˆ ‘ޏ,+¯Hrlì¨ßmÎÑ@„(_´HñƒŽÜ´˜²´rÈii³€òŽtˆQ†¸2¢Ë.m’ñ6ʧ£K?Á´¦µŽˆÉI•=aŽP $>1¥È9¾(k¨c+géTZv~ˆòCk33UU¬² p~(RHF]RÏ,—»®Á°®Ð"5µ_5ÔJ%o@^kÇÁÕ™è­ È" Õò„Ù¥Ò9þù¹Ë6Äù˜ârä­I ¼¾1|&œP^œ³o‡˜a=ËÀt«ö:kàÊÕéý ˜0Ûå3ªþSg¿VÆáƸÛ½-kå¡Lrœæ8òй€çA)NÛw—Ô¤Iî\j^éÿiàfªw‘ˆ“胪JŠÎÒ21„€ÖLÐmñ™s¸h;F‡æ"!ÎÎoR Åæò5ïVQÍ GÞÄ>âT†¨N]«üRÌü*Ñ[… Oôµ ü½XÁ8äšñsÿ繘Áª-6Ñy•{a¶|@Ši +·ƒìZ@”}üÝæáº4f” “ûb•ô¥NaÓE©}çÍÎʃÚÉ×´…àÏ©×TZ•bh`(w ªª93¡Õºå*%°°ÏÁ鑪W¢Ö‘» 7²e"ˆw'ŽUQœ‘€E!Äq*d=á-^RIŸyÄ9³v*­ü@K‰Üóüôƒˆß ïž‚–ŒÊêPøHsúнñ.0ŽÙ6µë¶1\/sŽÖÒ/†9Kæ›&먇1ø·ûd+ê8<3ƒÌø[ jäÕ,wŸÏá‡çnÅîy èh’Ü®MKísYÁ—|±š1ëAb¦ôæ}ÕbŠ(Q[^n`0̰OÞÀI6X –ò“þ­)æI ë™´.yÊ6Ž–juOŸ.né¸Õ)À2IœÍü°²oKˆS»+__‘Ûöºˆ"žšimE„Á² FÒ¬<Ÿôìc׎O¾(ÿSS1ébw;2¸Ä+…z¯¡¨|ДÇe©,’þhŠ+'My5‡FÃØÑf”]‡îLQ&ŠáÛJŒ¹Ebe¢\Ø•T…E€]ÝE‰Ð¡£@;úL’ä÷µgÒIÓ­;ÃÐÒn;Ißhêûk˜ª±‹wößB,  '.ŽÑî”V >ªÿøÐ—™ƒñ—Ü¡=Ô“ÈŽÇ%ÆT,µøàs£Zܬû9ŸNWhi?3<±zãjôµÊÑþ`ìLw@hABïp܈.ïéºsx ‡á.ÝÝ:Û©É™ªÌQŽø Ü>Q(Jvßq¦g_e;„c3O5Ê „ÿUXæM·kó¸Lµ¯ÅŒí·è'ЀÑ~Ò ¥M7¡öè‡\Ö™À&pz+€V{>XUdyËªßæˆ¥W†ò—’èg‹žutNµ)¼hȹœc˵–ý`M}(¢ðcª§‹!pÀÜûì#«Qƒ}äÚã÷Ú.›#c/dz^½;LÁ¾šîììîëë6¢G/ùTl‘ó{ ^®îì÷?¯¨Áš6ͬÏEà-#‰gV¼Ìi²·Í{»òßæ}ýØô–—±P/cÕŒPxW°êå&,*· ”…áЂá´&n‡ÿÐÐ v8™Ë¢ßµu0W?܃á„7`úUŽhß&ê¦1‡V$Î GÓÍbðÃa €íœür›JØÕ´ ‘“ê‡bÍ ½!|ö”’}U}1·à-¸E\ÝŸâàUÏìÐqžÎ¤Û­<‡Pç5Êk¡@žÎFXzØ»€o×"K¦ÈPê2:Þ§ˆ€…m¿PHüWö+¡ úc9bp=VƤ“€|^ ,ú2àÆ3°äÖ»îÄÆ.¼I}ñ#~ß ÕÁú  "ÒüõJlÉIÁ]´'$“ï:]7ý–ËB_E Ô|þjërm¼ÒÖ»ŠYšÿãÔ5!™àÓζ»Ó¼CCÔ§’ÒŽÞ§»™$rïuðg¢y§ Õš“z£.¿[åowºŠ¼dÍopZžùýo+‰'¼YoFѰ½´æMm5Óšåº*é©5ÈXÁ)Ýÿ\U©f‡åvC×”jjªot‚k²á·]_]Å%/º$ó % \Á7-ñfX†Áb;“«¿%#ˆNJœ ÖhQÂÝÀý"Ú0Eeßüþ‰›ü¯åÍm¥moõ íÇŠ»>@ëdÒÓ‹ðžºËÌ’¥~j,v¾¶k®$Q×Àsõ<žlÌA4vÔD~~ሱ‹ÒF‹.º…Ðc /*tFîS| ƒðÀ6ÿÒ`z¡=_êAÄÿ¼ÓiU :D±¯àhÜ›Ñ6‰~»\‘Æáõ ûÄ¡~$¹ªqÂŽ>ܧpf°{V/uŠ/*F/€+SÚ½šÇÚf]À\WE$”FâeË~þ2-lr`—i‘v@)ŒÞÊÂH\õêâcC!Q¥dS^<×lþ÷y2y'8 zÈüž!Bب¾Á„ds±ÅÇ`ðÚ2{{lü 3J)·ºÀO+'&"\ѪÆÀ5Mͼ[WJmÁ–:ÝO_F/;ãí‡KÌ©`Y}—^5OPLœ†•9{ý¯"Sà®ÞûÐÓÿ CË¥ÝEè´±%ËXÅU!ÒUVæÄu>É”žêøƒc ± O3` Nù >Óy±[ìËhϧvás‡îôóðfÀ•I‰gïéÿrdãƒ{᪻!g/Kh‡¹Èz…LîEûmÉuLmZ“¦°Hñ÷¼Öý» À^„x óªÜöM5 d„ÊIýDÙd·b¼¥{û\€Ì©&ŒìÁ‡à¡!=y-f»:úx™&u½R÷EÒJHS)Ôøl r¹$6y=-•÷ ƒY<~su,§¤b÷µaaLìp%ß±ÔÜäg:Fï…«õ@]@v]]BËj™C¦¬"$ÞÚµQUþ–à*³”+ð'Sºré'‚ŠuÐXNIÆJd9Y7Ùd®ÈÛ~UHv˹Q²†?ðqjöõÉäSŽi]{l±ügÒ÷èš›fbI-utŽÙR¿N;÷ºÁd +Š ,g“Ò3½g8 ÛõE—|õ̦ýôÓâÒ0ÿ´`ì"(iŠCë<ÞdM€enOõ<|¶‹V@Æ_¸ø¤®ï*}÷ +´MyW þt0¤ »g±^U]u©´¯“¬!¨ZÞ€àÚíÌ&·£âÛ¤güKC=mfæ:^@áÊŠ,Cs±™9Ò[UÀϪo‚k~ÄÿÎÝ1à*Àucg~ ÛP_aü]ö˘xW| ÆG¥lñnR¬G|{8#?¥™+Tˆ¥g¹òìèf•`“ 8©ñ­‰Cqei ™]Å÷\)%±ì(ÈT`™Ì—C×}0P8ã­®Á‡˜—>ú Ùë“ %™`Èó…µã·mÿ=rd<§’_å<ÿIÒæ"±B³ô!' õ¾„Rq(UnÇË*·3ż(ñ.¢ˆ+Žœ=…kíágØì™‘¶BaÞE5 ZE¬Ð˜¯¦`WÓôä µ —òˆ•èïðÒÏ,b¶—Ù‚eQÚ°g1íÉ">f4DŽq1ÌÑø¨Zš[lŘ­ÌkÌwÝc‘áBm&d¡ø§ªÕÈ–æix°WUÑèñÇ‹:j®r…›'YîGóÿ/Æ æ„p…s½=¬eö­‚0 P` ýÿûÑù4zQú‡gî_~ÑW‡ TåÃ6 Ÿ3ÄQáWÛ*¨Ißyñ]Ï -dh÷F#§Ìw4ô¶Ê®ßé¿Ü|,ÌÙòZ.$ ƒþÊ#ž¡Q¾êˆ %¬\wuí°Pß«àO¿+ñT ‘…’i½¯¦æÍ“Ò…!ÅÛÁo7“¬×ºŠx^a-g1¸L 18Uæ ØÀÎöò±3O¢‰ó1%«²à.¾ÙÁ;]hôqŒÐ)è©þ-ÚC–õ)åÛ2[—sFD$ºms@7Z¨×PÏ<³ ¢ï¥uÒ׿;¤’otæç‘!mÏRòÜö“EN¥vsvì# ” #ffÉ‘EYô$ýÑ çÒzå2||1a{;jºüéÜb=þ¼ôk²0zì\]4/Ãaä]Æûü¯‚߆Z_°1Œš+‚ï¬cäò§rKE€®s™wñöE¬Ÿ¨,î)ˆ•u<̦ÌW7úÕ<éK¼R‘‰$•ùæz™-ƒ©‰ù ™J^v]A OÜ¡¹Ð£®šµF¸üèdàØÖâÍ»ÄIu 2>‰ Uª‰Šœ´c&8,Ê [ûÞGCŸ®áúÚºØ.¡ã2¯ ´”nâo¬ì´Ižöô†™ã{Eæý?¿‹ÿ2ØBœéÙk÷rú…òFóV~±Ùþ|ÝǪ1ÚO¸—¯³ÿµ¦ŸóAY<…öVmÐtBi|b³ÿ^Mû˜¼¨7ÀdÌÚ'}´Ï"ìÒ6óœ·lÄ:Öé¸D}F¤b“2*ÿ:œã-Õnýzú2,=_£Ÿ_G£ ”ßs£ÖžvÛŠ,³ý[‡˜³˜ý#Öoše§v8£±„CÏ(CE'?/`%¥°6PB]ôÚÓÂd4ó—Š›çª|Ñ÷~ç"Z¼;H­ܵF¡½™•*qÉ"ɘ÷ïäœ!Ïü-$ÓœC_ÿÑÞF3}yËe³bì ¢gÓ@Ø8Üö»s{ÕØÜ ¶ª'”#³*»ÜÙ‰þ þLàÙÃí Ž?XJÙõìVǾNÆ@n¿ÄA¢ñ¬¥#0·)™Ö³õãè§ãXñ›5e*ÈJó¥©-©'.Nìïg[ŠR‹4ø4‹û¼%ø‡pmUU¥ zâ9TzÇ•Æ?rÿC3¢Ú4R8òªAä>R üñ+†K®u3EÃþy” ¯Të‚/R)¡P™k‹ðPr?º¡ºlý¸ü™dÈý¥}Y#”†ÔZ2ômÀo¤«(ùÎ>®kbí'ˆ~ôÐKã3÷Ћ¾Ó›%´=”Ðç¢ÝûÔ_beØ¡‡™—A1t¢î-ŒHü‚Ë3iø‹O¨vßË8VÊ©Y~9­$óÌp‰­³~÷%)k_È,ó /ŽÜ2Ÿl0üdx°¹Q#IN êpó¯äf&Ppf: nÚµˆàGÿ"óÀ¶P3oçfx„â±ëZq ’¶YÓ]èù.%“O]'AarŸÁ W0Š1“µkfÖG˜…Ä :a*¦©4’Ú%%qØã;I’u’DAËwâ9U·z¶à'£¼=]sÖ«sýe•ÔΪªÊÏÑvBxlY.h®)60¥ÁÖ£ßÏ(¨ƒ­QʧD0³ý?Ši½Ù¢ÎÿqûrÚãÔäîä ëåà\xܽOj9fy³ ÍíÆ·ÕMfK!kµÊT‰€MÊ£É#‘­RƬ@MYˉ”3%SÁõ0F!›"aotæúF Ðb”SyÚ—áýé%‰ŠÆ4%¥PmYìø Ñ,ç9ÂÖ šŽ*ªn*—h'h ⨓à£#O6i½bÜñÙGI Ò[/4úûLQà®F7  yÉ!!+ÔD-Ùôñ'I :x©¿ñŸ¶,Í"(¦ƒTìÍÙä)R¼jOâ(0Iè/3MÆiØÑH.+ %. Ë``ÀÈÁÙâR+Å^MuO•SòQÈ•JF =ésu%´hâ¨0°þf¢®ü¹±@`¸Û&áy©x.çO…®ö×»Ðü1eR ± £}x^k‘ÇUzœ€µ¤²ìx•rÉÓYÚòy¶ÀWr ¬9C:iC°0âE)T‚bãG,R†­ÑÜ@^ŒR¼…òn&—z8ÂéäG(;HvÔ]‘Z=ó¿KB *+7Öä®W:qª‹ß5CZŜϰ٠܂Ïn%çÉm(Òví®—AƒŽxØtÜDIyÅ’â¬BDâœ9°(ÛÓtæåÏð ¥ÕþƒÑã¹2Öû‹âü¸ D¬á'ª)l1Ý qzâu*¥.riK¬ÅÁSÁ¼±§ð刿XôŒ þOÕyn2þ3NÆÞ0ùƱeá®r=!if§Ãs¤SKEb®gÆ=ºJͨaAò»'G=  :2®&.{kÛ{šSȘhŸi±JX3„Š´p­uvµpti}/Ô¯|õ”Í4&Nr~—l×)¬‘biƒÜ¢Ï§T•ÀÅP¹>Ó|dÃtª2OÕõZ¼ajöq§‚^WIËN3*f,ú®í"Šp„à®Ó¸{8ËJ±+(]ÐdzÛDÜø“b1Æ tN$.åÈFª8š®YøÅ^¨¶gÖš¿Q8AÕ„-gks,¯7òk wi"£OžaÓbŸk˜Š`há™H;H€ s¤­>uHc¨¨]l+W«ÌŒë¤-óÎï°¯«8G£rD¼\î8äq8…(†èäsÐë-1ô&Ÿ[¹sŸhaî–ê]¶x–ƒÉÕ“`j®åi-M üøÿ®¥5 ¢Œð†SöŽúIôš«uù{É/ê<ß²¬Dî`ŠU¯¿0/{ È/>Ð O¾ˆ¤(ÔT}? ]¹–®Þve‚¾ÒJÇ9|·ßßÔKE?„‘½MXâm–èûNº'y«\»HÌ|uìí8jQËXlFú(ʃs̛ڼ"„"˜>„v|[Štbå¤)Tû}èæMó$)SžÃ¡‘Øp]}e5›þA 9ÁäÐ:ô8±$Jä³èÝ»ƒ&µ$¤ÃZZÌ&VhÉ™ÇÃÑ.4åñÂ6ãlžW«»søL:Û†ÜÕ§%õj9fhï^~ÛH¼ÑÝHí‚Ú¿º1–@÷Ì&-ùg ¹f;˜Ò°ú”>n)Ñ:&ÁT¡8x ~1ša[„s·ë3e0ÈÈVN7V£-M@SSæ-ÛÀ~Ý=²Øåµ“'qD¤Ä¾žŽYAwÑ#Õ¢ÖW»JºzÍæ'~6kÏÑJ…¨í®ey1 ¸ä•CïZD¹£i°ê!­$ß|®ÿSlçTéù†M3³¤Raný7 ù¿"U7 aïçOrôÀÐP È™ ‹Òǧš÷A[è†FZÿg ŒDÍÁêúFIúeõ7æ3êy/uïП£+I`ÂcÓk©‚Ð.ø-¦ }tø’‹ì²žJNþÆB‘7Ï a'غ{-qRÛ‚Ó°{܃äe°2^0¦ûô ”„÷§ÎŽ»¹mÆD0ü×6,í"±\tmÉ7pBkó@A±ŠªVØ¿žáØ;C?H¦* 9ŽºBwŒ[ᇗ? Æ g¨c¾Ý]VO*tТœIo‹3¯–¶á¨fyhŒ“Ó,Æq›¤RKªŒ &‚’d¬¯[:<ƒoÃÏex‰o¨-]JþâˆÇù¦g–I¹Ñ ZÙœÉáfÄx'µ£§§{2—ªk§Äaq cÃx°¿bû fÏÇÊ H¨EÝDÙ])}áý´ß^¼Ú…ߊFpÒêM9ó-‚Q¨èû[~QbÖ¬ý7F^-±þ¯™Šë>‹ÜLþn}9 INB½Êpé–êÔÈà÷þpm¡¦6ëZZ|Ü*‹öÛì“wŸpÍÇÅIjYÆábÄm™ð¸D®®G¾eæ!ˆ-‰Iœ†¼ÿÂ!£âez^„ª¸1¿‚•JY+-ŒT“®GSÔbJ}+uûÉ´°â¢†ÎXH]Ým)­ø éïÙÐ\ç÷Ú²ØøÜSAykaŠ¡#Ù×€À¸$Z>ü u¼&==W¤råÖC*ÿ»Ž‚3QÅM¡ÚTÕ!Ë×g2]˜-W9=Dš÷vÐÄD¬—Ñ‘—½Éê‹,oé_­÷졤ˆ,‘š¡ r”6>øjt溙㡺ÐfÈc"ìÁfD—- ïàäâŸêÕƒsĸo±öQú Æ¥Ä‰öf-•¸„³üÚà üEßZÈ»m#S”.™ó{Þ®M<£Ž¸èáŸUlI>ó(ËBÀðƒpTïc² eÚ¦t’"Dî¸ÄÜˆÇ *‘Þí¾f’-:?pÓ!¶G@—­®dkóæ–‚T:¢cÍp£$«¡žK¤ž)0¡/¡J‹¥\`¤œ8”Ù–`Ív ¾³ ÍæØÑM£E›äˆâ™‰3Û–‹dfâÅšJî_Ô-¿ô"Ô‘{GÛ ®Ç#]Î%b¸ñ½#9«[…5ðã£ZÀÇ«@ܳ’¥1)R&û ðzv]PF|oÏüŽ%EºÖT<2z–Njæ…_ tLzÔ8œÄʾØøj÷K‡iZô#M§RáSTžÅZ Ž7$%\µYÝBÇ&ÂÞ’˜ZÌ3Nj›¤ Óá4ƒÁÇ ¤ÿP°j™Þ@/?<©( Pt£¨G ’ŠûU´ÑÇŠ}E.ÓýÊ[YŒ!œ|NÀ4[#@bACwÐäRß hj©ï¶7–Øs-ó$F–ý‰õXÝjõ[KÊ„võ®©“c¼Ž—ÓãJø¢>èÜ”Æû-N\E¿­H¯)CZ·½Þ#°ðÜ["(FÔbqeHq÷Á+»+InÆä"ÙsX§ÖäÏjîõgH)QJ³¤^š V4ξ_Ýø¹éÚv€À´u ÏË3Û¿çz¥6]dÇÍîÜŠVûÙB5¡^ÆÔ4²¢ñÏ(()»H¶ßáÖAËä§^Õf]A®ïáÓå¡ëöƒê‡&…i4s]˜‚,/– ÒÏ [ddÒ|Ò¡øAuÐr#à‰ v†¼RÆiUæ‡ÿ&Ãd–ʳ¥$*Ôî0ѨcL™ÃM‡–àÌCË&í O÷³Œ\¤L'ú"$wV~ñe7}ÛJà͈û'…O>çÙ¾ô›ˆÜÝÎ „þݲÁi0ˆV»v“ÿ*‘«¶¼ßst™ Ì'{Ú«ý*Ïåihþ‰-à°ÌUnªqùe±Ç{(#¥XÒTpö6l—-ÎäÆõ¯"ˆGŸpân&s„©ÌÁ]3T;_)ãúÚ Žü”C¯§4X¡ªš/É\• ‰€°œØà ¬8Q‡a™ŸlÙÈúÇ_Pv¼ic‚&|bÊÏøÂŠé úF‘«‰8œ¸ryÉ„:lÆi|ço*ÆçȾ$1nqS›Y¡¦íUÚi†WÕ®¾z²Û“Ÿ¬ß”î¼Ùqcij±dÑFÂ3©¶55¹HÍÁì£óœ®›n(½§ÿ 2ñêZñÔGÌ‹Ê÷߉¼O-Ù¶WzÆâHOÿ*Þv–Ô ù¶ËÕ¾ëÝîÁùJW£Œ&ËFñà˜èE¢€š›Ö£ÿ8-Æû$1°1Ï žé\ „ãO¼#ud1·IW‚ðì¿”¼\‹Õ % ’4[©À¤ïB’{eM™n9òfJ½ŽäÊÞtCº†7çÅsÛÚ4ú­¿òzÇz æYøÁ‡ªMÂÀ>Ki«ƒŽ, ì«dýƒ )8³€ÁÆÇÜâ¬õ!© Å+˜üƒÑ$¿zMz”ÔlÚ¹ÇÚåÝð˜()X†äéFª|^A¤ØD­ã+Eצ»[Qí¸Öñ,é¢=“¹Ã×àÉ‚º&eרKòãéoˆ5VšG®ÁŸR4¢ÝçZr#†¨]ZC}F¬=QMYuÁ‹6”ø¤YÅ÷Èà‡à+ÙІM•HчßÉç•$냰Po;P¢v<ºÏ¬ç³Ë%ÝßÿãÈ[RRÊñüW¡›¼7èq|âÑqÃõ„É’ãÅ$}ñj'éo$»i¯A›«Ñó<úÍÝÜWZ9 ©ÒêÀˆÀoüqVÀ&Èfå*_»å§QX9f‰-(à…(Á¥þ¢)پʳ‚C+’cßV Z” „°l\ù8&›”KpÅ‘r„¸¢Ý´8.`²(7ãæŠ§¡¸^/¥åž3GoÓÏqŒ×œ)k;½¾† £H¾Û–ðtÈ¡ïTaÏê¥å!üåQàý.ÌSþ=Ò#»¥V¼MçïÀÖZ–º. ïÛÔfí™qö[Õ%? |‹ž™xã{ƒÌ'ÔV†°8 XÅ@Ï^ø2 Ùïíd´tÉãPc™:¾X&Ǻ±¡ïH_2i.àÔö„ ¤­ë²÷^¹¢ðjЬÚ-dídÃ~n‚Á†&¡ùh±Áå #Þz6Mê¥tKI ι_”OV¼ C¿!F7í¥Ž†4¥Ø D«UžIÞ¨èaúS3ž¼¤’=eê7{½z lÓ¤U‹ÁÒCL'~ÓZ+uu§ÉT-e.·¸ÓîNc]GЦÒhxyæ~¥(!óÄ ŠÙÇŽi /b".|¾.]ØF¯šщ9Û{I_›[·r¯‘:¤HßÉ«éÔ ;Ðt—³l­£Æžù ƒÙˆú „¯r] [IwäÔÂN»‡úOß„³2ÔGlðTO`„MBÝk Ð  $Dl ˆÈ®ðûI—ÃÇL¤^ÛBz œËÊÉqydûOíIöÑkš”KfÍ/?¥A÷Ü™£~$Ýö~.›ù4(t‰é}ƒ¶ÓÏ™œÉ|µ‹¶ã܃¾kr”(zY`²ÙÿÈÍ«›¥ …GÎÞѼS [•¨f@ú2¶”[Lül¸(êD"N@SÅV`*”,ò£€¥ ]!fÑö®^ÛÉýiùáÛÊŒì“ÂZÛvä/Y¤²2 žÕå¤ÇÐ Ú‹ªþQóaïAq‰&—pÕÓml é·».¤ã¯Þ»t£<Ðb¯Å¡G5¿=Ìv‘/Hót•u²»Iš´Ý|ëi@‹¦ ßlØ)ûaî²-ê÷ÿ§§<­Õ¯Ï…¶ÐÁcë§k±Ù7žƒ¼)XëˆÀº…m/Ï^ÕÚ%êšH•ž‡ƒîAàöÌkýdf€B(kÄ—ˆ2‰f#êBn,Fv¥p»Â~!NvÜïS|HøCÛTWZ ŽgUnîÉ«€¡ü¶TÉÃŒøÿWÓÕÀÃèmÝD@úò0Æz‘paí(òe‹Ð œŽ¯a,ÏØž-.YPŽ!F{N­€‡]­nhÔ]ɳD<[‹û–ßõúËü¨>:¼¡†”f ¼Æ}g£~æóïµöUëþo‹…Ë2ÍÑHͯe+_å2x¢GJW|¨nES‡FKŠÒsLjà#-fY ÀSzA*¿Y a´[¨ûìeæHÚ#ÿêùü„QÞüŸ³£×uA³]Š,‹Gƒ×„ÓÉó“RAš—Øÿ¦åɇ³žÉ A„nÑ'*m®è…gH`?=¯¯ûsÕЯI4Ez{ظ<6›ò,½±©NPþ«7hnÌg¡þåÇŽ|—*Hib³çNŠ2{³³ß*ÖZZEto¦<{VGTŸ›P,§/ܳœÖÁ gíFÎJÚ8óŸ@Xq ;l ;JÓÞ5Fí|K°˜g«¦@­;zå݇6XˆÌ[ê %¦§#ÎVdœe`|ói’_®)ˆõÍc-5/± f«½ ô²¢4ô’£d€Þõ:Ä’Ô ÆÄTOj9SaS ¹¿¥cÏ´¡#µGÿâ O#îž"ú‡Ä¦AuÎ+7êj¤$%LβúƒÀáïð:óA¼ãÉ[ªEÊJî®ÝÑvWÒ ­·YÝɶ÷æËbµ>À¦i¬Jmß)[Æý…3³„JÐ €7÷ËŽýcÓBÎâ·rî ÞÉ;Pâ|æõÝpx’à§ fý8w¶% ­Ÿý;H£1C«UY͉Ü÷?1HTºw 7ürøvýóK)k“h´ÛÜK2ª»rU ýk®¢ƒQØÍÛM{i@[ÊÈð…iÁ >­) ^`˜ÍŽ“Ì©P¿Fî½Vv¸Û±§™)ÿ™Á5ª‘aÆj¬I¾þ"\0ì?ĸ(Ô«`;W.Ž=¢àçѺ™¢^ÿÌqŸ|û²snfÚa£"s9dpÈkŒGð]wí‹y¿A•«à(~;¨Õ—Á±÷àÁ—GÇ ]¢–âfe<2áÊÍåÝb¶ïËpò•âÌž˜FüGåjWe£DMRWŽî‹éÍ’ÍÚa¤¼TÕà‹é?jöÆwÖvfÝÉ'¤¨ëù[ï£N¿‰f±ÏÁZß*výQ»‰lì…²¾’Nåž#:¶ë#Jq­#…8Tåg#›ül(€äo 1î+çí4ŸƒÝ2'®mʶ“ ÷è/9l'tv&s!¢)¿CrÔ7íª†®]RÊY”yÀ­h‘FJ1_0ÛýŒ'§„ÆÄ±ŒŠ€¦cw9—·*räM\þ6NʸŽ^Úî}¹n¹y­ówç¾àOL´Æ9o¦v/§™næÖçÛïÜÄ_µH£Þ‹ unX¥aH1Q–kUá);EÉÅ¢×§jö¨ïMøÈÅÐuˆ:ÜÇS3<á- eÓÛÐqÍî›s*$C9’­ÿxl&‘ç=(!áh²G芫Së¼µ 7K EºâŒ½Ô+ˆÐá4pÒ!l»÷ÜÓWµ¦€n†œVÕÅŠ-Ãr!tv¨ÞOllÜ¥éªvíÇs¥hvBÓ@qÜ=p X-eÓD©MÎ ŠáÊœC—…§´µˆˆÐ £¬ÜµÉ['!ÞÔ.ë½7K4C—øšä×é"ÀÈê^ŵ&¨™ïXxÃ:̧2nFÎ7»¬Pº‚nNB墱ÿQi¯¯¬ë9ìLr‹¯n‰¸¢Œ›R8ÓI}䤭ëùêŒúVZw$¸ˆK –ЧÖìÕ']’zv–`k´”™ü¤økr^ÚðýËsn¸ÙwY’þµR^=(Žæù–„i—ò€ój)DŒ-rG~TVjÙ.º~qmŸª;tIéKùÛù†<|š¿õR=§ºKØHS—_–`±6ï4¶[<—ʼnÈÔAp™jQºO*ã\6+ýËhÓ÷äZ;\nS¤>à7¤Q U³3›8m ýßiš'BµQ9l4¼„‘zqlåèܯÛÛ9Àgö¹ªs‚­Ä/(­Èæ»5¸„‰‹Vý•^œã ø`åoüz5+®Uø ¯EˆðÄ7—ÆôÊ|®‹”ev$%¤v%kU$Ýj¶É›gpÑ&·0‚SP®½ ˜üj‡ö Ö0S0ùÐÓ…Êr/oÙd˘³B4ÝØWb^Eß­ L^6L´EÎj+¹Á…âÌ™$îíÂubS®óó9å W]éòñ§}ödŸ{’ÉL¢>W°B‹ÊíÇHFªD‚hÏ?¥9-’#UZGÜ2ñ¶Üšœ2”‘¬êè¼÷j"_¬p€@„ã:æ›±N –¦†FZ),ÉìÃÉ×öDä|l\H ÚˆÇE ùÄ夥‘¸p4%ÚîËu•Æ–íý|¯§ü@ߨœ7«¥„í6׸ñ•;_ì6qö´ë}Œ`³ý§’Úñ,öëꞆ¾¤ôýÔÊù¨p–Á×n¹àÄý‚bº/Crßµ58òw£€†Ë7z÷Î?ÿÔ9ÁžN?«(×^ y·˜åÕk ?Õ¨ ‡âÃ*ú¨¹ª‡îûYê3 šê¶’ßMŤíí M =}[×ÚžùÌﯽWªÇaERHb»à"ÿ 3Ä@œ9‹æYq¡6(*qqgW~Y¼%mcåÍAe n&ÕEBet•'wY–U?žüâ?à⌎n²ZHc¯ƒó¥qÀ•11­…J5å1š°sÖÕù’Tup‰Bð¯€ûÕúÒÆ†ÏéíÿÍ$ÍûÃ1H¹‹ÿ.lvÜfìP* ãÄy† €Îûfþ˪Dþr¬#ö%hƒ¾¥¶RlðÎQ”ÁÎÌ8;uMîŠRÊWj£ºÿƳ¥Þ7¾è”M8 z*éþ².ll÷ù„7Ò1ô&•¤’÷j]ä&ëð"rBÀXÿ-·Fʇ™€ÅmáX¤ªëÕÐË%)Ži ,óís\"nBö3Ìo¡Æç¥‰Y¸Ž4]°@ @†~qÑÙ "#õ€SéhټؖBÝÄ'п"Q£~xéï WHw»ÎòÉ•«:êx¡ijK‘p~.¶âŽvAí:8MËÝè]XPp=mýÛÖøíA}”ŸÚÅsU™¾P(Kø3® ó 6¬æÙH>ÛËt’ "îë’0PÃtô4JÖ¦Ö8þ±Ѷº¶Q2í…Å<÷€$G2q i‚¬ãS*ªýè hϾ/Œ(?{XÝuul¥aØðý¼ñc_E»ÖÒpqMŸj;_öÃ[u·î’ $p„žOÀ»%b \*ßëëíùégšâfR)ïÕ1;ÖÃvþµöøÊ_›­G¢{…ùÇP#4¯Õ”j13~ ›ã#J¡v òU³]º¤Ø¼UHàM³‹æûú/Þ5é¹*º™ ‰q›ÉÍŸŒ®½Ÿb<à!¢š‡\Be¨ •æð{s“¦H H/`PàØ|\8/s‹â÷¼b -Æiê`o‡±  úv‚I2‡Ê‘Øü{µÓ¦J5¨YæP¾¦@èÉà@]æÈxdFSŒÓйõ« €Göý…Ûþséú]2žJ–˜p€S†7B#)”ÝÇV*‘,Q=_$¤ŠÖx+4í/ ÷4ê^ÐEL©%2AÖºcQ·¿ò[Ê ›/‘%W0ùv[fO|ä±gH†`ÏýûÊËhŒ»¾|Y2B°<0œP¦?PÁræòâî‹Of‘â3¨˜º N ªÖh ÚðáL|Ž*ITK岨Aб û‘ZáóBu)?çšÌó!]4iÏF°Äû)·aÜè)ê‚ì8¡“`•ˆ›ç#í<Ì,q×4IXÞ΢¯j€eˆË-Íc–CÃ.q7¼?¾œïwmã’ý¬’é™ñ†¡Ûèc k=;|fP¿}C(Å¿ÌýݱÏ&õÕ^M |$[ùßö6 ÷¸K{/¥§ÑÙÓu’“bš,à0¤…ípt?F܉óñ4*ÙïÕ+ÙQ—Èæ§ÄöÕƒ· a<š2@  ’B” ŸøIúÔmÙ’4ªÁÒ–b Ò yËàsAøpŠߛ٤\÷JØ­]Cº¨+¤#ô¦×¢6#òÅg=é¨Çäèõ9NüoÃŒ\êZÀKBQ«˜”†i©n|ªÂ\C š=@ü-höZ ¦õ™CòhÓ(<ÆÉ!ƒ9Ÿ/ÕþG_¤©Hl Fá ΜmÓüsS»n¦øÍ•7¦Ì°ëñSFó6ª/ŸüéÇ#"QaŠ}%Yíü8Ð݈ÌrLÓ¸jžÁq&ÝqU$ÏÄAý0s?d ½–’^?´˜( Q:5ßœQÙ¿ý¼O†…ÃF»<áAž“?ÚCÛ†<3ÈQqwõ!|D–ÜéoN íÞ~6i[Y\ŒZ†,b vÊÖͧ$.ÀâÜÇ·ËkSiÕ0¾ë•vÁò¦Ã‚¶™$(m¯ÈcXZÒ.ÁÌÞYW»›§[D‚,hì?ºz>›æóØ$À›ÎŸr'±©~ïy©.·£ŽnªË0umK„2À4¶Ç(µÖ¥¹jÉ–´z ›•Ñ™6¾F£DÍ—^¿yRsróuO³©Õ~’nnl„5a¥•ŽÑkEŠŸøÂõa;g½!zVL]G_H}zÎ’¯k|HÜÔ´1§WóõúИ|Nm]0Á!×;7mJŸS¢ 5ê¢HI“&SbgÔsÛWm¼e‰'8ÓæÎÒÎï‹5iÁ^$—ŠîtÎo»j]¯¹…äåòµû°Ö¤º—EH?â´_äü7?­ S/: 8rá¿ôbJ*ΠèQï§lŠ@‚‹¤n@¦¯P Ö?+¼€8>v‹_pÜWwÝÊØ6>âiyjõ÷16 j|¾Ì¬òá÷œxR§žÆ5}¨Î¹üœEr§%(_[‹<ŸczÐ!ÆE.3¡õ¡Àθ¶@Ò¨ìušs«éž: 4l¢p¤81:øØÒ$w•]µÃ¨ƒ±2ŠGM̹Ãí=«ìŠ?6æ­üßc|‚%ÇD9¦Æ½É4:@V²Ð¨Q£óÁC•.â0…‰¢¿»³5ÉÖGÞ7¢L¢À€R³†¿¬iÓöV•˜ÍA¥|(4\€Ë<â]Nˆ$VoIú5‘[§Þlwp—u »æê"'h²¼”s'N¬zæÞ'¯ó,1þ%³·F x«€íyE%µÆUÙ}“¤D>±ðœ"ï@M&h+½B.Ñèc,,ùŒ B6ÍA¢0!£tú™´퀇”Ú«è|ÕŸŒåɉ‹†óLÆq½g}¶žÃ“å_·®°r¬Ž /@»Ø мQMÜ Þ¬+˜Ýã¦/GXvnÙu‡ÿÃijëXç‡þ†3É#ÈEú|*Ýü'h1˜á$?ŒgÓ"ÃxsA»Õ_ˆÓóMTLíòñŠÃ¸=‚IIH̛̉=C„µõ‚Îò@ì&»A^mÛþ1¹Â©” œÒ_55(àdb«ß̘ómdŠä9 Q$ׄàÍ‘(8<±šzò< AU€ÿú6¯”g¦Æ1ŠÜI}¥¹[s5hýÃŦ×ÝÌåš ¡1ƒûþm#äSd×,(>N;ÍöŠç+.¿U„ìÓ ©ðrµ¢%·¥’ÉÈŠQp×äØ6WÌRX¬Æß(l8QlKª_Œý}FÕ~k’ Ï"ÎlÄà9ŒvÁ±I %úão)ѱNôÄc«Ê5¼¼Þ­<ó´œ5îg4è8:gq½ŒAÑW3AÏrùÖ³î袳ßèªÙÎ’(åKÒ=Hsotøf€“¸@ù¶š‡u …Ïg%"À˜â<ÿâ÷W…•òI±U¤”™NcÁú)¹âÊþ‘_U YÉ]êÄ]îô:+p;ä’øÖÂÒ럞هáRâ|Á™PIú£~3þ¡ËQ]’rÏW]–ÀújmŒÓŠK‚½:sOvÓG x2}$S¤k:mÿ¹lì¨"9/Çê ÞÉÇf4§H¤ÛÛ‚éó¨™a©J£ ðÿtÔ|)G\M qÍ>§ýÃ_/¦‡)y,BJC>.þ±&+#(?ÏëŒ0Ír†…½}+Wâ8Ï«»ŽÒ™Ú_3†™ÍµØÔãö0#-BèÎSnݱz9òâ&p¢kן˜P7yšdô¹Š’ÌÕÈ0Õµ&ZbÁoou8À@;M¿Â[Q0”:zb3~¸ u] ,D勺„Á:ùšÁÊ0W±ˆÈ~?ˆpA¡³xþøßÎ{uì›Aô_‹AŠ©·Yìò5¢«óEÓp˜t߷’¹l»QnYXúqò„»ò…!Ý¿qþo4Â$([Ð}\ZL÷dÀV^ù‡×ôøÒŽâ,°4Ǿ»çø¢•ÜeLd£•ën‰S!¢®©É¼#&ž'âˆÈDvúÆÞJE©qÝŽ#Ât?+,It‚”ƒ‡”UCú~¢oÀ=jxoäX˜õ7Šº1ø"oME 7¡[sÉ´Nï@Z8Ï5sÚòeUÛ——®2^àêB,½£ Òª¡ÆŽ Ùž“ø¨Ú¼G¦‹AUI>æ}:“С,$†§„ÿÀ "p +—¨¦Ê!Y³Ùî්퉤 ì>íu>éÕmÉÁDbO‹…%È.½p„àv;>Û»¼F±K-ŒpJ„XŽ3>"0†jΠi¹ÿy«¾­îýÄÆUâ\äÝ‚ÄyjÝZˆ©Þyã­`$ýJÔ¾Ï%±rx•mÊÛÿÄS ‰nöX÷DÆVƒ»~âºA}UªØ7Îînœûˆ8_ŒH$èЩ¤éöñEÔ@½ŒBUM+‰­öó}… Ú&ùvaK¨Žêúô(AÞS)½{˜€ õ=ûgºÒüRjÉ žñ@ô]mŸïoÚ¨v M$ÆP-v†N ÓTE`£™‹È1{Ó+¨L‚î©Vó™îvQm5IÈb-^äJPà´=òXÔÿ=KŽfCî«JåZ)'!ZVJš/¡Ì+JÐìþÑmŒËµ€ì1¼øÒR‚™h'?‡w× * òÄíü¶KÒxàã|C%¬fTÜÂ?è1ü»5Ïdƺ(yk’»èzfFi2(åJ Ãe©Òs7¸FƒÙãìgu·Ú/wá’¨mA"¯QW\¹W¢Çò'µ“O ìI÷lóÃxq”æ_†ÔN% É…,2^!Ô• ]zlx‚ùÝ‹qi ZòE§ŽJ¹'n:$ðÒ:ò°¿0Åû'$6o’g/EкE9,ì}£d¾ÄÑ JÜÎDª_̇RR3ó~,¤{ íŽ é¶ÝƒaD/\:–æNɶ›‰MbTù8½ Nôw ê@–DÁËlÉw£8ñ“\–ò°¥‚Žx MªŒ]ÙÝÇÔ»¶RªÉ&ӈ犩i8Û‰ø3×+­™æÎ~7) qnelߥљWRùêS¯kWÅzrÄ5ëPÕļšî“4)q t©Þ°#([õ›ÿøü v,©Û$Éœ•¦’§¸U¢ÎЉb×JGÌ»I¢1­.iMB» –ü%ý4…¨ŽÃóN)á¤k³b\&ЕËÜ9. Š6¹¶] "¥óX`:GàìÖÖˆH¾s±¶#¾§Òzw³ó-Þf« $Æ ²PŸíq’>mõ<’zë—¸ë8±,þ&YRøO€sPf¤dJ_šxÎîEæ {+Íi o>Òfx`œ~ã‡Þ‘ßõÜ%ŠÕ‡XörZÝŠìSu¾úev;RŽ( %‡¥` ô#Í«qQâ;ºžH½7€X§#¥­ €¢a²‚”'Åì7Gé½C©…©P™a¡ã»®æV†8,óg;ëÎûPö €§²EÍ¥íäµAÍïÊ7w uõ«ï?7¬‰Ïq~õqhÍäl3XäãEMŠõ(J⤙tÜ „‰Ä/äzœÇIÊÈqç“Æö%©†/>c”h²X1 Ö_ó¼ïºßÖµH=wèŸùJÖ†6…h¾Hõo²[hÕA$:M&>prÒIñy<æ¸Ñ<`>È%ņ…#VP‡OX\ð*R¨^/¨®.9 Ä®P˜º®HçÚêL£$ÒE½Öãî:aYg­¬Müª#Æõé8W>Gvô`Ù¦øv‹å}&%ˆÁ[G´7ßdMÉŠë.“1,ßõѸB"¸ªøc†<­æé@VƒúWßîL¦Ž¯h”âý¹}V¼çŸâ™”Û37 WÖß¿ª¡ý|É?­ —‘³79Á=ìP€1ùšÎZãÀ_qÏunõ“̗ϵºV}ˆv»Èû:»yA[!]û:·¡˜Ë…OÃëu¡hrÐÒàÙË\dâíò›<¸ÏŠFˆJ…«e$Øú Là·>Á, W*ºKaÞ,ÊÔf¯VžÙñJIêJ­%Iyx3¯m¡òËœRÿÉði<ºÐ"e¬íò€ØÃ"é~{!;0YZsmlsharp-1.2.0/RELEASE_DATE0000644 000000000000000000000003012050661606015274 0ustar00rootroot0000000 0000000 2012-11-14 18:25:26 JST smlsharp-1.2.0/sample0000755 000000000000000000000000012050661606014705 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/sample/callback0000755 000000000000000000000000012050661606016441 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/sample/callback/callback.c0000644 000000000000000000000127112050661606020421 0ustar00rootroot0000000 0000000 /* * callback.c * * @copyright (c) 2006-2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: callback.c,v 1.2 2007/04/02 09:42:29 katsu Exp $ */ #include void f4(void) { printf("f4\n"); } void f3(void(*f)(void(*)(void))) { printf("f3\n"); f(f4); } void f2(void(*f)(void(*)(void(*)(void(*)(void))))) { printf("f2\n"); f(f3); } void f1(void(*f)(void(*)(void(*)(void(*)(void(*)(void(*)(void))))))) { printf("f1\n"); f(f2); } void g4(void) { printf("g4\n"); } void (*g3(void))(void) { printf("g3\n"); return g4; } void (*(*g2(void))(void))(void) { printf("g2\n"); return g3; } void (*(*(*g1(void))(void))(void))(void) { printf("g1\n"); return g2; } smlsharp-1.2.0/sample/callback/callback.smi0000644 000000000000000000000002512050661606020763 0ustar00rootroot0000000 0000000 _require "basis.smi" smlsharp-1.2.0/sample/callback/callback.sml0000644 000000000000000000000112712050661606020772 0ustar00rootroot0000000 0000000 (** * callback.sml - An example of passing complex callbacks between ML and C. * * @copyright (c) 2006-2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: callback.sml,v 1.4 2007/04/02 09:42:29 katsu Exp $ *) val f1 = _import "f1" : (((((()->unit)->unit)->unit)->unit)->unit)->unit val g1 = _import "g1" : ()->()->()->()->unit val () = f1 (fn h1 => (print "h1\n"; h1 (fn h2 => (print "h2\n"; h2 (fn h3 => print "h3\n"))))) val g2 = g1 () val g3 = g2 () val g4 = g3 () val () = g4 () smlsharp-1.2.0/sample/callback/Makefile0000644 000000000000000000000043412050661606020161 0ustar00rootroot0000000 0000000 SMLSHARP = smlsharp callback: callback.smi callback.o callback_c.o $(SMLSHARP) -o $@ callback.smi callback_c.o callback.o: callback.sml $(SMLSHARP) -c -o $@ callback.sml callback_c.o: callback.c $(CC) $(CFLAGS) -c -o $@ callback.c clean: -rm -f callback callback.o callback_c.o smlsharp-1.2.0/sample/database0000755 000000000000000000000000012050661606016451 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/sample/database/Makefile0000644 000000000000000000000027312050661606020172 0ustar00rootroot0000000 0000000 SMLSHARP = smlsharp all: sample1 sample1: sample1.sml sample1.smi $(SMLSHARP) -o $@ sample1.sml sample2: sample2.sml sample2.smi $(SMLSHARP) -o $@ sample2.sml clean: -rm -f sample1 smlsharp-1.2.0/sample/database/sample1.smi0000644 000000000000000000000002312050661606020577 0ustar00rootroot0000000 0000000 _require "sql.smi" smlsharp-1.2.0/sample/database/sample1.sml0000644 000000000000000000000231012050661606020603 0ustar00rootroot0000000 0000000 (* * simple example program using SQL. * * Prior to running this program, create a database named "sample1" and * run "sample1.sql" on that database. *) (* declare a database server *) val server = _sqlserver "dbname=sample1" : {people: {name:string, age:int}}; (* connect to the database server *) val conn = SQL.connect server; (* INSERT INTO people (name, age) VALUES ('Alice', 24) *) val q = _sql db => insert into #db.people (name, age) values ("Alice", 24); (* execute query q on the server *) val _ = _sqlexec q conn; (* INSERT INTO people (name, age) VALUES ('Bob', 25) *) val q = _sql db => insert into #db.people (name, age) values ("Bob", 25); val _ = _sqlexec q conn; (* SELECT name, age FROM people WHERE age >= 25 *) val q = _sql db => select #person.name as name, #person.age as age from #db.people as person where SQL.>= (#person.age, 25); (* use "_sqleval" instead of "_sqlexec" to run SELECT query *) val r = _sqleval q conn; (* fetch all tuples from the result *) val x = SQL.fetchAll r; (* close the result *) val _ = SQL.closeRel r; (* close the connection *) val _ = SQL.closeConn conn; smlsharp-1.2.0/sample/database/sample1.sql0000644 000000000000000000000010712050661606020611 0ustar00rootroot0000000 0000000 CREATE TABLE people ( name text not null, age int not null ); smlsharp-1.2.0/sample/database-cgi0000755 000000000000000000000000012050661606017211 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/sample/database-cgi/cgi.smi0000644 000000000000000000000100412050661606020537 0ustar00rootroot0000000 0000000 _require "basis.smi" structure CGI = struct exception HTTPNotFound exception HTTPMethodNotAllowed of string list exception HTTPBadRequest exception Type of string exception Field of string val escapeHTML : string -> string val unescape : string -> string val splitFormURLEncoded : string -> (string * string) list val fetchFormField : string -> (string -> 'a option) -> (string * string) list -> 'a * (string * string) list end smlsharp-1.2.0/sample/database-cgi/cgi.sml0000644 000000000000000000000556612050661606020563 0ustar00rootroot0000000 0000000 structure CGI : sig exception HTTPNotFound exception HTTPMethodNotAllowed of string list exception HTTPBadRequest exception Type of string exception Field of string val escapeHTML : string -> string val unescape : string -> string val splitFormURLEncoded : string -> (string * string) list val fetchFormField : string -> (string -> 'a option) -> (string * string) list -> 'a * (string * string) list end = struct exception HTTPNotFound exception HTTPMethodNotAllowed of string list exception HTTPBadRequest fun escapeHTML s = String.translate (fn #"&" => "&" | #"<" => "<" | #">" => ">" | #"\"" => """ | c => str c) s fun unescape s = case String.fields (fn c => c = #"%") s of nil => raise Fail "unescape" | h::t => String.concat (h :: (map (fn s => let val hex = String.substring (s, 0, 2) val rest = String.extract (s, 2, NONE) val c = if CharVector.all Char.isHexDigit hex then StringCvt.scanString (Int.scan StringCvt.HEX) hex else NONE in case c of SOME c => str (chr c) ^ rest | NONE => "%" ^ s end handle Subscript => "%" ^ s) t)) fun splitFormURLEncoded s = map (fn s => let val (h,t) = Substring.splitl (fn c => c <> #"=") (Substring.full s) in (unescape (Substring.string h), unescape (Substring.string (Substring.triml 1 t))) end) (String.fields (fn c => c = #"&") s) exception Type of string exception Field of string fun fetchFormField fieldName reader fields = let fun fetch nil = raise Field fieldName | fetch ((h as (name, value:string))::t) = if name = fieldName then case reader value of NONE => raise Type fieldName | SOME x => (x, t) else let val (v, t) = fetch t in (v, h::t) end in fetch fields end (* fun decodeFormURLEncoded spec s = let val fields = splitFormURLEncoded s in map (fn (field, reader) => case List.find (fn (x,y) => x = field) fields of NONE => raise NotFound field | SOME (_, value) => case reader value of NONE => raise Type field | SOME x => x) spec end *) end smlsharp-1.2.0/sample/database-cgi/cgimain.smi0000644 000000000000000000000017312050661606021412 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "./cgi.smi" _require "./pages.smi" structure CGIMain = struct val main : unit -> unit end smlsharp-1.2.0/sample/database-cgi/cgimain.sml0000644 000000000000000000000362312050661606021420 0ustar00rootroot0000000 0000000 structure CGIMain : sig val main : unit -> unit end = struct fun join s nil = "" | join s [x] = x | join s (h::t) = h ^ s ^ join s t fun errorResponse status headers body = (TextIO.print ("Content-Type: text/html\n\ \Status: " ^ status ^ "\n"); app (fn s => TextIO.print (s ^ "\n")) headers; TextIO.print "\n"; TextIO.print ("\n\ \\n\ \" ^ CGI.escapeHTML status ^ "\n\ \\n\ \

" ^ CGI.escapeHTML status ^ "

\n" ^ body ^ "\n\ \\n")) fun valOf NONE = raise CGI.HTTPBadRequest | valOf (SOME x) = x fun main () = let val uri = case OS.Process.getEnv "PATH_INFO" of SOME x => x | NONE => "" val method = valOf (OS.Process.getEnv "REQUEST_METHOD") val act = if method = "HEAD" then "GET" else method val args = case OS.Process.getEnv "CONTENT_LENGTH" of NONE => valOf (OS.Process.getEnv "QUERY_STRING") | SOME s => TextIO.inputN (TextIO.stdIn, valOf (Int.fromString s)) val responseBody = Pages.dispatch {uri = uri, method = method, args = args} in TextIO.print "Content-Type: text/html\n\n"; TextIO.print responseBody end handle CGI.HTTPBadRequest => errorResponse "400 Bad Request" nil "" | CGI.HTTPNotFound => errorResponse "404 Not Found" nil "" | CGI.HTTPMethodNotAllowed allows => errorResponse "405 Method Not Allowed" ["Allow: " ^ join ", " allows] "" | e => errorResponse "500 Internal Server Error" nil ("
\n" ^
                            CGI.escapeHTML (exnMessage e) ^ "\n" ^
                            "
") end smlsharp-1.2.0/sample/database-cgi/createtable.sql0000644 000000000000000000000101112050661606022255 0ustar00rootroot0000000 0000000 drop table comments; drop table posts; drop user dbsample; create user dbsample; create table posts ( post_id serial primary key, name text not null, title text not null, body text not null ); create table comments ( comment_id serial primary key, post_id int not null references posts(post_id), name text not null, body text not null ); grant all on posts to dbsample; grant all on comments to dbsample; grant all on posts_post_id_seq to dbsample; grant all on comments_comment_id_seq to dbsample; smlsharp-1.2.0/sample/database-cgi/load.smi0000644 000000000000000000000003112050661606020713 0ustar00rootroot0000000 0000000 _require "./cgimain.smi" smlsharp-1.2.0/sample/database-cgi/load.sml0000644 000000000000000000000002112050661606020715 0ustar00rootroot0000000 0000000 CGIMain.main (); smlsharp-1.2.0/sample/database-cgi/Makefile0000644 000000000000000000000103412050661606020726 0ustar00rootroot0000000 0000000 SMLSHARP = smlsharp database-cgi: load.smi cgi.o cgimain.o load.o pages.o try.o $(SMLSHARP) -o $@ load.smi cgi.o: cgi.sml cgi.smi $(SMLSHARP) -c -o $@ cgi.sml cgimain.o: cgimain.sml cgi.smi pages.smi cgimain.smi $(SMLSHARP) -c -o $@ cgimain.sml load.o: load.sml load.smi cgimain.smi cgi.smi pages.smi try.smi $(SMLSHARP) -c -o $@ load.sml pages.o: pages.sml cgi.smi try.smi pages.smi $(SMLSHARP) -c -o $@ pages.sml try.o: try.sml try.smi $(SMLSHARP) -c -o $@ try.sml clean: -rm -f database-cgi cgi.o cgimain.o load.o pages.o try.o smlsharp-1.2.0/sample/database-cgi/pages.smi0000644 000000000000000000000026712050661606021106 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "sql.smi" _require "./cgi.smi" _require "./try.smi" structure Pages = struct val dispatch : {method: string, uri: string, args: string} -> string end smlsharp-1.2.0/sample/database-cgi/pages.sml0000644 000000000000000000005175412050661606021120 0ustar00rootroot0000000 0000000 structure Pages : sig val dispatch : {method: string, uri: string, args: string} -> string end = struct val dbserver = _sqlserver "dbname=dbsample user=dbsample" : { posts: {post_id: int, name: string, title: string, body: string}, comments: {comment_id: int, post_id: int, name: string, body: string} } fun connect f = let val conn = SQL.connect dbserver in Try.try (fn _ => f conn) Try.finally (fn _ => SQL.closeConn conn) end fun exec query conn = let val r = query conn in Try.try (fn _ => SQL.fetchAll r) Try.finally (fn _ => SQL.closeRel r) end fun execOne query conn = let val r = query conn in Try.try (fn _ => SQL.fetchOne r) Try.finally (fn _ => SQL.closeRel r) end fun idarg args = case Int.fromString args of NONE => raise CGI.HTTPNotFound | SOME x => x fun listPostsURI () = "list_posts" fun viewPostURI post_id = "view_post?" ^ Int.toString post_id fun newPostURI () = "new_post" fun doNewPostURI () = "do_new_post" fun editPostURI post_id = "edit_post?" ^ Int.toString post_id fun doEditPostURI () = "do_edit_post" fun deletePostURI post_id = "delete_post?" ^ Int.toString post_id fun doDeletePostURI () = "do_delete_post" fun doNewCommentURI () = "do_new_comment" fun editCommentURI comment_id = "edit_comment?" ^ Int.toString comment_id fun doEditCommentURI () = "do_edit_comment" fun deleteCommentURI comment_id = "delete_comment?" ^ Int.toString comment_id fun doDeleteCommentURI () = "do_delete_comment" fun lines s = String.translate (fn #"\n" => "
\n" | c => str c) s fun viewPostForm {post_id, name, title, body} = "\n\ \\n\ \\n\ \\n\ \\n\ \\n\ \\n\ \
ID" ^ Int.toString post_id ^ "
Name" ^ CGI.escapeHTML name ^ "
Title" ^ CGI.escapeHTML title ^ "
Body

" ^ lines (CGI.escapeHTML body) ^ "

\n" fun editPostForm {post_id, name, title, body} = "\n\ \\n" ^ (case post_id of NONE => "" | SOME id => "\n") ^ "\n\ \\n\ \\n\ \\n\ \
ID" ^ Int.toString id ^ "
Name\ \\ \
Title\ \\ \
Body
\n" fun viewCommentForm {comment_id, post_id, name, body} = "\n\ \\n\ \\n\ \\n\ \\n\ \\n\ \\n\ \
ID" ^ Int.toString comment_id ^ "
Post ID" ^ Int.toString post_id ^ "
Name" ^ CGI.escapeHTML name ^ "
Body

" ^ lines (CGI.escapeHTML body) ^ "

\n" fun editCommentForm {comment_id, post_id, name, body} = "\n\ \\n" ^ (case comment_id of NONE => "" | SOME id => "\n") ^ "\n\ \\n\ \\n\ \\n\ \
ID" ^ Int.toString id ^ "
Post ID" ^ Int.toString post_id ^ "\ \
Name\ \\ \
Body
\n" fun header title = "\n\ \\n\ \" ^ CGI.escapeHTML title ^ "\n\ \\n\ \

" ^ CGI.escapeHTML title ^ "

\n" fun footer () = "\n" fun listPosts () = let val q = _sql db => select #post.post_id as post_id, #post.name as name, #post.title as title from #db.posts as post val posts = connect (exec (_sqleval q)) in header "List of posts" ^ "

New post

\n\ \\n\ \\n\ \\ \\n\ \\n\ \\n" ^ (concat (map (fn {post_id, name, title} => "\ \\n\ \\n\ \\n\ \\n\ \\n\ \\n") posts)) ^ "
IDNameTitleeditdelete
" ^ Int.toString post_id ^ "" ^ CGI.escapeHTML name ^ "\ \" ^ CGI.escapeHTML title ^ "edit\ \delete\ \
\n" ^ footer () end fun viewPost args = let val post_id = idarg args val {post_id, name, title, body, comments} = connect (fn conn => let val q = _sql db => select #post.post_id as post_id, #post.name as name, #post.title as title, #post.body as body from #db.posts as post where SQL.== (#post.post_id, SQL.toSQL post_id) val {post_id, name, title, body} = execOne (_sqleval q) conn val q = _sql db => select #c.comment_id as comment_id, #c.name as name, #c.body as body from #db.comments as c where SQL.== (#c.post_id, SQL.toSQL post_id) val comments = exec (_sqleval q) conn in {post_id = post_id, name = name, title = title, body = body, comments = comments} end) in header ("Post " ^ Int.toString post_id) ^ viewPostForm {post_id = post_id, name = name, title = title, body = body} ^ "

Comments

\n\ \
\n" ^ (concat (map (fn {comment_id, name, body} => "
" ^ CGI.escapeHTML name ^ " \ \(edit\ \ | \ \\ \delete)\ \
\n\ \

" ^ lines (CGI.escapeHTML body) ^ "

\n") comments)) ^ "
\n\ \

New comment

\n\ \
\n" ^ editCommentForm {comment_id = NONE, post_id = post_id, name = "", body = ""} ^ "
\n\ \ \n\ \\n\ \
\n\ \
\n\ \

List of posts

\n" ^ footer () end fun newPost () = header "New post" ^ "
\n" ^ editPostForm {post_id = NONE, name = "", title = "", body = ""} ^ "
\n\ \ \n\ \\n\ \
\n\ \
\n\ \

List of posts

\n" ^ footer () fun doNewPost args = let val args = CGI.splitFormURLEncoded args val (name, args) = CGI.fetchFormField "name" SOME args val (title, args) = CGI.fetchFormField "title" SOME args val (body, args) = CGI.fetchFormField "body" SOME args val q = _sql db => insert into #db.posts (post_id, name, title, body) values (default, SQL.toSQL name, SQL.toSQL title, SQL.toSQL body) val () = connect (_sqlexec q) in header "New post is accepted" ^ "

List of posts

\n" ^ footer () end fun editPost args = let val post_id = idarg args val q = _sql db => select #post.post_id as post_id, #post.name as name, #post.title as title, #post.body as body from #db.posts as post where SQL.== (#post.post_id, SQL.toSQL post_id) val {post_id, name, title, body} = connect (execOne (_sqleval q)) in header ("Edit post " ^ Int.toString post_id) ^ "
\n" ^ editPostForm {post_id = SOME post_id, name = name, title = title, body = body} ^ "
\n\ \ \n\ \\n\ \
\n\ \
\n\ \

List of posts

\n" ^ footer () end fun doEditPost args = let val args = CGI.splitFormURLEncoded args val (post_id, args) = CGI.fetchFormField "post_id" Int.fromString args val (name, args) = CGI.fetchFormField "name" SOME args val (title, args) = CGI.fetchFormField "title" SOME args val (body, args) = CGI.fetchFormField "body" SOME args val q = _sql db => update #db.posts as post set (post_id, name, title, body) = (SQL.toSQL post_id, SQL.toSQL name, SQL.toSQL title, SQL.toSQL body) where SQL.== (#post.post_id, SQL.toSQL post_id) val () = connect (_sqlexec q) in header ("Post " ^ Int.toString post_id ^ " updated") ^ "

\ \View post " ^ Int.toString post_id ^ "

\n" ^ footer () end fun deletePost args = let val post_id = idarg args val q = _sql db => select #post.post_id as post_id, #post.name as name, #post.title as title, #post.body as body from #db.posts as post where SQL.== (#post.post_id, SQL.toSQL post_id) val post = connect (execOne (_sqleval q)) in header ("Confirm to delete post " ^ Int.toString post_id) ^ viewPostForm post ^ "
\n" ^ "
\n\ \\n\ \ \n\ \
\n\ \
\n\ \

List of posts

\n" ^ footer () end fun doDeletePost args = let val args = CGI.splitFormURLEncoded args val (post_id, args) = CGI.fetchFormField "post_id" Int.fromString args in connect (fn conn => let val q = _sql db => delete from #db.comments as c where SQL.== (#c.post_id, SQL.toSQL post_id) val () = _sqlexec q conn val q = _sql db => delete from #db.posts as post where SQL.== (#post.post_id, SQL.toSQL post_id) in _sqlexec q conn end); header ("Post " ^ Int.toString post_id ^ " deleted") ^ "

List of posts

\n" ^ footer () end fun doNewComment args = let val args = CGI.splitFormURLEncoded args val (post_id, args) = CGI.fetchFormField "post_id" Int.fromString args val (name, args) = CGI.fetchFormField "name" SOME args val (body, args) = CGI.fetchFormField "body" SOME args val q = _sql db => insert into #db.comments (comment_id, post_id, name, body) values (default, SQL.toSQL post_id, SQL.toSQL name, SQL.toSQL body) val () = connect (_sqlexec q) in header "New comment is accepted" ^ "

\ \View post " ^ Int.toString post_id ^ "

\n" ^ footer () end fun editComment args = let val comment_id = idarg args val q = _sql db => select #c.comment_id as comment_id, #c.post_id as post_id, #c.name as name, #c.body as body from #db.comments as c where SQL.== (#c.comment_id, SQL.toSQL comment_id) val {comment_id, post_id, name, body} = connect (execOne (_sqleval q)) in header ("Edit comment " ^ Int.toString comment_id) ^ "
\n" ^ editCommentForm {comment_id = SOME comment_id, post_id = post_id, name = name, body = body} ^ "
\n\ \ \n\ \\n\ \
\n\ \
\n\ \

\ \View post " ^ Int.toString post_id ^ "

\n" ^ footer () end fun doEditComment args = let val args = CGI.splitFormURLEncoded args val (comment_id, args) = CGI.fetchFormField "comment_id" Int.fromString args val (name, args) = CGI.fetchFormField "name" SOME args val (body, args) = CGI.fetchFormField "body" SOME args val post_id = connect (fn conn => let val q = _sql db => select #c.post_id as post_id from #db.comments as c where SQL.== (#c.comment_id, SQL.toSQL comment_id) val {post_id} = execOne (_sqleval q) conn val q = _sql db => update #db.comments as c set (comment_id, post_id, name, body) = (SQL.toSQL comment_id, SQL.toSQL post_id, SQL.toSQL name, SQL.toSQL body) where SQL.== (#c.comment_id, SQL.toSQL comment_id) val () = _sqlexec q conn in post_id end) in header ("Comment " ^ Int.toString comment_id ^ " updated") ^ "

\ \View post " ^ Int.toString post_id ^ "

\n" ^ footer () end fun deleteComment args = let val comment_id = idarg args val q = _sql db => select #c.comment_id as comment_id, #c.post_id as post_id, #c.name as name, #c.body as body from #db.comments as c where SQL.== (#c.comment_id, SQL.toSQL comment_id) val comment as {post_id,...} = connect (execOne (_sqleval q)) in header ("Confirm to delete comment " ^ Int.toString comment_id) ^ viewCommentForm comment ^ "
\n" ^ "
\n\ \\n\ \ \n\ \
\n\ \
\n\ \

\ \View post " ^ Int.toString post_id ^ "

\n" ^ footer () end fun doDeleteComment args = let val args = CGI.splitFormURLEncoded args val (comment_id, args) = CGI.fetchFormField "comment_id" Int.fromString args val post_id = connect (fn conn => let val q = _sql db => select #c.post_id as post_id from #db.comments as c where SQL.== (#c.comment_id, SQL.toSQL comment_id) val {post_id} = execOne (_sqleval q) conn val q = _sql db => delete from #db.comments as c where SQL.== (#c.comment_id, SQL.toSQL comment_id) val () = _sqlexec q conn in post_id end) in header ("Comment " ^ Int.toString post_id ^ " deleted") ^ "

\ \View post " ^ Int.toString post_id ^ "

\n" ^ footer () end fun topPage () = header "SML# Sample Database Application" ^ "

List of posts

\n" ^ footer () fun dispatch {method, uri, args} = case (method, uri) of ("GET", "/") => topPage () | (_, "/") => raise CGI.HTTPMethodNotAllowed ["GET","HEAD"] | ("GET", "/list_posts") => listPosts () | (_, "/list_posts") => raise CGI.HTTPMethodNotAllowed ["GET","HEAD"] | ("GET", "/view_post") => viewPost args | (_, "/view_post") => raise CGI.HTTPMethodNotAllowed ["GET","HEAD"] | ("GET", "/new_post") => newPost () | (_, "/new_post") => raise CGI.HTTPMethodNotAllowed ["GET","HEAD"] | ("POST", "/do_new_post") => doNewPost args | (_, "/do_new_post") => raise CGI.HTTPMethodNotAllowed ["POST"] | ("GET", "/edit_post") => editPost args | (_, "/edit_post") => raise CGI.HTTPMethodNotAllowed ["GET","HEAD"] | ("POST", "/do_edit_post") => doEditPost args | (_, "/do_edit_post") => raise CGI.HTTPMethodNotAllowed ["POST"] | ("GET", "/delete_post") => deletePost args | (_, "/delete_post") => raise CGI.HTTPMethodNotAllowed ["GET","HEAD"] | ("POST", "/do_delete_post") => doDeletePost args | (_, "/do_delete_post") => raise CGI.HTTPMethodNotAllowed ["POST"] | ("POST", "/do_new_comment") => doNewComment args | (_, "/do_new_comment") => raise CGI.HTTPMethodNotAllowed ["POST"] | ("GET", "/edit_comment") => editComment args | (_, "/edit_comment") => raise CGI.HTTPMethodNotAllowed ["GET","HEAD"] | ("POST", "/do_edit_comment") => doEditComment args | (_, "/do_edit_comment") => raise CGI.HTTPMethodNotAllowed ["POST"] | ("GET", "/delete_comment") => deleteComment args | (_, "/delete_comment") => raise CGI.HTTPMethodNotAllowed ["GET","HEAD"] | ("POST", "/do_delete_comment") => doDeleteComment args | (_, "/do_delete_comment") => raise CGI.HTTPMethodNotAllowed ["POST"] | _ => raise CGI.HTTPNotFound end (* ; print (Pages.listPosts ()); print (Pages.newPost ()); *) smlsharp-1.2.0/sample/database-cgi/README0000644 000000000000000000000160412050661606020151 0ustar00rootroot0000000 0000000 Sample application using database. This program is a simple Web application with database. This program requires the following systems: - PostgreSQL - An Web server supporting CGI (such as Apache) How to run this demo: (1) Create database "dbsample" on PostgreSQL. (2) Run createtable.sql on PostgreSQL in order to set up tables and users. (3) If needed, rewrite server description of '_sqlserver' at the beginning of pages.sml. (4) Compile the program and put the resulting executable to the directory which is permitted to execute CGI programs. (5) Access to the executable by your Web browser. If URL of your program is http://hostname/dbsample.cgi then you should access to http://hostname/dbsample.cgi/ Example: (1) $ createdb dbsample (2) $ psql -d dbsample -f createtable.sql (4) $ make $ ./database-cgi (5) $ w3m http://localhost/dbsample.cgi/ smlsharp-1.2.0/sample/database-cgi/try.smi0000644 000000000000000000000023112050661606020614 0ustar00rootroot0000000 0000000 structure Try = struct type ('a, 'b) cont (= boxed) val try : (unit -> 'a) -> ('a,'b) cont -> 'b val finally : ('a, (unit -> unit) -> 'a) cont end smlsharp-1.2.0/sample/database-cgi/try.sml0000644 000000000000000000000062312050661606020624 0ustar00rootroot0000000 0000000 structure Try : sig type ('a, 'b) cont val try : (unit -> 'a) -> ('a,'b) cont -> 'b val finally : ('a, (unit -> unit) -> 'a) cont end = struct datatype 'a ret = RET of 'a | ERR of exn type ('a,'b) cont = 'a ret -> 'b fun try tryFn cont = cont (RET (tryFn ()) handle e => ERR e) fun finally (RET x) finalFn = (finalFn () : unit; x) | finally (ERR e) finalFn = (finalFn (); raise e) end smlsharp-1.2.0/sample/glut0000755 000000000000000000000000012050661606015660 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/sample/glut/cube.smi0000644 000000000000000000000005612050661606017370 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "./libglut.smi" smlsharp-1.2.0/sample/glut/cube.sml0000644 000000000000000000000606712050661606017403 0ustar00rootroot0000000 0000000 (** * cube.sml * * @copyright (c) 2006-2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: cube.sml,v 1.4 2007/04/02 09:42:29 katsu Exp $ *) open GL GLU GLUT infix ++ val op ++ = Word.orb val progname = "smlsharp" val r = ref 0.0 (* * (0,h,d) +-------+ (w,h,d) * /| /| * / | / | * (0,h,0) +-------+ |(w,h,0) * (0,0,d)| +-------+ (w,0,d) * h | / | / * |/ |/ d * (0,0,0) +-------+ (w,0,0) * w *) fun cube (w, h, d) = (glBegin GL_QUADS; app (fn (normal,vertexes) => (glNormal3dv normal; app glVertex3dv vertexes)) [ (( 1.0, 0.0, 0.0), [( w, 0.0, 0.0),( w, h, 0.0),( w, h, d),( w, 0.0, d)]), (( 0.0, 1.0, 0.0), [(0.0, h, 0.0),(0.0, h, d),( w, h, d),( w, h, 0.0)]), (( 0.0, 0.0,~1.0), [(0.0, 0.0, 0.0),(0.0, h, 0.0),( w, h, 0.0),( w, 0.0, 0.0)]), ((~1.0, 0.0, 0.0), [(0.0, 0.0, d),(0.0, h, d),(0.0, h, 0.0),(0.0, 0.0, 0.0)]), (( 0.0,~1.0, 0.0), [(0.0, 0.0, d),(0.0, 0.0, 0.0),( w, 0.0, 0.0),( w, 0.0, d)]), (( 0.0, 0.0, 1.0), [( w, 0.0, d),( w, h, d),(0.0, h, d),(0.0, 0.0, d)]) ]; glEnd ()) fun display () = (glClear (GL_COLOR_BUFFER_BIT ++ GL_DEPTH_BUFFER_BIT); glLoadIdentity (); gluLookAt (3.0, 4.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); glLightfv (GL_LIGHT0, GL_POSITION, (0.0, 3.0, 5.0, 1.0)); glLightfv (GL_LIGHT1, GL_POSITION, (5.0, 3.0, 0.0, 1.0)); glPushMatrix (); glRotated(!r, 0.0, 1.0, 0.0); glMaterialfv (GL_FRONT_AND_BACK, GL_DIFFUSE, (0.2, 0.2, 0.8, 1.0)); cube (1.0, 1.0, 1.0); glTranslated (0.5, 0.0, 0.5); glRotated (2.0 * !r, 0.0, 1.0, 0.0); glTranslated (1.0, 0.0, ~0.5); glMaterialfv (GL_FRONT_AND_BACK, GL_DIFFUSE, (0.8, 0.2, 0.2, 1.0)); cube (1.0, 1.0, 1.0); glPopMatrix (); glutSwapBuffers ()) fun resize (w, h) = (glViewport (0, 0, w, h); glMatrixMode GL_PROJECTION; glLoadIdentity (); gluPerspective (30.0, real w / real h, 1.0, 100.0); glMatrixMode GL_MODELVIEW; glLoadIdentity (); gluLookAt (3.0, 4.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0)) fun timer n = (r := !r + 1.0; if !r >= 360.0 then r := 0.0 else (); glutPostRedisplay (); glutTimerFunc (10, timer, 0)) (*FIXME: unaligned double *) val _ = glutInit (ref 1, Array.fromList [progname]) val _ = glutInitDisplayMode (GLUT_RGBA ++ GLUT_DOUBLE ++ GLUT_DEPTH) val _ = glutCreateWindow progname val _ = glutDisplayFunc display val _ = glutReshapeFunc resize val _ = glutTimerFunc (10, timer, 0) val _ = glClearColor (0.95, 0.95, 1.0, 1.0) val _ = glEnable GL_DEPTH_TEST val _ = glEnable GL_CULL_FACE val _ = glCullFace GL_BACK val _ = app glEnable [GL_LIGHTING, GL_LIGHT0, GL_LIGHT1] val _ = glLightfv (GL_LIGHT1, GL_DIFFUSE, (0.0, 1.0, 0.0, 1.0)) val _ = glLightfv (GL_LIGHT1, GL_SPECULAR, (0.0, 1.0, 0.0, 1.0)) val _ = glutMainLoop () smlsharp-1.2.0/sample/glut/libglut.smi0000644 000000000000000000000641312050661606020117 0ustar00rootroot0000000 0000000 _require "basis.smi" structure GLUT = struct val glutInit : int ref * string array -> unit val glutInitDisplayMode : word -> unit val glutInitWindowSize : int * int -> unit val glutCreateWindow : string -> unit val glutDisplayFunc : (unit -> unit) -> unit val glutReshapeFunc : (int * int -> unit) -> unit val glutMouseFunc : (unit -> unit) -> unit val glutKeyboardFunc : (int * int * int -> unit) -> unit val glutTimerFunc : int * (int -> unit) * int -> unit val glutIdleFunc : (unit -> unit) -> unit val glutMainLoop : unit -> unit val glutSwapBuffers : unit -> unit val glutPostRedisplay : unit -> unit val GLUT_RGBA : word val GLUT_DOUBLE : word val GLUT_DEPTH : word end structure GL = struct val glClearColor : Real32.real * Real32.real * Real32.real * Real32.real -> unit val glEnable : word -> unit val glFrontFace : word -> unit val glLightfv : word * word * (Real32.real * Real32.real * Real32.real * Real32.real) -> unit val glClear : word -> unit val glFlush : unit -> unit val glViewport : int * int * int * int -> unit val glMatrixMode : word -> unit val glLoadIdentity : unit -> unit val glPushMatrix : unit -> unit val glPopMatrix : unit -> unit val glRotated : real * real * real * real -> unit val glTranslated : real * real * real -> unit val glMaterialfv : word * word * (Real32.real * Real32.real * Real32.real * Real32.real) -> unit val glMaterialiv : word * word * (int * int * int * int) -> unit val glBegin : word -> unit val glEnd : unit -> unit val glNormal3dv : real * real * real -> unit val glVertex3dv : real * real * real -> unit val glVertex2d : real * real -> unit val glVertex3d : real * real * real -> unit val glCullFace : word -> unit val glColor4i : word * word * word * word -> unit val glColor3d : real * real * real -> unit val glBlendFunc : word * word -> unit val glOrtho : real * real * real * real * real * real -> unit val GL_PROJECTION : word val GL_DEPTH_TEST : word val GL_CULL_FACE : word val GL_BACK : word val GL_FRONT_AND_BACK : word val GL_FRONT : word val GL_CW : word val GL_LIGHTING : word val GL_LIGHT0 : word val GL_LIGHT1 : word val GL_DIFFUSE : word val GL_SPECULAR : word val GL_AMBIENT : word val GL_COLOR_BUFFER_BIT : word val GL_DEPTH_BUFFER_BIT : word val GL_MODELVIEW : word val GL_QUADS : word val GL_POSITION : word val GL_LINE_LOOP : word val GL_LINES : word val GL_POLYGON : word val GL_LINE_SMOOTH : word val GL_POLYGON_SMOOTH : word val GL_BLEND : word val GL_SRC_ALPHA : word val GL_ONE_MINUS_SRC_ALPHA : word end structure GLU = struct type gluQuadricObj (= ptr) val gluPerspective : real * real * real * real -> unit val gluLookAt : real * real * real * real * real * real * real * real * real -> unit val gluNewQuadric : unit -> gluQuadricObj val gluDeleteQuadric : gluQuadricObj -> unit val gluQuadricDrawStyle : gluQuadricObj * word -> unit val gluQuadricNormals : gluQuadricObj * word -> unit val gluQuadricOrientation : gluQuadricObj * word -> unit val gluCylinder : gluQuadricObj * real * real * real * int * int -> unit val gluDisk : gluQuadricObj * real * real * int * int -> unit val GLU_FILL : word val GLU_SMOOTH : word val GLU_INSIDE : word end smlsharp-1.2.0/sample/glut/libglut.sml0000644 000000000000000000001215412050661606020121 0ustar00rootroot0000000 0000000 (** * libglut.sml * * @copyright (c) 2006-2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: libglut.sml,v 1.11 2007/04/02 09:42:29 katsu Exp $ *) local type float = Real32.real in structure GLUT = struct val glutInit = _import "glutInit" : (int ref, string array) -> unit val glutInitDisplayMode = _import "glutInitDisplayMode" : word -> unit val glutInitWindowSize = _import "glutInitWindowSize" : (int, int) -> unit val glutCreateWindow = _import "glutCreateWindow" : string -> unit val glutDisplayFunc = _import "glutDisplayFunc" : (()->unit) -> unit val glutReshapeFunc = _import "glutReshapeFunc" : ((int, int)->unit) -> unit val glutMouseFunc = _import "glutMouseFunc" : (()->unit) -> unit val glutKeyboardFunc = _import "glutKeyboardFunc" : ((int, int, int)->unit) -> unit val glutTimerFunc = _import "glutTimerFunc" : (int, int->unit, int) -> unit val glutIdleFunc = _import "glutIdleFunc" : (()->unit) -> unit val glutMainLoop = _import "glutMainLoop" : () -> unit val glutSwapBuffers = _import "glutSwapBuffers" : () -> unit val glutPostRedisplay = _import "glutPostRedisplay" : () -> unit val GLUT_RGBA = 0wx0 val GLUT_DOUBLE = 0wx2 val GLUT_DEPTH = 0wx10 end structure GL = struct val glClearColor = _import "glClearColor" : (float, float, float, float) -> unit val glEnable = _import "glEnable" : word -> unit val glFrontFace = _import "glFrontFace" : word -> unit val glLightfv = _import "glLightfv" : (word, word, float * float * float * float) -> unit val glClear = _import "glClear" : word -> unit val glFlush = _import "glFlush" : () -> unit val glViewport = _import "glViewport" : (int, int, int, int) -> unit val glMatrixMode = _import "glMatrixMode" : word -> unit val glLoadIdentity = _import "glLoadIdentity" : () -> unit val glPushMatrix = _import "glPushMatrix" : () -> unit val glPopMatrix = _import "glPopMatrix" : () -> unit val glRotated = _import "glRotated" : (real, real, real, real) -> unit val glTranslated = _import "glTranslated" : (real, real, real) -> unit val glMaterialfv = _import "glMaterialfv" : (word, word, float * float * float * float) -> unit val glMaterialiv = _import "glMaterialiv" : (word, word, int * int * int * int) -> unit val glBegin = _import "glBegin" : word -> unit val glEnd = _import "glEnd" : () -> unit val glNormal3dv = _import "glNormal3dv" : (real * real * real) -> unit val glVertex3dv = _import "glVertex3dv" : (real * real * real) -> unit val glVertex2d = _import "glVertex2d" : (real, real) -> unit val glVertex3d = _import "glVertex3d" : (real, real, real) -> unit val glCullFace = _import "glCullFace" : word -> unit val glColor4i = _import "glColor4i" : (word, word, word, word) -> unit val glColor3d = _import "glColor3d" : (real, real, real) -> unit val glBlendFunc = _import "glBlendFunc" : (word, word) -> unit val glOrtho = _import "glOrtho" : (real, real, real, real, real, real) -> unit val GL_PROJECTION = 0wx1701 val GL_DEPTH_TEST = 0wxB71 val GL_CULL_FACE = 0wxB44 val GL_BACK = 0wx405 val GL_FRONT_AND_BACK = 0wx408 val GL_FRONT = 0wx404 val GL_CW = 0wx900 val GL_LIGHTING = 0wxB50 val GL_LIGHT0 = 0wx4000 val GL_LIGHT1 = 0wx4001 val GL_DIFFUSE = 0wx1201 val GL_SPECULAR = 0wx1202 val GL_AMBIENT = 0wx1200 val GL_COLOR_BUFFER_BIT = 0wx4000 val GL_DEPTH_BUFFER_BIT = 0wx100 val GL_MODELVIEW = 0wx1700 val GL_QUADS = 0wx7 val GL_POSITION = 0wx1203 val GL_LINE_LOOP = 0wx2 val GL_LINES = 0wx1 val GL_POLYGON = 0wx9 val GL_LINE_SMOOTH = 0wxB20 val GL_POLYGON_SMOOTH = 0wxB41 val GL_BLEND = 0wxBE2 val GL_SRC_ALPHA = 0wx302 val GL_ONE_MINUS_SRC_ALPHA = 0wx303 end structure GLU = struct type gluQuadricObj = unit ptr val gluPerspective = _import "gluPerspective" : (real, real, real, real) -> unit val gluLookAt = _import "gluLookAt" : (real, real, real, real, real, real, real, real, real) -> unit val gluNewQuadric = _import "gluNewQuadric" : () -> gluQuadricObj val gluDeleteQuadric = _import "gluDeleteQuadric" : gluQuadricObj -> unit val gluQuadricDrawStyle = _import "gluQuadricDrawStyle" : (gluQuadricObj, word) -> unit val gluQuadricNormals = _import "gluQuadricNormals" : (gluQuadricObj, word) -> unit val gluQuadricOrientation = _import "gluQuadricOrientation" : (gluQuadricObj, word) -> unit val gluCylinder = _import "gluCylinder" : (gluQuadricObj, real, real, real, int, int) -> unit val gluDisk = _import "gluDisk" : (gluQuadricObj, real, real, int, int) -> unit val GLU_FILL = 0w100012 val GLU_SMOOTH = 0w100000 val GLU_INSIDE = 0w100021 end end (* local *) smlsharp-1.2.0/sample/glut/Makefile0000644 000000000000000000000056512050661606017405 0ustar00rootroot0000000 0000000 SMLSHARP = smlsharp LIBS = -Wl,-framework,OpenGL -Wl,-framework,GLUT # for Mac OS X #LIBS = -L/usr/X11R6/lib -lgl -lglu -lglut cube: cube.smi cube.o libglut.o $(SMLSHARP) -o $@ cube.smi $(LIBS) cube.o: cube.sml cube.smi libglut.smi $(SMLSHARP) -c -o $@ cube.sml libglut.o: libglut.sml libglut.smi $(SMLSHARP) -c -o $@ libglut.sml clean: -rm -f cube cube.o libglut.o smlsharp-1.2.0/sample/pthread_sieve0000755 000000000000000000000000012050661606017527 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/sample/pthread_sieve/load.smi0000644 000000000000000000000002712050661606021236 0ustar00rootroot0000000 0000000 _require "./sieve.smi" smlsharp-1.2.0/sample/pthread_sieve/load.sml0000644 000000000000000000000002312050661606021235 0ustar00rootroot0000000 0000000 Sieve.sieve 10000; smlsharp-1.2.0/sample/pthread_sieve/Makefile0000644 000000000000000000000074412050661606021253 0ustar00rootroot0000000 0000000 SMLSHARP = smlsharp pthread_sieve: load.smi pthread.o mvar.o sieve.o load.o $(SMLSHARP) -o $@ load.smi $(LIBS) pthread.o: pthread.sml pthread.smi $(SMLSHARP) -c -o $@ pthread.sml mvar.o: mvar.sml mvar.smi pthread.smi $(SMLSHARP) -c -o $@ mvar.sml sieve.o: sieve.sml sieve.smi mvar.smi pthread.smi $(SMLSHARP) -c -o $@ sieve.sml load.o: load.sml load.smi sieve.smi mvar.smi pthread.smi $(SMLSHARP) -c -o $@ load.sml clean: -rm -f pthread_sieve pthread.o mvar.o sieve.o load.o smlsharp-1.2.0/sample/pthread_sieve/mvar.smi0000644 000000000000000000000031712050661606021266 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "ffi.smi" _require "./pthread.smi" structure MVar = struct type 'a mvar (= boxed) val new : unit -> 'a mvar val put : 'a mvar * 'a -> unit val take : 'a mvar -> 'a end smlsharp-1.2.0/sample/pthread_sieve/mvar.sml0000644 000000000000000000000272212050661606021273 0ustar00rootroot0000000 0000000 (** * mvar.sml * * @copyright (c) 2010, Tohoku University. * @author UENO Katsuhiro *) structure MVar :> sig type 'a mvar val new : unit -> 'a mvar val put : 'a mvar * 'a -> unit val take : 'a mvar -> 'a end = struct type 'a mvar = {mutex: Pthread.pthread_mutex_t, cond: Pthread.pthread_cond_t, content: 'a option ref} fun new () = let val mutex = Pthread.new_pthread_mutex_t () val _ = Pthread.pthread_mutex_init (mutex, Pointer.NULL ()) val cond = Pthread.new_pthread_cond_t () val _ = Pthread.pthread_cond_init (cond, Pointer.NULL ()) in {mutex = mutex, cond = cond, content = ref NONE} : 'a mvar end fun waitUntil f (mvar as {mutex, cond, content}:'a mvar) = if f (!content) then () else (Pthread.pthread_cond_wait (cond, mutex); waitUntil f mvar) fun put (mvar as {mutex, cond, content}:'a mvar, value) = ( Pthread.pthread_mutex_lock mutex; waitUntil (not o isSome) mvar; content := SOME value; Pthread.pthread_cond_signal cond; Pthread.pthread_mutex_unlock mutex; () ) fun take (mvar as {mutex, cond, content}:'a mvar) = let val _ = Pthread.pthread_mutex_lock mutex val _ = waitUntil isSome mvar val ret = valOf (!content) in content := NONE; Pthread.pthread_cond_signal cond; Pthread.pthread_mutex_unlock mutex; ret end end smlsharp-1.2.0/sample/pthread_sieve/pthread.smi0000644 000000000000000000000130212050661606021743 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "ffi.smi" structure Pthread = struct type pthread_t (= ptr) type pthread_mutex_t (= boxed) type pthread_cond_t (= boxed) val new_pthread_mutex_t : unit -> pthread_mutex_t val new_pthread_cond_t : unit -> pthread_cond_t val pthread_join : pthread_t * unit ptr ref -> int val pthread_mutex_init : pthread_mutex_t * unit ptr -> int val pthread_mutex_lock : pthread_mutex_t -> int val pthread_mutex_unlock : pthread_mutex_t -> int val pthread_cond_init : pthread_cond_t * unit ptr -> int val pthread_cond_wait : pthread_cond_t * pthread_mutex_t -> int val pthread_cond_signal : pthread_cond_t -> int val create : (unit ptr -> unit ptr) -> pthread_t end smlsharp-1.2.0/sample/pthread_sieve/pthread.sml0000644 000000000000000000000463612050661606021763 0ustar00rootroot0000000 0000000 (** * pthread.sml * * @copyright (c) 2010, Tohoku University. * @author UENO Katsuhiro * * NOTE: Thread support is only available in native compile mode. *) structure Pthread :> sig type pthread_t type pthread_mutex_t type pthread_cond_t val new_pthread_mutex_t : unit -> pthread_mutex_t val new_pthread_cond_t : unit -> pthread_cond_t val pthread_join : pthread_t * unit ptr ref -> int val pthread_mutex_init : pthread_mutex_t * unit ptr -> int val pthread_mutex_lock : pthread_mutex_t -> int val pthread_mutex_unlock : pthread_mutex_t -> int val pthread_cond_init : pthread_cond_t * unit ptr -> int val pthread_cond_wait : pthread_cond_t * pthread_mutex_t -> int val pthread_cond_signal : pthread_cond_t -> int val create : (unit ptr -> unit ptr) -> pthread_t end = struct type pthread_t = unit ptr (* ToDo: system dependent *) val sizeof_pthread_mutex_t = 124 (* ToDo: system dependent *) val sizeof_pthread_cond_t = 124 (* ToDo: system dependent *) type pthread_mutex_t = Word8Array.array type pthread_cond_t = Word8Array.array fun new_pthread_t_ref () = ref (Pointer.NULL () : unit ptr) fun new_pthread_mutex_t () = Word8Array.array (sizeof_pthread_mutex_t, 0w0) : pthread_mutex_t fun new_pthread_cond_t () = Word8Array.array (sizeof_pthread_cond_t, 0w0) : pthread_cond_t val pthread_create = _import "pthread_create" : (pthread_t ref, unit ptr, unit ptr -> unit ptr, unit ptr) -> int val pthread_join = _import "pthread_join" : (pthread_t, unit ptr ref) -> int val pthread_mutex_init = _import "pthread_mutex_init" : (pthread_mutex_t, unit ptr) -> int val pthread_mutex_lock = _import "pthread_mutex_lock" : __attribute__((suspend)) pthread_mutex_t -> int val pthread_mutex_unlock = _import "pthread_mutex_unlock" : pthread_mutex_t -> int val pthread_cond_init = _import "pthread_cond_init" : (pthread_cond_t, unit ptr) -> int val pthread_cond_wait = _import "pthread_cond_wait" : __attribute__((suspend)) (pthread_cond_t, pthread_mutex_t) -> int val pthread_cond_signal = _import "pthread_cond_signal" : pthread_cond_t -> int fun create f = let val ret = ref _NULL val err = pthread_create (ret, _NULL, f, _NULL) val ref th = ret in if err = 0 then () else raise Fail "pthread_create"; th end end smlsharp-1.2.0/sample/pthread_sieve/README0000644 000000000000000000000057012050661606020470 0ustar00rootroot0000000 0000000 Multithread Sieve of Eratosthenes This program creates native threads as many as prime numbers to be enumerated. The following things are required to run this sample: 1. SML# must be compiled and installed with --enable-thread configure option. 2. This sample works only in native code with non-moving GC. 3. Operating system must provide POSIX thread (pthread) library. smlsharp-1.2.0/sample/pthread_sieve/sieve.smi0000644 000000000000000000000021712050661606021433 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "ffi.smi" _require "./pthread.smi" _require "./mvar.smi" structure Sieve = struct val sieve : int -> unit end smlsharp-1.2.0/sample/pthread_sieve/sieve.sml0000644 000000000000000000000214012050661606021433 0ustar00rootroot0000000 0000000 (** * sieve.sml * * @copyright (c) 2010, Tohoku University. * @author UENO Katsuhiro *) structure Sieve : sig val sieve : int -> unit end = struct fun stream max = let val out = MVar.new () fun loop i = if i <= max then (MVar.put (out, SOME i); loop (i+1)) else (MVar.put (out, NONE); Pointer.NULL () : unit ptr) in Pthread.create (fn _ => loop 2); out end fun filter f input = let val out = MVar.new () fun loop () = case MVar.take input of NONE => (MVar.put (out, NONE); Pointer.NULL () : unit ptr) | SOME x => (if f x then MVar.put (out, SOME x) else (); loop ()) in Pthread.create (fn _ => loop ()); out end fun sieve max = let val input = stream max fun loop input = case MVar.take input of NONE => () | SOME x => (print (Int.toString x ^ "\n"); loop (filter (fn y => y mod x <> 0) input)) in loop input end end smlsharp-1.2.0/sample/qsort0000755 000000000000000000000000012050661606016055 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/sample/qsort/Makefile0000644 000000000000000000000013112050661606017567 0ustar00rootroot0000000 0000000 SMLSHARP = smlsharp qsort: qsort.sml $(SMLSHARP) -o $@ qsort.sml clean: -rm -f qsort smlsharp-1.2.0/sample/qsort/qsort.smi0000644 000000000000000000000005012050661606020011 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "ffi.smi" smlsharp-1.2.0/sample/qsort/qsort.sml0000644 000000000000000000000175212050661606020026 0ustar00rootroot0000000 0000000 (** * qsort.sml - sample program using FFI * * @copyright (c) 2006-2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: qsort.sml,v 1.9 2007/09/20 09:02:53 matsu Exp $ *) fun qsort (a, f) = _ffiapply _import "qsort" (a : 'a array, Array.length a : int, _sizeof('a), f : ('a ptr, 'a ptr) -> int) : unit fun printIntAry x = (Array.app (fn x => print (" " ^ Int.toString x)) x; print "\n") fun printRealAry x = (Array.app (fn x => print (" " ^ Real.toString x)) x; print "\n") val a = Array.fromList [4,75,14,2147483647,3,6,423,42,~2147483648,8,2] val b = Array.fromList [2.3, 1.1, 0.2,10.5,~12.0] val _ = printIntAry a val _ = printRealAry b fun compare (p1, p2) = let val n1 = Pointer.load p1 val n2 = Pointer.load p2 in if n1 > n2 then 1 else if n1 < n2 then ~1 else 0 end val _ = qsort (a, compare) val _ = qsort (b, compare) val _ = printIntAry a val _ = printRealAry b smlsharp-1.2.0/sample/spectrum0000755 000000000000000000000000012050661606016547 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/sample/spectrum/display.sig0000644 000000000000000000000034012050661606020774 0ustar00rootroot0000000 0000000 (** * display.sig * * @copyright (c) 2006-2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: display.sig,v 1.2 2007/04/02 09:42:29 katsu Exp $ *) signature DISPLAY = sig val main : unit -> unit end smlsharp-1.2.0/sample/spectrum/display_curses.smi0000644 000000000000000000000032012050661606022364 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "./libc.smi" _require "./libcurses.smi" _require "./input_plain.smi" _require "./spectrum.smi" _require "./display.sig" structure Display = struct val main : unit -> unit end smlsharp-1.2.0/sample/spectrum/display_curses.sml0000644 000000000000000000000315012050661606022373 0ustar00rootroot0000000 0000000 (** * display_curses.sml * * @copyright (c) 2006-2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: display_curses.sml,v 1.3 2007/04/02 09:42:29 katsu Exp $ *) structure Display : DISPLAY = struct structure PS = PowerSpectrum( val numSamples = 2048 val samplingFreq = 44100.0 ) structure SA = SpectrumAnalyzer(PS) structure IN = Input(PS) val interval = floor (PS.interval * 1000000.0) (* usec *) fun repeat 0 f = () | repeat n f = (f n; repeat (n - 1) f) val buf = Array.array (80, 0.0) fun mainLoop input = let val _ = IN.fill input val _ = IN.read input in SA.toMonoral (IN.buffer, PS.samples); PS.calc (); SA.powerToHeight PS.spectrum; SA.summarize (PS.spectrum, 0, Array.length PS.spectrum, buf); Libcurses.clear (); Array.appi (fn (x, h) => repeat (floor (h / 100.0 * 20.0)) (fn y => (Libcurses.move (20 - y, x); Libcurses.addch #"#"))) buf; Libcurses.refresh (); Libc.usleep (interval div 4); if IN.finished input then () else mainLoop input end fun main () = let val input = IN.openInput () in Libcurses.initscr (); Libcurses.nocbreak (); Libcurses.noecho (); Libcurses.nonl (); Libcurses.clear (); Libcurses.refresh (); IN.startInput input; mainLoop input; IN.closeInput input; Libcurses.endwin () end end smlsharp-1.2.0/sample/spectrum/display_glut.smi0000644 000000000000000000000027612050661606022045 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "../glut/libglut.smi" _require "./spectrum.smi" _require "./input_plain.smi" _require "./display.sig" structure Display = struct val main : unit -> unit end smlsharp-1.2.0/sample/spectrum/display_glut.sml0000644 000000000000000000001037212050661606022046 0ustar00rootroot0000000 0000000 (** * display_glut.sml * * @copyright (c) 2006-2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: display_glut.sml,v 1.3 2007/04/02 09:42:29 katsu Exp $ *) structure Display : DISPLAY = struct structure PS = PowerSpectrum( val numSamples = 1024 val samplingFreq = 44100.0 ) structure SA = SpectrumAnalyzer(PS) structure IN = Input(PS) val interval = floor (PS.interval * 1000.0) (* msec *) val interval = interval * 2 fun repeat 0 f = () | repeat n f = (f n; repeat (n - 1) f) open GL GLU GLUT infix ++ val op ++ = Word.orb val progname = "smlsharp" val input = ref NONE : IN.input option ref val spectrums = ref nil : real array list ref val summarySize = 100 val x = ref 280.0 val y = ref 50.0 val z = ref 360.0 val vx = ref 80.0 val vy = ref 50.0 val vz = ref 10.0 fun plotSpectrum (ary, z) = ( Array.appi (fn (x, h) => let val x = real x val b = 1.0 - x * 1.0 / real (Array.length ary) val g = 0.2 + 0.8 * x / real (Array.length ary) val f = 1.0 - z * 0.008 val f = if f < 1.0 then f * 0.5 else f in glColor3d (0.2 * f, g * f, b * f); glVertex3d (x, 0.0, ~z); glVertex3d (x, h, ~z) end) ary ) fun plot z nil = nil | plot z (ary::arrays) = if z > 100.0 then nil else ary :: plot (z + 1.0) arrays before plotSpectrum (ary, z) fun display () = ( glClear (GL_COLOR_BUFFER_BIT); glLoadIdentity (); gluLookAt (!x, !y, !z, !vx, !vy, !vz, 0.0, 1.0, 0.0); glBegin GL_LINES; spectrums := plot 0.0 (!spectrums); glColor3d (0.8, 0.0, 0.0); glVertex3d (~3.0, 0.0, 0.0); glVertex3d (~3.0, 100.0, 0.0); glVertex3d (0.0, 0.0, 0.0); glVertex3d (100.0, 0.0, 0.0); repeat 10 (fn n => let val x = if n mod 5 = 0 then ~0.5 else ~1.5 val y = real n * 10.0 in glVertex3d (~3.0, y, 0.0); glVertex3d (x, y, 0.0) end); glEnd (); glutSwapBuffers () ) fun resize (w, h) = ( glViewport (0, 0, w, h); glMatrixMode GL_PROJECTION; glLoadIdentity (); gluPerspective (15.0, real w / real h, 1.0, 2000.0); glMatrixMode GL_MODELVIEW ) fun timer n = let val ary = Array.array (summarySize, 0.0) in IN.read (valOf (!input)); SA.toMonoral (IN.buffer, PS.samples); PS.calc (); SA.powerToHeight PS.spectrum; SA.summarize (PS.spectrum, 0, Array.length PS.spectrum, ary); spectrums := ary :: !spectrums; glutPostRedisplay (); glutTimerFunc (interval, timer, 0) end fun idle () = ( while IN.fill (valOf (!input)) do (); () ) fun keyboard (c, _:int, _:int) = ( case chr c of #"j" => x := !x + 1.0 | #"k" => y := !y + 1.0 | #"l" => z := !z + 1.0 | #"J" => x := !x - 1.0 | #"K" => y := !y - 1.0 | #"L" => z := !z - 1.0 | #"u" => vx := !vx + 1.0 | #"i" => vy := !vy + 1.0 | #"o" => vz := !vz + 1.0 | #"U" => vx := !vx - 1.0 | #"I" => vy := !vy - 1.0 | #"O" => vz := !vz - 1.0 | _ => (); print (Real.toString (!x)^", "^ Real.toString (!y)^", "^ Real.toString (!z)^", "^ Real.toString (!vx)^", "^ Real.toString (!vy)^", "^ Real.toString (!vz)^"\n") ) fun main () = ( glutInit (ref 1, Array.fromList [progname]); glutInitDisplayMode (GLUT_RGBA ++ GLUT_DOUBLE); glutInitWindowSize (640, 480); glutCreateWindow progname; glutDisplayFunc display; (* glutKeyboardFunc keyboard; *) glutReshapeFunc resize; glutTimerFunc (interval, timer, 0); input := SOME (IN.openInput ()); glutIdleFunc idle; glClearColor (0.02, 0.02, 0.02, 1.0); IN.startInput (valOf (!input)); glutMainLoop () ) end smlsharp-1.2.0/sample/spectrum/display_text.smi0000644 000000000000000000000026512050661606022054 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "./libc.smi" _require "./input_plain.smi" _require "./spectrum.smi" _require "./display.sig" structure Display = struct val main : unit -> unit end smlsharp-1.2.0/sample/spectrum/display_text.sml0000644 000000000000000000000244212050661606022056 0ustar00rootroot0000000 0000000 (** * display_text.sml * * @copyright (c) 2006-2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: display_text.sml,v 1.3 2007/04/02 09:42:29 katsu Exp $ *) structure Display : DISPLAY = struct structure PS = PowerSpectrum( val numSamples = 2048 val samplingFreq = 44100.0 ) structure SA = SpectrumAnalyzer(PS) structure IN = Input(PS) val interval = floor (PS.interval * 1000000.0) (* usec *) fun dec n = let val s = "00" ^ Int.toString n val x = size s in if x > 3 then substring (s, x - 3, 3) else s end fun printAryAsInt ary = (Array.app (fn x => print (dec (floor x) ^ " ")) ary; print "\n") val buf = Array.array (20, 0.0) fun mainLoop input = let val _ = IN.fill input val _ = IN.read input in SA.toMonoral (IN.buffer, PS.samples); PS.calc (); SA.powerToHeight PS.spectrum; SA.summarize (PS.spectrum, 0, Array.length PS.spectrum, buf); printAryAsInt buf; Libc.usleep (interval div 4); if IN.finished input then () else mainLoop input end fun main () = let val input = IN.openInput () in IN.startInput input; mainLoop input end end smlsharp-1.2.0/sample/spectrum/input.sig0000644 000000000000000000000064012050661606020471 0ustar00rootroot0000000 0000000 (** * input.sig * * @copyright (c) 2006-2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: input.sig,v 1.2 2007/04/02 09:42:29 katsu Exp $ *) signature INPUT = sig type input val buffer : word array val openInput : unit -> input val startInput : input -> unit val closeInput : input -> unit val fill : input -> bool val read : input -> unit val finished : input -> bool end smlsharp-1.2.0/sample/spectrum/input_plain.smi0000644 000000000000000000000060612050661606021664 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "ffi.smi" _require "./libc.smi" _require "./input.sig" functor Input ( A : sig val numSamples : int end ) = struct type input (= boxed) val buffer : word array val openInput : unit -> input val startInput : input -> unit val closeInput : input -> unit val fill : input -> bool val read : input -> unit val finished : input -> bool end smlsharp-1.2.0/sample/spectrum/input_plain.sml0000644 000000000000000000000201712050661606021665 0ustar00rootroot0000000 0000000 (** * input_plain.sml * * @copyright (c) 2006-2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: input_plain.sml,v 1.2 2007/04/02 09:42:29 katsu Exp $ *) functor Input( val numSamples : int ) :> INPUT = struct type input = Libc.c_file * bool ref fun openInput () = let val c_file = Libc.fdopen (0, "rb") in if Pointer.isNull c_file then raise Fail "fdopen" else (); (c_file, ref false) end fun startInput (_:input) = () fun closeInput ((c_file, _):input) = Libc.fclose c_file fun fill ((c_file, eof):input) = false val buffer = Array.array (numSamples, 0w0) fun read ((c_file, eof):input) = let val n = if !eof then 0 else Libc.fread (buffer, numSamples, c_file) in if n < numSamples then Array.modifyi (fn (i,x) => if i < n then x else 0w0) buffer else (); eof := n < numSamples end fun finished ((c_file, eof):input) = !eof end smlsharp-1.2.0/sample/spectrum/libc.smi0000644 000000000000000000000043212050661606020250 0ustar00rootroot0000000 0000000 structure Libc = struct type c_file = unit ptr val fopen : string * string -> c_file val fclose : c_file -> unit val fread : 'a array * int * c_file -> int val memcpy : unit ptr * 'a array * word -> unit val fdopen : int * string -> c_file val usleep : int -> int end smlsharp-1.2.0/sample/spectrum/libc.sml0000644 000000000000000000000160112050661606020252 0ustar00rootroot0000000 0000000 (** * libc.sml * * @copyright (c) 2006-2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: libc.sml,v 1.2 2007/03/29 17:00:08 katsu Exp $ *) structure Libc = struct type c_file = unit ptr (* ANSI *) val fopen = _import "fopen" : (string, string) -> c_file val fclose = _import "fclose" : (c_file) -> unit fun fread (a,len,c_file) = _ffiapply _import "fread" (a:'a array, _sizeof('a), len:int, c_file:c_file) : int fun memcpy (dst,src,len) = _ffiapply _import "memcpy" (dst:unit ptr, src:'a array, _sizeof('a) * len) : unit (* POSIX.1 *) val fdopen = _import "fdopen" : (int, string) -> c_file (* BSD *) val usleep = _import "usleep" : (int) -> int (* * Note for Windows users: * - msvcrt.dll has "_fdopen" but it is broken. Please use fopen instead of fdopen. * - Windows does not have usleep. *) end smlsharp-1.2.0/sample/spectrum/libcurses.smi0000644 000000000000000000000064112050661606021334 0ustar00rootroot0000000 0000000 structure Libcurses = struct val A_REVERSE : int val A_BOLD : int val initscr : unit -> unit val endwin : unit -> unit val nocbreak : unit -> unit val noecho : unit -> unit val nonl : unit -> unit val attron : word -> unit val attroff : word -> unit val addch : char -> unit val addstr : string -> unit val move : int * int -> unit val refresh : unit -> unit val clear : unit -> unit end smlsharp-1.2.0/sample/spectrum/libcurses.sml0000644 000000000000000000000153712050661606021344 0ustar00rootroot0000000 0000000 (** * libcurses.sml * * @copyright (c) 2006-2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: libcurses.sml,v 1.2 2007/04/02 09:42:29 katsu Exp $ *) structure Libcurses = struct (* Mac OS X *) val A_REVERSE = 262144 val A_BOLD = 2097152 val initscr = _import "initscr" : () -> unit val endwin = _import "endwin" : () -> unit val nocbreak = _import "nocbreak" : () -> unit val noecho = _import "noecho" : () -> unit val nonl = _import "nonl" : () -> unit val attron = _import "attron" : (word) -> unit val attroff = _import "attroff" : (word) -> unit val addch = _import "addch" : (char) -> unit val addstr = _import "addstr" : (string) -> unit val move = _import "move" : (int, int) -> unit val refresh = _import "refresh" : () -> unit val clear = _import "clear" : () -> unit end smlsharp-1.2.0/sample/spectrum/libgsl.smi0000644 000000000000000000000013312050661606020611 0ustar00rootroot0000000 0000000 structure GSL = struct val fft_real_radix2_transform : real array * int * int -> int end smlsharp-1.2.0/sample/spectrum/libgsl.sml0000644 000000000000000000000047112050661606020621 0ustar00rootroot0000000 0000000 (** * libgsl.sml * * @copyright (c) 2006-2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: libgsl.sml,v 1.4 2007/06/18 08:42:07 katsu Exp $ *) structure GSL = struct val fft_real_radix2_transform = _import "gsl_fft_real_radix2_transform" : (real array, int, int) -> int end smlsharp-1.2.0/sample/spectrum/libm.smi0000644 000000000000000000000012012050661606020254 0ustar00rootroot0000000 0000000 structure Libm = struct val sin : real -> real val log10 : real -> real end smlsharp-1.2.0/sample/spectrum/libm.sml0000644 000000000000000000000044712050661606020273 0ustar00rootroot0000000 0000000 (** * libm.sml * * @copyright (c) 2006-2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: libm.sml,v 1.2 2007/03/29 17:00:08 katsu Exp $ *) structure Libm = struct (* ANSI *) val sin = _import "sin" : (real) -> real val log10 = _import "log10" : (real) -> real end smlsharp-1.2.0/sample/spectrum/load.smi0000644 000000000000000000000015012050661606020253 0ustar00rootroot0000000 0000000 _require "./display_glut.smi" (* _require "./display_text.smi" *) (* _require "./display_curses.smi" *) smlsharp-1.2.0/sample/spectrum/load.sml0000644 000000000000000000000002112050661606020253 0ustar00rootroot0000000 0000000 Display.main (); smlsharp-1.2.0/sample/spectrum/Makefile0000644 000000000000000000000266212050661606020274 0ustar00rootroot0000000 0000000 SMLSHARP = smlsharp LIBS = -lgsl -Wl,-framework,OpenGL -Wl,-framework,GLUT # for Mac OS X #LIBS = -lgsl -L/usr/X11R6/lib -lgl -lglu -lglut all: spectrum sine sine: sine.c $(CC) $(CFLAGS) -o $@ sine.c -lm spectrum: load.smi load.o ../glut/libglut.o libm.o libgsl.o spectrum.o \ libc.o input_plain.o display_glut.o $(SMLSHARP) -o $@ load.smi $(LIBS) clean: -rm -f spectrum load.o ../glut/libglut.o libm.o libgsl.o spectrum.o \ libc.o input_plain.o display_glut.o -rm -f sine .SUFFIXES: .o .c .sml .sml.o: $(SMLSHARP) -c -o $@ $< display_curses.o: display_curses.sml libc.smi libcurses.smi input.sig \ input_plain.smi libm.smi libgsl.smi spectrum.smi display.sig \ display_curses.smi display_glut.o: display_glut.sml ../glut/libglut.smi libm.smi libgsl.smi \ spectrum.smi libc.smi input.sig input_plain.smi display.sig display_glut.smi display_text.o: display_text.sml libc.smi input.sig input_plain.smi libm.smi \ libgsl.smi spectrum.smi display.sig display_text.smi input_plain.o: input_plain.sml libc.smi input.sig input_plain.smi libc.o: libc.sml libc.smi libcurses.o: libcurses.sml libcurses.smi libgsl.o: libgsl.sml libgsl.smi libm.o: libm.sml libm.smi load.o: load.sml ../glut/libglut.smi libm.smi libgsl.smi spectrum.smi \ libc.smi input.sig input_plain.smi display.sig display_glut.smi load.smi spectrum.o: spectrum.sml libm.smi libgsl.smi spectrum.smi ../glut/libglut.o: ../glut/libglut.sml ../glut/libglut.smi smlsharp-1.2.0/sample/spectrum/Overview.html0000644 000000000000000000000243712050661606021330 0ustar00rootroot0000000 0000000
Sound Spectrum

This is an example program using FFI.

This program reads raw sound data from standard input by fread(3),
calculates its power spectrum by FFT function of GSL library,
and displays it graphically in real time by using either curses or
OpenGL.

This demo requires the following libraries:

- GNU Scientific Library (libgsl)
- libcurses or OpenGL (libgl, libglu, libglut)

How to run this demo:

1. Prepare raw sound stream (44100Hz, signed 16 bit, stereo) by using
   mpg123, mplayer, sox or any other your favorite tool.
   If you don't have any tools, use "sine.c", which is a sine wave
   generator.

2. Choose one display mode (text, curses or glut) and edit load.sml.
   Default is glut.

3. Set some environment variables (CPPFLAGS, LDFLAGS, LDD, and so on)
   so that the program can find header files and libraries.
   See also samples/glut/README.

4. Run load.sml with supplying the sound stream from standard input.

Example:

First, compile sine.c.

  $ cc sine.c -o sine -lm

Then, run load.sml with piping with sine.

  $ ./sine | smlsharp load.sml

If your GSL library is installed to /somewhere, you would specify
CPPFLAGS and LDFLAGS like this:

  $ ./sine | env CPPFLAGS=-I/somewhere/include LDFLAGS=-I/somewhere/lib smlsharp load.sml
smlsharp-1.2.0/sample/spectrum/README0000644 000000000000000000000211212050661606017502 0ustar00rootroot0000000 0000000 Sound Spectrum This is an example program using FFI. This program reads raw sound data from standard input by fread(3), calculates its power spectrum by FFT function of GSL library, and displays it graphically in real time by using either curses or OpenGL. This demo requires the following libraries: - GNU Scientific Library (libgsl) - libcurses or OpenGL (libgl, libglu, libglut) How to run this demo: 1. Prepare raw sound stream (44100Hz, signed 16 bit, stereo) by using mpg123, mplayer, sox or any other your favorite tool. If you don't have any tools, use "sine.c", which is a sine wave generator. 2. Choose one display mode (text, curses or glut) and edit load.sml. Default is glut. 3. Set some environment variables (CPPFLAGS, LDFLAGS, LDD, and so on) so that the program can find header files and libraries. See also samples/glut/README. 4. Run load.sml with supplying the sound stream from standard input. Example: First, compile sine.c. $ cc sine.c -o sine -lm Then, run load.sml with piping with sine. $ ./sine | smlsharp load.sml -- UENO, Katsuhiro smlsharp-1.2.0/sample/spectrum/sine.c0000644 000000000000000000000133612050661606017733 0ustar00rootroot0000000 0000000 /* * sine.c * * @copyright (c) 2006-2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: sine.c,v 1.2 2007/04/02 09:42:29 katsu Exp $ */ #include #include #include #include #define PI 3.141592653549793238462643383279 #define SAMPLE_RATE 44100 int main(int argc, char **argv) { int hz = 441.0; int r = 0; int n; short sample[2]; if (argc > 1) hz = strtol(argv[1], NULL, 10); for (;;) { n = sin(hz * 2 * PI * r / SAMPLE_RATE) * 32768 * 0.8; if (n > SHRT_MAX) n = SHRT_MAX; if (n < SHRT_MIN) n = SHRT_MIN; sample[0] = n; sample[1] = n; fwrite(sample, sizeof(short), 2, stdout); r++; if (r > 44100) r = 0; } return 0; } smlsharp-1.2.0/sample/spectrum/smldoc.cfg0000644 000000000000000000000055412050661606020574 0ustar00rootroot0000000 0000000 --directory=./doc --hidebysig --author --contributor --copyright --version --doctitle=spectrum --header=spectrum --footer=spectrum --overview=Overview.html --linksource display.sig display_curses.sml display_glut.sml display_text.sml input.sig input_plain.sml libc.sml libcurses.sml libgsl.sml libm.sml load.sml spectrum.sml ../glut/libglut.sml smlsharp-1.2.0/sample/spectrum/spectrum.smi0000644 000000000000000000000142612050661606021205 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "./libm.smi" _require "./libgsl.smi" functor PowerSpectrum ( A : sig val numSamples : int val samplingFreq : real end ) = struct val numSamples : int val samplingFreq : real val samplingCycle : real val interval : real val samples : real array val spectrum : real array val calc : unit -> unit end functor SpectrumAnalyzer ( A : sig val numSamples : int val samplingFreq : real end ) = struct val minSample : real val minPower : real val powerToHeight : real array -> unit val summarize : real array * int * int * real array -> unit val toMonoral : word array * real array -> unit val readBlockPulse : real array -> bool val readSineWave : real * real array -> bool val printAry : real array -> unit end smlsharp-1.2.0/sample/spectrum/spectrum.sml0000644 000000000000000000001015512050661606021207 0ustar00rootroot0000000 0000000 (** * spectrum.sml * * @copyright (c) 2006-2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: spectrum.sml,v 1.3 2007/04/02 09:42:29 katsu Exp $ *) functor PowerSpectrum ( val numSamples : int val samplingFreq : real ) : sig val numSamples : int val samplingFreq : real val samplingCycle : real val interval : real val samples : real array val spectrum : real array val calc : unit -> unit end = struct val numSamples = numSamples val samplingFreq = samplingFreq val samplingCycle = 1.0 / samplingFreq fun freq x = real x / samplingCycle / real numSamples val interval = samplingCycle * real numSamples (* sec *) (* sine window *) val window = Vector.tabulate (numSamples, fn n => Libm.sin (Math.pi * real n / real numSamples)) val samples = Array.array (numSamples, 0.0) val spectrum = Array.array (numSamples div 2 - 1, 0.0) val factor = real (numSamples div 2) fun applyWindow 0 = () | applyWindow n = let val n = n - 1 val x = Array.sub (samples, n) * Vector.sub (window, n) in Array.update (samples, n, x); applyWindow n end fun calcSpectrum (r, i) = if r >= i then () else let val re = Array.sub (samples, r) / factor val im = Array.sub (samples, i) / factor val power = re * re + im * im val db = 10.0 * Libm.log10 power in Array.update (spectrum, r - 1, db); calcSpectrum (r + 1, i - 1) end (* * calculate `spectrum' from `samples'. * `samples' will be destructed. *) fun calc () = (applyWindow numSamples; GSL.fft_real_radix2_transform (samples, 1, numSamples); calcSpectrum (1, numSamples - 1)) end functor SpectrumAnalyzer ( val numSamples : int val samplingFreq : real ) = struct val minSample = 1.0 / 32768.0 val minPower = 10.0 * Libm.log10 (minSample * minSample) (* 0 - ~100dB -> height 100 - 0 *) fun powerToHeight ary = Array.modifyi (fn (n,x) => let val x = 100.0 + x in if x < 0.0 then 0.0 else if x > 100.0 then 100.0 else x end) ary (* make a summary of src to dst *) local fun max (ary, i, j, r:real) = if i >= j then r else let val x = Array.sub (ary, i) val r = if r > x then r else x in max (ary, i + 1, j, r) end fun summary (src, offset, len, dst, n) = let val dstlen = Array.length dst in if n >= dstlen then () else let val i = offset + n * len div dstlen val j = offset + (n + 1) * len div dstlen val x = max (src, i, j, 0.0) in Array.update (dst, n, x); summary (src, offset, len, dst, n + 1) end end in fun summarize (src, offset, len, dst) = summary (src, offset, len, dst, 0) end fun toMonoral (ary, dst) = Array.appi (fn (i,x) => let val c1 = Word32.toInt (Word32.>> (x, 0w16)) val c2 = Word32.toInt (Word32.andb (x, 0wxffff)) val c1 = if c1 >= 32768 then c1 - 65536 else c1 val c2 = if c2 >= 32768 then c2 - 65536 else c2 val x = if c1 > c2 then c1 else c2 in Array.update (dst, i, real x / 32768.0) end) ary (* for debug *) fun readBlockPulse dst = ( Array.modifyi (fn (n,_) => if numSamples div 4 <= n andalso n < numSamples * 3 div 4 then 1.0 else 0.0) dst; false ) fun readSineWave (speed, dst) = ( Array.modifyi (fn (n,_) => Libm.sin (speed * 2.0 * Math.pi * real n / real numSamples)) dst; false ) fun printAry ary = Array.appi (fn (n, x) => print (Int.toString n^" : " ^Real.fmt (StringCvt.FIX (SOME 6)) x^"\n")) ary end smlsharp-1.2.0/sample/stdio0000755 000000000000000000000000012050661606016027 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/sample/stdio/Makefile0000644 000000000000000000000013112050661606017541 0ustar00rootroot0000000 0000000 SMLSHARP = smlsharp stdio: stdio.sml $(SMLSHARP) -o $@ stdio.sml clean: -rm -f stdio smlsharp-1.2.0/sample/stdio/stdio.smi0000644 000000000000000000000005012050661606017735 0ustar00rootroot0000000 0000000 _require "basis.smi" _require "ffi.smi" smlsharp-1.2.0/sample/stdio/stdio.sml0000644 000000000000000000000242212050661606017745 0ustar00rootroot0000000 0000000 (** * stdio.sml - sample program using standard I/O of C * * @copyright (c) 2006-2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: stdio.sml,v 1.7 2007/04/02 09:42:29 katsu Exp $ *) type c_file = unit ptr val fopen = _import "fopen" : (string, string) -> c_file val fclose = _import "fclose" : c_file -> unit fun fread (dst, len, file) = _ffiapply _import "fread" (dst : 'a array, _sizeof('a), len : int, file : c_file) : int fun fwrite (dst, len, file) = _ffiapply _import "fwrite" (dst : 'a array, _sizeof('a), len : int, file : c_file) : int fun printAry ary = (Array.app (fn x => print (" " ^ Real.toString x)) ary; print "\n") (* create a file and write an real array to it. *) val file = fopen ("test.bin", "wb") val _ = if Pointer.isNull file then raise Fail "fopen failed" else () val data = Array.fromList [0.0, 1.0, 2.5, 3.1, ~104.6] val _ = printAry data val _ = fwrite (data, Array.length data, file) val _ = fclose file (* open the file and read the real array from it. *) val file = fopen ("test.bin", "rb") val _ = if Pointer.isNull file then raise Fail "fopen failed" else () val buf = Array.array (5, 0.0) val _ = printAry buf val _ = fread (buf, Array.length buf, file) val _ = fclose file val _ = printAry buf smlsharp-1.2.0/SMLNJ_LICENSE0000644 000000000000000000000206112050661606015452 0ustar00rootroot0000000 0000000 STANDARD ML OF NEW JERSEY COPYRIGHT NOTICE, LICENSE AND DISCLAIMER. Copyright (c) 1989-1998 by Lucent Technologies Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the name of Lucent Technologies, Bell Labs or any Lucent entity not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. Lucent disclaims all warranties with regard to this software, including all implied warranties of merchantability and fitness. In no event shall Lucent be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use or performance of this software. smlsharp-1.2.0/src0000755 000000000000000000000000012050661606014213 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/basis0000755 000000000000000000000000012050661606015314 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/basis/main0000755 000000000000000000000000012050661606016240 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/basis/main/ARRAY.sig0000644 000000000000000000000237412050661606017707 0ustar00rootroot0000000 0000000 include "General.smi" include "Array.smi" include "Vector.smi" signature ARRAY = sig type 'a array = 'a Array.array type 'a vector = 'a Vector.vector val maxLen : int val array : int * 'a -> 'a array val fromList : 'a list -> 'a array val tabulate : int * (int -> 'a) -> 'a array val length : 'a array -> int val sub : 'a array * int -> 'a val update : 'a array * int * 'a -> unit val vector : 'a array -> 'a vector val copy : {src : 'a array, dst : 'a array, di : int} -> unit val copyVec : {src : 'a vector, dst : 'a array, di : int} -> unit val appi : (int * 'a -> unit) -> 'a array -> unit val app : ('a -> unit) -> 'a array -> unit val modifyi : (int * 'a -> 'a) -> 'a array -> unit val modify : ('a -> 'a) -> 'a array -> unit val foldli : (int * 'a * 'b -> 'b) -> 'b -> 'a array -> 'b val foldri : (int * 'a * 'b -> 'b) -> 'b -> 'a array -> 'b val foldl : ('a * 'b -> 'b) -> 'b -> 'a array -> 'b val foldr : ('a * 'b -> 'b) -> 'b -> 'a array -> 'b val findi : (int * 'a -> bool) -> 'a array -> (int * 'a) option val find : ('a -> bool) -> 'a array -> 'a option val exists : ('a -> bool) -> 'a array -> bool val all : ('a -> bool) -> 'a array -> bool val collate : ('a * 'a -> order) -> 'a array * 'a array -> order end smlsharp-1.2.0/src/basis/main/Array.smi0000644 000000000000000000000235012050661606020107 0ustar00rootroot0000000 0000000 _require "General.smi" _require "List.smi" structure Array = struct type 'a array = 'a array type 'a vector = 'a vector val maxLen : int val array : int * 'a -> 'a array val fromList : 'a list -> 'a array val tabulate : int * (int -> 'a) -> 'a array val length = SMLSharp.PrimArray.length val sub = SMLSharp.PrimArray.sub val update = SMLSharp.PrimArray.update val foldli : (int * 'a * 'b -> 'b) -> 'b -> 'a array -> 'b val foldl : ('a * 'b -> 'b) -> 'b -> 'a array -> 'b val foldri : (int * 'a * 'b -> 'b) -> 'b -> 'a array -> 'b val foldr : ('a * 'b -> 'b) -> 'b -> 'a array -> 'b val appi : (int * 'a -> unit) -> 'a array -> unit val app : ('a -> unit) -> 'a array -> unit val findi : (int * 'a -> bool) -> 'a array -> (int * 'a) option val find : ('a -> bool) -> 'a array -> 'a option val exists : ('a -> bool) -> 'a array -> bool val all : ('a -> bool) -> 'a array -> bool val collate : ('a * 'a -> order) -> 'a array * 'a array -> order val vector : 'a array -> 'a vector val copy : {src : 'a array, dst : 'a array, di : int} -> unit val copyVec : {src : 'a vector, dst : 'a array, di : int} -> unit val modifyi : (int * 'a -> 'a) -> 'a array -> unit val modify : ('a -> 'a) -> 'a array -> unit end smlsharp-1.2.0/src/basis/main/Array.sml0000644 000000000000000000001541512050661606020120 0ustar00rootroot0000000 0000000 (** * Array structure. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * * @author Atsushi Ohori (refactored) * @copyright 2010, 2011, Tohoku University. *) (* 2012-1-07 ohori I have refactored this from ArrayStructures. Since array is the basic structure, we should minimize redefinitions, and inline primitives as much as possible. *) _interface "Array.smi" local infix 7 * / div mod infix 6 + - infixr 5 :: infix 4 = <> > >= < <= val op + = SMLSharp.Int.add val op - = SMLSharp.Int.sub val op > = SMLSharp.Int.gt val op < = SMLSharp.Int.lt val op <= = SMLSharp.Int.lteq val op >= = SMLSharp.Int.gteq in structure Array : sig type 'a array = 'a array type 'a vector = 'a vector val maxLen : int val array : int * 'a -> 'a array val fromList : 'a list -> 'a array val tabulate : int * (int -> 'a) -> 'a array val length : 'a array -> int val sub : 'a array * int -> 'a val update : 'a array * int * 'a -> unit val foldli : (int * 'a * 'b -> 'b) -> 'b -> 'a array -> 'b val foldl : ('a * 'b -> 'b) -> 'b -> 'a array -> 'b val foldri : (int * 'a * 'b -> 'b) -> 'b -> 'a array -> 'b val foldr : ('a * 'b -> 'b) -> 'b -> 'a array -> 'b val appi : (int * 'a -> unit) -> 'a array -> unit val app : ('a -> unit) -> 'a array -> unit val findi : (int * 'a -> bool) -> 'a array -> (int * 'a) option val find : ('a -> bool) -> 'a array -> 'a option val exists : ('a -> bool) -> 'a array -> bool val all : ('a -> bool) -> 'a array -> bool val collate : ('a * 'a -> order) -> 'a array * 'a array -> order val vector : 'a array -> 'a vector val copy : {src : 'a array, dst : 'a array, di : int} -> unit val copyVec : {src : 'a vector, dst : 'a array, di : int} -> unit val modifyi : (int * 'a -> 'a) -> 'a array -> unit val modify : ('a -> 'a) -> 'a array -> unit end = struct type 'a array = 'a array type 'a vector = 'a vector (* object size occupies 28 bits of 32-bit object header, * and the size of the maximum value is 16 bytes. * so we take 2^24 for maxLen. *) val maxLen = 0x00ffffff fun array (len, elem) = let val buf = SMLSharp.PrimArray.allocArray len fun loop i = if i >= len then () else (SMLSharp.PrimArray.update (buf, i, elem); loop (i + 1)) in loop 0; buf end fun fromList elems = let val len = List.length elems val buf = SMLSharp.PrimArray.allocArray len fun loop (i, nil) = () | loop (i, h::t) = (SMLSharp.PrimArray.update (buf, i, h); loop (i + 1, t)) in loop (0, elems); buf end fun tabulate (len, elemFn) = let val buf = SMLSharp.PrimArray.allocArray len fun loop i = if i >= len then () else (SMLSharp.PrimArray.update (buf, i, elemFn i); loop (i + 1)) in loop 0; buf end val length = SMLSharp.PrimArray.length val sub = SMLSharp.PrimArray.sub val update = SMLSharp.PrimArray.update fun foldli foldFn z ary = let val len = SMLSharp.PrimArray.length ary fun loop (i, z) = if i >= len then z else let val x = SMLSharp.PrimArray.sub (ary, i) in loop (i + 1, foldFn (i, x, z)) end in loop (0, z) end fun foldl foldFn z ary = foldli (fn (i,x,z) => foldFn (x,z)) z ary fun foldri foldFn z ary = let val len = SMLSharp.PrimArray.length ary fun loop (i, z) = if i < 0 then z else let val x = SMLSharp.PrimArray.sub (ary, i) in loop (i - 1, foldFn (i, x, z)) end in loop (len - 1, z) end fun foldr foldFn z ary = foldri (fn (i,x,z) => foldFn (x,z)) z ary fun appi appFn ary = foldli (fn (i,x,()) => appFn (i,x)) () ary fun app appFn ary = foldli (fn (i,x,()) => appFn x) () ary fun findi predicate ary = let val len = SMLSharp.PrimArray.length ary fun loop i = if i >= len then NONE else let val x = SMLSharp.PrimArray.sub (ary, i) in if predicate (i, x) then SOME (i, x) else loop (i + 1) end in loop 0 end fun find predicate ary = case findi (fn (i,x) => predicate x) ary of SOME (i,x) => SOME x | NONE => NONE fun exists predicate ary = case find predicate ary of SOME _ => true | NONE => false fun all predicate ary = let val len = SMLSharp.PrimArray.length ary fun loop i = if i >= len then true else predicate (SMLSharp.PrimArray.sub (ary, i)) andalso loop (i + 1) in loop 0 end fun 'a collate (cmpFn: ('a * 'a -> order)) (ary1:'a array, ary2:'a array) = let val len1 = SMLSharp.PrimArray.length ary1 val len2 = SMLSharp.PrimArray.length ary2 fun loop (i, 0, 0) = EQUAL | loop (i, 0, _) = LESS | loop (i, _, 0) = GREATER | loop (i, rest1, rest2) = let val c1 = SMLSharp.PrimArray.sub (ary1, i) val c2 = SMLSharp.PrimArray.sub (ary2, i) in case cmpFn (c1, c2) of EQUAL => loop (i + 1, rest1 - 1, rest2 - 1) | order => order end in loop (0, len1, len2) end fun vector ary = let val len = SMLSharp.PrimArray.length ary val buf = SMLSharp.PrimArray.allocVector len in SMLSharp.PrimArray.copy_unsafe_array_to_vector (ary, 0, buf, 0, len); buf end fun copy {src, dst, di} = let val srclen = SMLSharp.PrimArray.length src val dstlen = SMLSharp.PrimArray.length dst in if di < 0 orelse dstlen < di orelse dstlen - di < srclen then raise Subscript else SMLSharp.PrimArray.copy_unsafe_array_to_array (src, 0, dst, di, srclen) end fun copyVec {src, dst, di} = let val srclen = SMLSharp.PrimArray.length_vector src val dstlen = SMLSharp.PrimArray.length dst in if di < 0 orelse dstlen < di orelse dstlen - di < srclen then raise Subscript else SMLSharp.PrimArray.copy_unsafe_vector_to_array (src, 0, dst, di, srclen) end fun modifyi mapFn ary = let val len = SMLSharp.PrimArray.length ary fun loop i = if i >= len then () else let val x = SMLSharp.PrimArray.sub (ary, i) in SMLSharp.PrimArray.update (ary, i, mapFn (i, x)); loop (i + 1) end in loop 0 end fun modify mapFn ary = modifyi (fn (i,x) => mapFn x) ary end end smlsharp-1.2.0/src/basis/main/ARRAY_SLICE.sig0000644 000000000000000000000260112050661606020617 0ustar00rootroot0000000 0000000 include "General.smi" include "Array.smi" signature ARRAY_SLICE = sig type 'a slice val length : 'a slice -> int val sub : 'a slice * int -> 'a val update : 'a slice * int * 'a -> unit val full : 'a Array.array -> 'a slice val slice : 'a Array.array * int * int option -> 'a slice val subslice : 'a slice * int * int option -> 'a slice val base : 'a slice -> 'a Array.array * int * int val vector : 'a slice -> 'a Vector.vector val copy : {src : 'a slice, dst : 'a Array.array, di : int} -> unit val copyVec : {src : 'a VectorSlice.slice, dst : 'a Array.array, di : int} -> unit val isEmpty : 'a slice -> bool val getItem : 'a slice -> ('a * 'a slice) option val appi : (int * 'a -> unit) -> 'a slice -> unit val app : ('a -> unit) -> 'a slice -> unit val modifyi : (int * 'a -> 'a) -> 'a slice -> unit val modify : ('a -> 'a) -> 'a slice -> unit val foldli : (int * 'a * 'b -> 'b) -> 'b -> 'a slice -> 'b val foldri : (int * 'a * 'b -> 'b) -> 'b -> 'a slice -> 'b val foldl : ('a * 'b -> 'b) -> 'b -> 'a slice -> 'b val foldr : ('a * 'b -> 'b) -> 'b -> 'a slice -> 'b val findi : (int * 'a -> bool) -> 'a slice -> (int * 'a) option val find : ('a -> bool) -> 'a slice -> 'a option val exists : ('a -> bool) -> 'a slice -> bool val all : ('a -> bool) -> 'a slice -> bool val collate : ('a * 'a -> order) -> 'a slice * 'a slice -> order end smlsharp-1.2.0/src/basis/main/ArraySlice.smi0000644 000000000000000000000272512050661606021075 0ustar00rootroot0000000 0000000 _require "General.smi" _require "List.smi" _require "Array.smi" _require "Vector.smi" _require "VectorSlice.smi" structure ArraySlice = struct type 'a slice (= boxed) val length : 'a slice -> int val sub : 'a slice * int -> 'a val update : 'a slice * int * 'a -> unit val full : 'a Array.array -> 'a slice val slice : 'a Array.array * int * int option -> 'a slice val subslice : 'a slice * int * int option -> 'a slice val base : 'a slice -> 'a Array.array * int * int val vector : 'a slice -> 'a Vector.vector val copy : {src : 'a slice, dst : 'a Array.array, di : int} -> unit val copyVec : {src : 'a VectorSlice.slice, dst : 'a Array.array, di : int} -> unit val isEmpty : 'a slice -> bool val getItem : 'a slice -> ('a * 'a slice) option val appi : (int * 'a -> unit) -> 'a slice -> unit val app : ('a -> unit) -> 'a slice -> unit val modifyi : (int * 'a -> 'a) -> 'a slice -> unit val modify : ('a -> 'a) -> 'a slice -> unit val foldli : (int * 'a * 'b -> 'b) -> 'b -> 'a slice -> 'b val foldri : (int * 'a * 'b -> 'b) -> 'b -> 'a slice -> 'b val foldl : ('a * 'b -> 'b) -> 'b -> 'a slice -> 'b val foldr : ('a * 'b -> 'b) -> 'b -> 'a slice -> 'b val findi : (int * 'a -> bool) -> 'a slice -> (int * 'a) option val find : ('a -> bool) -> 'a slice -> 'a option val exists : ('a -> bool) -> 'a slice -> bool val all : ('a -> bool) -> 'a slice -> bool val collate : ('a * 'a -> order) -> 'a slice * 'a slice -> order end smlsharp-1.2.0/src/basis/main/ArraySlice.sml0000644 000000000000000000001742712050661606021105 0ustar00rootroot0000000 0000000 (** * Array related structures. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * * @author Atsushi Ohori (refactored from ArrayStructure) * @copyright 2010, 2011, Tohoku University. *) _interface "ArraySlice.smi" local infix 7 * / div mod infix 6 + - infixr 5 :: infix 4 = <> > >= < <= val op + = SMLSharp.Int.add val op - = SMLSharp.Int.sub val op > = SMLSharp.Int.gt val op < = SMLSharp.Int.lt val op <= = SMLSharp.Int.lteq val op >= = SMLSharp.Int.gteq in structure ArraySlice :> sig (* same as ARRAY_SLICE *) type 'a slice val length : 'a slice -> int val sub : 'a slice * int -> 'a val full : 'a Array.array -> 'a slice val slice : 'a Array.array * int * int option -> 'a slice val subslice : 'a slice * int * int option -> 'a slice val base : 'a slice -> 'a Array.array * int * int val vector : 'a slice -> 'a Vector.vector val isEmpty : 'a slice -> bool val getItem : 'a slice -> ('a * 'a slice) option val foldli : (int * 'a * 'b -> 'b) -> 'b -> 'a slice -> 'b val foldri : (int * 'a * 'b -> 'b) -> 'b -> 'a slice -> 'b val foldl : ('a * 'b -> 'b) -> 'b -> 'a slice -> 'b val foldr : ('a * 'b -> 'b) -> 'b -> 'a slice -> 'b val appi : (int * 'a -> unit) -> 'a slice -> unit val app : ('a -> unit) -> 'a slice -> unit val findi : (int * 'a -> bool) -> 'a slice -> (int * 'a) option val find : ('a -> bool) -> 'a slice -> 'a option val exists : ('a -> bool) -> 'a slice -> bool val all : ('a -> bool) -> 'a slice -> bool val collate : ('a * 'a -> order) -> 'a slice * 'a slice -> order val update : 'a slice * int * 'a -> unit val copy : {src : 'a slice, dst : 'a Array.array, di : int} -> unit val copyVec : {src : 'a VectorSlice.slice, dst : 'a Array.array, di : int} -> unit val modifyi : (int * 'a -> 'a) -> 'a slice -> unit val modify : ('a -> 'a) -> 'a slice -> unit end= struct type 'a slice = 'a Array.array * int * int (* array * start * length *) fun length ((ary, start, length):'a slice) = length fun sub ((ary, start, length):'a slice, index) = SMLSharp.PrimArray.sub (ary, start + index) fun full ary = (ary, 0, SMLSharp.PrimArray.length ary) : 'a slice fun slice (ary, start, lengthOpt) = let val length = SMLSharp.PrimArray.length ary val _ = if start < 0 orelse length < start then raise Subscript else () val length = case lengthOpt of NONE => length - start | SOME len => if len < 0 orelse length - start < len then raise Subscript else len in (ary, start, length) : 'a slice end fun subslice ((ary, start, length):'a slice, start2, lengthOpt) = let val _ = if start2 < 0 orelse length < start2 then raise Subscript else () val length = case lengthOpt of NONE => length - start2 | SOME len => if len < 0 orelse length - start2 < len then raise Subscript else len in (ary, start + start2, length) : 'a slice end fun base (x:'a slice) = x fun vector ((ary, start, length):'a slice) = let val buf = SMLSharp.PrimArray.allocVector length in SMLSharp.PrimArray.copy_unsafe_array_to_vector (ary, start, buf, 0, length); buf end fun isEmpty ((ary, start, length):'a slice) = length = 0 fun getItem ((ary, start, length):'a slice) = if length <= 0 then NONE else SOME (SMLSharp.PrimArray.sub (ary, start), (ary, start + 1, length - 1) : 'a slice) fun foldli foldFn z ((ary, start, length):'a slice) = let val max = start + length fun loop (i, z) = if i >= max then z else let val x = SMLSharp.PrimArray.sub (ary, i) in loop (i + 1, foldFn (i - start, x, z)) end in loop (start, z) end fun foldl foldFn z slice = foldli (fn (i,x,z) => foldFn (x,z)) z slice fun foldri foldFn z ((ary, start, length):'a slice) = let fun loop (i, z) = if i < start then z else let val x = SMLSharp.PrimArray.sub (ary, i) in loop (i - 1, foldFn (i - start, x, z)) end in loop (start + length - 1, z) end fun foldr foldFn z slice = foldri (fn (i,x,z) => foldFn (x,z)) z slice fun appi appFn slice = foldli (fn (i,x,()) => appFn (i,x)) () slice fun app appFn slice = foldli (fn (i,x,()) => appFn x) () slice fun findi predicate ((ary, start, length):'a slice) = let val max = start + length fun loop i = if i >= max then NONE else let val x = SMLSharp.PrimArray.sub (ary, i) in if predicate (i - start, x) then SOME (i, x) else loop (i + 1) end in loop start end fun find predicate slice = case findi (fn (i,x) => predicate x) slice of NONE => NONE | SOME (i,x) => SOME x fun exists predicate ary = case find predicate ary of SOME _ => true | NONE => false fun all predicate ((ary, start, length):'a slice) = let val max = start + length fun loop i = if i >= max then true else predicate (SMLSharp.PrimArray.sub (ary, i)) andalso loop (i + 1) in loop start end fun collate cmpFn ((ary1, start1, length1):'a slice, (ary2, start2, length2):'a slice) = let fun loop (i, 0, j, 0) = EQUAL | loop (i, 0, j, _) = LESS | loop (i, _, j, 0) = GREATER | loop (i, rest1, j, rest2) = let val c1 = SMLSharp.PrimArray.sub (ary1, i) val c2 = SMLSharp.PrimArray.sub (ary2, j) in case cmpFn (c1, c2) of EQUAL => loop (i + 1, rest1 - 1, j + 1, rest2 - 1) | order => order end in loop (start1, length1, start2, length2) end fun update ((ary, start, length):'a slice, index, elem) = if index < 0 orelse length <= index then raise Subscript else SMLSharp.PrimArray.update (ary, start + index, elem) fun copy {src = (srcary, srcstart, srclen):'a slice, dst, di} = let val dstlen = SMLSharp.PrimArray.length dst in if di < 0 orelse dstlen < di orelse dstlen - di < srclen then raise Subscript else SMLSharp.PrimArray.copy_unsafe_array_to_array (srcary, srcstart, dst, di, srclen) end fun copyVec {src, dst, di} = let val (srcary, srcstart, srclen) = VectorSlice.base src val dstlen = SMLSharp.PrimArray.length dst in if di < 0 orelse dstlen < di orelse dstlen - di < srclen then raise Subscript else SMLSharp.PrimArray.copy_unsafe_vector_to_array (srcary, srcstart, dst, di, srclen) end fun modifyi mapFn ((ary, start, length):'a slice) = let val max = start + length fun loop i = if i >= max then () else let val x = SMLSharp.PrimArray.sub (ary, i) in SMLSharp.PrimArray.update (ary, i, mapFn (i - start, x)); loop (i + 1) end in loop start end fun modify mapFn slice = modifyi (fn (i,x) => mapFn x) slice end (* ArraySlice *) end (* local *) smlsharp-1.2.0/src/basis/main/BIN_IO.sig0000644 000000000000000000000077512050661606020033 0ustar00rootroot0000000 0000000 include "Word8Vector.smi" include "../../smlnj/Basis/IO/prim-io-bin.smi" include "IMPERATIVE_IO.sig" signature BIN_IO = sig include IMPERATIVE_IO where type StreamIO.vector = Word8Vector.vector where type StreamIO.elem = SMLSharp.Word8.word where type StreamIO.reader = BinPrimIO.reader where type StreamIO.writer = BinPrimIO.writer where type StreamIO.pos = BinPrimIO.pos val openIn : string -> instream val openOut : string -> outstream val openAppend : string -> outstream end smlsharp-1.2.0/src/basis/main/binary-op.smi0000644 000000000000000000000602312050661606020732 0ustar00rootroot0000000 0000000 _require "Int.smi" _require "IntInf.smi" _require "Word.smi" _require "Word8.smi" _require "RealClass.smi" _require "Real.smi" _require "Real32.smi" _require "Char.smi" _require "String.smi" infix 7 * / div mod infix 6 + - infix 4 = <> > >= < <= val <> : ''a * ''a -> bool val + = case 'a in 'a * 'a -> 'a of int => SMLSharp.Int.add | word => SMLSharp.Word.add | Word8.word => SMLSharp.Word8.add | IntInf.int => IntInf.+ | real => SMLSharp.Real.add | Real32.real => SMLSharp.Real32.add val - = case 'a in 'a * 'a -> 'a of int => SMLSharp.Int.sub | word => SMLSharp.Word.sub | Word8.word => SMLSharp.Word8.sub | IntInf.int => IntInf.- | real => SMLSharp.Real.sub | Real32.real => SMLSharp.Real32.sub val * = case 'a in 'a * 'a -> 'a of int => SMLSharp.Int.mul | word => SMLSharp.Word.mul | Word8.word => SMLSharp.Word8.mul | IntInf.int => IntInf.* | real => SMLSharp.Real.mul | Real32.real => SMLSharp.Real32.mul val div = case 'a in 'a * 'a -> 'a of int => SMLSharp.Int.div | word => SMLSharp.Word.div | Word8.word => SMLSharp.Word8.div | IntInf.int => IntInf.div val mod = case 'a in 'a * 'a -> 'a of int => SMLSharp.Int.mod | word => SMLSharp.Word.mod | Word8.word => SMLSharp.Word8.mod | IntInf.int => IntInf.mod val / = case 'a in 'a * 'a -> 'a of real => SMLSharp.Real.div | Real32.real => SMLSharp.Real32.div val ~ = case 'a in 'a -> 'a of int => SMLSharp.Int.neg | word => SMLSharp.Word.neg | Word8.word => Word8.~ | IntInf.int => IntInf.~ | real => SMLSharp.Real.neg | Real32.real => SMLSharp.Real32.neg val abs = case 'a in 'a -> 'a of int => SMLSharp.Int.abs | real => SMLSharp.Real.abs | Real32.real => SMLSharp.Real32.abs | IntInf.int => IntInf.abs val < = case 'a in 'a * 'a -> bool of int => SMLSharp.Int.lt | word => SMLSharp.Word.lt | Word8.word => SMLSharp.Word8.lt | IntInf.int => IntInf.< | real => SMLSharp.Real.lt | Real32.real => SMLSharp.Real32.lt | string => String.< | char => SMLSharp.Char.lt val > = case 'a in 'a * 'a -> bool of int => SMLSharp.Int.gt | word => SMLSharp.Word.gt | Word8.word => SMLSharp.Word8.gt | IntInf.int => IntInf.> | real => SMLSharp.Real.gt | Real32.real => SMLSharp.Real32.gt | string => String.> | char => SMLSharp.Char.gt val <= = case 'a in 'a * 'a -> bool of int => SMLSharp.Int.lteq | word => SMLSharp.Word.lteq | Word8.word => SMLSharp.Word8.lteq | IntInf.int => IntInf.<= | real => SMLSharp.Real.lteq | Real32.real => SMLSharp.Real32.lteq | string => String.<= | char => SMLSharp.Char.lteq val >= = case 'a in 'a * 'a -> bool of int => SMLSharp.Int.gteq | word => SMLSharp.Word.gteq | Word8.word => SMLSharp.Word8.gteq | IntInf.int => IntInf.>= | real => SMLSharp.Real.gteq | Real32.real => SMLSharp.Real32.gteq | string => String.>= | char => SMLSharp.Char.gteq smlsharp-1.2.0/src/basis/main/binary-op.sml0000644 000000000000000000000030312050661606020730 0ustar00rootroot0000000 0000000 (** * binary operators. * @author UENO Katsuhiro * @copyright 2011, Tohoku University. *) _interface "binary-op.smi" infix 4 = <> > >= < <= fun op <> (x, y) = if x = y then false else true smlsharp-1.2.0/src/basis/main/BinIO.smi0000644 000000000000000000000471712050661606020002 0ustar00rootroot0000000 0000000 _require "Int.smi" _require "Word8.smi" _require "IO.smi" _require "../../smlnj/Basis/IO/bin-io.smi" _require "BIN_IO.sig" structure BinIO = struct structure StreamIO = struct type elem = Word8.word type vector = Word8Vector.vector type instream (= boxed) type outstream (= boxed) type out_pos (= boxed) type reader = BinPrimIO.reader type writer = BinPrimIO.writer type pos = BinPrimIO.pos val input : instream -> vector * instream val input1 : instream -> (elem * instream) option val inputN : instream * int -> vector * instream val inputAll : instream -> vector * instream val canInput : instream * int -> int option val closeIn : instream -> unit val endOfStream : instream -> bool val output : outstream * vector -> unit val output1 : outstream * elem -> unit val flushOut : outstream -> unit val closeOut : outstream -> unit val mkInstream : reader * vector -> instream val getReader : instream -> reader * vector val filePosIn : instream -> pos val setBufferMode : outstream * IO.buffer_mode -> unit val getBufferMode : outstream -> IO.buffer_mode val mkOutstream : writer * IO.buffer_mode -> outstream val getWriter : outstream -> writer * IO.buffer_mode val getPosOut : outstream -> out_pos val setPosOut : out_pos -> outstream val filePosOut : out_pos -> pos end type vector = StreamIO.vector type elem = StreamIO.elem type instream (= boxed) type outstream (= boxed) val input : instream -> vector val input1 : instream -> elem option val inputN : instream * int -> vector val inputAll : instream -> vector val canInput : instream * int -> int option val lookahead : instream -> elem option val closeIn : instream -> unit val endOfStream : instream -> bool val output : outstream * vector -> unit val output1 : outstream * elem -> unit val flushOut : outstream -> unit val closeOut : outstream -> unit val mkInstream : StreamIO.instream -> instream val getInstream : instream -> StreamIO.instream val setInstream : instream * StreamIO.instream -> unit val mkOutstream : StreamIO.outstream -> outstream val getOutstream : outstream -> StreamIO.outstream val setOutstream : outstream * StreamIO.outstream -> unit val getPosOut : outstream -> StreamIO.out_pos val setPosOut : outstream * StreamIO.out_pos -> unit val openIn : string -> instream val openOut : string -> outstream val openAppend : string -> outstream end smlsharp-1.2.0/src/basis/main/BinIO.sml0000644 000000000000000000000126312050661606017776 0ustar00rootroot0000000 0000000 (** * BinIO structure. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * @copyright 2010, 2011, Tohoku University. *) (* 2012-01-21 ohori I have inlined one-shot functor. Old: BinIO <== SMLSharpSMLNJ_BinIO (in ./smlnj/Basis/Unix/posix-bin-io.sml) <== SMLSharpSMLNJ_BinIOFn (in ./smlnj/Basis/IO/bin-io-fn.sml) SMLSharpSMLNJ_PosixBinPrimIO (in ./smlnj/Basis/Unix/posix-bin-prim-io.sml) where SMLSharpSMLNJ_BinIOFn is used only onece. New: <== SMLSharpSMLNJ_BinIOFn (in ./smlnj/Basis/IO/bin-io.sml) <== SMLSharpSMLNJ_PosixBinPrimIO (in ./smlnj/Basis/Unix/posix-bin-prim-io.sml) *) _interface "BinIO.smi" structure BinIO = SMLSharpSMLNJ_BinIO :> BIN_IO smlsharp-1.2.0/src/basis/main/BOOL.sig0000644 000000000000000000000037312050661606017561 0ustar00rootroot0000000 0000000 include "StringCvt.smi" signature BOOL = sig datatype bool = false | true val not : bool -> bool val toString : bool -> string val scan : (char, 'a) StringCvt.reader -> (bool, 'a) StringCvt.reader val fromString : string -> bool option end smlsharp-1.2.0/src/basis/main/Bool.smi0000644 000000000000000000000055512050661606017731 0ustar00rootroot0000000 0000000 _require "StringCvt.smi" _require "SMLSharpScanChar.smi" _require "Char.smi" _require "BOOL.sig" structure Bool = struct datatype bool = datatype bool val not : bool -> bool val toString : bool -> string val scan : (char, 'a) StringCvt.reader -> (bool, 'a) StringCvt.reader val fromString : string -> bool option end (* toplevel *) val not = Bool.not smlsharp-1.2.0/src/basis/main/Bool.sml0000644 000000000000000000000265012050661606017732 0ustar00rootroot0000000 0000000 (** * Bool structure. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * @copyright 2010, 2011, Tohoku University. *) _interface "Bool.smi" structure Bool :> BOOL where type bool = bool = struct datatype bool = datatype bool fun not true = false | not false = true fun toLower NONE = NONE | toLower (SOME (c, strm)) = SOME (Char.toLower c, strm) fun scan getc strm = case toLower (getc (SMLSharpScanChar.skipSpaces getc strm)) of SOME (#"t", strm) => (case toLower (getc strm) of SOME (#"r", strm) => (case toLower (getc strm) of SOME (#"u", strm) => (case toLower (getc strm) of SOME (#"e", strm) => SOME (true, strm) | _ => NONE) | _ => NONE) | _ => NONE) | SOME (#"f", strm) => (case toLower (getc strm) of SOME (#"a", strm) => (case toLower (getc strm) of SOME (#"l", strm) => (case toLower (getc strm) of SOME (#"s", strm) => (case toLower (getc strm) of SOME (#"e", strm) => SOME (false, strm) | _ => NONE) | _ => NONE) | _ => NONE) | _ => NONE) | _ => NONE fun fromString bool = StringCvt.scanString scan bool fun toString true = "true" | toString false = "false" end val not = Bool.not smlsharp-1.2.0/src/basis/main/BYTE.sig0000644 000000000000000000000073412050661606017572 0ustar00rootroot0000000 0000000 include "Word8Vector.smi" include "Word8VectorSlice.smi" include "Word8Array.smi" signature BYTE = sig val byteToChar : SMLSharp.Word8.word -> char val charToByte : char -> SMLSharp.Word8.word val bytesToString : Word8Vector.vector -> string val stringToBytes : string -> Word8Vector.vector val unpackStringVec : Word8VectorSlice.slice -> string val unpackString : Word8ArraySlice.slice -> string val packString : Word8Array.array * int * substring -> unit end smlsharp-1.2.0/src/basis/main/Byte.smi0000644 000000000000000000000075112050661606017737 0ustar00rootroot0000000 0000000 _require "Word8Vector.smi" _require "Word8VectorSlice.smi" _require "Word8Array.smi" _require "Substring.smi" structure Byte = struct val byteToChar = SMLSharp.Word8.toChar val charToByte = SMLSharp.Word8.fromChar val bytesToString : Word8Vector.vector -> string val stringToBytes : string -> Word8Vector.vector val unpackStringVec = Word8VectorSlice.vector val unpackString = Word8ArraySlice.vector val packString : Word8Array.array * int * Substring.substring -> unit end smlsharp-1.2.0/src/basis/main/Byte.sml0000644 000000000000000000000223712050661606017743 0ustar00rootroot0000000 0000000 _interface "Byte.smi" structure Byte : sig (* same as BYTE *) val byteToChar : SMLSharp.Word8.word -> char val charToByte : char -> SMLSharp.Word8.word val bytesToString : Word8Vector.vector -> string val stringToBytes : string -> Word8Vector.vector val unpackStringVec : Word8VectorSlice.slice -> string val unpackString : Word8ArraySlice.slice -> string val packString : Word8Array.array * int * Substring.substring -> unit end = struct local infix 6 + - infix 4 < val op - = SMLSharp.Int.sub val op < = SMLSharp.Int.lt in val byteToChar = SMLSharp.Word8.toChar val charToByte = SMLSharp.Word8.fromChar fun bytesToString x = x : string fun stringToBytes x = x : Word8Vector.vector val unpackStringVec = Word8VectorSlice.vector val unpackString = Word8ArraySlice.vector fun packString (dst, di, src) = let val (srcary, srcstart, srclen) = Substring.base src val dstlen = Word8Array.length dst in if di < 0 orelse dstlen < di orelse dstlen - di < srclen then raise Subscript else SMLSharp.PrimString.copy_unsafe (srcary, srcstart, dst, di, srclen) end end end (* Byte *) smlsharp-1.2.0/src/basis/main/CHAR.sig0000644 000000000000000000000221412050661606017537 0ustar00rootroot0000000 0000000 include "General.smi" include "StringCvt.smi" signature CHAR = sig eqtype char eqtype string val minChar : char val maxChar : char val maxOrd : int val ord : char -> int val chr : int -> char val succ : char -> char val pred : char -> char val compare : char * char -> order val < : char * char -> bool val <= : char * char -> bool val > : char * char -> bool val >= : char * char -> bool val contains : string -> char -> bool val notContains : string -> char -> bool val isAscii : char -> bool val toLower : char -> char val toUpper : char -> char val isAlpha : char -> bool val isAlphaNum : char -> bool val isCntrl : char -> bool val isDigit : char -> bool val isGraph : char -> bool val isHexDigit : char -> bool val isLower : char -> bool val isPrint : char -> bool val isSpace : char -> bool val isPunct : char -> bool val isUpper : char -> bool val toString : char -> string val scan : (SMLSharp.Char.char, 'a) StringCvt.reader -> (char, 'a) StringCvt.reader val fromString : string -> char option val toCString : char -> string val fromCString : string -> char option end smlsharp-1.2.0/src/basis/main/Char.smi0000644 000000000000000000000235612050661606017714 0ustar00rootroot0000000 0000000 _require "SMLSharpScanChar.smi" _require "General.smi" _require "StringCvt.smi" _require "CHAR.sig" structure Char = struct type char = char type string = string val minChar : char val maxChar : char val maxOrd : int val ord = SMLSharp.Char.ord val chr : int -> char val succ : char -> char val pred : char -> char val compare : char * char -> order val < = SMLSharp.Char.lt val <= = SMLSharp.Char.lteq val > = SMLSharp.Char.gt val >= = SMLSharp.Char.gteq val contains : string -> char -> bool val notContains : string -> char -> bool val isAscii : char -> bool val toLower : char -> char val toUpper : char -> char val isAlpha : char -> bool val isAlphaNum : char -> bool val isCntrl : char -> bool val isDigit : char -> bool val isGraph : char -> bool val isHexDigit : char -> bool val isLower : char -> bool val isPrint : char -> bool val isSpace : char -> bool val isPunct : char -> bool val isUpper : char -> bool val toString : char -> string val scan : (char, 'a) StringCvt.reader -> (char, 'a) StringCvt.reader val fromString : string -> char option val toCString : char -> string val fromCString : string -> char option end (* toplevel *) val chr = Char.chr val ord = Char.ord smlsharp-1.2.0/src/basis/main/Char.sml0000644 000000000000000000001216512050661606017716 0ustar00rootroot0000000 0000000 (** * Char structure. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * @copyright 2010, 2011, Tohoku University. *) _interface "Char.smi" structure Char :> CHAR where type char = char where type string = string = struct infix 7 * / div mod infix 6 + - infix 4 = <> > >= < <= val op + = SMLSharp.Int.add val op - = SMLSharp.Int.sub val op mod = SMLSharp.Int.mod val op div = SMLSharp.Int.div val op >= = SMLSharp.Int.gteq val op < = SMLSharp.Int.lt fun not false = true | not true = false type char = char type string = string (* 8-bit unsigned integer *) val minChar = #"\000" val maxChar = #"\255" val maxOrd = 255 val ord = SMLSharp.Char.ord fun chr index = if index < 0 orelse maxOrd < index then raise General.Chr else SMLSharp.Char.chr_unsafe index val op < = SMLSharp.Char.lt val op <= = SMLSharp.Char.lteq val op > = SMLSharp.Char.gt fun succ char = if maxChar <= char then raise General.Chr else SMLSharp.Char.chr_unsafe (ord char + 1) fun pred char = if char <= minChar then raise General.Chr else SMLSharp.Char.chr_unsafe (ord char - 1) fun compare (left : char, right) = if left < right then General.LESS else if left = right then General.EQUAL else General.GREATER fun contains string char = let val len = SMLSharp.PrimString.size string fun loop i = if i >= len then false else SMLSharp.PrimString.sub_unsafe (string, i) = char orelse loop (i + 1) in loop 0 end fun notContains string char = not (contains string char) fun isUpper c = #"A" <= c andalso c <= #"Z" fun isLower c = #"a" <= c andalso c <= #"z" fun isDigit c = #"0" <= c andalso c <= #"9" fun isAlpha c = isUpper c orelse isLower c fun isAlphaNum c = isAlpha c orelse isDigit c fun isHexDigit c = isDigit c orelse (#"a" <= c andalso c <= #"f") orelse (#"A" <= c andalso c <= #"F") fun isGraph c = #"!" <= c andalso c <= #"~" fun isPrint c = #" " <= c andalso c <= #"~" fun isPunct c = (#"!" <= c andalso c <= #"/") orelse (#":" <= c andalso c <= #"@") orelse (#"[" <= c andalso c <= #"`") orelse (#"{" <= c andalso c <= #"~") fun isCntrl c = (#"\000" <= c andalso c <= #"\031") orelse c = #"\127" fun isSpace c = (#"\t" <= c andalso c <= #"\r") orelse c = #" " fun isAscii c = #"\000" <= c andalso c <= #"\127" fun toLower c = if isUpper c then SMLSharp.Char.chr_unsafe (ord c + 32) else c fun toUpper c = if isLower c then SMLSharp.Char.chr_unsafe (ord c - 32) else c local fun escapeChar divmod ch = let val buf = SMLSharp.PrimString.allocVector 4 val _ = SMLSharp.PrimString.update_unsafe (buf, 0, #"\\") fun loop (0, n) = () | loop (i, n) = if 0 >= n then (SMLSharp.PrimString.update_unsafe (buf, i, #"0"); loop (i - 1, n)) else let val (n, m) = divmod n val digit = SMLSharp.Char.chr_unsafe (0x30 + m) in SMLSharp.PrimString.update_unsafe (buf, i, digit); loop (i - 1, n) end val _ = loop (3, ord ch) in buf end fun escapeCharDec ch = escapeChar (fn x => (x div 10, x mod 10)) ch fun escapeCharHex ch = escapeChar (fn x => (x div 8, x mod 8)) ch fun escapeControl n = let val c = SMLSharp.Char.chr_unsafe (n + 64) val buf = SMLSharp.PrimString.allocVector 3 in SMLSharp.PrimString.update_unsafe (buf, 0, #"\\"); SMLSharp.PrimString.update_unsafe (buf, 1, #"^"); SMLSharp.PrimString.update_unsafe (buf, 2, c); buf end fun str c = let val buf = SMLSharp.PrimString.allocVector 1 in SMLSharp.PrimString.update_unsafe (buf, 0, c); buf end in fun toString c = case c of #"\\" => "\\\\" | #"\"" => "\\\"" | #"\007" => "\\a" | #"\008" => "\\b" | #"\009" => "\\t" | #"\010" => "\\n" | #"\011" => "\\v" | #"\012" => "\\f" | #"\013" => "\\r" | _ => if c < #"\032" then escapeControl (ord c) else if #"\127" <= c then escapeCharDec c else str c (* c < 256 *) fun toCString c = case c of #"\\" => "\\\\" | #"\"" => "\\\"" | #"?" => "\\?" | #"'" => "\\'" | #"\007" => "\\a" | #"\008" => "\\b" | #"\009" => "\\t" | #"\010" => "\\n" | #"\011" => "\\v" | #"\012" => "\\f" | #"\013" => "\\r" | _ => if c < #"\032" orelse #"\127" <= c then escapeCharHex c else str c (* c < 256 *) end (* local *) val scan = SMLSharpScanChar.scanChar fun fromString string = StringCvt.scanString scan string fun fromCString string = StringCvt.scanString SMLSharpScanChar.scanCChar string val op >= = SMLSharp.Char.gteq end val chr = Char.chr val ord = Char.ord smlsharp-1.2.0/src/basis/main/CharArray.smi0000644 000000000000000000000552512050661606020714 0ustar00rootroot0000000 0000000 _require "General.smi" _require "Char.smi" _require "List.smi" _require "SMLSharpScanChar.smi" _require "MONO_ARRAY.sig" _require "MONO_VECTOR.sig" _require "MONO_ARRAY_SLICE.sig" _require "MONO_VECTOR_SLICE.sig" _require "STRING.sig" _require "SUBSTRING.sig" _require "CharVector.smi" _require "CharVectorSlice.smi" structure CharArray = struct type array = string type elem = char type vector = CharVector.vector val maxLen : int val array : int * elem -> array val fromList : elem list -> array val tabulate : int * (int -> elem) -> array val length : array -> int val sub : array * int -> elem val update : array * int * elem -> unit val vector : array -> vector val copy : {src : array, dst : array, di : int} -> unit val copyVec : {src : vector, dst : array, di : int} -> unit val appi : (int * elem -> unit) -> array -> unit val app : (elem -> unit) -> array -> unit val modifyi : (int * elem -> elem) -> array -> unit val modify : (elem -> elem) -> array -> unit val foldli : (int * elem * 'b -> 'b) -> 'b -> array -> 'b val foldri : (int * elem * 'b -> 'b) -> 'b -> array -> 'b val foldl : (elem * 'b -> 'b) -> 'b -> array -> 'b val foldr : (elem * 'b -> 'b) -> 'b -> array -> 'b val findi : (int * elem -> bool) -> array -> (int * elem) option val find : (elem -> bool) -> array -> elem option val exists : (elem -> bool) -> array -> bool val all : (elem -> bool) -> array -> bool val collate : (elem * elem -> order) -> array * array -> order end structure CharArraySlice = struct type elem = char type array = CharArray.array type slice (= boxed) type vector = CharVector.vector type vector_slice = CharVectorSlice.slice val length : slice -> int val sub : slice * int -> elem val update : slice * int * elem -> unit val full : array -> slice val slice : array * int * int option -> slice val subslice : slice * int * int option -> slice val base : slice -> array * int * int val vector : slice -> vector val copy : {src : slice, dst : array, di : int} -> unit val copyVec : {src : vector_slice, dst : array, di : int} -> unit val isEmpty : slice -> bool val getItem : slice -> (elem * slice) option val appi : (int * elem -> unit) -> slice -> unit val app : (elem -> unit) -> slice -> unit val modifyi : (int * elem -> elem) -> slice -> unit val modify : (elem -> elem) -> slice -> unit val foldli : (int * elem * 'b -> 'b) -> 'b -> slice -> 'b val foldr : (elem * 'b -> 'b) -> 'b -> slice -> 'b val foldl : (elem * 'b -> 'b) -> 'b -> slice -> 'b val foldri : (int * elem * 'b -> 'b) -> 'b -> slice -> 'b val findi : (int * elem -> bool) -> slice -> (int * elem) option val find : (elem -> bool) -> slice -> elem option val exists : (elem -> bool) -> slice -> bool val all : (elem -> bool) -> slice -> bool val collate : (elem * elem -> order) -> slice * slice -> order end smlsharp-1.2.0/src/basis/main/CharArray.sml0000644 000000000000000000003044712050661606020720 0ustar00rootroot0000000 0000000 (** * String related structures. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * @copyright 2010, 2011, Tohoku University. *) _interface "CharArray.smi" local infix 7 * / div mod infix 6 + - infixr 5 :: infix 4 = <> > >= < <= val op + = SMLSharp.Int.add val op - = SMLSharp.Int.sub val op > = SMLSharp.Int.gt val op < = SMLSharp.Int.lt val op <= = SMLSharp.Int.lteq val op >= = SMLSharp.Int.gteq structure CharArrayStructure :> sig structure CharArray : MONO_ARRAY where type array = string where type vector = CharVector.vector where type elem = char structure CharArraySlice : MONO_ARRAY_SLICE where type vector = CharVector.vector where type vector_slice = CharVectorSlice.slice where type array = CharArray.array where type elem = char end = struct structure CharArray : MONO_ARRAY = struct type vector = string type array = string type elem = char (* object size occupies 28 bits of 32-bit object header. *) val maxLen = 0x0fffffff val length = SMLSharp.PrimString.size fun sub (ary, index) = if index < 0 orelse SMLSharp.PrimString.size ary <= index then raise Subscript else SMLSharp.PrimString.sub_unsafe (ary, index) fun foldli foldFn z ary = let val len = SMLSharp.PrimString.size ary fun loop (i, z) = if i >= len then z else let val x = SMLSharp.PrimString.sub_unsafe (ary, i) in loop (i + 1, foldFn (i, x, z)) end in loop (0, z) end fun foldl foldFn z ary = foldli (fn (i,x,z) => foldFn (x,z)) z ary fun foldri foldFn z ary = let val len = SMLSharp.PrimString.size ary fun loop (i, z) = if i < 0 then z else let val x = SMLSharp.PrimString.sub_unsafe (ary, i) in loop (i - 1, foldFn (i, x, z)) end in loop (len - 1, z) end fun foldr foldFn z ary = foldri (fn (i,x,z) => foldFn (x,z)) z ary fun appi appFn ary = foldli (fn (i,x,()) => appFn (i,x)) () ary fun app appFn ary = foldli (fn (i,x,()) => appFn x) () ary fun findi predicate ary = let val len = SMLSharp.PrimString.size ary fun loop i = if i >= len then NONE else let val x = SMLSharp.PrimString.sub_unsafe (ary, i) in if predicate (i, x) then SOME (i, x) else loop (i + 1) end in loop 0 end fun find predicate ary = case findi (fn (i,x) => predicate x) ary of SOME (i,x) => SOME x | NONE => NONE fun exists predicate ary = case find predicate ary of SOME _ => true | NONE => false fun all predicate ary = let val len = SMLSharp.PrimString.size ary fun loop i = if i >= len then true else predicate (SMLSharp.PrimString.sub_unsafe (ary, i)) andalso loop (i + 1) in loop 0 end fun collate cmpFn (ary1, ary2) = let val len1 = SMLSharp.PrimString.size ary1 val len2 = SMLSharp.PrimString.size ary2 fun loop (i, 0, 0) = EQUAL | loop (i, 0, _) = LESS | loop (i, _, 0) = GREATER | loop (i, rest1, rest2) = let val c1 = SMLSharp.PrimString.sub_unsafe (ary1, i) val c2 = SMLSharp.PrimString.sub_unsafe (ary2, i) in case cmpFn (c1, c2) of EQUAL => loop (i + 1, rest1 - 1, rest2 - 1) | order => order end in loop (0, len1, len2) end fun array (len, elem) = let val buf = SMLSharp.PrimString.allocArray len fun loop i = if i >= len then () else (SMLSharp.PrimString.update_unsafe (buf, i, elem); loop (i + 1)) in loop 0; buf end fun fromList elems = let fun length (nil : char list, z) = z | length (h::t, z) = length (t, z + 1) val len = length (elems, 0) val buf = SMLSharp.PrimString.allocArray len fun fill (i, nil) = () | fill (i, h::t) = (SMLSharp.PrimString.update_unsafe (buf, i, h); fill (i + 1, t)) in fill (0, elems); buf end fun tabulate (len, elemFn) = let val buf = SMLSharp.PrimString.allocArray len fun fill i = if i >= len then () else (SMLSharp.PrimString.update_unsafe (buf, i, elemFn i); fill (i + 1)) in fill 0; buf end fun update (ary, index, elem) = if index < 0 orelse SMLSharp.PrimString.size ary <= index then raise Subscript else SMLSharp.PrimString.update_unsafe (ary, index, elem) fun vector ary = let val len = SMLSharp.PrimString.size ary val buf = SMLSharp.PrimString.allocVector len in SMLSharp.PrimString.copy_unsafe (ary, 0, buf, 0, len); buf end fun copy {src, dst, di} = let val srclen = SMLSharp.PrimString.size src val dstlen = SMLSharp.PrimString.size dst in if di < 0 orelse dstlen < di orelse dstlen - di < srclen then raise Subscript else SMLSharp.PrimString.copy_unsafe (src, 0, dst, di, srclen) end val copyVec = copy fun modifyi mapFn ary = let val len = SMLSharp.PrimString.size ary fun loop i = if i >= len then () else let val x = SMLSharp.PrimString.sub_unsafe (ary, i) in SMLSharp.PrimString.update_unsafe (ary, i, mapFn (i, x)); loop (i + 1) end in loop 0 end fun modify mapFn ary = modifyi (fn (i,x) => mapFn x) ary end (* CharArray *) structure CharArraySlice = struct type array = string type vector = CharVector.vector type slice = array * int * int (* array * start * length *) type vector_slice = CharVectorSlice.slice type elem = char fun length ((ary, start, length):slice) = length fun sub ((ary, start, length):slice, index) = if index < 0 orelse length <= index then raise Subscript else SMLSharp.PrimString.sub_unsafe (ary, start + index) fun full ary = (ary, 0, CharArray.length ary) : slice fun slice (ary, start, lengthOpt) = let val length = CharArray.length ary val _ = if start < 0 orelse length < start then raise Subscript else () val length = case lengthOpt of NONE => length - start | SOME len => if len < 0 orelse length - start < len then raise Subscript else len in (ary, start, length) : slice end fun subslice ((ary, start, length):slice, start2, lengthOpt) = let val _ = if start2 < 0 orelse length < start2 then raise Subscript else () val length = case lengthOpt of NONE => length - start2 | SOME len => if len < 0 orelse length - start2 < len then raise Subscript else len in (ary, start + start2, length) : slice end fun base (x:slice) = x fun vector ((ary, start, length):slice) = let val buf = SMLSharp.PrimString.allocVector length in SMLSharp.PrimString.copy_unsafe (ary, start, buf, 0, length); buf end fun isEmpty ((ary, start, length):slice) = length = 0 fun getItem ((ary, start, length):slice) = if length <= 0 then NONE else SOME (SMLSharp.PrimString.sub_unsafe (ary, start), (ary, start + 1, length - 1) : slice) fun foldli foldFn z ((ary, start, length):slice) = let val max = start + length fun loop (i, z) = if i >= max then z else let val x = SMLSharp.PrimString.sub_unsafe (ary, i) in loop (i + 1, foldFn (i - start, x, z)) end in loop (start, z) end fun foldl foldFn z slice = foldli (fn (i,x,z) => foldFn (x,z)) z slice fun appi appFn slice = foldli (fn (i,x,()) => appFn (i,x)) () slice fun app appFn slice = foldli (fn (i,x,()) => appFn x) () slice fun foldri foldFn z ((ary, start, length):slice) = let fun loop (i, z) = if i < start then z else let val x = SMLSharp.PrimString.sub_unsafe (ary, i) in loop (i - 1, foldFn (i - start, x, z)) end in loop (start + length - 1, z) end fun foldr foldFn z slice = foldri (fn (i,x,z) => foldFn (x,z)) z slice fun findi predicate ((ary, start, length):slice) = let val max = start + length fun loop i = if i >= max then NONE else let val x = SMLSharp.PrimString.sub_unsafe (ary, i) in if predicate (i - start, x) then SOME (i, x) else loop (i + 1) end in loop start end fun find predicate slice = case findi (fn (i,x) => predicate x) slice of NONE => NONE | SOME (i,x) => SOME x fun exists predicate ary = case find predicate ary of SOME _ => true | NONE => false fun all predicate ((ary, start, length):slice) = let val max = start + length fun loop i = if i >= max then true else predicate (SMLSharp.PrimString.sub_unsafe (ary, i)) andalso loop (i + 1) in loop start end fun collate cmpFn ((ary1, start1, length1):slice, (ary2, start2, length2):slice) = let fun loop (i, 0, j, 0) = EQUAL | loop (i, 0, j, _) = LESS | loop (i, _, j, 0) = GREATER | loop (i, rest1, j, rest2) = let val c1 = SMLSharp.PrimString.sub_unsafe (ary1, i) val c2 = SMLSharp.PrimString.sub_unsafe (ary2, j) in case cmpFn (c1, c2) of EQUAL => loop (i + 1, rest1 - 1, j + 1, rest2 - 1) | order => order end in loop (start1, length1, start2, length2) end fun update ((ary, start, length):slice, index, elem) = if index < 0 orelse length <= index then raise Subscript else SMLSharp.PrimString.update_unsafe (ary, start + index, elem) fun copy {src = (srcary, srcstart, srclen):slice, dst, di} = let val dstlen = CharArray.length dst in if di < 0 orelse dstlen < di orelse dstlen - di < srclen then raise Subscript else SMLSharp.PrimString.copy_unsafe (srcary, srcstart, dst, di, srclen) end fun copyVec {src:vector_slice, dst, di} = let val (srcary, srcstart, srclen) = CharVectorSlice.base src val dstlen = CharArray.length dst in if di < 0 orelse dstlen < di orelse dstlen - di < srclen then raise Subscript else SMLSharp.PrimString.copy_unsafe (srcary, srcstart, dst, di, srclen) end fun modifyi mapFn ((ary, start, length):slice) = let val max = start + length fun loop i = if i >= max then () else let val x = SMLSharp.PrimString.sub_unsafe (ary, i) val x = mapFn (i - start, x) in SMLSharp.PrimString.update_unsafe (ary, i, x); loop (i + 1) end in loop start end fun modify mapFn slice = modifyi (fn (i,x) => mapFn x) slice end (* CharArraySlice *) end (* CharArrayStructure *) in open CharArrayStructure end (* local *) smlsharp-1.2.0/src/basis/main/CharVector.smi0000644 000000000000000000000243012050661606021070 0ustar00rootroot0000000 0000000 _require "General.smi" _require "Char.smi" _require "List.smi" _require "SMLSharpScanChar.smi" _require "MONO_ARRAY.sig" _require "MONO_VECTOR.sig" _require "MONO_ARRAY_SLICE.sig" _require "MONO_VECTOR_SLICE.sig" _require "STRING.sig" _require "SUBSTRING.sig" structure CharVector = struct type vector = string type elem = char val maxLen : int val length = SMLSharp.PrimString.size val sub : vector * int -> elem val foldli : (int * elem * 'a -> 'a) -> 'a -> vector -> 'a val foldl : (elem * 'a -> 'a) -> 'a -> vector -> 'a val foldri : (int * elem * 'a -> 'a) -> 'a -> vector -> 'a val foldr : (elem * 'a -> 'a) -> 'a -> vector -> 'a val appi : (int * elem -> unit) -> vector -> unit val app : (elem -> unit) -> vector -> unit val findi : (int * elem -> bool) -> vector -> (int * elem) option val find : (elem -> bool) -> vector -> elem option val exists : (elem -> bool) -> vector -> bool val all : (elem -> bool) -> vector -> bool val collate : (elem * elem -> order) -> vector * vector -> order val fromList : elem list -> vector val tabulate : int * (int -> elem) -> vector val update : vector * int * elem -> vector val concat : vector list -> vector val mapi : (int * elem -> elem) -> vector -> vector val map : (elem -> elem) -> vector -> vector end smlsharp-1.2.0/src/basis/main/CharVector.sml0000644 000000000000000000001364612050661606021106 0ustar00rootroot0000000 0000000 (** * String related structures. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * * @author Atsushi Ohori (refactored from StringStructure) * @copyright 2010, 2011, Tohoku University. *) _interface "CharVector.smi" structure CharVector :> MONO_VECTOR where type vector = string where type elem = char = struct local infix 7 * / div mod infix 6 + - infixr 5 :: infix 4 = <> > >= < <= val op + = SMLSharp.Int.add val op - = SMLSharp.Int.sub val op > = SMLSharp.Int.gt val op < = SMLSharp.Int.lt val op <= = SMLSharp.Int.lteq val op >= = SMLSharp.Int.gteq in type vector = string type elem = char (* object size occupies 28 bits of 32-bit object header. *) val maxLen = 0x0fffffff val length = SMLSharp.PrimString.size fun sub (ary, index) = if index < 0 orelse SMLSharp.PrimString.size ary <= index then raise Subscript else SMLSharp.PrimString.sub_unsafe (ary, index) fun foldli foldFn z ary = let val len = SMLSharp.PrimString.size ary fun loop (i, z) = if i >= len then z else let val x = SMLSharp.PrimString.sub_unsafe (ary, i) in loop (i + 1, foldFn (i, x, z)) end in loop (0, z) end fun foldl foldFn z ary = foldli (fn (i,x,z) => foldFn (x,z)) z ary fun foldri foldFn z ary = let val len = SMLSharp.PrimString.size ary fun loop (i, z) = if i < 0 then z else let val x = SMLSharp.PrimString.sub_unsafe (ary, i) in loop (i - 1, foldFn (i, x, z)) end in loop (len - 1, z) end fun foldr foldFn z ary = foldri (fn (i,x,z) => foldFn (x,z)) z ary fun appi appFn ary = foldli (fn (i,x,()) => appFn (i,x)) () ary fun app appFn ary = foldli (fn (i,x,()) => appFn x) () ary fun findi predicate ary = let val len = SMLSharp.PrimString.size ary fun loop i = if i >= len then NONE else let val x = SMLSharp.PrimString.sub_unsafe (ary, i) in if predicate (i, x) then SOME (i, x) else loop (i + 1) end in loop 0 end fun find predicate ary = case findi (fn (i,x) => predicate x) ary of SOME (i,x) => SOME x | NONE => NONE fun exists predicate ary = case find predicate ary of SOME _ => true | NONE => false fun all predicate ary = let val len = SMLSharp.PrimString.size ary fun loop i = if i >= len then true else predicate (SMLSharp.PrimString.sub_unsafe (ary, i)) andalso loop (i + 1) in loop 0 end fun collate cmpFn (ary1, ary2) = let val len1 = SMLSharp.PrimString.size ary1 val len2 = SMLSharp.PrimString.size ary2 fun loop (i, 0, 0) = EQUAL | loop (i, 0, _) = LESS | loop (i, _, 0) = GREATER | loop (i, rest1, rest2) = let val c1 = SMLSharp.PrimString.sub_unsafe (ary1, i) val c2 = SMLSharp.PrimString.sub_unsafe (ary2, i) in case cmpFn (c1, c2) of EQUAL => loop (i + 1, rest1 - 1, rest2 - 1) | order => order end in loop (0, len1, len2) end fun fromList elems = let fun length (nil : char list, z) = z | length (h::t, z) = length (t, z + 1) val len = length (elems, 0) val buf = SMLSharp.PrimString.allocVector len fun fill (i, nil) = () | fill (i, h::t) = (SMLSharp.PrimString.update_unsafe (buf, i, h); fill (i + 1, t)) in fill (0, elems); buf end fun tabulate (len, elemFn) = let val buf = SMLSharp.PrimString.allocVector len fun fill i = if i >= len then () else (SMLSharp.PrimString.update_unsafe (buf, i, elemFn i); fill (i + 1)) in fill 0; buf end fun update (vec, index, value) = let val len = SMLSharp.PrimString.size vec in if index < 0 orelse len <= index then raise Subscript else let val buf = SMLSharp.PrimString.allocVector len in SMLSharp.PrimString.copy_unsafe (vec, 0, buf, 0, len); SMLSharp.PrimString.update_unsafe (buf, index, value); buf end end fun concat vectors = let fun totalLength (nil, z) = z | totalLength (h::t, z) = let val len = SMLSharp.PrimString.size h val z = len + z in if z > maxLen then raise Size else totalLength (t, z) end val len = totalLength (vectors, 0) val buf = SMLSharp.PrimString.allocVector len fun loop (i, nil) = () | loop (i, h::t) = let val len = SMLSharp.PrimString.size h in SMLSharp.PrimString.copy_unsafe (h, 0, buf, i, len); loop (i + len, t) end in loop (0, vectors); buf end fun mapi mapFn vec = let val len = SMLSharp.PrimString.size vec val buf = SMLSharp.PrimString.allocVector len fun loop i = if i >= len then () else let val x = SMLSharp.PrimString.sub_unsafe (vec, i) in SMLSharp.PrimString.update_unsafe (buf, i, mapFn (i, x)); loop (i + 1) end in loop 0; buf end fun map mapFn vec = mapi (fn (i,x) => mapFn x) vec end (* CharVector *) end (* local *) smlsharp-1.2.0/src/basis/main/CharVectorSlice.smi0000644 000000000000000000000267712050661606022065 0ustar00rootroot0000000 0000000 _require "General.smi" _require "Char.smi" _require "List.smi" _require "SMLSharpScanChar.smi" _require "MONO_ARRAY.sig" _require "MONO_VECTOR.sig" _require "MONO_ARRAY_SLICE.sig" _require "MONO_VECTOR_SLICE.sig" _require "STRING.sig" _require "SUBSTRING.sig" _require "CharVector.smi" structure CharVectorSlice = struct type elem = char type vector = CharVector.vector type slice (= boxed) val length : slice -> int val sub : slice * int -> elem val full : vector -> slice val isEmpty : slice -> bool val concat : slice list -> vector val collate : (elem * elem -> order) -> slice * slice -> order val appi : (int * elem -> unit) -> slice -> unit val app : (elem -> unit) -> slice -> unit val foldli : (int * elem * 'b -> 'b) -> 'b -> slice -> 'b val foldr : (elem * 'b -> 'b) -> 'b -> slice -> 'b val foldl : (elem * 'b -> 'b) -> 'b -> slice -> 'b val foldri : (int * elem * 'b -> 'b) -> 'b -> slice -> 'b val slice : vector * int * int option -> slice val subslice : slice * int * int option -> slice val base : slice -> vector * int * int val vector : slice -> vector val getItem : slice -> (elem * slice) option val mapi : (int * elem -> elem) -> slice -> vector val map : (elem -> elem) -> slice -> vector val findi : (int * elem -> bool) -> slice -> (int * elem) option val find : (elem -> bool) -> slice -> elem option val exists : (elem -> bool) -> slice -> bool val all : (elem -> bool) -> slice -> bool end smlsharp-1.2.0/src/basis/main/CharVectorSlice.sml0000644 000000000000000000001455212050661606022063 0ustar00rootroot0000000 0000000 (** * String related structures. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * @copyright 2010, 2011, Tohoku University. *) _interface "CharVectorSlice.smi" structure CharVectorSlice : MONO_VECTOR_SLICE where type vector = CharVector.vector where type elem = char = struct local infix 7 * / div mod infix 6 + - infixr 5 :: infix 4 = <> > >= < <= val op + = SMLSharp.Int.add val op - = SMLSharp.Int.sub val op > = SMLSharp.Int.gt val op < = SMLSharp.Int.lt val op <= = SMLSharp.Int.lteq val op >= = SMLSharp.Int.gteq in type elem = char type vector = string type slice = string * int * int (* array * start * length *) fun length ((ary, start, length):slice) = length fun sub ((ary, start, length):slice, index) = if index < 0 orelse length <= index then raise Subscript else SMLSharp.PrimString.sub_unsafe (ary, start + index) fun full ary = (ary, 0, SMLSharp.PrimString.size ary) : slice fun slice (ary, start, lengthOpt) = let val length = SMLSharp.PrimString.size ary val _ = if start < 0 orelse length < start then raise Subscript else () val length = case lengthOpt of NONE => length - start | SOME len => if len < 0 orelse length - start < len then raise Subscript else len in (ary, start, length) : slice end fun subslice ((ary, start, length):slice, start2, lengthOpt) = let val _ = if start2 < 0 orelse length < start2 then raise Subscript else () val length = case lengthOpt of NONE => length - start2 | SOME len => if len < 0 orelse length - start2 < len then raise Subscript else len in (ary, start + start2, length) : slice end fun base (x:slice) = x fun vector ((ary, start, length):slice) = let val buf = SMLSharp.PrimString.allocVector length in SMLSharp.PrimString.copy_unsafe (ary, start, buf, 0, length); buf end fun isEmpty ((ary, start, length):slice) = length = 0 fun getItem ((ary, start, length):slice) = if length <= 0 then NONE else SOME (SMLSharp.PrimString.sub_unsafe (ary, start), (ary, start + 1, length - 1) : slice) fun foldli foldFn z ((ary, start, length):slice) = let val max = start + length fun loop (i, z) = if i >= max then z else let val x = SMLSharp.PrimString.sub_unsafe (ary, i) in loop (i + 1, foldFn (i - start, x, z)) end in loop (start, z) end fun foldl foldFn z slice = foldli (fn (i,x,z) => foldFn (x,z)) z slice fun foldri foldFn z ((ary, start, length):slice) = let fun loop (i, z) = if i < start then z else let val x = SMLSharp.PrimString.sub_unsafe (ary, i) in loop (i - 1, foldFn (i - start, x, z)) end in loop (start + length - 1, z) end fun foldr foldFn z slice = foldri (fn (i,x,z) => foldFn (x,z)) z slice fun appi appFn slice = foldli (fn (i,x,()) => appFn (i,x)) () slice fun app appFn slice = foldli (fn (i,x,()) => appFn x) () slice fun findi predicate ((ary, start, length):slice) = let val max = start + length fun loop i = if i >= max then NONE else let val x = SMLSharp.PrimString.sub_unsafe (ary, i) in if predicate (i - start, x) then SOME (i, x) else loop (i + 1) end in loop start end fun find predicate slice = case findi (fn (i,x) => predicate x) slice of NONE => NONE | SOME (i,x) => SOME x fun exists predicate ary = case find predicate ary of SOME _ => true | NONE => false fun all predicate ((ary, start, length):slice) = let val max = start + length fun loop i = if i >= max then true else predicate (SMLSharp.PrimString.sub_unsafe (ary, i)) andalso loop (i + 1) in loop start end fun collate cmpFn ((ary1, start1, length1):slice, (ary2, start2, length2):slice) = let fun loop (i, 0, j, 0) = EQUAL | loop (i, 0, j, _) = LESS | loop (i, _, j, 0) = GREATER | loop (i, rest1, j, rest2) = let val c1 = SMLSharp.PrimString.sub_unsafe (ary1, i) val c2 = SMLSharp.PrimString.sub_unsafe (ary2, j) in case cmpFn (c1, c2) of EQUAL => loop (i + 1, rest1 - 1, j + 1, rest2 - 1) | order => order end in loop (start1, length1, start2, length2) end fun concat slices = let fun totalLength (nil, z) = z | totalLength (((vec, start, length):slice)::t, z) = let val z = length + z in if z > CharVector.maxLen then raise Size else totalLength (t, z) end val len = totalLength (slices, 0) val buf = SMLSharp.PrimString.allocVector len fun loop (i, nil) = () | loop (i, (vec, start, len)::t) = (SMLSharp.PrimString.copy_unsafe (vec, start, buf, i, len); loop (i + len, t)) in loop (0, slices); buf end fun mapi mapFn ((vec, start, length):slice) = let val buf = SMLSharp.PrimString.allocVector length val max = start + length fun loop i = if i >= max then () else let val x = SMLSharp.PrimString.sub_unsafe (vec, i) val x = mapFn (i - start, x) in SMLSharp.PrimString.update_unsafe (buf, i, x); loop (i + 1) end in loop start; buf end fun map mapFn slice = mapi (fn (i,x) => mapFn x) slice end (* CharVectorSlice *) end (* CharVectorSlice *) smlsharp-1.2.0/src/basis/main/COMMAND_LINE.sig0000644 000000000000000000000014312050661606020706 0ustar00rootroot0000000 0000000 signature COMMAND_LINE = sig val name : unit -> string val arguments : unit -> string list end smlsharp-1.2.0/src/basis/main/CommandLine.smi0000644 000000000000000000000020312050661606021212 0ustar00rootroot0000000 0000000 _require "COMMAND_LINE.sig" structure CommandLine = struct val name : unit -> string val arguments : unit -> string list end smlsharp-1.2.0/src/basis/main/CommandLine.sml0000644 000000000000000000000233712050661606021227 0ustar00rootroot0000000 0000000 (** * CommandLine structure. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * @copyright 2010, 2011, Tohoku University. *) _interface "CommandLine.smi" infix 6 - infixr 5 :: infix 4 > val op - = SMLSharp.Int.sub val op > = SMLSharp.Int.gt structure CommandLine :> COMMAND_LINE = struct val prim_argc = _import "prim_CommandLine_argc" : __attribute__((no_callback)) unit -> int val prim_argv = _import "prim_CommandLine_argv" : __attribute__((no_callback)) unit -> char ptr ptr val sml_str_new = _import "sml_str_new" : __attribute__((no_callback,alloc)) char ptr -> string fun name () = let val argc = prim_argc () val argv = prim_argv () in if argc > 0 then sml_str_new (SMLSharp.Pointer.deref_ptr argv) else "" end fun arguments () = let val argc = prim_argc () val argv = prim_argv () fun loop (i, l) = if i > 1 then let val p = SMLSharp.Pointer.advance (argv, i - 1) val s = sml_str_new (SMLSharp.Pointer.deref_ptr p) in loop (i - 1, s :: l) end else l in loop (argc, nil) end end smlsharp-1.2.0/src/basis/main/DATE.sig0000644 000000000000000000000220512050661606017537 0ustar00rootroot0000000 0000000 include "General.smi" include "StringCvt.smi" include "Time.smi" signature DATE = sig datatype weekday = Mon | Tue | Wed | Thu | Fri | Sat | Sun datatype month = Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec type date exception Date val date : {year : int, month : month, day : int, hour : int, minute : int, second : int, offset : Time.time option} -> date val year : date -> int val month : date -> month val day : date -> int val hour : date -> int val minute : date -> int val second : date -> int val weekDay : date -> weekday val yearDay : date -> int val offset : date -> Time.time option val isDst : date -> bool option val localOffset : unit -> Time.time val fromTimeLocal : Time.time -> date val fromTimeUniv : Time.time -> date val toTime : date -> Time.time val compare : date * date -> order val fmt : string -> date -> string val toString : date -> string val scan : (char, 'a) StringCvt.reader -> (date, 'a) StringCvt.reader val fromString : string -> date option end smlsharp-1.2.0/src/basis/main/Date.smi0000644 000000000000000000000214412050661606017707 0ustar00rootroot0000000 0000000 _require "General.smi" _require "StringCvt.smi" _require "Time.smi" _require "DATE.sig" structure Date = struct datatype weekday = Mon | Tue | Wed | Thu | Fri | Sat | Sun datatype month = Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec type date (= word) exception Date val date : {year : int, month : month, day : int, hour : int, minute : int, second : int, offset : Time.time option} -> date val year : date -> int val month : date -> month val day : date -> int val hour : date -> int val minute : date -> int val second : date -> int val weekDay : date -> weekday val yearDay : date -> int val offset : date -> Time.time option val isDst : date -> bool option val localOffset : unit -> Time.time val fromTimeLocal : Time.time -> date val fromTimeUniv : Time.time -> date val toTime : date -> Time.time val compare : date * date -> order val fmt : string -> date -> string val toString : date -> string val scan : (char, 'a) StringCvt.reader -> (date, 'a) StringCvt.reader val fromString : string -> date option end smlsharp-1.2.0/src/basis/main/Date.sml0000644 000000000000000000000503612050661606017715 0ustar00rootroot0000000 0000000 (** * Date structure. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * @copyright 2010, 2011, Tohoku University. *) _interface "Date.smi" structure Date :> DATE = struct datatype weekday = Mon | Tue | Wed | Thu | Fri | Sat | Sun datatype month = Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec datatype date = FIXME exception Date val date : {year : int, month : month, day : int, hour : int, minute : int, second : int, offset : Time.time option} -> date = fn _ => raise Fail "FIXME: Date.date: not implemented yet" val year : date -> int = fn _ => raise Fail "FIXME: Date.year: not implemented yet" val month : date -> month = fn _ => raise Fail "FIXME: Date.month: not implemented yet" val day : date -> int = fn _ => raise Fail "FIXME: Date.day: not implemented yet" val hour : date -> int = fn _ => raise Fail "FIXME: Date.hour: not implemented yet" val minute : date -> int = fn _ => raise Fail "FIXME: Date.minute: not implemented yet" val second : date -> int = fn _ => raise Fail "FIXME: Date.second: not implemented yet" val weekDay : date -> weekday = fn _ => raise Fail "FIXME: Date.weekDay: not implemented yet" val yearDay : date -> int = fn _ => raise Fail "FIXME: Date.yearDay: not implemented yet" val offset : date -> Time.time option = fn _ => raise Fail "FIXME: Date.offset: not implemented yet" val isDst : date -> bool option = fn _ => raise Fail "FIXME: Date.isDst: not implemented yet" val localOffset : unit -> Time.time = fn _ => raise Fail "FIXME: Date.localOffset: not implemented yet" val fromTimeLocal : Time.time -> date = fn _ => raise Fail "FIXME: Date.fromTimeLocal: not implemented yet" val fromTimeUniv : Time.time -> date = fn _ => raise Fail "FIXME: Date.fromTimeUniv: not implemented yet" val toTime : date -> Time.time = fn _ => raise Fail "FIXME: Date.toTime: not implemented yet" val compare : date * date -> order = fn _ => raise Fail "FIXME: Date.compare: not implemented yet" val fmt : string -> date -> string = fn _ => raise Fail "FIXME: Date.fmt: not implemented yet" val toString : date -> string = fn _ => raise Fail "FIXME: Date.toString: not implemented yet" val scan : (char, 'a) StringCvt.reader -> (date, 'a) StringCvt.reader = fn _ => raise Fail "FIXME: Date.scan: not implemented yet" val fromString : string -> date option = fn _ => raise Fail "FIXME: Date.fromString: not implemented yet" end smlsharp-1.2.0/src/basis/main/GENERAL.sig0000644 000000000000000000000076712050661606020112 0ustar00rootroot0000000 0000000 signature GENERAL = sig eqtype unit type exn = exn exception Bind exception Match exception Chr exception Div exception Domain exception Fail of string exception Overflow exception Size exception Span exception Subscript val exnName : exn -> string val exnMessage : exn -> string datatype order = datatype order val ! : 'a ref -> 'a val := : 'a ref * 'a -> unit val o : ('b -> 'c) * ('a -> 'b) -> 'a -> 'c val before : 'a * unit -> 'a val ignore : 'a -> unit end smlsharp-1.2.0/src/basis/main/General.smi0000644 000000000000000000000132512050661606020407 0ustar00rootroot0000000 0000000 _require "GENERAL.sig" structure General = struct type unit = unit type exn = exn exception Bind = Bind exception Match = Match exception Chr = Chr exception Div = Div exception Domain = Domain exception Fail = Fail exception Overflow = Overflow exception Size = Size exception Span = Span exception Subscript = Subscript val exnName = exnName val exnMessage : exn -> string datatype order = datatype order val ! = ! val := = := val o : ('b -> 'c) * ('a -> 'b) -> 'a -> 'c val before : 'a * unit -> 'a val ignore : 'a -> unit end (* toplevel *) infix 3 := o infix 0 before val before = General.before val exnMessage = General.exnMessage val ignore = General.ignore val o = General.o smlsharp-1.2.0/src/basis/main/General.sml0000644 000000000000000000000222212050661606020407 0ustar00rootroot0000000 0000000 (** * General structure. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * @copyright 2010, 2011, Tohoku University. *) _interface "General.smi" structure General :> GENERAL where type unit = unit = struct type unit = unit type exn = exn datatype order = datatype order exception Bind = Bind exception Chr = Chr exception Div = Div exception Domain = Domain exception Fail = Fail (* Fail is builtin exception *) exception Match = Match exception Overflow = Overflow exception Size = Size exception Span = Span exception Subscript = Subscript val exnName = exnName val exnMessage = exnName (* 2012-1-7 ohori: this must be a builtin primitive. fun ! (ref arg) = arg *) val ! = ! val op := = op := fun op o (f, g) x = f(g(x)) fun op before (result, ignored) = result fun ignore ignored = () end (* 2012-1-9 ohori: order is builtin *) datatype order = datatype order (* 2012-1-7 ohori: this must be a builtin primitive. val ! = General.! *) val op before = General.before val exnMessage = General.exnMessage val ignore = General.ignore val op o = General.o exception Chr = General.Chr exception Span = General.Span smlsharp-1.2.0/src/basis/main/IEEE_REAL.sig0000644 000000000000000000000131312050661606020333 0ustar00rootroot0000000 0000000 include "StringCvt.smi" signature IEEE_REAL = sig exception Unordered datatype real_order = LESS | EQUAL | GREATER | UNORDERED datatype float_class = NAN | INF | ZERO | NORMAL | SUBNORMAL datatype rounding_mode = TO_NEAREST | TO_NEGINF | TO_POSINF | TO_ZERO val setRoundingMode : rounding_mode -> unit val getRoundingMode : unit -> rounding_mode type decimal_approx = {class : float_class, sign : bool, digits : int list, exp : int} val toString : decimal_approx -> string val scan : (char, 'a) StringCvt.reader -> (decimal_approx, 'a) StringCvt.reader val fromString : string -> decimal_approx option end smlsharp-1.2.0/src/basis/main/IEEEReal.smi0000644 000000000000000000000146412050661606020351 0ustar00rootroot0000000 0000000 _require "StringCvt.smi" _require "SMLSharpRuntime.smi" _require "SMLSharpScanChar.smi" _require "List.smi" _require "Char.smi" _require "Int.smi" _require "String.smi" _require "IEEE_REAL.sig" structure IEEEReal = struct exception Unordered datatype real_order = LESS | EQUAL | GREATER | UNORDERED datatype float_class = NAN | INF | ZERO | NORMAL | SUBNORMAL datatype rounding_mode = TO_NEAREST | TO_NEGINF | TO_POSINF | TO_ZERO val setRoundingMode : rounding_mode -> unit val getRoundingMode : unit -> rounding_mode type decimal_approx = {class : float_class, sign : bool, digits : int list, exp : int} val toString : decimal_approx -> string val scan : (char, 'a) StringCvt.reader -> (decimal_approx, 'a) StringCvt.reader val fromString : string -> decimal_approx option end smlsharp-1.2.0/src/basis/main/IEEEReal.sml0000644 000000000000000000001520512050661606020352 0ustar00rootroot0000000 0000000 (** * IEEEReal structure. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * @copyright 2010, Tohoku University. *) _interface "IEEEReal.smi" structure IEEEReal (*:> IEEE_REAL*) = struct infix 7 * / div mod infix 6 + - ^ infixr 5 :: @ infix 4 = <> > >= < <= val op + = SMLSharp.Int.add val op - = SMLSharp.Int.sub val op * = SMLSharp.Int.mul val op ~ = SMLSharp.Int.neg datatype real_order = LESS | EQUAL | GREATER | UNORDERED datatype float_class = NAN | INF | ZERO | NORMAL | SUBNORMAL datatype rounding_mode = TO_NEAREST | TO_NEGINF | TO_POSINF | TO_ZERO type decimal_approx = {class : float_class, sign : bool, digits : int list, exp : int} exception Unordered val fesetround = _import "prim_fesetround" : __attribute__((no_callback)) int -> int val fegetround = _import "prim_fegetround" : __attribute__((pure,no_callback)) () -> int fun setRoundingMode roundingMode = let val mode = case roundingMode of TO_NEAREST => SMLSharpRuntime.cconstInt "FE_TONEAREST" | TO_NEGINF => SMLSharpRuntime.cconstInt "FE_DOWNWARD" | TO_POSINF => SMLSharpRuntime.cconstInt "FE_UPWARD" | TO_ZERO => SMLSharpRuntime.cconstInt "FE_TOWARDZERO" val err = fesetround mode in if err = 0 then () else raise SMLSharpRuntime.OS_SysErr () end fun getRoundingMode () = let val mode = fegetround () in if mode = SMLSharpRuntime.cconstInt "FE_TONEAREST" then TO_NEAREST else if mode = SMLSharpRuntime.cconstInt "FE_DOWNWARD" then TO_NEGINF else if mode = SMLSharpRuntime.cconstInt "FE_UPWARD" then TO_POSINF else if mode = SMLSharpRuntime.cconstInt "FE_TOWARDZERO" then TO_ZERO else raise SMLSharpRuntime.SysErr ("getRoundingMode: unknown rounding mode", NONE) end fun toString {class, sign, digits, exp} = let fun digitsToString () = let val digits = map SMLSharpScanChar.intToDigit digits val str = #"0" :: #"." :: digits val str = if sign then #"~" :: str else str val str = implode str in if exp = 0 then str else str ^ "E" ^ Int.toString exp end in case class of ZERO => if sign then "~0.0" else "0.0" | INF => if sign then "~inf" else "inf" | NAN => if sign then "~nan" else "nan" | NORMAL => digitsToString () | SUBNORMAL => digitsToString () end fun toLower NONE = NONE | toLower (SOME (c, strm)) = SOME (Char.toLower c, strm) fun scanInf sign getc strm = case toLower (getc strm) of SOME (#"n", strm) => (case toLower (getc strm) of SOME (#"a", strm) => (case toLower (getc strm) of SOME (#"n", strm) => SOME ({class=NAN, sign=sign, digits=nil, exp=0}, strm) | _ => NONE) | _ => NONE) | SOME (#"i", strm) => (case toLower (getc strm) of SOME (#"n", strm) => (case toLower (getc strm) of SOME (#"f", strm) => let val strm = case toLower (getc strm) of SOME (#"i", strm2) => (case toLower (getc strm2) of SOME (#"n", strm2) => (case toLower (getc strm2) of SOME (#"i", strm2) => (case toLower (getc strm2) of SOME (#"t", strm2) => (case toLower (getc strm2) of SOME (#"y", strm2) => strm2 | _ => strm) | _ => strm) | _ => strm) | _ => strm) | _ => strm in SOME ({class=INF, sign=sign, digits=nil, exp=0}, strm) end | _ => NONE) | _ => NONE) | _ => NONE fun scanSign getc strm = case getc strm of SOME (#"+", strm) => (false, strm) | SOME (#"~", strm) => (true, strm) | SOME (#"-", strm) => (true, strm) | _ => (false, strm) fun scanDigits getc strm = case SMLSharpScanChar.scanRepeat1 SMLSharpScanChar.scanDigit getc strm of NONE => (nil, strm) | SOME x => x fun removeLeadingZeroes (0::t) = removeLeadingZeroes t | removeLeadingZeroes l = l fun removeTrailingZeroes nil = nil | removeTrailingZeroes (h::t) = case (h, removeTrailingZeroes t) of (0, nil) => nil | (h, t) => h::t (* ToDo: overflow *) fun toInt (sign, digits) = let val n = foldl (fn (x,z) => z * 10 + x) 0 digits in if sign then ~n else n end fun scanExp getc strm = case toLower (getc strm) of SOME (#"e", strm) => let val (sign, strm) = scanSign getc strm in case scanDigits getc strm of (nil, strm) => (0, strm) | (digits, strm) => (toInt (sign, digits), strm) end | _ => (0, strm) fun scan getc strm = let val strm = SMLSharpScanChar.skipSpaces getc strm val (sign, strm) = scanSign getc strm in case scanInf sign getc strm of SOME (x, strm) => SOME (x, strm) | NONE => let (* scan ([0-9]+(\.[0-9]+)?|\.[0-9]+)([eE][+~-]?[0-9]* )? *) val (il, strm) = scanDigits getc strm val (fl, strm) = case getc strm of SOME (#".", strm) => scanDigits getc strm | _ => (nil, strm) in case (il, fl) of (nil, nil) => NONE | _ => let val (exp, strm) = scanExp getc strm in case (removeLeadingZeroes il, removeTrailingZeroes fl) of (il as _::_, fl) => SOME ({class = NORMAL, sign = sign, digits = removeTrailingZeroes (il @ fl), exp = exp + length il}, strm) | (nil, nil) => SOME ({class=ZERO, sign=sign, digits=nil, exp=0}, strm) | (nil, fl) => let val len = length fl val fl' = removeLeadingZeroes fl in SOME ({class = NORMAL, sign = sign, digits = fl', exp = exp - (len - length fl')}, strm) end end end end fun fromString str = StringCvt.scanString scan str end smlsharp-1.2.0/src/basis/main/IMPERATIVE_IO.sig0000644 000000000000000000000205412050661606021060 0ustar00rootroot0000000 0000000 include "STREAM_IO.sig" signature IMPERATIVE_IO = sig structure StreamIO : STREAM_IO type vector = StreamIO.vector type elem = StreamIO.elem type instream type outstream val input : instream -> vector val input1 : instream -> elem option val inputN : instream * int -> vector val inputAll : instream -> vector val canInput : instream * int -> int option val lookahead : instream -> elem option val closeIn : instream -> unit val endOfStream : instream -> bool val output : outstream * vector -> unit val output1 : outstream * elem -> unit val flushOut : outstream -> unit val closeOut : outstream -> unit val mkInstream : StreamIO.instream -> instream val getInstream : instream -> StreamIO.instream val setInstream : instream * StreamIO.instream -> unit val mkOutstream : StreamIO.outstream -> outstream val getOutstream : outstream -> StreamIO.outstream val setOutstream : outstream * StreamIO.outstream -> unit val getPosOut : outstream -> StreamIO.out_pos val setPosOut : outstream * StreamIO.out_pos -> unit end smlsharp-1.2.0/src/basis/main/Int.smi0000644 000000000000000000000232512050661606017565 0ustar00rootroot0000000 0000000 _require "General.smi" _require "StringCvt.smi" _require "SMLSharpScanChar.smi" _require "IntInf.smi" _require "String.smi" structure Int = struct type int = SMLSharp.Int.int val toInt : int -> SMLSharp.Int.int val fromInt : SMLSharp.Int.int -> int val toLarge : int -> IntInf.int val fromLarge : IntInf.int -> int val precision : SMLSharp.Int.int option val minInt : int option val maxInt : int option val + = SMLSharp.Int.add val - = SMLSharp.Int.sub val * = SMLSharp.Int.mul val div = SMLSharp.Int.div val mod = SMLSharp.Int.mod val quot = SMLSharp.Int.quot val rem = SMLSharp.Int.rem val < = SMLSharp.Int.lt val > = SMLSharp.Int.gt val <= = SMLSharp.Int.lteq val >= = SMLSharp.Int.gteq val ~ = SMLSharp.Int.neg val abs = SMLSharp.Int.abs val compare : int * int -> order val min : int * int -> int val max : int * int -> int val sign : int -> SMLSharp.Int.int val sameSign : int * int -> bool val fmt : StringCvt.radix -> int -> string val scan : StringCvt.radix -> (char, 'a) StringCvt.reader -> (int, 'a) StringCvt.reader val toString : int -> string val fromString : string -> int option end structure Position = Int structure Int32 = Int smlsharp-1.2.0/src/basis/main/Int.sml0000644 000000000000000000001076312050661606017575 0ustar00rootroot0000000 0000000 (** * Integer related structures. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * * @author Atsushi Ohori (refactored from IntStructure) * @copyright 2010, 2011, Tohoku University. *) (* 2012-1-6 Ohori: I rewote this from IntStructre. This is of of the fundamental structures that must to be defined directly. *) _interface "Int.smi" structure Int : sig type int = SMLSharp.Int.int val toLarge : int -> IntInf.int val fromLarge : IntInf.int -> int val toInt : int -> SMLSharp.Int.int val fromInt : SMLSharp.Int.int -> int val precision : SMLSharp.Int.int option val minInt : int option val maxInt : int option val + : int * int -> int val - : int * int -> int val * : int * int -> int val div : int * int -> int val mod : int * int -> int val quot : int * int -> int val rem : int * int -> int val compare : int * int -> order val < : int * int -> bool val <= : int * int -> bool val > : int * int -> bool val >= : int * int -> bool val ~ : int -> int val abs : int -> int val min : int * int -> int val max : int * int -> int val sign : int -> SMLSharp.Int.int val sameSign : int * int -> bool val fmt : StringCvt.radix -> int -> string val toString : int -> string val scan : StringCvt.radix -> (char, 'a) StringCvt.reader -> (int, 'a) StringCvt.reader val fromString : string -> int option end = struct local infix 7 * / div mod infix 6 + - infixr 5 :: infix 4 = <> > >= < <= in type int = int fun toInt x = x : int fun fromInt x = x : int val toLarge = LargeInt.fromInt val fromLarge = LargeInt.toInt val precision = SOME 32 val minInt = SOME ~0x80000000 val maxInt = SOME 0x7fffffff val op + = SMLSharp.Int.add val op - = SMLSharp.Int.sub val op * = SMLSharp.Int.mul val op div = SMLSharp.Int.div val op mod = SMLSharp.Int.mod val op quot = SMLSharp.Int.quot val op rem = SMLSharp.Int.rem val op < = SMLSharp.Int.lt val op > = SMLSharp.Int.gt val op <= = SMLSharp.Int.lteq val op >= = SMLSharp.Int.gteq val ~ = SMLSharp.Int.neg val abs = SMLSharp.Int.abs fun compare (left, right) = if left < right then LESS else if left = right then EQUAL else GREATER fun min (left, right) = if left < right then left else right fun max (left, right) = if left > right then left else right fun sign num = if num < 0 then ~1 else if num = 0 then 0 else 1 fun sameSign (left, right) = (sign left) = (sign right) fun fmt radix n = let val r = SMLSharpScanChar.radixToInt radix (* use nagative to avoid Overflow *) fun loop (n, z) = if n >= 0 then z else let val (n, m) = (quot (n, r), ~(rem (n, r))) in loop (n, SMLSharpScanChar.intToDigit m :: z) end in if n = 0 then "0" else if n > 0 then implode (loop (~n, nil)) else implode (#"~" :: loop (n, nil)) end (* 2012-8-19 ohori type annotation added *) fun 'a scan (radix : StringCvt.radix) (getc : (char, 'a) StringCvt.reader) strm = case SMLSharpScanChar.scanInt radix getc strm of NONE => NONE | SOME ({neg, radix=r, digits}, strm) => let fun posloop (z, nil) = SOME (z, strm) | posloop (z, h::t) = (* raise Overflow if z * r + h >= 0x80000000 *) if (case radix of StringCvt.BIN => z >= 0x40000000 | StringCvt.OCT => z >= 0x10000000 | StringCvt.DEC => z >= 0x0ccccccd - (if h > 7 then 1 else 0) | StringCvt.HEX => z >= 0x08000000) then raise Overflow else posloop (z * r + h, t) fun negloop (z, nil) = SOME (z, strm) | negloop (z, h::t) = (* raise Overflow if z * r + h < ~0x80000000 *) if (case radix of StringCvt.BIN => z <= ~0x40000001 + (if h > 0 then 1 else 0) | StringCvt.OCT => z <= ~0x10000001 + (if h > 0 then 1 else 0) | StringCvt.DEC => z <= ~0x0ccccccd + (if h > 8 then 1 else 0) | StringCvt.HEX => z <= ~0x08000001 + (if h > 0 then 1 else 0) ) then raise Overflow else negloop (z * r - h, t) in if neg then negloop (0, digits) else posloop (0, digits) end fun toString n = fmt StringCvt.DEC n fun fromString s = StringCvt.scanString (scan StringCvt.DEC) s end end structure Position = Int structure Int32 = Int smlsharp-1.2.0/src/basis/main/INT_INF.sig0000644 000000000000000000000065112050661606020153 0ustar00rootroot0000000 0000000 include "INTEGER.sig" signature INT_INF = sig include INTEGER val divMod : int * int -> int * int val quotRem : int * int -> int * int val pow : int * SMLSharp.Int.int -> int val log2 : int -> SMLSharp.Int.int val orb : int * int -> int val xorb : int * int -> int val andb : int * int -> int val notb : int -> int val << : int * SMLSharp.Word.word -> int val ~>> : int * SMLSharp.Word.word -> int end smlsharp-1.2.0/src/basis/main/INTEGER.sig0000644 000000000000000000000214612050661606020123 0ustar00rootroot0000000 0000000 include "General.smi" include "Int.smi" include "IntInf.smi" include "StringCvt.smi" signature INTEGER = sig eqtype int val toLarge : int -> LargeInt.int val fromLarge : LargeInt.int -> int val toInt : int -> SMLSharp.Int.int val fromInt : SMLSharp.Int.int -> int val precision : SMLSharp.Int.int option val minInt : int option val maxInt : int option val + : int * int -> int val - : int * int -> int val * : int * int -> int val div : int * int -> int val mod : int * int -> int val quot : int * int -> int val rem : int * int -> int val compare : int * int -> order val < : int * int -> bool val <= : int * int -> bool val > : int * int -> bool val >= : int * int -> bool val ~ : int -> int val abs : int -> int val min : int * int -> int val max : int * int -> int val sign : int -> SMLSharp.Int.int val sameSign : int * int -> bool val fmt : StringCvt.radix -> int -> string val toString : int -> string val scan : StringCvt.radix -> (char, 'a) StringCvt.reader -> (int, 'a) StringCvt.reader val fromString : string -> int option end smlsharp-1.2.0/src/basis/main/IntInf.smi0000644 000000000000000000000327212050661606020224 0ustar00rootroot0000000 0000000 _require "General.smi" _require "StringCvt.smi" _require "SMLSharpScanChar.smi" _require "String.smi" structure IntInf = struct val toLarge : intInf -> intInf val fromLarge : intInf -> intInf val toInt : intInf -> int val fromInt : int -> intInf val toWord : intInf -> word val fromWord : word -> intInf val precision : int option val minInt : intInf option val maxInt : intInf option val + : intInf * intInf -> intInf val - : intInf * intInf -> intInf val * : intInf * intInf -> intInf val div : intInf * intInf -> intInf val mod : intInf * intInf -> intInf val quot : intInf * intInf -> intInf val rem : intInf * intInf -> intInf val compare : intInf * intInf -> order val < : intInf * intInf -> bool val <= : intInf * intInf -> bool val > : intInf * intInf -> bool val >= : intInf * intInf -> bool val ~ : intInf -> intInf val abs : intInf -> intInf val min : intInf * intInf -> intInf val max : intInf * intInf -> intInf val sign : intInf -> int val sameSign : intInf * intInf -> bool val fmt : StringCvt.radix -> intInf -> string val toString : intInf -> string val scan : StringCvt.radix -> (char, 'a) StringCvt.reader -> (intInf, 'a) StringCvt.reader val fromString : string -> intInf option val divMod : intInf * intInf -> intInf * intInf val quotRem : intInf * intInf -> intInf * intInf val pow : intInf * int -> intInf val log2 : intInf -> int val orb : intInf * intInf -> intInf val xorb : intInf * intInf -> intInf val andb : intInf * intInf -> intInf val notb : intInf -> intInf val << : intInf * word -> intInf val ~>> : intInf * word -> intInf type int = intInf end structure LargeInt = IntInf smlsharp-1.2.0/src/basis/main/IntInf.sml0000644 000000000000000000001606012050661606020226 0ustar00rootroot0000000 0000000 (** * IntInf and its alias LargeInt * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * * @author Atsushi Ohori (refactored from IntStructure) * @copyright 2010, 2011, Tohoku University. *) _interface "IntInf.smi" structure IntInf (* : sig (* same as INTEGER except IntInf.int *) type int = intInf val toLarge : int -> int val fromLarge : int -> int val toInt : int -> SMLSharp.Int.int val fromInt : SMLSharp.Int.int -> int val toWord : int -> SMLSharp.Word.word val fromWord : SMLSharp.Word.word -> int val precision : SMLSharp.Int.int option val minInt : int option val maxInt : int option val + : int * int -> int val - : int * int -> int val * : int * int -> int val div : int * int -> int val mod : int * int -> int val quot : int * int -> int val rem : int * int -> int val compare : int * int -> order val < : int * int -> bool val <= : int * int -> bool val > : int * int -> bool val >= : int * int -> bool val ~ : int -> int val abs : int -> int val min : int * int -> int val max : int * int -> int val sign : int -> SMLSharp.Int.int val sameSign : int * int -> bool val fmt : StringCvt.radix -> int -> string val toString : int -> string val scan : StringCvt.radix -> (char, 'a) StringCvt.reader -> (int, 'a) StringCvt.reader val fromString : string -> int option val divMod : int * int -> int * int val quotRem : int * int -> int * int val pow : int * SMLSharp.Int.int -> int val log2 : int -> SMLSharp.Int.int val orb : int * int -> int val xorb : int * int -> int val andb : int * int -> int val notb : int -> int val << : int * SMLSharp.Word.word -> int val ~>> : int * SMLSharp.Word.word -> int end *) = struct local infix 7 * / div mod infix 6 + - infixr 5 :: infix 4 = <> > >= < <= val minInt = ~0x80000000 val maxInt = 0x7fffffff in type int = intInf val abs = _import "prim_IntInf_abs" : __attribute__((pure,no_callback,alloc)) int -> int val ~ = _import "prim_IntInf_neg" : __attribute__((pure,no_callback,alloc)) int -> int val op - = _import "prim_IntInf_sub" : __attribute__((pure,no_callback,alloc)) (int, int) -> int val op + = _import "prim_IntInf_add" : __attribute__((pure,no_callback,alloc)) (int, int) -> int val op * = _import "prim_IntInf_mul" : __attribute__((pure,no_callback,alloc)) (int, int) -> int val div_unsafe = _import "prim_IntInf_div" : __attribute__((pure,no_callback,alloc)) (int, int) -> int val mod_unsafe = _import "prim_IntInf_mod" : __attribute__((pure,no_callback,alloc)) (int, int) -> int val cmp = _import "prim_IntInf_cmp" : __attribute__((pure,no_callback,alloc)) (int, int) -> SMLSharp.Int.int val toInt_unsafe = _import "prim_IntInf_toInt" : __attribute__((pure,no_callback)) int -> SMLSharp.Int.int val toWord = _import "prim_IntInf_toWord" : __attribute__((pure,no_callback)) int -> word val fromInt = _import "prim_IntInf_fromInt" : __attribute__((pure,no_callback,alloc)) SMLSharp.Int.int -> int val fromWord = _import "prim_IntInf_fromWord" : __attribute__((pure,no_callback,alloc)) word -> int val quot_unsafe = _import "prim_IntInf_quot" : __attribute__((pure,no_callback,alloc)) (int, int) -> int val rem_unsafe = _import "prim_IntInf_rem" : __attribute__((pure,no_callback,alloc)) (int, int) -> int val pow_unsafe = _import "prim_IntInf_pow" : __attribute__((pure,no_callback,alloc)) (int, SMLSharp.Int.int) -> int val log2_unsafe = _import "prim_IntInf_log2" : __attribute__((pure,no_callback)) int -> SMLSharp.Int.int val orb = _import "prim_IntInf_orb" : __attribute__((pure,no_callback,alloc)) (int, int) -> int val xorb = _import "prim_IntInf_xorb" : __attribute__((pure,no_callback,alloc)) (int, int) -> int val andb = _import "prim_IntInf_andb" : __attribute__((pure,no_callback,alloc)) (int, int) -> int val notb = _import "prim_IntInf_notb" : __attribute__((pure,no_callback,alloc)) int -> int fun compare (x, y) = case cmp (x, y) of 0 => EQUAL | n => if SMLSharp.Int.gt(n, 0) then GREATER else LESS fun op <= (x, y) = SMLSharp.Int.lteq (cmp (x, y), 0) fun op < (x, y) = SMLSharp.Int.lt (cmp (x, y), 0) fun op >= (x, y) = SMLSharp.Int.gteq (cmp (x, y), 0) fun op > (x, y) = SMLSharp.Int.gt (cmp (x, y), 0) fun toLarge n = n : int fun fromLarge n = n : int fun toInt int = if int < fromInt minInt orelse fromInt maxInt < int then raise Overflow else toInt_unsafe int val precision : SMLSharp.Int.int option = NONE val minInt : int option = NONE val maxInt : int option = NONE fun op div (x, y) = if y = 0 then raise Div else div_unsafe (x, y) fun op mod (x, y) = if y = 0 then raise Div else mod_unsafe (x, y) fun quot (x, y) = if y = 0 then raise Div else quot_unsafe (x, y) fun rem (x, y) = if y = 0 then raise Div else rem_unsafe (x, y) (* ToDo : div and mod can be combined to one primitive. *) fun divMod (x, y) = (x div y, x mod y) (* ToDo : div and mod can be combined to one primitive. *) fun quotRem (x, y) = (quot (x, y), rem (x, y)) fun pow (x, y) = if SMLSharp.Int.gt (y, 0) then pow_unsafe (x, y) else if y = 0 then 1 else if x = 0 then raise Div else if x = 1 then 1 else if x = ~1 then if SMLSharp.Int.mod (y, 2) = 0 then 1 else ~1 else 0 fun log2 x = if x <= 0 then raise Domain else log2_unsafe x fun << (x, 0w0) = x | << (x, width) = << (x * 2, SMLSharp.Word.sub (width, 0w1)) fun ~>> (x, 0w0) = x | ~>> (x, width) = ~>> (x div 2, SMLSharp.Word.sub (width, 0w1)) fun min (x, y) = if x < y then x else y fun max (x, y) = if x < y then y else x fun sign num = if num < 0 then ~1 else if num = 0 then 0 else 1 fun sameSign (x, y) = (sign x) = (sign y) fun fmt radix n = let val r = fromInt (SMLSharpScanChar.radixToInt radix) fun loop (n, z) = if n <= 0 then z else let val m = toInt_unsafe (mod_unsafe (n, r)) val n = div_unsafe (n, r) in loop (n, SMLSharpScanChar.intToDigit m :: z) end in if n = 0 then "0" else if n < 0 then implode (#"~" :: loop (~n, nil)) else implode (loop (n, nil)) end fun toString n = fmt StringCvt.DEC n fun 'a scan (radix : StringCvt.radix) (getc : (char, 'a) StringCvt.reader) strm = case SMLSharpScanChar.scanInt radix getc strm of NONE => NONE | SOME ({neg, radix, digits}, strm) => let val radix = fromInt radix fun loop (z, nil) = z | loop (z, h::t) = loop (z * radix + fromInt h, t) val n = loop (0, digits) in SOME (if neg then ~n else n, strm) end fun fromString string = StringCvt.scanString (scan StringCvt.DEC) string end end (* IntInf *) structure LargeInt = IntInf smlsharp-1.2.0/src/basis/main/IO.sig0000644 000000000000000000000042312050661606017331 0ustar00rootroot0000000 0000000 signature IO = sig exception Io of {name : string, function : string, cause : exn} exception BlockingNotSupported exception NonblockingNotSupported exception RandomAccessNotSupported exception ClosedStream datatype buffer_mode = NO_BUF | LINE_BUF | BLOCK_BUF end smlsharp-1.2.0/src/basis/main/IO.smi0000644 000000000000000000000045212050661606017341 0ustar00rootroot0000000 0000000 _require "IO.sig" structure IO = struct exception Io of {name : string, function : string, cause : exn} exception BlockingNotSupported exception NonblockingNotSupported exception RandomAccessNotSupported exception ClosedStream datatype buffer_mode = NO_BUF | LINE_BUF | BLOCK_BUF end smlsharp-1.2.0/src/basis/main/IO.sml0000644 000000000000000000000071412050661606017345 0ustar00rootroot0000000 0000000 (** * IO structure. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * @copyright 2010, 2011, Tohoku University. *) _interface "IO.smi" structure IO :> IO = struct datatype buffer_mode = NO_BUF | LINE_BUF | BLOCK_BUF exception Io of {name : string, function : string, cause : exn} exception BlockingNotSupported exception NonblockingNotSupported exception RandomAccessNotSupported exception TerminatedStream exception ClosedStream end smlsharp-1.2.0/src/basis/main/LIST.sig0000644 000000000000000000000224112050661606017575 0ustar00rootroot0000000 0000000 include "General.smi" signature LIST = sig datatype 'a list = nil | :: of 'a * 'a list exception Empty val null : 'a list -> bool val length : 'a list -> int val @ : 'a list * 'a list -> 'a list val hd : 'a list -> 'a val tl : 'a list -> 'a list val last : 'a list -> 'a val getItem : 'a list -> ('a * 'a list) option val nth : 'a list * int -> 'a val take : 'a list * int -> 'a list val drop : 'a list * int -> 'a list val rev : 'a list -> 'a list val concat : 'a list list -> 'a list val revAppend : 'a list * 'a list -> 'a list val app : ('a -> unit) -> 'a list -> unit val map : ('a -> 'b) -> 'a list -> 'b list val mapPartial : ('a -> 'b option) -> 'a list -> 'b list val find : ('a -> bool) -> 'a list -> 'a option val filter : ('a -> bool) -> 'a list -> 'a list val partition : ('a -> bool) -> 'a list -> 'a list * 'a list val foldl : ('a * 'b -> 'b) -> 'b -> 'a list -> 'b val foldr : ('a * 'b -> 'b) -> 'b -> 'a list -> 'b val exists : ('a -> bool) -> 'a list -> bool val all : ('a -> bool) -> 'a list -> bool val tabulate : int * (int -> 'a) -> 'a list val collate : ('a * 'a -> order) -> 'a list * 'a list -> order end smlsharp-1.2.0/src/basis/main/List.smi0000644 000000000000000000000343612050661606017752 0ustar00rootroot0000000 0000000 _require "General.smi" _require "Option.smi" _require "LIST.sig" structure List = struct datatype list = datatype list exception Empty = Empty val null : 'a list -> bool val length : 'a list -> int val @ : 'a list * 'a list -> 'a list val hd : 'a list -> 'a val tl : 'a list -> 'a list val last : 'a list -> 'a val getItem : 'a list -> ('a * 'a list) option val nth : 'a list * int -> 'a val take : 'a list * int -> 'a list val drop : 'a list * int -> 'a list val rev : 'a list -> 'a list val concat : 'a list list -> 'a list val revAppend : 'a list * 'a list -> 'a list val app : ('a -> unit) -> 'a list -> unit val map : ('a -> 'b) -> 'a list -> 'b list val mapPartial : ('a -> 'b option) -> 'a list -> 'b list val find : ('a -> bool) -> 'a list -> 'a option val filter : ('a -> bool) -> 'a list -> 'a list val partition : ('a -> bool) -> 'a list -> 'a list * 'a list val foldl : ('a * 'b -> 'b) -> 'b -> 'a list -> 'b val foldr : ('a * 'b -> 'b) -> 'b -> 'a list -> 'b val exists : ('a -> bool) -> 'a list -> bool val all : ('a -> bool) -> 'a list -> bool val tabulate : int * (int -> 'a) -> 'a list val collate : ('a * 'a -> order) -> 'a list * 'a list -> order end (* toplevel *) infixr 5 :: @ val @ = List.@ val app = List.app val foldl = List.foldl val foldr = List.foldr val hd = List.hd val length = List.length val map = List.map val null = List.null val rev = List.rev val tl = List.tl (* val @ : ('a list * 'a list) -> 'a list val app : ('a -> unit) -> 'a list -> unit val foldl : ('a * 'b -> 'b) -> 'b -> 'a list -> 'b val foldr : ('a * 'b -> 'b) -> 'b -> 'a list -> 'b val hd : 'a list -> 'a val length : 'a list -> int val map : ('a -> 'b) -> 'a list -> 'b list val null : 'a list -> bool val rev : 'a list -> 'a list val tl : 'a list -> 'a list *) smlsharp-1.2.0/src/basis/main/List.sml0000644 000000000000000000001074312050661606017754 0ustar00rootroot0000000 0000000 (** * List structure. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * @copyright 2010, 2011, Tohoku University. *) _interface "List.smi" structure List :> LIST where type 'a list = 'a list = struct infix 6 + - ^ infixr 5 :: @ infix 4 = <> > >= < <= val op + = SMLSharp.Int.add val op - = SMLSharp.Int.sub val op >= = SMLSharp.Int.gteq val op < = SMLSharp.Int.lt datatype list = datatype list exception Empty = Empty fun null nil = true | null _ = false fun length (l:'a list) = let fun loop (nil:'a list, z) = z | loop (_::t, z) = loop (t, z + 1) in loop (l, 0) end fun revAppend (l:'a list, r) = let fun loop (nil:'a list, r) = r | loop (h::t, r) = loop (t, h::r) in loop (l, r) end fun rev l = revAppend (l, nil) fun op @ (nil, r) = r | op @ (l, nil) = l | op @ (l, r) = revAppend (rev l, r) fun hd nil = raise Empty | hd (h::_) = h fun tl nil = raise Empty | tl (_::t) = t fun last nil = raise Empty | last [x] = x | last (_::t) = last t fun getItem nil = NONE | getItem (h::t) = SOME (h, t) fun nth (l:'a list, index) = let fun loop (nil:'a list, _) = raise Subscript | loop (h::t, 0) = h | loop (_::t, i) = loop (t, i - 1) in if index < 0 then raise Subscript else loop (l, index) end fun take (l:'a list, len) = let fun loop (_:'a list, 0, r) = rev r | loop (nil, _, _) = raise Subscript | loop (h::t, i, r) = loop (t, i - 1, h::r) in if len < 0 then raise Subscript else loop (l, len, nil) end fun drop (l:'a list, len) = let fun loop (l:'a list, 0) = l | loop (nil, _) = raise Subscript | loop (_::t, i) = loop (t, i - 1) in if len < 0 then raise Subscript else loop (l, len) end fun concat (lists:'a list list) = let fun loop (nil:'a list list, r) = rev r | loop (h::t, r) = loop (t, revAppend (h, r)) in loop (lists, nil) end fun app f nil = () | app f (h::t) = (f h : unit; app f t) fun map f (l:'a list) = let fun loop (nil:'a list, r) = rev r | loop (h::t, r) = loop (t, f h :: r) in loop (l, nil) end fun find predicate nil = NONE | find predicate (h::t) = if predicate h then SOME h else find predicate t fun filter predicate (l:'a list) = let fun loop (nil:'a list, r) = rev r | loop (h::t, r) = loop (t, if predicate h then h::r else r) in loop (l, nil) end fun mapPartial f (l:'a list) = let fun loop (nil:'a list, r) = rev r | loop (h::t, r) = case f h of SOME h => loop (t, h::r) | NONE => loop (t, r) in loop (l, nil) end fun partition predicate (l:'a list) = let fun loop (nil:'a list, positives, negatives) = (rev positives, rev negatives) | loop (h::t, positives, negatives) = if predicate h then loop (t, h::positives, negatives) else loop (t, positives, h::negatives) in loop (l, nil, nil) end fun foldl f z (l:'a list) = let fun loop (nil:'a list, z) = z | loop (h::t, z) = loop (t, f (h, z)) in loop (l, z) end fun foldr f z (l:'a list) = let fun loop (nil:'a list, z) = z | loop (h::t, z) = f (h, loop (t, z)) in loop (l, z) end fun exists predicate nil = false | exists predicate (h::t) = predicate h orelse exists predicate t fun all predicate nil = true | all predicate (h::t) = predicate h andalso all predicate t fun tabulate (len, elemFn) = let fun loop (i, r) = if i >= len then rev r else loop (i + 1, elemFn i :: r) in if len < 0 then raise Size else loop (0, nil) end fun collate cmpFn (l1, l2) = let fun loop (nil, _::_) = LESS | loop (nil, nil) = EQUAL | loop (_::_, nil) = GREATER | loop (h1::t1, h2::t2) = case cmpFn (h1, h2) of EQUAL => loop (t1, t2) | order => order in loop (l1, l2) end end val op @ = List.@ val app = List.app val foldl = List.foldl val foldr = List.foldr val hd = List.hd val length = List.length val map = List.map val null = List.null val rev = List.rev val tl = List.tl smlsharp-1.2.0/src/basis/main/LIST_PAIR.sig0000644 000000000000000000000161112050661606020410 0ustar00rootroot0000000 0000000 signature LIST_PAIR = sig exception UnequalLengths val zip : 'a list * 'b list -> ('a * 'b) list val zipEq : 'a list * 'b list -> ('a * 'b) list val unzip : ('a * 'b) list -> 'a list * 'b list val app : ('a * 'b -> unit) -> 'a list * 'b list -> unit val appEq : ('a * 'b -> unit) -> 'a list * 'b list -> unit val map : ('a * 'b -> 'c) -> 'a list * 'b list -> 'c list val mapEq : ('a * 'b -> 'c) -> 'a list * 'b list -> 'c list val foldl : ('a * 'b * 'c -> 'c) -> 'c -> 'a list * 'b list -> 'c val foldr : ('a * 'b * 'c -> 'c) -> 'c -> 'a list * 'b list -> 'c val foldlEq : ('a * 'b * 'c -> 'c) -> 'c -> 'a list * 'b list -> 'c val foldrEq : ('a * 'b * 'c -> 'c) -> 'c -> 'a list * 'b list -> 'c val all : ('a * 'b -> bool) -> 'a list * 'b list -> bool val exists : ('a * 'b -> bool) -> 'a list * 'b list -> bool val allEq : ('a * 'b -> bool) -> 'a list * 'b list -> bool end smlsharp-1.2.0/src/basis/main/ListPair.smi0000644 000000000000000000000167212050661606020566 0ustar00rootroot0000000 0000000 _require "List.smi" _require "LIST_PAIR.sig" structure ListPair = struct exception UnequalLengths val zip : 'a list * 'b list -> ('a * 'b) list val zipEq : 'a list * 'b list -> ('a * 'b) list val unzip : ('a * 'b) list -> 'a list * 'b list val app : ('a * 'b -> unit) -> 'a list * 'b list -> unit val appEq : ('a * 'b -> unit) -> 'a list * 'b list -> unit val map : ('a * 'b -> 'c) -> 'a list * 'b list -> 'c list val mapEq : ('a * 'b -> 'c) -> 'a list * 'b list -> 'c list val foldl : ('a * 'b * 'c -> 'c) -> 'c -> 'a list * 'b list -> 'c val foldr : ('a * 'b * 'c -> 'c) -> 'c -> 'a list * 'b list -> 'c val foldlEq : ('a * 'b * 'c -> 'c) -> 'c -> 'a list * 'b list -> 'c val foldrEq : ('a * 'b * 'c -> 'c) -> 'c -> 'a list * 'b list -> 'c val all : ('a * 'b -> bool) -> 'a list * 'b list -> bool val exists : ('a * 'b -> bool) -> 'a list * 'b list -> bool val allEq : ('a * 'b -> bool) -> 'a list * 'b list -> bool end smlsharp-1.2.0/src/basis/main/ListPair.sml0000644 000000000000000000000611412050661606020565 0ustar00rootroot0000000 0000000 (** * ListPair structure. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * @copyright 2010, 2011, Tohoku University. *) _interface "ListPair.smi" structure ListPair :> LIST_PAIR = struct exception UnequalLengths fun zip (l1, l2) = let fun loop (h1::t1, h2::t2, z) = loop (t1, t2, (h1,h2)::z) | loop (_, _, z) = rev z in loop (l1, l2, nil) end fun zipEq (l1, l2) = let fun loop (h1::t1, h2::t2, z) = loop (t1, t2, (h1,h2)::z) | loop (nil, nil, z) = rev z | loop _ = raise UnequalLengths in loop (l1, l2, nil) end fun unzip pairs = let fun loop (nil, l, r) = (rev l, rev r) | loop ((h1, h2)::t, l, r) = loop (t, h1::l, h2::r) in loop (pairs, nil, nil) end fun map mapFn (l1, l2) = let fun loop (h1::t1, h2::t2, z) = loop (t1, t2, mapFn (h1, h2) :: z) | loop (_, _, z) = rev z in loop (l1, l2, nil) end fun mapEq mapFn (l1, l2) = let fun loop (h1::t1, h2::t2, z) = loop (t1, t2, mapFn (h1, h2) :: z) | loop (nil, nil, z) = rev z | loop _ = raise UnequalLengths in loop (l1, l2, nil) end fun app appFn (l1, l2) = let fun loop (h1::t1, h2::t2) = (appFn (h1, h2) : unit; loop (t1, t2)) | loop (_, _) = () in loop (l1, l2) end fun appEq appFn (l1, l2) = let fun loop (h1::t1, h2::t2) = (appFn (h1, h2) : unit; loop (t1, t2)) | loop (nil, nil) = () | loop _ = raise UnequalLengths in loop (l1, l2) end fun foldl foldFn z (l1, l2) = let fun loop (h1::t1, h2::t2, z) = loop (t1, t2, foldFn (h1, h2, z)) | loop (_, _, z) = z in loop (l1, l2, z) end fun foldlEq foldFn z (l1, l2) = let fun loop (h1::t1, h2::t2, z) = loop (t1, t2, foldFn (h1, h2, z)) | loop (nil, nil, z) = z | loop _ = raise UnequalLengths in loop (l1, l2, z) end fun foldr foldFn z (l1, l2) = let fun loop (h1::t1, h2::t2, z) = foldFn (h1, h2, loop (t1, t2, z)) | loop (_, _, z) = z in loop (l1, l2, z) end fun foldrEq foldFn z (l1, l2) = let fun loop (h1::t1, h2::t2, z) = foldFn (h1, h2, loop (t1, t2, z)) | loop (nil, nil, z) = z | loop _ = raise UnequalLengths in loop (l1, l2, z) end fun all predicate (l1, l2) = let fun loop (h1::t1, h2::t2) = predicate (h1, h2) andalso loop (t1, t2) | loop _ = true in loop (l1, l2) end fun allEq predicate (l1, l2) = let fun loop (h1::t1, h2::t2) = predicate (h1, h2) andalso loop (t1, t2) | loop (nil, nil) = true | loop _ = raise UnequalLengths in loop (l1, l2) end fun exists predicate (l1, l2) = let fun loop (h1::t1, h2::t2) = predicate (h1, h2) orelse loop (t1, t2) | loop _ = false in loop (l1, l2) end end smlsharp-1.2.0/src/basis/main/MATH.sig0000644 000000000000000000000072312050661606017556 0ustar00rootroot0000000 0000000 signature MATH = sig type real val pi : real val e : real val sqrt : real -> real val sin : real -> real val cos : real -> real val tan : real -> real val asin : real -> real val acos : real -> real val atan : real -> real val atan2 : real * real -> real val exp : real -> real val pow : real * real -> real val ln : real -> real val log10 : real -> real val sinh : real -> real val cosh : real -> real val tanh : real -> real end smlsharp-1.2.0/src/basis/main/MONO_ARRAY.sig0000644 000000000000000000000223412050661606020532 0ustar00rootroot0000000 0000000 include "General.smi" signature MONO_ARRAY = sig eqtype array type elem type vector val maxLen : int val length : array -> int val sub : array * int -> elem val foldli : (int * elem * 'b -> 'b) -> 'b -> array -> 'b val foldl : (elem * 'b -> 'b) -> 'b -> array -> 'b val foldri : (int * elem * 'b -> 'b) -> 'b -> array -> 'b val foldr : (elem * 'b -> 'b) -> 'b -> array -> 'b val appi : (int * elem -> unit) -> array -> unit val app : (elem -> unit) -> array -> unit val findi : (int * elem -> bool) -> array -> (int * elem) option val find : (elem -> bool) -> array -> elem option val exists : (elem -> bool) -> array -> bool val all : (elem -> bool) -> array -> bool val collate : (elem * elem -> order) -> array * array -> order val array : int * elem -> array val fromList : elem list -> array val tabulate : int * (int -> elem) -> array val update : array * int * elem -> unit val vector : array -> vector val copy : {src : array, dst : array, di : int} -> unit val copyVec : {src : vector, dst : array, di : int} -> unit val modifyi : (int * elem -> elem) -> array -> unit val modify : (elem -> elem) -> array -> unit end smlsharp-1.2.0/src/basis/main/MONO_ARRAY_SLICE.sig0000644 000000000000000000000246412050661606021456 0ustar00rootroot0000000 0000000 include "General.smi" signature MONO_ARRAY_SLICE = sig type elem type array type slice type vector type vector_slice val length : slice -> int val sub : slice * int -> elem val update : slice * int * elem -> unit val full : array -> slice val slice : array * int * int option -> slice val subslice : slice * int * int option -> slice val base : slice -> array * int * int val vector : slice -> vector val copy : {src : slice, dst : array, di : int} -> unit val copyVec : {src : vector_slice, dst : array, di : int} -> unit val isEmpty : slice -> bool val getItem : slice -> (elem * slice) option val appi : (int * elem -> unit) -> slice -> unit val app : (elem -> unit) -> slice -> unit val modifyi : (int * elem -> elem) -> slice -> unit val modify : (elem -> elem) -> slice -> unit val foldli : (int * elem * 'b -> 'b) -> 'b -> slice -> 'b val foldr : (elem * 'b -> 'b) -> 'b -> slice -> 'b val foldl : (elem * 'b -> 'b) -> 'b -> slice -> 'b val foldri : (int * elem * 'b -> 'b) -> 'b -> slice -> 'b val findi : (int * elem -> bool) -> slice -> (int * elem) option val find : (elem -> bool) -> slice -> elem option val exists : (elem -> bool) -> slice -> bool val all : (elem -> bool) -> slice -> bool val collate : (elem * elem -> order) -> slice * slice -> order end smlsharp-1.2.0/src/basis/main/MONO_VECTOR.sig0000644 000000000000000000000201512050661606020653 0ustar00rootroot0000000 0000000 include "General.smi" signature MONO_VECTOR = sig type vector type elem val maxLen : int val length : vector -> int val sub : vector * int -> elem val foldli : (int * elem * 'a -> 'a) -> 'a -> vector -> 'a val foldl : (elem * 'a -> 'a) -> 'a -> vector -> 'a val foldri : (int * elem * 'a -> 'a) -> 'a -> vector -> 'a val foldr : (elem * 'a -> 'a) -> 'a -> vector -> 'a val appi : (int * elem -> unit) -> vector -> unit val app : (elem -> unit) -> vector -> unit val findi : (int * elem -> bool) -> vector -> (int * elem) option val find : (elem -> bool) -> vector -> elem option val exists : (elem -> bool) -> vector -> bool val all : (elem -> bool) -> vector -> bool val collate : (elem * elem -> order) -> vector * vector -> order val fromList : elem list -> vector val tabulate : int * (int -> elem) -> vector val update : vector * int * elem -> vector val concat : vector list -> vector val mapi : (int * elem -> elem) -> vector -> vector val map : (elem -> elem) -> vector -> vector end smlsharp-1.2.0/src/basis/main/MONO_VECTOR_SLICE.sig0000644 000000000000000000000222112050661606021571 0ustar00rootroot0000000 0000000 include "General.smi" signature MONO_VECTOR_SLICE = sig type elem type vector type slice val length : slice -> int val sub : slice * int -> elem val full : vector -> slice val slice : vector * int * int option -> slice val subslice : slice * int * int option -> slice val base : slice -> vector * int * int val vector : slice -> vector val isEmpty : slice -> bool val getItem : slice -> (elem * slice) option val foldli : (int * elem * 'b -> 'b) -> 'b -> slice -> 'b val foldl : (elem * 'b -> 'b) -> 'b -> slice -> 'b val foldri : (int * elem * 'b -> 'b) -> 'b -> slice -> 'b val foldr : (elem * 'b -> 'b) -> 'b -> slice -> 'b val appi : (int * elem -> unit) -> slice -> unit val app : (elem -> unit) -> slice -> unit val findi : (int * elem -> bool) -> slice -> (int * elem) option val find : (elem -> bool) -> slice -> elem option val exists : (elem -> bool) -> slice -> bool val all : (elem -> bool) -> slice -> bool val collate : (elem * elem -> order) -> slice * slice -> order val concat : slice list -> vector val mapi : (int * elem -> elem) -> slice -> vector val map : (elem -> elem) -> slice -> vector end smlsharp-1.2.0/src/basis/main/OPTION.sig0000644 000000000000000000000113312050661606020031 0ustar00rootroot0000000 0000000 signature OPTION = sig datatype 'a option = NONE | SOME of 'a exception Option val getOpt : 'a option * 'a -> 'a val isSome : 'a option -> bool val valOf : 'a option -> 'a val filter : ('a -> bool) -> 'a -> 'a option val join : 'a option option -> 'a option val app : ('a -> unit) -> 'a option -> unit val map : ('a -> 'b) -> 'a option -> 'b option val mapPartial : ('a -> 'b option) -> 'a option -> 'b option val compose : ('a -> 'b) * ('c -> 'a option) -> 'c -> 'b option val composePartial : ('a -> 'b option) * ('c -> 'a option) -> 'c -> 'b option end smlsharp-1.2.0/src/basis/main/Option.smi0000644 000000000000000000000132212050661606020277 0ustar00rootroot0000000 0000000 _require "OPTION.sig" structure Option = struct datatype option = datatype option exception Option = Option val getOpt : 'a option * 'a -> 'a val isSome : 'a option -> bool val valOf : 'a option -> 'a val filter : ('a -> bool) -> 'a -> 'a option val join : 'a option option -> 'a option val app : ('a -> unit) -> 'a option -> unit val map : ('a -> 'b) -> 'a option -> 'b option val mapPartial : ('a -> 'b option) -> 'a option -> 'b option val compose : ('a -> 'b) * ('c -> 'a option) -> 'c -> 'b option val composePartial : ('a -> 'b option) * ('c -> 'a option) -> 'c -> 'b option end (* toplevel *) val getOpt : ('a option * 'a) -> 'a val isSome : 'a option -> bool val valOf : 'a option -> 'a smlsharp-1.2.0/src/basis/main/Option.sml0000644 000000000000000000000222712050661606020307 0ustar00rootroot0000000 0000000 (** * Option structure. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * @copyright 2010, 2011, Tohoku University. *) _interface "Option.smi" structure Option :> OPTION where type 'a option = 'a option = struct datatype option = datatype option exception Option = Option fun getOpt (SOME value, _) = value | getOpt (NONE, default) = default fun isSome (SOME _) = true | isSome NONE = false fun valOf (SOME value) = value | valOf NONE = raise Option fun filter predicate value = if predicate value then SOME value else NONE fun join NONE = NONE | join (SOME value) = value fun app f NONE = () | app f (SOME value) = f value fun map f NONE = NONE | map f (SOME value) = SOME (f value) fun mapPartial f NONE = NONE | mapPartial f (SOME value) = f value fun compose (f, g) = fn value => case g value of NONE => NONE | SOME value => SOME (f value) fun composePartial (f, g) = fn value => case g value of NONE => NONE | SOME value => f value end val getOpt = Option.getOpt val isSome = Option.isSome val valOf = Option.valOf smlsharp-1.2.0/src/basis/main/OS.sig0000644 000000000000000000000063712050661606017352 0ustar00rootroot0000000 0000000 include "OS_FILE_SYS.sig" include "OS_IO.sig" include "OS_PATH.sig" include "OS_PROCESS.sig" signature OS = sig structure FileSys : OS_FILE_SYS structure IO : OS_IO structure Path : OS_PATH structure Process : OS_PROCESS eqtype syserror exception SysErr of string * syserror option val errorMsg : syserror -> string val errorName : syserror -> string val syserror : string -> syserror option end smlsharp-1.2.0/src/basis/main/OS.smi0000644 000000000000000000001022612050661606017353 0ustar00rootroot0000000 0000000 _require "General.smi" _require "Time.smi" _require "Int.smi" _require "SMLSharpOSFileSys.smi" _require "SMLSharpOSProcess.smi" _require "SMLSharpRuntime.smi" _require "../../smlnj/Basis/Unix/os-filesys.smi" _require "../../smlnj/Basis/Unix/os-path.smi" _require "../../smlnj/Basis/Unix/os-io.smi" _require "OS.sig" structure OS = struct structure FileSys = struct type dirstream (= boxed) val openDir : string -> dirstream val readDir : dirstream -> string option val rewindDir : dirstream -> unit val closeDir : dirstream -> unit val chDir : string -> unit val getDir : unit -> string val mkDir : string -> unit val rmDir : string -> unit val isDir : string -> bool val isLink : string -> bool val readLink : string -> string val fullPath : string -> string val realPath : string -> string val modTime : string -> Time.time val fileSize : string -> Position.int val setTime : string * Time.time option -> unit val remove : string -> unit val rename : {old : string, new : string} -> unit datatype access_mode = A_READ | A_WRITE | A_EXEC val access : string * access_mode list -> bool val tmpName : unit -> string eqtype file_id (= boxed) val fileId : string -> file_id val hash : file_id -> word val compare : file_id * file_id -> order end structure IO = struct type iodesc = SMLSharpSMLNJ_OS_IO.iodesc val hash : iodesc -> word val compare : iodesc * iodesc -> order eqtype iodesc_kind (= boxed) val kind : iodesc -> iodesc_kind structure Kind = struct val file : iodesc_kind val dir : iodesc_kind val symlink : iodesc_kind val tty : iodesc_kind val pipe : iodesc_kind val socket : iodesc_kind val device : iodesc_kind end eqtype poll_desc (= boxed) type poll_info (= boxed) val pollDesc : iodesc -> poll_desc option val pollToIODesc : poll_desc -> iodesc exception Poll = SMLSharpSMLNJ_OS_IO.Poll val pollIn : poll_desc -> poll_desc val pollOut : poll_desc -> poll_desc val pollPri : poll_desc -> poll_desc val poll : poll_desc list * Time.time option -> poll_info list val isIn : poll_info -> bool val isOut : poll_info -> bool val isPri : poll_info -> bool val infoToPollDesc : poll_info -> poll_desc end structure Path = struct exception Path = SMLSharpSMLNJ_OS_Path.Path exception InvalidArc = SMLSharpSMLNJ_OS_Path.InvalidArc val parentArc : string val currentArc : string val fromString : string -> {isAbs : bool, vol : string, arcs : string list} val toString : {isAbs : bool, vol : string, arcs : string list} -> string val validVolume : {isAbs : bool, vol : string} -> bool val getVolume : string -> string val getParent : string -> string val splitDirFile : string -> {dir : string, file : string} val joinDirFile : {dir : string, file : string} -> string val dir : string -> string val file : string -> string val splitBaseExt : string -> {base : string, ext : string option} val joinBaseExt : {base : string, ext : string option} -> string val base : string -> string val ext : string -> string option val mkCanonical : string -> string val isCanonical : string -> bool val mkAbsolute : {path : string, relativeTo : string} -> string val mkRelative : {path : string, relativeTo : string} -> string val isAbsolute : string -> bool val isRelative : string -> bool val isRoot : string -> bool val concat : string * string -> string val fromUnixPath : string -> string val toUnixPath : string -> string end structure Process = struct type status (= int) val success : status val failure : status val isSuccess : status -> bool val system : string -> status val atExit : (unit -> unit) -> unit val exit : status -> 'a val terminate : status -> 'a val getEnv : string -> string option val sleep : Time.time -> unit end type syserror = SMLSharpRuntime.syserror exception SysErr = SMLSharpRuntime.SysErr val errorMsg : syserror -> string val errorName : syserror -> string val syserror : string -> syserror option end smlsharp-1.2.0/src/basis/main/OS.sml0000644 000000000000000000000072712050661606017363 0ustar00rootroot0000000 0000000 (** * OS structure. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * @copyright 2010, 2011, Tohoku University. *) _interface "OS.smi" structure OS :> OS where type syserror = SMLSharpRuntime.syserror where type IO.iodesc = SMLSharpSMLNJ_OS_IO.iodesc = struct structure FileSys = SMLSharpSMLNJ_OS_FileSys structure IO = SMLSharpSMLNJ_OS_IO structure Path = SMLSharpSMLNJ_OS_Path structure Process = SMLSharpOSProcess open SMLSharpRuntime end smlsharp-1.2.0/src/basis/main/OS_FILE_SYS.sig0000644 000000000000000000000174612050661606020711 0ustar00rootroot0000000 0000000 include "General.smi" include "Time.smi" include "Int.smi" signature OS_FILE_SYS = sig type dirstream val openDir : string -> dirstream val readDir : dirstream -> string option val rewindDir : dirstream -> unit val closeDir : dirstream -> unit val chDir : string -> unit val getDir : unit -> string val mkDir : string -> unit val rmDir : string -> unit val isDir : string -> bool val isLink : string -> bool val readLink : string -> string val fullPath : string -> string val realPath : string -> string val modTime : string -> Time.time val fileSize : string -> Position.int val setTime : string * Time.time option -> unit val remove : string -> unit val rename : {old : string, new : string} -> unit datatype access_mode = A_READ | A_WRITE | A_EXEC val access : string * access_mode list -> bool val tmpName : unit -> string eqtype file_id val fileId : string -> file_id val hash : file_id -> word val compare : file_id * file_id -> order end smlsharp-1.2.0/src/basis/main/OS_IO.sig0000644 000000000000000000000157412050661606017742 0ustar00rootroot0000000 0000000 include "General.smi" include "Time.smi" signature OS_IO = sig eqtype iodesc val hash : iodesc -> word val compare : iodesc * iodesc -> order eqtype iodesc_kind val kind : iodesc -> iodesc_kind structure Kind : sig val file : iodesc_kind val dir : iodesc_kind val symlink : iodesc_kind val tty : iodesc_kind val pipe : iodesc_kind val socket : iodesc_kind val device : iodesc_kind end eqtype poll_desc type poll_info val pollDesc : iodesc -> poll_desc option val pollToIODesc : poll_desc -> iodesc exception Poll val pollIn : poll_desc -> poll_desc val pollOut : poll_desc -> poll_desc val pollPri : poll_desc -> poll_desc val poll : poll_desc list * Time.time option -> poll_info list val isIn : poll_info -> bool val isOut : poll_info -> bool val isPri : poll_info -> bool val infoToPollDesc : poll_info -> poll_desc end smlsharp-1.2.0/src/basis/main/OS_PATH.sig0000644 000000000000000000000225612050661606020165 0ustar00rootroot0000000 0000000 signature OS_PATH = sig exception Path exception InvalidArc val parentArc : string val currentArc : string val fromString : string -> {isAbs : bool, vol : string, arcs : string list} val toString : {isAbs : bool, vol : string, arcs : string list} -> string val validVolume : {isAbs : bool, vol : string} -> bool val getVolume : string -> string val getParent : string -> string val splitDirFile : string -> {dir : string, file : string} val joinDirFile : {dir : string, file : string} -> string val dir : string -> string val file : string -> string val splitBaseExt : string -> {base : string, ext : string option} val joinBaseExt : {base : string, ext : string option} -> string val base : string -> string val ext : string -> string option val mkCanonical : string -> string val isCanonical : string -> bool val mkAbsolute : {path : string, relativeTo : string} -> string val mkRelative : {path : string, relativeTo : string} -> string val isAbsolute : string -> bool val isRelative : string -> bool val isRoot : string -> bool val concat : string * string -> string val fromUnixPath : string -> string val toUnixPath : string -> string end smlsharp-1.2.0/src/basis/main/OS_PROCESS.sig0000644 000000000000000000000052612050661606020545 0ustar00rootroot0000000 0000000 include "Time.smi" signature OS_PROCESS = sig type status val success : status val failure : status val isSuccess : status -> bool val system : string -> status val atExit : (unit -> unit) -> unit val exit : status -> 'a val terminate : status -> 'a val getEnv : string -> string option val sleep : Time.time -> unit end smlsharp-1.2.0/src/basis/main/PRIM_IO.sig0000644 000000000000000000000325612050661606020167 0ustar00rootroot0000000 0000000 include "General.smi" include "OS.smi" signature PRIM_IO = sig type elem type vector type vector_slice type array type array_slice eqtype pos val compare : pos * pos -> order datatype reader = RD of {name : string, chunkSize : int, readVec : (int -> vector) option, readArr : (array_slice -> int) option, readVecNB : (int -> vector option) option, readArrNB : (array_slice -> int option) option, block : (unit -> unit) option, canInput : (unit -> bool) option, avail : unit -> int option, getPos : (unit -> pos) option, setPos : (pos -> unit) option, endPos : (unit -> pos) option, verifyPos : (unit -> pos) option, close : unit -> unit, ioDesc : OS.IO.iodesc option} datatype writer = WR of {name : string, chunkSize : int, writeVec : (vector_slice -> int) option, writeArr : (array_slice -> int) option, writeVecNB : (vector_slice -> int option) option, writeArrNB : (array_slice -> int option) option, block : (unit -> unit) option, canOutput : (unit -> bool) option, getPos : (unit -> pos) option, setPos : (pos -> unit) option, endPos : (unit -> pos) option, verifyPos : (unit -> pos) option, close : unit -> unit, ioDesc : OS.IO.iodesc option} val openVector : vector -> reader val nullRd : unit -> reader val nullWr : unit -> writer val augmentReader : reader -> reader val augmentWriter : writer -> writer end smlsharp-1.2.0/src/basis/main/REAL.sig0000644 000000000000000000000457112050661606017555 0ustar00rootroot0000000 0000000 include "General.smi" include "IntInf.smi" include "RealClass.smi" include "Real.smi" include "Real32.smi" include "IEEEReal.smi" include "StringCvt.smi" include "MATH.sig" signature REAL = sig type real structure Math : MATH where type real = real val radix : int val precision : int val maxFinite : real val minPos : real val minNormalPos : real val posInf : real val negInf : real val + : real * real -> real val - : real * real -> real val * : real * real -> real val / : real * real -> real val rem : real * real -> real val *+ : real * real * real -> real val *- : real * real * real -> real val ~ : real -> real val abs : real -> real val min : real * real -> real val max : real * real -> real val sign : real -> int val signBit : real -> bool val sameSign : real * real -> bool val copySign : real * real -> real val compare : real * real -> order val compareReal : real * real -> IEEEReal.real_order val < : real * real -> bool val <= : real * real -> bool val > : real * real -> bool val >= : real * real -> bool val == : real * real -> bool val != : real * real -> bool val ?= : real * real -> bool val unordered : real * real -> bool val isFinite : real -> bool val isNan : real -> bool val isNormal : real -> bool val class : real -> IEEEReal.float_class val toManExp : real -> {man : real, exp : int} val fromManExp : {man : real, exp : int} -> real val split : real -> {whole : real, frac : real} val realMod : real -> real val nextAfter : real * real -> real val checkFloat : real -> real val realFloor : real -> real val realCeil : real -> real val realTrunc : real -> real val realRound : real -> real val floor : real -> int val ceil : real -> int val trunc : real -> int val round : real -> int val toInt : IEEEReal.rounding_mode -> real -> int val toLargeInt : IEEEReal.rounding_mode -> real -> LargeInt.int val fromInt : int -> real val fromLargeInt : LargeInt.int -> real val toLarge : real -> LargeReal.real val fromLarge : IEEEReal.rounding_mode -> LargeReal.real -> real val fmt : StringCvt.realfmt -> real -> string val toString : real -> string val scan : (char, 'a) StringCvt.reader -> (real, 'a) StringCvt.reader val fromString : string -> real option val toDecimal : real -> IEEEReal.decimal_approx val fromDecimal : IEEEReal.decimal_approx -> real option end smlsharp-1.2.0/src/basis/main/Real.smi0000644 000000000000000000000606312050661606017721 0ustar00rootroot0000000 0000000 _require "SMLSharpRuntime.smi" _require "General.smi" _require "StringCvt.smi" _require "Int.smi" _require "String.smi" _require "Substring.smi" _require "IntInf.smi" _require "IEEEReal.smi" _require "MATH.sig" _require "RealClass.smi" structure Math = struct type real = real val pi : real val e : real val sqrt : real -> real val sin : real -> real val cos : real -> real val tan : real -> real val asin : real -> real val acos : real -> real val atan : real -> real val atan2 : real * real -> real val exp : real -> real val pow : real * real -> real val ln : real -> real val log10 : real -> real val sinh : real -> real val cosh : real -> real val tanh : real -> real end structure Real = struct type real = SMLSharp.Real.real structure Math = Math val radix : int val precision : int val maxFinite : real val minPos : real val minNormalPos : real val posInf : real val negInf : real val + = SMLSharp.Real.add val - = SMLSharp.Real.sub val * = SMLSharp.Real.mul val / = SMLSharp.Real.div val rem = SMLSharp.Real.rem val *+ : real * real * real -> real val *- : real * real * real -> real val ~ = SMLSharp.Real.neg val abs = SMLSharp.Real.abs val sign : real -> int val signBit : real -> bool val sameSign : real * real -> bool val copySign : real * real -> real val compareReal : real * real -> IEEEReal.real_order val compare : real * real -> order val < = SMLSharp.Real.lt val <= = SMLSharp.Real.lteq val > = SMLSharp.Real.gt val >= = SMLSharp.Real.gteq val == = SMLSharp.Real.equal val != : real * real -> bool val ?= = SMLSharp.Real.unorderedOrEqual val isFinite : real -> bool val isNan : real -> bool val unordered : real * real -> bool val isNormal : real -> bool val class : real -> IEEEReal.float_class val min : real * real -> real val max : real * real -> real val toManExp : real -> {man : real, exp : int} val fromManExp : {man : real, exp : int} -> real val split : real -> {whole : real, frac : real} val realMod : real -> real val nextAfter : real * real -> real val checkFloat : real -> real val realFloor : real -> real val realCeil : real -> real val realRound : real -> real val realTrunc : real -> real val floor : real -> int val ceil : real -> int val trunc : real -> int val round : real -> int val toInt : IEEEReal.rounding_mode -> real -> int val toLargeInt : IEEEReal.rounding_mode -> real -> LargeInt.int val fromInt = SMLSharp.Real.fromInt val fromLargeInt : LargeInt.int -> real val toLarge : real -> real val fromLarge : IEEEReal.rounding_mode -> real -> real val toDecimal : real -> IEEEReal.decimal_approx val fromDecimal : IEEEReal.decimal_approx -> real option val fmt : StringCvt.realfmt -> real -> string val scan : (char, 'a) StringCvt.reader -> (real, 'a) StringCvt.reader val toString : real -> string val fromString : string -> real option end structure LargeReal = Real structure Real64 = Real val real = Real.fromInt val ceil = Real.ceil val floor = Real.floor val round = Real.round val trunc = Real.trunc smlsharp-1.2.0/src/basis/main/Real.sml0000644 000000000000000000003101512050661606017717 0ustar00rootroot0000000 0000000 (** * Real related structures. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * @author Atsushi Ohori (refactored) * @copyright 2010, 2011, Tohoku University. *) (* 2012-1-7 ohori. Separated from RealStructure.sml/smi. This is the fundamental structure that should be defined directly. *) _interface "Real.smi" local infix 7 * / div mod infix 6 + - infixr 5 :: infix 4 = <> > >= < <= val op + = SMLSharp.Int.add val op - = SMLSharp.Int.sub val op > = SMLSharp.Int.gt val op < = SMLSharp.Int.lt val op <= = SMLSharp.Int.lteq val op >= = SMLSharp.Int.gteq structure RealConst = struct (* IEEE 754 double precision floating point number *) val radix = 2 val precision = 53 (* 7fe f ff ff ff ff ff ff *) val maxFinite = 1.7976931348623157e308 : real (* 000 0 00 00 00 00 00 01 *) val minPos = 4.9406564584124654e~324 : real (* 001 0 00 00 00 00 00 00 *) val minNormalPos = 2.2250738585072013e~308 : real (* 7ff 0 00 00 00 00 00 00 *) val posInf = SMLSharp.Real.div (1.0, 0.0) (* fff 0 00 00 00 00 00 00 *) val negInf = SMLSharp.Real.div (~1.0, 0.0) (* 400 9 21 fb 54 44 2d 18 *) val pi = 3.141592653589793 : real (* 400 5 bf 0a 8b 14 57 69 *) val e = 2.718281828459045 : real end in structure Math = struct type real = real val pi = RealConst.pi val e = RealConst.e val sqrt = _import "sqrt" : __attribute__((pure,no_callback)) real -> real val sin = _import "sin" : __attribute__((pure,no_callback)) real -> real val cos = _import "cos" : __attribute__((pure,no_callback)) real -> real val tan = _import "tan" : __attribute__((pure,no_callback)) real -> real val asin = _import "asin" : __attribute__((pure,no_callback)) real -> real val acos = _import "acos" : __attribute__((pure,no_callback)) real -> real val atan = _import "atan" : __attribute__((pure,no_callback)) real -> real val atan2 = _import "atan2" : __attribute__((pure,no_callback)) (real, real) -> real val exp = _import "exp" : __attribute__((pure,no_callback)) real -> real val pow = _import "pow" : __attribute__((pure,no_callback)) (real, real) -> real val ln = _import "log" : __attribute__((pure,no_callback)) real -> real val log10 = _import "log10" : __attribute__((pure,no_callback)) real -> real val sinh = _import "sinh" : __attribute__((pure,no_callback)) real -> real val cosh = _import "cosh" : __attribute__((pure,no_callback)) real -> real val tanh = _import "tanh" : __attribute__((pure,no_callback)) real -> real end (* Math *) structure Real = struct type real = real structure Math = Math val radix = RealConst.radix val precision = RealConst.precision val maxFinite = RealConst.maxFinite val minPos = RealConst.minPos val minNormalPos = RealConst.minNormalPos val posInf = RealConst.posInf val negInf = RealConst.negInf val op + = SMLSharp.Real.add val op - = SMLSharp.Real.sub val op * = SMLSharp.Real.mul val op / = SMLSharp.Real.div (* NOTE: Real.rem is not same as remainder(3) defined in C99. *) val rem = SMLSharp.Real.rem fun *+ (r1, r2, r3) = r1 * r2 + r3 fun *- (r1, r2, r3) = r1 * r2 - r3 val op ~ = SMLSharp.Real.neg val abs = SMLSharp.Real.abs fun sign x = RealClass.sign (RealClass.classReal x) fun signBit x = RealClass.signBit (RealClass.classReal x) fun sameSign (x, y) = signBit x = signBit y val copySign = _import "copysign" : __attribute__((pure,no_callback)) (real, real) -> real fun compareReal (x, y) = if SMLSharp.Real.lt (x, y) then IEEEReal.LESS else if SMLSharp.Real.gt (x, y) then IEEEReal.GREATER else if SMLSharp.Real.equal (x, y) then IEEEReal.EQUAL else IEEEReal.UNORDERED fun compare (x, y) = case compareReal (x, y) of IEEEReal.UNORDERED => raise IEEEReal.Unordered | IEEEReal.LESS => LESS | IEEEReal.EQUAL => EQUAL | IEEEReal.GREATER => GREATER val op < = SMLSharp.Real.lt val op <= = SMLSharp.Real.lteq val op > = SMLSharp.Real.gt val op >= = SMLSharp.Real.gteq val == = SMLSharp.Real.equal fun != x = if == x then false else true val ?= = SMLSharp.Real.unorderedOrEqual fun isFinite x = RealClass.isFinite (RealClass.classReal x) fun isNan x = RealClass.isNan (RealClass.classReal x) fun unordered (x, y) = isNan x orelse isNan y fun isNormal x = RealClass.isNormal (RealClass.classReal x) fun class x = RealClass.class (RealClass.classReal x) fun min (x, y) = if SMLSharp.Real.lteq (x, y) then x else if isNan x then y else x fun max (x, y) = if SMLSharp.Real.gteq (x, y) then x else if isNan x then y else x val frexp = _import "frexp" : __attribute__((pure,no_callback)) (real, int ref) -> real val ldexp = _import "ldexp" : __attribute__((pure,no_callback)) (real, int) -> real val modf = _import "modf" : __attribute__((pure,no_callback)) (real, real ref) -> real fun toManExp x = let val exp = ref 0 val man = frexp (x, exp) in {man = man, exp = !exp} end fun fromManExp {man, exp} = ldexp (man, exp) fun split x = let val intg = ref 0.0 val frac = modf (x, intg) in {whole = !intg, frac = frac} end fun realMod x = #frac (split x) val nextAfter = _import "nextafter" : __attribute__((pure,no_callback)) (real, real) -> real fun checkFloat x = case class x of IEEEReal.INF => raise Overflow | IEEEReal.NAN => raise Div (* Domain? This is a bug of Basis spec? *) | _ => x val realFloor = _import "floor" : __attribute__((pure,no_callback)) real -> real val realCeil = _import "ceil" : __attribute__((pure,no_callback)) real -> real val realRound = _import "round" : __attribute__((pure,no_callback)) real -> real val realTrunc = _import "trunc" : __attribute__((pure,no_callback)) real -> real fun floor x = if isNan x then raise Domain else SMLSharp.Real.trunc_unsafe (realFloor x) fun ceil x = if isNan x then raise Domain else SMLSharp.Real.trunc_unsafe (realCeil x) fun trunc x = if isNan x then raise Domain else SMLSharp.Real.trunc_unsafe x fun round x = if isNan x then raise Domain else SMLSharp.Real.trunc_unsafe (realTrunc x) fun toInt mode x = case mode of IEEEReal.TO_NEGINF => floor x | IEEEReal.TO_POSINF => ceil x | IEEEReal.TO_ZERO => trunc x | IEEEReal.TO_NEAREST => round x fun toLargeInt (mode:IEEEReal.rounding_mode) (x:real) : LargeInt.int = raise Fail "FIXME: Real.toLargeInt: not implemented yet" val fromInt = SMLSharp.Real.fromInt fun fromLargeInt (x: LargeInt.int) : real = raise Fail "FIXME: Real.fromLargeInt: not implemented yet" fun toLarge x = x : real fun fromLarge (mode:IEEEReal.rounding_mode) x = x : real local val dtoa = _import "sml_dtoa" : __attribute__((no_callback)) (real, int, int, int ref, int ref, char ptr ptr) -> char ptr val freedtoa = _import "sml_freedtoa" : __attribute__((no_callback)) char ptr -> unit val strtod = _import "sml_strtod" : __attribute__((pure,no_callback)) (string, char ptr ptr) -> real fun charToDigit nil = nil | charToDigit (h::t) = SMLSharp.Int.sub (SMLSharp.Char.ord h, 0x30) :: charToDigit t fun readDigits p = case SMLSharp.Pointer.deref_char p of #"\000" => nil | c => c :: readDigits (SMLSharp.Pointer.advance (p, 1)) fun realToDecimal (mode, ndigit, x) = let val decpt = ref 0 val sign = ref 0 val s = dtoa (x, mode, ndigit, decpt, sign, SMLSharp.Pointer.fromUnitPtr _NULL) val digits = readDigits s val _ = freedtoa s in {decpt = !decpt, digits = digits, sign = if !sign = 0 then false else true} end fun fmtFrac fillZero prec frac = let val frac = if fillZero then StringCvt.padRight #"0" prec frac else frac in case frac of "" => ".0" | _ => String.^ (".", frac) end val op + = SMLSharp.Int.add val op - = SMLSharp.Int.sub val op < = SMLSharp.Int.lt val op > = SMLSharp.Int.gt val op <= = SMLSharp.Int.lteq fun fmtFix fillZero prec x = let val _ = if prec < 0 then raise Size else () val {decpt, digits, sign} = realToDecimal (3, prec, x) val digits = implode digits val ndigits = String.size digits val (whole, frac) = if decpt <= 0 then ("0", StringCvt.padLeft #"0" (ndigits - decpt) digits) else if ndigits <= decpt then (StringCvt.padRight #"0" decpt digits, "") else (String.substring (digits, 0, decpt), String.substring (digits, decpt, ndigits - decpt)) val frac = fmtFrac fillZero prec frac val sign = if sign then "~" else "" in String.concat [sign, whole, frac] end fun fmtSci fillZero prec x = let val _ = if prec < 0 then raise Size else () val ndigit = prec + 1 val {decpt, digits, sign} = realToDecimal (2, ndigit, x) val exp = decpt - 1 val (whole, frac) = case digits of h::t => (String.str h, implode t) | nil => ("0", "") val frac = fmtFrac fillZero prec frac val sign = if sign then "~" else "" in String.concat [sign, whole, frac, "E", Int.toString exp] end fun fmtGen prec x = let val _ = if prec < 1 then raise Size else () val {decpt, ...} = realToDecimal (2, 1, x) in if decpt <= ~4 orelse decpt > prec then fmtSci false prec x else fmtFix false prec x end in fun toDecimal x = let val clsid = RealClass.classReal x val class = RealClass.class clsid fun ret () = {exp = 0, digits = [], sign = if RealClass.sign clsid = 1 then false else true, class = class} in case class of IEEEReal.ZERO => ret () | IEEEReal.NAN => ret () | IEEEReal.INF => ret () | _ => let val {decpt, digits, sign} = realToDecimal (0, 0, x) in {exp = decpt, digits = charToDigit digits, sign = sign, class = class} end end fun fromDecimal ({exp, digits, sign, class}:IEEEReal.decimal_approx) = let val sign = if sign then ~1.0 else 1.0 in case class of IEEEReal.ZERO => SOME (copySign (0.0, sign)) | IEEEReal.NAN => SOME (copySign (SMLSharp.Real.div (1.0, 0.0), sign)) | IEEEReal.INF => SOME (copySign (RealConst.posInf, sign)) | _ => let val dec = {exp=exp, digits=digits, sign=false, class=class} val s = IEEEReal.toString dec val r = strtod (s, SMLSharp.Pointer.fromUnitPtr _NULL) in if (== (r, RealConst.posInf) orelse == (r, 0.0)) andalso SOME (SMLSharpRuntime.errno ()) = SMLSharpRuntime.syserror "range" then NONE else SOME (copySign (r, sign)) end end fun fmt format x = let val clsid = RealClass.classReal x in case RealClass.class clsid of IEEEReal.INF => if RealClass.sign clsid = 1 then "inf" else "~inf" | IEEEReal.NAN => "nan" | _ => case format of StringCvt.EXACT => IEEEReal.toString (toDecimal x) | StringCvt.SCI prec => fmtSci true (case prec of NONE => 6 | SOME x => x) x | StringCvt.FIX prec => fmtFix true (case prec of NONE => 6 | SOME x => x) x | StringCvt.GEN prec => fmtGen (case prec of NONE => 12 | SOME x => x) x end end (* local *) fun scan getc strm = case IEEEReal.scan getc strm of NONE => NONE | SOME (dec, strm) => case fromDecimal dec of NONE => NONE | SOME x => SOME (x, strm) fun toString x = fmt (StringCvt.GEN NONE) x fun fromString s = StringCvt.scanString scan s end (* Real *) end structure LargeReal = Real structure Real64 = Real val real = Real.fromInt val ceil = Real.ceil val floor = Real.floor val round = Real.round val trunc = Real.trunc smlsharp-1.2.0/src/basis/main/Real32.smi0000644 000000000000000000000566312050661606020073 0ustar00rootroot0000000 0000000 _require "SMLSharpRuntime.smi" _require "General.smi" _require "StringCvt.smi" _require "Int.smi" _require "IntInf.smi" _require "String.smi" _require "IEEEReal.smi" _require "MATH.sig" _require "RealClass.smi" _require "Real.smi" structure Real32 = struct type real = SMLSharp.Real32.real structure Math = struct type real = real val pi : real val e : real val sqrt : real -> real val sin : real -> real val cos : real -> real val tan : real -> real val asin : real -> real val acos : real -> real val atan : real -> real val atan2 : real * real -> real val exp : real -> real val pow : real * real -> real val ln : real -> real val log10 : real -> real val sinh : real -> real val cosh : real -> real val tanh : real -> real end val radix : int val precision : int val maxFinite : real val minPos : real val minNormalPos : real val posInf : real val negInf : real val + = SMLSharp.Real32.add val - = SMLSharp.Real32.sub val * = SMLSharp.Real32.mul val / = SMLSharp.Real32.div val rem = SMLSharp.Real32.rem val *+ : real * real * real -> real val *- : real * real * real -> real val ~ = SMLSharp.Real32.neg val abs = SMLSharp.Real32.abs val sign : real -> int val signBit : real -> bool val sameSign : real * real -> bool val copySign : real * real -> real val compareReal : real * real -> IEEEReal.real_order val compare : real * real -> order val < = SMLSharp.Real32.lt val <= = SMLSharp.Real32.lteq val > = SMLSharp.Real32.gt val >= = SMLSharp.Real32.gteq val == = SMLSharp.Real32.equal val != : real * real -> bool val ?= : real * real -> bool val isFinite : real -> bool val isNan : real -> bool val unordered : real * real -> bool val isNormal : real -> bool val class : real -> IEEEReal.float_class val min : real * real -> real val max : real * real -> real val toManExp : real -> {man : real, exp : int} val fromManExp : {man : real, exp : int} -> real val split : real -> {whole : real, frac : real} val realMod : real -> real val nextAfter : real * real -> real val checkFloat : real -> real val realFloor : real -> real val realCeil : real -> real val realRound : real -> real val realTrunc : real -> real val floor : real -> int val ceil : real -> int val round : real -> int val trunc : real -> int val toInt : IEEEReal.rounding_mode -> real -> int val toLargeInt : IEEEReal.rounding_mode -> real -> LargeInt.int val fromInt : int -> real val fromLargeInt : LargeInt.int -> real val toLarge : real -> LargeReal.real val fromLarge : IEEEReal.rounding_mode -> LargeReal.real -> real val fmt : StringCvt.realfmt -> real -> string val toString : real -> string val scan : (char, 'a) StringCvt.reader -> (real, 'a) StringCvt.reader val fromString : string -> real option val toDecimal : real -> IEEEReal.decimal_approx val fromDecimal : IEEEReal.decimal_approx -> real option end smlsharp-1.2.0/src/basis/main/Real32.sml0000644 000000000000000000002346212050661606020073 0ustar00rootroot0000000 0000000 (** * Real related structures. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * * @author Atsushi Ohori (refactored) * @copyright 2010, 2011, Tohoku University. *) _interface "Real32.smi" local infix 7 * / div mod infix 6 + - infixr 5 :: infix 4 = <> > >= < <= val op + = SMLSharp.Int.add val op - = SMLSharp.Int.sub val op > = SMLSharp.Int.gt val op < = SMLSharp.Int.lt val op <= = SMLSharp.Int.lteq val op >= = SMLSharp.Int.gteq structure Real32Const = struct (* IEEE 754 single precision floating point number *) val radix = 2 val precision = 24 (* 7f 7f ff ff *) val maxFinite = 3.4028234e38 : SMLSharp.Real32.real (* 00 00 00 01 *) val minPos = 1.4012984e~45 : SMLSharp.Real32.real (* 00 80 00 00 *) val minNormalPos = 1.1754943e~38 : SMLSharp.Real32.real (* 7f 80 00 00 *) val posInf = SMLSharp.Real32.div (1.0, 0.0) (* ff 80 00 00 *) val negInf = SMLSharp.Real32.div (~1.0, 0.0) (* 40 49 0f db *) val pi = 3.141592653 : SMLSharp.Real32.real (* 40 2d f8 54 *) val e = 2.718281828 : SMLSharp.Real32.real end structure Math32 = struct type real = SMLSharp.Real32.real val pi = Real32Const.pi val e = Real32Const.e (* ToDo: the following should be primitives. *) fun sqrt x = SMLSharp.Real32.fromReal (Math.sqrt (SMLSharp.Real32.toReal x)) fun sin x = SMLSharp.Real32.fromReal (Math.sin (SMLSharp.Real32.toReal x)) fun cos x = SMLSharp.Real32.fromReal (Math.cos (SMLSharp.Real32.toReal x)) fun tan x = SMLSharp.Real32.fromReal (Math.tan (SMLSharp.Real32.toReal x)) fun asin x = SMLSharp.Real32.fromReal (Math.asin (SMLSharp.Real32.toReal x)) fun acos x = SMLSharp.Real32.fromReal (Math.acos (SMLSharp.Real32.toReal x)) fun atan x = SMLSharp.Real32.fromReal (Math.atan (SMLSharp.Real32.toReal x)) fun atan2 (x, y) = SMLSharp.Real32.fromReal (Math.atan2 (SMLSharp.Real32.toReal x, SMLSharp.Real32.toReal y)) fun exp x = SMLSharp.Real32.fromReal (Math.exp (SMLSharp.Real32.toReal x)) fun pow (x, y) = SMLSharp.Real32.fromReal (Math.pow (SMLSharp.Real32.toReal x, SMLSharp.Real32.toReal y)) fun ln x = SMLSharp.Real32.fromReal (Math.ln (SMLSharp.Real32.toReal x)) fun log10 x = SMLSharp.Real32.fromReal (Math.log10 (SMLSharp.Real32.toReal x)) fun sinh x = SMLSharp.Real32.fromReal (Math.sinh (SMLSharp.Real32.toReal x)) fun cosh x = SMLSharp.Real32.fromReal (Math.cosh (SMLSharp.Real32.toReal x)) fun tanh x = SMLSharp.Real32.fromReal (Math.tanh (SMLSharp.Real32.toReal x)) end (* Math32 *) in structure Real32 : sig type real = SMLSharp.Real32.real structure Math : MATH where type real = real val radix : int val precision : int val maxFinite : real val minPos : real val minNormalPos : real val posInf : real val negInf : real val + : real * real -> real val - : real * real -> real val * : real * real -> real val / : real * real -> real val rem : real * real -> real val *+ : real * real * real -> real val *- : real * real * real -> real val ~ : real -> real val abs : real -> real val min : real * real -> real val max : real * real -> real val sign : real -> int val signBit : real -> bool val sameSign : real * real -> bool val copySign : real * real -> real val compare : real * real -> order val compareReal : real * real -> IEEEReal.real_order val < : real * real -> bool val <= : real * real -> bool val > : real * real -> bool val >= : real * real -> bool val == : real * real -> bool val != : real * real -> bool val ?= : real * real -> bool val unordered : real * real -> bool val isFinite : real -> bool val isNan : real -> bool val isNormal : real -> bool val class : real -> IEEEReal.float_class val toManExp : real -> {man : real, exp : int} val fromManExp : {man : real, exp : int} -> real val split : real -> {whole : real, frac : real} val realMod : real -> real val nextAfter : real * real -> real val checkFloat : real -> real val realFloor : real -> real val realCeil : real -> real val realTrunc : real -> real val realRound : real -> real val floor : real -> int val ceil : real -> int val trunc : real -> int val round : real -> int val toInt : IEEEReal.rounding_mode -> real -> int val toLargeInt : IEEEReal.rounding_mode -> real -> LargeInt.int val fromInt : int -> real val fromLargeInt : LargeInt.int -> real val toLarge : real -> LargeReal.real val fromLarge : IEEEReal.rounding_mode -> LargeReal.real -> real val fmt : StringCvt.realfmt -> real -> string val toString : real -> string val scan : (char, 'a) StringCvt.reader -> (real, 'a) StringCvt.reader val fromString : string -> real option val toDecimal : real -> IEEEReal.decimal_approx val fromDecimal : IEEEReal.decimal_approx -> real option end = struct type real = SMLSharp.Real32.real structure Math = Math32 val radix = Real32Const.radix val precision = Real32Const.precision val maxFinite = Real32Const.maxFinite val minPos = Real32Const.minPos val minNormalPos = Real32Const.minNormalPos val posInf = Real32Const.posInf val negInf = Real32Const.negInf val op + = SMLSharp.Real32.add val op - = SMLSharp.Real32.sub val op * = SMLSharp.Real32.mul val op / = SMLSharp.Real32.div val rem = SMLSharp.Real32.rem fun *+ (r1, r2, r3) = r1 * r2 + r3 fun *- (r1, r2, r3) = r1 * r2 - r3 val op ~ = SMLSharp.Real32.neg val abs = SMLSharp.Real32.abs fun sign x = RealClass.sign (RealClass.classFloat x) fun signBit x = RealClass.signBit (RealClass.classFloat x) fun sameSign (x, y) = signBit x = signBit y val copySign = _import "copysignf" : __attribute__((pure,no_callback)) (real, real) -> real fun compareReal (x, y) = if SMLSharp.Real32.lt (x, y) then IEEEReal.LESS else if SMLSharp.Real32.gt (x, y) then IEEEReal.GREATER else if SMLSharp.Real32.equal (x, y) then IEEEReal.EQUAL else IEEEReal.UNORDERED fun compare (x, y) = case compareReal (x, y) of IEEEReal.UNORDERED => raise IEEEReal.Unordered | IEEEReal.LESS => LESS | IEEEReal.EQUAL => EQUAL | IEEEReal.GREATER => GREATER val op < = SMLSharp.Real32.lt val op <= = SMLSharp.Real32.lteq val op > = SMLSharp.Real32.gt val op >= = SMLSharp.Real32.gteq val == = SMLSharp.Real32.equal fun != x = if == x then false else true val ?= = SMLSharp.Real32.unorderedOrEqual fun isFinite x = RealClass.isFinite (RealClass.classFloat x) fun isNan x = RealClass.isNan (RealClass.classFloat x) fun unordered (x, y) = isNan x orelse isNan y fun isNormal x = RealClass.isNormal (RealClass.classFloat x) fun class x = RealClass.class (RealClass.classFloat x) fun min (x, y) = if SMLSharp.Real32.lteq (x, y) then x else if isNan x then y else x fun max (x, y) = if SMLSharp.Real32.gteq (x, y) then x else if isNan x then y else x local val frexpf = _import "frexpf" : __attribute__((pure,no_callback)) (real, int ref) -> real val ldexpf = _import "ldexpf" : __attribute__((pure,no_callback)) (real, int) -> real val modff = _import "modff" : __attribute__((pure,no_callback)) (real, real ref) -> real in fun toManExp x = let val exp = ref 0 val man = frexpf (x, exp) in {man = man, exp = !exp} end fun fromManExp {man, exp} = ldexpf (man, exp) fun split x = let val intg = ref 0.0 val frac = modff (x, intg) in {whole = !intg, frac = frac} end end fun realMod x = #frac (split x) val nextAfter = _import "nextafterf" : __attribute__((pure,no_callback)) (real, real) -> real fun checkFloat x = case class x of IEEEReal.INF => raise Overflow | IEEEReal.NAN => raise Div (* Domain? This is a bug of Basis spec? *) | _ => x val realFloor = _import "floorf" : __attribute__((pure,no_callback)) real -> real val realCeil = _import "ceilf" : __attribute__((pure,no_callback)) real -> real val realRound = _import "roundf" : __attribute__((pure,no_callback)) real -> real val realTrunc = _import "truncf" : __attribute__((pure,no_callback)) real -> real fun floor x = if isNan x then raise Domain else SMLSharp.Real32.trunc_unsafe (realFloor x) fun ceil x = if isNan x then raise Domain else SMLSharp.Real32.trunc_unsafe (realCeil x) fun trunc x = if isNan x then raise Domain else SMLSharp.Real32.trunc_unsafe x fun round x = if isNan x then raise Domain else SMLSharp.Real32.trunc_unsafe (realTrunc x) fun toInt mode x = case mode of IEEEReal.TO_NEGINF => floor x | IEEEReal.TO_POSINF => ceil x | IEEEReal.TO_ZERO => trunc x | IEEEReal.TO_NEAREST => round x fun toLargeInt mode x = Real.toLargeInt mode (SMLSharp.Real32.toReal x) val fromInt = SMLSharp.Real32.fromInt fun fromLargeInt x = SMLSharp.Real32.fromReal (Real.fromLargeInt x) val toLarge = SMLSharp.Real32.toReal fun fromLarge (mode:IEEEReal.rounding_mode) (x:LargeReal.real) : real = raise Fail "FIXME: Real32.fromLarge: not implemented yet" fun fmt format x = Real.fmt format (SMLSharp.Real32.toReal x) fun toString x = Real.toString (SMLSharp.Real32.toReal x) fun scan getc strm = case Real.scan getc strm of NONE => NONE | SOME (x, strm) => SOME (SMLSharp.Real32.fromReal x, strm) fun fromString s = StringCvt.scanString scan s fun toDecimal x = Real.toDecimal (SMLSharp.Real32.toReal x) fun fromDecimal x = case Real.fromDecimal x of NONE => NONE | SOME x => SOME (SMLSharp.Real32.fromReal x) end (* Real32 *) end (* local *) smlsharp-1.2.0/src/basis/main/RealClass.smi0000644 000000000000000000000057212050661606020706 0ustar00rootroot0000000 0000000 _require "IEEEReal.smi" structure RealClass = struct type class (= int) val classReal : real -> class val classFloat : SMLSharp.Real32.real -> class val class : class -> IEEEReal.float_class val isFinite : class -> bool val isInf : class -> bool val isNan : class -> bool val isNormal : class -> bool val sign : class -> int val signBit : class -> bool end smlsharp-1.2.0/src/basis/main/RealClass.sml0000644 000000000000000000000432512050661606020711 0ustar00rootroot0000000 0000000 _interface "RealClass.smi" structure RealClass :> sig type class val classReal : real -> class val classFloat : SMLSharp.Real32.real -> class val class : class -> IEEEReal.float_class val isFinite : class -> bool val isInf : class -> bool val isNan : class -> bool val isNormal : class -> bool val sign : class -> int val signBit : class -> bool end = struct local infix 7 * / div mod infix 6 + - infixr 5 :: infix 4 = <> > >= < <= val op < = SMLSharp.Int.lt val op > = SMLSharp.Int.gt val op <= = SMLSharp.Int.lteq val op >= = SMLSharp.Int.gteq in (* * Following constants are defined in nativeruntime/prim.c. * * #define IEEEREAL_CLASS_SNAN 1 /* signaling NaN */ * #define IEEEREAL_CLASS_QNAN 2 /* quiet NaN */ * #define IEEEREAL_CLASS_INF 3 /* infinity */ * #define IEEEREAL_CLASS_DENORM 4 /* denormal */ * #define IEEEREAL_CLASS_ZERO 5 /* zero */ * #define IEEEREAL_CLASS_NORM 6 /* normal */ * #define IEEEREAL_CLASS_UNKNOWN 0 * * sign of class integer means sign bit information. *) type class = int val classReal = _import "prim_Real_class" : __attribute__((pure,no_callback)) real -> class val classFloat = _import "prim_Float_class" : __attribute__((pure,no_callback)) SMLSharp.Real32.real -> class fun class c = case SMLSharp.Int.abs c of 1 => IEEEReal.NAN | 2 => IEEEReal.NAN | 3 => IEEEReal.INF | 4 => IEEEReal.SUBNORMAL | 5 => IEEEReal.ZERO | 6 => IEEEReal.NORMAL | _ => raise Fail "BUG: RealClass.toIEEERealClass" fun isFinite class = class >= 4 orelse class <= ~4 (* denormal, zero, or normal *) fun isInf class = class = 3 orelse class = ~3 (* infinity *) fun isNan class = ~2 <= class andalso class < 2 (* SNaN or QNaN *) fun isNormal class = class = 6 orelse class = ~6 (* isNormal *) fun sign class = if isNan class then raise Domain else if class = 5 then 0 (* zero *) else if class < 0 then ~1 else 1 fun signBit class = class < 0 end end smlsharp-1.2.0/src/basis/main/SMLSharpOSFileSys.smi0000644 000000000000000000000361512050661606022230 0ustar00rootroot0000000 0000000 _require "SMLSharpRuntime.smi" _require "Time.smi" _require "Int.smi" _require "IntInf.smi" _require "Word.smi" _require "Word8Vector.smi" _require "Word8VectorSlice.smi" _require "Word8Array.smi" _require "Byte.smi" structure SMLSharpOSFileSys = struct type file_desc = int datatype iodesc = IODesc of file_desc type dirstream (= boxed) val opendir : string -> dirstream val readdir : dirstream -> string option val rewinddir : dirstream -> unit val closedir : dirstream -> unit val chdir : string -> unit val getcwd : unit -> string val mkdir : string * int -> unit val rmdir : string -> unit val readlink : string -> string type stat (= boxed) val stat : string -> stat val lstat : string -> stat val fstat : file_desc -> stat structure ST = struct val isDir : stat -> bool val isLink : stat -> bool val isReg : stat -> bool val isChr : stat -> bool val isBlk : stat -> bool val isFIFO : stat -> bool val isSock : stat -> bool val size : stat -> Position.int val mtime : stat -> Time.time val ino : stat -> word val dev : stat -> word end val utime : string * {actime: Time.time, modtime: Time.time} option -> unit val unlink : string -> unit val rename : {old: string, new: string} -> unit datatype access_mode = A_READ | A_WRITE | A_EXEC val access : string * access_mode list -> bool val tmpName : unit -> string val stdin : file_desc val stdout : file_desc val stderr : file_desc type whence (= int) val SEEK_SET : whence val SEEK_CUR : whence val close : file_desc -> unit val openf : string * string -> file_desc val lseek : file_desc * Position.int * whence -> Position.int val readVec : file_desc * int -> Word8Vector.vector val readArr : file_desc * Word8ArraySlice.slice -> int val writeVec : file_desc * Word8VectorSlice.slice -> int val writeArr : file_desc * Word8ArraySlice.slice -> int end smlsharp-1.2.0/src/basis/main/SMLSharpOSFileSys.sml0000644 000000000000000000003110712050661606022230 0ustar00rootroot0000000 0000000 (** * utilities for OS_FileSys structure. * @author AT&T Bell Laboratories. * @author YAMATODANI Kiyoshi * @version $Id: OS_FileSys.sml,v 1.7 2007/07/06 14:39:04 kiyoshiy Exp $ *) _interface "SMLSharpOSFileSys.smi" structure SMLSharpOSFileSys :> sig type file_desc = int datatype iodesc = IODesc of file_desc type dirstream val opendir : string -> dirstream val readdir : dirstream -> string option val rewinddir : dirstream -> unit val closedir : dirstream -> unit val chdir : string -> unit val getcwd : unit -> string val mkdir : string * int -> unit val rmdir : string -> unit val readlink : string -> string type stat val stat : string -> stat val lstat : string -> stat val fstat : file_desc -> stat structure ST : sig val isDir : stat -> bool val isLink : stat -> bool val isReg : stat -> bool val isChr : stat -> bool val isBlk : stat -> bool val isFIFO : stat -> bool val isSock : stat -> bool val size : stat -> Position.int val mtime : stat -> Time.time val ino : stat -> word val dev : stat -> word end val utime : string * {actime: Time.time, modtime: Time.time} option -> unit val unlink : string -> unit val rename : {old: string, new: string} -> unit datatype access_mode = A_READ | A_WRITE | A_EXEC val access : string * access_mode list -> bool val tmpName : unit -> string val stdin : file_desc val stdout : file_desc val stderr : file_desc type whence val SEEK_SET : whence val SEEK_CUR : whence val close : file_desc -> unit val openf : string * string -> file_desc val lseek : file_desc * Position.int * whence -> Position.int val readVec : file_desc * int -> Word8Vector.vector val readArr : file_desc * Word8ArraySlice.slice -> int val writeVec : file_desc * Word8VectorSlice.slice -> int val writeArr : file_desc * Word8ArraySlice.slice -> int end = struct infixr 5 :: infix 4 < = infix 3 := val op < = SMLSharp.Int.lt val prim_opendir = _import "prim_GenericOS_opendir" : __attribute__((no_callback)) string -> unit ptr val prim_readdir = _import "prim_GenericOS_readdir" : __attribute__((no_callback,alloc)) unit ptr -> char ptr val prim_rewinddir = _import "prim_GenericOS_rewinddir" : __attribute__((no_callback)) unit ptr -> unit val prim_closedir = _import "prim_GenericOS_closedir" : __attribute__((no_callback)) unit ptr -> int type file_desc = int datatype iodesc = IODesc of file_desc type dirstream = {dirHandle : unit ptr, isOpen : bool ref} fun opendir dirname = let val dirHandle = prim_opendir dirname in if dirHandle = _NULL then raise SMLSharpRuntime.OS_SysErr () else {dirHandle = dirHandle, isOpen = ref true} end fun readdir {dirHandle, isOpen = ref true} = SMLSharpRuntime.str_new_option (prim_readdir dirHandle) | readdir _ = raise SMLSharpRuntime.SysErr ("readdir on closed dirstream", NONE) fun rewinddir {dirHandle, isOpen = ref true} = prim_rewinddir dirHandle | rewinddir _ = raise SMLSharpRuntime.SysErr ("rewinddir on closed dirstream", NONE) fun closedir {dirHandle, isOpen as ref true} = (prim_closedir dirHandle; isOpen := false) | closedir _ = () val prim_chdir = _import "prim_GenericOS_chdir" : __attribute__((no_callback)) string -> int val prim_getcwd = _import "prim_GenericOS_getcwd" : __attribute__((no_callback,alloc)) () -> char ptr val prim_mkdir = _import "prim_GenericOS_mkdir" : __attribute__((no_callback)) (string, int) -> int val prim_rmdir = _import "rmdir" : __attribute__((no_callback)) string -> int fun chdir dirname = if prim_chdir dirname < 0 then raise SMLSharpRuntime.OS_SysErr () else () fun getcwd () = let val ret = prim_getcwd () in case SMLSharpRuntime.str_new_option ret of NONE => (SMLSharpRuntime.free ret; raise SMLSharpRuntime.OS_SysErr ()) | SOME s => (SMLSharpRuntime.free (SMLSharp.Pointer.toUnitPtr ret); s) end fun mkdir (dirname, mode) = if prim_mkdir (dirname, mode) < 0 then raise SMLSharpRuntime.OS_SysErr () else () fun rmdir dirname = if prim_rmdir dirname < 0 then raise SMLSharpRuntime.OS_SysErr () else () val prim_stat = _import "prim_GenericOS_stat" : __attribute__((no_callback)) (string, word array) -> int val ya_GenericOS_fstat = _import "prim_GenericOS_fstat" : __attribute__((no_callback)) (int, word array) -> int val S_IFMT = 0wxf000 : word val S_IFIFO = 0wx1000 : word val S_IFCHR = 0wx2000 : word val S_IFDIR = 0wx4000 : word val S_IFBLK = 0wx6000 : word val S_IFREG = 0wx8000 : word val S_IFLNK = 0wxa000 : word val S_IFSOCK = 0wxc000 : word val S_ISUID = 0wx0800 : word val S_ISGID = 0wx0400 : word val S_ISVTX = 0wx0200 : word val S_IRUSR = 0wx0100 : word val S_IWUSR = 0wx0080 : word val S_IXUSR = 0wx0040 : word type stat = {dev: word, ino: word, mode: word, atime: word, mtime: word, size: word} fun toStat ary = {dev = SMLSharp.PrimArray.sub (ary, 0), ino = SMLSharp.PrimArray.sub (ary, 1), mode = SMLSharp.PrimArray.sub (ary, 2), atime = SMLSharp.PrimArray.sub (ary, 3), mtime = SMLSharp.PrimArray.sub (ary, 4), size = SMLSharp.PrimArray.sub (ary, 5)} : stat fun stat filename = let val ary = SMLSharp.PrimArray.allocArray 6 val err = prim_stat (filename, ary) in if err < 0 then raise SMLSharpRuntime.OS_SysErr () else (); toStat ary end fun fstat fd = let val ary = SMLSharp.PrimArray.allocArray 6 val err = ya_GenericOS_fstat (fd, ary) in if err < 0 then raise SMLSharpRuntime.OS_SysErr () else (); toStat ary end (* FIXME *) val lstat = stat structure ST = struct fun isDir ({mode,...}:stat) = SMLSharp.Word.andb (mode, S_IFMT) = S_IFDIR fun isLink ({mode,...}:stat) = SMLSharp.Word.andb (mode, S_IFMT) = S_IFLNK fun isReg ({mode,...}:stat) = SMLSharp.Word.andb (mode, S_IFMT) = S_IFREG fun isChr ({mode,...}:stat) = SMLSharp.Word.andb (mode, S_IFMT) = S_IFCHR fun isBlk ({mode,...}:stat) = SMLSharp.Word.andb (mode, S_IFMT) = S_IFBLK fun isFIFO ({mode,...}:stat) = SMLSharp.Word.andb (mode, S_IFMT) = S_IFIFO fun isSock ({mode,...}:stat) = SMLSharp.Word.andb (mode, S_IFMT) = S_IFSOCK fun size ({size,...}:stat) = Position.fromInt (SMLSharp.Word.toIntX size) fun mtime ({mtime,...}:stat) = Time.fromSeconds (LargeInt.fromInt (SMLSharp.Word.toIntX mtime)) fun dev ({dev,...}:stat) = dev fun ino ({ino,...}:stat) = ino end fun statWithTest filename = SOME (stat filename) handle e as SMLSharpRuntime.SysErr (_, err) => case err of NONE => raise e | SOME _ => if err = SMLSharpRuntime.syserror "noent" then NONE else if err = SMLSharpRuntime.syserror "perm" then NONE else raise e datatype access_mode = A_READ | A_WRITE | A_EXEC fun access (filename, modes : access_mode list) = case statWithTest filename of NONE => false | SOME {mode,...} => let fun loop (nil, z) = z | loop (h::t, z) = let val h = case h of A_READ => S_IRUSR | A_WRITE => S_IWUSR | A_EXEC => S_IXUSR in loop (t, SMLSharp.Word.orb (h, z)) end val mask = loop (modes, 0w0) in SMLSharp.Word.andb (mode, mask) = mask end val prim_utime = _import "prim_GenericOS_utime" : __attribute__((no_callback)) (string, word, word) -> int fun utime (filename, timeOpt) = let val (atime, mtime) = case timeOpt of SOME {actime, modtime} => (actime, modtime) | NONE => let val now = Time.now () in (now, now) end fun timeToWord t = SMLSharp.Word.fromInt (LargeInt.toInt (Time.toSeconds t)) val err = prim_utime (filename, timeToWord atime, timeToWord mtime) in if err < 0 then raise SMLSharpRuntime.OS_SysErr () else () end val prim_readlink = _import "prim_GenericOS_readlink" : __attribute__((no_callback,alloc)) string -> string fun readlink filename = let val ret = prim_readlink filename in if SMLSharp.identityEqual (SMLSharp.PrimString.toBoxed ret, _NULL) then raise SMLSharpRuntime.OS_SysErr () else ret end val prim_remove = _import "remove" : __attribute__((no_callback)) string -> int val prim_rename = _import "rename" : __attribute__((no_callback)) (string, string) -> int fun unlink filename = if prim_remove filename < 0 then raise SMLSharpRuntime.OS_SysErr () else () fun rename {old, new} = if prim_rename (old, new) < 0 then raise SMLSharpRuntime.OS_SysErr () else () val prim_tmpName = _import "prim_tmpName" : __attribute__((no_callback,alloc)) () -> string fun tmpName () = case prim_tmpName () of "" => raise SMLSharpRuntime.OS_SysErr () | x => x val stdin = 0 : file_desc val stdout = 1 : file_desc val stderr = 2 : file_desc type whence = int val SEEK_SET = SMLSharpRuntime.cconstInt "SEEK_SET" : whence val SEEK_CUR = SMLSharpRuntime.cconstInt "SEEK_CUR" : whence val prim_close = _import "close" : __attribute__((no_callback)) int -> int val prim_fopen = _import "prim_GenericOS_open" : __attribute__((no_callback)) (string, string) -> int val prim_lseek = _import "prim_GenericOS_lseek" : __attribute__((no_callback)) (int, int, int) -> int fun close fd = if prim_close fd < 0 then raise SMLSharpRuntime.OS_SysErr () else () fun openf (filename, mode) = let val fd = prim_fopen (filename, mode) in if fd < 0 then raise SMLSharpRuntime.OS_SysErr () else fd end fun lseek (fd, pos, whence) = let val ret = prim_lseek (fd, Position.toInt pos, whence) in if ret < 0 then raise SMLSharpRuntime.OS_SysErr () else Position.fromInt ret end val prim_readVec = _import "prim_GenericOS_read" : __attribute__((no_callback)) (int, string, word, word) -> int val prim_readAry = _import "prim_GenericOS_read" : __attribute__((no_callback)) (int, Word8Array.array, word, word) -> int val prim_writeVec = _import "prim_GenericOS_write" : __attribute__((no_callback)) (int, Word8Vector.vector, word, word) -> int val prim_writeAry = _import "prim_GenericOS_write" : __attribute__((no_callback)) (int, Word8Array.array, word, word) -> int fun readVec (fd, len) = if len < 0 then raise Size else let val buf = SMLSharp.PrimString.allocArray len val n = prim_readVec (fd, buf, 0w0, Word.fromInt len) in if n < 0 then raise SMLSharpRuntime.OS_SysErr () else let val ret = SMLSharp.PrimString.allocVector n in SMLSharp.PrimString.copy_unsafe (buf, 0, ret, 0, n); Byte.stringToBytes ret end end fun readArr (fd, slice) = let val (buf, beg, len) = Word8ArraySlice.base slice val n = prim_readAry (fd, buf, Word.fromInt beg, Word.fromInt len) in if n < 0 then raise SMLSharpRuntime.OS_SysErr () else n end fun writeVec (fd, slice) = let val (buf, beg, len) = Word8VectorSlice.base slice val n = prim_writeVec (fd, buf, SMLSharp.Word.fromInt beg, SMLSharp.Word.fromInt len) in if n < 0 then raise SMLSharpRuntime.OS_SysErr () else n end fun writeArr (fd, slice) = let val (buf, beg, len) = Word8ArraySlice.base slice val n = prim_writeAry (fd, buf, SMLSharp.Word.fromInt beg, SMLSharp.Word.fromInt len) in if n < 0 then raise SMLSharpRuntime.OS_SysErr () else n end end smlsharp-1.2.0/src/basis/main/SMLSharpOSProcess.smi0000644 000000000000000000000101112050661606022254 0ustar00rootroot0000000 0000000 _require "../../smlnj/Basis/NJ/cleanup.smi" _require "Int.smi" _require "IntInf.smi" _require "Word.smi" _require "SMLSharpRuntime.smi" _require "Time.smi" _require "OS_PROCESS.sig" structure SMLSharpOSProcess = struct type status = int val success : status val failure : status val isSuccess : status -> bool val system : string -> status val atExit : (unit -> unit) -> unit val exit : status -> 'a val terminate : status -> 'a val getEnv : string -> string option val sleep : Time.time -> unit end smlsharp-1.2.0/src/basis/main/SMLSharpOSProcess.sml0000644 000000000000000000000431012050661606022264 0ustar00rootroot0000000 0000000 (** * Integer related structures. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * @copyright 2010, 2011, Tohoku University. *) _interface "SMLSharpOSProcess.smi" structure SMLSharpOSProcess : OS_PROCESS = struct infix 7 * / div mod infix 6 + - infixr 5 :: infix 4 = <> > >= < <= infix 3 := val prim_exit = _import "prim_GenericOS_exit" : __attribute__((no_callback)) int -> unit val prim_getenv = _import "getenv" : __attribute__((no_callback)) string -> char ptr val prim_sleep = _import "sleep" : __attribute__((no_callback)) word -> word val prim_system = _import "system" : __attribute__((no_callback)) string -> int type status = int val success = 0 : status val failure = 1 : status fun isSuccess x = x = success fun system cmd = let val status = prim_system cmd in if SMLSharp.Int.lt (status, 0) then raise SMLSharpRuntime.OS_SysErr () else status end datatype atExitState = EXIT of exn | ATEXIT of (unit -> unit) list val atExitStateRef = ref (ATEXIT nil) fun atExit finalizer = case atExitStateRef of ref (EXIT _) => () | ref (ATEXIT finalizers) => atExitStateRef := ATEXIT (finalizer::finalizers) fun exit status = case atExitStateRef of ref (EXIT exn) => raise exn | ref (ATEXIT finalizers) => let exception Exit val _ = atExitStateRef := EXIT Exit fun loop nil = () | loop (h::t) = (h () handle _ => (); loop t) in (* ToDo : flushes and close all I/O streams opened using the * Library. *) loop finalizers; SMLSharpSMLNJ_CleanUp.clean SMLSharpSMLNJ_CleanUp.AtExit; prim_exit status; raise Fail "OS.Process.exit" end fun terminate status = (prim_exit status; raise Fail "OS.Process.terminate") fun getEnv name = SMLSharpRuntime.str_new_option (prim_getenv name) fun sleep time = let val seconds = Time.toSeconds time in if SMLSharp.Int.lteq (LargeInt.sign seconds, 0) then () else (prim_sleep (Word.fromLargeInt seconds); ()) end end smlsharp-1.2.0/src/basis/main/SMLSharpRuntime.smi0000644 000000000000000000000066212050661606022032 0ustar00rootroot0000000 0000000 structure SMLSharpRuntime = struct eqtype syserror (= int) exception SysErr of string * syserror option val cconstInt : string -> int val str_new : char ptr -> string val str_new_option : char ptr -> string option val errno : unit -> syserror val errorMsg : syserror -> string val errorName : syserror -> string val syserror : string -> syserror option val OS_SysErr : unit -> exn val free : 'a ptr -> unit end smlsharp-1.2.0/src/basis/main/SMLSharpRuntime.sml0000644 000000000000000000000346612050661606022042 0ustar00rootroot0000000 0000000 (** * SMLSharpRuntime structure. * @author UENO Katsuhiro * @copyright 2011, Tohoku University. *) _interface "SMLSharpRuntime.smi" structure SMLSharpRuntime :> sig eqtype syserror exception SysErr of string * syserror option val cconstInt : string -> int val str_new : char ptr -> string val str_new_option : char ptr -> string option val errno : unit -> syserror val errorMsg : syserror -> string val errorName : syserror -> string val syserror : string -> syserror option val OS_SysErr : unit -> exn val free : 'a ptr -> unit end = struct infix 4 < = val op < = SMLSharp.Int.lt val cconstInt = _import "prim_cconst_int" : __attribute__((pure,no_callback)) string -> int val free = _import "free" : __attribute__((no_callback)) 'a ptr -> unit val str_new = _import "sml_str_new" : __attribute__((no_callback,alloc)) char ptr -> string val errno = _import "prim_StandardC_errno" : __attribute__((no_callback)) () -> int val prim_syserror = _import "prim_GenericOS_syserror" : __attribute__((pure,no_callback)) string -> int val strerror = _import "strerror" : __attribute__((no_callback)) int -> char ptr val errorName = _import "prim_GenericOS_errorName" : __attribute__((pure,no_callback,alloc)) int -> string type syserror = int exception SysErr of string * syserror option fun syserror errname = let val err = prim_syserror errname in if err < 0 then NONE else SOME err end fun errorMsg err = str_new (strerror err) fun str_new_option ptr = if SMLSharp.Pointer.toUnitPtr ptr = _NULL then NONE else SOME (str_new ptr) fun OS_SysErr () = let val err = errno () in SysErr (errorMsg err, SOME err) end end smlsharp-1.2.0/src/basis/main/SMLSharpScanChar.smi0000644 000000000000000000000305112050661606022064 0ustar00rootroot0000000 0000000 _require "StringCvt.smi" _require "List.smi" structure SMLSharpScanChar = struct val scanDigit : (char, 's) StringCvt.reader -> (int, 's) StringCvt.reader val scanOctDigit : (char, 's) StringCvt.reader -> (int, 's) StringCvt.reader val scanHexDigit : (char, 's) StringCvt.reader -> (int, 's) StringCvt.reader val skipSpaces : (char, 's) StringCvt.reader -> 's -> 's val scanSpaces : (char, 's) StringCvt.reader -> (unit, 's) StringCvt.reader val scanEscapeSpaces : (char, 's) StringCvt.reader -> (unit, 's) StringCvt.reader val scanChar : (char, 's) StringCvt.reader -> (char, 's) StringCvt.reader val scanCChar : (char, 's) StringCvt.reader -> (char, 's) StringCvt.reader val scanRepeat0 : ((char, 's) StringCvt.reader -> ('a, 's) StringCvt.reader) -> (char, 's) StringCvt.reader -> 's -> 'a list * 's val scanRepeat1 : ((char,'s) StringCvt.reader -> ('a, 's) StringCvt.reader) -> (char,'s) StringCvt.reader -> ('a list, 's) StringCvt.reader val scanInt : StringCvt.radix -> (char, 's) StringCvt.reader -> ({neg:bool, radix:int, digits:int list}, 's) StringCvt.reader val scanWord : StringCvt.radix -> (char, 's) StringCvt.reader -> ({radix:int, digits:int list}, 's) StringCvt.reader val radixToInt : StringCvt.radix -> int val intToDigit : int -> char val fmtInt : (int -> (int, 's) StringCvt.reader) -> StringCvt.radix -> 's -> char list end smlsharp-1.2.0/src/basis/main/SMLSharpScanChar.sml0000644 000000000000000000003051612050661606022075 0ustar00rootroot0000000 0000000 (** * SMLSharpPreBasis structure. * @author UENO Katsuhiro * @copyright 2011, Tohoku University. *) _interface "SMLSharpScanChar.smi" structure SMLSharpScanChar : sig val scanDigit : (char, 's) StringCvt.reader -> (int, 's) StringCvt.reader val scanOctDigit : (char, 's) StringCvt.reader -> (int, 's) StringCvt.reader val scanHexDigit : (char, 's) StringCvt.reader -> (int, 's) StringCvt.reader val scanBinDigit : (char, 's) StringCvt.reader -> (int, 's) StringCvt.reader val skipSpaces : (char, 's) StringCvt.reader -> 's -> 's val scanSpaces : (char, 's) StringCvt.reader -> (unit, 's) StringCvt.reader val scanEscapeSpaces : (char, 's) StringCvt.reader -> (unit, 's) StringCvt.reader val scanChar : (char, 's) StringCvt.reader -> (char, 's) StringCvt.reader val scanCChar : (char, 's) StringCvt.reader -> (char, 's) StringCvt.reader val scanRepeat0 : ((char, 's) StringCvt.reader -> ('a, 's) StringCvt.reader) -> (char, 's) StringCvt.reader -> 's -> 'a list * 's val scanRepeat1 : ((char, 's) StringCvt.reader -> ('a, 's) StringCvt.reader) -> (char, 's) StringCvt.reader -> ('a list, 's) StringCvt.reader val scanInt : StringCvt.radix -> (char, 's) StringCvt.reader -> ({neg:bool, radix:int, digits:int list}, 's) StringCvt.reader val scanWord : StringCvt.radix -> (char, 's) StringCvt.reader -> ({radix:int, digits:int list}, 's) StringCvt.reader val radixToInt : StringCvt.radix -> int val intToDigit : int -> char val fmtInt : (int -> (int, 's) StringCvt.reader) -> StringCvt.radix -> 's -> char list end = struct infix 7 * / div mod infix 6 + - infix 4 = <> > >= < <= val op + = SMLSharp.Int.add val op - = SMLSharp.Int.sub val op * = SMLSharp.Int.mul val op < = SMLSharp.Int.lt val op <= = SMLSharp.Char.lteq val ord = SMLSharp.Char.ord val chr_unsafe = SMLSharp.Char.chr_unsafe fun 's scanDigit (getc:(char, 's) StringCvt.reader) strm = case getc strm of NONE => NONE | SOME (c, strm) => if #"0" <= c andalso c <= #"9" then SOME (ord c - 0x30, strm) else NONE fun 's scanOctDigit (getc:(char, 's) StringCvt.reader) strm = case getc strm of NONE => NONE | SOME (c, strm) => if #"0" <= c andalso c <= #"8" then SOME (ord c - 0x30, strm) else NONE fun 's scanHexDigit (getc:(char, 's) StringCvt.reader) strm = case getc strm of NONE => NONE | SOME (c, strm) => if #"0" <= c andalso c <= #"9" then SOME (ord c - 0x30, strm) else if #"A" <= c andalso c <= #"F" then SOME (ord c - 0x41 + 10, strm) else if #"a" <= c andalso c <= #"f" then SOME (ord c - 0x61 + 10, strm) else NONE fun 's scanBinDigit (getc:(char, 's) StringCvt.reader) strm = case getc strm of NONE => NONE | SOME (#"0", strm) => SOME (0, strm) | SOME (#"1", strm) => SOME (1, strm) | SOME _ => NONE fun scanDec3 getc strm = case scanDigit getc strm of NONE => NONE | SOME (n1, strm) => case scanDigit getc strm of NONE => NONE | SOME (n2, strm) => case scanDigit getc strm of NONE => NONE | SOME (n3, strm) => SOME ((n1 * 10 + n2) * 10 + n3, strm) fun scanHex4 getc strm = case scanHexDigit getc strm of NONE => NONE | SOME (n1, strm) => case scanHexDigit getc strm of NONE => NONE | SOME (n2, strm) => case scanHexDigit getc strm of NONE => NONE | SOME (n3, strm) => case scanHexDigit getc strm of NONE => NONE | SOME (n4, strm) => SOME (((n1 * 16 + n2) * 16 + n3) * 16 + n4, strm) fun skipZero getc strm = case getc strm of SOME (#"0", strm) => skipZero getc strm | _ => strm fun scanControlChar getc strm = case getc strm of SOME (#"a", strm) => SOME (#"\007", strm) | SOME (#"b", strm) => SOME (#"\008", strm) | SOME (#"t", strm) => SOME (#"\009", strm) | SOME (#"n", strm) => SOME (#"\010", strm) | SOME (#"v", strm) => SOME (#"\011", strm) | SOME (#"f", strm) => SOME (#"\012", strm) | SOME (#"r", strm) => SOME (#"\013", strm) | SOME (#"\\", strm) => SOME (#"\\", strm) | SOME (#"\"", strm) => SOME (#"\"", strm) | SOME (#"^", strm) => (case getc strm of NONE => NONE | SOME (c, strm) => if #"\064" <= c orelse c <= #"\095" then SOME (chr_unsafe (ord c - 64), strm) else NONE) | _ => NONE fun isSpace c = (#"\t" <= c andalso c <= #"\r") orelse c = #" " fun skipSpaces getc strm = case getc strm of NONE => strm | SOME (c, strm') => if isSpace c then skipSpaces getc strm' else strm fun scanSpaces getc strm = case getc strm of NONE => NONE | SOME (c, strm) => if isSpace c then SOME ((), skipSpaces getc strm) else NONE fun scanEscapeSpaces getc strm = case getc strm of SOME (#"\\", strm) => (case scanSpaces getc strm of NONE => NONE | SOME ((), strm) => case getc strm of SOME (#"\\", strm) => SOME ((), strm) | _ => NONE) | _ => NONE fun scanChar getc strm = case getc strm of NONE => NONE | SOME (#"\\", strm) => ( case scanControlChar getc strm of SOME (c, strm) => SOME (c, strm) | NONE => case getc strm of NONE => NONE | SOME (#"u", strm) => ( case scanHex4 getc strm of NONE => NONE | SOME (n, strm) => if n < 0 orelse 255 < n then NONE else SOME (chr_unsafe n, strm) ) | SOME (c, strm') => ( case scanDec3 getc strm of SOME (n, strm) => SOME (chr_unsafe n, strm) | NONE => case scanSpaces getc strm of NONE => NONE | SOME ((), strm) => case getc strm of SOME (#"\\", strm) => scanChar getc strm | _ => NONE ) ) | SOME (c, strm) => if #"\032" <= c andalso c <= #"\126" then SOME (c, strm) else NONE fun scanCChar getc strm = case getc strm of NONE => NONE | SOME (#"\\", strm) => ( case scanControlChar getc strm of SOME (c, strm) => SOME (c, strm) | NONE => case getc strm of NONE => NONE | SOME (#"?", strm) => SOME (#"?", strm) | SOME (#"'", strm) => SOME (#"'", strm) | SOME (#"x", strm) => let val (zero, strm) = case getc strm of SOME (#"0", strm) => (true, skipZero getc strm) | _ => (false, strm) in case scanHexDigit getc strm of NONE => if zero then SOME (#"\000", strm) else NONE | SOME (n1, strm) => case scanHexDigit getc strm of NONE => SOME (chr_unsafe n1, strm) | SOME (n2, strm) => case scanHexDigit getc strm of NONE => SOME (chr_unsafe (n1 * 16 + n2), strm) | SOME _ => NONE end | SOME _ => ( case scanOctDigit getc strm of NONE => NONE | SOME (n1, strm) => case scanOctDigit getc strm of NONE => SOME (chr_unsafe n1, strm) | SOME (n2, strm) => case scanOctDigit getc strm of NONE => SOME (chr_unsafe (n1 * 8 + n2), strm) | SOME (n3, strm) => SOME (chr_unsafe ((n1 * 8 + n2) * 8 + n3), strm) ) ) | SOME (c, strm) => if #"\032" <= c andalso c <= #"\126" then SOME (c, strm) else NONE fun ('a, 'b) scanRepeat0 (scan : ((char, 'a) StringCvt.reader -> ('b, 'a) StringCvt.reader)) (getc : (char,'a) StringCvt.reader) strm = let fun loop (z, strm) = case scan getc strm of NONE => (rev z, strm) | SOME (c, strm:'a) => loop (c::z, strm) in loop (nil, strm) end fun ('a, 'b) scanRepeat1 (scan : ((char, 'a) StringCvt.reader -> ('b, 'a) StringCvt.reader)) (getc : (char,'a) StringCvt.reader) strm = case scan getc strm of NONE => NONE | SOME (c, strm) => case scanRepeat0 scan getc strm of (t, strm) => SOME (c::t, strm) fun scanDigits radix getc strm = case radix of StringCvt.BIN => ( case scanRepeat1 scanBinDigit getc strm of NONE => NONE | SOME (digits, strm) => SOME ({radix=2, digits=digits}, strm) ) | StringCvt.OCT => ( case scanRepeat1 scanOctDigit getc strm of NONE => NONE | SOME (digits, strm) => SOME ({radix=8, digits=digits}, strm) ) | StringCvt.DEC => ( case scanRepeat1 scanDigit getc strm of NONE => NONE | SOME (digits, strm) => SOME ({radix=10, digits=digits}, strm) ) | StringCvt.HEX => ( case scanRepeat1 scanHexDigit getc strm of NONE => NONE | SOME (digits, strm) => SOME ({radix=16, digits=digits}, strm) ) fun 's scanInt (radix : StringCvt.radix) (getc : (char, 's) StringCvt.reader) strm = let val strm = skipSpaces getc strm val (neg, strm) = case getc strm of SOME (#"+", strm) => (false, strm) | SOME (#"-", strm) => (true, strm) | SOME (#"~", strm) => (true, strm) | _ => (false, strm) val strm = case radix of StringCvt.HEX => (case getc strm of SOME (#"0", strm2) => (case getc strm2 of SOME (#"X", strm) => strm | SOME (#"x", strm) => strm | _ => strm) | _ => strm) | _ => strm in case scanDigits radix getc strm of NONE => NONE | SOME ({radix, digits}, strm) => SOME ({neg = neg, radix = radix, digits = digits}, strm) end fun 's scanWord (radix : StringCvt.radix) (getc : (char, 's) StringCvt.reader) strm = let val strm = skipSpaces getc strm in case getc strm of SOME (#"0", strm2) => let val strm2 = case getc strm2 of SOME (#"w", strm2) => strm2 | SOME (#"W", strm2) => strm2 | _ => strm2 val ret = case radix of StringCvt.HEX => (case getc strm2 of SOME (#"x", strm2) => scanDigits radix getc strm2 | SOME (#"X", strm2) => scanDigits radix getc strm2 | _ => NONE) | _ => scanDigits radix getc strm2 in case ret of SOME _ => ret | NONE => scanDigits radix getc strm end | _ => scanDigits radix getc strm end fun intToDigit n = if n < 0 then #"_" else if n < 10 then chr_unsafe (0x30 + n) else if n < 16 then chr_unsafe (0x41 + (n - 10)) else #"_" fun fmtInt getc radix num = let val radix = case radix of StringCvt.BIN => 2 | StringCvt.OCT => 8 | StringCvt.DEC => 10 | StringCvt.HEX => 16 val getc = getc radix fun loop (num, z) = case getc num of NONE => z | SOME (m, num) => loop (num, intToDigit m :: z) in loop (num, nil) end fun radixToInt radix = case radix of StringCvt.BIN => 2 | StringCvt.OCT => 8 | StringCvt.DEC => 10 | StringCvt.HEX => 16 end smlsharp-1.2.0/src/basis/main/STREAM_IO.sig0000644 000000000000000000000207212050661606020406 0ustar00rootroot0000000 0000000 include "IO.smi" signature STREAM_IO = sig type elem type vector type instream type outstream type out_pos type reader type writer type pos val input : instream -> vector * instream val input1 : instream -> (elem * instream) option val inputN : instream * int -> vector * instream val inputAll : instream -> vector * instream val canInput : instream * int -> int option val closeIn : instream -> unit val endOfStream : instream -> bool val output : outstream * vector -> unit val output1 : outstream * elem -> unit val flushOut : outstream -> unit val closeOut : outstream -> unit val mkInstream : reader * vector -> instream val getReader : instream -> reader * vector val filePosIn : instream -> pos val setBufferMode : outstream * IO.buffer_mode -> unit val getBufferMode : outstream -> IO.buffer_mode val mkOutstream : writer * IO.buffer_mode -> outstream val getWriter : outstream -> writer * IO.buffer_mode val getPosOut : outstream -> out_pos val setPosOut : out_pos -> outstream val filePosOut : out_pos -> pos end smlsharp-1.2.0/src/basis/main/STRING.sig0000644 000000000000000000000245412050661606020036 0ustar00rootroot0000000 0000000 include "General.smi" include "StringCvt.smi" signature STRING = sig eqtype string eqtype char val maxSize : int val size : string -> int val explode : string -> char list val concatWith : string -> string list -> string val isPrefix : string -> string -> bool val isSuffix : string -> string -> bool val isSubstring : string -> string -> bool val translate : (char -> string) -> string -> string val sub : string * int -> char val extract : string * int * int option -> string val substring : string * int * int -> string val ^ : string * string -> string val concat : string list -> string val str : char -> string val implode : char list -> string val map : (char -> char) -> string -> string val tokens : (char -> bool) -> string -> string list val fields : (char -> bool) -> string -> string list val compare : string * string -> order val collate : (char * char -> order) -> string * string -> order val < : string * string -> bool val <= : string * string -> bool val > : string * string -> bool val >= : string * string -> bool val toString : string -> string val scan : (char, 'a) StringCvt.reader -> (string, 'a) StringCvt.reader val fromString : string -> string option val toCString : string -> string val fromCString : string -> string option end smlsharp-1.2.0/src/basis/main/String.smi0000644 000000000000000000000336312050661606020304 0ustar00rootroot0000000 0000000 _require "General.smi" _require "Char.smi" _require "List.smi" _require "SMLSharpScanChar.smi" _require "MONO_ARRAY.sig" _require "MONO_VECTOR.sig" _require "MONO_ARRAY_SLICE.sig" _require "MONO_VECTOR_SLICE.sig" _require "STRING.sig" _require "SUBSTRING.sig" _require "StringBase.smi" _require "CharVectorSlice.smi" structure String = struct type string = string type char = SMLSharp.Char.char val maxSize : int val sub = StringBase.sub val map = StringBase.map val concat = StringBase.concat val size = SMLSharp.PrimString.size val implode = StringBase.fromList val collate = StringBase.collate val extract : string * int * int option -> string val substring : string * int * int -> string val ^ : string * string -> string val concatWith : string -> string list -> string val str : char -> string val explode : string -> char list val translate : (char -> string) -> string -> string val tokens : (char -> bool) -> string -> string list val fields : (char -> bool) -> string -> string list val isPrefix : string -> string -> bool val isSubstring : string -> string -> bool val isSuffix : string -> string -> bool val compare : string * string -> order val < : string * string -> bool val <= : string * string -> bool val > : string * string -> bool val >= : string * string -> bool val toString : string -> string val toCString : string -> string val scan : (char, 'a) StringCvt.reader -> (string, 'a) StringCvt.reader val fromString : string -> string option val fromCString : string -> string option end (* toplevel *) infix 6 ^ val ^ = String.^ val concat = String.concat val explode = String.explode val implode = String.implode val size = String.size val str = String.str val substring = String.substring smlsharp-1.2.0/src/basis/main/String.sml0000644 000000000000000000001141612050661606020305 0ustar00rootroot0000000 0000000 (** * String related structures. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * * @author Atsushi Ohori * @copyright 2010, 2011, Tohoku University. *) _interface "String.smi" structure String : STRING where type string = string where type char = char = struct local infix 7 * / div mod infix 6 + - infixr 5 :: infix 4 = <> > >= < <= val op + = SMLSharp.Int.add val op - = SMLSharp.Int.sub val op > = SMLSharp.Int.gt val op < = SMLSharp.Int.lt val op <= = SMLSharp.Int.lteq val op >= = SMLSharp.Int.gteq val strcmp = _import "strcmp" : (string, string) -> int in type string = string type char = char val maxSize = StringBase.maxLen val sub = StringBase.sub val map = StringBase.map val concat = StringBase.concat val size = SMLSharp.PrimString.size val implode = StringBase.fromList val collate = StringBase.collate fun extract x = CharVectorSlice.vector (CharVectorSlice.slice x) fun substring (str, start, len) = extract (str, start, SOME len) fun op ^ (str1, str2) = let val len1 = SMLSharp.PrimString.size str1 val len2 = SMLSharp.PrimString.size str2 val buf = SMLSharp.PrimString.allocVector (len1 + len2) in SMLSharp.PrimString.copy_unsafe (str1, 0, buf, 0, len1); SMLSharp.PrimString.copy_unsafe (str2, 0, buf, len1, len2); buf end fun concatWith sep nil = "" | concatWith sep [x] = x | concatWith sep strings = StringBase.concatWith sep (List.map (fn str => (str, 0, SMLSharp.PrimString.size str)) strings) fun str c = let val buf = SMLSharp.PrimString.allocVector 1 in SMLSharp.PrimString.update_unsafe (buf, 0, c); buf end fun explode str = StringBase.explode (str, 0, SMLSharp.PrimString.size str) fun translate transFn str = StringBase.translate transFn (str, 0, SMLSharp.PrimString.size str) fun tokens isDelimiter str = let val len = SMLSharp.PrimString.size str fun add (b, e, z) = if b = e then z else StringBase.substring_unsafe (str, b, e - b) :: z fun loop (beg, i, z) = if i >= len then rev (add (beg, i, z)) else if isDelimiter (SMLSharp.PrimString.sub_unsafe (str, i)) then loop (i + 1, i + 1, add (beg, i, z)) else loop (beg, i + 1, z) in loop (0, 0, nil) end fun fields isDelimiter str = let val len = SMLSharp.PrimString.size str fun add (b, e, z) = StringBase.substring_unsafe (str, b, e - b) :: z fun loop (beg, i, z) = if i >= len then rev (add (beg, i, z)) else if isDelimiter (SMLSharp.PrimString.sub_unsafe (str, i)) then loop (i + 1, i + 1, add (beg, i, z)) else loop (beg, i + 1, z) in loop (0, 0, nil) end fun isPrefix prefix str = StringBase.isPrefix prefix (str, 0, SMLSharp.PrimString.size str) fun isSuffix suffix str = StringBase.isSuffix suffix (str, 0, SMLSharp.PrimString.size str) fun isSubstring str1 str2 = StringBase.isSubstring str1 (str2, 0, SMLSharp.PrimString.size str2) fun compare (x, y) = if SMLSharp.identityEqual (SMLSharp.PrimString.toBoxed x, SMLSharp.PrimString.toBoxed y) then EQUAL else case strcmp (x, y) of 0 => EQUAL | n => if n < 0 then LESS else GREATER fun op < (x, y) = SMLSharp.Int.lt (strcmp (x, y), 0) fun op <= (x, y) = SMLSharp.Int.lteq (strcmp (x, y), 0) fun op > (x, y) = SMLSharp.Int.gt (strcmp (x, y), 0) fun op >= (x, y) = SMLSharp.Int.gteq (strcmp (x, y), 0) fun toString s = translate Char.toString s fun toCString s = translate Char.toCString s fun scan getc strm = let val (zero, strm) = case SMLSharpScanChar.scanEscapeSpaces getc strm of NONE => (false, strm) | SOME (_, strm) => (true, strm) in case SMLSharpScanChar.scanRepeat1 SMLSharpScanChar.scanChar getc strm of NONE => if zero then SOME ("", strm) else NONE | SOME (chars, strm) => SOME (implode chars, strm) end fun fromString s = StringCvt.scanString scan s fun fromCString s = let fun scan getc strm = case SMLSharpScanChar.scanRepeat1 SMLSharpScanChar.scanCChar getc strm of NONE => NONE | SOME (chars, strm) => SOME (implode chars, strm) in StringCvt.scanString scan s end end (* String *) end val op ^ = String.^ val concat = String.concat val explode = String.explode val implode = String.implode val size = String.size val str = String.str val substring = String.substring smlsharp-1.2.0/src/basis/main/STRING_CVT.sig0000644 000000000000000000000126712050661606020553 0ustar00rootroot0000000 0000000 signature STRING_CVT = sig datatype radix = BIN | OCT | DEC | HEX datatype realfmt = SCI of int option | FIX of int option | GEN of int option | EXACT type ('a,'b) reader = 'b -> ('a * 'b) option val padLeft : char -> int -> string -> string val padRight : char -> int -> string -> string val splitl : (char -> bool) -> (char, 'a) reader -> 'a -> string * 'a val takel : (char -> bool) -> (char, 'a) reader -> 'a -> string val dropl : (char -> bool) -> (char, 'a) reader -> 'a -> 'a val skipWS : (char, 'a) reader -> 'a -> 'a type cs val scanString : ((char, cs) reader -> ('a, cs) reader) -> string -> 'a option end smlsharp-1.2.0/src/basis/main/StringBase.smi0000644 000000000000000000000147612050661606021102 0ustar00rootroot0000000 0000000 _require "General.smi" _require "Char.smi" _require "List.smi" structure StringBase = struct type substring = string * int * int val maxLen : int val explode : substring -> char list val substring_unsafe : string * int * int -> string val concatWith : string -> substring list -> string val substringIndex : string -> substring -> int option val isPrefix : string -> substring -> bool val isSuffix : string -> substring -> bool val isSubstring : string -> substring -> bool val translate : (char -> string) -> substring -> string val concat : string list -> string val sub : string * int -> char val mapi : (int * char -> char) -> string -> string val map : (char -> char) -> string -> string val collate : (char * char -> order) -> string * string -> order val fromList : char list -> string end smlsharp-1.2.0/src/basis/main/StringBase.sml0000644 000000000000000000001672512050661606021110 0ustar00rootroot0000000 0000000 _interface "StringBase.smi" structure StringBase = struct local infix 7 * / div mod infix 6 + - infixr 5 :: infix 4 = <> > >= < <= val op + = SMLSharp.Int.add val op - = SMLSharp.Int.sub val op > = SMLSharp.Int.gt val op < = SMLSharp.Int.lt val op <= = SMLSharp.Int.lteq val op >= = SMLSharp.Int.gteq infix 6 ++ -- val op ++ = SMLSharp.Word.add val op -- = SMLSharp.Word.sub fun toWord c = SMLSharp.Word.fromInt (SMLSharp.Char.ord c) in type substring = string * int * int (* object size occupies 28 bits of 32-bit object header. *) val maxLen = 0x0fffffff fun explode (str, beg, len) = let fun loop (i, z) = if i < beg then z else loop (i - 1, SMLSharp.PrimString.sub_unsafe (str, i) :: z) in loop (beg + len - 1, nil) end fun substring_unsafe (str, beg, len) = let val buf = SMLSharp.PrimString.allocVector len val _ = SMLSharp.PrimString.copy_unsafe (str, beg, buf, 0, len) in buf end fun concatWith sep [] = "" | concatWith sep [x] = substring_unsafe x | concatWith sep slices = let val sepLen = SMLSharp.PrimString.size sep fun totalLength (nil, z) = z | totalLength ([(_,_,len)], z) = z + len | totalLength ((_,_,len)::t, z) = let val z = z + len + sepLen in if z > maxLen then raise Size else totalLength (t, z) end val len = totalLength (slices, 0) val buf = SMLSharp.PrimString.allocVector len fun loop (i, nil) = () | loop (i, (str, beg, len)::t) = (SMLSharp.PrimString.copy_unsafe (str, beg, buf, i, len); case t of nil => () | _::_ => let val i = i + len in SMLSharp.PrimString.copy_unsafe (sep, 0, buf, i, sepLen); loop (i + sepLen, t) end) in loop (0, slices); buf end local fun equal (s1, i, s2, j, len) = if len <= 0 then true else SMLSharp.PrimString.sub_unsafe (s1, i) = SMLSharp.PrimString.sub_unsafe (s2, j) andalso equal (s1, i+1, s2, j+1, len-1) in fun substringIndex str1 (str2, beg, len2) = let val len1 = SMLSharp.PrimString.size str1 in if len1 > len2 then NONE else let (* Rabin-Karp algorithm with a native hashing *) val max = len2 - len1 fun loop1 (i, hash1, hash2, eq) = if i < len1 then let val c1 = toWord (SMLSharp.PrimString.sub_unsafe (str1, i)) val c2 = toWord (SMLSharp.PrimString.sub_unsafe (str2, i)) in loop1 (i+1, hash1 ++ c1, hash2 ++ c2, eq andalso c1 = c2) end else if eq then SOME beg else loop2 (beg, hash1, hash2) and loop2 (i, hash1, hash2) = if i >= max then NONE else let val cl = SMLSharp.PrimString.sub_unsafe (str2, i) val cr = SMLSharp.PrimString.sub_unsafe (str2, i + len1) val hash2 = hash2 -- toWord cl ++ toWord cr val i = i + 1 in if hash1 = hash2 andalso equal (str1, 0, str2, i, len1) then SOME i else loop2 (i, hash1, hash2) end in loop1 (beg, 0w0, 0w0, true) end end fun isPrefix prefix (str, beg, len) = let val prefixLen = SMLSharp.PrimString.size prefix in prefixLen <= len andalso equal (prefix, 0, str, beg, prefixLen) end fun isSuffix suffix (str:string, beg:int, len:int) = let val suffixLen = SMLSharp.PrimString.size suffix in suffixLen <= len andalso equal (suffix, 0, str, len - suffixLen, suffixLen) end fun isSubstring str1 slice = case substringIndex str1 slice of NONE => false | SOME _ => true end (* local *) fun translate transFn (str, beg, len) = let (* use array instead of list for efficiency *) val buf = SMLSharp.PrimArray.allocArray len fun loop (i, size) = if i < len then let val x = SMLSharp.PrimString.sub_unsafe (str, beg + i) val x = transFn x val n = SMLSharp.PrimString.size x in if size + n > maxLen then raise Size else (); SMLSharp.PrimArray.update (buf, i, x); loop (i + 1, size + n) end else loop2 (0, 0, SMLSharp.PrimString.allocVector size) and loop2 (i, j, dst) = if i < len then let val x = SMLSharp.PrimArray.sub (buf, i) val n = SMLSharp.PrimString.size x in SMLSharp.PrimString.copy_unsafe (x, 0, dst, j, n); loop2 (i + 1, j + n, dst) end else dst in loop (0, 0) end fun concat strings = let fun totalLength (nil, z) = z | totalLength (h::t, z) = let val len = SMLSharp.PrimString.size h val z = len + z in if z > maxLen then raise Size else totalLength (t, z) end val len = totalLength (strings, 0) val buf = SMLSharp.PrimString.allocVector len fun loop (i, nil) = () | loop (i, h::t) = let val len = SMLSharp.PrimString.size h in SMLSharp.PrimString.copy_unsafe (h, 0, buf, i, len); loop (i + len, t) end in loop (0, strings); buf end fun sub (ary, index) = if index < 0 orelse SMLSharp.PrimString.size ary <= index then raise Subscript else SMLSharp.PrimString.sub_unsafe (ary, index) fun mapi mapFn vec = let val len = SMLSharp.PrimString.size vec val buf = SMLSharp.PrimString.allocVector len fun loop i = if i >= len then () else let val x = SMLSharp.PrimString.sub_unsafe (vec, i) in SMLSharp.PrimString.update_unsafe (buf, i, mapFn (i, x)); loop (i + 1) end in loop 0; buf end fun map mapFn vec = mapi (fn (i,x) => mapFn x) vec fun collate cmpFn (ary1, ary2) = let val len1 = SMLSharp.PrimString.size ary1 val len2 = SMLSharp.PrimString.size ary2 fun loop (i, 0, 0) = EQUAL | loop (i, 0, _) = LESS | loop (i, _, 0) = GREATER | loop (i, rest1, rest2) = let val c1 = SMLSharp.PrimString.sub_unsafe (ary1, i) val c2 = SMLSharp.PrimString.sub_unsafe (ary2, i) in case cmpFn (c1, c2) of EQUAL => loop (i + 1, rest1 - 1, rest2 - 1) | order => order end in loop (0, len1, len2) end fun fromList elems = let fun length (nil : char list, z) = z | length (h::t, z) = length (t, z + 1) val len = length (elems, 0) val buf = SMLSharp.PrimString.allocVector len fun fill (i, nil) = () | fill (i, h::t) = (SMLSharp.PrimString.update_unsafe (buf, i, h); fill (i + 1, t)) in fill (0, elems); buf end end end (* StringBase *) smlsharp-1.2.0/src/basis/main/StringCvt.smi0000644 000000000000000000000131312050661606020752 0ustar00rootroot0000000 0000000 _require "STRING_CVT.sig" structure StringCvt = struct datatype radix = BIN | OCT | DEC | HEX datatype realfmt = SCI of int option | FIX of int option | GEN of int option | EXACT type ('a,'b) reader = 'b -> ('a * 'b) option val padLeft : char -> int -> string -> string val padRight : char -> int -> string -> string val splitl : (char -> bool) -> (char, 'a) reader -> 'a -> string * 'a val takel : (char -> bool) -> (char, 'a) reader -> 'a -> string val dropl : (char -> bool) -> (char, 'a) reader -> 'a -> 'a val skipWS : (char, 'a) reader -> 'a -> 'a type cs (= int) val scanString : ((char, cs) reader -> ('a, cs) reader) -> string -> 'a option end smlsharp-1.2.0/src/basis/main/StringCvt.sml0000644 000000000000000000000627712050661606020773 0ustar00rootroot0000000 0000000 (** * String converter structure. * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. * @version $Id: StringCvt.sml,v 1.7 2005/04/28 16:35:32 kiyoshiy Exp $ *) _interface "StringCvt.smi" structure StringCvt :> STRING_CVT = struct infix 6 + - ^ infixr 5 :: infix 4 = <> > >= < <= val op - = SMLSharp.Int.sub val op >= = SMLSharp.Int.gteq val op + = SMLSharp.Int.add datatype radix = BIN | OCT | DEC | HEX datatype realfmt = SCI of int option | FIX of int option | GEN of int option | EXACT type ('a, 'b) reader = 'b -> ('a * 'b) option fun fill (buf, beg, last, ch) = let fun loop i = if i >= last then () else (SMLSharp.PrimString.update_unsafe (buf, i, ch); loop (i + 1)) in loop beg end fun padLeft padChar width string = let val len = SMLSharp.PrimString.size string in if len >= width then string else let val buf = SMLSharp.PrimString.allocVector width in fill (buf, 0, width - len, padChar); SMLSharp.PrimString.copy_unsafe (string, 0, buf, width - len, len); buf end end fun padRight padChar width string = let val len = SMLSharp.PrimString.size string in if len >= width then string else let val buf = SMLSharp.PrimString.allocVector width in SMLSharp.PrimString.copy_unsafe (string, 0, buf, 0, len); fill (buf, len, width, padChar); buf end end fun splitl predicate reader source = let fun scan source n prefix = case reader source of NONE => (n, prefix, source) | SOME (char, source') => if predicate char then scan source' (n+1) (char :: prefix) else (n, prefix, source) val (len, chars, source') = scan source 0 [] val buf = SMLSharp.PrimString.allocVector len fun loop (i, nil) = () | loop (i, h::t) = (SMLSharp.PrimString.update_unsafe (buf, i, h); loop (i - 1, t)) val _ = loop (len - 1, chars) in (buf, source') end fun takel predicate reader source = #1(splitl predicate reader source) fun dropl predicate reader source = #2(splitl predicate reader source) local (* ToDo : this isWS and Char.isSpace shoud be the same. *) fun isWS #" " = true | isWS #"\n" = true | isWS #"\t" = true | isWS #"\r" = true | isWS #"\v" = true | isWS #"\f" = true | isWS _ = false in fun skipWS reader source = case reader source of NONE => source | SOME(char, source') => if isWS char then skipWS reader source' else source end type cs = int fun scanString readerConverter string = let val stringSize = SMLSharp.PrimString.size string fun reader index = if index >= stringSize then NONE else SOME (SMLSharp.PrimString.sub_unsafe (string, index), index + 1) in case readerConverter reader 0 of NONE => NONE | SOME (result, _:cs) => SOME result end end smlsharp-1.2.0/src/basis/main/SUBSTRING.sig0000644 000000000000000000000356512050661606020414 0ustar00rootroot0000000 0000000 include "General.smi" signature SUBSTRING = sig type substring eqtype char eqtype string val sub : substring * int -> char val size : substring -> int val base : substring -> string * int * int val extract : string * int * int option -> substring val substring : string * int * int -> substring val full : string -> substring val string : substring -> string val isEmpty : substring -> bool val getc : substring -> (char * substring) option val first : substring -> char option val triml : int -> substring -> substring val trimr : int -> substring -> substring val slice : substring * int * int option -> substring val concat : substring list -> string val concatWith : string -> substring list -> string val explode : substring -> char list val isPrefix : string -> substring -> bool val isSubstring : string -> substring -> bool val isSuffix : string -> substring -> bool val compare : substring * substring -> order val collate : (char * char -> order) -> substring * substring -> order val splitl : (char -> bool) -> substring -> substring * substring val splitr : (char -> bool) -> substring -> substring * substring val splitAt : substring * int -> substring * substring val dropl : (char -> bool) -> substring -> substring val dropr : (char -> bool) -> substring -> substring val takel : (char -> bool) -> substring -> substring val taker : (char -> bool) -> substring -> substring val position : string -> substring -> substring * substring val span : substring * substring -> substring val translate : (char -> string) -> substring -> string val tokens : (char -> bool) -> substring -> substring list val fields : (char -> bool) -> substring -> substring list val app : (char -> unit) -> substring -> unit val foldl : (char * 'a -> 'a) -> 'a -> substring -> 'a val foldr : (char * 'a -> 'a) -> 'a -> substring -> 'a end smlsharp-1.2.0/src/basis/main/Substring.smi0000644 000000000000000000000500412050661606021010 0ustar00rootroot0000000 0000000 _require "General.smi" _require "Char.smi" _require "List.smi" _require "SMLSharpScanChar.smi" _require "MONO_ARRAY.sig" _require "MONO_VECTOR.sig" _require "MONO_ARRAY_SLICE.sig" _require "MONO_VECTOR_SLICE.sig" _require "STRING.sig" _require "SUBSTRING.sig" _require "StringBase.smi" _require "String.smi" structure Substring = struct type char = char type string = string type substring (= boxed) val concatWith : string -> substring list -> string val explode : substring -> char list val isPrefix : string -> substring -> bool val isSubstring : string -> substring -> bool val isSuffix : string -> substring -> bool val translate : (char -> string) -> substring -> string (* Since these are opaque, we cannot bind these in this interface. val concatWith = StringBase.concatWith val explode = StringBase.explode val isPrefix = StringBase.isPrefix val isSubstring = StringBase.isSubstring val isSuffix = StringBase.isSuffix val translate = StringBase.translate *) val sub : substring * int -> char val base : substring -> string * int * int val full : string -> substring val size : substring -> int val isEmpty : substring -> bool val concat : substring list -> string val extract : string * int * int option -> substring val substring : string * int * int -> substring val string : substring -> string val getc : substring -> (char * substring) option val first : substring -> char option val triml : int -> substring -> substring val trimr : int -> substring -> substring val slice : substring * int * int option -> substring val collate : (char * char -> order) -> substring * substring -> order val compare : substring * substring -> order val splitl : (char -> bool) -> substring -> substring * substring val splitr : (char -> bool) -> substring -> substring * substring val splitAt : substring * int -> substring * substring val dropl : (char -> bool) -> substring -> substring val dropr : (char -> bool) -> substring -> substring val takel : (char -> bool) -> substring -> substring val taker : (char -> bool) -> substring -> substring val position : string -> substring -> substring * substring val span : substring * substring -> substring val tokens : (char -> bool) -> substring -> substring list val fields : (char -> bool) -> substring -> substring list val app : (char -> unit) -> substring -> unit val foldl : (char * 'a -> 'a) -> 'a -> substring -> 'a val foldr : (char * 'a -> 'a) -> 'a -> substring -> 'a end type substring = Substring.substring smlsharp-1.2.0/src/basis/main/Substring.sml0000644 000000000000000000002305112050661606021015 0ustar00rootroot0000000 0000000 (** * String related structures. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * @author Atsushi Ohori * @copyright 2010, 2011, Tohoku University. *) _interface "Substring.smi" structure Substring :> SUBSTRING where type string = string where type char = char = struct local infix 7 * / div mod infix 6 + - infixr 5 :: infix 4 = <> > >= < <= val op + = SMLSharp.Int.add val op - = SMLSharp.Int.sub val op > = SMLSharp.Int.gt val op < = SMLSharp.Int.lt val op <= = SMLSharp.Int.lteq val op >= = SMLSharp.Int.gteq infix 6 ++ -- val op ++ = SMLSharp.Word.add val op -- = SMLSharp.Word.sub fun toWord c = SMLSharp.Word.fromInt (SMLSharp.Char.ord c) in type char = char type string = string type substring = string * int * int val concatWith = StringBase.concatWith val explode = StringBase.explode val isPrefix = StringBase.isPrefix val isSubstring = StringBase.isSubstring val isSuffix = StringBase.isSuffix val translate = StringBase.translate fun sub ((ary, start, length):substring, index) = if index < 0 orelse length <= index then raise Subscript else SMLSharp.PrimString.sub_unsafe (ary, start + index) fun base (x:substring) = x fun full ary = (ary, 0, SMLSharp.PrimString.size ary) : substring fun size ((ary, start, length):substring) = length fun isEmpty ((ary, start, length):substring) = length = 0 fun concat slices = let fun totalLength (nil, z) = z | totalLength (((vec, start, length):substring)::t, z) = let val z = length + z in if z > StringBase.maxLen then raise Size else totalLength (t, z) end val len = totalLength (slices, 0) val buf = SMLSharp.PrimString.allocVector len fun loop (i, nil) = () | loop (i, (vec, start, len)::t) = (SMLSharp.PrimString.copy_unsafe (vec, start, buf, i, len); loop (i + len, t)) in loop (0, slices); buf end fun extract (ary, start, lengthOpt) = let val length = SMLSharp.PrimString.size ary val _ = if start < 0 orelse length < start then raise Subscript else () val length = case lengthOpt of NONE => length - start | SOME len => if len < 0 orelse length - start < len then raise Subscript else len in (ary, start, length) : substring end fun substring (str, start, len) = extract (str, start, SOME len) fun string ((ary, start, length):substring) = let val buf = SMLSharp.PrimString.allocVector length in SMLSharp.PrimString.copy_unsafe (ary, start, buf, 0, length); buf end fun getc ((ary, start, length):substring) = if length <= 0 then NONE else SOME (SMLSharp.PrimString.sub_unsafe (ary, start), (ary, start + 1, length - 1) : substring) fun first ((str, start, length):substring) = if length = 0 then NONE else SOME (SMLSharp.PrimString.sub_unsafe (str, start)) fun triml size = if size < 0 then raise Subscript else fn (str, start, length):substring => if size < length then (str, start + size, length - size) : substring else (str, start + length, 0) : substring fun trimr size = if size < 0 then raise Subscript else fn (str, start, length):substring => (str, start, if size < length then length - size else 0) : substring fun slice ((ary, start, length):substring, start2, lengthOpt) = let val _ = if start2 < 0 orelse length < start2 then raise Subscript else () val length = case lengthOpt of NONE => length - start2 | SOME len => if len < 0 orelse length - start2 < len then raise Subscript else len in (ary, start + start2, length) : substring end fun collate cmpFn ((ary1, start1, length1):substring, (ary2, start2, length2):substring) = let fun loop (i, 0, j, 0) = EQUAL | loop (i, 0, j, _) = LESS | loop (i, _, j, 0) = GREATER | loop (i, rest1, j, rest2) = let val c1 = SMLSharp.PrimString.sub_unsafe (ary1, i) val c2 = SMLSharp.PrimString.sub_unsafe (ary2, j) in case cmpFn (c1, c2) of EQUAL => loop (i + 1, rest1 - 1, j + 1, rest2 - 1) | order => order end in loop (start1, length1, start2, length2) end fun compare x = collate Char.compare x fun splitl whileFn ((str, start, len):substring) = let fun loop i = if i < len andalso whileFn (SMLSharp.PrimString.sub_unsafe (str, start + i)) then loop (i + 1) else ((str, start, i) : substring, (str, start + i, len - i) : substring) in loop 0 end fun splitr whileFn ((str, start, len):substring) = let fun loop i = if i > 0 andalso whileFn (SMLSharp.PrimString.sub_unsafe (str, start + i - 1)) then loop (i - 1) else ((str, start, i) : substring, (str, start + i, len - i) : substring) in loop len end fun splitAt ((str, start, length):substring, index) = if index < 0 orelse length < index then raise Subscript else ((str, start, index) : substring, (str, index, length - index) : substring) fun dropl whileFn ((str, start, length):substring) = let fun loop (start, length) = if length > 0 andalso whileFn (SMLSharp.PrimString.sub_unsafe (str, start)) then loop (start + 1, length - 1) else (str, start, length) : substring in loop (start, length) end fun dropr whileFn ((str, start, length):substring) = let fun loop length = if length > 0 andalso whileFn (SMLSharp.PrimString.sub_unsafe (str, start + length - 1)) then loop (length - 1) else (str, start, length) : substring in loop length end fun takel whileFn ((str, start, length):substring) = let fun loop i = if i < length andalso whileFn (SMLSharp.PrimString.sub_unsafe (str, start + i)) then loop (i + 1) else (str, start, i) : substring in loop 0 end fun taker whileFn ((str, start, length):substring) = let fun loop i = if i < length andalso whileFn (SMLSharp.PrimString.sub_unsafe (str, start + i)) then loop (i + 1) else (str, start + length - i, i) : substring in loop 0 end fun position str1 (arg as (substring as (str2, start, len2):substring)) = case StringBase.substringIndex str1 substring of NONE => (arg, (str2, start + len2, len2):substring) | SOME index => let val prefixLen = index - start in ((str2, start, prefixLen) : substring, (str2, index, len2 - prefixLen) : substring) end fun span ((str1, start1, len1):substring, (str2, start2, len2):substring) = if String.compare (str1, str2) = EQUAL andalso start1 <= start2 + len2 then (str1, start1, start2 + len2 - start1) : substring else raise General.Span fun tokens isDelimiter ((str, beg, len):substring) = let val max = beg + len fun add (b, e, z) = if b = e then z else ((str, b, e - b):substring) :: z fun loop (beg, i, z) = if i >= max then rev (add (beg, i, z)) else if isDelimiter (SMLSharp.PrimString.sub_unsafe (str, i)) then loop (i + 1, i + 1, add (beg, i, z)) else loop (beg, i + 1, z) in loop (beg, beg, nil) end fun fields isDelimiter ((str, beg, len):substring) = let val max = beg + len fun add (b, e, z) = ((str, b, e - b):substring) :: z fun loop (beg, i, z) = if i >= max then rev (add (beg, i, z)) else if isDelimiter (SMLSharp.PrimString.sub_unsafe (str, i)) then loop (i + 1, i + 1, add (beg, i, z)) else loop (beg, i + 1, z) in loop (beg, beg, nil) end fun foldli foldFn z ((ary, start, length):substring) = let val max = start + length fun loop (i, z) = if i >= max then z else let val x = SMLSharp.PrimString.sub_unsafe (ary, i) in loop (i + 1, foldFn (i - start, x, z)) end in loop (start, z) end fun foldl foldFn z slice = foldli (fn (i,x,z) => foldFn (x,z)) z slice fun foldri foldFn z ((ary, start, length):substring) = let fun loop (i, z) = if i < start then z else let val x = SMLSharp.PrimString.sub_unsafe (ary, i) in loop (i - 1, foldFn (i - start, x, z)) end in loop (start + length - 1, z) end fun foldr foldFn z slice = foldri (fn (i,x,z) => foldFn (x,z)) z slice fun appi appFn slice = foldli (fn (i,x,()) => appFn (i,x)) () slice fun app appFn slice = foldli (fn (i,x,()) => appFn x) () slice end end (* Substring *) type substring = Substring.substring smlsharp-1.2.0/src/basis/main/TEXT.sig0000644 000000000000000000000165712050661606017620 0ustar00rootroot0000000 0000000 include "CHAR.sig" include "STRING.sig" include "SUBSTRING.sig" include "MONO_VECTOR.sig" include "MONO_ARRAY.sig" include "MONO_VECTOR_SLICE.sig" include "MONO_ARRAY_SLICE.sig" signature TEXT = sig structure Char : CHAR structure String : STRING structure Substring : SUBSTRING structure CharVector : MONO_VECTOR structure CharArray : MONO_ARRAY structure CharVectorSlice : MONO_VECTOR_SLICE structure CharArraySlice : MONO_ARRAY_SLICE sharing type Char.char = String.char = Substring.char = CharVector.elem = CharArray.elem = CharVectorSlice.elem = CharArraySlice.elem sharing type Char.string = String.string = Substring.string = CharVector.vector = CharArray.vector = CharVectorSlice.vector = CharArraySlice.vector sharing type CharArray.array = CharArraySlice.array sharing type CharVectorSlice.slice = CharArraySlice.vector_slice end smlsharp-1.2.0/src/basis/main/Text.smi0000644 000000000000000000002331212050661606017756 0ustar00rootroot0000000 0000000 _require "General.smi" _require "StringCvt.smi" _require "Char.smi" _require "String.smi" _require "Substring.smi" _require "CharArray.smi" _require "CharVector.smi" _require "CharVectorSlice.smi" _require "TEXT.sig" structure Text = struct structure Char = struct type char = char type string = String.string val minChar : char val maxChar : char val maxOrd : int val ord : char -> int val chr : int -> char val succ : char -> char val pred : char -> char val compare : char * char -> order val < : char * char -> bool val <= : char * char -> bool val > : char * char -> bool val >= : char * char -> bool val contains : string -> char -> bool val notContains : string -> char -> bool val isAscii : char -> bool val toLower : char -> char val toUpper : char -> char val isAlpha : char -> bool val isAlphaNum : char -> bool val isCntrl : char -> bool val isDigit : char -> bool val isGraph : char -> bool val isHexDigit : char -> bool val isLower : char -> bool val isPrint : char -> bool val isSpace : char -> bool val isPunct : char -> bool val isUpper : char -> bool val toString : char -> string val scan : (Char.char, 'a) StringCvt.reader -> (char, 'a) StringCvt.reader val fromString : string -> char option val toCString : char -> string val fromCString : string -> char option end structure String = struct type string = String.string type char = char val maxSize : int val size : string -> int val sub : string * int -> char val extract : string * int * int option -> string val substring : string * int * int -> string val ^ : string * string -> string val concat : string list -> string val concatWith : string -> string list -> string val str : char -> string val implode : char list -> string val explode : string -> char list val map : (char -> char) -> string -> string val translate : (char -> string) -> string -> string val tokens : (char -> bool) -> string -> string list val fields : (char -> bool) -> string -> string list val isPrefix : string -> string -> bool val isSubstring : string -> string -> bool val isSuffix : string -> string -> bool val compare : string * string -> order val collate : (char * char -> order) -> string * string -> order val < : string * string -> bool val <= : string * string -> bool val > : string * string -> bool val >= : string * string -> bool val toString : string -> String.string val scan : (char, 'a) StringCvt.reader -> (string, 'a) StringCvt.reader val fromString : String.string -> string option val toCString : string -> String.string val fromCString : String.string -> string option end structure Substring = struct type substring = Substring.substring type char = char type string = String.string val sub : substring * int -> char val size : substring -> int val base : substring -> string * int * int val extract : string * int * int option -> substring val substring : string * int * int -> substring val full : string -> substring val string : substring -> string val isEmpty : substring -> bool val getc : substring -> (char * substring) option val first : substring -> char option val triml : int -> substring -> substring val trimr : int -> substring -> substring val slice : substring * int * int option -> substring val concat : substring list -> string val concatWith : string -> substring list -> string val explode : substring -> char list val isPrefix : string -> substring -> bool val isSubstring : string -> substring -> bool val isSuffix : string -> substring -> bool val compare : substring * substring -> order val collate : (char * char -> order) -> substring * substring -> order val splitl : (char -> bool) -> substring -> substring * substring val splitr : (char -> bool) -> substring -> substring * substring val splitAt : substring * int -> substring * substring val dropl : (char -> bool) -> substring -> substring val dropr : (char -> bool) -> substring -> substring val takel : (char -> bool) -> substring -> substring val taker : (char -> bool) -> substring -> substring val position : string -> substring -> substring * substring val span : substring * substring -> substring val translate : (char -> string) -> substring -> string val tokens : (char -> bool) -> substring -> substring list val fields : (char -> bool) -> substring -> substring list val app : (char -> unit) -> substring -> unit val foldl : (char * 'a -> 'a) -> 'a -> substring -> 'a val foldr : (char * 'a -> 'a) -> 'a -> substring -> 'a end structure CharVector = struct type vector = String.string type elem = char val maxLen : int val fromList : elem list -> vector val tabulate : int * (int -> elem) -> vector val length : vector -> int val sub : vector * int -> elem val update : vector * int * elem -> vector val concat : vector list -> vector val appi : (int * elem -> unit) -> vector -> unit val app : (elem -> unit) -> vector -> unit val mapi : (int * elem -> elem) -> vector -> vector val map : (elem -> elem) -> vector -> vector val foldli : (int * elem * 'a -> 'a) -> 'a -> vector -> 'a val foldri : (int * elem * 'a -> 'a) -> 'a -> vector -> 'a val foldl : (elem * 'a -> 'a) -> 'a -> vector -> 'a val foldr : (elem * 'a -> 'a) -> 'a -> vector -> 'a val findi : (int * elem -> bool) -> vector -> (int * elem) option val find : (elem -> bool) -> vector -> elem option val exists : (elem -> bool) -> vector -> bool val all : (elem -> bool) -> vector -> bool val collate : (elem * elem -> order) -> vector * vector -> order end structure CharArray = struct type array = CharArray.array type elem = char type vector = CharVector.vector val maxLen : int val array : int * elem -> array val fromList : elem list -> array val tabulate : int * (int -> elem) -> array val length : array -> int val sub : array * int -> elem val update : array * int * elem -> unit val vector : array -> vector val copy : {src : array, dst : array, di : int} -> unit val copyVec : {src : vector, dst : array, di : int} -> unit val appi : (int * elem -> unit) -> array -> unit val app : (elem -> unit) -> array -> unit val modifyi : (int * elem -> elem) -> array -> unit val modify : (elem -> elem) -> array -> unit val foldli : (int * elem * 'b -> 'b) -> 'b -> array -> 'b val foldri : (int * elem * 'b -> 'b) -> 'b -> array -> 'b val foldl : (elem * 'b -> 'b) -> 'b -> array -> 'b val foldr : (elem * 'b -> 'b) -> 'b -> array -> 'b val findi : (int * elem -> bool) -> array -> (int * elem) option val find : (elem -> bool) -> array -> elem option val exists : (elem -> bool) -> array -> bool val all : (elem -> bool) -> array -> bool val collate : (elem * elem -> order) -> array * array -> order end structure CharVectorSlice = struct type elem = char type vector = CharVector.vector type slice = CharVectorSlice.slice val length : slice -> int val sub : slice * int -> elem val full : vector -> slice val slice : vector * int * int option -> slice val subslice : slice * int * int option -> slice val base : slice -> vector * int * int val vector : slice -> vector val concat : slice list -> vector val isEmpty : slice -> bool val getItem : slice -> (elem * slice) option val appi : (int * elem -> unit) -> slice -> unit val app : (elem -> unit) -> slice -> unit val mapi : (int * elem -> elem) -> slice -> vector val map : (elem -> elem) -> slice -> vector val foldli : (int * elem * 'b -> 'b) -> 'b -> slice -> 'b val foldr : (elem * 'b -> 'b) -> 'b -> slice -> 'b val foldl : (elem * 'b -> 'b) -> 'b -> slice -> 'b val foldri : (int * elem * 'b -> 'b) -> 'b -> slice -> 'b val findi : (int * elem -> bool) -> slice -> (int * elem) option val find : (elem -> bool) -> slice -> elem option val exists : (elem -> bool) -> slice -> bool val all : (elem -> bool) -> slice -> bool val collate : (elem * elem -> order) -> slice * slice -> order end structure CharArraySlice = struct type elem = char type array = CharArray.array type slice = CharArraySlice.slice type vector = CharVector.vector type vector_slice = CharVectorSlice.slice val length : slice -> int val sub : slice * int -> elem val update : slice * int * elem -> unit val full : array -> slice val slice : array * int * int option -> slice val subslice : slice * int * int option -> slice val base : slice -> array * int * int val vector : slice -> vector val copy : {src : slice, dst : array, di : int} -> unit val copyVec : {src : vector_slice, dst : array, di : int} -> unit val isEmpty : slice -> bool val getItem : slice -> (elem * slice) option val appi : (int * elem -> unit) -> slice -> unit val app : (elem -> unit) -> slice -> unit val modifyi : (int * elem -> elem) -> slice -> unit val modify : (elem -> elem) -> slice -> unit val foldli : (int * elem * 'b -> 'b) -> 'b -> slice -> 'b val foldr : (elem * 'b -> 'b) -> 'b -> slice -> 'b val foldl : (elem * 'b -> 'b) -> 'b -> slice -> 'b val foldri : (int * elem * 'b -> 'b) -> 'b -> slice -> 'b val findi : (int * elem -> bool) -> slice -> (int * elem) option val find : (elem -> bool) -> slice -> elem option val exists : (elem -> bool) -> slice -> bool val all : (elem -> bool) -> slice -> bool val collate : (elem * elem -> order) -> slice * slice -> order end end smlsharp-1.2.0/src/basis/main/Text.sml0000644 000000000000000000000142212050661606017757 0ustar00rootroot0000000 0000000 (** * Text structure. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * @copyright 2010, 2011, Tohoku University. *) _interface "Text.smi" structure Text :> TEXT where type Char.char = Char.char where type String.string = String.string where type Substring.substring = Substring.substring (* where type CharVector.vector = CharVector.vector *) where type CharArray.array = CharArray.array where type CharVectorSlice.slice = CharVectorSlice.slice where type CharArraySlice.slice = CharArraySlice.slice = struct structure Char = Char structure String = String structure Substring = Substring structure CharVector = CharVector structure CharArray = CharArray structure CharVectorSlice = CharVectorSlice structure CharArraySlice = CharArraySlice end smlsharp-1.2.0/src/basis/main/TEXT_IO.sig0000644 000000000000000000000342612050661606020203 0ustar00rootroot0000000 0000000 include "StringCvt.smi" include "../../smlnj/Basis/IO/prim-io-text.smi" include "TEXT_STREAM_IO.sig" signature TEXT_IO = sig structure StreamIO : TEXT_STREAM_IO where type reader = TextPrimIO.reader where type writer = TextPrimIO.writer where type pos = TextPrimIO.pos type vector = StreamIO.vector type elem = StreamIO.elem type instream type outstream val input : instream -> vector val input1 : instream -> elem option val inputN : instream * int -> vector val inputAll : instream -> vector val canInput : instream * int -> int option val lookahead : instream -> elem option val closeIn : instream -> unit val endOfStream : instream -> bool val output : outstream * vector -> unit val output1 : outstream * elem -> unit val flushOut : outstream -> unit val closeOut : outstream -> unit val mkInstream : StreamIO.instream -> instream val getInstream : instream -> StreamIO.instream val setInstream : instream * StreamIO.instream -> unit val mkOutstream : StreamIO.outstream -> outstream val getOutstream : outstream -> StreamIO.outstream val setOutstream : outstream * StreamIO.outstream -> unit val getPosOut : outstream -> StreamIO.out_pos val setPosOut : outstream * StreamIO.out_pos -> unit val inputLine : instream -> string option val outputSubstr : outstream * substring -> unit val openIn : string -> instream val openOut : string -> outstream val openAppend : string -> outstream val openString : string -> instream val stdIn : instream val stdOut : outstream val stdErr : outstream val print : string -> unit val scanStream : ((SMLSharp.Char.char, StreamIO.instream) StringCvt.reader -> ('a, StreamIO.instream) StringCvt.reader) -> instream -> 'a option end smlsharp-1.2.0/src/basis/main/TEXT_STREAM_IO.sig0000644 000000000000000000000050012050661606021244 0ustar00rootroot0000000 0000000 include "CharVector.smi" include "Substring.smi" include "STREAM_IO.sig" signature TEXT_STREAM_IO = sig include STREAM_IO where type vector = CharVector.vector where type elem = SMLSharp.Char.char val inputLine : instream -> (string * instream) option val outputSubstr : outstream * substring -> unit end smlsharp-1.2.0/src/basis/main/TextIO.smi0000644 000000000000000000000607612050661606020216 0ustar00rootroot0000000 0000000 _require "StringCvt.smi" _require "Char.smi" _require "IO.smi" _require "../../smlnj/Basis/IO/prim-io-text.smi" _require "../../smlnj/Basis/IO/text-io.smi" _require "TEXT_IO.sig" structure TextIO = struct structure StreamIO = struct type elem = char type vector = CharVector.vector type instream (= boxed) type outstream (= boxed) type out_pos (= boxed) type reader = TextPrimIO.reader type writer = TextPrimIO.writer type pos = TextPrimIO.pos val input : instream -> vector * instream val input1 : instream -> (elem * instream) option val inputN : instream * int -> vector * instream val inputAll : instream -> vector * instream val canInput : instream * int -> int option val closeIn : instream -> unit val endOfStream : instream -> bool val output : outstream * vector -> unit val output1 : outstream * elem -> unit val flushOut : outstream -> unit val closeOut : outstream -> unit val mkInstream : reader * vector -> instream val getReader : instream -> reader * vector val filePosIn : instream -> pos val setBufferMode : outstream * IO.buffer_mode -> unit val getBufferMode : outstream -> IO.buffer_mode val mkOutstream : writer * IO.buffer_mode -> outstream val getWriter : outstream -> writer * IO.buffer_mode val getPosOut : outstream -> out_pos val setPosOut : out_pos -> outstream val filePosOut : out_pos -> pos val inputLine : instream -> (string * instream) option val outputSubstr : outstream * substring -> unit end type vector = StreamIO.vector type elem = StreamIO.elem type instream (= boxed) type outstream (= boxed) val input : instream -> vector val input1 : instream -> elem option val inputN : instream * int -> vector val inputAll : instream -> vector val canInput : instream * int -> int option val lookahead : instream -> elem option val closeIn : instream -> unit val endOfStream : instream -> bool val output : outstream * vector -> unit val output1 : outstream * elem -> unit val flushOut : outstream -> unit val closeOut : outstream -> unit val mkInstream : StreamIO.instream -> instream val getInstream : instream -> StreamIO.instream val setInstream : instream * StreamIO.instream -> unit val mkOutstream : StreamIO.outstream -> outstream val getOutstream : outstream -> StreamIO.outstream val setOutstream : outstream * StreamIO.outstream -> unit val getPosOut : outstream -> StreamIO.out_pos val setPosOut : outstream * StreamIO.out_pos -> unit val inputLine : instream -> string option val outputSubstr : outstream * substring -> unit val openIn : string -> instream val openOut : string -> outstream val openAppend : string -> outstream val openString : string -> instream val stdIn : instream val stdOut : outstream val stdErr : outstream val print : string -> unit val scanStream : ((Char.char, StreamIO.instream) StringCvt.reader -> ('a, StreamIO.instream) StringCvt.reader) -> instream -> 'a option end (* toplevel *) val print : string -> unit smlsharp-1.2.0/src/basis/main/TextIO.sml0000644 000000000000000000000034612050661606020213 0ustar00rootroot0000000 0000000 (** * TextIO structure. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * @copyright 2010, 2011, Tohoku University. *) _interface "TextIO.smi" structure TextIO = SMLSharpSMLNJ_TextIO :> TEXT_IO val print = TextIO.print smlsharp-1.2.0/src/basis/main/TIME.sig0000644 000000000000000000000206512050661606017564 0ustar00rootroot0000000 0000000 include "General.smi" include "RealClass.smi" include "Real.smi" include "Real32.smi" include "Int.smi" include "IntInf.smi" include "StringCvt.smi" signature TIME = sig eqtype time exception Time val zeroTime : time val fromReal : LargeReal.real -> time val toReal : time -> LargeReal.real val toSeconds : time -> LargeInt.int val toMilliseconds : time -> LargeInt.int val toMicroseconds : time -> LargeInt.int val toNanoseconds : time -> LargeInt.int val fromSeconds : LargeInt.int -> time val fromMilliseconds : LargeInt.int -> time val fromMicroseconds : LargeInt.int -> time val fromNanoseconds : LargeInt.int -> time val + : time * time -> time val - : time * time -> time val compare : time * time -> order val < : time * time -> bool val <= : time * time -> bool val > : time * time -> bool val >= : time * time -> bool val now : unit -> time val fmt : int -> time -> string val toString : time -> string val scan : (char, 'a) StringCvt.reader -> (time, 'a) StringCvt.reader val fromString : string -> time option end smlsharp-1.2.0/src/basis/main/Time.smi0000644 000000000000000000000231412050661606017727 0ustar00rootroot0000000 0000000 _require "General.smi" _require "RealClass.smi" _require "Real.smi" _require "Real32.smi" _require "IEEEReal.smi" _require "Int.smi" _require "String.smi" _require "IntInf.smi" _require "StringCvt.smi" _require "SMLSharpRuntime.smi" _require "SMLSharpScanChar.smi" _require "TIME.sig" structure Time = struct eqtype time (= intInf) exception Time val zeroTime : time val fromReal : LargeReal.real -> time val toReal : time -> LargeReal.real val toSeconds : time -> LargeInt.int val toMilliseconds : time -> LargeInt.int val toMicroseconds : time -> LargeInt.int val toNanoseconds : time -> LargeInt.int val fromSeconds : LargeInt.int -> time val fromMilliseconds : LargeInt.int -> time val fromMicroseconds : LargeInt.int -> time val fromNanoseconds : LargeInt.int -> time val + : time * time -> time val - : time * time -> time val compare : time * time -> order val < : time * time -> bool val <= : time * time -> bool val > : time * time -> bool val >= : time * time -> bool val now : unit -> time val fmt : int -> time -> string val toString : time -> string val scan : (char, 'a) StringCvt.reader -> (time, 'a) StringCvt.reader val fromString : string -> time option end smlsharp-1.2.0/src/basis/main/Time.sml0000644 000000000000000000001070712050661606017737 0ustar00rootroot0000000 0000000 (** * Time structure. * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. * @version $Id: Time.sml,v 1.8 2007/07/25 13:28:07 kiyoshiy Exp $ *) _interface "Time.smi" structure Time :> TIME = struct infix 7 * / quot infix 6 + - infixr 5 :: infix 4 = < >= (* infix 6 + - infix 4 = <> > >= < <= val op + = SMLSharp.Int.add val op - = SMLSharp.Int.sub val op > = SMLSharp.Int.gt val op < = SMLSharp.Int.lt val op <= = SMLSharp.Int.gteq val op >= = SMLSharp.Int.lteq *) val op quot = IntInf.quot val op * = IntInf.* val op / = LargeReal./ val op < = SMLSharp.Int.lt val op >= = SMLSharp.Int.gteq val op - = SMLSharp.Int.sub val op + = IntInf.+ type time = IntInf.int exception Time val zeroTime = 0 : IntInf.int fun fromReal rsec = IntInf.fromLarge (LargeReal.toLargeInt IEEEReal.TO_ZERO (LargeReal.* (rsec, Real.toLarge 1E9))) fun toReal nsec = LargeReal.fromLargeInt (IntInf.toLarge nsec) / Real.toLarge 1E9 (* To round towards ZERO, use quot, not div. *) (* 2012-1-1 ohori. fun toSeconds nsec = IntInf.toLarge (nsec quot 100000000) *) fun toSeconds nsec = IntInf.toLarge (nsec quot 1000000000) fun toMilliseconds nsec = IntInf.toLarge (nsec quot 1000000) fun toMicroseconds nsec = IntInf.toLarge (nsec quot 1000) fun toNanoseconds nsec = IntInf.toLarge nsec fun fromSeconds sec = IntInf.fromLarge sec * 1000000000 fun fromMilliseconds msec = IntInf.fromLarge msec * 1000000 fun fromMicroseconds usec = IntInf.fromLarge usec * 1000 fun fromNanoseconds nsec = IntInf.fromLarge nsec val prim_gettimeofday = _import "prim_Time_gettimeofday" : __attribute__((no_callback)) int array -> int (* number of seconds from UNIX epoch without leap seconds in UTC. *) fun now () = let val ret = SMLSharp.PrimArray.allocArray 2 val err = prim_gettimeofday ret val _ = if err < 0 then raise SMLSharpRuntime.OS_SysErr () else () val sec = SMLSharp.PrimArray.sub (ret, 0) val usec = SMLSharp.PrimArray.sub (ret, 1) in IntInf.fromInt sec * 1000000000 + IntInf.fromInt usec * 1000 end fun toStringWithDot (n, d, prec) = let val (whole, frac) = IntInf.quotRem (IntInf.abs n, IntInf.pow (10, d)) val sign = if IntInf.sign n < 0 then "~" else "" val whole = IntInf.toString whole val frac = IntInf.toString frac in sign ^ whole ^ "." ^ StringCvt.padRight #"0" prec frac end fun fmt prec nsec = if prec < 0 then raise Size else if prec >= 9 then toStringWithDot (nsec, 9, prec) else let val p = IntInf.pow (10, 9 - prec) val (d, r) = IntInf.quotRem (nsec, p) (* round to nearest or even *) val d = if IntInf.abs r = IntInf.div (p, 2) then d + IntInf.rem (d, 2) else d in toStringWithDot (d, prec, prec) end fun toString nsec = fmt 3 nsec fun scanSign getc strm = case getc strm of SOME (#"+", strm) => (false, strm) | SOME (#"~", strm) => (true, strm) | SOME (#"-", strm) => (true, strm) | _ => (false, strm) fun scanDigits getc strm = case SMLSharpScanChar.scanRepeat1 SMLSharpScanChar.scanDigit getc strm of NONE => (nil, strm) | SOME x => x fun digitsToTime (il, fl, limit, z) = case (il, fl, limit) of (h::t, fl, _) => digitsToTime (t, fl, limit, z * 10 + IntInf.fromInt h) | (nil, 0::t, 0) => digitsToTime (il, t, limit, z) | (nil, h::t, 0) => raise Time | (nil, h::t, limit) => digitsToTime (il, t, limit - 1, z * 10 + IntInf.fromInt h) | (nil, nil, 0) => z | (nil, nil, limit) => digitsToTime (il, fl, limit - 1, z * 10) fun scan getc strm = let val strm = SMLSharpScanChar.skipSpaces getc strm (* scan [+~-]?([0-9]+\.[0-9]*|\.[0-9]+) *) val (sign, strm) = scanSign getc strm val (il, strm) = scanDigits getc strm val (fl, strm) = case getc strm of SOME (#".", strm) => scanDigits getc strm | _ => (nil, strm) in case (il, fl) of (nil, nil) => NONE | _ => SOME (digitsToTime (il, fl, 9, 0), strm) end fun fromString s = StringCvt.scanString scan s val op - = IntInf.- val compare = IntInf.compare val op < = IntInf.< val op <= = IntInf.<= val op > = IntInf.> val op >= = IntInf.>= end smlsharp-1.2.0/src/basis/main/TIMER.sig0000644 000000000000000000000107612050661606017707 0ustar00rootroot0000000 0000000 include "Time.smi" signature TIMER = sig type cpu_timer type real_timer val startCPUTimer : unit -> cpu_timer val checkCPUTimes : cpu_timer -> {nongc : {usr : Time.time, sys : Time.time}, gc : {usr : Time.time, sys : Time.time}} val checkCPUTimer : cpu_timer -> {usr : Time.time, sys : Time.time} val checkGCTime : cpu_timer -> Time.time val totalCPUTimer : unit -> cpu_timer val startRealTimer : unit -> real_timer val checkRealTimer : real_timer -> Time.time val totalRealTimer : unit -> real_timer end smlsharp-1.2.0/src/basis/main/Timer.smi0000644 000000000000000000000122012050661606020104 0ustar00rootroot0000000 0000000 _require "Time.smi" _require "TIMER.sig" _require "../../smlnj/Basis/internal-timer.smi" structure Timer = struct type cpu_timer (= boxed) type real_timer (= boxed) val startCPUTimer : unit -> cpu_timer val checkCPUTimes : cpu_timer -> {nongc : {usr : Time.time, sys : Time.time}, gc : {usr : Time.time, sys : Time.time}} val checkCPUTimer : cpu_timer -> {usr : Time.time, sys : Time.time} val checkGCTime : cpu_timer -> Time.time val totalCPUTimer : unit -> cpu_timer val startRealTimer : unit -> real_timer val checkRealTimer : real_timer -> Time.time val totalRealTimer : unit -> real_timer end smlsharp-1.2.0/src/basis/main/Timer.sml0000644 000000000000000000000031712050661606020115 0ustar00rootroot0000000 0000000 (** * Timer structure. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * @copyright 2010, 2011, Tohoku University. *) _interface "Timer.smi" structure Timer = SMLSharpSMLNJ_InternalTimer :> TIMER smlsharp-1.2.0/src/basis/main/VECTOR.sig0000644 000000000000000000000210312050661606020021 0ustar00rootroot0000000 0000000 include "General.smi" include "Vector.smi" signature VECTOR = sig type 'a vector = 'a Vector.vector val maxLen : int val fromList : 'a list -> 'a vector val tabulate : int * (int -> 'a) -> 'a vector val length : 'a vector -> int val sub : 'a vector * int -> 'a val update : 'a vector * int * 'a -> 'a vector val concat : 'a vector list -> 'a vector val appi : (int * 'a -> unit) -> 'a vector -> unit val app : ('a -> unit) -> 'a vector -> unit val mapi : (int * 'a -> 'b) -> 'a vector -> 'b vector val map : ('a -> 'b) -> 'a vector -> 'b vector val foldli : (int * 'a * 'b -> 'b) -> 'b -> 'a vector -> 'b val foldri : (int * 'a * 'b -> 'b) -> 'b -> 'a vector -> 'b val foldl : ('a * 'b -> 'b) -> 'b -> 'a vector -> 'b val foldr : ('a * 'b -> 'b) -> 'b -> 'a vector -> 'b val findi : (int * 'a -> bool) -> 'a vector -> (int * 'a) option val find : ('a -> bool) -> 'a vector -> 'a option val exists : ('a -> bool) -> 'a vector -> bool val all : ('a -> bool) -> 'a vector -> bool val collate : ('a * 'a -> order) -> 'a vector * 'a vector -> order end smlsharp-1.2.0/src/basis/main/Vector.smi0000644 000000000000000000000212712050661606020275 0ustar00rootroot0000000 0000000 _require "General.smi" _require "List.smi" structure Vector = struct type 'a vector = 'a vector val maxLen : int val fromList : 'a list -> 'a vector val tabulate : int * (int -> 'a) -> 'a vector val length = SMLSharp.PrimArray.length_vector val sub = SMLSharp.PrimArray.sub_vector val foldli : (int * 'a * 'b -> 'b) -> 'b -> 'a vector -> 'b val foldl : ('a * 'b -> 'b) -> 'b -> 'a vector -> 'b val foldri : (int * 'a * 'b -> 'b) -> 'b -> 'a vector -> 'b val foldr : ('a * 'b -> 'b) -> 'b -> 'a vector -> 'b val appi : (int * 'a -> unit) -> 'a vector -> unit val app : ('a -> unit) -> 'a vector -> unit val findi : (int * 'a -> bool) -> 'a vector -> (int * 'a) option val find : ('a -> bool) -> 'a vector -> 'a option val exists : ('a -> bool) -> 'a vector -> bool val all : ('a -> bool) -> 'a vector -> bool val collate : ('a * 'a -> order) -> 'a vector * 'a vector -> order val update : 'a vector * int * 'a -> 'a vector val concat : 'a vector list -> 'a vector val mapi : (int * 'a -> 'b) -> 'a vector -> 'b vector val map : ('a -> 'b) -> 'a vector -> 'b vector end smlsharp-1.2.0/src/basis/main/Vector.sml0000644 000000000000000000001554412050661606020307 0ustar00rootroot0000000 0000000 (** * Vector * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * * @author Atsushi Ohori (refactored from ArrayStructures) * @copyright 2010, 2011, Tohoku University. *) _interface "Vector.smi" local infix 7 * / div mod infix 6 + - infixr 5 :: infix 4 = <> > >= < <= val op + = SMLSharp.Int.add val op - = SMLSharp.Int.sub val op > = SMLSharp.Int.gt val op < = SMLSharp.Int.lt val op <= = SMLSharp.Int.lteq val op >= = SMLSharp.Int.gteq in structure Vector : sig (* same as VECTOR signature except that vector is opaque. *) type 'a vector = 'a vector val maxLen : int val fromList : 'a list -> 'a vector val tabulate : int * (int -> 'a) -> 'a vector val length : 'a vector -> int val sub : 'a vector * int -> 'a val foldli : (int * 'a * 'b -> 'b) -> 'b -> 'a vector -> 'b val foldl : ('a * 'b -> 'b) -> 'b -> 'a vector -> 'b val foldri : (int * 'a * 'b -> 'b) -> 'b -> 'a vector -> 'b val foldr : ('a * 'b -> 'b) -> 'b -> 'a vector -> 'b val appi : (int * 'a -> unit) -> 'a vector -> unit val app : ('a -> unit) -> 'a vector -> unit val findi : (int * 'a -> bool) -> 'a vector -> (int * 'a) option val find : ('a -> bool) -> 'a vector -> 'a option val exists : ('a -> bool) -> 'a vector -> bool val all : ('a -> bool) -> 'a vector -> bool val collate : ('a * 'a -> order) -> 'a vector * 'a vector -> order val update : 'a vector * int * 'a -> 'a vector val concat : 'a vector list -> 'a vector val mapi : (int * 'a -> 'b) -> 'a vector -> 'b vector val map : ('a -> 'b) -> 'a vector -> 'b vector end = struct type 'a vector = 'a vector (* object size occupies 28 bits of 32-bit object header, * and the size of the maximum value is 16 bytes. * so we take 2^24 for maxLen. *) val maxLen = 0x00ffffff fun fromList elems = let val len = List.length elems val buf = SMLSharp.PrimArray.allocVector len fun loop (i, nil) = () | loop (i, h::t) = (SMLSharp.PrimArray.update_vector (buf, i, h); loop (i + 1, t)) in loop (0, elems); buf end fun tabulate (size, elemFn) = let val buf = SMLSharp.PrimArray.allocVector size fun loop i = if i >= size then () else (SMLSharp.PrimArray.update_vector (buf, i, elemFn i); loop (i + 1)) in loop 0; buf end val length = SMLSharp.PrimArray.length_vector val sub = SMLSharp.PrimArray.sub_vector fun foldli foldFn z ary = let val len = SMLSharp.PrimArray.length_vector ary fun loop (i, z) = if i >= len then z else let val x = SMLSharp.PrimArray.sub_vector (ary, i) in loop (i + 1, foldFn (i, x, z)) end in loop (0, z) end fun foldl foldFn z ary = foldli (fn (i,x,z) => foldFn (x,z)) z ary fun foldri foldFn z ary = let val len = SMLSharp.PrimArray.length_vector ary fun loop (i, z) = if i < 0 then z else let val x = SMLSharp.PrimArray.sub_vector (ary, i) in loop (i - 1, foldFn (i, x, z)) end in loop (len - 1, z) end fun foldr foldFn z ary = foldri (fn (i,x,z) => foldFn (x,z)) z ary fun appi appFn ary = foldli (fn (i,x,()) => appFn (i,x)) () ary fun app appFn ary = foldli (fn (i,x,()) => appFn x) () ary fun findi predicate ary = let val len = SMLSharp.PrimArray.length_vector ary fun loop i = if i >= len then NONE else let val x = SMLSharp.PrimArray.sub_vector (ary, i) in if predicate (i, x) then SOME (i, x) else loop (i + 1) end in loop 0 end fun find predicate ary = case findi (fn (i,x) => predicate x) ary of SOME (i,x) => SOME x | NONE => NONE fun exists predicate ary = case find predicate ary of SOME _ => true | NONE => false fun all predicate ary = let val len = SMLSharp.PrimArray.length_vector ary fun loop i = if i >= len then true else predicate (SMLSharp.PrimArray.sub_vector (ary, i)) andalso loop (i + 1) in loop 0 end fun 'a collate (cmpFn : ('a * 'a -> order)) (ary1:'a vector, ary2:'a vector) = let val len1 = SMLSharp.PrimArray.length_vector ary1 val len2 = SMLSharp.PrimArray.length_vector ary2 fun loop (i, 0, 0) = EQUAL | loop (i, 0, _) = LESS | loop (i, _, 0) = GREATER | loop (i, rest1, rest2) = let val c1 = SMLSharp.PrimArray.sub_vector (ary1, i) val c2 = SMLSharp.PrimArray.sub_vector (ary2, i) in case cmpFn (c1, c2) of EQUAL => loop (i + 1, rest1 - 1, rest2 - 1) | order => order end in loop (0, len1, len2) end fun update (vec, index, value) = let val len = SMLSharp.PrimArray.length_vector vec in if index < 0 orelse len <= index then raise Subscript else let val buf = SMLSharp.PrimArray.allocVector len in SMLSharp.PrimArray.copy_unsafe_vector_to_vector (vec, 0, buf, 0, len); SMLSharp.PrimArray.update_vector (buf, index, value); buf end end fun concat vectors = let fun totalLength (nil, z) = z | totalLength (h::t, z) = let val len = SMLSharp.PrimArray.length_vector h val z = len + z in if z > maxLen then raise Size else totalLength (t, z) end val len = totalLength (vectors, 0) val buf = SMLSharp.PrimArray.allocVector len fun loop (i, nil) = () | loop (i, h::t) = let val len = SMLSharp.PrimArray.length_vector h in SMLSharp.PrimArray.copy_unsafe_vector_to_vector (h, 0, buf, i, len); loop (i + len, t) end in loop (0, vectors); buf end fun mapi mapFn vec = let val len = SMLSharp.PrimArray.length_vector vec val buf = SMLSharp.PrimArray.allocVector len fun loop i = if i >= len then () else let val x = SMLSharp.PrimArray.sub_vector (vec, i) in SMLSharp.PrimArray.update_vector (buf, i, mapFn (i, x)); loop (i + 1) end in loop 0; buf end fun map mapFn vec = mapi (fn (i,x) => mapFn x) vec end end (* local *) smlsharp-1.2.0/src/basis/main/VECTOR_SLICE.sig0000644 000000000000000000000236612050661606020753 0ustar00rootroot0000000 0000000 include "General.smi" include "Vector.smi" signature VECTOR_SLICE = sig type 'a slice val length : 'a slice -> int val sub : 'a slice * int -> 'a val full : 'a Vector.vector -> 'a slice val slice : 'a Vector.vector * int * int option -> 'a slice val subslice : 'a slice * int * int option -> 'a slice val base : 'a slice -> 'a Vector.vector * int * int val vector : 'a slice -> 'a Vector.vector val concat : 'a slice list -> 'a Vector.vector val isEmpty : 'a slice -> bool val getItem : 'a slice -> ('a * 'a slice) option val appi : (int * 'a -> unit) -> 'a slice -> unit val app : ('a -> unit) -> 'a slice -> unit val mapi : (int * 'a -> 'b) -> 'a slice -> 'b Vector.vector val map : ('a -> 'b) -> 'a slice -> 'b Vector.vector val foldli : (int * 'a * 'b -> 'b) -> 'b -> 'a slice -> 'b val foldri : (int * 'a * 'b -> 'b) -> 'b -> 'a slice -> 'b val foldl : ('a * 'b -> 'b) -> 'b -> 'a slice -> 'b val foldr : ('a * 'b -> 'b) -> 'b -> 'a slice -> 'b val findi : (int * 'a -> bool) -> 'a slice -> (int * 'a) option val find : ('a -> bool) -> 'a slice -> 'a option val exists : ('a -> bool) -> 'a slice -> bool val all : ('a -> bool) -> 'a slice -> bool val collate : ('a * 'a -> order) -> 'a slice * 'a slice -> order end smlsharp-1.2.0/src/basis/main/VectorSlice.smi0000644 000000000000000000000245512050661606021261 0ustar00rootroot0000000 0000000 _require "General.smi" _require "List.smi" _require "Array.smi" _require "Vector.smi" structure VectorSlice = struct type 'a slice (= boxed) val length : 'a slice -> int val sub : 'a slice * int -> 'a val full : 'a Vector.vector -> 'a slice val slice : 'a Vector.vector * int * int option -> 'a slice val subslice : 'a slice * int * int option -> 'a slice val base : 'a slice -> 'a Vector.vector * int * int val vector : 'a slice -> 'a Vector.vector val concat : 'a slice list -> 'a Vector.vector val isEmpty : 'a slice -> bool val getItem : 'a slice -> ('a * 'a slice) option val appi : (int * 'a -> unit) -> 'a slice -> unit val app : ('a -> unit) -> 'a slice -> unit val mapi : (int * 'a -> 'b) -> 'a slice -> 'b Vector.vector val map : ('a -> 'b) -> 'a slice -> 'b Vector.vector val foldli : (int * 'a * 'b -> 'b) -> 'b -> 'a slice -> 'b val foldri : (int * 'a * 'b -> 'b) -> 'b -> 'a slice -> 'b val foldl : ('a * 'b -> 'b) -> 'b -> 'a slice -> 'b val foldr : ('a * 'b -> 'b) -> 'b -> 'a slice -> 'b val findi : (int * 'a -> bool) -> 'a slice -> (int * 'a) option val find : ('a -> bool) -> 'a slice -> 'a option val exists : ('a -> bool) -> 'a slice -> bool val all : ('a -> bool) -> 'a slice -> bool val collate : ('a * 'a -> order) -> 'a slice * 'a slice -> order end smlsharp-1.2.0/src/basis/main/VectorSlice.sml0000644 000000000000000000001732412050661606021265 0ustar00rootroot0000000 0000000 (** * Array related structures. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * * @author Atsushi Ohori (refactored from ArrayStructure) * @copyright 2010, 2011, Tohoku University. *) _interface "VectorSlice.smi" local infix 7 * / div mod infix 6 + - infixr 5 :: infix 4 = <> > >= < <= val op + = SMLSharp.Int.add val op - = SMLSharp.Int.sub val op > = SMLSharp.Int.gt val op < = SMLSharp.Int.lt val op <= = SMLSharp.Int.lteq val op >= = SMLSharp.Int.gteq in structure VectorSlice : sig (* same as VECTOR_SLICE *) type 'a slice val length : 'a slice -> int val sub : 'a slice * int -> 'a val full : 'a Vector.vector -> 'a slice val slice : 'a Vector.vector * int * int option -> 'a slice val subslice : 'a slice * int * int option -> 'a slice val base : 'a slice -> 'a Vector.vector * int * int val vector : 'a slice -> 'a Vector.vector val isEmpty : 'a slice -> bool val getItem : 'a slice -> ('a * 'a slice) option val foldli : (int * 'a * 'b -> 'b) -> 'b -> 'a slice -> 'b val foldl : ('a * 'b -> 'b) -> 'b -> 'a slice -> 'b val foldri : (int * 'a * 'b -> 'b) -> 'b -> 'a slice -> 'b val foldr : ('a * 'b -> 'b) -> 'b -> 'a slice -> 'b val appi : (int * 'a -> unit) -> 'a slice -> unit val app : ('a -> unit) -> 'a slice -> unit val findi : (int * 'a -> bool) -> 'a slice -> (int * 'a) option val find : ('a -> bool) -> 'a slice -> 'a option val exists : ('a -> bool) -> 'a slice -> bool val all : ('a -> bool) -> 'a slice -> bool val collate : ('a * 'a -> order) -> 'a slice * 'a slice -> order val concat : 'a slice list -> 'a Vector.vector val mapi : (int * 'a -> 'b) -> 'a slice -> 'b Vector.vector val map : ('a -> 'b) -> 'a slice -> 'b Vector.vector end = struct type 'a slice = 'a Array.vector * int * int (* array * start * length *) fun length ((ary, start, length):'a slice) = length fun sub ((ary, start, length):'a slice, index) = SMLSharp.PrimArray.sub_vector (ary, start + index) fun full ary = (ary, 0, SMLSharp.PrimArray.length_vector ary) : 'a slice fun slice (ary, start, lengthOpt) = let val length = SMLSharp.PrimArray.length_vector ary val _ = if start < 0 orelse length < start then raise Subscript else () val length = case lengthOpt of NONE => length - start | SOME len => if len < 0 orelse length - start < len then raise Subscript else len in (ary, start, length) : 'a slice end fun subslice ((ary, start, length):'a slice, start2, lengthOpt) = let val _ = if start2 < 0 orelse length < start2 then raise Subscript else () val length = case lengthOpt of NONE => length - start2 | SOME len => if len < 0 orelse length - start2 < len then raise Subscript else len in (ary, start + start2, length) : 'a slice end fun base (x:'a slice) = x fun vector ((ary, start, length):'a slice) = let val buf = SMLSharp.PrimArray.allocVector length in SMLSharp.PrimArray.copy_unsafe_vector_to_vector (ary, start, buf, 0, length); buf end fun isEmpty ((ary, start, length):'a slice) = length = 0 fun getItem ((ary, start, length):'a slice) = if length <= 0 then NONE else SOME (SMLSharp.PrimArray.sub_vector (ary, start), (ary, start + 1, length - 1) : 'a slice) fun ('a, 'b) foldli (foldFn : (int * 'a * 'b -> 'b)) (z : 'b) ((ary, start, length):'a slice) = let val max = start + length fun loop (i, z) = if i >= max then z else let val x = SMLSharp.PrimArray.sub_vector (ary, i) in loop (i + 1, foldFn (i - start, x, z)) end in loop (start, z) end fun foldl foldFn z slice = foldli (fn (i,x,z) => foldFn (x,z)) z slice fun ('a, 'b) foldri (foldFn : (int * 'a * 'b -> 'b)) (z : 'b) ((ary, start, length):'a slice) = let fun loop (i, z) = if i < start then z else let val x = SMLSharp.PrimArray.sub_vector (ary, i) in loop (i - 1, foldFn (i - start, x, z)) end in loop (start + length - 1, z) end fun foldr foldFn z slice = foldri (fn (i,x,z) => foldFn (x,z)) z slice fun findi predicate ((ary, start, length):'a slice) = let val max = start + length fun loop i = if i >= max then NONE else let val x = SMLSharp.PrimArray.sub_vector (ary, i) in if predicate (i - start, x) then SOME (i, x) else loop (i + 1) end in loop start end fun appi appFn slice = foldli (fn (i,x,()) => appFn (i,x)) () slice fun app appFn slice = foldli (fn (i,x,()) => appFn x) () slice fun find predicate slice = case findi (fn (i,x) => predicate x) slice of NONE => NONE | SOME (i,x) => SOME x fun exists predicate ary = case find predicate ary of SOME _ => true | NONE => false fun all predicate ((ary, start, length):'a slice) = let val max = start + length fun loop i = if i >= max then true else predicate (SMLSharp.PrimArray.sub_vector (ary, i)) andalso loop (i + 1) in loop start end fun collate cmpFn ((ary1, start1, length1):'a slice, (ary2, start2, length2):'a slice) = let fun loop (i, 0, j, 0) = EQUAL | loop (i, 0, j, _) = LESS | loop (i, _, j, 0) = GREATER | loop (i, rest1, j, rest2) = let val c1 = SMLSharp.PrimArray.sub_vector (ary1, i) val c2 = SMLSharp.PrimArray.sub_vector (ary2, j) in case cmpFn (c1, c2) of EQUAL => loop (i + 1, rest1 - 1, j + 1, rest2 - 1) | order => order end in loop (start1, length1, start2, length2) end fun concat slices = let fun totalLength (nil, z) = z | totalLength (((vec, start, length):'a slice)::t, z) = let val next = length + z in if next > Array.maxLen then raise Size else totalLength (t, next) end val len = totalLength (slices, 0) val buf = SMLSharp.PrimArray.allocVector len fun loop (i, nil) = () | loop (i, (vec, start, len)::t) = (SMLSharp.PrimArray.copy_unsafe_vector_to_vector (vec, start, buf, i, len); loop (i + len, t)) in loop (0, slices); buf end fun ('a, 'b) mapi (mapFn : (int * 'a -> 'b)) ((vec, start, length):'a slice) = let val buf = SMLSharp.PrimArray.allocVector length val max = start + length fun loop i = if i >= max then () else let val x = SMLSharp.PrimArray.sub_vector (vec, i) in SMLSharp.PrimArray.update_vector (buf, i, mapFn (i - start, x)); loop (i + 1) end in loop start; buf end fun map mapFn slice = mapi (fn (i,x) => mapFn x) slice end (* VectorSlice *) end (* local *) smlsharp-1.2.0/src/basis/main/WORD.sig0000644 000000000000000000000275512050661606017607 0ustar00rootroot0000000 0000000 include "General.smi" include "StringCvt.smi" include "Int.smi" include "IntInf.smi" include "Word.smi" signature WORD = sig eqtype word val wordSize : int val toLarge : word -> LargeWord.word val toLargeX : word -> LargeWord.word val toLargeWord : word -> LargeWord.word val toLargeWordX : word -> LargeWord.word val fromLarge : LargeWord.word -> word val fromLargeWord : LargeWord.word -> word val toLargeInt : word -> LargeInt.int val toLargeIntX : word -> LargeInt.int val fromLargeInt : LargeInt.int -> word val toInt : word -> int val toIntX : word -> int val fromInt : int -> word val andb : word * word -> word val orb : word * word -> word val xorb : word * word -> word val notb : word -> word val << : word * SMLSharp.Word.word -> word val >> : word * SMLSharp.Word.word -> word val ~>> : word * SMLSharp.Word.word -> word val + : word * word -> word val - : word * word -> word val * : word * word -> word val div : word * word -> word val mod : word * word -> word val compare : word * word -> order val < : word * word -> bool val <= : word * word -> bool val > : word * word -> bool val >= : word * word -> bool val ~ : word -> word val min : word * word -> word val max : word * word -> word val fmt : StringCvt.radix -> word -> string val toString : word -> string val scan : StringCvt.radix -> (char, 'a) StringCvt.reader -> (word, 'a) StringCvt.reader val fromString : string -> word option end smlsharp-1.2.0/src/basis/main/Word.smi0000644 000000000000000000000300012050661606017735 0ustar00rootroot0000000 0000000 _require "General.smi" _require "StringCvt.smi" _require "SMLSharpScanChar.smi" _require "IntInf.smi" _require "Int.smi" _require "String.smi" structure Word = struct type word = SMLSharp.Word.word val wordSize : int val toLarge : word -> word val toLargeX : word -> word val toLargeWord : word -> word val toLargeWordX : word -> word val fromLarge : word -> word val fromLargeWord : word -> word val toLargeInt : word -> IntInf.int val toLargeIntX : word -> IntInf.int val fromLargeInt : IntInf.int -> word val toInt : word -> int val toIntX = SMLSharp.Word.toIntX val fromInt = SMLSharp.Word.fromInt val andb = SMLSharp.Word.andb val orb = SMLSharp.Word.orb val xorb = SMLSharp.Word.xorb val notb = SMLSharp.Word.notb val << = SMLSharp.Word.lshift val >> = SMLSharp.Word.rshift val ~>> = SMLSharp.Word.arshift val + = SMLSharp.Word.add val - = SMLSharp.Word.sub val * = SMLSharp.Word.mul val div = SMLSharp.Word.div val mod = SMLSharp.Word.mod val < = SMLSharp.Word.lt val <= = SMLSharp.Word.lteq val > = SMLSharp.Word.gt val >= = SMLSharp.Word.gteq val ~ = SMLSharp.Word.neg val compare : word * word -> order val min : word * word -> word val max : word * word -> word val fmt : StringCvt.radix -> word -> string val scan : StringCvt.radix -> (char, 'a) StringCvt.reader -> (word, 'a) StringCvt.reader val toString : word -> string val fromString : string -> word option end structure LargeWord = Word structure Word32 = Word smlsharp-1.2.0/src/basis/main/Word.sml0000644 000000000000000000001071412050661606017752 0ustar00rootroot0000000 0000000 (** * Integer related structures. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * * @author Atsushi Ohori (refactored from IntStructure) * @copyright 2010, 2011, Tohoku University. *) (* 2012-1-6 Ohori: I rewote this from IntStructre. This is of of the fundamental structures that must to be defined directly. *) _interface "Word.smi" structure Word : sig (* same as WORD *) type word = SMLSharp.Word.word val wordSize : int val toLarge : word -> word val toLargeX : word -> word val toLargeWord : word -> word val toLargeWordX : word -> word val fromLarge : word -> word val fromLargeWord : word -> word val toLargeInt : word -> IntInf.int val toLargeIntX : word -> IntInf.int val fromLargeInt : IntInf.int -> word val toInt : word -> int val toIntX : word -> int val fromInt : int -> word val andb : word * word -> word val orb : word * word -> word val xorb : word * word -> word val notb : word -> word val << : word * SMLSharp.Word.word -> word val >> : word * SMLSharp.Word.word -> word val ~>> : word * SMLSharp.Word.word -> word val + : word * word -> word val - : word * word -> word val * : word * word -> word val div : word * word -> word val mod : word * word -> word val compare : word * word -> order val < : word * word -> bool val <= : word * word -> bool val > : word * word -> bool val >= : word * word -> bool val ~ : word -> word val min : word * word -> word val max : word * word -> word val fmt : StringCvt.radix -> word -> string val toString : word -> string val scan : StringCvt.radix -> (char, 'a) StringCvt.reader -> (word, 'a) StringCvt.reader val fromString : string -> word option end = struct local infix 7 * / div mod infix 6 + - infixr 5 :: infix 4 = <> > >= < <= in type word = SMLSharp.Word.word val wordSize = 32 (* 32-bit unsigned integer *) fun toLarge x = x : word fun toLargeX x = x : word val toLargeWord = toLarge val toLargeWordX = toLargeX fun fromLarge x = x : word val fromLargeWord = fromLarge val toLargeInt = IntInf.fromWord fun toLargeIntX x = IntInf.fromInt (SMLSharp.Word.toIntX x) val fromLargeInt = IntInf.toWord fun toInt w = let val n = SMLSharp.Word.toIntX w in if SMLSharp.Int.lt (n, 0) then raise Overflow else n end val toIntX = SMLSharp.Word.toIntX val fromInt = SMLSharp.Word.fromInt val andb = SMLSharp.Word.andb val orb = SMLSharp.Word.orb val xorb = SMLSharp.Word.xorb val notb = SMLSharp.Word.notb val << = SMLSharp.Word.lshift val >> = SMLSharp.Word.rshift val ~>> = SMLSharp.Word.arshift val op + = SMLSharp.Word.add val op - = SMLSharp.Word.sub val op * = SMLSharp.Word.mul val op div = SMLSharp.Word.div val op mod = SMLSharp.Word.mod val op < = SMLSharp.Word.lt val op <= = SMLSharp.Word.lteq val op > = SMLSharp.Word.gt val op >= = SMLSharp.Word.gteq val op ~ = SMLSharp.Word.neg fun compare (x, y) = if x = y then EQUAL else if x < y then LESS else GREATER fun min (x, y) = if x < y then x else y fun max (x, y) = if x > y then x else y fun fmt radix n = let val r = SMLSharp.Word.fromInt (SMLSharpScanChar.radixToInt radix) fun loop (n, z) = if n = 0w0 then implode z else let val (n, m) = (n div r, toInt (n mod r)) in loop (n, SMLSharpScanChar.intToDigit m :: z) end in if n = 0w0 then "0" else loop (n, nil) end (* 2012-8-19 ohori type annotation added *) fun 'a scan (radix : StringCvt.radix) (getc : (char, 'a) StringCvt.reader) strm = case SMLSharpScanChar.scanWord radix getc strm of NONE => NONE | SOME ({radix=r, digits}, strm) => let fun loop (z, nil) = SOME (z, strm) | loop (z, h::t) = if (case radix of StringCvt.BIN => z >= 0wx80000000 | StringCvt.OCT => z >= 0wx20000000 | StringCvt.DEC => z >= 0wx1999999a | StringCvt.HEX => z >= 0wx10000000) then raise Overflow else loop (z * fromInt r + fromInt h, t) in loop (0w0, digits) end fun toString w = fmt StringCvt.HEX w fun fromString s = StringCvt.scanString (scan StringCvt.HEX) s end end (* Word *) structure LargeWord = Word structure Word32 = Word smlsharp-1.2.0/src/basis/main/Word8.smi0000644 000000000000000000000303012050661606020030 0ustar00rootroot0000000 0000000 _require "General.smi" _require "StringCvt.smi" _require "Word.smi" _require "IntInf.smi" _require "Int.smi" structure Word8 = struct type word = SMLSharp.Word8.word val wordSize : int val toInt = SMLSharp.Word8.toInt val toIntX = SMLSharp.Word8.toIntX val toLarge = SMLSharp.Word8.toWord val toLargeWord = SMLSharp.Word8.toWord val fromInt = SMLSharp.Word8.fromInt val fromLarge : LargeWord.word -> word val fromLargeWord : LargeWord.word -> word val + = SMLSharp.Word8.add val - = SMLSharp.Word8.sub val * = SMLSharp.Word8.mul val div = SMLSharp.Word8.div val mod = SMLSharp.Word8.mod val < = SMLSharp.Word8.lt val <= = SMLSharp.Word8.lteq val > = SMLSharp.Word8.gt val >= = SMLSharp.Word8.gteq val toLargeX : word -> LargeWord.word val toLargeWordX : word -> LargeWord.word val toLargeInt : word -> IntInf.int val toLargeIntX : word -> IntInf.int val fromLargeInt : IntInf.int -> word val andb : word * word -> word val orb : word * word -> word val xorb : word * word -> word val notb : word -> word val << : word * SMLSharp.Word.word -> word val >> : word * SMLSharp.Word.word -> word val ~>> : word * SMLSharp.Word.word -> word val ~ : word -> word val compare : word * word -> order val min : word * word -> word val max : word * word -> word val fmt : StringCvt.radix -> word -> string val toString : word -> string val scan : StringCvt.radix -> (char, 'a) StringCvt.reader -> (word, 'a) StringCvt.reader val fromString : string -> word option end smlsharp-1.2.0/src/basis/main/Word8.sml0000644 000000000000000000000775312050661606020053 0ustar00rootroot0000000 0000000 (** * Integer related structures. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * * @author Atsushi Ohori * @copyright 2010, 2011, Tohoku University. *) _interface "Word8.smi" structure Word8 : sig (* same as WORD *) type word = SMLSharp.Word8.word val wordSize : int val toLarge : word -> LargeWord.word val toLargeX : word -> LargeWord.word val toLargeWord : word -> LargeWord.word val toLargeWordX : word -> LargeWord.word val fromLarge : LargeWord.word -> word val fromLargeWord : LargeWord.word -> word val toLargeInt : word -> IntInf.int val toLargeIntX : word -> IntInf.int val fromLargeInt : IntInf.int -> word val toInt : word -> int val toIntX : word -> int val fromInt : int -> word val andb : word * word -> word val orb : word * word -> word val xorb : word * word -> word val notb : word -> word val << : word * SMLSharp.Word.word -> word val >> : word * SMLSharp.Word.word -> word val ~>> : word * SMLSharp.Word.word -> word val + : word * word -> word val - : word * word -> word val * : word * word -> word val div : word * word -> word val mod : word * word -> word val compare : word * word -> order val < : word * word -> bool val <= : word * word -> bool val > : word * word -> bool val >= : word * word -> bool val ~ : word -> word val min : word * word -> word val max : word * word -> word val fmt : StringCvt.radix -> word -> string val toString : word -> string val scan : StringCvt.radix -> (char, 'a) StringCvt.reader -> (word, 'a) StringCvt.reader val fromString : string -> word option end = struct local infix 7 * / div mod infix 6 + - infixr 5 :: infix 4 = <> > >= < <= in type word = SMLSharp.Word8.word val wordSize = 8 (* 8-bit unsigned integer *) val toInt = SMLSharp.Word8.toInt val toIntX = SMLSharp.Word8.toIntX val toLarge = SMLSharp.Word8.toWord val toLargeWord = SMLSharp.Word8.toWord val fromInt = SMLSharp.Word8.fromInt val fromLarge = SMLSharp.Word8.fromWord val fromLargeWord = SMLSharp.Word8.fromWord val op + = SMLSharp.Word8.add val op - = SMLSharp.Word8.sub val op * = SMLSharp.Word8.mul val op div = SMLSharp.Word8.div val op mod = SMLSharp.Word8.mod val op < = SMLSharp.Word8.lt val op <= = SMLSharp.Word8.lteq val op > = SMLSharp.Word8.gt val op >= = SMLSharp.Word8.gteq fun toLargeX x = SMLSharp.Word.fromInt (SMLSharp.Word8.toIntX x) val toLargeWordX = toLargeX fun toLargeInt x = IntInf.fromWord (SMLSharp.Word8.toWord x) fun toLargeIntX x = IntInf.fromInt (SMLSharp.Word8.toIntX x) fun fromLargeInt x = SMLSharp.Word8.fromWord (IntInf.toWord x) (* ToDo: the following should be builtin primitives *) fun andb (x, y) = fromLarge (SMLSharp.Word.andb (toLarge x, toLarge y)) fun orb (x, y) = fromLarge (SMLSharp.Word.orb (toLarge x, toLarge y)) fun xorb (x, y) = fromLarge (SMLSharp.Word.xorb (toLarge x, toLarge y)) fun notb x = fromLarge (SMLSharp.Word.notb (toLarge x)) fun << (x, y) = fromLarge (SMLSharp.Word.lshift (toLarge x, y)) fun >> (x, y) = fromLarge (SMLSharp.Word.rshift (toLarge x, y)) fun ~>> (x, y) = fromLarge (SMLSharp.Word.arshift (toLarge x, y)) fun op ~ x = fromLarge (SMLSharp.Word.neg (toLarge x)) fun compare (x, y) = if x = y then EQUAL else if x < y then LESS else GREATER fun min (x, y) = if x < y then x else y fun max (x, y) = if x > y then x else y fun fmt radix n = LargeWord.fmt radix (toLarge n) (* 2012-8-19 type annotation added *) fun 'a scan (radix:StringCvt.radix) (getc: (char, 'a) StringCvt.reader) strm = case LargeWord.scan radix getc strm of NONE => NONE | SOME (x, strm) => if SMLSharp.Word.gt (x, 0wxff) then raise Overflow else SOME (SMLSharp.Word8.fromWord x, strm) fun toString n = fmt StringCvt.HEX n fun fromString s = StringCvt.scanString (scan StringCvt.HEX) s end end smlsharp-1.2.0/src/basis/main/Word8Array.smi0000644 000000000000000000000557312050661606021045 0ustar00rootroot0000000 0000000 _require "General.smi" _require "Char.smi" _require "List.smi" _require "SMLSharpScanChar.smi" _require "MONO_ARRAY.sig" _require "MONO_VECTOR.sig" _require "MONO_ARRAY_SLICE.sig" _require "MONO_VECTOR_SLICE.sig" _require "STRING.sig" _require "SUBSTRING.sig" _require "Word8Vector.smi" _require "Word8VectorSlice.smi" structure Word8Array = struct type array = string type elem = SMLSharp.Word8.word type vector = Word8Vector.vector val maxLen : int val array : int * elem -> array val fromList : elem list -> array val tabulate : int * (int -> elem) -> array val length : array -> int val sub : array * int -> elem val update : array * int * elem -> unit val vector : array -> vector val copy : {src : array, dst : array, di : int} -> unit val copyVec : {src : vector, dst : array, di : int} -> unit val appi : (int * elem -> unit) -> array -> unit val app : (elem -> unit) -> array -> unit val modifyi : (int * elem -> elem) -> array -> unit val modify : (elem -> elem) -> array -> unit val foldli : (int * elem * 'b -> 'b) -> 'b -> array -> 'b val foldri : (int * elem * 'b -> 'b) -> 'b -> array -> 'b val foldl : (elem * 'b -> 'b) -> 'b -> array -> 'b val foldr : (elem * 'b -> 'b) -> 'b -> array -> 'b val findi : (int * elem -> bool) -> array -> (int * elem) option val find : (elem -> bool) -> array -> elem option val exists : (elem -> bool) -> array -> bool val all : (elem -> bool) -> array -> bool val collate : (elem * elem -> order) -> array * array -> order end structure Word8ArraySlice = struct type elem = SMLSharp.Word8.word type array = Word8Array.array type slice (= boxed) type vector = Word8Vector.vector type vector_slice = Word8VectorSlice.slice val length : slice -> int val sub : slice * int -> elem val update : slice * int * elem -> unit val full : array -> slice val slice : array * int * int option -> slice val subslice : slice * int * int option -> slice val base : slice -> array * int * int val vector : slice -> vector val copy : {src : slice, dst : array, di : int} -> unit val copyVec : {src : vector_slice, dst : array, di : int} -> unit val isEmpty : slice -> bool val getItem : slice -> (elem * slice) option val appi : (int * elem -> unit) -> slice -> unit val app : (elem -> unit) -> slice -> unit val modifyi : (int * elem -> elem) -> slice -> unit val modify : (elem -> elem) -> slice -> unit val foldli : (int * elem * 'b -> 'b) -> 'b -> slice -> 'b val foldr : (elem * 'b -> 'b) -> 'b -> slice -> 'b val foldl : (elem * 'b -> 'b) -> 'b -> slice -> 'b val foldri : (int * elem * 'b -> 'b) -> 'b -> slice -> 'b val findi : (int * elem -> bool) -> slice -> (int * elem) option val find : (elem -> bool) -> slice -> elem option val exists : (elem -> bool) -> slice -> bool val all : (elem -> bool) -> slice -> bool val collate : (elem * elem -> order) -> slice * slice -> order end smlsharp-1.2.0/src/basis/main/Word8Array.sml0000644 000000000000000000003135312050661606021043 0ustar00rootroot0000000 0000000 (** * String related structures. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * @copyright 2010, 2011, Tohoku University. *) _interface "Word8Array.smi" local infix 7 * / div mod infix 6 + - infixr 5 :: infix 4 = <> > >= < <= val op + = SMLSharp.Int.add val op - = SMLSharp.Int.sub val op > = SMLSharp.Int.gt val op < = SMLSharp.Int.lt val op <= = SMLSharp.Int.lteq val op >= = SMLSharp.Int.gteq structure Word8ArrayStructure :> sig structure Word8Array : MONO_ARRAY where type array = string where type vector = Word8Vector.vector where type elem = SMLSharp.Word8.word structure Word8ArraySlice : MONO_ARRAY_SLICE where type vector = Word8Vector.vector where type vector_slice = Word8VectorSlice.slice where type array = Word8Array.array where type elem = SMLSharp.Word8.word end = struct structure Word8Array : MONO_ARRAY = struct type vector = string type array = string type elem = SMLSharp.Word8.word (* object size occupies 28 bits of 32-bit object header. *) val maxLen = 0x0fffffff val length = SMLSharp.PrimString.size fun sub (ary, index) = if index < 0 orelse SMLSharp.PrimString.size ary <= index then raise Subscript else SMLSharp.Word8.sub_unsafe (ary, index) fun foldli foldFn z ary = let val len = SMLSharp.PrimString.size ary fun loop (i, z) = if i >= len then z else let val x = SMLSharp.Word8.sub_unsafe (ary, i) in loop (i + 1, foldFn (i, x, z)) end in loop (0, z) end fun foldl foldFn z ary = foldli (fn (i,x,z) => foldFn (x,z)) z ary fun foldri foldFn z ary = let val len = SMLSharp.PrimString.size ary fun loop (i, z) = if i < 0 then z else let val x = SMLSharp.Word8.sub_unsafe (ary, i) in loop (i - 1, foldFn (i, x, z)) end in loop (len - 1, z) end fun foldr foldFn z ary = foldri (fn (i,x,z) => foldFn (x,z)) z ary fun appi appFn ary = foldli (fn (i,x,()) => appFn (i,x)) () ary fun app appFn ary = foldli (fn (i,x,()) => appFn x) () ary fun findi predicate ary = let val len = SMLSharp.PrimString.size ary fun loop i = if i >= len then NONE else let val x = SMLSharp.Word8.sub_unsafe (ary, i) in if predicate (i, x) then SOME (i, x) else loop (i + 1) end in loop 0 end fun find predicate ary = case findi (fn (i,x) => predicate x) ary of SOME (i,x) => SOME x | NONE => NONE fun exists predicate ary = case find predicate ary of SOME _ => true | NONE => false fun all predicate ary = let val len = SMLSharp.PrimString.size ary fun loop i = if i >= len then true else predicate (SMLSharp.Word8.sub_unsafe (ary, i)) andalso loop (i + 1) in loop 0 end fun collate cmpFn (ary1, ary2) = let val len1 = SMLSharp.PrimString.size ary1 val len2 = SMLSharp.PrimString.size ary2 fun loop (i, 0, 0) = EQUAL | loop (i, 0, _) = LESS | loop (i, _, 0) = GREATER | loop (i, rest1, rest2) = let val c1 = SMLSharp.Word8.sub_unsafe (ary1, i) val c2 = SMLSharp.Word8.sub_unsafe (ary2, i) in case cmpFn (c1, c2) of EQUAL => loop (i + 1, rest1 - 1, rest2 - 1) | order => order end in loop (0, len1, len2) end fun array (len, elem) = let val buf = SMLSharp.PrimString.allocArray len fun loop i = if i >= len then () else (SMLSharp.Word8.update_unsafe (buf, i, elem); loop (i + 1)) in loop 0; buf end fun fromList elems = let fun length (nil : elem list, z) = z | length (h::t, z) = length (t, z + 1) val len = length (elems, 0) val buf = SMLSharp.PrimString.allocArray len fun fill (i, nil) = () | fill (i, h::t) = (SMLSharp.Word8.update_unsafe (buf, i, h); fill (i + 1, t)) in fill (0, elems); buf end fun tabulate (len, elemFn) = let val buf = SMLSharp.PrimString.allocArray len fun fill i = if i >= len then () else (SMLSharp.Word8.update_unsafe (buf, i, elemFn i); fill (i + 1)) in fill 0; buf end fun update (ary, index, elem) = if index < 0 orelse SMLSharp.PrimString.size ary <= index then raise Subscript else SMLSharp.Word8.update_unsafe (ary, index, elem) fun vector ary = let val len = SMLSharp.PrimString.size ary val buf = SMLSharp.PrimString.allocVector len in SMLSharp.PrimString.copy_unsafe (ary, 0, buf, 0, len); buf end fun copy {src, dst, di} = let val srclen = SMLSharp.PrimString.size src val dstlen = SMLSharp.PrimString.size dst in if di < 0 orelse dstlen < di orelse dstlen - di < srclen then raise Subscript else SMLSharp.PrimString.copy_unsafe (src, 0, dst, di, srclen) end val copyVec = copy fun modifyi mapFn ary = let val len = SMLSharp.PrimString.size ary fun loop i = if i >= len then () else let val x = SMLSharp.Word8.sub_unsafe (ary, i) in SMLSharp.Word8.update_unsafe (ary, i, mapFn (i, x)); loop (i + 1) end in loop 0 end fun modify mapFn ary = modifyi (fn (i,x) => mapFn x) ary end (* Word8Array *) structure Word8ArraySlice = struct type array = string type vector = string type slice = array * int * int (* array * start * length *) type vector_slice = Word8VectorSlice.slice type elem = SMLSharp.Word8.word fun length ((ary, start, length):slice) = length fun sub ((ary, start, length):slice, index) = if index < 0 orelse length <= index then raise Subscript else SMLSharp.Word8.sub_unsafe (ary, start + index) fun full ary = (ary, 0, Word8Array.length ary) : slice fun slice (ary, start, lengthOpt) = let val length = Word8Array.length ary val _ = if start < 0 orelse length < start then raise Subscript else () val length = case lengthOpt of NONE => length - start | SOME len => if len < 0 orelse length - start < len then raise Subscript else len in (ary, start, length) : slice end fun subslice ((ary, start, length):slice, start2, lengthOpt) = let val _ = if start2 < 0 orelse length < start2 then raise Subscript else () val length = case lengthOpt of NONE => length - start2 | SOME len => if len < 0 orelse length - start2 < len then raise Subscript else len in (ary, start + start2, length) : slice end fun base (x:slice) = x fun vector ((ary, start, length):slice) = let val buf = SMLSharp.PrimString.allocVector length in SMLSharp.PrimString.copy_unsafe (ary, start, buf, 0, length); buf end fun isEmpty ((ary, start, length):slice) = length = 0 fun getItem ((ary, start, length):slice) = if length <= 0 then NONE else SOME (SMLSharp.Word8.sub_unsafe (ary, start), (ary, start + 1, length - 1) : slice) fun foldli foldFn z ((ary, start, length):slice) = let val max = start + length fun loop (i, z) = if i >= max then z else let val x = SMLSharp.Word8.sub_unsafe (ary, i) in loop (i + 1, foldFn (i - start, x, z)) end in loop (start, z) end fun foldl foldFn z slice = foldli (fn (i,x,z) => foldFn (x,z)) z slice fun appi appFn slice = foldli (fn (i,x,()) => appFn (i,x)) () slice fun app appFn slice = foldli (fn (i,x,()) => appFn x) () slice fun foldri foldFn z ((ary, start, length):slice) = let fun loop (i, z) = if i < start then z else let val x = SMLSharp.Word8.sub_unsafe (ary, i) in loop (i - 1, foldFn (i - start, x, z)) end in loop (start + length - 1, z) end fun foldr foldFn z slice = foldri (fn (i,x,z) => foldFn (x,z)) z slice fun findi predicate ((ary, start, length):slice) = let val max = start + length fun loop i = if i >= max then NONE else let val x = SMLSharp.Word8.sub_unsafe (ary, i) in if predicate (i - start, x) then SOME (i, x) else loop (i + 1) end in loop start end fun find predicate slice = case findi (fn (i,x) => predicate x) slice of NONE => NONE | SOME (i,x) => SOME x fun exists predicate ary = case find predicate ary of SOME _ => true | NONE => false fun all predicate ((ary, start, length):slice) = let val max = start + length fun loop i = if i >= max then true else predicate (SMLSharp.Word8.sub_unsafe (ary, i)) andalso loop (i + 1) in loop start end fun collate cmpFn ((ary1, start1, length1):slice, (ary2, start2, length2):slice) = let fun loop (i, 0, j, 0) = EQUAL | loop (i, 0, j, _) = LESS | loop (i, _, j, 0) = GREATER | loop (i, rest1, j, rest2) = let val c1 = SMLSharp.Word8.sub_unsafe (ary1, i) val c2 = SMLSharp.Word8.sub_unsafe (ary2, j) in case cmpFn (c1, c2) of EQUAL => loop (i + 1, rest1 - 1, j + 1, rest2 - 1) | order => order end in loop (start1, length1, start2, length2) end fun update ((ary, start, length):slice, index, elem) = if index < 0 orelse length <= index then raise Subscript else SMLSharp.Word8.update_unsafe (ary, start + index, elem) fun copy {src = (srcary, srcstart, srclen):slice, dst, di} = let val dstlen = Word8Array.length dst in if di < 0 orelse dstlen < di orelse dstlen - di < srclen then raise Subscript else SMLSharp.PrimString.copy_unsafe (srcary, srcstart, dst, di, srclen) end fun copyVec {src:vector_slice, dst, di} = let val (srcary, srcstart, srclen) = Word8VectorSlice.base src val dstlen = Word8Array.length dst in if di < 0 orelse dstlen < di orelse dstlen - di < srclen then raise Subscript else SMLSharp.PrimString.copy_unsafe (srcary, srcstart, dst, di, srclen) end fun modifyi mapFn ((ary, start, length):slice) = let val max = start + length fun loop i = if i >= max then () else let val x = SMLSharp.Word8.sub_unsafe (ary, i) val x = mapFn (i - start, x) in SMLSharp.Word8.update_unsafe (ary, i, x); loop (i + 1) end in loop start end fun modify mapFn slice = modifyi (fn (i,x) => mapFn x) slice end (* Word8ArraySlice *) end (* Word8ArrayStructure *) in open Word8ArrayStructure end (* local *) smlsharp-1.2.0/src/basis/main/Word8Vector.smi0000644 000000000000000000000243512050661606021223 0ustar00rootroot0000000 0000000 _require "General.smi" _require "Char.smi" _require "List.smi" _require "SMLSharpScanChar.smi" _require "MONO_ARRAY.sig" _require "MONO_VECTOR.sig" _require "MONO_ARRAY_SLICE.sig" _require "MONO_VECTOR_SLICE.sig" _require "STRING.sig" _require "SUBSTRING.sig" structure Word8Vector = struct type vector = string type elem = SMLSharp.Word8.word val maxLen : int val fromList : elem list -> vector val tabulate : int * (int -> elem) -> vector val length : vector -> int val sub : vector * int -> elem val update : vector * int * elem -> vector val concat : vector list -> vector val appi : (int * elem -> unit) -> vector -> unit val app : (elem -> unit) -> vector -> unit val mapi : (int * elem -> elem) -> vector -> vector val map : (elem -> elem) -> vector -> vector val foldli : (int * elem * 'a -> 'a) -> 'a -> vector -> 'a val foldri : (int * elem * 'a -> 'a) -> 'a -> vector -> 'a val foldl : (elem * 'a -> 'a) -> 'a -> vector -> 'a val foldr : (elem * 'a -> 'a) -> 'a -> vector -> 'a val findi : (int * elem -> bool) -> vector -> (int * elem) option val find : (elem -> bool) -> vector -> elem option val exists : (elem -> bool) -> vector -> bool val all : (elem -> bool) -> vector -> bool val collate : (elem * elem -> order) -> vector * vector -> order end smlsharp-1.2.0/src/basis/main/Word8Vector.sml0000644 000000000000000000001361112050661606021224 0ustar00rootroot0000000 0000000 (** * String related structures. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * * @author Atsushi Ohori (refactored from StringStructure) * @copyright 2010, 2011, Tohoku University. *) _interface "Word8Vector.smi" structure Word8Vector :> MONO_VECTOR where type vector = string where type elem = SMLSharp.Word8.word = struct local infix 7 * / div mod infix 6 + - infixr 5 :: infix 4 = <> > >= < <= val op + = SMLSharp.Int.add val op - = SMLSharp.Int.sub val op > = SMLSharp.Int.gt val op < = SMLSharp.Int.lt val op <= = SMLSharp.Int.lteq val op >= = SMLSharp.Int.gteq in type vector = string type elem = SMLSharp.Word8.word (* object size occupies 28 bits of 32-bit object header. *) val maxLen = 0x0fffffff val length = SMLSharp.PrimString.size fun sub (ary, index) = if index < 0 orelse SMLSharp.PrimString.size ary <= index then raise Subscript else SMLSharp.Word8.sub_unsafe (ary, index) fun foldli foldFn z ary = let val len = SMLSharp.PrimString.size ary fun loop (i, z) = if i >= len then z else let val x = SMLSharp.Word8.sub_unsafe (ary, i) in loop (i + 1, foldFn (i, x, z)) end in loop (0, z) end fun foldl foldFn z ary = foldli (fn (i,x,z) => foldFn (x,z)) z ary fun foldri foldFn z ary = let val len = SMLSharp.PrimString.size ary fun loop (i, z) = if i < 0 then z else let val x = SMLSharp.Word8.sub_unsafe (ary, i) in loop (i - 1, foldFn (i, x, z)) end in loop (len - 1, z) end fun foldr foldFn z ary = foldri (fn (i,x,z) => foldFn (x,z)) z ary fun appi appFn ary = foldli (fn (i,x,()) => appFn (i,x)) () ary fun app appFn ary = foldli (fn (i,x,()) => appFn x) () ary fun findi predicate ary = let val len = SMLSharp.PrimString.size ary fun loop i = if i >= len then NONE else let val x = SMLSharp.Word8.sub_unsafe (ary, i) in if predicate (i, x) then SOME (i, x) else loop (i + 1) end in loop 0 end fun find predicate ary = case findi (fn (i,x) => predicate x) ary of SOME (i,x) => SOME x | NONE => NONE fun exists predicate ary = case find predicate ary of SOME _ => true | NONE => false fun all predicate ary = let val len = SMLSharp.PrimString.size ary fun loop i = if i >= len then true else predicate (SMLSharp.Word8.sub_unsafe (ary, i)) andalso loop (i + 1) in loop 0 end fun collate cmpFn (ary1, ary2) = let val len1 = SMLSharp.PrimString.size ary1 val len2 = SMLSharp.PrimString.size ary2 fun loop (i, 0, 0) = EQUAL | loop (i, 0, _) = LESS | loop (i, _, 0) = GREATER | loop (i, rest1, rest2) = let val c1 = SMLSharp.Word8.sub_unsafe (ary1, i) val c2 = SMLSharp.Word8.sub_unsafe (ary2, i) in case cmpFn (c1, c2) of EQUAL => loop (i + 1, rest1 - 1, rest2 - 1) | order => order end in loop (0, len1, len2) end fun fromList elems = let fun length (nil : elem list, z) = z | length (h::t, z) = length (t, z + 1) val len = length (elems, 0) val buf = SMLSharp.PrimString.allocVector len fun fill (i, nil) = () | fill (i, h::t) = (SMLSharp.Word8.update_unsafe (buf, i, h); fill (i + 1, t)) in fill (0, elems); buf end fun tabulate (len, elemFn) = let val buf = SMLSharp.PrimString.allocVector len fun fill i = if i >= len then () else (SMLSharp.Word8.update_unsafe (buf, i, elemFn i); fill (i + 1)) in fill 0; buf end fun update (vec, index, value) = let val len = SMLSharp.PrimString.size vec in if index < 0 orelse len <= index then raise Subscript else let val buf = SMLSharp.PrimString.allocVector len in SMLSharp.PrimString.copy_unsafe (vec, 0, buf, 0, len); SMLSharp.Word8.update_unsafe (buf, index, value); buf end end fun concat vectors = let fun totalLength (nil, z) = z | totalLength (h::t, z) = let val len = SMLSharp.PrimString.size h val z = len + z in if z > maxLen then raise Size else totalLength (t, z) end val len = totalLength (vectors, 0) val buf = SMLSharp.PrimString.allocVector len fun loop (i, nil) = () | loop (i, h::t) = let val len = SMLSharp.PrimString.size h in SMLSharp.PrimString.copy_unsafe (h, 0, buf, i, len); loop (i + len, t) end in loop (0, vectors); buf end fun mapi mapFn vec = let val len = SMLSharp.PrimString.size vec val buf = SMLSharp.PrimString.allocVector len fun loop i = if i >= len then () else let val x = SMLSharp.Word8.sub_unsafe (vec, i) in SMLSharp.Word8.update_unsafe (buf, i, mapFn (i, x)); loop (i + 1) end in loop 0; buf end fun map mapFn vec = mapi (fn (i,x) => mapFn x) vec end (* Word8Vector *) end (* local *) smlsharp-1.2.0/src/basis/main/Word8VectorSlice.smi0000644 000000000000000000000270512050661606022203 0ustar00rootroot0000000 0000000 _require "General.smi" _require "Char.smi" _require "List.smi" _require "SMLSharpScanChar.smi" _require "MONO_ARRAY.sig" _require "MONO_VECTOR.sig" _require "MONO_ARRAY_SLICE.sig" _require "MONO_VECTOR_SLICE.sig" _require "STRING.sig" _require "SUBSTRING.sig" _require "Word8Vector.smi" structure Word8VectorSlice = struct type elem = SMLSharp.Word8.word type vector = string type slice (= boxed) val length : slice -> int val sub : slice * int -> elem val full : vector -> slice val isEmpty : slice -> bool val concat : slice list -> vector val collate : (elem * elem -> order) -> slice * slice -> order val appi : (int * elem -> unit) -> slice -> unit val app : (elem -> unit) -> slice -> unit val foldli : (int * elem * 'b -> 'b) -> 'b -> slice -> 'b val foldr : (elem * 'b -> 'b) -> 'b -> slice -> 'b val foldl : (elem * 'b -> 'b) -> 'b -> slice -> 'b val foldri : (int * elem * 'b -> 'b) -> 'b -> slice -> 'b val slice : vector * int * int option -> slice val subslice : slice * int * int option -> slice val base : slice -> vector * int * int val vector : slice -> vector val getItem : slice -> (elem * slice) option val mapi : (int * elem -> elem) -> slice -> vector val map : (elem -> elem) -> slice -> vector val findi : (int * elem -> bool) -> slice -> (int * elem) option val find : (elem -> bool) -> slice -> elem option val exists : (elem -> bool) -> slice -> bool val all : (elem -> bool) -> slice -> bool end smlsharp-1.2.0/src/basis/main/Word8VectorSlice.sml0000644 000000000000000000001447212050661606022212 0ustar00rootroot0000000 0000000 (** * String related structures. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * @copyright 2010, 2011, Tohoku University. *) _interface "Word8VectorSlice.smi" structure Word8VectorSlice :> MONO_VECTOR_SLICE where type vector = string where type elem = SMLSharp.Word8.word = struct local infix 7 * / div mod infix 6 + - infixr 5 :: infix 4 = <> > >= < <= val op + = SMLSharp.Int.add val op - = SMLSharp.Int.sub val op > = SMLSharp.Int.gt val op < = SMLSharp.Int.lt val op <= = SMLSharp.Int.lteq val op >= = SMLSharp.Int.gteq in type elem = SMLSharp.Word8.word type vector = string type slice = vector * int * int (* array * start * length *) fun length ((ary, start, length):slice) = length fun sub ((ary, start, length):slice, index) = if index < 0 orelse length <= index then raise Subscript else SMLSharp.Word8.sub_unsafe (ary, start + index) fun full ary = (ary, 0, SMLSharp.PrimString.size ary) : slice fun slice (ary, start, lengthOpt) = let val length = SMLSharp.PrimString.size ary val _ = if start < 0 orelse length < start then raise Subscript else () val length = case lengthOpt of NONE => length - start | SOME len => if len < 0 orelse length - start < len then raise Subscript else len in (ary, start, length) : slice end fun subslice ((ary, start, length):slice, start2, lengthOpt) = let val _ = if start2 < 0 orelse length < start2 then raise Subscript else () val length = case lengthOpt of NONE => length - start2 | SOME len => if len < 0 orelse length - start2 < len then raise Subscript else len in (ary, start + start2, length) : slice end fun base (x:slice) = x fun vector ((ary, start, length):slice) = let val buf = SMLSharp.PrimString.allocVector length in SMLSharp.PrimString.copy_unsafe (ary, start, buf, 0, length); buf end fun isEmpty ((ary, start, length):slice) = length = 0 fun getItem ((ary, start, length):slice) = if length <= 0 then NONE else SOME (SMLSharp.Word8.sub_unsafe (ary, start), (ary, start + 1, length - 1) : slice) fun foldli foldFn z ((ary, start, length):slice) = let val max = start + length fun loop (i, z) = if i >= max then z else let val x = SMLSharp.Word8.sub_unsafe (ary, i) in loop (i + 1, foldFn (i - start, x, z)) end in loop (start, z) end fun foldl foldFn z slice = foldli (fn (i,x,z) => foldFn (x,z)) z slice fun foldri foldFn z ((ary, start, length):slice) = let fun loop (i, z) = if i < start then z else let val x = SMLSharp.Word8.sub_unsafe (ary, i) in loop (i - 1, foldFn (i - start, x, z)) end in loop (start + length - 1, z) end fun foldr foldFn z slice = foldri (fn (i,x,z) => foldFn (x,z)) z slice fun appi appFn slice = foldli (fn (i,x,()) => appFn (i,x)) () slice fun app appFn slice = foldli (fn (i,x,()) => appFn x) () slice fun findi predicate ((ary, start, length):slice) = let val max = start + length fun loop i = if i >= max then NONE else let val x = SMLSharp.Word8.sub_unsafe (ary, i) in if predicate (i - start, x) then SOME (i, x) else loop (i + 1) end in loop start end fun find predicate slice = case findi (fn (i,x) => predicate x) slice of NONE => NONE | SOME (i,x) => SOME x fun exists predicate ary = case find predicate ary of SOME _ => true | NONE => false fun all predicate ((ary, start, length):slice) = let val max = start + length fun loop i = if i >= max then true else predicate (SMLSharp.Word8.sub_unsafe (ary, i)) andalso loop (i + 1) in loop start end fun collate cmpFn ((ary1, start1, length1):slice, (ary2, start2, length2):slice) = let fun loop (i, 0, j, 0) = EQUAL | loop (i, 0, j, _) = LESS | loop (i, _, j, 0) = GREATER | loop (i, rest1, j, rest2) = let val c1 = SMLSharp.Word8.sub_unsafe (ary1, i) val c2 = SMLSharp.Word8.sub_unsafe (ary2, j) in case cmpFn (c1, c2) of EQUAL => loop (i + 1, rest1 - 1, j + 1, rest2 - 1) | order => order end in loop (start1, length1, start2, length2) end fun concat slices = let fun totalLength (nil, z) = z | totalLength (((vec, start, length):slice)::t, z) = let val z = length + z in if z > Word8Vector.maxLen then raise Size else totalLength (t, z) end val len = totalLength (slices, 0) val buf = SMLSharp.PrimString.allocVector len fun loop (i, nil) = () | loop (i, (vec, start, len)::t) = (SMLSharp.PrimString.copy_unsafe (vec, start, buf, i, len); loop (i + len, t)) in loop (0, slices); buf end fun mapi mapFn ((vec, start, length):slice) = let val buf = SMLSharp.PrimString.allocVector length val max = start + length fun loop i = if i >= max then () else let val x = SMLSharp.Word8.sub_unsafe (vec, i) val x = mapFn (i - start, x) in SMLSharp.Word8.update_unsafe (buf, i, x); loop (i + 1) end in loop start; buf end fun map mapFn slice = mapi (fn (i,x) => mapFn x) slice end end (* Word8VectorSlice *) smlsharp-1.2.0/src/basis.smi0000644 000000000000000000000527112050661606016112 0ustar00rootroot0000000 0000000 include "basis/main/VectorSlice.smi" include "basis/main/StringCvt.smi" include "basis/main/General.smi" include "basis/main/Word8VectorSlice.smi" include "basis/main/Vector.smi" include "basis/main/Array.smi" include "basis/main/Word8Vector.smi" include "basis/main/Bool.smi" include "basis/main/TextIO.smi" include "basis/main/StringBase.smi" include "basis/main/BinIO.smi" include "basis/main/IO.smi" include "basis/main/RealClass.smi" include "basis/main/ListPair.smi" include "basis/main/Real32.smi" include "basis/main/IntInf.smi" include "basis/main/CharVectorSlice.smi" include "basis/main/Text.smi" include "basis/main/Substring.smi" include "basis/main/Word8Array.smi" include "basis/main/CommandLine.smi" include "basis/main/List.smi" include "basis/main/CharVector.smi" include "basis/main/Byte.smi" include "basis/main/ArraySlice.smi" include "basis/main/CharArray.smi" include "basis/main/OS.smi" include "basis/main/Real.smi" include "basis/main/Char.smi" include "basis/main/Time.smi" include "basis/main/Word.smi" include "basis/main/Word8.smi" include "basis/main/Int.smi" include "basis/main/Timer.smi" include "basis/main/Date.smi" include "basis/main/Option.smi" include "basis/main/IEEEReal.smi" include "basis/main/String.smi" include "smlnj/Basis/IO/prim-io-bin.smi" include "smlnj/Basis/IO/prim-io-text.smi" include "basis/main/ARRAY.sig" include "basis/main/ARRAY_SLICE.sig" include "basis/main/BIN_IO.sig" include "basis/main/BOOL.sig" include "basis/main/BYTE.sig" include "basis/main/CHAR.sig" include "basis/main/COMMAND_LINE.sig" include "basis/main/DATE.sig" include "basis/main/GENERAL.sig" include "basis/main/IEEE_REAL.sig" include "basis/main/IMPERATIVE_IO.sig" include "basis/main/INTEGER.sig" include "basis/main/INT_INF.sig" include "basis/main/IO.sig" include "basis/main/LIST.sig" include "basis/main/LIST_PAIR.sig" include "basis/main/MATH.sig" include "basis/main/MONO_ARRAY.sig" include "basis/main/MONO_ARRAY_SLICE.sig" include "basis/main/MONO_VECTOR.sig" include "basis/main/MONO_VECTOR_SLICE.sig" include "basis/main/OPTION.sig" include "basis/main/OS.sig" include "basis/main/OS_FILE_SYS.sig" include "basis/main/OS_IO.sig" include "basis/main/OS_PATH.sig" include "basis/main/OS_PROCESS.sig" include "basis/main/PRIM_IO.sig" include "basis/main/REAL.sig" include "basis/main/STREAM_IO.sig" include "basis/main/STRING.sig" include "basis/main/STRING_CVT.sig" include "basis/main/SUBSTRING.sig" include "basis/main/TEXT.sig" include "basis/main/TEXT_IO.sig" include "basis/main/TEXT_STREAM_IO.sig" include "basis/main/TIME.sig" include "basis/main/TIMER.sig" include "basis/main/VECTOR.sig" include "basis/main/VECTOR_SLICE.sig" include "basis/main/WORD.sig" include "basis/main/binary-op.smi" smlsharp-1.2.0/src/builtin.smi0000644 000000000000000000002665412050661606016467 0ustar00rootroot0000000 0000000 (* If you change this file, edit BuiltinName.sml with respect to the change * of this file. *) datatype int = _builtin datatype int datatype word = _builtin datatype word datatype char = _builtin datatype char datatype string = _builtin datatype string datatype real = _builtin datatype real datatype unit = _builtin datatype unit datatype ptr = _builtin datatype ptr datatype exn = _builtin datatype exn datatype array = _builtin datatype array datatype vector = _builtin datatype vector datatype bool = _builtin datatype bool datatype intInf = _builtin datatype intInf datatype word8 = _builtin datatype word8 datatype real32 = _builtin datatype real32 datatype boxed = _builtin datatype boxed datatype list = _builtin datatype list datatype option = _builtin datatype option datatype order = _builtin datatype order datatype ref = _builtin datatype ref (* datatype server = _builtin datatype server datatype dbi = _builtin datatype dbi datatype value = _builtin datatype value *) exception Bind exception Match exception Subscript exception Size exception Overflow exception Div exception Domain exception Fail of string exception Chr exception Span exception Empty exception Option val = = _builtin val Equal : ''a * ''a -> bool val := = _builtin val Ref_assign : 'a ref * 'a -> unit val ! = _builtin val Ref_deref : 'a ref -> 'a val exnName = _builtin val Exn_Name : exn -> string structure SMLSharp = struct val identityEqual = _builtin val IdentityEqual : boxed * boxed -> bool (* The followings are provided for defining the Basis Library. *) structure PrimArray = struct val allocArray = _builtin val Array_allocArray : int -> 'a array val sub = _builtin val Array_sub : 'a array * int -> 'a val update = _builtin val Array_update : 'a array * int * 'a -> unit val length = _builtin val Array_length : 'a array -> int (* 2012-1-7 ohori: the followingaliases are for defining vector efficiently. *) val allocVector = _builtin val Array_allocVector : int -> 'a vector val sub_vector = _builtin val Array_sub : 'a vector * int -> 'a val update_vector = _builtin val Array_update : 'a vector * int * 'a -> unit val length_vector = _builtin val Array_length : 'a vector -> int val copy_unsafe_array_to_array = _builtin val Array_copy_unsafe : 'a array * int * 'a array * int * int -> unit val copy_unsafe_array_to_vector = _builtin val Array_copy_unsafe : 'a array * int * 'a vector * int * int -> unit val copy_unsafe_vector_to_array = _builtin val Array_copy_unsafe : 'a vector * int * 'a array * int * int -> unit val copy_unsafe_vector_to_vector = _builtin val Array_copy_unsafe : 'a vector * int * 'a vector * int * int -> unit end structure PrimString = struct val allocArray = _builtin val String_allocArray : int -> string val copy_unsafe = _builtin val String_copy_unsafe : string * int * string * int * int -> unit val size = _builtin val String_size : string -> int val allocVector = _builtin val String_allocVector : int -> string val compare = _builtin val String_compare : string * string -> int val toBoxed = _builtin val Cast : string -> boxed val sub_unsafe = _builtin val String_sub : string * int -> char val update_unsafe = _builtin val String_update : string * int * char -> unit end structure Real = struct type real = real val equal = _builtin val Real_equal : real * real -> bool val unorderedOrEqual = _builtin val Real_unorderedOrEqual : real * real -> bool val fromInt = _builtin val Real_fromInt : int -> real val trunc_unsafe = _builtin val Real_trunc_unsafe_noov : real -> int val abs = _builtin val Real_abs : real -> real val add = _builtin val Real_add : real * real -> real val div = _builtin val Real_div : real * real -> real val gt = _builtin val Real_gt : real * real -> bool val gteq = _builtin val Real_gteq : real * real -> bool val lt = _builtin val Real_lt : real * real -> bool val lteq = _builtin val Real_lteq : real * real -> bool val mul = _builtin val Real_mul : real * real -> real val rem = _builtin val Float_rem : real * real -> real val neg = _builtin val Real_neg : real -> real val sub = _builtin val Real_sub : real * real -> real end structure Real32 = struct type real = real32 val equal = _builtin val Float_equal : real * real -> bool val unorderedOrEqual = _builtin val Float_unorderedOrEqual : real * real -> bool val fromInt = _builtin val Float_fromInt : int -> real val fromReal = _builtin val Float_fromReal : Real.real -> real val toReal = _builtin val Float_toReal : real -> Real.real val trunc_unsafe = _builtin val Float_trunc_unsafe_noov : real -> int val abs = _builtin val Float_abs : real -> real val add = _builtin val Float_add : real * real -> real val div = _builtin val Float_div : real * real -> real val gt = _builtin val Float_gt : real * real -> bool val gteq = _builtin val Float_gteq : real * real -> bool val lt = _builtin val Float_lt : real * real -> bool val lteq = _builtin val Float_lteq : real * real -> bool val mul = _builtin val Float_mul : real * real -> real val rem = _builtin val Float_rem : real * real -> real val neg = _builtin val Float_neg : real -> real val sub = _builtin val Float_sub : real * real -> real end structure Char = struct type char = char val chr_unsafe = _builtin val Char_chr_unsafe : int -> char val ord = _builtin val Char_ord : char -> int val gt = _builtin val Char_gt : char * char -> bool val gteq = _builtin val Char_gteq : char * char -> bool val lt = _builtin val Char_lt : char * char -> bool val lteq = _builtin val Char_lteq : char * char -> bool end structure Int = struct type int = int val quot = _builtin val Int_quot_noov : int * int -> int val rem = _builtin val Int_rem_noov : int * int -> int val abs = _builtin val Int_abs_noov : int -> int val add = _builtin val Int_add_noov : int * int -> int val div = _builtin val Int_div_noov : int * int -> int val gt = _builtin val Int_gt : int * int -> bool val gteq = _builtin val Int_gteq : int * int -> bool val lt = _builtin val Int_lt : int * int -> bool val lteq = _builtin val Int_lteq : int * int -> bool val mod = _builtin val Int_mod_noov : int * int -> int val mul = _builtin val Int_mul_noov : int * int -> int val neg = _builtin val Int_neg_noov : int -> int val sub = _builtin val Int_sub_noov : int * int -> int end structure Word = struct type word = word val andb = _builtin val Word_andb : word * word -> word val arshift = _builtin val Word_arshift : word * word -> word val fromInt = _builtin val Word_fromInt : int -> word val lshift = _builtin val Word_lshift : word * word -> word val notb = _builtin val Word_notb : word -> word val neg = _builtin val Word_neg : word -> word val orb = _builtin val Word_orb : word * word -> word val rshift = _builtin val Word_rshift : word * word -> word val toIntX = _builtin val Word_toIntX : word -> int val xorb = _builtin val Word_xorb : word * word -> word val add = _builtin val Word_add : word * word -> word val div = _builtin val Word_div : word * word -> word val gt = _builtin val Word_gt : word * word -> bool val gteq = _builtin val Word_gteq : word * word -> bool val lt = _builtin val Word_lt : word * word -> bool val lteq = _builtin val Word_lteq : word * word -> bool val mod = _builtin val Word_mod : word * word -> word val mul = _builtin val Word_mul : word * word -> word val sub = _builtin val Word_sub : word * word -> word end structure Word8 = struct type word = word8 val fromWord = _builtin val Byte_fromWord : Word.word -> word val toWord = _builtin val Byte_toWord : word -> Word.word val fromInt = _builtin val Byte_fromInt : int -> word val toInt = _builtin val Byte_toIntX : word -> int val toIntX = _builtin val Byte_toIntX : word -> int val add = _builtin val Byte_add : word * word -> word val div = _builtin val Byte_div : word * word -> word val gt = _builtin val Byte_gt : word * word -> bool val gteq = _builtin val Byte_gteq : word * word -> bool val lt = _builtin val Byte_lt : word * word -> bool val lteq = _builtin val Byte_lteq : word * word -> bool val mod = _builtin val Byte_mod : word * word -> word val mul = _builtin val Byte_mul : word * word -> word val sub = _builtin val Byte_sub : word * word -> word val fromChar = _builtin val Cast : char -> word val toChar = _builtin val Cast : word -> char val sub_unsafe = _builtin val String_sub : string * int -> word val update_unsafe = _builtin val String_update : string * int * word -> unit end structure Pointer = struct val toUnitPtr = _builtin val Cast : 'a ptr -> unit ptr val fromUnitPtr = _builtin val Cast : unit ptr -> 'a ptr val advance = _builtin val Ptr_advance : 'a ptr * int -> 'a ptr val deref_char = _builtin val Ptr_deref_char : char ptr -> char val deref_int = _builtin val Ptr_deref_int : int ptr -> int val deref_ptr = _builtin val Ptr_deref_ptr : 'b ptr ptr -> 'b ptr val deref_real = _builtin val Ptr_deref_real : real ptr -> real val deref_real32 = _builtin val Ptr_deref_real32 : Real32.real ptr -> Real32.real val deref_word = _builtin val Ptr_deref_word : word ptr -> word val deref_word8 = _builtin val Ptr_deref_word8 : Word8.word ptr -> Word8.word val store_char = _builtin val Ptr_store_char : char ptr * char -> unit val store_int = _builtin val Ptr_store_int : int ptr * int -> unit val store_ptr = _builtin val Ptr_store_ptr : 'b ptr ptr * 'b ptr -> unit val store_real = _builtin val Ptr_store_real : real ptr * real -> unit val store_real32 = _builtin val Ptr_store_real32 : Real32.real ptr * Real32.real -> unit val store_word = _builtin val Ptr_store_word : word ptr * word -> unit val store_word8 = _builtin val Ptr_store_word8 : Word8.word ptr * Word8.word -> unit end (* (* for SQL integration. compiler translates SQL terms into data construction * terms of the following datatypes. *) structure SQL = struct datatype 'a server = SERVER of string * (string * {colname: string, typename: string, isnull: bool} list) list * 'a datatype 'a dbi = DBI datatype ('a,'b) value = VALUE of (string * 'b dbi) * 'a end *) structure SQL = struct datatype server = _builtin datatype server datatype dbi = _builtin datatype dbi datatype value = _builtin datatype value datatype conn = _builtin datatype conn datatype db = _builtin datatype db datatype table = _builtin datatype table datatype row = _builtin datatype row datatype result = _builtin datatype result datatype rel = _builtin datatype rel datatype query = _builtin datatype query datatype command = _builtin datatype command (* datatype 'a conn = CONN of unit ptr * 'a datatype ('a,'b) db = DB of 'a * 'b dbi datatype ('a,'b) table = TABLE of (string * 'b dbi) * 'a datatype ('a,'b) row = ROW of (string * 'b dbi) * 'a datatype result = RESULT of unit ptr * int datatype 'a rel = REL of result * (result -> 'a) datatype 'a query = QUERY of string * 'a * (result -> 'a) datatype command = COMMAND of string *) end end smlsharp-1.2.0/src/compiler0000755 000000000000000000000000012050661606016025 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/abstractinstruction20000755 000000000000000000000000012050661606022214 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/abstractinstruction2/main0000755 000000000000000000000000012050661606023140 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/abstractinstruction2/main/AbstractInstruction.ppg0000644 000000000000000000006602512050661606027745 0ustar00rootroot0000000 0000000 (* -*- sml -*- *) (** * Abstract Instructions version 2. * @copyright (c) 2007-2009, Tohoku University. * @author UENO Katsuhiro * @version $Id: AbstractInstruction.ppg,v 1.12 2008/08/06 17:23:39 ohori Exp $ *) structure AbstractInstruction2 = struct structure Target = TargetProperty(VMTarget) structure Formatter = TargetPlatformFormatter(Target) local fun format_word_asInt x = [SMLFormat.BasicFormatters.format_string (Word.fmt (StringCvt.DEC) x)] fun formatMap foldli formatKey (formatter,prefix,sep,suffix) map = foldli (fn (k,v,z) => z @ prefix @ formatKey k @ sep @ formatter v @ suffix) nil map fun formatIDMap x y = formatMap VarID.Map.foldli VarID.format_id x y fun formatSEnv x y = formatMap SEnv.foldli SMLFormat.BasicFormatters.format_string x y fun formatIEnv x y = formatMap IEnv.foldli SMLFormat.BasicFormatters.format_int x y in (*% @formatter(Target.uint) Formatter.format_uint *) type targetUInt = Target.uint (*% @formatter(Target.sint) Formatter.format_sint *) type targetSInt = Target.sint (*% @formatter(Loc.loc) Loc.format_loc *) type loc = Loc.loc (*% @formatter(VarID.id) VarID.format_id *) type id = VarID.id (*% @formatter(Absyn.ffiAttributes) Absyn.format_ffiAttributes *) type ffiAttributes = Absyn.ffiAttributes (*% *) type label = (*% @format(id) "L" id *) id (*% @formatter(ClusterID.id) ClusterID.format_id *) type clusterId = (*% @format(id) "C" id *) ClusterID.id (*% @formatter(BoundTypeVarID.id) BoundTypeVarID.format_id *) type tid = (*% @format(x) "t" x *) BoundTypeVarID.id (* TODO: we need more types! *) (*% *) datatype ty = (*% @format(x) x *) GENERIC of tid (* generic *) | UINT (* unsigned int *) | SINT (* singed int *) | BYTE (* unsigned char < UINT *) | BOXED (* pointer to heap (tagged for GC) *) | HEAPPOINTER (* pointer to middle of heap *) | CODEPOINTER (* pointer to code *) | CPOINTER (* arbitrary pointer of C *) | ENTRY (* pointer to cluster entry (clusterId * entryAddr) *) | FLOAT (* single precision floating-point *) | DOUBLE (* double precision floating-point *) (*% * @formatter(enclosedList) SmlppgUtil.formatListWithEnclosureIfMoreThanOne *) (*% * @prefix format_simple_ *) type paramInfo = (*% * @format({index, argTys:argTy argTys, * retTys:retTy retTys:enclosedList}) * "(" { index "," +2 * { "(" { argTys(argTy)("," +3) } ")" * +2 "->" + { retTys(retTy)("," +3, "(", ")") }} ")" } *) (*% * @prefix format_simple_ * @format({index, argTys, retTys}) * "(" index ")" *) {index: int, argTys: ty list, retTys: ty list} (*% * @formatter(enclosedList) SmlppgUtil.formatListWithEnclosureIfMoreThanOne *) datatype argKind = (*% @format(x) "Param" x *) Param of paramInfo | (*% * @format(arg) "Result" arg *) Result of paramInfo | (*% * @format(arg) "Arg" arg *) Arg of paramInfo | (*% * @format(arg) "Ret" arg *) Ret of paramInfo (* | (*% * @format(arg) "TA" arg *) TailArg of paramInfo *) (* | (*% @format({argTys: argTy argTys, retTys: retTy retTys:enclosedList}) * "Link(" { "(" { argTys(argTy)("," +3) } ")" * +2 "->" + { retTys(retTy)("," +3, "(", ")") } ")" } *) Link of {argTys: ty list, retTys: ty list} | (* @format({argTys: argTy argTys, retTys: retTy retTys}) * "TLink(" { "(" { argTys(argTy)("," +3) } ")" * +2 "->" + { retTys(retTy)("," +3, "(", ")") } ")" } *) TailLink of {argTys: ty list, retTys: ty list} *) | (* *) Env | (* *) Exn | (*% @format({index, argTys:ty tys, attributes}) * "ExtParam(" index "," "{" { tys(ty)("," +2) "}" } ")" *) ExtParam of {index: int, argTys: ty list, attributes: ffiAttributes} | (*% @format({index, argTys:ty tys, attributes}) * "ExtArg(" index "," "{" { tys(ty)("," +2) "}" } ")" *) ExtArg of {index: int, argTys: ty list, attributes: ffiAttributes} | (*% @format({index, retTys:ty tys, attributes}) * "ExtRet(" index "," "{" { tys(ty)("," +2) "}" } ")" *) ExtRet of {index: int, retTys: ty list, attributes: ffiAttributes} (*% *) type argInfo = (*% @format({id, ty, argKind}) "a" id d ":" d argKind *) (* * special storages for transporting values between two clusters or * raise and handle. * Note that "id" identifies a live range of that storage. * Since the id is always unique, you may regard it as a name anyway. *) { id: id, ty: ty, argKind: argKind } and varInfo = (*% * @format({id, ty, displayName}) * "v" id d ":" d ty *) { id: id, ty: ty, displayName: string } (* (*% * @formatter(simple) format_simple_paramInfo *) datatype tag = (*% @format "1" *) Boxed | (*% @format "0" *) Unboxed | (*% @format(p:simple) p *) ParamTag of paramInfo | (*% @format({offset, bit}) "Env[" offset ":" bit "]" *) IndirectTag of {offset: targetUInt, bit: word} (* | VarTag of varInfo All tag informations must be given from outside of cluster. This is due to restriction of bitmap calculation. If we allow polymorphic tail call between two functions in same cluster, such as polymorphic recursion and polymorphic inner functions, we need to allow to save tag information into local variables and modify it in cluster. *) *) (* (*% *) type genericTyRep = (*% * @format({size, align, tag}) * "{" { "size=" size "," * +1 "align=" align "," * +1 "tag=" tag "}" } *) { size: word, align: word, tag: tag } *) (*% *) datatype objectType = Array | Vector | Record of {mutable:bool} (*% *) type globalLabel = string (*% *) datatype value = (*% @format(x) x "U" *) UInt of targetUInt | (*% @format(x) x *) SInt of targetSInt | (*% @format(x) x *) Byte of targetUInt | (*% @format(x) x *) Var of varInfo | (*% *) Nowhere (* null code pointer *) | (*% *) Null (* null C pointer *) | (*% *) Empty (* null data pointer *) | (*% @format(id) "c" id *) Const of id (* constant heap object : BOXED *) | (*% @format(id) "i" id *) Init of id (* data for initialization : HEAPPOINTER *) | (*% @format({clusterId, entry}) clusterId ":" entry *) (* entry address of ML function *) Entry of {clusterId: clusterId, entry: label} | (*% @format(label * ty) label "@GBL:" ty *) (* global label declared in same linkage unit *) Global of globalLabel * ty | (*% @format(label * ty) label "@EXT:" ty *) (* global label declared in other linkage unit *) Extern of globalLabel * ty | (*% @format(l) l *) (* local label *) Label of label | (*% @format(l) l "@CFUN" *) ExtFunLabel of string (* reference to C function *) (*% *) datatype primData = (*% @format(x) x "U" *) UIntData of targetUInt | (*% @format(x) x *) SIntData of targetSInt | (*% @format(x) x "B" *) ByteData of targetUInt | (*% @format(x) x *) RealData of string | (*% @format(x) x *) FloatData of string | (*% @format({clusterId, entry}) clusterId ":" entry *) EntryData of {clusterId: clusterId, entry: label} | (*% @format(label) label "@EXT"*) ExternLabelData of globalLabel | (*% @format(label) "GLOBAL:" label *) GlobalLabelData of globalLabel | (*% @format(id) "c" id *) ConstData of id | (*% @format "NullPointer" *) NullPointerData | (*% @format "NullBoxed" *) NullBoxedData (*% * @formatter(BigInt.int) SmlppgUtil.format_BigInt * @formatter(str) Formatter.format_string_ML * @formatter(hex) Formatter.format_uint_hex *) datatype data = (*% @format(x) x *) PrimData of primData | (*% @format(x) x:str *) StringData of string | (*% @format(x) x *) IntInfData of BigInt.int | (*% * @format({objectType, * bitmaps: bitmap bitmaps, * payloadSize, * fields: field fields}) * { "(" { objectType "," * +5 "bitmaps=[" { bitmaps(bitmap)("," +d) "]" } "," * +5 "size=" payloadSize "," * +4 fields(field)("," +4) } ")" } * * @format:field({size, value}) * { size +1 ":" 2[ +2 value ] } *) ObjectData of { objectType: objectType, bitmaps: targetUInt list, payloadSize: targetUInt, fields: {size: targetUInt, value: primData} list } | (*% * @format({size, value: v vopt}) * { "VAR(" { vopt(v) "," +1 "size=" size } ")" } *) VarSlot of { size: targetUInt, value: primData option } (*% @params(x) *) datatype op1 = (*% @format "-" x *) Neg | (*% @format "abs(" x ")" *) Abs | (*% @format "Cast(" x ")" *) (* data representation conversion *) Cast | (*% @format "SignExt(" x ")" *) (* data representation conversion with sign extension *) SignExt | (*% @format "ZeroExt(" x ")" *) (* data representation conversion with zero extension *) ZeroExt | (*% @format "~" x *) Notb | (*% @format "Size(" x ")" *) (* payload size of object in bytes *) PayloadSize (*% @params(x,y) *) datatype op2 = (*% @format L5{ x +1 "+" +2 y } *) Add | (*% @format L5{ x +1 "-" +2 y } *) Sub | (*% @format L6{ x +1 "*" +2 y } *) Mul | (*% @format L6{ x +1 "/" +2 y } *) Div | (*% @format L6{ x +1 "%" +2 y } *) Mod | (*% @format "div(" { x "," +2 y } ").quot" *) Quot | (*% @format "div(" { x "," +2 y } ").rem" *) Rem | (*% @format L2{ x +1 "<" +2 y } *) Lt | (*% @format L2{ x +1 ">" +2 y } *) Gt | (*% @format L2{ x +1 "<=" +2 y } *) Lteq | (*% @format L2{ x +1 ">=" +2 y } *) Gteq | (*% @format L2{ x +1 "==" +2 y } *) (* monomorphic equality *) MonoEqual | (*% @format L2{ x +1 "?=" +2 y } *) UnorderedOrEqual | (*% @format L3{ x +1 "&" +2 y } *) Andb | (*% @format L3{ x +1 "|" +2 y } *) Orb | (*% @format L3{ x +1 "^" +2 y } *) Xorb | (*% @format L3{ x +1 "<<" +2 y } *) LShift | (*% @format L3{ x +1 ">>" +2 y } *) RShift | (*% @format L3{ x +1 ">>>" +2 y } *) ArithRShift | (*% @format L3{ x +1 "++" +2 y } *) PointerAdvance (*% *) datatype barrier = (*% @format *) NoBarrier | (*% @format "," +5 "barriered" *) WriteBarrier | (*% @format "," +5 "global-barriered" *) GlobalWriteBarrier | (*% @format(v) "," +5 "barrier=" v *) BarrierTag of value (*% * @formatter(choice) SmlppgUtil.formatBinaryChoice *) (*% @prefix format_valof_ * @formatter(choice) SmlppgUtil.formatBinaryChoice * @formatter(label) format_label * @formatter(varInfo) format_varInfo *) datatype handler = (*% @format *) (*% @prefix format_valof_ @format "NoHandler" *) NoHandler | (*% * @format(label) * 1 "#" + "handle" + "=>" + "goto" + label *) (*% @prefix format_valof_ @format(label) label *) StaticHandler of label | (*% * @format({outside, handlers: handler handlers}) * 1 "#" + "handle" + "=>" + "goto" * + "(" { handlers(handler)("," +d) * outside:choice()("," +d "OUTSIDE",) * ")" } *) (*% @prefix format_valof_ * @format({outside, handlers: handler handlers}) * "(" { handlers(handler)("," +d) * outside:choice()("," +d "OUTSIDE",) * ")" } *) DynamicHandler of { outside: bool, (* true if raise may go outside *) handlers: label list (* handlers which may be available *) } (*% *) datatype handlerChange = (*% @format({popHandlerLabel}) "Push->" popHandlerLabel *) PushHandler of {popHandlerLabel: label} | (*% @format({pushHandlerLabel}) pushHandlerLabel "->Pop" *) PopHandler of {pushHandlerLabel: label} (*% * @formatter(word) format_word_asInt * @formatter(enclosedOpt) SmlppgUtil.formatEnclosedOpt * @formatter(enclosedList) SmlppgUtil.formatListWithEnclosureIfMoreThanOne * @formatter(choice) SmlppgUtil.formatBinaryChoice * @formatter(Target.Instruction.instruction) * Target.Instruction.format_instruction * @formatter(handler') format_valof_handler *) datatype instruction = (*% * @format({dst, ty, value, loc}) * { dst + "=" 4[ +3 value 4[ +2 "as" + ty ";" ] ] } *) Move of { dst: varInfo, ty: ty, (* unnecessary? *) value: value, loc: loc } | (*% * @format({dst, ty, block, offset, size, loc}) * { dst + "=" 4[ +3 block 4 "[" { offset "," +4 "size=" size "]" } * 4[ +2 "as" + ty ";" ] ] } *) (* FIXME: if ty is not an union type, size may be ignored. *) Load of { dst: varInfo, ty: ty, block: value, offset: value, size: value, loc: loc } | (*% * @format({block, offset, ty, size, value, barrier, loc}) * { block "[" { offset "," +4 "size=" size barrier "]" } +d "=" * 4[ +3 value 4[ +2 "as" + ty ";" ] ] } *) (* FIXME: if ty is not an union type, size may be ignored. *) Update of { block: value, offset: value, ty: ty, size: value, value: value, barrier: barrier, loc: loc } | (*% * @format({dst, ty, src, loc}) * { dst + "=" 4[ +3 src 4[ +2 "as" + ty ";" ] ] } *) Get of { dst: varInfo, ty: ty, src: argInfo, loc: loc } | (*% * @format({dst, ty, value, loc}) * { dst + "=" 4[ +3 value 4[ +2 "as" + ty ";" ] ] } *) Set of { dst: argInfo, ty: ty, value: value, loc: loc } | (*% * @format({dst, objectType, bitmaps: bitmap bitmaps, * payloadSize, loc}) * { dst + "=" 4[ +3 "Alloc(" * { objectType "," * +4 "bitmaps=[" { bitmaps(bitmap)("," +d) "]" } "," * +4 "size=" payloadSize ")" } ] } *) Alloc of { dst: varInfo, objectType: objectType, bitmaps: value list, payloadSize: value, loc: loc } | (*% * @format({dst, op1: op1 * ty1 * ty, arg, loc}) * { dst + "=" 4[ +3 op1()(arg) * 4[ +2 "as" + {ty1 +4 "->" + ty} ";" ] ] } *) PrimOp1 of { dst: varInfo, op1: op1 * ty * ty, arg: value, loc: loc } | (*% * @format({dst, op2: op2 * ty1 * ty2 * ty, arg1, arg2, loc}) * { dst + "=" 4[ +3 op2()(arg1, arg2) * 4[ +2 "as" + {"(" { ty1 "," +4 ty2 ")" } * +6 "->" +7 ty} ";" ] ] } *) PrimOp2 of { dst: varInfo, op2: op2 * ty * ty * ty, arg1: value, arg2: value, loc: loc } | (*% * @format({dstVarList: dst dsts:enclosedList, * entry, * attributes, * argList: arg args, * calleeTy: argTy argTys * retTy retTys:enclosedList, * loc}) * { 1[ dsts(dst)("," +4, "(", ")") ] + "=" * 4[ +3 entry "(" { args(arg)("," +3) } ")" * 4[ +2 "as" + { "(" { argTys(argTy)("," +3) } ")" * +2 "->" + { retTys(retTy)("," +3, "(", ")") } ";" } ] ] } *) CallExt of { dstVarList: argInfo list, (* must be ExtRet *) entry: value, attributes: ffiAttributes, argList: argInfo list, (* must be ExtArg *) calleeTy: ty list * ty list, loc: loc } | (*% * @format({dstVarList: dst dsts:enclosedList, * entry, env, * argList: arg args, * argTyList: argTy argTys, * resultTyList: retTy retTys, * loc}) * { 1[ dsts(dst)("," +4, "(", ")") ] + "=" * 4[ +3 entry "<" env ">" "(" { args(arg)("," +3) } ")" * 4[ +2 "as" + { "(" { argTys(argTy)("," +3) } ")" * +2 "->" + "(" { retTys(retTy)("," +4) } ")" } * ";" ] ] } *) Call of { dstVarList: argInfo list, (* must be Ret *) entry: value, env: argInfo, (* must be Env *) argList: argInfo list, (* must be Arg *) argTyList: ty list, (* unnecessary? *) resultTyList: ty list, (* unnecessary? *) loc: loc } | (*% * @format({entry, env, * argList: arg args, * argTyList: argTy argTys, * resultTyList: retTy retTys, * loc}) * { entry "<" env ">" "(" { args(arg)("," +3) } ")" * 4[ +2 "as" + { "(" { argTys(argTy)("," +3) } ")" * +2 "->" + "(" { retTys(retTy)("," +4) } ")" } * ";" ] } *) (* * NOTE: TailCall should not be in a block which has a handler. *) TailCall of { entry: value, env: argInfo, (* must be Env *) argList: argInfo list, (* must be Arg *) argTyList: ty list, (* unnecessary? *) resultTyList: ty list, (* unnecessary? *) loc: loc } | (*% * @format({dst, entry, env, * exportTy: argTy argTys * retTy retTys, * attributes, loc}) * { dst + "=" 4[ +3 "CallbackClosure(" entry "," + env ")" * 4[ +2 "as" + { "(" { argTys(argTy)("," +3) } ")" * +2 "->" + "(" { retTys(retTy)("," +3) } ");" } ] ] } *) CallbackClosure of { dst: varInfo, entry: value, env: value, exportTy: ty list * ty list, attributes: ffiAttributes, loc: loc } | (*% * @format({varList: value values, * argTyList: argTy argTys, * retTyList: retTy retTys, * loc}) * { "return" + { values(value)("," +3) } * 4[ +2 "as" + { "(" { argTys(argTy)("," +3) } ")" * +2 "->" + "(" { retTys(retTy)("," +3) } ");" } ] } *) Return of { varList: argInfo list, (* must be Result *) argTyList: ty list, (* arguments of this function *) retTyList: ty list, (* unnecesarry? *) loc: loc } | (*% * @format({varList: value values, * argTyList: argTy argTys, * retTyList: retTy retTys, * attributes, * loc}) * { "returnExt" + { values(value)("," +3) } * 4[ +2 "as" + { "(" { argTys(argTy)("," +3) } ")" * +2 "->" + "(" { retTys(retTy)("," +3) } ");" } * +2 attributes ] } *) ReturnExt of { varList: argInfo list, (* must be Result *) argTyList: ty list, (* arguments of this function *) retTyList: ty list, attributes: ffiAttributes, loc: loc } | (*% * @format({op2: op2 * ty1 * ty2 * ty, value1, value2, * thenLabel, elseLabel, loc}) * { "if" 4[ +3 op2()(value1, value2) * 4[ +2 "as" + {"(" { ty1 "," +4 ty2 ")" } * +6 "->" +7 ty} ] ] * +1 "then" + "goto" + thenLabel * +1 "else" + "goto" + elseLabel } *) If of { value1: value, (* preferred for variable *) value2: value, (* preferred for constant *) op2: op2 * ty * ty * ty, thenLabel: label, elseLabel: label, loc: loc } | (*% * @format({offset, size, objectSize, passLabel, failLabel, loc}) * { "if" 4[ +3 offset "+" size "<" objectSize ] * +1 "then" + "goto" + passLabel * +1 "else" + "goto" + failLabel } *) (* CheckBoundary is equivalent to * if (offset + size < objectSize) * then goto passLabel * else goto failLabel * except that the condition is calculated WITHOUT overflow. *) CheckBoundary of { offset: value, size: value, objectSize: value, passLabel: label, failLabel: label, loc: loc } | (*% * @format({exn, loc}) * { "raise" + exn ";" } *) Raise of { exn: argInfo, (* must be Exn *) loc: loc } | (*% * @format({exn, attributes, loc}) * { "raiseExt" + exn ";" } *) RaiseExt of { exn: argInfo, (* must be Exn *) attributes: ffiAttributes, loc: loc } (* | (*% * @format({block, offset, passLabel, failLabel, loc}) * { 4[ +3 "checkBoundary(" { "array=" block "," +3 * "offset=" offset "," +3 ")" } ] * +1 "pass" + "=>" + passLabel "," * +1 "fail" + "=>" + failLabel } *) (* If offset >= length(block), then goto passLabel, * else goto failLabel. *) CheckBoundary of { block: value, offset: value, passLabel: label, failLabel: label, loc: loc } *) | (*% * @format({label, knownDestinations: dest dests, loc}) * { "goto" +d label ";" } * 5[ +1 "-->" +d {dests(dest)("," +1)} ] *) Jump of { label: value, knownDestinations: label list, loc: loc } | (*% * @format({change: ch, previousHandler, newHandler, tryBlock, loc}) * { "ChangeHandler" + ch +2 "from" + previousHandler:handler' * +2 "to" + newHandler:handler' * +2 "; goto" + tryBlock } *) ChangeHandler of { change: handlerChange, previousHandler: handler, newHandler: handler, tryBlock: label, loc: loc } (*% * @formatter(enclosedOpt) SmlppgUtil.formatEnclosedOpt *) datatype blockKind = (* just an ordinary basic block *) Basic | (* *) Branch | (* *) Merge | (* loop header *) Loop | (* continuation of local call *) LocalCont | (*% * @format(arg) * "Handler" + arg *) Handler of argInfo | (*% * @format({argTyList, resultTyList, env: env envopt:enclosedOpt, argVarList: param params}) * "FunEntry" 2[ +1 * "#" + { envopt(env)("env = ", "," +1) * "params = (" 4[ 2 params(param)("," +2) ] 2 ")" } ] *) FunEntry of {argTyList: ty list, resultTyList: ty list, env: argInfo option, argVarList: argInfo list} | (* *) CodeEntry | (*% * @format({argTyList, resultTyList, env: env envopt:enclosedOpt, * argVarList: param params, attributes}) * "ExtFunEntry" 2[ +1 * "#" + { envopt(env)("env = ", "," +1) * "params = (" 4[ 2 params(param)("," +2) ] 2 ")"} +1 * "#" + attributes ] *) ExtFunEntry of {argTyList: ty list, resultTyList: ty list, env: argInfo option, argVarList: argInfo list, attributes: ffiAttributes} | (* *) CheckFailed (*% * @formatter(VarID.Map.map) formatIDMap *) type basicBlock = (*% * @format({label, * blockKind, * handler, * instructionList: insn insns, * loc}) * (* loc 1 *) * "BEGIN" + label + ":" + blockKind * 2[ + handler * 1 insns(insn)(1) * ] *) { label: label, blockKind: blockKind, handler: handler, instructionList: instruction list, loc: loc } (*% *) datatype frameBitmapSource = (*% @format(x) x *) BitParam of argInfo | (*% @format(env * off) env "[" off "]" *) EnvBitmap of argInfo * word (*% @formatter(option) SmlppgUtil.formatOptWithDefault *) type frameBitmap = (*% * @format({source, bits:bit bits}) * source ":[" { bits(bit)("," +d) "]" } * @format:bit(bi bo) bo(bi)("_") *) { source: frameBitmapSource, (* bits makes correspondence between tid and bit of frame bitmap. * If a tid is n-th (starting with 0) element of bits, frame bit * of that tid is n-th bit (LSB is 0) of source. * NONE means that there is no tid corresponding to this bit. *) bits: tid option list } (*% * @formatter(IEnv.map) formatIEnv * @formatter(enclosedList) SmlppgUtil.formatListWithEnclosureIfMoreThanOne *) type cluster = (*% * @format({frameBitmap: bitmap bitmaps:enclosedList, * name, * body: block blocks, * loc}) * +1 "cluster" + name +1 * "{" * 2[ * +1 "loc" + "=" + loc * +1 "bitmap:" * 2[ bitmaps(bitmap)(,1,) ] * +1 1 blocks(block)(1 1) * ] 1 * "}" *) { frameBitmap: frameBitmap list, name: clusterId, body: basicBlock list, loc: loc } (*% *) datatype global = (*% @format(l) ".alias" + l *) GlobalAlias of globalLabel | (*% @format(x) x *) GlobalData of data (*% * @formatter(VarID.Map.map) formatIDMap * @formatter(SEnv.map) formatSEnv * @formatter(option) SmlppgUtil.formatOptWithDefault *) type program = (*% * @format({toplevel: toplevel tpopt, * clusters: cluster clusters, * constants: const consts, * globals: global globals}) * "Toplevel:" tpopt(toplevel)("NONE") 1 * "Clusters:" * 2[ clusters(cluster)(+1) ] * +1 1 "Constants:" * 2[ consts(const)(1 "c",+ "=" +,";") ] * +1 1 "Globals:" * 2[ globals(global)(1, ":" +,) ] * * @format:toplevel({clusterId, entry}) * "(" clusterId "," + entry ")" *) { toplevel: {clusterId: clusterId, entry: label} option, clusters: cluster list, constants: data VarID.Map.map, (* constId -> data *) globals: global SEnv.map (* globalLabel -> global *) } end end smlsharp-1.2.0/src/compiler/abstractinstruction2/main/AbstractInstruction.ppg.smi0000644 000000000000000000003265312050661606030534 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../../compiler-utils/env/main/IEnv.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../systemdef/main/BasicTypes.smi" _require "../../targetplatform/main/TargetPlatformFormatter.smi" _require "../../targetplatform/main/TargetProperty.smi" _require "../../targetplatform/main/VMTarget.smi" _require "../../util/main/BigInt_IntInf.smi" _require "../../util/main/SmlppgUtil.ppg.smi" structure AbstractInstruction2 = struct structure Target = TargetProperty(VMTarget) structure Formatter = TargetPlatformFormatter(Target) type targetUInt = VMTarget.uint val format_targetUInt : Formatter.uint -> SMLFormat.FormatExpression.expression list type targetSInt = VMTarget.sint val format_targetSInt : Formatter.sint -> SMLFormat.FormatExpression.expression list type loc = Loc.loc val format_loc : Loc.pos * Loc.pos -> SMLFormat.FormatExpression.expression list type id = VarID.id val format_id : VarID.id -> SMLFormat.FormatExpression.expression list type ffiAttributes = Absyn.ffiAttributes val format_ffiAttributes : Absyn.ffiAttributes -> SMLFormat.FormatExpression.expression list type label = id val format_label : VarID.id -> SMLFormat.FormatExpression.expression list type clusterId = ClusterID.id val format_clusterId : ClusterID.id -> SMLFormat.FormatExpression.expression list type tid = BoundTypeVarID.id val format_tid : BoundTypeVarID.id -> SMLFormat.FormatExpression.expression list datatype ty = BOXED | BYTE | CODEPOINTER | CPOINTER | DOUBLE | ENTRY | FLOAT | GENERIC of tid | HEAPPOINTER | SINT | UINT val format_ty : ty -> SMLFormat.FormatExpression.expression list type paramInfo = {argTys:ty list, index:int, retTys:ty list} val format_paramInfo : {argTys:ty list, index:int, retTys:ty list} -> SMLFormat.FormatExpression.expression list val format_simple_paramInfo : {argTys:'a, index:int, retTys:'b} -> SMLFormat.FormatExpression.expression list datatype argKind = Arg of paramInfo | Env | Exn | ExtArg of {argTys:ty list, attributes:ffiAttributes, index:int} | ExtParam of {argTys:ty list, attributes:ffiAttributes, index:int} | ExtRet of {attributes:ffiAttributes, index:int, retTys:ty list} | Param of paramInfo | Result of paramInfo | Ret of paramInfo val format_argKind : argKind -> SMLFormat.FormatExpression.expression list type varInfo = {displayName:string, id:id, ty:ty} type argInfo = {argKind:argKind, id:id, ty:ty} val format_argInfo : {argKind:argKind, id:VarID.id, ty:'a} -> SMLFormat.FormatExpression.expression list val format_varInfo : {displayName:'a, id:VarID.id, ty:ty} -> SMLFormat.FormatExpression.expression list datatype objectType = Array | Record of {mutable:bool} | Vector val format_objectType : objectType -> SMLFormat.FormatExpression.expression list type globalLabel = string val format_globalLabel : string -> SMLFormat.FormatExpression.expression list datatype value = Byte of targetUInt | Const of id | Empty | Entry of {clusterId:clusterId, entry:label} | ExtFunLabel of string | Extern of globalLabel * ty | Global of globalLabel * ty | Init of id | Label of label | Nowhere | Null | SInt of targetSInt | UInt of targetUInt | Var of varInfo val format_value : value -> SMLFormat.FormatExpression.expression list datatype primData = ByteData of targetUInt | ConstData of id | EntryData of {clusterId:clusterId, entry:label} | ExternLabelData of globalLabel | FloatData of string | GlobalLabelData of globalLabel | NullBoxedData | NullPointerData | RealData of string | SIntData of targetSInt | UIntData of targetUInt val format_primData : primData -> SMLFormat.FormatExpression.expression list datatype data = IntInfData of BigInt.int | ObjectData of {bitmaps:targetUInt list, fields:{size:targetUInt, value:primData} list, objectType:objectType, payloadSize:targetUInt} | PrimData of primData | StringData of string | VarSlot of {size:targetUInt, value:primData option} val format_data : data -> SMLFormat.FormatExpression.expression list datatype op1 = Abs | Cast | Neg | Notb | PayloadSize | SignExt | ZeroExt val format_op1 : SMLFormat.FormatExpression.expression list -> op1 -> SMLFormat.FormatExpression.expression list datatype op2 = Add | Andb | ArithRShift | Div | Gt | Gteq | LShift | Lt | Lteq | Mod | MonoEqual | Mul | Orb | PointerAdvance | Quot | RShift | Rem | Sub | UnorderedOrEqual | Xorb val format_op2 : SMLFormat.FormatExpression.expression list * SMLFormat.FormatExpression.expression list -> op2 -> SMLFormat.FormatExpression.expression list datatype barrier = BarrierTag of value | NoBarrier | WriteBarrier | GlobalWriteBarrier val format_barrier : barrier -> SMLFormat.FormatExpression.expression list datatype handler = DynamicHandler of {handlers:label list, outside:bool} | NoHandler | StaticHandler of label val format_handler : handler -> SMLFormat.FormatExpression.expression list val format_valof_handler : handler -> SMLFormat.FormatExpression.expression list datatype handlerChange = PopHandler of {pushHandlerLabel:label} | PushHandler of {popHandlerLabel:label} val format_handlerChange : handlerChange -> SMLFormat.FormatExpression.expression list datatype instruction = Alloc of {bitmaps:value list, dst:varInfo, loc:loc, objectType:objectType, payloadSize:value} | Call of {argList:argInfo list, argTyList:ty list, dstVarList:argInfo list, entry:value, env:argInfo, loc:loc, resultTyList:ty list} | CallExt of {argList:argInfo list, attributes:ffiAttributes, calleeTy:ty list * ty list, dstVarList:argInfo list, entry:value, loc:loc} | CallbackClosure of {attributes:ffiAttributes, dst:varInfo, entry:value, env:value, exportTy:ty list * ty list, loc:loc} | ChangeHandler of {change:handlerChange, loc:loc, newHandler:handler, previousHandler:handler, tryBlock:label} | CheckBoundary of {failLabel:label, loc:loc, objectSize:value, offset:value, passLabel:label, size:value} | Get of {dst:varInfo, loc:loc, src:argInfo, ty:ty} | If of {elseLabel:label, loc:loc, op2:op2 * ty * ty * ty, thenLabel:label, value1:value, value2:value} | Jump of {knownDestinations:label list, label:value, loc:loc} | Load of {block:value, dst:varInfo, loc:loc, offset:value, size:value, ty:ty} | Move of {dst:varInfo, loc:loc, ty:ty, value:value} | PrimOp1 of {arg:value, dst:varInfo, loc:loc, op1:op1 * ty * ty} | PrimOp2 of {arg1:value, arg2:value, dst:varInfo, loc:loc, op2:op2 * ty * ty * ty} | Raise of {exn:argInfo, loc:loc} | RaiseExt of {attributes:ffiAttributes, exn:argInfo, loc:loc} | Return of {argTyList:ty list, loc:loc, retTyList:ty list, varList:argInfo list} | ReturnExt of {argTyList:ty list, attributes:ffiAttributes, loc:loc, retTyList:ty list, varList:argInfo list} | Set of {dst:argInfo, loc:loc, ty:ty, value:value} | TailCall of {argList:argInfo list, argTyList:ty list, entry:value, env:argInfo, loc:loc, resultTyList:ty list} | Update of {barrier:barrier, block:value, loc:loc, offset:value, size:value, ty:ty, value:value} val format_instruction : instruction -> SMLFormat.FormatExpression.expression list datatype blockKind = Basic | Branch | CheckFailed | CodeEntry | ExtFunEntry of {argTyList:ty list, argVarList:argInfo list, attributes:ffiAttributes, env:argInfo option, resultTyList:ty list} | FunEntry of {argTyList:ty list, argVarList:argInfo list, env:argInfo option, resultTyList:ty list} | Handler of argInfo | LocalCont | Loop | Merge val format_blockKind : blockKind -> SMLFormat.FormatExpression.expression list type basicBlock = {blockKind:blockKind, handler:handler, instructionList:instruction list, label:label, loc:loc} val format_basicBlock : {blockKind:blockKind, handler:handler, instructionList:instruction list, label:VarID.id, loc:'a} -> SMLFormat.FormatExpression.expression list datatype frameBitmapSource = BitParam of argInfo | EnvBitmap of argInfo * word val format_frameBitmapSource : frameBitmapSource -> SMLFormat.FormatExpression.expression list type frameBitmap = {bits:tid option list, source:frameBitmapSource} val format_frameBitmap : {bits:BoundTypeVarID.id option list, source:frameBitmapSource} -> SMLFormat.FormatExpression.expression list type cluster = {body:basicBlock list, frameBitmap:frameBitmap list, loc:loc, name:clusterId} val format_cluster : {body:{blockKind:blockKind, handler:handler, instructionList:instruction list, label:VarID.id, loc:'a} list, frameBitmap:{bits:BoundTypeVarID.id option list, source: frameBitmapSource} list, loc:Loc.pos * Loc.pos, name:ClusterID.id} -> SMLFormat.FormatExpression.expression list datatype global = GlobalAlias of globalLabel | GlobalData of data val format_global : global -> SMLFormat.FormatExpression.expression list type program = {clusters:cluster list, constants:data VarID.Map.map, globals:global SEnv.map, toplevel:{clusterId:clusterId, entry:label} option} val format_program : {clusters:{body:{blockKind: blockKind, handler:handler, instructionList: instruction list, label:VarID.id, loc:'a} list, frameBitmap:{bits:BoundTypeVarID.id option list, source: frameBitmapSource} list, loc:Loc.pos * Loc.pos, name:ClusterID.id} list, constants:data VarID.Map.map, globals:global SEnv.map, toplevel:{clusterId:ClusterID.id, entry:VarID.id} option} -> SMLFormat.FormatExpression.expression list end smlsharp-1.2.0/src/compiler/abstractinstruction2/main/AbstractInstructionFormatter.smi0000644 000000000000000000000055612050661606031630 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../control/main/Control.ppg.smi" _require "AbstractInstruction.ppg.smi" structure AbstractInstruction2Formatter = struct val clusterToString : AbstractInstruction2.cluster -> string val programToString : AbstractInstruction2.program -> string val instructionToString : AbstractInstruction2.instruction -> string end smlsharp-1.2.0/src/compiler/abstractinstruction2/main/AbstractInstructionFormatter.sml0000644 000000000000000000000166112050661606031631 0ustar00rootroot0000000 0000000 (** * a pretty printer for the abstract instructions version 2. * @copyright (c) 2007-2009, Tohoku University. * @author UENO Katsuhiro * @version $Id: AbstractInstructionFormatter.sml,v 1.1 2007/09/24 22:28:39 katsu Exp $ *) structure AbstractInstruction2Formatter = struct structure AbstractInstruction = AbstractInstruction2 (***************************************************************************) fun clusterToString (exp : AbstractInstruction.cluster) = Control.prettyPrint (AbstractInstruction.format_cluster exp) fun programToString (exp : AbstractInstruction.program) = Control.prettyPrint (AbstractInstruction.format_program exp) fun instructionToString (instruction : AbstractInstruction.instruction) = Control.prettyPrint (AbstractInstruction.format_instruction instruction) (***************************************************************************) end smlsharp-1.2.0/src/compiler/absyn0000755 000000000000000000000000012050661606017141 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/absyn/main0000755 000000000000000000000000012050661606020065 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/absyn/main/Absyn.ppg0000755 000000000000000000007614012050661606021743 0ustar00rootroot0000000 0000000 (** * syntax for the IML. * * @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori * @author Liu Bochao *) structure Absyn : ABSYN = struct (*% *) type longid = (*% @format(longid longids) longids(longid)(".") *) string list and longTyCon = (*% @format(strid strids) strids(strid)(".") *) string list fun longidToString longid = let fun longidToStr nil S = S | longidToStr (h::t) S = case S of "" => longidToStr t (h) | _ => longidToStr t (S^"."^h) in longidToStr longid "" end fun isShortId [_] = true | isShortId _ = false fun getLastIdOfLongid nil = raise Control.Bug "nil longid" | getLastIdOfLongid [id] = id | getLastIdOfLongid (id :: ids) = getLastIdOfLongid ids fun getParentIdsOfLongid nil = nil | getParentIdsOfLongid [x] = nil | getParentIdsOfLongid (id :: ids) = id :: getParentIdsOfLongid ids type loc = Loc.loc (*% @formatter(loc) Loc.format_loc *) datatype constant = (*% @format({radix, digits} * loc) digits *) INT of {radix: StringCvt.radix, digits: string} * loc | (*% @format({radix, digits} * loc) digits *) WORD of {radix: StringCvt.radix, digits: string} * loc | (*% @format(value * loc) "\"" value "\"" *) STRING of string * loc | (*% @format(value * loc) value *) REAL of string * loc | (*% @format(value * loc) "#\"" value "\"" *) CHAR of char * loc | (*% @format(loc) "()" *) UNITCONST of loc | (*% @format(loc) "NULL" *) NULLCONST of loc (*% *) datatype callingConvention = (*% @format "cdecl" *) FFI_CDECL | (*% @format "stdcall" *) FFI_STDCALL (*% * @formatter(bool) SmlppgUtil.formatBinaryChoice *) type ffiAttributes = (*% * @format({isPure, noCallback, allocMLValue, suspendThread, * callingConvention: cc ccopt}) * "__attr__((" * isPure()("pure,",) * noCallback()("no_callback,",) * allocMLValue()("alloc,",) * suspendThread()("suspend_thread,",) * ccopt(cc) * "))" *) { isPure: bool, noCallback: bool, allocMLValue: bool, suspendThread: bool, callingConvention: callingConvention option } val defaultFFIAttributes = { isPure = false, noCallback = false, allocMLValue = false, callingConvention = NONE, suspendThread = false } (*% *) datatype globalSymbolKind = ForeignCodeSymbol (*% *) datatype eq = (*% * @format "''" *) EQ | (*% * @format "'" *) NONEQ (*% * @formatter(listWithEnclosureOne) SmlppgUtil.formatListWithEnclosureOne * @formatter(binaryChoice) SmlppgUtil.formatBinaryChoice * @formatter(prependedOpt) SmlppgUtil.formatPrependedOpt * @formatter(formatListWithEnclosureOne) SmlppgUtil.formatListWithEnclosureOne * @formatter(NameMap.namePath) NameMap.format_namePath * @formatter(seqList) TermFormat.formatSeqList * @formatter(ifCons) TermFormat.formatIfCons *) datatype ty = (*% @format(loc) "_" *) TYWILD of loc | (*% @format(tvar * loc) tvar *) TYID of tvar * loc | (*% @format(field fields * loc) "{" 1 1[ fields(field)(","1) ] 1 "}" @format:field(label * ty) label ":" +d ty *) TYRECORD of (string * ty) list * loc | (*% @format(arg args * tyCon tyCons * loc) args:seqList(arg)("(" d, "," d, d ")") args:ifCons()(+) tyCons(tyCon)(".") *) TYCONSTRUCT of ty list * string list * loc | (*% @format(elem elems * loc) elems(elem)( + "*" +d ) *) TYTUPLE of ty list * loc | (*% * @format(dom * result * loc) "(" 1[ dom + "->" +d result ] +1 ")" *) TYFUN of ty * ty * loc | (*% * @format(tvar tvars * ty * loc) "[" +1 1[ tvars(tvar)(",") "." +1 ty ] +1 "]" *) TYPOLY of (kindedTvar) list * ty * loc and tvarKind = (*% * @format *) UNIV | (*% @format(field fields * loc) "#{" 1[1 fields(field)(","+1)] 1 "}" @format:field(label * ty) {label} +d ":" +d {ty} *) REC of (string * ty) list * loc withtype tvar = (*% * @format({name:id, eq:eq}) eq id *) {name:string, eq:eq} and kindedTvar = (*% * @format({name, eq} * tvarKind) eq name tvarKind *) {name:string, eq:eq} * tvarKind (*% * @formatter(seqList) TermFormat.formatSeqList * @formatter(ifCons) TermFormat.formatIfCons *) datatype ffiTy = (*% * @format(attr attrs * dom doms * ret rets * loc) * R1{ "(" doms(dom)("," + ) ")" +d "->" * 2[ +1 "(" rets(ret)("," + ) ")" ] } *) FFIFUNTY of string list * ffiTy list * ffiTy list * loc | (*% * @format(elem elems * loc) N1{ d elems(elem)( + "*" +d ) } *) FFITUPLETY of ffiTy list * loc | (*% * @format(tvar * loc) tvar *) FFITYVAR of tvar * loc | (*% * @format(field fields * loc) * !N0{ "{" 2[ 1 fields(field)("," +1) ] 1 "}" } * @format:field(label * ty) {label} +d ":" +d {ty} *) FFIRECORDTY of (string * ffiTy) list * loc | (*% * @format(arg args * tyCon tyCons * loc) args:seqList(arg)("(" d, "," d, d ")") args:ifCons()(+) tyCons(tyCon)(".") *) FFICONTY of ffiTy list * string list * loc (*% * @formatter(binaryChoice) SmlppgUtil.formatBinaryChoice * @formatter(prependedOpt) SmlppgUtil.formatPrependedOpt * @formatter(ifList) TermFormat.formatIfList *) datatype pat = (*% * @format(loc) "_" *) PATWILD of loc | (*% * @format(cons * loc) cons *) PATCONSTANT of constant * loc | (*% * @format({opPrefix:isop,id:id, loc:loc}) id *) PATID of {opPrefix:bool, id:longid, loc:loc} | (*% @format({ifFlex:ifFlex:binaryChoice, fields:field fields,loc:loc}) "{" 1[ 1 fields(field)("," +1) ] ifFlex()(",...","") 1 "}" *) PATRECORD of {ifFlex:bool, fields:patrow list, loc:loc} | (*% @format(pat pats * loc) "(" 1[ 1 pats(pat)("," +1) ] 1 ")" *) PATTUPLE of pat list * loc | (*% @format(elem elems * loc) "[" 1[ 1 elems(elem)("," +1) ] 1 "]" *) PATLIST of pat list * loc | (*% @format(pat pats * loc) pats:ifList()("(") pats(pat)(+d) pats:ifList()(")") *) PATAPPLY of pat list * loc | (*% * @format(pat * ty * loc) "(" d 1[ pat + ":" +d ty] d ")" *) PATTYPED of pat * ty * loc | (*% * @format(pat1 * pat2 * loc) pat1 +d "as" +d pat2 *) PATLAYERED of pat * pat * loc and patrow = (*% * @format(label * pat * loc) 1[ label +d "=" +d pat ] *) PATROWPAT of string * pat * loc | (*% @format(label * ty opt1:prependedOpt * pat opt2:prependedOpt * loc) label opt1(ty)(+d ":" +) opt2(pat)(+d "as" +) *) PATROWVAR of string * (ty option) * (pat option) * loc (*% * @formatter(prependedOpt) SmlppgUtil.formatPrependedOpt *) datatype exbind = (*% @format(b * name * ty option:prependedOpt * loc) name option(ty)(+d "of" +) *) EXBINDDEF of bool * string * ty option * loc | (*% @format(b1 * left * b2 * right * loc) left +d "=" +d right *) EXBINDREP of bool * string * bool * longid * loc (*% * @formatter(prependedOpt) SmlppgUtil.formatPrependedOpt * @formatter(binaryChoice) SmlppgUtil.formatBinaryChoice * @formatter(seqList) TermFormat.formatSeqList * @formatter(ifCons) TermFormat.formatIfCons *) type typbind = (*% @format(tyvar tyvars * name * ty) tyvars:seqList(tyvar)("(", ",", ")") tyvars:ifCons()(+) 1[ name +d "=" +1 ty ] *) tvar list * string * ty (*% * @formatter(prependedOpt) SmlppgUtil.formatPrependedOpt * @formatter(binaryChoice) SmlppgUtil.formatBinaryChoice * @formatter(seqList) TermFormat.formatSeqList * @formatter(ifCons) TermFormat.formatIfCons *) type datbind = (*% @format(tyvar tyvars * tyCon * valcon valcons) 1[ tyvars:seqList(tyvar)("(", ",", ")") tyvars:ifCons()(+) tyCon + "=" +1 valcons(valcon)(~1[ +1 "|" ] +) ] @format:valcon(b:binaryChoice * name * ty option:prependedOpt) b()("op" +, "") name option(ty)(+d "of" +) *) tvar list * string * (bool * string * ty option) list (*% * @formatter(AbsynSQL.exp) AbsynSQL.format_exp * @formatter(prependedOpt) SmlppgUtil.formatPrependedOpt * @formatter(binaryChoice) SmlppgUtil.formatBinaryChoice * @formatter(seqList) TermFormat.formatSeqList * @formatter(declist) TermFormat.formatDeclList * @formatter(ifCons) TermFormat.formatIfCons * @formatter(ifList) TermFormat.formatIfList *) datatype exp = (*% * @format(const * loc) const *) EXPCONSTANT of constant * loc | (*% * @format(name * gk * loc) name *) EXPGLOBALSYMBOL of string * globalSymbolKind * loc | (*% * @format(longid * loc) longid *) EXPID of longid * loc | (*% * @format(longid * loc) longid *) EXPOPID of longid * loc | (*% @format(field fields * loc) "{" 1[ 1 fields(field)( "," +1) ] 1 "}" @format:field(label * exp) 1[ label +d "=" +d exp ] *) EXPRECORD of (string * exp) list * loc | (*% @format(exp * field fields * loc) exp + "#" + "{" 1[1 fields(field)( "," +1) ] 1 "}" @format:field(label * exp) {{label} +d "=" +2 {exp}} *) EXPRECORD_UPDATE of exp * (string * exp) list * loc | (*% @format(selector * loc) "#"selector *) EXPRECORD_SELECTOR of string * loc | (*% @format(field fields * loc) "(" 1[ 1 fields(field)("," +1) ] 1 ")" *) EXPTUPLE of exp list * loc | (*% @format(elem elems * loc) "[" 1[ 1 elems(elem)("," +1) ] 1 "]" *) EXPLIST of exp list * loc | (*% @format(exp exps * loc) "(" 1[ 1 exps(exp)(";" +1) ] 1 ")" *) EXPSEQ of exp list * loc | (*% @format(exp exps * loc) exps:ifList()("(") exps(exp)(+d) exps:ifList()(")") *) EXPAPP of exp list * loc | (*% @format(exp * ty * loc) 1[ exp + ":" +1 ty ] *) EXPTYPED of exp * ty * loc | (*% @format(left * right * loc) 1[ left +d "andalso" +1 right ] *) EXPCONJUNCTION of exp * exp * loc | (*% @format(left * right * loc) 1[ left +d "orelse" +1 right ] *) EXPDISJUNCTION of exp * exp * loc | (*% @format(exp * rule rules * loc) 1[ exp +1 "handle" +d rules(rule)(~1[ +1 "|"] +) ] @format:rule(pat * exp) 1[ pat + "=>" +1 exp ] *) EXPHANDLE of exp * (pat * exp) list * loc | (*% @format(exp * loc) 1[ "raise" +d exp ] *) EXPRAISE of exp * loc | (*% @format(cond * ifTrue * ifFalse * loc) 1[ "if" +d cond +1 1["then" +1 ifTrue] +1 1["else" +1 ifFalse] ] *) EXPIF of exp * exp * exp * loc | (*% @format(cond * body * loc) "while" 1[ +d {cond} ] +1 "do" 1[ +d {body} ] *) EXPWHILE of exp * exp * loc | (*% @format(exp * rule rules * loc) 1[ "case" + 1[ exp ] + "of" +1 1[rules(rule)(~1[+1 "|"] +) ] ] @format:rule(pat * exp) {{pat} + "=>" +1 {exp}} *) EXPCASE of exp * (pat * exp) list * loc | (*% @format(rule rules * loc) 1[ "fn" + rules(rule)(~1[ +1 "|"] +) ] @format:rule(pat * exp) 1[ pat + "=>" +1 exp] *) EXPFN of (pat * exp) list * loc | (*% @format(dec decs * exp exps * loc) "let" 1[ +1 decs(dec)( +1) ] +1 "in" 1[ +1 exps(exp)( +1 ) ] +1 "end" *) EXPLET of dec list * exp list * loc | (*% @format(aexp * loc) "_cast" + aexp *) EXPCAST of exp * loc | (*% @format(exp * ty * loc) exp + ":" + "_import" +1 ty *) EXPFFIIMPORT of exp * ffiTy * loc | (*% @format(exp * ty * loc) 1[ exp + ":" +1 "_export" +1 ty ] *) EXPFFIEXPORT of exp * ffiTy * loc | (*% @format(attr attrs * exp * arg args * ty * loc) "_ffiapply" + exp + "(" args(arg)("," +) ")" + ":" + ty *) EXPFFIAPPLY of string list * exp * ffiArg list * ffiTy * loc | (*% @format((e,p,t) s * loc) s(e,p,t) *) EXPSQL of (exp, pat, ty) AbsynSQL.exp * loc and ffiArg = (*% @format(exp * ty * loc) exp + ":" + ty *) FFIARG of exp * ffiTy * loc | (*% @format(ty * exp opt:prependedOpt * loc) "_sizeof(" ty ")" opt(exp)(+d "*" +) *) FFIARGSIZEOF of ty * exp option * loc and dec = (*% @format(var vars * bind binds * loc) 1[ "val" + vars:seqList(var)("("d, ","+d, d")") vars:ifCons()(+) binds(bind)(~1[ +1 "and"] +) ] @format:bind(pat * exp) 1[ pat + "=" +1 exp ] *) DECVAL of kindedTvar list * (pat * exp) list * loc | (*% @format(var vars * bind binds * loc) 1[ "val" + vars:seqList(var)("("+d, ","+d, +d")") vars:ifCons()(+) "rec" +d binds(bind)(~1[+1 "and" +]) ] @format:bind(pat * exp) 1[ pat +d "=" +1 exp ] *) DECREC of kindedTvar list * (pat * exp) list * loc | (*% @format(var vars * rules binds * loc) 1[ "fun" vars:seqList(var)("("d, ","d, d")") vars:ifCons()(+) + binds(rules)(~1[+1 "and" +]) ] @format:rules(rule rules) rules(rule)(+1 "|" +) @format:rule(pat pats * ty opt:prependedOpt * exp) 1[ pats(pat)(+d) opt(ty)(+d ":" +) + "=" +1 exp ] *) DECFUN of kindedTvar list * (pat list * ty option * exp) list list * loc | (*% @format(bind binds * loc) 1[ "type" + binds(bind)(~1[ +1 "and"] +) ] *) DECTYPE of typbind list * loc | (*% @format(bind binds * withbind withbinds * loc) 1[ "datatype" + binds(bind)(~1[ +1 "and" ] +) ] +1 1[ "withtype" + withbinds(withbind)(~1[ +1 "and" ] +) ] *) DECDATATYPE of datbind list * typbind list * loc | (*% @format(data datas * withbind withbinds * dec decs * loc) 1[ "abstype" +1 datas(data)(~1[ +1 "and" ] +) "withtype" +1 withbinds(withbind)(~1[ +1 "and" ] +) "with" 1[ +1 {decs(dec)(+1)} ] +1 "end" ] *) DECABSTYPE of datbind list * typbind list * dec list * loc | (*% @format(longstrid longstrids * loc) "open" + longstrids(longstrid)(+d) *) DECOPEN of longid list * loc | (*% @format(tyCon * longTyCon * loc) 1[ "datatype" + tyCon + "=" +1 "datatype" + longTyCon ] *) DECREPLICATEDAT of string * longTyCon * loc (* replication *) | (*% @format(exc excs * loc) 1[ "exception" + excs(exc)(~1[ +1 "and" ]+) ] *) DECEXN of exbind list * loc | (*% @format(localdec localdecs * dec decs * loc) "local" 1[ +1 localdecs(localdec)(+d) ] +1 "in" 1[ +1 decs(dec)(+1) ] 1 "end" *) DECLOCAL of dec list * dec list * loc | (*% @format(int * name names * loc) "infix" +d int +d names(name)(+d) *) DECINFIX of string * string list * loc | (*% @format(int * name names * loc) "infixr" +d int +1 names(name)(+d) *) DECINFIXR of string * string list * loc | (*% @format(name names * loc) "nonfix" +d names(name)(+d) *) DECNONFIX of string list * loc (****************Module language********************************) and strdec = (*% * @format(dec * loc) dec *) COREDEC of dec * loc (* declaration*) |(*% @format(strbind strbinds * loc) 1[ "structure" + strbinds(strbind)(~1[+1 "and"] +) ] *) STRUCTBIND of strbind list * loc (* structure bind *) |(*% @format(localstrdec localstrdecs * strdec strdecs * loc) "local" 1[ +1 localstrdecs(localstrdec) (+1) ] +1 "in" 1[ +1 strdecs(strdec)(+1) ] +1 "end" *) STRUCTLOCAL of strdec list * strdec list * loc (* local declaration *) and strexp = (*% @format(strdec strdecs * loc) "struct" 1[ strdecs:declist(strdec)(+1,+1) ] +1 "end" *) STREXPBASIC of strdec list * loc (*basic*) | (*% * @format(longid * loc) longid *) STRID of longid * loc (*structure identifier*) | (*% * @format(strexp * sigexp * loc) strexp + ":" + sigexp *) STRTRANCONSTRAINT of strexp * sigexp * loc (*transparent constraint*) |(*% * @format(strexp * sigexp * loc) strexp + ":>" + sigexp *) STROPAQCONSTRAINT of strexp * sigexp * loc (*opaque constraint*) |(*% * @format(functorid * strexp * loc) {functorid} {+d "(" strexp ")"} *) FUNCTORAPP of string * strexp * loc (* functor application*) |(*% * @format(strdec strdecs * strexp * loc) "let" 1[ +1 strdecs(strdec)( +1) ] +1 "in" 1[ +1 strexp ] +1 "end" *) STRUCTLET of strdec list * strexp * loc (*local declaration*) and strbind = (*% @format(strid * sigexp * strexp * loc) strid + ":" +1 sigexp + "=" +1 strexp *) STRBINDTRAN of string * sigexp * strexp * loc | (*% * @format(strid * sigexp * strexp * loc) * strid + ":>" + sigexp + "=" +1 strexp *) STRBINDOPAQUE of string * sigexp * strexp * loc |(*% * @format(strid * strexp * loc) strid + "=" +1 strexp *) STRBINDNONOBSERV of string * strexp * loc and sigexp = (*% * @format(spec * loc) "sig" 1[+1 spec ] +1 "end" *) SIGEXPBASIC of spec * loc (*basic*) |(*% * @format(sigid * loc) {sigid} *) SIGID of string * loc (*signature identifier*) |(*% @format(sigexp * rlstn rlstns * loc) 1[ sigexp +1 "where" + "type" + rlstns(rlstn)(+1 "where" + "type") ] @format:rlstn(tyvarseq * longTyCon * ty) 1[ tyvarseq + longTyCon + "=" +1 ty ] @format:tyvarseq(tyvar tyvars) tyvars:seqList(tyvar)("(", ",", ")") tyvars:ifCons()(+) *) SIGWHERE of sigexp * (tvar list * longTyCon * ty) list * loc (* type realisation *) and spec = (*% @format(specval specvals * loc) 1[ "val" + {specvals(specval)(~1[ +1 "and"] +)} ] @format:specval(vid * ty) 1[ vid + ":" +1 ty ] *) SPECVAL of (string * ty) list * loc (* value *) | (*% @format(typdesc typdescs * loc) 1[ "type" + typdescs(typdesc)(~1[ +1 "and"] +) ] @format:typdesc(tyvar tyvars * tyCon) tyvars:seqList(tyvar)("(", ",", ")") tyvars:ifCons()(+) tyCon *) SPECTYPE of (tvar list * string) list * loc (* type *) | (*% @format(derivedtyp derivedtyps * loc) derivedtyps(derivedtyp)(~1[ +1 "and"] +) @format:derivedtyp(tyvar tyvars * tyCon * ty) 1[ "type" + tyvars:seqList(tyvar) ("(", ",", ")") tyvars:ifCons()(+) tyCon + "=" +1 ty ] *) SPECDERIVEDTYPE of (tvar list * string * ty) list * loc | (*% @format(typdesc typdescs * loc) 1[ "eqtype" + typdescs(typdesc)(~1[ +1 "and"] +) ] @format:typdesc(tyvar tyvars * tyCon) 1[ tyvars:seqList(tyvar) ("(", ",", ")") tyvars:ifCons()(+) tyCon ] *) SPECEQTYPE of (tvar list * string) list * loc (* eqtype *) | (*% @format(datdesc datdescs * loc) 1[ "datatype" + datdescs(datdesc)(~1[ +1 "and"] +) ] @format:datdesc(tyvar tyvars * tyCon * condesc condescs) 1[ tyvars:seqList(tyvar)("(", ",", ")") tyvars:ifCons()(+) tyCon + "=" +1 condescs(condesc)(~1[ +1 "|" ] +) ] @format:condesc(vid * ty option:prependedOpt) vid option(ty)(+d "of" +) *) SPECDATATYPE of (tvar list * string * (string * ty option) list ) list * loc (* datatype*) | (*% @format(tyCon * longTyCon * loc) "datatype" + tyCon + "=" + "datatype" + longTyCon *) SPECREPLIC of string * longTyCon * loc (* replication *) | (*% @format(exdesc exdescs * loc) 1[ "exception" + exdescs(exdesc)(~1[ +1 "and" ]+) ] @format:exdesc(vid * ty option:prependedOpt) vid option(ty)(+d "of" +) *) SPECEXCEPTION of (string * ty option) list * loc (* exception *) | (*% @format(strdesc strdescs * loc) 1[ "structure" + strdescs(strdesc)(~1[ +1 "and" ] +) ] @format:strdesc(strid * sigexp) 1[ strid ":" +1 sigexp ] *) SPECSTRUCT of (string * sigexp) list * loc (* structure *) | (*% * @format(sigexp * loc) !N0{"include" + {sigexp}} *) SPECINCLUDE of sigexp * loc (* include *) | (*% @format(sigid sigids * loc) !N0{"include" + sigids(sigid)(+)} *) SPECDERIVEDINCLUDE of string list * loc (* include *) | (*% @format(spec1 * spec2 * loc) spec1 +1 spec2 *) SPECSEQ of spec * spec * loc | (*% @format( spec * longTyCon longTyCons * loc) 1[ spec +1 1[ "sharing type" +1 longTyCons(longTyCon)(1[+1 "="] +) ] ] *) SPECSHARE of spec * longTyCon list * loc | (*% @format(spec * longstrid longstrids * loc) spec + !N0{ "sharing" + {longstrids(longstrid)(~2[ +1 "="] +)} } *) SPECSHARESTR of spec * longid list * loc | (*% @format *) SPECEMPTY and funbind = (*% @format(funid * strid * sigexp1 * sigexp2 * strexp * loc) funid +1 "(" strid + sigexp1 ")" + ":" +1 sigexp2 + "=" +1 strexp *) FUNBINDTRAN of string * string * sigexp * sigexp * strexp * loc | (*% @format(funid * strid * sigexp1 * sigexp2 * strexp * loc) funid +1 "(" strid + sigexp1 ")" + ":>" +1 sigexp2 + "=" +1 strexp *) FUNBINDOPAQUE of string * string * sigexp * sigexp * strexp * loc | (*% @format(funid * strid * sigexp * strexp * loc) funid + "(" strid + sigexp +")" + "=" +1 strexp *) FUNBINDNONOBSERV of string * string * sigexp * strexp * loc | (*% @format(funid * spec * sigexp * strexp * loc) funid + "(" spec +")" + ":" +1 sigexp + "=" +1 strexp *) FUNBINDSPECTRAN of string * spec * sigexp * strexp * loc | (*% * @format(funid * spec * sigexp * strexp * loc) * funid + "(" spec +")" + ":>" + sigexp + "=" +1 strexp *) FUNBINDSPECOPAQUE of string * spec * sigexp * strexp * loc | (*% * @format(funid * spec * strexp * loc) * funid + "(" spec +")" + "=" +1 strexp *) FUNBINDSPECNONOBSERV of string * spec * strexp * loc and topdec = (*% * @format (strdec * loc) strdec *) TOPDECSTR of strdec * loc (* structure-level declaration *) | (*% @format(sigdec sigdecs * loc) 1[ "signature" + sigdecs(sigdec)(~1[+1 "and"] +) ] @format:sigdec(sigid * sigexp) sigid +d "=" +1 sigexp *) TOPDECSIG of ( string * sigexp ) list * loc | (*% @format (funbind funbinds * loc) 1[ "functor" + funbinds(funbind)(~1[ +1 "and"] +) ] *) TOPDECFUN of funbind list * loc (* functor binding *) (*% *) datatype top = (*% * @format (dec decs) * decs(dec)(+1) *) TOPDEC of topdec list | (*% * @format(file * loc) "use" + {file} *) USE of string * loc (*% *) datatype interface = (*% @format({name, loc}) "_interface" +1 name *) INTERFACE of {name: string, loc: loc} | (*% @format *) NOINTERFACE (*% *) type unit = (*% * @format({interface, * tops : top tops, * loc : loc}) * interface "\n" * {tops(top)("\n" 1)} "\n" *) { interface : interface, tops : top list, loc : loc } (*% *) datatype unitparseresult = (*% * @format(unit) * unit *) UNIT of unit | (*% *) EOF fun getLocTy ty = case ty of TYWILD loc => loc | TYID(_, loc) => loc | TYRECORD (_, loc) => loc | TYCONSTRUCT (_, _, loc) => loc | TYTUPLE(_, loc) => loc | TYFUN (_, _, loc) => loc | TYPOLY (_, _, loc) => loc fun getLocPat pat = case pat of PATWILD loc => loc | PATCONSTANT (_, loc) => loc | PATID {opPrefix, id, loc} => loc | PATRECORD {ifFlex, fields, loc} => loc | PATTUPLE (_, loc) => loc | PATLIST (_, loc) => loc | PATAPPLY (_, loc) => loc | PATTYPED (_, _, loc) => loc | PATLAYERED (_, _, loc) => loc fun replaceLoc (exp,loc) = case exp of EXPCONSTANT (constant,_) => EXPCONSTANT (constant,loc) | EXPGLOBALSYMBOL (name,kind,_) => EXPGLOBALSYMBOL (name,kind,loc) | EXPID (string,_) => EXPID (string,loc) | EXPOPID (string,_) =>EXPOPID (string,loc) | EXPRECORD (fields,_) =>EXPRECORD (fields,loc) | EXPRECORD_UPDATE (exp,fields,_) =>EXPRECORD_UPDATE (exp,fields,loc) | EXPRECORD_SELECTOR (string,_) =>EXPRECORD_SELECTOR (string,loc) | EXPTUPLE (expList,_) =>EXPTUPLE (expList,loc) | EXPLIST (expList,_) =>EXPLIST (expList,loc) | EXPSEQ (expList,_) =>EXPSEQ (expList,loc) | EXPAPP (expList,_) =>EXPAPP (expList,loc) | EXPTYPED (exp,ty,_) =>EXPTYPED (exp,ty,loc) | EXPCONJUNCTION (exp1,exp2, _) =>EXPCONJUNCTION (exp1,exp2, loc) | EXPDISJUNCTION (exp1,exp2, _) =>EXPDISJUNCTION (exp1,exp2, loc) | EXPHANDLE (exp1, rules, _) =>EXPHANDLE (exp1, rules, loc) | EXPRAISE (exp,_) =>EXPRAISE (exp,loc) | EXPIF (exp1, exp2, exp3, _) =>EXPIF (exp1, exp2, exp3, loc) | EXPWHILE (exp1,exp2, _) =>EXPWHILE (exp1,exp2, loc) | EXPCASE (exp1, rules, _) =>EXPCASE (exp1, rules, loc) | EXPFN (rules, _) =>EXPFN (rules, loc) | EXPLET (decList,expList,_) =>EXPLET (decList,expList,loc) | EXPCAST (aexp, _) => EXPCAST(aexp, loc) | EXPFFIIMPORT (exp,ty,_) =>EXPFFIIMPORT (exp,ty,loc) | EXPFFIEXPORT (exp,ty,_) =>EXPFFIEXPORT (exp,ty,loc) | EXPFFIAPPLY (attrs,id,args,ty,_) => EXPFFIAPPLY (attrs,id,args,ty,loc) | EXPSQL (sql,_) => EXPSQL (sql,loc) end smlsharp-1.2.0/src/compiler/absyn/main/Absyn.ppg.smi0000644 000000000000000000002131212050661606022516 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../control/main/Loc.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../util/main/TermFormat.smi" _require "../../util/main/SmlppgUtil.ppg.smi" _require "AbsynSQL.ppg.smi" _require "ABSYN.sig" structure Absyn = struct type longid = string list val format_longid : longid -> SMLFormat.FormatExpression.expression list type longTyCon = string list datatype constant = INT of {radix: StringCvt.radix, digits: string} * Loc.loc | WORD of {radix: StringCvt.radix, digits: string} * Loc.loc | STRING of string * Loc.loc | REAL of string * Loc.loc | CHAR of char * Loc.loc | UNITCONST of Loc.loc | NULLCONST of Loc.loc val format_constant : constant -> SMLFormat.FormatExpression.expression list datatype callingConvention = FFI_CDECL | FFI_STDCALL type ffiAttributes = {isPure: bool, noCallback: bool, allocMLValue: bool, suspendThread: bool, callingConvention: callingConvention option} val format_ffiAttributes : ffiAttributes -> SMLFormat.FormatExpression.expression list val defaultFFIAttributes : ffiAttributes datatype globalSymbolKind = ForeignCodeSymbol val format_globalSymbolKind : globalSymbolKind -> SMLFormat.FormatExpression.expression list datatype eq = EQ | NONEQ val format_eq : eq -> SMLFormat.FormatExpression.expression list datatype ty = TYWILD of Loc.loc | TYID of {name:string, eq:eq} * Loc.loc | TYRECORD of (string * ty) list * Loc.loc | TYCONSTRUCT of ty list * string list * Loc.loc | TYTUPLE of ty list * Loc.loc | TYFUN of ty * ty * Loc.loc | TYPOLY of ({name:string, eq:eq} * tvarKind) list * ty * Loc.loc and tvarKind = UNIV | REC of (string * ty) list * Loc.loc val format_ty : ty -> SMLFormat.FormatExpression.expression list val format_tvarKind : tvarKind -> SMLFormat.FormatExpression.expression list type tvar = {name:string, eq:eq} val format_tvar : tvar -> SMLFormat.FormatExpression.expression list type kindedTvar = {name:string, eq:eq} * tvarKind val format_kindedTvar : kindedTvar -> SMLFormat.FormatExpression.expression list datatype ffiTy = FFIFUNTY of string list * ffiTy list * ffiTy list * Loc.loc | FFITUPLETY of ffiTy list * Loc.loc | FFITYVAR of tvar * Loc.loc | FFIRECORDTY of (string * ffiTy) list * Loc.loc | FFICONTY of ffiTy list * string list * Loc.loc val format_ffiTy : ffiTy -> SMLFormat.FormatExpression.expression list datatype pat = PATWILD of Loc.loc | PATCONSTANT of constant * Loc.loc | PATID of {opPrefix:bool, id:longid, loc:Loc.loc} | PATRECORD of {ifFlex:bool, fields:patrow list, loc:Loc.loc} | PATTUPLE of pat list * Loc.loc | PATLIST of pat list * Loc.loc | PATAPPLY of pat list * Loc.loc | PATTYPED of pat * ty * Loc.loc | PATLAYERED of pat * pat * Loc.loc and patrow = PATROWPAT of string * pat * Loc.loc | PATROWVAR of string * (ty option) * (pat option) * Loc.loc val format_pat : pat -> SMLFormat.FormatExpression.expression list val format_patrow : patrow -> SMLFormat.FormatExpression.expression list datatype exbind = EXBINDDEF of bool * string * ty option * Loc.loc | EXBINDREP of bool * string * bool * longid * Loc.loc type typbind = tvar list * string * ty val format_typbind : typbind -> SMLFormat.FormatExpression.expression list type datbind = tvar list * string * (bool * string * ty option) list datatype exp = EXPCONSTANT of constant * Loc.loc | EXPGLOBALSYMBOL of string * globalSymbolKind * Loc.loc | EXPID of longid * Loc.loc | EXPOPID of longid * Loc.loc | EXPRECORD of (string * exp) list * Loc.loc | EXPRECORD_UPDATE of exp * (string * exp) list * Loc.loc | EXPRECORD_SELECTOR of string * Loc.loc | EXPTUPLE of exp list * Loc.loc | EXPLIST of exp list * Loc.loc | EXPSEQ of exp list * Loc.loc | EXPAPP of exp list * Loc.loc | EXPTYPED of exp * ty * Loc.loc | EXPCONJUNCTION of exp * exp * Loc.loc | EXPDISJUNCTION of exp * exp * Loc.loc | EXPHANDLE of exp * (pat * exp) list * Loc.loc | EXPRAISE of exp * Loc.loc | EXPIF of exp * exp * exp * Loc.loc | EXPWHILE of exp * exp * Loc.loc | EXPCASE of exp * (pat * exp) list * Loc.loc | EXPFN of (pat * exp) list * Loc.loc | EXPLET of dec list * exp list * Loc.loc | EXPCAST of exp * Loc.loc | EXPFFIIMPORT of exp * ffiTy * Loc.loc | EXPFFIEXPORT of exp * ffiTy * Loc.loc | EXPFFIAPPLY of string list * exp * ffiArg list * ffiTy * Loc.loc | EXPSQL of (exp, pat, ty) AbsynSQL.exp * Loc.loc and ffiArg = FFIARG of exp * ffiTy * Loc.loc | FFIARGSIZEOF of ty * exp option * Loc.loc and dec = DECVAL of kindedTvar list * (pat * exp) list * Loc.loc | DECREC of kindedTvar list * (pat * exp) list * Loc.loc | DECFUN of kindedTvar list * (pat list * ty option * exp) list list * Loc.loc | DECTYPE of typbind list * Loc.loc | DECDATATYPE of datbind list * typbind list * Loc.loc | DECABSTYPE of datbind list * typbind list * dec list * Loc.loc | DECOPEN of longid list * Loc.loc | DECREPLICATEDAT of string * longTyCon * Loc.loc | DECEXN of exbind list * Loc.loc | DECLOCAL of dec list * dec list * Loc.loc | DECINFIX of string * string list * Loc.loc | DECINFIXR of string * string list * Loc.loc | DECNONFIX of string list * Loc.loc and strdec = COREDEC of dec * Loc.loc | STRUCTBIND of strbind list * Loc.loc | STRUCTLOCAL of strdec list * strdec list * Loc.loc and strexp = STREXPBASIC of strdec list * Loc.loc | STRID of longid * Loc.loc | STRTRANCONSTRAINT of strexp * sigexp * Loc.loc | STROPAQCONSTRAINT of strexp * sigexp * Loc.loc | FUNCTORAPP of string * strexp * Loc.loc | STRUCTLET of strdec list * strexp * Loc.loc and strbind = STRBINDTRAN of string * sigexp * strexp * Loc.loc | STRBINDOPAQUE of string * sigexp * strexp * Loc.loc | STRBINDNONOBSERV of string * strexp * Loc.loc and sigexp = SIGEXPBASIC of spec * Loc.loc | SIGID of string * Loc.loc | SIGWHERE of sigexp * (tvar list * longTyCon * ty) list * Loc.loc and spec = SPECVAL of (string * ty) list * Loc.loc | SPECTYPE of (tvar list * string) list * Loc.loc | SPECDERIVEDTYPE of (tvar list * string * ty) list * Loc.loc | SPECEQTYPE of (tvar list * string) list * Loc.loc | SPECDATATYPE of (tvar list * string * (string * ty option) list) list * Loc.loc | SPECREPLIC of string * longTyCon * Loc.loc | SPECEXCEPTION of (string * ty option) list * Loc.loc | SPECSTRUCT of (string * sigexp) list * Loc.loc | SPECINCLUDE of sigexp * Loc.loc | SPECDERIVEDINCLUDE of string list * Loc.loc | SPECSEQ of spec * spec * Loc.loc | SPECSHARE of spec * longTyCon list * Loc.loc | SPECSHARESTR of spec * longid list * Loc.loc | SPECEMPTY and funbind = FUNBINDTRAN of string * string * sigexp * sigexp * strexp * Loc.loc | FUNBINDOPAQUE of string * string * sigexp * sigexp * strexp * Loc.loc | FUNBINDNONOBSERV of string * string * sigexp * strexp * Loc.loc | FUNBINDSPECTRAN of string * spec * sigexp * strexp * Loc.loc | FUNBINDSPECOPAQUE of string * spec * sigexp * strexp * Loc.loc | FUNBINDSPECNONOBSERV of string * spec * strexp * Loc.loc and topdec = TOPDECSTR of strdec * Loc.loc | TOPDECSIG of ( string * sigexp ) list * Loc.loc | TOPDECFUN of funbind list * Loc.loc val format_exp : exp -> SMLFormat.FormatExpression.expression list val format_dec : dec -> SMLFormat.FormatExpression.expression list val format_sigexp : sigexp -> SMLFormat.FormatExpression.expression list val format_spec : spec -> SMLFormat.FormatExpression.expression list val format_topdec : topdec -> SMLFormat.FormatExpression.expression list datatype top = TOPDEC of topdec list | USE of string * Loc.loc datatype interface = INTERFACE of {name: string, loc: Loc.loc} | NOINTERFACE type unit = {interface: interface, tops: top list, loc: Loc.loc} val format_unit : unit -> SMLFormat.FormatExpression.expression list datatype unitparseresult = UNIT of unit | EOF val format_unitparseresult : unitparseresult -> SMLFormat.FormatExpression.expression list val getLocTy : ty -> Loc.loc val getLocPat : pat -> Loc.loc val replaceLoc : exp * Loc.loc -> exp val isShortId : longid -> bool val longidToString : longid -> string val getLastIdOfLongid : longid -> string val getParentIdsOfLongid : longid -> longid end smlsharp-1.2.0/src/compiler/absyn/main/ABSYN.sig0000755 000000000000000000002064612050661606021537 0ustar00rootroot0000000 0000000 (* -*- sml -*- *) (** * syntax for the IML. *

* Copyright (c) 2006, Tohoku University. *

* @author Atsushi Ohori * @version $Id: ABSYN.sig,v 1.27.6.8 2010/02/10 05:17:29 hiro-en Exp $ *) signature ABSYN = sig type tvar type kindedTvar type longid type longTyCon type unit datatype constant = INT of {radix: StringCvt.radix, digits: string} * Loc.loc | WORD of {radix: StringCvt.radix, digits: string} * Loc.loc | STRING of string * Loc.loc | REAL of string * Loc.loc | CHAR of char * Loc.loc | UNITCONST of Loc.loc | NULLCONST of Loc.loc datatype callingConvention = FFI_CDECL | FFI_STDCALL type ffiAttributes = { isPure: bool, noCallback: bool, allocMLValue: bool, suspendThread: bool, callingConvention: callingConvention option } val defaultFFIAttributes : ffiAttributes datatype globalSymbolKind = ForeignCodeSymbol (* | MLCodeSymbol | MLDataSymbol *) datatype eq = EQ | NONEQ datatype ty = TYWILD of Loc.loc | TYID of tvar * Loc.loc | TYRECORD of (string * ty) list * Loc.loc | TYCONSTRUCT of ty list * string list * Loc.loc | TYTUPLE of ty list * Loc.loc | TYFUN of ty * ty * Loc.loc | TYPOLY of kindedTvar list * ty * Loc.loc datatype tvarKind = UNIV | REC of (string * ty) list * Loc.loc datatype ffiTy = FFIFUNTY of string list * ffiTy list * ffiTy list * Loc.loc | FFITUPLETY of ffiTy list * Loc.loc | FFITYVAR of tvar * Loc.loc | FFIRECORDTY of (string * ffiTy) list * Loc.loc | FFICONTY of ffiTy list * string list * Loc.loc datatype pat = PATWILD of Loc.loc | PATCONSTANT of constant * Loc.loc | PATID of {id:longid, loc:Loc.loc, opPrefix:bool} | PATRECORD of {fields:patrow list, ifFlex:bool, loc:Loc.loc} | PATTUPLE of pat list * Loc.loc | PATLIST of pat list * Loc.loc | PATAPPLY of pat list * Loc.loc | PATTYPED of pat * ty * Loc.loc | PATLAYERED of pat * pat * Loc.loc and patrow = PATROWPAT of string * pat * Loc.loc | PATROWVAR of string * (ty option) * (pat option) * Loc.loc datatype exbind = EXBINDDEF of bool * string * ty option * Loc.loc | EXBINDREP of bool * string * bool * longid * Loc.loc type typbind = tvar list * string * ty type datbind = tvar list * string * (bool * string * ty option) list datatype exp = EXPCONSTANT of constant * Loc.loc | EXPGLOBALSYMBOL of string * globalSymbolKind * Loc.loc | EXPID of longid * Loc.loc | EXPOPID of longid * Loc.loc | EXPRECORD of (string * exp) list * Loc.loc | EXPRECORD_SELECTOR of string * Loc.loc | EXPRECORD_UPDATE of exp * (string * exp) list * Loc.loc | EXPTUPLE of exp list * Loc.loc | EXPLIST of exp list * Loc.loc | EXPSEQ of exp list * Loc.loc | EXPAPP of exp list * Loc.loc | EXPTYPED of exp * ty * Loc.loc | EXPCONJUNCTION of exp * exp * Loc.loc | EXPDISJUNCTION of exp * exp * Loc.loc | EXPHANDLE of exp * (pat * exp) list * Loc.loc | EXPRAISE of exp * Loc.loc | EXPIF of exp * exp * exp * Loc.loc | EXPWHILE of exp * exp * Loc.loc | EXPCASE of exp * (pat * exp) list * Loc.loc | EXPFN of (pat * exp) list * Loc.loc | EXPLET of dec list * exp list * Loc.loc | EXPCAST of exp * Loc.loc | EXPFFIIMPORT of exp * ffiTy * Loc.loc | EXPFFIEXPORT of exp * ffiTy * Loc.loc | EXPFFIAPPLY of string list * exp * ffiArg list * ffiTy * Loc.loc | EXPSQL of (exp,pat,ty) AbsynSQL.exp * Loc.loc and ffiArg = FFIARG of exp * ffiTy * Loc.loc | FFIARGSIZEOF of ty * exp option * Loc.loc and dec = DECVAL of kindedTvar list * (pat * exp) list * Loc.loc | DECREC of kindedTvar list * (pat * exp) list * Loc.loc | DECFUN of kindedTvar list * (pat list * ty option * exp) list list * Loc.loc | DECTYPE of typbind list * Loc.loc | DECDATATYPE of datbind list * typbind list * Loc.loc | DECREPLICATEDAT of string * longid * Loc.loc | DECABSTYPE of datbind list * typbind list * dec list * Loc.loc | DECOPEN of longid list * Loc.loc | DECEXN of exbind list * Loc.loc | DECLOCAL of dec list * dec list * Loc.loc | DECINFIX of string * string list * Loc.loc | DECINFIXR of string * string list * Loc.loc | DECNONFIX of string list * Loc.loc and strdec = COREDEC of dec * Loc.loc | STRUCTBIND of strbind list * Loc.loc | STRUCTLOCAL of strdec list * strdec list * Loc.loc and strexp = STREXPBASIC of strdec list * Loc.loc | STRID of longid * Loc.loc | STRTRANCONSTRAINT of strexp * sigexp * Loc.loc | STROPAQCONSTRAINT of strexp * sigexp * Loc.loc | FUNCTORAPP of string * strexp * Loc.loc | STRUCTLET of strdec list * strexp * Loc.loc and strbind = STRBINDTRAN of string * sigexp * strexp * Loc.loc | STRBINDOPAQUE of string * sigexp * strexp * Loc.loc | STRBINDNONOBSERV of string * strexp * Loc.loc and sigexp = SIGEXPBASIC of spec * Loc.loc | SIGID of string * Loc.loc | SIGWHERE of sigexp * (tvar list * longTyCon * ty) list * Loc.loc and spec = SPECVAL of (string * ty) list * Loc.loc | SPECTYPE of (tvar list * string) list * Loc.loc | SPECDERIVEDTYPE of (tvar list * string * ty) list * Loc.loc | SPECEQTYPE of (tvar list * string) list * Loc.loc | SPECDATATYPE of (tvar list * string * (string * ty option) list ) list * Loc.loc | SPECREPLIC of string * longTyCon * Loc.loc | SPECEXCEPTION of (string * ty option) list * Loc.loc | SPECSTRUCT of (string * sigexp) list * Loc.loc | SPECINCLUDE of sigexp * Loc.loc (* include *) | SPECDERIVEDINCLUDE of string list * Loc.loc (* include *) | SPECSEQ of spec * spec * Loc.loc | SPECSHARE of spec * longTyCon list * Loc.loc | SPECSHARESTR of spec * longid list * Loc.loc | SPECEMPTY and funbind = FUNBINDTRAN of string * string * sigexp * sigexp * strexp * Loc.loc | FUNBINDOPAQUE of string * string * sigexp * sigexp * strexp * Loc.loc | FUNBINDNONOBSERV of string * string * sigexp * strexp * Loc.loc | FUNBINDSPECTRAN of string * spec * sigexp * strexp * Loc.loc | FUNBINDSPECOPAQUE of string * spec * sigexp * strexp * Loc.loc | FUNBINDSPECNONOBSERV of string * spec * strexp * Loc.loc and topdec = TOPDECSTR of strdec * Loc.loc (* structure-level declaration *) | TOPDECSIG of ( string * sigexp ) list * Loc.loc | TOPDECFUN of funbind list * Loc.loc (* functor binding*) datatype top = TOPDEC of topdec list | USE of string * Loc.loc datatype interface = INTERFACE of {name: string, loc: Loc.loc} | NOINTERFACE datatype unitparseresult = UNIT of unit | EOF val getLocTy : ty -> Loc.loc val getLocPat : pat -> Loc.loc val format_longid : longid ->SMLFormat.FormatExpression.expression list val isShortId : longid -> bool val longidToString : longid -> string val getLastIdOfLongid : longid -> string val getParentIdsOfLongid : longid -> longid val format_constant : constant -> SMLFormat.FormatExpression.expression list val format_globalSymbolKind: globalSymbolKind -> SMLFormat.FormatExpression.expression list val format_ffiAttributes : ffiAttributes -> SMLFormat.FormatExpression.expression list val format_sigexp : sigexp -> SMLFormat.FormatExpression.expression list val format_spec : spec -> SMLFormat.FormatExpression.expression list val format_dec : dec -> SMLFormat.FormatExpression.expression list val format_topdec : topdec -> SMLFormat.FormatExpression.expression list val format_exp : exp -> SMLFormat.FormatExpression.expression list val format_eq : eq -> SMLFormat.FormatExpression.expression list val format_unitparseresult : unitparseresult -> SMLFormat.FormatExpression.expression list val format_pat : pat -> SMLFormat.FormatExpression.expression list val format_patrow : patrow -> SMLFormat.FormatExpression.expression list val format_tvar : tvar -> SMLFormat.FormatExpression.expression list val format_tvarKind : tvarKind -> SMLFormat.FormatExpression.expression list val format_kindedTvar : kindedTvar -> SMLFormat.FormatExpression.expression list val format_ty : ty -> SMLFormat.FormatExpression.expression list val format_ffiTy : ffiTy -> SMLFormat.FormatExpression.expression list val format_typbind : typbind -> SMLFormat.FormatExpression.expression list val replaceLoc : exp * Loc.loc -> exp val format_unit : unit -> SMLFormat.FormatExpression.expression list end smlsharp-1.2.0/src/compiler/absyn/main/ABSYN_FORMATTER.sig0000755 000000000000000000000204112050661606023147 0ustar00rootroot0000000 0000000 (** * a pretty printer for the raw symtax of core ML. * * @copyright (c) 2006, Tohoku University. * @author YAMATODANI Kiyoshi * @version $Id: ABSYN_FORMATTER.sig,v 1.10 2008/08/04 13:25:37 bochao Exp $ *) signature ABSYN_FORMATTER = sig (***************************************************************************) (** translates parse result to string. *) val unitParseResultToString : Absyn.unitparseresult -> string val typebindToString : Absyn.typbind -> string val tvarToString : Absyn.tvar -> string val tyToString : Absyn.ty -> string (** translates location to string. *) val locToString : Loc.loc -> string (** translates declaration to string. *) val decToString : Absyn.dec -> string (** translates expression to string. *) val expToString : Absyn.exp -> string (** translates top level declaration to string. *) val topdecToString : Absyn.topdec -> string (***************************************************************************) end smlsharp-1.2.0/src/compiler/absyn/main/AbsynFormatter.smi0000644 000000000000000000000107212050661606023616 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../control/main/Loc.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "Absyn.ppg.smi" _require "ABSYN_FORMATTER.sig" structure AbsynFormatter = struct val unitParseResultToString : Absyn.unitparseresult -> string val typebindToString : Absyn.typbind -> string val tvarToString : Absyn.tvar -> string val tyToString : Absyn.ty -> string val locToString : Loc.loc -> string val decToString : Absyn.dec -> string val expToString : Absyn.exp -> string val topdecToString : Absyn.topdec -> string end smlsharp-1.2.0/src/compiler/absyn/main/AbsynFormatter.sml0000755 000000000000000000000152712050661606023631 0ustar00rootroot0000000 0000000 (** * a pretty printer for the raw symtax of core ML. * * @copyright (c) 2006, Tohoku University. * @author YAMATODANI Kiyoshi * @version $Id: AbsynFormatter.sml,v 1.10 2008/08/04 13:25:37 bochao Exp $ *) structure AbsynFormatter : ABSYN_FORMATTER = struct fun unitParseResultToString res = Control.prettyPrint (Absyn.format_unitparseresult res) fun locToString loc = Control.prettyPrint (Loc.format_loc loc) fun decToString dec = Control.prettyPrint (Absyn.format_dec dec) fun expToString exp = Control.prettyPrint (Absyn.format_exp exp) fun topdecToString dec = Control.prettyPrint (Absyn.format_topdec dec) fun typebindToString ty = Control.prettyPrint (Absyn.format_typbind ty) fun tvarToString tvar = Control.prettyPrint (Absyn.format_tvar tvar) fun tyToString ty = Control.prettyPrint (Absyn.format_ty ty) end smlsharp-1.2.0/src/compiler/absyn/main/AbsynInterface.ppg0000644 000000000000000000002572112050661606023560 0ustar00rootroot0000000 0000000 (* -*- sml -*- *) (** * syntax for the interface. * * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro * @author Atsushi Ohori * @author Liu Bochao *) structure AbsynInterface = struct (*% *) datatype constraint = (*% @format ":" *) SIG_TRANSPARENT | (*% @format ":>" *) SIG_OPAQUE (*% @formatter(Absyn.ty) Absyn.format_ty *) type ty = Absyn.ty (*% @formatter(Loc.loc) Loc.format_loc *) type loc = Loc.loc (*% * @formatter(Absyn.tvar) Absyn.format_tvar *) datatype overloadInstance = (*% @format(exp) exp *) INST_OVERLOAD of overloadCase | (*% @format({vid: v vs}) vs(v)(".") *) INST_LONGVID of {vid: string list} withtype overloadMatch = (*% * @format({instTy, instance}) * instTy +d "=>" 2[ +1 instance ] *) {instTy: ty, instance: overloadInstance} and overloadCase = (*% * @format({tyvar, expTy, matches: m ms, loc}) * "case" +d tyvar +d "in" +d expTy +d "of" +1 ms(m)(+1 "|" +d) * @format:m({instTy, instance}) * instTy +d "=>" 2[ +1 instance ] *) {tyvar: Absyn.tvar, expTy: ty, matches: {instTy: ty, instance: overloadInstance} list, loc: loc} (*% @params(vid) *) datatype valbindBody = (*% @format({ty}) 1[ vid + ":" +1 ty] *) VAL_EXTERN of {ty: ty} | (*% @format({ty, externPath:p ps}) 1[ vid + "as" + ps(p)(".") + ":" +1 ty] *) VAL_EXTERN_WITHNAME of {ty: ty, externPath:string list} | (*% @format({path:p ps}) 1[ vid + "=" + ps(p)(".")] *) (* 2012-1-4 ohori: variable alias in interface added *) VALALIAS_EXTERN of {path:string list} | (*% * @format({builtinName, ty}) * R0{ vid +1 "=" +1 L2{ "_builtin" +d builtinName +1 ":" +d ty }} *) VAL_BUILTIN of {builtinName: string, ty: ty} | (*% * @format(cases) * R0{ vid +d "=" +1 cases } *) VAL_OVERLOAD of overloadCase (*% *) type valbind = (*% * @format({vid, body, loc}) body()(vid) *) {vid: string, body: valbindBody, loc: loc} (*% * @formatter(list) TermFormat.formatSeqList * @formatter(Absyn.tvar) Absyn.format_tvar *) datatype typbind = (*% * @format({tyvars: tv tvs, tycon, ty, loc}) * tvs(tv)("(","," 1,")" +d) tycon +d "=" * 2[ +1 ty] *) TRANSPARENT of {tyvars: Absyn.tvar list, tycon: string, ty: ty, loc: loc} | (*% * @format({tyvars: tv tvs, tycon, runtimeTy:name names, loc}) * tvs(tv)("(","," 1,")" +d) tycon +d "=" * 2[ +1 names(name)(,".",) +1 "as" +d "opaqueNoneq" ] *) OPAQUE_NONEQ of {tyvars: Absyn.tvar list, tycon: string, runtimeTy: string list, loc: loc} | (*% * @format({tyvars: tv tvs, tycon, runtimeTy:name names, loc}) * tvs(tv)("(","," 1,")" +d) tycon +d "=" * 2[ +1 names(name)(,".",) +1 "as" +d "opaqueEq" ] *) OPAQUE_EQ of {tyvars: Absyn.tvar list, tycon: string, runtimeTy: string list, loc: loc} (*% * @formatter(option) TermFormat.formatOptionalOption *) type conbind = (*% * @format({vid, ty: ty tyopt}) * R1{ vid +d 2[ tyopt(ty)("of" +1,) ] } *) {vid: string, ty: ty option} (*% * @formatter(seq) TermFormat.formatSeqList * @formatter(ifCons) TermFormat.formatIfCons * @formatter(Absyn.tvar) Absyn.format_tvar *) type datbind = (*% @format({tyvars: tv tvs, tycon, conbind: bind binds}) 1[ tvs:seq(tv)("(",",",")") tvs:ifCons()(+) tycon +d "=" +1 binds(bind)(+1 "|" +d) ] *) {tyvars: Absyn.tvar list, tycon: string, conbind: conbind list} (*% * @formatter(option) TermFormat.formatOptionalOption *) datatype exbind = (*% * @format({vid, ty: ty tyopt, loc}) * R1{ vid +d 2[ tyopt(ty)("of" +1,) ] } *) EXNDEF of {vid: string, ty: ty option, loc: loc} | (*% * @format({vid, ty: ty tyopt, externPath:p ps, loc}) * R1{ vid +d "as" + ps(p)(".") + 2[ tyopt(ty)("of" +1,) ] } *) EXNDEF_WITHNAME of {vid: string, ty: ty option, externPath:string list, loc: loc} | (*% * @format({vid, longvid: v vs, loc}) * R1{ vid +d 2[ "=" +d vs(v)(".") ] } *) EXNREP of {vid: string, longvid: string list, loc: loc} (*% * @formatter(declist) TermFormat.formatDeclList * @formatter(Absyn.sigexp) Absyn.format_sigexp *) datatype idec = (*% * @format(bind binds) * "val" +d binds(bind)(+1 "and" +d) *) IVAL of valbind list | (*% * @format(bind binds) * "type" +d binds(bind)(+1 "and" +d) *) ITYPE of typbind list | (*% @format({datbind: bind binds, loc}) 1[ "datatype" +d binds(bind)(~1[1 "and"] +d) ] *) IDATATYPE of {datbind: datbind list, loc: loc} | (*% * @format({tycon, origTycon: id ids, loc}) * "datatype" +d tycon +d "=" * 2[ +1 "datatype" +d ids(id)(".") ] *) ITYPEREP of {tycon: string, origTycon: string list, loc: loc} | (*% * @format({tycon, builtinName, loc}) * "datatype" +d tycon +d "=" * 2[ +1 "_builtin" +d "datatype" +d builtinName] *) ITYPEBUILTIN of {tycon: string, builtinName: string,loc: loc} | (*% * @format(bind binds) * "exception" +d binds(bind)(+1 "and" +d) *) IEXCEPTION of exbind list | (*% @format(bind) bind *) ISTRUCTURE of strbind and istrexp = (*% @format({decs: dec decs, loc}) "struct" 1[ decs:declist(dec)(+1,+1) ] +1 "end" *) ISTRUCT of {decs: idec list, loc: loc} | (*% * @format({strPath:v vs, loc}) vs(v)(".") *) ISTRUCTREP of {strPath:string list, loc: loc} | (*% * @format({functorName, argumentPath:v vs, loc}) functorName "(" vs(v)(".") ")" *) IFUNCTORAPP of {functorName:string, argumentPath:string list, loc: loc} withtype strbind = (*% @format({strid, strexp, loc}) 1[ "structure" + strid +d "=" +1 strexp ] *) { strid: string, strexp: istrexp, loc: loc } (*% * @formatter(Absyn.sigexp) Absyn.format_sigexp *) type sigbind = (*% @format({sigid, sigexp, loc}) 1[ sigid +d "=" +1 sigexp] *) {sigid: string, sigexp: Absyn.sigexp, loc: loc} (*% * @formatter(Absyn.sigexp) Absyn.format_sigexp * @formatter(Absyn.spec) Absyn.format_spec *) datatype funParam = (*% @format({strid, sigexp}) strid + ":" +1 sigexp *) FUNPARAM_FULL of {strid: string, sigexp: Absyn.sigexp} | (*% * @format(spec) spec *) FUNPARAM_SPEC of Absyn.spec (*% * @formatter(Absyn.sigexp) Absyn.format_sigexp *) type funbind = (*% @format({funid, param, strexp, loc}) 1[ "functor" + funid +1 "(" 1[param] ")" +d "=" +1 strexp ] *) { funid: string, param: funParam, strexp: istrexp, loc: loc } (*% * @formatter(BigInt.int) TermFormat.format_BigInt_dec_ML * @formatter(option) TermFormat.formatOptionalOption *) datatype fixity = (*% @format(x xo) "infix" xo(x)(+d,) *) INFIXL of string option | (*% @format(x xo) "infixr" xo(x)(+d,) *) INFIXR of string option | (*% @format "nonfix" *) NONFIX (*% *) datatype itopdec = (*% @format(x) x *) IDEC of idec | (*% @format(bind) bind *) IFUNDEC of funbind | (*% @format({fixity, vids: vid vids, loc}) 1[ fixity +d vids(vid)(+d) ] *) IINFIX of {fixity: fixity, vids: string list, loc: loc} (*% * @formatter(Absyn.topdec) Absyn.format_topdec * @formatter(dec) TermFormat.formatDeclList *) datatype itop = (*% * @format({requires: req reqs, topdecs: x xs}) * reqs:dec(req)(+1,+1) xs(x)(+1) * @format:req({name, loc}) * "_require" +d name *) INTERFACE of { requires: {name: string, loc: loc} list, topdecs: itopdec list } | (*% * @format({includes: n ns, topdecs: x xs}) * ns:dec(n)(+1 "include" +d,+1 "include" +d) * xs(x)(+1) * @format:n({name, loc}) name *) INCLUDES of { includes: {name: string, loc: loc} list, topdecs: Absyn.topdec list } (*% *) datatype filePlace = (*% @format "stdpath" *) STDPATH | (*% @format "localpath" *) LOCALPATH (*% *) type interfaceName = (*% * @format({hash, sourceName, place}) "{" 1[ "hash:" hash +1 "sourceName:" sourceName +1 "place:" place ] 1 "}" *) { hash: string, sourceName: string, place: filePlace } (*% * @formatter(InterfaceID.id) InterfaceID.format_id * @formatter(optlist) TermFormat.formatOptionalList *) type interfaceDec = (*% @format({interfaceId, interfaceName, requires: req reqs, topdecs: dec decs}) "_interface" + interfaceId +d interfaceName +d "=" 2[ +1 {"local" 2[ reqs:optlist(req)(+1 "_require" +d,,) ]} +1 "in" 2[ +1 decs(dec)(+1) ] +1 "end" ] @format:req({id,loc}) id *) { interfaceId: InterfaceID.id, interfaceName: interfaceName, requires: {id: InterfaceID.id, loc: loc} list, topdecs: itopdec list } (*% * @formatter(declist) TermFormat.formatDeclList * @formatter(optlist) TermFormat.formatOptionalList * @formatter(InterfaceID.id) InterfaceID.format_id *) type interface = (*% @format({decls: i is, requires: r rs, interfaceName: name nameopt, topdecs: dec decs}) "_interface" +d nameopt(name) 2[ +1 "local" 2[ is:declist(i)(+1,+1) ] +1 "in" 2[ rs:optlist(r)(+1 "_require" +d, +1,) decs:declist(dec)(+1,+1) ] +1 "end" ] +1 "end" @format:r({id, loc}) id *) { decls: interfaceDec list, interfaceName: interfaceName option, requires: {id: InterfaceID.id, loc: loc} list, topdecs: itopdec list } (*% * @formatter(declist) TermFormat.formatDeclList * @formatter(Absyn.topdec) Absyn.format_topdec *) type compileUnit = (*% * @format({interface, topdecs: dec decs}) * interface * decs:declist(dec)(+1,+1) *) { interface : interface, topdecs : Absyn.topdec list } end smlsharp-1.2.0/src/compiler/absyn/main/AbsynInterface.ppg.smi0000644 000000000000000000001375412050661606024352 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../name/main/LocalID.smi" _require "../../control/main/Loc.ppg.smi" _require "../../util/main/TermFormat.smi" _require "../../util/main/BigInt_IntInf.smi" _require "Absyn.ppg.smi" structure AbsynInterface = struct datatype constraint = SIG_TRANSPARENT | SIG_OPAQUE val format_constraint : constraint -> SMLFormat.FormatExpression.expression list type ty = Absyn.ty val format_ty : ty -> SMLFormat.FormatExpression.expression list type loc = Loc.loc val format_loc : loc -> SMLFormat.FormatExpression.expression list datatype overloadInstance = INST_OVERLOAD of {tyvar: Absyn.tvar, expTy: ty, matches: {instTy: ty, instance: overloadInstance} list, loc: loc} | INST_LONGVID of {vid: string list} val format_overloadInstance : overloadInstance -> SMLFormat.FormatExpression.expression list type overloadMatch = {instTy: ty, instance: overloadInstance} val format_overloadMatch : overloadMatch -> SMLFormat.FormatExpression.expression list type overloadCase = {tyvar: Absyn.tvar, expTy: ty, matches: {instTy: ty, instance: overloadInstance} list, loc: loc} val format_overloadCase : overloadCase -> SMLFormat.FormatExpression.expression list datatype valbindBody = VAL_EXTERN of {ty: ty} | VAL_EXTERN_WITHNAME of {ty: ty, externPath:string list} | VALALIAS_EXTERN of {path:string list} | VAL_BUILTIN of {builtinName: string, ty: ty} | VAL_OVERLOAD of overloadCase val format_valbindBody : SMLFormat.FormatExpression.expression list -> valbindBody -> SMLFormat.FormatExpression.expression list type valbind = {vid: string, body: valbindBody, loc: loc} val format_valbind : valbind -> SMLFormat.FormatExpression.expression list datatype typbind = TRANSPARENT of {tyvars: Absyn.tvar list, tycon: string, ty: ty, loc: loc} | OPAQUE_NONEQ of {tyvars: Absyn.tvar list, tycon: string, runtimeTy: string list, loc: loc} | OPAQUE_EQ of {tyvars: Absyn.tvar list, tycon: string, runtimeTy: string list, loc: loc} val format_typbind : typbind -> SMLFormat.FormatExpression.expression list type conbind = {vid: string, ty: ty option} val format_conbind : conbind -> SMLFormat.FormatExpression.expression list type datbind = {tyvars: Absyn.tvar list, tycon: string, conbind: conbind list} val format_datbind : datbind -> SMLFormat.FormatExpression.expression list datatype exbind = EXNDEF of {vid: string, ty: ty option, loc: loc} | EXNDEF_WITHNAME of {vid: string, ty: ty option, externPath:string list, loc: loc} | EXNREP of {vid: string, longvid: string list, loc: loc} val format_exbind : exbind -> SMLFormat.FormatExpression.expression list datatype idec = IVAL of valbind list | ITYPE of typbind list | IDATATYPE of {datbind: datbind list, loc: loc} | ITYPEREP of {tycon: string, origTycon: string list, loc: loc} | ITYPEBUILTIN of {tycon: string, builtinName: string,loc: loc} | IEXCEPTION of exbind list | ISTRUCTURE of {strid: string, strexp: istrexp, loc: loc} and istrexp = ISTRUCT of {decs: idec list, loc: loc} | ISTRUCTREP of {strPath:string list, loc: loc} | IFUNCTORAPP of {functorName:string, argumentPath:string list, loc: loc} val format_idec : idec -> SMLFormat.FormatExpression.expression list val format_istrexp : istrexp -> SMLFormat.FormatExpression.expression list type strbind = {strid: string, strexp: istrexp, loc: loc} val format_strbind : strbind -> SMLFormat.FormatExpression.expression list type sigbind = {sigid: string, sigexp: Absyn.sigexp, loc: loc} val format_sigbind : sigbind -> SMLFormat.FormatExpression.expression list datatype funParam = FUNPARAM_FULL of {strid: string, sigexp: Absyn.sigexp} | FUNPARAM_SPEC of Absyn.spec val format_funParam : funParam -> SMLFormat.FormatExpression.expression list type funbind = {funid: string, param: funParam, strexp: istrexp, loc: loc} val format_funbind : funbind -> SMLFormat.FormatExpression.expression list datatype fixity = INFIXL of string option | INFIXR of string option | NONFIX val format_fixity : fixity -> SMLFormat.FormatExpression.expression list datatype itopdec = IDEC of idec | IFUNDEC of funbind | IINFIX of {fixity: fixity, vids: string list, loc: loc} val format_itopdec : itopdec -> SMLFormat.FormatExpression.expression list datatype itop = INTERFACE of { requires: {name: string, loc: loc} list, topdecs: itopdec list } | INCLUDES of { includes: {name: string, loc: loc} list, topdecs: Absyn.topdec list } val format_itop : itop -> SMLFormat.FormatExpression.expression list datatype filePlace = STDPATH | LOCALPATH val format_filePlace : filePlace -> SMLFormat.FormatExpression.expression list type interfaceName = { hash: string, sourceName: string, place: filePlace } val format_interfaceName : interfaceName -> SMLFormat.FormatExpression.expression list type interfaceDec = { interfaceId: InterfaceID.id, interfaceName: interfaceName, requires: {id: InterfaceID.id, loc: loc} list, topdecs: itopdec list } val format_interfaceDec : interfaceDec -> SMLFormat.FormatExpression.expression list type interface = { decls: interfaceDec list, interfaceName: interfaceName option, requires: {id: InterfaceID.id, loc: loc} list, topdecs: itopdec list } val format_interface : interface -> SMLFormat.FormatExpression.expression list type compileUnit = { interface : interface, topdecs : Absyn.topdec list } val format_compileUnit : compileUnit -> SMLFormat.FormatExpression.expression list end smlsharp-1.2.0/src/compiler/absyn/main/AbsynSQL.ppg0000644 000000000000000000000351212050661606022311 0ustar00rootroot0000000 0000000 (* -*- sml -*- *) (** * syntax for the IML. * * @copyright (c) 2006, 2010 Tohoku University. * @author UENO Katsuhiro *) structure AbsynSQL = struct (*% *) datatype 'exp command = (*% *) SQLSELECT of {selectListExps: 'exp list, selectLabels: string list option, selectName: string option, fromClause: (string * 'exp) list, whereClause: 'exp option, orderByClause: {keyExp:'exp, orderAsc:bool} list, loc: Loc.loc} | (*% *) SQLINSERT of {table: string * string, insertRows: 'exp option list list, (* NONE = DEFAULT *) insertLabels: string list, loc: Loc.loc} | (*% *) SQLDELETE of {table: string * string, tableName: string option, whereClause: 'exp option, loc: Loc.loc} | (*% *) SQLUPDATE of {table: string * string, tableName: string option, setListExps: 'exp list, setLabels: string list, fromClause: (string * 'exp) list, whereClause: 'exp option, loc: Loc.loc} | (*% *) SQLBEGIN of Loc.loc | (*% *) SQLCOMMIT of Loc.loc | (*% *) SQLROLLBACK of Loc.loc (*% *) datatype ('exp, 'pat, 'ty) exp = (*% *) SQLFIELDSELECT of string * 'exp * Loc.loc | (*% *) SQLFN of 'pat * 'exp command * Loc.loc | (*% * @format(str * ty * loc) * N0{ "_sqlserver" +d "\"" str "\"" +1 ":" +d ty } *) SQLSERVER of string * 'ty * Loc.loc | (*% * @format(exp * loc) "_sqlexec" +d exp *) SQLEXEC of 'exp * Loc.loc | (*% * @format(exp * loc) "_sqleval" +d exp *) SQLEVAL of 'exp * Loc.loc end smlsharp-1.2.0/src/compiler/absyn/main/AbsynSQL.ppg.smi0000644 000000000000000000000362412050661606023104 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../control/main/Loc.ppg.smi" structure AbsynSQL = struct datatype 'exp command = SQLSELECT of {selectListExps: 'exp list, selectLabels: string list option, selectName: string option, fromClause: (string * 'exp) list, whereClause: 'exp option, orderByClause: {keyExp:'exp, orderAsc:bool} list, loc: Loc.loc} | SQLINSERT of {table: string * string, insertRows: 'exp option list list, (* NONE = DEFAULT *) insertLabels: string list, loc: Loc.loc} | SQLDELETE of {table: string * string, tableName: string option, whereClause: 'exp option, loc: Loc.loc} | SQLUPDATE of {table: string * string, tableName: string option, setListExps: 'exp list, setLabels: string list, fromClause: (string * 'exp) list, whereClause: 'exp option, loc: Loc.loc} | SQLBEGIN of Loc.loc | SQLCOMMIT of Loc.loc | SQLROLLBACK of Loc.loc val format_command : ('a -> SMLFormat.FormatExpression.expression list) -> 'a command -> SMLFormat.FormatExpression.expression list datatype ('exp, 'pat, 'ty) exp = SQLFIELDSELECT of string * 'exp * Loc.loc | SQLFN of 'pat * 'exp command * Loc.loc | SQLSERVER of string * 'ty * Loc.loc | SQLEXEC of 'exp * Loc.loc | SQLEVAL of 'exp * Loc.loc val format_exp : ('a -> SMLFormat.FormatExpression.expression list) * ('b -> SMLFormat.FormatExpression.expression list) * ('c -> SMLFormat.FormatExpression.expression list) -> ('a, 'b, 'c) exp -> SMLFormat.FormatExpression.expression list end smlsharp-1.2.0/src/compiler/absyn/main/Fixity.smi0000644 000000000000000000000037212050661606022134 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" structure Fixity = struct datatype fixity = INFIX of int | INFIXR of int | NONFIX val fixityToString : fixity -> string val initialFixEnv : fixity SEnv.map end smlsharp-1.2.0/src/compiler/absyn/main/Fixity.sml0000755 000000000000000000000240312050661606022137 0ustar00rootroot0000000 0000000 (** * fixity of operator. * @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori * @version $Id: Fixity.sml,v 1.1 2008/08/06 07:37:49 ohori Exp $ *) structure Fixity = struct (***************************************************************************) datatype fixity = INFIX of int | INFIXR of int | NONFIX fun fixityToString fixity = case fixity of INFIX n => "infix " ^ (Int.toString n) | INFIXR n => "infixr " ^ (Int.toString n) | NONFIX => "nonfix" (***************************************************************************) (* * see * "Appendix C: The Initial Static Basis" and "Appendix E: Overloading" *) val initialFixEnv = foldr (fn ((x, fix), fEnv) =>SEnv.insert(fEnv, x, fix)) SEnv.empty [ ("div", INFIX 7), ("mod", INFIX 7), ("*", INFIX 7), ("/", INFIX 7), ("+", INFIX 6), ("-", INFIX 6), ("::", INFIXR 5), ("=", INFIX 4), ("<", INFIX 4), (">", INFIX 4), ("<=", INFIX 4), (">=", INFIX 4), (":=", INFIX 3) ] (***************************************************************************) end smlsharp-1.2.0/src/compiler/aigenerator20000755 000000000000000000000000012050661606020407 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/aigenerator2/main0000755 000000000000000000000000012050661606021333 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/aigenerator2/main/AIGENERATOR.sig0000644 000000000000000000000050012050661606023651 0ustar00rootroot0000000 0000000 (** * abstract instruction generator version 2 * @copyright (c) 2007-2009, Tohoku University. * @author UENO Katsuhiro * @version $Id: AIGENERATOR.sig,v 1.10 2008/08/05 14:43:59 bochao Exp $ *) signature AIGENERATOR2 = sig val generate : YAANormal.topdecl list -> AbstractInstruction2.program end smlsharp-1.2.0/src/compiler/aigenerator2/main/AIGenerator.smi0000644 000000000000000000000141512050661606024265 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../abstractinstruction2/main/AbstractInstruction.ppg.smi" _require "../../constantterm/main/ConstantTerm.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../systemdef/main/BasicTypes.smi" _require "../../util/main/BigInt_IntInf.smi" _require "../../util/main/ListSorter.smi" _require "../../yaanormal/main/ANormal.ppg.smi" _require "AIGENERATOR.sig" _require "AIPrimitive.smi" _require "BinarySearchCode.smi" _require "CallAnalysis.smi" _require "Simplify.smi" structure AIGenerator2 = struct val generate : YAANormal.topdecl list -> AbstractInstruction2.program end smlsharp-1.2.0/src/compiler/aigenerator2/main/AIGenerator.sml0000644 000000000000000000041466312050661606024305 0ustar00rootroot0000000 0000000 (** * abstract instruction generator version 2 * @copyright (c) 2007-2009, Tohoku University. * @author UENO Katsuhiro * @version $Id: AIGenerator.sml,v 1.27 2008/12/10 11:37:21 katsu Exp $ *) structure AIGenerator2 : AIGENERATOR2 = struct structure AbstractInstruction = AbstractInstruction2 structure ID = VarID structure CT = ConstantTerm structure AN = YAANormal structure AI = AbstractInstruction structure Target = AI.Target structure CA = CallAnalysis fun newLocalId () = VarID.generate() (* FIXME: nested block; adjust with RBUTransformation *) val nestedBlockIndex = AI.UInt 0w0 (* FIXME: platform dependent *) fun sizeOfBoxed () = if Control.nativeGen() then 0w4 else 0w1 : Target.uint fun sizeOfEntry () = if Control.nativeGen() then 0w4 else 0w1 : Target.uint fun sizeOfFloat () = if Control.nativeGen() then 0w4 else 0w1 : Target.uint fun sizeOfDouble () = if Control.nativeGen() then 0w8 else 0w2 : Target.uint val SubscriptExceptionTag = AI.Extern ("sml_exntag_Subscript", AI.BOXED) val DivExceptionTag = AI.Extern ("sml_exntag_Div", AI.BOXED) val SizeExceptionTag = AI.Extern ("sml_exntag_Size", AI.BOXED) val arrayMaxLen = 0x01ffffff fun newArg (ty, argKind) = {id = newLocalId (), ty = ty, argKind = argKind} : AI.argInfo fun newVar ty = let val id = newLocalId () val displayName = "$" ^ ID.toString id in {id = id, ty = ty, displayName = displayName} : AI.varInfo end val newLabel = newLocalId fun newANVarInfo anty varKind = let val id = newLocalId () in {id = id, displayName = "$" ^ ID.toString id, ty = anty, varKind = varKind} : AN.varInfo end fun onlyOne [x] = x | onlyOne _ = raise Control.Bug "onlyOne" (*********************************************************************) (* * Unless there is a variable of specified type in the variable list, * create a fresh variable and add to the list. *) fun ensureVars (varInfo::varList) (anty::tyList) = if #ty varInfo = anty then varInfo :: ensureVars varList tyList else varInfo :: ensureVars varList (anty::tyList) | ensureVars nil tyList = map (fn anty => newANVarInfo anty AN.LOCAL) tyList | ensureVars varList nil = varList (* * Pick up a sequence of local variables of specified types from * variable list. *) fun pickupVars ((varInfo:AN.varInfo)::varList) (anty::tyList) = if #ty varInfo = anty then varInfo :: pickupVars varList tyList else pickupVars varList (anty::tyList) | pickupVars varList nil = nil | pickupVars nil tyList = raise Control.Bug "pickupVars" (*********************************************************************) type routineInfo = { codeId: AI.label, body: AN.andecl list, argVarList: AN.varInfo list, resultTyList: AN.ty list, ffiAttributes: AN.ffiAttributes option, loc: AI.loc, (* variables for holding arguments *) paramVars: AN.varInfo list, (* variable which holds a return address of LOCALRETURN *) linkVar: AN.varInfo option, (* informations of entry blocks *) initialHandlers: AI.label option list, funEntry: AI.label option, codeEntry: AI.label option, selfLoopEntry: AI.label option, selfBackEntry: AI.label option } type context = { raiseDivLabel: AI.label option, raiseSizeLabel: AI.label option, boundaryCheckFailedLabel: AI.label option, envVar: AI.varInfo option, linkVar: AI.varInfo, (* linkArg: AI.argInfo, *) funIdMap: AI.clusterId ID.Map.map, (* functionId -> clusterId *) (* genericTys: AI.genericTyRep IEnv.map, (* tid -> genTyRep *) *) routineInfoMap: routineInfo ID.Map.map, (* routineInfo table *) (* paramMap for each routine *) paramMapMap: AI.value ID.Map.map ID.Map.map, passVars: AN.varInfo list, (* vars for passing values *) constants: AI.data ID.Map.map (* constant table *) } type environment = { routineLabel: AI.label, (* current code label *) paramMap: AI.value ID.Map.map, (* param -> value *) handler: AI.handler (* exception handler *) } fun addConst (context as {constants, ...}:context) const = let val constid = newLocalId () in ({ raiseDivLabel = #raiseDivLabel context, raiseSizeLabel = #raiseSizeLabel context, boundaryCheckFailedLabel = #boundaryCheckFailedLabel context, envVar = #envVar context, linkVar = #linkVar context, funIdMap = #funIdMap context, routineInfoMap = #routineInfoMap context, paramMapMap = #paramMapMap context, passVars = #passVars context, constants = ID.Map.insert (constants, constid, const) } : context, constid) end fun getClusterId (context as {funIdMap, ...}:context) label = case ID.Map.find (funIdMap, label) of SOME clusterId => clusterId | NONE => raise Control.Bug ("getClusterId: " ^ ID.toString label) fun getRoutineInfo (context as {routineInfoMap, ...}:context) label = case ID.Map.find (routineInfoMap, label) of SOME routineInfo => routineInfo | NONE => raise Control.Bug ("getRoutineInfo: " ^ ID.toString label) fun addParamMap (context as {paramMapMap, ...}:context) label paramMap = { raiseDivLabel = #raiseDivLabel context, raiseSizeLabel = #raiseSizeLabel context, boundaryCheckFailedLabel = #boundaryCheckFailedLabel context, envVar = #envVar context, linkVar = #linkVar context, funIdMap = #funIdMap context, (* genericTys = #genericTys context, *) routineInfoMap = #routineInfoMap context, paramMapMap = ID.Map.insert (paramMapMap, label, paramMap), passVars = #passVars context, constants = #constants context } : context fun setBoundaryCheckFailedLabel (context:context) label = { raiseDivLabel = #raiseDivLabel context, raiseSizeLabel = #raiseSizeLabel context, boundaryCheckFailedLabel = SOME label, envVar = #envVar context, linkVar = #linkVar context, funIdMap = #funIdMap context, (* genericTys = #genericTys context, *) routineInfoMap = #routineInfoMap context, paramMapMap = #paramMapMap context, passVars = #passVars context, constants = #constants context } : context fun setRaiseDivLabel (context:context) label = { raiseDivLabel = SOME label, raiseSizeLabel = #raiseSizeLabel context, boundaryCheckFailedLabel = #boundaryCheckFailedLabel context, envVar = #envVar context, linkVar = #linkVar context, funIdMap = #funIdMap context, (* genericTys = #genericTys context, *) routineInfoMap = #routineInfoMap context, paramMapMap = #paramMapMap context, passVars = #passVars context, constants = #constants context } : context fun setRaiseSizeLabel (context:context) label = { raiseDivLabel = #raiseDivLabel context, raiseSizeLabel = SOME label, boundaryCheckFailedLabel = #boundaryCheckFailedLabel context, envVar = #envVar context, linkVar = #linkVar context, funIdMap = #funIdMap context, (* genericTys = #genericTys context, *) routineInfoMap = #routineInfoMap context, paramMapMap = #paramMapMap context, passVars = #passVars context, constants = #constants context } : context fun currentClosureEnv ({envVar,...}:context) = case envVar of SOME v => AI.Var v | NONE => AI.Empty (* for debug *) fun currentLoc context ({routineLabel, ...}:environment) = Control.prettyPrint (Loc.format_loc (#loc (getRoutineInfo context routineLabel))) fun setHandler (env:environment) handler = { routineLabel = #routineLabel env, paramMap = #paramMap env, handler = handler } : environment (*********************************************************************) type code = { blocks: AI.basicBlock list, (* generated basic blocks *) currentBlock: AI.basicBlock option, (* header of current block *) insns: AI.instruction list list (* insns in current block *) } fun getCurrentLabel ({currentBlock = SOME {label, ...}, ...}:code) = label | getCurrentLabel _ = raise Control.Bug "getCurrentLabel" fun beginBlock (code:code) label blockKind (env:environment) loc = (* assert begin *) case #currentBlock code of SOME {label = opened, ...} => raise Control.Bug ("beginBlock " ^ ID.toString label ^ " in " ^ ID.toString opened) | NONE => (* assert end *) { blocks = #blocks code, currentBlock = SOME {label = label, blockKind = blockKind, handler = #handler env, loc = loc, instructionList = nil}, (* dummy *) insns = nil } : code fun closeBlock (code as {currentBlock = SOME currentBlock, ...}:code) = let val block = { label = #label currentBlock, blockKind = #blockKind currentBlock, handler = #handler currentBlock, loc = #loc currentBlock, instructionList = List.concat (rev (#insns code)) } : AI.basicBlock in { blocks = block :: #blocks code, currentBlock = NONE, insns = nil } : code end | closeBlock code = (* We need to allow to close closed code. * SWITCH or HANDLE at tail position of a function may cause such case. *) code fun addInsn (code:code) insns = { blocks = #blocks code, currentBlock = #currentBlock code, insns = insns :: #insns code } : code fun forceBeginBlock (code:code) label blockKind env loc = let val code = case #currentBlock code of NONE => code | SOME {label = opened, ...} => let val code = addInsn code [ AI.Jump {label = AI.Label label, knownDestinations = [label], loc = loc} ] in closeBlock code end in beginBlock code label blockKind env loc end (*********************************************************************) fun transformTy anty = case anty of AN.UINT => AI.UINT | AN.SINT => AI.SINT | AN.BYTE => AI.BYTE | AN.BOXED => AI.BOXED | AN.POINTER => AI.CPOINTER | AN.CODEPOINT => AI.CODEPOINTER | AN.FUNENTRY => AI.ENTRY | AN.FOREIGNFUN => AI.CODEPOINTER | AN.FLOAT => AI.FLOAT | AN.DOUBLE => AI.DOUBLE | AN.GENERIC tid => AI.GENERIC tid (* (* * MEMO: Every parameter and local variable should have a fixed size type. *) fun transformParamInfo (anvarInfo as {id,...}:AN.varInfo) = case #varKind anvarInfo of AN.ARG => { id = id, displayName = #displayName anvarInfo, ty = transformTy (#ty anvarInfo) } : AI.paramInfo | AN.LOCALARG => { id = id, displayName = #displayName anvarInfo, ty = transformTy (#ty anvarInfo) } : AI.paramInfo | AN.LOCAL => raise Control.Bug ("transformParamInfo: LOCAL " ^ ID.toString id) *) fun transformVarInfo (anvarInfo as {id,...}:AN.varInfo) = case #varKind anvarInfo of AN.LOCAL => { id = id, displayName = #displayName anvarInfo, ty = transformTy (#ty anvarInfo) } : AI.varInfo | AN.ARG => raise Control.Bug ("transformVarInfo: ARG " ^ ID.toString id) | AN.LOCALARG => raise Control.Bug ("transformVarInfo: LOCALARG " ^ ID.toString id) fun transformBarrier (value, setGlobal) = case (value, setGlobal) of (AI.UInt 0w0, _) => AI.NoBarrier | (AI.UInt 0w1, false) => AI.WriteBarrier | (AI.UInt 0w1, true) => AI.GlobalWriteBarrier | (_, false) => AI.BarrierTag value | (_, true) => raise Control.Bug "transformBarrier" fun transformGlobalRef (name, ty) = case (name, ty) of (AN.TOP_EXTERN name, AN.FOREIGNFUN) => AI.ExtFunLabel name | (AN.TOP_EXTERN name, AN.POINTER) => AI.Extern (name, AI.CPOINTER) | (AN.TOP_EXPORT (AN.TOP_GLOBAL name), AN.POINTER) => AI.Global (name, AI.CPOINTER) | (AN.TOP_EXTERN name, _) => AI.Extern (name, AI.BOXED) | (AN.TOP_EXPORT (AN.TOP_GLOBAL name), _) => AI.Global (name, AI.BOXED) | (AN.TOP_EXPORT (AN.TOP_LOCAL id), _) => AI.Const id fun getPassVars (context as {passVars, ...}:context) antyList = pickupVars passVars antyList (*********************************************************************) fun unrollNestedBlock env code record (AI.UInt 0w0) loc = (code, record) | unrollNestedBlock env code record (AI.UInt n) loc = let val var = newVar AI.BOXED val code = addInsn code [ AI.Load {dst = var, ty = AI.BOXED, block = record, offset = nestedBlockIndex, size = AI.UInt (sizeOfBoxed ()), loc = loc} ] in unrollNestedBlock env code (AI.Var var) (AI.UInt (n - 0w1)) loc end | unrollNestedBlock env code record nestLevel loc = let val currentLabel = getCurrentLabel code val loopLabel = newLabel () val bodyLabel = newLabel () val exitLabel = newLabel () val counterVar = newVar AI.UINT val blockVar = newVar AI.BOXED val code = addInsn code [ (* counter = nestLevel; *) AI.Move {dst = counterVar, ty = AI.UINT, value = nestLevel, loc = loc}, (* block = record; *) AI.Move {dst = blockVar, ty = AI.BOXED, value = record, loc = loc}, AI.Jump {label = AI.Label loopLabel, knownDestinations = [loopLabel], loc = loc} ] val code = closeBlock code val code = beginBlock code loopLabel AI.Loop env loc val code = addInsn code [ (* while (counter != 0) { *) AI.If {value1 = AI.Var counterVar, value2 = AI.UInt 0w0, op2 = (AI.MonoEqual, AI.UINT, AI.UINT, AI.UINT), thenLabel = exitLabel, elseLabel = bodyLabel, loc = loc} ] val code = closeBlock code val code = beginBlock code bodyLabel AI.Branch env loc val code = addInsn code [ (* block = block[nestedBlockIndex]; *) AI.Load {dst = blockVar, ty = AI.BOXED, block = AI.Var blockVar, offset = nestedBlockIndex, size = AI.UInt (sizeOfBoxed ()), loc = loc}, (* counter = counter - 1; *) AI.PrimOp2 {dst = counterVar, op2 = (AI.Sub, AI.UINT, AI.UINT, AI.UINT), arg1 = AI.Var counterVar, arg2 = AI.UInt 0w1, loc = loc}, (* } *) AI.Jump {label = AI.Label loopLabel, knownDestinations = [loopLabel], loc = loc} ] val code = closeBlock code val code = beginBlock code exitLabel AI.Branch env loc in (code, AI.Var blockVar) end fun initializeArray env code (dst, totalSize, initialValue, elementTy, elementSize, loc) = let val currentLabel = getCurrentLabel code val loopLabel = newLabel () val bodyLabel = newLabel () val exitLabel = newLabel () val counterVar = newVar AI.UINT val code = addInsn code [ (* counter = 0; *) AI.Move {dst = counterVar, ty = AI.UINT, value = AI.UInt 0w0, loc = loc}, AI.Jump {label = AI.Label loopLabel, knownDestinations = [loopLabel], loc = loc} ] val code = closeBlock code val code = beginBlock code loopLabel AI.Loop env loc val code = addInsn code [ (* while (counter < totalSize) { *) AI.If {value1 = AI.Var counterVar, value2 = totalSize, op2 = (AI.Lt, AI.UINT, AI.UINT, AI.UINT), thenLabel = bodyLabel, elseLabel = exitLabel, loc = loc} ] val code = closeBlock code val code = beginBlock code bodyLabel AI.Branch env loc val code = addInsn code [ (* update for initialization. barrier is not needed. *) (* dst[counter] = value; *) AI.Update {block = AI.Var dst, offset = AI.Var counterVar, size = elementSize, ty = elementTy, value = initialValue, barrier = AI.NoBarrier, loc = loc}, (* counter = counter + elementSize; *) AI.PrimOp2 {dst = counterVar, op2 = (AI.Add, AI.UINT, AI.UINT, AI.UINT), arg1 = AI.Var counterVar, arg2 = elementSize, loc = loc}, (* } *) AI.Jump {label = AI.Label loopLabel, knownDestinations = [loopLabel], loc = loc} ] val code = closeBlock code val code = beginBlock code exitLabel AI.Branch env loc in code end fun isNoPad (fieldSizeList, fieldIndexList, totalSize) = let fun toInt (AI.UInt v1) = SOME v1 | toInt (AI.SInt v1) = SOME (Target.SIntToUInt v1) | toInt _ = NONE fun check (total, nil, nil) = toInt totalSize = SOME total | check (total, size::sizes, index::indexes) = (case (toInt size, toInt index) of (SOME size, SOME index) => total = index andalso check (index + size, sizes, indexes) | _ => false) | check (total, _, _) = raise Control.Bug "isNoPad" in check (0w0, fieldSizeList, fieldIndexList) end fun allocRecord (context:context) env code {dst, bitmaps, payloadSize, fieldTyList, fieldSizeList, fieldIndexList, clearPad, loc} = let val noPad = isNoPad (fieldSizeList, fieldIndexList, payloadSize) val zeroClear = if noPad then false else clearPad (* optimization: use Vector if every field has same tag. *) val (objectType, bitmaps) = if Control.nativeGen() then case bitmaps of [AI.UInt 0w0] => (AI.Vector, bitmaps) | _ => if noPad andalso List.all (fn AN.BOXED => true | _ => false) fieldTyList then (AI.Vector, [AI.UInt 0w1]) else (AI.Record {mutable=false}, bitmaps) (* workaround for YASIGenerator *) else (AI.Record {mutable=false}, bitmaps) val code = addInsn code [ AI.Alloc {dst = dst, objectType = objectType, bitmaps = bitmaps, payloadSize = payloadSize, loc = loc} ] val code = if clearPad andalso not noPad then initializeArray env code (dst, payloadSize, AI.UInt 0w0, AI.BYTE, AI.UInt 0w1, loc) else code in code end (* initializeBlock doesn't generate codes calling barrier. *) fun yaInitializeBlock (context:context) code block {antyList, sizeList, indexList, valueList} loc = let fun initField (code, nil, nil, nil, nil) = code | initField (code, anty::antys, size::sizes, index::indexes, value::values) = let val code = addInsn code [ AI.Update {block = block, offset = index, size = size, ty = transformTy anty, value = value, barrier = AI.NoBarrier, loc = loc} ] in initField (code, antys, sizes, indexes, values) end | initField _ = raise Control.Bug "initField" in initField (code, antyList, sizeList, indexList, valueList) end fun yaMakeRecord context env code (args as {dst, fieldTyList, fieldSizeList, fieldIndexList, loc, ...}) fieldList = let val code = allocRecord context env code args val code = yaInitializeBlock context code (AI.Var dst) {antyList=fieldTyList, sizeList=fieldSizeList, indexList=fieldIndexList, valueList=fieldList} loc in code end fun closureLayout () = { closureBitmap = 0w1 : Target.uint, (* |BOXED, ENTRY| *) closureFieldTys = [AN.BOXED, AN.FUNENTRY], closureFieldSizes = [sizeOfBoxed(), sizeOfEntry()], closureFieldIndexes = [0w0, sizeOfBoxed()], closureSize = sizeOfBoxed() + sizeOfEntry() } fun makeClosure context env code dst funEntry closureEnv loc = let val {closureBitmap, closureFieldTys, closureFieldSizes, closureFieldIndexes, closureSize} = closureLayout () in yaMakeRecord context env code {dst = dst, bitmaps = [AI.UInt closureBitmap], payloadSize = AI.UInt closureSize, fieldTyList = closureFieldTys, fieldSizeList = map AI.UInt closureFieldSizes, fieldIndexList = map AI.UInt closureFieldIndexes, clearPad = false, loc = loc} [closureEnv, funEntry] end fun expandClosure code closure entry env loc = addInsn code [ AI.Load {dst = entry, ty = AI.ENTRY, block = closure, offset = AI.UInt (sizeOfBoxed ()), size = AI.UInt (sizeOfEntry ()), loc = loc}, AI.Load {dst = env, ty = AI.BOXED, block = closure, offset = AI.UInt 0w0, size = AI.UInt (sizeOfBoxed ()), loc = loc} ] fun transformIntSwitch caseTy setupSwitch context env code switchValue branchCases defaultLabel loc = let val branchCases = setupSwitch branchCases fun beginBlockIfNeeded code (SOME label) blockKind env loc = beginBlock code label blockKind env loc | beginBlockIfNeeded code NONE blockKind env loc = code fun genCmp (context, code, env, (caseConst, label), blockLabel, leftLabel, rightLabel) = let val (noneqLabel, compare) = case (leftLabel, rightLabel) of (SOME l, SOME r) => (newLabel (), SOME (l, r)) | (SOME l, NONE) => (l, NONE) | (NONE, SOME r) => (r, NONE) | (NONE, NONE) => (defaultLabel, NONE) val code = beginBlockIfNeeded code blockLabel AI.Branch env loc val code = addInsn code [ (* if (switchValue == const) then goto label; *) AI.If {value1 = switchValue, value2 = caseConst, op2 = (AI.MonoEqual, caseTy, caseTy, AI.UINT), thenLabel = label, elseLabel = noneqLabel, loc = loc} ] val code = closeBlock code val code = case compare of NONE => code | SOME (leftLabel, rightLabel) => let val code = beginBlock code noneqLabel AI.Branch env loc val code = addInsn code [ (*if (switchValue < const) then left else right;*) AI.If {value1 = switchValue, value2 = caseConst, op2 = (AI.Lt, caseTy, caseTy, AI.UINT), thenLabel = leftLabel, elseLabel = rightLabel, loc = loc} ] val code = closeBlock code in code end in (context, code, env, env, env) end in BinarySearchCode.generate genCmp (context, code, env, branchCases) end fun setupSwitchInt branchCases = let val cases = map (fn (AN.ANCONST (CT.INT n), label, _) => (Target.toSInt n, label) | _ => raise Control.Bug "setupSwitchInt") branchCases val cases = ListSorter.sort (fn ((n1, _), (n2, _)) => Target.SInt.compare (n1, n2)) cases in map (fn (x, l) => (AI.SInt x, l)) cases end fun setupSwitchWord branchCases = let val cases = map (fn (AN.ANCONST (CT.WORD n), label, _) => (Target.toUInt n, label) | _ => raise Control.Bug "setupSwitchWord") branchCases val cases = ListSorter.sort (fn ((n1, _), (n2, _)) => Target.UInt.compare (n1, n2)) cases in map (fn (x, l) => (AI.UInt x, l)) cases end fun setupSwitchChar branchCases = let val cases = map (fn (AN.ANCONST (CT.CHAR n), label, _) => (Target.charToUInt n, label) | _ => raise Control.Bug "setupSwitchChar") branchCases val cases = ListSorter.sort (fn ((n1, _), (n2, _)) => Target.UInt.compare (n1, n2)) cases in map (fn (x, l) => (AI.Byte x, l)) cases end fun setupSwitchByte branchCases = let val cases = map (fn (AN.ANCONST (CT.BYTE n), label, _) => (Target.toUInt (BasicTypes.UInt8ToUInt32 n), label) | _ => raise Control.Bug "setupSwitchByte") branchCases val cases = ListSorter.sort (fn ((n1, _), (n2, _)) => Target.UInt.compare (n1, n2)) cases in map (fn (x, l) => (AI.Byte x, l)) cases end fun transformBinarySwitch cmpOp context env code switchValue branchCases defaultLabel loc = let (* branchCases must be already set up. *) fun beginBlockIfNeeded code (SOME label) blockKind env loc = beginBlock code label blockKind env loc | beginBlockIfNeeded code NONE blockKind env loc = code fun genCmp (context, code, env, (loadInsn, caseConst, label), blockLabel, leftLabel, rightLabel) = let val (noneqLabel, compare) = case (leftLabel, rightLabel) of (SOME l, SOME r) => (newLabel (), SOME (l, r)) | (SOME l, NONE) => (l, NONE) | (NONE, SOME r) => (r, NONE) | (NONE, NONE) => (defaultLabel, NONE) val cmp = newVar AI.SINT val code = beginBlockIfNeeded code blockLabel AI.Branch env loc val code = addInsn code loadInsn val code = addInsn code ( (* cmp = cmpOp(strVar, string); *) cmpOp {dst = cmp, arg1 = switchValue, arg2 = caseConst, loc = loc} @ [ (* if (cmp == 0) then goto label; *) AI.If {value1 = AI.Var cmp, value2 = AI.SInt 0, op2 = (AI.MonoEqual, AI.SINT, AI.SINT, AI.UINT), thenLabel = label, elseLabel = noneqLabel, loc = loc} ] ) val code = closeBlock code val code = case compare of NONE => code | SOME (leftLabel, rightLabel) => let val code = beginBlock code noneqLabel AI.Branch env loc val code = addInsn code [ (* if (cmp < 0) then goto left else right; *) AI.If {value1 = AI.Var cmp, value2 = AI.SInt 0, op2 = (AI.Lt, AI.SINT, AI.SINT, AI.UINT), thenLabel = leftLabel, elseLabel = rightLabel, loc = loc} ] val code = closeBlock code in code end in (context, code, env, env, env) end in BinarySearchCode.generate genCmp (context, code, env, branchCases) end fun transformStringSwitch context env code switchValue branchCases defaultLabel loc = let val branchCases = map (fn (AN.ANCONST (CT.STRING s), label, _) => (s, label) | _ => raise Control.Bug "transformStringSwitch") branchCases val branchCases = ListSorter.sort (fn ((str1, _), (str2, _)) => Target.compareString (str1, str2)) branchCases fun addCaseConsts context ((x, label)::cases) = let val (context, constId) = addConst context (AI.StringData x) val (context, cases) = addCaseConsts context cases in (context, (nil, AI.Const constId, label)::cases) end | addCaseConsts context nil = (context, nil) val (context, branchCases) = addCaseConsts context branchCases in transformBinarySwitch AIPrimitive.StrCmp context env code switchValue branchCases defaultLabel loc end fun transformLargeIntSwitch context env code switchValue branchCases defaultLabel loc = let val branchCases = map (fn (AN.ANCONST (CT.LARGEINT n), label, _) => (n, label) | _ => raise Control.Bug "transformLargeIntSwitch") branchCases val branchCases = ListSorter.sort (fn ((str1, _), (str2, _)) => BigInt.compare (str1, str2)) branchCases fun addCaseConsts context ((x, label)::cases) = let val (context, constId) = addConst context (AI.IntInfData x) val var = newVar AI.BOXED val loadInsn = AIPrimitive.LoadIntInf {dst = var, arg = AI.Init constId, loc = loc} val (context, cases) = addCaseConsts context cases in (context, (loadInsn, AI.Var var, label)::cases) end | addCaseConsts context nil = (context, nil) val (context, branchCases) = addCaseConsts context branchCases in transformBinarySwitch AIPrimitive.IntInfCmp context env code switchValue branchCases defaultLabel loc end fun transformExceptionSwitch context env code switchValue branchCases defaultLabel loc = let val (context, branchCases) = foldr (fn ((AN.ANVALUE (AN.ANTOPSYMBOL {name,ty,...}), label, _), (context,branches)) => let val tag = transformGlobalRef (name, ty) in (context, (tag,label)::branches) end | ((AN.ANCONST CT.NULLBOXED, label, _), (context, branches)) => (context, (AI.Empty, label)::branches) | _ => raise Control.Bug "transformExceptionTag") (context, nil) branchCases (* * NOTE: Since exception type is open sum, exception tag values are * not decided at compilation time. So we cannot compile * exception switch into efficient search code. * Here we compile it to linear search. *) fun genSwitch code nil = code | genSwitch code [(tag, label)] = let val code = addInsn code [ (* if (value == tag) goto label else defaultLabel; *) AI.If {value1 = switchValue, value2 = tag, op2 = (AI.MonoEqual, AI.BOXED, AI.BOXED, AI.UINT), thenLabel = label, elseLabel = defaultLabel, loc = loc} ] in closeBlock code end | genSwitch code ((tag, label)::branches) = let val nextLabel = newLabel () val code = addInsn code [ (* if (value == tag) goto label; *) AI.If {value1 = switchValue, value2 = tag, op2 = (AI.MonoEqual, AI.BOXED, AI.BOXED, AI.UINT), thenLabel = label, elseLabel = nextLabel, loc = loc} ] val code = closeBlock code val code = beginBlock code nextLabel AI.Branch env loc in genSwitch code branches end in (context, genSwitch code branchCases, map (fn _ => env) branchCases) end fun checkFailedBlock context get set exnTag loc = case get context of SOME label => (context, fn x => fn _ => x, label) | NONE => let val label = newLabel () val exnVar = newArg (AI.BOXED, AI.Exn) val exnValue = newVar AI.BOXED val context = set context label (* In the current implementation, an exception object is a * record whose first field is a pointer to a heap-allocated * exception tag object. *) val insns = [ AI.Alloc {dst = exnValue, objectType = AI.Vector, bitmaps = [AI.UInt 0w1], payloadSize = AI.UInt (sizeOfBoxed ()), loc = loc}, AI.Update {block = AI.Var exnValue, offset = AI.UInt 0w0, size = AI.UInt (sizeOfBoxed ()), ty = AI.BOXED, value = exnTag, barrier = AI.NoBarrier, loc = loc}, AI.Set {dst = exnVar, ty = AI.BOXED, value = AI.Var exnValue, loc = loc}, AI.Raise {exn = exnVar, loc = loc} ] fun addCode code env = let val code = beginBlock code label AI.CheckFailed env loc val code = addInsn code insns val code = closeBlock code in code end in (context, addCode, label) end fun boundaryCheck context env code block offset size loc = let val (context, addFailBlock, failLabel) = checkFailedBlock context #boundaryCheckFailedLabel setBoundaryCheckFailedLabel SubscriptExceptionTag loc val passLabel = newLabel () val objectSize = newVar AI.UINT val code = addInsn code [ AI.PrimOp1 {dst = objectSize, op1 = (AI.PayloadSize, AI.BOXED, AI.UINT), arg = block, loc = loc}, AI.CheckBoundary {offset = offset, size = size, objectSize = AI.Var objectSize, passLabel = passLabel, failLabel = failLabel, loc = loc} ] val code = closeBlock code val code = addFailBlock code env val code = beginBlock code passLabel AI.Branch env loc in (context, code) end fun arraySizeCheck context env code value loc = if (case value of AI.UInt n => n < Target.intToUInt arrayMaxLen | AI.SInt n => n < 0 andalso n < Target.intToSInt arrayMaxLen | _ => false) then (context, code) (* no need to check dynamically *) else let val (context, addFailBlock, failLabel) = checkFailedBlock context #raiseSizeLabel setRaiseSizeLabel SizeExceptionTag loc val ty = case value of AI.UInt _ => AI.UINT | AI.SInt _ => AI.SINT | AI.Var {ty,...} => ty | _ => raise Control.Bug "arraySizeCheck" val passLabel = newLabel () val code = case ty of AI.SINT => let val passLabel = newLabel () val code = addInsn code [ AI.If {value1 = value, value2 = AI.SInt 0, op2 = (AI.Lt, ty, ty, AI.UINT), thenLabel = failLabel, elseLabel = passLabel, loc = loc} ] val code = closeBlock code val code = beginBlock code passLabel AI.Branch env loc in code end | _ => code val arrayMaxLen = case ty of AI.UINT => AI.UInt (Target.intToUInt arrayMaxLen) | AI.SINT => AI.SInt (Target.intToSInt arrayMaxLen) | _ => raise Control.Bug "arraySizeCheck" val code = addInsn code [ AI.If {value1 = value, value2 = arrayMaxLen, op2 = (AI.Gt, ty, ty, AI.UINT), thenLabel = failLabel, elseLabel = passLabel, loc = loc} ] val code = closeBlock code val code = addFailBlock code env val code = beginBlock code passLabel AI.Branch env loc in (context, code) end fun divZeroCheck context env code value ty loc = if (case value of AI.UInt 0w0 => false | AI.UInt _ => true | AI.SInt 0 => false | AI.SInt _ => true | AI.Byte 0w0 => false | AI.Byte _ => true | _ => false) then (context, code) (* no need to check dynamically *) else let val (context, addFailBlock, failLabel) = checkFailedBlock context #raiseDivLabel setRaiseDivLabel DivExceptionTag loc val passLabel = newLabel () val zero = case ty of AI.UINT => AI.UInt 0w0 | AI.SINT => AI.SInt 0 | AI.BYTE => AI.Byte 0w0 | _ => raise Control.Bug ("divZeroCheck " ^ Control.prettyPrint (AI.format_ty ty)) val code = addInsn code [ AI.If {value1 = value, value2 = zero, op2 = (AI.MonoEqual, ty, ty, AI.UINT), thenLabel = failLabel, elseLabel = passLabel, loc = loc} ] val code = closeBlock code val code = addFailBlock code env val code = beginBlock code passLabel AI.Branch env loc in (context, code) end fun transformConst context env code dst const loc = case const of CT.INT n => (context, addInsn code [AI.Move {dst = dst, ty = AI.SINT, value = AI.SInt (Target.toSInt n), loc = loc}]) | CT.WORD n => (context, addInsn code [AI.Move {dst = dst, ty = AI.UINT, value = AI.UInt (Target.toUInt n), loc = loc}]) | CT.BYTE n => let val n = BasicTypes.UInt8ToUInt32 n in (context, addInsn code [AI.Move {dst = dst, ty = AI.UINT, value = AI.UInt (Target.toUInt n), loc = loc}]) end | CT.CHAR n => (context, addInsn code [AI.Move {dst = dst, ty = AI.UINT, value = AI.UInt (Target.charToUInt n), loc = loc}]) | CT.UNIT => (* assume UNIT is an integer. *) (context, addInsn code [AI.Move {dst = dst, ty = AI.UINT, value = AI.UInt 0w0, loc = loc}]) | CT.NULLPOINTER => (context, addInsn code [AI.Move {dst = dst, ty = AI.CPOINTER, value = AI.Null, loc = loc}]) | CT.NULLBOXED => (context, addInsn code [AI.Move {dst = dst, ty = AI.BOXED, value = AI.Empty, loc = loc}]) | CT.STRING s => let val (context, constId) = addConst context (AI.StringData s) in (context, addInsn code [AI.Move {dst = dst, ty = AI.BOXED, value = AI.Const constId, loc = loc}]) end | CT.LARGEINT n => let val (context, constId) = addConst context (AI.IntInfData n) val code = addInsn code ( AIPrimitive.LoadIntInf {dst = dst, arg = AI.Init constId, loc = loc} ) in (context, code) end | CT.REAL r => let val (context, constId) = addConst context (AI.PrimData (AI.RealData r)) val code = addInsn code [ if !Control.enableUnboxedFloat then AI.Load {dst = dst, ty = AI.DOUBLE, block = AI.Init constId, offset = AI.UInt 0w0, size = AI.UInt (sizeOfDouble ()), loc = loc} else AI.Move {dst = dst, ty = AI.DOUBLE, value = AI.Init constId, loc = loc} ] in (context, code) end | CT.FLOAT r => let val (context, constId) = addConst context (AI.PrimData (AI.FloatData r)) val code = addInsn code [ AI.Load {dst = dst, ty = AI.FLOAT, block = AI.Init constId, offset = AI.UInt 0w0, size = AI.UInt (sizeOfFloat ()), loc = loc} ] in (context, code) end (*********************************************************************) fun transformCodePoint context label = case #codeEntry (getRoutineInfo context label) of SOME x => x | NONE => raise Control.Bug ("transformCodePoint: no entry point of "^ ID.toString label) fun transformPrimData funIdMap anvalue = case anvalue of AN.ANINT n => AI.SIntData (Target.toSInt n) | AN.ANWORD n => AI.UIntData (Target.toUInt n) | AN.ANBYTE n => AI.UIntData (Target.toUInt (BasicTypes.UInt8ToUInt32 n)) | AN.ANCHAR c => AI.ByteData (Target.intToUInt (ord c)) | AN.ANUNIT => AI.UIntData 0w0 | AN.ANNULLPOINTER => AI.NullPointerData | AN.ANNULLBOXED => AI.NullBoxedData | AN.ANTOPSYMBOL {name=AN.TOP_EXTERN name, ...} => AI.ExternLabelData name | AN.ANTOPSYMBOL {name=AN.TOP_EXPORT (AN.TOP_GLOBAL name), ...} => AI.GlobalLabelData name | AN.ANTOPSYMBOL {name=AN.TOP_EXPORT (AN.TOP_LOCAL id), ...} => AI.ConstData id | AN.ANVAR _ => raise Control.Bug "transformPrimData: ANVAR" | AN.ANLABEL id => ( case ID.Map.find (funIdMap, id) of SOME clusterId => AI.EntryData {clusterId=clusterId, entry=id} | NONE => raise Control.Bug ("transformPrimData: " ^ ID.toString id) ) | AN.ANLOCALCODE _ => raise Control.Bug "transformPrimData: ANLOCALCODE" fun transformArg context (env:environment) anvalue = case anvalue of AN.ANINT n => (context, AI.SInt (Target.toSInt n)) | AN.ANWORD n => (context, AI.UInt (Target.toUInt n)) | AN.ANBYTE n => (context, AI.Byte (Target.toUInt (BasicTypes.UInt8ToUInt32 n))) | AN.ANCHAR c => (context, AI.Byte (Target.charToUInt c)) | AN.ANUNIT => (context, AI.UInt 0w0) (* assume UNIT is an integer. *) | AN.ANNULLPOINTER => (context, AI.Null) | AN.ANNULLBOXED => (context, AI.Empty) | AN.ANTOPSYMBOL {name,ty,...} => (context, transformGlobalRef (name, ty)) | AN.ANVAR (varInfo as {varKind = AN.ARG, id, ...}) => let val value = case ID.Map.find (#paramMap env, id) of SOME value => value | NONE => raise Control.Bug ("transformArg: ARG "^ ID.toString id) in (context, value) end | AN.ANVAR (varInfo as {varKind = AN.LOCALARG, id, ...}) => let val value = case ID.Map.find (#paramMap env, id) of SOME value => value | NONE => raise Control.Bug ("transformArg: LOCALARG "^ ID.toString id) in (context, value) end | AN.ANVAR (varInfo as {varKind = AN.LOCAL, id, ...}) => (context, AI.Var (transformVarInfo varInfo)) | AN.ANLABEL id => (context, AI.Entry {clusterId = getClusterId context id, entry = id}) | AN.ANLOCALCODE id => (context, AI.Label (transformCodePoint context id)) fun transformArgList context env (anvalue::anvalueList) = let val (context, value) = transformArg context env anvalue val (context, values) = transformArgList context env anvalueList in (context, value::values) end | transformArgList context env nil = (context, nil) fun makeMove context env code (var::anvarList) (value::valueList) loc = let val dst = transformVarInfo var val code = addInsn code [ AI.Move {dst = dst, ty = #ty dst, value = value, loc = loc} ] in makeMove context env code anvarList valueList loc end | makeMove context env code nil nil loc = (context, env, code) (* return env for convenience *) | makeMove _ _ _ x y _ = raise Control.Bug ("makeMove "^ Int.toString (length x)^","^ Int.toString (length y)) fun makeGet kindCon (varList, tyList, loc) = let fun mapi f l = let fun loop (i, h::t) = f (i, h) :: loop (i + 1, t) | loop (i, nil) = nil in loop (0, l) end val args = mapi (fn (n, ty) => newArg (ty, kindCon (n, tyList))) tyList fun make (n, var::vars, ty::tys) = let val arg = newArg (ty, kindCon (n, tyList)) val (args, insns) = make (n + 1, vars, tys) in (arg::args, AI.Get {dst = var, ty = ty, src = arg, loc = loc} :: insns) end | make (n, nil, nil) = (nil, nil) | make (n, _, _) = raise Control.Bug "makeSet" in make (0, varList, tyList) end fun makeSet kindCon (valueList, tyList, loc) = let fun make (n, value::values, ty::tys) = let val arg = newArg (ty, kindCon (n, tyList)) val (args, insns) = make (n + 1, values, tys) in (arg::args, AI.Set {dst = arg, ty = ty, value = value, loc = loc} :: insns) end | make (n, nil, nil) = (nil, nil) | make (n, _, _) = raise Control.Bug "makeSet" in make (0, valueList, tyList) end fun makeGetRet con argTys = makeGet (fn (n,t) => con {index = n, argTys = argTys, retTys = t}) fun makeSetArg con retTys = makeSet (fn (n,t) => con {index = n, argTys = t, retTys = retTys}) fun makeSetRet con argTys = makeSet (fn (n,t) => con {index = n, argTys = argTys, retTys = t}) fun makeSetExtArg con attributes = makeSet (fn (n,t) => con {index = n, argTys = t, attributes = attributes}) fun makeGetExtRet con attributes = makeGet (fn (n,t) => con {index = n, retTys = t, attributes = attributes}) fun makeEmpty context env code varList loc = let val dst = transformVarInfo (onlyOne varList) val code = addInsn code [ AI.Alloc {dst = dst, objectType = AI.Vector, bitmaps = [AI.UInt 0w0], payloadSize = AI.UInt 0w0, loc = loc} ] in (context, env, code) end fun transformDecl context env code andecl = case andecl of AN.ANVAL {varList, exp = AN.ANCONST const, loc} => let val dst = transformVarInfo (onlyOne varList) val (context, code) = transformConst context env code dst const loc in (context, env, code) end | AN.ANVAL {varList, exp = AN.ANVALUE anvalue, loc} => let val (context, value) = transformArg context env anvalue in makeMove context env code varList [value] loc end | AN.ANVAL {varList, exp = AN.ANRECORD {totalSize = AN.ANWORD 0w0, ...}, loc} => makeEmpty context env code varList loc | AN.ANVAL {varList, exp = AN.ANARRAY {totalSize = AN.ANWORD 0w0, isMutable = false, ...}, loc} => makeEmpty context env code varList loc | AN.ANVAL {varList, exp = AN.ANENVACC {nestLevel, offset, size, ty}, loc} => let val dst = transformVarInfo (onlyOne varList) val (context, size) = transformArg context env size val nestLevel = AI.UInt (Target.toUInt nestLevel) val offset = AI.UInt (Target.toUInt offset) val ty = transformTy ty val (code, block) = unrollNestedBlock env code (currentClosureEnv context) nestLevel loc val code = addInsn code [ AI.Load {dst = dst, ty = ty, block = block, offset = offset, size = size, loc = loc} ] in (context, env, code) end | AN.ANVAL {varList, exp = AN.ANSELECT {record, nestLevel, offset, size, ty}, loc} => let val dst = transformVarInfo (onlyOne varList) val (context, record) = transformArg context env record val (context, nestLevel) = transformArg context env nestLevel val (context, offset) = transformArg context env offset val (context, size) = transformArg context env size val ty = transformTy ty val (code, block) = unrollNestedBlock env code record nestLevel loc val code = addInsn code [ AI.Load {dst = dst, ty = ty, block = block, offset = offset, size = size, loc = loc} ] in (context, env, code) end | AN.ANVAL {varList, exp = AN.ANGETFIELD {array, offset, size, ty, needBoundaryCheck}, loc} => let val dst = transformVarInfo (onlyOne varList) val (context, array) = transformArg context env array val (context, offset) = transformArg context env offset val (context, size) = transformArg context env size val ty = transformTy ty val (context, code) = if needBoundaryCheck then boundaryCheck context env code array offset size loc else (context, code) val code = addInsn code [ AI.Load {dst = dst, ty = ty, block = array, offset = offset, size = size, loc = loc} ] in (context, env, code) end | AN.ANSETFIELD {array, offset, value, valueTy, valueSize, valueTag, setGlobal, needBoundaryCheck, loc} => let val (context, array) = transformArg context env array val (context, offset) = transformArg context env offset val (context, value) = transformArg context env value val valueTy = transformTy valueTy val (context, valueSize) = transformArg context env valueSize val (context, valueTag) = transformArg context env valueTag val barrier = transformBarrier (valueTag, setGlobal) val (context, code) = if needBoundaryCheck then boundaryCheck context env code array offset valueSize loc else (context, code) val code = addInsn code [ AI.Update {block = array, offset = offset, size = valueSize, ty = valueTy, value = value, barrier = barrier, loc = loc} ] in (context, env, code) end | AN.ANSETTAIL {record, nestLevel, offset, value, valueTy, valueSize, valueTag, loc} => let val (context, record) = transformArg context env record val (context, nestLevel) = transformArg context env nestLevel val (context, offset) = transformArg context env offset val (context, value) = transformArg context env value val valueTy = transformTy valueTy val (context, valueSize) = transformArg context env valueSize val (context, valueTag) = transformArg context env valueTag val barrier = transformBarrier (valueTag, false) val code = addInsn code [ AI.Update {block = record, offset = offset, size = valueSize, ty = valueTy, value = value, barrier = barrier, loc = loc} ] in (context, env, code) end | AN.ANCOPYARRAY {src, srcOffset, dst, dstOffset, length, elementTy, elementSize, elementTag, loc} => let (* FIXME: what is the type of length and elementSize? * UINT? OFFSET? SIZE? *) val (context, src) = transformArg context env src val (context, srcOffset) = transformArg context env srcOffset val (context, dst) = transformArg context env dst val (context, dstOffset) = transformArg context env dstOffset val (context, length) = transformArg context env length val elemTy = transformTy elementTy val (context, elemSize) = transformArg context env elementSize val (context, elemTag) = transformArg context env elementTag in (* FIXME: need boundary check *) case elemSize of AI.UInt 0w1 => let val code = addInsn code ( (* Memcpy primitive includes write barrier. *) AIPrimitive.Memcpy {src = src, srcOffset = srcOffset, dst = dst, dstOffset = dstOffset, length = length, tag = elemTag, loc = loc} ) in (context, env, code) end | _ => let val lenVar = newVar AI.UINT val code = addInsn code ( AI.PrimOp2 {dst = lenVar, op2 = (AI.Mul, AI.UINT, AI.UINT, AI.UINT), arg1 = length, arg2 = elemSize, loc = loc} :: (* Memcpy primitive includes write barrier. *) AIPrimitive.Memcpy {src = src, srcOffset = srcOffset, dst = dst, dstOffset = dstOffset, length = AI.Var lenVar, tag = elemTag, loc = loc} ) in (context, env, code) end end | AN.ANVAL {varList, exp = AN.ANARRAY {bitmap, totalSize as anTotalSize, initialValue, elementTy, elementSize as anElementSize, isMutable}, loc} => let val dst = transformVarInfo (onlyOne varList) val (context, bitmap) = transformArg context env bitmap val (context, totalSize) = transformArg context env totalSize val (context, initialValue) = case initialValue of NONE => (context, NONE) | SOME initialValue => let val (context, v) = transformArg context env initialValue in (context, SOME v) end val elementTy = transformTy elementTy val (context, elementSize) = transformArg context env elementSize val objectType = if isMutable then AI.Array else AI.Vector val (elementSize, elementTy, initialValue) = case (bitmap, initialValue) of (AI.UInt 0w0, NONE) => (elementSize, elementTy, NONE) | (_, SOME _) => (elementSize, elementTy, initialValue) | _ => (* no initial value but need initialization *) (AI.UInt 0w1, AI.BYTE, SOME (AI.UInt 0w0)) fun toInt (AI.UInt v1) = SOME v1 | toInt (AI.SInt v1) = SOME (Target.SIntToUInt v1) | toInt _ = NONE val isOneElement = toInt totalSize = toInt elementSize orelse (case (totalSize, elementSize) of (AI.Var v1, AI.Var v2) => ID.eq (#id v1, #id v2) | _ => false) in case (isOneElement, initialValue) of (true, SOME initialValue) => (* one element array; this is frequently used for "ref." *) let val code = addInsn code [ AI.Alloc {dst = dst, objectType = objectType, bitmaps = [bitmap], payloadSize = totalSize, loc = loc}, (* update for initialization. barrier is not needed. *) AI.Update {block = AI.Var dst, offset = AI.UInt 0w0, size = elementSize, ty = elementTy, value = initialValue, barrier = AI.NoBarrier, loc = loc} ] in (context, env, code) end | (_, NONE) => (* alloc array without initialization. *) let val (context, code) = arraySizeCheck context env code totalSize loc val code = addInsn code [ AI.Alloc {dst = dst, objectType = objectType, bitmaps = [bitmap], payloadSize = totalSize, loc = loc} ] in (context, env, code) end | (_, SOME initialValue) => (* ordinary array. split ANARRAY into two parts; one is array * allocation, and another is initialization loop. *) let val (context, code) = arraySizeCheck context env code totalSize loc val code = addInsn code [ (* dst = AllocArray(bitmap, totalSize); *) AI.Alloc {dst = dst, objectType = objectType, bitmaps = [bitmap], payloadSize = totalSize, loc = loc} ] val code = initializeArray env code (dst, totalSize, initialValue, elementTy, elementSize, loc) in (context, env, code) end end | AN.ANVAL {varList, exp = AN.ANMODIFY {record, nestLevel, offset, value, valueTy, valueSize, valueTag}, loc} => let val dst = transformVarInfo (onlyOne varList) val (context, record) = transformArg context env record val (context, nestLevel) = transformArg context env nestLevel val (context, offset) = transformArg context env offset val (context, value) = transformArg context env value val valueTy = transformTy valueTy val (context, valueSize) = transformArg context env valueSize val (context, valueTag) = transformArg context env valueTag val barrier = transformBarrier (valueTag, false) fun copyNestedBlock code base nestedVar newcopyVar = addInsn code ( (* nested = base[NestedBlockIndex]; *) AI.Load {dst = nestedVar, block = base, offset = nestedBlockIndex, size = AI.UInt (sizeOfBoxed ()), ty = AI.BOXED, loc = loc} :: (* newcopy = CopyBlock(nested); *) AIPrimitive.CopyBlock {dst = newcopyVar, block = AI.Var nestedVar, loc = loc} @ [ (* base[NestedBlockIndex] = newcopy; *) AI.Update {block = base, offset = nestedBlockIndex, size = AI.UInt (sizeOfBoxed ()), ty = AI.BOXED, value = AI.Var newcopyVar, barrier = AI.WriteBarrier, loc = loc} ] ) in case nestLevel of AI.UInt n => let val currentLabel = getCurrentLabel code fun copyBlock (env, code, base, 0w0 : Target.uint) = (env, code, base) | copyBlock (env, code, base, n) = let val nested = newVar AI.BOXED val newcopy = newVar AI.BOXED val code = copyNestedBlock code base nested newcopy in (env, code, AI.Var newcopy) end val code = addInsn code ( (* dst = CopyBlock(record); *) AIPrimitive.CopyBlock {dst = dst, block = record, loc = loc} ) val (env, code, copied) = copyBlock (env, code, AI.Var dst, n) val code = addInsn code [ (* copied[offset] = newValue; *) AI.Update {block = copied, offset = offset, size = valueSize, value = value, ty = valueTy, barrier = barrier, loc = loc} ] in (context, env, code) end | _ => let val currentLabel = getCurrentLabel code val loopLabel = newLabel () val bodyLabel = newLabel () val exitLabel = newLabel () val copiedVar = newVar AI.BOXED val counterVar = newVar AI.UINT val code = addInsn code ( (* dst = CopyBlock(record); *) AIPrimitive.CopyBlock {dst = dst, block = record, loc = loc} @ [ (* copied = dst; *) AI.Move {dst = copiedVar, ty = AI.BOXED, value = AI.Var dst, loc = loc}, (* counter = nestLevel; *) AI.Move {dst = counterVar, ty = AI.UINT, value = AI.UInt 0w0, loc = loc}, AI.Jump {label = AI.Label loopLabel, knownDestinations = [loopLabel], loc = loc} ] ) val code = closeBlock code val code = beginBlock code loopLabel AI.Loop env loc val code = addInsn code [ (* while (counter != 0) { *) AI.If {value1 = AI.Var counterVar, value2 = AI.UInt 0w0, op2 = (AI.MonoEqual, AI.UINT, AI.UINT, AI.UINT), thenLabel = exitLabel, elseLabel = bodyLabel, loc = loc} ] val code = closeBlock code val nestedVar = newVar AI.BOXED val newcopyVar = newVar AI.BOXED val code = beginBlock code bodyLabel AI.Branch env loc val code = copyNestedBlock code (AI.Var copiedVar) nestedVar newcopyVar val code = addInsn code [ (* copied = newcopy; *) AI.Move {dst = copiedVar, ty = AI.BOXED, value = AI.Var newcopyVar, loc = loc}, (* counter = counter - 1; *) AI.PrimOp2 {dst = counterVar, op2 = (AI.Sub, AI.UINT, AI.UINT, AI.UINT), arg1 = AI.Var counterVar, arg2 = AI.UInt 0w1, loc = loc}, (* } *) AI.Jump {label = AI.Label loopLabel, knownDestinations = [loopLabel], loc = loc} ] val code = closeBlock code val code = beginBlock code exitLabel AI.Branch env loc val code = addInsn code [ (* copied[offset] = newValue; *) AI.Update {block = AI.Var copiedVar, offset = offset, size = valueSize, ty = valueTy, value = value, barrier = barrier, loc = loc} ] in (context, env, code) end end | AN.ANVAL {varList, exp = AN.ANRECORD {bitmaps, totalSize, fieldList, fieldSizeList, fieldIndexList, fieldTyList, isMutable, clearPad}, loc} => let val dst = transformVarInfo (onlyOne varList) val (context, bitmaps) = transformArgList context env bitmaps val (context, totalSize) = transformArg context env totalSize val (context, fieldList) = transformArgList context env fieldList val (context, fieldSizeList) = transformArgList context env fieldSizeList val (context, fieldIndexList) = transformArgList context env fieldIndexList val code = yaMakeRecord context env code {dst = dst, bitmaps = bitmaps, payloadSize = totalSize, fieldTyList = fieldTyList, fieldSizeList = fieldSizeList, fieldIndexList = fieldIndexList, clearPad = clearPad, loc = loc} fieldList in (context, env, code) end | AN.ANRAISE {value, loc} => let val (context, exn) = transformArg context env value val exnArg = newArg (AI.BOXED, AI.Exn) val routine = getRoutineInfo context (#routineLabel env) val code = addInsn code [ AI.Set {dst = exnArg, ty = AI.BOXED, value = exn, loc = loc}, (* ToDo: not all "raise" go outside of ML. * We should choose RaiseExt only for unhandled * raise in toplevel functions. *) case (#ffiAttributes routine, #handler env) of (NONE, _) => AI.Raise {exn = exnArg, loc = loc} | (SOME _, AI.StaticHandler _) => AI.Raise {exn = exnArg, loc = loc} | (SOME _, AI.DynamicHandler {outside=false,...}) => AI.Raise {exn = exnArg, loc = loc} | (SOME _, AI.DynamicHandler {outside=true,...}) => raise Control.Bug "ANRAISE" | (SOME attributes, AI.NoHandler) => AI.RaiseExt {exn = exnArg, attributes = attributes, loc = loc} ] in (context, env, code) end | AN.ANRETURN {valueList, tyList, loc} => let val (context, valueList) = transformArgList context env valueList val tyList = map transformTy tyList val routine = getRoutineInfo context (#routineLabel env) val argTys = map (transformTy o #ty) (#argVarList routine) val (args, insns) = makeSetRet AI.Result argTys (valueList, tyList, loc) val code = addInsn code ( insns @ [ case #ffiAttributes routine of NONE => AI.Return {varList = args, argTyList = argTys, retTyList = tyList, loc = loc} | SOME attributes => AI.ReturnExt {varList = args, argTyList = argTys, retTyList = tyList, attributes = attributes, loc = loc} ] ) in (context, env, code) end | AN.ANVAL {varList, exp = AN.ANCLOSURE {funLabel, env = closEnv}, loc} => let val dst = transformVarInfo (onlyOne varList) val (context, funLabel) = transformArg context env funLabel val (context, closEnv) = transformArg context env closEnv val code = makeClosure context env code dst funLabel closEnv loc in (context, env, code) end | AN.ANVAL {varList, exp = AN.ANRECCLOSURE {funLabel}, loc} => let val dst = transformVarInfo (onlyOne varList) val (context, funLabel) = transformArg context env funLabel val code = makeClosure context env code dst funLabel (currentClosureEnv context) loc in (context, env, code) end | AN.ANVAL {varList, exp = AN.ANCALLBACKCLOSURE {funLabel, env=closEnv, argTyList, resultTyList, attributes}, loc} => let (* FIXME: ExportCallback requires more accurate types. *) val dst = transformVarInfo (onlyOne varList) val (context, funLabel) = transformArg context env funLabel val (context, closEnv) = transformArg context env closEnv val argTys = map transformTy argTyList val retTys = map transformTy resultTyList val code = addInsn code [ AI.CallbackClosure {dst = dst, entry = funLabel, env = closEnv, exportTy = (argTys, retTys), attributes = attributes, loc = loc} ] in (context, env, code) end | AN.ANVAL {varList, exp = AN.ANFOREIGNAPPLY {function, argList, argTyList, resultTyList, attributes}, loc} => let (* FIXME: ForeignApply requires more accurate types. *) val dsts = map transformVarInfo varList val (context, function) = transformArg context env function val (context, argList) = transformArgList context env argList val argTys = map transformTy argTyList val retTys = map transformTy resultTyList val (args, insnsArg) = makeSetExtArg AI.ExtArg attributes (argList, argTys, loc) val (rets, insnsRet) = makeGetExtRet AI.ExtRet attributes (dsts, retTys, loc) val code = addInsn code ( insnsArg @ [ AI.CallExt {dstVarList = rets, entry = function, attributes = attributes, argList = args, calleeTy = (argTys, retTys), loc = loc} ] @ insnsRet ) in (context, env, code) end | AN.ANVAL {varList, exp = AN.ANPRIMAPPLY {prim, argList, argTyList, resultTyList, instSizeList, instTagList}, loc} => let val dsts = map transformVarInfo varList val (context, argList) = transformArgList context env argList val argTys = map transformTy argTyList val retTys = map transformTy resultTyList val (context, instSizeList) = transformArgList context env instSizeList val (context, instTagList) = transformArgList context env instTagList val (context, code) = case (AIPrimitive.needDivZeroCheck prim, argList) of (SOME ty, [_, v2]) => divZeroCheck context env code v2 ty loc | (SOME ty, _) => raise Control.Bug "PRIMAPPLY: divZero" | _ => (context, code) val insn = AIPrimitive.transform {prim = prim, dstVarList = dsts, dstTyList = retTys, argList = argList, argTyList = argTys, instSizeList = instSizeList, instTagList = instTagList, loc = loc} val code = addInsn code insn in (context, env, code) end | AN.ANVAL {varList, exp = AN.ANAPPLY {closure, argList, argTyList, resultTyList}, loc} => let val dsts = map transformVarInfo varList val (context, closure) = transformArg context env closure val (context, argList) = transformArgList context env argList val argTys = map transformTy argTyList val retTys = map transformTy resultTyList val entryVar = newVar AI.ENTRY val envVar = newVar AI.BOXED val envArg = newArg (AI.BOXED, AI.Env) val code = expandClosure code closure entryVar envVar loc val (args, insnsArg) = makeSetArg AI.Arg retTys (argList, argTys, loc) val (rets, insnsRet) = makeGetRet AI.Ret argTys (dsts, retTys, loc) val code = addInsn code ( AI.Set {dst = envArg, ty = AI.BOXED, value = AI.Var envVar, loc = loc} :: insnsArg @ [ AI.Call {dstVarList = rets, entry = AI.Var entryVar, env = envArg, argList = args, argTyList = argTys, resultTyList = retTys, loc = loc} ] @ insnsRet ) in (context, env, code) end | AN.ANTAILAPPLY {closure, argList, argTyList, resultTyList, loc} => let val (context, closure) = transformArg context env closure val (context, argList) = transformArgList context env argList val argTys = map transformTy argTyList val retTys = map transformTy resultTyList val entryVar = newVar AI.ENTRY val envVar = newVar AI.BOXED val envArg = newArg (AI.BOXED, AI.Env) val code = expandClosure code closure entryVar envVar loc val (args, insnsArg) = makeSetArg AI.Param retTys (argList, argTys, loc) val code = addInsn code ( [ AI.Set {dst = envArg, ty = AI.BOXED, value = AI.Var envVar, loc = loc} ] @ insnsArg @ [ AI.TailCall {entry = AI.Var entryVar, env = envArg, argList = args, argTyList = argTys, resultTyList = retTys, loc = loc} ] ) in (context, env, code) end | AN.ANVAL {varList, exp = AN.ANCALL {funLabel, env = closEnv, argList, argTyList, resultTyList}, loc} => let val dsts = map transformVarInfo varList val (context, funLabel) = transformArg context env funLabel val (context, closEnv) = transformArg context env closEnv val (context, argList) = transformArgList context env argList val argTys = map transformTy argTyList val retTys = map transformTy resultTyList val envArg = newArg (AI.BOXED, AI.Env) val (args, insnsArg) = makeSetArg AI.Arg retTys (argList, argTys, loc) val (rets, insnsRet) = makeGetRet AI.Ret argTys (dsts, retTys, loc) val code = addInsn code ( insnsArg @ [ AI.Set {dst = envArg, ty = AI.BOXED, value = closEnv, loc = loc}, AI.Call {dstVarList = rets, entry = funLabel, env = envArg, argList = args, argTyList = argTys, resultTyList = retTys, loc = loc} ] @ insnsRet ) in (context, env, code) end | AN.ANTAILCALL {funLabel, env = closEnv, argList, argTyList, resultTyList, loc} => let val (context, funLabel) = transformArg context env funLabel val (context, closEnv) = transformArg context env closEnv val (context, argList) = transformArgList context env argList val argTys = map transformTy argTyList val retTys = map transformTy resultTyList val envArg = newArg (AI.BOXED, AI.Env) val (args, insnsArg) = makeSetArg AI.Param retTys (argList, argTys, loc) val code = addInsn code ( insnsArg @ [ AI.Set {dst = envArg, ty = AI.BOXED, value = closEnv, loc = loc}, AI.TailCall {entry = funLabel, env = envArg, argList = args, argTyList = argTys, resultTyList = retTys, loc = loc} ] ) in (context, env, code) end | AN.ANVAL {varList, exp = AN.ANRECCALL {funLabel, argList, argTyList, resultTyList}, loc} => let val dsts = map transformVarInfo varList val (context, funLabel) = transformArg context env funLabel val (context, argList) = transformArgList context env argList val argTys = map transformTy argTyList val retTys = map transformTy resultTyList val envArg = newArg (AI.BOXED, AI.Env) val (args, insnsArg) = makeSetArg AI.Arg retTys (argList, argTys, loc) val (rets, insnsRet) = makeGetRet AI.Ret argTys (dsts, retTys, loc) val code = addInsn code ( insnsArg @ [ AI.Set {dst = envArg, ty = AI.BOXED, value = currentClosureEnv context, loc = loc}, AI.Call {dstVarList = rets, entry = funLabel, env = envArg, argList = args, argTyList = argTys, resultTyList = retTys, loc = loc} ] @ insnsRet ) in (context, env, code) end | AN.ANTAILRECCALL {funLabel, argList, argTyList, resultTyList, loc} => let val (context, funLabel) = transformArg context env funLabel val (context, argList) = transformArgList context env argList val argTys = map transformTy argTyList val retTys = map transformTy resultTyList val envArg = newArg (AI.BOXED, AI.Env) val (args, insnsArg) = makeSetArg AI.Arg retTys (argList, argTys, loc) val code = addInsn code ( insnsArg @ [ AI.Set {dst = envArg, ty = AI.BOXED, value = currentClosureEnv context, loc = loc}, AI.TailCall {entry = funLabel, env = envArg, argList = args, argTyList = argTys, resultTyList = retTys, loc = loc} ] ) in (context, env, code) end | AN.ANVAL {varList, exp = AN.ANLOCALCALL {codeLabel, argList, argTyList, resultTyList, knownDestinations, returnLabel}, loc} => let val destinations = map (transformCodePoint context) (!knownDestinations) val (context, codeLabel) = case destinations of [l] => (context, AI.Label l) | _ => transformArg context env codeLabel val (context, argList) = transformArgList context env argList (* FIXME: type is always matches to callee? *) val passTys = AN.CODEPOINT :: argTyList val passVars = getPassVars context passTys val returnVars = getPassVars context resultTyList (* pass return address to callee *) val passValues = AI.Label returnLabel :: argList val (context, env, code) = makeMove context env code passVars passValues loc val code = addInsn code [ AI.Jump {label = codeLabel, knownDestinations = destinations, loc = loc} ] val code = closeBlock code val code = beginBlock code returnLabel AI.LocalCont env loc val (context, env, code) = makeMove context env code varList (map (AI.Var o transformVarInfo) returnVars) loc in (context, env, code) end | AN.ANTAILLOCALCALL {codeLabel, argList, argTyList, resultTyList, knownDestinations, loc} => if (case !knownDestinations of [label] => ID.eq (label, #routineLabel env) | _ => false) then (* self recursive tail call *) let val {paramVars, selfLoopEntry, selfBackEntry, ...} = getRoutineInfo context (#routineLabel env) val destination = case (selfBackEntry, selfLoopEntry) of (SOME x, _) => x | (NONE, SOME x) => x | _ => raise Control.Bug "transformDecl: ANTAILLOCALCALL" val (context, argList) = transformArgList context env argList val (context, env, code) = makeMove context env code paramVars argList loc val code = addInsn code [ AI.Jump {label = AI.Label destination, knownDestinations = [destination], loc = loc} ] in (context, env, code) end else (* tail call to other function *) let val destinations = map (transformCodePoint context) (!knownDestinations) val (context, codeLabel) = case destinations of [l] => (context, AI.Label l) | _ => transformArg context env codeLabel val (context, argList) = transformArgList context env argList val {linkVar, ...} = getRoutineInfo context (#routineLabel env) (* FIXME: type is always matches to callee? *) val passTys = AN.CODEPOINT :: argTyList val passVars = getPassVars context passTys (* pass current link to callee. *) val passValues = case linkVar of NONE => AI.Nowhere :: argList | SOME var => AI.Var (transformVarInfo var) :: argList val (context, env, code) = makeMove context env code passVars passValues loc val code = addInsn code [ AI.Jump {label = codeLabel, knownDestinations = destinations, loc = loc} ] in (context, env, code) end | AN.ANLOCALRETURN {valueList, tyList, loc, knownDestinations} => let val (context, valueList) = transformArgList context env valueList (* tyList is always identical to resultTyList of this routine. *) val returnVars = getPassVars context tyList val linkVar = case #linkVar (getRoutineInfo context (#routineLabel env)) of SOME x => x | NONE => raise Control.Bug "transformDecl: LOCALRETURN" val (context, env, code) = makeMove context env code returnVars valueList loc (* knownDestinations only includes returnLabel of LOCALCALL, * so no need to call transformCodePoint here. *) val codeLabel = case !knownDestinations of [l] => AI.Label l | _ => AI.Var (transformVarInfo linkVar) val code = addInsn code [ AI.Jump {label = codeLabel, knownDestinations = !knownDestinations, loc = loc} ] in (context, env, code) end | AN.ANVALCODE {codeList, loc} => (* * codeDecls are already lifted to toplevel by CallAnalysis, but * we need to propagate current substitutions to child code. *) let val context = foldl (fn ({codeId, ...}, context) => addParamMap context codeId (#paramMap env)) context codeList in (context, env, code) end | AN.ANSWITCH {value, valueTy, branches = nil, default, loc} => transformDeclList context env code default | AN.ANSWITCH {value, valueTy, branches, default, loc} => let val (context, value) = transformArg context env value val branchCases = map (fn {constant, branch} => (constant, newLabel (), branch)) branches val defaultLabel = newLabel () val (context, code, envList) = case branchCases of (AN.ANCONST (CT.INT _), _, _)::_ => transformIntSwitch AI.SINT setupSwitchInt context env code value branchCases defaultLabel loc | (AN.ANCONST (CT.WORD _), _, _)::_ => transformIntSwitch AI.UINT setupSwitchWord context env code value branchCases defaultLabel loc | (AN.ANCONST (CT.CHAR _), _, _)::_ => transformIntSwitch AI.BYTE setupSwitchChar context env code value branchCases defaultLabel loc | (AN.ANCONST (CT.BYTE _), _, _)::_ => transformIntSwitch AI.BYTE setupSwitchByte context env code value branchCases defaultLabel loc | (AN.ANCONST (CT.STRING _), _, _)::_ => transformStringSwitch context env code value branchCases defaultLabel loc | (AN.ANCONST (CT.LARGEINT _), _, _)::_ => transformLargeIntSwitch context env code value branchCases defaultLabel loc | (AN.ANCONST (CT.REAL _), _, _)::_ => raise Control.Bug "transformDecl: ANSWITCH REAL" | (AN.ANCONST (CT.FLOAT _), _, _)::_ => raise Control.Bug "transformDecl: ANSWITCH FLOAT" | (AN.ANCONST CT.UNIT, _, _)::_ => raise Control.Bug "transformDecl: ANSWITCH UNIT" | (AN.ANCONST CT.NULLBOXED, _, _)::_ => transformExceptionSwitch context env code value branchCases defaultLabel loc (* | (AN.ANVALUE (AN.ANGLOBALSYMBOL _), _, _)::_ => transformExceptionSwitch context env code value branchCases defaultLabel loc *) | _ => raise Control.Bug "transformDecl: ANSWITCH invalid branches" val code = closeBlock code val (context, code, branchEnvList) = ListPair.foldl (fn ((_, label, statement), env, (context, code, envList)) => let val code = beginBlock code label AI.Branch env loc val (context, env, code) = transformDeclList context env code statement val code = closeBlock code in (context, code, env::envList) end) (context, code, nil) (branchCases, envList) val code = beginBlock code defaultLabel AI.Branch env loc val (context, defaultEnv, code) = transformDeclList context env code default val code = closeBlock code in (context, env, code) end | AN.ANHANDLE {try, exnVar, handler, labels={tryLabel, handlerLabel, leaveLabel}, loc} => let val exnVar = transformVarInfo exnVar val code = addInsn code [ AI.ChangeHandler {change = AI.PushHandler {popHandlerLabel = leaveLabel}, previousHandler = #handler env, newHandler = AI.StaticHandler handlerLabel, tryBlock = tryLabel, loc = loc} ] val tryEnv = setHandler env (AI.StaticHandler handlerLabel) val code = closeBlock code val code = beginBlock code tryLabel AI.Basic tryEnv loc val (context, tryEnv, code) = transformDeclList context tryEnv code try val code = closeBlock code val exnArg = newArg (AI.BOXED, AI.Exn) val code = beginBlock code handlerLabel (AI.Handler exnArg) env loc val code = addInsn code [ AI.Get {dst = exnVar, ty = #ty exnVar, src = exnArg, loc = loc} ] val (context, handlerEnv, code) = transformDeclList context env code handler val code = closeBlock code in (context, env, code) end | AN.ANMERGE {label, varList, loc} => let val code = addInsn code [ AI.Jump {label = AI.Label label, knownDestinations = [label], loc = loc} ] in (context, env, code) end | AN.ANMERGEPOINT {label, varList, leaveHandler, loc} => let val code = closeBlock code val code = case leaveHandler of NONE => beginBlock code label AI.Merge env loc | SOME {tryLabel, handlerLabel} => let val tryEnv = setHandler env (AI.StaticHandler handlerLabel) val label2 = newLabel () val code = beginBlock code label AI.Merge tryEnv loc val code = addInsn code [ AI.ChangeHandler {change = AI.PopHandler {pushHandlerLabel = tryLabel}, previousHandler = AI.StaticHandler handlerLabel, newHandler = #handler env, tryBlock = label2, loc = loc} ] val code = closeBlock code val code = beginBlock code label2 AI.Basic env loc in code end in (context, env, code) end and transformDeclList context env code (andecl::declList) = let val (context, env, code) = transformDecl context env code andecl in transformDeclList context env code declList end | transformDeclList context env code nil = (context, env, code) (*********************************************************************) (* functionId -> clusterId to which the function belongs *) fun makeFunIdMap clusterCodeList = foldl (fn ({clusterId, entryFunctions, ...}:AN.clusterDecl, funIdMap) => foldl (fn (label, funIdMap) => ID.Map.insert (funIdMap, label, clusterId)) funIdMap (map #codeId entryFunctions)) ID.Map.empty clusterCodeList fun makeParamMap (argVarList:AN.varInfo list) resultTyList = let val argTys = map (transformTy o #ty) argVarList val retTys = map transformTy resultTyList val (_, paramMap) = foldl (fn ({id,ty,...}, (n, paramMap)) => let val ty = transformTy ty val argKind = AI.Param {index = n, argTys = argTys, retTys = retTys} val arg = {id = id, ty = ty, argKind = argKind} : AI.argInfo in (n + 1, ID.Map.insert (paramMap, id, arg)) end) (0, ID.Map.empty) argVarList in paramMap end fun makeFrameBitmap envArg paramMap ({tyvars, bitmapFree, tagArgList}:AN.frameInfo) = let val bitmapFree = case (bitmapFree, envArg) of (AN.ANVALUE (AN.ANWORD 0w0), _) => NONE | (AN.ANENVACC {nestLevel = 0w0, offset, size = AN.ANWORD size, ty = AN.UINT}, SOME envArg) => (* ASSERT: size must be equal to the size of a bitmap word. *) SOME (AI.EnvBitmap (envArg, BasicTypes.UInt32ToWord offset)) | _ => raise Control.Bug "makeFrameBitmap: invalid bitmapFree" fun make (tid::tyvars, arg::tagArgList) = let val arg = case ID.Map.find (paramMap, #id (arg:AN.varInfo)) of SOME arg => arg (* {id, ty, argKind = AI.Param x} => x *) | _ => raise Control.Bug "makeFrameBitmap" in {source = AI.BitParam arg, bits = [SOME tid]} :: make (tyvars, tagArgList) end | make (nil, arg::args) = raise Control.Bug "makeFreeBitmap" | make (nil, nil) = nil | make (tyvars, nil) = case bitmapFree of NONE => raise Control.Bug "makeFrameBitmap: freeBits" | SOME source => [{source = source, bits = map SOME tyvars}] in make (tyvars, tagArgList) end (*********************************************************************) (* * Overview of the structure of cluster: * * [ ENTER ]---------------------------------------+-- ... * | | * v v * FunEntry FunEntry * +-----------------+ +-----------------+ * | localA1 = arg1 | | localB1 = arg1 | * | ... | | ... | * | localAN = argN | | localBN = argN | * +-----------------+ +-----------------+ * | | * v v * CodeEntry CodeEntry * +-----------------+ +-----------------+ * | goto |<---[from other] +--->| | * +-----------------+ [ function ] | +-----------------+ * Aggregate backedges | | * | | : * v | * SelfLoopEntry | * +------------------+ | * | ... |<---+ | * +------------------+ | | * | | | * ... | | * v | | * +-------------------+ | +----------------------+ * | ... |---|-->| ... | * | switch(v) { ... } | | | localB1 = value1 | * +-------------------+ | | ... | * | | | localBN = valueN | * ... | | goto CodeEntryB | * v | +----------------------+ * +-------------------+ | non-mutual tail call * | ... |---|----------+ * | switch(v) { ... } | | | * +-------------------+ | v * | | +-------------------+ * ... | | ... | * v | | localA1 = value1 | * +-------------------+ | | ... | * | ... | | | localAN = valueN | * | return ret1 | | | goto SelfBackEntry| self tail call * +-------------------+ | +-------------------+ * | | | * | | v * | | SelfBackEntry * | | +-------------------+ * | +---| goto SelfRecEntry | * | +-------------------+ * | Aggregate backedges * | * | * v * [ EXIT ] <------- ... * * FunEntry receives arguments by params. * CodeEntry receives arguments by passVars and copy them to paramVars. * SelfLoopEntry receives arguments by paramVars. *) fun transformRoutine context globalParamMap envArg code ({codeId, body, argVarList, resultTyList, ffiAttributes, loc, paramVars, linkVar, initialHandlers, funEntry, codeEntry, selfLoopEntry, selfBackEntry}:routineInfo) = let val paramValues = map (AI.Var o transformVarInfo) paramVars val argTyList = map #ty argVarList (* compose my paramMap parent's paramMap in order to deal with * parent's param occurring freely in the body. *) val parentParamMap = case ID.Map.find (#paramMapMap context, codeId) of SOME x => x | NONE => ID.Map.empty val paramMap = ListPair.foldl (fn ({id, ...}, value, paramMap) => ID.Map.insert (paramMap, id, value)) parentParamMap (argVarList, paramValues) val initialHandler = case initialHandlers of nil => AI.NoHandler | [NONE] => AI.NoHandler | [SOME l] => AI.StaticHandler l | h::t => AI.DynamicHandler {outside = case h of NONE => true | _ => false, handlers = map valOf (List.filter isSome initialHandlers)} handle Option => raise Control.Bug "transformRoutine: initialHandler" val env = { routineLabel = codeId, paramMap = paramMap, handler = AI.NoHandler } : environment (* function entry *) val (context, env, code) = case funEntry of NONE => (context, env, code) | SOME label => (* load all parameters to local variables *) let val argTys = map transformTy argTyList val retTys = map transformTy resultTyList val params = map (fn {id,...} => case ID.Map.find (globalParamMap, id) of SOME param => param | NONE => raise Control.Bug "transformRoutine: FunEntry") argVarList val kind = case ffiAttributes of NONE => AI.FunEntry {argTyList = argTys, resultTyList = retTys, env = envArg, argVarList = params} | SOME attributes => AI.ExtFunEntry {argTyList = argTys, resultTyList = retTys, env = envArg, argVarList = params, attributes = attributes} (* val kind = AI.FunEntry (linkArg::envArg::params) *) val code = beginBlock code label kind env loc fun load (var::varList) (param::paramList) = let val dst = transformVarInfo var in AI.Get {dst = dst, ty = #ty dst, src = param, loc = loc} :: load varList paramList end | load nil nil = nil | load _ _ = raise Control.Bug "transformRoutine: loadParam" (* load closure environment *) val code = case (#envVar context, envArg) of (NONE, NONE) => code | (SOME envVar, SOME envArg) => addInsn code [ AI.Get {dst = envVar, ty = AI.BOXED, src = envArg, loc = loc} ] | _ => raise Control.Bug "transformRoutine: envVar" (* load parameters to local variables *) val loadCode = case codeEntry of (* no CodeEntry; move args to paramVars directly *) NONE => load paramVars params | (* move args to passVars at first. * CodeEntry will move them to paramVars. *) SOME _ => let val passTys = AN.CODEPOINT::argTyList val vars = getPassVars context passTys in AI.Move {dst = transformVarInfo (hd vars), ty = AI.CODEPOINTER, value = AI.Nowhere, loc = loc} :: load (tl vars) params end val code = addInsn code loadCode in (context, env, code) end (* code entry *) val (context, env, code) = case codeEntry of NONE => (context, env, code) | SOME label => let (* receive arguments and immediately move them to paramVars. *) val passTys = AN.CODEPOINT::argTyList val passVars = getPassVars context passTys val {dsts, argVars} = case (passVars, linkVar) of (lp::args, SOME lv) => { dsts = lv::paramVars, argVars = lp::args } | (lp::args, NONE) => { dsts = paramVars, argVars = args } | _ => raise Control.Bug "transformRoutine: CodeEntry" val argValues = map (AI.Var o transformVarInfo) argVars (* enable initial handler temporally *) val env = setHandler env initialHandler val code = forceBeginBlock code label AI.CodeEntry env loc in makeMove context env code dsts argValues loc end val env = setHandler env initialHandler (* self loop entry *) val code = case selfLoopEntry of SOME label => forceBeginBlock code label AI.Basic env loc | NONE => (* forcely begin new block in order to enable handler setting *) case #handler env of AI.NoHandler => code | _ => forceBeginBlock code (newLabel ()) AI.Basic env loc (* generate body *) val (context, env, code) = transformDeclList context env code body val code = closeBlock code (* self back entry *) val code = case selfBackEntry of NONE => code | SOME label => let val selfLoopLabel = case selfLoopEntry of SOME x => x | NONE => raise Control.Bug "transformRoutine:selfBackEntry" val code = beginBlock code label AI.Merge env loc val code = addInsn code [ AI.Jump {label = AI.Label selfLoopLabel, knownDestinations = [selfLoopLabel], loc = loc} ] val code = closeBlock code in code end in (context, code) end fun prepareRoutineInfo {routineInfoMap, paramMap, passVars} ({label, routine, callCount, tailCallCount, selfCallCount, handlers}:CA.routineInfo) = let val {codeId, body, argVarList, resultTyList, ffiAttributes, loc, ...} = case routine of CA.EntryFunction x => x | CA.Code {codeId, argVarList, body, resultTyList, loc} => {codeId = codeId, argVarList = argVarList, body = body, resultTyList = resultTyList, ffiAttributes = NONE, loc = loc} | CA.Continue _ => raise Control.Bug "prepareRoutineInfo: Continue" (* paramMap is a map from parameter variable IDs to AI.argInfo. *) val myParamMap = makeParamMap argVarList resultTyList (* * Some parameters may be shared among functions in a cluster. * We allow RBUTransformation introducing such shared parameters * to add extra parameters for polymorphic functions. * If a parameter is shared, then its index in the parameter * list of each function must be same. * (Currently, RBUTransformation doesn't generate such shared args.) *) val newParamMap = ID.Map.unionWith (fn (x as {id, ty=_, argKind=AI.Param {index=n1,...}}, {id=_, ty=_, argKind=AI.Param {index=n2,...}}) => if n1 = n2 then x else raise Control.Bug ("prepareRoutineInfo: " ^ID.toString id) | _ => raise Control.Bug "prepareRoutineInfo") (paramMap, myParamMap) (* Local function have link variable, which holds return address * from this local function. *) val linkVar = case routine of CA.Code _ => SOME (newANVarInfo AN.CODEPOINT AN.LOCAL) | _ => NONE (* Entry function have a function entry. *) val funEntry = case routine of CA.EntryFunction {codeId, ...} => SOME codeId | _ => NONE (* Local function have a code entry, which is an internal entry * for calling the local function. * Entry function may have a code entry if the function may * call from other functions in the same cluster. *) val codeEntry = if callCount + tailCallCount > 0 orelse (case funEntry of NONE => true | _ => false) then case routine of CA.Code {codeId, ...} => SOME codeId | _ => SOME (newLabel ()) else NONE (* entry for self recursive tail local calls *) val selfLoopEntry = if selfCallCount > 0 then SOME (newLabel ()) else NONE (* entry for aggregation of backedges of self loops *) val selfBackEntry = if selfCallCount >= 2 then SOME (newLabel ()) else NONE (* Before entering function body, a function loads all parameters * to local variables. Entry functions do this at function entry, * and local functions do this at code entry. *) val paramVars = map (fn {ty,...} => newANVarInfo ty AN.LOCAL) argVarList (* * Internal entry of each routine receives arguments from * variables. Internal call is realized by JUMP and MOVEs. * * Note that if arbitrary two functions have same type, we * need to use same sequence of local variables for passing * arguments, because both of such two functions may be * destinations of one identical indirect JUMP. * * The same is true of variables for passing return values of * LOCALRETURN. *) val passVars = case (linkVar, codeEntry) of (NONE, NONE) => passVars | _ => ensureVars passVars (AN.CODEPOINT::map #ty argVarList) val passVars = case routine of CA.Code _ => ensureVars passVars resultTyList | _ => passVars val routine = { codeId = codeId, body = body, argVarList = argVarList, resultTyList = resultTyList, ffiAttributes = ffiAttributes, paramVars = paramVars, linkVar = linkVar, initialHandlers = handlers, funEntry = funEntry, codeEntry = codeEntry, selfLoopEntry = selfLoopEntry, selfBackEntry = selfBackEntry, loc = loc } : routineInfo in { paramMap = newParamMap, passVars = passVars, routineInfoMap = ID.Map.insert (routineInfoMap, label, routine) } end fun transformCluster funIdMap (clusterDecl as {clusterId, frameInfo, entryFunctions=_, hasClosureEnv, loc, ...}:AN.clusterDecl) = let val clusterDecl = Simplify.reduceCluster clusterDecl val routines = CallAnalysis.analyze clusterDecl val {routineInfoMap, passVars, paramMap} = foldl (fn ({routine = CA.Continue _, ...}, z) => z | (routineInfo, z) => prepareRoutineInfo z routineInfo) {routineInfoMap = ID.Map.empty, paramMap = ID.Map.empty, passVars = nil} routines val linkVar = newVar AI.CODEPOINTER val (envVar, envArg) = if hasClosureEnv then (SOME (newVar AI.BOXED), SOME (newArg (AI.BOXED, AI.Env))) else (NONE, NONE) val frameBitmap = makeFrameBitmap envArg paramMap frameInfo (* val genTyMap = makeGenTyMap paramMap frameInfo *) val context = { raiseDivLabel = NONE, raiseSizeLabel = NONE, boundaryCheckFailedLabel = NONE, envVar = envVar, linkVar = linkVar, funIdMap = funIdMap, routineInfoMap = routineInfoMap, paramMapMap = ID.Map.empty, passVars = passVars, constants = ID.Map.empty } : context val code = { blocks = nil, currentBlock = NONE, insns = nil } : code val (context, code) = foldl (fn ({routine = CA.Continue _, ...}, z) => z | ({label, ...}, (context, code)) => let val routineInfo = valOf (ID.Map.find (routineInfoMap, label)) in transformRoutine context paramMap envArg code routineInfo end) (context, code) routines in (#constants context, { frameBitmap = frameBitmap, name = clusterId, body = rev (#blocks code), loc = loc } : AI.cluster) end (* fun transformClusterList funIdMap (cluster::clusters) = let val (constants, cluster) = transformCluster funIdMap cluster val (constants2, clusters) = transformClusterList funIdMap clusters val constants = ID.Map.unionWith (fn _ => raise Control.Bug "doubled") (constants, constants2) in (constants, cluster::clusters) end | transformClusterList funIdMap nil = (ID.Map.empty, nil) *) val emptyProgram = { toplevel = NONE, constants = ID.Map.empty, globals = SEnv.empty, clusters = nil } : AI.program fun programWithSingleGlobal (k,v) = { toplevel = NONE, constants = ID.Map.empty, globals = SEnv.singleton (k, v), clusters = nil } : AI.program fun programWithSingleConst (k,v) = { toplevel = NONE, constants = VarID.Map.singleton (k, v), globals = SEnv.empty, clusters = nil } : AI.program fun programWithSingleData (AN.TOP_GLOBAL name, v) = programWithSingleGlobal (name, AI.GlobalData v) | programWithSingleData (AN.TOP_LOCAL id, v) = programWithSingleConst (id, v) fun mergeProgram (p1:AI.program, p2:AI.program) = let fun fail _ = raise Control.Bug "mergeProgram" fun mergeopt (NONE, NONE) = NONE | mergeopt (SOME x, NONE) = SOME x | mergeopt (NONE, SOME x) = SOME x | mergeopt (SOME _, SOME _) = raise Control.Bug "mergeProgram" in { toplevel = mergeopt (#toplevel p1, #toplevel p2), constants = ID.Map.unionWith fail (#constants p1, #constants p2), globals = SEnv.unionWith fail (#globals p1, #globals p2), clusters = #clusters p1 @ #clusters p2 } : AI.program end fun transformTopdecl funIdMap topdecl = case topdecl of AN.ANCLUSTER cluster => let val (constants, cluster) = transformCluster funIdMap cluster in { toplevel = NONE, constants = constants, globals = SEnv.empty, clusters = [cluster] } end | AN.ANTOPCONST {globalName, constant} => let val value = case constant of CT.STRING x => AI.StringData x | CT.LARGEINT x => AI.IntInfData x | CT.REAL x => AI.PrimData (AI.RealData x) | CT.FLOAT x => AI.PrimData (AI.FloatData x) | _ => raise Control.Bug "ANTOPCONST" in programWithSingleData (globalName, value) end | AN.ANTOPRECORD {globalName, bitmaps, totalSize, fieldList, fieldTyList, fieldSizeList, isMutable} => let fun makeFields (field::fields, size::sizes) = {value = transformPrimData funIdMap field, size = Target.toUInt size} :: makeFields (fields, sizes) | makeFields (nil, nil) = nil | makeFields _ = raise Control.Bug "ANTOPRECORD" val data = AI.ObjectData {objectType = AI.Record {mutable=isMutable}, bitmaps = map Target.toUInt bitmaps, payloadSize = Target.toUInt totalSize, fields = makeFields (fieldList, fieldSizeList)} in programWithSingleData (globalName, data) end | AN.ANTOPARRAY {globalName, bitmap, totalSize, initialValues, elementTy, elementSize, isMutable} => let val size = Target.toUInt elementSize val data = AI.ObjectData {objectType = if isMutable then AI.Array else AI.Vector, bitmaps = [Target.toUInt bitmap], payloadSize = Target.toUInt totalSize, fields = map (fn x => {value=transformPrimData funIdMap x, size=size}) initialValues} in programWithSingleData (globalName, data) end | AN.ANTOPVAR {globalName, initialValue, elementTy, elementSize} => let val data = AI.VarSlot {size = Target.toUInt elementSize, value = Option.map (transformPrimData funIdMap) initialValue} in programWithSingleData (globalName, data) end | AN.ANTOPCLOSURE {globalName, funLabel, closureEnv} => let val {closureBitmap, closureFieldTys, closureFieldSizes, closureSize, closureFieldIndexes} = closureLayout () in transformTopdecl funIdMap (AN.ANTOPRECORD {globalName = globalName, bitmaps = [closureBitmap], totalSize = closureSize, fieldList = [closureEnv, AN.ANLABEL funLabel], fieldTyList = closureFieldTys, fieldSizeList = closureFieldSizes, isMutable = false}) end | AN.ANTOPALIAS {globalName, originalGlobalName} => ( case (globalName, originalGlobalName) of (AN.TOP_GLOBAL name, AN.TOP_GLOBAL origName) => programWithSingleGlobal (name, AI.GlobalAlias origName) | _ => raise Control.Bug "ANTOPALIAS: EXTERNNAME" ) | AN.ANENTERTOPLEVEL id => let val clusterId = case ID.Map.find (funIdMap, id) of SOME x => x | NONE => raise Control.Bug "ANENTERTOPLEVEL" in { toplevel = SOME {clusterId = clusterId, entry = id}, constants = ID.Map.empty, globals = SEnv.empty, clusters = nil } end fun transformTopdeclList funIdMap (topdecl::topdecls) = let val p1 = transformTopdecl funIdMap topdecl val p2 = transformTopdeclList funIdMap topdecls in mergeProgram (p1, p2) end | transformTopdeclList funIdMap nil = emptyProgram fun generate topdeclList = let val clusters = List.mapPartial (fn AN.ANCLUSTER x => SOME x | _ => NONE) topdeclList val funIdMap = makeFunIdMap clusters val program = transformTopdeclList funIdMap topdeclList (* val (constants, clusters) = transformClusterList funIdMap clusterList (* first entry of first cluster is the toplevel entry *) fun firstEntry (nil:AI.basicBlock list) = raise Control.Bug "firstEntry" | firstEntry ({blockKind=AI.FunEntry _,label,...}::_) = label | firstEntry (_::t) = firstEntry t val firstCluster = List.hd clusters val toplevel = SOME {clusterId = #name firstCluster, entryLabel = firstEntry (#body firstCluster)} val program = { toplevel = toplevel, clusters = clusters, constants = constants, globals = globals } : AI.program *) in program end handle exn => raise exn end (* fun transformTopdecl funIdMap topdecl = case topdecl of AN.ANCLUSTER cluster => let val (contstants, cluster) = transformCluster funIdMap cluster in { constants = constants, globals = nil, clusters = clusters } end | AN.ANTOPCONST {globalName, export, constant} => let val const = case constant of CT.STRING x => AI.ConstString x | CT.REAL x => AI.ConstReal x | CT.FLOAT x => AI.ConstFloat x | CT.BIGINT x => AI.ConstIntInf x | _ => raise Control.Bug "ANTOPCONST" val global = { export = export, value = const } in { constants = ID.Map.empty, globals = SEnv.singleton (globalName, global), clusters = nil } end | AN.ANTOPRECORD {globalName, export, bitmaps, totalSize, fieldList, fieldTyList, fieldSizeList} => let val const = AI.ConstObject {objectType = AI.Record, bitmaps = bitmaps, payloadSize = totalSize, fields: {size =, value = }} val global = { export = export, value = const } in { constants = ID.Map.empty, globals = SEnv.singleton (globalName, global), clusters = nil } end | AN.ANTOPARRAY {globalName, export, externalVarID, bitmap, totalSize, initialValues, elementTy, elementSize, isMutable} => let val const = AI.ConstObject {objectType = if isMutable then AI.Array else AI.Vector, bitmaps = bitmaps, payloadSize = totalSize, fields: {size =, value = }} in end | AN.ANTOPCLOSURE {globalName, export, funLabel} => | AN.ANTOPALIAS {globalName, export, originalGlobalName} => | AN.ANENTERTOPLEVEL id => *) smlsharp-1.2.0/src/compiler/aigenerator2/main/AIPrimitive.smi0000644 000000000000000000000431212050661606024306 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../abstractinstruction2/main/AbstractInstruction.ppg.smi" _require "../../builtin2/main/BuiltinPrimitive.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" structure AIPrimitive = struct val copyBlockPrimName: string val strCmpPrimName: string val intInfCmpPrimName: string val loadIntInfPrimName: string val memcpyPrimName: string val objectEqualPrimName: string val CopyBlock : {dst: AbstractInstruction2.varInfo, block: AbstractInstruction2.value, loc: AbstractInstruction2.loc} -> AbstractInstruction2.instruction list val StrCmp : {dst: AbstractInstruction2.varInfo, arg1: AbstractInstruction2.value, arg2: AbstractInstruction2.value, loc: AbstractInstruction2.loc} -> AbstractInstruction2.instruction list val IntInfCmp : {dst: AbstractInstruction2.varInfo, arg1: AbstractInstruction2.value, arg2: AbstractInstruction2.value, loc: AbstractInstruction2.loc} -> AbstractInstruction2.instruction list val LoadIntInf : {dst: AbstractInstruction2.varInfo, arg: AbstractInstruction2.value, loc: AbstractInstruction2.loc} -> AbstractInstruction2.instruction list val Memcpy : {src: AbstractInstruction2.value, srcOffset: AbstractInstruction2.value, dst: AbstractInstruction2.value, dstOffset: AbstractInstruction2.value, length: AbstractInstruction2.value, tag: AbstractInstruction2.value, loc: AbstractInstruction2.loc} -> AbstractInstruction2.instruction list val transform : {prim: BuiltinPrimitive.primitive, dstVarList: AbstractInstruction2.varInfo list, dstTyList: AbstractInstruction2.ty list, argList: AbstractInstruction2.value list, argTyList: AbstractInstruction2.ty list, instSizeList: AbstractInstruction2.value list, instTagList: AbstractInstruction2.value list, loc: AbstractInstruction2.loc} -> AbstractInstruction2.instruction list val needDivZeroCheck : BuiltinPrimitive.primitive -> AbstractInstruction2.ty option end smlsharp-1.2.0/src/compiler/aigenerator2/main/AIPrimitive.sml0000644 000000000000000000007323012050661606024316 0ustar00rootroot0000000 0000000 (** * abstract instruction generator for primitives * @copyright (c) 2007-2009, Tohoku University. * @author UENO Katsuhiro * @version $Id: AIPrimitive.sml,v 1.12 2008/08/06 17:23:39 ohori Exp $ *) structure AIPrimitive : sig val copyBlockPrimName: string val strCmpPrimName: string val intInfCmpPrimName: string val loadIntInfPrimName: string val memcpyPrimName: string val objectEqualPrimName: string val CopyBlock : {dst: AbstractInstruction2.varInfo, block: AbstractInstruction2.value, loc: AbstractInstruction2.loc} -> AbstractInstruction2.instruction list val StrCmp : {dst: AbstractInstruction2.varInfo, arg1: AbstractInstruction2.value, arg2: AbstractInstruction2.value, loc: AbstractInstruction2.loc} -> AbstractInstruction2.instruction list val IntInfCmp : {dst: AbstractInstruction2.varInfo, arg1: AbstractInstruction2.value, arg2: AbstractInstruction2.value, loc: AbstractInstruction2.loc} -> AbstractInstruction2.instruction list val LoadIntInf : {dst: AbstractInstruction2.varInfo, arg: AbstractInstruction2.value, loc: AbstractInstruction2.loc} -> AbstractInstruction2.instruction list val Memcpy : {src: AbstractInstruction2.value, srcOffset: AbstractInstruction2.value, dst: AbstractInstruction2.value, dstOffset: AbstractInstruction2.value, length: AbstractInstruction2.value, tag: AbstractInstruction2.value, loc: AbstractInstruction2.loc} -> AbstractInstruction2.instruction list val transform : {prim: BuiltinPrimitive.primitive, dstVarList: AbstractInstruction2.varInfo list, dstTyList: AbstractInstruction2.ty list, argList: AbstractInstruction2.value list, argTyList: AbstractInstruction2.ty list, instSizeList: AbstractInstruction2.value list, instTagList: AbstractInstruction2.value list, loc: AbstractInstruction2.loc} -> AbstractInstruction2.instruction list val needDivZeroCheck : BuiltinPrimitive.primitive -> AbstractInstruction2.ty option end = struct structure AbstractInstruction = AbstractInstruction2 structure I = AbstractInstruction structure P = BuiltinPrimitive fun newVar ty = let val id = VarID.generate () val displayName = "$" ^ VarID.toString id in {id = id, ty = ty, displayName = displayName} : I.varInfo end fun newArg (ty, argKind) = let val id = VarID.generate () in {id = id, ty = ty, argKind = argKind} : I.argInfo end datatype primop = Op1 of I.op1 * I.ty * I.ty | Op2 of I.op2 * I.ty * I.ty * I.ty | FloatOp of string * primop | Special of {dst: I.varInfo, args: I.value list, argTys: I.ty list, instSizes: I.value list, instTags: I.value list, loc: I.loc} -> I.instruction list | Ext of {name: string, alloc: bool} val copyBlockPrimName = "sml_obj_dup" val strCmpPrimName = "prim_String_cmp" val intInfCmpPrimName = "prim_IntInf_cmp" val loadIntInfPrimName = "prim_IntInf_load" val memcpyPrimName = "prim_CopyMemory" val objectEqualPrimName = "sml_obj_equal" fun CallExt {dstVarList, entry, isPure, allocMLValue, argList, calleeTy as (argTys, retTys), loc} = let val attributes = { isPure = isPure, noCallback = true, allocMLValue = allocMLValue, suspendThread = false, callingConvention = NONE } : I.ffiAttributes fun genArgs (n, arg::argList, ty::tys) = let val a = newArg (ty, I.ExtArg {index = n, argTys = argTys, attributes = attributes}) val (argVars, insns) = genArgs (n + 1, argList, tys) in (a :: argVars, I.Set {dst = a, ty = ty, value = arg, loc = loc} :: insns) end | genArgs (n, nil, nil) = (nil, nil) | genArgs _ = raise Control.Bug "callext: genArgs" fun genRets (n, dst::dstList, ty::tys) = let val a = newArg (ty, I.ExtRet {index = n, retTys = retTys, attributes = attributes}) val (retVars, insns) = genRets (n + 1, dstList, tys) in (a :: retVars, I.Get {dst = dst, ty = ty, src = a, loc = loc} :: insns) end | genRets (n, nil, nil) = (nil, nil) | genRets _ = raise Control.Bug "callext: genRets" val (args, sets) = genArgs (0, argList, argTys) val (rets, gets) = genRets (0, dstVarList, retTys) in sets @ (I.CallExt {dstVarList = rets, entry = I.ExtFunLabel entry, attributes = attributes, argList = args, calleeTy = calleeTy, loc = loc} :: gets) end fun CopyBlock {dst, block, loc} = CallExt {dstVarList = [dst], entry = copyBlockPrimName, isPure = false, allocMLValue = true, argList = [block], calleeTy = ([I.BOXED], [I.BOXED]), loc = loc} fun StrCmp {dst, arg1, arg2, loc} = CallExt {dstVarList = [dst], entry = strCmpPrimName, isPure = true, allocMLValue = false, argList = [arg1, arg2], calleeTy = ([I.BOXED, I.BOXED], [I.SINT]), loc = loc} fun IntInfCmp {dst, arg1, arg2, loc} = CallExt {dstVarList = [dst], entry = intInfCmpPrimName, isPure = true, allocMLValue = false, argList = [arg1, arg2], calleeTy = ([I.BOXED, I.BOXED], [I.SINT]), loc = loc} fun LoadIntInf {dst, arg, loc} = CallExt {dstVarList = [dst], entry = loadIntInfPrimName, isPure = true, allocMLValue = true, argList = [arg], calleeTy = ([I.HEAPPOINTER], [I.BOXED]), loc = loc} fun Memcpy {src, srcOffset, dst, dstOffset, length, tag, loc} = CallExt {dstVarList = nil, entry = memcpyPrimName, isPure = true, allocMLValue = false, argList = [dst, dstOffset, src, srcOffset, length, tag], calleeTy = ([I.BOXED, I.UINT, I.BOXED, I.UINT, I.UINT, I.UINT], []), loc = loc} fun stringCmp {dst, args=[arg1, arg2], argTys=[ty1, ty2], instSizes=nil, instTags=nil, loc} = StrCmp {dst = dst, arg1 = arg1, arg2 = arg2, loc = loc} | stringCmp _ = raise Control.Bug "invalid arity for comparison" fun advancePointer {dst, args=[arg1, arg2], argTys=[ty1, ty2], instSizes=[sz], instTags=[tag], loc} = let fun shiftAndAdd n = let val var1 = newVar I.UINT val var2 = newVar I.SINT in [I.PrimOp1 {dst = var1, op1 = (I.Cast, I.SINT, I.UINT), arg = arg2, loc = loc}, I.PrimOp2 {dst = var1, op2 = (I.LShift, I.UINT, I.UINT, I.UINT), arg1 = I.Var var1, arg2 = I.UInt n, loc = loc}, I.PrimOp1 {dst = var2, op1 = (I.Cast, I.UINT, I.SINT), arg = I.Var var1, loc = loc}, I.PrimOp2 {dst = dst, op2 = (I.PointerAdvance, I.CPOINTER, I.SINT, I.CPOINTER), arg1 = arg1, arg2 = I.Var var2, loc = loc}] end in case sz of I.UInt 0w1 => [ I.PrimOp2 {dst = dst, op2 = (I.PointerAdvance, I.CPOINTER, I.SINT, I.CPOINTER), arg1 = arg1, arg2 = arg2, loc = loc} ] | I.UInt 0w2 => shiftAndAdd 0w1 | I.UInt 0w4 => shiftAndAdd 0w2 | I.UInt 0w8 => shiftAndAdd 0w3 | I.UInt 0w16 => shiftAndAdd 0w4 | _ => let val var1 = newVar I.UINT val var2 = newVar I.SINT in [I.PrimOp1 {dst = var1, op1 = (I.Cast, I.SINT, I.UINT), arg = arg2, loc = loc}, I.PrimOp2 {dst = var1, op2 = (I.Mul, I.UINT, I.UINT, I.UINT), arg1 = I.Var var1, arg2 = sz, loc = loc}, I.PrimOp1 {dst = var2, op1 = (I.Cast, I.UINT, I.SINT), arg = I.Var var1, loc = loc}, I.PrimOp2 {dst = dst, op2 = (I.PointerAdvance, I.CPOINTER, I.SINT, I.CPOINTER), arg1 = arg1, arg2 = I.Var var2, loc = loc}] end end | advancePointer _ = raise Control.Bug "invalid arity for Ptr_advance" fun primEqual {dst, args = [arg1, arg2], argTys = [ty1, ty2], instSizes = [sz], instTags = [tag], loc} = if ty1 <> ty2 then raise Control.Bug "primEqual" else if (case ty1 of I.UINT => true | I.SINT => true | I.BYTE => true | I.FLOAT => true | I.DOUBLE => true | I.CODEPOINTER => true | I.HEAPPOINTER => true | I.CPOINTER => true | I.BOXED => false | I.ENTRY => true | I.GENERIC _ => false) then (* monomorphic equal *) [ I.PrimOp2 {dst = dst, op2 = (I.MonoEqual, ty1, ty2, I.UINT), arg1 = arg1, arg2 = arg2, loc = loc} ] else if ty1 = I.BOXED then CallExt {dstVarList = [dst], entry = objectEqualPrimName, isPure = true, allocMLValue = false, argList = [arg1, arg2], calleeTy = ([I.BOXED, I.BOXED], [I.UINT]), loc = loc} else (* polymorphic equal *) let val v1 = newVar I.BOXED val v2 = newVar I.BOXED in [ I.Alloc {dst = v1, objectType = I.Vector, bitmaps = [tag], payloadSize = sz, loc = loc}, I.Update {block = I.Var v1, offset = I.UInt 0w0, size = sz, ty = ty1, value = arg1, barrier = I.NoBarrier, loc = loc}, I.Alloc {dst = v2, objectType = I.Vector, bitmaps = [tag], payloadSize = sz, loc = loc}, I.Update {block = I.Var v2, offset = I.UInt 0w0, size = sz, ty = ty2, value = arg2, barrier = I.NoBarrier, loc = loc} ] @ CallExt {dstVarList = [dst], entry = objectEqualPrimName, isPure = true, allocMLValue = false, argList = [I.Var v1, I.Var v2], calleeTy = ([I.BOXED, I.BOXED], [I.UINT]), loc = loc} end | primEqual _ = raise Control.Bug "invalid arity for equal" fun primCast {dst, args = [arg], argTys = [ty], instSizes, instTags, loc} = [ I.Move {dst = dst, ty = ty, value = arg, loc = loc} ] | primCast _ = raise Control.Bug "primCast" fun primArrayLength {dst, args = [arg1], argTys = [ty1], instSizes = [sz], instTags = [tag], loc} = let val tmp = newVar I.UINT in I.PrimOp1 {dst = tmp, op1 = (I.PayloadSize, ty1, I.UINT), arg = arg1, loc = loc} :: (case sz of I.UInt 0w1 => nil | I.UInt 0w2 => [I.PrimOp2 {dst = tmp, op2 = (I.RShift, I.UINT, I.UINT, I.UINT), arg1 = I.Var tmp, arg2 = I.UInt 0w1, loc = loc}] | I.UInt 0w4 => [I.PrimOp2 {dst = tmp, op2 = (I.RShift, I.UINT, I.UINT, I.UINT), arg1 = I.Var tmp, arg2 = I.UInt 0w2, loc = loc}] | I.UInt 0w8 => [I.PrimOp2 {dst = tmp, op2 = (I.RShift, I.UINT, I.UINT, I.UINT), arg1 = I.Var tmp, arg2 = I.UInt 0w3, loc = loc}] | I.UInt 0w16 => [I.PrimOp2 {dst = tmp, op2 = (I.RShift, I.UINT, I.UINT, I.UINT), arg1 = I.Var tmp, arg2 = I.UInt 0w4, loc = loc}] | _ => [I.PrimOp2 {dst = tmp, op2 = (I.Div, I.UINT, I.UINT, I.UINT), arg1 = I.Var tmp, arg2 = sz, loc = loc}]) @ [I.PrimOp1 {dst = dst, op1 = (I.Cast, I.UINT, I.SINT), arg = I.Var tmp, loc = loc}] end | primArrayLength _ = raise Control.Bug "invalid arity for Array_length" fun convertPrim prim = case prim of P.Equal => Special primEqual | P.Cast => Special primCast | P.IdentityEqual => Op2 (I.MonoEqual, I.BOXED, I.BOXED, I.UINT) | P.Exn_Name => raise Control.Bug "convertPrim: Exn_Name" | P.Array_allocArray => raise Control.Bug "convertPrim: Array_array" | P.Array_copy_unsafe => raise Control.Bug "convertPrim: Array_array_unsafe" | P.Array_allocVector => raise Control.Bug "convertPrim: Array_vector" | P.Array_sub => raise Control.Bug "convertPrim: Array_sub" | P.Array_update => raise Control.Bug "convertPrim: Array_update" | P.Ref_alloc => raise Control.Bug "convertPrim: Ref_alloc" | P.Ref_deref => raise Control.Bug "convertPrim: Ref_deref" | P.Ref_assign => raise Control.Bug "convertPrim: Ref_assign" | P.Int_add P.NoOverflowCheck => Op2 (I.Add, I.SINT, I.SINT, I.SINT) | P.Int_add P.OverflowCheck => raise Control.Bug "Int_add_ov" | P.Real_add => FloatOp ("addReal", Op2 (I.Add, I.DOUBLE, I.DOUBLE, I.DOUBLE)) | P.Float_add => Op2 (I.Add, I.FLOAT, I.FLOAT, I.FLOAT) | P.Word_add => Op2 (I.Add, I.UINT, I.UINT, I.UINT) | P.Byte_add => Op2 (I.Add, I.BYTE, I.BYTE, I.BYTE) | P.Int_sub P.NoOverflowCheck => Op2 (I.Sub, I.SINT, I.SINT, I.SINT) | P.Int_sub P.OverflowCheck => raise Control.Bug "Int_sub_ov" | P.Real_sub => FloatOp ("subReal", Op2 (I.Sub, I.DOUBLE, I.DOUBLE, I.DOUBLE)) | P.Float_sub => Op2 (I.Sub, I.FLOAT, I.FLOAT, I.FLOAT) | P.Word_sub => Op2 (I.Sub, I.UINT, I.UINT, I.UINT) | P.Byte_sub => Op2 (I.Sub, I.BYTE, I.BYTE, I.BYTE) | P.Int_mul P.NoOverflowCheck=> Op2 (I.Mul, I.SINT, I.SINT, I.SINT) | P.Int_mul P.OverflowCheck => raise Control.Bug "Int_mul_ov" | P.Real_mul => FloatOp ("mulReal", Op2 (I.Mul, I.DOUBLE, I.DOUBLE, I.DOUBLE)) | P.Float_mul => Op2 (I.Mul, I.FLOAT, I.FLOAT, I.FLOAT) | P.Word_mul => Op2 (I.Mul, I.UINT, I.UINT, I.UINT) | P.Byte_mul => Op2 (I.Mul, I.BYTE, I.BYTE, I.BYTE) | P.Int_div P.NoOverflowCheck => Op2 (I.Div, I.SINT, I.SINT, I.SINT) | P.Int_div P.OverflowCheck => raise Control.Bug "Int_div_ov" | P.Word_div => Op2 (I.Div, I.UINT, I.UINT, I.UINT) | P.Byte_div => Op2 (I.Div, I.BYTE, I.BYTE, I.BYTE) | P.Real_div => FloatOp ("divReal", Op2 (I.Div, I.DOUBLE, I.DOUBLE, I.DOUBLE)) | P.Float_div => Op2 (I.Div, I.FLOAT, I.FLOAT, I.FLOAT) | P.Int_mod P.NoOverflowCheck => Op2 (I.Mod, I.SINT, I.SINT, I.SINT) | P.Int_mod P.OverflowCheck => raise Control.Bug "Int_mod_ov" | P.Real_rem => Op2 (I.Rem, I.DOUBLE, I.DOUBLE, I.DOUBLE) | P.Float_rem => Op2 (I.Rem, I.FLOAT, I.FLOAT, I.FLOAT) | P.Word_mod => Op2 (I.Mod, I.UINT, I.UINT, I.UINT) | P.Byte_mod => Op2 (I.Mod, I.BYTE, I.BYTE, I.BYTE) | P.Int_quot P.NoOverflowCheck=> Op2 (I.Quot, I.SINT, I.SINT, I.SINT) | P.Int_quot P.OverflowCheck => raise Control.Bug "Int_quot_ov" | P.Int_rem P.NoOverflowCheck=> Op2 (I.Rem, I.SINT, I.SINT, I.SINT) | P.Int_rem P.OverflowCheck => raise Control.Bug "Int_rem_ov" | P.Int_neg P.NoOverflowCheck=> Op1 (I.Neg, I.SINT, I.SINT) | P.Int_neg P.OverflowCheck => raise Control.Bug "Int_neg_ov" | P.Real_neg => FloatOp ("negReal", Op1 (I.Neg, I.DOUBLE, I.DOUBLE)) | P.Float_neg => Op1 (I.Neg, I.FLOAT, I.FLOAT) | P.Int_abs P.NoOverflowCheck => Op1 (I.Abs, I.SINT, I.SINT) | P.Int_abs P.OverflowCheck => raise Control.Bug "Int_abs_ov" | P.Real_abs => FloatOp ("absReal", Op1 (I.Abs, I.DOUBLE, I.DOUBLE)) | P.Float_abs => Op1 (I.Neg, I.FLOAT, I.FLOAT) | P.Int_lt => Op2 (I.Lt, I.SINT, I.SINT, I.UINT) | P.Real_lt => FloatOp ("ltReal", Op2 (I.Lt, I.DOUBLE, I.DOUBLE, I.UINT)) | P.Float_lt => Op2 (I.Lt, I.FLOAT, I.FLOAT, I.UINT) | P.Word_lt => Op2 (I.Lt, I.UINT, I.UINT, I.UINT) | P.Byte_lt => Op2 (I.Lt, I.BYTE, I.BYTE, I.UINT) | P.Char_lt => Op2 (I.Lt, I.BYTE, I.BYTE, I.UINT) | P.Int_gt => Op2 (I.Gt, I.SINT, I.SINT, I.UINT) | P.Real_gt => FloatOp ("gtReal", Op2 (I.Gt, I.DOUBLE, I.DOUBLE, I.UINT)) | P.Float_gt => Op2 (I.Gt, I.FLOAT, I.FLOAT, I.UINT) | P.Word_gt => Op2 (I.Gt, I.UINT, I.UINT, I.UINT) | P.Byte_gt => Op2 (I.Gt, I.BYTE, I.BYTE, I.UINT) | P.Char_gt => Op2 (I.Gt, I.BYTE, I.BYTE, I.UINT) | P.Int_lteq => Op2 (I.Lteq, I.SINT, I.SINT, I.UINT) | P.Real_lteq => FloatOp ("lteqReal", Op2 (I.Lteq, I.DOUBLE, I.DOUBLE, I.UINT)) | P.Float_lteq => Op2 (I.Lteq, I.FLOAT, I.FLOAT, I.UINT) | P.Word_lteq => Op2 (I.Lteq, I.UINT, I.UINT, I.UINT) | P.Byte_lteq => Op2 (I.Lteq, I.BYTE, I.BYTE, I.UINT) | P.Char_lteq => Op2 (I.Lteq, I.BYTE, I.BYTE, I.UINT) | P.Int_gteq => Op2 (I.Gteq, I.SINT, I.SINT, I.UINT) | P.Real_gteq => FloatOp ("gteqReal", Op2 (I.Gteq, I.DOUBLE, I.DOUBLE, I.UINT)) | P.Float_gteq => Op2 (I.Gteq, I.FLOAT, I.FLOAT, I.UINT) | P.Word_gteq => Op2 (I.Gteq, I.UINT, I.UINT, I.UINT) | P.Byte_gteq => Op2 (I.Gteq, I.BYTE, I.BYTE, I.UINT) | P.Char_gteq => Op2 (I.Gteq, I.BYTE, I.BYTE, I.UINT) | P.Byte_toInt => Op1 (I.ZeroExt, I.BYTE, I.SINT) | P.Byte_toIntX => Op1 (I.SignExt, I.BYTE, I.SINT) | P.Byte_toWord => Op1 (I.ZeroExt, I.BYTE, I.UINT) | P.Byte_fromInt => Op1 (I.Cast, I.SINT, I.BYTE) | P.Byte_fromWord => Op1 (I.Cast, I.UINT, I.BYTE) | P.Word_toIntX => Op1 (I.Cast, I.UINT, I.SINT) | P.Word_fromInt => Op1 (I.Cast, I.SINT, I.UINT) | P.Word_andb => Op2 (I.Andb, I.UINT, I.UINT, I.UINT) | P.Word_orb => Op2 (I.Orb, I.UINT, I.UINT, I.UINT) | P.Word_xorb => Op2 (I.Xorb, I.UINT, I.UINT, I.UINT) | P.Word_neg => Op1 (I.Neg, I.UINT, I.UINT) | P.Word_notb => Op1 (I.Notb, I.UINT, I.UINT) | P.Word_lshift => Op2 (I.LShift, I.UINT, I.UINT, I.UINT) | P.Word_rshift => Op2 (I.RShift, I.UINT, I.UINT, I.UINT) | P.Word_arshift => Op2 (I.ArithRShift, I.UINT, I.UINT, I.UINT) | P.Real_fromInt => FloatOp ("Real_fromInt", Op1 (I.Cast, I.SINT, I.DOUBLE)) | P.Real_equal => FloatOp ("Real_equal", Op2 (I.MonoEqual, I.DOUBLE, I.DOUBLE, I.UINT)) | P.Float_equal => Op2 (I.MonoEqual, I.FLOAT, I.FLOAT, I.UINT) | P.Real_unorderedOrEqual => Op2 (I.UnorderedOrEqual, I.DOUBLE, I.DOUBLE, I.UINT) | P.Float_unorderedOrEqual => Op2 (I.UnorderedOrEqual, I.FLOAT, I.FLOAT, I.UINT) | P.Float_fromInt => Op1 (I.Cast, I.SINT, I.FLOAT) | P.Float_fromReal => Op1 (I.Cast, I.DOUBLE, I.FLOAT) | P.Float_toReal => Op1 (I.Cast, I.FLOAT, I.DOUBLE) | P.Float_trunc_unsafe P.NoOverflowCheck => Op1 (I.Cast, I.FLOAT, I.SINT) | P.Real_trunc_unsafe P.NoOverflowCheck => FloatOp ("Real_trunc", Op1 (I.Cast, I.DOUBLE, I.SINT)) | P.Float_trunc_unsafe P.OverflowCheck => raise Control.Bug "Float_trunc" | P.Real_trunc_unsafe P.OverflowCheck => raise Control.Bug "Real_trunc" | P.Char_ord => Op1 (I.ZeroExt, I.BYTE, I.SINT) | P.Char_chr_unsafe => Op1 (I.Cast, I.SINT, I.BYTE) | P.Array_length => Special primArrayLength (* these are not used currently *) | P.Byte_equal => raise Control.Bug "Byte_equal" | P.Char_equal => raise Control.Bug "Char_equal" | P.Int_equal => raise Control.Bug "Int_equal" | P.Word_equal => raise Control.Bug "Word_equal" | P.String_equal => raise Control.Bug "String_equal" (* these are implemented as runtime functions currently *) | P.String_allocArray => Ext{name="prim_String_allocateMutableNoInit", alloc=true} | P.String_allocVector => Ext{name="prim_String_allocateImmutableNoInit", alloc=true} | P.String_copy_unsafe => Ext{name="prim_String_copy", alloc=false} | P.String_compare => Special stringCmp | P.String_size => Ext{name="prim_String_size", alloc=false} | P.String_sub => Ext{name="prim_String_sub", alloc=false} (*unsafe*) | P.String_update => Ext{name="prim_String_update", alloc=false} (*unsafe*) | P.Ptr_advance => Special advancePointer | P.Ptr_deref_int => Ext{name="prim_UnmanagedMemory_subInt", alloc=false} | P.Ptr_deref_real => Ext{name="prim_UnmanagedMemory_subReal",alloc=false} | P.Ptr_deref_real32 => raise Control.Bug "Ptr_deref_float" | P.Ptr_deref_word => Ext{name="prim_UnmanagedMemory_subWord",alloc=false} | P.Ptr_deref_char => Ext{name="prim_UnmanagedMemory_subByte", alloc=false} | P.Ptr_deref_word8 => Ext{name="prim_UnmanagedMemory_subByte", alloc=false} | P.Ptr_deref_ptr => Ext{name="prim_UnmanagedMemory_subPtr", alloc=false} | P.Ptr_store_int => Ext{name="prim_UnmanagedMemory_updateInt", alloc=false} | P.Ptr_store_real => Ext{name="prim_UnmanagedMemory_updateReal",alloc=false} | P.Ptr_store_real32 => raise Control.Bug "Ptr_store_real32" | P.Ptr_store_word => Ext{name="prim_UnmanagedMemory_updateWord",alloc=false} | P.Ptr_store_char => Ext{name="prim_UnmanagedMemory_updateByte", alloc=false} | P.Ptr_store_word8 => Ext{name="prim_UnmanagedMemory_updateByte", alloc=false} | P.Ptr_store_ptr => Ext{name="prim_UnmanagedMemory_updatePtr", alloc=false} fun needDivZeroCheck prim = case prim of P.Equal => NONE | P.Cast => NONE | P.Exn_Name => NONE | P.IdentityEqual => NONE | P.Array_allocArray => NONE | P.Array_copy_unsafe => NONE | P.Array_allocVector => NONE | P.Array_sub => NONE | P.Array_update => NONE | P.Ref_alloc => NONE | P.Ref_deref => NONE | P.Ref_assign => NONE | P.Int_add P.NoOverflowCheck => NONE | P.Int_add P.OverflowCheck => NONE | P.Real_add => NONE | P.Float_add => NONE | P.Word_add => NONE | P.Byte_add => NONE | P.Int_sub P.NoOverflowCheck => NONE | P.Int_sub P.OverflowCheck => NONE | P.Real_sub => NONE | P.Float_sub => NONE | P.Word_sub => NONE | P.Byte_sub => NONE | P.Int_mul P.NoOverflowCheck => NONE | P.Int_mul P.OverflowCheck => NONE | P.Real_mul => NONE | P.Float_mul => NONE | P.Word_mul => NONE | P.Byte_mul => NONE | P.Int_div P.NoOverflowCheck => SOME I.SINT | P.Int_div P.OverflowCheck => SOME I.SINT | P.Word_div => SOME I.UINT | P.Byte_div => SOME I.BYTE | P.Real_div => NONE | P.Float_div => NONE | P.Int_mod P.NoOverflowCheck => SOME I.SINT | P.Int_mod P.OverflowCheck => SOME I.SINT | P.Word_mod => SOME I.UINT | P.Byte_mod => SOME I.BYTE | P.Real_rem => NONE | P.Float_rem => NONE | P.Int_quot P.NoOverflowCheck => SOME I.SINT | P.Int_quot P.OverflowCheck => SOME I.SINT | P.Int_rem P.NoOverflowCheck => SOME I.SINT | P.Int_rem P.OverflowCheck => SOME I.SINT | P.Int_neg P.NoOverflowCheck => NONE | P.Int_neg P.OverflowCheck => NONE | P.Real_neg => NONE | P.Float_neg => NONE | P.Int_abs P.NoOverflowCheck => NONE | P.Int_abs P.OverflowCheck => NONE | P.Real_abs => NONE | P.Float_abs => NONE | P.Int_lt => NONE | P.Real_lt => NONE | P.Float_lt => NONE | P.Word_lt => NONE | P.Byte_lt => NONE | P.Char_lt => NONE | P.Int_gt => NONE | P.Real_gt => NONE | P.Float_gt => NONE | P.Word_gt => NONE | P.Byte_gt => NONE | P.Char_gt => NONE | P.Int_lteq => NONE | P.Real_lteq => NONE | P.Float_lteq => NONE | P.Word_lteq => NONE | P.Byte_lteq => NONE | P.Char_lteq => NONE | P.Int_gteq => NONE | P.Real_gteq => NONE | P.Float_gteq => NONE | P.Word_gteq => NONE | P.Byte_gteq => NONE | P.Char_gteq => NONE | P.Byte_toInt => NONE | P.Byte_toIntX => NONE | P.Byte_toWord => NONE | P.Byte_fromInt => NONE | P.Byte_fromWord => NONE | P.Word_toIntX => NONE | P.Word_fromInt => NONE | P.Word_andb => NONE | P.Word_orb => NONE | P.Word_xorb => NONE | P.Word_neg => NONE | P.Word_notb => NONE | P.Word_lshift => NONE | P.Word_rshift => NONE | P.Word_arshift => NONE | P.Real_fromInt => NONE | P.Real_equal => NONE | P.Float_equal => NONE | P.Real_unorderedOrEqual => NONE | P.Float_unorderedOrEqual => NONE | P.Float_fromInt => NONE | P.Float_fromReal => NONE | P.Float_toReal => NONE | P.Float_trunc_unsafe P.NoOverflowCheck => NONE | P.Real_trunc_unsafe P.NoOverflowCheck => NONE | P.Float_trunc_unsafe P.OverflowCheck => NONE | P.Real_trunc_unsafe P.OverflowCheck => NONE | P.Char_ord => NONE | P.Char_chr_unsafe => NONE | P.Array_length => NONE | P.Byte_equal => NONE | P.Char_equal => NONE | P.Int_equal => NONE | P.Word_equal => NONE | P.String_allocArray => NONE | P.String_allocVector => NONE | P.String_copy_unsafe => NONE | P.String_equal => NONE | P.String_compare => NONE | P.String_size => NONE | P.String_sub => NONE | P.String_update => NONE | P.Ptr_advance => NONE | P.Ptr_deref_int => NONE | P.Ptr_deref_real => NONE | P.Ptr_deref_real32 => NONE | P.Ptr_deref_word => NONE | P.Ptr_deref_char => NONE | P.Ptr_deref_word8 => NONE | P.Ptr_deref_ptr => NONE | P.Ptr_store_int => NONE | P.Ptr_store_real => NONE | P.Ptr_store_real32 => NONE | P.Ptr_store_word => NONE | P.Ptr_store_char => NONE | P.Ptr_store_word8 => NONE | P.Ptr_store_ptr => NONE fun transform {prim, dstVarList, dstTyList, argList, argTyList, instSizeList, instTagList, loc} = let fun primInsn x = case (x, dstVarList, argList) of (Ext {name, alloc}, _, _) => let val {memory, update, read, throw} = BuiltinPrimitive.haveSideEffect prim val isPure = not memory andalso not update andalso not read andalso not throw in CallExt {dstVarList = dstVarList, entry = name, isPure = isPure, allocMLValue = alloc, argList = argList, calleeTy = (argTyList, dstTyList), loc = loc} end | (FloatOp (oldname, x), dsts, args) => primInsn (if !Control.enableUnboxedFloat then x else Ext {name = oldname, alloc = true}) | (Special f, [dst], _) => f {dst = dst, args = argList, argTys = argTyList, instSizes = instSizeList, instTags = instTagList, loc = loc} | (Op1 op1, [dst], [arg1]) => [ I.PrimOp1 {dst = dst, op1 = op1, arg = arg1, loc = loc} ] | (Op2 op2, [dst], [arg1, arg2]) => [ I.PrimOp2 {dst = dst, op2 = op2, arg1 = arg1, arg2 = arg2, loc = loc} ] | _ => raise Control.Bug ("AIPrimitive.transform: " ^ Control.prettyPrint (BuiltinPrimitive.format_primitive prim)) in primInsn (convertPrim prim) end end smlsharp-1.2.0/src/compiler/aigenerator2/main/BinarySearchCode.smi0000644 000000000000000000000320212050661606025266 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../abstractinstruction2/main/AbstractInstruction.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../control/main/Control.ppg.smi" structure BinarySearchCode = struct val generate : ( 'context (* global context *) * 'code (* code accumulator *) * 'env (* environment *) * 'choice (* a choice branch *) * AbstractInstruction2.label option (* label of this node *) * AbstractInstruction2.label option (* left child label *) * AbstractInstruction2.label option (* right child label *) -> 'context (* new global context *) * 'code (* code accumulator *) * 'env (* env for choice *) * 'env (* env for left child *) * 'env (* env for right child *) ) -> 'context (* initial global context *) * 'code (* initial code accumulator *) * 'env (* initial environment *) * 'choice list (* choices (sorted) *) -> 'context (* updated global context *) * 'code (* updated code accumulator *) * 'env list (* environments for choices *) end smlsharp-1.2.0/src/compiler/aigenerator2/main/BinarySearchCode.sml0000644 000000000000000000001141512050661606025276 0ustar00rootroot0000000 0000000 (** * binary search code generator * @copyright (c) 2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: BinarySearchCode.sml,v 1.3 2007/12/15 08:30:34 bochao Exp $ *) structure BinarySearchCode : sig val generate : ( 'context (* global context *) * 'code (* code accumulator *) * 'env (* environment *) * 'choice (* a choice branch *) * AbstractInstruction2.label option (* label of this node *) * AbstractInstruction2.label option (* left child label *) * AbstractInstruction2.label option (* right child label *) -> 'context (* new global context *) * 'code (* code accumulator *) * 'env (* env for choice *) * 'env (* env for left child *) * 'env (* env for right child *) ) -> 'context (* initial global context *) * 'code (* initial code accumulator *) * 'env (* initial environment *) * 'choice list (* choices (sorted) *) -> 'context (* updated global context *) * 'code (* updated code accumulator *) * 'env list (* environments for choices *) end = struct fun newLocalId () = VarID.generate () datatype 'a tree = NODE of 'a * 'a tree * 'a tree | LEAF (* * [1,2,3,4,5] ==> [4] * / \ * [2] [5] * / \ * [1] [3] *) fun makeTree choices numNodes nodeId = let val leftNodeId = nodeId * 2 + 1 val rightNodeId = nodeId * 2 + 2 val (leftTree, choice, choices) = let val (leftTree, choiceChoices) = if leftNodeId >= numNodes then (LEAF, choices) else makeTree choices numNodes leftNodeId in case choiceChoices of choice::choices => (leftTree, choice, choices) | _ => raise Control.Bug "impossibe:nil choices in makeTree" end val (rightTree, choices) = if rightNodeId >= numNodes then (LEAF, choices) else makeTree choices numNodes rightNodeId in (NODE (choice, leftTree, rightTree), choices) end fun makeBinaryTree nil = LEAF | makeBinaryTree choices = #1 (makeTree choices (length choices) 0) fun generate (f : ( 'context (* global context *) * 'code (* code accumulator *) * 'env (* environment *) * 'choice (* a choice branch *) * AbstractInstruction2.label option (* label of this node *) * AbstractInstruction2.label option (* left child label *) * AbstractInstruction2.label option (* right child label *) -> 'context (* new global context *) * 'code (* code accumulator *) * 'env (* env for choice *) * 'env (* env for left child *) * 'env (* env for right child *) ) ) (context, code, env, choices) = let fun visit context code env label LEAF = (context, code, nil) | visit context code env label (NODE (choice, leftTree, rightTree)) = let val leftLabel = case leftTree of NODE _ => SOME (newLocalId ()) | LEAF => NONE val rightLabel = case rightTree of NODE _ => SOME (newLocalId ()) | LEAF => NONE val (context, code, newEnv, leftEnv, rightEnv) = f (context, code, env, choice, label, leftLabel, rightLabel) val (context, code, leftEnvList) = visit context code leftEnv leftLabel leftTree val (context, code, rightEnvList) = visit context code rightEnv rightLabel rightTree in (context, code, leftEnvList @ [newEnv] @ rightEnvList) end in visit context code env NONE (makeBinaryTree choices) end end smlsharp-1.2.0/src/compiler/aigenerator2/main/CallAnalysis.smi0000644 000000000000000000000161612050661606024507 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlnj-lib/Util/binary-set-fn.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../yaanormal/main/ANormal.ppg.smi" structure CallAnalysis = struct datatype routine = EntryFunction of YAANormal.funDecl | Code of YAANormal.codeDecl | Continue of YAANormal.id type routineInfo = { label: YAANormal.id, routine: routine, (* number of non-tail local calls *) callCount: int, (* number of tail local calls except self tail call *) tailCallCount: int, (* number of self recursive tail local calls *) selfCallCount: int, (* initial available handlers; NONE = outside handler is enabled *) handlers: YAANormal.id option list } val analyze : YAANormal.clusterDecl -> routineInfo list end smlsharp-1.2.0/src/compiler/aigenerator2/main/CallAnalysis.sml0000644 000000000000000000003774112050661606024522 0ustar00rootroot0000000 0000000 (** * A-Normal call analysis * @copyright (c) 2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: CallAnalysis.sml,v 1.8 2008/08/06 17:23:39 ohori Exp $ * * This phase analyzes ANormal code to provide sufficient information * to replace LOCALCALLs with JUMPs and construct clean CFG. *) structure CallAnalysis : sig datatype routine = EntryFunction of YAANormal.funDecl | Code of YAANormal.codeDecl | Continue of YAANormal.id type routineInfo = { label: YAANormal.id, routine: routine, (* number of non-tail local calls *) callCount: int, (* number of tail local calls except self tail call *) tailCallCount: int, (* number of self recursive tail local calls *) selfCallCount: int, (* initial available handlers; NONE = outside handler is enabled *) handlers: YAANormal.id option list } (* * routineInfo list is ordered in preorder depth-first order. *) val analyze : YAANormal.clusterDecl -> routineInfo list end = struct local structure ID = VarID in structure AN = YAANormal datatype routine = EntryFunction of AN.funDecl | Code of AN.codeDecl | Continue of AN.id type routineInfo = { label: AN.id, routine: routine, callCount: int, tailCallCount: int, selfCallCount: int, handlers: AN.id option list } fun getLabel (EntryFunction {codeId, ...}) = codeId | getLabel (Code {codeId, ...}) = codeId | getLabel (Continue label) = label fun isHead (EntryFunction _) = true | isHead (Code _) = true | isHead _ = false fun isCode (Code _) = true | isCode _ = false fun isContinue (Continue _) = true | isContinue _ = false (*********************************************************************) datatype call = Call of (* ANLOCALCALL *) {to: AN.id, return: AN.id, handler: AN.id option} | Jump of AN.id (* ANTAILLOCALCALL *) | UnknownCall of {knownDestinations: AN.id list ref, return: AN.id, handler: AN.id option} | UnknownJump of AN.id list ref | Return of AN.id list ref structure IDOptSet = BinarySetFn( struct type ord_key = ID.id option fun compare (NONE, NONE) = EQUAL | compare (NONE, SOME _) = LESS | compare (SOME _, NONE) = GREATER | compare (SOME x, SOME y) = ID.compare (x, y) end ) local fun add (map, k, v) = case ID.Map.find (map, k) of SOME s => ID.Map.insert (map, k, ID.Set.add (s, v)) | NONE => ID.Map.insert (map, k, ID.Set.singleton v) fun get (map, k) = case ID.Map.find (map, k) of SOME s => s | NONE => ID.Set.empty fun addOpt (map, k, v) = case ID.Map.find (map, k) of SOME s => ID.Map.insert (map, k, IDOptSet.add (s, v)) | NONE => ID.Map.insert (map, k, IDOptSet.singleton v) fun getOpt (map, k) = case ID.Map.find (map, k) of SOME s => s | NONE => IDOptSet.empty in (* * compute possible destinations of each UnknownCall and UnknownJump *) fun resolveUnknownCalls routines = let val l = map #1 routines val codeLabels = map getLabel (List.filter isCode l) val headLabels = map getLabel (List.filter isHead l) in map (fn (routine, calls) => (routine, foldr (fn (call, z) => case call of UnknownCall {knownDestinations, return, handler} => (* may call arbitrary code *) ( knownDestinations := codeLabels; map (fn to => Call {to = to, return = return, handler = handler}) codeLabels @ z ) | UnknownJump knownDestinations => (* may go to arbitrary code or function *) ( knownDestinations := headLabels; map Jump headLabels @ z ) | _ => call :: z) nil calls)) routines end (* * compute possible destinations of each Return. * * Note that if A local-calls B and B tail-local-calls C, * then C must local-return to A, not B. *) fun resolveReturn routines = let val (workSet, edges, returnSet) = foldl (fn ((routine, calls), z) => let val from = getLabel routine in foldl (fn (call, z as (works, edges, set)) => case call of Call {to, return, ...} => (works, edges, add (set, to, return)) | Jump to => ((from, to) :: works, add (edges, from, to), set) | _ => z) z calls end) (nil, ID.Map.empty, ID.Map.empty) routines fun loop nil returnSet = returnSet | loop ((from, to)::workSet) returnSet = let val set1 = get (returnSet, from) val set2 = get (returnSet, to) val newSet = ID.Set.union (set1, set2) val returnSet = ID.Map.insert (returnSet, to, newSet) val workSet = if ID.Set.isSubset (newSet, set2) then workSet else ID.Set.foldl (fn (x,z) => (to, x)::z) workSet (get (edges, to)) in loop workSet returnSet end val returnSet = loop workSet returnSet val contLabels = map getLabel (List.filter isContinue (map #1 routines)) in map (fn (routine, calls) => let val label = getLabel routine in (routine, foldr (fn (call, z) => case call of Return knownDestinations => let val dests = case ID.Map.find (returnSet, label) of SOME set => ID.Set.listItems set | NONE => contLabels in case dests of nil => raise Control.Bug ("resolveReturn: no position to return:\ \ LOCALRETURN in "^ID.toString label) | _ => (); knownDestinations := dests; map Jump dests @ z end | _ => call :: z) nil calls) end) routines end (* * compute possible initial handler set of each routine. *) fun analyzeHandler routines = let val (workSet, edges, handlerSet) = foldl (fn ((routine, calls), (work, edges, set)) => let val from = getLabel routine (* entryFunction may be called from outside. *) val set = case routine of EntryFunction _ => addOpt (set, from, NONE) | _ => set in foldl (fn (Call {to, handler, ...}, (works, edges, set)) => (works, add (edges, from, to), addOpt (set, to, handler)) | (_, z) => z) (work, edges, set) calls end) (nil, ID.Map.empty, ID.Map.empty) routines (* * Actually there is no cycle in local-call relations, but * we calculate fixpoint to keep the algorithm simple. *) fun loop nil handlerSet = handlerSet | loop ((from, to)::workSet) handlerSet = let val set1 = getOpt (handlerSet, from) val set2 = getOpt (handlerSet, to) val newSet = IDOptSet.union (set1, set2) val handlerSet = ID.Map.insert (handlerSet, to, newSet) val workSet = if IDOptSet.isSubset (newSet, set2) then workSet else ID.Set.foldl (fn (x,z) => (to, x)::z) workSet (get (edges, to)) in loop workSet handlerSet end in loop workSet handlerSet end (* * compute local-call statistics *) fun analyzeCall routines = let fun inc (map, k) = case ID.Map.find (map, k) of SOME x => ID.Map.insert (map, k, x + 1) | NONE => ID.Map.insert (map, k, 1) fun get (map, k) = case ID.Map.find (map, k) of SOME x => x | NONE => 0 val handlerMap = analyzeHandler routines val (callCount, selfCount, jumpCount) = foldl (fn ((routine, calls), z) => let val label = getLabel routine in foldl (fn (Call {to, return, ...}, (calls, selfs, jumps)) => (inc (calls, to), selfs, jumps) | (Jump to, (calls, selfs, jumps)) => if ID.eq (label, to) then (calls, inc (selfs, to), jumps) else (calls, selfs, inc (jumps, to)) | (x, z) => z) z calls end) (ID.Map.empty, ID.Map.empty, ID.Map.empty) routines in map (fn (routine, call) => let val label = getLabel routine in { label = label, routine = routine, callCount = get (callCount, label), selfCallCount = get (selfCount, label), tailCallCount = get (jumpCount, label), handlers = IDOptSet.listItems (getOpt (handlerMap, label)) } : routineInfo end) routines end end (* local *) (*********************************************************************) (* * FIXME: we should make effort to determine destinations as much as * possible even if funLabel is not a constant. *) fun analyzeExp handlerLabel anexp = case anexp of AN.ANVALUE _ => (nil, nil) | AN.ANCONST _ => (nil, nil) | AN.ANFOREIGNAPPLY _ => (nil, nil) | AN.ANCALLBACKCLOSURE _ => (nil, nil) | AN.ANENVACC _ => (nil, nil) | AN.ANGETFIELD _ => (nil, nil) | AN.ANARRAY _ => (nil, nil) | AN.ANPRIMAPPLY _ => (nil, nil) | AN.ANAPPLY _ => (nil, nil) | AN.ANCALL _ => (nil, nil) | AN.ANRECCALL _ => (nil, nil) | AN.ANLOCALCALL {codeLabel = AN.ANLOCALCODE label, knownDestinations, returnLabel, ...} => ( knownDestinations := [label]; ([(Continue returnLabel, nil)], [Call {to = label, return = returnLabel, handler = handlerLabel}]) ) | AN.ANLOCALCALL {codeLabel, knownDestinations, returnLabel, ...} => ([(Continue returnLabel, nil)], [UnknownCall {knownDestinations = knownDestinations, return = returnLabel, handler = handlerLabel}]) | AN.ANRECORD _ => (nil, nil) | AN.ANSELECT _ => (nil, nil) | AN.ANCLOSURE _ => (nil, nil) | AN.ANRECCLOSURE _ => (nil, nil) | AN.ANMODIFY _ => (nil, nil) fun analyzeDecl handlerLabel andecl = case andecl of AN.ANSETFIELD _ => (nil, nil) | AN.ANSETTAIL _ => (nil, nil) | AN.ANCOPYARRAY _ => (nil, nil) | AN.ANTAILAPPLY _ => (nil, nil) | AN.ANTAILCALL _ => (nil, nil) | AN.ANTAILRECCALL _ => (nil, nil) | AN.ANRETURN _ => (nil, nil) | AN.ANVAL {exp, ...} => analyzeExp handlerLabel exp | AN.ANVALCODE {codeList, loc} => (analyzeCodeDeclList codeList, nil) | AN.ANTAILLOCALCALL {codeLabel = AN.ANLOCALCODE label, knownDestinations, ...} => ( knownDestinations := [label]; (nil, [Jump label]) ) | AN.ANTAILLOCALCALL {codeLabel, knownDestinations, ...} => (nil, [UnknownJump knownDestinations]) | AN.ANLOCALRETURN {knownDestinations, ...} => (nil, [Return knownDestinations]) | AN.ANMERGE _ => (nil, nil) | AN.ANMERGEPOINT _ => (nil, nil) | AN.ANRAISE _ => (nil, nil) | AN.ANHANDLE {try, exnVar, handler=handlerCode, labels={handlerLabel=newHandlerLabel,...}, loc} => let val (routines1, calls1) = analyzeDeclList (SOME newHandlerLabel) try val (routines2, calls2) = analyzeDeclList handlerLabel handlerCode in (routines1 @ routines2, calls1 @ calls2) end | AN.ANSWITCH {value, valueTy, branches, default, loc} => foldr (fn ({branch, ...}, (routines, calls)) => let val (routines2, calls2) = analyzeDeclList handlerLabel branch in (routines2 @ routines, calls2 @ calls) end) (analyzeDeclList handlerLabel default) branches and analyzeDeclList handlerLabel (andecl::andeclList) = let val (routines1, calls1) = analyzeDecl handlerLabel andecl val (routines2, calls2) = analyzeDeclList handlerLabel andeclList in (routines1 @ routines2, calls1 @ calls2) end | analyzeDeclList handlerLabel nil = (nil, nil) and analyzeCodeDecl (codeDecl as {body, ...} : AN.codeDecl) = let val (routines, calls) = analyzeDeclList NONE body in (Code codeDecl, calls) :: routines end and analyzeCodeDeclList l = foldr (fn (x, z) => analyzeCodeDecl x @ z) nil l and analyzeFunDecl con (funDecl as {body, ...}:AN.funDecl) = let val (routines, calls) = analyzeDeclList NONE body in (con funDecl, calls) :: routines end fun analyzeFunDeclList con l = foldr (fn (x, z) => analyzeFunDecl con x @ z) nil l (*********************************************************************) fun analyze ({entryFunctions, ...}:AN.clusterDecl) = let (* val _ = print "\nCallAnalysis.analyze:\n" *) val routines = analyzeFunDeclList EntryFunction entryFunctions val routines = resolveUnknownCalls routines val routines = resolveReturn routines val routines = analyzeCall routines in (* app (fn {label, routine, callCount, tailCallCount, selfCallCount} => ( print ("label: "^ID.toString label^"\n"); print ("routine: "^ (case routine of | EntryFunction {codeId, ...} => "Entry "^ID.toString codeId^"\n" | Code {codeId, ...} => "Code "^ID.toString codeId^"\n" | Continue x => "Continue "^ID.toString x^"\n")); print ("callCount: "^Int.toString callCount^"\n"); print ("tailCallCount: "^Int.toString tailCallCount^"\n"); print ("selfCallCount: "^Int.toString selfCallCount^"\n") )) routines; print "--\n"; *) routines end end end smlsharp-1.2.0/src/compiler/aigenerator2/main/Simplify.smi0000644 000000000000000000000033312050661606023717 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../name/main/LocalID.smi" _require "../../yaanormal/main/ANormal.ppg.smi" structure Simplify = struct val reduceCluster : YAANormal.clusterDecl -> YAANormal.clusterDecl end smlsharp-1.2.0/src/compiler/aigenerator2/main/Simplify.sml0000644 000000000000000000001352312050661606023727 0ustar00rootroot0000000 0000000 (** * A-Normal simplifier * @copyright (c) 2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: Simplify.sml,v 1.6 2008/08/06 17:23:39 ohori Exp $ * * Simple A-Normal simplifier. *) structure Simplify : sig (* * reduce unused or called-less-than-once ANMERGEPOINT. *) val reduceCluster : YAANormal.clusterDecl -> YAANormal.clusterDecl end = struct local structure ID = VarID in structure AN = YAANormal fun substMERGE substLabel decls andeclList = case andeclList of nil => nil | (h as AN.ANMERGE {label, ...}) :: t => if ID.eq (substLabel, label) then decls else h::t | AN.ANHANDLE {try, exnVar, handler, labels, loc} :: t => AN.ANHANDLE {try = substMERGE substLabel decls try, exnVar = exnVar, handler = substMERGE substLabel decls handler, labels = labels, loc = loc} :: substMERGE substLabel decls t | AN.ANSWITCH {value, valueTy, branches, default, loc} :: t => let val newBranches = map (fn {constant, branch} => {constant = constant, branch = substMERGE substLabel decls branch}) branches val newDefault = substMERGE substLabel decls default in AN.ANSWITCH {value = value, valueTy = valueTy, branches = newBranches, default = newDefault, loc = loc} :: substMERGE substLabel decls t end | h :: t => h :: substMERGE substLabel decls t fun nextMERGEPOINT (l as AN.ANMERGEPOINT _::_) = l | nextMERGEPOINT (h::t) = nextMERGEPOINT t | nextMERGEPOINT nil = nil fun reduce counter dst andeclList = case andeclList of nil => (counter, rev dst) | (h as AN.ANMERGE {label, ...})::t => let val counter = case ID.Map.find (counter, label) of SOME x => ID.Map.insert (counter, label, x + 1) | NONE => ID.Map.insert (counter, label, 1) in reduce counter (h::dst) (nextMERGEPOINT t) end | (h as AN.ANMERGEPOINT {label, leaveHandler, ...})::t => (case ID.Map.find (counter, label) of NONE => (* never MERGEed. eliminate this merge. *) reduce counter dst (nextMERGEPOINT t) | SOME x => let val (counter, dst2) = reduce counter nil t val dst = case leaveHandler of (* keep this MERGEPOINT if leaveHandler exists. *) SOME _ => rev (h::dst) @ dst2 | NONE => if x > 1 then rev (h::dst) @ dst2 else substMERGE label dst2 (rev dst) in (counter, dst) end) | AN.ANHANDLE {try, exnVar, handler, labels, loc} :: t => let val (counter, newTry) = reduce counter nil try val (counter, newHandler) = reduce counter nil handler val newDecl = AN.ANHANDLE {try = newTry, exnVar = exnVar, handler = newHandler, labels = labels, loc = loc} in reduce counter (newDecl::dst) (nextMERGEPOINT t) end | AN.ANSWITCH {value, valueTy, branches, default, loc} :: t => let val (counter, newBranches) = foldr (fn ({constant, branch}, (counter, branches)) => let val (counter, newBranch) = reduce counter nil branch val branch = {constant = constant, branch = newBranch} in (counter, branch::branches) end) (counter, nil) branches val (counter, newDefault) = reduce counter nil default val newDecl = AN.ANSWITCH {value = value, valueTy = valueTy, branches = newBranches, default = newDefault, loc = loc} in reduce counter (newDecl::dst) (nextMERGEPOINT t) end | AN.ANVALCODE {codeList, loc} :: t => let val newDecl = AN.ANVALCODE {codeList = map reduceCodeDecl codeList, loc = loc} in reduce counter (newDecl::dst) t end | h::t => reduce counter (h::dst) t and reduceCodeDecl ({codeId, argVarList, body, resultTyList, loc}:AN.codeDecl) = let val (_, body) = reduce ID.Map.empty nil body in { codeId = codeId, argVarList = argVarList, body = body, resultTyList = resultTyList, loc = loc } : AN.codeDecl end fun reduceFunDecl ({codeId, argVarList, body, resultTyList, ffiAttributes, loc}:AN.funDecl) = let val (_, body) = reduce ID.Map.empty nil body in { codeId = codeId, argVarList = argVarList, body = body, resultTyList = resultTyList, ffiAttributes = ffiAttributes, loc = loc } : AN.funDecl end fun reduceCluster ({clusterId, frameInfo, entryFunctions, hasClosureEnv, loc}:AN.clusterDecl) = let val entryFunctions = map reduceFunDecl entryFunctions in { clusterId = clusterId, frameInfo = frameInfo, entryFunctions = entryFunctions, hasClosureEnv = hasClosureEnv, loc = loc } : AN.clusterDecl end end end smlsharp-1.2.0/src/compiler/annotatedcalc0000755 000000000000000000000000012050661606020625 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/annotatedcalc/main0000755 000000000000000000000000012050661606021551 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/annotatedcalc/main/AnnotatedCalc.ppg0000644 000000000000000000004226212050661606025046 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2006, Tohoku University. * @author Huu-Duc Nguyen * @version $Id: AnnotatedCalc.ppg,v 1.24 2008/08/06 17:23:39 ohori Exp $ *) structure AnnotatedCalc = struct type loc = Loc.loc (*% * @formatter(tyformat) AnnotatedTypes.format_ty *) type ty = (*% * @format(ty:tyformat) ty *) AnnotatedTypes.ty (*% * @formatter(IDCalc.path) IDCalc.format_path * @formatter(VarID.id) VarID.format_id *) (*% * @prefix formatWithType_ * @formatter(IDCalc.path) IDCalc.format_path * @formatter(VarID.id) VarID.format_id * @formatter(ty) format_ty *) type varInfo = (*% * @format({path, id, ty}) path "(" id ")" *) (*% * @prefix formatWithType_ * @format({path, id, ty}) L2{ path "(" id ")" +1 ":" +d ty } *) {path: IDCalc.path, id: VarID.id, ty: ty} (*% * @formatter(IDCalc.path) IDCalc.format_path *) (*% * @prefix formatWithType_ * @formatter(IDCalc.path) IDCalc.format_path * @formatter(ty) format_ty *) type exVarInfo = (*% * @format({path, ty}) path *) (*% * @prefix formatWithType_ * @format({path, ty}) L2{ path +1 ":" +d ty } *) {path: IDCalc.path, ty: ty} (*% * @formatter(BuiltinPrimitive.primitive) BuiltinPrimitive.format_primitive *) (*% * @prefix formatWithType_ * @formatter(BuiltinPrimitive.primitive) BuiltinPrimitive.format_primitive * @formatter(ty) format_ty *) type primInfo = (*% * @format({primitive, ty}) primitive *) (*% * @prefix formatWithType_ * @format({primitive, ty}) * L2{ primitive +1 ":" +d ty } *) {primitive : BuiltinPrimitive.primitive, ty : ty} (*% * @prefix formatWithType_ * @formatter(AnnotatedTypes.annotationLabel) * AnnotatedTypes.format_annotationLabel *) type annotationLabel = (*% * @format(value) value *) AnnotatedTypes.annotationLabel (*% * @formatter(AnnotatedTypes.btvEnv) AnnotatedTypes.format_btvEnv *) type btvEnv = AnnotatedTypes.btvEnv (*% * @formatter(ConstantTerm.constant) ConstantTerm.format_constant *) datatype constant = datatype ConstantTerm.constant (*% * @formatter(appList) TermFormat.formatAppList * @formatter(decList) TermFormat.formatDeclList * @formatter(caseList) TermFormat.formatCaseList * @formatter(enclosedList) TermFormat.formatEnclosedList * @formatter(ifCons) TermFormat.formatIfCons * @formatter(formatRecordExp) TermFormat.formatRecordExp (* * @formatter(withType) formatWithType_varInfo *) * @formatter(withType) format_varInfo * @formatter(extendBtvEnv) TermFormat.extendBtvEnv * @formatter(AnnotatedTypes.foreignFunTy) AnnotatedTypes.format_foreignFunTy *) (*% * @prefix formatWithType_ * @formatter(appList) TermFormat.formatAppList * @formatter(decList) TermFormat.formatDeclList * @formatter(caseList) TermFormat.formatCaseList * @formatter(enclosedList) TermFormat.formatEnclosedList * @formatter(ifCons) TermFormat.formatIfCons * @formatter(formatRecordExp) TermFormat.formatRecordExp * @formatter(extendBtvEnv) TermFormat.extendBtvEnv * @formatter(ty) format_ty * @formatter(constant) format_constant * @formatter(btvEnv) format_btvEnv * @formatter(AnnotatedTypes.foreignFunTy) AnnotatedTypes.format_foreignFunTy *) datatype acexp = (*% * @format({funExp, foreignFunTy, argExpList: arg args, loc}) * L8{ 2[ * "_FFIAPPLY" * +1 funExp * +1 args:appList(arg)("(",",",")") * ] } *) (*% * @prefix formatWithType_ * @format({funExp, foreignFunTy, argExpList: arg args, loc}) * L8{ 2[ * "_FFIAPPLY" * +1 L2{ funExp +1 "as" +d foreignFunTy } * +1 args:appList(arg)("(",",",")") * ] } *) ACFOREIGNAPPLY of { funExp : acexp, foreignFunTy : AnnotatedTypes.foreignFunTy, argExpList : acexp list, loc : loc } | (*% * @format({funExp, foreignFunTy, loc}) * L8{ 2[ "_CALLBACK" +1 funExp ] } *) (*% * @prefix formatWithType_ * @format({funExp, foreignFunTy, loc}) * L8{ 2[ "_CALLBACK" * +1 L2{ funExp +1 "as" +d foreignFunTy } ] } *) ACEXPORTCALLBACK of { funExp : acexp, (* must be ACFNM *) foreignFunTy : AnnotatedTypes.foreignFunTy, loc: loc } | (*% * @format({ty, loc}) * "_tagof(" ty ")" *) (*% * @prefix formatWithType_ * @format({ty, loc}) * "_tagof(" ty ")" *) ACTAGOF of {ty : ty, loc : loc} | (*% * @format({ty, loc}) * "_sizeof(" ty ")" *) (*% * @prefix formatWithType_ * @format({ty, loc}) * "_sizeof(" ty ")" *) ACSIZEOF of {ty : ty, loc : loc} | (*% * @format({label, recordTy, loc}) * "_indexof(" !N0{ label "," +1 recordTy ")" } *) (*% * @prefix formatWithType_ * @format({label, recordTy, loc}) * "_indexof(" !N0{ label "," +1 recordTy ")" } *) ACINDEXOF of {label : string, recordTy : ty, loc : loc} | (*% * @format({value, loc}) value *) (*% * @prefix formatWithType_ * @format({value, loc}) value *) ACCONSTANT of {value : constant, loc : loc} | (*% * @format({name, kind, ty, loc}) * "_GLOBALSYMBOL(" !N0{ name +1 ":" +d ty } ")" *) (*% * @prefix formatWithType_ * @format({name, kind, ty, loc}) * "_GLOBALSYMBOL(" !N0{ name +1 ":" +d ty } ")" *) ACGLOBALSYMBOL of {name:string, kind:Absyn.globalSymbolKind, ty:ty, loc:loc} | (*% * @format({varInfo, loc}) varInfo *) (*% * @prefix formatWithType_ * @format({varInfo, loc}) varInfo *) ACVAR of {varInfo : varInfo, loc : loc} | (*% * @format({exVarInfo, loc}) "EXVAR(" !N0{ exVarInfo } ")" *) (*% * @prefix formatWithType_ * @format({exVarInfo, loc}) "EXVAR(" !N0{ exVarInfo } ")" *) ACEXVAR of {exVarInfo : exVarInfo, loc : loc} (* | (*% * @format({arrayExp, indexExp, elementTy, loc}) * "arraySub(" arrayExp "," indexExp ")" ":" elementTy *) ACGETFIELD of { arrayExp : acexp, indexExp : acexp, elementTy : ty, loc : loc } | (*% * @format({valueExp, arrayExp, indexExp, elementTy, loc}) * "SetField" * + arrayExp "[" indexExp "]" "=" valueExp *) ACSETFIELD of { valueExp : acexp, arrayExp : acexp, indexExp : acexp, elementTy : ty, loc: loc } | (*% * @format({consExp, newTailExp, listTy, consRecordTy, tailLabel, loc}) * "SetTail" * + consExp ":" consRecordTy "[" tailLabel "]" "=" newTailExp *) ACSETTAIL of { consExp : acexp, newTailExp : acexp, listTy : ty, consRecordTy : ty, tailLabel : string, loc: loc } | (*% * @format({sizeExp, initialValue, elementTy, isMutable, loc}) * !N0 { * elementTy "[" 2[1 sizeExp ] 1"]" "{" initialValue "}" * } *) ACARRAY of { sizeExp : acexp, initialValue : acexp, elementTy : ty, isMutable : bool, loc : loc } | (*% * @format({srcExp, srcIndexExp, dstExp, dstIndexExp, lengthExp, * elementTy, loc}) * "CopyArray" * + srcExp "[" srcIndexExp "]" "<=" * dstExp "[" dstIndexExp "]" * "(" lengthExp ")" *) ACCOPYARRAY of { srcExp : acexp, srcIndexExp : acexp, dstExp : acexp, dstIndexExp : acexp, lengthExp : acexp, elementTy : ty, loc: loc } *) | (*% * @format({primInfo, argExpList: arg args, instTyList: ty tys, loc}) * L8{ 2[ "_PRIMAPPLY(" primInfo ")" * tys:ifCons()( +1 tys:appList(ty)("{",",","}") ) * +1 args:appList(arg)("(",",",")") ] } *) (*% * @prefix formatWithType_ * @format({primInfo, argExpList: arg args, instTyList: ty tys, loc}) * L8{ 2[ "_PRIMAPPLY(" primInfo ")" * tys:ifCons()( +1 tys:appList(ty)("(",",",")") ) * +1 args:appList(arg)("(",",",")") ] } *) ACPRIMAPPLY of { primInfo : primInfo, argExpList : acexp list, instTyList : ty list, loc : loc } | (*% * @format({funExp, funTy, argExpList: arg args, loc}) * L8{ 2[ * funExp * +1 args:appList(arg)("{",",","}") * ] } *) (*% * @prefix formatWithType_ * @format({funExp, funTy, argExpList: arg args, loc}) * L8{ 2[ * L2{ funExp +1 ":" +d funTy } * +1 args:appList(arg)("{",",","}") * ] } *) ACAPPM of { funExp : acexp, funTy : ty, argExpList : acexp list, loc : loc } | (*% * @format({localDeclList : dec decs, mainExp, loc}) * L2{ !N0{ * "let" 2[ decs:decList(dec)(+1,+1) ] * +1 "in" 2[ +1 !N0{ mainExp } ] * +1 "end" * } } *) (*% * @prefix formatWithType_ * @format({localDeclList : dec decs, mainExp, loc}) * L2{ !N0{ * "let" 2[ decs:decList(dec)(+1,+1) ] * +1 "in" 2[ +1 !N0{ mainExp } ] * +1 "end" * } } *) ACLET of { localDeclList : acdecl list, mainExp : acexp, loc : loc } | (*% * @format({fields:field fields, recordTy, annotation, isMutable, loc}) * fields:enclosedList(field)("{",",","}") * @format:field({label, fieldExp}) * label "=" 2[ +1 fieldExp ] *) (*% * @prefix formatWithType_ * @format({fields:field fields, recordTy, annotation, isMutable, loc}) * L2{ fields:enclosedList(field)("{",",","}") * "^" annotation * +1 ":" +d recordTy } * @format:field({label, fieldExp}) * label "=" 2[ +1 fieldExp ] *) ACRECORD of { fields : {label: string, fieldExp: acexp} list, recordTy : ty, annotation : annotationLabel, isMutable : bool, loc : loc } | (*% * @format({recordExp, indexExp, label, recordTy, resultTy, loc}) * L8{ 2[ "#" label * +1 indexExp * +1 recordExp ] } *) (*% * @prefix formatWithType_ * @format({recordExp, indexExp, label, recordTy, resultTy, loc}) * L2{ * L8{ 2[ "#" label * +1 indexExp * +1 L2{ recordExp * +1 ":" +d recordTy } ] } * +1 ":" +d resultTy } *) ACSELECT of { recordExp : acexp, indexExp : acexp, label : string, recordTy : ty, resultTy:ty, loc : loc } | (*% * @format({recordExp, recordTy, indexExp, label, valueExp, valueTy, loc}) * L8{ 2[ recordExp * +1 "#" +d "{" * !N0{ L2{ label +1 "/" +d indexExp } +d "=" * 2[ +1 valueExp ] } "}" ] } *) (*% * @prefix formatWithType_ * @format({recordExp, recordTy, indexExp, label, valueExp, valueTy, loc}) * L8{ 2[ L2{ recordExp +1 ":" +d recordTy } * +1 "#" +d "{" * !N0{ L2{ label +1 "/" +d indexExp } +d "=" * 2[ +1 L2{ valueExp * +1 ":" +d valueTy } ] } "}" ] } *) ACMODIFY of { recordExp : acexp, recordTy : ty, indexExp : acexp, label : string, valueExp : acexp, valueTy : ty, loc : loc } | (*% * @format({argExp, resultTy, loc}) * R1{ 2[ "raise" +1 argExp ] } *) (*% * @prefix formatWithType_ * @format({argExp, resultTy, loc}) * L2{ R1{ 2[ "raise" +1 argExp ] } * +1 ":" +d resultTy } *) ACRAISE of { argExp : acexp, resultTy : ty, loc : loc } | (*% * @format({exp, exnVar, handler, loc}) * R1{ "_try" * 2[ +1 exp ] * +1 "handle" +d { exnVar:withType +1 "=>" } * 2[ +1 handler ] * +1 "end" } *) (*% * @prefix formatWithType_ * @format({exp, exnVar, handler, loc}) * R1{ "_try" * 2[ +1 exp ] * +1 "handle" +d { exnVar +1 "=>" } * 2[ +1 handler ] * +1 "end" } *) ACHANDLE of { exp : acexp, exnVar : varInfo, handler : acexp, loc : loc } | (*% * @format({argVarList: arg args, funTy, bodyExp, annotation, loc}) * R1{ "fn" +d args:appList(arg:withType)("{",",","}") +d "=>" * 3[ +1 bodyExp ] } *) (*% * @prefix formatWithType_ * @format({argVarList: arg args, funTy, bodyExp, annotation, loc}) * L2{ * R1{ "fn" +d args:appList(arg)("{",",","}") +d "=>" * 3[ +1 bodyExp ] } * "^" annotation * +1 ":" +d funTy } *) ACFNM of { argVarList : varInfo list, funTy : ty, bodyExp : acexp, annotation : annotationLabel, loc : loc } | (*% * @format({btvEnv:btv, expTyWithoutTAbs, exp, loc}) * "[" !N0{ btv "." * +1 exp } "]" *) (*% * @prefix formatWithType_ * @format({btvEnv:btv, expTyWithoutTAbs, exp, loc}) * "[" !N0{ * btv "." * +1 L2{ exp * +1 ":" +d expTyWithoutTAbs } * } "]" *) ACPOLY of { btvEnv : btvEnv, expTyWithoutTAbs : ty, exp : acexp, loc : loc } | (*% * @format({exp, expTy, instTyList: ty tys, loc}) * L8{ 2[ exp * +1 tys:enclosedList(ty)("{",",","}") ] } *) (*% * @prefix formatWithType_ * @format({exp, expTy, instTyList: ty tys, loc}) * L8{ 2[ L2{ exp +1 ":" +d expTy } * +1 tys:enclosedList(ty)("{",",","}") ] } *) ACTAPP of { exp : acexp, expTy : ty, instTyList : ty list, loc : loc } | (*% * @format({switchExp, expTy, branches: branch branches, defaultExp, loc}) * R1{ * { 2[ "case" +1 switchExp +1 "of" ] } * branches:caseList(branch) * (2[+1], +1 "|" +d, 2[ "_" +d "=>" +1 defaultExp ]) * } * @format:branch({constant, exp}) * 2[ constant +d "=>" +1 exp ] *) (*% * @prefix formatWithType_ * @format({switchExp, expTy, branches: branch branches, defaultExp, loc}) * R1{ * { 2[ "case" +1 L2{ switchExp +1 ":" +d expTy } * +1 "of" ] } * branches:caseList(branch) * (2[+1], +1 "|" +d, 2[ "_" +d "=>" +1 defaultExp ]) * } * @format:branch({constant, exp}) * 2[ constant +d "=>" +1 exp ] *) ACSWITCH of { switchExp : acexp, expTy : ty, branches : {constant : constant , exp : acexp} list, defaultExp : acexp, loc : loc } | (*% * @format({exp, expTy, targetTy, loc}) * "cast" "(" !N0{ exp } ")" *) (*% * @prefix formatWithType_ * @format({exp, expTy, targetTy, loc}) * "cast" "(" !N0{ L2{ exp +1 ":" +d expTy } +1 ":" +d targetTy } ")" *) ACCAST of {exp : acexp, expTy : ty, targetTy : ty, loc : loc} and acdecl = (*% * @format({boundVar, boundExp, loc}) * "val" +d boundVar:withType +d "=" * 4[ +1 boundExp ] *) (*% * @prefix formatWithType_ * @format({boundVar, boundExp, loc}) * "val" +d boundVar +d "=" * 4[ +1 boundExp ] *) ACVAL of { boundVar : varInfo, boundExp : acexp, loc : loc } | (*% * @format({recbindList: bind binds, loc}) * binds:decList(bind)("val" +d "rec" +d, +1 "and" +d) * @format:bind({boundVar, boundExp}) * boundVar:withType +d "=" 4[ +1 boundExp ] *) (*% * @prefix formatWithType_ * @format({recbindList: bind binds, loc}) * binds:decList(bind)("val" +d "rec" +d, +1 "and" +d) * @format:bind({boundVar, boundExp}) * boundVar +d "=" 4[ +1 boundExp ] *) ACVALREC of { recbindList : {boundVar : varInfo, boundExp : acexp } list, loc : loc } | (*% * @format({varInfo, loc}) * "export" +d "val" +d varInfo *) (*% * @prefix formatWithType_ * @format({varInfo, loc}) * "export" +d "val" +d varInfo *) ACEXPORTVAR of {varInfo: varInfo, loc: loc} | (*% * @format({exVarInfo, loc}) * "extern" +d "val" +d exVarInfo *) (*% * @prefix formatWithType_ * @format({exVarInfo, loc}) * "extern" +d "val" +d exVarInfo *) ACEXTERNVAR of {exVarInfo: exVarInfo, loc: loc} end smlsharp-1.2.0/src/compiler/annotatedcalc/main/AnnotatedCalc.ppg.smi0000644 000000000000000000001215312050661606025631 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../annotatedtypes/main/AnnotatedTypes.ppg.smi" _require "../../builtin2/main/BuiltinPrimitive.ppg.smi" _require "../../constantterm/main/ConstantTerm.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../util/main/TermFormat.smi" structure AnnotatedCalc = struct type loc = Loc.loc type ty = AnnotatedTypes.ty val format_ty : AnnotatedTypes.ty -> SMLFormat.FormatExpression.expression list type varInfo = {id:VarID.id, path:IDCalc.path, ty:ty} val format_varInfo : {id:VarID.id, path:string list, ty:'a} -> SMLFormat.BasicFormatters.expression list val formatWithType_varInfo : {id:VarID.id, path:string list, ty:AnnotatedTypes.ty} -> SMLFormat.FormatExpression.expression list type exVarInfo = {path:IDCalc.path, ty:ty} val format_exVarInfo : {path:string list, ty:'a} -> SMLFormat.BasicFormatters.expression list val formatWithType_exVarInfo : {path:string list, ty:AnnotatedTypes.ty} -> SMLFormat.FormatExpression.expression list type primInfo = {primitive:BuiltinPrimitive.primitive, ty:ty} val format_primInfo : {primitive:BuiltinPrimitive.primitive, ty:'a} -> SMLFormat.FormatExpression.expression list val formatWithType_primInfo : {primitive:BuiltinPrimitive.primitive, ty:AnnotatedTypes.ty} -> SMLFormat.FormatExpression.expression list type annotationLabel = AnnotatedTypes.annotationLabel val formatWithType_annotationLabel : AnnotationLabelID.id -> SMLFormat.FormatExpression.expression list type btvEnv = AnnotatedTypes.btvEnv val format_btvEnv : AnnotatedTypes.btvKind BoundTypeVarID.Map.map -> SMLFormat.FormatExpression.expression list datatype constant = datatype ConstantTerm.constant val format_constant : ConstantTerm.constant -> SMLFormat.FormatExpression.expression list datatype acexp = ACAPPM of {argExpList:acexp list, funExp:acexp, funTy:ty, loc:loc} | ACCAST of {exp:acexp, expTy:ty, loc:loc, targetTy:ty} | ACCONSTANT of {loc:loc, value:ConstantTerm.constant} | ACEXPORTCALLBACK of {foreignFunTy:AnnotatedTypes.foreignFunTy, funExp:acexp, loc:loc} | ACEXVAR of {exVarInfo:exVarInfo, loc:loc} | ACFNM of {annotation:annotationLabel, argVarList:varInfo list, bodyExp:acexp, funTy:ty, loc:loc} | ACFOREIGNAPPLY of {argExpList:acexp list, foreignFunTy:AnnotatedTypes.foreignFunTy, funExp:acexp, loc:loc} | ACGLOBALSYMBOL of {kind:Absyn.globalSymbolKind, loc:loc, name:string, ty:ty} | ACHANDLE of {exnVar:varInfo, exp:acexp, handler:acexp, loc:loc} | ACINDEXOF of {label:string, loc:loc, recordTy:ty} | ACLET of {loc:loc, localDeclList:acdecl list, mainExp:acexp} | ACMODIFY of {indexExp:acexp, label:string, loc:loc, recordExp:acexp, recordTy:ty, valueExp:acexp, valueTy:ty} | ACPOLY of {btvEnv:btvEnv, exp:acexp, expTyWithoutTAbs:ty, loc:loc} | ACPRIMAPPLY of {argExpList:acexp list, instTyList:ty list, loc:loc, primInfo:primInfo} | ACRAISE of {argExp:acexp, loc:loc, resultTy:ty} | ACRECORD of {annotation:annotationLabel, fields:{fieldExp:acexp, label:string} list, isMutable:bool, loc:loc, recordTy:ty} | ACSELECT of {indexExp:acexp, label:string, loc:loc, recordExp:acexp, recordTy:ty, resultTy:ty} | ACSIZEOF of {loc:loc, ty:ty} | ACSWITCH of {branches:{constant:ConstantTerm.constant, exp:acexp} list, defaultExp:acexp, expTy:ty, loc:loc, switchExp:acexp} | ACTAGOF of {loc:loc, ty:ty} | ACTAPP of {exp:acexp, expTy:ty, instTyList:ty list, loc:loc} | ACVAR of {loc:loc, varInfo:varInfo} and acdecl = ACEXPORTVAR of {loc:loc, varInfo:varInfo} | ACEXTERNVAR of {exVarInfo:exVarInfo, loc:loc} | ACVAL of {boundExp:acexp, boundVar:varInfo, loc:loc} | ACVALREC of {loc:loc, recbindList:{boundExp:acexp, boundVar:varInfo} list} val format_acexp : acexp -> TermFormat.format val format_acdecl : acdecl -> TermFormat.format val formatWithType_acexp : acexp -> SMLFormat.FormatExpression.expression list val formatWithType_acdecl : acdecl -> TermFormat.format end smlsharp-1.2.0/src/compiler/annotatedcalc/main/ANNOTATEDCALCFORMATTER.sig0000644 000000000000000000000065112050661606025562 0ustar00rootroot0000000 0000000 (** * a pretty printer for the annotated typed lambda calclulus. * @copyright (c) 2006, Tohoku University. * @author Huu-Duc Nguyen * @version $$ *) signature ANNOTATEDCALCFORMATTER = sig val actyToString : AnnotatedTypes.ty -> string val acexpToString : AnnotatedCalc.acexp -> string val acdeclToString : AnnotatedCalc.acdecl -> string val acdeclToStringWithType : AnnotatedCalc.acdecl -> string end smlsharp-1.2.0/src/compiler/annotatedcalc/main/AnnotatedCalcFormatter.smi0000644 000000000000000000000073712050661606026735 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../annotatedtypes/main/AnnotatedTypes.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "AnnotatedCalc.ppg.smi" _require "ANNOTATEDCALCFORMATTER.sig" structure AnnotatedCalcFormatter = struct val actyToString : AnnotatedTypes.ty -> string val acexpToString : AnnotatedCalc.acexp -> string val acdeclToString : AnnotatedCalc.acdecl -> string val acdeclToStringWithType : AnnotatedCalc.acdecl -> string end smlsharp-1.2.0/src/compiler/annotatedcalc/main/AnnotatedCalcFormatter.sml0000644 000000000000000000000105612050661606026733 0ustar00rootroot0000000 0000000 (** * a pretty printer for the annotated typed lambda calclulus. * @copyright (c) 2006, Tohoku University. *) structure AnnotatedCalcFormatter : ANNOTATEDCALCFORMATTER = struct fun actyToString ty = Control.prettyPrint (AnnotatedTypes.format_ty ty) fun acexpToString exp = Control.prettyPrint (AnnotatedCalc.format_acexp exp) fun acdeclToString decl = Control.prettyPrint (AnnotatedCalc.format_acdecl decl) fun acdeclToStringWithType decl = Control.prettyPrint (AnnotatedCalc.formatWithType_acdecl decl) end smlsharp-1.2.0/src/compiler/annotatedtypes0000755 000000000000000000000000012050661606021067 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/annotatedtypes/main0000755 000000000000000000000000012050661606022013 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/annotatedtypes/main/AnnotatedTypes.ppg0000644 000000000000000000004126712050661606025556 0ustar00rootroot0000000 0000000 (** * annotated type structures. * @copyright (c) 2006, Tohoku University. * @author Huu-Duc Nguyen * @version $Id: AnnotatedTypes.ppg,v 1.21 2008/08/06 17:23:39 ohori Exp $ *) structure AnnotatedTypes = struct local type path = IDCalc.path structure FE = SMLFormat.FormatExpression structure BF = SMLFormat.BasicFormatters structure BT = BuiltinTypes fun formatBtvEnv (formatter, sep) map = TermFormat.formatDeclList (formatter, nil, sep) (BoundTypeVarID.Map.listItems map) (** formatter for 'a IEnv.map *) fun format_IEnv (elementFormatter, separator, prefix, suffix) values = SmlppgUtil.formatListWithEnclosureOne (elementFormatter, separator, prefix, suffix) (BoundTypeVarID.Map.listItems values) fun formatLSet (separator, prefixIfNotNull, suffixIfNotNull) lset = let val L = map (fn i => "L" ^ (AnnotationLabelID.toString i)) (AnnotationLabelID.Set.listItems lset) in SmlppgUtil.formatListWithEnclosureOne ( SMLFormat.BasicFormatters.format_string, separator, prefixIfNotNull, suffixIfNotNull ) L end fun formatRecordTy (elementFormatter, bindsep, itemsepRecord) smap = let val L = LabelEnv.listItemsi smap in SmlppgUtil.format_record(elementFormatter, bindsep, itemsepRecord) L end in (*% * @formatter(VarID.id) VarID.format_id *) type varid = (*% * @format(id) id *) VarID.id (* (*% * @formatter(Types.tyCon) Types.format_tyCon *) type tyCon = (*% @format(tyCon) tyCon()() *) Types.tyCon *) (*% * @formatter(Absyn.eq) Absyn.format_eq *) datatype eqKind = datatype Absyn.eq (*% * @formatter(AnnotationLabelID.id) AnnotationLabelID.format_id *) type annotationLabel = (*% * @format(label) "L" label *) AnnotationLabelID.id (*% * @formatter(formatLSet) formatLSet *) datatype labelEquiv = (*% * @format(labels : formatLSet) labels()("," d,,) *) LE_LABELS of AnnotationLabelID.Set.set | (*% * @format "G" *) LE_GENERIC | (*% * @format "U" *) LE_UNKNOWN (* A function is Escaped if it is defined at the top-level or used as a value, otherwise belongs to the function that lexically surround it. *) (*% * @params(id) *) datatype functionKind = (*% * @format "f" id (* function *) *) CLOSURE | (*% * @format "c" id (* code *) *) LOCAL | (*% * @format "g" id *) GLOBAL_FUNSTATUS (*% * @params(id) *) type codeStatus = (*% * @format(a b) b(a()(id)) *) functionKind ref (* * This function term id. *) (*% @formatter(FunctionAnnotationID.id) FunctionAnnotationID.format_id *) type functionId = FunctionAnnotationID.id (*% @formatter(BoundTypeVarID.id) BoundTypeVarID.format_id *) type tid = BoundTypeVarID.id (*% *) type owner = (*% * @format({ownerId, ownerCode}) ownerCode()(ownerId) *) {ownerId : functionId, ownerCode: codeStatus} (*% * @formatter(listWithEnclosure) SmlppgUtil.formatListWithEnclosure *) type funStatus = (*% * @format({codeStatus, * owners : owner owners:listWithEnclosure, * functionId}) * codeStatus()(functionId) owners(owner)("," d, "[", "]") *) { codeStatus:codeStatus, owners: owner list, functionId:functionId } (*% * @formatter(bool) SmlppgUtil.formatBinaryChoice *) type functionAnnotation = (*% * @format({labels, boxed}) * "{" { labels boxed()("," d "B",) "}" } *) { labels : labelEquiv, boxed : bool } (*% * @formatter(bool) SmlppgUtil.formatBinaryChoice *) type recordAnnotation = (*% * @format({labels,boxed,align}) * "{" { labels boxed()("," d "B",) align()("," d "A",) "}" } *) { labels : labelEquiv, boxed : bool, align : bool } (* * formatter precedence: * L7 { x ^ y } annotation * N3 { e } argument of type constructor * (see also SmlppgUtil.formatTyConArgumentTypes) * R2 { x -> y } function * L2 { x : y } type annotation * (FIXME: conflict with function due to N3) * * Precedence 0 is reserved for cut. * Precedence 1 is reserved for expression terms. *) (*% @formatter(enclosedList) TermFormat.formatEnclosedList @formatter(ifCons) TermFormat.formatIfCons @formatter(Types.ty) Types.format_ty @formatter(IDCalc.typId) IDCalc.format_typId @formatter(IDCalc.revealKey) IDCalc.format_revealKey @formatter(Types.dtyKind) Types.format_dtyKind * @formatter(path) IDCalc.format_path * @formatter(listWithEnclosureOne) SmlppgUtil.formatListWithEnclosureOne * @formatter(listWithEnclosure) SmlppgUtil.formatListWithEnclosure * @formatter(tyConArgTys) SmlppgUtil.formatTyConArgumentTypes * @formatter(formatRecordTy) formatRecordTy * @formatter(Types.dummyTyID) Types.format_dummyTyID * @formatter(formatIEnv) format_IEnv * @formatter(smap) SmlppgUtil.formatSmap * @formatter(formatUInt32) BasicTypeFormatters.format_UInt32 * @formatter(optWithDefault) SmlppgUtil.formatOptWithDefault * @formatter(format_freeTyId) Types.format_freeTyId * @formatter(IDCalc.path) IDCalc.format_path *) (*% * @prefix formatSimple_ @formatter(enclosedList) TermFormat.formatEnclosedList @formatter(ifCons) TermFormat.formatIfCons @formatter(Types.ty) Types.format_ty @formatter(IDCalc.revealKey) IDCalc.format_revealKey @formatter(IDCalc.typId) IDCalc.format_typId @formatter(Types.dtyKind) Types.format_dtyKind * @formatter(path) IDCalc.format_path * @formatter(Types.dummyTyID) Types.format_dummyTyID * @formatter(SEnv.map) TermFormat.formatEnclosedSEnv * @formatter(LabelEnv.map) TermFormat.formatEnclosedLabelEnv * @formatter(BoundTypeVarID.Map.map) formatBtvEnv * @formatter(tid) format_tid * @formatter(eqKind) format_eqKind * @formatter(appList) TermFormat.formatAppList * @formatter(enclosedList) TermFormat.formatEnclosedList * @formatter(seqList) TermFormat.formatSeqList * @formatter(ifCons) TermFormat.formatIfCons * @formatter(IDCalc.path) IDCalc.format_path *) datatype ty = (*% * @format(t) t *) (*% * @prefix formatSimple_ * @format(t) t *) SINGLETONty of singletonTy | (*% * @format "errorty" *) (*% * @prefix formatSimple_ * @format "ERRORty" *) ERRORty | (*% * @format(id) id *) (*% * @prefix formatSimple_ * @format(id) id *) DUMMYty of Types.dummyTyID | (*% * @format(value) "t" value *) (*% * @prefix formatSimple_ * @format(id) "t" id *) (* NOTE: tid is globally unique *) BOUNDVARty of tid | (*% * @format({argTyList:argTy argTys:listWithEnclosureOne, * bodyTy, * annotation: ann annref, * funStatus}) * L7{ * R4{ * argTys(argTy)("," +1, "{", "}") * +1 "-" funStatus "->" * 2[ +2 bodyTy ] * } * 1 "^" d annref(ann) * } *) (*% * @prefix formatSimple_ * @format({argTyList: arg args, bodyTy, annotation, funStatus}) * R4{ args:appList(arg)("(",",",")") +1 "->" +d bodyTy } *) FUNMty of { argTyList : ty list, bodyTy : ty, annotation : functionAnnotation ref, funStatus : funStatus } | (*% * @format(ty tys:listWithEnclosureOne) * tys(ty)("," +1, "{", "}") *) (*% * @prefix formatSimple_ * @format(ty tys) * tys:appList(ty)("(",",",")") *) MVALty of ty list | (*% * @format({fieldTypes:elm smap:formatRecordTy, * annotation: ann annref}) * L7{ smap(elm)(":", "," +1) 1 "^" d annref(ann) } *) (*% * @prefix formatSimple_ * @format({fieldTypes: ty tys, annotation}) * tys(ty)("{",",",":","}") *) RECORDty of {fieldTypes: ty LabelEnv.map, annotation : recordAnnotation ref } | (*% * @format({tyCon, args:arg args:tyConArgTys}) * { args(arg)("," +1, "(", ")") tyCon } *) (*% * @prefix formatSimple_ * @format({tyCon, args: arg args}) * L8{ 2[ args:seqList(arg)("(",",",")") * args:ifCons()(+1) tyCon ] } *) CONty of {tyCon : tyCon, args : ty list} | (*% * @format({boundtvars : btvKind btvKindMap:formatIEnv, body}) * !N0{ "[" * btvKindMap(btvKind)("," 2, "", "") "." * 2[ 1 body ] * "]" } *) (*% * @prefix formatSimple_ * @format({boundtvars: kind map, body}) * "[" !N0{ map(kind)("," +1) "." +1 body } "]" *) POLYty of {boundtvars : btvKind BoundTypeVarID.Map.map, body : ty} and singletonTy = (*% * @format({oprimId, * path, * keyTyList:ty tys:listWithEnclosureOne * }) * "code(" path ":" tys(ty)("," +1, "{", "}") ")" *) (*% * @prefix formatSimple_ * @format({oprimId, path, keyTyList}) * "INSTCODEty(" path ")" *) (* a singletonset denoting the instance function for a type 'a *) INSTCODEty of {oprimId:OPrimID.id, path:IDCalc.path, keyTyList: ty list} | (*% * @format(label * ty) "index(" !N0 { label "," +1 ty ")" } *) (*% * @prefix formatSimple_ * @format(label * ty) "INDEXty(" !N0 { label "," +1 ty } ")" *) INDEXty of string * ty | (*% * @format(ty) "tag(" !N0{ ty ")" } *) (*% * @prefix formatSimple_ * @format(ty) "TAGty(" !N0 { ty } ")" *) TAGty of ty | (*% * @format(ty) "size(" !N0{ ty ")" } *) (*% * @prefix formatSimple_ * @format(ty) "SIZEty(" !N0 { ty } ")" *) SIZEty of ty | (*% * @format(ty) "recordsize(" !N0{ ty ")" } *) (*% * @prefix formatSimple_ * @format(ty) "RECORDSIZEty(" !N0 { ty } ")" *) RECORDSIZEty of ty | (*% * @format(index * ty) "recordbitmap(" !N0{ index "," +1 ty ")" } *) (*% * @prefix formatSimple_ * @format(index * ty) "RECORDBITMAPty(" !N0{ index "," +1 ty } ")" *) RECORDBITMAPty of int * ty and tvarKind = (*% @format *) (*% @prefix formatSimple_ @format *) UNIV | (*% * @format(ty tys:listWithEnclosureOne) {"#" 2[tys(ty)("," +, "{", "}")]} *) (*% * @prefix formatSimple_ * @format(ty tys) * "::" tys:enclosedList(ty)("{",",","}") *) (* for overloaded operators *) OPRIMkind of ty list | (*% * @format(ty smap:formatRecordTy) * "#" d smap(ty)(":", "," +1) *) (*% * @prefix formatSimple_ * @format(ty tys) * "#" tys(ty)("{",",",":","}") *) REC of ty LabelEnv.map and dtyKind = (*% @format *) (*% @prefix formatSimple_ @format *) DTY | (*% @format({opaqueRep, revealKey}) "[opaque("revealKey "," opaqueRep ")" "]" *) (*% @prefix formatSimple_ @format({opaqueRep, revealKey}) "[opaque("revealKey "," opaqueRep ")" "]" *) OPAQUE of {opaqueRep:opaqueRep, revealKey:IDCalc.revealKey} | (*% @format(builtin) *) (*% @prefix formatSimple_ @format(builtin) *) BUILTIN of BuiltinTypeNames.bty and opaqueRep = (*% @format(tyCon) tyCon *) TYCON of tyCon | (*% @format({iseq, arity, polyTy}) polyTy *) TFUNDEF of {iseq:bool, arity:int, polyTy:ty} withtype btvKind = (*% * @format({id, tvarKind, eqKind}) * eqKind "t" id d tvarKind *) (*% * @prefix formatSimple_ * @format({id, tvarKind, eqKind}) * eqKind "t" id d tvarKind *) { id : tid, tvarKind : tvarKind, eqKind : eqKind } and tyCon = (*% @format({id, path, iseq, arity, runtimeTy, conSet, extraArgs:ty tys, dtyKind}) tys:ifCons()(tys:enclosedList(ty()())("{",",","}")) path "(" id "[" dtyKind()() "]" ")" *) (*% @prefix formatSimple_ @format({id, path, iseq, arity, runtimeTy, conSet, extraArgs:ty tys, dtyKind}) tys:ifCons()(tys:enclosedList(ty()())("{",",","}")) path "(" id "[" dtyKind()() "]" ")" *) {id : IDCalc.typId, path :IDCalc.path, iseq : bool, arity : int, runtimeTy : BuiltinTypeNames.bty, conSet : {hasArg:bool} SEnv.map, extraArgs : Types.ty list, dtyKind : Types.dtyKind } (*% * @formatter(formatIEnv) format_IEnv *) (*% * @prefix formatSimple_ * @formatter(BoundTypeVarID.Map.map) formatBtvEnv *) type btvEnv = (*% * @format(a b:formatIEnv) b(a)("," 2, "", "") *) (*% * @prefix formatSimple_ * @format(kind map) map(kind)("," +1) *) btvKind BoundTypeVarID.Map.map (*% * @formatter(appList) TermFormat.formatAppList * @formatter(Absyn.ffiAttributes) Absyn.format_ffiAttributes *) type foreignFunTy = (*% * @format({argTyList: argTy argTys, resultTy, attributes}) * L8{ 2[ attributes +1 * R4{ argTys:appList(argTy)("(",",",")") * +1 "->" +d resultTy } ] } *) { argTyList : ty list, resultTy : ty, attributes : Absyn.ffiAttributes } (* (*% * @formatter(Types.varId) Types.format_varId *) type varInfo = (*% * @format({displayName, ty, varId}) * L2{ L2{ displayName 1 ":" d varId } +1 ":" +d ty } *) {displayName : string, ty : ty, varId : Types.varId} (*% *) type varInfoWithoutType = (*% * @format({displayName, ty, varId}) displayName *) {displayName : string, ty : ty, varId : Types.varId} (*% * @formatter(BuiltinPrimitive.primitive) BuiltinPrimitive.format_primitive *) type primInfo = (*% * @format({name,ty}) name *) {name : BuiltinPrimitive.primitive, ty : ty} *) val intty = CONty {tyCon = BT.intTyCon, args = []} val largeIntty = CONty {tyCon = BT.intInfTyCon, args = []} val wordty = CONty {tyCon = BT.wordTyCon, args = []} val bytety = CONty {tyCon = BT.word8TyCon, args = []} val realty = CONty {tyCon = BT.realTyCon, args = []} val floatty = CONty {tyCon = BT.real32TyCon, args = []} val stringty = CONty {tyCon = BT.stringTyCon, args = []} val charty = CONty {tyCon = BT.charTyCon, args = []} val unitty = CONty {tyCon = BT.unitTyCon, args = []} val exnty = CONty {tyCon = BT.exnTyCon, args = []} fun boolty () = CONty {tyCon = BT.boolTyCon, args=[]} val foreignfunty = CONty {tyCon = BT.ptrTyCon, args = [unitty]} (* val arrayindexty = wordty val exntagty = CONty {tyCon = PT.exntagTyCon, args = []} fun arrayty ty = CONty {tyCon = PT.arrayTyCon, args = [ty]} fun arrayelemty (CONty {args = [ty], ...}) = ty | arrayelemty _ = raise Control.Bug "invalid array type" *) end (* local *) end smlsharp-1.2.0/src/compiler/annotatedtypes/main/AnnotatedTypes.ppg.smi0000644 000000000000000000001532212050661606026336 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../name/main/LocalID.smi" _require "../../builtin2/main/BuiltinTypeNames.ppg.smi" _require "../../builtin2/main/BuiltinTypes.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../types/main/Types.ppg.smi" _require "../../util/main/SmlppgUtil.ppg.smi" _require "../../util/main/TermFormat.smi" _require "../../absyn/main/Absyn.ppg.smi" structure AnnotatedTypes = struct type varid = VarID.id val format_varid : VarID.id -> SMLFormat.FormatExpression.expression list datatype eqKind = datatype Absyn.eq val format_eqKind : eqKind -> SMLFormat.FormatExpression.expression list type annotationLabel = AnnotationLabelID.id val format_annotationLabel : AnnotationLabelID.id -> SMLFormat.FormatExpression.expression list datatype labelEquiv = LE_GENERIC | LE_LABELS of AnnotationLabelID.Set.set | LE_UNKNOWN val format_labelEquiv : labelEquiv -> SMLFormat.FormatExpression.expression list datatype functionKind = CLOSURE | GLOBAL_FUNSTATUS | LOCAL val format_functionKind : SMLFormat.FormatExpression.expression list -> functionKind -> SMLFormat.FormatExpression.expression list type codeStatus = functionKind ref val format_codeStatus : SMLFormat.FormatExpression.expression list -> functionKind ref -> SMLFormat.BasicFormatters.expression list type functionId = FunctionAnnotationID.id val format_functionId : FunctionAnnotationID.id -> SMLFormat.FormatExpression.expression list type tid = BoundTypeVarID.id val format_tid : BoundTypeVarID.id -> SMLFormat.FormatExpression.expression list type owner = {ownerCode:codeStatus, ownerId:functionId} val format_owner : {ownerCode:functionKind ref, ownerId:FunctionAnnotationID.id} -> SMLFormat.BasicFormatters.expression list type funStatus = {codeStatus:codeStatus, functionId:functionId, owners:owner list} val format_funStatus : {codeStatus:functionKind ref, functionId:FunctionAnnotationID.id, owners:{ownerCode:functionKind ref, ownerId:FunctionAnnotationID.id} list} -> SMLFormat.BasicFormatters.expression list type functionAnnotation = {boxed:bool, labels:labelEquiv} val format_functionAnnotation : {boxed:bool, labels:labelEquiv} -> SMLFormat.FormatExpression.expression list type recordAnnotation = {align:bool, boxed:bool, labels:labelEquiv} val format_recordAnnotation : {align:bool, boxed:bool, labels:labelEquiv} -> SMLFormat.FormatExpression.expression list datatype ty = BOUNDVARty of tid | CONty of {args:ty list, tyCon:{arity:int, conSet:{hasArg:bool} SEnv.map, dtyKind:Types.dtyKind, extraArgs:Types.ty list, runtimeTy:BuiltinTypeNames.bty, id:IDCalc.typId, iseq:bool, path:IDCalc.path}} | DUMMYty of Types.dummyTyID | ERRORty | FUNMty of {annotation:functionAnnotation ref, argTyList:ty list, bodyTy:ty, funStatus:funStatus} | MVALty of ty list | POLYty of {body:ty, boundtvars:{eqKind:eqKind, id:tid, tvarKind:tvarKind} BoundTypeVarID.Map.map} | RECORDty of {annotation:recordAnnotation ref, fieldTypes:ty LabelEnv.map} | SINGLETONty of singletonTy and singletonTy = INDEXty of string * ty | INSTCODEty of {keyTyList:ty list, oprimId:OPrimID.id, path:IDCalc.path} | RECORDBITMAPty of int * ty | RECORDSIZEty of ty | SIZEty of ty | TAGty of ty and tvarKind = OPRIMkind of ty list | REC of ty LabelEnv.map | UNIV and dtyKind = BUILTIN of BuiltinTypeNames.bty | DTY | OPAQUE of {opaqueRep:opaqueRep, revealKey:IDCalc.revealKey} and opaqueRep = TFUNDEF of {arity:int, iseq:bool, polyTy:ty} | TYCON of {arity:int, conSet:{hasArg:bool} SEnv.map, dtyKind:Types.dtyKind, extraArgs:Types.ty list, runtimeTy:BuiltinTypeNames.bty, id:IDCalc.typId, iseq:bool, path:IDCalc.path} type btvKind = {eqKind:eqKind, id:tid, tvarKind:tvarKind} type tyCon = {arity:int, conSet:{hasArg:bool} SEnv.map, dtyKind:Types.dtyKind, runtimeTy:BuiltinTypeNames.bty, extraArgs:Types.ty list, id:IDCalc.typId, iseq:bool, path:IDCalc.path} val format_ty : ty -> SMLFormat.FormatExpression.expression list val format_singletonTy : singletonTy -> SMLFormat.FormatExpression.expression list val format_tvarKind : tvarKind -> SMLFormat.FormatExpression.expression list val format_dtyKind : dtyKind -> SMLFormat.FormatExpression.expression list val format_opaqueRep : opaqueRep -> SMLFormat.FormatExpression.expression list val format_btvKind : btvKind -> SMLFormat.FormatExpression.expression list val format_tyCon : tyCon -> SMLFormat.FormatExpression.expression list val formatSimple_ty : ty -> TermFormat.format val formatSimple_singletonTy : singletonTy -> SMLFormat.FormatExpression.expression list val formatSimple_tvarKind : tvarKind -> SMLFormat.FormatExpression.expression list val formatSimple_dtyKind : dtyKind -> SMLFormat.FormatExpression.expression list val formatSimple_opaqueRep : opaqueRep -> SMLFormat.FormatExpression.expression list val formatSimple_btvKind : btvKind -> TermFormat.format val formatSimple_tyCon : tyCon -> SMLFormat.FormatExpression.expression list type btvEnv = btvKind BoundTypeVarID.Map.map val format_btvEnv : btvKind BoundTypeVarID.Map.map -> SMLFormat.FormatExpression.expression list val formatSimple_btvEnv : btvKind BoundTypeVarID.Map.map -> SMLFormat.FormatExpression.expression list type foreignFunTy = {argTyList:ty list, attributes:Absyn.ffiAttributes, resultTy:ty} val format_foreignFunTy : {argTyList:ty list, attributes:Absyn.ffiAttributes, resultTy:ty} -> SMLFormat.FormatExpression.expression list val intty : ty val largeIntty : ty val wordty : ty val bytety : ty val realty : ty val floatty : ty val stringty : ty val charty : ty val unitty : ty val exnty : ty val boolty : unit -> ty val foreignfunty : ty end smlsharp-1.2.0/src/compiler/annotatedtypes/main/ANNOTATEDTYPESUTILS.sig0000644 000000000000000000000537512050661606025573 0ustar00rootroot0000000 0000000 (** * AnnotatedCalc utilities * @copyright (c) 2006, Tohoku University. * @author Huu-Duc Nguyen * @version $$ *) signature ANNOTATEDTYPESUTILS = sig (* val flatTyList : AnnotatedTypes.ty -> AnnotatedTypes.ty list *) val constDefaultTy : ConstantTerm.constant -> AnnotatedTypes.ty (* val fieldTypes : AnnotatedTypes.ty -> AnnotatedTypes.ty SEnv.map val recordFieldTy : AnnotatedTypes.ty * string -> AnnotatedTypes.ty val arrayElementTy : AnnotatedTypes.ty -> AnnotatedTypes.ty val argTyList : AnnotatedTypes.ty -> AnnotatedTypes.ty list *) val expandFunTy : AnnotatedTypes.ty -> { argTyList : AnnotatedTypes.ty list, bodyTy : AnnotatedTypes.ty, annotation : AnnotatedTypes.functionAnnotation ref, funStatus : AnnotatedTypes.funStatus } (* val expandRecordTy : AnnotatedTypes.ty -> { fieldTypes : AnnotatedTypes.ty SEnv.map, annotation : AnnotatedTypes.recordAnnotation ref } val substitute : AnnotatedTypes.ty BoundTypeVarID.Map.map -> AnnotatedTypes.ty -> AnnotatedTypes.ty val makeSubst : AnnotatedTypes.btvEnv * AnnotatedTypes.ty list -> AnnotatedTypes.ty BoundTypeVarID.Map.map *) val tpappTy : AnnotatedTypes.ty * AnnotatedTypes.ty list -> AnnotatedTypes.ty val cardinality : AnnotatedTypes.ty -> int val convertNumericalLabel : int -> string val convertLabel : string -> string (* (* val newVar : AnnotatedTypes.ty -> AnnotatedTypes.varInfo *) val isGlobal : AnnotatedTypes.varInfo -> bool val listCompare : ('a * 'a -> order) -> ('a list * 'a list) -> order val wordPairCompare : ((Word32.word * Word32.word) * (Word32.word * Word32.word)) -> order val freshAnnotationLabel : unit -> AnnotatedTypes.annotationLabel val freshRecordAnnotation : unit -> AnnotatedTypes.recordAnnotation *) val freshFunctionAnnotation : unit -> AnnotatedTypes.functionAnnotation ref (* val coerceClosure : AnnotatedTypes.ty -> unit val globalFunStatus : unit -> AnnotatedTypes.funStatus *) val newClosureFunStatus : unit -> AnnotatedTypes.funStatus (* val newLocalFunStatus : AnnotatedTypes.funStatus -> AnnotatedTypes.funStatus val substituteBtvEnv : AnnotatedTypes.ty BoundTypeVarID.Map.map -> AnnotatedTypes.btvEnv -> AnnotatedTypes.btvEnv *) val makeClosureFunTy : AnnotatedTypes.ty list * AnnotatedTypes.ty -> AnnotatedTypes.ty (* val makeLocalFunTy : AnnotatedTypes.ty list * AnnotatedTypes.ty -> AnnotatedTypes.ty *) val isLocalFunTy : AnnotatedTypes.ty -> bool (* (* val generateExtraList : {tagTyCon : int -> 'a, sizeTyCon : int -> 'a, indexTyCon : (int * string) -> 'a} -> AnnotatedTypes.btvEnv -> 'a list *) *) end smlsharp-1.2.0/src/compiler/annotatedtypes/main/AnnotatedTypesUtils.smi0000644 000000000000000000000251212050661606026567 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../builtin2/main/BuiltinTypes.smi" _require "../../types/main/Types.ppg.smi" _require "../../constantterm/main/ConstantTerm.ppg.smi" _require "ANNOTATEDTYPESUTILS.sig" _require "AnnotatedTypes.ppg.smi" structure AnnotatedTypesUtils = struct val constDefaultTy : ConstantTerm.constant -> AnnotatedTypes.ty val expandFunTy : AnnotatedTypes.ty -> {annotation:AnnotatedTypes.functionAnnotation ref, argTyList:AnnotatedTypes.ty list, bodyTy:AnnotatedTypes.ty, funStatus:AnnotatedTypes.funStatus} val tpappTy : AnnotatedTypes.ty * AnnotatedTypes.ty list -> AnnotatedTypes.ty val cardinality : AnnotatedTypes.ty -> int val convertNumericalLabel : int -> string val convertLabel : string -> string val freshFunctionAnnotation : unit -> AnnotatedTypes.functionAnnotation ref val newClosureFunStatus : unit -> AnnotatedTypes.funStatus val makeClosureFunTy : AnnotatedTypes.ty list * AnnotatedTypes.ty -> AnnotatedTypes.ty val isLocalFunTy : AnnotatedTypes.ty -> bool end smlsharp-1.2.0/src/compiler/annotatedtypes/main/AnnotatedTypesUtils.sml0000644 000000000000000000002271212050661606026576 0ustar00rootroot0000000 0000000 (** * AnnotatedCalc utilities * @copyright (c) 2006, Tohoku University. * @author Huu-Duc Nguyen * @version $$ *) structure AnnotatedTypesUtils : ANNOTATEDTYPESUTILS = struct structure T = Types structure AT = AnnotatedTypes structure CT = ConstantTerm structure BT = BuiltinTypes (* (* Types utilities*) fun flatTyList (AT.MVALty tyList) = tyList | flatTyList ty = [ty] *) fun constDefaultTy const = case const of CT.INT _ => AT.intty | CT.LARGEINT _ => AT.largeIntty | CT.WORD _ => AT.wordty | CT.BYTE _ => AT.bytety | CT.REAL _ => AT.realty | CT.FLOAT _ => AT.floatty | CT.STRING _ => AT.stringty | CT.CHAR _ => AT.charty | CT.UNIT => AT.unitty | CT.NULLPOINTER => AT.CONty {tyCon = BT.ptrTyCon, args = [AT.unitty]} | CT.NULLBOXED => AT.CONty {tyCon = BT.boxedTyCon, args = []} (* fun fieldTypes (AT.RECORDty{fieldTypes,...}) = fieldTypes | fieldTypes _ = raise Control.Bug "record type is expected" fun recordFieldTy (AT.RECORDty{fieldTypes,...}, label) = ( case SEnv.find(fieldTypes, label) of SOME ty => ty | _ => raise Control.Bug "label not found" ) | recordFieldTy _ = raise Control.Bug "record type is expected" fun arrayElementTy (AT.RAWty{args=[ty],...}) = ty | arrayElementTy _ = raise Control.Bug "array type is expected" fun argTyList (AT.FUNMty {argTyList,...}) = argTyList | argTyList _ = raise Control.Bug "function type is expected" *) fun expandFunTy (AT.FUNMty arg) = arg | expandFunTy ty = raise Control.Bug "function type is expected" before print (Control.prettyPrint (AT.format_ty ty)) (* fun expandRecordTy (AT.RECORDty arg) = arg | expandRecordTy _ = raise Control.Bug "record type is expected" *) fun substitute subst ty = case ty of AT.SINGLETONty sty => AT.SINGLETONty (substituteSingletonTy subst sty) | AT.BOUNDVARty tid => (case BoundTypeVarID.Map.find(subst,tid) of SOME ty => ty | NONE => ty ) | AT.FUNMty {argTyList, bodyTy, annotation, funStatus} => AT.FUNMty { argTyList = map (substitute subst) argTyList, bodyTy = substitute subst bodyTy, annotation = annotation, funStatus = funStatus } | AT.MVALty tyList => AT.MVALty (map (substitute subst) tyList) | AT.RECORDty {fieldTypes, annotation} => AT.RECORDty { fieldTypes = LabelEnv.map (substitute subst) fieldTypes, annotation = annotation } | AT.CONty {tyCon, args} => AT.CONty {tyCon = tyCon, args = map (substitute subst) args} | AT.POLYty {boundtvars, body} => let val subst = BoundTypeVarID.Map.foldli (fn (tid, _, subst) => if BoundTypeVarID.Map.inDomain (subst, tid) then #1 (BoundTypeVarID.Map.remove (subst, tid)) else subst) subst boundtvars in AT.POLYty { boundtvars = substituteBtvEnv subst boundtvars, body = substitute subst body } end | _ => ty and substituteSingletonTy subst singletonTy = case singletonTy of AT.INSTCODEty {oprimId,path,keyTyList} => AT.INSTCODEty { oprimId = oprimId, path = path, keyTyList = map (substitute subst) keyTyList } | AT.INDEXty (label, ty) => AT.INDEXty (label, substitute subst ty) | AT.TAGty ty => AT.TAGty (substitute subst ty) | AT.SIZEty ty => AT.SIZEty (substitute subst ty) | AT.RECORDSIZEty ty => AT.RECORDSIZEty (substitute subst ty) | AT.RECORDBITMAPty (index, ty) => AT.RECORDBITMAPty (index, substitute subst ty) and substituteBtvEnv subst btvEnv = BoundTypeVarID.Map.map (substituteBtvKind subst) btvEnv and substituteBtvKind subst {id, tvarKind, eqKind} = { id = id, tvarKind = substituteRecordKind subst tvarKind, eqKind = eqKind } : AT.btvKind and substituteRecordKind subst recordKind = case recordKind of AT.UNIV => AT.UNIV | AT.REC flty => AT.REC (LabelEnv.map (substitute subst) flty) | AT.OPRIMkind instances => AT.OPRIMkind (map (substitute subst) instances) fun makeSubst (btvEnv, tyList) = ListPair.foldr (fn ((i, _), ty, S) => BoundTypeVarID.Map.insert(S, i, ty)) BoundTypeVarID.Map.empty (BoundTypeVarID.Map.listItemsi btvEnv, tyList) fun tpappTy (ty, nil) = ty | tpappTy (AT.POLYty{boundtvars, body, ...}, tyl) = substitute (makeSubst (boundtvars, tyl)) body | tpappTy _ = raise Control.Bug "tpappTy" fun cardinality ty = case ty of AT.MVALty tyList => List.length tyList | _ => 1 (* val numericalLabelLength = 2 bug 175_bigrecord.sml *) val numericalLabelLength = 5 fun convertNumericalLabel i = let fun pad 0 = "" | pad n = "0" ^ (pad (n - 1)) val s = Int.toString i val n = String.size s in if n > numericalLabelLength then raise Control.Bug "record index is too big" else "$" ^ (pad (numericalLabelLength - n)) ^ s end fun convertLabel label = case Int.fromString label of SOME i => convertNumericalLabel i | _ => label (* (* fun newVar ty = let val id = ID.generate() in {id = id, displayName = "$" ^ ID.toString id, ty = ty, kind = Types.INTERNAL} end *) fun isGlobal {displayName, ty, varId = T.INTERNAL _} = false | isGlobal _ = true fun listCompare f (argList1, argList2) = let fun compare ([],[]) = EQUAL | compare (arg1::rest1, arg2::rest2) = ( case f(arg1,arg2) of EQUAL => compare(rest1,rest2) | d => d ) | compare _ = raise Control.Bug "argsCompare" val n1 = List.length argList1 val n2 = List.length argList2 in if n1 < n2 then LESS else if n1 = n2 then compare(argList1, argList2) else GREATER end fun wordPairCompare ((x1,y1),(x2,y2)) = case Word32.compare (x1,x2) of GREATER => GREATER | EQUAL => Word32.compare(y1,y2) | LESS => LESS fun newFunctionId () = FunctionAnnotationID.generate () fun freshAnnotationLabel () = AnnotationLabelID.generate () (* by default, all records are unboxed and not aligned, * these properties will be constrainted by unification *) fun freshRecordAnnotation () = {labels = AT.LE_UNKNOWN, boxed = false, align = false} *) fun freshFunctionAnnotation () = ref {labels = AT.LE_UNKNOWN, boxed = false} (* fun newLocalFunStatus ({functionId, owners, codeStatus}:AT.funStatus) = { functionId = newFunctionId (), owners = case codeStatus of ref AT.CLOSURE => [{ownerId = functionId , ownerCode = codeStatus}] | ref AT.GLOBAL_FUNSTATUS => nil | ref AT.LOCAL => {ownerId = functionId, ownerCode = codeStatus} :: owners, codeStatus = case codeStatus of ref AT.CLOSURE => ref AT.LOCAL | ref AT.LOCAL => ref AT.LOCAL | ref AT.GLOBAL_FUNSTATUS => ref AT.CLOSURE } fun globalFunStatus () = { functionId = newFunctionId (), owners = nil, codeStatus = ref AT.GLOBAL_FUNSTATUS } : AT.funStatus *) fun newClosureFunStatus () = { functionId = FunctionAnnotationID.generate (), owners = nil, codeStatus = ref AT.CLOSURE } : AT.funStatus (* fun coerceClosure ty = case ty of AT.FUNMty {funStatus = {codeStatus, ...}, ...} => codeStatus := AT.CLOSURE | AT.POLYty {body,...} => coerceClosure body | _ => () *) fun makeClosureFunTy (argTyList, bodyTy) = AT.FUNMty {argTyList = argTyList, bodyTy = bodyTy, funStatus = newClosureFunStatus (), annotation = ref {labels = AT.LE_GENERIC, boxed = true}} (* fun makeLocalFunTy (argTyList, bodyTy) = AT.FUNMty {argTyList = argTyList, bodyTy = bodyTy, funStatus = {functionId = newFunctionId (), owners = nil, codeStatus = ref AT.LOCAL}, annotation = ref {labels = AT.LE_GENERIC, boxed = true}} *) fun isLocalFunTy ty = case ty of AT.FUNMty {funStatus = {codeStatus = ref AT.LOCAL,...},...} => true | _ => false (* (* fun generateExtraList {tagTyCon, sizeTyCon, indexTyCon} (btvEnv : AT.btvEnv) = let fun generate {id,recordKind,eqKind,instancesRef,representationRef} = case recordKind of AT.REC flty => map (fn label => indexTyCon (id, label)) (SEnv.listKeys flty) | _ => ( case !representationRef of AT.ATOM_REP => [] | AT.BOXED_REP => [] | AT.DOUBLE_REP => [] | AT.SINGLE_REP => [tagTyCon id] | AT.UNBOXED_REP => [sizeTyCon id] | _ => if !Control.enableUnboxedFloat then [tagTyCon id, sizeTyCon id] else [tagTyCon id] ) in IEnv.foldr (fn (btvKind, L) => (generate btvKind) @ L) [] btvEnv end *) *) end smlsharp-1.2.0/src/compiler/bitmapanormal0000755 000000000000000000000000012050661606020653 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/bitmapanormal/main0000755 000000000000000000000000012050661606021577 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/bitmapanormal/main/BitmapANormal.ppg0000644 000000000000000000005617112050661606025066 0ustar00rootroot0000000 0000000 (* -*- sml -*- *) (** * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro *) structure BitmapANormal = struct type loc = Loc.loc (*% * @formatter(AnnotatedTypes.ty) AnnotatedTypes.formatSimple_ty *) (*% * @prefix formatWithType_ * @formatter(AnnotatedTypes.ty) AnnotatedTypes.format_ty *) type ty = AnnotatedTypes.ty (*% * @formatter(BitmapCalc.varInfo) BitmapCalc.format_varInfo *) (*% * @prefix formatWithType_ * @formatter(BitmapCalc.varInfo) BitmapCalc.formatWithType_varInfo *) type varInfo = BitmapCalc.varInfo (*% * @formatter(BitmapCalc.exVarInfo) BitmapCalc.format_exVarInfo *) (*% * @prefix formatWithType_ * @formatter(BitmapCalc.exVarInfo) BitmapCalc.formatWithType_exVarInfo *) type exVarInfo = BitmapCalc.exVarInfo (*% * @formatter(BitmapCalc.primInfo) BitmapCalc.format_primInfo *) (*% * @prefix formatWithType_ * @formatter(BitmapCalc.primInfo) BitmapCalc.format_primInfo *) type primInfo = BitmapCalc.primInfo local open TermFormat.FormatComb SMLFormat.FormatExpression fun format_polyExp nestExp btvEnv = if BoundTypeVarID.Map.isEmpty btvEnv then nestExp else begin_ text "[" guard_ (SOME {cut=true, strength=0, direction=Neutral}) $(AnnotatedTypes.formatSimple_btvEnv btvEnv) text "." space $nestExp text "]" end_ end_ in (*% * @params(nestExp) * @formatter(AnnotatedTypes.btvEnv) format_polyExp *) (*% * @prefix formatWithType_ * @params(nestExp) * @formatter(AnnotatedTypes.btvEnv) format_polyExp *) type btvEnv = (*% * @format(btvEnv) btvEnv()(nestExp) *) (*% * @prefix formatWithType_ * @format(btvEnv) btvEnv()(nestExp) *) AnnotatedTypes.btvEnv end (* local *) (*% * @formatter(ExnTagID.id) ExnTagID.format_id * @formatter(ConstantTerm.constant) ConstantTerm.format_constant *) (*% * @prefix formatWithType_ * @formatter(ExnTagID.id) ExnTagID.format_id * @formatter(ConstantTerm.constant) ConstantTerm.format_constant *) datatype baconst = (*% * @format(const) const *) (*% * @prefix formatWithType_ * @format(const) const *) BACONSTANT of ConstantTerm.constant | (*% * @format({name, kind, ty}) name ":" ty *) (*% * @prefix formatWithType_ * @format({name, kind, ty}) name ":" ty *) BAGLOBALSYMBOL of { name : string, kind : Absyn.globalSymbolKind, ty : ty } (*% * @formatter(ExnTagID.id) ExnTagID.format_id * @formatter(enclosedList) TermFormat.formatEnclosedList *) (*% * @prefix formatWithType_ * @formatter(ExnTagID.id) ExnTagID.format_id * @formatter(enclosedList) TermFormat.formatEnclosedList *) datatype bavalue = (*% * @format(const) const *) (*% * @prefix formatWithType_ * @format(const) const *) BACONST of baconst | (*% * @format(varInfo) varInfo *) (*% * @prefix formatWithType_ * @format(varInfo) varInfo *) BAVAR of varInfo | (*% * @format({exp, expTy, targetTy}) * "cast" "(" exp ")" *) (*% * @prefix formatWithType_ * @format({exp, expTy, targetTy}) * "cast" "(" !L2{ L2{ exp +1 ":" +d expTy } +1 ":" +d targetTy} ")" *) BACAST of { exp : bavalue, expTy : ty, targetTy : ty } | (*% * @format({exp, expTy, instTyList: ty tys}) * L8{ 2[ exp * +1 tys:enclosedList(ty)("(",",",")") ] } *) (*% * @prefix formatWithType_ * @format({exp, expTy, instTyList: ty tys}) * L8{ 2[ L2{ exp +1 ":" +d expTy } * +1 tys:enclosedList(ty)("(",",",")") ] } *) BATAPP of { exp : bavalue, expTy : ty, instTyList : ty list } (*% * @formatter(AnnotatedTypes.annotationLabel) * AnnotatedTypes.format_annotationLabel * @formatter(bool) SmlppgUtil.formatBinaryChoice * @formatter(appList) TermFormat.formatAppList * @formatter(enclosedList) TermFormat.formatEnclosedList * @formatter(ifCons) TermFormat.formatIfCons *) (*% * @prefix formatWithType_ * @formatter(AnnotatedTypes.annotationLabel) * AnnotatedTypes.format_annotationLabel * @formatter(bool) SmlppgUtil.formatBinaryChoice * @formatter(appList) TermFormat.formatAppList * @formatter(enclosedList) TermFormat.formatEnclosedList * @formatter(ifCons) TermFormat.formatIfCons *) datatype baprim = (*% * @format(value) value *) (*% * @prefix formatWithType_ * @format(value) value *) BAVALUE of bavalue | (*% * @format({exVarInfo, varSize}) L2{ exVarInfo +1 "/i" +d varSize } *) (*% * @prefix formatWithType_ * @format({exVarInfo, varSize}) L2{ exVarInfo +1 "/" +d varSize } *) BAEXVAR of {exVarInfo : exVarInfo, varSize : bavalue} | (*% * @format({primInfo, argExpList: arg args, instTyList: ty tys, * instTagList: tag tags, instSizeList: size sizes}) * L8{ 2[ "_PRIMAPPLY(" primInfo ")" * tys:ifCons()( * +1 L2{ tys:appList(ty)("(",",",")") * +1 "/t" +d tags:appList(tag)("(",",",")") * +1 "/s" +d sizes:appList(size)("(",",",")") } * ) * +1 args:appList(arg)("(",",",")") ] } *) (*% * @prefix formatWithType_ * @format({primInfo, argExpList: arg args, instTyList: ty tys, * instTagList: tag tags, instSizeList: size sizes}) * L8{ 2[ "_PRIMAPPLY(" primInfo ")" * tys:ifCons()( * +1 L2{ tys:appList(ty)("(",",",")") * +1 "/" +d tags:appList(tag)("(",",",")") * +1 "/" +d sizes:appList(size)("(",",",")") } * ) * +1 args:appList(arg)("(",",",")") ] } *) BAPRIMAPPLY of { primInfo : primInfo, argExpList : bavalue list, instTyList : ty list, instTagList : bavalue list, instSizeList : bavalue list } | (*% * @format({fieldList: field fields, * recordTy, annotation, isMutable, clearPad, totalSizeExp, * bitmapExpList: bm bms}) * L2{ fields:enclosedList(field)("{",",","}") * +1 "/t" +d totalSizeExp * +1 "/b" +d bms:appList(bm)("(",",",")") } * @format:field({fieldExp, fieldTy, fieldLabel, fieldSize, fieldIndex}) * !R1{ L2{ "#" fieldLabel +1 "/i" +d fieldIndex +1 "/s" +d fieldSize } * +d "=" +1 fieldExp } *) (*% * @prefix formatWithType_ * @format({fieldList: field fields, * recordTy, annotation, isMutable, clearPad, totalSizeExp, * bitmapExpList: bm bms}) * L2{ L2{ fields:enclosedList(field)("{",",","}") * +1 "/t" +d totalSizeExp * +1 "/" +d bms:appList(bm)("(",",",")") } * +1 ":" +d recordTy } * @format:field({fieldExp, fieldTy, fieldLabel, fieldSize, fieldIndex}) * !R1{ L2{ "#" fieldLabel +1 "/" +d fieldIndex +1 "/" +d fieldSize } * +d "=" +1 L2{ fieldExp +1 ":" +d fieldTy } } *) BARECORD of { fieldList : {fieldExp : bavalue, fieldTy : ty, fieldLabel : string, fieldSize : bavalue, fieldIndex : bavalue} list, recordTy : ty, annotation : AnnotatedTypes.annotationLabel, isMutable : bool, clearPad : bool, totalSizeExp : bavalue, bitmapExpList : bavalue list } | (*% * @format({recordExp, indexExp, label, recordTy, resultTy, resultSize}) * L2{ * L8{ 2[ L2{ "#" label +1 "/i" +d indexExp } * +1 recordExp ] } * +1 "/s" +d resultSize } *) (*% * @prefix formatWithType_ * @format({recordExp, indexExp, label, recordTy, resultTy, resultSize}) * L2{ * L8{ 2[ L2{ "#" label +1 "/" +d indexExp } * +1 L2{ recordExp +1 ":" +d recordTy } ] } * +1 ":" +d resultTy * +1 "/" +d resultSize } *) BASELECT of { recordExp : bavalue, indexExp : bavalue, label : string, recordTy : ty, resultTy : ty, resultSize : bavalue } | (*% * @format({recordExp, recordTy, indexExp, label, valueExp, valueTy, * valueTag, valueSize}) * L8{ 2[ recordExp * +1 "#" +d "{" * !N0{ L2{ "#" label +1 "/i" +d indexExp } +d "=" * 2[ +1 L2{ valueExp * +1 "/t" +d valueTag * +1 "/s" +d valueSize } ] } "}" ] } *) (*% * @prefix formatWithType_ * @format({recordExp, recordTy, indexExp, label, valueExp, valueTy, * valueTag, valueSize}) * L8{ 2[ L2{ recordExp +1 ":" +d recordTy } * +1 "#" +d "{" * !N0{ L2{ "#" label +1 "/" +d indexExp } +d "=" * 2[ +1 L2{ valueExp * +1 ":" +d valueTy * +1 "/" +d valueTag * +1 "/" +d valueSize } ] } "}" ] } *) BAMODIFY of { recordExp : bavalue, recordTy : ty, indexExp : bavalue, label : string, valueExp : bavalue, valueTy : ty, valueTag : bavalue, valueSize : bavalue } (*% * @formatter(AnnotatedTypes.foreignFunTy) AnnotatedTypes.format_foreignFunTy * @formatter(appList) TermFormat.formatAppList *) (*% * @prefix formatWithType_ * @formatter(AnnotatedTypes.foreignFunTy) AnnotatedTypes.format_foreignFunTy * @formatter(appList) TermFormat.formatAppList *) datatype bacall = (*% * @format({funExp, foreignFunTy, argExpList: arg args}) * L8{ 2[ * "_FFIAPPLY" * +1 funExp * +1 args:appList(arg)("(",",",")") * ] } *) (*% * @prefix formatWithType_ * @format({funExp, foreignFunTy, argExpList: arg args}) * L8{ 2[ * "_FFIAPPLY" * +1 L2{ funExp +1 "as" +d foreignFunTy } * +1 args:appList(arg)("(",",",")") * ] } *) BAFOREIGNAPPLY of { funExp : bavalue, foreignFunTy : AnnotatedTypes.foreignFunTy, argExpList : bavalue list } | (*% * @format({funExp, funTy, argExpList: arg args}) * L8{ 2[ * funExp * +1 args:appList(arg)("(",",",")") * ] } *) (*% * @prefix formatWithType_ * @format({funExp, funTy, argExpList: arg args}) * L8{ 2[ * L2{ funExp +1 ":" +d funTy } * +1 args:appList(arg)("(",",",")") * ] } *) BAAPPM of { funExp : bavalue, funTy : ty, argExpList : bavalue list } (*% * @formatter(listWithEnclosureOne) SmlppgUtil.formatListWithEnclosureOne * @formatter(AnnotatedTypes.annotationLabel) * AnnotatedTypes.format_annotationLabel *) (*% * @prefix formatWithType_ * @formatter(listWithEnclosureOne) SmlppgUtil.formatListWithEnclosureOne * @formatter(AnnotatedTypes.annotationLabel) * AnnotatedTypes.format_annotationLabel *) datatype bastatement = (*% * @format({exVarInfo, varSize, varTag, boundExp}) * !R1{ "val" +d exVarInfo +d "=" * 4[ +1 L2{ boundExp +1 "/t" +d varTag +1 "/s" +d varSize } ] } *) (*% * @prefix formatWithType_ * @format({exVarInfo, varSize, varTag, boundExp}) * !R1{ "val" +d exVarInfo +d "=" * 4[ +1 L2{ boundExp +1 "/t" +d varTag +1 "/s" +d varSize } ] } *) BASETEXVAR of { exVarInfo : exVarInfo, varSize : bavalue, varTag : bavalue, boundExp : bavalue } (*% * @formatter(ConstantTerm.constant) ConstantTerm.format_constant * @formatter(AnnotatedTypes.foreignFunTy) AnnotatedTypes.format_foreignFunTy * @formatter(appList) TermFormat.formatAppList * @formatter(caseList) TermFormat.formatCaseList * @formatter(decList) TermFormat.formatDeclList * @formatter(option) SmlppgUtil.formatEnclosedOpt * @formatter(withType) BitmapCalc.formatWithSimpleType_varInfo *) (*% * @prefix formatWithType_ * @formatter(ConstantTerm.constant) ConstantTerm.format_constant * @formatter(AnnotatedTypes.foreignFunTy) AnnotatedTypes.format_foreignFunTy * @formatter(appList) TermFormat.formatAppList * @formatter(caseList) TermFormat.formatCaseList * @formatter(decList) TermFormat.formatDeclList * @formatter(option) SmlppgUtil.formatEnclosedOpt *) datatype baexp = (*% * @format({boundVar, boundExp, nextExp, loc}) * !R1{ "let" +d boundVar:withType +d "=" 4[ +1 boundExp ] } * +1 "in" +d nextExp *) (*% * @prefix formatWithType_ * @format({boundVar, boundExp, nextExp, loc}) * !R1{ "let" +d boundVar +d "=" 4[ +1 boundExp ] } * +1 "in" +d nextExp *) BAVAL of { boundVar : varInfo, boundExp : baprim, nextExp : baexp, loc : loc } | (*% * @format({resultVars: v vs, callExp, nextExp, loc}) * !R1{ "let" +d vs:appList(v:withType)("(",",",")") * +d "=" 4[ +1 callExp ] } * +1 "in" +d nextExp *) (*% * @prefix formatWithType_ * @format({resultVars: v vs, callExp, nextExp, loc}) * !R1{ "let" +d vs:appList(v)("(",",",")") +d "=" 4[ +1 callExp ] } * +1 "in" +d nextExp *) BACALL of { resultVars : varInfo list, callExp : bacall, nextExp : baexp, loc : loc } | (*% * @format({exVarInfo, nextExp, loc}) * !R1{ "extern" +d "val" +d exVarInfo } * +1 "in" +d nextExp *) (*% * @prefix formatWithType_ * @format({exVarInfo, nextExp, loc}) * !R1{ "extern" +d "val" +d exVarInfo } * +1 "in" +d nextExp *) BAEXTERNVAR of { exVarInfo : exVarInfo, nextExp : baexp, loc : loc } | (*% * @format({varInfo, varSize, varTag, nextExp, loc}) * !R1{ "export" +d "val" * 4[ +1 L2{ varInfo +1 "/t" +d varTag +1 "/s" +d varSize } ] } * +1 "in" +d nextExp *) (*% * @prefix formatWithType_ * @format({varInfo, varSize, varTag, nextExp, loc}) * !R1{ "export" +d "val" * 4[ +1 L2{ varInfo +1 "/t" +d varTag +1 "/s" +d varSize } ] } * +1 "in" +d nextExp *) BAEXPORTVAR of { varInfo : varInfo, varSize : bavalue, varTag : bavalue, nextExp : baexp, loc : loc } | (*% * @format({boundVar, btvEnv, function, nextExp}) * !R1{ "let" +d boundVar:withType +d "=" 4[ +1 btvEnv()(function) ] } * +1 "in" +d nextExp *) (*% * @prefix formatWithType_ * @format({boundVar, btvEnv, function, nextExp}) * !R1{ "let" +d boundVar +d "=" 4[ +1 btvEnv()(function) ] } * +1 "in" +d nextExp *) BAFNM of { boundVar : varInfo, btvEnv : btvEnv, function : function, nextExp : baexp } | (*% * @format({boundVar, function, foreignFunTy, nextExp}) * !R1{ "let" +d boundVar:withType +d "=" * 4[ +1 "_CALLBACK" * +1 function ] } * +1 "in" +d nextExp *) (*% * @prefix formatWithType_ * @format({boundVar, function, foreignFunTy, nextExp}) * !R1{ "let" +d boundVar +d "=" * 4[ +1 "_CALLBACK" * +1 L2{ function +1 "as" +d foreignFunTy } ] } * +1 "in" +d nextExp *) BACALLBACKFNM of { boundVar : varInfo, function : function, foreignFunTy : AnnotatedTypes.foreignFunTy, nextExp : baexp } | (*% * @format({recbindList: bind binds, nextExp, loc}) * "let" +d !R1{ binds:decList(bind)("rec" +d, +1 "and" +d) } * +1 "in" +d nextExp * @format:bind({boundVar, function}) * boundVar:withType +d "=" 4[ +1 function ] *) (*% * @prefix formatWithType_ * @format({recbindList: bind binds, nextExp, loc}) * "let" +d !R1{ binds:decList(bind)("rec" +d, +1 "and" +d) } * +1 "in" +d nextExp * @format:bind({boundVar, function}) * boundVar +d "=" 4[ +1 function ] *) BAVALREC of { recbindList : {boundVar : varInfo, function: function } list, nextExp : baexp, loc : loc } | (*% * @format({resultVars: v vs, tryExp, exnVar, handlerExp, nextExp, loc}) * !R1{ "let" +d vs:appList(v)("(",",",")") +d "=" * 4[ +1 "try" * 2[ +1 tryExp ] * +1 "handle" +d { exnVar:withType +1 "=>" } * 2[ +1 handlerExp ] * +1 "end" ] } * +1 "in" +d nextExp *) (*% * @prefix formatWithType_ * @format({resultVars: v vs, tryExp, exnVar, handlerExp, nextExp, loc}) * !R1{ "let" +d vs:appList(v)("(",",",")") +d "=" * 4[ +1 "try" * 2[ +1 tryExp ] * +1 "handle" +d { exnVar +1 "=>" } * 2[ +1 handlerExp ] * +1 "end" ] } * +1 "in" +d nextExp *) BAHANDLE of { resultVars : varInfo list, tryExp : baexp, exnVar : varInfo, handlerExp : baexp, nextExp : baexp, loc : loc } | (*% * @format({resultVars: v vs, switch, nextExp}) * !R1{ "let" +d vs:appList(v:withType)("(",",",")") +d "=" 4[ +1 * switch * ] } * +1 "in" +d nextExp *) (*% * @prefix formatWithType_ * @format({resultVars: v vs, switch, nextExp}) * !R1{ "let" +d vs:appList(v)("(",",",")") +d "=" 4[ +1 switch ] } * +1 "in" +d nextExp *) BASWITCH of { resultVars : varInfo list, switch : switch, nextExp : baexp } | (*% * @format(switch) switch *) (*% * @prefix formatWithType_ * @format(switch) switch *) BATAILSWITCH of switch | (*% * @format({resultVars: v vs, btvEnv, expTyWithoutTAbs, exp, nextExp, * loc}) * !R1{ "let" +d vs:appList(v:withType)("(",",",")") +d "=" 4[ +1 * btvEnv()(!R1{exp}) * ] } * +1 "in" +d nextExp *) (*% * @prefix formatWithType_ * @format({resultVars: v vs, btvEnv, expTyWithoutTAbs, exp, nextExp, * loc}) * !R1{ "let" +d vs:appList(v)("(",",",")") +d "=" 4[ +1 * btvEnv()(L2{ R1{exp} +1 ":" +d expTyWithoutTAbs }) * ] } * +1 "in" +d nextExp *) BAPOLY of { resultVars : varInfo list, btvEnv : btvEnv, expTyWithoutTAbs : ty, exp : baexp, nextExp : baexp, loc : loc } (* | (*% * @format({resultVars: v vs, nestExp, nextExp}) * !R1{ "let" +d vs:appList(v:withType)("(",",",")") * +d "=" 4[ +1 nestExp ] } * +1 "in" +d nextExp *) (*% * @prefix formatWithType_ * @format({resultVars: v vs, nestExp, nextExp}) * !R1{ "let" +d vs:appList(v)("(",",",")") +d "=" 4[ +1 nestExp ] } * +1 "in" +d nextExp *) BANEST of { resultVars : varInfo list, (* any branch in nestExp must be ended with BAMERGE. *) nestExp : baexp, nextExp : baexp } *) | (*% * @format(v vs) * !R1{ "_MERGE" +d vs:appList(v)("(",",",")") } *) (*% * @prefix formatWithType_ * @format(v vs) * !R1{ "_MERGE" +d vs:appList(v)("(",",",")") } *) BAMERGE of varInfo list | (*% * @format({resultVars: v vs, funTy, loc}) * L8{ 2[ "_RETURN" * +2 vs:appList(v)("(",",",")") ] } *) (*% * @prefix formatWithType_ * @format({resultVars: v vs, funTy, loc}) * L2{ L8{ 2[ "_RETURN" * +2 vs:appList(v)("(",",",")") ] } * +1 ":" +d funTy } *) BARETURN of { resultVars : varInfo list, funTy : ty, loc : loc } | (*% * @format({funExp, funTy, argExpList: arg args, loc}) * L8{ "_TAILAPP" * 2[ +1 funExp * +1 args:appList(arg)("(",",",")") ] } *) (*% * @prefix formatWithType_ * @format({funExp, funTy, argExpList: arg args, loc}) * L8{ "_TAILAPP" * 2[ +1 L2{ funExp +d ":" +1 funTy } * +1 args:appList(arg)("(",",",")") ] } *) BATAILAPPM of { funExp : bavalue, funTy : ty, argExpList : bavalue list, loc : loc } | (*% * @format({argExp, loc}) * !R1{ 2[ "raise" +1 argExp ] } *) (*% * @prefix formatWithType_ * @format({argExp, loc}) * !R1{ 2[ "raise" +1 argExp ] } *) BARAISE of { argExp : bavalue, loc : loc } withtype function = (*% * @format({argVarList: arg args, funTy, * bodyExp, annotation, closureLayout, loc}) * !R1{"fn" +d args:appList(arg:withType)("(",",",")") +d "=>" * 3[ +1 bodyExp ] } *) (*% * @prefix formatWithType_ * @format({argVarList: arg args, funTy, * bodyExp, annotation, closureLayout, loc}) * L2{ R1{"fn" +d args:appList(arg)("(",",",")") +d "=>" * 3[ +1 bodyExp ] } * +1 ":" +d funTy } *) { argVarList : varInfo list, funTy : ty, bodyExp : baexp, annotation : AnnotatedTypes.annotationLabel, closureLayout : BitmapCalc.closureLayout, loc : loc } and switch = (*% * @format({switchExp, expTy, branches: branch branches, defaultExp, loc}) * !R1{ * { 2[ "case" +1 switchExp +1 "of" ] } * branches:caseList(branch)(2[+1], +1 "|" +d, * !R1{ 2[ "_" +d "=>" +1 defaultExp ] }) * } * @format:branch({constant, branchExp}) * !R1{ 2[ constant +d "=>" +1 branchExp ] } *) (*% * @prefix formatWithType_ * @format({switchExp, expTy, branches: branch branches, defaultExp, loc}) * !R1{ * { 2[ "case" +1 L2{ switchExp +1 ":" +d expTy } +1 "of" ] } * branches:caseList(branch)(2[+1], +1 "|" +d, * !R1{ 2[ "_" +d "=>" +1 defaultExp ] }) * } * @format:branch({constant, branchExp}) * !R1{ 2[ constant +d "=>" +1 branchExp ] } *) { switchExp : bavalue, expTy : ty, branches : {constant : ConstantTerm.constant, branchExp : baexp} list, defaultExp : baexp, loc : loc } end smlsharp-1.2.0/src/compiler/bitmapanormal/main/BitmapANormal.ppg.smi0000644 000000000000000000002242112050661606025644 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../annotatedtypes/main/AnnotatedTypes.ppg.smi" _require "../../bitmapcalc/main/BitmapCalc.ppg.smi" _require "../../builtin2/main/BuiltinPrimitive.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../constantterm/main/ConstantTerm.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../util/main/TermFormat.smi" structure BitmapANormal = struct type loc = Loc.loc type ty = AnnotatedTypes.ty val format_ty : AnnotatedTypes.ty -> SMLFormat.FormatExpression.expression list val formatWithType_ty : AnnotatedTypes.ty -> SMLFormat.FormatExpression.expression list type varInfo = BitmapCalc.varInfo val format_varInfo : {id:VarID.id, path:string list, ty:AnnotatedTypes.ty} -> SMLFormat.FormatExpression.expression list val formatWithType_varInfo : {id:VarID.id, path:string list, ty:AnnotatedTypes.ty} -> SMLFormat.FormatExpression.expression list type exVarInfo = BitmapCalc.exVarInfo val format_exVarInfo : {path:string list, ty:AnnotatedTypes.ty} -> SMLFormat.FormatExpression.expression list val formatWithType_exVarInfo : {path:string list, ty:AnnotatedTypes.ty} -> SMLFormat.FormatExpression.expression list type primInfo = BitmapCalc.primInfo val format_primInfo : {primitive:BuiltinPrimitive.primitive, ty:AnnotatedTypes.ty} -> SMLFormat.FormatExpression.expression list val formatWithType_primInfo : {primitive:BuiltinPrimitive.primitive, ty:AnnotatedTypes.ty} -> SMLFormat.FormatExpression.expression list type btvEnv = AnnotatedTypes.btvEnv val format_btvEnv : SMLFormat.FormatExpression.expression list -> AnnotatedTypes.btvKind BoundTypeVarID.Map.map -> SMLFormat.FormatExpression.expression list val formatWithType_btvEnv : SMLFormat.FormatExpression.expression list -> AnnotatedTypes.btvKind BoundTypeVarID.Map.map -> SMLFormat.FormatExpression.expression list datatype baconst = BACONSTANT of ConstantTerm.constant | BAGLOBALSYMBOL of {kind:Absyn.globalSymbolKind, name:string, ty:ty} val format_baconst : baconst -> SMLFormat.FormatExpression.expression list val formatWithType_baconst : baconst -> SMLFormat.FormatExpression.expression list datatype bavalue = BACAST of {exp:bavalue, expTy:ty, targetTy:ty} | BACONST of baconst | BATAPP of {exp:bavalue, expTy:ty, instTyList:ty list} | BAVAR of varInfo val format_bavalue : bavalue -> SMLFormat.FormatExpression.expression list val formatWithType_bavalue : bavalue -> SMLFormat.FormatExpression.expression list datatype baprim = BAEXVAR of {exVarInfo:exVarInfo, varSize:bavalue} | BAMODIFY of {indexExp:bavalue, label:string, recordExp:bavalue, recordTy:ty, valueExp:bavalue, valueSize:bavalue, valueTag:bavalue, valueTy:ty} | BAPRIMAPPLY of {argExpList:bavalue list, instSizeList:bavalue list, instTagList:bavalue list, instTyList:ty list, primInfo:primInfo} | BARECORD of {annotation:AnnotatedTypes.annotationLabel, bitmapExpList:bavalue list, fieldList:{fieldExp:bavalue, fieldIndex:bavalue, fieldLabel:string, fieldSize:bavalue, fieldTy:ty} list, isMutable:bool, clearPad:bool, recordTy:ty, totalSizeExp:bavalue} | BASELECT of {indexExp:bavalue, label:string, recordExp:bavalue, recordTy:ty, resultSize:bavalue, resultTy:ty} | BAVALUE of bavalue val format_baprim : baprim -> SMLFormat.FormatExpression.expression list val formatWithType_baprim : baprim -> SMLFormat.FormatExpression.expression list datatype bacall = BAAPPM of {argExpList:bavalue list, funExp:bavalue, funTy:ty} | BAFOREIGNAPPLY of {argExpList:bavalue list, foreignFunTy:AnnotatedTypes.foreignFunTy, funExp:bavalue} val format_bacall : bacall -> SMLFormat.FormatExpression.expression list val formatWithType_bacall : bacall -> SMLFormat.FormatExpression.expression list datatype bastatement = BASETEXVAR of {boundExp:bavalue, exVarInfo:exVarInfo, varSize:bavalue, varTag:bavalue} val format_bastatement : bastatement -> SMLFormat.FormatExpression.expression list val formatWithType_bastatement : bastatement -> SMLFormat.FormatExpression.expression list datatype baexp = BACALL of {callExp:bacall, loc:loc, nextExp:baexp, resultVars:varInfo list} | BACALLBACKFNM of {boundVar:varInfo, foreignFunTy:AnnotatedTypes.foreignFunTy, function:{annotation:AnnotatedTypes.annotationLabel, argVarList:varInfo list, bodyExp:baexp, closureLayout:BitmapCalc.closureLayout, funTy:ty, loc:loc}, nextExp:baexp} | BAEXPORTVAR of {loc:loc, nextExp:baexp, varInfo:varInfo, varSize:bavalue, varTag:bavalue} | BAEXTERNVAR of {exVarInfo:exVarInfo, loc:loc, nextExp:baexp} | BAFNM of {boundVar:varInfo, btvEnv:btvEnv, function:{annotation:AnnotatedTypes.annotationLabel, argVarList:varInfo list, bodyExp:baexp, closureLayout:BitmapCalc.closureLayout, funTy:ty, loc:loc}, nextExp:baexp} | BAHANDLE of {exnVar:varInfo, handlerExp:baexp, loc:loc, nextExp:baexp, resultVars:varInfo list, tryExp:baexp} | BAMERGE of varInfo list | BAPOLY of {btvEnv:btvEnv, exp:baexp, expTyWithoutTAbs:ty, loc:loc, nextExp:baexp, resultVars:varInfo list} | BARAISE of {argExp:bavalue, loc:loc} | BARETURN of {funTy:ty, loc:loc, resultVars:varInfo list} | BASWITCH of {nextExp:baexp, resultVars:varInfo list, switch:{branches:{branchExp:baexp, constant:ConstantTerm.constant} list, defaultExp:baexp, expTy:ty, loc:loc, switchExp:bavalue}} | BATAILAPPM of {argExpList:bavalue list, funExp:bavalue, funTy:ty, loc:loc} | BATAILSWITCH of {branches:{branchExp:baexp, constant:ConstantTerm.constant} list, defaultExp:baexp, expTy:ty, loc:loc, switchExp:bavalue} | BAVAL of {boundExp:baprim, boundVar:varInfo, loc:loc, nextExp:baexp} | BAVALREC of {loc:loc, nextExp:baexp, recbindList:{boundVar:varInfo, function:{annotation:AnnotatedTypes.annotationLabel, argVarList:varInfo list, bodyExp:baexp, closureLayout:BitmapCalc.closureLayout, funTy:ty, loc:loc} } list } type function = {annotation:AnnotatedTypes.annotationLabel, argVarList:varInfo list, bodyExp:baexp, closureLayout:BitmapCalc.closureLayout, funTy:ty, loc:loc} type switch = {branches:{branchExp:baexp, constant:ConstantTerm.constant} list, defaultExp:baexp, expTy:ty, loc:loc, switchExp:bavalue} val format_baexp : baexp -> SMLFormat.FormatExpression.expression list val format_function : function -> SMLFormat.FormatExpression.expression list val format_switch : switch -> SMLFormat.FormatExpression.expression list val formatWithType_baexp : baexp -> SMLFormat.FormatExpression.expression list val formatWithType_function : function -> SMLFormat.FormatExpression.expression list val formatWithType_switch : switch -> SMLFormat.FormatExpression.expression list end smlsharp-1.2.0/src/compiler/bitmapanormal/main/TypeCheckBitmapANormal.smi0000644 000000000000000000000140112050661606026652 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/PathEnv.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../annotatedtypes/main/AnnotatedTypes.ppg.smi" _require "../../annotatedtypes/main/AnnotatedTypesUtils.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../constantterm/main/ConstantTerm.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../runtimetypes/main/TypeLayout.smi" _require "../../builtin2/main/BuiltinTypes.smi" _require "BitmapANormal.ppg.smi" structure TypeCheckBitmapANormal = struct val typecheck : BitmapANormal.baexp -> unit end smlsharp-1.2.0/src/compiler/bitmapanormal/main/TypeCheckBitmapANormal.sml0000644 000000000000000000010231212050661606026660 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro *) structure TypeCheckBitmapANormal : sig val typecheck : BitmapANormal.baexp -> unit end = struct structure T = AnnotatedTypes structure A = BitmapANormal structure BT = BuiltinTypes val dummyAnnotation = ref {labels = T.LE_LABELS AnnotationLabelID.Set.empty, boxed = true, align = true} : T.recordAnnotation ref fun error (loc, msg) = TextIO.output (TextIO.stdErr, Control.prettyPrint (Loc.format_loc loc) ^ ": " ^ msg ^ "\n") fun flattenTy ty = case ty of T.MVALty tys => flattenTyList tys | _ => [ty] and flattenTyList tys = List.concat (map flattenTy tys) fun PolyTy (btvEnv, ty) = if BoundTypeVarID.Map.isEmpty btvEnv then ty else T.POLYty {boundtvars = btvEnv, body = ty} datatype expTy = RETURN of T.ty list | MERGE of T.ty list | RAISE fun expTyToString expTy = case expTy of RETURN tys => "RETURN " ^ Control.prettyPrint (T.format_ty (T.MVALty tys)) | MERGE tys => "MERGE " ^ Control.prettyPrint (T.format_ty (T.MVALty tys)) | RAISE => "RAISE" fun recordFieldTys (btvEnv:T.btvEnv, ty) = case ty of T.SINGLETONty _ => NONE | T.ERRORty => NONE | T.DUMMYty _ => NONE | T.FUNMty _ => NONE | T.MVALty _ => NONE | T.RECORDty {fieldTypes,...} => SOME fieldTypes | T.CONty _ => NONE | T.POLYty _ => NONE | T.BOUNDVARty id => case BoundTypeVarID.Map.find (btvEnv, id) of NONE => NONE | SOME {tvarKind, ...} => case tvarKind of T.UNIV => NONE | T.OPRIMkind _ => NONE | T.REC fields => SOME fields fun selectFieldTy (msg, loc) env (recordTy, label) = case recordFieldTys (env, recordTy) of NONE => (error (loc, msg ^ ": is not a record type: " ^ Control.prettyPrint (T.format_ty recordTy)); T.ERRORty) | SOME map => case LabelEnv.find (map, label) of NONE => (error (loc, msg ^ ": label `" ^ label ^ "'not found in recordTy: " ^ Control.prettyPrint (T.format_ty recordTy)); T.ERRORty) | SOME ty => ty fun checkTy (arg as (msg, loc)) (env:T.btvEnv) ty = case ty of T.SINGLETONty sty => checkSingletonTy arg env sty | T.ERRORty => error (loc, msg ^ ": ERRORty found") | T.DUMMYty id => () | T.BOUNDVARty id => if BoundTypeVarID.Map.inDomain (env, id) then () else error (loc, msg ^ ": unbound BOUNDVARty " ^ Control.prettyPrint (T.format_ty ty)) | T.FUNMty {argTyList, bodyTy, annotation, funStatus} => (app (checkTy arg env) argTyList; checkTy arg env bodyTy) | T.MVALty tys => app (checkTy arg env) tys | T.RECORDty {fieldTypes, annotation} => app (checkTy arg env) (LabelEnv.listItems fieldTypes) | T.CONty {tyCon, args} => app (checkTy arg env) args | T.POLYty {boundtvars, body} => let val env = BoundTypeVarID.Map.unionWith #2 (env, boundtvars) val _ = app (checkBtvKind arg env) (BoundTypeVarID.Map.listItemsi boundtvars) in checkTy arg env body end and checkSingletonTy (arg as (msg, loc)) env sty = case sty of T.INSTCODEty {oprimId, path, keyTyList} => app (checkTy arg env) keyTyList | T.INDEXty (label, ty) => (* ty must have "label" field *) checkTy arg env ty | T.TAGty ty => checkTy arg env ty | T.SIZEty ty => checkTy arg env ty | T.RECORDSIZEty ty => (if isSome (recordFieldTys (env, ty)) then () else error (loc, msg ^ ": expected record type: " ^ Control.prettyPrint (T.format_singletonTy sty)); checkTy arg env ty) | T.RECORDBITMAPty (i, ty) => (if isSome (recordFieldTys (env, ty)) then () else error (loc, msg ^ ": expected record type: " ^ Control.prettyPrint (T.format_singletonTy sty)); checkTy arg env ty) and checkTvarKind arg env kind = case kind of T.UNIV => () | T.OPRIMkind instances => app (checkTy arg env) instances | T.REC fields => app (checkTy arg env) (LabelEnv.listItems fields) and checkBtvKind (arg as (msg, loc)) env (btvId, {id, tvarKind, eqKind}:T.btvKind) = ( if btvId = id then () else error (loc, msg ^ ": bound type id mismatch\n" ^ "\tid: " ^ BoundTypeVarID.toString btvId ^ "\n\tbtvKind: " ^ BoundTypeVarID.toString id); checkTvarKind arg env tvarKind ) local exception Unify fun unifyError' tyToString (msg, loc) (ty1, ty2) = error (loc, msg ^ ": type unification failed" ^ "\n\tty1: " ^ tyToString ty1 ^ "\n\tty2: " ^ tyToString ty2) fun unifyError arg pair = unifyError' (fn ty => Control.prettyPrint (T.format_ty ty)) arg pair fun unifyExpTyError arg pair = unifyError' expTyToString arg pair datatype tvState = SUBSTITUTED of unit ref | TVAR of T.btvKind type btvSubst = tvState ref BoundTypeVarID.Map.map * tvState ref BoundTypeVarID.Map.map val emptyBtvSubst = (BoundTypeVarID.Map.empty, BoundTypeVarID.Map.empty) : btvSubst fun extendBtvSubst ((subst11, subst12), (subst21, subst22)) = (BoundTypeVarID.Map.unionWith #1 (subst11, subst21), BoundTypeVarID.Map.unionWith #2 (subst12, subst22)) : btvSubst fun allSubstituted subst = BoundTypeVarID.Map.foldl (fn (ref (SUBSTITUTED _), z) => z | (ref (TVAR _), z) => false) true subst in fun unifyTy (btv:btvSubst) (ty1, ty2) = case (ty1, ty2) of (T.SINGLETONty sty1, T.SINGLETONty sty2) => unifySingletonTy btv (sty1, sty2) | (T.ERRORty, T.ERRORty) => () | (T.DUMMYty id1, T.DUMMYty id2) => if id1 = id2 then () else raise Unify | (T.BOUNDVARty id1, T.BOUNDVARty id2) => ( case (BoundTypeVarID.Map.find (#1 btv, id1), BoundTypeVarID.Map.find (#2 btv, id2)) of (SOME (ref (SUBSTITUTED id1)), SOME (ref (SUBSTITUTED id2))) => if id1 = id2 then () else raise Unify | (SOME (r1 as ref (TVAR kind1)), SOME (r2 as ref (TVAR kind2))) => (unifyBtvKind btv (kind1, kind2); let val id = ref () in r1 := SUBSTITUTED id; r2 := SUBSTITUTED id end) | (NONE, NONE) => if BoundTypeVarID.eq (id1, id2) then () else raise Unify | _ => raise Unify ) | (T.FUNMty {argTyList=argTys1, bodyTy=retTy1, ...}, T.FUNMty {argTyList=argTys2, bodyTy=retTy2, ...}) => (unifyTyList btv (argTys1, argTys2); unifyTy btv (retTy1, retTy2)) | (T.MVALty tys1, T.MVALty tys2) => unifyTyList btv (flattenTyList tys1, flattenTyList tys2) | (T.RECORDty {fieldTypes=fields1, ...}, T.RECORDty {fieldTypes=fields2, ...}) => unifyRecordFields btv (fields1, fields2) | (T.CONty {tyCon=tyCon1, args=args1}, T.CONty {tyCon=tyCon2, args=args2}) => (if TypID.eq (#id tyCon1, #id tyCon2) then () else raise Unify; unifyTyList btv (args1, args2)) | (T.POLYty {boundtvars=btvEnv1, body=body1}, T.POLYty {boundtvars=btvEnv2, body=body2}) => let val btv2 = unifyBtvEnv (btvEnv1, btvEnv2) val _ = unifyTy (extendBtvSubst (btv, btv2)) (body1, body2) in if allSubstituted (#1 btv2) andalso allSubstituted (#2 btv2) then () else raise Unify end | (T.SINGLETONty _, _) => raise Unify | (T.ERRORty, _) => raise Unify | (T.DUMMYty _, _) => raise Unify | (T.BOUNDVARty _, _) => raise Unify | (T.FUNMty _, _) => raise Unify | (T.MVALty _, _) => raise Unify | (T.RECORDty _, _) => raise Unify | (T.CONty _, _) => raise Unify | (T.POLYty _, _) => raise Unify and unifyTyList btv (tys1, tys2) = app (unifyTy btv) (ListPair.zipEq (tys1, tys2) handle ListPair.UnequalLengths => raise Unify) and unifyRecordFields btv (fields1, fields2) = let val (labels1, tys1) = ListPair.unzip (LabelEnv.listItemsi fields1) val (labels2, tys2) = ListPair.unzip (LabelEnv.listItemsi fields2) val pairs = ListPair.zipEq (labels1, labels2) handle ListPair.UnequalLengths => raise Unify val _ = app (fn (l1, l2) => if l1 = l2 then () else raise Unify) pairs in unifyTyList btv (tys1, tys2) end and unifySingletonTy btv (sty1, sty2) = case (sty1, sty2) of (T.INSTCODEty {oprimId=id1,...}, T.INSTCODEty {oprimId=id2,...}) => if OPrimID.eq (id1, id2) then () else raise Unify | (T.INDEXty (label1, ty1), T.INDEXty (label2, ty2)) => (if label1 = label2 then () else raise Unify; unifyTy btv (ty1, ty2)) | (T.TAGty ty1, T.TAGty ty2) => unifyTy btv (ty1, ty2) | (T.SIZEty ty1, T.SIZEty ty2) => unifyTy btv (ty1, ty2) | (T.RECORDSIZEty ty1, T.RECORDSIZEty ty2) => unifyTy btv (ty1, ty2) | (T.RECORDBITMAPty (i1, ty1), T.RECORDBITMAPty (i2, ty2)) => (if i1 = i2 then () else raise Unify; unifyTy btv (ty1, ty2)) | (T.INSTCODEty _, _) => raise Unify | (T.INDEXty _, _) => raise Unify | (T.TAGty _, _) => raise Unify | (T.SIZEty _, _) => raise Unify | (T.RECORDSIZEty _, _) => raise Unify | (T.RECORDBITMAPty _, _) => raise Unify and unifyTvarKind btv (kind1, kind2) = case (kind1, kind2) of (T.UNIV, T.UNIV) => () | (T.OPRIMkind inst1, T.OPRIMkind inst2) => unifyTyList btv (inst1, inst2) | (T.REC fields1, T.REC fields2) => unifyRecordFields btv (fields1, fields2) | (T.UNIV, _) => raise Unify | (T.OPRIMkind _, _) => raise Unify | (T.REC _, _) => raise Unify and unifyBtvEnv (btvEnv1, btvEnv2) = let val btvs1 = BoundTypeVarID.Map.listItemsi btvEnv1 val btvs2 = BoundTypeVarID.Map.listItemsi btvEnv2 val pairs = ListPair.zipEq (btvs1, btvs2) handle UnequalLengths => raise Unify in foldl (fn (((id1, kind1), (id2, kind2)), (subst1, subst2)) => (BoundTypeVarID.Map.insert (subst1, id1, ref (TVAR kind1)), BoundTypeVarID.Map.insert (subst2, id2, ref (TVAR kind2)))) emptyBtvSubst pairs end and unifyBtvKind btv ({id=_, tvarKind=kind1, eqKind=eq1}:T.btvKind, {id=_, tvarKind=kind2, eqKind=eq2}:T.btvKind) = (* ignore id *) (unifyTvarKind btv (kind1, kind2); unifyEqKind (eq1, eq2)) and unifyEqKind (eqKind1, eqKind2) = case (eqKind1, eqKind2) of (Absyn.EQ, Absyn.EQ) => () | (Absyn.EQ, Absyn.NONEQ) => raise Unify | (Absyn.NONEQ, Absyn.NONEQ) => () | (Absyn.NONEQ, Absyn.EQ) => raise Unify fun unify arg (ty1, ty2) = unifyTy emptyBtvSubst (ty1, ty2) handle Unify => unifyError arg (ty1, ty2) fun unifyMVAL arg (tys1, tys2) = unifyTyList emptyBtvSubst (tys1, tys2) handle Unify => unifyError arg (T.MVALty tys1, T.MVALty tys2) fun unifyExpTy (arg as (msg, loc)) (ty1, ty2) = case (ty1, ty2) of (RETURN tys1, RETURN tys2) => (unifyTyList emptyBtvSubst (tys1, tys2) handle Unify => unifyExpTyError arg (ty1, ty2)) | (RETURN _, MERGE _) => unifyExpTyError arg (ty1, ty2) | (RETURN _, RAISE) => () | (MERGE tys1, MERGE tys2) => (unifyTyList emptyBtvSubst (tys1, tys2) handle Unify => unifyExpTyError arg (ty1, ty2)) | (MERGE _, RETURN _) => unifyExpTyError arg (ty1, ty2) | (MERGE _, RAISE) => () | (RAISE, RETURN _) => () | (RAISE, MERGE _) => () | (RAISE, RAISE) => () end (* local *) type env = { funTy: T.ty, varEnv: A.varInfo VarID.Map.map, exVarEnv: A.exVarInfo PathEnv.map, btvEnv: T.btvEnv } fun emptyEnv () = {funTy = AnnotatedTypesUtils.makeClosureFunTy (nil, T.MVALty nil), varEnv = VarID.Map.empty, exVarEnv = PathEnv.empty, btvEnv = BoundTypeVarID.Map.empty} : env fun setFunTy (env:env, funTy) = {funTy = funTy, varEnv = #varEnv env, exVarEnv = #exVarEnv env, btvEnv = #btvEnv env} : env fun bindVar (env:env, var as {id, ...}) = {funTy = #funTy env, varEnv = VarID.Map.insert (#varEnv env, id, var), exVarEnv = #exVarEnv env, btvEnv = #btvEnv env} : env fun bindVars (env, vars) = foldl (fn (v,z) => bindVar (z,v)) env vars fun bindExternVar (env:env, exVarInfo as {path,...}) = {funTy = #funTy env, varEnv = #varEnv env, exVarEnv = PathEnv.insert (#exVarEnv env, path, exVarInfo), btvEnv = #btvEnv env} : env fun bindTyvars (env:env, btvEnv) = {funTy = #funTy env, varEnv = #varEnv env, exVarEnv = #exVarEnv env, btvEnv = BoundTypeVarID.Map.unionWith #2 (#btvEnv env, btvEnv)} : env fun typecheckTy (msg, loc) (env:env) ty = checkTy (msg, loc) (#btvEnv env) ty fun typecheckFunTy (msg, loc) (env:env) ty = ( typecheckTy (msg, loc) env ty; case ty of T.FUNMty {argTyList, bodyTy, ...} => (flattenTyList argTyList, flattenTy bodyTy) | _ => (error (loc, msg ^ ": not a function type: " ^ Control.prettyPrint (T.format_ty ty)); ([T.ERRORty], [T.ERRORty])) ) fun typecheckForeignFunTy (msg, loc) env ({argTyList, resultTy, attributes}:T.foreignFunTy) = ( app (typecheckTy (msg ^ ": argTyList", loc) env) argTyList; typecheckTy (msg ^ ": resultTy", loc) env resultTy; (flattenTyList argTyList, flattenTy resultTy) ) fun typecheckVar (msg, loc) (env:env) (var as {path, ty, id}:A.varInfo) = ( typecheckTy (msg, loc) env ty; case VarID.Map.find (#varEnv env, id) of NONE => (error (loc, msg ^ ": unbound variable " ^ Control.prettyPrint (A.format_varInfo var)); T.ERRORty) | SOME (var2 as {path=path2, ty=ty2, id=id2}) => (if PathEnv.Key.compare (path, path2) = EQUAL then () else error (loc, msg ^ ": variable path mismatch:\n\tvar: " ^ Control.prettyPrint (A.format_varInfo var) ^ "\n\tenv: " ^ Control.prettyPrint (A.format_varInfo var2)); unify (msg, loc) (ty, ty2); ty) ) fun typecheckExVar (msg, loc) (env:env) (var as {path, ty}:A.exVarInfo) = ( typecheckTy (msg, loc) env ty; case PathEnv.find (#exVarEnv env, path) of NONE => (error (loc, msg ^ ": unbound external variable " ^ Control.prettyPrint (A.format_exVarInfo var)); T.ERRORty) | SOME {path, ty=ty2} => (unify (msg, loc) (ty, ty2); ty) ) fun typecheckConstTerm const = case const of ConstantTerm.INT _ => T.intty | ConstantTerm.LARGEINT _ => T.largeIntty | ConstantTerm.WORD _ => T.wordty | ConstantTerm.BYTE _ => T.bytety | ConstantTerm.STRING _ => T.stringty | ConstantTerm.REAL _ => T.realty | ConstantTerm.FLOAT _ => T.floatty | ConstantTerm.CHAR _ => T.charty | ConstantTerm.UNIT => T.unitty | ConstantTerm.NULLPOINTER => T.CONty {tyCon = BT.ptrTyCon, args = [T.unitty]} | ConstantTerm.NULLBOXED => T.CONty {tyCon = BT.boxedTyCon, args = []} fun typecheckConst loc env baconst = case baconst of A.BAGLOBALSYMBOL {name, kind, ty} => (typecheckTy ("BAGLOBALSYMBOL", loc) env ty; ty) | A.BACONSTANT const => typecheckConstTerm const fun typecheckValue loc env bavalue = case bavalue of A.BACONST const => typecheckConst loc env const | A.BAVAR var => typecheckVar ("BAVAR", loc) env var | A.BACAST {exp, expTy, targetTy} => let val ty = typecheckValue loc env exp val _ = typecheckTy ("BACAST: expTy", loc) env expTy val _ = typecheckTy ("BACAST: targetTy", loc) env targetTy val _ = unify ("BACAST", loc) (ty, expTy) val rty1 = case TypeLayout.runtimeTy (#btvEnv env) expTy of NONE => (error (loc, "BACAST: expTy: runtime type not found: " ^ Control.prettyPrint (T.format_ty expTy)); NONE) | SOME ty => SOME ty val rty2 = case TypeLayout.runtimeTy (#btvEnv env) expTy of NONE => (error (loc, "BACAST: targetTy: runtime type not found: " ^ Control.prettyPrint (T.format_ty expTy)); NONE) | SOME ty => SOME ty val _ = if rty1 = rty2 then () else error (loc, "BACAST: incompatible types" ^ "\n\tty1: " ^ Control.prettyPrint (T.format_ty expTy) ^ "\n\tty2: " ^ Control.prettyPrint (T.format_ty targetTy)) in targetTy end | A.BATAPP {exp, expTy, instTyList} => let val ty = typecheckValue loc env exp val _ = typecheckTy ("BATAPP: expTy", loc) env expTy val _ = app (typecheckTy ("BATAPP: instTy", loc) env) instTyList val _ = unify ("BATAPP", loc) (ty, expTy) in AnnotatedTypesUtils.tpappTy (expTy, instTyList) end fun typecheckPrim loc env baprim = case baprim of A.BAVALUE value => typecheckValue loc env value | A.BAEXVAR {exVarInfo, varSize} => let val varTy = typecheckExVar ("BAEXVAR", loc) env exVarInfo val varSizeTy = typecheckValue loc env varSize val sizeTy = T.SINGLETONty (T.SIZEty (#ty exVarInfo)) val _ = unify ("BAEXVAR", loc) (varSizeTy, sizeTy) in varTy end | A.BAPRIMAPPLY {primInfo, argExpList, instTyList, instTagList, instSizeList} => let val primTy = AnnotatedTypesUtils.tpappTy (#ty primInfo, instTyList) val (argTys, retTys) = typecheckFunTy ("BAPRIMAPPLY", loc) env primTy val argExpTys = map (typecheckValue loc env) argExpList val _ = app (typecheckTy ("BAPRIMAPPLY: instTy", loc) env) instTyList val instTagTys = map (typecheckValue loc env) instTagList val instSizeTys = map (typecheckValue loc env) instSizeList val _ = unifyMVAL ("BAPRIMAPPLY: arg", loc) (argExpTys, argTys) val tagTys = map (fn ty => T.SINGLETONty (T.TAGty ty)) instTyList val sizeTys = map (fn ty => T.SINGLETONty (T.SIZEty ty)) instTyList val _ = unifyMVAL ("BAPRIMAPPLY: tag", loc) (instTagTys, tagTys) val _ = unifyMVAL ("BAPRIMAPPLY: size", loc) (instSizeTys, sizeTys) in case retTys of [ty] => ty | _ => (error (loc, "BAPRIMAPPLY: invalid return type: " ^ Control.prettyPrint (T.format_ty primTy)); T.ERRORty) end | A.BARECORD {fieldList, recordTy, annotation, isMutable, totalSizeExp, bitmapExpList, clearPad} => let val fieldTys = map (fn {fieldExp, fieldTy, fieldLabel, fieldSize, fieldIndex} => let val expTy = typecheckValue loc env fieldExp val _ = typecheckTy ("BARECORD: fieldTy", loc) env fieldTy val sizeExpTy = typecheckValue loc env fieldSize val indexExpTy = typecheckValue loc env fieldIndex val _ = unify ("BARECORD: field", loc) (expTy, fieldTy) val sizeTy = T.SINGLETONty (T.SIZEty fieldTy) val _ = unify ("BARECORD: size", loc) (sizeExpTy, sizeTy) val indexTy = T.SINGLETONty (T.INDEXty (fieldLabel, recordTy)) val _ = unify ("BARECORD: index", loc) (indexExpTy, indexTy) in (fieldLabel, fieldTy) end) fieldList val _ = typecheckTy ("BARECORD: recordTy", loc) env recordTy val totalExpTy = typecheckValue loc env totalSizeExp val bitmapExpTys = map (typecheckValue loc env) bitmapExpList val fieldTys = foldl (fn ((label, ty), z) => (if LabelEnv.inDomain (z, label) then error (loc, "BARECORD: doubled label: " ^ label) else (); LabelEnv.insert (z, label, ty))) LabelEnv.empty fieldTys val actualRecordTy = T.RECORDty {fieldTypes = fieldTys, annotation = dummyAnnotation} val _ = unify ("BARECORD: recordTy", loc) (actualRecordTy, recordTy) val totalTy = T.SINGLETONty (T.RECORDSIZEty recordTy) val _ = unify ("BARECORD: totalSize", loc) (totalExpTy, totalTy) val bitmapTys = List.tabulate (length bitmapExpList, fn i => T.SINGLETONty (T.RECORDBITMAPty (i, recordTy))) val bitmapExpTys = map (typecheckValue loc env) bitmapExpList val _ = unifyMVAL ("BARECORD: bitmap", loc) (bitmapExpTys, bitmapTys) in recordTy end | A.BASELECT {recordExp, indexExp, label, recordTy, resultTy, resultSize} => let val expTy = typecheckValue loc env recordExp val indexExpTy = typecheckValue loc env indexExp val _ = typecheckTy ("BASELECT: recordTy", loc) env recordTy val _ = typecheckTy ("BASELECT: resultTy", loc) env resultTy val resultSizeTy = typecheckValue loc env resultSize val _ = unify ("BASELECT: record", loc) (expTy, recordTy) val fieldTy = selectFieldTy ("BASELECT", loc) (#btvEnv env) (recordTy, label) val _ = unify ("BASELECT: label", loc) (fieldTy, resultTy) val indexTy = T.SINGLETONty (T.INDEXty (label, recordTy)) val _ = unify ("BASELECT: index", loc) (indexExpTy, indexTy) val sizeTy = T.SINGLETONty (T.SIZEty resultTy) val _ = unify ("BASELECT: size", loc) (resultSizeTy, sizeTy) in resultTy end | A.BAMODIFY {recordExp, recordTy, indexExp, label, valueExp, valueTy, valueTag, valueSize} => let val expTy = typecheckValue loc env recordExp val _ = typecheckTy ("BAMODIFY: recordTy", loc) env recordTy val indexExpTy = typecheckValue loc env indexExp val valueExpTy = typecheckValue loc env valueExp val valueTagTy = typecheckValue loc env valueTag val valueSizeTy = typecheckValue loc env valueSize val _ = unify ("BAMODIFY: record", loc) (expTy, recordTy) val _ = unify ("BAMODIFY: value", loc) (valueExpTy, valueTy) val fieldTy = selectFieldTy ("BAMODIFY", loc) (#btvEnv env) (recordTy, label) val _ = unify ("BAMODIFY: label", loc) (fieldTy, valueTy) val indexTy = T.SINGLETONty (T.INDEXty (label, recordTy)) val _ = unify ("BAMODIFY: index", loc) (indexExpTy, indexTy) val tagTy = T.SINGLETONty (T.TAGty valueTy) val _ = unify ("BAMODIFY: tag", loc) (valueTagTy, tagTy) val sizeTy = T.SINGLETONty (T.SIZEty valueTy) val _ = unify ("BAMODIFY: size", loc) (valueSizeTy, sizeTy) in recordTy end fun typecheckCall loc env bacall = case bacall of A.BAFOREIGNAPPLY {funExp, foreignFunTy, argExpList} => let val funExpTy = typecheckValue loc env funExp val (argTys, retTys) = typecheckForeignFunTy ("BAFOREIGNAPPLY", loc) env foreignFunTy val argExpTys = map (typecheckValue loc env) argExpList val _ = unify ("BAFOREIGNAPPLY: funTy", loc) (funExpTy, T.foreignfunty) val _ = unifyMVAL ("BAFOREIGNAPPLY: arg", loc) (argExpTys, argTys) in retTys end | A.BAAPPM {funExp, funTy, argExpList} => let val funExpTy = typecheckValue loc env funExp val (argTys, retTys) = typecheckFunTy ("BAAPPM", loc) env funTy val argExpTys = map (typecheckValue loc env) argExpList val _ = unify ("BAAPPM: funTy", loc) (funExpTy, funTy) val _ = unifyMVAL ("BAAPPM: arg", loc) (argExpTys, argTys) in retTys end fun typecheckFunction env ({argVarList, funTy, bodyExp, annotation, closureLayout, loc}:A.function) = let val argVarTys = map #ty argVarList val _ = app (typecheckTy ("fn arg", loc) env) argVarTys val (argTys, retTys) = typecheckFunTy ("fn", loc) env funTy val _ = unifyMVAL ("fn arguments", loc) (argVarTys, argTys) val env = bindVars (env, argVarList) val env = setFunTy (env, funTy) val bodyTy = typecheckExp env bodyExp val _ = unifyExpTy ("fn body", loc) (bodyTy, RETURN retTys) in funTy end and typecheckSwitch env ({switchExp, expTy, branches, defaultExp, loc} :A.switch) = let val switchTy = typecheckValue loc env switchExp val _ = typecheckTy ("BASWITCH: expTy", loc) env expTy val _ = unify ("BASWITCH: switchExp", loc) (switchTy, expTy) val defaultTy = typecheckExp env defaultExp val _ = app (fn {constant, branchExp} => let val constTy = typecheckConstTerm constant val _ = unify ("BASWITCH: constant", loc) (constTy, expTy) val branchTy = typecheckExp env branchExp in unifyExpTy ("BASWITCH: branchExp", loc) (branchTy, defaultTy) end) branches in defaultTy end and typecheckExp (env:env) baexp = case baexp of A.BAVAL {boundVar, boundExp, nextExp, loc} => let val _ = typecheckTy ("BAVAL", loc) env (#ty boundVar) val expTy = typecheckPrim loc env boundExp val _ = unify ("BAVAL", loc) (expTy, #ty boundVar) val env = bindVar (env, boundVar) in typecheckExp env nextExp end | A.BACALL {resultVars, callExp, nextExp, loc} => let val varTys = map #ty resultVars val _ = app (typecheckTy ("BACALL", loc) env) varTys val expTys = typecheckCall loc env callExp val _ = unifyMVAL ("BACALL", loc) (expTys, varTys) val env = bindVars (env, resultVars) in typecheckExp env nextExp end | A.BAEXTERNVAR {exVarInfo, nextExp, loc} => let val _ = typecheckTy ("BAEXTERNVAR", loc) env (#ty exVarInfo) val env = bindExternVar (env, exVarInfo) in typecheckExp env nextExp end | A.BAEXPORTVAR {varInfo as {id,ty,path}, varSize, varTag, nextExp, loc} => let (* path may be different from bound varInfo. *) val _ = typecheckTy ("BAEXPORTVAR: varInfo", loc) env ty val _ = case VarID.Map.find (#varEnv env, id) of NONE => error (loc, "BAEXPORTVAR: unbound variable " ^ Control.prettyPrint (A.format_varInfo varInfo)) | SOME {path=_, ty=ty2, id=_} => unify ("BAEXPORTVAR", loc) (ty, ty2) val varSizeTy = typecheckValue loc env varSize val varTagTy = typecheckValue loc env varTag val sizeTy = T.SINGLETONty (T.SIZEty ty) val _ = unify ("BAEXPORTVAR: varSize", loc) (varSizeTy, sizeTy) val tagTy = T.SINGLETONty (T.TAGty ty) val _ = unify ("BAEXPORTVAR: varTag", loc) (varTagTy, tagTy) in typecheckExp env nextExp end | A.BAFNM {boundVar, btvEnv, function as {loc,...}, nextExp} => let val _ = typecheckTy ("BAFNM", loc) env (#ty boundVar) val nestEnv = bindTyvars (env, btvEnv) val funTy = typecheckFunction nestEnv function val actualTy = PolyTy (btvEnv, funTy) val _ = unify ("BAFNM", #loc function) (actualTy, #ty boundVar) val env = bindVar (env, boundVar) in typecheckExp env nextExp end | A.BACALLBACKFNM {boundVar, function as {loc,...}, foreignFunTy, nextExp} => let val _ = typecheckTy ("BACALLBACKFNM", loc) env (#ty boundVar) val _ = unify ("BACALLBACKFNM", loc) (#ty boundVar, T.foreignfunty) val funTy = typecheckFunction env function val (argTys1, retTys1) = typecheckFunTy ("BACALLBACKFNM: funTy", loc) env funTy val (argTys2, retTys2) = typecheckForeignFunTy ("BACALLBACKFNM", loc) env foreignFunTy val _ = unifyMVAL ("BACALLBACKFNM: argTys", loc) (argTys1, argTys2) val _ = unifyMVAL ("BACALLBACKFNM: retTys", loc) (retTys1, retTys2) val env = bindVar (env, boundVar) in typecheckExp env nextExp end | A.BAVALREC {recbindList, nextExp, loc} => let val env = bindVars (env, map #boundVar recbindList) val _ = app (fn {boundVar as {ty,...}, function} => let val _ = typecheckTy ("BAVALREC", loc) env ty val funTy = typecheckFunction env function in unify ("BAVALREC", loc) (funTy, ty) end) recbindList in typecheckExp env nextExp end | A.BAHANDLE {resultVars, tryExp, exnVar, handlerExp, nextExp, loc} => let val varTys = map #ty resultVars val _ = app (typecheckTy ("BAHANDLE", loc) env) varTys val tryTy = typecheckExp env tryExp val _ = unifyExpTy ("BAHANDLE: try", loc) (tryTy, MERGE varTys) val _ = typecheckTy ("BAHANDLE: exnVar", loc) env (#ty exnVar) val _ = unify ("BAHANDLE: exnVar", loc) (#ty exnVar, T.exnty) val handlerEnv = bindVar (env, exnVar) val handlerTy = typecheckExp handlerEnv handlerExp val _ = unifyExpTy ("BAHANDLE: handler", loc) (handlerTy, MERGE varTys) val env = bindVars (env, resultVars) in typecheckExp env nextExp end | A.BASWITCH {resultVars, switch as {loc,...}, nextExp} => let val varTys = map #ty resultVars val _ = app (typecheckTy ("BASWITCH", loc) env) varTys val switchTy = typecheckSwitch env switch val _ = unifyExpTy ("BASWITCH: switch", loc) (switchTy, MERGE varTys) val env = bindVars (env, resultVars) in typecheckExp env nextExp end | A.BATAILSWITCH switch => typecheckSwitch env switch | A.BAPOLY {resultVars, btvEnv, expTyWithoutTAbs, exp, nextExp, loc} => let val varTys = map #ty resultVars val _ = app (typecheckTy ("BAPOLY", loc) env) varTys val nestEnv = bindTyvars (env, btvEnv) val expTys = flattenTy expTyWithoutTAbs val expTy = typecheckExp nestEnv exp val _ = unifyExpTy ("BAPOLY", loc) (expTy, MERGE expTys) val polyTys = map (fn ty => PolyTy (btvEnv, ty)) expTys val _ = unifyMVAL ("BAPOLY: vars", loc) (polyTys, varTys) val env = bindVars (env, resultVars) in typecheckExp env nextExp end | A.BAMERGE vars => let val tys = map (typecheckVar ("BAMERGE", Loc.noloc) env) vars in MERGE tys end | A.BARETURN {resultVars, funTy, loc} => let val resultTys = map (typecheckVar ("BARETURN", loc) env) resultVars val (_, retTys) = typecheckFunTy ("BARETURN", loc) env funTy val _ = unify ("BARETURN: funTy", loc) (#funTy env, funTy) val _ = unifyMVAL ("BARETURN", loc) (resultTys, retTys) in RETURN resultTys end | A.BATAILAPPM {funExp, funTy, argExpList, loc} => let val funExpTy = typecheckValue loc env funExp val argExpTys = map (typecheckValue loc env) argExpList val (argTys, retTys) = typecheckFunTy ("BATAILAPPM", loc) env funTy val _ = unify ("BATAILAPPM: funTy", loc) (funExpTy, funTy) val _ = unifyMVAL ("BATAILAPPM", loc) (argTys, argExpTys) in RETURN retTys end | A.BARAISE {argExp, loc} => let val _ = typecheckValue loc env argExp in RAISE end fun typecheck baexp = (typecheckExp (emptyEnv ()) baexp; ()) end smlsharp-1.2.0/src/compiler/bitmapanormalization0000755 000000000000000000000000012050661606022251 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/bitmapanormalization/main0000755 000000000000000000000000012050661606023175 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/bitmapanormalization/main/BitmapANormalization.smi0000644 000000000000000000000123012050661606030046 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../annotatedtypes/main/AnnotatedTypes.ppg.smi" _require "../../annotatedtypes/main/AnnotatedTypesUtils.smi" _require "../../bitmapanormal/main/BitmapANormal.ppg.smi" _require "../../bitmapcalc/main/BitmapCalc.ppg.smi" _require "../../constantterm/main/ConstantTerm.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" structure BitmapANormalization = struct val normalize : BitmapCalc.bcdecl list -> BitmapANormal.baexp end smlsharp-1.2.0/src/compiler/bitmapanormalization/main/BitmapANormalization.sml0000644 000000000000000000007533312050661606030070 0ustar00rootroot0000000 0000000 (** * bitmap calc A-normalization. * * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro *) structure BitmapANormalization : sig val normalize : BitmapCalc.bcdecl list -> BitmapANormal.baexp end = struct structure B = BitmapCalc structure A = BitmapANormal structure T = AnnotatedTypes (* In this file, we use "o" as an commutative operator. * Right-associative version is more efficient than left-associative * one because the former has more chance of tail-call optimization. * ((f o g) o h) x --> (fn y => (fn x => f (g x)) (h y)) * (f o (g o h)) x --> (fn y => f ((fn x => g (h x)) y)) *) infixr 3 o fun newVar ty = let val id = VarID.generate () in {id = id, path = ["$" ^ VarID.toString id], ty = ty} : A.varInfo end fun flattenTy ty = case ty of T.MVALty tys => List.concat (map flattenTy tys) | _ => [ty] fun decomposeFunTy ty = case ty of T.FUNMty {argTyList, bodyTy, ...} => (argTyList, bodyTy) | _ => raise Control.Bug "decomposeFunTy" fun decomposeRecordTy ty = case ty of T.RECORDty {fieldTypes,...} => LabelEnv.listItemsi fieldTypes | _ => raise Control.Bug "decomposeRecordTy" type env = { used: VarID.Set.set, rename: VarID.id VarID.Map.map } val emptyEnv = {used = VarID.Set.empty, rename = VarID.Map.empty} : env fun normalizeBoundVar (env as {used, rename}:env) (var as {id, ty, path}:B.varInfo) = let val newId = if VarID.Set.member (used, id) then VarID.generate () else id val var = {id = newId, ty = ty, path = path} : A.varInfo val newRename = VarID.Map.singleton (id, newId) in (newRename, var) end fun normalizeBoundVarList env nil = (VarID.Map.empty, nil) | normalizeBoundVarList env (var::vars) = let val (rename1, var) = normalizeBoundVar env var val (rename2, vars) = normalizeBoundVarList env vars in (VarID.Map.unionWith #2 (rename1, rename2), var::vars) end fun reserveNames ({used, rename}:env, newRename) = let val used = VarID.Map.foldl (fn (id, used) => VarID.Set.add (used, id)) used newRename in {used = used, rename = rename} : env end fun extendRename (env, newRename) = let val {used, rename} = reserveNames (env, newRename) in {used = used, rename = VarID.Map.unionWith #2 (rename, newRename)} : env end fun normalizeVar ({rename,...}:env) ({id, ty, path}:B.varInfo) = let val id = case VarID.Map.find (rename, id) of SOME id => id | NONE => raise Control.Bug "normalizeVar" in {id = id, ty = ty, path = path} : A.varInfo end val unitValue = A.BACONST (A.BACONSTANT ConstantTerm.UNIT) val DummyValueList = [A.BACONST (A.BACONSTANT (ConstantTerm.STRING "DUMMY"))] val emptyExp = fn exp:A.baexp => exp fun makeLet (nil, nil, loc) = emptyExp | makeLet (var::vars, value::values, loc) = (fn K => A.BAVAL {boundVar = var, boundExp = A.BAVALUE value, nextExp = K, loc = loc}) o makeLet (vars, values, loc) | makeLet _ = raise Control.Bug "makeLet" datatype pos = MIDDLE | TAIL datatype context = BIND of {pos: pos, vars: A.varInfo list} | TEMP of A.ty type cont = (A.baexp -> A.baexp) * A.bavalue list fun bindVars context = case context of BIND {vars,...} => vars | TEMP ty => map newVar (flattenTy ty) fun bindVar context = case bindVars context of [var] => var | _ => raise Control.Bug "bindVar" fun TEMPtoBIND context = case context of BIND bind => bind | TEMP ty => {pos = MIDDLE, vars = bindVars context} fun nestedMultiBind pos (nil, nil) = nil | nestedMultiBind pos (vars, ty::tys) = let val n = length (flattenTy ty) val (h, t) = (List.take (vars, n), List.drop (vars, n)) handle Subscript => raise Control.Bug "nestedMultiBind" in BIND {pos = pos, vars = h} :: nestedMultiBind pos (t, tys) end | nestedMultiBind pos _ = raise Control.Bug "nestedMultiBind" fun returnValues context (values, loc) = case context of BIND {vars,...} => (makeLet (vars, values, loc), map A.BAVAR vars) | TEMP _ => (emptyExp, values) : cont fun Val context (baprim, loc) = let val var = bindVar context in (fn K => A.BAVAL {boundVar = var, boundExp = baprim, nextExp = K, loc = loc}, [A.BAVAR var]) : cont end fun Call context (bacall, loc) = let val vars = bindVars context in (fn K => A.BACALL {resultVars = vars, callExp = bacall, nextExp = K, loc = loc}, map A.BAVAR vars) : cont end fun normalizeList f nil = (emptyExp, nil) | normalizeList f (elem::elems) = let val (top1, elem) = f elem val (top2, elems) = normalizeList f elems in (top1 o top2, elem::elems) end fun normalizeArg env ty bcexp = case normalizeExp env (TEMP ty) bcexp of (ret1, [value]) => (ret1, value) | _ => raise Control.Bug "normalizeArg" and normalizeArgList env tys exps = normalizeList (fn (ty, exp) => normalizeArg env ty exp) (ListPair.zipEq (tys, exps)) and normalizeExp env context bcexp = case bcexp of B.BCFOREIGNAPPLY {funExp, foreignFunTy as {argTyList, ...}, argExpList, loc} => let val (ret1, funExp) = normalizeArg env T.foreignfunty funExp val (ret2, argExpList) = normalizeArgList env argTyList argExpList val (ret3, results) = Call context (A.BAFOREIGNAPPLY {funExp = funExp, foreignFunTy = foreignFunTy, argExpList = argExpList}, loc) in (ret1 o ret2 o ret3, results) end | B.BCCONSTANT {value, loc} => let val value = A.BACONST (A.BACONSTANT value) in returnValues context ([value], loc) end | B.BCGLOBALSYMBOL {name, kind, ty, loc} => let val const = A.BAGLOBALSYMBOL {name = name, kind = kind, ty = ty} in returnValues context ([A.BACONST const], loc) end | B.BCVAR {varInfo, loc} => let val varInfo = normalizeVar env varInfo in returnValues context ([A.BAVAR varInfo], loc) end | B.BCEXVAR {exVarInfo, varSize, loc} => let val varSizeTy = T.SINGLETONty (T.SIZEty (#ty exVarInfo)) val (ret1, varSize) = normalizeArg env varSizeTy varSize val (ret2, results) = Val context (A.BAEXVAR {exVarInfo = exVarInfo, varSize = varSize}, loc) in (ret1 o ret2, results) end (* | B.BCGETFIELD {arrayExp, indexExp, elementTy, elementSize, loc} => let val arrayTy = T.arrayty elementTy val indexTy = T.intty val elementSizeTy = T.SINGLETONty (T.SIZEty elementTy) val (ret1, arrayExp) = normalizeArg env arrayTy arrayExp val (ret2, indexExp) = normalizeArg env indexTy indexExp val (ret3, elementSize) = normalizeArg env elementSizeTy elementSize val (ret4, results) = Val context (A.BAGETFIELD {arrayExp = arrayExp, indexExp = indexExp, elementTy = elementTy, elementSize = elementSize}, loc) in (ret1 o ret2 o ret3 o ret4, results) end | B.BCSETFIELD {valueExp, arrayExp, indexExp, elementTy, elementTag, elementSize, loc} => let val valueTy = elementTy val arrayTy = T.arrayty elementTy val indexTy = T.intty val elementTagTy = T.SINGLETONty (T.TAGty elementTy) val elementSizeTy = T.SINGLETONty (T.SIZEty elementTy) val (ret1, valueExp) = normalizeArg env valueTy valueExp val (ret2, arrayExp) = normalizeArg env arrayTy arrayExp val (ret3, indexExp) = normalizeArg env indexTy indexExp val (ret4, elementTag) = normalizeArg env elementTagTy elementTag val (ret5, elementSize) = normalizeArg env elementSizeTy elementSize val (ret6, results) = Statement context (A.BASETFIELD {valueExp = valueExp, arrayExp = arrayExp, indexExp = indexExp, elementTy = elementTy, elementTag = elementTag, elementSize = elementSize}, loc) in (ret1 o ret2 o ret3 o ret4 o ret5 o ret6, results) end | B.BCSETTAIL {consExp, newTailExp, tailLabel, listTy, consRecordTy, listTag, listSize, tailLabelIndex, loc} => let val consTy = consRecordTy val newTailTy = listTy val listTagTy = T.SINGLETONty (T.TAGty listTy) val listSizeTy = T.SINGLETONty (T.SIZEty listTy) val tailLabelIndexTy = T.SINGLETONty (T.INDEXty (tailLabel, consRecordTy)) val (ret1, consExp) = normalizeArg env consTy consExp val (ret2, newTailExp) = normalizeArg env newTailTy newTailExp val (ret3, listTag) = normalizeArg env listTagTy listTag val (ret4, listSize) = normalizeArg env listTagTy listSize val (ret5, tailLabelIndex) = normalizeArg env tailLabelIndexTy tailLabelIndex val (ret6, results) = Statement context (A.BASETTAIL {consExp = consExp, newTailExp = newTailExp, tailLabel = tailLabel, listTy = listTy, consRecordTy = consRecordTy, listTag = listTag, listSize = listSize, tailLabelIndex = tailLabelIndex}, loc) in (ret1 o ret2 o ret3 o ret4 o ret5 o ret6, results) end | B.BCARRAY {sizeExp, initialValue, elementTy, elementTag, elementSize, isMutable, loc} => let val sizeTy = T.intty val initialValueTy = elementTy val elementTagTy = T.SINGLETONty (T.TAGty elementTy) val elementSizeTy = T.SINGLETONty (T.SIZEty elementTy) val (ret1, sizeExp) = normalizeArg env sizeTy sizeExp val (ret2, initialValue) = normalizeArg env initialValueTy initialValue val (ret3, elementTag) = normalizeArg env elementTagTy elementTag val (ret4, elementSize) = normalizeArg env elementSizeTy elementSize val (ret5, results) = Val context (A.BAARRAY {sizeExp = sizeExp, initialValue = initialValue, elementTy = elementTy, elementTag = elementTag, elementSize = elementSize, isMutable = isMutable}, loc) in (ret1 o ret2 o ret3 o ret4 o ret5, results) end | B.BCCOPYARRAY {srcExp, srcIndexExp, dstExp, dstIndexExp, lengthExp, elementTy, elementTag, elementSize, loc} => let val srcTy = T.arrayty elementTy val srcIndexTy = T.intty val dstTy = srcTy val dstIndexTy = T.intty val lengthTy = T.intty val elementTagTy = T.SINGLETONty (T.TAGty elementTy) val elementSizeTy = T.SINGLETONty (T.SIZEty elementTy) val (ret1, srcExp) = normalizeArg env srcTy srcExp val (ret2, srcIndexExp) = normalizeArg env srcIndexTy srcIndexExp val (ret3, dstExp) = normalizeArg env dstTy dstExp val (ret4, dstIndexExp) = normalizeArg env dstIndexTy dstIndexExp val (ret5, lengthExp) = normalizeArg env lengthTy lengthExp val (ret6, elementTag) = normalizeArg env elementTagTy elementTag val (ret7, elementSize) = normalizeArg env elementSizeTy elementSize val (ret8, results) = Statement context (A.BACOPYARRAY {srcExp = srcExp, srcIndexExp = srcIndexExp, dstExp = dstExp, dstIndexExp = dstIndexExp, lengthExp = lengthExp, elementTy = elementTy, elementTag = elementTag, elementSize = elementSize}, loc) in (ret1 o ret2 o ret3 o ret4 o ret5 o ret6 o ret7 o ret8, results) end *) | B.BCPRIMAPPLY {primInfo, argExpList, instTyList, instTagList, instSizeList, loc} => let val funTy = AnnotatedTypesUtils.tpappTy (#ty primInfo, instTyList) val (argTyList, bodyTy) = decomposeFunTy funTy val instTagTyList = map (fn ty => T.SINGLETONty (T.TAGty ty)) instTyList val instSizeTyList = map (fn ty => T.SINGLETONty (T.SIZEty ty)) instTyList val (ret1, argExpList) = normalizeArgList env argTyList argExpList val (ret2, instTagList) = normalizeArgList env instTagTyList instTagList val (ret3, instSizeList) = normalizeArgList env instSizeTyList instSizeList val (ret4, results) = Val context (A.BAPRIMAPPLY {primInfo = primInfo, argExpList = argExpList, instTyList = instTyList, instTagList = instTagList, instSizeList = instSizeList}, loc) in (ret1 o ret2 o ret3 o ret4, results) end | B.BCAPPM {funExp, funTy, argExpList, loc} => let val (argTyList, bodyTy) = decomposeFunTy funTy val (ret1, funExp) = normalizeArg env funTy funExp val (ret2, argExpList) = normalizeArgList env argTyList argExpList val (ret3, results) = case context of BIND {pos=TAIL,...} => (fn K => A.BATAILAPPM {funExp = funExp, funTy = funTy, argExpList = argExpList, loc = loc}, DummyValueList) | _ => Call context (A.BAAPPM {funExp = funExp, funTy = funTy, argExpList = argExpList}, loc) in (ret1 o ret2 o ret3, results) end | B.BCLET {localDeclList, mainExp, loc} => let val (ret1, env) = normalizeDeclList env localDeclList val (ret2, results) = normalizeExp env context mainExp in (ret1 o ret2, results) end | B.BCMVALUES {expList, tyList, loc} => let val contexts = case context of BIND {pos, vars} => nestedMultiBind pos (vars, tyList) | TEMP _ => map TEMP tyList val (ret1, values) = normalizeList (fn (context, exp) => normalizeExp env context exp) (ListPair.zipEq (contexts, expList)) in (ret1, List.concat values) end | B.BCRECORD {fieldList, recordTy, annotation, clearPad, isMutable, totalSizeExp, bitmapExpList, loc} => let val (ret1, fieldList) = normalizeList (fn {fieldExp, fieldLabel, fieldTy, fieldSize, fieldIndex} => let val fieldIndexTy = T.SINGLETONty (T.INDEXty (fieldLabel, recordTy)) val fieldSizeTy = T.SINGLETONty (T.SIZEty fieldTy) val (ret1, fieldExp) = normalizeArg env fieldTy fieldExp val (ret2, fieldSize) = normalizeArg env fieldSizeTy fieldSize val (ret3, fieldIndex) = normalizeArg env fieldIndexTy fieldIndex in (ret1 o ret2 o ret3, {fieldExp = fieldExp, fieldLabel = fieldLabel, fieldTy = fieldTy, fieldSize = fieldSize, fieldIndex = fieldIndex}) end) fieldList val totalSizeTy = T.SINGLETONty (T.RECORDSIZEty recordTy) val bitmapTyList = List.tabulate (length bitmapExpList, fn i => T.SINGLETONty (T.RECORDBITMAPty (i, recordTy))) val (ret2, totalSizeExp) = normalizeArg env totalSizeTy totalSizeExp val (ret3, bitmapExpList) = normalizeArgList env bitmapTyList bitmapExpList val (ret4, results) = Val context (A.BARECORD {fieldList = fieldList, recordTy = recordTy, annotation = annotation, isMutable = isMutable, clearPad = clearPad, totalSizeExp = totalSizeExp, bitmapExpList = bitmapExpList}, loc) in (ret1 o ret2 o ret3 o ret4, results) end | B.BCSELECT {recordExp, indexExp, label, recordTy, resultTy, resultSize, loc} => let val indexTy = T.SINGLETONty (T.INDEXty (label, recordTy)) val resultSizeTy = T.SINGLETONty (T.SIZEty resultTy) val (ret1, recordExp) = normalizeArg env recordTy recordExp val (ret2, indexExp) = normalizeArg env indexTy indexExp val (ret3, resultSize) = normalizeArg env resultSizeTy resultSize val (ret4, results) = Val context (A.BASELECT {recordExp = recordExp, indexExp = indexExp, label = label, recordTy = recordTy, resultTy = resultTy, resultSize = resultSize}, loc) in (ret1 o ret2 o ret3 o ret4, results) end | B.BCMODIFY {recordExp, recordTy, indexExp, label, valueExp, valueTy, valueTag, valueSize, loc} => let val indexTy = T.SINGLETONty (T.INDEXty (label, recordTy)) val valueTagTy = T.SINGLETONty (T.TAGty valueTy) val valueSizeTy = T.SINGLETONty (T.SIZEty valueTy) val (ret1, recordExp) = normalizeArg env recordTy recordExp val (ret2, indexExp) = normalizeArg env indexTy indexExp val (ret3, valueExp) = normalizeArg env valueTy valueExp val (ret4, valueTag) = normalizeArg env valueTagTy valueTag val (ret5, valueSize) = normalizeArg env valueSizeTy valueSize val (ret6, results) = Val context (A.BAMODIFY {recordExp = recordExp, recordTy = recordTy, indexExp = indexExp, label = label, valueExp = valueExp, valueTy = valueTy, valueTag = valueTag, valueSize = valueSize}, loc) in (ret1 o ret2 o ret3 o ret4 o ret5 o ret6, results) end | B.BCRAISE {argExp, resultTy, loc} => let val argExpTy = T.exnty val (ret1, argExp) = normalizeArg env argExpTy argExp in (ret1 o (fn K => A.BARAISE {argExp = argExp, loc = loc}), DummyValueList) end | B.BCEXPORTCALLBACK {funExp = B.BCFNM func, foreignFunTy, loc} => let (* callback function must have a toplevel exception handler. *) val exnVar = newVar T.exnty val bodyExp = B.BCHANDLE {tryExp = #bodyExp func, exnVar = exnVar, handlerExp = B.BCRAISE {argExp = B.BCVAR {varInfo=exnVar, loc=loc}, resultTy = T.exnty, (* dummy *) loc = loc}, loc = loc} val func = {argVarList = #argVarList func, funTy = #funTy func, bodyExp = bodyExp, annotation = #annotation func, closureLayout = #closureLayout func, loc = loc} val func = normalizeFunction env func val var = bindVar context in (fn K => A.BACALLBACKFNM {boundVar = var, foreignFunTy = foreignFunTy, function = func, nextExp = K}, [A.BAVAR var]) end | B.BCEXPORTCALLBACK _ => raise Control.Bug "normalizeExp: BCEXPORTCALLBACK" | B.BCFNM (func as {loc,...}) => let val func = normalizeFunction env func val var = bindVar context in (fn K => A.BAFNM {boundVar = var, btvEnv = BoundTypeVarID.Map.empty, function = func, nextExp = K}, [A.BAVAR var]) end | B.BCPOLY {btvEnv, expTyWithoutTAbs, exp = B.BCFNM func, loc} => let val func = normalizeFunction env func val var = bindVar context in (fn K => A.BAFNM {boundVar = var, btvEnv = btvEnv, function = func, nextExp = K}, [A.BAVAR var]) end | B.BCPOLY {btvEnv, expTyWithoutTAbs, exp, loc} => let val vars = map newVar (flattenTy expTyWithoutTAbs) val (exp, _) = normalizeExp env (BIND {pos=TAIL, vars=vars}) exp val exp = exp (A.BAMERGE vars) val vars = bindVars context in (fn K => A.BAPOLY {resultVars = vars, btvEnv = btvEnv, expTyWithoutTAbs = expTyWithoutTAbs, exp = exp, nextExp = K, loc = loc}, map A.BAVAR vars) end | B.BCTAPP {exp, expTy, instTyList, loc} => let val (ret1, exp) = normalizeArg env expTy exp val value = A.BATAPP {exp = exp, expTy = expTy, instTyList = instTyList} val (ret2, results) = returnValues context ([value], loc) in (ret1 o ret2, results) end | B.BCCAST {exp, expTy, targetTy, loc} => let val (ret1, exp) = normalizeArg env expTy exp val value = A.BACAST {exp = exp, expTy = expTy, targetTy = targetTy} val (ret2, results) = returnValues context ([value], loc) in (ret1 o ret2, results) end | B.BCHANDLE {tryExp, exnVar, handlerExp, loc} => let val {vars,...} = TEMPtoBIND context val bind = {pos = MIDDLE, vars = vars} val (tryExp, _) = normalizeExp env (BIND bind) tryExp val tryExp = tryExp (A.BAMERGE vars) val (rename, exnVar) = normalizeBoundVar env exnVar val handlerEnv = extendRename (env, rename) val (handlerExp, _) = normalizeExp handlerEnv (BIND bind) handlerExp val handlerExp = handlerExp (A.BAMERGE vars) in (fn K => A.BAHANDLE {resultVars = vars, tryExp = tryExp, exnVar = exnVar, handlerExp = handlerExp, nextExp = K, loc = loc}, map A.BAVAR vars) end | B.BCSWITCH {switchExp, expTy, branches, defaultExp, loc} => let val bind as {pos, vars} = TEMPtoBIND context val (ret1, switchExp) = normalizeArg env expTy switchExp val branches = map (fn {constant, branchExp} => let val (branch, _) = normalizeExp env (BIND bind) branchExp in {constant = constant, branch = branch} end) branches val branches = fn K => map (fn {constant, branch} => {constant = constant, branchExp = branch K}) branches val (defaultExp, _) = normalizeExp env (BIND bind) defaultExp val ret2 = case pos of TAIL => (fn K => A.BATAILSWITCH {switchExp = switchExp, expTy = expTy, branches = branches K, defaultExp = defaultExp K, loc = loc}) | MIDDLE => let val merge = A.BAMERGE vars val branches = branches merge val defaultExp = defaultExp merge in fn K => A.BASWITCH {resultVars = vars, switch = {switchExp = switchExp, expTy = expTy, branches = branches, defaultExp = defaultExp, loc = loc}, nextExp = K} end in (ret1 o ret2, map A.BAVAR vars) end and normalizeFunction env {argVarList, funTy, bodyExp, annotation, closureLayout, loc} = let val (rename, argVarList) = normalizeBoundVarList env argVarList val env = extendRename (env, rename) val (argTyList, bodyTy) = decomposeFunTy funTy val vars = map newVar (flattenTy bodyTy) val (bodyExp, _) = normalizeExp env (BIND {pos=TAIL,vars=vars}) bodyExp val bodyExp = bodyExp (A.BARETURN {resultVars = vars, funTy = funTy, loc = loc}) in {argVarList = argVarList, funTy = funTy, bodyExp = bodyExp, annotation = annotation, closureLayout = closureLayout, loc = loc} : A.function end and normalizeDeclList env decls = foldl (fn (decl, (top1, env)) => let val (top2, env) = normalizeDecl env decl in (top1 o top2, env) end) (emptyExp, env) decls and normalizeDecl env bcdecl = case bcdecl of B.BCVAL {boundVars, boundExp, loc} => let (* decide varId before normalizing boundExp. *) val (rename, boundVars) = normalizeBoundVarList env boundVars val nestEnv = reserveNames (env, rename) val context = BIND {pos=MIDDLE, vars=boundVars} val (boundExp, _) = normalizeExp nestEnv context boundExp val env = extendRename (env, rename) in (boundExp, env) end | B.BCEXPORTVAR {varInfo as {ty,...}, varSize, varTag, loc} => let val varSizeTy = T.SINGLETONty (T.SIZEty ty) val varTagTy = T.SINGLETONty (T.TAGty ty) val varInfo = normalizeVar env varInfo val (ret1, varSize) = normalizeArg env varSizeTy varSize val (ret2, varTag) = normalizeArg env varTagTy varTag val ret3 = fn K => A.BAEXPORTVAR {varInfo = varInfo, varSize = varSize, varTag = varTag, nextExp = K, loc = loc} in (ret1 o ret2 o ret3, env) end | B.BCEXTERNVAR {exVarInfo, loc} => (fn K => A.BAEXTERNVAR {exVarInfo = exVarInfo, nextExp = K, loc = loc}, env) | B.BCVALREC {recbindList, loc} => let val boundVars = map #boundVar recbindList val (rename, boundVars) = normalizeBoundVarList env boundVars val env = extendRename (env, rename) val recbindList = ListPair.mapEq (fn (newVar, {boundVar, boundExp = B.BCFNM func}) => {boundVar = newVar, function = normalizeFunction env func} | _ => raise Control.Bug "normalizeDecl: BCVALREC") (boundVars, recbindList) in (fn K => A.BAVALREC {recbindList = recbindList, nextExp = K, loc = loc}, env) end fun normalize decls = let val (topExp, _) = normalizeDeclList emptyEnv decls val exnVar = newVar T.exnty val toplevelFunTy = AnnotatedTypesUtils.makeClosureFunTy (nil, T.MVALty nil) in (* toplevel code must be enclosed in a exception handler. *) A.BAHANDLE {resultVars = [], tryExp = topExp (A.BAMERGE nil), exnVar = exnVar, handlerExp = A.BARAISE {argExp = A.BAVAR exnVar, loc = Loc.noloc}, nextExp = A.BARETURN {resultVars = nil, funTy = toplevelFunTy, loc = Loc.noloc}, loc = Loc.noloc} end end smlsharp-1.2.0/src/compiler/bitmapanormaloptimize0000755 000000000000000000000000012050661606022434 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/bitmapanormaloptimize/main0000755 000000000000000000000000012050661606023360 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/bitmapanormaloptimize/main/BitmapANormalReorder.smi0000644 000000000000000000000051612050661606030164 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../builtin2/main/BuiltinPrimitive.ppg.smi" _require "../../bitmapanormal/main/BitmapANormal.ppg.smi" structure BitmapANormalReorder = struct val optimize : BitmapANormal.baexp -> BitmapANormal.baexp end smlsharp-1.2.0/src/compiler/bitmapanormaloptimize/main/BitmapANormalReorder.sml0000644 000000000000000000006325512050661606030200 0ustar00rootroot0000000 0000000 (** * computation reordering on BitmapANormal. * * @copyright (c) 2012, Tohoku University. * @author UENO Katsuhiro * * This optimization reorders local variable declarations so that each * local variable has least live range. This simultaneously performs * the dead-code elimination. * It is not recommended to turn off this optimization because it * significantly reduces the cost of compilation algorithms of the * compiler backend, such as register allocation. * *) structure BitmapANormalReorder : sig val optimize : BitmapANormal.baexp -> BitmapANormal.baexp end = struct structure B = BitmapANormal local fun fvVar bv fv (var as {id, ...}:B.varInfo) = if VarID.Set.member (bv, id) then fv else VarID.Map.insert (fv, id, var) fun fvVars bv fv vars = foldl (fn (var,fv) => fvVar bv fv var) fv vars fun fvValue bv fv value = case value of B.BACONST _ => fv | B.BAVAR var => fvVar bv fv var | B.BACAST {exp, expTy, targetTy} => fvValue bv fv exp | B.BATAPP {exp, expTy, instTyList} => fvValue bv fv exp fun fvValues bv fv values = foldl (fn (v,fv) => fvValue bv fv v) fv values fun fvPrim bv fv prim = case prim of B.BAVALUE value => fvValue bv fv value | B.BAEXVAR _ => fv | B.BAPRIMAPPLY {primInfo, argExpList, instTyList, instTagList, instSizeList} => let val fv = fvValues bv fv argExpList val fv = fvValues bv fv instTagList val fv = fvValues bv fv instSizeList in fv end | B.BARECORD {fieldList, recordTy, annotation, isMutable, clearPad, totalSizeExp, bitmapExpList} => let val fv = foldl (fn ({fieldExp, fieldTy, fieldLabel, fieldSize, fieldIndex}, fv) => fvValues bv fv [fieldExp, fieldSize, fieldIndex]) fv fieldList val fv = fvValues bv fv (totalSizeExp :: bitmapExpList) in fv end | B.BASELECT {recordExp, indexExp, label, recordTy, resultTy, resultSize} => fvValues bv fv [recordExp, indexExp, resultSize] | B.BAMODIFY {recordExp, recordTy, indexExp, label, valueExp, valueTy, valueTag, valueSize} => fvValues bv fv [recordExp, indexExp, valueExp, valueTag, valueSize] fun fvCall bv fv call = case call of B.BAFOREIGNAPPLY {funExp, foreignFunTy, argExpList} => fvValues bv fv (funExp :: argExpList) | B.BAAPPM {funExp, funTy, argExpList} => fvValues bv fv (funExp :: argExpList) fun addBv (set, {id,...}:B.varInfo) = VarID.Set.add (set, id) fun addBvs (set, vars) = foldl (fn (x,z) => addBv (z,x)) set vars fun fvSwitch bv fv ({switchExp, expTy, branches, defaultExp, loc}:B.switch) = let val fv = fvValue bv fv switchExp val fv = foldl (fn ({constant, branchExp}, fv) => fvExp bv fv branchExp) fv branches val fv = fvExp bv fv defaultExp in fv end and fvFunction bv fv ({argVarList, funTy, bodyExp, annotation, closureLayout, loc}:B.function) = fvExp (addBvs (bv, argVarList)) fv bodyExp and fvRecBinds bv fv recbindList = let val bv = foldl (fn ({boundVar,function},bv) => addBv (bv, boundVar)) bv recbindList val fv = foldl (fn ({boundVar,function},fv) => fvFunction bv fv function) fv recbindList in (bv, fv) end and fvHandle bv fv (tryExp, exnVar, handlerExp) = let val fv = fvExp bv fv tryExp val fv = fvExp (addBv (bv, exnVar)) fv handlerExp in fv end and fvExp bv fv exp = case exp of B.BAVAL {boundVar, boundExp, nextExp, loc} => fvExp (addBv (bv, boundVar)) (fvPrim bv fv boundExp) nextExp | B.BACALL {resultVars, callExp, nextExp, loc} => fvExp (addBvs (bv, resultVars)) (fvCall bv fv callExp) nextExp | B.BAEXTERNVAR {exVarInfo, nextExp, loc} => fvExp bv fv nextExp | B.BAEXPORTVAR {varInfo, varSize, varTag, nextExp, loc} => let val fv = fvVar bv fv varInfo val fv = fvValues bv fv [varSize, varTag] in fvExp bv fv nextExp end | B.BAFNM {boundVar, btvEnv, function, nextExp} => fvExp (addBv (bv, boundVar)) (fvFunction bv fv function) nextExp | B.BACALLBACKFNM {boundVar, function, foreignFunTy, nextExp} => fvExp (addBv (bv, boundVar)) (fvFunction bv fv function) nextExp | B.BAVALREC {recbindList, nextExp, loc} => let val (bv, fv) = fvRecBinds bv fv recbindList in fvExp bv fv nextExp end | B.BAHANDLE {resultVars, tryExp, exnVar, handlerExp, nextExp, loc} => fvExp (addBvs (bv, resultVars)) (fvHandle bv fv (tryExp, exnVar, handlerExp)) nextExp | B.BASWITCH {resultVars, switch, nextExp} => fvExp (addBvs (bv, resultVars)) (fvSwitch bv fv switch) nextExp | B.BATAILSWITCH switch => fvSwitch bv fv switch | B.BAPOLY {resultVars, btvEnv, expTyWithoutTAbs, exp, nextExp, loc} => fvExp (addBvs (bv, resultVars)) (fvExp bv fv exp) nextExp | B.BAMERGE resultVars => fvVars bv fv resultVars | B.BARETURN {resultVars, funTy, loc} => fvVars bv fv resultVars | B.BATAILAPPM {funExp, funTy, argExpList, loc} => fvValues bv fv (funExp :: argExpList) | B.BARAISE {argExp, loc} => fvValue bv fv argExp in fun freeVarsValue value = VarID.Map.listItems (fvValue VarID.Set.empty VarID.Map.empty value) fun freeVarsValueList values = VarID.Map.listItems (fvValues VarID.Set.empty VarID.Map.empty values) fun freeVarsExp exp = VarID.Map.listItems (fvExp VarID.Set.empty VarID.Map.empty exp) fun freeVarsSwitch switch = VarID.Map.listItems (fvSwitch VarID.Set.empty VarID.Map.empty switch) fun freeVarsFunction func = VarID.Map.listItems (fvFunction VarID.Set.empty VarID.Map.empty func) fun freeVarsRecBind binds = VarID.Map.listItems (#2 (fvRecBinds VarID.Set.empty VarID.Map.empty binds)) fun freeVarsPrim prim = VarID.Map.listItems (fvPrim VarID.Set.empty VarID.Map.empty prim) fun freeVarsCall call = VarID.Map.listItems (fvCall VarID.Set.empty VarID.Map.empty call) fun freeVarsHandle handleExps = VarID.Map.listItems (fvHandle VarID.Set.empty VarID.Map.empty handleExps) end (* local *) local fun alphaVar subst (var as {id, ty, path}:B.varInfo) = case VarID.Map.find (subst, id) of NONE => raise Control.Bug "alphaVar" | SOME id => {id=id, ty=ty, path=path} fun alphaValue subst value = case value of B.BACONST _ => value | B.BAVAR var => B.BAVAR (alphaVar subst var) | B.BACAST {exp, expTy, targetTy} => B.BACAST {exp = alphaValue subst exp, expTy = expTy, targetTy = targetTy} | B.BATAPP {exp, expTy, instTyList} => B.BATAPP {exp = alphaValue subst exp, expTy = expTy, instTyList = instTyList} fun alphaPrim subst prim = case prim of B.BAVALUE value => B.BAVALUE (alphaValue subst value) | B.BAEXVAR _ => prim | B.BAPRIMAPPLY {primInfo, argExpList, instTyList, instTagList, instSizeList} => B.BAPRIMAPPLY {primInfo = primInfo, argExpList = map (alphaValue subst) argExpList, instTyList = instTyList, instTagList = map (alphaValue subst) instTagList, instSizeList = map (alphaValue subst) instSizeList} | B.BARECORD {fieldList, recordTy, annotation, isMutable, clearPad, totalSizeExp, bitmapExpList} => B.BARECORD {fieldList = map (fn {fieldExp, fieldTy, fieldLabel, fieldSize, fieldIndex} => {fieldExp = alphaValue subst fieldExp, fieldTy = fieldTy, fieldLabel = fieldLabel, fieldSize = alphaValue subst fieldSize, fieldIndex = alphaValue subst fieldIndex}) fieldList, recordTy = recordTy, annotation = annotation, isMutable = isMutable, clearPad = clearPad, totalSizeExp = alphaValue subst totalSizeExp, bitmapExpList = map (alphaValue subst) bitmapExpList} | B.BASELECT {recordExp, indexExp, label, recordTy, resultTy, resultSize} => B.BASELECT {recordExp = alphaValue subst recordExp, indexExp = alphaValue subst indexExp, label = label, recordTy = recordTy, resultTy = resultTy, resultSize = alphaValue subst resultSize} | B.BAMODIFY {recordExp, recordTy, indexExp, label, valueExp, valueTy, valueTag, valueSize} => B.BAMODIFY {recordExp = alphaValue subst recordExp, recordTy = recordTy, indexExp = alphaValue subst indexExp, label = label, valueExp = alphaValue subst valueExp, valueTy = valueTy, valueTag = alphaValue subst valueTag, valueSize = alphaValue subst valueSize} fun alphaCall subst call = case call of B.BAFOREIGNAPPLY {funExp, foreignFunTy, argExpList} => B.BAFOREIGNAPPLY {funExp = alphaValue subst funExp, foreignFunTy = foreignFunTy, argExpList = map (alphaValue subst) argExpList} | B.BAAPPM {funExp, funTy, argExpList} => B.BAAPPM {funExp = alphaValue subst funExp, funTy = funTy, argExpList = map (alphaValue subst) argExpList} fun addVar subst (var as {id, ty, path}:B.varInfo) = case VarID.Map.find (subst, id) of NONE => (VarID.Map.insert (subst, id, id), var) | SOME _ => let val newId = VarID.generate () val subst = VarID.Map.insert (subst, id, newId) val var = {id=newId, ty=ty, path=path} : B.varInfo in (subst, var) end fun addVars subst nil = (subst, nil) | addVars subst (var::vars) = let val (subst, var) = addVar subst var val (subst, vars) = addVars subst vars in (subst, var::vars) end fun alphaSwitch subst ({switchExp, expTy, branches, defaultExp, loc}:B.switch) = {switchExp = alphaValue subst switchExp, expTy = expTy, branches = map (fn {constant, branchExp} => {constant = constant, branchExp = alphaExp subst branchExp}) branches, defaultExp = alphaExp subst defaultExp, loc = loc} : B.switch and alphaFunction subst ({argVarList, funTy, bodyExp, annotation, closureLayout, loc}:B.function) = let val (subst, argVarList) = addVars subst argVarList in {argVarList = argVarList, funTy = funTy, bodyExp = alphaExp subst bodyExp, annotation = annotation, closureLayout = closureLayout, loc = loc} : B.function end and alphaExp subst exp = case exp of B.BAVAL {boundVar, boundExp, nextExp, loc} => let val (newSubst, boundVar) = addVar subst boundVar in B.BAVAL {boundVar = boundVar, boundExp = alphaPrim subst boundExp, nextExp = alphaExp newSubst nextExp, loc = loc} end | B.BACALL {resultVars, callExp, nextExp, loc} => let val (newSubst, resultVars) = addVars subst resultVars in B.BACALL {resultVars = resultVars, callExp = alphaCall subst callExp, nextExp = alphaExp newSubst nextExp, loc = loc} end | B.BAEXTERNVAR {exVarInfo, nextExp, loc} => B.BAEXTERNVAR {exVarInfo = exVarInfo, nextExp = alphaExp subst nextExp, loc = loc} | B.BAEXPORTVAR {varInfo, varSize, varTag, nextExp, loc} => B.BAEXPORTVAR {varInfo = alphaVar subst varInfo, varSize = alphaValue subst varSize, varTag = alphaValue subst varTag, nextExp = alphaExp subst nextExp, loc = loc} | B.BAFNM {boundVar, btvEnv, function, nextExp} => let val (newSubst, boundVar) = addVar subst boundVar in B.BAFNM {boundVar = boundVar, btvEnv = btvEnv, function = alphaFunction subst function, nextExp = alphaExp newSubst nextExp} end | B.BACALLBACKFNM {boundVar, function, foreignFunTy, nextExp} => let val (newSubst, boundVar) = addVar subst boundVar in B.BACALLBACKFNM {boundVar = boundVar, function = alphaFunction subst function, foreignFunTy = foreignFunTy, nextExp = alphaExp newSubst nextExp} end | B.BAVALREC {recbindList, nextExp, loc} => let val (subst, boundVars) = addVars subst (map #boundVar recbindList) val recbindList = ListPair.mapEq (fn (boundVar, {function, ...}) => {boundVar = boundVar, function = alphaFunction subst function}) (boundVars, recbindList) in B.BAVALREC {recbindList = recbindList, nextExp = alphaExp subst nextExp, loc = loc} end | B.BAHANDLE {resultVars, tryExp, exnVar, handlerExp, nextExp, loc} => let val (substHandler, exnVar) = addVar subst exnVar val (newSubst, resultVars) = addVars subst resultVars in B.BAHANDLE {resultVars = resultVars, tryExp = alphaExp subst tryExp, exnVar = exnVar, handlerExp = alphaExp substHandler handlerExp, nextExp = alphaExp newSubst nextExp, loc = loc} end | B.BASWITCH {resultVars, switch, nextExp} => let val (newSubst, resultVars) = addVars subst resultVars in B.BASWITCH {resultVars = resultVars, switch = alphaSwitch subst switch, nextExp = alphaExp newSubst nextExp} end | B.BATAILSWITCH switch => B.BATAILSWITCH (alphaSwitch subst switch) | B.BAPOLY {resultVars, btvEnv, expTyWithoutTAbs, exp, nextExp, loc} => let val (newSubst, resultVars) = addVars subst resultVars in B.BAPOLY {resultVars = resultVars, btvEnv = btvEnv, expTyWithoutTAbs = expTyWithoutTAbs, exp = alphaExp subst exp, nextExp = alphaExp newSubst nextExp, loc = loc} end | B.BAMERGE resultVars => B.BAMERGE (map (alphaVar subst) resultVars) | B.BARETURN {resultVars, funTy, loc} => B.BARETURN {resultVars = map (alphaVar subst) resultVars, funTy = funTy, loc = loc} | B.BATAILAPPM {funExp, funTy, argExpList, loc} => B.BATAILAPPM {funExp = alphaValue subst funExp, funTy = funTy, argExpList = map (alphaValue subst) argExpList, loc = loc} | B.BARAISE {argExp, loc} => B.BARAISE {argExp = alphaValue subst argExp, loc = loc} in fun renameVarsExp exp = alphaExp VarID.Map.empty exp end (* local *) fun hasSideEffect prim = case prim of B.BAVALUE _ => false | B.BAEXVAR _ => false | B.BAPRIMAPPLY {primInfo={primitive, ty},...} => let val {memory, update, read, throw} = BuiltinPrimitive.haveSideEffect primitive in memory orelse update orelse read orelse throw end | B.BARECORD _ => false | B.BASELECT _ => false | B.BAMODIFY _ => false type expFn = (VarID.Set.set -> B.baexp) -> (VarID.Set.set -> B.baexp) type env = expFn VarID.Map.map val dummyExp : VarID.Set.set -> B.baexp = fn _ => raise Control.Bug "dummyExp" fun addBind env ({id,...}:B.varInfo, expFn) = VarID.Map.insert (env, id, expFn) fun addBinds env (vars, expFn) = foldl (fn (v,z) => addBind z (v, expFn)) env vars fun addVar (set, {id,...}:B.varInfo) = VarID.Set.add (set, id) fun addVars (set, vars) = foldl (fn (v,z) => addVar (z,v)) set vars fun forceVars (env:env) (vars:B.varInfo list) nextExp defined = case vars of nil => nextExp defined | {id,...}::vars => if VarID.Set.member (defined, id) then forceVars env vars nextExp defined else case VarID.Map.find (env, id) of NONE => raise Control.Bug ("forceVars: " ^ VarID.toString id) | SOME expFn => expFn (forceVars env vars nextExp) defined fun optimizeSwitch env ({switchExp, expTy, branches, defaultExp, loc}:B.switch) defined = {switchExp = switchExp, expTy = expTy, branches = map (fn {constant, branchExp} => {constant = constant, branchExp = (optimizeExp env branchExp) dummyExp defined}) branches, defaultExp = (optimizeExp env defaultExp) dummyExp defined, loc = loc} : B.switch and optimizeFunction env ({argVarList, funTy, bodyExp, annotation, closureLayout, loc}:B.function) defined = let val defined = addVars (defined, argVarList) in {argVarList = argVarList, funTy = funTy, bodyExp = (optimizeExp env bodyExp) dummyExp defined, annotation = annotation, closureLayout = closureLayout, loc = loc} : B.function end and optimizeRecBind (env:env) recbinds defined = let val defined = addVars (defined, map #boundVar recbinds) in map (fn {boundVar, function} => {boundVar = boundVar, function = (optimizeFunction env function) defined}) recbinds end and optimizeExp env exp : expFn = case exp of B.BAVAL {boundVar, boundExp, nextExp, loc} => let fun expFn nextExp = (forceVars env (freeVarsPrim boundExp)) (fn defined => B.BAVAL {boundVar = boundVar, boundExp = boundExp, nextExp = nextExp (addVar (defined, boundVar)), loc = loc}) in if hasSideEffect boundExp then expFn o optimizeExp env nextExp else optimizeExp (addBind env (boundVar, expFn)) nextExp end | B.BACALL {resultVars, callExp, nextExp, loc} => let fun expFn nextExp = (forceVars env (freeVarsCall callExp)) (fn defined => B.BACALL {resultVars = resultVars, callExp = callExp, nextExp = nextExp (addVars (defined, resultVars)), loc = loc}) in expFn o optimizeExp env nextExp end | B.BAEXTERNVAR {exVarInfo, nextExp, loc} => let fun expFn nextExp = (fn defined => B.BAEXTERNVAR {exVarInfo = exVarInfo, nextExp = nextExp defined, loc = loc}) in expFn o optimizeExp env nextExp end | B.BAEXPORTVAR {varInfo, varSize, varTag, nextExp, loc} => let fun expFn nextExp = (forceVars env (varInfo :: freeVarsValueList [varSize, varTag])) (fn defined => B.BAEXPORTVAR {varInfo = varInfo, varSize = varSize, varTag = varTag, nextExp = nextExp defined, loc = loc}) in expFn o optimizeExp env nextExp end | B.BAFNM {boundVar, btvEnv, function, nextExp} => let fun expFn nextExp = (forceVars env (freeVarsFunction function)) (fn defined => B.BAFNM {boundVar = boundVar, btvEnv = btvEnv, function = (optimizeFunction env function) defined, nextExp = nextExp (addVar (defined, boundVar))}) in optimizeExp (addBind env (boundVar, expFn)) nextExp end | B.BACALLBACKFNM {boundVar, function, foreignFunTy, nextExp} => let fun expFn nextExp = (forceVars env (freeVarsFunction function)) (fn defined => B.BACALLBACKFNM {boundVar = boundVar, function = (optimizeFunction env function) defined, foreignFunTy = foreignFunTy, nextExp = nextExp (addVar (defined, boundVar))}) in optimizeExp (addBind env (boundVar, expFn)) nextExp end | B.BAVALREC {recbindList, nextExp, loc} => let val boundVars = map #boundVar recbindList fun expFn nextExp = (forceVars env (freeVarsRecBind recbindList)) (fn defined => B.BAVALREC {recbindList = (optimizeRecBind env recbindList) defined, nextExp = nextExp (addVars (defined, boundVars)), loc = loc}) in optimizeExp (addBinds env (boundVars, expFn)) nextExp end | B.BAHANDLE {resultVars, tryExp, exnVar, handlerExp, nextExp, loc} => let fun expFn nextExp = (forceVars env (freeVarsHandle (tryExp, exnVar, handlerExp))) (fn defined => B.BAHANDLE {resultVars = resultVars, tryExp = (optimizeExp env tryExp) dummyExp defined, exnVar = exnVar, handlerExp = (optimizeExp env handlerExp) dummyExp (addVar (defined, exnVar)), nextExp = nextExp (addVars (defined, resultVars)), loc = loc}) in expFn o optimizeExp env nextExp end | B.BASWITCH {resultVars, switch, nextExp} => let fun expFn nextExp = (forceVars env (freeVarsSwitch switch)) (fn defined => B.BASWITCH {resultVars = resultVars, switch = (optimizeSwitch env switch) defined, nextExp = nextExp (addVars (defined, resultVars))}) in expFn o optimizeExp env nextExp end | B.BATAILSWITCH switch => (fn _ => (forceVars env (freeVarsSwitch switch)) (fn defined => B.BATAILSWITCH ((optimizeSwitch env switch) defined))) | B.BAPOLY {resultVars, btvEnv, expTyWithoutTAbs, exp, nextExp, loc} => let fun expFn nextExp = (forceVars env (freeVarsExp exp)) (fn defined => B.BAPOLY {resultVars = resultVars, btvEnv = btvEnv, expTyWithoutTAbs = expTyWithoutTAbs, exp = (optimizeExp env exp) dummyExp defined, nextExp = nextExp (addVars (defined, resultVars)), loc = loc}) in expFn o optimizeExp env nextExp end | B.BAMERGE resultVars => (fn _ => (forceVars env resultVars) (fn _ => exp)) | B.BARETURN {resultVars, funTy, loc} => (fn _ => (forceVars env resultVars) (fn _ => exp)) | B.BATAILAPPM {funExp, funTy, argExpList, loc} => (fn _ => (forceVars env (freeVarsValueList (funExp :: argExpList))) (fn _ => exp)) | B.BARAISE {argExp, loc} => (fn _ => (forceVars env (freeVarsValue argExp)) (fn _ => exp)) fun optimize exp = let val exp = renameVarsExp exp val expFn = optimizeExp VarID.Map.empty exp in expFn dummyExp VarID.Set.empty end end smlsharp-1.2.0/src/compiler/bitmapcalc0000755 000000000000000000000000012050661606020124 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/bitmapcalc/main0000755 000000000000000000000000012050661606021050 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/bitmapcalc/main/BitmapCalc.ppg0000644 000000000000000000005461112050661606023645 0ustar00rootroot0000000 0000000 (* -*- sml -*- *) (** * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro * @author Huu-Duc Nguyen *) structure BitmapCalc = struct type loc = Loc.loc (*% * @formatter(AnnotatedTypes.ty) AnnotatedTypes.formatSimple_ty *) (*% * @prefix formatWithType_ * @formatter(AnnotatedTypes.ty) AnnotatedTypes.format_ty *) type ty = AnnotatedTypes.ty (*% * @formatter(IDCalc.path) IDCalc.format_path *) (*% * @prefix formatWithType_ * @formatter(IDCalc.path) IDCalc.format_path *) type path = IDCalc.path (*% * @formatter(VarID.id) VarID.format_id *) (*% * @prefix formatWithSimpleType_ * @formatter(VarID.id) VarID.format_id * @formatter(ty) AnnotatedTypes.formatSimple_ty * @formatter(path) format_path *) (*% * @prefix formatWithType_ * @formatter(VarID.id) VarID.format_id *) type varInfo = (*% * @format({path, ty, id}) * path "(v" id ")" *) (*% * @prefix formatWithSimpleType_ * @format({path, ty, id}) * L2{ path "(v" id ")" +1 ":" +d ty } *) (*% * @prefix formatWithType_ * @format({path, ty, id}) * L2{ path "(v" id ")" +1 ":" +d ty } *) {path : path, ty : ty, id : VarID.id} (*% *) (*% * @prefix formatWithSimpleType_ * @formatter(ty) AnnotatedTypes.formatSimple_ty * @formatter(path) format_path *) (*% * @prefix formatWithType_ *) type exVarInfo = (*% * @format({path, ty}) * "_EXVAR(" path ")" *) (*% * @prefix formatWithSimpleType_ * @format({path, ty}) * "_EXVAR(" !L2{ path +1 ":" +d ty } ")" *) (*% * @prefix formatWithType_ * @format({path, ty}) * "_EXVAR(" !L2{ path +1 ":" +d ty } ")" *) {path : path, ty : ty} (*% * @formatter(MultipleValueCalc.primInfo) MultipleValueCalc.format_primInfo *) (*% * @prefix formatWithType_ * @formatter(MultipleValueCalc.primInfo) MultipleValueCalc.format_primInfo *) type primInfo = MultipleValueCalc.primInfo (*% * @formatter(AnnotatedTypes.btvEnv) AnnotatedTypes.formatSimple_btvEnv *) (*% * @prefix formatWithType_ * @formatter(AnnotatedTypes.btvEnv) AnnotatedTypes.format_btvEnv *) type btvEnv = AnnotatedTypes.btvEnv (*% * @formatter(bool) SmlppgUtil.formatBinaryChoice * @formatter(ConstantTerm.constant) ConstantTerm.format_constant * @formatter(AnnotatedTypes.annotationLabel) * AnnotatedTypes.format_annotationLabel * @formatter(AnnotatedTypes.foreignFunTy) AnnotatedTypes.format_foreignFunTy * @formatter(enclosedList) TermFormat.formatEnclosedList * @formatter(appList) TermFormat.formatAppList * @formatter(caseList) TermFormat.formatCaseList * @formatter(decList) TermFormat.formatDeclList * @formatter(ifCons) TermFormat.formatIfCons * @formatter(withType) formatWithSimpleType_varInfo *) (*% * @prefix formatWithType_ * @formatter(bool) SmlppgUtil.formatBinaryChoice * @formatter(ConstantTerm.constant) ConstantTerm.format_constant * @formatter(AnnotatedTypes.annotationLabel) * AnnotatedTypes.format_annotationLabel * @formatter(AnnotatedTypes.foreignFunTy) AnnotatedTypes.format_foreignFunTy * @formatter(enclosedList) TermFormat.formatEnclosedList * @formatter(appList) TermFormat.formatAppList * @formatter(caseList) TermFormat.formatCaseList * @formatter(decList) TermFormat.formatDeclList * @formatter(ifCons) TermFormat.formatIfCons *) datatype bcexp = (*% * @format({funExp, foreignFunTy, argExpList: arg args, loc}) * L8{ 2[ * "_FFIAPPLY" * +1 funExp * +1 args:appList(arg)("(",",",")") * ] } *) (*% * @prefix formatWithType_ * @format({funExp, foreignFunTy, argExpList: arg args, loc}) * L8{ 2[ * "_FFIAPPLY" * +1 L2{ funExp +1 "as" +d foreignFunTy } * +1 args:appList(arg)("(",",",")") * ] } *) BCFOREIGNAPPLY of { funExp : bcexp, foreignFunTy : AnnotatedTypes.foreignFunTy, argExpList : bcexp list, loc : loc } | (*% * @format({funExp, foreignFunTy, loc}) * L8{ 2[ "_CALLBACK" +1 funExp ] } *) (*% * @prefix formatWithType_ * @format({funExp, foreignFunTy, loc}) * L8{ 2[ "_CALLBACK" * +1 L2{ funExp +1 "as" +d foreignFunTy } ] } *) BCEXPORTCALLBACK of { funExp : bcexp, (* must be BCFNM *) foreignFunTy : AnnotatedTypes.foreignFunTy, loc: loc } | (*% * @format({value, loc}) value *) (*% * @prefix formatWithType_ * @format({value, loc}) value *) BCCONSTANT of {value : ConstantTerm.constant, loc : loc} | (*% * @format({name, kind, ty, loc}) name ":" ty *) (*% * @prefix formatWithType_ * @format({name, kind, ty, loc}) name ":" ty *) BCGLOBALSYMBOL of { name : string, kind : Absyn.globalSymbolKind, ty : ty, loc : loc } | (*% * @format({varInfo, loc}) varInfo *) (*% * @prefix formatWithType_ * @format({varInfo, loc}) varInfo *) BCVAR of {varInfo : varInfo, loc : loc} | (*% * @format({exVarInfo, varSize, loc}) L2{ exVarInfo +1 "/i" +d varSize } *) (*% * @prefix formatWithType_ * @format({exVarInfo, varSize, loc}) L2{ exVarInfo +1 "/" +d varSize } *) BCEXVAR of {exVarInfo : exVarInfo, varSize : bcexp, loc : loc} (* | (*% * @format({arrayExp, indexExp, elementTy, elementSize, loc}) * L2{ L8{ 2[ "_GETFIELD" +1 arrayExp +1 indexExp ] } * +1 "/s" +d elementSize } *) (*% * @prefix formatWithType_ * @format({arrayExp, indexExp, elementTy, elementSize, loc}) * L2{ L8{ 2[ "_GETFIELD" +1 arrayExp +1 indexExp ] } * +1 ":" +d elementTy * +1 "/" +d elementSize } *) BCGETFIELD of { arrayExp : bcexp, indexExp : bcexp, elementTy : ty, elementSize : bcexp, loc : loc } | (*% * @format({valueExp, arrayExp, indexExp, elementTy, * elementSize, elementTag, loc}) * L8{ 2[ * "_SETFIELD" * +1 arrayExp * +1 indexExp * +1 L2{ valueExp +1 "/t" +d elementTag * +1 "/s" +d elementSize } * ] } *) (*% * @prefix formatWithType_ * @format({valueExp, arrayExp, indexExp, elementTy, * elementSize, elementTag, loc}) * L8{ 2[ * "_SETFIELD" * +1 arrayExp * +1 indexExp * +1 L2{ valueExp +1 ":" +d elementTy * +1 "/" +d elementTag * +1 "/" +d elementSize } * ] } *) BCSETFIELD of { valueExp : bcexp, arrayExp : bcexp, indexExp : bcexp, elementTy : ty, elementTag : bcexp, elementSize : bcexp, loc: loc } | (*% * @format({consExp, newTailExp, listTy, consRecordTy, tailLabel, * listTag, listSize, tailLabelIndex, loc}) * L8{ 2[ * "_SETTAIL" * +1 consExp * +1 L2{ "#" tailLabel +1 "/i" +d tailLabelIndex } * +1 L2{ newTailExp +1 "/t" +d listTag * +1 "/s" +d listSize } * ] } *) (*% * @prefix formatWithType_ * @format({consExp, newTailExp, listTy, consRecordTy, tailLabel, * listTag, listSize, tailLabelIndex, loc}) * L8{ 2[ * "_SETTAIL" * +1 L2{ consExp +1 ":" +d consRecordTy } * +1 L2{ "#" tailLabel +1 "/" +d tailLabelIndex } * +1 L2{ newTailExp +1 ":" +d listTy * +1 "/" +d listTag * +1 "/" +d listSize } * ] } *) BCSETTAIL of { consExp : bcexp, newTailExp : bcexp, tailLabel : string, listTy : ty, consRecordTy : ty, listTag : bcexp, listSize : bcexp, tailLabelIndex : bcexp, loc: loc } | (*% * @format({sizeExp, initialValue, elementTy, isMutable, * elementTag, elementSize, loc}) * L8{ 2[ "_ARRAY" isMutable()("(mutable)",) +1 sizeExp * +1 L2{ initialValue * +1 "/t" +d elementTag * +1 "/s" +d elementSize } ] } *) (*% * @prefix formatWithType_ * @format({sizeExp, initialValue, elementTy, isMutable, * elementTag, elementSize, loc}) * L8{ 2[ "_ARRAY" isMutable()("(mutable)",) +1 sizeExp * +1 L2{ initialValue * +1 ":" +d elementTy * +1 "/" +d elementTag * +1 "/" +d elementSize } ] } *) BCARRAY of { sizeExp : bcexp, initialValue : bcexp, elementTy : ty, elementTag : bcexp, elementSize : bcexp, isMutable : bool, loc : loc } | (*% * @format({srcExp, srcIndexExp, dstExp, dstIndexExp, lengthExp, * elementTy, elementTag, elementSize, loc}) * L8{ 2[ * "_COPYARRAY" * "(" !L2{ "/t" +d elementTag +1 "/s" +d elementSize } ")" * +1 srcExp * +1 srcIndexExp * +1 dstExp * +1 dstIndexExp * +1 lengthExp * ] } *) (*% * @prefix formatWithType_ * @format({srcExp, srcIndexExp, dstExp, dstIndexExp, lengthExp, * elementTy, elementTag, elementSize, loc}) * L8{ 2[ * "_COPYARRAY" * "(" !L2{ elementTy +1 "/" +d elementTag +1 "/" +d elementSize } ")" * +1 srcExp * +1 srcIndexExp * +1 dstExp * +1 dstIndexExp * +1 lengthExp * ] } *) BCCOPYARRAY of { srcExp : bcexp, srcIndexExp : bcexp, dstExp : bcexp, dstIndexExp : bcexp, lengthExp : bcexp, elementTy : ty, elementTag : bcexp, elementSize : bcexp, loc: loc } *) | (*% * @format({primInfo, argExpList: arg args, instTyList: ty tys, * instTagList: tag tags, instSizeList: size sizes, loc}) * L8{ 2[ "_PRIMAPPLY(" primInfo ")" * tys:ifCons()( * +1 L2{ tys:appList(ty)("(",",",")") * +1 "/t" +d tags:appList(tag)("(",",",")") * +1 "/s" +d sizes:appList(size)("(",",",")") } * ) * +1 args:appList(arg)("(",",",")") ] } *) (*% * @prefix formatWithType_ * @format({primInfo, argExpList: arg args, instTyList: ty tys, * instTagList: tag tags, instSizeList: size sizes, loc}) * L8{ 2[ "_PRIMAPPLY(" primInfo ")" * tys:ifCons()( * +1 L2{ tys:appList(ty)("(",",",")") * +1 "/" +d tags:appList(tag)("(",",",")") * +1 "/" +d sizes:appList(size)("(",",",")") } * ) * +1 args:appList(arg)("(",",",")") ] } *) BCPRIMAPPLY of { primInfo : primInfo, argExpList : bcexp list, instTyList : ty list, instTagList : bcexp list, instSizeList : bcexp list, loc : loc } | (*% * @format({funExp, funTy, argExpList: arg args, loc}) * L8{ 2[ * funExp * +1 args:appList(arg)("(",",",")") * ] } *) (*% * @prefix formatWithType_ * @format({funExp, funTy, argExpList: arg args, loc}) * L8{ 2[ * L2{ funExp +1 ":" +d funTy } * +1 args:appList(arg)("(",",",")") * ] } *) BCAPPM of { funExp : bcexp, funTy : ty, argExpList : bcexp list, loc : loc } | (*% * @format({localDeclList : dec decs, mainExp, loc}) * R1{ "let" 2[ decs:decList(dec)(+1,+1) ] * +1 "in" 2[ +1 mainExp ] * +1 "end" } *) (*% * @prefix formatWithType_ * @format({localDeclList : dec decs, mainExp, loc}) * R1{ "let" 2[ decs:decList(dec)(+1,+1) ] * +1 "in" 2[ +1 mainExp ] * +1 "end" } *) BCLET of { localDeclList : bcdecl list, mainExp : bcexp, loc : loc } | (*% * @format({expList:field fields, tyList, loc}) * L8{ 2[ "_MVALUES" +1 fields:appList(field)("(",",",")") ] } *) (*% * @prefix formatWithType_ * @format({expList:field fields, tyList: ty tys, loc}) * L8{ 2[ "_MVALUES" * +1 L2{ fields:appList(field)("(",",",")") * +1 ":" +d tys:appList(ty)("(",",",")") } ] } *) BCMVALUES of {expList : bcexp list, tyList : ty list, loc : loc} | (*% * @format({fieldList: field fields, * recordTy, annotation, isMutable, clearPad, totalSizeExp, * bitmapExpList: bm bms, loc}) * L2{ fields:enclosedList(field)("{",",","}") * +1 "/t" +d totalSizeExp * +1 "/b" +d bms:appList(bm)("(",",",")") } * @format:field({fieldExp, fieldTy, fieldLabel, fieldSize, fieldIndex}) * !R1{ L2{ "#" fieldLabel +1 "/i" +d fieldIndex +1 "/s" +d fieldSize } * +d "=" +1 fieldExp } *) (*% * @prefix formatWithType_ * @format({fieldList: field fields, * recordTy, annotation, isMutable, clearPad, totalSizeExp, * bitmapExpList: bm bms, loc}) * L2{ L2{ fields:enclosedList(field)("{",",","}") * +1 "/t" +d totalSizeExp * +1 "/" +d bms:appList(bm)("(",",",")") } * +1 ":" +d recordTy } * @format:field({fieldExp, fieldTy, fieldLabel, fieldSize, fieldIndex}) * !R1{ L2{ "#" fieldLabel +1 "/" +d fieldIndex +1 "/" +d fieldSize } * +d "=" +1 L2{ fieldExp +1 ":" +d fieldTy } } *) BCRECORD of { fieldList : {fieldExp : bcexp, fieldTy : ty, fieldLabel : string, fieldSize : bcexp, fieldIndex : bcexp} list, recordTy : ty, annotation : AnnotatedTypes.annotationLabel, isMutable : bool, clearPad : bool, totalSizeExp : bcexp, bitmapExpList : bcexp list, loc : loc } | (*% * @format({recordExp, indexExp, label, recordTy, resultTy, resultSize, * loc}) * L2{ * L8{ 2[ L2{ "#" label +1 "/i" +d indexExp } * +1 recordExp ] } * +1 "/s" +d resultSize } *) (*% * @prefix formatWithType_ * @format({recordExp, indexExp, label, recordTy, resultTy, resultSize, * loc}) * L2{ * L8{ 2[ L2{ "#" label +1 "/" +d indexExp } * +1 L2{ recordExp +1 ":" +d recordTy } ] } * +1 ":" +d resultTy * +1 "/" +d resultSize } *) BCSELECT of { recordExp : bcexp, indexExp : bcexp, label : string, recordTy : ty, resultTy : ty, resultSize : bcexp, loc : loc } | (*% * @format({recordExp, recordTy, indexExp, label, valueExp, valueTy, * valueTag, valueSize, loc}) * L8{ 2[ recordExp * +1 "#" +d "{" * !N0{ L2{ "#" label +1 "/i" +d indexExp } +d "=" * 2[ +1 L2{ valueExp * +1 "/t" +d valueTag * +1 "/s" +d valueSize } ] } "}" ] } *) (*% * @prefix formatWithType_ * @format({recordExp, recordTy, indexExp, label, valueExp, valueTy, * valueTag, valueSize, loc}) * L8{ 2[ L2{ recordExp +1 ":" +d recordTy } * +1 "#" +d "{" * !N0{ L2{ "#" label +1 "/" +d indexExp } +d "=" * 2[ +1 L2{ valueExp * +1 ":" +d valueTy * +1 "/" +d valueTag * +1 "/" +d valueSize } ] } "}" ] } *) BCMODIFY of { recordExp : bcexp, recordTy : ty, indexExp : bcexp, label : string, valueExp : bcexp, valueTy : ty, valueTag : bcexp, valueSize : bcexp, loc : loc } | (*% * @format({argExp, resultTy, loc}) * !R1{ 2[ "raise" +1 argExp ] } *) (*% * @prefix formatWithType_ * @format({argExp, resultTy, loc}) * L2{ R1{ 2[ "raise" +1 argExp ] +1 } ":" +d resultTy } *) BCRAISE of { argExp : bcexp, resultTy : ty, loc : loc } | (*% * @format({tryExp, exnVar, handlerExp, loc}) * R1{ "try" * 2[ +1 tryExp ] * +1 "handle" +d { exnVar:withType +1 "=>" } * 2[ +1 handlerExp ] * +1 "end" } *) (*% * @prefix formatWithType_ * @format({tryExp, exnVar, handlerExp, loc}) * R1{ "try" * 2[ +1 tryExp ] * +1 "handle" +d { exnVar +1 "=>" } * 2[ +1 handlerExp ] * +1 "end" } *) BCHANDLE of { tryExp : bcexp, exnVar : varInfo, handlerExp : bcexp, loc : loc } | (*% * @format({argVarList: arg args, funTy, * bodyExp, annotation, closureLayout, loc}) * !R1{"fn" +d args:appList(arg:withType)("(",",",")") +d "=>" * 3[ +1 bodyExp ] } *) (*% * @prefix formatWithType_ * @format({argVarList: arg args, funTy, * bodyExp, annotation, closureLayout, loc}) * L2{ R1{"fn" +d args:appList(arg)("(",",",")") +d "=>" * 3[ +1 bodyExp ] } * +1 ":" +d funTy } *) BCFNM of { argVarList : varInfo list, funTy : ty, bodyExp : bcexp, annotation : AnnotatedTypes.annotationLabel, closureLayout : closureLayout, loc : loc } | (*% * @format({btvEnv, expTyWithoutTAbs, exp, loc}) * "[" !R1{ btvEnv "." +1 exp } "]" *) (*% * @prefix formatWithType_ * @format({btvEnv, expTyWithoutTAbs, exp, loc}) * "[" !R1{ btvEnv "." +1 L2{ exp +1 ":" +d expTyWithoutTAbs } } "]" *) BCPOLY of { btvEnv : btvEnv, expTyWithoutTAbs : ty, exp : bcexp, loc : loc } | (*% * @format({exp, expTy, instTyList: ty tys, loc}) * L8{ 2[ exp * +1 tys:enclosedList(ty)("(",",",")") ] } *) (*% * @prefix formatWithType_ * @format({exp, expTy, instTyList: ty tys, loc}) * L8{ 2[ L2{ exp +1 ":" +d expTy } * +1 tys:enclosedList(ty)("(",",",")") ] } *) BCTAPP of { exp : bcexp, expTy : ty, instTyList : ty list, loc : loc } | (*% * @format({switchExp, expTy, branches: branch branches, defaultExp, loc}) * { 2[ "case" +1 switchExp +1 "of" ] } * branches:caseList(branch)(2[+1], +1 "|" +d, * !R1{ 2[ "_" +d "=>" +1 defaultExp ] }) * @format:branch({constant, branchExp}) * !R1{ 2[ constant +d "=>" +1 branchExp ] } *) (*% * @prefix formatWithType_ * @format({switchExp, expTy, branches: branch branches, defaultExp, loc}) * { 2[ "case" +1 L2{ switchExp +1 ":" +d expTy } +1 "of" ] } * branches:caseList(branch)(2[+1], +1 "|" +d, * !R1{ 2[ "_" +d "=>" +1 defaultExp ] }) * @format:branch({constant, branchExp}) * !R1{ 2[ constant +d "=>" +1 branchExp ] } *) BCSWITCH of { switchExp : bcexp, expTy : ty, branches : {constant : ConstantTerm.constant, branchExp : bcexp} list, defaultExp : bcexp, loc : loc } | (*% * @format({exp, expTy, targetTy, loc}) * "cast" "(" exp ")" *) (*% * @prefix formatWithType_ * @format({exp, expTy, targetTy, loc}) * "cast" "(" !L2{ L2{ exp +1 ":" +d expTy } +1 ":" +d targetTy} ")" *) BCCAST of { exp : bcexp, expTy : ty, targetTy : ty, loc : loc } and bcdecl = (*% * @format({boundVars: var vars, boundExp, loc}) * !R1{ "val" +d vars:appList(var:withType)("(",",",")") +d "=" * 4[ +1 boundExp ] } *) (*% * @prefix formatWithType_ * @format({boundVars: var vars, boundExp, loc}) * !R1{ "val" +d vars:appList(var)("(",",",")") +d "=" * 4[ +1 boundExp ] } *) BCVAL of { boundVars : varInfo list, boundExp : bcexp, loc : loc } | (*% * @format({recbindList: bind binds, loc}) * !R1{ binds:decList(bind)("val" +d "rec" +d, +1 "and" +d) } * @format:bind({boundVar, boundExp}) * boundVar:withType +d "=" 4[ +1 boundExp ] *) (*% * @prefix formatWithType_ * @format({recbindList: bind binds, loc}) * !R1{ binds:decList(bind)("val" +d "rec" +d, +1 "and" +d) } * @format:bind({boundVar, boundExp}) * boundVar +d "=" 4[ +1 boundExp ] *) BCVALREC of { recbindList : {boundVar : varInfo, boundExp: bcexp } list, loc : loc } | (*% * @format({exVarInfo, loc}) * !R1{ "extern" +d "val" +d exVarInfo } *) (*% * @prefix formatWithType_ * @format({exVarInfo, loc}) * !R1{ "extern" +d "val" +d exVarInfo } *) BCEXTERNVAR of { exVarInfo: exVarInfo, loc: loc } | (*% * @format({varInfo, varSize, varTag, loc}) * !R1{ "export" +d "val" +d * 4[ +1 L2{ varInfo +1 "/t" +d varTag +1 "/s" +d varSize } ] } *) (*% * @prefix formatWithType_ * @format({varInfo, varSize, varTag, loc}) * !R1{ "export" +d "val" +d * 4[ +1 L2{ varInfo +1 "/" +d varTag +1 "/" +d varSize } ] } *) BCEXPORTVAR of { varInfo : varInfo, varSize : bcexp, varTag : bcexp, loc : loc } withtype closureLayout = { recordSize : int, recordBitmap : word, codeAddressIndex : int, closureEnvIndex : int } end smlsharp-1.2.0/src/compiler/bitmapcalc/main/BitmapCalc.ppg.smi0000644 000000000000000000001441412050661606024431 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../annotatedtypes/main/AnnotatedTypes.ppg.smi" _require "../../constantterm/main/ConstantTerm.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../multiplevaluecalc/main/MultipleValueCalc.ppg.smi" _require "../../multiplevaluecalc/main/MultipleValueCalcUtils.smi" _require "../../name/main/LocalID.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../util/main/TermFormat.smi" structure BitmapCalc = struct type loc = Loc.loc type ty = AnnotatedTypes.ty val format_ty : ty -> SMLFormat.FormatExpression.expression list val formatWithType_ty : ty -> SMLFormat.FormatExpression.expression list type path = IDCalc.path val format_path : path -> SMLFormat.FormatExpression.expression list val formatWithType_path : path -> SMLFormat.FormatExpression.expression list type varInfo = {path : path, ty : ty, id : VarID.id} val format_varInfo : varInfo -> SMLFormat.FormatExpression.expression list val formatWithSimpleType_varInfo : varInfo -> SMLFormat.FormatExpression.expression list val formatWithType_varInfo : varInfo -> SMLFormat.FormatExpression.expression list type exVarInfo = {path : path, ty : ty} val format_exVarInfo : exVarInfo -> SMLFormat.FormatExpression.expression list val formatWithSimpleType_exVarInfo : exVarInfo -> SMLFormat.FormatExpression.expression list val formatWithType_exVarInfo : exVarInfo -> SMLFormat.FormatExpression.expression list type primInfo = MultipleValueCalc.primInfo val format_primInfo : primInfo -> SMLFormat.FormatExpression.expression list val formatWithType_primInfo : primInfo -> SMLFormat.FormatExpression.expression list type btvEnv = AnnotatedTypes.btvEnv val format_btvEnv : btvEnv -> SMLFormat.FormatExpression.expression list val formatWithType_btvEnv : btvEnv -> SMLFormat.FormatExpression.expression list datatype bcexp = BCFOREIGNAPPLY of { funExp : bcexp, foreignFunTy : AnnotatedTypes.foreignFunTy, argExpList : bcexp list, loc : loc } | BCEXPORTCALLBACK of { funExp : bcexp, (* must be BCFNM *) foreignFunTy : AnnotatedTypes.foreignFunTy, loc: loc } | BCCONSTANT of {value : ConstantTerm.constant, loc : loc} | BCGLOBALSYMBOL of { name : string, kind : Absyn.globalSymbolKind, ty : ty, loc : loc } | BCVAR of {varInfo : varInfo, loc : loc} | BCEXVAR of {exVarInfo : exVarInfo, varSize : bcexp, loc : loc} | BCPRIMAPPLY of { primInfo : primInfo, argExpList : bcexp list, instTyList : ty list, instTagList : bcexp list, instSizeList : bcexp list, loc : loc } | BCAPPM of { funExp : bcexp, funTy : ty, argExpList : bcexp list, loc : loc } | BCLET of { localDeclList : bcdecl list, mainExp : bcexp, loc : loc } | BCMVALUES of {expList : bcexp list, tyList : ty list, loc : loc} | BCRECORD of { fieldList : {fieldExp : bcexp, fieldTy : ty, fieldLabel : string, fieldSize : bcexp, fieldIndex : bcexp} list, recordTy : ty, annotation : AnnotatedTypes.annotationLabel, isMutable : bool, clearPad : bool, totalSizeExp : bcexp, bitmapExpList : bcexp list, loc : loc } | BCSELECT of { recordExp : bcexp, indexExp : bcexp, label : string, recordTy : ty, resultTy : ty, resultSize : bcexp, loc : loc } | BCMODIFY of { recordExp : bcexp, recordTy : ty, indexExp : bcexp, label : string, valueExp : bcexp, valueTy : ty, valueTag : bcexp, valueSize : bcexp, loc : loc } | BCRAISE of { argExp : bcexp, resultTy : ty, loc : loc } | BCHANDLE of { tryExp : bcexp, exnVar : varInfo, handlerExp : bcexp, loc : loc } | BCFNM of { argVarList : varInfo list, funTy : ty, bodyExp : bcexp, annotation : AnnotatedTypes.annotationLabel, closureLayout : { recordSize : int, recordBitmap : word, codeAddressIndex : int, closureEnvIndex : int }, loc : loc } | BCPOLY of { btvEnv : btvEnv, expTyWithoutTAbs : ty, exp : bcexp, loc : loc } | BCTAPP of { exp : bcexp, expTy : ty, instTyList : ty list, loc : loc } | BCSWITCH of { switchExp : bcexp, expTy : ty, branches : {constant : ConstantTerm.constant, branchExp : bcexp} list, defaultExp : bcexp, loc : loc } | BCCAST of { exp : bcexp, expTy : ty, targetTy : ty, loc : loc } and bcdecl = BCVAL of { boundVars : varInfo list, boundExp : bcexp, loc : loc } | BCVALREC of { recbindList : {boundVar : varInfo, boundExp: bcexp } list, loc : loc } | BCEXTERNVAR of { exVarInfo: exVarInfo, loc: loc } | BCEXPORTVAR of { varInfo : varInfo, varSize : bcexp, varTag : bcexp, loc : loc } type closureLayout = { recordSize : int, recordBitmap : word, codeAddressIndex : int, closureEnvIndex : int } val format_bcexp : bcexp -> SMLFormat.FormatExpression.expression list val format_bcdecl : bcdecl -> SMLFormat.FormatExpression.expression list val format_closureLayout : closureLayout -> SMLFormat.FormatExpression.expression list val formatWithType_bcexp : bcexp -> SMLFormat.FormatExpression.expression list val formatWithType_bcdecl : bcdecl -> SMLFormat.FormatExpression.expression list val formatWithType_closureLayout : closureLayout -> SMLFormat.FormatExpression.expression list end smlsharp-1.2.0/src/compiler/bitmapcompilation0000755 000000000000000000000000012050661606021540 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/bitmapcompilation/main0000755 000000000000000000000000012050661606022464 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/bitmapcompilation/main/BitmapCompilation.smi0000644 000000000000000000000141412050661606026670 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../annotatedtypes/main/AnnotatedTypes.ppg.smi" _require "../../bitmapcalc/main/BitmapCalc.ppg.smi" _require "../../constantterm/main/ConstantTerm.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../multiplevaluecalc/main/MultipleValueCalc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../runtimetypes/main/RuntimeTypes.ppg.smi" _require "../../runtimetypes/main/TypeLayout.smi" _require "RecordLayout.smi" _require "SingletonTyEnv.smi" structure BitmapCompilation = struct val compile : MultipleValueCalc.mvdecl list -> BitmapCalc.bcdecl list end smlsharp-1.2.0/src/compiler/bitmapcompilation/main/BitmapCompilation.sml0000644 000000000000000000005057112050661606026703 0ustar00rootroot0000000 0000000 (** * record layout and bitmap compilation * * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro * @author Huu-Duc Nguyen * @author Atsushi Ohori *) structure BitmapCompilation : sig val compile : MultipleValueCalc.mvdecl list -> BitmapCalc.bcdecl list end = struct structure M = MultipleValueCalc structure B = BitmapCalc structure T = AnnotatedTypes fun newVar ty = let val id = VarID.generate () in {id = id, path = ["$" ^ VarID.toString id], ty = ty} : B.varInfo end fun mapi f l = let fun loop f i nil = nil | loop f i (h::t) = f (i,h) :: loop f (i+1) t in loop f 0 l end fun valueToBcexp (value, sty, loc) = case value of RecordLayout.CONST n => let val const = ConstantTerm.WORD (Word32.fromLarge n) val exp = B.BCCONSTANT {value = const, loc = loc} in case sty of NONE => exp | SOME sty => B.BCCAST {exp = exp, expTy = T.wordty, targetTy = T.SINGLETONty sty, loc = loc} end | RecordLayout.VAR (v, castTy) => let val castTy = case (castTy, sty) of (_, SOME x) => SOME (T.SINGLETONty x) | (SOME x, NONE) => SOME x | (NONE, NONE) => NONE val exp = B.BCVAR {varInfo = v, loc = loc} in case castTy of NONE => exp | SOME ty => B.BCCAST {exp = exp, expTy = #ty v, targetTy = ty, loc = loc} end fun toBcdecl loc decl = case decl of RecordLayout.MOVE (var, value) => B.BCVAL {boundVars = [var], boundExp = valueToBcexp (value, NONE, loc), loc = loc} | RecordLayout.PRIMAPPLY {boundVar, primInfo, argList} => let val argExpList = map (fn v => valueToBcexp (v, NONE, loc)) argList in B.BCVAL {boundVars = [boundVar], boundExp = B.BCPRIMAPPLY {primInfo = primInfo, argExpList = argExpList, instTyList = nil, instTagList = nil, instSizeList = nil, loc = loc}, loc = loc} end fun Let (nil, mainExp, loc) = mainExp | Let (decls, mainExp, loc) = B.BCLET {localDeclList = decls, mainExp = mainExp, loc = loc} fun findTag (env, ty) = SingletonTyEnv.findTag env ty fun findSize (env, ty) = SingletonTyEnv.findSize env ty fun findTagExp (env, ty, loc) = case valueToBcexp (findTag (env, ty), NONE, loc) of exp as B.BCVAR _ => exp | exp => B.BCCAST {exp = exp, expTy = T.wordty, targetTy = T.SINGLETONty (T.TAGty ty), loc = loc} fun findSizeExp (env, ty, loc) = case valueToBcexp (findSize (env, ty), NONE, loc) of exp as B.BCVAR _ => exp | exp => B.BCCAST {exp = exp, expTy = T.wordty, targetTy = T.SINGLETONty (T.SIZEty ty), loc = loc} fun recordFieldTys env recordTy = let val (needAlign, fields) = case recordTy of T.RECORDty {fieldTypes, annotation = ref {align,...}} => (align, LabelEnv.listItemsi fieldTypes) | _ => raise Control.Bug "recordFieldTys" fun sizeOf ty = findSize (env, ty) (* 2011-12-27 Ohori. The noAlign (passed as needAlign in the above) predicate set by StaticAnalysis should have some special semantics and no for this purpose. So we should ignore this. In neare future we shall review and rewrite StaticAnalysis. fun sizeOf ty = if needAlign then findSize (env, ty) else RecordLayout.const TypeLayout.maxSize *) in map (fn (label, ty) => {label = label, ty = ty, size = sizeOf ty, tag = findTag (env, ty)}) fields end fun closureLayout () = let val entryTy = RuntimeTypes.CODEPOINTERty val envTy = RuntimeTypes.BOXEDty val entrySize = RecordLayout.const (TypeLayout.sizeOf entryTy) val entryTag = RecordLayout.const (TypeLayout.tagOf entryTy) val envSize = RecordLayout.const (TypeLayout.sizeOf envTy) val envTag = RecordLayout.const (TypeLayout.tagOf envTy) val fieldInfo = [{size = entrySize, tag = entryTag}, {size = envSize, tag = envTag}] val (calc, {totalSize, fieldIndexes, bitmap}) = RecordLayout.computeRecord fieldInfo val _ = case calc of nil => () | _ => raise Control.Bug "closureLayout" val totalSize = case RecordLayout.toLargeWord totalSize of SOME x => LargeWord.toInt x | _ => raise Control.Bug "closureLayout: totalSize" val (entryIndex, envIndex) = case map RecordLayout.toLargeWord fieldIndexes of [SOME x, SOME y] => (LargeWord.toInt x, LargeWord.toInt y) | _ => raise Control.Bug "closureLayout: index" val bitmap = case map RecordLayout.toLargeWord bitmap of [SOME x] => Word.fromLarge x | _ => raise Control.Bug "closureLayout: bitmap" in { recordSize = totalSize, recordBitmap = bitmap, codeAddressIndex = entryIndex, closureEnvIndex = envIndex } : B.closureLayout end fun compileExp env mvexp = case mvexp of M.MVFOREIGNAPPLY {funExp, foreignFunTy, argExpList, loc} => let val funExp = compileExp env funExp val argExpList = map (compileExp env) argExpList in B.BCFOREIGNAPPLY {funExp = funExp, foreignFunTy = foreignFunTy, argExpList = argExpList, loc = loc} end | M.MVEXPORTCALLBACK {funExp, foreignFunTy, loc} => let val funExp = compileExp env funExp in B.BCEXPORTCALLBACK {funExp = funExp, foreignFunTy = foreignFunTy, loc = loc} end | M.MVTAGOF {ty, loc} => findTagExp (env, ty, loc) | M.MVSIZEOF {ty, loc} => findSizeExp (env, ty, loc) | M.MVINDEXOF {label, recordTy, loc} => let val fields = recordFieldTys env recordTy fun find (fields, nil) = raise Control.Bug "compileExp: MVINDEXOF" | find (fields, {label=l,size,tag,ty}::t) = if l = label then (rev fields, {size=size}) else find ({size=size}::fields, t) val (fields, lastField) = find (nil, fields) val (decls, index) = RecordLayout.computeIndex (fields, lastField) val indexExp = valueToBcexp (index, SOME (T.INDEXty (label, recordTy)), loc) in Let (map (toBcdecl loc) decls, indexExp, loc) end | M.MVCONSTANT {value, loc} => B.BCCONSTANT {value = value, loc = loc} | M.MVGLOBALSYMBOL {name, kind, ty, loc} => B.BCGLOBALSYMBOL {name = name, kind = kind, ty = ty, loc = loc} | M.MVVAR {varInfo, loc} => B.BCVAR {varInfo = varInfo, loc = loc} | M.MVEXVAR {exVarInfo, loc} => B.BCEXVAR {exVarInfo = exVarInfo, varSize = findSizeExp (env, #ty exVarInfo, loc), loc=loc} (* | M.MVGETFIELD {arrayExp, indexExp, elementTy, loc} => let val arrayExp = compileExp env arrayExp val indexExp = compileExp env indexExp val elementSize = findSizeExp (env, elementTy, loc) in B.BCGETFIELD {arrayExp = arrayExp, indexExp = indexExp, elementTy = elementTy, elementSize = elementSize, loc = loc} end | M.MVSETFIELD {valueExp, arrayExp, indexExp, elementTy, loc} => let val valueExp = compileExp env valueExp val arrayExp = compileExp env arrayExp val indexExp = compileExp env indexExp val elementTag = findTagExp (env, elementTy, loc) val elementSize = findSizeExp (env, elementTy, loc) in B.BCSETFIELD {valueExp = valueExp, arrayExp = arrayExp, indexExp = indexExp, elementTy = elementTy, elementTag = elementTag, elementSize = elementSize, loc = loc} end | M.MVSETTAIL {consExp, newTailExp, tailLabel, listTy, consRecordTy, loc} => let val consExp = compileExp env consExp val newTailExp = compileExp env newTailExp val listTag = findTagExp (env, listTy, loc) val listSize = findSizeExp (env, listTy, loc) val tailLabelIndex = compileExp env (M.MVINDEXOF {label = tailLabel, recordTy = consRecordTy, loc = loc}) in B.BCSETTAIL {consExp = consExp, newTailExp = newTailExp, tailLabel = tailLabel, listTy = listTy, consRecordTy = consRecordTy, listTag = listTag, listSize = listSize, tailLabelIndex = tailLabelIndex, loc = loc} end | M.MVARRAY {sizeExp, initialValue, elementTy, isMutable, loc} => let val sizeExp = compileExp env sizeExp val initialValue = compileExp env initialValue val elementTag = findTagExp (env, elementTy, loc) val elementSize = findSizeExp (env, elementTy, loc) in B.BCARRAY {sizeExp = sizeExp, initialValue = initialValue, elementTy = elementTy, elementTag = elementTag, elementSize = elementSize, isMutable = isMutable, loc = loc} end | M.MVCOPYARRAY {srcExp, srcIndexExp, dstExp, dstIndexExp, lengthExp, elementTy, loc} => let val srcExp = compileExp env srcExp val srcIndexExp = compileExp env srcIndexExp val dstExp = compileExp env dstExp val dstIndexExp = compileExp env dstIndexExp val lengthExp = compileExp env lengthExp val elementTag = findTagExp (env, elementTy, loc) val elementSize = findSizeExp (env, elementTy, loc) in B.BCCOPYARRAY {srcExp = srcExp, srcIndexExp = srcIndexExp, dstExp = dstExp, dstIndexExp = dstIndexExp, lengthExp = lengthExp, elementTy = elementTy, elementTag = elementTag, elementSize = elementSize, loc = loc} end *) | M.MVPRIMAPPLY {primInfo, argExpList, instTyList, loc} => let val argExpList = map (compileExp env) argExpList val instTagList = map (fn ty => findTagExp (env, ty, loc)) instTyList val instSizeList = map (fn ty => findSizeExp (env, ty, loc)) instTyList in B.BCPRIMAPPLY {primInfo = primInfo, argExpList = argExpList, instTyList = instTyList, instTagList = instTagList, instSizeList = instSizeList, loc = loc} end | M.MVAPPM {funExp, funTy, argExpList, loc} => let val funExp = compileExp env funExp val argExpList = map (compileExp env) argExpList in B.BCAPPM {funExp = funExp, funTy = funTy, argExpList = argExpList, loc = loc} end | M.MVLET {localDeclList, mainExp, loc} => let val (env, localDeclList) = compileDeclList env localDeclList val mainExp = compileExp env mainExp in B.BCLET {localDeclList = localDeclList, mainExp = mainExp, loc = loc} end | M.MVMVALUES {expList, tyList, loc} => let val expList = map (compileExp env) expList in B.BCMVALUES {expList = expList, tyList = tyList, loc = loc} end | M.MVRECORD {fields, recordTy, annotation, isMutable, loc} => let val fieldList = map (fn {label, fieldExp} => {label = label, fieldExp = compileExp env fieldExp}) fields val fieldMap = foldl (fn ({label, fieldExp}, z) => if SEnv.inDomain (z, label) then raise Control.Bug "MVRECORD: doubled label" else SEnv.insert (z, label, fieldExp)) SEnv.empty fieldList val fields = recordFieldTys env recordTy val fieldInfo = map (fn {tag, size, ...} => {tag = tag, size = size}) fields val (decls, {totalSize, fieldIndexes, bitmap}) = RecordLayout.computeRecord fieldInfo val totalSize = valueToBcexp (totalSize, SOME (T.RECORDSIZEty recordTy), loc) val fieldList = ListPair.mapEq (fn ({label, ty, size, ...}, index) => case SEnv.find (fieldMap, label) of NONE => raise Control.Bug "MVRECORD: not found" | SOME exp => {fieldExp = exp, fieldLabel = label, fieldTy = ty, fieldIndex = valueToBcexp (index, SOME (T.INDEXty (label, recordTy)), loc), fieldSize = valueToBcexp (RecordLayout.castToWord size, SOME (T.SIZEty ty), loc)}) (fields, fieldIndexes) val bitmap = mapi (fn (i, v) => valueToBcexp (v, SOME (T.RECORDBITMAPty (i, recordTy)), loc)) bitmap in Let (map (toBcdecl loc) decls, B.BCRECORD {fieldList = fieldList, recordTy = recordTy, annotation = annotation, isMutable = isMutable, clearPad = true, totalSizeExp = totalSize, bitmapExpList = bitmap, loc = loc}, loc) end | M.MVSELECT {recordExp, indexExp, label, recordTy, resultTy, loc} => let val recordExp = compileExp env recordExp val indexExp = compileExp env indexExp val resultSize = findSizeExp (env, resultTy, loc) in B.BCSELECT {recordExp = recordExp, indexExp = indexExp, label = label, recordTy = recordTy, resultTy = resultTy, resultSize = resultSize, loc = loc} end | M.MVMODIFY {recordExp, recordTy, indexExp, label, valueExp, valueTy, loc} => let val recordExp = compileExp env recordExp val indexExp = compileExp env indexExp val valueExp = compileExp env valueExp val valueTag = findTagExp (env, valueTy, loc) val valueSize = findSizeExp (env, valueTy, loc) in B.BCMODIFY {recordExp = recordExp, recordTy = recordTy, indexExp = indexExp, label = label, valueExp = valueExp, valueTy = valueTy, valueTag = valueTag, valueSize = valueSize, loc = loc} end | M.MVRAISE {argExp, resultTy, loc} => let val argExp = compileExp env argExp in B.BCRAISE {argExp = argExp, resultTy = resultTy, loc = loc} end | M.MVHANDLE {exp, exnVar, handler, loc} => let val exp = compileExp env exp val env = SingletonTyEnv.bindVar (env, exnVar) val handler = compileExp env handler in B.BCHANDLE {tryExp = exp, exnVar = exnVar, handlerExp = handler, loc = loc} end | M.MVPOLY {btvEnv, expTyWithoutTAbs, exp, loc} => let val env = SingletonTyEnv.bindTyvars (env, btvEnv) val exp = compileExp env exp in B.BCPOLY {btvEnv = btvEnv, expTyWithoutTAbs = expTyWithoutTAbs, exp = exp, loc = loc} end | M.MVTAPP {exp, expTy, instTyList, loc} => let val exp = compileExp env exp in B.BCTAPP {exp = exp, expTy = expTy, instTyList = instTyList, loc = loc} end | M.MVSWITCH {switchExp, expTy, branches, defaultExp, loc} => let val switchExp = compileExp env switchExp val branches = map (fn {constant, exp} => {constant = constant, branchExp = compileExp env exp}) branches val defaultExp = compileExp env defaultExp in B.BCSWITCH {switchExp = switchExp, expTy = expTy, branches = branches, defaultExp = defaultExp, loc = loc} end | M.MVCAST {exp, expTy, targetTy, loc} => let val exp = compileExp env exp in B.BCCAST {exp = exp, expTy = expTy, targetTy = targetTy, loc = loc} end | M.MVFNM {argVarList, funTy, bodyExp, annotation, loc} => let val env = SingletonTyEnv.bindVars (env, argVarList) val bodyExp = compileExp env bodyExp in B.BCFNM {argVarList = argVarList, funTy = funTy, bodyExp = bodyExp, annotation = annotation, closureLayout = closureLayout (), loc = loc} end and compileDecl env mvdecl = case mvdecl of M.MVVAL {boundVars, boundExp, loc} => let val boundExp = compileExp env boundExp in (SingletonTyEnv.bindVars (env, boundVars), [B.BCVAL {boundVars = boundVars, boundExp = boundExp, loc = loc}]) end | M.MVVALREC {recbindList, loc} => let val env = SingletonTyEnv.bindVars (env, map #boundVar recbindList) val recbindList = map (fn {boundVar, boundExp} => {boundVar = boundVar, boundExp = compileExp env boundExp}) recbindList in (env, [B.BCVALREC {recbindList = recbindList, loc = loc}]) end | M.MVEXPORTVAR {varInfo, loc} => (env, [B.BCEXPORTVAR {varInfo = varInfo, varTag = findTagExp (env, #ty varInfo, loc), varSize = findSizeExp (env, #ty varInfo, loc), loc = loc}]) | M.MVEXTERNVAR {exVarInfo, loc} => (env, [B.BCEXTERNVAR {exVarInfo=exVarInfo, loc=loc}]) and compileDeclList env (decl::decls) = let val (env, decls1) = compileDecl env decl val (env, decls2) = compileDeclList env decls in (env, decls1 @ decls2) end | compileDeclList env nil = (env, nil) fun compile decls = let val (env, decls) = compileDeclList SingletonTyEnv.emptyEnv decls in decls end end smlsharp-1.2.0/src/compiler/bitmapcompilation/main/RecordLayout.smi0000644 000000000000000000000301612050661606025671 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../annotatedtypes/main/AnnotatedTypes.ppg.smi" _require "../../annotatedtypes/main/AnnotatedTypesUtils.smi" _require "../../bitmapcalc/main/BitmapCalc.ppg.smi" _require "../../builtin2/main/BuiltinPrimitive.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../runtimetypes/main/RuntimeTypes.ppg.smi" _require "../../runtimetypes/main/TypeLayout.smi" _require "../../builtin2/main/BuiltinTypes.smi" structure RecordLayout = struct datatype value = CONST of LargeWord.word | VAR of BitmapCalc.varInfo * AnnotatedTypes.ty option datatype decl = MOVE of BitmapCalc.varInfo * value | PRIMAPPLY of {boundVar: BitmapCalc.varInfo, primInfo: BitmapCalc.primInfo, argList: value list} type bitmap (= boxed) val printValue : value -> unit val printValues : value list -> unit val printBitmap : bitmap -> unit val const : int -> value val toLargeWord : value -> LargeWord.word option val castToWord : value -> value val emptyBitmap : bitmap val bitmapWords : bitmap -> value list val computeIndex : {size: value} list * {size: value} -> decl list * value val computeRecord : {tag: value, size: value} list -> decl list * {totalSize: value, fieldIndexes: value list, bitmap: value list} val addBitsToBitmap : {tag: value} list * bitmap -> decl list * bitmap end smlsharp-1.2.0/src/compiler/bitmapcompilation/main/RecordLayout.sml0000644 000000000000000000004010112050661606025670 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro *) structure RecordLayout :> sig datatype value = CONST of LargeWord.word | VAR of BitmapCalc.varInfo * AnnotatedTypes.ty option (* cast *) datatype decl = MOVE of BitmapCalc.varInfo * value | PRIMAPPLY of {boundVar: BitmapCalc.varInfo, primInfo: BitmapCalc.primInfo, argList: value list} type bitmap val printValue : value -> unit val printValues : value list -> unit val printBitmap : bitmap -> unit val const : int -> value val toLargeWord : value -> LargeWord.word option val castToWord : value -> value val emptyBitmap : bitmap val bitmapWords : bitmap -> value list val computeIndex : {size: value} list * {size: value} -> decl list * value val computeRecord : {tag: value, size: value} list -> decl list * {totalSize: value, fieldIndexes: value list, bitmap: value list} val addBitsToBitmap : {tag: value} list * bitmap -> decl list * bitmap end = struct structure T = AnnotatedTypes structure B = BitmapCalc structure P = BuiltinPrimitive fun newVar () = let val id = VarID.generate () in {id = id, path = ["$" ^ VarID.toString id], ty = T.wordty} : B.varInfo end datatype value = CONST of LargeWord.word | VAR of BitmapCalc.varInfo * AnnotatedTypes.ty option fun printValue v = case v of CONST x => print (LargeWord.toString x) | VAR (v,_) => print (Control.prettyPrint (BitmapCalc.format_varInfo v)) fun printValues l = app (fn v => (printValue v; print ",")) l fun const n = CONST (LargeWord.fromInt n) fun toLargeWord (CONST w) = SOME w | toLargeWord (VAR _) = NONE fun castToWord (CONST w) = CONST w | castToWord (VAR (var as {ty,...}, _)) = if (case ty of T.CONty {tyCon,...} => TypID.eq (#id tyCon, #id BuiltinTypes.wordTyCon) | _ => false) then VAR (var, NONE) else VAR (var, SOME T.wordty) datatype exp = ADD of value * value | SUB of value * value | DIV of value * value | AND of value * value | OR of value * value | LSHIFT of value * value | RSHIFT of value * value | NOT of value | VALUE of value datatype decl = MOVE of BitmapCalc.varInfo * value | PRIMAPPLY of {boundVar: BitmapCalc.varInfo, primInfo: BitmapCalc.primInfo, argList: value list} type bitmap = {maxNumBits: int, words: value list} (* lower word first *) fun printBitmap ({maxNumBits,words}:bitmap) = (print "["; printValues words; print "]:"; print (Int.toString maxNumBits)) val emptyBitmap = {maxNumBits = 0, words = nil} : bitmap fun bitmapWords ({words,...}:bitmap) = words datatype bind = BIND of (B.varInfo * exp) list val emptyBind = BIND nil fun addBind (BIND bind, var, exp) = BIND ((var, exp)::bind) fun comm (CONST x, VAR y) = (VAR y, CONST x) | comm (VAR (v1 as ({id=id1,...},_)), VAR (v2 as ({id=id2,...},_))) = (case VarID.compare (id1, id2) of GREATER => (VAR v2, VAR v1) | _ => (VAR v1, VAR v2)) | comm x = x fun comm x = x fun optimizeExp exp = case exp of ADD (CONST x, CONST y) => VALUE (CONST (LargeWord.+ (x, y))) | ADD (CONST 0w0, y) => VALUE y | ADD (x, CONST 0w0) => VALUE x | ADD x => ADD (comm x) | SUB (CONST x, CONST y) => VALUE (CONST (LargeWord.- (x, y))) | SUB (x, CONST 0w0) => VALUE x | SUB x => SUB x | DIV (CONST x, CONST y) => VALUE (CONST (LargeWord.div (x, y))) | DIV (x, CONST 0w1) => VALUE x | DIV x => DIV x | AND (CONST x, CONST y) => VALUE (CONST (LargeWord.andb (x, y))) | AND (CONST 0w0, y) => VALUE (CONST 0w0) | AND (x, CONST 0w0) => VALUE (CONST 0w0) | AND x => AND (comm x) | OR (CONST x, CONST y) => VALUE (CONST (LargeWord.orb (x, y))) | OR (CONST 0w0, y) => VALUE y | OR (x, CONST 0w0) => VALUE x | OR x => OR (comm x) | LSHIFT (CONST x, CONST y) => VALUE (CONST (LargeWord.<< (x, Word.fromLarge y))) | LSHIFT (CONST 0w0, y) => VALUE (CONST 0w0) | LSHIFT (x, CONST 0w0) => VALUE x | LSHIFT x => LSHIFT x | RSHIFT (CONST x, CONST y) => VALUE (CONST (LargeWord.>> (x, Word.fromLarge y))) | RSHIFT (CONST 0w0, y) => VALUE (CONST 0w0) | RSHIFT (x, CONST 0w0) => VALUE x | RSHIFT x => RSHIFT x | NOT (CONST x) => VALUE (CONST (LargeWord.notb x)) | NOT x => NOT x | VALUE x => VALUE x fun insert bind exp = case optimizeExp exp of VALUE x => (bind, x) | exp => let val v = newVar () in (addBind (bind, v, exp), VAR (v, NONE)) end fun PrimApply1 (var, prim, arg) = PRIMAPPLY {boundVar = var, primInfo = {primitive = prim, ty = AnnotatedTypesUtils.makeClosureFunTy ([T.wordty], T.wordty)}, argList = [arg]} fun PrimApply2 (var, prim, arg1, arg2) = PRIMAPPLY {boundVar = var, primInfo = {primitive = prim, ty = AnnotatedTypesUtils.makeClosureFunTy ([T.wordty, T.wordty], T.wordty)}, argList = [arg1, arg2]} fun bindToDecl (var, exp) = case exp of ADD (v1, v2) => PrimApply2 (var, P.Word_add, v1, v2) | SUB (v1, v2) => PrimApply2 (var, P.Word_sub, v1, v2) | DIV (v1, v2) => PrimApply2 (var, P.Word_div, v1, v2) | AND (v1, v2) => PrimApply2 (var, P.Word_andb, v1, v2) | OR (v1, v2) => PrimApply2 (var, P.Word_orb, v1, v2) | LSHIFT (v1, v2) => PrimApply2 (var, P.Word_lshift, v1, v2) | RSHIFT (v1, v2) => PrimApply2 (var, P.Word_rshift, v1, v2) | NOT v => PrimApply1 (var, P.Word_notb, v) | VALUE v => MOVE (var, v) fun toDecls (BIND binds) = rev (map bindToDecl binds) fun alignSize bind (recordSize, nextFieldSize) = case TypeLayout.alignComputation of TypeLayout.TRAILING_ZEROES => let (* align = next & (-next) * newSize = (size + (align - 1)) & ~(align - 1) * = (size - 1 - (-align)) & (-align) *) val (bind, bits) = insert bind (SUB (CONST 0w0, nextFieldSize)) val (bind, align) = insert bind (AND (nextFieldSize, bits)) val (bind, nmask) = insert bind (SUB (CONST 0w0, align)) val (bind, size1) = insert bind (SUB (recordSize, CONST 0w1)) val (bind, size2) = insert bind (SUB (size1, nmask)) val (bind, size3) = insert bind (AND (size2, nmask)) in (bind, size3) end (* computeIndexRev (f_{n+1}, [f_n, ..., f_1]) returns the index of * field f_{n+1} of record { f_1, ..., f_n, f_{n+1} }. *) fun computeIndexRev bind ({size=lastFieldSize}, fieldsRev) = let val (bind, layout) = computeLayoutRev bind fieldsRev val totalSize = case layout of nil => CONST 0w0 | {totalSize,...}::_ => totalSize val (bind, fieldIndex) = alignSize bind (totalSize, lastFieldSize) (* val _ = (print "fieldIndex(["; printValues (rev (map #size fieldsRev)); print "],"; printValue lastFieldSize; print ") = "; printValue fieldIndex; print "\n") *) in (bind, fieldIndex, layout) end (* computeLayoutRev ([f_n, ..., f_1]) computes the total size * of record { f_1, ..., f_n }. *) and computeLayoutRev bind nil = (bind, nil) | computeLayoutRev bind ((lastField as {size})::fieldsRev) = let val (bind, fieldIndex, layout) = computeIndexRev bind (lastField, fieldsRev) val (bind, totalSize) = insert bind (ADD (fieldIndex, size)) (* val _ = (print "totalSize("; printValues (rev (map #size (lastField::fieldsRev))); print ") = "; printValue totalSize; print "\n") *) in (bind, {fieldIndex=fieldIndex, totalSize=totalSize}::layout) end fun alignTotalSize bind nil = (bind, nil) | alignTotalSize bind ({fieldIndex:value, totalSize}::t) = let (* align totalSize to word boundary *) val wordSize = const (TypeLayout.sizeOf RuntimeTypes.UINTty) val (bind, totalSize) = alignSize bind (totalSize, wordSize) in (bind, {fieldIndex=fieldIndex, totalSize=totalSize}::t) end fun computeIndex (fields, lastField) = let val fields = map (fn {size} => {size = castToWord size}) fields val lastField = case lastField of {size} => {size = castToWord size} val (bind, fieldIndex, layout) = computeIndexRev emptyBind (lastField, rev fields) in (toDecls bind, fieldIndex) end fun setBitmapBit bind ({maxNumBits, words=nil}:bitmap, bit) = (bind, {maxNumBits=1, words=[bit]}:bitmap) | setBitmapBit bind ({maxNumBits, words=word::words}, bit) = let val (bind, word) = insert bind (OR (word, bit)) in (bind, {maxNumBits=maxNumBits, words=word::words}) end fun maxShift () = let val pointerSize = TypeLayout.sizeOf RuntimeTypes.BOXEDty val _ = if TypeLayout.maxSize mod pointerSize = 0 then () else raise Control.Bug "toMaxShift" in TypeLayout.maxSize div pointerSize end fun coerceToInt (CONST x, n) = LargeWord.toInt x | coerceToInt (VAR _, n) = n fun shiftBitmapBits bind (bitmap, CONST 0w0) = (bind, bitmap) | shiftBitmapBits bind ({maxNumBits, words}:bitmap, shift) = let val maxShift = coerceToInt (shift, maxShift ()) val _ = if 0 < maxShift andalso maxShift < TypeLayout.bitmapWordBits then () else raise Control.Bug "shiftBitmapBits" in case words of nil => (bind, {maxNumBits = maxShift, words = [CONST 0w0]}) | word::words => let val (bind, rshift) = if maxNumBits + maxShift > TypeLayout.bitmapWordBits then insert bind (SUB (const TypeLayout.bitmapWordBits, shift)) else (bind, CONST 0w0) (* dummy *) fun numBitsLastWord n = ((n - 1) mod TypeLayout.bitmapWordBits) + 1 fun shiftLoop (bind, word, nil) = if numBitsLastWord maxNumBits + maxShift > TypeLayout.bitmapWordBits then let val (bind, carry) = insert bind (RSHIFT (word, rshift)) val (bind, word) = insert bind (LSHIFT (word, shift)) in (bind, word, [carry]) end else let val (bind, word) = insert bind (LSHIFT (word, shift)) in (bind, word, nil) end | shiftLoop (bind, word, word2::words) = let val (bind, word2, words) = shiftLoop (bind, word2, words) val (bind, carry) = insert bind (RSHIFT (word, rshift)) val (bind, word2) = insert bind (OR (word2, carry)) val (bind, word) = insert bind (LSHIFT (word, shift)) in (bind, word, word2::words) end val (bind, word, words) = shiftLoop (bind, word, words) val bitmap = {maxNumBits = maxNumBits + maxShift, words = word::words} : bitmap in (bind, bitmap) end end (* computeRecordBitmapRev [f_n, ..., f_1] computes the record bitmap * of record { f_1, ..., f_n }. *) fun computeRecordBitmapRev bind (bitmap, nil) = (bind, bitmap) | computeRecordBitmapRev bind (bitmap, {tag, bitShift}::bitsRev) = let (* val _ = (print "shiftBitmap("; printBitmap bitmap; print ","; printValue bitShift; print ") = ") *) val (bind, bitmap) = shiftBitmapBits bind (bitmap, bitShift) (* val _ = ( printBitmap bitmap; print "\n") val _ = (print "setBitmapBit("; printBitmap bitmap; print ","; printValue tag; print ") = ") *) val (bind, bitmap) = setBitmapBit bind (bitmap, tag) (* val _ = ( printBitmap bitmap; print "\n") *) in computeRecordBitmapRev bind (bitmap, bitsRev) end (* computeBitIndex [f_1, ..., f_n] computes the range of bit indexes * in the record bitmap of the bits corresponding to fields f_n. *) fun computeBitIndex bind nil = (bind, CONST 0w0, nil) | computeBitIndex bind [{tag, fieldIndex, totalSize}] = let val pointerSize = const (TypeLayout.sizeOf RuntimeTypes.BOXEDty) val (bind, bitIndex) = insert bind (DIV (fieldIndex, pointerSize)) val (bind, bitSize) = case (totalSize, bitIndex) of (CONST _, CONST _) => let val (bind, nextIndex) = insert bind (DIV (totalSize, pointerSize)) in insert bind (SUB (nextIndex, bitIndex)) end | _ => (bind, const (maxShift ())) in (bind, bitIndex, [{tag = tag, bitShift = bitSize}]) end | computeBitIndex bind ({tag, fieldIndex, totalSize}::bits) = let val (bind, nextIndex, results) = computeBitIndex bind bits val pointerSize = const (TypeLayout.sizeOf RuntimeTypes.BOXEDty) val (bind, bitIndex) = insert bind (DIV (fieldIndex, pointerSize)) val (bind, bitSize) = insert bind (SUB (nextIndex, bitIndex)) in (bind, bitIndex, {tag = tag, bitShift = bitSize} :: results) end fun computeRecord fields = let (* val _ = print "--- computeRecord begin ---\n" val _ = (print "tag: "; printValues (map #tag fields); print "\n") val _ = (print "size: "; printValues (map #size fields); print "\n") *) val fields = map (fn {tag,size} => {tag = castToWord tag, size = castToWord size}) fields val sizes = map (fn {tag,size} => {size=size}) fields val (bind, layoutRev) = computeLayoutRev emptyBind (rev sizes) val (bind, layoutRev) = alignTotalSize bind layoutRev val totalSize = case layoutRev of nil => CONST 0w0 | {totalSize,...}::_ => totalSize val layout = rev layoutRev val fields = ListPair.mapEq (fn ({tag,size}, {fieldIndex, totalSize}) => {tag = tag, fieldIndex = fieldIndex, totalSize = totalSize}) (fields, layout) val (bind, _, bits) = computeBitIndex bind fields (* val _ = (print "bit: "; printValues (map #tag bits); print "\n") val _ = (print "shift: "; printValues (map #bitShift bits); print "\n") *) val (bind, bitmap) = computeRecordBitmapRev bind (emptyBitmap, rev bits) (* val _ = print "--- computeRecord end ---\n" *) in (toDecls bind, {totalSize = totalSize, fieldIndexes = map #fieldIndex layout, bitmap = #words bitmap}) end fun addBitsToBitmapRev bind (nil, bitmap:bitmap) = (bind, bitmap) | addBitsToBitmapRev bind ({tag}::bitsRev, bitmap as {maxNumBits, words}) = case words of nil => addBitsToBitmapRev bind (bitsRev, {maxNumBits = 1, words = [tag]}) | _::_ => let (* val _ = (print "shiftBitmap("; printBitmap bitmap; print ") = ") *) val (bind, bitmap) = shiftBitmapBits bind (bitmap, CONST 0w1) (* val _ = ( printBitmap bitmap; print "\n") val _ = (print "setBitmap("; printBitmap bitmap; print ","; printValue tag; print ") = ") *) val (bind, bitmap) = setBitmapBit bind (bitmap, tag) (* val _ = ( printBitmap bitmap; print "\n") *) in addBitsToBitmapRev bind (bitsRev, bitmap) end fun addBitsToBitmap (bits, bitmap) = let (* val _ = print "--- addBitsToBitmap start ---\n" val _ = (print "bits: "; printValues (map #tag bits); print "\n") *) val bits = map (fn {tag} => {tag = castToWord tag}) bits val (bind, bitmap) = addBitsToBitmapRev emptyBind (rev bits, bitmap) (* val _ = (print "return: "; printBitmap bitmap; print "\n") val _ = print "--- addBitsToBitmap end ---\n" *) in (toDecls bind, bitmap) end end smlsharp-1.2.0/src/compiler/bitmapcompilation/main/SingletonTyEnv.smi0000644 000000000000000000000166512050661606026215 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../annotatedtypes/main/AnnotatedTypes.ppg.smi" _require "../../bitmapcalc/main/BitmapCalc.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../runtimetypes/main/TypeLayout.smi" _require "RecordLayout.smi" structure SingletonTyEnv = struct type env (=boxed) val emptyEnv : env val bindTyvar : env * BoundTypeVarID.id * AnnotatedTypes.btvKind -> env val bindTyvars : env * BitmapCalc.btvEnv -> env val bindVar : env * BitmapCalc.varInfo -> env val bindVars : env * BitmapCalc.varInfo list -> env val btvEnv : env -> BitmapCalc.btvEnv val constTag : env -> AnnotatedTypes.ty -> int option val constSize : env -> AnnotatedTypes.ty -> int option val unalignedSize : env -> AnnotatedTypes.ty -> int val findTag : env -> AnnotatedTypes.ty -> RecordLayout.value val findSize : env -> AnnotatedTypes.ty -> RecordLayout.value end smlsharp-1.2.0/src/compiler/bitmapcompilation/main/SingletonTyEnv.sml0000644 000000000000000000001133412050661606026212 0ustar00rootroot0000000 0000000 (** * record layout and bitmap compilation * * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro * @author Huu-Duc Nguyen * @author Atsushi Ohori *) structure SingletonTyEnv :> sig type env val emptyEnv : env val bindTyvar : env * BoundTypeVarID.id * AnnotatedTypes.btvKind -> env val bindTyvars : env * BitmapCalc.btvEnv -> env val bindVar : env * BitmapCalc.varInfo -> env val bindVars : env * BitmapCalc.varInfo list -> env val btvEnv : env -> BitmapCalc.btvEnv val constTag : env -> AnnotatedTypes.ty -> int option val constSize : env -> AnnotatedTypes.ty -> int option val unalignedSize : env -> AnnotatedTypes.ty -> int val findTag : env -> AnnotatedTypes.ty -> RecordLayout.value val findSize : env -> AnnotatedTypes.ty -> RecordLayout.value end = struct structure B = BitmapCalc structure T = AnnotatedTypes datatype entry = SIZEty of BoundTypeVarID.id | TAGty of BoundTypeVarID.id type env = { btvEnv : B.btvEnv, vidMap : entry VarID.Map.map, tagEnv : B.varInfo BoundTypeVarID.Map.map, sizeEnv : B.varInfo BoundTypeVarID.Map.map } val emptyEnv = { btvEnv = BoundTypeVarID.Map.empty, vidMap = VarID.Map.empty, tagEnv = BoundTypeVarID.Map.empty, sizeEnv = BoundTypeVarID.Map.empty } : env val btvEnv = #btvEnv : env -> BitmapCalc.btvEnv fun bindVar ({btvEnv, vidMap, tagEnv, sizeEnv}:env, var as {id, ty, ...}) = let val (tagEnv, sizeEnv) = case VarID.Map.find (vidMap, id) of NONE => (tagEnv, sizeEnv) | SOME (TAGty tid) => (#1 (BoundTypeVarID.Map.remove (tagEnv, tid)), sizeEnv) | SOME (SIZEty tid) => (tagEnv, #1 (BoundTypeVarID.Map.remove (sizeEnv, tid))) val (vidMap, tagEnv) = case ty of T.SINGLETONty (T.TAGty (T.BOUNDVARty tid)) => (VarID.Map.insert (vidMap, id, TAGty tid), BoundTypeVarID.Map.insert (tagEnv, tid, var)) | _ => (vidMap, tagEnv) val (vidMap, sizeEnv) = case ty of T.SINGLETONty (T.SIZEty (T.BOUNDVARty tid)) => (VarID.Map.insert (vidMap, id, SIZEty tid), BoundTypeVarID.Map.insert (sizeEnv, tid, var)) | _ => (vidMap, sizeEnv) in {btvEnv = btvEnv, vidMap = vidMap, tagEnv = tagEnv, sizeEnv = sizeEnv} : env end fun bindVars (env, vars) = foldl (fn (x,z) => bindVar (z,x)) env vars fun bindTyvar ({btvEnv, vidMap, tagEnv, sizeEnv}:env, tid, kind) = let val (vidMap, tagEnv) = case BoundTypeVarID.Map.find (tagEnv, tid) of NONE => (vidMap, tagEnv) | SOME {id,...} => (#1 (VarID.Map.remove (vidMap, id)), #1 (BoundTypeVarID.Map.remove (tagEnv, tid))) val (vidMap, sizeEnv) = case BoundTypeVarID.Map.find (sizeEnv, tid) of NONE => (vidMap, sizeEnv) | SOME {id,...} => (#1 (VarID.Map.remove (vidMap, id)), #1 (BoundTypeVarID.Map.remove (sizeEnv, tid))) in {btvEnv = BoundTypeVarID.Map.insert (btvEnv, tid, kind), vidMap = vidMap, tagEnv = tagEnv, sizeEnv = sizeEnv} : env end fun bindTyvars (env, btvEnv) = BoundTypeVarID.Map.foldli (fn (tid, kind, env) => bindTyvar (env, tid, kind)) env btvEnv fun constTag ({btvEnv,...}:env) ty = case TypeLayout.runtimeTy btvEnv ty of NONE => NONE | SOME ty => SOME (TypeLayout.tagOf ty) fun constSize ({btvEnv,...}:env) ty = case TypeLayout.runtimeTy btvEnv ty of NONE => NONE | SOME ty => SOME (TypeLayout.sizeOf ty) fun unalignedSize env ty = case constSize env ty of NONE => TypeLayout.maxSize | SOME n => n fun findTag (env as {tagEnv, ...}) ty = case constTag env ty of SOME tag => RecordLayout.const tag | NONE => case ty of T.BOUNDVARty tid => ( case BoundTypeVarID.Map.find (tagEnv, tid) of NONE => raise Control.Bug "findTag" | SOME var => RecordLayout.VAR (var, NONE) ) | _ => raise Control.Bug "findTag" fun findSize (env as {sizeEnv,...}) ty = case constSize env ty of SOME size => RecordLayout.const size | NONE => case ty of T.BOUNDVARty tid => ( case BoundTypeVarID.Map.find (sizeEnv, tid) of NONE => raise Control.Bug ("sizeSize btvId:" ^ BoundTypeVarID.toString tid) | SOME var => RecordLayout.VAR (var, NONE) ) | _ => raise Control.Bug "findSize" end smlsharp-1.2.0/src/compiler/builtin20000755 000000000000000000000000012050661606017555 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/builtin2/main0000755 000000000000000000000000012050661606020501 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/builtin2/main/BuiltinPrimitive.ppg0000644 000000000000000000004704112050661606024575 0ustar00rootroot0000000 0000000 (* -*- sml -*- *) (** * built-in primitives. * @copyright (c) 2009, 2010, 2011, Tohoku University. * @author UENO Katsuhiro *) structure BuiltinPrimitive = struct (*% *) datatype overflow = (*% @format "ov" *) OverflowCheck | (*% @format *) NoOverflowCheck (*% *) (* * Each primitive is either * (1) a machine-level primitive operation, or * (2) a foreign function with which compiler need to deal in a * special way. (overloaded, inline-expanded, etc.) * If it is not needed for a functionality to be taken special care * by compiler, it should be implemented as a ordinary foreign function, * not a primitive. * * Every primitive name is resembled corresponding Basis library function. * The suffix "_unsafe" of primitive name means that the primitive does * not perform validity check, which Basis library specification requires. *) datatype primitive = (* true if two arguements are same value. *) Equal (* [''a.''a * ''a -> bool] *) (* true if two arguements are identical. used for exception match. *) | IdentityEqual (* ['a::boxed. 'a * 'a -> bool] *) | Exn_Name (* exn -> string *) | Array_allocArray (* int -> 'a array *) | Array_copy_unsafe (* 'a array * int * 'a array * int * int -> unit *) | Array_length (* 'a array -> int *) | Array_allocVector (* int -> 'a array *) | Array_sub (* 'a array * int -> 'a *) | Array_update (* 'a array * int * 'a -> unit *) | Byte_add (* Word8.word * Word8.word -> Word8.word *) | Byte_div (* Word8.word * Word8.word -> Word8.word *) | Byte_equal (* Word8.word * Word8.word -> bool *) | Byte_fromInt (* int -> Word8.word *) | Byte_fromWord (* word -> Word8.word *) | Byte_gt (* Word8.word * Word8.word -> bool *) | Byte_gteq (* Word8.word * Word8.word -> bool *) | Byte_lt (* Word8.word * Word8.word -> bool *) | Byte_lteq (* Word8.word * Word8.word -> bool *) | Byte_mod (* Word8.word * Word8.word -> Word8.word *) | Byte_mul (* Word8.word * Word8.word -> Word8.word *) | Byte_sub (* Word8.word * Word8.word -> Word8.word *) | Byte_toInt (* Word8.word -> int *) | Byte_toIntX (* Word8.word -> int *) | Byte_toWord (* Word8.word -> word *) | Cast (* 'a -> 'b *) | Char_chr_unsafe (* int -> char *) | Char_equal (* char * char -> bool *) | Char_gt (* char * char -> bool *) | Char_gteq (* char * char -> bool *) | Char_lt (* char * char -> bool *) | Char_lteq (* char * char -> bool *) | Char_ord (* char -> int *) | Float_abs (* Real32.real -> Real32.real *) | Float_add (* Real32.real * Real32.real -> Real32.real *) | Float_div (* Real32.real * Real32.real -> Real32.real *) | Float_equal (* Real32.real * Real32.real -> bool *) | Float_unorderedOrEqual(* Real32.real * Real32.real -> bool *) | Float_fromInt (* int -> Real32.real *) | Float_fromReal (* real -> Real32.real *) | Float_gt (* Real32.real * Real32.real -> bool *) | Float_gteq (* Real32.real * Real32.real -> bool *) | Float_lt (* Real32.real * Real32.real -> bool *) | Float_lteq (* Real32.real * Real32.real -> bool *) | Float_mul (* Real32.real * Real32.real -> Real32.real *) | Float_neg (* Real32.real -> Real32.real *) | Float_rem (* Real32.real * Real32.real -> Real32.real *) | Float_sub (* Real32.real * Real32.real -> Real32.real *) | Float_toReal (* Real32.real -> real *) | Float_trunc_unsafe of overflow (* Real32.real -> int *) | Int_abs of overflow (* int -> int *) | Int_add of overflow (* int * int -> int *) | Int_div of overflow (* int * int -> int *) | Int_equal (* int * int -> bool *) | Int_gt (* int * int -> bool *) | Int_gteq (* int * int -> bool *) | Int_lt (* int * int -> bool *) | Int_lteq (* int * int -> bool *) | Int_mod of overflow (* int * int -> int *) | Int_mul of overflow (* int * int -> int *) | Int_neg of overflow (* int -> int *) | Int_quot of overflow (* int * int -> int *) | Int_rem of overflow (* int * int -> int *) | Int_sub of overflow (* int * int -> int *) | Ptr_advance (* 'a ptr * int -> 'a ptr *) | Ptr_deref_int (* int ptr -> int *) | Ptr_deref_word (* word ptr -> word *) | Ptr_deref_word8 (* Word8.word ptr -> Word8.word *) | Ptr_deref_char (* char ptr -> char *) | Ptr_deref_real (* real ptr -> real *) | Ptr_deref_real32 (* Real32.real ptr -> Real32.real *) | Ptr_deref_ptr (* 'a ptr ptr -> 'a ptr *) | Ptr_store_int (* int ptr * int -> unit *) | Ptr_store_word (* word ptr * word -> unit *) | Ptr_store_word8 (* Word8.word ptr * Word8.word -> unit *) | Ptr_store_char (* char ptr * char -> unit *) | Ptr_store_real (* real ptr * real -> unit *) | Ptr_store_real32 (* Real32.real ptr * Real32.real -> unit *) | Ptr_store_ptr (* 'a ptr ptr * 'a ptr -> unit *) | Real_abs (* real-> real *) | Real_add (* real * real -> real *) | Real_div (* real * real -> real *) | Real_equal (* real * real -> bool *) (* Real.== *) | Real_unorderedOrEqual (* real * real -> bool *) (* Real.?= *) | Real_fromInt (* int -> real *) | Real_gt (* real * real -> bool *) | Real_gteq (* real * real -> bool *) | Real_lt (* real * real -> bool *) | Real_lteq (* real * real -> bool *) | Real_mul (* real * real -> real *) | Real_neg (* real -> real *) | Real_rem (* real * real -> real *) | Real_sub (* real * real -> real *) | Real_trunc_unsafe of overflow (* real -> int *) | Ref_alloc (* 'a -> 'a ref *) | Ref_assign (* 'a ref * 'a -> unit *) | Ref_deref (* 'a ref -> 'a *) | String_allocArray (* int -> string *) | String_copy_unsafe (* string * int * string * int * int -> unit *) | String_equal (* string * string -> bool *) | String_compare (* string * string -> int *) | String_size (* string -> int *) | String_sub (* string * int -> char *) | String_update (* string * int * char -> unit *) | String_allocVector (* int -> string *) | Word_add (* word * word -> word *) | Word_andb (* word * word -> word *) | Word_arshift (* word * word -> word *) | Word_div (* word * word -> word *) | Word_equal (* word * word -> bool *) | Word_fromInt (* int -> word *) | Word_gt (* word * word -> bool *) | Word_gteq (* word * word -> bool *) | Word_lshift (* word * word -> word *) | Word_lt (* word * word -> bool *) | Word_lteq (* word * word -> bool *) | Word_mod (* word * word -> word *) | Word_mul (* word * word -> word *) | Word_neg (* word -> word *) | Word_notb (* word -> word *) | Word_orb (* word * word -> word *) | Word_rshift (* word * word -> word *) | Word_sub (* word * word -> word *) | Word_toIntX (* word -> int *) | Word_xorb (* word * word -> word *) (* "read" is not actually an effect, but primitives whose "read" is true * have control dependencies on those which have "update" effect. *) type sideEffect = { throw : bool, (* may raise exception *) read : bool, (* may read data from mutable memory *) update : bool, (* may destructively update memory *) memory : bool (* may allocate mutable memory *) } local val none : sideEffect = {memory = false, update = false, read = false, throw = false} val memory : sideEffect = {memory = true, update = false, read = false, throw = false} val update : sideEffect = {memory = false, update = true, read = false, throw = false} val read : sideEffect = {memory = false, update = false, read = true, throw = false} val throw : sideEffect = {memory = false, update = false, read = false, throw = true} val update_or_read : sideEffect = {memory = false, update = true, read = true, throw = false} val throw_or_memory : sideEffect = {memory = true, update = false, read = false, throw = true} val throw_or_update : sideEffect = {memory = false, update = true, read = false, throw = true} val throw_or_read : sideEffect = {memory = false, update = false, read = true, throw = true} in fun haveSideEffect prim = case prim of Equal => none | IdentityEqual => none | Exn_Name => none | Array_allocArray => throw_or_memory (* Size *) | Array_copy_unsafe => update_or_read (* does not raise Subscript *) | Array_length => none | Array_allocVector => throw (* Size *) | Array_sub => throw_or_read (* Subscript *) | Array_update => throw_or_update (* Subscript *) | Byte_add => none | Byte_div => throw (* Div *) | Byte_equal => none | Byte_fromInt => none | Byte_fromWord => none | Byte_gt => none | Byte_gteq => none | Byte_lt => none | Byte_lteq => none | Byte_mod => throw (* Div *) | Byte_mul => none | Byte_sub => none | Byte_toInt => none (* never overflow *) | Byte_toIntX => none (* never overflow *) | Byte_toWord => none (* never overflow *) | Cast => none | Char_chr_unsafe => none (* does not raise Chr *) | Char_equal => none | Char_gt => none | Char_gteq => none | Char_lt => none | Char_lteq => none | Char_ord => none | Float_abs => none | Float_add => none | Float_div => none | Float_equal => none | Float_unorderedOrEqual => none | Float_fromInt => none | Float_fromReal => none | Float_gt => none | Float_gteq => none | Float_lt => none | Float_lteq => none | Float_mul => none | Float_neg => none | Float_rem => none | Float_sub => none | Float_toReal => none | Float_trunc_unsafe NoOverflowCheck => none (* does not raise Domain *) | Float_trunc_unsafe OverflowCheck => throw (* Overflow *) | Int_abs NoOverflowCheck => none | Int_abs OverflowCheck => throw (* Overflow *) | Int_add NoOverflowCheck => none | Int_add OverflowCheck => throw (* Overflow *) | Int_div _ => throw (* Div, Overflow *) | Int_equal => none | Int_gt => none | Int_gteq => none | Int_lt => none | Int_lteq => none | Int_mod _ => throw (* Div, Overflow *) | Int_mul NoOverflowCheck => none | Int_mul OverflowCheck => throw (* Overflow *) | Int_neg NoOverflowCheck => none | Int_neg OverflowCheck => throw (* Overflow *) | Int_quot _ => throw (* Div, Overflow *) | Int_rem _ => throw (* Div, Overflow *) | Int_sub NoOverflowCheck => none | Int_sub OverflowCheck => throw (* Overflow *) | Ptr_advance => none | Ptr_deref_int => read | Ptr_deref_word => read | Ptr_deref_word8 => read | Ptr_deref_char => read | Ptr_deref_real => read | Ptr_deref_real32 => read | Ptr_deref_ptr => read | Ptr_store_int => update | Ptr_store_word => update | Ptr_store_word8 => update | Ptr_store_char => update | Ptr_store_real => update | Ptr_store_real32 => update | Ptr_store_ptr => update | Real_abs => none | Real_add => none | Real_div => none | Real_equal => none | Real_unorderedOrEqual => none | Real_fromInt => none | Real_gt => none | Real_gteq => none | Real_lt => none | Real_lteq => none | Real_mul => none | Real_neg => none | Real_rem => none | Real_sub => none | Real_trunc_unsafe NoOverflowCheck => none (* does not raise Domain *) | Real_trunc_unsafe OverflowCheck => throw (* Overflow *) | Ref_alloc => memory | Ref_assign => update | Ref_deref => read | String_allocArray => throw_or_memory (* Size *) | String_copy_unsafe => update_or_read (* does not raise Subscript *) | String_equal => none | String_compare => none | String_size => none | String_sub => throw_or_read (* Subscript *) | String_update => throw_or_update | String_allocVector => throw (* Size *) | Word_add => none | Word_andb => none | Word_arshift => none | Word_div => throw (* Div *) | Word_equal => none | Word_fromInt => none | Word_gt => none | Word_gteq => none | Word_lshift => none | Word_lt => none | Word_lteq => none | Word_mod => throw (* Div *) | Word_mul => none | Word_neg => none | Word_notb => none | Word_orb => none | Word_rshift => none | Word_sub => none | Word_toIntX => none (* never overflow *) | Word_xorb => none end (* local *) fun findPrimitive name = case name of "Equal" => SOME Equal | "IdentityEqual" => SOME IdentityEqual | "Exn_Name" => SOME Exn_Name | "Array_allocArray" => SOME Array_allocArray | "Array_copy_unsafe" => SOME Array_copy_unsafe | "Array_length" => SOME Array_length | "Array_allocVector" => SOME Array_allocVector | "Array_sub" => SOME Array_sub | "Array_update" => SOME Array_update | "Byte_add" => SOME Byte_add | "Byte_div" => SOME Byte_div | "Byte_equal" => SOME Byte_equal | "Byte_fromInt" => SOME Byte_fromInt | "Byte_fromWord" => SOME Byte_fromWord | "Byte_gt" => SOME Byte_gt | "Byte_gteq" => SOME Byte_gteq | "Byte_lt" => SOME Byte_lt | "Byte_lteq" => SOME Byte_lteq | "Byte_mod" => SOME Byte_mod | "Byte_mul" => SOME Byte_mul | "Byte_sub" => SOME Byte_sub | "Byte_toInt" => SOME Byte_toInt | "Byte_toIntX" => SOME Byte_toIntX | "Byte_toWord" => SOME Byte_toWord | "Cast" => SOME Cast | "Char_chr_unsafe" => SOME Char_chr_unsafe | "Char_equal" => SOME Char_equal | "Char_gt" => SOME Char_gt | "Char_gteq" => SOME Char_gteq | "Char_lt" => SOME Char_lt | "Char_lteq" => SOME Char_lteq | "Char_ord" => SOME Char_ord | "Float_abs" => SOME Float_abs | "Float_add" => SOME Float_add | "Float_div" => SOME Float_div | "Float_equal" => SOME Float_equal | "Float_unorderedOrEqual" => SOME Float_unorderedOrEqual | "Float_fromInt" => SOME Float_fromInt | "Float_fromReal" => SOME Float_fromReal | "Float_gt" => SOME Float_gt | "Float_gteq" => SOME Float_gteq | "Float_lt" => SOME Float_lt | "Float_lteq" => SOME Float_lteq | "Float_mul" => SOME Float_mul | "Float_neg" => SOME Float_neg | "Float_rem" => SOME Float_rem | "Float_sub" => SOME Float_sub | "Float_toReal" => SOME Float_toReal | "Float_trunc_unsafe" => SOME (Float_trunc_unsafe NoOverflowCheck) | "Float_trunc_unsafe_noov" => SOME (Float_trunc_unsafe NoOverflowCheck) | "Int_abs" => SOME (Int_abs OverflowCheck) | "Int_abs_noov" => SOME (Int_abs NoOverflowCheck) | "Int_add" => SOME (Int_add OverflowCheck) | "Int_add_noov" => SOME (Int_add NoOverflowCheck) | "Int_div" => SOME (Int_div OverflowCheck) | "Int_div_noov" => SOME (Int_div NoOverflowCheck) | "Int_equal" => SOME Int_equal | "Int_gt" => SOME Int_gt | "Int_gteq" => SOME Int_gteq | "Int_lt" => SOME Int_lt | "Int_lteq" => SOME Int_lteq | "Int_mod" => SOME (Int_mod OverflowCheck) | "Int_mod_noov" => SOME (Int_mod NoOverflowCheck) | "Int_mul" => SOME (Int_mul OverflowCheck) | "Int_mul_noov" => SOME (Int_mul NoOverflowCheck) | "Int_neg" => SOME (Int_neg OverflowCheck) | "Int_neg_noov" => SOME (Int_neg NoOverflowCheck) | "Int_quot" => SOME (Int_quot OverflowCheck) | "Int_quot_noov" => SOME (Int_quot NoOverflowCheck) | "Int_rem" => SOME (Int_rem OverflowCheck) | "Int_rem_noov" => SOME (Int_rem NoOverflowCheck) | "Int_sub" => SOME (Int_sub OverflowCheck) | "Int_sub_noov" => SOME (Int_sub NoOverflowCheck) | "Ptr_advance" => SOME Ptr_advance | "Ptr_deref_int" => SOME Ptr_deref_int | "Ptr_deref_word" => SOME Ptr_deref_word | "Ptr_deref_word8" => SOME Ptr_deref_word8 | "Ptr_deref_char" => SOME Ptr_deref_char | "Ptr_deref_real" => SOME Ptr_deref_real | "Ptr_deref_real32" => SOME Ptr_deref_real32 | "Ptr_deref_ptr" => SOME Ptr_deref_ptr | "Ptr_store_int" => SOME Ptr_store_int | "Ptr_store_word" => SOME Ptr_store_word | "Ptr_store_word8" => SOME Ptr_store_word8 | "Ptr_store_char" => SOME Ptr_store_char | "Ptr_store_real" => SOME Ptr_store_real | "Ptr_store_real32" => SOME Ptr_store_real32 | "Ptr_store_ptr" => SOME Ptr_store_ptr | "Real_abs" => SOME Real_abs | "Real_add" => SOME Real_add | "Real_div" => SOME Real_div | "Real_equal" => SOME Real_equal | "Real_unorderedOrEqual" => SOME Real_unorderedOrEqual | "Real_fromInt" => SOME Real_fromInt | "Real_gt" => SOME Real_gt | "Real_gteq" => SOME Real_gteq | "Real_lt" => SOME Real_lt | "Real_lteq" => SOME Real_lteq | "Real_mul" => SOME Real_mul | "Real_neg" => SOME Real_neg | "Real_rem" => SOME Real_rem | "Real_sub" => SOME Real_sub | "Real_trunc_unsafe" => SOME (Real_trunc_unsafe OverflowCheck) | "Real_trunc_unsafe_noov" => SOME (Real_trunc_unsafe NoOverflowCheck) | "Ref_alloc" => SOME Ref_alloc | "Ref_assign" => SOME Ref_assign | "Ref_deref" => SOME Ref_deref | "String_allocArray" => SOME String_allocArray | "String_copy_unsafe" => SOME String_copy_unsafe | "String_equal" => SOME String_equal | "String_compare" => SOME String_compare | "String_size" => SOME String_size | "String_sub" => SOME String_sub | "String_update" => SOME String_update | "String_allocVector" => SOME String_allocVector | "Word_add" => SOME Word_add | "Word_andb" => SOME Word_andb | "Word_arshift" => SOME Word_arshift | "Word_div" => SOME Word_div | "Word_equal" => SOME Word_equal | "Word_fromInt" => SOME Word_fromInt | "Word_gt" => SOME Word_gt | "Word_gteq" => SOME Word_gteq | "Word_lshift" => SOME Word_lshift | "Word_lt" => SOME Word_lt | "Word_lteq" => SOME Word_lteq | "Word_mod" => SOME Word_mod | "Word_mul" => SOME Word_mul | "Word_neg" => SOME Word_neg | "Word_notb" => SOME Word_notb | "Word_orb" => SOME Word_orb | "Word_rshift" => SOME Word_rshift | "Word_sub" => SOME Word_sub | "Word_toIntX" => SOME Word_toIntX | "Word_xorb" => SOME Word_xorb | _ => NONE end smlsharp-1.2.0/src/compiler/builtin2/main/BuiltinPrimitive.ppg.smi0000644 000000000000000000000537712050661606025372 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" structure BuiltinPrimitive = struct datatype overflow = OverflowCheck | NoOverflowCheck val format_overflow : overflow -> SMLFormat.FormatExpression.expression list datatype primitive = Equal | IdentityEqual | Exn_Name | Array_allocArray | Array_copy_unsafe | Array_length | Array_allocVector | Array_sub | Array_update | Byte_add | Byte_div | Byte_equal | Byte_fromInt | Byte_fromWord | Byte_gt | Byte_gteq | Byte_lt | Byte_lteq | Byte_mod | Byte_mul | Byte_sub | Byte_toInt | Byte_toIntX | Byte_toWord | Cast | Char_chr_unsafe | Char_equal | Char_gt | Char_gteq | Char_lt | Char_lteq | Char_ord | Float_abs | Float_add | Float_div | Float_equal | Float_unorderedOrEqual | Float_fromInt | Float_fromReal | Float_gt | Float_gteq | Float_lt | Float_lteq | Float_mul | Float_neg | Float_rem | Float_sub | Float_toReal | Float_trunc_unsafe of overflow | Int_abs of overflow | Int_add of overflow | Int_div of overflow | Int_equal | Int_gt | Int_gteq | Int_lt | Int_lteq | Int_mod of overflow | Int_mul of overflow | Int_neg of overflow | Int_quot of overflow | Int_rem of overflow | Int_sub of overflow | Ptr_advance | Ptr_deref_int | Ptr_deref_word | Ptr_deref_word8 | Ptr_deref_char | Ptr_deref_real | Ptr_deref_real32 | Ptr_deref_ptr | Ptr_store_int | Ptr_store_word | Ptr_store_word8 | Ptr_store_char | Ptr_store_real | Ptr_store_real32 | Ptr_store_ptr | Real_abs | Real_add | Real_div | Real_equal | Real_unorderedOrEqual | Real_fromInt | Real_gt | Real_gteq | Real_lt | Real_lteq | Real_mul | Real_neg | Real_rem | Real_sub | Real_trunc_unsafe of overflow | Ref_alloc | Ref_assign | Ref_deref | String_allocArray | String_copy_unsafe | String_equal | String_compare | String_size | String_sub | String_update | String_allocVector | Word_add | Word_andb | Word_arshift | Word_div | Word_equal | Word_fromInt | Word_gt | Word_gteq | Word_lshift | Word_lt | Word_lteq | Word_mod | Word_mul | Word_neg | Word_notb | Word_orb | Word_rshift | Word_sub | Word_toIntX | Word_xorb val format_primitive : primitive -> SMLFormat.FormatExpression.expression list type sideEffect = {throw: bool, update: bool, read: bool, memory: bool} val haveSideEffect : primitive -> sideEffect val findPrimitive : string -> primitive option end smlsharp-1.2.0/src/compiler/builtin2/main/BuiltinTypeNames.ppg0000644 000000000000000000000517012050661606024527 0ustar00rootroot0000000 0000000 structure BuiltinTypeNames = struct (*% *) datatype bty = (*% @format "int" *) INTty | (*% @format "intInf" *) INTINFty | (*% @format "word" *) WORDty | (*% @format "word8" *) WORD8ty | (*% @format "char" *) CHARty | (*% @format "string" *) STRINGty | (*% @format "real" *) REALty | (*% @format "real32" *) REAL32ty | (*% @format "unit" *) UNITty | (*% @format "ptr" *) PTRty (* 'a ptr *) | (*% @format "array" *) ARRAYty (* 'a array *) | (*% @format "vector" *) VECTORty (* 'a vector *) | (*% @format "exn" *) EXNty | (*% @format "boxed" *) BOXEDty (* pointer to some ML object *) | (*% @format "exntag" *) EXNTAGty (* the type of x in exception E = x *) | (*% @format "ref" *) REFty (* the ref type constructor *) | (*% @format "bool" *) BOOLty | (*% @format "list" *) LISTty | (*% @format "option" *) OPTIONty | (*% @format "order" *) ORDERty (* the following are for SQL *) | (*% @format "server" *) SERVERty (* database servser *) | (*% @format "dbi" *) DBIty (* database witness *) | (*% @format "value" *) VALUEty (* database values *) | (*% @format "conn" *) CONNty | (*% @format "db" *) DBty | (*% @format "table" *) TABLEty | (*% @format "row" *) ROWty | (*% @format "result" *) RESULTty | (*% @format "rel" *) RELty | (*% @format "query" *) QUERYty | (*% @format "command" *) COMMANDty fun findType name = case name of "int" => SOME INTty | "intInf" => SOME INTINFty | "word" => SOME WORDty | "word8" => SOME WORD8ty | "char" => SOME CHARty | "string" => SOME STRINGty | "real" => SOME REALty | "real32" => SOME REAL32ty | "unit" => SOME UNITty | "ptr" => SOME PTRty | "array" => SOME ARRAYty | "vector" => SOME VECTORty | "exn" => SOME EXNty | "boxed" => SOME BOXEDty | "exntag" => SOME EXNTAGty | "ref" => SOME REFty | "bool" => SOME BOOLty | "list" => SOME LISTty | "option" => SOME OPTIONty | "order" => SOME ORDERty | "server" => SOME SERVERty | "dbi" => SOME DBIty | "value" => SOME VALUEty | "conn" => SOME CONNty | "db" => SOME DBty | "table" => SOME TABLEty | "row" => SOME ROWty | "result" => SOME RESULTty | "rel" => SOME RELty | "query" => SOME QUERYty | "command" => SOME COMMANDty | _ => NONE end smlsharp-1.2.0/src/compiler/builtin2/main/BuiltinTypeNames.ppg.smi0000644 000000000000000000000121612050661606025313 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" structure BuiltinTypeNames = struct datatype bty = INTty | INTINFty | WORDty | WORD8ty | CHARty | STRINGty | REALty | REAL32ty | UNITty | PTRty | ARRAYty | VECTORty | EXNty | BOXEDty | EXNTAGty | REFty | BOOLty | LISTty | OPTIONty | ORDERty | SERVERty | DBIty | VALUEty | CONNty | DBty | TABLEty | ROWty | RESULTty | RELty | QUERYty | COMMANDty val findType : string -> bty option val format_bty : bty -> SMLFormat.FormatExpression.expression list end smlsharp-1.2.0/src/compiler/builtin2/main/BuiltinTypes.smi0000644 000000000000000000001075212050661606023732 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../util/main/utils.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../types/main/EvalIty.smi" _require "../../types/main/Types.ppg.smi" _require "BuiltinTypeNames.ppg.smi" structure BuiltinTypes = struct type tstrInfo = {tfun:IDCalc.tfun, varE:IDCalc.varE, formals:IDCalc.formals, conSpec:IDCalc.conSpec} val equalTy : BuiltinTypeNames.bty * BuiltinTypeNames.bty -> bool val compatTy : {absTy: BuiltinTypeNames.bty, implTy: BuiltinTypeNames.bty} -> bool val findTstrInfo : string -> tstrInfo option val intTstrInfo : tstrInfo val intTyCon : Types.tyCon val intITy : IDCalc.ty val intTy : Types.ty val intInfTstrInfo : tstrInfo val intInfTyCon : Types.tyCon val intInfITy : IDCalc.ty val intInfTy : Types.ty val wordTstrInfo : tstrInfo val wordTyCon : Types.tyCon val wordITy : IDCalc.ty val wordTy : Types.ty val word8TstrInfo : tstrInfo val word8TyCon : Types.tyCon val word8ITy : IDCalc.ty val word8Ty : Types.ty val charTstrInfo : tstrInfo val charTyCon : Types.tyCon val charITy : IDCalc.ty val charTy : Types.ty val stringTstrInfo : tstrInfo val stringTyCon : Types.tyCon val stringITy : IDCalc.ty val stringTy : Types.ty val realTstrInfo : tstrInfo val realTyCon : Types.tyCon val realITy : IDCalc.ty val realTy : Types.ty val real32TstrInfo : tstrInfo val real32TyCon : Types.tyCon val real32ITy : IDCalc.ty val real32Ty : Types.ty val unitTstrInfo : tstrInfo val unitTyCon : Types.tyCon val unitITy : IDCalc.ty val unitTy : Types.ty val ptrTstrInfo : tstrInfo val ptrTyCon : Types.tyCon val ptrTy : Types.ty val arrayTstrInfo : tstrInfo val arrayTyCon : Types.tyCon val vectorTstrInfo : tstrInfo val vectorTyCon : Types.tyCon val boxedTstrInfo : tstrInfo val boxedTyCon : Types.tyCon val boxedITy : IDCalc.ty val boxedTy : Types.ty val exnTstrInfo : tstrInfo val exnTyCon : Types.tyCon val exnITy : IDCalc.ty val exnTy : Types.ty val exntagTstrInfo : tstrInfo val exntagTyCon : Types.tyCon val exntagITy : IDCalc.ty val exntagTy : Types.ty val refTstrInfo : tstrInfo val refTyCon : Types.tyCon val refICConInfo : IDCalc.conInfo val refTPConInfo : Types.conInfo val boolTstrInfo : tstrInfo val boolTyCon : Types.tyCon val boolITy : IDCalc.ty val boolTy : Types.ty val trueICConInfo : IDCalc.conInfo val trueTPConInfo : Types.conInfo val falseTPConInfo : Types.conInfo val listTstrInfo : tstrInfo val listTyCon : Types.tyCon val consICConInfo : IDCalc.conInfo val consTPConInfo : Types.conInfo val nilICConInfo : IDCalc.conInfo val nilTPConInfo : Types.conInfo val optionTstrInfo : tstrInfo val optionTyCon : Types.tyCon val optionITy : IDCalc.ty val optionTy : Types.ty val SOMEICConInfo : IDCalc.conInfo val SOMETPConInfo : Types.conInfo val NONEICConInfo : IDCalc.conInfo val NONETPConInfo : Types.conInfo val orderTstrInfo : tstrInfo val orderTyCon : Types.tyCon val orderITy : IDCalc.ty val orderTy : Types.ty val EQUALICConInfo : IDCalc.conInfo val EQUALTPConInfo : Types.conInfo val LESSICConInfo : IDCalc.conInfo val LESSTPConInfo : Types.conInfo val GREATERICConInfo : IDCalc.conInfo val GREATERTPConInfo : Types.conInfo val serverTstrInfo : tstrInfo val serverTyCon : Types.tyCon val SERVERICConInfo : IDCalc.conInfo val SERVERTPConInfo : Types.conInfo val dbiTstrInfo : tstrInfo val dbiTyCon : Types.tyCon val dbiTy : Types.ty val DBIICConInfo : IDCalc.conInfo val DBITPConInfo : Types.conInfo val valueTstrInfo : tstrInfo val valueTyCon : Types.tyCon val VALUEICConInfo : IDCalc.conInfo val VALUETPConInfo : Types.conInfo val BindExExn : Types.exExnInfo val MatchExExn : Types.exExnInfo val SubscriptExExn : Types.exExnInfo val SizeExExn : Types.exExnInfo val OverflowExExn : Types.exExnInfo val DivExExn : Types.exExnInfo val DomainExExn : Types.exExnInfo val FailExExn : Types.exExnInfo val ChrExExn : Types.exExnInfo val SpanExExn : Types.exExnInfo val EmptyExExn : Types.exExnInfo val OptionExExn : Types.exExnInfo end smlsharp-1.2.0/src/compiler/builtin2/main/BuiltinTypes.sml0000644 000000000000000000006173412050661606023743 0ustar00rootroot0000000 0000000 (* built-in types. *) structure BuiltinTypes = struct local structure I = IDCalc structure T = Types structure Ity = EvalIty datatype bty = datatype BuiltinTypeNames.bty fun bug s = Control.Bug ("BuiltinTypes: " ^ s) fun printBty bty = case bty of INTty => print "INTty" | INTINFty => print "INTINFty" | WORDty => print "WORDty" | WORD8ty => print "WORD8ty" | CHARty => print "CHARty" | STRINGty => print "STRINGty" | REALty => print "REALty" | REAL32ty => print "REAL32ty" | UNITty => print "UNITty" | PTRty => print "PTRty" | ARRAYty => print "ARRAYty" | VECTORty => print "VECTORty" | EXNty => print "EXNty" | BOXEDty => print "BOXEDty" | EXNTAGty => print "EXNTAGty" | REFty => print "REFty" | BOOLty => print "BOOLty" | LISTty => print "LISTty" | OPTIONty => print "OPTIONty" | ORDERty => print "ORDERty" (* the following are for SQL *) | SERVERty => print "SERVERty" | DBIty => print "DBIty" | VALUEty => print "VALUEty" | CONNty => print "CONNty" | DBty => print "DBty" | TABLEty => print "TABLEty" | ROWty => print "ROWty" | RESULTty => print "RESULTty" | RELty => print "RELty" | QUERYty => print "QUERYty" | COMMANDty => print "COMMANDty" datatype ty = TVAR of string | CON of (bty * ty list) | TUPLE of ty list | RECORD of (string * ty) list | FUN of ty * ty type btyDef = {path:string list, iseq:bool, dtyKind:I.dtyKind, formals:(string*Absyn.eq) list, conSpec: (string * ty option) list} type tstrInfo = {tfun:I.tfun, varE:I.varE, formals:I.formals, conSpec:I.conSpec} type btyInfo = {tstrInfo:tstrInfo, tyCon: T.tyCon, findCon: string -> I.conInfo, mkTys: I.ty list -> I.ty * T.ty } type btyMap = bty -> btyInfo type tvarMap = I.tvar SEnv.map val emptyContext = Ity.emptyContext fun evalTy (btyMap:btyMap, tvarMap:tvarMap) ty = case ty of TVAR s => (case SEnv.find(tvarMap, s) of SOME tv => I.TYVAR tv | NONE => (print "bug tvar not found\n"; raise bug "tvar not found") ) | RECORD fields => I.TYRECORD (foldl (fn ((label, ty), fields) => LabelEnv.insert(fields, label, evalTy (btyMap, tvarMap) ty)) LabelEnv.empty fields) | TUPLE tys => evalTy (btyMap, tvarMap) (RECORD (Utils.listToTuple tys)) | CON (bty, args) => let val {tstrInfo={tfun,...},...} = btyMap bty handle e => (print "bug evalTy btyMap failed:"; printBty bty; print "\n"; raise e) val args = map (evalTy (btyMap, tvarMap)) args in I.TYCONSTRUCT {tfun=tfun, args=args} end | FUN(bty1, bty2) => I.TYFUNM([evalTy (btyMap, tvarMap) bty1], evalTy (btyMap, tvarMap) bty2) fun makeTfun (btyMap:btyMap) (bty:bty, {path, iseq, formals, conSpec, dtyKind}:btyDef) = let val id = TypID.generate() val (tvarEnv, formals) = foldl (fn ((name, eq), (tvarEnv, formals)) => let val tvar = {name=name, eq=eq, id=TvarID.generate(), lifted=false} in (SEnv.insert(tvarEnv, name, tvar), formals@[tvar]) end ) (SEnv.empty, nil) formals val tfv = I.mkTfv (I.TFUN_DTY {id = id, iseq=iseq, formals=formals, runtimeTy = I.BUILTINty bty, conSpec = SEnv.empty, originalPath = path, liftedTys = I.emptyLiftedTys, dtyKind = dtyKind } ) val tfun = I.TFUN_VAR tfv val tyCon = Ity.evalTfun emptyContext tfun handle e => (print "bug: evalTfun failed\n"; raise bug "evalTfun in evalBuiltin" ) val bummyBtyInfo = {tstrInfo = {tfun=tfun, formals=formals, conSpec=SEnv.empty, varE=SEnv.empty}, tyCon=tyCon, findCon= fn x => raise bug "dummy btyInfo", mkTys = fn x => raise bug "dummy btyInfo" } val newBtyMap = fn x => if x = bty then bummyBtyInfo else btyMap x val conSpec = foldl (fn ((name, tyopt), conSpec) => let val tyOption = Option.map (evalTy (newBtyMap, tvarEnv)) tyopt in SEnv.insert(conSpec, name, tyOption) end ) SEnv.empty conSpec val runtimeTy = case dtyKind of I.DTY => if SEnv.isEmpty (SEnv.filter (fn SOME _ => true | NONE => false) conSpec) then I.BUILTINty WORDty else I.BUILTINty BOXEDty | _ => I.BUILTINty bty val _ = tfv := I.TFUN_DTY {id = id, iseq=iseq, formals=formals, runtimeTy = runtimeTy, conSpec= conSpec, originalPath = path, liftedTys=I.emptyLiftedTys, dtyKind=dtyKind } val returnTy = I.TYCONSTRUCT {tfun=tfun, args= map (fn tv=>I.TYVAR tv) formals} val varE = SEnv.mapi (fn (name, tyopt) => let val conId = ConID.generate() val conBodyTy = case tyopt of NONE => returnTy | SOME ty =>I.TYFUNM([ty], returnTy) val conTy = case formals of nil => conBodyTy | _ => I.TYPOLY (map (fn tv =>(tv, I.UNIV)) formals, conBodyTy) in I.IDCON {id=conId, ty=conTy} end ) conSpec val tyCon = Ity.evalTfun emptyContext tfun handle e => (print "bug evalTfun failed"; raise bug "evalTfun in evalBuiltin" ) fun findConInfo name = case SEnv.find(varE, name) of SOME (I.IDCON{id,ty}) => {id=id, ty=ty, path=[name]} | _ => (print "bug findConInfo\n"; raise bug "con not found" ) fun mkTys args = let val ity = I.TYCONSTRUCT {tfun=tfun, args=args} in (ity, Ity.evalIty Ity.emptyContext ity) end in {tstrInfo = {tfun=tfun, varE=varE, formals=formals,conSpec=conSpec}, tyCon = tyCon, findCon = findConInfo, mkTys = mkTys } end val EQ = Absyn.EQ val NONEQ = Absyn.NONEQ val btyInfoList : (bty*btyDef) list = [ (INTty, {path=["int"], dtyKind=I.BUILTIN INTty, iseq=true, formals=nil, conSpec=nil}), (INTINFty, {path=["intInf"], dtyKind=I.BUILTIN INTINFty, iseq=true, formals=nil, conSpec=nil}), (WORDty, {path=["word"], dtyKind=I.BUILTIN WORDty, iseq=true, formals=nil, conSpec=nil}), (WORD8ty, {path=["word8"], dtyKind=I.BUILTIN WORD8ty, iseq=true, formals=nil, conSpec=nil}), (CHARty, {path=["char"], dtyKind=I.BUILTIN CHARty, iseq=true, formals=nil, conSpec=nil}), (STRINGty, {path=["string"], dtyKind=I.BUILTIN STRINGty, iseq=true, formals=nil, conSpec=nil}), (REALty, {path=["real"], dtyKind=I.BUILTIN REALty, iseq=false, formals=nil, conSpec=nil}), (REAL32ty, {path=["real32"], dtyKind=I.BUILTIN REAL32ty, iseq=false, formals=nil, conSpec=nil}), (UNITty, {path=["unit"], dtyKind=I.BUILTIN UNITty, iseq=true, formals=nil, conSpec=nil}), (PTRty, {path=["ptr"], dtyKind=I.BUILTIN PTRty, iseq=true, formals=[("a",NONEQ)], conSpec=nil}), (ARRAYty, {path=["array"], dtyKind=I.BUILTIN ARRAYty, iseq=true, formals=[("a",NONEQ)], conSpec=nil}), (VECTORty, {path=["vector"], dtyKind=I.BUILTIN VECTORty, iseq=true, formals=[("a",NONEQ)], conSpec=nil}), (EXNty, {path=["exn"], dtyKind=I.BUILTIN EXNty, iseq=false, formals=nil, conSpec=nil}), (BOXEDty, {path=["boxed"], dtyKind=I.BUILTIN BOXEDty, iseq=false, formals=nil, conSpec=nil}), (EXNTAGty, {path=["exntag"], dtyKind=I.BUILTIN EXNTAGty, iseq=false, formals=nil, conSpec=nil}), (REFty, {path=["ref"], iseq=true, dtyKind=I.DTY, formals=[("a",NONEQ)], conSpec=[("ref", SOME(TVAR "a"))] } ), (BOOLty, {path=["bool"], iseq=true, dtyKind=I.DTY, formals=nil, conSpec=[("false",NONE), ("true", NONE)] } ), (LISTty, {path=["list"], iseq=true, dtyKind=I.DTY, formals=[("a",NONEQ)], conSpec=[("::", SOME(TUPLE [TVAR "a", CON(LISTty, [TVAR "a"])])), ("nil", NONE)] } ), (OPTIONty, {path=["option"], dtyKind=I.DTY, iseq=true, formals=[("a",NONEQ)], conSpec=[("NONE", NONE), ("SOME", SOME (TVAR "a")) ] } ), (ORDERty, {path=["order"], dtyKind=I.DTY, iseq=true, formals=nil, conSpec=[("EQUAL", NONE), ("LESS", NONE), ("GREATER", NONE) ] } ), (* datatype 'a server = SERVER of string * (string * {colname: string, typename: string, isnull: bool} list) list * 'a *) (SERVERty, {path=["SQL", "server"], dtyKind=I.DTY, iseq=true, formals=[("a",NONEQ)], conSpec=[("SERVER", SOME(TUPLE[CON(STRINGty,nil), CON(LISTty, [ TUPLE [ CON(STRINGty, nil), CON(LISTty, [ RECORD[("colname", CON(STRINGty,nil)), ("typename", CON(STRINGty,nil)), ("isnull", CON(BOOLty,nil))] ] ) ] ] ), TVAR "a" ] ) ) ] } ), (* datatype 'a dbi = DBI *) (DBIty, {path=["SQL", "dbi"], dtyKind=I.DTY, iseq=true, formals=[("a",NONEQ)], conSpec=[("DBI", NONE)] } ), (* datatype ('a,'b) value = VALUE of (string * 'b dbi) * 'a *) (VALUEty, {path=["SQL", "value"], dtyKind=I.DTY, iseq=true, formals=[("a",NONEQ), ("b", NONEQ)], conSpec=[("VALUE", SOME (TUPLE[TUPLE[CON(STRINGty, nil), CON(DBIty, [TVAR "b"]) ], TVAR "a" ] ) ) ] } ), (* datatype 'a conn = CONN of unit ptr * 'a *) (CONNty, {path=["SQL", "conn"], dtyKind=I.DTY, iseq=true, formals=[("a",NONEQ)], conSpec=[("CONN", SOME (TUPLE [CON(PTRty, [CON(UNITty, nil)]), TVAR "a"] ) ) ] } ), (* datatype ('a,'b) db = DB of 'a * 'b dbi *) (DBty, {path=["SQL", "db"], dtyKind=I.DTY, iseq=true, formals=[("a",NONEQ), ("b", NONEQ)], conSpec=[("DB", SOME (TUPLE [TVAR "a", CON(DBIty, [TVAR "b"]) ] ) ) ] } ), (* datatype ('a,'b) table = TABLE of (string * 'b dbi) * 'a *) (TABLEty, {path=["SQL", "table"], dtyKind=I.DTY, iseq=true, formals=[("a",NONEQ), ("b", NONEQ)], conSpec=[("TABLE", SOME (TUPLE [TUPLE [ CON(STRINGty, nil), CON(DBIty, [TVAR "b"]) ], TVAR "a" ] ) ) ] } ), (* datatype ('a,'b) row = ROW of (string * 'b dbi) * 'a *) (ROWty, {path=["SQL", "row"], dtyKind=I.DTY, iseq=true, formals=[("a",NONEQ), ("b", NONEQ)], conSpec=[("ROW", SOME (TUPLE [TUPLE [ CON(STRINGty, nil), CON(DBIty, [TVAR "b"]) ], TVAR "a" ] ) ) ] } ), (* datatype result = RESULT of unit ptr * int *) (RESULTty, {path=["SQL", "result"], dtyKind=I.DTY, iseq=true, formals=nil, conSpec=[("RESULT", SOME (TUPLE [ CON(PTRty, [CON(UNITty, nil)]), CON(INTty, nil) ] ) ) ] } ), (* datatype 'a rel = REL of result * (result -> 'a) *) (RELty, {path=["SQL", "rel"], dtyKind=I.DTY, iseq=true, formals=[("a",NONEQ)], conSpec=[("REL", SOME (TUPLE [CON(RESULTty, nil), FUN(CON(RESULTty,nil), TVAR "a") ] ) ) ] } ), (* datatype 'a query = QUERY of string * 'a * (result -> 'a) *) (QUERYty, {path=["SQL", "query"], dtyKind=I.DTY, iseq=true, formals=[("a",NONEQ)], conSpec=[("QUERY", SOME (TUPLE [CON(STRINGty, nil), TVAR "a", FUN(CON(RESULTty,nil), TVAR "a") ] ) ) ] } ), (* datatype command = COMMAND of string *) (COMMANDty, {path=["SQL", "command"], dtyKind=I.DTY, iseq=true, formals=nil, conSpec=[("COMMAND", SOME (CON(STRINGty, nil)))] } ) ] val btyMap : btyMap = foldl (fn ((bty, info:btyDef), btyMap) => let val btyInfo:btyInfo = makeTfun (btyMap:btyMap) (bty, info:btyDef) in fn x => if x = bty then btyInfo else btyMap x end ) (fn x => (print "bug btyinfo not defined:"; printBty x; print "\n"; raise bug "btyinfo not defined") ) btyInfoList fun typedConInfo {id, ty, path} = {id = id, ty = Ity.evalIty Ity.emptyContext ty, path = path} fun typedExnInfo {id, ty, path} = {ty = Ity.evalIty Ity.emptyContext ty, path = path} in type tstrInfo = tstrInfo type btyInfo = btyInfo val {tstrInfo=intTstrInfo, tyCon=intTyCon, mkTys=intMkTys, findCon=intFindCon} = btyMap INTty val (intITy, intTy) = intMkTys nil val {tstrInfo=intInfTstrInfo, tyCon=intInfTyCon, mkTys=intInfMkTys, findCon=intInfFindCon} = btyMap INTINFty val (intInfITy, intInfTy) = intInfMkTys nil val {tstrInfo=wordTstrInfo, tyCon=wordTyCon, mkTys=wordMkTys, findCon=wordFindCon} = btyMap WORDty val (wordITy, wordTy) = wordMkTys nil val {tstrInfo=word8TstrInfo, tyCon=word8TyCon, mkTys=word8MkTys, findCon=word8FindCon} = btyMap WORD8ty val (word8ITy, word8Ty) = word8MkTys nil val {tstrInfo=charTstrInfo, tyCon=charTyCon, mkTys=charMkTys, findCon=charFindCon} = btyMap CHARty val (charITy, charTy) = charMkTys nil val {tstrInfo=stringTstrInfo, tyCon=stringTyCon, mkTys=stringMkTys, findCon=stringFindCon} = btyMap STRINGty val (stringITy, stringTy) = stringMkTys nil val {tstrInfo=realTstrInfo, tyCon=realTyCon, mkTys=realMkTys, findCon=realFindCon} = btyMap REALty val (realITy, realTy) = realMkTys nil val {tstrInfo=real32TstrInfo, tyCon=real32TyCon, mkTys=real32MkTys, findCon=real32FindCon} = btyMap REAL32ty val (real32ITy, real32Ty) = real32MkTys nil val {tstrInfo=unitTstrInfo, tyCon=unitTyCon, mkTys=unitMkTys, findCon=unitFindCon} = btyMap UNITty val (unitITy, unitTy) = unitMkTys nil val {tstrInfo=ptrTstrInfo, tyCon=ptrTyCon, mkTys=ptrMkTys, findCon=ptrFindCon} = btyMap PTRty val (ptrITy, ptrTy) = ptrMkTys [unitITy] val {tstrInfo=arrayTstrInfo, tyCon=arrayTyCon, mkTys=arrayMkTys, findCon=arrayFindCon} = btyMap ARRAYty val (arrayITy, arrayTy) = arrayMkTys nil val {tstrInfo=vectorTstrInfo, tyCon=vectorTyCon, mkTys=vectorMkTys, findCon=vectorFindCon} = btyMap VECTORty val (vectorITy, vectorTy) = vectorMkTys nil val {tstrInfo=exnTstrInfo, tyCon=exnTyCon, mkTys=exnMkTys, findCon=exnFindCon} = btyMap EXNty val (exnITy, exnTy) = exnMkTys nil val {tstrInfo=boxedTstrInfo, tyCon=boxedTyCon, mkTys=boxedMkTys, findCon=boxedFindCon} = btyMap BOXEDty val (boxedITy, boxedTy) = boxedMkTys nil val {tstrInfo=exntagTstrInfo, tyCon=exntagTyCon, mkTys=exntagMkTys, findCon=exntagFindCon} = btyMap EXNTAGty val (exntagITy, exntagTy) = exntagMkTys nil val {tstrInfo=refTstrInfo, tyCon=refTyCon, mkTys=refMkTys, findCon=refFindCon} = btyMap REFty val (refITy, refTy) = refMkTys nil val refICConInfo = refFindCon "ref" val refTPConInfo = typedConInfo refICConInfo val {tstrInfo=boolTstrInfo, tyCon=boolTyCon, mkTys=boolMkTys, findCon=boolFindCon} = btyMap BOOLty val (boolITy, boolTy) = boolMkTys nil val trueICConInfo = boolFindCon "true" val trueTPConInfo = typedConInfo trueICConInfo val falseICConInfo = boolFindCon "false" val falseTPConInfo = typedConInfo falseICConInfo val {tstrInfo=listTstrInfo, tyCon=listTyCon, mkTys=listMkTys, findCon=listFindCon} = btyMap LISTty val (listITy, listTy) = listMkTys nil val consICConInfo = listFindCon "::" val consTPConInfo = typedConInfo consICConInfo val nilICConInfo = listFindCon "nil" val nilTPConInfo = typedConInfo nilICConInfo val {tstrInfo=optionTstrInfo, tyCon=optionTyCon, mkTys=optionMkTys, findCon=optionFindCon} = btyMap OPTIONty val (optionITy, optionTy) = optionMkTys nil val SOMEICConInfo = optionFindCon "SOME" val SOMETPConInfo = typedConInfo SOMEICConInfo val NONEICConInfo = optionFindCon "NONE" val NONETPConInfo = typedConInfo NONEICConInfo val {tstrInfo=orderTstrInfo, tyCon=orderTyCon, mkTys=orderMkTys, findCon=orderFindCon} = btyMap ORDERty val (orderITy, orderTy) = orderMkTys nil val EQUALICConInfo = orderFindCon "EQUAL" val EQUALTPConInfo = typedConInfo EQUALICConInfo val LESSICConInfo = orderFindCon "LESS" val LESSTPConInfo = typedConInfo LESSICConInfo val GREATERICConInfo = orderFindCon "GREATER" val GREATERTPConInfo = typedConInfo GREATERICConInfo val {tstrInfo=serverTstrInfo, tyCon=serverTyCon, mkTys=serverMkTys, findCon=serverFindCon} = btyMap SERVERty val (serverITy, serverTy) = serverMkTys nil val SERVERICConInfo = serverFindCon "SERVER" val SERVERTPConInfo = typedConInfo SERVERICConInfo val {tstrInfo=dbiTstrInfo, tyCon=dbiTyCon, mkTys=dbiMkTys, findCon=dbiFindCon} = btyMap DBIty val (dbiITy, dbiTy) = dbiMkTys nil val DBIICConInfo = dbiFindCon "DBI" val DBITPConInfo = typedConInfo DBIICConInfo val {tstrInfo=valueTstrInfo, tyCon=valueTyCon, mkTys=valueMkTys, findCon=valueFindCon} = btyMap VALUEty val (valueITy, valueTy) = valueMkTys nil val VALUEICConInfo = valueFindCon "VALUE" val VALUETPConInfo = typedConInfo VALUEICConInfo val {tstrInfo=connTstrInfo, tyCon=connTyCon, mkTys=connMkTys, findCon=connFindCon} = btyMap CONNty val (connITy, connTy) = connMkTys nil val {tstrInfo=dbTstrInfo, tyCon=dbTyCon, mkTys=dbMkTys, findCon=dbFindCon} = btyMap DBty val (dbITy, dbTy) = dbMkTys nil val {tstrInfo=tableTstrInfo, tyCon=tableTyCon, mkTys=tableMkTys, findCon=tableFindCon} = btyMap TABLEty val (tableITy, tableTy) = tableMkTys nil val {tstrInfo=rowTstrInfo, tyCon=rowTyCon, mkTys=rowMkTys, findCon=rowFindCon} = btyMap ROWty val (rowITy, rowTy) = rowMkTys nil val {tstrInfo=resultTstrInfo, tyCon=resultTyCon, mkTys=resultMkTys, findCon=resultFindCon} = btyMap RESULTty val (resultITy, resultTy) = resultMkTys nil val {tstrInfo=relTstrInfo, tyCon=relTyCon, mkTys=relMkTys, findCon=relFindCon} = btyMap RELty val (relITy, relTy) = relMkTys nil val {tstrInfo=queryTstrInfo, tyCon=queryTyCon, mkTys=queryMkTys, findCon=queryFindCon} = btyMap QUERYty val (queryITy, queryTy) = queryMkTys nil val {tstrInfo=commandTstrInfo, tyCon=commandTyCon, mkTys=commandMkTys, findCon=commandFindCon} = btyMap COMMANDty val (commandITy, commandTy) = commandMkTys nil fun evalExn {path, tyopt} = let val ty = case tyopt of NONE => exnTy | SOME ty => T.FUNMty([ty], exnTy) in {path=path, ty=ty} end val BindExExn = evalExn {path=["Bind"], tyopt=NONE} val MatchExExn = evalExn {path=["Match"], tyopt=NONE} val SubscriptExExn = evalExn {path=["Subscript"], tyopt=NONE} val SizeExExn = evalExn {path=["Size"], tyopt=NONE} val OverflowExExn = evalExn {path=["Overflow"], tyopt=NONE} val DivExExn = evalExn {path=["Div"], tyopt=NONE} val DomainExExn = evalExn {path=["Domain"], tyopt=NONE} val FailExExn = evalExn {path=["Fail"], tyopt=SOME (stringTy)} val ChrExExn = evalExn {path=["Chr"], tyopt=NONE} val SpanExExn = evalExn {path=["Span"], tyopt=NONE} val EmptyExExn = evalExn {path=["Empty"], tyopt=NONE} val OptionExExn = evalExn {path=["Option"], tyopt=NONE} (* for unification *) fun equalTy (ty1:bty, ty2:bty) = ty1 = ty2 fun findTstrInfo name = case name of "int" => SOME intTstrInfo | "intInf" => SOME intInfTstrInfo | "word" => SOME wordTstrInfo | "word8" => SOME word8TstrInfo | "char" => SOME charTstrInfo | "string" => SOME stringTstrInfo | "real" => SOME realTstrInfo | "real32" => SOME real32TstrInfo | "unit" => SOME unitTstrInfo | "ptr" => SOME ptrTstrInfo | "array" => SOME arrayTstrInfo | "vector" => SOME vectorTstrInfo | "exn" => SOME exnTstrInfo | "boxed" => SOME boxedTstrInfo | "exntag" => SOME exntagTstrInfo | "ref" => SOME refTstrInfo | "bool" => SOME boolTstrInfo | "list" => SOME listTstrInfo | "option" => SOME optionTstrInfo | "order" => SOME orderTstrInfo | "server" => SOME serverTstrInfo | "dbi" => SOME dbiTstrInfo | "value" => SOME valueTstrInfo | "conn" => SOME connTstrInfo | "db" => SOME dbTstrInfo | "table" => SOME tableTstrInfo | "row" => SOME rowTstrInfo | "result" => SOME resultTstrInfo | "rel" => SOME relTstrInfo | "query" => SOME queryTstrInfo | "command" => SOME commandTstrInfo | _ => NONE (* Ohori: This is used to check the compatibility of runtimeTy of TFV_DTY against that of TFUN_DTY at signature checking *) fun compatTy {absTy, implTy} = absTy = implTy orelse case (absTy, implTy) of (BOXEDty,INTINFty) => true | (BOXEDty,STRINGty) => true | (BOXEDty,ARRAYty) => true | (BOXEDty,VECTORty) => true | (BOXEDty,EXNty) => true | _ => false end end smlsharp-1.2.0/src/compiler/closureanormal0000755 000000000000000000000000012050661606021053 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/closureanormal/main0000755 000000000000000000000000012050661606021777 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/closureanormal/main/ClosureANormal.ppg0000644 000000000000000000006040612050661606025462 0ustar00rootroot0000000 0000000 (* -*- sml -*- *) (** * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro *) structure ClosureANormal = struct type loc = Loc.loc (*% * @formatter(AnnotatedTypes.ty) AnnotatedTypes.formatSimple_ty *) (*% * @prefix formatWithType_ * @formatter(AnnotatedTypes.ty) AnnotatedTypes.format_ty *) type ty = AnnotatedTypes.ty (*% * @formatter(BoundTypeVarID.id) BoundTypeVarID.format_id *) (*% * @prefix formatWithType_ * @formatter(BoundTypeVarID.id) BoundTypeVarID.format_id *) type tid = (*% @format(id) "t" id *) (*% @prefix formatWithType_ @format(id) "t" id *) BoundTypeVarID.id (*% * @formatter(BitmapANormal.varInfo) BitmapANormal.format_varInfo *) (*% * @prefix formatWithType_ * @formatter(BitmapANormal.varInfo) BitmapANormal.formatWithType_varInfo *) type varInfo = BitmapANormal.varInfo (*% * @formatter(BitmapANormal.exVarInfo) BitmapANormal.format_exVarInfo *) (*% * @prefix formatWithType_ * @formatter(BitmapANormal.exVarInfo) BitmapANormal.formatWithType_exVarInfo *) type exVarInfo = BitmapANormal.exVarInfo (*% * @params(exp) * @formatter(BitmapANormal.btvEnv) BitmapANormal.format_btvEnv *) (*% * @prefix formatWithType_ * @params(exp) * @formatter(BitmapANormal.btvEnv) BitmapANormal.format_btvEnv *) type btvEnv = (*% @format(env) env()(exp) *) (*% @prefix formatWithType_ @format(env) env()(exp) *) BitmapANormal.btvEnv (*% * @formatter(VarID.id) VarID.format_id *) (*% * @prefix formatWithType_ * @formatter(VarID.id) VarID.format_id *) type topId = (*% @format(id) "t" id *) (*% @prefix formatWithType_ @format(id) "t" id *) VarID.id (*% * @formatter(BitmapANormal.baconst) BitmapANormal.format_baconst *) (*% * @prefix formatWithType_ * @formatter(BitmapANormal.baconst) BitmapANormal.format_baconst *) datatype caconst = datatype BitmapANormal.baconst (*% * @formatter(BitmapANormal.bavalue) BitmapANormal.format_bavalue *) (*% * @prefix formatWithType_ * @formatter(BitmapANormal.bavalue) BitmapANormal.format_bavalue *) datatype cavalue = datatype BitmapANormal.bavalue (*% * @formatter(BitmapANormal.baprim) BitmapANormal.format_baprim *) (*% * @prefix formatWithType_ * @formatter(BitmapANormal.baprim) BitmapANormal.format_baprim *) datatype caprim = datatype BitmapANormal.baprim (*% * @formatter(BitmapANormal.bacall) BitmapANormal.format_bacall *) (*% * @prefix formatWithType_ * @formatter(BitmapANormal.bacall) BitmapANormal.format_bacall *) datatype cacall = datatype BitmapANormal.bacall (*% * @formatter(Absyn.ffiAttributes) Absyn.format_ffiAttributes * @formatter(AnnotatedTypes.annotationLabel) * AnnotatedTypes.format_annotationLabel * @formatter(AnnotatedTypes.foreignFunTy) AnnotatedTypes.format_foreignFunTy * @formatter(ConstantTerm.constant) ConstantTerm.format_constant * @formatter(appList) TermFormat.formatAppList * @formatter(caseList) TermFormat.formatCaseList * @formatter(decList) TermFormat.formatDeclList * @formatter(option) SmlppgUtil.formatEnclosedOpt * @formatter(withType) BitmapCalc.formatWithSimpleType_varInfo *) (*% * @prefix formatWithType_ * @formatter(Absyn.ffiAttributes) Absyn.format_ffiAttributes * @formatter(AnnotatedTypes.annotationLabel) * AnnotatedTypes.format_annotationLabel * @formatter(AnnotatedTypes.foreignFunTy) AnnotatedTypes.format_foreignFunTy * @formatter(ConstantTerm.constant) ConstantTerm.format_constant * @formatter(appList) TermFormat.formatAppList * @formatter(caseList) TermFormat.formatCaseList * @formatter(decList) TermFormat.formatDeclList * @formatter(option) SmlppgUtil.formatEnclosedOpt *) datatype caexp = (*% * @format({boundVar, boundExp, nextExp, loc}) * !R1{ "let" +d boundVar:withType +d "=" 4[ +1 boundExp ] } * +1 "in" +d nextExp *) (*% * @prefix formatWithType_ * @format({boundVar, boundExp, nextExp, loc}) * !R1{ "let" +d boundVar +d "=" 4[ +1 boundExp ] } * +1 "in" +d nextExp *) CAVAL of { boundVar : varInfo, boundExp : caprim, nextExp : caexp, loc : loc } | (*% * @format({resultVars: v vs, callExp, nextExp, loc}) * !R1{ "let" +d vs:appList(v:withType)("(",",",")") * +d "=" 4[ +1 callExp ] } * +1 "in" +d nextExp *) (*% * @prefix formatWithType_ * @format({resultVars: v vs, callExp, nextExp, loc}) * !R1{ "let" +d vs:appList(v)("(",",",")") +d "=" 4[ +1 callExp ] } * +1 "in" +d nextExp *) CACALL of { resultVars : varInfo list, callExp : cacall, nextExp : caexp, loc : loc } | (*% * @format({varInfo, varSize, varTag, nextExp, loc}) * !R1{ "export" +d "val" * 4[ +1 L2{ varInfo +1 "/t" +d varTag +1 "/s" +d varSize } ] } * +1 "in" +d nextExp *) (*% * @prefix formatWithType_ * @format({varInfo, varSize, varTag, nextExp, loc}) * !R1{ "export" +d "val" * 4[ +1 L2{ varInfo +1 "/t" +d varTag +1 "/s" +d varSize } ] } * +1 "in" +d nextExp *) CAEXPORTVAR of { varInfo : varInfo, varSize : cavalue, varTag : cavalue, nextExp : caexp, loc : loc } | (*% * @format({boundVar, codeId, funTy, closureEnv: ce ceo, closureLayout, * nextExp, loc}) * !R1{ "let" +d boundVar:withType +d "=" * 4[ +1 "_CLOSURE(" !N0{ codeId ceo(ce)("," +1,) } ")" ] } * +1 "in" +d nextExp *) (*% * @prefix formatWithType_ * @format({boundVar, codeId, funTy, closureEnv: ce ceo, closureLayout, * nextExp, loc}) * !R1{ "let" +d boundVar +d "=" * 4[ +1 L2{ "_CLOSURE(" !N0{ codeId ceo(ce)("," +1,) } ")" * +1 ":" +d funTy } * ] } * +1 "in" +d nextExp *) CACLOSURE of { boundVar : varInfo, codeId : topId, funTy : ty, closureEnv : cavalue option, closureLayout : BitmapCalc.closureLayout, nextExp : caexp, loc : loc } | (*% * @format({boundVar, codeId, foreignFunTy, closureEnv: ce ceo, * nextExp, loc}) * !R1{ "let" +d boundVar:withType +d "=" * 4[ +1 "_CALLBACKCLOSURE(" * !N0{ codeId ceo(ce)("," +1,) } ")" * ] } * +1 "in" +d nextExp *) (*% * @prefix formatWithType_ * @format({boundVar, codeId, foreignFunTy, closureEnv: ce ceo, * nextExp, loc}) * !R1{ "let" +d boundVar +d "=" * 4[ +1 L2{ "_CALLBACKCLOSURE(" * !N0{ codeId ceo(ce)("," +1,) } ")" * +1 "as" +d foreignFunTy } * ] } * +1 "in" +d nextExp *) CACALLBACKCLOSURE of { boundVar : varInfo, codeId : topId, foreignFunTy : AnnotatedTypes.foreignFunTy, closureEnv : cavalue option, nextExp : caexp, loc : loc } | (*% * @format({recbindList: bind binds, nextExp, loc}) * "let" +d !R1{ binds:decList(bind)("rec" +d, +1 "and" +d) } * +1 "in" +d nextExp * @format:bind({boundVar, function}) * boundVar:withType +d "=" 4[ +1 function ] *) (*% * @prefix formatWithType_ * @format({recbindList: bind binds, nextExp, loc}) * "let" +d !R1{ binds:decList(bind)("rec" +d, +1 "and" +d) } * +1 "in" +d nextExp * @format:bind({boundVar, function}) * boundVar +d "=" 4[ +1 function ] *) CALOCALFNM of { recbindList : {boundVar : varInfo, function : localFunction} list, nextExp : caexp, loc : loc } | (*% * @format({resultVars: v vs, tryExp, exnVar, handlerExp, nextExp, loc}) * !R1{ "let" +d vs:appList(v)("(",",",")") +d "=" * 4[ +1 "try" * 2[ +1 tryExp ] * +1 "handle" +d { exnVar:withType +1 "=>" } * 2[ +1 handlerExp ] * +1 "end" ] } * +1 "in" +d nextExp *) (*% * @prefix formatWithType_ * @format({resultVars: v vs, tryExp, exnVar, handlerExp, nextExp, loc}) * !R1{ "let" +d vs:appList(v)("(",",",")") +d "=" * 4[ +1 "try" * 2[ +1 tryExp ] * +1 "handle" +d { exnVar +1 "=>" } * 2[ +1 handlerExp ] * +1 "end" ] } * +1 "in" +d nextExp *) CAHANDLE of { resultVars : varInfo list, tryExp : caexp, exnVar : varInfo, handlerExp : caexp, nextExp : caexp, loc : loc } | (*% * @format({resultVars: v vs, switch, nextExp}) * !R1{ "let" +d vs:appList(v:withType)("(",",",")") +d "=" 4[ +1 * switch * ] } * +1 "in" +d nextExp *) (*% * @prefix formatWithType_ * @format({resultVars: v vs, switch, nextExp}) * !R1{ "let" +d vs:appList(v)("(",",",")") +d "=" 4[ +1 switch ] } * +1 "in" +d nextExp *) CASWITCH of { resultVars : varInfo list, switch : switch, nextExp : caexp } | (*% * @format(switch) switch *) (*% * @prefix formatWithType_ * @format(switch) switch *) CATAILSWITCH of switch | (*% * @format({resultVars: v vs, btvEnv, expTyWithoutTAbs, exp, nextExp, * loc}) * !R1{ "let" +d vs:appList(v:withType)("(",",",")") +d "=" 4[ +1 * btvEnv()(!R1{exp}) * ] } * +1 "in" +d nextExp *) (*% * @prefix formatWithType_ * @format({resultVars: v vs, btvEnv, expTyWithoutTAbs, exp, nextExp, * loc}) * !R1{ "let" +d vs:appList(v)("(",",",")") +d "=" 4[ +1 * btvEnv()(L2{ R1{exp} +1 ":" +d expTyWithoutTAbs }) * ] } * +1 "in" +d nextExp *) CAPOLY of { resultVars : varInfo list, btvEnv : btvEnv, expTyWithoutTAbs : ty, exp : caexp, nextExp : caexp, loc : loc } (* | (*% * @format({resultVars: v vs, nestExp, nextExp}) * !R1{ "let" +d vs:appList(v:withType)("(",",",")") * +d "=" 4[ +1 nestExp ] } * +1 "in" +d nextExp *) (*% * @prefix formatWithType_ * @format({resultVars: v vs, nestExp, nextExp}) * !R1{ "let" +d vs:appList(v)("(",",",")") +d "=" 4[ +1 nestExp ] } * +1 "in" +d nextExp *) CANEST of { resultVars : varInfo list, (* any branch in nestExp must be ended with CAMERGE. *) nestExp : caexp, nextExp : caexp } *) | (*% * @format(v vs) * !R1{ "_MERGE" +d vs:appList(v)("(",",",")") } *) (*% * @prefix formatWithType_ * @format(v vs) * !R1{ "_MERGE" +d vs:appList(v)("(",",",")") } *) CAMERGE of varInfo list | (*% * @format({resultVars: v vs, funTy, loc}) * L8{ 2[ "_RETURN" * +2 vs:appList(v)("(",",",")") ] } *) (*% * @prefix formatWithType_ * @format({resultVars: v vs, funTy, loc}) * L2{ L8{ 2[ "_RETURN" * +2 vs:appList(v)("(",",",")") ] } * +1 ":" +d funTy } *) CARETURN of { resultVars : varInfo list, funTy : ty, loc : loc } | (*% * @format({funExp, funTy, argExpList: arg args, loc}) * L8{ "_TAILAPP" * 2[ +1 funExp * +1 args:appList(arg)("(",",",")") ] } *) (*% * @prefix formatWithType_ * @format({funExp, funTy, argExpList: arg args, loc}) * L8{ "_TAILAPP" * 2[ +1 L2{ funExp +d ":" +1 funTy } * +1 args:appList(arg)("(",",",")") ] } *) CATAILAPPM of { funExp : cavalue, funTy : ty, argExpList : cavalue list, loc : loc } | (*% * @format({argExp, loc}) * !R1{ 2[ "raise" +1 argExp ] } *) (*% * @prefix formatWithType_ * @format({argExp, loc}) * !R1{ 2[ "raise" +1 argExp ] } *) CARAISE of { argExp : cavalue, loc : loc } withtype localFunction = (*% * @format({argVarList: arg args, funTy, * bodyExp, annotation, loc}) * !R1{"local" +d "fn" +d args:appList(arg:withType)("(",",",")") +d "=>" * 3[ +1 bodyExp ] } *) (*% * @prefix formatWithType_ * @format({argVarList: arg args, funTy, * bodyExp, annotation, loc}) * L2{ R1{"local" +d "fn" +d args:appList(arg)("(",",",")") +d "=>" * 3[ +1 bodyExp ] } * +1 ":" +d funTy } *) { argVarList : varInfo list, funTy : ty, bodyExp : caexp, annotation : AnnotatedTypes.annotationLabel, loc : loc } and switch = (*% * @format({switchExp, expTy, branches: branch branches, defaultExp, loc}) * !R1{ * { 2[ "case" +1 switchExp +1 "of" ] } * branches:caseList(branch)(2[+1], +1 "|" +d, * !R1{ 2[ "_" +d "=>" +1 defaultExp ] }) * } * @format:branch({constant, branchExp}) * !R1{ 2[ constant +d "=>" +1 branchExp ] } *) (*% * @prefix formatWithType_ * @format({switchExp, expTy, branches: branch branches, defaultExp, loc}) * !R1{ * { 2[ "case" +1 L2{ switchExp +1 ":" +d expTy } +1 "of" ] } * branches:caseList(branch)(2[+1], +1 "|" +d, * !R1{ 2[ "_" +d "=>" +1 defaultExp ] }) * } * @format:branch({constant, branchExp}) * !R1{ 2[ constant +d "=>" +1 branchExp ] } *) { switchExp : cavalue, expTy : ty, branches : {constant : ConstantTerm.constant, branchExp : caexp} list, defaultExp : caexp, loc : loc } (*% *) (*% @prefix formatWithType_ *) type topconst = (*% * @format({const, castTy}) * const *) (*% * @prefix formatWithType_ * @format({const, castTy}) * const *) { const : caconst, castTy : ty option } (*% * @formatter(IDCalc.path) IDCalc.format_path * @formatter(Absyn.ffiAttributes) Absyn.format_ffiAttributes * @formatter(appList) TermFormat.formatAppList * @formatter(decList) TermFormat.formatDeclList * @formatter(enclosedList) TermFormat.formatEnclosedList * @formatter(bool) SmlppgUtil.formatBinaryChoice * @formatter(option) SmlppgUtil.formatEnclosedOpt * @formatter(withType) BitmapCalc.formatWithSimpleType_varInfo *) (*% * @prefix formatWithType_ * @formatter(IDCalc.path) IDCalc.format_path * @formatter(Absyn.ffiAttributes) Absyn.format_ffiAttributes * @formatter(appList) TermFormat.formatAppList * @formatter(decList) TermFormat.formatDeclList * @formatter(enclosedList) TermFormat.formatEnclosedList * @formatter(bool) SmlppgUtil.formatBinaryChoice * @formatter(option) SmlppgUtil.formatEnclosedOpt *) datatype catopdec = (*% * @format({codeId, path, btvEnv, freeTyvars, bodyTy, * attributes: attr attro, * closureEnvArg: ce ceo, * argVarList: arg args, * frameBitmapExp, frameBitmaps: bm bms, * frameBitmapBits: bit bits, * outerFrameBitmap, bodyExp, annotation, loc}) * !R1{ "val" +d "code" +d codeId "(" path ")" +d "=" * 4[ +1 btvEnv()( * attro(attr)("__attributes__(", ")" +1) * ceo(ce)("_env" +d, +d "=>" +1) * !R1{ "fn" +d args:appList(arg)("(",",",")") +d "=>" * 3[ +1 "let" +d "frame" * +d L2{ bms:appList(bm)("(",",",")") * +1 "/" +d bits:enclosedList(bit)("(",",",")") } * +d "=" * 4[ +1 frameBitmapExp ] ] * 3[ +1 "in" +d bodyExp ] } * ) ] } * @format:ce({argVar, freeVars: fv fvs}) * L2{ argVar:withType +1 "/" +d fvs:appList(fv)("(",",",")") } *) (*% * @prefix formatWithType_ * @format({codeId, path, btvEnv, freeTyvars, bodyTy, * attributes: attr attro, * closureEnvArg: ce ceo, * argVarList: arg args, * frameBitmapExp, frameBitmaps: bm bms, * frameBitmapBits: bit bits, * outerFrameBitmap, bodyExp, annotation, loc}) * !R1{ "val" +d "code" +d codeId "(" path ")" +d "=" * 4[ +1 btvEnv()( * attro(attr)("__attributes__(", ")" +1) * ceo(ce)("_env" +d, +d "=>" +1) * R1{ "fn" +d args:appList(arg)("(",",",")") +d "=>" * 3[ +1 "let" +d "frame" * +d L2{ bms:appList(bm)("(",",",")") * +1 "/" +d bits:enclosedList(bit)("(",",",")") } * +d "=" * 4[ +1 frameBitmapExp ] ] * 3[ +1 "in" +d L2{ bodyExp +1 ":" +d bodyTy } ] } * ) ] } * @format:ce({argVar, freeVars: fv fvs}) * L2{ argVar +1 "/" +d fvs:appList(fv)("(",",",")") } *) CAFUNCTION of { codeId : topId, path : IDCalc.path, (* type abstruction originated by type generalization *) btvEnv : btvEnv, (* free type variables which may occur in everything inside of * the type abstraction denoted by btvEnv. Each tyvar in freeTyvars * but not in btvEnv denotes either a free type variable or * a type variable whose tag is constant. *) freeTyvars : btvEnv, (* type of bodyExp *) bodyTy : ty, attributes : Absyn.ffiAttributes option, (* bound variable holding a closure environment. *) closureEnvArg : {argVar: varInfo, freeVars: varInfo list} option, (* bound variables of function arguments *) argVarList : varInfo list, (* frame bitmap computation *) frameBitmapExp : caexp, (* frame bitmap computation result. * Lower bitmap word is first. *) frameBitmaps : varInfo list, (* correspondence between tyvars and bits in the frame bitmap. * first tid corresponds to LSB of the frame bitmap. *) frameBitmapBits : tid list, (* only for ToYAAnormal *) outerFrameBitmap : tid list * cavalue list, bodyExp : caexp, annotation : AnnotatedTypes.annotationLabel, loc : loc } | (*% * @format({closureEnvArg: ce ceo, freeTyvars, * frameBitmapExp, frameBitmaps: bm bms, * frameBitmapBits: bit bits, * functions: func funcs, loc}) * "recfncode" * 2[ +1 ceo(ce)("_env" +d, +d "=>" +1) * "let" +d "frame" * +d L2{ bms:appList(bm:withType)("(",",",")") * +1 "/" +d bits:enclosedList(bit)("(",",",")") } * +d "=" * 4[ +1 frameBitmapExp ] * +1 "let" * 4[ funcs:decList(func)(+d "rec" +d, +1 "and" +d) ] * ] * +1 "end" * @format:ce({argVar, freeVars: fv fvs}) * L2{ argVar +1 "/" +d fvs:appList(fv)("(",",",")") } * @format:func({codeId, path, argVarList: arg args, funTy, * bodyExp, annotation, loc}) * "code" +d codeId "(" path ")" +d "=" +1 * R1{ "fn" +d args:appList(arg:withType)("(",",",")") +d "=>" * 3[ +1 bodyExp ] } *) (*% * @prefix formatWithType_ * @format({closureEnvArg: ce ceo, freeTyvars, * frameBitmapExp, frameBitmaps: bm bms, * frameBitmapBits: bit bits, * functions: func funcs, loc}) * "recfncode" * 2[ +1 ceo(ce)("_env" +d, +d "=>" +1) * "let" +d "frame" * +d L2{ bms:appList(bm)("(",",",")") * +1 "/" +d bits:enclosedList(bit)("(",",",")") } * +d "=" * 4[ +1 frameBitmapExp ] * +1 "let" * 4[ funcs:decList(func)(+d "rec" +d, +1 "and" +d) ] * ] * +1 "end" * @format:ce({argVar, freeVars: fv fvs}) * L2{ argVar +1 "/" +d fvs:appList(fv)("(",",",")") } * @format:func({codeId, path, argVarList: arg args, funTy, * bodyExp, annotation, loc}) * "code" +d codeId "(" path ")" +d "=" +1 * L2{ * R1{ "fn" +d args:appList(arg)("(",",",")") +d "=>" * 3[ +1 bodyExp ] } * +1 ":" +d funTy } *) CARECFUNCTION of { closureEnvArg : {argVar: varInfo, freeVars: varInfo list} option, freeTyvars : btvEnv, frameBitmapExp : caexp, frameBitmaps : varInfo list, frameBitmapBits : tid list, functions : {codeId : topId, path : IDCalc.path, argVarList : varInfo list, funTy : ty, bodyExp : caexp, annotation : AnnotatedTypes.annotationLabel, loc : loc} list, loc : loc } | (*% * @format({id, constant}) * "CATOPCONST" *) (*% * @prefix formatWithType_ * @format({id, constant}) * "CATOPCONST" *) CATOPCONST of { id : topId, constant : topconst } | (*% * @format({id, bitmaps, totalSize, * fieldList: field fields, isMutable}) * @format:field({fieldConst, fieldTy, fieldIndex}) * "CATOPRECORD" *) (*% * @prefix formatWithType_ * @format({id, bitmaps, totalSize, fieldList: field fields, isMutable}) * @format:field({fieldConst, fieldTy, fieldIndex}) * "CATOPRECORD" *) CATOPRECORD of { id : topId, bitmaps : LargeWord.word list, totalSize : LargeWord.word, fieldList : {fieldConst : topconst, fieldTy : ty, fieldIndex : LargeWord.word} list, isMutable : bool } | (*% * @format({id, codeId, closureEnv: ce ceo, closureLayout}) * "CATOPCLOSURE" *) (*% * @prefix formatWithType_ * @format({id, codeId, closureEnv: ce ceo, closureLayout}) * "CATOPCLOSURE" *) CATOPCLOSURE of { id : topId, codeId : topId, closureEnv : topconst option, closureLayout : BitmapCalc.closureLayout } | (*% * @format({id, numElements, initialValues: value values, * elementTy, elementTag, elementSize, isMutable}) * "CATOPARRAY" *) (*% * @prefix formatWithType_ * @format({id, numElements, initialValues: value values, * elementTy, elementTag, elementSize, isMutable}) * "CATOPARRAY" *) CATOPARRAY of { id : topId, numElements : LargeWord.word, initialValues : topconst list, elementTy : ty, elementTag : LargeWord.word, elementSize : LargeWord.word, isMutable : bool } | (*% * @format({path, initialValue: value valueo, * elementTy, elementSize}) * "CATOPVAR" + path *) (*% * @prefix formatWithType_ * @format({path, initialValue: value valueo, * elementTy, elementSize}) * "CATOPVAR" + path *) CATOPVAR of { path : IDCalc.path, initialValue : topconst option, elementTy : ty, elementSize : LargeWord.word } | (*% * @format({exVarInfo, loc}) * !R1{ "extern" +d "val" +d exVarInfo } *) (*% * @prefix formatWithType_ * @format({exVarInfo, loc}) * !R1{ "extern" +d "val" +d exVarInfo } *) CAEXTERNVAR of { exVarInfo : exVarInfo, loc : loc } | (*% * @format(exp) exp *) (*% * @prefix formatWithType_ * @format(exp) exp *) CATOPLEVEL of caexp end smlsharp-1.2.0/src/compiler/closureanormal/main/ClosureANormal.ppg.smi0000644 000000000000000000002453012050661606026247 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../annotatedtypes/main/AnnotatedTypes.ppg.smi" _require "../../bitmapanormal/main/BitmapANormal.ppg.smi" _require "../../bitmapcalc/main/BitmapCalc.ppg.smi" _require "../../constantterm/main/ConstantTerm.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../util/main/SmlppgUtil.ppg.smi" _require "../../util/main/TermFormat.smi" structure ClosureANormal = struct type loc = Loc.loc type ty = AnnotatedTypes.ty val format_ty : AnnotatedTypes.ty -> SMLFormat.FormatExpression.expression list val formatWithType_ty : AnnotatedTypes.ty -> SMLFormat.FormatExpression.expression list type tid = BoundTypeVarID.id val format_tid : BoundTypeVarID.id -> SMLFormat.FormatExpression.expression list val formatWithType_tid : BoundTypeVarID.id -> SMLFormat.FormatExpression.expression list type varInfo = BitmapANormal.varInfo val format_varInfo : {id:VarID.id, path:string list, ty:AnnotatedTypes.ty} -> SMLFormat.FormatExpression.expression list val formatWithType_varInfo : {id:VarID.id, path:string list, ty:AnnotatedTypes.ty} -> SMLFormat.FormatExpression.expression list type exVarInfo = BitmapANormal.exVarInfo val format_exVarInfo : {path:string list, ty:AnnotatedTypes.ty} -> SMLFormat.FormatExpression.expression list val formatWithType_exVarInfo : {path:string list, ty:AnnotatedTypes.ty} -> SMLFormat.FormatExpression.expression list type btvEnv = BitmapANormal.btvEnv val format_btvEnv : SMLFormat.FormatExpression.expression list -> AnnotatedTypes.btvKind BoundTypeVarID.Map.map -> SMLFormat.FormatExpression.expression list val formatWithType_btvEnv : SMLFormat.FormatExpression.expression list -> AnnotatedTypes.btvKind BoundTypeVarID.Map.map -> SMLFormat.FormatExpression.expression list type topId = VarID.id val format_topId : VarID.id -> SMLFormat.FormatExpression.expression list val formatWithType_topId : VarID.id -> SMLFormat.FormatExpression.expression list datatype caconst = datatype BitmapANormal.baconst val format_caconst : BitmapANormal.baconst -> SMLFormat.FormatExpression.expression list val formatWithType_caconst : BitmapANormal.baconst -> SMLFormat.FormatExpression.expression list datatype cavalue = datatype BitmapANormal.bavalue val format_cavalue : BitmapANormal.bavalue -> SMLFormat.FormatExpression.expression list val formatWithType_cavalue : BitmapANormal.bavalue -> SMLFormat.FormatExpression.expression list datatype caprim = datatype BitmapANormal.baprim val format_caprim : BitmapANormal.baprim -> SMLFormat.FormatExpression.expression list val formatWithType_caprim : BitmapANormal.baprim -> SMLFormat.FormatExpression.expression list datatype cacall = datatype BitmapANormal.bacall val format_cacall : BitmapANormal.bacall -> SMLFormat.FormatExpression.expression list val formatWithType_cacall : BitmapANormal.bacall -> SMLFormat.FormatExpression.expression list datatype caexp = CACALL of {callExp:BitmapANormal.bacall, loc:loc, nextExp:caexp, resultVars:varInfo list} | CACALLBACKCLOSURE of {boundVar:varInfo, closureEnv:BitmapANormal.bavalue option, codeId:topId, foreignFunTy:AnnotatedTypes.foreignFunTy, loc:loc, nextExp:caexp} | CACLOSURE of {boundVar:varInfo, closureEnv:BitmapANormal.bavalue option, closureLayout:BitmapCalc.closureLayout, codeId:topId, funTy:ty, loc:loc, nextExp:caexp} | CAEXPORTVAR of {loc:loc, nextExp:caexp, varInfo:varInfo, varSize:BitmapANormal.bavalue, varTag:BitmapANormal.bavalue} | CAHANDLE of {exnVar:varInfo, handlerExp:caexp, loc:loc, nextExp:caexp, resultVars:varInfo list, tryExp:caexp} | CALOCALFNM of {loc:loc, nextExp:caexp, recbindList:{boundVar:varInfo, function:{annotation:AnnotatedTypes.annotationLabel, argVarList:varInfo list, bodyExp:caexp, funTy:ty, loc:loc} } list} | CAMERGE of varInfo list | CAPOLY of {btvEnv:btvEnv, exp:caexp, expTyWithoutTAbs:ty, loc:loc, nextExp:caexp, resultVars:varInfo list} | CARAISE of {argExp:BitmapANormal.bavalue, loc:loc} | CARETURN of {funTy:ty, loc:loc, resultVars:varInfo list} | CASWITCH of {nextExp:caexp, resultVars:varInfo list, switch:{branches:{branchExp:caexp, constant:ConstantTerm.constant} list, defaultExp:caexp, expTy:ty, loc:loc, switchExp:BitmapANormal.bavalue}} | CATAILAPPM of {argExpList:BitmapANormal.bavalue list, funExp:BitmapANormal.bavalue, funTy:ty, loc:loc} | CATAILSWITCH of {branches:{branchExp:caexp, constant:ConstantTerm.constant} list, defaultExp:caexp, expTy:ty, loc:loc, switchExp:BitmapANormal.bavalue} | CAVAL of {boundExp:BitmapANormal.baprim, boundVar:varInfo, loc:loc, nextExp:caexp} type localFunction = {annotation:AnnotatedTypes.annotationLabel, argVarList:varInfo list, bodyExp:caexp, funTy:ty, loc:loc} type switch = {branches:{branchExp:caexp, constant:ConstantTerm.constant} list, defaultExp:caexp, expTy:ty, loc:loc, switchExp:BitmapANormal.bavalue} val format_caexp : caexp -> SMLFormat.FormatExpression.expression list val format_localFunction : localFunction -> SMLFormat.FormatExpression.expression list val format_switch : switch -> SMLFormat.FormatExpression.expression list val formatWithType_caexp : caexp -> SMLFormat.FormatExpression.expression list val formatWithType_localFunction : localFunction -> SMLFormat.FormatExpression.expression list val formatWithType_switch : switch -> SMLFormat.FormatExpression.expression list type topconst = {castTy:ty option, const:BitmapANormal.baconst} val format_topconst : {castTy:'a, const:BitmapANormal.baconst} -> SMLFormat.FormatExpression.expression list val formatWithType_topconst : {castTy:'a, const:BitmapANormal.baconst} -> SMLFormat.FormatExpression.expression list datatype catopdec = CAEXTERNVAR of {exVarInfo:exVarInfo, loc:loc} | CAFUNCTION of {annotation:AnnotatedTypes.annotationLabel, argVarList:varInfo list, attributes:Absyn.ffiAttributes option, bodyExp:caexp, bodyTy:ty, btvEnv:btvEnv, freeTyvars:btvEnv, closureEnvArg:{argVar:varInfo, freeVars:varInfo list} option, codeId:topId, frameBitmapBits:tid list, frameBitmapExp:caexp, frameBitmaps:varInfo list, loc:loc, outerFrameBitmap:tid list * BitmapANormal.bavalue list, path:IDCalc.path} | CARECFUNCTION of {closureEnvArg:{argVar:varInfo, freeVars:varInfo list} option, freeTyvars:btvEnv, frameBitmapBits:tid list, frameBitmapExp:caexp, frameBitmaps:varInfo list, functions:{annotation:AnnotatedTypes.annotationLabel, argVarList:varInfo list, bodyExp:caexp, codeId:topId, funTy:ty, loc:loc, path:IDCalc.path} list, loc:loc} | CATOPARRAY of {elementSize:LargeWord.word, elementTag:LargeWord.word, elementTy:ty, id:topId, initialValues:topconst list, isMutable:bool, numElements:LargeWord.word} | CATOPCLOSURE of {closureEnv:topconst option, closureLayout:BitmapCalc.closureLayout, codeId:topId, id:topId} | CATOPCONST of {constant:topconst, id:topId} | CATOPLEVEL of caexp | CATOPRECORD of {bitmaps:LargeWord.word list, fieldList:{fieldConst:topconst, fieldIndex:LargeWord.word, fieldTy:ty} list, id:topId, isMutable:bool, totalSize:LargeWord.word} | CATOPVAR of {elementSize:LargeWord.word, elementTy:ty, initialValue:topconst option, path:IDCalc.path} val format_catopdec : catopdec -> SMLFormat.FormatExpression.expression list val formatWithType_catopdec : catopdec -> SMLFormat.FormatExpression.expression list end smlsharp-1.2.0/src/compiler/closureconversion0000755 000000000000000000000000012050661606021607 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/closureconversion/main0000755 000000000000000000000000012050661606022533 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/closureconversion/main/ClosureConversion.smi0000644 000000000000000000000142512050661606027010 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../annotatedtypes/main/AnnotatedTypes.ppg.smi" _require "../../annotatedtypes/main/AnnotatedTypesUtils.smi" _require "../../bitmapanormal/main/BitmapANormal.ppg.smi" _require "../../bitmapcompilation/main/RecordLayout.smi" _require "../../bitmapcompilation/main/SingletonTyEnv.smi" _require "../../closureanormal/main/ClosureANormal.ppg.smi" _require "../../constantterm/main/ConstantTerm.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../util/main/ListSorter.smi" structure ClosureConversion = struct val convert : BitmapANormal.baexp -> ClosureANormal.catopdec list end smlsharp-1.2.0/src/compiler/closureconversion/main/ClosureConversion.sml0000644 000000000000000000012531212050661606027015 0ustar00rootroot0000000 0000000 (** * bitmap calc A-normalization. * * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro *) structure ClosureConversion : sig val convert : BitmapANormal.baexp -> ClosureANormal.catopdec list end = struct structure A = BitmapANormal structure C = ClosureANormal structure T = AnnotatedTypes val emptyBtvEnv = BoundTypeVarID.Map.empty : A.btvEnv type varSet = A.varInfo VarID.Map.map val emptyVarSet = VarID.Map.empty : varSet fun union (x,y) = VarID.Map.unionWith #2 (x,y) : varSet fun unionList sets = foldl union emptyVarSet sets fun addVar (set, var as {id,...}) = VarID.Map.insert (set, id, var) : varSet fun addVars (set, vars) = foldl (fn (var,set) => addVar (set, var)) set vars fun varSetFromList vars = addVars (emptyVarSet, vars) fun setminus (set1, set2) = VarID.Map.filteri (fn (vid,_) => not (VarID.Map.inDomain (set2, vid))) set1 fun newVar ty = let val id = VarID.generate () in {id = id, path = ["$" ^ VarID.toString id], ty = ty} : C.varInfo end fun mapi f l = let fun loop f i nil = nil | loop f i (h::t) = f (i,h) :: loop f (i+1) t in loop f 0 l end fun isNone NONE = true | isNone (SOME _) = false fun makeRecordTy fields = T.RECORDty {fieldTypes = List.foldl (fn ((key, item), m) => LabelEnv.insert (m, key, item)) LabelEnv.empty fields, annotation = ref {labels = T.LE_GENERIC, boxed = true, align = false}} fun valueToWord value = case value of C.BACONST (C.BACONSTANT (ConstantTerm.WORD w)) => Word32.toLarge w | C.BACONST _ => raise Control.Bug "valueToWord: BACONST" | C.BAVAR _ => raise Control.Bug "valueToWord: BAVAR" | C.BACAST {exp, expTy, targetTy} => valueToWord exp | C.BATAPP {exp, expTy, instTyList} => valueToWord exp fun Val (var, exp, loc) = fn K => C.CAVAL {boundVar = var, boundExp = exp, nextExp = K, loc = loc} fun freeVarsValue bv bavalue = case bavalue of A.BACONST const => emptyVarSet | A.BACAST {exp, expTy, targetTy} => freeVarsValue bv exp | A.BATAPP {exp, expTy, instTyList} => freeVarsValue bv exp | A.BAVAR (varInfo as {id,...}) => if VarID.Map.inDomain (bv, id) then emptyVarSet else VarID.Map.singleton (id, varInfo) fun freeVarsValueOption bv NONE = emptyVarSet | freeVarsValueOption bv (SOME bavalue) = freeVarsValue bv bavalue fun freeVarsValueList bv values = unionList (map (freeVarsValue bv) values) fun freeVarsPrim bv baprim = case baprim of A.BAVALUE value => freeVarsValue bv value | A.BAEXVAR {exVarInfo, varSize} => freeVarsValue bv varSize | A.BAPRIMAPPLY {primInfo, argExpList, instTyList, instTagList, instSizeList} => unionList [freeVarsValueList bv argExpList, freeVarsValueList bv instTagList, freeVarsValueList bv instSizeList] | A.BARECORD {fieldList, recordTy, annotation, isMutable, clearPad, totalSizeExp, bitmapExpList} => unionList [unionList (map (fn {fieldExp, fieldLabel, fieldIndex, fieldTy, fieldSize} => unionList [freeVarsValue bv fieldExp, freeVarsValue bv fieldIndex, freeVarsValue bv fieldSize]) fieldList), freeVarsValue bv totalSizeExp, freeVarsValueList bv bitmapExpList] | A.BASELECT {recordExp, indexExp, label, recordTy, resultTy, resultSize} => unionList [freeVarsValue bv recordExp, freeVarsValue bv indexExp, freeVarsValue bv resultSize] | A.BAMODIFY {recordExp, recordTy, indexExp, label, valueExp, valueTy, valueTag, valueSize} => unionList [freeVarsValue bv recordExp, freeVarsValue bv indexExp, freeVarsValue bv valueExp, freeVarsValue bv valueTag, freeVarsValue bv valueSize] fun freeVarsCall bv bacall = case bacall of A.BAFOREIGNAPPLY {funExp, foreignFunTy, argExpList} => unionList (freeVarsValue bv funExp :: map (freeVarsValue bv) argExpList) | A.BAAPPM {funExp, funTy, argExpList} => unionList (freeVarsValue bv funExp :: map (freeVarsValue bv) argExpList) local fun fvLocalFunction bv fv ({argVarList, funTy, bodyExp, annotation, loc}:C.localFunction) = let val bv = addVars (bv, argVarList) in fvExp bv fv bodyExp end and fvSwitch bv fv ({switchExp, expTy, branches, defaultExp, loc} :C.switch) = let val fv = union (fv, freeVarsValue bv switchExp) val fv = foldl (fn ({constant, branchExp}, fv) => fvExp bv fv branchExp) fv branches in fvExp bv fv defaultExp end and fvExp bv fv caexp = case caexp of C.CAVAL {boundVar, boundExp, nextExp, loc} => let val fv = union (fv, freeVarsPrim bv boundExp) val bv = addVar (bv, boundVar) in fvExp bv fv nextExp end | C.CACALL {resultVars, callExp, nextExp, loc} => let val fv = union (fv, freeVarsCall bv callExp) val bv = addVars (bv, resultVars) in fvExp bv fv nextExp end | C.CAEXPORTVAR {varInfo, varSize, varTag, nextExp, loc} => let val fv = if VarID.Map.inDomain (bv, #id varInfo) then fv else addVar (fv, varInfo) val fv = union (fv, freeVarsValueList bv [varSize, varTag]) in fvExp bv fv nextExp end | C.CACLOSURE {boundVar, codeId, closureEnv, closureLayout, funTy, nextExp, loc} => let val fv = union (fv, freeVarsValueOption bv closureEnv) val bv = addVar (bv, boundVar) in fvExp bv fv nextExp end | C.CACALLBACKCLOSURE {boundVar, codeId, closureEnv, foreignFunTy, nextExp, loc} => let val fv = union (fv, freeVarsValueOption bv closureEnv) val bv = addVar (bv, boundVar) in fvExp bv fv nextExp end | C.CALOCALFNM {recbindList, nextExp, loc} => let val bv = addVars (bv, map #boundVar recbindList) val fv = foldl (fn ({boundVar, function}, fv) => fvLocalFunction bv fv function) fv recbindList in fvExp bv fv nextExp end | C.CAHANDLE {resultVars, tryExp, exnVar, handlerExp, nextExp, loc} => let val fv = fvExp bv fv tryExp val fv = fvExp (addVar (bv, exnVar)) fv handlerExp val bv = addVars (bv, resultVars) in fvExp bv fv nextExp end (* | C.CANEST {resultVars, nestExp, nextExp, loc} => let val fv = fvExp bv fv nestExp val bv = addVars (bv, resultVars) in fvExp bv fv nextExp end *) | C.CAMERGE resultVars => union (fv, setminus (varSetFromList resultVars, bv)) | C.CARETURN {resultVars, funTy, loc} => union (fv, setminus (varSetFromList resultVars, bv)) | C.CATAILAPPM {funExp, funTy, argExpList, loc} => union (fv, unionList (map (freeVarsValue bv) (funExp::argExpList))) | C.CARAISE {argExp, loc} => union (fv, freeVarsValue bv argExp) | C.CASWITCH {resultVars, switch, nextExp} => let val fv = fvSwitch bv fv switch val bv = addVars (bv, resultVars) in fvExp bv fv nextExp end | C.CATAILSWITCH switch => fvSwitch bv fv switch | C.CAPOLY {resultVars, btvEnv, expTyWithoutTAbs, exp, nextExp, loc} => let val fv = fvExp bv fv exp val bv = addVars (bv, resultVars) in fvExp bv fv nextExp end in fun freeVarsExp bv caexp = fvExp bv emptyVarSet caexp end (* local *) local val emptySet = BoundTypeVarID.Set.empty fun extendBtvEnv x = BoundTypeVarID.Map.unionWith #2 x : A.btvEnv fun ftv btvEnv set ({ty,...}:A.varInfo) = case ty of T.BOUNDVARty tid => if BoundTypeVarID.Map.inDomain (btvEnv, tid) then set else BoundTypeVarID.Set.add (set, tid) | _ => set fun ftvList btvEnv set vars = foldl (fn (var, set) => ftv btvEnv set var) set vars fun ftvVarSet btvEnv set vars = VarID.Map.foldl (fn (var, set) => ftv btvEnv set var) set vars fun ftvValue btvEnv set value = ftvVarSet btvEnv set (freeVarsValue emptyVarSet value) fun ftvValueList btvEnv set values = ftvVarSet btvEnv set (freeVarsValueList emptyVarSet values) fun ftvPrim btvEnv set baprim = ftvVarSet btvEnv set (freeVarsPrim emptyVarSet baprim) fun ftvCall btvEnv set bacall = ftvVarSet btvEnv set (freeVarsCall emptyVarSet bacall) fun ftvFunction btvEnv set ({argVarList, funTy, bodyExp, annotation, closureLayout, loc}:A.function) = let val set = ftvList btvEnv set argVarList in ftvExp btvEnv set bodyExp end and ftvSwitch btvEnv set ({switchExp, expTy, branches, defaultExp, loc} :A.switch) = let val set = ftvValue btvEnv set switchExp val set = foldl (fn ({constant, branchExp}, set) => ftvExp btvEnv set branchExp) set branches val set = ftvExp btvEnv set defaultExp in set end and ftvExp btvEnv set baexp = case baexp of A.BAVAL {boundVar, boundExp, nextExp, loc} => let val set = ftv btvEnv set boundVar val set = ftvPrim btvEnv set boundExp in ftvExp btvEnv set nextExp end | A.BACALL {resultVars, callExp, nextExp, loc} => let val set = ftvList btvEnv set resultVars val set = ftvCall btvEnv set callExp in ftvExp btvEnv set nextExp end | A.BAEXPORTVAR {varInfo, varSize, varTag, nextExp, loc} => let val set = ftv btvEnv set varInfo val set = ftvValueList btvEnv set [varSize, varTag] in ftvExp btvEnv set nextExp end | A.BAEXTERNVAR {exVarInfo, nextExp, loc} => ftvExp btvEnv set nextExp | A.BAFNM {boundVar, btvEnv=btvEnv2, function, nextExp} => let val set = ftv btvEnv set boundVar val btvEnv2 = extendBtvEnv (btvEnv, btvEnv2) val set = ftvFunction btvEnv2 set function in ftvExp btvEnv set nextExp end | A.BACALLBACKFNM {boundVar, function, foreignFunTy, nextExp} => let val set = ftv btvEnv set boundVar val set = ftvFunction btvEnv set function in ftvExp btvEnv set nextExp end | A.BAVALREC {recbindList, nextExp, loc} => let val set = foldl (fn ({boundVar, function}, set) => let val set = ftv btvEnv set boundVar val set = ftvFunction btvEnv set function in set end) set recbindList in ftvExp btvEnv set nextExp end | A.BAHANDLE {resultVars, tryExp, exnVar, handlerExp, nextExp, loc} => let val set = ftvList btvEnv set resultVars val set = ftvExp btvEnv set tryExp val set = ftv btvEnv set exnVar val set = ftvExp btvEnv set handlerExp in ftvExp btvEnv set nextExp end (* | A.BANEST {resultVars, nestExp, nextExp, loc} => let val set = ftvList btvEnv set resultVars val set = ftvExp btvEnv set nestExp in ftvExp btvEnv set nextExp end *) | A.BAMERGE resultVars => ftvList btvEnv set resultVars | A.BARETURN {resultVars, funTy, loc} => ftvList btvEnv set resultVars | A.BATAILAPPM {funExp, funTy, argExpList, loc} => ftvValueList btvEnv set (funExp::argExpList) | A.BARAISE {argExp, loc} => ftvValue btvEnv set argExp | A.BASWITCH {resultVars, switch, nextExp} => let val set = ftvList btvEnv set resultVars val set = ftvSwitch btvEnv set switch in ftvExp btvEnv set nextExp end | A.BATAILSWITCH switch => ftvSwitch btvEnv set switch | A.BAPOLY {resultVars, btvEnv=btvEnv2, expTyWithoutTAbs, exp, nextExp, loc} => let val set = ftvList btvEnv set resultVars val btvEnv = extendBtvEnv (btvEnv, btvEnv2) val set = ftvExp btvEnv set exp in ftvExp btvEnv set nextExp end in (* free type variables occurring in type annotations of variables. *) fun freeTyvarsFunction exp = ftvFunction emptyBtvEnv emptySet exp fun freeTyvarsFunctionList funcs = foldl (fn (func, set) => ftvFunction emptyBtvEnv set func) emptySet funcs end (* local *) type frameBitmap = {bitmap : RecordLayout.bitmap, tids: BoundTypeVarID.id list} type env = { boundVars : varSet, styEnv : SingletonTyEnv.env, frameBitmap : frameBitmap } val emptyEnv = {boundVars = emptyVarSet, styEnv = SingletonTyEnv.emptyEnv, frameBitmap = {bitmap = RecordLayout.emptyBitmap, tids = nil}} : env fun bindTyvars ({boundVars, styEnv, frameBitmap}:env, btvEnv) = {boundVars = boundVars, styEnv = SingletonTyEnv.bindTyvars (styEnv, btvEnv), frameBitmap = frameBitmap} : env fun bindVars ({boundVars, styEnv, frameBitmap}:env, vars) = {boundVars = boundVars, styEnv = SingletonTyEnv.bindVars (styEnv, vars), frameBitmap = frameBitmap} : env fun setFrameBitmap ({boundVars, styEnv, frameBitmap}:env, newFrameBitmap) = {boundVars = boundVars, styEnv = styEnv, frameBitmap = newFrameBitmap} : env fun constTag ({styEnv,...}:env) tid = SingletonTyEnv.constTag styEnv (T.BOUNDVARty tid) fun unalignedSize ({styEnv,...}:env) ty = SingletonTyEnv.unalignedSize styEnv ty fun findTag ({styEnv,...}:env) ty = SingletonTyEnv.findTag styEnv ty fun findSize ({styEnv,...}:env) ty = SingletonTyEnv.findSize styEnv ty fun ftvToBtvEnv ({styEnv,...}:env) ftv = BoundTypeVarID.Map.filteri (fn (tid, _) => BoundTypeVarID.Set.member (ftv, tid)) (SingletonTyEnv.btvEnv styEnv) fun tagVars argVarList = List.mapPartial (fn var as {ty,...}:A.varInfo => case ty of T.SINGLETONty (T.TAGty (T.BOUNDVARty tid)) => SOME (tid, var) | _ => NONE) argVarList fun convertList f nil = (nil, nil) | convertList f (elem::elems) = let val (result1, elem) = f elem val (result2, elems) = convertList f elems in (result1 @ result2 : C.catopdec list, elem::elems) end fun toCavalue (value, sty) = let fun constWord n = ConstantTerm.WORD (Word32.fromLarge n) val value = case value of RecordLayout.CONST n => C.BACONST (C.BACONSTANT (constWord n)) | RecordLayout.VAR (v, NONE) => C.BAVAR v | RecordLayout.VAR (v, SOME ty) => C.BACAST {exp = C.BAVAR v, expTy = #ty v, targetTy = ty} in case sty of NONE => value | SOME sty => C.BACAST {exp = value, expTy = T.wordty, targetTy = T.SINGLETONty sty} end fun toCaexp (nil, loc) = (fn K => K) | toCaexp (decl::decls, loc) = case decl of RecordLayout.MOVE (var, value) => Val (var, C.BAVALUE (toCavalue (value, NONE)), loc) o toCaexp (decls, loc) | RecordLayout.PRIMAPPLY {boundVar, primInfo, argList} => let val argExpList = map (fn v => toCavalue (v, NONE)) argList in Val (boundVar, C.BAPRIMAPPLY {primInfo = primInfo, argExpList = argExpList, instTyList = nil, instTagList = nil, instSizeList = nil}, loc) o toCaexp (decls, loc) end fun frameBitmapVars ({bitmap, tids}:frameBitmap) = map (fn RecordLayout.VAR (v, _) => v | _ => raise Control.Bug "frameBitmapVars") (RecordLayout.bitmapWords bitmap) fun extendFrameBitmap ({bitmap, tids}:frameBitmap, bits, loc) = let val (newTids, tagVars) = ListPair.unzip bits val tags = map (fn tag => {tag = RecordLayout.VAR (tag, NONE)}) tagVars val (decls, bitmap) = RecordLayout.addBitsToBitmap (tags, bitmap) val frameBitmap = {bitmap = bitmap, tids = newTids @ tids} val vars = frameBitmapVars frameBitmap val merge = C.CAMERGE vars in ((toCaexp (decls, loc)) merge, frameBitmap) end fun computeFrameBitmap env (btvEnv, argVarList, freeTyvars, loc) = if BoundTypeVarID.Set.isEmpty freeTyvars then (* no free type variable in the frame; no frame bitmap *) (C.CAMERGE nil, nil, nil, #frameBitmap env) else if BoundTypeVarID.Map.isEmpty btvEnv then (* free type variables are found but they are not bound here; * all the ftv whose tags are not constant must be already in * the current frameBitmap. *) let val frameBitmap = #frameBitmap env val freeTyvars = BoundTypeVarID.Set.filter (fn t => isNone (constTag env t)) freeTyvars val tids = foldl (fn (t,z) => BoundTypeVarID.Set.add (z,t)) BoundTypeVarID.Set.empty (#tids frameBitmap) val _ = if BoundTypeVarID.Set.isSubset (freeTyvars, tids) then () else raise Control.Bug "computeFrameBitmap" val vars = frameBitmapVars frameBitmap in (C.CAMERGE vars, vars, #tids frameBitmap, frameBitmap) end else (* some type variables bound by btvEnv occurs in bodyExp. * extend frameBitmap with the type variables. *) let val boundTagBits = tagVars argVarList val env = bindTyvars (env, btvEnv) val bits = List.filter (fn (tid, var) => BoundTypeVarID.Set.member (freeTyvars, tid) andalso isNone (constTag env tid)) boundTagBits val (frameBitmapExp, frameBitmap) = extendFrameBitmap (#frameBitmap env, bits, loc) in (frameBitmapExp, frameBitmapVars frameBitmap, #tids frameBitmap, frameBitmap) end fun makeRecord (fields, loc) = let val (decls, {totalSize, fieldIndexes, bitmap}) = RecordLayout.computeRecord (map (fn {tag,size,fieldSize,label,var:C.varInfo} => {tag=tag, size=fieldSize}) fields) val recordTy = makeRecordTy (map (fn {label, var={ty,...}, ...} => (label, ty)) fields) val totalSize = toCavalue (totalSize, SOME (T.RECORDSIZEty recordTy)) val fieldList = ListPair.mapEq (fn (index, {tag, size, fieldSize, label, var as {ty,...}}) => {fieldExp = C.BAVAR var, fieldLabel = label, fieldIndex = toCavalue (index, SOME (T.INDEXty (label, recordTy))), fieldSize = toCavalue (size, SOME (T.SIZEty ty)), fieldTy = ty}) (fieldIndexes, fields) val bitmap = mapi (fn (i,v) => toCavalue (v, SOME (T.RECORDBITMAPty (i, recordTy)))) bitmap in (toCaexp (decls, loc), {fieldList = fieldList, recordTy = recordTy, annotation = AnnotationLabelID.generate (), isMutable = false, clearPad = false, totalSizeExp = totalSize, bitmapExpList = bitmap}) end fun listFreeVars env vars = let val fields = map (fn (var as {ty,...}:C.varInfo) => (var, findTag env ty, findSize env ty, unalignedSize env ty)) (VarID.Map.listItems vars) fun addValue (set, RecordLayout.CONST _) = set | addValue (set, RecordLayout.VAR (var, _)) = addVar (set, var) (* size is needed to read a value from closure environment. *) val fv = foldl (fn ((var,tag,size,usize),set) => addValue (set, size)) emptyVarSet fields val fv = setminus (fv, vars) in if VarID.Map.isEmpty fv then fields else listFreeVars env fv @ fields end fun closureEnvRecordFields env freeVars = let val fields = listFreeVars env freeVars (* larger field first *) val fields = ListSorter.sort (fn ((var1,tag1,size1,usize1), (var2,tag2,size2,usize2)) => case Int.compare (usize1, usize2) of EQUAL => VarID.compare (#id var1, #id var2) | LESS => GREATER | GREATER => LESS) fields in mapi (fn (i,(var,tag,size,usize)) => {label = Int.toString i, var = var, tag = tag, size = size, fieldSize = RecordLayout.const usize}) fields end fun explodeRecord (recordVar, nil) = nil | explodeRecord (recordVar, {fieldExp:C.cavalue, fieldTy, fieldLabel, fieldIndex, fieldSize}::fields) = C.BASELECT {recordExp = C.BAVAR recordVar, indexExp = fieldIndex, label = fieldLabel, recordTy = #ty recordVar, resultTy = fieldTy, resultSize = fieldSize} :: explodeRecord (recordVar, fields) fun computeClosureEnv env (freeVars, loc) = if VarID.Map.isEmpty freeVars then {makeClosureEnvExpFn = fn K => K, closureEnvExp = NONE, closureEnvArg = NONE, freeVarsMap = VarID.Map.empty} else let val fields = closureEnvRecordFields env freeVars val (expFn, recordExpArg) = makeRecord (fields, loc) val closureEnvVar = newVar (#recordTy recordExpArg) val closureEnvArgVar = newVar (#recordTy recordExpArg) val makeClosureEnvExpFn = expFn o Val (closureEnvVar, C.BARECORD recordExpArg, loc) val selectExps = explodeRecord (closureEnvArgVar, #fieldList recordExpArg) val freeVars = ListPair.mapEq (fn ({var,...}, selectExp) => (var, fn K => C.CAVAL {boundVar = var, boundExp = selectExp, nextExp = K, loc = loc})) (fields, selectExps) val freeVarsMap = foldl (fn (({id,...}, e), z) => VarID.Map.insert (z, id, e)) VarID.Map.empty freeVars in {makeClosureEnvExpFn = makeClosureEnvExpFn, closureEnvExp = SOME (C.BAVAR closureEnvVar), closureEnvArg = SOME {argVar = closureEnvArgVar, freeVars = map #1 freeVars}, freeVarsMap = freeVarsMap} end fun closureEnvArgVarSet NONE = emptyVarSet | closureEnvArgVarSet (SOME {argVar, freeVars:C.varInfo list}) = VarID.Map.singleton (#id argVar, argVar) fun bindFreeVars bv freeVarsMap freeVars = let val vars = VarID.Map.listItems freeVars val selects = List.mapPartial (fn var as {id,...}:C.varInfo => case VarID.Map.find (freeVarsMap, id) of SOME e => SOME (var, e) | NONE => NONE) vars val (sizes, others) = foldr (fn (({ty,...}, e), (sizes, others)) => case ty of T.SINGLETONty (T.SIZEty _) => (e o sizes, others) | _ => (sizes, e o others)) (fn K => K, fn K => K) selects val expFn = sizes o others val tmpExp = expFn (C.CAMERGE vars) val fv = freeVarsExp bv tmpExp (* val _ = print "tmpExp:\n" val _ = print (Control.prettyPrint (C.format_caexp tmpExp) ^ "\n") val _ = app (fn v => print (Control.prettyPrint (C.format_varInfo v) ^ ",")) (VarID.Map.listItems fv) val _ = print "\n" *) in if VarID.Map.isEmpty fv then expFn else bindFreeVars bv freeVarsMap fv o expFn end fun convertFn env (btvEnv, ffiAttributes, path, func as {argVarList, funTy, bodyExp, annotation, closureLayout, loc}:A.function) = let (* val _ = print "--- convertFn begin ---\n" val _ = print (Control.prettyPrint (A.format_baexp bodyExp) ^ "\n") *) val ftv = freeTyvarsFunction func (* val _ = print "ftv: " val _ = app (fn v => print (Control.prettyPrint (C.format_tid v) ^ ",")) (BoundTypeVarID.Set.listItems ftv) val _ = print "\n" *) val (frameBitmapExp, frameBitmapVars, frameBitmapBits, frameBitmap) = computeFrameBitmap env (btvEnv, argVarList, ftv, loc) val nestEnv = bindTyvars (env, btvEnv) val freeTyvars = ftvToBtvEnv nestEnv ftv val nestEnv = bindVars (nestEnv, argVarList) val nestEnv = setFrameBitmap (nestEnv, frameBitmap) val (topdecs, bodyExp) = convertExp nestEnv bodyExp val bv = varSetFromList argVarList val freeVarsBitmap = freeVarsExp bv frameBitmapExp val freeVarsBody = freeVarsExp (addVars (bv, frameBitmapVars)) bodyExp (* val _ = print "freeVarsBody: " val _ = app (fn v => print (Control.prettyPrint (C.format_varInfo v) ^ ",")) (VarID.Map.listItems freeVarsBody) val _ = print "\n" *) val freeVars = union (freeVarsBitmap, freeVarsBody) (* val _ = print "freeVars: " val _ = app (fn v => print (Control.prettyPrint (C.format_varInfo v) ^ ",")) (VarID.Map.listItems freeVars) val _ = print "\n" *) val {makeClosureEnvExpFn, closureEnvExp, closureEnvArg, freeVarsMap} = computeClosureEnv env (freeVars, loc) val bv = union (bv, closureEnvArgVarSet closureEnvArg) val frameBitmapExp = (bindFreeVars bv freeVarsMap freeVarsBitmap) frameBitmapExp val bodyExp = (bindFreeVars bv freeVarsMap freeVarsBody) bodyExp val {bodyTy, ...} = AnnotatedTypesUtils.expandFunTy funTy val codeId = VarID.generate () val clusterDecl = C.CAFUNCTION {codeId = codeId, path = path, btvEnv = btvEnv, freeTyvars = freeTyvars, bodyTy = bodyTy, attributes = ffiAttributes, closureEnvArg = closureEnvArg, argVarList = argVarList, frameBitmapExp = frameBitmapExp, frameBitmaps = frameBitmapVars, frameBitmapBits = frameBitmapBits, outerFrameBitmap = (#tids (#frameBitmap env), map (fn v => toCavalue (v, NONE)) (RecordLayout.bitmapWords (#bitmap (#frameBitmap env)))), bodyExp = bodyExp, annotation = annotation, loc = loc} (* val _ = print ("codeId: " ^ Control.prettyPrint (C.format_functionCodeId codeId) ^ "\n") val _ = print "--- convertFn end ---\n" *) in (topdecs @ [clusterDecl], makeClosureEnvExpFn, codeId, closureEnvExp) end and convertRecBind env recBinds = let val boundVars = map #boundVar recBinds val env = bindVars (env, boundVars) in convertList (fn {boundVar, function as {argVarList, bodyExp, funTy, annotation, closureLayout, loc}:A.function} => let val env = bindVars (env, argVarList) val (topdecs, bodyExp) = convertExp env bodyExp (* NOTE: fv includes recursive variables *) val fv = freeVarsExp (varSetFromList argVarList) bodyExp in (topdecs, {boundVar = boundVar, function = function, bodyExp = bodyExp, freeVars = fv, codeId = VarID.generate ()}) end) recBinds end and convertRecFn env (recBinds, loc) = let val ftv = freeTyvarsFunctionList (map #function recBinds) val freeTyvars = ftvToBtvEnv env ftv val (frameBitmapVars, frameBitmapBits) = if BoundTypeVarID.Set.isEmpty ftv then (nil, nil) else (frameBitmapVars (#frameBitmap env), #tids (#frameBitmap env)) val (topdecs, recBinds) = convertRecBind env recBinds val freeVars = setminus (unionList (map #freeVars recBinds), varSetFromList (map #boundVar recBinds)) val freeVars = addVars (freeVars, frameBitmapVars) val {makeClosureEnvExpFn, closureEnvExp, closureEnvArg, freeVarsMap} = computeClosureEnv env (freeVars, loc) val bv = closureEnvArgVarSet closureEnvArg val frameBitmapExp = (bindFreeVars bv freeVarsMap (varSetFromList frameBitmapVars)) (C.CAMERGE frameBitmapVars) val closureEnvArgExp = Option.map (fn {argVar,...} => C.BAVAR argVar) closureEnvArg val freeVarsMap = foldl (fn ({boundVar, codeId, function={closureLayout,funTy,...}, ...}, freeVarsMap) => VarID.Map.insert (freeVarsMap, #id boundVar, fn K => C.CACLOSURE {boundVar = boundVar, codeId = codeId, funTy = funTy, closureEnv = closureEnvArgExp, closureLayout = closureLayout, nextExp = K, loc = loc})) freeVarsMap recBinds val functions = map (fn {codeId, function={argVarList, funTy, annotation, ...}, boundVar={path,...}, bodyExp, freeVars, ...} => let val bv = union (bv, varSetFromList argVarList) in {codeId = codeId, path = path, argVarList = argVarList, funTy = funTy, bodyExp = (bindFreeVars bv freeVarsMap freeVars) bodyExp, annotation = annotation, loc = loc} end) recBinds val clusterDecl = C.CARECFUNCTION {closureEnvArg = closureEnvArg, freeTyvars = freeTyvars, frameBitmapExp = frameBitmapExp, frameBitmaps = frameBitmapVars, frameBitmapBits = frameBitmapBits, functions = functions, loc = loc} val closureInfo = map (fn {boundVar, function, codeId, ...} => {boundVar = boundVar, codeId = codeId, funTy = #funTy function, closureEnv = closureEnvExp, closureLayout = #closureLayout function}) recBinds in (topdecs @ [clusterDecl], makeClosureEnvExpFn, closureInfo) end and convertLocalFn env recbindList = let val env = bindVars (env, map #boundVar recbindList) in convertList (fn {boundVar, function={argVarList, funTy, bodyExp, annotation, closureLayout, loc}:A.function} => let val env = bindVars (env, argVarList) val (topdecs1, bodyExp) = convertExp env bodyExp in (topdecs1, {boundVar = boundVar, function = {argVarList = argVarList, bodyExp = bodyExp, funTy = funTy, annotation = annotation, loc = loc} : C.localFunction}) end) recbindList end and convertSwitch env ({switchExp, expTy, branches, defaultExp, loc} :A.switch) = let val (topdecs1, branches) = convertList (fn {constant, branchExp} => let val (topdecs1, branchExp) = convertExp env branchExp in (topdecs1, {constant = constant, branchExp = branchExp}) end) branches val (topdecs2, defaultExp) = convertExp env defaultExp in (topdecs1 @ topdecs2, {switchExp = switchExp, expTy = expTy, branches = branches, defaultExp = defaultExp, loc = loc} : C.switch) end and convertExp env baexp = case baexp of A.BAVAL {boundVar, boundExp, nextExp, loc} => let val env = bindVars (env, [boundVar]) val (topdecs1, nextExp) = convertExp env nextExp in (topdecs1, C.CAVAL {boundVar = boundVar, boundExp = boundExp, nextExp = nextExp, loc = loc}) end | A.BACALL {resultVars, callExp, nextExp, loc} => let val env = bindVars (env, resultVars) val (topdecs1, nextExp) = convertExp env nextExp in (topdecs1, C.CACALL {resultVars = resultVars, callExp = callExp, nextExp = nextExp, loc = loc}) end | A.BAEXPORTVAR {varInfo, varSize, varTag, nextExp, loc} => let val (topdecs1, nextExp) = convertExp env nextExp in (C.CATOPVAR {path = #path varInfo, initialValue = NONE, elementTy = #ty varInfo, elementSize = valueToWord varSize} :: topdecs1, C.CAEXPORTVAR {varInfo = varInfo, varSize = varSize, varTag = varTag, nextExp = nextExp, loc = loc}) end | A.BAEXTERNVAR {exVarInfo, nextExp, loc} => let val (topdecs1, nextExp) = convertExp env nextExp in (C.CAEXTERNVAR {exVarInfo = exVarInfo, loc = loc} :: topdecs1, nextExp) end | A.BAHANDLE {resultVars, tryExp, exnVar, handlerExp, nextExp, loc} => let val (topdecs1, tryExp) = convertExp env tryExp val handlerEnv = bindVars (env, [exnVar]) val (topdecs2, handlerExp) = convertExp handlerEnv handlerExp val env = bindVars (env, resultVars) val (topdecs3, nextExp) = convertExp env nextExp in (topdecs1 @ topdecs2 @ topdecs3, C.CAHANDLE {resultVars = resultVars, tryExp = tryExp, exnVar = exnVar, handlerExp = handlerExp, nextExp = nextExp, loc = loc}) end | A.BASWITCH {resultVars, switch, nextExp} => let val (topdecs1, switch) = convertSwitch env switch val env = bindVars (env, resultVars) val (topdecs2, nextExp) = convertExp env nextExp in (topdecs1 @ topdecs2, C.CASWITCH {resultVars = resultVars, switch = switch, nextExp = nextExp}) end | A.BATAILSWITCH switch => let val (topdecs1, switch) = convertSwitch env switch in (topdecs1, C.CATAILSWITCH switch) end | A.BAPOLY {resultVars, btvEnv, expTyWithoutTAbs, exp, nextExp, loc} => let val nestEnv = bindTyvars (env, btvEnv) val (topdecs1, exp) = convertExp nestEnv exp val env = bindVars (env, resultVars) val (topdecs2, nextExp) = convertExp env nextExp in (topdecs1 @ topdecs2, C.CAPOLY {resultVars = resultVars, btvEnv = btvEnv, expTyWithoutTAbs = expTyWithoutTAbs, exp = exp, nextExp = nextExp, loc = loc}) end (* | A.BANEST {resultVars, nestExp, nextExp, loc} => let val (topdecs1, nestExp) = convertExp env nestExp val env = bindVars (env, resultVars) val (topdecs2, nextExp) = convertExp env nextExp in (topdecs1 @ topdecs2, C.CANEST {resultVars = resultVars, nestExp = nestExp, nextExp = nextExp, loc = loc}) end *) | A.BAMERGE resultVars => (nil, C.CAMERGE resultVars) | A.BARETURN {resultVars, funTy, loc} => (nil, C.CARETURN {resultVars = resultVars, funTy = funTy, loc = loc}) | A.BATAILAPPM {funExp, funTy, argExpList, loc} => (nil, C.CATAILAPPM {funExp = funExp, funTy = funTy, argExpList = argExpList, loc = loc}) | A.BARAISE {argExp, loc} => (nil, C.CARAISE {argExp = argExp, loc = loc}) | A.BAFNM {boundVar, btvEnv, function as {funTy,...}, nextExp} => if AnnotatedTypesUtils.isLocalFunTy funTy then let val _ = if BoundTypeVarID.Map.isEmpty btvEnv then () else raise Control.Bug "convertExp: BAFNM" val (topdecs1, recbindList) = convertLocalFn env [{boundVar=boundVar, function=function}] val env = bindVars (env, [boundVar]) val (topdecs2, nextExp) = convertExp env nextExp in (topdecs1 @ topdecs2, C.CALOCALFNM {recbindList = recbindList, nextExp = nextExp, loc = #loc function}) end else let val (topdecs1, makeClosureEnvExpFn, codeId, closureEnv) = convertFn env (btvEnv, NONE, #path boundVar, function) val (topdecs2, nextExp) = convertExp env nextExp in (topdecs1 @ topdecs2, makeClosureEnvExpFn (C.CACLOSURE {boundVar = boundVar, codeId = codeId, funTy = funTy, closureEnv = closureEnv, closureLayout = #closureLayout function, nextExp = nextExp, loc = #loc function})) end | A.BACALLBACKFNM {boundVar, function, foreignFunTy as {attributes,...}, nextExp} => let val (topdecs1, makeClosureEnvExpFn, codeId, closureEnv) = convertFn env (emptyBtvEnv, SOME attributes, #path boundVar, function) val (topdecs2, nextExp) = convertExp env nextExp in (topdecs1 @ topdecs2, makeClosureEnvExpFn (C.CACALLBACKCLOSURE {boundVar = boundVar, codeId = codeId, closureEnv = closureEnv, foreignFunTy = foreignFunTy, nextExp = nextExp, loc = #loc function})) end | A.BAVALREC {recbindList, nextExp, loc} => if List.all (fn {function={funTy,...},...} => AnnotatedTypesUtils.isLocalFunTy funTy) recbindList then let val (topdecs1, recbindList) = convertLocalFn env recbindList val (topdecs2, nextExp) = convertExp env nextExp in (topdecs1 @ topdecs2, C.CALOCALFNM {recbindList = recbindList, nextExp = nextExp, loc = loc}) end else let val (topdecs1, makeClosureEnvExpFn, closureInfo) = convertRecFn env (recbindList, loc) val (topdecs2, nextExp) = convertExp env nextExp val closureExp = foldr (fn ({boundVar, codeId, funTy, closureEnv, closureLayout}, z) => C.CACLOSURE {boundVar = boundVar, codeId = codeId, funTy = funTy, closureEnv = closureEnv, closureLayout = closureLayout, nextExp = z, loc = loc}) nextExp closureInfo in (topdecs1 @ topdecs2, makeClosureEnvExpFn closureExp) end fun convert bcexp = let val (topdecs, caexp) = convertExp emptyEnv bcexp in topdecs @ [C.CATOPLEVEL caexp] end end smlsharp-1.2.0/src/compiler/compat0000755 000000000000000000000000012050661606017310 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/compat/main0000755 000000000000000000000000012050661606020234 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/compat/main/IEEEReal_compat.sml0000644 000000000000000000000400512050661606023705 0ustar00rootroot0000000 0000000 (* * wrapper for IEEEReal of SML/NJ for compatibility. * @copyright (c) 2010, Tohoku University. * @author UENO Katsuhiro *) structure IEEEReal : sig exception Unordered datatype real_order = LESS | EQUAL | GREATER | UNORDERED datatype float_class = NAN | INF | ZERO | NORMAL | SUBNORMAL datatype rounding_mode = TO_NEAREST | TO_NEGINF | TO_POSINF | TO_ZERO val setRoundingMode : rounding_mode -> unit val getRoundingMode : unit -> rounding_mode type decimal_approx = {class : float_class, sign : bool, digits : int list, exp : int} val toString : decimal_approx -> string val scan : (char, 'a) StringCvt.reader -> (decimal_approx, 'a) StringCvt.reader val fromString : string -> decimal_approx option end = struct open IEEEReal structure O = struct datatype float_class = datatype float_class end datatype float_class = NAN | INF | ZERO | NORMAL | SUBNORMAL type decimal_approx = { class : float_class, sign : bool, digits : int list, exp : int } fun toOldApprox {class, sign, digits, exp} = {kind = case class of NAN => O.NAN QUIET | INF => O.INF | ZERO => O.ZERO | NORMAL => O.NORMAL | SUBNORMAL => O.SUBNORMAL, sign = sign, digits = digits, exp = exp} fun toNewApprox {kind, sign, digits, exp} = {class = case kind of O.NAN _ => NAN | O.INF => INF | O.ZERO => ZERO | O.NORMAL => NORMAL | O.SUBNORMAL => SUBNORMAL, sign = sign, digits = digits, exp = exp} val toString = fn approx => toString (toOldApprox approx) val scan = fn reader => fn src => case scan reader src of NONE => NONE | SOME (approx, src) => SOME (toNewApprox approx, src) val fromString = fn src => case fromString src of NONE => NONE | SOME approx => SOME (toNewApprox approx) end smlsharp-1.2.0/src/compiler/compat/main/Real32_compat.sml0000644 000000000000000000000003012050661606023414 0ustar00rootroot0000000 0000000 structure Real32 = Real smlsharp-1.2.0/src/compiler/constantterm0000755 000000000000000000000000012050661606020546 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/constantterm/main0000755 000000000000000000000000012050661606021472 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/constantterm/main/ConstantTerm.ppg0000755 000000000000000000003267612050661606024723 0ustar00rootroot0000000 0000000 (** * constant terms. * @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori * @author YAMATODANI Kiyoshi * @version $Id: ConstantTerm.ppg,v 1.1 2008/11/19 19:57:44 ohori Exp $ *) structure ConstantTerm = struct (* structure PT = PredefinedTypes *) structure BT = BuiltinTypes structure T = Types structure TU = TypesUtils structure UE = UserError structure A = Absyn (* for debugging *) fun printType ty = print (Control.prettyPrint (Types.format_ty nil ty) ^ "\n") (*% * @formatter(Int32.int) TermFormat.format_Int32_dec_ML * @formatter(Word32.word) TermFormat.format_Word32_hex_ML * @formatter(Word8.word) TermFormat.format_Word8_hex_ML * @formatter(BigInt.int) TermFormat.format_BigInt_dec_ML * @formatter(stringLiteral) TermFormat.format_string_ML * @formatter(charLiteral) TermFormat.format_char_ML *) datatype constant = (*% * @format(value) value *) INT of Int32.int | (*% * @format(value) value *) LARGEINT of BigInt.int | (*% * @format(value) value *) WORD of Word32.word | (*% * @format(value) value *) BYTE of Word8.word | (*% * @format(value) value:stringLiteral *) STRING of string | (*% * @format(value) value *) REAL of string | (*% * @format(value) value "f" *) FLOAT of string | (*% * @format(value) value:charLiteral *) CHAR of char | (*% * @format(value) "()" *) UNIT | (*% * @format "NULLPTR" *) NULLPOINTER (* null C pointer *) | (*% * @format "NULLBOXED" *) NULLBOXED (* null pointer (boxed type) *) (*% *) exception (*% * @format "too" +d "large" +d "constant" *) TooLargeConstant fun compare (x, y) = let fun order const = case const of INT _ => 0 | LARGEINT _ => 1 | WORD _ => 2 | BYTE _ => 3 | STRING _ => 4 | REAL _ => 5 | FLOAT _ => 6 | CHAR _ => 7 | UNIT => 8 | NULLPOINTER => 9 | NULLBOXED => 10 in case (x, y) of (INT x, INT y) => Int32.compare (x, y) | (INT _, _) => Int.compare (order x, order y) | (LARGEINT x, LARGEINT y) => BigInt.compare (x, y) | (LARGEINT _, _) => Int.compare (order x, order y) | (WORD x, WORD y) => Word32.compare (x, y) | (WORD _, _) => Int.compare (order x, order y) | (BYTE x, BYTE y) => Word8.compare (x, y) | (BYTE _, _) => Int.compare (order x, order y) | (STRING x, STRING y) => String.compare (x, y) | (STRING _, _) => Int.compare (order x, order y) | (REAL x, REAL y) => String.compare (x, y) | (REAL _, _) => Int.compare (order x, order y) | (FLOAT x, FLOAT y) => String.compare (x, y) | (FLOAT _, _) => Int.compare (order x, order y) | (CHAR x, CHAR y) => Char.compare (x, y) | (CHAR _, _) => Int.compare (order x, order y) | (UNIT, UNIT) => EQUAL | (UNIT, _) => Int.compare (order x, order y) | (NULLPOINTER, NULLPOINTER) => EQUAL | (NULLPOINTER, _) => Int.compare (order x, order y) | (NULLBOXED, NULLBOXED) => EQUAL | (NULLBOXED, _) => Int.compare (order x, order y) end local fun decomposePolyTy (T.POLYty {boundtvars, body}) = (boundtvars, body) | decomposePolyTy ty = (BoundTypeVarID.Map.empty, ty) fun polyTy (btvEnv, bodyTy) = if BoundTypeVarID.Map.isEmpty btvEnv then bodyTy else T.POLYty {boundtvars=btvEnv, body=bodyTy} fun overloadTy tys = let val (btvEnvs, tys) = ListPair.unzip (map decomposePolyTy tys) val btvEnv = foldl (BoundTypeVarID.Map.unionWith (fn _ => raise Control.Bug "unionTys")) BoundTypeVarID.Map.empty btvEnvs in case tys of [ty] => polyTy (btvEnv, ty) | _ => let val btv = BoundTypeVarID.generate () val btvKind = {tvarKind = T.OCONSTkind tys, eqKind = A.NONEQ} val btvEnv = BoundTypeVarID.Map.insert (btvEnv, btv, btvKind) in T.POLYty {boundtvars = btvEnv, body = T.BOUNDVARty btv} end end fun sqlValueTy elemTy = let val (btvEnv, elemTy) = decomposePolyTy elemTy val btv = BoundTypeVarID.generate () val btvKind = {tvarKind = T.UNIV, eqKind = A.NONEQ} val btvEnv = BoundTypeVarID.Map.insert (btvEnv, btv, btvKind) val tyCon = BT.valueTyCon in T.POLYty {boundtvars = btvEnv, body = T.CONSTRUCTty {tyCon = tyCon, args = [elemTy, T.BOUNDVARty btv]}} end fun optionTy elemTy = let val (btvEnv, elemTy) = decomposePolyTy elemTy val tyCon = BT.optionTyCon in polyTy (btvEnv, T.CONSTRUCTty {tyCon = tyCon, args = [elemTy]}) end fun intType () = overloadTy [ BT.intTy, BT.intInfTy, sqlValueTy (overloadTy [BT.intTy, optionTy BT.intTy]) ] fun wordType () = overloadTy [ BT.wordTy, BT.word8Ty, sqlValueTy (overloadTy [BT.wordTy, optionTy BT.wordTy]) ] fun stringType () = overloadTy [ BT.stringTy, sqlValueTy (overloadTy [BT.stringTy, optionTy BT.stringTy]) ] fun realType () = overloadTy [ BT.realTy, BT.real32Ty, sqlValueTy (overloadTy [BT.realTy, optionTy BT.realTy]) ] fun charType () = overloadTy [ BT.charTy, sqlValueTy (overloadTy [BT.charTy, optionTy BT.charTy]) ] fun unitType () = BT.unitTy fun nullType () = overloadTy [ BT.ptrTy, BT.boxedTy ] in fun constTy const = case const of A.INT _ => intType () | A.WORD _ => wordType () | A.STRING _ => stringType () | A.REAL _ => realType () | A.CHAR _ => charType () | A.UNITCONST _ => unitType () | A.NULLCONST _ => nullType () end local fun sqlInt x = if x < 0 then "-" ^ (Int32.toString (~x)) else Int32.toString x fun sqlWord x = Word32.fmt StringCvt.DEC x fun sqlReal x = String.translate (fn #"~" => "-" | x => str x) x fun sqlString x = "'" ^ String.translate (fn #"'" => "''" | x => str x) x ^ "'" fun sqlChar x = sqlString (str x) in (** * fix the form of constant expression according to its type. *) fun fixConst {constTerm : constant -> 'exp, recordTerm : 'exp LabelEnv.map * Types.ty -> 'exp, conTerm : {con: Types.conInfo, instTyList: Types.ty list, arg: 'exp option} -> 'exp} (const, ty) = let datatype constTy = INTty | WORDty | CHARty | STRINGty | REALty | FLOATty | LARGEINTty | BYTEty | UNITty | PTRty | BOXEDty | OPTIONty of constTy | SQLVALUEty of constTy * T.ty fun constTy ty = case TU.derefTy ty of T.CONSTRUCTty {tyCon={id,...}, args=[]} => if TypID.eq (id, #id BT.intTyCon) then INTty else if TypID.eq (id, #id BT.wordTyCon) then WORDty else if TypID.eq (id, #id BT.charTyCon) then CHARty else if TypID.eq (id, #id BT.stringTyCon) then STRINGty else if TypID.eq (id, #id BT.realTyCon) then REALty else if TypID.eq (id, #id BT.real32TyCon) then FLOATty else if TypID.eq (id, #id BT.intInfTyCon) then LARGEINTty else if TypID.eq (id, #id BT.word8TyCon) then BYTEty else if TypID.eq (id, #id BT.unitTyCon) then UNITty else if TypID.eq (id, #id BT.boxedTyCon) then BOXEDty else (printType ty; raise Control.Bug "castConst" ) | T.CONSTRUCTty {tyCon={id,...}, args=[arg]} => if TypID.eq (id, #id BT.ptrTyCon) then PTRty else if TypID.eq (id, #id (BT.optionTyCon)) then OPTIONty (constTy arg) else (printType ty; raise Control.Bug "castConst") | T.CONSTRUCTty {tyCon={id,...}, args=[arg1, arg2]} => if TypID.eq (id, #id BT.valueTyCon) then SQLVALUEty (constTy arg1, arg2) else (printType ty; raise Control.Bug "castConst") | _ => (printType ty; raise Control.Bug "castConst") fun pairTerm ((e1,t1), (e2,t2)) = let fun fromList list = foldl (fn ((key, item), m) => LabelEnv.insert (m, key, item)) LabelEnv.empty list val ty = T.RECORDty (fromList [("1",t1),("2",t2)]) val exp = recordTerm (fromList [("1",e1), ("2",e2)], ty) in (exp, ty) end fun stringDBIPairTerm (string, dbiTy) = pairTerm ((constTerm (STRING string), BT.stringTy), (conTerm {con = BT.DBITPConInfo, instTyList = [dbiTy], arg = NONE}, T.CONSTRUCTty {tyCon = BT.dbiTyCon, args = [dbiTy]})) fun sqlValue (string as (_, dbiTy)) (exp, valueTy) = conTerm {con = BT.VALUETPConInfo, instTyList = [valueTy, dbiTy], arg = SOME (#1 (pairTerm (stringDBIPairTerm string, (exp, valueTy))))} fun sqlOptionValue string (exp, valueTy) = sqlValue string (conTerm {con = BT.SOMETPConInfo, instTyList = [valueTy], arg = SOME exp}, T.CONSTRUCTty {tyCon = BT.optionTyCon, args = [valueTy]}) fun scanInt scanFn ({radix, digits}, loc) = let val r = StringCvt.scanString (scanFn radix) digits handle Overflow => (UE.UserErrors [(loc, UE.Error, TooLargeConstant)]; StringCvt.scanString (scanFn radix) "0") in case r of SOME x => x | NONE => raise Control.Bug "scanInt" end in case (const, constTy ty) of (A.INT x, INTty) => constTerm (INT (scanInt Int32.scan x)) | (A.INT x, LARGEINTty) => constTerm (LARGEINT (scanInt BigInt.scan x)) | (A.INT x, SQLVALUEty (INTty, dbi)) => sqlValue (sqlInt (scanInt Int32.scan x), dbi) (constTerm (INT (scanInt Int32.scan x)), BT.intTy) | (A.INT x, SQLVALUEty (OPTIONty INTty, dbi)) => sqlOptionValue (sqlInt (scanInt Int32.scan x), dbi) (constTerm (INT (scanInt Int32.scan x)), BT.intTy) | (A.INT _, _) => raise Control.Bug "fixConst: INT" | (A.WORD x, WORDty) => constTerm (WORD (scanInt Word32.scan x)) | (A.WORD x, BYTEty) => constTerm (BYTE (scanInt Word8.scan x)) | (A.WORD x, SQLVALUEty (WORDty, dbi)) => sqlValue (sqlWord (scanInt Word32.scan x), dbi) (constTerm (WORD (scanInt Word32.scan x)), BT.wordTy) | (A.WORD x, SQLVALUEty (OPTIONty WORDty, dbi)) => sqlOptionValue (sqlWord (scanInt Word32.scan x), dbi) (constTerm (WORD (scanInt Word32.scan x)), BT.wordTy) | (A.WORD _, _) => raise Control.Bug "fixConst: WORD" | (A.STRING (x, loc), STRINGty) => constTerm (STRING x) | (A.STRING (x, loc), SQLVALUEty (STRINGty, dbi)) => sqlValue (sqlString x, dbi) (constTerm (STRING x), BT.stringTy) | (A.STRING (x, loc), SQLVALUEty (OPTIONty STRINGty, dbi)) => sqlOptionValue (sqlString x, dbi) (constTerm (STRING x), BT.stringTy) | (A.STRING _, _) => raise Control.Bug "fixConst: STRING" | (A.REAL (x, loc), REALty) => constTerm (REAL x) | (A.REAL (x, loc), FLOATty) => constTerm (FLOAT x) | (A.REAL (x, loc), SQLVALUEty (REALty, dbi)) => sqlValue (sqlReal x, dbi) (constTerm (REAL x), BT.realTy) | (A.REAL (x, loc), SQLVALUEty (OPTIONty REALty, dbi)) => sqlOptionValue (sqlReal x, dbi) (constTerm (REAL x), BT.realTy) | (A.REAL _, _) => raise Control.Bug "fixConst: REAL" | (A.CHAR (x, loc), CHARty) => constTerm (CHAR x) | (A.CHAR (x, loc), SQLVALUEty (CHARty, dbi)) => sqlValue (sqlChar x, dbi) (constTerm (CHAR x), BT.charTy) | (A.CHAR (x, loc), SQLVALUEty (OPTIONty CHARty, dbi)) => sqlOptionValue (sqlChar x, dbi) (constTerm (CHAR x), BT.charTy) | (A.CHAR _, _) => raise Control.Bug "fixConst: CHAR" | (A.UNITCONST (_, loc), UNITty) => constTerm UNIT | (A.UNITCONST _, _) => raise Control.Bug "fixConst: UNITCONST" | (A.NULLCONST _, PTRty) => constTerm NULLPOINTER | (A.NULLCONST _, BOXEDty) => constTerm NULLBOXED | (A.NULLCONST _, _) => raise Control.Bug "fixConst: NULLCONST" end end end smlsharp-1.2.0/src/compiler/constantterm/main/ConstantTerm.ppg.smi0000644 000000000000000000000247412050661606025500 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../util/main/BigInt_IntInf.smi" _require "../../util/main/TermFormat.smi" _require "../../usererror/main/UserError.ppg.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../builtin2/main/BuiltinTypes.smi" _require "../../types/main/Types.ppg.smi" _require "../../types/main/TypesUtils.smi" structure ConstantTerm = struct datatype constant = INT of Int32.int | LARGEINT of BigInt.int | WORD of Word32.word | BYTE of Word8.word | STRING of string | REAL of string | FLOAT of string | CHAR of char | UNIT | NULLPOINTER | NULLBOXED val format_constant : constant -> SMLFormat.FormatExpression.expression list exception TooLargeConstant val compare : constant * constant -> order val constTy : Absyn.constant -> Types.ty val fixConst : {constTerm : constant -> 'a, recordTerm : 'a LabelEnv.map * Types.ty -> 'a, conTerm : {con: Types.conInfo, instTyList: Types.ty list, arg: 'a option} -> 'a} -> Absyn.constant * Types.ty -> 'a end smlsharp-1.2.0/src/compiler/control0000755 000000000000000000000000012050661606017505 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/control/main0000755 000000000000000000000000012050661606020431 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/control/main/Control.ppg0000644 000000000000000000003650212050661606022646 0ustar00rootroot0000000 0000000 (** * switches to control compiler's behavior. * @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori * @version $Id: Control.ppg,v 1.28 2008/03/11 08:53:54 katsu Exp $ *) structure Control = struct (****************************************) (* switches to control conpilation pahse *) val Elab = 2 val Name = 3 val Module = 4 val FunOpt = 5 val TVar = 6 val TyInf = 7 val LayoutOpt = 8 val Print = 9 val UniqueID = 10 val MatchComp = 11 val SQLComp = 12 val FFIComp = 13 val OverloadComp = 14 val Lambda = 15 val Static = 16 val Unbox = 17 val Inline = 18 val RefElim = 19 val DeadCode = 20 val Localize = 21 val Functor = 22 val Cluster = 23 val RBUComp = 24 val Anormal = 25 val SI = 26 val SIOpt = 27 val AI = 28 val AIOpt = 29 val Assem = 30 val Code = 31 val Run = 32 val doUntil = ref Run val doNameEval = ref false fun doPhase current = current <= !doUntil (***************************************************************************) datatype switch = IntSwitch of int ref | BoolSwitch of bool ref | StringSwitch of string ref type switchTable = (string * switch) list (***************************************************************************) (** * indicates a bug of compiler implementation. *) exception Bug of string (*% * @formatter(Loc.loc) Loc.format_loc *) exception BugWithLoc of string * Loc.loc (***************************************************************************) (* switches *) val printWidth = ref 80 fun prettyPrint expressions = let val ppgenParameter = [SMLFormat.Columns (!printWidth)] in SMLFormat.prettyPrint ppgenParameter expressions end (****************************************) (* switches to control informations reported to user *) val printCommand = ref true (** true if binding informations are to be printed. *) val debugPrint = ref false (** true if binding informations are to be printed. *) val debugTrace = ref false (** true if binding informations are to be printed. *) val printBinds = ref true (** true if every warning should be printed. *) val printWarning = ref true (** true if some temporary information will be printed. *) val printInfo = ref false (** true if no formatter is generated and no binding information is printed. *) val skipPrinter = ref false (** If true, information which is required to implement the exnHistory is * embedded in the output Executable. *) val generateExnHistory = ref true (** If true, information for debugger is embedded in the output Executable. *) val generateDebugInfo = ref false (****************************************) (* switches to control optimizations *) (* list expression optimization *) val doListExpressionOptimization = ref true (* * Ohori: Dec 17, 2006. This trun on the large FFI switch in VirtualMachine.cc THIS MUST BE ON TOGETHER WITH #define LARGEFFISWITCH in VirtualMachine.cc *) val LARGEFFISWITCH = ref true val doUncurryOptimization = ref true val doTCOptimization = ref true val doRCOptimization = ref false val enableUnboxedFloat = ref true val alignRecord = ref true val doSymbolicInstructionsOptimization = ref true val doConstantFolding = ref true val doFunctionCallSpecialization = ref true val limitOfBlockFields = ref 15 val doTailCallOptimize = ref true (** If true, recursive call is optimized *) val doRecursiveCallOptimize = ref true (** If flase, self recursive call is compiled in the same way as non-self * recursive call. * If both of doRecursiveCallOptimize and this switch are true, * self-recursive call is compiled into a more specialized instruction than * an instruction for non-self recursive call. *) val doSelfRecursiveCallOptimize = ref true (** If true, the match compiler tries inlining case branch, rather than * translates each case branch into a function. *) val doInlineCaseBranch = ref true (** * if a brach size exceed this limit then a closure will be created * otherwise the expression is copied to every activation point. *) val limitOfInlineCaseBranch = ref 15 val doUncurryingOptimizeInMatchCompile = ref true val doRecordUnboxing = ref true val doInlining = ref false val inlineThreshold = ref 20 (** If true, the compiler will try to optimizing multiple value terms *) val doMultipleValueOptimization = ref true (** If true, the compiler will try to localize functions *) val doFunctionLocalize = ref false val doCommonSubexpressionElimination = ref true val doRepresentationAnalysis = ref true (** If true, the compiler will try to remove all dead code * in MultipleValueCalc *) val doUselessCodeElimination = ref true val doStackReallocation = ref true val doStaticAllocation = ref true val doRegisterCoalescing = ref true val doFrameCompaction = ref true val doBitmapANormalReorder = ref true val insertCheckGC = ref false val pageSizeOfGlobalArray = ref 1024 (* this switch is used in Main.main. *) val doPreludeLazyUnpickling = ref true (****************************************) (* switches to runtime parameter *) val VMHeapSize = ref 4096000 val VMStackSize = ref 4096000 (****************************************) (* internal switches for development *) (** true if trace of compilation should be printed. *) val switchTrace = ref false val traceFileLoad = ref false val tracePrelude = ref false val printSource = ref false val printEL = ref false (* elabolation *) val printNE = ref false (* name evaluation *) val printMC = ref false (* module compile *) val printVR = ref false (* valrec optimization *) val printPL = ref false val printUC = ref false val printTP = ref false val printTFP = ref false val printRCOptimize = ref false val printMatchComp = ref false val printSQLComp = ref false val printFFIComp = ref false val printRecordComp = ref false val printTL = ref false val printAC = ref false val printMV = ref false val printCC = ref false val printRBU = ref false val printAN = ref false val printIL = ref false val printLS = ref false val printIS = ref false val printSR = ref false val printRTL = ref false val printCode = ref false val checkType = ref false (** true if detailed type information should b printed. *) val printWithType = ref false (** switch for abstract instruction generation. *) val printAI = ref false val printML = ref false val printOBJ = ref false val withoutLink = ref false val keepAsm = ref false val debugCodeGen = ref false val targetPlatform = ref "" (* cpu-manufacturer-ossys:options *) val printTimer = ref false local structure S = Substring in fun targetInfo () = let val options = S.fields (fn x => x = #":") (S.full (!targetPlatform)) val (target, options) = case options of target::options => (S.fields (fn x => x = #"-") target, options) | nil => (nil, nil) val (cpu, mfr, os) = case target of cpu::mfr::ossys::_ => (S.string cpu, S.string mfr, S.string ossys) | cpu::ossys::nil => (S.string cpu, "", S.string ossys) | cpu::nil => (S.string cpu, "", "") | _ => ("", "", "") val options = foldr (fn (x, options) => if S.isPrefix "no-" x then (false, S.string (S.slice (x, 3, NONE)))::options else (true, S.string x)::options) nil options in { cpu = cpu, manufacturer = mfr, ossys = os, options = options } end end fun nativeGen () = !targetPlatform <> "" (** true if every diagnosis should be printed. *) val printDiagnosis = ref true val doProfile = ref false val interactiveMode = ref false (* * since SPECty is still alive after type inference in separate * and functor compilation, these switchs are used for error * detection after type inference phase. *) val doCompileObj = ref false val doFunctorCompile = ref false (* * used for error dectection for some special cases of type checking only * at linking time *) val doLinking = ref false (* trace level of SMLFormat. *) val traceSMLFormat = SMLFormat.traceLevel (****************************************) (* other *) val firstLinePrompt = ref "# " val secondLinePrompt = ref "> " (* true if the compiler should skip the shebang line of the argument source * file. *) val skipShebang = ref true (****************************************) (* MEMO: procedure to generate switches list. * (1) get signature of Control structure. * - structure C = Control; * (2) copy and paste specifications of switches. * ex. * val alignRecord : bool ref * val checkType : bool ref * val doConstantPropagation : bool ref * (3) query-replace-regexp * from: * val \([^ ]*\) : \([^ ]*\) ref * to: * ("\1", \2Switch \1), * (4) replace * boolSwitch ==> BoolSwitch * intSwitch ==> IntSwitch *) val newRBU = ref true val switchTable : switchTable = [ ("debugTrace", BoolSwitch debugTrace), ("debugPrint", BoolSwitch debugPrint), ("doNameEval", BoolSwitch doNameEval), ("doBitmapANormalReorder", BoolSwitch doBitmapANormalReorder), ("newRBU", BoolSwitch newRBU), ("doUntil", IntSwitch doUntil), ("alignRecord", BoolSwitch alignRecord), ("checkType", BoolSwitch checkType), ("debugCodeGen", BoolSwitch debugCodeGen), ("doCommonSubexpressionElimination", BoolSwitch doCommonSubexpressionElimination), ("doConstantFolding", BoolSwitch doConstantFolding), ("doFunctionCallSpecialization", BoolSwitch doFunctionCallSpecialization), ("doFunctionLocalize", BoolSwitch doFunctionLocalize), ("doInlineCaseBranch", BoolSwitch doInlineCaseBranch), ("doListExpressionOptimization", BoolSwitch doListExpressionOptimization), ("doMultipleValueOptimization", BoolSwitch doMultipleValueOptimization), ("doPreludeLazyUnpickling", BoolSwitch doPreludeLazyUnpickling), ("doProfile", BoolSwitch doProfile), ("doRecordUnboxing", BoolSwitch doRecordUnboxing), ("doInlining", BoolSwitch doInlining), ("inlineThreshold", IntSwitch inlineThreshold), ("doRecursiveCallOptimize", BoolSwitch doRecursiveCallOptimize), ("doRepresentationAnalysis", BoolSwitch doRepresentationAnalysis), ("doRegisterCoalescing", BoolSwitch doRegisterCoalescing), ("doFrameCompaction", BoolSwitch doFrameCompaction), ("doSelfRecursiveCallOptimize", BoolSwitch doSelfRecursiveCallOptimize), ("doStackReallocation", BoolSwitch doStackReallocation), ("doStaticAllocation", BoolSwitch doStaticAllocation), ("doSymbolicInstructionsOptimization", BoolSwitch doSymbolicInstructionsOptimization), ("doTailCallOptimize", BoolSwitch doTailCallOptimize), ("doUncurryingOptimizeInMatchCompile", BoolSwitch doUncurryingOptimizeInMatchCompile), ("doUncurryOptimization", BoolSwitch doUncurryOptimization), ("doTCOptimization", BoolSwitch doTCOptimization), ("doRCOptimization", BoolSwitch doRCOptimization), ("doUselessCodeElimination", BoolSwitch doUselessCodeElimination), ("enableUnboxedFloat", BoolSwitch enableUnboxedFloat), ("firstLinePrompt", StringSwitch firstLinePrompt), ("generateDebugInfo", BoolSwitch generateDebugInfo), ("generateExnHistory", BoolSwitch generateExnHistory), ("keepAsm", BoolSwitch keepAsm), ("limitOfBlockFields", IntSwitch limitOfBlockFields), ("limitOfInlineCaseBranch", IntSwitch limitOfInlineCaseBranch), ("pageSizeOfGlobalArray", IntSwitch pageSizeOfGlobalArray), ("printAC", BoolSwitch printAC), ("printAN", BoolSwitch printAN), ("printMV", BoolSwitch printMV), ("printBinds", BoolSwitch printBinds), ("printCC", BoolSwitch printCC), ("printDiagnosis", BoolSwitch printDiagnosis), ("printIL", BoolSwitch printIL), ("printAI", BoolSwitch printAI), ("printML", BoolSwitch printML), ("printOBJ", BoolSwitch printOBJ), ("printIS", BoolSwitch printIS), ("printLS", BoolSwitch printLS), ("printPL", BoolSwitch printPL), ("printEL", BoolSwitch printEL), ("printNE", BoolSwitch printNE), ("printMC", BoolSwitch printMC), ("printVR", BoolSwitch printVR), ("printRBU", BoolSwitch printRBU), (* ("printRC", BoolSwitch printRC), *) ("printRCOptimize",BoolSwitch printRCOptimize), ("printMatchComp",BoolSwitch printMatchComp), ("printSQLComp",BoolSwitch printSQLComp), ("printFFIComp",BoolSwitch printFFIComp), ("printRecordComp",BoolSwitch printRecordComp), ("printRTL", BoolSwitch printRTL), ("printCode", BoolSwitch printCode), ("printSource", BoolSwitch printSource), ("printSR", BoolSwitch printSR), ("printTFP", BoolSwitch printTFP), ("printTL", BoolSwitch printTL), ("printTP", BoolSwitch printTP), ("printTimer", BoolSwitch printTimer), ("printUC", BoolSwitch printUC), ("printWarning", BoolSwitch printWarning), ("printInfo", BoolSwitch printInfo), ("printWidth", IntSwitch printWidth), ("printWithType", BoolSwitch printWithType), ("printCommand", BoolSwitch printCommand), ("secondLinePrompt", StringSwitch secondLinePrompt), ("skipPrinter", BoolSwitch skipPrinter), ("skipShebang", BoolSwitch skipShebang), ("switchTrace", BoolSwitch switchTrace), ("target", StringSwitch targetPlatform), ("traceFileLoad", BoolSwitch traceFileLoad), ("tracePrelude", BoolSwitch tracePrelude), ("traceSMLFormat", IntSwitch traceSMLFormat), ("VMHeapSize", IntSwitch VMHeapSize), ("VMStackSize", IntSwitch VMStackSize), ("withoutLink", BoolSwitch withoutLink), ("insertCheckGC", BoolSwitch insertCheckGC) ] (****************************************) (* utility *) fun switchToString (IntSwitch intRef) = Int.toString (!intRef) | switchToString (BoolSwitch boolRef) = if !boolRef then "yes" else "no" | switchToString (StringSwitch stringRef) = !stringRef fun interpretControlOption (name, switch, value) = ( case switch of IntSwitch intRef => (case Int.fromString value of SOME int => intRef := int | NONE => raise Fail (name ^ " should be number.")) | BoolSwitch boolRef => (case value of "yes" => boolRef := true | "no" => boolRef := false | _ => raise Fail (name ^ " should be yes or no.")) | StringSwitch stringRef => stringRef := value; print ("set control option: " ^ name ^ " = " ^ switchToString switch ^ "\n") ) (** * usage: *
   *   setControlOptions "IML" OS.Process.getEnv
   * 
*) fun setControlOptions prefix getValue = app (fn (name, switch) => case getValue (prefix ^ name) of SOME value => interpretControlOption (name, switch, value) | NONE => ()) switchTable fun listSwitches () = switchTable (***************************************************************************) end smlsharp-1.2.0/src/compiler/control/main/Control.ppg.smi0000644 000000000000000000001120712050661606023430 0ustar00rootroot0000000 0000000 _require "../../../basis/main/General.smi" _require "../../../basis/main/Int.smi" _require "../../../basis/main/List.smi" _require "../../../basis/main/String.smi" _require "../../../basis/main/Substring.smi" _require "../../../basis/main/TextIO.smi" _require "../../../basis/main/binary-op.smi" _require "../../../smlformat-lib.smi" _require "Loc.ppg.smi" structure Control = struct val Elab : int val Name : int val Module : int val FunOpt : int val TVar : int val TyInf : int val Print : int val UniqueID : int val MatchComp : int val SQLComp : int val FFIComp : int val OverloadComp : int val Lambda : int val Static : int val Unbox : int val Inline : int val RefElim : int val DeadCode : int val Localize : int val Functor : int val Cluster : int val RBUComp : int val Anormal : int val SI : int val SIOpt : int val AI : int val AIOpt : int val Assem : int val Code : int val Run : int val doUntil : int ref val doNameEval : bool ref val doPhase : int -> bool datatype switch = IntSwitch of int ref | BoolSwitch of bool ref | StringSwitch of string ref type switchTable = (string * switch) list exception Bug of string exception BugWithLoc of string * Loc.loc val printWidth : int ref val prettyPrint : SMLFormat.FormatExpression.expression list -> string val printCommand : bool ref val debugPrint : bool ref val debugTrace : bool ref val printBinds : bool ref val printWarning : bool ref val printInfo : bool ref val skipPrinter : bool ref val generateExnHistory : bool ref val generateDebugInfo : bool ref val LARGEFFISWITCH : bool ref val doUncurryOptimization : bool ref val doTCOptimization : bool ref val doRCOptimization : bool ref val enableUnboxedFloat : bool ref val alignRecord : bool ref val doSymbolicInstructionsOptimization : bool ref val doConstantFolding : bool ref val doFunctionCallSpecialization : bool ref val limitOfBlockFields : int ref val doTailCallOptimize : bool ref val doRecursiveCallOptimize : bool ref val doSelfRecursiveCallOptimize : bool ref val doInlineCaseBranch : bool ref val limitOfInlineCaseBranch : int ref val doUncurryingOptimizeInMatchCompile : bool ref val doRecordUnboxing : bool ref val doInlining : bool ref val inlineThreshold : int ref val doMultipleValueOptimization : bool ref val doFunctionLocalize : bool ref val doCommonSubexpressionElimination : bool ref val doRepresentationAnalysis : bool ref val doUselessCodeElimination : bool ref val doStackReallocation : bool ref val doStaticAllocation : bool ref val doRegisterCoalescing : bool ref val doFrameCompaction : bool ref val doBitmapANormalReorder : bool ref val insertCheckGC : bool ref val pageSizeOfGlobalArray : int ref val doPreludeLazyUnpickling : bool ref val VMHeapSize : int ref val VMStackSize : int ref val switchTrace : bool ref val traceFileLoad : bool ref val tracePrelude : bool ref val printSource : bool ref val printEL : bool ref val printNE : bool ref val printMC : bool ref val printVR : bool ref val printPL : bool ref val printUC : bool ref val printTP : bool ref val printTFP : bool ref val printRCOptimize : bool ref val printMatchComp : bool ref val printSQLComp : bool ref val printFFIComp : bool ref val printRecordComp : bool ref val printTL : bool ref val printAC : bool ref val printMV : bool ref val printCC : bool ref val printRBU : bool ref val printAN : bool ref val printIL : bool ref val printLS : bool ref val printIS : bool ref val printSR : bool ref val printRTL : bool ref val printCode : bool ref val checkType : bool ref val printWithType : bool ref val printAI : bool ref val printML : bool ref val printOBJ : bool ref val printTimer : bool ref val withoutLink : bool ref val keepAsm : bool ref val debugCodeGen : bool ref val targetPlatform : string ref val targetInfo : unit -> {cpu: string, manufacturer: string, ossys: string, options: (bool * string) list} val nativeGen : unit -> bool val printDiagnosis : bool ref val interactiveMode : bool ref val doProfile : bool ref val doCompileObj : bool ref val doFunctorCompile : bool ref val doLinking : bool ref val traceSMLFormat : int ref val firstLinePrompt : string ref val secondLinePrompt : string ref val skipShebang : bool ref val newRBU : bool ref val switchTable : switchTable val switchToString : switch -> string val interpretControlOption : string * switch * string -> unit val setControlOptions : string -> (string -> string option) -> unit val listSwitches : unit -> switchTable end smlsharp-1.2.0/src/compiler/control/main/Loc.ppg0000644 000000000000000000000260612050661606021741 0ustar00rootroot0000000 0000000 (** * * location in the source code. * @copyright (c) 2006, Tohoku University. * @author YAMATODANI Kiyoshi * @version $Id: Loc.ppg,v 1.1 2007/08/12 06:32:55 ohori Exp $ *) structure Loc :> LOC = struct (*************************************************************************) (*% * @prefix format_head_ *) (*% * @prefix format_tail_ *) type pos = (*% * @prefix format_head_ * @format({fileName, line, col}) fileName ":" line "." col *) (*% * @prefix format_tail_ * @format({fileName, line, col}) line "." col *) {fileName : string, line : int, col : int} (*% * @formatter(head) format_head_pos * @formatter(tail) format_tail_pos *) type loc = (*% * @format(head * tail) head : head "-" tail : tail *) pos * pos (*************************************************************************) val nopos = {fileName = "none", line = 0, col = 0} val noloc = (nopos, nopos) fun makePos {fileName, line, col} = {fileName = fileName, line = line, col = col} fun fileNameOfPos (pos : pos) = #fileName pos fun lineOfPos (pos : pos) = #line pos fun colOfPos (pos : pos) = #col pos fun mergeLocs ((pos11, pos12), (pos21, pos22)) = (pos11, pos22) (*************************************************************************) end smlsharp-1.2.0/src/compiler/control/main/Loc.ppg.smi0000644 000000000000000000000115612050661606022527 0ustar00rootroot0000000 0000000 _require "../../../basis/main/List.smi" _require "../../../smlformat-lib.smi" _require "LOC.sig" structure Loc = struct eqtype pos (= boxed) type loc = pos * pos val noloc : loc val nopos : pos val makePos : {fileName: string, line: int, col: int} -> pos val mergeLocs : loc * loc -> loc val fileNameOfPos : pos -> string val lineOfPos : pos -> int val colOfPos : pos -> int val format_head_pos : pos -> SMLFormat.FormatExpression.expression list val format_tail_pos : pos -> SMLFormat.FormatExpression.expression list val format_loc : pos * pos -> SMLFormat.FormatExpression.expression list end smlsharp-1.2.0/src/compiler/control/main/LOC.sig0000644 000000000000000000000164712050661606021641 0ustar00rootroot0000000 0000000 (** * location in the source code. * @copyright (c) 2006, Tohoku University. * @author YAMATODANI Kiyoshi * @version $Id: LOC.sig,v 1.1 2007/08/12 06:32:55 ohori Exp $ *) signature LOC = sig (***************************************************************************) eqtype pos type loc = pos * pos (***************************************************************************) val noloc : loc val nopos : pos val makePos : {fileName : string, line : int, col : int} -> pos val mergeLocs : loc * loc -> loc val fileNameOfPos : pos -> string val lineOfPos : pos -> int val colOfPos : pos -> int val format_head_pos : pos -> SMLFormat.FormatExpression.expression list val format_tail_pos : pos -> SMLFormat.FormatExpression.expression list val format_loc : pos * pos -> SMLFormat.FormatExpression.expression list (***************************************************************************) end smlsharp-1.2.0/src/compiler/datatypecompilation0000755 000000000000000000000000012050661606022077 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/datatypecompilation/main0000755 000000000000000000000000012050661606023023 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/datatypecompilation/main/DatatypeCompilation.smi0000644 000000000000000000000164512050661606027574 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/PathEnv.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../builtin2/main/BuiltinPrimitive.ppg.smi" _require "../../builtin2/main/BuiltinTypeNames.ppg.smi" _require "../../builtin2/main/BuiltinTypes.smi" _require "../../constantterm/main/ConstantTerm.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../recordcalc/main/RecordCalc.ppg.smi" _require "../../typedcalc/main/TypedCalc.ppg.smi" _require "../../typedlambda/main/TypedLambda.ppg.smi" _require "../../types/main/Types.ppg.smi" _require "../../types/main/TypesUtils.smi" structure DatatypeCompilation = struct val compile : RecordCalc.rcdecl list -> TypedLambda.tldecl list end smlsharp-1.2.0/src/compiler/datatypecompilation/main/DatatypeCompilation.sml0000644 000000000000000000012476612050661606027611 0ustar00rootroot0000000 0000000 (** * Translation of datatypes to record types. * * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro * @author Atsushi Ohori *) structure DatatypeCompilation : sig val compile : RecordCalc.rcdecl list -> TypedLambda.tldecl list end = struct structure RC = RecordCalc structure TC = TypedCalc structure TL = TypedLambda structure CT = ConstantTerm structure BT = BuiltinTypes structure T = Types fun mapi f l = let fun loop (i, nil) = nil | loop (i, h::t) = f (i, h) :: loop (i + 1, t) in loop (1, l) end fun newVar ty = let val id = VarID.generate () in {path = ["$" ^ VarID.toString id], ty = ty, id = id} : TL.varInfo end fun exnConTy exnCon = case exnCon of TC.EXN {ty,...} => ty | TC.EXEXN {ty,...} => ty fun PolyTy f = let val tid = BoundTypeVarID.generate () val tvarKind = {eqKind=Absyn.NONEQ, tvarKind=T.UNIV} in T.POLYty {boundtvars = BoundTypeVarID.Map.singleton (tid, tvarKind), body = f (T.BOUNDVARty tid)} end fun RefTy elemTy = T.CONSTRUCTty {tyCon = BT.refTyCon, args = [elemTy]} fun BoolTy () = T.CONSTRUCTty {tyCon = BT.boolTyCon, args = []} val contagTy = BT.wordTy fun ConstTermTag const = CT.WORD (Word32.fromInt const) fun If {condExp, thenExp, elseExp, loc} = TL.TLSWITCH {switchExp = TL.TLCAST {exp = condExp, targetTy = contagTy, (* bool *) loc = loc}, expTy = contagTy, branches = [{constant = ConstTermTag 0, exp = elseExp}], defaultExp = thenExp, loc = loc} (* expression term constructors with type computation *) local datatype binds = BIND of (TL.varInfo * (TL.loc -> TL.tlexp)) list datatype expTerm = EXP of (TL.loc -> TL.tlexp) * T.ty | VALUE of binds * (TL.loc -> TL.tlexp) * T.ty fun makeLet (BIND nil, exp) = exp | makeLet (BIND binds, exp) = fn loc => let val binds = map (fn (v, e) => TL.TLVAL {boundVar = v, boundExp = e loc, loc = loc}) binds in case exp loc of TL.TLLET {localDeclList=binds2, mainExp, loc} => TL.TLLET {localDeclList = binds @ binds2, mainExp = mainExp, loc = loc} | mainExp => TL.TLLET {localDeclList = binds, mainExp = mainExp, loc = loc} end fun asEXP (EXP x) = x | asEXP (VALUE (binds, exp, ty)) = (makeLet (binds, exp), ty) fun asVALUE (VALUE x) = x | asVALUE (EXP (exp, ty)) = let val var = newVar ty in (BIND [(var, exp)], fn loc => TL.TLVAR {varInfo=var, loc=loc}, ty) end fun isValueExp tlexp = case tlexp of TL.TLFOREIGNAPPLY _ => false | TL.TLEXPORTCALLBACK _ => false | TL.TLCONSTANT _ => true | TL.TLGLOBALSYMBOL _ => true | TL.TLTAGOF _ => true | TL.TLSIZEOF _ => true | TL.TLINDEXOF _ => true | TL.TLVAR _ => true | TL.TLEXVAR _ => true | TL.TLPRIMAPPLY _ => false | TL.TLAPPM _ => false | TL.TLLET _ => false | TL.TLRECORD _ => false | TL.TLSELECT _ => false | TL.TLMODIFY _ => false | TL.TLRAISE _ => false | TL.TLHANDLE _ => false | TL.TLFNM _ => false | TL.TLPOLY _ => false | TL.TLTAPP _ => false | TL.TLSWITCH _ => false | TL.TLCAST {exp,...} => isValueExp exp in val bindNothing = BIND nil fun pack (tlexp, ty) = if isValueExp tlexp then VALUE (BIND nil, fn _ => tlexp, ty) else EXP (fn _ => tlexp, ty) fun unpack (term, loc) = #1 (asEXP term) loc fun valueForm term = let val (binds, exp, ty) = asVALUE term in (binds, VALUE (BIND nil, exp, ty)) end fun termTy (EXP (exp, ty)) = ty | termTy (VALUE (binds, exp, ty)) = ty fun bind (var, EXP (exp, ty)) = BIND [(var, exp)] | bind (var, VALUE (BIND binds, exp, ty)) = BIND (binds @ [(var, exp)]) fun Let (binds, tlexp, loc) = makeLet (binds, fn _ => tlexp) loc fun LET (binds, EXP (exp, ty)) = EXP (makeLet (binds, exp), ty) | LET (BIND binds2, VALUE (BIND binds1, exp, ty)) = VALUE (BIND (binds1 @ binds2), exp, ty) fun CAST (ty, EXP (exp, _)) = EXP (fn loc => TL.TLCAST {exp = exp loc, targetTy = ty, loc = loc}, ty) | CAST (ty, VALUE (binds, exp, _)) = VALUE (binds, fn loc => TL.TLCAST {exp = exp loc, targetTy = ty, loc = loc}, ty) fun CONST (const, ty) = VALUE (BIND nil, fn loc => TL.TLCONSTANT {value=const, loc=loc}, ty) fun VAR varInfo = VALUE (BIND nil, fn loc => TL.TLVAR {varInfo=varInfo, loc=loc}, #ty varInfo) fun EXVAR exVarInfo = VALUE (BIND nil, fn loc => TL.TLEXVAR {exVarInfo=exVarInfo, loc=loc}, #ty exVarInfo) fun PRIMAPPLY (primInfo, instTyList, argTermList) = let val args = map (fn x => #1 (asEXP x)) argTermList val retTy = TypesUtils.tpappTy (#ty primInfo, instTyList) in EXP (fn loc => TL.TLPRIMAPPLY {primInfo = primInfo, instTyList = instTyList, argExpList = map (fn e => e loc) args, loc = loc}, retTy) end fun IF {condExp, thenExp, elseExp} = let val (condExp, _) = asEXP condExp val (thenExp, retTy) = asEXP thenExp val (elseExp, _) = asEXP elseExp in EXP (fn loc => If {condExp = condExp loc, thenExp = thenExp loc, elseExp = elseExp loc, loc = loc}, retTy) end fun RECORD (labels, terms) = let val (binds, fields, tys) = ListPair.foldrEq (fn (label, term, (binds, fields, tys)) => let val (BIND binds2, exp, ty) = asVALUE term in (binds2 @ binds, LabelEnv.insert (fields, label, exp), LabelEnv.insert (tys, label, ty)) end) (nil, LabelEnv.empty, LabelEnv.empty) (labels, terms) val recordTy = T.RECORDty tys in LET (BIND binds, EXP (fn loc => TL.TLRECORD {isMutable = false, fields = LabelEnv.map (fn f => f loc) fields, recordTy = recordTy, loc = loc}, recordTy)) end fun TUPLE terms = RECORD (mapi (fn (i,_) => Int.toString i) terms, terms) fun SELECT (label, term) = let val (exp, ty) = asEXP term val fields = case TypesUtils.derefTy ty of T.RECORDty fields => fields | _ => raise Control.Bug "SELECT: type error" val fieldTy = case LabelEnv.find (fields, label) of SOME ty => ty | NONE => raise Control.Bug "SELECT: label not found" in EXP (fn loc => case exp loc of TL.TLRECORD {isMutable=false, fields, ...} => ( case LabelEnv.find (fields, label) of NONE => raise Control.Bug "SELECT: field not found" | SOME exp => exp ) | exp => TL.TLSELECT {recordExp = exp, indexExp = TL.TLINDEXOF {label = label, recordTy = ty, loc = loc}, label = label, recordTy = ty, resultTy = fieldTy, loc = loc}, fieldTy) end end (* local *) fun explodeRecordExp term = let val (binds, recordTerm) = case unpack (term, Loc.noloc) of TL.TLRECORD {isMutable=false,...} => (bindNothing, term) | _ => valueForm term val fields = case TypesUtils.derefTy (termTy recordTerm) of T.RECORDty tys => map (fn label => SELECT (label, recordTerm)) (LabelEnv.listKeys tys) | _ => [recordTerm] in (binds, fields) end fun explodeRecordTy ty = case TypesUtils.derefTy ty of T.RECORDty fields => ListPair.unzip (LabelEnv.listItemsi fields) | _ => raise Control.Bug "explodeRecordTy" fun tupleTy tys = T.RECORDty ( List.foldl (fn ((key, item), m) => LabelEnv.insert (m, key, item)) LabelEnv.empty (mapi (fn (i,ty) => (Int.toString i, ty)) tys) ) fun splitLet tlexp = case tlexp of TL.TLLET {localDeclList, mainExp, loc} => (fn mainExp => TL.TLLET {localDeclList = localDeclList, mainExp = mainExp, loc = loc}, mainExp) | _ => (fn exp => exp, tlexp) fun splitLetOpt NONE = (fn exp => exp, NONE) | splitLetOpt (SOME exp) = let val (letFn, exp) = splitLet exp in (letFn, SOME exp) end fun TagConst const = CONST (ConstTermTag const, BT.wordTy) fun NullConst () = CONST (CT.NULLBOXED, BT.boxedTy) fun IsNull term = PRIMAPPLY ({primitive = BuiltinPrimitive.IdentityEqual, ty = T.FUNMty ([BT.boxedTy, BT.boxedTy], BoolTy ())}, nil, [CAST (BT.boxedTy, term), NullConst ()]) fun ExnTagEqual (exp1, exp2) = PRIMAPPLY ({primitive = BuiltinPrimitive.IdentityEqual, ty = T.FUNMty ([BT.exntagTy, BT.exntagTy], BoolTy ())}, nil, [exp1, exp2]) fun RefAlloc elemTerm = let val primTy = PolyTy (fn tv => T.FUNMty ([tv], RefTy tv)) in PRIMAPPLY ({primitive = BuiltinPrimitive.Ref_alloc, ty = primTy}, [termTy elemTerm], [elemTerm]) end fun RefDeref refTerm = let val primTy = PolyTy (fn tv => T.FUNMty ([RefTy tv], tv)) val elemTy = case TypesUtils.derefTy (termTy refTerm) of T.CONSTRUCTty {args=[ty],...} => ty | _ => raise Control.Bug "RefDeref" in PRIMAPPLY ({primitive = BuiltinPrimitive.Ref_deref, ty = primTy}, [elemTy], [refTerm]) end (* * "layout" represents how to implement each data constructor of a datatype. * * LAYOUT_TAGGED_RECORD: * Each variant is implemented as a tuple type consisting of a tag field * and arguments of the variant. * datatype 'a foo = Foo of int * int --> contagty * int * int * | Bar of bool --> contagty * bool * | Baz of 'a --> contagty * 'a * (The format of Baz is decided regardless of any instance of 'a) * * LAYOUT_TAGGED_TAGONLY: * If all variants have no argument, they can be distinguished only by * a tag integer. * datatype foo = Foo --> int * | Bar --> int * | Baz --> int * * LAYOUT_BOOL: * If there are just two variant and both of them have no argument, * these variants can be implemented like "bool"; * one variant is 0, and another is any integer other than 0. * datatype bool = false --> int (0) * | true --> int (other than 0) * * LAYOUT_UNIT: * If there is just one variant with no argument, this can be implemented * like "unit"; it can be implemented with an arbitrary integer. * datatype foo = Foo --> int (any integer is OK) * * (FIXME: LAYOUT_BOOL and LAYOUT_UNIT may make equality check difficult.) * * LAYOUT_ARGONLY: * If there is just one variant with an argument, no tag is needed. * datatype foo = Foo of int --> {1:int} * datatype foo = Foo of int * int --> int * int * datatype 'a foo = Foo of 'a --> {1:'a} * * LAYOUT_TAGGED_OR_NULL: * If there is just one variant with no argument and other variants have * arguments, the no-argument variant can be implemented as a null pointer. * Any other variants are implemented in the same way as LAYOUT_TAGGED_RECORD. * datatype foo = Foo of int --> contagty * int * | Bar of int * int --> contagty * int * int * | Baz --> NULL (boxedty) * * LAYOUT_ARG_OR_NULL: * If there is just two variants and one has an argument but another does * not, then the no-arguemnt variant can be implemented as a null pointer. * The variant with argument is implemented by a record. * datatype foo = Foo of int --> {1:int} * | Bar --> NULL (boxedty) * datatype foo = Foo of int * int --> int * int * | Bar --> NULL (boxedty) * * LAYOUT_REF: * Special data representation for ref. *) datatype taggedLayout = TAGGED_RECORD of {tagMap: int SEnv.map} | TAGGED_TAGONLY of {tagMap: int SEnv.map} | TAGGED_OR_NULL of {tagMap: int SEnv.map} datatype layout = LAYOUT_TAGGED of taggedLayout | LAYOUT_BOOL of {falseName: string} | LAYOUT_UNIT | LAYOUT_ARGONLY | LAYOUT_ARG_OR_NULL | LAYOUT_REF fun checkRepresentation (runtimeTy, layout) = case layout of LAYOUT_TAGGED (TAGGED_RECORD _) => runtimeTy = BuiltinTypeNames.BOXEDty | LAYOUT_TAGGED (TAGGED_TAGONLY _) => runtimeTy = BuiltinTypeNames.WORDty | LAYOUT_TAGGED (TAGGED_OR_NULL _) => runtimeTy = BuiltinTypeNames.BOXEDty | LAYOUT_BOOL _ => runtimeTy = BuiltinTypeNames.WORDty | LAYOUT_UNIT => runtimeTy = BuiltinTypeNames.WORDty | LAYOUT_ARGONLY => runtimeTy = BuiltinTypeNames.BOXEDty | LAYOUT_ARG_OR_NULL => runtimeTy = BuiltinTypeNames.BOXEDty | LAYOUT_REF => runtimeTy = BuiltinTypeNames.BOXEDty fun countBool l = let fun count (t, f, nil) = {t=t, f=f} | count (t, f, true::l) = count (t + 1, f, l) | count (t, f, false::l) = count (t, f + 1, l) in count (0, 0, l) end fun decomposeDataconTy ty = case TypesUtils.derefTy ty of T.POLYty {boundtvars, body} => decomposeDataconTy body | T.FUNMty ([argTy], retTy) => (SOME argTy, retTy) | T.FUNMty _ => raise Control.Bug "dataconTy" | T.CONSTRUCTty _ => (NONE, ty) | _ => raise Control.Bug "decomposeDataconTy" fun dataconArgTy ty = case decomposeDataconTy ty of (SOME argTy, retTy) => argTy | _ => raise Control.Bug "dataconArgTy" fun extractDatatypeTyCon ty = (* ty must be the type of either data or data constructor. *) case TypesUtils.derefTy ty of T.POLYty {boundtvars, body} => extractDatatypeTyCon body | T.FUNMty (_, retTy) => extractDatatypeTyCon ty (* constructor type *) | T.CONSTRUCTty {tyCon, args} => ( case #dtyKind tyCon of T.DTY => tyCon (* 2012-15 ohori: bug 208_constraint.sml tyCon is a datatype if dtykind is either DTY or OPAQUE. *) | T.OPAQUE _ => tyCon | _ => raise Control.Bug "extractDatatypeTyCon: not a datatype" ) | _ => raise Control.Bug "extractTyCon" fun makeTagMap conSet = #2 (SEnv.foldli (fn (key, _, (i, map)) => (i + 1, SEnv.insert (map, key, i))) (1, SEnv.empty) conSet) fun datatypeLayout ({id, conSet, runtimeTy, ...}:T.tyCon) = let val layout = case map #hasArg (SEnv.listItems conSet) of nil => raise Control.Bug "datatypeLayout: no variant" | [true] => if TypID.eq (id, #id BT.refTyCon) then LAYOUT_REF else LAYOUT_ARGONLY | [false] => LAYOUT_UNIT | [false, false] => ( if TypID.eq (id, #id BT.boolTyCon) then LAYOUT_BOOL {falseName = "false"} else case SEnv.firsti conSet of SOME (name, _) => LAYOUT_BOOL {falseName = name} | NONE => raise Control.Bug "datatypeLayout: BOOL" ) | hasArgList => case countBool hasArgList of {t=0, f=_} => LAYOUT_TAGGED (TAGGED_TAGONLY {tagMap = makeTagMap conSet}) | {t=1, f=1} => LAYOUT_ARG_OR_NULL | {t=_, f=1} => LAYOUT_TAGGED (TAGGED_OR_NULL {tagMap = makeTagMap conSet}) | {t=_, f=_} => LAYOUT_TAGGED (TAGGED_RECORD {tagMap = makeTagMap conSet}) in if checkRepresentation (runtimeTy, layout) then layout else raise Control.Bug "datatypeLayout" end fun lookupConTag (taggedLayout, {path, ty, ...}:T.conInfo) = let fun lookup tagMap = case SEnv.find (tagMap, List.last path) of NONE => raise Control.Bug "dataconTag" | SOME tag => tag : int in case taggedLayout of TAGGED_TAGONLY {tagMap} => lookup tagMap | TAGGED_RECORD {tagMap} => lookup tagMap | TAGGED_OR_NULL {tagMap} => case decomposeDataconTy ty of (SOME _, _) => lookup tagMap | (NONE, _) => 0 end fun extractConTag (layout, term) = case layout of TAGGED_TAGONLY _ => CAST (contagTy, term) | TAGGED_RECORD _ => SELECT ("1", CAST (tupleTy [contagTy], term)) | TAGGED_OR_NULL _ => let val (binds, term) = valueForm term in LET (binds, IF {condExp = IsNull term, thenExp = TagConst 0, elseExp = SELECT ("1", CAST (tupleTy [contagTy], term))}) end fun composeTaggedCon (taggedLayout, conInfo, argTerm) = let val tag = TagConst (lookupConTag (taggedLayout, conInfo)) in case argTerm of NONE => TUPLE [tag] | SOME term => let val (binds, terms) = explodeRecordExp term in LET (binds, TUPLE (tag::terms)) end end fun decomposeTaggedCon (conInfo:T.conInfo, dataTerm) expectTy = let val (fieldLabels, fieldTys) = case TypesUtils.derefTy (dataconArgTy (#ty conInfo)) of T.RECORDty _ => explodeRecordTy expectTy | _ => (nil, [expectTy]) val fieldTys = contagTy :: fieldTys val dataTerm = CAST (tupleTy fieldTys, dataTerm) val (binds, exps) = explodeRecordExp dataTerm in case (fieldLabels, exps) of (nil, [_, term]) => LET (binds, term) | (nil, _) => raise Control.Bug "decomposeTaggedCon" | (_, _::t) => LET (binds, RECORD (fieldLabels, t)) | (_, nil) => raise Control.Bug "decomposeTaggedCon" end fun composeArgOnlyCon (argTerm, conArgTy) = case TypesUtils.derefTy conArgTy of T.RECORDty _ => argTerm | _ => TUPLE [argTerm] fun decomposeArgOnlyCon (conInfo:T.conInfo, dataTerm) expectTy = case TypesUtils.derefTy (dataconArgTy (#ty conInfo)) of T.RECORDty _ => CAST (expectTy, dataTerm) | _ => SELECT ("1", CAST (tupleTy [expectTy], dataTerm)) fun composeCon (conInfo:T.conInfo, instTyList, argExpOpt) = let val conInstTy = TypesUtils.tpappTy (#ty conInfo, instTyList) val (argTy, retTy) = decomposeDataconTy conInstTy val argTerm = case (argTy, argExpOpt) of (NONE, NONE) => NONE | (SOME argTy, SOME argExp) => SOME (pack (argExp, argTy)) | _ => raise Control.Bug "composeCon" val (conArgTy, conRetTy) = decomposeDataconTy (#ty conInfo) val tyCon = extractDatatypeTyCon conRetTy val layout = datatypeLayout tyCon val term = case layout of LAYOUT_TAGGED (layout as TAGGED_RECORD _) => composeTaggedCon (layout, conInfo, argTerm) | LAYOUT_TAGGED (layout as TAGGED_TAGONLY _) => ( case argTerm of SOME _ => raise Control.Bug "composeCon: TAGGED_TAGONLY" | NONE => TagConst (lookupConTag (layout, conInfo)) ) | LAYOUT_TAGGED (layout as TAGGED_OR_NULL _) => ( case argTerm of NONE => NullConst () | SOME _ => composeTaggedCon (layout, conInfo, argTerm) ) | LAYOUT_BOOL {falseName} => ( case argTerm of SOME _ => raise Control.Bug "composeCon: LAYOUT_BOOL" | NONE => if List.last (#path conInfo) = falseName then TagConst 0 else TagConst 1 ) | LAYOUT_UNIT => ( case argTerm of SOME _ => raise Control.Bug "composeCon: LAYOUT_UNIT" | NONE => TagConst 0 ) | LAYOUT_ARGONLY => ( case (argTerm, conArgTy) of (SOME term, SOME argTy) => composeArgOnlyCon (term, argTy) | _ => raise Control.Bug "composeCon: LAYOUT_ARGONLY" ) | LAYOUT_ARG_OR_NULL => ( case (argTerm, conArgTy) of (NONE, NONE) => NullConst () | (SOME term, SOME argTy) => composeArgOnlyCon (term, argTy) | _ => raise Control.Bug "composeCon: LAYOUT_ARG_OR_NULL" ) | LAYOUT_REF => ( case argTerm of NONE => raise Control.Bug "composeCon: LAYOUT_REF" | SOME term => RefAlloc term ) in CAST (retTy, term) end fun makeBranchExp (argTermFn, NONE, branchExp, loc) = branchExp | makeBranchExp (argTermFn, SOME argVar, branchExp, loc) = Let (bind (argVar, argTermFn (#ty argVar)), branchExp, loc) fun switchCon (dataTerm, ruleList, defaultExp, loc) = let val tyCon = extractDatatypeTyCon (termTy dataTerm) val layout = datatypeLayout tyCon in case layout of LAYOUT_TAGGED layout => let val (binds, dataTerm) = valueForm dataTerm val tagTerm = extractConTag (layout, dataTerm) val branches = map (fn (conInfo, argVar, exp) => {constant = ConstTermTag (lookupConTag (layout, conInfo)), exp = makeBranchExp (decomposeTaggedCon (conInfo, dataTerm), argVar, exp, loc)}) ruleList in Let (binds, TL.TLSWITCH {switchExp = unpack (tagTerm, loc), expTy = termTy tagTerm, branches = branches, defaultExp = defaultExp, loc = loc}, loc) end | LAYOUT_BOOL {falseName} => let val (conInfo, ifTrueExp, ifFalseExp) = case ruleList of [(con1, NONE, exp1), (con2, NONE, exp2)] => if List.last (#path con1) = falseName then (con1, exp2, exp1) else (con1, exp1, exp2) | [(con1, NONE, exp1)] => if List.last (#path con1) = falseName then (con1, defaultExp, exp1) else (con1, exp1, defaultExp) | _ => raise Control.Bug "switchCon: LAYOUT_BOOL" in If {condExp = unpack (dataTerm, loc), thenExp = ifTrueExp, elseExp = ifFalseExp, loc = loc} end | LAYOUT_UNIT => ( case ruleList of [(_, _, branchExp)] => branchExp | _ => raise Control.Bug "compileExp: RCCASE: LAYOUT_UNIT" ) | LAYOUT_ARGONLY => ( case ruleList of [(conInfo, SOME argVar, branchExp)] => Let (bind (argVar, decomposeArgOnlyCon (conInfo, dataTerm) (#ty argVar)), branchExp, loc) | _ => raise Control.Bug "compileExp: RCCASE: LAYOUT_ARGONLY" ) | LAYOUT_ARG_OR_NULL => let val (conInfo, argVar, ifDataExp, ifNullExp) = case ruleList of [(_, NONE, exp1), (con, SOME v, exp2)] => (con, SOME v, exp2, exp1) | [(con, SOME v, exp1), (_, NONE, exp2)] => (con, SOME v, exp1, exp2) | [(con, SOME v, exp1)] => (con, SOME v, exp1, defaultExp) | [(con, NONE, exp1)] => (con, NONE, defaultExp, exp1) | _ => raise Control.Bug "switchArgOrNull" val (binds, dataTerm) = valueForm dataTerm in Let (binds, If {condExp = unpack (IsNull dataTerm, loc), thenExp = ifNullExp, elseExp = makeBranchExp (decomposeArgOnlyCon (conInfo, dataTerm), argVar, ifDataExp, loc), loc = loc}, loc) end | LAYOUT_REF => ( case ruleList of [(_, SOME argVar, branchExp)] => Let (bind (argVar, RefDeref dataTerm), branchExp, loc) | _ => raise Control.Bug "compileExp: RCCASE: LAYOUT_ARGONLY" ) end type env = { exnMap: TL.varInfo ExnID.Map.map, exExnMap: TL.exVarInfo PathEnv.map } val emptyEnv = {exnMap = ExnID.Map.empty, exExnMap = PathEnv.empty} : env fun newLocalExn (env:env, {path, ty, id}:T.exnInfo) = let val vid = VarID.generate () val varInfo = {path = path, ty = BT.exntagTy, id = vid} : TL.varInfo in ({exnMap = ExnID.Map.insert (#exnMap env, id, varInfo), exExnMap = #exExnMap env} : env, varInfo) end fun addExternExn (env:env, {path, ty}:T.exExnInfo) = let val exVarInfo = {path = path, ty = BT.exntagTy} : TL.exVarInfo in ({exnMap = #exnMap env, exExnMap = PathEnv.insert (#exExnMap env, path, exVarInfo)} : env, exVarInfo) end fun findLocalExnTag ({exnMap, ...}:env, {id, ...}:T.exnInfo) = ExnID.Map.find (exnMap, id) fun findExternExnTag ({exExnMap, ...}:env, {path,...}:T.exExnInfo) = PathEnv.find (exExnMap, path) fun findExnTag (env, exnCon) = case exnCon of TC.EXN e => (case findLocalExnTag (env, e) of SOME var => SOME (VAR var) | NONE => NONE) | TC.EXEXN e => (case findExternExnTag (env, e) of SOME var => SOME (EXVAR var) | NONE => NONE) fun allocExnTag path = let val name = String.concatWith "." path val nameExp = CONST (CT.STRING name, BT.stringTy) in CAST (BT.exntagTy, RefAlloc nameExp) end fun extractExnTagName tagTerm = RefDeref (CAST (RefTy BT.stringTy, tagTerm)) fun composeExn env (exnCon, argExpOpt) = let val (argTy, _) = decomposeDataconTy (exnConTy exnCon) val argTerm = case (argTy, argExpOpt) of (NONE, NONE) => NONE | (SOME argTy, SOME argExp) => SOME (pack (argExp, argTy)) | _ => raise Control.Bug "composeExn" val tagTerm = case findExnTag (env, exnCon) of SOME tag => tag | NONE => raise Control.Bug "composeExn: tag not found" in case argTerm of NONE => CAST (BT.exnTy, TUPLE [tagTerm]) | SOME term => CAST (BT.exnTy, TUPLE [tagTerm, term]) end fun extractExnTag exnTerm = SELECT ("1", CAST (tupleTy [BT.exntagTy], exnTerm)) fun decomposeExn exnTerm expectTy = SELECT ("2", CAST (tupleTy [BT.exntagTy, expectTy], exnTerm)) fun switchExn env (exnTerm, ruleList, defaultExp, loc) = let (* exception match must be performed by linear search. *) val (binds, exnTerm) = valueForm exnTerm val tagTerm = extractExnTag exnTerm in Let (binds, foldr (fn ((exnCon, argVar, branchExp), z) => let val tag = case findExnTag (env, exnCon) of SOME tagTerm => tagTerm | NONE => raise Control.Bug "switchExn" in If {condExp = unpack (ExnTagEqual (tagTerm, tag), loc), thenExp = makeBranchExp (decomposeExn exnTerm, argVar, branchExp, loc), elseExp = z, loc = loc} end) defaultExp ruleList, loc) end fun fixConst (const, ty, loc) = ConstantTerm.fixConst {constTerm = fn c => TL.TLCONSTANT {value=c, loc=loc}, recordTerm = fn (fields, recordTy) => TL.TLRECORD {isMutable = false, fields = fields, recordTy = recordTy, loc = loc}, conTerm = fn {con, instTyList, arg} => unpack (composeCon (con, instTyList, arg), loc)} (const, ty) fun compileExp (env:env) rcexp = case rcexp of RC.RCFOREIGNAPPLY {funExp, foreignFunTy, argExpList, loc} => TL.TLFOREIGNAPPLY {funExp = compileExp env funExp, foreignFunTy = foreignFunTy, argExpList = map (compileExp env) argExpList, loc = loc} | RC.RCEXPORTCALLBACK {funExp, foreignFunTy, loc} => TL.TLEXPORTCALLBACK {funExp = compileExp env funExp, foreignFunTy = foreignFunTy, loc = loc} | RC.RCSIZEOF (ty, loc) => TL.TLSIZEOF {ty=ty, loc=loc} | RC.RCTAGOF (ty, loc) => TL.TLTAGOF {ty=ty, loc=loc} | RC.RCINDEXOF (label, recordTy, loc) => TL.TLINDEXOF {label=label, recordTy=recordTy, loc=loc} | RC.RCCONSTANT {const, loc, ty} => fixConst (const, ty, loc) | RC.RCGLOBALSYMBOL {name, kind, ty, loc} => TL.TLGLOBALSYMBOL {name=name, kind=kind, ty=ty, loc=loc} | RC.RCVAR (varInfo, loc) => TL.TLVAR {varInfo = varInfo, loc = loc} | RC.RCEXVAR (exVarInfo, loc) => TL.TLEXVAR {exVarInfo = exVarInfo, loc = loc} | RC.RCPRIMAPPLY {primOp={primitive, ty}, instTyList, argExp, loc} => let val argExp = compileExp env argExp val (letFn, argExp) = splitLet argExp val (argTy, retTy) = case TypesUtils.tpappTy (ty, instTyList) of T.FUNMty ([argTy], retTy) => (argTy, retTy) | _ => raise Control.Bug "RCPRIMAPPLY: not a function" val argTerm = pack (argExp, argTy) fun explodeArgTy ty = case TypesUtils.derefTy ty of T.POLYty {boundtvars, body} => T.POLYty {boundtvars=boundtvars, body=explodeArgTy body} | T.FUNMty ([argTy], retTy) => (case TypesUtils.derefTy argTy of T.RECORDty fields => T.FUNMty (LabelEnv.listItems fields, retTy) | ty => T.FUNMty ([ty], retTy)) | _ => raise Control.Bug "RCPRIMAPPLY: explodeArgTy" val term = case primitive of BuiltinPrimitive.Cast => CAST (retTy, argTerm) | BuiltinPrimitive.Exn_Name => extractExnTagName (extractExnTag argTerm) | _ => let val (binds, argTerms) = explodeRecordExp argTerm val primTy = explodeArgTy ty in LET (binds, PRIMAPPLY ({primitive = primitive, ty = primTy}, instTyList, argTerms)) end in letFn (unpack (term, loc)) end | RC.RCDATACONSTRUCT {con, instTyList, argExpOpt, argTyOpt, loc} => let val argExpOpt = Option.map (compileExp env) argExpOpt val (letFn, argExpOpt) = splitLetOpt argExpOpt in letFn (unpack (composeCon (con, instTyList, argExpOpt), loc)) end | RC.RCEXNCONSTRUCT {exn, instTyList=nil, argExpOpt, loc} => let val argExpOpt = Option.map (compileExp env) argExpOpt val (letFn, argExpOpt) = splitLetOpt argExpOpt in letFn (unpack (composeExn env (exn, argExpOpt), loc)) end | RC.RCEXNCONSTRUCT {exn, instTyList=_::_, argExpOpt, loc} => raise Control.Bug "compileExp: RCEXNCONSTRUCT" | RC.RCEXN_CONSTRUCTOR {exnInfo, loc} => ( case findLocalExnTag (env, exnInfo) of NONE => raise Control.Bug "compileExp: RCEXN_CONSTRUCTOR" | SOME var => TL.TLVAR {varInfo = var, loc = loc} ) | RC.RCEXEXN_CONSTRUCTOR {exExnInfo, loc} => ( case findExternExnTag (env, exExnInfo) of NONE => raise Control.Bug "compileExp: RCEXEXN_CONSTRUCTOR" | SOME var => TL.TLEXVAR {exVarInfo = var, loc = loc} ) | RC.RCAPPM {funExp, funTy, argExpList, loc} => let val argExpList = map (compileExp env) argExpList in TL.TLAPPM {funExp = compileExp env funExp, funTy = funTy, argExpList = argExpList, loc = loc} end | RC.RCMONOLET {binds, bodyExp, loc} => TL.TLLET {localDeclList = map (fn (v,e) => TL.TLVAL {boundVar = v, boundExp = compileExp env e, loc = loc}) binds, mainExp = compileExp env bodyExp, loc = loc} | RC.RCLET {decls, body=[rcexp], tys, loc} => let val (env, decls) = compileDeclList env decls val mainExp = compileExp env rcexp in TL.TLLET {localDeclList = decls, mainExp = mainExp, loc = loc} end | RC.RCLET {decls, body, tys, loc} => compileExp env (RC.RCLET {decls = decls, body = [RC.RCSEQ {expList = body, expTyList = tys, loc = loc}], tys = [List.last tys], loc = loc}) | RC.RCRECORD {fields, recordTy, loc} => TL.TLRECORD {isMutable = false, fields = LabelEnv.map (compileExp env) fields, recordTy = recordTy, loc = loc} | RC.RCSELECT {indexExp, label, exp, expTy, resultTy, loc} => TL.TLSELECT {recordExp = compileExp env exp, indexExp = compileExp env indexExp, label = label, recordTy = expTy, resultTy = resultTy, loc = loc} | RC.RCMODIFY {indexExp, label, recordExp, recordTy, elementExp, elementTy, loc} => TL.TLMODIFY {indexExp = compileExp env indexExp, label = label, recordExp = compileExp env recordExp, recordTy = recordTy, valueExp = compileExp env elementExp, loc = loc} | RC.RCRAISE {exp, ty, loc} => TL.TLRAISE {argExp = compileExp env exp, resultTy = ty, loc = loc} | RC.RCHANDLE {exp, exnVar, handler, loc} => TL.TLHANDLE {exp = compileExp env exp, exnVar = exnVar, handler = compileExp env handler, loc = loc} | RC.RCCASE {exp, expTy, ruleList, defaultExp, loc} => let val exp = compileExp env exp val ruleList = map (fn (conInfo, argVar, exp) => (conInfo, argVar, compileExp env exp)) ruleList val defaultExp = compileExp env defaultExp in switchCon (pack (exp, expTy), ruleList, defaultExp, loc) end | RC.RCEXNCASE {exp, expTy, ruleList, defaultExp, loc} => let val exp = compileExp env exp val ruleList = map (fn (exnCon, argVar, exp) => (exnCon, argVar, compileExp env exp)) ruleList val defaultExp = compileExp env defaultExp in switchExn env (pack (exp, expTy), ruleList, defaultExp, loc) end | RC.RCSWITCH {switchExp, expTy, branches, defaultExp, loc} => let val switchExp = compileExp env switchExp val branches = map (fn (c, e) => case fixConst (c, expTy, loc) of TL.TLCONSTANT {value, ...} => {constant = value, exp = compileExp env e} | _ => raise Control.Bug "compileExp: RCSWITCH") branches val defaultExp = compileExp env defaultExp in TL.TLSWITCH {switchExp = switchExp, expTy = expTy, branches = branches, defaultExp = defaultExp, loc = loc} end | RC.RCFNM {argVarList, bodyTy, bodyExp, loc} => TL.TLFNM {argVarList = argVarList, bodyTy = bodyTy, bodyExp = compileExp env bodyExp, loc = loc} | RC.RCPOLYFNM {btvEnv, argVarList, bodyTy, bodyExp, loc} => TL.TLPOLY {btvEnv = btvEnv, expTyWithoutTAbs = T.FUNMty (map #ty argVarList, bodyTy), exp = TL.TLFNM {argVarList = argVarList, bodyTy = bodyTy, bodyExp = compileExp env bodyExp, loc = loc}, loc = loc} | RC.RCPOLY {btvEnv, expTyWithoutTAbs, exp, loc} => TL.TLPOLY {btvEnv = btvEnv, expTyWithoutTAbs = expTyWithoutTAbs, exp = compileExp env exp, loc = loc} | RC.RCTAPP {exp, expTy, instTyList, loc} => TL.TLTAPP {exp = compileExp env exp, expTy = expTy, instTyList = instTyList, loc = loc} | RC.RCSEQ {expList, expTyList, loc} => let val exps = ListPair.zipEq (map (compileExp env) expList, expTyList) in case rev exps of nil => raise Control.Bug "compileExp: RCLET" | [exp] => #1 exp | lastExp::exps => TL.TLLET {localDeclList = map (fn (exp, ty) => TL.TLVAL {boundVar = newVar ty, boundExp = exp, loc =loc}) (rev exps), mainExp = #1 lastExp, loc = loc} end | RC.RCCAST (rcexp, ty, loc) => TL.TLCAST {exp = compileExp env rcexp, targetTy = ty, loc = loc} | RC.RCOPRIMAPPLY _ => raise Control.Bug "compileExp: RCOPRIMAPPLY" | RC.RCSQL exp => raise Control.Bug "RCSQL" | RC.RCFFI exp => raise Control.Bug "RCFFI" and compileDecl env rcdecl = case rcdecl of RC.RCVAL (bindList, loc) => (env, map (fn (v, e) => TL.TLVAL {boundVar = v, boundExp = compileExp env e, loc = loc}) bindList) | RC.RCVALREC (bindList, loc) => (env, [TL.TLVALREC {recbindList = map (fn {var, expTy, exp} => {boundVar = var, boundExp = compileExp env exp}) bindList, loc = loc}]) | RC.RCVALPOLYREC (btvEnv, bindList, loc) => raise Control.Bug "compileExp: RCVALPOLYREC" | RC.RCEXPORTVAR {internalVar, externalVar, loc} => (env, [TL.TLEXPORTVAR ({path = #path externalVar, ty= #ty externalVar, id = #id internalVar},loc)]) | RC.RCEXTERNVAR (exVarInfo, loc) => (env, [TL.TLEXTERNVAR (exVarInfo, loc)]) | RC.RCEXD (exnBinds, loc) => let fun compileExBind env nil = (env, nil) | compileExBind env ({exnInfo, loc}::binds) = let val (env, tagVar) = newLocalExn (env, exnInfo) val (env, decls) = compileExBind env binds in (env, TL.TLVAL {boundVar = tagVar, boundExp = unpack (allocExnTag (#path exnInfo), loc), loc = loc} :: decls) end in compileExBind env exnBinds end | RC.RCEXNTAGD ({exnInfo, varInfo}, loc) => let val (env, tagVar) = newLocalExn (env, exnInfo) in (env, [TL.TLVAL {boundVar = tagVar, boundExp = TL.TLVAR {varInfo = varInfo, loc = loc}, loc = loc}]) end | RC.RCEXPORTEXN (exnInfo as {path, ...}, loc) => ( case findLocalExnTag (env, exnInfo) of NONE => raise Control.Bug "compileDecl: RCEXPORTEXN" | SOME (var as {id, ty,...}) => (* ohori: bug 184. the external name is "path" in exnInfo, which must be kept. *) (env, [TL.TLEXPORTVAR ({path=path, id=id, ty=ty}, loc)]) ) | RC.RCEXTERNEXN (exExnInfo, loc) => let val (env, tagVar) = addExternExn (env, exExnInfo) in (env, [TL.TLEXTERNVAR (tagVar, loc)]) end and compileDeclList env nil = (env, nil) | compileDeclList env (decl::decls) = let val (env, decls1) = compileDecl env decl val (env, decls2) = compileDeclList env decls in (env, decls1 @ decls2) end fun compile decls = let val (env, decls) = compileDeclList emptyEnv decls in decls end end smlsharp-1.2.0/src/compiler/elaborate0000755 000000000000000000000000012050661606017763 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/elaborate/main0000755 000000000000000000000000012050661606020707 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/elaborate/main/ElaborateCore.smi0000644 000000000000000000000145512050661606024214 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../util/main/utils.smi" _require "../../name/main/LocalID.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../absyn/main/Fixity.smi" _require "../../patterncalc/main/PatternCalc.ppg.smi" _require "../../usererror/main/UserError.ppg.smi" _require "../../usererror/main/UserErrorUtils.smi" _require "ElaborateError.ppg.smi" _require "ElaboratorUtils.smi" _require "ElaborateSQL.smi" structure ElaborateCore = struct val elabFFITy : Absyn.ffiTy -> PatternCalc.ffiTy val elabDec : Fixity.fixity SEnv.map -> Absyn.dec -> PatternCalc.pdecl list * Fixity.fixity SEnv.map end smlsharp-1.2.0/src/compiler/elaborate/main/ElaborateCore.sml0000644 000000000000000000013276712050661606024232 0ustar00rootroot0000000 0000000 (* Elaborator. In this pahse, we do the following: 1. infix elaboration 2. expand derived form (incomplete; revise later) (1) tuples => records (2) datatype withtype t = ty => datatype[ty/t] + type t = ty (3) while term (4) if term 3. error checking (1) record label duplication A note on infix resolution About infix identifier, the Definition of Standard ML describes: (page 6) The only required use of op is in prefixing a non-infixed occurrence of an identifier vid which has infix status; elsewhere op, where permitted, has no effect. This means, if vid has infix status, occurrences of vid without using op: elm vid elm are accepted (elm is either an expression or a pattern), but non-infixed occurrences without using op: vid ... elm vid vid elm ... are rejected. * A while expression * while cond do body * is transformed to: * let * val rec f = * fn () => * (fn true => (fn _ => f ()) body * | false => ()) * cond * in f () end * * @copyright (c) 2006, Tohoku University. * @author YAMATODANI Kiyoshi * @author Atsushi Ohori * @author Liu Bochao * @version $Id: Elaborator.sml,v 1.105.6.8 2010/02/10 05:17:29 hiro-en Exp $ *) structure ElaborateCore : sig val elabFFITy : Absyn.ffiTy -> PatternCalc.ffiTy val elabDec : Fixity.fixity SEnv.map -> Absyn.dec -> PatternCalc.pdecl list * Fixity.fixity SEnv.map end = struct local structure C = Control structure A = Absyn structure E = ElaborateError structure UE = UserError structure PC = PatternCalc in datatype fixity = datatype Fixity.fixity (***************************************************************************) val initializeErrorQueue = ElaboratorUtils.initializeErrorQueue val getErrorsAndWarnings = ElaboratorUtils.getErrorsAndWarnings val getErrors = ElaboratorUtils.getErrors val getWarnings = ElaboratorUtils.getWarnings val enqueueError = ElaboratorUtils.enqueueError val enqueueWarning = ElaboratorUtils.enqueueWarning val listToTuple = Utils.listToTuple val checkNameDuplication = UserErrorUtils.checkNameDuplication val checkNameDuplication' = UserErrorUtils.checkNameDuplication' val emptyTvars = nil : PC.scopedTvars (**************************************************************) local fun isReservedConstructorName name = case name of "true" => true | "false" => true | "nil" => true | "::" => true | "ref" => true | _ => false in fun checkReservedNameForConstructorBind (name, loc) = if isReservedConstructorName name orelse name = "it" then enqueueError(loc, E.BindReservedName name) else () fun checkReservedNameForValBind (name, loc) = if isReservedConstructorName name then enqueueError(loc, E.BindReservedName name) else () end fun getLabelOfPatRow (A.PATROWPAT(label, _, _)) = label | getLabelOfPatRow (A.PATROWVAR(label, _, _, _)) = label fun elabFFIAttributes loc attr : A.ffiAttributes = foldl (fn (attr, attrs as {isPure,noCallback,allocMLValue,suspendThread, callingConvention}) => case attr of "cdecl" => {isPure = isPure, noCallback = noCallback, allocMLValue = allocMLValue, suspendThread = suspendThread, callingConvention = SOME A.FFI_CDECL} | "stdcall" => {isPure = isPure, noCallback = noCallback, allocMLValue = allocMLValue, suspendThread = suspendThread, callingConvention = SOME A.FFI_STDCALL} | "pure" => {isPure = true, noCallback = noCallback, allocMLValue = allocMLValue, suspendThread = suspendThread, callingConvention = callingConvention} | "no_callback" => {isPure = isPure, noCallback = true, allocMLValue = allocMLValue, suspendThread = suspendThread, callingConvention = callingConvention} | "callback" => {isPure = isPure, noCallback = false, allocMLValue = allocMLValue, suspendThread = suspendThread, callingConvention = callingConvention} | "alloc" => {isPure = isPure, noCallback = noCallback, allocMLValue = true, suspendThread = suspendThread, callingConvention = callingConvention} | "no_alloc" => {isPure = isPure, noCallback = noCallback, allocMLValue = false, suspendThread = suspendThread, callingConvention = callingConvention} | "suspend" => {isPure = isPure, noCallback = noCallback, allocMLValue = allocMLValue, suspendThread = true, callingConvention = callingConvention} | "no_suspend" => {isPure = isPure, noCallback = noCallback, allocMLValue = allocMLValue, suspendThread = false, callingConvention = callingConvention} | _ => (enqueueError (loc, E.UndefinedFFIAttribute {attr=attr}); attrs)) Absyn.defaultFFIAttributes attr fun substTyVarInTy substFun ty = let fun subst ty = case ty of A.TYWILD _ => ty | A.TYID (tyVar, loc) => substFun (tyVar, loc) | A.TYRECORD (labelTys, loc) => let val newLabelTys = map (fn (label, ty) => (label, subst ty)) labelTys in A.TYRECORD (newLabelTys, loc) end | A.TYCONSTRUCT (argTys, tyConPath, loc) => let val newArgTys = map subst argTys in A.TYCONSTRUCT(newArgTys, tyConPath, loc) end | A.TYTUPLE(tys, loc) => (* raise Control.Bug "TYTUPLE in substTyVarInTy" *) A.TYTUPLE(map subst tys, loc) | A.TYFUN(rangeTy, domainTy, loc) => A.TYFUN(subst rangeTy, subst domainTy, loc) | A.TYPOLY(tvarList, ty, loc) => let val shadowNameList = map (fn ({name,...},_) => name) tvarList fun newSubstFun (tyID as ({name, ...}, loc)) = if List.exists (fn x => x = name) shadowNameList then A.TYID tyID else substFun tyID in A.TYPOLY(tvarList, substTyVarInTy newSubstFun ty, loc) end in subst ty end fun expandWithTypesInDataBind (withTypeBinds : A.typbind list) = let fun replaceTyVarInTyWithTy (tyVars, argTys) ty = let val tyVarMap = foldr (fn ((tyVar, destTy), map) => SEnv.insert(map, tyVar, destTy)) SEnv.empty (ListPair.zip(tyVars, argTys)) fun subst (tyID as ({name, eq}, loc)) = case SEnv.find(tyVarMap, name) of NONE => (enqueueError(loc, E.NotBoundTyvar {tyvar = name}); A.TYID tyID) | SOME destTy => destTy in substTyVarInTy subst ty end val typeMap = foldr (fn ((tyargs, name, ty), map) => SEnv.insert(map, name, (tyargs, ty))) SEnv.empty withTypeBinds fun expandInTy ty = case ty of A.TYWILD _ => ty | A.TYID _ => ty | A.TYRECORD (labelTys, loc) => let val newLabelTys = map (fn (label, ty) => (label, expandInTy ty)) labelTys in A.TYRECORD (newLabelTys, loc) end | A.TYCONSTRUCT (argTys, tyConPath, loc) => let val expandedArgTys = map expandInTy argTys in case tyConPath of [tyConName] => (case SEnv.find (typeMap, tyConName) of SOME (withTyVars, withTy) => let val withTyVarNames = map #name withTyVars val withTyVarsLen = List.length withTyVars val givenTyLen = List.length expandedArgTys in if withTyVarsLen = givenTyLen then replaceTyVarInTyWithTy (withTyVarNames, expandedArgTys) withTy else let val exn = E.ArityMismatchInTypeDeclaration { tyCon = tyConName, wants = withTyVarsLen, given = givenTyLen } in enqueueError(loc, exn); ty end end | NONE => A.TYCONSTRUCT(expandedArgTys, tyConPath, loc)) | _ => A.TYCONSTRUCT(map expandInTy argTys, tyConPath, loc) end | A.TYTUPLE(tys, loc) => (* raise Control.Bug "TYTUPLE in expandWithTypesInDataBind" *) A.TYTUPLE(map expandInTy tys, loc) | A.TYFUN(rangeTy, domainTy, loc) => A.TYFUN(expandInTy rangeTy, expandInTy domainTy, loc) | A.TYPOLY(tvarList, ty, loc) => A.TYPOLY(tvarList, expandInTy ty, loc) fun expandInDataCon {vid, ty} = let val newTyOpt = case ty of NONE => NONE | SOME ty => SOME(expandInTy ty) in {vid = vid, ty = newTyOpt} end in fn {tyvars, tycon, conbind} => {tyvars=tyvars, tycon=tycon, conbind = map expandInDataCon conbind} end (**************************************************************) (* utility functions for infix resolution. *) (* Here, we assume the left-right scan so that the first param is the * right of the second. * In the case of conflict, we give a preference to the left. *) fun stronger (INFIX n, INFIX m) = n > m | stronger (INFIX n, INFIXR m) = n > m | stronger (INFIXR n, INFIX m) = n > m | stronger (INFIXR n, INFIXR m) = n >= m | stronger (NONFIX, _) = raise Control.Bug "NONFIX in Elab.stronger" | stronger (_, NONFIX) = raise Control.Bug "NONFIX in Elab.stronger" fun findFixity (env : fixity SEnv.map) id = case SEnv.find (env, id) of SOME v => v | _ => NONFIX fun isNonfix env id = (case SEnv.find (env, id) of SOME NONFIX => true | NONE => true | _ => false) (** * operator information *) type 'a operator = { combiner : 'a * 'a -> 'a, left : Loc.pos, right : Loc.pos, status : fixity } (* translates a list of expressions or patterns into a nested application. Occurrences of infix identifiers in it are associated with arguments of its both sides, according to operator's strength of associativity. To share the code between translation of expressions and of patterns, this function takes some operators in parameter. And this function also asserts that every infix identifier occurs only at infix position. *) fun 'a resolveInfix {makeApp, makeUserOp, elab, findFixity, getIDInfo} env elist = let (* assert infix id does not occur at the first position or at the * last position in the list. *) (* ToDo : getIDInfo and findFixity should be merged ? * Both operates on ID term (EXPID/PATID). *) val (first, last) = (hd elist, List.last elist) val validFirst = case findFixity env first of NONFIX => true | _ => let val (id, loc) = getIDInfo first in enqueueError (loc, E.BeginWithInfixID id); false end val validLast = case elist of [_] => true (* first and last is the same element. *) | _ => case findFixity env last of NONFIX => true | _ => let val (id, loc) = getIDInfo last in enqueueError (loc, E.EndWithInfixID id); false end fun getLastArg x = case findFixity env x of NONFIX => elab env x | _ => let val (id, loc) = getIDInfo x in enqueueError (loc, E.EndWithInfixID id); elab env x end fun getNextArg x = case findFixity env x of NONFIX => elab env x | _ => let val (id, loc) = getIDInfo x in enqueueError (loc, E.ArgWithInfixID id); elab env x end fun errorCheck (INFIX n, INFIXR m) = n = m | errorCheck (INFIXR n, INFIX m) = n = m | errorCheck (_, _) = false (* An infix ID used may not be a data constructor. * We do not reject at this point, since it will be rejected by * the type checker later. *) fun resolve [x] nil nil = x | resolve (h1 :: h2 :: args) ((op1 : 'a operator) :: ops) nil = resolve (#combiner op1 (h2, h1) :: args) ops nil | resolve (h1 :: h2 :: args) (op1 :: ops) [lexp] = resolve (makeApp (h1, getLastArg lexp) :: h2 :: args) (op1 :: ops) nil | resolve (h1 :: h2 :: args) (op1 :: ops) (lexp :: next :: tail) = (case findFixity env lexp of NONFIX => resolve (makeApp (h1, elab env lexp) :: h2 :: args) (op1 :: ops) (next::tail) | x => (if errorCheck (x, #status op1) then let val (id, loc) = getIDInfo lexp in enqueueError (loc, E.InvalidOpAssociativity id) end else (); if stronger(x, #status op1) then resolve (getNextArg next :: h1 :: h2 :: args) (makeUserOp (elab env lexp) x :: op1 :: ops) tail else resolve (#combiner op1 (h2, h1) :: args) ops (lexp :: next :: tail)) ) | resolve (h1 :: args) nil (lexp :: next :: tail) = (case findFixity env lexp of NONFIX => resolve (makeApp (h1, getLastArg lexp) :: args) nil (next::tail) | x => resolve (getNextArg next :: h1 :: args) [makeUserOp (elab env lexp) x] tail ) | resolve (h1 :: args) nil [lexp] = resolve (makeApp (h1, getLastArg lexp) :: args) nil nil | resolve _ _ _ = raise Control.Bug "Elab.resolveInfix" in if validFirst andalso validLast then resolve [elab env (hd elist)] nil (tl elist) else (* elist contains invalid infix occurrence, which aborts resolve. * So, after checking each element, it returns temporary result. *) hd (map (elab env) elist) end fun elabSequence elabolator env elements = let val (elaborateds, env) = foldl (fn (element, (elaborateds, env')) => let val (elaborated, env'') = elabolator (SEnv.unionWith #1 (env', env)) element in ( elaborated :: elaborateds, SEnv.unionWith #1 (env'', env') ) end) (nil, SEnv.empty) elements in (List.concat(rev elaborateds), env) end fun truePat loc = PC.PLPATID(["true"], loc) fun falsePat loc = PC.PLPATID(["false"], loc) fun trueExp loc = PC.PLVAR(["true"], loc) fun falseExp loc = PC.PLVAR(["false"], loc) fun unitPat loc = PC.PLPATCONSTANT(A.UNITCONST loc, loc) fun unitExp loc = PC.PLCONSTANT(A.UNITCONST loc, loc) fun elabLabeledSequence elaborator elements = map (fn (label, element) => (label, elaborator element)) elements fun elabFFITy ty = case ty of A.FFITYVAR x => PC.FFITYVAR x | A.FFIRECORDTY (labelTys, loc) => let val newLabelTys = elabLabeledSequence elabFFITy labelTys in checkNameDuplication #1 labelTys loc E.DuplicateRecordLabelInRawType; PC.FFIRECORDTY (newLabelTys, loc) end | A.FFICONTY (argTys, tyConPath, loc) => PC.FFICONTY (map elabFFITy argTys, tyConPath, loc) | A.FFITUPLETY (tys, loc) => PC.FFIRECORDTY (listToTuple (map elabFFITy tys), loc) | A.FFIFUNTY(attrs, domTys, ranTys, loc) => PC.FFIFUNTY(case attrs of nil => NONE | _ => SOME (elabFFIAttributes loc attrs), map elabFFITy domTys, map elabFFITy ranTys, loc) (** * transforms infix application expression into non-infix application * expression. * This function also perform elaboration. *) fun resolveInfixExp env elist = let fun makeApp (x, y) = PC.PLAPPM(x, [y], (PC.getLeftPosExp x, PC.getRightPosExp y)) fun makeUserOp lexp fixity = { status = fixity, left = PC.getLeftPosExp lexp, right = PC.getRightPosExp lexp, combiner = fn (x, y) => let val loc = (PC.getLeftPosExp x, PC.getRightPosExp y) in PC.PLAPPM( lexp, [PC.PLRECORD(listToTuple [x, y], loc)], loc) end } fun findFixity (env : fixity SEnv.map) lexp = case lexp of A.EXPID (id, _) => (case SEnv.find (env, A.longidToString(id)) of SOME v => v | _ => NONFIX) | _ => NONFIX fun getIDInfo (A.EXPID (id, loc)) = (A.longidToString(id), loc) | getIDInfo exp = raise Control.Bug "getIDInfo expects EXPID." in resolveInfix { makeApp = makeApp, makeUserOp = makeUserOp, elab = elabExp, findFixity = findFixity, getIDInfo = getIDInfo } env elist end (** * transforms infix constructor application pattern into non-infix * constructor application pattern. * This function also perform elaboration. *) and resolveInfixPat env elist = let fun makeApp (x, y) = PC.PLPATCONSTRUCT(x, y, (PC.getLeftPosPat x, PC.getRightPosPat y)) fun makeUserOp lexp fixity = { status = fixity, left = PC.getLeftPosPat lexp, right = PC.getRightPosPat lexp, combiner = fn (x, y) => let val loc = (PC.getLeftPosPat x, PC.getRightPosPat y) in PC.PLPATCONSTRUCT (lexp, PC.PLPATRECORD(false, listToTuple [x, y], loc), loc) end } fun findFixity (env : fixity SEnv.map) lexp = case lexp of A.PATID {opPrefix=false, id, loc} => (case (SEnv.find (env, A.longidToString(id))) of SOME v => v | _ => NONFIX) | _ => NONFIX fun getIDInfo (A.PATID {opPrefix, id=id, loc=loc}) = (A.longidToString(id), loc) | getIDInfo pat = raise Control.Bug "getIDInfo expects PATID" in resolveInfix { makeApp = makeApp, makeUserOp = makeUserOp, elab = elabPat, findFixity = findFixity, getIDInfo = getIDInfo } env elist end (** * translate header of infix function declarations to nonfix declaration * using "op" modifier. (Case 1) fun p1 id p2 = exp ==> fun (op id) (p1, p2) = exp (Case 2) fun (p1 id p2) p3 ... pn = exp ==> fun (op id) (p1, p2) p3 ... pn = exp If both case 1 and case 2 apply, case 1 has priority over Case 2. For example: fun (x %% y) ## z = x + y + z; This is interpreted as a definition of ##. *) and resolveFunDecls env fdecls = let fun make2TuplePat (leftPat, rightPat) = let val leftLoc = A.getLocPat leftPat val rightLoc = A.getLocPat rightPat in A.PATRECORD { ifFlex= false, fields= [ A.PATROWPAT("1", leftPat, leftLoc), A.PATROWPAT("2", rightPat, rightLoc) ], loc = Loc.mergeLocs (leftLoc, rightLoc) } end fun getArg arg = case arg of A.PATID {opPrefix=opf, id=fid, loc=loc} => if (case findFixity env (A.longidToString(fid)) of NONFIX => true | _ => opf) then arg else ( enqueueError (loc, E.InfixUsedWithoutOP (A.longidToString(fid))); arg ) | _ => arg (** Picks up the function ID and asserts that it is nonfix id or infix id with "op" modifier. For other arguments, the resolveInfixPat will check that no infix ID is used without "op". *) fun transNonfixForm (pats, tyOpt, exp) = case pats of A.PATID {opPrefix=opf, id=fid, loc=loc} :: argPats => if (case findFixity env (A.longidToString(fid)) of NONFIX => true | _ => opf) then (opf, fid, map getArg argPats, tyOpt, exp) else ( enqueueError (loc, E.InfixUsedWithoutOP (A.longidToString(fid))); (opf, fid, argPats, tyOpt, exp) ) | _ => ( enqueueError (A.getLocPat (hd pats), E.IllegalFunctionSymbol); (false, [""], tl pats, tyOpt, exp) ) (** * infix function header is converted to nonfix function header. *) fun resolveCase2 (args, tyOpt, exp) = case args of A.PATAPPLY([leftArg, A.PATID {opPrefix=false, id, loc}, rightArg], _) :: otherArgs => (case findFixity env (A.longidToString(id)) of NONFIX => transNonfixForm (args, tyOpt, exp) | _ => let val newArg = make2TuplePat(getArg leftArg, getArg rightArg) in (true, id, newArg :: otherArgs, tyOpt, exp) end) | _ => transNonfixForm (args, tyOpt, exp) (** * infix function header is converted to nonfix function header. *) fun resolveCase1 (args, tyOpt, exp) = case args of [leftArg, A.PATID {opPrefix=false, id, loc}, rightArg] => (case findFixity env (A.longidToString(id)) of NONFIX => resolveCase2 (args, tyOpt, exp) | _ => let val newArg = make2TuplePat(getArg leftArg, getArg rightArg) in (true, id, [newArg], tyOpt, exp) end) | _ => resolveCase2 (args, tyOpt, exp) in map resolveCase1 fdecls end and elabFunDecls loc env fdecls = let val (opfs, fids, args, exps) = foldr (fn ((opf, fid, arg, optTy, exp), (opfs, fids, args, exps)) => let (* fun id pat .. pat : ty = exp * is a derived form equivalent to * fun id pat .. pat = exp : ty *) val typedExp = case optTy of NONE => exp | SOME ty => A.EXPTYPED(exp, ty, loc) val newExp = elabExp env typedExp val newArg = map (elabPat env) arg in ( opf :: opfs, fid :: fids, newArg :: args, newExp :: exps ) end) (nil, nil, nil, nil) fdecls val fid = hd fids val _ = if List.all (fn x => x = fid) fids then () else enqueueError (loc, E.NotAllHaveFunctionName) (* ToDo : more specific location should be passed. *) val argNum = length (hd args) val _ = if List.all (fn x => length x = argNum) args then () else enqueueError (loc, E.NotAllHaveSameNumberPatterns) val _ = if 0 = argNum then enqueueError (loc, E.FunctionParameterNotFound) else () val fdecl = (PC.PLPATID (fid, loc), ListPair.zip (args,exps)) in fdecl end and elabDataBindsWithTypeBinds env (dataBinds, withTypeBinds, loc) = let fun elabDataCon (_, name, optTy) = {vid=name, ty=optTy} fun elabDataBind (tvars, name, dataCons) = {tyvars=tvars, tycon=name, conbind = map elabDataCon dataCons} val dataCons = List.concat (map (fn (_, _, dataCons) => dataCons) dataBinds) val boundTypeNames = (map #2 dataBinds) @ (map #2 withTypeBinds) fun id x = x val _ = checkNameDuplication id boundTypeNames loc E.DuplicateTypeNameInDatatype val _ = checkNameDuplication #2 dataCons loc E.DuplicateConstructorNameInDatatype val _ = app (fn dataCon => checkReservedNameForConstructorBind(#2 dataCon, loc)) dataCons val newDataBinds = map elabDataBind dataBinds val _ = map (fn (tvars,name,ty) => UserErrorUtils.checkNameDuplication (fn {name,eq} => name) tvars loc E.DuplicateTypParam) withTypeBinds val expandedDataBinds = map (expandWithTypesInDataBind withTypeBinds) newDataBinds in (expandedDataBinds, withTypeBinds) end and elabExp env ast = case ast of A.EXPCONSTANT x => PC.PLCONSTANT x | A.EXPGLOBALSYMBOL x => PC.PLGLOBALSYMBOL x | A.EXPID (x,loc) => PC.PLVAR (x,loc) | A.EXPOPID (x,loc) => PC.PLVAR (x,loc) | A.EXPRECORD (stringExpList, loc) => ( checkNameDuplication #1 stringExpList loc E.DuplicateRecordLabel; PC.PLRECORD (elabLabeledSequence (elabExp env) stringExpList, loc) ) | A.EXPRECORD_UPDATE (exp, stringExpList, loc) => ( checkNameDuplication #1 stringExpList loc E.DuplicateRecordLabel; PC.PLRECORD_UPDATE ( elabExp env exp, elabLabeledSequence (elabExp env) stringExpList, loc ) ) | A.EXPRECORD_SELECTOR (x, loc) => PC.PLRECORD_SELECTOR(x, loc) | A.EXPTUPLE (elist, loc) => PC.PLRECORD(listToTuple(map (elabExp env) elist), loc) | A.EXPLIST (elist, loc) => (* if !C.doListExpressionOptimization then PC.PLLIST(map (elabExp env) elist, loc) else *) let fun folder (x, y) = PC.PLAPPM (PC.PLVAR(["::"], loc), [PC.PLRECORD(listToTuple [elabExp env x, y], loc)], loc) val plexp = foldr folder (PC.PLVAR(["nil"], loc)) elist in plexp end | A.EXPAPP (elist, loc) => resolveInfixExp env elist | A.EXPSEQ (elist, loc) => PC.PLSEQ(map (elabExp env) elist, loc) | A.EXPTYPED (exp, ty, loc) => PC.PLTYPED (elabExp env exp, ty, loc) | A.EXPCONJUNCTION (e1, e2, loc) => let val ple1 = elabExp env e1 val ple2 = elabExp env e2 in PC.PLCASEM ( [ple1], [ ([falsePat loc], falseExp loc), ([truePat loc], ple2) ], PC.MATCH, loc ) end | A.EXPDISJUNCTION (e1, e2, loc) => let val ple1 = elabExp env e1 val ple2 = elabExp env e2 in PC.PLCASEM ( [ple1], [ ([truePat loc], trueExp loc), ([falsePat loc], ple2) ], PC.MATCH, loc ) end | A.EXPHANDLE (e1, match, loc) => PC.PLHANDLE ( elabExp env e1, map (fn (x, y) => (elabPat env x, elabExp env y)) match, loc ) | A.EXPRAISE (e, loc) =>PC.PLRAISE(elabExp env e, loc) | A.EXPIF (e1, e2, e3, loc) => let val ple1 = elabExp env e1 val ple2 = elabExp env e2 val ple3 = elabExp env e3 in PC.PLCASEM ([ple1], [([truePat loc], ple2), ([falsePat loc], ple3)], PC.MATCH, loc) end | A.EXPWHILE (condExp, bodyExp, loc) => let val newid = VarName.generate () val condPl = elabExp env condExp val bodyPl = elabExp env bodyExp (* (fn _ => newid ()) body *) val whbody = PC.PLAPPM ( PC.PLFNM ( [ ( [PC.PLPATWILD loc], PC.PLAPPM(PC.PLVAR([newid], loc), [unitExp loc], loc) ) ], loc ), [bodyPl], loc ) (* fn () => (fn true => whbody | false => ()) cond *) val body = PC.PLFNM ( [ ( [unitPat loc], PC.PLAPPM ( PC.PLFNM ( [([truePat loc], whbody), ([falsePat loc], unitExp loc)], loc ), [condPl], loc ) ) ], loc ) in PC.PLLET ( [PC.PDVALREC(emptyTvars, [(PC.PLPATID([newid], loc), body)], loc)], [PC.PLAPPM(PC.PLVAR([newid], loc), [unitExp loc], loc)], loc ) end | A.EXPCASE (objectExp, match, loc) => PC.PLCASEM ( [elabExp env objectExp], map (fn (x, y) => ([elabPat env x], elabExp env y)) match, PC.MATCH, loc ) | A.EXPFN (match, loc) => PC.PLFNM(map (fn (x, y) => ([elabPat env x], elabExp env y)) match, loc) | A.EXPLET (decs, elist, loc) => let val (pdecs, env') = elabDecs env decs val newEnv = SEnv.unionWith #1 (env',env) in PC.PLLET (pdecs, map (elabExp newEnv) elist, loc) end | A.EXPCAST (exp,loc) => PC.PLCAST(elabExp env exp, loc) | A.EXPFFIIMPORT (exp, ty, loc) => (case ty of A.FFIFUNTY _ => () | _ => enqueueError (loc, E.NotForeignFunctionType {ty=ty}); PC.PLFFIIMPORT (elabExp env exp, elabFFITy ty, loc)) | A.EXPFFIEXPORT (exp, ty, loc) => (case ty of A.FFIFUNTY _ => () | _ => enqueueError (loc, E.NotForeignFunctionType {ty=ty}); PC.PLFFIEXPORT (elabExp env exp, elabFFITy ty, loc)) | A.EXPFFIAPPLY (attrs, funExp, args, retTy, loc) => PC.PLFFIAPPLY (case attrs of nil => NONE | _ => SOME (elabFFIAttributes loc attrs), elabExp env funExp, map (fn A.FFIARG (exp, ty, loc) => PC.PLFFIARG (elabExp env exp, elabFFITy ty, loc) | A.FFIARGSIZEOF (ty, SOME exp, loc) => PC.PLFFIARGSIZEOF (ty, SOME (elabExp env exp), loc ) | A.FFIARGSIZEOF (ty, NONE, loc) => PC.PLFFIARGSIZEOF (ty, NONE, loc)) args, elabFFITy retTy, loc) | A.EXPSQL (sqlexp, loc) => ElaborateSQL.elaborateExp {elabExp = elabExp env, elabPat = elabPat env} sqlexp and elabPat env pat = case pat of A.PATWILD loc => PC.PLPATWILD loc | A.PATCONSTANT (x as (constant, loc)) => (case constant of A.REAL (_, loc) => (* According to syntactic restriction of ML Definition, real * constant pattern is not allowed. *) (enqueueError (loc, E.RealConstantInPattern); PC.PLPATCONSTANT x) | _ => PC.PLPATCONSTANT x) | A.PATID {opPrefix=b, id, loc} => PC.PLPATID (id, loc) | A.PATAPPLY (plist, loc) => resolveInfixPat env plist | A.PATRECORD {ifFlex=flex, fields=pfields, loc=loc} => ( checkNameDuplication getLabelOfPatRow pfields loc E.DuplicateRecordLabelInPat; PC.PLPATRECORD (flex, map (elabPatRow env) pfields, loc) ) | A.PATTUPLE (plist, loc) => PC.PLPATRECORD (false, listToTuple (map (elabPat env) plist), loc) | A.PATLIST (elist, loc) => let val plexp = foldr (fn (x, y) => PC.PLPATCONSTRUCT ( PC.PLPATID(["::"], loc), PC.PLPATRECORD(false, listToTuple [elabPat env x, y], loc), loc )) (PC.PLPATID(["nil"], loc)) elist in case plexp of PC.PLPATID(x, l) => PC.PLPATID(x, loc) | PC.PLPATCONSTRUCT(x, y, l) => PC.PLPATCONSTRUCT(x, y, loc) | _ => raise Control.Bug "elab EXPLIST" end | A.PATTYPED (pat, ty, loc) => PC.PLPATTYPED(elabPat env pat, ty, loc) | A.PATLAYERED (A.PATID {opPrefix=b, id=path, loc=loc1}, pat, loc) => let val _ = if A.isShortId path then () else enqueueError (loc, E.LeftOfASMustBeVariable) val id = A.longidToString(path) in checkReservedNameForValBind (id, loc1); PC.PLPATLAYERED(id, NONE, elabPat env pat, loc) end | A.PATLAYERED (A.PATTYPED (A.PATID{opPrefix, id=path, loc=loc1}, ty, loc2), pat, loc) => let val _ = if A.isShortId path then () else enqueueError (loc, E.LeftOfASMustBeVariable) val id = A.longidToString(path) val elabedPat = elabPat env pat in checkReservedNameForValBind (id, loc1); PC.PLPATLAYERED(id, SOME ty, elabedPat, loc) end | A.PATLAYERED (A.PATTYPED(A.PATAPPLY([pat], _), ty, loc1), pat2, loc2) => (* The first argument of PATLAYERED and PATTYPED is always be PATAPPLY * (see iml.grm). This is because sequence of at least one pat should * be checked for infix occurrence. *) elabPat env (A.PATLAYERED(A.PATTYPED(pat, ty, loc1), pat2, loc2)) | A.PATLAYERED (A.PATAPPLY([pat], _), pat2, loc2) => elabPat env (A.PATLAYERED(pat, pat2, loc2)) | A.PATLAYERED (pat1, pat2, loc2) => ( enqueueError (loc2, E.LeftOfASMustBeVariable); elabPat env pat1; elabPat env pat2 ) and elabPatRow env patrow = case patrow of (* label = pat *) A.PATROWPAT (id, pat, loc) => (id, elabPat env pat) (* label < : ty > < as pat > *) | A.PATROWVAR (id, optTy, optPat, loc) => let val _ = checkReservedNameForValBind (id, loc) val pat = case optPat of SOME pat => PC.PLPATLAYERED(id, optTy, elabPat env pat,loc) | _ => case optTy of SOME ty => PC.PLPATTYPED (PC.PLPATID([id], loc), ty, loc) | _ => PC.PLPATID([id], loc) in (id, pat) end and elabDec env dec = case dec of A.DECVAL (tyvs, decls, loc) => let val newDecls = map (fn (pat, e) => (elabPat env pat, elabExp env e)) decls in ([PC.PDVAL (tyvs, newDecls, loc)], SEnv.empty) end | A.DECREC (tyvs, decls, loc) => let (* right hand side of val rec must be "fn". *) fun assertExp (A.EXPFN _) = () (* fix attempt for val rec x = (fn x =>x) is rejected ??? *) | assertExp (A.EXPAPP ([exp],_)) = assertExp exp | assertExp exp = enqueueError (loc, E.NotFnBoundInValRec) (* check pattern AFTER elaboration, because even single var pattern * is parsed as application pattern. *) fun assertPattern pat = case pat of PC.PLPATWILD _ => enqueueError(loc, E.NonVariablePatternInValRec) | PC.PLPATID _ => () | PC.PLPATLAYERED(name, _, rightPat, _) => enqueueError(loc, E.NonVariablePatternInValRec) | PC.PLPATTYPED(innerPat, _, _) => assertPattern innerPat | _ => enqueueError(loc, E.NonVariablePatternInValRec) fun elabBind (pat, exp) = let val elabedPat = elabPat env pat val elabedExp = elabExp env exp in assertPattern elabedPat; (* after elab *) assertExp exp; (* before elab *) (elabedPat, elabedExp) end fun getNameOfBound (PC.PLPATID(name, _), _) = SOME(A.longidToString name) | getNameOfBound (PC.PLPATTYPED (pat, _, _), exp) = getNameOfBound (pat, exp) | getNameOfBound (pat, _) = (* this case will be rejected by the above assertPat. *) NONE val elabedBinds = map elabBind decls val _ = (* NOTE: use primed version. a trick. *) checkNameDuplication' getNameOfBound elabedBinds loc E.DuplicateVarNameInValRec in ([PC.PDVALREC(tyvs, elabedBinds, loc)], SEnv.empty) end | A.DECFUN (tyvs, fbinds, loc) => let val elabFBind = elabFunDecls loc env o resolveFunDecls env val elabedFunBinds = map elabFBind fbinds fun getNameOfBind (PC.PLPATID (name, _), _) = A.longidToString name | getNameOfBind _ = raise Control.Bug "not PATID nor PATTYPED getNameOfBound" val _ = checkNameDuplication getNameOfBind elabedFunBinds loc E.DuplicateVarNameInValRec in ([PC.PDDECFUN (tyvs, elabedFunBinds, loc)], SEnv.empty) end | A.DECTYPE (tyBinds, loc) => let fun elabTyBind (tvars, name, ty) = let val newTVars = map (fn {name=tvarName, eq} => {name=tvarName, eq=A.NONEQ}) tvars val newTy = substTyVarInTy (fn ({name=tvarName, eq}, loc) => A.TYID({name=tvarName, eq=A.NONEQ}, loc)) ty in (newTVars, name, newTy) end val newTyBinds = map elabTyBind tyBinds in checkNameDuplication #2 newTyBinds loc E.DuplicateTypeNameInType; ([PC.PDTYPE (newTyBinds, loc)], SEnv.empty) end | A.DECDATATYPE (dataBinds, withTypeBinds, loc) => let val (newDataBinds, newWithTypeBinds) = elabDataBindsWithTypeBinds env (dataBinds, withTypeBinds, loc) in ( (PC.PDDATATYPE (newDataBinds, loc)) :: (case newWithTypeBinds of [] => [] | _ => [PC.PDTYPE(newWithTypeBinds, loc)]), SEnv.empty ) end | A.DECREPLICATEDAT (tyCon, longTyCon, loc) => ([PC.PDREPLICATEDAT (tyCon, longTyCon, loc)], SEnv.empty) | A.DECABSTYPE (dataBinds, withTypeBinds, decs, loc) => let val (newDataBinds, newWithTypeBinds) = elabDataBindsWithTypeBinds env (dataBinds, withTypeBinds, loc) val (newDecs, newEnv) = elabDecs env decs val newVisibleDecs = case newWithTypeBinds of [] => newDecs | _ => PC.PDTYPE(newWithTypeBinds, loc) :: newDecs in ([PC.PDABSTYPE(newDataBinds, newVisibleDecs, loc)], newEnv) end (* let val (newDataBinds, newWithTypeBinds) = elabDataBindsWithTypeBinds env (dataBinds, withTypeBinds, loc) val (newDecs, newEnv) = elabDecs env decs val typeDecs = case newWithTypeBinds of [] => nil | _ => [PC.PDTYPE(newWithTypeBinds, loc)] val typbinds = map (fn {tyvars, tycon,...} => (tyvars, tycon, A.TYCONSTRUCT (map (fn t => A.TYID (t, loc)) tyvars, [tycon], loc)) : PC.typbind) newDataBinds in enqueueWarning (loc, E.AbstypeNotSupported); ([PC.PDLOCALDEC ([PC.PDDATATYPE (newDataBinds, loc)], typeDecs @ newDecs @ [PC.PDTYPE (typbinds, loc)], loc)], newEnv) end *) | A.DECEXN (exnBinds, loc) => let fun elabExnBind (A.EXBINDDEF(isOp, name, NONE, loc)) = PC.PLEXBINDDEF(name, NONE, loc) | elabExnBind (A.EXBINDDEF(isOp, name, SOME ty, loc)) = PC.PLEXBINDDEF(name, SOME ty, loc) | elabExnBind (A.EXBINDREP(bool1, name, bool2, exnlongid, loc)) = PC.PLEXBINDREP(name, exnlongid, loc) fun getExnName (A.EXBINDDEF(_, name, _, _)) = name | getExnName (A.EXBINDREP(_, name, _, _, _)) = name fun getExnLoc (A.EXBINDDEF(_, _, _, loc)) = loc | getExnLoc (A.EXBINDREP(_, _, _, _, loc)) = loc val _ = checkNameDuplication getExnName exnBinds loc E.DuplicateConstructorNameInException val _ = app checkReservedNameForConstructorBind (ListPair.zip (map getExnName exnBinds, map getExnLoc exnBinds)) in ([PC.PDEXD (map elabExnBind exnBinds, loc)], SEnv.empty) end | A.DECLOCAL (dec1, dec2, loc) => let val (pdecs1, env1) = elabDecs env dec1 val (pdecs2, env2) = elabDecs (SEnv.unionWith #1 (env1, env)) dec2 in ([PC.PDLOCALDEC(pdecs1, pdecs2, loc)], env2) end | A.DECOPEN(longids,loc) => ([PC.PDOPEN(longids, loc)], SEnv.empty) | A.DECINFIX (n, idlist, loc) => let val n = ElaboratorUtils.elabInfixPrec (n, loc) in ( [PC.PDINFIXDEC(n, idlist, loc)], foldr (fn (x, env) => SEnv.insert (env, x, INFIX n)) SEnv.empty idlist ) end | A.DECINFIXR (n, idlist, loc) => let val n = ElaboratorUtils.elabInfixPrec (n, loc) in ( [PC.PDINFIXRDEC(n, idlist, loc)], foldr (fn (x, env) => SEnv.insert (env, x, INFIXR n)) SEnv.empty idlist ) end | A.DECNONFIX (idlist, loc) => ( [PC.PDNONFIXDEC(idlist, loc)], foldr (fn (x, env) => SEnv.insert (env, x, NONFIX)) SEnv.empty idlist ) and elabDecs env decs = elabSequence elabDec env decs end end smlsharp-1.2.0/src/compiler/elaborate/main/ElaborateError.ppg0000644 000000000000000000002022612050661606024410 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2006, Tohoku University. * @author YAMATODANI Kiyoshi * @version $Id: ElaborateError.ppg,v 1.23.6.1 2009/12/23 22:24:58 hiro-en Exp $ *) structure ElaborateError = struct (***************************************************************************) (*% * @formatter(Absyn.ffiTy) Absyn.format_ffiTy * @formatter(Absyn.tvar) Absyn.format_tvar * @formatter(Loc.loc) Loc.format_loc *) exception (** *
   *  type t = (int, int) option
   * 
*) (*% * @format({tyCon, wants, given}) * "type" +d "constructor" +d tyCon +d "given" +d given +d "arguments," * +d "wants" +d wants *) ArityMismatchInTypeDeclaration of {tyCon : string, wants : int, given : int} and (*% * @format(id) "expression" +d "or" +d "pattern" +d "begins" +d * "with" +d "infix" +d "identifier" +d ":" +d id *) BeginWithInfixID of string and (** *
   *   exception true of int
   *   datatype dt = ref of int
   * 
*) (*% * @format(name) "Binding" +d "reserved" +d "name:" + name *) BindReservedName of string and (** *
   *   datatype t1 = D and t2 = D
   * 
*) (*% * @format(name) "Duplicate" +d "constructor" +d "name" +d "in" +d * "datatype:" + name *) DuplicateConstructorNameInDatatype of string and (** *
   *   exception e1 of int and e1 = Fail
   * 
*) (*% * @format(name) "Duplicate" +d "constructor" +d "name" +d "in" +d * "exception:" + name *) DuplicateConstructorNameInException of string and (** *
   *    type t and t
   * 
*) (*% * @format(name) "Duplicate" +d "type" +d "constructor:" + name *) DuplicateTypDesc of string and (** *
   *    type ('a,'a) foo = ty
   * 
*) (*% * @format(name) "Duplicate" +d "type" +d "parameter:" + name *) DuplicateTypParam of string and (** *
   *    type t and t
   * 
*) (*% * @format(name) "Duplicate" +d "structure" +d "identifier:" + name *) DuplicateStrDesc of string and (** *
   *    type t and t
   * 
*) (*% * @format(name) "Duplicate" +d "functor" +d "identifier:" + name *) DuplicateFunctorDesc of string and (** *
   *  val {a, a} = {a = 1, a = 2}
   * 
*) (*% * @format(label) * "duplicate" +d "label" +d "in" +d "record:" label *) DuplicateRecordLabel of string and (** *
   *  val {a, a} = {a = 1, a = 2}
   * 
*) (*% * @format(label) * "duplicate" +d "label" +d "in" +d "record pattern:" label *) DuplicateRecordLabelInPat of string and (** *
   *  val {a, a} = {a = 1, a = 2}
   * 
*) (*% * @format(label) "duplicate" +d "label" +d "in" +d "a record type:" label *) DuplicateRecordLabelInRawType of string and (** *
   *   type t1 = int and t1 = string
   * 
*) (*% * @format(name) "Duplicate" +d "type" +d "name" +d "in" +d "type:" + name *) DuplicateTypeNameInType of string and (** *
   *   datatype t1 = D and t1 = E
   * 
*) (*% * @format(name) "Duplicate" +d "type" +d "name" +d "in" +d * "datatype:" + name *) DuplicateTypeNameInDatatype of string and (** *
   *    val x : int and x : bool
   * 
*) (*% * @format(name) "Duplicate" +d "value" +d "identifier:" + name *) DuplicateValDesc of string and (** *
   *  val rec f = exp and f = exp
   * 
*) (*% * @format(var) * "duplicate" +d "name" +d "in" +d "val rec:" +d var *) DuplicateVarNameInValRec of string and (*% * @format(id) "expression" +d "or" +d "pattern" +d "ends" +d * "with" +d "infix" +d "identifier" +d ":" +d id *) EndWithInfixID of string and (*% * @format(id) "non-fix" +d "identifier" +d "expected" +d ":" +d id *) ArgWithInfixID of string and (*% * @format "can't" +d "find" +d "function" +d "arguments" +d "in" +d "clause" *) FunctionParameterNotFound and (*% * @format "illegal" +d "function" +d "symbol" +d "in" +d "clause" *) IllegalFunctionSymbol and (*% * @format(id) "infix" +d "operator" +d id +d "used" +d "without" +d * "\"op\"" +d "in" +d "fun" +d "dec" *) InfixUsedWithoutOP of string and (*% * @format "infix" +d "operator" +d "required," +d "or" +d "delete" +d * "parentheses" *) InfixRequired and (*% * @format "pattern" +d "to" +d "left" +d "of" +d "AS" +d "must" +d "be" * +d "variable" *) LeftOfASMustBeVariable and (*% * @format(id) "infix" +d "symbol" +d id +d "used" +d "where" +d "a" +d * "nonfix" +d "identifier" +d "was" +d "expected" *) NonfixExpected of string and (* Only variable pattern optionally typed is accepted in elaboration. *) (*% * @format * "only" +d "variable" +d "or" +d "typed" +d "variable" +d "pattern" +d * "is" +d "allowed" +d "in" +d "val" +d "rec" *) NonVariablePatternInValRec and (*% * @format "clauses" +d "don't" +d "all" +d "have" +d "same" +d "function" +d "name" *) NotAllHaveFunctionName and (*% * @format "clauses" +d "don't" +d "all" +d "have" +d "same" +d "number" * +d "of" +d "patterns" *) NotAllHaveSameNumberPatterns and (** *
   * datatype t = D of 'a
   * val x = y : 'a   (top level)
   * 
*) (*% * @format({tyvar}) "free" +d "type" +d "variable:" +d {tyvar} *) NotBoundTyvar of {tyvar : string} and (*% * @format * "bound" +d "expression" +d "in" +d "val" +d "rec" +d "must" +d "be" +d * "fn" *) NotFnBoundInValRec and (* *) (*% * @format * "no" +d "real" +d "constant" +d "may" +d "occur" +d "in" +d "a" +d * "pattern." *) RealConstantInPattern and (* *) (*% * @format({ty}) * "not" +d "a" +d "foreign" +d "function" +d "type:" +d ty *) NotForeignFunctionType of {ty: Absyn.ffiTy} and (* *) (*% * @format({attr}) * "undefined" +d "foreign" +d "attribute:" +d attr *) UndefinedFFIAttribute of {attr:string} and (*% * @format({tvar}) * "type" +d "variable" +d tvar +d "has" +d "inconsistent" +d "equality" * +d "kind" *) DifferentEqkindOfSameTvar of {tvar: Absyn.tvar} and (*% * @format({tvar}) * "duplicate" +d "user" +d "type" +d "variable" +d "in" +d "declaration:" * +d tvar *) DuplicateUserTvar of {tvar: Absyn.tvar} and (*% * @format({tvar}) * "user" +d "type" +d "variable" +d tvar +d "is" +d "scoped" +d "at" * +d "outer" +d "declaration" *) UserTvarScopedAtOuterDecl of {tvar: Absyn.tvar} and (*% * @format({filename, msg}) * "failed to load inteface file:" +d filename +d ":" +d msg *) LoadInterfaceFailed of {filename: string, msg: string} and (*% * @format(string) * "multiple" +d "_provide" +d "declaration:" +d string *) MultipleProvide of string and (*% * @format * "fixity" +d "precedence" +d "must" +d "be" +d "between" +d "0" +d "and" * +d "9" *) InvalidFixityPrecedence and (*% * @format(vid * prevLoc) * "found" +d "multiple" +d "infix" +d "declaration" +d "for" +d vid +d * "with" +d "different" +d "fixity." +1 "Previous" +d "infix" * +d "declaratation" +d "is" +d "at:" +d prevLoc *) MultipleInfixInInterface of string * Loc.loc and (*% * @format * "derived" +d "form" +d "for" +d "functor" +d "argument" +d "is" +d * "not" +d "supported" +d "in" +d "interface" +d "file" *) DerivedFormFunArg and (*% * @format(sigid) * "signature" +d "is" +d "referenced" +d "by" +d "ID" +d "from" +d * "interface:" +d sigid *) SigIDFoundInInterface of string and (*% @format "abstype" +d "is" +d "obsolete;" +d "use" +d "opaque" +d "signature" +d "instead" *) AbstypeNotSupported and (*% * @format(id) * "operators" +d "of" +d "same" +d "precedence" +d "with" +d "mixed" +d * "associativities:" +d id *) InvalidOpAssociativity of string and (*% * @format(id) "runtime" +d "type" +d "not" +d "found:" +d id *) RuntimeTyNotFound of string end smlsharp-1.2.0/src/compiler/elaborate/main/ElaborateError.ppg.smi0000644 000000000000000000000433212050661606025177 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../control/main/Loc.ppg.smi" _require "../../absyn/main/Absyn.ppg.smi" structure ElaborateError = struct exception RuntimeTyNotFound of string exception InvalidOpAssociativity of string exception AbstypeNotSupported exception SigIDFoundInInterface of string exception DerivedFormFunArg exception MultipleInfixInInterface of string * Loc.loc exception InvalidFixityPrecedence exception MultipleProvide of string exception LoadInterfaceFailed of {filename:string, msg:string} exception UserTvarScopedAtOuterDecl of {tvar:Absyn.tvar} exception DuplicateUserTvar of {tvar:Absyn.tvar} exception DifferentEqkindOfSameTvar of {tvar:Absyn.tvar} exception UndefinedFFIAttribute of {attr:string} exception NotForeignFunctionType of {ty:Absyn.ffiTy} exception RealConstantInPattern exception NotFnBoundInValRec exception NotBoundTyvar of {tyvar:string} exception NotAllHaveSameNumberPatterns exception NotAllHaveFunctionName exception NonVariablePatternInValRec exception NonfixExpected of string exception LeftOfASMustBeVariable exception InfixRequired exception InfixUsedWithoutOP of string exception IllegalFunctionSymbol exception FunctionParameterNotFound exception ArgWithInfixID of string exception EndWithInfixID of string exception DuplicateVarNameInValRec of string exception DuplicateValDesc of string exception DuplicateTypeNameInDatatype of string exception DuplicateTypeNameInType of string exception DuplicateRecordLabelInRawType of string exception DuplicateRecordLabelInPat of string exception DuplicateRecordLabel of string exception DuplicateFunctorDesc of string exception DuplicateStrDesc of string exception DuplicateTypParam of string exception DuplicateTypDesc of string exception DuplicateConstructorNameInException of string exception DuplicateConstructorNameInDatatype of string exception BindReservedName of string exception BeginWithInfixID of string exception ArityMismatchInTypeDeclaration of {given:int, tyCon:string, wants:int} end smlsharp-1.2.0/src/compiler/elaborate/main/ElaborateErrorSQL.ppg0000644 000000000000000000000312012050661606024762 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2006, Tohoku University. * @author UENO Katsuhiro * @author ENDO Hiroki *) structure ElaborateErrorSQL = struct (***************************************************************************) (*% * @formatter(Absyn.ty) Absyn.format_ty *) exception (* *) (*% * @format(label) * "duplicate" +d "label" +d "of" +d "SQL" +d "server" * +d "description:" label *) DuplicateSQLRecordLabel of string and (* *) (*% * @format(label) * "duplicate" +d "tuple" +d "in" +d "from" +d "and/or" +d "into" * +d "clause:" +d label *) DuplicateSQLTuple of string and (* *) (*% * @format(label) * "duplicate" +d "label" +d "in" +d "select" +d "clause:" +d label *) DuplicateSQLSelectLabel of string and (* *) (*% * @format(label) * "duplicate" +d "label" +d "in" +d "insert" +d "clause:" +d label *) DuplicateSQLInsertLabel of string and (* *) (*% * @format(label) * "duplicate" +d "label" +d "in" +d "set" +d "clause:" +d label *) DuplicateSQLSetLabel of string and (* *) (*% * @format * "different" +d "number" +d "of" +d "labels" +d "in" +d "insert" * +d "clause" *) NumberOfSQLInsertLabel and (* *) (*% * @format * "different" +d "number" +d "of" +d "labels" +d "in" +d "set" * +d "clause" *) NumberOfSQLSetLabel and (* *) (*% * @format(label) * "not" +d "available" +d "label" +d "of" +d "SQL" +d "server" * +d "description:" label *) NotAvailableSQLKeyword of string end smlsharp-1.2.0/src/compiler/elaborate/main/ElaborateErrorSQL.ppg.smi0000644 000000000000000000000071712050661606025562 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" structure ElaborateErrorSQL = struct exception NotAvailableSQLKeyword of string exception NumberOfSQLSetLabel exception NumberOfSQLInsertLabel exception DuplicateSQLSetLabel of string exception DuplicateSQLInsertLabel of string exception DuplicateSQLSelectLabel of string exception DuplicateSQLTuple of string exception DuplicateSQLRecordLabel of string end smlsharp-1.2.0/src/compiler/elaborate/main/ElaborateInterface.smi0000644 000000000000000000000151212050661606025216 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../util/main/BigInt_IntInf.smi" _require "../../name/main/LocalID.smi" _require "../../builtin2/main/BuiltinTypeNames.ppg.smi" _require "../../absyn/main/AbsynInterface.ppg.smi" _require "../../absyn/main/Fixity.smi" _require "../../patterncalc/main/PatternCalc.ppg.smi" _require "../../patterncalc/main/PatternCalcInterface.ppg.smi" _require "ElaborateError.ppg.smi" _require "ElaborateModule.smi" _require "ElaboratorUtils.smi" _require "UserTvarScope.smi" structure ElaborateInterface = struct type fixEnv = Fixity.fixity SEnv.map val elaborate : AbsynInterface.interface -> {requireFixEnv: fixEnv, provideFixEnv: fixEnv} * PatternCalcInterface.interface end smlsharp-1.2.0/src/compiler/elaborate/main/ElaborateInterface.sml0000644 000000000000000000002463312050661606025232 0ustar00rootroot0000000 0000000 (** * ElaboratorInterface.sml * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro *) structure ElaborateInterface : sig type fixEnv val elaborate : AbsynInterface.interface -> {requireFixEnv: fixEnv, provideFixEnv: fixEnv} * PatternCalcInterface.interface end = struct structure I = AbsynInterface structure P = PatternCalcInterface structure PC = PatternCalc type fixEnv = Fixity.fixity SEnv.map fun checkSigexp sigexp = case sigexp of PC.PLSIGEXPBASIC (spec, loc) => checkSpec spec | PC.PLSIGID (sigid, loc) => ElaboratorUtils.enqueueError (loc, ElaborateError.SigIDFoundInInterface sigid) | PC.PLSIGWHERE (sigexp, typbinds, loc) => checkSigexp sigexp and checkSpec spec = case spec of PC.PLSPECVAL _ => () | PC.PLSPECTYPE _ => () | PC.PLSPECTYPEEQUATION _ => () | PC.PLSPECDATATYPE _ => () | PC.PLSPECREPLIC _ => () | PC.PLSPECEXCEPTION _ => () | PC.PLSPECSTRUCT (strdecs, loc) => app (fn (strid, sigexp) => checkSigexp sigexp) strdecs | PC.PLSPECINCLUDE (sigexp, loc) => checkSigexp sigexp | PC.PLSPECSEQ (spec1, spec2, loc) => (checkSpec spec1; checkSpec spec2) | PC.PLSPECSHARE (spec, ids, loc) => checkSpec spec | PC.PLSPECSHARESTR (spec, ids, loc) => checkSpec spec | PC.PLSPECEMPTY => () fun elabSigexp sigexp = let val sigexp = ElaborateModule.elabSigExp sigexp val sigexp = UserTvarScope.decideSigexp sigexp val _ = checkSigexp sigexp in sigexp end fun tyvarsOverloadInstance inst = case inst of P.INST_OVERLOAD overloadCase => tyvarsOverloadCase overloadCase | P.INST_LONGVID {vid} => UserTvarScope.empty and tyvarsOverloadMatch ({instTy, instance}:P.overloadMatch) = UserTvarScope.union (UserTvarScope.ftv instTy, tyvarsOverloadInstance instance) and tyvarsOverloadCase ({tyvar, expTy, matches, loc}:P.overloadCase) = UserTvarScope.union (UserTvarScope.union (UserTvarScope.singleton (tyvar, loc), UserTvarScope.ftv expTy), UserTvarScope.tyvarsList tyvarsOverloadMatch matches) fun tyvarsValbindBody body = case body of P.VAL_EXTERN {ty} => UserTvarScope.ftv ty | P.VAL_EXTERN_WITHNAME {ty, externPath} => UserTvarScope.ftv ty | P.VALALIAS_EXTERN {path} => UserTvarScope.empty | P.VAL_BUILTIN {builtinName, ty} => UserTvarScope.ftv ty | P.VAL_OVERLOAD overloadCase => tyvarsOverloadCase overloadCase fun checkUniqueOverloadTvars used ({tyvar, expTy, matches, loc} :P.overloadCase) = let val _ = if UserTvarScope.member (used, tyvar) then (ElaboratorUtils.enqueueError (loc, ElaborateError.UserTvarScopedAtOuterDecl {tvar = tyvar})) else () val set = UserTvarScope.union (UserTvarScope.singleton (tyvar, loc), UserTvarScope.ftv expTy) val used = UserTvarScope.union (used, set) in app (fn {instTy, instance} => case instance of P.INST_OVERLOAD c => checkUniqueOverloadTvars used c | P.INST_LONGVID _ => ()) matches end fun elabValbindBody body = case body of P.VAL_EXTERN _ => body | P.VAL_EXTERN_WITHNAME _ => body | P.VALALIAS_EXTERN _ => body | P.VAL_BUILTIN _ => body | P.VAL_OVERLOAD c => (checkUniqueOverloadTvars UserTvarScope.empty c; body) fun elabValbind ({vid, body, loc}:I.valbind) = let val body = elabValbindBody body val tvset = tyvarsValbindBody body val tvars = UserTvarScope.toTvarList tvset in P.PIVAL {scopedTvars = tvars, vid = vid, body = body, loc = loc} end fun elabExbind exbind = case exbind of I.EXNDEF {vid, ty, loc} => P.PIEXCEPTION {vid=vid, ty=ty, externPath=NONE, loc=loc} | I.EXNDEF_WITHNAME {vid, ty, externPath, loc} => P.PIEXCEPTION {vid=vid, ty=ty, externPath=SOME externPath, loc=loc} | I.EXNREP {vid, longvid, loc} => P.PIEXCEPTIONREP {vid=vid, origId=longvid, loc=loc} fun elabTypbind typbind = case typbind of I.TRANSPARENT tyconInfo => P.PITYPE tyconInfo | I.OPAQUE_NONEQ {tyvars, tycon, runtimeTy, loc} => let val runtimeTy = case runtimeTy of [name] => (case BuiltinTypeNames.findType name of SOME ty => P.BUILTINty ty | NONE => P.LIFTEDty runtimeTy ) | _ => P.LIFTEDty runtimeTy in P.PIOPAQUE_TYPE {tyvars=tyvars, tycon=tycon, runtimeTy=runtimeTy, loc=loc} end | I.OPAQUE_EQ {tyvars, tycon, runtimeTy, loc} => let val runtimeTy = case runtimeTy of [name] => (case BuiltinTypeNames.findType name of SOME ty => P.BUILTINty ty | NONE => P.LIFTEDty runtimeTy) | _ => P.LIFTEDty runtimeTy in P.PIOPAQUE_EQTYPE {tyvars=tyvars, tycon=tycon, runtimeTy=runtimeTy, loc=loc} end fun elabDec dec = case dec of I.IVAL valbind => map elabValbind valbind | I.ITYPE typbindList => map elabTypbind typbindList | I.IDATATYPE bind => [P.PIDATATYPE bind] | I.ITYPEREP bind => [P.PITYPEREP bind] | I.ITYPEBUILTIN bind => [P.PITYPEBUILTIN bind] | I.IEXCEPTION exbind => map elabExbind exbind | I.ISTRUCTURE strbind => [elabStrbind strbind] and elabStrbind ({strid, strexp, loc}:I.strbind) = P.PISTRUCTURE {strid = strid, strexp = elabStrexp strexp, loc = loc} and elabStrexp strexp = case strexp of I.ISTRUCT {decs, loc} => P.PISTRUCT {decs = List.concat (map elabDec decs), loc = loc} | I.ISTRUCTREP{strPath, loc} => P.PISTRUCTREP{strPath=strPath, loc=loc} | I.IFUNCTORAPP{functorName, argumentPath, loc} => P.PIFUNCTORAPP{functorName=functorName, argumentPath=argumentPath, loc=loc} fun elabFunbind ({funid, param, strexp, loc}:I.funbind) = let val strexp = elabStrexp strexp val param = case param of I.FUNPARAM_FULL {strid, sigexp} => {strid = strid, sigexp = elabSigexp sigexp} | I.FUNPARAM_SPEC spec => (ElaboratorUtils.enqueueError (loc, ElaborateError.DerivedFormFunArg); {strid = "", sigexp = PatternCalc.PLSIGID ("", loc)}) in P.PIFUNDEC {funid = funid, param = param, strexp = strexp, loc = loc} end fun elabTopdec fixEnv itopdec = case itopdec of I.IDEC dec => (SEnv.empty, map P.PIDEC (elabDec dec)) | I.IFUNDEC funbind => (SEnv.empty, [elabFunbind funbind]) | I.IINFIX {fixity, vids, loc} => let val fixity = case fixity of I.INFIXL NONE => Fixity.INFIX 0 | I.INFIXL (SOME n) => Fixity.INFIX (ElaboratorUtils.elabInfixPrec (n, loc)) | I.INFIXR NONE => Fixity.INFIXR 0 | I.INFIXR (SOME n) => Fixity.INFIXR (ElaboratorUtils.elabInfixPrec (n, loc)) | I.NONFIX => Fixity.NONFIX (* check duplicate declarations *) val _ = app (fn vid => case SEnv.find (fixEnv, vid) of SOME (fixity1, loc1) => if fixity = fixity1 then () else ElaboratorUtils.enqueueError (loc, ElaborateError.MultipleInfixInInterface (vid, loc1)) | NONE => ()) vids val fixEnv = foldl (fn (vid,z) => SEnv.insert (z, vid, (fixity, loc))) SEnv.empty vids in (fixEnv, nil) end and elabTopdecList fixEnv nil = (SEnv.empty, nil) | elabTopdecList fixEnv (dec::decs) = let val (newFixEnv1, dec) = elabTopdec fixEnv dec val fixEnv = SEnv.unionWith #2 (fixEnv, newFixEnv1) val (newFixEnv2, decs) = elabTopdecList fixEnv decs in (SEnv.unionWith #2 (newFixEnv1, newFixEnv2), dec @ decs) end fun elabInterfaceDec fixEnv ({interfaceId, interfaceName, requires, topdecs} :I.interfaceDec) = let val (newFixEnv, topdecs) = elabTopdecList fixEnv topdecs in (newFixEnv, {interfaceId = interfaceId, interfaceName = interfaceName, requires = requires, topdecs = topdecs} : P.interfaceDec) end fun elabInterfaceDecs fixEnv nil = (InterfaceID.Map.empty, nil) | elabInterfaceDecs fixEnv (dec::decs) = let val (newFixEnv, dec) = elabInterfaceDec fixEnv dec val fixEnvMap1 = InterfaceID.Map.singleton (#interfaceId dec, newFixEnv) val fixEnv = SEnv.unionWith #2 (fixEnv, newFixEnv) val (fixEnvMap2, decs) = elabInterfaceDecs fixEnv decs val fixEnvMap = InterfaceID.Map.unionWith #2 (fixEnvMap1, fixEnvMap2) in (fixEnvMap, dec::decs) end fun toFixEnv env = SEnv.map (fn (x, _:I.loc) => x) env : fixEnv fun elaborate ({decls, interfaceName, requires, topdecs}:I.interface) = let val (fixEnvMap, newDecls) = elabInterfaceDecs SEnv.empty decls val allFixEnv = InterfaceID.Map.foldl (SEnv.unionWith #2) SEnv.empty fixEnvMap val (provideFixEnv, topdecs) = elabTopdecList allFixEnv topdecs val interface = { decls = newDecls, interfaceName = interfaceName, requires = requires, topdecs = topdecs } : P.interface val requireFixEnv = foldl (fn ({id, loc}, z) => case InterfaceID.Map.find (fixEnvMap, id) of SOME env => SEnv.unionWith #2 (z, env) | NONE => raise Control.Bug "elaborate: interface not found") SEnv.empty requires in ({requireFixEnv = toFixEnv requireFixEnv, provideFixEnv = toFixEnv provideFixEnv}, interface) end end smlsharp-1.2.0/src/compiler/elaborate/main/ElaborateModule.smi0000644 000000000000000000000133312050661606024544 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../absyn/main/Fixity.smi" _require "../../patterncalc/main/PatternCalc.ppg.smi" _require "../../usererror/main/UserError.ppg.smi" _require "../../usererror/main/UserErrorUtils.smi" _require "ElaborateCore.smi" _require "ElaborateError.ppg.smi" structure ElaborateModule = struct val elabSigExp : Absyn.sigexp -> PatternCalc.plsigexp val elabSpec : Absyn.spec -> PatternCalc.plspec val elabTopDecs : Fixity.fixity SEnv.map -> Absyn.topdec list -> PatternCalc.pltopdec list * Fixity.fixity SEnv.map end smlsharp-1.2.0/src/compiler/elaborate/main/ElaborateModule.sml0000644 000000000000000000003063112050661606024552 0ustar00rootroot0000000 0000000 (* * Elaborator. * * @copyright (c) 2006, Tohoku University. * @author YAMATODANI Kiyoshi * @author Atsushi Ohori * @author Liu Bochao *) structure ElaborateModule : sig val elabSigExp : Absyn.sigexp -> PatternCalc.plsigexp val elabSpec : Absyn.spec -> PatternCalc.plspec val elabTopDecs : Fixity.fixity SEnv.map -> Absyn.topdec list -> PatternCalc.pltopdec list * Fixity.fixity SEnv.map end = struct val checkNameDuplication = UserErrorUtils.checkNameDuplication val checkNameDuplication' = UserErrorUtils.checkNameDuplication' structure C = Control structure A = Absyn structure E = ElaborateError structure UE = UserError structure PC = PatternCalc (** * name given to an anonymous parameter signature of a functor. * Example: * functor F(type x) = struct datatype dt = D of x end * is elaborated to: * functor F ('X : sig type x end) = * let open 'X in struct datatype dt = D of x end end *) val NAME_OF_ANONYMOUS_FUNCTOR_PARAMETER = "_X" val emptyTvars = nil : PC.scopedTvars datatype sigexpKind = Interface | OrdinarySig fun elabSequence elab env nil = (nil, env) | elabSequence elab env (elem::elems) = let val (elems1, env1) = elab env elem val env = SEnv.unionWith #2 (env, env1) val (elems2, env2) = elabSequence elab env elems in (elems1 @ elems2, SEnv.unionWith #2 (env1, env2)) end fun elabBinds elaborator elements = map (fn (label, element) => (label, elaborator element)) elements fun specListToSpecSeq loc specList = let fun makeSeqSpec [] = raise Control.Bug "nilspec found in elaborate" | makeSeqSpec [spec] = spec | makeSeqSpec (spec :: specs) = PC.PLSPECSEQ(spec, makeSeqSpec specs, loc) in makeSeqSpec specList end fun elabSpec spec = case spec of A.SPECSEQ(A.SPECEMPTY, spec, loc) => elabSpec spec | A.SPECSEQ(spec, A.SPECEMPTY, loc) => elabSpec spec | A.SPECSEQ(spec1, spec2, loc) => PC.PLSPECSEQ(elabSpec spec1, elabSpec spec2, loc) | A.SPECVAL(valBinds, loc) => let val _ = checkNameDuplication #1 valBinds loc E.DuplicateValDesc val specs = map (fn (vid, ty) => PC.PLSPECVAL (emptyTvars, vid, ty, loc)) valBinds in specListToSpecSeq loc specs end | A.SPECTYPE(tydescs, loc) => let val _ = UserErrorUtils.checkNameDuplication #2 tydescs loc E.DuplicateTypDesc in PC.PLSPECTYPE {tydecls=tydescs, iseq=false, loc=loc} end (* | A.SPECTYPE(tydescs, loc) => let val _ = checkNameDuplication #2 tydescs loc E.DuplicateTypDesc in PC.PLSPECTYPE(tydescs, loc) end *) | A.SPECDERIVEDTYPE(maniftypedescs, loc) => let val _ = checkNameDuplication #2 maniftypedescs loc E.DuplicateTypDesc fun elabTypeEquation m = PC.PLSPECTYPEEQUATION (m, loc) in specListToSpecSeq loc (map elabTypeEquation maniftypedescs) end | A.SPECEQTYPE(tydescs, loc) => let val _ = UserErrorUtils.checkNameDuplication #2 tydescs loc E.DuplicateTypDesc in PC.PLSPECTYPE{tydecls=tydescs, iseq=true, loc=loc} end (* | A.SPECEQTYPE(tydescs, loc) => let val _ = checkNameDuplication #2 tydescs loc E.DuplicateTypDesc in PC.PLSPECEQTYPE(tydescs, loc) end *) | A.SPECDATATYPE(dataDescs, loc) => let val _ = checkNameDuplication #2 dataDescs loc E.DuplicateTypDesc fun check (tvar, name, conDescs) = ( UserErrorUtils.checkNameDuplication (fn (con, ty) => con) conDescs loc E.DuplicateConstructorNameInDatatype; () ) val _ = map check dataDescs in PC.PLSPECDATATYPE(dataDescs, loc) end | A.SPECREPLIC(tyCon, longTyCon, loc) => PC.PLSPECREPLIC(tyCon, longTyCon, loc) | A.SPECEXCEPTION(exnDescs, loc) => let val _ = checkNameDuplication #1 exnDescs loc E.DuplicateConstructorNameInException in PC.PLSPECEXCEPTION(exnDescs, loc) end | A.SPECSTRUCT(strdescs, loc) => let val _ = checkNameDuplication #1 strdescs loc E.DuplicateStrDesc in PC.PLSPECSTRUCT (elabBinds elabSigExp strdescs, loc) end | A.SPECINCLUDE(sigexp, loc)=> PC.PLSPECINCLUDE(elabSigExp sigexp, loc) | A.SPECDERIVEDINCLUDE(sigids, loc) => let fun elabSigID sigid = PC.PLSPECINCLUDE(PC.PLSIGID(sigid, loc), loc) in specListToSpecSeq loc (map elabSigID sigids) end | A.SPECSHARE(spec, longTyCons, loc) => PC.PLSPECSHARE (elabSpec spec, longTyCons, loc) | A.SPECSHARESTR(spec, longstrids, loc) => PC.PLSPECSHARESTR (elabSpec spec, longstrids, loc) | A.SPECEMPTY => PC.PLSPECEMPTY and elabSigExp sigexp = case sigexp of A.SIGEXPBASIC(spec, loc) => PC.PLSIGEXPBASIC(elabSpec spec, loc) | A.SIGID(sigid,loc) => PC.PLSIGID(sigid, loc) | A.SIGWHERE(sigexp, whtypes, loc) => PC.PLSIGWHERE(elabSigExp sigexp, whtypes, loc) and elabStrExp env strexp = case strexp of A.STREXPBASIC(strdecs, loc) => let val (plstrdecs, env') = elabStrDecs env strdecs in PC.PLSTREXPBASIC(plstrdecs, loc) end | A.STRID(longid, loc) => PC.PLSTRID(longid, loc) | A.STRTRANCONSTRAINT(strexp, sigexp, loc) => PC.PLSTRTRANCONSTRAINT (elabStrExp env strexp, elabSigExp sigexp, loc) | A.STROPAQCONSTRAINT(strexp, sigexp, loc) => PC.PLSTROPAQCONSTRAINT (elabStrExp env strexp, elabSigExp sigexp, loc) | A.FUNCTORAPP(funid, A.STRID(longid, loc1), loc2) => PC.PLFUNCTORAPP(funid, longid, loc2) | A.FUNCTORAPP(funid, strexp, loc) => let val newStrid = NAME_OF_ANONYMOUS_FUNCTOR_PARAMETER val plstrexp = elabStrExp env strexp val plstrbody = PC.PLFUNCTORAPP(funid, [newStrid],loc) val plstrDecs =[PC.PLSTRUCTBIND([(newStrid,plstrexp)],loc)] in PC.PLSTRUCTLET(plstrDecs, plstrbody, loc) end (* | A.FUNCTORAPP(funid, strexp, loc) => PC.PLFUNCTORAPP(funid, elabStrExp env strexp, loc) *) | A.STRUCTLET(strdecs, strexp, loc) => let val (plstrdecs, env') = elabStrDecs env strdecs val newenv = SEnv.unionWith #1 (env', env) in PC.PLSTRUCTLET(plstrdecs, elabStrExp newenv strexp, loc) end and elabStrBind env strbind = case strbind of A.STRBINDTRAN(strid, sigexp, strexp, loc) => ( strid, PC.PLSTRTRANCONSTRAINT (elabStrExp env strexp, elabSigExp sigexp, loc) ) | A.STRBINDOPAQUE(strid, sigexp, strexp, loc) => ( strid, PC.PLSTROPAQCONSTRAINT (elabStrExp env strexp, elabSigExp sigexp, loc) ) | A.STRBINDNONOBSERV(strid, strexp, loc) => (strid, elabStrExp env strexp) and elabStrDec env strdec = case strdec of A.COREDEC(dec, loc) => let val (pldecs, env) = ElaborateCore.elabDec env dec in (map (fn pldec => PC.PLCOREDEC(pldec, loc)) pldecs, env) end | A.STRUCTBIND(strbinds,loc) => ([PC.PLSTRUCTBIND(map (elabStrBind env) strbinds, loc)], SEnv.empty) | A.STRUCTLOCAL(strdecs1, strdecs2, loc) => let val (plstrdecs1, env1) = elabStrDecs env strdecs1 val (plstrdecs2, env2) = elabStrDecs (SEnv.unionWith #1 (env1, env)) strdecs2 in ([PC.PLSTRUCTLOCAL(plstrdecs1, plstrdecs2, loc)], env2) end and elabStrDecs env strdecs = elabSequence elabStrDec env strdecs and elabFunBind env funbind = case funbind of (* functor F(A:sig1) : sig2 = str => functor F(A:sig1) = str : sig2 *) A.FUNBINDTRAN (funid, strid, argSigexp, resSigexp, strexp, loc) => let val newStrexp = A.STRTRANCONSTRAINT(strexp, resSigexp, loc) in elabFunBind env (A.FUNBINDNONOBSERV(funid, strid, argSigexp, newStrexp, loc)) end (* functor F(A:sig1) :> sig2 = str => functor F(A:sig1) = str :> sig2 *) | A.FUNBINDOPAQUE (funid, strid, argSigexp, resSigexp, strexp, loc) => let val newStrexp = A.STROPAQCONSTRAINT(strexp, resSigexp, loc) in elabFunBind env (A.FUNBINDNONOBSERV(funid, strid, argSigexp, newStrexp, loc)) end (* functor F(spec) : sig = str => functor F('x:sig spec end) = let open 'X in str:sig end *) | A.FUNBINDSPECTRAN(funid, spec, resSigexp, strexp, loc) => let val newStrid = NAME_OF_ANONYMOUS_FUNCTOR_PARAMETER val newStrexp = A.STRUCTLET ([A.COREDEC(A.DECOPEN([[newStrid]], loc), loc)], A.STRTRANCONSTRAINT(strexp,resSigexp,loc), loc) val argSigExp = A.SIGEXPBASIC(spec, loc) val newFunBind = A.FUNBINDNONOBSERV (funid, newStrid, argSigExp, newStrexp, loc) in elabFunBind env newFunBind end (* functor F(spec) :> sig = str => functor F('x:sig spec end) = let open 'X in str:>sig end *) | A.FUNBINDSPECOPAQUE(funid, spec, resSigexp, strexp, loc) => let val newStrid = NAME_OF_ANONYMOUS_FUNCTOR_PARAMETER val newStrexp = A.STRUCTLET ([A.COREDEC(A.DECOPEN([[newStrid]], loc), loc)], A.STROPAQCONSTRAINT(strexp,resSigexp,loc), loc) val argSigExp = A.SIGEXPBASIC(spec, loc) val newFunBind = A.FUNBINDNONOBSERV (funid, newStrid, argSigExp, newStrexp, loc) in elabFunBind env newFunBind end (* functor F(spec) = str => functor F('x:sig spec end) = let open 'X in str end *) | A.FUNBINDSPECNONOBSERV (funid, spec, strexp, loc) => let val newStrid = NAME_OF_ANONYMOUS_FUNCTOR_PARAMETER val newStrexp = A.STRUCTLET ([A.COREDEC(A.DECOPEN([[newStrid]], loc), loc)], strexp, loc) val newFunBind = A.FUNBINDNONOBSERV (funid, newStrid, A.SIGEXPBASIC(spec, loc), newStrexp, loc) in elabFunBind env newFunBind end (* functor F(A:sig) = str *) | A.FUNBINDNONOBSERV(funid, strid, argSigexp, strexp, loc) => let val newArgSigexp = elabSigExp argSigexp val newStrexp = elabStrExp env strexp in {name=funid, argStrName=strid, argSig=newArgSigexp, body=newStrexp, loc=loc} end and elabTopDec env topdec = case topdec of A.TOPDECSTR(strdec, loc) => let val (plstrdecs, env') = elabStrDec env strdec in (map (fn plstrdec => PC.PLTOPDECSTR(plstrdec, loc)) plstrdecs, env') end | A.TOPDECSIG(sigdecs, loc) => let val plsigdecs = elabBinds elabSigExp sigdecs in ([PC.PLTOPDECSIG(plsigdecs, loc)], SEnv.empty) end | A.TOPDECFUN(funbinds, loc) => let val plfunbinds = map (elabFunBind env) funbinds in ([PC.PLTOPDECFUN(plfunbinds, loc) ], SEnv.empty) end (* | A.TOPDECFUN(funbinds, loc) => let val plfunbinds = map (elabFunBind env) funbinds in ([PC.PLTOPDECFUN(plfunbinds, loc)], SEnv.empty) end *) and elabTopDecs env topdecs = elabSequence elabTopDec env topdecs end smlsharp-1.2.0/src/compiler/elaborate/main/ElaborateSQL.smi0000644 000000000000000000000112612050661606023756 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../util/main/utils.smi" _require "../../util/main/BigInt_IntInf.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../absyn/main/AbsynSQL.ppg.smi" _require "../../patterncalc/main/PatternCalc.ppg.smi" _require "../../usererror/main/UserErrorUtils.smi" _require "ElaborateErrorSQL.ppg.smi" structure ElaborateSQL = struct val elaborateExp : {elabExp:Absyn.exp -> PatternCalc.plexp, elabPat:Absyn.pat -> PatternCalc.plpat} -> (Absyn.exp,Absyn.pat,Absyn.ty) AbsynSQL.exp -> PatternCalc.plexp end smlsharp-1.2.0/src/compiler/elaborate/main/ElaborateSQL.sml0000644 000000000000000000007700112050661606023766 0ustar00rootroot0000000 0000000 (** * ElaboratorSQL.sml * @copyright (c) 2009, 2010, Tohoku University. * @author UENO Katsuhiro * @author ENDO Hiroki *) structure ElaborateSQL : sig val elaborateExp : {elabExp: Absyn.exp -> PatternCalc.plexp, elabPat: Absyn.pat -> PatternCalc.plpat} -> (Absyn.exp, Absyn.pat, Absyn.ty) AbsynSQL.exp -> PatternCalc.plexp end = struct structure A = Absyn structure S = AbsynSQL structure P = PatternCalc val SQLDBConName = ["SMLSharp_SQL_Prim", "DB"] val SQLDBIConName = ["SMLSharp", "SQL", "DBI"] val SQLTableConName = ["SMLSharp_SQL_Prim", "TABLE"] val SQLRowConName = ["SMLSharp_SQL_Prim", "ROW"] val SQLValueConName = ["SMLSharp_SQL_Prim", "VALUE"] val SQLQueryConName = ["SMLSharp_SQL_Prim", "QUERY"] val SQLCommandConName = ["SMLSharp_SQL_Prim", "COMMAND"] val SQLResultConName = ["SMLSharp_SQL_Prim", "RESULT"] (* NOTE: even bool and option are builtin names, user may override them * in interactive mode. Currently, if user overrides these types, SQL * feature does not work. *) val boolTyName = ["bool"] val optionTyName = ["option"] val SQLValueTyName = ["SMLSharp", "SQL", "value"] val concatDotFunName = ["SMLSharp_SQL_Prim", "concatDot"] val concatQueryFunName = ["SMLSharp_SQL_Prim", "concatQuery"] val execFunName = ["SMLSharp_SQL_Prim", "exec"] val evalFunName = ["SMLSharp_SQL_Prim", "eval"] val fromSQLFunName = ["SMLSharp_SQL_Prim", "fromSQL"] val defaultFunName = ["SMLSharp_SQL_Prim", "default"] val listToTuple = Utils.listToTuple val emptyTvars = nil : P.scopedTvars fun mapi f l = let fun loop f n nil = nil | loop f n (h::t) = f (n, h) :: loop f (n+1) t in loop f 0 l end fun varPat (NONE, loc) = P.PLPATWILD loc | varPat (SOME x, loc) = P.PLPATID ([x], loc) fun pairPat (pat1, pat2, loc) = P.PLPATRECORD (false, [("1", pat1), ("2", pat2)], loc) fun pairVarPat (var1, var2, loc) = pairPat (P.PLPATID ([var1], loc), P.PLPATID ([var2], loc), loc) fun stringDBIPat (stringVar, dbiVar, loc) = case dbiVar of NONE => P.PLPATID ([stringVar], loc) | SOME dbiVar => P.PLPATLAYERED (stringVar, NONE, pairPat (P.PLPATWILD loc, P.PLPATID ([dbiVar], loc), loc), loc) fun tablePat (nameVar, dbiVar, witnessVar, loc) = P.PLPATCONSTRUCT (P.PLPATID (SQLTableConName, loc), pairPat (stringDBIPat (nameVar, dbiVar, loc), P.PLPATID ([witnessVar], loc), loc), loc) fun boolOptionTy loc = A.TYCONSTRUCT ([A.TYCONSTRUCT (nil, boolTyName, loc)], optionTyName, loc) fun valuePat (queryVar, witnessVar, witnessTy, loc) = P.PLPATCONSTRUCT (P.PLPATID (SQLValueConName, loc), pairPat (P.PLPATID ([queryVar], loc), case witnessTy of NONE => varPat (witnessVar, loc) | SOME ty => P.PLPATTYPED (varPat (witnessVar, loc), ty, loc), loc), loc) fun fnExp (var, exp, loc) = P.PLFNM ([([varPat (var, loc)], exp)], loc) fun appExp (funName, arg, loc) = P.PLAPPM (P.PLVAR (funName, loc), [arg], loc) fun caseExp (exp, pat, bodyExp, loc) = P.PLCASEM ([exp], [([pat], bodyExp)], P.MATCH, loc) fun intCon (n, loc) = P.PLCONSTANT (A.INT ({radix=StringCvt.DEC, digits=Int.toString n}, loc), loc) fun rawStringCon (s, loc) = P.PLCONSTANT (A.STRING (s, loc), loc) fun unitCon loc = P.PLCONSTANT (A.UNITCONST loc, loc) fun pairCon (exp1, exp2, loc) = P.PLRECORD ([("1", exp1), ("2", exp2)], loc) fun stringDBICon (s, dbiVar, loc) = pairCon (rawStringCon (s, loc), P.PLVAR ([dbiVar], loc), loc) fun stringCon (s, loc) = pairCon (rawStringCon (s, loc), P.PLVAR (SQLDBIConName, loc), loc) fun rowCon (rowName, dbiVar, witnessVar, loc) = appExp (SQLRowConName, pairCon (stringDBICon ("\"" ^ rowName ^ "\"", dbiVar, loc), P.PLVAR ([witnessVar], loc), loc), loc) fun makeList (elemList, loc) = let fun folder (x, y) = P.PLAPPM (P.PLVAR(["::"], loc), [P.PLRECORD(listToTuple [x, y], loc)], loc) val plexp = foldr folder (P.PLVAR(["nil"], loc)) elemList in plexp end fun queryCon (resultVar, returnExp, witnessExp, queryStrings, loc) = appExp (SQLQueryConName, P.PLRECORD (listToTuple [appExp (concatQueryFunName, makeList (queryStrings, loc), loc), witnessExp, P.PLFNM ([([P.PLPATID ([resultVar], loc)], returnExp)], loc)], loc), loc) fun commandCon (queryStrings, loc) = appExp (SQLCommandConName, appExp (concatQueryFunName, makeList (queryStrings, loc), loc), loc) fun a_fieldPat (label, var, loc) = A.PATRECORD {ifFlex = true, fields = [A.PATROWPAT (label, A.PATID {opPrefix = true, id = [var], loc = loc}, loc)], loc = loc} fun a_dbPat (label, witnessVar, dbiVar, loc) = A.PATAPPLY ([A.PATID {opPrefix = true, id = SQLDBConName, loc = loc}, A.PATTUPLE ([a_fieldPat (label, witnessVar, loc), A.PATID {opPrefix = true, id = [dbiVar], loc = loc}], loc)], loc) fun a_rowPat (nameVar, label, witnessVar, loc) = A.PATAPPLY ([A.PATID {opPrefix = true, id = SQLRowConName, loc = loc}, A.PATTUPLE ([A.PATID {opPrefix=true, id=[nameVar], loc=loc}, a_fieldPat (label, witnessVar, loc)], loc)], loc) fun a_caseExp (exp, pat, bodyExp, loc) = A.EXPCASE (exp, [(pat, bodyExp)], loc) fun a_appExp (funName, argExp, loc) = A.EXPAPP ([A.EXPID (funName, loc), argExp], loc) fun a_pairExp (exp1, exp2, loc) = A.EXPTUPLE ([exp1, exp2], loc) fun a_stringCon (s, loc) = A.EXPCONSTANT (A.STRING (s, loc), loc) fun a_StringDBICon (s, dbiVar, loc) = a_pairExp (a_stringCon (s, loc), A.EXPID ([dbiVar], loc), loc) fun a_tableCon (rowName, witnessVar, dbiVar, loc) = a_appExp (SQLTableConName, a_pairExp (a_StringDBICon ("\"" ^ rowName ^ "\"", dbiVar, loc), A.EXPID ([witnessVar], loc), loc), loc) fun a_columnCon (tableNameVar, columnName, witnessVar, loc) = a_appExp (SQLValueConName, a_pairExp (a_appExp (concatDotFunName, a_pairExp (A.EXPID ([tableNameVar], loc), a_stringCon ("\"" ^ columnName ^ "\"", loc), loc), loc), A.EXPID ([witnessVar], loc), loc), loc) fun join s nil = nil | join s [x] = x | join s (h::t) = h @ [s] @ join s t fun asList (nil, loc) = nil | asList ([(l, e)], loc) = [e, stringCon (" AS \"" ^ l ^ "\"", loc)] | asList ((l, e)::t, loc) = e :: stringCon (" AS \"" ^ l ^ "\", ", loc) :: asList (t, loc) fun bindsToDecls (nil, loc) = nil | bindsToDecls (binds, loc) = [P.PDVAL (emptyTvars, binds, loc)] fun substSQLexp f exp = case exp of A.EXPCONSTANT (constant,loc) => A.EXPCONSTANT (constant,loc) | A.EXPGLOBALSYMBOL (name,kind,loc) => A.EXPGLOBALSYMBOL (name,kind,loc) | A.EXPID (string,loc) => A.EXPID (string,loc) | A.EXPOPID (string,loc) => A.EXPOPID (string,loc) | A.EXPRECORD (fields,loc) => A.EXPRECORD (map (fn (l,e) => (l, substSQLexp f e)) fields, loc) | A.EXPRECORD_UPDATE (exp,fields,loc) => A.EXPRECORD_UPDATE (substSQLexp f exp, map (fn (l,e) => (l, substSQLexp f e)) fields, loc) | A.EXPRECORD_SELECTOR (string,loc) => A.EXPRECORD_SELECTOR (string,loc) | A.EXPTUPLE (expList,loc) => A.EXPTUPLE (map (substSQLexp f) expList,loc) | A.EXPLIST (expList,loc) => A.EXPLIST (map (substSQLexp f) expList,loc) | A.EXPSEQ (expList,loc) => A.EXPSEQ (map (substSQLexp f) expList,loc) | A.EXPAPP (expList,loc) => A.EXPAPP (map (substSQLexp f) expList,loc) | A.EXPTYPED (exp,ty,loc) => A.EXPTYPED (substSQLexp f exp,ty,loc) | A.EXPCONJUNCTION (exp1,exp2,loc) => A.EXPCONJUNCTION (substSQLexp f exp1, substSQLexp f exp2, loc) | A.EXPDISJUNCTION (exp1,exp2,loc) => A.EXPDISJUNCTION (substSQLexp f exp1, substSQLexp f exp2, loc) | A.EXPHANDLE (exp1, rules,loc) => A.EXPHANDLE (substSQLexp f exp1, substSQLmatches f rules, loc) | A.EXPRAISE (exp,loc) => A.EXPRAISE (substSQLexp f exp,loc) | A.EXPIF (exp1,exp2,exp3,loc) => A.EXPIF (substSQLexp f exp1, substSQLexp f exp2, substSQLexp f exp3, loc) | A.EXPWHILE (exp1,exp2,loc) => A.EXPWHILE (substSQLexp f exp1, substSQLexp f exp2, loc) | A.EXPCASE (exp1, rules, loc) => A.EXPCASE (substSQLexp f exp1, substSQLmatches f rules, loc) | A.EXPFN (rules,loc) => A.EXPFN (substSQLmatches f rules, loc) | A.EXPLET (decList,expList,loc) => A.EXPLET (map (substSQLdec f) decList, map (substSQLexp f) expList, loc) | A.EXPCAST (exp,loc) => A.EXPCAST (substSQLexp f exp, loc) | A.EXPFFIIMPORT (exp,ty,loc) => A.EXPFFIIMPORT (substSQLexp f exp,ty,loc) | A.EXPFFIEXPORT (exp,ty,loc) => A.EXPFFIEXPORT (substSQLexp f exp,ty,loc) | A.EXPFFIAPPLY (attrs,exp,args,ty,loc) => A.EXPFFIAPPLY (attrs, substSQLexp f exp, map (substSQLffiArg f) args, ty, loc) | A.EXPSQL (S.SQLFIELDSELECT (label, exp, loc), _) => f (label, substSQLexp f exp, loc) | A.EXPSQL (S.SQLSERVER (str, schema, loc), loc2) => exp | A.EXPSQL (S.SQLFN _, _) => exp | A.EXPSQL (S.SQLEXEC _, _) => exp | A.EXPSQL (S.SQLEVAL _, _) => exp and substSQLmatches f rules = map (fn (p,e) => (p, substSQLexp f e)) rules and substSQLffiArg f ffiArg = case ffiArg of A.FFIARG (exp, ty, loc) => A.FFIARG (substSQLexp f exp, ty, loc) | A.FFIARGSIZEOF (ty, expOpt, loc) => A.FFIARGSIZEOF (ty, Option.map (substSQLexp f) expOpt, loc) and substSQLdec f dec = case dec of A.DECVAL (kindedTvarList, rules, loc) => A.DECVAL (kindedTvarList, substSQLmatches f rules, loc) | A.DECREC (kindedTvarList, rules, loc) => A.DECREC (kindedTvarList, substSQLmatches f rules, loc) | A.DECFUN (kindedTvarList, rules, loc) => A.DECFUN (kindedTvarList, map (map (fn (p,t,e) => (p,t,substSQLexp f e))) rules, loc) | A.DECTYPE _ => dec | A.DECDATATYPE _ => dec | A.DECABSTYPE (datbindList, typbindList, decList, loc) => A.DECABSTYPE (datbindList, typbindList, map (substSQLdec f) decList, loc) | A.DECOPEN _ => dec | A.DECREPLICATEDAT _ => dec | A.DECEXN _ => dec | A.DECLOCAL (decList1, decList2, loc) => A.DECLOCAL (map (substSQLdec f) decList1, map (substSQLdec f) decList2, loc) | A.DECINFIX _ => dec | A.DECINFIXR _ => dec | A.DECNONFIX _ => dec fun selectTable (label, exp, loc) = a_caseExp (exp, a_dbPat (label, "_sql_w_", "_sql_i_", loc), a_tableCon (label, "_sql_w_", "_sql_i_", loc), loc) fun selectColumn (label, exp, loc) = a_caseExp (exp, a_rowPat ("_sql_n_", label, "_sql_w_", loc), a_columnCon ("_sql_n_", label, "_sql_w_", loc), loc) fun elabSQLExp_From elabExp exp = elabExp (substSQLexp selectTable exp) fun elabSQLExp elabExp exp = elabExp (substSQLexp selectColumn exp) fun elabFromList elabExp fromClause loc = let val _ = UserErrorUtils.checkNameDuplication #1 fromClause loc ElaborateErrorSQL.DuplicateSQLTuple (* * FROM e1 as x1, ..., en as xn * ==> * (decls) val (tableName_1, x_1) = * case e_1 of TABLE (t as (_,i),w) => * (t, ROW (("x_1", i), w)) * and ... * and (tableName_n, x_n) = * case e_n of TABLE (t as (_,i),w) => * (t, ROW (("x_n", i), w)) * (query) tableName_1 ^ " AS x_1, " ^ ... ^ ", " * ^ tableName_n ^ " AS x_n" *) val fromList = map (fn (id, exp) => {id = id, exp = elabSQLExp_From elabExp exp, tableNameVar = "_sql_" ^ id ^ "_tabname_"}) fromClause val fromBinds = map (fn {id, exp, tableNameVar} => (pairVarPat (tableNameVar, id, loc), caseExp (exp, tablePat ("_sql_t_", SOME "_sql_i_", "_sql_w_", loc), pairCon (P.PLVAR (["_sql_t_"], loc), rowCon (id, "_sql_i_", "_sql_w_", loc), loc), loc))) fromList val fromQuery = asList (map (fn {id, tableNameVar, ...} => (id, P.PLVAR ([tableNameVar], loc))) fromList, loc) in (bindsToDecls (fromBinds, loc), fromQuery) end fun elabFromClause elabExp fromClause loc = let val (fromDecls, fromQuery) = elabFromList elabExp fromClause loc val fromQuery = case fromQuery of nil => fromQuery | _::_ => stringCon (" FROM ", loc) :: fromQuery in (fromDecls, fromQuery) end fun elabWhereClause elabExp NONE loc = (nil, nil) | elabWhereClause elabExp (SOME exp) loc = let (* * WHERE exp * ==> * (decls) val VALUE (_sql_where_, _ : bool) = exp * (query) " WHERE " ^ _sql_where_ *) val whereVar = "_sql_where_" val wherebinds = [(valuePat (whereVar, NONE, SOME (boolOptionTy loc), loc), elabSQLExp elabExp exp)] val whereQuery = [stringCon (" WHERE ", loc), P.PLVAR ([whereVar], loc)] in (bindsToDecls (wherebinds, loc), whereQuery) end fun elabSelectList elabExp dbiVar selectLabels selectListExps selectName loc = let val _ = UserErrorUtils.checkNameDuplication (fn x => x) selectLabels loc ElaborateErrorSQL.DuplicateSQLSelectLabel (* * SELECT e_1 as l_1, ..., e_n as l_n into r * ==> * (decls) val VALUE (q_1, w_1) = e_1 * and ... * and VALUE (q_n, w_n) = e_n * val w = {l_1 = w_1, ..., l_n = w_n} * val r = ROW (("", dbi), w) * query r = {{l_1 = w_1, ..., l_n = w_n}} * (witness) {l_1 = w_1, ..., l_n = w_n} * (query) "SELECT " ^ q_1 ^ " AS l_1, " ^ ... ^ ", " * ^ q_n ^ " AS l_n" * (ret) {l_1 = fromSQL(##l_1 r), ..., l_n = fromSQL(##l_n r)} *) val selectList = ListPair.map (fn (label, exp) => {exp = elabSQLExp elabExp exp, label = label, queryVar = "_sql_select_" ^ label ^ "_", witnessVar = "_sql_select_" ^ label ^ "_witness_"}) (selectLabels, selectListExps) val selectBinds = map (fn {exp, label, queryVar, witnessVar} => (valuePat (queryVar, SOME witnessVar, NONE, loc), exp)) selectList val selectResult = map (fn {label, witnessVar, ...} => (label, P.PLVAR ([witnessVar], loc))) selectList val resultWitnessVar = "_sql_witness_" val resultWitnessExp = P.PLVAR ([resultWitnessVar], loc) val queryResultVar = "_sql_result_" val queryResultExp = P.PLVAR ([queryResultVar], loc) val resultWitnessBinds = [(P.PLPATID ([resultWitnessVar], loc), P.PLRECORD (selectResult, loc))] val resultRowBinds = case selectName of NONE => nil | SOME var => [(P.PLPATID ([var], loc), rowCon ("", dbiVar, resultWitnessVar, loc))] val selectReturnFields = mapi (fn (i, {label, ...}) => (label, appExp (fromSQLFunName, P.PLRECORD (listToTuple [intCon (i, loc), queryResultExp, P.PLSELECT (label, resultWitnessExp, loc)], loc), loc))) selectList val selectReturnExp = P.PLRECORD (selectReturnFields, loc) val selectQuery = stringDBICon ("SELECT ", dbiVar, loc) :: asList (map (fn {queryVar, label, ...} => (label, P.PLVAR ([queryVar], loc))) selectList, loc) val selectDecls = bindsToDecls (selectBinds, loc) @ bindsToDecls (resultWitnessBinds, loc) @ bindsToDecls (resultRowBinds, loc) in {selectDecls = selectDecls, selectQuery = selectQuery, queryResultVar = queryResultVar, resultWitnessExp = resultWitnessExp, selectReturnExp = selectReturnExp} end fun elabOrderByClause elabExp orderByClause loc = let (* * ORDER BY exp_1, ..., exp_n * ==> * (decls) val VALUE (q_1, _) = exp_1 * and ... * and VALUE (q_n, _) = exp_n * (query) " ORDER BY " ^ q_1 ^ ", " ^ ... ^ ", " ^ q_n *) val orderByList = mapi (fn (i, {keyExp, orderAsc}) => {exp = elabSQLExp elabExp keyExp, order = if orderAsc then " ASC" else " DESC", queryVar = "_sql_orderby_" ^ Int.toString i ^ "_"}) orderByClause val orderByBinds = map (fn {exp, order, queryVar} => (valuePat (queryVar, NONE, NONE, loc), exp)) orderByList val orderByQuery = join (stringCon (", ", loc)) (map (fn {order, queryVar, ...} => [P.PLVAR ([queryVar], loc), stringCon (order, loc)]) orderByList) val orderByQuery = case orderByQuery of nil => orderByQuery | _::_ => stringCon (" ORDER BY ", loc) :: orderByQuery in (bindsToDecls (orderByBinds, loc), orderByQuery) end fun elaborateCommand elabExp dbiVar sql = case sql of S.SQLSELECT {selectListExps, selectLabels, selectName, fromClause, whereClause, orderByClause, loc} => let val _ = UserErrorUtils.checkNameDuplication (fn x => x) ((case selectName of SOME x => [x] | NONE => []) @ map #1 fromClause) loc ElaborateErrorSQL.DuplicateSQLTuple val selectRecordLabels = case selectLabels of SOME labels => labels | NONE => List.tabulate (length selectListExps, fn x => Int.toString (x + 1)) val {selectDecls, selectQuery, queryResultVar, resultWitnessExp, selectReturnExp} = elabSelectList elabExp dbiVar selectRecordLabels selectListExps selectName loc val (fromDecls, fromQuery) = elabFromClause elabExp fromClause loc val (whereDecls, whereQuery) = elabWhereClause elabExp whereClause loc val (orderByDecls, orderByQuery) = elabOrderByClause elabExp orderByClause loc in P.PLLET (fromDecls @ whereDecls @ selectDecls @ orderByDecls, [queryCon (queryResultVar, selectReturnExp, resultWitnessExp, selectQuery @ fromQuery @ whereQuery @ orderByQuery, loc)], loc) end | S.SQLINSERT {table=(dbVar, tableLabel), insertRows, insertLabels, loc} => let val _ = UserErrorUtils.checkNameDuplication (fn x => x) insertLabels loc ElaborateErrorSQL.DuplicateSQLInsertLabel (* * INSERT INTO #db.t (l_1, ..., l_n) VALUES (e_1, ..., e_n) * ==> * (decls) val TABLE (_tabname_, _tab_witness_) = * case db of DB ({t=w,...},i) => TABLE ((t,i),w) * val VALUE (q_1, w_1) = e_1 * and ... * and VALUE (q_n, w_n) = e_n * val witness = [_tab_witness_, {l_1 = w_1, ..., l_n = w_n}] * (query) "INSERT INTO " ^ _tabname_ ^ " (l_1, " ^ ... ^ ", l_n)" * ^ " VALUES (" ^ q_1 ^ ", " ^ ... ^ ", " ^ q_n ^ ")" *) val tableNameVar = "_sql_insert_tabname_" val tableWitnessVar = "_sql_insert_witness_" val tableNameExp = P.PLVAR ([tableNameVar], loc) val tableWitnessExp = P.PLVAR ([tableWitnessVar], loc) val tableExp = elabExp (selectTable (tableLabel, A.EXPID ([dbVar], loc), loc)) val tableBinds = [(tablePat (tableNameVar, NONE, tableWitnessVar, loc), tableExp)] val insertLists = mapi (fn (rowIndex, row) => let val index = Int.toString rowIndex in ListPair.mapEq (fn (label, exp) => {label = label, exp = case exp of SOME exp => elabSQLExp elabExp exp | NONE => appExp (defaultFunName, unitCon loc, loc), queryVar = "_sql_insert_" ^ label ^ "_" ^ index ^ "_", witnessVar = "_sql_insert_" ^ label ^ "_" ^ index ^ "_witness_"}) (insertLabels, row) handle ListPair.UnequalLengths => (UserErrorUtils.enqueueError (loc, ElaborateErrorSQL.NumberOfSQLInsertLabel); nil) end) insertRows val insertBinds = List.concat (map (map (fn {label, exp, queryVar, witnessVar} => (valuePat (queryVar, SOME witnessVar, NONE, loc), exp))) insertLists) val rowWitnessExps = map (fn row => P.PLRECORD (map (fn {label, witnessVar, ...} => (label, P.PLVAR ([witnessVar], loc))) row, loc)) insertLists val witnessExp = makeList (tableWitnessExp :: rowWitnessExps, loc) val witnessBinds = [(P.PLPATWILD loc, witnessExp)] val join = join (stringCon (", ", loc)) val insertQuery = stringDBICon ("INSERT INTO ", dbiVar, loc) :: tableNameExp :: stringCon (" (", loc) :: join (map (fn label => [stringCon (label, loc)]) insertLabels) @ (stringCon (") VALUES ", loc) :: join (map (fn row => stringCon ("(", loc) :: join (map (fn {queryVar, ...} => [P.PLVAR ([queryVar], loc)]) row) @ [stringCon (")", loc)]) insertLists)) in P.PLLET (bindsToDecls (tableBinds, loc) @ bindsToDecls (insertBinds, loc) @ bindsToDecls (witnessBinds, loc), [commandCon (insertQuery, loc)], loc) end | S.SQLUPDATE {table=(dbVar, tableLabel), tableName, setListExps, setLabels, fromClause, whereClause, loc} => let val _ = UserErrorUtils.checkNameDuplication (fn x => x) setLabels loc ElaborateErrorSQL.DuplicateSQLSetLabel (* * UPDATE #db.t AS x SET (l_1, ..., l_n) = (e_1, ..., e_n) * ==> * (decls) val TABLE (_tabname_ as (_,_dbi_), _tab_witness_) = * case db of DB ({t=w,...},i) => TABLE ((t,i),w) * val x = ROW (("x", _dbi_), _tab_witness_) * val VALUE (q_1, w_1) = e_1 * and ... * and VALUE (q_n, w_n) = e_n * val witness = [_tab_witness_, {l_1 = w_1, ..., l_n = w_n}] * (query) "UPDATE " ^ _tabname_ ^ " AS x " * ^ "SET (l_1, " ^ ... ^ ", l_n)" ^ " = " ^ * ^ "(" ^ q_1 ^ ", " ^ ... ^ ", " ^ q_n ^ ")" *) val tableNameVar = "_sql_update_tabname_" val tableWitnessVar = "_sql_update_witness_" val tableDBIVar = "_sql_update_dbi_" val tableNameExp = P.PLVAR ([tableNameVar], loc) val tableWitnessExp = P.PLVAR ([tableWitnessVar], loc) val tableName = case tableName of NONE => "it" | SOME x => x val tableExp = elabExp (selectTable (tableLabel, A.EXPID ([dbVar], loc), loc)) val tableBinds = [(tablePat (tableNameVar, SOME tableDBIVar, tableWitnessVar, loc), tableExp)] val rowBinds = [(P.PLPATID ([tableName], loc), rowCon (tableName, tableDBIVar, tableWitnessVar, loc))] val tableDecls = bindsToDecls (tableBinds, loc) @ bindsToDecls (rowBinds, loc) val setList = ListPair.mapEq (fn (label, exp) => {label = label, exp = elabSQLExp elabExp exp, queryVar = "_sql_update_" ^ label ^ "_", witnessVar = "_sql_update_" ^ label ^ "_witness_"}) (setLabels, setListExps) handle ListPair.UnequalLengths => (UserErrorUtils.enqueueError (loc, ElaborateErrorSQL.NumberOfSQLSetLabel); nil) val setBinds = map (fn {label, exp, queryVar, witnessVar} => (valuePat (queryVar, SOME witnessVar, NONE, loc), exp)) setList val setWitnessExp = P.PLRECORD (map (fn {label, witnessVar, ...} => (label, P.PLVAR ([witnessVar], loc))) setList, loc) val witnessExp = P.PLRECORD_UPDATE (tableWitnessExp, map (fn {label, witnessVar, ...} => (label, P.PLVAR ([witnessVar], loc))) setList, loc) val witnessBinds = [(P.PLPATWILD loc, witnessExp)] val (fromDecls, fromQuery) = elabFromClause elabExp fromClause loc val (whereDecls, whereQuery) = elabWhereClause elabExp whereClause loc val join = join (stringCon (", ", loc)) val updateQuery = stringDBICon ("UPDATE ", dbiVar, loc) :: tableNameExp :: stringCon (" AS \"" ^ tableName ^ "\" SET (" , loc) :: join (map (fn label => [stringCon (label, loc)]) setLabels) @ (stringCon (") = (", loc) :: join (map (fn {queryVar, ...} => [P.PLVAR ([queryVar], loc)]) setList) @ [stringCon (")", loc)]) @ fromQuery @ whereQuery in P.PLLET (tableDecls @ fromDecls @ whereDecls @ bindsToDecls (setBinds, loc) @ bindsToDecls (witnessBinds, loc), [commandCon (updateQuery, loc)], loc) end | S.SQLDELETE {table=(dbVar, tableLabel), tableName, whereClause, loc} => let (* * DELETE FROM #db.t AS x * ==> * (decls) val (_tabname_, x) = * case #db.t of TABLE (t as (_,i),w) => * (t, ROW (("x", i), w)) * (query) "DELETE FROM " ^ _tabname_ ^ " AS x" *) val tableNameVar = "_sql_delete_tabname_" val tableWitnessVar = "_sql_delete_witness_" val tableNameExp = P.PLVAR ([tableNameVar], loc) val tableWitnessExp = P.PLVAR ([tableWitnessVar], loc) val tableName = case tableName of NONE => "it" | SOME x => x val tableExp = selectTable (tableLabel, A.EXPID ([dbVar], loc), loc) val (fromDecls, fromQuery) = elabFromClause elabExp [(tableName, tableExp)] loc val (whereDecls, whereQuery) = elabWhereClause elabExp whereClause loc in P.PLLET (fromDecls @ whereDecls, [commandCon (stringDBICon ("DELETE", dbiVar, loc) :: fromQuery @ whereQuery, loc)], loc) end | S.SQLBEGIN loc => commandCon ([stringDBICon ("BEGIN", dbiVar, loc)], loc) | S.SQLCOMMIT loc => commandCon ([stringDBICon ("COMMIT", dbiVar, loc)], loc) | S.SQLROLLBACK loc => commandCon ([stringDBICon ("ROLLBACK", dbiVar, loc)], loc) fun elaborateExp {elabExp, elabPat} (sqlexp : (A.exp,A.pat,A.ty) S.exp) = case sqlexp of S.SQLFIELDSELECT (label, exp, loc) => elabExp (selectColumn (label, exp, loc)) | S.SQLFN (pat, sql, loc) => let val dbiVar = "_sqlfn_dbi_" in P.PLFNM ([([P.PLPATLAYERED (dbiVar, NONE, elabPat pat, loc)], caseExp (P.PLVAR ([dbiVar], loc), P.PLPATCONSTRUCT (P.PLPATID (SQLDBConName, loc), pairPat (P.PLPATWILD loc, P.PLPATID ([dbiVar], loc), loc), loc), elaborateCommand elabExp dbiVar sql, loc))], loc) end | S.SQLEXEC (exp, loc) => let val dbiVar = ["_sqlexec_dbi_"] in P.PLSQLDBI (P.PLPATID (dbiVar, loc), appExp (execFunName, pairCon (P.PLVAR (dbiVar, loc), elabExp exp, loc), loc), loc) end | S.SQLEVAL (exp, loc) => let val dbiVar = ["_sqlexec_dbi_"] in P.PLSQLDBI (P.PLPATID (dbiVar, loc), appExp (evalFunName, pairCon (P.PLVAR (dbiVar, loc), elabExp exp, loc), loc), loc) end | S.SQLSERVER (str, schema, loc) => P.PLSQLSERVER (str, schema, loc) end smlsharp-1.2.0/src/compiler/elaborate/main/ELABORATOR.sig0000755 000000000000000000000132012050661606023123 0ustar00rootroot0000000 0000000 (** * Elaborator. *

* In this pahse, we do the following: *

    *
  1. infix elaboration
  2. *
  3. expand derived form (incomplete; revise later)
  4. *
* @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori * @author Liu Bochao * @version $Id: ELABORATOR.sig,v 1.16 2008/08/06 17:23:39 ohori Exp $ *) signature ELABORATOR = sig type fixEnv val extendFixEnv : fixEnv * fixEnv -> fixEnv val elaborate : fixEnv -> AbsynInterface.compileUnit -> fixEnv * PatternCalcInterface.compileUnit * UserError.errorInfo list val elaborateRequire : AbsynInterface.compileUnit -> fixEnv * PatternCalcInterface.compileUnit * UserError.errorInfo list end smlsharp-1.2.0/src/compiler/elaborate/main/Elaborator.smi0000644 000000000000000000000165012050661606023574 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../absyn/main/AbsynInterface.ppg.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../absyn/main/Fixity.smi" _require "../../patterncalc/main/PatternCalcInterface.ppg.smi" _require "../../patterncalc/main/PatternCalc.ppg.smi" _require "../../usererror/main/UserError.ppg.smi" _require "ELABORATOR.sig" _require "ElaborateInterface.smi" _require "ElaborateModule.smi" _require "ElaboratorUtils.smi" _require "UserTvarScope.smi" structure Elaborator = struct type fixEnv = Fixity.fixity SEnv.map val extendFixEnv : fixEnv * fixEnv -> fixEnv val elaborate : fixEnv -> AbsynInterface.compileUnit -> fixEnv * PatternCalcInterface.compileUnit * UserError.errorInfo list val elaborateRequire : AbsynInterface.compileUnit -> fixEnv * PatternCalcInterface.compileUnit * UserError.errorInfo list end smlsharp-1.2.0/src/compiler/elaborate/main/Elaborator.sml0000755 000000000000000000000330312050661606023577 0ustar00rootroot0000000 0000000 (* * Elaborator. * * @copyright (c) 2006, Tohoku University. * @author YAMATODANI Kiyoshi * @author Atsushi Ohori * @author Liu Bochao * @version $Id: Elaborator.sml,v 1.105.6.8 2010/02/10 05:17:29 hiro-en Exp $ *) structure Elaborator : ELABORATOR = struct type fixEnv = Fixity.fixity SEnv.map fun extendFixEnv (env1:fixEnv, env2:fixEnv) : fixEnv = SEnv.unionWith #2 (env1, env2) fun elaborateCompileUnit fixEnv {interface, topdecs} = let val _ = ElaboratorUtils.initializeErrorQueue () val ({requireFixEnv, provideFixEnv}, interface) = ElaborateInterface.elaborate interface val fixEnv = extendFixEnv (fixEnv, requireFixEnv) val (ptopdecls, topdecFixEnv) = ElaborateModule.elabTopDecs fixEnv topdecs val ptopdecls = UserTvarScope.decide ptopdecls val plunit = {interface = interface, topdecs = ptopdecls} in case ElaboratorUtils.getErrors () of nil => (requireFixEnv, provideFixEnv, topdecFixEnv, plunit, ElaboratorUtils.getWarnings ()) | _::_ => raise UserError.UserErrors (ElaboratorUtils.getErrorsAndWarnings ()) end fun elaborate fixEnv abunit = let val (requireFixEnv, provideFixEnv, topdecFixEnv, plunit, warnings) = elaborateCompileUnit fixEnv abunit in (topdecFixEnv, plunit, warnings) (* (provideFixEnv, plunit, warnings) *) end fun elaborateRequire abunit = let val (requireFixEnv, provideFixEnv, topdecFixEnv, plunit, warnings) = elaborateCompileUnit SEnv.empty abunit in (extendFixEnv (requireFixEnv, topdecFixEnv), plunit, warnings) end end smlsharp-1.2.0/src/compiler/elaborate/main/ElaboratorUtils.smi0000644 000000000000000000000105412050661606024613 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../control/main/Loc.ppg.smi" _require "../../usererror/main/UserError.ppg.smi" _require "ElaborateError.ppg.smi" structure ElaboratorUtils = struct val initializeErrorQueue : unit -> unit val getErrorsAndWarnings : unit -> UserError.errorInfo list val getErrors : unit -> UserError.errorInfo list val getWarnings : unit -> UserError.errorInfo list val enqueueError : Loc.loc * exn -> unit val enqueueWarning : Loc.loc * exn -> unit val elabInfixPrec : string * Loc.loc -> int end smlsharp-1.2.0/src/compiler/elaborate/main/ElaboratorUtils.sml0000644 000000000000000000000325312050661606024621 0ustar00rootroot0000000 0000000 structure ElaboratorUtils : sig val initializeErrorQueue : unit -> unit val getErrorsAndWarnings : unit -> UserError.errorInfo list val getErrors : unit -> UserError.errorInfo list val getWarnings : unit -> UserError.errorInfo list val enqueueError : Loc.loc * exn -> unit val enqueueWarning : Loc.loc * exn -> unit val elabInfixPrec : string * Loc.loc -> int (* val checkNameDuplication' : ('a -> string option) -> 'a list -> Loc.loc -> (string -> exn) -> unit val checkNameDuplication : ('a -> string) -> 'a list -> Loc.loc -> (string -> exn) -> unit val listToTuple : 'a list -> (string * 'a) list *) end = struct local val errorQueue = UserError.createQueue () in fun initializeErrorQueue () = UserError.clearQueue errorQueue fun getErrorsAndWarnings () = UserError.getErrorsAndWarnings errorQueue fun getErrors () = UserError.getErrors errorQueue fun getWarnings () = UserError.getWarnings errorQueue val enqueueError = UserError.enqueueError errorQueue val enqueueWarning = UserError.enqueueWarning errorQueue end fun elabInfixPrec (src, loc) = case src of "0" => 0 | "1" => 1 | "2" => 2 | "3" => 3 | "4" => 4 | "5" => 5 | "6" => 6 | "7" => 7 | "8" => 8 | "9" => 9 | _ => (enqueueError (loc, ElaborateError.InvalidFixityPrecedence); case Int.fromString src of SOME x => x | NONE => 0) end smlsharp-1.2.0/src/compiler/elaborate/main/UserTvarScope.smi0000644 000000000000000000000162012050661606024244 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../control/main/Loc.ppg.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../patterncalc/main/PatternCalc.ppg.smi" _require "../../usererror/main/UserErrorUtils.smi" _require "../../util/main/ListSorter.smi" _require "ElaborateError.ppg.smi" structure UserTvarScope = struct val decide : PatternCalc.pltopdec list -> PatternCalc.pltopdec list val decideSigexp : PatternCalc.plsigexp -> PatternCalc.plsigexp val decideSpec : PatternCalc.plspec -> PatternCalc.plspec type tvset (= boxed) val ftv : Absyn.ty -> tvset val empty : tvset val singleton : Absyn.tvar * Loc.loc -> tvset val member : tvset * Absyn.tvar -> bool val union : tvset * tvset -> tvset val tyvarsList : ('a -> tvset) -> 'a list -> tvset val toTvarList : tvset -> Absyn.kindedTvar list end smlsharp-1.2.0/src/compiler/elaborate/main/UserTvarScope.sml0000644 000000000000000000004323612050661606024260 0ustar00rootroot0000000 0000000 (** * determine the scope of user type variables. * @copyright (c) 2010, Tohoku University. * @author UENO Katsuhiro *) structure UserTvarScope :> sig val decide : PatternCalc.pltopdec list -> PatternCalc.pltopdec list val decideSigexp : PatternCalc.plsigexp -> PatternCalc.plsigexp val decideSpec : PatternCalc.plspec -> PatternCalc.plspec (* an ordered set of user type varaibles *) type tvset val ftv : Absyn.ty -> tvset (* free type vars with occurrence order *) val empty : tvset val singleton : Absyn.tvar * Loc.loc -> tvset val member : tvset * Absyn.tvar -> bool val union : tvset * tvset -> tvset (* left one is smaller than right one *) val tyvarsList : ('a -> tvset) -> 'a list -> tvset val toTvarList : tvset -> Absyn.kindedTvar list end = struct structure A = Absyn structure P = PatternCalc structure E = ElaborateError type tvset = (A.tvar * Loc.loc) list type btvEnv = (A.eq * A.tvarKind) SEnv.map val empty = nil : tvset val emptyEnv = SEnv.empty : btvEnv fun member (set:tvset, {name, eq}:A.tvar) = List.exists (fn ({name=k,eq},_) => k = name) set fun singleton (tvar:A.tvar, loc) = [(tvar, loc)] : tvset fun checkEqkind (tvar as {name, eq}:A.tvar, eq2, loc) = if eq = eq2 then () else UserErrorUtils.enqueueError (loc, E.DifferentEqkindOfSameTvar {tvar = tvar}) fun union (tvs1:tvset, tvs2:tvset) = foldr (fn (elem as (tv, loc), tvs:tvset) => case List.find (fn ({name=k,...},_) => k = #name tv) tvs1 of NONE => elem::tvs | SOME ({eq,...}, _) => (checkEqkind (tv, eq, loc); tvs)) tvs1 tvs2 fun toTvarList (tvset:tvset) = map (fn (tv, _) => (tv, A.UNIV)) (rev tvset) fun toBtvEnv (kindedTvars:A.kindedTvar list, loc) = foldl (fn ((tvar as {name, eq}, kind), btvEnv) => (if SEnv.inDomain (btvEnv, name) then UserErrorUtils.enqueueError (loc, E.DuplicateUserTvar {tvar = tvar}) else (); SEnv.insert (btvEnv, name, (eq, kind)))) SEnv.empty kindedTvars : btvEnv fun bindKindedTvars btvEnv loc kindedTvars = SEnv.unionWith #2 (btvEnv, toBtvEnv (kindedTvars, loc)) fun bindTvars btvEnv loc tvars = bindKindedTvars btvEnv loc (map (fn tv => (tv, A.UNIV)) tvars) fun extend (btvEnv:btvEnv, tvset:tvset) = foldl (fn (({name,eq}, _), btvEnv) => SEnv.insert (btvEnv, name, (eq, A.UNIV))) btvEnv tvset fun sortTyrows rows = ListSorter.sort (fn ((k1, _), (k2, _)) => String.compare (k1, k2)) rows fun tyvarsOpt f (SOME x) = f x | tyvarsOpt f NONE = empty fun tyvarsList f l = foldl (fn (x, z) => union (z, f x)) empty l fun tyvarsTvar btvEnv (tv as {name,...}, loc) = case SEnv.find (btvEnv, name) of NONE => singleton (tv, loc) | SOME (eq, kind) => (checkEqkind (tv, eq, loc); empty) fun tyvarsTy btvEnv ty = case ty of A.TYWILD _ => empty | A.TYID tv => tyvarsTvar btvEnv tv | A.TYRECORD (rows, loc) => (* sort rows in order to make the "occurrence order" unique *) tyvarsList (fn (k,t) => tyvarsTy btvEnv t) (sortTyrows rows) | A.TYCONSTRUCT (tys, tycon, loc) => tyvarsList (tyvarsTy btvEnv) tys | A.TYTUPLE (tys, loc) => tyvarsList (tyvarsTy btvEnv) tys | A.TYFUN (ty1, ty2, loc) => union (tyvarsTy btvEnv ty1, tyvarsTy btvEnv ty2) | A.TYPOLY (kindedTvars, ty, loc) => let val btvEnv = bindKindedTvars btvEnv loc kindedTvars in union (tyvarsList (tyvarsKindedTvar btvEnv) kindedTvars, tyvarsTy btvEnv ty) end and tyvarsKindedTvar btvEnv ((_,kind):A.kindedTvar) = tyvarsTvarKind btvEnv kind and tyvarsTvarKind btvEnv kind = case kind of A.UNIV => empty | A.REC (rows, loc) => (* sort rows in order to make the "occurrence order" unique *) tyvarsList (fn (k,t) => tyvarsTy btvEnv t) (sortTyrows rows) and tyvarsFFIty btvEnv ty = case ty of P.FFIFUNTY (attr, argTys, retTys, loc) => union (tyvarsList (tyvarsFFIty btvEnv) argTys, tyvarsList (tyvarsFFIty btvEnv) retTys) | P.FFITYVAR tv => tyvarsTvar btvEnv tv | P.FFIRECORDTY (rows, loc) => (* sort rows in order to make the "occurrence order" unique *) tyvarsList (fn (k,t) => tyvarsFFIty btvEnv t) (sortTyrows rows) | P.FFICONTY (tys, tycon, loc) => tyvarsList (tyvarsFFIty btvEnv) tys fun tyvarsTypbind btvEnv loc (tvars, tycon:string, ty) = tyvarsTy (bindTvars btvEnv loc tvars) ty fun tyvarsConbind btvEnv ({vid, ty}:P.conbind) = tyvarsOpt (tyvarsTy btvEnv) ty fun tyvarsDatbind btvEnv loc ({tyvars, tycon, conbind}:P.datbind) = tyvarsList (tyvarsConbind (bindTvars btvEnv loc tyvars)) conbind fun tyvarsExbind btvEnv exbind = case exbind of P.PLEXBINDDEF (exid, ty, loc) => tyvarsOpt (tyvarsTy btvEnv) ty | P.PLEXBINDREP _ => empty fun tyvarsPat btvEnv pat = case pat of P.PLPATWILD loc => empty | P.PLPATID _ => empty | P.PLPATCONSTANT _ => empty | P.PLPATCONSTRUCT (pat1, pat2, loc) => union (tyvarsPat btvEnv pat1, tyvarsPat btvEnv pat2) | P.PLPATRECORD (flex, rows, loc) => (* we don't sort rows here *) tyvarsList (fn (k,p) => tyvarsPat btvEnv p) rows | P.PLPATLAYERED (vid, ty, pat, loc) => union (tyvarsOpt (tyvarsTy btvEnv) ty, tyvarsPat btvEnv pat) | P.PLPATTYPED (pat, ty, loc) => union (tyvarsPat btvEnv pat, tyvarsTy btvEnv ty) fun tyvarsMatch btvEnv (pats, exp) = union (tyvarsList (tyvarsPat btvEnv) pats, tyvarsExp btvEnv exp) and tyvarsBind btvEnv (pat, exp) = union (tyvarsPat btvEnv pat, tyvarsExp btvEnv exp) and tyvarsRow btvEnv (label:string, exp) = tyvarsExp btvEnv exp and tyvarsExp btvEnv exp = case exp of P.PLCONSTANT _ => empty | P.PLGLOBALSYMBOL _ => empty | P.PLVAR _ => empty | P.PLTYPED (exp, ty, loc) => union (tyvarsExp btvEnv exp, tyvarsTy btvEnv ty) | P.PLAPPM (exp, exps, loc) => union (tyvarsExp btvEnv exp, tyvarsList (tyvarsExp btvEnv) exps) | P.PLLET (decls, exps, loc) => union (tyvarsList (tyvarsDecl btvEnv) decls, tyvarsList (tyvarsExp btvEnv) exps) | P.PLRECORD (rows, loc) => (* we don't sort rows here *) tyvarsList (tyvarsRow btvEnv) rows | P.PLRECORD_UPDATE (exp, rows, loc) => (* we don't sort rows here *) union (tyvarsExp btvEnv exp, tyvarsList (tyvarsRow btvEnv) rows) (* | P.PLLIST (exps, loc) => tyvarsList (tyvarsExp btvEnv) exps *) | P.PLRAISE (exp, loc) => tyvarsExp btvEnv exp | P.PLHANDLE (exp, matches, loc) => union (tyvarsExp btvEnv exp, tyvarsList (tyvarsBind btvEnv) matches) | P.PLFNM (matches, loc) => tyvarsList (tyvarsMatch btvEnv) matches | P.PLCASEM (exps, matches, caseKind, loc) => union (tyvarsList (tyvarsExp btvEnv) exps, tyvarsList (tyvarsMatch btvEnv) matches) | P.PLRECORD_SELECTOR _ => empty | P.PLSELECT (label, exp, loc) => tyvarsExp btvEnv exp | P.PLSEQ (exps, loc) => tyvarsList (tyvarsExp btvEnv) exps | P.PLCAST (exp, loc) => tyvarsExp btvEnv exp | P.PLFFIIMPORT (exp, ffiTy, loc) => union (tyvarsExp btvEnv exp, tyvarsFFIty btvEnv ffiTy) | P.PLFFIEXPORT (exp, ffiTy, loc) => union (tyvarsExp btvEnv exp, tyvarsFFIty btvEnv ffiTy) | P.PLFFIAPPLY (attr, exp, args, ffiTy, loc) => union (union (tyvarsExp btvEnv exp, tyvarsList (tyvarsFFIArg btvEnv) args), tyvarsFFIty btvEnv ffiTy) | P.PLSQLSERVER (rows, ty, loc) => tyvarsTy btvEnv ty | P.PLSQLDBI (pat, exp, loc) => union (tyvarsPat btvEnv pat, tyvarsExp btvEnv exp) and tyvarsFFIArg btvEnv ffiarg = case ffiarg of P.PLFFIARG (exp, ffiTy, loc) => union (tyvarsExp btvEnv exp, tyvarsFFIty btvEnv ffiTy) | P.PLFFIARGSIZEOF (ty, exp, loc) => union (tyvarsTy btvEnv ty, tyvarsOpt (tyvarsExp btvEnv) exp) and tyvarsFvalbind btvEnv (pat, fvalclauses) = union (tyvarsPat btvEnv pat, tyvarsList (tyvarsMatch btvEnv) fvalclauses) and tyvarsDecl btvEnv decl = case decl of P.PDVAL _ => empty (* guard point *) | P.PDVALREC _ => empty (* guard point *) | P.PDDECFUN _ => empty (* guard point *) (* | P.PDNONRECFUN _ => empty (* guard point *) *) | P.PDTYPE (typbinds, loc) => tyvarsList (tyvarsTypbind btvEnv loc) typbinds | P.PDDATATYPE (datbinds, loc) => tyvarsList (tyvarsDatbind btvEnv loc) datbinds | P.PDREPLICATEDAT _ => empty | P.PDABSTYPE (datbinds, decls, loc) => union (tyvarsList (tyvarsDatbind btvEnv loc) datbinds, tyvarsList (tyvarsDecl btvEnv) decls) | P.PDEXD (exbinds, loc) => tyvarsList (tyvarsExbind btvEnv) exbinds | P.PDLOCALDEC (decls1, decls2, loc) => union (tyvarsList (tyvarsDecl btvEnv) decls1, tyvarsList (tyvarsDecl btvEnv) decls2) | P.PDOPEN _ => empty | P.PDINFIXDEC _ => empty | P.PDINFIXRDEC _ => empty | P.PDNONFIXDEC _ => empty | P.PDEMPTY => empty fun tyvarsMatchList btvEnv matches = tyvarsList (tyvarsMatch btvEnv) matches fun tyvarsValbindList btvEnv valbinds = tyvarsList (tyvarsBind btvEnv) valbinds fun tyvarsFvalbind btvEnv (pat, fvalclauses) = union (tyvarsPat btvEnv pat, tyvarsList (tyvarsMatch btvEnv) fvalclauses) fun tyvarsFvalbindList btvEnv fvalbinds = tyvarsList (tyvarsFvalbind btvEnv) fvalbinds fun decideScope tyvarsFn btvEnv (explicitScope, x, loc) = let val _ = app (fn (tvar as {name,...}, _) => if SEnv.inDomain (btvEnv, name) then UserErrorUtils.enqueueError (loc, E.UserTvarScopedAtOuterDecl {tvar = tvar}) else ()) explicitScope val btvEnv = bindKindedTvars btvEnv loc explicitScope val unguarded1 = tyvarsList (tyvarsKindedTvar btvEnv) explicitScope val unguarded2 = tyvarsFn btvEnv x val unguarded = union (unguarded1, unguarded2) val scoped = explicitScope @ toTvarList unguarded val btvEnv = extend (btvEnv, unguarded) in (btvEnv, scoped) end fun decideRow btvEnv (label:string, exp) = (label, decideExp btvEnv exp) and decideBind btvEnv (pat:P.plpat, exp) = (pat, decideExp btvEnv exp) and decideMatch btvEnv (pat:P.plpat list, exp) = (pat, decideExp btvEnv exp) and decideExp btvEnv exp = case exp of P.PLCONSTANT _ => exp | P.PLGLOBALSYMBOL _ => exp | P.PLVAR _ => exp | P.PLTYPED (exp, ty, loc) => P.PLTYPED (decideExp btvEnv exp, ty, loc) | P.PLAPPM (exp, exps, loc) => P.PLAPPM (decideExp btvEnv exp, map (decideExp btvEnv) exps, loc) | P.PLLET (decls, exps, loc) => P.PLLET (map (decideDecl btvEnv) decls, map (decideExp btvEnv) exps, loc) | P.PLRECORD (rows, loc) => P.PLRECORD (map (decideRow btvEnv) rows, loc) | P.PLRECORD_UPDATE (exp, rows, loc) => P.PLRECORD_UPDATE (decideExp btvEnv exp, map (decideRow btvEnv) rows, loc) (* | P.PLLIST (exps, loc) => P.PLLIST (map (decideExp btvEnv) exps, loc) *) | P.PLRAISE (exp, loc) => P.PLRAISE (decideExp btvEnv exp, loc) | P.PLHANDLE (exp, matches, loc) => P.PLHANDLE (decideExp btvEnv exp, map (decideBind btvEnv) matches, loc) | P.PLFNM (matches, loc) => P.PLFNM (map (decideMatch btvEnv) matches, loc) | P.PLCASEM (exps, matches, caseKind, loc) => P.PLCASEM (map (decideExp btvEnv) exps, map (decideMatch btvEnv) matches, caseKind, loc) | P.PLRECORD_SELECTOR _ => exp | P.PLSELECT (label, exp, loc) => P.PLSELECT (label, decideExp btvEnv exp, loc) | P.PLSEQ (exps, loc) => P.PLSEQ (map (decideExp btvEnv) exps, loc) | P.PLCAST (exp, loc) => P.PLCAST (decideExp btvEnv exp, loc) | P.PLFFIIMPORT (exp, ffiTy, loc) => P.PLFFIIMPORT (decideExp btvEnv exp, ffiTy, loc) | P.PLFFIEXPORT (exp, ffiTy, loc) => P.PLFFIEXPORT (decideExp btvEnv exp, ffiTy, loc) | P.PLFFIAPPLY (attr, exp, args, ffiTy, loc) => P.PLFFIAPPLY (attr, decideExp btvEnv exp, map (decideFFIArg btvEnv) args, ffiTy, loc) | P.PLSQLSERVER (str, ty, loc) => exp | P.PLSQLDBI (pat, exp, loc) => P.PLSQLDBI (pat, decideExp btvEnv exp, loc) and decideFFIArg btvEnv ffiarg = case ffiarg of P.PLFFIARG (exp, ffiTy, loc) => P.PLFFIARG (decideExp btvEnv exp, ffiTy, loc) | P.PLFFIARGSIZEOF (ty, exp, loc) => P.PLFFIARGSIZEOF (ty, Option.map (decideExp btvEnv) exp, loc) and decideValbind btvEnv (pat:P.plpat, exp) = (pat, decideExp btvEnv exp) and decideFvalbind btvEnv (pat:P.plpat, fvalclauses) = (pat, map (decideMatch btvEnv) fvalclauses) and decideValDec btvEnv (dec as (scoped, valbinds, loc)) = let val (btvEnv, scoped) = decideScope tyvarsValbindList btvEnv dec in (scoped, map (decideValbind btvEnv) valbinds, loc) end and decideFvalDec btvEnv (dec as (scoped, fvalbinds, loc)) = let val (btvEnv, scoped) = decideScope tyvarsFvalbindList btvEnv dec in (scoped, map (decideFvalbind btvEnv) fvalbinds, loc) end and decideDecl btvEnv decl = case decl of P.PDVAL valdec => P.PDVAL (decideValDec btvEnv valdec) | P.PDVALREC valdec => P.PDVALREC (decideValDec btvEnv valdec) | P.PDDECFUN fvaldec => P.PDDECFUN (decideFvalDec btvEnv fvaldec) (* | P.PDNONRECFUN (scoped, fvalbind, loc) => P.PDNONRECFUN (case decideFvalDec btvEnv (scoped, [fvalbind], loc) of (scoped, [fvalbind], loc) => (scoped, fvalbind, loc) | _ => raise Control.Bug "decideDecl") *) | P.PDTYPE _ => decl | P.PDDATATYPE _ => decl | P.PDREPLICATEDAT _ => decl | P.PDABSTYPE (datbinds, decls, loc) => P.PDABSTYPE (datbinds, map (decideDecl btvEnv) decls, loc) | P.PDEXD _ => decl | P.PDLOCALDEC (decls1, decls2, loc) => P.PDLOCALDEC (map (decideDecl btvEnv) decls1, map (decideDecl btvEnv) decls2, loc) | P.PDOPEN _ => decl | P.PDINFIXDEC _ => decl | P.PDINFIXRDEC _ => decl | P.PDNONFIXDEC _ => decl | P.PDEMPTY => decl fun decideSigexp sigexp = case sigexp of P.PLSIGEXPBASIC (spec, loc) => P.PLSIGEXPBASIC (decideSpec spec, loc) | P.PLSIGID _ => sigexp | P.PLSIGWHERE (sigexp, typbinds, loc) => P.PLSIGWHERE (decideSigexp sigexp, typbinds, loc) and decideSpec spec = case spec of P.PLSPECVAL (scope, vid, ty, loc) => let val (_, scoped) = decideScope tyvarsTy emptyEnv (scope, ty, loc) in P.PLSPECVAL (scoped, vid, ty, loc) end | P.PLSPECTYPE _ => spec | P.PLSPECTYPEEQUATION _ => spec (* | P.PLSPECEQTYPE _ => spec *) | P.PLSPECDATATYPE _ => spec | P.PLSPECREPLIC _ => spec | P.PLSPECEXCEPTION _ => spec | P.PLSPECSTRUCT (strdescs, loc) => P.PLSPECSTRUCT (map (fn (k,e) => (k, decideSigexp e)) strdescs, loc) | P.PLSPECINCLUDE (sigexp, loc) => P.PLSPECINCLUDE (decideSigexp sigexp, loc) | P.PLSPECSEQ (spec1, spec2, loc) => P.PLSPECSEQ (decideSpec spec1, decideSpec spec2, loc) | P.PLSPECSHARE (spec, tycons, loc) => P.PLSPECSHARE (decideSpec spec, tycons, loc) | P.PLSPECSHARESTR (spec, strids, loc) => P.PLSPECSHARESTR (decideSpec spec, strids, loc) | P.PLSPECEMPTY => spec fun decideStrexp strexp = case strexp of P.PLSTREXPBASIC (strdecs, loc) => P.PLSTREXPBASIC (map decideStrdec strdecs, loc) | P.PLSTRID _ => strexp | P.PLSTRTRANCONSTRAINT (strexp, sigexp, loc) => P.PLSTRTRANCONSTRAINT (decideStrexp strexp, decideSigexp sigexp, loc) | P.PLSTROPAQCONSTRAINT (strexp, sigexp, loc) => P.PLSTROPAQCONSTRAINT (decideStrexp strexp, decideSigexp sigexp, loc) | P.PLFUNCTORAPP (funid, strPath, loc) => P.PLFUNCTORAPP (funid, strPath, loc) | P.PLSTRUCTLET (strdecs, strexp, loc) => P.PLSTRUCTLET (map decideStrdec strdecs, decideStrexp strexp, loc) and decideStrdec strdec = case strdec of P.PLCOREDEC (pdecl, loc) => P.PLCOREDEC (decideDecl emptyEnv pdecl, loc) | P.PLSTRUCTBIND (strbinds, loc) => P.PLSTRUCTBIND (map (fn (strid, strexp) => (strid, decideStrexp strexp)) strbinds, loc) | P.PLSTRUCTLOCAL (strdecs1, strdecs2, loc) => P.PLSTRUCTLOCAL (map decideStrdec strdecs1, map decideStrdec strdecs2, loc) fun decideTopdec topdec = case topdec of P.PLTOPDECSTR (strdec, loc) => P.PLTOPDECSTR (decideStrdec strdec, loc) | P.PLTOPDECSIG (sigbinds, loc) => P.PLTOPDECSIG (map (fn (k,e) => (k, decideSigexp e)) sigbinds, loc) | P.PLTOPDECFUN (funbinds, loc) => P.PLTOPDECFUN (map (fn {name, argStrName, argSig, body, loc} => {name=name, argStrName=argStrName, argSig=decideSigexp argSig, body=decideStrexp body, loc=loc}) funbinds, loc) fun decide program = map decideTopdec program fun ftv ty = tyvarsTy SEnv.empty ty end smlsharp-1.2.0/src/compiler/fficompilation0000755 000000000000000000000000012050661606021030 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/fficompilation/main0000755 000000000000000000000000012050661606021754 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/fficompilation/main/FFICompilation.smi0000644 000000000000000000000113712050661606025352 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../recordcalc/main/RecordCalc.ppg.smi" _require "../../typedcalc/main/TypedCalc.ppg.smi" _require "../../builtin2/main/BuiltinTypes.smi" _require "../../types/main/Types.ppg.smi" _require "../../types/main/TypesUtils.smi" structure FFICompilation = struct val compile : RecordCalc.rcdecl list -> RecordCalc.rcdecl list end smlsharp-1.2.0/src/compiler/fficompilation/main/FFICompilation.sml0000644 000000000000000000004334312050661606025362 0ustar00rootroot0000000 0000000 (** * FFI compilation. * * @copyright (c) 2010, Tohoku University. * @author UENO Katsuhiro *) structure FFICompilation : sig val compile : RecordCalc.rcdecl list -> RecordCalc.rcdecl list end = struct structure R = RecordCalc structure TC = TypedCalc structure A = Absyn structure T = Types structure BT = BuiltinTypes fun getLocExp rcexp = case rcexp of R.RCFOREIGNAPPLY {loc,...} => loc | R.RCEXPORTCALLBACK {loc,...} => loc | R.RCTAGOF (_,loc) => loc | R.RCSIZEOF (_,loc) => loc | R.RCINDEXOF (_,_,loc) => loc | R.RCCONSTANT {loc,...} => loc | R.RCGLOBALSYMBOL {loc,...} => loc | R.RCVAR (_,loc) => loc | R.RCEXVAR (_, loc) => loc | R.RCPRIMAPPLY {loc,...} => loc | R.RCOPRIMAPPLY {loc,...} => loc | R.RCDATACONSTRUCT {loc,...} => loc | R.RCEXNCONSTRUCT {loc,...} => loc | R.RCEXN_CONSTRUCTOR {loc,...} => loc | R.RCEXEXN_CONSTRUCTOR {loc,...} => loc | R.RCAPPM {loc,...} => loc | R.RCMONOLET {loc,...} => loc | R.RCLET {loc,...} => loc | R.RCRECORD {loc,...} => loc | R.RCSELECT {loc,...} => loc | R.RCMODIFY {loc,...} => loc | R.RCRAISE {loc,...} => loc | R.RCHANDLE {loc,...} => loc | R.RCCASE {loc,...} => loc | R.RCEXNCASE {loc,...} => loc | R.RCSWITCH {loc,...} => loc | R.RCFNM {loc,...} => loc | R.RCPOLYFNM {loc,...} => loc | R.RCPOLY {loc,...} => loc | R.RCTAPP {loc,...} => loc | R.RCSEQ {loc,...} => loc | R.RCCAST (_,_,loc) => loc | R.RCSQL (_,_,loc) => loc | R.RCFFI (_,_,loc) => loc fun isSimpleExp rcexp = case rcexp of R.RCFOREIGNAPPLY _ => false | R.RCEXPORTCALLBACK _ => false | R.RCTAGOF _ => true | R.RCSIZEOF _ => true | R.RCINDEXOF _ => true | R.RCCONSTANT _ => true | R.RCGLOBALSYMBOL _ => true | R.RCVAR (_,loc) => true | R.RCEXVAR (_, loc) => true | R.RCPRIMAPPLY _ => false | R.RCOPRIMAPPLY _ => false | R.RCDATACONSTRUCT _ => false | R.RCEXNCONSTRUCT _ => false | R.RCEXN_CONSTRUCTOR _ => true (* FIXME check this *) | R.RCEXEXN_CONSTRUCTOR _ => true (* FIXME check this *) | R.RCAPPM _ => false | R.RCMONOLET _ => false | R.RCLET _ => false | R.RCRECORD _ => false | R.RCSELECT _ => false | R.RCMODIFY _ => false | R.RCRAISE _ => false | R.RCHANDLE _ => false | R.RCCASE _ => false | R.RCEXNCASE _ => false | R.RCSWITCH _ => false | R.RCFNM _=> false | R.RCPOLYFNM _ => false | R.RCPOLY _ => false | R.RCTAPP _ => false | R.RCSEQ _ => false | R.RCCAST (exp,_,_) => isSimpleExp exp | R.RCSQL _ => false | R.RCFFI _ => false fun newVar ty = let val id = VarID.generate () in {path = ["$" ^ VarID.toString id], ty = ty, id = id} : T.varInfo end fun tupleLabels l = let fun loop n nil = nil | loop n (h::t) = (Int.toString n, h) :: loop (n+1) t in loop 1 l end fun explodeRecord ({ty as T.RECORDty tys, exp}, loc) = map (fn (label, fieldTy) => {ty = fieldTy, exp = R.RCSELECT {indexExp = R.RCINDEXOF (label, ty, loc), label = label, exp = exp, expTy = ty, resultTy = fieldTy, loc = loc}}) (LabelEnv.listItemsi tys) | explodeRecord _ = raise Control.Bug "explodeRecord" fun LabelEnvFromList list = List.foldl (fn ((key, item), m) => LabelEnv.insert (m, key, item)) LabelEnv.empty list fun implodeRecord (fields, loc) = let val tys = LabelEnvFromList (map (fn (l,{ty,exp}) => (l,ty)) fields) val exps =LabelEnvFromList (map (fn (l,{ty,exp}) => (l,exp)) fields) val ty = T.RECORDty tys in {ty = ty, exp = R.RCRECORD {fields = exps, recordTy = ty, loc = loc}} end fun varExp loc (var as {ty, ...}) = {ty = ty, exp = R.RCVAR (var, loc)} fun composeArg (nil, loc) = {ty = BT.unitTy, exp = R.RCCONSTANT {const=A.UNITCONST loc, ty=BT.unitTy, loc=loc}} | composeArg ([exp], loc) = exp | composeArg (exps, loc) = implodeRecord (tupleLabels exps, loc) fun decomposeArg (nil, loc) = (newVar BT.unitTy, nil) | decomposeArg ([ty], loc) = let val var = newVar ty in (var, [varExp loc var]) end | decomposeArg (tys, loc) = let val var = newVar (T.RECORDty (LabelEnvFromList (tupleLabels tys))) in (var, explodeRecord (varExp loc var, loc)) end fun hasFunTy ffity = case ffity of TC.FFIBASETY _ => false | TC.FFIFUNTY _ => true | TC.FFIRECORDTY (fields, loc) => List.exists (fn (k,v) => hasFunTy v) fields fun hasSortedField fields = map #1 fields = SEnv.listKeys (SEnv.fromList fields) fun zipApp nil nil = nil | zipApp (f::ft) (h::t) = f h :: zipApp ft t | zipApp _ _ = raise Control.Bug "zipApp" fun stubImport ffity = case ffity of TC.FFIBASETY (ty, loc) => (ty, fn x => x) | TC.FFIRECORDTY (fields, loc) => raise Control.Bug "stubImport: FFIRECORDTY" | TC.FFIFUNTY (attributes, argTys, retTys, loc) => let val attributes = getOpt (attributes, Absyn.defaultFFIAttributes) val (argTys, exportFns) = ListPair.unzip (map stubExport argTys) val (ffiRetTys, importFns) = ListPair.unzip (map stubImport retTys) val (argVar, argExps) = decomposeArg (argTys, loc) val ffiArgExps = zipApp exportFns argExps handle e => (print "hoge4\n"; raise e) val (ffiRetVar, ffiRetExps) = decomposeArg (ffiRetTys, loc) val retExps = zipApp importFns ffiRetExps handle e => (print "hoge3\n"; raise e) val retExp = composeArg (retExps, loc) in (BT.ptrTy, fn funExp => {ty = T.FUNMty ([#ty argVar], #ty retExp), exp = R.RCFNM {loc = loc, argVarList = [argVar], bodyTy = #ty retExp, bodyExp = R.RCMONOLET {loc = loc, binds = [(ffiRetVar, R.RCFOREIGNAPPLY {loc = loc, funExp = #exp funExp, argExpList = map #exp ffiArgExps, foreignFunTy = {argTyList = map #ty ffiArgExps, resultTy = #ty ffiRetVar, attributes = attributes}})], bodyExp = #exp retExp}}}) end and stubExport ffity = case ffity of TC.FFIBASETY (ty, loc) => (ty, fn x => x) | TC.FFIRECORDTY (fields, loc) => let val stubs = map (fn (k,ty) => (k, stubExport ty)) fields val retTys = map (fn (k,(ty,_)) => (k,ty)) stubs fun stubFields exps = tupleLabels (zipApp (map (fn (_,(_,f)) => f) stubs) exps) in (T.RECORDty (LabelEnvFromList retTys), if hasSortedField fields andalso not (hasFunTy ffity) then fn x => x else fn exp => implodeRecord (stubFields (explodeRecord (exp, loc)), loc)) end | TC.FFIFUNTY (attributes, argTys, retTys, loc) => let val attributes = getOpt (attributes, Absyn.defaultFFIAttributes) val (ffiArgTys, importFns) = ListPair.unzip (map stubImport argTys) val (retTys, exportFns) = ListPair.unzip (map stubExport retTys) val ffiArgVars = map newVar ffiArgTys val argExps = zipApp importFns (map (varExp loc) ffiArgVars) handle e => (print "hoge1\n"; raise e) val argExp = composeArg (argExps, loc) val (retVar, retExps) = decomposeArg (retTys, loc) val ffiRetExps = zipApp exportFns retExps handle e => (print "hoge2\n"; raise e) val ffiRetExp = composeArg (ffiRetExps, loc) in (T.FUNMty ([#ty argExp], #ty retVar), fn funExp => {ty = BT.ptrTy, exp = R.RCEXPORTCALLBACK {loc = loc, foreignFunTy = {argTyList = map #ty ffiArgVars, resultTy = #ty ffiRetExp, attributes = attributes}, funExp = R.RCFNM {loc = loc, argVarList = ffiArgVars, bodyTy = #ty ffiRetExp, bodyExp = R.RCMONOLET {loc = loc, binds = [(retVar, R.RCAPPM {loc = loc, funExp = #exp funExp, funTy = #ty funExp, argExpList = [#exp argExp]})], bodyExp = #exp ffiRetExp}}}}) end fun infectPoly (ty, exp) = case TypesUtils.derefTy ty of T.POLYty {boundtvars, body} => ( case exp of R.RCFNM {argVarList, bodyTy, bodyExp, loc} => R.RCPOLYFNM {btvEnv = boundtvars, argVarList = argVarList, bodyTy = bodyTy, bodyExp = bodyExp, loc = loc} | _ => R.RCPOLY {btvEnv = boundtvars, expTyWithoutTAbs = body, exp = exp, loc = getLocExp exp} ) | _ => exp fun compileImport (ptrExp, ffiTy, resultTy, loc) = let val exp = compileExp ptrExp val var = newVar BT.ptrTy val (_, importFn) = stubImport ffiTy fun stub exp = #exp (importFn {ty = BT.ptrTy, exp = exp}) in if isSimpleExp exp then infectPoly (resultTy, stub exp) else R.RCMONOLET {binds = [(var, exp)], bodyExp = infectPoly (resultTy, stub (R.RCVAR (var, loc))), loc = loc} end and compileFFIexp (rcffiexp, resultTy, loc) = case rcffiexp of R.RCFFIIMPORT {ptrExp, ffiTy} => compileImport (ptrExp, ffiTy, resultTy, loc) and compileExp rcexp = case rcexp of R.RCFOREIGNAPPLY {funExp, foreignFunTy, argExpList, loc} => R.RCFOREIGNAPPLY {funExp = compileExp funExp, foreignFunTy = foreignFunTy, argExpList = map compileExp argExpList, loc = loc} | R.RCEXPORTCALLBACK {funExp, foreignFunTy, loc} => R.RCEXPORTCALLBACK {funExp = compileExp funExp, foreignFunTy = foreignFunTy, loc = loc} | R.RCTAGOF (ty, loc) => R.RCTAGOF (ty, loc) | R.RCSIZEOF (ty, loc) => R.RCSIZEOF (ty, loc) | R.RCINDEXOF (label, recordTy, loc) => R.RCINDEXOF (label, recordTy, loc) | R.RCCONSTANT {const, ty, loc} => R.RCCONSTANT {const=const, ty=ty, loc=loc} | R.RCGLOBALSYMBOL symbol => R.RCGLOBALSYMBOL symbol | R.RCVAR (varInfo, loc) => R.RCVAR (varInfo, loc) | R.RCEXVAR (exVarInfo, loc) => R.RCEXVAR (exVarInfo, loc) | R.RCPRIMAPPLY {primOp, instTyList, argExp, loc} => R.RCPRIMAPPLY {primOp = primOp, instTyList = instTyList, argExp = compileExp argExp, loc = loc} | R.RCOPRIMAPPLY {oprimOp, instTyList, argExp, loc} => R.RCOPRIMAPPLY {oprimOp = oprimOp, instTyList = instTyList, argExp = compileExp argExp, loc = loc} | R.RCDATACONSTRUCT {con, instTyList, argExpOpt, argTyOpt, loc} => R.RCDATACONSTRUCT {con = con, instTyList = instTyList, argExpOpt = Option.map compileExp argExpOpt, argTyOpt = argTyOpt, loc = loc} | R.RCEXNCONSTRUCT {exn, instTyList, argExpOpt, loc} => R.RCEXNCONSTRUCT {exn = exn, instTyList = instTyList, argExpOpt = Option.map compileExp argExpOpt, loc = loc} | R.RCEXN_CONSTRUCTOR {exnInfo, loc} => (* FIXME chck this *) R.RCEXN_CONSTRUCTOR {exnInfo=exnInfo, loc=loc} | R.RCEXEXN_CONSTRUCTOR {exExnInfo, loc} => (* FIXME chck this *) R.RCEXEXN_CONSTRUCTOR {exExnInfo=exExnInfo, loc=loc} | R.RCAPPM {funExp, funTy, argExpList, loc} => R.RCAPPM {funExp = compileExp funExp, funTy = funTy, argExpList = map compileExp argExpList, loc = loc} | R.RCMONOLET {binds, bodyExp, loc} => R.RCMONOLET {binds = map (fn (v,e) => (v, compileExp e)) binds, bodyExp = compileExp bodyExp, loc = loc} | R.RCLET {decls, body, tys, loc} => R.RCLET {decls = map compileDecl decls, body = map compileExp body, tys = tys, loc = loc} | R.RCRECORD {fields, recordTy, loc} => R.RCRECORD {fields = LabelEnv.map compileExp fields, recordTy = recordTy, loc = loc} | R.RCSELECT {indexExp, label, exp, expTy, resultTy, loc} => R.RCSELECT {indexExp = compileExp indexExp, label = label, exp = compileExp exp, expTy = expTy, resultTy = resultTy, loc = loc} | R.RCMODIFY {indexExp, label, recordExp, recordTy, elementExp, elementTy, loc} => R.RCMODIFY {indexExp = compileExp indexExp, label = label, recordExp = compileExp recordExp, recordTy = recordTy, elementExp = compileExp elementExp, elementTy = elementTy, loc = loc} | R.RCRAISE {exp, ty, loc} => R.RCRAISE {exp = compileExp exp, ty = ty, loc = loc} | R.RCHANDLE {exp, exnVar, handler, loc} => R.RCHANDLE {exp = compileExp exp, exnVar = exnVar, handler = compileExp handler, loc = loc} | R.RCCASE {exp, expTy, ruleList, defaultExp, loc} => R.RCCASE {exp = compileExp exp, expTy = expTy, ruleList = map (fn (c,v,e) => (c, v, compileExp e)) ruleList, defaultExp = compileExp defaultExp, loc = loc} | R.RCEXNCASE {exp, expTy, ruleList, defaultExp, loc} => R.RCEXNCASE {exp = compileExp exp, expTy = expTy, ruleList = map (fn (c,v,e) => (c, v, compileExp e)) ruleList, defaultExp = compileExp defaultExp, loc = loc} | R.RCSWITCH {switchExp, expTy, branches, defaultExp, loc} => R.RCSWITCH {switchExp = compileExp switchExp, expTy = expTy, branches = map (fn (c,e) => (c, compileExp e)) branches, defaultExp = compileExp defaultExp, loc = loc} | R.RCFNM {argVarList, bodyTy, bodyExp, loc} => R.RCFNM {argVarList = argVarList, bodyTy = bodyTy, bodyExp = compileExp bodyExp, loc = loc} | R.RCPOLYFNM {btvEnv, argVarList, bodyTy, bodyExp, loc} => R.RCPOLYFNM {btvEnv = btvEnv, argVarList = argVarList, bodyTy = bodyTy, bodyExp = compileExp bodyExp, loc = loc} | R.RCPOLY {btvEnv, expTyWithoutTAbs, exp, loc} => R.RCPOLY {btvEnv = btvEnv, expTyWithoutTAbs = expTyWithoutTAbs, exp = compileExp exp, loc = loc} | R.RCTAPP {exp, expTy, instTyList, loc} => R.RCTAPP {exp = compileExp exp, expTy = expTy, instTyList = instTyList, loc = loc} | R.RCSEQ {expList, expTyList, loc} => R.RCSEQ {expList = map compileExp expList, expTyList = expTyList, loc = loc} | R.RCCAST (rcexp, ty, loc) => R.RCCAST (compileExp rcexp, ty, loc) | R.RCSQL exp => raise Control.Bug "FFICompilation.compileExp: RCSQL" | R.RCFFI (exp, ty, loc) => compileFFIexp (exp, ty, loc) and compileDecl rcdecl = case rcdecl of R.RCVAL (bindList, loc) => R.RCVAL (map (fn (v,e) => (v, compileExp e)) bindList, loc) | R.RCVALREC (bindList, loc) => R.RCVALREC (map (fn {var, expTy, exp} => {var=var, expTy=expTy, exp=compileExp exp}) bindList, loc) | R.RCVALPOLYREC (btvEnv, bindList, loc) => R.RCVALPOLYREC (btvEnv, map (fn {var, expTy, exp} => {var=var, expTy=expTy, exp=compileExp exp}) bindList, loc) | R.RCEXD (binds, loc) => R.RCEXD (binds, loc) | R.RCEXNTAGD (bind, loc) => (* FIXME check this *) R.RCEXNTAGD (bind, loc) | R.RCEXPORTVAR {externalVar, internalVar, loc} => R.RCEXPORTVAR {externalVar=externalVar, internalVar=internalVar, loc=loc} | R.RCEXPORTEXN (exnInfo, loc) => R.RCEXPORTEXN (exnInfo, loc) | R.RCEXTERNVAR (exVarInfo, loc) => R.RCEXTERNVAR (exVarInfo, loc) | R.RCEXTERNEXN (exExnInfo, loc) => R.RCEXTERNEXN (exExnInfo, loc) fun compile decls = map compileDecl decls end smlsharp-1.2.0/src/compiler/functionlocalize0000755 000000000000000000000000012050661606021375 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/functionlocalize/main0000755 000000000000000000000000012050661606022321 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/functionlocalize/main/FUNCTION_LOCALIZE.sig0000644 000000000000000000000017312050661606025614 0ustar00rootroot0000000 0000000 signature FUNCTION_LOCALIZE = sig val localize : MultipleValueCalc.topBlock list -> MultipleValueCalc.topBlock list end smlsharp-1.2.0/src/compiler/functionlocalize/main/FunctionLocalize.sml0000644 000000000000000000010174712050661606026377 0ustar00rootroot0000000 0000000 (** * Function Localization * @copyright (c) 2006 - 2007, Tohoku University. * @author Atsushi Ohori * @version $$ * * *) structure FunctionLocalize : FUNCTION_LOCALIZE = struct local structure T = Types structure AT = AnnotatedTypes structure ATU = AnnotatedTypesUtils structure FID = FunIDMap datatype position = datatype FunIDMap.position open MultipleValueCalc in fun insertVariable varEnv (varInfo as {displayName, ty, varId}) = VarIdEnv.insert(varEnv, varId, varInfo) fun insertVariables varEnv [] = varEnv | insertVariables varEnv (var::rest) = insertVariables (insertVariable varEnv var) rest fun convertTy ty = case ty of AT.SINGLETONty sty => AT.SINGLETONty (convertSingletonTy sty) | AT.ERRORty => ty | AT.DUMMYty int => ty | AT.BOUNDVARty int => ty | AT.FUNMty { argTyList = argTyListtyList, bodyTy = bodyTyty, annotation = annotation, funStatus = funStatus } => AT.FUNMty { argTyList = map convertTy argTyListtyList, bodyTy = convertTy bodyTyty, annotation = annotation, funStatus = funStatus } | AT.MVALty tyList => AT.MVALty (map convertTy tyList) | AT.RECORDty { fieldTypes = tySEnvMap, annotation = recordAnnotationRef } => AT.RECORDty { fieldTypes = SEnv.map convertTy tySEnvMap, annotation = recordAnnotationRef } | AT.RAWty { tyCon = tyCon, args = tyList } => AT.RAWty { tyCon = tyCon, args = map convertTy tyList } | AT.SPECty { tyCon = tyCon, args = tyList } => AT.SPECty { tyCon = tyCon, args = map convertTy tyList } | AT.POLYty { boundtvars = btvKindIEnvMap, body = ty } => AT.POLYty { boundtvars = convertBtvEnv btvKindIEnvMap, body = convertTy ty } (* | AT.SPECty ty => AT.SPECty (convertTy ty) *) and convertSingletonTy singletonTy = case singletonTy of AT.INSTCODEty {oprimId, oprimPolyTy, name, keyTyList, instTyList} => AT.INSTCODEty { oprimId = oprimId, oprimPolyTy = convertTy oprimPolyTy, name = name, keyTyList = map convertTy keyTyList, instTyList = map convertTy instTyList } | AT.INDEXty (label, ty) => AT.INDEXty (label, convertTy ty) | AT.TAGty ty => AT.TAGty (convertTy ty) | AT.SIZEty ty => AT.SIZEty (convertTy ty) | AT.RECORDSIZEty ty => AT.RECORDSIZEty (convertTy ty) | AT.RECORDBITMAPty (index, ty) => AT.RECORDBITMAPty (index, convertTy ty) and convertRecKind recordKind = case recordKind of AT.UNIV => AT.UNIV | AT.REC tySEnvMap => AT.REC (SEnv.map convertTy tySEnvMap) | AT.OPRIMkind {instances, operators} => AT.OPRIMkind {instances = map convertTy instances, operators = map (fn {oprimId,oprimPolyTy,name,keyTyList,instTyList} => {oprimId = oprimId, oprimPolyTy = convertTy oprimPolyTy, name = name, keyTyList = map convertTy keyTyList, instTyList = map convertTy instTyList } ) operators } and convertBtvKind { id = int, recordKind = recordKind, eqKind = eqKind, instancesRef = tyListRef as (ref tyList) } = { id = int, recordKind = convertRecKind recordKind, eqKind = eqKind, instancesRef = (tyListRef := map convertTy tyList; tyListRef) } and convertTvKind { id = int, recordKind = recordKind, eqKind = eqKind, tyvarName = stringOption } = { id = int, recordKind = convertRecKind recordKind, eqKind = eqKind, tyvarName = stringOption } and convertBtvEnv btvEnv = BoundTypeVarID.Map.map convertBtvKind btvEnv fun convertPrimInfo {name, ty} = {name = name, ty = convertTy ty} fun convertVarInfo {displayName = string, ty = ty, varId = varId} = {displayName = string, ty = convertTy ty, varId = varId} (* FIXME: how to determine whether it is static poly? *) (* fun isStaticPoly (btvEnv : AT.btvEnv) = let val param = { tagTyCon = fn id => (), sizeTyCon = fn id => (), indexTyCon = fn (id,label) => () } in case ATU.generateExtraList param btvEnv of nil => true | _ => false end *) fun isStaticPoly btvEnv = false fun analyze varEnv position currentFunStatus mvexp = case mvexp of MVFOREIGNAPPLY { funExp = funExpMvexp, funTy = funTyTy, argExpList = argExpListMvexpList, attributes, loc } => let val funExpMvexp = analyze varEnv MIDDLE currentFunStatus funExpMvexp val funTyTy = convertTy funTyTy val argExpListMvexpList = map (analyze varEnv MIDDLE currentFunStatus) argExpListMvexpList in MVFOREIGNAPPLY { funExp = funExpMvexp, funTy = funTyTy, argExpList = argExpListMvexpList, attributes = attributes, loc = loc } end | MVEXPORTCALLBACK { funExp = funExpMvexp, funTy = funTyTy, attributes = attributes, loc } => let val funExpMvexp = analyze varEnv MIDDLE currentFunStatus funExpMvexp val funTyTy = convertTy funTyTy val _ = ATU.coerceClosure funTyTy in MVEXPORTCALLBACK { funExp = funExpMvexp, funTy = funTyTy, attributes = attributes, loc = loc } end | MVTAGOF { ty, loc } => MVTAGOF { ty = convertTy ty, loc = loc } | MVSIZEOF { ty, loc } => MVSIZEOF { ty = convertTy ty, loc = loc } | MVINDEXOF { label, recordTy, loc } => MVINDEXOF { label = label, recordTy = convertTy recordTy, loc = loc } | MVCONSTANT { value = valueConstant, loc = loc } => MVCONSTANT { value = valueConstant, loc = loc } | MVGLOBALSYMBOL _ => mvexp | MVEXCEPTIONTAG { tagValue = tagValueInt, displayName, loc } => MVEXCEPTIONTAG { tagValue = tagValueInt, displayName = displayName, loc = loc } | MVVAR { varInfo, loc } => let (* Here, var is used as a value. * So if it is a stauc funcvar then we coerce it to closure. *) val newVarInfo = case VarIdEnv.find (varEnv, #varId varInfo) of SOME (varInfo as {displayName, ty, varId}) => (ATU.coerceClosure ty; varInfo) | NONE => convertVarInfo varInfo in MVVAR { varInfo = newVarInfo, loc = loc } end | MVGETFIELD { arrayExp = arrayExpMvexp, indexExp = indexExpMvexp, elementTy = elementTyTy, loc } => let val arrayExpMvexp = analyze varEnv MIDDLE currentFunStatus arrayExpMvexp val indexExpMvexp = analyze varEnv MIDDLE currentFunStatus indexExpMvexp val elementTyTy = convertTy elementTyTy in MVGETFIELD { arrayExp = arrayExpMvexp, indexExp = indexExpMvexp, elementTy = elementTyTy, loc = loc } end | MVSETFIELD { valueExp = valueExpMvexp, arrayExp = arrayExpMvexp, indexExp = indexExpMvexp, elementTy = elementTyTy, loc = loc } => let val valueExpMvexp = analyze varEnv MIDDLE currentFunStatus valueExpMvexp val arrayExpMvexp = analyze varEnv MIDDLE currentFunStatus arrayExpMvexp val indexExpMvexp = analyze varEnv MIDDLE currentFunStatus indexExpMvexp val elementTyTy = convertTy elementTyTy in MVSETFIELD { valueExp = valueExpMvexp, arrayExp = arrayExpMvexp, indexExp = indexExpMvexp, elementTy = elementTyTy, loc = loc } end | MVSETTAIL { consExp = consExpMvexp, newTailExp = newTailExpMvexp, tailLabel = tailLabelString, listTy = listTyTy, consRecordTy = consRecordTyTy, loc } => let val consExpMvexp = analyze varEnv MIDDLE currentFunStatus consExpMvexp val newTailExpMvexp = analyze varEnv MIDDLE currentFunStatus newTailExpMvexp val listTyTy = convertTy listTyTy val consRecordTyTy = convertTy consRecordTyTy in MVSETTAIL { consExp = consExpMvexp, newTailExp = newTailExpMvexp, tailLabel = tailLabelString, listTy = listTyTy, consRecordTy = consRecordTyTy, loc = loc } end | MVARRAY { sizeExp = sizeExpMvexp, initialValue = initialValueMvexp, elementTy = elementTyTy, isMutable = isMutable, loc } => let val sizeExpMvexp = analyze varEnv MIDDLE currentFunStatus sizeExpMvexp val initialValueMvexp =analyze varEnv MIDDLE currentFunStatus initialValueMvexp val elementTyTy = convertTy elementTyTy in MVARRAY { sizeExp = sizeExpMvexp, initialValue = initialValueMvexp, elementTy = elementTyTy, isMutable = isMutable, loc = loc } end | MVCOPYARRAY { srcExp = srcExpMvexp, srcIndexExp = srcIndexExpMvexp, dstExp = dstExpMvexp, dstIndexExp = dstIndexExpMvexp, lengthExp = lengthExpMvexp, elementTy = elementTyTy, loc } => let val srcExpMvexp = analyze varEnv MIDDLE currentFunStatus srcExpMvexp val srcIndexExpMvexp = analyze varEnv MIDDLE currentFunStatus srcIndexExpMvexp val dstExpMvexp = analyze varEnv MIDDLE currentFunStatus dstExpMvexp val dstIndexExpMvexp = analyze varEnv MIDDLE currentFunStatus dstIndexExpMvexp val lengthExpMvexp = analyze varEnv MIDDLE currentFunStatus lengthExpMvexp val elementTyTy = convertTy elementTyTy in MVCOPYARRAY { srcExp = srcExpMvexp, srcIndexExp = srcIndexExpMvexp, dstExp = dstExpMvexp, dstIndexExp = dstIndexExpMvexp, lengthExp = lengthExpMvexp, elementTy = elementTyTy, loc = loc } end | MVPRIMAPPLY { primInfo = primInfoPriminfo, argExpList = argExpListMvexplist, instTyList, loc } => let val primInfoPriminfo = convertPrimInfo primInfoPriminfo val argExpListMvexplist = map (analyze varEnv MIDDLE currentFunStatus) argExpListMvexplist in MVPRIMAPPLY { primInfo = primInfoPriminfo, argExpList = argExpListMvexplist, instTyList = instTyList, loc = loc } end | MVAPPM { funExp = funExpMvexp, funTy = funTyTy, argExpList = argExpListMvexplist, loc } => let (* Here, we catch the staic function application by manually analyze the function term. The possible static cases are (1) monomorphic variable (2) type application of a polymorphic variable *) val (funExpMvexp, funTyTy) = case funExpMvexp of MVVAR {varInfo, loc} => ( case VarIdEnv.find (varEnv, #varId varInfo) of SOME (newVarInfo as {displayName, ty, varId}) => ( case ty of AT.FUNMty {funStatus, ...} => FID.call (currentFunStatus, position, funStatus) | _ => (); (MVVAR {varInfo = newVarInfo, loc = loc}, ty) ) | NONE => let val newVarInfo = convertVarInfo varInfo in (MVVAR{varInfo = newVarInfo, loc = loc}, #ty newVarInfo) end ) | MVTAPP { exp = MVVAR {varInfo, loc =loc1}, expTy, instTyList, loc = loc2 } => ( case VarIdEnv.find (varEnv, #varId varInfo) of NONE => let val newVarInfo = convertVarInfo varInfo val newExpTy = convertTy expTy val newInstTyList = map convertTy instTyList val resultTy = ATU.tpappTy(newExpTy, newInstTyList) in ( MVTAPP { exp = MVVAR {varInfo = newVarInfo, loc =loc1}, expTy = newExpTy, instTyList = newInstTyList, loc = loc2 }, resultTy ) end | SOME (newVarInfo as {displayName, ty = polyFunTy, varId}) => let val newInstTyList = map convertTy instTyList val _ = case polyFunTy of AT.POLYty{body = AT.FUNMty {funStatus,...},...} => FID.call (currentFunStatus, position, funStatus) | _ => () val newExp = MVVAR{varInfo = newVarInfo, loc = loc1} val resultTy = ATU.tpappTy(polyFunTy, newInstTyList) in ( MVTAPP { exp = newExp, expTy = polyFunTy, instTyList = newInstTyList, loc = loc2 }, resultTy ) end ) | _ => (analyze varEnv MIDDLE currentFunStatus funExpMvexp, convertTy funTyTy) val argExpListMvexplist = map (analyze varEnv MIDDLE currentFunStatus) argExpListMvexplist in MVAPPM { funExp = funExpMvexp, funTy = funTyTy , argExpList = argExpListMvexplist, loc = loc } end | MVLET { localDeclList = localDeclListMvdecllist, mainExp = mainExpMvexp, loc = loc } => let val (localDeclListMvdecllist,newVarEnv) = analyzeDeclList varEnv currentFunStatus localDeclListMvdecllist val mainExpMvexp = analyze newVarEnv position currentFunStatus mainExpMvexp in MVLET { localDeclList = localDeclListMvdecllist, mainExp = mainExpMvexp, loc = loc } end | MVMVALUES { expList = expListMvexplist, tyList = tyListTylist, loc } => let val expListMvexplist = map (analyze varEnv MIDDLE currentFunStatus) expListMvexplist val tyListTylist = map convertTy tyListTylist in MVMVALUES { expList = expListMvexplist, tyList = tyListTylist, loc = loc } end | MVRECORD { expList = expListMvexplist, recordTy = recordTyTy, annotation = annotationAnnotationlabel, isMutable = isMutableBool, loc } => let val expListMvexplist = map (analyze varEnv MIDDLE currentFunStatus) expListMvexplist val recordTyTy = convertTy recordTyTy in MVRECORD { expList = expListMvexplist, recordTy = recordTyTy, annotation = annotationAnnotationlabel, isMutable = isMutableBool, loc = loc } end | MVSELECT { recordExp = recordExpMvexp, indexExp = indexMvexp, label = labelString, recordTy = recordTyTy, resultTy = resultTyTy, loc } => let val recordExpMvexp = analyze varEnv MIDDLE currentFunStatus recordExpMvexp val indexMvexp = analyze varEnv MIDDLE currentFunStatus indexMvexp val recordTyTy = convertTy recordTyTy in MVSELECT { recordExp = recordExpMvexp, indexExp = indexMvexp, label = labelString, recordTy = recordTyTy, resultTy = resultTyTy, loc = loc } end | MVMODIFY { recordExp = recordExpMvexp, recordTy = recordTyTy, indexExp = indexMvexp, label = labelString, valueExp = valueExpMvexp, valueTy = valueTyTy, loc } => let val recordExpMvexp = analyze varEnv MIDDLE currentFunStatus recordExpMvexp val recordTyTy = convertTy recordTyTy val indexMvexp = analyze varEnv MIDDLE currentFunStatus indexMvexp val valueExpMvexp = analyze varEnv MIDDLE currentFunStatus valueExpMvexp val valueTyTy =convertTy valueTyTy in MVMODIFY { recordExp = recordExpMvexp, recordTy = recordTyTy, indexExp = indexMvexp, label = labelString, valueExp = valueExpMvexp, valueTy = valueTyTy, loc = loc } end | MVRAISE { argExp = argExpMvexp, resultTy = resultTyTy, loc } => let val argExpMvexp = analyze varEnv MIDDLE currentFunStatus argExpMvexp val resultTyTy = convertTy resultTyTy in MVRAISE { argExp = argExpMvexp, resultTy = resultTyTy, loc = loc } end | MVHANDLE { exp = expMvexp, exnVar = exnVarVarinfo, handler = handlerMvexp, loc } => let val expMvexp = analyze varEnv MIDDLE currentFunStatus expMvexp val exnVarVarinfo = convertVarInfo exnVarVarinfo val handlerMvexp = let val newFunStatus = ATU.newClosureFunStatus () in analyze varEnv MIDDLE newFunStatus handlerMvexp end in MVHANDLE { exp = expMvexp, exnVar = exnVarVarinfo, handler = handlerMvexp, loc = loc } end | MVFNM arg => let val newFunStatus = ATU.newClosureFunStatus() in analyzeFnm varEnv newFunStatus arg end | MVPOLY arg => let val newFunStatus = ATU.newClosureFunStatus() in analyzePoly varEnv position newFunStatus arg end | MVTAPP { exp = expMvexp, expTy = expTyTy, instTyList = instTyListTylist, loc } => let val expMvexp = analyze varEnv MIDDLE currentFunStatus expMvexp val expTyTy = convertTy expTyTy val instTyListTylist = map convertTy instTyListTylist in MVTAPP { exp = expMvexp, expTy = expTyTy, instTyList = instTyListTylist, loc = loc } end | MVSWITCH { switchExp = switchExpMvexp, expTy = expTyTy, branches = branchesConstantMvexpExpMvexpRecordlist, defaultExp = defaultExpMvexp, loc } => let val switchExpMvexp = analyze varEnv MIDDLE currentFunStatus switchExpMvexp val expTyTy = convertTy expTyTy val branchesConstantMvexpExpMvexpRecordlist = map (fn {constant,exp} => {constant = constant, exp = analyze varEnv position currentFunStatus exp}) branchesConstantMvexpExpMvexpRecordlist val defaultExpMvexp = analyze varEnv position currentFunStatus defaultExpMvexp in MVSWITCH { switchExp = switchExpMvexp, expTy = expTyTy, branches = branchesConstantMvexpExpMvexpRecordlist, defaultExp = defaultExpMvexp, loc = loc } end | MVCAST { exp = expMvexp, expTy = expTyTy, targetTy = targetTyTy, loc } => let val expMvexp = analyze varEnv position currentFunStatus expMvexp val expTyTy = convertTy expTyTy val targetTyTy = convertTy targetTyTy in MVCAST { exp = expMvexp, expTy = expTyTy, targetTy = targetTyTy, loc = loc } end and analyzeFnm varEnv newFunStatus { argVarList = argVarListVarinfolist, funTy = funTyTy, bodyExp = bodyExpMvexp, annotation = annotationAnnotationlabel, loc } = let val argVarListVarinfolist = map convertVarInfo argVarListVarinfolist val bodyExpMvexp = analyze varEnv TAIL newFunStatus bodyExpMvexp val funTyTy = case funTyTy of AT.FUNMty { argTyList = argTyListtyList, bodyTy= bodyTyty, funStatus, annotation = functionAnnotationRef } => AT.FUNMty { argTyList = map convertTy argTyListtyList, bodyTy = convertTy bodyTyty, annotation = functionAnnotationRef, funStatus = newFunStatus } | _ => convertTy funTyTy in MVFNM { argVarList = argVarListVarinfolist, funTy = funTyTy, bodyExp = bodyExpMvexp, annotation = ATU.freshAnnotationLabel(), loc = loc } end and analyzePoly varEnv position newFunStatus { btvEnv = btvEnvBtvenv, expTyWithoutTAbs = expTyWithoutTAbsTy, exp = expMvexp, loc } = let val btvEnvBtvenv = convertBtvEnv btvEnvBtvenv val expTyWithoutTAbsTy = case expTyWithoutTAbsTy of AT.FUNMty { argTyList = argTyListtyList, bodyTy= bodyTyty, funStatus, annotation = functionAnnotationRef } => AT.FUNMty { argTyList = map convertTy argTyListtyList, bodyTy = convertTy bodyTyty, annotation = functionAnnotationRef, funStatus = newFunStatus } | _ => convertTy expTyWithoutTAbsTy val expMvexp = case expMvexp of MVFNM fnmArg => analyzeFnm varEnv newFunStatus fnmArg | _ => analyze varEnv position newFunStatus expMvexp in MVPOLY { btvEnv = btvEnvBtvenv, expTyWithoutTAbs = expTyWithoutTAbsTy, exp = expMvexp, loc = loc } end and analyzeDecl varEnv currentFunStatus mvdecl = case mvdecl of MVVAL { boundVars = [boundVarInfo as {displayName, ty = funTy, varId}], boundExp = MVFNM fnmArg, loc } => let val newFunStatus = ATU.newLocalFunStatus currentFunStatus val funTy = case funTy of AT.FUNMty { argTyList = argTyListtyList, bodyTy= bodyTyty, funStatus, annotation = functionAnnotationRef } => AT.FUNMty { argTyList = map convertTy argTyListtyList, bodyTy = convertTy bodyTyty, annotation = functionAnnotationRef, funStatus = newFunStatus } | _ => convertTy funTy val newBoundExp = analyzeFnm varEnv newFunStatus fnmArg val newBoundVar = {displayName = displayName, ty = funTy, varId = varId} val newVarEnv = insertVariable varEnv newBoundVar in ( MVVAL { boundVars = [newBoundVar], boundExp = newBoundExp, loc = loc }, newVarEnv ) end | MVVAL { boundVars = [boundVarInfo as {displayName, ty = funTy, varId}], boundExp = MVPOLY (polyArg as {btvEnv, exp, ...}), loc } => let val newFunStatus = case exp of MVFNM _ => if isStaticPoly btvEnv then ATU.newLocalFunStatus currentFunStatus else ATU.newClosureFunStatus() | _ => ATU.newClosureFunStatus() val funTy = case funTy of AT.POLYty { boundtvars = btvKind, body = AT.FUNMty { argTyList = argTyListtyList, bodyTy= bodyTyty, funStatus, annotation = functionAnnotationRef } } => AT.POLYty { boundtvars = btvKind, body = AT.FUNMty { argTyList = map convertTy argTyListtyList, bodyTy = convertTy bodyTyty, annotation = functionAnnotationRef, funStatus = newFunStatus } } | _ => convertTy funTy val newBoundExp = analyzePoly varEnv MIDDLE newFunStatus polyArg val newBoundVar = {displayName = displayName, ty = funTy, varId = varId} val newVarEnv = insertVariable varEnv newBoundVar in ( MVVAL { boundVars = [newBoundVar], boundExp = newBoundExp, loc = loc }, newVarEnv ) end | MVVAL { boundVars = boundVarsVarInfoList, boundExp = boundExpMvexp, loc } => let val boundVarsVarInfoList = map convertVarInfo boundVarsVarInfoList val boundExpMvexp = analyze varEnv MIDDLE currentFunStatus boundExpMvexp in ( MVVAL { boundVars = boundVarsVarInfoList, boundExp = boundExpMvexp, loc = loc }, varEnv ) end | MVVALREC {recbindList, loc} => let val newLocalFunStatus = ATU.newLocalFunStatus currentFunStatus val (newBoudVarList, newRecbindList) = analyzeRecBind varEnv newLocalFunStatus currentFunStatus recbindList val newVarEnv = insertVariables varEnv newBoudVarList in ( MVVALREC { recbindList = newRecbindList, loc = loc }, newVarEnv ) end and analyzeRecBind varEnv newLocalFunStatus currentFunStatus recbindList = let val newFunStatusNewBoundVarRecBindList = map (fn (recBind as {boundVar = boundVar as {ty, varId, displayName},...}) => let val newFunStatus = case varId of T.INTERNAL _ => newLocalFunStatus | T.EXTERNAL _ => ATU.newClosureFunStatus() val newTy = case ty of AT.FUNMty {argTyList, annotation, bodyTy, ...} => AT.FUNMty { argTyList = map convertTy argTyList, bodyTy = convertTy bodyTy, annotation = annotation, funStatus = newFunStatus } | _ => convertTy ty val newBoundVar = { displayName = displayName, ty = newTy, varId = varId } in { newFunStatus = newFunStatus, newBoundVar = newBoundVar, recBind = recBind } end) recbindList val newVarEnv = insertVariables varEnv (map (fn {newBoundVar,...}=> newBoundVar) newFunStatusNewBoundVarRecBindList) fun analyzeBind { newFunStatus, newBoundVar, recBind = {boundVar, boundExp} } = let val (argVarList, funTy, bodyExp, bodyLoc) = case boundExp of MVFNM {argVarList, funTy, bodyExp, loc, ...} => (argVarList, funTy, bodyExp, loc) | _ => raise Control.Bug "Non fn in val rec" val (annotation, bodyTy) = case funTy of AT.FUNMty {annotation, bodyTy,...} => (annotation, bodyTy) | _ => raise Control.Bug "Non fn in val rec" val newBoundExp = let val newArgVarList = map convertVarInfo argVarList val newBodyExp = analyze newVarEnv TAIL newFunStatus bodyExp val newFunTy = AT.FUNMty { argTyList = map #ty newArgVarList, bodyTy = convertTy bodyTy, annotation = annotation, funStatus = newFunStatus } in MVFNM { argVarList = newArgVarList, funTy = newFunTy, bodyExp = newBodyExp, annotation = ATU.freshAnnotationLabel(), loc = bodyLoc } end in {boundVar = newBoundVar, boundExp = newBoundExp} end in ( map (fn {newBoundVar,...}=> newBoundVar) newFunStatusNewBoundVarRecBindList, map analyzeBind newFunStatusNewBoundVarRecBindList ) end and analyzeDeclList varEnv currentFunStatus ([]) = ([],varEnv) | analyzeDeclList varEnv currentFunStatus (decl::rest) = let val (newDecl, newVarEnv) = analyzeDecl varEnv currentFunStatus decl val (newRest, newVarEnv) = analyzeDeclList newVarEnv currentFunStatus rest in (newDecl::newRest, newVarEnv) end fun analyzeBasicBlock varEnv currentFunStatus basicBlock = case basicBlock of MVVALBLOCK {code, exnIDSet} => let val (newCode, newVarEnv) = analyzeDeclList varEnv currentFunStatus code in (MVVALBLOCK {code = newCode, exnIDSet = exnIDSet}, newVarEnv) end | MVLINKFUNCTORBLOCK x => (MVLINKFUNCTORBLOCK x, varEnv) fun analyzeBasicBlockList varEnv currentFunStatus ([]) = ([],varEnv) | analyzeBasicBlockList varEnv currentFunStatus (block::rest) = let val (newBlock, newVarEnv) = analyzeBasicBlock varEnv currentFunStatus block val (newRest, newVarEnv) = analyzeBasicBlockList newVarEnv currentFunStatus rest in (newBlock::newRest, newVarEnv) end fun analyzeTopBlock varEnv currentFunStatus block = case block of MVBASICBLOCK basicBlock => let val (newBasicBlock, newVarEnv) = analyzeBasicBlock varEnv currentFunStatus basicBlock in (MVBASICBLOCK newBasicBlock, newVarEnv) end | MVFUNCTORBLOCK {name, bodyCode, formalAbstractTypeIDSet, formalVarIDSet, formalExnIDSet, generativeExnIDSet, generativeVarIDSet} => (* MVFUNCTOR & MVLINKFUNCTOR are in the top level. *) let val (newBodyCode, _) = analyzeBasicBlockList VarIdEnv.empty (ATU.globalFunStatus()) bodyCode in (MVFUNCTORBLOCK {name = name, formalAbstractTypeIDSet = formalAbstractTypeIDSet, formalVarIDSet = formalVarIDSet, formalExnIDSet = formalExnIDSet, generativeExnIDSet = generativeExnIDSet, generativeVarIDSet = generativeVarIDSet, bodyCode = newBodyCode}, varEnv) end and analyzeTopBlockList varEnv currentFunStatus ([]) = ([],varEnv) | analyzeTopBlockList varEnv currentFunStatus (block::rest) = let val (newBlock, newVarEnv) = analyzeTopBlock varEnv currentFunStatus block val (newRest, newVarEnv) = analyzeTopBlockList newVarEnv currentFunStatus rest in (newBlock::newRest, newVarEnv) end fun localize blockList = let val _ = FID.initialize () val newFunStatus = ATU.globalFunStatus() val (newBlockList, _) = analyzeTopBlockList VarIdEnv.empty newFunStatus blockList val _ = FID.solve () in newBlockList end handle exn => raise exn end end smlsharp-1.2.0/src/compiler/functionlocalize/main/FunIDMap.sml0000644 000000000000000000001317612050661606024530 0ustar00rootroot0000000 0000000 structure FunIDMap = struct local structure AT = AnnotatedTypes open FunIDMapData in datatype position = MIDDLE | TAIL fun call ( from, position, to as {codeStatus = ref AT.LOCAL,...} ) = let val map = case position of TAIL => gotoMap | MIDDLE => callMap in map := (case FidEnv.find (!map, from) of NONE => FidEnv.insert(!map, from, FidSet.singleton to) | SOME set => FidEnv.insert(!map, from, FidSet.add(set, to))) end | call _ = () fun initialize () = ( gotoMap := FidEnv.empty; callMap := FidEnv.empty ) (* the transitive closure of R o E *) fun TC R EOption = let val changed = ref true (* R => R o (E u I) o R *) fun squre R = let val changed = ref false in (FidEnv.map (fn Set => let (* R(a) => R(a) u E(R(a)) *) val Set = case EOption of NONE => Set | SOME E => FidSet.foldl (fn (elem, S) => (case FidEnv.find (E, elem) of SOME set => if FidSet.isEmpty(FidSet.difference(set, S)) then S else (changed:= true; FidSet.union(S, set)) | NONE => S) ) Set Set in (* S => S u R(S) where S = R(a) u E(R(a)) *) FidSet.foldl (fn (elem, S) => (case FidEnv.find (R, elem) of SOME set => if FidSet.isEmpty(FidSet.difference(set, S)) then S else (changed:= true; FidSet.union(S, set)) | NONE => S ) ) Set Set end) R, !changed) end fun loop R = let val (R, changed) = squre R in if changed then loop R else R end in loop R end fun coereceEscapeFun fidMap = let fun owned nil _ = false | owned ({ownerId,ownerCode=ref AT.GLOBAL_FUNSTATUS}::tail) id = false | owned ({ownerId,ownerCode = ref AT.CLOSURE}::tail) id = id = ownerId | owned ({ownerId,ownerCode = ref AT.LOCAL}::tail) (id:AT.functionId) = id = ownerId orelse owned tail id fun coerse () = let val changed = ref false in ( FidEnv.appi ( fn (funStatus as {functionId, codeStatus = ref AT.CLOSURE,...}, S) => FidSet.app ( fn {codeStatus = r as ref AT.LOCAL, owners, ...} => if owned owners functionId then () else (r := AT.CLOSURE; changed := true) | _ => () ) S | _ => () ) fidMap; !changed ) end fun loop () = let val changed = coerse () in if changed then loop () else () end in loop() end fun pruneFidMap fidMap = FidEnv.map (FidSet.filter (fn {codeStatus = ref AT.CLOSURE,...} => false | {codeStatus = ref AT.GLOBAL_FUNSTATUS,...} => false | {codeStatus = ref AT.LOCAL,...} => true ) ) fidMap fun solve () = let (* val _ = print "gotoMap\n" val _ = print) (Control.prettyPrint (FunIDMapData.format_funIdMap (!gotoMap)) val _ = print "\ncallMap\n" val _ = print (Control.prettyPrint (FunIDMapData.format_funIdMap (!callMap))) val refMap = FidEnv.unionWith (fn (S1,S2) => FidSet.union (S1,S2)) (!gotoMap, !callMap) val _ = print "\nrefMap\n" val _ = print (Control.prettyPrint (FunIDMapData.format_funIdMap refMap)) val refMapStar = TC refMap NONE val _ = print "\nrefMapStar\n" val _ = print (Control.prettyPrint (FunIDMapData.format_funIdMap refMapStar)) val _ = coereceEscapeFun refMapStar val gotoMap = pruneFidMap (!gotoMap) val callMap = pruneFidMap (!callMap) val _ = print "Pruned gotoMap\n" val _ = print (Control.prettyPrint (FunIDMapData.format_funIdMap (gotoMap))) val _ = print "\nPruned callMap\n" val _ = print (Control.prettyPrint (FunIDMapData.format_funIdMap (callMap))) val gotoMapStar = TC gotoMap NONE val callMapStar = TC callMap (SOME gotoMapStar) val _ = print "\nPruned gotoMapStar\n" val _ = print (Control.prettyPrint (FunIDMapData.format_funIdMap (gotoMapStar))) val _ = print "\nPruned callMapStar\n" val _ = print (Control.prettyPrint (FunIDMapData.format_funIdMap (callMapStar))) *) val refMap = FidEnv.unionWith (fn (S1,S2) => FidSet.union (S1,S2)) (!gotoMap, !callMap) val refMapStar = TC refMap NONE val _ = coereceEscapeFun refMapStar val gotoMap = pruneFidMap (!gotoMap) val callMap = pruneFidMap (!callMap) val gotoMapStar = TC gotoMap NONE val callMapStar = TC callMap (SOME gotoMapStar) val _ = FidEnv.appi (fn (elem as {codeStatus,...}, set) => if FidSet.member(set, elem) then codeStatus := AT.CLOSURE else ()) callMapStar val refMap = FidEnv.unionWith (fn (S1,S2) => FidSet.union (S1,S2)) (gotoMap, callMap) in coereceEscapeFun refMapStar end end end smlsharp-1.2.0/src/compiler/functionlocalize/main/FunIDMapData.ppg0000644 000000000000000000000437512050661606025316 0ustar00rootroot0000000 0000000 structure FunIDMapData = struct structure AT = AnnotatedTypes type funStatus = AT.funStatus structure funStatusOrd : ORD_KEY = struct type ord_key = funStatus val compare = fn ( { functionId = fid1, ... } : funStatus, { functionId = fid2, ... } : funStatus ) => FunctionAnnotationID.compare(fid1,fid2) end structure FidSet = BinarySetFn(funStatusOrd) structure FidEnv = BinaryMapFn(funStatusOrd) fun formatFidSet (separator, prefix, suffix) Fidset = let val L = map (fn ({codeStatus = ref AT.CLOSURE, functionId = fid, ...} : AT.funStatus) => " cls(" ^ FunctionAnnotationID.toString fid ^ ")" | {codeStatus = ref AT.LOCAL, functionId = fid, ...} => "code(" ^ FunctionAnnotationID.toString fid ^ ")" | {codeStatus = ref AT.GLOBAL_FUNSTATUS, functionId = fid, ...} => "global(" ^ FunctionAnnotationID.toString fid ^ ")" ) (FidSet.listItems Fidset) in prefix @ (SMLFormat.BasicFormatters.format_list (SMLFormat.BasicFormatters.format_string, separator) L) @ suffix end fun formatFidMap (elementFormatter, bindsep, itemsepRecord) fmap = let val L = map (fn ({codeStatus = ref AT.CLOSURE, functionId = fid, ...} : AT.funStatus, s) => (" cls(" ^ FunctionAnnotationID.toString fid ^ ")", s) | ({codeStatus = ref AT.LOCAL, functionId = fid, ...}, s) => ("code(" ^ FunctionAnnotationID.toString fid ^ ")", s) | ({codeStatus = ref AT.GLOBAL_FUNSTATUS, functionId = fid, ...}, s) => ("global(" ^ FunctionAnnotationID.toString fid ^ ")", s) ) (FidEnv.listItemsi fmap) in SmlppgUtil.format_record(elementFormatter, bindsep, itemsepRecord) L end (*% * @formatter(formatFidMap) formatFidMap * @formatter(formatFidSet) formatFidSet *) type funIdMap = (*% * @format(set:formatFidSet map:formatFidMap) map(set()(","+1, "{", "}"))(+"->"+, ","+2) *) FidSet.set FidEnv.map val gotoMap = ref FidEnv.empty : funIdMap ref val callMap = ref FidEnv.empty : funIdMap ref end smlsharp-1.2.0/src/compiler/generatemain0000755 000000000000000000000000012050661606020464 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/generatemain/main0000755 000000000000000000000000012050661606021410 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/generatemain/main/GenerateMain.smi0000644 000000000000000000000066512050661606024547 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../usererror/main/UserError.ppg.smi" _require "../../absyn/main/AbsynInterface.ppg.smi" _require "GenerateMainError.ppg.smi" structure GenerateMain = struct val generate : AbsynInterface.interfaceName list -> string val mainSymbol : AbsynInterface.compileUnit -> {mainSymbol: string} end smlsharp-1.2.0/src/compiler/generatemain/main/GenerateMain.sml0000644 000000000000000000000341612050661606024547 0ustar00rootroot0000000 0000000 (** * GenerateMain.sml * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro *) structure GenerateMain : sig val generate : AbsynInterface.interfaceName list -> string val mainSymbol : AbsynInterface.compileUnit -> {mainSymbol: string} end = struct fun makeMainSymbol ({hash,...}:AbsynInterface.interfaceName) = "SMLmain" ^ hash fun mainSymbol ({interface={interfaceName,...}, topdecs} : AbsynInterface.compileUnit) = case interfaceName of NONE => {mainSymbol = "SMLmain"} | SOME name => {mainSymbol = makeMainSymbol name} fun escape s = String.translate (fn c => if Char.isAlphaNum c orelse c = #"_" then str c else if ord c < 256 then "\\" ^ StringCvt.padLeft #"0" 3 (Int.toString (ord c)) else raise Control.Bug "escape") s fun generate interfaceNames = let val _ = foldl (fn ({hash, sourceName, place}, map) => case SEnv.find (map, hash) of NONE => SEnv.insert (map, hash, sourceName) | SOME prevName => raise UserError.UserErrorsWithoutLoc [(UserError.Error, GenerateMainError.HashConflict (prevName, sourceName, hash))]) SEnv.empty interfaceNames val decs = map (fn name => let val mainSymbol = escape (makeMainSymbol name) in "val _ = (_import \"" ^ mainSymbol ^ "\" : () -> ()) ()\n" end) interfaceNames in String.concat decs end end smlsharp-1.2.0/src/compiler/generatemain/main/GenerateMainError.ppg0000644 000000000000000000000053412050661606025552 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro *) structure GenerateMainError = struct (*% *) exception (*% * @format(file1 * file2 * hash) * "interface" +d "hash" +d "conflict" +d "between" +d * file1 +d "and" +d file2 "." +d "hash" +d "is" +d hash *) HashConflict of string * string * string end smlsharp-1.2.0/src/compiler/generatemain/main/GenerateMainError.ppg.smi0000644 000000000000000000000024312050661606026336 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" structure GenerateMainError = struct exception HashConflict of string * string * string end smlsharp-1.2.0/src/compiler/loadfile0000755 000000000000000000000000012050661606017604 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/loadfile/main0000755 000000000000000000000000012050661606020530 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/loadfile/main/InterfaceHash.smi0000644 000000000000000000000053512050661606024030 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../util/main/BigInt_IntInf.smi" _require "../../util/main/ListSorter.smi" _require "../../toolchain/main/Filename.smi" _require "../../absyn/main/AbsynInterface.ppg.smi" _require "SHA1.smi" structure InterfaceHash = struct val generate : string * string list * AbsynInterface.itopdec list -> string end smlsharp-1.2.0/src/compiler/loadfile/main/InterfaceHash.sml0000644 000000000000000000000647712050661606024046 0ustar00rootroot0000000 0000000 (** * InterfaceHash.sml * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro *) structure InterfaceHash : sig val generate : string * string list * AbsynInterface.itopdec list -> string end = struct structure A = AbsynInterface fun listNamesValbind prefix ({vid, body, loc}:A.valbind) = [prefix ^ ".V" ^ vid] fun listNamesTypbind prefix typbind = case typbind of A.TRANSPARENT {tyvars, tycon, ty, loc} => [prefix ^ ".T" ^ tycon] | A.OPAQUE_NONEQ {tyvars, tycon, runtimeTy, loc} => [prefix ^ ".T" ^ tycon] | A.OPAQUE_EQ {tyvars, tycon, runtimeTy, loc} => [prefix ^ ".T" ^ tycon] fun listNamesDatbind prefix ({tyvars, tycon, conbind}:A.datbind) = prefix ^ ".T" ^ tycon :: map (fn {vid, ty} => prefix ^ ".C" ^ vid) conbind fun listNamesExbind prefix exbind = case exbind of A.EXNDEF {vid, ty, loc} => [prefix ^ ".E" ^ vid] | A.EXNDEF_WITHNAME {vid, ty, externPath, loc} => [prefix ^ ".E" ^ vid] (* CHECK THIS *) | A.EXNREP {vid, longvid, loc} => [prefix ^ ".E" ^ vid] fun listNamesDec prefix pidec = case pidec of A.IVAL valbinds => List.concat (map (listNamesValbind prefix) valbinds) | A.ITYPE typbinds => List.concat (map (listNamesTypbind prefix) typbinds) | A.IDATATYPE {datbind, loc} => List.concat (map (listNamesDatbind prefix) datbind) | A.ITYPEREP {tycon, origTycon, loc} => [prefix ^ ".T" ^ tycon] | A.ITYPEBUILTIN {tycon, builtinName, loc} => [prefix ^ ".T" ^ tycon] | A.IEXCEPTION exbinds => List.concat (map (listNamesExbind prefix) exbinds) | A.ISTRUCTURE strbind => listNamesStrbind prefix strbind and listNamesStrbind prefix ({strid, strexp, loc}:A.strbind) = listNamesStrexp (prefix ^ ".S" ^ strid) strexp and listNamesStrexp prefix istrexp = case istrexp of A.ISTRUCT {decs, loc} => List.concat (map (listNamesDec prefix) decs) | A.ISTRUCTREP {strPath, loc} => [prefix] (* CHECK THIS *) | A.IFUNCTORAPP {functorName, argumentPath, loc} => [prefix] (* CHECK THIS *) fun listNamesFunbind ({funid, param, strexp, loc}:A.funbind) = listNamesStrexp (".F" ^ funid) strexp fun fixityToString fixity = case fixity of A.INFIXL (SOME n) => "infix" ^ n | A.INFIXL NONE => "infix" | A.INFIXR (SOME n) => "infixr" ^ n | A.INFIXR NONE => "infixr" | A.NONFIX => "nonfix" fun listNamesTopdec itopdec = case itopdec of A.IDEC dec => listNamesDec "" dec | A.IFUNDEC funbind => listNamesFunbind funbind | A.IINFIX {fixity, vids, loc} => let val prefix = fixityToString fixity ^ " " in map (fn x => prefix ^ x) vids end fun generate (sourceName, requireHashes, topdecs) = let val sourceName = Filename.fromString sourceName val sourceName = Filename.toString (Filename.basename sourceName) val names1 = ["this " ^ sourceName] val names2 = map (fn x => "req " ^ x) requireHashes val names3 = List.concat (map listNamesTopdec topdecs) val names = names1 @ names2 @ names3 val names = ListSorter.sort String.compare names val src = String.concatWith "\n" names in SHA1.toBase32 (SHA1.digest (Byte.stringToBytes src)) end end smlsharp-1.2.0/src/compiler/loadfile/main/LoadFile.smi0000644 000000000000000000000230712050661606023002 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/SSet.smi" _require "../../name/main/LocalID.smi" _require "../../toolchain/main/Filename.smi" _require "../../toolchain/main/CoreUtils.smi" _require "../../usererror/main/UserError.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../absyn/main/AbsynInterface.ppg.smi" _require "../../parser2/main/Parser.smi" _require "../../parser2/main/InterfaceParser.smi" _require "InterfaceHash.smi" _require "LoadFileError.ppg.smi" structure LoadFile = struct val load : {baseName: Filename.filename option, stdPath: Filename.filename list, loadPath: Filename.filename list} -> Absyn.unit -> {loadedFiles: (AbsynInterface.filePlace * string) list} * AbsynInterface.compileUnit val require : {stdPath: Filename.filename list, loadPath: Filename.filename list} -> string -> {loadedFiles: (AbsynInterface.filePlace * string) list} * AbsynInterface.compileUnit end smlsharp-1.2.0/src/compiler/loadfile/main/LoadFile.sml0000644 000000000000000000003412212050661606023005 0ustar00rootroot0000000 0000000 (** * LoadFile.sml * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro *) structure LoadFile : sig (* if baseName is NONE, all relative filenames immediately appearing * in Absyn.unit indicates files in the current directory. *) val load : {baseName: Filename.filename option, stdPath: Filename.filename list, loadPath: Filename.filename list} -> Absyn.unit -> {loadedFiles: (AbsynInterface.filePlace * string) list} * AbsynInterface.compileUnit val require : {stdPath: Filename.filename list, loadPath: Filename.filename list} -> string -> {loadedFiles: (AbsynInterface.filePlace * string) list} * AbsynInterface.compileUnit end = struct structure A = Absyn structure I = AbsynInterface type env = { baseDir : (AbsynInterface.filePlace * Filename.filename) option, loadPath : (AbsynInterface.filePlace * Filename.filename) list, visited : SSet.set } type content = { requires : {id: {id: InterfaceID.id, loc: I.loc}, hash: string} list, topdecs : A.topdec list } val emptyContent = {requires = nil, topdecs = nil} : content fun appendContent (c1:content, c2:content) = let val reqs = List.filter (fn {id={id=x,...},...} => not (List.exists (fn {id={id,...},...} => id = x) (#requires c1))) (#requires c2) in {requires = #requires c1 @ reqs, topdecs = #topdecs c1 @ #topdecs c2} : content end type loaded = { interfaceEnv : I.interfaceDec InterfaceID.Map.map, sourceMap : content SEnv.map, interfaceDecs : I.interfaceDec list, loadedFiles : (AbsynInterface.filePlace * string) list } val nothingLoaded = {interfaceEnv = InterfaceID.Map.empty, sourceMap = SEnv.empty, interfaceDecs = nil, loadedFiles = nil} : loaded fun findIds ({sourceMap, ...}:loaded, sourceName) = SEnv.find (sourceMap, sourceName) fun addInterface ({interfaceEnv,sourceMap,interfaceDecs,loadedFiles}:loaded, sourceName, interface as {interfaceId, interfaceName={hash,place,...}, ...}, loc) = let val content = {requires = [{id = {id = interfaceId, loc = loc}, hash = hash}], topdecs = nil} in ({interfaceEnv = InterfaceID.Map.insert (interfaceEnv, interfaceId, interface), sourceMap = SEnv.insert (sourceMap, sourceName, content), interfaceDecs = interface :: interfaceDecs, loadedFiles = (place, sourceName) :: loadedFiles} : loaded, content) end fun addContent ({interfaceEnv,sourceMap,interfaceDecs,loadedFiles}:loaded, (place, sourceName), content) = ({interfaceEnv = interfaceEnv, sourceMap = SEnv.insert (sourceMap, sourceName, content), interfaceDecs = interfaceDecs, loadedFiles = (place, sourceName) :: loadedFiles} : loaded, content) fun raiseUserError (loc, exn) = raise UserError.UserErrors [(loc, UserError.Error, exn)] fun isENOENT exn = case exn of OS.SysErr (msg, errno) => ( case OS.syserror "noent" of (* We cannot make sure whether the error is ENOENT. * Assume ENOENT anyway. *) NONE => true | enoent as SOME _ => errno = enoent ) | _ => false exception NotFound local fun doOpenFile (place, base, filename) = let val file = Filename.concatPath (base, filename) in if !Control.debugPrint then print ("try to open file " ^ Filename.toString filename ^ "\n") else (); SOME (file, Filename.TextIO.openIn file, place) handle e as IO.Io {cause, function, name} => if isENOENT cause then NONE else raise e end fun openFileOnPath nil filename = raise NotFound | openFileOnPath ((place, base)::loadPath) filename = let val file = Filename.concatPath (base, filename) in if !Control.debugPrint then print ("search file " ^ Filename.toString filename ^ "\n") else (); (file, Filename.TextIO.openIn file, place) handle e as IO.Io {cause, function, name} => if isENOENT cause then openFileOnPath loadPath filename else raise e end in (* * How to search files: * (1) if "filename" is an absolute filename, just open it. * (2) if "baseDir" is NONE, "filename" is a relative path from the * current directory of the process and do not search on "loadPath". * (3) if "filename" begins with ".", "filename" is a relative path * from "baseDir" and do not search on "loadPath". * (4) Otherwise, "filename" is a relative path from either "baseDir" * or a directory on "loadPath". *) fun openFile (baseDir, loadPath) filename = let val path = if Filename.isAbsolute filename then nil else case baseDir of NONE => nil | SOME path => if String.isPrefix "." (Filename.toString filename) then [path] else path :: loadPath in (case path of nil => (filename, Filename.TextIO.openIn filename, I.LOCALPATH) | _ => openFileOnPath path filename) (* handle e as IO.Io {cause, function, name} => if isENOENT cause then raise NotFound else raise e *) end end (* local *) fun parseFile parse ({baseDir, loadPath, visited}:env) (name, loc) = let val filename = Filename.fromString name val (filename, file, place) = openFile (baseDir, loadPath) filename handle e as IO.Io _ => raiseUserError (loc, e) | NotFound => raiseUserError (loc, LoadFileError.FileNotFound name) val realPath = Filename.realPath filename val (visited, result) = let val sourceName = Filename.toString realPath val _ = if SSet.member (visited, sourceName) then raiseUserError (loc, LoadFileError.CircularLoad name) else () val visited = SSet.add (visited, sourceName) val _ = if !Control.switchTrace andalso !Control.traceFileLoad then TextIO.output (TextIO.stdErr, "source: " ^ sourceName ^ "\n") else () in (visited, parse (sourceName, file)) end handle e => (TextIO.closeIn file; raise e) val _ = TextIO.closeIn file val baseDir = SOME (place, Filename.dirname realPath) val newEnv = {baseDir=baseDir, loadPath=loadPath, visited=visited} in (newEnv, result, place) end datatype parseResult = LOADED of content | PARSED of string * I.itop fun parseInterface env loaded {name, loc} = parseFile (fn (sourceName, file) => case findIds (loaded, sourceName) of SOME content => LOADED content | NONE => let val input = InterfaceParser.setup {read = fn n => TextIO.inputN (file, n), sourceName = sourceName} val result = InterfaceParser.parse input in PARSED (sourceName, result) end) env (name, loc) fun loadInterface env loaded (name as {loc,...}) = let val (newEnv, result, place) = parseInterface env loaded name in case result of LOADED content => (loaded, content) | PARSED (sourceName, I.INCLUDES {includes, topdecs=decs}) => let val (loaded, {requires, topdecs}) = loadInterfaces newEnv loaded includes val content = {requires = requires, topdecs = topdecs @ decs} in addContent (loaded, (place, sourceName), content) end | PARSED (sourceName, I.INTERFACE {requires, topdecs}) => let val (loaded, {requires, topdecs=_}) = loadInterfaces newEnv loaded requires val newId = InterfaceID.generate () val hash = InterfaceHash.generate (sourceName, map #hash requires, topdecs) val interface = {interfaceId = newId, interfaceName = {sourceName = sourceName, hash = hash, place = place}, requires = map #id requires, topdecs = topdecs} : I.interfaceDec in addInterface (loaded, sourceName, interface, loc) end end and loadInterfaces env loaded nil = (loaded, emptyContent) | loadInterfaces env loaded (name::names) = let val (loaded, content1) = loadInterface env loaded name val (loaded, content2) = loadInterfaces env loaded names in (loaded, appendContent (content1, content2)) end fun loadTopInterface env (name as {loc, name=filename}) = let val (newEnv, result, place) = parseInterface env nothingLoaded name in case result of LOADED _ => raise Control.Bug "loadTopInterface" | PARSED (sourceName, I.INCLUDES names) => raiseUserError (loc, LoadFileError.InvalidTopInterface filename) | PARSED (sourceName, I.INTERFACE {requires, topdecs}) => let val (loaded, {requires, topdecs=decs}) = loadInterfaces newEnv nothingLoaded requires val hash = InterfaceHash.generate (sourceName, map #hash requires, topdecs) in (rev ((place, sourceName) :: #loadedFiles loaded), {decls = rev (#interfaceDecs loaded), interfaceName = SOME {sourceName = sourceName, hash = hash, place = place}, requires = map #id requires, topdecs = topdecs} : I.interface, decs) end end fun parseSource env {name, loc} = parseFile (fn (sourceName, file) => let val input = Parser.setup {mode = Parser.File, read = fn (_,n) => TextIO.inputN (file, n), sourceName = sourceName, initialLineno = 1} in Parser.parse input end) env (name, loc) fun evalTop env nil = nil | evalTop env (top::tops) = let val topdecs = case top of A.TOPDEC topdecs => topdecs | A.USE (name, loc) => let val (env, result, place) = parseSource env {name = name, loc = loc} val tops2 = case result of A.EOF => nil | (A.UNIT {interface = A.NOINTERFACE, tops, ...}) => tops | (A.UNIT {interface = A.INTERFACE _, ...}) => raiseUserError (loc, LoadFileError.UseWithInterface name) in evalTop env tops2 end in topdecs @ evalTop env tops end val emptyInterface = {decls = nil, requires = nil, interfaceName = NONE, topdecs = nil} : I.interface fun defaultInterface baseName = case baseName of NONE => A.NOINTERFACE | SOME filename => case Filename.suffix filename of SOME "sml" => let val smifile = Filename.replaceSuffix "smi" filename val name = Filename.toString (Filename.basename smifile) in if CoreUtils.testExist smifile then A.INTERFACE {loc = Loc.noloc, name = name} else A.NOINTERFACE end | _ => A.NOINTERFACE fun makeEnv {baseName, stdPath, loadPath} = let val baseDir = case baseName of SOME name => SOME (I.LOCALPATH, Filename.dirname name) | NONE => NONE val loadPath = map (fn x => (I.STDPATH, x)) stdPath @ map (fn x => (I.LOCALPATH, x)) loadPath in {baseDir = baseDir, loadPath = loadPath, visited = SSet.empty} : env end fun load (options as {baseName,...}) ({interface, tops, loc}:A.unit) = let val env = makeEnv options val interface = case interface of A.INTERFACE _ => interface | A.NOINTERFACE => defaultInterface baseName val (loadedFiles, interface, topdecs1) = case interface of A.INTERFACE name => loadTopInterface env name | A.NOINTERFACE => (nil, emptyInterface, nil) val topdecs2 = evalTop env tops val compileUnit = {interface = interface, topdecs = topdecs1 @ topdecs2} : I.compileUnit in ({loadedFiles=loadedFiles}, compileUnit) end fun require {stdPath, loadPath} name = let val env = makeEnv {baseName = NONE, stdPath = stdPath, loadPath = loadPath} val (loaded, {requires, topdecs}) = loadInterface env nothingLoaded {name=name, loc=Loc.noloc} val loadedFiles = #loadedFiles loaded val interface = {decls = rev (#interfaceDecs loaded), interfaceName = NONE, requires = map #id requires, topdecs = nil} : I.interface val compileUnit = {interface = interface, topdecs = topdecs} : I.compileUnit in ({loadedFiles = loadedFiles}, compileUnit) end end smlsharp-1.2.0/src/compiler/loadfile/main/LoadFileError.ppg0000644 000000000000000000000170012050661606024006 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro *) structure LoadFileError = struct (*% *) exception (*% * @format(string) * "invalid" +d "top" +d "interface:" +d string *) InvalidTopInterface of string and (*% * @format(string) * "file" +d "not" +d "found" +d "on" +d "load" +d "path:" +d string *) FileNotFound of string and (*% * @format(string) * "detected" +d "circular" +d "file" +d "refrences:" +d string *) CircularLoad of string and (*% * @format(string) * "file" +d "loaded" +d "by" +d "`use'" +d "has" +d "interface:" +d string *) UseWithInterface of string and (*% * @format(string) * "found" +d "an" +d "empty" +d "interface:" +d string *) EmptyInterface of string and (*% * @format(string) * "interface" +d "without" +d "variable" +d "specified" +d "as" +d * "_interface:" +d string *) VirtualInterface of string end smlsharp-1.2.0/src/compiler/loadfile/main/LoadFileError.ppg.smi0000644 000000000000000000000051512050661606024600 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" structure LoadFileError = struct exception InvalidTopInterface of string exception FileNotFound of string exception CircularLoad of string exception UseWithInterface of string exception EmptyInterface of string exception VirtualInterface of string end smlsharp-1.2.0/src/compiler/loadfile/main/SHA1.smi0000644 000000000000000000000030312050661606022011 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" structure SHA1 = struct type digest (= boxed) val digest : Word8Vector.vector -> digest val toString : digest -> string val toBase32 : digest -> string end smlsharp-1.2.0/src/compiler/loadfile/main/SHA1.sml0000644 000000000000000000001634612050661606022032 0ustar00rootroot0000000 0000000 (* * SHA-1 hashing algorithm * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro * * See the following for details of the algorithm: * National Institute of Standards and Technology (NIST). * SECURE HASH STANDARD. * Federal Information Processing Standards Publication 180-2, 2002. * http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf *) structure SHA1 :> sig type digest val digest : Word8Vector.vector -> digest val toString : digest -> string val toBase32 : digest -> string end = struct val andb = Word32.andb val orb = Word32.orb val xorb = Word32.xorb val notb = Word32.notb val << = Word32.<< val >> = Word32.>> infix andb orb xorb << >> fun rotl (n, X) = (X << n) orb (X >> (0w32 - n)) fun word8to32 w = Word32.fromInt (Word8.toInt w) fun readWord vec = let fun loop (vec, 0, z) = (vec, z) | loop (vec, n, z) = case Word8VectorSlice.getItem vec of NONE => (vec, z) | SOME (w, vec) => loop (vec, n-1, (z << 0w8) orb word8to32 w) in loop (vec, 4, 0w0) end fun readWordsAccum (vec, dst) = let val rest = Word8VectorSlice.length vec val (vec, w) = readWord vec in if rest < 4 then (((w << 0w8) orb 0wx80) << (Word.fromInt ((4 - rest - 1) * 8))) :: dst else readWordsAccum (vec, w::dst) end fun readWords vec = rev (readWordsAccum (vec, nil)) fun readWordsAndPad src = let val words = readWords (Word8VectorSlice.full src) val numBytes = Word8Vector.length src val numBits = numBytes * 8 val numWords = (numBytes + 4) div 4 val numPads = 16 - (numWords + 1) mod 16 val words = words @ List.tabulate (numPads, fn _ => 0w0) in words @ [Word32.fromInt numBits] end fun f0 (B,C,D) = (B andb C) orb ((notb B) andb D) fun f1 (B,C,D) = B xorb C xorb D fun f2 (B,C,D) = (B andb C) orb (B andb D) orb (C andb D) val f3 = f1 val k0 = 0wx5A827999 : Word32.word val k1 = 0wx6ED9EBA1 : Word32.word val k2 = 0wx8F1BBCDC : Word32.word val k3 = 0wxCA62C1D6 : Word32.word fun makeBlocksAccum (words : Word32.word list, blocks) = case words of w0::w1::w2::w3::w4::w5::w6::w7::w8::w9::wA::wB::wC::wD::wE::wF::t => makeBlocksAccum (t, (w0,w1,w2,w3,w4,w5,w6,w7,w8,w9,wA,wB,wC,wD,wE,wF)::blocks) | _ => blocks fun makeBlocks words = rev (makeBlocksAccum (words, nil)) fun wordSeqAccum (0, block, ret) = ret | wordSeqAccum (n, (w0,w1,w2,w3,w4,w5,w6,w7,w8,w9,wA,wB,wC,wD,wE,wF), ret) = let val w = rotl (0w1, wD xorb w8 xorb w2 xorb w0) in wordSeqAccum (n-1, (w1,w2,w3,w4,w5,w6,w7,w8,w9,wA,wB,wC,wD,wE,wF,w), w::ret) end fun wordSeq n block = rev (wordSeqAccum (n, block, nil)) fun makeWordSeq (ws as (w0,w1,w2,w3,w4,w5,w6,w7,w8,w9,wA,wB,wC,wD,wE,wF)) = w0::w1::w2::w3::w4::w5::w6::w7::w8::w9::wA::wB::wC::wD::wE::wF :: wordSeq 64 ws type digest = Word32.word * Word32.word * Word32.word * Word32.word * Word32.word val initialDigest = (0wx67452301, 0wxEFCDAB89, 0wx98BADCFE, 0wx10325476, 0wxC3D2E1F0) : digest fun accumDigest ((H0, H1, H2, H3, H4), (A, B, C, D, E)) = (H0 + A, H1 + B, H2 + C, H3 + D, H4 + E) : digest fun step f k (nil, regs) = (nil, regs) | step f k (h::t, (A, B, C, D, E)) = (t, (rotl (0w5,A) + f (B,C,D) + E + h + k, A, rotl (0w30,B), C, D)) fun repeat f (z:Word32.word list * digest) n = let fun loop (i, z) = if i < n then loop (i+1, f z) else z in loop (0, z) end fun digestBlock (block, digest as (H0, H1, H2, H3, H4)) = let val work = (makeWordSeq block, digest) val work = repeat (step f0 k0) work 20 val work = repeat (step f1 k1) work 20 val work = repeat (step f2 k2) work 20 val work = repeat (step f3 k3) work 20 in accumDigest (digest, #2 work) end fun digest msg = foldl digestBlock initialDigest (makeBlocks (readWordsAndPad msg)) fun fmt8 w = StringCvt.padLeft #"0" 8 (Word32.fmt StringCvt.HEX w) fun toString ((A, B, C, D, E):digest) = String.map Char.toLower (fmt8 A ^ fmt8 B ^ fmt8 C ^ fmt8 D ^ fmt8 E) local fun split5 (carry, bits, nil) = if bits = 0w32 then nil else [carry] | split5 (carry, bits, w::ws) = if bits >= 0w5 then ((carry orb (w >> (bits - 0w5))) andb 0wx1f) :: split5 (0w0, bits - 0w5, w::ws) else split5 ((w << (0w5 - bits)) andb 0wx1f, 0w32 + bits, ws) fun split32 words = map Word32.toInt (split5 (0w0, 0w32, words)) fun digit32 n = chr (if n <= 9 then ord #"0" + n else ord #"A" + n - 10) in fun toBase32 ((A, B, C, D, E):digest) = String.implode (map digit32 (split32 [A, B, C, D, E])) end (* local *) end (* (* test code *) local fun rep (n,c) = Word8Vector.tabulate (n, fn _ => Word8.fromInt (ord c)) fun assert (s,t) = if s = t then () else (print ("expect: " ^ s ^ " but actual: " ^ t ^ "\n"); raise Fail "assert") fun test (expect, src) = assert (expect, SHA1.toString (SHA1.digest src)) val _ = test ("da39a3ee5e6b4b0d3255bfef95601890afd80709", rep (0, #"a")) val _ = test ("86f7e437faa5a7fce15d1ddcb9eaeaea377667b8", rep (1, #"a")) val _ = test ("e0c9035898dd52fc65c41454cec9c4d2611bfb37", rep (2, #"a")) val _ = test ("7e240de74fb1ed08fa08d38063f6a6a91462a815", rep (3, #"a")) val _ = test ("70c881d4a26984ddce795f6f71817c9cf4480e79", rep (4, #"a")) val _ = test ("df51e37c269aa94d38f93e537bf6e2020b21406c", rep (5, #"a")) val _ = test ("c1c8bbdc22796e28c0e15163d20899b65621d65a", rep (55, #"a")) val _ = test ("c2db330f6083854c99d4b5bfb6e8f29f201be699", rep (56, #"a")) val _ = test ("f08f24908d682555111be7ff6f004e78283d989a", rep (57, #"a")) val _ = test ("5ee0f8895f4e1aae6a6661de5c432e34188a5a2d", rep (58, #"a")) val _ = test ("dbc8b8f59ff85a2b1448ed873484b14bf0507246", rep (59, #"a")) val _ = test ("13d956033d9af449bfe2c4ef78c17c20469c4bf1", rep (60, #"a")) val _ = test ("aeab141db28af3353283b5ccb2a322df0b9b5f56", rep (61, #"a")) val _ = test ("67b4b3923fa178d788a9611b76446c96431071f2", rep (62, #"a")) val _ = test ("03f09f5b158a7a8cdad920bddc29b81c18a551f5", rep (63, #"a")) val _ = test ("0098ba824b5c16427bd7a1122a5a442a25ec644d", rep (64, #"a")) val _ = test ("11655326c708d70319be2610e8a57d9a5b959d3b", rep (65, #"a")) val _ = test ("ee971065aaa017e0632a8ca6c77bb3bf8b1dfc56", rep (119, #"a")) val _ = test ("f34c1488385346a55709ba056ddd08280dd4c6d6", rep (120, #"a")) val _ = test ("fa6b5a6f8ac27182f838fe7841ec6d2aef3ade29", rep (121, #"a")) val _ = test ("05f805d3faea526f0d347b023b22042c89f63bf5", rep (122, #"a")) val _ = test ("c78e6ef1050c8626772a175c11d0acc5ebc33326", rep (123, #"a")) val _ = test ("29d2b14f43c797d078249ea7968fd19ea2a3608c", rep (124, #"a")) val _ = test ("3ec5ca1d740852128d4ef51e3f881f7af5c233f2", rep (125, #"a")) val _ = test ("1af933b8607e22788537e7350785c1a44c075512", rep (126, #"a")) val _ = test ("89d95fa32ed44a7c610b7ee38517ddf57e0bb975", rep (127, #"a")) val _ = test ("ad5b3fdbcb526778c2839d2f151ea753995e26a0", rep (128, #"a")) in end *) smlsharp-1.2.0/src/compiler/main0000755 000000000000000000000000012050661606016751 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/main/main0000755 000000000000000000000000012050661606017675 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/main/main/ExecutablePath.smi0000644 000000000000000000000011412050661606023360 0ustar00rootroot0000000 0000000 structure ExecutablePath = struct val getPath : unit -> string option end smlsharp-1.2.0/src/compiler/main/main/ExecutablePath.sml0000644 000000000000000000000045312050661606023371 0ustar00rootroot0000000 0000000 structure ExecutablePath : sig val getPath : unit -> string option end = struct val executable_path = _import "prim_executable_path" : __attribute__((no_callback,alloc)) () -> string fun getPath () = case executable_path () of "" => NONE | x => SOME x end smlsharp-1.2.0/src/compiler/main/main/ExecutablePath_dummy.sml0000644 000000000000000000000015612050661606024604 0ustar00rootroot0000000 0000000 structure ExecutablePath : sig val getPath : unit -> string option end = struct fun getPath () = NONE end smlsharp-1.2.0/src/compiler/main/main/GetOpt.smi0000644 000000000000000000000103112050661606021663 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" structure GetOpt = struct datatype 'a arg = OPTION of 'a | ARG of string datatype 'a argDesc = NOARG of 'a | REQUIRED of string -> 'a | OPTIONAL of string option -> 'a datatype 'a optionDesc = SHORT of char * 'a argDesc | SLONG of string * 'a argDesc | DLONG of string * 'a argDesc exception NoArg of string exception HasArg of string exception Unknown of string val allowPackedOption : bool ref val getopt : 'a optionDesc list -> string list -> 'a arg list end smlsharp-1.2.0/src/compiler/main/main/GetOpt.sml0000644 000000000000000000001062112050661606021673 0ustar00rootroot0000000 0000000 (** * parse command line arguments * Copyright (C) 2010 Tohoku University. * @author UENO Katsuhiro *) structure GetOpt : sig datatype 'a arg = OPTION of 'a | ARG of string datatype 'a argDesc = NOARG of 'a | REQUIRED of string -> 'a | OPTIONAL of string option -> 'a datatype 'a optionDesc = SHORT of char * 'a argDesc | SLONG of string * 'a argDesc | DLONG of string * 'a argDesc (* * | NOARG | REQIURED | OPTIONAL * ------------+---------+-------------------------+--------------------- * SHORT "a" | -a | -a foo | -a -a foo * SLONG "arg" | -arg | -arg=foo -arg foo | -arg -arg=foo * DLONG "arg" | --arg | --arg=foo --arg foo | --arg --arg=foo *) exception NoArg of string exception HasArg of string exception Unknown of string val allowPackedOption : bool ref val getopt : 'a optionDesc list -> string list -> 'a arg list end = struct datatype 'a arg = OPTION of 'a | ARG of string datatype 'a argDesc = NOARG of 'a | REQUIRED of string -> 'a | OPTIONAL of string option -> 'a datatype 'a optionDesc = SHORT of char * 'a argDesc | SLONG of string * 'a argDesc | DLONG of string * 'a argDesc exception NoArg of string exception HasArg of string exception Unknown of string val allowPackedOption = ref false fun cons1 (h, (x, y)) = (h::x, y) fun parseShort descs (arg, argv) = case Substring.getc arg of NONE => raise Unknown "" | SOME (ch, arg) => case List.find (fn (c,_) => c = ch) descs of NONE => raise Unknown (str ch) | SOME (_, NOARG v) => if !allowPackedOption then cons1 (OPTION v, parseShort descs (arg, argv)) else if Substring.isEmpty arg then ([OPTION v], argv) else raise HasArg (str ch) | SOME (_, REQUIRED f) => if Substring.isEmpty arg then case argv of nil => raise NoArg (str ch) | arg::argv => ([OPTION (f arg)], argv) else ([OPTION (f (Substring.string arg))], argv) | SOME (_, OPTIONAL f) => if Substring.isEmpty arg then ([OPTION (f NONE)], argv) else ([OPTION (f (SOME (Substring.string arg)))], argv) fun parseLong descs (arg, argv) = let fun isNotDelim c = c <> #"=" andalso c <> #"," val (name, arg) = Substring.splitl isNotDelim arg val name = Substring.string name in case List.find (fn (s,_) => s = name) descs of NONE => raise Unknown name | SOME (_, NOARG v) => if Substring.isEmpty arg then ([OPTION v], argv) else raise HasArg name | SOME (_, REQUIRED f) => if Substring.isEmpty arg then case argv of nil => raise NoArg name | arg::argv => ([OPTION (f arg)], argv) else ([OPTION (f (Substring.string (Substring.triml 1 arg)))], argv) | SOME (_, OPTIONAL f) => if Substring.isEmpty arg then ([OPTION (f NONE)], argv) else ([OPTION (f (SOME (Substring.string (Substring.triml 1 arg))))], argv) end fun parseArgv descs nil = nil | parseArgv (descs as (shorts, slongs, dlongs)) (arg::argv) = let val arg = Substring.full arg val (args, argv) = if Substring.isPrefix "--" arg then if Substring.size arg > 2 then parseLong dlongs (Substring.triml 2 arg, argv) else (map ARG argv, nil) else if Substring.isPrefix "-" arg andalso Substring.size arg > 1 then parseLong slongs (Substring.triml 1 arg, argv) handle Unknown _ => parseShort shorts (Substring.triml 1 arg, argv) else ([ARG (Substring.string arg)], argv) in args @ parseArgv descs argv end fun getopt optionDesc argv = let val desc = foldr (fn (SHORT x, (shorts, slongs, dlongs)) => (x::shorts, slongs, dlongs) | (SLONG x, (shorts, slongs, dlongs)) => (shorts, x::slongs, dlongs) | (DLONG x, (shorts, slongs, dlongs)) => (shorts, slongs, x::dlongs)) (nil, nil, nil) optionDesc in parseArgv desc argv end end smlsharp-1.2.0/src/compiler/main/main/RunLoop.smi0000644 000000000000000000000234012050661606022063 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../basis/main/SMLSharpRuntime.smi" _require "../../control/main/Loc.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../util/main/Counter.smi" _require "../../usererror/main/UserError.ppg.smi" _require "../../toolchain/main/Filename.smi" _require "../../toolchain/main/CoreUtils.smi" _require "../../toolchain/main/BinUtils.smi" _require "../../toolchain/main/TempFile.smi" _require "../../parser2/main/Parser.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../toplevel2/main/Top.smi" _require "../../../config/main/Config.smi" _require "../../../config/main/Version.smi" _require "../../../sql/main/SQLPrim.smi" structure RunLoop = struct type options = {asmFlags : string list, systemBaseDir : Filename.filename, stdPath : Filename.filename list, loadPath : Filename.filename list, LDFLAGS : string list, LIBS : string list, errorOutput : TextIO.outstream} datatype result = SUCCESS | FAILED val available : unit -> bool val run : options -> Top.toplevelContext -> Parser.input -> result * Top.newContext val interactive : options -> Top.toplevelContext -> unit end smlsharp-1.2.0/src/compiler/main/main/RunLoop.sml0000644 000000000000000000002174312050661606022076 0ustar00rootroot0000000 0000000 (** * interactive program execution * * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro *) structure RunLoop : sig type options = {asmFlags : string list, systemBaseDir : Filename.filename, stdPath : Filename.filename list, loadPath : Filename.filename list, LDFLAGS : string list, LIBS : string list, errorOutput : TextIO.outstream} datatype result = SUCCESS | FAILED val available : unit -> bool val run : options -> Top.toplevelContext -> Parser.input -> result * Top.newContext val interactive : options -> Top.toplevelContext -> unit end = struct type options = {asmFlags : string list, systemBaseDir : Filename.filename, stdPath : Filename.filename list, loadPath : Filename.filename list, LDFLAGS : string list, LIBS : string list, errorOutput : TextIO.outstream} datatype result = SUCCESS | FAILED fun available () = true val dlopen = _import "dlopen" : __attribute__((no_callback)) (string, int) -> unit ptr val dlsym = _import "dlsym" : __attribute__((no_callback)) (unit ptr, string) -> unit ptr val dlerror = _import "dlerror" : __attribute__((no_callback)) () -> char ptr val str_new = _import "sml_str_new" : __attribute__((no_callback,alloc)) char ptr -> string exception UncaughtException of exn exception DlopenFail of string (* fun checkDLError (result : unit ptr) = if result = _NULL then raise Control.Bug ("dlopen: " ^ str_new (dlerror ())) else () *) fun checkDLError (result : unit ptr) = if result = _NULL then raise DlopenFail (str_new (dlerror ())) else () fun userErrorToString e = Control.prettyPrint (UserError.format_errorInfo e) val loadedFiles = ref nil : Filename.filename list ref exception CompileError of Top.newContext fun incVersionContext ({fixEnv, topEnv, version,builtinDecls}:Top.toplevelContext) = {fixEnv=fixEnv, topEnv=topEnv, version=IDCalc.incVersion version, builtinDecls=builtinDecls } fun run ({asmFlags, stdPath, loadPath, LDFLAGS, LIBS, errorOutput, ...}:options) context input = let fun puts s = TextIO.output (errorOutput, s ^ "\n") val options = {stopAt = Top.NoStop, dstfile = NONE, baseName = NONE, stdPath = stdPath, loadPath = loadPath, asmFlags = asmFlags} val (_, result) = Top.compile options context input handle e => ( case e of UserError.UserErrors errs => app (fn e => puts (userErrorToString e)) errs | UserError.UserErrorsWithoutLoc errs => app (fn (k,e) => puts (userErrorToString (Loc.noloc,k,e))) errs | Control.Bug s => puts ("Compiler bug:" ^ s) (* | exn => puts "Compilation failed." *) | exn => raise exn ; raise CompileError Top.emptyNewContext ) val (newContext, code) = case result of Top.RETURN (newContext, Top.FILE code) => (newContext, code) | Top.STOPPED => raise Control.Bug "run" in let val sofile = TempFile.create "so" val ldflags = case !SMLSharp_Version.HostOS of SMLSharp_Version.Unix => nil | SMLSharp_Version.Windows => ["-Wl,--out-implib=" ^ Filename.toString (Filename.replaceSuffix "lib" sofile)] val libfiles = case !SMLSharp_Version.HostOS of SMLSharp_Version.Unix => nil | SMLSharp_Version.Windows => map (fn x => Filename.toString (Filename.replaceSuffix "lib" x)) (!loadedFiles) val _ = BinUtils.link {flags = SMLSharp_Config.RUNLOOP_DLDFLAGS () :: LDFLAGS @ ldflags, libs = libfiles @ LIBS, objects = [code], dst = sofile, quiet = not (!Control.printCommand)} val RTLD_GLOBAL = SMLSharpRuntime.cconstInt "RTLD_GLOBAL" val RTLD_NOW = SMLSharpRuntime.cconstInt "RTLD_NOW" val lib = dlopen (Filename.toString sofile, RTLD_GLOBAL + RTLD_NOW) val _ = checkDLError lib val ptr = dlsym (lib, "SMLmain") val _ = checkDLError ptr val mainFn = ptr : _import () -> () in loadedFiles := sofile :: !loadedFiles; mainFn () handle e => raise UncaughtException e; (SUCCESS, newContext) end handle e => ( case e of UserError.UserErrors errs => app (fn e => puts (userErrorToString e)) errs | UserError.UserErrorsWithoutLoc errs => app (fn (k,e) => puts (userErrorToString (Loc.noloc,k,e))) errs | DlopenFail s => puts ("Dlopen fail. Perhaps incorrect name in _import declaration: " ^ s) | UncaughtException exn => (case exn of SMLSharp_SQL_Prim.Type s => puts ("SQL typecheck error: " ^ s) | SMLSharp_SQL_Prim.Exec s => puts ("SQL execution error: " ^ s) | SMLSharp_SQL_Prim.Connect s => puts ("SQL connection error: " ^ s) | SMLSharp_SQL_Prim.Link s => puts ("SQL linking error: " ^ s) | SMLSharp_SQL_Prim.Format => puts ("Unsupported SQL values.") | SMLSharpRuntime.SysErr (s, syserrorOption) => puts ("OS primitive error: " ^ s) | IO.Io{name, function, cause} => let val prefix = "IO primitive failed: " ^ function ^ " on " ^ name ^ "." val suffix = (case cause of IO.BlockingNotSupported => " Blocking not supported." | IO.NonblockingNotSupported => " Nonblocking not supported." | IO.RandomAccessNotSupported => " Random access not supported." | IO.ClosedStream =>" Closed stream." | _ => "" ) in puts (prefix ^ suffix) end | Fail s => puts ("Runtime system error: " ^ s) | e => puts ("uncaught exception: " ^ exnMessage e) ) | CoreUtils.Failed {command, message} => (puts ("command failed: " ^ command); puts message) | _ => raise e; (FAILED, newContext) ) end handle CompileError context => (FAILED, context) fun initInteractive () = let val lineCount = ref 1 val eof = ref false fun read (isFirst, _:int) = let val prompt = if isFirst then "# " else "> " val _ = TextIO.output (TextIO.stdOut, prompt) val _ = TextIO.flushOut TextIO.stdOut val line = TextIO.inputLine TextIO.stdIn val _ = lineCount := !lineCount + 1 in case line of NONE => (eof := true; "") | SOME s => s end in {lineCount = lineCount, eof = eof, read = read} end fun interactiveInput {lineCount, eof : bool ref, read} = Parser.setup {sourceName = "(interactive)", read = read, mode = Parser.Interactive, initialLineno = !lineCount} fun interactive options context = let val _ = Control.interactiveMode := true val _ = case !SMLSharp_Version.HostOS of SMLSharp_Version.Unix => () | SMLSharp_Version.Windows => loadedFiles := [Filename.concatPath (#systemBaseDir options, Filename.fromString "compiler/smlsharp.lib")] val state = initInteractive () fun loop context input = if !(#eof state) then () else (Counter.reset(); case run options context input of (SUCCESS, newContext) => let val context = Top.extendContext (context, newContext) val context = incVersionContext context val _ = if !Control.doProfile then (print "Time Profile:\n"; print (Counter.dump ())) else (); in loop context input end | (FAILED, newContext) => loop (incVersionContext context) (interactiveInput state) ) in loop context (interactiveInput state) end end smlsharp-1.2.0/src/compiler/main/main/RunLoop_dummy.sml0000644 000000000000000000000217312050661606023305 0ustar00rootroot0000000 0000000 (** * dummy RunLoop structure * * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro *) structure RunLoop : sig type options = {asmFlags : string list, systemBaseDir : Filename.filename, stdPath : Filename.filename list, loadPath : Filename.filename list, LDFLAGS : string list, LIBS : string list, errorOutput : TextIO.outstream} datatype result = SUCCESS of NameEvalEnv.topEnv | FAILED val available : unit -> bool val run : options -> Top.toplevelContext -> Parser.input -> result val interactive : options -> Top.toplevelContext -> unit end = struct type options = {asmFlags : string list, systemBaseDir : Filename.filename, stdPath : Filename.filename list, loadPath : Filename.filename list, LDFLAGS : string list, LIBS : string list, errorOutput : TextIO.outstream} datatype result = SUCCESS of NameEvalEnv.topEnv | FAILED fun available () = false fun run _ = raise Control.Bug "RunLoop_dummy: run" fun interactive _ = raise Control.Bug "RunLoop_dummy: interactive" end smlsharp-1.2.0/src/compiler/main/main/SimpleMain.smi0000644 000000000000000000000261712050661606022532 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../basis/main/IO.smi" _require "../../../config/main/Version.smi" _require "../../../config/main/Config.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../control/main/Loc.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../util/main/Counter.smi" _require "../../usererror/main/UserError.ppg.smi" _require "../../toolchain/main/Filename.smi" _require "../../toolchain/main/CoreUtils.smi" _require "../../toolchain/main/TempFile.smi" _require "../../toolchain/main/BinUtils.smi" _require "../../absyn/main/AbsynInterface.ppg.smi" _require "../../parser2/main/Parser.smi" _require "../../parser2/main/InterfaceParser.smi" _require "../../generatemain/main/GenerateMain.smi" _require "../../toplevel2/main/Top.smi" _require "../../nameevaluation/main/NameEval.smi" _require "../../nameevaluation/main/NameEvalEnv.ppg.smi" _require "../../toplevel2/main/NameEvalEnvUtils.smi" _require "../../nameevaluation/main/NameEvalUtils.smi" _require "../../elaborate/main/Elaborator.smi" _require "../../reflection/main/ReifiedTermData.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../loadfile/main/SHA1.smi" _require "GetOpt.smi" _require "SMLofNJ.smi" _require "RunLoop.smi" _require "ExecutablePath.smi" _require "../../../config/main/Config.smi" structure Main = struct val main : string * string list -> OS.Process.status end smlsharp-1.2.0/src/compiler/main/main/SimpleMain.sml0000644 000000000000000000007276612050661606022551 0ustar00rootroot0000000 0000000 (** * simple main entry for separate compilation * * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro *) structure Main : sig val main : string * string list -> OS.Process.status end = struct exception Error of string list val defaultSystemBaseDir = case ExecutablePath.getPath () of NONE => Filename.fromString SMLSharp_Version.DefaultSystemBaseDir | SOME path => Filename.concatPath (Filename.dirname (Filename.fromString path), Filename.fromString "../lib/smlsharp") (* Moved this to top-level; this is needed to initBuiltin *) val systemBaseDir = ref defaultSystemBaseDir fun optionToList NONE = nil | optionToList (SOME x) = [x] fun printErr s = TextIO.output (TextIO.stdErr, s) fun printVersion () = print ("SML# version " ^ SMLSharp_Version.Version ^ " (" ^ SMLSharp_Version.ReleaseDate ^ ") for " ^ !Control.targetPlatform ^ "\n") local fun userErrorToString e = Control.prettyPrint (UserError.format_errorInfo e) fun locToString loc = Control.prettyPrint (Loc.format_loc loc) fun printExnHistory e = case rev (SMLofNJ.exnHistory e) of nil => () | h::t => (printErr (" raised at: " ^ h ^ "\n"); case t of nil => () | h::t => (printErr (" handled at: " ^ h ^ "\n"); app (fn s => printErr ("\t\t" ^ s ^ "\n")) t)) in fun printExn progname e = case e of Error msgs => app (fn x => printErr (progname ^ ": " ^ x ^ "\n")) msgs | UserError.UserErrors errs => app (fn e => printErr (userErrorToString e ^ "\n")) errs | UserError.UserErrorsWithoutLoc errs => app (fn (k,e) => printErr (userErrorToString (Loc.noloc,k,e) ^ "\n")) errs | IO.Io {name, function, cause} => (printErr ("System IO failure:" ^ "file name: " ^ name ^ " I/O function: " ^ function ^ "\n"); printExnHistory e) | Control.Bug msg => (printErr ("[BUG] " ^ msg ^ "\n"); printExnHistory e) | Control.BugWithLoc (msg, loc) => (printErr ("[BUG] " ^ locToString loc ^ ": " ^ msg ^ "\n"); printExnHistory e) | _ => (printErr ("uncaught exception: " ^ exnName e ^ ": " ^ exnMessage e ^ "\n"); printExnHistory e) end (* local *) datatype compilerMode = CompileOnly | AssembleOnly | SyntaxOnly | TypeCheckOnly | MakeDependCompile of {noStdPath: bool} | MakeDependLink of {noStdPath: bool} | PrintMainID | SHA1Sum datatype commandLineArgs = OutputFile of string | IncludePath of string | LibraryPath of string | Library of string | Mode of compilerMode | SourceFile of string | SystemBaseDir of string | LinkerFlags of string list | AssemblerFlags of string list | Target of string | Help | ControlSwitch of string | NoStdPath | NoStdLib | Verbose fun splitComma "" = nil | splitComma src = let fun loop (ss, r) = case Substring.getc ss of SOME (#"\\", ss) => (case Substring.getc ss of SOME (c, ss) => loop (ss, c::r) | NONE => loop (ss, #"\\"::r)) | SOME (#",", ss) => String.implode (rev r) :: loop (ss, nil) | SOME (c, ss) => loop (ss, c::r) | NONE => [String.implode (rev r)] in loop (Substring.full src, nil) end val optionDesc = let open GetOpt in [ SHORT (#"o", REQUIRED OutputFile), SHORT (#"c", NOARG (Mode CompileOnly)), SHORT (#"S", NOARG (Mode AssembleOnly)), SHORT (#"I", REQUIRED IncludePath), SHORT (#"L", REQUIRED LibraryPath), SHORT (#"l", REQUIRED Library), SHORT (#"v", NOARG Verbose), SHORT (#"B", REQUIRED SystemBaseDir), SHORT (#"M", NOARG (Mode (MakeDependCompile {noStdPath=false}))), SLONG ("MM", NOARG (Mode (MakeDependCompile {noStdPath=true}))), SLONG ("Ml", NOARG (Mode (MakeDependLink {noStdPath=false}))), SLONG ("MMl", NOARG (Mode (MakeDependLink {noStdPath=true}))), SLONG ("Wl", REQUIRED (fn x => LinkerFlags (splitComma x))), SLONG ("Wa", REQUIRED (fn x => AssemblerFlags (splitComma x))), SLONG ("fsyntax-only", NOARG (Mode SyntaxOnly)), SLONG ("ftypecheck-only", NOARG (Mode TypeCheckOnly)), SLONG ("fprint-main-ids", NOARG (Mode PrintMainID)), DLONG ("sha1", NOARG (Mode SHA1Sum)), SLONG ("target", REQUIRED Target), SLONG ("nostdpath", NOARG NoStdPath), SLONG ("nostdlib", NOARG NoStdLib), DLONG ("help", NOARG Help), SHORT (#"d", REQUIRED ControlSwitch) ] end fun modeToOption mode = case mode of CompileOnly => "-c" | AssembleOnly => "-S" | SyntaxOnly => "-fsyntax-only" | TypeCheckOnly => "-ftypecheck-only" | MakeDependCompile {noStdPath=false} => "-M" | MakeDependCompile {noStdPath=true} => "-MM" | MakeDependLink {noStdPath=false} => "-Ml" | MakeDependLink {noStdPath=true} => "-MMl" | PrintMainID => "-fprint-main-ids" | SHA1Sum => "--sha1" fun usageMessage progname = "Usage: " ^ progname ^ " [options] file ...\n\ \Options:\n\ \ --help print this message\n\ \ -v verbose mode\n\ \ -o place the output to \n\ \ -c compile only; do not assemble and link\n\ \ -S compile and assemble; do not link\n\ \ -M make dependency for compile\n\ \ -MM make dependency for compile but ignore system files\n\ \ -Ml make dependency for link\n\ \ -MMl make dependency for link but ignore system files\n\ \ -fsyntax-only check for syntax errors, and exit\n\ \ -ftypecheck-only check for type errors, and exit\n\ \ -fprint-main-ids print main entry identifiers, and exit\n\ \ -I add to file search path\n\ \ -L add to library path of the linker\n\ \ -l link with to create an executable file\n\ \ -Wl, pass comma-separated to the linker\n\ \ -Wa, pass comma-separated to the assembler\n\ \ -target= set target platform to \n\ \ -nostdpath no standard file search path is used\n\ \ -d = set extra option for compiler developers.\n" fun parseArgs args = let val args = GetOpt.getopt optionDesc args handle GetOpt.NoArg name => raise Error ["option `" ^ name ^ "' requires an argument"] | GetOpt.HasArg name => raise Error ["option `" ^ name ^ "' requires no argment"] | GetOpt.Unknown name => raise Error ["invalid option `" ^ name ^ "'"] in map (fn GetOpt.ARG x => SourceFile x | GetOpt.OPTION x => x) args end type loadOptions = {stopAt: Top.stopAt, stdPath: Filename.filename list, loadPath: Filename.filename list} type linkOptions = {dryRun: bool, noStdLib: bool, LDFLAGS: string list, LIBS: string list, outputFilename: Filename.filename} type dependOptions = {noStdPath: bool, outputFilename: Filename.filename option} datatype mainExp = CompileSML of Top.toplevelOptions * Filename.filename | LoadSMI of loadOptions * Filename.filename | LinkFile of Filename.filename | GenerateMain of Top.toplevelOptions * mainExp | Link of linkOptions * mainExp list | GenerateDepend of dependOptions * mainExp list | PrintHash of mainExp | PrintSHA1 of Filename.filename | Sequence of mainExp list | PrintHelp of {progname: string} | PrintVersion | Interactive of RunLoop.options type compileResult = { (* generated object file by given mainExp *) code : Filename.filename option, (* interface which should be provided by the code *) interface : AbsynInterface.interfaceName option } type mainExpResult = { (* result of interpretation of given mainExp *) result : compileResult, (* loaded require interfaces during interpreting given mainExp *) requires : compileResult list, (* loaded files during interpreting given mainExp *) loaded : (AbsynInterface.filePlace * string) list } fun setExtraOption src = let val ss = Substring.full src val (key, value) = Substring.splitl (fn c => #"=" <> c) ss val key = Substring.string key val value = Substring.string (Substring.triml 1 value) in case List.find (fn (x,_) => key = x) (Control.listSwitches ()) of NONE => raise Error ["unknown extra option `" ^ key ^ "'"] | SOME (_, switch) => ( Control.interpretControlOption (key, switch, value) handle Fail msg => raise Error [msg] ) end local fun replaceSuffix suffix filename = case Filename.suffix filename of SOME "smi" => Filename.addSuffix (filename, suffix) | _ => Filename.replaceSuffix suffix filename in fun toAsmTarget filename = replaceSuffix (SMLSharp_Config.ASMEXT()) filename fun toObjTarget filename = replaceSuffix (SMLSharp_Config.OBJEXT()) filename fun toExeTarget filename = Filename.removeSuffix filename end (* local *) fun toObjFile ({sourceName, ...}:AbsynInterface.interfaceName) = Filename.replaceSuffix (SMLSharp_Config.OBJEXT()) (Filename.fromString sourceName) fun compileArgs (progname, args) = let val noStdPath = ref false val noStdLib = ref false val loadPath = ref nil val LDFLAGS = ref nil val CFLAGS = ref nil val LIBS = ref nil val outputFilename = ref NONE val sources = ref nil val verbose = ref false val help = ref false val mode = ref NONE val extraOptions = ref nil fun processArg arg = case arg of OutputFile filename => outputFilename := SOME (Filename.fromString filename) | IncludePath path => loadPath := !loadPath @ [Filename.fromString path] | LibraryPath path => LDFLAGS := !LDFLAGS @ ["-L" ^ path] | Library lib => LIBS := !LIBS @ ["-l" ^ lib] | SourceFile filename => sources := !sources @ [Filename.fromString filename] | SystemBaseDir filename => systemBaseDir := Filename.fromString filename | LinkerFlags flags => LDFLAGS := !LDFLAGS @ flags | AssemblerFlags flags => CFLAGS := !CFLAGS @ flags | Target target => raise Error ["-target is not supported"] | ControlSwitch pair => extraOptions := pair :: !extraOptions | NoStdPath => noStdPath := true | NoStdLib => noStdLib := true | Verbose => verbose := true | Help => help := true | Mode newMode => case !mode of NONE => mode := SOME newMode | SOME oldMode => if oldMode = newMode then () else raise Error ["cannot specify " ^ modeToOption oldMode ^ " with " ^ modeToOption newMode] val _ = app processArg args (* load and set default settings *) val _ = SMLSharp_Config.loadConfig (!systemBaseDir) handle SMLSharp_Config.Load => if !help then () else raise Error ["failed to read config.mk. Specify" ^ " correct path by -B option."] val _ = Control.printBinds := false val _ = Control.switchTrace := true val _ = Control.tracePrelude := true val _ = Control.targetPlatform := SMLSharp_Config.NATIVE_TARGET () val _ = Control.printCommand := !verbose val _ = app setExtraOption (rev (!extraOptions)) val stdPath = if !noStdPath then nil else [!systemBaseDir] fun GenMain stopAt dstfile exp = GenerateMain ({stopAt = stopAt, dstfile = dstfile, baseName = NONE, stdPath = nil, loadPath = nil, asmFlags = !CFLAGS}, exp) fun CompileSmi stopAt dstfile srcfile = GenMain stopAt dstfile (LoadSMI ({stopAt = stopAt, stdPath = stdPath, loadPath = !loadPath}, srcfile)) fun CompileSml stopAt dstfile srcfile = CompileSML ({stopAt = stopAt, dstfile = dstfile, baseName = SOME srcfile, stdPath = stdPath, loadPath = !loadPath, asmFlags = !CFLAGS}, srcfile) fun Compile stopAt dstfile srcfile = case Filename.suffix srcfile of SOME "smi" => CompileSmi stopAt dstfile srcfile | _ => CompileSml stopAt dstfile srcfile in case (!help, !mode, !outputFilename, !sources) of (true, _, _, _) => PrintHelp {progname=progname} | (false, _, _, nil) => if !verbose then PrintVersion else if RunLoop.available () then Sequence [PrintVersion, Interactive {asmFlags = !CFLAGS, systemBaseDir = !systemBaseDir, stdPath = stdPath, loadPath = !loadPath, LDFLAGS = !LDFLAGS, LIBS = !LIBS, errorOutput = TextIO.stdOut}] else raise Error ["no input files"] | (false, SOME (MakeDependCompile {noStdPath}), dstfile, sources) => GenerateDepend ({noStdPath = noStdPath, outputFilename = dstfile}, map (fn src => Compile Top.SyntaxCheck (SOME (toObjTarget src)) src) sources) | (false, SOME (MakeDependLink {noStdPath}), dstfile, sources) => GenerateDepend ({noStdPath = noStdPath, outputFilename = dstfile}, map (fn src => Link ({dryRun = true, noStdLib = false, LDFLAGS = !LDFLAGS, LIBS = !LIBS, outputFilename = toExeTarget src}, [CompileSmi Top.SyntaxCheck (SOME (toObjTarget src)) src])) sources) | (false, SOME SyntaxOnly, SOME _, _) => raise Error ["cannot specify -o with -fsyntax-only"] | (false, SOME SyntaxOnly, NONE, sources) => Sequence (map (Compile Top.SyntaxCheck NONE) sources) | (false, SOME TypeCheckOnly, SOME _, _) => raise Error ["cannot specify -o with -ftypecheck-only"] | (false, SOME TypeCheckOnly, NONE, sources) => Sequence (map (Compile Top.ErrorCheck NONE) sources) | (false, SOME AssembleOnly, NONE, sources) => Sequence (map (fn src => Compile Top.Assembly (SOME (toAsmTarget src)) src) sources) | (false, SOME AssembleOnly, SOME _, _::_::_) => raise Error ["cannot specify -o with -S with multiple files"] | (false, SOME AssembleOnly, SOME filename, [source]) => Compile Top.Assembly (SOME filename) source | (false, SOME CompileOnly, NONE, sources) => Sequence (map (fn src => Compile Top.NoStop (SOME (toObjTarget src)) src) sources) | (false, SOME CompileOnly, SOME _, _::_::_) => raise Error ["cannot specify -o with -c with multiple files"] | (false, SOME CompileOnly, SOME filename, [source]) => Compile Top.NoStop (SOME filename) source | (false, SOME PrintMainID, SOME _, _) => raise Error ["cannot specify -o with -fprint-main-ids"] | (false, SOME PrintMainID, NONE, sources) => Sequence (map (fn src => PrintHash (LoadSMI ({stopAt = Top.SyntaxCheck, stdPath = stdPath, loadPath = !loadPath}, src))) sources) | (false, SOME SHA1Sum, SOME _, _) => raise Error ["cannot specify -o with --sha1"] | (false, SOME SHA1Sum, NONE, sources) => Sequence (map PrintSHA1 sources) | (false, NONE, outputFilename, sources) => let val sources = map (fn filename => case Filename.suffix filename of SOME "sml" => GenMain Top.NoStop NONE (CompileSml Top.NoStop NONE filename) | SOME "smi" => CompileSmi Top.NoStop NONE filename | _ => LinkFile filename) sources val _ = case List.filter (fn LinkFile _ => false | _ => true) sources of nil => () | [_] => () | _::_::_ => raise Error ["cannot specify multiple .sml/.smi files\ \ in link mode"] val outputFilename = case outputFilename of SOME filename => filename | NONE => Filename.fromString "a.out" val options = {dryRun = false, noStdLib = !noStdLib, LDFLAGS = !LDFLAGS, LIBS = !LIBS, outputFilename = outputFilename} in Link (options, sources) end end fun loadBuiltin () = let val src = Filename.concatPath (!systemBaseDir, Filename.fromString "builtin.smi") val builtin_smi = "builtin.smi" val io = Filename.TextIO.openIn src in Top.loadBuiltin (InterfaceParser.setup {read = fn n => TextIO.inputN (io, n), sourceName = Filename.toString src}) handle e => (TextIO.closeIn io; raise e) end fun compileFile context options (io, sourceName) = let val input = Parser.setup {mode = Parser.File, read = fn (_,n) => TextIO.inputN (io, n), sourceName = sourceName, initialLineno = 1} val (depends, result) = Top.compile options context input in case result of Top.RETURN (_, Top.FILE code) => (SOME code, depends) | Top.STOPPED => (#dstfile options, depends) end fun toLinkObjFile {code, interface:AbsynInterface.interfaceName option} = case (code, interface) of (SOME filename, NONE) => SOME (AbsynInterface.LOCALPATH, filename) | (SOME filename, SOME {place, ...}) => SOME (place, filename) | (NONE, NONE) => NONE | (NONE, SOME (interface as {place, ...})) => SOME (place, toObjFile interface) fun checkFileExist filenames = case List.filter (fn f => not (CoreUtils.testExist f)) filenames of nil => () | files => raise Error (map (fn f => "required object file is not found: " ^ Filename.toString f) files) local fun filterDepends noStdPath depends = if noStdPath then List.filter (fn (AbsynInterface.LOCALPATH, _:string) => true | (AbsynInterface.STDPATH, _) => false) depends else depends fun format w nil = "\n" | format w (h::t) = let val h = if w = 0 then h else " " ^ h val n = size h in if n + w > 78 then " \\\n " ^ h ^ format (1 + n) t else h ^ format(w + n) t end in fun outputDepends {noStdPath, outputFilename} rules = let val output = map (fn (target, depends) => format 0 ((target ^ ":") :: map #2 (filterDepends noStdPath depends))) rules in case outputFilename of NONE => app print output | SOME dstfile => CoreUtils.makeTextFile (dstfile, String.concat output) end end (* local *) fun evalMain exp : mainExpResult = case exp of PrintHelp {progname} => ( #start Counter.printHelpTimeCounter(); print (usageMessage progname); #stop Counter.printHelpTimeCounter(); {result={code=NONE, interface=NONE}, requires=nil, loaded=nil} ) | PrintVersion => ( printVersion (); {result={code=NONE, interface=NONE}, requires=nil, loaded=nil} ) | Interactive options => let val _ = #start Counter.loadInterfaceTimeCounter() val builtinContext = loadBuiltin () val (_, result) = Top.loadInterface {stopAt = Top.NoStop, stdPath = #stdPath options, loadPath = #loadPath options} builtinContext (Filename.concatPath (!systemBaseDir, Filename.fromString "prelude.smi")) val _ = #stop Counter.loadInterfaceTimeCounter() val context = case result of SOME newContext => let val {fixEnv, topEnv, version, builtinDecls} = Top.extendContext (builtinContext, newContext) val version = IDCalc.incVersion version val builtinDecls = builtinDecls @ NameEvalEnvUtils.externOverloadInstances topEnv in {fixEnv = fixEnv, topEnv = topEnv, version = version, builtinDecls = builtinDecls} : Top.toplevelContext end | NONE => raise Control.Bug "evalMain: Interactive" val _ = ReifiedTermData.init (#topEnv context) handle e => raise e in ( RunLoop.interactive options context; {result={code=NONE, interface=NONE}, requires=nil, loaded=nil} ) end | CompileSML (options, filename) => let val _ = #start Counter.loadInterfaceTimeCounter() val builtinContext = loadBuiltin () val _ = #stop Counter.loadInterfaceTimeCounter() val io = Filename.TextIO.openIn filename val _ = #start Counter.compileFileTimeCounter() val (code, {requires, provide, depends}) = compileFile builtinContext options (io, Filename.toString filename) handle e => (TextIO.closeIn io; raise e) val _ = #stop Counter.compileFileTimeCounter() val _ = TextIO.closeIn io in {result = {code = code, interface = provide}, requires = map (fn x => {code = NONE, interface = SOME x}) requires, loaded = (AbsynInterface.LOCALPATH, Filename.toString filename) :: depends} end | LoadSMI (options, filename) => let val _ = #start Counter.loadSMITimeCounter() val builtinContext = loadBuiltin () val _ = #stop Counter.loadInterfaceTimeCounter() val ({requires, provide, depends}, _) = Top.loadInterface options builtinContext filename val _ = #stop Counter.loadSMITimeCounter() in {result = {code = NONE, interface = provide}, requires = map (fn x => {code = NONE, interface = SOME x}) requires, loaded = (AbsynInterface.LOCALPATH, Filename.toString filename) :: depends} end | GenerateMain (options, exp) => let val _ = #start Counter.generateMainTimeCounter() val results as {result, requires, loaded} = evalMain exp val requires = requires @ [result] val mainSymbols = List.mapPartial #interface requires in case mainSymbols of nil => (#stop Counter.generateMainTimeCounter(); results) | _ => let val builtinContext = loadBuiltin () val _ = #stop Counter.loadInterfaceTimeCounter() val mainCode = GenerateMain.generate mainSymbols val io = TextIO.openString mainCode val (code, _) = compileFile builtinContext options (io, "(main)") val _ = #stop Counter.generateMainTimeCounter() in {result = {code = code, interface = NONE}, requires = requires, loaded = loaded} end end | LinkFile filename => {result = {code = SOME filename, interface = NONE}, requires = nil, loaded = nil} | Link (options, exps) => let val _ = #start Counter.linkTimeCounter() val {dryRun, noStdLib, LDFLAGS, LIBS, outputFilename} = options val results = map evalMain exps val objfiles = List.concat (map (fn {result, requires, ...} => let val result = toLinkObjFile result val requires = List.mapPartial toLinkObjFile requires in if dryRun then () else checkFileExist (map #2 requires); rev (optionToList result @ requires) end) results) val runtimeDir = Filename.fromString "runtime" val runtimeDir = Filename.concatPath (!systemBaseDir, runtimeDir) val libsmlsharp = Filename.fromString "libsmlsharp.a" val libsmlsharp = Filename.concatPath (runtimeDir, libsmlsharp) val smlsharpEntry = Filename.fromString "smlsharp_entry.o" val smlsharpEntry = Filename.concatPath (runtimeDir, smlsharpEntry) val libs = (if noStdLib then nil else [Filename.toString libsmlsharp]) @ LIBS val objects = (if noStdLib then nil else [smlsharpEntry]) @ map #2 objfiles in if dryRun then () else BinUtils.link {flags = LDFLAGS, libs = libs, objects = objects, dst = outputFilename, quiet = false}; #stop Counter.linkTimeCounter(); {result = {code = SOME outputFilename, interface = NONE}, requires = nil, loaded = map (fn (x, y) => (x, Filename.toString y)) objfiles} end | GenerateDepend (options, exps) => let val _ = #start Counter.generateDependTimeCounter() val results = map evalMain exps val rules = List.mapPartial (fn {result={code=SOME target,...}, loaded, ...} => SOME (Filename.toString target, loaded) | _ => NONE) results in outputDepends options rules; #stop Counter.generateDependTimeCounter(); {result={code=NONE, interface=NONE}, requires=nil, loaded=nil} end | PrintHash exp => let val results as {result, requires, loaded} = evalMain exp in app (fn {code, interface} => case interface of NONE => () | SOME {hash, sourceName, ...} => print (hash ^ " " ^ sourceName ^ "\n")) requires; results end | PrintSHA1 filename => let val f = Filename.BinIO.openIn filename val src = BinIO.inputAll f handle e => (BinIO.closeIn f; raise e) val _ = BinIO.closeIn f val hash = SHA1.toBase32 (SHA1.digest src) in print (hash ^ " " ^ Filename.toString filename ^ "\n"); {result={code=NONE, interface=NONE}, requires=nil, loaded=nil} end | Sequence nil => {result={code=NONE, interface=NONE}, requires=nil, loaded=nil} | Sequence (exp::exps) => (evalMain exp; evalMain (Sequence exps)) fun main (progname, args) = let val _ = #start Counter.parseArgsTimeCounter() val args = parseArgs args val _ = #stop Counter.parseArgsTimeCounter() val _ = #start Counter.compileArgsTimeCounter() val mainExp = compileArgs (progname, args) val _ = #stop Counter.compileArgsTimeCounter() val _ = evalMain mainExp in if !Control.doProfile then (print "Time Profile:\n"; print (Counter.dump ())) else (); TempFile.cleanup (); OS.Process.success end handle e => ( TempFile.cleanup (); printExn progname e; OS.Process.failure ) end smlsharp-1.2.0/src/compiler/main/main/SMLofNJ.smi0000644 000000000000000000000010512050661606021672 0ustar00rootroot0000000 0000000 structure SMLofNJ = struct val exnHistory : exn -> string list end smlsharp-1.2.0/src/compiler/main/main/SMLofNJ.sml0000644 000000000000000000000025412050661606021702 0ustar00rootroot0000000 0000000 (* dummy implementation of SMLofNJ structure *) structure SMLofNJ : sig val exnHistory : exn -> string list end = struct fun exnHistory (_:exn) = nil : string list end smlsharp-1.2.0/src/compiler/matchcompilation0000755 000000000000000000000000012050661606021360 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/matchcompilation/main0000755 000000000000000000000000012050661606022304 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/matchcompilation/main/MatchCompiler.smi0000644 000000000000000000000200412050661606025620 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../../compiler-utils/env/main/IEnv.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../patterncalc/main/PatternCalc.ppg.smi" _require "../../recordcalc/main/RecordCalc.ppg.smi" _require "../../typedcalc/main/TypedCalc.ppg.smi" _require "../../typedcalc/main/TypedCalcUtils.smi" _require "../../types/main/Types.ppg.smi" _require "../../types/main/TypesUtils.smi" _require "../../types/main/vars.smi" _require "../../builtin2/main/BuiltinTypes.smi" _require "../../usererror/main/UserError.ppg.smi" _require "MatchData.smi" _require "MatchError.ppg.smi" structure MatchCompiler = struct val compile : TypedCalc.tpdecl list -> RecordCalc.rcdecl list * UserError.errorInfo list end smlsharp-1.2.0/src/compiler/matchcompilation/main/MatchCompiler.sml0000755 000000000000000000015234412050661606025643 0ustar00rootroot0000000 0000000 (** * SML# match compiler. This code is based on the following works. * Atsushi Ohori and Satoshi Osaka "A Fresh Look at Pattern Matchning Compilation" (submitted for publication) * Satoshi Osana, "Pallalel Pattern Maching" (in Japanese) The latter one is an optimized version of the former, and is not published. The code was written by Satoshi Osaka. It was then re-written by Atsushi Ohori to incorporate verious optimization. A note by A. Ohori: In addition to the algorithms descrived in the above two articples, I incorporated the following for optimization: Instead of generating function declarations for brances, the new version set up a branch environmnet of the form branch id => {expression : exp functionExpression : { funId : F, funBody : Fbody funTy : FunTy funArgs : args } useCount: int ref } If the branch exceed the inlineLimit value and invoked more than once then the predefined limit then the following code is generated let val F = Fbody in case ... | .. => F args otherwise case ... | ... => exp is generated. * * @copyright (c) 2006, Tohoku University. * @author Satoshi Osaka * @author Atsushi Ohori * @version $Id: MatchCompiler.sml,v 1.70 2008/08/06 17:23:40 ohori Exp $ *) structure MatchCompiler : sig val compile : TypedCalc.tpdecl list -> RecordCalc.rcdecl list * UserError.errorInfo list end = struct local structure A = Absyn structure C = Control structure T = Types structure PC = PatternCalc structure TC = TypedCalc structure TU = TypesUtils structure TCU = TypedCalcUtils structure RC = RecordCalc structure UE = UserError structure BT = BuiltinTypes structure ME = MatchError fun bug s = Control.Bug ("MatchCompiler: " ^ s) type path = string list type constant = Absyn.constant type conInfo = T.conInfo fun newLocalId () = VarID.generate () fun newVarName () = TCU.newTCVarName() fun newVarPath () = [TCU.newTCVarName()] fun freshVarWithName (ty,name) = {path = [name],ty=ty,id=newLocalId()} : T.varInfo fun freshVarWithPath (ty,path) = {path =path,ty=ty,id=newLocalId()} : T.varInfo fun makeVar (id,path,ty) = {path=path,ty=ty,id=id} : T.varInfo fun printVarInfo var = print (Control.prettyPrint (Types.format_varInfo var)) open MatchData (* this function collects all the variables free or bound. This is used to optimize variable pattern to wild pattern when the variable is not used. *) fun getAllVars tpexp = let fun get (tpexp, set) = case tpexp of TC.TPERROR => set | TC.TPCONSTANT {const,ty,loc} => set | TC.TPGLOBALSYMBOL {name,kind,ty,loc} => set | TC.TPVAR (varInfo,loc) => VarInfoSet.add(set, varInfo) | TC.TPEXVAR (exVarInfo, loc) => set | TC.TPRECFUNVAR {var, arity, loc} => VarInfoSet.add(set, var) | TC.TPFNM {argVarList, bodyTy, bodyExp, loc} => get (bodyExp,set) | TC.TPAPPM {funExp, funTy, argExpList, loc} => foldl get (get (funExp, set)) argExpList | TC.TPDATACONSTRUCT {argExpOpt=NONE,...} => set | TC.TPDATACONSTRUCT {argExpOpt=SOME exp,...} => get (exp,set) | TC.TPEXNCONSTRUCT {argExpOpt=NONE,...} => set | TC.TPEXNCONSTRUCT {argExpOpt=SOME exp,...} => get (exp, set) | TC.TPEXN_CONSTRUCTOR _ => set | TC.TPEXEXN_CONSTRUCTOR _ => set | TC.TPCASEM {expList,ruleList,...} => foldl (fn ({args, body},set) => get(body, set)) (foldl get set expList) ruleList | TC.TPPRIMAPPLY {argExp=exp,...} => get (exp, set) | TC.TPOPRIMAPPLY {argExp=exp,...} => get (exp, set) | TC.TPRECORD {fields, recordTy, loc} => LabelEnv.foldl get set fields | TC.TPSELECT {label, exp, expTy, resultTy, loc} => get (exp,set) | TC.TPMODIFY {recordExp,elementExp,...} => get(elementExp, get(recordExp, set)) | TC.TPSEQ {expList, expTyList, loc} => foldl get set expList | TC.TPMONOLET {binds, bodyExp, loc} => get(bodyExp,foldl(fn ((var,exp),set) => get(exp,set)) set binds) | TC.TPLET {decls, body, tys, loc} => foldl get (foldl getDecl set decls) body | TC.TPRAISE {exp, ty, loc} => get(exp, set) | TC.TPHANDLE {exp, exnVar, handler, loc} => get(handler, get(exp, set)) | TC.TPPOLYFNM {btvEnv, argVarList, bodyTy, bodyExp, loc} => get(bodyExp, set) | TC.TPPOLY {btvEnv, expTyWithoutTAbs, exp, loc} => get(exp, set) | TC.TPTAPP {exp, expTy, instTyList, loc} => get(exp, set) | TC.TPFFIIMPORT {ptrExp, ffiTy, stubTy, loc} => get(ptrExp, set) | TC.TPCAST (tpexp, ty, loc) => get(tpexp, set) | TC.TPSIZEOF (ty, loc) => set | TC.TPSQLSERVER {server, schema, resultTy, loc} => set and getDecl (decl, set) = case decl of TC.TPVAL (valIdTpexpList, loc) => foldl (fn ((var,exp), set) => get (exp, set)) set valIdTpexpList | TC.TPFUNDECL (funBindlist, loc) => foldl (fn ({ruleList,...}, set) => foldl (fn({args,body},set)=>get(body,set)) set ruleList) set funBindlist | TC.TPPOLYFUNDECL (btvEnv, funBindList, loc) => foldl (fn ({ruleList,...}, set) => foldl (fn({args,body},set)=>get(body,set)) set ruleList) set funBindList | TC.TPVALREC (varExpTyEexpList, loc) => foldl (fn ({exp,...},set) => get(exp, set)) set varExpTyEexpList | TC.TPVALPOLYREC (btvEnv, varExpTyEexpList, loc) => foldl (fn ({exp,...},set) => get(exp, set)) set varExpTyEexpList | TC.TPEXD (exnconLocList, loc) => set | TC.TPEXNTAGD ({varInfo,...},loc) => VarInfoSet.add(set, varInfo) | TC.TPEXPORTVAR {internalVar, externalVar, loc} => VarInfoSet.add(set, internalVar) (* this case never happen; but this is more correct *) | TC.TPEXPORTRECFUNVAR {var, arity, loc} => VarInfoSet.add(set, var) (* this case never happen; but this is more correct *) | TC.TPEXPORTEXN (exnInfo , loc) => set | TC.TPEXTERNVAR (exVarInfo, loc) => set | TC.TPEXTERNEXN (exExnInfo, loc) => set in get (tpexp, VarInfoSet.empty) end in val nextBranchId = ref 0 fun newBranchId () = let val next = !nextBranchId in nextBranchId := next + 1 ; next end type branchData = { funArgs : VarInfoSet.item list, funBodyTy : T.ty, funLoc : Loc.loc, funTy : (T.ty option) ref, funVarId : VarID.id, funVarPath : path, isSmall : bool, tpexp: TC.tpexp, useCount : int ref } type branchEnv = branchData IEnv.map (* Check whether a given expression is smaller than the limit. The functionl only traverses upto the inlineLimit number of constructors in the given expression. *) fun isSmall tpexp = let datatype item = Exp of TC.tpexp | Decl of TC.tpdecl fun limitCheck nil n = true | limitCheck (item::itemList) n = if n > !C.limitOfInlineCaseBranch then false else case item of Exp rcepx => limitCheckExp rcepx itemList n | Decl tpdecl => limitCheckDecl tpdecl itemList n and limitCheckExp tpexp itemList n = case tpexp of TC.TPERROR => limitCheck itemList (n + 1) | TC.TPCONSTANT {const, ty, loc} => limitCheck itemList (n + 1) | TC.TPGLOBALSYMBOL _ => limitCheck itemList (n + 1) | TC.TPVAR (varIdInfo,loc) => limitCheck itemList (n + 1) | TC.TPEXVAR (exVarInfo, loc) => limitCheck itemList (n + 1) | TC.TPRECFUNVAR {var, arity, loc} => limitCheck itemList (n + 1) | TC.TPFNM {argVarList=varIdInfoList, bodyTy, bodyExp, loc} => limitCheck (Exp tpexp :: itemList) (n + 1) | TC.TPAPPM {funExp=tpexp1, funTy=ty, argExpList=tpexpList, loc} => limitCheck (Exp tpexp1 :: (map Exp tpexpList) @ itemList) (n + 1) | TC.TPDATACONSTRUCT {con=conIdInfo, instTyList=tyList, argExpOpt=NONE, argTyOpt, loc} => limitCheck itemList (n + 1) | TC.TPDATACONSTRUCT {con=conIdInfo, instTyList=tyList, argExpOpt=SOME tpexp1, argTyOpt, loc} => limitCheck (Exp tpexp1 :: itemList) (n + 1) | TC.TPEXNCONSTRUCT {exn=conIdInfo, instTyList=tyList, argExpOpt=NONE, argTyOpt, loc} => limitCheck itemList (n + 1) | TC.TPEXNCONSTRUCT {exn=conIdInfo, instTyList=tyList, argExpOpt=SOME tpexp1, argTyOpt, loc} => limitCheck (Exp tpexp1 :: itemList) (n + 1) | TC.TPEXN_CONSTRUCTOR {exnInfo, loc} => limitCheck itemList (n + 1) | TC.TPEXEXN_CONSTRUCTOR {exExnInfo, loc} => limitCheck itemList (n + 1) | TC.TPCASEM {expList,expTyList,ruleList,ruleBodyTy,caseKind,loc} => limitCheck (map Exp expList @ map (fn {args, body} => Exp body) ruleList @ itemList ) (n + 1) | TC.TPPRIMAPPLY {primOp,instTyList,argExp=tpexp1,argTy,loc} => limitCheck (Exp tpexp1::itemList) (n + 1) | TC.TPOPRIMAPPLY {argExp=tpexp1,...} => limitCheck (Exp tpexp1::itemList) (n + 1) | TC.TPRECORD {fields, recordTy=ty, loc} => limitCheck ((map (fn (l,tpexp) => Exp tpexp) (LabelEnv.listItemsi fields)) @ itemList) (n + 1) | TC.TPSELECT {label=string, exp=tpexp, expTy=ty, resultTy, loc} => limitCheck (Exp tpexp :: itemList) (n + 1) | TC.TPMODIFY {label=string, recordExp=tpexp1, recordTy=ty1, elementExp=tpexp2, elementTy=ty2, loc} => limitCheck (Exp tpexp1 :: Exp tpexp2 :: itemList) (n + 1) | TC.TPSEQ {expList, ...} => limitCheck (map Exp expList @ itemList) (n + 1) | TC.TPMONOLET {binds=(varIdInfo,tpexp1)::varIdInfotpexpList, bodyExp=tpexp2, loc} => limitCheck (Exp tpexp1 :: Exp (TC.TPMONOLET {binds=varIdInfotpexpList, bodyExp=tpexp2, loc=loc}) :: itemList) (n + 1) | TC.TPMONOLET {binds=nil, bodyExp=tpexp1, loc} => limitCheck (Exp tpexp1 :: itemList) (n + 1) | TC.TPLET {decls, body, tys, loc} => limitCheck ((map Decl decls) @ (map Exp body) @ itemList) (n + 1) | TC.TPRAISE {exp, ty, loc} => limitCheck (Exp exp :: itemList) (n + 1) | TC.TPHANDLE {exp=tpexp1, exnVar=varIdInfo, handler=tpexp2, loc} => limitCheck (Exp tpexp1 :: Exp tpexp2 :: itemList) (n + 1) | TC.TPPOLYFNM {btvEnv=btvKindIEnvMap, argVarList=varIdInfoList, bodyTy=ty, bodyExp=tpexp, loc} => limitCheck (Exp tpexp :: itemList) (n + 1) | TC.TPPOLY {btvEnv=btvKindIEnvMap, expTyWithoutTAbs=ty, exp=tpexp, loc} => limitCheck (Exp tpexp :: itemList) (n + 1) | TC.TPTAPP {exp=tpexp, expTy=ty1, instTyList=tylist, loc} => limitCheck (Exp tpexp :: itemList) (n + 1) | TC.TPFFIIMPORT { ptrExp=tpexp1, ... } => limitCheck (Exp tpexp1 :: itemList) (n + 1) | TC.TPSIZEOF _ => limitCheck itemList (n + 1) | TC.TPCAST (tpexp, ty, loc) => limitCheck (Exp tpexp :: itemList) (n + 1) | TC.TPSQLSERVER {server, schema, resultTy, loc} => limitCheck itemList (n + 1) and limitCheckDecl tfpdecl itemList n = case tfpdecl of TC.TPVAL (valIdtpexpList, loc) => limitCheck ((map (fn (varId, tpexp) => Exp tpexp) valIdtpexpList) @ itemList) (n + 1) | TC.TPFUNDECL _ => raise bug "TC.TPFUNDECL in MatchCompiler" | TC.TPPOLYFUNDECL _ => raise bug "TC.TPPOLYFUNDECL in MatchCompiler" | TC.TPVALREC (varTyExpList,loc) => limitCheck ((map (fn {var, expTy, exp} => Exp exp) varTyExpList) @ itemList) (n + 1) | TC.TPVALPOLYREC (btvKindIEnvMap, varTyExpList, loc) => limitCheck ((map (fn {var,expTy,exp} => Exp exp) varTyExpList) @ itemList) (n + 1) | TC.TPEXD (exnconLocList, loc) => limitCheck itemList (n + 1) | TC.TPEXNTAGD (bind, loc) => limitCheck itemList (n + 1) | TC.TPEXPORTVAR {internalVar, externalVar, loc} => limitCheck itemList (n + 1) | TC.TPEXPORTRECFUNVAR {var, arity, loc} => limitCheck itemList (n + 1) | TC.TPEXPORTEXN (exnInfo , loc) => limitCheck itemList (n + 1) | TC.TPEXTERNVAR (exVarInfo, loc) => limitCheck itemList (n + 1) | TC.TPEXTERNEXN (exExnInfo, loc) => limitCheck itemList (n + 1) in limitCheck [(Exp tpexp)] 0 end infixr ++ infixr +++ fun nil +++ x = x | (h::t) +++ x= h ++ (t +++ x) fun unionBtvEnv(outerBtvEnv, innerBtvEnv) = BoundTypeVarID.Map.unionWith #1 (innerBtvEnv, outerBtvEnv) fun unionVarInfoEnv(outerVarEnv, innerVarEnv) = VarInfoEnv.unionWith #1 (innerVarEnv, outerVarEnv) fun haveRedundantRules (branchEnv:branchEnv) = let exception Redundant in (IEnv.map (fn {useCount, ...} => if !useCount = 0 then raise Redundant else ()) branchEnv; false) handle Redundant => true end fun getFieldsOfTy (btvEnv : T.btvEnv) ty = case TU.derefTy ty of T.RECORDty fields => fields | T.TYVARty(ref(T.TVAR{tvarKind = T.REC fields, ...})) => fields | T.BOUNDVARty index => (case BoundTypeVarID.Map.find (btvEnv, index) of SOME{tvarKind = T.REC fields, ...} => fields | _ => raise C.Bug ("getFieldsOfTy found invalid BTV(" ^ BoundTypeVarID.toString index ^ ")")) | ty => raise C.Bug ("getFieldsOfTy found unexpected:" ^ T.tyToString ty) fun getTagNums {ty, path, id} = let val tyCon = case TU.derefTy ty of T.FUNMty(args, ty) => (case TU.derefTy ty of T.CONSTRUCTty{tyCon, ...} => tyCon | _ => (print "getTagNums\n"; T.printTy ty; print "\n"; raise bug "Non conty in userdefined type" ) ) | T.POLYty{body,...} => (case TU.derefTy body of T.FUNMty(args, ty) => (case TU.derefTy ty of T.CONSTRUCTty{tyCon, ...} => tyCon | _ => (print "getTagNums\n"; T.printTy ty; print "\n"; raise bug "Non conty in userdefined type" ) ) | T.CONSTRUCTty{tyCon, ...} => tyCon | _ => (print "getTagNums\n"; T.printTy ty; print "\n"; raise bug "Non conty in userdefined type" ) ) | T.CONSTRUCTty{tyCon, ...} => tyCon | _ => (print "getTagNums\n"; T.printTy ty; print "\n"; raise bug "Non conty in userdefined type" ) in case SEnv.listItems (#conSet tyCon) of nil => raise Control.Bug "NON span field in userdefined type" | L => List.length L end (***** return access path of root node *****) fun getPath tree = case tree of (EqNode (path, _, _)) => path | (DataConNode (path, _, _)) => path | (ExnConNode (path, _, _)) => path | (RecNode (path, _, _)) => path | (UnivNode (path, _)) => path | _ => raise C.Bug "match comp, getPath bug" (* ADDED for type preservation *) fun getTyInPat pat = case pat of (WildPat ty) => ty | (VarPat ({ ty, ... })) => ty | (ConstPat (_, ty)) => ty | (DataConPat (_, _, _, ty)) => ty | (ExnConPat (_, _, _, ty)) => ty | (RecPat (_, ty)) => ty | (LayerPat (pat, _)) => getTyInPat pat | (OrPat (pat, _)) => getTyInPat pat (* ADDED for type preservation *) fun getPathInPat pat = case pat of (WildPat _) => newVarPath () | (VarPat ({path, ... })) => path | (ConstPat _) => newVarPath () | (DataConPat _) => newVarPath () | (ExnConPat _) => newVarPath () | (RecPat _) => newVarPath () | (LayerPat (pat, _)) => getPathInPat pat | (OrPat (pat, _)) => getPathInPat pat fun incrementUseCount (branchEnv:branchEnv, branchId) = case IEnv.find(branchEnv, branchId) of SOME {useCount, ...} => useCount := !useCount + 1 | NONE => raise C.Bug "incrementUseCount in MatchCompiler: BranchId not found" fun canInlineBranch ({isSmall, useCount, ...} : branchData) = (!C.doInlineCaseBranch) andalso (isSmall orelse !useCount = 1) fun makeNestedFun argList body bodyTy loc = case argList of [] => ( RC.RCFNM { argVarList = [freshVarWithName (BT.unitTy, "unitExp(" ^ newVarName () ^ ")")], bodyTy=bodyTy, bodyExp=body, loc=loc }, T.FUNMty ([BT.unitTy], bodyTy) ) | argList => foldr (fn (arg, (body, bodyTy)) => (RC.RCFNM {argVarList=[arg], bodyTy=bodyTy, bodyExp=body, loc=loc}, T.FUNMty ([#ty arg], bodyTy))) (body, bodyTy) argList fun makeUncurriedFun argList body bodyTy loc = case argList of [] => ( RC.RCFNM { argVarList=[freshVarWithName (BT.unitTy,"unitExp(" ^ newVarName () ^ ")")], bodyTy=bodyTy, bodyExp=body, loc=loc }, T.FUNMty ([BT.unitTy], bodyTy) ) | argList => ( RC.RCFNM { argVarList=argList, bodyTy=bodyTy, bodyExp=body, loc=loc }, T.FUNMty (map #ty argList, bodyTy) ) (* [..., ([P1,...,Pn], e),...] -> (branchEnv, [..., P1++...++Pn++n,...]) *) fun makeRules branchTy tfpruleIntRefList loc = let fun getVars (VarPat x) = VarInfoSet.singleton x | getVars (DataConPat (_, _, argPat, _)) = getVars argPat | getVars (ExnConPat (_, _, argPat, _)) = getVars argPat | getVars (RecPat (fields, _)) = foldl (fn (field, vars) => VarInfoSet.union (getVars (#2 field), vars)) VarInfoSet.empty fields | getVars (LayerPat (pat1, pat2)) = VarInfoSet.union (getVars pat1, getVars pat2) | getVars (OrPat (pat1, pat2)) = VarInfoSet.union (getVars pat1, getVars pat2) | getVars _ = VarInfoSet.empty fun getVarsInPatList patList = foldr (fn (pat, V) => VarInfoSet.union(getVars pat, V)) VarInfoSet.empty patList val (branchEnv, rules) = foldr (fn (((patList, tpexp), useCounter), (branchEnv, rules)) => let val argList = VarInfoSet.listItems (getVarsInPatList patList) val branchId = newBranchId() val branchEnvEntry = { tpexp = tpexp, isSmall = isSmall tpexp, useCount = useCounter, funVarPath = newVarPath (), funVarId = newLocalId(), funBodyTy = branchTy, funTy = ref NONE, funLoc = loc, funArgs = argList } : branchData in ( IEnv.insert(branchEnv, branchId, branchEnvEntry), ( patList +++ End branchId, VarInfoEnv.empty) :: rules ) end) (IEnv.empty, []) tfpruleIntRefList in (branchEnv, rules) end fun tppatToPat btvEnv FV tppat = case tppat of TC.TPPATERROR (ty, loc) => WildPat ty | TC.TPPATWILD (ty, _) => WildPat ty | TC.TPPATVAR (x, _) => if VarInfoSet.member (FV, x) then VarPat x else WildPat (#ty x) | TC.TPPATCONSTANT (A.UNITCONST _, ty, _) => WildPat ty | TC.TPPATCONSTANT (con, ty, _) => ConstPat (con, ty) | TC.TPPATDATACONSTRUCT {conPat, argPatOpt=NONE, patTy=ty, ...} => DataConPat (conPat, false, WildPat BT.unitTy, ty) | TC.TPPATDATACONSTRUCT{conPat,argPatOpt = SOME argPat,patTy=ty,...}=> DataConPat (conPat, true, tppatToPat btvEnv FV argPat, ty) | TC.TPPATEXNCONSTRUCT {exnPat, argPatOpt=NONE, patTy=ty, ...} => ExnConPat (exnPat, false, WildPat BT.unitTy, ty) | TC.TPPATEXNCONSTRUCT {exnPat,argPatOpt = SOME argPat,patTy=ty,...} => ExnConPat (exnPat, true, tppatToPat btvEnv FV argPat, ty) | TC.TPPATRECORD {fields=patRows, recordTy=ty,...} => let (* The match compilation algorithm assumes that every record * patterns at the same path in all branches have the same * label set. * That is, it does not consider flexible record pattern, by * which record patterns at the same path may have different * fields. * Therefore, before match compilation, every record patterns * should be filled with "missing" fields. * Assume the record pattern is * {x = p1, y = p2, ...} * which is typed as t. * If t is a record type {x : t1, y : t2, z : t3}, or a type * variable of a kind {{x : t1, y : t2, z : t3}}, a missing * field "z" should be added to obtain the following record * pattern. * {x = p1, y = p2, z = _} *) val expectedFields = getFieldsOfTy btvEnv ty val augmentedPatRows = LabelEnv.foldri (fn (label, ty, pats) => let val pat = case LabelEnv.find(patRows, label) of SOME pat => tppatToPat btvEnv FV pat | NONE => WildPat ty in (label, pat) :: pats end) [] expectedFields in RecPat (augmentedPatRows, ty) end | TC.TPPATLAYERED {varPat=pat1, asPat=pat2, ...} => (case tppatToPat btvEnv FV pat1 of x as (VarPat _) => LayerPat (x, tppatToPat btvEnv FV pat2) | _ => tppatToPat btvEnv FV pat2) fun removeOtherPat path ruleList = case ruleList of [] => [] | (REs as ((End _, _) :: _)) => REs | ((VarPat x ++ rule, env) :: REs) => (WildPat (#ty x) ++ rule, VarInfoEnv.insert (env, x, path)) :: removeOtherPat path REs | ((LayerPat (VarPat x, pat) ++ rule, env) :: REs) => removeOtherPat path ((pat ++ rule, VarInfoEnv.insert (env, x, path)) :: REs) | ((OrPat (pat1, pat2) ++ rule, env) :: REs) => removeOtherPat path ((pat1 ++ rule, env) :: (pat2 ++ rule, env) :: REs) | (RE :: REs) => RE :: removeOtherPat path REs fun makeEqTree branchEnv (path :: paths) REs = let val (branches, defBranch) = foldr (fn ((ConstPat (c, _) ++ rule, env), (branches, defBranch)) => ( ConstMap.insert ( branches, c, (rule, env) :: getOpt (ConstMap.find (branches, c), defBranch) ), defBranch ) | ((WildPat _ ++ rule, env), (branches, defBranch)) => let val RE = (rule, env) in (ConstMap.map (fn REs => RE :: REs) branches, RE :: defBranch) end | _ => raise C.Bug "match comp, in makeEqTree") (ConstMap.empty, []) REs in EqNode ( path, ConstMap.map (matchToTree branchEnv paths) branches, matchToTree branchEnv paths defBranch ) end | makeEqTree _ _ _ = raise C.Bug "match comp, makeEqTree" and makeDataConTree branchEnv spans (path :: paths) REs = let val (branches, defBranch) = foldr (fn ( (DataConPat (tag, hasArg, argPat, ty) ++ rule, env), (branches, defBranch) ) => let val key = (tag, hasArg) val REs = case DataConMap.find (branches, key) of SOME REs => REs | NONE => let val wildPat = WildPat (getTyInPat argPat) in map (fn (rule, env) => (wildPat ++ rule, env)) defBranch end in ( DataConMap.insert (branches, key, (argPat ++ rule, env) :: REs), defBranch ) end | ((WildPat _ ++ rule, env), (branches, defBranch)) => ( DataConMap.map (fn (REs as ((pat ++ _, _) :: _)) => (WildPat (getTyInPat pat) ++ rule, env) :: REs | _ => raise C.Bug "match comp, in makeTagTree") branches, (rule, env) :: defBranch ) | _ => raise C.Bug "match comp, in makeTagTree") (DataConMap.empty, []) REs in DataConNode ( path, DataConMap.mapi (fn ((tag, _), REs as ((pat ++ _, _) :: _)) => matchToTree branchEnv (freshVarWithPath (getTyInPat pat, getPathInPat pat) :: paths) REs | _ => raise C.Bug "match comp, in makeTagTree") branches, if DataConMap.numItems branches = spans then EmptyNode else matchToTree branchEnv paths defBranch ) end | makeDataConTree _ _ _ _ = raise C.Bug "match comp, makeTagTree" and makeExnConTree branchEnv (path :: paths) REs = let val (branches, defBranch) = foldr (fn ( (ExnConPat (tag, hasArg, argPat, ty) ++ rule, env), (branches, defBranch) ) => let val key = (tag, hasArg) val REs = case ExnConMap.find (branches, key) of SOME REs => REs | NONE => let val wildPat = WildPat (getTyInPat argPat) in map (fn (rule, env) => (wildPat ++ rule, env)) defBranch end in ( ExnConMap.insert (branches, key, (argPat ++ rule, env) :: REs), defBranch ) end | ((WildPat _ ++ rule, env), (branches, defBranch)) => ( ExnConMap.map (fn (REs as ((pat ++ _, _) :: _)) => (WildPat (getTyInPat pat) ++ rule, env) :: REs | _ => raise C.Bug "match comp, in makeTagTree") branches, (rule, env) :: defBranch ) | _ => raise C.Bug "match comp, in makeTagTree") (ExnConMap.empty, []) REs in ExnConNode ( path, ExnConMap.mapi (fn ((tag, _), REs as ((pat ++ _, _) :: _)) => matchToTree branchEnv (freshVarWithPath (getTyInPat pat, getPathInPat pat) :: paths) REs | _ => raise C.Bug "match comp, in makeTagTree") branches, (* The case of exn, spans is infinite, so if branch will never happen. if ExnConMap.numItems branches = spans then EmptyNode else matchToTree branchEnv paths defBranch *) matchToTree branchEnv paths defBranch ) end | makeExnConTree _ _ _ = raise C.Bug "match comp, makeTagTree" (* * Because unit type has only one value (), pattern match on unit type * succeeds always. So, make a univ node. *) and makeUnitTree branchEnv paths REs = makeUnivTree branchEnv paths REs and makeNRecTree branchEnv (label, fieldTy, fieldPath) (path :: paths) REs = RecNode ( path, label, matchToTree branchEnv (freshVarWithPath (fieldTy,fieldPath) :: paths) (map (fn (RecPat ([(_, pat)], _) ++ rule, env) => (pat ++ rule, env) | (WildPat _ ++ rule, env) => (WildPat fieldTy ++ rule, env) | _ => raise C.Bug "match comp, in makeNRecTree") REs) ) | makeNRecTree _ _ _ _ = raise C.Bug "match comp, makeNRecTree" and makeIRecTree branchEnv (recordTy, label, fieldTy, fieldPath) (paths as (path :: _)) REs = RecNode ( path, label, matchToTree branchEnv (freshVarWithPath (fieldTy,fieldPath) :: paths) (map (fn (RecPat ((_, pat) :: fields, ty) ++ rule, env) => (pat ++ RecPat (fields, ty) ++ rule, env) | (WildPat _ ++ rule, env) => (WildPat fieldTy ++ WildPat recordTy ++ rule, env) | _ => raise C.Bug "match comp, in makeIRecTree") REs) ) | makeIRecTree _ _ _ _ = raise C.Bug "match comp, makeIRecTree" and makeUnivTree branchEnv (path :: paths) REs = UnivNode ( path, matchToTree branchEnv paths (map (fn (pat ++ rule, env) => (rule, env) | _ => raise C.Bug "makeUnivTree") REs) ) | makeUnivTree _ _ _ = raise C.Bug "match comp, makeUnivTree" and decideRootNode branchEnv ruleList = case ruleList of [] => makeUnivTree branchEnv | ((WildPat _ ++ _, _) :: REs) => decideRootNode branchEnv REs | ((ConstPat _ ++ _, _) :: _) => makeEqTree branchEnv | ((DataConPat (tag, _, _, _) ++ _, _) :: _) => makeDataConTree branchEnv (getTagNums tag) | ((ExnConPat (tag, _, _, _) ++ _, _) :: _) => makeExnConTree branchEnv | ((RecPat ([], _) ++ _, _) :: _) => makeUnitTree branchEnv | ((RecPat ([(label, pat)], _) ++ _, _) :: _) => makeNRecTree branchEnv (label, getTyInPat pat, getPathInPat pat) | ((RecPat ((label, pat) :: _, recTy) ++ _, _) :: _) => makeIRecTree branchEnv (recTy, label, getTyInPat pat, getPathInPat pat) | _ => raise C.Bug "match comp, decideRootNode" and matchToTree branchEnv _ [] = (ME.setFlag ME.NotExhaustive; EmptyNode ) | matchToTree branchEnv [] ((End branchId, env) :: REs)= (incrementUseCount (branchEnv, branchId); LeafNode (branchId, env)) | matchToTree branchEnv paths REs = let val REs = removeOtherPat (hd paths) REs in (decideRootNode branchEnv REs) paths REs end fun treeToRcexp varEnv btvEnv branchEnv kind tree resultTy loc = let val failureExp = case kind of Handle v => ME.handleFail v resultTy loc | Match => ME.raiseMatchFailExp resultTy loc | Bind => ME.raiseBindFailExp resultTy loc (* fun getTagNums (tyCon : tyCon) = SEnv.numItems ((#datacon tyCon)) *) fun getTagNums (tyCon : Types.tyCon) = case SEnv.listItems (#conSet tyCon) of nil => raise Control.Bug "NON span field in userdefined type" | L => List.length L fun toExp EmptyNode = (VarInfoSet.empty, failureExp) | toExp (LeafNode (branchId, env)) = let val branchData as { tpexp, isSmall, useCount, funVarPath, funVarId, funBodyTy, funTy, funLoc, funArgs } : branchData = case IEnv.find(branchEnv, branchId) of SOME branchData => branchData | NONE => raise C.Bug "MatchCompiler toExp: undefined branchId" in ( VarInfoEnv.foldl VarInfoSet.add' VarInfoSet.empty env, if canInlineBranch branchData then tpexpToRcexp (unionVarInfoEnv(varEnv, env)) btvEnv tpexp else case funArgs of [] => RC.RCAPPM { funExp= RC.RCVAR (makeVar(funVarId, funVarPath, valOf (!funTy)), funLoc), funTy=valOf (!funTy), argExpList=[unitExp], loc=loc } | _ => if !C.doUncurryingOptimizeInMatchCompile then let val funArgs = map (fn x => case VarInfoEnv.find (env, x) of SOME v => RC.RCVAR (v, loc) | _ => raise C.Bug "match comp, treeToExp, \ \leaf node for fun") funArgs in RC.RCAPPM { funExp = RC.RCVAR (makeVar(funVarId, funVarPath, valOf (!funTy)), funLoc), funTy = valOf(!funTy), argExpList = funArgs, loc=funLoc } end else #2 (foldl (fn (arg, (T.FUNMty([ty1],ty2), func)) => (ty2, RC.RCAPPM { funExp = func, funTy = T.FUNMty([ty1], ty2), argExpList = case VarInfoEnv.find (env, arg) of SOME v => [RC.RCVAR (v, loc)] | _ => raise C.Bug "match comp, treeToExp,\ \ leaf node for fun", loc=loc } ) | _ => raise C.Bug "match comp, treeToExp,\ \ leaf node for fun" ) (valOf (!funTy), RC.RCVAR (makeVar(funVarId, funVarPath, valOf (!funTy)), funLoc)) funArgs ) ) end | toExp (EqNode (path as {ty= pty,...}, branches, defBranch)) = let val (vars, branches) = ConstMap.foldri (fn (c, T, (vars, branches)) => let val (vars', exp) = toExp T in (VarInfoSet.union (vars', vars), (c, exp) :: branches) end) (VarInfoSet.empty, []) branches val (defVars, defBranch) = toExp defBranch in ( VarInfoSet.add (VarInfoSet.union (vars, defVars), path), RC.RCSWITCH { switchExp = RC.RCVAR (path, loc), expTy = pty, branches = branches, defaultExp = defBranch, loc=loc } ) end | toExp (DataConNode (varInfo as {ty = pty, path,...}, branches, defBranch)) = let val tyCon = case (TU.derefTy pty) of T.CONSTRUCTty {tyCon, ...} => tyCon | _ => raise Control.Bug "non tyCon in TagNode (1)\ \ (matchcompilation/main/MatchCompiler.sml)" val branchNums = DataConMap.numItems branches val (vars, branches) = DataConMap.foldri (fn ((i, hasArg), Ti, (vars, branches)) => let val (vars', exp) = toExp Ti val (argOpt, newExp) = if hasArg then let val arg = getPath Ti in (SOME arg, exp) end else (NONE,exp) in ( VarInfoSet.union (vars', vars), ( i, argOpt, newExp) :: branches ) end) (VarInfoSet.empty, []) branches val (defVars, defBranch) = if getTagNums tyCon <> branchNums then toExp defBranch else case defBranch of EmptyNode => (VarInfoSet.empty, ME.raiseMatchCompBugExp resultTy loc) | _ => toExp defBranch in ( VarInfoSet.add (VarInfoSet.union (vars, defVars), varInfo), RC.RCCASE {exp = RC.RCVAR (varInfo, loc), expTy = pty, ruleList=branches, defaultExp = defBranch, loc= loc } ) end | toExp (ExnConNode (var as {ty,...}, branches, defBranch)) = let val tyCon = case TU.derefTy ty of T.CONSTRUCTty {tyCon, ...} => tyCon | _ => raise Control.Bug "non tyCon in TagNode (2)\ \ (matchcompilation/main/MatchCompiler.sml)" val branchNums = ExnConMap.numItems branches val (vars, branches) = ExnConMap.foldri (fn ((i, hasArg), Ti, (vars, branches)) => let val (vars', exp) = toExp Ti val (argOpt, newExp) = if hasArg then let val arg = getPath Ti in (SOME arg, exp) end else (NONE,exp) in ( VarInfoSet.union (vars', vars), ( i, argOpt, newExp) :: branches ) end) (VarInfoSet.empty, []) branches val (defVars, defBranch) = (* spans is infinite, so it always have default branch. *) toExp defBranch in ( VarInfoSet.add (VarInfoSet.union (vars, defVars), var), RC.RCEXNCASE {exp = RC.RCVAR (var, loc), expTy = ty, ruleList=branches, defaultExp = defBranch, loc= loc } ) end | toExp (RecNode (path, label, child)) = let val pi = getPath child val z as (vars, exp) = toExp child in if not (VarInfoSet.member (vars, pi)) then z else ( VarInfoSet.add (vars, path), RC.RCMONOLET { binds = [(pi, RC.RCSELECT {exp = RC.RCVAR (path, loc), indexExp = RC.RCINDEXOF (label, #ty path, loc), label = label, expTy = #ty path, resultTy = #ty pi, loc=loc })], bodyExp = exp, loc=loc } ) end | toExp (UnivNode (path, child)) = toExp child (* | toExp _ = raise C.Bug "match comp, treeToRcexp bug" *) val result = #2 (toExp tree) in result end and tpexpToRcexp varEnv btvEnv tpexp = case tpexp of TC.TPERROR => raise bug "TPERROR" | TC.TPCONSTANT {const,ty,loc} => RC.RCCONSTANT {const=const,ty=ty,loc=loc} | TC.TPGLOBALSYMBOL {name, kind, ty, loc} => RC.RCGLOBALSYMBOL {name=name, kind=kind, ty=ty, loc=loc} | TC.TPVAR (var, loc) => (case (VarInfoEnv.find (varEnv, var)) of SOME v => RC.RCVAR(v, loc) | NONE => RC.RCVAR (var, loc)) | TC.TPEXVAR (exVarInfo, loc) => RC.RCEXVAR (exVarInfo, loc) | TC.TPRECFUNVAR {var, arity, loc} => raise bug "RECFUNVAR should be eliminated" | TC.TPFNM {argVarList, bodyTy, bodyExp, loc} => RC.RCFNM { argVarList= argVarList, bodyTy=bodyTy, bodyExp=tpexpToRcexp varEnv btvEnv bodyExp, loc=loc } | TC.TPAPPM {funExp, funTy, argExpList, loc} => RC.RCAPPM { funExp=tpexpToRcexp varEnv btvEnv funExp, funTy=funTy, argExpList=map (tpexpToRcexp varEnv btvEnv) argExpList, loc=loc } | TC.TPDATACONSTRUCT {con, instTyList=tys, argExpOpt, argTyOpt, loc} => RC.RCDATACONSTRUCT { con=con, instTyList=tys, argExpOpt = case argExpOpt of NONE => NONE | SOME tpexp => SOME (tpexpToRcexp varEnv btvEnv tpexp), argTyOpt = argTyOpt, loc=loc } | TC.TPEXNCONSTRUCT {exn, instTyList, argExpOpt, argTyOpt, loc} => RC.RCEXNCONSTRUCT { exn=exn, instTyList=instTyList, argExpOpt = case argExpOpt of NONE => NONE | SOME tpexp => SOME (tpexpToRcexp varEnv btvEnv tpexp), loc=loc } | TC.TPEXN_CONSTRUCTOR {exnInfo,loc} => RC.RCEXN_CONSTRUCTOR {exnInfo = exnInfo,loc=loc} | TC.TPEXEXN_CONSTRUCTOR {exExnInfo,loc} => RC.RCEXEXN_CONSTRUCTOR {exExnInfo = exExnInfo,loc=loc} | TC.TPCASEM {expList, expTyList, ruleList, ruleBodyTy, caseKind, loc} => let val (topVarList, topBinds) = foldr (fn ((exp, ty1), (topVarList, topBinds)) => case exp of TC.TPVAR (var, _) => (case (VarInfoEnv.find (varEnv, var)) of SOME v => (v::topVarList, topBinds) | NONE => (var::topVarList, topBinds) ) | _ => let val newVar = freshVarWithName (ty1, "caseExp(" ^ newVarName () ^ ")") val rcexp = tpexpToRcexp varEnv btvEnv exp in (newVar::topVarList, (newVar, rcexp)::topBinds) end ) (nil,nil) (ListPair.zip (expList, expTyList)) val caseKind = case caseKind of PC.MATCH => Match | PC.BIND => Bind | PC.HANDLE => (case topVarList of [v] => (Handle v) | _ => raise Control.Bug "non single var in casem for handler" ) val tpPatListTpexpUseCountList = map (fn tpRule => (tpRule, ref 0)) ruleList val patListTpexpUseCountList = map (fn ({args, body}, useCount) => ((map (tppatToPat btvEnv (getAllVars body)) args, body), useCount)) tpPatListTpexpUseCountList val (branchEnv, rules) = makeRules ruleBodyTy patListTpexpUseCountList loc val _ = ME.clearFlag ME.NotExhaustive val tree = matchToTree branchEnv topVarList rules val redundantFlag = haveRedundantRules branchEnv val _ = if redundantFlag then ME.setFlag ME.Redundant else () val _ = ME.checkError (caseKind, redundantFlag, ME.isNotExhaustive (), map (fn ({args, body}, useCount) => ((args, body), useCount)) tpPatListTpexpUseCountList, loc) val funDecs = IEnv.foldl (fn (branchData as { tpexp, isSmall, useCount, funVarPath, funVarId, funBodyTy, funLoc, funTy = funTyRef, funArgs } : branchData, funDecs) => if canInlineBranch branchData then funDecs else let val (funTerm, funTy) = if !C.doUncurryingOptimizeInMatchCompile then makeUncurriedFun funArgs (tpexpToRcexp varEnv btvEnv tpexp) funBodyTy funLoc else makeNestedFun funArgs (tpexpToRcexp varEnv btvEnv tpexp) funBodyTy funLoc val _ = funTyRef := (SOME funTy) in (makeVar(funVarId, funVarPath, funTy), funTerm)::funDecs end ) nil branchEnv in if redundantFlag then expDummy else case (topBinds,funDecs) of (nil, nil) => treeToRcexp varEnv btvEnv branchEnv caseKind tree ruleBodyTy loc | _ => RC.RCMONOLET { binds= topBinds @ funDecs, bodyExp= treeToRcexp varEnv btvEnv branchEnv caseKind tree ruleBodyTy loc, loc=loc } end | TC.TPPRIMAPPLY {primOp, instTyList, argExp, argTy,loc} => RC.RCPRIMAPPLY { primOp=primOp, instTyList=instTyList, argExp=tpexpToRcexp varEnv btvEnv argExp, loc=loc } | TC.TPOPRIMAPPLY {oprimOp, instTyList, argExp, argTy, loc} => RC.RCOPRIMAPPLY { oprimOp=oprimOp, instTyList=instTyList, argExp=tpexpToRcexp varEnv btvEnv argExp, loc=loc } | TC.TPRECORD {fields, recordTy=ty, loc} => RC.RCRECORD { fields=LabelEnv.map (tpexpToRcexp varEnv btvEnv) fields, recordTy=ty, loc=loc } | TC.TPSELECT {label, exp, expTy=ty, resultTy, loc} => RC.RCSELECT { indexExp = RC.RCINDEXOF (label, ty, loc), label = label, exp=tpexpToRcexp varEnv btvEnv exp, expTy=ty, resultTy = resultTy, loc=loc } | TC.TPMODIFY {label, recordExp=exp1, recordTy=ty1, elementExp=exp2, elementTy=ty2, loc} => RC.RCMODIFY { indexExp = RC.RCINDEXOF (label, ty1, loc), label = label, recordExp=tpexpToRcexp varEnv btvEnv exp1, recordTy=ty1, elementExp=tpexpToRcexp varEnv btvEnv exp2, elementTy=ty2, loc=loc } | TC.TPSEQ {expList, expTyList, loc} => RC.RCSEQ { expList=map (tpexpToRcexp varEnv btvEnv) expList, expTyList=expTyList, loc=loc } | TC.TPMONOLET {binds, bodyExp, loc} => RC.RCMONOLET { binds= map (fn (v, e) =>(v, tpexpToRcexp varEnv btvEnv e)) binds, bodyExp=tpexpToRcexp varEnv btvEnv bodyExp, loc=loc } | TC.TPLET {decls, body, tys, loc} => RC.RCLET {decls= map (tpdecToRcdec varEnv btvEnv) decls, body=map (tpexpToRcexp varEnv btvEnv) body, tys=tys, loc=loc } | TC.TPRAISE {exp, ty, loc} => RC.RCRAISE {exp=tpexpToRcexp varEnv btvEnv exp, ty=ty, loc=loc} | TC.TPHANDLE {exp=exp1, exnVar, handler=exp2, loc} => RC.RCHANDLE { exp=tpexpToRcexp varEnv btvEnv exp1, exnVar= exnVar, handler=tpexpToRcexp varEnv btvEnv exp2, loc=loc } | TC.TPPOLYFNM {btvEnv=localBtvEnv, argVarList=varList, bodyTy=ty, bodyExp=exp, loc} => RC.RCPOLYFNM { btvEnv=localBtvEnv, argVarList= varList, bodyTy=ty, bodyExp= tpexpToRcexp varEnv (unionBtvEnv(btvEnv, localBtvEnv)) exp, loc=loc } | TC.TPPOLY {btvEnv=localBtvEnv, expTyWithoutTAbs=ty, exp=exp, loc} => RC.RCPOLY { btvEnv=localBtvEnv, expTyWithoutTAbs=ty, exp=tpexpToRcexp varEnv (unionBtvEnv(btvEnv, localBtvEnv)) exp, loc=loc } | TC.TPTAPP {exp, expTy=ty1, instTyList=tys, loc} => RC.RCTAPP { exp=tpexpToRcexp varEnv btvEnv exp, expTy=ty1, instTyList=tys, loc=loc } | TC.TPFFIIMPORT {ptrExp=tpexp1, ffiTy, stubTy, loc} => let val rcexp1 = tpexpToRcexp varEnv btvEnv tpexp1 in RC.RCFFI (RC.RCFFIIMPORT {ptrExp=rcexp1, ffiTy=ffiTy}, stubTy, loc) end | TC.TPSIZEOF (ty, loc) => RC.RCSIZEOF (ty, loc) | TC.TPCAST (exp, ty, loc) => RC.RCCAST(tpexpToRcexp varEnv btvEnv exp, ty, loc) | TC.TPSQLSERVER {server, schema, resultTy, loc} => RC.RCSQL (RC.RCSQLSERVER {server = server, schema = schema}, resultTy, loc) and tpdecToRcdec varEnv btvEnv tpdec = case tpdec of TC.TPVAL (binds, loc) => let fun toRcbind (var, exp) = (var, tpexpToRcexp varEnv btvEnv exp) in RC.RCVAL (map toRcbind binds, loc) end | TC.TPVALREC (binds, loc) => let fun toRcbind {var, expTy, exp} = {var=var, expTy=expTy, exp = tpexpToRcexp varEnv btvEnv exp} in RC.RCVALREC (map toRcbind binds, loc) end | TC.TPVALPOLYREC (localBtvEnv, binds, loc) => let fun toRcbind {var, expTy, exp} = {var=var, expTy = expTy, exp = tpexpToRcexp varEnv (unionBtvEnv(btvEnv, localBtvEnv)) exp} in RC.RCVALPOLYREC (localBtvEnv, map toRcbind binds, loc) end | TC.TPFUNDECL (funbinds, loc) => raise bug "TPFUNDECL should be eliminated" | TC.TPPOLYFUNDECL (btvEnv, funbinds, loc) => raise bug "TPPOLYFUNDECL: FIXME: not yet" | TC.TPEXD (binds, loc) => RC.RCEXD (binds, loc) | TC.TPEXNTAGD (bind, loc) => RC.RCEXNTAGD (bind, loc) | TC.TPEXPORTVAR {internalVar, externalVar, loc} => (* RC.RCEXPORTVAR ({id=id, path=path, ty=ty}, loc) *) RC.RCEXPORTVAR {internalVar=internalVar, externalVar=externalVar,loc=loc} | TC.TPEXPORTRECFUNVAR _ => raise bug "TPEXPORTRECFUNVAR to matchcompiler" | TC.TPEXPORTEXN (exnInfo, loc) => RC.RCEXPORTEXN (exnInfo, loc) | TC.TPEXTERNVAR (exVarInfo, loc) => RC.RCEXTERNVAR (exVarInfo, loc) | TC.TPEXTERNEXN (exExnInfo, loc) => RC.RCEXTERNEXN (exExnInfo, loc) fun compile tpdecls = let val _ = nextBranchId := 0 val _ = ME.clearFlag ME.Redundant val _ = ME.clearErrorMessages () val topBlockList = map (tpdecToRcdec VarInfoEnv.empty BoundTypeVarID.Map.empty) tpdecls in if ME.isRedundant () then raise UE.UserErrors (rev (ME.getErrorMessages ())) else (topBlockList, rev (ME.getErrorMessages ())) end handle exn => raise exn end end smlsharp-1.2.0/src/compiler/matchcompilation/main/MatchData.smi0000644 000000000000000000000471112050661606024726 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlnj-lib/Util/ord-key-sig.sml" _require "../../../smlnj-lib/Util/binary-map-fn.smi" _require "../../../smlformat-lib.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../builtin2/main/BuiltinPrimitive.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../control/main/Loc.ppg.smi" _require "../../util/main/BigInt_IntInf.smi" _require "../../util/main/TermFormat.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../types/main/Types.ppg.smi" _require "../../builtin2/main/BuiltinTypes.smi" _require "../../types/main/vars.smi" _require "../../typedcalc/main/TypedCalc.ppg.smi" _require "../../recordcalc/main/RecordCalc.ppg.smi" structure MatchData = struct datatype kind = Bind | Match | Handle of Types.varInfo type const = Absyn.constant type conInfo = Types.conInfo type exnCon = TypedCalc.exnCon structure ConstOrd = struct type ord_key = const val compare : ord_key * ord_key -> order end structure DataConOrd = struct type ord_key = conInfo * bool val compare : ord_key * ord_key -> order end structure ExnConOrd = struct type ord_key = exnCon * bool val compare : ord_key * ord_key -> order end structure SSOrd = struct type ord_key = string * string val compare : ord_key * ord_key -> order end structure ConstMap = BinaryMapFn (ConstOrd) structure DataConMap = BinaryMapFn (DataConOrd) structure ExnConMap = BinaryMapFn (ExnConOrd) structure SSMap = BinaryMapFn (SSOrd) type branchId = int datatype pat = WildPat of Types.ty | VarPat of Types.varInfo | ConstPat of const * Types.ty | DataConPat of conInfo * bool * pat * Types.ty | ExnConPat of exnCon * bool * pat * Types.ty | RecPat of (string * pat) list * Types.ty | LayerPat of pat * pat | OrPat of pat * pat type exp = branchId datatype rule = End of exp | ++ of pat * rule type env = Types.varInfo VarInfoEnv.map datatype tree = EmptyNode | LeafNode of exp * env | EqNode of Types.varInfo * tree ConstMap.map * tree | DataConNode of Types.varInfo * tree DataConMap.map * tree | ExnConNode of Types.varInfo * tree ExnConMap.map * tree | RecNode of Types.varInfo * string * tree | UnivNode of Types.varInfo * tree val unitExp : RecordCalc.rcexp val expDummy : RecordCalc.rcexp end smlsharp-1.2.0/src/compiler/matchcompilation/main/MatchData.sml0000755 000000000000000000001006312050661606024731 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2006, Tohoku University. * @author OSAKA Satoshi * @version $Id: MatchData.sml,v 1.17 2008/02/21 02:58:41 bochao Exp $ *) structure MatchData = struct local structure A = Absyn structure T = Types structure TC = TypedCalc structure RC = RecordCalc structure BT = BuiltinTypes in datatype kind = Bind | Match | Handle of T.varInfo type const = Absyn.constant type conInfo = T.conInfo type exnCon = TC.exnCon structure ConstOrd : ORD_KEY = struct type ord_key = const fun orderRadix StringCvt.BIN = 0 | orderRadix StringCvt.OCT = 1 | orderRadix StringCvt.DEC = 2 | orderRadix StringCvt.HEX = 4 fun compareInt ({radix=r1, digits=d1}, {radix=r2, digits=d2}) = case Int.compare (orderRadix r1, orderRadix r2) of EQUAL => String.compare (d1, d2) | order => order fun compare (A.INT (x,_), A.INT (y,_)) = compareInt (x, y) | compare (A.WORD (x,_), A.WORD (y,_)) = compareInt (x, y) | compare (A.STRING (s1,_), A.STRING (s2,_)) = String.compare (s1, s2) | compare (A.REAL (r1,_), A.REAL (r2,_)) = String.compare (r1, r2) | compare (A.CHAR (c1,_), A.CHAR (c2,_)) = Char.compare (c1, c2) | compare (A.INT _, _) = LESS | compare (A.STRING _, A.REAL _) = LESS | compare (_, _) = GREATER end structure DataConOrd : ORD_KEY = (* Ohori: I will double check to make sure that this is should be OK. structure TagOrd : ORD_KEY = struct type ord_key = tag * bool fun compare ((i, _) : ord_key, (k, _) : ord_key) = ID.compare (#id i, #id k) end *) struct type ord_key = conInfo * bool fun compare (({id=id1,...}, _) : ord_key, ({id=id2,...}, _) : ord_key) = ConID.compare(id1,id2) end structure ExnConOrd : ORD_KEY = (* Ohori: I will double check to make sure that this is should be OK. structure TagOrd : ORD_KEY = struct type ord_key = tag * bool fun compare ((i, _) : ord_key, (k, _) : ord_key) = ID.compare (#id i, #id k) end *) struct local fun compPath (path1, path2) = case (path1, path2) of (nil,nil) => EQUAL | (nil, _ :: _) => LESS | (_::_, nil) => GREATER | (h1::tl1, h2::tl2) => (case String.compare(h1,h2) of EQUAL => compPath(tl1,tl2) | ord => ord) in type ord_key = exnCon * bool fun compare ((exnCon1, _) : ord_key, (exnCon2, _) : ord_key) = case (exnCon1, exnCon2) of (TC.EXN {id=id1,...}, TC.EXN{id=id2,...}) => ExnID.compare(id1, id2) | (TC.EXEXN{path=path1,...},TC.EXEXN{path=path2,...}) => compPath(path1,path2) | (TC.EXEXN _, TC.EXN _) => LESS | (TC.EXN _, TC.EXEXN _) => GREATER end end structure SSOrd : ORD_KEY = struct type ord_key = string * string fun compare ((a1, l1), (a2, l2)) = case String.compare (a1, a2) of EQUAL => String.compare (l1, l2) | ord => ord end structure ConstMap = BinaryMapFn (ConstOrd) structure DataConMap = BinaryMapFn (DataConOrd) structure ExnConMap = BinaryMapFn (ExnConOrd) structure SSMap = BinaryMapFn (SSOrd) type branchId = int datatype pat = WildPat of T.ty | VarPat of T.varInfo | ConstPat of const * T.ty | DataConPat of conInfo * bool * pat * T.ty | ExnConPat of exnCon * bool * pat * T.ty | RecPat of (string * pat) list * T.ty | LayerPat of pat * pat | OrPat of pat * pat type exp = branchId datatype rule = End of exp | ++ of pat * rule infixr ++ type env = T.varInfo VarInfoEnv.map datatype tree = EmptyNode | LeafNode of exp * env | EqNode of T.varInfo * tree ConstMap.map * tree | DataConNode of T.varInfo * tree DataConMap.map * tree | ExnConNode of T.varInfo * tree ExnConMap.map * tree | RecNode of T.varInfo * string * tree | UnivNode of T.varInfo * tree val unitExp = RC.RCCONSTANT {const=A.UNITCONST Loc.noloc, ty=BT.unitTy, loc=Loc.noloc} val expDummy = unitExp end end smlsharp-1.2.0/src/compiler/matchcompilation/main/MatchError.ppg0000755 000000000000000000001305712050661606025152 0ustar00rootroot0000000 0000000 (** * errors generated by match compiler. * @author OSAKA Satoshi * @version $Id: MatchError.ppg,v 1.8 2008/03/11 08:53:55 katsu Exp $ *) structure MatchError = struct local structure TC = TypedCalc structure TCU = TypedCalcUtils structure RC = RecordCalc structure BF = SMLFormat.BasicFormatters structure C = Control structure A = Absyn structure MD = MatchData structure BT = BuiltinTypes structure T = Types structure UE = UserError fun bug s = Control.Bug ("MatchData: " ^ s) in fun format_flag x = if !x = 0 then [SMLFormat.FormatExpression.Term(4,"--> ")] else [SMLFormat.FormatExpression.Term(4," ")] (*% * @formatter(TC.tppat) TC.format_tppat * @formatter(flag) format_flag *) type rule = (*% * @format((pat pats* exp) * flag) * flag:flag 4[{pats(pat()())(","+1)} + "=>" + "..."] *) (TC.tppat list * TC.tpexp) * int ref local val format_rule' = format_rule in (*% * @formatter(rule) format_rule' *) exception (*% * @format(message * rule rules) message \n rules(rule)(+1) *) MatchError of string * rule list end val bindRedundantMessage = "binding redundant" val bindNotExhaustiveMessage = "binding not exhaustive" val bindBothMessage = "binding redundant and not exhaustive" val matchRedundantMessage = "match redundant" val matchNotExhaustiveMessage = "match nonexhaustive" val matchBothMessage = "match redundant and nonexhaustive" fun raiseBindFailExp resultTy loc = let val bindExn = BT.BindExExn in RC.RCRAISE {exp=RC.RCEXNCONSTRUCT{exn=TC.EXEXN bindExn, instTyList=nil, argExpOpt=NONE, loc=loc}, ty=resultTy, loc=loc} end fun raiseMatchFailExp resultTy loc = let val matchExn = BT.MatchExExn in RC.RCRAISE {exp=RC.RCEXNCONSTRUCT{exn=TC.EXEXN matchExn, instTyList=nil, argExpOpt=NONE, loc=loc}, ty=resultTy, loc=loc} end fun handleFail v resultTy loc = RC.RCRAISE {exp=RC.RCVAR (v, loc), ty=resultTy, loc=loc} fun raiseMatchCompBugExp resultTy loc = RC.RCSEQ {expList = [RC.RCAPPM {funExp = RC.RCFFI (RC.RCFFIIMPORT {ptrExp = RC.RCGLOBALSYMBOL {name = "sml_matchcomp_bug", kind = A.ForeignCodeSymbol, ty = BT.ptrTy, loc = loc}, ffiTy = TC.FFIFUNTY (NONE, nil, nil, loc)}, T.FUNMty ([BT.unitTy], BT.unitTy), loc), funTy = T.FUNMty ([BT.unitTy], BT.unitTy), argExpList = [RC.RCCONSTANT {const = A.UNITCONST loc, ty = BT.unitTy, loc = loc}], loc = loc}, RC.RCRAISE {exp = RC.RCEXNCONSTRUCT {exn = TC.EXEXN BT.MatchExExn, instTyList = nil, argExpOpt = NONE, loc = loc}, ty = resultTy, loc = loc}], expTyList = [BT.unitTy, resultTy], loc = loc} datatype flagKind = Redundant | NotExhaustive local val errorMessages = ref [] : UE.errorInfo list ref val redundantFlag = ref false val notExhaustiveFlag = ref false in fun clearErrorMessages () = errorMessages := [] fun putErrorMessage (loc, kind, message, rules) = errorMessages := (loc, kind, MatchError (message, rules)) :: (! errorMessages) fun getErrorMessages () = ! errorMessages fun clearFlag Redundant = redundantFlag := false | clearFlag NotExhaustive = notExhaustiveFlag := false fun setFlag Redundant = redundantFlag := true | setFlag NotExhaustive = notExhaustiveFlag := true fun isRedundant () = ! redundantFlag fun isNotExhaustive () = ! notExhaustiveFlag end fun haveRedundantRules [] = false | haveRedundantRules ((_, flag) :: rules) = if !flag then true else haveRedundantRules rules (* val print = C.prettyPrint *) fun insertNewline messages = let fun insert [] = [] | insert [message] = [message] | insert (message :: messages) = message :: "\n" :: insert messages in concat (insert messages) end fun checkError (MD.Handle v, true, _, rules, loc ) = putErrorMessage (loc, UE.Error, matchRedundantMessage, rules) | checkError (MD.Bind, true, true, rules, loc) = putErrorMessage (loc, UE.Error, bindBothMessage, rules) | checkError (MD.Bind, true, false, rules, loc) = putErrorMessage (loc, UE.Error, bindRedundantMessage, rules) | checkError (MD.Bind, false, true, rules, loc) = putErrorMessage (loc, UE.Warning, bindNotExhaustiveMessage, rules) | checkError (MD.Match, true, true, rules, loc) = putErrorMessage (loc, UE.Error, matchBothMessage, rules) | checkError (MD.Match, true, false, rules, loc) = putErrorMessage (loc, UE.Error, matchRedundantMessage, rules) | checkError (MD.Match, false, true, rules, loc) = putErrorMessage (loc, UE.Warning, matchNotExhaustiveMessage, rules) | checkError _ = () end end smlsharp-1.2.0/src/compiler/matchcompilation/main/MatchError.ppg.smi0000644 000000000000000000000376712050661606025745 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../recordcalc/main/RecordCalc.ppg.smi" _require "../../typedcalc/main/TypedCalc.ppg.smi" _require "../../typedcalc/main/TypedCalcUtils.smi" _require "../../builtin2/main/BuiltinTypes.smi" _require "../../types/main/Types.ppg.smi" _require "../../usererror/main/UserError.ppg.smi" _require "MatchData.smi" structure MatchError = struct val format_flag : int ref -> SMLFormat.FormatExpression.expression list type rule = (TypedCalc.tppat list * TypedCalc.tpexp) * int ref val format_rule : rule -> SMLFormat.FormatExpression.expression list exception MatchError of string * rule list val bindRedundantMessage : string val bindNotExhaustiveMessage : string val bindBothMessage : string val matchRedundantMessage : string val matchNotExhaustiveMessage : string val matchBothMessage : string val raiseBindFailExp : Types.ty -> Loc.loc -> RecordCalc.rcexp val raiseMatchFailExp : Types.ty -> Loc.loc -> RecordCalc.rcexp val handleFail : Types.varInfo -> Types.ty -> Loc.loc -> RecordCalc.rcexp val raiseMatchCompBugExp : Types.ty -> Loc.loc -> RecordCalc.rcexp datatype flagKind = Redundant | NotExhaustive val clearErrorMessages : unit -> unit val putErrorMessage : Loc.loc * UserError.errorKind * string * rule list -> unit val getErrorMessages : unit -> UserError.errorInfo list val clearFlag : flagKind -> unit val setFlag : flagKind -> unit val isRedundant : unit -> bool val isNotExhaustive : unit -> bool val haveRedundantRules : ('a * bool ref) list -> bool (* val print : SMLFormat.FormatExpression.expression list -> string *) val insertNewline : string list -> string val checkError : MatchData.kind * bool * bool * rule list * Loc.loc -> unit end smlsharp-1.2.0/src/compiler/minismlsharp.smi0000644 000000000000000000000007412050661606021325 0ustar00rootroot0000000 0000000 _require "../basis.smi" _require "main/main/SimpleMain.smi" smlsharp-1.2.0/src/compiler/minismlsharp.sml0000644 000000000000000000000025312050661606021327 0ustar00rootroot0000000 0000000 val commandLineName = CommandLine.name () val commandArgs = CommandLine.arguments () val status = Main.main (commandLineName, commandArgs) val () = OS.Process.exit status smlsharp-1.2.0/src/compiler/multiplevaluecalc0000755 000000000000000000000000012050661606021540 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/multiplevaluecalc/main0000755 000000000000000000000000012050661606022464 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg0000644 000000000000000000003540712050661606026637 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2006, Tohoku University. * @author Huu-Duc Nguyen * @version $Id: MultipleValueCalc.ppg,v 1.31 2008/08/06 17:23:40 ohori Exp $ *) structure MultipleValueCalc = struct type loc = Loc.loc (*% * @formatter(AnnotatedTypes.ty) AnnotatedTypes.format_ty *) (*% * @prefix typed * @formatter(AnnotatedTypes.ty) AnnotatedTypes.format_ty *) type ty = AnnotatedTypes.ty (*% * @formatter(AnnotatedCalc.varInfo) AnnotatedCalc.format_varInfo *) (*% * @prefix typed * @formatter(AnnotatedCalc.varInfo) AnnotatedCalc.format_varInfo *) type varInfo = AnnotatedCalc.varInfo (*% * @formatter(AnnotatedCalc.exVarInfo) AnnotatedCalc.format_exVarInfo *) (*% * @prefix typed * @formatter(AnnotatedCalc.exVarInfo) AnnotatedCalc.format_exVarInfo *) type exVarInfo = AnnotatedCalc.exVarInfo (*% * @formatter(AnnotatedCalc.primInfo) AnnotatedCalc.format_primInfo *) (*% * @prefix typed * @formatter(AnnotatedCalc.primInfo) AnnotatedCalc.formatWithType_primInfo *) type primInfo = AnnotatedCalc.primInfo (*% * @formatter(AnnotatedTypes.annotationLabel) * AnnotatedTypes.format_annotationLabel *) (*% * @prefix typed * @formatter(AnnotatedTypes.annotationLabel) * AnnotatedTypes.format_annotationLabel *) type annotationLabel = AnnotatedTypes.annotationLabel (*% * @formatter(AnnotatedTypes.funStatus) AnnotatedTypes.format_funStatus *) (*% * @prefix typed * @formatter(AnnotatedTypes.funStatus) AnnotatedTypes.format_funStatus *) type funStatus = AnnotatedTypes.funStatus (*% * @formatter(AnnotatedTypes.btvEnv) AnnotatedTypes.format_btvEnv *) (*% * @prefix typed * @formatter(AnnotatedTypes.btvEnv) AnnotatedTypes.format_btvEnv *) type btvEnv = AnnotatedTypes.btvEnv (*% * @formatter(ConstantTerm.constant) ConstantTerm.format_constant *) (*% * @prefix typed * @formatter(ConstantTerm.constant) ConstantTerm.format_constant *) datatype constant = datatype ConstantTerm.constant (*% * @formatter(listWithEnclosureOne) SmlppgUtil.formatListWithEnclosureOne * @formatter(bool) SmlppgUtil.formatBinaryChoice * @formatter(AnnotatedTypes.foreignFunTy) AnnotatedTypes.format_foreignFunTy *) (*% * @prefix typed * @formatter(listWithEnclosureOne) SmlppgUtil.formatListWithEnclosureOne * @formatter(listWithEnclosure) SmlppgUtil.formatListWithEnclosure * @formatter(bool) SmlppgUtil.formatBinaryChoice * @formatter(recordTy) TermFormat.formatRecordTy * @formatter(AnnotatedTypes.foreignFunTy) AnnotatedTypes.format_foreignFunTy *) datatype mvexp = (*% * @format({funExp, * foreignFunTy, * argExpList: arg args:listWithEnclosureOne, * loc:loc}) * L9{ * "FOREIGNAPPLY(" !N0{ funExp } ")" * 2[ +1 args(arg)("," +2, "{", "}") ] * } *) (*% * @prefix typed * @format({funExp, * foreignFunTy, * argExpList: arg args:listWithEnclosureOne, * loc:loc}) * L9{ * L2{ * "FOREIGNAPPLY(" !N0{ funExp } ")" * +1 "as" +d foreignFunTy * } * 2[ +1 args(arg)("," +2, "{", "}") ] * } *) MVFOREIGNAPPLY of { funExp : mvexp, foreignFunTy : AnnotatedTypes.foreignFunTy, argExpList : mvexp list, loc : loc } | (*% * @format({funExp, foreignFunTy, loc}) * "EXPORTCALLBACK(" !N0{ funExp } ")" *) (*% * @prefix typed * @format({funExp, foreignFunTy, loc}) * L2{ * "EXPORTCALLBACK(" !N0{ funExp } ")" * +1 "as" +d foreignFunTy * } *) MVEXPORTCALLBACK of { funExp : mvexp, (* must be MVFNM *) foreignFunTy : AnnotatedTypes.foreignFunTy, loc: loc } | (*% * @format({ty, loc}) "_tagof(" !N0{ ty } ")" *) (*% * @prefix typed * @format({ty, loc}) "_tagof(" !N0{ ty } ")" *) MVTAGOF of {ty : ty, loc : loc} | (*% * @format({ty, loc}) "_sizeof(" !N0{ ty } ")" *) (*% * @prefix typed * @format({ty, loc}) "_sizeof(" !N0{ ty } ")" *) MVSIZEOF of {ty : ty, loc : loc} | (*% * @format({label, recordTy, loc}) * "_indexof(" !N0{ label ")" } *) (*% @prefix typed * @format({label, recordTy, loc}) * "_indexof(" !N0{ label "," +1 recordTy ")" } *) MVINDEXOF of {label : string, recordTy : ty, loc : loc} | (*% * @format({value, loc}) value *) (*% * @prefix typed * @format({value, loc}) value *) MVCONSTANT of {value : constant, loc : loc} | (*% * @format({name, kind, ty, loc}) name ":" ty *) (*% * @prefix typed * @format({name, kind, ty, loc}) ty *) MVGLOBALSYMBOL of {name:string, kind:Absyn.globalSymbolKind, ty:ty, loc:loc} | (*% * @format({varInfo, loc}) varInfo *) (*% * @prefix typed * @format({varInfo, loc}) varInfo *) MVVAR of {varInfo : varInfo, loc : loc} | (*% * @format({exVarInfo, loc}) exVarInfo *) (*% * @prefix typed * @format({exVarInfo, loc}) exVarInfo *) MVEXVAR of {exVarInfo : exVarInfo, loc : loc} | (*% * @format({primInfo, * argExpList:arg args, * instTyList:ty tys:listWithEnclosure, * loc}) * L9{ primInfo * 2[ 1 "(" !N0{ args(arg)("," +2) } ")" ] * } *) (*% * @prefix typed * @format({primInfo, * argExpList:arg args, * instTyList:ty tys:listWithEnclosure, * loc}) * L9{ primInfo * 2[ 1 "(" !N0{ tys(ty)("," +2, "{", "}" "," +1) * !N0{ args(arg)("," +2) } } ")" * ] } *) MVPRIMAPPLY of { primInfo : primInfo, argExpList : mvexp list, instTyList : ty list, loc : loc } | (*% * @format({funExp, funTy, * argExpList:arg args:listWithEnclosureOne, loc}) * L9{ funExp 2[ +1 args(arg)("," +2, "{", "}") ] } *) (*% * @prefix typed * @format({funExp, funTy, * argExpList:arg args:listWithEnclosureOne, loc}) * L9{ funExp 2[ +1 args(arg)("," +2, "{", "}") ] } *) MVAPPM of { funExp : mvexp, funTy : ty, argExpList : mvexp list, loc : loc } | (*% * @format({localDeclList : dec decs, mainExp, loc}) * N1{ !N0{ * "let" * 2[ +1 decs(dec)(+1) ] * +1 "in" * 2[ +1 mainExp ] * +1 "end" * } } *) (*% * @prefix typed * @format({localDeclList : dec decs, mainExp, loc}) * N1{ !N0{ * "let" * 2[ +1 decs(dec)(+1) ] * +1 "in" * 2[ +1 mainExp ] * +1 "end" * } } *) MVLET of { localDeclList : mvdecl list, mainExp : mvexp, loc : loc } | (*% * @format({expList:field fields, tyList, loc}) * { "{" 2[ 1 !N0{ fields(field)("," +1) } ] 1 "}" } *) (*% * @prefix typed * @format({expList:field fields, tyList, loc}) * { "{" 2[ 1 !N0{ fields(field)("," +1) } ] 1 "}" } *) MVMVALUES of {expList : mvexp list, tyList : ty list, loc : loc} | (*% * @format({fields:field fields, recordTy, annotation, isMutable, loc}) * !N0{ "(" 2[ 1 fields(field)("," +1) ] 1 ")" * d "^" annotation } * @format:field({label, fieldExp}) * label "=" fieldExp *) (*% * @prefix typed * @format({fields:field fields, recordTy, annotation, isMutable, loc}) * L2{ !N0{ "(" 2[ 1 fields(field)("," +1) ] 1 ")" * d "^" annotation } * +1 ":" +d recordTy } * @format:field({label, fieldExp}) * label "=" fieldExp *) MVRECORD of { fields : {label: string, fieldExp: mvexp} list, recordTy : ty, annotation : annotationLabel, isMutable : bool, loc : loc } | (*% * @format({recordExp, indexExp, label, recordTy, resultTy, loc}) * L9{ recordExp 2[ 1 "[" indexExp "]" ] } *) (*% * @prefix typed * @format({recordExp, indexExp, label, recordTy, resultTy, loc}) * L2{ * L9{ recordExp 2[ 1 "[" indexExp "]" ] } * +1 ":" +d resultTy * } *) MVSELECT of { recordExp : mvexp, indexExp : mvexp, label : string, recordTy : ty, resultTy : ty, loc : loc } | (*% * @format({recordExp, recordTy, indexExp, label, valueExp, valueTy, * loc}) * L9{ * recordExp * 2[ +1 "#" +d * !N0{ "{" * 2[ 1 indexExp + "=" 2[ +1 valueExp ] ] * 1 "}" } ] * } *) (*% * @prefix typed * @format({recordExp, recordTy, indexExp, label, valueExp, valueTy, * loc}) * L9{ * recordExp * 2[ +1 "#" +d * !N0{ "{" * 2[ 1 indexExp + "=" 2[ +1 valueExp ] ] * 1 "}" } ] * } *) MVMODIFY of { recordExp : mvexp, recordTy : ty, indexExp : mvexp, label : string, valueExp : mvexp, valueTy : ty, loc : loc } | (*% * @format({argExp, resultTy, loc}) * N1{ "raise" 2[ +1 argExp ] } *) (*% * @prefix typed * @format({argExp, resultTy, loc}) * L2{ * N1{ "raise" 2[ +1 argExp ] } * +1 ":" +d resultTy * } *) MVRAISE of { argExp : mvexp, resultTy : ty, loc : loc } | (*% * @format({exp, exnVar, handler, loc}) * N1{ !N0{ * "try" * 2[ +1 exp ] * +1 R1{ "handle" +d !N0{ exnVar } +d "=>" 2[ +1 handler ] } * } } *) (*% * @prefix typed * @format({exp, exnVar, handler, loc}) * N1{ !N0{ * "try" * 2[ +1 exp ] * +1 R1{ "handle" +d !N0{ exnVar } +d "=>" 2[ +1 handler ] } * } } *) MVHANDLE of { exp : mvexp, exnVar : varInfo, handler : mvexp, loc : loc } | (*% * @format({argVarList: arg args:listWithEnclosureOne, * funTy, bodyExp, annotation, loc}) * R1{ * "fn" * +d args(arg)("," +2, "{", "}") * +d "=>" * 2[ +1 bodyExp ] * } *) (*% * @prefix typed * @format({argVarList: arg args, * funTy, bodyExp, annotation, loc}) * R1{ * "fn" "^" annotation * 2[ +1 ":" +d N10{ funTy } ] * +1 "{" !N0{ args(arg)("," +2) } "}" * +d "=>" * 2[ +1 bodyExp ] * } *) MVFNM of { argVarList : varInfo list, funTy : ty, bodyExp : mvexp, annotation : annotationLabel, loc : loc } | (*% * @format({btvEnv:btvEnv, expTyWithoutTAbs, exp, loc}) * !N0{ "POLY[" 2[ 1 exp ] 1 "]" } *) (*% * @prefix typed * @format({btvEnv:btvEnv, expTyWithoutTAbs, exp, loc}) * !N0{ "[" btvEnv "." 2[ 1 exp ] 1 "]" } *) MVPOLY of { btvEnv : btvEnv, expTyWithoutTAbs : ty, exp : mvexp, loc : loc } | (*% * @format({exp, expTy, * instTyList:tyArg tyArgs:listWithEnclosureOne, * loc}) * L9{ exp 2[ +1 "{TAPP}" ] } *) (*% * @prefix typed * @format({exp, expTy, * instTyList:tyArg tyArgs:listWithEnclosureOne, * loc}) * L9{ exp 2[ +1 tyArgs(tyArg)("," +2, "{", "}") ] } *) MVTAPP of { exp : mvexp, expTy : ty, instTyList : ty list, loc : loc } | (*% * @format({switchExp, expTy, branches:rule rules, defaultExp, loc}) * N1{ !N0{ * { "switch" 2[ +1 switchExp ] } * +1 "of" +d rules(rule)(+1 " |" +d) * +1 " |" +d R1{ "_" +d "=>" +1 defaultExp } * } } * * @format:rule({constant, exp}) * R1{ constant +d "=>" +1 exp } *) (*% * @prefix typed * @format({switchExp, expTy, branches:rule rules, defaultExp, loc}) * N1{ !N0{ * { "switch" 2[ +1 switchExp ] } * +1 "of" +d rules(rule)(+1 " |" +d) * +1 " |" +d R1{ "_" +d "=>" +1 defaultExp } * } } * * @format:rule({constant, exp}) * R1{ constant +d "=>" +1 exp } *) MVSWITCH of { switchExp : mvexp, expTy : ty, branches : {constant : constant , exp : mvexp} list, defaultExp : mvexp, loc : loc } | (*% * @format({exp, expTy, targetTy, loc}) * "cast" "(" !N0{ exp } ")" *) (*% * @prefix typed * @format({exp, expTy, targetTy, loc}) * L2{ * "cast" "(" !N0{ exp } ")" * 2[ +1 "to" +d targetTy ] * } *) MVCAST of {exp : mvexp, expTy : ty, targetTy : ty, loc : loc} and mvdecl = (*% * @format({boundVars:var vars:listWithEnclosureOne, boundExp, loc}) * !N0{ "val" +d { vars(var)("," +1, "{", "}") +d "=" } * 2[ +1 boundExp ] } *) (*% * @prefix typed * @format({boundVars:var vars:listWithEnclosureOne, boundExp, loc}) * !N0{ "val" +d { vars(var)("," +1, "{", "}") +d "=" } * 2[ +1 boundExp ] } *) MVVAL of { boundVars : varInfo list, boundExp : mvexp, loc : loc } | (*% * @format({recbindList:bind binds,loc}) * !N0{ "val" +d "rec" +d binds(bind)(+1 "and" +d) } * * @format:bind({boundVar, boundExp}) * { boundVar +d "=" } * 2[ +1 boundExp ] *) (*% * @prefix typed * @format({recbindList:bind binds,loc}) * !N0{ "val" +d "rec" +d binds(bind)(+1 "and" +d) } * * @format:bind({boundVar, boundExp}) * { boundVar +d "=" } * 2[ +1 boundExp ] *) MVVALREC of { recbindList : {boundVar : varInfo, boundExp : mvexp } list, loc : loc } | (*% * @format({varInfo, loc}) * "export" +d "val" +d varInfo *) MVEXPORTVAR of {varInfo: varInfo, loc: loc} | (*% * @format({exVarInfo, loc}) * "extern" +d "val" +d exVarInfo *) MVEXTERNVAR of {exVarInfo: exVarInfo, loc: loc} end smlsharp-1.2.0/src/compiler/multiplevaluecalc/main/MultipleValueCalc.ppg.smi0000644 000000000000000000001153012050661606027415 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../annotatedcalc/main/AnnotatedCalc.ppg.smi" _require "../../annotatedtypes/main/AnnotatedTypes.ppg.smi" _require "../../constantterm/main/ConstantTerm.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../util/main/SmlppgUtil.ppg.smi" structure MultipleValueCalc = struct type loc = Loc.loc type ty = AnnotatedTypes.ty val format_ty : ty -> SMLFormat.FormatExpression.expression list type varInfo = AnnotatedCalc.varInfo val format_varInfo : varInfo -> SMLFormat.FormatExpression.expression list type exVarInfo = AnnotatedCalc.exVarInfo val format_exVarInfo : exVarInfo -> SMLFormat.FormatExpression.expression list type primInfo = AnnotatedCalc.primInfo val format_primInfo : primInfo -> SMLFormat.FormatExpression.expression list val typedprimInfo : primInfo -> SMLFormat.FormatExpression.expression list type annotationLabel = AnnotatedTypes.annotationLabel val format_annotationLabel : annotationLabel -> SMLFormat.FormatExpression.expression list val typedannotationLabel : annotationLabel -> SMLFormat.FormatExpression.expression list type funStatus = AnnotatedTypes.funStatus val format_funStatus : funStatus -> SMLFormat.FormatExpression.expression list type btvEnv = AnnotatedTypes.btvEnv val format_btvEnv : btvEnv -> SMLFormat.FormatExpression.expression list datatype constant = datatype ConstantTerm.constant val format_constant : constant -> SMLFormat.FormatExpression.expression list datatype mvexp = MVFOREIGNAPPLY of { funExp : mvexp, foreignFunTy : AnnotatedTypes.foreignFunTy, argExpList : mvexp list, loc : loc } | MVEXPORTCALLBACK of { funExp : mvexp, (* must be MVFNM *) foreignFunTy : AnnotatedTypes.foreignFunTy, loc: loc } | MVTAGOF of {ty : ty, loc : loc} | MVSIZEOF of {ty : ty, loc : loc} | MVINDEXOF of {label : string, recordTy : ty, loc : loc} | MVCONSTANT of {value : constant, loc : loc} | MVGLOBALSYMBOL of {name:string, kind:Absyn.globalSymbolKind, ty:ty, loc:loc} | MVVAR of {varInfo : varInfo, loc : loc} | MVEXVAR of {exVarInfo : exVarInfo, loc : loc} | MVPRIMAPPLY of { primInfo : primInfo, argExpList : mvexp list, instTyList : ty list, loc : loc } | MVAPPM of { funExp : mvexp, funTy : ty, argExpList : mvexp list, loc : loc } | MVLET of { localDeclList : mvdecl list, mainExp : mvexp, loc : loc } | MVMVALUES of {expList : mvexp list, tyList : ty list, loc : loc} | MVRECORD of { fields : {label: string, fieldExp: mvexp} list, recordTy : ty, annotation : annotationLabel, isMutable : bool, loc : loc } | MVSELECT of { recordExp : mvexp, indexExp : mvexp, label : string, recordTy : ty, resultTy : ty, loc : loc } | MVMODIFY of { recordExp : mvexp, recordTy : ty, indexExp : mvexp, label : string, valueExp : mvexp, valueTy : ty, loc : loc } | MVRAISE of { argExp : mvexp, resultTy : ty, loc : loc } | MVHANDLE of { exp : mvexp, exnVar : varInfo, handler : mvexp, loc : loc } | MVFNM of { argVarList : varInfo list, funTy : ty, bodyExp : mvexp, annotation : annotationLabel, loc : loc } | MVPOLY of { btvEnv : btvEnv, expTyWithoutTAbs : ty, exp : mvexp, loc : loc } | MVTAPP of { exp : mvexp, expTy : ty, instTyList : ty list, loc : loc } | MVSWITCH of { switchExp : mvexp, expTy : ty, branches : {constant : constant , exp : mvexp} list, defaultExp : mvexp, loc : loc } | MVCAST of {exp : mvexp, expTy : ty, targetTy : ty, loc : loc} and mvdecl = MVVAL of { boundVars : varInfo list, boundExp : mvexp, loc : loc } | MVVALREC of { recbindList : {boundVar : varInfo, boundExp : mvexp } list, loc : loc } | MVEXPORTVAR of {varInfo: varInfo, loc: loc} | MVEXTERNVAR of {exVarInfo: exVarInfo, loc: loc} val format_mvexp : mvexp -> SMLFormat.FormatExpression.expression list val typedmvexp : mvexp -> SMLFormat.FormatExpression.expression list val format_mvdecl : mvdecl -> SMLFormat.FormatExpression.expression list val typedmvdecl : mvdecl-> SMLFormat.FormatExpression.expression list end smlsharp-1.2.0/src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCFORMATTER.sig0000644 000000000000000000000060212050661606027204 0ustar00rootroot0000000 0000000 (** * a pretty printer for the multiple value calclulus. * @copyright (c) 2006, Tohoku University. * @author Huu-Duc Nguyen * @version $Id: MULTIPLEVALUECALCFORMATTER.sig,v 1.3 2008/02/23 15:49:53 bochao Exp $ *) signature MULTIPLEVALUECALCFORMATTER = sig val mvexpToString : MultipleValueCalc.mvexp -> string val mvdeclToString : MultipleValueCalc.mvdecl -> string end smlsharp-1.2.0/src/compiler/multiplevaluecalc/main/MultipleValueCalcFormatter.smi0000644 000000000000000000000050412050661606030513 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../control/main/Control.ppg.smi" _require "MultipleValueCalc.ppg.smi" _require "MULTIPLEVALUECALCFORMATTER.sig" structure MultipleValueCalcFormatter = struct val mvexpToString : MultipleValueCalc.mvexp -> string val mvdeclToString : MultipleValueCalc.mvdecl -> string end smlsharp-1.2.0/src/compiler/multiplevaluecalc/main/MultipleValueCalcFormatter.sml0000644 000000000000000000000166712050661606030531 0ustar00rootroot0000000 0000000 (** * a pretty printer for the multiple value calclulus. * @copyright (c) 2006, Tohoku University. * @author Huu-Duc Nguyen * @version $Id: MultipleValueCalcFormatter.sml,v 1.6 2008/02/23 15:49:54 bochao Exp $ *) structure MultipleValueCalcFormatter : MULTIPLEVALUECALCFORMATTER = struct local fun mvexpToString exp = Control.prettyPrint (MultipleValueCalc.format_mvexp exp) fun mvexpToStringTyped exp = Control.prettyPrint (MultipleValueCalc.typedmvexp exp) fun mvdeclToString decl = Control.prettyPrint (MultipleValueCalc.format_mvdecl decl) fun mvdeclToStringTyped decl = Control.prettyPrint (MultipleValueCalc.typedmvdecl decl) in val mvexpToString = fn x => (if !Control.printWithType then mvexpToStringTyped else mvexpToString) x val mvdeclToString = fn x => (if !Control.printWithType then mvdeclToStringTyped else mvdeclToString) x end end smlsharp-1.2.0/src/compiler/multiplevaluecalc/main/MULTIPLEVALUECALCUTILS.sig0000644 000000000000000000000100212050661606026534 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2006, Tohoku University. * @author Huu-Duc Nguyen * @version $Id: MULTIPLEVALUECALCUTILS.sig,v 1.6 2007/11/16 04:01:55 bochao Exp $ *) signature MULTIPLEVALUECALCUTILS = sig val getLocOfExp : MultipleValueCalc.mvexp -> MultipleValueCalc.loc (* val substExp : AnnotatedTypes.ty BoundTypeVarID.Map.map -> MultipleValueCalc.mvexp -> MultipleValueCalc.mvexp val substVarInfo : AnnotatedTypes.ty BoundTypeVarID.Map.map -> MultipleValueCalc.varInfo -> MultipleValueCalc.varInfo *) end smlsharp-1.2.0/src/compiler/multiplevaluecalc/main/MultipleValueCalcUtils.smi0000644 000000000000000000000033512050661606027652 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "MULTIPLEVALUECALCUTILS.sig" _require "MultipleValueCalc.ppg.smi" structure MultipleValueCalcUtils = struct val getLocOfExp : MultipleValueCalc.mvexp -> MultipleValueCalc.loc end smlsharp-1.2.0/src/compiler/multiplevaluecalc/main/MultipleValueCalcUtils.sml0000644 000000000000000000002705612050661606027666 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2006, Tohoku University. * @author Huu-Duc Nguyen * @version $Id: MultipleValueCalcUtils.sml,v 1.21 2008/02/23 15:49:54 bochao Exp $ *) structure MultipleValueCalcUtils : MULTIPLEVALUECALCUTILS = struct local (* structure ATU = AnnotatedTypesUtils structure T = Types structure AT = AnnotatedTypes *) in open MultipleValueCalc fun getLocOfExp exp = case exp of MVFOREIGNAPPLY {loc,...} => loc | MVEXPORTCALLBACK {loc,...} => loc | MVTAGOF {loc,...} => loc | MVSIZEOF {loc,...} => loc | MVINDEXOF {loc,...} => loc | MVCONSTANT {loc,...} => loc | MVGLOBALSYMBOL {loc,...} => loc | MVVAR {loc,...} => loc | MVEXVAR {loc,...} => loc (* | MVGETFIELD {loc,...} => loc | MVSETFIELD {loc,...} => loc | MVSETTAIL {loc,...} => loc | MVARRAY {loc,...} => loc | MVCOPYARRAY {loc,...} => loc *) | MVPRIMAPPLY {loc,...} => loc | MVAPPM {loc,...} => loc | MVLET {loc,...} => loc | MVMVALUES {loc,...} => loc | MVRECORD {loc,...} => loc | MVSELECT {loc,...} => loc | MVMODIFY {loc,...} => loc | MVRAISE {loc,...} => loc | MVHANDLE {loc,...} => loc | MVFNM {loc,...} => loc | MVPOLY {loc,...} => loc | MVTAPP {loc,...} => loc | MVSWITCH {loc,...} => loc | MVCAST {loc,...} => loc (* fun substVarInfo subst {displayName,ty,varId} = let val ty = ATU.substitute subst ty in {displayName=displayName, ty=ty, varId=varId} end fun substExp subst mvexp = case mvexp of MVFOREIGNAPPLY {funExp,funTy,argExpList,attributes,loc} => let val funExp = substExp subst funExp val funTy = ATU.substitute subst funTy val argExpList = map (substExp subst) argExpList in MVFOREIGNAPPLY {funExp=funExp,funTy=funTy,argExpList=argExpList,attributes=attributes,loc=loc} end | MVEXPORTCALLBACK {funExp, funTy, attributes, loc} => let val funExp = substExp subst funExp val funTy = ATU.substitute subst funTy in MVEXPORTCALLBACK {funExp=funExp,funTy=funTy,attributes=attributes,loc=loc} end | MVTAGOF {ty, loc} => let val ty = ATU.substitute subst ty in MVTAGOF {ty=ty, loc=loc} end | MVSIZEOF {ty, loc} => let val ty = ATU.substitute subst ty in MVSIZEOF {ty=ty, loc=loc} end | MVINDEXOF {label, recordTy, loc} => let val recordTy = ATU.substitute subst recordTy in MVINDEXOF {label=label, recordTy=recordTy, loc=loc} end | MVCONSTANT _ => mvexp | MVGLOBALSYMBOL _ => mvexp | MVEXCEPTIONTAG _ => mvexp | MVVAR {varInfo, loc} => let val varInfo = substVarInfo subst varInfo in MVVAR {varInfo=varInfo, loc=loc} end | MVGETFIELD {arrayExp, indexExp, elementTy, loc} => let val arrayExp = substExp subst arrayExp val indexExp = substExp subst indexExp val elementTy = ATU.substitute subst elementTy in MVGETFIELD {arrayExp=arrayExp,indexExp=indexExp,elementTy=elementTy,loc=loc} end | MVSETFIELD {valueExp,arrayExp,indexExp,elementTy,loc} => let val valueExp = substExp subst valueExp val arrayExp = substExp subst arrayExp val indexExp = substExp subst indexExp val elementTy = ATU.substitute subst elementTy in MVSETFIELD { valueExp=valueExp, arrayExp=arrayExp, indexExp=indexExp, elementTy=elementTy, loc=loc } end | MVSETTAIL {consExp,newTailExp,tailLabel,listTy,consRecordTy,loc} => let val consExp = substExp subst consExp val newTailExp = substExp subst newTailExp val listTy = ATU.substitute subst listTy val consRecordTy = ATU.substitute subst consRecordTy in MVSETTAIL { consExp=consExp, newTailExp=newTailExp, tailLabel=tailLabel, listTy=listTy, consRecordTy=consRecordTy, loc=loc } end | MVARRAY {sizeExp,initialValue,elementTy,isMutable,loc} => let val sizeExp = substExp subst sizeExp val initialValue = substExp subst initialValue val elementTy = ATU.substitute subst elementTy in MVARRAY {sizeExp=sizeExp,initialValue=initialValue,elementTy=elementTy,isMutable=isMutable,loc=loc} end | MVCOPYARRAY {srcExp,srcIndexExp,dstExp,dstIndexExp,lengthExp,elementTy,loc} => let val srcExp = substExp subst srcExp val srcIndexExp = substExp subst srcIndexExp val dstExp = substExp subst dstExp val dstIndexExp = substExp subst dstIndexExp val lengthExp = substExp subst lengthExp val elementTy = ATU.substitute subst elementTy in MVCOPYARRAY {srcExp=srcExp, srcIndexExp=srcIndexExp, dstExp=dstExp, dstIndexExp=dstIndexExp, lengthExp=lengthExp, elementTy=elementTy, loc=loc} end | MVPRIMAPPLY {primInfo={name,ty},argExpList,instTyList,loc} => let val ty = ATU.substitute subst ty val primInfo = {name=name,ty=ty} val argExpList = map (substExp subst) argExpList val instTyList = map (ATU.substitute subst) instTyList in MVPRIMAPPLY {primInfo=primInfo,argExpList=argExpList,instTyList=instTyList,loc=loc} end | MVAPPM {funExp,funTy,argExpList,loc} => let val funExp = substExp subst funExp val funTy = ATU.substitute subst funTy val argExpList = map (substExp subst) argExpList in MVAPPM {funExp=funExp,funTy=funTy,argExpList=argExpList,loc=loc} end | MVLET {localDeclList,mainExp,loc} => let val localDeclList = map (substDecl subst) localDeclList val mainExp = substExp subst mainExp in MVLET {localDeclList=localDeclList,mainExp=mainExp,loc=loc} end | MVMVALUES {expList,tyList,loc} => let val expList = map (substExp subst) expList val tyList = map (ATU.substitute subst) tyList in MVMVALUES {expList=expList,tyList=tyList,loc=loc} end | MVRECORD {expList,recordTy,annotation,isMutable,loc} => let val expList = map (substExp subst) expList val recordTy = ATU.substitute subst recordTy in MVRECORD { expList=expList, recordTy=recordTy, annotation=annotation, isMutable=isMutable, loc=loc } end | MVSELECT {recordExp,indexExp,label,recordTy,resultTy,loc} => let val recordExp = substExp subst recordExp val indexExp = substExp subst indexExp val recordTy = ATU.substitute subst recordTy val resultTy = ATU.substitute subst resultTy in MVSELECT {recordExp=recordExp,indexExp=indexExp,label=label,recordTy=recordTy,resultTy=resultTy,loc=loc} end | MVMODIFY {recordExp,recordTy,indexExp,label,valueExp,valueTy,loc} => let val recordExp = substExp subst recordExp val recordTy = ATU.substitute subst recordTy val indexExp = substExp subst indexExp val valueExp = substExp subst valueExp val valueTy = ATU.substitute subst valueTy in MVMODIFY { recordExp=recordExp, recordTy=recordTy, indexExp=indexExp, label=label, valueExp=valueExp, valueTy=valueTy, loc=loc } end | MVRAISE {argExp,resultTy,loc} => let val argExp = substExp subst argExp val resultTy = ATU.substitute subst resultTy in MVRAISE {argExp=argExp,resultTy=resultTy,loc=loc} end | MVHANDLE {exp,exnVar,handler,loc} => let val exp = substExp subst exp val exnVar = substVarInfo subst exnVar val handler = substExp subst handler in MVHANDLE {exp=exp,exnVar=exnVar,handler=handler,loc=loc} end | MVFNM {argVarList,funTy,bodyExp,annotation, loc} => let val argVarList = map (substVarInfo subst) argVarList val funTy = ATU.substitute subst funTy val bodyExp = substExp subst bodyExp in MVFNM { argVarList=argVarList, funTy=funTy, bodyExp=bodyExp, annotation=annotation, loc=loc } end | MVPOLY {btvEnv,expTyWithoutTAbs,exp,loc} => let val btvEnv = ATU.substituteBtvEnv subst btvEnv val subst = BoundTypeVarID.Map.foldri (fn (key,_,subst) => (#1 (BoundTypeVarID.Map.remove (subst,key)) handle _ => subst)) subst btvEnv val expTyWithoutTAbs = ATU.substitute subst expTyWithoutTAbs val exp = substExp subst exp in MVPOLY { btvEnv=btvEnv, expTyWithoutTAbs=expTyWithoutTAbs, exp=exp, loc=loc } end | MVTAPP {exp,expTy,instTyList,loc} => let val exp = substExp subst exp val expTy = ATU.substitute subst expTy val instTyList = map (ATU.substitute subst) instTyList in MVTAPP {exp=exp,expTy=expTy,instTyList=instTyList,loc=loc} end | MVSWITCH {switchExp,expTy,branches,defaultExp,loc} => let val switchExp = substExp subst switchExp val expTy = ATU.substitute subst expTy val branches = map (fn {constant,exp} => {constant=substExp subst constant, exp=substExp subst exp}) branches val defaultExp = substExp subst defaultExp in MVSWITCH { switchExp=switchExp, expTy=expTy, branches=branches, defaultExp=defaultExp, loc=loc } end | MVCAST {exp,expTy,targetTy,loc} => let val exp = substExp subst exp val expTy = ATU.substitute subst expTy val targetTy = ATU.substitute subst targetTy in MVCAST {exp=exp,expTy=expTy,targetTy=targetTy,loc=loc} end and substDecl subst decl = case decl of MVVAL {boundVars, boundExp, loc} => let val boundVars = map (substVarInfo subst) boundVars val boundExp = substExp subst boundExp in MVVAL {boundVars=boundVars, boundExp=boundExp, loc=loc} end | MVVALREC {recbindList, loc} => let val recbindList = map (fn {boundVar, boundExp} => {boundVar = substVarInfo subst boundVar, boundExp = substExp subst boundExp}) recbindList in MVVALREC {recbindList=recbindList, loc=loc} end *) end end smlsharp-1.2.0/src/compiler/multiplevaluecalc/main/MVTypeCheck.sml0000644 000000000000000000012310312050661606025402 0ustar00rootroot0000000 0000000 (** * MultipleValueCalc type check * @copyright (c) 2006, Tohoku University. * @author Huu-Duc Nguyen * @version $Id: MVTypeCheck.sml,v 1.34 2008/11/19 20:04:38 ohori Exp $ * This must be called after function localization. * *) structure MVTypeCheck = struct local structure E = MVTypeCheckError structure ATU = AnnotatedTypesUtils structure PT = PredefinedTypes structure CT = ConstantTerm structure AT = AnnotatedTypes open MultipleValueCalc exception Eqty exception ApplyTy exception NotYet structure btvEq:ORD_KEY = struct type ord_key = BoundTypeVarID.id * BoundTypeVarID.id fun compare ((i1,j1), (i2,j2)) = case BoundTypeVarID.compare(i1,i2) of EQUAL => BoundTypeVarID.compare (j1,j2) | result => result end structure BtvEquiv = BinarySetFn(btvEq) fun formatCon (name,id) = name ^ "#" ^ (VarID.toString id) (* * equivalence relation on bound type variabls * used to compute equality of polymorphic types *) fun addToBtvEquiv (btvEquiv, (i1,i2)) = case BoundTypeVarID.compare (i1, i2) of GREATER => BtvEquiv.add(btvEquiv,(i2,i1)) | _ => BtvEquiv.add(btvEquiv,(i1,i2)) fun isBtvEquiv (btvEquiv, (i1,i2)) = case BoundTypeVarID.compare (i1, i2) of GREATER => BtvEquiv.member(btvEquiv,(i2,i1)) | _ => BtvEquiv.member(btvEquiv,(i1,i2)) val emptyBtvEquiv = BtvEquiv.empty val emptyBtvEnv = BoundTypeVarID.Map.empty fun extendBtvEnv (oldBtvEnv, newBtvEnv) = BoundTypeVarID.Map.unionWith #2 (oldBtvEnv, newBtvEnv) fun eqTyList L = let (* * the first parameter btvEquiv is an equivalence relation on * bound type variables. * *) fun eqTy btvEquiv (ty1, ty2) = case (ty1, ty2) of (AT.ERRORty, _) => () | (_, AT.ERRORty) => () | (AT.DUMMYty n2, AT.DUMMYty n1) => if n1 = n2 then () else (print "\n 1 \n";raise Eqty) | (AT.DUMMYty _, _) => (print "\n 2 \n";raise Eqty) | (_, AT.DUMMYty _) => (print "\n 3 \n";raise Eqty) | (AT.SINGLETONty (AT.INSTCODEty {oprimId=id1, oprimPolyTy=ty1, ...}), AT.SINGLETONty (AT.INSTCODEty {oprimId=id2, oprimPolyTy=ty2, ...})) => if OPrimID.eq (id1, id2) then eqTy btvEquiv (ty1, ty2) else raise Eqty | (AT.SINGLETONty (AT.INDEXty (l1, ty1)), AT.SINGLETONty (AT.INDEXty (l2, ty2))) => if l1 = l2 then eqTy btvEquiv (ty1, ty2) else raise Eqty | (AT.BOUNDVARty tv1, AT.BOUNDVARty tv2) => if tv1 = tv2 orelse isBtvEquiv (btvEquiv,(tv1,tv2)) then () else (print "\n 7 \n"; raise Eqty) | (AT.BOUNDVARty _, _) => (print "\n 8 \n";raise Eqty) | (_, AT.BOUNDVARty _) => (print "\n 9 \n";raise Eqty) | (AT.FUNMty{argTyList=argTyList1,bodyTy=bodyTy1,...}, AT.FUNMty{argTyList=argTyList2,bodyTy=bodyTy2,...}) => if length argTyList1 = length argTyList2 then eqTys btvEquiv (ListPair.zip (argTyList1, argTyList2) @[(bodyTy1, bodyTy2)]) else (print "\n 10 \n";raise Eqty) | ( AT.RAWty{tyCon = {id=id1,...}, args = tyList1}, AT.RAWty{tyCon = {id=id2,...}, args = tyList2} ) => if TyConID.eq(id1, id2) andalso length tyList1 = length tyList2 then eqTys btvEquiv (ListPair.zip (tyList1, tyList2)) else (print "\n 11 \n";raise Eqty) | (AT.SPECty {tyCon = {id=id1,...}, args = tyList1}, AT.SPECty {tyCon = {id=id2,...}, args = tyList2}) => if TyConID.eq(id1, id2) andalso length tyList1 = length tyList2 then eqTys btvEquiv (ListPair.zip (tyList1, tyList2)) else (print "Eqty 16\n";raise Eqty) | (AT.SPECty {tyCon = {id=id1,...}, args = tyList1}, AT.RAWty {tyCon = {id=id2,...}, args = tyList2}) => if TyConID.eq(id1, id2) andalso length tyList1 = length tyList2 then eqTys btvEquiv (ListPair.zip (tyList1, tyList2)) else (print "Eqty 16\n";raise Eqty) | (AT.RAWty {tyCon = {id=id1,...}, args = tyList1}, AT.SPECty {tyCon = {id=id2,...}, args = tyList2}) => if TyConID.eq(id1, id2) andalso length tyList1 = length tyList2 then eqTys btvEquiv (ListPair.zip (tyList1, tyList2)) else (print "Eqty 16\n";raise Eqty) (* | ( AT.CONty{tyName = {name=name1,id=id1, boxedKind = ref boxedKindValue1,...}, args = tyList1}, AT.CONty{tyName = {name=name2,id=id2, boxedKind = ref boxedKindValue2,...}, args = tyList2} ) => if length tyList1 = length tyList2 then eqTys btvEquiv (ListPair.zip (tyList1, tyList2)) else if TypesUtils.isATOMty boxedKindValue1 andalso TypesUtils.isATOMty boxedKindValue2 then () else raise Eqty *) | (AT.RECORDty {fieldTypes=flty1,...}, AT.RECORDty {fieldTypes=flty2,...}) => let val (newTyEquations, rest) = SEnv.foldri (fn (label, ty1, (newTyEquations, rest)) => let val (rest, ty2) = SEnv.remove(rest, label) in ((ty1, ty2) :: newTyEquations, rest) end handle LibBase.NotFound => (print "\n 12 \n";raise Eqty)) (nil, flty2) flty1 in if SEnv.isEmpty rest then eqTys btvEquiv newTyEquations else (print "\n 13 \n";raise Eqty) end | (AT.MVALty tyList1, AT.MVALty tyList2) => if length tyList1 = length tyList2 then eqTys btvEquiv (ListPair.zip(tyList1,tyList2)) else (print "\n 14 \n";raise Eqty) | (AT.POLYty{boundtvars = btvenv1, body = body1}, AT.POLYty{boundtvars = btvenv2, body = body2}) => let val btvlist1 = BoundTypeVarID.Map.listKeys btvenv1 val btvlist2 = BoundTypeVarID.Map.listKeys btvenv2 val newBtvEquiv = if length btvlist1 = length btvlist2 then ListPair.foldl (fn (btv1, btv2, btvEquiv) => addToBtvEquiv(btvEquiv, (btv1,btv2))) btvEquiv (btvlist1, btvlist2) else (print "\n 15 \n";raise Eqty) in eqTy newBtvEquiv (body1, body2) end (* | (AT.SPECty ty1, AT.SPECty ty2) => eqTy btvEquiv (ty1, ty2) | ( AT.SPECty(AT.CONty{tyName = {name=name1, id=id1,...}, args = tyList1}), AT.CONty{tyName = {name=name2, id=id2, ...}, args = tyList2} ) => if !Control.doCompileObj orelse !Control.doFunctorCompile then if length tyList1 = length tyList2 andalso GlobalID.compare(id1, id2) = EQUAL then (eqTys btvEquiv (ListPair.zip (tyList1, tyList2))) else raise Eqty else raise Eqty | ( AT.CONty{tyName = {name=name1, id=id1, ...}, args = tyList1}, AT.SPECty(AT.CONty{tyName = {name=name2, id=id2,...}, args = tyList2}) ) => if !Control.doCompileObj orelse !Control.doFunctorCompile then if length tyList1 = length tyList2 andalso GlobalID.compare(id1, id2) = EQUAL then (eqTys btvEquiv (ListPair.zip (tyList1, tyList2))) else raise Eqty else raise Eqty *) | _ => (print "\n 16 \n"; raise Eqty) and eqTys btvEquiv nil = () | eqTys btvEquiv ((ty1,ty2)::tail) = (eqTy btvEquiv (ty1,ty2); eqTys btvEquiv tail) in eqTys emptyBtvEquiv L end fun checkApplyTy (funTy, argExpTyList) = let val (argTyList, bodyTy) = case funTy of AT.FUNMty{argTyList, bodyTy,...} => (argTyList, bodyTy) | _ => (print "ApplyTy 1\n"; raise ApplyTy) in ( if length argTyList = length argExpTyList then (eqTyList (ListPair.zip (argTyList, argExpTyList)); bodyTy) else (print "ApplyTy 2\n"; raise ApplyTy) ) handle EqTy => (print "ApplyTy 3\n"; raise ApplyTy) end fun staticFieldSelect (btvEnv:AT.btvEnv) (recordTy, label, loc) = case recordTy of AT.RECORDty {fieldTypes,...} => ( case SEnv.find(fieldTypes, label) of SOME fieldTy => fieldTy | _ => (E.enqueueDiagnosis ( loc, "staticFieldSelect 1", E.RecordFieldNotFound { recordTy = recordTy, field = label } ); AT.ERRORty ) ) | AT.BOUNDVARty i => ( case BoundTypeVarID.Map.find(btvEnv, i) of SOME {recordKind = AT.REC fields,...} => (case SEnv.find(fields, label) of SOME ty => ty | NONE => (E.enqueueDiagnosis ( loc, "staticFieldSelect 2", E.RecordFieldNotFound { recordTy = recordTy, field = label } ); AT.ERRORty ) ) | _ => ( E.enqueueDiagnosis ( loc, "staticFieldSelect 2", E.RecordFieldNotFound { recordTy = recordTy, field = label } ); AT.ERRORty ) ) | _ => ( E.enqueueDiagnosis ( loc, "staticFieldSelect 4", E.RecordFieldNotFound { recordTy = recordTy, field = label } ); AT.ERRORty ) fun typecheckExp btvEnv mvexp = case mvexp of MVFOREIGNAPPLY {funExp, funTy, argExpList, attributes, loc} => let val funExpTy = typecheckExp btvEnv funExp val argExpTyList = map (typecheckExp btvEnv) argExpList (* Inside of the FOREIGNAPPLY, function type my have 0-argument type. case (map (typecheckExp btvEnv) argExpList) of nil => [AT.unitty] | tyList => tyList *) in checkApplyTy (funTy, argExpTyList) handle ApplyTy => ( E.enqueueDiagnosis ( loc, "mvtypecheckExp 1", E.OperatorOperandMismatch { funTy = funTy, argTyList = argExpTyList } ); AT.ERRORty ) end | MVEXPORTCALLBACK {funExp, funTy, attributes, loc} => let val funExpTy = typecheckExp btvEnv funExp val _ = eqTyList [(funExpTy,funTy)] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckExp 2", E.TypeAndAnnotationMismatch { annotation = funTy, expType = funExpTy } ) in AT.foreignfunty end | MVTAGOF {ty, loc} => AT.SINGLETONty (AT.TAGty ty) | MVSIZEOF {ty, loc} => AT.SINGLETONty (AT.SIZEty ty) | MVINDEXOF {label, recordTy, loc} => (staticFieldSelect btvEnv (recordTy, label, loc); AT.SINGLETONty (AT.INDEXty (label, recordTy))) | MVEXCEPTIONTAG {tagValue, displayName, loc} => AT.exntagty | MVCONSTANT {value,...} => ATU.constDefaultTy value | MVGLOBALSYMBOL {ty,...} => ty | MVVAR {varInfo, ...} => #ty varInfo | MVGETFIELD {arrayExp, indexExp, elementTy, loc} => let val arrayExpTy = typecheckExp btvEnv arrayExp val arrayTy = AT.arrayty elementTy val _ = eqTyList [(arrayExpTy, arrayTy)] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckExp 4", E.TypeAndAnnotationMismatch { annotation = arrayTy, expType = arrayExpTy } ) val arrayIndexTy = typecheckExp btvEnv indexExp val _ = eqTyList [(arrayIndexTy, AT.intty)] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckExp 5", E.TypeAndAnnotationMismatch { annotation = AT.intty, expType = arrayIndexTy } ) in elementTy end | MVSETFIELD {arrayExp, indexExp, valueExp, elementTy, loc } => let val valueExpTy = typecheckExp btvEnv valueExp val _ = eqTyList [(valueExpTy, elementTy)] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckExp 6", E.TypeAndAnnotationMismatch { annotation = elementTy, expType = valueExpTy } ) val arrayExpTy = typecheckExp btvEnv arrayExp val arrayTy = AT.arrayty elementTy val _ = eqTyList [(arrayExpTy, arrayTy)] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckExp 7", E.TypeAndAnnotationMismatch { annotation = arrayTy, expType = arrayExpTy } ) val arrayIndexTy = typecheckExp btvEnv indexExp val _ = eqTyList [(arrayIndexTy, AT.intty)] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckExp 8", E.TypeAndAnnotationMismatch { annotation = AT.intty, expType = arrayIndexTy } ) in AT.unitty end | MVSETTAIL {consExp, newTailExp, listTy, consRecordTy, tailLabel, loc } => let val consExpTy = typecheckExp btvEnv consExp val newTailExpTy = typecheckExp btvEnv newTailExp val _ = eqTyList [ (consExpTy, listTy), (newTailExpTy, listTy) ] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckExp 30", E.SetTailMismatch { consExpTy = consExpTy, newTailExpTy = newTailExpTy, listTy = listTy } ) in AT.unitty end | MVARRAY {sizeExp, initialValue, elementTy, isMutable, loc} => let val sizeExpTy = typecheckExp btvEnv sizeExp val _ = eqTyList [(sizeExpTy, AT.intty)] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckExp 9", E.TypeAndAnnotationMismatch { annotation = AT.intty, expType = sizeExpTy } ) val initialValueTy = typecheckExp btvEnv initialValue val _ = eqTyList [(initialValueTy, elementTy)] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckExp 10", E.TypeAndAnnotationMismatch { annotation = elementTy, expType = initialValueTy } ) in AT.arrayty initialValueTy end | MVCOPYARRAY {srcExp,srcIndexExp,dstExp,dstIndexExp,lengthExp,elementTy,loc} => let val arrayTy = AT.arrayty elementTy val srcExpTy = typecheckExp btvEnv srcExp val _ = eqTyList [(srcExpTy, arrayTy)] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckExp 36", E.TypeAndAnnotationMismatch { annotation = arrayTy, expType = srcExpTy } ) val srcIndexExpTy = typecheckExp btvEnv srcIndexExp val _ = eqTyList [(srcIndexExpTy, AT.intty)] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckExp 37", E.TypeAndAnnotationMismatch { annotation = AT.intty, expType = srcIndexExpTy } ) val dstExpTy = typecheckExp btvEnv dstExp val _ = eqTyList [(dstExpTy, arrayTy)] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckExp 38", E.TypeAndAnnotationMismatch { annotation = arrayTy, expType = dstExpTy } ) val dstIndexExpTy = typecheckExp btvEnv dstIndexExp val _ = eqTyList [(dstIndexExpTy, AT.intty)] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckExp 39", E.TypeAndAnnotationMismatch { annotation = AT.intty, expType = dstIndexExpTy } ) val lengthExpTy = typecheckExp btvEnv lengthExp val _ = eqTyList [(lengthExpTy, AT.intty)] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckExp 40", E.TypeAndAnnotationMismatch { annotation = AT.intty, expType = lengthExpTy } ) in AT.unitty end | MVPRIMAPPLY {primInfo, argExpList, instTyList, loc} => let val funTy = #ty primInfo val argExpTyList = map (typecheckExp btvEnv) argExpList val resultTy = checkApplyTy (funTy, argExpTyList) handle ApplyTy => ( E.enqueueDiagnosis ( loc, "mvtypecheckExp 11", E.OperatorOperandMismatch { funTy = funTy, argTyList = argExpTyList } ); AT.ERRORty ) in resultTy end | MVAPPM {funExp, funTy, argExpList, loc} => let val expFunTy = typecheckExp btvEnv funExp val _ = eqTyList [(funTy, expFunTy)] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckExp 12", E.TypeAndAnnotationMismatch { annotation = funTy, expType = expFunTy } ) val argExpTyList = map (typecheckExp btvEnv) argExpList val resultTy = checkApplyTy (funTy, argExpTyList) handle ApplyTy => ( E.enqueueDiagnosis ( loc, "mvtypecheckExp 13", E.OperatorOperandMismatch { funTy = funTy, argTyList = argExpTyList } ); AT.ERRORty ) in resultTy end | MVLET {localDeclList, mainExp, loc} => let val _ = typecheckDeclList btvEnv localDeclList in typecheckExp btvEnv mainExp end | MVMVALUES {expList, tyList, loc} => let val _ = if List.all (fn (AT.MVALty _) => false | _ => true) tyList then () else E.enqueueDiagnosis (loc, "mvtypecheckExp 14", E.InvalidSingleTypeList { tyList = tyList } ) val expTyList = map (typecheckExp btvEnv) expList val _ = (if length tyList = length expTyList then eqTyList (ListPair.zip (tyList, expTyList)) else E.enqueueDiagnosis (loc, "mvtypecheckExp 15", E.ArgNumAndArgTyListMismatch { numArgs = length expTyList, numArgTys = length tyList } ) ) handle Eqty => ( E.enqueueDiagnosis (loc, "mvtypecheckExp 16", E.ArgTyListAndArgExpTyListMismatch { argTyList = tyList, argExpTyList = expTyList } ) ) (* val _ = *) (* if length tyList <= 1 *) (* then *) (* E.enqueueDiagnosis *) (* ( *) (* loc, *) (* "mvtypecheckExp 17", *) (* E.MultipleValueExpHasTooFewElements *) (* { *) (* numArgs = length tyList *) (* } *) (* ) *) (* else () *) in AT.MVALty tyList end | MVRECORD {expList, recordTy, loc,...} => let val expTyList = map (typecheckExp btvEnv) expList val tyList = case recordTy of AT.RECORDty {fieldTypes,...} => SEnv.listItems fieldTypes | _ => (E.enqueueDiagnosis ( loc, "mvtypecheckExp 18", E.RecordTermDoNotHaveARecordType recordTy ); map (fn x => AT.ERRORty) expList ) val _ = if List.all (fn (AT.MVALty _) => false | _ => true) tyList then () else E.enqueueDiagnosis (loc, "mvtypecheckExp 19", E.InvalidSingleTypeList { tyList = tyList } ) val _ = (if length tyList = length expTyList then eqTyList (ListPair.zip (tyList, expTyList)) else E.enqueueDiagnosis (loc, "mvtypecheckExp 20", E.ArgNumAndArgTyListMismatch { numArgs = length expTyList, numArgTys = length tyList } ) ) handle Eqty => ( E.enqueueDiagnosis (loc, "mvtypecheckExp 21", E.ArgTyListAndArgExpTyListMismatch { argTyList = tyList, argExpTyList = expTyList } ) ) in recordTy end | MVSELECT {recordExp, indexExp, label, recordTy, resultTy = resultAnnotation, loc} => let val expRecordTy = typecheckExp btvEnv recordExp val _ = eqTyList [(expRecordTy, recordTy)] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckExp 22", E.TypeAndAnnotationMismatch { annotation = recordTy, expType = expRecordTy } ) val indexExpTy = typecheckExp btvEnv indexExp val _ = eqTyList [(indexExpTy, AT.SINGLETONty (AT.INDEXty (label, recordTy)))] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckExp 22-2", E.TypeAndAnnotationMismatch { annotation = indexExpTy, expType = AT.SINGLETONty (AT.INDEXty (label, recordTy)) } ) val resultTy = staticFieldSelect btvEnv (recordTy, label, loc) val _ = eqTyList [(resultTy, resultAnnotation)] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckExp 22-3", E.TypeAndAnnotationMismatch { annotation = resultAnnotation, expType = resultTy } ) in resultTy end | MVMODIFY {recordExp, recordTy, indexExp, label, valueExp, valueTy, loc} => let val expRecordTy = typecheckExp btvEnv recordExp val _ = eqTyList [(expRecordTy, recordTy)] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckExp 23", E.TypeAndAnnotationMismatch { annotation = recordTy, expType = expRecordTy } ) val valueExpTy = typecheckExp btvEnv valueExp val _ = eqTyList [(valueTy, valueExpTy)] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckExp 24", E.TypeAndAnnotationMismatch { annotation = valueTy, expType = valueExpTy } ) val indexExpTy = typecheckExp btvEnv indexExp val _ = eqTyList [(indexExpTy, AT.SINGLETONty (AT.INDEXty (label, recordTy)))] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckExp 24-2", E.TypeAndAnnotationMismatch { annotation = indexExpTy, expType = AT.SINGLETONty (AT.INDEXty (label, recordTy)) } ) val fieldTy = staticFieldSelect btvEnv (recordTy, label, loc) val _ = eqTyList [(valueTy, fieldTy)] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckExp 25", E.TypeAndAnnotationMismatch { annotation = valueTy, expType = fieldTy } ) in recordTy end | MVRAISE {argExp, resultTy, loc} => let val expTy = typecheckExp btvEnv argExp in resultTy end | MVHANDLE {exp, exnVar as {ty,...}, handler, loc} => let val expTy = typecheckExp btvEnv exp val _ = eqTyList [(ty, AT.exnty)] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckExp 26", E.TypeAndAnnotationMismatch { annotation = AT.exnty, expType = ty } ) val handlerTy = typecheckExp btvEnv handler val _ = eqTyList [(expTy, handlerTy)] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckExp 27", E.TypeAndAnnotationMismatch { annotation = expTy, expType = handlerTy } ) in expTy end | MVFNM {argVarList, funTy, bodyExp, annotation, loc} => typecheckFunction btvEnv {argVarList = argVarList, funTy = funTy, bodyExp = bodyExp, loc = loc} | MVPOLY {btvEnv = btvKind, expTyWithoutTAbs, exp, loc} => let val bodyExpTy = typecheckExp (extendBtvEnv(btvEnv,btvKind)) exp val _ = eqTyList [(expTyWithoutTAbs, bodyExpTy)] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckExp 30", E.TypeAndAnnotationMismatch { annotation = expTyWithoutTAbs, expType = bodyExpTy } ) in AT.POLYty{boundtvars = btvKind, body = bodyExpTy} end | MVTAPP {exp, expTy, instTyList, loc} => let val polyExpTy = typecheckExp btvEnv exp val _ = eqTyList [(expTy, polyExpTy)] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckExp 31", E.TypeAndAnnotationMismatch { annotation = expTy, expType = polyExpTy } ) val instanciatedTy = case expTy of AT.POLYty {boundtvars, body} => let val polyArity = BoundTypeVarID.Map.numItems boundtvars val numTyArgs = List.length instTyList in if polyArity = numTyArgs then ATU.tpappTy(expTy, instTyList) else ( E.enqueueDiagnosis ( loc, "mvtypecheckExp 32", E.InstanceArityMismatch { polyArity = polyArity, numTyargs = numTyArgs } ); AT.ERRORty ) end | _ => raise Control.Bug "non poly ty in MVTAPP (multiplevaluecalc/main/MVTypeCheck.sml)" in instanciatedTy end | MVSWITCH {switchExp, expTy, branches, defaultExp, loc} => let val switchExpTy = typecheckExp btvEnv switchExp val defaultExpTy = typecheckExp btvEnv defaultExp val _ = eqTyList [(switchExpTy, expTy)] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckExp 33", E.TypeAndAnnotationMismatch { annotation = expTy, expType = switchExpTy } ) val _ = map (fn {constant, exp} => let val ruleBodyTy = typecheckExp btvEnv exp in eqTyList [(defaultExpTy,ruleBodyTy)] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckExp 34", E.TypeAndAnnotationMismatch { annotation = defaultExpTy, expType = ruleBodyTy } ) end ) branches in defaultExpTy end | MVCAST {exp, expTy, targetTy, loc} => let val ty = typecheckExp btvEnv exp val _ = eqTyList [(ty,expTy)] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckExp 35", E.TypeAndAnnotationMismatch { annotation = expTy, expType = ty } ) in targetTy end and typecheckFunction btvEnv {argVarList, funTy, bodyExp, loc} = let val argTyList = map #ty argVarList val bodyTy = checkApplyTy (funTy, argTyList) handle ApplyTy => ( E.enqueueDiagnosis ( loc, "mvtypecheckExp 28", E.OperatorOperandMismatch { funTy = funTy, argTyList = argTyList } ); AT.ERRORty ) val bodyExpTy = typecheckExp btvEnv bodyExp val _ = eqTyList [(bodyTy, bodyExpTy)] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckExp 29", E.TypeAndAnnotationMismatch { annotation = bodyTy, expType = bodyExpTy } ) in funTy end and typecheckDecl btvEnv mvdecl = case mvdecl of MVVAL {boundVars, boundExp, loc} => let val expTyList = case typecheckExp btvEnv boundExp of AT.MVALty tyList => tyList | ty => [ty] val tyList = map #ty boundVars in ( if length tyList = length expTyList then eqTyList (ListPair.zip (tyList, expTyList)) else E.enqueueDiagnosis (loc, "mvtypecheckDecl 1", E.ArgNumAndArgTyListMismatch { numArgs = length expTyList, numArgTys = length tyList } ) ) handle Eqty => ( E.enqueueDiagnosis (loc, "mvtypecheckDecl 2", E.ArgTyListAndArgExpTyListMismatch { argTyList = tyList, argExpTyList = expTyList } ) ) end | MVVALREC {recbindList, loc} => ( map (fn {boundVar as {ty,...}, boundExp} => let val expTy = typecheckExp btvEnv boundExp in eqTyList [(ty, expTy)] handle Eqty => E.enqueueDiagnosis ( loc, "mvtypecheckDecl 3", E.TypeAndAnnotationMismatch { annotation = ty, expType = expTy } ) end ) recbindList; () ) and typecheckDeclList btvEnv nil = () | typecheckDeclList btvEnv (decl::declList) = (typecheckDecl btvEnv decl; typecheckDeclList btvEnv declList) in fun typecheckBasicBlock basicBlock = case basicBlock of MVVALBLOCK {code, exnIDSet} => (map (typecheckDecl emptyBtvEnv) code;()) | MVLINKFUNCTORBLOCK _ => () fun typecheckTopBlock topBlock = case topBlock of MVBASICBLOCK basicBlock => typecheckBasicBlock basicBlock | MVFUNCTORBLOCK {bodyCode, ...} => let val originalMode = !Control.doFunctorCompile val _ = Control.doFunctorCompile := true val _ = map typecheckBasicBlock bodyCode in Control.doFunctorCompile := originalMode end fun typecheck topBlockList = ( E.initializeTypecheckError(); map typecheckTopBlock topBlockList; E.getDiagnoses() ) handle NotYet => E.getDiagnoses() end end smlsharp-1.2.0/src/compiler/multiplevaluecalc/main/MVTypeCheckError.ppg0000644 000000000000000000000702212050661606026410 0ustar00rootroot0000000 0000000 structure MVTypeCheckError = struct (***************************************************************************) local structure AT = AnnotatedTypes type longid = Absyn.longid structure UE = UserError val errorQueue = UE.createQueue () in (*% * @formatter(AT.ty) AT.format_ty *) exception (*% * @format({polyArity, numTyargs}) * "polytype" +d "arity" +d "and" +d "instance" +d "types" +d "mismatch" +1 "polyArity:" + polyArity +1 "number" +d "of" + "instance" + "types:" + numTyargs *) InstanceArityMismatch of {polyArity : int, numTyargs:int} and (*% * @format({annotation, expType}) * "expression" + "type" +d "and" +d "annotation" +d "don't" +d "agree" +1 "expression" + "type:" + expType +1 "annotation:" + annotation *) TypeAndAnnotationMismatch of {annotation: AT.ty, expType : AT.ty } and (*% * @format({consExpTy, newTailExpTy, listTy }) * "SetTail" + "mismatch." +1 "consExpTy:" + consExpTy +1 "newTailExpTy:" + newTailExpTy +1 "listTy" + listTy *) SetTailMismatch of {consExpTy: AT.ty, newTailExpTy : AT.ty, listTy:AT.ty } and (*% * @format({funTy, argTyList:argTy argTys}) * "opetator" +d "and" +d "operand" +d "don't" +d "agree" +1 "operator" +d "type:" + funTy +1 "operand" +d "types:" + argTys(argTy)(","+d) +d *) OperatorOperandMismatch of {funTy: AT.ty, argTyList : AT.ty list } and (*% * @format({numArgs, numArgTys}) * "number" +d "of" +d "arguments" +d "and" +d "arity" +d "don't" +d "agree" +1 "arguments:" + numArgs +1 "arity:" + numArgTys *) ArgNumAndArgTyListMismatch of {numArgs:int, numArgTys:int} and (*% * @format({argTyList: argTy argTys, argExpTyList:argExpTy argExpTys}) * "argument" +d "type" +d "annotations" +d "and" +d "argument" +d "types" +d "don't" +d "agree" +1 "annotations:" + argTys(argTy)(","+d) +1 "actuals:" + argExpTys(argExpTy)(","+d) *) ArgTyListAndArgExpTyListMismatch of {argTyList : AT.ty list, argExpTyList:AT.ty list} and (*% * @format(ty) ty + "must" +d "be" +d "a" +d "record" + "type" *) RecordTermDoNotHaveARecordType of AT.ty and (*% * @format({recordTy, field}) "field" +d field +d "not" +d "found" +d * "in" + "record" +d "type:" recordTy *) RecordFieldNotFound of {recordTy:AT.ty, field:string} and (*% * @format({selectorType, recordTy}) "record" +d "type" +d "and" +d "selector" +d * "type" + "don't" +d "agree:" * +1 "selector:" + selectorType * +1 "record" +d "type:" + recordTy *) InconsistentFieldSelector of {selectorType:AT.ty, recordTy:AT.ty} and (*% * @format({source, target}) "Type" +d "cast" +d "is" +d "performed" * +1 "from:" + source * +1 "to:" + target *) CompilerCast of {source:AT.ty, target:AT.ty} and (*% * @format({tyList:ty tys}) "Single" +d "type" +d "list" +d "is" +d "incorrect" * +1 "Type list:" + tys(ty)(","+d) *) InvalidSingleTypeList of {tyList : AT.ty list} and (*% * @format({numArgs}) "Multiple" +d "value" +d "expression" +d "has" +d "too" +d "few" +d "elements" * +1 "number of elements:" + numArgs *) MultipleValueExpHasTooFewElements of {numArgs : int} fun initializeTypecheckError () = UE.clearQueue errorQueue fun getDiagnoses () = UE.getDiagnoses errorQueue val enqueueDiagnosis = UE.enqueueDiagnosis errorQueue end end smlsharp-1.2.0/src/compiler/mvoptimization0000755 000000000000000000000000012050661606021116 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/mvoptimization/main0000755 000000000000000000000000012050661606022042 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/mvoptimization/main/MVOPTIMIZATION.sig0000644 000000000000000000000041212050661606025013 0ustar00rootroot0000000 0000000 (** * multiplevaluecalc optimization * @copyright (c) 2006, Tohoku University. * @author Huu-Duc Nguyen * @version $$ *) signature MVOPTIMIZATION = sig val optimize : MultipleValueCalc.mvdecl list -> MultipleValueCalc.mvdecl list end smlsharp-1.2.0/src/compiler/mvoptimization/main/MVOptimization.sml0000644 000000000000000000013415212050661606025575 0ustar00rootroot0000000 0000000 (** * MultipleValueCalc optimization * @copyright (c) 2006, Tohoku University. * @author Huu-Duc Nguyen * @version $$ *) structure MVOptimization : MVOPTIMIZATION = struct structure AT = AnnotatedTypes structure MV = MultipleValueCalc structure MVU = MultipleValueCalcUtils structure ATU = AnnotatedTypesUtils structure CT = ConstantTerm structure Float = Real structure P = BuiltinPrimitive fun newVar ty = let val id = VarID.generate () in {displayName = "$" ^ VarID.toString id, ty = ty, varId = Types.INTERNAL id} end structure MVExp_ord:ORD_KEY = struct type ord_key = MV.mvexp fun argCompare (x,y) = case (x,y) of (MV.MVCAST {exp = exp1, ...}, exp2) => argCompare (exp1, exp2) | (exp1, MV.MVCAST {exp = exp2,...}) => argCompare (exp1, exp2) | (MV.MVEXCEPTIONTAG {tagValue = i1,...}, MV.MVEXCEPTIONTAG {tagValue = i2,...}) => ExnTagID.compare(i1,i2) | (MV.MVEXCEPTIONTAG _, _) => LESS | (MV.MVCONSTANT _, MV.MVEXCEPTIONTAG _) => GREATER | (MV.MVCONSTANT {value = c1,...}, MV.MVCONSTANT {value = c2,...}) => ConstantTerm.compare(c1,c2) | (MV.MVCONSTANT _, _) => LESS | (MV.MVVAR _, MV.MVEXCEPTIONTAG _) => GREATER | (MV.MVVAR _, MV.MVCONSTANT _) => GREATER | (MV.MVVAR {varInfo = {varId = varId1,...},...}, MV.MVVAR {varInfo = {varId = varId2,...},...}) => VarIdEnv.Key.compare (varId1, varId2) | (MV.MVGLOBALSYMBOL _, MV.MVEXCEPTIONTAG _) => GREATER | (MV.MVGLOBALSYMBOL _, MV.MVCONSTANT _) => GREATER | (MV.MVGLOBALSYMBOL _, MV.MVVAR _) => GREATER | (MV.MVGLOBALSYMBOL {name=name1,...}, MV.MVGLOBALSYMBOL {name=name2,...}) => String.compare (name1, name2) | _ => raise Control.Bug "invalid argument" fun argsCompare (argList1,argList2) = ATU.listCompare argCompare (argList1,argList2) fun stringsCompare (L1,L2) = ATU.listCompare String.compare (L1,L2) fun compare (x,y) = case (x,y) of (MV.MVRECORD {isMutable=false, expList = expList1, recordTy = AT.RECORDty {fieldTypes = flty1,...},... }, MV.MVRECORD {isMutable=false, expList = expList2, recordTy = AT.RECORDty {fieldTypes = flty2,...},...}) => ( case stringsCompare(SEnv.listKeys flty1,SEnv.listKeys flty2) of EQUAL => argsCompare(expList1,expList2) | d => d ) | (MV.MVRECORD {isMutable=false,...}, _) => LESS | (MV.MVSELECT _, MV.MVRECORD {isMutable=false,...}) => GREATER | (MV.MVSELECT {recordExp = recordExp1, indexExp = indexExp1,...}, MV.MVSELECT {recordExp = recordExp2, indexExp = indexExp2,...}) => ( case argCompare(indexExp1,indexExp2) of EQUAL => argCompare(recordExp1,recordExp2) | d => d ) | (MV.MVSELECT _, _) => LESS | (MV.MVMODIFY _, MV.MVRECORD {isMutable=false,...}) => GREATER | (MV.MVMODIFY _, MV.MVSELECT _) => GREATER | (MV.MVMODIFY {recordExp = recordExp1, indexExp = indexExp1, valueExp = valueExp1,...}, MV.MVMODIFY {recordExp = recordExp2, indexExp = indexExp2, valueExp = valueExp2,...}) => ( case argCompare(indexExp1,indexExp2) of EQUAL => argsCompare([recordExp1,valueExp1],[recordExp2,valueExp2]) | d => d ) | _ => raise Control.Bug "invalid atomEnv" end structure CommonExpEnv = BinaryMapMaker(MVExp_ord) fun optimizePrimApply varEnv (exp as MV.MVPRIMAPPLY {primInfo, argExpList, instTyList, loc}) = if !Control.doConstantFolding then let exception ConstantNotFound fun intOf (MV.MVCONSTANT {value = CT.INT v,...}) = v | intOf (MV.MVVAR {varInfo as {varId,...},...}) = ( case VarIdEnv.find(varEnv,varId) of SOME (MV.MVCONSTANT {value = CT.INT v,...}) => v | _ => raise ConstantNotFound ) | intOf _ = raise ConstantNotFound fun genericIntOf (MV.MVCONSTANT {value = CT.INT v,...}) = Int32.toInt v | genericIntOf (MV.MVVAR {varInfo as {varId,...},...}) = ( case VarIdEnv.find(varEnv,varId) of SOME (MV.MVCONSTANT {value = CT.INT v,...}) => Int32.toInt v | _ => raise ConstantNotFound ) | genericIntOf _ = raise ConstantNotFound fun largeIntOf (MV.MVCONSTANT {value = CT.LARGEINT v,...}) = v | largeIntOf (MV.MVVAR {varInfo as {varId,...},...}) = ( case VarIdEnv.find(varEnv, varId) of SOME (MV.MVCONSTANT {value = CT.LARGEINT v,...}) => v | _ => raise ConstantNotFound ) | largeIntOf _ = raise ConstantNotFound fun wordOf (MV.MVCONSTANT {value = CT.WORD v,...}) = v | wordOf (MV.MVVAR {varInfo as {varId,...},...}) = ( case VarIdEnv.find(varEnv, varId) of SOME (MV.MVCONSTANT {value = CT.WORD v,...}) => v | _ => raise ConstantNotFound ) | wordOf _ = raise ConstantNotFound fun genericWordOf (MV.MVCONSTANT {value = CT.WORD v,...}) = Word.fromLargeWord (Word32.toLargeWord v) | genericWordOf (MV.MVVAR {varInfo as {varId,...},...}) = ( case VarIdEnv.find(varEnv, varId) of SOME (MV.MVCONSTANT {value = CT.WORD v,...}) => Word.fromLargeWord (Word32.toLargeWord v) | _ => raise ConstantNotFound ) | genericWordOf _ = raise ConstantNotFound fun realOf (MV.MVCONSTANT {value = CT.REAL v,...}) = valOf(Real.fromString v) | realOf (MV.MVVAR {varInfo as {varId,...},...}) = ( case VarIdEnv.find(varEnv, varId) of SOME (MV.MVCONSTANT {value = CT.REAL v,...}) => valOf(Real.fromString v) | _ => raise ConstantNotFound ) | realOf _ = raise ConstantNotFound fun floatOf (MV.MVCONSTANT {value = CT.FLOAT v,...}) = valOf(Real.fromString v) | floatOf (MV.MVVAR {varInfo as {varId,...},...}) = ( case VarIdEnv.find(varEnv,varId) of SOME (MV.MVCONSTANT {value = CT.FLOAT v,...}) => valOf(Real.fromString v) | _ => raise ConstantNotFound ) | floatOf _ = raise ConstantNotFound fun charOf (MV.MVCONSTANT {value = CT.CHAR v,...}) = v | charOf (MV.MVVAR {varInfo as {varId,...},...}) = ( case VarIdEnv.find(varEnv, varId) of SOME (MV.MVCONSTANT {value = CT.CHAR v,...}) => v | _ => raise ConstantNotFound ) | charOf _ = raise ConstantNotFound fun byteOf (MV.MVCONSTANT {value = CT.WORD v,...}) = v | byteOf (MV.MVVAR {varInfo as {varId,...},...}) = ( case VarIdEnv.find(varEnv, varId) of SOME (MV.MVCONSTANT {value = CT.WORD v,...}) => v | _ => raise ConstantNotFound ) | byteOf _ = raise ConstantNotFound fun stringOf (MV.MVCONSTANT {value = CT.STRING v,...}) = v | stringOf (MV.MVVAR {varInfo as {varId,...},...}) = ( case VarIdEnv.find(varEnv, varId) of SOME (MV.MVCONSTANT {value = CT.STRING v,...}) => v | _ => raise ConstantNotFound ) | stringOf _ = raise ConstantNotFound fun intToExp v = MV.MVCONSTANT {value = CT.INT v, loc = loc} fun genericIntToExp v = MV.MVCONSTANT {value = CT.INT (Int32.fromInt v), loc = loc} fun largeIntToExp v = MV.MVCONSTANT {value = CT.LARGEINT v, loc = loc} fun wordToExp v = MV.MVCONSTANT {value = CT.WORD v, loc = loc} fun genericWordToExp v = MV.MVCONSTANT {value = CT.WORD (Word32.fromLargeWord (Word.toLargeWord v)), loc = loc} fun realToExp v = MV.MVCONSTANT {value = CT.REAL (Real.toString v), loc = loc} fun floatToExp v = MV.MVCONSTANT {value = CT.FLOAT (Real.toString v), loc = loc} fun charToExp v = MV.MVCONSTANT {value = CT.CHAR v, loc = loc} fun byteToExp v = MV.MVCONSTANT {value = CT.WORD v, loc = loc} fun boolToExp v = if v then MV.MVCAST { exp = MV.MVCONSTANT {value = CT.INT (Int32.fromInt (Constants.TAG_bool_true)), loc = loc}, expTy = AT.intty, targetTy = AT.boolty, loc = loc } else MV.MVCAST { exp = MV.MVCONSTANT {value = CT.INT (Int32.fromInt (Constants.TAG_bool_false)), loc = loc}, expTy = AT.intty, targetTy = AT.boolty, loc = loc } fun stringToExp v = MV.MVCONSTANT {value = CT.STRING v, loc = loc} fun optimize1 argConv resConv operator = case argExpList of [arg] => resConv (operator (argConv arg)) | _ => exp fun optimize2 arg1Conv arg2Conv resConv operator = case argExpList of [arg1,arg2] => resConv (operator(arg1Conv arg1, arg2Conv arg2)) | _ => exp fun optimize3 arg1Conv arg2Conv arg3Conv resConv operator = case argExpList of [arg1,arg2,arg3] => resConv (operator(arg1Conv arg1,arg2Conv arg2, arg3Conv arg3)) | _ => exp in ( case (#name primInfo, argExpList) of (P.Int_add _,[MV.MVCONSTANT {value = CT.INT 0,...},arg2]) => arg2 | (P.Int_add _,[arg1,MV.MVCONSTANT {value = CT.INT 0,...}]) => arg1 | (P.Int_add _, _) => optimize2 intOf intOf intToExp ( op + ) | (P.Word_add,[MV.MVCONSTANT {value = CT.WORD 0w0,...},arg2]) => arg2 | (P.Word_add,[arg1,MV.MVCONSTANT {value = CT.WORD 0w0,...}]) => arg1 | (P.Word_add, _) => optimize2 wordOf wordOf wordToExp ( op + ) | (P.Real_add, _) => optimize2 realOf realOf realToExp ( op + ) | (P.Float_add, _) => optimize2 floatOf floatOf floatToExp ( op + ) | (P.Byte_add,[MV.MVCONSTANT {value = CT.WORD 0w0,...},arg2]) => arg2 | (P.Byte_add,[arg1,MV.MVCONSTANT {value = CT.WORD 0w0,...}]) => arg1 | (P.Byte_add, _) => optimize2 byteOf byteOf byteToExp ( op + ) | (P.Int_sub _,[arg1,MV.MVCONSTANT {value = CT.INT 0,...}]) => arg1 | (P.Int_sub _, _) => optimize2 intOf intOf intToExp ( op - ) | (P.Word_sub,[arg1,MV.MVCONSTANT {value = CT.WORD 0w0,...}]) => arg1 | (P.Word_sub, _) => optimize2 wordOf wordOf wordToExp ( op - ) | (P.Real_sub, _) => optimize2 realOf realOf realToExp ( op - ) | (P.Float_sub, _) => optimize2 floatOf floatOf floatToExp ( op - ) | (P.Byte_sub,[arg1,MV.MVCONSTANT {value = CT.WORD 0w0,...}]) => arg1 | (P.Byte_sub, _) => optimize2 byteOf byteOf byteToExp ( op - ) | (P.Int_mul _,[arg1 as MV.MVCONSTANT {value = CT.INT 0,...},arg2]) => arg1 | (P.Int_mul _,[arg1 as MV.MVCONSTANT {value = CT.INT 1,...},arg2]) => arg2 | (P.Int_mul _,[arg1,arg2 as MV.MVCONSTANT {value = CT.INT 0,...}]) => arg2 | (P.Int_mul _,[arg1,arg2 as MV.MVCONSTANT {value = CT.INT 1,...}]) => arg1 | (P.Int_mul _, _) => optimize2 intOf intOf intToExp ( op * ) | (P.Word_mul,[arg1 as MV.MVCONSTANT {value = CT.WORD 0w0,...},arg2]) => arg1 | (P.Word_mul,[arg1 as MV.MVCONSTANT {value = CT.WORD 0w1,...},arg2]) => arg2 | (P.Word_mul,[arg1,arg2 as MV.MVCONSTANT {value = CT.WORD 0w0,...}]) => arg2 | (P.Word_mul,[arg1,arg2 as MV.MVCONSTANT {value = CT.WORD 0w1,...}]) => arg1 | (P.Word_mul, _) => optimize2 wordOf wordOf wordToExp ( op * ) | (P.Real_mul, _) => optimize2 realOf realOf realToExp ( op * ) | (P.Float_mul, _) => optimize2 floatOf floatOf floatToExp ( op * ) | (P.Byte_mul,[arg1 as MV.MVCONSTANT {value = CT.WORD 0w0,...},arg2]) => arg1 | (P.Byte_mul,[arg1 as MV.MVCONSTANT {value = CT.WORD 0w1,...},arg2]) => arg2 | (P.Byte_mul,[arg1,arg2 as MV.MVCONSTANT {value = CT.WORD 0w0,...}]) => arg2 | (P.Byte_mul,[arg1,arg2 as MV.MVCONSTANT {value = CT.WORD 0w1,...}]) => arg1 | (P.Byte_mul, _) => optimize2 byteOf byteOf byteToExp ( op * ) | (P.Int_div _,[arg1 as MV.MVCONSTANT {value = CT.INT 0,...},arg2]) => arg1 | (P.Int_div _, _) => optimize2 intOf intOf intToExp ( op div ) | (P.Word_div,[arg1 as MV.MVCONSTANT {value = CT.WORD 0w0,...},arg2]) => arg1 | (P.Word_div, _) => optimize2 wordOf wordOf wordToExp ( op div ) (*| (P.Real_div, _) => optimize2 realOf realOf realToExp ( op / ) *) (*| (P.Float_div, _) => optimize2 floatOf floatOf floatToExp ( op / ) *) | (P.Byte_div,[arg1 as MV.MVCONSTANT {value = CT.WORD 0w0,...},arg2]) => arg1 | (P.Byte_div, _) => optimize2 byteOf byteOf byteToExp ( op div ) | (P.Int_mod _,[arg1 as MV.MVCONSTANT {value = CT.INT 0,...},arg2]) => arg1 | (P.Int_mod _, _) => optimize2 intOf intOf intToExp ( op mod ) | (P.Word_mod,[arg1 as MV.MVCONSTANT {value = CT.WORD 0w0,...},arg2]) => arg1 | (P.Word_mod, _) => optimize2 wordOf wordOf wordToExp ( op mod ) | (P.Byte_mod,[arg1 as MV.MVCONSTANT {value = CT.WORD 0w0,...},arg2]) => arg1 | (P.Byte_mod, _) => optimize2 byteOf byteOf byteToExp ( op mod ) | (P.Int_quot _, _) => optimize2 intOf intOf intToExp ( Int32.quot ) | (P.Int_rem _, _) => optimize2 intOf intOf intToExp ( Int32.rem ) | (P.Int_neg _, _) => optimize1 intOf intToExp ~ | (P.Real_neg, _) => optimize1 realOf realToExp ~ | (P.Float_neg, _) => optimize1 floatOf floatToExp ~ | (P.Int_lt, _) => optimize2 intOf intOf boolToExp ( op < ) | (P.Word_lt, _) => optimize2 wordOf wordOf boolToExp ( op < ) | (P.Real_lt, _) => optimize2 realOf realOf boolToExp ( op < ) | (P.Float_lt, _) => optimize2 floatOf floatOf boolToExp ( op < ) | (P.Byte_lt, _) => optimize2 byteOf byteOf boolToExp ( op < ) | (P.Char_lt, _) => optimize2 charOf charOf boolToExp ( op < ) | (P.String_lt, _) => optimize2 stringOf stringOf boolToExp ( op < ) | (P.Int_gt, _) => optimize2 intOf intOf boolToExp ( op > ) | (P.Word_gt, _) => optimize2 wordOf wordOf boolToExp ( op > ) | (P.Real_gt, _) => optimize2 realOf realOf boolToExp ( op > ) | (P.Float_gt, _) => optimize2 floatOf floatOf boolToExp ( op > ) | (P.Byte_gt, _) => optimize2 byteOf byteOf boolToExp ( op > ) | (P.Char_gt, _) => optimize2 charOf charOf boolToExp ( op > ) | (P.String_gt, _) => optimize2 stringOf stringOf boolToExp ( op > ) | (P.Int_lteq, _) => optimize2 intOf intOf boolToExp ( op <= ) | (P.Word_lteq, _) => optimize2 wordOf wordOf boolToExp ( op <= ) | (P.Real_lteq, _) => optimize2 realOf realOf boolToExp ( op <= ) | (P.Float_lteq, _) => optimize2 floatOf floatOf boolToExp ( op <= ) | (P.Byte_lteq, _) => optimize2 byteOf byteOf boolToExp ( op <= ) | (P.Char_lteq, _) => optimize2 charOf charOf boolToExp ( op <= ) | (P.String_lteq, _) => optimize2 stringOf stringOf boolToExp ( op <= ) | (P.Int_gteq, _) => optimize2 intOf intOf boolToExp ( op >= ) | (P.Word_gteq, _) => optimize2 wordOf wordOf boolToExp ( op >= ) | (P.Real_gteq, _) => optimize2 realOf realOf boolToExp ( op >= ) | (P.Float_gteq, _) => optimize2 floatOf floatOf boolToExp ( op >= ) | (P.Byte_gteq, _) => optimize2 byteOf byteOf boolToExp ( op >= ) | (P.Char_gteq, _) => optimize2 charOf charOf boolToExp ( op >= ) | (P.String_gteq, _) => optimize2 stringOf stringOf boolToExp ( op >= ) | (P.Word_toIntX, _) => optimize1 wordOf intToExp (Int32.fromLarge o Word32.toLargeIntX) | (P.Word_fromInt, _) => optimize1 intOf wordToExp (Word32.fromLargeInt o Int32.toLarge) | (P.Word_andb,[arg1 as MV.MVCONSTANT {value = CT.WORD 0w0,...},arg2]) => arg1 | (P.Word_andb,[arg1,arg2 as MV.MVCONSTANT {value = CT.WORD 0w0,...}]) => arg2 | (P.Word_andb, _) => optimize2 wordOf wordOf wordToExp ( Word32.andb ) | (P.Word_orb,[arg1 as MV.MVCONSTANT {value = CT.WORD 0w0,...},arg2]) => arg2 | (P.Word_orb,[arg1,arg2 as MV.MVCONSTANT {value = CT.WORD 0w0,...}]) => arg1 | (P.Word_orb, _) => optimize2 wordOf wordOf wordToExp ( Word32.orb ) | (P.Word_xorb, _) => optimize2 wordOf wordOf wordToExp ( Word32.xorb ) | (P.Word_notb, _) => optimize1 wordOf wordToExp ( Word32.notb ) | (P.Word_lshift,[arg1 as MV.MVCONSTANT {value = CT.WORD 0w0,...},arg2]) => arg1 | (P.Word_lshift,[arg1,arg2 as MV.MVCONSTANT {value = CT.WORD 0w0,...}]) => arg1 | (P.Word_lshift, _) => optimize2 wordOf genericWordOf wordToExp ( Word32.<< ) | (P.Word_rshift,[arg1 as MV.MVCONSTANT {value = CT.WORD 0w0,...},arg2]) => arg1 | (P.Word_rshift,[arg1,arg2 as MV.MVCONSTANT {value = CT.WORD 0w0,...}]) => arg1 | (P.Word_rshift, _) => optimize2 wordOf genericWordOf wordToExp ( Word32.>> ) | (P.Word_arshift,[arg1 as MV.MVCONSTANT {value = CT.WORD 0w0,...},arg2]) => arg1 | (P.Word_arshift,[arg1,arg2 as MV.MVCONSTANT {value = CT.WORD 0w0,...}]) => arg1 | (P.Word_arshift, _) => optimize2 wordOf genericWordOf wordToExp ( Word32.~>> ) (* | (P.RuntimePrim "Int_toString", _) => optimize1 intOf stringToExp (Int32.toString) | (P.RuntimePrim "Word_toString", _) => optimize1 wordOf stringToExp (Word32.toString) *) | (P.Real_fromInt, _) => optimize1 intOf realToExp (Real.fromLargeInt o Int32.toLarge) (* | (P.RuntimePrim "Real_toString", _) => optimize1 realOf stringToExp (Real.toString) | (P.RuntimePrim "Real_floor", _) => optimize1 realOf genericIntToExp (Real.floor) | (P.RuntimePrim "Real_ceil", _) => optimize1 realOf genericIntToExp (Real.ceil) *) | (P.Real_trunc_unsafe _, _) => optimize1 realOf genericIntToExp (Real.trunc) (* | (P.RuntimePrim "Real_round", _) => optimize1 realOf genericIntToExp (Real.round) *) | (P.Float_fromInt, _) => optimize1 intOf floatToExp (Float.fromLargeInt o Int32.toLarge) (* | (P.RuntimePrim "Float_toString", _) => optimize1 floatOf stringToExp (Float.toString) | (P.RuntimePrim "Float_floor", _) => optimize1 floatOf genericIntToExp (Float.floor) | (P.RuntimePrim "Float_ceil", _) => optimize1 floatOf genericIntToExp (Float.ceil) *) | (P.Float_trunc_unsafe _, _) => optimize1 floatOf genericIntToExp (Float.trunc) (* | (P.RuntimePrim "Float_round", _) => optimize1 floatOf genericIntToExp (Float.round) | (P.RuntimePrim "Char_toString", _) => optimize1 charOf stringToExp (Char.toString) *) | (P.Char_ord, _) => optimize1 charOf genericIntToExp (Char.ord) | (P.Char_chr_unsafe, _) => optimize1 genericIntOf charToExp (Char.chr) (* | (P.RuntimePrim "String_concat2", _) => optimize2 stringOf stringOf stringToExp ( op ^ ) *) | (P.String_sub_unsafe, _) => optimize2 stringOf genericIntOf charToExp ( String.sub ) | (P.String_size, _) => optimize1 stringOf genericIntToExp ( String.size ) (* | (P.RuntimePrim "String_substring", _) => optimize3 stringOf genericIntOf genericIntOf stringToExp ( String.substring ) | (P.RuntimePrim "Math_sqrt", _) => optimize1 realOf realToExp ( Math.sqrt ) | (P.RuntimePrim "Math_sin", _) => optimize1 realOf realToExp ( Math.sin ) | (P.RuntimePrim "Math_cos", _) => optimize1 realOf realToExp ( Math.cos ) | (P.RuntimePrim "Math_tan", _) => optimize1 realOf realToExp ( Math.tan ) | (P.RuntimePrim "Math_asin", _) => optimize1 realOf realToExp ( Math.asin ) | (P.RuntimePrim "Math_acos", _) => optimize1 realOf realToExp ( Math.acos ) | (P.RuntimePrim "Math_atan", _) => optimize1 realOf realToExp ( Math.atan ) | (P.RuntimePrim "Math_atan2", _) => optimize2 realOf realOf realToExp ( Math.atan2 ) | (P.RuntimePrim "Math_exp", _) => optimize1 realOf realToExp ( Math.exp ) | (P.RuntimePrim "Math_pow", _) => optimize2 realOf realOf realToExp ( Math.pow ) | (P.RuntimePrim "Math_ln", _) => optimize1 realOf realToExp ( Math.ln ) | (P.RuntimePrim "Math_log10", _) => optimize1 realOf realToExp ( Math.log10 ) | (P.RuntimePrim "Math_sinh", _) => optimize1 realOf realToExp ( Math.sinh ) | (P.RuntimePrim "Math_cosh", _) => optimize1 realOf realToExp ( Math.cosh ) | (P.RuntimePrim "Math_tanh", _) => optimize1 realOf realToExp ( Math.tanh ) *) | _ => exp ) handle _ => exp end else exp | optimizePrimApply _ _ = raise Control.Bug "invalid primapply" fun commonSubexpressionEliminate commonExpEnv exp = if !Control.doCommonSubexpressionElimination then case CommonExpEnv.find(commonExpEnv, exp) of SOME varInfo => MV.MVVAR {varInfo = varInfo, loc = MVU.getLocOfExp exp} | _ => exp else exp fun optimizeArg varEnv argExp = case argExp of MV.MVCONSTANT _ => argExp | MV.MVGLOBALSYMBOL _ => argExp | MV.MVEXCEPTIONTAG _ => argExp | MV.MVVAR {varInfo as {varId,...},...} => (case VarIdEnv.find(varEnv, varId) of SOME rootExp => rootExp | NONE => argExp ) | MV.MVCAST {exp = MV.MVCONSTANT _ , ...} => argExp | MV.MVCAST {exp = MV.MVGLOBALSYMBOL _, ...} => argExp | MV.MVCAST {exp = MV.MVEXCEPTIONTAG _ , ...} => argExp | MV.MVCAST {exp = MV.MVVAR {varInfo as {varId,...},...}, expTy, targetTy, loc} => (case VarIdEnv.find(varEnv, varId) of SOME (MV.MVCAST {exp, expTy,...}) => MV.MVCAST {exp = exp, expTy = expTy, targetTy = targetTy, loc = loc} | SOME rootExp => MV.MVCAST {exp = rootExp, expTy = expTy, targetTy = targetTy, loc = loc} | NONE => argExp ) | _ => let val s = Control.prettyPrint (MV.format_mvexp argExp) in raise Control.Bug ("invalid argument" ^ s) end fun optimizeExp varEnv recordEnv commonExpEnv mvexp = case mvexp of MV.MVFOREIGNAPPLY{funExp, funTy, argExpList, attributes, loc} => MV.MVFOREIGNAPPLY { funExp = optimizeArg varEnv funExp, funTy = funTy, argExpList = map (optimizeArg varEnv) argExpList, attributes = attributes, loc = loc } | MV.MVEXPORTCALLBACK {funExp, funTy, attributes, loc} => MV.MVEXPORTCALLBACK { funExp = optimizeExp varEnv recordEnv commonExpEnv funExp, funTy = funTy, attributes = attributes, loc = loc } | MV.MVTAGOF _ => mvexp | MV.MVSIZEOF _ => mvexp | MV.MVINDEXOF _ => mvexp | MV.MVCONSTANT _ => mvexp | MV.MVGLOBALSYMBOL _ => mvexp | MV.MVEXCEPTIONTAG _ => mvexp | MV.MVVAR {varInfo as {varId,...},...} => (case VarIdEnv.find(varEnv, varId) of SOME rootExp => rootExp | NONE => mvexp ) | MV.MVGETFIELD {arrayExp, indexExp, elementTy, loc} => MV.MVGETFIELD { arrayExp = optimizeArg varEnv arrayExp, indexExp = optimizeArg varEnv indexExp, elementTy = elementTy, loc = loc } | MV.MVSETFIELD {valueExp, arrayExp, indexExp, elementTy, loc} => MV.MVSETFIELD { valueExp = optimizeArg varEnv valueExp, arrayExp = optimizeArg varEnv arrayExp, indexExp = optimizeArg varEnv indexExp, elementTy = elementTy, loc = loc } | MV.MVSETTAIL {consExp, newTailExp, listTy, consRecordTy, tailLabel, loc} => MV.MVSETTAIL { consExp = optimizeArg varEnv consExp, newTailExp = optimizeArg varEnv newTailExp, listTy = listTy, consRecordTy = consRecordTy, tailLabel = tailLabel, loc = loc } | MV.MVARRAY {sizeExp, initialValue, elementTy, isMutable, loc} => MV.MVARRAY { sizeExp = optimizeArg varEnv sizeExp, initialValue = optimizeArg varEnv initialValue, elementTy = elementTy, isMutable = isMutable, loc = loc } | MV.MVCOPYARRAY {srcExp, srcIndexExp, dstExp, dstIndexExp, lengthExp, elementTy, loc} => MV.MVCOPYARRAY { srcExp = optimizeArg varEnv srcExp, srcIndexExp = optimizeArg varEnv srcIndexExp, dstExp = optimizeArg varEnv dstExp, dstIndexExp = optimizeArg varEnv dstIndexExp, lengthExp = optimizeArg varEnv lengthExp, elementTy = elementTy, loc = loc } | MV.MVPRIMAPPLY {primInfo as {ty,...}, argExpList, instTyList, loc} => let val newExp = MV.MVPRIMAPPLY { primInfo = primInfo, argExpList = map (optimizeArg varEnv) argExpList, instTyList = instTyList, loc = loc } in (* constant folding can be applied here *) optimizePrimApply varEnv newExp end | MV.MVAPPM {funExp as MV.MVTAPP{exp, expTy, instTyList, loc = tappLoc}, funTy, argExpList, loc = appLoc} => MV.MVAPPM { funExp = MV.MVTAPP { exp = optimizeArg varEnv exp, expTy = expTy, instTyList = instTyList, loc = tappLoc }, funTy = funTy, argExpList = map (optimizeArg varEnv) argExpList, loc = appLoc } | MV.MVAPPM {funExp, funTy, argExpList, loc} => MV.MVAPPM { funExp = optimizeArg varEnv funExp, funTy = funTy, argExpList = map (optimizeArg varEnv) argExpList, loc = loc } | MV.MVLET {localDeclList, mainExp, loc} => let val (newLocalDeclList, newVarEnv, newRecordEnv, newCommonExpEnv) = optimizeDeclList varEnv recordEnv commonExpEnv localDeclList val newMainExp = optimizeExp newVarEnv newRecordEnv newCommonExpEnv mainExp in case newMainExp of MV.MVLET {localDeclList, mainExp,...} => MV.MVLET {localDeclList = newLocalDeclList @ localDeclList, mainExp = mainExp, loc = loc} | _ => MV.MVLET {localDeclList = newLocalDeclList, mainExp = newMainExp, loc = loc} end | MV.MVMVALUES {expList, tyList, loc} => MV.MVMVALUES { expList = map (optimizeArg varEnv) expList, tyList = tyList, loc = loc } | MV.MVRECORD {expList, recordTy, annotation, isMutable, loc} => let val newExp = MV.MVRECORD { expList = map (optimizeArg varEnv) expList, recordTy = recordTy, annotation = annotation, isMutable = isMutable, loc = loc } in if isMutable then newExp else commonSubexpressionEliminate commonExpEnv newExp end | MV.MVSELECT {recordExp, indexExp, label, recordTy, resultTy, loc} => let val newRecordExp = optimizeArg varEnv recordExp val indexExp = optimizeArg varEnv indexExp fun lookupField kind = case VarIdEnv.find(recordEnv, kind) of SOME fields => ( case SEnv.find(fields,label) of SOME exp => exp | NONE => (* this code should either be eliminated by switch optimization * or never be reached at runtime. Then use a dummy field instead. *) MV.MVCONSTANT {value = CT.INT 0, loc = loc} ) | NONE => let val newExp = MV.MVSELECT {recordExp = newRecordExp, indexExp = indexExp, label = label, recordTy = recordTy, resultTy = resultTy, loc = loc} in commonSubexpressionEliminate commonExpEnv newExp end in case newRecordExp of MV.MVVAR {varInfo as {varId,...},...} => lookupField varId | MV.MVCAST {exp = MV.MVVAR {varInfo = {varId,...},...},...} => lookupField varId | _ => (* this code should either be eliminated by switch optimization * or never be reached at runtime. Then use a dummy field instead. *) MV.MVCONSTANT {value = CT.INT 0, loc = loc} end | MV.MVMODIFY {recordExp, recordTy, indexExp, label, valueExp, valueTy, loc} => let val newExp = MV.MVMODIFY { recordExp = optimizeArg varEnv recordExp, recordTy = recordTy, indexExp = optimizeArg varEnv indexExp, label = label, valueExp = optimizeArg varEnv valueExp, valueTy = valueTy, loc = loc } in commonSubexpressionEliminate commonExpEnv newExp end | MV.MVRAISE {argExp, resultTy, loc} => MV.MVRAISE { argExp = optimizeArg varEnv argExp, resultTy = resultTy, loc = loc } | MV.MVHANDLE {exp, exnVar, handler, loc} => MV.MVHANDLE { exp = optimizeExp varEnv recordEnv commonExpEnv exp, exnVar = exnVar, handler = optimizeExp varEnv recordEnv commonExpEnv handler, loc = loc } | MV.MVFNM {argVarList, funTy, bodyExp, annotation, loc} => MV.MVFNM { argVarList = argVarList, funTy = funTy, bodyExp = optimizeExp varEnv recordEnv commonExpEnv bodyExp, annotation = annotation, loc = loc } | MV.MVPOLY {btvEnv, expTyWithoutTAbs, exp, loc} => MV.MVPOLY { btvEnv = btvEnv, expTyWithoutTAbs = expTyWithoutTAbs, exp = optimizeExp varEnv recordEnv commonExpEnv exp, loc = loc } | MV.MVTAPP {exp, expTy, instTyList, loc} => MV.MVTAPP { exp = optimizeArg varEnv exp, expTy = expTy, instTyList = instTyList, loc = loc } | MV.MVSWITCH {switchExp, expTy, branches, defaultExp, loc} => let fun optimizeBranch {constant, exp} = { constant = constant, exp = optimizeExp varEnv recordEnv commonExpEnv exp } val newSwitchExp = optimizeArg varEnv switchExp val newBranches = map optimizeBranch branches val newDefaultExp = optimizeExp varEnv recordEnv commonExpEnv defaultExp fun lookupBranch v [] = newDefaultExp | lookupBranch v ({constant as MV.MVCONSTANT {value,...}, exp}::rest) = ( case ConstantTerm.compare(value,v) of EQUAL => exp | _ => lookupBranch v rest ) | lookupBranch v _ = raise Control.Bug "non MVCONSTANT in lookupBranch : (mvoptimization/main/MVOptimization.sml)" in case newSwitchExp of MV.MVCONSTANT {value, loc} => lookupBranch value newBranches | MV.MVCAST {exp = MV.MVCONSTANT {value, loc},...} => lookupBranch value newBranches | _ => MV.MVSWITCH { switchExp = newSwitchExp, expTy = expTy, branches = newBranches, defaultExp = newDefaultExp, loc = loc } end | MV.MVCAST {exp, expTy, targetTy, loc} => ( case optimizeExp varEnv recordEnv commonExpEnv exp of MV.MVLET {localDeclList, mainExp as MV.MVCAST{exp, expTy,loc=loc1,...},...} => MV.MVLET { localDeclList = localDeclList, mainExp = MV.MVCAST {exp = exp, expTy = expTy, targetTy = targetTy, loc = loc1}, loc = loc } | MV.MVLET {localDeclList, mainExp,...} => MV.MVLET { localDeclList = localDeclList, mainExp = MV.MVCAST {exp = mainExp, expTy = expTy, targetTy = targetTy, loc = loc}, loc = loc } | MV.MVCAST {exp, expTy,...} => MV.MVCAST {exp = exp, expTy = expTy, targetTy = targetTy, loc = loc} | exp => MV.MVCAST {exp = exp, expTy = expTy, targetTy = targetTy, loc = loc} ) and optimizeDecl varEnv recordEnv commonExpEnv mvdecl = case mvdecl of MV.MVVAL {boundVars, boundExp, loc} => let fun firstID ({displayName,ty, varId}::L) = varId | firstID nil = raise Control.Bug "nil to fistID : (mvoptimization/main/MVOptimization.sml)" fun simplifyDecl decl = case decl of MV.MVVAL {boundVars, boundExp, loc} => (case boundExp of MV.MVLET {localDeclList, mainExp, ...} => localDeclList @ (simplifyDecl (MV.MVVAL {boundVars = boundVars, boundExp = mainExp, loc = loc})) | MV.MVMVALUES {expList, tyList, ...} => ListPair.map (fn (varInfo,exp) => MV.MVVAL {boundVars = [varInfo], boundExp = exp, loc = loc}) (boundVars, expList) | _ => [decl] ) | MV.MVVALREC {recbindList, loc} => [decl] fun uncastedExp (exp, expTy, targetTy, expLoc) = let val varInfo = newVar expTy val newDecl = MV.MVVAL{boundVars = [varInfo], boundExp = exp, loc = loc} val castedExp = MV.MVCAST { exp = MV.MVVAR {varInfo = varInfo, loc = expLoc}, expTy = expTy, targetTy = targetTy, loc = expLoc } in (varInfo, newDecl, castedExp) end fun addRecordBind(id,MV.MVRECORD {expList, recordTy as AT.RECORDty {fieldTypes,...},...}) = let val fields = ListPair.foldl (fn (label,exp,S) => SEnv.insert(S,label,exp)) SEnv.empty (SEnv.listKeys fieldTypes, expList) in VarIdEnv.insert(recordEnv,id,fields) end | addRecordBind _ = raise Control.Bug "non MVRECORD to addRecordBind : (mvoptimization/main/MVOptimization.sml)" fun filter (decl as MV.MVVAL {boundVars, boundExp, loc}, (declList, varEnv, recordEnv, commonExpEnv)) = (case boundExp of MV.MVCONSTANT _ => if ATU.isGlobal (hd boundVars) then (decl::declList, VarIdEnv.insert(varEnv,firstID boundVars,boundExp), recordEnv, commonExpEnv) else (declList, VarIdEnv.insert(varEnv,firstID boundVars,boundExp), recordEnv, commonExpEnv) | MV.MVGLOBALSYMBOL _ => if ATU.isGlobal (hd boundVars) then (decl::declList, VarIdEnv.insert(varEnv,firstID boundVars,boundExp), recordEnv, commonExpEnv) else (declList, VarIdEnv.insert(varEnv,firstID boundVars,boundExp), recordEnv, commonExpEnv) | MV.MVEXCEPTIONTAG _ => if ATU.isGlobal (hd boundVars) then (decl::declList, VarIdEnv.insert(varEnv,firstID boundVars,boundExp), recordEnv, commonExpEnv) else (declList, VarIdEnv.insert(varEnv,firstID boundVars,boundExp), recordEnv, commonExpEnv) | MV.MVVAR _ => if ATU.isGlobal (hd boundVars) then (decl::declList, VarIdEnv.insert(varEnv,firstID boundVars,boundExp), recordEnv, commonExpEnv) else (declList, VarIdEnv.insert(varEnv,firstID boundVars,boundExp), recordEnv, commonExpEnv) | MV.MVRECORD {isMutable,...} => if isMutable then (decl::declList, varEnv, recordEnv, commonExpEnv) else ( decl::declList, varEnv, addRecordBind(firstID boundVars, boundExp), CommonExpEnv.insert(commonExpEnv,boundExp,List.hd boundVars) ) | MV.MVSELECT _ => ( decl::declList, varEnv, recordEnv, CommonExpEnv.insert(commonExpEnv,boundExp,List.hd boundVars) ) | MV.MVMODIFY _ => ( decl::declList, varEnv, recordEnv, CommonExpEnv.insert(commonExpEnv,boundExp,List.hd boundVars) ) | MV.MVCAST {exp = MV.MVCONSTANT _, ...} => if ATU.isGlobal (hd boundVars) then (decl::declList, VarIdEnv.insert(varEnv,firstID boundVars,boundExp), recordEnv, commonExpEnv) else (declList, VarIdEnv.insert(varEnv,firstID boundVars,boundExp), recordEnv, commonExpEnv) | MV.MVCAST {exp = MV.MVGLOBALSYMBOL _, ...} => if ATU.isGlobal (hd boundVars) then (decl::declList, VarIdEnv.insert(varEnv,firstID boundVars,boundExp), recordEnv, commonExpEnv) else (declList, VarIdEnv.insert(varEnv,firstID boundVars,boundExp), recordEnv, commonExpEnv) | MV.MVCAST {exp = MV.MVEXCEPTIONTAG _, ...} => if ATU.isGlobal (hd boundVars) then (decl::declList, VarIdEnv.insert(varEnv,firstID boundVars,boundExp), recordEnv, commonExpEnv) else (declList, VarIdEnv.insert(varEnv,firstID boundVars,boundExp), recordEnv, commonExpEnv) | MV.MVCAST {exp = MV.MVVAR _, ...} => if ATU.isGlobal (hd boundVars) then (decl::declList, VarIdEnv.insert(varEnv,firstID boundVars,boundExp), recordEnv, commonExpEnv) else (declList, VarIdEnv.insert(varEnv,firstID boundVars,boundExp), recordEnv, commonExpEnv) | MV.MVCAST {exp as (MV.MVRECORD {isMutable,...}), expTy, targetTy, loc = expLoc} => if isMutable then (decl::declList, varEnv, recordEnv, commonExpEnv) else let val (varInfo as {varId,...}, uncastedDecl, castedExp) = uncastedExp (exp, expTy, targetTy, expLoc) val decls = if ATU.isGlobal (hd boundVars) then (MV.MVVAL {boundVars = boundVars, boundExp = castedExp, loc = loc})::uncastedDecl::declList else uncastedDecl::declList in ( decls, VarIdEnv.insert(varEnv,firstID boundVars, castedExp), addRecordBind(varId, exp), CommonExpEnv.insert(commonExpEnv,exp,varInfo) ) end | MV.MVCAST {exp as MV.MVSELECT _, expTy, targetTy, loc = expLoc} => let val (varInfo, uncastedDecl, castedExp) = uncastedExp (exp, expTy, targetTy, expLoc) val decls = if ATU.isGlobal (hd boundVars) then (MV.MVVAL {boundVars = boundVars, boundExp = castedExp, loc = loc})::uncastedDecl::declList else uncastedDecl::declList in ( decls, VarIdEnv.insert(varEnv,firstID boundVars, castedExp), recordEnv, CommonExpEnv.insert(commonExpEnv,exp,varInfo) ) end | MV.MVCAST {exp as MV.MVMODIFY _, expTy, targetTy, loc = expLoc} => let val (varInfo, uncastedDecl, castedExp) = uncastedExp (exp, expTy, targetTy, expLoc) val decls = if ATU.isGlobal (hd boundVars) then (MV.MVVAL {boundVars = boundVars, boundExp = castedExp, loc = loc})::uncastedDecl::declList else uncastedDecl::declList in ( decls, VarIdEnv.insert(varEnv,firstID boundVars, castedExp), recordEnv, CommonExpEnv.insert(commonExpEnv,exp,varInfo) ) end | MV.MVCAST {exp, expTy, targetTy, loc = expLoc} => let val (varInfo, uncastedDecl, castedExp) = uncastedExp (exp, expTy, targetTy, expLoc) val decls = if ATU.isGlobal (hd boundVars) then (MV.MVVAL {boundVars = boundVars, boundExp = castedExp, loc = loc})::uncastedDecl::declList else uncastedDecl::declList in ( decls, VarIdEnv.insert(varEnv,firstID boundVars, castedExp), recordEnv, commonExpEnv ) end | _ => (decl::declList, varEnv, recordEnv, commonExpEnv) ) | filter (decl, (declList, varEnv, recordEnv, commonExpEnv)) = (decl::declList, varEnv, recordEnv, commonExpEnv) val declList = simplifyDecl (MV.MVVAL { boundVars = boundVars, boundExp = optimizeExp varEnv recordEnv commonExpEnv boundExp, loc = loc } ) val (declListRev, newVarEnv, newRecordEnv, newCommonExpEnv) = foldl filter ([],varEnv,recordEnv,commonExpEnv) declList in (rev declListRev, newVarEnv, newRecordEnv, newCommonExpEnv) end | MV.MVVALREC {recbindList, loc} => let val newRecbindList = map (fn {boundVar, boundExp} => {boundVar = boundVar, boundExp = optimizeExp varEnv recordEnv commonExpEnv boundExp} ) recbindList val decl = MV.MVVALREC {recbindList = newRecbindList, loc = loc} in ([decl], varEnv, recordEnv, commonExpEnv) end and optimizeDeclList varEnv recordEnv commonExpEnv [] = ([],varEnv,recordEnv,commonExpEnv) | optimizeDeclList varEnv recordEnv commonExpEnv (decl::declList) = let val (decls1,newVarEnv,newRecordEnv,newCommonExpEnv) = optimizeDecl varEnv recordEnv commonExpEnv decl val (decls2,newVarEnv,newRecordEnv,newCommonExpEnv) = optimizeDeclList newVarEnv newRecordEnv newCommonExpEnv declList in (decls1 @ decls2, newVarEnv, newRecordEnv, newCommonExpEnv) end end smlsharp-1.2.0/src/compiler/mvoptimization/main/USELESSCODEELIMINATION.sig0000644 000000000000000000000036512050661606026100 0ustar00rootroot0000000 0000000 (** * Useless code elimination * @copyright (c) 2006, Tohoku University. * @author Huu-Duc Nguyen * @version $$ *) signature USELESSCODEELIMINATION = sig val optimize : MultipleValueCalc.mvdecl list -> MultipleValueCalc.mvdecl list end smlsharp-1.2.0/src/compiler/mvoptimization/main/UselessCodeElimination.sml0000644 000000000000000000004200512050661606027246 0ustar00rootroot0000000 0000000 (** * useless code elimination * @copyright (c) 2006, Tohoku University. * @author Huu-Duc Nguyen * @version $Id: UselessCodeElimination.sml,v 1.19 2008/02/23 15:49:54 bochao Exp $ *) structure UselessCodeElimination (* : USELESSCODEELIMINATION *) = struct structure T = Types open MultipleValueCalc fun containEffectInPrimitive (primInfo : MultipleValueCalc.primInfo) = BuiltinPrimitiveUtils.hasEffect (#name primInfo) orelse (case BuiltinPrimitiveUtils.raisesException (#name primInfo) of nil => false | _::_ => true) fun containEffectInExp exp = case exp of MVFOREIGNAPPLY _ => true | MVEXPORTCALLBACK _ => true | MVTAGOF _ => false | MVSIZEOF _ => false | MVINDEXOF _ => false | MVCONSTANT _ => false | MVGLOBALSYMBOL _ => false | MVEXCEPTIONTAG _ => false | MVVAR _ => false | MVGETFIELD _ => false | MVSETFIELD _ => true | MVSETTAIL _ => true | MVARRAY {sizeExp, initialValue, elementTy, isMutable, loc} => containEffectInExpList [sizeExp,initialValue] | MVCOPYARRAY _ => true | MVPRIMAPPLY {primInfo, argExpList, instTyList, loc} => (containEffectInPrimitive primInfo) orelse (containEffectInExpList argExpList) | MVAPPM {funExp, funTy, argExpList, loc} => true (* temporary *) | MVLET {localDeclList, mainExp, loc} => (containEffectInDeclList localDeclList) orelse (containEffectInExp mainExp) | MVMVALUES {expList, tyList, loc} => containEffectInExpList expList | MVRECORD {expList, recordTy, annotation, isMutable, loc} => containEffectInExpList expList | MVSELECT {recordExp, indexExp, label, recordTy, resultTy, loc} => (containEffectInExp recordExp) orelse (containEffectInExp indexExp) | MVMODIFY {recordExp, recordTy, indexExp, label, valueExp, valueTy, loc} => containEffectInExpList [recordExp,indexExp,valueExp] | MVRAISE {argExp, resultTy, loc} => true | MVHANDLE {exp, exnVar, handler, loc} => true (*temporary*) | MVFNM {argVarList, funTy, bodyExp, annotation, loc} => false | MVPOLY {btvEnv, expTyWithoutTAbs, exp, loc} => containEffectInExp exp | MVTAPP {exp, expTy, instTyList, loc} => containEffectInExp exp | MVSWITCH {switchExp, expTy, branches, defaultExp, loc} => let fun containEffectInBranches [] = false | containEffectInBranches ({constant,exp}::rest) = (containEffectInExp exp) orelse (containEffectInBranches rest) in (containEffectInExpList [switchExp,defaultExp]) orelse (containEffectInBranches branches) end | MVCAST {exp, expTy, targetTy, loc} => containEffectInExp exp and containEffectInExpList [] = false | containEffectInExpList (exp::rest) = (containEffectInExp exp) orelse (containEffectInExpList rest) and containEffectInDecl decl = case decl of MVVAL {boundVars, boundExp,...} => (AnnotatedTypesUtils.isGlobal (hd boundVars)) orelse containEffectInExp boundExp | MVVALREC _ => false and containEffectInDeclList [] = false | containEffectInDeclList (decl::rest) = (containEffectInDecl decl) orelse (containEffectInDeclList rest) fun eliminateExp vSet exp = case exp of MVFOREIGNAPPLY {funExp, funTy, argExpList, attributes, loc} => let val (newFunExp, newVarIdSet) = eliminateExp vSet funExp val (newArgExpList,newVarIdSet) = eliminateExpList newVarIdSet argExpList in ( MVFOREIGNAPPLY { funExp = newFunExp, funTy = funTy, argExpList = newArgExpList, attributes = attributes, loc = loc }, newVarIdSet ) end | MVEXPORTCALLBACK {funExp, funTy, attributes, loc} => let val (newFunExp,newVarIdSet) = eliminateExp vSet funExp in ( MVEXPORTCALLBACK { funExp = newFunExp, funTy = funTy, attributes = attributes, loc = loc }, newVarIdSet ) end | MVTAGOF _ => (exp,vSet) | MVSIZEOF _ => (exp,vSet) | MVINDEXOF _ => (exp,vSet) | MVCONSTANT _ => (exp,vSet) | MVGLOBALSYMBOL _ => (exp,vSet) | MVEXCEPTIONTAG _ => (exp,vSet) | MVVAR {varInfo as {varId,...},...} => (exp, VarIdSet.add(vSet,varId)) (* | MVGETFIELD {arrayExp, indexExp, elementTy, loc} => let val (newArrayExp,newIndexExp,newVarIdSet) = eliminateExp2 vSet (arrayExp,indexExp) in ( MVGETFIELD { arrayExp = newArrayExp, indexExp = newIndexExp, elementTy = elementTy, loc = loc }, newVarIdSet ) end | MVSETFIELD {valueExp, arrayExp, indexExp, elementTy, loc} => let val (newArrayExp,newVarIdSet) = eliminateExp vSet arrayExp val (newIndexExp,newValueExp,newVarIdSet) = eliminateExp2 newVarIdSet (indexExp,valueExp) in ( MVSETFIELD { valueExp = newValueExp, arrayExp = newArrayExp, indexExp = newIndexExp, elementTy = elementTy, loc = loc }, newVarIdSet ) end | MVSETTAIL{consExp, newTailExp, listTy, consRecordTy, tailLabel, loc} => let val (newConsExp, newNewTailExp, newVarIdSet) = eliminateExp2 vSet (consExp,newTailExp) in ( MVSETTAIL { consExp = newConsExp, newTailExp = newNewTailExp, tailLabel = tailLabel, listTy = listTy, consRecordTy = consRecordTy, loc = loc }, newVarIdSet ) end | MVARRAY {sizeExp, initialValue, elementTy, isMutable, loc} => let val (newSizeExp,newInitialValue,newVarIdSet) = eliminateExp2 vSet (sizeExp,initialValue) in ( MVARRAY { sizeExp = newSizeExp, initialValue = newInitialValue, elementTy = elementTy, isMutable = isMutable, loc = loc }, newVarIdSet ) end | MVCOPYARRAY {srcExp, srcIndexExp, dstExp, dstIndexExp, lengthExp, elementTy, loc} => let val (newSrcExp, newSrcIndexExp, newVarIdSet) = eliminateExp2 vSet (srcExp, srcIndexExp) val (newDstExp, newDstIndexExp, newVarIdSet) = eliminateExp2 newVarIdSet (dstExp, dstIndexExp) val (newLengthExp, newVarIdSet) = eliminateExp newVarIdSet lengthExp in ( MVCOPYARRAY { srcExp = newSrcExp, srcIndexExp = newSrcIndexExp, dstExp = newDstExp, dstIndexExp = newDstIndexExp, lengthExp = newLengthExp, elementTy = elementTy, loc = loc }, newVarIdSet ) end *) | MVPRIMAPPLY {primInfo as {ty,...}, argExpList, instTyList, loc} => let val (newArgExpList,newVarIdSet) = eliminateExpList vSet argExpList in ( MVPRIMAPPLY { primInfo = primInfo, argExpList = newArgExpList, instTyList = instTyList, loc = loc }, newVarIdSet ) end | MVAPPM {funExp, funTy, argExpList, loc} => let val (newFunExp,newVarIdSet) = eliminateExp vSet funExp val (newArgExpList,newVarIdSet) = eliminateExpList newVarIdSet argExpList in ( MVAPPM { funExp = newFunExp, funTy = funTy, argExpList = newArgExpList, loc = loc }, newVarIdSet ) end | MVLET {localDeclList, mainExp, loc} => let val (newMainExp, newVarIdSet) = eliminateExp vSet mainExp val (newLocalDeclList, newVarIdSet) = eliminateDeclList newVarIdSet localDeclList in case newLocalDeclList of [] => (newMainExp, newVarIdSet) | _ => (MVLET {localDeclList = newLocalDeclList, mainExp = newMainExp, loc = loc}, newVarIdSet) end | MVMVALUES {expList, tyList, loc} => let val (newExpList, newVarIdSet) = eliminateExpList vSet expList in ( MVMVALUES { expList = newExpList, tyList = tyList, loc = loc }, newVarIdSet ) end | MVRECORD {expList, recordTy, annotation, isMutable, loc} => let val (newExpList, newVarIdSet) = eliminateExpList vSet expList in ( MVRECORD { expList = newExpList, recordTy = recordTy, annotation = annotation, isMutable = isMutable, loc = loc }, newVarIdSet ) end | MVSELECT {recordExp, indexExp, label, recordTy, resultTy, loc} => let val (newRecordExp,newVarIdSet) = eliminateExp vSet recordExp val (newIndexExp,newVarIdSet) = eliminateExp newVarIdSet indexExp in ( MVSELECT { recordExp = newRecordExp, indexExp = indexExp, label = label, recordTy = recordTy, resultTy = resultTy, loc = loc }, newVarIdSet ) end | MVMODIFY {recordExp, recordTy, indexExp, label, valueExp, valueTy, loc} => let val (newRecordExp,newValueExp,newVarIdSet) = eliminateExp2 vSet (recordExp,valueExp) val (newIndexExp,newVarIdSet) = eliminateExp newVarIdSet indexExp in ( MVMODIFY { recordExp = newRecordExp, recordTy = recordTy, indexExp = newIndexExp, label = label, valueExp = newValueExp, valueTy = valueTy, loc = loc }, newVarIdSet ) end | MVRAISE {argExp, resultTy, loc} => let val (newArgExp,newVarIdSet) = eliminateExp vSet argExp in ( MVRAISE { argExp = newArgExp, resultTy = resultTy, loc = loc }, newVarIdSet ) end | MVHANDLE {exp, exnVar as {varId,...}, handler, loc} => let val (newExp,newHandler,newVarIdSet) = eliminateExp2 vSet (exp,handler) in ( MVHANDLE { exp = newExp, exnVar = exnVar, handler = newHandler, loc = loc }, (VarIdSet.delete(newVarIdSet,varId)) handle NotFound => newVarIdSet ) end | MVFNM {argVarList, funTy, bodyExp, annotation, loc} => let val (newBodyExp,newVarIdSet) = eliminateExp vSet bodyExp val newVarIdSet = foldl (fn ({varId,...}, S) => (VarIdSet.delete(S,varId)) handle NotFound => S ) newVarIdSet argVarList in ( MVFNM { argVarList = argVarList, funTy = funTy, bodyExp = newBodyExp, annotation = annotation, loc = loc }, newVarIdSet ) end | MVPOLY {btvEnv, expTyWithoutTAbs, exp, loc} => let val (newExp,newVarIdSet) = eliminateExp vSet exp in ( MVPOLY { btvEnv = btvEnv, expTyWithoutTAbs = expTyWithoutTAbs, exp = newExp, loc = loc }, newVarIdSet ) end | MVTAPP {exp, expTy, instTyList, loc} => let val (newExp,newVarIdSet) = eliminateExp vSet exp in ( MVTAPP { exp = newExp, expTy = expTy, instTyList = instTyList, loc = loc }, newVarIdSet ) end | MVSWITCH {switchExp, expTy, branches, defaultExp, loc} => let val (newSwitchExp,newDefaultExp,newVarIdSet) = eliminateExp2 vSet (switchExp,defaultExp) val (newBranches, newVarIdSet) = foldr (fn ({constant,exp},(L,S)) => let val (newExp, newS) = eliminateExp S exp in ({constant = constant, exp = newExp}::L, newS) end ) ([],newVarIdSet) branches in ( MVSWITCH { switchExp = newSwitchExp, expTy = expTy, branches = newBranches, defaultExp = newDefaultExp, loc = loc }, newVarIdSet ) end | MVCAST {exp, expTy, targetTy, loc} => let val (newExp,newVarIdSet) = eliminateExp vSet exp in ( MVCAST { exp = newExp, expTy = expTy, targetTy = targetTy, loc = loc }, newVarIdSet ) end and eliminateExpList vSet [] = ([],vSet) | eliminateExpList vSet (exp::rest) = let val (newExp, newVarIdSet) = eliminateExp vSet exp val (newRest, newVarIdSet) = eliminateExpList newVarIdSet rest in ((newExp::newRest), newVarIdSet) end and eliminateExp2 vSet (exp1, exp2) = let val (newExp1, newVarIdSet) = eliminateExp vSet exp1 val (newExp2, newVarIdSet) = eliminateExp newVarIdSet exp2 in (newExp1, newExp2, newVarIdSet) end and eliminateRecBindList vSet [] = ([], vSet) | eliminateRecBindList vSet ({boundVar, boundExp}::rest) = let val (newBoundExp, newVarIdSet) = eliminateExp vSet boundExp val (newRest, newVarIdSet) = eliminateRecBindList newVarIdSet rest in ({boundVar = boundVar, boundExp = newBoundExp}::newRest, newVarIdSet) end and eliminateDeclList vSet [] = ([], vSet) | eliminateDeclList vSet (decl::declList) = let val (newDeclList, newVarIdSet) = eliminateDeclList vSet declList fun boundVarsInRecBinds recbinds = foldl (fn ({boundVar, boundExp}, L) => boundVar::L) [] recbinds fun globalInVars [] = false | globalInVars (({varId = T.EXTERNAL _,...}:varInfo)::rest) = true | globalInVars (({varId = T.INTERNAL _,...}:varInfo)::rest) = globalInVars rest fun varIdSet boundVarList = foldl (fn ({varId,...} : varInfo, S) => VarIdSet.add (S,varId)) VarIdSet.empty boundVarList in case decl of MVVAL {boundVars, boundExp, loc} => let val boundVarIdSet = foldl (fn ({varId,...},S) => VarIdSet.add(S,varId)) VarIdSet.empty boundVars val (newBoundExp, newVarIdSet2) = eliminateExp newVarIdSet boundExp in if VarIdSet.isEmpty(VarIdSet.intersection(boundVarIdSet,newVarIdSet)) andalso (not (containEffectInExp newBoundExp)) andalso (not (AnnotatedTypesUtils.isGlobal (List.hd boundVars))) then (newDeclList, newVarIdSet) else ( MVVAL{boundVars = boundVars, boundExp = newBoundExp, loc = loc}::newDeclList, newVarIdSet2 ) end | MVVALREC {recbindList, loc} => let val boundVars = boundVarsInRecBinds recbindList val varIds = varIdSet boundVars in if (VarIdSet.isEmpty(VarIdSet.intersection(varIds,newVarIdSet))) andalso (not (globalInVars boundVars)) then (newDeclList, newVarIdSet) else let val (newRecBindList, newVarIdSet) = eliminateRecBindList newVarIdSet recbindList in ( MVVALREC {recbindList = newRecBindList, loc = loc}::newDeclList, VarIdSet.difference(newVarIdSet, varIds) ) end end end end smlsharp-1.2.0/src/compiler/name0000755 000000000000000000000000012050661606016745 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/name/main0000755 000000000000000000000000012050661606017671 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/name/main/GenIDFun.smi0000644 000000000000000000000756612050661606022077 0ustar00rootroot0000000 0000000 _require "../../../basis/main/General.smi" _require "../../../basis/main/Int.smi" _require "../../../basis/main/String.smi" _require "../../../basis/main/binary-op.smi" _require "../../../smlformat-lib.smi" _require "../../../smlnj-lib/Util/ord-key-sig.sml" _require "../../../smlnj-lib/Util/ord-set-sig.sml" _require "../../../compiler-utils/env/main/IEnv.smi" _require "../../../compiler-utils/env/main/ISet.smi" _require "../../../compiler-utils/env/main/ENV.sig" _require "LOCAL_ID.sig" structure Empty = struct end functor GenIDFun (A:sig end) = struct eqtype id (= int) structure Map = struct type 'a map (= boxed) type key = id val compare : key * key -> order val empty : 'a map val isEmpty : 'a map -> bool val singleton : key * 'a -> 'a map val insert : 'a map * key * 'a -> 'a map val insert' : (key * 'a) * 'a map -> 'a map val find : 'a map * key -> 'a option val lookup : 'a map * key -> 'a val inDomain : 'a map * key -> bool val remove : 'a map * key -> 'a map * 'a val first : 'a map -> 'a option val firsti : 'a map -> (key * 'a) option val numItems : 'a map -> int val listItems : 'a map -> 'a list val listItemsi : 'a map -> (key * 'a) list val listKeys : 'a map -> key list val collate : ('a * 'a -> order) -> 'a map * 'a map -> order val unionWith : ('a * 'a -> 'a) -> 'a map * 'a map -> 'a map val unionWithi : (key * 'a * 'a -> 'a) -> 'a map * 'a map -> 'a map val intersectWith : ('a * 'b -> 'c) -> 'a map * 'b map -> 'c map val intersectWithi : (key * 'a * 'b -> 'c) -> 'a map * 'b map -> 'c map val mergeWith : ('a option * 'b option -> 'c option) -> 'a map * 'b map -> 'c map val mergeWithi : (key * 'a option * 'b option -> 'c option) -> 'a map * 'b map -> 'c map val app : ('a -> unit) -> 'a map -> unit val appi : (key * 'a -> unit) -> 'a map -> unit val map : ('a -> 'b) -> 'a map -> 'b map val mapi : (key * 'a -> 'b) -> 'a map -> 'b map val foldl : ('a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldli : (key * 'a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldr : ('a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldri : (key * 'a * 'b -> 'b) -> 'b -> 'a map -> 'b val filter : ('a -> bool) -> 'a map -> 'a map val filteri : (key * 'a -> bool) -> 'a map -> 'a map val mapPartial : ('a -> 'b option) -> 'a map -> 'b map val mapPartiali : (key * 'a -> 'b option) -> 'a map -> 'b map val fromList : (key * 'a) list -> 'a map val insertWith : ('a -> unit) -> 'a map * key * 'a -> 'a map end structure Set = struct structure Key = struct type ord_key = id val compare : ord_key * ord_key -> order end type item = Key.ord_key type set (= boxed) val empty : set val singleton : item -> set val fromList : item list -> set val add : set * item -> set val add' : item * set -> set val addList : set * item list -> set val delete : set * item -> set val member : set * item -> bool val isEmpty : set -> bool val equal : set * set -> bool val compare : set * set -> order val isSubset : set * set -> bool val numItems : set -> int val listItems : set -> item list val union : set * set -> set val intersection : set * set -> set val difference : set * set -> set val map : (item -> item) -> set -> set val app : (item -> unit) -> set -> unit val foldl : (item * 'a -> 'a) -> 'a -> set -> 'a val foldr : (item * 'a -> 'a) -> 'a -> set -> 'a val partition : (item -> bool) -> set -> set * set val filter : (item -> bool) -> set -> set val exists : (item -> bool) -> set -> bool val find : (item -> bool) -> set -> item option end val compare : id * id -> order val eq : id * id -> bool val generate : unit -> id val format_id : id -> SMLFormat.FormatExpression.expression list val toString : id -> string val toInt : id -> int end smlsharp-1.2.0/src/compiler/name/main/GenIDFun.sml0000644 000000000000000000000065112050661606022066 0ustar00rootroot0000000 0000000 structure Empty = struct end functor GenIDFun () = struct local val state = ref 0 in type id = int structure Map = IEnv structure Set = ISet fun compare x = Int.compare x fun eq (id1:id, id2:id) = id1 = id2 fun generate () = !state before state := !state + 1 fun format_id x = SMLFormat.BasicFormatters.format_int x fun toString elementID = Int.toString elementID fun toInt id = id end end :> LOCAL_ID smlsharp-1.2.0/src/compiler/name/main/LOCAL_ID.sig0000644 000000000000000000000054612050661606021667 0ustar00rootroot0000000 0000000 signature LOCAL_ID = sig eqtype id val compare : id * id -> order val eq : id * id -> bool val generate : unit -> id val format_id : id -> SMLFormat.FormatExpression.expression list val toString : id -> string val toInt : id -> int structure Map : ENV sharing type id = Map.key structure Set : ORD_SET sharing type id = Set.Key.ord_key end smlsharp-1.2.0/src/compiler/name/main/LocalID.smi0000644 000000000000000000000133712050661606021735 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "GenIDFun.smi" structure FreeTypeVarID = GenIDFun(Empty) structure BoundTypeVarID = GenIDFun(Empty) structure ClusterID = GenIDFun(Empty) structure ConID = GenIDFun(Empty) structure ExnID = GenIDFun(Empty) structure InterfaceID = GenIDFun(Empty) structure OPrimID = GenIDFun(Empty) structure PrimID = GenIDFun(Empty) structure TvarID = GenIDFun(Empty) structure TypID = GenIDFun(Empty) structure VarID = GenIDFun(Empty) structure StructureID = GenIDFun(Empty) structure FunctorID = GenIDFun(Empty) structure FunctionAnnotationID = GenIDFun(Empty) structure AnnotationLabelID = GenIDFun(Empty) structure RevealID = GenIDFun(Empty) structure VarName = struct val generate : unit -> string end smlsharp-1.2.0/src/compiler/name/main/LocalID.sml0000644 000000000000000000000150412050661606021734 0ustar00rootroot0000000 0000000 structure FreeTypeVarID = GenIDFun(Empty) structure BoundTypeVarID = GenIDFun(Empty) structure ClusterID = GenIDFun(Empty) structure ConID = GenIDFun(Empty) structure ExnID = GenIDFun(Empty) structure InterfaceID = GenIDFun(Empty) structure OPrimID = GenIDFun(Empty) structure PrimID = GenIDFun(Empty) structure TvarID = GenIDFun(Empty) structure TypID = GenIDFun(Empty) structure VarID = GenIDFun(Empty) structure StructureID = GenIDFun(Empty) structure FunctorID = GenIDFun(Empty) structure FunctionAnnotationID = GenIDFun(Empty) structure AnnotationLabelID = GenIDFun(Empty) structure RevealID = GenIDFun(Empty) structure VarName = struct local val state = ref 0 fun gen () = !state before state := !state + 1 in fun generate () = let val id = gen () in "$" ^ (Int.toString id) end end end smlsharp-1.2.0/src/compiler/nameevaluation0000755 000000000000000000000000012050661606021035 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/nameevaluation/main0000755 000000000000000000000000012050661606021761 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/nameevaluation/main/CheckProvide.smi0000644 000000000000000000000206212050661606025120 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlnj-lib/Util/lib-base.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../../compiler-utils/env/main/PathEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../absyn/main/AbsynInterface.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../builtin2/main/BuiltinTypes.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../usererror/main/UserErrorUtils.smi" _require "../../util/main/utils.smi" _require "../../patterncalc/main/PatternCalcInterface.ppg.smi" _require "EvalSig.smi" _require "EvalTy.smi" _require "FunctorUtils.smi" _require "NameEvalEnv.ppg.smi" _require "NameEvalError.ppg.smi" _require "NameEvalInterface.smi" _require "NameEvalUtils.smi" _require "NormalizeTy.smi" structure CheckProvide = struct val checkPitopdecList : NameEvalEnv.topEnv -> (NameEvalEnv.topEnv * PatternCalcInterface.pitopdec list) -> IDCalc.icdecl list end smlsharp-1.2.0/src/compiler/nameevaluation/main/CheckProvide.sml0000644 000000000000000000013447212050661606025136 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2012- Tohoku University. * @author Atsushi Ohori *) (* the initial error code of this file : CP-001 *) structure CheckProvide : sig val checkPitopdecList : NameEvalEnv.topEnv -> (NameEvalEnv.topEnv * PatternCalcInterface.pitopdec list) -> IDCalc.icdecl list end = struct local structure I = IDCalc structure V = NameEvalEnv structure BT = BuiltinTypes structure PI = PatternCalcInterface structure U = NameEvalUtils structure EU = UserErrorUtils structure E = NameEvalError structure A = AbsynInterface structure N = NormalizeTy structure Ty = EvalTy structure Sig = EvalSig structure FU = FunctorUtils structure EI = NameEvalInterface val nilPath = nil fun bug s = Control.Bug ("CheckProvide: " ^ s) exception Fail fun genTypedExportVarsIdstatus loc path idstatus (exnSet, icdecls) = case idstatus of I.IDVAR varId => (exnSet, I.ICEXPORTTYPECHECKEDVAR ({path=path, id=varId}, loc) :: icdecls) | I.IDVAR_TYPED {id=varId,ty} => (exnSet, I.ICEXPORTTYPECHECKEDVAR ({path=path, id=varId}, loc) :: icdecls) | I.IDEXVAR {path, ty, used, loc, version, internalId} => (exnSet, icdecls) | I.IDEXVAR_TOBETYPED _ => raise bug "IDEXVAR_TOBETYPED" | I.IDBUILTINVAR {primitive, ty} => (exnSet, icdecls) | I.IDCON {id, ty} => (exnSet, icdecls) | I.IDEXN {id, ty} => if not (ExnID.Set.member(exnSet, id)) then (ExnID.Set.add(exnSet, id), I.ICEXPORTEXN ({path=path, ty=ty, id=id}, loc) :: icdecls) else (exnSet, icdecls) | I.IDEXNREP {id, ty} => if not (ExnID.Set.member(exnSet, id)) then (ExnID.Set.add(exnSet, id), I.ICEXPORTEXN ({path=path, ty=ty, id=id}, loc) :: icdecls) else (exnSet, icdecls) | I.IDEXEXN {path, ty, used, loc, version} => (exnSet, icdecls) | I.IDEXEXNREP {path, ty, used, loc, version} => (exnSet, icdecls) | I.IDOPRIM {id, overloadDef, used, loc} => (exnSet, icdecls) | I.IDSPECVAR ty => raise bug "IDSPECVAR in genTypedExportVars" | I.IDSPECEXN ty => raise bug "IDSPECEXN in genTypedExportVars" | I.IDSPECCON => raise bug "IDSPECCON in genTypedExportVars" fun genTypedExportVarsVarE loc path varE (exnSet,icdecls) = SEnv.foldli (fn (name, idstatus, (exnSet, icdecls)) => genTypedExportVarsIdstatus loc (path@[name]) idstatus (exnSet, icdecls)) (exnSet, icdecls) varE fun genTypedExportVarsEnv loc path (V.ENV{varE, tyE, strE}) (exnSet,icdecls) = let val (exnSet, icdecls) = genTypedExportVarsVarE loc path varE (exnSet, icdecls) val (exnSet, icdecls) = genTypedExportVarsStrE loc path strE (exnSet, icdecls) in (exnSet, icdecls) end and genTypedExportVarsStrE loc path (V.STR strEntryMap) (exnSet,icdecls) = SEnv.foldli (fn (name, {env, strKind}, (exnSet,icdecls)) => genTypedExportVarsEnv loc (path@[name]) env (exnSet,icdecls) ) (exnSet, icdecls) strEntryMap fun checkDatbind loc path evalEnv env (name,defTstr,defRealTstr,defRealTfun, {tyvars, tycon, conbind}) = (* datatype 'a foo = FOO of 'a | BAR *) let val (tvarEnv, tvarList) = Ty.genTvarList Ty.emptyTvarEnv tyvars in let val {id, iseq, formals, conSpec, dtyKind,...} = case I.derefTfun defRealTfun of I.TFUN_DEF _ => (EU.enqueueError (loc,E.ProvideDtyExpected ("CP-010",{longid=path@[tycon]})); raise Fail) | I.TFUN_VAR(ref(I.TFUN_DTY x)) => x | _ => (EU.enqueueError (loc,E.ProvideDtyExpected ("CP-020",{longid=path@[tycon]})); raise Fail) val eqEnv = if length tvarList = length formals then let val tvarPairs = ListPair.zip (tvarList, formals) in foldr (fn (({id=tv1,...}, {id=tv2,...}), eqEnv) => TvarID.Map.insert(eqEnv, tv1, tv2) ) TvarID.Map.empty tvarPairs end else (EU.enqueueError (loc, E.ProvideArity("CP-030",{longid = path@[tycon]})); raise Fail ) val (nameTyPairList, conSpec) = foldr (fn ({vid, ty}, (nameTyPairList, conSpec)) => let val ty = Option.map (Ty.evalTy tvarEnv evalEnv) ty handle e => raise e val (actualTyOpt, conSpec) = case SEnv.find(conSpec, vid) of NONE => (EU.enqueueError (loc, E.ProvideUndefinedCon ("CP-040",{longid=path@[vid]})); raise Fail ) | SOME tyOpt => (tyOpt, #1 (SEnv.remove(conSpec, vid)) handle LibBase.NotFound => raise bug "SEnv.remove" ) in ((vid, ty, actualTyOpt)::nameTyPairList, conSpec) end ) (nil, conSpec) conbind val _ = SEnv.appi (fn (name, _) => EU.enqueueError (loc, E.ProvideRedundantCon("CP-050",{longid=path@[name]})) ) conSpec val _ = if SEnv.isEmpty conSpec then () else raise Fail val _ = List.app (fn (name, tyOpt1, tyOpt2) => case (tyOpt1, tyOpt2) of (NONE, NONE) => () | (SOME ty1, SOME ty2) => if N.equalTy (N.emptyTypIdEquiv, eqEnv) (ty1, ty2) then () else (EU.enqueueError (loc, E.ProvideConType("CP-060",{longid=path@[name]})); raise Fail) | _ => (EU.enqueueError (loc, E.ProvideConType("CP-070",{longid = path@[name]})); raise Fail) ) nameTyPairList in V.rebindTstr (V.emptyEnv, tycon, defTstr) end end fun checkDatbindList loc path evalEnv env datbinds = let val nameTstrTfunDatbindList = foldr (fn (datbind as {tyvars, tycon, conbind}, nameTstrTfunDatbindList) => let val defTstr = case V.findTstr(env, [tycon]) of NONE => (EU.enqueueError (loc, E.ProvideUndefinedTypeName ("CP-080",{longid = path@[tycon]})); raise Fail) | SOME tstr => tstr val (defTfun, varE) = case defTstr of V.TSTR tfun => (tfun, SEnv.empty) | V.TSTR_DTY {tfun, varE,...} => (I.derefTfun tfun, varE) val (conSpec, formals) = case I.derefTfun defTfun of I.TFUN_VAR(ref (I.TFUN_DTY{formals, conSpec,...})) => (conSpec, formals) | _ => (EU.enqueueError (loc,E.ProvideDtyExpected ("CP-090",{longid=path@[tycon]})); raise Fail) val defRealTstr = V.TSTR_DTY{tfun=defTfun, varE = varE, formals=formals, conSpec=conSpec} in (tycon, defTstr, defRealTstr, defTfun, datbind):: nameTstrTfunDatbindList end ) nil datbinds val evalEnv = foldl (fn ((name, defTstr, defRealTstr, tfun, dtbind), evalEnv) => V.rebindTstr(evalEnv, name, defRealTstr)) evalEnv nameTstrTfunDatbindList in foldl (fn (nameTstrTfunBind, returnEnv) => let val newEnv = checkDatbind loc path evalEnv env nameTstrTfunBind in V.unionEnv "CP-100" loc (returnEnv, newEnv) end ) V.emptyEnv nameTstrTfunDatbindList end fun checkPidec exnSet path (evalTopEnv as {Env=evalEnv,FunE, SigE}) (env, pidec) = case pidec of PI.PIVAL {scopedTvars, vid=name, body, loc} => let val internalPath = path@[name] (* for declaration and error message *) val (tvarEnv, scopedTvars) = Ty.evalScopedTvars loc Ty.emptyTvarEnv evalEnv scopedTvars fun processExternVal {externPath, ty} = let val ty = Ty.evalTy tvarEnv evalEnv ty handle e => raise e val ty = case scopedTvars of nil => ty | _ => I.TYPOLY(scopedTvars, ty) in case V.findId(env, [name]) of NONE => (EU.enqueueError (loc, E.ProvideUndefinedID("CP-110", {longid = internalPath})); raise Fail) | SOME (idstatus as I.IDVAR varid) => (exnSet, V.rebindId(V.emptyEnv,name,idstatus), [I.ICEXPORTVAR ({id=varid, path=externPath}, ty, loc)] ) | SOME (idstatus as I.IDVAR_TYPED {id=varid, ty=varTy}) => if N.equalTy (N.emptyTypIdEquiv, TvarID.Map.empty) (ty, varTy) then (exnSet, V.rebindId(V.emptyEnv,name,idstatus), [I.ICEXPORTTYPECHECKEDVAR ({id=varid, path=externPath}, loc)] ) else (EU.enqueueError (loc, E.ProvideIDType("CP-120", {longid = internalPath})); raise Fail) | SOME (idstatus as I.IDEXVAR {path=exVarPath, ty=internalTy, used, loc, version, internalId}) => (* bug 069_open *) (* bug 124_open *) let val _ = used := true val icexp =I.ICEXVAR ({path=exVarPath,ty=internalTy},loc) val newId = VarID.generate() val icpat = I.ICPATVAR ({path=internalPath,id=newId},loc) val valDecl = I.ICVAL(Ty.emptyScopedTvars,[(icpat,icexp)],loc) val icdecls = [valDecl, I.ICEXPORTVAR({id=newId,path=externPath},ty,loc)] in (exnSet, V.rebindId(V.emptyEnv,name,idstatus), icdecls ) end | SOME (I.IDEXVAR_TOBETYPED _) => raise bug "IDEXVAR_TOBETYPED" | SOME (idstatus as I.IDBUILTINVAR {primitive, ty}) => (* bug 075_builtin *) let val icexp = I.ICBUILTINVAR{primitive=primitive,ty=ty,loc=loc} val newId = VarID.generate() val icpat = I.ICPATVAR ({path=internalPath,id=newId},loc) val valDecl = I.ICVAL(Ty.emptyScopedTvars,[(icpat,icexp)],loc) val icdecls = [valDecl, I.ICEXPORTVAR({id=newId,path=externPath},ty,loc)] in (exnSet, V.rebindId(V.emptyEnv,name,idstatus), icdecls) end | SOME (idstatus as I.IDCON {id=conId, ty}) => let val icexp =I.ICCON ({path=internalPath,ty=ty, id=conId},loc) val newId = VarID.generate() val icpat = I.ICPATVAR ({path=internalPath,id=newId},loc) val valDecl = I.ICVAL(Ty.emptyScopedTvars,[(icpat,icexp)],loc) val icdecls = [valDecl, I.ICEXPORTVAR({id=newId,path=externPath},ty,loc)] in (exnSet, V.rebindId(V.emptyEnv,name,idstatus), icdecls) end | SOME (idstatus as I.IDEXN {id, ty}) => let val icexp =I.ICEXN ({path=internalPath,ty=ty,id=id}, loc) val newId = VarID.generate() val icpat = I.ICPATVAR ({path=internalPath,id=newId},loc) val valDecl = I.ICVAL(Ty.emptyScopedTvars,[(icpat,icexp)],loc) in (exnSet, V.rebindId(V.emptyEnv,name,idstatus), [valDecl]) end | SOME (idstatus as I.IDEXNREP {id, ty}) => let val icexp =I.ICEXN ({path=internalPath,ty=ty,id=id}, loc) val newId = VarID.generate() val icpat = I.ICPATVAR ({path=internalPath,id=newId},loc) val valDecl = I.ICVAL(Ty.emptyScopedTvars,[(icpat,icexp)],loc) val icdecls = [valDecl, I.ICEXPORTVAR ({id=newId,path=externPath},ty, loc)] in (exnSet, V.rebindId(V.emptyEnv,name,idstatus), icdecls) end | SOME (I.IDEXEXN {path, ty, used, loc, version}) => raise bug "IDEXEXN in env" | SOME (I.IDEXEXNREP {path, ty, used, loc, version}) => raise bug "IDEXEXN in env" | SOME (I.IDOPRIM {id, overloadDef, used, loc}) => raise bug "IDOPRIM in env" | SOME (I.IDSPECVAR _) => raise bug "IDSPECVAR in provideEnv" | SOME (I.IDSPECEXN _ ) => raise bug "IDSPECEXN in provideEnv" | SOME I.IDSPECCON => raise bug "IDSPECCON in provideEnv" end in case body of A.VAL_EXTERN {ty} => processExternVal {externPath=internalPath, ty=ty} | A.VAL_EXTERN_WITHNAME {ty, externPath} => processExternVal {externPath=externPath, ty=ty} | A.VALALIAS_EXTERN {path=aliasPath} => (case V.findId(env, [name]) of NONE => (EU.enqueueError (loc, E.ProvideUndefinedID("CP-130", {longid = [name]})); raise Fail) | SOME (idstatus as I.IDEXVAR {path=refPath, ty, used=used1, loc, version, internalId}) => (case V.findId(evalEnv, aliasPath) of SOME (idstatus as I.IDEXVAR {path=defPath, ty, used=used2, loc, version, internalId}) => if refPath = defPath then (used1 := true; used2:=true; (exnSet, V.rebindId(V.emptyEnv,name,idstatus), nil) ) else (EU.enqueueError (loc, E.ProvideVariableAlias("CP-140", {longid = internalPath})); raise Fail) | SOME _ => (EU.enqueueError (loc, E.ProvideVariableAlias("CP-150", {longid = internalPath})); raise Fail) | NONE => (EU.enqueueError (loc, E.ProvideUndefinedID("CP-160", {longid = internalPath})); raise Fail) ) | SOME (idstatus as I.IDBUILTINVAR {primitive=refPrim, ...}) => (case V.findId(evalEnv, aliasPath) of SOME (I.IDBUILTINVAR {primitive=defPrim, ...}) => if refPrim = defPrim then (exnSet, V.rebindId(V.emptyEnv,name,idstatus), nil) else (EU.enqueueError (loc, E.ProvideVariableAlias("CP-170", {longid = internalPath})); raise Fail) | SOME _ => (EU.enqueueError (loc, E.ProvideVariableAlias("CP-180", {longid = internalPath})); raise Fail) | NONE => (EU.enqueueError (loc, E.ProvideUndefinedID("CP-190", {longid = internalPath})); raise Fail) ) | SOME (idstatus as (I.IDVAR refId)) => (case V.findId(evalEnv, aliasPath) of SOME (idstatus as (I.IDVAR defId)) => if VarID.eq(refId,defId) then (exnSet, V.rebindId(V.emptyEnv,name,idstatus), nil) else (EU.enqueueError (loc, E.ProvideVariableAlias("CP-200", {longid = internalPath})); raise Fail) | SOME (idstatus as (I.IDVAR_TYPED {id=defId, ty})) => if VarID.eq(refId,defId) then (exnSet, V.rebindId(V.emptyEnv,name,idstatus), nil) else (EU.enqueueError (loc, E.ProvideVariableAlias("CP-201", {longid = internalPath})); raise Fail) | SOME _ => (EU.enqueueError (loc, E.ProvideVariableAlias("CP-210", {longid = internalPath})); raise Fail) | NONE => (EU.enqueueError (loc, E.ProvideUndefinedID("CP-220", {longid = internalPath})); raise Fail) ) | SOME (idstatus as (I.IDVAR_TYPED {id=refId, ty})) => (case V.findId(evalEnv, aliasPath) of SOME (idstatus as (I.IDVAR defId)) => if VarID.eq(refId,defId) then (exnSet, V.rebindId(V.emptyEnv,name,idstatus), nil) else (EU.enqueueError (loc, E.ProvideVariableAlias("CP-200", {longid = internalPath})); raise Fail) | SOME (idstatus as (I.IDVAR_TYPED {id=defId, ty})) => if VarID.eq(refId,defId) then (exnSet, V.rebindId(V.emptyEnv,name,idstatus), nil) else (EU.enqueueError (loc, E.ProvideVariableAlias("CP-201", {longid = internalPath})); raise Fail) | SOME _ => (EU.enqueueError (loc, E.ProvideVariableAlias("CP-210", {longid = internalPath})); raise Fail) | NONE => (EU.enqueueError (loc, E.ProvideUndefinedID("CP-220", {longid = internalPath})); raise Fail) ) | SOME _ => (EU.enqueueError (loc, E.ProvideVarIDExpected("CP-230", {longid = internalPath})); raise Fail) ) | A.VAL_BUILTIN {builtinName, ty} => raise bug "VAL_BUILTIN in provideSpec" | A.VAL_OVERLOAD overloadCase => (exnSet, V.emptyEnv, nil) end | PI.PITYPE {tyvars, tycon=name, ty, loc} => (* type 'a foo = ty *) let val internalPath = path@[name] val _ = EU.checkNameDuplication (fn {name, eq} => name) tyvars loc (fn s => E.DuplicateTypParms("CP-240",s)) val (tvarEnv, tvarList) = Ty.genTvarList Ty.emptyTvarEnv tyvars val ty = Ty.evalTy tvarEnv evalEnv ty handle e => raise e val tfunSpec = case N.tyForm tvarList ty of N.TYNAME tfun => tfun | N.TYTERM ty => let val iseq = N.admitEq tvarList ty in I.TFUN_DEF {iseq=iseq, formals=tvarList, realizerTy=ty } end val tstrDef = case V.findTstr(env, [name]) of NONE => (EU.enqueueError (loc, E.ProvideUndefinedTypeName("CP-250",{longid = internalPath})); raise Fail) | SOME tstr => tstr val tfunDef = case tstrDef of V.TSTR tfun => I.derefTfun tfun | V.TSTR_DTY {tfun,...} => I.derefTfun tfun val _ = if N.equalTfun N.emptyTypIdEquiv (tfunSpec, tfunDef) then () else (EU.enqueueError (loc, E.ProvideInequalTfun("CP-260",{longid = internalPath})); raise Fail) in (exnSet, V.rebindTstr (V.emptyEnv, name, tstrDef), nil) end | PI.PIOPAQUE_TYPE {tyvars, tycon=name, runtimeTy, loc} => (* type 'a foo (= runtimeTy ) *) let val internalPath = path@[name] val _ = EU.checkNameDuplication (fn {name, eq} => name) tyvars loc (fn s => E.DuplicateTypParms("CP-270",s)) val (tvarEnv, tvarList) = Ty.genTvarList Ty.emptyTvarEnv tyvars val tstrDef = case V.findTstr(env, [name]) of NONE => (EU.enqueueError (loc, E.ProvideUndefinedTypeName("CP-280",{longid = internalPath})); raise Fail) | SOME tstr => tstr val tfunDef = case tstrDef of V.TSTR tfun => I.derefTfun tfun | V.TSTR_DTY {tfun,...} => I.derefTfun tfun val defRuntimeTy = case I.tfunRuntimeTy tfunDef of SOME ty => ty | NONE => raise bug "tfunRuntimeTy" val _ = if Ty.compatRuntimeTy {absTy=Ty.evalRuntimeTy loc tvarEnv evalEnv runtimeTy, implTy=defRuntimeTy} then () else ( EU.enqueueError (loc, E.ProvideRuntimeType("CP-290",{longid = internalPath})); raise Fail) val arity = I.tfunArity tfunDef val _ = if List.length tyvars = arity then () else (EU.enqueueError (loc, E.ProvideArity("CP-300",{longid = internalPath})); raise Fail) in (exnSet, V.rebindTstr (V.emptyEnv, name, tstrDef), nil) end | PI.PIOPAQUE_EQTYPE {tyvars, tycon=name, runtimeTy, loc} => (* eqtype 'a foo (= runtimeTy ) *) let val internalPath = path@[name] val _ = EU.checkNameDuplication (fn {name, eq} => name) tyvars loc (fn s => E.DuplicateTypParms("CP-310",s)) val (tvarEnv, tvarList) = Ty.genTvarList Ty.emptyTvarEnv tyvars val tstrDef = case V.findTstr(env, [name]) of NONE => (EU.enqueueError (loc, E.ProvideUndefinedTypeName("CP-320",{longid = internalPath})); raise Fail) | SOME tstr => tstr val tfunDef = case tstrDef of V.TSTR tfun => I.derefTfun tfun | V.TSTR_DTY {tfun,...} => I.derefTfun tfun val defRuntimeTy = case I.tfunRuntimeTy tfunDef of SOME ty => ty | NONE => raise bug "tfunRuntimeTy" val _ = if Ty.compatRuntimeTy {absTy=Ty.evalRuntimeTy loc tvarEnv evalEnv runtimeTy, implTy=defRuntimeTy} then () else ( EU.enqueueError (loc, E.ProvideRuntimeType("CP-330",{longid = internalPath})); raise Fail) val arity = I.tfunArity tfunDef val _ = if List.length tyvars = arity then () else (EU.enqueueError (loc, E.ProvideArity("CP-340",{longid = internalPath})); raise Fail) val iseq = I.tfunIseq tfunDef val _ = if iseq then () else (EU.enqueueError (loc, E.ProvideEquality("CP-350",{longid = internalPath})); raise Fail) in (exnSet, V.rebindTstr (V.emptyEnv, name, tstrDef), nil) end | PI.PITYPEBUILTIN {tycon, builtinName, loc} => raise bug "PITYPEBUILTIN in provideSpec" | PI.PITYPEREP {tycon, origTycon, loc} => (* datatype foo = datatype bar *) let val internalPath = path @ [tycon] val specTstr = case V.findTstr(evalEnv, origTycon) of NONE => (EU.enqueueError (loc, E.ProvideUndefinedTypeName ("CP-360",{longid = internalPath})); raise Fail) | SOME tstr => tstr val specTfun = case specTstr of V.TSTR tfun => I.derefTfun tfun | V.TSTR_DTY {tfun,...} => I.derefTfun tfun val defTstr = case V.findTstr(env, [tycon]) of NONE => (EU.enqueueError (loc, E.ProvideUndefinedTypeName ("CP-370",{longid = internalPath})); raise Fail) | SOME tstr => tstr val defTfun = case defTstr of V.TSTR tfun => I.derefTfun tfun | V.TSTR_DTY {tfun,...} => I.derefTfun tfun in if N.equalTfun N.emptyTypIdEquiv (defTfun, specTfun) then let val returnEnv = V.rebindTstr(V.emptyEnv,tycon, defTstr) in (exnSet, returnEnv, nil) end else (EU.enqueueError (loc, E.ProvideDtyExpected ("CP-380",{longid = internalPath})); raise Fail) end | PI.PIEXCEPTION {vid=name, ty=tyOpt, externPath, loc} => let val internalPath = path@[name] val externPath = case externPath of NONE => internalPath | SOME path => path val tySpec = case tyOpt of NONE => BT.exnITy | SOME ty => I.TYFUNM([Ty.evalTy Ty.emptyTvarEnv evalEnv ty], BT.exnITy) handle e => raise e in case V.findId (env, [name]) of NONE => (EU.enqueueError (loc, E.ProvideUndefinedID("CP-390", {longid = internalPath})); raise Fail) | SOME (idstatus as I.IDEXN {id,ty}) => if N.equalTy (N.emptyTypIdEquiv, TvarID.Map.empty) (ty, tySpec) then (ExnID.Set.add(exnSet, id), V.rebindId(V.emptyEnv, name, idstatus), [I.ICEXPORTEXN ({id=id,ty=ty,path=externPath},loc)] ) else (EU.enqueueError (loc, E.ProvideExceptionType("CP-400", {longid = internalPath})); raise Fail) | SOME (I.IDEXNREP {id,ty}) => (* BUG 128_functor.sml *) if N.equalTy (N.emptyTypIdEquiv, TvarID.Map.empty) (ty, tySpec) then if not (ExnID.Set.member(exnSet, id)) then (ExnID.Set.add(exnSet, id), V.rebindId(V.emptyEnv, name, I.IDEXN {id=id, ty=ty}), [I.ICEXPORTEXN ({id=id,ty=ty,path=externPath},loc)] ) else (exnSet, V.emptyEnv, nil) else (EU.enqueueError (loc, E.ProvideExceptionType("CP-410", {longid = internalPath})); raise Fail) | SOME (idstatus as I.IDEXEXN {path=_,ty, used, loc=_, version}) => (EU.enqueueError (loc, E.ProvideExceptionType("CP-420", {longid = internalPath})); raise Fail) | SOME (idstatus as I.IDEXEXNREP {path=_,ty, used, loc=_, version}) => (EU.enqueueError (loc, E.ProvideExceptionType("CP-430", {longid = internalPath})); raise Fail) | _ => (EU.enqueueError (loc, E.ProvideUndefinedException("CP-440", {longid = internalPath})); raise Fail) end | PI.PIEXCEPTIONREP {vid=name, origId=origPath, loc} => ( let val refIdstatus = case V.findId (evalEnv, origPath) of NONE => ( EU.enqueueError (loc, E.ExceptionNameUndefined ("CP-450",{longid = origPath})); raise Fail) | SOME (idstatus as I.IDEXN {id,ty}) => idstatus | SOME (idstatus as I.IDEXNREP {id,ty}) => idstatus | SOME (idstatus as I.IDEXEXN {path,ty, used, loc, version}) => idstatus | SOME (idstatus as I.IDEXEXNREP {path,ty, used, loc, version}) => idstatus | _ => (EU.enqueueError (loc, E.ExceptionExpected ("CP-460",{longid = origPath})); raise Fail) val defIdstatus = case V.findId (env, [name]) of NONE => (EU.enqueueError (loc, E.ProvideUndefinedID ("CP-470",{longid = origPath})); raise Fail) | SOME (I.IDEXN {id,ty}) => (EU.enqueueError (loc, E.ProvideExceptionRep ("CP-480",{longid = origPath})); raise Fail) | SOME (idstatus as I.IDEXNREP _) => idstatus | SOME (idstatus as I.IDEXEXN _) => idstatus | SOME (idstatus as I.IDEXEXNREP _) => idstatus | _ => (EU.enqueueError (loc, E.ExceptionExpected ("CP-490",{longid = origPath})); raise Fail) in case defIdstatus of I.IDEXNREP {id=id1, ...} => (case refIdstatus of I.IDEXN {id=id2,...} => if ExnID.eq(id1, id2) then (exnSet, V.rebindId(V.emptyEnv, name, defIdstatus), nil) else (EU.enqueueError (loc, E.ProvideExceptionRepID("CP-500", {longid = path@[name]})); raise Fail) | I.IDEXNREP {id=id2,...} => if ExnID.eq(id1, id2) then (exnSet, V.rebindId(V.emptyEnv, name, defIdstatus),nil) else (EU.enqueueError (loc, E.ProvideExceptionRepID("CP-510", {longid = path@[name]})); raise Fail) | _ => (EU.enqueueError (loc, E.ProvideExceptionRepID("CP-520", {longid = path@[name]})); raise Fail) ) | I.IDEXEXN {path=path1, ...} => (case refIdstatus of I.IDEXEXN {path=path2,...} => if String.concat path1 = String.concat path2 then (exnSet, V.rebindId(V.emptyEnv, name, defIdstatus),nil) else (EU.enqueueError (loc, E.ProvideExceptionRepID("CP-530", {longid = path@[name]})); raise Fail) | _ => (EU.enqueueError (loc, E.ProvideExceptionRepID("CP-540", {longid = path@[name]})); raise Fail) ) | I.IDEXEXNREP {path=path1, ...} => (case refIdstatus of I.IDEXEXNREP {path=path2,...} => if String.concat path1 = String.concat path2 then (exnSet, V.rebindId(V.emptyEnv, name, defIdstatus),nil) else (EU.enqueueError (loc, E.ProvideExceptionRepID("CP-550", {longid = path@[name]})); raise Fail) (* 2012-9-25 ohori: added the following case due to the fix of 237_functorExn _require file exception FOO => IDEXEXN exception BAR = FOO => IDEXEXNREP source: exception Foo = FOO => IDEXEXNREP exception Bar = BAR => IDEXEXNREP interface file: exception Foo = FOO exception Bar = BAR In this case, Foo = IDEXEXNREP and FOO = IDEXEXN *) | I.IDEXEXN {path=path2,...} => if String.concat path1 = String.concat path2 then (exnSet, V.rebindId(V.emptyEnv, name, defIdstatus),nil) else (EU.enqueueError (loc, E.ProvideExceptionRepID("CP-550", {longid = path@[name]})); raise Fail) | _ => (EU.enqueueError (loc, E.ProvideExceptionRepID("CP-560", {longid = path@[name]})); raise Fail) ) | _ => raise bug "impossible" end handle Fail => (exnSet, V.emptyEnv, nil) ) | PI.PIDATATYPE {datbind, loc} => (exnSet, checkDatbindList loc path evalEnv env datbind, nil) | PI.PISTRUCTURE {strid, strexp=PI.PISTRUCT {decs,loc=strLoc}, loc} => (case V.findStr(env, [strid]) of SOME {env, strKind} => let val (exnSet, returnEnv, icdecls) = checkPidecList exnSet strLoc (path@[strid]) evalTopEnv (env, decs) val strEntry = {env=returnEnv, strKind=strKind} in (exnSet, V.singletonStr(strid, strEntry), icdecls) end | NONE => (EU.enqueueError (loc, E.ProvideUndefinedStr("CP-570", {longid=path@[strid]})); raise Fail) ) | PI.PISTRUCTURE {strid, strexp=PI.PISTRUCTREP {strPath,loc=strLoc}, loc} => (case V.findStr(env, [strid]) of SOME (strEntry1 as {env =_, strKind}) => let val defId = case strKind of V.STRENV id => id | V.FUNAPP {id, ...} => id | _ => (EU.enqueueError (loc, E.ProvideStrRep("CP-580", {longid=path@[strid]})); raise Fail) in (case V.findStr(evalEnv, strPath) of SOME (strEntry as {env=_, strKind}) => let val refId = case strKind of V.STRENV id => id | V.FUNAPP {id,...} => id | _ => (EU.enqueueError (loc, E.ProvideStrRep("CP-590", {longid=path@[strid]})); raise Fail) in if StructureID.eq(defId, refId) then (exnSet, V.singletonStr(strid, strEntry), nil) else (EU.enqueueError (loc, E.ProvideStrRep("CP-600", {longid=path@[strid]})); raise Fail) end | NONE => (EU.enqueueError (loc, E.ProvideUndefinedStr("CP-610", {longid=strPath})); raise Fail ) ) end | NONE => (EU.enqueueError (loc, E.ProvideUndefinedStr("CP-620", {longid=path@[strid]})); raise Fail) ) | PI.PISTRUCTURE {strid, strexp=PI.PIFUNCTORAPP {functorName, argumentPath, loc=argLoc}, loc} => (case V.findStr(env, [strid]) of SOME (strEntry as {env=strEnv, strKind}) => (case strKind of V.FUNAPP {id, funId=funId1, argId=argId1} => let val {FunE, Env, ...} = evalTopEnv val ({id=funId2, ...}:V.funEEntry) = case SEnv.find(FunE, functorName) of SOME entry => entry | NONE => (EU.enqueueError (loc,E.ProvideUndefinedFunctorName ("CP-630",{longid = [functorName]})); raise Fail) val {strKind,env=_} = case V.findStr(Env, argumentPath) of SOME entry => entry | NONE => (EU.enqueueError (loc, E.ProvideUndefinedFunctorName ("CP-640",{longid = [functorName]})); raise Fail) val argId2 = case strKind of V.STRENV id => id | V.FUNAPP {id,...} => id | _ => (EU.enqueueError (loc, E.ProvideUndefinedFunctorName ("CP-650",{longid = [functorName]})); raise Fail) val _ = if FunctorID.eq(funId1, funId2) andalso StructureID.eq(argId1, argId2) then () else ( EU.enqueueError (loc, E.ProvideUndefinedFunctorName ("CP-660",{longid = [functorName]})); raise Fail) val (exnSet, icdecls) = genTypedExportVarsEnv loc (path@[strid]) strEnv (exnSet,nil) in (exnSet, V.singletonStr(strid, strEntry), icdecls) end | _ => (EU.enqueueError (loc, E.ProvideUndefinedStr("CP-670", {longid=path@[strid]})); raise Fail) ) | _ => (EU.enqueueError (loc, E.ProvideUndefinedStr("CP-680", {longid=path@[strid]})); raise Fail) ) and checkPidecList exnSet loc path (evalTopEnv as {Env=evalEnv, FunE, SigE}) (env, declList) = foldl (fn (decl, (exnSet, returnEnv, icdecls)) => let val evalEnv = V.envWithEnv (evalEnv, returnEnv) val evalTopEnv = {Env=evalEnv, FunE=FunE, SigE=SigE} val (exnSet, newEnv, newIcdecls) = checkPidec exnSet path evalTopEnv (env, decl) val returnEnv = V.unionEnv "CP-690" loc (returnEnv, newEnv) in (exnSet, returnEnv, icdecls@newIcdecls) end ) (exnSet, V.emptyEnv, nil) declList fun checkPitopdec exnSet (evalTopEnv as {Env=evalEnv, FunE=evalFunE, SigE=evalSigE}) (topEnv as {Env, FunE, SigE}, pitopDec) = case pitopDec of PI.PIDEC pidec => let val (exnSet, env, decls) = checkPidec exnSet nilPath evalTopEnv (Env, pidec) in (exnSet, V.topEnvWithEnv(V.emptyTopEnv, env), decls) end | PI.PIFUNDEC (piFunbind as {funid=functorName, param={strid=specArgStrName, sigexp=specArgSig}, strexp=specBodyStr, loc}) => let val funEEntry as {id, version, used, argSig, argStrEntry, argStrName, dummyIdfunArgTy, polyArgTys, typidSet, exnIdSet, bodyEnv, bodyVarExp} = case SEnv.find(FunE, functorName) of NONE => (EU.enqueueError (loc, E.ProvideUndefinedFunctorName("CP-700",{longid=[functorName]})); raise Fail ) | SOME entry => entry val specArgSig = Sig.evalPlsig evalTopEnv specArgSig val _ = if EU.isAnyError () then raise Fail else if FU.eqSize(specArgSig, argSig) (* andalso FU.eqEnv {specEnv=specArgSig, implEnv=argSig} then () *) andalso FU.eqShape (specArgSig, argSig) then FU.eqEnv {specEnv=specArgSig, implEnv=argSig} else ( EU.enqueueError (loc, E.ProvideFunparamMismatch("CP-710", {longid=[functorName]})); raise Fail ) val argEnv = V.ENV {varE=SEnv.empty, tyE=SEnv.empty, strE=V.STR (SEnv.singleton(specArgStrName, argStrEntry)) } val evalEnv = V.topEnvWithEnv (evalTopEnv, argEnv) val (_, {env=specBodyInterfaceEnv, strKind}, _) = EI.evalPistr [functorName] evalEnv (PathSet.empty, specBodyStr) val _ = ( U.print "check provide FUNDEC\n"; U.print "specBodyInterfaceEnv\n"; U.printEnv specBodyInterfaceEnv ) val specBodyEnv = EI.internalizeEnv specBodyInterfaceEnv val _ = ( U.print "after internalize\n"; U.print "specBodyEnv\n"; U.printEnv specBodyEnv ) val _ = if EU.isAnyError () then raise Fail else if FU.eqEnv {specEnv=specBodyEnv, implEnv=bodyEnv} then () else ( U.print "check provide eqEnv fail\n"; U.print "specBodyEnv\n"; U.printEnv specBodyEnv; U.print "bodyEnv\n"; U.printEnv bodyEnv; EU.enqueueError (loc, E.ProvideFunctorMismatch("CP-720", {longid=[functorName]})); raise Fail ) val typidSet = FU.typidSet specBodyEnv val (allVars,exnIdSet) = FU.varsInEnv (specBodyEnv, loc) fun varToTy (_, var) = case var of I.ICEXVAR ({path, ty},_) => ty | I.ICEXN ({path, id, ty},_) => ty | I.ICEXN_CONSTRUCTOR ({id, ty, path}, loc) => BT.exntagITy | _ => raise bug "VARTOTY\n" val bodyTy = case allVars of nil => BT.unitITy | _ => I.TYRECORD (Utils.listToFields (map varToTy allVars)) val (extraTvars, firstArgTy) = case dummyIdfunArgTy of NONE => (nil, NONE) | SOME (ty as I.TYRECORD fields) => (map (fn (I.TYVAR tvar) => tvar | _ => raise bug "non tvar in dummyIdfunArgTy") (LabelEnv.listItems fields), SOME (I.TYFUNM([ty],ty))) | _ => raise bug "non record ty in dummyIdfunArgTy" (* four possibilities in functorTy 1. TYPOLY(btvs, TYFUNM([first], TYFUNM(polyList, body))) ICFNM1([first], ICFNM1_POLY(polyPats, BODY)) 2. TYPOLY(btvs, TYFUNM([first], body)) ICFNM1([first], BODY) 3. TYFUNM(polyList, body) ICFNM1_POLY(polyPats, BODY) 4. TYFUNM([unit], body) ICFNM1(UNIT, BODY) where body is either unit (TYCONSTRUCT ..) or record (TYRECORD ..) BODY is ICLET(..., ICCONSTANT or ICRECORD) *) val functorTy1 = case polyArgTys of nil => bodyTy | _ => I.TYFUNM(polyArgTys, bodyTy) val functorTy2 = case firstArgTy of NONE => functorTy1 | SOME ty => I.TYPOLY (map (fn x => (x, I.UNIV)) extraTvars, I.TYFUNM([ty], functorTy1)) val functorTy = case functorTy2 of I.TYPOLY _ => functorTy2 | I.TYFUNM _ => functorTy2 | _ => I.TYFUNM([BT.unitITy], functorTy2) val decls = case bodyVarExp of I.ICVAR (varInfo, loc) => [I.ICEXPORTFUNCTOR (varInfo, functorTy, loc)] | I.ICEXVAR ({path, ty}, loc) => nil | _ => raise bug "nonvar in bodyVarExp" val funEEntry = {id=id, version = NONE, used = ref false, argSig=argSig, argStrEntry=argStrEntry, argStrName=argStrName, dummyIdfunArgTy=dummyIdfunArgTy, polyArgTys=polyArgTys, typidSet=typidSet, exnIdSet=exnIdSet, bodyEnv=bodyEnv, bodyVarExp=bodyVarExp } val funE = SEnv.singleton(functorName, funEEntry) val returnTopEnv = V.topEnvWithFunE(V.emptyTopEnv, funE) in (exnSet, returnTopEnv, decls) end in (* evalTopEnv: the top-level environment constructred so far topEnv : the top-level environment of the current declarations to be checked *) fun checkPitopdecList (evalTopEnv: NameEvalEnv.topEnv) (topEnv:NameEvalEnv.topEnv, pitopdecList:PatternCalcInterface.pitopdec list) : IDCalc.icdecl list = let val (exnSet, returnTopEnv, icdecls) = foldl (fn (pitopdec, (exnSet, returnTopEnv, icdecls)) => let val loc = PI.pitopdecLoc pitopdec val evalTopEnv = V.topEnvWithTopEnv (evalTopEnv, returnTopEnv) val (exnSet, newTopEnv, newdecls) = checkPitopdec exnSet evalTopEnv (topEnv,pitopdec) handle e => raise e val returnTopEnv = V.unionTopEnv "CP-730" loc (returnTopEnv, newTopEnv) in (exnSet, returnTopEnv,icdecls@newdecls) end ) (ExnID.Set.empty, V.emptyTopEnv, nil) pitopdecList in icdecls end handle Fail => nil | exn => raise exn (* | exn => raise bug "Uncought exception in checkPitopdecList" *) end end smlsharp-1.2.0/src/compiler/nameevaluation/main/EvalSig.smi0000644 000000000000000000000154112050661606024105 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/PathEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../builtin2/main/BuiltinTypes.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../usererror/main/UserErrorUtils.smi" _require "../../patterncalc/main/PatternCalc.ppg.smi" _require "EvalTy.smi" _require "NameEvalEnv.ppg.smi" _require "NameEvalError.ppg.smi" _require "NameEvalUtils.smi" _require "NormalizeTy.smi" _require "SetLiftedTys.smi" _require "Subst.smi" _require "TfunVars.smi" structure EvalSig = struct val refreshSpecEnv : NameEvalEnv.env -> Subst.tfvSubst * NameEvalEnv.env val evalPlsig : NameEvalEnv.topEnv -> PatternCalc.plsigexp -> NameEvalEnv.env end smlsharp-1.2.0/src/compiler/nameevaluation/main/EvalSig.sml0000644 000000000000000000011524312050661606024115 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2012- Tohoku University. * @author Atsushi Ohori *) (* the initial error code of this file : Sig-001 *) structure EvalSig : sig val refreshSpecEnv : NameEvalEnv.env -> Subst.tfvSubst * NameEvalEnv.env val evalPlsig : NameEvalEnv.topEnv -> PatternCalc.plsigexp -> NameEvalEnv.env end = struct local structure I = IDCalc structure TF = TfunVars structure TFR = TfunVarsRefresh structure V = NameEvalEnv structure BT = BuiltinTypes structure L = SetLiftedTys structure Ty = EvalTy structure S = Subst structure P = PatternCalc structure U = NameEvalUtils structure EU = UserErrorUtils structure E = NameEvalError structure A = Absyn structure N = NormalizeTy exception Arity exception Eq exception Type exception Type1 exception Type2 exception Type3 exception Undef exception Rigid exception ProcessShare exception FunIDUndefind fun bug s = Control.Bug ("NameEval: " ^ s) (* the following three functions are copied from IDTypes and slightly changed to fix the bug 152 *) fun tfunkindId tfunkind = (case tfunkind of I.TFV_SPEC {id,...} => id | I.TFV_DTY {id,...} => id | I.TFUN_DTY {id,...} => id | I.REALIZED {id,...} => id | I.INSTANTIATED {tfunkind,...} => tfunkindId tfunkind | I.FUN_DTY {tfun,...} => tfunId tfun ) handle exn => raise exn and tfvId tfv = case !tfv of I.TFV_SPEC {id,...} => id | I.TFV_DTY {id,...} => id | I.TFUN_DTY {id,...} => id | (* raise bug "tfvid: ReALIZED" This case is needed for multiple sharing constraint processing *) I.REALIZED {tfun,...} => tfunId tfun | I.INSTANTIATED {tfun,...} => tfunId tfun | I.FUN_DTY {tfun,...} => raise bug "FUN_DTY" and tfunId tfun = case tfun of I.TFUN_DEF _ => raise bug "TFUN_DEF to TFUNID" | I.TFUN_VAR tfv => (tfvId tfv handle exn => raise exn) fun refreshSpecEnv specEnv : S.tfvSubst * V.env = let val tfvMap = TFR.tfvsEnv TFR.sigTfvKind nil (specEnv, TfvMap.empty) fun printTfvSubst tfvSubst = (TfvMap.appi (fn (tfv1,tfv2) => (U.printTfun (I.TFUN_VAR tfv1); U.print "=>"; U.printTfun (I.TFUN_VAR tfv2); U.print "\n" ) ) tfvSubst ) handle exn => raise exn fun printTfvMap tfvMap = (TfvMap.appi (fn (tfv1,path) => (U.printTfun (I.TFUN_VAR tfv1); U.print "=>"; U.printPath path; U.print "\n" ) ) tfvMap ) handle exn => raise exn val tfvSubst = TfvMap.foldri (fn (tfv as ref (I.TFV_SPEC {name, iseq, formals,...}), _, tfvSubst) => let val id = TypID.generate() val newTfv = I.mkTfv (I.TFV_SPEC{name=name, id=id,iseq=iseq,formals=formals}) in TfvMap.insert(tfvSubst, tfv, newTfv) end | (tfv as ref (I.TFV_DTY {name, iseq,formals,conSpec,liftedTys,...}), _, tfvSubst) => let val id = TypID.generate() val newTfv = I.mkTfv (I.TFV_DTY{id=id, name=name, iseq=iseq, conSpec=conSpec, liftedTys=liftedTys, formals=formals} ) in TfvMap.insert(tfvSubst, tfv, newTfv) end | (tfv, _, _) => (U.print "\nnon tfv (1)\n"; U.printTfv tfv; U.print "\n"; printTfvMap tfvMap; U.print "\n"; raise bug "non tfv (1)" ) ) TfvMap.empty tfvMap handle exn => raise exn val _ = TfvMap.app (fn (tfv as ref (I.TFV_DTY {name, iseq,formals,conSpec,liftedTys,id})) => let val conSpec = SEnv.map (fn tyOpt => Option.map (S.substTfvTy tfvSubst) tyOpt) conSpec in tfv:= I.TFV_DTY {iseq=iseq, name=name, formals=formals, conSpec=conSpec, liftedTys=liftedTys, id=id} end | _ => ()) tfvSubst handle exn => raise exn val env =S.substTfvEnv tfvSubst specEnv in (tfvSubst, env) end handle exn => raise bug "uncaught exception in refreshSpecEnv" fun processShare (specEnv, longidListList, loc) = let (* sig datatype foo = A of int -> int eqtype bar end sharing type foo = bar will be rejected. *) fun processShareList typIdEquiv (specEnv,pathTfvList,loc) = let val pathTypIdDtyTfvList = foldr (fn ((path, tfv as (ref (I.TFV_DTY{id,...}))), pathTypIdDtyTfvList) => (path, id, tfv)::pathTypIdDtyTfvList | (_,pathTypIdDtyTfvList) => pathTypIdDtyTfvList) nil pathTfvList fun getArityTfv tfv = case !tfv of I.TFV_SPEC {formals, ...} => List.length formals | I.TFV_DTY {formals, ...} => List.length formals | I.REALIZED {id, tfun} => I.tfunArity tfun (* bug 173_sharing.smk *) | _ => raise bug "non tfv (2)" fun checkEqtypeTfv tfv = case !tfv of I.TFV_SPEC {iseq,...} => iseq | I.TFV_DTY _ => false | I.REALIZED {id, tfun} => I.tfunIseq tfun (* bug 173_sharing.smk *) | _ => raise bug "impossible" fun checkEqtypeTfvList nil = false | checkEqtypeTfvList (h::t) = checkEqtypeTfv h orelse checkEqtypeTfvList t val _ = case pathTfvList of nil => raise ProcessShare | _ => () val (longidList, tfvList) = ListPair.unzip pathTfvList val arityList = map getArityTfv tfvList val _ = case arityList of nil => () | [h] => () | h::t => if List.all (fn x => x = h) t then () else (EU.enqueueError (loc, E.ArityErrorInSigShare("Sig-030", {longidList=longidList})); raise ProcessShare) val isEqtype = checkEqtypeTfvList tfvList val _ = if isEqtype then case pathTypIdDtyTfvList of nil => () | (_, _, ref (I.TFV_DTY{iseq, ...}))::_ => if iseq then () else (EU.enqueueError (loc, E.EqtypeInSigShare("Sig-040", {longidList=longidList})); raise ProcessShare) | _ => raise bug "impossible" else () val errorPathList = case pathTypIdDtyTfvList of nil => nil | [_] => nil | (path, _, ref (I.TFV_DTY {formals, conSpec, ...})) :: rest => foldl (fn ((path2, _, (ref(I.TFV_DTY{formals=formals2,conSpec=conSpec2,...}))), errorPathList) => let val result = N.checkConSpec typIdEquiv ((formals,conSpec), (formals2,conSpec2)) in case result of N.SUCCESS => errorPathList | N.FAIL _ => errorPathList @ [path2] end | _ => raise bug "non tfv (3)" ) nil rest | _ => raise bug "non tfv (4)" val _ = case errorPathList of nil => () | _ => (EU.enqueueError (loc, E.SigErrorInSigShare("Sig-050", {longidList=errorPathList})); raise ProcessShare) val firstTfv = case pathTypIdDtyTfvList of nil => (case pathTfvList of nil => raise bug "no share list2" | (path,tfv)::tl => tfv ) | (path, id, tfv)::rest => tfv val firstId = tfvId firstTfv handle exn => raise exn val _ = app (fn (path,tfv) => let val id = tfvId tfv handle exn => raise exn in if TypID.eq(id, firstId) then () else tfv:=I.REALIZED {id=id, tfun=I.TFUN_VAR firstTfv} end ) pathTfvList in () end fun getTfvTfun tfun = case tfun of I.TFUN_DEF _ => raise Rigid | I.TFUN_VAR (tfv as (ref tfunkind)) => (case tfunkind of I.REALIZED {id, tfun} => getTfvTfun tfun | I.TFV_SPEC {id,...} => (id, tfv) | I.TFV_DTY {id,...} => (id, tfv) | I.TFUN_DTY _ => raise Rigid | I.INSTANTIATED _ => raise bug "INSTANTIATED in spec" | I.FUN_DTY _ => raise bug "FUN_DTY in spec" ) fun getTfv longid = case V.findTstr (specEnv, longid) of NONE => raise Undef | SOME tstr => (case tstr of V.TSTR tfun => getTfvTfun tfun | V.TSTR_DTY{tfun,...} => getTfvTfun tfun ) val (pathTfvListList, idListList) = foldr (fn (longidList, (pathTfvListList, idListList)) => let val (pathTfvList, idList) = foldr (fn (longid, (pathTfvList, idList)) => let val (id, tfv) = getTfv longid handle Rigid => (EU.enqueueError (loc, E.ImproperSigshare("Sig-010",{longid=longid})); raise ProcessShare) | Undef => (EU.enqueueError (loc, E.TypUndefinedInSigshare("Sig-020",{longid=longid})); raise ProcessShare) in ((longid,tfv)::pathTfvList, id::idList) end ) (nil,nil) longidList in (pathTfvList::pathTfvListList, idList::idListList) end ) (nil, nil) longidListList val typIdEquiv = N.makeTypIdEquiv idListList in app (fn pathTfvList => processShareList typIdEquiv (specEnv, pathTfvList, loc)) pathTfvListList end handle ProcessShare => () fun evalSig (topEnv:V.topEnv) plsigexp : V.env = case plsigexp of P.PLSIGEXPBASIC (plspec, loc) => evalPlspec topEnv plspec | P.PLSIGID (string, loc) => (case SEnv.find(#SigE topEnv, string) of NONE => (EU.enqueueError (loc,E.SigIdUndefined("Sig-060", {name = string})); V.emptyEnv ) | SOME specEnv => #2 (refreshSpecEnv specEnv) ) | P.PLSIGWHERE (plsigexp, typbindList, loc) => let val specEnv = evalSig topEnv plsigexp val freeTfvs = TF.tfvsEnv TF.sigTfvKind nil (specEnv, TfvMap.empty) fun setRealizer ((tyvarList, longid, ty), returnEnv) = let val _ = EU.checkNameDuplication (fn {name, eq} => name) tyvarList loc (fn s => E.DuplicateTypParms("Sig-070",s)) val (tvarEnv, tvarList) = Ty.genTvarList Ty.emptyTvarEnv tyvarList fun strPath nil = nil | strPath [name] = nil | strPath (h::t) = h::(strPath t) val realizeePath = strPath longid val realizerPath = case ty of A.TYCONSTRUCT (tyList, path, loc) => strPath path | _ => nil val ty = Ty.evalTy tvarEnv (#Env topEnv) ty fun getTfunTfun tfun = case tfun of I.TFUN_DEF _ => tfun | I.TFUN_VAR (ref tfunkind) => (case tfunkind of I.TFV_SPEC _ => tfun | I.TFV_DTY _ => tfun | I.TFUN_DTY _ => tfun | I.REALIZED {tfun,...} => getTfunTfun tfun | I.INSTANTIATED {tfun,...} => getTfunTfun tfun | I.FUN_DTY _ => raise bug "FUN_DTY in sig" ) val realizeeTstr = case V.findTstr (specEnv, longid) of SOME tstr => tstr | NONE => raise Undef val realizerTfun = case N.tyForm tvarList ty of N.TYNAME tfun => getTfunTfun tfun | N.TYTERM ty => I.TFUN_DEF {iseq=N.admitEq tvarList ty, (* eq attrib of extras is inherited from its decl. *) formals=tvarList, realizerTy=ty } val realizerVarE = case realizeeTstr of V.TSTR _ => SEnv.empty | V.TSTR_DTY _=> (case I.derefTfun realizerTfun of I.TFUN_VAR(ref (I.TFUN_DTY {conSpec,...})) => SEnv.foldri (fn (name, _, varE) => case V.findId((#Env topEnv), realizerPath@[name]) of SOME idstatus => SEnv.insert(varE, name,idstatus) | _ => (U.print "setRealizer\n"; U.print "realizerTfun\n"; U.printTfun realizerTfun; U.print "\n"; U.print "con name\n"; U.print name; U.print "\n"; raise bug "realizer Con not found 1" ) ) SEnv.empty conSpec | _ => SEnv.empty ) fun getTfvTfun tfun = case tfun of I.TFUN_DEF _ => raise Rigid | I.TFUN_VAR (tfv as ref tfunkind) => (case tfunkind of I.TFV_SPEC _ => (tfv, tfunkind) | I.TFV_DTY _ => (tfv, tfunkind) | I.TFUN_DTY _ => raise Rigid | I.REALIZED {tfun,...} => getTfvTfun tfun | I.INSTANTIATED _ => raise bug "INSTANTIATED" | I.FUN_DTY _ => raise bug "FUN_DTY" ) fun getTfvTstr tstr = case tstr of V.TSTR tfun => getTfvTfun tfun | V.TSTR_DTY {tfun,...} => getTfvTfun tfun val realizerArity = I.tfunArity realizerTfun val realizeeArity = V.tstrArity realizeeTstr val _ = if realizeeArity = realizerArity then () else raise Arity val (tfv, tfunkind) = getTfvTstr realizeeTstr val _ = if TfvMap.inDomain(freeTfvs, tfv) then () else raise Rigid val _ = case tfunkind of I.TFV_SPEC {iseq=eq1,...} => ( case realizerTfun of I.TFUN_DEF {iseq=eq2,...} => if eq1 andalso not eq2 then raise Eq else tfv := let val id = tfvId tfv handle exn => raise exn in I.REALIZED {id=id, tfun=realizerTfun} end | I.TFUN_VAR (ref (I.TFV_SPEC {name,id=id2,iseq=eq2,formals})) => tfv := I.REALIZED {id=id2, tfun=realizerTfun} | I.TFUN_VAR (ref (I.TFV_DTY {iseq=eq2,...})) => if eq1 andalso not eq2 then raise Eq else tfv := let val id = tfvId tfv handle exn => raise exn in I.REALIZED {id=id, tfun=realizerTfun} end | I.TFUN_VAR(ref (I.TFUN_DTY {iseq=eq2,...})) => if eq1 andalso not eq2 then raise Eq else tfv := let val id = tfvId tfv handle exn => raise exn in I.REALIZED {id=id, tfun=realizerTfun} end | I.TFUN_VAR (ref (I.REALIZED _)) => raise bug "REALIZED" | I.TFUN_VAR (ref (I.INSTANTIATED _)) => raise bug "INSTANTIATED" | I.TFUN_VAR (ref (I.FUN_DTY _)) => raise bug "FUN_DTY" ) | I.TFV_DTY {id=id1, iseq=eq1, formals, conSpec,...} => (case realizerTfun of I.TFUN_DEF _ => raise Type1 | I.TFUN_VAR (tfv2 as ref(I.TFV_SPEC {iseq=eq2,...}))=> if eq2 andalso not eq1 then raise Eq else tfv2 := let val id = tfvId tfv handle exn => raise exn in I.REALIZED {id=id, tfun=I.TFUN_VAR tfv} end | I.TFUN_VAR (ref (I.TFV_DTY {id=id2, formals=formals2, conSpec=conSpec2,...})) => let val typIdEquiv = N.makeTypIdEquiv [[id1,id2]] val _ = tfv := let val id = tfvId tfv handle exn => raise exn in I.REALIZED {id=id, tfun=realizerTfun} end val result = N.checkConSpec typIdEquiv ((formals, conSpec), (formals2, conSpec2)) in case result of N.SUCCESS => () | _ => raise Type2 end | I.TFUN_VAR (ref (I.TFUN_DTY {id=id2, formals=formals2, conSpec=conSpec2,...})) => let val typIdEquiv = N.makeTypIdEquiv [[id1,id2]] val _ = tfv := let val id = tfvId tfv handle exn => raise exn in I.REALIZED {id=id, tfun=realizerTfun} end val result = N.checkConSpec typIdEquiv ((formals, conSpec), (formals2, conSpec2)) in case result of N.SUCCESS => () | _ => raise Type3 end | I.TFUN_VAR (ref (I.REALIZED _)) => raise bug "REALIZED" | I.TFUN_VAR (ref (I.INSTANTIATED _)) => raise bug "INSTANTIATEDE" | I.TFUN_VAR (ref (I.FUN_DTY _)) => raise bug "FUN_DTY" ) | I.TFUN_DTY _ => raise bug "TFUN_DTY in setRealizer" | I.REALIZED _ => raise bug "REALIZED" | I.INSTANTIATED _ => raise bug "INSTANTIATEd" | I.FUN_DTY _ => raise bug "FUN_DTY" in case (realizeeTstr, realizerTfun) of (V.TSTR_DTY {varE, tfun,...}, (I.TFUN_VAR(ref (I.TFUN_DTY {formals, conSpec,...})))) => let val returnEnv = SEnv.foldri (fn (name, _, returnEnv) => case V.findId((#Env topEnv), realizerPath@[name]) of SOME idstatus => V.rebindIdLongid (returnEnv, realizeePath@[name], idstatus) | _ => (U.print "setRealizer\n"; U.print "realizeeTstr\n"; U.printTstr realizeeTstr; U.print "\n"; U.print "realizerTfun\n"; U.printTfun realizerTfun; U.print "\n"; raise bug "realizer Con not found 2" ) ) returnEnv varE in V.rebindTstrLongid(returnEnv, longid, V.TSTR_DTY{tfun=tfun, varE=realizerVarE, formals=formals, conSpec=conSpec} ) end | _ => returnEnv end handle Rigid => (EU.enqueueError(loc, E.ImproperSigwhere("Sig-080",{longid=longid})); specEnv) | Type => (EU.enqueueError (loc,E.TypeErrorInSigwhere("Sig-090",{longid=longid})); specEnv) | Type1 => (EU.enqueueError (loc,E.TypeErrorInSigwhere("Sig-100", {longid=longid})); specEnv) | Type2 => (EU.enqueueError (loc,E.TypeErrorInSigwhere("Sig-110", {longid=longid})); specEnv) | Type3 => (EU.enqueueError (loc,E.TypeErrorInSigwhere("Sig-120", {longid=longid})); specEnv) | Eq => (EU.enqueueError (loc, E.EqtypeInSigwhere("Sig-130",{longid=longid})); specEnv) | Arity => (EU.enqueueError (loc, E.ArityErrorInSigwhere("Sig-140", {longidList=[longid]})); specEnv) | Undef => (EU.enqueueError (loc, E.TypUndefinedInSigwhere("Sig-150",{longid=longid})); specEnv) val specEnv = List.foldr setRealizer specEnv typbindList in specEnv end and evalPlspec (topEnv as {Env=env, FunE, SigE}) plspec : V.env = case plspec of (* val x : ty and y : ty ... *) P.PLSPECVAL (scopedTvars, string, ty, loc) => let val (tvarEnv, kindedTyars) = Ty.evalScopedTvars loc Ty.emptyTvarEnv env scopedTvars val ty = Ty.evalTy tvarEnv env ty val ty = case kindedTyars of nil => ty | _ => I.TYPOLY(kindedTyars,ty) val specEnv = V.bindId loc (V.emptyEnv, string, I.IDSPECVAR ty) in specEnv end | P.PLSPECTYPE {tydecls=tvarListStringList, iseq, loc} => (* type 'a foo and ...*) let val specEnv = foldl (fn ((tvarList, string), specEnv) => let val _ = EU.checkNameDuplication (fn {name, eq} => name) tvarList loc (fn s => E.DuplicateTypParms("Sig-160",s)) val (_, tvarList) = Ty.genTvarList Ty.emptyTvarEnv tvarList val id = TypID.generate() val tfunvar = I.mkTfv (I.TFV_SPEC{name=string, id=id,iseq=iseq,formals=tvarList}) val tfun = I.TFUN_VAR tfunvar val specEnv = V.bindTstr loc (specEnv,string,V.TSTR tfun) in specEnv end ) V.emptyEnv tvarListStringList in specEnv end (* type 'a foo = 'a * 'a *) | P.PLSPECTYPEEQUATION ((tvarList, string, ty), loc) => let val _ = EU.checkNameDuplication (fn {name, eq} => name) tvarList loc (fn s => E.DuplicateTypParms("Sig-170",s)) val (tvarEnv, tvarList) = Ty.genTvarList Ty.emptyTvarEnv tvarList val ty = Ty.evalTy tvarEnv env ty val iseq = N.admitEq tvarList ty val formals = tvarList val tfun = case N.tyForm formals ty of N.TYNAME tfun => tfun | N.TYTERM ty => I.TFUN_DEF {iseq=iseq,formals=formals,realizerTy=ty} in V.bindTstr loc (V.emptyEnv, string, V.TSTR tfun) end | P.PLSPECDATATYPE (datadeclList, loc) => (* datatype 'a foo = A of ... *) let val _ = EU.checkNameDuplication (fn (tvarList, string, conbinds) => string) datadeclList loc (fn s => E.DuplicateTypInDty("Sig-180",s)) val _ = EU.checkNameDuplication (fn (string, tyOption) => string) (foldl (fn ((tvarList, string, conbinds), allCons) => allCons@conbinds) nil datadeclList) loc (fn s => E.DuplicateConNameInDty("Sig-190",s)) val (specEnv, datadeclListRev) = foldl (fn ((tvarList,string,conbinds), (specEnv, datadeclListRev)) => let val _ = EU.checkNameDuplication (fn {name, eq} => name) tvarList loc (fn s => E.DuplicateTypParms("Sig-200", s)) val (tvarEnv, tvarList)= Ty.genTvarList Ty.emptyTvarEnv tvarList val id = TypID.generate() val iseqRef = ref true val tfv = I.mkTfv(I.TFV_DTY{id=id, name=string, iseq=true, formals=tvarList, conSpec=SEnv.empty, liftedTys=I.emptyLiftedTys } ) val tfun = I.TFUN_VAR tfv val specEnv = V.bindTstr loc (specEnv,string,V.TSTR tfun) val datadeclListRev = {name=string, id=id, tfv=tfv, tfun=tfun, iseqRef=iseqRef, args=tvarList, conbinds = conbinds, tvarEnv=tvarEnv } :: datadeclListRev in (specEnv, datadeclListRev) end ) (V.emptyEnv, nil) datadeclList val evalEnv = V.envWithEnv (env, specEnv) val datadeclList = foldl (fn ({name, id, tfv, tfun, iseqRef, args, tvarEnv, conbinds}, datadeclList) => let val (conVarE, conSpec) = foldl (fn ((string,tyOption), (conVarE, conSpec)) => let val tyOption = case tyOption of NONE => NONE | SOME ty => let val ty = Ty.evalTy tvarEnv evalEnv ty in SOME ty end in (SEnv.insert(conVarE, string, I.IDSPECCON), SEnv.insert(conSpec, string, tyOption) ) end ) (SEnv.empty, SEnv.empty) conbinds in {name=name, id=id, tfv=tfv, conVarE=conVarE, conSpec=conSpec, iseqRef=iseqRef, conbinds=conbinds, args=args } :: datadeclList end ) nil datadeclListRev val _ = N.setEq (map (fn {id, args, conSpec, iseqRef,...} => {id=id, args=args, conSpec=conSpec, iseqRef=iseqRef}) datadeclList ) val (specEnv, nameListRev) = foldl (fn ({name,id,tfv,conVarE,conSpec,iseqRef,args,conbinds}, (specEnv, nameListRev)) => let val _ = tfv := I.TFV_DTY {id=id, name=name, iseq = !iseqRef, conSpec=conSpec, formals=args, liftedTys=I.emptyLiftedTys } val tfun = I.TFUN_VAR tfv val specEnv = V.bindTstr loc (specEnv, name, V.TSTR_DTY{tfun=tfun, varE=conVarE, formals=args, conSpec=conSpec} ) val specEnv = V.envWithVarE (specEnv, conVarE) in (specEnv, name::nameListRev) end ) (V.emptyEnv, nil) datadeclList in specEnv end (* datatype foo = datatype bar *) | P.PLSPECREPLIC (string, longid, loc) => (case V.findTstr (env, longid) of NONE => (EU.enqueueError(loc,E.DtyUndefinedInSpec("Sig-210", {longid = longid})); V.emptyEnv ) | SOME tstr => (case tstr of V.TSTR tfun => V.bindTstr loc (V.emptyEnv, string, tstr) | V.TSTR_DTY {tfun, varE, formals, conSpec} => let val specEnv = V.bindTstr loc (V.emptyEnv, string, tstr) val specEnv = V.envWithVarE(specEnv, varE) in specEnv end ) ) (* exception foo of 'a ... *) | P.PLSPECEXCEPTION (stringTyOptionList, loc) => let val specEnv = foldl (fn ((string, tyOption), specEnv) => let val ty = case tyOption of NONE => BT.exnITy | SOME ty => I.TYFUNM([Ty.evalTy Ty.emptyTvarEnv env ty], BT.exnITy) in V.bindId loc (specEnv,string,I.IDSPECEXN ty) end ) V.emptyEnv stringTyOptionList in specEnv end (* structure A : sig and ... *) | P.PLSPECSTRUCT (stringPlsigexpList, loc) => let val specEnv = foldl (fn ((string, sigexp), specEnv) => let val strSpecEnv = evalSig topEnv sigexp val specEnv = V.bindStr loc (specEnv, string, {env=strSpecEnv, strKind=V.SIGENV}) in specEnv end ) V.emptyEnv stringPlsigexpList in specEnv end (* include A *) | P.PLSPECINCLUDE (plsigexp, loc) => let val specEnv = evalSig topEnv plsigexp val specEnv = #2 (refreshSpecEnv specEnv) in specEnv end (* spec; spec *) | P.PLSPECSEQ (plspec1, plspec2, loc) => let val specEnv1 = evalPlspec topEnv plspec1 val evalEnv = V.topEnvWithEnv (topEnv,specEnv1) val specEnv2 = evalPlspec evalEnv plspec2 val specEnv = V.unionEnv "220" loc (specEnv1,specEnv2) in specEnv end (* sharing type path1 = path2 = path3 ... *) | P.PLSPECSHARE (plspec, longidList, loc) => let val specEnv = evalPlspec topEnv plspec val _ = processShare (specEnv, [longidList], loc) val specEnv = N.reduceEnv specEnv in specEnv end (* spec sharing path1 = b ... *) | P.PLSPECSHARESTR (plspec, longidList, loc) => let fun addToListEnv (pathEnv, key, x) = PathEnv.unionWith (fn (x,y) => x @ y) (pathEnv, PathEnv.singleton(key, [x])) and addTyE path key tyE pathEnv = SEnv.foldli (fn (name, tstr, pathEnv) => addToListEnv (pathEnv, (key@[name]), path@[name]) ) pathEnv tyE and addSpecEnv path key (V.ENV {tyE, strE=V.STR envMap,...}) pathEnv = let val pathEnv = addTyE path key tyE pathEnv in SEnv.foldli (fn (name, {env=specEnv, strKind}, pathEnv) => addSpecEnv (path@[name]) (key@[name]) specEnv pathEnv ) pathEnv envMap end val specEnv = evalPlspec topEnv plspec val pathEnv = foldl (fn (longid, pathEnv) => let val envEntry = V.findStr(specEnv, longid) in case envEntry of NONE => (EU.enqueueError (loc,E.StrUndefinedInSpec("Sig-220", {longid=longid})); pathEnv ) | SOME {env=specEnv, strKind} => addSpecEnv longid nil specEnv pathEnv end ) PathEnv.empty longidList val idListList = PathEnv.listItems pathEnv val _ = processShare (specEnv, idListList, loc) in specEnv end | P.PLSPECEMPTY => V.emptyEnv in val refreshSpecEnv = refreshSpecEnv fun evalPlsig topEnv plsig = let val env = evalSig topEnv plsig val env = N.reduceEnv env val _ = L.setLiftedTysEnv env in env end handle exn => raise bug "uncaught exception in evalPlsig" end end smlsharp-1.2.0/src/compiler/nameevaluation/main/EvalTy.smi0000644 000000000000000000000364212050661606023763 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../builtin2/main/BuiltinTypes.smi" _require "../../builtin2/main/BuiltinTypeNames.ppg.smi" _require "../../usererror/main/UserErrorUtils.smi" _require "../../util/main/utils.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../types/main/tvarMap.smi" _require "../../patterncalc/main/PatternCalc.ppg.smi" _require "../../patterncalc/main/PatternCalcInterface.ppg.smi" _require "../../patterncalc/main/PatternCalcInterface.ppg.smi" _require "NameEvalEnv.ppg.smi" _require "NameEvalError.ppg.smi" _require "NameEvalUtils.smi" _require "NormalizeTy.smi" _require "SetLiftedTys.smi" structure EvalTy = struct type tvarEnv = IDCalc.tvar SEnv.map val emptyTvarEnv : tvarEnv val genTvar : tvarEnv -> Absyn.tvar -> tvarEnv * IDCalc.tvar val genTvarList : tvarEnv -> Absyn.tvar list -> tvarEnv * IDCalc.tvar list val evalTy : tvarEnv -> NameEvalEnv.env -> Absyn.ty -> IDCalc.ty val evalRuntimeTy : Loc.loc -> tvarEnv -> NameEvalEnv.env -> PatternCalcInterface.runtimeTy -> IDCalc.runtimeTy val compatRuntimeTy : {absTy:IDCalc.runtimeTy, implTy:IDCalc.runtimeTy} -> bool val evalTvar : Loc.loc -> tvarEnv -> Absyn.tvar -> IDCalc.tvar val evalFfity : tvarEnv -> NameEvalEnv.env -> PatternCalc.ffiTy -> IDCalc.ffiTy val emptyScopedTvars : IDCalc.scopedTvars val evalScopedTvars : Loc.loc -> tvarEnv -> NameEvalEnv.env -> PatternCalc.scopedTvars -> tvarEnv * IDCalc.kindedTvar list val evalDatatype : IDCalc.path -> NameEvalEnv.env -> PatternCalc.datbind list * Loc.loc -> NameEvalEnv.env * IDCalc.icdecl list end smlsharp-1.2.0/src/compiler/nameevaluation/main/EvalTy.sml0000644 000000000000000000004256612050661606023776 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2012- Tohoku University. * @author Atsushi Ohori *) (* the initial error code of this file : Ty-001 *) structure EvalTy : sig type tvarEnv val emptyTvarEnv : tvarEnv val genTvar : tvarEnv -> Absyn.tvar -> tvarEnv * IDCalc.tvar val genTvarList : tvarEnv -> Absyn.tvar list -> tvarEnv * IDCalc.tvar list val evalTy : tvarEnv -> NameEvalEnv.env -> Absyn.ty -> IDCalc.ty val evalTvar : Loc.loc -> tvarEnv -> Absyn.tvar -> IDCalc.tvar val evalFfity : tvarEnv -> NameEvalEnv.env -> PatternCalc.ffiTy -> IDCalc.ffiTy val emptyScopedTvars : IDCalc.scopedTvars val evalScopedTvars : Loc.loc -> tvarEnv -> NameEvalEnv.env -> PatternCalc.scopedTvars -> tvarEnv * IDCalc.kindedTvar list val evalDatatype : IDCalc.path -> NameEvalEnv.env -> PatternCalc.datbind list * Loc.loc -> NameEvalEnv.env * IDCalc.icdecl list val evalRuntimeTy : Loc.loc -> tvarEnv -> NameEvalEnv.env -> PatternCalcInterface.runtimeTy -> IDCalc.runtimeTy val compatRuntimeTy : {absTy:IDCalc.runtimeTy, implTy:IDCalc.runtimeTy} -> bool end = struct local structure I = IDCalc structure P = PatternCalc structure V = NameEvalEnv structure N = NormalizeTy structure BT = BuiltinTypes structure U = NameEvalUtils structure EU = UserErrorUtils structure E = NameEvalError structure A = Absyn structure L = SetLiftedTys structure PI = PatternCalcInterface fun bug s = Control.Bug ("NameEval(EvalTy): " ^ s) in type tvarEnv = I.tvar SEnv.map val emptyTvarEnv = SEnv.empty : tvarEnv fun genTvar (tvarEnv:tvarEnv) {name, eq} : tvarEnv * I.tvar = let val id = TvarID.generate() val tvar = {name=name, eq=eq,id=id,lifted=false} in (SEnv.insert(tvarEnv, name, tvar), tvar) end fun genTvarList (tvarEnv:tvarEnv) tvarList : tvarEnv * I.tvar list = U.evalTailList {env=tvarEnv, eval=genTvar} tvarList (* type variable evaluators *) fun evalTvar loc (tvarEnv:tvarEnv) {name, eq} : I.tvar = case SEnv.find(tvarEnv, name) of SOME tvar => tvar | NONE => (EU.enqueueError (loc, E.TvarNotFound("Ty-010",{name = name})); {name=name, eq=eq, id=TvarID.generate(), lifted=false}) (* type evaluators, which return a type etc and liftedtys *) fun evalTy (tvarEnv:tvarEnv) (env:V.env) (ty:A.ty) : I.ty = case ty of A.TYWILD loc => I.TYWILD | A.TYID (tvar, loc) => I.TYVAR (evalTvar loc tvarEnv tvar) | A.TYRECORD (nil, loc) => BT.unitITy | A.TYRECORD (tyFields, loc) => (EU.checkNameDuplication #1 tyFields loc (fn s => E.DuplicateRecordLabelInRawType("Ty-020",s)); I.TYRECORD (foldl (fn ((l,ty), fields) => LabelEnv.insert(fields, l, evalTy tvarEnv env ty)) LabelEnv.empty tyFields ) ) | A.TYCONSTRUCT (tyList, path, loc) => let exception Arity in let fun makeTy tfun = let val tyList = map (evalTy tvarEnv env) tyList val _ = if length tyList = I.tfunArity tfun then () else raise Arity in case I.pruneTfun tfun of I.TFUN_DEF {iseq,formals,realizerTy} => let val reduceEnv = foldr (fn ((tvar, ty), tvarEnv) => TvarMap.insert(tvarEnv, tvar, ty)) TvarMap.empty (ListPair.zip(formals, tyList)) val newTy = N.reduceTy reduceEnv realizerTy in newTy end | I.TFUN_VAR _ => I.TYCONSTRUCT {tfun=tfun, args=tyList} end in case V.lookupTstr env path handle e => raise e of V.TSTR tfun => makeTy tfun | V.TSTR_DTY {tfun, varE, formals, conSpec} => makeTy tfun end handle Arity => (EU.enqueueError (loc, E.TypArity("Ty-030",{longid = path})); I.TYERROR ) | V.LookupTstr => (EU.enqueueError (loc, E.TypNotFound("Ty-040",{longid = path})); I.TYERROR ) end | A.TYTUPLE(nil, loc) => BT.unitITy | A.TYTUPLE(tyList, loc) => evalTy tvarEnv env (A.TYRECORD (Utils.listToTuple tyList, loc)) | A.TYFUN(ty1,ty2, loc) => I.TYFUNM([evalTy tvarEnv env ty1], evalTy tvarEnv env ty2) | A.TYPOLY (kindedTvarList, ty, loc) => let val (tvarEnv, kindedTvarList) = evalKindedTvarList loc tvarEnv env kindedTvarList val ty = evalTy tvarEnv env ty in I.TYPOLY (kindedTvarList,ty) end and evalTvarKind (tvarEnv:tvarEnv) (env:V.env) kind : I.tvarKind = case kind of A.UNIV => I.UNIV | A.REC (tyFields, loc) => (EU.checkNameDuplication #1 tyFields loc (fn s => E.DuplicateRecordLabelInKind("Ty-050",s)); I.REC (foldl (fn ((l,ty), fields) => LabelEnv.insert(fields, l, evalTy tvarEnv env ty) ) LabelEnv.empty tyFields ) ) and evalKindedTvarList loc (tvarEnv:tvarEnv) (env:V.env) tvarKindList : tvarEnv * I.kindedTvar list = let fun evalTvar tvarEnv (tvar, kind) = let val (tvarEnv, tvar) = genTvar tvarEnv tvar in (tvarEnv, (tvar, kind)) end val (tvarEnv, tvarKindList) = U.evalTailList {env=tvarEnv,eval=evalTvar} tvarKindList val tvarKindList = map (fn (tvar, kind) => (tvar, evalTvarKind tvarEnv env kind)) tvarKindList in (tvarEnv, tvarKindList) end fun compatRuntimeTy {absTy, implTy} = case (absTy, implTy) of (I.LIFTEDty {id=id1,...}, I.LIFTEDty {id=id2,...}) => TvarID.eq(id1,id2) | (I.BUILTINty bty1, I.BUILTINty bty2) => BuiltinTypes.compatTy {absTy=bty1, implTy=bty2} | _ => false fun evalRuntimeTy loc tvarEnv evalEnv runtimeTy = case runtimeTy of PI.BUILTINty ty => I.BUILTINty ty | PI.LIFTEDty path => let val aty = A.TYCONSTRUCT(nil, path, loc) val ity = evalTy tvarEnv evalEnv aty in case ity of I.TYVAR (tvar as {lifted,...}) => if lifted then I.LIFTEDty tvar else raise bug "non lifted tvar in evalRuntimeTy" | _ => (case I.runtimeTyOfIty ity of SOME ty => ty | NONE => raise bug "no runtimeTy in evalRuntimeTy" ) end fun ffiTyToAbsynTy ffiTy = case ffiTy of P.FFIFUNTY (attributes, [argTy], [retTy], loc) => A.TYFUN (ffiTyToAbsynTy argTy, ffiTyToAbsynTy retTy, loc) | P.FFIFUNTY (attributes, argTys, retTys, loc) => (EU.enqueueError (loc, E.FFIFunTyIsNotAllowedHere("Ty-060", ffiTy)); A.TYTUPLE (nil, loc)) (* dummy *) | P.FFITYVAR (tvar, loc) => A.TYID (tvar, loc) | P.FFIRECORDTY (fields, loc) => A.TYRECORD (map (fn (label, ty) => (label, ffiTyToAbsynTy ty)) fields, loc) | P.FFICONTY (argTyList, path, loc) => A.TYCONSTRUCT (map ffiTyToAbsynTy argTyList, path, loc) fun tyToFfiTy subst (ty, loc) = case ty of I.TYWILD => I.FFIBASETY (ty, loc) | I.TYERROR => I.FFIBASETY (ty, loc) | I.TYCONSTRUCT _ => I.FFIBASETY (ty, loc) | I.TYFUNM _ => I.FFIBASETY (ty, loc) | I.TYPOLY _ => I.FFIBASETY (ty, loc) | I.INFERREDTY _ => I.FFIBASETY (ty, loc) (* FIXME *) | I.TYVAR tvar => ( case TvarMap.find (subst, tvar) of NONE => I.FFIBASETY (ty, loc) | SOME ffity => ffity ) | I.TYRECORD fields => let fun isTuple (i, nil) = true | isTuple (i, (k,v)::t) = Int.toString i = k andalso isTuple (i + 1,t) val fields = LabelEnv.listItemsi fields in if isTuple (1, fields) then I.FFIRECORDTY (map (fn (label, ty) => (label, tyToFfiTy subst (ty, loc))) fields, loc) else I.FFIBASETY (ty, loc) end fun evalFfity (tvarEnv:tvarEnv) (env:V.env) ffiTy = let val evalFfity = evalFfity tvarEnv env in case ffiTy of P.FFIFUNTY (ffiAttributesOption, argTys, retTys, loc) => I.FFIFUNTY (ffiAttributesOption, map evalFfity argTys, map evalFfity retTys, loc) | P.FFITYVAR (tvar, loc) => I.FFIBASETY (evalTy tvarEnv env (ffiTyToAbsynTy ffiTy), loc) | P.FFIRECORDTY (stringFfityList, loc) => I.FFIRECORDTY (map (fn (l, ty) => (l, evalFfity ty)) stringFfityList, loc) | P.FFICONTY (argTyList, typath, loc) => ( case V.lookupTstr env typath handle e => raise e of V.TSTR (I.TFUN_DEF {iseq, formals, realizerTy}) => let val argTyList = map evalFfity argTyList val subst = List.foldl (fn ((key, item), m) => TvarMap.insert (m, key, item)) TvarMap.empty (ListPair.zipEq (formals, argTyList) handle UnqeualLengths => raise bug "FIXME: tfun arity mismatch") in tyToFfiTy subst (realizerTy, loc) end | _ => I.FFIBASETY (evalTy tvarEnv env (ffiTyToAbsynTy ffiTy), loc) ) handle V.LookupTstr => (EU.enqueueError (loc, E.TypNotFound("Ty-070",{longid = typath})); I.FFIBASETY (I.TYERROR, loc)) end val emptyScopedTvars = nil : I.scopedTvars fun evalScopedTvars loc (tvarEnv:tvarEnv) (env:V.env) (tvars:P.scopedTvars) = evalKindedTvarList loc tvarEnv env tvars fun evalDatatype (path:I.path) (env:V.env) (datbindList:PatternCalc.datbind list, loc:Loc.loc) : NameEvalEnv.env * IDCalc.icdecl list = let val _ = EU.checkNameDuplication (fn {tyvars, tycon, conbind} => tycon) datbindList loc (fn s => E.DuplicateTypInDty("Ty-080",s)) val _ = EU.checkNameDuplication (fn {vid=string, ty=tyOption} => string) (foldl (fn ({tyvars, tycon, conbind}, allCons) => allCons@conbind) nil datbindList) loc (fn s => E.DuplicateConNameInDty("Ty-090",s)) val (newEnv, datbindListRev) = foldl (fn ({tyvars=tvarList,tycon=string,conbind}, (newEnv, datbindListRev)) => let val _ = EU.checkNameDuplication (fn {name, eq} => name) tvarList loc (fn s => E.DuplicateTypParms("Ty-100",s)) val (tvarEnv, tvarList)= genTvarList emptyTvarEnv tvarList val id = TypID.generate() val iseqRef = ref true val tfv = I.mkTfv(I.TFV_SPEC{name=string, id=id,iseq=true,formals=tvarList}) val tfun = I.TFUN_VAR tfv val newEnv =V.rebindTstr(newEnv,string,V.TSTR tfun) val datbindListRev = {name=string, id=id, tfv=tfv, tfun=tfun, iseqRef=iseqRef, args=tvarList, tvarEnv=tvarEnv, conbind=conbind} :: datbindListRev in (newEnv, datbindListRev) end ) (V.emptyEnv, nil) datbindList val evalEnv = V.envWithEnv (env, newEnv) val datbindList = foldl (fn ({name, id, tfv, tfun, iseqRef, args, tvarEnv, conbind}, datbindList) => let val returnTy = I.TYCONSTRUCT {tfun=tfun, args= map (fn tv=>I.TYVAR tv) args } val (conVarE, conSpec, conbindRev) = foldl (fn ({vid=string,ty=tyOption}, (conVarE,conSpec,conbindRev)) => let val conId = ConID.generate() val conInfo = {path=path@[string], id=conId} val (tyOption, conTy) = case tyOption of NONE => (NONE, case args of nil => returnTy | _ => I.TYPOLY ( map (fn tv =>(tv, I.UNIV)) args, returnTy ) ) | SOME ty => let val ty = evalTy tvarEnv evalEnv ty in (SOME ty, case args of nil => I.TYFUNM([ty], returnTy) | _ => I.TYPOLY ( map (fn tv =>(tv, I.UNIV)) args, I.TYFUNM([ty], returnTy) ) ) end val idstatus = I.IDCON {id=conId, ty=conTy} in (SEnv.insert(conVarE, string, idstatus), SEnv.insert(conSpec, string, tyOption), {datacon=conInfo,tyOpt=tyOption} :: conbindRev ) end ) (SEnv.empty,SEnv.empty,nil) conbind in {name=name, id=id, tfv=tfv, conVarE=conVarE, conSpec=conSpec, iseqRef=iseqRef, args=args, conbind=List.rev conbindRev} :: datbindList end) nil datbindListRev val _ = N.setEq (map (fn {id, args, conSpec, iseqRef,...} => {id=id, args=args, conSpec=conSpec, iseqRef=iseqRef}) datbindList ) val newEnv = foldr (fn ({name,id,tfv,conVarE,conSpec,iseqRef,args,conbind}, newEnv) => let val runtimeTy = I.BUILTINty (U.runtimeTyOfConspec conSpec) val tfunkind = I.TFUN_DTY {id=id, iseq = !iseqRef, conSpec=conSpec, originalPath=path@[name], runtimeTy = runtimeTy, formals=args, liftedTys=I.emptyLiftedTys, dtyKind=I.DTY } (* I.TFV_DTY {id=id, iseq = !iseqRef, conSpec=conSpec, formals=args, liftedTys=I.emptyLiftedTys } *) val _ = tfv := tfunkind val newEnv = V.rebindTstr(newEnv, name, V.TSTR_DTY {tfun=I.TFUN_VAR tfv, varE=conVarE, formals=args, conSpec=conSpec } ) val newEnv = V.envWithVarE(newEnv, conVarE) in newEnv end ) V.emptyEnv datbindList val pathTfvListList = L.setLiftedTysEnv newEnv in (newEnv, nil) end end end smlsharp-1.2.0/src/compiler/nameevaluation/main/FunctorUtils.smi0000644 000000000000000000000350412050661606025215 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/PathEnv.smi" _require "../../control/main/Loc.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../builtin2/main/BuiltinTypeNames.ppg.smi" _require "../../builtin2/main/BuiltinTypes.smi" _require "../../name/main/LocalID.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../patterncalc/main/PatternCalc.ppg.smi" _require "../../usererror/main/UserErrorUtils.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../types/main/tvarMap.smi" _require "../../util/main/utils.smi" _require "EvalSig.smi" _require "EvalTy.smi" _require "NameEvalEnv.ppg.smi" _require "NameEvalUtils.smi" _require "NormalizeTy.smi" _require "SetLiftedTys.smi" _require "TfunVars.smi" structure FunctorUtils = struct val evalFunArg : NameEvalEnv.topEnv * PatternCalc.plsigexp * Loc.loc -> {argStrEntry : NameEvalEnv.strEntry, argSig : NameEvalEnv.env, dummyIdfunArgTy : IDCalc.ty option, exnTagDecls : IDCalc.icdecl list, extraTvars : IDCalc.tvar list, firstArgPat : (IDCalc.varInfo * IDCalc.ty list) option, polyArgPats : (IDCalc.varInfo * IDCalc.ty) list, tfvDecls : IDCalc.icdecl list} val varsInEnv : NameEvalEnv.env * Loc.loc -> (string list * IDCalc.icexp) list * ExnID.Set.set val typidSet : NameEvalEnv.env -> TypID.Set.set val eqEnv : {specEnv:NameEvalEnv.env, implEnv:NameEvalEnv.env} -> bool val eqSize : NameEvalEnv.env * NameEvalEnv.env -> bool val eqShape : NameEvalEnv.env * NameEvalEnv.env -> bool val makeFunctorArgs : Loc.loc -> string list list -> NameEvalEnv.env -> IDCalc.icexp list end smlsharp-1.2.0/src/compiler/nameevaluation/main/FunctorUtils.sml0000644 000000000000000000012315312050661606025223 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2012- Tohoku University. * @author Atsushi Ohori *) (* the initial error code of this file : NEF-001 *) structure FunctorUtils : sig val evalFunArg : NameEvalEnv.topEnv * PatternCalc.plsigexp * Loc.loc -> {argStrEntry : NameEvalEnv.strEntry, argSig : NameEvalEnv.env, dummyIdfunArgTy : IDCalc.ty option, exnTagDecls : IDCalc.icdecl list, extraTvars : IDCalc.tvar list, firstArgPat : (IDCalc.varInfo * IDCalc.ty list) option, polyArgPats : (IDCalc.varInfo * IDCalc.ty) list, tfvDecls : IDCalc.icdecl list} val varsInEnv : NameEvalEnv.env * Loc.loc -> (string list * IDCalc.icexp) list * ExnID.Set.set val typidSet : NameEvalEnv.env -> TypID.Set.set val eqEnv : {specEnv:NameEvalEnv.env, implEnv:NameEvalEnv.env} -> bool val eqShape : NameEvalEnv.env * NameEvalEnv.env -> bool val eqSize : NameEvalEnv.env * NameEvalEnv.env -> bool val makeFunctorArgs : Loc.loc -> string list list -> NameEvalEnv.env -> IDCalc.icexp list end = struct local structure V = NameEvalEnv structure U = NameEvalUtils structure TF = TfunVars structure A = Absyn structure I = IDCalc structure L = SetLiftedTys structure N = NormalizeTy structure BT = BuiltinTypes structure Sig = EvalSig structure Ty = EvalTy structure P = PatternCalc structure EU = UserErrorUtils fun bug s = Control.Bug ("NameEval (FunctorUtils): " ^ s) val DUMMYIDFUN = "id" in fun evalFunArg (topEnv, argSig, loc) = let fun materializeTstr path (name, tstr, icdecls) = ( case tstr of V.TSTR tfun => (case I.derefTfun tfun of tfun as (I.TFUN_VAR (tfv as ref tfunkind)) => (case tfunkind of I.TFV_SPEC {name, id, iseq, formals} => (case formals of nil => (U.print "spec tfv\n"; U.print "tstr\n"; U.printTstr tstr; U.print "\n"; U.print "tfun\n"; U.printTfun tfun; U.print "\n"; U.print "name\n"; U.print name; U.print "\n"; raise bug "spec tfv" ) | _ => let val _ = tfv := I.TFUN_DTY {id=id, iseq=iseq, runtimeTy = I.BUILTINty BuiltinTypeNames.BOXEDty, formals=formals, conSpec=SEnv.empty, (* 2012-8-6 ohori bug 062_functorPoly.sml; Bug : nil path originalPath=path, *) originalPath=path@[name], liftedTys=I.emptyLiftedTys, dtyKind=I.FUNPARAM } in icdecls end ) | _ => icdecls ) | _ => icdecls ) | _ => icdecls ) fun materializeTyE path tyE = SEnv.foldri (materializeTstr path) nil tyE fun materializeStrE path (V.STR envMap) = SEnv.foldri (fn (name, {env,strKind}, icdecls) => let val icdecls1 = materializeEnv (path@[name]) env in icdecls @ icdecls1 end ) nil envMap and materializeEnv path (V.ENV {varE, tyE, strE, ...}) = let val icdecls1 = materializeTyE path tyE val icdecls2 = materializeStrE path strE in icdecls1 @ icdecls2 end fun genArgTstr path (name, tstr, env) = case tstr of V.TSTR tfun => (case I.derefTfun tfun of I.TFUN_DEF _ => V.rebindTstr(env, name, tstr) | I.TFUN_VAR (ref tfunkind) => (case tfunkind of I.TFV_SPEC _ => raise bug "unmaterialized (1)" | I.TFV_DTY _ => raise bug "unmaterialized (2)" | I.TFUN_DTY _ => V.rebindTstr(env, name, tstr) | I.REALIZED _ => raise bug "REALIZED" | I.INSTANTIATED {tfunkind, tfun} => raise bug "INSTANTIATED" | I.FUN_DTY _ => V.rebindTstr(env, name, V.TSTR tfun) ) ) | V.TSTR_DTY {tfun, varE=_, formals=_, conSpec=_} => (case I.derefTfun tfun of I.TFUN_DEF _ => raise bug "DEF in TSTR_DTY" | I.TFUN_VAR (ref tfunkind) => (case tfunkind of I.TFV_SPEC _ => raise bug "unmaterialized (3)" | I.TFV_DTY _ => (U.print "TFV_DTY to genArgTstr\n"; U.print name; U.print "\n"; U.printTstr tstr; raise bug "unmaterialized (4)" ) | I.TFUN_DTY _ => V.rebindTstr(env, name, tstr) | I.REALIZED _ => raise bug "REALIZED" | I.INSTANTIATED _ => raise bug "INSTANTIATED" | I.FUN_DTY {originalPath, tfun,varE,formals,liftedTys,conSpec} => let val envTstr = V.TSTR_DTY {tfun=tfun, varE=varE, formals=formals, conSpec=conSpec} in V.envWithVarE(V.rebindTstr(env, name, envTstr), varE) end ) ) fun genArgTyE path tyE env = SEnv.foldri (genArgTstr path) env tyE fun genArgVarE path varE env = SEnv.foldri (fn (name, idstatus, {varPats, exnPats, env, exnTagDecls}) => case idstatus of I.IDSPECVAR ty => let val varId = VarID.generate() val idstatus = I.IDVAR varId val pat = ({path=path@[name],id=varId},ty) in {varPats=pat::varPats, exnPats=exnPats, env=V.rebindId(env, name, idstatus), exnTagDecls=exnTagDecls } end | I.IDSPECEXN ty => let val varId = VarID.generate() val idstatus = I.IDVAR varId val varInfo = {path=path@[name],id=varId} val pat = (varInfo, BT.exntagITy) val exnId = ExnID.generate() val exnInfo = {path=path, id=exnId, ty=ty} val idstatus = I.IDEXN {id=exnId, ty=ty} val exnTagDecl = I.ICEXNTAGD ({exnInfo=exnInfo, varInfo=varInfo}, loc) in {varPats=varPats, exnPats=pat::exnPats, env=V.rebindId(env, name, idstatus), exnTagDecls=exnTagDecl::exnTagDecls } end | I.IDSPECCON => {varPats=varPats, exnPats=exnPats, env=env, exnTagDecls=exnTagDecls} | idstatus => {varPats=varPats, exnPats=exnPats, env=V.rebindId(env, name, idstatus), exnTagDecls=exnTagDecls} ) {varPats=nil, exnPats=nil, env=env, exnTagDecls=nil} varE fun genArgStrE path (V.STR envMap) returnEnv = SEnv.foldri (fn (name, {env=specEnv, strKind}, {varPats, exnPats, env, exnTagDecls}) => let val {varPats=newPats, exnPats=newExnPats, strEntry=newStrEntry, exnTagDecls=newExnTagDecls} = genArgStrEntry (path@[name]) specEnv in {varPats=newPats@varPats, exnPats=newExnPats@exnPats, env=V.rebindStr(env, name, newStrEntry), exnTagDecls=newExnTagDecls @ exnTagDecls } end ) {varPats=nil, exnPats=nil, env=returnEnv, exnTagDecls=nil} envMap (* the order must be the same as that of varsInEnv the order is foldr and str -> env *) and genArgStrEntry path (V.ENV {varE, tyE, strE, ...}) = let val {varPats=pats1, exnPats=exnPats, env=env, exnTagDecls=exnTagDecls1} = genArgStrE path strE V.emptyEnv val {varPats=pats2, exnPats=exnPats2, env=env, exnTagDecls=exnTagDecls2} = genArgVarE path varE env val env = genArgTyE path tyE env val strKind = V.STRENV (StructureID.generate()) in {varPats=pats1@pats2, exnPats=exnPats@exnPats2, strEntry={env=env, strKind=strKind}, exnTagDecls=exnTagDecls1@exnTagDecls2} end val argSig = Sig.evalPlsig topEnv argSig val (_,argSpecEnv) = Sig.refreshSpecEnv argSig val specTfvs = TfvMap.listItemsi (TF.tfvsEnv TF.specKind nil (argSpecEnv, TfvMap.empty)) handle exn => raise exn val extraTvarsMap = foldr (fn ((tfv as ref (tfunkind as I.TFV_SPEC {iseq, id, formals, ...}), path), extraTvarsMap) => (case formals of nil => let val tvarName =String.concatWith "." path val tvar = {name=tvarName, lifted=true, id = TvarID.generate(), eq = if iseq then A.EQ else A.NONEQ} val tfun = I.TFUN_DEF {iseq=iseq, formals=nil, realizerTy= I.TYVAR tvar} in ( tfv := I.REALIZED{id= id, tfun=tfun}; PathEnv.insert(extraTvarsMap, path, tvar)) end | _ => extraTvarsMap ) | _ => raise bug "non spec tfv" ) PathEnv.empty specTfvs val extraTvars = PathEnv.listItems extraTvarsMap val pathTfvListList = L.setLiftedTysSpecEnv argSpecEnv (* val _ = U.print "argSpecEnv before materializeEnv\n" val _ = U.printEnv argSpecEnv val _ = U.print "\n" *) val tfvDecls = materializeEnv nil argSpecEnv (* val _ = U.print "argSpecEnv aftre materializeEnv\n" val _ = U.printEnv argSpecEnv val _ = U.print "\n" *) fun materializeDtyTstr (path,tfv) = let val (name, path) = case List.rev path of h::tl => (h, List.rev tl) | _ => raise bug "nil path" in case !tfv of I.TFV_SPEC _ => raise bug "non dty tfv (4)" | I.TFV_DTY {name, id, iseq, formals, conSpec, liftedTys} => let val returnTy = I.TYCONSTRUCT {tfun=I.TFUN_VAR tfv, (* FIXME args= map (fn tv=>I.TYWILD) formals} *) args= map (fn tv=>I.TYVAR tv) formals} val (varE, conbinds) = SEnv.foldri (fn (name, tyOpt, (varE, conbinds)) => let val conId = ConID.generate() val conInfo = {id=conId, path=path@[name]} val conTy = case tyOpt of NONE => returnTy | SOME ty => I.TYFUNM([ty], returnTy) val conTy = case formals of nil => conTy | _ => I.TYPOLY ( map (fn tv =>(tv,I.UNIV)) formals, conTy ) val idstatus = I.IDCON {id=conId,ty=conTy} in (SEnv.insert(varE, name, idstatus), {datacon={path=path@[name],id=conId}, tyOpt=tyOpt} :: conbinds ) end ) (SEnv.empty, nil) conSpec (* is it safe to create a new var here? *) val runtimeTy = I.BUILTINty (U.runtimeTyOfConspec conSpec) val envTfun = I.TFUN_VAR (ref (I.TFUN_DTY{id=id, iseq=iseq, formals=formals, runtimeTy=runtimeTy, conSpec=conSpec, originalPath=path@[name], liftedTys=liftedTys, dtyKind=I.DTY } ) ) val _ = tfv := I.FUN_DTY{tfun=envTfun, varE=varE, originalPath=path@[name], formals=formals, liftedTys=liftedTys, conSpec=conSpec } in () end | _ => raise bug "non tfv" end val _ = map (fn pathTfvList => (map materializeDtyTstr pathTfvList)) pathTfvListList (* val _ = U.print "argSpecEnv before evalEnv\n" val _ = U.printEnv argSpecEnv val _ = U.print "\n" *) val {varPats, exnPats, strEntry=argStrEntry, exnTagDecls} = genArgStrEntry nil argSpecEnv (* val _ = U.print "agrEnv after evalEnv\n" val _ = U.printStrEntry argStrEntry val _ = U.print "\n" *) val dummyIdfunArgTy = case extraTvars of nil => NONE | _ => SOME ( I.TYRECORD (Utils.listToFields (map (fn tvar => I.TYVAR tvar) extraTvars) ) ) val dummyIdfunTy = case dummyIdfunArgTy of SOME ty => SOME (I.TYFUNM([ty],ty)) | NONE => NONE val firstArgPat = case dummyIdfunTy of SOME ty => SOME ({path=[DUMMYIDFUN], id = VarID.generate()}, [ty]) | NONE => NONE (* val typedIdpat = I.ICPATTYPED (I.ICPATVAR({path=[DUMMYIDFUN], id = VarID.generate()}, loc), dummyIdfunTy, loc) *) (* val recordPat = I.ICPATRECORD{flex=false, fields=Utils.listToTuple argPatList, loc=loc} *) in { argSig=argSig, argStrEntry=argStrEntry, extraTvars=extraTvars, polyArgPats=varPats@exnPats, exnTagDecls=exnTagDecls, dummyIdfunArgTy=dummyIdfunArgTy, firstArgPat=firstArgPat, tfvDecls = tfvDecls } end fun makeFunctorArgs loc pathList env = let fun genActualEnv path vars (V.ENV{varE, strE=V.STR envMap,...}) : I.icexp list = let val vars = genActualVarE path vars varE in genActualStrE path vars envMap end and genActualVarE path vars varE : I.icexp list = SEnv.foldri (fn (name, I.IDVAR id, vars) => I.ICVAR({id=id, path=path@[name]}, loc) :: vars | (name, I.IDVAR_TYPED {id, ty}, vars) => I.ICVAR({id=id, path=path@[name]}, loc) :: vars | (name, I.IDEXVAR {path=exPath, ty, used, loc, version, internalId}, vars) => (* CHECKME: Here we change the external name to the effective name. *) let val exPath = case version of NONE => exPath | SOME i => exPath@[Int.toString i] (* 2012-9-21 ohori: bug 235_functor val exPath = case version of NONE => exPath | SOME i => path@[Int.toString i] *) in I.ICEXVAR ({path=exPath, ty=ty},loc) :: vars end | (name, I.IDEXVAR_TOBETYPED _, vars) => raise bug "IDEXVAR_TOBETYPED" | (name, I.IDBUILTINVAR {primitive, ty}, vars) => (* bug 193_primitiveArg *) I.ICBUILTINVAR {primitive=primitive, ty=ty, loc=loc} :: vars | (name, I.IDCON _, vars) => vars | (name, I.IDEXN {id, ty}, vars) => vars (* if ExnID.Set.member(set, id) then vars else I.ICEXN_CONSTRUCTOR({id=id,ty=ty,path=path@[name]},loc)::vars *) | (name, I.IDEXNREP {id, ty}, vars) => vars (* if ExnID.Set.member(set, id) then vars else I.ICEXN_CONSTRUCTOR({id=id,ty=ty,path=path@[name]},loc) ::vars *) | (name, I.IDEXEXN {path,ty, used, loc, version}, vars) => vars | (name, I.IDEXEXNREP {path,ty, used, loc, version}, vars) => vars | (name, I.IDOPRIM _, _) => (print name; print "\n"; raise bug "IDOPRIM genActualVarE") | (name, I.IDSPECVAR _, vars) => vars | (name, I.IDSPECEXN _, vars) => vars | (name, I.IDSPECCON, vars) => vars ) vars varE and genActualStrE path vars envMap : I.icexp list = SEnv.foldri (fn (strName, {env, strKind}, vars) => genActualEnv (path@[strName]) vars env ) vars envMap fun genActualTag (pathList, env) = foldr (fn (path, exnCons) => case V.findId(env, path) of SOME (I.IDEXN {id, ty}) => I.ICEXN_CONSTRUCTOR({id=id,ty=ty,path=path},loc)::exnCons | SOME (I.IDEXNREP {id, ty}) => I.ICEXN_CONSTRUCTOR({id=id,ty=ty,path=path},loc) ::exnCons | SOME (I.IDEXEXN {path, ty, used, loc, version}) => let val path = case version of NONE => path | SOME i => path @ [Int.toString i] in I.ICEXEXN_CONSTRUCTOR({ty=ty,path=path},loc) ::exnCons end | SOME (I.IDEXEXNREP {path, ty, used, loc, version}) => let val path = case version of NONE => path | SOME i => path @ [Int.toString i] in I.ICEXEXN_CONSTRUCTOR({ty=ty,path=path},loc) ::exnCons end | SOME idstatus => raise bug "non exn idstatus" | NONE => raise bug "exn not found" ) nil pathList val expList = genActualEnv nil nil env val exnCons = genActualTag (pathList, env) in expList@exnCons end local fun varsInEnv set loc path vars (V.ENV{varE, strE=V.STR envMap,...}) : ((string list * I.icexp) list * ExnID.Set.set) = let val (vars, set) = varsInVarE set loc path vars varE in varsInStrE set loc path vars envMap end and varsInVarE set loc path vars varE : ((string list * I.icexp) list * ExnID.Set.set) = SEnv.foldri (fn (name, I.IDVAR id, (vars, set)) => ((path@[name],I.ICVAR({id=id, path=path@[name]}, loc)) :: vars, set) | (name, I.IDVAR_TYPED {id, ty}, (vars, set)) => ((path@[name],I.ICVAR({id=id, path=path@[name]}, loc)) :: vars, set) | (name, I.IDEXVAR {path=exPath, ty, used, loc, version, internalId}, (vars, set)) => (* CHECKME: Here we change the external name to the effective name. *) let val exPath = case version of NONE => exPath | SOME i => exPath @ [Int.toString i] in ((path@[name], I.ICEXVAR ({path=exPath, ty=ty},loc)) :: vars, set) end | (name, I.IDEXVAR_TOBETYPED _, (vars, set)) => raise bug "IDEXVAR_TOBETYPED" | (name, I.IDCON _, (vars, set)) => (vars, set) | (name, I.IDEXN {id, ty}, (vars, set)) => if ExnID.Set.member(set, id) then (vars, set) else ((path@[name], I.ICEXN_CONSTRUCTOR({id=id,ty=ty,path=path@[name]},loc)) ::vars, ExnID.Set.add(set,id) ) | (name, I.IDEXNREP {id, ty}, (vars, set)) => if ExnID.Set.member(set, id) then (vars, set) else ((path@[name], I.ICEXN_CONSTRUCTOR({id=id,ty=ty,path=path@[name]},loc)) ::vars, ExnID.Set.add(set,id) ) (* I.ICEXN ({id=id, ty=ty, path=path@[name]}, loc) :: vars *) | (name, I.IDEXEXN {path,ty, used, loc, version}, (vars, set)) => (vars,set) | (name, I.IDEXEXNREP {path,ty, used, loc, version}, (vars, set)) => (vars,set) (* I.ICEXEXN({path=path, ty=ty}, loc) :: vars *) | (name, I.IDOPRIM _, _) => (print name; print "\n"; raise bug "IDOPRIM varsInVarE") | (name, I.IDBUILTINVAR _, (vars, set)) => (vars, set) | (name, I.IDSPECVAR _, (vars, set)) => (vars, set) | (name, I.IDSPECEXN _, (vars, set)) => (vars, set) | (name, I.IDSPECCON, (vars, set)) => (vars, set) ) (vars, set) varE and varsInStrE set loc path vars envMap : ((string list * I.icexp) list * ExnID.Set.set) = SEnv.foldri (fn (strName, {env,strKind}, (vars, set)) => varsInEnv set loc (path@[strName]) vars env ) (vars, set) envMap in val varsInEnv = fn (env, loc) => varsInEnv ExnID.Set.empty loc nil nil env end fun typidSet env = let fun typidSetEnv (V.ENV {tyE,strE=V.STR envMap,...},typidSet) = let val typidSet = typidSetTyE (tyE,typidSet) in SEnv.foldl (fn ({env, strKind},typidSet) => typidSetEnv (env, typidSet)) typidSet envMap end and typidSetTyE (tyE,typidSet) = SEnv.foldl typidSetTstr typidSet tyE and typidSetTstr (tstr, typidSet) = case tstr of V.TSTR tfun => typidSetTfun (tfun, typidSet) | V.TSTR_DTY {tfun,...} => typidSetTfun (tfun, typidSet) and typidSetTfun (tfun, typidSet) = case I.derefTfun tfun of (* 2012-7-31 ohori: bug 228_abstypeInFunctor.sml; dtyKind must be processed *) I.TFUN_VAR(ref (I.TFUN_DTY{id, dtyKind = I.OPAQUE{tfun, ...},...})) => TypID.Set.add(typidSetTfun (tfun,typidSet), id) | I.TFUN_VAR(ref (I.TFUN_DTY{id,...})) => TypID.Set.add(typidSet, id) | _ => typidSet in typidSetEnv (env, TypID.Set.empty) end exception Fail fun makeEqEnv (formals1, formals2) = let val _ = if length formals1 = length formals2 then () else raise Fail val tvarPairs = ListPair.zip (formals1, formals2) in foldl (fn ((tvar1, tvar2), eqEnv) => TvarMap.insert(eqEnv, tvar1, tvar2)) TvarMap.empty tvarPairs end fun visitTfun {specTfun=tfun1, implTfun=tfun2} = case (I.derefTfun tfun1, I.derefTfun tfun2) of (I.TFUN_VAR (tfv as (ref(I.TFV_DTY{id=id1,iseq,formals, conSpec, liftedTys,...}))), I.TFUN_VAR (ref((I.TFV_DTY{name,id=id2,...})))) => tfv := I.TFV_DTY{id=id2, iseq=iseq, name=name, formals=formals, conSpec=conSpec, liftedTys=liftedTys} | (I.TFUN_VAR (tfv as (ref(I.TFV_SPEC{id=id1,iseq,formals,...}))), I.TFUN_VAR (ref((I.TFV_SPEC{name, id=id2,...})))) => tfv := I.TFV_SPEC{id=id2, name=name, iseq=iseq, formals=formals} | (I.TFUN_VAR (tfv as (ref(I.TFUN_DTY{id=id1, iseq, formals, runtimeTy, conSpec, originalPath, dtyKind, liftedTys}))), I.TFUN_VAR (ref((I.TFUN_DTY{id=id2,...})))) => tfv := I.TFUN_DTY{id=id2, iseq=iseq, formals=formals, runtimeTy=runtimeTy, conSpec=conSpec, originalPath=originalPath, dtyKind=dtyKind, liftedTys=liftedTys} | _ => () fun visitTstr {specTstr=tstr1, implTstr=tstr2} = case (tstr1, tstr2) of (V.TSTR tfun1, V.TSTR tfun2) => visitTfun {specTfun=tfun1, implTfun=tfun2} | (V.TSTR_DTY {tfun=tfun1,...}, V.TSTR_DTY {tfun=tfun2,...}) => visitTfun {specTfun=tfun1, implTfun=tfun2} | _ => () fun visitEnv {specEnv=V.ENV {varE=varE1, tyE=tyE1, strE=V.STR envMap1}, implEnv=V.ENV {varE=varE2, tyE=tyE2, strE=V.STR envMap2}} = (SEnv.appi (fn (name, tstr1) => case SEnv.find(tyE2, name) of NONE => raise Fail | SOME tstr2 => visitTstr {specTstr=tstr1, implTstr=tstr2} ) tyE1; SEnv.appi (fn (name, {env=env1, strKind}) => case SEnv.find(envMap2, name) of NONE => raise Fail | SOME {env=env2, strKind} => visitEnv {specEnv=env1, implEnv=env2} ) envMap1 ) fun eqConSpec ((formals1, conSpec1), (formals2, conSpec2)) = if length formals1 = length formals2 then let val tvarPairs = ListPair.zip (formals1, formals2) val eqEnv = foldl (fn (({id=tv1,name=_,eq=_,lifted=_}, {id=tv2,name=_,eq=_,lifted=_}), eqEnv) => TvarID.Map.insert(eqEnv, tv1, tv2) ) TvarID.Map.empty tvarPairs val _ = if length (SEnv.listItems conSpec1) = length (SEnv.listItems conSpec2) then () else raise Fail in SEnv.appi (fn (name, tyOpt1) => case SEnv.find(conSpec2, name) of NONE => raise Fail | SOME tyOpt2 => (case (tyOpt1, tyOpt2) of (NONE, NONE) => () | (SOME ty1, SOME ty2) => if N.equalTy (N.emptyTypIdEquiv, eqEnv) (ty1,ty2) then () else raise Fail | _ => raise Fail ) ) conSpec2 end else raise Fail fun eqTfunkind {specTfunkind=tfunkind1, implTfunkind=tfunkind2} = case (tfunkind1, tfunkind2) of (I.TFUN_DTY {id=id1,...}, I.TFUN_DTY {id=id2,...}) => if TypID.eq(id1, id2) then () else raise Fail (* if TypID.eq(id1, id2) andalso iseq1 = iseq2 then eqConSpec ((formals1,conSpec1),(formals2,conSpec2)) else raise Fail *) | (I.INSTANTIATED _, _) => raise bug "INSTANTIATED in spec" | (_, I.INSTANTIATED _) => raise bug "INSTANTIATED in spec" | (I.FUN_DTY _, _) => raise bug "FUN_DTY in spec" | (_, I.FUN_DTY _) => raise bug "FUN_DTY in spec" | (I.TFV_SPEC{id=id1,...}, I.TFV_SPEC{id=id2,...}) => if TypID.eq(id1, id2) then () else raise Fail (* if TypID.eq(id1, id2) andalso iseq1 = iseq2 andalso length formals1 = length formals2 then () else raise Fail *) | (I.TFV_DTY {id=id1,...}, I.TFV_DTY {id=id2,...} ) => if TypID.eq(id1, id2) then () else raise Fail (* if TypID.eq(id1, id2) andalso iseq1 = iseq2 then eqConSpec ((formals1,conSpec1),(formals2,conSpec2)) else raise Fail *) | _ => raise Fail and eqTfun {specTfun=tfun1, implTfun=tfun2} = case (I.derefTfun tfun1, I.derefTfun tfun2) of (I.TFUN_DEF {iseq=iseq1, formals=formals1, realizerTy=ty1}, I.TFUN_DEF {iseq=iseq2, formals=formals2, realizerTy=ty2}) => let val _ = if iseq1 = iseq2 then () else raise Fail val tvarPairs = if length formals1 = length formals2 then ListPair.zip (formals1, formals2) else raise Fail val eqEnv = foldl (fn (({id=tv1,name=_,eq=_,lifted=_}, {id=tv2,name=_,eq=_,lifted=_}), eqEnv) => TvarID.Map.insert(eqEnv, tv1, tv2) ) TvarID.Map.empty tvarPairs in if N.equalTy (N.emptyTypIdEquiv, eqEnv) (ty1, ty2) then () else raise Fail end (* 167_functor.sml: without the following check, ChackProvide may loop *) | (I.TFUN_VAR(tfv as ref(I.TFUN_DTY{id=id1,iseq=eq1,formals=formals1,runtimeTy=ty1, dtyKind=I.DTY_INTERFACE,...})), I.TFUN_VAR(ref(I.TFUN_DTY{id=id2,iseq=eq2,formals=formals2,runtimeTy=ty2, dtyKind=I.DTY_INTERFACE,...}))) => if TypID.eq(id1,id2) then () else if Ty.compatRuntimeTy {absTy=ty1, implTy=ty2} andalso List.length formals1 = List.length formals2 andalso (not eq1 orelse eq2) then tfv := I.REALIZED {id=id1, tfun=tfun2} else raise Fail | (I.TFUN_VAR(tfv as ref(I.TFUN_DTY{id,iseq,formals,runtimeTy,dtyKind=I.DTY_INTERFACE,...})), _) => let val implRuntimeTy = case I.tfunRuntimeTy tfun2 of SOME ty => ty | NONE => raise Fail val implIseq = I.tfunIseq tfun2 val _ = if Ty.compatRuntimeTy {absTy=runtimeTy, implTy=implRuntimeTy} andalso List.length formals = I.tfunArity tfun2 andalso (not iseq orelse implIseq) then () else raise Fail in tfv := I.REALIZED {id=id, tfun=tfun2} end | (I.TFUN_VAR (ref (I.FUN_DTY {tfun=specTfun,...})), implTfun) => eqTfun {specTfun=specTfun, implTfun=implTfun} | (specTfun, I.TFUN_VAR (ref (I.FUN_DTY {tfun=implTfun,...}))) => eqTfun {specTfun=specTfun, implTfun=implTfun} | (I.TFUN_VAR(ref(tfunKind1)),I.TFUN_VAR(ref(tfunKind2))) => eqTfunkind {specTfunkind=tfunKind1, implTfunkind=tfunKind2} | _ => raise Fail fun eqTstr {specTstr=tstr1, implTstr=tstr2} = case (tstr1, tstr2) of (V.TSTR tfun1, V.TSTR tfun2) => eqTfun {specTfun=tfun1, implTfun=tfun2} | (V.TSTR tfun1, V.TSTR_DTY {tfun=tfun2,...}) => (eqTfun {specTfun=tfun1, implTfun=tfun2} handle exn => (U.print "eqTfun failed\n"; U.print "tfun1\n"; U.printTfun tfun1; U.print "\ntfun2\n"; U.printTfun tfun2; U.print "\n"; raise exn ) ) | (V.TSTR_DTY {tfun=tfun1,...}, V.TSTR_DTY {tfun=tfun2,...}) => (eqTfun {specTfun=tfun1, implTfun=tfun2} handle exn => (U.print "eqTfun failed\n"; U.print "tfun1\n"; U.printTfun tfun1; U.print "\ntfun2\n"; U.printTfun tfun2; U.print "\n"; raise exn ) ) | _ => raise Fail fun eqTyE {specTyE=tyE1, implTyE=tyE2} = SEnv.appi (fn (name, tstr1) => case SEnv.find(tyE2, name) of NONE => ( U.print "eqTyE fail missing name\n"; U.print name; U.print "\n"; raise Fail ) | SOME tstr2 => eqTstr {specTstr=tstr1, implTstr=tstr2} handle exn => (U.print "eqTstr failed\n"; U.print "tstr1\n"; U.printTstr tstr1; U.print "\ntstr2\n"; U.printTstr tstr2; U.print "\n"; raise exn ) ) tyE1 fun eqIdstatus (st1, st2) = case (st1, st2) of (I.IDSPECVAR ty1,I.IDSPECVAR ty2) => if N.equalTy (N.emptyTypIdEquiv, TvarID.Map.empty) (ty1,ty2) then () else raise Fail | (I.IDSPECEXN ty1, I.IDSPECEXN ty2) => if N.equalTy (N.emptyTypIdEquiv, TvarID.Map.empty) (ty1,ty2) then () else raise Fail | (I.IDSPECCON, I.IDSPECCON) => () | (I.IDCON {ty=ty1,...}, I.IDCON {ty=ty2,...}) => if N.equalTy (N.emptyTypIdEquiv, TvarID.Map.empty) (ty1,ty2) then () else raise Fail | (I.IDEXN {ty=ty1,...}, I.IDEXN {ty=ty2,...}) => if N.equalTy (N.emptyTypIdEquiv, TvarID.Map.empty) (ty1,ty2) then () else raise Fail | (I.IDEXNREP {ty=ty1,...}, I.IDEXNREP {ty=ty2,...}) => if N.equalTy (N.emptyTypIdEquiv, TvarID.Map.empty) (ty1,ty2) then () else raise Fail | (I.IDEXEXN {ty=ty1,...}, I.IDEXN {ty=ty2,...}) => if N.equalTy (N.emptyTypIdEquiv, TvarID.Map.empty) (ty1,ty2) then () else raise Fail | (I.IDEXEXN {ty=ty1,...}, I.IDEXEXN {ty=ty2,...}) => if N.equalTy (N.emptyTypIdEquiv, TvarID.Map.empty) (ty1,ty2) then () else raise Fail | (I.IDEXEXNREP {ty=ty1,...}, I.IDEXEXNREP {ty=ty2,...}) => if N.equalTy (N.emptyTypIdEquiv, TvarID.Map.empty) (ty1,ty2) then () else raise Fail | (I.IDEXVAR _, I.IDVAR _) => () | (I.IDEXVAR _, I.IDEXVAR _) => () | (I.IDEXVAR _, I.IDVAR_TYPED _) => () | (I.IDBUILTINVAR {primitive=prim1,ty=_}, I.IDBUILTINVAR {primitive=prim2,ty=_}) => if prim1 = prim2 then () else raise Fail | _ => raise Fail fun eqVarE {specVarE=varE1, implVarE=varE2} = SEnv.appi (fn (name, st1) => case SEnv.find(varE2, name) of NONE => raise Fail | SOME st2 => eqIdstatus (st1, st2) handle exn => (U.print "eqVarE eqidstatus fail\n"; U.print name; U.print "\n"; U.print "st1:\n"; U.printIdstatus st1; U.print "\n"; U.print "st2:\n"; U.printIdstatus st2; U.print "\n"; raise exn ) ) varE1 fun eqEnv {specEnv= env1, implEnv= env2} = let fun eqEnv' {specEnv= env1 as V.ENV {varE=varE1, tyE=tyE1, strE=strE1}, implEnv= env2 as V.ENV {varE=varE2, tyE=tyE2, strE=strE2}} = let val _ = eqTyE {specTyE=tyE1, implTyE=tyE2} val _ = eqVarE {specVarE=varE1, implVarE=varE2} val _ = eqStrE {specStrE=strE1, implStrE=strE2} in true end and eqStrE {specStrE=V.STR map1, implStrE=V.STR map2} = SEnv.appi (fn (name, {env=env1, strKind}) => case SEnv.find(map2, name) of NONE => ( raise Fail ) | SOME {env=env2, strKind} => if eqEnv' {specEnv=env1, implEnv=env2} then () else raise Fail ) map1 val _ = visitEnv {specEnv=env1, implEnv=env2} val _ = eqEnv' {specEnv=env1, implEnv=env2} in true end handle Fail => false fun eqSize (V.ENV {varE=varE1, tyE=tyE1, strE=V.STR strE1}, V.ENV {varE=varE2, tyE=tyE2, strE=V.STR strE2}) = (SEnv.numItems varE1 = SEnv.numItems varE2 andalso SEnv.numItems tyE1 = SEnv.numItems tyE2 andalso SEnv.numItems strE1 = SEnv.numItems strE2 andalso (SEnv.appi (fn (name, {env=env1, strKind}) => case SEnv.find(strE2, name) of NONE => raise Fail | SOME {env=env2, strKind} => if eqSize (env1, env2) then () else raise Fail) strE1; true ) ) handle Fail => false fun setEquiv ((typIdMap1,typIdMap2),id1,id2) = let val typIdMap1 = case TypID.Map.find(typIdMap1,id1) of SOME id3 => if TypID.eq(id2,id3) then typIdMap1 else raise Fail | NONE => TypID.Map.insert(typIdMap1, id1, id2) val typIdMap2 = case TypID.Map.find(typIdMap2,id2) of SOME id3 => if TypID.eq(id1,id3) then typIdMap2 else raise Fail | NONE => TypID.Map.insert(typIdMap2, id2, id1) in (typIdMap1, typIdMap2) end fun eqShapeTfunkind (tfunkind1, tfunkind2) typEquiv = case (tfunkind1, tfunkind2) of (I.TFUN_DTY {id=id1,...}, I.TFUN_DTY {id=id2,...}) => setEquiv(typEquiv, id1,id2) | (I.TFV_SPEC {id=id1,...}, I.TFV_SPEC {id=id2,...}) =>setEquiv(typEquiv, id1,id2) | (I.TFV_DTY {id=id1,...}, I.TFV_DTY {id=id2,...})=> setEquiv(typEquiv, id1,id2) | (I.FUN_DTY {tfun=tfun1, ...}, I.FUN_DTY{tfun=tfun2,...}) => eqShapeTfun (tfun2, tfun2) typEquiv | _ => raise Fail and eqShapeTfun (tfun1, tfun2) typEquiv = case (I.derefTfun tfun1, I.derefTfun tfun2) of (I.TFUN_DEF _,I.TFUN_DEF _) => typEquiv | (I.TFUN_VAR (ref tfunkind1), I.TFUN_VAR (ref tfunkind2)) => eqShapeTfunkind (tfunkind1, tfunkind2) typEquiv | _ => raise Fail fun eqShapeTstr (tstr1, tstr2) typEquiv = case (tstr1, tstr2) of (V.TSTR tfun1, V.TSTR tfun2) => eqShapeTfun (tfun1, tfun2) typEquiv | (V.TSTR_DTY {tfun=tfun1,...}, V.TSTR_DTY {tfun=tfun2,...}) => eqShapeTfun (tfun1, tfun2) typEquiv | _ => raise Fail fun eqShapeTyE (tyE1, tyE2) typEquiv = SEnv.foldli (fn (name, tstr1, typEquiv) => case SEnv.find(tyE2, name) of NONE => raise Fail | SOME tstr2 => eqShapeTstr (tstr1,tstr2) typEquiv ) typEquiv tyE1 fun eqShapeIdstatus (idstatus1, idstatus2) = case (idstatus1, idstatus2) of (I.IDSPECVAR _, I.IDSPECVAR _) => () | (I.IDSPECEXN _, I.IDSPECEXN _) => () | (I.IDSPECCON, I.IDSPECCON) => () | (I.IDVAR _,I.IDVAR _) => () | (I.IDVAR_TYPED _,I.IDVAR_TYPED _) => () | (I.IDEXVAR _,I.IDEXVAR _) => () | (I.IDEXVAR_TOBETYPED _,I.IDEXVAR_TOBETYPED _) => () | (I.IDBUILTINVAR _,I.IDBUILTINVAR _) => () | (I.IDCON _,I.IDCON _) => () | (I.IDEXN _,I.IDEXN _) => () | (I.IDEXNREP _,I.IDEXNREP _) => () | (I.IDEXEXN _,I.IDEXEXN _) => () | (I.IDEXEXNREP _,I.IDEXEXNREP _) => () | (I.IDOPRIM _,I.IDOPRIM _) => () | _ => raise Fail fun eqShapeVarE (varE1, varE2) = SEnv.appi (fn (name, idstatus1) => case SEnv.find(varE2, name) of SOME idstatus2 => eqShapeIdstatus (idstatus1, idstatus2) | NONE => raise Fail ) varE1 fun eqShapeEnv (V.ENV {varE=varE1, tyE=tyE1, strE=V.STR strE1}, V.ENV {varE=varE2, tyE=tyE2, strE=V.STR strE2}) typEquiv = let val _ = eqShapeVarE (varE1, varE2) val typEquiv = eqShapeTyE (tyE1,tyE2) typEquiv val typEquiv = eqShapeStrE (strE1,strE2) typEquiv in typEquiv end and eqShapeStrE (strE1, strE2) typEquiv = SEnv.foldli (fn (name, {env=env1, strKind}, typEquiv) => case SEnv.find(strE2, name) of SOME {env=env2, strKind=_} => eqShapeEnv(env1,env2) typEquiv | NONE => raise Fail ) typEquiv strE1 fun eqShape (env1,env2) = let val typEquiv = (TypID.Map.empty, TypID.Map.empty) in (eqShapeEnv (env1, env2) typEquiv; true) end handle Fail => false end end smlsharp-1.2.0/src/compiler/nameevaluation/main/NameEval.smi0000644 000000000000000000000370512050661606024247 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/PathEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../absyn/main/AbsynInterface.ppg.smi" _require "../../builtin2/main/BuiltinPrimitive.ppg.smi" _require "../../builtin2/main/BuiltinTypes.smi" _require "../../name/main/LocalID.smi" _require "../../types/main/EvalIty.smi" _require "../../types/main/Types.ppg.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../types/main/tvarMap.smi" _require "../../usererror/main/UserError.ppg.smi" _require "../../usererror/main/UserErrorUtils.smi" _require "../../util/main/utils.smi" _require "../../patterncalc/main/PatternCalc.ppg.smi" _require "../../patterncalc/main/PatternCalcInterface.ppg.smi" _require "CheckProvide.smi" _require "EvalSig.smi" _require "EvalTy.smi" _require "FunctorUtils.smi" _require "NameEvalEnv.ppg.smi" _require "NameEvalError.ppg.smi" _require "NameEvalInterface.smi" _require "NameEvalUtils.smi" _require "NormalizeTy.smi" _require "SetLiftedTys.smi" _require "SigCheck.smi" _require "Subst.smi" _require "TfunVars.smi" structure NameEval = struct val nameEval : {topEnv: NameEvalEnv.topEnv, version: int option, systemDecls: IDCalc.icdecl list} -> PatternCalcInterface.compileUnit -> NameEvalEnv.topEnv * IDCalc.topdecl * UserError.errorInfo list val evalRequire : NameEvalEnv.topEnv -> PatternCalcInterface.compileUnit -> NameEvalEnv.topEnv * IDCalc.icdecl list * UserError.errorInfo list val evalBuiltin : PatternCalcInterface.pitopdec list -> {Env:NameEvalEnv.env, FunE:NameEvalEnv.funEEntry SEnv.map, SigE:NameEvalEnv.env SEnv.map} * IDCalc.icdecl list end smlsharp-1.2.0/src/compiler/nameevaluation/main/NameEval.sml0000644 000000000000000000025324312050661606024256 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2012- Tohoku University. * @author Atsushi Ohori *) (* the initial error code of this file : 001 *) structure NameEval = struct local structure I = IDCalc structure BT = BuiltinTypes structure Ty = EvalTy structure ITy = EvalIty structure V = NameEvalEnv structure L = SetLiftedTys structure S = Subst structure TF = TfunVars structure P = PatternCalc structure PI = PatternCalcInterface structure U = NameEvalUtils structure EU = UserErrorUtils structure E = NameEvalError structure A = Absyn structure N = NormalizeTy structure Sig = EvalSig structure EI = NameEvalInterface structure CP = CheckProvide structure FU = FunctorUtils structure SC = SigCheck fun bug s = Control.Bug ("NameEval: " ^ s) val DUMMYIDFUN = "id" (* This is to avoid name conflict in functor names and variable names *) val FUNCORPREFIX = "_" exception Arity exception Eq exception Type exception Type1 exception Type2 exception Type3 exception Undef exception Rigid exception ProcessShare exception FunIDUndefind type path = string list val nilPath = nil : string list fun pathToString nil = "" | pathToString (h::t) = h ^ pathToString t fun generateFunVar path funIdPat = let fun stripTy pat = case pat of P.PLPATTYPED(pat, ty, loc) => let val (pat, tyList) = stripTy pat in (pat, ty::tyList) end | _ => (pat, nil) val (idPat, tyList) = stripTy funIdPat val {funVarInfo, funName, tyList} = case idPat of P.PLPATID ([funName], loc) => {funVarInfo={path=path@[funName], id=VarID.generate()}, funName=funName, tyList=tyList } | _ => (EU.enqueueError (P.getLocPat funIdPat, E.IlleagalFunID ("010",{pat = funIdPat})); {funVarInfo = {path=path @ ["_"], id = VarID.generate()}, funName = "_", tyList=nil } ) in {name = funName, varInfo = funVarInfo, tyList=tyList} end (* type function variable substitution *) type tfvSubst = (I.tfunkind ref) TfvMap.map fun evalPlpat path (tvarEnv:Ty.tvarEnv) (env:V.env) plpat : V.env * I.icpat = let val evalPat = evalPlpat path tvarEnv env fun evalTy' ty = Ty.evalTy tvarEnv env ty fun checkIdstatus NONE = true | checkIdstatus (SOME (I.IDVAR _)) = true | checkIdstatus (SOME (I.IDVAR_TYPED _)) = true | checkIdstatus (SOME (I.IDEXVAR {used,...})) = (used:=true; true) | checkIdstatus (SOME (I.IDEXVAR_TOBETYPED _)) = raise bug "IDEXVAR_TOBETYPED" | checkIdstatus (SOME (I.IDBUILTINVAR _)) = true | checkIdstatus (SOME (I.IDCON _)) = false | checkIdstatus (SOME (I.IDEXN _)) = false | checkIdstatus (SOME (I.IDEXNREP _)) = false | checkIdstatus (SOME (I.IDEXEXN {used,...})) = (used:=true; false) | checkIdstatus (SOME (I.IDEXEXNREP {used,...})) = (used:=true; false) | checkIdstatus (SOME (I.IDOPRIM {used,...})) = (used:=true; true) | checkIdstatus (SOME (I.IDSPECVAR _)) = raise bug "spec idstatus" | checkIdstatus (SOME (I.IDSPECEXN _)) = raise bug "spec idstatus" | checkIdstatus (SOME I.IDSPECCON) = raise bug "spec idstatus" in case plpat of P.PLPATWILD loc => (V.emptyEnv, I.ICPATWILD loc) | P.PLPATID (longid, loc) => let fun makeCon identry = case identry of SOME (I.IDCON {id, ty}) => I.ICPATCON ({id=id,path=longid, ty=ty}, loc) | SOME (I.IDEXN {id,ty})=> I.ICPATEXN ({id=id,ty=ty, path=longid}, loc) | SOME (I.IDEXNREP {id,ty})=> I.ICPATEXN ({id=id,ty=ty, path=longid}, loc) | SOME (I.IDEXEXN {path,ty, used, loc=_, version})=> let val path = I.setVersion(path, version) in (used := true; I.ICPATEXEXN ({path=path, ty=ty}, loc) ) end | SOME (I.IDEXEXNREP {path,ty, used, loc=_, version})=> let val path = I.setVersion(path, version) in (used := true; I.ICPATEXEXN ({path=path, ty=ty}, loc) ) end | SOME (I.IDBUILTINVAR _) => raise bug "IDBUILTINVAR to makeCon" | SOME (I.IDVAR _) => raise bug "IDVAR to makeCon" | SOME (I.IDVAR_TYPED _) => raise bug "IDVAR_TYPED to makeCon" | SOME (I.IDEXVAR _) => raise bug "IDEXVAR to makeCon" | SOME (I.IDEXVAR_TOBETYPED _) => raise bug "IDEXVAR_TOBETYPED to makeCon" | SOME (I.IDOPRIM _) => raise bug "IDOPRIM to makeCon" | SOME (I.IDSPECVAR _)=> raise bug "spec status to makeCon" | SOME (I.IDSPECEXN _)=> raise bug "spec status to makeCon" | SOME I.IDSPECCON=> raise bug "spec status to makeCon" | NONE => raise bug "NONE to makeCon" in case longid of nil => raise bug "empty longid" | [name] => let val identry = V.findId (env, longid) in if checkIdstatus identry then let val varId = VarID.generate() val varInfo = {path=path@longid, id=varId} val env = V.rebindId(V.emptyEnv, name, I.IDVAR varId) in (env, I.ICPATVAR (varInfo, loc)) end else (V.emptyEnv, makeCon identry) end | _ :: _ => let val identry = V.findId (env, longid) in if checkIdstatus identry then ( (EU.enqueueError (loc, E.ConNotFound("020", {longid = longid})); (V.emptyEnv, I.ICPATERROR loc) ) ) else (V.emptyEnv, makeCon identry) end end | P.PLPATCONSTANT (constant, loc) => (V.emptyEnv, I.ICPATCONSTANT(constant,loc)) | P.PLPATCONSTRUCT (plpat1, plpat2, loc) => let val (env1, icpat1) = evalPat plpat1 val (env2, icpat2) = evalPat plpat2 val env = V.unionEnv "200" loc (env1, env2) fun stripTy icpat tyList = case icpat of I.ICPATTYPED (icpat, ty, loc) => stripTy icpat (tyList@[ty]) | _ => (icpat, tyList) val (icpat3, _) = stripTy icpat1 nil val icpat1 = case icpat3 of I.ICPATERROR loc => icpat1 | I.ICPATWILD loc => (EU.enqueueError (loc, E.NonConstructor("030",{pat = plpat})); I.ICPATERROR loc) | I.ICPATVAR _ => (EU.enqueueError (loc, E.NonConstructor("040", {pat = plpat})); I.ICPATERROR loc) | I.ICPATCON (conInfo, loc) => icpat1 | I.ICPATEXN (exnInfo, loc) => icpat1 | I.ICPATEXEXN ({path, ty}, loc) => icpat1 | I.ICPATCONSTANT (constant, loc) => (EU.enqueueError (loc, E.NonConstructor("050", {pat = plpat})); I.ICPATERROR loc) | I.ICPATCONSTRUCT {con, arg, loc} => (EU.enqueueError (loc, E.NonConstructor("060", {pat = plpat})); I.ICPATERROR loc) | I.ICPATRECORD {flex, fields, loc} => (EU.enqueueError (loc, E.NonConstructor("070", {pat = plpat})); I.ICPATERROR loc) | I.ICPATLAYERED {patVar, tyOpt, pat, loc} => (EU.enqueueError (loc, E.NonConstructor("080", {pat = plpat})); I.ICPATERROR loc) | I.ICPATTYPED (icpat, ty, loc) => raise bug "icpattyped again" in (env, I.ICPATCONSTRUCT {con=icpat1, arg=icpat2, loc=loc}) end | P.PLPATRECORD (bool, patfieldList, loc) => let fun evalField (l,pat) = let val (returnEnv, icpat) = evalPat pat in (returnEnv, (l, icpat)) end val _ = EU.checkNameDuplication (fn (name, _) => name) patfieldList loc (fn s => E.DuplicateRecordLabelInPat("085",s)) val (returnEnv, icpatfieldList) = U.evalList {eval=evalField, emptyEnv=V.emptyEnv, unionEnv=V.unionEnv "201" loc} patfieldList in (returnEnv, I.ICPATRECORD {flex=bool, fields=icpatfieldList, loc=loc} ) end | P.PLPATLAYERED (string, tyOption, plpat, loc) => let val identry = V.findId (env, [string]) val varId = if checkIdstatus identry then VarID.generate() else (EU.enqueueError (loc, E.VarPatExpected("090", {longid = [string]})); VarID.generate()) val varInfo = {path = path@[string], id = varId} val returnEnv = V.rebindId(V.emptyEnv, string, I.IDVAR varId) val tyOption = Option.map evalTy' tyOption val (env1, icpat) = evalPat plpat val returnEnv = V.unionEnv "202" loc (returnEnv, env1) in (returnEnv, I.ICPATLAYERED {patVar=varInfo,tyOpt=tyOption,pat=icpat,loc=loc}) end | P.PLPATTYPED (plpat, ty, loc) => let val (returnEnv, icpat) = evalPat plpat val ty = evalTy' ty in (returnEnv, I.ICPATTYPED (icpat, ty, loc)) end end (* change exception status to EXREP *) fun exceptionRepVarE varE = SEnv.map (fn (I.IDEXN info) => I.IDEXNREP info (* 2012-9-25 ohori added to fixe 241_functorExn bug *) | (I.IDEXEXN info) => I.IDEXEXNREP info | (idstatus as I.IDEXVAR {used, ...}) => (used := true; idstatus) | idstatus => idstatus) varE fun exceptionrepStrEntry {env=V.ENV {varE, tyE, strE}, strKind} = let val varE = exceptionRepVarE varE val strE = exceptionRepStrE strE in {env=V.ENV{varE = varE, tyE = tyE, strE=strE}, strKind=strKind} end and exceptionRepStrE (V.STR envMap) = let val envMap = SEnv.map exceptionrepStrEntry envMap in V.STR envMap end fun optimizeValBind (icpat, icexp) (icpatIcexpListRev, env) = case icpat of I.ICPATVAR (varInfo as {path,...}, loc) => let val name = List.last path in (case icexp of I.ICVAR (varInfo, loc) => (icpatIcexpListRev, V.rebindId(env, name, I.IDVAR (#id varInfo))) | I.ICEXVAR ({path,ty},loc) => (icpatIcexpListRev, V.rebindId(env, name, I.IDEXVAR {path=path, ty=ty, used=ref false, loc=loc, version=NONE, internalId=NONE} (* used flag is only relevant for those in topEnv *) )) | I.ICBUILTINVAR {primitive, ty, loc} => (icpatIcexpListRev, V.rebindId(env, name, I.IDBUILTINVAR {primitive=primitive, ty=ty})) | _ => ((icpat, icexp)::icpatIcexpListRev, env) ) end | _ => ((icpat, icexp)::icpatIcexpListRev, env) fun makeCastExp (tfvSubst, icexp) loc = let val castList = TfvMap.foldri (fn (fromTfv, toTfv, castList) => {from=I.TFUN_VAR fromTfv, to=I.TFUN_VAR toTfv} :: castList ) nil tfvSubst in I.ICTYCAST (castList, icexp, loc) end fun makeCastDec (tfvSubst, icdeclList) loc = let val castList = TfvMap.foldri (fn (fromTfv, toTfv, castList) => {from=I.TFUN_VAR fromTfv, to=I.TFUN_VAR toTfv} :: castList ) nil tfvSubst in [I.ICTYCASTDECL (castList, icdeclList, loc)] end (* P.PLCOREDEC (pdecl, loc) *) fun evalPdecl (path:I.path) (tvarEnv:Ty.tvarEnv) (env:V.env) pdecl : V.env * I.icdecl list = case pdecl of P.PDVAL(scopedTvars, plpatPlexpList, loc) => let val (tvarEnv, scopedTvars) = Ty.evalScopedTvars loc tvarEnv env scopedTvars val (returnEnv, icpatIcexpListRev) = foldl (fn ((plpat, plexp), (returnEnv, icpatIcexpListRev)) => let val icexp = evalPlexp tvarEnv env plexp val (newEnv, icpat) = evalPlpat path tvarEnv env plpat val (icpatIcexpListRev, newEnv) = optimizeValBind (icpat, icexp) (icpatIcexpListRev, newEnv) val returnEnv = V.unionEnv "203" loc (returnEnv, newEnv) in (* (returnEnv, (icpat, icexp)::icpatIcexpListRev) *) (returnEnv, icpatIcexpListRev) end ) (V.emptyEnv, nil) plpatPlexpList val icdecls = if List.null icpatIcexpListRev then nil else[I.ICVAL (scopedTvars, List.rev icpatIcexpListRev, loc)] in (returnEnv,icdecls) end | P.PDDECFUN (scopedTvars, fundeclList, loc) => let val (tvarEnv, guard) = Ty.evalScopedTvars loc tvarEnv env scopedTvars val declList = map (fn (x,y)=>(generateFunVar path x,y)) fundeclList val _ = EU.checkNameDuplication (fn ({name, varInfo, tyList}, rules) => name) declList loc (fn s => E.DuplicateFunVarInFunDecl("100",s)) val returnEnv = foldl (fn (({name, varInfo, ...}, _), returnEnv) => V.rebindId(returnEnv, name, I.IDVAR (#id varInfo)) ) V.emptyEnv declList val evalEnv = V.envWithEnv (env, returnEnv) val fundeclList = map (fn ({name, varInfo, tyList}, rules) => {funVarInfo = varInfo, tyList = map (Ty.evalTy tvarEnv env) tyList, rules = map (evalRule tvarEnv evalEnv loc) rules } ) declList in (returnEnv, [I.ICDECFUN{guard=guard, funbinds=fundeclList, loc=loc}]) end | P.PDVALREC (scopedTvars, plpatPlexpList, loc) => let val (tvarEnv, guard) = Ty.evalScopedTvars loc tvarEnv env scopedTvars val recList = map (fn(x,y) => (generateFunVar path x,y)) plpatPlexpList val _ = EU.checkNameDuplication (fn ({name, varInfo, tyList}, body) => name) recList loc (fn s => E.DuplicateVarInRecDecl("110",s)) val returnEnv = foldl (fn (({name, varInfo, ...}, _),returnEnv) => (V.rebindId(returnEnv, name, I.IDVAR (#id varInfo))) ) V.emptyEnv recList val evalEnv = V.envWithEnv (env, returnEnv) val recbindList = map (fn ({name, varInfo, tyList}, body) => {varInfo = varInfo, tyList = map (Ty.evalTy tvarEnv env) tyList, body = evalPlexp tvarEnv evalEnv body} ) recList in (returnEnv, [I.ICVALREC {guard=guard, recbinds=recbindList, loc=loc}]) end | P.PDTYPE (typbindList, loc) => let val _ = EU.checkNameDuplication (fn (tvarList, string, ty) => string) typbindList loc (fn s => E.DuplicateTypName("120", s)) val returnEnv = foldl (fn ((tvarList, string, ty), returnEnv) => let val _ = EU.checkNameDuplication (fn {name, eq} => name) tvarList loc (fn s => E.DuplicateTypParms("130",s)) val (tvarEnv, tvarList) = Ty.genTvarList tvarEnv tvarList val ty = Ty.evalTy tvarEnv env ty val tfun = case N.tyForm tvarList ty of N.TYNAME tfun => tfun | N.TYTERM ty => let val iseq = N.admitEq tvarList ty val tfun = I.TFUN_DEF {iseq=iseq, formals=tvarList, realizerTy=ty } in tfun end in V.rebindTstr (returnEnv, string, V.TSTR tfun) end ) V.emptyEnv typbindList in (returnEnv, nil) end | P.PDDATATYPE (datadeclList, loc) => Ty.evalDatatype path env (datadeclList, loc) | P.PDREPLICATEDAT (string, longid, loc) => (case (V.findTstr (env, longid)) handle e => raise e of NONE => (EU.enqueueError (loc, E.DataTypeNameUndefined("140", {longid = longid})); (V.emptyEnv, nil)) | SOME tstr => let val returnEnv = V.rebindTstr(V.emptyEnv, string, tstr) val varE = case tstr of V.TSTR tfun => SEnv.empty | V.TSTR_DTY {varE,...} => varE val returnEnv = V.envWithVarE(returnEnv, varE) in (returnEnv, nil) end ) | P.PDABSTYPE (datadeclList, pdeclList, loc) => let fun abstractTfun tfun tfvSubst = case tfun of I.TFUN_VAR (tfv as (ref (I.TFUN_DTY {id, iseq, conSpec, originalPath, runtimeTy, formals, liftedTys, dtyKind }) ) ) => if TfvMap.inDomain(tfvSubst, tfv) then tfvSubst else let val id = TypID.generate() val tfunkind = I.TFUN_DTY {id = id, iseq = false, conSpec = SEnv.empty, originalPath = originalPath, runtimeTy = runtimeTy, formals = formals, liftedTys = liftedTys, dtyKind = I.OPAQUE {tfun=tfun, revealKey = RevealID.generate()} } val newTfv = ref tfunkind in TfvMap.insert(tfvSubst, tfv, newTfv) end | _ => raise bug "PDABSTYPE: non TFUN_DTY in evalDatatype" fun abstractTstr tstr tfvSubst = case tstr of V.TSTR tfun => raise bug "PDABSTYPE:TSRT in evalDatatype" | V.TSTR_DTY {tfun, varE, formals, conSpec} => abstractTfun tfun tfvSubst fun abstractTyE tyE tfvSubst = SEnv.foldl (fn (tstr, tfvSubst) => abstractTstr tstr tfvSubst) tfvSubst tyE val (env1 as V.ENV {varE, tyE, strE}, _) = Ty.evalDatatype path env (datadeclList, loc) val evalEnv = V.envWithEnv (env, env1) val (newEnv, icdeclList) = evalPdeclList path tvarEnv evalEnv pdeclList val absEnv = V.ENV{varE=SEnv.empty, tyE=tyE, strE=V.STR SEnv.empty} val returnEnv = V.envWithEnv (absEnv, newEnv) val tfvSubst = abstractTyE tyE TfvMap.empty val icdeclList = makeCastDec (tfvSubst, icdeclList) loc val returnEnv = S.substTfvEnv tfvSubst returnEnv in (returnEnv, icdeclList) end | P.PDEXD (plexbindList, loc) => let val _ = EU.checkNameDuplication (fn P.PLEXBINDDEF (name, _,_) => name | P.PLEXBINDREP (name,_,_) => name) plexbindList loc (fn s => E.DuplicateExnName("150",s)) val (exEnv, exdeclList) = foldl (fn (plexbind, (exEnv, exdeclList)) => case plexbind of P.PLEXBINDDEF (string, tyOption, loc) => let val ty = case tyOption of NONE => BT.exnITy | SOME ty => I.TYFUNM([Ty.evalTy tvarEnv env ty], BT.exnITy) val newExnId = ExnID.generate() val exnInfo = {path=path@[string], ty=ty, id=newExnId} val exEnv = V.rebindId(exEnv, string, I.IDEXN {id=newExnId,ty=ty}) in (exEnv, exdeclList@[{exnInfo=exnInfo,loc=loc}] ) end | P.PLEXBINDREP (string, longid, loc) => case V.findId (env, longid) of NONE => (EU.enqueueError (loc,E.ExnUndefined("160",{longid = longid})); (exEnv, exdeclList) ) | SOME(I.IDEXN exnInfo) => (V.rebindId(exEnv, string, I.IDEXNREP exnInfo), exdeclList) | SOME(idstatus as I.IDEXNREP _) => (V.rebindId(exEnv, string, idstatus), exdeclList) | SOME(idstatus as I.IDEXEXN (exExnInfo as {used,...})) => (* 2012-9-25 ohori bug 237_functorExn: (used := true; (V.rebindId(exEnv, string, idstatus), exdeclList) ) *) (used := true; (V.rebindId(exEnv, string, I.IDEXEXNREP exExnInfo), exdeclList) ) | SOME(idstatus as I.IDEXEXNREP {used,...}) => (* FIXME 2012-1-31; This case was missing. Is this an error *) (used := true; (V.rebindId(exEnv, string, idstatus), exdeclList) ) | _ => (EU.enqueueError (loc, E.ExnExpected("170", {longid = longid})); (exEnv, exdeclList) ) ) (V.emptyEnv, nil) plexbindList in (exEnv, [I.ICEXND (exdeclList, loc)]) end | P.PDLOCALDEC (pdeclList1, pdeclList2, loc) => let val (env1, icdeclList1) = evalPdeclList path tvarEnv env pdeclList1 val evalEnv = V.envWithEnv (env, env1) val (env2, icdeclList2) = evalPdeclList path tvarEnv evalEnv pdeclList2 in (env2, icdeclList1@icdeclList2) end | P.PDOPEN (longidList, loc) => let val returnEnv = foldl (fn (longid, returnEnv) => let val strEntry = V.lookupStr env longid val {env, strKind} = exceptionrepStrEntry strEntry (* bug 170_open *) in V.envWithEnv (returnEnv, env) end handle V.LookupStr => (EU.enqueueError (loc, E.StrNotFound("180", {longid = longid})); returnEnv) ) V.emptyEnv longidList in (returnEnv, nil) end | P.PDINFIXDEC(int, stringList, loc) => (V.emptyEnv, nil) | P.PDINFIXRDEC(int,stringList,loc) => (V.emptyEnv, nil) | P.PDNONFIXDEC(stringList, loc) => (V.emptyEnv, nil) | P.PDEMPTY => (V.emptyEnv, nil) and evalPdeclList (path:I.path) (tvarEnv:Ty.tvarEnv) (env:V.env) pdeclList : V.env * I.icdecl list = let val (returnEnv, icdeclList) = foldl (fn (pdecl, (returnEnv, icdeclList)) => let val evalEnv = V.envWithEnv (env, returnEnv) val (newEnv, icdeclList1) = evalPdecl path tvarEnv evalEnv pdecl val retuernEnv = V.envWithEnv (returnEnv, newEnv) in (retuernEnv, icdeclList@icdeclList1) end ) (V.emptyEnv, nil) pdeclList in (returnEnv, icdeclList) end and evalPlexp (tvarEnv:Ty.tvarEnv) (env:V.env) plexp : I.icexp = let val evalExp = evalPlexp tvarEnv env val evalPat = evalPlpat nilPath tvarEnv env fun evalTy' ty = Ty.evalTy tvarEnv env ty in case plexp of P.PLCONSTANT (constant, loc) => I.ICCONSTANT (constant, loc) | P.PLGLOBALSYMBOL (string, globalSymbolKind, loc) => I.ICGLOBALSYMBOL (string, globalSymbolKind, loc) | P.PLVAR (path, loc) => (let val idstatus = V.lookupId env path fun mkInfo id = ({id=id, path=path}, loc) in case idstatus of I.IDVAR id => I.ICVAR (mkInfo id) | I.IDVAR_TYPED {id, ty} => I.ICVAR (mkInfo id) | I.IDEXVAR {path, ty, used, loc=_, version, internalId} => let val path = I.setVersion(path, version) in (used := true; I.ICEXVAR ({path=path, ty=ty},loc) ) end | I.IDEXVAR_TOBETYPED _ => raise bug "IDEXVAR_TOBETYPED" | I.IDBUILTINVAR {primitive, ty} => I.ICBUILTINVAR {primitive=primitive, ty=ty, loc=loc} | I.IDOPRIM {id, overloadDef, used, loc} => let fun touchDecl decl = case decl of I.ICOVERLOADDEF {overloadCase, ...} => touchOverloadCase overloadCase | _ => () and touchOverloadCase {tvar, expTy,matches, loc} = app touchMatch matches and touchMatch {instTy, instance} = touchInstance instance and touchInstance instance = case instance of I.INST_OVERLOAD overloadCase => touchOverloadCase overloadCase | I.INST_EXVAR ({path, used, ty}, loc) => used := true | I.INST_PRIM _ => () val _ = touchDecl overloadDef in (used := true; I.ICOPRIM (mkInfo id)) end | I.IDCON {id,ty} => I.ICCON ({id=id, path=path, ty=ty}, loc) | I.IDEXN {id,ty} => I.ICEXN ({id=id,ty=ty, path=path}, loc) | I.IDEXNREP {id,ty} => I.ICEXN ({id=id,ty=ty, path=path}, loc) | I.IDEXEXN {path,ty, used, loc, version} => let val path = I.setVersion(path, version) in (used := true; I.ICEXEXN ({path=path,ty=ty}, loc) ) end | I.IDEXEXNREP {path,ty, used, loc, version} => let val path = I.setVersion(path, version) in (used := true; I.ICEXEXN ({path=path,ty=ty}, loc) ) end | I.IDSPECVAR _ => raise bug "SPEC id status" | I.IDSPECEXN _ => raise bug "SPEC id status" | I.IDSPECCON => raise bug "SPEC id status" end handle V.LookupId => (EU.enqueueError (loc, E.VarNotFound("190",{longid=path})); I.ICVAR ({path=path, id = VarID.generate()},loc) ) ) | P.PLTYPED (plexp, ty, loc) => I.ICTYPED (evalExp plexp, evalTy' ty, loc) | P.PLAPPM (plexp, plexpList, loc) => I.ICAPPM (evalExp plexp, map evalExp plexpList, loc) | P.PLLET (pdeclList, plexpList, loc) => let val (newEnv, icdeclList) = evalPdeclList nilPath tvarEnv env pdeclList val evalEnv = V.envWithEnv (env, newEnv) in I.ICLET (icdeclList, map (evalPlexp tvarEnv evalEnv) plexpList, loc) end | P.PLRECORD (expfieldList, loc) => let val _ = EU.checkNameDuplication (fn (name, _) => name) expfieldList loc (fn s => E.DuplicateRecordLabelInExp("192",s)) val expfieldList = map (fn (l, exp)=>(l,evalExp exp)) expfieldList in I.ICRECORD (expfieldList, loc) end | P.PLRECORD_UPDATE (plexp, expfieldList, loc) => let val icexp = evalExp plexp val _ = EU.checkNameDuplication (fn (name, _) => name) expfieldList loc (fn s => E.DuplicateRecordLabelInUpdate("194",s)) val expfieldList = map (fn (l, exp)=>(l,evalExp exp)) expfieldList in I.ICRECORD_UPDATE (icexp, expfieldList, loc) end | P.PLRAISE (plexp, loc) => I.ICRAISE (evalExp plexp, loc) | P.PLHANDLE (plexp, plpatPlexpList, loc) => I.ICHANDLE ( evalExp plexp, map (fn (plpat, plexp) => let val (newEnv, icpat) = evalPat plpat in ( icpat, evalPlexp tvarEnv (V.envWithEnv (env, newEnv)) plexp ) end ) plpatPlexpList, loc ) | P.PLFNM (ruleList, loc) => I.ICFNM(map (evalRule tvarEnv env loc) ruleList, loc) | P.PLCASEM (plexpList, ruleList, caseKind, loc) => I.ICCASEM ( map evalExp plexpList, map (evalRule tvarEnv env loc) ruleList, caseKind, loc ) | P.PLRECORD_SELECTOR (string,loc) => I.ICRECORD_SELECTOR (string, loc) | P.PLSELECT (string,plexp,loc) => I.ICSELECT(string,evalExp plexp,loc) | P.PLSEQ (plexpList, loc) => I.ICSEQ (map evalExp plexpList, loc) | P.PLCAST (plexp, loc) => I.ICCAST (evalExp plexp, loc) | P.PLFFIIMPORT (plexp, ffiTy, loc) => let val ffiTy = Ty.evalFfity tvarEnv env ffiTy in I.ICFFIIMPORT(evalPlexp tvarEnv env plexp, ffiTy, loc) end | P.PLFFIEXPORT (plexp, ffiTy, loc) => let val ffiTy = Ty.evalFfity tvarEnv env ffiTy in I.ICFFIEXPORT(evalPlexp tvarEnv env plexp, ffiTy, loc) end | P.PLFFIAPPLY (ffiAttributes, plexp, ffiArgList, ffiTy, loc) => let fun evalFfiArg ffiArg = case ffiArg of P.PLFFIARG (plexp, ffiTy, loc) => I.ICFFIARG(evalExp plexp, Ty.evalFfity tvarEnv env ffiTy, loc) | P.PLFFIARGSIZEOF (ty, plexpOption, loc) => I.ICFFIARGSIZEOF ( evalTy' ty, Option.map evalExp plexpOption, loc ) in I.ICFFIAPPLY ( ffiAttributes, evalExp plexp, map evalFfiArg ffiArgList, Ty.evalFfity tvarEnv env ffiTy, loc ) end | P.PLSQLSERVER (str, ty, loc) => I.ICSQLSERVER (str, evalTy' ty, loc) | P.PLSQLDBI (plpat, plexp, loc) => let val (newEnv, icpat) = evalPat plpat val evalEnv = V.envWithEnv (env, newEnv) in I.ICSQLDBI(icpat, evalPlexp tvarEnv evalEnv plexp, loc) end end and evalRule (tvarEnv:Ty.tvarEnv) (env: V.env) loc (plpatList, plexp) = let val (newEnv, icpatList) = U.evalList {emptyEnv=V.emptyEnv, eval=evalPlpat nilPath tvarEnv env, unionEnv=V.unionEnv "204" loc} plpatList val evalEnv = V.envWithEnv (env, newEnv) in {args=icpatList, body=evalPlexp tvarEnv evalEnv plexp} end fun evalPlstrdec (topEnv:V.topEnv) path plstrdec : V.env * I.icdecl list = case plstrdec of P.PLCOREDEC (pdecl, loc) => evalPdecl path Ty.emptyTvarEnv (#Env topEnv) pdecl | P.PLSTRUCTBIND (stringPlstrexpList, loc) => let val _ = EU.checkNameDuplication #1 stringPlstrexpList loc (fn s => E.DuplicateStrName("420",s)) in foldl (fn ((string, plstrexp), (returnEnv, icdeclList)) => let val (strEnv, icdeclList1) = evalPlstrexp topEnv (path@[string]) plstrexp val returnEnv = V.rebindStr (returnEnv, string, strEnv) in (returnEnv, icdeclList@icdeclList1) end ) (V.emptyEnv, nil) stringPlstrexpList end | P.PLSTRUCTLOCAL (plstrdecList1, plstrdecList2, loc) => let fun evalList topEnv plstrdecList = foldl (fn (plstrdec, (returnEnv, icdeclList)) => let val evalEnv = V.topEnvWithEnv (topEnv, returnEnv) val (newEnv, icdeclList1) = evalPlstrdec evalEnv path plstrdec in (V.envWithEnv (returnEnv, newEnv), icdeclList@icdeclList1) end ) (V.emptyEnv, nil) plstrdecList val (returnEnv1,icdeclList1) = evalList topEnv plstrdecList1 val evalTopEnv = V.topEnvWithEnv(topEnv, returnEnv1) val (returnEnv2,icdeclList2) = evalList evalTopEnv plstrdecList2 in (returnEnv2, icdeclList1 @ icdeclList2) end and evalPlstrexp (topEnv as {Env = env, FunE, SigE}) path plstrexp : V.strEntry * I.icdecl list = case plstrexp of (* struct ... end *) P.PLSTREXPBASIC (plstrdecList, loc) => let val strKind = V.STRENV (StructureID.generate()) val (returnEnv, icdeclList) = foldl (fn (plstrdec, (returnEnv, icdeclList)) => let val evalTopEnv = V.topEnvWithEnv (topEnv, returnEnv) val (returnEnv1, icdeclList1) = evalPlstrdec evalTopEnv path plstrdec in (V.envWithEnv(returnEnv, returnEnv1), icdeclList @ icdeclList1 ) end ) (V.emptyEnv, nil) plstrdecList in ({env=returnEnv, strKind=strKind}, icdeclList) end | P.PLSTRID (longid, loc) => (let val strEntry = V.lookupStr env longid val strEntry = exceptionrepStrEntry strEntry in (strEntry, nil) end handle V.LookupStr => (EU.enqueueError (loc, E.StrNotFound("430",{longid = longid})); ({env=V.emptyEnv, strKind=V.STRENV(StructureID.generate())}, nil) ) ) | P.PLSTRTRANCONSTRAINT (plstrexp, plsigexp, loc) => ( let val ({env=strEnv,strKind=_}, icdeclList1) = evalPlstrexp topEnv path plstrexp val specEnv = Sig.evalPlsig topEnv plsigexp val specEnv = #2 (Sig.refreshSpecEnv specEnv) val strKind = V.STRENV (StructureID.generate()) val (returnEnv, specDeclList2) = SC.sigCheck {mode = SC.Trans, strPath = path, strEnv = strEnv, specEnv = specEnv, loc = loc } in ({env=returnEnv,strKind=strKind}, icdeclList1 @ specDeclList2) end handle SC.SIGCHECK => ({env=V.emptyEnv, strKind=V.STRENV(StructureID.generate())}, nil) ) | P.PLSTROPAQCONSTRAINT (plstrexp, plsigexp, loc) => ( let val ({env=strEnv, strKind=_}, icdeclList1) = evalPlstrexp topEnv path plstrexp val specEnv = Sig.evalPlsig topEnv plsigexp val specEnv = #2 (Sig.refreshSpecEnv specEnv) val strKind = V.STRENV (StructureID.generate()) val (returnEnv, specDeclList2) = SC.sigCheck {mode = SC.Opaque, strPath = path, strEnv = strEnv, specEnv = specEnv, loc = loc } in ({env=returnEnv,strKind=strKind}, icdeclList1 @ specDeclList2) end handle SC.SIGCHECK => ({env=V.emptyEnv, strKind=V.STRENV(StructureID.generate())}, nil) ) | P.PLFUNCTORAPP (string, argPath, loc) => let val {env, icdecls, funId, argId} = applyFunctor topEnv (path, string, argPath, loc) val structureId = StructureID.generate() val strKind = V.FUNAPP {id=structureId, funId=funId, argId=argId} in ({env=env, strKind=strKind}, icdecls) end | P.PLSTRUCTLET (plstrdecList, plstrexp, loc) => let val (returnEnv1, icdeclList1) = foldl (fn (plstrdec, (returnEnv1, icdeclList1)) => let val evalTopEnv = V.topEnvWithEnv (topEnv, returnEnv1) val (newReturnEnv, newIcdeclList) = evalPlstrdec evalTopEnv nilPath plstrdec in (V.envWithEnv (returnEnv1, newReturnEnv), icdeclList1 @ newIcdeclList) end ) (V.emptyEnv, nil) plstrdecList val evalEnv = V.topEnvWithEnv(topEnv, returnEnv1) val (strEntry, icdeclList2) = evalPlstrexp evalEnv path plstrexp in (strEntry, icdeclList1 @ icdeclList2) end and applyFunctor (topEnv as {Env = env, FunE, SigE}) (copyPath, funName, argPath, loc) : {env:V.env, icdecls:I.icdecl list, funId:FunctorID.id, argId:StructureID.id} = let (* 1. eliminate TSTR_TOTVAR and generate tvarSubst; TSTR_TOTVAR tvar vs TSTR tfun => (a) tstr: TSTR tfun (b) tvarSubst: tvar -> TYCONSTRUCT ... TSTR_TOTVAR tvar vs TSTR_TOTVAR (a) tstr: TSTR_TOTVAR (b) tvarSubst: tvar -> TYVAR ... In the latter case, tstr becomes TSTR (TFUN_DEF ...) 2. process TFUN_DTYs (a) TFUN_DTY (not dummy) vs TFUN_DTY update DTY to actual DTY returns tfvSubst for generating castDecls (b) TFUN_DTY (dummy) vs TFUN_DTY update DTY to actual DTY returns tfvSubst for generating castDecls (b) TFUN_DTY (dummy) vs TFUN_DEF check that DEF is boxed then update DTY to actual DEF returns tfvSubst for generating castDecls 3. apply tvarSubst to the updated env *) fun instVarE (varE,actualVarE) {tvarS, conIdS, exnIdS} = let val conIdS = SEnv.foldri (fn (name, idstatus, conIdS) => case idstatus of I.IDCON {id, ty} => (case SEnv.find(actualVarE, name) of SOME (idstatus as I.IDCON _) => ConID.Map.insert(conIdS, id, idstatus) | SOME actualIdstatus => raise bug "non conid" | NONE => raise bug "conid not found in instVarE" ) | _ => conIdS) conIdS varE in {tvarS=tvarS, exnIdS=exnIdS, conIdS=conIdS} end fun instTfun path (tfun, actualTfun) (subst as {tvarS, conIdS, exnIdS}) = let val tfun = I.derefTfun tfun val actualTfun = I.derefTfun actualTfun in case tfun of I.TFUN_VAR (tfv1 as ref (oldTfunKind as I.TFUN_DTY {dtyKind,...})) => (case actualTfun of I.TFUN_VAR(tfv2 as ref (tfunkind as I.TFUN_DTY _)) => (* The tfvS generated by instEnv is the identity and this does not make sense. *) (tfv1 := tfunkind; {tvarS=tvarS, exnIdS=exnIdS, conIdS=conIdS} ) | I.TFUN_DEF _ => (case dtyKind of I.FUNPARAM => (EU.enqueueError (loc, E.FunctorParamRestriction("440",{longid=path})); subst) | _ => raise bug "tfun def" ) | I.TFUN_VAR _ => raise bug "tfun var" ) | I.TFUN_DEF{iseq, formals=nil, realizerTy= I.TYVAR tvar} => let val ty =I.TYCONSTRUCT{tfun=actualTfun,args=nil} val ty = N.reduceTy TvarMap.empty ty in {tvarS=TvarMap.insert(tvarS,tvar,ty), conIdS=conIdS, exnIdS=exnIdS } end | _ => subst end fun instTstr path (tstr, actualTstr) (subst as {tvarS,conIdS, exnIdS}) = ( case tstr of V.TSTR tfun => ( case actualTstr of V.TSTR actualTfun => instTfun path (tfun, actualTfun) subst | V.TSTR_DTY {tfun=actualTfun,...} => instTfun path (tfun, actualTfun) subst ) | V.TSTR_DTY {tfun,varE,...} => ( case actualTstr of V.TSTR actualTfun => raise bug "TSTR_DTY vs TST" | V.TSTR_DTY {tfun=actualTfun,varE=actualVarE,...} => let val subst = instTfun path (tfun, actualTfun) subst in instVarE (varE, actualVarE) subst end ) ) fun instTyE path (tyE, actualTyE) subst = SEnv.foldri (fn (name, tstr, subst) => let val actualTstr = case SEnv.find(actualTyE, name) of SOME tstr => tstr | NONE => ( raise bug "tstr not found" ) in instTstr (path@[name]) (tstr, actualTstr) subst end ) subst tyE fun instEnv path (argEnv, actualArgEnv) subst = let val V.ENV{tyE, strE,...} = argEnv val V.ENV{tyE=actualTyE,strE=actualStrE,...} = actualArgEnv val subst = instTyE path (tyE, actualTyE) subst val subst = instStrE path (strE, actualStrE) subst in subst end and instStrE path (V.STR envMap, V.STR actualEnvMap) subst = SEnv.foldri (fn (name, {env, strKind}, subst) => let val actualEnv = case SEnv.find(actualEnvMap, name) of SOME {env,strKind} => env | NONE => raise bug "actualEnv not found" in instEnv (path@[name]) (env, actualEnv) subst end ) subst envMap val funEEntry as {id=functorId, version, used, argSig, argStrName, argStrEntry, bodyEnv, polyArgTys = _, dummyIdfunArgTy, typidSet, exnIdSet, bodyVarExp } = case SEnv.find(FunE, funName) of SOME funEEntry => funEEntry | NONE => raise FunIDUndefind val _ = used := true val ((actualArgEnv, actualArgDecls), argId) = let val argSig = #2 (Sig.refreshSpecEnv argSig) handle e => raise e val ({env=argStrEnv,strKind},_) = evalPlstrexp topEnv nilPath (P.PLSTRID(argPath,loc)) handle e => raise e val argId = case strKind of V.STRENV id => id | V.FUNAPP{id,...} => id | _ => raise bug "non strenv in functor arg" in (SC.sigCheck {mode = SC.Trans, strPath = argPath, strEnv = argStrEnv, specEnv = argSig, loc = loc }, argId ) handle e => raise e end val _ = if EU.isAnyError () then raise SC.SIGCHECK else () val tempEnv = V.ENV{varE=SEnv.empty, tyE=SEnv.empty, strE= V.STR ( SEnv.insert (SEnv.insert(SEnv.empty, "arg", argStrEntry), "body", {env=bodyEnv, strKind=V.STRENV(StructureID.generate())}) ) } val exnIdSubst = ExnID.Set.foldr (fn (id, exnIdSubst) => let val newId = ExnID.generate() in ExnID.Map.insert(exnIdSubst, id, newId) end ) ExnID.Map.empty exnIdSet val ((tfvSubst, conIdSubst), tempEnv) = SC.refreshEnv copyPath (typidSet, exnIdSubst) tempEnv handle e => raise e val typIdSubst = TfvMap.foldri (fn (tfv1, tfv2, typIdSubst) => let val id1 = L.getId tfv1 val id2 = L.getId tfv2 in TypID.Map.insert(typIdSubst, id1, id2) end ) TypID.Map.empty tfvSubst val typidSet = TypID.Set.map (fn id => case TypID.Map.find(typIdSubst, id) of SOME id => id | NONE => id) typidSet val {env=argEnv, strKind} = case V.findStr(tempEnv, ["arg"]) of SOME strEntry => strEntry | NONE => raise bug "impossible" val {env=bodyEnv, ...} = case V.findStr(tempEnv, ["body"]) of SOME env => env | NONE => raise bug "impossible" val subst = instEnv nil (argEnv, actualArgEnv) S.emptySubst val bodyEnv = S.substEnv subst bodyEnv handle e => raise e val bodyEnv = N.reduceEnv bodyEnv handle e => raise e val pathTfvListList = L.setLiftedTysEnv bodyEnv handle e => raise e val dummyIdfunArgTy = Option.map (S.substTy subst) dummyIdfunArgTy handle e => raise e val dummyIdfunArgTy = Option.map (N.reduceTy TvarMap.empty) dummyIdfunArgTy handle e => raise e (* fun makeCast (fromTfv, toTfv, castList) = {from=I.TFUN_VAR fromTfv, to=I.TFUN_VAR toTfv} :: castList val castList = TfvMap.foldri makeCast nil tfvSubst handle e => raise e val bodyVarExp = I.ICTYCAST (castList, bodyVarExp, loc) (* functor body variables for generating env and for patterns to be used in bind*) *) val bodyVarExp = makeCastExp (tfvSubst, bodyVarExp) loc val (bodyVarList, _) = FU.varsInEnv (bodyEnv, loc) (* returnEnv : env for functor generated by this functor application patFields : patterns used in binding of variables generated by this application exntagDecls : rebinding exceptions generated by this application *) (* val _ = U.print "bodyVarList ******************************************\n" val _ = map (fn (path, v) => (U.printPath path; U.print "_"; U.printExp v; U.print "\n")) bodyVarList val _ = U.print "\n" *) val (_, returnEnv, patFields, exntagDecls) = foldl (fn ((bindPath, I.ICVAR ({path, id=_},loc)), (n, returnEnv, patFields, exntagDecls)) => let val newId = VarID.generate() val varInfo = {id=newId, path=path} val newIdstatus = I.IDVAR newId val newPat = I.ICPATVAR(varInfo, loc) val returnEnv = V.rebindIdLongid(returnEnv, bindPath, newIdstatus) in (n + 1, returnEnv, patFields @[(Int.toString n, newPat)], exntagDecls ) end | (* need to check this case *) ((bindPath, I.ICEXN ({path, ty, id}, loc)), (n, returnEnv, patFields,exntagDecls)) => let (* FIXME: here we generate env with IDEXN env and exception tag E = x decl. *) val newVarId = VarID.generate() val newExnId = ExnID.generate() val exnInfo = {id=newExnId, path=path, ty=ty} val varInfo = {id=newVarId, path=path} val newIdstatus = I.IDEXN {id=newExnId, ty=ty} val newPat = I.ICPATVAR (varInfo, loc) val returnEnv = V.rebindIdLongid(returnEnv, bindPath, newIdstatus) val exntagd = I.ICEXNTAGD({exnInfo=exnInfo, varInfo=varInfo},loc) in (n + 1, returnEnv, patFields @[(Int.toString n, newPat)], exntagDecls ) end | (* see: bug 061_functor.sml *) ((bindPath, I.ICEXVAR ({path,ty},loc)), (n, returnEnv, patFields, exntagDecls)) => let val newId = VarID.generate() val newVarInfo = {id=newId, path=path} val newIdstatus = I.IDVAR newId val newPat = I.ICPATVAR({path=path, id=newId}, loc) val returnEnv = V.rebindIdLongid(returnEnv, bindPath, newIdstatus) in (n + 1, returnEnv, patFields @[(Int.toString n, newPat)], exntagDecls ) end | (* see: bug 061_functor.sml *) ((bindPath, I.ICEXN_CONSTRUCTOR (exnInfo as {path, ty, ...},loc)), (n, returnEnv, patFields, exntagDecls)) => let val newId = VarID.generate() val newVarInfo = {id=newId, path = path} val newIdstatus = I.IDVAR newId val newPat = I.ICPATVAR({path=path, id=newId}, loc) val exntagDecl = I.ICEXNTAGD ({exnInfo=exnInfo, varInfo=newVarInfo}, loc) in (n + 1, returnEnv, patFields @[(Int.toString n, newPat)], exntagDecls @ [exntagDecl] ) end | ((bindPath, exp), _) => ( U.print "body var\n"; U.printExp exp; U.print "\n"; raise bug "non var in bodyVarList" ) ) (* CHECKME: bug 119 (1, V.emptyEnv, nil, nil) *) (1, bodyEnv, nil, nil) bodyVarList val resultPat = case patFields of nil => I.ICPATCONSTANT(A.UNITCONST loc,loc) | _ => I.ICPATRECORD {flex=false,fields = patFields,loc = loc} val actualDummyIdfun = case dummyIdfunArgTy of SOME dummyIdTy => let val id = VarID.generate() val funargVarinfo = {id=id, path=[DUMMYIDFUN]} in SOME ( I.ICFNM ([{args= [ I.ICPATTYPED ( I.ICPATVAR (funargVarinfo, loc), dummyIdTy, loc ) ], body=I.ICVAR (funargVarinfo, loc)} ], loc) ) end | _ => NONE (* actual parameters passed to the functor. This must corresponds to functor param polyArgPats (negative) generated by evalFunArg. val (argExpList, _) = FU.varsInEnv ExnID.Set.empty loc argPath nil actualArgEnv *) fun exnTagsVarE path varE exnTags = SEnv.foldli (fn (name, idstatus, exnTags) => case idstatus of I.IDVAR _ => exnTags | I.IDVAR_TYPED _ => exnTags | I.IDEXVAR _ => exnTags | I.IDEXVAR_TOBETYPED _ => exnTags (* this should be a bug *) | I.IDBUILTINVAR _ => exnTags | I.IDCON _ => exnTags | I.IDEXN _ => exnTags | I.IDEXNREP _ => exnTags | I.IDEXEXN _ => exnTags | I.IDEXEXNREP _ => exnTags | I.IDOPRIM _ => exnTags | I.IDSPECVAR _ => exnTags | I.IDSPECEXN _ => (path@[name])::exnTags | I.IDSPECCON => exnTags ) exnTags varE fun exnTagsEnv path env exnTags = let val V.ENV{varE, tyE, strE} = env val exnTags = exnTagsVarE path varE exnTags val exnTags = exnTagsStrE path strE exnTags in exnTags end and exnTagsStrE path (V.STR envMap) exnTags = SEnv.foldri (fn (name, {env, strKind}, exnTags) => exnTagsEnv (path@[name]) env exnTags ) exnTags envMap val exnTagPathList = exnTagsEnv nil argSig nil val argExpList = FU.makeFunctorArgs loc exnTagPathList actualArgEnv val functorBody1 = case actualDummyIdfun of SOME dummyId => I.ICAPPM(bodyVarExp,[dummyId],loc) | NONE => bodyVarExp val functorBody2 = case argExpList of nil => functorBody1 | _ => I.ICAPPM_NOUNIFY(functorBody1, argExpList, loc) val functorBody = case functorBody2 of I.ICAPPM_NOUNIFY _ => functorBody2 | I.ICAPPM _ => functorBody2 | _ => I.ICAPPM(functorBody2, [I.ICCONSTANT(A.UNITCONST loc, loc)], loc) val functorAppDecl = I.ICVAL(Ty.emptyScopedTvars,[(resultPat, functorBody)],loc) (* FIXE: We must be slim down the bodyEnv below val returnEnv = V.envWithEnv(bodyEnv, returnEnv) *) in (* applyFunctor *) {funId=functorId, argId=argId, env=returnEnv, icdecls=actualArgDecls @ [functorAppDecl] @ exntagDecls } end handle SC.SIGCHECK => {funId=FunctorID.generate(), argId = StructureID.generate(), env=V.emptyEnv, icdecls=nil} | FunIDUndefind => (EU.enqueueError (loc, E.FunIdUndefined("450",{name = funName})); {funId=FunctorID.generate(), argId = StructureID.generate(), env=V.emptyEnv, icdecls=nil} ) fun evalFunctor {topEnv, version:int option} {name, argStrName, argSig, body, loc} = let val startTypid = TypID.generate() val { argSig, argStrEntry, extraTvars, polyArgPats, (* functor argument variables (negative) *) exnTagDecls, dummyIdfunArgTy, firstArgPat, tfvDecls } = FU.evalFunArg (topEnv, argSig, loc) val topArgEnv = V.ENV {varE=SEnv.empty, tyE=SEnv.empty, strE=V.STR (SEnv.singleton(argStrName, argStrEntry)) } val typidSetArg = FU.typidSet (#env argStrEntry) val evalEnv = V.topEnvWithEnv (topEnv, topArgEnv) val ({env=returnEnv,strKind}, bodyDecls) = evalPlstrexp evalEnv nilPath body val typidSet = FU.typidSet returnEnv val (allVars, exnIdSet) = FU.varsInEnv (returnEnv, loc) val typidSet = TypID.Set.union(typidSetArg, typidSet) val allVars = map #2 allVars (* FIXME (not a bug): The following is to restrict the typids to be refreshed are those that are created in the functor body. Not very elegant. Need to review. *) val typidSet = TypID.Set.filter (fn id => case TypID.compare(id, startTypid) of GREATER => true | _ => false) typidSet val bodyExp = case allVars of nil => I.ICCONSTANT(A.UNITCONST loc, loc) | _ => I.ICRECORD (Utils.listToTuple allVars, loc) val functorExp1 = case polyArgPats of nil => I.ICLET (exnTagDecls @ bodyDecls, [bodyExp], loc) | _ => I.ICFNM1_POLY (polyArgPats, (* functor argument variables (negative) *) I.ICLET (exnTagDecls @ bodyDecls, [bodyExp], loc), loc) val functorExp = case firstArgPat of SOME pat => I.ICFNM1([pat], functorExp1, loc) | NONE => (case functorExp1 of I.ICLET _ => let val varId = VarID.generate() val patVarInfo ={path=["unitVar"], id=varId} in I.ICFNM1 ( [(patVarInfo, [BT.unitITy])], functorExp1, loc ) end | _ => functorExp1 ) val functorExpVar = {path=[FUNCORPREFIX,name], id=VarID.generate()} val functorExpVarExp = I.ICVAR (functorExpVar, loc) (* val version = case SEnv.find(#FunE version, name) of NONE => NONE | SOME {version,...} => I.incVersion version *) val functorDecl = I.ICVAL(map (fn tvar=>(tvar, I.UNIV)) extraTvars, [(I.ICPATVAR(functorExpVar, loc),functorExp)], loc) val funEEntry:V.funEEntry = {id = FunctorID.generate(), version = version, used = ref false, argSig = argSig, argStrEntry = argStrEntry, argStrName = argStrName, dummyIdfunArgTy = dummyIdfunArgTy, polyArgTys = map (fn (pat, ty) => ty) polyArgPats, typidSet=typidSet, exnIdSet=exnIdSet, bodyEnv = returnEnv, bodyVarExp = functorExpVarExp } val funE = SEnv.singleton(name, funEEntry) val returnTopEnv = V.topEnvWithFunE(V.emptyTopEnv, funE) (* val _ = U.print "evalFunctor returnTopEnv\n" val _ = U.printTopEnv returnTopEnv *) in (* evalFunctor *) (returnTopEnv, tfvDecls@[functorDecl]) end fun evalPltopdec {topEnv, version:int option} pltopdec = case pltopdec of P.PLTOPDECSTR (plstrdec, loc) => let val (env, icdeclList) = evalPlstrdec topEnv nilPath plstrdec in (V.topEnvWithEnv(V.emptyTopEnv, env), icdeclList) end | P.PLTOPDECSIG (stringPlsigexpList, loc) => let val _ = EU.checkNameDuplication #1 stringPlsigexpList loc (fn s => E.DuplicateSigname("460",s)) val sigE = foldl (fn ((name, plsig), sigE) => SEnv.insert(sigE, name, Sig.evalPlsig topEnv plsig) ) SEnv.empty stringPlsigexpList in (V.topEnvWithSigE(V.emptyTopEnv, sigE), nil) end | P.PLTOPDECFUN (functordeclList,loc) => let val _ = EU.checkNameDuplication #name functordeclList loc (fn s => E.DuplicateFunctor("470",s)) in foldl (fn (functordecl, (returnTopEnv, icdecList)) => let val (topEnv1, icdecList1) = evalFunctor {topEnv=topEnv, version=version} functordecl val returnTopEnv = V.topEnvWithTopEnv(returnTopEnv, topEnv1) in (returnTopEnv, icdecList@icdecList1) end ) (V.emptyTopEnv, nil) functordeclList end fun evalPltopdecList {topEnv, version:int option} pltopdecList = foldl (fn (pltopdec, (returnTopEnv, icdecList)) => let val evalTopEnv = V.topEnvWithTopEnv (topEnv, returnTopEnv) val (returnTopEnv1, icdecList1) = evalPltopdec {topEnv=evalTopEnv, version=version} pltopdec val returnTopEnv = V.topEnvWithTopEnv(returnTopEnv, returnTopEnv1) in (returnTopEnv, icdecList @ icdecList1) end ) (V.emptyTopEnv, nil) pltopdecList (* fun generateExportVar ({Env,FunE,...}:V.topEnv) loc = let fun exportsInVarE path varE = List.mapPartial (fn (vid, idstatus) => case idstatus of I.IDVAR id => SOME (I.ICEXPORTTYPECHECKEDVAR ({path=path@[vid], id=id}, loc)) | I.IDEXN {id,ty} => SOME (I.ICEXPORTEXN ({path=path@[vid], id=id, ty=ty}, loc)) | _ => NONE) (SEnv.listItemsi varE) fun exportsInStrE path (V.STR strE) = List.concat (map (fn (strid, {env,...}) => exportsInEnv (path@[strid]) env) (SEnv.listItemsi strE)) and exportsInEnv path (V.ENV {varE, tyE, strE}) = exportsInVarE path varE @ exportsInStrE path strE in exportsInEnv nil Env end *) (* 2012-07-11 ohori: bug 205_exnExport.sml # exception A of int > exception B = A; exception B of int # exception C = A; Compiler bug:compileDecl: RCEXPORTEXN This is caused due to the following: 1. exn is exported only once. 2. exn replication is not exported. So the exception A of int exception B = A will generate: the decls: export exception B and environment: A: exn e12 (local id) B: external exn B The correct output should be: decl: export exception B (or A) env: A: external exn B (or A) B: external exn B (or A) To do this, we should keep track of the exported exn id with its external name. So we change exnSet to path exnMap in genExportIdstatus *) fun genExport (version, {FunE=RFunE,Env=REnv, SigE=RSigE}) loc = let fun genExportIdstatus exnPathMap path version idstatus icdecls = case idstatus of I.IDVAR varId => let val externPath=I.setVersion(path, version) in (exnPathMap, I.IDEXVAR_TOBETYPED{path=path,version=version,id=varId,loc=loc}, I.ICEXPORTTYPECHECKEDVAR ({path=externPath, id=varId}, loc)::icdecls) end | I.IDVAR_TYPED {id, ty} => let val externPath=I.setVersion(path, version) in (exnPathMap, I.IDEXVAR{path=path,version=version, ty=ty, used=ref false, loc=loc, internalId = SOME id}, I.ICEXPORTTYPECHECKEDVAR ({path=externPath, id=id}, loc)::icdecls) end | I.IDEXVAR {path, ty, used, loc, version, internalId} => (exnPathMap, idstatus, icdecls) | I.IDEXVAR_TOBETYPED _ => (exnPathMap, idstatus, icdecls) (* this should be a bug *) | I.IDBUILTINVAR {primitive, ty} => (exnPathMap, idstatus, icdecls) | I.IDCON {id, ty} => (exnPathMap, idstatus, icdecls) | I.IDEXN {id, ty} => (case ExnID.Map.find(exnPathMap, id) of NONE => let val externPath=I.setVersion(path, version) in (ExnID.Map.insert(exnPathMap, id, {path=path, version=version}), I.IDEXEXN{path=path,version=version, ty=ty, used=ref false, loc=loc}, I.ICEXPORTEXN ({path=externPath, ty=ty, id=id}, loc) :: icdecls) end | SOME {path, version} => (exnPathMap, I.IDEXEXNREP{path=path,version=version, ty=ty, used=ref false, loc=loc}, icdecls) ) | I.IDEXNREP {id, ty} => (case ExnID.Map.find(exnPathMap, id) of NONE => let val externPath=I.setVersion(path, version) in (ExnID.Map.insert(exnPathMap, id, {path=path, version=version}), I.IDEXEXN{path=path,version=version, ty=ty, used=ref false, loc=loc}, I.ICEXPORTEXN ({path=externPath, ty=ty, id=id}, loc) :: icdecls) end | SOME {path, version} => (exnPathMap, I.IDEXEXNREP{path=path,version=version, ty=ty, used=ref false, loc=loc}, icdecls) ) | I.IDEXEXN {path, ty, used, loc, version} => let val idstatus = I.IDEXEXNREP {path=path, ty=ty, used=used, loc=loc, version=version} in (exnPathMap, idstatus, icdecls) end | I.IDEXEXNREP {path, ty, used, loc, version} => (exnPathMap, idstatus, icdecls) | I.IDOPRIM {id, overloadDef, used, loc} => (exnPathMap, idstatus, icdecls) | I.IDSPECVAR ty => raise bug "IDSPECVAR in mergeIdstatus" | I.IDSPECEXN ty => raise bug "IDSPECEXN in mergeIdstatus" | I.IDSPECCON => raise bug "IDSPECCON in mergeIdstatus" fun genExportVarE exnPathMap path (vesion, RVarE) icdecls = SEnv.foldli (* we should use foldli here to give the first exn to be the one that should be exported. *) (fn (name, idstatus, (exnPathMap, varE, icdecls)) => let val (exnPathMap, idstatus, icdecls) = genExportIdstatus exnPathMap (path@[name]) version idstatus icdecls in (exnPathMap, SEnv.insert(varE, name, idstatus), icdecls) end ) (exnPathMap, SEnv.empty, icdecls) RVarE fun genExportEnvMap exnPathMap path (version, REnvMap) icdecls = SEnv.foldli (* we should use foldli here to give the first exn to be the one that should be exported. *) (fn (name, {env=REnv, strKind}, (exnPathMap, envMap, icdecls)) => let val (exnPathMap, env, icdecls) = genExportEnv exnPathMap (path@[name]) (version, REnv) icdecls in (exnPathMap, SEnv.insert(envMap, name, {env=env, strKind=strKind}), icdecls) end ) (exnPathMap, SEnv.empty, icdecls) REnvMap and genExportEnv exnPathMap path (version, V.ENV{varE=RVarE, strE=V.STR REnvMap, tyE}) icdecls = let val (exnPathMap, varE, icdecls) = genExportVarE exnPathMap path (version, RVarE) icdecls val (exnPathMap, envMap, icdecls) = genExportEnvMap exnPathMap path (version, REnvMap) icdecls in (exnPathMap, V.ENV{varE=varE, strE=V.STR envMap, tyE=tyE}, icdecls) end fun genExportFunEEntry (version, RFunEntry:V.funEEntry) icdecls = let val {id, version=_, used, argSig, argStrEntry, argStrName, dummyIdfunArgTy, polyArgTys, typidSet, exnIdSet, bodyEnv, bodyVarExp } = RFunEntry (* 2012-7-10 ohori bug 204 val bodyVarExp = *) val exBodyVarExp = case bodyVarExp of I.ICVAR ({path, id}, loc) => let val externPath = I.setVersion(path, version) in I.ICEXVAR_TOBETYPED ({path=externPath, id=id}, loc) end | _ => raise bug "non var bodyVarExp" val funEEntry= {id=id, version = version, used = used, argSig = argSig, argStrEntry = argStrEntry, argStrName = argStrName, dummyIdfunArgTy = dummyIdfunArgTy, polyArgTys = polyArgTys, typidSet = typidSet, exnIdSet = exnIdSet, bodyEnv = bodyEnv, bodyVarExp = exBodyVarExp } val icdecl = case bodyVarExp of I.ICVAR ({id, path}, loc) => let val externPath = I.setVersion(path, version) in I.ICEXPORTTYPECHECKEDVAR ({path=externPath, id=id}, loc) end | _ => raise bug "nonvar in bodyVarExp" in (funEEntry, icdecl::icdecls) end fun genExportFunE (version, RFunE) icdecls = SEnv.foldri (fn (name, RFunEEntry, (funE, icdecls)) => let val (funEEntry, icdecls) = genExportFunEEntry (version, RFunEEntry) icdecls in (SEnv.insert(funE, name, funEEntry), icdecls) end ) (SEnv.empty, icdecls) RFunE val (FunE, icdecls) = genExportFunE (version, RFunE) nil val (_, Env, icdecls) = genExportEnv ExnID.Map.empty nil (version, REnv) icdecls in ({FunE=FunE, Env=Env, SigE=RSigE}, List.rev icdecls (* icdels are const in reverse order of traversal; no significance in the order. Here we take the alphabetical order generated by maps. *) ) end fun clearUsedflagIdstatus idstatus = case idstatus of I.IDEXVAR {used,...} => used := false | I.IDOPRIM {used,...} => used := false | I.IDEXEXN {used,...} => used := false | I.IDEXEXNREP {used,...} => used := false | _ => () fun clearUsedflagVarE varE = SEnv.app clearUsedflagIdstatus varE fun clearUsedflagEnv (V.ENV {varE, tyE, strE}) = (clearUsedflagVarE varE; clearUsedflagStrE strE) and clearUsedflagStrE (V.STR strEntryMap) = SEnv.app (fn {env, strKind} => clearUsedflagEnv env) strEntryMap fun clearUsedflag {Env, FunE, SigE} = clearUsedflagEnv Env fun genExterndeclsIdstatus externSet idstatus icdecls = case idstatus of I.IDEXVAR {path, ty, used = ref true, loc, version, internalId} => let val externPath = I.setVersion(path, version) in (externSet,I.ICEXTERNVAR ({path=externPath, ty=ty}, loc) :: icdecls) end | I.IDOPRIM {used = ref true, overloadDef,...} => (externSet,overloadDef::icdecls) | I.IDEXEXN {used = ref true, path=path, ty, loc, version} => let val externPath = I.setVersion(path, version) in if PathSet.member(externSet, externPath) then (externSet, icdecls) else (PathSet.add(externSet, externPath), I.ICEXTERNEXN ({path=externPath, ty=ty}, loc) :: icdecls ) end | I.IDEXEXNREP {used = ref true, path=path, ty, loc, version} => let val externPath = I.setVersion(path, version) in if PathSet.member(externSet, externPath) then (externSet, icdecls) else (PathSet.add(externSet, externPath), I.ICEXTERNEXN ({path=externPath, ty=ty}, loc) :: icdecls ) end | _ => (externSet, icdecls) fun genExterndeclsVarE externSet varE icdecls = SEnv.foldr (fn (idstatus, (externSet, icdecls)) => genExterndeclsIdstatus externSet idstatus icdecls) (externSet,icdecls) varE fun genExterndeclsEnv externSet (V.ENV {varE, tyE, strE}) icdecls = let val (externSet, icdecls) = genExterndeclsVarE externSet varE icdecls val (externSet, icdecls) = genExterndeclsStrE externSet strE icdecls in (externSet, icdecls) end and genExterndeclsStrE externSet (V.STR strEntryMap) icdecls = SEnv.foldr (fn ({env, strKind}, (externSet, icdecls)) => case strKind of V.SIGENV => (externSet,icdecls) (* 2012-7-10 ohori : bug 204 | V.FUNAPP _ => (externSet, icdecls) *) | V.FUNAPP _ => genExterndeclsEnv externSet env icdecls | V.STRENV _ => genExterndeclsEnv externSet env icdecls) (externSet, icdecls) strEntryMap fun genExterndeclsFunE externSet (funE:V.funE) icdecls = SEnv.foldr (fn ({used=ref true,version, bodyVarExp,...}, (externSet, icdecls)) => (case bodyVarExp of I.ICEXVAR ({path,ty}, loc) => if PathSet.member(externSet, path) then (externSet, icdecls) else (PathSet.add(externSet, path), I.ICEXTERNVAR ({path=path, ty=ty},loc) :: icdecls) | _ => raise bug "nonVAR bodyVarExp in funEEntry") | (_, (externSet, icdecls)) => (externSet, icdecls) ) (externSet, icdecls) funE fun genExterndecls {Env, FunE, SigE} = let val (externSet, icdecls) = genExterndeclsEnv PathSet.empty Env nil val (_, icdecls) = genExterndeclsFunE externSet FunE icdecls in icdecls end fun reduceTopEnv ({Env, FunE, SigE}:V.topEnv) = let val env = N.reduceEnv Env val FunE = reduceFunE FunE val SigE = SEnv.map N.reduceEnv SigE in {Env=Env, FunE=FunE, SigE=SigE} end and reduceFunE funE = SEnv.map reduceFunEEntry funE and reduceFunEEntry {id, version, used, argSig, argStrEntry = {env=argEnv, strKind=argStrKind}, argStrName, dummyIdfunArgTy, polyArgTys, typidSet, exnIdSet, bodyEnv, bodyVarExp } : V.funEEntry = {id = id, version = version, used = used, argSig = N.reduceEnv argSig, argStrEntry = {env=N.reduceEnv argEnv, strKind=argStrKind}, argStrName = argStrName, dummyIdfunArgTy = dummyIdfunArgTy, polyArgTys = polyArgTys, typidSet = typidSet, exnIdSet = exnIdSet, bodyEnv = N.reduceEnv bodyEnv, bodyVarExp = bodyVarExp } : V.funEEntry in (* local *) fun nameEval {topEnv, version, systemDecls} (compileUnit as {interface={decls,requires,topdecs=provideDecs,...}, topdecs}:PI.compileUnit) = let val _ = EU.initializeErrorQueue() val loc = case topdecs of nil => Loc.noloc | dec::_ => (#1 (P.getLocTopDec dec), #2 (P.getLocTopDec (List.last topdecs))) val interfaceEnv = EI.evalInterfaces topEnv decls (* for error checking *) val _ = InterfaceID.Map.foldl (fn ({topEnv,...}, totalEnv) => V.unionTopEnv "204" loc (totalEnv, topEnv) ) V.emptyTopEnv interfaceEnv val evalTopEnv = foldl (fn ({id,loc}, evalTopEnv) => case InterfaceID.Map.find(interfaceEnv, id) of SOME {topEnv,...} => let val evalTopEnv = V.unionTopEnv "205" loc (evalTopEnv, topEnv) in evalTopEnv end | NONE => raise bug "unbound interface id" ) topEnv requires val _ = clearUsedflag evalTopEnv val (returnTopEnv, topdecList) = evalPltopdecList {topEnv=evalTopEnv, version=version} topdecs handle e => raise e val (returnTopEnv, exportList) = if !Control.interactiveMode then genExport (version, returnTopEnv) Loc.noloc else if EU.isAnyError () then (returnTopEnv, nil) else (returnTopEnv, CP.checkPitopdecList evalTopEnv (returnTopEnv, provideDecs)) handle e => raise e val interfaceDecls = genExterndecls evalTopEnv val topdecs = systemDecls @ interfaceDecls @ topdecList @ exportList val returnDecls = {decls=topdecs, loc=loc} val returnTopEnv = reduceTopEnv returnTopEnv (* val _ = U.print "nameEval returnTopEnv\n" val _ = U.printTopEnv returnTopEnv *) in case EU.getErrors () of [] => (returnTopEnv, returnDecls, EU.getWarnings()) | errors => raise UserError.UserErrors (EU.getErrorsAndWarnings ()) end handle exn as UserError.UserErrors _ => raise exn (* | exn => raise bug "name eval failed" *) fun evalRequire topEnv (compileUnit as {interface={decls,requires,topdecs=provideDecs,...}, topdecs}:PI.compileUnit) = let val _ = EU.initializeErrorQueue() val interfaceEnv = EI.evalInterfaces topEnv decls val requireTopEnv = foldl (fn ({id,loc}, evalTopEnv) => case InterfaceID.Map.find(interfaceEnv, id) of SOME {topEnv,...} => let val evalTopEnv = V.unionTopEnv "205" loc (evalTopEnv, topEnv) in evalTopEnv end | NONE => raise bug "unbound interface id" ) V.emptyTopEnv requires val warnings1 = case EU.getErrors () of nil => EU.getWarnings() | _::_ => raise UserError.UserErrors (EU.getErrorsAndWarnings ()) (* ignore errors during unionTopEnv; * this intends extension of requireTopEnv with topEnv. *) val topEnv = V.unionTopEnv "205" Loc.noloc (topEnv, requireTopEnv) val compileUnit = {interface = {decls = nil, requires = nil, topdecs = provideDecs, interfaceName = NONE}, topdecs = topdecs} : PI.compileUnit val (newTopEnv, {decls=topdecs,loc}, warnings2) = nameEval {topEnv=topEnv, version=NONE, systemDecls=nil} compileUnit (* ignore errors during unionTopEnv; * this intends extension of requireTopEnv with topEnv. *) val returnTopEnv = V.unionTopEnv "206" Loc.noloc (requireTopEnv, newTopEnv) in (returnTopEnv, topdecs, warnings1 @ warnings2) end fun evalBuiltin topdecList = let fun varEToPrimConExnEnv varE = SEnv.foldli (fn (name, idstate, (primEnv, conEnv, exnEnv)) => case idstate of I.IDVAR varId => (primEnv, conEnv, exnEnv) | I.IDVAR_TYPED varId => (primEnv, conEnv, exnEnv) | I.IDEXVAR {path, ty, used, loc, version, internalId} => (primEnv, conEnv, exnEnv) | I.IDEXVAR_TOBETYPED _ => raise bug "IDEXVAR_TOBETYPED" | I.IDBUILTINVAR {primitive, ty} => (SEnv.insert(primEnv, name, {primitive=primitive, ty= ITy.evalIty ITy.emptyContext ty}), conEnv, exnEnv) | I.IDCON {id, ty} => (primEnv, SEnv.insert(conEnv, name, {path=[name], id=id, ty= ITy.evalIty ITy.emptyContext ty} ), exnEnv ) | I.IDEXN {id, ty} => (primEnv, conEnv, exnEnv) | I.IDEXNREP {id, ty} => (primEnv, conEnv, exnEnv) | I.IDEXEXN {path, ty, used, loc, version} => (primEnv, conEnv, SEnv.insert (exnEnv, name, {path=path, ty=ITy.evalIty ITy.emptyContext ty})) | I.IDEXEXNREP {path, ty, used, loc, version} => (primEnv, conEnv, SEnv.insert (exnEnv, name, {path=path, ty=ITy.evalIty ITy.emptyContext ty})) | I.IDOPRIM {id, overloadDef, used, loc} => (primEnv, conEnv, exnEnv) | I.IDSPECVAR ty => raise bug "IDSPECVAR in evalBuiltin" | I.IDSPECEXN ty => raise bug "IDSPECEXN in evalBuiltin" | I.IDSPECCON => raise bug "IDSPECCON in evalBuiltin" ) (SEnv.empty,SEnv.empty,SEnv.empty) varE fun tyEToTyConEnv tyE = SEnv.foldli (fn (name, tstr, tyConEnv) => let val tfun = case tstr of V.TSTR tfun => tfun | V.TSTR_DTY{tfun,...} => tfun val tyCon = ITy.evalTfun ITy.emptyContext tfun handle e => raise e in SEnv.insert(tyConEnv, name, tyCon) end ) SEnv.empty tyE val _ = EU.initializeErrorQueue() val (_, topEnv as {Env, FunE, SigE}, icdecls) = EI.evalPitopdecList V.emptyTopEnv (PathSet.empty, topdecList) in case EU.getErrors () of [] => (topEnv, icdecls) | errors => let val errors = EU.getErrorsAndWarnings () val msgs = map (Control.prettyPrint o UserError.format_errorInfo) errors val _ = map (fn x => (print x; print "\n")) msgs in raise bug "builtin compilation failed" end end handle exn => raise bug "uncaught exception in evalBuiltin" end end smlsharp-1.2.0/src/compiler/nameevaluation/main/NameEvalEnv.ppg0000644 000000000000000000005173512050661606024724 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2012- Tohoku University. * @author Atsushi Ohori *) (* the initial error code of this file : V-001 The printer prefix "printTy_" is used to print types and signature in the interactive mode. *) structure NameEvalEnv : NAME_EVAL_ENV = struct local structure I = IDCalc structure E = NameEvalError structure EU = UserErrorUtils fun bug s = Control.Bug ("NameEvalEnv: " ^ s) (*% @formatter(I.tfun) I.print_tfun *) (*% @prefix printTy_ @params(mode,name) @formatter(I.tfun) I.print_tfun *) type tfun = (*% @format(x) x()(,) *) (*% @prefix printTy_ @format(x) x()(mode,name) *) I.tfun (*% @formatter(I.path) I.print_path *) (*% @prefix printTy_ @formatter(I.path) I.print_path *) type path = (*% @format(x) x *) (*% @prefix printTy_ @format(x) x *) I.path (*% @formatter(I.conSpec) I.print_conSpec *) (*% @prefix printTy_ @formatter(I.conSpec) I.print_conSpec *) type conSpec = (*% @format(x) x()(,) *) (*% @prefix printTy_ @format(x) x()(,) *) I.conSpec (*% @formatter(I.formals) I.print_formals *) (*% @prefix printTy_ @formatter(I.formals) I.print_formals *) type formals = (*% @format(x) x *) (*% @prefix printTy_ @format(x) x *) I.formals (*% @formatter(I.varE) I.format_varE *) (*% @prefix printTy_ @formatter(I.varE) I.print_varE *) type varE = (*% @format(x) x *) (*% @prefix printTy_ @format(x) x()(,) *) I.varE (*% @formatter(I.typId) I.print_typId *) (*% @prefix printTy_ @formatter(I.typId) I.print_typId *) type typId = (*% @format(x) x *) (*% @prefix printTy_ @format(x) x *) I.typId (*% @formatter(I.exnId) I.print_exnId *) (*% @prefix printTy_ @formatter(I.exnId) I.print_exnId *) type exnId = (*% @format(x) x *) (*% @prefix printTy_ @format(x) x *) I.exnId (*% @formatter(StructureID.id) StructureID.format_id *) (*% @prefix printTy_ @formatter(StructureID.id) StructureID.format_id *) (* structure name *) type structureId = (*% @format(id) "s" id *) (*% @prefix printTy_ @format(id) "s" id *) StructureID.id (*% @formatter(FunctorID.id) FunctorID.format_id *) (*% @prefix printTy_ @formatter(FunctorID.id) FunctorID.format_id *) (* functor name *) type functorId = (*% @format(id) "f" id *) (*% @prefix printTy_ @format(id) "f" id *) FunctorID.id (*% @formatter(I.tvar) I.print_tvar *) (*% @prefix printTy_ @formatter(I.tvar) I.print_tvar *) type tvar = (*% @format(x) x *) (*% @prefix printTy_ @format(x) x *) I.tvar (*% @formatter(I.ty) I.print_ty *) (*% @prefix printTy_ @formatter(I.ty) I.print_ty *) type ty = (*% @format(x) x()(,) *) (*% @prefix printTy_ @format(x) x()(,) *) I.ty (*% @formatter(I.varInfo) I.print_varInfo *) (*% @prefix printTy_ @formatter(I.varInfo) I.print_varInfo *) type varInfo = (*% @format(x) x *) (*% @prefix printTy_ @format(x) x *) I.varInfo fun formatEnclosedSet listItems (format, lparen, comma, rparen) map = TermFormat.formatOptionalList (fn value => format value, lparen, comma, rparen) (listItems map) fun formatEnclosedTypidSet (lparen, comma, rparen) map = formatEnclosedSet TypID.Set.listItems (format_typId, lparen, comma, rparen) map fun formatEnclosedExnIdSet (lparen, comma, rparen) map = formatEnclosedSet ExnID.Set.listItems (format_exnId, lparen, comma, rparen) map in (*% @formatter(bool) SmlppgUtil.formatBinaryChoice *) (*% @prefix printTy_ @formatter(bool) SmlppgUtil.formatBinaryChoice @params(mode,name) *) (* type structure *) datatype tstr = (*% @format(tfun) 1["tystr" +1 tfun] *) (*% @prefix printTy_ @format(tfun) {tfun()(,name)} *) TSTR of tfun | (*% @format({tfun, varE, formals, conSpec}) "dtystr" + "{" 1[ +1 1["tfun:"+1 tfun] +1 1["varE:"+1 varE] +1 1["formals:"+1 formals] +1 1["conSpec:"+1 conSpec] ] 1 "}" *) (*% @prefix printTy_ @format({tfun, varE, formals, conSpec}) {tfun()("dty",name)} *) TSTR_DTY of {tfun:tfun, varE:varE, formals:formals, conSpec:conSpec} (*% @formatter(SEnv.map) TermFormat.formatEnclosedSEnvPlain *) (*% @prefix printTy_ @formatter(SEnv.map) SmlppgUtil.formatGenericSmap *) (* type environment *) type tyE = (*% @format(tstr senv) "{" 1[ senv(tstr)(1, ":"+) ] 1 "}" *) (*% @prefix printTy_ @format(tstr senv) senv(tstr)(\n,\n,) *) tstr SEnv.map (*% @formatter(SEnv.map) TermFormat.formatEnclosedSEnvPlain *) (*% @prefix printTy_ @formatter(SEnv.map) TermFormat.formatEnclosedSEnvPlain *) (* structure environment *) datatype strKind = (*% @format "sig" *) (*% @prefix printTy_ @format "sig" *) SIGENV | (*% @format(id) "structure(" id ")" *) (*% @prefix printTy_ @format(id) "structure(" id ")" *) STRENV of structureId | (*% @format({id,funId,argId}) "structure(" id "=" funId "(" argId")" ")" *) (*% @prefix printTy_ @format({id,funId,argId}) "structure(" id "=" funId "(" argId")" ")" *) FUNAPP of {id:structureId, funId:functorId, argId:structureId} (*% @formatter(SEnv.map) TermFormat.formatEnclosedSEnvPlain *) (*% @prefix printTy_ @formatter(SEnv.map) SmlppgUtil.formatSmapWithEnclosure *) (* structure environment *) datatype strE = (*% @format(strEntry senv) "{" 1[ senv(strEntry)(1, ":"+1) ] 1 "}" *) (*% @prefix printTy_ @format(strEntry senv) senv(strEntry)(+":"+1, ~2[\n "and" +], \n "structure" +,) *) STR of strEntry SEnv.map and env = (*% @format({varE, tyE, strE}) "{" 1[ +1 1["tyE:"+1 tyE] +1 1["strE:"+1 strE] +1 1["varE:"+1 varE] ] +1 "}" *) (*% @prefix printTy_ @format({varE, tyE, strE}) "sig" 2[ tyE varE strE ] \n "end" *) ENV of {varE: varE, tyE: tyE, strE: strE} withtype strEntry = (*% @format({env, strKind}) "("strKind")" + env *) (*% @prefix printTy_ @format({env, strKind}) env *) {env:env, strKind:strKind} (*% @formatter(I.icexp) I.print_icexp @formatter(TypID.Set.set) formatEnclosedTypidSet @formatter(ExnID.Set.set) formatEnclosedExnIdSet *) (*% @prefix printTy_ @formatter(I.icexp) I.print_icexp @formatter(TypID.Set.set) formatEnclosedTypidSet @formatter(ExnID.Set.set) formatEnclosedExnIdSet *) type funEEntry = (*% @format({id, version, used, argSig, argStrEntry, argStrName, dummyIdfunArgTy:dummyId opt, polyArgTys:argTy argTys, typidSet, exnIdSet, bodyEnv, bodyVarExp}) "(" id ") {" 1[+1 {1["argSig:"+1 argSig]} +1 {1["argStrEntry:"+1 argStrEntry]} +1 "argStrName:" argStrName +1 {1["dummyIdfunArgTy:"+1 opt(dummyId)]} +1 {1["polyArgTys:"+1 "[" argTys(argTy)(",") "]" ]} +1 {1["typidSet:"+1 typidSet()("(",",",") ") ]} +1 {1["exnIdSet:"+1 exnIdSet()("(",",",") ") ]} +1 {1["bodyEnv:"+1 bodyEnv]} +1 {1["bodyVarExp:"+1 bodyVarExp()(,)]} ] +1 "}" *) (*% @prefix printTy_ @format({id, version, used, argSig, argStrEntry, argStrName, dummyIdfunArgTy:dummyId opt, polyArgTys:argTy argTys, typidSet, exnIdSet, bodyEnv, bodyVarExp}) 2[ \n "(" argSig ")" +1 "=" 2[\n bodyEnv] ] *) {id: functorId, version: int option, used : bool ref, argSig: env, argStrEntry: strEntry, argStrName: string, dummyIdfunArgTy: ty option, polyArgTys: ty list, typidSet: TypID.Set.set, exnIdSet: ExnID.Set.set, bodyEnv: env, bodyVarExp: I.icexp (* varInfo *) } (*% @formatter(SEnv.map) TermFormat.formatEnclosedSEnvPlain *) (*% @prefix printTy_ @formatter(SEnv.map) TermFormat.formatEnclosedSEnvPlain *) type funE = (*% @format(funEEntry senv) "{" 1[ senv(funEEntry)(1, +":"+1) ] 1 "}" *) (*% @prefix printTy_ @format(funEEntry senv) "{" 1[ senv(funEEntry)(1, +":"+1) ] 1 "}" *) funEEntry SEnv.map (*% @formatter(SEnv.map) TermFormat.formatEnclosedSEnvPlain *) (*% @prefix printTy_ @formatter(SEnv.map) SmlppgUtil.formatSmap *) type sigE = (*% @format(sigentry senv) senv(sigentry)(+1"and"+, ":") *) (*% @prefix printTy_ @format(sigentry senv) 2[ senv(sigentry)("signature" + ,+"="+,~2[+1 "and"+],) ] *) env SEnv.map (*% *) (*% @prefix printTy_ *) type sigEList = (*% @format(sige siges) *) (*% @prefix printTy_ @format(sige siges) siges(sige)(\n) @format:sige(name * env) 2[ "signature" + name + "=" \n env ] *) (string * env) list (*% *) (*% @prefix printTy_ *) type topEnv = (*% @format({Env, FunE, SigE}) Env +1 FunE +1 SigE *) (*% @prefix printTy_ @format({Env, FunE, SigE}) "*** topEnv printer is not used at runtime ***" *) {Env:env, FunE:funE, SigE: sigE} fun tstrFormals tstr = case tstr of TSTR tfun => I.tfunFormals tfun | TSTR_DTY {tfun,...} => I.tfunFormals tfun fun tstrLiftedTys tstr = case tstr of TSTR tfun => I.tfunLiftedTys tfun | TSTR_DTY {tfun,...} => I.tfunLiftedTys tfun fun tstrArity tstr = List.length (tstrFormals tstr) fun tstrToString tstr = Control.prettyPrint (format_tstr tstr) fun tyEToString tyE = Control.prettyPrint (format_tyE tyE) fun envToString env = Control.prettyPrint (format_env env) fun topEnvToString (env:topEnv) = Control.prettyPrint (format_topEnv env) fun funEToString funE = Control.prettyPrint (format_funE funE) val emptyTyE = SEnv.empty : tyE val emptyEnv = ENV{varE=SEnv.empty,tyE = emptyTyE,strE=STR SEnv.empty} val emptyTopEnv = {Env=emptyEnv,FunE=SEnv.empty,SigE=SEnv.empty} : topEnv fun findTstr (ENV {varE, tyE, strE = STR envSEnvMap}, path) = case path of nil => raise bug "*** nil to lookupTy *** " | name :: nil => SEnv.find(tyE, name) | strname :: path => (case SEnv.find(envSEnvMap, strname) of NONE => NONE | SOME {env,...} => findTstr (env, path) ) exception LookupTstr fun lookupTstr env path : tstr = case findTstr (env, path) handle e => raise e of NONE => raise LookupTstr | SOME tstr => tstr fun findId (ENV {varE, tyE, strE = STR envSEnvMap}, longid) = case longid of nil => raise bug "nil to lookupId" | name :: nil => SEnv.find(varE, name) | strname :: path => (case SEnv.find(envSEnvMap, strname) of NONE => NONE | SOME {env,...} => findId (env, path) ) exception LookupId fun lookupId env longid : I.idstatus = case findId(env, longid) of NONE => raise LookupId | SOME idstatus => idstatus fun findStr (ENV {varE, tyE, strE = STR strMap}, stringList) = case stringList of nil => raise bug "nil to lookupStrId" | name :: nil => SEnv.find(strMap, name) | strname :: path => (case SEnv.find(strMap, strname) of NONE => NONE | SOME {env,...} => findStr (env, path) ) exception LookupStr fun lookupStr env stringList : strEntry = case findStr (env, stringList) of NONE => raise LookupStr | SOME strEntry => strEntry fun rebindIdLongid (ENV{varE, tyE, strE = strE as STR envMap}, longid, idstatus) : env = case longid of nil => raise bug "nil to rebindTypLongid" | name::nil => ENV { varE = SEnv.insert(varE, name, idstatus), tyE = tyE, strE = strE } | strname::path => let val {env, strKind} = case SEnv.find(envMap, strname) of SOME strEntry => strEntry | NONE => raise bug "env not found in rebindIdLongid" val newEnv = rebindIdLongid(env, path, idstatus) in ENV { varE = varE, tyE = tyE, strE = STR (SEnv.insert(envMap, strname, {env=newEnv, strKind=strKind})) } end fun bindStr loc (env, name, strEntry) = let val ENV{varE, tyE, strE = STR envMap} = env val envMap = case SEnv.find(envMap, name) of NONE => SEnv.insert(envMap, name, strEntry) | SOME _ => (EU.enqueueError (loc, E.DuplicateIdInSpec("050", name)); envMap ) in ENV {varE=varE, tyE=tyE, strE=STR envMap} end fun rebindTstr (ENV{varE,tyE,strE}, name, tstr) = ENV { varE = varE, tyE = SEnv.insert(tyE, name, tstr), strE = strE } fun rebindTstrLongid (ENV{varE, tyE, strE = strE as STR envMap}, longid, tstr) : env = case longid of nil => raise bug "nil to rebindTypLongid" | name::nil => ENV { varE = varE, tyE = SEnv.insert(tyE, name, tstr), strE = strE } | strname::path => let val {env, strKind} = case SEnv.find(envMap, strname) of SOME strEntry =>strEntry | NONE => raise bug "strenv not found in rebindStrLongid" val newEnv = rebindTstrLongid(env, path, tstr) in ENV { varE = varE, tyE = tyE, strE = STR (SEnv.insert(envMap, strname, {env=newEnv, strKind=strKind})) } end fun rebindId (ENV{varE, tyE, strE}, name, idstatus) = ENV {varE = SEnv.insert(varE, name, idstatus), tyE = tyE, strE = strE } fun rebindStr (ENV{varE,tyE,strE=STR envMap}, name, strEntry) = ENV {varE = varE, tyE = tyE, strE = STR (SEnv.insert(envMap, name, strEntry)) } fun singletonStr (name, strEntry) = rebindStr(emptyEnv, name, strEntry) fun varEWithVarE (varE1, varE2) = SEnv.unionWith #2 (varE1, varE2) fun tyEWithTyE (tyE1, tyE2) = SEnv.unionWith #2 (tyE1, tyE2) fun strEWithStrE (STR envMap1, STR envMap2) = STR (SEnv.unionWith #2 (envMap1, envMap2)) fun envWithVarE (ENV {varE, strE, tyE}, varE1 : I.varE) = ENV {varE = varEWithVarE (varE, varE1), strE = strE, tyE = tyE} (* this recursively merge two envs *) fun envWithEnv (ENV {varE=varE1, strE=strE1, tyE=tyE1}, ENV {varE=varE2, strE=strE2, tyE=tyE2}) = ENV {varE = varEWithVarE (varE1, varE2), strE = strEWithStrE (strE1, strE2), tyE = tyEWithTyE (tyE1,tyE2) } fun updateStrE (STR envMap1, STR envMap2) = let fun strEWithStrE ({env=env1,strKind}, {env=env2,strKind=_}) = {env=updateEnv(env1,env2), strKind=strKind} in STR (SEnv.unionWith strEWithStrE (envMap1, envMap2)) end and updateEnv (ENV {varE=varE1, strE=strE1, tyE=tyE1}, ENV {varE=varE2, strE=strE2, tyE=tyE2}) = ENV {varE = varEWithVarE (varE1, varE2), strE = updateStrE (strE1, strE2), tyE = tyEWithTyE (tyE1,tyE2) } fun unionVarE code loc (varE1, varE2) = SEnv.unionWithi (fn (name,_,v)=> (EU.enqueueError (loc, E.DuplicateVar(code ^ "v", name));v)) (varE1, varE2) fun unionTyE code loc (tyE1, tyE2) = SEnv.unionWithi (fn (name, _, v) => (EU.enqueueError (loc, E.DuplicateTypName(code ^ "v", name)); v) ) (tyE1, tyE2) fun unionStrE code loc (STR map1, STR map2) = STR ( SEnv.unionWithi (fn (name, _, v) => (EU.enqueueError (loc, E.DuplicateStrName(code ^ "v", name)); v) ) (map1, map2) ) fun unionEnv code loc (ENV {varE=varE1, strE=strE1, tyE=tyE1}, ENV {varE=varE2, strE=strE2, tyE=tyE2}) = let val varE = unionVarE code loc (varE1, varE2) val tyE = unionTyE code loc (tyE1, tyE2) val strE = unionStrE code loc (strE1, strE2) in ENV{varE=varE, strE=strE, tyE=tyE} end fun bindId loc (env, name, idstate) = let val ENV{varE, tyE, strE} = env val varE = SEnv.insertWith (fn _ =>(EU.enqueueError (loc,E.DuplicateIdInSpec("054",name)))) (varE, name, idstate) in ENV {varE=varE, tyE=tyE, strE=strE} end fun bindTstr loc (env, name, tstr) = let val ENV{varE, tyE, strE} = env val tyE = SEnv.insertWith (fn _ =>(EU.enqueueError (loc, E.DuplicateTypInSpec("055", name)))) (tyE, name, tstr) in ENV {tyE=tyE, varE=varE, strE=strE} end fun sigEWithSigE (sigE1, sigE2) = SEnv.foldli (fn (name, entry, sigE1) => SEnv.insert(sigE1, name, entry)) sigE1 sigE2 fun funEWithFunE (funE1, funE2) = SEnv.foldli (fn (name, entry, funE1) => SEnv.insert(funE1, name, entry)) funE1 funE2 fun unionSigE code loc (sigE1, sigE2) = SEnv.unionWithi (fn (name,_,v) => (EU.enqueueError (loc, E.DuplicateSigname(code ^ "s", name)); v) ) (sigE1, sigE2) fun unionFunE code loc (funE1, funE2) = SEnv.unionWithi (fn (name,_,v) => (EU.enqueueError (loc, E.DuplicateFunctor(code ^ "f", name)); v) ) (funE1, funE2) fun topEnvWithSigE ({Env, FunE, SigE}, sige) : topEnv = {Env = Env, FunE = FunE, SigE = sigEWithSigE (SigE, sige) } fun topEnvWithFunE ({Env, FunE, SigE}, funE) : topEnv = {Env = Env, FunE = funEWithFunE (FunE, funE), SigE = SigE } fun topEnvWithEnv ({Env, FunE, SigE}, env1) : topEnv = {Env = envWithEnv (Env, env1), FunE = FunE, SigE = SigE} fun topEnvWithTopEnv ({Env=env1,FunE=funE1,SigE=sige1},{Env=env2,FunE=funE2,SigE=sige2}) : topEnv = {Env = envWithEnv (env1, env2), FunE = funEWithFunE (funE1, funE2), SigE = sigEWithSigE (sige1, sige2) } fun unionTopEnv code loc ({Env=env1,FunE=funE1,SigE=sige1},{Env=env2,FunE=funE2,SigE=sige2}) : topEnv = {Env = unionEnv code loc (env1, env2), FunE = unionFunE code loc (funE1, funE2), SigE = unionSigE code loc (sige1, sige2) } end end smlsharp-1.2.0/src/compiler/nameevaluation/main/NameEvalEnv.ppg.smi0000644 000000000000000000001112612050661606025501 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../util/main/TermFormat.smi" _require "../../util/main/SmlppgUtil.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../usererror/main/UserErrorUtils.smi" _require "NameEvalError.ppg.smi" _require "NameEvalEnv.sig" structure NameEvalEnv = struct datatype tstr = TSTR of IDCalc.tfun | TSTR_DTY of {tfun:IDCalc.tfun, varE:IDCalc.varE, formals:IDCalc.formals, conSpec:IDCalc.conSpec} type tyE = tstr SEnv.map datatype strKind = SIGENV | STRENV of StructureID.id | FUNAPP of {id:StructureID.id, funId:FunctorID.id, argId:StructureID.id} datatype strE = STR of {env:env, strKind:strKind} SEnv.map and env = ENV of {varE: IDCalc.varE, tyE: tyE, strE: strE} type strEntry = {env:env, strKind:strKind} type funEEntry = {id: FunctorID.id, version:int option, used: bool ref, argSig: env, argStrEntry: strEntry, argStrName: string, dummyIdfunArgTy: IDCalc.ty option, polyArgTys: IDCalc.ty list, typidSet: TypID.Set.set, exnIdSet: ExnID.Set.set, bodyEnv: env, bodyVarExp: IDCalc.icexp} type funE = funEEntry SEnv.map type sigE = env SEnv.map type topEnv = {Env:env, FunE:funE, SigE: sigE} type sigEList = (string * env) list val format_tstr : tstr -> SMLFormat.FormatExpression.expression list val format_tyE : tyE -> SMLFormat.FormatExpression.expression list val format_strE : strE -> SMLFormat.FormatExpression.expression list val format_strEntry : strEntry -> SMLFormat.FormatExpression.expression list val format_env : env -> TermFormat.format val printTy_env : env -> TermFormat.format val printTy_sigE : sigE -> TermFormat.format val printTy_sigEList : sigEList -> TermFormat.format val format_funEEntry : funEEntry -> SMLFormat.FormatExpression.expression list val printTy_funEEntry : funEEntry -> SMLFormat.FormatExpression.expression list val format_funE : funE -> SMLFormat.FormatExpression.expression list val format_sigE : sigE -> SMLFormat.FormatExpression.expression list val format_topEnv : topEnv -> SMLFormat.FormatExpression.expression list val tstrFormals : tstr -> IDCalc.formals val tstrLiftedTys : tstr -> IDCalc.liftedTys val tstrArity : tstr -> int val tstrToString : tstr -> string val tyEToString : tyE -> string val envToString : env -> string val topEnvToString : topEnv -> string val funEToString : funE -> string exception LookupTstr exception LookupId exception LookupStr val emptyTyE : tyE val emptyEnv : env val emptyTopEnv : topEnv val findTstr : env * string list -> tstr option val lookupTstr : env -> string list -> tstr val findId : env * string list -> IDCalc.idstatus option val lookupId : env -> string list -> IDCalc.idstatus val findStr : env * string list -> strEntry option val lookupStr : env -> string list -> strEntry val rebindIdLongid : env * string list * IDCalc.idstatus -> env val bindStr : Loc.loc -> env * string * strEntry -> env val rebindTstr : env * string * tstr -> env val rebindTstrLongid : env * string list * tstr -> env val rebindId : env * string * IDCalc.idstatus -> env val rebindStr : env * string * strEntry -> env val singletonStr : string * strEntry -> env val varEWithVarE : IDCalc.varE * IDCalc.varE -> IDCalc.varE val tyEWithTyE : tyE * tyE -> tyE val strEWithStrE : strE * strE -> strE val updateStrE : strE * strE -> strE val envWithVarE : env * IDCalc.varE -> env val envWithEnv : env * env -> env val updateEnv : env * env -> env val unionVarE : string -> Loc.loc -> IDCalc.varE * IDCalc.varE -> IDCalc.varE val unionTyE : string -> Loc.loc -> tyE * tyE -> tyE val unionStrE : string -> Loc.loc -> strE * strE -> strE val unionEnv : string -> Loc.loc -> env * env -> env val bindId : Loc.loc -> env * string * IDCalc.idstatus -> env val bindTstr : Loc.loc -> env * string * tstr -> env val sigEWithSigE : sigE * sigE -> sigE val funEWithFunE : funE * funE -> funE val unionSigE : string -> Loc.loc -> sigE * sigE -> sigE val unionFunE : string -> Loc.loc -> funE * funE -> funE val topEnvWithSigE : topEnv * sigE -> topEnv val topEnvWithFunE : topEnv * funE -> topEnv val topEnvWithEnv : topEnv * env -> topEnv val topEnvWithTopEnv : topEnv * topEnv -> topEnv val unionTopEnv : string -> Loc.loc -> topEnv * topEnv -> topEnv end smlsharp-1.2.0/src/compiler/nameevaluation/main/NameEvalEnv.sig0000644 000000000000000000000716112050661606024712 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2012- Tohoku University. * @author Atsushi Ohori *) signature NAME_EVAL_ENV = sig datatype tstr = TSTR of IDCalc.tfun | TSTR_DTY of {tfun:IDCalc.tfun, varE:IDCalc.varE, formals:IDCalc.formals, conSpec:IDCalc.conSpec} type tyE type strEntry datatype strKind = SIGENV | STRENV of StructureID.id | FUNAPP of {id:StructureID.id, funId:FunctorID.id, argId:StructureID.id} datatype strE = STR of strEntry SEnv.map and env = ENV of {varE: IDCalc.varE, tyE: tyE, strE: strE} type funEEntry type funE type sigE type sigEList type topEnv val format_tstr : tstr -> SMLFormat.FormatExpression.expression list val format_tyE : tyE -> SMLFormat.FormatExpression.expression list val format_strE : strE -> SMLFormat.FormatExpression.expression list val format_env : env -> TermFormat.format val printTy_env : env -> TermFormat.format val printTy_sigE : sigE -> TermFormat.format val printTy_sigEList : sigEList -> TermFormat.format val format_strEntry : strEntry -> TermFormat.format val format_funEEntry : funEEntry -> SMLFormat.FormatExpression.expression list val printTy_funEEntry : funEEntry -> SMLFormat.FormatExpression.expression list val format_funE : funE -> SMLFormat.FormatExpression.expression list val format_sigE : sigE -> SMLFormat.FormatExpression.expression list val format_topEnv : topEnv -> SMLFormat.FormatExpression.expression list val tstrFormals : tstr -> IDCalc.formals val tstrLiftedTys : tstr -> IDCalc.liftedTys val tstrArity : tstr -> int val tstrToString : tstr -> string val tyEToString : tyE -> string val envToString : env -> string val topEnvToString : topEnv -> string val funEToString : funE -> string exception LookupTstr exception LookupId exception LookupStr val emptyTyE : tyE val emptyEnv : env val emptyTopEnv : topEnv val findTstr : env * string list -> tstr option val lookupTstr : env -> string list -> tstr val findId : env * string list -> IDCalc.idstatus option val lookupId : env -> string list -> IDCalc.idstatus val findStr : env * string list -> strEntry option val lookupStr : env -> string list -> strEntry val rebindIdLongid : env * string list * IDCalc.idstatus -> env val bindStr : Loc.loc -> env * string * strEntry -> env val rebindTstr : env * string * tstr -> env val rebindTstrLongid : env * string list * tstr -> env val rebindId : env * string * IDCalc.idstatus -> env val rebindStr : env * string * strEntry -> env val singletonStr : string * strEntry -> env val varEWithVarE : IDCalc.varE * IDCalc.varE -> IDCalc.varE val tyEWithTyE : tyE * tyE -> tyE val strEWithStrE : strE * strE -> strE val envWithVarE : env * IDCalc.varE -> env val envWithEnv : env * env -> env val updateStrE : strE * strE -> strE val updateEnv : env * env -> env val unionVarE : string -> Loc.loc -> IDCalc.varE * IDCalc.varE -> IDCalc.varE val unionTyE : string -> Loc.loc -> tyE * tyE -> tyE val unionStrE : string -> Loc.loc -> strE * strE -> strE val unionEnv : string -> Loc.loc -> env * env -> env val bindId : Loc.loc -> env * string * IDCalc.idstatus -> env val bindTstr : Loc.loc -> env * string * tstr -> env val sigEWithSigE : sigE * sigE -> sigE val funEWithFunE : funE * funE -> funE val unionSigE : string -> Loc.loc -> sigE * sigE -> sigE val unionFunE : string -> Loc.loc -> funE * funE -> funE val topEnvWithSigE : topEnv * sigE -> topEnv val topEnvWithFunE : topEnv * funE -> topEnv val topEnvWithEnv : topEnv * env -> topEnv val topEnvWithTopEnv : topEnv * topEnv -> topEnv val unionTopEnv : string -> Loc.loc -> topEnv * topEnv -> topEnv end smlsharp-1.2.0/src/compiler/nameevaluation/main/NameEvalError.ppg0000644 000000000000000000007052212050661606025260 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2012- Tohoku University. * @author Atsushi Ohori *) (** * user errors detected in type inference phase. * @author Liu Bochao *) structure NameEvalError = struct local structure UE = UserError (*% *) type longid = (*% @format(name names) names(name)(".") *) string list in (*% @formatter(PatternCalc.plpat) PatternCalc.format_plpat @formatter(PatternCalc.ffiTy) PatternCalc.format_ffiTy *) exception (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "unbound" +d "structure name:" +d longid *) StrNotFound of (string * {longid: longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Functor" +d "parameter" +d "restriction:" +d longid *) FunctorParamRestriction of (string * {longid: longid}) and (*% @format((code * {name})) "(name evaluation" +d code ")" +d "Primitive" +d "not" +d "found:" +d name *) PrimitiveNotFound of (string * {name: string}) and (*% @format((code * {name})) "(name evaluation" +d code ")" +d "Runtime" +d "representation" +d "not" +d "found:" +d name *) RuntimeTyNotFound of (string * {name: string}) and (*% @format(code * {name}) "(name evaluation" +d code ")" +d "Builtin" +d "type" + "not" +d "found:" +d name *) BuiltinTyNotFound of (string * {name: string}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "unbound" +d "variable" +d "or" +d "constructor:" +d longid *) VarOrConNotFound of (string * {longid: longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "unbound" +d "constructor:" +d longid *) ConNotFound of (string * {longid: longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "unbound" +d "variable:" +d longid *) VarNotFound of (string * {longid: longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "unbound" +d "type" +d "constructor" +d "or" +d "type" +d "alias" ":" +d longid *) TypNotFound of (string * {longid: longid}) and (*% @format((code * {name})) "(name evaluation" +d code ")" +d "illegal" +d "free" +d "type" +d "variable" +d ":" +d name *) TvarNotFound of (string * {name: string}) and (*% @format((code * {pat})) "(name evaluation" +d code ")" +d "variable" +d "pattern" +d "expected" +d "for" +d "function" +d "id:" +1 pat *) IlleagalFunID of (string * {pat : PatternCalc.plpat}) and (*% @format((code * {pat})) "(name evaluation" +d code ")" +d "constructor" +d "expected" +d "in" +d "a" +d "constructor" +d "pattern:" +1 pat *) NonConstructor of (string * {pat : PatternCalc.plpat}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "where-type" +d "applied" +d "to" +d "inappropriate" +d "type:" +d longid *) ImproperSigwhere of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "inappropriate" +d "sharing" +d "type:" +d longid *) ImproperSigshare of (string * {longid : longid}) (* various duplications *) and (*% @format((code * name)) "(name evaluation" +d code ")" +d "duplicate" +d "signature" +d "name:" +d name *) DuplicateSigname of (string * string) and (*% @format((code * name)) "(name evaluation" +d code ")" +d "duplicate" +d "record" +d "label" +d "in" +d "type" +d "annotation:" +d name *) DuplicateRecordLabelInRawType of (string * string) and (*% @format((code * name)) "(name evaluation" +d code ")" +d "duplicate" +d "record" +d "label" +d "in" +d "expression:" +d name *) DuplicateRecordLabelInExp of (string * string) and (*% @format((code * name)) "(name evaluation" +d code ")" +d "duplicate" +d "record" +d "label" +d "in" +d "record" +d "update:" +d name *) DuplicateRecordLabelInUpdate of (string * string) and (*% @format((code * name)) "(name evaluation" +d code ")" +d "duplicate" +d "record" +d "label" +d "in" +d "pattern:" +d name *) DuplicateRecordLabelInPat of (string * string) and (*% @format((code * name)) "(name evaluation" +d code ")" +d "duplicate" +d "record" +d "label" +d "in" +d "kind" +d "annotation:" +d name *) DuplicateRecordLabelInKind of (string * string) and (*% @format((code * name)) "(name evaluation" +d code ")" +d "duplicate" +d "structure" +d "name:" +d name *) DuplicateStrName of (string * string) and (*% @format((code * name)) "(name evaluation" +d code ")" +d "duplicate" +d "functor" +d "name:" +d name *) DuplicateFunctor of (string * string) and (*% @format((code * name)) "(name evaluation" +d code ")" +d "duplicate" +d "type" +d "name:" +d name *) DuplicateTypName of (string * string) and (*% @format((code * name)) "(name evaluation" +d code ")" +d "duplicate" +d "variables" +d "in" +d "patterns:" +d name *) DuplicateVarInPattern of (string * string) and (*% @format((code * name)) "(name evaluation" +d code ")" +d "duplicate" +d "type" +d "parameters" *) DuplicateTypParms of (string * string) and (*% @format((code * name)) "(name evaluation" +d code ")" +d "duplicate" +d "function" +d "names" +d "in" +d "fun" +d "decl:" +d name *) DuplicateFunVarInFunDecl of (string * string) and (*% @format((code * name)) "(name evaluation" +d code ")" +d "duplicate" +d "rec" +d "var" +d "names" +d "in" +d "rec" +d "decl:" +d name *) DuplicateVarInRecDecl of (string * string) and (*% @format((code * name)) "(name evaluation" +d code ")" +d "duplicate" +d "typ" +d "in" +d "type" +d "decl:" +d name *) DuplicateTypInTypeDecl of (string * string) and (*% @format((code * name)) "(name evaluation" +d code ")" +d "duplicate" +d "typ" +d "in" +d "datatype" +d "decl:" +d name *) DuplicateTypInDty of (string * string) and (*% @format((code * name)) "(name evaluation" +d code ")" +d "Duplicate" +d "type" +d "constructor" +d "in" +d "spec:" +d name *) DuplicateTypInSpec of (string * string) and (*% @format((code * name)) "(name evaluation" +d code ")" +d "duplicate" +d "exception" +d "name:" +d name *) DuplicateExnName of (string * string) and (*% @format((code * name)) "(name evaluation" +d code ")" +d "duplicate" +d "variable" +d "or" +d "constructor" +d "name" +d "in" +d "spec:" + name *) DuplicateIdInSpec of (string * string) and (*% @format((code * name)) "(name evaluation" +d code ")" +d "duplicate" +d "structure" +d "name" +d "in" +d "spec:" +d name *) DuplicateStrInSpec of (string * string) and (*% @format((code * name)) "(name evaluation" +d code ")" +d "duplicate" +d "constructor" +d "name:" +d name *) DuplicateConName of (string * string) and (*% @format((code * name)) "(name evaluation" +d code ")" +d "duplicate" +d "variable" +d "name:" +d name *) DuplicateVar of (string * string) and (*% @format((code * name)) "(name evaluation" +d code ")" +d "duplicate" +d "constructor" +d "name" +d "in" +d "datatype" +d "decl:" +d name *) DuplicateConNameInDty of (string * string) and (*% @format((code * name)) "(name evaluation" +d code ")" +d "duplicate" +d "structure" +d "name" +d "in" +d "structure" +d "binds:" +d name *) DuplicateStrInStrbind of (string * string) and (*% @format((code * name)) "(name evaluation" +d code ")" +d "Duplicate" +d "variable" +d "in" +d "spec:" +d name *) DuplicateVarInSpec of (string * string) and (*% @format((code * name)) "(name evaluation" +d code ")" +d "Duplicate" +d "constructor" +d "in" +d "spec:" +d name *) DuplicateConInSpec of (string * string) and (*% @format((code * name)) "(name evaluation" +d code ")" +d "Duplicate" +d "datatype" +d "constructor" +d "in" +d "spec:" +d name *) DuplicateDtyInSpec of (string * string) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "datatype" +d "name" +d "undefined:" +d longid *) DataTypeNameUndefined of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "structure" +d "name" +d "undefined:" +d longid *) StructureNameUndefined of (string * {longid : longid}) and (*% @format((code * {string})) "(name evaluation" +d code ")" +d "functor" +d "name" +d "undefined:" +d string *) FunctorNameUndefined of (string * {string : string}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "exception" +d "undefined:" +d longid *) ExnUndefined of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "exception" +d "expected:" +d longid *) ExnExpected of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "datatype" +d "name" +d "expected:" +d longid *) DataTypeNameExpected of (string * {longid: longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "variable" +d "pattern" +d "expected:" +d longid *) VarPatExpected of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "type" +d "constructor" +d "arity" +d "does't" +d "agree:" +d longid *) TypArity of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Signature mismatch." +d "Constructor" +d "not" +d "specified" +d "in" +d "signature:" +d longid *) SIGConNotInSig of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Signature mismatch." +d "Type" +d "constructor" +d "arity" +d "does't" +d "agree:" +d longid *) SIGArity of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Signature mismatch." +d "Illeagal" +d "where" +d "type" +d "specification:" +d longid *) SIGIlleagalRealizer of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Signature mismatch." +d "Illeagal" +d "shareing" +d "specification:" +d longid *) SIGIlleagalShare of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Signature mismatch." +d "Type" +d "definition" +d "expected:" +d longid *) SIGTypDefExpected of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Signature mismatch." +d "Type" +d "constructors" +d "do" +d "not" +d "agree:" +d longid *) SIGTypconMismatch of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Signature mismatch." +d "datatype" +d "constructor" +d "arity" +d "does't" +d "agree:" +d longid *) SIGDtyArity of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Signature mismatch." +d "datatype" +d "constructor" +d "arity" +d "does't" +d "agree:" +d longid *) SIGTyconArity of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Signature mismatch." +d "datatype" +d "expected:" +d longid *) SIGDtyRequired of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Signature mismatch" +d "(datatype):" +d longid *) SIGDtyMismatch of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Signature mismatch." +d "datatype" +d "replication" +d "expected:" +d longid *) SIGDtyrepRequired of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Signature mismatch." +d "datatype" +d "replication" +d "mismatch:" +d longid *) SIGDtyrepId of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Signature mismatch." +d "inconsistent" +d "typ" +d "in" + "datatype" +d "replication:" +d longid *) SIGDtyrepType of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Signature mismatch." +d "Type" +d "constructor" +d "undefined:" +d longid *) SIGTypUndefined of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Type" +d "constructor" +d "undefined" +d "in" +d "sig" +d "where:" +d longid *) TypUndefinedInSigwhere of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Type" +d "constructor" +d "undefined" +d "in" +d "sharing" +d "constraint:" +d longid *) TypUndefinedInSigshare of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Type" +d "mismatch" +d "in" +d "sig" +d "where:" +d longid *) TypeErrorInSigwhere of (string * {longid : longid}) and (*% @format((code * {longidList:longid longids})) "(name evaluation" +d code ")" +d "Type" +d "constructor" +d "arity" +d "mismatch" +d "in" +d "where" +d "type" +d "clause:" +1 longids(longid)(",") *) ArityErrorInSigwhere of (string * {longidList : longid list}) and (*% @format((code * {longidList:longid longids})) "(name evaluation" +d code ")" +d "Type" +d "constructor" +d "arity" +d "mismatch" +d "in" +d "sharing" +d "type" +d "clause:" +1 longids(longid)(",") *) ArityErrorInSigShare of (string * {longidList : longid list}) and (*% @format((code * {longidList:longid longids})) "(name evaluation" +d code ")" +d "Equality" +d "constraint" +d "violation" +d "in" +d "sharing" +d "type" +d "clause:" +1 longids(longid)(",") *) EqtypeInSigShare of (string * {longidList : longid list}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Equality" +d "constraint" +d "violation" +d "in" +d "where" +d "type" +d "clause:" +d longid *) EqtypeInSigwhere of (string * {longid : longid}) and (*% @format((code * {longidList:longid longids})) "(name evaluation" +d code ")" +d "Signature" +d "mismatch" +d "in" +d "sharing" +d "type" +d "clause:" +1 longids(longid)(",") *) SigErrorInSigShare of (string * {longidList : longid list}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Signature mismatch." +d "datatype" +d "undefined:" +d longid *) SIGDtyUndefined of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Signature mismatch." +d "datatype" +d "replication" +d "undefined:" +d longid *) SIGDtyrepUndefined of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Signature mismatch." +d "constructor" +d "undefined:" +d longid *) SIGConNotFoundInDty of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Signature mismatch." +d "constructor" +d "undefined:" +d longid *) SIGConNotFound of (string * {longid : longid}) and (*% @format((code * {typName, conName})) "(name evaluation" +d code ")" +d "Signature mismatch." +d "constructor" +d "of" +d "type" +d typName +d "not" +d "exported:" +d conName *) SIGConNotExported of (string * {typName:longid, conName:string}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Signature mismatch." +d "constructor" +d "undefined:" +d longid *) SIGConUndefined of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Signature mismatch." +d "eqtype" +d "expected:" +d longid *) SIGEqtype of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Signature mismatch." +d "constructor" +d "undefined" +d longid *) SIGConExpected of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Signature mismatch." +d "exception" +d "undefined" +d longid *) SIGExnExpected of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Signature mismatch" +d "(exception" +d "argument):" +d longid *) SIGExnType of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Signature mismatch." +d "variable" +d "undefined:" +d longid *) SIGVarUndefined of (string * {longid : longid}) and (*% @format((code * {longidList:longid longids})) "(name evaluation" +d code ")" +d "Signature mismatch." +d "sharing" +d "constraint" +d "not" +d "satisfied:" +1 longids(longid)(",") *) SIGShare of (string * {longidList : longid list}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Signature mismatch." +d "structure" +d "undefined" +d longid *) SIGStrUndefined of (string * {longid: longid}) and (*% @format((code * {name})) "(name evaluation" +d code ")" +d "Signature" +d "name" +d "undefined" +d name *) SigIdUndefined of (string * {name: string}) and (*% @format((code * {name})) "(name evaluation" +d code ")" +d "functor" +d "name" +d "undefined" +d name *) FunIdUndefined of (string * {name: string}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "type" +d "name" +d "expected" +d "in" +d "where" +d "type" +d "clause:" +d longid *) SpecTyExpected of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "undefined" +d "exception" +d "id:" +d longid *) ExceptionExpected of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "exception" +d "id" +d "expected" +d "in" +d "exception" +d "replication:" +d longid *) ExceptionNameUndefined of (string * {longid : longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "type" +d "constructor" +d "undefined" "in" +d "spec:" +d longid *) TypUndefinedInSpec of (string * {longid:longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "structure" +d "undefined" "in" +d "spec:" +d longid *) StrUndefinedInSpec of (string * {longid:longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "datatype" +d "undefined" "in" +d "spec:" +d longid *) DtyUndefinedInSpec of (string * {longid:longid}) (* **********************************************************************) and (*% @format((code * {name})) "(name evaluation" +d code ")" +d "unbound" +d "exception:" +d name *) ExnNotFound of (string * {name: string}) and (*% @format((code * {name})) "(name evaluation" +d code ")" +d "unbound" +d "signature:" +d name *) SignatureNotFound of (string * {name: string}) and (*% @format((code * {name})) "(name evaluation" +d code ")" +d "unbound" +d "functor:" +d name *) FunctorNotFound of (string * {name: string}) and (*% @format((code * {name})) "(name evaluation" +d code ")" +d "Signature" +d "mismatch" +d "(undefined" + d "datatype" +d "in" +d "structure):" +d name *) SigMisMatchNotFoundDataTy of (string * {name: string}) and (*% @format((code * {name})) "(name evaluation" +d code ")" +d "Signature" +d "mismatch" +d "(undefined" +d "data" +d "constructor" +d "in" +d "structure)" name *) SigMisMatchNotFoundCon of (string * {name: string}) and (*% @format((code * {name})) "(name evaluation" +d code ")" +d "Signature" +d "mismatch" +d "(undefined" +d "exception" +d "constructor" +d "in" +d "structure):" +d name *) SigMisMatchNotFoundExn of (string * {name: string}) and (*% @format((code * {name})) "(name evaluation" +d code ")" +d "Signature" +d "mismatch" +d "(undefined" +d "variable" +d "in" +d "structure):" +d name *) SigMisMatchNotFoundVar of (string * {name: string}) and (*% @format((code * {name})) "(name evaluation" +d code ")" +d "Signature" +d "mismatch" +d "(undefined" +d "structure" +d "in" +d "structure):" +d name *) SigMisMatchNotFoundStr of (string * {name: string}) and (*% @format((code * {name})) "(name evaluation" +d code ")" +d "Interface" +d "mismatch" +d "(undefined" +d "functor" +d "in" +d "implementation):" +d name *) InterfaceMisMatchNotFoundFunctor of (string * {name: string}) (* provide error *) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Builtin" +d "primitive" +d "in" +d "provide" +d "clause:" +d longid *) ProvideBuiltIn of (string * {longid: longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Orverload" +d "primitive" +d "in" +d "provide" +d "clause:" +d longid *) ProvideOverload of (string * {longid: longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Provide" + "check" +d "fails" +d "(missing" + "id):" +d + longid *) ProvideUndefinedID of (string * {longid: longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Provide" + "check" +d "fails" +d "(type" + "mismatch):" +d longid *) ProvideIDType of (string * {longid: longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Provide" + "check" +d "fails" +d "(variable" + "id" + "expected):" +d longid *) ProvideVarIDExpected of (string * {longid: longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Provide" + "check" +d "fails" +d "(variable" + "alias" + "mismatch):" +d longid *) ProvideVariableAlias of (string * {longid: longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Provide" + "check" +d "fails" +d "(missing" + "type" + "name):" +d longid *) ProvideUndefinedTypeName of (string * {longid: longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Provide" + "check" +d "fails" +d "(missing" + "exception" + "name):" +d longid *) ProvideUndefinedException of (string * {longid: longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Provide" + "check" +d "fails" +d "(type" + "definition):" +d longid *) ProvideInequalTfun of (string * {longid: longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Provide" + "check" +d "fails" +d "(datatype" + "expceted):" +d longid *) ProvideDtyExpected of (string * {longid: longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Provide" +d "check" +d "fails" +d "(opaque" +d "type" +d "expceted):" +d longid *) ProvideOpaqueExpected of (string * {longid: longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Provide" + "check" +d "fails" +d "(exception" + "type" + "mistch):" +d longid *) ProvideExceptionType of (string * {longid: longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Provide" + "check" +d "fails" +d "(generative" +d "exception" +d "definition" +d "expected):" +d longid *) ProvideExceptionDef of (string * {longid: longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Provide" + "check" +d "fails" +d "(exception" +d "replication" +d "expected):" +d longid *) ProvideExceptionRep of (string * {longid: longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Provide" + "check" +d "fails" +d "(exception" +d "replication" +d "mismatch):" +d longid *) ProvideExceptionRepID of (string * {longid: longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Provide" + "check" +d "fails" +d "(type" + "arity" + "mistch):" +d longid *) ProvideArity of (string * {longid: longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Provide" + "check" +d "fails" +d "(equality" + "type" + "expected):" +d longid *) ProvideEquality of (string * {longid: longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Provide" + "check" +d "fails" +d "(runtime" + "type" + "mismatch):" +d longid *) ProvideRuntimeType of (string * {longid: longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Provide" + "check" +d "fails" +d "(constructor" + "type" + "mistch):" +d longid *) ProvideConType of (string * {longid: longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Provide" + "check" +d "fails" +d "(constructore" + "undefined):" +d longid *) ProvideUndefinedCon of (string * {longid: longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Provide" + "check" +d "fails" +d "(structure" + "undefined):" +d longid *) ProvideUndefinedStr of (string * {longid: longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Provide" + "check" +d "fails" +d "(structure" + "replication):" +d longid *) ProvideStrRep of (string * {longid: longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Provide" + "check" +d "fails" +d "(functor" + "undefined):" +d longid *) ProvideUndefinedFunctorName of (string * {longid: longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Provide" + "check" +d "fails" +d "(redundant" + "constructor):" +d longid *) ProvideRedundantCon of (string * {longid: longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Provide" +d "check" +d "fails" +d "(functor" +d "parameter" +d "signature" +d "mismatch):" +d longid *) ProvideFunparamMismatch of (string * {longid: longid}) and (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "Provide" +d "check" +d "fails" +d "(functor" +d "body" +d "signature" +d "mismatch):" +d longid *) ProvideFunctorMismatch of (string * {longid: longid}) and (** *) (*% @format((code * ty)) "(name evaluation" +d code ")" +d "foreign" +d "function" +d "type" +d "is" +d "not" +d "allowed" +d "here:" +d ty *) FFIFunTyIsNotAllowedHere of (string * PatternCalc.ffiTy) and (** *) (*% @format((code * {longid})) "(name evaluation" +d code ")" +d "invalid" +d "overload" +d "instance:" +d longid *) InvalidOverloadInst of (string * {longid: longid}) end end smlsharp-1.2.0/src/compiler/nameevaluation/main/NameEvalError.ppg.smi0000644 000000000000000000002061112050661606026041 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../patterncalc/main/PatternCalc.ppg.smi" _require "../../usererror/main/UserError.ppg.smi" structure NameEvalError = struct exception InvalidOverloadInst of string * {longid:string list} exception FFIFunTyIsNotAllowedHere of string * PatternCalc.ffiTy exception ProvideFunctorMismatch of string * {longid:string list} exception ProvideFunparamMismatch of string * {longid:string list} exception ProvideRedundantCon of string * {longid:string list} exception ProvideUndefinedStr of string * {longid:string list} exception ProvideStrRep of string * {longid: string list} exception ProvideUndefinedFunctorName of string * {longid: string list} exception ProvideUndefinedCon of string * {longid:string list} exception ProvideConType of string * {longid:string list} exception ProvideRuntimeType of string * {longid:string list} exception ProvideEquality of string * {longid:string list} exception ProvideArity of string * {longid:string list} exception ProvideExceptionRepID of string * {longid:string list} exception ProvideExceptionRep of string * {longid:string list} exception ProvideExceptionDef of string * {longid:string list} exception ProvideExceptionType of string * {longid:string list} exception ProvideOpaqueExpected of string * {longid:string list} exception ProvideDtyExpected of string * {longid:string list} exception ProvideInequalTfun of string * {longid:string list} exception ProvideUndefinedException of string * {longid:string list} exception ProvideUndefinedTypeName of string * {longid:string list} exception ProvideVariableAlias of string * {longid:string list} exception ProvideVarIDExpected of string * {longid:string list} exception ProvideUndefinedID of string * {longid:string list} exception ProvideIDType of string * {longid:string list} exception ProvideOverload of string * {longid:string list} exception ProvideBuiltIn of string * {longid:string list} exception InterfaceMisMatchNotFoundFunctor of string * {name:string} exception SigMisMatchNotFoundStr of string * {name:string} exception SigMisMatchNotFoundVar of string * {name:string} exception SigMisMatchNotFoundExn of string * {name:string} exception SigMisMatchNotFoundCon of string * {name:string} exception SigMisMatchNotFoundDataTy of string * {name:string} exception FunctorNotFound of string * {name:string} exception SignatureNotFound of string * {name:string} exception ExnNotFound of string * {name:string} exception DtyUndefinedInSpec of string * {longid:string list} exception StrUndefinedInSpec of string * {longid:string list} exception TypUndefinedInSpec of string * {longid:string list} exception ExceptionNameUndefined of string * {longid:string list} exception ExceptionExpected of string * {longid:string list} exception SpecTyExpected of string * {longid:string list} exception FunIdUndefined of string * {name:string} exception SigIdUndefined of string * {name:string} exception SIGStrUndefined of string * {longid:string list} exception SIGShare of string * {longidList:string list list} exception SIGVarUndefined of string * {longid:string list} exception SIGExnType of string * {longid:string list} exception SIGExnExpected of string * {longid:string list} exception SIGConExpected of string * {longid:string list} exception SIGEqtype of string * {longid:string list} exception SIGConUndefined of string * {longid:string list} exception SIGConNotExported of string * {conName:string, typName:string list} exception SIGConNotFound of string * {longid:string list} exception SIGConNotFoundInDty of string * {longid:string list} exception SIGDtyrepUndefined of string * {longid:string list} exception SIGDtyUndefined of string * {longid:string list} exception SigErrorInSigShare of string * {longidList:string list list} exception EqtypeInSigwhere of string * {longid:string list} exception EqtypeInSigShare of string * {longidList:string list list} exception ArityErrorInSigShare of string * {longidList:string list list} exception ArityErrorInSigwhere of string * {longidList:string list list} exception TypeErrorInSigwhere of string * {longid:string list} exception TypUndefinedInSigshare of string * {longid:string list} exception TypUndefinedInSigwhere of string * {longid:string list} exception SIGTypUndefined of string * {longid:string list} exception SIGDtyrepType of string * {longid:string list} exception SIGDtyrepId of string * {longid:string list} exception SIGDtyrepRequired of string * {longid:string list} exception SIGDtyMismatch of string * {longid:string list} exception SIGDtyRequired of string * {longid:string list} exception SIGTyconArity of string * {longid:string list} exception SIGDtyArity of string * {longid:string list} exception SIGTypconMismatch of string * {longid:string list} exception SIGTypDefExpected of string * {longid:string list} exception SIGIlleagalShare of string * {longid:string list} exception SIGIlleagalRealizer of string * {longid:string list} exception SIGArity of string * {longid:string list} exception SIGConNotInSig of string * {longid:string list} exception TypArity of string * {longid:string list} exception VarPatExpected of string * {longid:string list} exception DataTypeNameExpected of string * {longid:string list} exception ExnExpected of string * {longid:string list} exception ExnUndefined of string * {longid:string list} exception DataTypeNameUndefined of string * {longid:string list} exception StructureNameUndefined of string * {longid : string list} exception FunctorNameUndefined of string * {string : string} exception DuplicateDtyInSpec of string * string exception DuplicateConInSpec of string * string exception DuplicateVarInSpec of string * string exception DuplicateStrInStrbind of string * string exception DuplicateConNameInDty of string * string exception DuplicateVar of string * string exception DuplicateConName of string * string exception DuplicateStrInSpec of string * string exception DuplicateIdInSpec of string * string exception DuplicateExnName of string * string exception DuplicateTypInSpec of string * string exception DuplicateTypInDty of string * string exception DuplicateTypInTypeDecl of string * string exception DuplicateVarInRecDecl of string * string exception DuplicateFunVarInFunDecl of string * string exception DuplicateTypParms of string * string exception DuplicateVarInPattern of string * string exception DuplicateTypName of string * string exception DuplicateFunctor of string * string exception DuplicateStrName of string * string exception DuplicateRecordLabelInKind of string * string exception DuplicateRecordLabelInRawType of string * string exception DuplicateRecordLabelInExp of string * string exception DuplicateRecordLabelInPat of string * string exception DuplicateRecordLabelInUpdate of string * string exception DuplicateSigname of string * string exception ImproperSigshare of string * {longid:string list} exception ImproperSigwhere of string * {longid:string list} exception NonConstructor of string * {pat:PatternCalc.plpat} exception IlleagalFunID of string * {pat:PatternCalc.plpat} exception TvarNotFound of string * {name:string} exception TypNotFound of string * {longid:string list} exception VarNotFound of string * {longid:string list} exception ConNotFound of string * {longid:string list} exception VarOrConNotFound of string * {longid:string list} exception BuiltinTyNotFound of string * {name:string} exception RuntimeTyNotFound of string * {name:string} exception PrimitiveNotFound of string * {name:string} exception FunctorParamRestriction of string * {longid:string list} exception StrNotFound of string * {longid:string list} end smlsharp-1.2.0/src/compiler/nameevaluation/main/NameEvalInterface.smi0000644 000000000000000000000362712050661606026073 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/PathEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../absyn/main/AbsynInterface.ppg.smi" _require "../../builtin2/main/BuiltinPrimitive.ppg.smi" _require "../../builtin2/main/BuiltinTypes.smi" _require "../../name/main/LocalID.smi" _require "../../types/main/EvalIty.smi" _require "../../types/main/Types.ppg.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../types/main/tvarMap.smi" _require "../../usererror/main/UserErrorUtils.smi" _require "../../util/main/utils.smi" _require "../../patterncalc/main/PatternCalc.ppg.smi" _require "../../patterncalc/main/PatternCalcInterface.ppg.smi" _require "EvalSig.smi" _require "EvalTy.smi" _require "FunctorUtils.smi" _require "NameEvalEnv.ppg.smi" _require "NameEvalError.ppg.smi" _require "NameEvalUtils.smi" _require "NormalizeTy.smi" _require "SigCheck.smi" _require "SetLiftedTys.smi" _require "Subst.smi" _require "TfunVars.smi" structure NameEvalInterface = struct type interfaceEnv = {decls: IDCalc.icdecl list, source: PatternCalcInterface.pitopdec list, topEnv: NameEvalEnv.topEnv} InterfaceID.Map.map val evalPitopdecList : NameEvalEnv.topEnv -> PathSet.set * PatternCalcInterface.pitopdec list -> PathSet.set * NameEvalEnv.topEnv * IDCalc.icdecl list val evalPistr : string list -> NameEvalEnv.topEnv -> PathSet.set * PatternCalcInterface.pistrexp -> PathSet.set * NameEvalEnv.strEntry * IDCalc.icdecl list val internalizeEnv : NameEvalEnv.env -> NameEvalEnv.env val evalInterfaces : NameEvalEnv.topEnv -> PatternCalcInterface.interfaceDec list -> interfaceEnv end smlsharp-1.2.0/src/compiler/nameevaluation/main/NameEvalInterface.sml0000644 000000000000000000013253412050661606026076 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2012- Tohoku University. * @author Atsushi Ohori *) (* the initial error code of this file : EI-001 *) structure NameEvalInterface : sig type interfaceEnv val evalPitopdecList : NameEvalEnv.topEnv -> PathSet.set * PatternCalcInterface.pitopdec list -> PathSet.set * NameEvalEnv.topEnv * IDCalc.icdecl list val evalPistr : string list -> NameEvalEnv.topEnv -> PathSet.set * PatternCalcInterface.pistrexp -> PathSet.set * NameEvalEnv.strEntry * IDCalc.icdecl list val internalizeEnv : NameEvalEnv.env -> NameEvalEnv.env val evalInterfaces : NameEvalEnv.topEnv -> PatternCalcInterface.interfaceDec list -> interfaceEnv end = struct local structure I = IDCalc structure T = Types structure V = NameEvalEnv structure BT = BuiltinTypes structure PI = PatternCalcInterface structure PC = PatternCalc structure U = NameEvalUtils structure EU = UserErrorUtils structure E = NameEvalError structure AI = AbsynInterface structure A = Absyn structure N = NormalizeTy structure Ty = EvalTy structure ITy = EvalIty structure Sig = EvalSig structure SC = SigCheck structure L = SetLiftedTys structure S = Subst structure FU = FunctorUtils fun bug s = Control.Bug ("NameEvalInterface: " ^ s) val nilPath = nil (* FIXME factor out this def into some unique plcae *) val FUNCORPREFIX = "_" in val revealKey = RevealID.generate() (* global reveal key *) type interfaceEnv = {decls: IDCalc.icdecl list, source: PatternCalcInterface.pitopdec list, topEnv: NameEvalEnv.topEnv} InterfaceID.Map.map (* change exception status to EXREP; copied from NameEval.sml *) fun exceptionRepVarE varE = SEnv.map (fn (I.IDEXN info) => I.IDEXNREP info (* 2012-9-25 ohori added to fixe 241_functorExn bug *) | (I.IDEXEXN info) => I.IDEXEXNREP info | (idstatus as I.IDEXVAR {used, ...}) => (used := true; idstatus) | idstatus => idstatus) varE fun exceptionRepStrEntry {env=V.ENV {varE, tyE, strE}, strKind} = let val varE = exceptionRepVarE varE val strE = exceptionRepStrE strE in {env=V.ENV{varE = varE, tyE = tyE, strE=strE}, strKind=strKind} end and exceptionRepStrE (V.STR envMap) = let val envMap = SEnv.map exceptionRepStrEntry envMap in V.STR envMap end (* bug 245 *) fun exceptionExternVarE loc path varE = SEnv.mapi (fn (name, I.IDEXN {id, ty}) => I.IDEXEXN {path=path@[name], ty=ty, used=ref false, loc=loc, version=NONE} | (name, I.IDEXNREP {id, ty}) => I.IDEXEXNREP {path=path@[name], ty=ty, used=ref false, loc=loc, version=NONE} | (name, idstatus) => idstatus) varE fun exceptionExternEnv loc path (V.ENV {varE, tyE, strE}) = let val varE = exceptionExternVarE loc path varE val strE = exceptionExternStrE loc path strE in V.ENV{varE = varE, tyE = tyE, strE=strE} end and exceptionExternStrEntry loc path {env, strKind} = {env=exceptionExternEnv loc path env, strKind=strKind} and exceptionExternStrE loc path (V.STR envMap) = let val envMap = SEnv.mapi (fn (name, strEntry) => exceptionExternStrEntry loc (path @ [name]) strEntry ) envMap in V.STR envMap end fun evalRuntimeTy loc tvarEnv evalEnv runtimeTy = case runtimeTy of PI.BUILTINty ty => I.BUILTINty ty | PI.LIFTEDty path => let val aty = Absyn.TYCONSTRUCT(nil, path, loc) val ity = Ty.evalTy tvarEnv evalEnv aty in case ity of I.TYVAR (tvar as {lifted,...}) => if lifted then I.LIFTEDty tvar else raise bug "non lifted tvar in evalRuntimeTy" | _ => (case I.runtimeTyOfIty ity of SOME ty => ty | NONE => (U.print "no runtimeTy :"; U.printPath path; U.print "\n"; raise bug "no runtimeTy in evalRuntimeTy" ) ) end fun genTypedExternVarsIdstatus loc path idstatus (externSet, icdecls) = case idstatus of I.IDVAR varId => (externSet, idstatus, icdecls) | I.IDVAR_TYPED {id, ty} => (externSet, idstatus, icdecls) | I.IDEXVAR {path, ty, used, loc, version, internalId} => let val path = case version of NONE => path | SOME i => path @ [Int.toString i] in if PathSet.member(externSet, path) then (externSet, I.IDEXVAR {path=path, ty=ty, used=used, loc=loc, version=version, internalId=internalId}, icdecls) else (PathSet.add(externSet, path), I.IDEXVAR {path=path, ty=ty, used=used, loc=loc, version=version, internalId=internalId}, I.ICEXTERNVAR ({path=path, ty=ty}, loc)::icdecls) end | I.IDEXVAR_TOBETYPED _ => raise bug "IDEXVAR_TOBETYPED" | I.IDBUILTINVAR {primitive, ty} => (externSet, idstatus, icdecls) | I.IDCON {id, ty} => (externSet, idstatus, icdecls) | I.IDEXN {id, ty} => (externSet, idstatus, icdecls) | I.IDEXNREP {id, ty} => (externSet, idstatus, icdecls) | I.IDEXEXN {path, ty, used, loc, version} => let val path = case version of NONE => path | SOME i => path @ [Int.toString i] in if PathSet.member(externSet, path) then (externSet, I.IDEXEXN {path=path, ty=ty, used=used, loc=loc, version=version}, icdecls) else (PathSet.add(externSet, path), I.IDEXEXN {path=path, ty=ty, used=used, loc=loc, version=version}, I.ICEXTERNEXN ({path=path, ty=ty}, loc)::icdecls) end | I.IDEXEXNREP {path, ty, used, loc, version} => (externSet, idstatus, icdecls) | I.IDOPRIM _ => (externSet, idstatus, icdecls) | I.IDSPECVAR ty => raise bug "IDSPECVAR in genTypedExternVars" | I.IDSPECEXN ty => raise bug "IDSPECEXN in genTypedExternVars" | I.IDSPECCON => raise bug "IDSPECCON in genTypedExternVars" fun genTypedExternVarsVarE loc path varE (externSet, icdecls) = SEnv.foldli (fn (name, idstatus, (externSet, varE, icdecls)) => let val (externSet, idstatus, icdecls) = genTypedExternVarsIdstatus loc (path@[name]) idstatus (externSet, icdecls) val varE = SEnv.insert(varE, name, idstatus) in (externSet, varE, icdecls) end ) (externSet, SEnv.empty, icdecls) varE fun genTypedExternVarsEnv loc path (V.ENV{varE, tyE, strE}) (externSet, icdecls) = let val (externSet, varE, icdecls) = genTypedExternVarsVarE loc path varE (externSet, icdecls) val (extdenSet, strE, icdecls) = genTypedExternVarsStrE loc path strE (externSet, icdecls) val env = V.ENV{varE=varE, tyE=tyE, strE=strE} in (externSet, env, icdecls) end and genTypedExternVarsStrE loc path (V.STR strEntryMap) (externSet, icdecls) = let val (externSet, strEntryMap, icdecls) = SEnv.foldli (fn (name, {env, strKind}, (externSet, strEntryMap, icdecls)) => let val (externSet, env, icdecls) = genTypedExternVarsEnv loc (path@[name]) env (externSet, icdecls) val strEntryMap = SEnv.insert(strEntryMap, name, {env=env, strKind=strKind}) in (externSet, strEntryMap, icdecls) end ) (externSet, SEnv.empty, icdecls) strEntryMap in (externSet, V.STR strEntryMap, icdecls) end fun evalPidec path (topEnv as {Env=env, FunE, SigE}) (externSet, pidec) = case pidec of PI.PIVAL {scopedTvars, vid=name, body, loc} => let val (tvarEnv, kindedTvars) = Ty.evalScopedTvars loc Ty.emptyTvarEnv env scopedTvars fun evalOverloadCase {tyvar, expTy, matches, loc} = let val tvar = Ty.evalTvar loc tvarEnv tyvar val expTy = Ty.evalTy tvarEnv env expTy val matches = map evalMatch matches in {tvar=tvar, expTy=expTy, matches=matches, loc=loc} end and evalMatch {instTy, instance} = let val instTy = Ty.evalTy tvarEnv env instTy val instance = evalInstance instance in {instTy=instTy, instance=instance} end and evalInstance instance = case instance of AI.INST_OVERLOAD overloadCase => I.INST_OVERLOAD (evalOverloadCase overloadCase) | AI.INST_LONGVID {vid} => let fun error e = (EU.enqueueError (loc, e); I.INST_EXVAR ({path=path, used=ref false, ty=I.TYERROR}, loc)) in (case V.lookupId env vid of I.IDEXVAR {path, ty, used, loc, version, internalId} => let val path = case version of NONE => path | SOME i => path @ [Int.toString i] in I.INST_EXVAR ({path=path, used = used, ty=ty}, loc) end | I.IDEXVAR_TOBETYPED _ => raise bug "IDEXVAR_TOBETYPED" | I.IDBUILTINVAR {primitive, ty} => I.INST_PRIM ({primitive=primitive, ty=ty}, loc) | I.IDVAR id => error (E.InvalidOverloadInst("EI-010", {longid=vid})) | I.IDVAR_TYPED {id, ty} => error (E.InvalidOverloadInst("EI-010", {longid=vid})) | I.IDOPRIM _ => error (E.InvalidOverloadInst("EI-020", {longid=vid})) | I.IDCON _ => error (E.InvalidOverloadInst("EI-030", {longid=vid})) | I.IDEXN _ => error (E.InvalidOverloadInst("EI-040", {longid=vid})) | I.IDEXNREP _ => error (E.InvalidOverloadInst("EI-050", {longid=vid})) | I.IDEXEXN {path,ty, used,loc, version} => error (E.InvalidOverloadInst("EI-060", {longid=vid})) | I.IDEXEXNREP {path,ty, used, loc, version} => error (E.InvalidOverloadInst("EI-060", {longid=vid})) | I.IDSPECVAR _ => raise bug "SPEC id status" | I.IDSPECEXN _ => raise bug "SPEC id status" | I.IDSPECCON => raise bug "SPEC id status") handle V.LookupId => error (E.VarNotFound("EI-070",{longid=vid})) end val path = path@[name] in case body of AI.VAL_EXTERN {ty} => let val ty = Ty.evalTy tvarEnv env ty val ty = case kindedTvars of nil => ty | _ => I.TYPOLY(kindedTvars,ty) val idstatus = I.IDEXVAR {path=path, ty=ty, used=ref false, loc=loc, internalId=NONE, version=NONE} val icdecl = I.ICEXTERNVAR ({path=path, ty=ty}, loc) val externSet = PathSet.add(externSet, path) in (externSet, V.rebindId (V.emptyEnv, name, idstatus), [icdecl]) end | AI.VAL_EXTERN_WITHNAME {ty, externPath} => let val ty = Ty.evalTy tvarEnv env ty val ty = case kindedTvars of nil => ty | _ => I.TYPOLY(kindedTvars,ty) val idstatus = I.IDEXVAR {path=externPath, ty=ty, used=ref false, loc=loc, version=NONE, internalId=NONE} val icdecl = I.ICEXTERNVAR ({path=externPath, ty=ty}, loc) val externSet = PathSet.add(externSet, externPath) in (externSet, V.rebindId (V.emptyEnv, name, idstatus), [icdecl]) end | AI.VALALIAS_EXTERN {path} => (case V.findId(env, path) of SOME (idstatus as I.IDEXVAR {path, ty, used, loc, version, internalId}) => let val exPath = case version of NONE => path | SOME i => path @ [Int.toString i] in if PathSet.member(externSet, exPath) then (externSet, V.rebindId (V.emptyEnv, name, idstatus), nil) else let val icdecl = I.ICEXTERNVAR ({path=exPath, ty=ty}, loc) val externSet = PathSet.add(externSet, exPath) in (externSet, V.rebindId (V.emptyEnv, name, idstatus), [icdecl]) end end | SOME (idstatus as I.IDBUILTINVAR _) => (externSet, V.rebindId (V.emptyEnv, name, idstatus), nil) | SOME _ => (EU.enqueueError (loc, E.ProvideVarIDExpected("EI-080", {longid = path})); (externSet, V.emptyEnv, nil)) | NONE => (EU.enqueueError (loc, E.ProvideUndefinedID("EI-080", {longid = path})); (externSet, V.emptyEnv, nil)) ) | AI.VAL_BUILTIN {builtinName, ty} => let val ty = Ty.evalTy tvarEnv env ty val ty = case kindedTvars of nil => ty | _ => I.TYPOLY(kindedTvars,ty) in case BuiltinPrimitive.findPrimitive builtinName of SOME primitive => let val idstatus = I.IDBUILTINVAR {primitive=primitive, ty=ty} in (externSet, V.rebindId (V.emptyEnv, name, idstatus), nil) end | NONE => (EU.enqueueError (loc, E.PrimitiveNotFound("EI-080", {name = builtinName})); (externSet, V.emptyEnv, nil)) end | AI.VAL_OVERLOAD overloadCase => let val id = OPrimID.generate() val overloadCase = evalOverloadCase overloadCase val decl = I.ICOVERLOADDEF {boundtvars=kindedTvars, id=id, path=path, overloadCase=overloadCase, loc = loc} val idstatus = I.IDOPRIM {id=id, overloadDef=decl, used=ref false, loc=loc} in (externSet, V.rebindId (V.emptyEnv, name, idstatus), [decl]) end end | PI.PITYPE {tyvars, tycon, ty, loc} => let val _ = EU.checkNameDuplication (fn {name, eq} => name) tyvars loc (fn s => E.DuplicateTypParms("EI-090",s)) val (tvarEnv, tvarList) = Ty.genTvarList Ty.emptyTvarEnv tyvars val ty = Ty.evalTy tvarEnv env ty val tfun = case N.tyForm tvarList ty of N.TYNAME tfun => tfun | N.TYTERM ty => let val iseq = N.admitEq tvarList ty val tfun = I.TFUN_DEF {iseq=iseq, formals=tvarList, realizerTy=ty } in tfun end in (externSet, V.rebindTstr (V.emptyEnv, tycon, V.TSTR tfun), nil) end | PI.PIOPAQUE_TYPE {tyvars, tycon, runtimeTy, loc} => let val _ = EU.checkNameDuplication (fn {name, eq} => name) tyvars loc (fn s => E.DuplicateTypParms("EI-090",s)) val (tvarEnv, tvarList) = Ty.genTvarList Ty.emptyTvarEnv tyvars val id = TypID.generate() val runtimeTy = evalRuntimeTy loc tvarEnv env runtimeTy val absTfun = I.TFUN_VAR (I.mkTfv (I.TFUN_DTY {id=id, iseq=false, formals=tvarList, runtimeTy= runtimeTy, conSpec=SEnv.empty, originalPath= path@[tycon], (* bug foud in asai zemi *) liftedTys=I.emptyLiftedTys, dtyKind= I.DTY_INTERFACE } ) ) in (externSet, V.rebindTstr (V.emptyEnv, tycon, V.TSTR absTfun), nil) end | PI.PIOPAQUE_EQTYPE {tyvars, tycon, runtimeTy, loc} => let val _ = EU.checkNameDuplication (fn {name, eq} => name) tyvars loc (fn s => E.DuplicateTypParms("EI-090",s)) val (tvarEnv, tvarList) = Ty.genTvarList Ty.emptyTvarEnv tyvars val id = TypID.generate() val runtimeTy = evalRuntimeTy loc tvarEnv env runtimeTy val absTfun = I.TFUN_VAR (I.mkTfv( I.TFUN_DTY {id=id, iseq=true, formals=tvarList, runtimeTy= runtimeTy, conSpec=SEnv.empty, originalPath= path@[tycon], (* bug foud in asai zemi *) liftedTys=I.emptyLiftedTys, dtyKind= I.DTY_INTERFACE } ) ) in (externSet, V.rebindTstr (V.emptyEnv, tycon, V.TSTR absTfun), nil) end | PI.PITYPEBUILTIN {tycon, builtinName, loc} => (case BuiltinTypes.findTstrInfo builtinName of NONE => (EU.enqueueError (loc, E.BuiltinTyNotFound("EI-100", {name = builtinName})); (externSet, V.emptyEnv, nil) ) | SOME (tstrInfo as {varE, ...}) => let val tstr = V.TSTR_DTY tstrInfo val env = V.rebindTstr (V.emptyEnv, tycon, tstr) val env = V.envWithVarE (env, varE) in (externSet, env, nil) end ) | PI.PIDATATYPE {datbind, loc} => let val (env, icdecls) = Ty.evalDatatype path env (datbind, loc) in (externSet, env, icdecls) end | PI.PITYPEREP {tycon, origTycon=path, loc} => (* datatype foo = datatype bar *) ( case V.findTstr(env, path) of NONE => (EU.enqueueError (loc, E.DataTypeNameUndefined("EI-110", {longid = path})); (externSet, V.emptyEnv, nil)) | SOME tstr => let val (tstr, varE) = case tstr of V.TSTR_DTY {tfun, varE, formals, conSpec} => (tstr, varE) | _ => (EU.enqueueError (loc, E.DataTypeNameExpected("EI-130", {longid = path})); (tstr, SEnv.empty)) val env = V.rebindTstr (V.emptyEnv, tycon, tstr) val env = SEnv.foldri (fn (name, idstatus, env) => V.rebindId(env, name, idstatus)) env varE in (externSet, env, nil) end ) | PI.PIEXCEPTION {vid=name, ty=tyOpt, externPath, loc} => let val ty = case tyOpt of NONE => BT.exnITy | SOME ty => I.TYFUNM([Ty.evalTy Ty.emptyTvarEnv env ty], BT.exnITy) val externPath = case externPath of NONE => path@[name] | SOME path => path val idstatus = I.IDEXEXN {path=externPath, ty=ty, used=ref false, loc=loc, version=NONE } val icdecl = I.ICEXTERNEXN ({path=externPath, ty=ty}, loc) val externSet = PathSet.add(externSet, externPath) in (externSet, V.rebindId (V.emptyEnv, name, idstatus), [icdecl]) end | PI.PIEXCEPTIONREP {vid=name, origId=path, loc} => ( case V.findId(env, path) of NONE => ( EU.enqueueError (loc, E.ExceptionNameUndefined("EI-140", {longid = path})); (externSet, V.emptyEnv, nil)) | SOME (idstatus as I.IDEXN exnInfo) => (externSet, V.rebindId (V.emptyEnv, name, I.IDEXNREP exnInfo), nil) | SOME (idstatus as I.IDEXNREP exnInfo) => (externSet, V.rebindId (V.emptyEnv, name, I.IDEXNREP exnInfo), nil) | SOME (idstatus as I.IDEXEXN (exExnInfo as {path, ty, used, loc, version})) => let val exPath = case version of NONE => path | SOME i => path @ [Int.toString i] in if PathSet.member(externSet, exPath) then (externSet, V.rebindId (V.emptyEnv, name, I.IDEXEXNREP exExnInfo), nil) else let val icdecl = I.ICEXTERNEXN ({path=exPath, ty=ty}, loc) val externSet = PathSet.add(externSet, exPath) in (externSet, V.rebindId (V.emptyEnv, name, I.IDEXEXNREP exExnInfo), [icdecl]) end end | SOME (idstatus as I.IDEXEXNREP (exnInfo as {path, ty, used, loc, version})) => let val exPath = case version of NONE => path | SOME i => path @ [Int.toString i] in if PathSet.member(externSet, exPath) then (externSet, V.rebindId (V.emptyEnv, name, I.IDEXEXNREP exnInfo), nil) else let val icdecl = I.ICEXTERNEXN ({path=exPath, ty=ty}, loc) val externSet = PathSet.add(externSet, exPath) in (externSet, V.rebindId (V.emptyEnv, name, I.IDEXEXNREP exnInfo), [icdecl]) end end | _ => (EU.enqueueError (loc, E.ExceptionExpected("EI-150", {longid = path})); (externSet, V.emptyEnv, nil)) ) | PI.PISTRUCTURE {strid, strexp, loc} => let val (externSet, strEntry, icdecls) = evalPistr (path@[strid]) topEnv (externSet, strexp) val env = V.rebindStr (V.emptyEnv, strid, strEntry) in (externSet, env, icdecls) end and evalPistr path topEnv (externSet, pistrexp) = case pistrexp of PI.PISTRUCT {decs, loc} => let val strKind = V.STRENV (StructureID.generate()) val (externSet, env, icdecls) = foldl (fn (decl, (externSet, env, icdecls)) => let val evalTopEnv = V.topEnvWithEnv (topEnv,env) val (externSet, newEnv, newicdecls) = evalPidec path evalTopEnv (externSet, decl) in (externSet, V.unionEnv "210" loc (env, newEnv), icdecls@newicdecls) end ) (externSet, V.emptyEnv, nil) decs in (externSet, {env=env, strKind=strKind}, icdecls) end | PI.PISTRUCTREP{strPath, loc} => let val {Env,...} = topEnv in case V.findStr(Env, strPath) of NONE => ( EU.enqueueError (loc, E.ExceptionNameUndefined("EI-140", {longid = path})); (externSet, {env=V.emptyEnv, strKind=V.STRENV(StructureID.generate())}, nil) ) | SOME strEntry => let val strEntry = exceptionRepStrEntry strEntry in (externSet, strEntry, nil) end end | PI.PIFUNCTORAPP{functorName, argumentPath, loc} => let val copyPath = path val {Env, FunE,...} = topEnv in case (SEnv.find(FunE, functorName), V.findStr(Env, argumentPath)) of (NONE, _) => (EU.enqueueError (loc, E.FunctorNameUndefined("EI-140", {string = functorName})); (externSet, {env=V.emptyEnv, strKind=V.STRENV(StructureID.generate())}, nil) ) | (_, NONE) => (EU.enqueueError (loc, E.StructureNameUndefined("EI-140", {longid = argumentPath})); (externSet, {env=V.emptyEnv, strKind=V.STRENV(StructureID.generate())}, nil)) | (SOME funEEntry, SOME {env=argStrEnv, strKind}) => let val {id=funId,version, used,argSig,argStrName,argStrEntry,dummyIdfunArgTy,polyArgTys, typidSet,exnIdSet,bodyEnv,bodyVarExp} = funEEntry val argId = case strKind of V.STRENV id => id | V.FUNAPP{id,...} => id | _ => raise bug "non strenv in functor arg" val structureId = StructureID.generate() val strKind = V.FUNAPP {id=structureId, funId=funId, argId=argId} fun instVarE (varE,actualVarE) {tvarS, conIdS, exnIdS} = let val conIdS = SEnv.foldri (fn (name, idstatus, conIdS) => case idstatus of I.IDCON {id, ty} => (case SEnv.find(actualVarE, name) of SOME (idstatus as I.IDCON _) => ConID.Map.insert(conIdS, id, idstatus) | SOME actualIdstatus => raise bug "non conid" | NONE => raise bug "conid not found in instVarE" ) | _ => conIdS) conIdS varE in {tvarS=tvarS,exnIdS=exnIdS, conIdS=conIdS} end fun instTfun path (tfun, actualTfun) (subst as {tvarS, conIdS, exnIdS}) = let val tfun = I.derefTfun tfun val actualTfun = I.derefTfun actualTfun in case tfun of I.TFUN_VAR (tfv1 as ref (I.TFUN_DTY {dtyKind,...})) => (case actualTfun of I.TFUN_VAR(tfv2 as ref (tfunkind as I.TFUN_DTY _)) => (tfv1 := tfunkind; {tvarS=tvarS, exnIdS=exnIdS, conIdS=conIdS} ) | I.TFUN_DEF _ => (case dtyKind of I.FUNPARAM => (EU.enqueueError (loc, E.FunctorParamRestriction("440",{longid=path})); subst) | _ => raise bug "tfun def" ) | I.TFUN_VAR _ => raise bug "tfun var" ) | I.TFUN_DEF{iseq, formals=nil, realizerTy= I.TYVAR tvar} => let val ty =I.TYCONSTRUCT{tfun=actualTfun,args=nil} val ty = N.reduceTy TvarMap.empty ty in {tvarS=TvarMap.insert(tvarS,tvar,ty), conIdS=conIdS, exnIdS=exnIdS } end | _ => subst end fun instTstr path (tstr, actualTstr) (subst as {tvarS,conIdS,exnIdS}) = ( case tstr of V.TSTR tfun => ( case actualTstr of V.TSTR actualTfun => instTfun path (tfun, actualTfun) subst | V.TSTR_DTY {tfun=actualTfun,...} => instTfun path (tfun, actualTfun) subst ) | V.TSTR_DTY {tfun,varE,...} => ( case actualTstr of V.TSTR actualTfun => raise bug "TSTR_DTY vs TST" | V.TSTR_DTY {tfun=actualTfun,varE=actualVarE,...} => let val subst = instTfun path (tfun, actualTfun) subst in instVarE (varE, actualVarE) subst end ) ) fun instTyE path (tyE, actualTyE) subst = SEnv.foldri (fn (name, tstr, subst) => let val actualTstr = case SEnv.find(actualTyE, name) of SOME tstr => tstr | NONE => ( raise bug "tstr not found" ) in instTstr (path@[name]) (tstr, actualTstr) subst end ) subst tyE fun instEnv path (argEnv, actualArgEnv) subst = let val V.ENV{tyE, strE,...} = argEnv val V.ENV{tyE=actualTyE,strE=actualStrE,...} = actualArgEnv val subst = instTyE path (tyE, actualTyE) subst val subst = instStrE path (strE, actualStrE) subst in subst end and instStrE path (V.STR envMap, V.STR actualEnvMap) subst = SEnv.foldri (fn (name, {env, strKind}, subst) => let val actualEnv = case SEnv.find(actualEnvMap, name) of SOME {env,strKind} => env | NONE => raise bug "actualEnv not found" in instEnv (path@[name]) (env, actualEnv) subst end ) subst envMap fun setPathIdstatus copyPath idstatus = case idstatus of I.IDVAR varId => idstatus | I.IDVAR_TYPED {id, ty} => idstatus | I.IDEXVAR {path,ty,used,loc,version,internalId} => I.IDEXVAR {path=copyPath@path, ty=ty, used=used, loc=loc, version=version, internalId=internalId} | I.IDEXVAR_TOBETYPED {path, id, loc, version} => I.IDEXVAR_TOBETYPED {path=copyPath@path, id=id, loc=loc, version=version} | I.IDBUILTINVAR {primitive, ty} => idstatus | I.IDCON {id, ty} => idstatus | I.IDEXN {id, ty} => idstatus | I.IDEXNREP {id, ty} => idstatus | I.IDEXEXN {path, ty, used, loc, version} => I.IDEXEXN {path=copyPath@path, ty=ty, used=used, loc=loc, version=version} | I.IDEXEXNREP {path, ty, used, loc, version} => I.IDEXEXNREP {path=copyPath@path, ty=ty, used=used, loc=loc, version=version} | I.IDOPRIM {id, overloadDef, used, loc} => idstatus | I.IDSPECVAR ty => idstatus | I.IDSPECEXN ty => idstatus | I.IDSPECCON => idstatus fun setPathVarE copyPath varE = SEnv.map (setPathIdstatus copyPath) varE fun setPathEnv copyPath (V.ENV{tyE, strE, varE}) = let val strE = setPathStrE copyPath strE val varE = setPathVarE copyPath varE in V.ENV{tyE=tyE, strE=strE, varE=varE} end and setPathStrE copyPath (V.STR envMap) = V.STR ( SEnv.map (fn {env, strKind} => {env=setPathEnv copyPath env, strKind=strKind}) envMap ) val ((actualArgEnv, actualArgDecls), argId) = let val argSig = #2 (Sig.refreshSpecEnv argSig) handle e => raise e val argId = case strKind of V.STRENV id => id | V.FUNAPP{id,...} => id | _ => raise bug "non strenv in functor arg" in (SC.sigCheck {mode = SC.Trans, strPath = argumentPath, strEnv = argStrEnv, specEnv = argSig, loc = loc }, argId ) handle e => raise e end val _ = if EU.isAnyError () then raise SC.SIGCHECK else () val tempEnv = V.ENV{varE=SEnv.empty, tyE=SEnv.empty, strE= V.STR ( SEnv.insert (SEnv.insert(SEnv.empty, "arg", argStrEntry), "body", {env=bodyEnv, strKind=V.STRENV(StructureID.generate())}) ) } val exnIdSubst = ExnID.Set.foldr (fn (id, exnIdSubst) => let val newId = ExnID.generate() in ExnID.Map.insert(exnIdSubst, id, newId) end ) ExnID.Map.empty exnIdSet val ((tfvSubst, conIdSubst), tempEnv) = SC.refreshEnv copyPath (typidSet, exnIdSubst) tempEnv handle e => raise e val typIdSubst = TfvMap.foldri (fn (tfv1, tfv2, typIdSubst) => let val id1 = L.getId tfv1 val id2 = L.getId tfv2 in TypID.Map.insert(typIdSubst, id1, id2) end ) TypID.Map.empty tfvSubst val typidSet = TypID.Set.map (fn id => case TypID.Map.find(typIdSubst, id) of SOME id => id | NONE => id) typidSet val {env=argEnv, strKind} = case V.findStr(tempEnv, ["arg"]) of SOME strEntry => strEntry | NONE => raise bug "impossible" val {env=bodyEnv, ...} = case V.findStr(tempEnv, ["body"]) of SOME env => env | NONE => raise bug "impossible" val subst = instEnv nil (argEnv, actualArgEnv) S.emptySubst val bodyEnv = S.substEnv subst bodyEnv handle e => raise e val bodyEnv = N.reduceEnv bodyEnv handle e => raise e val bodyEnv = exceptionExternEnv loc nil bodyEnv val bodyEnv = setPathEnv copyPath bodyEnv (* bug 243? *) val pathTfvListList = L.setLiftedTysEnv bodyEnv handle e => raise e val (externSet, bodyEnv, icdecls) = genTypedExternVarsEnv loc path bodyEnv (externSet, nil) in (externSet, {env=bodyEnv, strKind=strKind}, icdecls) end handle SC.SIGCHECK => (externSet, {env=V.emptyEnv, strKind=V.STRENV (StructureID.generate())}, nil) end (* end of pidec *) handle exn => raise bug "uncaught exception in evalPistr" fun internalizeIdstatus (pathSet,idstatus) = case idstatus of I.IDEXEXN {path, ty, used, loc, version} => if PathSet.member(pathSet, path) then (pathSet, idstatus) else let val pathSet = PathSet.add(pathSet, path) val newId = ExnID.generate() (* dummy *) in (pathSet, I.IDEXN {id=newId, ty= ty}) end | _ => (pathSet, idstatus) fun internalizeEnv (pathSet, V.ENV {tyE, varE, strE=V.STR envMap}) = let val (pathSet, varE) = SEnv.foldri (fn (name, idstatus, (pathSet, varE)) => let val (pathSet, idstatus)= internalizeIdstatus (pathSet, idstatus) val varE = SEnv.insert(varE, name, idstatus) in (pathSet, varE) end ) (pathSet, SEnv.empty) varE val (pathSet, strE) = let val (pathSet, envMap) = SEnv.foldri (fn (name, {env, strKind}, (pathSet, envMap)) => let val (pathSet, env) = internalizeEnv (PathSet.empty, env) val envMap = SEnv.insert(envMap, name, {env=env, strKind=strKind}) in (pathSet, envMap) end ) (pathSet, SEnv.empty) envMap in (pathSet, V.STR envMap) end in (pathSet, V.ENV{tyE=tyE, varE=varE, strE=strE}) end val internalizeEnv = fn env => #2 (internalizeEnv (PathSet.empty, env)) fun evalFunDecl topEnv {funid=functorName, param={strid=argStrName, sigexp=argSig}, strexp=bodyStr, loc} = let val { argSig=argSig, argStrEntry=argStrEntry, extraTvars=extraTvars, polyArgPats=polyArgPats, exnTagDecls=exnTagDecls, dummyIdfunArgTy=dummyIdfunArgTy, firstArgPat=firstArgPat, tfvDecls = tfvDecls } = FunctorUtils.evalFunArg (topEnv, argSig, loc) val topArgEnv = V.ENV {varE=SEnv.empty, tyE=SEnv.empty, strE=V.STR (SEnv.singleton(argStrName, argStrEntry)) } val evalEnv = V.topEnvWithEnv (topEnv, topArgEnv) val startTypid = TypID.generate() val (_, {env=bodyInterfaceEnv,strKind},_) = evalPistr nil evalEnv (PathSet.empty, bodyStr) (* val (_, bodyInterfaceEnv,_) = evalPistr [functorName] evalEnv (PathSet.empty, bodyStr) *) val bodyEnv = internalizeEnv bodyInterfaceEnv val typidSet = FU.typidSet bodyEnv val (allVars, exnIdSet) = FU.varsInEnv (bodyEnv, loc) (* FIXME (not a bug): The following is to restrict the typids to be refreshed are those that are created in the functor body. Not very elegant. Need to review. *) val typidSet = TypID.Set.filter (fn id => case TypID.compare(id, startTypid) of GREATER => true | _ => false) typidSet fun varToTy (_,var) = case var of I.ICEXVAR ({path, ty},_) => ty | I.ICEXN ({path, id, ty},_) => ty | I.ICEXN_CONSTRUCTOR ({id, ty, path}, loc) => BT.exntagITy | _ => ( raise bug "*** VARTOTY ***" ) val bodyTy = case allVars of nil => BT.unitITy | _ => I.TYRECORD (Utils.listToFields (map varToTy allVars)) val polyArgTys = map (fn (x,ty) => ty) polyArgPats val firstArgTy = case dummyIdfunArgTy of SOME ty => SOME(I.TYFUNM([ty],ty)) | NONE => NONE val functorTy1 = case polyArgTys of nil => bodyTy | _ => I.TYFUNM(polyArgTys, bodyTy) val functorTy2 = case firstArgTy of NONE => functorTy1 | SOME ty => I.TYPOLY(map (fn x => (x, I.UNIV)) extraTvars, I.TYFUNM([ty], functorTy1)) val functorTy = case functorTy2 of I.TYPOLY _ => functorTy2 | I.TYFUNM _ => functorTy2 | _ => I.TYFUNM([BT.unitITy], functorTy2) val decl = I.ICEXTERNVAR ({path=[FUNCORPREFIX,functorName], ty=functorTy}, loc) val functorExp = I.ICEXVAR ({path=[FUNCORPREFIX,functorName], ty=functorTy}, loc) val funEEntry:V.funEEntry = {id = FunctorID.generate(), version = NONE, used = ref false, argSig = argSig, argStrName = argStrName, argStrEntry = argStrEntry, dummyIdfunArgTy = dummyIdfunArgTy, polyArgTys = polyArgTys, typidSet=typidSet, (* FIXME: is this right? *) exnIdSet=exnIdSet, (* FIXME: is this right? *) bodyEnv = bodyEnv, bodyVarExp = functorExp } val funE = SEnv.singleton(functorName, funEEntry) val returnTopEnv = V.topEnvWithFunE(V.emptyTopEnv, funE) in (returnTopEnv, [decl]) end fun evalPitopdec topEnv (externSet, pitopDec) = case pitopDec of PI.PIDEC pidec => let val (_, returnEnv, icdecls) = evalPidec nilPath topEnv (externSet, pidec) in (externSet, V.topEnvWithEnv(V.emptyTopEnv, returnEnv), icdecls) end | PI.PIFUNDEC fundec => let val (returnTopEnv, icdecls) = evalFunDecl topEnv fundec in (externSet, returnTopEnv, icdecls) end fun evalPitopdecList topEnv (externSet, pitopdecList) = (foldl (fn (pitopdec, (externSet, returnTopEnv, icdecls)) => let val evalTopEnv = V.topEnvWithTopEnv (topEnv, returnTopEnv) val (externSet, newTopEnv, newicdecls) = evalPitopdec evalTopEnv (externSet, pitopdec) val loc = PI.pitopdecLoc pitopdec in (externSet, V.unionTopEnv "211" loc (returnTopEnv,newTopEnv), icdecls @ newicdecls) end ) (externSet, V.emptyTopEnv, nil) pitopdecList ) handle exn => raise exn (* raise bug "uncaught exception in evalPitopdecList" *) fun evalInterfaceDec env ({interfaceId,requires=idLocList,topdecs,...} :PI.interfaceDec, IntEnv) = let val evalTopEnv = foldl (fn ({id,loc}, evalTopEnv) => let val newTopEnv = case InterfaceID.Map.find (IntEnv, id) of NONE => raise bug "InterfaceID undefined" | SOME {topEnv,...} => topEnv in V.unionTopEnv "212" loc (evalTopEnv, newTopEnv) end ) env idLocList val (_, topEnv, icdecls) = evalPitopdecList evalTopEnv (PathSet.empty, topdecs) in case InterfaceID.Map.find(IntEnv, interfaceId) of NONE => InterfaceID.Map.insert (IntEnv, interfaceId, {source=topdecs, topEnv=topEnv, decls=icdecls} ) | SOME _ => raise bug "duplicate interfaceid" end fun evalInterfaces env interfaceDecList = foldl (evalInterfaceDec env) InterfaceID.Map.empty interfaceDecList handle exn => raise exn (* raise bug "uncaught exception in evalInterfaces" *) end end smlsharp-1.2.0/src/compiler/nameevaluation/main/NameEvalUtils.smi0000644 000000000000000000001015512050661606025265 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/SSet.smi" _require "../../control/main/Control.ppg.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../absyn/main/Fixity.smi" _require "../../builtin2/main/BuiltinPrimitive.ppg.smi" _require "../../builtin2/main/BuiltinTypeNames.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../types/main/Types.ppg.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../types/main/tvarMap.smi" _require "../../elaborate/main/Elaborator.smi" _require "../../patterncalc/main/PatternCalc.ppg.smi" _require "../../patterncalc/main/PatternCalcInterface.ppg.smi" _require "NameEvalEnv.ppg.smi" _require "TfunVars.smi" structure NameEvalUtils = struct val print : string -> unit val printFixEnv : Elaborator.fixEnv -> unit val printPath : string list -> unit val printTvar : {eq:Absyn.eq, id:TvarID.id, lifted:bool, name:string} -> unit val printTvarId : TvarID.id -> unit val printVarId : VarID.id -> unit val printVarInfo : {id:VarID.id, path:string list} -> unit val printInterfaceId : InterfaceID.id -> unit val printBuiltinTy : BuiltinTypeNames.bty -> unit val printTy : IDCalc.ty -> unit val printPITy : Absyn.ty -> unit val printTstr : NameEvalEnv.tstr -> unit val printTyE : NameEvalEnv.tstr SEnv.map -> unit val printConSpec : IDCalc.ty option SEnv.map -> unit val printTfun : IDCalc.tfun -> unit val printTfunkind : IDCalc.tfunkind -> unit val printIdstatus : IDCalc.idstatus -> unit val printTypId : TypID.id -> unit val printConId : ConID.id -> unit val printPrimitive : BuiltinPrimitive.primitive -> unit val printLiftedTys : TvarSet.set -> unit val printTypInfo : {id:TypID.id, path:string list} -> unit val printTySubst : ({id:TypID.id, path:string list} * TvarSet.set) TypID.Map.map -> unit val printTypidSet : TypID.Set.set -> unit val printSubst : {conIdS:IDCalc.idstatus ConID.Map.map, exnIdS:ExnID.id ExnID.Map.map, tvarS:IDCalc.ty TvarMap.map} -> unit val printTfvSubst : IDCalc.tfunkind ref TfvMap.map -> unit val printEnv : NameEvalEnv.env -> unit val printStrEntry : NameEvalEnv.strEntry -> unit val printTopEnv : NameEvalEnv.topEnv -> unit val printFunE : NameEvalEnv.funE -> unit val printFunEEntry : NameEvalEnv.funEEntry -> unit val printVar : {id:VarID.id, path:string list} -> unit val printExp : IDCalc.icexp -> unit val printPat : IDCalc.icpat -> unit val printDecl : IDCalc.icdecl -> unit val printPlstrDecl : PatternCalc.plstrdec -> unit val printPlstrexp : PatternCalc.plstrexp -> unit val printPlsigexp : PatternCalc.plsigexp -> unit val printPitopdec : PatternCalcInterface.pitopdec -> unit val printPltopdec : PatternCalc.pltopdec -> unit val printPidec : PatternCalcInterface.pidec -> unit val printCastEnv : {conIdEnv:'a, tfunEnv:(IDCalc.tfun * 'b * IDCalc.tfun) TypID.Map.map, tvarEnv:IDCalc.ty TvarMap.map} -> unit val printReverseMap : {LiftDown:{arity:int, liftedTys:TvarSet.set, path:string list} TypID.Map.map, ToTy:({id:TypID.id, path:string list} * TvarSet.set) TvarMap.map} -> unit val printCastMap : {arity:'a, liftedTys:TvarSet.set, newId:TypID.id, tyname:string} TypID.Map.map -> unit val printTfv : IDCalc.tfunkind ref -> unit val printTfvList : (IDCalc.tfunkind ref * string list) list -> unit val printTfvMap : string list TfvMap.map -> unit val printCompileUnit : PatternCalcInterface.compileUnit -> unit val evalList : {emptyEnv:'a, eval:'b -> 'a * 'c, unionEnv:'a * 'a -> 'a} -> 'b list -> 'a * 'c list val evalTailList : {env:'a, eval:'a -> 'b -> 'a * 'c} -> 'b list -> 'a * 'c list val SEnvToSSet : 'a SEnv.map -> SSet.set val runtimeTyOfConspec : 'a option SEnv.map -> BuiltinTypeNames.bty end smlsharp-1.2.0/src/compiler/nameevaluation/main/NameEvalUtils.sml0000644 000000000000000000003203212050661606025266 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2012- Tohoku University. * @author Atsushi Ohori *) structure NameEvalUtils = struct val _ = "initializing NameEvalUtils ..." local structure I = IDCalc structure BT = BuiltinTypeNames structure PI = PatternCalcInterface in fun runtimeTyOfConspec conSpec = if SEnv.isEmpty (SEnv.filter (fn SOME _ => true | NONE => false) conSpec) then BuiltinTypeNames.WORDty else BuiltinTypeNames.BOXEDty val print = fn s => if !Control.debugPrint then print s else () fun printFixEnv fixEnv = if !Control.debugPrint then SEnv.appi (fn (name, fixity) => (print name; print " : "; print (Fixity.fixityToString fixity); print "\n") ) fixEnv else () fun printPath path = if !Control.debugPrint then print (String.concatWith "." path) else () fun printTvar tvar = if !Control.debugPrint then print (Control.prettyPrint (I.format_tvar tvar)) else () fun printTvarId tvarId = if !Control.debugPrint then print (Control.prettyPrint (I.format_tvarId tvarId)) else () fun printVarId varId = if !Control.debugPrint then print (Control.prettyPrint (I.format_varId varId)) else () fun printVarInfo var = if !Control.debugPrint then print (Control.prettyPrint (I.format_varInfo var)) else () fun printInterfaceId id = if !Control.debugPrint then print (Control.prettyPrint (InterfaceID.format_id id)) else () fun printTy ty = if !Control.debugPrint then print (Control.prettyPrint (I.format_ty ty)) else () fun printBuiltinTy ty = if !Control.debugPrint then print (Control.prettyPrint (BT.format_bty ty)) else () fun printPITy ty = if !Control.debugPrint then print (Control.prettyPrint (PI.format_ty ty)) else () fun printTstr tstr = if !Control.debugPrint then print (Control.prettyPrint (NameEvalEnv.format_tstr tstr)) else () fun printTyE tyE = if !Control.debugPrint then print (Control.prettyPrint (NameEvalEnv.format_tyE tyE)) else () fun printConSpec conSpec = if !Control.debugPrint then print (Control.prettyPrint (I.format_conSpec conSpec)) else () fun printTfun tfun = if !Control.debugPrint then print (Control.prettyPrint (I.format_tfun tfun)) else () fun printTfunkind tfunkind = if !Control.debugPrint then print (Control.prettyPrint (I.format_tfunkind tfunkind)) else () fun printIdstatus idstatus = if !Control.debugPrint then print (Control.prettyPrint (I.format_idstatus idstatus) ^ "\n") else () fun printTypId typId = if !Control.debugPrint then print (Control.prettyPrint (I.format_typId typId)) else () fun printConId conId = if !Control.debugPrint then print (Control.prettyPrint (I.format_conId conId)) else () fun printExnId exnId = if !Control.debugPrint then print (Control.prettyPrint (I.format_exnId exnId)) else () fun printPrimitive primitive = if !Control.debugPrint then print (Control.prettyPrint (BuiltinPrimitive.format_primitive primitive)) else () fun printLiftedTys liftedTys = if !Control.debugPrint then ( print "{"; TvarSet.app (fn tvar => (printTvar tvar; print ",")) liftedTys; print "}" ) else () fun printTypInfo {id,path} = if !Control.debugPrint then (printPath path; print "("; printTypId id; print ")") else () fun printTySubst tySubst = if !Control.debugPrint then ( print "{"; TypID.Map.appi (fn (i,(typInfo, liftedTys)) => (printTypId i; print "=> ("; printTypInfo typInfo; print ","; printLiftedTys liftedTys; print ")"; print "\n")) tySubst; print "}\n" ) else () fun printTypidSet typidSet = if !Control.debugPrint then ( print "{typidSet\n"; TypID.Set.app (fn i => (printTypId i; print "\n,")) typidSet; print "}\n" ) else () fun printSubst {tvarS, exnIdS, conIdS} = if !Control.debugPrint then let val _ = print "tvarS\n" val _ = (print "[\n"; TvarMap.appi (fn (tvar, ty) => (printTvar tvar; print "=>"; printTy ty; print "\n") ) tvarS; print "\n]\n" ) val _ = print "conIdS\n" val _ = (print "[\n"; ConID.Map.appi (fn (id, idstatus) => (printConId id; print "=>"; printIdstatus idstatus; print "\n") ) conIdS; print "\n]\n" ) val _ = print "exnIdS\n" val _ = (print "[\n"; ExnID.Map.appi (fn (id, id') => (printExnId id; print "=>"; printExnId id'; print "\n") ) exnIdS; print "\n]\n" ) in () end else () fun printTfvSubst tfvSubst = if !Control.debugPrint then (print "[\n"; TfvMap.appi (fn (ref tfunkind1, ref tfunkind2) => (printTfunkind tfunkind1; print "=>"; printTfunkind tfunkind2; print "\n") ) tfvSubst; print "\n]\n" ) handle exn => raise exn else () fun printEnv env = if !Control.debugPrint then print (Control.prettyPrint (NameEvalEnv.format_env env) ^ "\n") else () fun printStrEntry strEntry = if !Control.debugPrint then print (Control.prettyPrint (NameEvalEnv.format_strEntry strEntry) ^ "\n") else () fun printTopEnv env = if !Control.debugPrint then print (Control.prettyPrint (NameEvalEnv.format_topEnv env) ^ "\n") else () fun printFunE funE = if !Control.debugPrint then print (Control.prettyPrint (NameEvalEnv.format_funE funE) ^ "\n") else () fun printFunEEntry funEEntry = if !Control.debugPrint then print (Control.prettyPrint (NameEvalEnv.format_funEEntry funEEntry) ^ "\n") else () fun printPat icpat = if !Control.debugPrint then print (Control.prettyPrint (IDCalc.format_icpat icpat) ^ "\n") else () fun printVar var = if !Control.debugPrint then print (Control.prettyPrint (IDCalc.format_varInfo var) ^ "\n") else () fun printExp exp = if !Control.debugPrint then print (Control.prettyPrint (IDCalc.format_icexp exp) ^ "\n") else () fun printPat pat = if !Control.debugPrint then print (Control.prettyPrint (IDCalc.format_icpat pat) ^ "\n") else () fun printDecl dec = if !Control.debugPrint then print (Control.prettyPrint (IDCalc.format_icdecl dec) ^ "\n") else () fun printPlstrDecl dec = if !Control.debugPrint then print (Control.prettyPrint (PatternCalc.format_plstrdec dec) ^ "\n") else () fun printPlstrexp strexp = if !Control.debugPrint then print (Control.prettyPrint (PatternCalc.format_plstrexp strexp) ^ "\n") else () fun printPlsigexp sigexp = if !Control.debugPrint then print (Control.prettyPrint (PatternCalc.format_plsigexp sigexp) ^ "\n") else () fun printPitopdec dec = if !Control.debugPrint then print (Control.prettyPrint (PatternCalcInterface.format_pitopdec dec) ^ "\n") else () fun printCompileUnit compileUnit = if !Control.debugPrint then print (Control.prettyPrint (PatternCalcInterface.format_compileUnit compileUnit) ^ "\n") else () fun printPltopdec dec = if !Control.debugPrint then print (Control.prettyPrint (PatternCalc.format_pltopdec dec) ^ "\n") else () fun printPidec dec = if !Control.debugPrint then print (Control.prettyPrint (PatternCalcInterface.format_pidec dec) ^ "\n") else () fun printCastEnv {tvarEnv, tfunEnv, conIdEnv} = if !Control.debugPrint then (print "tvarEnv :\n"; TvarMap.appi (fn (tvar, ty) => (printTvar tvar; print "=>"; printTy ty; print "\n") ) tvarEnv; print "tfunEnv :\n"; TypID.Map.app (fn (from, inst, to) => (printTfun from; print "with ("; TvarMap.appi (fn (tvar, ty) => (print " "; printTvar tvar; print ":"; printTy ty) ); print ")"; print "=>"; printTfun to; print "\n") ) tfunEnv; print "conIdEnv : \n" ) else () fun printReverseMap {ToTy, LiftDown} = if !Control.debugPrint then (TvarMap.appi (fn (tvar, (typInfo, liftedTys)) => (printTvar tvar; print "=>"; printTypInfo typInfo; print "with"; printLiftedTys liftedTys; print "\n") ) ToTy; TypID.Map.appi (fn (id, {arity, path, liftedTys}) => (printPath path; print "("; printTypId id; print ")"; print "("; print (Int.toString arity); print ")"; print " down with "; printLiftedTys liftedTys; print "\n") ) LiftDown) else () fun printCastMap castMap = if !Control.debugPrint then TypID.Map.appi (fn (id, {newId, arity, tyname, liftedTys}) => (print "cast "; print tyname; print "("; printTypId id; print ") with "; printLiftedTys liftedTys; print " down to "; printTypId newId; print "\n") ) castMap else () fun printTfv tfv = if !Control.debugPrint then case !tfv of I.TFV_DTY{id, conSpec,...} => ( print "TFV_DTY:\n"; printTypId id; print "\n"; printConSpec conSpec; print "\n" ) | I.TFUN_DTY{id, conSpec,...} => (print "TFUN_DTY:\n"; printTypId id; print "\n"; printConSpec conSpec; print "\n" ) | _ => () else () fun printTfvList tfvList = if !Control.debugPrint then (print "[\n"; map (fn (tfv,path) => (printPath path; print ":"; printTfv tfv; print "\n") ) tfvList; print "]\n" ) else () fun printTfvMap tfvMap = if !Control.debugPrint then (TfvMap.appi (fn (tfv1,path) => (printTfun (I.TFUN_VAR tfv1); print "=>"; printPath path; print "\n" ) ) tfvMap ) handle exn => raise exn else () fun evalList {eval: 'elm -> 'env * 'newElm, emptyEnv:'env, unionEnv:'env*'env -> 'env} (list:'elm list) : 'env * 'newElm list = let val (env, listRev) = foldl (fn (elem, (env,listRev)) => let val (newEnv, elem) = eval elem in (unionEnv(env, newEnv), elem::listRev) end ) (emptyEnv, nil) list in (env, List.rev listRev) end fun evalTailList {eval:'env -> 'elm -> 'env * 'newElm, env:'env} (list:'elm list) : 'env * 'newElm list = let val (env, listRev) = foldl (fn (elem, (env, listRev)) => let val (env, elem) = eval env elem in (env, elem::listRev) end ) (env, nil) list in (env, List.rev listRev) end fun SEnvToSSet senv = SEnv.foldli (fn (name,_,set) => SSet.add(set, name)) SSet.empty senv end end smlsharp-1.2.0/src/compiler/nameevaluation/main/NormalizeTy.smi0000644 000000000000000000000403512050661606025031 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlnj-lib/Util/lib-base.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../types/main/tvarMap.smi" _require "../../builtin2/main/BuiltinTypes.smi" _require "../../usererror/main/UserErrorUtils.smi" _require "NameEvalEnv.ppg.smi" _require "NameEvalError.ppg.smi" _require "NameEvalUtils.smi" _require "TfunVars.smi" structure NormalizeTy = struct datatype checkConError = Arity | Name of (string list * string list) | Type of string list | OK datatype checkConRes = FAIL of checkConError list | SUCCESS datatype normalForm = TYNAME of IDCalc.tfun | TYTERM of IDCalc.ty val admitEq : TvarSet.item list -> IDCalc.ty -> bool val checkConSpec : ((TypID.id * TypID.id) -> bool) -> (IDCalc.formals * IDCalc.conSpec) * (IDCalc.formals * IDCalc.conSpec) -> checkConRes val eqTydef : (TypID.id * TypID.id -> bool) -> (IDCalc.formals * IDCalc.ty) * (IDCalc.formals * IDCalc.ty) -> bool val equalTfun : ((TypID.id * TypID.id) -> bool) -> IDCalc.tfun * IDCalc.tfun -> bool val reduceEnv : NameEvalEnv.env -> NameEvalEnv.env val reduceTfun : IDCalc.tfun -> IDCalc.tfun val reduceTy : IDCalc.ty TvarMap.map -> IDCalc.ty -> IDCalc.ty val tyForm : {eq:Absyn.eq, id:TvarID.id, lifted:bool, name:string} list -> IDCalc.ty -> normalForm val setEq : {args:TvarSet.item list, conSpec:IDCalc.ty option SEnv.map, id:TypID.id, iseqRef:bool ref} list -> unit val equalTy : ((TypID.id * TypID.id -> bool) * (IDCalc.tvarId TvarID.Map.map)) -> IDCalc.ty * IDCalc.ty -> bool val makeTypIdEquiv : TypID.id list list -> (TypID.id * TypID.id) -> bool val emptyTypIdEquiv : (TypID.id * TypID.id) -> bool end smlsharp-1.2.0/src/compiler/nameevaluation/main/NormalizeTy.sml0000644 000000000000000000005604312050661606025042 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2012- Tohoku University. * @author Atsushi Ohori *) (* the initial error code of this file : N-001 *) structure NormalizeTy : sig datatype checkConError = Arity | Name of (string list * string list) | Type of string list | OK datatype checkConRes = FAIL of checkConError list | SUCCESS datatype normalForm = TYNAME of IDCalc.tfun | TYTERM of IDCalc.ty val admitEq : TvarSet.item list -> IDCalc.ty -> bool val checkConSpec : ((TypID.id * TypID.id) -> bool) -> (IDCalc.formals * IDCalc.conSpec) * (IDCalc.formals * IDCalc.conSpec) -> checkConRes val eqTydef : ((TypID.id * TypID.id) -> bool) -> (IDCalc.formals * IDCalc.ty) * (IDCalc.formals * IDCalc.ty) -> bool val equalTfun : ((TypID.id * TypID.id) -> bool) -> IDCalc.tfun * IDCalc.tfun -> bool val reduceEnv : NameEvalEnv.env -> NameEvalEnv.env val reduceTfun : IDCalc.tfun -> IDCalc.tfun val reduceTy : IDCalc.ty TvarMap.map -> IDCalc.ty -> IDCalc.ty val tyForm : {eq:Absyn.eq, id:TvarID.id, lifted:bool, name:string} list -> IDCalc.ty -> normalForm val setEq : {args:TvarSet.item list, conSpec:IDCalc.ty option SEnv.map, id:TypID.id, iseqRef:bool ref} list -> unit val equalTy : ((TypID.id * TypID.id -> bool) * (IDCalc.tvarId TvarID.Map.map)) -> IDCalc.ty * IDCalc.ty -> bool val makeTypIdEquiv : TypID.id list list -> (TypID.id * TypID.id) -> bool val emptyTypIdEquiv : (TypID.id * TypID.id) -> bool end = struct val _ = "initializing NormalizeTy ..." local structure I = IDCalc structure V = NameEvalEnv structure U = NameEvalUtils structure E = NameEvalError structure EU = UserErrorUtils structure A = Absyn exception Rigid fun bug s = Control.Bug ("NormalizeTy: " ^ s) in fun emptyTypIdEquiv (id1, id2) = TypID.eq(id1, id2) (* makes an equivalence relation on type ids for processing sharing constraints in EvalSig *) fun makeTypIdEquiv typIdListList = let val typIdEnv = foldl (fn (typIdList, typIdEnv) => case typIdList of nil => typIdEnv | [_] => typIdEnv | (id0::rest) => foldl (fn (id, typIdEnv) => TypID.Map.insert(typIdEnv, id, id0)) typIdEnv rest ) TypID.Map.empty typIdListList in if TypID.Map.isEmpty typIdEnv then TypID.eq else fn (id1, id2) => let val id1Rep = case TypID.Map.find(typIdEnv, id1) of SOME idRep => idRep | NONE => id1 val id2Rep = case TypID.Map.find(typIdEnv, id2) of SOME idRep => idRep | NONE => id2 in TypID.eq(id1Rep, id2Rep) end end val emptyArgEnv = TvarMap.empty : I.ty TvarMap.map datatype normalForm = TYNAME of I.tfun | TYTERM of I.ty (* to generate TFUN_DEF in NameEvalInterface, CheckProvide, EvalSig *) fun tyForm formals ty = let fun tyToTvars tyList = map (fn (I.TYVAR tvar) => tvar | _ => raise Rigid) tyList fun equalTuple (nil,nil) = true | equalTuple ({id=id1, name=_, eq=_, lifted=_}::tvarList1, {id=id2, name=_, eq=_, lifted=_}::tvarList2) = TvarID.eq(id1,id2) andalso equalTuple (tvarList1, tvarList2) | equalTuple _ = false in case ty of I.TYWILD => TYTERM ty | I.TYERROR => TYTERM ty | I.TYVAR _ => TYTERM ty | I.TYRECORD _ => TYTERM ty | I.TYCONSTRUCT {tfun, args} => (let val tvarList = tyToTvars args in if equalTuple (formals, tvarList) then TYNAME tfun else TYTERM ty end handle Rigid => TYTERM ty ) | I.TYFUNM _ => TYTERM ty | I.TYPOLY _ => TYTERM ty | I.INFERREDTY _ => TYTERM ty end local val visitedSet = ref (TfvSet.empty) fun resetSet () = visitedSet := TfvSet.empty fun visit tfv = visitedSet := TfvSet.add(!visitedSet, tfv) fun isVisited tfv = TfvSet.member(!visitedSet, tfv) fun redTy tvarEnv ty = case ty of I.TYWILD => ty | I.TYERROR => ty | I.TYVAR tvar => (case TvarMap.find(tvarEnv, tvar) of NONE => I.TYVAR tvar | SOME ty => ty) | I.TYRECORD fields => I.TYRECORD (LabelEnv.map (redTy tvarEnv) fields) | I.TYCONSTRUCT {tfun, args} => let val args = map (redTy tvarEnv) args val tfun = redTfun tvarEnv tfun in (* case I.derefTfun tfun of *) case I.pruneTfun tfun of (* bug 143 *) I.TFUN_DEF {formals, realizerTy,...} => let val formalArgList = ListPair.zip(formals, args) val tvarEnv = foldr (fn ((tvar, ty), tvarEnv) => TvarMap.insert(tvarEnv, tvar, ty)) tvarEnv formalArgList in redTy tvarEnv realizerTy end | I.TFUN_VAR(tfv as (ref tfunkind)) => (case tfunkind of I.TFV_SPEC _ => I.TYCONSTRUCT {tfun=tfun, args=args} | I.TFV_DTY _ => I.TYCONSTRUCT {tfun=tfun, args=args} | I.TFUN_DTY _ => I.TYCONSTRUCT {tfun=tfun, args=args} | I.REALIZED _ => raise bug "REALIZED tfun" | I.INSTANTIATED {tfunkind, tfun} => I.TYCONSTRUCT {tfun=tfun, args=args} | I.FUN_DTY {tfun,...} => (* raise bug "FUN_DTY(2)\n" This case happnes when a structure in a functor argument is replicated in the functor body *) I.TYCONSTRUCT {tfun=tfun, args=args} ) end | I.TYFUNM (tyList,ty2) => let val tyList = map (redTy tvarEnv) tyList val ty2 = redTy tvarEnv ty2 in I.TYFUNM (tyList, ty2) end | I.TYPOLY (kindedTvarList, ty) => let val ty = redTy tvarEnv ty in I.TYPOLY (kindedTvarList, ty) end | I.INFERREDTY ty => I.INFERREDTY ty and redTyField tvarEnv (l,ty) = (l, redTy tvarEnv ty) and redTfun tvarEnv tfun = case tfun of I.TFUN_DEF {iseq, formals, realizerTy} => let val realizerTy = redTy tvarEnv realizerTy val res = tyForm formals realizerTy in case res of TYTERM ty => I.TFUN_DEF {iseq=iseq, formals=formals,realizerTy=realizerTy} | TYNAME tfun => tfun end | I.TFUN_VAR tfv => case !tfv of I.TFV_SPEC _ => tfun | I.TFUN_DTY {id, iseq, formals, runtimeTy, originalPath, conSpec, liftedTys, dtyKind} => if isVisited tfv then tfun else let val _ = visit tfv val conSpec = redConSpec tvarEnv conSpec val _ = tfv := I.TFUN_DTY {id=id, iseq=iseq, runtimeTy=runtimeTy, formals=formals, conSpec=conSpec, originalPath=originalPath, liftedTys=liftedTys, dtyKind=dtyKind } in tfun end | I.TFV_DTY {name, id, iseq, formals, conSpec, liftedTys} => if isVisited tfv then tfun else let val _ = visit tfv val conSpec = redConSpec tvarEnv conSpec val _ = tfv := I.TFV_DTY{id=id, name=name, iseq=iseq, formals=formals, conSpec=conSpec, liftedTys=liftedTys} in tfun end | I.REALIZED {tfun=newTfun,id} => let val newTfun = redTfun tvarEnv newTfun val _ = tfv:= I.REALIZED {id=id,tfun=newTfun} in newTfun end | I.INSTANTIATED {tfunkind, tfun=newTfun} => let val newTfun = redTfun tvarEnv newTfun val _ = tfv := I.INSTANTIATED {tfunkind=tfunkind, tfun=newTfun} in tfun (* newTfun ? *) end | _ => tfun and redConSpec tvarEnv conSpec = SEnv.mapi (fn (name, tyOpt) => (Option.map (redTy tvarEnv) tyOpt) ) conSpec fun redTstr tstr = case tstr of V.TSTR tfun => V.TSTR (redTfun TvarMap.empty tfun) | V.TSTR_DTY {tfun, varE, formals, conSpec} => let val tfun = redTfun TvarMap.empty tfun val conSpec = redConSpec TvarMap.empty conSpec in V.TSTR_DTY {tfun=tfun, varE=varE, formals=formals, conSpec=conSpec} end fun redIdstatus idstatus = case idstatus of I.IDVAR varId => idstatus | I.IDVAR_TYPED {id, ty} => I.IDVAR_TYPED {id=id, ty= redTy TvarMap.empty ty} | I.IDEXVAR {path, ty, used, loc, version, internalId} => I.IDEXVAR {path=path, ty= redTy TvarMap.empty ty, used=used, loc=loc, version=version, internalId = internalId } | I.IDEXVAR_TOBETYPED {path, id, loc, version} => idstatus | I.IDBUILTINVAR {primitive, ty} => I.IDBUILTINVAR {primitive=primitive, ty=redTy TvarMap.empty ty} | I.IDCON {id, ty} => I.IDCON {id=id, ty=redTy TvarMap.empty ty} | I.IDEXN {id, ty} => I.IDEXN {id=id, ty=redTy TvarMap.empty ty} | I.IDEXNREP {id, ty} => I.IDEXNREP {id=id, ty=redTy TvarMap.empty ty} | I.IDEXEXN {path, ty, used, loc, version} => I.IDEXEXN {path=path, ty=redTy TvarMap.empty ty, used=used, loc=loc, version=version} | I.IDEXEXNREP {path, ty, used, loc, version} => I.IDEXEXNREP {path=path, ty=redTy TvarMap.empty ty, used=used, loc=loc, version=version} | I.IDOPRIM _ => idstatus | I.IDSPECVAR ty => I.IDSPECVAR (redTy TvarMap.empty ty) | I.IDSPECEXN ty => I.IDSPECEXN (redTy TvarMap.empty ty) | I.IDSPECCON => idstatus fun redEnv env = let val V.ENV{tyE, varE, strE=V.STR envMap} = env val tyE = SEnv.map redTstr tyE val envMap = SEnv.map (fn {env, strKind} => {env=redEnv env, strKind=strKind}) envMap val varE = SEnv.map redIdstatus varE in V.ENV{tyE=tyE, varE=varE, strE=V.STR envMap} end in fun reduceTy tvarEnv ty = (resetSet(); redTy tvarEnv ty) fun reduceEnv env = (resetSet(); redEnv env) fun reduceTfun tfun = (resetSet(); redTfun TvarMap.empty tfun) end fun tvequiv eqEnv (id1,id2) = TvarID.eq(id1, id2) orelse let val id1Rep = case TvarID.Map.find(eqEnv,id1) of SOME id => id | NONE => id1 val id2Rep = case TvarID.Map.find(eqEnv,id2) of SOME id => id | NONE => id2 in TvarID.eq(id1Rep, id2Rep) end fun equalTfun typIdEquiv (tfun1, tfun2) = case (tfun1, tfun2) of (I.TFUN_VAR(ref(I.REALIZED{tfun,...})),_) => equalTfun typIdEquiv (tfun, tfun2) | (_, I.TFUN_VAR(ref(I.REALIZED{tfun,...}))) => equalTfun typIdEquiv (tfun1, tfun) | (I.TFUN_VAR(ref(I.INSTANTIATED{tfun,...})),_)=> equalTfun typIdEquiv (tfun, tfun2) | (_,I.TFUN_VAR(ref(I.INSTANTIATED{tfun,...}))) =>equalTfun typIdEquiv (tfun1,tfun) | (I.TFUN_DEF {formals=formals1,realizerTy=ty1,...}, I.TFUN_DEF {formals=formals2,realizerTy=ty2,...})=> eqTydef typIdEquiv ((formals1, ty1),(formals2, ty2)) | (I.TFUN_VAR (ref (I.TFV_SPEC {id=id1,...})), I.TFUN_VAR (ref (I.TFV_SPEC {id=id2,...}))) => typIdEquiv(id1,id2) | (I.TFUN_VAR (ref (I.TFV_DTY {id=id1,...})), I.TFUN_VAR (ref (I.TFV_DTY {id=id2,...}))) => typIdEquiv(id1,id2) | (I.TFUN_VAR (ref (I.TFUN_DTY {id=id1,...})), I.TFUN_VAR (ref (I.TFUN_DTY {id=id2,...}))) => typIdEquiv(id1,id2) | _ => false and eqTydef typIdEquiv ((formals1, ty1), (formals2, ty2)) = let val tvarIdEquiv = foldl (fn (({id=tv1,name=_,eq=_,lifted=_}, {id=tv2,name=_,eq=_,lifted=_}), equiv) => TvarID.Map.insert(equiv, tv1, tv2)) TvarID.Map.empty (ListPair.zip (formals1,formals2)) in equalTy (typIdEquiv, tvarIdEquiv) (ty1, ty2) end and equalTy (typIdEquiv, tvarIdEquiv) (ty1, ty2) = let val ty1 = reduceTy TvarMap.empty ty1 val ty2 = reduceTy TvarMap.empty ty2 in case (ty1, ty2) of (I.TYWILD, I.TYWILD) => true | (I.TYERROR, _) => true | (_, I.TYERROR ) => true | (I.TYVAR {id=id1,...}, I.TYVAR {id=id2,...}) => tvequiv tvarIdEquiv (id1,id2) | (I.TYRECORD F1, I.TYRECORD F2) => equalFields (typIdEquiv,tvarIdEquiv) (F1,F2) | (I.TYFUNM (tyList1,ty12),I.TYFUNM(tyList2,ty22)) => (equalTy (typIdEquiv, tvarIdEquiv) (ty12, ty22) andalso List.length tyList1 = List.length tyList2 andalso List.all (equalTy (typIdEquiv, tvarIdEquiv)) (ListPair.zip (tyList1, tyList2)) handle exn => raise exn) | (I.TYPOLY(kindedTvars1, bodyTy1),I.TYPOLY(kindedTvars2, bodyTy2)) => List.length kindedTvars1 = List.length kindedTvars2 andalso let val boundPairs = ListPair.zip (kindedTvars1,kindedTvars2) val tvarIdEquiv = foldl (fn ((({id=tv1,...},_),({id=tv2,...},_)), tvarIdEquiv) => TvarID.Map.insert(tvarIdEquiv, tv1, tv2) ) tvarIdEquiv boundPairs in List.all (fn ((_, kind1), (_,kind2)) => equalKind (typIdEquiv, tvarIdEquiv) (kind1,kind2)) boundPairs andalso equalTy (typIdEquiv, tvarIdEquiv) (bodyTy1, bodyTy2) end | (I.TYCONSTRUCT{tfun=tfun1, args=args1}, I.TYCONSTRUCT{tfun=tfun2, args=args2}) => (equalTfun typIdEquiv (tfun1, tfun2) andalso List.length args1 = List.length args2 andalso List.all (equalTy (typIdEquiv, tvarIdEquiv)) (ListPair.zip (args1, args2)) handle exn => raise exn) | _ => false end and equalKind (typIdEquiv,tvarIdEquiv) (kind1, kind2) = case (kind1, kind2) of (I.UNIV, I.UNIV) => true | (I.REC fields1, I.REC fields2) => equalFields (typIdEquiv,tvarIdEquiv) (fields1, fields2) | _ => false and equalFields (typIdEquiv,tvarIdEquiv) (fields1,fields2) = let exception FALSE in let val F2 = LabelEnv.foldli (fn (name, ty1, F2) => case LabelEnv.find(fields2, name) of NONE => raise FALSE | SOME ty2 => if equalTy (typIdEquiv,tvarIdEquiv) (ty1,ty2) then (#1 (LabelEnv.remove(F2, name))) else raise FALSE ) fields2 fields1 in LabelEnv.isEmpty F2 end handle FALSE => false end fun admitEqMaker tfuneq tvarList ty = let val set = TvarSet.fromList tvarList fun eqtvar (tvar as {name, eq, id, lifted}) = TvarSet.member(set, tvar) orelse case eq of Absyn.EQ => true | Absyn.NONEQ => false fun eqTfun (tfun, args) = let fun tfunId tfun = case tfun of I.TFUN_DEF {formals=formals1,realizerTy=ty1,...} => NONE | I.TFUN_VAR (ref (I.TFV_SPEC {id,...})) => SOME id | I.TFUN_VAR (ref (I.TFV_DTY {id,...})) => SOME id | I.TFUN_VAR (ref (I.TFUN_DTY {id,...})) => SOME id | I.TFUN_VAR (ref (I.FUN_DTY {tfun,...})) => tfunId tfun | I.TFUN_VAR(ref(I.REALIZED{tfun,...})) => tfunId tfun | I.TFUN_VAR(ref(I.INSTANTIATED{tfun,...})) => tfunId tfun val typIdopt = tfunId tfun in case typIdopt of SOME id => TypID.eq(id, #id BuiltinTypes.arrayTyCon) orelse TypID.eq(id, #id BuiltinTypes.refTyCon) orelse (tfuneq tfun andalso eqList args) | _ => tfuneq tfun andalso eqList args end and eqTy ty = case ty of I.TYWILD => false | I.TYERROR => false | I.TYVAR tvar => eqtvar tvar | I.TYRECORD fields => eqFields fields | I.TYCONSTRUCT {tfun, args} => eqTfun (tfun, args) (* 2011-12-24 ohori:bug 190. This is a temporary fix. I am going to re-write BuiltinEnv to re-structure builtins. (case path of ["ref"] => true | _ => tfuneq tfun andalso eqList args ) *) | I.TYFUNM (tyList,ty2) => false | I.TYPOLY (kindedTvarList, ty) => raise bug "POLYty" | I.INFERREDTY ty => raise bug "INFERREDTY" and eqFields fields = let exception FALSE in (LabelEnv.app (fn ty => if eqTy ty then () else raise FALSE) fields; true) handle FALSE => false end and eqList nil = true | eqList (ty::rest) = eqTy ty andalso eqList rest in eqTy ty end fun admitEq tvarList ty = admitEqMaker I.tfunIseq tvarList ty fun substTy subst ty = case ty of I.TYWILD => ty | I.TYERROR => ty | I.TYVAR tvar => (case TvarMap.find(subst, tvar) of NONE => I.TYVAR tvar | SOME ty => ty) | I.TYRECORD fields => I.TYRECORD (LabelEnv.map (substTy subst) fields) | I.TYCONSTRUCT {tfun, args} => I.TYCONSTRUCT {tfun=tfun, args=map (substTy subst) args} | I.TYFUNM (tyList1, ty2) => I.TYFUNM (map (substTy subst) tyList1, substTy subst ty2) | I.TYPOLY (kindedTvarList, ty) => I.TYPOLY (kindedTvarList, substTy subst ty) | I.INFERREDTY ty => I.INFERREDTY ty fun setEq datadeclList = let val (eqEnv, datadeclList) = foldr (fn ({id, iseqRef, args, conSpec}, (eqEnv, datadeclList)) => (TypID.Map.insert(eqEnv, id, iseqRef), {id=id, iseqRef=iseqRef, args=args, conSpec=SEnv.listItems conSpec} :: datadeclList ) ) (TypID.Map.empty, nil) datadeclList fun iseqTfun tfun = case tfun of I.TFUN_DEF {iseq,...} => iseq | I.TFUN_VAR (ref tfunkind) => (case tfunkind of I.TFV_SPEC {iseq,...} => iseq | I.TFV_DTY {id,...} => (case TypID.Map.find(eqEnv, id) of SOME eqref => !eqref | NONE => I.tfunIseq tfun) | I.TFUN_DTY {id,...} => (case TypID.Map.find(eqEnv, id) of SOME eqref => !eqref | NONE => I.tfunIseq tfun) | I.REALIZED {id, tfun} => iseqTfun tfun | I.INSTANTIATED {tfun,...} => iseqTfun tfun | I.FUN_DTY {tfun,...} => (* raise bug "FUN_DTY(2)\n" This case happnes when a structure in a functor argument is replicated in the functor body *) iseqTfun tfun ) fun iseq tvarList ty = admitEqMaker iseqTfun tvarList ty val changed = ref true fun next {iseqRef, conSpec, args, id} = if not (!iseqRef) then () else let fun admitEqList nil = true | admitEqList (NONE::rest) = admitEqList rest | admitEqList (SOME ty::rest) = iseq args ty andalso admitEqList rest in if admitEqList conSpec then () else (iseqRef := false; changed:=true) end val _ = while !changed do (changed:=false; map next datadeclList) in () end datatype checkConError = Arity | Name of (string list * string list) | Type of string list | OK datatype checkConRes = SUCCESS | FAIL of checkConError list fun checkConSpec typIdEquiv ((formals1, conSpec1), (formals2, conSpec2)) = let val errors = if List.length formals1 <> List.length formals2 then [Arity] else nil val tvarIdEquiv = foldl (fn (({id=id1,...}:I.tvar,{id=id2,...}:I.tvar), equiv) => TvarID.Map.insert(equiv, id1, id2)) TvarID.Map.empty (ListPair.zip (formals1,formals2)) val (tyerrors, nameList1, conSpec2) = SEnv.foldli (fn (name, tyopt1, (tyerrors, nameList1, conSpec2)) => let val (conSpec2, tyopt2) = SEnv.remove(conSpec2, name) in case (tyopt1,tyopt2) of (NONE, NONE) => (tyerrors, nameList1, conSpec2) | (SOME _, NONE) => (name::tyerrors, nameList1, conSpec2) | (NONE, SOME _) => (name::tyerrors, nameList1, conSpec2) | (SOME ty1, SOME ty2) => if equalTy (typIdEquiv, tvarIdEquiv) (ty1, ty2) then (tyerrors, nameList1, conSpec2) else (name::tyerrors, nameList1, conSpec2) end handle LibBase.NotFound => (tyerrors, name::nameList1, conSpec2) ) (nil, nil, conSpec2) conSpec1 val nameList2 = SEnv.listKeys conSpec2 val errors = case tyerrors of nil => errors | _ => Type tyerrors :: errors val errors = case (nameList1, nameList2) of (nil,nil) => errors | _ => Name(nameList1, nameList2):: Type tyerrors :: errors in case errors of nil => SUCCESS | _ => FAIL errors end end end smlsharp-1.2.0/src/compiler/nameevaluation/main/SetLiftedTys.smi0000644 000000000000000000000142612050661606025140 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../types/main/tvarMap.smi" _require "../../name/main/LocalID.smi" _require "../../util/main/SCCFun.smi" _require "NameEvalEnv.ppg.smi" _require "NameEvalUtils.smi" _require "TfunVars.smi" structure SetLiftedTys = struct val getId : IDCalc.tfunkind ref -> IDCalc.typId val setLiftedTysEnv : NameEvalEnv.env -> (string list * IDCalc.tfunkind ref) list list val setLiftedTysSpecEnv : NameEvalEnv.env -> (string list * IDCalc.tfunkind ref) list list end smlsharp-1.2.0/src/compiler/nameevaluation/main/SetLiftedTys.sml0000644 000000000000000000002372712050661606025153 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2012- Tohoku University. * @author Atsushi Ohori *) (* the initial error code of this file : L-001 *) structure SetLiftedTys : sig val getId : IDCalc.tfunkind ref -> IDCalc.typId val setLiftedTysEnv : NameEvalEnv.env -> (string list * IDCalc.tfunkind ref) list list val setLiftedTysSpecEnv : NameEvalEnv.env -> (string list * IDCalc.tfunkind ref) list list end = struct local fun bug s = Control.Bug ("SetLiftedTys: " ^ s) structure I = IDCalc structure IV = NameEvalEnv structure TF = TfunVars structure U = NameEvalUtils structure SCC = SCCFun(TfvMap) fun dtysTy tfvKind (ty,set) = let fun dtys arg = dtysTy tfvKind arg in case ty of I.TYWILD => set | I.TYVAR _ => set | I.TYRECORD fields => LabelEnv.foldl (fn (ty, set) => dtys (ty, set)) set fields | I.TYCONSTRUCT {tfun, args} => let val set = case I.derefTfun tfun of I.TFUN_VAR tfv => if tfvKind tfv then TfvSet.singleton tfv else TfvSet.empty | _ => TfvSet.empty in foldl dtys set args end | I.TYFUNM (tyList, ty2) => foldl dtys (dtys (ty2, set)) tyList | I.TYPOLY (kindedTvarList, ty) => dtys (ty, set) | I.TYERROR => set | I.INFERREDTY _ => set end fun dtysConSpec tfvKind (conSpec, set) = SEnv.foldl (fn (tyOpt, set) => case tyOpt of NONE => set | SOME ty => dtysTy tfvKind (ty, set) ) set conSpec fun getId tfv = case !tfv of I.TFUN_DTY{id,...} => id | I.TFV_DTY{id,...} => id | _ => raise bug "getId: not tfv" fun SCCTfvs tfvKind tfvMap = let fun dependMapTfv (tfv, _, map) = case !tfv of I.TFV_DTY {conSpec,...} => let val targetTfvs = dtysConSpec tfvKind (conSpec, TfvSet.empty) val dependSet = TfvSet.foldr (fn (tfv', dependSet) => if not (TfvMap.inDomain(tfvMap, tfv')) orelse TypID.eq(getId tfv, getId tfv') then dependSet else TfvSet.add(dependSet, tfv') ) TfvSet.empty targetTfvs in TfvMap.insert(map, tfv, dependSet) end (* 2012-7-19 ohori: bug 210_functor.sml: dtyKind must be processed *) | I.TFUN_DTY {dtyKind=I.OPAQUE{tfun=I.TFUN_VAR tfv',...},...} => let val dependSet = if TfvMap.inDomain(tfvMap, tfv') then TfvSet.add(TfvSet.empty, tfv') else TfvSet.empty in TfvMap.insert(map, tfv, dependSet) end | I.TFUN_DTY {conSpec,...} => let val targetTfvs = dtysConSpec tfvKind (conSpec, TfvSet.empty) val dependSet = TfvSet.foldr (fn (tfv', dependSet) => if not (TfvMap.inDomain(tfvMap, tfv')) orelse TypID.eq(getId tfv, getId tfv') then dependSet else TfvSet.add(dependSet, tfv') ) TfvSet.empty targetTfvs in TfvMap.insert(map, tfv, dependSet) end | _ => raise bug "non dty tfv (1)" val dependMap = TfvMap.foldri dependMapTfv TfvMap.empty tfvMap fun addEdge (tfv1,dependSet,graph) = TfvSet.foldr (fn (tfv2, graph) => SCC.addEdge(graph, tfv1, tfv2)) graph dependSet val graph = TfvMap.foldri (fn (tfv,_,graph) =>SCC.addNode(graph, tfv)) SCC.empty tfvMap val graph = TfvMap.foldri addEdge graph dependMap val tfvListList = SCC.scc graph in tfvListList end fun liftedTysTfun (tfun, liftedTys) = case I.derefTfun tfun of I.TFUN_DEF {iseq, formals=nil, realizerTy=I.TYVAR tvar} => TvarSet.add(liftedTys, tvar) | I.TFUN_DEF {iseq, formals, realizerTy} => liftedTys | I.TFUN_VAR (ref tfunkind) => liftedTysTfunkind (tfunkind, liftedTys) and liftedTysTfunkind (tfunkind, liftedTys) = case tfunkind of I.TFV_SPEC _ => liftedTys | I.TFV_DTY {liftedTys=newLiftedTys,...} => I.liftedTysUnion(liftedTys,newLiftedTys) | I.TFUN_DTY {liftedTys=newLiftedTys,...} => I.liftedTysUnion(liftedTys,newLiftedTys) (* | I.FUN_TOTVAR {tvar,...} => TvarSet.add(liftedTys, tvar) *) | _ => liftedTys and liftedTysTy (ty, liftedTys) = case ty of I.TYWILD => liftedTys | I.TYVAR (tvar as {lifted,...}) => if lifted then TvarSet.add(liftedTys, tvar) else liftedTys | I.TYRECORD fields => LabelEnv.foldl (fn (ty, liftedTys) => liftedTysTy (ty, liftedTys)) liftedTys fields | I.TYCONSTRUCT {tfun, args} => liftedTysTyList (args, liftedTysTfun (tfun,liftedTys)) | I.TYFUNM (tyList, ty2) => liftedTysTyList(tyList, liftedTysTy (ty2, liftedTys)) | I.TYPOLY (kindedTvarList, ty) => liftedTysTy (ty, liftedTys) | I.TYERROR => liftedTys | I.INFERREDTY _ => liftedTys and liftedTysTyList (tyList, liftedTys) = foldr liftedTysTy liftedTys tyList fun liftedTysConSpec (conSpec, liftedTys) = SEnv.foldl (fn (tyOpt, liftedTys) => case tyOpt of NONE => liftedTys | SOME ty => liftedTysTy(ty, liftedTys)) liftedTys conSpec fun setLiftedTysTfvList tfvList = let val conSpecList = map (fn tfv => case !tfv of I.TFV_DTY {conSpec,...} => conSpec | I.TFUN_DTY {conSpec,...} => conSpec | _ => raise bug "non dty tfv (2)" ) tfvList val liftedTys = foldr liftedTysConSpec I.emptyLiftedTys conSpecList in app (fn (tfv as (ref (I.TFV_DTY{name, id, iseq, formals, conSpec,...}))) => tfv := I.TFV_DTY{name=name,id=id, iseq=iseq, formals=formals, conSpec=conSpec, liftedTys=liftedTys} | (tfv as (ref (I.TFUN_DTY{id,iseq,formals, dtyKind, runtimeTy, originalPath, conSpec,...}))) => tfv := I.TFUN_DTY{id=id, iseq=iseq, runtimeTy=runtimeTy, formals=formals, originalPath=originalPath, conSpec=conSpec, dtyKind=dtyKind, liftedTys=liftedTys } | _ => raise bug "non tfv_dty" ) tfvList end fun setLiftedTysEnv tfvKind env = let val IV.ENV{tyE, varE, strE} = env val freeTfvs = TF.tfvsEnv tfvKind nil (env, TfvMap.empty) val _ = TfvMap.appi (fn (tfv as (ref (I.TFV_DTY{name, id,iseq,formals,conSpec,...})), path) => tfv := I.TFV_DTY{id=id, name=name, iseq=iseq, formals=formals, conSpec=conSpec, liftedTys=I.emptyLiftedTys} | (tfv as (ref (I.TFUN_DTY{id,iseq,runtimeTy, formals, dtyKind,originalPath, conSpec,...})),path) => tfv := I.TFUN_DTY{id=id, iseq=iseq, formals=formals, conSpec=conSpec, originalPath=originalPath, runtimeTy=runtimeTy, dtyKind=dtyKind, liftedTys=I.emptyLiftedTys } | _ => raise bug "non tfv_dty" ) freeTfvs val tfvListList = List.rev (SCCTfvs tfvKind freeTfvs) val _ = app setLiftedTysTfvList tfvListList val pathTfvListList = map (fn tvfList => map (fn tfv => case TfvMap.find(freeTfvs, tfv) of SOME path => (path, tfv) | _ => raise bug "tfvPathListList" ) tvfList ) tfvListList in pathTfvListList end fun dtyLists tfvKind env = let val IV.ENV{tyE, varE, strE} = env val freeTfvs = TF.tfvsEnv tfvKind nil (env, TfvMap.empty) val tfvListList = List.rev (SCCTfvs tfvKind freeTfvs) val pathTfvListList = map (fn tvfList => map (fn tfv => case TfvMap.find(freeTfvs, tfv) of SOME path => (path, tfv) | _ => raise bug "tfvPathListList" ) tvfList ) tfvListList in pathTfvListList end in val getId = getId val setLiftedTysEnv = setLiftedTysEnv TF.dtyKind and setLiftedTysSpecEnv = setLiftedTysEnv TF.sigDtyKind val dtyListsEnv = dtyLists TF.dtyKind and dtyListsSpecEnv = dtyLists TF.sigDtyKind end end smlsharp-1.2.0/src/compiler/nameevaluation/main/SigCheck.smi0000644 000000000000000000000253412050661606024236 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../name/main/LocalID.smi" _require "../../usererror/main/UserErrorUtils.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../patterncalc/main/PatternCalc.ppg.smi" _require "../../patterncalc/main/PatternCalcInterface.ppg.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../types/main/tvarMap.smi" _require "../../types/main/EvalIty.smi" _require "EvalSig.smi" _require "EvalTy.smi" _require "FunctorUtils.smi" _require "NameEvalError.ppg.smi" _require "NameEvalUtils.smi" _require "NameEvalEnv.ppg.smi" _require "NormalizeTy.smi" _require "SetLiftedTys.smi" _require "Subst.smi" _require "TfunVars.smi" structure SigCheck = struct exception SIGCHECK datatype mode = Opaque | Trans type sigCheckParam = {loc:Loc.loc, mode:mode, specEnv:NameEvalEnv.env, strEnv:NameEvalEnv.env, strPath:string list} type sigCheckResult = NameEvalEnv.env * IDCalc.icdecl list val sigCheck : sigCheckParam -> sigCheckResult val refreshEnv : string list -> TypID.Set.set * Subst.exnIdSubst -> NameEvalEnv.env -> (Subst.tfvSubst * Subst.conIdSubst) * NameEvalEnv.env end smlsharp-1.2.0/src/compiler/nameevaluation/main/SigCheck.sml0000644 000000000000000000013164612050661606024250 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2012- Tohoku University. * @author Atsushi Ohori *) structure SigCheck : sig exception SIGCHECK datatype mode = Opaque | Trans type sigCheckParam = {mode:mode, loc:Loc.loc, strPath:string list, strEnv:NameEvalEnv.env, specEnv:NameEvalEnv.env} type sigCheckResult = NameEvalEnv.env * IDCalc.icdecl list val sigCheck : sigCheckParam -> sigCheckResult val refreshEnv : string list -> TypID.Set.set * Subst.exnIdSubst -> NameEvalEnv.env -> (Subst.tfvSubst * Subst.conIdSubst) * NameEvalEnv.env end = struct local structure I = IDCalc structure Ty = EvalTy structure ITy = EvalIty structure V = NameEvalEnv structure L = SetLiftedTys structure S = Subst structure TF = TfunVars structure P = PatternCalc structure PI = PatternCalcInterface structure U = NameEvalUtils structure EU = UserErrorUtils structure E = NameEvalError structure A = Absyn structure N = NormalizeTy structure Sig = EvalSig structure FU = FunctorUtils fun bug s = Control.Bug ("SigCheck: " ^ s) in exception SIGCHECK datatype mode = Opaque | Trans type sigCheckParam = {mode:mode,loc:Loc.loc,strPath:string list,strEnv:V.env,specEnv:V.env} type sigCheckResult = V.env * I.icdecl list fun sigCheck (param as {mode, loc, ...} : sigCheckParam) : sigCheckResult = let val revealKey = RevealID.generate() (* for each sigCheck instance *) fun instantiateEnv path (specEnv, strEnv) = let fun instantiateTstr name (specTstr, strTstr) = let val tfun = case specTstr of V.TSTR tfun => tfun | V.TSTR_DTY {tfun, ...} => tfun in case I.derefTfun tfun of I.TFUN_DEF _ => () | I.TFUN_VAR (tfv as (ref (I.REALIZED _))) => raise bug "REALIZED" | I.TFUN_VAR (tfv as (ref (I.INSTANTIATED _))) => () | I.TFUN_VAR (tfv as (ref (I.FUN_DTY _))) => () | I.TFUN_VAR (tfv as (ref (I.TFUN_DTY _))) => () | I.TFUN_VAR (tfv as (ref (tfunkind as I.TFV_SPEC _))) => (* 2012-7-14 ohori: bug 206_eqtype.sml eq check is added. 2012-7-19 ohori: bug 214_typeSpecMaching.sml arity check is added *) let val tstrTfun = case strTstr of V.TSTR tfun => tfun | V.TSTR_DTY {tfun, ...} => tfun val _ = if I.tfunIseq tfun andalso not (I.tfunIseq tstrTfun) then EU.enqueueError (loc,E.SIGEqtype("200",{longid=path@[name]})) else () val _ = if I.tfunArity tfun <> I.tfunArity tstrTfun then EU.enqueueError (loc,E.SIGArity("200",{longid=path@[name]})) else () in tfv := I.INSTANTIATED {tfunkind=tfunkind, tfun=tstrTfun} end | I.TFUN_VAR (tfv as (ref (tfunkind as I.TFV_DTY _))) => let val tstrTfun = case strTstr of V.TSTR tfun => tfun | V.TSTR_DTY {tfun, ...} => tfun val _ = if I.tfunIseq tfun andalso not (I.tfunIseq tstrTfun) then EU.enqueueError (loc,E.SIGEqtype("200",{longid=path@[name]})) else () val _ = if I.tfunArity tfun <> I.tfunArity tstrTfun then EU.enqueueError (loc,E.SIGArity("200",{longid=path@[name]})) else () in tfv := I.INSTANTIATED {tfunkind=tfunkind, tfun=tstrTfun} end end fun instantiateTyE (specTyE, strTyE) = SEnv.appi (fn (string, specTstr) => case SEnv.find (strTyE, string) of NONE => () | SOME strTstr => instantiateTstr string (specTstr, strTstr) ) specTyE fun instantiateStrE (V.STR specEnvMap, V.STR strEnvMap) = SEnv.appi (fn (name, {env=specEnv, strKind=_}) => case SEnv.find(strEnvMap, name) of NONE => () (* error will be checked in checkStrE *) | SOME {env=strEnv, strKind=_} => instantiateEnv (path@[name]) (specEnv, strEnv) ) specEnvMap val V.ENV{tyE=specTyE, strE=specStrE, ...} = specEnv val V.ENV{tyE=strTyE, strE=strStrE, ...} = strEnv in instantiateTyE (specTyE, strTyE); instantiateStrE (specStrE, strStrE) end fun checkEnv path (specEnv, strEnv) : sigCheckResult = let val V.ENV{varE=specVarE,tyE=specTyE, strE=specStrE} = specEnv val V.ENV{varE=strVarE,tyE=strTyE, strE=strStrE} = strEnv fun checkTfun name (specTfun, strTfun) = let val specTfun = I.pruneTfun(N.reduceTfun(I.pruneTfun specTfun)) val strTfun = I.derefTfun (N.reduceTfun (I.pruneTfun strTfun)) in case (specTfun, strTfun) of (I.TFUN_DEF {formals=specFormals, realizerTy=specTy,...}, I.TFUN_DEF {formals=strFormals, realizerTy=strTy,...}) => if List.length specFormals <> List.length strFormals then EU.enqueueError (loc,E.SIGArity("205",{longid=path@[name]})) else if N.eqTydef N.emptyTypIdEquiv ((specFormals,specTy),(strFormals,strTy)) then () else ( EU.enqueueError (loc,E.SIGDtyMismatch ("210",{longid=path@[name ^ "(1)"]})) ) | (I.TFUN_VAR (ref (I.TFUN_DTY {id=id1,...})), I.TFUN_VAR (ref (I.TFUN_DTY {id=id2,...}))) => if TypID.eq(id1,id2) then () else ( EU.enqueueError (loc, E.SIGDtyMismatch("220",{longid=path@[name]})) ) | (I.TFUN_VAR (ref (I.FUN_DTY {tfun=specTfun,...})), strTfun) => checkTfun name (specTfun, strTfun) | (specTfun, I.TFUN_VAR (ref (I.FUN_DTY {tfun=strTfun,...}))) => checkTfun name (specTfun, strTfun) | _ => ( EU.enqueueError (loc,E.SIGDtyMismatch("230",{longid=path@[name]})) ) end fun checkTstr name (specTstr, strTstr) = let fun checkVarE varE = SEnv.appi (fn (name, idstatus) => case SEnv.find(strVarE, name) of NONE => EU.enqueueError (loc, E.SIGConNotFound ("240",{longid=path@[name]})) | SOME strIdstatus => (case (idstatus, strIdstatus) of (I.IDCON {id=conid1,ty=ty1}, I.IDCON {id=conid2,ty=ty2}) => if ConID.eq(conid1, conid2) then () else ( EU.enqueueError (loc, E.SIGConNotFound ("250",{longid=path@[name]})) ) | (I.IDSPECCON, I.IDCON _) => () | (I.IDCON _, _) => EU.enqueueError (loc, E.SIGConNotFound ("260",{longid=path@[name]})) | _ => raise bug "non conid" ) ) varE in case specTstr of V.TSTR specTfun => (case strTstr of V.TSTR strTfun => (checkTfun name (specTfun, strTfun) ; specTstr) | V.TSTR_DTY {tfun=strTfun, ...} => (checkTfun name (specTfun, strTfun); specTstr) ) | V.TSTR_DTY {tfun=specTfun,formals, conSpec,...} => (case strTstr of V.TSTR strTfun => (EU.enqueueError (loc,E.SIGDtyRequired("270",{longid=path@[name]})); specTstr) | V.TSTR_DTY {tfun=strTfun, varE=strVarE, formals=strFormals, conSpec=strConSpec,...} => (checkTfun name (specTfun, strTfun); let val result = N.checkConSpec N.emptyTypIdEquiv ((formals, conSpec), (strFormals, strConSpec)) in case result of N.SUCCESS => () | _ => EU.enqueueError (loc,E.SIGDtyMismatch ("280",{longid=path@[name]})) end; checkVarE strVarE; V.TSTR_DTY{tfun=specTfun, formals=formals, conSpec=conSpec, varE=strVarE} ) ) end fun checkTyE (specTyE, strTyE) = SEnv.foldri (fn (name, specTstr, tyE) => case SEnv.find (strTyE, name) of NONE => (EU.enqueueError (loc,E.SIGTypUndefined("290",{longid=path@[name]})); tyE) | SOME strTstr => let val str = checkTstr name (specTstr, strTstr) in SEnv.insert(tyE, name, str) end ) SEnv.empty specTyE fun isTrans ty = let exception OPAQUE fun trace ty = case ty of I.TYWILD => () | I.TYERROR => () | I.TYVAR _ => () | I.TYRECORD tyLabelenvMap => LabelEnv.app trace tyLabelenvMap | I.TYCONSTRUCT {tfun, args} => (traceTfun tfun; List.app trace args) | I.TYFUNM (tyList, ty) => (List.app trace tyList; trace ty) | I.TYPOLY (kindedTvarList, ty) => trace ty | I.INFERREDTY ty => () and traceTfun tfun = case tfun of I.TFUN_DEF {iseq, formals, realizerTy} => trace realizerTy | I.TFUN_VAR (ref tfunkind) => traceTfunkind tfunkind and traceTfunkind tfunkind = case tfunkind of I.TFUN_DTY _ => () | I.TFV_SPEC _ => () | I.TFV_DTY _ => () | I.REALIZED {id, tfun} => traceTfun tfun | I.INSTANTIATED _ => raise OPAQUE | I.FUN_DTY _ => () in case mode of Trans => true | Opaque => ((trace ty; true) handle OPAQUE => false) end fun checkVarE (specVarE, strVarE) = SEnv.foldri (fn (name, specIdStatus, (varE, icdeclList)) => case specIdStatus of I.IDSPECVAR specTy => let fun makeDecl icexp = let val revealKey = case mode of Trans => NONE | Opaque => SOME revealKey val icexp = I.ICSIGTYPED {icexp=icexp, revealKey=revealKey, ty=specTy, loc=loc} val newId = VarID.generate() val icpat = I.ICPATVAR ({path=path@[name],id=newId}, loc) in (SEnv.insert(varE, name, I.IDVAR_TYPED {id=newId, ty=specTy}), I.ICVAL(Ty.emptyScopedTvars,[(icpat,icexp)],loc) :: icdeclList) end fun makeTypdecl (icexp, idstatusActualTyOpt) = case idstatusActualTyOpt of SOME (actualTy, idstatus) => if isTrans specTy andalso N.equalTy (N.emptyTypIdEquiv, TvarID.Map.empty) (specTy, actualTy) then (SEnv.insert(varE, name, idstatus), icdeclList) else makeDecl icexp | NONE => makeDecl icexp in case SEnv.find(strVarE, name) of NONE => (EU.enqueueError (loc, E.SIGVarUndefined ("300",{longid = path@[name]})); (varE, icdeclList) ) | SOME (I.IDVAR id) => makeTypdecl (I.ICVAR ({path=path@[name],id=id},loc), NONE) | SOME (idstatus as I.IDVAR_TYPED {id, ty}) => makeTypdecl (I.ICVAR ({path=path@[name],id=id},loc), SOME (ty, idstatus)) | SOME (idstatus as I.IDEXVAR {path, ty, used, loc, version, internalId}) => let val path = case version of NONE => path | SOME i => path @ [Int.toString i] in (used := true; makeTypdecl (I.ICEXVAR ({path=path,ty=ty},loc), SOME (ty, idstatus)) ) end | SOME (I.IDEXVAR_TOBETYPED _) => raise bug "IDEXVAR_TOBETYPED" | SOME (idstatus as I.IDBUILTINVAR {primitive, ty}) => makeTypdecl (I.ICBUILTINVAR {primitive=primitive,ty=ty,loc=loc}, SOME (ty, idstatus)) | SOME (I.IDCON {id, ty}) => makeTypdecl (I.ICCON ({path=path@[name],ty=ty, id=id}, loc), NONE) | SOME (I.IDEXN {id, ty}) => makeTypdecl (I.ICEXN ({path=path@[name],ty=ty, id=id},loc), NONE) | SOME (I.IDEXNREP {id, ty}) => makeTypdecl (I.ICEXN ({path=path@[name],ty=ty, id=id},loc), NONE) | SOME (I.IDEXEXN {path, ty, used, loc, version}) => let val path = case version of NONE => path | SOME i => path @ [Int.toString i] in (used := true; makeTypdecl (I.ICEXEXN ({path=path,ty=ty},loc), NONE) ) end | SOME (I.IDEXEXNREP {path, ty, used, loc, version}) => let val path = case version of NONE => path | SOME i => path @ [Int.toString i] in (used := true; makeTypdecl (I.ICEXEXN ({path=path,ty=ty},loc), NONE) ) end | SOME (I.IDOPRIM {id, overloadDef, used, loc}) => (used := true; makeTypdecl (I.ICOPRIM ({path=path@[name],id=id},loc), NONE) ) | SOME (I.IDSPECVAR _) => raise bug "IDSPECVAR" | SOME (I.IDSPECEXN _) => raise bug "IDSPECEXN" | SOME I.IDSPECCON => raise bug "IDSPECCON" end | I.IDSPECEXN ty1 => (case SEnv.find(strVarE, name) of NONE => (EU.enqueueError (loc, E.SIGVarUndefined("310",{longid = path@[name]})); (varE, icdeclList) ) | SOME (idstatus as I.IDEXN {id, ty=ty2}) => let val ty1 = N.reduceTy TvarMap.empty ty1 val ty2 = N.reduceTy TvarMap.empty ty2 in (* we must return ty1 instead of ty2 here, since ty1 may be abstracted *) if N.equalTy (N.emptyTypIdEquiv, TvarID.Map.empty) (ty1, ty2) then (SEnv.insert(varE, name, I.IDEXN {id=id, ty=ty1}), icdeclList) else (EU.enqueueError (loc, E.SIGExnType("320",{longid = path@[name]})); (varE, icdeclList) ) end | SOME (idstatus as I.IDEXNREP {id, ty=ty2}) => let val ty1 = N.reduceTy TvarMap.empty ty1 val ty2 = N.reduceTy TvarMap.empty ty2 in if N.equalTy (N.emptyTypIdEquiv, TvarID.Map.empty) (ty1, ty2) then (SEnv.insert(varE, name, idstatus), icdeclList) else (EU.enqueueError (loc, E.SIGExnType("330",{longid = path@[name]})); (varE, icdeclList) ) end | SOME (idstatus as I.IDEXEXN {path, ty=ty2, used, loc, version}) => let val _ = used := true val ty1 = N.reduceTy TvarMap.empty ty1 val ty2 = N.reduceTy TvarMap.empty ty2 in if N.equalTy (N.emptyTypIdEquiv, TvarID.Map.empty) (ty1, ty2) then (SEnv.insert(varE, name, idstatus), icdeclList) else (EU.enqueueError (loc, E.SIGExnType ("340",{longid = path@[name]})); (varE, icdeclList) ) end | SOME (idstatus as I.IDEXEXNREP {path, ty=ty2, used, loc, version}) => let val _ = used := true val ty1 = N.reduceTy TvarMap.empty ty1 val ty2 = N.reduceTy TvarMap.empty ty2 in if N.equalTy (N.emptyTypIdEquiv, TvarID.Map.empty) (ty1, ty2) then (SEnv.insert(varE, name, idstatus), icdeclList) else (EU.enqueueError (loc, E.SIGExnType ("340",{longid = path@[name]})); (varE, icdeclList) ) end | _ => (EU.enqueueError (loc, E.SIGExnExpected ("350",{longid = path@[name]})); (varE, icdeclList) ) ) | I.IDSPECCON => (case SEnv.find(strVarE, name) of NONE => (EU.enqueueError (loc, E.SIGVarUndefined("360",{longid = path@[name]})); (varE, icdeclList) ) | SOME (idstatus as I.IDCON {id,ty}) => (SEnv.insert(varE, name, idstatus), icdeclList) | SOME _ => (EU.enqueueError (loc, E.SIGConNotFound ("370",{longid = path@[name]})); (varE, icdeclList) ) ) | I.IDCON {id, ty} => (case SEnv.find(strVarE, name) of NONE => (EU.enqueueError (loc, E.SIGVarUndefined ("380",{longid = path@[name]})); (varE, icdeclList) ) | SOME (idstatus as I.IDCON {id=id2, ty=ty2}) => if ConID.eq(id, id2) then (SEnv.insert(varE, name, idstatus), icdeclList) else (EU.enqueueError (loc, E.SIGConNotFound ("390",{longid = path@[name]})); (varE, icdeclList) ) | SOME _ => (EU.enqueueError (loc, E.SIGConNotFound ("400",{longid = path@[name]})); (varE, icdeclList) ) ) | _ => (U.print "\ncheckVarE\n"; U.printIdstatus specIdStatus; U.print "\n"; raise bug "illeagal idstatus" ) ) (SEnv.empty, nil) specVarE fun checkStrE (V.STR specEnvMap, V.STR strEnvMap) = SEnv.foldri (fn (name, {env=specEnv, strKind=specStrKind}, (strE, icdeclList)) => case SEnv.find(strEnvMap, name) of NONE => (EU.enqueueError (loc, E.SIGStrUndefined("410",{longid=path@[name]})); (strE, icdeclList)) | SOME {env=strEnv, strKind=strStrKind} => let val (env, icdeclList1) = checkEnv (path@[name]) (specEnv, strEnv) in (SEnv.insert(strE, name, {env=env, strKind=strStrKind}), icdeclList@icdeclList1) end ) (SEnv.empty, nil) specEnvMap val tyE = checkTyE (specTyE, strTyE) val (varE, icdeclList1) = checkVarE(specVarE, strVarE) val (strE, icdeclList2) = checkStrE (specStrE, strStrE) val env = V.ENV{varE=varE, tyE=tyE, strE=V.STR strE} in if EU.isAnyError () then raise SIGCHECK else (env, icdeclList1@icdeclList2) end fun makeOpaqueInstanceEnv path env = let fun makeOpaqueInstanceTstr name (tstr, env) = case tstr of V.TSTR tfun => (case I.derefTfun tfun of I.TFUN_VAR(tfv as ref (I.INSTANTIATED {tfunkind,tfun})) => (case tfunkind of (* creating a return env *) I.TFV_SPEC {id, iseq, ...} => let val formals = I.tfunFormals tfun val liftedTys = I.tfunLiftedTys tfun val runtimeTy = case I.tfunRuntimeTy tfun of SOME ty => ty | NONE => ( U.print "tfunRuntimeTy\n"; U.printTfun tfun; U.print "\n"; U.print "liftedTys\n"; U.printLiftedTys liftedTys; U.print "\n"; raise bug "runtimeTy" ) val newTfunkind = I.TFUN_DTY {id=id, iseq=iseq, formals=formals, runtimeTy=runtimeTy, conSpec=SEnv.empty, (* 2012-7-14: ohori [name] is added. *) originalPath=path@[name], liftedTys=liftedTys, dtyKind=I.OPAQUE {tfun=tfun, revealKey=revealKey} } val _ = tfv := newTfunkind val env = V.rebindTstr(env,name,V.TSTR (I.TFUN_VAR tfv)) in env end | I.TFV_DTY {id, iseq, ...} => let val formals = I.tfunFormals tfun val liftedTys = I.tfunLiftedTys tfun val runtimeTy = case I.tfunRuntimeTy tfun of SOME ty => ty | NONE => raise bug "runtimeTy" val newTfunkind = I.TFUN_DTY {id=id, iseq=iseq, formals=formals, runtimeTy=runtimeTy, conSpec=SEnv.empty, (* 2012-7-14: ohori [name] is added. *) originalPath=path @ [name], liftedTys=liftedTys, dtyKind= I.OPAQUE {tfun=tfun, revealKey=revealKey} } val _ = tfv := newTfunkind val newTfun = I.TFUN_VAR tfv val env = V.rebindTstr(env, name,V.TSTR newTfun) in env end | _ => raise bug "non tfv (5)" ) | I.TFUN_VAR _ => V.rebindTstr(env, name, tstr) | I.TFUN_DEF _ => V.rebindTstr(env, name, tstr) ) | V.TSTR_DTY {tfun, varE, ...} => (case I.derefTfun tfun of I.TFUN_VAR (tfv as ref (I.INSTANTIATED{tfunkind,tfun=strTfun})) => (case tfunkind of I.TFV_DTY {name=_, id, iseq, formals, conSpec, liftedTys} => let val runtimeTy = case I.tfunRuntimeTy strTfun of SOME ty => ty | NONE => raise bug "runtimeTy" val newTfunkind = I.TFUN_DTY {id=id, iseq=iseq, formals=formals, runtimeTy=runtimeTy, conSpec=conSpec, (* 2012-7-14: ohori [name] is added. *) originalPath=path @ [name], liftedTys=liftedTys, dtyKind= I.OPAQUE {tfun=strTfun,revealKey=revealKey} } val _ = tfv := newTfunkind val returnTy = I.TYCONSTRUCT {tfun=tfun, args= map (fn tv=>I.TYVAR tv) formals} val (varE, conbind) = SEnv.foldri (fn (name, tyOpt, (varE, conbind)) => let val conId = ConID.generate() val conTy = case tyOpt of NONE => (case formals of nil => returnTy | _ => I.TYPOLY ( map (fn tv=>(tv,I.UNIV)) formals, returnTy ) ) | SOME ty => case formals of nil => I.TYFUNM([ty], returnTy) | _ => I.TYPOLY ( map (fn tv =>(tv,I.UNIV)) formals, I.TYFUNM([ty], returnTy) ) val conInfo = {path=path@[name],ty=conTy,id=conId} val idstatus = I.IDCON{id=conId,ty=conTy} in (SEnv.insert(varE, name, idstatus), {datacon=conInfo,tyOpt=tyOpt} :: conbind) end ) (SEnv.empty, nil) conSpec val newTstr = V.TSTR_DTY {tfun=I.TFUN_VAR tfv, varE=varE, formals=formals, conSpec=conSpec} val env = V.rebindTstr(env, name, newTstr) val env = V.envWithVarE(env, varE) in env end | _ => raise bug "non dty tfv (1)" ) | _ => V.rebindTstr(env, name, tstr) ) fun makeOpaqueInstanceTyE tyE env = SEnv.foldri (fn (name, tstr, env) => makeOpaqueInstanceTstr name (tstr, env) ) env tyE fun makeOpaqueInstanceStrE (V.STR strEnvMap) env = let val env = SEnv.foldri (fn (name, {env=strEnv, strKind}, env) => let val strEnv = makeOpaqueInstanceEnv (path@[name]) strEnv val strKind = V.STRENV (StructureID.generate()) in V.rebindStr(env, name, {env=strEnv, strKind=strKind}) end ) env strEnvMap in env end val V.ENV {varE, tyE, strE} = env val env = makeOpaqueInstanceTyE tyE env val env = makeOpaqueInstanceStrE strE env in env end fun makeTransInstanceEnv path env = let val V.ENV {varE, tyE, strE} = env fun makeTransInstanceTstr name (tstr, tyE) = case tstr of V.TSTR tfun => (case I.derefTfun tfun of I.TFUN_VAR (tfv as ref tfunkind) => (case tfunkind of I.INSTANTIATED {tfunkind, tfun} => (tfv := I.REALIZED{tfun=tfun,id=I.tfunkindId tfunkind}; SEnv.insert(tyE, name, V.TSTR tfun) ) | I.TFV_SPEC _ => raise bug "non instantiated tfv (3)" | I.TFV_DTY _ => raise bug "non instantiated tfv (3)" | I.TFUN_DTY _ => SEnv.insert(tyE, name, tstr) | _ => raise bug "non instantiated tfv (3)" ) | _ => SEnv.insert(tyE, name, tstr) ) | V.TSTR_DTY {tfun=specTfun, varE=tstrVarE, ...} => (case I.derefTfun specTfun of I.TFUN_VAR (tfv as ref tfunkind) => (case tfunkind of I.INSTANTIATED {tfunkind, tfun} => (tfv := I.REALIZED{tfun=tfun,id=I.tfunkindId tfunkind}; case I.derefTfun tfun of I.TFUN_VAR (ref (I.TFUN_DTY{id,iseq,formals,runtimeTy,conSpec,originalPath,liftedTys,dtyKind})) => let val varE = SEnv.mapi (fn (name, _) => case SEnv.find(varE, name) of SOME idstatus => idstatus | NONE => raise bug "id not found" ) tstrVarE in SEnv.insert (tyE, name, V.TSTR_DTY {tfun=tfun, varE=varE, formals=formals, conSpec=conSpec} ) end | _ => raise bug "non dty instance" ) | I.TFV_SPEC _ => raise bug "non instantiated tfv (3)" | I.TFV_DTY _ => raise bug "non instantiated tfv (3)" | I.TFUN_DTY _ => SEnv.insert(tyE, name, tstr) | _ => raise bug "non instantiated tfv (4)" ) | _ => SEnv.insert(tyE, name, tstr) ) fun makeTransInstanceTyE tyE = SEnv.foldri (fn (name, tstr, tyE) => makeTransInstanceTstr name (tstr, tyE) ) SEnv.empty tyE fun makeTransInstanceStrE (V.STR strEnvMap) = let val strEnvMap = SEnv.foldri (fn (name, {env,strKind}, strEnvMap) => let val env = makeTransInstanceEnv (path@[name]) env val strKind = V.STRENV (StructureID.generate()) in SEnv.insert(strEnvMap, name, {env=env,strKind=strKind}) end ) SEnv.empty strEnvMap in V.STR strEnvMap end val tyE = makeTransInstanceTyE tyE val strE = makeTransInstanceStrE strE in V.ENV {varE=varE, tyE=tyE, strE=strE} end fun makeInstanceEnv path env = case mode of Opaque => makeOpaqueInstanceEnv path env | Trans => makeTransInstanceEnv path env (* sigCheck body *) val path = #strPath param val specEnv = #specEnv param val strEnv = #strEnv param val _ = instantiateEnv path (specEnv, strEnv) val (env, icdeclList1) = checkEnv path (specEnv, strEnv) val env = makeInstanceEnv path env val env = N.reduceEnv env in (env, icdeclList1) end fun refreshEnv copyPath (typidSet, exnIdSubst) specEnv : (S.tfvSubst * S.conIdSubst) * V.env = let val tfvMap = TF.tfvsEnv TF.allTfvKind nil (specEnv, TfvMap.empty) val (tfvSubst, conIdSubst) = TfvMap.foldri (fn (tfv as ref (I.TFV_SPEC {name, iseq, formals,...}),path, (tfvSubst, conIdSubst)) => let val id = TypID.generate() val newTfv = I.mkTfv (I.TFV_SPEC{name=name, id=id,iseq=iseq,formals=formals}) in (TfvMap.insert(tfvSubst, tfv, newTfv), conIdSubst) end | (tfv as ref (I.INSTANTIATED {tfunkind, tfun}), path, (tfvSubst, conIdSubst)) => let val newTfv = I.mkTfv (I.INSTANTIATED {tfunkind=tfunkind, tfun=tfun}) in (TfvMap.insert(tfvSubst, tfv, newTfv), conIdSubst) end | (tfv as ref (I.TFV_DTY {name, iseq,formals,conSpec,liftedTys,...}), path, (tfvSubst, conIdSubst)) => let val id = TypID.generate() val newTfv = I.mkTfv (I.TFV_DTY{id=id, name=name, iseq=iseq, conSpec=conSpec, liftedTys=liftedTys, formals=formals} ) in (TfvMap.insert(tfvSubst, tfv, newTfv), conIdSubst) end | (tfv as ref(I.TFUN_DTY {id,iseq,formals,runtimeTy,originalPath, conSpec,liftedTys,dtyKind}), path, (tfvSubst, conIdSubst)) => if TypID.Set.member(typidSet, id) then let val (name, path) = case List.rev path of h::tl => (h, List.rev tl) | _ => raise bug "nil path (2)" val (name, _) = case List.rev originalPath of h::tl => (h, List.rev tl) (* 2012-8-6 ohori bug 062_functorPoly.sml This should not happen; but in case we can use the the above name here; they should be the same. | _ => raise bug "nil path (2)" *) | _ => (name, path) val id = TypID.generate() val newTfv = I.mkTfv (I.TFUN_DTY {id=id, iseq=iseq, formals=formals, runtimeTy=runtimeTy, conSpec=conSpec, originalPath=copyPath @ [name], (* originalPath=originalPath, 2012-7-22 ohori: bug 222_functorArgumentTyconName.sml This is the real tycon generated here. So we set its real name here. *) liftedTys=liftedTys, dtyKind=dtyKind } ) val conIdSubst = SEnv.foldri (fn (name, _, conIdSubst) => case V.findId(specEnv, path@[name]) of SOME (I.IDCON {id, ty}) => let val newId = ConID.generate() in ConID.Map.insert(conIdSubst, id, I.IDCON{id=newId, ty=ty} ) end | _ => conIdSubst ) conIdSubst conSpec in (TfvMap.insert(tfvSubst, tfv, newTfv), conIdSubst) end else (tfvSubst, conIdSubst) | _ => raise bug "non tfv (11)" ) (TfvMap.empty, ConID.Map.empty) tfvMap handle exn => raise exn val _ = TfvMap.app (fn (tfv as ref (I.TFV_DTY{name,iseq,formals,conSpec,liftedTys,id})) => let val conSpec = SEnv.map (fn tyOpt => Option.map (S.substTfvTy tfvSubst) tyOpt) conSpec in tfv:= I.TFV_DTY {iseq=iseq, name=name, formals=formals, conSpec=conSpec, liftedTys=liftedTys, id=id} end | (tfv as ref (I.TFUN_DTY {iseq, formals, conSpec, originalPath, runtimeTy, liftedTys, id, dtyKind })) => let val dtyKind = case dtyKind of I.OPAQUE{tfun, revealKey} => I.OPAQUE{tfun=S.substTfvTfun tfvSubst tfun, revealKey=revealKey} | _ => dtyKind val conSpec = SEnv.map (fn tyOpt => Option.map (S.substTfvTy tfvSubst) tyOpt) conSpec in tfv:= I.TFUN_DTY {iseq=iseq, formals=formals, runtimeTy=runtimeTy, conSpec=conSpec, originalPath=originalPath, liftedTys=liftedTys, dtyKind=dtyKind, id=id} end | _ => ()) tfvSubst handle exn => raise exn val subst = {tvarS=S.emptyTvarSubst, exnIdS=exnIdSubst, conIdS=conIdSubst} val env =S.substTfvEnv tfvSubst specEnv val env =S.substEnv subst env in ((tfvSubst, conIdSubst), env) end end end smlsharp-1.2.0/src/compiler/nameevaluation/main/Subst.smi0000644 000000000000000000000211712050661606023653 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../types/main/tvarMap.smi" _require "NameEvalEnv.ppg.smi" _require "TfunVars.smi" structure Subst = struct type tvarSubst = IDCalc.ty TvarMap.map type tfvSubst = IDCalc.tfunkind ref TfvMap.map type conIdSubst = IDCalc.idstatus ConID.Map.map type exnIdSubst = ExnID.id ExnID.Map.map type subst = {conIdS:conIdSubst, exnIdS:exnIdSubst, tvarS:tvarSubst} val emptyConIdSubst : conIdSubst val emptyExnIdSubst : exnIdSubst val emptySubst : subst val emptyTvarSubst : tvarSubst val emptyTfvSubst : tfvSubst val substEnv : subst -> NameEvalEnv.env -> NameEvalEnv.env val substTy : subst -> IDCalc.ty -> IDCalc.ty val substTfvTy : tfvSubst -> IDCalc.ty -> IDCalc.ty val substTfvTfun : tfvSubst -> IDCalc.tfun -> IDCalc.tfun val substTfvEnv : tfvSubst -> NameEvalEnv.env -> NameEvalEnv.env end smlsharp-1.2.0/src/compiler/nameevaluation/main/Subst.sml0000644 000000000000000000003306412050661606023663 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2012- Tohoku University. * @author Atsushi Ohori *) (* the initial error code of this file : S-001 *) structure Subst : sig type tvarSubst type tfvSubst type conIdSubst type exnIdSubst type subst val emptyConIdSubst : conIdSubst val emptyExnIdSubst : exnIdSubst val emptySubst : subst val emptyTvarSubst : tvarSubst val emptyTfvSubst : tfvSubst val substEnv : subst -> NameEvalEnv.env -> NameEvalEnv.env val substTy : subst -> IDCalc.ty -> IDCalc.ty val substTfvTy : tfvSubst -> IDCalc.ty -> IDCalc.ty val substTfvTfun : tfvSubst -> IDCalc.tfun -> IDCalc.tfun val substTfvEnv : tfvSubst -> NameEvalEnv.env -> NameEvalEnv.env end = struct local structure I = IDCalc structure IV = NameEvalEnv fun bug s = Control.Bug ("Subst: " ^ s) in type tvarSubst = I.ty TvarMap.map type tfvSubst = (I.tfunkind ref) TfvMap.map type conIdSubst = I.idstatus ConID.Map.map type exnIdSubst = ExnID.id ExnID.Map.map type subst = {tvarS:tvarSubst, exnIdS:exnIdSubst, conIdS:conIdSubst} val emptyTvarSubst : tvarSubst = TvarMap.empty val emptyTfvSubst : tfvSubst = TfvMap.empty val emptyConIdSubst : conIdSubst = ConID.Map.empty val emptyExnIdSubst : exnIdSubst = ExnID.Map.empty val emptySubst : subst = {tvarS=emptyTvarSubst, exnIdS=emptyExnIdSubst, conIdS=emptyConIdSubst} local val visitedSet = ref (TfvSet.empty) fun resetSet () = visitedSet := TfvSet.empty fun visit tfv = visitedSet := TfvSet.add(!visitedSet, tfv) fun isVisited tfv = TfvSet.member(!visitedSet, tfv) fun substTfunkind subst tfunkind = case tfunkind of I.TFV_SPEC {name, id, iseq, formals} => tfunkind | I.TFV_DTY {name, id,iseq,formals,conSpec,liftedTys} => I.TFV_DTY {id=id, name=name, iseq=iseq, formals=formals, conSpec=substConSpec subst conSpec, liftedTys=liftedTys } | I.TFUN_DTY {id,iseq,formals,runtimeTy,originalPath, conSpec,liftedTys,dtyKind} => I.TFUN_DTY {id=id, iseq=iseq, (* runtimeTy=runtimeTy, 2012-7-18 ohori: bug 210_functor.sml *) runtimeTy=substRuntimeTy subst runtimeTy, formals=formals, conSpec=substConSpec subst conSpec, originalPath=originalPath, liftedTys=liftedTys, dtyKind= case dtyKind of I.DTY => dtyKind | I.DTY_INTERFACE => dtyKind | I.FUNPARAM => dtyKind | I.BUILTIN _ => dtyKind | I.OPAQUE {tfun,revealKey} => I.OPAQUE {tfun=substTfun subst tfun, revealKey=revealKey} } | I.REALIZED {id, tfun} => raise bug "REALIZED" | I.INSTANTIATED {tfunkind, tfun} => raise bug "REALIZED" | I.FUN_DTY _ => raise bug "FUN_DTY" and substRuntimeTy (subst:subst as {tvarS,...}) runtimeTy = case runtimeTy of I.BUILTINty _ => runtimeTy | I.LIFTEDty tvar => (case TvarMap.find(tvarS, tvar) of SOME (I.TYVAR (tvar as {lifted,...})) => I.LIFTEDty tvar | SOME ty => (case I.runtimeTyOfIty ty of SOME runtimeTy => runtimeTy | NONE => raise bug "runtimeTy not found in substRuntimeTy" ) | NONE => runtimeTy ) and substConSpec subst conSpec = SEnv.map (fn tyOpt => Option.map (substTy subst) tyOpt) conSpec and substTfun (subst:subst as {tvarS,...}) tfun = case I.derefTfun tfun of I.TFUN_DEF {iseq, formals=nil, realizerTy=I.TYVAR tvar} => (case TvarMap.find(tvarS, tvar) of SOME ty => I.TFUN_DEF{iseq=iseq, formals=nil, realizerTy=ty} | NONE => I.TFUN_DEF {iseq=iseq, formals=nil, realizerTy=I.TYVAR tvar} ) | I.TFUN_DEF {iseq, formals, realizerTy} => I.TFUN_DEF {iseq=iseq, formals=formals, realizerTy=substTy subst realizerTy} | I.TFUN_VAR (tfv as ref (tfunkind as (I.TFV_SPEC _))) => if isVisited tfv then I.TFUN_VAR tfv else let val _ = visit tfv val tfunkind = substTfunkind subst tfunkind val _ = tfv := tfunkind in I.TFUN_VAR tfv end | I.TFUN_VAR (tfv as ref (tfunkind as (I.TFV_DTY _))) => if isVisited tfv then I.TFUN_VAR tfv else let val _ = visit tfv; val tfunkind = substTfunkind subst tfunkind val _ = tfv := tfunkind in I.TFUN_VAR tfv end | I.TFUN_VAR (tfv as ref (tfunkind as (I.TFUN_DTY _))) => if isVisited tfv then I.TFUN_VAR tfv else let val _ = visit tfv; val tfunkind = substTfunkind subst tfunkind val _ = tfv := tfunkind in I.TFUN_VAR tfv end | I.TFUN_VAR (tfv as ref (I.INSTANTIATED{tfunkind, tfun})) => let val tfunkind = substTfunkind subst tfunkind val tfun = substTfun subst tfun val _ = tfv := I.INSTANTIATED{tfunkind=tfunkind, tfun=tfun} in I.TFUN_VAR tfv end | I.TFUN_VAR _ => tfun and substTy (subst:subst as {tvarS,...}) (ty:I.ty) : I.ty = case ty of I.TYWILD => ty | I.TYVAR (tvar) => (case TvarMap.find(tvarS, tvar) of SOME ty => ty | NONE => ty ) | I.TYRECORD fields => I.TYRECORD (LabelEnv.map (substTy subst) fields) | I.TYCONSTRUCT {tfun, args} => I.TYCONSTRUCT {tfun=substTfun subst tfun, args=map (substTy subst) args } | I.TYFUNM (tyList, ty2) => I.TYFUNM (map (substTy subst) tyList, substTy subst ty2) | I.TYPOLY (kindedTvarList, ty) => I.TYPOLY (map (substKindedTvar subst) kindedTvarList, substTy subst ty ) | I.TYERROR => I.TYERROR | I.INFERREDTY _ => ty and substKindedTvar subst (tvar, tvarKind) = (tvar, substKind subst tvarKind) and substKind subst tvarKind = case tvarKind of I.UNIV => I.UNIV | I.REC fields => I.REC (LabelEnv.map (substTy subst) fields) (* here we only substitute conid; this is to refresh conid *) (* subst is also used for instantiation where we need to substitute conidstatus including ty *) fun substConId (subst:subst) id = case ConID.Map.find(#conIdS subst, id) of SOME (I.IDCON{id,ty}) => id | SOME _ => raise bug "substConId" | NONE => id fun substExnId (subst:subst) id = case ExnID.Map.find(#exnIdS subst, id) of SOME newId => newId | NONE => id fun substIdstatus subst idstatus = case idstatus of I.IDVAR varId => idstatus | I.IDVAR_TYPED _ => idstatus | I.IDEXVAR {path, ty, used, loc, version, internalId} => I.IDEXVAR {path=path, ty=substTy subst ty, used=used, loc=loc, version=version, internalId=internalId} | I.IDEXVAR_TOBETYPED {path, id, loc, version} => idstatus | I.IDBUILTINVAR {primitive, ty} => I.IDBUILTINVAR {primitive=primitive, ty=substTy subst ty} | I.IDCON {id, ty} => I.IDCON {id=substConId subst id, ty=substTy subst ty} | I.IDEXN {id, ty} => I.IDEXN {id=substExnId subst id, ty=substTy subst ty} | I.IDEXNREP {id, ty} => I.IDEXNREP {id=substExnId subst id, ty=substTy subst ty} | I.IDEXEXN {path, ty, used, loc, version} => I.IDEXEXN {path=path, ty=substTy subst ty, used=used, loc=loc, version=version} | I.IDEXEXNREP {path, ty, used, loc, version} => I.IDEXEXNREP {path=path, ty=substTy subst ty, used=used, loc=loc,version=version} | I.IDOPRIM _ => idstatus | I.IDSPECVAR ty => I.IDSPECVAR (substTy subst ty) | I.IDSPECEXN ty => I.IDSPECEXN (substTy subst ty) | I.IDSPECCON => idstatus fun substVarE subst varE = SEnv.map (substIdstatus subst) varE fun substTstr subst tstr = let val {tvarS,...} = subst in case tstr of IV.TSTR tfun => IV.TSTR (substTfun subst tfun) | IV.TSTR_DTY {tfun, varE, formals, conSpec} => IV.TSTR_DTY {tfun=substTfun subst tfun, varE=substVarE subst varE, formals=formals, conSpec= SEnv.map (Option.map (substTy subst)) conSpec } end fun substTyE subst tyE = SEnv.map (substTstr subst) tyE fun substEnv subst (IV.ENV {varE, tyE, strE}) = IV.ENV {varE = substVarE subst varE, tyE = substTyE subst tyE, strE = substStrE subst strE } and substStrE subst (IV.STR specEnvMap) = IV.STR (SEnv.map (fn {env, strKind} => {env=substEnv subst env, strKind=strKind}) specEnvMap) in val substEnv = fn subst => fn env => (resetSet(); substEnv subst env) val substTy = fn subst => fn ty => (resetSet(); substTy subst ty) val substVarE = fn subst => fn varE => (resetSet(); substVarE subst varE) end fun substTfvTfun tfvSubst tfun = case I.derefTfun tfun of I.TFUN_DEF {iseq, formals, realizerTy} => I.TFUN_DEF {iseq=iseq, formals=formals, realizerTy=substTfvTy tfvSubst realizerTy} | I.TFUN_VAR (tfv as ref (I.TFV_SPEC _)) => (case TfvMap.find(tfvSubst, tfv) of NONE => tfun | SOME tfv => I.TFUN_VAR tfv ) | I.TFUN_VAR (tfv as ref (I.TFV_DTY _)) => (case TfvMap.find(tfvSubst, tfv) of NONE => tfun | SOME tfv => I.TFUN_VAR tfv ) | I.TFUN_VAR (tfv as ref (I.TFUN_DTY _)) => (case TfvMap.find(tfvSubst, tfv) of NONE => tfun | SOME tfv => I.TFUN_VAR tfv ) | I.TFUN_VAR (tfv as ref (I.INSTANTIATED _)) => (case TfvMap.find(tfvSubst, tfv) of NONE => tfun | SOME tfv => I.TFUN_VAR tfv ) | I.TFUN_VAR _ => tfun and substTfvTy (tfvSubst:tfvSubst) (ty:I.ty) : I.ty = case ty of I.TYWILD => ty | I.TYVAR tvar => ty | I.TYRECORD fields => I.TYRECORD (LabelEnv.map (substTfvTy tfvSubst) fields) | I.TYCONSTRUCT {tfun, args} => I.TYCONSTRUCT {tfun=substTfvTfun tfvSubst tfun, args=map (substTfvTy tfvSubst) args } | I.TYFUNM (tyList, ty2) => I.TYFUNM (map (substTfvTy tfvSubst) tyList, substTfvTy tfvSubst ty2) | I.TYPOLY (kindedTvarList, ty) => I.TYPOLY (map (substTfvKindedTvar tfvSubst) kindedTvarList, substTfvTy tfvSubst ty ) | I.TYERROR => I.TYERROR | I.INFERREDTY _ => ty and substTfvKindedTvar tfvSubst (tvar, tvarKind) = (tvar, substTfvKind tfvSubst tvarKind) and substTfvKind tfvSubst tvarKind = case tvarKind of I.UNIV => I.UNIV | I.REC fields => I.REC (LabelEnv.map (substTfvTy tfvSubst) fields) fun substTfvIdstatus tfvSubst idstatus = case idstatus of I.IDVAR varId => idstatus | I.IDVAR_TYPED {id, ty} => I.IDVAR_TYPED {id=id, ty=substTfvTy tfvSubst ty} | I.IDEXVAR {path, ty, used, loc, version, internalId} => I.IDEXVAR {path=path, ty=substTfvTy tfvSubst ty, used=used, loc=loc, version=version, internalId=internalId} | I.IDEXVAR_TOBETYPED _ => idstatus | I.IDBUILTINVAR {primitive, ty} => I.IDBUILTINVAR {primitive=primitive, ty=substTfvTy tfvSubst ty} | I.IDCON {id, ty} => I.IDCON {id=id, ty=substTfvTy tfvSubst ty} | I.IDEXN {id, ty} => I.IDEXN {id=id, ty=substTfvTy tfvSubst ty} | I.IDEXNREP {id, ty} => I.IDEXNREP {id=id, ty=substTfvTy tfvSubst ty} | I.IDEXEXN {path, ty, used, loc,version} => I.IDEXEXN {path=path, ty=substTfvTy tfvSubst ty, used=used, loc=loc, version=version} | I.IDEXEXNREP {path, ty, used, loc, version} => I.IDEXEXNREP {path=path, ty=substTfvTy tfvSubst ty, used=used, loc=loc, version=version} | I.IDOPRIM _ => idstatus | I.IDSPECVAR ty => I.IDSPECVAR (substTfvTy tfvSubst ty) | I.IDSPECEXN ty => I.IDSPECEXN(substTfvTy tfvSubst ty) | I.IDSPECCON => idstatus fun substTfvVarE tfvSubst varE = SEnv.map (substTfvIdstatus tfvSubst) varE fun substTfvTstr tfvSubst tstr = case tstr of IV.TSTR tfun => IV.TSTR (substTfvTfun tfvSubst tfun) | IV.TSTR_DTY {tfun, varE, formals, conSpec} => IV.TSTR_DTY {tfun=substTfvTfun tfvSubst tfun, varE=substTfvVarE tfvSubst varE, formals=formals, conSpec=SEnv.map (Option.map (substTfvTy tfvSubst)) conSpec } fun substTfvTyE tfvSubst tyE = SEnv.map (substTfvTstr tfvSubst) tyE fun substTfvEnv tfvSubst (IV.ENV {varE, tyE, strE}) = IV.ENV {varE = substTfvVarE tfvSubst varE, tyE = substTfvTyE tfvSubst tyE, strE = substTfvStrE tfvSubst strE } and substTfvStrE tfvSubst (IV.STR specEnvMap) = IV.STR (SEnv.map (fn {env, strKind} => {env=substTfvEnv tfvSubst env, strKind=strKind}) specEnvMap) end end smlsharp-1.2.0/src/compiler/nameevaluation/main/TfunVars.smi0000644 000000000000000000001476212050661606024334 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlnj-lib/Util/lib-base.smi" _require "../../../smlnj-lib/Util/binary-map-fn.smi" _require "../../../smlnj-lib/Util/binary-set-fn.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../types/main/IDCalc.ppg.smi" _require "NameEvalEnv.ppg.smi" structure TfvMap = struct structure Key = struct type ord_key = IDCalc.tfunkind ref val compare : ord_key * ord_key -> order end type 'a map (= boxed) val empty : 'a map val isEmpty : 'a map -> bool val singleton : Key.ord_key * 'a -> 'a map val insert : 'a map * Key.ord_key * 'a -> 'a map val insert' : (Key.ord_key * 'a) * 'a map -> 'a map val find : 'a map * Key.ord_key -> 'a option val lookup : 'a map * Key.ord_key -> 'a val inDomain : 'a map * Key.ord_key -> bool val remove : 'a map * Key.ord_key -> 'a map * 'a val first : 'a map -> 'a option val firsti : 'a map -> (Key.ord_key * 'a) option val numItems : 'a map -> int val listItems : 'a map -> 'a list val listItemsi : 'a map -> (Key.ord_key * 'a) list val listKeys : 'a map -> Key.ord_key list val collate : ('a * 'a -> order) -> 'a map * 'a map -> order val unionWith : ('a * 'a -> 'a) -> 'a map * 'a map -> 'a map val unionWithi : (Key.ord_key * 'a * 'a -> 'a) -> 'a map * 'a map -> 'a map val intersectWith : ('a * 'b -> 'c) -> 'a map * 'b map -> 'c map val intersectWithi : (Key.ord_key * 'a * 'b -> 'c) -> 'a map * 'b map -> 'c map val mergeWith : ('a option * 'b option -> 'c option) -> 'a map * 'b map -> 'c map val mergeWithi : (Key.ord_key * 'a option * 'b option -> 'c option) -> 'a map * 'b map -> 'c map val app : ('a -> unit) -> 'a map -> unit val appi : (Key.ord_key * 'a -> unit) -> 'a map -> unit val map : ('a -> 'b) -> 'a map -> 'b map val mapi : (Key.ord_key * 'a -> 'b) -> 'a map -> 'b map val foldl : ('a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldli : (Key.ord_key * 'a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldr : ('a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldri : (Key.ord_key * 'a * 'b -> 'b) -> 'b -> 'a map -> 'b val filter : ('a -> bool) -> 'a map -> 'a map val filteri : (Key.ord_key * 'a -> bool) -> 'a map -> 'a map val mapPartial : ('a -> 'b option) -> 'a map -> 'b map val mapPartiali : (Key.ord_key * 'a -> 'b option) -> 'a map -> 'b map val insertWith : ('a -> unit) -> 'a map * Key.ord_key * 'a -> 'a map end structure TfvSet = struct structure Key = struct type ord_key = IDCalc.tfunkind ref val compare : ord_key * ord_key -> order end type item = Key.ord_key type set (= boxed) val empty : set val singleton : item -> set val fromList : item list -> set val add : set * item -> set val add' : item * set -> set val addList : set * item list -> set val delete : set * item -> set val member : set * item -> bool val isEmpty : set -> bool val equal : set * set -> bool val compare : set * set -> order val isSubset : set * set -> bool val numItems : set -> int val listItems : set -> item list val union : set * set -> set val intersection : set * set -> set val difference : set * set -> set val map : (item -> item) -> set -> set val app : (item -> unit) -> set -> unit val foldl : (item * 'a -> 'a) -> 'a -> set -> 'a val foldr : (item * 'a -> 'a) -> 'a -> set -> 'a val partition : (item -> bool) -> set -> set * set val filter : (item -> bool) -> set -> set val exists : (item -> bool) -> set -> bool val find : (item -> bool) -> set -> item option end structure TfunVars = struct val tfvsTfun : (IDCalc.tfunkind ref -> bool) -> 'a list -> 'a * IDCalc.tfun * 'a list TfvMap.map -> 'a list TfvMap.map val tfvsTstr : (IDCalc.tfunkind ref -> bool) -> 'a list -> 'a * NameEvalEnv.tstr * 'a list TfvMap.map -> 'a list TfvMap.map val tfvsTyE : (IDCalc.tfunkind ref -> bool) -> string list -> NameEvalEnv.tstr SEnv.map * string list TfvMap.map -> string list TfvMap.map val tfvsStrE : (IDCalc.tfunkind ref -> bool) -> string list -> NameEvalEnv.strE * string list TfvMap.map -> string list TfvMap.map val tfvsEnv : (IDCalc.tfunkind ref -> bool) -> string list -> NameEvalEnv.env * string list TfvMap.map -> string list TfvMap.map val allTfvKind : IDCalc.tfunkind ref -> bool val sigTfvKind : IDCalc.tfunkind ref -> bool val specKind : IDCalc.tfunkind ref -> bool val dtyKind : IDCalc.tfunkind ref -> bool val sigDtyKind : IDCalc.tfunkind ref -> bool val strDtyKind : IDCalc.tfunkind ref -> bool val instantiatedKind : IDCalc.tfunkind ref -> bool end structure TfunVarsRefresh = struct val tfvsTfun : (IDCalc.tfunkind ref -> bool) -> 'a list -> 'a * IDCalc.tfun * 'a list TfvMap.map -> 'a list TfvMap.map val tfvsTstr : (IDCalc.tfunkind ref -> bool) -> 'a list -> 'a * NameEvalEnv.tstr * 'a list TfvMap.map -> 'a list TfvMap.map val tfvsTyE : (IDCalc.tfunkind ref -> bool) -> string list -> NameEvalEnv.tstr SEnv.map * string list TfvMap.map -> string list TfvMap.map val tfvsStrE : (IDCalc.tfunkind ref -> bool) -> string list -> NameEvalEnv.strE * string list TfvMap.map -> string list TfvMap.map val tfvsEnv : (IDCalc.tfunkind ref -> bool) -> string list -> NameEvalEnv.env * string list TfvMap.map -> string list TfvMap.map val allTfvKind : IDCalc.tfunkind ref -> bool val sigTfvKind : IDCalc.tfunkind ref -> bool val specKind : IDCalc.tfunkind ref -> bool val dtyKind : IDCalc.tfunkind ref -> bool val sigDtyKind : IDCalc.tfunkind ref -> bool val strDtyKind : IDCalc.tfunkind ref -> bool end smlsharp-1.2.0/src/compiler/nameevaluation/main/TfunVars.sml0000644 000000000000000000001376412050661606024340 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2012- Tohoku University. * @author Atsushi Ohori *) local fun bug s = Control.Bug ("tfvkey: " ^ s) structure I = IDCalc structure IV = NameEvalEnv structure tfvkey = struct type ord_key = I.tfunkind ref fun compare (tfv1:ord_key, tfv2:ord_key) = let val id1 = case !tfv1 of I.TFV_SPEC {id,...} => id | I.TFV_DTY {id,...} => id | I.TFUN_DTY{id,...} => id | I.INSTANTIATED{tfunkind, tfun} => (case tfunkind of I.TFV_SPEC {id,...} => id | I.TFV_DTY {id,...} => id | I.TFUN_DTY {id,...} => id | _ => raise bug "ord_key (1)" ) | _ => raise bug "ord_key (1)" val id2 = case !tfv2 of I.TFV_SPEC {id,...} => id | I.TFV_DTY {id,...} => id | I.TFUN_DTY{id,...} => id | I.INSTANTIATED{tfunkind, tfun} => (case tfunkind of I.TFV_SPEC {id,...} => id | I.TFV_DTY {id,...} => id | I.TFUN_DTY {id,...} => id | _ => raise bug "ord_key (1)" ) | _ => raise bug "ord_key (1)" in TypID.compare(id1, id2) end end in structure TfvMap = BinaryMapFn(tfvkey) structure TfvSet = BinarySetFn(tfvkey) end local structure I = IDCalc fun bug s = Control.Bug ("tfvPathkey: " ^ s) structure tfvKey = struct type ord_key = I.tfunkind ref * string list fun compare ((tfv1,_):ord_key, (tfv2,_):ord_key) = let val id1 = case !tfv1 of I.TFV_DTY {id,...} => id | I.TFUN_DTY{id,...} => id | _ => raise bug "tfvkey" val id2 = case !tfv2 of I.TFV_DTY {id,...} => id | I.TFUN_DTY{id,...} => id | _ => raise bug "tfvkey" in TypID.compare(id1, id2) end end in structure DtyPathMap = BinaryMapFn(tfvKey) structure DtyPathSet = BinarySetFn(tfvKey) end structure TfunVars = struct local structure I = IDCalc structure IV = NameEvalEnv in fun tfvsTfun tfvKind path (name, tfun, set) = case I.derefTfun tfun of I.TFUN_DEF _ => set | I.TFUN_VAR tfv => (* 2012-7-19 ohori: bug 210_functor.sml: dtyKind must be processed *) let val set = case !tfv of I.TFUN_DTY{dtyKind = I.OPAQUE{tfun, ...},...} => tfvsTfun tfvKind path (name, tfun, set) | _ => set in if tfvKind tfv then TfvMap.insert(set, tfv, path@[name]) else set end fun tfvsTstr tfvKind path (name, tstr, set) = case tstr of IV.TSTR tfun => tfvsTfun tfvKind path (name, tfun, set) | IV.TSTR_DTY {tfun,...} => tfvsTfun tfvKind path (name, tfun, set) fun tfvsTyE tfvKind path (tyE, set) = SEnv.foldri (tfvsTstr tfvKind path) set tyE fun tfvsStrE tfvKind path (IV.STR envMap, set) = SEnv.foldri (fn (name, {env, strKind}, set) => tfvsEnv tfvKind (path@[name]) (env, set)) set envMap and tfvsEnv tfvKind path (IV.ENV {tyE, strE, varE}, set) = let val set = tfvsTyE tfvKind path (tyE, set) in tfvsStrE tfvKind path (strE, set) end fun allTfvKind (ref tfunkind) = case tfunkind of I.TFV_SPEC _ => true | I.TFV_DTY _ => true | I.TFUN_DTY _ => true | _ => false fun instantiatedKind (ref tfunkind) = case tfunkind of I.INSTANTIATED _ => true | _ => false fun sigTfvKind (ref tfunkind) = case tfunkind of I.TFV_SPEC _ => true | I.TFV_DTY _ => true | _ => false fun specKind (ref tfunkind) = case tfunkind of I.TFV_SPEC _ => true | _ => false fun dtyKind (ref tfunkind) = case tfunkind of I.TFV_DTY _ => true | I.TFUN_DTY _ => true | _ => false fun sigDtyKind (ref tfunkind) = case tfunkind of I.TFV_DTY _ => true | _ => false fun strDtyKind (ref tfunkind) = case tfunkind of I.TFUN_DTY _ => true | _ => false end end structure TfunVarsRefresh = struct local structure I = IDCalc structure IV = NameEvalEnv in fun tfvsTfun tfvKind path (name, tfun, set) = case tfun of I.TFUN_DEF _ => set | I.TFUN_VAR tfv => if tfvKind tfv then TfvMap.insert(set, tfv, path@[name]) else set fun tfvsTstr tfvKind path (name, tstr, set) = case tstr of IV.TSTR tfun => tfvsTfun tfvKind path (name, tfun, set) | IV.TSTR_DTY {tfun,...} => tfvsTfun tfvKind path (name, tfun, set) fun tfvsTyE tfvKind path (tyE, set) = SEnv.foldri (tfvsTstr tfvKind path) set tyE fun tfvsStrE tfvKind path (IV.STR envMap, set) = SEnv.foldri (fn (name, {env, strKind}, set) => tfvsEnv tfvKind (path@[name]) (env, set)) set envMap and tfvsEnv tfvKind path (IV.ENV {tyE, strE, varE}, set) = let val set = tfvsTyE tfvKind path (tyE, set) in tfvsStrE tfvKind path (strE, set) end fun allTfvKind (ref tfunkind) = case tfunkind of I.TFV_SPEC _ => true | I.TFV_DTY _ => true | I.TFUN_DTY _ => true | _ => false fun sigTfvKind (ref tfunkind) = case tfunkind of I.TFV_SPEC _ => true | I.TFV_DTY _ => true | _ => false fun specKind (ref tfunkind) = case tfunkind of I.TFV_SPEC _ => true | _ => false fun dtyKind (ref tfunkind) = case tfunkind of I.TFV_DTY _ => true | I.TFUN_DTY _ => true | _ => false fun sigDtyKind (ref tfunkind) = case tfunkind of I.TFV_DTY _ => true | _ => false fun strDtyKind (ref tfunkind) = case tfunkind of I.TFUN_DTY _ => true | _ => false end end smlsharp-1.2.0/src/compiler/parser20000755 000000000000000000000000012050661606017403 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/parser2/main0000755 000000000000000000000000012050661606020327 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/parser2/main/iml.grm0000755 000000000000000000014053412050661606021710 0ustar00rootroot0000000 0000000 (* a grammar for the raw symtax of IML. * @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori, Kiyoshi Yamatodani, Liu Bochao * @version $Id: iml.grm,v 1.69.6.8 2010/02/10 05:17:29 hiro-en Exp $ * Ohori: 2007/11/11 * WARNING: Large part of this file is copied to interface.grm. * I indicates those positons that are from iml.grm in interface.grm. * iml.grm is the original. If one change something there, he/she * must propagate the change here. * This is unsatisfactory situation. We will consider a better * organization later. *) %% %decompose (yes) %blocksize (40) %eop EOF SEMICOLON (* %pos declares the type of positions for terminals. Each symbol has an associated left and right position. *) %pos Loc.pos %term EOF | ABSTYPE | ABSNAMESPACE | AND | ANDALSO | ARROW | AS | ASTERISK | AT | ATTRIBUTE | BAR | BUILTIN | CASE | CAST | CDECL | CHAR of string | COLON | COMMA | DARROW | DATATYPE | DO | ELSE | END | EQ | EQTYPE | EQTYVAR of string | EXCEPTION | EXTERNAL | EXPORT | FFIAPPLY | FN | FUN | FUNCTOR | HANDLE | HASH | ID of string | IF | IN | IMPORT | INCLUDE | INFIX | INFIXR | INT of {radix:StringCvt.radix, digits:string} | INTLAB of string | INTERFACE | LBRACE | LBRACKET | LET | LOCAL | LPAREN | NONFIX | OF | OP | OPAQUE | OPEN | ORELSE | NAMESPACE | NULL | PERIOD | PERIODS | PRIVATE | RAISE | REC | REQUIRE | RBRACE | RBRACKET | REAL of string | RPAREN | SEMICOLON | SHARING | SIG | SIGNATURE | SIZEOF | SPECIAL of string | STDCALL | STRING of string | STRUCT | STRUCTURE | THEN | TYPE | TYVAR of string | UNDERBAR | USE | USE' | USEOBJ | VAL | WHILE | WHERE | WITH | WITHTYPE | WORD of {radix:StringCvt.radix, digits:string} | SQLSERVER | SQLEVAL | SQLEXEC | SQL | ASC | DESC | SELECT | FROM | INSERT | INTO | VALUES | DELETE | ORDER | BY | UPDATE | SET | DEFAULT | BEGIN | COMMIT | ROLLBACK %nonterm absnamespace of string list | appexp of Absyn.exp | appexp_noSQL of Absyn.exp | atexp of Absyn.exp | atexp_noVAR of Absyn.exp | atexp_noSQL of Absyn.exp | atpat of Absyn.pat | apppat of Absyn.pat list | atty of Absyn.ty | atomicspec of Absyn.spec | constant of Absyn.constant | condec of bool * string * Absyn.ty option | combind of (bool * string * Absyn.ty option) list | component of string list | condesc of (string * Absyn.ty option) list | dec of Absyn.dec | decs of Absyn.dec list | decseq_semicolon of Absyn.dec list | datbind of ( Absyn.tvar list * string * (bool * string * Absyn.ty option) list ) list | datdesc of (Absyn.tvar list * string * (string * Absyn.ty option) list) list | exprow of (string * Absyn.exp) list | expseq_comma of Absyn.exp list | expseq_semicolon of Absyn.exp list | expid of string list | expid_noSQL of string list | exp of Absyn.exp | expOrSQL of Absyn.exp | export of string list | exbinds of Absyn.exbind list | exbind of Absyn.exbind | exdesc of (string * Absyn.ty option) list | fields of bool * (Absyn.patrow list) | followpatrow of Absyn.patrow list | fvalbind of (Absyn.pat list * Absyn.ty option * Absyn.exp) list list | frule of Absyn.pat list * Absyn.ty option * Absyn.exp | frules of (Absyn.pat list * Absyn.ty option * Absyn.exp) list | funbind of Absyn.funbind | funbindand of Absyn.funbind | funbindseq of Absyn.funbind list | id of string | id_noEQ of string | id_noEQSTAR of string | id_noSQL of string | idseq of string list | int of {radix:StringCvt.radix, digits:string} | label of string | longid of Absyn.longid | longtycon of Absyn.longTyCon | longtyconeqrow of Absyn.longTyCon list | longidseq of Absyn.longid list | longideqrow of Absyn.longid list | match of (Absyn.pat * Absyn.exp) list | mrule of Absyn.pat * Absyn.exp | optaspat of Absyn.pat option | optop of bool | optty of Absyn.ty option | patseq_comma of Absyn.pat list | patid of string list | pat of Absyn.pat | start of Absyn.unitparseresult | strexpbasic of Absyn.strexp | strexp of Absyn.strexp | strexpcomb of Absyn.strexp | strexpandexp of Absyn.strexp | strexpand of Absyn.strexp | strdec of Absyn.strdec | strdecseq_semicolon of Absyn.strdec list | strbind of Absyn.strbind | strbindand of Absyn.strbind | sigbind of (string * Absyn.sigexp) list | spec of Absyn.spec | strdesc of (string * Absyn.sigexp) list | strbindseq of Absyn.strbind list | sigidseq of string list | sharespec of Absyn.longTyCon list | sigexpbasic of Absyn.sigexp | sigexpwhere of Absyn.sigexp | sigexp of Absyn.sigexp | sigexpand of Absyn.sigexp | ty of Absyn.ty | ty0 of Absyn.ty | tyid of string list | ty1 of Absyn.ty | tycon of string | tyseq_comma of Absyn.ty list | tyseq of Absyn.ty list | tyrow of (string * Absyn.ty) list | tytuple of Absyn.ty list | tyvar of Absyn.tvar | tyvarseq of Absyn.tvar list | tyvarseq_comma of Absyn.tvar list (* Ohori: poly_ty, poly_ty1, poly_tyrow, poly_tytuple are added for rank1 type specification. 2007/11/11 *) | poly_ty of Absyn.ty | poly_ty1 of Absyn.ty | poly_tyrow of (string * Absyn.ty) list | poly_tytuple of Absyn.ty list (* Ohori: from kinded_tyvar to kinded_tyvarseq_comma are added for kinded type specification. 2007/11/11 *) | kinded_tyvar of Absyn.tvar * Absyn.tvarKind | kinded_tyvarseq of (Absyn.tvar * Absyn.tvarKind) list | kinded_tyvarseq_without_paren of (Absyn.tvar * Absyn.tvarKind) list | kinded_tyvarseq_comma of (Absyn.tvar * Absyn.tvarKind) list | ffiApplyArg of Absyn.ffiArg | ffiApplyArgs of Absyn.ffiArg list | ffiApplyArgSeq of Absyn.ffiArg list | ffityrow of (string * Absyn.ffiTy) list | ffityseq of Absyn.ffiTy list | ffiArgs of Absyn.ffiTy list | ffiContyArg of Absyn.ffiTy list | ffiAtty of Absyn.ffiTy | ffitupleseq of Absyn.ffiTy list | ffiTupleTy of Absyn.ffiTy | ffiFunArg of Absyn.ffiTy list | ffiFunRet of Absyn.ffiTy list | ffiFunty of Absyn.ffiTy | ffiattrseq of string list | ffiattr of string list | ffiattropt of string list | ffity of Absyn.ffiTy (* | old_ffiContyArg of Absyn.ty list | old_ffiAtty of Absyn.ty | old_ffituple of Absyn.ty list | old_ffityseq of Absyn.ty list | old_ffityArg of Absyn.ty list | old_ffiFunty of Absyn.ty list * Absyn.ty | old_ffity of Absyn.ty *) | typbind of (Absyn.tvar list * string * Absyn.ty) list | typdesc of (Absyn.tvar list * string) list | useFile of Absyn.top | tops of Absyn.top list | topdecs of Absyn.topdec list | topdec of Absyn.topdec | interface of Absyn.interface | unit of Absyn.unit | valdesc of (string * Absyn.ty) list | valbind of (Absyn.pat * Absyn.exp) list | sql of Absyn.exp AbsynSQL.command | sqlExp of Absyn.exp | sqlExpAsList of string list * Absyn.exp list | sqlExpList of Absyn.exp list | sqlExpOrDefault of Absyn.exp option | sqlExpOrDefaultList of Absyn.exp option list | sqlLabelList of string list | sqlInsertRowList of Absyn.exp option list list | selectList of string list option * Absyn.exp list | asNameOpt of string option | intoClause of string option | fromClause of (string * Absyn.exp) list | whereClause of Absyn.exp option | orderbyClause of {keyExp: Absyn.exp, orderAsc: bool} list | orderbyList of {keyExp: Absyn.exp, orderAsc: bool} list | sqlorder of bool | setClause of string list * Absyn.exp list | sqlserver of (string * Absyn.exp) list %name ML %header ( structure MLLrVals ) %footer () %right ARROW %right AND %right DARROW %nonassoc BAR %left DO %left ELSE %left RAISE %right HANDLE %left ORELSE %left ANDALSO %right AS %left COLON %noshift EOF %verbose %start start %% start : unit (Absyn.UNIT unit) | expOrSQL (Absyn.UNIT { tops= [Absyn.TOPDEC [Absyn.TOPDECSTR (Absyn.COREDEC (Absyn.DECVAL (nil, [ (Absyn.PATID {opPrefix=false,id=["it"],loc=(Loc.nopos,Loc.nopos)}, expOrSQL) ], (expOrSQLleft,expOrSQLright)), (Loc.nopos,Loc.nopos)), (Loc.nopos,Loc.nopos)) ] ], interface = Absyn.NOINTERFACE, loc = (Loc.nopos,Loc.nopos) } ) (****************** constant ***************************) int : INT (INT) | INTLAB ({radix=StringCvt.DEC, digits=INTLAB}) constant : int (Absyn.INT(int,(intleft,intright))) | WORD (Absyn.WORD(WORD,(WORDleft,WORDright))) | STRING (Absyn.STRING(STRING,(STRINGleft,STRINGright))) | REAL (Absyn.REAL(REAL,(REALleft,REALright))) | CHAR (Absyn.CHAR(String.sub(CHAR, 0),(CHARleft,CHARright))) | NULL (Absyn.NULLCONST(NULLleft,NULLright)) (* end of constant *) (**************** expression ***************************) id_noEQSTAR : ID (ID) | SELECT ("select") | FROM ("from") | ORDER ("order") | BY ("by") | INSERT ("insert") | INTO ("into") | VALUES ("values") | DELETE ("delete") | ASC ("asc") | DESC ("desc") | UPDATE ("update") | SET ("set") | DEFAULT ("default") | BEGIN ("begin") | COMMIT ("commit") | ROLLBACK ("rollback") id_noEQ : id_noEQSTAR (id_noEQSTAR) | ASTERISK ("*") id : id_noEQ (id_noEQ) | EQ ("=") id_noSQL : ID (ID) | ASTERISK ("*") | EQ ("=") expid : longid (longid) expid_noSQL : id_noSQL ([id_noSQL]) | id_noSQL PERIOD longid (id_noSQL :: longid) atexp_noVAR : constant (Absyn.EXPCONSTANT(constant,(constantleft,constantright))) | OP expid (Absyn.EXPOPID(expid,(OPleft,expidright))) | LBRACE exprow RBRACE (Absyn.EXPRECORD(exprow,(LBRACEleft,RBRACEright))) | LBRACE RBRACE (Absyn.EXPCONSTANT(Absyn.UNITCONST(LBRACEleft,RBRACEright),(LBRACEleft,RBRACEright))) | HASH id (Absyn.EXPRECORD_SELECTOR(id,(HASHleft,idright))) | HASH INTLAB (Absyn.EXPRECORD_SELECTOR(INTLAB,(HASHleft,INTLABright))) | LPAREN RPAREN (Absyn.EXPCONSTANT(Absyn.UNITCONST(LPARENleft,RPARENright), (LPARENleft,RPARENright))) | LPAREN expseq_comma RPAREN (Absyn.EXPTUPLE(expseq_comma,(LPARENleft,RPARENright))) | LBRACKET RBRACKET (Absyn.EXPLIST([],(LBRACKETleft,RBRACKETright))) | LBRACKET exp RBRACKET (Absyn.EXPLIST([exp],(LBRACKETleft,RBRACKETright))) | LBRACKET expseq_comma RBRACKET (Absyn.EXPLIST(expseq_comma,(LBRACKETleft,RBRACKETright))) | LPAREN exp SEMICOLON expseq_semicolon RPAREN (Absyn.EXPSEQ(exp :: expseq_semicolon,(LPARENleft,RPARENright))) | LET decseq_semicolon IN expseq_semicolon END (Absyn.EXPLET(decseq_semicolon,expseq_semicolon,(LETleft,ENDright))) | LPAREN expOrSQL RPAREN (Absyn.replaceLoc(expOrSQL,(LPARENleft,RPARENright))) | HASH id PERIOD label (Absyn.EXPSQL (AbsynSQL.SQLFIELDSELECT (label, Absyn.EXPID ([id], (idleft, idright)), (HASHleft, labelright)), (HASHleft, labelright))) (* | SQLTABLE label (Absyn.EXPSQLTABLE(label,(SQLTABLEleft,labelright))) | SQLCOLUMN label OF label (Absyn.EXPSQLCOLUMN(label1,label2,(SQLCOLUMNleft,label2right))) | HASH label PERIOD label (Absyn.EXPSQLCOLUMN(label2,label1,(HASHleft,label2right))) *) atexp : atexp_noVAR (atexp_noVAR) | expid (Absyn.EXPID(expid,(expidleft,expidright))) atexp_noSQL : atexp_noVAR (atexp_noVAR) | expid_noSQL (Absyn.EXPID(expid_noSQL,(expid_noSQLleft, expid_noSQLright))) label : id (id) | INTLAB (INTLAB) (* equal or more than 1 *) exprow : label EQ exp ([(label,exp)]) | exprow COMMA label EQ exp (exprow @ [(label,exp)]) (* equal or more than 2 exps *) expseq_comma : exp COMMA exp ([exp1,exp2]) | expseq_comma COMMA exp (expseq_comma @ [exp]) (* equal or more than 1 exps *) expseq_semicolon : expOrSQL ([expOrSQL]) | expseq_semicolon SEMICOLON expOrSQL (expseq_semicolon @ [expOrSQL]) appexp : atexp (Absyn.EXPAPP([atexp],(atexpleft,atexpright))) | appexp atexp (case appexp of Absyn.EXPAPP(l,_) => Absyn.EXPAPP(l@[atexp],(appexpleft,atexpright)) | _ => Absyn.EXPAPP([appexp,atexp],(appexpleft,atexpright))) | appexp HASH LBRACE exprow RBRACE (Absyn.EXPRECORD_UPDATE(appexp,exprow,(appexpleft,RBRACEright))) | appexp HASH LPAREN expseq_comma RPAREN (Absyn.EXPRECORD_UPDATE (appexp, #2 (foldr (fn (exp, (n, exprow)) => (n - 1, (Int.toString n, exp)::exprow)) (length expseq_comma, nil) expseq_comma), (appexpleft, RPARENright))) | SQLEXEC atexp (Absyn.EXPSQL (AbsynSQL.SQLEXEC (Absyn.EXPAPP ([atexp], (atexpleft, atexpright)), (SQLEXECleft, atexpright)), (SQLEXECleft, atexpright))) | SQLEVAL atexp (Absyn.EXPSQL (AbsynSQL.SQLEVAL (Absyn.EXPAPP ([atexp], (atexpleft, atexpright)), (SQLEVALleft, atexpright)), (SQLEVALleft, atexpright))) appexp_noSQL : atexp_noSQL (Absyn.EXPAPP([atexp_noSQL], (atexp_noSQLleft, atexp_noSQLright))) | appexp_noSQL atexp_noSQL (let val loc = (appexp_noSQLleft, atexp_noSQLright) in case appexp_noSQL of Absyn.EXPAPP(l,_) => Absyn.EXPAPP(l@[atexp_noSQL], loc) | _ => Absyn.EXPAPP([appexp_noSQL,atexp_noSQL], loc) end) | SQLEXEC atexp_noSQL (Absyn.EXPSQL (AbsynSQL.SQLEXEC (Absyn.EXPAPP ([atexp_noSQL], (atexp_noSQLleft, atexp_noSQLright)), (SQLEXECleft, atexp_noSQLright)), (SQLEXECleft, atexp_noSQLright))) | SQLEVAL atexp_noSQL (Absyn.EXPSQL (AbsynSQL.SQLEVAL (Absyn.EXPAPP ([atexp_noSQL], (atexp_noSQLleft, atexp_noSQLright)), (SQLEVALleft, atexp_noSQLright)), (SQLEVALleft, atexp_noSQLright))) exp : appexp (appexp) | exp COLON ty (Absyn.EXPTYPED(exp,ty,(expleft,tyright))) | exp COLON IMPORT ffity (Absyn.EXPFFIIMPORT(exp,ffity,(expleft,ffityright))) | IMPORT STRING COLON ffity (Absyn.EXPFFIIMPORT (Absyn.EXPGLOBALSYMBOL(STRING,Absyn.ForeignCodeSymbol, (IMPORTleft,STRINGright)), ffity, (IMPORTleft,ffityright))) (* | exp COLON EXPORT ffity (Absyn.EXPFFIEXPORT(exp,ffity,(expleft,ffityright))) *) | FFIAPPLY ffiattropt atexp LPAREN ffiApplyArgs RPAREN COLON ffity (Absyn.EXPFFIAPPLY(ffiattropt, atexp, ffiApplyArgs, ffity, (FFIAPPLYleft,ffityright))) | FFIAPPLY ffiattropt IMPORT STRING LPAREN ffiApplyArgs RPAREN COLON ffity (Absyn.EXPFFIAPPLY(ffiattropt, Absyn.EXPGLOBALSYMBOL (STRING, Absyn.ForeignCodeSymbol, (IMPORTleft, STRINGright)), ffiApplyArgs, ffity, (FFIAPPLYleft,ffityright))) | exp ANDALSO exp (Absyn.EXPCONJUNCTION(exp1,exp2,(exp1left,exp2right))) | exp ORELSE exp (Absyn.EXPDISJUNCTION(exp1,exp2,(exp1left,exp2right))) | exp HANDLE match (Absyn.EXPHANDLE(exp,match,(expleft,matchright))) | RAISE exp (Absyn.EXPRAISE(exp,(RAISEleft,expright))) | IF exp THEN exp ELSE exp (Absyn.EXPIF(exp1,exp2,exp3,(IFleft,exp3right))) | WHILE exp DO exp (Absyn.EXPWHILE(exp1,exp2,(WHILEleft,exp2right))) | CASE exp OF match (Absyn.EXPCASE(exp,match,(CASEleft,matchright))) | FN match (Absyn.EXPFN(match,(FNleft,matchright))) | CAST LPAREN exp RPAREN (Absyn.EXPCAST(exp,(CASTleft,RPARENright))) | SQLSERVER COLON ty (Absyn.EXPSQL (AbsynSQL.SQLSERVER("",ty,(SQLSERVERleft,tyright)), (SQLSERVERleft,tyright))) | SQLSERVER STRING COLON ty (Absyn.EXPSQL (AbsynSQL.SQLSERVER(STRING,ty,(SQLSERVERleft,tyright)), (SQLSERVERleft,tyright))) expOrSQL : exp (exp) | SQL pat DARROW sql (Absyn.EXPSQL (AbsynSQL.SQLFN (pat, sql, (SQLleft, sqlright)), (SQLleft, sqlright))) (* match : mrule ([mrule]) | mrule BAR match (mrule::match) mrule : pat DARROW exp ((pat,exp)) match : mrule ([mrule]) | mrulebar match (mrulebar::match) mrule : pat DARROW exp ((pat,exp)) mrulebar : pat DARROW exp BAR ((pat,exp)) It seems that the core ML's "|" has inherent problem, which coincides with my experience. I have been bothered by the "|" in combination with case, fn, and handle. *) match : pat DARROW exp ([(pat,exp)]) | pat DARROW exp BAR match ((pat,exp)::match) (* end of expression *) (*************************** sql ********************************) sql : SELECT selectList intoClause fromClause whereClause orderbyClause (AbsynSQL.SQLSELECT {selectListExps = #2 selectList, selectLabels = #1 selectList, selectName = intoClause, fromClause = fromClause, whereClause = whereClause, orderByClause = orderbyClause, loc = (SELECTleft, orderbyClauseright)}) | INSERT INTO HASH id PERIOD label LPAREN sqlLabelList RPAREN VALUES sqlInsertRowList (AbsynSQL.SQLINSERT {table = (id, label), insertRows = sqlInsertRowList, insertLabels = sqlLabelList, loc = (INSERTleft, sqlInsertRowListright)}) | DELETE FROM HASH id PERIOD label asNameOpt whereClause (AbsynSQL.SQLDELETE {table = (id, label), tableName = asNameOpt, whereClause = whereClause, loc = (DELETEleft, whereClauseright)}) | UPDATE HASH id PERIOD label asNameOpt setClause fromClause whereClause (AbsynSQL.SQLUPDATE {table = (id, label), tableName = asNameOpt, setListExps = #2 setClause, setLabels = #1 setClause, fromClause = fromClause, whereClause = whereClause, loc = (UPDATEleft, whereClauseright)}) | BEGIN (AbsynSQL.SQLBEGIN (BEGINleft, BEGINright)) | COMMIT (AbsynSQL.SQLCOMMIT (COMMITleft, COMMITright)) | ROLLBACK (AbsynSQL.SQLROLLBACK (ROLLBACKleft, ROLLBACKright)) sqlExp : appexp_noSQL (appexp_noSQL) (* | sqlExp COLON ty ()*) | sqlExp ANDALSO sqlExp (Absyn.EXPCONJUNCTION(sqlExp1,sqlExp2,(sqlExp1left,sqlExp2right))) | sqlExp ORELSE sqlExp (Absyn.EXPDISJUNCTION(sqlExp1,sqlExp2,(sqlExp1left,sqlExp2right))) asNameOpt : (* none *) (NONE) | AS id (SOME id) intoClause : (* none *) (NONE) | INTO id (SOME id) sqlExpAsList : sqlExp AS id (([id], [sqlExp])) | sqlExp AS id COMMA sqlExpAsList ((id :: #1 sqlExpAsList, sqlExp :: #2 sqlExpAsList)) sqlExpList : sqlExp ([sqlExp]) | sqlExp COMMA sqlExpList (sqlExp::sqlExpList) sqlExpOrDefault : sqlExp (SOME sqlExp) | DEFAULT (NONE) sqlExpOrDefaultList : sqlExpOrDefault ([sqlExpOrDefault]) | sqlExpOrDefault COMMA sqlExpOrDefaultList (sqlExpOrDefault::sqlExpOrDefaultList) sqlLabelList : label ([label]) | label COMMA sqlLabelList (label::sqlLabelList) sqlInsertRowList : LPAREN sqlExpOrDefaultList RPAREN ([sqlExpOrDefaultList]) | LPAREN sqlExpOrDefaultList RPAREN COMMA sqlInsertRowList (sqlExpOrDefaultList :: sqlInsertRowList) selectList : sqlExpAsList ((SOME (#1 sqlExpAsList), #2 sqlExpAsList)) | sqlExpList ((NONE, sqlExpList)) (* | LPAREN sqlExpAsList RPAREN (sqlExpAsList)*) (* | LBRACE exprow RBRACE (exprow)*) fromClause : (* none *) ([]) | FROM sqlExpAsList (ListPair.zip sqlExpAsList) whereClause : (* none *) (NONE) | WHERE sqlExp (SOME sqlExp) orderbyClause : (* none *) ([]) | ORDER BY orderbyList (orderbyList) orderbyList : sqlExp sqlorder ([{keyExp=sqlExp, orderAsc=sqlorder}]) | sqlExp sqlorder COMMA orderbyList ({keyExp=sqlExp, orderAsc=sqlorder} :: orderbyList) sqlorder : (* none *) (true) | ASC (false) | DESC (false) setClause : SET label EQ sqlExp (([label], [sqlExp])) | SET LPAREN sqlLabelList RPAREN EQ LPAREN sqlExpList RPAREN ((sqlLabelList, sqlExpList)) (*************************** dec ********************************) (*decs : dec ([dec]) | dec decs (dec::decs)*) decseq_semicolon : ([]) | SEMICOLON decseq_semicolon (decseq_semicolon) | dec decseq_semicolon (dec::decseq_semicolon) | LOCAL decseq_semicolon IN decseq_semicolon END decseq_semicolon (Absyn.DECLOCAL (decseq_semicolon1,decseq_semicolon2,(LOCALleft,ENDright)) :: decseq_semicolon3) (* Ohori: VAL, VAL REC and FUN now take kinded_tyvarseq instead of tyvar_seq. 2007/11/11 *) dec : VAL valbind (Absyn.DECVAL(nil,valbind,(VALleft,valbindright))) | VAL kinded_tyvarseq valbind (Absyn.DECVAL(kinded_tyvarseq,valbind,(VALleft,valbindright))) | VAL REC valbind (Absyn.DECREC(nil,valbind,(VALleft,valbindright))) | VAL REC kinded_tyvarseq valbind (Absyn.DECREC(kinded_tyvarseq,valbind,(VALleft,valbindright))) | FUN fvalbind (Absyn.DECFUN(nil,fvalbind,(FUNleft,fvalbindright))) | FUN kinded_tyvarseq fvalbind (Absyn.DECFUN(kinded_tyvarseq,fvalbind,(FUNleft,fvalbindright))) | TYPE typbind (Absyn.DECTYPE(typbind,(TYPEleft,typbindright))) | DATATYPE datbind (Absyn.DECDATATYPE(datbind,[],(DATATYPEleft,datbindright))) | DATATYPE datbind WITHTYPE typbind (Absyn.DECDATATYPE(datbind,typbind,(DATATYPEleft,typbindright))) | DATATYPE tycon EQ DATATYPE longtycon (Absyn.DECREPLICATEDAT (tycon1,longtycon, (DATATYPEleft,longtyconright))) | ABSTYPE datbind WITH decseq_semicolon END (Absyn.DECABSTYPE (datbind, [], decseq_semicolon, (ABSTYPEleft, ENDright))) | ABSTYPE datbind WITHTYPE typbind WITH decseq_semicolon END (Absyn.DECABSTYPE (datbind, typbind, decseq_semicolon, (ABSTYPEleft, ENDright))) | EXCEPTION exbinds (Absyn.DECEXN(exbinds,(EXCEPTIONleft,exbindsright))) (* | LOCAL decseq_semicolon IN decseq_semicolon END (Absyn.LOCALDEC(decseq_semicolon1,decseq_semicolon2,(LOCALleft,ENDright))) *) | OPEN longidseq (Absyn.DECOPEN(longidseq,(OPENleft,longidseqright))) | INFIX int idseq (Absyn.DECINFIX(#digits int, idseq,(INFIXleft,idseqright))) | INFIXR int idseq (Absyn.DECINFIXR(#digits int, idseq,(INFIXRleft,idseqright))) (* infix/infixr without number is added. 2004.3.21. Ohori *) | INFIX idseq (Absyn.DECINFIX("0",idseq,(INFIXleft,idseqright))) | INFIXR idseq (Absyn.DECINFIXR("0",idseq,(INFIXRleft,idseqright))) | NONFIX idseq (Absyn.DECNONFIX(idseq,(NONFIXleft,idseqright))) (* (* deprecated syntax *) | VAL EXTERNAL ffiattropt id EQ appexp COLON old_ffiFunty (Absyn.DECVAL(nil, [(Absyn.PATID({opPrefix=false,id=[id],loc=(idleft,idright)}), Absyn.EXPFFIIMPORT (appexp, Absyn.TYFFI(Absyn.defaultFFIAttributes, ffiattropt, #1 old_ffiFunty, #2 old_ffiFunty, (old_ffiFuntyleft,old_ffiFuntyright)), (appexpleft,old_ffiFuntyright)))], (VALleft,old_ffiFuntyright))) *) idseq : id ([id]) | id idseq (id::idseq) (* In this version, we ignore kind constraint in type bind. type ('a, 'b#{a:'a}) foo = 'b -> 'a is interpreted as type ('a, 'b) foo = 'b -> 'a *) typbind : tycon EQ ty ([(nil,tycon,ty)]) | tyvarseq tycon EQ ty ([(tyvarseq,tycon,ty)]) | tycon EQ ty AND typbind ((nil,tycon,ty)::typbind) | tyvarseq tycon EQ ty AND typbind ((tyvarseq,tycon,ty)::typbind) datbind : tycon EQ combind ([(nil,tycon,combind)]) | tyvarseq tycon EQ combind ([(tyvarseq,tycon,combind)]) | tycon EQ combind AND datbind ((nil,tycon,combind)::datbind) | tyvarseq tycon EQ combind AND datbind ((tyvarseq,tycon,combind)::datbind) combind : condec ([condec]) | condec BAR combind (condec::combind) condec : tycon ((false,tycon,NONE)) | OP tycon ((true,tycon,NONE)) | tycon OF ty ((false,tycon,SOME ty)) | OP tycon OF ty ((true,tycon,SOME ty)) exbinds : exbind ([exbind]) | exbind AND exbinds (exbind :: exbinds) exbind : condec (let val (isOp, name, tyOpt) = condec in Absyn.EXBINDDEF(isOp, name, tyOpt, (condecleft, condecright)) end) | id EQ longid (Absyn.EXBINDREP (false,id,false,longid,(idleft,longidright))) | id EQ OP longid (Absyn.EXBINDREP (false,id,true,longid,(idleft,longidright))) | OP id EQ longid (Absyn.EXBINDREP(true,id,false,longid,(idleft,longidright))) | OP id EQ OP longid (Absyn.EXBINDREP(true,id,true,longid,(idleft,longidright))) tyvar : TYVAR ({name=TYVAR, eq=Absyn.NONEQ}) | EQTYVAR ({name=EQTYVAR,eq=Absyn.EQ}) tyvarseq : tyvar ([tyvar]) | LPAREN tyvar RPAREN ([tyvar]) | LPAREN tyvarseq_comma RPAREN (tyvarseq_comma) tyvarseq_comma : tyvar COMMA tyvar ([tyvar1,tyvar2]) | tyvar COMMA tyvarseq_comma (tyvar::tyvarseq_comma) (* Ohori: kinded tyvar added 2007/11/11 ohori *) kinded_tyvar : tyvar ((tyvar, Absyn.UNIV)) | TYVAR HASH LBRACE tyrow RBRACE (({name=TYVAR,eq=Absyn.NONEQ}, Absyn.REC(tyrow, (LBRACEleft, RBRACEright)))) | EQTYVAR HASH LBRACE tyrow RBRACE (({name=EQTYVAR,eq=Absyn.EQ}, Absyn.REC(tyrow, (LBRACEleft, RBRACEright)))) kinded_tyvarseq : kinded_tyvar ([kinded_tyvar]) | LPAREN kinded_tyvar RPAREN ([kinded_tyvar]) | LPAREN kinded_tyvarseq_comma RPAREN (kinded_tyvarseq_comma) kinded_tyvarseq_comma : kinded_tyvar COMMA kinded_tyvar ([kinded_tyvar1,kinded_tyvar2]) | kinded_tyvar COMMA kinded_tyvarseq_comma (kinded_tyvar::kinded_tyvarseq_comma) kinded_tyvarseq_without_paren : kinded_tyvar ([kinded_tyvar]) | kinded_tyvar COMMA kinded_tyvarseq_without_paren (kinded_tyvar::kinded_tyvarseq_without_paren) (* kinded tyvar end *) valbind : pat EQ expOrSQL ([(pat,expOrSQL)]) | pat EQ expOrSQL AND valbind ((pat,expOrSQL)::valbind) fvalbind : frules ([frules]) | frules AND fvalbind (frules::fvalbind) frules : frule ([frule]) | frule BAR frules (frule::frules) frule : apppat EQ expOrSQL (apppat, NONE, expOrSQL) | apppat COLON ty EQ expOrSQL (apppat, SOME ty, expOrSQL) (***************** pattern ***********************) patid : id_noEQ ([id_noEQ]) | id_noEQ PERIOD longid (id_noEQ :: longid) atpat : UNDERBAR (Absyn.PATWILD((UNDERBARleft,UNDERBARright))) | patid (Absyn.PATID({opPrefix=false,id=patid,loc=(patidleft,patidright)})) | OP patid (Absyn.PATID({opPrefix=true, id=patid, loc=(patidleft,patidright)})) | constant (Absyn.PATCONSTANT (constant,(constantleft,constantright))) | LBRACE RBRACE (Absyn.PATCONSTANT (Absyn.UNITCONST(LBRACEleft,RBRACEright),(LBRACEleft,RBRACEright))) | LBRACE fields RBRACE (Absyn.PATRECORD ({ ifFlex = #1 fields, fields = #2 fields, loc = (LBRACEleft,RBRACEright) })) | LPAREN RPAREN (Absyn.PATCONSTANT (Absyn.UNITCONST(LPARENleft,RPARENright),(LPARENleft,RPARENright))) | LPAREN patseq_comma RPAREN (Absyn.PATTUPLE(patseq_comma,(LPARENleft,RPARENright))) | LBRACKET RBRACKET (Absyn.PATLIST([],(LBRACKETleft,RBRACKETright))) | LBRACKET pat RBRACKET (Absyn.PATLIST([pat],(LBRACKETleft,RBRACKETright))) | LBRACKET patseq_comma RBRACKET (Absyn.PATLIST(patseq_comma,(LBRACKETleft,RBRACKETright))) | LPAREN pat RPAREN (pat) apppat : atpat ([atpat]) | apppat atpat (apppat@[atpat]) pat : apppat (Absyn.PATAPPLY(apppat,(apppatleft,apppatright))) (* Even if apppat has only single pattern, it is encupslated * into a PATAPPLY, in order to check invalid use of infix * identifier in the elaboration phase. *) | pat COLON ty (Absyn.PATTYPED(pat,ty,(patleft,tyright))) | pat AS pat (Absyn.PATLAYERED(pat1,pat2,(pat1left,pat2right))) optty : COLON ty (SOME(ty)) | (NONE) fields : label EQ pat ((false,[Absyn.PATROWPAT(label,pat,(labelleft,patright))])) | label optty optaspat ((false,[Absyn.PATROWVAR(label,optty,optaspat,(labelleft,optaspatright))])) | PERIODS ((true,nil)) | label EQ pat COMMA fields (( #1 fields, Absyn.PATROWPAT(label,pat,(labelleft,patright))::(#2 fields) )) | label optty optaspat COMMA fields (( #1 fields, Absyn.PATROWVAR (label,optty,optaspat,(labelleft,optaspatright))::(#2 fields) )) optaspat : (NONE) | AS pat (SOME(pat)) patseq_comma : pat COMMA pat ([pat1,pat2]) | patseq_comma COMMA pat (patseq_comma @ [pat]) (* end of pattern *) (**************** types *********************) tycon : id_noEQSTAR (id_noEQSTAR) | EQ ("=") tyrow : label COLON ty ([(label,ty)]) | label COLON ty COMMA tyrow ((label,ty)::tyrow) ty0 : UNDERBAR (Absyn.TYWILD((UNDERBARleft,UNDERBARright))) | tyvar (Absyn.TYID(tyvar,(tyvarleft,tyvarright))) | LBRACE tyrow RBRACE (Absyn.TYRECORD(tyrow,(LBRACEleft,RBRACEright))) | LBRACE RBRACE (Absyn.TYRECORD([],(LBRACEleft,RBRACEright))) | LPAREN ty RPAREN (ty) (* check the following *) tyseq : ty1 ([ty1]) | LPAREN tyseq_comma RPAREN (tyseq_comma) | (nil) tyseq_comma : ty COMMA ty ([ty1,ty2]) | ty COMMA tyseq_comma (ty::tyseq_comma) tyid : id_noEQSTAR ([id_noEQSTAR]) | id_noEQSTAR PERIOD longid (id_noEQSTAR :: longid) ty1 : ty0 (ty0) | tyseq tyid (Absyn.TYCONSTRUCT(tyseq,tyid,(tyseqleft,tyidright))) tytuple : ty1 ASTERISK tytuple (ty1::tytuple) | ty1 ASTERISK ty1 ([ty11,ty12]) ty : ty ARROW ty (Absyn.TYFUN(ty1,ty2,(ty1left,ty2right))) | tytuple (Absyn.TYTUPLE(tytuple,(tytupleleft,tytupleright))) | ty1 (ty1) (* Ohori; poly_ty and the related definitions are added for rank1 type specification 2007/11/11 *) poly_tyrow : label COLON poly_ty ([(label,poly_ty)]) | label COLON poly_ty COMMA poly_tyrow ((label,poly_ty)::poly_tyrow) | label COLON poly_ty COMMA tyrow ((label,poly_ty)::tyrow) | label COLON ty COMMA poly_tyrow ((label,ty)::poly_tyrow) poly_ty1 : LBRACE poly_tyrow RBRACE (Absyn.TYRECORD(poly_tyrow,(LBRACEleft,RBRACEright))) | LPAREN poly_ty RPAREN (poly_ty) | LBRACKET kinded_tyvarseq_without_paren PERIOD ty RBRACKET (Absyn.TYPOLY(kinded_tyvarseq_without_paren, ty, (LBRACKETleft,RBRACKETright))) | LBRACKET kinded_tyvarseq_without_paren PERIOD poly_ty RBRACKET (Absyn.TYPOLY(kinded_tyvarseq_without_paren, poly_ty, (LBRACKETleft,RBRACKETright))) poly_tytuple : poly_ty1 ASTERISK poly_tytuple (poly_ty1::poly_tytuple) | poly_ty1 ASTERISK tytuple (poly_ty1::tytuple) | poly_ty1 ASTERISK poly_ty1 ([poly_ty11,poly_ty12]) | poly_ty1 ASTERISK ty1 ([poly_ty1, ty1]) | ty1 ASTERISK poly_tytuple (ty1::poly_tytuple) | ty1 ASTERISK poly_ty1 ([ty1,poly_ty1]) poly_ty : ty ARROW poly_ty (Absyn.TYFUN(ty,poly_ty,(tyleft, poly_tyright))) | poly_tytuple (Absyn.TYTUPLE(poly_tytuple,(poly_tytupleleft,poly_tytupleright))) | poly_ty1 (poly_ty1) (**************** end of types *********************) (*********** foreign function interface *************) (* Ohori: for error processing, location information is aded to ffiApplyArg *) ffiApplyArg : appexp COLON ffity (Absyn.FFIARG(appexp, ffity, (appexpleft, ffityright))) | SIZEOF LPAREN ty RPAREN (Absyn.FFIARGSIZEOF(ty, NONE, (SIZEOFleft, RPARENright))) | SIZEOF LPAREN ty RPAREN ASTERISK atexp (Absyn.FFIARGSIZEOF(ty, SOME atexp, (SIZEOFleft, atexpright))) ffiApplyArgSeq : ffiApplyArg ([ffiApplyArg]) | ffiApplyArg COMMA ffiApplyArgSeq (ffiApplyArg::ffiApplyArgSeq) ffiApplyArgs : ([]) | ffiApplyArgSeq (ffiApplyArgSeq) (* FFI type representation *) ffityrow : label COLON ffity ([(label,ffity)]) | label COLON ffity COMMA ffityrow ((label,ffity)::ffityrow) ffityseq : ffity COMMA ffity ([ffity1,ffity2]) | ffity COMMA ffityseq (ffity::ffityseq) ffiArgs : ffiAtty ([ffiAtty]) | LPAREN ffityseq RPAREN (ffityseq) ffiContyArg : (nil) | ffiArgs (ffiArgs) ffiAtty : LPAREN ffity RPAREN (ffity) | tyvar (Absyn.FFITYVAR(tyvar,(tyvarleft,tyvarright))) | ffiContyArg tyid (Absyn.FFICONTY(ffiContyArg,tyid,(ffiContyArgleft,tyidright))) | LBRACE ffityrow RBRACE (Absyn.FFIRECORDTY(ffityrow,(LBRACEleft,RBRACEright))) | LBRACE RBRACE (Absyn.FFIRECORDTY([],(LBRACEleft,RBRACEright))) ffitupleseq : ffiAtty ASTERISK ffiAtty ([ffiAtty1,ffiAtty2]) | ffiAtty ASTERISK ffitupleseq (ffiAtty::ffitupleseq) ffiTupleTy : ffitupleseq (Absyn.FFITUPLETY(ffitupleseq,(ffitupleseqleft,ffitupleseqright))) ffiFunArg : LPAREN RPAREN ([]) | ffiArgs (ffiArgs) | ffiTupleTy ([ffiTupleTy]) ffiFunRet : LPAREN RPAREN ([]) | ffity ([ffity]) | LPAREN ffityseq RPAREN (ffityseq) ffiFunty : ffiFunArg ARROW ffiFunRet (Absyn.FFIFUNTY(nil,ffiFunArg,ffiFunRet, (ffiFunArgleft,ffiFunRetright))) | ffiattr ffiFunArg ARROW ffiFunRet (Absyn.FFIFUNTY(ffiattr,ffiFunArg,ffiFunRet, (ffiFunArgleft,ffiFunRetright))) ffiattrseq : id ([id]) | id COMMA ffiattrseq (id::ffiattrseq) ffiattr : CDECL (["cdecl"]) | STDCALL (["stdcall"]) | ATTRIBUTE LPAREN LPAREN ffiattrseq RPAREN RPAREN (ffiattrseq) ffiattropt : (nil) | ffiattr (ffiattr) ffity : ffiAtty (ffiAtty) | ffiFunty (ffiFunty) | ffiTupleTy (ffiTupleTy) (* (* deperecated syntax *) old_ffiContyArg : (nil) | old_ffiAtty ([old_ffiAtty]) | LPAREN old_ffityseq RPAREN (old_ffityseq) old_ffiAtty : LPAREN old_ffity RPAREN (old_ffity) | old_ffiContyArg tyid (Absyn.TYCONSTRUCT(old_ffiContyArg,tyid,(tyidleft,tyidright))) old_ffituple : old_ffiAtty ASTERISK old_ffiAtty ([old_ffiAtty1,old_ffiAtty2]) | old_ffiAtty ASTERISK old_ffituple (old_ffiAtty::old_ffituple) old_ffityseq : old_ffity COMMA old_ffity ([old_ffity1,old_ffity2]) | old_ffity COMMA old_ffityseq (old_ffity::old_ffityseq) old_ffityArg : (nil) | old_ffity ([old_ffity]) | old_ffityseq (old_ffityseq) old_ffiFunty : LBRACE old_ffityArg RBRACE ARROW old_ffity ((old_ffityArg, old_ffity)) old_ffity : old_ffiAtty (old_ffiAtty) | old_ffiFunty (Absyn.TYFFI(Absyn.defaultFFIAttributes,nil, #1 old_ffiFunty,#2 old_ffiFunty, (old_ffiFuntyleft,old_ffiFuntyright))) | old_ffituple (Absyn.TYTUPLE(old_ffituple,(old_ffitupleleft,old_ffitupleright))) *) (**************** structure and signature************) longid : id ([id]) | longid PERIOD id (longid @ [id]) longidseq : longid ([longid]) | longid longidseq (longid::longidseq) (*----strexp---*) strexpbasic : STRUCT strdecseq_semicolon END (Absyn.STREXPBASIC(strdecseq_semicolon,(STRUCTleft,ENDright))) | longid (Absyn.STRID(longid,(longidleft,longidright))) | id LPAREN strexp RPAREN (Absyn.FUNCTORAPP(id,strexp,(idleft,RPARENright))) | id LPAREN strdecseq_semicolon RPAREN (Absyn.FUNCTORAPP (id,Absyn.STREXPBASIC(strdecseq_semicolon,(strdecseq_semicolonleft,strdecseq_semicolonright)),(idleft,RPARENright))) | LET strdecseq_semicolon IN strexp END (Absyn.STRUCTLET (strdecseq_semicolon,strexp,(LETleft,ENDright))) strexp : strexpbasic (strexpbasic) | strexp COLON sigexp (Absyn.STRTRANCONSTRAINT (strexp,sigexp,(strexpleft,sigexpright))) | strexp OPAQUE sigexp (Absyn.STROPAQCONSTRAINT (strexp,sigexp,(strexpleft,sigexpright))) strexpand : strexpbasic AND (strexpbasic) | strexp COLON sigexpand (Absyn.STRTRANCONSTRAINT (strexp,sigexpand,(strexpleft,sigexpandright))) | strexp OPAQUE sigexpand (Absyn.STROPAQCONSTRAINT (strexp,sigexpand,(strexpleft,sigexpandright))) (*-------------*) strdecseq_semicolon : strdec strdecseq_semicolon (strdec::strdecseq_semicolon) | SEMICOLON strdecseq_semicolon (strdecseq_semicolon) | ([]) strdec : dec (Absyn.COREDEC(dec,(decleft,decright))) | STRUCTURE strbindseq (Absyn.STRUCTBIND(strbindseq,(STRUCTUREleft,strbindseqright))) | LOCAL strdecseq_semicolon IN strdecseq_semicolon END (Absyn.STRUCTLOCAL (strdecseq_semicolon1,strdecseq_semicolon2,(LOCALleft,ENDright))) (*-----strbind-----*) strbind : id EQ strexp (Absyn.STRBINDNONOBSERV(id,strexp,(idleft,strexpright))) | id COLON sigexp EQ strexp (Absyn.STRBINDTRAN(id,sigexp,strexp,(idleft,strexpright))) | id OPAQUE sigexp EQ strexp (Absyn.STRBINDOPAQUE(id,sigexp,strexp,(idleft,strexpright))) strbindand : id EQ strexpand (Absyn.STRBINDNONOBSERV(id,strexpand,(idleft,strexpandright))) | id COLON sigexp EQ strexpand (Absyn.STRBINDTRAN (id,sigexp,strexpand,(idleft,strexpandright))) | id OPAQUE sigexp EQ strexpand (Absyn.STRBINDOPAQUE (id,sigexp,strexpand,(idleft,strexpandright))) strbindseq : strbind ([strbind]) | strbindand strbindseq (strbindand::strbindseq) (*TEST*) (*-----------------*) longtycon : id ([id]) | id PERIOD longtycon (id::longtycon) (*---sigexp-----*) sigexpbasic : SIG spec END (Absyn.SIGEXPBASIC(spec,(SIGleft,ENDright))) | id (Absyn.SIGID(id,(idleft,idright))) sigexpwhere : sigexp WHERE TYPE tyvarseq longtycon EQ ty (Absyn.SIGWHERE (sigexp,[(tyvarseq,longtycon,ty)],(sigexpleft,tyright))) | sigexp WHERE TYPE longtycon EQ ty (Absyn.SIGWHERE (sigexp,[(nil,longtycon,ty)],(sigexpleft,tyright))) | sigexpwhere AND TYPE tyvarseq longtycon EQ ty (Absyn.SIGWHERE (sigexpwhere,[(tyvarseq,longtycon,ty)],(sigexpwhereleft,tyright))) | sigexpwhere AND TYPE longtycon EQ ty (Absyn.SIGWHERE (sigexpwhere,[(nil,longtycon,ty)],(sigexpwhereleft,tyright))) sigexp : sigexpbasic (sigexpbasic) | sigexpwhere (sigexpwhere) sigexpand : sigexpwhere AND (sigexpwhere) | sigexpbasic AND (sigexpbasic) (*---sigexp-----*) sigbind :id EQ sigexp ([(id,sigexp)]) |id EQ sigexpand sigbind ((id,sigexpand):: sigbind) (***********************specifications******************************) longtyconeqrow : longtycon EQ longtycon ([longtycon1,longtycon2]) | longtycon EQ longtyconeqrow (longtycon::longtyconeqrow) longideqrow : longid EQ longid ([longid1,longid2]) | longid EQ longid EQ longid ([longid1,longid2,longid3]) | longid EQ longid EQ longideqrow (longid1::longid2::longideqrow) spec : spec atomicspec (Absyn.SPECSEQ(spec,atomicspec,(specleft,atomicspecright))) | spec SHARING TYPE longtyconeqrow (Absyn.SPECSHARE (spec,longtyconeqrow,(SHARINGleft,longtyconeqrowright))) | spec SHARING longideqrow (Absyn.SPECSHARESTR (spec,longideqrow,(SHARINGleft,longideqrowright))) | spec SEMICOLON (spec) | (Absyn.SPECEMPTY) atomicspec : VAL valdesc (Absyn.SPECVAL(valdesc,(VALleft,valdescright))) | TYPE typdesc (Absyn.SPECTYPE(typdesc,(TYPEleft,typdescright))) | TYPE typbind (Absyn.SPECDERIVEDTYPE(typbind,(TYPEleft,typbindright))) | EQTYPE typdesc (Absyn.SPECEQTYPE(typdesc,(EQTYPEleft,typdescright))) | DATATYPE datdesc (Absyn.SPECDATATYPE(datdesc,(DATATYPEleft,datdescright))) | DATATYPE tycon EQ DATATYPE longtycon (Absyn.SPECREPLIC (tycon,longtycon,(DATATYPE1left,longtyconright))) | EXCEPTION exdesc (Absyn.SPECEXCEPTION(exdesc,(EXCEPTIONleft,exdescright))) | STRUCTURE strdesc (Absyn.SPECSTRUCT(strdesc,(STRUCTUREleft,strdescright))) | INCLUDE SIG spec END (Absyn.SPECINCLUDE(Absyn.SIGEXPBASIC(spec,(SIGleft,ENDright)),(INCLUDEleft,ENDright))) | INCLUDE sigexpwhere (Absyn.SPECINCLUDE(sigexpwhere,(INCLUDEleft,sigexpwhereright))) | INCLUDE sigidseq (Absyn.SPECDERIVEDINCLUDE (sigidseq,(INCLUDEleft,sigidseqright))) sigidseq : id ([id1]) | id sigidseq (id1::sigidseq) (* Ohori: valdesc now take poly_ty 2007/11/11 *) valdesc : id COLON poly_ty ([(id,poly_ty)]) | id COLON ty ([(id,ty)]) | id COLON poly_ty AND valdesc ((id,poly_ty)::valdesc) | id COLON ty AND valdesc ((id,ty)::valdesc) typdesc : tyvarseq tycon ([(tyvarseq, tycon)]) | tycon ([(nil,tycon)]) | tyvarseq tycon AND typdesc ((tyvarseq,tycon)::typdesc) | tycon AND typdesc ((nil,tycon)::typdesc) datdesc : tycon EQ condesc ([(nil,tycon,condesc)]) | tyvarseq tycon EQ condesc ([(tyvarseq,tycon,condesc)]) | tycon EQ condesc AND datdesc ((nil,tycon,condesc)::datdesc) | tyvarseq tycon EQ condesc AND datdesc ((tyvarseq,tycon,condesc)::datdesc) condesc : id ([(id,NONE)]) | id OF ty ([(id,SOME ty)]) | id BAR condesc ((id,NONE)::condesc) | id OF ty BAR condesc ((id,SOME ty)::condesc) exdesc : id ([(id,NONE)]) | id OF ty ([(id,SOME ty)]) | id AND exdesc ((id,NONE)::exdesc) | id OF ty AND exdesc ((id,SOME ty)::exdesc) strdesc : id COLON sigexp ([(id,sigexp)]) | id COLON sigexpand strdesc ((id,sigexpand)::strdesc) funbindseq : funbind ([funbind]) | funbindand funbindseq (funbindand::funbindseq) funbind : id LPAREN id COLON sigexp RPAREN EQ strexp (Absyn.FUNBINDNONOBSERV (id1,id2,sigexp,strexp,(id1left,strexpright))) | id LPAREN id COLON sigexp RPAREN COLON sigexp EQ strexp (Absyn.FUNBINDTRAN (id1,id2,sigexp1,sigexp2,strexp,(id1left,strexpright))) | id LPAREN id COLON sigexp RPAREN OPAQUE sigexp EQ strexp (Absyn.FUNBINDOPAQUE (id1,id2,sigexp1,sigexp2,strexp,(id1left,strexpright))) | id LPAREN spec RPAREN EQ strexp (Absyn.FUNBINDSPECNONOBSERV (id,spec,strexp,(idleft,strexpright))) | id LPAREN spec RPAREN COLON sigexp EQ strexp (Absyn.FUNBINDSPECTRAN (id,spec,sigexp,strexp,(idleft,strexpright))) | id LPAREN spec RPAREN OPAQUE sigexp EQ strexp (Absyn.FUNBINDSPECOPAQUE (id,spec,sigexp,strexp,(idleft,strexpright))) funbindand : id LPAREN id COLON sigexp RPAREN EQ strexpand (Absyn.FUNBINDNONOBSERV (id1,id2,sigexp,strexpand,(id1left,strexpandright))) | id LPAREN id COLON sigexp RPAREN COLON sigexp EQ strexpand (Absyn.FUNBINDTRAN (id1,id2,sigexp1,sigexp2,strexpand,(id1left,strexpandright))) | id LPAREN id COLON sigexp RPAREN OPAQUE sigexp EQ strexpand (Absyn.FUNBINDOPAQUE (id1,id2,sigexp1,sigexp2,strexpand,(id1left,strexpandright))) | id LPAREN spec RPAREN EQ strexpand (Absyn.FUNBINDSPECNONOBSERV (id,spec,strexpand,(idleft,strexpandright))) | id LPAREN spec RPAREN COLON sigexp EQ strexpand (Absyn.FUNBINDSPECTRAN (id,spec,sigexp,strexpand,(idleft,strexpandright))) | id LPAREN spec RPAREN OPAQUE sigexp EQ strexpand (Absyn.FUNBINDSPECOPAQUE (id,spec,sigexp,strexpand,(idleft,strexpandright))) (*****************************top level declarations**************************) topdecs : topdec ([topdec]) | topdec topdecs (topdec :: topdecs) topdec : strdec (Absyn.TOPDECSTR(strdec,(strdecleft,strdecright))) | SIGNATURE sigbind (Absyn.TOPDECSIG(sigbind,(SIGNATUREleft,sigbindright))) | FUNCTOR funbindseq (Absyn.TOPDECFUN(funbindseq,(FUNCTORleft,funbindseqright))) useFile : USE STRING (Absyn.USE (STRING,(USEleft,STRINGright))) | USE' STRING (Absyn.USE (STRING,(USE'left,STRINGright))) tops : topdecs ([Absyn.TOPDEC topdecs]) | useFile ([useFile]) | topdecs useFile tops (Absyn.TOPDEC topdecs :: useFile :: tops) | useFile tops (useFile :: tops) interface : (* none *) (Absyn.NOINTERFACE) | INTERFACE STRING interface (Absyn.INTERFACE {name=STRING, loc=(INTERFACEleft, STRINGright)}) unit : interface ({interface = interface, tops = nil, loc = (interfaceleft, interfaceright)}) | interface tops ({interface = interface, tops = tops, loc = (interfaceleft, topsright)}) smlsharp-1.2.0/src/compiler/parser2/main/iml.grm.smi0000644 000000000000000000001673212050661606022476 0ustar00rootroot0000000 0000000 _require "../../../basis/main/StringCvt.smi" _require "../../../basis/main/List.smi" _require "../../../basis/main/String.smi" _require "../../../basis/main/Char.smi" _require "../../../basis/main/Array.smi" _require "../../../basis/main/ListPair.smi" _require "../../../basis/main/Int.smi" _require "../../../basis/main/General.smi" _require "../../../basis/main/binary-op.smi" (* _require "../../../basis.smi" *) _require "../../../ml-yacc-lib.smi" _require "../../control/main/Loc.ppg.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../absyn/main/AbsynSQL.ppg.smi" _require "iml.grm.sig" structure MLLrVals = struct structure ParserData = struct type pos = Loc.pos type svalue (= boxed) type arg = unit type result = Absyn.unitparseresult structure ParserArg = struct type pos = pos type svalue = svalue type arg = arg end structure LrParser = LrParserFun(ParserArg) (* structure LrParser = struct type arg = arg type pos = pos type svalue = svalue structure LrTable = LrTable structure Token = struct type svalue = svalue type pos = pos structure LrTable = LrTable datatype token = TOKEN of LrTable.term * (svalue * pos * pos) val sameToken : token * token -> bool end structure Stream = struct type tok = Token.token type stream (= boxed) val streamify : (unit -> tok) -> stream val cons : tok * stream -> stream val get : stream -> tok * stream end exception ParseError val parse : {table : LrTable.table, lexer : Stream.stream, arg: arg, saction : int * Token.pos * (LrTable.state * (Token.svalue * Token.pos * Token.pos)) list * arg -> LrTable.nonterm * (Token.svalue * Token.pos * Token.pos) * (LrTable.state * (Token.svalue * Token.pos * Token.pos)) list, void : Token.svalue, ec : {is_keyword : LrTable.term -> bool, noShift : LrTable.term -> bool, preferred_change : (LrTable.term list * LrTable.term list) list, errtermvalue : LrTable.term -> Token.svalue, showTerminal : LrTable.term -> string, terms: LrTable.term list, error : string * Token.pos * Token.pos -> unit}, lookahead : int} -> Token.svalue * Stream.stream end *) structure Token = LrParser.Token structure LrTable = LrParser.LrTable structure Actions = struct val actions : int * pos * (LrTable.state * (svalue * pos * pos)) list * arg -> LrTable.nonterm * (svalue * pos * pos) * (LrTable.state *(svalue * pos * pos)) list val void : svalue val extract : svalue -> result end structure EC = struct val is_keyword : LrTable.term -> bool val noShift : LrTable.term -> bool val preferred_change : (LrTable.term list * LrTable.term list) list val errtermvalue : LrTable.term -> svalue val showTerminal : LrTable.term -> string val terms: LrTable.term list end val table : LrTable.table end structure Tokens = struct type pos = ParserData.pos type svalue = ParserData.svalue type token = ParserData.Token.token val ROLLBACK : pos * pos -> token val COMMIT : pos * pos -> token val BEGIN : pos * pos -> token val DEFAULT : pos * pos -> token val SET : pos * pos -> token val UPDATE : pos * pos -> token val BY : pos * pos -> token val ORDER : pos * pos -> token val DELETE : pos * pos -> token val VALUES : pos * pos -> token val INTO : pos * pos -> token val INSERT : pos * pos -> token val FROM : pos * pos -> token val SELECT : pos * pos -> token val DESC : pos * pos -> token val ASC : pos * pos -> token val SQL : pos * pos -> token val SQLEXEC : pos * pos -> token val SQLEVAL : pos * pos -> token val SQLSERVER : pos * pos -> token val WORD : {radix:StringCvt.radix, digits:string} * pos * pos -> token val WITHTYPE : pos * pos -> token val WITH : pos * pos -> token val WHERE : pos * pos -> token val WHILE : pos * pos -> token val VAL : pos * pos -> token val USEOBJ : pos * pos -> token val USE' : pos * pos -> token val USE : pos * pos -> token val UNDERBAR : pos * pos -> token val TYVAR : (string) * pos * pos -> token val TYPE : pos * pos -> token val THEN : pos * pos -> token val STRUCTURE : pos * pos -> token val STRUCT : pos * pos -> token val STRING : (string) * pos * pos -> token val STDCALL : pos * pos -> token val SPECIAL : (string) * pos * pos -> token val SIZEOF : pos * pos -> token val SIGNATURE : pos * pos -> token val SIG : pos * pos -> token val SHARING : pos * pos -> token val SEMICOLON : pos * pos -> token val RPAREN : pos * pos -> token val REAL : (string) * pos * pos -> token val RBRACKET : pos * pos -> token val RBRACE : pos * pos -> token val REQUIRE : pos * pos -> token val REC : pos * pos -> token val RAISE : pos * pos -> token val PRIVATE : pos * pos -> token val PERIODS : pos * pos -> token val PERIOD : pos * pos -> token val NULL : pos * pos -> token val NAMESPACE : pos * pos -> token val ORELSE : pos * pos -> token val OPEN : pos * pos -> token val OPAQUE : pos * pos -> token val OP : pos * pos -> token val OF : pos * pos -> token val NONFIX : pos * pos -> token val LPAREN : pos * pos -> token val LOCAL : pos * pos -> token val LET : pos * pos -> token val LBRACKET : pos * pos -> token val LBRACE : pos * pos -> token val INTERFACE : pos * pos -> token val INT : {radix:StringCvt.radix, digits:string} * pos * pos -> token val INTLAB : string * pos * pos -> token val INFIXR : pos * pos -> token val INFIX : pos * pos -> token val INCLUDE : pos * pos -> token val IMPORT : pos * pos -> token val IN : pos * pos -> token val IF : pos * pos -> token val ID : (string) * pos * pos -> token val HASH : pos * pos -> token val HANDLE : pos * pos -> token val FUNCTOR : pos * pos -> token val FUN : pos * pos -> token val FN : pos * pos -> token val FFIAPPLY : pos * pos -> token val EXPORT : pos * pos -> token val EXTERNAL : pos * pos -> token val EXCEPTION : pos * pos -> token val EQTYVAR : (string) * pos * pos -> token val EQTYPE : pos * pos -> token val EQ : pos * pos -> token val END : pos * pos -> token val ELSE : pos * pos -> token val DO : pos * pos -> token val DATATYPE : pos * pos -> token val DARROW : pos * pos -> token val COMMA : pos * pos -> token val COLON : pos * pos -> token val CHAR : (string) * pos * pos -> token val CDECL : pos * pos -> token val CAST : pos * pos -> token val CASE : pos * pos -> token val BUILTIN : pos * pos -> token val BAR : pos * pos -> token val ATTRIBUTE : pos * pos -> token val AT : pos * pos -> token val ASTERISK : pos * pos -> token val AS : pos * pos -> token val ARROW : pos * pos -> token val ANDALSO : pos * pos -> token val AND : pos * pos -> token val ABSNAMESPACE : pos * pos -> token val ABSTYPE : pos * pos -> token val EOF : pos * pos -> token end end smlsharp-1.2.0/src/compiler/parser2/main/iml.lex0000755 000000000000000000005106712050661606021715 0ustar00rootroot0000000 0000000 (* * lexical structures of IML. * the part of constant specifications is based on * that of the SML New Jersye implementation * @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori * @author Liu Bochao * @author YAMATODANI Kiyoshi * @version $Id: iml.lex,v 1.42.6.6 2010/01/22 09:19:06 hiro-en Exp $ *) structure T = MLLrVals.Tokens structure UE = UserError structure SS = Substring (* if you use ml-lex of SML/NJ, you need to specify this to 2. *) val INITIAL_POS_OF_LEXER = 0 type svalue = T.svalue (* type pos = Loc.pos *) type pos = T.pos type lexresult = T.token type token = T.token exception Error datatype stringType = STRING | CHAR | NOSTR type arg = { fileName : string, isPrelude : bool, enableMeta : bool, lexError : (string * pos * pos) -> unit, stringBuf : string list ref, stringStart : pos ref, stringType : stringType ref, commentStart : Loc.pos list ref, lineMap : {lineCount : int, beginPos : int} list ref, lineCount : int ref, charCount : int ref, initialCharCount : int } fun initArg {sourceName, isPrelude, enableMeta, lexErrorFn, initialLineno} = let val startPos = Loc.makePos {fileName = sourceName, line = 0, col = 0} in {fileName = sourceName, isPrelude = isPrelude, enableMeta = enableMeta, lexError = lexErrorFn, stringBuf = ref nil, stringStart = ref startPos, stringType = ref NOSTR, commentStart = ref nil, lineMap = ref [{lineCount = initialLineno, beginPos = INITIAL_POS_OF_LEXER}], lineCount = ref initialLineno, charCount = ref INITIAL_POS_OF_LEXER, initialCharCount = 0} : arg end fun isINITIAL ({commentStart = ref nil, stringType = ref NOSTR, ...}:arg) = true | isINITIAL _ = false (* val error = Error.printError *) fun newLine (pos, eolString, arg : arg) = ( #lineCount arg := !(#lineCount arg) + 1; #lineMap arg := {lineCount = !(#lineCount arg), beginPos = pos + size eolString} :: !(#lineMap arg) ) fun currentPos (pos, offset, arg : arg) = let (* pos is the number of chars which has been read by this lexer. * Because a new lexer is created at each time when any error is found, * it means that this pos is not always started from the beginning of * the current source. * On the other hand, the lineMap records absolute positions of * newlines. These positions start from the beginning of the current * source. * The initialCharCount holds the absolute position of location in the * source where the current lexer begins to scan. * The next line converts the pos into an absolute one. *) val absolutePos = pos + (#initialCharCount arg) in (* Then, we search for a lineMap entry for the line which contains the * location that is pointed by the absolutePos. * Entries in the lineMap are sorted in descending order of line count. * An entry for the line which has been read last is at the top of the * lineMap. * Therefore, we scan the lineMap from the top to the last. *) case List.find (fn{beginPos, ...} => beginPos <= absolutePos) (!(#lineMap arg)) of SOME{lineCount, beginPos} => Loc.makePos { fileName = #fileName arg, line = lineCount, col = absolutePos - beginPos + offset + 0 (* first column is 0. *) } | NONE => let val message = "lineCount of " ^ Int.toString absolutePos ^ " is not found." in #lexError arg (message, Loc.nopos, Loc.nopos); Loc.nopos (* raise Control.Bug message *) end end fun left (pos, arg) = currentPos(pos, 0, arg) fun right (pos, size, arg) = currentPos(pos, size - 1, arg) fun addString (buffer, string) = buffer := string :: (!buffer) fun strToLoc (text, pos, arg) = let val leftPos = left(pos, arg) val rightPos = right(pos, String.size text, arg) in (leftPos, rightPos) end fun addChar (buffer, string) = buffer := String.str string :: (!buffer) fun makeString (buffer) = concat (rev (!buffer)) before buffer := nil fun eof ({commentStart, stringStart, stringType, lexError, ...}:arg) = (case !commentStart of nil => () | pos::_ => lexError ("unclosed comment", pos, Loc.nopos); case !stringType of NOSTR => () | STRING => lexError ("unclosed string", !stringStart, Loc.nopos) | CHAR => lexError ("unclosed character constant", !stringStart, Loc.nopos); T.EOF (Loc.nopos, Loc.nopos)) fun isSuffix char string = 0 < size string andalso String.sub (string, size string - 1) = char %% %s A S F; %header ( structure MLLex : sig structure UserDeclarations : sig type token type pos type svalue type arg val isINITIAL : arg -> bool val initArg : {sourceName : string, isPrelude : bool, enableMeta : bool, lexErrorFn : (string * pos * pos) -> unit, initialLineno : int} -> arg end val makeLexer : (int -> string) -> UserDeclarations.arg -> unit -> UserDeclarations.token end ); %arg (arg as { fileName, isPrelude, enableMeta, lexError, stringBuf, stringStart, stringType, commentStart, lineMap, lineCount, charCount, initialCharCount }); quote="'"; underscore="\_"; alpha=[A-Za-z]; digit=[0-9]; idchars={alpha}|{digit}|{quote}|{underscore}; id=({alpha}|{quote}){idchars}*; ws=("\012"|[\t\ ])*; eol=("\013\010"|"\010"|"\013"); sym=[!%&$+/:<=>?@~`|#*]|\-|\^; symbol={sym}|\\; num=[0-9]+; frac="."{num}; exp=[eE](~?){num}; real=(~?)(({num}{frac}?{exp})|({num}{frac}{exp}?)); hexnum=[0-9a-fA-F]+; %% {ws} => (continue()); {eol} => (newLine(yypos, yytext, arg); continue ()); "_absnamespace" => (T.ABSNAMESPACE (left(yypos,arg),right(yypos,13,arg))); "abstype" => (T.ABSTYPE (left(yypos,arg),right(yypos,7,arg))); "andalso" => (T.ANDALSO (left(yypos,arg),right(yypos,7,arg))); "and" => (T.AND (left(yypos,arg),right(yypos,3,arg))); "as" => (T.AS (left(yypos,arg),right(yypos,2,arg))); "__attribute__" => (T.ATTRIBUTE (left(yypos,arg),right(yypos,13,arg))); "_builtin" => (T.BUILTIN (left(yypos,arg),right(yypos,8,arg))); "case" => (T.CASE (left(yypos,arg),right(yypos,4,arg))); "_cast" => (T.CAST (left(yypos,arg),right(yypos,5,arg))); "_cdecl" => (T.CDECL (left(yypos,arg),right(yypos,6,arg))); "datatype" => (T.DATATYPE (left(yypos,arg),right(yypos,8,arg))); "do" => (T.DO (left(yypos,arg),right(yypos,2,arg))); "else" => (T.ELSE (left(yypos,arg),right(yypos,4,arg))); "end" => (T.END (left(yypos,arg),right(yypos,3,arg))); "eqtype" => (T.EQTYPE (left(yypos,arg),right(yypos,6,arg))); "exception" => (T.EXCEPTION (left(yypos,arg),right(yypos,9,arg))); "_export" => (T.EXPORT (left(yypos,arg),right(yypos,7,arg))); "_external" => (T.EXTERNAL (left(yypos,arg),right(yypos,9,arg))); "_ffiapply" => (T.FFIAPPLY (left(yypos,arg),right(yypos,9,arg))); "fn" => (T.FN (left(yypos,arg),right(yypos,2,arg))); "fun" => (T.FUN (left(yypos,arg),right(yypos,3,arg))); "functor" => (T.FUNCTOR (left(yypos,arg),right(yypos,7,arg))); "handle" => (T.HANDLE (left(yypos,arg),right(yypos,6,arg))); "if" => (T.IF (left(yypos,arg),right(yypos,2,arg))); "_import" => (T.IMPORT (left(yypos,arg),right(yypos,7,arg))); "in" => (T.IN (left(yypos,arg),right(yypos,2,arg))); "include" => (T.INCLUDE (left(yypos,arg),right(yypos,7,arg))); "infix" => (T.INFIX (left(yypos,arg),right(yypos,5,arg))); "infixr" => (T.INFIXR (left(yypos,arg),right(yypos,6,arg))); "_interface" => (T.INTERFACE (left(yypos,arg),right(yypos,10,arg))); "nonfix" => (T.NONFIX (left(yypos,arg),right(yypos,6,arg))); "let" => (T.LET (left(yypos,arg),right(yypos,3,arg))); "local" => (T.LOCAL (left(yypos,arg),right(yypos,5,arg))); "of" => (T.OF (left(yypos,arg),right(yypos,2,arg))); "op" => (T.OP (left(yypos,arg),right(yypos,2,arg))); "open" => (T.OPEN(left(yypos,arg),right(yypos,4,arg))); "orelse" => (T.ORELSE (left(yypos,arg),right(yypos,6,arg))); "_namespace" => (T.NAMESPACE (left(yypos,arg),right(yypos,10,arg))); "_NULL" => (T.NULL (left(yypos,arg),right(yypos,5,arg))); "_private" => (T.PRIVATE (left(yypos,arg),right(yypos,8,arg))); "raise" => (T.RAISE (left(yypos,arg),right(yypos,5,arg))); "rec" => (T.REC (left(yypos,arg),right(yypos,3,arg))); "_require" => (T.REQUIRE (left(yypos,arg),right(yypos,8,arg))); "sharing" => (T.SHARING (left(yypos,arg),right(yypos,7,arg))); "sig"=> (T.SIG (left(yypos,arg),right(yypos,3,arg))); "signature" => (T.SIGNATURE (left(yypos,arg),right(yypos,9,arg))); "_sizeof" => (T.SIZEOF (left(yypos,arg),right(yypos,7,arg))); "_stdcall" => (T.STDCALL (left(yypos,arg),right(yypos,8,arg))); "struct" => (T.STRUCT (left(yypos,arg),right(yypos,6,arg))); "structure" => (T.STRUCTURE (left(yypos,arg),right(yypos,9,arg))); "then" => (T.THEN (left(yypos,arg),right(yypos,4,arg))); "type" => (T.TYPE (left(yypos,arg),right(yypos,4,arg))); "use" => (if enableMeta then T.USE (left(yypos,arg),right(yypos,3,arg)) else T.ID (yytext,left(yypos,arg),right(yypos,3,arg))); "_use" => (T.USE' (left(yypos,arg),right(yypos,4,arg))); "_useobj" => (T.USEOBJ (left(yypos,arg),right(yypos,7,arg))); "val" => (T.VAL (left(yypos,arg),right(yypos,3,arg))); "where" => (T.WHERE (left(yypos,arg),right(yypos,5,arg))); "while" => (T.WHILE (left(yypos,arg),right(yypos,5,arg))); "with" => (T.WITH (left(yypos,arg),right(yypos,4,arg))); "withtype" => (T.WITHTYPE (left(yypos,arg),right(yypos,8,arg))); "_sqlserver" => (T.SQLSERVER (left(yypos,arg),right(yypos,8,arg))); "_sqleval" => (T.SQLEVAL (left(yypos,arg),right(yypos,8,arg))); "_sqlexec" => (T.SQLEXEC (left(yypos,arg),right(yypos,8,arg))); "_sql" => (T.SQL (left(yypos,arg),right(yypos,4,arg))); "asc" => (T.ASC (left(yypos,arg),right(yypos,3,arg))); "desc" => (T.DESC (left(yypos,arg),right(yypos,4,arg))); "select" => (T.SELECT (left(yypos,arg),right(yypos,6,arg))); "from" => (T.FROM (left(yypos,arg),right(yypos,4,arg))); "order" => (T.ORDER (left(yypos,arg),right(yypos,5,arg))); "by" => (T.BY (left(yypos,arg),right(yypos,2,arg))); "insert" => (T.INSERT (left(yypos,arg),right(yypos,6,arg))); "into" => (T.INTO (left(yypos,arg),right(yypos,4,arg))); "values" => (T.VALUES (left(yypos,arg),right(yypos,6,arg))); "delete" => (T.DELETE (left(yypos,arg),right(yypos,6,arg))); "update" => (T.UPDATE (left(yypos,arg),right(yypos,6,arg))); "set" => (T.SET (left(yypos,arg),right(yypos,3,arg))); "default" => (T.DEFAULT (left(yypos,arg),right(yypos,7,arg))); "begin" => (T.BEGIN (left(yypos,arg),right(yypos,5,arg))); "commit" => (T.COMMIT (left(yypos,arg),right(yypos,6,arg))); "rollback" => (T.ROLLBACK (left(yypos,arg),right(yypos,8,arg))); ":>" => (T.OPAQUE (left(yypos,arg),right(yypos,2,arg))); "*" => (T.ASTERISK(left(yypos,arg),right(yypos,1,arg))); "#" => (T.HASH(left(yypos,arg),right(yypos,1,arg))); "(" => (T.LPAREN(left(yypos,arg),right(yypos,1,arg))); ")" => (T.RPAREN(left(yypos,arg),right(yypos,1,arg))); "," => (T.COMMA(left(yypos,arg),right(yypos,1,arg))); "->" => (T.ARROW (left(yypos,arg),right(yypos,2,arg))); "." => (T.PERIOD (left(yypos,arg),right(yypos,1,arg))); "..." => (T.PERIODS (left(yypos,arg),right(yypos,3,arg))); ":" => (T.COLON(left(yypos,arg),right(yypos,1,arg))); ";" => (T.SEMICOLON(left(yypos,arg),right(yypos,1,arg))); "=" => (T.EQ(left(yypos,arg),right(yypos,1,arg))); "=>" => (T.DARROW (left(yypos,arg),right(yypos,2,arg))); "[" => (T.LBRACKET(left(yypos,arg),right(yypos,1,arg))); "]" => (T.RBRACKET(left(yypos,arg),right(yypos,1,arg))); "_" => (T.UNDERBAR(left(yypos,arg),right(yypos,1,arg))); "{" => (T.LBRACE(left(yypos,arg),right(yypos,1,arg))); "|" => (T.BAR(left(yypos,arg),right(yypos,1,arg))); "}" => (T.RBRACE(left(yypos,arg),right(yypos,1,arg))); {id} => (let val loc = strToLoc(yytext, yypos, arg) val textSize = String.size yytext in if String.isPrefix "''" yytext then T.EQTYVAR(String.substring(yytext, 2, textSize - 2), #1 loc, #2 loc) else if #isPrelude arg andalso String.isPrefix "'_" yytext andalso isSuffix #"'" yytext then T.ID(String.substring(yytext, 1, textSize - 2), #1 loc, #2 loc) else if String.isPrefix "'" yytext then T.TYVAR(String.substring(yytext, 1, textSize - 1), #1 loc, #2 loc) else T.ID(yytext, #1 loc, #2 loc) end); {symbol}+ => (T.ID (yytext, left(yypos, arg), right(yypos, String.size yytext, arg))); {real} => (T.REAL (yytext, left(yypos, arg), right(yypos, String.size yytext, arg))); {num} => (let val (l,r) = strToLoc(yytext, yypos, arg) in if String.isPrefix "0" yytext then T.INT ({radix=StringCvt.DEC, digits=yytext},l,r) else T.INTLAB (yytext,l,r) end); ~{num} => (let val (l,r) = strToLoc(yytext, yypos, arg) in T.INT ({radix=StringCvt.DEC, digits=yytext},l,r) end); "0w"{num} => (let val (l,r) = strToLoc(yytext, yypos, arg) in T.WORD ({radix=StringCvt.DEC, digits=yytext}, l, r) end); (~?)"0x"{hexnum} => (let val (l,r) = strToLoc(yytext, yypos, arg) in T.INT ({radix=StringCvt.HEX, digits=yytext}, l, r) end); "0wx"{hexnum} => (let val (l,r) = strToLoc(yytext, yypos, arg) in T.WORD ({radix=StringCvt.HEX, digits=yytext}, l, r) end); \" => ( stringBuf := nil; stringStart := left(yypos, arg); stringType := STRING; YYBEGIN S; continue() ); \#\" => ( stringBuf := nil; stringStart := left(yypos, arg); stringType := CHAR; YYBEGIN S; continue() ); "(*" => (YYBEGIN A; commentStart := left(yypos, arg) :: !commentStart; continue() (* Unlike "(*", unmatched "*)" should not cause parse error. It should * be regarded as two tokens "*" and ")". *) ); \h => ( lexError ( "non-Ascii character", left(yypos, arg), right(yypos, 1, arg) ); continue() ); . => ( lexError ("illegal token", left(yypos, arg), right(yypos, 1, arg)); continue() ); "(*" => (commentStart := left(yypos, arg) :: !commentStart; continue()); {eol} => (newLine(yypos, yytext, arg); continue ()); "*)" => ( case !commentStart of _::nil => (commentStart := nil; YYBEGIN INITIAL) | _::t => commentStart := t | nil => raise Control.Bug "unmatched close comment"; continue() ); . => (continue()); \" => ( let val s = makeString stringBuf val s = if size s <> 1 andalso !stringType = CHAR then ( lexError ( "character constant not length 1", left(yypos, arg), right(yypos, 1, arg) (* pos of double quote *) ); if 0 = size s then "?" else s ) else s val t = (s, !stringStart, right(yypos, 1, arg)) in YYBEGIN INITIAL; case !stringType before stringType := NOSTR of STRING => T.STRING t | CHAR => T.CHAR t | NOSTR => raise Control.Bug "close string" end ); {eol} => ( lexError ("unclosed string", left(yypos, arg), right(yypos, 1, arg)); stringType := NOSTR; newLine(yypos, yytext, arg); YYBEGIN INITIAL; T.STRING (makeString stringBuf, !stringStart, right(yypos, 1, arg)) ); \\{eol} => (newLine(yypos, yytext, arg); YYBEGIN F; continue()); \\{ws} => (YYBEGIN F; continue()); \\a => (addString(stringBuf, "\007"); continue()); \\b => (addString(stringBuf, "\008"); continue()); \\f => (addString(stringBuf, "\012"); continue()); \\n => (addString(stringBuf, "\010"); continue()); \\r => (addString(stringBuf, "\013"); continue()); \\t => (addString(stringBuf, "\009"); continue()); \\v => (addString(stringBuf, "\011"); continue()); \\\\ => (addString(stringBuf, "\\"); continue()); \\\" => (addString(stringBuf, "\""); continue()); \\\^[@-_] => ( addChar ( stringBuf, Char.chr(Char.ord(String.sub(yytext, 2)) - (Char.ord #"@")) ); continue() ); \\\^. => ( lexError ( "illegal control escape; must be one of \ \@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_", left(yypos, arg), right(yypos, size yytext, arg) ); continue() ); \\[0-9]{3} => (let val x = Char.ord(String.sub(yytext, 1)) * 100 + Char.ord(String.sub(yytext, 2)) * 10 + Char.ord(String.sub(yytext, 3)) - ((Char.ord #"0") * 111) in if x > 255 then ( lexError ( "illegal ascii escape", left(yypos, arg), right(yypos, size yytext, arg) ) ) else addChar(stringBuf, Char.chr x); continue() end); \\u[0-9a-fA-F]{4} => (let fun parseHexInt string = StringCvt.scanString (Int.scan StringCvt.HEX) string val x = valOf(parseHexInt (String.extract (yytext, 2, NONE))) in if Char.maxOrd < x then ( lexError ( "illegal ascii escape", left(yypos, arg), right(yypos, size yytext, arg) ) ) else addChar(stringBuf, Char.chr x); continue() end); \\ => ( lexError ("illegal string escape", left(yypos, arg), right(yypos, 1, arg)); continue() ); [\000-\031] => ( lexError ( "illegal non-printing character in string", left(yypos, arg), right(yypos, 1, arg) ); continue() ); ({idchars}|{sym}|\[|\]|\(|\)|{quote}|[,.;^{}])+|. => (addString(stringBuf, yytext); continue()); {eol} => (newLine(yypos, yytext, arg); continue()); {ws} => (continue()); \\ => (YYBEGIN S; continue()); . => ( lexError ("unclosed string", left(yypos, arg), right(yypos, 1, arg)); stringType := NOSTR; YYBEGIN INITIAL; T.STRING (makeString stringBuf, !stringStart, right(yypos, 1, arg)) ); . => (T.SPECIAL(yytext, left(yypos, arg), right(yypos, 1, arg))); smlsharp-1.2.0/src/compiler/parser2/main/iml.lex.smi0000644 000000000000000000000153712050661606022476 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../ml-yacc-lib.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../usererror/main/UserError.ppg.smi" _require "../../util/main/BigInt_IntInf.smi" _require "iml.grm.sig" _require "iml.grm.smi" structure MLLex = struct structure UserDeclarations = struct type token = MLLrVals.Tokens.token type pos = MLLrVals.Tokens.pos type svalue = MLLrVals.Tokens.svalue type arg (= boxed) val isINITIAL : arg -> bool val initArg : {sourceName : string, isPrelude : bool, enableMeta : bool, lexErrorFn : (string * pos * pos) -> unit, initialLineno : int} -> arg end val makeLexer : (int -> string) -> UserDeclarations.arg -> unit -> UserDeclarations.token end smlsharp-1.2.0/src/compiler/parser2/main/imlLexFun.lex0000755 000000000000000000005067012050661606023036 0ustar00rootroot0000000 0000000 (* * lexical structures of IML. * the part of constant specifications is based on * that of the SML New Jersye implementation * @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori * @author Liu Bochao * @author YAMATODANI Kiyoshi * @version $Id: iml.lex,v 1.42.6.6 2010/01/22 09:19:06 hiro-en Exp $ *) structure UE = UserError structure SS = Substring (* if you use ml-lex of SML/NJ, you need to specify this to 2. *) val INITIAL_POS_OF_LEXER = 0 type lexresult = T.token exception Error datatype stringType = STRING | CHAR | NOSTR type arg = { fileName : string, isPrelude : bool, enableMeta : bool, lexError : (string * T.pos * T.pos) -> unit, stringBuf : string list ref, stringStart : T.pos ref, stringType : stringType ref, commentStart : T.pos list ref, lineMap : {lineCount : int, beginPos : int} list ref, lineCount : int ref, charCount : int ref, initialCharCount : int } fun initArg {sourceName, isPrelude, enableMeta, lexErrorFn, initialLineno} : arg = let val startPos = Loc.makePos {fileName = sourceName, line = 0, col = 0} in {fileName = sourceName, isPrelude = isPrelude, enableMeta = enableMeta, lexError = lexErrorFn, stringBuf = ref nil, stringStart = ref startPos, stringType = ref NOSTR, commentStart = ref nil, lineMap = ref [{lineCount = initialLineno, beginPos = INITIAL_POS_OF_LEXER}], lineCount = ref initialLineno, charCount = ref INITIAL_POS_OF_LEXER, initialCharCount = 0} : arg end fun isINITIAL ({commentStart = ref nil, stringType = ref NOSTR, ...}:arg) = true | isINITIAL _ = false (* val error = Error.printError *) fun newLine (pos, eolString, arg : arg) = ( #lineCount arg := !(#lineCount arg) + 1; #lineMap arg := {lineCount = !(#lineCount arg), beginPos = pos + size eolString} :: !(#lineMap arg) ) fun currentPos (pos, offset, arg : arg) = let (* pos is the number of chars which has been read by this lexer. * Because a new lexer is created at each time when any error is found, * it means that this pos is not always started from the beginning of * the current source. * On the other hand, the lineMap records absolute positions of * newlines. These positions start from the beginning of the current * source. * The initialCharCount holds the absolute position of location in the * source where the current lexer begins to scan. * The next line converts the pos into an absolute one. *) val absolutePos = pos + (#initialCharCount arg) in (* Then, we search for a lineMap entry for the line which contains the * location that is pointed by the absolutePos. * Entries in the lineMap are sorted in descending order of line count. * An entry for the line which has been read last is at the top of the * lineMap. * Therefore, we scan the lineMap from the top to the last. *) case List.find (fn{beginPos, ...} => beginPos <= absolutePos) (!(#lineMap arg)) of SOME{lineCount, beginPos} => Loc.makePos { fileName = #fileName arg, line = lineCount, col = absolutePos - beginPos + offset + 0 (* first column is 0. *) } | NONE => let val message = "lineCount of " ^ Int.toString absolutePos ^ " is not found." in #lexError arg (message, Loc.nopos, Loc.nopos); Loc.nopos (* raise Control.Bug message *) end end fun left (pos, arg) = currentPos(pos, 0, arg) fun right (pos, size, arg) = currentPos(pos, size - 1, arg) fun addString (buffer, string) = buffer := string :: (!buffer) fun strToLoc (text, pos, arg) = let val leftPos = left(pos, arg) val rightPos = right(pos, String.size text, arg) in (leftPos, rightPos) end fun addChar (buffer, string) = buffer := String.str string :: (!buffer) fun makeString (buffer) = concat (rev (!buffer)) before buffer := nil fun eof ({commentStart, stringStart, stringType, lexError, ...}:arg) = (case !commentStart of nil => () | pos::_ => lexError ("unclosed comment", pos, Loc.nopos); case !stringType of NOSTR => () | STRING => lexError ("unclosed string", !stringStart, Loc.nopos) | CHAR => lexError ("unclosed character constant", !stringStart, Loc.nopos); T.EOF (Loc.nopos, Loc.nopos)) fun isSuffix char string = 0 < size string andalso String.sub (string, size string - 1) = char %% %s A S F; %header ( functor MLLexFun(T:ML_TOKENS where type pos = Loc.pos) : sig structure UserDeclarations : sig type arg val isINITIAL : arg -> bool val initArg : {sourceName : string, isPrelude : bool, enableMeta : bool, lexErrorFn : (string * T.pos * T.pos) -> unit, initialLineno : int} -> arg end val makeLexer : (int -> string) -> UserDeclarations.arg -> unit -> T.token end ); %arg (arg as { fileName, isPrelude, enableMeta, lexError, stringBuf, stringStart, stringType, commentStart, lineMap, lineCount, charCount, initialCharCount }); quote="'"; underscore="\_"; alpha=[A-Za-z]; digit=[0-9]; idchars={alpha}|{digit}|{quote}|{underscore}; id=({alpha}|{quote}){idchars}*; ws=("\012"|[\t\ ])*; eol=("\013\010"|"\010"|"\013"); sym=[!%&$+/:<=>?@~`|#*]|\-|\^; symbol={sym}|\\; num=[0-9]+; frac="."{num}; exp=[eE](~?){num}; real=(~?)(({num}{frac}?{exp})|({num}{frac}{exp}?)); hexnum=[0-9a-fA-F]+; %% {ws} => (continue()); {eol} => (newLine(yypos, yytext, arg); continue ()); "_absnamespace" => (T.ABSNAMESPACE (left(yypos,arg),right(yypos,13,arg))); "abstype" => (T.ABSTYPE (left(yypos,arg),right(yypos,7,arg))); "andalso" => (T.ANDALSO (left(yypos,arg),right(yypos,7,arg))); "and" => (T.AND (left(yypos,arg),right(yypos,3,arg))); "as" => (T.AS (left(yypos,arg),right(yypos,2,arg))); "__attribute__" => (T.ATTRIBUTE (left(yypos,arg),right(yypos,13,arg))); "_builtin" => (T.BUILTIN (left(yypos,arg),right(yypos,8,arg))); "case" => (T.CASE (left(yypos,arg),right(yypos,4,arg))); "_cast" => (T.CAST (left(yypos,arg),right(yypos,5,arg))); "_cdecl" => (T.CDECL (left(yypos,arg),right(yypos,6,arg))); "datatype" => (T.DATATYPE (left(yypos,arg),right(yypos,8,arg))); "do" => (T.DO (left(yypos,arg),right(yypos,2,arg))); "else" => (T.ELSE (left(yypos,arg),right(yypos,4,arg))); "end" => (T.END (left(yypos,arg),right(yypos,3,arg))); "eqtype" => (T.EQTYPE (left(yypos,arg),right(yypos,6,arg))); "exception" => (T.EXCEPTION (left(yypos,arg),right(yypos,9,arg))); "_export" => (T.EXPORT (left(yypos,arg),right(yypos,7,arg))); "_external" => (T.EXTERNAL (left(yypos,arg),right(yypos,9,arg))); "_ffiapply" => (T.FFIAPPLY (left(yypos,arg),right(yypos,9,arg))); "fn" => (T.FN (left(yypos,arg),right(yypos,2,arg))); "fun" => (T.FUN (left(yypos,arg),right(yypos,3,arg))); "functor" => (T.FUNCTOR (left(yypos,arg),right(yypos,7,arg))); "handle" => (T.HANDLE (left(yypos,arg),right(yypos,6,arg))); "if" => (T.IF (left(yypos,arg),right(yypos,2,arg))); "_import" => (T.IMPORT (left(yypos,arg),right(yypos,7,arg))); "in" => (T.IN (left(yypos,arg),right(yypos,2,arg))); "include" => (T.INCLUDE (left(yypos,arg),right(yypos,7,arg))); "infix" => (T.INFIX (left(yypos,arg),right(yypos,5,arg))); "infixr" => (T.INFIXR (left(yypos,arg),right(yypos,6,arg))); "_interface" => (T.INTERFACE (left(yypos,arg),right(yypos,10,arg))); "nonfix" => (T.NONFIX (left(yypos,arg),right(yypos,6,arg))); "let" => (T.LET (left(yypos,arg),right(yypos,3,arg))); "local" => (T.LOCAL (left(yypos,arg),right(yypos,5,arg))); "of" => (T.OF (left(yypos,arg),right(yypos,2,arg))); "op" => (T.OP (left(yypos,arg),right(yypos,2,arg))); "open" => (T.OPEN(left(yypos,arg),right(yypos,4,arg))); "orelse" => (T.ORELSE (left(yypos,arg),right(yypos,6,arg))); "_namespace" => (T.NAMESPACE (left(yypos,arg),right(yypos,10,arg))); "_NULL" => (T.NULL (left(yypos,arg),right(yypos,5,arg))); "_private" => (T.PRIVATE (left(yypos,arg),right(yypos,8,arg))); "raise" => (T.RAISE (left(yypos,arg),right(yypos,5,arg))); "rec" => (T.REC (left(yypos,arg),right(yypos,3,arg))); "_require" => (T.REQUIRE (left(yypos,arg),right(yypos,8,arg))); "sharing" => (T.SHARING (left(yypos,arg),right(yypos,7,arg))); "sig"=> (T.SIG (left(yypos,arg),right(yypos,3,arg))); "signature" => (T.SIGNATURE (left(yypos,arg),right(yypos,9,arg))); "_sizeof" => (T.SIZEOF (left(yypos,arg),right(yypos,7,arg))); "_stdcall" => (T.STDCALL (left(yypos,arg),right(yypos,8,arg))); "struct" => (T.STRUCT (left(yypos,arg),right(yypos,6,arg))); "structure" => (T.STRUCTURE (left(yypos,arg),right(yypos,9,arg))); "then" => (T.THEN (left(yypos,arg),right(yypos,4,arg))); "type" => (T.TYPE (left(yypos,arg),right(yypos,4,arg))); "use" => (if enableMeta then T.USE (left(yypos,arg),right(yypos,3,arg)) else T.ID (yytext,left(yypos,arg),right(yypos,3,arg))); "_use" => (T.USE' (left(yypos,arg),right(yypos,4,arg))); "_useobj" => (T.USEOBJ (left(yypos,arg),right(yypos,7,arg))); "val" => (T.VAL (left(yypos,arg),right(yypos,3,arg))); "where" => (T.WHERE (left(yypos,arg),right(yypos,5,arg))); "while" => (T.WHILE (left(yypos,arg),right(yypos,5,arg))); "with" => (T.WITH (left(yypos,arg),right(yypos,4,arg))); "withtype" => (T.WITHTYPE (left(yypos,arg),right(yypos,8,arg))); "_sqlserver" => (T.SQLSERVER (left(yypos,arg),right(yypos,8,arg))); "_sqleval" => (T.SQLEVAL (left(yypos,arg),right(yypos,8,arg))); "_sqlexec" => (T.SQLEXEC (left(yypos,arg),right(yypos,8,arg))); "_sql" => (T.SQL (left(yypos,arg),right(yypos,4,arg))); "asc" => (T.ASC (left(yypos,arg),right(yypos,3,arg))); "desc" => (T.DESC (left(yypos,arg),right(yypos,4,arg))); "select" => (T.SELECT (left(yypos,arg),right(yypos,6,arg))); "from" => (T.FROM (left(yypos,arg),right(yypos,4,arg))); "order" => (T.ORDER (left(yypos,arg),right(yypos,5,arg))); "by" => (T.BY (left(yypos,arg),right(yypos,2,arg))); "insert" => (T.INSERT (left(yypos,arg),right(yypos,6,arg))); "into" => (T.INTO (left(yypos,arg),right(yypos,4,arg))); "values" => (T.VALUES (left(yypos,arg),right(yypos,6,arg))); "delete" => (T.DELETE (left(yypos,arg),right(yypos,6,arg))); "update" => (T.UPDATE (left(yypos,arg),right(yypos,6,arg))); "set" => (T.SET (left(yypos,arg),right(yypos,3,arg))); "default" => (T.DEFAULT (left(yypos,arg),right(yypos,7,arg))); "begin" => (T.BEGIN (left(yypos,arg),right(yypos,5,arg))); "commit" => (T.COMMIT (left(yypos,arg),right(yypos,6,arg))); "rollback" => (T.ROLLBACK (left(yypos,arg),right(yypos,8,arg))); ":>" => (T.OPAQUE (left(yypos,arg),right(yypos,2,arg))); "*" => (T.ASTERISK(left(yypos,arg),right(yypos,1,arg))); "#" => (T.HASH(left(yypos,arg),right(yypos,1,arg))); "(" => (T.LPAREN(left(yypos,arg),right(yypos,1,arg))); ")" => (T.RPAREN(left(yypos,arg),right(yypos,1,arg))); "," => (T.COMMA(left(yypos,arg),right(yypos,1,arg))); "->" => (T.ARROW (left(yypos,arg),right(yypos,2,arg))); "." => (T.PERIOD (left(yypos,arg),right(yypos,1,arg))); "..." => (T.PERIODS (left(yypos,arg),right(yypos,3,arg))); ":" => (T.COLON(left(yypos,arg),right(yypos,1,arg))); ";" => (T.SEMICOLON(left(yypos,arg),right(yypos,1,arg))); "=" => (T.EQ(left(yypos,arg),right(yypos,1,arg))); "=>" => (T.DARROW (left(yypos,arg),right(yypos,2,arg))); "[" => (T.LBRACKET(left(yypos,arg),right(yypos,1,arg))); "]" => (T.RBRACKET(left(yypos,arg),right(yypos,1,arg))); "_" => (T.UNDERBAR(left(yypos,arg),right(yypos,1,arg))); "{" => (T.LBRACE(left(yypos,arg),right(yypos,1,arg))); "|" => (T.BAR(left(yypos,arg),right(yypos,1,arg))); "}" => (T.RBRACE(left(yypos,arg),right(yypos,1,arg))); {id} => (let val loc = strToLoc(yytext, yypos, arg) val textSize = String.size yytext in if String.isPrefix "''" yytext then T.EQTYVAR(String.substring(yytext, 2, textSize - 2), #1 loc, #2 loc) else if #isPrelude arg andalso String.isPrefix "'_" yytext andalso isSuffix #"'" yytext then T.ID(String.substring(yytext, 1, textSize - 2), #1 loc, #2 loc) else if String.isPrefix "'" yytext then T.TYVAR(String.substring(yytext, 1, textSize - 1), #1 loc, #2 loc) else T.ID(yytext, #1 loc, #2 loc) end); {symbol}+ => (T.ID (yytext, left(yypos, arg), right(yypos, String.size yytext, arg))); {real} => (T.REAL (yytext, left(yypos, arg), right(yypos, String.size yytext, arg))); {num} => (let val (l,r) = strToLoc(yytext, yypos, arg) in if String.isPrefix "0" yytext then T.INT ({radix=StringCvt.DEC, digits=yytext},l,r) else T.INTLAB (yytext,l,r) end); ~{num} => (let val (l,r) = strToLoc(yytext, yypos, arg) in T.INT ({radix=StringCvt.DEC, digits=yytext},l,r) end); "0w"{num} => (let val (l,r) = strToLoc(yytext, yypos, arg) in T.WORD ({radix=StringCvt.DEC, digits=yytext}, l, r) end); (~?)"0x"{hexnum} => (let val (l,r) = strToLoc(yytext, yypos, arg) in T.INT ({radix=StringCvt.HEX, digits=yytext}, l, r) end); "0wx"{hexnum} => (let val (l,r) = strToLoc(yytext, yypos, arg) in T.WORD ({radix=StringCvt.HEX, digits=yytext}, l, r) end); \" => ( stringBuf := nil; stringStart := left(yypos, arg); stringType := STRING; YYBEGIN S; continue() ); \#\" => ( stringBuf := nil; stringStart := left(yypos, arg); stringType := CHAR; YYBEGIN S; continue() ); "(*" => (YYBEGIN A; commentStart := left(yypos, arg) :: !commentStart; continue() (* Unlike "(*", unmatched "*)" should not cause parse error. It should * be regarded as two tokens "*" and ")". *) ); \h => ( lexError ( "non-Ascii character", left(yypos, arg), right(yypos, 1, arg) ); continue() ); . => ( lexError ("illegal token", left(yypos, arg), right(yypos, 1, arg)); continue() ); "(*" => (commentStart := left(yypos, arg) :: !commentStart; continue()); {eol} => (newLine(yypos, yytext, arg); continue ()); "*)" => ( case !commentStart of _::nil => (commentStart := nil; YYBEGIN INITIAL) | _::t => commentStart := t | nil => raise Control.Bug "unmatched close comment"; continue() ); . => (continue()); \" => ( let val s = makeString stringBuf val s = if size s <> 1 andalso !stringType = CHAR then ( lexError ( "character constant not length 1", left(yypos, arg), right(yypos, 1, arg) (* pos of double quote *) ); if 0 = size s then "?" else s ) else s val t = (s, !stringStart, right(yypos, 1, arg)) in YYBEGIN INITIAL; case !stringType before stringType := NOSTR of STRING => T.STRING t | CHAR => T.CHAR t | NOSTR => raise Control.Bug "close string" end ); {eol} => ( lexError ("unclosed string", left(yypos, arg), right(yypos, 1, arg)); stringType := NOSTR; newLine(yypos, yytext, arg); YYBEGIN INITIAL; T.STRING (makeString stringBuf, !stringStart, right(yypos, 1, arg)) ); \\{eol} => (newLine(yypos, yytext, arg); YYBEGIN F; continue()); \\{ws} => (YYBEGIN F; continue()); \\a => (addString(stringBuf, "\007"); continue()); \\b => (addString(stringBuf, "\008"); continue()); \\f => (addString(stringBuf, "\012"); continue()); \\n => (addString(stringBuf, "\010"); continue()); \\r => (addString(stringBuf, "\013"); continue()); \\t => (addString(stringBuf, "\009"); continue()); \\v => (addString(stringBuf, "\011"); continue()); \\\\ => (addString(stringBuf, "\\"); continue()); \\\" => (addString(stringBuf, "\""); continue()); \\\^[@-_] => ( addChar ( stringBuf, Char.chr(Char.ord(String.sub(yytext, 2)) - (Char.ord #"@")) ); continue() ); \\\^. => ( lexError ( "illegal control escape; must be one of \ \@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_", left(yypos, arg), right(yypos, size yytext, arg) ); continue() ); \\[0-9]{3} => (let val x = Char.ord(String.sub(yytext, 1)) * 100 + Char.ord(String.sub(yytext, 2)) * 10 + Char.ord(String.sub(yytext, 3)) - ((Char.ord #"0") * 111) in if x > 255 then ( lexError ( "illegal ascii escape", left(yypos, arg), right(yypos, size yytext, arg) ) ) else addChar(stringBuf, Char.chr x); continue() end); \\u[0-9a-fA-F]{4} => (let fun parseHexInt string = StringCvt.scanString (Int.scan StringCvt.HEX) string val x = valOf(parseHexInt (String.extract (yytext, 2, NONE))) in if Char.maxOrd < x then ( lexError ( "illegal ascii escape", left(yypos, arg), right(yypos, size yytext, arg) ) ) else addChar(stringBuf, Char.chr x); continue() end); \\ => ( lexError ("illegal string escape", left(yypos, arg), right(yypos, 1, arg)); continue() ); [\000-\031] => ( lexError ( "illegal non-printing character in string", left(yypos, arg), right(yypos, 1, arg) ); continue() ); ({idchars}|{sym}|\[|\]|\(|\)|{quote}|[,.;^{}])+|. => (addString(stringBuf, yytext); continue()); {eol} => (newLine(yypos, yytext, arg); continue()); {ws} => (continue()); \\ => (YYBEGIN S; continue()); . => ( lexError ("unclosed string", left(yypos, arg), right(yypos, 1, arg)); stringType := NOSTR; YYBEGIN INITIAL; T.STRING (makeString stringBuf, !stringStart, right(yypos, 1, arg)) ); . => (T.SPECIAL(yytext, left(yypos, arg), right(yypos, 1, arg))); smlsharp-1.2.0/src/compiler/parser2/main/imlLexFun.lex.smi0000644 000000000000000000001057612050661606023623 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../ml-yacc-lib.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../usererror/main/UserError.ppg.smi" _require "../../util/main/BigInt_IntInf.smi" _require "iml.grm.sig" _require "iml.grm.smi" functor MLLexFun ( Tokens: sig type pos = Loc.pos type token type svalue val ROLLBACK: pos * pos -> token val COMMIT: pos * pos -> token val BEGIN: pos * pos -> token val DEFAULT: pos * pos -> token val SET: pos * pos -> token val UPDATE: pos * pos -> token val BY: pos * pos -> token val ORDER: pos * pos -> token val DELETE: pos * pos -> token val VALUES: pos * pos -> token val INTO: pos * pos -> token val INSERT: pos * pos -> token val FROM: pos * pos -> token val SELECT: pos * pos -> token val DESC: pos * pos -> token val ASC: pos * pos -> token val SQL: pos * pos -> token val SQLEXEC: pos * pos -> token val SQLEVAL: pos * pos -> token val SQLSERVER: pos * pos -> token val WORD: ({ radix:StringCvt.radix,digits:string } ) * pos * pos -> token val WITHTYPE: pos * pos -> token val WITH: pos * pos -> token val WHERE: pos * pos -> token val WHILE: pos * pos -> token val VAL: pos * pos -> token val USEOBJ: pos * pos -> token val USE': pos * pos -> token val USE: pos * pos -> token val UNDERBAR: pos * pos -> token val TYVAR: (string) * pos * pos -> token val TYPE: pos * pos -> token val THEN: pos * pos -> token val STRUCTURE: pos * pos -> token val STRUCT: pos * pos -> token val STRING: (string) * pos * pos -> token val STDCALL: pos * pos -> token val SPECIAL: (string) * pos * pos -> token val SIZEOF: pos * pos -> token val SIGNATURE: pos * pos -> token val SIG: pos * pos -> token val SHARING: pos * pos -> token val SEMICOLON: pos * pos -> token val RPAREN: pos * pos -> token val REAL: (string) * pos * pos -> token val RBRACKET: pos * pos -> token val RBRACE: pos * pos -> token val REQUIRE: pos * pos -> token val REC: pos * pos -> token val RAISE: pos * pos -> token val PRIVATE: pos * pos -> token val PERIODS: pos * pos -> token val PERIOD: pos * pos -> token val NULL: pos * pos -> token val NAMESPACE: pos * pos -> token val ORELSE: pos * pos -> token val OPEN: pos * pos -> token val OPAQUE: pos * pos -> token val OP: pos * pos -> token val OF: pos * pos -> token val NONFIX: pos * pos -> token val LPAREN: pos * pos -> token val LOCAL: pos * pos -> token val LET: pos * pos -> token val LBRACKET: pos * pos -> token val LBRACE: pos * pos -> token val INTERFACE: pos * pos -> token val INTLAB: (string) * pos * pos -> token val INT: ({ radix:StringCvt.radix,digits:string } ) * pos * pos -> token val INFIXR: pos * pos -> token val INFIX: pos * pos -> token val INCLUDE: pos * pos -> token val IMPORT: pos * pos -> token val IN: pos * pos -> token val IF: pos * pos -> token val ID: (string) * pos * pos -> token val HASH: pos * pos -> token val HANDLE: pos * pos -> token val FUNCTOR: pos * pos -> token val FUN: pos * pos -> token val FN: pos * pos -> token val FFIAPPLY: pos * pos -> token val EXPORT: pos * pos -> token val EXTERNAL: pos * pos -> token val EXCEPTION: pos * pos -> token val EQTYVAR: (string) * pos * pos -> token val EQTYPE: pos * pos -> token val EQ: pos * pos -> token val END: pos * pos -> token val ELSE: pos * pos -> token val DO: pos * pos -> token val DATATYPE: pos * pos -> token val DARROW: pos * pos -> token val COMMA: pos * pos -> token val COLON: pos * pos -> token val CHAR: (string) * pos * pos -> token val CDECL: pos * pos -> token val CAST: pos * pos -> token val CASE: pos * pos -> token val BUILTIN: pos * pos -> token val BAR: pos * pos -> token val ATTRIBUTE: pos * pos -> token val AT: pos * pos -> token val ASTERISK: pos * pos -> token val AS: pos * pos -> token val ARROW: pos * pos -> token val ANDALSO: pos * pos -> token val AND: pos * pos -> token val ABSNAMESPACE: pos * pos -> token val ABSTYPE: pos * pos -> token val EOF: pos * pos -> token end ) = struct structure UserDeclarations = struct type arg (= boxed) val isINITIAL : arg -> bool val initArg : {sourceName : string, isPrelude : bool, enableMeta : bool, lexErrorFn : (string * Tokens.pos * Tokens.pos) -> unit, initialLineno : int} -> arg end val makeLexer : (int -> string) -> UserDeclarations.arg -> unit -> Tokens.token end smlsharp-1.2.0/src/compiler/parser2/main/interface.grm0000644 000000000000000000006371412050661606023070 0ustar00rootroot0000000 0000000 structure A = Absyn structure I = AbsynInterface %% %decompose (yes) %blocksize (40) (* * grammar for the interface langauge. * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro *) (* 2011-12-12 Ohori Extended the interface language with (1) structure liplication, structure id = longid and (2) a restricted functor application structure id = functorid ( structureid) In doing this, I eliminated the AND construct in strexp. It is confusing and makes grammar and code unnecessarily complicated. (The same situation holds in other declarations.) 2012-1-4 Ohori Extended the interface language with (3) variable alias declaration val id = longid (VALALIAS_EXTERN below) This allows an interface to provide builtin primitives as in structure Array = struct ... val sub = SMLSharp.PrimArray.sub ... end where SMLSharp.PrimArray.sub is defined as the primitive Array_sub. By this addition, we can effectively inline primitives in the user code. *) %name Interface %header ( structure InterfaceLrVals ) %footer () %verbose %pos Loc.pos (* same token set as iml.grm *) %term EOF | ABSTYPE | ABSNAMESPACE | AND | ANDALSO | ARROW | AS | ASTERISK | AT | ATTRIBUTE | BAR | BUILTIN | CASE | CAST | CDECL | CHAR of string | COLON | COMMA | DARROW | DATATYPE | DO | ELSE | END | EQ | EQTYPE | EQTYVAR of string | EXCEPTION | EXTERNAL | EXPORT | FFIAPPLY | FN | FUN | FUNCTOR | HANDLE | HASH | ID of string | IF | IN | IMPORT | INCLUDE | INFIX | INFIXR | INT of {radix:StringCvt.radix, digits:string} | INTLAB of string | INTERFACE | LBRACE | LBRACKET | LET | LOCAL | LPAREN | NONFIX | OF | OP | OPAQUE | OPEN | ORELSE | NAMESPACE | NULL | PERIOD | PERIODS | PRIVATE | RAISE | REC | REQUIRE | RBRACE | RBRACKET | REAL of string | RPAREN | SEMICOLON | SHARING | SIG | SIGNATURE | SIZEOF | SPECIAL of string | STDCALL | STRING of string | STRUCT | STRUCTURE | THEN | TYPE | TYVAR of string | UNDERBAR | USE | USE' | USEOBJ | VAL | WHILE | WHERE | WITH | WITHTYPE | WORD of {radix:StringCvt.radix, digits:string} | SQLSERVER | SQLEVAL | SQLEXEC | SQL | ASC | DESC | SELECT | FROM | INSERT | INTO | VALUES | DELETE | ORDER | BY | UPDATE | SET | DEFAULT | BEGIN | COMMIT | ROLLBACK %nonterm id_noEQSTAR of string | id_noEQ of string | id of string | vid of string | tycon of string | strid of string | funid of string | tyvar of A.tvar | longId of string list | longvid of string list | longtycon of string list | tyvarCommaList of A.tvar list | tyvarseq_noNIL of A.tvar list | tyvarseq of A.tvar list | valbind_1 of I.valbind | valbind of I.valbind list | typbind_1 of I.typbind | typbind of I.typbind list | eqtypbind_1 of I.typbind | eqtypbind of I.typbind list | datbind_t of I.datbind (* | datbind_opq of I.datbind | datbind_tList of I.datbind list *) | datbind_1 of I.datbind | datbinds of I.datbind list | datbind of I.datbind list | conname of string | conbind_1 of I.conbind | conbind of I.conbind list | exbind_1 of I.exbind | exbind of I.exbind list | dec of I.idec | strexp of I.istrexp | strbind of I.strbind | strdec of I.idec | strdecs of I.idec list | sigdec of I.sigbind list | funParam of I.funParam | funbindLeft of string * I.funParam (** (I.constraint * A.sigexp) option*) | funbind of I.funbind | fundec of I.itopdec | precLevel of string option | vidList of string list | infixDec of I.itopdec | topdec of I.itopdec | topdecs of I.itopdec list | sigdec' of A.topdec | sigdecs of A.topdec list | requires of {name: string, loc: I.loc} list | includes of {name: string, loc: I.loc} list | top of I.itop | overloadExp of I.overloadCase | overloadInst of I.overloadInstance | overloadMatch of I.overloadMatch list | lab of string | sigid of string | longstrid of string list (* | constraint of I.constraint *) | sigidlist of string list | valdesc of (string * A.ty) list | typdesc of (A.tvar list * string) list | typdescAlias of (A.tvar list * string * A.ty) list | datdesc_1 of A.tvar list * string * (string * A.ty option) list | datdesc of (A.tvar list * string * (string * A.ty option) list) list | condesc_1 of string * A.ty option | condesc of (string * A.ty option) list | exdesc of (string * A.ty option) list | strdesc of (string * A.sigexp) list | spec_1 of A.spec | spec of A.spec | tyEquation of A.longTyCon list | strEquation of A.longid list | whereSpec of A.tvar list * A.longTyCon * A.ty | sigexpWhere of A.sigexp * (A.tvar list * A.longTyCon * A.ty) list | sigexp of A.sigexp | sigexp_AND of A.sigexp | sigbind of I.sigbind list | tyrow of (string * A.ty) list | atty of A.ty | tyargList of A.ty list | tyCommaList of A.ty list | tyStarList of A.ty list | tuplety of A.ty | ty of A.ty %start top %eop EOF %noshift EOF %nonassoc DARROW %nonassoc BAR (* for error recovery *) %keyword AND AS BUILTIN CASE DATATYPE END EQTYPE EXCEPTION FUNCTOR IN INFIX INFIXR NONFIX OF OP OPAQUE REQUIRE SHARING SIG SIGNATURE STRUCT STRUCTURE TYPE VAL WHERE %value TYVAR ("") %value ID ("") %change -> VAL | -> LPAREN | -> END | -> SEMICOLON %% (******** basic structures ********) id_noEQSTAR : ID (ID) | SELECT ("select") | FROM ("from") | ORDER ("order") | BY ("by") | INSERT ("insert") | INTO ("into") | VALUES ("values") | DELETE ("delete") | ASC ("asc") | DESC ("desc") | UPDATE ("update") | SET ("set") | DEFAULT ("default") | BEGIN ("begin") | COMMIT ("commit") | ROLLBACK ("rollback") id_noEQ : id_noEQSTAR (id_noEQSTAR) | ASTERISK ("*") id : id_noEQ (id_noEQ) | EQ ("=") vid : id (id) tycon : id (id) strid : id (id) funid : id (id) tyvar : TYVAR ({name=TYVAR, eq=A.NONEQ}) | EQTYVAR ({name=EQTYVAR, eq=A.EQ}) longId : id ([id]) | id PERIOD longId (id :: longId) longvid : longId (longId) longtycon : id_noEQSTAR ([id_noEQSTAR]) | id_noEQSTAR PERIOD longId (id_noEQSTAR :: longId) tyvarCommaList : tyvar ([tyvar]) | tyvar COMMA tyvarCommaList (tyvar :: tyvarCommaList) tyvarseq_noNIL : tyvar ([tyvar]) | LPAREN tyvarCommaList RPAREN (tyvarCommaList) tyvarseq : (* none *) (nil) | tyvarseq_noNIL (tyvarseq_noNIL) (* runtimeTy : id (id) *) (******** The Interface Language ********) valbind_1 : vid COLON ty ({vid = vid, body = I.VAL_EXTERN {ty = ty}, loc = (vidleft, tyright)}) | vid AS longId COLON ty (* 2012-1-4 ohori: variable with explicit external name added *) ({vid = vid, body = I.VAL_EXTERN_WITHNAME {ty = ty, externPath=longId}, loc = (vidleft, tyright)}) | vid EQ longId (* 2012-1-4 ohori: variable alias in interface added *) ({vid = vid, body = I.VALALIAS_EXTERN {path = longId}, loc = (vidleft, longIdright)}) | vid EQ BUILTIN VAL vid COLON ty ({vid = vid1, body = I.VAL_BUILTIN {builtinName = vid2, ty = ty}, loc = (vidleft, tyright)}) | vid EQ overloadExp ({vid = vid, body = I.VAL_OVERLOAD overloadExp, loc = (vidleft, overloadExpright)}) valbind : valbind_1 ([valbind_1]) | valbind_1 AND valbind (valbind_1 :: valbind) typbind_1 : tyvarseq tycon LPAREN EQ longId RPAREN (I.OPAQUE_NONEQ {tyvars = tyvarseq, tycon = tycon, runtimeTy = longId, loc = (tyvarseqleft, RPARENright)}) | tyvarseq tycon EQ ty (I.TRANSPARENT {tyvars = tyvarseq, tycon = tycon, ty = ty, loc = (tyvarseqleft, tyright)}) typbind : typbind_1 ([typbind_1]) | typbind_1 AND typbind (typbind_1 :: typbind) eqtypbind_1 : tyvarseq tycon LPAREN EQ longId RPAREN (I.OPAQUE_EQ {tyvars = tyvarseq, tycon = tycon, runtimeTy = longId, loc = (tyvarseqleft, RPARENright)}) eqtypbind : eqtypbind_1 ([eqtypbind_1]) | eqtypbind_1 AND eqtypbind (eqtypbind_1 :: eqtypbind) datbind_t : tycon EQ conbind ({tyvars = nil, tycon = tycon, conbind = conbind}) | tyvarseq_noNIL tycon EQ conbind ({tyvars = tyvarseq_noNIL, tycon = tycon, conbind = conbind}) (* datbind_opq : tycon LPAREN EQ conbind RPAREN ({tyvars = nil, tycon = tycon, conbind = conbind, opacity = I.OPAQUE_NONEQ}) | tycon LPAREN EQ conbind RPAREN AS EQTYPE ({tyvars = nil, tycon = tycon, conbind = conbind, opacity = I.OPAQUE_EQ}) | tyvarseq_noNIL tycon LPAREN EQ conbind RPAREN ({tyvars = tyvarseq_noNIL, tycon = tycon, conbind = conbind, opacity = I.OPAQUE_NONEQ}) | tyvarseq_noNIL tycon LPAREN EQ conbind RPAREN AS EQTYPE ({tyvars = tyvarseq_noNIL, tycon = tycon, conbind = conbind, opacity = I.OPAQUE_EQ}) *) (* datbind_tList : datbind_t ([datbind_t]) | datbind_t AND datbind_tList (datbind_t :: datbind_tList) *) datbind_1 : datbind_t (datbind_t) (* | datbind_opq (datbind_opq) *) datbinds : datbind_1 ([datbind_1]) | datbind_1 AND datbinds (datbind_1 :: datbinds) datbind : datbinds (datbinds) (* | datbinds LPAREN AND datbind_tList RPAREN (datbinds @ map (fn {tyvars, tycon, conbind, opacity} => {tyvars=tyvars, tycon=tycon, conbind=conbind, opacity=I.OPAQUE_NONEQ}) datbind_tList) *) conname : vid (vid) | OP vid (vid) conbind_1 : conname ({vid = conname, ty = NONE}) | conname OF ty ({vid = conname, ty = SOME ty}) conbind : conbind_1 ([conbind_1]) | conbind_1 BAR conbind (conbind_1 :: conbind) exbind_1 : conname (I.EXNDEF {vid = conname, ty = NONE, loc = (connameleft, connameright)}) | conname OF ty (I.EXNDEF {vid = conname, ty = SOME ty, loc = (connameleft, tyright)}) | conname EQ longvid (I.EXNREP {vid = conname, longvid = longvid, loc = (connameleft, longvidright)}) exbind : exbind_1 ([exbind_1]) | exbind_1 AND exbind (exbind_1 :: exbind) dec : VAL valbind (I.IVAL valbind) | TYPE typbind (I.ITYPE typbind) | EQTYPE eqtypbind (I.ITYPE eqtypbind) | DATATYPE datbind (I.IDATATYPE {datbind=datbind, loc=(DATATYPEleft, datbindright)}) | DATATYPE tycon EQ DATATYPE longtycon (I.ITYPEREP {tycon=tycon, origTycon=longtycon, loc=(DATATYPEleft, longtyconright)}) (* | DATATYPE tycon LPAREN EQ DATATYPE longtycon RPAREN (I.ITYPEREP {tycon=tycon, origTycon=longtycon, opacity=I.OPAQUE_NONEQ, loc=(DATATYPEleft, longtyconright)}) | DATATYPE tycon LPAREN EQ DATATYPE longtycon RPAREN AS EQTYPE (I.ITYPEREP {tycon=tycon, origTycon=longtycon, opacity=I.OPAQUE_EQ, loc=(DATATYPEleft, longtyconright)}) *) | EXCEPTION exbind (I.IEXCEPTION exbind) | DATATYPE tycon EQ BUILTIN DATATYPE tycon (I.ITYPEBUILTIN {tycon=tycon1, builtinName=tycon2, loc=(DATATYPEleft, tycon2right)}) (* | DATATYPE tycon LPAREN EQ BUILTIN DATATYPE tycon RPAREN (I.ITYPEBUILTIN {tycon=tycon1, builtinName=tycon2, opacity=I.OPAQUE_NONEQ, loc=(DATATYPEleft, tycon2right)}) | DATATYPE tycon LPAREN EQ BUILTIN DATATYPE tycon RPAREN AS EQTYPE (I.ITYPEBUILTIN {tycon=tycon1, builtinName=tycon2, opacity=I.OPAQUE_EQ, loc=(DATATYPEleft, tycon2right)}) *) strexp : STRUCT strdecs END (I.ISTRUCT {decs=strdecs, loc=(STRUCTleft, ENDright)}) | longId (I.ISTRUCTREP{strPath=longId, loc=(longIdleft, longIdright)}) | funid LPAREN longId RPAREN (I.IFUNCTORAPP{functorName=funid, argumentPath=longId, loc=(longIdleft, RPARENright)}) strbind : strid EQ strexp ({strid = strid,strexp = strexp, loc = (stridleft, strexpright)}) strdec : dec (dec) | STRUCTURE strbind (I.ISTRUCTURE strbind) strdecs : (* none *) (nil) | SEMICOLON strdecs (strdecs) | strdec strdecs (strdec :: strdecs) sigdec : SIGNATURE sigbind (sigbind) funParam : strid COLON sigexp (I.FUNPARAM_FULL {strid=strid, sigexp=sigexp}) | spec (* derived form *) (I.FUNPARAM_SPEC spec) funbindLeft : funid LPAREN funParam RPAREN ((funid, funParam)) funbind : funbindLeft EQ strexp ({funid = #1 funbindLeft, param = #2 funbindLeft, strexp = strexp, loc = (funbindLeftleft, strexpright)}) fundec : FUNCTOR funbind (I.IFUNDEC funbind) precLevel : INT (SOME (#digits INT)) | INTLAB (SOME INTLAB) | (* none *) (NONE) vidList : vid ([vid]) | vid vidList (vid :: vidList) infixDec : INFIX precLevel vidList (I.IINFIX {fixity = I.INFIXL precLevel, vids = vidList, loc = (INFIXleft, vidListright)}) | INFIXR precLevel vidList (I.IINFIX {fixity = I.INFIXR precLevel, vids = vidList, loc = (INFIXRleft, vidListright)}) | NONFIX vidList (I.IINFIX {fixity = I.NONFIX, vids = vidList, loc = (NONFIXleft, vidListright)}) topdec : strdec (I.IDEC strdec) | fundec (fundec) | infixDec (infixDec) topdecs : (* none *) (nil) | topdec topdecs (topdec :: topdecs) | SEMICOLON topdecs (topdecs) sigdec' : sigdec (A.TOPDECSIG (map (fn {sigid,sigexp,loc} => (sigid,sigexp)) sigdec, (sigdecleft, sigdecright))) sigdecs : (* none *) (nil) | sigdec' sigdecs (sigdec' :: sigdecs) | SEMICOLON sigdecs (sigdecs) requires : (* none *) (nil) | REQUIRE STRING requires ({name = STRING, loc = (REQUIREleft, STRINGright)} :: requires) | SEMICOLON requires (requires) includes : INCLUDE STRING ([{name = STRING, loc = (INCLUDEleft, STRINGright)}]) | INCLUDE STRING includes ({name = STRING, loc = (INCLUDEleft, STRINGright)} :: includes) top : requires topdec topdecs (I.INTERFACE {requires = requires, topdecs = topdec::topdecs}) | requires (I.INTERFACE {requires = requires, topdecs = nil}) | includes sigdecs (I.INCLUDES {includes = includes, topdecs = sigdecs}) | sigdec' sigdecs (I.INCLUDES {includes = nil, topdecs = sigdec'::sigdecs}) (******** overload declaration ********) overloadExp : CASE tyvar IN ty OF overloadMatch ({tyvar = tyvar, expTy = ty, matches = overloadMatch, loc = (CASEleft, overloadMatchright)}) overloadInst : overloadExp (I.INST_OVERLOAD overloadExp) | longvid (I.INST_LONGVID {vid = longvid}) | LPAREN overloadInst RPAREN (overloadInst) overloadMatch : ty DARROW overloadInst ([{instTy = ty, instance = overloadInst}]) | ty DARROW overloadInst BAR overloadMatch ({instTy = ty, instance = overloadInst} :: overloadMatch) (******** types and signatures: same as The Definition of Standard ML ********) lab : id (id) | INTLAB (INTLAB) sigid : id (id) longstrid : strid ([strid]) | strid PERIOD longstrid (strid :: longstrid) (* constraint : COLON (I.SIG_TRANSPARENT) | OPAQUE (I.SIG_OPAQUE) *) sigidlist : sigid sigid ([sigid, sigid]) | sigid sigidlist (sigid :: sigidlist) valdesc : vid COLON ty ([(vid, ty)]) | vid COLON ty AND valdesc ((vid, ty) :: valdesc) typdesc : tyvarseq tycon ([(tyvarseq, tycon)]) | tyvarseq tycon AND typdesc ((tyvarseq, tycon) :: typdesc) typdescAlias : tyvarseq tycon EQ ty (* derived form *) ([(tyvarseq, tycon, ty)]) | tyvarseq tycon EQ ty AND typdescAlias (* derived form *) ((tyvarseq, tycon, ty) :: typdescAlias) datdesc_1 : tycon EQ condesc ((nil, tycon, condesc)) | tyvarseq_noNIL tycon EQ condesc ((tyvarseq_noNIL, tycon, condesc)) datdesc : datdesc_1 ([datdesc_1]) | datdesc_1 AND datdesc (datdesc_1 :: datdesc) condesc_1 : vid ((vid, NONE)) | vid OF ty ((vid, SOME ty)) condesc : condesc_1 ([condesc_1]) | condesc_1 BAR condesc (condesc_1 :: condesc) exdesc : condesc_1 ([condesc_1]) | condesc_1 AND exdesc (condesc_1 :: exdesc) strdesc : strid COLON sigexp ([(strid, sigexp)]) | strid COLON sigexp_AND strdesc ((strid, sigexp_AND) :: strdesc) spec_1 : VAL valdesc (A.SPECVAL (valdesc, (VALleft, valdescright))) | TYPE typdesc (A.SPECTYPE (typdesc, (TYPEleft, typdescright))) | TYPE typdescAlias (A.SPECDERIVEDTYPE (typdescAlias, (TYPEleft, typdescAliasright))) | EQTYPE typdesc (A.SPECEQTYPE (typdesc, (EQTYPEleft, typdescright))) | DATATYPE datdesc (A.SPECDATATYPE (datdesc, (DATATYPEleft, datdescright))) | DATATYPE tycon EQ DATATYPE longtycon (A.SPECREPLIC (tycon, longtycon, (DATATYPEleft, longtyconright))) | EXCEPTION exdesc (A.SPECEXCEPTION (exdesc, (EXCEPTIONleft, exdescright))) | STRUCTURE strdesc (A.SPECSTRUCT (strdesc, (STRUCTUREleft, strdescright))) | INCLUDE sigexp (A.SPECINCLUDE (sigexp, (INCLUDEleft, sigexpright))) | INCLUDE sigidlist (* derived form *) (A.SPECDERIVEDINCLUDE (sigidlist, (INCLUDEleft, sigidlistright))) spec : (* none *) (A.SPECEMPTY) | spec spec_1 (A.SPECSEQ (spec, spec_1, (specleft, spec_1right))) | spec SEMICOLON (spec) | spec SHARING TYPE tyEquation (A.SPECSHARE (spec, tyEquation, (specleft, tyEquationright))) | spec SHARING strEquation (* derived form *) (A.SPECSHARESTR (spec, strEquation, (specleft, strEquationright))) tyEquation : longtycon EQ longtycon ([longtycon, longtycon2]) | longtycon EQ tyEquation (longtycon :: tyEquation) strEquation : longstrid EQ longstrid ([longstrid, longstrid2]) | longstrid EQ strEquation (longstrid :: strEquation) whereSpec : TYPE tyvarseq longtycon EQ ty ((tyvarseq, longtycon, ty)) sigexpWhere : sigexp WHERE whereSpec ((sigexp, [whereSpec])) | sigexpWhere AND whereSpec (* derived form *) ((#1 sigexpWhere, whereSpec :: #2 sigexpWhere)) sigexp : SIG spec END (A.SIGEXPBASIC (spec, (SIGleft, ENDright))) | sigid (A.SIGID (sigid, (sigidleft, sigidright))) | sigexpWhere (A.SIGWHERE (#1 sigexpWhere, #2 sigexpWhere, (sigexpWhereleft, sigexpWhereright))) sigexp_AND : SIG spec END AND (A.SIGEXPBASIC (spec, (SIGleft, ENDright))) | sigid AND (A.SIGID (sigid, (sigidleft, sigidright))) | sigexpWhere AND (A.SIGWHERE (#1 sigexpWhere, #2 sigexpWhere, (sigexpWhereleft, sigexpWhereright))) sigbind : sigid EQ sigexp ([{sigid=sigid, sigexp=sigexp, loc=(sigidleft, sigexpright)}]) | sigid EQ sigexp_AND sigbind ({sigid=sigid, sigexp=sigexp_AND, loc=(sigidleft, sigexp_ANDright)} :: sigbind) tyrow : lab COLON ty ([(lab, ty)]) | lab COLON ty COMMA tyrow ((lab, ty) :: tyrow) atty : tyvar (A.TYID (tyvar, (tyvarleft, tyvarright))) | LBRACE RBRACE (A.TYRECORD (nil, (LBRACEleft, RBRACEright))) | LBRACE tyrow RBRACE (A.TYRECORD (tyrow, (LBRACEleft, RBRACEright))) | tyargList longtycon (A.TYCONSTRUCT (tyargList, longtycon, (longtyconleft, longtyconright))) | LPAREN ty RPAREN (ty) (* (A.TYTUPLE (nil, (LPARENleft, RPARENright))) *) tyargList : (* none *) (nil) | atty ([atty]) | LPAREN ty COMMA tyCommaList RPAREN (ty :: tyCommaList) tyCommaList : ty ([ty]) | ty COMMA tyCommaList (ty :: tyCommaList) tyStarList : atty ASTERISK atty ([atty, atty2]) | atty ASTERISK tyStarList (atty :: tyStarList) tuplety : atty (atty) | tyStarList (A.TYTUPLE (tyStarList, (tyStarListleft, tyStarListright))) ty : tuplety (tuplety) | tuplety ARROW ty (A.TYFUN (tuplety, ty, (tupletyleft, tyright))) smlsharp-1.2.0/src/compiler/parser2/main/interface.grm.smi0000644 000000000000000000001653412050661606023655 0ustar00rootroot0000000 0000000 _require "../../../basis/main/StringCvt.smi" _require "../../../basis/main/List.smi" _require "../../../basis/main/String.smi" _require "../../../basis/main/Char.smi" _require "../../../basis/main/Array.smi" _require "../../../basis/main/ListPair.smi" _require "../../../basis/main/Int.smi" _require "../../../basis/main/General.smi" _require "../../../basis/main/binary-op.smi" (* _require "../../../basis.smi" *) _require "../../../ml-yacc-lib.smi" _require "../../control/main/Loc.ppg.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../absyn/main/AbsynInterface.ppg.smi" _require "interface.grm.sig" structure InterfaceLrVals = struct structure ParserData = struct type pos = Loc.pos type svalue (= boxed) type arg = unit type result = AbsynInterface.itop structure LrParser = struct type arg = arg type pos = pos type svalue = svalue structure LrTable = LrTable structure Token = struct type svalue = svalue type pos = pos structure LrTable = LrTable datatype token = TOKEN of LrTable.term * (svalue * pos * pos) val sameToken : token * token -> bool end structure Stream = struct type tok = Token.token type stream (= boxed) val streamify : (unit -> tok) -> stream val cons : tok * stream -> stream val get : stream -> tok * stream end exception ParseError val parse : {table : LrTable.table, lexer : Stream.stream, arg: arg, saction : int * Token.pos * (LrTable.state * (Token.svalue * Token.pos * Token.pos)) list * arg -> LrTable.nonterm * (Token.svalue * Token.pos * Token.pos) * (LrTable.state * (Token.svalue * Token.pos * Token.pos)) list, void : Token.svalue, ec : {is_keyword : LrTable.term -> bool, noShift : LrTable.term -> bool, preferred_change : (LrTable.term list * LrTable.term list) list, errtermvalue : LrTable.term -> Token.svalue, showTerminal : LrTable.term -> string, terms: LrTable.term list, error : string * Token.pos * Token.pos -> unit}, lookahead : int} -> Token.svalue * Stream.stream end structure Token = LrParser.Token structure LrTable = LrParser.LrTable structure Actions = struct val actions : int * pos * (LrTable.state * (svalue * pos * pos)) list * arg -> LrTable.nonterm * (svalue * pos * pos) * (LrTable.state *(svalue * pos * pos)) list val void : svalue val extract : svalue -> result end structure EC = struct val is_keyword : LrTable.term -> bool val noShift : LrTable.term -> bool val preferred_change : (LrTable.term list * LrTable.term list) list val errtermvalue : LrTable.term -> svalue val showTerminal : LrTable.term -> string val terms: LrTable.term list end val table : LrTable.table end structure Tokens = struct type pos = ParserData.pos type svalue = ParserData.svalue type token = ParserData.Token.token val ROLLBACK : pos * pos -> token val COMMIT : pos * pos -> token val BEGIN : pos * pos -> token val DEFAULT : pos * pos -> token val SET : pos * pos -> token val UPDATE : pos * pos -> token val BY : pos * pos -> token val ORDER : pos * pos -> token val DELETE : pos * pos -> token val VALUES : pos * pos -> token val INTO : pos * pos -> token val INSERT : pos * pos -> token val FROM : pos * pos -> token val SELECT : pos * pos -> token val DESC : pos * pos -> token val ASC : pos * pos -> token val SQL : pos * pos -> token val SQLEXEC : pos * pos -> token val SQLEVAL : pos * pos -> token val SQLSERVER : pos * pos -> token val WORD : {radix:StringCvt.radix, digits:string} * pos * pos -> token val WITHTYPE : pos * pos -> token val WITH : pos * pos -> token val WHERE : pos * pos -> token val WHILE : pos * pos -> token val VAL : pos * pos -> token val USEOBJ : pos * pos -> token val USE' : pos * pos -> token val USE : pos * pos -> token val UNDERBAR : pos * pos -> token val TYVAR : (string) * pos * pos -> token val TYPE : pos * pos -> token val THEN : pos * pos -> token val STRUCTURE : pos * pos -> token val STRUCT : pos * pos -> token val STRING : (string) * pos * pos -> token val STDCALL : pos * pos -> token val SPECIAL : (string) * pos * pos -> token val SIZEOF : pos * pos -> token val SIGNATURE : pos * pos -> token val SIG : pos * pos -> token val SHARING : pos * pos -> token val SEMICOLON : pos * pos -> token val RPAREN : pos * pos -> token val REAL : (string) * pos * pos -> token val RBRACKET : pos * pos -> token val RBRACE : pos * pos -> token val REQUIRE : pos * pos -> token val REC : pos * pos -> token val RAISE : pos * pos -> token val PRIVATE : pos * pos -> token val PERIODS : pos * pos -> token val PERIOD : pos * pos -> token val NULL : pos * pos -> token val NAMESPACE : pos * pos -> token val ORELSE : pos * pos -> token val OPEN : pos * pos -> token val OPAQUE : pos * pos -> token val OP : pos * pos -> token val OF : pos * pos -> token val NONFIX : pos * pos -> token val LPAREN : pos * pos -> token val LOCAL : pos * pos -> token val LET : pos * pos -> token val LBRACKET : pos * pos -> token val LBRACE : pos * pos -> token val INTERFACE : pos * pos -> token val INT : {radix:StringCvt.radix, digits:string} * pos * pos -> token val INTLAB : string * pos * pos -> token val INFIXR : pos * pos -> token val INFIX : pos * pos -> token val INCLUDE : pos * pos -> token val IMPORT : pos * pos -> token val IN : pos * pos -> token val IF : pos * pos -> token val ID : (string) * pos * pos -> token val HASH : pos * pos -> token val HANDLE : pos * pos -> token val FUNCTOR : pos * pos -> token val FUN : pos * pos -> token val FN : pos * pos -> token val FFIAPPLY : pos * pos -> token val EXPORT : pos * pos -> token val EXTERNAL : pos * pos -> token val EXCEPTION : pos * pos -> token val EQTYVAR : (string) * pos * pos -> token val EQTYPE : pos * pos -> token val EQ : pos * pos -> token val END : pos * pos -> token val ELSE : pos * pos -> token val DO : pos * pos -> token val DATATYPE : pos * pos -> token val DARROW : pos * pos -> token val COMMA : pos * pos -> token val COLON : pos * pos -> token val CHAR : (string) * pos * pos -> token val CDECL : pos * pos -> token val CAST : pos * pos -> token val CASE : pos * pos -> token val BUILTIN : pos * pos -> token val BAR : pos * pos -> token val ATTRIBUTE : pos * pos -> token val AT : pos * pos -> token val ASTERISK : pos * pos -> token val AS : pos * pos -> token val ARROW : pos * pos -> token val ANDALSO : pos * pos -> token val AND : pos * pos -> token val ABSNAMESPACE : pos * pos -> token val ABSTYPE : pos * pos -> token val EOF : pos * pos -> token end end smlsharp-1.2.0/src/compiler/parser2/main/InterfaceParser.smi0000644 000000000000000000000103412050661606024173 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../ml-yacc-lib.smi" _require "../../usererror/main/UserError.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../absyn/main/AbsynInterface.ppg.smi" _require "interface.grm.smi" _require "imlLexFun.lex.smi" _require "ParserError.ppg.smi" structure InterfaceParser = struct type source = {read : int -> string, sourceName : string} type input (= boxed) val setup : source -> input val parse : input -> AbsynInterface.itop end smlsharp-1.2.0/src/compiler/parser2/main/InterfaceParser.sml0000644 000000000000000000000535212050661606024205 0ustar00rootroot0000000 0000000 (** * parser for interface file. * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro *) structure InterfaceParser :> sig type source = { (** read upto "int" bytes. *) read : int -> string, (** name of this source *) sourceName : string } type input val setup : source -> input val parse : input -> AbsynInterface.itop end = struct structure Lex = MLLexFun(InterfaceLrVals.Tokens) structure ParserData = InterfaceLrVals.ParserData structure LrParser = ParserData.LrParser val makeLexer = fn s => fn arg => LrParser.Stream.streamify (Lex.makeLexer s arg) val LrParse = fn (lookahead,lexer,error,arg) => (fn (a,b) => (InterfaceLrVals.ParserData.Actions.extract a,b)) (LrParser.parse {table = ParserData.table, lexer=lexer, lookahead=lookahead, saction = ParserData.Actions.actions, arg=arg, void= ParserData.Actions.void, ec = {is_keyword = ParserData.EC.is_keyword, noShift = ParserData.EC.noShift, preferred_change = ParserData.EC.preferred_change, errtermvalue = ParserData.EC.errtermvalue, error=error, showTerminal = ParserData.EC.showTerminal, terms = ParserData.EC.terms}} ) type token = LrParser.Token.token type source = {read : int -> string, sourceName : string} type input = { lex : LrParser.Stream.stream ref, errors : UserError.errorQueue, errorFn : string * Loc.pos * Loc.pos -> unit } fun parseError errors (msg, lpos, rpos) = UserError.enqueueError errors ((lpos, rpos), ParserError.ParseError msg) fun setup ({read, sourceName}:source) = let val errors = UserError.createQueue () val errorFn = parseError errors val lexarg = Lex.UserDeclarations.initArg {sourceName = sourceName, isPrelude = false, enableMeta = false, lexErrorFn = errorFn, initialLineno = 1} val lex = makeLexer read lexarg in {lex = ref lex, errors = errors, errorFn = errorFn} : input end fun parse ({lex, errors, errorFn}:input) = let (* prevent reading this source after parse error occurred. *) val _ = if UserError.isEmptyErrorQueue errors then () else raise Control.Bug "parse: aborted stream" val (result, newLex) = LrParse (15, !lex, errorFn, ()) handle LrParser.ParseError => raise UserError.UserErrors (UserError.getErrors errors) val _ = lex := newLex in if UserError.isEmptyErrorQueue errors then () else raise UserError.UserErrors (UserError.getErrors errors); result end end smlsharp-1.2.0/src/compiler/parser2/main/Parser.smi0000644 000000000000000000000126612050661606022361 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../ml-yacc-lib.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../usererror/main/UserError.ppg.smi" _require "ParserError.ppg.smi" _require "iml.grm.smi" _require "imlLexFun.lex.smi" structure Parser = struct datatype mode = Prelude | Interactive | Batch | File type source = {mode : mode, read : bool * int -> string, sourceName : string, initialLineno : int} type input (= boxed) val setup : source -> input val parse : input -> Absyn.unitparseresult val isEOF : input -> bool end smlsharp-1.2.0/src/compiler/parser2/main/Parser.sml0000644 000000000000000000001425412050661606022365 0ustar00rootroot0000000 0000000 (** * ML parser. * * @author Atsushi ohori * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro *) structure Parser :> sig datatype mode = Prelude (* for prelude source code *) | Interactive (* for interactive mode *) | Batch (* for batch evaluation mode *) | File (* for separate compilation *) type source = { (** parser mode. * If mode is File, the parser reads the entire input at once * and returns single Absyn.UNIT. *) mode : mode, (** read upto "int" bytes. "bool" indicates whether this call is * involved to obtain the first character of a program or not. *) read : bool * int -> string, (** name of this source *) sourceName : string, (** initial line count of this source *) initialLineno : int } type input val setup : source -> input val parse : input -> Absyn.unitparseresult val isEOF : input -> bool end = struct structure MLLex = MLLexFun(MLLrVals.Tokens) structure ParserData = MLLrVals.ParserData structure LrParser = ParserData.LrParser val makeLexer = fn s => fn arg => LrParser.Stream.streamify (MLLex.makeLexer s arg) val LrParse = fn (lookahead,lexer,error,arg) => (fn (a,b) => (MLLrVals.ParserData.Actions.extract a,b)) (LrParser.parse {table = ParserData.table, lexer=lexer, lookahead=lookahead, saction = ParserData.Actions.actions, arg=arg, void= ParserData.Actions.void, ec = {is_keyword = ParserData.EC.is_keyword, noShift = ParserData.EC.noShift, preferred_change = ParserData.EC.preferred_change, errtermvalue = ParserData.EC.errtermvalue, error=error, showTerminal = ParserData.EC.showTerminal, terms = ParserData.EC.terms}} ) type token = LrParser.Token.token val EOF = MLLrVals.Tokens.EOF (Loc.nopos, Loc.nopos) : token val SEMICOLON = MLLrVals.Tokens.SEMICOLON (Loc.nopos, Loc.nopos) : token datatype mode = Prelude | Interactive | Batch | File type source = { mode : mode, read : bool * int -> string, sourceName : string, initialLineno : int } type input = { mode : mode, lookahead : int, atOnce : bool, lex : LrParser.Stream.stream ref, first : bool ref, errors : UserError.errorQueue, errorFn : string * Loc.pos * Loc.pos -> unit } fun parseError errors (msg, lpos, rpos) = UserError.enqueueError errors ((lpos, rpos), ParserError.ParseError msg) fun setup ({mode, read, sourceName, initialLineno}:source) = let val errors = UserError.createQueue () val errorFn = parseError errors val first = ref false val lexarg = MLLex.UserDeclarations.initArg {sourceName = sourceName, isPrelude = (mode = Prelude), enableMeta = (mode <> File), lexErrorFn = errorFn, initialLineno = initialLineno} fun input n = read (!first andalso MLLex.UserDeclarations.isINITIAL lexarg, n) fun inputInteractive n = if UserError.isEmptyErrorQueue errors then input n else raise UserError.UserErrors (UserError.getErrors errors) val inputFn = if mode = Interactive then inputInteractive else input val lex = makeLexer inputFn lexarg in { mode = mode, lookahead = if mode = Interactive then 0 else 15, atOnce = (mode = File), lex = ref lex, first = first, errors = errors, errorFn = errorFn } : input end fun parseWhole errorFn parseStep lex = case parseStep lex of (Absyn.EOF, lex) => (Absyn.EOF, lex) | (u1 as Absyn.UNIT unit1, lex) => case parseWhole errorFn parseStep lex of (Absyn.EOF, lex) => (u1, lex) | (Absyn.UNIT {interface, tops, loc}, lex) => let val interface = case (unit1, interface) of ({interface,...}, Absyn.NOINTERFACE) => interface | ({tops=nil,interface=Absyn.NOINTERFACE,...}, i) => i | (_, Absyn.INTERFACE {loc=(l,r),...}) => (errorFn ("_interface must be at the beginning of a file", l,r); Absyn.NOINTERFACE) in (Absyn.UNIT {interface = interface, tops = #tops unit1 @ tops, loc = (#1 (#loc unit1), #2 loc)}, lex) end fun parse ({mode, lookahead, atOnce, lex, first, errors, errorFn}:input) = let (* prevent reading this source after parse error occurred. *) val _ = if UserError.isEmptyErrorQueue errors then () else raise Control.Bug "parse: aborted stream" fun parseStep lex = let val _ = first := true val (tok, lex2) = LrParser.Stream.get lex val _ = first := false in if ParserData.Token.sameToken (tok, EOF) then (Absyn.EOF, lex) else if ParserData.Token.sameToken (tok, SEMICOLON) then parseStep lex2 else LrParse (lookahead, lex, errorFn, ()) end val lexer = !lex val (result, newLex) = (if atOnce then parseWhole errorFn parseStep lexer else parseStep lexer) handle LrParser.ParseError => raise UserError.UserErrors (UserError.getErrors errors) val _ = lex := newLex in if UserError.isEmptyErrorQueue errors then () else raise UserError.UserErrors (UserError.getErrors errors); result end fun isEOF ({mode, lookahead, atOnce, lex, first, errors, errorFn}:input) = let (* prevent reading this source after parse error occurred. *) val _ = if UserError.isEmptyErrorQueue errors then () else raise Control.Bug "parse: aborted stream" val _ = first := true val (tok, _) = LrParser.Stream.get (!lex) val _ = first := false in ParserData.Token.sameToken (tok, EOF) end end smlsharp-1.2.0/src/compiler/parser2/main/ParserError.ppg0000644 000000000000000000000026712050661606023371 0ustar00rootroot0000000 0000000 (* -*- sml -*- *) (** * parse error message. * @author UENO Katsuhiro *) structure ParserError = struct (*% *) exception (*% @format(msg) msg *) ParseError of string end smlsharp-1.2.0/src/compiler/parser2/main/ParserError.ppg.smi0000644 000000000000000000000021112050661606024145 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" structure ParserError = struct exception ParseError of string end smlsharp-1.2.0/src/compiler/patterncalc0000755 000000000000000000000000012050661606020325 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/patterncalc/main0000755 000000000000000000000000012050661606021251 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/patterncalc/main/PatternCalc.ppg0000755 000000000000000000005443512050661606024256 0ustar00rootroot0000000 0000000 (** * The Untyped Pattern Calculus * * @author Atsushi Ohori * @author Liu Bochao * @author YAMATODANI Kiyoshi * @version $Id: PatternCalc.ppg,v 1.26.6.8 2010/02/10 05:17:29 hiro-en Exp $ *) structure PatternCalc = struct local type loc = Loc.loc type constant = Absyn.constant type ty = Absyn.ty type longid = Absyn.longid type tvar = Absyn.tvar type kindedTvar = Absyn.kindedTvar type ffiAttributes = Absyn.ffiAttributes in (* * formatting lists: * nil one many * formatEnclosedList () (1) (1, 2, 3, ..., n) * formatAppList () 1 (1, 2, 3, ..., n) * formatSeqList 1 (1, 2, 3, ..., n) * formatOptionalList (1) (1, 2, 3, ..., n) * formatDeclList ,1 ,1,2,3,...,n * (basic formatter) 1 1,2,3,...,n *) (* * == Guideline for writing formatters for terms * * guard precedence for types: * L9 { x ^ y } annotation for types * L8 { x y } type application * N5 {!N6 { x * y }} tuple type * R4 { x -> y } function type * * guard precedence for expressions: * L9 { e } special terms (if needed) * L8 { x y } function application * L2 { x : y } type annotation * R1 { x => y } abstraction, let, switch, handle, raise, binding * "(" !N0 { x ")" } cut * * - Precedence 0 is reserved for cut. * - Don't use guards immoderately; they easily corrupt the result. * Basic storategies for putting guards are as follows: * - Start a guard only at immediately after a left parenthesize. * - End a guard only at immediately after (or before) a right parenthesize. * - If a term may be surrounded by parenthesizes depending on * associatibitity, put a guard with association surrounding the * whole of the formatter for the term. * - Putting guards at any other place is just for fine-tuning. * - Recommended space (and break) indicators are only +1 and +d. * Any other space indicators are just for fine-tuning. * * == Templates * * Type annotation: * L2{ FORMAT +1 ":" +d FORMAT } * Application: * L8{ 2[ FORMAT +1 FORMAT ] } * Parenthesizes: * "(" !N0{ FORMAT ")" } * Type Application: * L8{ 2[ FORMAT instTys:optionalList(instTy)(+1 "{",",","}") ] } *) (*% *) datatype caseKind = (*% * @format "case (bind)" *) BIND | (*% * @format "case (match)" *) MATCH | (*% * @format "case (handle)" *) HANDLE (*% * @formatter(ty) Absyn.format_ty * @formatter(longid) Absyn.format_longid * @formatter(option) SmlppgUtil.formatPrependedOpt *) datatype plexbind = (*% * @format(string * ty option * loc) * string option(ty)(+ "of" +) *) PLEXBINDDEF of string * ty option * loc | (*% * @format(string1 * string2 * loc) * string1 + "=" + string2 *) PLEXBINDREP of string * longid * loc (*% * @formatter(ty) Absyn.format_ty * @formatter(tyConArgTys) SmlppgUtil.formatTyConArgumentTypes * @formatter(Absyn.tvar) Absyn.format_tvar *) datatype ffiTy = (*% * @format(attr * dom doms * ret rets * loc) * R1{ "(" doms(dom)("," + ) ")" +d "->" * 2[ +1 "(" rets(ret)("," + ) ")" ] } *) FFIFUNTY of Absyn.ffiAttributes option * ffiTy list * ffiTy list * loc | (*% * @format(tvar * loc) tvar *) FFITYVAR of Absyn.tvar * loc | (*% * @format(field fields * loc) * !N0{ "{" 2[ 1 fields(field)("," +1) ] 1 "}" } * @format:field(label * ty) {label} +d ":" +d {ty} *) FFIRECORDTY of (string * ffiTy) list * loc | (*% * @format(arg args:tyConArgTys * tyCon tyCons * loc) * !N0{args(arg)("," +, "(", ")" +) tyCons(tyCon)(".") } *) FFICONTY of ffiTy list * string list * loc (*% * @formatter(kindedTvar) Absyn.format_kindedTvar * @formatter(seqList) TermFormat.formatSeqList * @formatter(ifCons) TermFormat.formatIfCons *) type scopedTvars = (*% @format(ev evs) evs:seqList(ev)("(", ",", ")") evs:ifCons()(+) *) kindedTvar list (* SMLFormat.BasicFormatters.format_list nil => "" [e] => e [e1,...,en] => e1,...,en SmlppgUtil.formatListEnclosure nil => "" [e] => [e] [e1,...,en] => [e1,...,en] SmlppgUtil.formatListEnclosureOne nil => "" [e] => e [e1,...,en] => [e1,...,en] SmlppgUtil.formatListEnclosureIfNotOne nil => [] [e] => e [e1,...,en] => [e1,...,en] *) (*% * @formatter(constant) Absyn.format_constant * @formatter(ty) Absyn.format_ty * @formatter(longid) Absyn.format_longid * @formatter(tvar) Absyn.format_tvar * @formatter(option) SmlppgUtil.formatPrependedOpt * @formatter(bool) SmlppgUtil.formatBinaryChoice * @formatter(ifCons) TermFormat.formatIfCons * @formatter(enclosedList) TermFormat.formatEnclosedList * @formatter(appList) TermFormat.formatAppList * @formatter(seqList) TermFormat.formatSeqList *) datatype plexp = (*% * @format(const * loc) const *) PLCONSTANT of constant * loc | (*% * @format(name * gk * loc) {name} *) PLGLOBALSYMBOL of string * Absyn.globalSymbolKind * loc | (*% * @format(longid * loc) {longid} *) PLVAR of longid * loc | (*% * @format(plexp * ty * loc) * L2{ plexp + ":" ty } *) PLTYPED of plexp * ty * loc | (*% * @format(plexp1 * plexp2 list * loc) * L8{ * 2[ plexp1 +1 * list:appList(plexp2)("{"+1, ",", +1"}") * ] * } *) PLAPPM of plexp * plexp list * loc | (*% * @format(pldec pldecs * plexp plexps * loc) * !N0{ * "let" 2[+1 pldecs(pldec)(+1) ] * +1 "in" 2[ +1 plexps(plexp)(";"+1 ) ] * +1 "end" * } *) PLLET of pdecl list * plexp list * loc | (*% * @format(field fields * loc) * fields:enclosedList(field)("{", ",", "}") *) PLRECORD of expfield list * loc | (*% * @format(plexp * field fields * loc) * N0{ * plexp + * "#" + 2[ fields:enclosedList(field)("{", "," +1, "}") ] * } *) PLRECORD_UPDATE of plexp * expfield list * loc (* | (*% * @format(value values * loc) * {"[" 2[ 1 values(value)("," +1) ] 1 "]"} *) PLLIST of plexp list * loc *) | (*% * @format(exp * loc) * N0{ "raise" +d exp } *) PLRAISE of plexp * loc | (*% @format(exp * rule rules * loc) 1[ exp +1 1[ "handle" +d rules(rule)(~1[ +1 "|"] +) ] ] @format:rule(pat * exp) 1[ pat + "=>" +1 exp] *) PLHANDLE of plexp * (plpat * plexp) list * loc | (*% @format(rule rules * loc) 1[ "fn" + rules(rule)(~1[ +1 "|"] +) ] @format:rule(pat pats:appList * exp) 1[ pats(pat)("{", ",", "}") + "=>" +1 exp ] *) PLFNM of (plpat list * plexp) list * loc | (*% @format(exp exps * rule rules * caseKind * loc) 1[ caseKind +d exps:appList(exp)(",","{","}") ] 2[ +1 "of"+ rules(rule)(~1[ +1 "|" ]+) ] *) PLCASEM of plexp list * rule list * caseKind * loc (* primitive; caseKind added *) | (*% * @format(selector * loc) {"#"{selector}} *) PLRECORD_SELECTOR of string * loc | (*% * @format(selector * exp * loc) * L10{"#"{selector} + {exp}} *) PLSELECT of string * plexp * loc (* this must be kept as a primitive *) | (*% * @format(exp exps * loc) * !N0{ "(" 2[ 1 exps(exp)(";" +1) ] 1 ")" } *) PLSEQ of plexp list * loc | (*% * @format(exp * loc) "_cast" "(" exp ")" *) PLCAST of plexp * loc | (*% * @format(exp * ty * loc) * N0{ exp * + ":" +1 "_import" +2 {ty} } *) PLFFIIMPORT of plexp * ffiTy * loc | (*% * @format(exp * ty * loc) * N0{ exp * + ":" +1 "_export" +2 {ty} } *) PLFFIEXPORT of plexp * ffiTy * loc | (*% * @format(cconv * exp * arg args * ty * loc) * N0{ "_ffiapply" + exp * + "(" args(arg)("," +) ")" * + ":" + ty} *) PLFFIAPPLY of ffiAttributes option * plexp * ffiArg list * ffiTy * loc | (*% * @format(str * ty * loc) * N0{ "_sqlserver" + str + ":" + ty } *) PLSQLSERVER of string * ty * loc | (*% * @format(pat * exp * loc) * "_sqldbi" + pat * + "in" + exp *) PLSQLDBI of plpat * plexp * loc and ffiArg = (*% * @format(exp * ty * loc) exp + ":" + ty *) PLFFIARG of plexp * ffiTy * loc | (*% * @format(ty * exp opt * loc) * "_sizeof(" ty ")" {opt(exp)(+d "*" +)} *) PLFFIARGSIZEOF of ty * plexp option * loc and pdecl = (*% @format(scope * bind binds * loc) 1[ "val" + scope binds(bind)(~1[ +1 "and"] +) ] @format:bind(pat * exp) 1[ pat +d "=" +1 exp ] *) PDVAL of scopedTvars * (plpat * plexp ) list * loc | (*% @format(scope * dec binds * loc) 1[ "fun" + scope binds(dec)(~1[ +1 "and"] +) ] @format:dec(fid * rules) fid + rules @format:rules(rule rules) rules(rule)( +1 "|" +) @format:rule(pat pats:appList * exp) pats(pat)("{", ",", "}") +d "=" +1 exp *) PDDECFUN of scopedTvars * (plpat * (plpat list * plexp) list) list*loc | (*% @format(scope * bind binds * loc) 1[ "val" + scope "rec" +d binds(bind)(~1[ +1 "and"] +) ] @format:bind(pat * exp) 1[ pat +d "=" +1 exp ] *) PDVALREC of scopedTvars * (plpat * plexp ) list * loc | (*% @format(bind binds * loc) 1[ "type" + binds(bind)(~1[ +1 "and"] +) ] *) PDTYPE of typbind list * loc | (*% * @format(datbind datbinds * loc) * "datatype" + datbinds(datbind)(+1 "and" +) *) PDDATATYPE of datbind list * loc | (*% * @format(tyCon * longid * loc) * "datatype" + tyCon + "=" + "datatype" + longid *) PDREPLICATEDAT of string * longid * loc (* replication *) | (*% @format(bind binds * decl decls * loc) 1[ "abstype" + binds(bind)(~1[ +1 "and" ] +) ] +1 1[ "with" +1 decls(decl)(+) ] +1 "end" *) PDABSTYPE of datbind list * pdecl list * loc | (*% @format(plexbind list * loc) 1[ "exception" + list(plexbind)(~1[ +1 "and" ]+) ] *) PDEXD of plexbind list * loc | (*% * @format(localdec list1 * dec list2 * loc) * "local" * 2[ +2 list1(localdec)(+d) ] +1 * "in" * 2[ +2 list2(dec)(+3) ] +2 * "end" *) PDLOCALDEC of pdecl list * pdecl list * loc | (*% * @format(longid list * loc) * "open" + list(longid)(5[+1]) *) PDOPEN of longid list * loc | (*% * @format(int * name list * loc) * "infix" +d {int} +d list(name)(+d) *) PDINFIXDEC of int * string list * loc | (*% * @format(int * name list * loc) * "infixr" +d {int} +d list(name)(+d) *) PDINFIXRDEC of int * string list * loc | (*% * @format(name list * loc) "nonfix" +d list(name)(+d) *) PDNONFIXDEC of string list * loc | (*% * @format "" *) PDEMPTY and plpat = (*% * @format(loc) "_" *) PLPATWILD of loc | (*% * @format(longid * loc) longid *) PLPATID of longid * loc | (*% * @format(const * loc) const *) PLPATCONSTANT of constant * loc | (*% * @format(pat1 * pat2 * loc) * R1{d * pat1 + * "(" + pat2 ")" * } *) PLPATCONSTRUCT of plpat * plpat * loc | (*% * @format(b * patfield patfields * loc) patfields:enclosedList(patfield)("{", ","+1, "}") *) PLPATRECORD of bool * patfield list * loc | (*% * @format(id * ty opt * pat2 * loc) * {id} +d "as" +d {pat2} *) PLPATLAYERED of string * ty option * plpat * loc | (*% * @format(pat * ty * loc) * {pat} + ":" +d {ty} *) PLPATTYPED of plpat * ty * loc and plstrdec = (*% * @format(dec * loc) dec *) PLCOREDEC of pdecl * loc | (*% @format(strbind list * loc) 1[ "structure" +d list(strbind)(~1[ +1 "and"] +) ] @format:strbind(strid * strexp) strid + "=" +1 strexp *) PLSTRUCTBIND of (string * plstrexp) list * loc | (*% * @format(localstrdec list1 * strdec list2 * loc) * "local" * 2[ +1 list1(localstrdec)(+1) ] +1 * "in" 2[ +1 list2(strdec)(+1) ] +1 * "end" *) PLSTRUCTLOCAL of plstrdec list * plstrdec list * loc and plstrexp = (*% * @format(strdec list * loc) * "struct" 2[ +1 list(strdec)(+1)] +1 * "end" *) PLSTREXPBASIC of plstrdec list * loc (*basic*) | (*% * @format(longid * loc) longid *) PLSTRID of longid * loc (*structure identifier*) | (*% * @format(strexp * sigexp * loc) * strexp + * ":" + sigexp *) PLSTRTRANCONSTRAINT of plstrexp * plsigexp * loc (*transparent constraint*) | (*% * @format(strexp * sigexp * loc) * strexp + * ":>" + sigexp *) PLSTROPAQCONSTRAINT of plstrexp * plsigexp * loc (*opaque constraint*) | (*% * @format(functorid * longid * loc) * {functorid} {+d "(" longid ")"} *) PLFUNCTORAPP of string * longid * loc (* functor application*) | (*% * @format(strdec list * strexp * loc) * !N0{ * {"let" 2[ +1 list(strdec)(+1) ]} +1 * {"in" 2[ +2 strexp ] +2 "end"} * } *) PLSTRUCTLET of plstrdec list * plstrexp * loc (*local declaration*) and plsigexp = (*% @format(spec * loc) "sig" 1[+1 spec] "end" *) PLSIGEXPBASIC of plspec * loc (*basic*) | (*% * @format(sigid * loc) {sigid} *) PLSIGID of string * loc (*signature identifier*) | (*% @format(sigexp * rlstn list1 * loc) sigexp +1 "where" + "type" + list1(rlstn)(+1 "where" + "type") @format:rlstn(tyvarseq * longid * ty) 1[ tyvarseq longid + "=" +1 ty ] @format:tyvarseq(tyvar list2) list2:seqList(tyvar)("(", ",", ")") list2:ifCons()(+) *) PLSIGWHERE of plsigexp * (tvar list * longid * ty) list * loc (* type realisation *) and plspec = (*% @format(scope * vid * ty * loc) 1[ "val" + scope vid + ":" +1 ty ] *) PLSPECVAL of scopedTvars * string * ty * loc (* value *) | (*% @format({tydecls:typdesc list1, iseq, loc}) 1[ iseq()("eqtype","type") + list1(typdesc)(~1[ +1 "and"] +) ] @format:typdesc(tyvar list2 * tyCon) list2:seqList(tyvar)("(", ",", ")") list2:ifCons()(+) tyCon *) PLSPECTYPE of {tydecls:(tvar list * string) list, iseq:bool, loc:loc} | (*% @format(derivedtyp * loc) derivedtyp @format:derivedtyp(tyvar tyvars * tyCon * ty) "type" + tyvars:seqList(tyvar)("(", ",", ")") tyvars:ifCons()(+) tyCon + "=" +1 ty *) PLSPECTYPEEQUATION of (tvar list * string * ty) * loc | (*% @format(datdesc list1 * loc) 1[ "datatype" + list1(datdesc)(~1[ +1 "and"] +) ] @format:datdesc(tyvar list2 * tyCon * condesc condescs) list2:seqList(tyvar) ("(", ",", ")") list2:ifCons()(+) 1[ tyCon + "=" +1 condescs(condesc)(~1[ +1 "|" ] +) ] @format:condesc(vid * ty option) vid option(ty)(+d "of" +) *) PLSPECDATATYPE of (tvar list * string * (string * ty option) list ) list * loc (* datatype*) | (*% @format(tyCon * longid * loc) "datatype" + tyCon + "=" + "datatype" + longid *) PLSPECREPLIC of string * longid * loc (* replication *) | (*% @format(exdesc list * loc) 1[ "exception" + list(exdesc)(~1[ +1 "and" ]+) ] @format:exdesc(vid * ty option) vid option(ty)(+d "of" +) *) PLSPECEXCEPTION of (string * ty option) list * loc (* exception *) | (*% @format(strdesc list * loc) 1[ "structure" + list(strdesc)(~1[ +1 "and" ] +) ] @format:strdesc(strid * sigexp) 1[ strid ":" +1 sigexp ] *) PLSPECSTRUCT of (string * plsigexp) list * loc (* structure *) | (*% @format(sigexp * loc) "include" + sigexp *) PLSPECINCLUDE of plsigexp * loc (* include *) | (*% @format(spec1 * spec2 * loc) spec1 +1 spec2 *) PLSPECSEQ of plspec * plspec * loc | (*% @format(spec * longid longids * loc) 1[ spec +1 "sharing type" + longids(longid)(1[+1 "="] +) ] *) PLSPECSHARE of plspec * longid list * loc | (*% @format(spec * longid list * loc) 1[ spec + "sharing" + list(longid)(1[ +1 "="] +) ] *) PLSPECSHARESTR of plspec * longid list * loc | (*% * @format *) PLSPECEMPTY and pltopdec = (*% * @format (strdec * loc) strdec *) PLTOPDECSTR of plstrdec * loc (* structure-level declaration *) | (*% @format(sigdec list * loc) 1[ "signature" + list(sigdec)(~1[ +1 "and"] +) ] @format:sigdec(sigid * sigexp) 1[ sigid +d "=" +1 sigexp] *) PLTOPDECSIG of (string * plsigexp ) list * loc | (*% @format(funbind list * loc) 1[ "functor" + list(funbind)(~1[ +1 "and"] +) ] @format:funbind({name:funid, argStrName:strid, argSig:sigexp1, body:strexp, loc:loc} ) 1[ funid +1 "(" 1[ strid + ":" + sigexp1 ] 1")" + "=" +1 strexp ] *) PLTOPDECFUN of {name:string, argStrName:string, argSig:plsigexp, body:plstrexp, loc:loc} list * loc withtype expfield = (*% * @format(label*exp) label "=" exp *) string * plexp and patfield = (*% * @format(label*pat) label "=" pat *) string * plpat and rule = (*% * @format(pat pats:appList * exp) * pats(pat)("{", ",", "}") + "=>" +1 * exp *) plpat list * plexp and fundecl = (*% * @format(fid * rule rules) * 2[ fid +d rules(rule)(+1"| " fid +) ] * @format:rule(pat pats:appList * exp) * pats(pat)("{", ",", "}") + "=>" +1 * exp *) plpat * (plpat list * plexp) list and typbind = (*% @format(tvar tvars * name * ty) tvars:seqList(tvar)("(", ",", ")") tvars:ifCons()(+) name +d "=" +1 ty *) tvar list * string * ty and conbind = (*% * @format({vid: conname, ty: ty opt}) * conname opt(ty)(+d "of" +d) *) {vid: string, ty: ty option} and datbind = (*% * @format({tyvars: tyvar tyvars, tycon: tyCon, conbind: valcon valcons}) * 2[ tyvars:seqList(tyvar)("(", "," +, ")" +) tyvars:ifCons()(+) tyCon +1 "=" + valcons(valcon)(+1"|" +) * ] * @format:valcon({vid: conname, ty: ty opt}) * conname opt(ty)(+d "of" +d) *) {tyvars: tvar list, tycon: string, conbind: {vid: string, ty: ty option} list} fun getLeftPosExp plexp = case plexp of PLCONSTANT x => #1 (#2 x) | PLGLOBALSYMBOL x => #1 (#3 x) | PLVAR x => #1 (#2 x) | PLTYPED x => #1 (#3 x) | PLAPPM x => #1 (#3 x) | PLLET x => #1 (#3 x) | PLRECORD x => #1 (#2 x) | PLRECORD_UPDATE x => #1 (#3 x) (* | PLLIST x => #1 (#2 x) *) | PLRAISE x => #1 (#2 x) | PLHANDLE x => #1 (#3 x) | PLFNM x => #1 (#2 x) | PLCASEM x => #1 (#4 x) | PLRECORD_SELECTOR x => #1 (#2 x) | PLSELECT x => #1 (#3 x) | PLSEQ x => #1 (#2 x) | PLCAST x => #1 (#2 x) | PLFFIIMPORT x => #1 (#3 x) | PLFFIEXPORT x => #1 (#3 x) | PLFFIAPPLY x => #1 (#5 x) | PLSQLSERVER (_,_,loc) => #1 loc | PLSQLDBI (_,_,loc) => #1 loc fun getRightPosExp plexp = case plexp of PLCONSTANT x => #2 (#2 x) | PLGLOBALSYMBOL x => #2 (#3 x) | PLVAR x => #2 (#2 x) | PLTYPED x => #2 (#3 x) | PLAPPM x => #2 (#3 x) | PLLET x => #2 (#3 x) | PLRECORD x => #2 (#2 x) | PLRECORD_UPDATE x => #2 (#3 x) (* | PLLIST x => #2 (#2 x) *) | PLRAISE x => #2 (#2 x) | PLHANDLE x => #2 (#3 x) | PLFNM x => #2 (#2 x) | PLCASEM x => #2 (#4 x) | PLRECORD_SELECTOR x => #2 (#2 x) | PLSELECT x => #2 (#3 x) | PLSEQ x => #2 (#2 x) | PLCAST x => #2 (#2 x) | PLFFIIMPORT x => #2 (#3 x) | PLFFIEXPORT x => #2 (#3 x) | PLFFIAPPLY x => #2 (#5 x) | PLSQLSERVER (_,_,loc) => #2 loc | PLSQLDBI (_,_,loc) => #2 loc fun getLocExp exp = (getLeftPosExp exp, getRightPosExp exp) fun getLeftPosPat pat = case pat of PLPATWILD x => #1 x | PLPATID x => #1 (#2 x) | PLPATCONSTANT x => #1 (#2 x) | PLPATCONSTRUCT x => #1 (#3 x) | PLPATRECORD x => #1 (#3 x) | PLPATLAYERED x => #1 (#4 x) | PLPATTYPED x => #1 (#3 x) fun getRightPosPat pat = case pat of PLPATWILD x => #2 x | PLPATID x => #2 (#2 x) | PLPATCONSTANT x => #2 (#2 x) | PLPATCONSTRUCT x => #2 (#3 x) | PLPATRECORD x => #2 (#3 x) | PLPATLAYERED x => #2 (#4 x) | PLPATTYPED x => #2 (#3 x) fun getLocPat pat = (getLeftPosPat pat, getRightPosPat pat) fun getLocDec dec = case dec of PDVAL (_, _, loc) => loc | PDDECFUN (_, _, loc) => loc | PDVALREC (_, _, loc) => loc | PDTYPE (_, loc) => loc | PDABSTYPE (_, _, loc) => loc | PDDATATYPE (_, loc) => loc | PDREPLICATEDAT (_, _, loc) => loc | PDEXD (_, loc) => loc | PDLOCALDEC (_, _, loc) => loc | PDOPEN (_, loc) => loc | PDINFIXDEC (_, _, loc) => loc | PDINFIXRDEC (_, _, loc) => loc | PDNONFIXDEC (_, loc) => loc | PDEMPTY => Loc.noloc fun getLocTopDec topdec = case topdec of PLTOPDECSTR (plstrdec, loc) => loc | PLTOPDECSIG (sigdecList, loc) => loc | PLTOPDECFUN (fundeclList, loc) => loc end end smlsharp-1.2.0/src/compiler/patterncalc/main/PatternCalc.ppg.smi0000644 000000000000000000001627612050661606025043 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../control/main/Loc.ppg.smi" _require "../../util/main/SmlppgUtil.ppg.smi" _require "../../util/main/TermFormat.smi" _require "../../absyn/main/Absyn.ppg.smi" structure PatternCalc = struct datatype caseKind = BIND | HANDLE | MATCH val format_caseKind : caseKind -> SMLFormat.FormatExpression.expression list datatype plexbind = PLEXBINDDEF of string * Absyn.ty option * Loc.loc | PLEXBINDREP of string * Absyn.longid * Loc.loc val format_plexbind : plexbind -> SMLFormat.BasicFormatters.expression list datatype ffiTy = FFICONTY of ffiTy list * string list * Loc.loc | FFIFUNTY of Absyn.ffiAttributes option * ffiTy list * ffiTy list * Loc.loc | FFIRECORDTY of (string * ffiTy) list * Loc.loc | FFITYVAR of Absyn.tvar * Loc.loc val format_ffiTy : ffiTy -> SMLFormat.BasicFormatters.expression list type scopedTvars = Absyn.kindedTvar list val format_scopedTvars : Absyn.kindedTvar list -> SMLFormat.FormatExpression.expression list type datbind = {conbind:{ty:Absyn.ty option, vid:string} list, tycon:string, tyvars:Absyn.tvar list} type typbind = Absyn.tvar list * string * Absyn.ty datatype plexp = PLAPPM of plexp * plexp list * Loc.loc | PLCASEM of plexp list * (plpat list * plexp) list * caseKind * Loc.loc | PLCAST of plexp * Loc.loc | PLCONSTANT of Absyn.constant * Loc.loc | PLFFIAPPLY of Absyn.ffiAttributes option * plexp * ffiArg list * ffiTy * Loc.loc | PLFFIEXPORT of plexp * ffiTy * Loc.loc | PLFFIIMPORT of plexp * ffiTy * Loc.loc | PLFNM of (plpat list * plexp) list * Loc.loc | PLGLOBALSYMBOL of string * Absyn.globalSymbolKind * Loc.loc | PLHANDLE of plexp * (plpat * plexp) list * Loc.loc | PLLET of pdecl list * plexp list * Loc.loc | PLRAISE of plexp * Loc.loc | PLRECORD of (string * plexp) list * Loc.loc | PLRECORD_SELECTOR of string * Loc.loc | PLRECORD_UPDATE of plexp * (string * plexp) list * Loc.loc | PLSELECT of string * plexp * Loc.loc | PLSEQ of plexp list * Loc.loc | PLSQLDBI of plpat * plexp * Loc.loc | PLSQLSERVER of string * Absyn.ty * Loc.loc | PLTYPED of plexp * Absyn.ty * Loc.loc | PLVAR of Absyn.longid * Loc.loc and ffiArg = PLFFIARG of plexp * ffiTy * Loc.loc | PLFFIARGSIZEOF of Absyn.ty * plexp option * Loc.loc and pdecl = PDABSTYPE of datbind list * pdecl list * Loc.loc | PDDATATYPE of datbind list * Loc.loc | PDDECFUN of scopedTvars * (plpat * (plpat list * plexp) list) list * Loc.loc | PDEMPTY | PDEXD of plexbind list * Loc.loc | PDINFIXDEC of int * string list * Loc.loc | PDINFIXRDEC of int * string list * Loc.loc | PDLOCALDEC of pdecl list * pdecl list * Loc.loc | PDNONFIXDEC of string list * Loc.loc | PDOPEN of Absyn.longid list * Loc.loc | PDREPLICATEDAT of string * Absyn.longid * Loc.loc | PDTYPE of typbind list * Loc.loc | PDVAL of scopedTvars * (plpat * plexp) list * Loc.loc | PDVALREC of scopedTvars * (plpat * plexp) list * Loc.loc and plpat = PLPATCONSTANT of Absyn.constant * Loc.loc | PLPATCONSTRUCT of plpat * plpat * Loc.loc | PLPATID of Absyn.longid * Loc.loc | PLPATLAYERED of string * Absyn.ty option * plpat * Loc.loc | PLPATRECORD of bool * (string * plpat) list * Loc.loc | PLPATTYPED of plpat * Absyn.ty * Loc.loc | PLPATWILD of Loc.loc and plstrdec = PLCOREDEC of pdecl * Loc.loc | PLSTRUCTBIND of (string * plstrexp) list * Loc.loc | PLSTRUCTLOCAL of plstrdec list * plstrdec list * Loc.loc and plstrexp = PLFUNCTORAPP of string * Absyn.longid * Loc.loc | PLSTREXPBASIC of plstrdec list * Loc.loc | PLSTRID of Absyn.longid * Loc.loc | PLSTROPAQCONSTRAINT of plstrexp * plsigexp * Loc.loc | PLSTRTRANCONSTRAINT of plstrexp * plsigexp * Loc.loc | PLSTRUCTLET of plstrdec list * plstrexp * Loc.loc and plsigexp = PLSIGEXPBASIC of plspec * Loc.loc | PLSIGID of string * Loc.loc | PLSIGWHERE of plsigexp * (Absyn.tvar list * Absyn.longid * Absyn.ty) list * Loc.loc and plspec = PLSPECDATATYPE of (Absyn.tvar list * string * (string * Absyn.ty option) list) list * Loc.loc | PLSPECEMPTY | PLSPECEXCEPTION of (string * Absyn.ty option) list * Loc.loc | PLSPECINCLUDE of plsigexp * Loc.loc | PLSPECREPLIC of string * Absyn.longid * Loc.loc | PLSPECSEQ of plspec * plspec * Loc.loc | PLSPECSHARE of plspec * Absyn.longid list * Loc.loc | PLSPECSHARESTR of plspec * Absyn.longid list * Loc.loc | PLSPECSTRUCT of (string * plsigexp) list * Loc.loc | PLSPECTYPE of {iseq:bool, loc:Loc.loc, tydecls:(Absyn.tvar list * string) list} | PLSPECTYPEEQUATION of (Absyn.tvar list * string * Absyn.ty) * Loc.loc | PLSPECVAL of scopedTvars * string * Absyn.ty * Loc.loc and pltopdec = PLTOPDECFUN of {argSig:plsigexp, argStrName:string, body:plstrexp, loc:Loc.loc, name:string} list * Loc.loc | PLTOPDECSIG of (string * plsigexp) list * Loc.loc | PLTOPDECSTR of plstrdec * Loc.loc type fundecl = plpat * (plpat list * plexp) list type conbind = {ty:Absyn.ty option, vid:string} val format_plexp : plexp -> SMLFormat.FormatExpression.expression list val format_ffiArg : ffiArg -> SMLFormat.BasicFormatters.expression list val format_pdecl : pdecl -> SMLFormat.BasicFormatters.expression list val format_plpat : plpat -> SMLFormat.FormatExpression.expression list val format_plstrdec : plstrdec -> SMLFormat.BasicFormatters.expression list val format_plstrexp : plstrexp -> SMLFormat.FormatExpression.expression list val format_plsigexp : plsigexp -> SMLFormat.FormatExpression.expression list val format_plspec : plspec -> SMLFormat.FormatExpression.expression list val format_pltopdec : pltopdec -> SMLFormat.BasicFormatters.expression list val format_expfield : string * plexp -> TermFormat.format val format_patfield : string * plpat -> TermFormat.format val format_rule : plpat list * plexp -> SMLFormat.BasicFormatters.expression list val format_fundecl : plpat * (plpat list * plexp) list -> SMLFormat.FormatExpression.expression list val format_typbind : typbind -> SMLFormat.BasicFormatters.expression list val format_conbind : {ty:Absyn.ty option, vid:string} -> SMLFormat.BasicFormatters.expression list val format_datbind : datbind -> SMLFormat.BasicFormatters.expression list val getLeftPosExp : plexp -> Loc.pos val getRightPosExp : plexp -> Loc.pos val getLocExp : plexp -> Loc.pos * Loc.pos val getLeftPosPat : plpat -> Loc.pos val getRightPosPat : plpat -> Loc.pos val getLocPat : plpat -> Loc.pos * Loc.pos val getLocDec : pdecl -> Loc.loc val getLocTopDec : pltopdec -> Loc.loc end smlsharp-1.2.0/src/compiler/patterncalc/main/PatternCalcInterface.ppg0000644 000000000000000000002201712050661606026063 0ustar00rootroot0000000 0000000 (** * Elaborated interface * * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro *) structure PatternCalcInterface = struct (*% @formatter(Loc.loc) Loc.format_loc *) type loc = Loc.loc (*% @formatter(Absyn.ty) Absyn.format_ty *) type ty = Absyn.ty (*% @formatter(Absyn.longid) Absyn.format_longid *) type longid = Absyn.longid (*% @formatter(Absyn.tvar) Absyn.format_tvar *) type tvar = Absyn.tvar (*% @formatter(PatternCalc.scopedTvars) PatternCalc.format_scopedTvars *) type scopedTvars = PatternCalc.scopedTvars (*% * @formatter(AbsynInterface.overloadCase) AbsynInterface.format_overloadCase *) type overloadCase = AbsynInterface.overloadCase (*% * @formatter(AbsynInterface.overloadMatch) * AbsynInterface.format_overloadMatch *) type overloadMatch = AbsynInterface.overloadMatch (*% * @formatter(AbsynInterface.overloadInstance) * AbsynInterface.format_overloadInstance *) datatype overloadInstance = datatype AbsynInterface.overloadInstance (*% * @formatter(AbsynInterface.valbindBody) AbsynInterface.format_valbindBody *) datatype valbindBody = datatype AbsynInterface.valbindBody (*% * @formatter(AbsynInterface.datbind) AbsynInterface.format_datbind *) type datbind = AbsynInterface.datbind (*% * @formatter(BuiltinTypeNames.bty) BuiltinTypeNames.format_bty *) datatype runtimeTy = (*% @format(ty) ty *) BUILTINty of BuiltinTypeNames.bty | (*% @format(path) path *) LIFTEDty of longid (*% * @formatter(option) TermFormat.formatOptionalOption * @formatter(declist) TermFormat.formatDeclList * @formatter(PatternCalc.plsigexp) PatternCalc.format_plsigexp * @formatter(BuiltinTypeNames.bty) BuiltinTypeNames.format_bty * @formatter(seq) TermFormat.formatSeqList * @formatter(ifCons) TermFormat.formatIfCons * @formatter(bool) SmlppgUtil.formatBinaryChoice *) datatype pidec = (*% @format({scopedTvars, vid, body, loc}) "val" + scopedTvars body()(vid) *) PIVAL of { scopedTvars: scopedTvars, vid: string, body: valbindBody, loc: loc } | (*% @format({tyvars: tv tvs, tycon, ty, loc}) "type" +d tvs:seq(tv)("(",",",")") tvs:ifCons()(+) tycon +d "=" 2[ +1 ty ] *) (* * type 'a foo = ty *) PITYPE of { tyvars: tvar list, tycon: string, ty: ty, loc: loc } | (*% @format({tyvars: tv tvs, tycon, runtimeTy, loc}) "type" +d tvs:seq(tv)("(",",",")") tvs:ifCons()(+) tycon +d "(=" +d runtimeTy +d ")" *) (* * type 'a foo ( = runtimeTy ) *) PIOPAQUE_TYPE of { tyvars: tvar list, tycon: string, runtimeTy: runtimeTy, loc: loc } | (*% @format({tyvars: tv tvs, tycon, runtimeTy, loc}) "eqtype" +d tvs:seq(tv)("(",",",")") tvs:ifCons()(+) tycon +d "(=" +d runtimeTy +d ")" *) (* * eqtype 'a foo ( = runtimeTy ) *) PIOPAQUE_EQTYPE of { tyvars: tvar list, tycon: string, runtimeTy: runtimeTy, loc: loc } | (*% * @format({tycon, builtinName, loc}) * "datatype" +d tycon +d "=" * 2[ +1 "_builtin" +d "datatype" +d builtinName ] *) (* * syntax * datatype foo = _builtin datatype int *) PITYPEBUILTIN of { tycon: string, builtinName: string, loc: loc } | (*% * @format({datbind: bind binds, loc}) * "datatype" +d binds(bind)(+1 "and" +d) *) PIDATATYPE of {datbind: datbind list, loc: loc} | (*% * @format({tycon, origTycon: id ids, loc}) * "datatype" +d tycon +d "=" * 2[ +1 "datatype" +d ids(id)(".") ] *) (* * syntax * datatype foo = datatype bar *) PITYPEREP of {tycon: string, origTycon: string list, loc: loc} | (*% @format({vid, ty: ty tyopt, externPath:path opt, loc}) "exception" +d vid opt(path)(+,+) 2[ tyopt(ty)("of" +1,) ] *) PIEXCEPTION of {vid: string, ty: ty option, externPath:longid option, loc: loc} | (*% * @format({vid, origId: id ids, loc}) * "exception" +d vid +d 2[ "=" ids(id)(".") ] *) PIEXCEPTIONREP of {vid: string, origId: string list, loc: loc} | (*% * @format({strid, strexp, loc}) * "structure" +d strid +d "=" 2[ +1 strexp ] *) PISTRUCTURE of {strid: string, strexp: pistrexp, loc: loc} and pistrexp = (*% * @format({decs: dec decs, loc}) "struct" 1[ decs:declist(dec)(+1,+1) ] 1 "end" *) PISTRUCT of {decs: pidec list, loc: loc} | (*% @format({strPath, loc}) strPath *) PISTRUCTREP of {strPath:longid, loc: loc} | (*% @format({functorName, argumentPath, loc}) functorName "(" argumentPath ")" *) PIFUNCTORAPP of {functorName:string, argumentPath:longid, loc:loc} (*% * @formatter(PatternCalc.plsigexp) PatternCalc.format_plsigexp *) type sigbind = (*% * @format({sigid, sigexp, loc}) * sigid +d "=" 2[ +1 sigexp ] *) {sigid: string, sigexp: PatternCalc.plsigexp, loc:loc} (*% * @formatter(PatternCalc.plsigexp) PatternCalc.format_plsigexp *) type funbind = (*% * @format({funid, param, strexp, loc}) * funid "(" param ")" +d "=" 2[ +1 strexp ] * @format:param({strid, sigexp}) strid +1 ":" +d sigexp *) {funid: string, param: {strid: string, sigexp: PatternCalc.plsigexp}, strexp: pistrexp, loc:loc} (*% *) datatype pitopdec = (*% @format(x) x *) PIDEC of pidec | (*% * @format(funbind) * "functor" +d funbind *) PIFUNDEC of funbind (*% @formatter(InterfaceID.id) InterfaceID.format_id *) type interfaceId = (*% @format(id) "i" id *) InterfaceID.id (*% @formatter(AbsynInterface.interfaceName) AbsynInterface.format_interfaceName *) type interfaceName = (*% @format(x) x *) AbsynInterface.interfaceName (*% * @formatter(InterfaceID.id) InterfaceID.format_id * @formatter(optlist) TermFormat.formatOptionalList * @formatter(declist) TermFormat.formatDeclList *) type interfaceDec = (*% * @format({interfaceId, interfaceName, requires: req reqs, topdecs: dec decs}) * "_interface" interfaceId +d interfaceName +d "=" * 2[ +1 "local" 2[ reqs:optlist(req)(+1 "_require" +1,,) ] * +1 "in" 2[ decs:declist(dec)(+1,+1) ] * +1 "end" ] * @format:req({id,loc}) id *) { interfaceId: interfaceId, interfaceName: interfaceName, requires: {id: interfaceId, loc: loc} list, topdecs: pitopdec list } (*% * @formatter(declist) TermFormat.formatDeclList * @formatter(optlist) TermFormat.formatOptionalList *) type interface = (*% * @format({decls: i is, requires: r rs, interfaceName: name nameopt, topdecs: dec decs}) * nameopt(name) * 2[ +1 "local" 2[ is:declist(i)(+1,+1) ] * +1 "in" * 2[ rs:optlist(r)(+1 "_require" +d, +1,) * decs:declist(dec)(+1,+1) ] * +1 "end" ] * +1 "end" * @format:r({id, loc}) id *) { decls : interfaceDec list, interfaceName: interfaceName option, requires : {id: interfaceId, loc: loc} list, topdecs : pitopdec list } (*% * @formatter(declist) TermFormat.formatDeclList * @formatter(optlist) TermFormat.formatOptionalList * @formatter(option) TermFormat.formatOptionalOption * @formatter(PatternCalc.pltopdec) PatternCalc.format_pltopdec * @formatter(InterfaceID.id) InterfaceID.format_id *) type compileUnit = (*% * @format({interface, topdecs: dec decs}) "{" 1[ 1["interface:" +1 interface] +1 1["topdecs:" decs:declist(dec)(+1,+1)] ] 1 "}" *) { interface : interface, topdecs : PatternCalc.pltopdec list } fun pitopdecLoc pitopdec = case pitopdec of PIDEC pidec => pidecLoc pidec | PIFUNDEC {loc,...} => loc and pidecLoc pidec = case pidec of PIVAL {loc,...} => loc | PITYPE {loc,...} => loc | PIOPAQUE_TYPE {loc,...} => loc | PIOPAQUE_EQTYPE {loc,...} => loc | PITYPEBUILTIN {loc,...} => loc | PIDATATYPE {loc,...} => loc | PITYPEREP {loc,...} => loc | PIEXCEPTION {loc,...} => loc | PIEXCEPTIONREP {loc,...} => loc | PISTRUCTURE {loc,...} => loc end smlsharp-1.2.0/src/compiler/patterncalc/main/PatternCalcInterface.ppg.smi0000644 000000000000000000001221612050661606026652 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../control/main/Loc.ppg.smi" _require "../../util/main/TermFormat.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../absyn/main/AbsynInterface.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../builtin2/main/BuiltinTypeNames.ppg.smi" _require "PatternCalc.ppg.smi" structure PatternCalcInterface = struct type loc = Loc.loc val format_loc : Loc.pos * Loc.pos -> SMLFormat.FormatExpression.expression list type ty = Absyn.ty val format_ty : ty -> SMLFormat.FormatExpression.expression list type longid = Absyn.longid val format_longid : longid -> SMLFormat.FormatExpression.expression list type tvar = Absyn.tvar val format_tvar : tvar -> SMLFormat.FormatExpression.expression list type scopedTvars = PatternCalc.scopedTvars val format_scopedTvars : Absyn.kindedTvar list -> SMLFormat.FormatExpression.expression list type overloadCase = AbsynInterface.overloadCase val format_overloadCase : overloadCase -> SMLFormat.FormatExpression.expression list type overloadMatch = AbsynInterface.overloadMatch datatype overloadInstance = datatype AbsynInterface.overloadInstance val format_overloadMatch : {instTy:ty, instance:overloadInstance} -> SMLFormat.FormatExpression.expression list val format_overloadInstance : overloadInstance -> SMLFormat.BasicFormatters.expression list datatype valbindBody = datatype AbsynInterface.valbindBody val format_valbindBody : SMLFormat.FormatExpression.expression list -> valbindBody -> SMLFormat.FormatExpression.expression list type datbind = AbsynInterface.datbind val format_datbind : {conbind:{ty:ty option, vid:string} list, tycon:string, tyvars:tvar list} -> SMLFormat.FormatExpression.expression list datatype runtimeTy = BUILTINty of BuiltinTypeNames.bty | LIFTEDty of longid datatype pidec = PIDATATYPE of {datbind:datbind list, loc:loc} | PIEXCEPTION of {loc:loc, ty:ty option, externPath:string list option, vid:string} | PIEXCEPTIONREP of {loc:loc, origId:string list, vid:string} | PISTRUCTURE of {loc:loc, strexp:pistrexp, strid:string} | PITYPE of {loc:loc, ty:ty, tycon:string, tyvars:tvar list} | PIOPAQUE_TYPE of {tyvars: tvar list, tycon: string, runtimeTy:runtimeTy , loc: loc} | PIOPAQUE_EQTYPE of {tyvars: tvar list, tycon: string, runtimeTy:runtimeTy, loc: loc} | PITYPEBUILTIN of {builtinName:string, loc:loc, tycon:string} | PITYPEREP of {loc:loc, origTycon:string list, tycon:string} | PIVAL of {body:valbindBody, loc:loc, scopedTvars:scopedTvars, vid:string} and pistrexp = PISTRUCT of {decs:pidec list, loc:loc} | PISTRUCTREP of {strPath:longid, loc: loc} | PIFUNCTORAPP of {functorName:string, argumentPath:longid, loc:loc} val format_pidec : pidec -> SMLFormat.FormatExpression.expression list val format_pistrexp : pistrexp -> SMLFormat.FormatExpression.expression list type sigbind = {loc:loc, sigexp:PatternCalc.plsigexp, sigid:string} val format_sigbind : {loc:'a, sigexp:PatternCalc.plsigexp, sigid:string} -> SMLFormat.BasicFormatters.expression list type funbind = {funid:string, loc:loc, param:{sigexp:PatternCalc.plsigexp, strid:string}, strexp:pistrexp} val format_funbind : {funid:string, loc:'a, param:{sigexp:PatternCalc.plsigexp, strid:string}, strexp:pistrexp} -> SMLFormat.BasicFormatters.expression list datatype pitopdec = PIDEC of pidec | PIFUNDEC of funbind val format_pitopdec : pitopdec -> SMLFormat.FormatExpression.expression list type interfaceId = InterfaceID.id val format_interfaceId : InterfaceID.id -> SMLFormat.FormatExpression.expression list type interfaceName = AbsynInterface.interfaceName val format_interfaceName : AbsynInterface.interfaceName -> SMLFormat.FormatExpression.expression list type interfaceDec = {interfaceId:interfaceId, interfaceName: interfaceName, requires:{id:interfaceId, loc:loc} list, topdecs:pitopdec list} val format_interfaceDec : interfaceDec -> SMLFormat.FormatExpression.expression list type interface = {decls:interfaceDec list, interfaceName: interfaceName option, requires:{id:interfaceId, loc:loc} list, topdecs:pitopdec list} val format_interface : interface -> SMLFormat.FormatExpression.expression list type compileUnit = {interface:interface, topdecs:PatternCalc.pltopdec list} val format_compileUnit : compileUnit -> SMLFormat.FormatExpression.expression list val pitopdecLoc : pitopdec -> loc val pidecLoc : pidec -> loc end smlsharp-1.2.0/src/compiler/recordcalc0000755 000000000000000000000000012050661606020126 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/recordcalc/main0000755 000000000000000000000000012050661606021052 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/recordcalc/main/RCAlphaRename.smi0000644 000000000000000000000120712050661606024245 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../builtin2/main/BuiltinPrimitive.ppg.smi" _require "../../types/main/Types.ppg.smi" _require "../../typeinference2/main/Printers.smi" _require "../../typedcalc/main/TypedCalc.ppg.smi" _require "../../types/main/TyAlphaRename.smi" _require "RecordCalc.ppg.smi" structure RCAlphaRename = struct val copyExp : RecordCalc.rcexp -> VarID.id VarID.Map.map * RecordCalc.rcexp end smlsharp-1.2.0/src/compiler/recordcalc/main/RCAlphaRename.sml0000644 000000000000000000004616512050661606024264 0ustar00rootroot0000000 0000000 structure RCAlphaRename = struct local structure RC = RecordCalc structure TC = TypedCalc structure T = Types structure P = Printers fun bug s = Control.Bug ("RCAlphaRename: " ^ s) val print = fn s => if !Control.printInfo then print s else () fun printRcexp rcexp = print (Control.prettyPrint (RC.format_rcexp nil rcexp)) exception DuplicateVar exception DuplicateBtv type ty = T.ty type varInfo = T.varInfo type path = T.path type btvKind = {tvarKind : T.tvarKind, eqKind : T.eqKind} type btvEnv = btvKind BoundTypeVarID.Map.map type rcexp = RC.rcexp type btvMap = BoundTypeVarID.id BoundTypeVarID.Map.map val emptyBtvMap = BoundTypeVarID.Map.empty type varMap = VarID.id VarID.Map.map val emptyVarMap = VarID.Map.empty type context = {varMap:varMap, btvMap:btvMap} val emptyContext = {varMap=emptyVarMap, btvMap=emptyBtvMap} fun copyTy (context:context) (ty:ty) = TyAlphaRename.copyTy (#btvMap context) ty handle exn => (P.print "TyAlphaRename exception"; P.printTy ty; P.print "\n"; raise exn ) fun newBtvEnv ({varMap, btvMap}:context) (btvEnv:btvEnv) = let val (btvMap, btvEnv) = TyAlphaRename.newBtvEnv btvMap btvEnv in ({btvMap=btvMap, varMap=varMap}, btvEnv) end fun copyExVarInfo context {path:path, ty:ty} = {path=path, ty=copyTy context ty} fun copyPrimInfo context {primitive : BuiltinPrimitive.primitive, ty : ty} = {primitive=primitive, ty=copyTy context ty} fun copyOprimInfo context {ty : ty, path : path, id: OPrimID.id} = {ty=copyTy context ty, path=path,id=id} fun copyConInfo context {path: path, ty: ty, id: ConID.id} = {path=path, ty=copyTy context ty, id=id} fun copyExnInfo context {path: path, ty: ty, id: ExnID.id} = {path=path, ty=copyTy context ty, id=id} fun copyExExnInfo context {path: path, ty: ty} = {path=path, ty=copyTy context ty} fun copyExnCon context exnCon = case exnCon of TC.EXEXN exExnInfo => TC.EXEXN (copyExExnInfo context exExnInfo) | TC.EXN exnInfo => TC.EXN (copyExnInfo context exnInfo) fun copyForeignFunTy context { argTyList : ty list, resultTy : ty, attributes : Absyn.ffiAttributes } = { argTyList = map (copyTy context) argTyList, resultTy = copyTy context resultTy, attributes = attributes } fun copyFfiTy context ffiTy = case ffiTy of TC.FFIBASETY (ty, loc) => TC.FFIBASETY (copyTy context ty, loc) | TC.FFIFUNTY (attribOpt (* Absyn.ffiAttributes option *), ffiTyList1, ffiTyList2,loc) => TC.FFIFUNTY (attribOpt, map (copyFfiTy context) ffiTyList1, map (copyFfiTy context) ffiTyList2, loc) | TC.FFIRECORDTY (fields:(string * TC.ffiTy) list,loc) => TC.FFIRECORDTY (map (fn (l,ty)=>(l, copyFfiTy context ty)) fields,loc) val emptyVarIdMap = VarID.Map.empty : VarID.id VarID.Map.map val varIdMapRef = ref emptyVarIdMap : (VarID.id VarID.Map.map) ref fun addSubst (oldId, newId) = varIdMapRef := VarID.Map.insert(!varIdMapRef, oldId, newId) type varInfo = {path:path, id:VarID.id, ty:ty} (* alpha-rename terms *) fun newId ({varMap, btvMap}:context) id = let val newId = VarID.generate() val _ = addSubst (id, newId) val varMap = VarID.Map.insertWith (fn _ => raise DuplicateVar) (varMap, id, newId) in ({varMap=varMap, btvMap=btvMap}, newId) end fun newVar (context:context) ({path, id, ty}:varInfo) = let val ty = copyTy context ty val (context, newId) = newId context id handle DuplicateVar => (P.printPath path; P.print "\n"; raise bug "duplicate id in IDCalcUtils" ) in (context, {path=path, id=newId, ty=ty}) end fun newVars (context:context) (vars:varInfo list) = let val (context, varsRev) = foldl (fn (var, (context, varsRev)) => let val (context, var) = newVar context var in (context, var::varsRev) end ) (context, nil) vars in (context, List.rev varsRev) end fun evalVar (context as {varMap, btvMap}:context) ({path, id, ty}:varInfo) = let val ty = copyTy context ty val id = case VarID.Map.find(varMap, id) of SOME id => id | NONE => id in {path=path, id=id, ty=ty} end handle DuplicateBtv => (P.print "DuplicateBtv in evalVar\n"; P.printPath path; P.print "\n"; P.printTy ty; P.print "\n"; raise bug "DuplicateBtv in evalVar") fun copyExp (context:context) (exp:RC.rcexp) = let fun copy exp = copyExp context exp fun copyT ty = copyTy context ty in ( case exp of RC.RCAPPM {argExpList, funExp, funTy, loc} => RC.RCAPPM {argExpList = map copy argExpList, funExp = copy funExp, funTy = copyT funTy, loc = loc} | RC.RCCASE {defaultExp:rcexp, exp:rcexp, expTy:Types.ty, loc:Loc.loc, ruleList:(T.conInfo * varInfo option * rcexp) list} => RC.RCCASE {defaultExp=copy defaultExp, exp=copy exp, expTy=copyT expTy, loc=loc, ruleList = map (fn (con, varOpt, exp) => let val (newContext, varOpt) = case varOpt of NONE => (context, NONE) | SOME var => let val (newContext, var) = newVar context var in (newContext, SOME var) end in (copyConInfo context con, varOpt, copyExp newContext exp) end ) ruleList } | RC.RCCAST (tpexp, ty, loc) => RC.RCCAST (copy tpexp, copyT ty, loc) | RC.RCCONSTANT {const, loc, ty} => RC.RCCONSTANT {const=const, loc = loc, ty=copyT ty} | RC.RCDATACONSTRUCT {argExpOpt, argTyOpt, con:T.conInfo, instTyList, loc} => RC.RCDATACONSTRUCT {argExpOpt = Option.map copy argExpOpt, argTyOpt = Option.map copyT argTyOpt, con = copyConInfo context con, instTyList = map copyT instTyList, loc = loc } | RC.RCEXNCASE {defaultExp:rcexp, exp:rcexp, expTy:ty, loc:Loc.loc, ruleList:(TC.exnCon * varInfo option * rcexp) list} => RC.RCEXNCASE {defaultExp=copy defaultExp, exp=copy exp, expTy=copyT expTy, loc=loc, ruleList = map (fn (con, varOpt, exp) => (copyExnCon context con, Option.map (evalVar context) varOpt, copy exp) ) ruleList } | RC.RCEXNCONSTRUCT {argExpOpt, exn:TC.exnCon, instTyList, loc} => RC.RCEXNCONSTRUCT {argExpOpt = Option.map copy argExpOpt, exn = copyExnCon context exn, instTyList = map copyT instTyList, loc = loc } | RC.RCEXN_CONSTRUCTOR {exnInfo, loc} => RC.RCEXN_CONSTRUCTOR {exnInfo=copyExnInfo context exnInfo , loc=loc} | RC.RCEXEXN_CONSTRUCTOR {exExnInfo, loc} => RC.RCEXEXN_CONSTRUCTOR {exExnInfo=copyExExnInfo context exExnInfo, loc= loc} | RC.RCEXPORTCALLBACK {foreignFunTy:Types.foreignFunTy, funExp:rcexp, loc:Loc.loc} => RC.RCEXPORTCALLBACK {foreignFunTy = copyForeignFunTy context foreignFunTy, funExp = copy funExp, loc = loc} | RC.RCEXVAR (exVar, loc) => RC.RCEXVAR (copyExVarInfo context exVar, loc) | RC.RCFFI (rcffiexp, ty, loc) => RC.RCFFI (copyRcffiexp context rcffiexp, copyT ty, loc) | RC.RCFNM {argVarList, bodyExp, bodyTy, loc} => let val bodyTy = copyT bodyTy val (context, argVarList) = newVars context argVarList val bodyExp = copyExp context bodyExp in RC.RCFNM {argVarList = argVarList, bodyExp = bodyExp, bodyTy = bodyTy, loc = loc } end | RC.RCFOREIGNAPPLY {argExpList:rcexp list, foreignFunTy:Types.foreignFunTy, funExp:rcexp, loc:Loc.loc} => RC.RCFOREIGNAPPLY {argExpList = map copy argExpList, foreignFunTy= copyForeignFunTy context foreignFunTy, funExp=copy funExp, loc=loc} | RC.RCGLOBALSYMBOL {kind, loc, name, ty} => RC.RCGLOBALSYMBOL {kind=kind, loc=loc, name=name, ty=copyT ty} | RC.RCHANDLE {exnVar, exp, handler, loc} => let val (context, exnVar) = newVar context exnVar in RC.RCHANDLE {exnVar=exnVar, exp=copy exp, handler=copyExp context handler, loc=loc} end | RC.RCINDEXOF (string, ty, loc) => RC.RCINDEXOF (string, copyT ty, loc) | RC.RCLET {body:rcexp list, decls, loc, tys} => let val (context, decls) = copyDeclList context decls in RC.RCLET {body=map (copyExp context) body, decls=decls, loc=loc, tys=map copyT tys} end | RC.RCMODIFY {elementExp, elementTy, indexExp, label, loc, recordExp, recordTy} => RC.RCMODIFY {elementExp = copy elementExp, elementTy = copyT elementTy, indexExp = copy indexExp, label = label, loc = loc, recordExp = copy recordExp, recordTy = copyT recordTy} | RC.RCMONOLET {binds:(T.varInfo * rcexp) list, bodyExp, loc} => let val (context, binds) = copyBinds context binds in RC.RCMONOLET {binds=binds, bodyExp=copyExp context bodyExp, loc=loc} end | RC.RCOPRIMAPPLY {argExp, instTyList, loc, oprimOp:T.oprimInfo} => RC.RCOPRIMAPPLY {argExp = copy argExp, instTyList = map copyT instTyList, loc = loc, oprimOp = copyOprimInfo context oprimOp } | RC.RCPOLY {btvEnv, exp, expTyWithoutTAbs, loc} => ( let val (context, btvEnv) = newBtvEnv context btvEnv in RC.RCPOLY {btvEnv=btvEnv, exp = copyExp context exp, expTyWithoutTAbs = copyTy context expTyWithoutTAbs, loc = loc } end handle DuplicateBtv => raise DuplicateBtv ) | RC.RCPOLYFNM {argVarList, bodyExp, bodyTy, btvEnv, loc} => ( let val (context, btvEnv) = newBtvEnv context btvEnv val (context, argVarList) = newVars context argVarList in RC.RCPOLYFNM {argVarList=argVarList, bodyExp=copyExp context bodyExp, bodyTy=copyTy context bodyTy, btvEnv=btvEnv, loc=loc } end handle DuplicateBtv => raise DuplicateBtv ) | RC.RCPRIMAPPLY {argExp, instTyList, loc, primOp:T.primInfo} => RC.RCPRIMAPPLY {argExp = copy argExp, instTyList = map copyT instTyList, loc = loc, primOp = copyPrimInfo context primOp } | RC.RCRAISE {exp, loc, ty} => RC.RCRAISE {exp= copy exp, loc=loc, ty = copyT ty} | RC.RCRECORD {fields:rcexp LabelEnv.map, loc, recordTy} => RC.RCRECORD {fields=LabelEnv.map copy fields, loc=loc, recordTy=copyT recordTy} | RC.RCSELECT {exp, expTy, indexExp, label, loc, resultTy} => RC.RCSELECT {exp=copy exp, expTy=copyT expTy, indexExp=copy indexExp, label=label, loc=loc, resultTy=copyT resultTy } | RC.RCSEQ {expList, expTyList, loc} => RC.RCSEQ {expList = map copy expList, expTyList = map copyT expTyList, loc = loc } | RC.RCSIZEOF (ty, loc) => RC.RCSIZEOF (copyT ty, loc) | RC.RCSQL (rcsqlexp, ty, loc) => RC.RCSQL (copyRcsqlexp context rcsqlexp, copyT ty, loc) | RC.RCSWITCH {branches:(Absyn.constant * rcexp) list, defaultExp:rcexp, expTy:Types.ty, loc:Loc.loc, switchExp:rcexp} => RC.RCSWITCH {branches = map (fn (const, exp) => (const, copy exp)) branches, defaultExp=copy defaultExp, expTy=copyT expTy, loc=loc, switchExp= copy switchExp} | RC.RCTAGOF (ty, loc) => RC.RCTAGOF (copyT ty, loc) | RC.RCTAPP {exp, expTy, instTyList, loc} => RC.RCTAPP {exp=copy exp, expTy = copyT expTy, instTyList=map copyT instTyList, loc = loc } | RC.RCVAR (varInfo, loc) => RC.RCVAR (evalVar context varInfo, loc) ) handle DuplicateBtv => raise bug "DuplicateBtv in copyExp copyExp" end and copyBranch context (constant,rcexp) = (constant, copyExp context rcexp) and copyRcsqlexp context rcsqlexp = case rcsqlexp of RC.RCSQLSERVER {schema:Types.ty LabelEnv.map LabelEnv.map, server:string} => RC.RCSQLSERVER {schema= LabelEnv.map (LabelEnv.map (copyTy context)) schema, server=server} and copyRcffiexp context (RC.RCFFIIMPORT {ffiTy:TypedCalc.ffiTy, ptrExp:rcexp}) = RC.RCFFIIMPORT {ffiTy = copyFfiTy context ffiTy, ptrExp=copyExp context ptrExp} and copyDecl context tpdecl = case tpdecl of RC.RCEXD (exbinds:{exnInfo:Types.exnInfo, loc:Loc.loc} list, loc) => (context, RC.RCEXD (map (fn {exnInfo, loc} => {exnInfo=copyExnInfo context exnInfo, loc=loc}) exbinds, loc) ) | RC.RCEXNTAGD ({exnInfo, varInfo}, loc) => (context, RC.RCEXNTAGD ({exnInfo=copyExnInfo context exnInfo, varInfo=evalVar context varInfo}, loc) ) | RC.RCEXPORTEXN (exnInfo, loc) => (context, RC.RCEXPORTEXN (copyExnInfo context exnInfo, loc) ) | RC.RCEXPORTVAR {internalVar, externalVar, loc} => (context, RC.RCEXPORTVAR {internalVar= evalVar context internalVar, externalVar= copyExVarInfo context externalVar, loc=loc} ) | RC.RCEXTERNEXN ({path, ty}, loc) => (context, RC.RCEXTERNEXN ({path=path, ty=copyTy context ty}, loc) ) | RC.RCEXTERNVAR ({path, ty}, loc) => (context, RC.RCEXTERNVAR ({path=path, ty=copyTy context ty}, loc) ) | RC.RCVAL (binds:(T.varInfo * rcexp) list, loc) => let val (context, binds) = copyBinds context binds in (context, RC.RCVAL (binds, loc)) end | RC.RCVALPOLYREC (btvEnv, recbinds:{exp:rcexp, expTy:ty, var:T.varInfo} list, loc) => ( let val (newContext as {varMap, btvMap}, btvEnv) = newBtvEnv context btvEnv val vars = map #var recbinds val (newContext as {varMap, btvMap}, vars) = newVars newContext vars val varRecbindList = ListPair.zip (vars, recbinds) val recbinds = map (fn (var, {exp, expTy, var=_}) => {var=var, expTy=copyTy newContext expTy, exp=copyExp newContext exp} ) varRecbindList in ({varMap=varMap, btvMap = #btvMap context}, RC.RCVALPOLYREC (btvEnv, recbinds, loc)) end handle DuplicateBtv => raise bug "TPVALPOLYREC" ) | RC.RCVALREC (recbinds:{exp:rcexp, expTy:ty, var:T.varInfo} list,loc) => let val vars = map #var recbinds val (context, vars) = newVars context vars val varRecbindList = ListPair.zip (vars, recbinds) val recbinds = map (fn (var, {exp, expTy, var=_}) => {var=var, expTy=copyTy context expTy, exp=copyExp context exp} ) varRecbindList in (context, RC.RCVALREC (recbinds, loc)) end and copyBind (newContext, context) (var, exp) = let val (newContext, var) = newVar newContext var val exp = copyExp newContext exp in (newContext, (var, exp)) end and copyBinds context binds = let val (newContext, bindsRev) = foldl (fn (bind, (newContext, bindsRev)) => let val (newContext, bind) = copyBind (newContext, context) bind in (newContext, bind::bindsRev) end ) (context, nil) binds in (newContext, List.rev bindsRev) end and copyDeclList context declList = let fun copy (decl, (context, declListRev)) = let val (context, newDecl) = copyDecl context decl in (context, newDecl::declListRev) end val (context, declListRev) = foldl copy (context, nil) declList in (context, List.rev declListRev) end in val copyExp = fn exp => let val _ = varIdMapRef := emptyVarIdMap val exp = copyExp emptyContext exp in (!varIdMapRef, exp) end handle exn => (P.print "RCAlphaRename; exception\n"; printRcexp exp; P.print "\n"; raise exn) end end smlsharp-1.2.0/src/compiler/recordcalc/main/RecordCalc.ppg0000644 000000000000000000006567312050661606023663 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori * @version $Id: RecordCalc.ppg,v 1.35 2008/08/06 17:23:40 ohori Exp $ *) structure RecordCalc = struct type loc = Loc.loc (*% * @params(btvEnv) * @formatter(Types.ty) Types.format_ty *) type ty = (*% @format(ty) ty()(btvEnv) *) Types.ty (*% * @params(btvEnv) * @formatter(Types.conInfo) Types.format_conInfo *) (*% @prefix formatWithoutType_ * @formatter(Types.conInfo) Types.format_conInfo *) type conInfo = (*% @format(con) con()(btvEnv) *) (*% @prefix formatWithoutType_ @format(con) con()() *) Types.conInfo (*% * @params(btvEnv) * @formatter(Types.exnInfo) Types.format_exnInfo *) (*% @prefix formatWithoutType_ * @formatter(Types.exnInfo) Types.format_exnInfo *) type exnInfo = (*% @format(exn) exn *) (*% @prefix formatWithoutType_ @format(exn) exn *) Types.exnInfo (*% * @params(btvEnv) * @formatter(Types.exExnInfo) Types.format_exExnInfo *) (*% @prefix formatWithoutType_ * @formatter(Types.exExnInfo) Types.format_exExnInfo *) type exExnInfo = (*% @format(exExn) exExn *) (*% @prefix formatWithoutType_ @format(exExn) exExn *) Types.exExnInfo (*% * @formatter(TypedCalc.exnCon) TypedCalc.format_exnCon *) (*% @prefix formatWithoutType_ * @formatter(TypedCalc.exnCon) TypedCalc.format_exnCon *) datatype exnCon = datatype TypedCalc.exnCon (*% * @params(btvEnv) * @formatter(Types.varInfo) Types.formatWithType_varInfo *) (*% @prefix formatWithoutType_ * @formatter(Types.varInfo) Types.format_varInfo *) type varInfo = (*% @format(v) v()(btvEnv) *) (*% @prefix formatWithoutType_ @format(v) v *) Types.varInfo (*% * @params(btvEnv) * @formatter(Types.exVarInfo) Types.format_exVarInfo *) (*% @prefix formatWithoutType_ * @formatter(Types.exVarInfo) Types.format_exVarInfo *) type exVarInfo = Types.exVarInfo (*% * @params(btvEnv) * @formatter(Types.primInfo) Types.format_primInfo *) (*% @prefix formatWithoutType_ * @formatter(Types.primInfo) Types.format_primInfo *) type primInfo = Types.primInfo (*% * @params(btvEnv) * @formatter(Types.oprimInfo) Types.format_oprimInfo *) (*% @prefix formatWithoutType_ * @formatter(Types.oprimInfo) Types.format_oprimInfo *) type oprimInfo = Types.oprimInfo (*% * @params(btvEnv) * @formatter(Types.btvEnv) Types.format_btvEnv *) type btvEnv = (*% @format(btv) btv()(btvEnv) *) Types.btvEnv (*% @formatter(Absyn.constant) Absyn.format_constant *) type constant = Absyn.constant (*% * @params(btvEnv) * @formatter(enclosedList) TermFormat.formatEnclosedList * @formatter(appList) TermFormat.formatAppList * @formatter(optionalList) TermFormat.formatOptionalList * @formatter(declList) TermFormat.formatDeclList * @formatter(recordExp) TermFormat.formatRecordExp * @formatter(enclosedLabelEnv) TermFormat.formatEnclosedLabelEnv * @formatter(option) TermFormat.formatOptionalOption * @formatter(ifCons) TermFormat.formatIfCons * @formatter(extendBtvEnv) TermFormat.extendBtvEnv * @formatter(TypedCalc.ffiTy) TypedCalc.format_ffiTy * @formatter(Types.foreignFunTy) Types.format_foreignFunTy *) (*% @prefix formatWithoutType_ * @params(btvEnv) * @formatter(ty) format_ty * @formatter(constant) format_constant * @formatter(btvEnv) format_btvEnv * @formatter(enclosedList) TermFormat.formatEnclosedList * @formatter(appList) TermFormat.formatAppList * @formatter(optionalList) TermFormat.formatOptionalList * @formatter(declList) TermFormat.formatDeclList * @formatter(recordExp) TermFormat.formatRecordExp * @formatter(enclosedLabelEnv) TermFormat.formatEnclosedLabelEnv * @formatter(option) TermFormat.formatOptionalOption * @formatter(ifCons) TermFormat.formatIfCons * @formatter(extendBtvEnv) TermFormat.extendBtvEnv * @formatter(TypedCalc.ffiTy) TypedCalc.format_ffiTy * @formatter(Types.foreignFunTy) Types.format_foreignFunTy *) datatype rcexp = (*% * @format({funExp, * argExpList: argExp argExps, * foreignFunTy, * loc}) * L8{ 2[ * "_ffiapply" * +1 L2{ funExp()(btvEnv) +1 ":" +d foreignFunTy()(btvEnv) } * +1 argExps:appList(argExp()(btvEnv))("(",",",")") ] } *) (*% @prefix formatWithoutType_ * @format({funExp, * argExpList: argExp argExps, * foreignFunTy, * loc}) * L8{ 2[ * "_ffiapply" * +1 funExp()(btvEnv) * +1 argExps:appList(argExp()(btvEnv))("(",",",")") ] } *) RCFOREIGNAPPLY of { funExp : rcexp, argExpList : rcexp list, foreignFunTy : Types.foreignFunTy, loc : loc } | (*% * @format({funExp, foreignFunTy, loc}) * L8{ 2[ * "_callback" * +1 L2{ funExp()(btvEnv) +1 ":" +d foreignFunTy()(btvEnv) } ] } *) (*% @prefix formatWithoutType_ * @format({funExp, foreignFunTy, loc}) * L8{ 2[ * "_callback" * +1 funExp()(btvEnv) * ] } *) RCEXPORTCALLBACK of { funExp : rcexp, (* must be RCFNM *) foreignFunTy : Types.foreignFunTy, loc : loc } | (*% * @format(ty * loc) * "_sizeof(" !N0{ ty()(btvEnv) ")" } *) (*% @prefix formatWithoutType_ * @format(ty * loc) "_size" *) RCSIZEOF of ty * loc | (*% * @format(ty * loc) * "_tagof(" !N0{ ty()(btvEnv) ")" } *) (*% @prefix formatWithoutType_ * @format(ty * loc) "_tag" *) RCTAGOF of ty * loc | (*% * @format(label * ty * loc) * "_indexof(" !N0{ label "," +1 ty()(btvEnv) ")" } *) (*% @prefix formatWithoutType_ * @format(label * ty * loc) * "_indexof(" label ")" *) RCINDEXOF of string * ty * loc | (*% * @format({const, ty, loc}) const *) (*% @prefix formatWithoutType_ * @format({const, ty, loc}) const *) RCCONSTANT of {const:constant, ty:ty, loc:loc} | (*% * @format({name,kind,ty,loc}) * L2{ name +1 ":" +d ty()(btvEnv) } *) (*% @prefix formatWithoutType_ * @format({name,kind,ty,loc}) * name *) RCGLOBALSYMBOL of {name:string,kind:Absyn.globalSymbolKind,ty:ty,loc:loc} | (*% * @format(var * loc) var()(btvEnv) *) (*% @prefix formatWithoutType_ * @format(var * loc) var *) RCVAR of varInfo * loc | (*% * @format(var * loc) var()(btvEnv) *) (*% @prefix formatWithoutType_ * @format(var * loc) var *) RCEXVAR of exVarInfo * loc | (*% * @format({primOp, * instTyList: instTy instTys, * argExp, * loc}) * L8{ 2[ * "_prim(" !N0{ primOp()(btvEnv) ")" } * instTys:optionalList(instTy()(btvEnv))(+1 "{",",","}") * +1 argExp()(btvEnv) ] } *) (*% @prefix formatWithoutType_ * @format({primOp, * instTyList: instTy instTys, * argExp, * loc}) * L8{ 2[ * "_prim(" !N0{ primOp ")" } * instTys:optionalList(instTy()(btvEnv))(+1 "{",",","}") * +1 argExp()(btvEnv) ] } *) RCPRIMAPPLY of { primOp : primInfo, instTyList : ty list, argExp : rcexp, loc : loc } | (*% * @format({oprimOp, * instTyList: instTy instTys, * argExp, * loc}) * L8{ 1[ * "_oprim(" * oprimOp()(btvEnv) * instTys:optionalList(instTy()(btvEnv))(+1 "{",",","}") * +1 argExp()(btvEnv) ] } *) (*% @prefix formatWithoutType_ * @format({oprimOp, * instTyList: instTy instTys, * argExp, * loc}) * L8{ 1[ * "_oprim(" * oprimOp * instTys:optionalList(instTy()(btvEnv))(+1 "{",",","}") * +1 argExp()(btvEnv) ] } *) RCOPRIMAPPLY of { oprimOp : oprimInfo, instTyList : ty list, argExp : rcexp, loc : loc } | (*% * @format({con, * instTyList: instTy instTys, * argExpOpt: arg argOpt, argTyOpt, * loc}) L8{ 2[ con()(btvEnv) instTys:optionalList(instTy()(btvEnv))(+1 "{",",","}") argOpt(arg()(btvEnv))(+1,) ] } *) (*% @prefix formatWithoutType_ * @format({con, * instTyList: instTy instTys, * argExpOpt: arg argOpt, argTyOpt, * loc}) L8{ 2[ con argOpt(arg()(btvEnv))(+1,) ] } *) RCDATACONSTRUCT of { con : conInfo, instTyList : ty list, argExpOpt : rcexp option, argTyOpt: ty option, loc : loc } | (*% * @format({exn, * instTyList: instTy instTys, * argExpOpt: arg argOpt, * loc}) * L8{ 2[ * exn * instTys:optionalList(instTy()(btvEnv))(+1 "{",",","}") * argOpt(arg()(btvEnv))(+1,) ] } *) (*% @prefix formatWithoutType_ * @format({exn, * instTyList: instTy instTys, * argExpOpt: arg argOpt, * loc}) * L8{ 2[ * exn * argOpt(arg()(btvEnv))(+1,) ] } *) RCEXNCONSTRUCT of { exn : exnCon, instTyList : ty list, argExpOpt : rcexp option, loc : loc } | (*% @format({exnInfo, loc}) "EXNCONSTRUCTOR(" exnInfo()(btvEnv) ")" *) (*% @prefix formatWithoutType_ @format({exnInfo, loc}) "EXNCONSTRUCTOR(" exnInfo ")" *) RCEXN_CONSTRUCTOR of { exnInfo: exnInfo, loc: loc } | (*% @format({exExnInfo, loc}) "External EXNCONSTRUCTOR(" exExnInfo()(btvEnv) ")" *) (*% @prefix formatWithoutType_ @format({exExnInfo, loc}) "External EXNCONSTRUCTOR(" exExnInfo ")" *) RCEXEXN_CONSTRUCTOR of { exExnInfo: exExnInfo, loc: loc } | (*% * @format({funExp, funTy, argExpList: argExp argExps, loc}) * L8{ 2[ * L2{ funExp()(btvEnv) +1 ":" +d funTy()(btvEnv) } * +1 argExps:appList(argExp()(btvEnv))("{",",","}") ] } *) (*% @prefix formatWithoutType_ * @format({funExp, funTy, argExpList: argExp argExps, loc}) * L8{ 2[ * funExp()(btvEnv) * +1 argExps:appList(argExp()(btvEnv))("{",",","}") ] } *) RCAPPM of { funExp : rcexp, funTy : ty, argExpList : rcexp list, loc : loc } | (*% * @format({binds: bind binds, bodyExp, loc}) * R1{ * "let" 2[ +1 binds(bind)(+1) ] * +1 "in" 2[ +1 bodyExp()(btvEnv) ] * +1 "end" * } * @format:bind(var * exp) * !R1{ 2[ "bind" +d var()(btvEnv) +d "=" * +1 exp()(btvEnv) ] } *) (*% @prefix formatWithoutType_ * @format({binds: bind binds, bodyExp, loc}) * R1{ * "let" 2[ +1 binds(bind)(+1) ] * +1 "in" 2[ +1 bodyExp()(btvEnv) ] * +1 "end" * } * @format:bind(var * exp) * !R1{ 2[ "bind" +d var +d "=" * +1 exp()(btvEnv) ] } *) RCMONOLET of { binds : (varInfo * rcexp) list, bodyExp : rcexp, loc : loc } | (*% * @format({decls:dec decs, body:exp exps, tys:ty tys, loc:Loc}) * R1{ * "let" 2[ decs:declList(dec()(btvEnv))(+1,+1) ] * +1 "in" 2[ +1 exps(exp()(btvEnv))(";" +1) ] * +1 "end" * } *) (*% @prefix formatWithoutType_ * @format({decls:dec decs, body:exp exps, tys:ty tys, loc:Loc}) * R1{ * "let" 2[ decs:declList(dec()(btvEnv))(+1,+1) ] * +1 "in" 2[ +1 exps(exp()(btvEnv))(";" +1) ] * +1 "end" * } *) RCLET of {decls:rcdecl list, body:rcexp list, tys:ty list, loc:loc} | (*% * @format({fields: field fields, recordTy, loc}) * L2{ fields:recordExp(field()(btvEnv)) * +1 ":" +d recordTy()(btvEnv) } *) (*% @prefix formatWithoutType_ * @format({fields: field fields, recordTy, loc}) * fields:recordExp(field()(btvEnv)) *) RCRECORD of { fields : rcexp LabelEnv.map, recordTy : ty, loc : loc } | (*% * @format({indexExp, label, exp, expTy, resultTy, loc}) * L2{ L8{ 2[ * "#" "[" !N0{ indexExp()(btvEnv) "]" } * +1 L2{ exp()(btvEnv) +1 ":" +d expTy()(btvEnv) } * ] } +1 ":" +d resultTy()(btvEnv) } *) (*% @prefix formatWithoutType_ * @format({indexExp, label, exp, expTy, resultTy, loc}) * L8{ 2[ * "#" indexExp()(btvEnv) * +1 exp()(btvEnv) * ] } *) RCSELECT of { indexExp : rcexp, label : string, exp : rcexp, expTy : ty, resultTy : ty, loc : loc } | (*% * @format({indexExp, label, recordExp, recordTy, elementExp, elementTy, * loc}) * L8{ 2[ * L2{ recordExp()(btvEnv) +1 ":" +d recordTy()(btvEnv) } * +1 "#" +d "{" * !N0{ "[" !N0{ indexExp()(btvEnv) "]"} +d "=" 2[ +1 * L2{ elementExp()(btvEnv) +1 ":" +d elementTy()(btvEnv) } ] "}" } * ] } *) (*% @prefix formatWithoutType_ * @format({indexExp, label, recordExp, recordTy, elementExp, elementTy, * loc}) * L8{ 2[ * recordExp()(btvEnv) * +1 "#" +d "{" * !N0{ indexExp()(btvEnv) +d "=" 2[ +1 * elementExp()(btvEnv) ] "}" } * ] } *) RCMODIFY of { indexExp : rcexp, label : string, recordExp : rcexp, recordTy : ty, elementExp : rcexp, elementTy : ty, loc : loc } | (*% * @format({exp, ty, loc}) * L2{ R1{ 2[ "raise" +1 exp()(btvEnv) ] } +1 ":" +d ty()(btvEnv) } *) (*% @prefix formatWithoutType_ * @format({exp, ty, loc}) * R1{ 2[ "raise" +1 exp()(btvEnv) ] } *) RCRAISE of {exp:rcexp, ty:ty, loc:loc} | (*% * @format({exp, exnVar, handler, loc}) * R1{ * exp()(btvEnv) * +1 2[ "handle" +d exnVar()(btvEnv) +d "=>" +1 handler()(btvEnv) ] * } *) (*% @prefix formatWithoutType_ * @format({exp, exnVar, handler, loc}) * R1{ * exp()(btvEnv) * +1 2[ "handle" +d exnVar +d "=>" +1 handler()(btvEnv) ] * } *) (* handle (exp1, x, exp2) * exp1 the expression to be evaluated normally * x variable to received exception value * exp2 the handler body using x *) RCHANDLE of { exp : rcexp, exnVar : varInfo, handler : rcexp, loc : loc } | (*% * @format({exp, expTy, ruleList: rule rules, defaultExp, loc}) * R1{ * 2[ { "case" +1 exp()(btvEnv) +1 "of" } ] * 2[ +1 ] rules(rule)( +1 "|" +d) * rules:ifCons()(+1 "|" +d) 2[ "_" +d "=>" +1 defaultExp()(btvEnv) ] * } * @format:rule(con * var varOpt * exp) * 2[ con()(btvEnv) varOpt(var()(btvEnv))(+d,) +d "=>" +1 exp()(btvEnv) ] *) (*% @prefix formatWithoutType_ * @format({exp, expTy, ruleList: rule rules, defaultExp, loc}) * R1{ * 2[ { "case" +1 exp()(btvEnv) +1 "of" } ] * 2[ +1 ] rules(rule)( +1 "|" +d) * rules:ifCons()(+1 "|" +d) 2[ "_" +d "=>" +1 defaultExp()(btvEnv) ] * } * @format:rule(con * var varOpt * exp) * 2[ con varOpt(var)(+d,) +d "=>" +1 exp()(btvEnv) ] *) RCCASE of { exp : rcexp, expTy : ty, ruleList : (conInfo * varInfo option * rcexp) list, defaultExp : rcexp, loc : loc } | (*% * @format({exp, expTy, ruleList: rule rules, defaultExp, loc}) * R1{ * 2[ { "caseExn" +1 exp()(btvEnv) +1 "of" } ] * 2[ +1 ] rules(rule)( +1 "|" +d) * rules:ifCons()(+1 "|" +d) 2[ "_" +d "=>" +1 defaultExp()(btvEnv) ] * } * @format:rule(exn * var varOpt * exp) * 2[ exn varOpt(var()(btvEnv))(+d,) +d "=>" +1 exp()(btvEnv) ] *) (*% @prefix formatWithoutType_ * @format({exp, expTy, ruleList: rule rules, defaultExp, loc}) * R1{ * 2[ { "caseExn" +1 exp()(btvEnv) +1 "of" } ] * 2[ +1 ] rules(rule)( +1 "|" +d) * rules:ifCons()(+1 "|" +d) 2[ "_" +d "=>" +1 defaultExp()(btvEnv) ] * } * @format:rule(exn * var varOpt * exp) * 2[ exn varOpt(var)(+d,) +d "=>" +1 exp()(btvEnv) ] *) RCEXNCASE of { exp : rcexp, expTy : ty, ruleList : (exnCon * varInfo option * rcexp) list, defaultExp : rcexp, loc : loc } | (*% * @format({switchExp, * expTy, * branches: branch branches, * defaultExp, * loc}) * R1{ * 2[ { "switch" * +1 L2{ switchExp()(btvEnv) +1 ":" +d expTy()(btvEnv) } * +1 "of" } ] * 2[ +1 ] branches(branch)( +1 "|" +d) * branches:ifCons()(+1 "|" +d) * 2[ "_" +d "=>" +1 defaultExp()(btvEnv) ] * } * @format:branch(const * exp) * 2[ const +d "=>" +1 exp()(btvEnv) ] *) (*% @prefix formatWithoutType_ * @format({switchExp, * expTy, * branches: branch branches, * defaultExp, * loc}) * R1{ * 2[ { "switch" * +1 switchExp()(btvEnv) * +1 "of" } ] * 2[ +1 ] branches(branch)( +1 "|" +d) * branches:ifCons()(+1 "|" +d) * 2[ "_" +d "=>" +1 defaultExp()(btvEnv) ] * } * @format:branch(const * exp) * 2[ const +d "=>" +1 exp()(btvEnv) ] *) (* switch e of ... | c => e ... | _ => e *) RCSWITCH of { switchExp : rcexp, expTy : ty, branches : (constant * rcexp) list, defaultExp : rcexp, loc : loc } | (*% * @format({argVarList: arg args, bodyTy, bodyExp, loc}) * R1{ 2[ * "fn" * +d args:enclosedList(arg()(btvEnv))("{",",","}") * 1[ +1 ":" +d bodyTy()(btvEnv) ] +d "=>" * +1 bodyExp()(btvEnv) ] } *) (*% @prefix formatWithoutType_ * @format({argVarList: arg args, bodyTy, bodyExp, loc}) * R1{ 2[ * "fn" * +d args:enclosedList(arg)("{",",","}") * +d "=>" * +1 bodyExp()(btvEnv) ] } *) (** \lambda(x1,....,xn).e *) RCFNM of { argVarList : varInfo list, bodyTy : ty, bodyExp : rcexp, loc : loc } | (*% * @format({btvEnv: btv, argVarList: arg args, bodyTy, bodyExp, loc}) * !R1{ "[" 1[ * btv()(btvEnv) "." +1 * 2[ * "fn" * +d args:enclosedList(arg()(btv:extendBtvEnv()(btvEnv)))("{",",","}") * 1[ +1 ":" +d bodyTy()(btv:extendBtvEnv()(btvEnv)) ] +d "=>" * +1 bodyExp()(btv:extendBtvEnv()(btvEnv)) ] * "]" ] } *) (*% @prefix formatWithoutType_ * @format({btvEnv: btv, argVarList: arg args, bodyTy, bodyExp, loc}) * !R1{ "[" 1[ * btv()(btvEnv) "." +1 * 2[ * "fn" * +d args:enclosedList(arg)("{",",","}") * +d "=>" * +1 bodyExp()(btv:extendBtvEnv()(btvEnv)) ] * "]" ] } *) (* \forall t.\fn x => e * ty is the type of rcexp without type abstraction *) RCPOLYFNM of { btvEnv : btvEnv, argVarList : varInfo list, bodyTy : ty, bodyExp : rcexp, loc : loc } | (*% * @format({btvEnv: btv, expTyWithoutTAbs, exp, loc}) * !R1{ "[" 1[ * btv()(btvEnv) "." +1 * L2{ exp()(btv:extendBtvEnv()(btvEnv)) * +1 ":" +d expTyWithoutTAbs()(btv:extendBtvEnv()(btvEnv)) } * "]" ] } *) (*% @prefix formatWithoutType_ * @format({btvEnv: btv, expTyWithoutTAbs, exp, loc}) * !R1{ "[" 1[ * btv()(btvEnv) "." +1 * exp()(btv:extendBtvEnv()(btvEnv)) * "]" ] } *) (* \forall t.e * ty is the type of tpexp without type abstraction *) RCPOLY of { btvEnv : btvEnv, expTyWithoutTAbs : ty, exp : rcexp, loc : loc } | (*% * @format({exp, expTy, instTyList: instTy instTys, loc}) * L8{ 2[ * L2{ exp()(btvEnv) +1 ":" +d expTy()(btvEnv) } * instTys:optionalList(instTy()(btvEnv))(+1 "{",",","}") ] } *) (*% @prefix formatWithoutType_ * @format({exp, expTy, instTyList: instTy instTys, loc}) exp()(btvEnv) *) RCTAPP of { exp : rcexp, expTy : ty, instTyList : ty list, loc : loc } | (*% * @format({expList: exp exps, expTyList: ty tys, loc}) * exps:enclosedList(exp()(btvEnv))("(",";",")") *) (*% @prefix formatWithoutType_ * @format({expList: exp exps, expTyList: ty tys, loc}) * exps:enclosedList(exp()(btvEnv))("(",";",")") *) RCSEQ of { expList : rcexp list, expTyList : ty list, loc : loc } | (*% * @format(exp * ty * loc) * L2{ "_cast(" !N0{ exp()(btvEnv) ")" } +1 ":" +d ty()(btvEnv) } *) (*% @prefix formatWithoutType_ * @format(exp * ty * loc) "_cast(" exp()(btvEnv) ")" *) (* cast e to some type ty * this is used to coerce constructor type to a record type *) RCCAST of rcexp * ty * loc | (*% * @format(exp * ty * loc) * L2 { exp()(btvEnv) +1 ":" +d ty()(btvEnv) } *) (*% @prefix formatWithoutType_ * @format(exp * ty * loc) * exp()(btvEnv) *) RCSQL of rcsqlexp * ty * loc | (*% * @format(exp * ty * loc) * L2 { exp()(btvEnv) +1 ":" +d ty()(btvEnv) } *) (*% @prefix formatWithoutType_ * @format(exp * ty * loc) * exp()(btvEnv) *) RCFFI of rcffiexp * ty * loc and rcsqlexp = (*% * @format({server, schema:schema schemas}) * N0{ "_sqlserver" + server + ":" * + schemas:enclosedLabelEnv(schema)("{",",","=","}") } * @format:schema(ty tys) tys:enclosedLabelEnv(ty()(btvEnv))("{",",","=","}") *) (*% @prefix formatWithoutType_ * @format({server, schema:schema schemas}) * "<>" *) RCSQLSERVER of {server: string, schema: ty LabelEnv.map LabelEnv.map} and rcffiexp = (*% * @format({ptrExp, ffiTy}) * "_ffi(" !N0{ L2 { ptrExp()(btvEnv) +1 ":" +d ffiTy()(btvEnv) } ")" } *) (*% @prefix formatWithoutType_ * @format({ptrExp, ffiTy}) * "_ffi(" !N0{ L2 { ptrExp()(btvEnv) +1 ":" +d ffiTy()(btvEnv) } ")" } *) RCFFIIMPORT of {ptrExp : rcexp, ffiTy: TypedCalc.ffiTy} and rcdecl = (*% * @format(bind binds * loc) * "val" +d binds(bind)(+1 "and" +d) * @format:bind(var * exp) * !R1{ var()(btvEnv) +d "=" +1 exp()(btvEnv) } *) (*% @prefix formatWithoutType_ * @format(bind binds * loc) * "val" +d binds(bind)(+1 "and" +d) * @format:bind(var * exp) * !R1{ var +d "=" +1 exp()(btvEnv) } *) RCVAL of (varInfo * rcexp) list * loc | (*% * @format(bind binds * loc) * "val" +d 4[ "rec" +d binds(bind)(+1 "and" +d) ] * @format:bind({var, expTy, exp}) * !R1{ L2{ var()(btvEnv) +1 ":" +d expTy()(btvEnv) } +d "=" * +1 exp()(btvEnv) } *) (*% @prefix formatWithoutType_ * @format(bind binds * loc) * "val" +d 4[ "rec" +d binds(bind)(+1 "and" +d) ] * @format:bind({var, expTy, exp}) * !R1{ var +d "=" +1 exp()(btvEnv) } *) RCVALREC of {var: varInfo, expTy: ty, exp: rcexp} list * loc | (*% * @format(btv * bind binds * loc) * !R1{ "[" 1[ * btv()(btvEnv) "." +1 * "val" +d 4[ "rec" +d binds(bind)(+1 "and" +d) ] * ] 1 "]" } * @format:bind({var, expTy, exp}) * !R1{ L2{ var()(btv:extendBtvEnv()(btvEnv)) * +1 ":" +d expTy()(btv:extendBtvEnv()(btvEnv)) } +d "=" * +1 exp()(btv:extendBtvEnv()(btvEnv)) } *) (*% @prefix formatWithoutType_ * @format(btv * bind binds * loc) * !R1{ "[" 1[ * btv()(btvEnv) "." +1 * "val" +d 4[ "rec" +d binds(bind)(+1 "and" +d) ] * ] 1 "]" } * @format:bind({var, expTy, exp}) * !R1{ var +d "=" +1 exp()(btv:extendBtvEnv()(btvEnv)) } *) RCVALPOLYREC of btvEnv * {var: varInfo, expTy: ty, exp: rcexp} list * loc | (*% * @format(bind binds * loc) * "exception" +d binds(bind)(+1 "and" +d) * @format:bind({exnInfo, loc}) exnInfo()(btvEnv) *) (*% @prefix formatWithoutType_ * @format(bind binds * loc) * "exception" +d binds(bind)(+1 "and" +d) * @format:bind({exnInfo, loc}) exnInfo *) RCEXD of {exnInfo: exnInfo, loc: loc} list * loc | (*% @format({exnInfo, varInfo} * loc) "exception tag" +d exnInfo()(btvEnv) +d "=" +d varInfo()(btvEnv) *) RCEXNTAGD of {exnInfo: exnInfo, varInfo:varInfo} * loc | (*% @format({internalVar, externalVar,loc}) "export" + internalVar()(btvEnv) +d "as" + externalVar()(btvEnv) *) (*% @prefix formatWithoutType_ @format({internalVar, externalVar,loc}) "export" + internalVar +d "as" + externalVar *) RCEXPORTVAR of {internalVar:varInfo, externalVar:exVarInfo, loc:loc} | (*% * @format (exn * loc) "export" +d "exception" +d exn()(btvEnv) *) (*% @prefix formatWithoutType_ * @format (exn * loc) "export" +d "exception" +d exn *) RCEXPORTEXN of exnInfo * loc | (*% * @format(var * loc) * "extern" +d "val" +d var()(btvEnv) *) (*% @prefix formatWithoutType_ * @format(var * loc) * "extern" +d "val" +d var *) RCEXTERNVAR of exVarInfo * loc | (*% * @format(exn * loc) * "extern" +d "exception" +d exn()(btvEnv) *) (*% @prefix formatWithoutType_ * @format(exn * loc) * "extern" +d "exception" +d exn *) RCEXTERNEXN of exExnInfo * loc val format_rcdecl' = format_rcdecl nil val formatWithoutType_rcdecl' = formatWithoutType_rcdecl nil end smlsharp-1.2.0/src/compiler/recordcalc/main/RecordCalc.ppg.smi0000644 000000000000000000001360412050661606024435 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../builtin2/main/BuiltinPrimitive.ppg.smi" _require "../../util/main/TermFormat.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../types/main/Types.ppg.smi" _require "../../typedcalc/main/TypedCalc.ppg.smi" structure RecordCalc = struct datatype rcexp = RCAPPM of {argExpList:rcexp list, funExp:rcexp, funTy:Types.ty, loc:Loc.loc} | RCCASE of {defaultExp:rcexp, exp:rcexp, expTy:Types.ty, loc:Loc.loc, ruleList:(Types.conInfo * Types.varInfo option * rcexp) list} | RCCAST of rcexp * Types.ty * Loc.loc | RCCONSTANT of {const:Absyn.constant, loc:Loc.loc, ty:Types.ty} | RCDATACONSTRUCT of {argExpOpt:rcexp option, con:Types.conInfo, argTyOpt:Types.ty option, instTyList:Types.ty list, loc:Loc.loc} | RCEXNCASE of {defaultExp:rcexp, exp:rcexp, expTy:Types.ty, loc:Loc.loc, ruleList:(TypedCalc.exnCon * Types.varInfo option * rcexp) list} | RCEXNCONSTRUCT of {argExpOpt:rcexp option, exn:TypedCalc.exnCon, instTyList:Types.ty list, loc:Loc.loc} | RCEXN_CONSTRUCTOR of {exnInfo:Types.exnInfo, loc:Loc.loc} | RCEXEXN_CONSTRUCTOR of {exExnInfo:Types.exExnInfo, loc:Loc.loc} | RCEXPORTCALLBACK of {foreignFunTy:Types.foreignFunTy, funExp:rcexp, loc:Loc.loc} | RCEXVAR of Types.exVarInfo * Loc.loc | RCFFI of rcffiexp * Types.ty * Loc.loc | RCFNM of {argVarList:Types.varInfo list, bodyExp:rcexp, bodyTy:Types.ty, loc:Loc.loc} | RCFOREIGNAPPLY of {argExpList:rcexp list, foreignFunTy:Types.foreignFunTy, funExp:rcexp, loc:Loc.loc} | RCGLOBALSYMBOL of {kind:Absyn.globalSymbolKind, loc:Loc.loc, name:string, ty:Types.ty} | RCHANDLE of {exnVar:Types.varInfo, exp:rcexp, handler:rcexp, loc:Loc.loc} | RCINDEXOF of string * Types.ty * Loc.loc | RCLET of {body:rcexp list, decls:rcdecl list, loc:Loc.loc, tys:Types.ty list} | RCMODIFY of {elementExp:rcexp, elementTy:Types.ty, indexExp:rcexp, label:string, loc:Loc.loc, recordExp:rcexp, recordTy:Types.ty} | RCMONOLET of {binds:(Types.varInfo * rcexp) list, bodyExp:rcexp, loc:Loc.loc} | RCOPRIMAPPLY of {argExp:rcexp, instTyList:Types.ty list, loc:Loc.loc, oprimOp:Types.oprimInfo} | RCPOLY of {btvEnv:Types.btvEnv, exp:rcexp, expTyWithoutTAbs:Types.ty, loc:Loc.loc} | RCPOLYFNM of {argVarList:Types.varInfo list, bodyExp:rcexp, bodyTy:Types.ty, btvEnv:Types.btvEnv, loc:Loc.loc} | RCPRIMAPPLY of {argExp:rcexp, instTyList:Types.ty list, loc:Loc.loc, primOp:Types.primInfo} | RCRAISE of {exp:rcexp, loc:Loc.loc, ty:Types.ty} | RCRECORD of {fields:rcexp LabelEnv.map, loc:Loc.loc, recordTy:Types.ty} | RCSELECT of {exp:rcexp, expTy:Types.ty, indexExp:rcexp, label:string, loc:Loc.loc, resultTy:Types.ty} | RCSEQ of {expList:rcexp list, expTyList:Types.ty list, loc:Loc.loc} | RCSIZEOF of Types.ty * Loc.loc | RCSQL of rcsqlexp * Types.ty * Loc.loc | RCSWITCH of {branches:(Absyn.constant * rcexp) list, defaultExp:rcexp, expTy:Types.ty, loc:Loc.loc, switchExp:rcexp} | RCTAGOF of Types.ty * Loc.loc | RCTAPP of {exp:rcexp, expTy:Types.ty, instTyList:Types.ty list, loc:Loc.loc} | RCVAR of Types.varInfo * Loc.loc and rcsqlexp = RCSQLSERVER of {schema:Types.ty LabelEnv.map LabelEnv.map, server:string} and rcffiexp = RCFFIIMPORT of {ffiTy:TypedCalc.ffiTy, ptrExp:rcexp} and rcdecl = RCEXD of {exnInfo:Types.exnInfo, loc:Loc.loc} list * Loc.loc | RCEXNTAGD of {exnInfo:Types.exnInfo, varInfo:Types.varInfo} * Loc.loc | RCEXPORTEXN of Types.exnInfo * Loc.loc | RCEXPORTVAR of {internalVar:Types.varInfo, externalVar:Types.exVarInfo, loc:Loc.loc} | RCEXTERNEXN of Types.exExnInfo * Loc.loc | RCEXTERNVAR of Types.exVarInfo * Loc.loc | RCVAL of (Types.varInfo * rcexp) list * Loc.loc | RCVALPOLYREC of Types.btvEnv * {exp:rcexp, expTy:Types.ty, var:Types.varInfo} list * Loc.loc | RCVALREC of {exp:rcexp, expTy:Types.ty, var:Types.varInfo} list * Loc.loc val format_rcexp : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> rcexp -> SMLFormat.FormatExpression.expression list val format_rcsqlexp : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> rcsqlexp -> SMLFormat.FormatExpression.expression list val format_rcffiexp : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> rcffiexp -> SMLFormat.FormatExpression.expression list val format_rcdecl : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> rcdecl TermFormat.formatter val formatWithoutType_rcexp : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> rcexp -> TermFormat.format val formatWithoutType_rcsqlexp : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> rcsqlexp -> SMLFormat.FormatExpression.expression list val formatWithoutType_rcffiexp : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> rcffiexp -> SMLFormat.FormatExpression.expression list val formatWithoutType_rcdecl : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> rcdecl TermFormat.formatter val format_rcdecl' : rcdecl TermFormat.formatter val formatWithoutType_rcdecl' : rcdecl TermFormat.formatter end smlsharp-1.2.0/src/compiler/recordcalc/main/RecordCalcFormatter.smi0000644 000000000000000000000126012050661606025527 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../control/main/Control.ppg.smi" _require "../../util/main/TermFormat.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../types/main/Types.ppg.smi" _require "RecordCalc.ppg.smi" structure RecordCalcFormatter = struct val rcdecToString : RecordCalc.rcdecl -> string val rcdecToStringWithoutType : RecordCalc.rcdecl -> string val rcexpToString : {eqKind: Absyn.eq, tvarKind: Types.tvarKind} TermFormat.btvEnv' list -> RecordCalc.rcexp -> string val rcexpToStringWithoutType : {eqKind: Absyn.eq, tvarKind: Types.tvarKind} TermFormat.btvEnv' list -> RecordCalc.rcexp -> string end smlsharp-1.2.0/src/compiler/recordcalc/main/RecordCalcFormatter.sml0000644 000000000000000000000122612050661606025534 0ustar00rootroot0000000 0000000 (** * a pretty printer for the record calclulus. * * @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori * @version $Id: RecordCalcFormatter.sml,v 1.4 2008/02/23 15:49:54 bochao Exp $ *) structure RecordCalcFormatter = struct fun rcdecToString dec = Control.prettyPrint (RecordCalc.format_rcdecl nil dec) fun rcdecToStringWithoutType dec = Control.prettyPrint (RecordCalc.formatWithoutType_rcdecl nil dec) fun rcexpToString btvenv rcexp = Control.prettyPrint (RecordCalc.format_rcexp btvenv rcexp) fun rcexpToStringWithoutType btvenv rcexp = Control.prettyPrint (RecordCalc.formatWithoutType_rcexp btvenv rcexp) end smlsharp-1.2.0/src/compiler/recordcalc/main/RecordCalcUtils.smi0000644 000000000000000000000076212050661606024672 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../util/main/gensym.smi" _require "../../name/main/LocalID.smi" _require "../../types/main/Types.ppg.smi" _require "../../types/main/TypesUtils.smi" _require "../../builtin2/main/BuiltinTypes.smi" _require "RecordCalc.ppg.smi" structure RecordCalcUtils = struct val newRCVarInfo : Types.ty -> Types.varInfo val expansive : RecordCalc.rcexp -> bool val isAtom : RecordCalc.rcexp -> bool end smlsharp-1.2.0/src/compiler/recordcalc/main/RecordCalcUtils.sml0000644 000000000000000000000602512050661606024673 0ustar00rootroot0000000 0000000 structure RecordCalcUtils = struct local structure RC = RecordCalc structure BT = BuiltinTypes structure TU = TypesUtils val tempVarNamePrefix = "$R_" in fun newRCVarName () = tempVarNamePrefix ^ Gensym.gensym() fun newRCVarInfo (ty:Types.ty) = let val newVarId = VarID.generate() in {path=[newRCVarName()], id=newVarId, ty = ty} end fun expansive tpexp = case tpexp of RC.RCCONSTANT _ => false | RC.RCGLOBALSYMBOL _ => false | RC.RCVAR _ => false | RC.RCEXVAR (exVarInfo, loc) => false | RC.RCFNM {argVarList, bodyTy, bodyExp, loc} => false | RC.RCEXNCONSTRUCT {argExpOpt=NONE, exn, instTyList, loc} => false | RC.RCEXN_CONSTRUCTOR {exnInfo, loc} => false | RC.RCEXEXN_CONSTRUCTOR {exExnInfo, loc} => false | RC.RCPOLYFNM _ => false | RC.RCSQL _ => false | RC.RCINDEXOF _ => false | RC.RCTAGOF _ => false | RC.RCSIZEOF _ => false | RC.RCDATACONSTRUCT {argExpOpt=NONE, argTyOpt, con, instTyList, loc} => false | RC.RCDATACONSTRUCT {con={path, id, ty}, instTyList, argTyOpt, argExpOpt= SOME tpexp, loc} => let val tyCon = TU.tyConFromConTy ty in TypID.eq (#id tyCon, #id BT.refTyCon) orelse expansive tpexp end | RC.RCEXNCONSTRUCT {argExpOpt= SOME tpexp, exn, instTyList, loc} => expansive tpexp | RC.RCRECORD {fields, recordTy=ty, loc=loc} => LabelEnv.foldli (fn (string, tpexp1, isExpansive) => isExpansive orelse expansive tpexp1) false fields | RC.RCSELECT {exp, expTy, indexExp, label, loc, resultTy} => expansive exp orelse expansive indexExp | RC.RCMODIFY {elementExp:RC.rcexp, elementTy:Types.ty, indexExp:RC.rcexp, label:string, loc, recordExp:RC.rcexp, recordTy:Types.ty} => expansive recordExp orelse expansive indexExp orelse expansive elementExp | RC.RCMONOLET {binds=varPathInfoTpexpList, bodyExp=tpexp, loc} => foldl (fn ((v,tpexp1), isExpansive) => isExpansive orelse expansive tpexp1) (expansive tpexp) varPathInfoTpexpList | RC.RCLET {decls, body, tys,loc} => true | RC.RCPOLY {exp=tpexp,...} => expansive tpexp | RC.RCTAPP {exp, ...} => expansive exp | RC.RCFFI (RC.RCFFIIMPORT {ffiTy, ptrExp}, ty, loc) => expansive ptrExp | RC.RCCAST (rcexp, ty, loc) => expansive rcexp | RC.RCAPPM _ => true | RC.RCCASE _ => true | RC.RCPRIMAPPLY _ => true | RC.RCOPRIMAPPLY _ => true | RC.RCSEQ _ => true | RC.RCRAISE _ => true | RC.RCHANDLE _ => true | RC.RCEXNCASE _ => true | RC.RCEXPORTCALLBACK _ => true | RC.RCFOREIGNAPPLY _ => true | RC.RCSWITCH _ => true fun isAtom tpexp = case tpexp of RC.RCCONSTANT {const, loc, ty} => true | RC.RCGLOBALSYMBOL {kind, loc, name, ty} => true | RC.RCVAR (var, loc) => true | RC.RCEXVAR (exVarInfo, loc) => true | _ => false end end smlsharp-1.2.0/src/compiler/recordcalcoptimization0000755 000000000000000000000000012050661606022575 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/recordcalcoptimization/main0000755 000000000000000000000000012050661606023521 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/recordcalcoptimization/main/RCAnalyse.smi0000644 000000000000000000000103412050661606026131 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../types/main/Types.ppg.smi" _require "../../typedcalc/main/TypedCalc.ppg.smi" _require "../../recordcalc/main/RecordCalc.ppg.smi" structure RCAnalyse = struct datatype count = INF | FIN of int val analyseDeclList : RecordCalc.rcdecl list -> count VarID.Map.map end smlsharp-1.2.0/src/compiler/recordcalcoptimization/main/RCAnalyse.sml0000644 000000000000000000001446212050661606026145 0ustar00rootroot0000000 0000000 (* Efficient size calculation throug depth-first travasal. *) structure RCAnalyse = struct datatype count = INF | FIN of int local structure TC = TypedCalc structure RC = RecordCalc structure T = Types type rcexp = RC.rcexp type ty = T.ty type varInfo = T.varInfo fun bug s = Control.Bug ("RCAnalyse: " ^ s) fun countAdd (INF,_ ) = INF | countAdd (_, INF) = INF | countAdd (FIN i, FIN j) = FIN (i+j) val countMapRef = ref VarID.Map.empty : (count VarID.Map.map) ref fun inc var = let val countMap = VarID.Map.unionWith countAdd (!countMapRef, VarID.Map.singleton(var, FIN 1)) in countMapRef := countMap end fun incInf var = let val countMap = VarID.Map.unionWith countAdd (!countMapRef, VarID.Map.singleton(var, INF)) in countMapRef := countMap end fun visitExp exp = case exp of RC.RCAPPM {argExpList, funExp, funTy, loc} => (visitExpList argExpList; visitExp funExp) | RC.RCCASE {defaultExp:rcexp, exp:rcexp, expTy:Types.ty, loc:Loc.loc, ruleList:(T.conInfo * varInfo option * rcexp) list} => (visitExp defaultExp; visitExp exp; visitExpList (map #3 ruleList)) | RC.RCCAST (rcexp, ty, loc) => visitExp rcexp | RC.RCCONSTANT {const, loc, ty} => () | RC.RCDATACONSTRUCT {argExpOpt = NONE, argTyOpt, con:T.conInfo, instTyList, loc } => () | RC.RCDATACONSTRUCT {argExpOpt = SOME exp, argTyOpt, con:T.conInfo, instTyList, loc } => visitExp exp | RC.RCEXNCASE {defaultExp:rcexp, exp:rcexp, expTy:ty, loc:Loc.loc, ruleList:(TC.exnCon * varInfo option * rcexp) list} => (visitExp defaultExp; visitExp exp; visitExpList (map #3 ruleList)) | RC.RCEXNCONSTRUCT {argExpOpt = NONE, exn:TC.exnCon, instTyList, loc } => () | RC.RCEXNCONSTRUCT {argExpOpt = SOME exp, exn:TC.exnCon, instTyList, loc } => visitExp exp | RC.RCEXN_CONSTRUCTOR {exnInfo, loc} => () | RC.RCEXEXN_CONSTRUCTOR {exExnInfo, loc} => () | RC.RCEXVAR ({path, ty}, loc) => () | RC.RCFFI (RC.RCFFIIMPORT {ffiTy:TypedCalc.ffiTy, ptrExp:rcexp}, ty, loc) => visitExp ptrExp | RC.RCFNM {argVarList, bodyExp, bodyTy, loc} => visitExp bodyExp | RC.RCGLOBALSYMBOL {kind, loc, name, ty} => () | RC.RCHANDLE {exnVar, exp, handler, loc} => (visitExp exp; visitExp handler) | RC.RCLET {body:rcexp list, decls, loc, tys} => (visitExpList body; visitDeclList decls) | RC.RCMODIFY {elementExp, elementTy, indexExp, label, loc, recordExp, recordTy} => (visitExp elementExp; visitExp indexExp; visitExp recordExp) | RC.RCMONOLET {binds:(T.varInfo * rcexp) list, bodyExp, loc} => (visitExpList (map #2 binds); visitExp bodyExp) | RC.RCOPRIMAPPLY {argExp, instTyList, loc, oprimOp:T.oprimInfo} => visitExp argExp | RC.RCPOLY {btvEnv, exp, expTyWithoutTAbs, loc} => visitExp exp | RC.RCPOLYFNM {argVarList, bodyExp, bodyTy, btvEnv, loc} => visitExp bodyExp | RC.RCPRIMAPPLY {argExp, instTyList, loc, primOp:T.primInfo} => visitExp argExp | RC.RCRAISE {exp, loc, ty} => visitExp exp | RC.RCRECORD {fields:rcexp LabelEnv.map, loc, recordTy} => LabelEnv.app visitRecordField fields | RC.RCSELECT {exp, expTy, indexExp, label, loc, resultTy} => (visitExp exp; visitExp indexExp) | RC.RCSEQ {expList, expTyList, loc} => visitExpList expList | RC.RCSIZEOF (ty, loc) => () | RC.RCSQL (RC.RCSQLSERVER {schema:Types.ty LabelEnv.map LabelEnv.map, server:string}, ty, loc) => () | RC.RCTAPP {exp, expTy, instTyList, loc} => visitExp exp | RC.RCVAR (varInfo, loc) => inc (#id varInfo) | RC.RCEXPORTCALLBACK {foreignFunTy:Types.foreignFunTy, funExp:rcexp, loc:Loc.loc} => visitExp funExp | RC.RCFOREIGNAPPLY {argExpList:rcexp list, foreignFunTy:Types.foreignFunTy, funExp:rcexp, loc:Loc.loc} => (visitExpList argExpList; visitExp funExp) | RC.RCINDEXOF (string, ty, loc) => () | RC.RCSWITCH {branches:(Absyn.constant * rcexp) list, defaultExp:rcexp, expTy:Types.ty, loc:Loc.loc, switchExp:rcexp} => (visitExpList (map #2 branches); visitExp defaultExp; visitExp switchExp) | RC.RCTAGOF (ty, loc) => () and visitRecordField exp = case exp of RC.RCCONSTANT {const, loc, ty} => () | RC.RCVAR (var, loc) => incInf (#id var) | RC.RCEXVAR (exVarInfo, loc) => () | RC.RCGLOBALSYMBOL {kind, loc, name, ty} => () | _ => visitExp exp and visitExpList expList = List.app visitExp expList and visitDecl tpdecl = case tpdecl of RC.RCEXD (exbinds:{exnInfo:Types.exnInfo, loc:Loc.loc} list, loc) => () | RC.RCEXNTAGD ({exnInfo, varInfo}, loc) => () | RC.RCEXPORTEXN (exnInfo, loc) => () | RC.RCEXPORTVAR {internalVar, externalVar, loc} => incInf (#id internalVar) | RC.RCEXTERNEXN ({path, ty}, loc) => () | RC.RCEXTERNVAR ({path, ty}, loc) => () | RC.RCVAL (binds:(T.varInfo * rcexp) list, loc) => visitExpList (map #2 binds) | RC.RCVALPOLYREC (btvEnv, recbinds:{exp:rcexp, expTy:ty, var:T.varInfo} list, loc) => visitExpList (map #exp recbinds) | RC.RCVALREC (recbinds:{exp:rcexp, expTy:ty, var:T.varInfo} list,loc) => visitExpList (map #exp recbinds) and visitDeclList declList = List.app visitDecl declList in fun analyseDeclList declList = (countMapRef := VarID.Map.empty; visitDeclList declList; !countMapRef) end end smlsharp-1.2.0/src/compiler/recordcalcoptimization/main/RCOptimize.smi0000644 000000000000000000000162212050661606026340 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../typedcalc/main/TypedCalc.ppg.smi" _require "../../typedcalc/main/TypedCalcUtils.smi" _require "../../typedcalc/main/TCAlphaRename.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../types/main/Types.ppg.smi" _require "../../types/main/TypesUtils.smi" _require "../../types/main/TyReduce.smi" _require "../../typeinference2/main/Printers.smi" _require "../../recordcalc/main/RecordCalc.ppg.smi" _require "../../recordcalc/main/RecordCalcUtils.smi" _require "../../recordcalc/main/RCAlphaRename.smi" _require "RCAnalyse.smi" _require "RCSize.smi" _require "RCRevealTy.smi" structure RCOptimize = struct val optimize : RecordCalc.rcdecl list -> RecordCalc.rcdecl list end smlsharp-1.2.0/src/compiler/recordcalcoptimization/main/RCOptimize.sml0000644 000000000000000000006312712050661606026353 0ustar00rootroot0000000 0000000 structure RCOptimize = struct local structure RC = RecordCalc structure TC = TypedCalc structure RCU = RecordCalcUtils structure T = Types structure TRed = TyReduce structure TU = TypesUtils structure P = Printers type rcexp = RC.rcexp type ty = T.ty fun bug s = Control.Bug ("TPOptimize: " ^ s) fun printVarMap varMap = let fun pr (id, exp) = (P.print "("; P.print (VarID.toString id); P.print ","; P.printTpexp exp; P.print ")\n" ) in VarID.Map.appi pr varMap end fun printBtvMap btvMap = let fun pr (id, ty) = (P.print "("; P.print (BoundTypeVarID.toString id); P.print ","; P.printTy ty; P.print ")\n" ) in BoundTypeVarID.Map.appi pr btvMap end fun printContext {varMap, btvMap} = (P.print "varMap:\n"; printVarMap varMap; P.print "btvMap:\n"; printBtvMap btvMap; P.print "\n" ) val countMapRef = ref VarID.Map.empty : (RCAnalyse.count VarID.Map.map) ref fun renameCountMapRef idMap = let val newCountMap = VarID.Map.foldli (fn (id, count, newCountMap) => case VarID.Map.find (idMap, id) of SOME newId => VarID.Map.insert(newCountMap, newId, count) | NONE => VarID.Map.insert(newCountMap, id, count) ) VarID.Map.empty (!countMapRef) in countMapRef := newCountMap end (* declaration for type constraints *) type ty = T.ty type path = T.path type varInfo = {path:path, id:VarID.id, ty:ty} type btv = BoundTypeVarID.id type varId = VarID.id (* context *) type btvMap = ty BoundTypeVarID.Map.map val emptyBtvMap = BoundTypeVarID.Map.empty : btvMap type varMap = RC.rcexp VarID.Map.map val emptyVarMap = VarID.Map.empty : varMap type context = {varMap:varMap, btvMap:btvMap} val emptyContext = {varMap=emptyVarMap, btvMap=emptyBtvMap} fun bindExp ({varMap, btvMap}:context, var:varInfo, exp:RC.rcexp) = let val varMap = VarID.Map.insert(varMap, #id var, exp) in {varMap=varMap, btvMap=btvMap} end fun bindTy ({varMap, btvMap}:context, btv:btv, ty:ty) = let val btvMap = BoundTypeVarID.Map.insert(btvMap, btv, ty) in {varMap=varMap, btvMap=btvMap} end fun applyTys ({varMap, btvMap}:context) (btvEnv:T.btvEnv, instTyList:ty list) = let val btvList = BoundTypeVarID.Map.listKeys btvEnv val btvBinds = ListPair.zip (btvList, instTyList) val btvMap = foldl (fn ((btv,ty), btvMap) => BoundTypeVarID.Map.insert(btvMap, btv, ty)) btvMap btvBinds in {varMap=varMap, btvMap=btvMap} end val limitSize = 20 (* ?? *) fun isSmallValue tpexp = not (RCU.expansive tpexp) andalso RCSize.isSmallerExp (tpexp, limitSize) fun isOneUse ({id, ty, path}:T.varInfo) = case VarID.Map.find(!countMapRef, id) of SOME (RCAnalyse.FIN 1) => true | SOME _ => false | NONE => false fun isZeroUse ({id, ty, path}:T.varInfo) = case VarID.Map.find(!countMapRef, id) of SOME _ => false | NONE => true fun isInfUse ({id, ty, path}:T.varInfo) = case VarID.Map.find(!countMapRef, id) of SOME RCAnalyse.INF => true | _ => false fun isInline (var:T.varInfo, exp:RC.rcexp) = RCU.isAtom exp orelse (not (isInfUse var)) andalso isSmallValue exp orelse (not (RCU.expansive exp) andalso isOneUse var) fun evalExVarInfo ({varMap, btvMap}:context) (exVarInfo : T.exVarInfo) : T.exVarInfo = TRed.evalExVarInfo btvMap exVarInfo fun evalPrimInfo ({varMap, btvMap}:context) (primInfo:T.primInfo) : T.primInfo = TRed.evalPrimInfo btvMap primInfo fun evalOprimInfo ({varMap, btvMap}:context) (oprimInfo:T.oprimInfo) : T.oprimInfo = TRed.evalOprimInfo btvMap oprimInfo fun evalConInfo ({varMap, btvMap}:context) (conInfo:T.conInfo) : T.conInfo = TRed.evalConInfo btvMap conInfo fun evalExnInfo ({varMap, btvMap}:context) (exnInfo:T.exnInfo) : T.exnInfo = TRed.evalExnInfo btvMap exnInfo fun evalExExnInfo ({varMap, btvMap}:context) (exExnInfo:T.exExnInfo) : T.exExnInfo = TRed.evalExExnInfo btvMap exExnInfo fun evalTy ({varMap, btvMap}:context) (ty:ty) : ty = TRed.evalTy btvMap ty fun evalBtvEnv ({varMap, btvMap}:context) (btvEnv:T.btvEnv) = TRed.evalBtvEnv btvMap btvEnv fun evalTyVar ({varMap, btvMap}:context) (var:varInfo) = TRed.evalTyVar btvMap var fun evalExnCon (context:context) (exnCon:TC.exnCon) : TC.exnCon = case exnCon of TC.EXEXN exExnInfo => TC.EXEXN (evalExExnInfo context exExnInfo) | TC.EXN exnInfo => TC.EXN (evalExnInfo context exnInfo) fun evalFfiTy context ffiTy = case ffiTy of TC.FFIBASETY (ty, loc) => TC.FFIBASETY (evalTy context ty, loc) | TC.FFIFUNTY (attribOpt (* Absyn.ffiAttributes option *), ffiTyList1, ffiTyList2,loc) => TC.FFIFUNTY (attribOpt, map (evalFfiTy context) ffiTyList1, map (evalFfiTy context) ffiTyList2, loc) | TC.FFIRECORDTY (fields:(string * TC.ffiTy) list,loc) => TC.FFIRECORDTY (map (fn (l,ty)=>(l, evalFfiTy context ty)) fields,loc) fun evalForeignFunTy context { argTyList : ty list, resultTy : ty, attributes : Absyn.ffiAttributes } = { argTyList = map (evalTy context) argTyList, resultTy = evalTy context resultTy, attributes = attributes } (* eval terms *) fun evalVar (context as {varMap,btvMap}:context) (var as {id,...}:varInfo, loc:Loc.loc) : RC.rcexp = case VarID.Map.find(varMap, id) of SOME rcexp => let val (idMap, tpexp) = RCAlphaRename.copyExp rcexp val _ = renameCountMapRef idMap in tpexp end (* substitution is simultaneous both in terms and types *) | NONE => RC.RCVAR (evalTyVar context var, loc) fun evalExp (context:context) (exp:RC.rcexp) : RC.rcexp = let fun eval exp = evalExp context exp fun evalT ty = evalTy context ty in case exp of RC.RCAPPM {argExpList, funExp, funTy, loc} => let val funExp = eval funExp val argExpList = map eval argExpList in case funExp of RC.RCFNM {argVarList, bodyExp, bodyTy, loc} => applyTerms context (argVarList, argExpList, bodyExp, loc) | _ => RC.RCAPPM {argExpList = argExpList, funExp = funExp, funTy = evalT funTy, loc = loc} end | RC.RCCASE {defaultExp:rcexp, exp:rcexp, expTy:Types.ty, loc:Loc.loc, ruleList:(T.conInfo * varInfo option * rcexp) list} => let val exp = eval exp in case exp of RC.RCDATACONSTRUCT {argExpOpt, argTyOpt, con:T.conInfo, instTyList, loc} => let val ruleOpt = List.find (fn (argCon, varOpt, bodExp) => ConID.eq(#id argCon, #id con)) ruleList val (bindOpt, bodyExp) = case (ruleOpt, argExpOpt) of (NONE, NONE) => (NONE, eval defaultExp) | (NONE, SOME argExp) => let val argTy = case argTyOpt of SOME ty => evalT ty | NONE => raise bug "none of argTyOpt" val dummyVar = RCU.newRCVarInfo argTy val argExp = eval argExp val bodyExp = eval defaultExp in (SOME (dummyVar, argExp), bodyExp) end | (SOME (_, NONE, bodyExp), NONE) => (NONE, eval bodyExp) | (SOME (_, SOME var, bodyExp), SOME argExp) => let val var = evalTyVar context var val argExp = eval argExp val bodyExp = eval bodyExp in (SOME (var, argExp), bodyExp) end | _ => raise bug "case and argument do not agree" in case bindOpt of NONE => bodyExp | SOME bind => RC.RCMONOLET {binds=[bind], bodyExp=bodyExp, loc=loc} end | exp => RC.RCCASE {defaultExp = eval defaultExp, exp = exp, expTy = evalT expTy, loc = loc, ruleList = map (fn (con, varOpt, exp) => (evalConInfo context con, Option.map (evalTyVar context) varOpt, eval exp) ) ruleList } end | RC.RCCAST (rcexp, ty, loc) => RC.RCCAST (eval rcexp, evalT ty, loc) | RC.RCCONSTANT {const, loc, ty} => RC.RCCONSTANT {const=const, loc = loc, ty=evalT ty} | RC.RCDATACONSTRUCT {argExpOpt, argTyOpt, con:T.conInfo, instTyList, loc} => RC.RCDATACONSTRUCT {argExpOpt = Option.map eval argExpOpt, con = evalConInfo context con, instTyList = map evalT instTyList, argTyOpt = Option.map evalT argTyOpt, loc = loc } | RC.RCEXNCASE {defaultExp:rcexp, exp:rcexp, expTy:ty, loc:Loc.loc, ruleList:(TC.exnCon * varInfo option * rcexp) list} => RC.RCEXNCASE {defaultExp = eval defaultExp, exp = eval exp, expTy = evalT expTy, loc = loc, ruleList = map (fn (con, varOpt, exp) => (evalExnCon context con, Option.map (evalTyVar context) varOpt, eval exp) ) ruleList } | RC.RCEXNCONSTRUCT {argExpOpt, exn:TC.exnCon, instTyList, loc} => RC.RCEXNCONSTRUCT {argExpOpt = Option.map eval argExpOpt, exn = evalExnCon context exn, instTyList = map evalT instTyList, loc = loc } | RC.RCEXN_CONSTRUCTOR {exnInfo, loc} => RC.RCEXN_CONSTRUCTOR {exnInfo=evalExnInfo context exnInfo, loc=loc} | RC.RCEXEXN_CONSTRUCTOR {exExnInfo, loc} => RC.RCEXEXN_CONSTRUCTOR {exExnInfo=evalExExnInfo context exExnInfo, loc= loc} | RC.RCEXVAR ({path, ty}, loc) => RC.RCEXVAR ({path=path, ty=evalT ty}, loc) | RC.RCFFI (RC.RCFFIIMPORT {ffiTy:TypedCalc.ffiTy, ptrExp:rcexp}, ty, loc) => RC.RCFFI (RC.RCFFIIMPORT {ffiTy = evalFfiTy context ffiTy, ptrExp = eval ptrExp}, evalT ty, loc) | RC.RCFNM {argVarList, bodyExp, bodyTy, loc} => RC.RCFNM {argVarList = map (evalTyVar context) argVarList, bodyExp = eval bodyExp, bodyTy = evalT bodyTy, loc = loc } | RC.RCGLOBALSYMBOL {kind, loc, name, ty} => RC.RCGLOBALSYMBOL {kind=kind, loc=loc, name=name, ty=evalT ty} | RC.RCHANDLE {exnVar, exp, handler, loc} => RC.RCHANDLE {exnVar=evalTyVar context exnVar, exp=eval exp, handler= eval handler, loc=loc} | RC.RCLET {body:rcexp list, decls, loc, tys} => let val tys = map evalT tys val (context, decls) = evalDeclList context decls val body = map (evalExp context) body in case decls of nil => RC.RCSEQ {expList=body, expTyList=tys, loc=loc} | _ => RC.RCLET {body=body, decls=decls, loc=loc, tys=tys} end | RC.RCMODIFY {elementExp, elementTy, indexExp, label, loc, recordExp, recordTy} => (case recordExp of RC.RCRECORD {fields, loc, recordTy} => if not (RCU.expansive recordExp) then eval (RC.RCRECORD {fields=LabelEnv.insert(fields, label, elementExp), loc=loc, recordTy=recordTy} ) else raise bug "non value term in recordExp" | _ => RC.RCMODIFY {elementExp = eval elementExp, elementTy = evalT elementTy, indexExp = eval indexExp, label = label, loc = loc, recordExp = eval recordExp, recordTy = evalT recordTy} ) | RC.RCMONOLET {binds:(T.varInfo * rcexp) list, bodyExp, loc} => let val (context, binds) = evalBindsSeq context binds val bodyExp = evalExp context bodyExp in case binds of nil => bodyExp | _ => RC.RCMONOLET {binds=binds, bodyExp=bodyExp, loc=loc} end | RC.RCOPRIMAPPLY {argExp, instTyList, loc, oprimOp:T.oprimInfo} => RC.RCOPRIMAPPLY {argExp = eval argExp, instTyList = map evalT instTyList, loc = loc, oprimOp = evalOprimInfo context oprimOp } | RC.RCPOLY {btvEnv, exp, expTyWithoutTAbs, loc} => RC.RCPOLY {btvEnv=evalBtvEnv context btvEnv, exp = eval exp, expTyWithoutTAbs = evalT expTyWithoutTAbs, loc = loc } | RC.RCPOLYFNM {argVarList, bodyExp, bodyTy, btvEnv, loc} => RC.RCPOLYFNM {argVarList=map (evalTyVar context) argVarList, bodyExp=eval bodyExp, bodyTy=evalT bodyTy, btvEnv=evalBtvEnv context btvEnv, loc=loc } | RC.RCPRIMAPPLY {argExp, instTyList, loc, primOp:T.primInfo} => RC.RCPRIMAPPLY {argExp=eval argExp, instTyList=map evalT instTyList, loc=loc, primOp=evalPrimInfo context primOp } | RC.RCRAISE {exp, loc, ty} => RC.RCRAISE {exp=eval exp, loc=loc, ty = evalT ty} | RC.RCRECORD {fields:rcexp LabelEnv.map, loc, recordTy} => RC.RCRECORD {fields=LabelEnv.map eval fields, loc=loc, recordTy=evalT recordTy } | RC.RCSELECT {exp, expTy, indexExp, label, loc, resultTy} => let val exp = eval exp in case exp of RC.RCRECORD {fields, loc, recordTy} => if not (RCU.expansive exp) then (case LabelEnv.find (fields, label) of SOME exp => exp | NONE => raise bug "label not found") else raise bug "non value term in a record" | _ => RC.RCSELECT {exp=exp, expTy=evalT expTy, indexExp = eval indexExp, label=label, loc=loc, resultTy=evalT resultTy } end | RC.RCSEQ {expList, expTyList, loc} => RC.RCSEQ {expList = map eval expList, expTyList = map evalT expTyList, loc = loc } | RC.RCSIZEOF (ty, loc) => RC.RCSIZEOF (evalT ty, loc) | RC.RCSQL (RC.RCSQLSERVER {schema:Types.ty LabelEnv.map LabelEnv.map, server:string}, ty, loc) => let val ty = evalT ty val schema = LabelEnv.map (LabelEnv.map evalT) schema in RC.RCSQL (RC.RCSQLSERVER {schema=schema, server=server }, ty, loc ) end | RC.RCTAPP {exp, expTy, instTyList, loc} => let val exp = eval exp val expTy = evalT expTy val instTyList = map evalT instTyList in case exp of RC.RCPOLY {btvEnv, exp, expTyWithoutTAbs, loc} => let val newContext = applyTys context (btvEnv, instTyList) in evalExp newContext exp end | RC.RCPOLYFNM {argVarList, bodyExp, bodyTy, btvEnv, loc} => let val newContext = applyTys context (btvEnv, instTyList) val bodyExp = evalExp newContext bodyExp val bodyTy = evalTy newContext bodyTy val argVarList = map (evalTyVar newContext) argVarList in RC.RCFNM {argVarList=argVarList, bodyExp=bodyExp, bodyTy=bodyTy, loc=loc} end | _ => RC.RCTAPP {exp=exp, expTy = expTy, instTyList= instTyList, loc = loc } end | RC.RCVAR (varInfo, loc) => evalVar context (varInfo, loc) | RC.RCEXPORTCALLBACK {foreignFunTy:Types.foreignFunTy, funExp:rcexp, loc:Loc.loc} => RC.RCEXPORTCALLBACK {foreignFunTy = evalForeignFunTy context foreignFunTy, funExp= eval funExp, loc=loc } | RC.RCFOREIGNAPPLY {argExpList:rcexp list, foreignFunTy:Types.foreignFunTy, funExp:rcexp, loc:Loc.loc} => RC.RCFOREIGNAPPLY {argExpList= map eval argExpList, foreignFunTy = evalForeignFunTy context foreignFunTy, funExp = eval funExp, loc = loc} | RC.RCINDEXOF (string, ty, loc) => RC.RCINDEXOF (string, evalT ty, loc) | RC.RCSWITCH {branches:(Absyn.constant * rcexp) list, defaultExp:rcexp, expTy:Types.ty, loc:Loc.loc, switchExp:rcexp} => RC.RCSWITCH {branches = map (fn (const, exp) => (const, eval exp) ) branches, defaultExp = eval defaultExp, expTy = evalT expTy, loc = loc, switchExp=eval switchExp } | RC.RCTAGOF (ty, loc) => RC.RCTAGOF (evalT ty, loc) end and applyTerms ({varMap, btvMap}:context) (argVarList:T.varInfo list, argExpList:RC.rcexp list, body:RC.rcexp, loc) = let val termBinds = ListPair.zip (argVarList, argExpList) val (bindsRev, varMap) = foldl (fn ((var,exp), (bindsRev, varMap)) => if isInline (var,exp) then (bindsRev, VarID.Map.insert(varMap, #id var, exp)) else ((var,exp)::bindsRev, varMap) ) (nil, varMap) termBinds val binds = List.rev bindsRev val newContext = {varMap=varMap, btvMap=btvMap} val newBody = evalExp newContext body in case binds of nil => newBody | _ => RC.RCMONOLET {binds=binds, bodyExp=newBody, loc=loc} end and evalDecl (tpdecl:RC.rcdecl, (context:context, declListRev:RC.rcdecl list)) = case tpdecl of RC.RCEXD (exbinds:{exnInfo:Types.exnInfo, loc:Loc.loc} list, loc) => let val res = (context, RC.RCEXD (map (fn {exnInfo, loc} => {exnInfo=evalExnInfo context exnInfo, loc=loc}) exbinds, loc) ::declListRev ) in res end | RC.RCEXNTAGD ({exnInfo, varInfo}, loc) => let val varExp = evalVar context (varInfo, loc) val declListRev = case varExp of RC.RCVAR (newVar, _) => RC.RCEXNTAGD ({exnInfo=evalExnInfo context exnInfo, varInfo=newVar}, loc) ::declListRev | newExp => let val newVar = RCU.newRCVarInfo (#ty varInfo) val bindDecl = RC.RCVAL ([(newVar, newExp)], loc) val newTpexntag = RC.RCEXNTAGD ({exnInfo=evalExnInfo context exnInfo, varInfo=newVar}, loc) in newTpexntag :: bindDecl :: declListRev end val res = (context, declListRev) in res end | RC.RCEXPORTEXN (exnInfo, loc) => (context, RC.RCEXPORTEXN (evalExnInfo context exnInfo, loc) :: declListRev ) | RC.RCEXPORTVAR {internalVar, externalVar, loc} => let val tpexp = evalVar context (internalVar, loc) val (internalVar, declListRev) = case tpexp of RC.RCVAR (var,loc) => (var, declListRev) | _ => let val internalVar = evalTyVar context internalVar in (internalVar, RC.RCVAL ([(internalVar, tpexp)],loc) :: declListRev) end val externalVar=evalExVarInfo context externalVar in (context, RC.RCEXPORTVAR {internalVar=internalVar, externalVar=externalVar, loc=loc} :: declListRev ) end | RC.RCEXTERNEXN ({path, ty}, loc) => (context, RC.RCEXTERNEXN ({path=path, ty=evalTy context ty}, loc) :: declListRev ) | RC.RCEXTERNVAR ({path, ty}, loc) => (context, RC.RCEXTERNVAR ({path=path, ty=evalTy context ty}, loc) :: declListRev ) | RC.RCVAL (binds:(T.varInfo * rcexp) list, loc) => let val (context, binds) = evalBindsSeq context binds val declListRev = case binds of nil => declListRev | _ => RC.RCVAL (binds, loc) :: declListRev in (context, declListRev) end | RC.RCVALPOLYREC (btvEnv, recbinds:{exp:rcexp, expTy:ty, var:T.varInfo} list, loc) => let val btvEnv = evalBtvEnv context btvEnv val recbinds = map (fn {exp, expTy, var} => {var=evalTyVar context var, expTy=evalTy context expTy, exp=evalExp context exp} ) recbinds in (context, RC.RCVALPOLYREC (btvEnv, recbinds, loc) :: declListRev ) end | RC.RCVALREC (recbinds:{exp:rcexp, expTy:ty, var:T.varInfo} list,loc) => let val recbinds = map (fn {exp, expTy, var} => {var=evalTyVar context var, expTy=evalTy context expTy, exp=evalExp context exp} ) recbinds in (context, RC.RCVALREC (recbinds, loc) :: declListRev ) end and evalBind context ((var, exp), (newContext, bindsRev)) = let val var = evalTyVar context var val exp = evalExp context exp val (newContext, bindsRev) = if isZeroUse var andalso not (RCU.expansive exp) then (newContext, bindsRev) else if isInline (var, exp) then (P.print "inlining :"; P.printPath (#path var); P.print "\n"; (bindExp (newContext, var, exp), bindsRev) ) else (newContext, (var,exp)::bindsRev) in (newContext, bindsRev) end and evalBinds context binds = let val (newContext, bindsRev) = foldl (evalBind context) (context, nil) binds in (newContext, List.rev bindsRev) end and evalBindSeq ((var, exp), (context, bindsRev)) = let val var = evalTyVar context var val exp = evalExp context exp val (context, bindsRev) = if isInline (var, exp) then (P.print "inlining :"; P.printPath (#path var); P.print "\n"; (bindExp (context, var, exp), bindsRev) ) else (context, (var,exp)::bindsRev) in (context, bindsRev) end and evalBindsSeq context binds = let val (context, bindsRev) = foldl evalBindSeq (context, nil) binds in (context, List.rev bindsRev) end and evalDeclList context declList = let val (context, declListRev) = foldl evalDecl (context, nil) declList in (context, List.rev declListRev) end in fun optimize declList = let val declList = RCRevealTy.revealTyRcdeclList declList val _ = countMapRef := RCAnalyse.analyseDeclList declList val (context, declList) = evalDeclList emptyContext declList in declList end end end smlsharp-1.2.0/src/compiler/recordcalcoptimization/main/RCRevealTy.smi0000644 000000000000000000000114612050661606026274 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../types/main/Types.ppg.smi" _require "../../types/main/TyRevealTy.smi" _require "../../typedcalc/main/TypedCalc.ppg.smi" _require "../../typedcalcoptimization/main/TCRevealTy.smi" _require "../../recordcalc/main/RecordCalc.ppg.smi" structure RCRevealTy = struct val revealTyRcdeclList : RecordCalc.rcdecl list -> RecordCalc.rcdecl list end smlsharp-1.2.0/src/compiler/recordcalcoptimization/main/RCRevealTy.sml0000644 000000000000000000002542512050661606026305 0ustar00rootroot0000000 0000000 structure RCRevealTy = struct local structure TC = TypedCalc structure RC = RecordCalc structure T = Types fun bug s = Control.Bug ("RevealTy: " ^ s) val revealTy = TyRevealTy.revealTy val revealVar = TyRevealTy.revealVar val revealConInfo = TyRevealTy.revealConInfo val revealExnInfo = TyRevealTy.revealExnInfo val revealExExnInfo = TyRevealTy.revealExExnInfo val revealOprimInfo = TyRevealTy.revealOprimInfo val revealPrimInfo = TyRevealTy.revealPrimInfo val revealBtvEnv = TyRevealTy.revealBtvEnv val revealFfiTy = TCRevealTy.revealFfiTy val revealExnCon = TCRevealTy.revealExnCon (* declaration for type constraints *) type ty = T.ty type path = T.path type varInfo = {path:path, id:VarID.id, ty:ty} type rcexp = RC.rcexp fun evalExp (exp:rcexp) : rcexp = case exp of RC.RCAPPM {argExpList, funExp, funTy, loc} => RC.RCAPPM {argExpList = map evalExp argExpList, funExp = evalExp funExp, funTy = revealTy funTy, loc = loc} | RC.RCCASE {defaultExp:rcexp, exp:rcexp, expTy:Types.ty, loc:Loc.loc, ruleList:(T.conInfo * varInfo option * rcexp) list} => RC.RCCASE {defaultExp=evalExp defaultExp, exp = evalExp exp, expTy = revealTy expTy, loc=loc, ruleList = map (fn (con, varOpt, exp) => (con, Option.map revealVar varOpt, evalExp exp)) ruleList } | RC.RCCAST (rcexp, ty, loc) => RC.RCCAST (evalExp rcexp, revealTy ty, loc) | RC.RCCONSTANT {const, loc, ty} => RC.RCCONSTANT {const=const, loc = loc, ty=revealTy ty} | RC.RCDATACONSTRUCT {argExpOpt, argTyOpt, con:T.conInfo, instTyList, loc} => RC.RCDATACONSTRUCT {argExpOpt = Option.map evalExp argExpOpt, argTyOpt = Option.map revealTy argTyOpt, con = revealConInfo con, instTyList = map revealTy instTyList, loc = loc } | RC.RCEXNCASE {defaultExp:rcexp, exp:rcexp, expTy:ty, loc:Loc.loc, ruleList:(TC.exnCon * varInfo option * rcexp) list} => RC.RCEXNCASE {defaultExp=evalExp defaultExp, exp = evalExp exp, expTy = revealTy expTy, loc=loc, ruleList = map (fn (con, varOpt, exp) => (con, Option.map revealVar varOpt, evalExp exp)) ruleList } | RC.RCEXNCONSTRUCT {argExpOpt, exn:TC.exnCon, instTyList, loc} => RC.RCEXNCONSTRUCT {argExpOpt = Option.map evalExp argExpOpt, exn = revealExnCon exn, instTyList = map revealTy instTyList, loc = loc } | RC.RCEXN_CONSTRUCTOR {exnInfo, loc} => RC.RCEXN_CONSTRUCTOR {exnInfo=revealExnInfo exnInfo, loc=loc} | RC.RCEXEXN_CONSTRUCTOR {exExnInfo, loc} => RC.RCEXEXN_CONSTRUCTOR {exExnInfo=revealExExnInfo exExnInfo, loc= loc} | RC.RCEXVAR ({path, ty}, loc) => RC.RCEXVAR ({path=path, ty=revealTy ty}, loc) | RC.RCFNM {argVarList, bodyExp, bodyTy, loc} => RC.RCFNM {argVarList = map revealVar argVarList, bodyExp = evalExp bodyExp, bodyTy = revealTy bodyTy, loc = loc } | RC.RCGLOBALSYMBOL {kind, loc, name, ty} => RC.RCGLOBALSYMBOL {kind=kind, loc=loc, name=name, ty=revealTy ty} | RC.RCHANDLE {exnVar, exp, handler, loc} => RC.RCHANDLE {exnVar=revealVar exnVar, exp=evalExp exp, handler= evalExp handler, loc=loc} | RC.RCLET {body:rcexp list, decls, loc, tys} => RC.RCLET {body=map evalExp body, decls=map evalDecl decls, loc=loc, tys=map revealTy tys} | RC.RCMODIFY {elementExp, elementTy, indexExp, label, loc, recordExp, recordTy} => RC.RCMODIFY {elementExp = evalExp elementExp, elementTy = revealTy elementTy, indexExp = evalExp indexExp, label = label, loc = loc, recordExp = evalExp recordExp, recordTy = revealTy recordTy} | RC.RCMONOLET {binds:(T.varInfo * rcexp) list, bodyExp, loc} => RC.RCMONOLET {binds=map evalBind binds, bodyExp=evalExp bodyExp, loc=loc} | RC.RCOPRIMAPPLY {argExp, instTyList, loc, oprimOp:T.oprimInfo} => RC.RCOPRIMAPPLY {argExp = evalExp argExp, instTyList = map revealTy instTyList, loc = loc, oprimOp = revealOprimInfo oprimOp } | RC.RCPOLY {btvEnv, exp, expTyWithoutTAbs, loc} => RC.RCPOLY {btvEnv=revealBtvEnv btvEnv, exp = evalExp exp, expTyWithoutTAbs = revealTy expTyWithoutTAbs, loc = loc } | RC.RCPOLYFNM {argVarList, bodyExp, bodyTy, btvEnv, loc} => RC.RCPOLYFNM {argVarList=map revealVar argVarList, bodyExp=evalExp bodyExp, bodyTy=revealTy bodyTy, btvEnv=revealBtvEnv btvEnv, loc=loc } | RC.RCPRIMAPPLY {argExp, instTyList, loc, primOp:T.primInfo} => RC.RCPRIMAPPLY {argExp=evalExp argExp, instTyList=map revealTy instTyList, loc=loc, primOp=revealPrimInfo primOp } | RC.RCRAISE {exp, loc, ty} => RC.RCRAISE {exp=evalExp exp, loc=loc, ty = revealTy ty} | RC.RCRECORD {fields:rcexp LabelEnv.map, loc, recordTy} => RC.RCRECORD {fields=LabelEnv.map evalExp fields, loc=loc, recordTy=revealTy recordTy } | RC.RCSELECT {exp, expTy, indexExp, label, loc, resultTy} => RC.RCSELECT {exp=evalExp exp, expTy=revealTy expTy, indexExp = evalExp indexExp, label=label, loc=loc, resultTy=revealTy resultTy } | RC.RCSEQ {expList, expTyList, loc} => RC.RCSEQ {expList = map evalExp expList, expTyList = map revealTy expTyList, loc = loc } | RC.RCSIZEOF (ty, loc) => RC.RCSIZEOF (revealTy ty, loc) | RC.RCSQL (RC.RCSQLSERVER {schema:Types.ty LabelEnv.map LabelEnv.map, server:string}, ty, loc) => RC.RCSQL (RC.RCSQLSERVER {schema=LabelEnv.map (LabelEnv.map revealTy) schema, server=server}, revealTy ty, loc) | RC.RCTAPP {exp, expTy, instTyList, loc} => RC.RCTAPP {exp = evalExp exp, expTy = revealTy expTy, instTyList = map revealTy instTyList, loc = loc } | RC.RCVAR (varInfo, loc) => RC.RCVAR (revealVar varInfo, loc) | RC.RCEXPORTCALLBACK {foreignFunTy:Types.foreignFunTy, funExp:rcexp, loc:Loc.loc} => RC.RCEXPORTCALLBACK {foreignFunTy = evalForeignFunTy foreignFunTy, funExp = evalExp funExp, loc=loc} | RC.RCFOREIGNAPPLY {argExpList:rcexp list, foreignFunTy:Types.foreignFunTy, funExp:rcexp, loc:Loc.loc} => RC.RCFOREIGNAPPLY {argExpList = map evalExp argExpList, foreignFunTy=evalForeignFunTy foreignFunTy, funExp = evalExp funExp, loc=loc} | RC.RCFFI (RC.RCFFIIMPORT {ffiTy:TypedCalc.ffiTy, ptrExp:rcexp}, ty, loc) => RC.RCFFI (RC.RCFFIIMPORT {ffiTy=revealFfiTy ffiTy, ptrExp=evalExp ptrExp}, revealTy ty, loc) | RC.RCINDEXOF (string, ty, loc) => RC.RCINDEXOF (string, revealTy ty, loc) | RC.RCSWITCH {branches:(Absyn.constant * rcexp) list, defaultExp:rcexp, expTy:Types.ty, loc:Loc.loc, switchExp:rcexp} => RC.RCSWITCH {branches = map (fn (con, exp) => (con, evalExp exp)) branches, defaultExp = evalExp defaultExp, expTy=revealTy expTy, loc=loc, switchExp=evalExp switchExp } | RC.RCTAGOF (ty, loc) => RC.RCTAGOF (revealTy ty, loc) and evalForeignFunTy { argTyList : ty list, resultTy : ty, attributes : Absyn.ffiAttributes } = { argTyList = map revealTy argTyList, resultTy = revealTy resultTy, attributes = attributes } and evalDecl (rcdecl:RC.rcdecl) = case rcdecl of RC.RCEXD (exbinds:{exnInfo:Types.exnInfo, loc:Loc.loc} list, loc) => RC.RCEXD (map (fn {exnInfo, loc} => {exnInfo=revealExnInfo exnInfo, loc=loc}) exbinds, loc) | RC.RCEXNTAGD ({exnInfo, varInfo}, loc) => RC.RCEXNTAGD ({exnInfo=revealExnInfo exnInfo, varInfo=revealVar varInfo}, loc) | RC.RCEXPORTEXN (exnInfo, loc) => RC.RCEXPORTEXN (revealExnInfo exnInfo, loc) | RC.RCEXPORTVAR {internalVar, externalVar, loc} => RC.RCEXPORTVAR {internalVar=internalVar, externalVar=externalVar, loc=loc} | RC.RCEXTERNEXN ({path, ty}, loc) => RC.RCEXTERNEXN ({path=path, ty=revealTy ty}, loc) | RC.RCEXTERNVAR ({path, ty}, loc) => RC.RCEXTERNVAR ({path=path, ty=revealTy ty}, loc) | RC.RCVAL (binds:(T.varInfo * rcexp) list, loc) => RC.RCVAL (map evalBind binds, loc) | RC.RCVALPOLYREC (btvEnv, recbinds:{exp:rcexp, expTy:ty, var:T.varInfo} list, loc) => RC.RCVALPOLYREC (revealBtvEnv btvEnv, map (fn {exp, expTy, var} => {var=revealVar var, expTy=revealTy expTy, exp=evalExp exp} ) recbinds, loc) | RC.RCVALREC (recbinds:{exp:rcexp, expTy:ty, var:T.varInfo} list,loc) => RC.RCVALREC ( map (fn {exp, expTy, var} => {var=revealVar var, expTy=revealTy expTy, exp=evalExp exp} ) recbinds, loc) and evalBind (var, exp) = (revealVar var, evalExp exp) in fun revealTyRcdeclList declList = map evalDecl declList end end smlsharp-1.2.0/src/compiler/recordcalcoptimization/main/RCSize.smi0000644 000000000000000000000133512050661606025453 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../types/main/Types.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../typedcalc/main/TypedCalc.ppg.smi" _require "../../recordcalc/main/RecordCalc.ppg.smi" structure RCSize = struct val sizeExp : RecordCalc.rcexp -> int val sizeDecl : RecordCalc.rcdecl -> int val sizeDeclList : RecordCalc.rcdecl list -> int val isSmallerExp : RecordCalc.rcexp * int -> bool val isSmallerDecl : RecordCalc.rcdecl * int -> bool val isSmallerDeclList : RecordCalc.rcdecl list * int -> bool end smlsharp-1.2.0/src/compiler/recordcalcoptimization/main/RCSize.sml0000644 000000000000000000001721012050661606025455 0ustar00rootroot0000000 0000000 (* Efficient and accurate size calculation. *) structure RCSize = struct local structure RC = RecordCalc structure TC = TypedCalc structure T = Types structure A = Absyn fun bug s = Control.Bug ("RecordCalcSize: " ^ s) type ty = T.ty type rcexp = RC.rcexp exception Limit val limit = ref NONE : int option ref fun checkLimit n = case !limit of NONE => () | SOME limit => if n > limit then raise Limit else () fun constSize const = case const of A.INT _ => 1 | A.WORD _ => 1 | A.STRING (string, loc) => 1 + String.size string div 4 | A.REAL _ => 2 | A.CHAR _ => 1 | A.UNITCONST _ => 1 | A.NULLCONST _ => 1 fun inc n = n + 1 fun incN (n,N) = n + N fun incConst (n, const) = n + (constSize const) fun incVar (n, vars) = n + (List.length vars) fun incBtvEnv (n, btvEnv) = n + (BoundTypeVarID.Map.numItems btvEnv) datatype items = EXP of RC.rcexp list | DECL of RC.rcdecl list | BIND of (T.varInfo * rcexp) list fun size n nil = n | size n (EXP nil :: items) = size n items | size n (EXP (exp::rest) :: items) = sizeExp n exp (EXP rest :: items) | size n (DECL nil :: items) = size n items | size n (DECL (decl::rest) :: items) = sizeDecl n decl (DECL rest :: items) | size n (BIND nil :: items) = size n items | size n (BIND ((var,body)::rest) :: items) = size (incVar (n, [var])) (EXP [body] :: BIND rest :: items) and sizeExp n exp items = (checkLimit n; case exp of RC.RCAPPM {argExpList, funExp, funTy, loc} => size (inc n) (EXP (funExp::argExpList) :: items) | RC.RCCASE {defaultExp:rcexp, exp:rcexp, expTy:Types.ty, loc:Loc.loc, ruleList:(T.conInfo * T.varInfo option * rcexp) list} => size (inc n) (EXP (defaultExp::exp:: (map #3 ruleList)) :: items) | RC.RCCAST (rcexp, ty, loc) => sizeExp (inc n) rcexp items | RC.RCCONSTANT {const, loc, ty} => size (incConst(n, const)) items | RC.RCDATACONSTRUCT {argExpOpt = NONE, argTyOpt, con:T.conInfo, instTyList, loc } => size (inc n) items | RC.RCDATACONSTRUCT {argExpOpt = SOME exp, argTyOpt, con:T.conInfo, instTyList, loc } => sizeExp (inc n) exp items | RC.RCEXNCASE {defaultExp:rcexp, exp:rcexp, expTy:ty, loc:Loc.loc, ruleList:(TC.exnCon * T.varInfo option * rcexp) list} => size (inc n) (EXP (defaultExp :: exp :: (map #3 ruleList)) :: items) | RC.RCEXNCONSTRUCT {argExpOpt = NONE, exn:TC.exnCon, instTyList, loc } => size (inc n) items | RC.RCEXNCONSTRUCT {argExpOpt = SOME exp, exn:TC.exnCon, instTyList, loc } => sizeExp (inc n) exp items | RC.RCEXN_CONSTRUCTOR {exnInfo, loc} => size (inc n) items | RC.RCEXEXN_CONSTRUCTOR {exExnInfo, loc} => size (inc n) items | RC.RCEXVAR ({path, ty}, loc) => size (inc n) items | RC.RCFNM {argVarList, bodyExp, bodyTy, loc} => sizeExp (incVar (inc n, argVarList)) bodyExp items | RC.RCGLOBALSYMBOL {kind, loc, name, ty} => size (inc n) items | RC.RCHANDLE {exnVar, exp, handler, loc} => size (incVar (inc n, [exnVar])) (EXP [exp, handler]:: items) | RC.RCLET {body:rcexp list, decls, loc, tys} => size (inc n) (EXP body :: DECL decls :: items) | RC.RCMODIFY {elementExp, elementTy, indexExp, label, loc, recordExp, recordTy} => size (inc n) (EXP [elementExp, indexExp, recordExp] :: items) | RC.RCMONOLET {binds:(T.varInfo * rcexp) list, bodyExp, loc} => size (inc n) (BIND binds :: EXP [bodyExp] :: items) | RC.RCOPRIMAPPLY {argExp, instTyList, loc, oprimOp:T.oprimInfo} => sizeExp (inc n) argExp items | RC.RCPOLY {btvEnv, exp, expTyWithoutTAbs, loc} => sizeExp (incBtvEnv (inc n, btvEnv)) exp items | RC.RCPOLYFNM {argVarList, bodyExp, bodyTy, btvEnv, loc} => sizeExp (incBtvEnv(incVar(inc n,argVarList),btvEnv)) bodyExp items | RC.RCPRIMAPPLY {argExp, instTyList, loc, primOp:T.primInfo} => sizeExp (inc n) argExp items | RC.RCRAISE {exp, loc, ty} =>sizeExp (inc n) exp items | RC.RCRECORD {fields:rcexp LabelEnv.map, loc, recordTy} => size (inc n) (EXP (LabelEnv.listItems fields) :: items) | RC.RCSELECT {exp, expTy, indexExp, label, loc, resultTy} => size (inc n) (EXP [exp, indexExp]::items) | RC.RCSEQ {expList, expTyList, loc} => size (inc n) (EXP expList :: items) | RC.RCSIZEOF (ty, loc) => size (inc n) items | RC.RCSQL (RC.RCSQLSERVER {schema:Types.ty LabelEnv.map LabelEnv.map, server:string}, ty, loc) => size (inc n) items | RC.RCTAPP {exp, expTy, instTyList, loc} => sizeExp (inc n) exp items | RC.RCVAR (varInfo, loc) => size (inc n) items | RC.RCEXPORTCALLBACK {foreignFunTy:Types.foreignFunTy, funExp:rcexp, loc:Loc.loc} => sizeExp (inc n) funExp items | RC.RCFOREIGNAPPLY {argExpList:rcexp list, foreignFunTy:Types.foreignFunTy, funExp:rcexp, loc:Loc.loc} => size (inc n) (EXP argExpList :: items) | RC.RCFFI (RC.RCFFIIMPORT {ffiTy:TypedCalc.ffiTy, ptrExp:rcexp}, ty, loc) => sizeExp (inc n) ptrExp items | RC.RCINDEXOF (string, ty, loc) => size (inc n) items | RC.RCSWITCH {branches:(Absyn.constant * rcexp) list, defaultExp:rcexp, expTy:Types.ty, loc:Loc.loc, switchExp:rcexp} => size (inc n) (EXP (defaultExp :: switchExp :: (map #2 branches)) :: items) | RC.RCTAGOF (ty, loc) => size (inc n) items ) and sizeDecl n tpdecl items = (checkLimit n; case tpdecl of RC.RCEXD (exbinds:{exnInfo:Types.exnInfo, loc:Loc.loc} list, loc) => size (incN (n, length exbinds)) items | RC.RCEXNTAGD ({exnInfo, varInfo}, loc) => size (inc n) items | RC.RCEXPORTEXN (exnInfo, loc) => size (inc n) items | RC.RCEXPORTVAR {internalVar, externalVar, loc} => size (inc n) items | RC.RCEXTERNEXN ({path, ty}, loc) => size (inc n) items | RC.RCEXTERNVAR ({path, ty}, loc) => size (inc n) items | RC.RCVAL (binds:(T.varInfo * rcexp) list, loc) => size (inc n) (BIND binds :: items) | RC.RCVALPOLYREC (btvEnv, recbinds:{exp:rcexp, expTy:ty, var:T.varInfo} list, loc) => size (incBtvEnv (inc n, btvEnv)) (BIND (map (fn {exp,expTy,var} => (var, exp)) recbinds) :: items) | RC.RCVALREC (recbinds:{exp:rcexp, expTy:ty, var:T.varInfo} list,loc) => size (inc n) (BIND (map (fn {exp,expTy,var} => (var, exp)) recbinds) :: items) ) in val sizeExp = fn exp => sizeExp 0 exp nil val sizeDecl = fn decl => sizeDecl 0 decl nil val sizeDeclList = fn declList => size 0 [DECL declList] fun isSmallerExp (exp,n) = if n <= 0 then false else (limit := SOME n; sizeExp exp; true) handle Limit => false fun isSmallerDecl (decl,n) = if n <= 0 then false else (limit := SOME n; sizeDecl decl; true) handle Limit => false fun isSmallerDeclList (declList,n) = if n <= 0 then false else (limit := SOME n; sizeDeclList declList; true) handle Limit => false end end smlsharp-1.2.0/src/compiler/recordcompilation0000755 000000000000000000000000012050661606021542 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/recordcompilation/main0000755 000000000000000000000000012050661606022466 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/recordcompilation/main/OverloadKind.smi0000644 000000000000000000000172212050661606025642 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../recordcalc/main/RecordCalc.ppg.smi" _require "../../types/main/Types.ppg.smi" _require "../../types/main/TypesUtils.smi" structure OverloadKind = struct val compareSelector : Types.oprimSelector * Types.oprimSelector -> order val generateSingletonTy : Types.btvEnv -> {instances: Types.ty list, operators: Types.oprimSelector list} -> Types.singletonTy list datatype instance = APP of {appExp: RecordCalc.rcexp -> RecordCalc.rcexp, argTy: Types.ty, bodyTy: Types.ty, singletonTy: Types.singletonTy, loc: Loc.loc} | EXP of RecordCalc.rcexp val generateInstance : Types.oprimSelector -> Loc.loc -> instance option end smlsharp-1.2.0/src/compiler/recordcompilation/main/OverloadKind.sml0000644 000000000000000000001111612050661606025643 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro * @author Atsushi Ohori *) structure OverloadKind : sig val compareSelector : Types.oprimSelector * Types.oprimSelector -> order val generateSingletonTy : Types.btvEnv -> {instances: Types.ty list, operators: Types.oprimSelector list} -> Types.singletonTy list datatype instance = APP of {appExp: RecordCalc.rcexp -> RecordCalc.rcexp, argTy: Types.ty, bodyTy: Types.ty, singletonTy: Types.singletonTy, loc: Loc.loc} (* instance may contain RCTAPP. need more type-directed compilation *) | EXP of RecordCalc.rcexp val generateInstance : Types.oprimSelector -> Loc.loc -> instance option end = struct structure RC = RecordCalc structure T = Types datatype instance = APP of {appExp: RC.rcexp -> RC.rcexp, argTy: T.ty, bodyTy: T.ty, singletonTy: T.singletonTy, loc: Loc.loc} | EXP of RecordCalc.rcexp fun matchToKeyList match = case match of T.OVERLOAD_EXVAR _ => nil | T.OVERLOAD_PRIM _ => nil | T.OVERLOAD_CASE (ty1, matches) => ty1 :: List.concat (map matchToKeyList (TypID.Map.listItems matches)) fun compareKeyTy (ty1, ty2) = case (TypesUtils.derefTy ty1, TypesUtils.derefTy ty2) of (T.BOUNDVARty t1, T.BOUNDVARty t2) => BoundTypeVarID.compare (t1, t2) | (T.BOUNDVARty _, T.CONSTRUCTty _) => LESS | (T.CONSTRUCTty _, T.BOUNDVARty _) => GREATER | (T.CONSTRUCTty {tyCon={id=id1,...},...}, T.CONSTRUCTty {tyCon={id=id2,...},...}) => TypID.compare (id1, id2) | _ => raise Control.Bug "compareKeyTy" fun compareKeyTyList (nil, nil) = EQUAL | compareKeyTyList (nil, _::_) = LESS | compareKeyTyList (_::_, nil) = GREATER | compareKeyTyList (ty1::tys1, ty2::tys2) = case compareKeyTy (ty1, ty2) of EQUAL => compareKeyTyList (tys1, tys2) | x => x fun compareSelector ({oprimId=id1, path=_, keyTyList=_, match=match1, instMap=_} :T.oprimSelector, {oprimId=id2, path=_, keyTyList=_, match=match2, instMap=_} :T.oprimSelector) = case OPrimID.compare (id1, id2) of EQUAL => compareKeyTyList (matchToKeyList match1, matchToKeyList match2) | x => x fun evalMatch (match, sty, loc) = case match of T.OVERLOAD_EXVAR {exVarInfo, instTyList} => let val varExp = RC.RCEXVAR (exVarInfo, loc) val retExp = case instTyList of nil => varExp | _::_ => RC.RCTAPP {exp = varExp, expTy = #ty exVarInfo, instTyList = instTyList, loc = loc} in SOME (EXP (RC.RCCAST (retExp, T.SINGLETONty sty, loc))) end | T.OVERLOAD_PRIM {primInfo, instTyList} => let val (argTy, retTy) = case TypesUtils.tpappTy (#ty primInfo, instTyList) of T.FUNMty ([argTy], retTy) => (argTy, retTy) | _ => raise Control.Bug "evalMatch: OVERLOAD_PRIM" in SOME (APP {appExp = fn argExp => RC.RCPRIMAPPLY {primOp = primInfo, instTyList = instTyList, argExp = argExp, loc = loc}, argTy = argTy, bodyTy = retTy, singletonTy = sty, loc = loc}) end | T.OVERLOAD_CASE (caseTy, matches) => case TypesUtils.derefTy caseTy of T.CONSTRUCTty {tyCon={id,...},...} => (case TypID.Map.find (matches, id) of SOME match => evalMatch (match, sty, loc) | NONE => NONE) | _ => NONE fun generateInstance (selector as {oprimId, match, ...}:T.oprimSelector) loc = evalMatch (match, T.INSTCODEty selector, loc) fun generateSingletonTy (btvEnv:Types.btvEnv) {instances:T.ty list, operators} = map (fn operator as {keyTyList, match, ...} => (app (fn ty => case TypesUtils.derefTy ty of T.BOUNDVARty t => if BoundTypeVarID.Map.inDomain (btvEnv, t) then () else raise Control.Bug "generateSingletonTy" | _ => ()) (keyTyList @ matchToKeyList match); T.INSTCODEty operator)) operators end smlsharp-1.2.0/src/compiler/recordcompilation/main/RecordCompilation.smi0000644 000000000000000000000160412050661606026675 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlnj-lib/Util/ord-key-sig.sml" _require "../../../smlnj-lib/Util/binary-map-fn.smi" _require "../../../smlnj-lib/Util/binary-set-fn.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../recordcalc/main/RecordCalc.ppg.smi" _require "../../recordcalc/main/RecordCalcFormatter.smi" _require "../../typedcalc/main/TypedCalc.ppg.smi" _require "../../types/main/Types.ppg.smi" _require "../../types/main/TypesUtils.smi" _require "../../types/main/TyAlphaRename.smi" _require "OverloadKind.smi" _require "RecordKind.smi" _require "UnivKind.smi" structure RecordCompilation = struct val compile : RecordCalc.rcdecl list -> RecordCalc.rcdecl list end smlsharp-1.2.0/src/compiler/recordcompilation/main/RecordCompilation.sml0000644 000000000000000000007365512050661606026717 0ustar00rootroot0000000 0000000 (** * Platform indepedent type-directed compilation. * * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro * @author Atsushi Ohori * * This module relys on the type structure of rank-1 polymorphism. *) structure RecordCompilation : sig val compile : RecordCalc.rcdecl list -> RecordCalc.rcdecl list end = struct fun printRcexp rcexp = print (RecordCalcFormatter.rcexpToString nil rcexp) fun printRcdecl rcexp = print (RecordCalcFormatter.rcdecToString rcexp) structure RC = RecordCalc structure TC = TypedCalc structure T = Types fun newVar ty = let val id = VarID.generate () in {path = ["$" ^ VarID.toString id], ty = ty, id = id} : T.varInfo end fun mapi f l = let fun loop f i nil = nil | loop f i (h::t) = f (h, i) :: loop f (i + 1) t in loop f 0 l end fun mapToLabelEnv f nil = LabelEnv.empty | mapToLabelEnv f (h::t) = let val (label, value) = f h in LabelEnv.insert (mapToLabelEnv f t, label, value) end fun Exp (exp, expTy) = (fn loc => exp, expTy) fun Var (var as {ty,...}) = (fn loc => RC.RCVAR (var, loc), ty) fun SELECT (label, (exp, expTy)) = let val resultTy = case expTy of T.RECORDty fields => (case LabelEnv.find (fields, label) of SOME ty => ty | NONE => raise Control.Bug ("SELECT " ^ label)) | _ => raise Control.Bug "SELECT (not record)" in (fn loc => RC.RCSELECT {indexExp = RC.RCINDEXOF (label, expTy, loc), label = label, exp = exp loc, expTy = expTy, resultTy = resultTy, loc = loc}, resultTy) end fun RECORD fields = let val recordTy = T.RECORDty (LabelEnv.map (fn (exp, expTy) => expTy) fields) in (fn loc => RC.RCRECORD {fields = LabelEnv.map (fn (exp, expTy) => exp loc) fields, recordTy = recordTy, loc = loc}, recordTy) end fun APPM ((exp, expTy), args) = (fn loc => RC.RCAPPM {funExp = exp loc, funTy = expTy, argExpList = map (fn (exp,ty) => exp loc) args, loc = loc}, case TypesUtils.derefTy expTy of T.FUNMty (argTys, retTy) => retTy | _ => raise Control.Bug "APPM") fun POLYFNM (btvEnv, args, (bodyExp, bodyTy)) = (fn loc => RC.RCPOLYFNM {btvEnv = btvEnv, argVarList = args, bodyTy = bodyTy, bodyExp = bodyExp loc, loc = loc}, T.POLYty {boundtvars = btvEnv, body = T.FUNMty (map #ty args, bodyTy)}) fun TAPP ((exp, expTy), instTyList) = (fn loc => RC.RCTAPP {exp = exp loc, expTy = expTy, instTyList = instTyList, loc = loc}, TypesUtils.tpappTy (expTy, instTyList)) handle e => raise e fun LET (dec, (exp, expTy)) = (fn loc => RC.RCLET {decls=[dec loc], body=[exp loc], tys=[expTy], loc=loc}, expTy) fun VALDEC binds loc = RC.RCVAL (map (fn (var,(exp,expTy:T.ty)) => (var, exp loc)) binds, loc) fun VALRECDEC binds loc = RC.RCVALREC (map (fn (var,(exp,expTy)) => {var = var, expTy = expTy, exp = exp loc}) binds, loc) fun etaExpandPolyCon (conInfo, loc) = (* 2012-9-12 ohori: This case violates the Barendregt conveiton We alpha-rename boundtvars. *) case TyAlphaRename.copyTy TyAlphaRename.emptyBtvMap (TypesUtils.derefTy (#ty conInfo)) of T.POLYty {boundtvars, body} => let val instTyList = map T.BOUNDVARty (BoundTypeVarID.Map.listKeys boundtvars) in case TypesUtils.derefTy body of T.FUNMty ([argTy], ranTy) => let val newVar = newVar argTy in RC.RCPOLYFNM {btvEnv = boundtvars, argVarList = [newVar], bodyTy = ranTy, bodyExp = RC.RCDATACONSTRUCT {con = conInfo, instTyList = instTyList, argExpOpt = SOME (RC.RCVAR (newVar, loc)), argTyOpt = SOME argTy, loc = loc}, loc = loc} end | _ => RC.RCPOLY {btvEnv = boundtvars, expTyWithoutTAbs = body, exp = RC.RCDATACONSTRUCT {con = conInfo, instTyList = instTyList, argExpOpt = NONE, argTyOpt = NONE, loc = loc}, loc = loc} end | _ => RC.RCDATACONSTRUCT {con = conInfo, instTyList = nil, argExpOpt = NONE, argTyOpt = NONE, loc = loc} structure SingletonTyOrd : ORD_KEY = struct type ord_key = T.singletonTy fun order sty = case sty of T.TAGty _ => 0 | T.SIZEty _ => 1 | T.INDEXty _ => 2 | T.INSTCODEty _ => 3 fun compare (sty1, sty2) = case (sty1, sty2) of (T.INSTCODEty op1, T.INSTCODEty op2) => OverloadKind.compareSelector (op1, op2) | (T.INDEXty i1, T.INDEXty i2) => RecordKind.compareIndex (i1, i2) | (T.SIZEty ty1, T.SIZEty ty2) => UnivKind.compareTagTy (ty1, ty2) | (T.TAGty ty1, T.TAGty ty2) => UnivKind.compareSizeTy (ty1, ty2) | (T.INSTCODEty _, _) => Int.compare (order sty1, order sty2) | (T.INDEXty _, _) => Int.compare (order sty1, order sty2) | (T.SIZEty _, _) => Int.compare (order sty1, order sty2) | (T.TAGty _, _) => Int.compare (order sty1, order sty2) end structure SingletonTyMap = BinaryMapFn(SingletonTyOrd) structure SingletonTySet = BinarySetFn(SingletonTyOrd) fun generateExtraArgsOfKind btvEnv (btv, recordKind) = case recordKind of T.UNIV => UnivKind.generateSingletonTy btv | T.OCONSTkind tys => nil | T.OPRIMkind k => UnivKind.generateSingletonTy btv @ OverloadKind.generateSingletonTy btvEnv k | T.REC r => RecordKind.generateSingletonTy (btv, r) fun generateExtraArgs btvEnv = let val args = map (fn (tid, {eqKind, tvarKind}) => foldl (fn (x,z) => SingletonTySet.add (z,x)) SingletonTySet.empty (generateExtraArgsOfKind btvEnv (tid, tvarKind))) (BoundTypeVarID.Map.listItemsi btvEnv) fun unique (occurred, nil) = nil | unique (occurred, h::t) = SingletonTySet.listItems (SingletonTySet.difference (h, occurred)) @ unique (SingletonTySet.union (occurred, h), t) in map T.SINGLETONty (unique (SingletonTySet.empty, args)) end fun generateExtraArgVars btvEnv = map newVar (generateExtraArgs btvEnv) type context = { instanceEnv: T.varInfo SingletonTyMap.map, btvEnv: T.btvEnv } fun extendBtvEnv ({instanceEnv, btvEnv}:context) newBtvEnv = {instanceEnv = instanceEnv, btvEnv = BoundTypeVarID.Map.unionWith #2 (btvEnv, newBtvEnv)} : context fun addExtraBinds ({instanceEnv, btvEnv}:context) vars = { instanceEnv = foldl (fn (var as {ty = T.SINGLETONty sty, ...} : T.varInfo, instanceEnv) => SingletonTyMap.insert (instanceEnv, sty, var) | _ => raise Control.Bug "addExtraBinds") instanceEnv vars, btvEnv = btvEnv } : context fun compileTy ty = case ty of T.SINGLETONty _ => ty | T.ERRORty => ty | T.DUMMYty id => ty | T.TYVARty tv => ty (* what used to be tyvar contains no POLYty. *) | T.BOUNDVARty tid => ty | T.FUNMty (argTys, retTy) => (* argTys may contain polyTy due to functor. *) T.FUNMty (map compileTy argTys, compileTy retTy) | T.RECORDty fields => T.RECORDty (LabelEnv.map compileTy fields) | T.CONSTRUCTty {tyCon, args} => T.CONSTRUCTty {tyCon = tyCon, args = map compileTy args} | T.POLYty {boundtvars, body} => case generateExtraArgs boundtvars of nil => T.POLYty {boundtvars = boundtvars, body = compileTy body} | extraTys => T.POLYty {boundtvars = boundtvars, body = T.FUNMty (extraTys, compileTy body)} fun compileVarInfo ({path, ty, id} : T.varInfo) = {path = path, ty = compileTy ty, id = id} : T.varInfo fun compileExVarInfo ({path, ty} : T.exVarInfo) = {path = path, ty = compileTy ty} : T.exVarInfo datatype instance = APP of {appExp: RC.rcexp -> RC.rcexp, argTy: T.ty, bodyTy: T.ty, singletonTy: T.singletonTy, loc: Loc.loc} | EXP of RC.rcexp fun toExp instance = case instance of EXP exp => exp | APP {appExp, argTy, bodyTy, singletonTy, loc} => let val arg = newVar argTy in RC.RCCAST (RC.RCFNM {argVarList = [arg], bodyTy = bodyTy, bodyExp = appExp (RC.RCVAR (arg, loc)), loc = loc}, T.SINGLETONty singletonTy, loc) end fun generateConcreteInstance (context as {btvEnv,...}:context) sty loc = case sty of T.INDEXty index => Option.map EXP (RecordKind.generateInstance index loc) | T.TAGty ty => Option.map EXP (UnivKind.generateTagInstance btvEnv ty loc) | T.SIZEty ty => Option.map EXP (UnivKind.generateSizeInstance btvEnv ty loc) | T.INSTCODEty operator => case OverloadKind.generateInstance operator loc of NONE => NONE | SOME (OverloadKind.APP app) => SOME (APP app) | SOME (OverloadKind.EXP exp) => (* may contain RCTAPP. need more type-directed compilation *) SOME (EXP (compileExp context exp)) and generateInstance (context as {instanceEnv,...}) sty loc = case generateConcreteInstance context sty loc of SOME inst => inst | NONE => case SingletonTyMap.find (instanceEnv, sty) of SOME var => EXP (RC.RCVAR (var, loc)) | NONE => (print (Control.prettyPrint (T.format_ty nil (T.SINGLETONty sty)) ^ "\n"); raise Control.Bug "generateInstance") and generateInstances context tys loc = map (fn ty as T.SINGLETONty sty => generateInstance context sty loc | _ => raise Control.Bug "generateExtraInstExps") tys and compileExp context rcexp = case rcexp of RC.RCFOREIGNAPPLY {funExp, foreignFunTy, argExpList, loc} => RC.RCFOREIGNAPPLY {funExp = compileExp context funExp, argExpList = map (compileExp context) argExpList, foreignFunTy = foreignFunTy, (* contains no POLYty *) loc = loc} | RC.RCEXPORTCALLBACK {funExp, foreignFunTy, loc} => RC.RCEXPORTCALLBACK {funExp = compileExp context funExp, foreignFunTy = foreignFunTy, loc = loc} | RC.RCTAGOF (ty, loc) => (* contains no POLYty *) toExp (generateInstance context (T.TAGty ty) loc) | RC.RCSIZEOF (ty, loc) => (* contains no POLYty *) toExp (generateInstance context (T.SIZEty ty) loc) | RC.RCINDEXOF (label, recordTy, loc) => (* recordTy may contain POLYty due to rank-1 poly *) let val recordTy = compileTy recordTy in toExp (generateInstance context (T.INDEXty (label, recordTy)) loc) end | RC.RCCONSTANT {const, ty, loc} => RC.RCCONSTANT {const=const, ty=ty, loc=loc} | RC.RCGLOBALSYMBOL symbol => (* contains no POLYty *) RC.RCGLOBALSYMBOL symbol | RC.RCVAR (varInfo, loc) => RC.RCVAR (compileVarInfo varInfo, loc) | RC.RCEXVAR (exVarInfo, loc) => RC.RCEXVAR (compileExVarInfo exVarInfo, loc) | RC.RCAPPM {funExp, funTy, argExpList, loc} => RC.RCAPPM {funExp = compileExp context funExp, funTy = compileTy funTy, argExpList = map (compileExp context) argExpList, loc = loc} | RC.RCMONOLET {binds, bodyExp, loc} => RC.RCMONOLET {binds = map (fn (v,e) => (v, compileExp context e)) binds, bodyExp = compileExp context bodyExp, loc = loc} | RC.RCLET {decls, body, tys, loc} => RC.RCLET {decls = List.concat (map (compileDecl context) decls), body = map (compileExp context) body, tys = map compileTy tys, loc = loc} | RC.RCRECORD {fields, recordTy, loc} => RC.RCRECORD {fields = LabelEnv.map (compileExp context) fields, recordTy = compileTy recordTy, loc = loc} | RC.RCSELECT {indexExp, label, exp, expTy, resultTy, loc} => RC.RCSELECT {indexExp = compileExp context indexExp, label = label, exp = compileExp context exp, expTy = compileTy expTy, resultTy = compileTy resultTy, loc = loc} | RC.RCMODIFY {indexExp, label, recordExp, recordTy, elementExp, elementTy, loc} => RC.RCMODIFY {indexExp = compileExp context indexExp, label = label, recordExp = compileExp context recordExp, recordTy = compileTy recordTy, elementExp = compileExp context elementExp, elementTy = compileTy elementTy, loc = loc} | RC.RCRAISE {exp, ty, loc} => (* ty may contain POLYty due to rank-1 poly. * Consider the following example: * fun f 0 = fn x => x * TypeInference infers the type of f as "int -> ['a.'a -> 'a]" and * MatchCompiler generates the default case branch which just raises * "Match" exception. The RCRAISE in the default branch may have * polymorphic type ['a. 'a -> 'a] due to the typing rule of RCSWITCH. *) RC.RCRAISE {exp = compileExp context exp, ty = compileTy ty, loc = loc} | RC.RCHANDLE {exp, exnVar, handler, loc} => RC.RCHANDLE {exp = compileExp context exp, exnVar = exnVar, (* contains no POLYty *) handler = compileExp context handler, loc = loc} | RC.RCCASE {exp, expTy, ruleList, defaultExp, loc} => RC.RCCASE {exp = compileExp context exp, expTy = expTy, (* contains no POLYty *) ruleList = map (fn (c,v,e) => (c, v, (* contains no POLYty *) compileExp context e)) ruleList, defaultExp = compileExp context defaultExp, loc = loc} | RC.RCEXNCASE {exp, expTy, ruleList, defaultExp, loc} => RC.RCEXNCASE {exp = compileExp context exp, expTy = expTy, (* contains no POLYty *) ruleList = map (fn (c,v,e) => (c, v, (* contains no POLYty *) compileExp context e)) ruleList, defaultExp = compileExp context defaultExp, loc = loc} | RC.RCSWITCH {switchExp, expTy, branches, defaultExp, loc} => RC.RCSWITCH {switchExp = compileExp context switchExp, expTy = expTy, (* contains no POLYty *) branches = map (fn (c,e) => (c, compileExp context e)) branches, defaultExp = compileExp context defaultExp, loc = loc} | RC.RCFNM {argVarList, bodyTy, bodyExp, loc} => (* argVarList may contain POLYty due to functor *) RC.RCFNM {argVarList = map compileVarInfo argVarList, bodyTy = compileTy bodyTy, bodyExp = compileExp context bodyExp, loc = loc} | RC.RCPOLYFNM {btvEnv, argVarList, bodyTy, bodyExp, loc} => let val extraArgs = generateExtraArgVars btvEnv val newContext = addExtraBinds context extraArgs val newContext = extendBtvEnv newContext btvEnv val newArgVarList = argVarList (* contains no POLYty *) val newBodyTy = compileTy bodyTy val newBodyExp = compileExp newContext bodyExp in case extraArgs of nil => RC.RCPOLYFNM {btvEnv = btvEnv, argVarList = newArgVarList, bodyTy = newBodyTy, bodyExp = newBodyExp, loc = loc} | _::_ => RC.RCPOLYFNM {btvEnv = btvEnv, argVarList = extraArgs, bodyTy = T.FUNMty (map #ty newArgVarList, newBodyTy), bodyExp = RC.RCFNM {argVarList = newArgVarList, bodyTy = newBodyTy, bodyExp = newBodyExp, loc = loc}, loc = loc} end | RC.RCPOLY {btvEnv, expTyWithoutTAbs, exp, loc} => let val extraArgs = generateExtraArgVars btvEnv val newContext = addExtraBinds context extraArgs val newContext = extendBtvEnv newContext btvEnv val newExpTyWithoutTAbs = compileTy expTyWithoutTAbs val newExp = compileExp newContext exp in case extraArgs of nil => RC.RCPOLY {btvEnv = btvEnv, expTyWithoutTAbs = expTyWithoutTAbs, exp = newExp, loc = loc} | _::_ => RC.RCPOLYFNM {btvEnv = btvEnv, argVarList = extraArgs, bodyTy = newExpTyWithoutTAbs, bodyExp = newExp, loc = loc} end | RC.RCEXNCONSTRUCT {exn, instTyList, argExpOpt, loc} => RC.RCEXNCONSTRUCT {exn = exn, instTyList = instTyList, (* contains no POLYty *) argExpOpt = Option.map (compileExp context) argExpOpt, loc = loc} | RC.RCEXN_CONSTRUCTOR {exnInfo,loc} => (* FIXME check this case *) RC.RCEXN_CONSTRUCTOR {exnInfo=exnInfo,loc=loc} | RC.RCEXEXN_CONSTRUCTOR {exExnInfo,loc} => (* FIXME check this case *) RC.RCEXEXN_CONSTRUCTOR {exExnInfo=exExnInfo,loc=loc} | RC.RCPRIMAPPLY {primOp, instTyList, argExp, loc} => RC.RCPRIMAPPLY {primOp = primOp, instTyList = instTyList, (* contains no POLYty *) argExp = compileExp context argExp, loc = loc} | RC.RCDATACONSTRUCT {con, instTyList=nil, argExpOpt=NONE, argTyOpt, loc} => ( (* In order to keep consistency of global calling convention, * every polymorphic constructor is compiled into a polymorphic * function. To prevent this, we need some kind of escape * analysis so that we can determine whether a constructor is * exported as a external value or not. *) case etaExpandPolyCon (con, loc) of exp as RC.RCDATACONSTRUCT _ => exp | exp => compileExp context exp ) | RC.RCDATACONSTRUCT {con, instTyList, argExpOpt, argTyOpt, loc} => RC.RCDATACONSTRUCT {con = con, instTyList = instTyList, (* contains no POLYty *) argExpOpt = Option.map (compileExp context) argExpOpt, argTyOpt = argTyOpt, (* contains no POLYty *) loc = loc} | RC.RCOPRIMAPPLY {oprimOp={id, ty, path}, instTyList, argExp, loc} => let val argExp = compileExp context argExp val primTy = compileTy ty val primTy = TypesUtils.tpappTy (primTy, instTyList) handle e => raise e val extraArgTys = case primTy of T.FUNMty (argTys, retTy) => argTys | _ => nil val singletonTy = case List.find (fn T.SINGLETONty (T.INSTCODEty {oprimId,...}) => id = oprimId | _ => false) extraArgTys of SOME (T.SINGLETONty sty) => sty | _ => raise Control.Bug "compileExp: RCTAPP: RCOPRIM" val primInst = generateInstance context singletonTy loc in case primInst of APP {appExp, ...} => appExp argExp | EXP exp => let val funTy = TypesUtils.tpappTy (ty, instTyList) handle e => raise e in RC.RCAPPM {funExp = RC.RCCAST (exp, funTy, loc), funTy = funTy, argExpList = [argExp], loc = loc} end end | RC.RCTAPP {exp, expTy, instTyList, loc} => let val newExp = compileExp context exp val newExpTy = compileTy expTy val newInstTyList = instTyList (* contains no POLYty *) val funTy = TypesUtils.tpappTy (newExpTy, newInstTyList) handle e => raise e val extraArgs = case funTy of T.FUNMty (argTys, retTy) => if List.exists (fn T.SINGLETONty _ => true | _ => false) argTys then map toExp (generateInstances context argTys loc) else nil | _ => nil in case extraArgs of nil => RC.RCTAPP {exp = newExp, expTy = newExpTy, instTyList = newInstTyList, loc = loc} | _::_ => RC.RCAPPM {funExp = RC.RCTAPP {exp = newExp, expTy = newExpTy, instTyList = newInstTyList, loc = loc}, funTy = funTy, argExpList = extraArgs, loc = loc} end | RC.RCSEQ {expList, expTyList, loc} => RC.RCSEQ {expList = map (compileExp context) expList, expTyList = map compileTy expTyList, loc = loc} | RC.RCCAST (rcexp, ty, loc) => RC.RCCAST (compileExp context rcexp, compileTy ty, loc) | RC.RCSQL exp => raise Control.Bug "RCSQL" | RC.RCFFI exp => raise Control.Bug "RCFFI" and compileDecl context rcdecl = case rcdecl of RC.RCEXD (exnBinds, loc) => [RC.RCEXD (exnBinds, loc)] (* contains no POLYty *) | RC.RCEXNTAGD (bind, loc) => (* FIXME check this *) [RC.RCEXNTAGD (bind, loc)] (* contains no POLYty *) | RC.RCEXPORTVAR {internalVar, externalVar, loc} => [RC.RCEXPORTVAR {internalVar=compileVarInfo internalVar, externalVar=compileExVarInfo externalVar, loc=loc} ] | RC.RCEXPORTEXN (exnInfo, loc) => [RC.RCEXPORTEXN (exnInfo, loc)] (* contains no POLYty *) | RC.RCEXTERNVAR (exVarInfo, loc) => [RC.RCEXTERNVAR (compileExVarInfo exVarInfo, loc)] | RC.RCEXTERNEXN (exExnInfo, loc) => [RC.RCEXTERNEXN (exExnInfo, loc)] (* contains no POLYty *) | RC.RCVAL (bindList, loc) => [RC.RCVAL (map (fn (v,e) => (compileVarInfo v, compileExp context e)) bindList, loc)] | RC.RCVALREC (bindList, loc) => [RC.RCVALREC (map (fn {var, expTy, exp} => {var = compileVarInfo var, expTy = compileTy expTy, exp = compileExp context exp}) bindList, loc)] | RC.RCVALPOLYREC (btvEnv, {var as {path, ty, id}, expTy, exp}::nil, loc) => (* to suppress redundant onl-element record creation *) let val extraArgs = generateExtraArgVars btvEnv val newContext = extendBtvEnv context btvEnv in case extraArgs of nil => [RC.RCVALPOLYREC (btvEnv, [{var = compileVarInfo var, expTy = compileTy expTy, exp = compileExp newContext exp}], loc)] | _::_ => let val newContext = addExtraBinds newContext extraArgs val localVar = var val var = {path = path, ty = compileTy (T.POLYty {boundtvars = btvEnv, body = ty}), id = id} : T.varInfo val expTy = compileTy expTy val exp = compileExp newContext exp val recExp = POLYFNM (btvEnv, extraArgs, LET (VALRECDEC [(localVar, Exp (exp, expTy))], Var localVar) ) in [VALDEC [(var, recExp)] loc] end end | RC.RCVALPOLYREC (btvEnv, bindList, loc) => let val extraArgs = generateExtraArgVars btvEnv val newContext = extendBtvEnv context btvEnv in case extraArgs of nil => [RC.RCVALPOLYREC (btvEnv, map (fn {var, expTy, exp} => {var = compileVarInfo var, expTy = compileTy expTy, exp = compileExp newContext exp}) bindList, loc)] | _::_ => let (* * ['a#K. val rec f_1 = e_1 ... and f_n = e_n] * || * vv * val F = ['a#K. fn A => let val rec f_1 = e_1' * ... and f_n = e_n' * in (f_1, ..., f_n) end] * val f_1 = ['a#K. fn A => #1 (F {'a} A)] * ... * val f_n = ['a#K. fn A => #n (F {'a} A)] * * This case breaks the uniqueness condition of bound type * variables for efficiency. * * This compilation introduces new POLYtys for each variable * f_1, ..., f_n. To give fresh ids to those bound type * variables, we need to manipulate all occurrance of f_1, * ..., f_n in this program in order to replace type * information. This does not make sense. * * 2012-9-10 Ohori. Changed to maintain Barendregt condition. * In order to keep the uniqueness we have only to introduce * new 'a's and the corresponding A's for each f_i to form: * val f_i = ['a#K. fn A => #i (F {'a} A)] * This is local and simple, and does not introduce overhead. *) val newContext = addExtraBinds newContext extraArgs val recBinds = mapi (fn ({var as {path, ty, id}, expTy, exp}, i) => {localVar = var, var = {path = path, ty = compileTy (T.POLYty {boundtvars = btvEnv, body = ty}), id = id} : T.varInfo, label = Int.toString (i + 1), expTy = compileTy expTy, exp = compileExp newContext exp}) bindList val localRecExp = POLYFNM (btvEnv, extraArgs, LET (VALRECDEC (map (fn {localVar, exp, expTy, ...} => (localVar, Exp (exp, expTy))) recBinds), RECORD (mapToLabelEnv (fn {localVar, label, ...} => (label, Var localVar)) recBinds))) val localRecVar = newVar (#2 localRecExp) val bodyBinds = map (fn {var, label, ...} => let val (_, btvEnv) = TyAlphaRename.newBtvEnv TyAlphaRename.emptyBtvMap btvEnv val extraArgs = generateExtraArgVars btvEnv val instTyList = map T.BOUNDVARty (BoundTypeVarID.Map.listKeys btvEnv) in (var, POLYFNM (btvEnv, extraArgs, SELECT (label, APPM (TAPP (Var localRecVar, instTyList), map Var extraArgs)))) end ) recBinds handle e => raise e in [VALDEC [(localRecVar, localRecExp)] loc, VALDEC bodyBinds loc] end end fun compile topBlockList = let val context = {instanceEnv = SingletonTyMap.empty, btvEnv = BoundTypeVarID.Map.empty} : context in List.concat (map (compileDecl context) topBlockList) end end smlsharp-1.2.0/src/compiler/recordcompilation/main/RecordKind.smi0000644 000000000000000000000132012050661606025277 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../recordcalc/main/RecordCalc.ppg.smi" _require "../../types/main/Types.ppg.smi" _require "../../types/main/TypesUtils.smi" structure RecordKind = struct val compareIndex : (string * Types.ty) * (string * Types.ty) -> order val generateSingletonTy : BoundTypeVarID.id * Types.ty LabelEnv.map -> Types.singletonTy list val generateInstance : (string * Types.ty) -> Loc.loc -> RecordCalc.rcexp option end smlsharp-1.2.0/src/compiler/recordcompilation/main/RecordKind.sml0000644 000000000000000000000227012050661606025307 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro * @author Atsushi Ohori *) structure RecordKind : sig val compareIndex : (string * Types.ty) * (string * Types.ty) -> order val generateSingletonTy : BoundTypeVarID.id * Types.ty LabelEnv.map -> Types.singletonTy list val generateInstance : (string * Types.ty) -> Loc.loc -> RecordCalc.rcexp option end = struct structure RC = RecordCalc structure T = Types fun compareIndex ((l1, t1), (l2, t2)) = case String.compare (l1, l2) of EQUAL => (case (TypesUtils.derefTy t1, TypesUtils.derefTy t2) of (T.BOUNDVARty t1, T.BOUNDVARty t2) => BoundTypeVarID.compare (t1, t2) | _ => raise Control.Bug "compareIndex") | x => x fun generateSingletonTy (btv:BoundTypeVarID.id, fields:T.ty LabelEnv.map) = map (fn label => T.INDEXty (label, T.BOUNDVARty btv)) (LabelEnv.listKeys fields) fun generateInstance (label, ty) loc = case TypesUtils.derefTy ty of ty as T.RECORDty _ => SOME (RC.RCINDEXOF (label, ty, loc)) | _ => NONE end smlsharp-1.2.0/src/compiler/recordcompilation/main/UnivKind.smi0000644 000000000000000000000127312050661606025011 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../recordcalc/main/RecordCalc.ppg.smi" _require "../../types/main/Types.ppg.smi" _require "../../types/main/TypesUtils.smi" structure UnivKind = struct val compareTagTy : Types.ty * Types.ty -> order val compareSizeTy : Types.ty * Types.ty -> order val generateSingletonTy : BoundTypeVarID.id -> Types.singletonTy list val generateTagInstance : Types.btvEnv -> Types.ty -> Loc.loc -> RecordCalc.rcexp option val generateSizeInstance : Types.btvEnv -> Types.ty -> Loc.loc -> RecordCalc.rcexp option end smlsharp-1.2.0/src/compiler/recordcompilation/main/UnivKind.sml0000644 000000000000000000000310312050661606025006 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro * @author Atsushi Ohori *) structure UnivKind : sig val compareTagTy : Types.ty * Types.ty -> order val compareSizeTy : Types.ty * Types.ty -> order val generateSingletonTy : BoundTypeVarID.id -> Types.singletonTy list val generateTagInstance : Types.btvEnv -> Types.ty -> Loc.loc -> RecordCalc.rcexp option val generateSizeInstance : Types.btvEnv -> Types.ty -> Loc.loc -> RecordCalc.rcexp option end = struct structure RC = RecordCalc structure T = Types fun compare (ty1, ty2) = case (TypesUtils.derefTy ty1, TypesUtils.derefTy ty2) of (T.BOUNDVARty t1, T.BOUNDVARty t2) => BoundTypeVarID.compare (t1, t2) | _ => raise Control.Bug "UnivKind.compare" val compareTagTy = compare val compareSizeTy = compare fun generateSingletonTy btv = [T.SIZEty (T.BOUNDVARty btv), T.TAGty (T.BOUNDVARty btv)] fun generateTagInstance (btvEnv:T.btvEnv) ty loc = case TypesUtils.derefTy ty of ty as T.BOUNDVARty tid => (case BoundTypeVarID.Map.find (btvEnv, tid) of SOME {tvarKind=T.REC _, ...} => SOME (RC.RCTAGOF (ty, loc)) | _ => NONE) | _ => SOME (RC.RCTAGOF (ty, loc)) fun generateSizeInstance (btvEnv:T.btvEnv) ty loc = case TypesUtils.derefTy ty of ty as T.BOUNDVARty tid => (case BoundTypeVarID.Map.find (btvEnv, tid) of SOME {tvarKind=T.REC _, ...} => SOME (RC.RCSIZEOF (ty, loc)) | _ => NONE) | _ => SOME (RC.RCSIZEOF (ty, loc)) end smlsharp-1.2.0/src/compiler/recordunboxing0000755 000000000000000000000000012050661606021055 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/recordunboxing/main0000755 000000000000000000000000012050661606022001 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/recordunboxing/main/RecordUnboxing.smi0000644 000000000000000000000127112050661606025523 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../annotatedcalc/main/AnnotatedCalc.ppg.smi" _require "../../annotatedtypes/main/AnnotatedTypes.ppg.smi" _require "../../annotatedtypes/main/AnnotatedTypesUtils.smi" _require "../../control/main/Control.ppg.smi" _require "../../multiplevaluecalc/main/MultipleValueCalc.ppg.smi" _require "../../multiplevaluecalc/main/MultipleValueCalcUtils.smi" _require "../../name/main/LocalID.smi" _require "../../types/main/Types.ppg.smi" structure RecordUnboxing = struct val transform : AnnotatedCalc.acdecl list -> MultipleValueCalc.mvdecl list end smlsharp-1.2.0/src/compiler/recordunboxing/main/RecordUnboxing.sml0000644 000000000000000000012214712050661606025534 0ustar00rootroot0000000 0000000 (** * record unboxing * @copyright (c) 2006, Tohoku University. * @author Huu-Duc Nguyen * @version $$ *) structure RecordUnboxing : sig val transform : AnnotatedCalc.acdecl list -> MultipleValueCalc.mvdecl list end = struct structure AT = AnnotatedTypes structure AC = AnnotatedCalc structure ATU = AnnotatedTypesUtils structure MVU = MultipleValueCalcUtils structure VEnv = VarID.Map structure T = Types open MultipleValueCalc fun printTy ty = (print (Control.prettyPrint (AT.format_ty ty)); print "\n") fun printKind kind = (print (Control.prettyPrint (AT.format_tvarKind kind)); print "\n") fun newVar ty = let val id = VarID.generate () in {path = ["$" ^ VarID.toString id], ty = ty, id = id} : varInfo end (*====================================================================*) (* utilities *) fun genLabels (label,1) = [ATU.convertLabel label] | genLabels (label,n) = let val label = ATU.convertLabel label in List.tabulate ( n, (fn i => label ^ (ATU.convertNumericalLabel (i + 1))) ) end fun flatTyList ty = case ty of AT.MVALty tyList => tyList | _ => [ty] fun mvTy [ty] = ty | mvTy tyList = AT.MVALty tyList fun transformType ty = case ty of AT.SINGLETONty sty => AT.SINGLETONty (transformSingletonTy sty) | AT.ERRORty => ty | AT.DUMMYty _ => ty | AT.BOUNDVARty _ => ty | AT.FUNMty {argTyList, bodyTy, annotation, funStatus} => AT.FUNMty { argTyList = List.concat (map (flatTyList o transformType) argTyList), bodyTy = transformType bodyTy, annotation = annotation, funStatus = funStatus } | AT.MVALty tyList => mvTy (List.concat (map (flatTyList o transformType) tyList)) | AT.RECORDty {fieldTypes, annotation as ref {boxed = false,...}} => if !Control.doRecordUnboxing then mvTy (List.concat (map (flatTyList o transformType) (LabelEnv.listItems fieldTypes))) else AT.RECORDty {fieldTypes = transformFieldTypes fieldTypes, annotation = annotation} | AT.RECORDty {fieldTypes, annotation} => AT.RECORDty {fieldTypes = transformFieldTypes fieldTypes, annotation = annotation} | AT.CONty {tyCon, args} => AT.CONty {tyCon = tyCon, args = map transformType args} | AT.POLYty {boundtvars, body} => AT.POLYty {boundtvars = BoundTypeVarID.Map.map transformBtvKind boundtvars, body = transformType body} and transformSingletonTy singletonTy = case singletonTy of AT.INSTCODEty {oprimId, path, keyTyList} => AT.INSTCODEty {oprimId = oprimId, path = path, keyTyList = map transformType keyTyList } | AT.INDEXty (label, ty) => AT.INDEXty (transformIndexTy (label, ty)) | AT.TAGty ty => AT.TAGty (transformType ty) | AT.SIZEty ty => AT.SIZEty (transformType ty) | AT.RECORDSIZEty ty => AT.RECORDSIZEty (transformType ty) | AT.RECORDBITMAPty (index, ty) => AT.RECORDBITMAPty (index, transformType ty) and transformBtvKind {id, tvarKind, eqKind} = { id = id, tvarKind = transformRecKind tvarKind, eqKind = eqKind } and transformRecKind tvarKind = case tvarKind of AT.UNIV => AT.UNIV | AT.REC flty => AT.REC (transformFieldTypes flty) | AT.OPRIMkind instances => AT.OPRIMkind (map transformType instances) and transformFieldTypes flty = LabelEnv.foldli (fn (label,ty,S) => case transformType ty of AT.MVALty tyList => ListPair.foldl (fn (label,ty,S) => LabelEnv.insert(S,label,ty)) S (genLabels (label, List.length tyList),tyList) | newTy => LabelEnv.insert(S,ATU.convertLabel label,newTy) ) LabelEnv.empty flty and transformIndexTy (label, recordTy) = let val newRecordTy = transformType recordTy in case newRecordTy of AT.MVALty _ => (* The record is unboxed. Any variables and expressions of * this type should be discarded. To keep consistency of * INDEXty (the recordTy field of INDEXty must be a record type), * we do not apply any transformation to this INDEXty. *) (label, recordTy) | AT.RECORDty _ => (* Note that some nested records may be unboxed. The label may * be not found in the recordTy after unboxing. *) let val fieldTypes = case recordTy of AT.RECORDty {fieldTypes,...} => fieldTypes | _ => raise Control.Bug "transformIndexTy: fieldTypes" val fieldTy = case LabelEnv.find (fieldTypes, label) of SOME ty => ty | NONE => raise Control.Bug "transformIndexTy: fieldTy" in case transformType fieldTy of AT.MVALty _ => (* The selected record is unboxed. *) (label, recordTy) | _ => (ATU.convertLabel label, newRecordTy) end | _ => (ATU.convertLabel label, newRecordTy) end fun transformVar {path, ty, id} = case flatTyList (transformType ty) of [ty] => [{path = path, ty = transformType ty, id = id}] | tyList => map newVar tyList fun indexesOf (label, recordTy) = case recordTy of AT.RECORDty {fieldTypes,...} => let fun computeFirstIndex (n, []) = raise Control.Bug ("label not found " ^ label) | computeFirstIndex (n, (l,ty)::rest) = if l = label then (n,ty) else computeFirstIndex(n + ATU.cardinality (transformType ty), rest) val (firstIndex, fieldType) = computeFirstIndex(0,LabelEnv.listItemsi fieldTypes) in (firstIndex, ATU.cardinality(transformType fieldType)) end | _ => raise Control.Bug "record type is expected" fun labelsOf (label, recordTy) = case recordTy of AT.RECORDty {fieldTypes,...} => let val fieldType = case LabelEnv.find(fieldTypes, label) of SOME ty => transformType ty | _ => raise Control.Bug "label not found" in genLabels(label, ATU.cardinality fieldType) end | _ => raise Control.Bug "record type is expected" fun makeLetExp(decls,exp,loc) = case decls of [] => exp | _ => MVLET{localDeclList = decls, mainExp = exp, loc = loc} (*====================================================================*) (* context *) structure CTX = struct type context = {varEnv : (AC.varInfo list) VarID.Map.map, tyEnv : AT.btvKind BoundTypeVarID.Map.map} val empty = {varEnv = VarID.Map.empty, tyEnv = BoundTypeVarID.Map.empty} : context fun insertVariable ({varEnv, tyEnv}:context) (id, varList) = { varEnv = VarID.Map.insert(varEnv,id,varList), tyEnv = tyEnv } : context fun extendBtvEnv ({varEnv, tyEnv}:context) btvEnv = let val newBtvEnv = BoundTypeVarID.Map.map transformBtvKind btvEnv val tyEnv = BoundTypeVarID.Map.foldli (fn (id,btvKind,S) => BoundTypeVarID.Map.insert(S,id,btvKind)) tyEnv newBtvEnv in (newBtvEnv, {varEnv = varEnv, tyEnv = tyEnv} : context) end exception FieldType fun fieldType ({varEnv, tyEnv}:context) (label, recordTy) = case recordTy of AT.RECORDty {fieldTypes,...} => (case LabelEnv.find(fieldTypes,label) of SOME x => x | NONE => (print "option inb filedType (1)"; raise FieldType) ) | AT.BOUNDVARty tid => (case BoundTypeVarID.Map.find(tyEnv,tid) of SOME {tvarKind = AT.REC flty,...} => (case LabelEnv.find(flty,label) of SOME x => x | NONE => (printTy recordTy; printKind (AT.REC flty); print label; print "\n"; print "option in filedType (2)"; raise FieldType ) ) | _ => raise Control.Bug "invalid record bound type variable" ) | _ => raise Control.Bug "invalid record type" fun findVariable ({varEnv, tyEnv}:context, id) = VarID.Map.find(varEnv,id) end (*====================================================================*) fun transformArg context exp = let val (decls, newExp, newTy) = transformExp context exp in case newTy of AT.MVALty tyList => (case newExp of MVMVALUES {expList, tyList, loc} => (decls, expList, tyList) | _ => let val varInfoList = map newVar tyList val loc = MVU.getLocOfExp newExp val decls = decls @ [MVVAL {boundVars = varInfoList, boundExp = newExp, loc = loc}] val expList = map (fn v => MVVAR {varInfo = v, loc = loc}) varInfoList in (decls, expList, tyList) end ) | _ => ( case newExp of MVCONSTANT _ => (decls, [newExp], [newTy]) | MVGLOBALSYMBOL _ => (decls, [newExp], [newTy]) | MVVAR _ => (decls, [newExp], [newTy]) | MVCAST {exp = MVCONSTANT _,...} => (decls, [newExp], [newTy]) | MVCAST {exp = MVVAR _,...} => (decls, [newExp], [newTy]) | MVCAST {exp, expTy, targetTy, loc} => let val varInfo = newVar expTy val decls = decls @ [MVVAL {boundVars = [varInfo], boundExp = exp, loc = loc}] val newExp = MVCAST {exp = MVVAR {varInfo = varInfo, loc = loc}, expTy = expTy, targetTy = targetTy, loc = loc} in (decls, [newExp], [newTy]) end | _ => let val varInfo = newVar newTy val loc = MVU.getLocOfExp newExp val decls = decls @ [MVVAL {boundVars = [varInfo], boundExp = newExp, loc = loc}] in (decls, [MVVAR {varInfo = varInfo, loc = loc}], [newTy]) end ) end and transformArgSingle context exp = case transformArg context exp of (decls, [newSwitchExp], [newExpTy]) => (decls, newSwitchExp, newExpTy) | _ => raise Control.Bug "multiple value expression in single value context:\ \ (recordunboxing/main/RecordUnboxing.sml)" and transformArgList context [] = ([],[],[]) | transformArgList context (exp::expList) = let val (declList1, argList1, tyList1) = transformArg context exp val (declList2, argList2, tyList2) = transformArgList context expList in (declList1 @ declList2, argList1 @ argList2, tyList1 @ tyList2) end and transformExp context exp = case exp of AC.ACFOREIGNAPPLY {funExp, foreignFunTy, argExpList, loc} => let val (funDecls, newFunExp, _) = transformArgSingle context funExp val {argTyList, resultTy=bodyTy, attributes} = foreignFunTy val (argDecls, newArgExpList, newArgTyList) = transformArgList context argExpList val newBodyTy = transformType bodyTy val newForeignFunTy = {argTyList = newArgTyList, resultTy = newBodyTy, attributes = attributes} val newExp = MVFOREIGNAPPLY { funExp = newFunExp, foreignFunTy = newForeignFunTy, argExpList = newArgExpList, loc = loc } in (funDecls @ argDecls, newExp, newBodyTy) end | AC.ACEXPORTCALLBACK {funExp as AC.ACFNM _, foreignFunTy, loc} => let val (decls, newFunExp, newFunTy) = transformExp context funExp val {argTyList, bodyTy, ...} = ATU.expandFunTy newFunTy val newExp = MVEXPORTCALLBACK { funExp = newFunExp, foreignFunTy = {argTyList = argTyList, resultTy = bodyTy, attributes = #attributes foreignFunTy}, loc = loc } in (decls, newExp, AT.foreignfunty) end | AC.ACEXPORTCALLBACK {funExp, foreignFunTy, loc} => raise Control.Bug "transformExp: ACEXPORTCALLBACK" | AC.ACTAGOF {ty, loc} => let val ty = transformType ty in (nil, MVTAGOF {ty = ty, loc = loc}, AT.SINGLETONty (AT.TAGty ty)) end | AC.ACSIZEOF {ty, loc} => let val ty = transformType ty in (nil, MVSIZEOF {ty = ty, loc = loc}, AT.SINGLETONty (AT.SIZEty ty)) end | AC.ACINDEXOF {label, recordTy, loc} => let val (newLabel, newRecordTy) = transformIndexTy (label, recordTy) in (nil, MVINDEXOF {label = newLabel, recordTy = newRecordTy, loc = loc}, AT.SINGLETONty (AT.INDEXty (newLabel, newRecordTy))) end | AC.ACCONSTANT (v as {value, loc}) => ([], MVCONSTANT v, ATU.constDefaultTy value) | AC.ACGLOBALSYMBOL (v as {ty,...}) => ([], MVGLOBALSYMBOL v, ty) | AC.ACEXVAR {exVarInfo as {path, ty}, loc} => let val newTy = transformType ty val newVarInfo = {path = path, ty = newTy} in ([], MVEXVAR {exVarInfo = newVarInfo, loc = loc}, newTy) end | AC.ACVAR {varInfo as {path, ty, id}, loc} => ( case CTX.findVariable(context, id) of SOME [v] => ([], MVVAR {varInfo = v, loc = loc}, #ty v) | SOME varList => let val tyList = map #ty varList val newExp = MVMVALUES { expList = map (fn v => MVVAR {varInfo = v, loc = loc}) varList, tyList = tyList, loc = loc } in ([], newExp, AT.MVALty tyList) end | NONE => raise Control.Bug "internal variable not found" ) (* | AC.ACGETFIELD {arrayExp, indexExp, elementTy, loc} => let val (arrayDecls, newArrayExp, newArrayTy) = transformArgSingle context arrayExp val (indexDecls, newIndexExp, _) = transformArgSingle context indexExp val newElementTy = AT.arrayelemty newArrayTy val newExp = MVGETFIELD { arrayExp = newArrayExp, indexExp = newIndexExp, elementTy = newElementTy, loc = loc } in (arrayDecls @ indexDecls, newExp, newElementTy) end | AC.ACSETFIELD {valueExp, arrayExp, indexExp, elementTy, loc} => let val (valueDecls, newValueExp, newElementTy) = transformArgSingle context valueExp val (arrayDecls, newArrayExp, _) = transformArgSingle context arrayExp val (indexDecls, newIndexExp, _) = transformArgSingle context indexExp val newExp = MVSETFIELD { valueExp = newValueExp, arrayExp = newArrayExp, indexExp = newIndexExp, elementTy = newElementTy, loc = loc } in (valueDecls @ arrayDecls @ indexDecls, newExp, AT.unitty) end | AC.ACSETTAIL {consExp, newTailExp, listTy, consRecordTy, tailLabel, loc} => let val (consDecls, newConsExp, newConsTy) = transformArgSingle context consExp val (newTailDecls, newNewTailExp, _) = transformArgSingle context newTailExp val newExp = MVSETTAIL { consExp = newConsExp, newTailExp = newNewTailExp, consRecordTy = transformType consRecordTy, tailLabel = ATU.convertLabel tailLabel, listTy = newConsTy, loc = loc } in (consDecls @ newTailDecls, newExp, AT.unitty) end | AC.ACARRAY {sizeExp, initialValue, elementTy, isMutable, loc} => let val (sizeDecls, newSizeExp, _) = transformArgSingle context sizeExp val (valueDecls, newInitialValue, newElementTy) = transformArgSingle context initialValue val newExp = MVARRAY { sizeExp = newSizeExp, initialValue = newInitialValue, elementTy = newElementTy, isMutable = isMutable, loc = loc } in (sizeDecls @ valueDecls, newExp, AT.arrayty newElementTy) end | AC.ACCOPYARRAY {srcExp, srcIndexExp, dstExp, dstIndexExp, lengthExp, elementTy, loc} => let val (srcDecls, newSrcExp, newSrcTy) = transformArgSingle context srcExp val (srcIndexDecls, newSrcIndexExp, _) = transformArgSingle context srcIndexExp val (dstDecls, newDstExp, _) = transformArgSingle context dstExp val (dstIndexDecls, newDstIndexExp, _) = transformArgSingle context dstIndexExp val (lengthDecls, newLengthExp, _) = transformArgSingle context lengthExp (* ToDo : We should obtain newElementTy from elementTy ? *) (* val newElementTy = elementTy *) val newElementTy = AT.arrayelemty newSrcTy val newExp = MVCOPYARRAY { srcExp = newSrcExp, srcIndexExp = newSrcIndexExp, dstExp = newDstExp, dstIndexExp = newDstIndexExp, lengthExp = newLengthExp, elementTy = newElementTy, loc = loc } in (srcDecls @ srcIndexDecls @ dstDecls @ dstIndexDecls @ lengthDecls, newExp, AT.unitty) end *) | AC.ACPRIMAPPLY {primInfo, argExpList, instTyList, loc} => let val monoTy = ATU.tpappTy (#ty primInfo, instTyList) val {argTyList, bodyTy, annotation, funStatus} = ATU.expandFunTy monoTy val (decls, newArgExpList, newArgTyList) = transformArgList context argExpList val newBodyTy = transformType bodyTy val newPrimInfo = { primitive = #primitive primInfo, ty = transformType (#ty primInfo) } val newInstTyList = map transformType instTyList val newExp = MVPRIMAPPLY { primInfo = newPrimInfo, argExpList = newArgExpList, instTyList = newInstTyList, loc = loc } in (decls, newExp, newBodyTy) end | AC.ACAPPM {funExp as AC.ACTAPP{exp, expTy, instTyList, loc = polyLoc}, funTy, argExpList, loc} => let val (polyDecls, newPolyExp, newPolyTy) = transformArgSingle context exp val newInstTyList = map transformType instTyList val (newFunTy, bodyTy) = case ATU.tpappTy (newPolyTy, newInstTyList) of newFunTy as AT.FUNMty {bodyTy,...} => (newFunTy, bodyTy) | _ => raise Control.Bug "FUNMty expected in CAPPM :\ \ (recordunboxing/main/RecordUnboxing.sml)" val (argDecls, newArgExpList, _) = transformArgList context argExpList val newExp = MVAPPM { funExp = MVTAPP{exp = newPolyExp, expTy = newPolyTy, instTyList = newInstTyList, loc = polyLoc}, funTy = newFunTy, argExpList = newArgExpList, loc = loc } in (polyDecls @ argDecls, newExp, bodyTy) end | AC.ACAPPM {funExp, funTy, argExpList, loc} => let val (funDecls, newFunExp, newFunTy) = transformArgSingle context funExp val (argDecls, newArgExpList, _) = transformArgList context argExpList val {bodyTy,...} = ATU.expandFunTy newFunTy val newExp = MVAPPM { funExp = newFunExp, funTy = newFunTy, argExpList = newArgExpList, loc = loc } in (funDecls @ argDecls, newExp, bodyTy) end | AC.ACLET {localDeclList, mainExp, loc} => let val (localDecls, newContext) = transformDeclList context localDeclList val (mainDecls, newMainExp, newTy) = transformExp newContext mainExp in (localDecls @ mainDecls, newMainExp, newTy) end | AC.ACRECORD {fields, recordTy, annotation = expAnnotation, isMutable, loc} => if !Control.doRecordUnboxing then case recordTy of AT.RECORDty {annotation as ref {boxed = false,...},...} => let val expList = map #fieldExp fields val (decls, args, tys) = transformArgList context expList in case (args,tys) of ([arg],[ty]) => (decls, arg, ty) | _ => (decls, MVMVALUES {expList = args, tyList = tys, loc = loc}, AT.MVALty tys) end | AT.RECORDty {fieldTypes, annotation} => let val (decls, newFields, flty) = foldl (fn ({label, fieldExp}, (decls, fields, flty)) => let val (decls2, args, tys) = transformArg context fieldExp val labels = genLabels (label, List.length tys) val fields2 = ListPair.mapEq (fn (l, arg) => {label=l, fieldExp=arg}) (labels, args) val flty = ListPair.foldl (fn (l, ty, z) => LabelEnv.insert (z, l, ty)) flty (labels, tys) in (decls @ decls2, fields @ fields2, flty) end) (nil, nil, LabelEnv.empty) fields val newRecordTy = AT.RECORDty {fieldTypes = flty, annotation = annotation} val newExp = MVRECORD {fields = newFields, recordTy = newRecordTy, annotation = expAnnotation, isMutable = isMutable, loc = loc} in (decls, newExp, newRecordTy) end | _ => raise Control.Bug "invalid record type" else let val (labelList, expList) = ListPair.unzip (map (fn {label, fieldExp} => (label, exp)) fields) val (decls, newExpList, _) = transformArgList context expList val newRecordTy = transformType recordTy val newLabels = map ATU.convertLabel labelList val newFields = ListPair.mapEq (fn (label, exp) => {label=label, fieldExp=exp}) (labelList, newExpList) val newExp = MVRECORD { fields = newFields, recordTy = newRecordTy, annotation = expAnnotation, isMutable = isMutable, loc = loc } in (decls, newExp, newRecordTy) end | AC.ACSELECT {recordExp, indexExp, label, recordTy, resultTy, loc} => if !Control.doRecordUnboxing then case recordTy of AT.RECORDty {annotation = ref {boxed=false,...},...} => let val (decls, args, tys) = transformArg context recordExp val (firstIndex, count) = indexesOf (label, recordTy) val fields = List.take(List.drop(args,firstIndex),count) val fieldTys = List.take(List.drop(tys,firstIndex),count) val (exp,ty) = case (fields, fieldTys) of ([exp],[ty]) => (exp, ty) | _ => (MVMVALUES{expList = fields, tyList = fieldTys, loc = loc}, AT.MVALty fieldTys) in (decls, exp, ty) end | AT.RECORDty _ => let val (decls, newRecordExp, newRecordTy, fieldTypes) = case transformArgSingle context recordExp of (decls, newRecordExp, newRecordTy as AT.RECORDty {fieldTypes,...}) => (decls, newRecordExp, newRecordTy, fieldTypes) | _ => raise Control.Bug "RECORDty expected :\ \ (recordunboxing/main/RecordUnboxing.sml)" val (decls2, indexExp, indexTy) = transformArgSingle context indexExp val decls = decls @ decls2 fun fieldTy label = case LabelEnv.find(fieldTypes,label) of SOME x => x | NONE => raise Control.Bug "option inb filedType (3)" fun fieldExp (label, indexExp) = MVSELECT {recordExp = newRecordExp, recordTy = newRecordTy, indexExp = indexExp, label = label, resultTy = fieldTy label, loc = loc} val newLabel = ATU.convertLabel label val labels = labelsOf (label, recordTy) val fieldIndexes = foldr (fn (l, indexes) => if l = newLabel then (l, indexExp)::indexes else let val exp = MVINDEXOF {label=l, recordTy=newRecordTy, loc=loc} in (l, exp)::indexes end) nil labels val (decls,newExp, newTy) = case fieldIndexes of [(label, indexExp)] => (decls, fieldExp (label, indexExp), fieldTy label) | _ => let val tyList = map fieldTy labels val varInfoList = map newVar tyList val fieldDecls = ListPair.map (fn (varInfo, exp) => MVVAL {boundVars = [varInfo], boundExp = exp, loc = loc}) (varInfoList, map fieldExp fieldIndexes) val expList = map (fn v => MVVAR {varInfo = v, loc = loc}) varInfoList in (decls @ fieldDecls, MVMVALUES {expList = expList, tyList = tyList, loc = loc}, AT.MVALty tyList) end in (decls, newExp, newTy) end | _ => let val (decls, newRecordExp, newRecordTy) = transformArgSingle context recordExp val (decls2, newIndexExp, indexTy) = transformArgSingle context indexExp val decls = decls @ decls2 val newLabel = ATU.convertLabel label val newFieldTy = CTX.fieldType context (newLabel, newRecordTy) handle CTX.FieldType => ( print "recordTy\n"; printTy recordTy; print "newRecordTy\n"; printTy newRecordTy; print newLabel; raise Control.Bug "CTX filedType" ) val newExp = MVSELECT { recordExp = newRecordExp, indexExp = newIndexExp, label = newLabel, recordTy = newRecordTy, resultTy = newFieldTy, loc = loc } in (decls, newExp, newFieldTy) end else let val (decls, newRecordExp, newRecordTy) = transformArgSingle context recordExp val (decls2, newIndexExp, indexTy) = transformArgSingle context indexExp val decls = decls @ decls2 val newLabel = ATU.convertLabel label val newFieldTy = CTX.fieldType context (newLabel, newRecordTy) handle CTX.FieldType => ( printTy newRecordTy; print newLabel; raise Control.Bug "CTX filedType" ) val newExp = MVSELECT { recordExp = newRecordExp, indexExp = newIndexExp, label = newLabel, recordTy = newRecordTy, resultTy = newFieldTy, loc = loc } in (decls, newExp, newFieldTy) end | AC.ACMODIFY {recordExp, recordTy, indexExp, label, valueExp, valueTy, loc} => let val (decls1, newRecordExp, newRecordTy) = transformArgSingle context recordExp val (decls2, newIndexExp, _) = transformArgSingle context indexExp val (decls3, newValueExp, newValueTy) = transformArgSingle context valueExp val newExp = MVMODIFY { recordExp = newRecordExp, recordTy = newRecordTy, indexExp = newIndexExp, label = ATU.convertLabel label, valueExp = newValueExp, valueTy = newValueTy, loc = loc } in (decls1 @ decls2 @ decls3, newExp, newRecordTy) end | AC.ACRAISE {argExp, resultTy, loc} => let val (decls, newArgExp, _) = transformArgSingle context argExp val newResultTy = transformType resultTy val newExp = MVRAISE {argExp = newArgExp, resultTy = newResultTy, loc = loc} in (decls, newExp, newResultTy) end | AC.ACHANDLE {exp, exnVar as {id,...}, handler, loc} => let val (mainDecls, newMainExp, newTy) = transformExp context exp val newExnVar = case transformVar exnVar of [newExnVar] => newExnVar | _ => raise Control.Bug "single value expected :\ \ (recordunboxing/main/RecordUnboxing.sml)" val (handlerDecls, newHandler, _) = transformExp (CTX.insertVariable context (id, [newExnVar])) handler val newExp = MVHANDLE { exp = makeLetExp (mainDecls, newMainExp, loc), exnVar = newExnVar, handler = makeLetExp (handlerDecls, newHandler, loc), loc = loc } in ([],newExp,newTy) end | AC.ACFNM {argVarList, funTy as AT.FUNMty {funStatus, annotation,...}, bodyExp, annotation = funAnnotation, loc} => let val (newArgVarList,newContext) = foldr (fn (v as {id,...}, (L,C)) => let val varList = transformVar v in (varList @ L, CTX.insertVariable C (id,varList)) end ) ([],context) argVarList val (decls, newBodyExp, newBodyTy) = transformExp newContext bodyExp val newFunTy = AT.FUNMty {argTyList = map #ty newArgVarList, bodyTy = newBodyTy, annotation = annotation, funStatus = funStatus } val newExp = MVFNM { argVarList = newArgVarList, funTy = newFunTy, bodyExp = makeLetExp (decls,newBodyExp, loc), annotation = funAnnotation, loc = loc } in ([],newExp,newFunTy) end | AC.ACFNM _ => raise Control.Bug "non FUNMty in ACFNM (recordunboxing/main/RecordUnboxing.sml)" | AC.ACPOLY {btvEnv, expTyWithoutTAbs, exp, loc} => let val (newBtvEnv, newContext) = CTX.extendBtvEnv context btvEnv val (decls,newExp,newExpTyWithoutTAbs) = transformExp newContext exp val newExp = MVPOLY { btvEnv = newBtvEnv, expTyWithoutTAbs = newExpTyWithoutTAbs, exp = makeLetExp(decls,newExp,loc), loc = loc } in ([], newExp, AT.POLYty{boundtvars = newBtvEnv, body = newExpTyWithoutTAbs}) end | AC.ACTAPP {exp, expTy, instTyList, loc} => let val (decls, newExp, newExpTy) = transformArgSingle context exp val newInstTyList = map transformType instTyList val newExp = MVTAPP { exp = newExp, expTy = newExpTy, instTyList = newInstTyList, loc = loc } in (decls, newExp, ATU.tpappTy (newExpTy,newInstTyList)) end | AC.ACSWITCH {switchExp, expTy, branches, defaultExp, loc} => let val (decls, newSwitchExp, newExpTy) = transformArgSingle context switchExp val (defaultDecls, newDefaultExp, newDefaultTy) = transformExp context defaultExp fun transformBranch {constant, exp} = let val (decls, newExp, _) = transformExp context exp in {constant = constant, exp = makeLetExp (decls, newExp, loc)} end val newExp = MVSWITCH { switchExp = newSwitchExp, expTy = newExpTy, branches = map transformBranch branches, defaultExp = makeLetExp(defaultDecls, newDefaultExp, loc), loc = loc } in (decls, newExp, newDefaultTy) end | AC.ACCAST {exp, expTy, targetTy, loc} => let val (decls, newExp, newExpTy) = transformExp context exp val newTargetTy = transformType targetTy val newExp = MVCAST { exp = newExp, expTy = newExpTy, targetTy = newTargetTy, loc = loc } in (decls, newExp, newTargetTy) end and transformDecl context decl = case decl of AC.ACVAL {boundVar as {path, ty, id}, boundExp , loc} => let val (decls1, args, tyList) = transformArg context boundExp val (varList, decls2) = case (args, tyList) of ([arg], [ty]) => let val varInfo = {path = path, ty = ty, id = id} val decl = MVVAL {boundVars = [varInfo], boundExp = arg, loc = loc} in ([varInfo], [decl]) end | _ => ListPair.foldr (fn (arg,ty,(L1,L2)) => case arg of MVVAR {varInfo, loc} => (varInfo :: L1,L2) | _ => let val varInfo = newVar ty val decl = MVVAL {boundVars = [varInfo], boundExp = arg, loc = loc} in (varInfo :: L1, decl :: L2) end ) ([],[]) (args,tyList) in (decls1 @ decls2, CTX.insertVariable context (id,varList)) end | AC.ACEXPORTVAR {varInfo={path, ty, id}, loc} => let val newVarInfo = case CTX.findVariable (context, id) of SOME [v as {id,ty,...}] => {path = path, ty = ty, id = id} | _ => raise Control.Bug "ACEXPORTVAR" val newDecl = MVEXPORTVAR {varInfo = newVarInfo, loc = loc} in ([newDecl], context) end | AC.ACEXTERNVAR {exVarInfo={path, ty}, loc} => let val newTy = transformType ty val newVar = {path = path, ty = newTy} val newDecl = MVEXTERNVAR {exVarInfo = newVar, loc = loc} in ([newDecl], context) end | AC.ACVALREC {recbindList, loc} => let val newBoundVarList = map (fn {boundVar as {path, ty, id},...} => {path = path, ty = transformType ty, id = id}) recbindList val newContext = foldl (fn (v as {id,...},C) => CTX.insertVariable C (id,[v])) context newBoundVarList val newRecbindList = ListPair.map (fn ({boundExp,...}, boundVar) => let val (_, newBoundExp, _) = transformExp newContext boundExp in {boundVar = boundVar, boundExp = newBoundExp} end ) (recbindList,newBoundVarList) in ([MVVALREC{recbindList = newRecbindList, loc = loc}], newContext) end and transformDeclList context ([]) = ([],context) | transformDeclList context (decl::rest) = let val (decls1, newContext) = transformDecl context decl val (decls2, newContext) = transformDeclList newContext rest in (decls1 @ decls2,newContext) end fun transform declList = let val (newDeclList, _) = transformDeclList CTX.empty declList in newDeclList end end smlsharp-1.2.0/src/compiler/reflection0000755 000000000000000000000000012050661606020157 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/reflection/main0000755 000000000000000000000000012050661606021103 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/reflection/main/PrinterGeneration.smi0000644 000000000000000000000117612050661606025340 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../typedcalc/main/TypedCalc.ppg.smi" _require "../../types/main/Types.ppg.smi" _require "../../nameevaluation/main/NameEvalEnv.ppg.smi" _require "../../reflection/main/Reify.smi" _require "../../reflection/main/ReifiedTermData.smi" _require "../../builtin2/main/BuiltinTypes.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" structure PrinterGeneration = struct val generate : NameEvalEnv.topEnv -> NameEvalEnv.topEnv * TypedCalc.tpdecl list * TypedCalc.tpdecl list end smlsharp-1.2.0/src/compiler/reflection/main/PrinterGeneration.sml0000644 000000000000000000000367312050661606025347 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2012- Tohoku University. * @author Atsushi Ohori *) structure PrinterGeneration : sig val generate : NameEvalEnv.topEnv -> NameEvalEnv.topEnv * TypedCalc.tpdecl list * TypedCalc.tpdecl list end = struct local fun bug s = Control.Bug ("PrinterGeneration:" ^ s) structure T = Types structure TC = TypedCalc structure R = Reify structure RD = ReifiedTermData structure BT = BuiltinTypes val externals = [ RD.makeArrayTerm, RD.makeListTerm, RD.makeConsTerm, RD.makeFieldTerm, RD.makeConsField, RD.fieldNil, RD.reifiedTermNil, RD.makeEXVAR, RD.makeEXEXN, RD.makeEXEXNREP, RD.makeTstr, RD.idstatusNil, RD.idstatusCons, RD.tstrNil, RD.tstrCons, RD.makeENV, RD.makeStrentry, RD.strentryNil, RD.strentryCons, RD.stringNil, RD.stringCons, RD.makeSigentry, RD.sigentryNil, RD.sigentryCons, RD.makeReifiedTopenv, RD.format_topEnv, RD.printTopEnv ] fun externDecls() = map (fn varRef => case !varRef of NONE => (print "PrinterGeneration: external not set\n"; raise bug "external not set" ) | SOME (TC.TPEXVAR var, ty) => TC.TPEXTERNVAR var | _ => (print "PrinterGeneration: non var external\n"; raise bug "non-var external var" ) ) externals in fun generate topEnv = let val externDecls = externDecls() val (topEnv, term) = R.reifyTopEnv topEnv val printTerm = R.makeMonoApply RD.printTopEnv term val id = VarID.generate () val newVar = {path = ["_PrinterGeneration"], ty = BT.unitTy, id = id} : T.varInfo in (topEnv, externDecls, [TC.TPVAL ([(newVar, printTerm)], Loc.noloc)] ) end end end smlsharp-1.2.0/src/compiler/reflection/main/ReifiedTermData.smi0000644 000000000000000000001136112050661606024667 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../reifiedterm/main/ReifiedTerm.ppg.smi" _require "../../../smlformat-lib.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../types/main/Types.ppg.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../types/main/EvalIty.smi" _require "../../typedcalc/main/TypedCalc.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../util/main/TermFormat.smi" _require "../../nameevaluation/main/NameEvalEnv.ppg.smi" structure ReifiedTermData = struct val reifiedTerm : Types.ty option ref val idstatus : Types.ty option ref val tstr : Types.ty option ref val varE : Types.ty option ref val tyE : Types.ty option ref val env : Types.ty option ref val strentry : Types.ty option ref val funE : Types.ty option ref val sigentry : Types.ty option ref val sigE : Types.ty option ref val topEnv : Types.ty option ref val makeArrayTerm : (TypedCalc.tpexp * Types.ty) option ref val makeListTerm : (TypedCalc.tpexp * Types.ty) option ref val makeConsTerm : (TypedCalc.tpexp * Types.ty) option ref val makeFieldTerm : (TypedCalc.tpexp * Types.ty) option ref val makeConsField : (TypedCalc.tpexp * Types.ty) option ref val fieldNil : (TypedCalc.tpexp * Types.ty) option ref val reifiedTermNil : (TypedCalc.tpexp * Types.ty) option ref val makeEXVAR : (TypedCalc.tpexp * Types.ty) option ref val makeEXEXN : (TypedCalc.tpexp * Types.ty) option ref val makeEXEXNREP : (TypedCalc.tpexp * Types.ty) option ref val makeTstr : (TypedCalc.tpexp * Types.ty) option ref val idstatusNil : (TypedCalc.tpexp * Types.ty) option ref val idstatusCons : (TypedCalc.tpexp * Types.ty) option ref val tstrNil : (TypedCalc.tpexp * Types.ty) option ref val tstrCons : (TypedCalc.tpexp * Types.ty) option ref val makeENV : (TypedCalc.tpexp * Types.ty) option ref val makeStrentry : (TypedCalc.tpexp * Types.ty) option ref val strentryNil : (TypedCalc.tpexp * Types.ty) option ref val strentryCons : (TypedCalc.tpexp * Types.ty) option ref val stringNil : (TypedCalc.tpexp * Types.ty) option ref val stringCons : (TypedCalc.tpexp * Types.ty) option ref val makeSigentry : (TypedCalc.tpexp * Types.ty) option ref val sigentryNil : (TypedCalc.tpexp * Types.ty) option ref val sigentryCons : (TypedCalc.tpexp * Types.ty) option ref val makeReifiedTopenv : (TypedCalc.tpexp * Types.ty) option ref val format_topEnv : (TypedCalc.tpexp * Types.ty) option ref val printTopEnv : (TypedCalc.tpexp * Types.ty) option ref val INTtyRep : Types.conInfo option ref val INTINFtyRep : Types.conInfo option ref val WORDtyRep : Types.conInfo option ref val WORD8tyRep : Types.conInfo option ref val CHARtyRep : Types.conInfo option ref val STRINGtyRep : Types.conInfo option ref val REALtyRep : Types.conInfo option ref val REAL32tyRep : Types.conInfo option ref val UNITtyRep : Types.conInfo option ref val FUNtyRep : Types.conInfo option ref val RECORDtyRep : Types.conInfo option ref val TUPLEtyRep : Types.conInfo option ref val LISTtyRep : Types.conInfo option ref val ARRAYtyRep : Types.conInfo option ref val CONSTRUCTtyRep : Types.conInfo option ref val EXNtyRep : Types.conInfo option ref val PTRtyRep : Types.conInfo option ref val UNPRINTABLERep : Types.conInfo option ref val BUILTINRep : Types.conInfo option ref val EXVAR : Types.conInfo option ref val EXEXN : Types.conInfo option ref val EXEXNREP : Types.conInfo option ref val ENV : Types.conInfo option ref val init : NameEvalEnv.topEnv -> unit val mkConTerm : Types.conInfo * TypedCalc.tpexp option -> TypedCalc.tpexp val unprintable : unit -> TypedCalc.tpexp val builtin : unit -> TypedCalc.tpexp val mkINTtyRepTerm : TypedCalc.tpexp -> TypedCalc.tpexp val mkBOOLtyRepTerm : TypedCalc.tpexp -> TypedCalc.tpexp val mkINTINFtyRepTerm : TypedCalc.tpexp -> TypedCalc.tpexp val mkWORDtyRepTerm : TypedCalc.tpexp -> TypedCalc.tpexp val mkWORD8tyRepTerm : TypedCalc.tpexp -> TypedCalc.tpexp val mkCHARtyRepTerm : TypedCalc.tpexp -> TypedCalc.tpexp val mkSTRINGtyRepTerm : TypedCalc.tpexp -> TypedCalc.tpexp val mkREALtyRepTerm : TypedCalc.tpexp -> TypedCalc.tpexp val mkREAL32tyRepTerm : TypedCalc.tpexp -> TypedCalc.tpexp val mkUNITtyRepTerm : unit -> TypedCalc.tpexp val mkFUNtyRepTerm : unit -> TypedCalc.tpexp val mkRECORDtyRepTerm : TypedCalc.tpexp -> TypedCalc.tpexp val mkTUPLEtyRepTerm : TypedCalc.tpexp -> TypedCalc.tpexp val mkLISTtyRepTerm : TypedCalc.tpexp -> TypedCalc.tpexp val mkARRAYtyRepTerm : TypedCalc.tpexp -> TypedCalc.tpexp val mkCONSTRUCTtyRepTerm : TypedCalc.tpexp -> TypedCalc.tpexp val mkEXNtyRepTerm : unit -> TypedCalc.tpexp val mkPTRtyRepTerm : unit -> TypedCalc.tpexp end smlsharp-1.2.0/src/compiler/reflection/main/ReifiedTermData.sml0000644 000000000000000000002774112050661606024703 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2012- Tohoku University. * @author Atsushi Ohori *) structure ReifiedTermData = struct local structure V = NameEvalEnv structure ITy = EvalIty structure I = IDCalc structure T = Types structure TC = TypedCalc fun printPath path = (print (String.concatWith "." path); print "\n") fun bug s = Control.Bug ("RefiedTermData:" ^ s) in (* types *) val reifiedTerm = ref NONE : T.ty option ref val idstatus = ref NONE : T.ty option ref val tstr = ref NONE : T.ty option ref val varE = ref NONE : T.ty option ref val tyE = ref NONE : T.ty option ref val env = ref NONE : T.ty option ref val strentry = ref NONE : T.ty option ref val funE = ref NONE : T.ty option ref val sigentry = ref NONE : T.ty option ref val sigE = ref NONE : T.ty option ref val topEnv = ref NONE : T.ty option ref (* variables *) val makeArrayTerm = ref NONE : (TC.tpexp * T.ty) option ref val makeListTerm = ref NONE : (TC.tpexp * T.ty) option ref val makeConsTerm = ref NONE : (TC.tpexp * T.ty) option ref val makeFieldTerm = ref NONE : (TC.tpexp * T.ty) option ref val makeConsField = ref NONE : (TC.tpexp * T.ty) option ref val fieldNil = ref NONE : (TC.tpexp * T.ty) option ref val reifiedTermNil = ref NONE : (TC.tpexp * T.ty) option ref val makeEXVAR = ref NONE : (TC.tpexp * T.ty) option ref val makeEXEXN = ref NONE : (TC.tpexp * T.ty) option ref val makeEXEXNREP = ref NONE : (TC.tpexp * T.ty) option ref val makeTstr = ref NONE : (TC.tpexp * T.ty) option ref val idstatusNil = ref NONE : (TC.tpexp * T.ty) option ref val idstatusCons = ref NONE : (TC.tpexp * T.ty) option ref val tstrNil = ref NONE : (TC.tpexp * T.ty) option ref val tstrCons = ref NONE : (TC.tpexp * T.ty) option ref val makeENV = ref NONE : (TC.tpexp * T.ty) option ref val makeStrentry = ref NONE : (TC.tpexp * T.ty) option ref val strentryNil = ref NONE : (TC.tpexp * T.ty) option ref val strentryCons = ref NONE : (TC.tpexp * T.ty) option ref val stringNil = ref NONE : (TC.tpexp * T.ty) option ref val stringCons = ref NONE : (TC.tpexp * T.ty) option ref val makeSigentry = ref NONE : (TC.tpexp * T.ty) option ref val sigentryNil = ref NONE : (TC.tpexp * T.ty) option ref val sigentryCons = ref NONE : (TC.tpexp * T.ty) option ref val makeReifiedTopenv = ref NONE : (TC.tpexp * T.ty) option ref val format_topEnv = ref NONE : (TC.tpexp * T.ty) option ref val printTopEnv = ref NONE : (TC.tpexp * T.ty) option ref (* constructor *) val INTtyRep = ref NONE : T.conInfo option ref val BOOLtyRep = ref NONE : T.conInfo option ref val INTINFtyRep = ref NONE : T.conInfo option ref val WORDtyRep = ref NONE : T.conInfo option ref val WORD8tyRep = ref NONE : T.conInfo option ref val CHARtyRep = ref NONE : T.conInfo option ref val STRINGtyRep = ref NONE : T.conInfo option ref val REALtyRep = ref NONE : T.conInfo option ref val REAL32tyRep = ref NONE : T.conInfo option ref val UNITtyRep = ref NONE : T.conInfo option ref val FUNtyRep = ref NONE : T.conInfo option ref val RECORDtyRep = ref NONE : T.conInfo option ref val TUPLEtyRep = ref NONE : T.conInfo option ref val LISTtyRep = ref NONE : T.conInfo option ref val ARRAYtyRep = ref NONE : T.conInfo option ref val CONSTRUCTtyRep = ref NONE : T.conInfo option ref val EXNtyRep = ref NONE : T.conInfo option ref val PTRtyRep = ref NONE : T.conInfo option ref val UNPRINTABLERep = ref NONE : T.conInfo option ref val BUILTINRep = ref NONE : T.conInfo option ref val EXVAR = ref NONE : T.conInfo option ref val EXEXN = ref NONE : T.conInfo option ref val EXEXNREP = ref NONE : T.conInfo option ref val ENV = ref NONE : T.conInfo option ref fun init ({Env, ...}:V.topEnv) = let fun findCon path = case V.findId(Env, path) of SOME (I.IDCON {id, ty}) => let val ty = ITy.evalIty ITy.emptyContext ty in SOME {path=path, id=id, ty=ty} end | _ => (printPath path; raise bug "con not found" ) fun findVar path = case V.findId (Env, path) of NONE => (printPath path; raise bug "map not found (1)" ) | SOME (I.IDEXVAR {path, ty, version, loc,...}) => let val path = I.setVersion(path, version) val ty = ITy.evalIty ITy.emptyContext ty handle e => (printPath path; raise bug "map not found (2)" ) in SOME (TC.TPEXVAR ({path=path, ty=ty},loc), ty) end | SOME _ => (printPath path; raise bug "map not found (3)" ) fun findTy path = let val tfun = case V.findTstr (Env,path) of NONE => (printPath path; raise bug "reifiedTerm tyCon not found" ) | SOME (V.TSTR tfun) => tfun | SOME (V.TSTR_DTY {tfun, ...}) => tfun val ity = I.TYCONSTRUCT {tfun=tfun, args=nil} val ty = ITy.evalIty ITy.emptyContext ity in SOME ty end in (* types *) reifiedTerm := findTy ["ReifiedTerm","reifiedTerm"]; idstatus := findTy ["ReifiedTerm","idstatus"]; tstr := findTy ["ReifiedTerm","tstr"]; varE := findTy ["ReifiedTerm","varE"]; tyE := findTy ["ReifiedTerm","tyE"]; env := findTy ["ReifiedTerm","env"]; strentry := findTy ["ReifiedTerm","strentry"]; funE := findTy ["ReifiedTerm","funE"]; sigentry := findTy ["ReifiedTerm","sigentry"]; sigE := findTy ["ReifiedTerm","sigE"]; topEnv := findTy ["ReifiedTerm","topEnv"]; (* variables *) makeArrayTerm := findVar ["ReifiedTerm","makeArrayTerm"]; makeListTerm := findVar ["ReifiedTerm","makeListTerm"]; makeConsTerm := findVar ["ReifiedTerm","makeConsTerm"]; makeFieldTerm := findVar ["ReifiedTerm","makeFieldTerm"]; makeConsField := findVar ["ReifiedTerm","makeConsField"]; fieldNil := findVar ["ReifiedTerm","fieldNil"]; reifiedTermNil := findVar ["ReifiedTerm","reifiedTermNil"]; makeEXVAR := findVar ["ReifiedTerm","makeEXVAR"]; makeEXEXN := findVar ["ReifiedTerm","makeEXEXN"]; makeEXEXNREP := findVar ["ReifiedTerm","makeEXEXNREP"]; makeTstr := findVar ["ReifiedTerm","makeTstr"]; idstatusNil := findVar ["ReifiedTerm","idstatusNil"]; idstatusCons := findVar ["ReifiedTerm","idstatusCons"]; tstrNil := findVar ["ReifiedTerm","tstrNil"]; tstrCons := findVar ["ReifiedTerm","tstrCons"]; makeENV := findVar ["ReifiedTerm","makeENV"]; makeStrentry := findVar ["ReifiedTerm","makeStrentry"]; strentryNil := findVar ["ReifiedTerm","strentryNil"]; strentryCons := findVar ["ReifiedTerm","strentryCons"]; stringNil := findVar ["ReifiedTerm","stringNil"]; stringCons := findVar ["ReifiedTerm","stringCons"]; makeSigentry := findVar ["ReifiedTerm","makeSigentry"]; sigentryNil := findVar ["ReifiedTerm","sigentryNil"]; sigentryCons := findVar ["ReifiedTerm","sigentryCons"]; makeReifiedTopenv := findVar ["ReifiedTerm","makeReifiedTopenv"]; format_topEnv := findVar ["ReifiedTerm","format_topEnv"]; printTopEnv := findVar ["ReifiedTerm","printTopEnv"]; (* constructor *) INTtyRep := findCon ["ReifiedTerm","INTtyRep"]; BOOLtyRep := findCon ["ReifiedTerm","BOOLtyRep"]; INTINFtyRep := findCon ["ReifiedTerm","INTINFtyRep"]; WORDtyRep := findCon ["ReifiedTerm","WORDtyRep"]; WORD8tyRep := findCon ["ReifiedTerm","WORD8tyRep"]; CHARtyRep := findCon ["ReifiedTerm","CHARtyRep"]; STRINGtyRep := findCon ["ReifiedTerm","STRINGtyRep"]; REALtyRep := findCon ["ReifiedTerm","REALtyRep"]; REAL32tyRep := findCon ["ReifiedTerm","REAL32tyRep"]; UNITtyRep := findCon ["ReifiedTerm","UNITtyRep"]; FUNtyRep := findCon ["ReifiedTerm","FUNtyRep"]; RECORDtyRep := findCon ["ReifiedTerm","RECORDtyRep"]; TUPLEtyRep := findCon ["ReifiedTerm","TUPLEtyRep"]; LISTtyRep := findCon ["ReifiedTerm","LISTtyRep"]; ARRAYtyRep := findCon ["ReifiedTerm","ARRAYtyRep"]; CONSTRUCTtyRep := findCon ["ReifiedTerm","CONSTRUCTtyRep"]; EXNtyRep := findCon ["ReifiedTerm","EXNtyRep"]; PTRtyRep := findCon ["ReifiedTerm","PTRtyRep"]; UNPRINTABLERep := findCon ["ReifiedTerm","UNPRINTABLERep"]; BUILTINRep := findCon ["ReifiedTerm","BUILTINRep"]; EXVAR := findCon ["ReifiedTerm","EXVAR"]; EXEXN := findCon ["ReifiedTerm","EXEXN"]; EXEXNREP := findCon ["ReifiedTerm","EXEXNREP"]; ENV := findCon ["ReifiedTerm","ENV"] end fun mkConTerm (con, exp) = let val tyOpt = case exp of NONE => NONE | SOME _ => (case #ty con of T.FUNMty ([ty],_) => SOME ty | _ => raise bug "non function con with arg" ) in TC.TPDATACONSTRUCT {con=con, instTyList=nil, argExpOpt=exp, argTyOpt=tyOpt, loc= Loc.noloc} end fun unprintable () = case !UNPRINTABLERep of NONE => raise bug "unprintable unavailable" | SOME con => mkConTerm(con, NONE) fun builtin () = case !BUILTINRep of NONE => raise bug "unprintable unavailable" | SOME con => mkConTerm(con, NONE) fun mkINTtyRepTerm exp = case !INTtyRep of NONE => unprintable() | SOME con => mkConTerm(con, SOME exp) fun mkBOOLtyRepTerm exp = case !BOOLtyRep of NONE => unprintable() | SOME con => mkConTerm(con, SOME exp) fun mkINTINFtyRepTerm exp = case !INTINFtyRep of NONE => unprintable() | SOME con => mkConTerm(con, SOME exp) fun mkWORDtyRepTerm exp = case !WORDtyRep of NONE => unprintable() | SOME con => mkConTerm(con,SOME exp) fun mkWORD8tyRepTerm exp = case !WORD8tyRep of NONE => unprintable() | SOME con => mkConTerm(con, SOME exp) fun mkCHARtyRepTerm exp = case !CHARtyRep of NONE => unprintable() | SOME con => mkConTerm(con,SOME exp) fun mkSTRINGtyRepTerm exp = case !STRINGtyRep of NONE => unprintable() | SOME con => mkConTerm(con, SOME exp) fun mkREALtyRepTerm exp = case !REALtyRep of NONE => unprintable() | SOME con => mkConTerm(con,SOME exp) fun mkREAL32tyRepTerm exp = case !REAL32tyRep of NONE => unprintable() | SOME con => mkConTerm(con, SOME exp) fun mkUNITtyRepTerm () = case !UNITtyRep of NONE => unprintable() | SOME con => mkConTerm(con,NONE) fun mkFUNtyRepTerm () = case !FUNtyRep of NONE => unprintable() | SOME con => mkConTerm(con,NONE) fun mkRECORDtyRepTerm exp = case !RECORDtyRep of NONE => unprintable() | SOME con => mkConTerm(con, SOME exp) fun mkTUPLEtyRepTerm exp = case !TUPLEtyRep of NONE => unprintable() | SOME con => mkConTerm(con, SOME exp) fun mkLISTtyRepTerm exp = case !LISTtyRep of NONE => unprintable() | SOME con => mkConTerm(con,SOME exp) fun mkARRAYtyRepTerm exp = case !ARRAYtyRep of NONE => unprintable() | SOME con => mkConTerm(con,SOME exp) fun mkCONSTRUCTtyRepTerm exp = case !CONSTRUCTtyRep of NONE => unprintable() | SOME con => mkConTerm(con, SOME exp) fun mkEXNtyRepTerm () = case !EXNtyRep of NONE => unprintable() | SOME con => mkConTerm(con,NONE) fun mkPTRtyRepTerm () = case !PTRtyRep of NONE => unprintable() | SOME con => mkConTerm(con, NONE) end end smlsharp-1.2.0/src/compiler/reflection/main/Reify.smi0000644 000000000000000000000275212050661606022760 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../../smlformat-lib.smi" _require "../../typedcalc/main/TypedCalc.ppg.smi" _require "../../typedcalc/main/TypedCalcUtils.smi" _require "../../types/main/EvalIty.smi" _require "../../types/main/Types.ppg.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../types/main/TypesUtils.smi" _require "../../types/main/Unify.smi" _require "../../types/main/tvarMap.smi" _require "../../builtin2/main/BuiltinTypes.smi" _require "../../typeinference2/main/TypeInferenceUtils.smi" _require "../../nameevaluation/main/NameEvalEnv.ppg.smi" _require "../../nameevaluation/main/NameEvalUtils.smi" _require "../../nameevaluation/main/NormalizeTy.smi" _require "../../reflection/main/ReifiedTermData.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../util/main/SmlppgUtil.ppg.smi" structure Reify = struct val makeMonoApply : (TypedCalc.tpexp * Types.ty) option ref -> TypedCalc.tpexp -> TypedCalc.tpexp val reify : Types.ty * TypedCalc.tpexp -> TypedCalc.tpexp val reifyEnv : NameEvalEnv.env -> NameEvalEnv.env * TypedCalc.tpexp val reifySigE : NameEvalEnv.sigE -> TypedCalc.tpexp val reifyFunE : NameEvalEnv.funE -> TypedCalc.tpexp val reifyTopEnv : NameEvalEnv.topEnv -> NameEvalEnv.topEnv * TypedCalc.tpexp end smlsharp-1.2.0/src/compiler/reflection/main/Reify.sml0000644 000000000000000000004452612050661606022770 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2012- Tohoku University. * @author Atsushi Ohori *) structure Reify = struct local fun bug s = Control.Bug ("Reiy:" ^ s) structure I = IDCalc structure T = Types structure ITy = EvalIty structure TC = TypedCalc structure TU = TypesUtils structure TCU = TypedCalcUtils structure TIU = TypeInferenceUtils structure U = Unify structure RD = ReifiedTermData structure BT = BuiltinTypes structure V = NameEvalEnv val idstatusWidth = 60 val tstrWidth = 70 val sigWidth = 75 (* this is a copy from Control *) fun prettyPrint width expressions = let val ppgenParameter = [SMLFormat.Columns width] in SMLFormat.prettyPrint ppgenParameter expressions end fun eqTyCon ({id=id1,...}:T.tyCon, {id=id2,...}:T.tyCon) = TypID.eq(id1,id2) fun reifiedTerm () = case !RD.reifiedTerm of SOME ty => ty | NONE => raise bug "reifiedTerm not set" fun makeString string = TC.TPCONSTANT {const=Absyn.STRING (string, Loc.noloc), ty=BT.stringTy, loc=Loc.noloc} fun makeInt int = TC.TPCONSTANT {const=Absyn.INT (int, Loc.noloc), ty=BT.intTy, loc=Loc.noloc} fun makeMonoApply2 funOptRef arg1 arg2 = let val (funterm, funTy) = case !funOptRef of SOME (funterm, funTy) => (funterm, funTy) | NONE => raise bug "funterm not set" val term1 = TC.TPAPPM {funExp=funterm, funTy=funTy, argExpList=[arg1], loc=Loc.noloc} val funTy = case funTy of T.FUNMty(_, ty) => ty | _ => raise bug "non fun ty" val term2 = TC.TPAPPM {funExp=term1, funTy=funTy, argExpList=[arg2], loc=Loc.noloc} in term2 end fun makeMonoApply3 funOptRef arg1 arg2 arg3 = let val (funterm, funTy) = case !funOptRef of SOME (funterm, funTy) => (funterm, funTy) | NONE => raise bug "funterm not set" val term1 = TC.TPAPPM {funExp=funterm, funTy=funTy, argExpList=[arg1], loc=Loc.noloc} val funTy = case funTy of T.FUNMty(_, ty) => ty | _ => raise bug "non fun ty" val term2 = TC.TPAPPM {funExp=term1, funTy=funTy, argExpList=[arg2], loc=Loc.noloc} val funTy = case funTy of T.FUNMty(_, ty) => ty | _ => raise bug "non fun ty" val term3 = TC.TPAPPM {funExp=term2, funTy=funTy, argExpList=[arg3], loc=Loc.noloc} in term3 end in fun makeMonoApply funOptRef arg = let val (funterm, funTy) = case !funOptRef of SOME (funterm, funTy) => (funterm, funTy) | NONE => raise bug "funterm not set" in TC.TPAPPM {funExp=funterm, funTy=funTy, argExpList=[arg], loc=Loc.noloc} end fun reify (ty, tpexp) = case TU.derefTy ty of T.SINGLETONty _ => RD.unprintable() | T.ERRORty => RD.unprintable() | T.DUMMYty _ => RD.unprintable() | T.TYVARty _ => RD.unprintable() | T.BOUNDVARty _ => RD.unprintable() | T.FUNMty _ => RD.mkFUNtyRepTerm() | T.RECORDty tyLabelEnvMap => let val stringTyList = LabelEnv.listItemsi tyLabelEnvMap fun reifyField (label, fieldTy) = let val fieldExp = TC.TPSELECT {label=label, exp=tpexp, expTy=ty, resultTy=fieldTy, loc=Loc.noloc} val term = reify (fieldTy, fieldExp) in makeMonoApply2 RD.makeFieldTerm (makeString label) term end fun reifyElem (label, fieldTy) = let val fieldExp = TC.TPSELECT {label=label, exp=tpexp, expTy=ty, resultTy=fieldTy, loc=Loc.noloc} in reify (fieldTy, fieldExp) end val fieldNil = case !RD.fieldNil of NONE => raise bug "fieldNil not set" | SOME (term, ty) => term val reifiedTermNil = case !RD.reifiedTermNil of NONE => raise bug "reifiedTermNil not set" | SOME (term, ty) => term in if SmlppgUtil.isNumeric stringTyList then RD.mkTUPLEtyRepTerm (foldr (fn (field, fieldListTerm) => makeMonoApply2 RD.makeConsTerm (reifyElem field) fieldListTerm ) reifiedTermNil stringTyList ) else RD.mkRECORDtyRepTerm (foldr (fn (field, fieldListTerm) => makeMonoApply2 RD.makeConsField (reifyField field) fieldListTerm ) fieldNil stringTyList ) end | T.CONSTRUCTty {tyCon=tyCon as {path,...}, args} => reifyTyCon (tyCon, args, path, tpexp) | T.POLYty {boundtvars, body} => (case body of T.FUNMty _ => RD.mkFUNtyRepTerm() | _ => RD.unprintable() ) (* FIXME: we can do someting more for poly *) and makeReifyFun ty = let val newVarInfo = TCU.newTCVarInfo ty val argVar = TC.TPVAR (newVarInfo, Loc.noloc) val mapBody = reify (ty, argVar) val bodyTy = reifiedTerm() in TC.TPFNM {argVarList=[newVarInfo], bodyTy=bodyTy, bodyExp=mapBody, loc=Loc.noloc} end and makePolyReify argTys (makeTermVar, makeTermVarTy) exp = case argTys of [argTy] => let val reifyFun = makeReifyFun argTy (* makeTermVar: ['a. ('a -> reifiedTerm) -> 'a tycon -> reifiedTerm *) val makeTermVarInst = TC.TPTAPP{exp=makeTermVar, expTy=makeTermVarTy, instTyList=[argTy], loc=Loc.noloc} val instTy = U.instOfPolyTy(makeTermVarTy, [argTy]) val termFun = TC.TPAPPM {funExp=makeTermVarInst, funTy=instTy, argExpList=[reifyFun], loc=Loc.noloc} val ranTy = case instTy of T.FUNMty(_, ty) => ty | _ => raise bug "non funty" in TC.TPAPPM {funExp=termFun, funTy=ranTy, argExpList = [exp], loc=Loc.noloc} end | _ => raise bug "term tycon arg" and reifyTyCon (tyCon, args, path, exp) = if eqTyCon(tyCon, BT.intTyCon) then RD.mkINTtyRepTerm exp else if eqTyCon(tyCon, BT.boolTyCon) then RD.mkBOOLtyRepTerm exp else if eqTyCon(tyCon, BT.intInfTyCon) then RD.mkINTINFtyRepTerm exp else if eqTyCon(tyCon, BT.wordTyCon) then RD.mkWORDtyRepTerm exp else if eqTyCon(tyCon, BT.word8TyCon) then RD.mkWORD8tyRepTerm exp else if eqTyCon(tyCon, BT.charTyCon) then RD.mkCHARtyRepTerm exp else if eqTyCon(tyCon, BT.ptrTyCon) then RD.mkPTRtyRepTerm () else if eqTyCon(tyCon, BT.realTyCon) then RD.mkREALtyRepTerm exp else if eqTyCon(tyCon, BT.real32TyCon) then RD.mkREAL32tyRepTerm exp else if eqTyCon(tyCon, BT.stringTyCon) then RD.mkSTRINGtyRepTerm exp else if eqTyCon(tyCon, BT.unitTyCon) then RD.mkUNITtyRepTerm () else if eqTyCon(tyCon, BT.exnTyCon) then RD.mkEXNtyRepTerm () else if eqTyCon(tyCon, BT.listTyCon) then (let val (makeTermVar, makeTermVarTy) = case !RD.makeListTerm of SOME (var, ty) => (var, ty) | NONE => raise bug "makeListTerm not set" in makePolyReify args (makeTermVar, makeTermVarTy) exp end handle exn => (let val pathName = String.concatWith "." path val pathNameTerm = makeString pathName in RD.mkCONSTRUCTtyRepTerm pathNameTerm end ) ) else if eqTyCon(tyCon, BT.arrayTyCon) then let val (makeTermVar, makeTermVarTy) = case !RD.makeArrayTerm of SOME (var, ty) => (var, ty) | NONE => raise bug "makeArrayTerm not set" in makePolyReify args (makeTermVar, makeTermVarTy) exp end else if eqTyCon(tyCon, BT.exnTyCon) then RD.mkEXNtyRepTerm () else let val pathName = String.concatWith "." path val pathNameTerm = makeString pathName in RD.mkCONSTRUCTtyRepTerm pathNameTerm end fun reifyIdstatus (name, idstatus) = case idstatus of I.IDVAR varId => NONE | I.IDVAR_TYPED _ => NONE | I.IDEXVAR {path, ty=ity, used, loc, version, internalId = SOME id} => let val accessPath = I.setVersion(path, version) val tyTerm = makeString (prettyPrint idstatusWidth (I.print_ty (nil,nil) ity)) val ty = ITy.evalIty ITy.emptyContext ity val nameTerm = makeString name val var = TC.TPVAR ({path=accessPath, ty=ty, id=id}, Loc.noloc) val reifiedTerm = reify (ty, var) val newIdstatus = I.IDEXVAR {path=path, ty=ity, used=used, loc=loc, version=version, internalId = NONE} in SOME (newIdstatus, makeMonoApply3 RD.makeEXVAR nameTerm reifiedTerm tyTerm) end | I.IDEXVAR {path, ty, used, internalId = NONE, version,...} => let val accessPath = I.setVersion(path, version) val tyTerm = makeString (prettyPrint idstatusWidth (I.print_ty (nil,nil) ty)) val ty = ITy.evalIty ITy.emptyContext ty val nameTerm = makeString name val var = TC.TPEXVAR ({path=accessPath, ty=ty}, Loc.noloc) val reifiedTerm = reify (ty, var) in SOME (idstatus, makeMonoApply3 RD.makeEXVAR nameTerm reifiedTerm tyTerm) end | I.IDEXVAR_TOBETYPED _ => NONE | I.IDBUILTINVAR {primitive, ty} => let val tyTerm = makeString (prettyPrint idstatusWidth (I.print_ty (nil,nil) ty)) val nameTerm = makeString name val reifiedTerm = RD.builtin() in SOME (idstatus, makeMonoApply3 RD.makeEXVAR nameTerm reifiedTerm tyTerm) end | I.IDCON _ => NONE | I.IDEXN _ => NONE | I.IDEXNREP _ => NONE | I.IDEXEXN {path, ty, version,...} => let val accessPath = I.setVersion(path, version) val ty = ITy.evalIty ITy.emptyContext ty val exnArgTy = case ty of T.FUNMty([argTy], _) => SOME argTy | _ => NONE val argTyTerm = case exnArgTy of NONE => makeString "" | SOME argTy => makeString (prettyPrint idstatusWidth (T.format_ty nil argTy)) val nameTerm = makeString name in SOME (idstatus, makeMonoApply2 RD.makeEXEXN nameTerm argTyTerm) end | I.IDEXEXNREP {path, ty, version,...} => let val ty = ITy.evalIty ITy.emptyContext ty val pathTerm = makeString (String.concatWith "." path) val nameTerm = makeString name in SOME (idstatus, makeMonoApply2 RD.makeEXEXNREP nameTerm pathTerm) end | I.IDOPRIM _ => NONE | I.IDSPECVAR _ => NONE | I.IDSPECEXN _ => NONE | I.IDSPECCON => NONE fun reifyTstr (name, tstr) = let val name = SmlppgUtil.makeToken name val tyVal = case tstr of V.TSTR tfun => makeString (prettyPrint tstrWidth (I.print_tfun (nil,name) tfun)) | V.TSTR_DTY {tfun, varE, formals, conSpec} => makeString (prettyPrint tstrWidth (I.print_tfun (SmlppgUtil.makeToken "DTY",name) tfun)) in makeMonoApply2 RD.makeSigentry (makeString "") tyVal end fun filterSpecConVarE varE = SEnv.foldri (fn (name, I.IDSPECCON, varE) => varE | (name, idstatus, varE) => SEnv.insert(varE, name, idstatus)) SEnv.empty varE fun filterSpecConEnv (V.ENV {varE, tyE, strE}) = let val varE = filterSpecConVarE varE in V.ENV{varE=varE, tyE=tyE, strE=strE} end fun filterSpecCon {id, version, used, argSig, argStrEntry, argStrName, dummyIdfunArgTy, polyArgTys, typidSet, exnIdSet, bodyEnv, bodyVarExp } = {id = id, version = version, used = used, argSig = filterSpecConEnv argSig, argStrEntry = argStrEntry, argStrName = argStrName, dummyIdfunArgTy = dummyIdfunArgTy, polyArgTys = polyArgTys, typidSet = typidSet, exnIdSet = exnIdSet, bodyEnv = bodyEnv, bodyVarExp = bodyVarExp } fun reifyFunEntry (name, funEntry) = let (* 2012-8-7 ohori ad-hoc fix for bug 232_functorSigNewLines.sml *) val funEntry = filterSpecCon funEntry val name = ("functor " ^ name) val funE = makeString (name ^ (prettyPrint tstrWidth (V.printTy_funEEntry funEntry))) in funE end fun reifyEnv env = let val env = NormalizeTy.reduceEnv env (* tyE *) val V.ENV {varE, tyE, strE=V.STR strE} = env val stringTstrList = SEnv.listItemsi tyE val termList = map reifyTstr stringTstrList val listTermTyE = case !RD.tstrNil of NONE => raise bug "idstatusNil not set" | SOME (term, ty) => term val listTermTyE = foldr (fn (term, listTerm) => makeMonoApply2 RD.tstrCons term listTerm ) listTermTyE termList (* strE *) val listTermStrentry = case !RD.strentryNil of NONE => raise bug "rstrentryNil not set" | SOME (term, ty) => term val (newStrE, listTermStrentry) = SEnv.foldri (fn (name, {env, strKind}, (newStrE, listTermStrentry)) => let val nameTerm = makeString name val (newEnv,envTerm) = reifyEnv env val termStrEntry = makeMonoApply2 RD.makeStrentry nameTerm envTerm val newStrE = SEnv.insert(newStrE, name, {env=newEnv, strKind=strKind}) in (newStrE, makeMonoApply2 RD.strentryCons termStrEntry listTermStrentry) end ) (SEnv.empty, listTermStrentry) strE val strE = V.updateStrE(V.STR strE, V.STR newStrE) (* varE *) val listTermVarE = case !RD.idstatusNil of NONE => raise bug "idstatusNil not set" | SOME (term, ty) => term val (newVarE, listTermVarE) = SEnv.foldri (fn (name, idstatus, (newVarE, listTermVarE)) => let val termIdstatusOpt = reifyIdstatus (name, idstatus) in case termIdstatusOpt of NONE => (newVarE, listTermVarE) | SOME(idstatus, term) => (SEnv.insert(newVarE, name, idstatus), makeMonoApply2 RD.idstatusCons term listTermVarE ) end ) (SEnv.empty,listTermVarE) varE val varE = V.varEWithVarE(varE, newVarE) val env = V.ENV {varE=varE, tyE=tyE, strE=strE} in (env, makeMonoApply3 RD.makeENV listTermVarE listTermTyE listTermStrentry) end fun printableIdstatus idstatus = case idstatus of I.IDVAR _ => false | I.IDVAR_TYPED _ => false | I.IDEXVAR _ => false | I.IDEXVAR_TOBETYPED _ => false | I.IDBUILTINVAR _ => false | I.IDCON _ => false | I.IDEXN _ => false | I.IDEXNREP _ => false | I.IDEXEXN _ => false | I.IDEXEXNREP _ => false | I.IDOPRIM _ => false | I.IDSPECVAR _ => true | I.IDSPECEXN _ => true | I.IDSPECCON => false fun filterVarE varE = SEnv.foldri (fn (name, idstatus, varE) => if printableIdstatus idstatus then SEnv.insert(varE, name, idstatus) else varE ) SEnv.empty varE fun filterEnv (V.ENV {varE, tyE, strE=V.STR strE}) = let val varE = filterVarE varE val strE = SEnv.map (fn {env, strKind} => {env=filterEnv env, strKind=strKind}) strE in V.ENV {varE=varE, tyE=tyE, strE=V.STR strE} end fun reifySigE (sigE:V.sigE) = let val sigE = SEnv.map filterEnv sigE val sigE = SEnv.listItemsi sigE in makeString (prettyPrint sigWidth (V.printTy_sigEList sigE)) end fun reifyFunE (funE:V.funE) = let val stringFunEntryList = SEnv.listItemsi funE val nilTerm = case !RD.stringNil of NONE => raise bug "funeNil not set" | SOME (term, ty) => term val termList = foldr (fn (nameFunEntry, listTerm) => makeMonoApply2 RD.stringCons (reifyFunEntry nameFunEntry) listTerm ) nilTerm stringFunEntryList in termList end fun reifyTopEnv (topEnv:V.topEnv as {Env, SigE, FunE}) = let val (newEnv, envTerm) = reifyEnv Env val Env = V.updateEnv(Env,newEnv) val funETerm = reifyFunE FunE val sigETerm = reifySigE SigE val tpexp = makeMonoApply3 RD.makeReifiedTopenv envTerm funETerm sigETerm in ({Env=Env, SigE=SigE, FunE=FunE}, tpexp) end end end smlsharp-1.2.0/src/compiler/rtl0000755 000000000000000000000000012050661606016626 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/rtl/main0000755 000000000000000000000000012050661606017552 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/rtl/main/Coloring.smi0000644 000000000000000000000167512050661606022130 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/IEnv.smi" _require "../../../compiler-utils/env/main/ISet.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../util/main/TermFormat.smi" _require "RTL.ppg.smi" _require "RTLUtils.smi" structure Coloring = struct type graph (= boxed) type regId = int val format_graph : graph TermFormat.formatter val newGraph : unit -> graph val addReg : graph * regId -> unit val disturb : graph * RTL.var * RTL.var -> unit val interfereWithRegs : graph * RTL.var * regId list -> unit val allocReg : graph * RTL.var * regId -> unit val sameReg : graph * RTL.var * RTL.var -> unit val coalescable : graph * RTL.var * RTL.var -> unit val disallowSpill : graph * RTL.var -> unit val coloring : graph -> {regSubst: regId VarID.Map.map, spillSubst: RTLUtils.Var.set VarID.Map.map} end smlsharp-1.2.0/src/compiler/rtl/main/Coloring.sml0000644 000000000000000000013252412050661606022131 0ustar00rootroot0000000 0000000 (** * x86 RTL * @copyright (c) 2009, 2010, 2011, Tohoku University. * @author UENO Katsuhiro * @version $Id: $ *) structure Coloring :> sig type graph type regId = int val format_graph : graph TermFormat.formatter (* Let A and B be variables. We say A disturbs B if * A is either used or defined by an instruction within the live * range of B. It subsumes that the live range of A and B * interfere each other. *) val newGraph : unit -> graph val addReg : graph * regId -> unit val disturb : graph * RTL.var * RTL.var -> unit (* val interfere : graph * VarID.id * VarID.id -> unit *) val interfereWithRegs : graph * RTL.var * regId list -> unit val allocReg : graph * RTL.var * regId -> unit val sameReg : graph * RTL.var * RTL.var -> unit val coalescable : graph * RTL.var * RTL.var -> unit val disallowSpill : graph * RTL.var -> unit val coloring : graph -> {regSubst: regId VarID.Map.map, spillSubst: RTLUtils.Var.set VarID.Map.map} end = struct structure LinkedList :> sig type 'a list type 'a item val new : unit -> 'a list val add : 'a list * 'a -> 'a item val move : 'a item * 'a list -> unit val moveAll : 'a list -> 'a list val elem : 'a item -> 'a val first : 'a list -> 'a item option val listItems : 'a list -> 'a item List.list val foldl : ('a item * 'b -> 'b) -> 'b -> 'a list -> 'b val app : ('a item -> unit) -> 'a list -> unit end = struct datatype 'a next = NIL | NEXT of 'a item withtype 'a item = 'a next ref ref * 'a next ref * 'a type 'a list = 'a next ref fun new () = ref NIL fun add (head, elem) = let val next = ref (!head) val item = (ref head, next, elem) in case !head of NIL => () | NEXT (p,n,i) => p := next; head := NEXT item; item end fun move (item as (prev, next, _), head) = (case !next of NIL => () | NEXT (p,n,i) => p := !prev; !prev := !next; next := !head; prev := head; case !head of NIL => () | NEXT (p,n,i) => p := next; head := NEXT item) fun moveAll head = let val newHead = ref (!head) in case !head of NIL => () | NEXT (p,n,i) => p := newHead; newHead end fun elem ((_,_,elem):'a item) = elem fun first (ref NIL) = NONE | first (ref (NEXT item)) = SOME item fun listItems (ref NIL) = nil | listItems (ref (NEXT (item as (p,n,i)))) = item :: listItems n fun foldl f z (ref next) = let fun loop (NIL, z) = z | loop (NEXT (item as (p,n,i)), z) = loop (!n, f (item, z)) in loop (next, z) end fun app f l = foldl (fn (x, ()) => f x) () l end type regId = int type vertexId = int datatype workset = SimplifySet | FreezeSet | SpillSet | SelectStack | ColoredSet datatype vertexItem = V of {id: vertexId, available: bool ref, color: regId option ref, belongTo: workset ref, degree: int ref, adjacencies: vertex IEnv.map ref, moves: move IEnv.map ref, vars: RTLUtils.Var.set ref, disturbCount: int ref, disturbedBy: VarID.Set.set ref, allowSpill: bool ref} and moveItem = MOVE of (vertex * vertex) ref withtype vertex = vertexItem LinkedList.item and move = moveItem LinkedList.item type graph = { varMap: vertex VarID.Map.map ref, (* variable -> vertex *) regMap: vertex IEnv.map ref, (* regId -> vertex *) vertexCount: int ref, (* counter for vertexId *) numColors: int ref, simplifySet: vertexItem LinkedList.list, coalesceSet: moveItem LinkedList.list, freezeSet: vertexItem LinkedList.list, spillSet: vertexItem LinkedList.list, selectStack: vertexItem LinkedList.list, coloredSet: vertexItem LinkedList.list } local open TermFormat.FormatComb in fun format_vertex_id v = case LinkedList.elem v of V {id, available, ...} => begin_ $(if !available then begin_ end_ else term "!") $(int id) end_ fun format_move move = case LinkedList.elem move of MOVE (ref (v1, v2)) => tuple2 (format_vertex_id, format_vertex_id) (v1, v2) fun format_vertex_simple vertex = let val V {adjacencies, moves, color, available, degree, ...} = LinkedList.elem vertex val adjs = map LinkedList.elem (IEnv.listItems (!adjacencies)) val adjs = List.filter (fn V {available,...} => !available) adjs val adjs = map (fn V {id,...} => id) adjs in begin_ $(int (!degree)) $(if !available then begin_ end_ else term "!") $(tuple2 (list int, list format_move) (adjs, IEnv.listItems (!moves))) $(case !color of SOME regId => begin_ text "<" $(int regId) text ">" end_ | NONE => begin_ end_) end_ end local fun formatVarMap map = assocList (VarID.format_id, format_vertex_id) (VarID.Map.listItemsi map) fun formatRegMap map = assocList (int, format_vertex_id) (IEnv.listItemsi map) fun vertexId vertex = case LinkedList.elem vertex of V {id,...} => id fun formatVertexList l = assocList (int, format_vertex_simple) (map (fn v => (vertexId v, v)) (LinkedList.listItems l)) fun formatMoveList l = list format_move (LinkedList.listItems l) in fun format_graph ({varMap, regMap, vertexCount, numColors, simplifySet, coalesceSet, freezeSet, spillSet, selectStack, coloredSet}:graph) = record [("varMap", formatVarMap (!varMap)), ("regMap", formatRegMap (!regMap)), ("vertexCount", int (!vertexCount)), ("numColors", int (!numColors)), ("simplifySet", formatVertexList simplifySet), ("freezeSet", formatVertexList freezeSet), ("spillSet", formatVertexList spillSet), ("selectStack", formatVertexList selectStack), ("coloredSet", formatVertexList coloredSet), ("coalesceSet", formatMoveList coalesceSet)] end (* local *) local fun printVertex vertex = let val V {id, adjacencies=adj, ...} = LinkedList.elem vertex in print (Int.toString id ^ ":"); IEnv.appi (fn (i,v) => case LinkedList.elem v of V {available=ref true, ...} => print (" " ^ Int.toString i) | _ => ()) (!adj); print "\n" end fun add (moveMap, id1, id2) = case IEnv.find (moveMap, id1) of NONE => IEnv.insert (moveMap, id1, ISet.singleton id2) | SOME x => IEnv.insert (moveMap, id1, ISet.add (x, id2)) fun makeMoveMap coalesceSet = LinkedList.foldl (fn (move, moveMap) => let val MOVE (ref (v1, v2)) = LinkedList.elem move val V {id=id1,...} = LinkedList.elem v1 val V {id=id2,...} = LinkedList.elem v2 val moveMap = add (moveMap, id1, id2) val moveMap = add (moveMap, id2, id1) in moveMap end) IEnv.empty coalesceSet in fun printGraph ({simplifySet, coalesceSet, freezeSet, spillSet, coloredSet, ...}:graph) = ( print "----\n"; print "SimplifySet\n"; LinkedList.app printVertex simplifySet; print "FreezeSet\n"; LinkedList.app printVertex freezeSet; print "SpillSet\n"; LinkedList.app printVertex spillSet; print "ColoredSet\n"; LinkedList.app printVertex coloredSet; print "Moves\n"; IEnv.appi (fn (id1, ids) => (print (Int.toString id1 ^ ":"); ISet.app (fn id => print (" " ^ Int.toString id)) ids; print "\n")) (makeMoveMap coalesceSet); print "----\n" ) end (* local *) fun LOG msg vertexes = let open TermFormat.FormatComb in begin_ puts text msg dspace $(list format_vertex_id vertexes) end_ end end (* local *) exception ASSERT of string local fun makeVertexMap ({vertexCount, simplifySet, freezeSet, spillSet, selectStack, coloredSet, ...}:graph) = let fun add map vs = LinkedList.foldl (fn (vertex, z) => case LinkedList.elem vertex of v as V {id, ...} => case IEnv.find (z, id) of SOME _ => raise ASSERT "duplicate vertex" | NONE => (if id >= 0 andalso id < !vertexCount then () else raise ASSERT "invalid vertex id"; IEnv.insert (z, id, v))) map vs val map = IEnv.empty val map = add map simplifySet val map = add map freezeSet val map = add map spillSet val map = add map selectStack val map = add map coloredSet in map end fun checkVars vertexMap = ( IEnv.foldl (fn (V {id, vars, ...}, allVars) => (RTLUtils.Var.app (fn {id, ...} => if RTLUtils.Var.inDomain (allVars, id) then raise ASSERT "duplicate var" else ()) (!vars); RTLUtils.Var.setUnion (allVars, !vars))) RTLUtils.Var.emptySet vertexMap; () ) fun checkVertexExists vertexMap (v as V {id,...}) = case IEnv.find (vertexMap, id) of NONE => raise ASSERT ("vertex not found " ^ Int.toString id) | SOME v2 => if v = v2 then () else raise ASSERT "vertex not identical" fun checkAdjacencies vertexMap (v1 as V {id,adjacencies,...}) = IEnv.appi (fn (key, v2) => let val v2 as V {id=id2, adjacencies=adj2, ...} = LinkedList.elem v2 in checkVertexExists vertexMap v2; if key = id2 then () else raise ASSERT "adjacent id mismatch"; if v1 = v2 then raise ASSERT "adjacent myself" else (); case IEnv.find (!adj2, id) of NONE => raise ASSERT ("adjacencies: reverse entry not found: " ^ Int.toString id ^ " -> " ^ Int.toString key) | SOME v3 => case LinkedList.elem v3 of v3 => if v1 = v3 then () else raise ASSERT "adjacencies: reverse entry mismatch" end) (!adjacencies) fun checkMove vertexMap move = let val move as MOVE (ref (v1, v2)) = LinkedList.elem move val v1 as V {id=id1, moves=moves1, adjacencies=adj1, color=color1, available=available1, ...} = LinkedList.elem v1 val v2 as V {id=id2, moves=moves2, color=color2, available=available2, ...} = LinkedList.elem v2 val _ = checkVertexExists vertexMap v1 val _ = checkVertexExists vertexMap v2 in if id1 = id2 then raise ASSERT "move between same vertex" else (); if IEnv.inDomain (!adj1, id2) then raise ASSERT "move between adjacencies" else (); if !available1 andalso !available2 then () else raise ASSERT "move not between available vertexes"; case IEnv.find (!moves1, id2) of NONE => raise ASSERT "move entry not found" | SOME move' => case LinkedList.elem move' of move' => if move = move' then () else raise ASSERT "move entry mistmach"; case IEnv.find (!moves2, id1) of NONE => raise ASSERT "move entry not found" | SOME move' => case LinkedList.elem move' of move' => if move = move' then () else raise ASSERT "move entry mistmach"; case (!color1, !color2) of (SOME c1, SOME c2) => if c1 = c2 then () else raise ASSERT "move between different color" | _ => () end fun checkMoves vertexMap (v1 as V {id,moves,...}) = IEnv.appi (fn (key, move) => let val MOVE (ref (v2, v3)) = LinkedList.elem move val _ = checkMove vertexMap move val v2 = LinkedList.elem v2 val v3 = LinkedList.elem v3 in if v1 = v2 then () else if v1 = v3 then () else raise ASSERT "move peer not found" end) (!moves) fun checkDegree (v as V {degree,adjacencies,...}) = let val count = IEnv.numItems (IEnv.filter (fn v => case LinkedList.elem v of V {available,...} => !available) (!adjacencies)) in if !degree = count then () else raise ASSERT "degree and actual degree mismatch" end fun checkVertex vertexMap vertex = ( checkVertexExists vertexMap vertex; checkAdjacencies vertexMap vertex; checkDegree vertex; checkMoves vertexMap vertex ) fun checkVarMap vertexMap varMap = VarID.Map.appi (fn (varId, vertex) => let val v as V {id, vars, ...} = LinkedList.elem vertex in checkVertexExists vertexMap v; if RTLUtils.Var.inDomain (!vars, varId) then () else raise ASSERT "invalid varMap entry" end) varMap fun checkRegMap vertexMap regMap = IEnv.appi (fn (regId, vertex) => let val v as V {color, ...} = LinkedList.elem vertex in checkVertexExists vertexMap v; if !color = SOME regId then () else raise ASSERT "invalid regMap entry" end) regMap fun checkSimplifySet numColors simplifySet = LinkedList.app (fn vertex => let val V {degree, moves, color, available, belongTo, ...} = LinkedList.elem vertex in if !degree < numColors then () else raise ASSERT "simplifySet: degree"; if IEnv.isEmpty (!moves) then () else raise ASSERT "simplifySet: moves"; if not (isSome (!color)) then () else raise ASSERT "simplifySet: color"; if !available then () else raise ASSERT "simplifySet: available"; if !belongTo = SimplifySet then () else raise ASSERT "simplifySet: belongTo" end) simplifySet fun checkFreezeSet numColors freezeSet = LinkedList.app (fn vertex => let val V {degree, moves, color, available, belongTo, ...} = LinkedList.elem vertex in if !degree < numColors then () else raise ASSERT "freezeSet: degree"; if not (IEnv.isEmpty (!moves)) then () else raise ASSERT "freezeSet: moves"; if not (isSome (!color)) then () else raise ASSERT "freezeSet: color"; if !available then () else raise ASSERT "freezeSet: available"; if !belongTo = FreezeSet then () else raise ASSERT "freezeSet: belongTo" end) freezeSet fun checkSpillSet numColors spillSet = LinkedList.app (fn vertex => let val V {degree, moves, color, available, belongTo, ...} = LinkedList.elem vertex in if !degree >= numColors then () else raise ASSERT "spillSet: degree"; if not (isSome (!color)) then () else raise ASSERT "spillSet: color"; if !available then () else raise ASSERT "spillSet: available"; if !belongTo = SpillSet then () else raise ASSERT "spillSet: belongTo" end) spillSet fun checkSelectStack numColors selectStack = LinkedList.app (fn vertex => let val V {degree, moves, color, available, belongTo, ...} = LinkedList.elem vertex in if not (isSome (!color)) then () else raise ASSERT "selectStack: color"; if not (!available) then () else raise ASSERT "selectStack: available"; if !belongTo = SelectStack then () else raise ASSERT "selectStack: belongTo" end) selectStack fun checkColoredSet numColors coloredSet = LinkedList.app (fn vertex => let val V {color, available, belongTo, ...} = LinkedList.elem vertex in if isSome (!color) then () else raise ASSERT "coloredSet: color"; if !available then () else raise ASSERT "coloredSet: available"; if !belongTo = ColoredSet then () else raise ASSERT "coloredSet: belongTo" end) coloredSet fun checkCoalsceSet vertexMap coalesceSet = LinkedList.app (checkMove vertexMap) coalesceSet in fun checkInvaliant (graph as {varMap, regMap, vertexCount, numColors, simplifySet, coalesceSet, freezeSet, spillSet, selectStack, coloredSet}:graph) = let val vertexMap = makeVertexMap graph in IEnv.app (checkVertex vertexMap) vertexMap; checkVars vertexMap; checkVarMap vertexMap (!varMap); checkRegMap vertexMap (!regMap); checkSimplifySet (!numColors) simplifySet; checkFreezeSet (!numColors) freezeSet; checkSpillSet (!numColors) spillSet; checkSelectStack (!numColors) selectStack; checkColoredSet (!numColors) coloredSet; checkCoalsceSet vertexMap coalesceSet; () end handle ASSERT msg => let open TermFormat.FormatComb in begin_ text "****************" newline puts text "ASSERTION FAILED: " text msg newline $(format_graph graph) newline text "****************" end_; raise Control.Bug ("ASSERT: " ^ msg) end end (* local *) fun newGraph () = { varMap = ref VarID.Map.empty, regMap = ref IEnv.empty, vertexCount = ref 0, numColors = ref 0, simplifySet = LinkedList.new (), coalesceSet = LinkedList.new (), freezeSet = LinkedList.new (), spillSet = LinkedList.new (), selectStack = LinkedList.new (), coloredSet = LinkedList.new () } : graph fun newVertex (graph as {vertexCount, simplifySet, ...}:graph) = let val id = !vertexCount val item = V {id = id, available = ref true, color = ref NONE, belongTo = ref SimplifySet, degree = ref 0, adjacencies = ref IEnv.empty, moves = ref IEnv.empty, vars = ref RTLUtils.Var.emptySet, disturbCount = ref 0, disturbedBy = ref VarID.Set.empty, allowSpill = ref true} val vertex = LinkedList.add (simplifySet, item) in vertexCount := !vertexCount + 1; vertex end fun touchVar (graph as {varMap, ...}:graph) (var as {id,...}:RTL.var) = case VarID.Map.find (!varMap, id) of SOME vertex => vertex | NONE => let val vertex = newVertex graph val V {vars, ...} = LinkedList.elem vertex in vars := RTLUtils.Var.setUnion (!vars, RTLUtils.Var.singleton var); varMap := VarID.Map.insert (!varMap, id, vertex); (*checkInvaliant graph handle e => raise e;*) vertex end fun unifyColor (color1 : regId option, color2 : regId option) = case (color1, color2) of (NONE, color2) => color2 | (color1, NONE) => color1 | (SOME c1, SOME c2) => if c1 = c2 then color1 else raise Control.Bug "unifyColor: intend to unify different colors" fun unifiableColors (color1 : regId option, color2 : regId option) = case (color1, color2) of (SOME c1, SOME c2) => c1 = c2 | _ => true local fun addMove (graph as {coalesceSet, freezeSet, ...}:graph) (vertex1, vertex2) = let val V {id=id1, moves=moves1, adjacencies=adj1, belongTo=belongTo1, color=color1, ...} = LinkedList.elem vertex1 val V {id=id2, moves=moves2, belongTo=belongTo2, color=color2, ...} = LinkedList.elem vertex2 in (* let open TermFormat.FormatComb in begin_ puts text "addMove " $(tuple2 (format_vertex_id, format_vertex_id) (vertex1, vertex2)) end_ end; *) if IEnv.inDomain (!moves1, id2) orelse IEnv.inDomain (!adj1, id2) orelse id1 = id2 orelse not (unifiableColors (!color1, !color2)) then () else let val moveItem = MOVE (ref (vertex1, vertex2)) val move = LinkedList.add (coalesceSet, moveItem) in moves1 := IEnv.insert (!moves1, id2, move); moves2 := IEnv.insert (!moves2, id1, move); if !belongTo1 = SimplifySet then (belongTo1 := FreezeSet; LinkedList.move (vertex1, freezeSet)) else (); if !belongTo2 = SimplifySet then (belongTo2 := FreezeSet; LinkedList.move (vertex2, freezeSet)) else () end (*checkInvaliant graph handle e => raise e*) end in fun coalescable (graph, varId1, varId2) = addMove graph (touchVar graph varId1, touchVar graph varId2) end (* local *) (* called when the number of moves has changed. *) fun decrementNumMoves (graph as {simplifySet, ...}:graph) vertex = let val V {moves, available, belongTo, ...} = LinkedList.elem vertex in if !belongTo = FreezeSet andalso IEnv.isEmpty (!moves) then (belongTo := SimplifySet; LinkedList.move (vertex, simplifySet)) else () end fun removeAllMoves (graph as {simplifySet, ...}:graph) vertex = let val trash = LinkedList.new () val V {id, moves, available, ...} = LinkedList.elem vertex in IEnv.app (fn move => let val MOVE (r as ref (v1, v2)) = LinkedList.elem move val V {id=id1, ...} = LinkedList.elem v1 val peer = if id = id1 then v2 else v1 val V {moves, ...} = LinkedList.elem peer in moves := #1 (IEnv.remove (!moves, id)); LinkedList.move (move, trash); decrementNumMoves graph peer end) (!moves); moves := IEnv.empty (* the invaliant does not hold here. *) end fun activateMove (graph as {coalesceSet, ...}:graph) vertex = let val V {moves, ...} = LinkedList.elem vertex in IEnv.app (fn move => ((*case LinkedList.elem move of MOVE (ref (v1,v2)) => LOG "activate move" [v1,v2];*) LinkedList.move (move, coalesceSet))) (!moves) end (* called when the number of actual available adajencies has changed. *) fun decrementDegree (graph as {simplifySet, freezeSet, numColors, ...}) vertex = let val V {available, degree, adjacencies, moves, belongTo, ...} = LinkedList.elem vertex val newDegree = !degree - 1 val _ = degree := newDegree in if newDegree = !numColors - 1 then (if !available then (activateMove graph vertex; IEnv.app (activateMove graph) (!adjacencies)) else (); if !belongTo = SpillSet then if IEnv.isEmpty (!moves) then (belongTo := SimplifySet; LinkedList.move (vertex, simplifySet)) else (belongTo := FreezeSet; LinkedList.move (vertex, freezeSet)) else ()) else () end (* called when the number of actual available adajencies has changed. *) fun incrementDegree (graph as {spillSet, numColors, ...}:graph) vertex = let val V {degree, belongTo, ...} = LinkedList.elem vertex val newDegree = !degree + 1 val _ = degree := newDegree in if newDegree = !numColors then if !belongTo = FreezeSet orelse !belongTo = SimplifySet then (belongTo := SpillSet; LinkedList.move (vertex, spillSet)) else () else () end local fun addEdge graph (vertex1, vertex2) = let val V {id=id1, adjacencies=adj1, moves=moves1, belongTo=belongTo1, ...} = LinkedList.elem vertex1 val V {id=id2, adjacencies=adj2, moves=moves2, belongTo=belongTo2, ...} = LinkedList.elem vertex2 in if id1 = id2 orelse IEnv.inDomain (!adj1, id2) then () else (adj1 := IEnv.insert (!adj1, id2, vertex2); incrementDegree graph vertex1; adj2 := IEnv.insert (!adj2, id1, vertex1); incrementDegree graph vertex2; case IEnv.find (!moves1, id2) of NONE => () | SOME move => (moves1 := #1 (IEnv.remove (!moves1, id2)); moves2 := #1 (IEnv.remove (!moves2, id1)); LinkedList.move (move, LinkedList.new ()); decrementNumMoves graph vertex1; decrementNumMoves graph vertex2)) (*;checkInvaliant graph handle e => raise e*) end in fun addReg (graph as {regMap, vertexCount, numColors, coloredSet, ...}:graph, regId) = if IEnv.numItems (!regMap) <> !vertexCount then raise Control.Bug "addReg: not initial" else case IEnv.find (!regMap, regId) of SOME _ => raise Control.Bug "addReg: duplicate reg" | NONE => let val vertex = newVertex graph val V {color, belongTo, ...} = LinkedList.elem vertex in LinkedList.move (vertex, coloredSet); color := SOME regId; belongTo := ColoredSet; IEnv.app (fn v => addEdge graph (vertex, v)) (!regMap); regMap := IEnv.insert (!regMap, regId, vertex); numColors := !numColors + 1 (*;checkInvaliant graph handle e => raise e*) end (* fun interfere (graph, varId1, varId2) = let val vertex1 = touchVar graph varId1 val vertex2 = touchVar graph varId2 in addEdge graph (vertex1, vertex2); checkInvaliant graph handle e => raise e end *) fun disturb (graph, var1, var2) = (* var1 disturbs var2 *) let val vertex1 = touchVar graph var1 val vertex2 = touchVar graph var2 val V {disturbCount=disturbCount1, ...} = LinkedList.elem vertex1 val V {disturbedBy=disturbedBy2, ...} = LinkedList.elem vertex2 in (* let open TermFormat.FormatComb in begin_ puts text "disturb " $(tuple2 (RTL.format_var, RTL.format_var) (var1, var2)) text " = " $(tuple2 (format_vertex_id, format_vertex_id) (vertex1, vertex2)) end_ end; *) addEdge graph (vertex1, vertex2); disturbCount1 := !disturbCount1 + 1; disturbedBy2 := VarID.Set.add (!disturbedBy2, #id var1) (* checkInvaliant graph handle e => raise e *) end fun interfereWithRegs (graph as {regMap, ...}, varId, regIds) = let val vertex = touchVar graph varId in app (fn regId => case IEnv.find (!regMap, regId) of NONE => raise Control.Bug "interfereWithRegs" | SOME v => addEdge graph (vertex, v)) regIds (*;checkInvaliant graph handle e => raise e*) end end (* local *) fun sortVertexPair (vertex1, vertex2) = let val V {degree=degree1, moves=moves1, ...} = LinkedList.elem vertex1 val V {degree=degree2, moves=moves2, ...} = LinkedList.elem vertex2 val n1 = !degree1 + IEnv.numItems (!moves1) val n2 = !degree2 + IEnv.numItems (!moves2) in if n1 >= n2 then (vertex1, vertex2) else (vertex2, vertex1) end fun combine (graph as {simplifySet, freezeSet, spillSet, coloredSet, numColors, ...}:graph) (vertex1, vertex2) = let val moveTrash = LinkedList.new () val V {id=id1, available=available1, color=color1, degree=degree1, belongTo=belongTo1, adjacencies=adj1, moves=moves1, vars=vars1, disturbedBy=dist1, disturbCount=count1, allowSpill=allow1} = LinkedList.elem vertex1 val V {id=id2, available=available2, color=color2, degree=degree2, belongTo=belongTo2, adjacencies=adj2, moves=moves2, vars=vars2, disturbedBy=dist2, disturbCount=count2, allowSpill=allow2} = LinkedList.elem vertex2 (* val pre = let open TermFormat.FormatComb in begin_ text "*** BEFORE ***" newline $(format_graph graph) end_ end *) in if id1 = id2 then raise Control.Bug "combine" else (); (* let open TermFormat.FormatComb in begin_ puts text "combine " $(tuple2 (format_vertex_id, format_vertex_id) (vertex1, vertex2)) space $(tuple2 (int, int) (IEnv.numItems (!adj1), IEnv.numItems (!adj2))) space $(tuple2 (int, int) (IEnv.numItems (!moves1), IEnv.numItems (!moves2))) end_ end; *) (* LOG "combine" [vertex1, vertex2]; *) available2 := false; vars1 := RTLUtils.Var.setUnion (!vars1, !vars2); dist1 := VarID.Set.union (!dist1, !dist2); count1 := !count1 + !count2; allow1 := (!allow1 andalso !allow2); color1 := unifyColor (!color1, !color2); if isSome (!color1) andalso !belongTo1 <> ColoredSet then (belongTo1 := ColoredSet; LinkedList.move (vertex1, coloredSet)) else (); IEnv.app (fn peer => case LinkedList.elem peer of V {id, available, adjacencies=adj, moves, ...} => (adj := #1 (IEnv.remove (!adj, id2)); if IEnv.inDomain (!adj, id1) then decrementDegree graph peer else (adj := IEnv.insert (!adj, id1, vertex1); adj1 := IEnv.insert (!adj1, id, peer); if !available then degree1 := !degree1 + 1 else (); case IEnv.find (!moves1, id) of NONE => () | SOME move => (moves1 := #1 (IEnv.remove (!moves1, id)); moves := #1 (IEnv.remove (!moves, id1)); LinkedList.move (move, moveTrash); decrementNumMoves graph peer)))) (!adj2); (* let open F in begin_ puts text "*** ADJ ***" newline $(format_graph graph) end_ end; *) IEnv.app (fn move => case LinkedList.elem move of m as MOVE (r as ref (v3, v4)) => let (* val _ = let open F in begin_ puts text "**** MOVE " $(format_move m) text " *****" end_ end *) val V {id=id3, ...} = LinkedList.elem v3 val peer = if id3 = id2 then v4 else v3 (* val _ = let open F in begin_ puts $(format_vertex_id peer) end_ end *) val V {id, moves, adjacencies, color, ...} = LinkedList.elem peer in moves := #1 (IEnv.remove (!moves, id2)); if id = id1 orelse IEnv.inDomain (!adjacencies, id1) orelse IEnv.inDomain (!moves, id1) orelse not (unifiableColors (!color1, !color)) then ((*LOG "trash move" [v3,v4];*) LinkedList.move (move, moveTrash); decrementNumMoves graph peer) else (r := (vertex1, peer); moves := IEnv.insert (!moves, id1, move); moves1 := IEnv.insert (!moves1, id, move)) (* ; let open F in begin_ puts $(format_graph graph) end_ end *) end) (!moves2); case !belongTo1 of SimplifySet => if !degree1 >= !numColors then (belongTo1 := SpillSet; LinkedList.move (vertex1, spillSet)) else if IEnv.isEmpty (!moves1) then () else (belongTo1 := FreezeSet; LinkedList.move (vertex1, freezeSet)) | FreezeSet => if !degree1 >= !numColors then (belongTo1 := SpillSet; LinkedList.move (vertex1, spillSet)) else if IEnv.isEmpty (!moves1) then (belongTo1 := SimplifySet; LinkedList.move (vertex1, simplifySet)) else () | _ => (); LinkedList.move (vertex2, LinkedList.new ()) (* ;checkInvaliant graph handle e => raise e *) (*; checkInvaliant graph handle e => ((*print (Control.prettyPrint pre); print "\n";*)raise e) *) end fun sameVertex (vertex1, vertex2) = let val V {id=id1,...} = LinkedList.elem vertex1 val V {id=id2,...} = LinkedList.elem vertex2 in id1 = id2 end fun rebuildVarMap ({varMap, regMap, ...}:graph) (vertex1, vertex2) = let val V {vars, color, ...} = LinkedList.elem vertex2 in (* print ("rebuildVarMap " ^ Int.toString (VarID.Set.numItems (RTLUtils.Var.toVarIDSet (!vars)) + (case !color of NONE => 0 | SOME _ => 1)) ^ "\n"); *) RTLUtils.Var.app (fn {id,...} => varMap := VarID.Map.insert (!varMap, id, vertex1)) (!vars); case !color of NONE => () | SOME regId => regMap := IEnv.insert (!regMap, regId, vertex1) end fun allocReg (graph as {varMap, regMap, ...}, var, regId) = let val vertex2 = touchVar graph var in case IEnv.find (!regMap, regId) of NONE => raise Control.Bug "allocReg" | SOME vertex1 => (* let open TermFormat.FormatComb in begin_ puts text "allocReg " $(tuple2 (RTL.format_var, int) (var, regId)) text " = " $(tuple2 (format_vertex_id, format_vertex_id) (vertex2, vertex1)) end_ end; *) if sameVertex (vertex1, vertex2) then () else let val (vertex1, vertex2) = sortVertexPair (vertex1, vertex2) in combine graph (vertex1, vertex2); rebuildVarMap graph (vertex1, vertex2) end (*;checkInvaliant graph handle e => raise e*) end fun sameReg (graph as {varMap, ...}, var1, var2) = let val vertex1 = touchVar graph var1 val vertex2 = touchVar graph var2 in (* let open TermFormat.FormatComb in begin_ puts text "sameReg " $(tuple2 (RTL.format_var, RTL.format_var) (var1, var2)) text " = " $(tuple2 (format_vertex_id, format_vertex_id) (vertex1, vertex2)) end_ end; *) if sameVertex (vertex1, vertex2) then () else let val (vertex1, vertex2) = sortVertexPair (vertex1, vertex2) in combine graph (vertex1, vertex2); rebuildVarMap graph (vertex1, vertex2) end (*;checkInvaliant graph handle e => raise e*) end fun disallowSpill (graph, varId) = let val vertex = touchVar graph varId val V {allowSpill, ...} = LinkedList.elem vertex in allowSpill := false (*;checkInvaliant graph handle e => raise e*) end fun selectSpill (graph as {spillSet, ...}:graph) = let (* select a vertex v such that * (1) v is disturbed by the maximum number of vertexes, or * (2) v disturbs the minimum number of vertexes, or * (3) v has the maximum degree. *) type score = {vertex: vertex, disturbedBy: int, disturbCount: int, degree: int} (* val _ = print "begin selectSpill\n" *) fun scoreOf vertex = (* let val r = *) case LinkedList.elem vertex of V {disturbedBy, disturbCount, degree, allowSpill, ...} => if !allowSpill then SOME ({vertex = vertex, disturbedBy = VarID.Set.numItems (!disturbedBy), disturbCount = !disturbCount, degree = !degree} : score) else NONE (* in let open TermFormat.FormatComb in begin_ puts text "score of " $(format_vertex_id vertex) text " : " $(case r of NONE => term "NONE" | SOME s => tuple3 (int, int, int) (#disturbedBy s, #disturbCount s, #degree s)) end_ end; r end *) fun larger (NONE, NONE) = NONE | larger (x1 as SOME _, NONE) = x1 | larger (NONE, x2 as SOME _) = x2 | larger (x1 as SOME (s1:score), x2 as SOME (s2:score)) = if #disturbedBy s1 > #disturbedBy s2 then x1 else if #disturbedBy s1 < #disturbedBy s2 then x2 else if #disturbCount s1 < #disturbCount s2 then x1 else if #disturbCount s1 > #disturbCount s2 then x2 else if #degree s1 >= #degree s2 then x1 else x2 val maxScore = LinkedList.foldl (fn (vertex, z) => larger (z, scoreOf vertex)) NONE spillSet in case maxScore of NONE => NONE | SOME {vertex, ...} => SOME vertex end fun select (graph as {selectStack, ...}) vertex = let val V {available, adjacencies, belongTo, ...} = LinkedList.elem vertex in removeAllMoves graph vertex; available := false; IEnv.app (decrementDegree graph) (!adjacencies); belongTo := SelectStack; LinkedList.move (vertex, selectStack) (*;checkInvaliant graph handle e => raise e*) end fun briggs ({numColors, ...}:graph) (vertex1, vertex2) = let val V {degree=degree1, ...} = LinkedList.elem vertex1 val V {degree=degree2, ...} = LinkedList.elem vertex2 in !degree1 + !degree2 < !numColors end local exception False in fun george ({numColors, ...}:graph) (vertex1, vertex2) = let val V {adjacencies=adj1, color=color1, ...} = LinkedList.elem vertex1 val V {adjacencies=adj2, id=id2, ...} = LinkedList.elem vertex2 in (* coalescing with a colored register by George's condition * sometimes significantly increases the disturbance factor * of precolored nodes, and causes many spills. To avoid * this, we return false if vertex1 is colored node. *) case !color1 of SOME _ => false | NONE => (IEnv.app (fn vertex => case LinkedList.elem vertex of V {adjacencies=adj, available=ref true, degree, ...} => if IEnv.inDomain (!adj, id2) orelse !degree < !numColors then () else raise False | _ => ()) (!adj1); true) handle False => false end end (* local *) fun simplify (graph as {simplifySet, ...}) = ( (*checkInvaliant graph handle e => raise e;*) case LinkedList.first simplifySet of NONE => coalesce graph | SOME vertex => ( (*LOG "simplify" [vertex];*) select graph vertex; (* printGraph graph; *) simplify graph ) ) and coalesce (graph as {coalesceSet, ...}) = ( (*checkInvaliant graph handle e => raise e;*) case LinkedList.first coalesceSet of NONE => freeze graph | SOME move => case LinkedList.elem move of MOVE (ref (v1, v2)) => if briggs graph (v1, v2) orelse george graph (v1, v2) orelse george graph (v2, v1) then ((*LOG "coalesce" [v1, v2];*) combine graph (sortVertexPair (v1, v2)); (* printGraph graph; *) simplify graph) else ((*LOG "failed to coalesce" [v1, v2];*) LinkedList.move (move, LinkedList.new ()); (* printGraph graph; *) coalesce graph) ) and freeze (graph as {simplifySet, freezeSet, ...}) = ( (*checkInvaliant graph handle e => raise e;*) case LinkedList.first freezeSet of NONE => spill graph | SOME vertex => let val V {belongTo, ...} = LinkedList.elem vertex in (*LOG "freeze" [vertex];*) removeAllMoves graph vertex; belongTo := SimplifySet; LinkedList.move (vertex, simplifySet); (* printGraph graph; *) simplify graph end ) and spill (graph as {spillSet, ...}) = ( (*checkInvaliant graph handle e => raise e;*) case LinkedList.first spillSet of NONE => () | SOME _ => case selectSpill graph of NONE => raise Control.Bug "spill: no spill candidate" | SOME vertex => ((*LOG "potential spill" [vertex];*) (* let open F in begin_ puts $(list VarID.format_id (VarID.Set.listItems (case LinkedList.elem vertex of V {vars, ...} => !vars))) end_ end; *) select graph vertex; (* printGraph graph; *) simplify graph) ) fun selectColor (args as (regMap : vertex IEnv.map, {selectStack, coloredSet, ...}:graph)) = case LinkedList.first selectStack of NONE => () | SOME vertex => let val V {adjacencies, color, available, ...} = LinkedList.elem vertex val colors = IEnv.foldl (fn (vertex, colors) => case LinkedList.elem vertex of V {available=ref true, color=ref (SOME regId), ...} => if IEnv.inDomain (colors, regId) then #1 (IEnv.remove (colors, regId)) else colors | _ => colors) regMap (!adjacencies) in color := Option.map #1 (IEnv.firsti colors); (* case !color of SOME r => LOG ("color " ^ Int.toString r) [vertex] | NONE => LOG "actual spill" [vertex]; *) available := true; LinkedList.move (vertex, coloredSet); selectColor args end fun makeColorMap ({coloredSet, ...}:graph) = LinkedList.foldl (fn (v, z as {regSubst, spillSubst}) => case LinkedList.elem v of V {vars = ref vars, color = ref (SOME regId), ...} => let val regSubst = RTLUtils.Var.fold (fn ({id,...}, z) => VarID.Map.insert (z, id, regId)) regSubst vars in {regSubst = regSubst, spillSubst = spillSubst} end | V {vars = ref vars, color = ref NONE, ...} => let val spillSubst = RTLUtils.Var.fold (fn ({id,...}, z) => VarID.Map.insert (z, id, vars)) spillSubst vars in {regSubst = regSubst, spillSubst = spillSubst} end) {regSubst=VarID.Map.empty, spillSubst=VarID.Map.empty} coloredSet fun coloring (graph as {varMap, regMap, vertexCount, numColors, coloredSet, ...}:graph) = let (* val _ = print ("start coloring with " ^ !numColors ^ " registers for " ^ Int.toString (IEnv.numItems (!varMap)) ^ " variables, " ^ Int.toString vertexCount ^ " vertexes, " ^ *) val _ = varMap := VarID.Map.empty val regMap = !regMap before regMap := IEnv.empty val _ = if !numColors <= 0 then raise Control.Bug "coloring: no register" else () (* val _ = printGraph graph *) (* val _ = checkInvaliant graph *) val _ = simplify graph val _ = selectColor (regMap, graph) val maps = makeColorMap graph in (* initialize graph *) vertexCount := 0; numColors := 0; LinkedList.moveAll (#coloredSet graph); maps end end smlsharp-1.2.0/src/compiler/rtl/main/FrameLayout.smi0000644 000000000000000000000150412050661606022573 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlnj-lib/Util/binary-map-fn.smi" _require "../../control/main/Control.ppg.smi" _require "../../systemdef/main/BasicTypes.smi" _require "../../name/main/LocalID.smi" _require "../../util/main/ListSorter.smi" _require "RTL.ppg.smi" _require "RTLEdit.smi" _require "RTLUtils.smi" _require "RTLLiveness.smi" structure FrameLayout = struct val allocate : { preOffset: word, postOffset: word, frameAlign: int, wordSize: int, pointerSize: int, frameHeaderOffset: int, frameOffset: {frameSize: int, offset: int} -> int } -> RTL.cluster -> { frameSize: int, slotIndex: int VarID.Map.map, initCode: RTL.instruction list, frameCode: RTL.var list -> RTL.instruction list } end smlsharp-1.2.0/src/compiler/rtl/main/FrameLayout.sml0000644 000000000000000000006017412050661606022606 0ustar00rootroot0000000 0000000 structure FrameLayout : sig val allocate : { preOffset: word, (* offset of the beginning of a frame *) postOffset: word, (* offset of the end of frame *) frameAlign: int, (* alignment of frame (same as generic alignment) *) wordSize: int, (* the number of bytes in a word *) pointerSize: int, (* the number of bytes in a pointer *) frameHeaderOffset: int, (* FRAMEINFO offset of frame header *) frameOffset: (* translate offset in a frame to FRAMEINFO offset *) {frameSize: int, offset: int} -> int } -> RTL.cluster -> { (* size of the whole of frame *) frameSize: int, (* slotId -> offset from the beginning of frame *) slotIndex: int VarID.Map.map, (* frame initialization code to be inserted after CODEENTRY *) initCode: RTL.instruction list, (* frame bitmap code for COMPUTE_FRAME *) frameCode: RTL.var list -> RTL.instruction list } end = struct (* * See also nativeruntime/frame.h. * * Frame pointer points the address of memory holding previous frame pointer. * The next (in the direction of stack growing) word of the previous frame * pointer holds the frame header. If the header indicates that there is * an extra word, then the extra word appears at the next of the header. * The size of both the header and the extra word is same as the size of * pointers on the target platform. * * For example, on a 32-bit architecture whose the stack grows down * (x86 etc.), * [fp + 0] is previous frame pointer, and * [fp - 4] is the relative address of frame info word. * [fp - 8] is for the extra word of frame header. * * Frame Stack Chain: * : : * | | * +==========+ current frame begin * | | * +--------+ : : * | header |-------------->|frame info| * +--------+ : : * fp --->| prev | | | * +--|-----+ +==========+ current frame end * | | | * | : : * | | | * | +==========+ previous frame begin * | | | * | +--------+ : : * | | header |------->|frame info| * | +--------+ : : * +-->| prev | | | * +---|----+ +==========+ previous frame end * | | | * : : : * * header: * 31 2 1 0 * +--------------------------------+----+----+ * | info-offset |next| gc | * +--------------------------------+----+----+ * MSB LSB * * info-offset holds the high 30 bit of the offset of frame info of this * frame from the frame pointer. Low 2 bit is always 0. * If info-offset is 0, this frame has no frame info and thus there is no * boxed or generic slot in this frame. * If the pointer size is larger than 32 bit, info-offset field is * expanded to the pointer size. * * If next bit is 1, the header has an extra word which holds the address * of previous ML frame. (this is used to skip C frames between two ML * frames due to callback functions.) * * gc bit is reserved for non-moving gc. It must be 0 for new frames. * If the root-set enumerator meets this frame during pointer enumeration, * the gc bit is set to 1. * * To make sure that we may use last 2 bits for the flags, the frame info * must be aligned at the address of multiple of 4. * * frame info: * 31 16 15 0 * +--------------------+--------------------+ * | num boxed slots | num bitmap bits | * +--------------------+--------------------+ * * The size of frame info is same as the size of pointers on the target * platform. If the pointer size is larger than 32 bit, then padding bits * must be added to the most significant side of the frame info. * * Structure of Frame: * * addr * | : : * | +---------------+ [align in frameAlign] <------- offset origin * | | pre-offset | * | +===============+ ================== beginning of frame * | | | * | +---------------+ [align in frameAlign] * | | slots of tN | generic slot 0 of tN * | | : | : * | +---------------+ [align in frameAlign] * | : : * | +---------------+ [align in frameAlign] * | | slots of t1 | generic slot 0 of t1 * | : : : * | +---------------+ [align in frameAlign] * | | slots of t0 | generic slot 0 of t0 * | | | generic slot 1 of t0 * | : : : * | +---------------+ [align in frameAlign] <---- pointed by the header * | | frame info | * | +---------------+ [align in void*] * | | boxed part | * | : : * | | | * | +---------------+ [align in void*] * | | | * | +---------------+ [align in unsigned int] * | | sizes | number of slots of t0 * | | | number of slots of t1 * | : : : * | | | number of slots of t(N-1) * | +---------------+ [align in unsigned int] * | | bitmaps | bitmap of (t0-t31) * | : : : * | | | bitmap of (t(N-32)-t(N-1)) * | +---------------+ [align in unsigned int] * | | unboxed part | * | | | * | | | * | : : * | | | * | +===============+ ================== end of frame * | | post-offset | * | +---------------+ [align in frameAlign] * | : : * v *) structure R = RTL datatype reg = REG1 | REG2 type frameLayoutInfo = { preOffset: word, postOffset: word, frameAlign: int, wordSize: int, pointerSize: int, frameHeaderOffset: int, frameOffset: {frameSize: int, offset: int} -> int } (*% * @formatter(Word32.word) SmlppgUtil.format_word32 *) datatype frameComposition = (*% @format(reg * w) "LSHIFT\t" reg ", " w *) LSHIFT of reg * word | (*% @format(reg * w) "ORBIT\t" reg ", " w *) ORBIT of reg * reg | (*% @format(reg * w) "ANDBIT\t" reg ", " w *) ANDBIT of reg * Word32.word | (*% @format(reg * w) "MOVEREG\t" reg ", " w*) MOVE of reg * R.operand (* move *) | (*% @format(off * reg) "SAVEREG\t" "[sp + " off "], " reg *) SAVEREG of int * reg (* offset, reg *) | (*% @format(off * imm) "SAVEIMM\t" "[sp + " off "], " imm *) SAVEIMM of int * Word32.word (* offset, imm *) | (*% @format(off) "SETNULL\t" "[" off "]" *) SETNULL of int (* offset *) | (*% @format(off) "SAVEHEAD\t" off *) SAVEHEAD of int option (* FIXME: make target dependent more *) fun generateCode frameSize ({frameOffset, frameHeaderOffset, ...} : frameLayoutInfo) clobRegs code = let fun frameInfoOffset off = frameOffset {frameSize=frameSize, offset=off} fun addr off = R.FRAMEINFO (frameInfoOffset off) fun reg r = case (r, clobRegs) of (REG1, r::_) => r | (REG2, _::r::_) => r | _ => raise Control.Bug "generateCode" in case code of LSHIFT (r1, w) => R.LSHIFT (#ty (reg r1), R.REG (reg r1), R.REF_ (R.REG (reg r1)), R.CONST (R.UINT32 (Word32.fromInt (Word.toInt w)))) | ORBIT (r1, r2) => R.OR (#ty (reg r1), R.REG (reg r1), R.REF_ (R.REG (reg r1)), R.REF_ (R.REG (reg r2))) | ANDBIT (r1, w) => R.AND (#ty (reg r1), R.REG (reg r1), R.REF_ (R.REG (reg r1)), R.CONST (R.UINT32 w)) | MOVE (r1, op1) => R.MOVE (#ty (reg r1), R.REG (reg r1), op1) | SAVEREG (offset, r1) => R.MOVE (#ty (reg r1), R.MEM (#ty (reg r1), R.ADDR (addr offset)), R.REF_ (R.REG (reg r1))) | SAVEIMM (offset, w) => R.MOVE (R.Int32 R.U, R.MEM (R.Int32 R.U, R.ADDR (addr offset)), R.CONST (R.UINT32 w)) | SETNULL offset => R.MOVEADDR (R.Data, R.MEM (R.Ptr R.Data, R.ADDR (addr offset)), R.ABSADDR (R.NULL R.Data)) | SAVEHEAD (SOME offset) => R.MOVE (R.Int32 R.S, R.MEM (R.Int32 R.S, R.ADDR (R.FRAMEINFO frameHeaderOffset)), R.CONST (R.INT32 (Int32.fromInt (frameInfoOffset offset)))) | SAVEHEAD NONE => R.MOVE (R.Int32 R.S, R.MEM (R.Int32 R.S, R.ADDR (R.FRAMEINFO frameHeaderOffset)), R.CONST (R.INT32 0)) end fun generateCodeList frameSize frameOffset clobRegs codeList = map (generateCode frameSize frameOffset clobRegs) codeList fun bitmapToWord32 bitList = foldl (fn (x,z) => Word32.orb (Word32.<< (z, 0w1), x)) 0w0 bitList (* pack the source of frameBitmaps into wordBits-bit bins. * * val bitmapPacking * : word -> {source:frameBitmapSource, bits:format list list} -> * {filled:word, sources:(word,word,frameBitmapSource) list, * bits:format list list} list * * "sources" in the result means (bit offset, bit size, source). * "filled" in the result is equal to wordBits except last bitmap. *) fun bitmapPacking (wordBits:word) frameBitmaps = let val bitmaps = map (fn x as {bits,...} => (Word.fromInt (length bits), x)) frameBitmaps (* first fit algorithm *) val bitmaps = ListSorter.sort (fn ((n1,_),(n2,_)) => Word.compare (n2,n1)) bitmaps fun pack (bitmap as (0w0, {source, bits}), bins) = bins | pack (bitmap as (numBits, {source, bits=srcBits}), bins) = case bins of nil => [{filled = numBits, sources = [(0w0, numBits, source)], bits = srcBits}] | (bin as {filled, sources, bits})::bins => if filled + numBits <= wordBits then {filled = filled + numBits, sources = (filled, numBits, source)::sources, bits = bits @ srcBits} :: bins else bin :: pack (bitmap, bins) fun pad nil = nil | pad [bitmap] = [bitmap] | pad ({filled, sources, bits}::bitmaps) = {filled = wordBits, sources = sources, bits = bits @ List.tabulate (Word.toInt (wordBits - filled), fn _ => nil)} :: pad bitmaps in pad (foldl pack nil bitmaps) end local infix << val op << = Word32.<< fun bitmask numBits = (0w1 << numBits) - 0w1 fun loadBitmap dstReg (offset, numBits, source) = let val loadCode = [MOVE (dstReg, source)] val maskCode = [ANDBIT (dstReg, bitmask numBits)] val shiftCode = if offset = 0w0 then nil else [LSHIFT (dstReg, offset)] in loadCode @ maskCode @ shiftCode end in (* generate code to compose frame bitmaps. * * val composeBitmap * : reg -> reg -> * {filled:word, sources:(word,word,frameBitmapSource) list, * bits:format list list} -> * {filled:word, reg:reg, code:frameComposition list, * bits:format list list} list * * after "frameComposition" is executed, composed frame bitmap is * held by "reg". *) fun composeBitmap loadReg accumReg bitmaps = let fun composeOne nil = nil | composeOne [src] = loadBitmap accumReg src | composeOne (src::srcs) = composeOne srcs @ loadBitmap loadReg src @ [ORBIT (accumReg, loadReg)] in map (fn {filled, sources, bits} => {filled = filled, reg = accumReg, code = composeOne sources, bits = bits}) bitmaps end end (* local *) fun ceil (m, n) = (m + n - 0w1) - (m + n - 0w1) mod n fun allocSlots minAlign offset vars = foldl (fn ((id, {size,align,...}:R.format), (offset, alloc)) => let val size = Word.fromInt size val align = Word.fromInt align val offset = ceil (offset, align) val alloc = VarID.Map.insert (alloc, id, Word.toInt offset) in (ceil (offset + size, minAlign), alloc) end) (offset, VarID.Map.empty) vars fun constructFrame ({preOffset, postOffset, frameAlign, wordSize, pointerSize, ...} : frameLayoutInfo) (frameBitmap : R.frameBitmap list) (slots : RTLUtils.Slot.set) = let (* frameAlign must be multiple of 4. *) val _ = if frameAlign mod 4 = 0 then () else raise Control.Bug "constructFrame: frameAlign" val maxAlign = Word.fromInt frameAlign val wordSize = Word.fromInt wordSize (* First, separate variables for each category. * "generic" is a map from tid to variables belonging to that tid. *) val (boxed, unboxed, generic) = RTLUtils.Slot.fold (fn ({id, format as {tag,...}}, (boxed,unboxed,generic)) => case tag of R.BOXED => ((id,format)::boxed, unboxed, generic) | R.UNBOXED => (boxed, (id,format)::unboxed, generic) | R.GENERIC tid => let val vars = case BoundTypeVarID.Map.find (generic, tid) of SOME x => x | NONE => nil val generic = BoundTypeVarID.Map.insert (generic, tid, (id,format)::vars) in (boxed, unboxed, generic) end) (nil, nil, BoundTypeVarID.Map.empty) slots (* compose frame bitmap *) val bitmaps = map (fn {source,bits} => {source = source, bits = map (fn NONE => nil | SOME tid => case BoundTypeVarID.Map.find (generic, tid) of SOME vars => vars | NONE => nil) (* unused tid *) bits}) frameBitmap val wordBits = wordSize * 0w8 val bitmaps = bitmapPacking wordBits bitmaps val bitmaps = composeBitmap REG1 REG2 bitmaps val numBitmapBits = foldl (fn ({filled,...},z) => filled + z) 0w0 bitmaps val genericSlots = foldr (fn ({bits,...},z) => bits @ z) nil bitmaps (* allocate pad for pre-offset *) val offset = ceil (preOffset, maxAlign) val alloc = VarID.Map.empty (* allocate generic slots. *) val (offset, genericAlloc) = allocSlots maxAlign offset (List.concat (rev genericSlots)) val alloc = VarID.Map.unionWith #2 (alloc, genericAlloc) (* put frame info *) val infoOffset = offset val offset = offset + Word.fromInt pointerSize (* allocate boxed slots. *) val (offset, boxedAlloc) = allocSlots 0w1 offset boxed val alloc = VarID.Map.unionWith #2 (alloc, boxedAlloc) val offset = ceil (offset, wordSize) (* put the number of generic slots. *) val (offset, bitmapCode) = foldl (fn (vars, (offset, bitmapCode)) => (offset + wordSize, bitmapCode @ [SAVEIMM (Word.toInt offset, Word32.fromInt (length vars))])) (offset, nil) genericSlots (* put frame bitmaps. *) val (offset, bitmapCode) = foldl (fn ({reg,code,...}, (offset, bitmapCode)) => (offset + wordSize, bitmapCode @ code @ [SAVEREG (Word.toInt offset, reg)])) (offset, bitmapCode) bitmaps (* generate code for frame info *) (* FIXME: need overflow check *) val numBoxed = VarID.Map.numItems boxedAlloc val info = Word32.orb (Word32.<< (Word32.fromInt numBoxed, 0w16), BasicTypes.WordToUInt32 numBitmapBits) val (offset, infoCode) = if info = 0w0 then (* no info is needed. abandon a slot for the info *) (infoOffset, [SAVEHEAD NONE]) else (offset, [SAVEIMM (Word.toInt infoOffset, info), SAVEHEAD (SOME (Word.toInt infoOffset))]) (* allocate unboxed slots. *) val (offset, unboxedAlloc) = allocSlots 0w1 offset unboxed val alloc = VarID.Map.unionWith #2 (alloc, unboxedAlloc) (* allocate pad for post-offset *) val offset = ceil (offset + postOffset, maxAlign) val frameSize = offset - preOffset - postOffset (* generate code for boxed slot initialization *) val nullSlots = VarID.Map.listItems boxedAlloc @ VarID.Map.listItems genericAlloc val initCode = case nullSlots of nil => nil | _::_ => map SETNULL (ListSorter.sort Int.compare nullSlots) in { frameSize = Word.toInt frameSize, slotIndex = alloc, initCode = infoCode @ initCode, bitmapCode = bitmapCode } end local structure FormatOrd = struct type ord_key = RTL.format fun compareTag (R.UNBOXED, R.UNBOXED) = EQUAL | compareTag (R.UNBOXED, _) = LESS | compareTag (R.BOXED, R.UNBOXED) = GREATER | compareTag (R.BOXED, R.BOXED) = EQUAL | compareTag (R.BOXED, R.GENERIC _) = LESS | compareTag (R.GENERIC t1, R.GENERIC t2) = BoundTypeVarID.compare (t1, t2) | compareTag (R.GENERIC _, _) = GREATER fun compare ({size=size1, align=align1, tag=tag1}:RTL.format, {size=size2, align=align2, tag=tag2}:RTL.format) = case Int.compare (size1, size2) of EQUAL => (case Int.compare (align1, align2) of EQUAL => compareTag (tag1, tag2) | x => x) | x => x end structure FormatMap = BinaryMapFn(FormatOrd) datatype vertex = V of {adjacencies: vertex VarID.Map.map ref, color: VarID.id option ref} fun newVertex () = V {adjacencies = ref VarID.Map.empty, color = ref NONE} fun touchSlot (fmtMap, {id, format}:RTL.slot) = case FormatMap.find (!fmtMap, format) of NONE => let val vertex = newVertex () val vertexMap = VarID.Map.singleton (id, vertex) in fmtMap := FormatMap.insert (!fmtMap, format, ref vertexMap); vertex end | SOME vertexMap => case VarID.Map.find (!vertexMap, id) of SOME vertex => vertex | NONE => let val vertex = newVertex () in vertexMap := VarID.Map.insert (!vertexMap, id, vertex); vertex end fun interfere (fmtMap, slot1, slot2) = if FormatOrd.compare (#format slot1, #format slot2) <> EQUAL then () else if #id slot1 = #id slot2 then (touchSlot (fmtMap, slot1); ()) else let val vertex1 as V {adjacencies=adj1,...} = touchSlot (fmtMap, slot1) val vertex2 as V {adjacencies=adj2,...} = touchSlot (fmtMap, slot2) in adj1 := VarID.Map.insert (!adj1, #id slot2, vertex2); adj2 := VarID.Map.insert (!adj2, #id slot1, vertex1) end fun interfereSet (fmtMap, slots1, slots2) = RTLUtils.Slot.app (fn slot1 => RTLUtils.Slot.app (fn slot2 => interfere (fmtMap, slot1, slot2)) slots2) slots1 fun selectColor (fmt, vertexMap) = let val maxColors = VarID.Map.foldl (fn (V {adjacencies,...}, z) => Int.max (VarID.Map.numItems (!adjacencies) + 1, z)) 0 vertexMap val allColors = foldl (fn (x,z) => VarID.Map.insert (z, x, ())) VarID.Map.empty (List.tabulate (maxColors, fn _ => VarID.generate ())) in VarID.Map.map (fn V {adjacencies, color} => let val colors = VarID.Map.foldl (fn (V {color = ref NONE, ...}, z) => z | (V {color = ref (SOME c), ...}, z) => if VarID.Map.inDomain (z, c) then #1 (VarID.Map.remove (z, c)) else z) allColors (!adjacencies) in case VarID.Map.firsti colors of NONE => raise Control.Bug "selectColor" | SOME (id,()) => (color := SOME id; {id=id, format=fmt}) end) vertexMap end fun selectSlots fmtMap = FormatMap.foldli (fn (fmt, vertexMap, subst) => VarID.Map.unionWith (fn _ => raise Control.Bug "selectSlots") (subst, selectColor (fmt, !vertexMap))) VarID.Map.empty fmtMap fun allSlots fmtMap = FormatMap.foldli (fn (fmt, vertexMap, subst) => VarID.Map.foldli (fn (id, _, subst) => VarID.Map.insert (subst, id, {id=id, format=fmt})) subst (!vertexMap)) VarID.Map.empty fmtMap in fun minimize graph = let val fmtMap = ref FormatMap.empty in RTLLiveness.foldBackwardSlot (fn (node, {liveIn, liveOut}, ()) => let val {defs, uses} = RTLUtils.Slot.defuse node val liveOut_defs = RTLUtils.Slot.setUnion (defs, liveOut) in interfereSet (fmtMap, uses, liveIn); interfereSet (fmtMap, defs, liveOut_defs) end) () (RTLLiveness.livenessSlot graph); if !Control.doFrameCompaction then selectSlots (!fmtMap) else allSlots (!fmtMap) end end (* local *) fun allocate frameInfo ({body, frameBitmap, ...}:R.cluster) = let (* gather slot usage *) val subst = minimize body val slots = RTLUtils.Slot.fromList (VarID.Map.listItems subst) val {frameSize, slotIndex, initCode, bitmapCode} = constructFrame frameInfo frameBitmap slots val slotIndex = VarID.Map.map (fn {id, format} => case VarID.Map.find (slotIndex, id) of SOME x => x | NONE => raise Control.Bug "allocate") subst val initCode = generateCodeList frameSize frameInfo nil initCode val frameCode = fn clobs => generateCodeList frameSize frameInfo clobs bitmapCode in { frameSize = frameSize, slotIndex = slotIndex, initCode = initCode, frameCode = frameCode } end end smlsharp-1.2.0/src/compiler/rtl/main/IEEERealConst.smi0000644 000000000000000000000130412050661606022663 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" functor IEEERealConst (A : sig val manBits : int val expBits : int end) = struct val fromString : string -> {man: IntInf.int, exp: word, sign: bool} option val pack : {man: IntInf.int, exp: word, sign: bool} -> Word32.word * Word32.word end structure IEEERealConst64 = struct val fromString : string -> {exp:word, man:IntInf.int, sign:bool} option val pack : {exp:word, man:IntInf.int, sign:bool} -> Word32.word * Word32.word end structure IEEERealConst32 = struct val fromString : string -> {exp:word, man:IntInf.int, sign:bool} option val pack : {exp:word, man:IntInf.int, sign:bool} -> Word32.word * Word32.word end smlsharp-1.2.0/src/compiler/rtl/main/IEEERealConst.sml0000644 000000000000000000001111412050661606022666 0ustar00rootroot0000000 0000000 functor IEEERealConst ( val manBits : int val expBits : int ) : sig val fromString : string -> {man: IntInf.int, exp: word, sign: bool} option val pack : {man: IntInf.int, exp: word, sign: bool} -> Word32.word * Word32.word end = struct (* * IEEE 754 floating point number format: * * let sign be an 1 bit unsigned integer, * exp be an expBits-bit unsigned integer, and * man be a (manBits-1)-bit unsigned integer. * let expMax = 2^(expBits-1) - 1. * * if 1 <= exp <= 2^expBits - 2, * r = (-1)^sign * 2^(exp - expMax) * (1 + man / 2^(manBits-1)) * * if exp = 0, * r = (-1)^sign * 2^(1 - expMax) * (man / 2^manBits) * * if exp = 2^expBits - 1 and man = 0, then it denotes (-1)^sign * inf * if exp = 2^expBits - 1 and man <> 0, then it denotes NaN * * Real64 = {expBits = 11, manBits = 53} * Real32 = {expBits = 8, manBits = 24} * * See * Clinger, William D. How to read floating point numbers accurately. * In Proceedings of PLDI 90, pp. 92--101, 1990. * for details of the algorithm. *) val manLimit = IntInf.pow (2, manBits) val manMax = manLimit - 1 val manMSB = IntInf.pow (2, manBits - 1) val expLimit = Word.<< (0w1, Word.fromInt expBits) val expInf = expLimit - 0w1 val expMax = Word.toInt (expLimit div 0w2 - 0w1) type float = {man: IntInf.int, exp: int} fun tos {man, exp} = IntInf.fmt StringCvt.HEX man ^ "E" ^ Int.toString exp fun nextfloat {man, exp} = if man = manMax then {man = manMSB, exp = exp + 1} else {man = man + 1, exp = exp} fun ratioToFloat (u, v, k) = let val (q, r) = IntInf.quotRem (u, v) val z = {man = q, exp = k} in if r < v - r then z else if r > v - r then nextfloat z else if q mod 2 = 1 then z else nextfloat z end fun algorithmM {man=f, exp=e} = let fun loop (u, v, k) = let val x = IntInf.quot (u, v) in if manMSB <= x andalso x < manLimit then ratioToFloat (u, v, k) else if x < manMSB then loop (2 * u, v, k - 1) else loop (u, 2 * v, k + 1) end in if e < 0 then loop (f, IntInf.pow (10, ~e), 0) else loop (f * IntInf.pow (10, e), 1, 0) end fun fromString str = case IEEEReal.fromString str of NONE => NONE | SOME {class=IEEEReal.NAN, ...} => SOME {man = 0, exp = expInf, sign = false} | SOME {class=IEEEReal.INF, sign, ...} => SOME {man = 0, exp = expInf, sign = sign} | SOME {class=IEEEReal.ZERO, sign, ...} => SOME {man = 0, exp = 0w0, sign = sign} | SOME {class, sign, digits, exp} => let val float = foldl (fn (x, {man, exp}) => {man = man * 10 + IntInf.fromInt x, exp = exp - 1}) {man = 0, exp = exp} digits val f as {man, exp} = algorithmM float val exp = exp + (manBits - 1) + expMax in if exp >= Word.toInt expInf then SOME {man = 0, exp = expInf, sign = sign} (* Inf *) else if exp > 0 then SOME {man = man - manMSB, exp = Word.fromInt exp, sign = sign} else SOME {man = IntInf.max (IntInf.~>> (man, (Word.fromInt (~exp)) + 0w1), 1), exp = 0w0, sign = sign} (* denormal *) end infix << >> || && structure Word64Pair = struct type word64 = Word32.word * Word32.word fun (h, l) << n : word64 = if n > 0w32 then ((h, l) << 0w32) << (n - 0w32) else (Word32.orb (Word32.<< (h, n), Word32.>> (l, 0w32 - n)), Word32.<< (l, n)) fun (h1, l1) || (h2, l2) : word64 = (Word32.orb (h1, h2), Word32.orb (l1, l2)) val w0 = (0w0, 0w0) : word64 val w1 = (0w0, 0w1) : word64 fun fromWord x = (0w0, Word32.fromInt (Word.toIntX x)) : word64 fun fromLargeInt x = (Word32.fromLargeInt (IntInf.~>> (x, 0w32)), Word32.fromLargeInt x) : word64 end fun pack {man, exp, sign} = let open Word64Pair val signBit = if sign then w1 else w0 in (signBit << Word.fromInt (manBits + expBits - 1)) || (fromWord exp << (Word.fromInt manBits - 0w1)) || fromLargeInt man end end structure IEEERealConst64 = IEEERealConst(val expBits = 11 val manBits = 53) structure IEEERealConst32 = IEEERealConst(val expBits = 8 val manBits = 24) smlsharp-1.2.0/src/compiler/rtl/main/RTL.ppg0000644 000000000000000000012712012050661606021005 0ustar00rootroot0000000 0000000 (* -*- sml -*- *) (** * x86 mnemonic * @copyright (c) 2009, Tohoku University. * @author UENO Katsuhiro * @version $Id: $ *) structure RTL = struct local fun format_cnum_str str = SMLFormat.BasicFormatters.format_string (String.map (fn #"~" => #"-" | x => x) str) fun format_cint fmt x = format_cnum_str (fmt StringCvt.DEC x) fun format_chex fmt x = SMLFormat.BasicFormatters.format_string ("0x" ^ String.map Char.toLower (fmt StringCvt.HEX x)) (* fun format_int64_dec x = format_cint Int64.fmt x *) fun format_int32_dec x = format_cint Int32.fmt x fun format_int_dec x = format_cint Int.fmt x (* fun format_word64_hex x = format_chex Word64.fmt x *) fun format_word32_hex x = format_chex Word32.fmt x fun format_word8_hex x = format_chex Word8.fmt x fun format_word_hex x = format_chex Word.fmt x local fun left (s,n) = substring (s, size s - n, n) fun pad0 (s,n) = if size s > n then s else left ("0000" ^ s, n) fun oct3 i = pad0 (Int.fmt StringCvt.OCT i, 3) fun hex4 i = pad0 (Int.fmt StringCvt.HEX i, 4) in fun format_ascii s = SMLFormat.BasicFormatters.format_string ("\"" ^ String.translate (fn #"\008" => "\\b" | #"\012" => "\\f" | #"\010" => "\\n" | #"\013" => "\\r" | #"\009" => "\\t" | #"\\" => "\\\\" | #"\"" => "\\\"" | c => if Char.isPrint c andalso ord c < 128 then str c else if ord c < 256 then "\\" ^ oct3 (ord c) else "\\u" ^ hex4 (ord c)) s ^ "\"") end (* local *) fun formatMap foldli formatKey (formatter,prefix,sep,suffix) map = foldli (fn (k,v,z) => z @ prefix @ formatKey k @ sep @ formatter v @ suffix) nil map fun formatIDMap x y = formatMap VarID.Map.foldli VarID.format_id x y fun formatLines (formatItem,indent,break) nil = nil | formatLines (formatItem,indent,break) (h::t) = indent @ formatItem h @ break @ formatLines (formatItem,indent,break) t (* fun formatLinesR x l = formatLines x (rev l) *) in (* * L6 { x & y } * L5 { x + y } * L4 { x * y } * L2 { x : y } *) (*% *) datatype cc = (*% @format "o" *) OVERFLOW (* overflow flag test *) | (*% @format "no" *) NOTOVERFLOW | (*% @format "e" *) EQUAL (* zero flag test *) | (*% @format "ne" *) NOTEQUAL | (*% @format "b" *) BELOW (* carry flag test; unsigned comparison *) | (*% @format "be" *) BELOWEQUAL | (*% @format "a" *) ABOVE (* unsigned comparison *) | (*% @format "ae" *) ABOVEEQUAL | (*% @format "s" *) SIGN (* sign flag test *) | (*% @format "ns" *) NOTSIGN | (*% @format "l" *) LESS (* signed comparison *) | (*% @format "le" *) LESSEQUAL | (*% @format "g" *) GREATER (* signed comparison *) | (*% @format "ge" *) GREATEREQUAL (*% *) datatype ptrTy = (*% @format "Vp" *) Void (* pointer to C data *) (* | (*% @format "cfun" *) CFUN (* pointer to C function *) *) | (*% @format "Dp" *) Data (* pointer to ML heap object *) | (*% @format "Cp" *) Code (* pointer to code *) (*% @formatter(BoundTypeVarID.id) BoundTypeVarID.format_id *) type genericId = (*% @format(x) "t" x *) BoundTypeVarID.id (*% *) datatype sign = (*% @format *) U | (*% @format "i" *) S (*% *) datatype ty = (*% @format(s) "b" s *) Int8 of sign (* 8 bit integer *) | (*% @format(s) "h" s *) Int16 of sign (* 16 bit integer *) | (*% @format(s) "w" s *) Int32 of sign (* 32 bit integer *) | (*% @format(s) "l" s *) Int64 of sign (* 64 bit integer *) | (*% @format "s" *) Real32 (* 32 bit single precision floating point *) | (*% @format "d" *) Real64 (* 64 bit double precision floating point *) | (*% @format "t" *) Real80 (* 80 bit extended-double precision floating point *) | (*% @format(ptr) ptr *) Ptr of ptrTy (* pointer *) | (*% @format(ptr) ptr "d" *) PtrDiff of ptrTy (* pointer difference *) | (*% @format(id) "G" id *) Generic of genericId | (*% @format "_" *) NoType (* for untyped temporally register *) (* (*% @formatter(Int64.int) format_int64_dec *) type sint64 = Int64.int (*% @formatter(Word64.word) format_word64_hex *) type uint64 = Word64.word *) (*% @formatter(Int32.int) format_int32_dec *) type sint32 = Int32.int (*% @formatter(Word32.word) format_word32_hex *) type uint32 = Word32.word (*% @formatter(int) format_int_dec *) type sint16 = int (* Int16.int *) (*% @formatter(word) format_word_hex *) type uint16 = word (* Word16.word *) (*% @formatter(int) format_int_dec *) type sint8 = int (* Int8.int *) (*% @formatter(Word8.word) format_word8_hex *) type uint8 = Word8.word (*% @formatter(Loc.loc) Loc.format_loc *) type loc = Loc.loc (*% @formatter(VarID.id) VarID.format_id *) type id = VarID.id (*% @formatter(VarID.id) VarID.format_id *) type label = (*% @format(l) ".L" l *) VarID.id structure LabelMap = VarID.Map structure LabelSet = VarID.Set (*% @formatter(ClusterID.id) ClusterID.format_id *) type clusterId = (*% @format(l) "C" l *) ClusterID.id (* symbol identifies an address of toplevel objects such as code entries * and constant data. * Every symbol is unique in a object file. * Every symbol has a scope, which is either local or global. * Every global symbol is unique among object files which are to be linked * each other. *) (*% *) type symbol = (*% @format(x) x *) string (*% *) datatype symbolScope = (*% @format ".local" *) LOCAL | (*% @format ".globl" *) GLOBAL (* (*% *) datatype symbolKind = (*% @format({scope, ptrTy}) scope ":" ptrTy *) DEFINE_SYMBOL of {scope: symbolScope, ptrTy: ptrTy} | (*% @format({ptrTy, linkStub, linkEntry}) ".extern:" ptrTy *) (* scope of EXTERN_SYMBOL is always GLOBAL. *) EXTERN_SYMBOL of {ptrTy: ptrTy, linkStub: bool, linkEntry: bool} (*% *) type symbolEnv = (*% * @format(kind map) *) symbolKind SEnv.map *) (*% *) datatype labelReference = (*% @format(ty * label) L2{ label "::" ty } *) LABELCAST of ptrTy * labelReference | (*% @format(ty) L2{ "NULL:" ty } *) NULL of ptrTy | (*% @format(l) l *) (* code label in the same cluster. *) LABEL of label | (*% @format(ty * scope * s) L2{ s "(" scope ")" ":" ty } *) SYMBOL of ptrTy * symbolScope * symbol | (*% @format "." *) (* absolute address of beginning of current instruction. *) CURRENT_POSITION | (*% @format(s) s "$LINK" *) (* absolute address of link entry of symbol. *) LINK_ENTRY of symbol | (*% @format(s) s "$STUB" *) (* absolute address of lazy link resolver of symbol. *) LINK_STUB of symbol | (*% @format "GLOBAL_OFFSET_TABLE" *) (* ELF: absolute address of global offset table. *) ELF_GOT (* NOTE: * CURRENT_POSITION, LINK, STUB, and GLOBAL_OFFSET_TABLE are used for * generating position independent code (PIC) with dynamic linking. * In PIC, their absolute address cannot be decided statically, but * distance between code and them are known at compile time. * This means that they may be used only for offset calculation. *) (* (* * labels are classfied according to its scope and object which * the label references. *) (*% *) datatype labelReference = (* label for code, cluster local, defined in same cluster *) (*% @format(l) l *) LocalLabel of localLabel | (* compile unit local, defined in same compile unit *) (*% @format(ty * l) "unit:" l *) UnitLabel of ptrTy * string | (* global, defined in same compile unit *) (*% @format(ty * l) "glbl:" l *) GlobalLabel of ptrTy * string (* | (* global, global, defined in other compile unit *) (*% @format(ty * l) "extn:" l *) ExternLabel of ptrTy * string *) | (* label for address table entry of dynamic linking *) (*% @format(ty * l) "link:" l *) LinkLabel of ptrTy * string | (* label of stub code for dynamic link *) (*% @format(l) "stub:" l *) LinkStubLabel of string (*% *) datatype labelScope = (*% @format "U$" *) COMPILE_UNIT | (*% @format "G$" *) GLOBAL *) (* (*% *) datatype entryLabel = (* handler label *) (*% @format(l) "handler:" l *) HandlerEntry of localLabel | (* label for code, compile unit local *) (*% @format(l * {preFrameSize}) "code:" l *) UnitCodeEntry of string * {preFrameSize: int} | (* label for code, global *) (*% @format(l * {preFrameSize}) "Gcode:" l *) GlobalCodeEntry of string * {preFrameSize: int} *) (*% *) datatype const = (* (*% @format(l) l *) SYM of labelReference | *) (*% @format({base,label}) L5{ label +1 "-" +2 base } *) SYMOFFSET of {base: labelReference, label: labelReference} (* | (*% @format(x) L2{ x ":li" } *) INT64 of sint64 (* SINT64 *) | (*% @format(x) L2{ x ":l" } *) UINT64 of uint64 (* UINT64 *) *) | (*% @format(x) L2{ x ":wi" } *) INT32 of sint32 (* SINT32 *) | (*% @format(x) L2{ x ":w" } *) UINT32 of uint32 (* UINT32 *) | (*% @format(x) L2{ x ":hi" } *) INT16 of sint16 (* SINT16 *) | (*% @format(x) L2{ x ":h" } *) UINT16 of uint16 (* UINT16 *) | (*% @format(x) L2{ x ":bi" } *) INT8 of sint8 (* SINT8 *) | (*% @format(x) L2{ x ":b" } *) UINT8 of uint8 (* UINT8 *) | (*% @format(x) L2{ x ":s" } *) REAL32 of string (* REAL32 *) | (*% @format(x) L2{ x ":d" } *) REAL64 of string (* REAL64 *) | (*% @format(x) L2{ x ":dH" } *) REAL64HI of string (* NOTYPE *) | (*% @format(x) L2{ x ":dL" } *) REAL64LO of string (* NOTYPE *) (* | (* @format(x * y) L5{ x +1 "+" +2 y } *) CADD of const * const (* num * num -> num *) | (* @format(x * y) L5{ x +1 "-" +2 y } *) CSUB of const * const (* num * num -> num *) | (* @format(x * y) L5{ x +1 "+" +2 y } *) CDISP of const * const (* ptr * int -> ptr *) | (* @format(x * y) L3{ x +1 "&" +2 y } *) CAND of const * const (* uint * uint -> uint *) | (* @format(x * y) L3{ x +1 "|" +2 y } *) CIOR of const * const (* uint * uint -> uint *) | (* @format(x * y) L3{ x +1 "^" +2 y } *) CXOR of const * const (* uint * uint -> uint *) | (* @format(x) L6{ "-" x } *) CNOT of const (* uint -> unit *) | (* @format(x) L6{ "~" x } *) CNEG of const (* unum -> unum *) | (* @format(x) !N0{ "Abs(" x ")" } *) CABS of const (* snum -> snum *) *) (*% *) type var = (*% @format({id, ty}) L2{ "v" id ":" ty } *) {id: id, ty: ty} (*% @formatter(BoundTypeVarID.id) BoundTypeVarID.format_id *) type tid = (*% @format(x) "t" x *) BoundTypeVarID.id (*% *) datatype tag = (*% @format "1" *) BOXED | (*% @format "0" *) UNBOXED | (*% @format(t) t *) GENERIC of tid (*% *) type format = (*% * @format({size, align, tag}) * tag "<" size "," align ">" *) {size: int, align: int, tag: tag} (*% *) type slot = (*% @format({id, format}) L2{ "s" id ":" format } *) {id: id, format: format} (* (*% *) datatype slotPlace = (*% @format({offset, size}) "POSTFRAME(" offset "," size ")" *) POSTFRAME of {offset: int, size: int} | (*% @format({offset, size}) "PREFRAME(" offset "," size ")" *) PREFRAME of {offset: int, size: int} (*% *) type slot = (*% @format({id, place}) "s" id ":" place *) {id: id, place: slotPlace} *) (* (*% *) datatype 'reg alloc = (* result of register allocation *) ALLOC_REG of 'reg | ALLOC_FRAME of {id: id, ty: ty, format: FrameLayout.format} *) (*% *) datatype x86st = (*% @format(n) "%st" n *) X86ST of int (*% *) datatype addr = (*% @format(ty * label) L2{ label "::" ty } *) ADDRCAST of ptrTy * addr | (*% @format(x) x *) ABSADDR of labelReference | (*% @format(c * e) L5{ c +1 "+" +2 e } *) DISP of const * addr | (*% @format(var) var *) BASE of var (* | (*% @format({index, scale}) L4{ index +1 "*" +2 scale } *) INDEX of {index: var, scale: int} *) | (*% @format({base, index, scale}) * L5{ base +1 "+" +2 L4{ index +3 "*" +4 scale } } *) ABSINDEX of {base: labelReference, index: var, scale: int} | (*% @format({base, index, scale}) * L5{ base +1 "+" +2 L4{ index +3 "*" +4 scale } } *) BASEINDEX of {base: var, index: var, scale: int} | (*% @format({offset, size}) "POSTFRAME(" offset "," size ")" *) (* POSTFRAME may be manipulated by CALL. *) POSTFRAME of {offset: int, size: int} | (*% @format({offset, size}) "PREFRAME(" offset "," size ")" *) PREFRAME of {offset: int, size: int} | (*% @format(slot) "WORKFRAME(" slot ")" *) WORKFRAME of slot | (*% @format(offset) "FRAMEINFO(" offset ")" *) FRAMEINFO of int (* | (*% @format({id, format}) "s" id ":" format *) (* frame slot for spilling variable identified by id. *) SLOT of {id: id, format: FrameLayout.format} *) (* | (*% @format(s) *) SLOT of slot *) (* * : : offset * +-------------+ 0 * | PostFrame | * +-------------+ n * : Frame : * | | * +-------------+ n * | PreFrame | * +-------------+ 0 * : : *) (*% *) datatype mem = (*% @format(x) x *) ADDR of addr | (*% @format(x) x *) SLOT of slot (* We don't allow to obtaining address of a SLOT * in order to avoid aliasing. *) (*% *) datatype dst = (*% @format(v) v *) REG of var | (* pair of two registers denoting one 64bit value *) (*% @format(ty * {hi,lo}) L2{ !N0{ "{" hi "," lo "}" } ":" ty } *) (* notype * notype -> uint64 or sint64 *) (* COUPLE is strongly tied with instruction. COUPLE may appear * only in special structures specified by target CPU architecture. *) COUPLE of ty * {hi: dst, lo: dst} | (* memory access *) (*% @format(ty * mem) L2{ !N0{ "[" mem "]" } ":" ty } *) MEM of ty * mem (*% @params(reg) *) datatype cast = (*% @format reg *) N (* no cast *) | (*% @format(ty) L2 { reg "::" ty } *) CAST of ty (*% *) datatype operand = (*% @format(c) c *) CONST of const | (*% @format(cast * dst) cast()(dst) *) REF of cast * dst (* for convenience *) fun REF_ dst = REF (N, dst) (*% @params(prefix) * @formatter(bool) SmlppgUtil.formatBinaryChoice *) datatype handler = (* no handler information; if an exception is raised, * control goes to outside of the current cluster. *) (*% @format *) NO_HANDLER | (* set of available exception handlers is statically known. * If an exception is raised at this point, control goes to either * one of the handlers or outside of the current cluster. *) (*% @format({outside, handlers: handler handlers}) * prefix handlers(handler)("," +d) outside()("," +d "OUT",) *) HANDLER of {outside: bool, handlers: label list} (*% *) datatype first = (*% @format({label, align, loc}) label ":" *) BEGIN of {label: label, align: int, loc: Loc.loc} | (*% @format({label, symbol, scope, align, preFrameSize, * stubOptions: stubOptions sopt, * defs:def defs, loc}) * " " scope \n * {symbol ":\t" ".CODEENTRY" * 16[ \n ";" + "defs" + defs(def)("," +) * \n ";" + "preFrameSize=" preFrameSize * sopt(stubOptions)] \n * label ":"} * * @format:stubOptions({forceFrameAlign}) * \n ";" + "forceFrameAlign=" forceFrameAlign *) (* If stubOptions is SOME, additional stub code which may allocate * a stack frame is generated at code entry. Note that pre-frame * is not placed immediately before the current stack if stubOptions * is SOME. *) CODEENTRY of {label: label, symbol: symbol, scope: symbolScope, align: int, preFrameSize: int, stubOptions: {forceFrameAlign: bool} option, defs: var list, loc: Loc.loc} | (*% @format({label, align, defs:def defs, loc}) * label ":\t" ".HANDLERENTRY {" defs(def)("," +) "}" *) HANDLERENTRY of {label: label, align: int, defs: var list, loc: Loc.loc} | (*% @format ".enter" *) ENTER (* entry point for splicing *) (* | (*% @format({label, align, defs, loc}) *"\t.globl\t" label \n label ":" \n *) ENTRY of {label: entryLabel, align: int, defs: var list, loc: Loc.loc} | (*% @format({preFrameSize} * first) * first "\t.prologue\t" preFrameSize \n *) WITH_PROLOGUE of {preFrameSize: int} * first *) (* (*% *) datatype test = (*% @format(ty * op1 * op2) "cmp:" ty "\t" + op1 "," + op2 *) TEST_SUB of ty * operand * operand | (*% @format(ty * op1 * op2) "test:" ty "\t" + op1 "," + op2 *) TEST_AND of ty * operand * operand *) (* * Let I be an instruction. * Clobbered variables ("clobs" for short) of I are variables such that * they are defined, used, and discarded in I as working areas. * Since they are defined and discarded in one instruction, they don't * appear in the result of liveness analysis. In contrast, they affect * register interference information. * Usually, clobs interferes with variables in liveIn set and def set of I. *) (*% * @formatter(option) SmlppgUtil.formatEnclosedOpt * @formatter(map) formatIDMap *) datatype instruction = (*% @format "nop" *) NOP | (*% @format ".stabilize" *) STABILIZE (* status must be stable here. *) | (*% @format({uses:u us, clobs:clob clobs}) * {".compute_frame" * 8[ \n ";" + "clobbers" + clobs(clob)("," +) * \n ";" + "uses" + "{" us:map(u)(," as ",","+) "}" ]} *) (* "uses" field keeps track of applied substitution to variables * used for bitmap computation. *) COMPUTE_FRAME of {uses: var VarID.Map.map, clobs: var list} | (*% @format(slot) ".request_slot" + slot *) (* request that a new slot is allocated at this point. *) REQUEST_SLOT of slot | (*% @format(slot) ".require_slot" + slot *) (* require that the slot must be available until this point. *) REQUIRE_SLOT of slot | (*% @format(op1 ops) ".use\t" ops(op1)("," +) *) (* ensure that operands are available at this point. *) USE of operand list | (*% @format(ty * dst * src) "mov:" ty "\t" dst "," + src *) MOVE of ty * dst * operand | (*% @format(ptrTy * dst * op1) "mva:" ptrTy "\t" dst "," + op1 *) MOVEADDR of ptrTy * dst * addr | (*% @format({ty, dst, src, clobs:clob clobs}) * "copy:" ty "\t" dst "," + src + "clobbers" + clobs(clob)("," +) *) (* copy between two slots which cannot be copied by one pair of * load and store machine instruction. *) COPY of {ty: ty, dst: dst, src: operand, clobs: var list} | (*% @format({ty, dst, srcAddr, size, defs: df ds, clobs:clob clobs}) * {"mld:"ty"\t" "[" dst "]" "," + "[" srcAddr "]" "," + size * 8[ \n ";" "defs" + ds(df)("," +) * \n ";" "clobbers" + clobs(clob)("," +) ]} *) (* copy `size' bytes from `srcAddr' to `dst' slot. * The slot must be aligned but srcAddr is not always aligned. * defs are variables clobbered by this instruction; their values are * undefined. *) MLOAD of {ty: ty, dst: slot, srcAddr: addr, size: operand, defs: var list, clobs: var list} | (*% @format({ty, dstAddr, src, size, defs: df ds, clobs:clob clobs, * global}) * {"mst:"ty"\t[" dstAddr "]," + "[" src "]" "," + size * 8[ \n ";" + "defs" + ds(df)("," +) * \n ";" + "clobbers" + clobs(clob)("," +) ]} *) (* copy `size' bytes from `src' slot to `dstAddr'. * The slot must be aligned but dstAddr is not always aligned. * If global is true, result of this store must be fetchable by other * threads. * defs are variables clobbered by this instruction; their values are * undefined. *) MSTORE of {ty: ty, dstAddr: addr, src: slot, size: operand, global: bool, defs: var list, clobs: var list} (* | (*% @format(s * dst * op1) "zext:h"s"\t" dst "," + L2{op1 ":b"} *) ZEROEXT8TO16 of sign * dst * operand | (*% @format(s * dst * op1) "zext:w"s"\t" dst "," + L2{op1 ":b"} *) ZEROEXT8TO32 of sign * dst * operand | (*% @format(s * dst * op1) "zext:w"s"\t" dst "," + L2{op1 ":h"} *) ZEROEXT16TO32 of sign * dst * operand *) (* | (*% @format(s * dst * op1) "ext:hb"s"\t" dst "," + op1 *) EXT8TO16 of sign * dst * operand *) | (*% @format(s * dst * op1) "ext:wb"s"\t" dst "," + op1 *) EXT8TO32 of sign * dst * operand | (*% @format(s * dst * op1) "ext:wh"s"\t" dst "," + op1 *) EXT16TO32 of sign * dst * operand | (*% @format(s * dst * op1) "ext:lw"s"\t" dst "," + op1 *) EXT32TO64 of sign * dst * operand (* | (*% @format(s * dst * op1) "dwn:bh"s"\t" dst "," + op1 *) DOWN16TO8 of sign * dst * operand *) | (*% @format(s * dst * op1) "dwn:bw"s"\t" dst "," + op1 *) DOWN32TO8 of sign * dst * operand | (*% @format(s * dst * op1) "dwn:hw"s"\t" dst "," + op1 *) DOWN32TO16 of sign * dst * operand (* | (*% @format(dst * op1) "movzbl\t" dst "," + op1 *) UINT8TO32 of dst * operand | (*% @format(dst * op1) "movzwl\t" dst "," + op1 *) UINT16TO32 of dst * operand | (*% @format(dst * op1) "cbw\t" dst "," + op1 *) SINT8TO16 of dst * operand | (*% @format(dst * op1) "cwde\t" dst "," + op1 *) SINT16TO32 of dst * operand | (*% @format(dst * op1) "cdq\t" dst "," + op1 *) SINT32TO64 of dst * operand | (*% @format(dst * op1) "movb\t" dst "," + op1 *) UINT32TO8 of dst * operand | (*% @format(dst * op1) "movb\t" dst "," + op1 *) UINT32TO16 of dst * operand | (*% @format(dst * op1) "movb\t" dst "," + op1 *) SINT32TO8 of dst * operand | (*% @format(dst * op1) "movb\t" dst "," + op1 *) SINT32TO16 of dst * operand | (*% @format(dst * op1) "movb\t" dst "," + op1 *) SINT32TO16 of dst * operand *) | (*% @format(ty * dst * op1 * op2) "add:"ty"\t" dst ","+ op1 ","+ op2 *) ADD of ty * dst * operand * operand | (*% @format(ty * dst * op1 * op2) "sub:"ty"\t" dst ","+ op1 ","+ op2 *) SUB of ty * dst * operand * operand (* | (*% @format((ty * dst) * (op1ty * op1) * (op2ty * op2)) * "mul\t" dst ":" ty ","+ op1 ":" op1ty ","+ op2 ":" op2ty *) MUL of (ty * dst) * (ty * operand) * (ty * operand) | (*% @format({div: divTy * ddiv, mod: modTy * dmod} * * (op1Ty * op1) * (op2Ty * op2)) * "divmod\t" "(" ddiv ":" divTy "," dmod ":" modTy ")" "," + * op1 ":" op1Ty "," + op2 ":" op2Ty *) DIVMOD of {div: ty * dst, mod: ty * dst} * (ty * operand) * (ty * operand) *) | (*% @format((ty * dst) * (op1ty * op1) * (op2ty * op2)) * "mul\t" L2{dst ":" ty} ","+ * L2{op1 ":" op1ty} ","+ L2{op2 ":" op2ty} *) MUL of (ty * dst) * (ty * operand) * (ty * operand) | (*% @format({div: divTy * ddiv, mod: modTy * dmod} * * (op1Ty * op1) * (op2Ty * op2)) * "divmod\t" * "(Q=" L2{ddiv ":" divTy} ", R=" L2{dmod ":" modTy} ")" "," + * L2{op1 ":" op1Ty} "," + L2{op2 ":" op2Ty} *) DIVMOD of {div: ty * dst, mod: ty * dst} * (ty * operand) * (ty * operand) | (*% @format(ty * dst * op1 * op2) "and:"ty"\t" dst ","+ op1 ","+ op2 *) AND of ty * dst * operand * operand | (*% @format(ty * dst * op1 * op2) "or:"ty"\t" dst ","+ op1 ","+ op2 *) OR of ty * dst * operand * operand | (*% @format(ty * dst * op1 * op2) "xor:"ty"\t" dst ","+ op1 ","+ op2 *) XOR of ty * dst * operand * operand | (*% @format(ty * dst * op1 * op2) "shl:"ty"\t" dst ","+ op1 ","+ op2 *) LSHIFT of ty * dst * operand * operand | (*% @format(ty * dst * op1 * op2) "srl:"ty"\t" dst ","+ op1 ","+ op2 *) RSHIFT of ty * dst * operand * operand | (*% @format(ty * dst * op1 * op2) "sar:"ty"\t" dst ","+ op1 ","+ op2 *) ARSHIFT of ty * dst * operand * operand | (*% @format(ty * op1 * op2) "cmp:" ty "\t" op1 "," + op2 *) TEST_SUB of ty * operand * operand | (*% @format(ty * op1 * op2) "test:" ty "\t" op1 "," + op2 *) TEST_AND of ty * operand * operand | (*% @format(ty * op1 * op2) "test:" ty "\t" op1 "," + op2 *) TEST_LABEL of ptrTy * operand * labelReference | (*% @format(ty * dst * op1) "not:"ty"\t" dst ","+ op1 *) NOT of ty * dst * operand | (*% @format(ty * dst * op1) "neg:"ty"\t" dst ","+ op1 *) NEG of ty * dst * operand (* 2's compliment *) | (*% @format(cc * ty * dst * {test}) * {test + "; for next instruction" \n "set"cc":"ty"\t" dst} *) SET of cc * ty * dst * {test: instruction} (* | (*% @format(ty * exp) "push<"ty">\t" exp *) PUSH of ty * exp | (*% @format(ty * dst) "pop<"ty">\t" dst *) POP of ty * dst *) | (*% @format(dst) "mov\t" dst "," + "fp" *) LOAD_FP of dst | (*% @format(dst) "mov\t" dst "," + "prev_fp" *) LOAD_PREV_FP of dst | (*% @format(dst) "mov\t" dst "," + "sp" *) LOAD_SP of dst | (*% @format(dst) "mov\t" dst "," + "retaddr" *) LOAD_RETADDR of dst (* | (*% @format(op1) "mov\t" "fp" "," + op1 *) SAVE_FP of operand | (*% @format(op1) "mov\t" "sp" "," + op1 *) SAVE_SP of operand | (*% @format(dst) "mov\t" dst "," + "(%esp)" *) X86PEEK_STACK of dst *) | (*% @format({ty, dst, symbol, thunk:thunk topt}) * "la:"ty"\t" dst ","+ symbol topt(thunk)(+ "by using" +,) *) LOADABSADDR of {ty: ty, dst: dst, symbol: labelReference, thunk: symbol option} | (*% @format(x86) "X86:" x86 *) X86 of x86insn and x86insn = (*% @format(ty * dst * {base, shift, offset, disp}) * "lea\t" dst "," + base "+" offset "<<" shift "+" disp *) X86LEAINT of ty * dst * {base: var, shift: int, offset: var, disp: const} | (*% @format(ty * mem) "fld\t" L2{mem ":" ty} *) X86FLD of ty * mem (* push and st(0) <- [mem:ty] *) | (*% @format(i) "fld\t" i *) X86FLD_ST of x86st (* push and st(0) <- st(i) *) | (*% @format(ty * mem) "fst\t" L2{mem ":" ty} *) X86FST of ty * mem (* [mem:ty] <- st(0) *) | (*% @format(ty * mem) "fstp\t" L2{mem ":" ty} *) X86FSTP of ty * mem (* [mem:ty] <- st(0) and pop *) | (*% @format(i) "fstp\t" i *) X86FSTP_ST of x86st (* st(i) <- st(0) and pop *) | (*% @format(ty * mem) "fadd\t" L2{mem ":" ty} *) X86FADD of ty * mem (* st(0) <- st(0) + [mem:ty] *) | (*% @format(i * j) "fadd\t" i "," + j *) X86FADD_ST of x86st * x86st (* st(i) <- st(i) + st(j) *) | (*% @format(i) "faddp\t" i *) X86FADDP of x86st (* st(i) <- st(i) + st(0) and pop *) | (*% @format(ty * mem) "fsub\t" L2{mem ":" ty} *) X86FSUB of ty * mem (* st(0) <- st(0) - [mem:ty] *) | (*% @format(i * j) "fsub\t" i "," + j *) X86FSUB_ST of x86st * x86st (* st(i) <- st(i) - st(j) *) | (*% @format(i) "fsubp\t" i *) X86FSUBP of x86st (* st(i) <- st(i) - st(0) and pop *) | (*% @format(ty * mem) "fsubr\t" L2{mem ":" ty} *) X86FSUBR of ty * mem (* st(0) <- [mem:ty] - st(0) *) | (*% @format(i * j) "fsubr\t" i "," + j *) X86FSUBR_ST of x86st * x86st (* st(i) <- st(j) - st(i) *) | (*% @format(i) "fsubrp\t" i *) X86FSUBRP of x86st (* st(i) <- st(0) - st(i) and pop *) | (*% @format(ty * mem) "fmul\t" L2{mem ":" ty} *) X86FMUL of ty * mem (* st(0) <- st(0) + [mem:ty] *) | (*% @format(i * j) "fmul\t" i "," + j *) X86FMUL_ST of x86st * x86st (* st(i) <- st(i) * st(j) *) | (*% @format(i) "fmulp\t" i *) X86FMULP of x86st (* st(i) <- st(i) * st(0) and pop *) | (*% @format(ty * mem) "fdiv\t" L2{mem ":" ty} *) X86FDIV of ty * mem (* st(0) <- st(0) / [mem:ty] *) | (*% @format(i * j) "fdiv\t" i "," + j *) X86FDIV_ST of x86st * x86st (* st(i) <- st(i) / st(j) *) | (*% @format(i) "fdivp\t" i *) X86FDIVP of x86st (* st(i) <- st(i) / st(0) and pop *) | (*% @format(ty * mem) "fdivr\t" L2{mem ":" ty} *) X86FDIVR of ty * mem (* st(0) <- [mem:ty] / st(0) *) | (*% @format(i * j) "fdivr\t" i "," + j *) X86FDIVR_ST of x86st * x86st (* st(i) <- st(j) / st(i) *) | (*% @format(i) "fdivrp\t" i *) X86FDIVRP of x86st (* st(i) <- st(0) / st(i) and pop *) | (*% @format "fprem" *) X86FPREM (* st(0) <- st(0) mod st(1) *) | (*% @format "fabs" *) X86FABS (* st(0) <- abs(st(0)) *) | (*% @format "fchs" *) X86FCHS (* st(0) <- -st(0) *) | (*% @format "fincstp\n" *) X86FINCSTP (* increment stack top pointer *) | (*% @format "ffree\t" *) X86FFREE of x86st (* free st(i) *) | (*% @format(i) "fxch\t" i *) X86FXCH of x86st (* exchange st(0) and st(i) *) | (*% @format(i) "fucom\t" i *) X86FUCOM of x86st (* compare st(0) and st(i) *) | (*% @format(i) "fucomp\t" i *) X86FUCOMP of x86st (* compare st(0) and st(i) and pop *) | (*% @format "fucompp" *) X86FUCOMPP (* compare st(0) and st(1) and pop twice *) (* | (*% @format(dst * insn) insn "; fstsw\t" dst *) X86FSTSW of dst * instruction (* store x87 status to dst *) *) | (*% @format({clob, mask}) "fsw_testh\t" clob "," + mask *) (* test high byte of x86 control word *) X86FSW_TESTH of {clob: var, mask: const} | (*% * @format({clob, mask, compare}) * "fsw_maskcmph\t" clob "," + mask "," + compare *) (* apply mask to high byte of x86 control word and compare *) X86FSW_MASKCMPH of {clob: var, mask: const, compare: const} | (*% @format(op1) "fldcw\t" op1 *) X86FLDCW of mem (* fcw <- [mem:uint16] *) | (*% @format(dst) "fnstcw\t" dst *) X86FNSTCW of mem (* [mem:uint16] <- fcw *) | (*% @format "fwait" *) X86FWAIT (* FPU wait *) | (*% @format "fnclex" *) X86FNCLEX (* clear exception flags *) (*% @formatter(bool) SmlppgUtil.formatBinaryChoice *) datatype last = (*% @format(insn * {nextLabel, handler}) * {insn * 8[ \n {";" + "next " + nextLabel * handler()(\n ";" + "handle =>" +)}]} *) HANDLE of instruction * {nextLabel: label, handler: handler} | (*% @format({test, cc, thenLabel, elseLabel}) * {test + "; for next instruction" \n * "j"cc"\t" thenLabel + "else" + elseLabel} *) CJUMP of {test: instruction, cc: cc, thenLabel: label, elseLabel: label} | (*% @format({callTo, returnTo, defs: df ds, uses: u us, * handler, needStabilize, postFrameAdjust}) * {"call\t" callTo * 8[ \n {";" + "return to" + returnTo * handler()(\n ";" + "handle =>" +) * \n ";" + "defs" + {ds(df)("," +d)} * \n ";" + "uses" + {us(u)("," +d)} * \n ";" + "postFrameAdjust=" postFrameAdjust * needStabilize()(\n ";" + "need stabilize",)}]} *) CALL of {callTo: addr, returnTo: label, handler: handler, defs: var list, uses: var list, needStabilize: bool, (* postFrameAdjust holds the additional size of postframe * which must be allocated for adjustment when control * returns. *) postFrameAdjust: int} | (*% @format({jumpTo, destinations:label labels}) * {"jmp\t" jumpTo * 8[ \n {";" + "=>" + {labels(label)("," +d)}}]} *) JUMP of {jumpTo: addr, destinations: label list} | (*% @format({jumpTo, fp, sp, uses:u us, handler}) * {"jmp\t" jumpTo * 8[ \n {";" + "unwind with" * \n ";" + "fp = " fp * \n ";" + "sp = " sp * \n ";" + "uses" + {us(u)("," +d)} * \n handler()(\n ";" + "handle =>"+)}]} *) UNWIND_JUMP of {jumpTo: addr, sp: operand, fp: operand, uses: var list, handler: handler} | (*% @format({preFrameSize, jumpTo, uses:u us}) * {"jmp\t" jumpTo * 8[ \n ";" + "tail call" * \n ";" + "preFrameSize=" preFrameSize * \n ";" + "uses" + {us(u)("," +d)}]} *) TAILCALL_JUMP of {preFrameSize: int, jumpTo: addr, uses: var list} | (*% @format({preFrameSize, stubOptions: stubOptions sopt, uses:u us}) * {"ret" * 8[ \n ";" + "preFrameSize=" preFrameSize * \n ";" + "uses" + {us(u)("," +d)} * sopt(stubOptions)]} * @format:stubOptions({forceFrameAlign}) * \n ";" + "forceFrameAlign=" forceFrameAlign()(,) *) RETURN of {preFrameSize: int, stubOptions: {forceFrameAlign: bool} option, uses: var list} (* | (*% @format({callTo, returnTo}) "call\t" callTo +"=>"+ returnTo *) X86JUMP_BY_CALL of {callTo: label, returnTo: label} | (*% @format({destinations:l ls}) "ret\t" ls(l)(",") *) X86JUMP_BY_RET of {destinations: label list} *) (* | (*% @format({preFrameSize} * last) * ".epilogue\t" preFrameSize \n "\t" last *) WITH_EPILOGUE of {preFrameSize: int} * last *) | (*% @format ".exit" *) EXIT (* end point for splicing *) (*% @formatter(lines) formatLines *) type block = (*% @format(first * insn insns:lines * last) * first \n insns(insn)(" ",\n) " " last *) first * instruction list * last (*% @formatter(option) SmlppgUtil.formatOptWithDefault *) type frameBitmap = (*% * @format({source, bits:bit bits}) * source ":[" { bits(bit)("," +d) "]" } * @format:bit(bi bo) bo(bi)("_") *) { source: operand, (* bits field holds correspondence between `tid's and bits of * frame bitmap. If a tid is n-th (starting with 0) element of bits, * frame bit of that tid is n-th bit (LSB is 0) of source. * NONE means that there is no tid corresponding to this bit. *) bits: tid option list } (*% @formatter(LabelMap.map) formatIDMap *) type graph = (*% @format(block blocks) blocks(block)(";; block ",\n,\n) *) block LabelMap.map val emptyGraph = LabelMap.empty : graph (*% * @formatter(lines) formatLines * @formatter(option) SmlppgUtil.formatEnclosedOpt *) type cluster = (*% * @format({clusterId, frameBitmap: bitmap bitmaps:lines, * preFrameSize, postFrameSize, numHeaderWords, * baseLabel: bl blopt, body, loc}) * "# begin cluster " clusterId \n * "# loc = " loc \n * blopt(bl)("# base = ", \n) * bitmaps(bitmap)("# frameBitmap: ", \n) * "# pre/post = " preFrameSize "/" postFrameSize \n * "# numHeaderWords = " numHeaderWords \n * body * "# end cluster" *) { clusterId: clusterId, frameBitmap: frameBitmap list, baseLabel: label option, body: graph, preFrameSize: int, postFrameSize: int, numHeaderWords: int, loc: loc } (*% * @formatter(Word8.word) format_word8_hex * @formatter(lines) formatLines * @formatter(ascii) format_ascii *) datatype datum = (*% @format(c) ".const" + c *) CONST_DATA of const | (*% @format(l) ".label" + l *) LABELREF_DATA of labelReference | (*% @format(w ws) ".byte" + ws(w)(",") *) BINARY_DATA of Word8.word list | (*% @format(s:ascii) ".ascii" + s *) ASCII_DATA of string | (*% @format({size}) ".fill" + size *) SPACE_DATA of {size: int} (* | (*% @format({align, data: dat dats:lines}) * ".align" + align \n dats(dat)("\t",\n) *) ALIGN_DATA of {align: int, data: data list} *) (*% *) datatype dataSection = (*% @format ".data" *) DATA_SECTION | (*% @format ".rodata" *) RODATA_SECTION | (*% @format ".literal4" *) LITERAL32_SECTION | (*% @format ".literal8" *) LITERAL64_SECTION | (*% @format ".cstring" *) CSTRING_SECTION (*% @formatter(lines) formatLines *) type data = (*% * @format({scope, symbol, aliases: alias aliases, ptrTy, section, * prefix: prefix prefixes:lines, align, data: data datas:lines, * prefixSize}) * "# begin data" \n * "# prefixSize = " prefixSize \n * " " section \n * prefixes(prefix)(" ",\n) * " " scope \n * symbol ":" + "; DATA:" ptrTy " align=" align \n * aliases:lines(alias)(, ":" + "; ALIAS" \n) * datas(data)(" ",\n) * "# end data" *) { scope: symbolScope, symbol: symbol, aliases: symbol list, ptrTy: ptrTy, section: dataSection, prefix: datum list, align: int, data: datum list, prefixSize: int } (*% * @formatter(bool) SmlppgUtil.formatBinaryChoice * @formatter(option) SmlppgUtil.formatEnclosedOpt *) datatype topdecl = (*% @format({symbol, (*toplevelId,*) toplevelEntry, nextToplevel: next nextOpt, smlPushHandlerLabel, smlPopHandlerLabel}) * symbol ":\t.toplevel" + toplevelEntry nextOpt(next)(+ "=>" +,) *) TOPLEVEL of {symbol: symbol, (*toplevelId: clusterId,*) toplevelEntry: symbol, nextToplevel: symbol option, smlPushHandlerLabel: labelReference, smlPopHandlerLabel: labelReference} | (*% @format(cluster) cluster *) CLUSTER of cluster | (*% @format(data) data *) DATA of data | (*% * @format({scope, symbol, size}) * " " scope \n * symbol ": .comm" + symbol "," + size *) BSS of {scope: symbolScope, symbol: symbol, size: int} | (*% * @format(sym) sym ": ; X86GET_PC_THUNK_BX" *) X86GET_PC_THUNK_BX of symbol | (*% * @format({symbol, linkStub, linkEntry, ptrTy}) * symbol ": .EXTERN" ":" ptrTy * linkEntry()(\n symbol "$LINK: .link_entry",) * linkStub()(\n symbol "$STUB: .link_stub",) *) EXTERN of {symbol: symbol, linkStub: bool, linkEntry: bool, ptrTy: ptrTy} (* | (*% * @format(sym) sym ": ; NEXT_TOPLEVEL_STUB" *) NEXT_TOPLEVEL_STUB of symbol *) (* (*% @formatter(lines) formatLines *) type program = (*% * @format(symbolEnv * dec decs:lines) * symbolEnv \n decs(dec)(,\n) *) symbolEnv * topdecl list *) (*% @formatter(lines) formatLines *) type program = (*% * @format(dec decs:lines) * decs(dec)(,\n) *) topdecl list (* (*% @formatter(lines) formatLines *) datatype symbolDef = CLUSTER_ENTRY of {scope: symbolScope, clusterId: clusterId} | DATA of {scope: symbolScope, ptrTy: ptrTy, section: dataSection, prefix: data list, align: int, data: data list, prefixSize: int, dataSize: int} | BSS of {scope: symbolScope, align: int, size: int} | (* scope = GLOBAL *) EXTERN of {ptrTy: ptrTy, linkEntry: bool, linkStub: bool} | X86GET_PC_THUNK_BX | NEXT_TOPLEVEL_STUB | ALIAS of labelReference datatype symbolKind = TEXT of {scope: symbolScope, clusterI datatype symbol = CLUSTER_ENTRY of {scope: symbolScope, clusterId: clusterId} | DATA of {scope: symbolScope, ptrTy: ptrTy} | BSS of {scope: datatype topdef = (*% *) type program = (*% *) { clusters: cluster VarID.Map.map, (* clusterId -> cluster *) symbols: symbolDef SEnv.map } *) (* (*% @formatter(lines) formatLines *) datatype toplevel = (*% * @format(c) * "# cluster begin" 1 * c 1 * "# cluster end" 1 *) CLUSTER of cluster | (*% * @format({symbol, scope, ptrTy, readonly, data:dat dats:lines}) * scope + symbol 1 symbol ": ; DATA" 1 * dats(dat)(" ", 1) *) DATA of {symbol: symbol, scope: symbolScope, ptrTy: ptrTy, readonly: bool, data: data list} | (*% *) LINK_ENTRY of symbol | (*% *) LINK_STUB of symbol | (*% *) EXTERN of {symbol: symbol, ptrTy: ptrTy} | (*% *) X86GET_PC_THUNK_BX of symbol | (*% *) NEXT_TOPLEVEL_STUB of string *) (* datatype toplevel = LINK_ENTRY of symbol | LINK_STUB of symbol | X86GET_PC_THUNK_BX of symbol | | (*% @format(l) l ": .extern data" 1 *) EXTERN_DATA of string | (*% @format(l) l ": .extern code" 1 *) EXTERN_CODE of string | (*% @format(ty * l) l ": .link entry" 1 *) LINK_ENTRY of ptrTy * string | (*% @format(l) l ": .link stub" 1 *) LINK_STUB of string | (*% @format(l) l ": .next toplevel stub" 1 *) NEXT_TOPLEVEL_STUB of string *) (* (*% *) type program = unit *) (* (*% @format(tl tls) tls(tl)() *) toplevel list *) (* (*% * @formatter(enclosedList) SmlppgUtil.formatListWithEnclosureIfMoreThanOne *) type linearCluster = (*% * @format({frameBitmap: bitmap bitmaps:enclosedList, * body, preFrameAligned, loc}) * "# cluster begin" 1 * "# loc = " loc 1 * bitmaps(bitmap)("# frameBitmap: " 1, 1, 1) * "# preFrameAligned = " preFrameAligned 1 * body 1 * "# cluster end" 1 *) { frameBitmap: frameBitmap list, body: node list, preFrameAligned: bool, loc: loc } *) (* (*% *) type program = (*% * @prefix debug_ * @format({entryCode: code codes, * clusters: cluster clusters, * data: dat dats, * toplevelStubCode: stub stubop}) * "# EntryCode:" 1 * codes(code)() * clusters(cluster)() * "# Data:" 1 * dats(dat)() * "# Toplevel stub code:" 1 * stubop(stub)() *) { clusters: cluster list, data: instruction list } *) (* (*% @formatter(lines) formatLines @formatter(linesR) formatLinesR *) type focus = (*% @format({first, pre: pre pres:linesR, post: post posts:lines, last, context}) * context 1 * first 1 pres(pre)(" ",1) * "!!!!" 1 * posts(post)(" ",1) * last 1 * @format:context({label, graph}) * graph 1 * ";; block " label *) { first: first, pre: instruction list, post: instruction list, last: last, context: {label: label, graph: graph} } *) end end smlsharp-1.2.0/src/compiler/rtl/main/RTL.ppg.smi0000644 000000000000000000002653212050661606021601 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../util/main/SmlppgUtil.ppg.smi" structure RTL = struct datatype cc = OVERFLOW | NOTOVERFLOW | EQUAL | NOTEQUAL | BELOW | BELOWEQUAL | ABOVE | ABOVEEQUAL | SIGN | NOTSIGN | LESS | LESSEQUAL | GREATER | GREATEREQUAL val format_cc : cc -> SMLFormat.FormatExpression.expression list datatype ptrTy = Void | Data | Code val format_ptrTy : ptrTy -> SMLFormat.FormatExpression.expression list type genericId = BoundTypeVarID.id val format_genericId : genericId -> SMLFormat.FormatExpression.expression list datatype sign = U | S val format_sign : sign -> SMLFormat.FormatExpression.expression list datatype ty = Int8 of sign | Int16 of sign | Int32 of sign | Int64 of sign | Real32 | Real64 | Real80 | Ptr of ptrTy | PtrDiff of ptrTy | Generic of genericId | NoType val format_ty : ty -> SMLFormat.FormatExpression.expression list type sint32 = Int32.int val format_sint32 : Int32.int -> SMLFormat.FormatExpression.expression list type uint32 = Word32.word val format_uint32 : Word32.word -> SMLFormat.FormatExpression.expression list type sint16 = int val format_sint16 : int -> SMLFormat.FormatExpression.expression list type uint16 = word val format_uint16 : word -> SMLFormat.FormatExpression.expression list type sint8 = int val format_sint8 : int -> SMLFormat.FormatExpression.expression list type uint8 = Word8.word val format_uint8 : Word8.word -> SMLFormat.FormatExpression.expression list type loc = Loc.loc val format_loc : loc -> SMLFormat.FormatExpression.expression list type id = VarID.id val format_id : id -> SMLFormat.FormatExpression.expression list type label = VarID.id val format_label :label -> SMLFormat.FormatExpression.expression list structure LabelMap = VarID.Map structure LabelSet = VarID.Set type clusterId = ClusterID.id val format_clusterId : clusterId -> SMLFormat.FormatExpression.expression list type symbol = string val format_symbol : symbol -> SMLFormat.FormatExpression.expression list datatype symbolScope = LOCAL | GLOBAL val format_symbolScope : symbolScope -> SMLFormat.FormatExpression.expression list datatype labelReference = LABELCAST of ptrTy * labelReference | NULL of ptrTy | LABEL of label | SYMBOL of ptrTy * symbolScope * symbol | CURRENT_POSITION | LINK_ENTRY of symbol | LINK_STUB of symbol | ELF_GOT val format_labelReference : labelReference -> SMLFormat.FormatExpression.expression list datatype const = SYMOFFSET of {base: labelReference, label: labelReference} | INT32 of sint32 | UINT32 of uint32 | INT16 of sint16 | UINT16 of uint16 | INT8 of sint8 | UINT8 of uint8 | REAL32 of string | REAL64 of string | REAL64HI of string | REAL64LO of string val format_const : const -> SMLFormat.FormatExpression.expression list type var = {id: id, ty: ty} val format_var : var -> SMLFormat.FormatExpression.expression list type tid = BoundTypeVarID.id val format_tid : tid -> SMLFormat.FormatExpression.expression list datatype tag = BOXED | UNBOXED | GENERIC of tid val format_tag : tag -> SMLFormat.FormatExpression.expression list type format = {size: int, align: int, tag: tag} val format_format : format -> SMLFormat.FormatExpression.expression list type slot = {id: id, format: format} val format_slot : slot -> SMLFormat.FormatExpression.expression list datatype x86st = X86ST of int val format_x86st : x86st -> SMLFormat.FormatExpression.expression list datatype addr = ADDRCAST of ptrTy * addr | ABSADDR of labelReference | DISP of const * addr | BASE of var | ABSINDEX of {base: labelReference, index: var, scale: int} | BASEINDEX of {base: var, index: var, scale: int} | POSTFRAME of {offset: int, size: int} | PREFRAME of {offset: int, size: int} | WORKFRAME of slot | FRAMEINFO of int val format_addr : addr -> SMLFormat.FormatExpression.expression list datatype mem = ADDR of addr | SLOT of slot val format_mem : mem -> SMLFormat.FormatExpression.expression list datatype dst = REG of var | COUPLE of ty * {hi: dst, lo: dst} | MEM of ty * mem val format_dst : dst -> SMLFormat.FormatExpression.expression list datatype cast = N | CAST of ty val format_cast : SMLFormat.FormatExpression.expression list -> cast -> SMLFormat.FormatExpression.expression list datatype operand = CONST of const | REF of cast * dst val format_operand : operand -> SMLFormat.FormatExpression.expression list val REF_ : dst -> operand datatype handler = NO_HANDLER | HANDLER of {outside: bool, handlers: label list} val format_handler : SMLFormat.FormatExpression.expression list -> handler -> SMLFormat.FormatExpression.expression list datatype first = BEGIN of {label: label, align: int, loc: Loc.loc} | CODEENTRY of {label: label, symbol: symbol, scope: symbolScope, align: int, preFrameSize: int, stubOptions: {forceFrameAlign: bool} option, defs: var list, loc: Loc.loc} | HANDLERENTRY of {label: label, align: int, defs: var list, loc: Loc.loc} | ENTER val format_first : first -> SMLFormat.FormatExpression.expression list datatype instruction = NOP | STABILIZE | COMPUTE_FRAME of {uses: var VarID.Map.map, clobs: var list} | REQUEST_SLOT of slot | REQUIRE_SLOT of slot | USE of operand list | MOVE of ty * dst * operand | MOVEADDR of ptrTy * dst * addr | COPY of {ty: ty, dst: dst, src: operand, clobs: var list} | MLOAD of {ty: ty, dst: slot, srcAddr: addr, size: operand, defs: var list, clobs: var list} | MSTORE of {ty: ty, dstAddr: addr, src: slot, size: operand, global: bool, defs: var list, clobs: var list} | EXT8TO32 of sign * dst * operand | EXT16TO32 of sign * dst * operand | EXT32TO64 of sign * dst * operand | DOWN32TO8 of sign * dst * operand | DOWN32TO16 of sign * dst * operand | ADD of ty * dst * operand * operand | SUB of ty * dst * operand * operand | MUL of (ty * dst) * (ty * operand) * (ty * operand) | DIVMOD of {div: ty * dst, mod: ty * dst} * (ty * operand) * (ty * operand) | AND of ty * dst * operand * operand | OR of ty * dst * operand * operand | XOR of ty * dst * operand * operand | LSHIFT of ty * dst * operand * operand | RSHIFT of ty * dst * operand * operand | ARSHIFT of ty * dst * operand * operand | TEST_SUB of ty * operand * operand | TEST_AND of ty * operand * operand | TEST_LABEL of ptrTy * operand * labelReference | NOT of ty * dst * operand | NEG of ty * dst * operand | SET of cc * ty * dst * {test: instruction} | LOAD_FP of dst | LOAD_PREV_FP of dst | LOAD_SP of dst | LOAD_RETADDR of dst | LOADABSADDR of {ty: ty, dst: dst, symbol: labelReference, thunk: symbol option} | X86 of x86insn and x86insn = X86LEAINT of ty * dst * {base: var, shift: int, offset: var, disp: const} | X86FLD of ty * mem | X86FLD_ST of x86st | X86FST of ty * mem | X86FSTP of ty * mem | X86FSTP_ST of x86st | X86FADD of ty * mem | X86FADD_ST of x86st * x86st | X86FADDP of x86st | X86FSUB of ty * mem | X86FSUB_ST of x86st * x86st | X86FSUBP of x86st | X86FSUBR of ty * mem | X86FSUBR_ST of x86st * x86st | X86FSUBRP of x86st | X86FMUL of ty * mem | X86FMUL_ST of x86st * x86st | X86FMULP of x86st | X86FDIV of ty * mem | X86FDIV_ST of x86st * x86st | X86FDIVP of x86st | X86FDIVR of ty * mem | X86FDIVR_ST of x86st * x86st | X86FDIVRP of x86st | X86FPREM | X86FABS | X86FCHS | X86FINCSTP | X86FFREE of x86st | X86FXCH of x86st | X86FUCOM of x86st | X86FUCOMP of x86st | X86FUCOMPP | X86FSW_TESTH of {clob: var, mask: const} | X86FSW_MASKCMPH of {clob: var, mask: const, compare: const} | X86FLDCW of mem | X86FNSTCW of mem | X86FWAIT | X86FNCLEX val format_instruction : instruction -> SMLFormat.FormatExpression.expression list and format_x86insn : x86insn -> SMLFormat.FormatExpression.expression list datatype last = HANDLE of instruction * {nextLabel: label, handler: handler} | CJUMP of {test: instruction, cc: cc, thenLabel: label, elseLabel: label} | CALL of {callTo: addr, returnTo: label, handler: handler, defs: var list, uses: var list, needStabilize: bool, postFrameAdjust: int} | JUMP of {jumpTo: addr, destinations: label list} | UNWIND_JUMP of {jumpTo: addr, sp: operand, fp: operand, uses: var list, handler: handler} | TAILCALL_JUMP of {preFrameSize: int, jumpTo: addr, uses: var list} | RETURN of {preFrameSize: int, stubOptions: {forceFrameAlign: bool} option, uses: var list} | EXIT val format_last : last -> SMLFormat.FormatExpression.expression list type block = first * instruction list * last val format_block : block -> SMLFormat.FormatExpression.expression list type frameBitmap = {source: operand, bits: tid option list} val format_frameBitmap : frameBitmap -> SMLFormat.FormatExpression.expression list type graph = block LabelMap.map val format_graph : graph -> SMLFormat.FormatExpression.expression list val emptyGraph : graph type cluster = { clusterId: clusterId, frameBitmap: frameBitmap list, baseLabel: label option, body: graph, preFrameSize: int, postFrameSize: int, numHeaderWords: int, loc: loc } val format_cluster : cluster -> SMLFormat.FormatExpression.expression list datatype datum = CONST_DATA of const | LABELREF_DATA of labelReference | BINARY_DATA of Word8.word list | ASCII_DATA of string | SPACE_DATA of {size: int} val format_datum : datum -> SMLFormat.FormatExpression.expression list datatype dataSection = DATA_SECTION | RODATA_SECTION | LITERAL32_SECTION | LITERAL64_SECTION | CSTRING_SECTION val format_dataSection : dataSection -> SMLFormat.FormatExpression.expression list type data = { scope: symbolScope, symbol: symbol, aliases: symbol list, ptrTy: ptrTy, section: dataSection, prefix: datum list, align: int, data: datum list, prefixSize: int } val format_data : data -> SMLFormat.FormatExpression.expression list datatype topdecl = TOPLEVEL of {symbol: symbol, toplevelEntry: symbol, nextToplevel: symbol option, smlPushHandlerLabel: labelReference, smlPopHandlerLabel: labelReference} | CLUSTER of cluster | DATA of data | BSS of {scope: symbolScope, symbol: symbol, size: int} | X86GET_PC_THUNK_BX of symbol | EXTERN of {symbol: symbol, linkStub: bool, linkEntry: bool, ptrTy: ptrTy} val format_topdecl : topdecl -> SMLFormat.FormatExpression.expression list type program = topdecl list val format_program : program -> SMLFormat.FormatExpression.expression list end smlsharp-1.2.0/src/compiler/rtl/main/RTLASMGEN.sig0000644 000000000000000000000040312050661606021666 0ustar00rootroot0000000 0000000 signature RTLASMGEN = sig structure Target : sig type program end val generate : Target.program -> (string -> unit) -> unit val generateTerminator : RTLBackendContext.context -> ((string -> unit) -> unit) option end smlsharp-1.2.0/src/compiler/rtl/main/RTLBackendContext.smi0000644 000000000000000000000060412050661606023621 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../control/main/Control.ppg.smi" structure RTLBackendContext = struct datatype toplevelLabel = TOP_NONE | TOP_MAIN | TOP_SEQ of {from: string, next: string} type context = {toplevelLabel: toplevelLabel} val empty : context val extend : context * context -> context val suffixNumber : string -> (string * int) option end smlsharp-1.2.0/src/compiler/rtl/main/RTLBackendContext.sml0000644 000000000000000000000343412050661606023630 0ustar00rootroot0000000 0000000 (** * x86 RTL * @copyright (c) 2010, Tohoku University. * @author UENO Katsuhiro * @version $Id: $ *) structure RTLBackendContext : sig datatype toplevelLabel = TOP_NONE (* no toplevel label is specified *) | TOP_MAIN (* toplevel as the unique "main" function *) | TOP_SEQ of (* middle of sequence of toplevels *) {from: string, next: string} type context = {toplevelLabel: toplevelLabel} val empty : context val extend : context * context -> context val suffixNumber : string -> (string * int) option end = struct datatype toplevelLabel = TOP_NONE | TOP_MAIN | TOP_SEQ of {from: string, next: string} (* must be global symbols *) type context = {toplevelLabel: toplevelLabel} fun extend ({toplevelLabel=label1}:context, {toplevelLabel=label2}:context) = { toplevelLabel = case (label1, label2) of (TOP_NONE, _) => label2 | (_, TOP_NONE) => label1 | (TOP_SEQ (s1 as {next,...}), TOP_SEQ (s2 as {from,...})) => if next = from then TOP_SEQ {from = #from s1, next = #next s2} else raise Control.Bug "RTLSelectContext.extend: cannot extend" | _ => raise Control.Bug "RTLSelectContext.extend: TOP_MAIN" } : context val empty = {toplevelLabel = TOP_NONE} fun suffixNumber label = let val ss = Substring.full label val (prefix, suffix) = Substring.splitl (fn c => c <> #".") ss val suffix = Substring.triml 1 suffix in case Int.scan StringCvt.DEC Substring.getc suffix of NONE => NONE | SOME (n, s) => if Substring.isEmpty s then SOME (Substring.string prefix, n) else NONE end end smlsharp-1.2.0/src/compiler/rtl/main/RTLCOLORING.sig0000644 000000000000000000000040212050661606022127 0ustar00rootroot0000000 0000000 (** * x86 RTL * @copyright (c) 2009, Tohoku University. * @author UENO Katsuhiro * @version $Id: $ *) signature RTLCOLORING = sig structure Target : sig type reg end val regalloc : RTL.program -> RTL.program * Target.reg VarID.Map.map end smlsharp-1.2.0/src/compiler/rtl/main/RTLColoring.smi0000644 000000000000000000000266712050661606022514 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../util/main/TermFormat.smi" _require "RTL.ppg.smi" _require "RTLEdit.smi" _require "RTLUtils.smi" _require "RTLLiveness.smi" _require "Coloring.smi" _require "RTLSUBST.sig" _require "RTLEMIT.sig" _require "RTLCONSTRAINT.sig" _require "RTLCOLORING.sig" functor RTLColoring ( A : sig structure Constraint : sig structure Target : sig type reg end val registers : Target.reg vector val split : RTL.graph -> RTL.graph (* val constrain : RTL.graph -> Interference.graph -> Interference.graph *) val constrain : RTL.graph -> Coloring.graph -> unit end structure Subst : sig val substitute : (RTL.var -> RTL.dst option) -> RTL.graph -> RTL.graph end structure Emit : sig structure Target : sig type reg type program end type frameLayout val format_frameLayout : frameLayout TermFormat.formatter val emit : {regAlloc: Target.reg VarID.Map.map, layoutMap: frameLayout ClusterID.Map.map} -> RTL.program -> Target.program val formatOf : RTL.ty -> RTL.format val formatOfGeneric : {size: int, align: int} end sharing Constraint.Target = Emit.Target end ) = struct structure Target = struct type reg = A.Constraint.Target.reg end val regalloc : RTL.program -> RTL.program * Target.reg VarID.Map.map end smlsharp-1.2.0/src/compiler/rtl/main/RTLColoring.sml0000644 000000000000000000001710512050661606022510 0ustar00rootroot0000000 0000000 (** * x86 RTL * @copyright (c) 2009, Tohoku University. * @author UENO Katsuhiro * @version $Id: $ *) functor RTLColoring ( structure Constraint : RTLCONSTRAINT structure Subst : RTLSUBST structure Emit : RTLEMIT sharing Constraint.Target = Emit.Target ) : RTLCOLORING = struct structure R = RTL structure Target = Constraint.Target val maxIterations = 0w4 local fun disturb (coloring, vars1, vars2) = RTLUtils.Var.fold (fn (var1, ()) => RTLUtils.Var.fold (fn (var2, ()) => Coloring.disturb (coloring, var1, var2)) () vars2) () vars1 fun buildInterference coloring (node, {liveIn, liveOut}, ()) = let val {defs, uses} = RTLUtils.Var.defuse node val clobs = RTLUtils.Var.clobs node val liveIn_defs = RTLUtils.Var.setUnion (liveIn, defs) val liveOut_defs = RTLUtils.Var.setUnion (liveOut, defs) val allVars = RTLUtils.Var.setUnion (liveIn_defs, clobs) in (* let open TermFormat.FormatComb in begin_ puts text "!! " $(RTLEdit.format_node node) newline text "use =" $(RTLUtils.Var.format_set uses) newline text "def =" $(RTLUtils.Var.format_set defs) newline text "clob=" $(RTLUtils.Var.format_set clobs) newline text "liveIn =" $(RTLUtils.Var.format_set liveIn) newline text "liveOut=" $(RTLUtils.Var.format_set liveOut) end_ end; *) (* * <----- liveIn -----> * * insn | | | | | | vertical lines indicates * +---------*--*--*-+ * * * live ranges. * | : use : | | | | * | clob : : : | | | | * | * * : : : | | | | * | | | : | | | | * | * * : : : | | | | * | :def : : | | | | * +------*----*---:-+ * * * * : | | | | | * (DEAD) * <--- liveOut ----> * * Each var in use disturbs all vars in liveIn. * Each var in def disturbs all vars in (liveOut U def). * Each var in clob disturbs all vars in (liveIn U def U clob). *) disturb (coloring, uses, liveIn); disturb (coloring, defs, liveOut_defs); disturb (coloring, clobs, allVars) end in fun addInterference (coloring:Coloring.graph, graph) = let (* val _ = print "liveness:\n" *) val x = (RTLLiveness.liveness graph) (* val _ = print "liveness fold:\n" *) in RTLLiveness.foldBackward (buildInterference coloring) () x end (* (RTLLiveness.liveness graph) *) end (* local *) fun maxSlot (NONE:RTL.slot option, slot2:RTL.slot) = SOME slot2 | maxSlot (SOME {id=id1, format=fmt1}, {format=fmt2, ...}) = SOME ({id = id1, format = {size = Int.max (#size fmt1, #size fmt2), align = Int.max (#align fmt1, #align fmt2), tag = #tag fmt1}} : RTL.slot) fun makeSpillSlot spills = VarID.Map.map (fn vars => RTLUtils.Var.fold (fn ({id, ty}, max) => maxSlot (max, {id = id, format = Emit.formatOf ty})) NONE vars) spills fun applySpillSubst spillSubst graph = let (* val _ = let open TermFormat.FormatComb in begin_ puts text "***** spill *****" newline $(assocList (VarID.format_id, RTLUtils.Var.format_set) (VarID.Map.listItemsi spillSubst)) newline text "**************" end_ end *) val subst = makeSpillSlot spillSubst in Subst.substitute (fn {id, ty} => case VarID.Map.find (subst, id) of SOME (SOME slot) => SOME (R.MEM (ty, R.SLOT slot)) | SOME NONE => raise Control.Bug "applySpillSubst" | NONE => NONE) graph end fun applyRegSubst (regSubst, regVarMap) graph = Subst.substitute (fn {id, ty} => case VarID.Map.find (regSubst, id) of NONE => raise Control.Bug ("applyRegSubst " ^ VarID.toString id) | SOME regId => SOME (R.REG {id = Vector.sub (regVarMap, regId), ty = ty})) graph fun regallocLoop 0w0 regVarMap graph = raise Control.Bug "regallocLoop: too many loops" | regallocLoop count regVarMap origGraph = let val coloring = Coloring.newGraph () val _ = Vector.appi (fn (regId,_) => Coloring.addReg (coloring, regId)) regVarMap val graph = Constraint.split origGraph (* val _ = if count = maxIterations then print "===========================================================================\n" else () val _ = print ("Iteration " ^ Word.fmt StringCvt.DEC count ^ "\n") val n = VarID.Map.foldl (fn ((first, insns, last), n) => n + 2 + length insns) 0 graph val z = VarID.Map.foldl (fn ((first, insns, last), z) => let val {defs, uses} = RTLUtils.Var.defuseFirst first val clobs = RTLUtils.Var.clobsFirst first val z = RTLUtils.Var.setUnion (RTLUtils.Var.setUnion (RTLUtils.Var.setUnion (defs, uses), clobs), z) val z = foldl (fn (insn, z) => let val {defs, uses} = RTLUtils.Var.defuseInsn insn val clobs = RTLUtils.Var.clobsInsn insn val z = RTLUtils.Var.setUnion (RTLUtils.Var.setUnion (RTLUtils.Var.setUnion (defs, uses), clobs), z) in z end) z insns val {defs, uses} = RTLUtils.Var.defuseLast last val clobs = RTLUtils.Var.clobsLast last val z = RTLUtils.Var.setUnion (RTLUtils.Var.setUnion (RTLUtils.Var.setUnion (defs, uses), clobs), z) in z end) RTLUtils.Var.emptySet graph val _ = print (Int.toString n ^ " instructions, " ^ Int.toString (VarID.Set.numItems (RTLUtils.Var.toVarIDSet z)) ^ " variables\n") *) (* val _ = let open TermFormat.FormatComb in begin_ puts text "***** split *****" newline $(RTL.format_graph graph) newline text "**************" end_ end *) val _ = addInterference (coloring, graph) (* val _ = print "constrain:\n" *) val _ = Constraint.constrain graph coloring (* val _ = print "coloring:\n" *) val {regSubst, spillSubst} = Coloring.coloring coloring (* val _ = print "coloring done:\n" *) in if VarID.Map.isEmpty spillSubst then applyRegSubst (regSubst, regVarMap) graph else regallocLoop (count - 0w1) regVarMap (applySpillSubst spillSubst origGraph) end fun regalloc program = let val registers = Vector.map (fn reg => (VarID.generate (), reg)) Constraint.registers val regVarMap = Vector.map #1 registers val allocMap = Vector.foldl (fn ((varId, reg), z) => VarID.Map.insert (z, varId, reg)) VarID.Map.empty registers val program = RTLUtils.mapCluster (regallocLoop maxIterations regVarMap) program in (program, allocMap) end end smlsharp-1.2.0/src/compiler/rtl/main/RTLCONSTRAINT.sig0000644 000000000000000000000116312050661606022404 0ustar00rootroot0000000 0000000 (** * x86 RTL * @copyright (c) 2009, Tohoku University. * @author UENO Katsuhiro * @version $Id: $ *) signature RTLCONSTRAINT = sig structure Target : sig type reg end (* machine registers. This vector gives each register an unique ID number, * which is the index in the vector. *) val registers : Target.reg vector (* split live ranges in order to make live range of each variable which * has some register constraints as short as possible. *) val split : RTL.graph -> RTL.graph (* add register constraints to interference graph. *) val constrain : RTL.graph -> Coloring.graph -> unit end smlsharp-1.2.0/src/compiler/rtl/main/RTLDominate.smi0000644 000000000000000000000053512050661606022470 0ustar00rootroot0000000 0000000 _require "../../../basis/main/List.smi" _require "../../../basis/main/General.smi" _require "../../control/main/Control.ppg.smi" _require "RTL.ppg.smi" _require "RTLEdit.smi" _require "RTLUtils.smi" structure RTLDominate = struct val dominators : RTL.graph -> RTL.LabelSet.set RTL.LabelMap.map val loopHeaders : RTL.graph -> RTL.label list end smlsharp-1.2.0/src/compiler/rtl/main/RTLDominate.sml0000644 000000000000000000000500012050661606022463 0ustar00rootroot0000000 0000000 (** * x86 RTL * @copyright (c) 2009, Tohoku University. * @author UENO Katsuhiro * @version $Id: $ *) structure RTLDominate : sig val dominators : RTL.graph -> RTL.LabelSet.set RTL.LabelMap.map val loopHeaders : RTL.graph -> RTL.label list end = struct fun intersectSets nil = RTL.LabelSet.empty | intersectSets (set::sets) = foldl RTL.LabelSet.intersection set sets fun loop edges dom = let val finished = ref true val dom = RTL.LabelMap.foldli (fn (label, {preds, succs}, dom) => let val old = case RTL.LabelMap.find (dom, label) of NONE => raise Control.Bug "RTLDominate.loop" | SOME set => set val sets = map (fn l => case RTL.LabelMap.find (dom, l) of NONE => raise Control.Bug "RTLDominate.loop" | SOME set => set) preds val set = intersectSets sets val new = RTL.LabelSet.add (set, label) in if RTL.LabelSet.isSubset (old, new) then dom else (finished := false; RTL.LabelMap.insert (dom, label, new)) end) dom edges in if !finished then dom else loop edges dom end fun dominatorsEdges edges = let val allNodes = RTL.LabelSet.fromList (RTL.LabelMap.listKeys edges) val dom = RTL.LabelMap.mapi (fn (label, {preds=nil,...}) => RTL.LabelSet.singleton label | _ => allNodes) edges in loop edges dom end fun dominators graph = dominatorsEdges (RTLEdit.annotations (RTLUtils.edges graph)) fun loopHeaders graph = let val edges = RTLEdit.annotations (RTLUtils.edges graph) val doms = dominatorsEdges edges in RTL.LabelMap.foldri (fn (label, {preds,...}, heads) => if List.exists (fn l => case RTL.LabelMap.find (doms, l) of NONE => raise Control.Bug "loopHeaders" | SOME set => RTL.LabelSet.member (set, label)) preds then label :: heads else heads) nil edges end end smlsharp-1.2.0/src/compiler/rtl/main/RTLEdit.smi0000644 000000000000000000000551412050661606021617 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "RTL.ppg.smi" structure RTLEdit = struct type focus (= boxed) datatype node = FIRST of RTL.first | MIDDLE of RTL.instruction | LAST of RTL.last val format_focus : focus SMLFormat.BasicFormatters.formatter val format_node : node SMLFormat.BasicFormatters.formatter val jump : RTL.label -> RTL.last val singletonFirst : RTL.first -> focus val singleton : RTL.instruction -> focus val singletonLast : RTL.last -> focus val focusEnter : RTL.graph -> focus val focusExit : RTL.graph -> focus val focusFirst : RTL.graph * RTL.label -> focus val focusLast : RTL.graph * RTL.label -> focus val unfocus : focus -> RTL.graph val gotoLast : focus -> focus val atFirst : focus -> bool val atLast : focus -> bool val insertBefore : focus * RTL.instruction list -> focus val insertAfter : focus * RTL.instruction list -> focus val insertFirst : focus * RTL.first -> focus val insertLast : focus * RTL.last -> focus val makeLabelBefore : focus -> focus * RTL.label val makeLabelAfter : focus -> focus * RTL.label val insertLastBefore : focus * (RTL.label -> RTL.last) -> focus * RTL.label val insertLastAfter : focus * (RTL.label -> RTL.last) -> focus * RTL.label val spliceBefore : focus * RTL.graph -> focus val spliceAfter : focus * RTL.graph -> focus val mergeGraph : RTL.graph * RTL.graph -> RTL.graph val spliceGraph : RTL.graph * RTL.graph -> RTL.graph val extend : (node -> RTL.graph) -> RTL.graph -> RTL.graph type 'a annotatedGraph (= boxed) type 'a blockFocus (= boxed) val format_annotatedGraph : 'a SMLFormat.BasicFormatters.formatter -> 'a annotatedGraph SMLFormat.BasicFormatters.formatter val annotate : RTL.graph * 'a -> 'a annotatedGraph val graph : 'a annotatedGraph -> RTL.graph val annotations: 'a annotatedGraph -> 'a RTL.LabelMap.map val map : ('a -> 'b) -> 'a annotatedGraph -> 'b annotatedGraph val fold : ('a blockFocus * 'b -> 'b) -> 'b -> 'a annotatedGraph -> 'b val rewrite : ('a blockFocus -> RTL.graph) -> 'a annotatedGraph -> RTL.graph val focusBlock : 'a annotatedGraph * RTL.label -> 'a blockFocus val unfocusBlock : 'a blockFocus -> 'a annotatedGraph val annotation : 'a blockFocus -> 'a val blockLabel : 'a blockFocus -> RTL.label val block : 'a blockFocus -> RTL.block val setAnnotation : 'a blockFocus * 'a -> 'a blockFocus val foldForward : (node * 'b -> 'b) -> 'b -> 'a blockFocus -> 'b val foldBackward : (node * 'b -> 'b) -> 'b -> 'a blockFocus -> 'b val rewriteForward : (node * 'a -> RTL.graph * 'a) -> 'a blockFocus -> RTL.graph val rewriteBackward : (node * 'a -> RTL.graph * 'a) -> 'a blockFocus -> RTL.graph end smlsharp-1.2.0/src/compiler/rtl/main/RTLEdit.sml0000644 000000000000000000004314112050661606021620 0ustar00rootroot0000000 0000000 (** * x86 RTL * @copyright (c) 2009, Tohoku University. * @author UENO Katsuhiro * @version $Id: $ *) structure RTLEdit : sig type focus datatype node = FIRST of RTL.first | MIDDLE of RTL.instruction | LAST of RTL.last val format_focus : focus SMLFormat.BasicFormatters.formatter val format_node : node SMLFormat.BasicFormatters.formatter val jump : RTL.label -> RTL.last (* create a graph *) val singletonFirst : RTL.first -> focus val singleton : RTL.instruction -> focus val singletonLast : RTL.last -> focus (* edit a graph *) val focusEnter : RTL.graph -> focus val focusExit : RTL.graph -> focus val focusFirst : RTL.graph * RTL.label -> focus val focusLast : RTL.graph * RTL.label -> focus val unfocus : focus -> RTL.graph val gotoLast : focus -> focus val atFirst : focus -> bool val atLast : focus -> bool val insertBefore : focus * RTL.instruction list -> focus val insertAfter : focus * RTL.instruction list -> focus val insertFirst : focus * RTL.first -> focus val insertLast : focus * RTL.last -> focus val makeLabelBefore : focus -> focus * RTL.label val makeLabelAfter : focus -> focus * RTL.label val insertLastBefore : focus * (RTL.label -> RTL.last) -> focus * RTL.label val insertLastAfter : focus * (RTL.label -> RTL.last) -> focus * RTL.label (* compose graphs *) val spliceBefore : focus * RTL.graph -> focus val spliceAfter : focus * RTL.graph -> focus val mergeGraph : RTL.graph * RTL.graph -> RTL.graph val spliceGraph : RTL.graph * RTL.graph -> RTL.graph val extend : (node -> RTL.graph) -> RTL.graph -> RTL.graph (* annotated graph for flow analysis *) type 'a annotatedGraph type 'a blockFocus val format_annotatedGraph : 'a SMLFormat.BasicFormatters.formatter -> 'a annotatedGraph SMLFormat.BasicFormatters.formatter val annotate : RTL.graph * 'a -> 'a annotatedGraph val graph : 'a annotatedGraph -> RTL.graph val annotations: 'a annotatedGraph -> 'a RTL.LabelMap.map val map : ('a -> 'b) -> 'a annotatedGraph -> 'b annotatedGraph val fold : ('a blockFocus * 'b -> 'b) -> 'b -> 'a annotatedGraph -> 'b val rewrite : ('a blockFocus -> RTL.graph) -> 'a annotatedGraph -> RTL.graph val focusBlock : 'a annotatedGraph * RTL.label -> 'a blockFocus val unfocusBlock : 'a blockFocus -> 'a annotatedGraph val annotation : 'a blockFocus -> 'a val blockLabel : 'a blockFocus -> RTL.label val block : 'a blockFocus -> RTL.block val setAnnotation : 'a blockFocus * 'a -> 'a blockFocus val foldForward : (node * 'b -> 'b) -> 'b -> 'a blockFocus -> 'b val foldBackward : (node * 'b -> 'b) -> 'b -> 'a blockFocus -> 'b val rewriteForward : (node * 'a -> RTL.graph * 'a) -> 'a blockFocus -> RTL.graph val rewriteBackward : (node * 'a -> RTL.graph * 'a) -> 'a blockFocus -> RTL.graph end = struct structure I = RTL type focus = { first: I.first, pre: I.instruction list, post: I.instruction list, last: I.last, context: {label: I.label, graph: I.graph} } datatype node = FIRST of RTL.first | MIDDLE of RTL.instruction | LAST of RTL.last local open SMLFormat.FormatExpression open SMLFormat.BasicFormatters in fun format_focus {first,pre,post,last,context={label,graph}} = I.format_label label @ format_string ":" @ [Newline] @ I.format_first first @ [Newline] @ format_list (fn x => I.format_instruction x @ [Newline], nil) (rev pre) @ format_string "<>" @ [Newline] @ format_list (fn x => I.format_instruction x @ [Newline], nil) post @ I.format_last last @ [Newline] @ I.format_graph graph end fun format_node (FIRST first) = I.format_first first | format_node (MIDDLE insn) = I.format_instruction insn | format_node (LAST last) = I.format_last last fun Bug prefix label = Control.Bug (prefix ^ ": " ^ Control.prettyPrint (I.format_label label)) fun newLabel () = VarID.generate () fun firstLabel (I.BEGIN {label, ...}) = label | firstLabel (I.CODEENTRY {label, ...}) = label | firstLabel (I.HANDLERENTRY {label, ...}) = label | firstLabel I.ENTER = newLabel () fun singletonFirst first = {first=first, pre=nil, post=nil, last=I.EXIT, context={label=firstLabel first, graph=I.emptyGraph}} : focus fun singleton insn = {first=I.ENTER, pre=[insn], post=nil, last=I.EXIT, context={label=newLabel (), graph=I.emptyGraph}} : focus fun singletonLast last = {first=I.ENTER, pre=nil, post=nil, last=last, context={label=newLabel (), graph=I.emptyGraph}} : focus fun focusFirst (graph, label) = case I.LabelMap.find (graph, label) of NONE => raise Bug "focusFirst: not found" label | SOME (block as (first,mid,last)) => {first=first, pre=nil, post=mid, last=last, context={label=label, graph=graph}} : focus fun gotoLast ({first, pre, post, last, context}:focus) = {first=first, pre=foldl (op ::) pre post, post=nil, last=last, context=context} : focus fun focusLast (focus, label) = gotoLast (focusFirst (focus, label)) fun unzip (first, pre, post, last) = (first, foldl (op ::) post pre, last) : I.block fun unfocus ({first,pre,post,last,context={label,graph}}:focus) = I.LabelMap.insert (graph, label, unzip (first,pre,post,last)) fun decomposeFocus ({first,pre,post,last,context={label,graph}}:focus) = ({label=label, first=first, pre=pre}, {post=post, last=last}, (#1 (I.LabelMap.remove (graph, label)) handle NotFound => graph)) fun atFirst ({pre=nil,...}:focus) = true | atFirst _ = false fun atLast ({post=nil,...}:focus) = true | atLast _ = false fun moveNext ({first, pre, post=h::t, last, context}:focus) = {first=first, pre=h::pre, post=t, last=last, context=context} : focus | moveNext focus = focus fun movePrev ({first, pre=h::t, post, last, context}:focus) = {first=first, pre=t, post=h::post, last=last, context=context} : focus | movePrev focus = focus fun prevNode ({first, pre=h::t, ...}:focus) = MIDDLE h | prevNode ({first, pre=nil, ...}) = FIRST first fun nextNode ({post=h::t, last, ...}:focus) = MIDDLE h | nextNode ({post=nil, last, ...}) = LAST last fun insertBefore ({first, pre, post, last, context}:focus, insns) = {first=first, pre=foldl (op ::) pre insns, post=post, last=last, context=context} : focus fun insertAfter ({first, pre, post, last, context}:focus, insns) = {first=first, pre=pre, post=insns @ post, last=last, context=context} : focus fun insertLast ({first, pre, post, last=_, context}:focus, last) = {first=first, pre=pre, post=nil, last=last, context=context} : focus fun insertFirst (focus, first) = let val label = firstLabel first val (_, {post, last}, graph) = decomposeFocus focus in case I.LabelMap.find (graph, label) of SOME _ => raise Bug "insertFirst: already exist" label | NONE => {first=first, pre=nil, post=post, last=last, context={label=label, graph=graph}} : focus end fun checkENTER_EXIT graph = I.LabelMap.foldli (fn (label, (first,_,last), (f,l)) => let fun check s (l1, NONE) = SOME l1 | check s (l1, SOME l2) = raise Control.Bug ("doubled " ^ s ^ ": " ^ Control.prettyPrint (I.format_label l1) ^ " and " ^ Control.prettyPrint (I.format_label l2)) in (case first of I.ENTER => check "ENTER" (label, f) | _ => f, case last of I.EXIT => check "EXIT" (label, l) | _ => l) end) (NONE, NONE) graph fun mergeGraph (graph1:RTL.graph, graph2:RTL.graph) : RTL.graph = let val graph = I.LabelMap.unionWithi (fn (l,_,_) => raise Bug "mergeGraph: doubled" l) (graph1, graph2) in checkENTER_EXIT graph; graph end local exception Found of I.label * I.block fun find f (graph:I.graph) = (I.LabelMap.appi (fn x => if f x then raise Found x else ()) graph; NONE) handle Found x => SOME x in fun focusEnter graph = case find (fn (l,(I.ENTER,_,_)) => true | _ => false) graph of NONE => raise Control.Bug "focusEnter: no ENTER" | SOME (label, (first, mid, last)) => {first=first, pre=nil, post=mid, last=last, context={label=label,graph=graph}} : focus fun focusExit graph = case find (fn (l,(_,_,I.EXIT)) => true | _ => false) graph of NONE => raise Control.Bug "focusExit: no EXIT" | SOME (label, (first, mid, last)) => {first=first, pre=rev mid, post=nil, last=last, context={label=label,graph=graph}} : focus end (* local *) fun spliceHead ({label, first, pre}, graph) = case I.LabelMap.find (graph, label) of SOME _ => raise Bug "spliceHead: label already exist" label | NONE => let val (_, {post, last}, graph) = decomposeFocus (focusEnter graph) in {first=first, pre=pre, post=post, last=last, context={label=label, graph=graph}} : focus end fun spliceTail (graph, {post, last}) = let val ({label, first, pre}, _, graph) = decomposeFocus (focusExit graph) in {first=first, pre=pre, post=post, last=last, context={label=label, graph=graph}} : focus end local fun mergeFocus ({first,pre,post,last,context={label,graph}}:focus, graph2) = {first=first, pre=pre, post=post, last=last, context={label=label, graph=mergeGraph (graph, graph2)}}:focus in fun spliceBefore (focus, graph2) = let val (head, tail, graph) = decomposeFocus focus val graph2 = unfocus (spliceHead (head, graph2)) val focus = spliceTail (graph2, tail) in mergeFocus (focus, graph) end fun spliceAfter (focus, graph2) = let val (head, tail, graph) = decomposeFocus focus val graph2 = unfocus (spliceTail (graph2, tail)) val focus = spliceHead (head, graph2) in mergeFocus (focus, graph) end end (* local *) fun spliceGraph (graph1, graph2) = let val (head, _, graph1) = decomposeFocus (focusExit graph1) val graph2 = unfocus (spliceHead (head, graph2)) in mergeGraph (graph1, graph2) end fun insertLastBefore ({first,pre,post,last,context={label,graph}}:focus, lastFn) = let val newLabel = newLabel() val newLast = lastFn newLabel val newFirst = I.BEGIN {label=newLabel, align=1, loc=Loc.noloc} val preBlock = unzip (first, pre, nil, newLast) val graph = I.LabelMap.insert (graph, label, preBlock) val focus = {first=newFirst, pre=nil, post=post, last=last, context={label=newLabel, graph=graph}} : focus in (focus, newLabel) end (* fun insertLastAfter (focus as {post = nil, last = I.JUMP {destinations = [label], ...}, ...} : focus, lastFn) = (insertLast (focus, lastFn label), label) *) fun insertLastAfter ({first,pre,post,last,context={label,graph}}, lastFn) = let val newLabel = newLabel () val newLast = lastFn newLabel val newFirst = I.BEGIN {label=newLabel, align=1, loc=Loc.noloc} val postBlock = unzip (newFirst, nil, post, last) val graph = I.LabelMap.insert (graph, newLabel, postBlock) val focus = {first=first, pre=pre, post=nil, last=newLast, context={label=label, graph=graph}} : focus in (focus, newLabel) end fun jump label = I.JUMP {jumpTo = I.ABSADDR (I.LABEL label), destinations = [label]} fun makeLabelAfter focus = insertLastAfter (focus, jump) fun makeLabelBefore (focus as {first, pre=nil, context, ...}:focus) = (focus, #label context) | makeLabelBefore focus = insertLastBefore (focus, jump) fun foldBlockForward f z (first, mid, last) = let val z = f (FIRST first, z) val z = foldl (fn (i,z) => f (MIDDLE i, z)) z mid val z = f (LAST last, z) in z end fun foldBlockBackward f z (first, mid, last) = let val z = f (LAST last, z) val z = foldr (fn (i,z) => f (MIDDLE i, z)) z mid val z = f (FIRST first, z) in z end fun rewriteBlockForward f z (first, mid, last) = let val (graph, z) = f (FIRST first, z) val (graph, z) = foldl (fn (i,(graph,z)) => let val (g, z) = f (MIDDLE i, z) in (spliceGraph (graph, g), z) end) (graph, z) mid val (g, z) = f (LAST last, z) in (spliceGraph (graph, g), z) end fun rewriteBlockBackward f z (first, mid, last) = let val (graph, z) = f (LAST last, z) val (graph, z) = foldr (fn (i,(graph,z)) => let val (g, z) = f (MIDDLE i, z) in (spliceGraph (g, graph), z) end) (graph, z) mid val (g, z) = f (FIRST first, z) in (spliceGraph (g, graph), z) end fun extend f graph = I.LabelMap.foldli (fn (label, block, graph) => let val (g, _) = rewriteBlockForward (fn (n,z) => (f n, z)) () block in mergeGraph (graph, g) end) I.emptyGraph graph type 'a annotatedGraph = {ann:'a I.LabelMap.map, graph:I.graph} type 'a blockFocus = {label: I.label, block: I.block, graph: 'a annotatedGraph} local open SMLFormat.BasicFormatters open SMLFormat.FormatExpression in fun format_annotatedGraph fmt {ann, graph} = format_string "annotation: " @ [StartOfIndent 2] @ format_list (fn (x,y) => [Newline] @ I.format_label x @ format_string ": " @ [Guard (NONE, fmt y)], nil) (I.LabelMap.listItemsi ann) @ [EndOfIndent, Newline] @ format_string "graph: " @ [StartOfIndent 2, Newline] @ I.format_graph graph @ [EndOfIndent] end fun 'a annotate (graph :RTL.graph, ann : 'a) = {ann = I.LabelMap.map (fn _ => ann) graph, graph = graph} fun 'a graph ({ann, graph}:'a annotatedGraph) = graph fun 'a annotations ({ann, graph}: 'a annotatedGraph) = ann fun ('a, 'b) map (f:'a -> 'b) ({ann, graph}:'a annotatedGraph) = {ann = I.LabelMap.map f ann, graph = graph} fun ('a, 'b) fold (f: 'a blockFocus * 'b -> 'b) (z:'b) (g as {ann, graph}) = I.LabelMap.foldli (fn (label, block, z) => f ({label=label, block=block, graph=g}, z)) z graph fun 'a rewrite f (graph:'a annotatedGraph) = fold (fn (focus, graph) => mergeGraph (graph, f focus)) RTL.emptyGraph graph fun 'a focusBlock (g as {ann, graph} : 'a annotatedGraph, label) = case I.LabelMap.find (graph, label) of SOME block => {label=label, block=block, graph=g} | NONE => raise Bug "focusBlock: not found" label fun 'a unfocusBlock ({label, block, graph}:'a blockFocus) = graph fun 'a annotation ({label, block, graph={ann,graph}}: 'a blockFocus) = case I.LabelMap.find (ann, label) of SOME x => x | NONE => raise Bug "annotation: not found" label fun 'a blockLabel ({label, block, graph}: 'a blockFocus) = label fun 'a block ({label, block, graph}:'a blockFocus) = block fun 'a setAnnotation ({label, block, graph={ann,graph}}:'a blockFocus, x:'a) = {label=label, block=block, graph={ann=I.LabelMap.insert (ann, label, x), graph=graph}} fun ('a,'b) foldForward f (z:'a) ({label, block=(first, mid, last), graph}:'b blockFocus) = let val z = f (FIRST first, z) val z = foldl (fn (i,z) => f (MIDDLE i, z)) z mid val z = f (LAST last, z) in z end fun ('a,'b) foldBackward f (z:'a) ({label, block=(first, mid, last), graph}:'b blockFocus) = let val z = f (LAST last, z) val z = foldr (fn (i,z) => f (MIDDLE i, z)) z mid val z = f (FIRST first, z) in z end fun 'a rewriteForward (f:node * 'a -> RTL.graph * 'a) (focus as {label, block=(first, mid, last), graph}) = let val z = annotation focus val (graph, z) = f (FIRST first, z) val (graph, z) = foldl (fn (i,(graph,z)) => let val (g, z) = f (MIDDLE i, z) in (spliceGraph (graph, g), z) end) (graph, z) mid val (g, z) = f (LAST last, z) in spliceGraph (graph, g) end fun 'a rewriteBackward (f:node * 'a -> RTL.graph * 'a) (focus as {label, block=(first, mid, last), graph}) = let val z = annotation focus val (graph, z) = f (LAST last, z) val (graph, z) = foldr (fn (i,(graph,z)) => let val (g, z) = f (MIDDLE i, z) in (spliceGraph (g, graph), z) end) (graph, z) mid val (g, z) = f (FIRST first, z) in spliceGraph (g, graph) end end smlsharp-1.2.0/src/compiler/rtl/main/RTLEMIT.sig0000644 000000000000000000000103212050661606021451 0ustar00rootroot0000000 0000000 (** * x86 RTL * @copyright (c) 2009, 2010, Tohoku University. * @author UENO Katsuhiro * @version $Id: $ *) signature RTLEMIT = sig structure Target : sig type reg type program end type frameLayout val format_frameLayout : frameLayout TermFormat.formatter val emit : {regAlloc: Target.reg VarID.Map.map, layoutMap: frameLayout ClusterID.Map.map} -> RTL.program -> Target.program val formatOf : RTL.ty -> RTL.format val formatOfGeneric : {size: int, align: int} end smlsharp-1.2.0/src/compiler/rtl/main/RTLFRAME.sig0000644 000000000000000000000044012050661606021547 0ustar00rootroot0000000 0000000 (** * x86 RTL * @copyright (c) 2009, Tohoku University. * @author UENO Katsuhiro * @version $Id: $ *) signature RTLFRAME = sig structure Emit : sig type frameLayout end val allocate : RTL.program -> RTL.program * Emit.frameLayout ClusterID.Map.map end smlsharp-1.2.0/src/compiler/rtl/main/RTLLiveness.smi0000644 000000000000000000000123412050661606022515 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "RTL.ppg.smi" _require "RTLEdit.smi" _require "RTLUtils.smi" structure RTLLiveness = struct type liveness = {liveIn: RTLUtils.Var.set, liveOut: RTLUtils.Var.set} type livenessSlot = {liveIn: RTLUtils.Slot.set, liveOut: RTLUtils.Slot.set} val liveness : RTL.graph -> liveness RTLEdit.annotatedGraph val foldBackward : (RTLEdit.node * liveness * 'a -> 'a) -> 'a -> liveness RTLEdit.annotatedGraph -> 'a val livenessSlot : RTL.graph -> livenessSlot RTLEdit.annotatedGraph val foldBackwardSlot : (RTLEdit.node * livenessSlot * 'a -> 'a) -> 'a -> livenessSlot RTLEdit.annotatedGraph -> 'a end smlsharp-1.2.0/src/compiler/rtl/main/RTLLiveness.sml0000644 000000000000000000000754612050661606022534 0ustar00rootroot0000000 0000000 (** * x86 RTL * @copyright (c) 2009, Tohoku University. * @author UENO Katsuhiro * @version $Id: $ *) structure RTLLiveness : sig type liveness = {liveIn: RTLUtils.Var.set, liveOut: RTLUtils.Var.set} type livenessSlot = {liveIn: RTLUtils.Slot.set, liveOut: RTLUtils.Slot.set} val liveness : RTL.graph -> liveness RTLEdit.annotatedGraph val foldBackward : (RTLEdit.node * liveness * 'a -> 'a) -> 'a -> liveness RTLEdit.annotatedGraph -> 'a val livenessSlot : RTL.graph -> livenessSlot RTLEdit.annotatedGraph val foldBackwardSlot : (RTLEdit.node * livenessSlot * 'a -> 'a) -> 'a -> livenessSlot RTLEdit.annotatedGraph -> 'a end = struct structure I = RTL type liveness = {liveIn: RTLUtils.Var.set, liveOut: RTLUtils.Var.set} type livenessSlot = {liveIn: RTLUtils.Slot.set, liveOut: RTLUtils.Slot.set} val union = RTLUtils.Var.setUnion val minus = RTLUtils.Var.setMinus fun pass (node, liveSet) = let val {defs, uses} = RTLUtils.Var.defuse node in RTLUtils.Var.setUnion (RTLUtils.Var.setMinus (liveSet, defs), uses) end fun foldBackward f z graph = RTLEdit.fold (fn (focus, z) => let val {liveOut,...}:liveness = RTLEdit.annotation focus val (_, z) = RTLEdit.foldBackward (fn (node, (liveOut, z)) => let val liveIn = pass (node, liveOut) val z = f (node, {liveIn=liveIn, liveOut=liveOut}, z) in (liveIn, z) end) (liveOut, z) focus in z end) z graph fun liveness graph = let val graph = RTLUtils.analyzeFlowBackward {init = RTLUtils.Var.emptySet, join = RTLUtils.Var.setUnion, pass = pass, filterIn = fn (_,x) => x, filterOut = fn (_,x) => x, changed = fn {old,new} => not (RTLUtils.Var.setIsSubset (new,old))} graph in RTLEdit.map (fn {answerIn,answerOut,...} => {liveIn=answerIn, liveOut=answerOut}) graph end fun passSlot (node, liveSet) = let val {defs, uses} = RTLUtils.Slot.defuse node in RTLUtils.Slot.setUnion (RTLUtils.Slot.setMinus (liveSet, defs), uses) end fun livenessSlot graph = let val graph = RTLUtils.analyzeFlowBackward {init = RTLUtils.Slot.emptySet, join = RTLUtils.Slot.setUnion, pass = passSlot, filterIn = fn (_,x) => x, filterOut = fn (_,x) => x, changed = fn {old,new} => not (RTLUtils.Slot.setIsSubset (new,old))} graph in RTLEdit.map (fn {answerIn,answerOut,...} => {liveIn=answerIn, liveOut=answerOut}) graph end fun foldBackwardSlot f z graph = RTLEdit.fold (fn (focus, z) => let val {liveOut,...}:livenessSlot = RTLEdit.annotation focus val (_, z) = RTLEdit.foldBackward (fn (node, (liveOut, z)) => let val liveIn = passSlot (node, liveOut) val z = f (node, {liveIn=liveIn, liveOut=liveOut}, z) in (liveIn, z) end) (liveOut, z) focus in z end) z graph end smlsharp-1.2.0/src/compiler/rtl/main/RTLRename.smi0000644 000000000000000000000044012050661606022132 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "RTL.ppg.smi" _require "RTLEdit.smi" _require "RTLUtils.smi" _require "RTLLiveness.smi" structure RTLRename = struct val rename : RTL.program -> RTL.program end smlsharp-1.2.0/src/compiler/rtl/main/RTLRename.sml0000644 000000000000000000003711112050661606022142 0ustar00rootroot0000000 0000000 (** * replace every variable ID with unique ID of def-use connected component. * @copyright (c) 2010, Tohoku University. * @author UENO Katsuhiro *) structure RTLRename : sig val rename : RTL.program -> RTL.program end = struct structure R = RTL datatype liveRange = RANGE of VarID.id option | SAME of liveRangeVar withtype liveRangeVar = liveRange ref type env = liveRangeVar VarID.Map.map fun newLiveRangeVar () = ref (RANGE NONE) : liveRangeVar fun selectSOME (NONE, y) = y | selectSOME (x, y) = x fun unify (r1 as ref (RANGE s1), r2 as ref (RANGE s2) : liveRangeVar) = if r1 = r2 then r1 else (r1 := RANGE (selectSOME (s1, s2)); r2 := SAME r1; r1) | unify (r1, r2 as ref (SAME v)) = let val r = unify (r1, v) in r2 := SAME r; r end | unify (r1 as ref (SAME v), r2) = let val r = unify (v, r2) in r1 := SAME r; r end fun assign (ref (SAME r) : liveRangeVar) = assign r | assign (ref (RANGE (SOME id))) = id | assign (r as ref (RANGE NONE)) = let val id = VarID.generate () in r := RANGE (SOME id); id end fun unifyEnv (env1:env, env2:env) = VarID.Map.unionWith unify (env1, env2) : env fun newEnv vars = RTLUtils.Var.fold (fn ({id,...}, env) => VarID.Map.insert (env, id, newLiveRangeVar ())) VarID.Map.empty vars fun isSubset (env1, env2:env) = VarID.Map.foldli (fn (id, r1, z) => z andalso VarID.Map.inDomain (env2, id)) true env1 fun minus (env:env, vars) = RTLUtils.Var.fold (fn ({id,...}, env) => #1 (VarID.Map.remove (env, id)) handle _ => env) env vars local val init = [VarID.Map.empty] : env list fun join (env1::_, env2::_) = [unifyEnv (env1, env2)] | join _ = raise Control.Bug "join" fun pass (node, nil) = raise Control.Bug "pass" | pass (node, envs as outEnv::_) = let val {defs, uses} = RTLUtils.Var.defuse node val useEnv = newEnv uses val inEnv = unifyEnv (minus (outEnv, defs), useEnv) in inEnv::envs end fun filterOut (_:RTL.label, env::_) = [env] : env list | filterOut _ = raise Control.Bug "filterOut" fun changed {old=oldEnv::_, new=newEnv::_} = (unifyEnv (newEnv, oldEnv); not (isSubset (newEnv, oldEnv))) | changed _ = raise Control.Bug "changed" in fun analyze graph = let val result = RTLUtils.analyzeFlowBackward {init = init, join = join, pass = pass, filterIn = fn (_,x) => x, filterOut = filterOut, changed = changed} graph val liveness = RTLLiveness.liveness graph val _ = RTLEdit.fold (fn (focus, ()) => let val label = RTLEdit.blockLabel focus val {liveIn, liveOut, ...} = RTLEdit.annotation focus val {answerIn, answerOut, ...} = RTLEdit.annotation (RTLEdit.focusBlock (result, label)) fun domain map = VarID.Map.foldli (fn (i,_,z) => VarID.Set.add (z,i)) VarID.Set.empty map fun equal (set1, set2) = VarID.Set.isSubset (set1, set2) andalso VarID.Set.isSubset (set2, set1) val liveIn = RTLUtils.Var.toVarIDSet liveIn val liveOut = RTLUtils.Var.toVarIDSet liveOut val answerIn = domain (hd answerIn) val answerOut = domain (hd answerOut) in if equal (liveIn, answerIn) andalso equal (liveOut, answerOut) then () else raise Control.Bug "analyze" end) () liveness in RTLEdit.map #answerIn result end end (* local *) fun substClob ({id,ty}:R.var) = {id = VarID.generate (), ty = ty} : R.var fun substVar subst ({id, ty}:R.var) = case VarID.Map.find (subst, id) of SOME v => {id = assign v, ty = ty} : R.var | NONE => {id = VarID.generate (), ty = ty} (* dead code *) fun substAddr subst addr = case addr of R.ADDRCAST (ty, addr) => R.ADDRCAST (ty, substAddr subst addr) | R.ABSADDR (label:R.labelReference) => addr | R.DISP (const, addr) => R.DISP (const:R.const, substAddr subst addr) | R.BASE var => R.BASE (substVar subst var) | R.ABSINDEX {base, scale, index} => R.ABSINDEX {base = base:R.labelReference, scale = scale:int, index = substVar subst index} | R.BASEINDEX {base, scale, index} => R.BASEINDEX {base = substVar subst base, scale = scale:int, index = substVar subst index} | R.POSTFRAME {offset:int, size:int} => addr | R.PREFRAME {offset:int, size:int} => addr | R.WORKFRAME (slot:R.slot) => addr | R.FRAMEINFO (offset:int) => addr fun substMem subst (R.ADDR addr) = R.ADDR (substAddr subst addr) | substMem subst (slot as R.SLOT (_:R.slot)) = slot fun substDst {sDef, sUse} (R.REG var) = R.REG (substVar sDef var) | substDst subst (R.COUPLE (ty, {hi,lo})) = R.COUPLE (ty, {hi = substDst subst hi, lo = substDst subst lo}) | substDst {sDef, sUse} (R.MEM (ty, mem)) = R.MEM (ty, substMem sUse mem) fun substOp subst (const as R.CONST (_:R.const)) = const | substOp subst (R.REF (cast, dst)) = R.REF (cast, substDst {sDef=subst, sUse=subst} dst) fun substInsn (subst as {sDef, sUse}) insn = case insn of R.NOP => insn | R.STABILIZE => insn | R.REQUEST_SLOT (slot:R.slot) => insn | R.REQUIRE_SLOT (slot:R.slot) => insn | R.USE ops => R.USE (map (substOp sUse) ops) | R.COMPUTE_FRAME {uses, clobs} => R.COMPUTE_FRAME {uses = VarID.Map.map (substVar sUse) uses, clobs = map substClob clobs} | R.MOVE (ty, dst, op1) => R.MOVE (ty, substDst subst dst, substOp sUse op1) | R.MOVEADDR (ty, dst, addr) => R.MOVEADDR (ty, substDst subst dst, substAddr sUse addr) | R.COPY {ty, dst, src, clobs} => R.COPY {ty = ty, dst = substDst subst dst, src = substOp sUse src, clobs = map substClob clobs} | R.MLOAD {ty, dst, srcAddr, size, defs, clobs} => R.MLOAD {ty = ty, dst = dst:R.slot, srcAddr = substAddr sUse srcAddr, size = substOp sUse size, defs = map (substVar sDef) defs, clobs = map substClob clobs} | R.MSTORE {ty, dstAddr, src, size, defs, clobs, global} => R.MSTORE {ty = ty, dstAddr = substAddr sUse dstAddr, src = src:R.slot, size = substOp sUse size, defs = map (substVar sDef) defs, clobs = map substClob clobs, global = global:bool} | R.EXT8TO32 (s, dst, op1) => R.EXT8TO32 (s, substDst subst dst, substOp sUse op1) | R.EXT16TO32 (s, dst, op1) => R.EXT16TO32 (s, substDst subst dst, substOp sUse op1) | R.EXT32TO64 (s, dst, op1) => R.EXT32TO64 (s, substDst subst dst, substOp sUse op1) | R.DOWN32TO8 (s, dst, op1) => R.DOWN32TO8 (s, substDst subst dst, substOp sUse op1) | R.DOWN32TO16 (s, dst, op1) => R.DOWN32TO16 (s, substDst subst dst, substOp sUse op1) | R.ADD (ty, dst, op1, op2) => R.ADD (ty, substDst subst dst, substOp sUse op1, substOp sUse op2) | R.SUB (ty, dst, op1, op2) => R.SUB (ty, substDst subst dst, substOp sUse op1, substOp sUse op2) | R.MUL ((ty0,dst), (ty1,op1), (ty2,op2)) => R.MUL ((ty0, substDst subst dst), (ty1, substOp sUse op1), (ty2, substOp sUse op2)) | R.DIVMOD ({div=(tydiv,ddiv), mod=(tymod,dmod)}, (ty1,op1), (ty2,op2)) => R.DIVMOD ({div=(tydiv, substDst subst ddiv), mod=(tymod, substDst subst dmod)}, (ty1, substOp sUse op1), (ty2, substOp sUse op2)) | R.AND (ty, dst, op1, op2) => R.AND (ty, substDst subst dst, substOp sUse op1, substOp sUse op2) | R.OR (ty, dst, op1, op2) => R.OR (ty, substDst subst dst, substOp sUse op1, substOp sUse op2) | R.XOR (ty, dst, op1, op2) => R.XOR (ty, substDst subst dst, substOp sUse op1, substOp sUse op2) | R.LSHIFT (ty, dst, op1, op2) => R.LSHIFT (ty, substDst subst dst, substOp sUse op1, substOp sUse op2) | R.RSHIFT (ty, dst, op1, op2) => R.RSHIFT (ty, substDst subst dst, substOp sUse op1, substOp sUse op2) | R.ARSHIFT (ty, dst, op1, op2) => R.ARSHIFT (ty, substDst subst dst, substOp sUse op1, substOp sUse op2) | R.TEST_SUB (ty, op1, op2) => R.TEST_SUB (ty, substOp sUse op1, substOp sUse op2) | R.TEST_AND (ty, op1, op2) => R.TEST_AND (ty, substOp sUse op1, substOp sUse op2) | R.TEST_LABEL (ty, op1, l) => R.TEST_LABEL (ty, substOp sUse op1, l:R.labelReference) | R.NOT (ty, dst, op1) => R.NOT (ty, substDst subst dst, substOp sUse op1) | R.NEG (ty, dst, op1) => R.NEG (ty, substDst subst dst, substOp sUse op1) | R.SET (cc, ty, dst, {test}) => R.SET (cc, ty, substDst subst dst, {test = substInsn subst test}) | R.LOAD_FP dst => R.LOAD_FP (substDst subst dst) | R.LOAD_SP dst => R.LOAD_SP (substDst subst dst) | R.LOAD_PREV_FP dst => R.LOAD_PREV_FP (substDst subst dst) | R.LOAD_RETADDR dst => R.LOAD_RETADDR (substDst subst dst) | R.LOADABSADDR {ty, dst, symbol, thunk} => R.LOADABSADDR {ty = ty, dst = substDst subst dst, symbol = symbol:R.labelReference, thunk = thunk:R.symbol option} | R.X86 (R.X86LEAINT (ty, dst, {base, shift, offset, disp})) => R.X86 (R.X86LEAINT (ty, substDst subst dst, {base = substVar sUse base, shift = shift:int, offset = substVar sUse offset, disp = disp:R.const})) | R.X86 (R.X86FLD (ty, mem)) => R.X86 (R.X86FLD (ty, substMem sUse mem)) | R.X86 (R.X86FLD_ST (st:R.x86st)) => insn | R.X86 (R.X86FST (ty, mem)) => R.X86 (R.X86FST (ty, substMem sUse mem)) | R.X86 (R.X86FSTP (ty, mem)) => R.X86 (R.X86FSTP (ty, substMem sUse mem)) | R.X86 (R.X86FSTP_ST (st:R.x86st)) => insn | R.X86 (R.X86FADD (ty, mem)) => R.X86 (R.X86FADD (ty, substMem sUse mem)) | R.X86 (R.X86FADD_ST (st1:R.x86st, st2:R.x86st)) => insn | R.X86 (R.X86FADDP (st1:R.x86st)) => insn | R.X86 (R.X86FSUB (ty, mem)) => R.X86 (R.X86FSUB (ty, substMem sUse mem)) | R.X86 (R.X86FSUB_ST (st1:R.x86st, st2:R.x86st)) => R.X86 (R.X86FSUB_ST (st1:R.x86st, st2:R.x86st)) | R.X86 (R.X86FSUBP (st1:R.x86st)) => insn | R.X86 (R.X86FSUBR (ty, mem)) => R.X86 (R.X86FSUBR (ty, substMem sUse mem)) | R.X86 (R.X86FSUBR_ST (st1:R.x86st, st2:R.x86st)) => R.X86 (R.X86FSUBR_ST (st1:R.x86st, st2:R.x86st)) | R.X86 (R.X86FSUBRP (st1:R.x86st)) => insn | R.X86 (R.X86FMUL (ty, mem)) => R.X86 (R.X86FMUL (ty, substMem sUse mem)) | R.X86 (R.X86FMUL_ST (st1:R.x86st, st2:R.x86st)) => insn | R.X86 (R.X86FMULP (st1:R.x86st)) => insn | R.X86 (R.X86FDIV (ty, mem)) => R.X86 (R.X86FDIV (ty, substMem sUse mem)) | R.X86 (R.X86FDIV_ST (st1:R.x86st, st2:R.x86st)) => insn | R.X86 (R.X86FDIVP (st1:R.x86st)) => insn | R.X86 (R.X86FDIVR (ty, mem)) => R.X86 (R.X86FDIVR (ty, substMem sUse mem)) | R.X86 (R.X86FDIVR_ST (st1:R.x86st, st2:R.x86st)) => insn | R.X86 (R.X86FDIVRP (st1:R.x86st)) => insn | R.X86 R.X86FPREM => insn | R.X86 (R.X86FABS) => insn | R.X86 (R.X86FCHS) => insn | R.X86 (R.X86FINCSTP) => insn | R.X86 (R.X86FFREE (st:R.x86st)) => insn | R.X86 (R.X86FXCH (st:R.x86st)) => insn | R.X86 (R.X86FUCOM (st:R.x86st)) => insn | R.X86 (R.X86FUCOMP (st:R.x86st)) => insn | R.X86 R.X86FUCOMPP => insn | R.X86 (R.X86FSW_TESTH {clob,mask}) => R.X86 (R.X86FSW_TESTH {clob = substClob clob, mask = mask}) | R.X86 (R.X86FSW_MASKCMPH {clob,mask,compare}) => R.X86 (R.X86FSW_MASKCMPH {clob = substClob clob, mask = mask, compare = compare}) | R.X86 (R.X86FLDCW mem) => R.X86 (R.X86FLDCW (substMem sUse mem)) | R.X86 (R.X86FNSTCW mem) => R.X86 (R.X86FNSTCW (substMem sUse mem)) | R.X86 R.X86FWAIT => insn | R.X86 R.X86FNCLEX => insn fun substLast (subst as {sDef, sUse}) last = case last of R.HANDLE (insn, args) => R.HANDLE (substInsn subst insn, args) | R.CJUMP {test, cc, thenLabel, elseLabel} => R.CJUMP {test = substInsn subst test, cc = cc, thenLabel = thenLabel:R.label, elseLabel = elseLabel:R.label} | R.CALL {callTo, returnTo, handler, defs, uses, needStabilize, postFrameAdjust} => R.CALL {callTo = substAddr sUse callTo, returnTo = returnTo:R.label, handler = handler:R.handler, defs = map (substVar sDef) defs, uses = map (substVar sUse) uses, needStabilize = needStabilize:bool, postFrameAdjust = postFrameAdjust:int} | R.JUMP {jumpTo, destinations} => R.JUMP {jumpTo = substAddr sUse jumpTo, destinations = destinations:R.label list} | R.UNWIND_JUMP {jumpTo, sp, fp, uses, handler} => R.UNWIND_JUMP {jumpTo = substAddr sUse jumpTo, sp = substOp sUse sp, fp = substOp sUse fp, uses = map (substVar sUse) uses, handler = handler:R.handler} | R.TAILCALL_JUMP {preFrameSize, jumpTo, uses} => R.TAILCALL_JUMP {preFrameSize = preFrameSize:int, jumpTo = substAddr sUse jumpTo, uses = map (substVar sUse) uses} | R.RETURN {preFrameSize, stubOptions, uses} => R.RETURN {preFrameSize = preFrameSize:int, stubOptions = stubOptions, uses = map (substVar sUse) uses} | R.EXIT => last fun substFirst (subst as {sDef, sUse}) first = case first of R.BEGIN {label, align, loc} => first | R.CODEENTRY {label, symbol, scope, align, preFrameSize, stubOptions, defs, loc} => R.CODEENTRY {label = label, symbol = symbol, scope = scope, align = align, preFrameSize = preFrameSize, stubOptions = stubOptions, defs = map (substVar sDef) defs, loc = loc} | R.HANDLERENTRY {label, align, defs, loc} => R.HANDLERENTRY {label = label, align = align, defs = map (substVar sDef) defs, loc = loc} | R.ENTER => first fun substNode subst node = case node of RTLEdit.FIRST first => RTLEdit.unfocus (RTLEdit.singletonFirst (substFirst subst first)) | RTLEdit.MIDDLE insn => RTLEdit.unfocus (RTLEdit.singleton (substInsn subst insn)) | RTLEdit.LAST last => RTLEdit.unfocus (RTLEdit.singletonLast (substLast subst last)) fun substGraph graph = RTLEdit.rewrite (RTLEdit.rewriteForward (fn (node, inEnv::(envs as outEnv::_)) => (substNode {sDef=outEnv, sUse=inEnv} node, envs) | _ => raise Control.Bug "renameGraph")) graph fun renameGraph graph = substGraph (analyze graph) fun rename program = RTLUtils.mapCluster renameGraph program end smlsharp-1.2.0/src/compiler/rtl/main/RTLSELECT.sig0000644 000000000000000000000035212050661606021676 0ustar00rootroot0000000 0000000 (** * x86 RTL * @copyright (c) 2009, Tohoku University. * @author UENO Katsuhiro * @version $Id: $ *) signature RTLSELECT = sig val select : {mainSymbol: string} * AbstractInstruction2.program -> RTL.program end smlsharp-1.2.0/src/compiler/rtl/main/RTLSTABILIZE.sig0000644 000000000000000000000040612050661606022245 0ustar00rootroot0000000 0000000 (** * x86 RTL * @copyright (c) 2009, Tohoku University. * @author UENO Katsuhiro * @version $Id: $ *) signature RTLSTABILIZE = sig structure Target : sig (* for consistency check *) type reg end val stabilize : RTL.program -> RTL.program end smlsharp-1.2.0/src/compiler/rtl/main/RTLStabilize.smi0000644 000000000000000000000160612050661606022656 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../util/main/TermFormat.smi" _require "RTL.ppg.smi" _require "RTLEdit.smi" _require "RTLUtils.smi" _require "RTLEMIT.sig" _require "RTLSTABILIZE.sig" functor RTLStabilize ( A : sig structure Emit : sig structure Target : sig type reg type program end type frameLayout val format_frameLayout : frameLayout TermFormat.formatter val emit : {regAlloc: Target.reg VarID.Map.map, layoutMap: frameLayout ClusterID.Map.map} -> RTL.program -> Target.program val formatOf : RTL.ty -> RTL.format val formatOfGeneric : {size: int, align: int} end end ) = struct structure Target = struct type reg = A.Emit.Target.reg end val stabilize : RTL.program -> RTL.program end smlsharp-1.2.0/src/compiler/rtl/main/RTLStabilize.sml0000644 000000000000000000006120012050661606022655 0ustar00rootroot0000000 0000000 (** * x86 RTL * @copyright (c) 2009, Tohoku University. * @author UENO Katsuhiro * @version $Id: $ *) functor RTLStabilize (structure Emit : RTLEMIT) : RTLSTABILIZE = struct structure R = RTL structure Target = Emit.Target (* request status of register value *) datatype request = SAVE (* value must be saved on memory. *) | LOAD (* value is just on register. *) (* actual status of register value *) datatype actual = SAVED (* available value is just on memory. *) | CACHED (* available value is on both memory and register. *) | LOADED (* available value is just on register. *) fun mergeRequest (SAVE, SAVE) = SAVE | mergeRequest (SAVE, LOAD) = SAVE | mergeRequest (LOAD, SAVE) = SAVE | mergeRequest (LOAD, LOAD) = LOAD fun mergeActual (SAVED, SAVED) = SAVED | mergeActual (SAVED, CACHED) = CACHED | mergeActual (SAVED, LOADED) = LOADED | mergeActual (CACHED, SAVED) = CACHED | mergeActual (CACHED, CACHED) = CACHED | mergeActual (CACHED, LOADED) = LOADED | mergeActual (LOADED, _) = LOADED type 'a result = (R.ty * 'a) VarID.Map.map type 'a answer = 'a result RTLUtils.answer local open SMLFormat.BasicFormatters open SMLFormat.FormatExpression fun s x = [Term (size x, x)] in fun format_request SAVE = s "SAVE" | format_request LOAD = s "LOAD" fun format_actual SAVED = s "SAVED" | format_actual CACHED = s "CACHED" | format_actual LOADED = s "LOADED" fun format_result fmt (map:'a result) = s "{" @ format_list (fn (l,(x,y)) => R.format_id l @ s ":(" @ R.format_ty x @ s "," @ fmt y @ s ")", s ",") (VarID.Map.listItemsi map) @ s "}" fun format_answer fmt (ans:'a answer) = RTLUtils.format_answer (format_result fmt) ans end fun join merge (result1:'a result, result2) = VarID.Map.unionWith (fn ((ty,x), (_,y)) => (ty, merge (x, y))) (result1, result2) fun minus (result:'a result, vars) = VarID.Map.filteri (fn (id, _) => not (RTLUtils.Var.inDomain (vars, id))) result fun isSubset merge (result1:'a result, result2) = VarID.Map.foldli (fn (k, (_, s1), z) => z andalso (case VarID.Map.find (result2, k) of NONE => false | SOME (_, s2) => merge (s1, s2) = s2)) true result1 fun changed merge {old, new} = not (isSubset merge (new, old)) fun singleton ({id, ty}:R.var, status:'a) = VarID.Map.singleton (id, (ty, status)) : 'a result fun setStatus1 (result:'a result, {id, ty}:R.var, status:'a) = VarID.Map.insert (result, id, (ty, status)) fun setStatus (result:'a result, vars, status:'a) = RTLUtils.Var.fold (fn ({id, ty}:R.var, z) => VarID.Map.insert (z, id, (ty, status))) result vars fun makeResult (vars, status) = setStatus (VarID.Map.empty, vars, status) fun requestLoaded (result:request result, vars) = RTLUtils.Var.fold (fn ({id, ty}:R.var, z) => case VarID.Map.find (z, id) of SOME _ => z | NONE => VarID.Map.insert (z, id, (ty, LOAD))) result vars fun actuallyLoaded (result:actual result, vars) = RTLUtils.Var.fold (fn ({id, ty}:R.var, z) => case VarID.Map.find (z, id) of SOME (_, LOADED) => z | SOME (_, CACHED) => z | SOME (ty, SAVED) => VarID.Map.insert (z, id, (ty, CACHED)) | NONE => VarID.Map.insert (z, id, (ty, LOADED))) result vars fun stabilizeRequestAll (result:request result) = VarID.Map.map (fn (ty, _) => (ty, SAVE)) result fun stabilizeRequestPtr (result:request result) = VarID.Map.map (fn (ty as R.Ptr R.Data, _) => (ty, SAVE) | (ty, v) => (ty, v)) result fun stabilizeActualAll (result:actual result) = VarID.Map.map (fn (ty, _) => (ty, SAVED)) result fun stabilizeActualPtr (result:actual result) = VarID.Map.map (fn (ty as R.Ptr R.Data, _) => (ty, SAVED) | (ty, v) => (ty, v)) result fun isStabilizedAll (result:actual result) = VarID.Map.foldl (fn ((_,SAVED),z) => z | ((_,CACHED),z) => z | ((_,LOADED),z) => false) true result fun isStabilizedPtr (result:actual result) = VarID.Map.foldl (fn ((R.Ptr R.Data,SAVED),z) => z | ((R.Ptr R.Data,CACHED),z) => z | ((R.Ptr R.Data,LOADED),z) => false | (_, z) => z) true result fun requestFirst (first, result) = let val {defs, uses} = RTLUtils.Var.defuseFirst first val result = minus (result, defs) val result = requestLoaded (result, uses) in case first of R.BEGIN {label, align, loc} => result | R.CODEENTRY {label, symbol, scope, align, preFrameSize, stubOptions, defs, loc} => result | R.HANDLERENTRY {label, align, defs, loc} => stabilizeRequestAll result | R.ENTER => result end fun requestInsn (insn, result) = let val {defs, uses} = RTLUtils.Var.defuseInsn insn val result = minus (result, defs) val result = requestLoaded (result, uses) in case insn of R.NOP => result | R.STABILIZE => stabilizeRequestPtr result | R.COMPUTE_FRAME {uses, clobs} => result | R.REQUEST_SLOT slot => result | R.REQUIRE_SLOT slot => result | R.USE vars => result | R.MOVE (ty, dst, op1) => result | R.MOVEADDR (ptrTy, dst, addr) => result | R.COPY {ty, dst, src, clobs} => result | R.MLOAD {ty, dst, srcAddr, size, defs, clobs} => result | R.MSTORE {ty, dstAddr, src, size, global, defs, clobs} => result | R.EXT8TO32 (sign, dst, op1) => result | R.EXT16TO32 (sign, dst, op1) => result | R.EXT32TO64 (sign, dst, op1) => result | R.DOWN32TO8 (sign, dst, op1) => result | R.DOWN32TO16 (sign, dst, op1) => result | R.ADD (ty, dst, op1, op2) => result | R.SUB (ty, dst, op1, op2) => result | R.MUL ((ty, dst), (ty2, op1), (ty3, op2)) => result | R.DIVMOD ({div, mod}, (ty3, op1), (ty4, op2)) => result | R.AND (ty, dst, op1, op2) => result | R.OR (ty, dst, op1, op2) => result | R.XOR (ty, dst, op1, op2) => result | R.LSHIFT (ty, dst, op1, op2) => result | R.RSHIFT (ty, dst, op1, op2) => result | R.ARSHIFT (ty, dst, op1, op2) => result | R.TEST_SUB (ty, op1, op2) => result | R.TEST_AND (ty, op1, op2) => result | R.TEST_LABEL (ptrTy, op1, label) => result | R.NOT (ty, dst, op1) => result | R.NEG (ty, dst, op1) => result | R.SET (cc1, ty, dst, {test}) => result | R.LOAD_FP dst => result | R.LOAD_SP dst => result | R.LOAD_PREV_FP dst => result | R.LOAD_RETADDR dst => result | R.LOADABSADDR {ty, dst, symbol, thunk} => result | R.X86 (R.X86LEAINT (ty, dst, {base, shift, offset, disp})) => result | R.X86 (R.X86FLD (ty, mem)) => result | R.X86 (R.X86FLD_ST x86st1) => result | R.X86 (R.X86FST (ty, mem)) => result | R.X86 (R.X86FSTP (ty, mem)) => result | R.X86 (R.X86FSTP_ST x86st1) => result | R.X86 (R.X86FADD (ty, mem)) => result | R.X86 (R.X86FADD_ST (x86st1, x86st2)) => result | R.X86 (R.X86FADDP x86st1) => result | R.X86 (R.X86FSUB (ty, mem)) => result | R.X86 (R.X86FSUB_ST (x86st1, x86st2)) => result | R.X86 (R.X86FSUBP x86st1) => result | R.X86 (R.X86FSUBR (ty, mem)) => result | R.X86 (R.X86FSUBR_ST (x86st1, x86st2)) => result | R.X86 (R.X86FSUBRP x86st1) => result | R.X86 (R.X86FMUL (ty, mem)) => result | R.X86 (R.X86FMUL_ST (x86st1, x86st2)) => result | R.X86 (R.X86FMULP x86st1) => result | R.X86 (R.X86FDIV (ty, mem)) => result | R.X86 (R.X86FDIV_ST (x86st1, x86st2)) => result | R.X86 (R.X86FDIVP x86st1) => result | R.X86 (R.X86FDIVR (ty, mem)) => result | R.X86 (R.X86FDIVR_ST (x86st1, x86st2)) => result | R.X86 (R.X86FDIVRP x86st1) => result | R.X86 R.X86FPREM => result | R.X86 R.X86FABS => result | R.X86 R.X86FCHS => result | R.X86 R.X86FINCSTP => result | R.X86 (R.X86FFREE x86st1) => result | R.X86 (R.X86FXCH x86st1) => result | R.X86 (R.X86FUCOM x86st1) => result | R.X86 (R.X86FUCOMP x86st1) => result | R.X86 R.X86FUCOMPP => result | R.X86 (R.X86FSW_TESTH {clob,mask}) => result | R.X86 (R.X86FSW_MASKCMPH {clob,mask,compare}) => result | R.X86 (R.X86FLDCW mem) => result | R.X86 (R.X86FNSTCW mem) => result | R.X86 R.X86FWAIT => result | R.X86 R.X86FNCLEX => result end fun requestLast (last, result) = let val {defs, uses} = RTLUtils.Var.defuseLast last val result = minus (result, defs) val result = requestLoaded (result, uses) in case last of R.HANDLE (insn, {nextLabel, handler}) => result | R.CJUMP {test, cc, thenLabel, elseLabel} => result | R.CALL {callTo, returnTo, handler, defs, uses, needStabilize, postFrameAdjust} => stabilizeRequestPtr result | R.JUMP {jumpTo, destinations} => result | R.UNWIND_JUMP {jumpTo, sp, fp, uses, handler} => result | R.TAILCALL_JUMP {preFrameSize, jumpTo, uses} => result | R.RETURN {preFrameSize, stubOptions, uses} => result | R.EXIT => result end fun passRequest (node, result) = (* ( Control.ps "----pass"; Control.p RTLEdit.format_node node; Control.p (format_result format_request) result; let val x = *) case node of RTLEdit.FIRST first => requestFirst (first, result) | RTLEdit.LAST last => requestLast (last, result) | RTLEdit.MIDDLE insn => requestInsn (insn, result) (* in Control.p (format_result format_request) x; Control.ps "----"; x end ) *) fun actualFirst (first, result) = case first of R.BEGIN {label, align, loc} => result | R.CODEENTRY {label, symbol, scope, align, preFrameSize, stubOptions, defs, loc} => actuallyLoaded (result, RTLUtils.Var.fromList defs) | R.HANDLERENTRY {label, align, defs, loc} => actuallyLoaded (stabilizeActualAll result, RTLUtils.Var.fromList defs) | R.ENTER => result fun actualInsn (insn, result) = let val {defs, uses} = RTLUtils.Var.defuseInsn insn val result = actuallyLoaded (result, uses) val result = setStatus (result, defs, LOADED) in case insn of R.NOP => result | R.STABILIZE => stabilizeActualPtr result | R.COMPUTE_FRAME {uses, clobs} => result | R.REQUEST_SLOT slot => result | R.REQUIRE_SLOT slot => result | R.USE vars => result | R.MOVE (ty, R.REG v, R.REF (_, R.MEM (_, R.SLOT s))) => if VarID.eq (#id v, #id s) then setStatus1 (result, v, CACHED) else result | R.MOVE (ty, R.MEM (_, R.SLOT s), R.REF (_, R.REG v)) => if VarID.eq (#id v, #id s) then setStatus1 (result, v, CACHED) else result | R.MOVE (ty, dst, op1) => result | R.MOVEADDR (ptrTy, dst, addr) => result | R.COPY {ty, dst, src, clobs} => result | R.MLOAD {ty, dst, srcAddr, size, defs, clobs} => result | R.MSTORE {ty, dstAddr, src, size, global, defs, clobs} => result | R.EXT8TO32 (sign, dst, op1) => result | R.EXT16TO32 (sign, dst, op1) => result | R.EXT32TO64 (sign, dst, op1) => result | R.DOWN32TO8 (sign, dst, op1) => result | R.DOWN32TO16 (sign, dst, op1) => result | R.ADD (ty, dst, op1, op2) => result | R.SUB (ty, dst, op1, op2) => result | R.MUL ((ty, dst), (ty2, op1), (ty3, op2)) => result | R.DIVMOD ({div, mod}, (ty3, op1), (ty4, op2)) => result | R.AND (ty, dst, op1, op2) => result | R.OR (ty, dst, op1, op2) => result | R.XOR (ty, dst, op1, op2) => result | R.LSHIFT (ty, dst, op1, op2) => result | R.RSHIFT (ty, dst, op1, op2) => result | R.ARSHIFT (ty, dst, op1, op2) => result | R.TEST_SUB (ty, op1, op2) => result | R.TEST_AND (ty, op1, op2) => result | R.TEST_LABEL (ptrTy, op1, label) => result | R.NOT (ty, dst, op1) => result | R.NEG (ty, dst, op1) => result | R.SET (cc1, ty, dst, {test}) => result | R.LOAD_FP dst => result | R.LOAD_SP dst => result | R.LOAD_PREV_FP dst => result | R.LOAD_RETADDR dst => result | R.LOADABSADDR {ty, dst, symbol, thunk} => result | R.X86 (R.X86LEAINT (ty, dst, {base, shift, offset, disp})) => result | R.X86 (R.X86FLD (ty, mem)) => result | R.X86 (R.X86FLD_ST x86st1) => result | R.X86 (R.X86FST (ty, mem)) => result | R.X86 (R.X86FSTP (ty, mem)) => result | R.X86 (R.X86FSTP_ST x86st1) => result | R.X86 (R.X86FADD (ty, mem)) => result | R.X86 (R.X86FADD_ST (x86st1, x86st2)) => result | R.X86 (R.X86FADDP x86st1) => result | R.X86 (R.X86FSUB (ty, mem)) => result | R.X86 (R.X86FSUB_ST (x86st1, x86st2)) => result | R.X86 (R.X86FSUBP x86st1) => result | R.X86 (R.X86FSUBR (ty, mem)) => result | R.X86 (R.X86FSUBR_ST (x86st1, x86st2)) => result | R.X86 (R.X86FSUBRP x86st1) => result | R.X86 (R.X86FMUL (ty, mem)) => result | R.X86 (R.X86FMUL_ST (x86st1, x86st2)) => result | R.X86 (R.X86FMULP x86st1) => result | R.X86 (R.X86FDIV (ty, mem)) => result | R.X86 (R.X86FDIV_ST (x86st1, x86st2)) => result | R.X86 (R.X86FDIVP x86st1) => result | R.X86 (R.X86FDIVR (ty, mem)) => result | R.X86 (R.X86FDIVR_ST (x86st1, x86st2)) => result | R.X86 (R.X86FDIVRP x86st1) => result | R.X86 R.X86FPREM => result | R.X86 R.X86FABS => result | R.X86 R.X86FCHS => result | R.X86 R.X86FINCSTP => result | R.X86 (R.X86FFREE x86st1) => result | R.X86 (R.X86FXCH x86st1) => result | R.X86 (R.X86FUCOM x86st1) => result | R.X86 (R.X86FUCOMP x86st1) => result | R.X86 R.X86FUCOMPP => result | R.X86 (R.X86FSW_TESTH {clob,mask}) => result | R.X86 (R.X86FSW_MASKCMPH {clob,mask,compare}) => result | R.X86 (R.X86FLDCW mem) => result | R.X86 (R.X86FNSTCW mem) => result | R.X86 R.X86FWAIT => result | R.X86 R.X86FNCLEX => result end fun actualLast (last, result) = let val {defs, uses} = RTLUtils.Var.defuseLast last val result = actuallyLoaded (result, uses) val result = setStatus (result, defs, LOADED) in case last of R.HANDLE (insn, {nextLabel, handler}) => result | R.CJUMP {test, cc, thenLabel, elseLabel} => result | R.CALL {callTo, returnTo, handler, defs=_, uses, needStabilize, postFrameAdjust} => setStatus (stabilizeActualPtr result, defs, LOADED) | R.JUMP {jumpTo, destinations} => result | R.UNWIND_JUMP {jumpTo, sp, fp, uses, handler} => result | R.TAILCALL_JUMP {preFrameSize, jumpTo, uses} => result | R.RETURN {preFrameSize, stubOptions, uses} => result | R.EXIT => result end fun passActual (node, result) = case node of RTLEdit.FIRST first => actualFirst (first, result) | RTLEdit.MIDDLE insn => actualInsn (insn, result) | RTLEdit.LAST last => actualLast (last, result) local fun makeSlot ({id,ty}:R.var) = R.MEM (ty, R.SLOT {id = id, format = Emit.formatOf ty}) fun makeSave vars = RTLUtils.Var.fold (fn (var as {ty,...}, z) => R.MOVE (ty, makeSlot var, R.REF_ (R.REG var)) :: z) nil vars fun makeLoad vars = RTLUtils.Var.fold (fn (var as {ty,...}, z) => R.MOVE (ty, R.REG var, R.REF_ (makeSlot var)) :: z) nil vars fun insertLastWithFollower (focus, last, nil) = RTLEdit.insertLast (focus, last) | insertLastWithFollower (focus, last, insns) = case last of R.HANDLE (insn, {nextLabel, handler}) => let val focus = RTLEdit.insertLast (focus, RTLEdit.jump nextLabel) val focus = RTLEdit.insertAfter (focus, insns) val (focus, _) = RTLEdit.insertLastAfter (focus, fn l => R.HANDLE (insn, {nextLabel=l, handler=handler})) in focus end | R.CALL {callTo, returnTo, handler, defs, uses, needStabilize, postFrameAdjust} => let val focus = RTLEdit.insertLast (focus, RTLEdit.jump returnTo) val focus = RTLEdit.insertAfter (focus, insns) val (focus, _) = RTLEdit.insertLastAfter (focus, fn l => R.CALL {callTo=callTo, returnTo=l, handler=handler, defs=defs, uses=uses, needStabilize=needStabilize, postFrameAdjust=postFrameAdjust}) in focus end | R.CJUMP {test, cc, thenLabel, elseLabel} => RTLEdit.insertLast (RTLEdit.insertBefore (focus, insns), last) | R.JUMP {jumpTo, destinations} => RTLEdit.insertLast (RTLEdit.insertBefore (focus, insns), last) | R.UNWIND_JUMP {jumpTo, sp, fp, uses, handler} => RTLEdit.insertLast (RTLEdit.insertBefore (focus, insns), last) | R.TAILCALL_JUMP {preFrameSize, jumpTo, uses} => RTLEdit.insertLast (RTLEdit.insertBefore (focus, insns), last) | R.RETURN {preFrameSize, stubOptions, uses} => RTLEdit.insertLast (RTLEdit.insertBefore (focus, insns), last) | R.EXIT => RTLEdit.insertLast (RTLEdit.insertBefore (focus, insns), last) in fun insertSaveAfter (node, vars) = case node of RTLEdit.FIRST first => let val focus = RTLEdit.singletonFirst first val focus = RTLEdit.insertAfter (focus, makeSave vars) in focus end | RTLEdit.MIDDLE insn => let val focus = RTLEdit.singletonFirst R.ENTER val focus = RTLEdit.insertBefore (focus, [insn]) val focus = RTLEdit.insertAfter (focus, makeSave vars) in focus end | RTLEdit.LAST last => let val focus = RTLEdit.singletonFirst R.ENTER in insertLastWithFollower (focus, last, makeSave vars) end fun insertLoadBefore (node, vars) = case node of RTLEdit.FIRST first => RTLEdit.singletonFirst first | RTLEdit.MIDDLE insn => let val focus = RTLEdit.singletonFirst R.ENTER val focus = RTLEdit.insertBefore (focus, makeLoad vars) val focus = RTLEdit.insertAfter (focus, [insn]) in focus end | RTLEdit.LAST last => let val focus = RTLEdit.singletonFirst R.ENTER val focus = RTLEdit.insertBefore (focus, makeLoad vars) val focus = RTLEdit.insertLast (focus, last) in focus end fun insertLastWithLoad (focus, last, answerOut, graph) = let val succ = foldl (fn (label, succ) => let val x = RTLEdit.focusBlock (graph, label) val a = RTLEdit.annotation x : actual answer in join mergeActual (succ, #answerIn a) end) VarID.Map.empty (RTLUtils.successors last) (* val _ = Control.ps "----last+load" val _ = Control.p (format_result format_actual) answerOut val _ = Control.p (format_result format_actual) succ *) val vars = VarID.Map.foldli (fn (id, (ty, s1), vars) => let val s2 = case VarID.Map.find (succ, id) of SOME (_, s) => s | NONE => raise Control.Bug ("insertLoadWithLoad "^Control.prettyPrint (R.format_id id)) in case (s1, s2) of (LOADED, LOADED) => vars | (CACHED, CACHED) => vars | (CACHED, LOADED) => vars | (SAVED, CACHED) => {id=id,ty=ty}::vars | (SAVED, LOADED) => {id=id,ty=ty}::vars | (SAVED, SAVED) => vars | _ => raise Control.Bug ("insertLoadWithLoad "^Control.prettyPrint (format_actual s1)^" -> "^Control.prettyPrint (format_actual s2)) end) nil answerOut val vars = RTLUtils.Var.fromList vars in insertLastWithFollower (focus, last, makeLoad vars) end end (* local *) fun select f (result:'a result, varSet) = RTLUtils.Var.filter (fn {id,...}:R.var => case VarID.Map.find (result, id) of SOME (_, x) => f x | NONE => false) varSet fun insertSave graph = RTLEdit.rewrite (RTLEdit.rewriteBackward (fn (node, {answerOut, answerIn, succs, preds}) => let (* val _ = Control.ps "----rewrite" val _ = Control.p RTLEdit.format_node node val _ = Control.p (format_result format_request) answerOut *) val {defs, ...} = RTLUtils.Var.defuse node val vars = select (fn x => x = SAVE) (answerOut, defs) val g = RTLEdit.unfocus (insertSaveAfter (node, vars)) (* val _ = Control.p R.format_graph g val _ = Control.ps "----" *) in (g, {answerOut = passRequest (node, answerOut), answerIn = answerIn, succs = succs, preds = preds}) end)) graph fun insertLoad graph = RTLEdit.rewrite (RTLEdit.rewriteForward (fn (node, {answerOut, answerIn, succs, preds}) => let val {uses, ...} = RTLUtils.Var.defuse node val vars = select (fn x => x = SAVED) (answerIn, uses) val focus = insertLoadBefore (node, vars) val focus = case node of RTLEdit.FIRST _ => focus | RTLEdit.MIDDLE _ => focus | RTLEdit.LAST last => insertLastWithLoad (focus, last, answerOut, graph) val g = RTLEdit.unfocus focus in (g, {answerOut = answerOut, answerIn = passActual (node, answerIn), succs = succs, preds = preds}) end)) graph fun stabilizeGraph graph = let val request = RTLUtils.analyzeFlowBackward {init = VarID.Map.empty, join = join mergeRequest, pass = passRequest, filterIn = fn (_,x) => x, filterOut = fn (_,x) => x, changed = changed mergeRequest} graph val graph = insertSave request val liveness = RTLEdit.annotations request fun filterIn (label, map) = case R.LabelMap.find (liveness, label) of NONE => map | SOME {answerIn=live,...} => VarID.Map.filteri (fn (i,_) => VarID.Map.inDomain (live, i)) map fun filterOut (label, map) = case R.LabelMap.find (liveness, label) of NONE => map | SOME {answerOut=live,...} => VarID.Map.filteri (fn (i,_) => VarID.Map.inDomain (live, i)) map val actual = RTLUtils.analyzeFlowForward {init = VarID.Map.empty, join = join mergeActual, pass = passActual, filterIn = filterIn, filterOut = filterOut, changed = changed mergeActual} graph val graph = insertLoad actual in graph end fun stabilize program = RTLUtils.mapCluster stabilizeGraph program end smlsharp-1.2.0/src/compiler/rtl/main/RTLSUBST.sig0000644 000000000000000000000051312050661606021616 0ustar00rootroot0000000 0000000 (** * x86 RTL * @copyright (c) 2009, Tohoku University. * @author UENO Katsuhiro * @version $Id: $ *) signature RTLSUBST = sig (* perform substitution and reconstruct instructions so that * each instruction satisfies x86 mnemonic syntax. *) val substitute : (RTL.var -> RTL.dst option) -> RTL.graph -> RTL.graph end smlsharp-1.2.0/src/compiler/rtl/main/RTLTypeCheck.smi0000644 000000000000000000000070212050661606022603 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "RTL.ppg.smi" _require "RTLEdit.smi" _require "RTLUtils.smi" _require "RTLLiveness.smi" _require "RTLTypeCheckError.ppg.smi" structure RTLTypeCheck = struct val check : {checkStability: bool} -> RTL.program -> RTLTypeCheckError.err list end smlsharp-1.2.0/src/compiler/rtl/main/RTLTypeCheck.sml0000644 000000000000000000014010212050661606022605 0ustar00rootroot0000000 0000000 structure RTLTypeCheck : sig val check : {checkStability: bool} -> RTL.program -> RTLTypeCheckError.err list end = struct structure R = RTL open RTLTypeCheckError fun DisplacementMustBeInt x y = RTLTypeCheckError.DisplacementMustBeInt (x, y) fun IndexMustBeInt x y = RTLTypeCheckError.IndexMustBeInt (x, y) fun OperandMustBeInt x y = RTLTypeCheckError.OperandMustBeInt (x, y) fun VarMustBePointer x y = RTLTypeCheckError.VarMustBePointer (x, y) fun AddrTypeMismatch x y = RTLTypeCheckError.AddrTypeMismatch (x, y) fun VariableTypeMismatch x y = RTLTypeCheckError.VariableTypeMismatch (x, y) fun LabelTypeMismatch x y = RTLTypeCheckError.LabelTypeMismatch (x, y) fun TypeAnnotationMismatch x y = RTLTypeCheckError.TypeAnnotationMismatch (x, y) fun DstTypeMismatch x y = RTLTypeCheckError.DstTypeMismatch (x, y) fun OperandTypeMismatch x y = RTLTypeCheckError.OperandTypeMismatch (x, y) fun ConstTypeMismatch x y = RTLTypeCheckError.ConstTypeMismatch (x, y) fun MemTypeMismatch x y = RTLTypeCheckError.MemTypeMismatch (x, y) fun ErrorAtFirst x y = RTLTypeCheckError.ErrorAtFirst (x, y) fun ErrorAtMiddle x y = RTLTypeCheckError.ErrorAtMiddle (x, y) fun ErrorAtLast x y = RTLTypeCheckError.ErrorAtLast (x, y) fun ErrorInBlock x y = RTLTypeCheckError.ErrorInBlock (x, y) fun ErrorInCluster x y = RTLTypeCheckError.ErrorInCluster (x, y) fun ErrorInData x y = RTLTypeCheckError.ErrorInData (x, y) fun minus (set, vars) = RTLUtils.Var.setMinus (set, RTLUtils.Var.fromList vars) val errors = ref nil : RTLTypeCheckError.err list ref fun ERROR x = errors := x :: !errors fun WRAP f = let val prevErrors = !errors in errors := nil; fn x => (errors := (case !errors of nil => prevErrors | errs => f (rev errs) :: prevErrors); x) end datatype symbolDefStrength = STRONG (* defined in this compile unit *) | WEAK (* defined in another compile unit *) type symbolDef = { haveLinkEntry: bool, haveLinkStub: bool, scope: R.symbolScope, ptrTy: R.ptrTy } type symbolEnv = (symbolDefStrength * symbolDef) SEnv.map type env = { vars: RTL.var VarID.Map.map, slots: RTL.slot VarID.Map.map } type context = { env: env, liveOut: {vars: RTLUtils.Var.set, slots: RTLUtils.Slot.set}, cluster: { frameBitmap: R.frameBitmap list, body: R.graph, baseLabel: R.label option, preFrameSize: int, postFrameSize: int }, symbolEnv: symbolEnv, liveness: {vars:RTLLiveness.liveness, slots:RTLLiveness.livenessSlot} R.LabelMap.map } fun varList varSet = RTLUtils.Var.fold (op ::) nil varSet fun slotList slotSet = RTLUtils.Slot.fold (op ::) nil slotSet val emptyEnv = {vars = VarID.Map.empty, slots = VarID.Map.empty} : env fun envFromList getId elems = foldl (fn (i,map) => VarID.Map.insert (map, getId i, i)) VarID.Map.empty elems fun varEnv vars = {vars = envFromList #id vars, slots = VarID.Map.empty} : env fun slotEnv slots = {vars = VarID.Map.empty, slots = envFromList #id slots} : env fun setToEnv (varSet, slotSet) = {vars = RTLUtils.Var.fold (fn (var,map) => VarID.Map.insert (map, #id var, var)) VarID.Map.empty varSet, slots = RTLUtils.Slot.fold (fn (slot,map) => VarID.Map.insert (map, #id slot, slot)) VarID.Map.empty slotSet} : env fun extendEnv ({vars=v1,slots=s1}:env, {vars=v2,slots=s2}:env) = {vars = VarID.Map.unionWith #2 (v1, v2), slots = VarID.Map.unionWith #2 (s1, s2)} : env fun unionEnv ({vars=v1,slots=s1}:env, {vars=v2,slots=s2}:env) = { vars = VarID.Map.unionWith (fn (x,y) => (ERROR (DuplicateVariable (x, y)); y)) (v1, v2), slots = VarID.Map.unionWith (fn (x,y) => (ERROR (DuplicateSlot (x, y)); y)) (s1, s2) } : env fun dstEnv dst = case dst of R.REG v => varEnv [v] | R.COUPLE (_, {hi, lo}) => unionEnv (dstEnv hi, dstEnv lo) | R.MEM (_, R.SLOT slot) => slotEnv [slot] | R.MEM (_, R.ADDR _) => emptyEnv fun extendContext ({env, liveOut, cluster, symbolEnv, liveness}:context, env2) = {env = extendEnv (env, env2), liveOut = liveOut, cluster = cluster, symbolEnv = symbolEnv, liveness = liveness} : context fun eqTy (tys as {actual:R.ty, require:R.ty}) f = if actual = require then () else ERROR (f tys) fun checkTid (context:context) tid = if List.exists (fn {source,bits} => List.exists (fn SOME t => t = tid | NONE => false) bits) (#frameBitmap (#cluster context)) then () else ERROR (UndefinedGenericTid tid) fun checkTy (context:context) ty = case ty of R.Int8 s => () | R.Int16 s => () | R.Int32 s => () | R.Int64 s => () | R.Real32 => () | R.Real64 => () | R.Real80 => () | R.Ptr ptrTy => () | R.PtrDiff _ => () | R.NoType => () | R.Generic tid => checkTid context tid fun checkIntTy ty f = case ty of R.Int8 s => () | R.Int16 s => () | R.Int32 s => () | R.Int64 s => () | R.Real32 => ERROR (f {actual=ty}) | R.Real64 => ERROR (f {actual=ty}) | R.Real80 => ERROR (f {actual=ty}) | R.Ptr _ => ERROR (f {actual=ty}) | R.PtrDiff _ => () | R.NoType => ERROR (f {actual=ty}) | R.Generic tid => ERROR (f {actual=ty}) fun checkPtrTy (tys as {actual:R.ptrTy, require:R.ptrTy}) f = if actual = require then nil else [f tys] fun checkAnyPtrTy ty f = case ty of R.Int8 s => (ERROR (f {actual=ty}); R.Void) | R.Int16 s => (ERROR (f {actual=ty}); R.Void) | R.Int32 s => (ERROR (f {actual=ty}); R.Void) | R.Int64 s => (ERROR (f {actual=ty}); R.Void) | R.Real32 => (ERROR (f {actual=ty}); R.Void) | R.Real64 => (ERROR (f {actual=ty}); R.Void) | R.Real80 => (ERROR (f {actual=ty}); R.Void) | R.Ptr pty => pty | R.PtrDiff _ => (ERROR (f {actual=ty}); R.Void) | R.NoType => (ERROR (f {actual=ty}); R.Void) | R.Generic tid => (ERROR (f {actual=ty}); R.Void) fun checkLabelRef (context:context) label = case label of R.NULL ptrTy => ptrTy | R.CURRENT_POSITION => R.Code | R.ELF_GOT => R.Void | R.LABELCAST (ptrTy, label) => (checkLabelRef context label; ptrTy) | R.LABEL l => ( case R.LabelMap.find (#body (#cluster context), l) of SOME _ => () | NONE => if (case #baseLabel (#cluster context) of NONE => false | SOME baseLabel => VarID.eq (baseLabel, l)) then () else ERROR (UndefinedLabel l); R.Code ) | R.SYMBOL (ptrTy, scope, symbol) => ( case SEnv.find (#symbolEnv context, symbol) of NONE => ERROR (UndefinedSymbol symbol) | SOME (_, {scope=scope2, ptrTy=ptrTy2, ...}) => ( if scope = scope2 then () else ERROR (SymbolScopeMismatch (symbol, {actual=scope, require=scope2})); if ptrTy = ptrTy2 then () else ERROR (SymbolTypeMismatch2 (symbol, {actual=ptrTy,require=ptrTy2})) ); ptrTy ) | R.LINK_ENTRY symbol => ( case SEnv.find (#symbolEnv context, symbol) of NONE => ERROR (UndefinedSymbol symbol) | SOME (_, {haveLinkEntry=true,...}) => () | SOME (_, {haveLinkEntry=false,...}) => ERROR (SymbolLinkEntryNotFound label); R.Void ) | R.LINK_STUB symbol => ( case SEnv.find (#symbolEnv context, symbol) of NONE => ERROR (UndefinedSymbol symbol) | SOME (_, {haveLinkStub=true,...}) => () | SOME (_, {haveLinkStub=false,...}) => ERROR (SymbolLinkStubNotFound label); R.Code ) fun checkConst (context:context) const = case const of R.SYMOFFSET {label, base} => let val pty1 = checkLabelRef context label val pty2 = checkLabelRef context base val _ = if pty1 = pty2 then () else ERROR (PointerTypeMismatch (const, pty1, pty2)) in R.PtrDiff pty1 end (* | R.INT64 _ => R.Int64 R.S | R.UINT64 _ => R.Int64 R.U *) | R.INT32 _ => R.Int32 R.S | R.UINT32 _ => R.Int32 R.U | R.INT16 _ => R.Int16 R.S | R.UINT16 _ => R.Int16 R.U | R.INT8 _ => R.Int8 R.S | R.UINT8 _ => R.Int8 R.U | R.REAL32 _ => R.Real32 | R.REAL64 _ => R.Real64 | R.REAL64HI _ => R.NoType | R.REAL64LO _ => R.NoType fun checkFormat (context:context) ({size,align,tag}:R.format) = case tag of R.BOXED => () | R.UNBOXED => () | R.GENERIC tid => checkTid context tid fun checkSlot (context:context) (slot as {id,format}:R.slot) = ( checkFormat context format; case VarID.Map.find (#slots (#env context), id) of NONE => ERROR (UndefinedSlot slot) | SOME {format=format2,...} => if format = format2 then () else ERROR (SlotFormatMismatch (slot, {actual=format,require=format2})) ) fun checkVar (context:context) (var as {id, ty}:R.var) = ( checkTy context ty; case VarID.Map.find (#vars (#env context), id) of NONE => ERROR (UndefinedVariable var) | SOME {ty=ty2,...} => eqTy {actual=ty, require=ty2} (VariableTypeMismatch var); ty ) fun checkDefs context varList = app (fn {ty,...}:R.var => checkTy context ty) varList fun checkUses context varList = app (ignore o checkVar context) varList val checkClobs = checkDefs fun checkClobLive {liveIn, liveOut} (var as {id,ty}:R.var) = ( if RTLUtils.Var.inDomain (liveIn, id) orelse RTLUtils.Var.inDomain (liveOut, id) then ERROR (ClobVariableIsLive var) else () ) fun checkClobsLive live varList = app (checkClobLive live) varList fun checkAddr (context:context) addr = case addr of R.ABSADDR label => checkLabelRef context label | R.ADDRCAST (ptrTy, addr) => (checkAddr context addr; ptrTy) | R.DISP (const, addr2) => let val ty1 = checkConst context const val _ = checkIntTy ty1 (DisplacementMustBeInt const) val pty2 = checkAddr context addr2 val _ = case ty1 of R.PtrDiff pty => if pty = pty2 then () else ERROR (DisplacementTypeMismatch (addr,{displacement=ty1, addr=pty2})) | _ => () in case pty2 of R.Void => R.Void | R.Data => R.Void (* middle of heap object *) | R.Code => R.Code end | R.BASE var => let val ty1 = checkVar context var val pty1 = checkAnyPtrTy ty1 (VarMustBePointer var) in pty1 end | R.ABSINDEX {base, index, scale} => let val pty1 = checkLabelRef context base val ty2 = checkVar context index val _ = checkIntTy ty2 (IndexMustBeInt index) val _ = case ty2 of R.PtrDiff pty => if pty = pty1 then () else ERROR (IndexTypeMismatch (addr,{index=ty2, addr=pty1})) | _ => () in case pty1 of R.Void => R.Void | R.Data => R.Void (* middle of heap object *) | R.Code => R.Code end | R.BASEINDEX {base, index, scale} => let val ty1 = checkVar context base val pty1 = checkAnyPtrTy ty1 (VarMustBePointer base) val ty2 = checkVar context index val _ = checkIntTy ty2 (IndexMustBeInt index) val _ = case ty2 of R.PtrDiff pty => if pty = pty1 then () else ERROR (IndexTypeMismatch (addr,{index=ty2, addr=pty1})) | _ => () in case pty1 of R.Void => R.Void | R.Data => R.Void (* middle of heap object *) | R.Code => R.Code end | R.PREFRAME {offset, size} => let val preSize = #preFrameSize (#cluster context) in if offset < 0 orelse offset > preSize then ERROR (PreFrameExceeded {actual=offset, limit=preSize}) else if size < 0 orelse offset - size < 0 then ERROR (PreFrameExceeded {actual=offset-size, limit=preSize}) else (); R.Void end | R.POSTFRAME {offset, size} => let val postSize = #postFrameSize (#cluster context) in if offset < 0 orelse offset > postSize then ERROR (PostFrameExceeded {actual=offset, limit=postSize}) else if size < 0 orelse offset + size > postSize then ERROR (PostFrameExceeded {actual=offset+size, limit=postSize}) else (); R.Void end | R.WORKFRAME slot => (checkSlot context slot; R.Void) | R.FRAMEINFO n => R.Void fun checkMem (context:context) (ty, mem) = ( checkTy context ty; case mem of R.SLOT {id,format} => checkFormat context format | R.ADDR addr => (checkAddr context addr; ()); ty ) fun checkDef (context:context) dst = case dst of R.REG {ty,...} => (checkTy context ty; ty) | R.COUPLE (ty, {hi, lo}) => ( checkTy context ty; checkDef context hi; checkDef context lo; ty ) | R.MEM mem => checkMem context mem fun checkRef (context:context) dst = case dst of R.REG v => checkVar context v | R.COUPLE (ty, {hi, lo}) => ( checkTy context ty; checkRef context hi; checkRef context lo; ty ) | R.MEM mem => checkMem context mem fun checkOperand (context:context) op1 = case op1 of R.CONST const => checkConst context const | R.REF (R.N, dst) => checkRef context dst | R.REF (R.CAST ty, dst) => ( checkTy context ty; checkRef context dst; ty ) fun checkSucc (context:context) label = case R.LabelMap.find (#liveness context, label) of NONE => ERROR (UndefinedLabel label) | SOME {vars={liveIn=liveVars,...}, slots={liveIn=liveSlots,...}} => ( app (fn v as {id, ty} => case VarID.Map.find (#vars (#env context), id) of NONE => ERROR (RequireLiveVarAcrossBlock (v,{succ=label})) | SOME {ty=ty2,...} => eqTy {actual=ty, require=ty2} (fn _ => TypeMismatchAcrossBlock (v,{succ=label,thisBlock=ty2,succBlock=ty}))) (varList liveVars); app (fn s as {id, format} => case VarID.Map.find (#slots (#env context), id) of NONE => ERROR (RequireLiveSlotAcrossBlock (s,{succ=label})) | SOME _ => ()) (slotList liveSlots) ) fun checkHandler (context:context) handler = case handler of R.NO_HANDLER => () | R.HANDLER {outside, handlers} => app (fn label => case R.LabelMap.find (#body (#cluster context), label) of SOME (R.HANDLERENTRY _, _, _) => checkSucc context label | SOME (_, _, _) => ERROR (NotHandlerEntry label) | NONE => ERROR (UndefinedLabel label)) handlers fun checkLabelConsist (label, key) = if VarID.eq (label, key) then () else ERROR (InconsistLabel (label, {key=key})) fun checkFirst (context:context) (key, first) = case first of R.BEGIN {label, align, loc} => (checkLabelConsist (label, key); emptyEnv) | R.CODEENTRY {label, symbol, scope, align, preFrameSize, stubOptions, defs, loc} => let val _ = checkLabelConsist (label, key) val _ = checkDefs context defs val _ = if VarID.Map.isEmpty (#vars (#env context)) then () else VarID.Map.app (fn v => ERROR (UndefinedVariable v)) (#vars (#env context)) val _ = if VarID.Map.isEmpty (#slots (#env context)) then () else VarID.Map.app (fn v => ERROR (UndefinedSlot v)) (#slots (#env context)) val preSize = #preFrameSize (#cluster context) val _ = if preFrameSize <= preSize then () else ERROR (PreFrameExceeded {actual=preFrameSize, limit=preSize}) in varEnv defs end | R.HANDLERENTRY {label, align, defs, loc} => ( checkLabelConsist (label, key); checkDefs context defs; varEnv defs ) | R.ENTER => (ERROR EnterFound; emptyEnv) fun checkInsn2 (context:context) (ty, dst, op1) = let val _ = checkTy context ty val ty1 = checkDef context dst val _ = eqTy {actual=ty1, require=ty} (DstTypeMismatch dst) val ty2 = checkOperand context op1 val _ = eqTy {actual=ty2, require=ty} (OperandTypeMismatch op1) in dstEnv dst end fun checkInsn3 (context:context) (ty, dst, op1, op2) = let val _ = checkTy context ty val ty1 = checkDef context dst val _ = eqTy {actual=ty1, require=ty} (DstTypeMismatch dst) val ty2 = checkOperand context op1 val _ = eqTy {actual=ty2, require=ty} (OperandTypeMismatch op1) val ty3 = checkOperand context op2 val _ = eqTy {actual=ty3, require=ty} (OperandTypeMismatch op2) in dstEnv dst end fun checkCast (context:context) (sign, fromTy, toTy, dst, op1) = let val ty1 = checkDef context dst val _ = eqTy {actual=ty1, require=toTy sign} (DstTypeMismatch dst) val ty2 = checkOperand context op1 val _ = eqTy {actual=ty2, require=fromTy sign} (OperandTypeMismatch op1) in dstEnv dst end fun checkShift (context:context) (ty, dst, op1, op2) = let val _ = checkTy context ty val ty1 = checkDef context dst val _ = eqTy {actual=ty1, require=ty} (DstTypeMismatch dst) val ty2 = checkOperand context op1 val _ = eqTy {actual=ty2, require=ty} (OperandTypeMismatch op1) val ty3 = checkOperand context op2 val _ = checkIntTy ty3 (OperandMustBeInt op2) in dstEnv dst end fun checkTest (context:context) (ty, op1, op2) = let val _ = checkTy context ty val ty1 = checkOperand context op1 val _ = eqTy {actual=ty1, require=ty} (OperandTypeMismatch op1) val ty2 = checkOperand context op2 val _ = eqTy {actual=ty2, require=ty} (OperandTypeMismatch op2) in emptyEnv end fun checkX86FLD (context:context) (ty, mem) = ( checkMem context (ty, mem); emptyEnv ) fun checkX86FST (context:context) (ty, mem) = ( checkMem context (ty, mem); dstEnv (R.MEM (ty, mem)) ) fun checkInsn (context:context) insn = case insn of R.NOP => emptyEnv | R.STABILIZE => emptyEnv (* stability check is performed later *) | R.REQUEST_SLOT slot => slotEnv [slot] | R.REQUIRE_SLOT slot => (checkSlot context slot; emptyEnv) | R.USE ops => (app (fn x => (checkOperand context x; ())) ops; emptyEnv) | R.COMPUTE_FRAME {uses, clobs} => ( checkUses context (VarID.Map.listItems uses); checkClobs context clobs; emptyEnv ) | R.MOVE (ty, dst, op1) => checkInsn2 context (ty, dst, op1) | R.MOVEADDR (pty, dst, addr) => let val ty1 = checkDef context dst val _ = eqTy {actual=ty1, require=R.Ptr pty} (DstTypeMismatch dst) val pty2 = checkAddr context addr val _ = checkPtrTy {actual=pty2, require=pty} (AddrTypeMismatch addr) in dstEnv dst end | R.COPY {ty, dst:R.dst, src:R.operand, clobs} => let val _ = checkTy context ty val env1 = checkInsn2 context (ty, dst, src) val _ = checkClobs context clobs in env1 end | R.MLOAD {ty, dst:R.slot, srcAddr, size, defs, clobs} => let val _ = checkTy context ty val _ = checkDef context (R.MEM (ty, R.SLOT dst)) val pty1 = checkAddr context srcAddr val ty2 = checkOperand context size val _ = checkIntTy ty2 (OperandMustBeInt size) val _ = checkDefs context defs val _ = checkClobs context clobs in unionEnv (slotEnv [dst], varEnv defs) end | R.MSTORE {ty, dstAddr, src:R.slot, size, defs, clobs, global} => let val _ = checkTy context ty val pty1 = checkAddr context dstAddr val _ = checkSlot context src val ty2 = checkOperand context size val _ = checkIntTy ty2 (OperandMustBeInt size) val _ = checkDefs context defs val _ = checkClobs context clobs in varEnv defs end | R.EXT8TO32 (sign, dst, op1) => checkCast context (sign, R.Int8, R.Int32, dst, op1) | R.EXT16TO32 (sign, dst, op1) => checkCast context (sign, R.Int16, R.Int32, dst, op1) | R.EXT32TO64 (sign, dst, op1) => checkCast context (sign, R.Int32, R.Int64, dst, op1) | R.DOWN32TO8 (sign, dst, op1) => checkCast context (sign, R.Int32, R.Int8, dst, op1) | R.DOWN32TO16 (sign, dst, op1) => checkCast context (sign, R.Int32, R.Int16, dst, op1) | R.ADD (ty, dst, op1, op2) => checkInsn3 context (ty, dst, op1, op2) | R.SUB (ty, dst, op1, op2) => checkInsn3 context (ty, dst, op1, op2) | R.MUL ((dstTy, dst), (op1Ty, op1), (op2Ty, op2)) => let val _ = checkTy context dstTy val _ = checkTy context op1Ty val _ = checkTy context op2Ty val ty1 = checkDef context dst val _ = eqTy {actual=ty1,require=dstTy} (DstTypeMismatch dst) val ty2 = checkOperand context op1 val _ = eqTy {actual=ty2,require=op1Ty} (OperandTypeMismatch op1) val ty3 = checkOperand context op2 val _ = eqTy {actual=ty3,require=op2Ty} (OperandTypeMismatch op2) in dstEnv dst end | R.DIVMOD ({div=(divTy,ddiv), mod=(modTy,dmod)}, (op1Ty,op1), (op2Ty,op2)) => let val _ = checkTy context divTy val _ = checkTy context modTy val _ = checkTy context op1Ty val _ = checkTy context op2Ty val ty1 = checkDef context ddiv val _ = eqTy {actual=ty1,require=divTy} (DstTypeMismatch ddiv) val ty2 = checkDef context dmod val _ = eqTy {actual=ty2,require=modTy} (DstTypeMismatch dmod) val ty3 = checkOperand context op1 val _ = eqTy {actual=ty3,require=op1Ty} (OperandTypeMismatch op1) val ty4 = checkOperand context op2 val _ = eqTy {actual=ty4,require=op2Ty} (OperandTypeMismatch op2) in unionEnv (dstEnv ddiv, dstEnv dmod) end | R.AND (ty, dst, op1, op2) => checkInsn3 context (ty, dst, op1, op2) | R.OR (ty, dst, op1, op2) => checkInsn3 context (ty, dst, op1, op2) | R.XOR (ty, dst, op1, op2) => checkInsn3 context (ty, dst, op1, op2) | R.LSHIFT (ty, dst, op1, op2) => checkShift context (ty, dst, op1, op2) | R.RSHIFT (ty, dst, op1, op2) => checkShift context (ty, dst, op1, op2) | R.ARSHIFT (ty, dst, op1, op2) => checkShift context (ty, dst, op1, op2) | R.TEST_SUB (ty, op1, op2) => checkTest context (ty, op1, op2) | R.TEST_AND (ty, op1, op2) => checkTest context (ty, op1, op2) | R.TEST_LABEL (pty, op1, l) => let val ty1 = checkOperand context op1 val _ = eqTy {actual=ty1, require=R.Ptr pty} (OperandTypeMismatch op1) val pty2 = checkLabelRef context l val _ = eqTy {actual=R.Ptr pty2, require=R.Ptr pty} (LabelTypeMismatch l) in emptyEnv end | R.NOT (ty, dst, op1) => checkInsn2 context (ty, dst, op1) | R.NEG (ty, dst, op1) => checkInsn2 context (ty, dst, op1) | R.SET (cc1, ty, dst, {test}) => let val env1 = checkInsn context test val ty1 = checkDef context dst val _ = eqTy {actual=ty1, require=ty} (DstTypeMismatch dst) in dstEnv dst end | R.LOAD_FP dst => let val ty1 = checkDef context dst val _ = eqTy {actual=ty1, require=R.Ptr R.Void} (DstTypeMismatch dst) in dstEnv dst end | R.LOAD_SP dst => let val ty1 = checkDef context dst val _ = eqTy {actual=ty1, require=R.Ptr R.Void} (DstTypeMismatch dst) in dstEnv dst end | R.LOAD_PREV_FP dst => let val ty1 = checkDef context dst val _ = eqTy {actual=ty1, require=R.Ptr R.Void} (DstTypeMismatch dst) in dstEnv dst end | R.LOAD_RETADDR dst => let val ty1 = checkDef context dst val _ = eqTy {actual=ty1, require=R.Ptr R.Code} (DstTypeMismatch dst) in dstEnv dst end | R.LOADABSADDR {ty, dst, symbol, thunk} => let val ty1 = checkDef context dst val _ = eqTy {actual=ty1, require=ty} (DstTypeMismatch dst) val pty2 = checkLabelRef context symbol val _ = eqTy {actual=R.Ptr pty2, require=ty} (LabelTypeMismatch symbol) val _ = case thunk of NONE => () | SOME thunk => case SEnv.find (#symbolEnv context, thunk) of NONE => ERROR (UndefinedSymbol thunk) | SOME (_,{ptrTy=R.Code,...}) => () | SOME (_,{ptrTy,...}) => ERROR (SymbolTypeMismatch (thunk, {actual=ptrTy, require=R.Code})) in dstEnv dst end | R.X86 (R.X86LEAINT (ty, dst, {base, shift, offset, disp})) => let val _ = checkIntTy ty TypeMustBeInt val ty1 = checkDef context dst val _ = eqTy {actual=ty1, require=ty} (DstTypeMismatch dst) val ty2 = checkVar context base val _ = eqTy {actual=ty2, require=ty} (VariableTypeMismatch base) val ty3 = checkVar context offset val _ = eqTy {actual=ty3, require=ty} (VariableTypeMismatch offset) val ty4 = checkConst context disp val _ = eqTy {actual=ty4, require=ty} (ConstTypeMismatch disp) in dstEnv dst end | R.X86 (R.X86FLD (ty, mem)) => checkX86FLD context (ty, mem) | R.X86 (R.X86FLD_ST st) => emptyEnv | R.X86 (R.X86FST (ty, mem)) => checkX86FST context (ty, mem) | R.X86 (R.X86FSTP (ty, mem)) => checkX86FST context (ty, mem) | R.X86 (R.X86FSTP_ST st) => emptyEnv | R.X86 (R.X86FADD (ty, mem)) => checkX86FLD context (ty, mem) | R.X86 (R.X86FADD_ST (st1, st2)) => emptyEnv | R.X86 (R.X86FADDP st1) => emptyEnv | R.X86 (R.X86FSUB (ty, mem)) => checkX86FLD context (ty, mem) | R.X86 (R.X86FSUB_ST (st1, st2)) => emptyEnv | R.X86 (R.X86FSUBP st1) => emptyEnv | R.X86 (R.X86FSUBR (ty, mem)) => checkX86FLD context (ty, mem) | R.X86 (R.X86FSUBR_ST (st1, st2)) => emptyEnv | R.X86 (R.X86FSUBRP st1) => emptyEnv | R.X86 (R.X86FMUL (ty, mem)) => checkX86FLD context (ty, mem) | R.X86 (R.X86FMUL_ST (st1, st2)) => emptyEnv | R.X86 (R.X86FMULP st1) => emptyEnv | R.X86 (R.X86FDIV (ty, mem)) => checkX86FLD context (ty, mem) | R.X86 (R.X86FDIV_ST (st1, st2)) => emptyEnv | R.X86 (R.X86FDIVP st1) => emptyEnv | R.X86 (R.X86FDIVR (ty, mem)) => checkX86FLD context (ty, mem) | R.X86 (R.X86FDIVR_ST (st1, st2)) => emptyEnv | R.X86 (R.X86FDIVRP st1) => emptyEnv | R.X86 R.X86FPREM => emptyEnv | R.X86 (R.X86FABS) => emptyEnv | R.X86 (R.X86FCHS) => emptyEnv | R.X86 R.X86FINCSTP => emptyEnv | R.X86 (R.X86FFREE st) => emptyEnv | R.X86 (R.X86FXCH st) => emptyEnv | R.X86 (R.X86FUCOM st) => emptyEnv | R.X86 (R.X86FUCOMP st) => emptyEnv | R.X86 R.X86FUCOMPP => emptyEnv | R.X86 (R.X86FSW_TESTH {clob,mask}) => (checkClobs context [clob]; emptyEnv) | R.X86 (R.X86FSW_MASKCMPH {clob,mask,compare}) => (checkClobs context [clob]; emptyEnv) | R.X86 (R.X86FLDCW mem) => ( checkMem context (R.Int16 R.U, mem); emptyEnv ) | R.X86 (R.X86FNSTCW mem) => ( checkMem context (R.Int16 R.U, mem); dstEnv (R.MEM (R.Int16 R.U, mem)) ) | R.X86 R.X86FWAIT => emptyEnv | R.X86 R.X86FNCLEX => emptyEnv fun checkLast (context:context) last = case last of R.HANDLE (insn, {nextLabel, handler}) => let val env1 = checkInsn context insn val context = extendContext (context, env1) val _ = checkSucc context nextLabel val _ = checkHandler context handler in context end | R.CJUMP {test, cc, thenLabel, elseLabel} => let val env1 = checkInsn context test val context = extendContext (context, env1) handle e => (print (Control.prettyPrint (RTL.format_last last)^ "\n"); raise e) val _ = checkSucc context thenLabel val _ = checkSucc context elseLabel in context end | R.CALL {callTo, returnTo, handler, defs, uses, needStabilize, postFrameAdjust} => let val pty1 = checkAddr context callTo val _ = checkPtrTy {require=R.Code, actual=pty1} (AddrTypeMismatch callTo) val _ = checkDefs context defs val _ = checkUses context uses val context = extendContext (context, varEnv defs) val _ = checkSucc context returnTo val _ = checkHandler context handler in context end | R.JUMP {jumpTo, destinations} => let val pty1 = checkAddr context jumpTo val _ = checkPtrTy {require=R.Code, actual=pty1} (AddrTypeMismatch jumpTo) val _ = app (checkSucc context) destinations in context end | R.UNWIND_JUMP {jumpTo, sp, fp, uses, handler} => let val pty1 = checkAddr context jumpTo val _ = checkPtrTy {require=R.Code, actual=pty1} (AddrTypeMismatch jumpTo) val ty1 = checkOperand context sp val _ = eqTy {actual=ty1, require=R.Ptr R.Void} (OperandTypeMismatch sp) val ty2 = checkOperand context fp val _ = eqTy {actual=ty2, require=R.Ptr R.Void} (OperandTypeMismatch fp) val _ = checkUses context uses val _ = checkHandler context handler in context end | R.TAILCALL_JUMP {preFrameSize, jumpTo, uses} => let val pty1 = checkAddr context jumpTo val _ = checkPtrTy {require=R.Code, actual=pty1} (AddrTypeMismatch jumpTo) val _ = checkUses context uses val preSize = #preFrameSize (#cluster context) val _ = if preFrameSize <= preSize then () else ERROR (PreFrameExceeded {actual = preFrameSize, limit = preSize}) in context end | R.RETURN {preFrameSize, stubOptions, uses} => let val _ = checkUses context uses val preSize = #preFrameSize (#cluster context) val _ = if preFrameSize <= preSize then () else ERROR (PreFrameExceeded {actual = preFrameSize, limit = preSize}) in context end | R.EXIT => (ERROR ExitFound; context) fun checkPtrStability liveOut = let val vars = RTLUtils.Var.filter (fn {ty=R.Ptr R.Data,...} => true | _ => false) liveOut in if RTLUtils.Var.isEmpty vars then () else app (fn x => ERROR (NotStabilized x)) (varList vars) end fun getFirstLabel first = case first of R.BEGIN {label, align, loc} => SOME label | R.CODEENTRY {label, symbol, scope, align, preFrameSize, stubOptions, defs, loc} => SOME label | R.HANDLERENTRY {label, align, defs, loc} => SOME label | R.ENTER => NONE fun checkLivenessFirst {checkStability} ({liveIn, liveOut}:RTLLiveness.liveness) first = case first of R.BEGIN {label, align, loc} => () | R.CODEENTRY {label, symbol, scope, align, preFrameSize, stubOptions, defs, loc} => () | R.HANDLERENTRY {label, align, defs, loc} => if checkStability then if RTLUtils.Var.isEmpty (minus (liveOut, defs)) then () else app (fn x => ERROR (NotStabilized x)) (varList liveOut) else () | R.ENTER => () fun checkLivenessInsn {checkStability} (live as {liveIn, liveOut}:RTLLiveness.liveness) insn = case insn of R.NOP => () | R.STABILIZE => if checkStability then checkPtrStability liveIn else () | R.COMPUTE_FRAME {uses, clobs} => checkClobsLive live clobs | R.REQUEST_SLOT slot => () | R.REQUIRE_SLOT slot => () | R.USE vars => () | R.MOVE (ty, dst, op1) => () | R.MOVEADDR (ptrTy, dst, addr) => () | R.COPY {ty, dst, src, clobs} => checkClobsLive live clobs | R.MLOAD {ty, dst, srcAddr, size, defs, clobs} => checkClobsLive live clobs | R.MSTORE {ty, dstAddr, src, size, global, defs, clobs} => checkClobsLive live clobs | R.EXT8TO32 (sign, dst, op1) => () | R.EXT16TO32 (sign, dst, op1) => () | R.EXT32TO64 (sign, dst, op1) => () | R.DOWN32TO8 (sign, dst, op1) => () | R.DOWN32TO16 (sign, dst, op1) => () | R.ADD (ty, dst, op1, op2) => () | R.SUB (ty, dst, op1, op2) => () | R.MUL ((ty, dst), (ty2, op1), (ty3, op2)) => () | R.DIVMOD ({div, mod}, (ty3, op1), (ty4, op2)) => () | R.AND (ty, dst, op1, op2) => () | R.OR (ty, dst, op1, op2) => () | R.XOR (ty, dst, op1, op2) => () | R.LSHIFT (ty, dst, op1, op2) => () | R.RSHIFT (ty, dst, op1, op2) => () | R.ARSHIFT (ty, dst, op1, op2) => () | R.TEST_SUB (ty, op1, op2) => () | R.TEST_AND (ty, op1, op2) => () | R.TEST_LABEL (ptrTy, op1, label) => () | R.NOT (ty, dst, op1) => () | R.NEG (ty, dst, op1) => () | R.SET (cc1, ty, dst, {test}) => () | R.LOAD_FP dst => () | R.LOAD_SP dst => () | R.LOAD_PREV_FP dst => () | R.LOAD_RETADDR dst => () | R.LOADABSADDR {ty, dst, symbol, thunk} => () | R.X86 (R.X86LEAINT (ty, dst, {base, shift, offset, disp})) => () | R.X86 (R.X86FLD (ty, mem)) => () | R.X86 (R.X86FLD_ST x86st1) => () | R.X86 (R.X86FST (ty, mem)) => () | R.X86 (R.X86FSTP (ty, mem)) => () | R.X86 (R.X86FSTP_ST x86st1) => () | R.X86 (R.X86FADD (ty, mem)) => () | R.X86 (R.X86FADD_ST (x86st1, x86st2)) => () | R.X86 (R.X86FADDP x86st1) => () | R.X86 (R.X86FSUB (ty, mem)) => () | R.X86 (R.X86FSUB_ST (x86st1, x86st2)) => () | R.X86 (R.X86FSUBP x86st1) => () | R.X86 (R.X86FSUBR (ty, mem)) => () | R.X86 (R.X86FSUBR_ST (x86st1, x86st2)) => () | R.X86 (R.X86FSUBRP x86st1) => () | R.X86 (R.X86FMUL (ty, mem)) => () | R.X86 (R.X86FMUL_ST (x86st1, x86st2)) => () | R.X86 (R.X86FMULP x86st1) => () | R.X86 (R.X86FDIV (ty, mem)) => () | R.X86 (R.X86FDIV_ST (x86st1, x86st2)) => () | R.X86 (R.X86FDIVP x86st1) => () | R.X86 (R.X86FDIVR (ty, mem)) => () | R.X86 (R.X86FDIVR_ST (x86st1, x86st2)) => () | R.X86 (R.X86FDIVRP x86st1) => () | R.X86 R.X86FPREM => () | R.X86 R.X86FABS => () | R.X86 R.X86FCHS => () | R.X86 R.X86FINCSTP => () | R.X86 (R.X86FFREE x86st1) => () | R.X86 (R.X86FXCH x86st1) => () | R.X86 (R.X86FUCOM x86st1) => () | R.X86 (R.X86FUCOMP x86st1) => () | R.X86 R.X86FUCOMPP => () | R.X86 (R.X86FSW_TESTH {clob,mask}) => checkClobLive live clob | R.X86 (R.X86FSW_MASKCMPH {clob,mask,compare}) => checkClobLive live clob | R.X86 (R.X86FLDCW mem) => () | R.X86 (R.X86FNSTCW mem) => () | R.X86 R.X86FWAIT => () | R.X86 R.X86FNCLEX => () fun checkLivenessLast {checkStability} ({liveIn, liveOut}:RTLLiveness.liveness) last = case last of R.HANDLE (insn, {nextLabel, handler}) => () | R.CJUMP {test, cc, thenLabel, elseLabel} => () | R.CALL {callTo, returnTo, handler, defs, uses, needStabilize, postFrameAdjust} => if checkStability then checkPtrStability (minus (liveOut, defs)) else () | R.JUMP {jumpTo, destinations} => () | R.UNWIND_JUMP {jumpTo, sp, fp, uses, handler} => () | R.TAILCALL_JUMP {preFrameSize, jumpTo, uses} => () | R.RETURN {preFrameSize, stubOptions, uses} => () | R.EXIT => () fun checkInsnList (context:context) (insn::insns) = let val env1 = WRAP (ErrorAtMiddle insn) (checkInsn context insn) val context = extendContext (context, env1) val context = checkInsnList context insns in context end | checkInsnList (context:context) nil = context fun checkBlock (context:context) (label, (first, mid, last):R.block) = let val env = WRAP (ErrorAtFirst first) (checkFirst context (label, first)) val context = extendContext (context, env) val context = checkInsnList context mid val context = WRAP (ErrorAtLast last) (checkLast context last) in app (fn v as {id, ty} => case VarID.Map.find (#vars (#env context), id) of NONE => ERROR (VarNotFoundInLiveOut v) | SOME {ty=ty2,...} => eqTy {actual=ty, require=ty2} (fn _ => TypeMismatchWithLiveOut (v,{actual=ty2,liveOut=ty}))) (varList (#vars (#liveOut context))); app (fn v as {id, format} => case VarID.Map.find (#slots (#env context), id) of NONE => ERROR (SlotNotFoundInLiveOut v) | SOME _ => ()) (slotList (#slots (#liveOut context))) end fun checkClusterLiveness options livenessGraph = let val prevErrors = !errors val (err1, err2) = RTLLiveness.foldBackward (fn (RTLEdit.FIRST first, live, (e1, e2)) => (errors := nil; checkLivenessFirst options live first; case !errors @ e1 of nil => (nil, e2) | errs => (nil, ErrorInBlock (getFirstLabel first) errs :: e2)) | (RTLEdit.MIDDLE insn, live, (e1, e2)) => (errors := nil; checkLivenessInsn options live insn; (!errors @ e1, e2)) | (RTLEdit.LAST last, live, (e1, e2)) => (errors := nil; checkLivenessLast options live last; (!errors @ e1, e2))) (nil, nil) livenessGraph in errors := err1 @ rev err2 @ prevErrors end fun checkCluster {symbolEnv, checkStability} ({clusterId, frameBitmap, baseLabel, body, preFrameSize, postFrameSize, numHeaderWords, loc}:R.cluster) = let val livenessGraph = RTLLiveness.liveness body val _ = checkClusterLiveness {checkStability=checkStability} livenessGraph val liveness = RTLEdit.annotations livenessGraph val livenessSlot = RTLLiveness.livenessSlot body val liveness = R.LabelMap.mapi (fn (label, liveVars) => let val focus = RTLEdit.focusBlock (livenessSlot, label) in {vars = liveVars, slots = RTLEdit.annotation focus} end) liveness val cluster = { frameBitmap = frameBitmap, body = body, baseLabel = baseLabel, preFrameSize = preFrameSize, postFrameSize = postFrameSize } in WRAP (ErrorInCluster clusterId) (R.LabelMap.appi (fn (label, block) => let val {vars, slots} = R.LabelMap.lookup (liveness, label) val context = { env = setToEnv (#liveIn vars, #liveIn slots), liveOut = {vars = #liveOut vars, slots = #liveOut slots}, cluster = cluster, symbolEnv = symbolEnv, liveness = liveness } : context in WRAP (ErrorInBlock (SOME label)) (checkBlock context (label, block)) end) body) end fun dummyContext {symbolEnv, checkStability} = { env = emptyEnv, liveOut = {vars = RTLUtils.Var.emptySet, slots = RTLUtils.Slot.emptySet}, cluster = {frameBitmap = nil, body = R.emptyGraph, baseLabel = NONE, preFrameSize = 0, postFrameSize = 0}, symbolEnv = symbolEnv, liveness = R.LabelMap.empty } : context fun checkDatum context datum = case datum of R.CONST_DATA const => (checkConst context const; ()) | R.LABELREF_DATA label => (checkLabelRef context label; ()) | R.BINARY_DATA wordList => () | R.ASCII_DATA s => () | R.SPACE_DATA {size} => () fun checkDatumList context data = app (checkDatum context) data fun checkData context ({scope, symbol, aliases, ptrTy, section, prefix, align, data, prefixSize}:R.data) = ( checkDatumList context prefix; checkDatumList context data ) fun unifySymbolDef (symbol, (STRONG, _:symbolDef), (STRONG, _:symbolDef)) = (ERROR (DoubledSymbol symbol); NONE) | unifySymbolDef (symbol, (WEAK, def1), (WEAK, def2)) = (ERROR (DoubledSymbol symbol); NONE) | unifySymbolDef (symbol, def1 as (WEAK, _), def2 as (STRONG, _)) = unifySymbolDef (symbol, def2, def1) | unifySymbolDef (symbol, (STRONG, def1), (WEAK, def2)) = ( case #scope def1 of R.LOCAL => ERROR (SymbolScopeMismatch (symbol, {actual = #scope def2, require = R.GLOBAL})) | R.GLOBAL => (); case #scope def2 of R.LOCAL => ERROR (SymbolScopeMismatch (symbol, {actual = #scope def2, require = R.GLOBAL})) | R.GLOBAL => (); if #ptrTy def1 = #ptrTy def2 then () else ERROR (SymbolTypeMismatch (symbol, {actual = #ptrTy def2, require = #ptrTy def1})); SOME (STRONG, {haveLinkEntry = #haveLinkEntry def1 orelse #haveLinkEntry def2, haveLinkStub = #haveLinkStub def1 orelse #haveLinkStub def2, scope = #scope def1, ptrTy = #ptrTy def1}) ) fun unionSymbolEnv (env1:symbolEnv, env2:symbolEnv) = SEnv.foldri (fn (symbol, def, env1:symbolEnv) => case (SEnv.find (env1, symbol), def) of (NONE, _) => SEnv.insert (env1, symbol, def) | (SOME def1, def2) => case unifySymbolDef (symbol, def1, def2) of NONE => env1 | SOME def => SEnv.insert (env1, symbol, def)) env1 env2 fun symbolDef topdecl = case topdecl of R.TOPLEVEL {symbol, toplevelEntry, nextToplevel, smlPushHandlerLabel, smlPopHandlerLabel} => SEnv.singleton (symbol, (STRONG, {haveLinkEntry = false, haveLinkStub = false, scope = R.GLOBAL, ptrTy = R.Code})) | R.CLUSTER {body, ...} => R.LabelMap.foldl (fn ((R.CODEENTRY {symbol, scope, ...}, _, _), env) => if SEnv.inDomain (env, symbol) then (ERROR (DoubledSymbol symbol); env) else SEnv.insert (env, symbol, (STRONG, {haveLinkEntry = false, haveLinkStub = false, scope = scope, ptrTy = R.Code})) | (_, z) => z) SEnv.empty body | R.DATA {scope, symbol, ptrTy, ...} => SEnv.singleton (symbol, (STRONG, {haveLinkEntry = false, haveLinkStub = false, scope = scope, ptrTy = ptrTy})) | R.BSS {scope, symbol, size} => SEnv.singleton (symbol, (STRONG, {haveLinkEntry = false, haveLinkStub = false, scope = scope, ptrTy = R.Void})) | R.X86GET_PC_THUNK_BX symbol => SEnv.singleton (symbol, (STRONG, {haveLinkEntry = false, haveLinkStub = false, scope = R.LOCAL, ptrTy = R.Code})) | R.EXTERN {symbol, linkStub, linkEntry, ptrTy} => SEnv.singleton (symbol, (WEAK, {haveLinkEntry = linkEntry, haveLinkStub = linkStub, scope = R.GLOBAL, ptrTy = ptrTy})) fun makeSymbolEnv program = foldl (fn (topdecl, env) => let val env1 = symbolDef topdecl val env2 = unionSymbolEnv (env, env1) in env2 end) SEnv.empty program fun checkTopdecl (context as {symbolEnv, checkStability}) topdecl = case topdecl of R.TOPLEVEL {symbol, toplevelEntry, nextToplevel, smlPushHandlerLabel, smlPopHandlerLabel} => let val context = dummyContext context val pty1 = checkLabelRef context smlPushHandlerLabel val _ = eqTy {require=R.Ptr R.Code, actual=R.Ptr pty1} (LabelTypeMismatch smlPushHandlerLabel) val pty2 = checkLabelRef context smlPopHandlerLabel val _ = eqTy {require=R.Ptr R.Code, actual=R.Ptr pty2} (LabelTypeMismatch smlPopHandlerLabel) in () end | R.CLUSTER (cluster as {clusterId,...}) => checkCluster context cluster | R.DATA (data as {symbol,...}) => let val context = dummyContext context in WRAP (ErrorInData symbol) (checkData context data) end | R.BSS _ => () | R.X86GET_PC_THUNK_BX _ => () | R.EXTERN _ => () fun check {checkStability} program = let val _ = errors := nil val symbolEnv = makeSymbolEnv program val context = {symbolEnv = symbolEnv, checkStability = checkStability} val _ = app (checkTopdecl context) program in rev (!errors) before errors := nil end end smlsharp-1.2.0/src/compiler/rtl/main/RTLTypeCheckError.ppg0000644 000000000000000000001040712050661606023616 0ustar00rootroot0000000 0000000 (* -*- sml -*- *) structure RTLTypeCheckError = struct (*% * @formatter(RTL.addr) RTL.format_addr * @formatter(RTL.clusterId) RTL.format_clusterId * @formatter(RTL.const) RTL.format_const * @formatter(RTL.dst) RTL.format_dst * @formatter(RTL.first) RTL.format_first * @formatter(RTL.format) RTL.format_format * @formatter(RTL.instruction) RTL.format_instruction * @formatter(RTL.label) RTL.format_label * @formatter(RTL.labelReference) RTL.format_labelReference * @formatter(RTL.last) RTL.format_last * @formatter(RTL.mem) RTL.format_mem * @formatter(RTL.operand) RTL.format_operand * @formatter(RTL.ptrTy) RTL.format_ptrTy * @formatter(RTL.slot) RTL.format_slot * @formatter(RTL.symbol) RTL.format_symbol * @formatter(RTL.symbolScope) RTL.format_symbolScope * @formatter(RTL.tid) RTL.format_tid * @formatter(RTL.ty) RTL.format_ty * @formatter(RTL.var) RTL.format_var *) datatype err = UndefinedGenericTid of RTL.tid | IntTyRequired of RTL.ty | PtrTyRequired of {actual:RTL.ty, require:RTL.ptrTy option} | TypeRequired of {actual:RTL.ty, require:RTL.ty} | UndefinedLabel of RTL.label | UndefinedSymbol of string | SymbolScopeMismatch of string * {actual:RTL.symbolScope, require:RTL.symbolScope} | SymbolTypeMismatch of string * {actual:RTL.ptrTy, require:RTL.ptrTy} | SymbolTypeMismatch2 of string * {actual:RTL.ptrTy, require:RTL.ptrTy} | SymbolLinkEntryNotFound of RTL.labelReference | SymbolLinkStubNotFound of RTL.labelReference | PointerTypeMismatch of RTL.const * RTL.ptrTy * RTL.ptrTy | DisplacementMustBeInt of RTL.const * {actual:RTL.ty} | IndexMustBeInt of RTL.var * {actual:RTL.ty} | DisplacementTypeMismatch of RTL.addr * {displacement:RTL.ty, addr:RTL.ptrTy} | IndexTypeMismatch of RTL.addr * {index:RTL.ty, addr:RTL.ptrTy} | UndefinedSlot of RTL.slot | SlotFormatMismatch of RTL.slot * {actual:RTL.format, require:RTL.format} | UndefinedVariable of RTL.var | VariableTypeMismatch of RTL.var * {actual:RTL.ty, require:RTL.ty} | ClobVariableIsLive of RTL.var | PreFrameExceeded of {actual:int, limit:int} | PostFrameExceeded of {actual:int, limit:int} | TypeAnnotationMismatch of RTL.operand * {actual:RTL.ty, require:RTL.ty} | NotHandlerEntry of RTL.label | NotStabilized of RTL.var | EnterFound | ExitFound | DstTypeMismatch of RTL.dst * {actual:RTL.ty, require:RTL.ty} | OperandTypeMismatch of RTL.operand * {actual:RTL.ty, require:RTL.ty} | OperandMustBeInt of RTL.operand * {actual:RTL.ty} | TypeMustBeInt of {actual:RTL.ty} | VarMustBePointer of RTL.var * {actual:RTL.ty} | AddrTypeMismatch of RTL.addr * {actual:RTL.ptrTy, require:RTL.ptrTy} | LabelTypeMismatch of RTL.labelReference * {actual:RTL.ty, require:RTL.ty} | ConstTypeMismatch of RTL.const * {actual:RTL.ty, require:RTL.ty} | MemTypeMismatch of RTL.mem * {actual:RTL.ty, require:RTL.ty} | TypeMismatchAcrossBlock of RTL.var * {succ:RTL.label, thisBlock:RTL.ty, succBlock:RTL.ty} | RequireLiveVarAcrossBlock of RTL.var * {succ:RTL.label} | RequireLiveSlotAcrossBlock of RTL.slot * {succ:RTL.label} | InconsistLabel of RTL.label * {key:RTL.label} | VarNotFoundInLiveOut of RTL.var | SlotNotFoundInLiveOut of RTL.slot | DuplicateVariable of RTL.var * RTL.var | DuplicateSlot of RTL.slot * RTL.slot | TypeMismatchWithLiveOut of RTL.var * {actual:RTL.ty, liveOut:RTL.ty} | (*% @format(first * errs) "At `" first "':" 2[ +1 errs ] *) ErrorAtFirst of RTL.first * errlist | (*% @format(insn * errs) "At `" insn "':" 2[ +1 errs ] *) ErrorAtMiddle of RTL.instruction * errlist | (*% @format(last * errs) "At `" last "':" 2[ +1 errs ] *) ErrorAtLast of RTL.last * errlist | (*% @format(label opt * errs) "In block " opt(label) ":" 2[ +1 errs ] *) ErrorInBlock of RTL.label option * errlist | (*% @format(clusterId * errs) "In cluster " clusterId ":" 2[ +1 errs ] *) ErrorInCluster of RTL.clusterId * errlist | (*% @format(symbol * errs) "In data " symbol ":" 2[ +1 errs ] *) ErrorInData of RTL.symbol * errlist | DoubledSymbol of RTL.symbol withtype errlist = (*% * @format(err errs) * errs(err)("," 1) *) err list end smlsharp-1.2.0/src/compiler/rtl/main/RTLTypeCheckError.ppg.smi0000644 000000000000000000000620112050661606024402 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "RTL.ppg.smi" structure RTLTypeCheckError = struct datatype err = UndefinedGenericTid of RTL.tid | IntTyRequired of RTL.ty | PtrTyRequired of {actual:RTL.ty, require:RTL.ptrTy option} | TypeRequired of {actual:RTL.ty, require:RTL.ty} | UndefinedLabel of RTL.label | UndefinedSymbol of string | SymbolScopeMismatch of string * {actual:RTL.symbolScope, require:RTL.symbolScope} | SymbolTypeMismatch of string * {actual:RTL.ptrTy, require:RTL.ptrTy} | SymbolTypeMismatch2 of string * {actual:RTL.ptrTy, require:RTL.ptrTy} | SymbolLinkEntryNotFound of RTL.labelReference | SymbolLinkStubNotFound of RTL.labelReference | PointerTypeMismatch of RTL.const * RTL.ptrTy * RTL.ptrTy | DisplacementMustBeInt of RTL.const * {actual:RTL.ty} | IndexMustBeInt of RTL.var * {actual:RTL.ty} | DisplacementTypeMismatch of RTL.addr * {displacement:RTL.ty, addr:RTL.ptrTy} | IndexTypeMismatch of RTL.addr * {index:RTL.ty, addr:RTL.ptrTy} | UndefinedSlot of RTL.slot | SlotFormatMismatch of RTL.slot * {actual:RTL.format, require:RTL.format} | UndefinedVariable of RTL.var | VariableTypeMismatch of RTL.var * {actual:RTL.ty, require:RTL.ty} | ClobVariableIsLive of RTL.var | PreFrameExceeded of {actual:int, limit:int} | PostFrameExceeded of {actual:int, limit:int} | TypeAnnotationMismatch of RTL.operand * {actual:RTL.ty, require:RTL.ty} | NotHandlerEntry of RTL.label | NotStabilized of RTL.var | EnterFound | ExitFound | DstTypeMismatch of RTL.dst * {actual:RTL.ty, require:RTL.ty} | OperandTypeMismatch of RTL.operand * {actual:RTL.ty, require:RTL.ty} | OperandMustBeInt of RTL.operand * {actual:RTL.ty} | TypeMustBeInt of {actual:RTL.ty} | VarMustBePointer of RTL.var * {actual:RTL.ty} | AddrTypeMismatch of RTL.addr * {actual:RTL.ptrTy, require:RTL.ptrTy} | LabelTypeMismatch of RTL.labelReference * {actual:RTL.ty, require:RTL.ty} | ConstTypeMismatch of RTL.const * {actual:RTL.ty, require:RTL.ty} | MemTypeMismatch of RTL.mem * {actual:RTL.ty, require:RTL.ty} | TypeMismatchAcrossBlock of RTL.var * {succ:RTL.label, thisBlock:RTL.ty, succBlock:RTL.ty} | RequireLiveVarAcrossBlock of RTL.var * {succ:RTL.label} | RequireLiveSlotAcrossBlock of RTL.slot * {succ:RTL.label} | InconsistLabel of RTL.label * {key:RTL.label} | VarNotFoundInLiveOut of RTL.var | SlotNotFoundInLiveOut of RTL.slot | DuplicateVariable of RTL.var * RTL.var | DuplicateSlot of RTL.slot * RTL.slot | TypeMismatchWithLiveOut of RTL.var * {actual:RTL.ty, liveOut:RTL.ty} | ErrorAtFirst of RTL.first * err list | ErrorAtMiddle of RTL.instruction * err list | ErrorAtLast of RTL.last * err list | ErrorInBlock of RTL.label option * err list | ErrorInCluster of RTL.clusterId * err list | ErrorInData of RTL.symbol * err list | DoubledSymbol of RTL.symbol type errlist = err list val format_err : err -> SMLFormat.FormatExpression.expression list val format_errlist : errlist -> SMLFormat.FormatExpression.expression list end smlsharp-1.2.0/src/compiler/rtl/main/RTLUtils.smi0000644 000000000000000000000661712050661606022037 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "RTL.ppg.smi" _require "RTLEdit.smi" structure RTLUtils = struct structure Var = struct type set (= boxed) type defuseSet = {defs: set, uses: set} val format_set : set SMLFormat.BasicFormatters.formatter val setUnion : set * set -> set val setMinus : set * set -> set val setIsSubset : set * set -> bool val emptySet : set val fold : (RTL.var * 'a -> 'a) -> 'a -> set -> 'a val app : (RTL.var -> unit) -> set -> unit val filter : (RTL.var -> bool) -> set -> set val inDomain : set * RTL.id -> bool val find : set * RTL.id -> RTL.var option val isEmpty : set -> bool val fromList : RTL.var list -> set val toVarIDSet : set -> VarID.Set.set val singleton : RTL.var -> set val defuseFirst : RTL.first -> defuseSet val defuseInsn : RTL.instruction -> defuseSet val defuseLast : RTL.last -> defuseSet val defuse : RTLEdit.node -> defuseSet val clobsFirst : RTL.first -> set val clobsInsn : RTL.instruction -> set val clobsLast : RTL.last -> set val clobs : RTLEdit.node -> set end structure Slot = struct type set (= boxed) type defuseSet = {defs: set, uses: set} val format_set : set SMLFormat.BasicFormatters.formatter val setUnion : set * set -> set val setMinus : set * set -> set val setIsSubset : set * set -> bool val emptySet : set val fold : (RTL.slot * 'a -> 'a) -> 'a -> set -> 'a val app : (RTL.slot -> unit) -> set -> unit val filter : (RTL.slot -> bool) -> set -> set val inDomain : set * RTL.id -> bool val find : set * RTL.id -> RTL.slot option val isEmpty : set -> bool val fromList : RTL.slot list -> set val toVarIDSet : set -> VarID.Set.set val singleton : RTL.slot -> set val defuseFirst : RTL.first -> defuseSet val defuseInsn : RTL.instruction -> defuseSet val defuseLast : RTL.last -> defuseSet val defuse : RTLEdit.node -> defuseSet end val labelPtrTy : RTL.labelReference -> RTL.ptrTy val labelTy : RTL.labelReference -> RTL.ty val constTy : RTL.const -> RTL.ty val addrTy : RTL.addr -> RTL.ptrTy val dstTy : RTL.dst -> RTL.ty val operandTy : RTL.operand -> RTL.ty val handlerLabels : RTL.handler -> RTL.label list val successors : RTL.last -> RTL.label list val edges : RTL.graph -> {succs: RTL.label list, preds: RTL.label list} RTLEdit.annotatedGraph val preorder : RTL.graph -> RTL.label list val postorder : RTL.graph -> RTL.label list type 'a analysis = { init: 'a, join: 'a * 'a -> 'a, pass: RTLEdit.node * 'a -> 'a, filterIn: RTL.label * 'a -> 'a, filterOut: RTL.label * 'a -> 'a, changed: {old:'a, new:'a} -> bool } type 'a answer = { answerIn: 'a, answerOut: 'a, succs: RTL.label list, preds: RTL.label list } val format_answer : 'a SMLFormat.BasicFormatters.formatter -> 'a answer SMLFormat.BasicFormatters.formatter val analyzeFlowBackward : 'a analysis -> RTL.graph -> 'a answer RTLEdit.annotatedGraph val analyzeFlowForward : 'a analysis -> RTL.graph -> 'a answer RTLEdit.annotatedGraph val mapCluster : (RTL.graph -> RTL.graph) -> RTL.program -> RTL.program end smlsharp-1.2.0/src/compiler/rtl/main/RTLUtils.sml0000644 000000000000000000007520612050661606022042 0ustar00rootroot0000000 0000000 (** * x86 RTL * @copyright (c) 2009, Tohoku University. * @author UENO Katsuhiro * @version $Id: $ *) structure RTLUtils :> sig structure Var : sig type set type defuseSet = {defs: set, uses: set} val format_set : set SMLFormat.BasicFormatters.formatter val setUnion : set * set -> set val setMinus : set * set -> set val setIsSubset : set * set -> bool val emptySet : set val fold : (RTL.var * 'a -> 'a) -> 'a -> set -> 'a val app : (RTL.var -> unit) -> set -> unit val filter : (RTL.var -> bool) -> set -> set val inDomain : set * RTL.id -> bool val find : set * RTL.id -> RTL.var option val isEmpty : set -> bool val fromList : RTL.var list -> set val toVarIDSet : set -> VarID.Set.set val singleton : RTL.var -> set val defuseFirst : RTL.first -> defuseSet val defuseInsn : RTL.instruction -> defuseSet val defuseLast : RTL.last -> defuseSet val defuse : RTLEdit.node -> defuseSet val clobsFirst : RTL.first -> set val clobsInsn : RTL.instruction -> set val clobsLast : RTL.last -> set val clobs : RTLEdit.node -> set end structure Slot : sig type set type defuseSet = {defs: set, uses: set} val format_set : set SMLFormat.BasicFormatters.formatter val setUnion : set * set -> set val setMinus : set * set -> set val setIsSubset : set * set -> bool val emptySet : set val fold : (RTL.slot * 'a -> 'a) -> 'a -> set -> 'a val app : (RTL.slot -> unit) -> set -> unit val filter : (RTL.slot -> bool) -> set -> set val inDomain : set * RTL.id -> bool val find : set * RTL.id -> RTL.slot option val isEmpty : set -> bool val fromList : RTL.slot list -> set val toVarIDSet : set -> VarID.Set.set val singleton : RTL.slot -> set val defuseFirst : RTL.first -> defuseSet val defuseInsn : RTL.instruction -> defuseSet val defuseLast : RTL.last -> defuseSet val defuse : RTLEdit.node -> defuseSet end val labelPtrTy : RTL.labelReference -> RTL.ptrTy val labelTy : RTL.labelReference -> RTL.ty val constTy : RTL.const -> RTL.ty val addrTy : RTL.addr -> RTL.ptrTy val dstTy : RTL.dst -> RTL.ty val operandTy : RTL.operand -> RTL.ty val handlerLabels : RTL.handler -> RTL.label list (* nil means exit *) val successors : RTL.last -> RTL.label list val edges : RTL.graph -> {succs: RTL.label list, preds: RTL.label list} RTLEdit.annotatedGraph val preorder : RTL.graph -> RTL.label list val postorder : RTL.graph -> RTL.label list type 'a analysis = { init: 'a, join: 'a * 'a -> 'a, pass: RTLEdit.node * 'a -> 'a, filterIn: RTL.label * 'a -> 'a, filterOut: RTL.label * 'a -> 'a, changed: {old:'a, new:'a} -> bool } type 'a answer = { answerIn: 'a, answerOut: 'a, succs: RTL.label list, preds: RTL.label list } val format_answer : 'a SMLFormat.BasicFormatters.formatter -> 'a answer SMLFormat.BasicFormatters.formatter val analyzeFlowBackward : 'a analysis -> RTL.graph -> 'a answer RTLEdit.annotatedGraph val analyzeFlowForward : 'a analysis -> RTL.graph -> 'a answer RTLEdit.annotatedGraph val mapCluster : (RTL.graph -> RTL.graph) -> RTL.program -> RTL.program end = struct fun puts s = print (s ^ "\n") fun putfs s = print (Control.prettyPrint s ^ "\n") structure I = RTL open RTL infix ++ type 'a set = 'a VarID.Map.map type 'a defuseSet = {defs: 'a set, uses: 'a set} val emptySet = VarID.Map.empty : 'a set local open SMLFormat.BasicFormatters in fun format_set fmt set = format_string "{" @ format_list (fn (x,y) => VarID.format_id x @ format_string ":" @ fmt y, format_string ",") (VarID.Map.listItemsi set) @ format_string "}" end fun setUnion (set1:''a set, set2:''a set) : ''a set = VarID.Map.unionWith (fn (x,y) => if x = y then x else raise Control.Bug "union") (set1, set2) fun setMinus (set1:'a set, set2:'a set) : 'a set = VarID.Map.filteri (fn (id, _) => not (VarID.Map.inDomain (set2, id))) set1 fun setIsSubset (set1:'a set, set2:'a set) = VarID.Map.foldli (fn (id, _, b) => b andalso VarID.Map.inDomain (set2, id)) true set1 fun singleton f (v:'a) = VarID.Map.singleton (f v, v) : 'a set fun varSet vars = foldl (fn (var as {id,...}:I.var, set) => VarID.Map.insert (set, id, var)) emptySet vars fun slotSet slots = foldl (fn (slot as {id,...}:I.slot, set) => VarID.Map.insert (set, id, slot)) emptySet slots fun idSet set = VarID.Map.foldli (fn (i,_,z) => VarID.Set.add (z, i)) VarID.Set.empty set fun ({defs=d1, uses=u1}:''a defuseSet) ++ ({defs=d2, uses=u2}:''a defuseSet) = {defs = setUnion (d1, d2), uses = setUnion (u1, u2)} : ''a defuseSet val duEmpty = {defs = emptySet, uses = emptySet} : 'a defuseSet fun useSet set = {defs = emptySet, uses = set} : 'a defuseSet fun defSet set = {defs = set, uses = emptySet} : 'a defuseSet fun useAll ({defs, uses}:''a defuseSet) = {defs = emptySet, uses = setUnion (defs, uses)} : ''a defuseSet fun duAddr varSet addr = case addr of I.ADDRCAST (_, addr) => duAddr varSet addr | I.ABSADDR _ => duEmpty | I.DISP (const, addr) => duAddr varSet addr | I.BASE var => useSet (varSet [var]) | I.ABSINDEX {base, scale, index} => useSet (varSet [index]) | I.BASEINDEX {base, scale, index} => (useSet (varSet [base, index])) | I.POSTFRAME {offset, size} => duEmpty | I.PREFRAME {offset, size} => duEmpty | I.WORKFRAME slot => duEmpty | I.FRAMEINFO offset => duEmpty fun duMem varSet (I.ADDR addr) = duAddr varSet addr | duMem varSet (I.SLOT _) = duEmpty fun duDstVar (I.REG var) = defSet (singleton #id var) | duDstVar (I.COUPLE (_, {hi,lo})) = duDstVar hi ++ duDstVar lo | duDstVar (I.MEM (_, mem)) = duMem varSet mem fun duDstSlot (I.REG var) = duEmpty | duDstSlot (I.COUPLE (_, {hi,lo})) = duDstSlot hi ++ duDstSlot lo | duDstSlot (I.MEM (_, I.SLOT slot)) = defSet (singleton #id slot) | duDstSlot (I.MEM (_, I.ADDR addr)) = duEmpty fun duOp duDst (I.CONST _) = duEmpty | duOp duDst (I.REF (_, dst)) = useAll (duDst dst) fun defuseInsn (func as {varSet, slotSet, duDst}) insn = let val duOp = duOp duDst val duAddr = duAddr varSet in case insn of I.NOP => duEmpty | I.STABILIZE => duEmpty | I.REQUEST_SLOT slot => defSet (slotSet [slot]) | I.REQUIRE_SLOT slot => useSet (slotSet [slot]) | I.USE ops => foldr (fn (x,z) => duOp x ++ z) duEmpty ops | I.COMPUTE_FRAME {uses, clobs} => useSet (varSet (VarID.Map.listItems uses)) | I.MOVE (ty, dst, op1) => duDst dst ++ duOp op1 | I.MOVEADDR (ty, dst, addr) => duDst dst ++ duAddr addr | I.COPY {ty, dst:I.dst, src:I.operand, clobs} => duDst dst ++ duOp src | I.MLOAD {ty, dst:I.slot, srcAddr, size, defs, clobs} => defSet (slotSet [dst]) ++ defSet (varSet defs) ++ duAddr srcAddr ++ duOp size | I.MSTORE {ty, dstAddr, src:I.slot, size, defs, clobs, global} => useSet (slotSet [src]) ++ defSet (varSet defs) ++ duAddr dstAddr ++ duOp size | I.EXT8TO32 (_, dst, op1) => duDst dst ++ duOp op1 | I.EXT16TO32 (_, dst, op1) => duDst dst ++ duOp op1 | I.EXT32TO64 (_, dst, op1) => duDst dst ++ duOp op1 | I.DOWN32TO8 (_, dst, op1) => duDst dst ++ duOp op1 | I.DOWN32TO16 (_, dst, op1) => duDst dst ++ duOp op1 | I.ADD (ty, dst, op1, op2) => duDst dst ++ duOp op1 ++ duOp op2 | I.SUB (ty, dst, op1, op2) => duDst dst ++ duOp op1 ++ duOp op2 | I.MUL ((_,dst), (_,op1), (_,op2)) => duDst dst ++ duOp op1 ++ duOp op2 | I.DIVMOD ({div=(_,ddiv), mod=(_,dmod)}, (_,op1), (_,op2)) => duDst ddiv ++ duDst dmod ++ duOp op1 ++ duOp op2 | I.AND (ty, dst, op1, op2) => duDst dst ++ duOp op1 ++ duOp op2 | I.OR (ty, dst, op1, op2) => duDst dst ++ duOp op1 ++ duOp op2 | I.XOR (ty, dst, op1, op2) => duDst dst ++ duOp op1 ++ duOp op2 | I.LSHIFT (ty, dst, op1, op2) => duDst dst ++ duOp op1 ++ duOp op2 | I.RSHIFT (ty, dst, op1, op2) => duDst dst ++ duOp op1 ++ duOp op2 | I.ARSHIFT (ty, dst, op1, op2) => duDst dst ++ duOp op1 ++ duOp op2 | I.TEST_SUB (_, op1, op2) => duOp op1 ++ duOp op2 | I.TEST_AND (_, op1, op2) => duOp op1 ++ duOp op2 | I.TEST_LABEL (_, op1, l) => duOp op1 | I.NOT (ty, dst, op1) => duDst dst ++ duOp op1 | I.NEG (ty, dst, op1) => duDst dst ++ duOp op1 | I.SET (cc1, ty, dst, {test}) => duDst dst ++ defuseInsn func test | I.LOAD_FP dst => duDst dst | I.LOAD_SP dst => duDst dst | I.LOAD_PREV_FP dst => duDst dst | I.LOAD_RETADDR dst => duDst dst (* | I.SAVE_FP op1 => duOp op1 | I.SAVE_SP op1 => duOp op1 *) | I.LOADABSADDR {ty, dst, symbol, thunk} => duDst dst | I.X86 (I.X86LEAINT (ty, dst, {base, shift, offset, disp})) => duDst dst ++ useSet (varSet [base, offset]) (* | I.X86 (I.X86HI8OF16 (_, dst, op1)) => duDst dst ++ duOp op1 *) | I.X86 (I.X86FLD (ty, mem)) => duOp (I.REF_ (I.MEM (ty, mem))) | I.X86 (I.X86FLD_ST st) => duEmpty | I.X86 (I.X86FST (ty, mem)) => duDst (I.MEM (ty, mem)) | I.X86 (I.X86FSTP (ty, mem)) => duDst (I.MEM (ty, mem)) | I.X86 (I.X86FSTP_ST st) => duEmpty | I.X86 (I.X86FADD (ty, mem)) => duOp (I.REF_ (I.MEM (ty, mem))) | I.X86 (I.X86FADD_ST (st1, st2)) => duEmpty | I.X86 (I.X86FADDP st1) => duEmpty | I.X86 (I.X86FSUB (ty, mem)) => duOp (I.REF_ (I.MEM (ty, mem))) | I.X86 (I.X86FSUB_ST (st1, st2)) => duEmpty | I.X86 (I.X86FSUBP st1) => duEmpty | I.X86 (I.X86FSUBR (ty, mem)) => duOp (I.REF_ (I.MEM (ty, mem))) | I.X86 (I.X86FSUBR_ST (st1, st2)) => duEmpty | I.X86 (I.X86FSUBRP st1) => duEmpty | I.X86 (I.X86FMUL (ty, mem)) => duOp (I.REF_ (I.MEM (ty, mem))) | I.X86 (I.X86FMUL_ST (st1, st2)) => duEmpty | I.X86 (I.X86FMULP st1) => duEmpty | I.X86 (I.X86FDIV (ty, mem)) => duOp (I.REF_ (I.MEM (ty, mem))) | I.X86 (I.X86FDIV_ST (st1, st2)) => duEmpty | I.X86 (I.X86FDIVP st1) => duEmpty | I.X86 (I.X86FDIVR (ty, mem)) => duOp (I.REF_ (I.MEM (ty, mem))) | I.X86 (I.X86FDIVR_ST (st1, st2)) => duEmpty | I.X86 (I.X86FDIVRP st1) => duEmpty | I.X86 (I.X86FPREM) => duEmpty | I.X86 (I.X86FABS) => duEmpty | I.X86 (I.X86FCHS) => duEmpty | I.X86 I.X86FINCSTP => duEmpty | I.X86 (I.X86FFREE st) => duEmpty | I.X86 (I.X86FXCH st) => duEmpty | I.X86 (I.X86FUCOM st) => duEmpty | I.X86 (I.X86FUCOMP st) => duEmpty | I.X86 I.X86FUCOMPP => duEmpty (* | I.X86 (I.X86FSTSW (dst, insn)) => defuseInsn varSet duDst insn ++ duDst dst *) | I.X86 (I.X86FSW_TESTH {clob,mask}) => duEmpty | I.X86 (I.X86FSW_MASKCMPH {clob,mask,compare}) => duEmpty | I.X86 (I.X86FLDCW mem) => duOp (I.REF_ (I.MEM (I.Int16 I.U, mem))) | I.X86 (I.X86FNSTCW mem) => duDst (I.MEM (I.Int16 I.U, mem)) | I.X86 I.X86FWAIT => duEmpty | I.X86 I.X86FNCLEX => duEmpty end fun defuseLast (func as {varSet, slotSet, duDst}) insn = let val defuseInsn = defuseInsn func val duOp = duOp duDst val duAddr = duAddr varSet in case insn of I.HANDLE (insn, _) => defuseInsn insn | I.CJUMP {test, cc, thenLabel, elseLabel} => defuseInsn test | I.CALL {callTo, returnTo, handler, defs, uses, needStabilize, postFrameAdjust} => {defs = varSet defs, uses = varSet uses} ++ duAddr callTo | I.JUMP {jumpTo, destinations} => duAddr jumpTo | I.UNWIND_JUMP {jumpTo, sp, fp, uses, handler} => useSet (varSet uses) ++ duOp sp ++ duOp fp ++ duAddr jumpTo | I.TAILCALL_JUMP {preFrameSize, jumpTo, uses} => useSet (varSet uses) ++ duAddr jumpTo | I.RETURN {preFrameSize, stubOptions, uses} => useSet (varSet uses) | I.EXIT => duEmpty end fun defuseFirst varSet insn = case insn of I.BEGIN {label, align, loc} => duEmpty | I.CODEENTRY {label, symbol, scope, align, preFrameSize, stubOptions, defs, loc} => defSet (varSet defs) | I.HANDLERENTRY {label, align, defs, loc} => defSet (varSet defs) | I.ENTER => duEmpty fun clobsInsn insn = case insn of I.NOP => emptySet | I.STABILIZE => emptySet | I.REQUEST_SLOT slot => emptySet | I.REQUIRE_SLOT slot => emptySet | I.USE ops => emptySet | I.COMPUTE_FRAME {uses, clobs} => varSet clobs | I.MOVE (ty, dst, op1) => emptySet | I.MOVEADDR (ty, dst, addr) => emptySet | I.COPY {ty, dst:I.dst, src:I.operand, clobs} => varSet clobs | I.MLOAD {ty, dst:I.slot, srcAddr, size, defs, clobs} => varSet clobs | I.MSTORE {ty, dstAddr, src:I.slot, size, defs, clobs, global} => varSet clobs | I.EXT8TO32 (_, dst, op1) => emptySet | I.EXT16TO32 (_, dst, op1) => emptySet | I.EXT32TO64 (_, dst, op1) => emptySet | I.DOWN32TO8 (_, dst, op1) => emptySet | I.DOWN32TO16 (_, dst, op1) => emptySet | I.ADD (ty, dst, op1, op2) => emptySet | I.SUB (ty, dst, op1, op2) => emptySet | I.MUL ((_,dst), (_,op1), (_,op2)) => emptySet | I.DIVMOD ({div=(_,ddiv), mod=(_,dmod)}, (_,op1), (_,op2)) => emptySet | I.AND (ty, dst, op1, op2) => emptySet | I.OR (ty, dst, op1, op2) => emptySet | I.XOR (ty, dst, op1, op2) => emptySet | I.LSHIFT (ty, dst, op1, op2) => emptySet | I.RSHIFT (ty, dst, op1, op2) => emptySet | I.ARSHIFT (ty, dst, op1, op2) => emptySet | I.TEST_SUB (_, op1, op2) => emptySet | I.TEST_AND (_, op1, op2) => emptySet | I.TEST_LABEL (_, op1, l) => emptySet | I.NOT (ty, dst, op1) => emptySet | I.NEG (ty, dst, op1) => emptySet | I.SET (cc1, ty, dst, {test}) => clobsInsn test | I.LOAD_FP dst => emptySet | I.LOAD_SP dst => emptySet | I.LOAD_PREV_FP dst => emptySet | I.LOAD_RETADDR dst => emptySet | I.LOADABSADDR {ty, dst, symbol, thunk} => emptySet | I.X86 (I.X86LEAINT (ty, dst, {base, shift, offset, disp})) => emptySet | I.X86 (I.X86FLD (ty, mem)) => emptySet | I.X86 (I.X86FLD_ST st) => emptySet | I.X86 (I.X86FST (ty, mem)) => emptySet | I.X86 (I.X86FSTP (ty, mem)) => emptySet | I.X86 (I.X86FSTP_ST st) => emptySet | I.X86 (I.X86FADD (ty, mem)) => emptySet | I.X86 (I.X86FADD_ST (st1, st2)) => emptySet | I.X86 (I.X86FADDP st1) => emptySet | I.X86 (I.X86FSUB (ty, mem)) => emptySet | I.X86 (I.X86FSUB_ST (st1, st2)) => emptySet | I.X86 (I.X86FSUBP st1) => emptySet | I.X86 (I.X86FSUBR (ty, mem)) => emptySet | I.X86 (I.X86FSUBR_ST (st1, st2)) => emptySet | I.X86 (I.X86FSUBRP st1) => emptySet | I.X86 (I.X86FMUL (ty, mem)) => emptySet | I.X86 (I.X86FMUL_ST (st1, st2)) => emptySet | I.X86 (I.X86FMULP st1) => emptySet | I.X86 (I.X86FDIV (ty, mem)) => emptySet | I.X86 (I.X86FDIV_ST (st1, st2)) => emptySet | I.X86 (I.X86FDIVP st1) => emptySet | I.X86 (I.X86FDIVR (ty, mem)) => emptySet | I.X86 (I.X86FDIVR_ST (st1, st2)) => emptySet | I.X86 (I.X86FDIVRP st1) => emptySet | I.X86 (I.X86FPREM) => emptySet | I.X86 (I.X86FABS) => emptySet | I.X86 (I.X86FCHS) => emptySet | I.X86 I.X86FINCSTP => emptySet | I.X86 (I.X86FFREE st) => emptySet | I.X86 (I.X86FXCH st) => emptySet | I.X86 (I.X86FUCOM st) => emptySet | I.X86 (I.X86FUCOMP st) => emptySet | I.X86 I.X86FUCOMPP => emptySet | I.X86 (I.X86FSW_TESTH {clob,mask}) => varSet [clob] | I.X86 (I.X86FSW_MASKCMPH {clob,mask,compare}) => varSet [clob] | I.X86 (I.X86FLDCW mem) => emptySet | I.X86 (I.X86FNSTCW mem) => emptySet | I.X86 I.X86FWAIT => emptySet | I.X86 I.X86FNCLEX => emptySet fun clobsLast insn = case insn of I.HANDLE (insn, _) => clobsInsn insn | I.CJUMP {test, cc, thenLabel, elseLabel} => clobsInsn test | I.CALL {callTo, returnTo, handler, defs, uses, needStabilize, postFrameAdjust} => emptySet | I.JUMP {jumpTo, destinations} => emptySet | I.UNWIND_JUMP {jumpTo, sp, fp, uses, handler} => emptySet | I.TAILCALL_JUMP {preFrameSize, jumpTo, uses} => emptySet | I.RETURN {preFrameSize, stubOptions, uses} => emptySet | I.EXIT => emptySet fun clobsFirst insn = case insn of I.BEGIN {label, align, loc} => emptySet | I.CODEENTRY {label, symbol, scope, align, preFrameSize, stubOptions, defs, loc} => emptySet | I.HANDLERENTRY {label, align, defs, loc} => emptySet | I.ENTER => emptySet structure Var = struct type set = I.var set type defuseSet = I.var defuseSet val format_set = format_set I.format_var val setUnion = setUnion : set * set -> set val setMinus = setMinus : set * set -> set val setIsSubset = setIsSubset : set * set -> bool val fold = VarID.Map.foldl val app = VarID.Map.app val filter = VarID.Map.filter val inDomain = VarID.Map.inDomain val find = VarID.Map.find val isEmpty = VarID.Map.isEmpty val emptySet = emptySet : set val singleton = fn x => singleton #id x : set val fromList = varSet val toVarIDSet = idSet fun slotSet (v:I.slot list) = emptySet val func = {varSet=varSet, slotSet=slotSet, duDst=duDstVar} val defuseFirst = fn x => defuseFirst varSet x val defuseInsn = fn x => defuseInsn func x val defuseLast = fn x => defuseLast func x fun defuse (RTLEdit.FIRST first) = defuseFirst first | defuse (RTLEdit.MIDDLE insn) = defuseInsn insn | defuse (RTLEdit.LAST last) = defuseLast last val clobsFirst = clobsFirst val clobsInsn = clobsInsn val clobsLast = clobsLast fun clobs (RTLEdit.FIRST first) = clobsFirst first | clobs (RTLEdit.MIDDLE insn) = clobsInsn insn | clobs (RTLEdit.LAST last) = clobsLast last end structure Slot = struct type set = I.slot set type defuseSet = I.slot defuseSet val format_set = format_set I.format_slot val setUnion = setUnion : set * set -> set val setMinus = setMinus : set * set -> set val setIsSubset = setIsSubset : set * set -> bool val fold = VarID.Map.foldl val app = VarID.Map.app val filter = VarID.Map.filter val inDomain = VarID.Map.inDomain val find = VarID.Map.find val isEmpty = VarID.Map.isEmpty val emptySet = emptySet : set val singleton = fn x => singleton #id x : set val fromList = slotSet val toVarIDSet = idSet fun varSet (v:I.var list) = emptySet val func = {varSet=varSet, slotSet=slotSet, duDst=duDstSlot} val defuseFirst = fn x => defuseFirst varSet x val defuseInsn = fn x => defuseInsn func x val defuseLast = fn x => defuseLast func x fun defuse (RTLEdit.FIRST first) = defuseFirst first | defuse (RTLEdit.MIDDLE insn) = defuseInsn insn | defuse (RTLEdit.LAST last) = defuseLast last end (********************************) fun labelPtrTy label = case label of I.LABEL _ => I.Code | I.SYMBOL (ptrTy,_,_) => ptrTy | I.CURRENT_POSITION => I.Code | I.LINK_ENTRY _ => I.Void | I.LINK_STUB _ => I.Code | I.ELF_GOT => I.Void | I.NULL ptrTy => ptrTy | I.LABELCAST (ptrTy, _) => ptrTy fun labelTy label = I.Ptr (labelPtrTy label) fun constTy const = case const of I.SYMOFFSET {base, label} => I.PtrDiff (labelPtrTy label) (* | I.INT64 _ => I.Int64 I.S | I.UINT64 _ => I.Int64 I.U *) | I.INT32 _ => I.Int32 I.S | I.UINT32 _ => I.Int32 I.U | I.INT16 _ => I.Int16 I.S | I.UINT16 _ => I.Int16 I.U | I.INT8 _ => I.Int8 I.S | I.UINT8 _ => I.Int8 I.U | I.REAL32 _ => I.Real32 | I.REAL64 _ => I.Real64 | I.REAL64HI _ => I.NoType | I.REAL64LO _ => I.NoType fun addrTy addr = case addr of I.ADDRCAST (ptrTy, _) => ptrTy | I.ABSADDR label => labelPtrTy label | I.DISP (_, addr) => ( case addrTy addr of I.Data => I.Void | I.Code => I.Code | I.Void => I.Void ) | I.BASE {id, ty=I.Ptr ptrTy} => ptrTy | I.BASE _ => raise Control.Bug "addrTy: BASE" | ABSINDEX {base, index, scale} => ( case labelPtrTy base of I.Data => I.Void | I.Code => I.Code | I.Void => I.Void ) | BASEINDEX {base={id,ty=I.Ptr ptrTy}, index, scale} => ( case ptrTy of I.Data => I.Void | I.Code => I.Code | I.Void => I.Void ) | BASEINDEX {base, index, scale} => raise Control.Bug "addrTy: BASEINDEX" | POSTFRAME {offset, size} => I.Void | PREFRAME {offset, size} => I.Void | WORKFRAME _ => I.Void | FRAMEINFO _ => I.Void fun dstTy dst = case dst of I.REG {id, ty} => ty | I.MEM (ty, _) => ty | I.COUPLE (ty, _) => ty fun operandTy operand = case operand of I.CONST c => constTy c | I.REF (I.N, dst) => dstTy dst | I.REF (I.CAST ty, _) => ty (********************************) fun handlerLabels I.NO_HANDLER = nil | handlerLabels (I.HANDLER {handlers, ...}) = handlers fun successors last = case last of I.HANDLE (_, {nextLabel, handler}) => nextLabel :: handlerLabels handler | I.CJUMP {test, cc, thenLabel, elseLabel} => [thenLabel, elseLabel] | I.CALL {callTo, returnTo, handler, defs, uses, needStabilize, postFrameAdjust} => returnTo :: handlerLabels handler | I.JUMP {jumpTo, destinations} => destinations | I.UNWIND_JUMP {jumpTo, fp, sp, uses, handler} => handlerLabels handler | I.TAILCALL_JUMP {preFrameSize, jumpTo, uses} => nil | I.RETURN {preFrameSize, stubOptions, uses} => nil | I.EXIT => nil fun format_labelList labels = SMLFormat.BasicFormatters.format_list (I.format_label, SMLFormat.BasicFormatters.format_string ",") labels fun format_edges {succs, preds} = SMLFormat.BasicFormatters.format_string "succs: " @ format_labelList succs @ [SMLFormat.FormatExpression.Newline] @ SMLFormat.BasicFormatters.format_string "preds: " @ format_labelList preds fun edges graph = I.LabelMap.foldli (fn (label, (_, _, last), graph) => case successors last of nil => graph | succs => let val focus = RTLEdit.focusBlock (graph, label) val {preds, ...} = RTLEdit.annotation focus val ann = {succs = succs, preds = preds} val focus = RTLEdit.setAnnotation (focus, ann) val graph = RTLEdit.unfocusBlock focus in foldl (fn (to, graph) => let val focus = RTLEdit.focusBlock (graph, to) val {preds, succs} = RTLEdit.annotation focus val ann = {succs = succs, preds = label::preds} val focus = RTLEdit.setAnnotation (focus, ann) in RTLEdit.unfocusBlock focus end) graph succs end) (RTLEdit.annotate (graph, {succs=nil, preds=nil})) graph local fun entries (graph:I.graph) = I.LabelMap.foldri (fn (l, (I.CODEENTRY _, _, _), z) => l::z | (l, (I.ENTER, _, _), z) => l::z | (l, (I.HANDLERENTRY _, _, _), z) => z | (l, (I.BEGIN _, _, _), z) => z) nil graph fun succ (graph:I.graph, label) = case I.LabelMap.find (graph, label) of SOME (_,_,l) => successors l | NONE => raise Control.Bug ("preorder: " ^ Control.prettyPrint (I.format_label label)) in fun postorder graph = let fun visit (visited, nil, l) = l | visit (visited, h::t, l) = if I.LabelSet.member (visited, h) then visit (visited, t, l) else visit (I.LabelSet.add (visited, h), succ (graph, h) @ t, h::l) in visit (I.LabelSet.empty, entries graph, nil) end fun preorder graph = rev (postorder graph) end (* local *) (********************************) type 'a analysis = { init: 'a, join: 'a * 'a -> 'a, pass: RTLEdit.node * 'a -> 'a, filterIn: RTL.label * 'a -> 'a, filterOut: RTL.label * 'a -> 'a, changed: {old:'a, new:'a} -> bool } type 'a answer = { succs: RTL.label list, preds: RTL.label list, answerIn: 'a, answerOut: 'a } local open SMLFormat.BasicFormatters open SMLFormat.FormatExpression fun format_labelList labels = format_list (I.format_label, format_string ",") labels in fun format_answer fmt {succs, preds, answerIn, answerOut} = format_string "succs: " @ format_labelList succs @ [Newline] @ format_string "preds: " @ format_labelList preds @ [Newline] @ format_string "answerIn: " @ [Guard (NONE, fmt answerIn)] @ [Newline] @ format_string "answerOut: " @ [Guard (NONE, fmt answerOut)] end fun answerInOf (graph:'a answer RTLEdit.annotatedGraph, label) = #answerIn (RTLEdit.annotation (RTLEdit.focusBlock (graph, label))) fun answerOutOf (graph:'a answer RTLEdit.annotatedGraph, label) = #answerOut (RTLEdit.annotation (RTLEdit.focusBlock (graph, label))) local type set = I.label list * I.LabelSet.set fun initSet l = (l, I.LabelSet.fromList l) : set fun enqueue (q, l2) = foldl (fn (l,(l1,set)) => if I.LabelSet.member (set, l) then (l1,set) else (l::l1, I.LabelSet.add (set, l))) q l2 fun dequeue ((h::t, set):set) = SOME (h, (t, I.LabelSet.delete (set, h)):set) | dequeue (nil, set) = case I.LabelSet.listItems set of nil => NONE | h::t => SOME (h, (t, I.LabelSet.delete (set, h)):set) in fun analyzeFlowBackward ({init, join, pass, filterIn, filterOut, changed}:'a analysis) graph = let val workSet = initSet (postorder graph) val graph = edges graph val graph = RTLEdit.map (fn {succs, preds} => {succs = succs, preds = preds, answerIn = init, answerOut = init}) graph fun loop (workSet, graph) = case dequeue workSet of NONE => graph | SOME (label, workSet) => let val focus = RTLEdit.focusBlock (graph, label) val {preds, succs, answerIn, answerOut} = RTLEdit.annotation focus val newOut = foldl (fn (l, out) => join (out, answerInOf (graph, l))) answerOut succs val newOut = filterOut (label, newOut) val newIn = RTLEdit.foldBackward pass newOut focus val newIn = filterIn (label, newIn) val workSet = if changed {old=answerIn, new=newIn} then enqueue (workSet, preds) else workSet val focus = RTLEdit.setAnnotation (focus, {preds = preds, succs = succs, answerIn = newIn, answerOut = newOut}) in loop (workSet, RTLEdit.unfocusBlock focus) end in loop (workSet, graph) end fun analyzeFlowForward ({init, join, pass, filterIn, filterOut, changed}:'a analysis) graph = let val workSet = initSet (preorder graph) val graph = edges graph val graph = RTLEdit.map (fn {succs, preds} => {succs = succs, preds = preds, answerIn = init, answerOut = init}) graph fun loop (workSet, graph) = case dequeue workSet of NONE => graph | SOME (label, workSet) => let val focus = RTLEdit.focusBlock (graph, label) val {preds, succs, answerIn, answerOut} = RTLEdit.annotation focus val newIn = foldl (fn (l, ansIn) => join (ansIn, answerOutOf (graph, l))) answerIn preds val newIn = filterIn (label, newIn) val newOut = RTLEdit.foldForward pass newIn focus val newOut = filterOut (label, newOut) val workSet = if changed {old=answerOut, new=newOut} then enqueue (workSet, succs) else workSet val focus = RTLEdit.setAnnotation (focus, {preds = preds, succs = succs, answerIn = newIn, answerOut = newOut}) in loop (workSet, RTLEdit.unfocusBlock focus) end in loop (workSet, graph) end end (* local *) fun mapCluster f topdecls = map (fn I.CLUSTER {clusterId, frameBitmap, baseLabel, body, preFrameSize, postFrameSize, numHeaderWords, loc} => I.CLUSTER {clusterId = clusterId, frameBitmap = frameBitmap, baseLabel = baseLabel, body = f body, preFrameSize = preFrameSize, postFrameSize = postFrameSize, numHeaderWords = numHeaderWords, loc = loc} | x as I.TOPLEVEL _ => x | x as I.DATA _ => x | x as I.BSS _ => x | x as I.X86GET_PC_THUNK_BX _ => x | x as I.EXTERN _ => x) topdecls end smlsharp-1.2.0/src/compiler/rtl/main/X86Asm.ppg0000644 000000000000000000011151512050661606021373 0ustar00rootroot0000000 0000000 (* -*- sml -*- *) (** * x86 mnemonic * @copyright (c) 2009, Tohoku University. * @author UENO Katsuhiro * @version $Id: $ *) structure X86Asm = struct local fun format_cnum_str str = SMLFormat.BasicFormatters.format_string (String.map (fn #"~" => #"-" | x => x) str) fun format_cint fmt x = format_cnum_str (fmt StringCvt.DEC x) fun format_chex fmt x = SMLFormat.BasicFormatters.format_string ("0x" ^ String.map Char.toLower (fmt StringCvt.HEX x)) fun format_int32 x = format_cint Int32.fmt x fun format_word32_hex x = format_chex Word32.fmt x fun format_word8_hex x = format_chex Word8.fmt x fun format_word32_dec x = format_cint Word32.fmt x fun format_word_dec x = format_chex Word.fmt x fun format_int_log2 x = let val x = Real.floor (Math.ln(real x) / Math.ln(2.0)) in SMLFormat.BasicFormatters.format_string (Int.fmt StringCvt.DEC x) end fun format_word_log2 x = format_int_log2 (Word.toInt x) local fun left (s,n) = substring (s, size s - n, n) fun pad0 (s,n) = if size s > n then s else left ("0000" ^ s, n) fun oct3 i = pad0 (Int.fmt StringCvt.OCT i, 3) fun hex4 i = pad0 (Int.fmt StringCvt.HEX i, 4) in fun format_ascii s = SMLFormat.BasicFormatters.format_string ("\"" ^ String.translate (fn #"\008" => "\\b" | #"\012" => "\\f" | #"\010" => "\\n" | #"\013" => "\\r" | #"\009" => "\\t" | #"\\" => "\\\\" | #"\"" => "\\\"" | c => if Char.isPrint c andalso ord c < 128 then str c else if ord c < 256 then "\\" ^ oct3 (ord c) else "\\u" ^ hex4 (ord c)) s ^ "\"") end (* local *) (* There may be large number of elements in "lines". To avoid to exceed * the limit of the frame stack, this function should be written in * tail-recursive style. *) (* 2012-9-30 This is not enough: this is the cause of huge memory usage and the long compile time in some files such as iml.grm.sml *) fun formatLines (formatItem,indent,break) lines = foldl (fn (h, z) => indent @ formatItem h @ break @ z) nil (rev lines) in (* att_ is general AT&T syntax formatter. *) (* _ is for specified target. format_ is for debug print. *) (*% * @prefix att_ * @formatter(Loc.loc) Loc.format_loc *) (*% @prefix format_ @ditto att_ *) (*% @prefix darwin_ @ditto att_ *) type loc = Loc.loc (*% @prefix att_ * @formatter(VarID.id) VarID.format_id * @formatter(ClusterID.id) ClusterID.format_id *) (*% @prefix format_ @ditto att_ *) (*% @prefix darwin_ @ditto att_ *) type localLabel = (*% @prefix att_ @format(c * l) "L" c "_" l *) (* symbols beginning with "L" are "local symbol names." * See section 5.3 Symbol Names of "Using as" of binutils * documentation. *) ClusterID.id * VarID.id (*% @prefix att_ *) (*% @prefix format_ @ditto att_ *) (*% @prefix darwin_ @ditto att_ *) type symbol = (*% @prefix att_ @format(x) x *) (*% @prefix format_ @format(x) x "$globl" *) string (*% @prefix att_ *) (*% @prefix format_ @ditto att_ *) (*% @prefix darwin_ @ditto att_ *) type linkPtrSymbol = (*% @prefix att_ @format(x) x "@GOT" *) (*% @prefix format_ @format(x) x "$link" *) (*% @prefix darwin_ @format(x) "L" x "$non_lazy_ptr" *) string (*% @prefix att_ *) (*% @prefix format_ @ditto att_ *) (*% @prefix darwin_ @ditto att_ *) type linkStubSymbol = (*% @prefix att_ @format(x) x "@PLT" *) (*% @prefix format_ @format(x) x "$stub" *) (*% @prefix darwin_ @format(x) "L" x "$stub" *) string (*% @prefix att_ *) (*% @prefix format_ @ditto att_ *) (*% @prefix darwin_ @ditto att_ *) datatype label = (*% @prefix att_ @format(x) x *) LOCAL of localLabel | (*% @prefix att_ @format(x) x *) SYMBOL of symbol | (*% @prefix att_ @format(x) x *) LINKPTR of linkPtrSymbol | (*% @prefix att_ @format(x) x *) LINKSTUB of linkStubSymbol | (*% @prefix att_ @format(x) x "@GOTOFF" *) ELF_GOTOFF of label | (*% @prefix att_ @format(x) x "@GOT" *) ELF_GOT of label | (*% @prefix att_ @format(x) "0" *) NULL (*% * @prefix att_ * @formatter (Int32.int) format_int32 * @formatter (Word32.word) format_word32_hex *) (*% @prefix format_ @ditto att_ *) (*% @prefix darwin_ @ditto att_ *) datatype imm = (*% @prefix att_ @format(x) x *) INT of Int32.int (* imm8/imm16/imm32 *) | (*% @prefix att_ @format(x) x *) WORD of Word32.word (* imm8/imm16/imm32 *) | (*% @prefix att_ @format(l) l *) LABEL of label | (*% @prefix att_ @format(x * y) L5{ x "-" y } *) CONSTSUB of imm * imm | (*% @prefix att_ @format(x * y) L5{ x "+" y } *) CONSTADD of imm * imm | (*% @prefix att_ @format "." *) CURRENTPOS (*% @prefix att_ *) (*% @prefix att_w_ @formatter(id) att_id *) (*% @prefix format_ @ditto att_ *) (*% @prefix darwin_ @ditto att_ *) datatype reg = (*% @prefix att_ @format "%eax" *) (*% @prefix att_w_ @format "%a" *) EAX | (*% @prefix att_ @format "%ebx" *) (*% @prefix att_w_ @format "%b" *) EBX | (*% @prefix att_ @format "%ecx" *) (*% @prefix att_w_ @format "%c" *) ECX | (*% @prefix att_ @format "%edx" *) (*% @prefix att_w_ @format "%d" *) EDX | (*% @prefix att_ @format "%esi" *) (*% @prefix att_w_ @format "%si" *) ESI | (*% @prefix att_ @format "%edi" *) (*% @prefix att_w_ @format "%di" *) EDI | (*% @prefix att_ @format "%ebp" *) (*% @prefix att_w_ @format "%bp" *) EBP | (*% @prefix att_ @format "%esp" *) (*% @prefix att_w_ @format "%sp" *) ESP (*% @prefix att_ @formatter(reg) att_w_reg *) (*% @prefix format_ @ditto att_ *) (*% @prefix darwin_ @ditto att_ *) datatype r16 = (*% @prefix att_ @format(x) x "x" *) X of reg (*% @prefix att_ @formatter(reg) att_w_reg *) (*% @prefix format_ @ditto att_ *) (*% @prefix darwin_ @ditto att_ *) datatype r8 = (*% @prefix att_ @format(x) x "h" *) XH of reg | (*% @prefix att_ @format(x) x "l" *) XL of reg (*% @prefix att_ *) (*% @prefix format_ @ditto att_ *) (*% @prefix darwin_ @ditto att_ *) datatype sti = (*% @prefix att_ @format(x) "%st(" x ")" *) ST of int (* FPU register stack index : 0 - 7 *) (*% * @prefix att_withDisp_ * @params(disp) * @formatter(imm) att_imm * @formatter(reg) att_reg * @formatter(scale) att_scale *) (*% * @prefix att_ * @formatter(withDisp) att_withDisp_mem *) (*% * @prefix format_withDisp_ @ditto att_withDisp_ * @params(disp) * @formatter(imm) format_imm * @formatter(reg) format_reg * @formatter(scale) format_scale *) (*% * @prefix format_ @ditto att_ * @formatter(withDisp) format_withDisp_mem *) (*% * @prefix darwin_withDisp_ @ditto att_withDisp_ * @params(disp) * @formatter(imm) darwin_imm * @formatter(reg) darwin_reg * @formatter(scale) darwin_scale *) (*% * @prefix darwin_ @ditto att_ * @formatter(withDisp) darwin_withDisp_mem *) datatype mem = (*% @prefix att_ @format(imm * mem) mem:withDisp()(imm) *) (*% @prefix att_withDisp_ @format(imm * mem) * mem()(L5{ imm "+" disp }) *) DISP of imm * mem | (*% @prefix att_ @format(imm) imm *) (*% @prefix att_withDisp_ @format(imm) L5{ disp "+" imm } *) ABSADDR of imm | (*% @prefix att_ @format(r) "(" r ")" *) (*% @prefix att_withDisp_ @format(r) L1{ disp "(" r ")" } *) BASE of reg | (*% @prefix att_ @format(index * scale) "(" "," index "," scale ")" *) (*% @prefix att_withDisp_ @format(index * scale) * L4{ disp "(" "," index "," scale ")" } *) INDEX of reg * int | (*% @prefix att_ @format(base * index * scale) * "(" base "," index "," scale ")" *) (*% @prefix att_withDisp_ @format(base * index * scale) * L4{ disp "(" base "," index "," scale ")" } *) BASEINDEX of reg * reg * int (*% @prefix att_ *) (*% @prefix format_ @ditto att_ *) (*% @prefix darwin_ @ditto att_ *) datatype rm8 = (*% @prefix att_ @format(x) x *) R8 of r8 | (*% @prefix att_ @format(x) x *) M8 of mem (*% @prefix att_ @params(pre1, pre2) *) (*% @prefix format_ @params(pre1, pre2) @ditto att_ *) (*% @prefix darwin_ @params(pre1, pre2) @ditto att_ *) datatype rmi8_ = (*% @prefix att_ @format(x) pre1 x *) R_8 of r8 | (*% @prefix att_ @format(x) pre1 x *) M_8 of mem | (*% @prefix att_ @format(x) L10{ pre2 x } *) I_8 of imm (*% @prefix att_ *) (*% @prefix format_ @ditto att_ *) (*% @prefix darwin_ @ditto att_ *) type rmi8 = (*% @prefix att_ @format(x) x()(,"$") *) rmi8_ (*% @prefix att_ *) (*% @prefix format_ @ditto att_ *) (*% @prefix darwin_ @ditto att_ *) datatype rm16 = (*% @prefix att_ @format(x) x *) R16 of r16 | (*% @prefix att_ @format(x) x *) M16 of mem (*% @prefix att_ @params(pre1, pre2) *) (*% @prefix format_ @params(pre1, pre2) @ditto att_ *) (*% @prefix darwin_ @params(pre1, pre2) @ditto att_ *) datatype rmi16_ = (*% @prefix att_ @format(x) pre1 x *) R_16 of r16 | (*% @prefix att_ @format(x) pre1 x *) M_16 of mem | (*% @prefix att_ @format(x) L10{ pre2 x } *) I_16 of imm (*% @prefix att_ *) (*% @prefix format_ @ditto att_ *) (*% @prefix darwin_ @ditto att_ *) type rmi16 = (*% @prefix att_ @format(x) x()(,"$") *) rmi16_ (*% @prefix att_ *) (*% @prefix format_ @ditto att_ *) (*% @prefix darwin_ @ditto att_ *) datatype rm32 = (*% @prefix att_ @format(x) x *) (*% @prefix format_ @ditto *) (*% @prefix darwin_ @ditto *) R of reg | (*% @prefix att_ @format(x) x *) (*% @prefix format_ @ditto *) (*% @prefix darwin_ @ditto *) M of mem (*% @prefix att_ @params(pre1, pre2) *) (*% @prefix format_ @params(pre1, pre2) @ditto att_ *) (*% @prefix darwin_ @params(pre1, pre2) @ditto att_ *) datatype rmi32_ = (*% @prefix att_ @format(x) pre1 x *) R_ of reg | (*% @prefix att_ @format(x) pre1 x *) M_ of mem | (*% @prefix att_ @format(x) L10{ pre2 x } *) I_ of imm (*% @prefix att_ *) (*% @prefix format_ @ditto att_ *) (*% @prefix darwin_ @ditto att_ *) type rmi32 = (*% @prefix att_ @format(x) x()(,"$") *) rmi32_ (*% @prefix att_ *) (*% @prefix format_ @ditto att_ *) (*% @prefix darwin_ @ditto att_ *) type jump = (*% @prefix att_ @format(x) x()("*",) *) rmi32_ (*% @prefix att_ *) (*% @prefix format_ @ditto att_ *) (*% @prefix darwin_ @ditto att_ *) datatype sectionName = (*% @prefix att_ @format ".text" *) TextSection | (*% @prefix att_ @format ".data" *) DataSection | (*% @prefix att_ @format ".section\t.rodata" *) (*% @prefix format_ @format ".literal4" *) (*% @prefix darwin_ @format ".literal4" *) Literal4Section | (*% @prefix att_ @format ".section\t.rodata" *) (*% @prefix format_ @format ".literal8" *) (*% @prefix darwin_ @format ".literal8" *) Literal8Section | (*% @prefix att_ @format ".section\t.rodata" *) (*% @prefix format_ @format ".cstring" *) (*% @prefix darwin_ @format ".cstring" *) CStringSection | (*% @prefix att_ @format ".section\t.rodata" *) (*% @prefix format_ @format ".const" *) (*% @prefix darwin_ @format ".const" *) ConstSection | (*% @prefix att_ @format ".section\t.rodata" *) (*% @prefix format_ @format ".const_data" *) (*% @prefix darwin_ @format ".const_data" *) ConstDataSection (*% @prefix att_ *) (*% @prefix format_ @ditto att_ *) (*% @prefix darwin_ @ditto att_ *) datatype cc = (*% @prefix att_ @format "o" *) O (* overflow *) | (*% @prefix att_ @format "no" *) NO (* no overflow *) | (*% @prefix att_ @format "b" *) B (* below = carry *) | (*% @prefix att_ @format "ae" *) AE (* above equal = not-carry *) | (*% @prefix att_ @format "e" *) E (* equal = zero *) | (*% @prefix att_ @format "ne" *) NE (* not equal = non-zero *) | (*% @prefix att_ @format "be" *) BE (* below equal *) | (*% @prefix att_ @format "a" *) A (* above *) | (*% @prefix att_ @format "s" *) S (* sign *) | (*% @prefix att_ @format "ns" *) NS (* no sign *) | (*% @prefix att_ @format "p" *) P (* parity = even *) | (*% @prefix att_ @format "np" *) NP (* no parity = odd *) | (*% @prefix att_ @format "l" *) L (* less *) | (*% @prefix att_ @format "ge" *) GE (* greater equal *) | (*% @prefix att_ @format "le" *) LE (* less equal *) | (*% @prefix att_ @format "g" *) G (* greater *) (* intel mnemonic + AT&T size suffix *) (* memory to memory operation is not allowed *) (*% * @prefix att_ * @formatter(withPrefix) SmlppgUtil.formatPrependedOpt * @formatter (Word8.word) format_word8_hex * @formatter (ascii) format_ascii * @formatter(log2) format_int_log2 *) (*% @prefix format_ @ditto att_ *) (*% @prefix darwin_ @ditto att_ *) datatype instruction = (*% @prefix att_ @format "\tnop" *) NOP | (*% @prefix att_ @format(dst * src) "\tmovb\t" src ", " dst *) MOVB of rm8 * rmi8 | (*% @prefix att_ @format(dst * src) "\tmovw\t" src ", " dst *) MOVW of rm16 * rmi16 | (*% @prefix att_ @format(dst * src) "\tmovl\t" src ", " dst *) MOVL of rm32 * rmi32 (* | (*% @prefix att_ @format(cc * dst * src) "\tcmov"cc"w\t" src ", " dst *) CMOVW of cc * r16 * rm16 | (*% @prefix att_ @format(cc * dst * src) "\tcmov"cc"l\t" src ", " dst *) CMOVL of cc * r32 * rm32 *) | (*% @prefix att_ @format(dst * src) "\tleal\t" src ", " dst *) LEAL of reg * mem | (*% @prefix att_ @format "\tcbtw" *) CBW (* ax <- al *) | (*% @prefix att_ @format "\tcwtl" *) CWDE (* eax <- ax *) | (*% @prefix att_ @format "\tcltd" *) CDQ (* edx:eax <- eax *) | (*% @prefix att_ @format(dst * src) "\tmovzbw\t" src ", " dst *) MOVZBW of r16 * rm8 | (*% @prefix att_ @format(dst * src) "\tmovzbl\t" src ", " dst *) MOVZBL of reg * rm8 | (*% @prefix att_ @format(dst * src) "\tmovzwl\t" src ", " dst *) MOVZWL of reg * rm16 | (*% @prefix att_ @format(dst * src) "\tmovsbw\t" src ", " dst *) MOVSBW of r16 * rm8 | (*% @prefix att_ @format(dst * src) "\tmovsbl\t" src ", " dst *) MOVSBL of reg * rm8 | (*% @prefix att_ @format(dst * src) "\tmovswl\t" src ", " dst *) MOVSWL of reg * rm16 | (*% @prefix att_ @format "\tcld" *) CLD (* clear direction flag *) | (*% @prefix att_ @format "\trep movsb" *) REP_MOVSB (* copy ecx bytes from esi to edi *) | (*% @prefix att_ @format "\trep stosb" *) REP_STOSB (* set ecx words of aax to edi *) (* | (*% @prefix att_ @format "\tinto" *) INTO *) | (*% @prefix att_ @format(dst * src) "\taddb\t" src ", " dst *) ADDB of rm8 * rmi8 | (*% @prefix att_ @format(dst * src) "\taddw\t" src ", " dst *) ADDW of rm16 * rmi16 | (*% @prefix att_ @format(dst * src) "\taddl\t" src ", " dst *) ADDL of rm32 * rmi32 | (*% @prefix att_ @format(dst * src) "\tsubb\t" src ", " dst *) SUBB of rm8 * rmi8 | (*% @prefix att_ @format(dst * src) "\tsubw\t" src ", " dst *) SUBW of rm16 * rmi16 | (*% @prefix att_ @format(dst * src) "\tsubl\t" src ", " dst *) SUBL of rm32 * rmi32 (* | (*% @prefix att_ @format(x) "\timulb\t" x *) IMULB of rm8 (* ax <- al * rm8 (signed) *) | (*% @prefix att_ @format(x) "\timulw\t" x *) IMULW of rm16 (* dx:ax <- ax * rm16 (signed) *) *) | (*% @prefix att_ @format(x) "\timull\t" x *) IMULL of rm32 (* edx:eax <- eax * rm32 (signed) *) (* | (*% @prefix att_ @format(dst * src) "\timulw\t" src ", " dst *) IMULW2 of r16 * rmi16 (* r16 <- r16 * rmi16 (signed) *) | (*% @prefix att_ * @format(dst * src * i) "\timulw\t" i ", " src ", " dst *) IMULW3 of r16 * rm16 * imm (* r16 <- rm16 * imm (signed) *) *) | (*% @prefix att_ @format(dst * src) "\timull\t" src ", " dst *) IMULL2 of reg * rmi32 (* reg <- reg * rmi32 (signed) *) | (*% @prefix att_ * @format(dst * src * i) "\timull\t" L10{ "$" i } ", " src ", " dst *) IMULL3 of reg * rm32 * imm (* reg <- rm32 * imm (signed) *) (* | (*% @prefix att_ @format(x) "\tmulb\t" x *) MULB of rm8 (* ax <- al * rm8 (unsigned) *) | (*% @prefix att_ @format(x) "\tmulw\t" x *) MULW of rm16 (* dx:ax <- ax * rm16 (unsigned) *) *) | (*% @prefix att_ @format(x) "\tmull\t" x *) MULL of rm32 (* edx:eax <- eax * rm32 (unsigned) *) (* | (*% @prefix att_ @format(x) "\tidivb\t" x *) IDIVB of rm8 (* rx / rm8 = al ... ah (signed) *) | (*% @prefix att_ @format(x) "\tidivw\t" x *) IDIVW of rm16 (* dx:ax / rm16 = ax ... dx (signed) *) *) | (*% @prefix att_ @format(x) "\tidivl\t" x *) IDIVL of rm32 (* edx:eax / rm32 = eax ... edx (signed) *) (* | (*% @prefix att_ @format(x) "\tdivb\t" x *) DIVB of rm8 (* ax / rm8 = al ... ah (unsigned) *) | (*% @prefix att_ @format(x) "\tdivw\t" x *) DIVW of rm16 (* dx:ax / rm16 = ax ... dx (unsigned) *) *) | (*% @prefix att_ @format(x) "\tdivl\t" x *) DIVL of rm32 (* edx:eax / rm32 = eax ... edx (unsigned) *) | (*% @prefix att_ @format(dst * src) "\tandb\t" src ", " dst *) ANDB of rm8 * rmi8 | (*% @prefix att_ @format(dst * src) "\tandw\t" src ", " dst *) ANDW of rm16 * rmi16 | (*% @prefix att_ @format(dst * src) "\tandl\t" src ", " dst *) ANDL of rm32 * rmi32 | (*% @prefix att_ @format(dst * src) "\torb\t" src ", " dst *) ORB of rm8 * rmi8 | (*% @prefix att_ @format(dst * src) "\torw\t" src ", " dst *) ORW of rm16 * rmi16 | (*% @prefix att_ @format(dst * src) "\torl\t" src ", " dst *) ORL of rm32 * rmi32 (* | (*% @prefix att_ @format(dst * src) "\txorb\t" src ", " dst *) XORB of rm8 * rmi8 | (*% @prefix att_ @format(dst * src) "\txorw\t" src ", " dst *) XORW of rm16 * rmi16 *) | (*% @prefix att_ @format(dst * src) "\txorl\t" src ", " dst *) XORL of rm32 * rmi32 (* | (*% @prefix att_ @format(dst * c) "\tshlb\t" c ", " dst *) SHLB of rm8 * int (* shift count = 0 - 31 *) | (*% @prefix att_ @format(dst) "\tshlb\t%cl," dst *) SHLB_CL of rm8 (* rm8 <- rm8 << %cl *) | (*% @prefix att_ @format(dst * c) "\tshlw\t" c ", " dst *) SHLW of rm16 * int | (*% @prefix att_ @format(dst) "\tshlw\t%cl," dst *) SHLW_CL of rm16 *) | (*% @prefix att_ @format(dst * c) "\tshll\t$" c ", " dst *) SHLL of rm32 * int | (*% @prefix att_ @format(dst) "\tshll\t%cl," dst *) SHLL_CL of rm32 (* | (*% @prefix att_ @format(dst * c) "\tshrb\t" c ", " dst *) SHRB of rm8 * int | (*% @prefix att_ @format(dst) "\tshrb\t%cl," dst *) SHRB_CL of rm8 | (*% @prefix att_ @format(dst * c) "\tshrw\t" c ", " dst *) SHRW of rm16 * int | (*% @prefix att_ @format(dst) "\tshrw\t%cl," dst *) SHRW_CL of rm16 *) | (*% @prefix att_ @format(dst * c) "\tshrl\t$" c ", " dst *) SHRL of rm32 * int | (*% @prefix att_ @format(dst) "\tshrl\t%cl," dst *) SHRL_CL of rm32 (* | (*% @prefix att_ @format(dst * c) "\tsarb\t" c ", " dst *) SARB of rm8 * int | (*% @prefix att_ @format(dst) "\tsarb\t%cl," dst *) SARB_CL of rm8 | (*% @prefix att_ @format(dst * c) "\tsarw\t" c ", " dst *) SARW of rm16 * int | (*% @prefix att_ @format(dst) "\tsarw\t%cl," dst *) SARW_CL of rm16 *) | (*% @prefix att_ @format(dst * c) "\tsarl\t$" c ", " dst *) SARL of rm32 * int | (*% @prefix att_ @format(dst) "\tsarl\t%cl," dst *) SARL_CL of rm32 (* | (*% @prefix att_ @format(dst) "\tnotb\t" dst *) NOTB of rm8 | (*% @prefix att_ @format(dst) "\tnotw\t" dst *) NOTW of rm16 *) | (*% @prefix att_ @format(dst) "\tnotl\t" dst *) NOTL of rm32 (* | (*% @prefix att_ @format(dst) "\tnegb\t" dst *) NEGB of rm8 | (*% @prefix att_ @format(dst) "\tnegw\t" dst *) NEGW of rm16 *) | (*% @prefix att_ @format(dst) "\tnegl\t" dst *) NEGL of rm32 | (*% @prefix att_ @format(dst * src) "\tcmpb\t" src ", " dst *) CMPB of rm8 * rmi8 (* | (*% @prefix att_ @format(dst * src) "\tcmpw\t" src ", " dst *) CMPW of rm16 * rmi16 *) | (*% @prefix att_ @format(dst * src) "\tcmpl\t" src ", " dst *) CMPL of rm32 * rmi32 | (*% @prefix att_ @format(dst * src) "\ttestb\t" src ", " dst *) TESTB of rm8 * rmi8 (* | (*% @prefix att_ @format(dst * src) "\ttestw\t" src ", " dst *) TESTW of rm16 * rmi16 *) | (*% @prefix att_ @format(dst * src) "\ttestl\t" src ", " dst *) TESTL of rm32 * rmi32 | (*% @prefix att_ @format(cc * dst) "\tset"cc"\t" dst *) SET of cc * rm8 | (*% @prefix att_ @format(cc * l * throughLabel) "\tj"cc"\t" l *) J of cc * localLabel * localLabel | (*% @prefix att_ @format(l * succs) "\tjmp\t" l *) (*% * @prefix format_ * @format(l * succ succs) "\tjmp\t" l "\t# => " succs(succ)(",") 1 *) JMP of jump * localLabel list (* | (*% @prefix att_ @format(l) "\tjmp\t" l *) (*% @prefix format_ @format(l) "\tjmp\t" l + "(continue)" *) Continue of label *) | (*% @prefix att_ @format(l) "\tcall\t" l *) CALL of jump | (*% @prefix att_ @format(i io:withPrefix) "\tret" io(i)("\t$") *) RET of imm option | (*% @prefix att_ @format "\tleave" *) LEAVE | (*% @prefix att_ @format(x) "\tpushl\t" x *) PUSHL of rmi32 | (*% @prefix att_ @format(x) "\tpopl\t" x *) POPL of rm32 (* ALLOC *) (* ALLOCX *) (* PUSHTRAP *) (* POPTRAP *) (* RAISE *) (* | ENTER (* pseudo instruction? *) *) (* | LEAVE (* pseudo instruction? *) *) (* | (* insn.def:1365.0-1368.1 *) SYSCALL of extern | (* insn.def:1448.0-1453.1 *) FFCALL of extern * var * var | (* insn.def:1463.0-1470.1 *) FFEXPORT of extern * var * var * var *) | (*% @prefix att_ @format(x) "\tflds\t" x *) FLDS of mem (* push float32 to stack *) | (*% @prefix att_ @format(x) "\tfldl\t" x *) FLDL of mem (* push float64 to stack *) | (*% @prefix att_ @format(x) "\tfldt\t" x *) FLDT of mem (* push float80 to stack *) | (*% @prefix att_ @format(src) "\tfld\t" src *) FLD of sti (* push st(i) *) (* | (*% @prefix att_ @format "\tfldz" *) FLDZ (* push +0.0 *) | (*% @prefix att_ @format "\tfld1" *) FLD1 (* push +1.0 *) *) | (*% @prefix att_ @format(x) "\tfilds\t" x *) FILDS of mem (* push int16 *) | (*% @prefix att_ @format(x) "\tfildl\t" x *) FILDL of mem (* push int32 *) | (*% @prefix att_ @format(x) "\tfildq\t" x *) FILDQ of mem (* push int64 *) (* | (*% @prefix att_ @format(x) "\tfsts\t" x *) FSTS of mem (* store float32 from st(0) *) | (*% @prefix att_ @format(x) "\tfstt\t" x *) FSTL of mem (* store float64 from st(0) *) | (*% @prefix att_ @format(dst) "\tfst\t" dst *) FST of sti (* copy st(0) to st(i) *) *) | (*% @prefix att_ @format(x) "\tfstps\t" x *) FSTPS of mem (* store float32 from st(0) and pop *) | (*% @prefix att_ @format(x) "\tfstpl\t" x *) FSTPL of mem (* store float64 from st(0) and pop *) | (*% @prefix att_ @format(x) "\tfstpt\t" x *) FSTPT of mem (* store float80 from st(0) and pop *) | (*% @prefix att_ @format(dst) "\tfstp\t" dst *) FSTP of sti (* copy st(0) to st(i) and pop *) (* | (*% @prefix att_ @format(x) "\tfists\t" x *) FISTS of mem (* store int16 from st(0) *) | (*% @prefix att_ @format(x) "\tfistl\t" x *) FISTL of mem (* store int32 from st(0) *) *) | (*% @prefix att_ @format(x) "\tfistps\t" x *) FISTPS of mem (* store int16 from st(0) and pop *) | (*% @prefix att_ @format(x) "\tfistpl\t" x *) FISTPL of mem (* store int32 from st(0) and pop *) | (*% @prefix att_ @format(x) "\tfistpq\t" x *) FISTPQ of mem (* store int64 from st(0) and pop *) | (*% @prefix att_ @format(dst) "\tfxch\t" dst *) FXCH of sti (* exchange st(0) and st(i) *) (* | (*% @prefix att_ @format(cc, x) "\tfcmov\t" cc ", " x *) FCMOV of cc * sti (* conditional move from st(0) to st(i) *) *) | (*% @prefix att_ @format(x) "\tfadds\t" x *) FADDS of mem (* st(0) <- st(0) + float32 *) | (*% @prefix att_ @format(x) "\tfaddl\t" x *) FADDL of mem (* st(0) <- st(0) + float64 *) | (*% @prefix att_ @format(dst * src) "\tfadd\t" src ", " dst *) FADD of sti * sti (* st(d) <- st(d) + st(s); either d or s must be 0 *) | (*% @prefix att_ @format(dst) "\tfaddp\t%st(0), " dst *) FADDP of sti (* st(i) <- st(i) + st(0) and pop *) (* | (*% @prefix att_ @format(x) "\tfiadds\t" x *) FIADDS of mem (* st(0) <- st(0) + int16 *) | (*% @prefix att_ @format(x) "\tfiaddl\t" x *) FIADDL of mem (* st(0) <- st(0) + int32 *) *) (* NOTE: * opcode Intel AT&T semantics * d8 e1 fsub st0, st1 fsub %st(1), %st(0) st0 <- st0 - st1 * dc e9 fsub st1, st0 fsubr %st(0), %st(1) st1 <- st1 - st0 * de e9 fsubp st1, st0 fsubrp %st(0), %st(1) st1 <- st1 - st0 * d8 e9 fsubr st0, st1 fsubr %st(1), %st(0) st0 <- st1 - st0 * dc e1 fsubr st1, st0 fsub %st(0), %st(1) st1 <- st0 - st1 * de e1 fsubrp st1, st0 fsubp %st(0), %st(1) st1 <- st0 - st1 *) | (*% @prefix att_ @format(x) "\tfsubs\t" x *) FSUBS of mem (* st(0) <- st(0) - float32 *) | (*% @prefix att_ @format(x) "\tfsubl\t" x *) FSUBL of mem (* st(0) <- st(0) - float64 *) | (*% @prefix att_ @format(dst * src) "\tfsub\t" src ", " dst *) FSUB of sti * sti (* st(d) <- st(d) - st(s); either d or s must be 0 *) | (*% @prefix att_ @format(dst) "\tfsubrp\t%st(0), " dst *) FSUBP of sti (* st(i) <- st(i) - st(0) and pop *) (* | (*% @prefix att_ @format(x) "\tfisubs\t" x *) FISUBS of mem (* st(0) <- st(0) - int16 *) | (*% @prefix att_ @format(x) "\tfisubl\t" x *) FISUBL of mem (* st(0) <- st(0) - int32 *) *) | (*% @prefix att_ @format(x) "\tfsubrs\t" x *) FSUBRS of mem (* st(0) <- float32 - st(0) *) | (*% @prefix att_ @format(x) "\tfsubrl\t" x *) FSUBRL of mem (* st(0) <- float64 - st(0) *) | (*% @prefix att_ @format(dst * src) "\tfsub\t" src ", " dst *) FSUBR of sti * sti (* st(d) <- st(s) - st(d); either d or s must be 0 *) (* FSUBR of sti * sti (* st(d) <- st(0) - st(d) *) * fsub %st(0), %st(1) st1 <- st0 - st1 FSUBR of sti * sti (* st(0) <- st(s) - st(0) *) * fsubr %st(1), %st(0) st0 <- st1 - st0 *) | (*% @prefix att_ @format(dst) "\tfsubrp\t" d ",%st(0)" *) FSUBRP of sti (* st(i) <- st(0) - st(i) and pop *) (* | (*% @prefix att_ @format(x) "\tfisubrs\t" x *) FISUBRS of mem (* st(0) <- int16 - st(0) *) | (*% @prefix att_ @format(x) "\tfisubrl\t" x *) FISUBRL of mem (* st(0) <- int32 - st(0) *) *) | (*% @prefix att_ @format(x) "\tfmuls\t" x *) FMULS of mem (* st(0) <- st(0) * float32 *) | (*% @prefix att_ @format(x) "\tfmull\t" x *) FMULL of mem (* st(0) <- st(0) * float64 *) | (*% @prefix att_ @format(dst * src) "\tfmul\t" src ", " dst *) FMUL of sti * sti (* st(d) <- st(d) * st(s); either d or s must be 0 *) | (*% @prefix att_ @format(dst) "\tfmulp\t%st(0), " dst *) FMULP of sti (* st(i) <- st(i) * st(0) and pop *) (* | (*% @prefix att_ @format(x) "\tfimuls\t" x *) FIMULS of mem (* st(0) <- st(0) * int16 *) | (*% @prefix att_ @format(x) "\tfimull\t" x *) FIMULL of mem (* st(0) <- st(0) * int32 *) *) | (*% @prefix att_ @format(x) "\tfdivs\t" x *) FDIVS of mem (* st(0) <- st(0) / float32 *) | (*% @prefix att_ @format(x) "\tfdivl\t" x *) FDIVL of mem (* st(0) <- st(0) / float64 *) | (*% @prefix att_ @format(dst * src) "\tfdiv\t" src ", " dst *) FDIV of sti * sti (* st(d) <- st(d) / st(s); either d or s must be 0 *) | (*% @prefix att_ @format(dst) "\tfdivrp\t%st(0), " dst *) FDIVP of sti (* st(i) <- st(i) / st(0) and pop *) (* | (*% @prefix att_ @format(x) "\tfidivs\t" x *) FIDIVS of mem (* st(0) <- st(0) / int16 *) | (*% @prefix att_ @format(x) "\tfidivl\t" x *) FIDIVL of mem (* st(0) <- st(0) / int32 *) *) | (*% @prefix att_ @format(x) "\tfdivrs\t" x *) FDIVRS of mem (* st(0) <- float32 / st(0) *) | (*% @prefix att_ @format(x) "\tfdivrl\t" x *) FDIVRL of mem (* st(0) <- float64 / st(0) *) | (*% @prefix att_ @format(dst * src) "\tfdivr\t" src ", " dst *) FDIVR of sti * sti (* st(d) <- st(s) / st(d); either d or s must be 0 *) | (*% @prefix att_ @format(dst) "\tfdivrp\t" d ",%st(0)" *) FDIVRP of sti (* st(i) <- st(0) / st(i) and pop *) (* | (*% @prefix att_ @format(x) "\tfidivrs\t" x *) FIDIVRS of mem (* st(0) <- int16 / st(0) *) | (*% @prefix att_ @format(x) "\tfidivrl\t" x *) FIDIVRL of mem (* st(0) <- int32 / st(0) *) *) | (*% @prefix att_ @format "\tfabs" *) FABS (* st(0) <- abs(st(0)) *) | (*% @prefix att_ @format "\tfchs" *) FCHS (* st(0) <- -st(0) *) | (*% @prefix att_ @format "\tfprem" *) FPREM (* st(0) <- st(0) % st(1) *) (* | (*% @prefix att_ @format "\tfprem1" *) FPREM1 (* st(0) <- st(0) % st(1) IEEE *) | (*% @prefix att_ @format "\tfrndint" *) FRNDINT (* st(0) <- round(st(0)) *) | (*% @prefix att_ @format "\tfxtract" *) FXTRACT (* st(0) <- ext(st(0)), push man(st(0)) *) | (*% @prefix att_ @format(x) "\tfcoms\t" x *) FCOMS of mem (* compare st(0) with float32 *) | (*% @prefix att_ @format(x) "\tfcoml\t" x *) FCOML of mem (* compare st(0) with float64 *) | (*% @prefix att_ @format(src) "\tfcom\t" src *) FCOM of sti (* compare st(0) with st(i) *) | (*% @prefix att_ @format(x) "\tfcomps\t" x *) FCOMPS of mem (* compare st(0) with float32 and pop *) | (*% @prefix att_ @format(x) "\tfcompl\t" x *) FCOMPL of mem (* compare st(0) with float64 and pop *) | (*% @prefix att_ @format(src) "\tfcomp\t" src *) FCOMP of sti (* compare st(0) with st(i) and pop *) | (*% @prefix att_ @format "\tfcompp" *) FCOMPP (* compare st(0) with st(1) and pop twice *) | (*% @prefix att_ @format(src) "\tfcomi\t" src *) FCOMI of sti (* compare st(0) with st(i) and set EFLAGS *) | (*% @prefix att_ @format(src) "\tfcomip\t" src *) FCOMIP of sti (* compare st(0) with st(i) and pop and set EFLAGS *) | (*% @prefix att_ @format "\tftst" *) FTST (* compare st(0) with 0.0 *) *) | (*% @prefix att_ @format(src) "\tfucom\t" src *) FUCOM of sti (* unordered compare st(0) with st(i) *) | (*% @prefix att_ @format(src) "\tfucomp\t" src *) FUCOMP of sti (* unordered compare st(0) with st(i) and pop *) | (*% @prefix att_ @format "\tfucompp" *) FUCOMPP (* unordered compare st(0) with st(1) and pop twice *) (* | (*% @prefix att_ @format(src) "\tfucomi\t" src *) FUCOMI of sti (* unordered compare st(0) with st(i) and set EFLAGS *) | (*% @prefix att_ @format(src) "\tfucomip\t" src *) FUCOMIP of sti (* unordered compare st(0) with st(i) and pop and set EFLAGS *) | (*% @prefix att_ @format "\tfxam" *) FXAM (* examine *) *) | (*% @prefix att_ @format(mem) "\tfstsw\t" mem *) FSTSW of mem (* store fpu status word to mem *) | (*% @prefix att_ @format "\tfstsw\t%ax" *) FSTSW_AX (* store fpu status word to %ax *) (* | (*% @prefix att_ @format "\tfnstsw\t%ax" *) FNSTSW_AX (* store fpu status word to %ax without exception check *) *) | (*% @prefix att_ @format "\tfincstp" *) FINCSTP (* increment stack-top pointer *) (* | (*% @prefix att_ @format "\tfdecstp" *) FDECSTP (* decrement stack-top pointer *) *) | (*% @prefix att_ @format "\tfwait" *) FWAIT (* check FPU exception *) | (*% @prefix att_ @format "\tfclex" *) FNCLEX (* clear exception *) | (*% @prefix att_ @format(dst) "\tffree\t" dst *) FFREE of sti (* free st(i) *) | (*% @prefix att_ @format(m) "\tfnstcw\t" m *) FNSTCW of mem | (*% @prefix att_ @format(m) "\tfldcw\t" m *) FLDCW of mem (* pseudo instructions *) | (*% @prefix att_ * @format(l * loc lo:withPrefix) l ":" lo(loc)("\t\t#" +) *) Label of localLabel * loc option | (*% @prefix att_ * @format(l * loc lo:withPrefix) l ":" lo(loc)("\t\t#" +) *) Symbol of symbol * loc option | (*% @prefix att_ @format(l) "\t.globl\t" l *) Global of symbol | (*% @prefix att_ * @format({align,filler}) "\t.align\t" align ", " filler *) (*% @prefix darwin_ * @format({align,filler}) "\t.align\t" align:log2 ", " filler *) Align of {align:int, filler:word} (* align must be 2^n *) | (*% @prefix att_ @format(x) "\t" x *) (*% @prefix format_ @format(x) "\t.section" x *) Section of sectionName | (*% @prefix att_ @format(x) "\t.long\t" x *) (*% @prefix format_ @format(x) "\t.int\t" x *) ImmData of imm | (*% @prefix att_ @format(x xs) "\t.byte\t" xs(x)("," +) *) BytesData of Word8.word list | (*% @prefix att_ @format(x:ascii) "\t.ascii\t" x *) AsciiData of string | (*% @prefix att_ @format(size) "\t.fill\t" size ", 1, 0" *) SpaceData of int | (*% @prefix att_ @format *) (*% @prefix format_ @format(x) x ": .ExternDataRef" *) (*% @prefix darwin_ @format(sym) * "\t.section __IMPORT,__pointers,non_lazy_symbol_pointers" \n * sym:linkPtrSymbol ":" \n * "\t.indirect_symbol " sym \n * "\t.long\t0" * (* "\t.subsections_via_symbols" *) *) LinkPtrEntry of symbol | (*% @prefix att_ @format *) (*% @prefix format_ @format(x) x ": .ExternCodeRef" *) (*% @prefix darwin_ @format(sym) * "\t.section __IMPORT,__jump_table,symbol_stubs," * "self_modifying_code+pure_instructions,5" \n * sym:linkStubSymbol ":" \n * "\t.indirect_symbol " sym \n * "\thlt ; hlt ; hlt ; hlt ; hlt" * (* "\t.subsections_via_symbols" *) *) LinkStubEntry of symbol | (*% @prefix att_ @format(sym) * "\t.section .text."sym",\"axG\",@progbits,"sym",comdat" \n * "\t.globl\t" sym \n * "\t.hidden\t" sym \n * "\t.type\t" sym ", @function" \n * sym ":" *) (*% @prefix format_ @format(sym) sym ": # GET_PC_THUNK" *) (*% @prefix darwin_ @format(sym) * "\t.section __TEXT,__textcoal_nt,coalesced,pure_instructions" \n * "\t.weak_definition" + sym \n * "\t.private_extern" + sym \n * "\t.align\t2, 0x90" \n * sym ":" *) GET_PC_THUNK_Decl of symbol | (*% @prefix att_ @format(l * {size}) * ".comm " l ", " size *) Comm of symbol * {size: int} (*% @prefix att_ @formatter(lines) formatLines *) (*% @prefix darwin_ @ditto att_ *) (*% @prefix format_ @ditto att_ *) type program = (*% @prefix att_ @format(insn insns:lines) insns(insn)(,\n) *) instruction list (*% @prefix att_ *) (*% @prefix format_ @ditto att_ *) (*% @prefix darwin_ @ditto att_ *) datatype dummyNextToplevel = (*% @prefix att_ @format(sym) * "\t.text" \n * "\t.align\t4, 0x90" \n * "\t.globl\t" sym \n * sym ":" \n * "\tret" *) (*% @prefix format_ @format(sym) * sym ": # toplevel stub code" *) (*% @prefix darwin_ @format(sym) * "\t.text" \n * "\t.align\t2, 0x90" \n * "\t.globl" + sym \n * sym ":" \n * "\tret" *) DUMMY_NEXT_TOPLEVEL of symbol (*% @prefix att_ @formatter(lines) formatLines *) (*% @prefix darwin_ @ditto att_ *) (*% @prefix format_ @ditto att_ *) type nextDummy = (*% @prefix att_ @format(insn insns:lines) insns(insn)(,\n) *) dummyNextToplevel list end (* local *) end smlsharp-1.2.0/src/compiler/rtl/main/X86Asm.ppg.smi0000644 000000000000000000002774312050661606022173 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../util/main/SmlppgUtil.ppg.smi" structure X86Asm = struct type loc = Loc.loc val att_loc : loc -> SMLFormat.FormatExpression.expression list val format_loc : loc -> SMLFormat.FormatExpression.expression list val darwin_loc : loc -> SMLFormat.FormatExpression.expression list type localLabel = ClusterID.id * VarID.id val att_localLabel : localLabel -> SMLFormat.FormatExpression.expression list val format_localLabel : localLabel -> SMLFormat.FormatExpression.expression list val darwin_localLabel : localLabel -> SMLFormat.FormatExpression.expression list type symbol = string val att_symbol : symbol -> SMLFormat.FormatExpression.expression list val format_symbol : symbol -> SMLFormat.FormatExpression.expression list val darwin_symbol : symbol -> SMLFormat.FormatExpression.expression list type linkPtrSymbol = string val att_linkPtrSymbol : linkPtrSymbol -> SMLFormat.FormatExpression.expression list val format_linkPtrSymbol : linkPtrSymbol -> SMLFormat.FormatExpression.expression list val darwin_linkPtrSymbol : linkPtrSymbol -> SMLFormat.FormatExpression.expression list type linkStubSymbol = string val att_linkStubSymbol : linkStubSymbol -> SMLFormat.FormatExpression.expression list val format_linkStubSymbol : linkStubSymbol -> SMLFormat.FormatExpression.expression list val darwin_linkStubSymbol : linkStubSymbol -> SMLFormat.FormatExpression.expression list datatype label = LOCAL of localLabel | SYMBOL of symbol | LINKPTR of linkPtrSymbol | LINKSTUB of linkStubSymbol | ELF_GOTOFF of label | ELF_GOT of label | NULL val att_label : label -> SMLFormat.FormatExpression.expression list val format_label : label -> SMLFormat.FormatExpression.expression list val darwin_label : label -> SMLFormat.FormatExpression.expression list datatype imm = INT of Int32.int | WORD of Word32.word | LABEL of label | CONSTSUB of imm * imm | CONSTADD of imm * imm | CURRENTPOS val att_imm : imm -> SMLFormat.FormatExpression.expression list val format_imm : imm -> SMLFormat.FormatExpression.expression list val darwin_imm : imm -> SMLFormat.FormatExpression.expression list datatype reg = EAX | EBX | ECX | EDX | ESI | EDI | EBP | ESP val att_reg : reg -> SMLFormat.FormatExpression.expression list val att_w_reg : reg -> SMLFormat.FormatExpression.expression list val format_reg : reg -> SMLFormat.FormatExpression.expression list val darwin_reg : reg -> SMLFormat.FormatExpression.expression list datatype r16 = X of reg val att_r16 : r16 -> SMLFormat.FormatExpression.expression list val format_r16 : r16 -> SMLFormat.FormatExpression.expression list val darwin_r16 : r16 -> SMLFormat.FormatExpression.expression list datatype r8 = XH of reg | XL of reg val att_r8 : r8 -> SMLFormat.FormatExpression.expression list val format_r8 : r8 -> SMLFormat.FormatExpression.expression list val darwin_r8 : r8 -> SMLFormat.FormatExpression.expression list datatype sti = ST of int val att_sti : sti -> SMLFormat.FormatExpression.expression list val format_sti : sti -> SMLFormat.FormatExpression.expression list val darwin_sti : sti -> SMLFormat.FormatExpression.expression list datatype mem = DISP of imm * mem | ABSADDR of imm | BASE of reg | INDEX of reg * int | BASEINDEX of reg * reg * int val att_withDisp_mem : SMLFormat.FormatExpression.expression list -> mem -> SMLFormat.FormatExpression.expression list val att_mem : mem -> SMLFormat.FormatExpression.expression list val format_withDisp_mem : SMLFormat.FormatExpression.expression list -> mem -> SMLFormat.FormatExpression.expression list val format_mem : mem -> SMLFormat.FormatExpression.expression list val darwin_withDisp_mem : SMLFormat.FormatExpression.expression list -> mem -> SMLFormat.FormatExpression.expression list val darwin_mem : mem -> SMLFormat.FormatExpression.expression list datatype rm8 = R8 of r8 | M8 of mem val att_rm8 : rm8 -> SMLFormat.FormatExpression.expression list val format_rm8 : rm8 -> SMLFormat.FormatExpression.expression list val darwin_rm8 : rm8 -> SMLFormat.FormatExpression.expression list datatype rmi8_ = R_8 of r8 | M_8 of mem | I_8 of imm val att_rmi8_ : SMLFormat.FormatExpression.expression list * SMLFormat.FormatExpression.expression list -> rmi8_ -> SMLFormat.FormatExpression.expression list val format_rmi8_ : SMLFormat.FormatExpression.expression list * SMLFormat.FormatExpression.expression list -> rmi8_ -> SMLFormat.FormatExpression.expression list val darwin_rmi8_ : SMLFormat.FormatExpression.expression list * SMLFormat.FormatExpression.expression list -> rmi8_ -> SMLFormat.FormatExpression.expression list type rmi8 = rmi8_ val att_rmi8 : rmi8 -> SMLFormat.FormatExpression.expression list val format_rmi8 : rmi8 -> SMLFormat.FormatExpression.expression list val darwin_rmi8 : rmi8 -> SMLFormat.FormatExpression.expression list datatype rm16 = R16 of r16 | M16 of mem val att_rm16 : rm16 -> SMLFormat.FormatExpression.expression list val format_rm16 : rm16 -> SMLFormat.FormatExpression.expression list val darwin_rm16 :rm16 -> SMLFormat.FormatExpression.expression list datatype rmi16_ = R_16 of r16 | M_16 of mem | I_16 of imm val att_rmi16_ : SMLFormat.FormatExpression.expression list * SMLFormat.FormatExpression.expression list -> rmi16_ -> SMLFormat.FormatExpression.expression list val format_rmi16_ : SMLFormat.FormatExpression.expression list * SMLFormat.FormatExpression.expression list -> rmi16_ -> SMLFormat.FormatExpression.expression list val darwin_rmi16_ : SMLFormat.FormatExpression.expression list * SMLFormat.FormatExpression.expression list -> rmi16_ -> SMLFormat.FormatExpression.expression list type rmi16 = rmi16_ val att_rmi16 : rmi16 -> SMLFormat.FormatExpression.expression list val format_rmi16 : rmi16 -> SMLFormat.FormatExpression.expression list val darwin_rmi16 : rmi16 -> SMLFormat.FormatExpression.expression list datatype rm32 = R of reg | M of mem val att_rm32 : rm32 -> SMLFormat.FormatExpression.expression list val format_rm32 : rm32 -> SMLFormat.FormatExpression.expression list val darwin_rm32 : rm32 -> SMLFormat.FormatExpression.expression list datatype rmi32_ = R_ of reg | M_ of mem | I_ of imm val att_rmi32_ : SMLFormat.FormatExpression.expression list * SMLFormat.FormatExpression.expression list -> rmi32_ -> SMLFormat.FormatExpression.expression list val format_rmi32_ : SMLFormat.FormatExpression.expression list * SMLFormat.FormatExpression.expression list -> rmi32_ -> SMLFormat.FormatExpression.expression list val darwin_rmi32_ : SMLFormat.FormatExpression.expression list * SMLFormat.FormatExpression.expression list -> rmi32_ -> SMLFormat.FormatExpression.expression list type rmi32 = rmi32_ val att_rmi32 : rmi32 -> SMLFormat.FormatExpression.expression list val format_rmi32 : rmi32 -> SMLFormat.FormatExpression.expression list val darwin_rmi32 : rmi32 -> SMLFormat.FormatExpression.expression list type jump = rmi32_ val att_jump : jump -> SMLFormat.FormatExpression.expression list val format_jump : jump -> SMLFormat.FormatExpression.expression list val darwin_jump : jump -> SMLFormat.FormatExpression.expression list datatype sectionName = TextSection | DataSection | Literal4Section | Literal8Section | CStringSection | ConstSection | ConstDataSection val att_sectionName : sectionName -> SMLFormat.FormatExpression.expression list val format_sectionName : sectionName -> SMLFormat.FormatExpression.expression list val darwin_sectionName : sectionName -> SMLFormat.FormatExpression.expression list datatype cc = O | NO | B | AE | E | NE | BE | A | S | NS | P | NP | L | GE | LE | G val att_cc : cc -> SMLFormat.FormatExpression.expression list val format_cc : cc -> SMLFormat.FormatExpression.expression list val darwin_cc : cc -> SMLFormat.FormatExpression.expression list datatype instruction = NOP | MOVB of rm8 * rmi8 | MOVW of rm16 * rmi16 | MOVL of rm32 * rmi32 | LEAL of reg * mem | CBW | CWDE | CDQ | MOVZBW of r16 * rm8 | MOVZBL of reg * rm8 | MOVZWL of reg * rm16 | MOVSBW of r16 * rm8 | MOVSBL of reg * rm8 | MOVSWL of reg * rm16 | CLD | REP_MOVSB | REP_STOSB | ADDB of rm8 * rmi8 | ADDW of rm16 * rmi16 | ADDL of rm32 * rmi32 | SUBB of rm8 * rmi8 | SUBW of rm16 * rmi16 | SUBL of rm32 * rmi32 | IMULL of rm32 | IMULL2 of reg * rmi32 | IMULL3 of reg * rm32 * imm | MULL of rm32 | IDIVL of rm32 | DIVL of rm32 | ANDB of rm8 * rmi8 | ANDW of rm16 * rmi16 | ANDL of rm32 * rmi32 | ORB of rm8 * rmi8 | ORW of rm16 * rmi16 | ORL of rm32 * rmi32 | XORL of rm32 * rmi32 | SHLL of rm32 * int | SHLL_CL of rm32 | SHRL of rm32 * int | SHRL_CL of rm32 | SARL of rm32 * int | SARL_CL of rm32 | NOTL of rm32 | NEGL of rm32 | CMPB of rm8 * rmi8 | CMPL of rm32 * rmi32 | TESTB of rm8 * rmi8 | TESTL of rm32 * rmi32 | SET of cc * rm8 | J of cc * localLabel * localLabel | JMP of jump * localLabel list | CALL of jump | RET of imm option | LEAVE | PUSHL of rmi32 | POPL of rm32 | FLDS of mem | FLDL of mem | FLDT of mem | FLD of sti | FILDS of mem | FILDL of mem | FILDQ of mem | FSTPS of mem | FSTPL of mem | FSTPT of mem | FSTP of sti | FISTPS of mem | FISTPL of mem | FISTPQ of mem | FXCH of sti | FADDS of mem | FADDL of mem | FADD of sti * sti | FADDP of sti | FSUBS of mem | FSUBL of mem | FSUB of sti * sti | FSUBP of sti | FSUBRS of mem | FSUBRL of mem | FSUBR of sti * sti | FSUBRP of sti | FMULS of mem | FMULL of mem | FMUL of sti * sti | FMULP of sti | FDIVS of mem | FDIVL of mem | FDIV of sti * sti | FDIVP of sti | FDIVRS of mem | FDIVRL of mem | FDIVR of sti * sti | FDIVRP of sti | FABS | FCHS | FPREM | FUCOM of sti | FUCOMP of sti | FUCOMPP | FSTSW of mem | FSTSW_AX | FINCSTP | FWAIT | FNCLEX | FFREE of sti | FNSTCW of mem | FLDCW of mem | Label of localLabel * loc option | Symbol of symbol * loc option | Global of symbol | Align of {align:int, filler:word} | Section of sectionName | ImmData of imm | BytesData of Word8.word list | AsciiData of string | SpaceData of int | LinkPtrEntry of symbol | LinkStubEntry of symbol | GET_PC_THUNK_Decl of symbol | Comm of symbol * {size: int} val att_instruction : instruction -> SMLFormat.FormatExpression.expression list val format_instruction : instruction -> SMLFormat.FormatExpression.expression list val darwin_instruction : instruction -> SMLFormat.FormatExpression.expression list type program = instruction list val att_program : program -> SMLFormat.FormatExpression.expression list val darwin_program : program -> SMLFormat.FormatExpression.expression list val format_program : program -> SMLFormat.FormatExpression.expression list datatype dummyNextToplevel = DUMMY_NEXT_TOPLEVEL of symbol val att_dummyNextToplevel : dummyNextToplevel -> SMLFormat.FormatExpression.expression list val format_dummyNextToplevel : dummyNextToplevel -> SMLFormat.FormatExpression.expression list val darwin_dummyNextToplevel : dummyNextToplevel -> SMLFormat.FormatExpression.expression list type nextDummy = dummyNextToplevel list val att_nextDummy : nextDummy -> SMLFormat.FormatExpression.expression list val darwin_nextDummy : nextDummy -> SMLFormat.FormatExpression.expression list val format_nextDummy : nextDummy -> SMLFormat.FormatExpression.expression list end smlsharp-1.2.0/src/compiler/rtl/main/X86AsmGen.smi0000644 000000000000000000000063112050661606022023 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../control/main/Control.ppg.smi" _require "RTLBackendContext.smi" _require "RTLASMGEN.sig" _require "X86Asm.ppg.smi" structure X86AsmGen = struct val generate : X86Asm.program -> (string -> unit) -> unit val generateTerminator : RTLBackendContext.context -> ((string -> unit) -> unit) option end smlsharp-1.2.0/src/compiler/rtl/main/X86AsmGen.sml0000644 000000000000000000000465512050661606022040 0ustar00rootroot0000000 0000000 structure X86AsmGen : RTLASMGEN = struct structure Target = X86Asm fun formatter () = case #ossys (Control.targetInfo ()) of "darwin" => {format_code = X86Asm.darwin_program, format_nextDummy = X86Asm.darwin_nextDummy} | "linux" => {format_code = X86Asm.att_program, format_nextDummy = X86Asm.att_nextDummy} | "freebsd" => {format_code = X86Asm.att_program, format_nextDummy = X86Asm.att_nextDummy} | "openbsd" => {format_code = X86Asm.att_program, format_nextDummy = X86Asm.att_nextDummy} | "netbsd" => {format_code = X86Asm.att_program, format_nextDummy = X86Asm.att_nextDummy} | "mingw" => {format_code = X86Asm.att_program, format_nextDummy = X86Asm.att_nextDummy} | "cygwin" => {format_code = X86Asm.att_program, format_nextDummy = X86Asm.att_nextDummy} | x => raise Control.Bug ("unknown target os: " ^ x) fun instructionFormatter () = case #ossys (Control.targetInfo ()) of "darwin" => X86Asm.darwin_instruction | "linux" => X86Asm.att_instruction | "freebsd" => X86Asm.att_instruction | "openbsd" => X86Asm.att_instruction | "netbsd" => X86Asm.att_instruction | "mingw" => X86Asm.att_instruction | "cygwin" => X86Asm.att_instruction | x => raise Control.Bug ("unknown target os: " ^ x) fun output formatter code = fn outFn => outFn (SMLFormat.prettyPrint nil (formatter code)) : unit (* code: X86Asm.program = X86Asm.instruction list *) (* 2012-9-30 ohori: a minor optimization, which has huge impruvement *) fun generate code = let val format_code = instructionFormatter () in fn outFn => List.app (fn instruction => (outFn (SMLFormat.prettyPrint nil (format_code instruction)); outFn "\n") ) code end fun generateTerminator ({toplevelLabel}:RTLBackendContext.context) = case toplevelLabel of RTLBackendContext.TOP_NONE => NONE | RTLBackendContext.TOP_MAIN => NONE | RTLBackendContext.TOP_SEQ {next,...} => let val {format_nextDummy, ...} = formatter () in SOME (output format_nextDummy [Target.DUMMY_NEXT_TOPLEVEL next]) end end smlsharp-1.2.0/src/compiler/rtl/main/X86Coloring.smi0000644 000000000000000000000057212050661606022431 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../name/main/LocalID.smi" _require "RTL.ppg.smi" _require "RTLColoring.smi" _require "X86Subst.smi" _require "X86Emit.smi" _require "X86Constraint.smi" structure X86Coloring = struct structure Target = struct type reg = X86Constraint.Target.reg end val regalloc : RTL.program -> RTL.program * Target.reg VarID.Map.map end smlsharp-1.2.0/src/compiler/rtl/main/X86Coloring.sml0000644 000000000000000000000041012050661606022423 0ustar00rootroot0000000 0000000 (** * x86 RTL * @copyright (c) 2009, Tohoku University. * @author UENO Katsuhiro * @version $Id: $ *) structure X86Coloring = RTLColoring(structure Constraint = X86Constraint structure Subst = X86Subst structure Emit = X86Emit) smlsharp-1.2.0/src/compiler/rtl/main/X86Constraint.smi0000644 000000000000000000000075212050661606023001 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "RTL.ppg.smi" _require "RTLEdit.smi" _require "Coloring.smi" _require "RTLCONSTRAINT.sig" _require "X86Asm.ppg.smi" _require "X86Emit.smi" structure X86Constraint = struct structure Target = struct type reg = X86Asm.reg end val registers : Target.reg vector val split : RTL.graph -> RTL.graph val constrain : RTL.graph -> Coloring.graph -> unit end smlsharp-1.2.0/src/compiler/rtl/main/X86Constraint.sml0000644 000000000000000000006144312050661606023010 0ustar00rootroot0000000 0000000 (** * x86 RTL * @copyright (c) 2009, Tohoku University. * @author UENO Katsuhiro * @version $Id: $ *) structure X86Constraint : RTLCONSTRAINT = struct structure R = RTL structure X = X86Asm structure Target = X86Asm val registers = Vector.fromList [X.EAX, X.EBX, X.ECX, X.EDX, X.EDI, X.ESI] val EAX = 0 : Coloring.regId val EBX = 1 : Coloring.regId val ECX = 2 : Coloring.regId val EDX = 3 : Coloring.regId val EDI = 4 : Coloring.regId val ESI = 5 : Coloring.regId val calleeSaveRegs = [EDI, ESI, EBX] val callerSaveRegs = [EAX, EDX, ECX] val regsOnly32 = [EDI, ESI] fun newVar ty = let val id = VarID.generate () in {id = id, ty = ty} : R.var end fun splitVar (code:RTLEdit.focus) (var as {ty,...}:R.var) = let val var2 = newVar ty in (code, [{orig=var, tmp=var2}], var2) end fun splitVarList code (var::vars) = let val (code, pairs1, var) = splitVar code var val (code, pairs2, vars) = splitVarList code vars in (code, pairs1 @ pairs2, var::vars) end | splitVarList code nil = (code, nil, nil) fun load (code, pairs, vars) = (foldl (fn ({orig as {ty,...}, tmp}, z) => RTLEdit.insertBefore (z, [R.MOVE (ty, R.REG tmp, R.REF_ (R.REG orig))])) code pairs, vars) fun save (code, pairs, vars) = (foldl (fn ({orig as {ty,...}, tmp}, z) => RTLEdit.insertAfter (z, [R.MOVE (ty, R.REG orig, R.REF_ (R.REG tmp))])) code pairs, vars) fun splitDst code (R.REG var) = let val (code, pairs, var) = splitVar code var in (code, pairs, R.REG var) end | splitDst code (R.COUPLE (ty, {hi, lo})) = let val (code, pairs1, hi) = splitDst code hi val (code, pairs2, lo) = splitDst code lo in (code, pairs1 @ pairs2, R.COUPLE (ty, {hi=hi, lo=lo})) end | splitDst code (dst as R.MEM _) = (code, nil, dst) fun splitOperand code (R.REF (cast, dst)) = let val (code, dst) = load (splitDst code dst) in (code, R.REF (cast, dst)) end | splitOperand code (op1 as R.CONST _) = (code, op1) fun splitAddr code (ptrTy, R.BASE var) = let val (code, var) = load (splitVar code var) in (code, R.BASE var) end | splitAddr code (ptrTy, addr) = (code, addr) fun splitPrecolored2 code con (sign, dst, op1) = let val (code, dst) = save (splitDst code dst) val (code, op1) = splitOperand code op1 in (code, con (sign, dst, op1)) end fun splitCoalesce3 code con (ty, dst, op1, op2) = let val (code, op1) = splitOperand code op1 in (code, con (ty, dst, op1, op2)) end fun splitCoalesce2 code con (ty, dst, op1) = let val (code, op1) = splitOperand code op1 in (code, con (ty, dst, op1)) end fun splitShift code con (ty, dst, op1, op2) = let val (code, op1) = splitOperand code op1 val (code, op2) = splitOperand code op2 in (code, con (ty, dst, op1, op2)) end fun splitInsn code insn = case insn of R.NOP => (code, insn) | R.STABILIZE => (code, insn) | R.REQUEST_SLOT slot => (code, insn) | R.REQUIRE_SLOT slot => (code, insn) | R.USE vars => (code, insn) | R.COMPUTE_FRAME {uses, clobs} => (code, insn) | R.MOVE (ty1, dst, op1) => (code, insn) | R.MOVEADDR (ty, dst, addr) => (code, insn) | R.COPY {ty, dst, src, clobs} => (code, insn) | R.MLOAD {ty, dst:R.slot, srcAddr, size, defs, clobs} => let val (code, srcAddr) = splitAddr code (R.Void, srcAddr) val (code, size) = splitOperand code size val (code, defs) = save (splitVarList code defs) in (code, R.MLOAD {ty=ty, dst=dst, srcAddr=srcAddr, size=size, defs=defs, clobs=clobs}) end | R.MSTORE {ty, dstAddr, src:R.slot, size, defs, clobs, global} => let val (code, dstAddr) = splitAddr code (R.Void, dstAddr) val (code, size) = splitOperand code size val (code, defs) = save (splitVarList code defs) in (code, R.MSTORE {ty=ty, dstAddr=dstAddr, src=src, size=size, defs=defs, clobs=clobs, global=global}) end (* | R.EXT8TO16 (sign, dst, op1) => (code, insn) *) | R.EXT8TO32 (sign, dst, op1) => (code, insn) | R.EXT16TO32 (sign, dst, op1) => (code, insn) (* | R.SIGNEXT8TO16 (sign, dst, op1) => splitPrecolored2 code R.SIGNEXT8TO16 (sign, dst, op1) | R.SIGNEXT8TO32 (sign, dst, op1) => splitPrecolored2 code R.SIGNEXT8TO32 (sign, dst, op1) | R.SIGNEXT16TO32 (sign, dst, op1) => splitPrecolored2 code R.SIGNEXT16TO32 (sign, dst, op1) *) | R.EXT32TO64 (sign, dst as R.COUPLE _, op1) => splitPrecolored2 code R.EXT32TO64 (sign, dst, op1) | R.EXT32TO64 (sign, dst, op1) => (code, insn) | R.DOWN32TO8 (sign, dst, op1) => (code, insn) | R.DOWN32TO16 (sign, dst, op1) => (code, insn) (* | R.DOWN16TO8 (sign, dst, op1) => (code, insn) *) | R.ADD (ty, dst, op1, op2) => splitCoalesce3 code R.ADD (ty, dst, op1, op2) | R.SUB (ty, dst, op1, op2) => splitCoalesce3 code R.SUB (ty, dst, op1, op2) | R.MUL ((ty, dst as R.COUPLE _), (ty1, op1), op2) => let val (code, dst) = save (splitDst code dst) val (code, op1) = splitOperand code op1 in (code, R.MUL ((ty, dst), (ty1, op1), op2)) end | R.MUL ((ty, dst), (ty2, op1), (ty3, op2)) => splitCoalesce3 code (fn (_, dst, op1, op2) => R.MUL ((ty, dst), (ty2, op1), (ty3, op2))) (ty, dst, op1, op2) | R.DIVMOD ({div=(divTy, ddiv), mod=(modTy, dmod)}, (ty1, op1), op2) => let val (code, ddiv) = save (splitDst code ddiv) val (code, dmod) = save (splitDst code dmod) val (code, op1) = splitOperand code op1 in (code, R.DIVMOD ({div=(divTy,ddiv), mod=(modTy,dmod)}, (ty1, op1), op2)) end | R.AND (ty, dst, op1, op2) => splitCoalesce3 code R.AND (ty, dst, op1, op2) | R.OR (ty, dst, op1, op2) => splitCoalesce3 code R.OR (ty, dst, op1, op2) | R.XOR (ty, dst, op1, op2) => splitCoalesce3 code R.XOR (ty, dst, op1, op2) | R.LSHIFT (ty, dst, op1, op2) => splitShift code R.LSHIFT (ty, dst, op1, op2) | R.RSHIFT (ty, dst, op1, op2) => splitShift code R.RSHIFT (ty, dst, op1, op2) | R.ARSHIFT (ty, dst, op1, op2) => splitShift code R.ARSHIFT (ty, dst, op1, op2) | R.TEST_SUB (ty, op1, op2) => (code, insn) | R.TEST_AND (ty, op1, op2) => (code, insn) | R.TEST_LABEL (ty, op1, op2) => (code, insn) | R.NOT (ty, dst, op1) => splitCoalesce2 code R.NOT (ty, dst, op1) | R.NEG (ty, dst, op1) => splitCoalesce2 code R.NEG (ty, dst, op1) | R.SET (cc, ty, dst, {test}) => let val (code, test) = splitInsn code test in (code, R.SET (cc, ty, dst, {test=test})) end | R.LOAD_FP dst => (code, insn) | R.LOAD_SP dst => (code, insn) | R.LOAD_PREV_FP dst => (code, insn) | R.LOAD_RETADDR dst => (code, insn) (* dst must be a register but this is a special case; * we don't split its liverange here. *) | R.LOADABSADDR {ty, dst, symbol, thunk} => (code, insn) | R.X86 (R.X86LEAINT (ty, dst, addr)) => (code, insn) | R.X86 (R.X86FLD (ty, op1)) => (code, insn) | R.X86 (R.X86FLD_ST x86st1) => (code, insn) | R.X86 (R.X86FST (ty, addr)) => (code, insn) | R.X86 (R.X86FSTP (ty, dst)) => (code, insn) | R.X86 (R.X86FSTP_ST x86st1) => (code, insn) | R.X86 (R.X86FADD (ty, op1)) => (code, insn) | R.X86 (R.X86FADD_ST (x86st1, x86st2)) => (code, insn) | R.X86 (R.X86FADDP x86st1) => (code, insn) | R.X86 (R.X86FSUB (ty, op1)) => (code, insn) | R.X86 (R.X86FSUB_ST (x86st1, x86st2)) => (code, insn) | R.X86 (R.X86FSUBP x86st1) => (code, insn) | R.X86 (R.X86FSUBR (ty, op1)) => (code, insn) | R.X86 (R.X86FSUBR_ST (x86st1, x86st2)) => (code, insn) | R.X86 (R.X86FSUBRP x86st1) => (code, insn) | R.X86 (R.X86FMUL (ty, op1)) => (code, insn) | R.X86 (R.X86FMUL_ST (x86st1, x86st2)) => (code, insn) | R.X86 (R.X86FMULP x86st1) => (code, insn) | R.X86 (R.X86FDIV (ty, op1)) => (code, insn) | R.X86 (R.X86FDIV_ST (x86st1, x86st2)) => (code, insn) | R.X86 (R.X86FDIVP x86st1) => (code, insn) | R.X86 (R.X86FDIVR (ty, op1)) => (code, insn) | R.X86 (R.X86FDIVR_ST (x86st1, x86st2)) => (code, insn) | R.X86 (R.X86FDIVRP x86st1) => (code, insn) | R.X86 R.X86FPREM => (code, insn) | R.X86 (R.X86FABS) => (code, insn) | R.X86 (R.X86FCHS) => (code, insn) | R.X86 (R.X86FINCSTP) => (code, insn) | R.X86 (R.X86FFREE st) => (code, insn) | R.X86 (R.X86FXCH st) => (code, insn) | R.X86 (R.X86FUCOM st) => (code, insn) | R.X86 (R.X86FUCOMP st) => (code, insn) | R.X86 R.X86FUCOMPP => (code, insn) | R.X86 (R.X86FSW_TESTH {clob,mask}) => (code, insn) | R.X86 (R.X86FSW_MASKCMPH {clob,mask,compare}) => (code, insn) | R.X86 (R.X86FLDCW op1) => (code, insn) | R.X86 (R.X86FNSTCW dst) => (code, insn) | R.X86 R.X86FWAIT => (code, insn) | R.X86 R.X86FNCLEX => (code, insn) fun splitFirst first = case first of R.ENTER => RTLEdit.singletonFirst first | R.BEGIN _ => RTLEdit.singletonFirst first | R.CODEENTRY {label, symbol, scope, align, preFrameSize, stubOptions, defs, loc} => let val code = RTLEdit.singletonFirst R.ENTER val (code, defs) = save (splitVarList code defs) in RTLEdit.insertFirst (code, R.CODEENTRY {label=label, symbol=symbol, scope=scope, align=align, preFrameSize=preFrameSize, stubOptions=stubOptions, defs=defs, loc=loc}) end | R.HANDLERENTRY {label, align, defs, loc} => let val code = RTLEdit.singletonFirst R.ENTER val (code, defs) = save (splitVarList code defs) in RTLEdit.insertFirst (code, R.HANDLERENTRY {label=label, align=align, defs=defs, loc=loc}) end fun splitLast last = case last of R.HANDLE (insn, {nextLabel, handler}) => let val code = RTLEdit.singletonLast (RTLEdit.jump nextLabel) val (code, insn) = splitInsn code insn val (code, _) = RTLEdit.insertLastAfter (code, fn l => R.HANDLE (insn, {nextLabel=l, handler=handler})) in code end | R.CJUMP {test, cc, thenLabel, elseLabel} => let val code = RTLEdit.singletonFirst R.ENTER val (code, test) = splitInsn code test in if RTLEdit.atLast code then RTLEdit.insertLast (code, R.CJUMP {test=test, cc=cc, thenLabel=thenLabel, elseLabel=elseLabel}) else raise Control.Bug "splitLast: CJUMP" end | R.CALL {callTo, returnTo, handler, defs, uses, needStabilize, postFrameAdjust} => let val code = RTLEdit.singletonLast (RTLEdit.jump returnTo) val (code, defs) = save (splitVarList code defs) val (code, uses) = load (splitVarList code uses) val (code, _) = RTLEdit.insertLastAfter (code, fn l => R.CALL {callTo=callTo, returnTo=l, handler=handler, defs=defs, uses=uses, needStabilize=needStabilize, postFrameAdjust=postFrameAdjust}) in code end | R.JUMP {jumpTo, destinations} => RTLEdit.singletonLast last | R.UNWIND_JUMP {jumpTo, fp, sp, uses, handler} => let val code = RTLEdit.singletonFirst R.ENTER val (code, uses) = load (splitVarList code uses) in RTLEdit.insertLast (code, R.UNWIND_JUMP {jumpTo=jumpTo, fp=fp, sp=sp, uses=uses, handler=handler}) end | R.TAILCALL_JUMP {preFrameSize, jumpTo, uses} => let val code = RTLEdit.singletonFirst R.ENTER val (code, uses) = load (splitVarList code uses) in RTLEdit.insertLast (code, R.TAILCALL_JUMP {preFrameSize=preFrameSize, jumpTo=jumpTo, uses=uses}) end | R.RETURN {preFrameSize, stubOptions, uses} => let val code = RTLEdit.singletonFirst R.ENTER val (code, uses) = load (splitVarList code uses) in RTLEdit.insertLast (code, R.RETURN {preFrameSize=preFrameSize, stubOptions=stubOptions, uses=uses}) end | R.EXIT => RTLEdit.singletonLast R.EXIT fun split graph = RTLEdit.extend (fn RTLEdit.FIRST first => RTLEdit.unfocus (splitFirst first) | RTLEdit.MIDDLE insn => let val (code, insn) = splitInsn (RTLEdit.singletonFirst R.ENTER) insn in RTLEdit.unfocus (RTLEdit.insertBefore (code, [insn])) end | RTLEdit.LAST last => RTLEdit.unfocus (splitLast last)) graph fun precolorVar (coloring, var, regId) = Coloring.allocReg (coloring, var, regId) fun precolorVarList (coloring, vars, regs) = ListPair.app (fn (var, color) => precolorVar (coloring, var, color)) (vars, regs) fun precolorVarList8 (coloring, vars) = app (fn var => Coloring.interfereWithRegs (coloring, var, regsOnly32)) vars fun precolorDst (coloring, R.REG var, reg) = precolorVar (coloring, var, reg) | precolorDst (coloring, R.MEM _, reg) = () | precolorDst (coloring, R.COUPLE _, reg) = raise Control.Bug "precolorDst: COUPLE" fun precolorOperand (coloring, R.REF (_, dst), reg) = precolorDst (coloring, dst, reg) | precolorOperand (coloring, R.CONST _, reg) = () fun precolorAddr (coloring, R.BASE var, reg) = precolorVar (coloring, var, reg) | precolorAddr (coloring, R.ADDRCAST (_, addr), reg) = precolorAddr (coloring, addr, reg) | precolorAddr (coloring, R.DISP (_, addr), reg) = precolorAddr (coloring, addr, reg) | precolorAddr (coloring, R.ABSADDR _, reg) = () | precolorAddr (coloring, R.ABSINDEX _, reg) = () | precolorAddr (coloring, R.BASEINDEX _, reg) = () | precolorAddr (coloring, R.POSTFRAME _, reg) = () | precolorAddr (coloring, R.PREFRAME _, reg) = () | precolorAddr (coloring, R.WORKFRAME _, reg) = () | precolorAddr (coloring, R.FRAMEINFO _, reg) = () fun precolorDst8 (coloring, R.REG var) = Coloring.interfereWithRegs (coloring, var, regsOnly32) | precolorDst8 (coloring, R.MEM _) = () | precolorDst8 (coloring, R.COUPLE _) = raise Control.Bug "precolorDst8: COUPLE" fun precolorOperand8 (coloring, R.REF (_, dst)) = precolorDst8 (coloring, dst) | precolorOperand8 (coloring, R.CONST _) = () fun precolorDstByTy (coloring, ty, dst) = if (case ty of R.Int8 _ => true | R.Int16 _ => true | _ => false) then precolorDst8 (coloring, dst) else () fun precolorOperandByTy (coloring, ty, op1) = if (case ty of R.Int8 _ => true | R.Int16 _ => true | _ => false) then precolorOperand8 (coloring, op1) else () fun precolorDst64 (coloring, R.COUPLE (_, {hi=hi,lo=lo})) = (precolorDst (coloring, hi, EDX); precolorDst (coloring, lo, EAX)) | precolorDst64 (coloring, R.REG _) = () | precolorDst64 (coloring, R.MEM _) = () fun precolorOperand64 (coloring, R.REF (_, dst)) = precolorDst64 (coloring, dst) | precolorOperand64 (coloring, R.CONST _) = () fun coalesceDst (coloring, R.REG var1, R.REG var2) = Coloring.sameReg (coloring, var1, var2) | coalesceDst (coloring, R.COUPLE (_,c1), R.COUPLE (_,c2)) = (coalesceDst (coloring, #hi c1, #hi c2); coalesceDst (coloring, #lo c1, #lo c2)) | coalesceDst (coloring, _, _) = () fun coalesce (coloring, dst, R.REF (_, op1)) = coalesceDst (coloring, dst, op1) | coalesce (coloring, dst, R.CONST _) = () fun precolorArith2 (coloring, ty, dst, op1) = (precolorDstByTy (coloring, ty, dst); coalesce (coloring, dst, op1)) fun precolorArith3 (coloring, ty, dst, op1, op2) = (precolorDstByTy (coloring, ty, dst); coalesce (coloring, dst, op1); precolorOperandByTy (coloring, ty, op2)) fun precolorShift (coloring, ty, dst, op1, op2) = (coalesce (coloring, dst, op1); precolorDstByTy (coloring, ty, dst); precolorOperand (coloring, op2, ECX)) fun precolorTest (coloring, ty, op1, op2) = (precolorOperandByTy (coloring, ty, op1); precolorOperandByTy (coloring, ty, op2)) fun copyRegs (coloring, vars as [_,_,_]) = precolorVarList (coloring, vars, [EDI, ESI, ECX]) | copyRegs _ = raise Control.Bug "copyRegs" fun addMove (coloring, R.REG var1, R.REF (_, R.REG var2)) = Coloring.coalescable (coloring, var1, var2) | addMove (coloring, _, R.REF _) = () | addMove (coloring, _, R.CONST _) = () fun constrainInsn coloring insn = case insn of R.NOP => () | R.STABILIZE => () | R.REQUEST_SLOT slot => () | R.REQUIRE_SLOT slot => () | R.USE vars => () | R.COMPUTE_FRAME {uses, clobs} => () | R.MOVE (ty, dst, op1) => (addMove (coloring, dst, op1); precolorDstByTy (coloring, ty, dst); precolorOperandByTy (coloring, ty, op1)) | R.MOVEADDR (ty, dst, R.BASE reg) => addMove (coloring, dst, R.REF_ (R.REG reg)) | R.MOVEADDR (ty, dst, addr) => () | R.COPY {ty, dst, src, clobs} => if #size (X86Emit.formatOf ty) mod 4 = 0 then () else precolorVarList8 (coloring, clobs) | R.MLOAD {ty, dst:R.slot, srcAddr, size, defs, clobs} => (precolorAddr (coloring, srcAddr, ESI); precolorOperand (coloring, size, ECX); copyRegs (coloring, defs @ clobs)) | R.MSTORE {ty, dstAddr, src:R.slot, size, defs, clobs, global} => (precolorAddr (coloring, dstAddr, EDI); precolorOperand (coloring, size, ECX); copyRegs (coloring, defs @ clobs)) | R.EXT8TO32 (sign, dst, op1) => precolorOperand8 (coloring, op1) | R.EXT16TO32 (sign, dst, op1) => precolorOperand8 (coloring, op1) | R.EXT32TO64 (sign, dst as R.COUPLE _, op1) => (precolorDst64 (coloring, dst); precolorOperand (coloring, op1, EAX)) | R.EXT32TO64 (sign, dst, op1) => () | R.DOWN32TO8 (sign, dst, op1) => (precolorDst8 (coloring, dst); precolorOperand8 (coloring, op1); addMove (coloring, dst, op1)) | R.DOWN32TO16 (sign, dst, op1) => (precolorDst8 (coloring, dst); precolorOperand8 (coloring, op1); addMove (coloring, dst, op1)) (* | R.DOWN16TO8 (sign, dst, op1) => (precolorDst8 (coloring, dst); precolorOperand8 (coloring, op1)) *) | R.ADD (ty, dst, op1, op2) => precolorArith3 (coloring, ty, dst, op1, op2) | R.SUB (ty, dst, op1, op2) => precolorArith3 (coloring, ty, dst, op1, op2) | R.MUL ((_, dst as R.COUPLE _), (_, op1 as R.REF (_, R.COUPLE _)), _) => (precolorDst64 (coloring, dst); precolorOperand64 (coloring, op1)) | R.MUL ((ty, dst), (ty2, op1), (ty3, op2)) => ( case (dst, op1, op2) of (R.REG _, R.REF (_, R.REG _), R.REF (_, R.REG _)) => coalesce (coloring, dst, op1) | (_, _, R.REF (_, R.MEM _)) => coalesce (coloring, dst, op1) | (_, R.REF (_, R.MEM _), _) => coalesce (coloring, dst, op2) | _ => () ) | R.DIVMOD ({div=(ty, ddiv), mod=(ty2, dmod)}, (ty3, op1), (ty4, op2)) => (precolorDst (coloring, ddiv, EAX); precolorDst (coloring, dmod, EDX); precolorOperand64 (coloring, op1)) | R.AND (ty, dst, op1, op2) => precolorArith3 (coloring, ty, dst, op1, op2) | R.OR (ty, dst, op1, op2) => precolorArith3 (coloring, ty, dst, op1, op2) | R.XOR (ty, dst, op1, op2) => precolorArith3 (coloring, ty, dst, op1, op2) | R.LSHIFT (ty, dst, op1, op2) => precolorShift (coloring, ty, dst, op1, op2) | R.RSHIFT (ty, dst, op1, op2) => precolorShift (coloring, ty, dst, op1, op2) | R.ARSHIFT (ty, dst, op1, op2) => precolorShift (coloring, ty, dst, op1, op2) | R.TEST_SUB (ty, op1, op2) => precolorTest (coloring, ty, op1, op2) | R.TEST_AND (ty, op1, op2) => precolorTest (coloring, ty, op1, op2) | R.TEST_LABEL (ty, op1, label) => () | R.NOT (ty, dst, op1) => precolorArith2 (coloring, ty, dst, op1) | R.NEG (ty, dst, op1) => precolorArith2 (coloring, ty, dst, op1) | R.SET (cc, ty, dst, {test}) => (constrainInsn coloring test; precolorDst8 (coloring, dst)) | R.LOAD_FP dst => () | R.LOAD_SP dst => () | R.LOAD_PREV_FP dst => () | R.LOAD_RETADDR dst => () | R.LOADABSADDR {ty, dst, symbol, thunk=SOME _} => precolorDst (coloring, dst, EBX) | R.LOADABSADDR {ty, dst, symbol, thunk=NONE} => () | R.X86 (R.X86LEAINT (ty, dst, addr)) => () | R.X86 (R.X86FLD (ty, addr)) => () | R.X86 (R.X86FLD_ST x86st1) => () | R.X86 (R.X86FST (ty, addr)) => () | R.X86 (R.X86FSTP (ty, addr)) => () | R.X86 (R.X86FSTP_ST x86st1) => () | R.X86 (R.X86FADD (ty, addr)) => () | R.X86 (R.X86FADD_ST (x86st1, x86st2)) => () | R.X86 (R.X86FADDP x86st1) => () | R.X86 (R.X86FSUB (ty, addr)) => () | R.X86 (R.X86FSUB_ST (x86st1, x86st2)) => () | R.X86 (R.X86FSUBP x86st1) => () | R.X86 (R.X86FSUBR (ty, addr)) => () | R.X86 (R.X86FSUBR_ST (x86st1, x86st2)) => () | R.X86 (R.X86FSUBRP x86st1) => () | R.X86 (R.X86FMUL (ty, addr)) => () | R.X86 (R.X86FMUL_ST (x86st1, x86st2)) => () | R.X86 (R.X86FMULP x86st1) => () | R.X86 (R.X86FDIV (ty, addr)) => () | R.X86 (R.X86FDIV_ST (x86st1, x86st2)) => () | R.X86 (R.X86FDIVP x86st1) => () | R.X86 (R.X86FDIVR (ty, addr)) => () | R.X86 (R.X86FDIVR_ST (x86st1, x86st2)) => () | R.X86 (R.X86FDIVRP x86st1) => () | R.X86 R.X86FPREM => () | R.X86 (R.X86FABS) => () | R.X86 (R.X86FCHS) => () | R.X86 (R.X86FINCSTP) => () | R.X86 (R.X86FFREE st) => () | R.X86 (R.X86FXCH st) => () | R.X86 (R.X86FUCOM st) => () | R.X86 (R.X86FUCOMP st) => () | R.X86 R.X86FUCOMPP => () | R.X86 (R.X86FSW_TESTH {clob,mask}) => precolorVar (coloring, clob, EAX) | R.X86 (R.X86FSW_MASKCMPH {clob,mask,compare}) => precolorVar (coloring, clob, EAX) | R.X86 (R.X86FLDCW addr) => () | R.X86 (R.X86FNSTCW addr) => () | R.X86 R.X86FWAIT => () | R.X86 R.X86FNCLEX => () fun constrainFirst coloring first = case first of R.BEGIN {label, align, loc} => () | R.CODEENTRY {label, symbol, scope, align, preFrameSize, stubOptions, defs, loc} => precolorVarList (coloring, defs, calleeSaveRegs @ callerSaveRegs) | R.HANDLERENTRY {label, align, defs, loc} => precolorVarList (coloring, defs, callerSaveRegs) | R.ENTER => () fun constrainLast coloring last = case last of R.HANDLE (insn, {nextLabel, handler}) => constrainInsn coloring insn | R.CJUMP {test, cc, thenLabel, elseLabel} => constrainInsn coloring test | R.CALL {callTo, returnTo, handler, defs, uses, needStabilize, postFrameAdjust} => (precolorVarList (coloring, defs, callerSaveRegs); precolorVarList (coloring, uses, callerSaveRegs)) | R.JUMP {jumpTo, destinations} => () | R.UNWIND_JUMP {jumpTo, uses, fp, sp, handler} => precolorVarList (coloring, uses, callerSaveRegs) | R.TAILCALL_JUMP {preFrameSize, jumpTo, uses} => precolorVarList (coloring, uses, calleeSaveRegs @ callerSaveRegs) | R.RETURN {preFrameSize, stubOptions, uses} => precolorVarList (coloring, uses, calleeSaveRegs @ callerSaveRegs) | R.EXIT => () fun constrain graph coloring = R.LabelMap.foldli (fn (label, (first, mid, last), ()) => (constrainFirst coloring first; app (constrainInsn coloring) mid; constrainLast coloring last)) () graph end smlsharp-1.2.0/src/compiler/rtl/main/X86Emit.smi0000644 000000000000000000000156412050661606021555 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../util/main/TermFormat.smi" _require "IEEERealConst.smi" _require "RTL.ppg.smi" _require "RTLUtils.smi" _require "RTLEMIT.sig" _require "X86Asm.ppg.smi" structure X86Emit = struct structure Target = struct type reg = X86Asm.reg type program = X86Asm.program end type frameLayout = { slotIndex: int VarID.Map.map, preFrameOrigin: int, postFrameOrigin: int, frameAllocSize: int } val format_frameLayout : frameLayout TermFormat.formatter val emit : {regAlloc: X86Asm.reg VarID.Map.map, layoutMap: frameLayout ClusterID.Map.map} -> RTL.program -> X86Asm.program val formatOf : RTL.ty -> RTL.format val formatOfGeneric : {size: int, align: int} end smlsharp-1.2.0/src/compiler/rtl/main/X86Emit.sml0000644 000000000000000000013454212050661606021563 0ustar00rootroot0000000 0000000 (** * x86 RTL * @copyright (c) 2009, Tohoku University. * @author UENO Katsuhiro * @version $Id: $ *) structure X86Emit : RTLEMIT = struct structure Target = X86Asm structure X = X86Asm structure I = RTL open X86Asm open RTL type frameLayout = { slotIndex: int VarID.Map.map, (* slot id -> offset *) preFrameOrigin: int, postFrameOrigin: int, frameAllocSize: int } fun format_frameLayout ({slotIndex, preFrameOrigin, postFrameOrigin, frameAllocSize}:frameLayout) = let open TermFormat.FormatComb in record [("slotIndex", assocList (VarID.format_id, int) (VarID.Map.listItemsi slotIndex)), ("preFrameOrigin", int preFrameOrigin), ("postFrameOrigin", int postFrameOrigin), ("frameAllocSize", int frameAllocSize)] end type env' = { clusterId: RTL.clusterId option, totalPreFrameSize: int, regAlloc: Target.reg VarID.Map.map, env: frameLayout } fun regAlloc ({regAlloc,...}:env') varId = case VarID.Map.find (regAlloc, varId) of NONE => raise Control.Bug ("regAlloc: " ^ Control.prettyPrint (I.format_id varId)) | SOME reg => reg fun slotIndex ({env={slotIndex,...},...}:env') slotId = case VarID.Map.find (slotIndex, slotId) of NONE => raise Control.Bug ("slotIndex: " ^ Control.prettyPrint (I.format_id slotId)) | SOME reg => reg fun preFrameOrigin ({env={preFrameOrigin,...},...}:env') = preFrameOrigin fun postFrameOrigin ({env={postFrameOrigin,...},...}:env') = postFrameOrigin fun clusterId ({clusterId=SOME x,...}:env') = x | clusterId {clusterId=NONE,...} = raise Control.Bug "clusterId" fun frameAllocSize ({env={frameAllocSize,...},...}:env') = frameAllocSize fun totalPreFrameSize ({totalPreFrameSize,...}:env') = totalPreFrameSize fun formatOf ty = case ty of I.Int8 _ => {tag = UNBOXED, size = 1, align = 1} | I.Int16 _ => {tag = UNBOXED, size = 2, align = 2} | I.Int32 _ => {tag = UNBOXED, size = 4, align = 4} | I.NoType => {tag = UNBOXED, size = 4, align = 4} | I.Ptr I.Data => {tag = BOXED, size = 4, align = 4} | I.Ptr _ => {tag = UNBOXED, size = 4, align = 4} | I.Int64 _ => {tag = UNBOXED, size = 8, align = 4} | I.Real32 => {tag = UNBOXED, size = 4, align = 4} | I.Real64 => {tag = UNBOXED, size = 8, align = 8} | I.Real80 => {tag = UNBOXED, size = 12, align = 16} | I.Generic tid => {tag = GENERIC tid, size = 16, align = 16} | I.PtrDiff _ => {tag = UNBOXED, size = 4, align = 4} val formatOfGeneric = {size = 16, align = 16} fun R32toR8 EAX = XL EAX | R32toR8 EBX = XL EBX | R32toR8 ECX = XL ECX | R32toR8 EDX = XL EDX | R32toR8 _ = raise Control.Bug "toR8" fun R32toR16 EAX = X EAX | R32toR16 EBX = X EBX | R32toR16 ECX = X ECX | R32toR16 EDX = X EDX | R32toR16 ESI = X ESI | R32toR16 EDI = X EDI | R32toR16 _ = raise Control.Bug "toR16" fun RM32toRMI32 (R r) = R_ r | RM32toRMI32 (M m) = M_ m fun RM16toRMI16 (R16 r) = R_16 r | RM16toRMI16 (M16 m) = M_16 m fun RM8toRMI8 (R8 r) = R_8 r | RM8toRMI8 (M8 m) = M_8 m fun RMI32toRM32 (R_ r) = R r | RMI32toRM32 (M_ m) = M m | RMI32toRM32 (I_ i) = raise Control.Bug "RMI32toRM32" fun RM32toR32 (R r) = r | RM32toR32 _ = raise Control.Bug "RM32toR32" fun RM32toRM16 (R r) = R16 (R32toR16 r) | RM32toRM16 (M m) = M16 m fun RM32toRM8 (R r) = R8 (R32toR8 r) | RM32toRM8 (M m) = M8 m fun RMI32toRMI16 (R_ r) = R_16 (R32toR16 r) | RMI32toRMI16 (M_ m) = M_16 m | RMI32toRMI16 (I_ i) = I_16 i fun RMI32toRMI8 (R_ r) = R_8 (R32toR8 r) | RMI32toRMI8 (M_ m) = M_8 m | RMI32toRMI8 (I_ i) = I_8 i fun RM32toMem (R r) = raise Control.Bug "RM32toMem" | RM32toMem (M m) = m fun R8toR32 (XL r) = r | R8toR32 (XH _) = raise Control.Bug "R8toR32" fun emitCC cc = case cc of OVERFLOW => O | NOTOVERFLOW => NO | EQUAL => E | NOTEQUAL => NE | BELOW => B | BELOWEQUAL => BE | ABOVE => A | ABOVEEQUAL => AE | SIGN => X.S | NOTSIGN => NS | LESS => L | LESSEQUAL => LE | GREATER => G | GREATEREQUAL => GE fun assert i b = if b then () else raise Control.Bug ("assertion failed: " ^ Int.toString i) fun r32 env (REG {id,...}) = regAlloc env id | r32 env (COUPLE _) = raise Control.Bug "r32: COUPLE" | r32 env (MEM _) = raise Control.Bug "r32: MEM" fun r16 env dst = R32toR16 (r32 env dst) fun r8 env dst = R32toR8 (r32 env dst) (* fun localLabel l = "L" ^ VarID.toString l *) fun emitScale 1 = 1 | emitScale 2 = 2 | emitScale 4 = 4 | emitScale 8 = 8 | emitScale _ = raise Control.Bug "emitScale" fun emitAbsLabel env label = case label of LABEL l => X.LOCAL (clusterId env, l) | SYMBOL (_,_,s) => X.SYMBOL s | CURRENT_POSITION => raise Control.Bug "emitLabel: CURRENT_POSITION" | LINK_ENTRY s => X.LINKPTR s | LINK_STUB s => X.LINKSTUB s | ELF_GOT => X.SYMBOL "_GLOBAL_OFFSET_TABLE_" | NULL _ => X.NULL | LABELCAST (_, l) => emitAbsLabel env label fun emitRelLabel env label = case label of LABEL l => X.LABEL (X.LOCAL (clusterId env, l)) | SYMBOL (_,_,s) => X.LABEL (X.SYMBOL s) | CURRENT_POSITION => X.CURRENTPOS | LINK_ENTRY s => X.LABEL (X.LINKPTR s) | LINK_STUB s => X.LABEL (X.LINKSTUB s) | ELF_GOT => X.LABEL (X.SYMBOL "_GLOBAL_OFFSET_TABLE_") | NULL _ => X.LABEL X.NULL | LABELCAST (_, label) => emitRelLabel env label fun emitImm env const = case const of SYMOFFSET {base=CURRENT_POSITION, label=ELF_GOT} => X.LABEL (X.SYMBOL "_GLOBAL_OFFSET_TABLE_") | SYMOFFSET {base=ELF_GOT, label=LINK_ENTRY symbol} => X.LABEL (X.ELF_GOT (X.SYMBOL symbol)) | SYMOFFSET {base=ELF_GOT, label=SYMBOL (_,_,symbol)} => X.LABEL (X.ELF_GOTOFF (X.SYMBOL symbol)) | SYMOFFSET {base=ELF_GOT, label=LABEL l} => X.LABEL (X.ELF_GOTOFF (X.LOCAL (clusterId env, l))) | SYMOFFSET {base, label} => CONSTSUB (emitRelLabel env label, emitRelLabel env base) (* | INT64 n => raise Control.Bug "emitImm: SINT64" | UINT64 n => raise Control.Bug "emitImm: UINT64" *) | INT32 n => INT n | UINT32 n => WORD n | INT16 n => INT (Int32.fromLarge (Int.toLarge n)) (* FIXME *) | UINT16 n => WORD (Word32.fromLarge (Word.toLarge n)) (* FIXME *) | INT8 n => INT (Int32.fromLarge (Int.toLarge n)) (* FIXME *) | UINT8 n => WORD (Word32.fromLarge (Word8.toLarge n)) (* FIXME *) | REAL32 _ => raise Control.Bug "emitImm: FIXME: Real32" | REAL64 _ => raise Control.Bug "emitImm: Real64" | REAL64HI n => raise Control.Bug "emitImm: FIXME: Real64Hi" | REAL64LO n => raise Control.Bug "emitImm: FIXME: Real64Lo" exception NotRIAddr fun emitRIAddr env addr = case addr of ABSADDR label => I_ (X.LABEL (emitAbsLabel env label)) | ADDRCAST (_, addr) => emitRIAddr env addr | DISP (const, addr) => ( case emitRIAddr env addr of I_ i => I_ (X.CONSTADD (emitImm env const, i)) | _ => raise NotRIAddr ) | BASE var => R_ (r32 env (REG var)) | BASEINDEX _ => raise NotRIAddr | ABSINDEX _ => raise NotRIAddr | POSTFRAME _ => raise NotRIAddr | PREFRAME _ => raise NotRIAddr | WORKFRAME _ => raise NotRIAddr | FRAMEINFO _ => raise NotRIAddr local fun Disp (X.INT 0, addr) = addr | Disp (disp, addr) = X.DISP (disp, addr) in fun emitAddr env addr = case addr of ADDRCAST (_, addr) => emitAddr env addr | ABSADDR label => X.ABSADDR (X.LABEL (emitAbsLabel env label)) | DISP (const, addr) => Disp (emitImm env const, emitAddr env addr) | BASE var => X.BASE (r32 env (REG var)) | ABSINDEX {base, scale, index} => Disp (X.LABEL (emitAbsLabel env base), X.INDEX (r32 env (REG index), emitScale scale)) | BASEINDEX {base, scale, index} => X.BASEINDEX (r32 env (REG base), r32 env (REG index), emitScale scale) | POSTFRAME {offset, size} => Disp (X.INT (Int32.fromInt (postFrameOrigin env + offset)), X.BASE X.EBP) | PREFRAME {offset, size} => Disp (X.INT (Int32.fromInt (preFrameOrigin env - offset)), X.BASE X.EBP) | WORKFRAME {id,...} => Disp (X.INT (Int32.fromInt (slotIndex env id)), X.BASE X.EBP) | FRAMEINFO offset => Disp (X.INT (Int32.fromInt offset), X.BASE X.EBP) fun emitMem env (SLOT {id,...}) = Disp (X.INT (Int32.fromInt (slotIndex env id)), X.BASE X.EBP) | emitMem env (ADDR x) = emitAddr env x end (* local *) fun dstToMem env (REG _) = raise Control.Bug "dstToMem: REG" | dstToMem env (COUPLE _) = raise Control.Bug "dstToMem: COUPLE" | dstToMem env (MEM (_, mem)) = emitMem env mem fun rm32 env (MEM (_, mem)) = M (emitMem env mem) | rm32 env (dst as REG _) = R (r32 env dst) | rm32 env (COUPLE _) = raise Control.Bug "rm32: COUPLE" fun rmi32 env (CONST const) = I_ (emitImm env const) | rmi32 env (REF (_, dst)) = RM32toRMI32 (rm32 env dst) fun rm8 env dst = RM32toRM8 (rm32 env dst) fun rm16 env dst = RM32toRM16 (rm32 env dst) (* fun rmi8 env op1 = RMI32toRMI8 (rmi32 env op1) fun rmi16 env op1 = RMI32toRMI16 (rmi32 env op1) *) fun rm_rmi env (dst, op1) = case (rm32 env dst, rmi32 env op1) of (M _, M_ _) => raise Control.Bug "rm_rmi" | x => x fun emitMOVL (rm32, rmi32) = if RM32toRMI32 rm32 = rmi32 then nil else [MOVL (rm32, rmi32)] fun emitMOVW (rm16, rmi16) = if RM16toRMI16 rm16 = rmi16 then nil else [MOVW (rm16, rmi16)] fun emitMOVB (rm8, rmi8) = if RM8toRMI8 rm8 = rmi8 then nil else [MOVB (rm8, rmi8)] fun to8 (dst, op1) = (RM32toRM8 dst, RMI32toRMI8 op1) fun to16 (dst, op1) = (RM32toRM16 dst, RMI32toRMI16 op1) fun samePlace (dst, I.REF (_, dst1)) = dst = dst1 | samePlace (dst, I.CONST _) = false fun emitMove env (dst, op1) = if samePlace (dst, op1) then nil else emitMOVL (rm_rmi env (dst, op1)) fun emitMove16 env (dst, op1) = if samePlace (dst, op1) then nil else emitMOVW (to16 (rm_rmi env (dst, op1))) fun emitMove8 env (dst, op1) = if samePlace (dst, op1) then nil else emitMOVB (to8 (rm_rmi env (dst, op1))) fun arith1 env (dst, REF (_, op1)) = let val dst = rm32 env dst val op1 = rm32 env op1 in assert 10 (dst = op1); dst end | arith1 env _ = raise Control.Bug "arith1" fun arith2 env (dst, REF (_, op1), op2) = let val dst = rm32 env dst val op1 = rm32 env op1 val op2 = rmi32 env op2 in assert 20 (dst = op1); (dst, op2) end | arith2 env _ = raise Control.Bug "arith2" fun shiftInsn env shl shl_cx (dst, REF (_, op1), op2) = let val dst = rm32 env dst val op1 = rm32 env op1 in assert 30 (dst = op1); case op2 of CONST (UINT32 x) => if x < 0w32 then shl (dst, Word32.toInt x) else raise Control.Bug "shiftInsn: shift count >= 32" | CONST _ => raise Control.Bug "shiftInsn: CONST" | REF (_, op2) => (assert 40 (r32 env op2 = ECX); shl_cx dst) end | shiftInsn env shl shl_cx _ = raise Control.Bug "shiftInsn" fun option insn (SOME x) = [insn x] | option insn NONE = nil fun emitCopy env (dst, src, size, off, nil) = raise Control.Bug "emitCopy: no working register" | emitCopy env (dst, src, 0w0, off, _) = nil | emitCopy env (dst, src, size, off, var::vars) = let val vars = case vars of nil => [var] | _ => vars val srcAddr = X.DISP (X.WORD off, src) val dstAddr = X.DISP (X.WORD off, dst) in if size >= 0w4 then let val reg = r32 env (I.REG var) in MOVL (R reg, M_ srcAddr) :: MOVL (M dstAddr, R_ reg) :: emitCopy env (dst, src, size - 0w4, off + 0w4, vars) end else if size >= 0w2 then let val reg = r16 env (I.REG var) in MOVW (R16 reg, M_16 srcAddr) :: MOVW (M16 dstAddr, R_16 reg) :: emitCopy env (dst, src, size - 0w2, off + 0w2, vars) end else let val reg = r8 env (I.REG var) in MOVB (R8 reg, M_8 srcAddr) :: MOVB (M8 dstAddr, R_8 reg) :: emitCopy env (dst, src, size - 0w1, off + 0w1, vars) end end fun emitInsn env insn = let val emitMem = emitMem env val rm8 = rm8 env val rm16 = rm16 env val rm32 = rm32 env val r8 = r8 env val r16 = r16 env val r32 = r32 env val rmi32 = rmi32 env val rm_rmi = rm_rmi env val arith1 = arith1 env val arith2 = arith2 env val shiftInsn = shiftInsn env in case insn of NOP => [X.NOP] | STABILIZE => [] | REQUEST_SLOT slot => [] | REQUIRE_SLOT slot => [] | USE ops => [] | COMPUTE_FRAME {uses, clobs} => raise Control.Bug "emitInsn: COMPUTE_FRAME must be expanded" | MOVE (ty as Int32 _, dst, op1) => emitMove env (dst, op1) | MOVE (ty as NoType, dst, op1) => emitMove env (dst, op1) (* due to split or spill *) | MOVE (ty as Ptr _, dst, op1) => emitMove env (dst, op1) | MOVE (ty as Real32, dst, op1) => emitMove env (dst, op1) | MOVE (ty as Int16 _, dst, op1) => emitMove16 env (dst, op1) | MOVE (ty as Int8 _, dst, op1) => emitMove8 env (dst, op1) | MOVE _ => raise Control.Bug "emitInsn: MOVE" | MOVEADDR (_, dst, addr) => ( emitMOVL (rm32 dst, emitRIAddr env addr) handle NotRIAddr => [LEAL (r32 dst, emitAddr env addr)] ) | COPY {ty, dst, src=REF (_,src), clobs} => emitCopy env (dstToMem env dst, dstToMem env src, Word.fromInt (#size (formatOf ty)), 0w0, clobs) | COPY _ => raise Control.Bug "emitInsn: COPY" | MLOAD {ty, dst:I.slot, srcAddr=BASE src, size=REF (_,REG size), defs, clobs} => (assert 50 (r32 (REG src) = ESI andalso r32 (REG size) = ECX); [LEAL (EDI, emitMem (SLOT dst)), CLD, REP_MOVSB]) | MLOAD _ => raise Control.Bug "emitInsn: MLOAD" | MSTORE {ty, dstAddr=BASE dst, src:I.slot, size=REF (_,REG size), defs, clobs, global} => (assert 60 (r32 (REG dst) = EDI andalso r32 (REG size) = ECX); [LEAL (ESI, emitMem (SLOT src)), CLD, REP_MOVSB]) | MSTORE _ => raise Control.Bug "emitInsn: MSTORE" (* | EXT8TO16 (I.U, dst, REF (Int8 _, op1)) => [MOVZBW (r16 dst, rm8 op1)] | EXT8TO16 (I.S, dst, REF (Int8 _, op1)) => if r16 dst = X EAX andalso r8 op1 = XL EAX then [CBW] else [MOVSBW (r16 dst, rm8 op1)] | EXT8TO16 _ => raise Control.Bug "emitInsn: EXT8TO16" *) | EXT8TO32 (I.U, dst, REF (_,op1)) => [MOVZBL (r32 dst, rm8 op1)] | EXT8TO32 (I.S, dst, REF (_,op1)) => [MOVSBL (r32 dst, rm8 op1)] | EXT8TO32 _ => raise Control.Bug "emitInsn: EXT8TO32" | EXT16TO32 (I.U, dst, REF (_,op1)) => [MOVZWL (r32 dst, rm16 op1)] | EXT16TO32 (I.S, dst, REF (_,op1)) => if r32 dst = EAX andalso r16 op1 = X EAX then [CWDE] else [MOVSWL (r32 dst, rm16 op1)] | EXT16TO32 _ => raise Control.Bug "emitInsn: EXT16TO32" (* | SIGNEXT8TO16 (_, dst, REF (Int8 _, op1)) => (assert (r16 dst = X EAX andalso r8 op1 = XL EAX); [CBW]) | SIGNEXT8TO16 _ => raise Control.Bug "emitInsn: SIGNEXT8TO16" | SIGNEXT8TO32 (_, dst, REF (Int8 _, op1)) => (assert (r16 dst = X EAX andalso r8 op1 = XL EAX); [CBW, CWDE]) | SIGNEXT8TO32 _ => raise Control.Bug "emitInsn: SIGNEXT8TO32" | SIGNEXT16TO32 (_, dst, REF (Int16 _, op1)) => (assert (r32 dst = EAX andalso r16 op1 = X EAX); [CWDE]) | SIGNEXT16TO32 _ => raise Control.Bug "emitInsn: SIGNEXT16TO32" *) | EXT32TO64 (S, COUPLE (_, {hi, lo}), REF (_,op1)) => (assert 70 (r32 hi = EDX andalso r32 lo = EAX andalso r32 op1 = EAX); [CDQ]) | EXT32TO64 (U, MEM (_, mem), op1) => let val op1 = case op1 of REF (_, dst) => R_ (r32 dst) | CONST c => I_ (emitImm env c) val addr = emitMem mem in [MOVL (M addr, op1), MOVL (M (X.DISP (X.INT 4, addr)), I_ (WORD 0w0))] end | EXT32TO64 _ => raise Control.Bug "emitInsn: EXT32TO64" (* | DOWN16TO8 (_, dst, op1) => emitMOVB (to8 (rm_rmi (dst, op1))) *) | DOWN32TO8 (s, dst, op1) => emitMove8 env (dst, op1) | DOWN32TO16 (s, dst, op1) => emitMove16 env (dst, op1) | ADD (Int32 _, dst, op1, op2) => [ADDL (arith2 (dst, op1, op2))] | ADD (Int16 _, dst, op1, op2) => [ADDW (to16 (arith2 (dst, op1, op2)))] | ADD (Int8 _, dst, op1, op2) => [ADDB (to8 (arith2 (dst, op1, op2)))] | ADD _ => raise Control.Bug "emitInsn: ADD" | SUB (Int32 _, dst, op1, op2) => [SUBL (arith2 (dst, op1, op2))] | SUB (Int16 _, dst, op1, op2) => [SUBW (to16 (arith2 (dst, op1, op2)))] | SUB (Int8 _, dst, op1, op2) => [SUBB (to8 (arith2 (dst, op1, op2)))] | SUB _ => raise Control.Bug "emitInsn: SUB" | AND (Int32 _, dst, op1, op2) => [ANDL (arith2 (dst, op1, op2))] | AND (Int16 _, dst, op1, op2) => [ANDW (to16 (arith2 (dst, op1, op2)))] | AND (Int8 _, dst, op1, op2) => [ANDB (to8 (arith2 (dst, op1, op2)))] | AND _ => raise Control.Bug "emitInsn: AND" | OR (Int32 _, dst, op1, op2) => [ORL (arith2 (dst, op1, op2))] | OR (Int16 _, dst, op1, op2) => [ORW (to16 (arith2 (dst, op1, op2)))] | OR (Int8 _, dst, op1, op2) => [ORB (to8 (arith2 (dst, op1, op2)))] | OR _ => raise Control.Bug "emitInsn: OR" | XOR (Int32 _, dst, op1, op2) => [XORL (arith2 (dst, op1, op2))] | XOR _ => raise Control.Bug "emitInsn: XOR" | MUL ((Int32 _, dst), (Int32 _, op1), (Int32 _, op2)) => let (* * mull2 r32, rmi32 r32 <- r32 * rmi32 * mull3 r32, rm32, imm r32 <- rm32 * imm * * dst <- op1 * op2 * r r r mull2 * r r r' mull2 * r r m mull2 * r r i mull2 or mull3 (mull2 preferred) * r r' r mull2 (commutative) * r r' r'' - * r r' m - * r r' i mull3 * r m r mull2 (commutative) * r m r' - * r m m - * r m i mull3 * r i r mull2 or mull3 (commutative) * r i r' mull3 (commutative) * r i m mull3 (commutative) * r i i - *) val dst = r32 dst in case (rmi32 op1, rmi32 op2) of (R_ op1, R_ op2) => if dst = op1 then [IMULL2 (dst, R_ op2)] else if dst = op2 then [IMULL2 (dst, R_ op1)] else raise Control.Bug "emitInsn: IMULL: R, R" | (R_ op1, op2 as M_ _) => (assert 80 (dst = op1); [IMULL2 (dst, op2)]) | (R_ op1, op2 as I_ c2) => if dst = op1 then [IMULL2 (dst, op2)] else [IMULL3 (dst, R op1, c2)] | (op1 as M_ _, R_ op2) => (assert 90 (dst = op2); [IMULL2 (dst, op1)]) | (M_ _, M_ _) => raise Control.Bug "emitInsn: IMULL: M, M" | (M_ op1, I_ op2) => [IMULL3 (dst, M op1, op2)] | (op1 as I_ c1, R_ op2) => if dst = op2 then [IMULL2 (dst, op1)] else [IMULL3 (dst, R op2, c1)] | (I_ op1, M_ op2) => [IMULL3 (dst, M op2, op1)] | (I_ _, I_ _) => raise Control.Bug "emitInsn: IMULL: I, I" end | MUL ((Int64 S, COUPLE (_, {hi=hi1, lo=lo1})), (Int32 S, REF (_,op1)), (Int32 S, REF (_,op2))) => (assert 100 (r32 hi1 = EDX andalso r32 lo1 = EAX andalso r32 op1 = EAX); [IMULL (rm32 op2)]) | MUL ((Int64 U, COUPLE (_, {hi=hi1, lo=lo1})), (Int32 U, REF (_,op1)), (Int32 U, REF (_,op2))) => (assert 110 (r32 hi1 = EDX andalso r32 lo1 = EAX andalso r32 op1 = EAX); [MULL (rm32 op2)]) | MUL _ => raise Control.Bug "emitInsn: MUL" | DIVMOD ({div=(Int32 S, ddiv), mod=(Int32 S, dmod)}, (Int64 S, REF (_,COUPLE (_, {hi, lo}))), (Int32 S, REF (_,op2))) => (assert 120 (r32 ddiv = EAX andalso r32 dmod = EDX andalso r32 hi = EDX andalso r32 lo = EAX); [IDIVL (rm32 op2)]) | DIVMOD ({div=(Int32 U, ddiv), mod=(Int32 U, dmod)}, (Int64 U, REF (_,COUPLE (_, {hi, lo}))), (Int32 U, REF (_,op2))) => (assert 130 (r32 ddiv = EAX andalso r32 dmod = EDX andalso r32 hi = EDX andalso r32 lo = EAX); [DIVL (rm32 op2)]) | DIVMOD _ => raise Control.Bug "emitInsn: DIVMOD" | LSHIFT (Int32 _, dst, op1, op2) => [shiftInsn SHLL SHLL_CL (dst, op1, op2)] | LSHIFT _ => raise Control.Bug "emitInsn: LSHIFT" | RSHIFT (Int32 _, dst, op1, op2) => [shiftInsn SHRL SHRL_CL (dst, op1, op2)] | RSHIFT _ => raise Control.Bug "emitInsn: RSHIFT" | ARSHIFT (Int32 _, dst, op1, op2) => [shiftInsn SARL SARL_CL (dst, op1, op2)] | ARSHIFT _ => raise Control.Bug "emitInsn: ARSHIFT" | TEST_SUB (Int8 _, REF (_,op1), op2) => [CMPB (to8 (rm_rmi (op1, op2)))] | TEST_SUB (Int32 _, REF (_,op1), op2) => [CMPL (rm_rmi (op1, op2))] | TEST_SUB (Ptr _, REF (_,op1), op2) => [CMPL (rm_rmi (op1, op2))] | TEST_SUB _ => raise Control.Bug "emitInsn: TEST_SUB" | TEST_AND (Int8 _, REF (_,op1), op2) => [TESTB (to8 (rm_rmi (op1, op2)))] | TEST_AND (Int32 _, REF (_,op1), op2) => [TESTL (rm_rmi (op1, op2))] | TEST_AND _ => raise Control.Bug "emitInsn: TEST_AND" | TEST_LABEL (_, REF (_,op1), l) => [CMPL (rm32 op1, I_ (X.LABEL (emitAbsLabel env l)))] | TEST_LABEL _ => raise Control.Bug "emitInsn: TEST_LABEL" | NOT (Int32 _, dst, op1) => [NOTL (arith1 (dst, op1))] | NOT _ => raise Control.Bug "emitInsn: NOT" | NEG (Int32 _, dst, op1) => [NEGL (arith1 (dst, op1))] | NEG _ => raise Control.Bug "emitInsn: NEG" | SET (cc, Int8 _, dst, {test}) => let val testInsn = emitInsn env test val dst = r8 dst in testInsn @ [ X.SET (emitCC cc, R8 dst) ] end | SET _ => raise Control.Bug "emitInsn: SET" | LOAD_FP dst => [MOVL (rm32 dst, R_ EBP)] | LOAD_SP dst => [MOVL (rm32 dst, R_ ESP)] | LOAD_PREV_FP dst => [MOVL (R (r32 dst), M_ (X.BASE EBP))] | LOAD_RETADDR dst => [MOVL (R (r32 dst), M_ (X.DISP (INT 4, X.BASE EBP)))] (* | SAVE_FP op1 => [MOVL (R EBP, rmi32 op1)] | SAVE_SP op1 => [MOVL (R ESP, rmi32 op1)] *) | LOADABSADDR {ty, dst, symbol, thunk=SOME thunk} => let val off = emitImm env (SYMOFFSET {base=CURRENT_POSITION, label=symbol}) in assert 140 (r32 dst = EBX); [X.CALL (I_ (X.LABEL (X.SYMBOL thunk))), LEAL (EBX, X.DISP (off, X.BASE EBX))] end | LOADABSADDR {ty, dst, symbol, thunk=NONE} => let val reg = r32 dst val label = (clusterId env, VarID.generate ()) val off = emitImm env (SYMOFFSET {base=CURRENT_POSITION, label=symbol}) val off2 = CONSTSUB (CURRENTPOS, X.LABEL (X.LOCAL label)) in [X.CALL (I_ (X.LABEL (X.LOCAL label))), Label (label, NONE), POPL (R reg), LEAL (reg, X.DISP (CONSTADD (off, off2), X.BASE reg))] end | X86 (X86LEAINT (ty, dst, {base, shift, offset, disp})) => ( case ty of Int32 _ => () | _ => raise Control.Bug "X86LEAINT"; [LEAL (r32 dst, X.DISP (emitImm env disp, X.BASEINDEX (r32 (REG base), r32 (REG offset), emitScale shift)))] ) | X86 (X86FLD (Real32, mem)) => [FLDS (emitMem mem)] | X86 (X86FLD (Real64, mem)) => [FLDL (emitMem mem)] | X86 (X86FLD (Real80, mem)) => [FLDT (emitMem mem)] | X86 (X86FLD (Int16 S, mem)) => [FILDS (emitMem mem)] | X86 (X86FLD (Int32 S, mem)) => [FILDL (emitMem mem)] | X86 (X86FLD (Int64 S, mem)) => [FILDQ (emitMem mem)] | X86 (X86FLD _) => raise Control.Bug "emitInsn: X86FLD" | X86 (X86FLD_ST (X86ST n)) => [FLD (ST n)] | X86 (X86FST (Real32, mem)) => [FSTPS (emitMem mem)] | X86 (X86FST (Real64, mem)) => [FSTPL (emitMem mem)] | X86 (X86FST (Real80, mem)) => [FSTPT (emitMem mem)] | X86 (X86FST (Int16 S, mem)) => [FISTPS (emitMem mem)] | X86 (X86FST (Int32 S, mem)) => [FISTPL (emitMem mem)] | X86 (X86FST (Int64 S, mem)) => [FISTPQ (emitMem mem)] | X86 (X86FST _) => raise Control.Bug "emitInsn: X86FST" | X86 (X86FSTP (Real32, mem)) => [FSTPS (emitMem mem)] | X86 (X86FSTP (Real64, mem)) => [FSTPL (emitMem mem)] | X86 (X86FSTP (Real80, mem)) => [FSTPT (emitMem mem)] | X86 (X86FSTP (Int16 S, mem)) => [FISTPS (emitMem mem)] | X86 (X86FSTP (Int32 S, mem)) => [FISTPL (emitMem mem)] | X86 (X86FSTP (Int64 S, mem)) => [FISTPQ (emitMem mem)] | X86 (X86FSTP _) => raise Control.Bug "emitInsn: X86FSTP" | X86 (X86FSTP_ST (X86ST n)) => [FSTP (ST n)] | X86 (X86FADD (Real32, mem)) => [FADDS (emitMem mem)] | X86 (X86FADD (Real64, mem)) => [FADDL (emitMem mem)] | X86 (X86FADD _) => raise Control.Bug "emitInsn: X86FADD" | X86 (X86FADD_ST (X86ST 0, X86ST n)) => [FADD (ST 0, ST n)] | X86 (X86FADD_ST (X86ST n, X86ST 0)) => [FADD (ST n, ST n)] | X86 (X86FADD_ST _) => raise Control.Bug "emitInsn: X86FADD_ST" | X86 (X86FADDP (X86ST n)) => [FADDP (ST n)] | X86 (X86FSUB (Real32, mem)) => [FSUBS (emitMem mem)] | X86 (X86FSUB (Real64, mem)) => [FSUBL (emitMem mem)] | X86 (X86FSUB _) => raise Control.Bug "emitInsn: X86FSUB" | X86 (X86FSUB_ST (X86ST 0, X86ST n)) => [FSUB (ST 0, ST n)] | X86 (X86FSUB_ST (X86ST n, X86ST 0)) => [FSUB (ST n, ST n)] | X86 (X86FSUB_ST _) => raise Control.Bug "emitInsn: X86FSUB_ST" | X86 (X86FSUBP (X86ST n)) => [FSUBP (ST n)] | X86 (X86FSUBR (Real32, mem)) => [FSUBRS (emitMem mem)] | X86 (X86FSUBR (Real64, mem)) => [FSUBRL (emitMem mem)] | X86 (X86FSUBR _) => raise Control.Bug "emitInsn: X86FSUBR" | X86 (X86FSUBR_ST (X86ST 0, X86ST n)) => [FSUBR (ST 0, ST n)] | X86 (X86FSUBR_ST (X86ST n, X86ST 0)) => [FSUBR (ST n, ST n)] | X86 (X86FSUBR_ST _) => raise Control.Bug "emitInsn: X86FSUBR_ST" | X86 (X86FSUBRP (X86ST n)) => [FSUBRP (ST n)] | X86 (X86FMUL (Real32, mem)) => [FMULS (emitMem mem)] | X86 (X86FMUL (Real64, mem)) => [FMULL (emitMem mem)] | X86 (X86FMUL _) => raise Control.Bug "emitInsn: X86FMUL" | X86 (X86FMUL_ST (X86ST 0, X86ST n)) => [FMUL (ST 0, ST n)] | X86 (X86FMUL_ST (X86ST n, X86ST 0)) => [FMUL (ST n, ST n)] | X86 (X86FMUL_ST _) => raise Control.Bug "emitInsn: X86FMUL_ST" | X86 (X86FMULP (X86ST n)) => [FMULP (ST n)] | X86 (X86FDIV (Real32, mem)) => [FDIVS (emitMem mem)] | X86 (X86FDIV (Real64, mem)) => [FDIVL (emitMem mem)] | X86 (X86FDIV _) => raise Control.Bug "emitInsn: X86FDIV" | X86 (X86FDIV_ST (X86ST 0, X86ST n)) => [FDIV (ST 0, ST n)] | X86 (X86FDIV_ST (X86ST n, X86ST 0)) => [FDIV (ST n, ST n)] | X86 (X86FDIV_ST _) => raise Control.Bug "emitInsn: X86FDIV_ST" | X86 (X86FDIVP (X86ST n)) => [FDIVP (ST n)] | X86 (X86FDIVR (Real32, mem)) => [FDIVRS (emitMem mem)] | X86 (X86FDIVR (Real64, mem)) => [FDIVRL (emitMem mem)] | X86 (X86FDIVR _) => raise Control.Bug "emitInsn: X86FDIVR" | X86 (X86FDIVR_ST (X86ST 0, X86ST n)) => [FDIVR (ST 0, ST n)] | X86 (X86FDIVR_ST (X86ST n, X86ST 0)) => [FDIVR (ST n, ST n)] | X86 (X86FDIVR_ST _) => raise Control.Bug "emitInsn: X86FDIVR_ST" | X86 (X86FDIVRP (X86ST n)) => [FDIVRP (ST n)] | X86 (I.X86FPREM) => [FPREM] | X86 (X86FABS) => [FABS] | X86 (X86FCHS) => [FCHS] | X86 X86FINCSTP => [FINCSTP] | X86 (X86FFREE (X86ST st)) => [FFREE (ST st)] | X86 (X86FXCH (X86ST st)) => [FXCH (ST st)] | X86 (X86FUCOM (X86ST st)) => [FUCOM (ST st)] | X86 (X86FUCOMP (X86ST st)) => [FUCOMP (ST st)] | X86 X86FUCOMPP => [FUCOMPP] | X86 (X86FSW_TESTH {clob, mask}) => (assert 150 (r32 (REG clob) = EAX); [FSTSW_AX, TESTB (R8 (XH EAX), I_8 (emitImm env mask))]) | X86 (X86FSW_MASKCMPH {clob, mask, compare}) => (assert 160 (r32 (REG clob) = EAX); [FSTSW_AX, ANDB (R8 (XH EAX), I_8 (emitImm env mask)), CMPB (R8 (XH EAX), I_8 (emitImm env compare))]) | X86 (X86FLDCW mem) => [FLDCW (emitMem mem)] | X86 (X86FNSTCW mem) => [FNSTCW (emitMem mem)] | X86 X86FWAIT => [FWAIT] | X86 X86FNCLEX => [FNCLEX] end local fun Int n = INT (Int32.fromInt n) in fun allocFrame env preFrameSize = let (* * Windows allocates one additional page of PAGE_GUARD attribute * at the top of thread stack. Accessing to this page causes a * special page fault. Windows catches this special fault and then * grows the thread stack for one page (4Kbytes). If a stack frame * is larger than a page, memory access may be performed beyond the * PAGE_GUARD page, so Windows fails to grow the stack. To prevent * this, if a stack frame is larger than a page, allocate the frame * by alloca function instead of manipulating stack pointer. *) fun allocaWindows n = if n < 4096 + 8 then [SUBL (R ESP, I_ (Int n))] else [PUSHL (R_ EAX), MOVL (R EAX, I_ (Int (n - 4))), X.CALL (I_ (X.LABEL (X.SYMBOL "__alloca"))), MOVL (R EAX, M_ (X.DISP (Int (n - 4), X.BASE ESP)))] fun alloca 0 = nil | alloca n = case #ossys (Control.targetInfo ()) of "mingw" => allocaWindows n | "cygwin" => allocaWindows n | _ => [SUBL (R ESP, I_ (INT (Int32.fromInt n)))] in case totalPreFrameSize env - preFrameSize of 0 => [ PUSHL (R_ EBP), MOVL (R EBP, R_ ESP) ] @ alloca (frameAllocSize env) @ (if !Control.debugCodeGen then [ (* X.PUSHL (R_ EAX), X.PUSHL (R_ ECX), X.PUSHL (R_ EDX), X.PUSHL (M_ (X.BASE EBP)), X.CALL (I_ (X.LABEL (X.SYMBOL "_sml_check_frame_valid"))), X.POPL (R EDX), X.POPL (R EDX), X.POPL (R ECX), X.POPL (R EAX), *) X.PUSHL (I_ (Int 0)), X.CALL (I_ (X.LABEL (X.SYMBOL "__debug__clearframe__"))) ] else nil) | pad => alloca (pad + 4 + frameAllocSize env) @ [ MOVL (M (X.DISP (Int (frameAllocSize env), X.BASE ESP)), R_ EBP), MOVL (R EBP, M_ (X.DISP (Int (pad + 4 + frameAllocSize env), X.BASE ESP))), MOVL (M (X.DISP (Int (frameAllocSize env + 4), X.BASE ESP)), R_ EBP), LEAL (EBP, X.DISP (Int (frameAllocSize env), X.BASE ESP)) ] @ (if !Control.debugCodeGen then [ (* X.PUSHL (R_ EAX), X.PUSHL (R_ ECX), X.PUSHL (R_ EDX), X.PUSHL (M_ (X.BASE EBP)), X.CALL (I_ (X.LABEL (X.SYMBOL "_sml_check_frame_valid"))), X.POPL (R EDX), X.POPL (R EDX), X.POPL (R ECX), X.POPL (R EAX), *) X.PUSHL (I_ (Int pad)), X.CALL (I_ (X.LABEL (X.SYMBOL "__debug__clearframe__"))) ] else nil) end fun freeFrame env preFrameSize = case totalPreFrameSize env - preFrameSize of 0 => [ MOVL (R ESP, R_ EBP), POPL (R EBP) ] | pad => [ MOVL (R ESP, R_ EBP), MOVL (R EBP, M_ (X.DISP (Int 4, X.BASE ESP))), MOVL (M (X.DISP (Int (pad + 4), X.BASE ESP)), R_ EBP), POPL (R EBP), ADDL (R ESP, I_ (Int pad)) ] end fun emitLast env insn = case insn of HANDLE (insn, {nextLabel, handler}) => {insn = emitInsn env insn, continue = SOME nextLabel, branches = RTLUtils.handlerLabels handler} | CJUMP {test, cc, thenLabel, elseLabel} => {insn = emitInsn env test @ [J (emitCC cc, (clusterId env, thenLabel), (clusterId env, elseLabel))], continue = SOME elseLabel, branches = [thenLabel]} | JUMP {jumpTo, destinations=[label]} => {insn = nil, continue = SOME label, branches = nil} | JUMP {jumpTo, destinations} => {insn = [JMP (emitRIAddr env jumpTo handle NotRIAddr => raise Control.Bug "emitLast: JUMP", map (fn x => (clusterId env, x)) destinations)], continue = NONE, branches = destinations} | CALL {callTo, returnTo, handler, defs, uses, needStabilize, postFrameAdjust} => {insn = [X.CALL (emitRIAddr env callTo handle NotRIAddr => raise Control.Bug "emitLast: CALL")] @ (case postFrameAdjust of 0 => nil | n => [SUBL (R ESP, I_ (INT (Int32.fromInt n)))]), continue = SOME returnTo, branches = RTLUtils.handlerLabels handler} | UNWIND_JUMP {jumpTo, sp, fp, uses, handler} => {insn = (* [ X.PUSHL (R_ EAX), X.PUSHL (R_ ECX), X.PUSHL (R_ EDX), X.PUSHL (R_ EBP), X.CALL (I_ (X.LABEL (X.SYMBOL "_sml_check_frame_valid"))), X.POPL (R EDX), X.POPL (R EDX), X.POPL (R ECX), X.POPL (R EAX) ] @ *) [MOVL (R EBP, rmi32 env fp), MOVL (R ESP, rmi32 env sp), JMP (emitRIAddr env jumpTo handle NotRIAddr => raise Control.Bug "emitLast: UNWIND_JUMP", nil)], continue = NONE, branches = RTLUtils.handlerLabels handler} | TAILCALL_JUMP {jumpTo, preFrameSize, uses} => {insn = (* [ X.PUSHL (R_ EAX), X.PUSHL (R_ ECX), X.PUSHL (R_ EDX), X.PUSHL (R_ EBP), X.CALL (I_ (X.LABEL (X.SYMBOL "_sml_check_frame_valid"))), X.POPL (R EDX), X.POPL (R EDX), X.POPL (R ECX), X.POPL (R EAX) ] @ *) freeFrame env preFrameSize @ [JMP (emitRIAddr env jumpTo handle NotRIAddr => raise Control.Bug "emitLast: TAILCALL_JUMP", nil)], continue = NONE, branches = nil} | RETURN {preFrameSize, stubOptions, uses} => let val {forceFrameAlign} = case stubOptions of NONE => {forceFrameAlign = false} | SOME x => x in {insn = (* [ X.PUSHL (R_ EAX), X.PUSHL (R_ ECX), X.PUSHL (R_ EDX), X.PUSHL (R_ EBP), X.CALL (I_ (X.LABEL (X.SYMBOL "_sml_check_frame_valid"))), X.POPL (R EDX), X.POPL (R EDX), X.POPL (R ECX), X.POPL (R EAX) ] @ *) freeFrame env (#totalPreFrameSize env) @ (if forceFrameAlign then [MOVL (R ESP, R_ EBP), POPL (R EBP)] else nil) @ (case #totalPreFrameSize env - preFrameSize of 0 => [X.RET NONE] | n => [X.RET (SOME (INT (Int32.fromInt n)))]), continue = NONE, branches = nil} end | EXIT => raise Control.Bug "emitLast: EXIT" fun emitAlign 1 = nil | emitAlign n = [X.Align {align = n, filler = 0wx90}] fun emitSymbolDecl GLOBAL loc symbol = [X.Global symbol, X.Symbol (symbol, loc)] | emitSymbolDecl LOCAL loc symbol = [X.Symbol (symbol, loc)] fun emitFirst env insn = case insn of BEGIN {label, align, loc} => emitAlign align @ [X.Label ((clusterId env, label), SOME loc)] | CODEENTRY {label, symbol, scope, preFrameSize, stubOptions, align, defs, loc} => let val {forceFrameAlign} = case stubOptions of NONE => {forceFrameAlign = false} | SOME x => x in emitAlign align @ emitSymbolDecl scope (SOME loc) symbol @ (if forceFrameAlign then [PUSHL (R_ EBP), MOVL (R EBP, R_ ESP), ANDL (R ESP, I_ (WORD 0wxfffffff0)), PUSHL (M_ (X.DISP (INT 4, X.BASE EBP)))] else nil) @ allocFrame env preFrameSize end | HANDLERENTRY {label, align, defs, loc} => emitAlign align @ [X.Label ((clusterId env, label), SOME loc)] | ENTER => raise Control.Bug "emitFirst: ENTER" fun emitBlock env ((first, middle, last):I.block) = let val first = emitFirst env first val middle = map (emitInsn env) middle val {insn=last, continue, branches} = emitLast env last val insn = List.concat (first :: middle @ [last]) in {insn = insn, continue = continue, branches = branches} end fun linearize (clusterId, graph, entries) = let fun jump label = JMP (I_ (X.LABEL (X.LOCAL label)), [label]) fun loop (visited, nil) = nil | loop (visited, label::labelStack) = if LabelSet.member (visited, label) then loop (visited, labelStack) else case LabelMap.find (graph, label) of NONE => raise Control.Bug "linearize" | SOME {insn, continue, branches} => let val visited = LabelSet.add (visited, label) val labelStack = branches @ labelStack in insn @ (case continue of NONE => loop (visited, labelStack) | SOME nextLabel => if LabelSet.member (visited, nextLabel) then jump (clusterId, nextLabel) :: loop (visited, labelStack) else loop (visited, nextLabel :: labelStack)) end in loop (LabelSet.empty, entries) end fun emitCluster {regAlloc, layoutMap} ({clusterId, frameBitmap, baseLabel, body, numHeaderWords, preFrameSize, postFrameSize, loc} :I.cluster) = let val env = case ClusterID.Map.find (layoutMap, clusterId) of SOME env => {clusterId = SOME clusterId, totalPreFrameSize = preFrameSize, regAlloc = regAlloc, env = env} : env' | NONE => raise Control.Bug "emit" val entries = LabelMap.foldri (fn (label, (CODEENTRY _, _, _), labelStack) => label :: labelStack | (_, _, labelStack) => labelStack) nil body val body = LabelMap.map (fn block => emitBlock env block) body val insn = linearize (clusterId, body, entries) val insn = case baseLabel of NONE => insn | SOME l => X.Label ((clusterId, l), NONE) :: insn in Section TextSection :: Align {align=4, filler=0wx90} :: insn end val emptyEnv = {clusterId = NONE, totalPreFrameSize = 0, regAlloc = VarID.Map.empty, env = {slotIndex = VarID.Map.empty, preFrameOrigin = 0, postFrameOrigin = 0, frameAllocSize = 0}} : env' fun emitDatum datum = case datum of CONST_DATA (SYMOFFSET {base, label}) => [ImmData (CONSTSUB (X.LABEL (emitAbsLabel emptyEnv base), X.LABEL (emitAbsLabel emptyEnv label)))] (* | CONST_DATA (INT64 n) => raise Control.Bug "emitData: FIXME: INT64" | CONST_DATA (UINT64 n) => raise Control.Bug "emitData: FIXME: UINT64" *) | CONST_DATA (INT32 n) => [ImmData (INT n)] | CONST_DATA (UINT32 n) => [ImmData (WORD n)] | CONST_DATA (INT16 n) => raise Control.Bug "emitData: FIXME: INT16" | CONST_DATA (UINT16 n) => raise Control.Bug "emitData: FIXME: UINT16" | CONST_DATA (INT8 n) => [BytesData [Word8.fromInt n]] | CONST_DATA (UINT8 n) => [BytesData [n]] | CONST_DATA (REAL32 s) => let val float = valOf (IEEERealConst32.fromString s) val (_, lo) = IEEERealConst32.pack float in [ImmData (WORD lo)] end | CONST_DATA (REAL64 s) => let val float = valOf (IEEERealConst64.fromString s) val (hi, lo) = IEEERealConst64.pack float in [ImmData (WORD lo), ImmData (WORD hi)] end | CONST_DATA (REAL64HI s) => let val float = valOf (IEEERealConst64.fromString s) val (hi, _) = IEEERealConst64.pack float in [ImmData (WORD hi)] end | CONST_DATA (REAL64LO s) => let val float = valOf (IEEERealConst64.fromString s) val (_, lo) = IEEERealConst64.pack float in [ImmData (WORD lo)] end | LABELREF_DATA l => [ImmData (X.LABEL (emitAbsLabel emptyEnv l))] | BINARY_DATA w => [BytesData w] | ASCII_DATA s => [AsciiData s] | SPACE_DATA {size} => [SpaceData size] fun emitData ({scope, symbol, aliases, ptrTy, section, prefix, align, data, prefixSize}:I.data) = [case section of DATA_SECTION => Section DataSection | RODATA_SECTION => Section ConstDataSection | LITERAL32_SECTION => Section Literal4Section | LITERAL64_SECTION => Section Literal8Section | CSTRING_SECTION => Section CStringSection] @ [Align {align=align, filler=0w0}] @ (if prefixSize mod align = 0 then nil else [SpaceData (align - prefixSize mod align)]) @ List.concat (map emitDatum prefix) @ List.concat (map (emitSymbolDecl scope NONE) (symbol::aliases)) @ List.concat (map emitDatum data) fun emitTopdecl env topdecl = case topdecl of CLUSTER cluster => emitCluster env cluster | DATA data => emitData data | BSS {scope, symbol, size} => (case scope of GLOBAL => [Global symbol] | LOCAL => nil) @ [Comm (symbol, {size=size})] | X86GET_PC_THUNK_BX symbol => [GET_PC_THUNK_Decl symbol, MOVL (R EBX, M_ (X.BASE ESP)), RET NONE] | EXTERN {symbol, linkStub, linkEntry, ptrTy} => (if linkEntry then [LinkPtrEntry symbol] else nil) @ (if linkStub then [LinkStubEntry symbol] else nil) | TOPLEVEL {symbol, toplevelEntry, nextToplevel, smlPushHandlerLabel, smlPopHandlerLabel} => (* toplevel code takes no argument and returns unhandled exception. *) let val returnCode = case nextToplevel of NONE => [RET NONE] | SOME nextSymbol => [JMP (I_ (X.LABEL (X.SYMBOL nextSymbol)), nil)] in [ Section TextSection, Align {align = 4, filler = 0wx90}, Global symbol, Symbol (symbol, NONE), PUSHL (R_ EBP), MOVL (R EBP, R_ ESP), (* call toplevel cluster. *) MOVL (R EAX, (I_ (X.INT 0))), X.CALL (I_ (X.LABEL (X.SYMBOL toplevelEntry))), MOVL (R ESP, R_ EBP), POPL (R EBP) ] @ returnCode end fun emitTopdeclList env (topdecl::topdecls) = let val code1 = emitTopdecl env topdecl val code2 = emitTopdeclList env topdecls in code1 @ code2 end | emitTopdeclList env nil = nil fun emit env program = let val result = emitTopdeclList env program in if !Control.debugCodeGen then result @ [ Section TextSection, Align {align = 4, filler = 0wx90}, Symbol ("__debug__clearframe__", NONE), PUSHL (R_ EDI), PUSHL (R_ EDX), PUSHL (R_ ECX), PUSHL (R_ EAX), LEAL (EDI, X.DISP (X.INT 20, X.BASE ESP)), MOVL (R EDX, M_ (X.BASE EDI)), MOVL (R ECX, R_ EBP), SUBL (R ECX, R_ EDI), MOVL (R EAX, I_ (X.WORD 0wx55555555)), CLD, REP_STOSB, ADDL (R EAX, I_ (X.INT 2)), ADDL (R EDI, I_ (X.INT 8)), MOVL (R ECX, R_ EDX), REP_STOSB, POPL (R EAX), POPL (R ECX), POPL (R EDX), POPL (R EDI), RET (SOME (X.INT 4)) ] else result end end smlsharp-1.2.0/src/compiler/rtl/main/X86Frame.smi0000644 000000000000000000000061112050661606021701 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "RTL.ppg.smi" _require "RTLEdit.smi" _require "FrameLayout.smi" _require "RTLFRAME.sig" _require "X86Subst.smi" _require "X86Emit.smi" structure X86Frame = struct val allocate : RTL.program -> RTL.program * X86Emit.frameLayout ClusterID.Map.map end smlsharp-1.2.0/src/compiler/rtl/main/X86Frame.sml0000644 000000000000000000001476112050661606021717 0ustar00rootroot0000000 0000000 (** * x86 RTL * @copyright (c) 2009, Tohoku University. * @author UENO Katsuhiro * @version $Id: $ *) structure X86Frame : RTLFRAME = struct structure R = RTL structure Emit = X86Emit fun sizeof ty = #size (X86Emit.formatOf ty) val maxAlign = #size X86Emit.formatOfGeneric fun frameOffset headerSize {frameSize, offset} = offset - (frameSize + headerSize) fun frameInfo headerSize = {preOffset = 0w0, postOffset = Word.fromInt (8 + headerSize), frameAlign = maxAlign, wordSize = sizeof (R.Int32 R.U), pointerSize = sizeof (R.Ptr R.Void), frameHeaderOffset = ~4, frameOffset = frameOffset headerSize} fun ceil (m, n) = (m + n - 1) - (m + n - 1) mod n fun allocateCluster (cluster as {clusterId, frameBitmap, baseLabel, body, preFrameSize, postFrameSize, numHeaderWords, loc}:R.cluster) = let (* * Structure of Frame: * * addr * | : : * | +----------+ [align 16] --------------------------- * | :PostFrame : (need to allocate) ^ * | | | | * | +==========+ [align 16] preOffset = 0 | * | | Frame | (need to allocate) | need to alloc * | | | | * | +==========+ postOffset = 12 or 16 | * | | header | (4 or 8 bytes) v * | +----------+ 8/16 <---- ebp ----------------------- * | | push ebp | * | +----------+ 4/16 * | | ret addr | * | +==========+ [align 16] --------------------------- * | | PreFrame | (allocated by caller) ^ * | : : | preFrameSize * | | | v * | +----------+ [align 16] --------------------------- * | : : * v *) val _ = if numHeaderWords = 1 orelse numHeaderWords = 2 then () else raise Control.Bug "allocateCluster: numHeaderWords" val headerSize = sizeof (R.Ptr R.Void) * numHeaderWords val {slotIndex, frameSize, initCode, frameCode} = FrameLayout.allocate (frameInfo headerSize) cluster (* substitute COMPUTE_FRAME with frameCode *) val body = RTLEdit.extend (fn (RTLEdit.MIDDLE (R.COMPUTE_FRAME {uses, clobs})) => let val code = frameCode clobs val focus = RTLEdit.singletonFirst R.ENTER val focus = RTLEdit.insertBefore (focus, code) val graph = RTLEdit.unfocus focus in X86Subst.substitute (fn {id,...} => case VarID.Map.find (uses, id) of SOME v => SOME (R.REG v) | NONE => NONE) graph end | (RTLEdit.MIDDLE insn) => RTLEdit.unfocus (RTLEdit.singleton insn) | (RTLEdit.FIRST (first as R.CODEENTRY _)) => let val focus = RTLEdit.singletonFirst first val focus = RTLEdit.insertBefore (focus, initCode) in RTLEdit.unfocus focus end | (RTLEdit.FIRST first) => RTLEdit.unfocus (RTLEdit.singletonFirst first) | (RTLEdit.LAST last) => RTLEdit.unfocus (RTLEdit.singletonLast last)) body (* * addr * | : : * | +-----------+ --------------------------- (aligned) * | | POSTFRAME | ^ * | +-----------+ ------ | * | | frame | | | allocSize * | +-----------+ | framePointerOffset | * | | header | v v * | +-----------+ %ebp -------------------------- * | | push ebp | ^ | * | +-----------+ | systemSpaceSize | * | |return addr| v | preFrameOrigin * | +-----------+ ---------- (aligned) | * | | PREFRAME | ^ preFrameSize | * | | | v v * | +-----------+ ------------------------------- * v : : *) val systemSpaceSize = sizeof (R.Ptr R.Void) + sizeof (R.Ptr R.Code) val preFrameOrigin = systemSpaceSize + preFrameSize val framePointerOffset = frameSize + headerSize val allocSize = ceil (systemSpaceSize + framePointerOffset + postFrameSize, maxAlign) - systemSpaceSize val postFrameOrigin = ~allocSize val slotIndex = VarID.Map.map (fn i => i - framePointerOffset) slotIndex val cluster = { clusterId = clusterId, frameBitmap = frameBitmap, baseLabel = baseLabel, body = body, preFrameSize = preFrameSize, postFrameSize = postFrameSize, numHeaderWords = numHeaderWords, loc = loc } : R.cluster val layout = { slotIndex = slotIndex, preFrameOrigin = preFrameOrigin, postFrameOrigin = postFrameOrigin, frameAllocSize = allocSize } : X86Emit.frameLayout in (R.CLUSTER cluster, ClusterID.Map.singleton (clusterId, layout)) end fun allocate nil = (nil, ClusterID.Map.empty) | allocate (topdecl::topdecls) = let val (topdecl, envMap1) = case topdecl of R.CLUSTER cluster => allocateCluster cluster | R.TOPLEVEL _ => (topdecl, ClusterID.Map.empty) | R.DATA _ => (topdecl, ClusterID.Map.empty) | R.BSS _ => (topdecl, ClusterID.Map.empty) | R.X86GET_PC_THUNK_BX _ => (topdecl, ClusterID.Map.empty) | R.EXTERN _ => (topdecl, ClusterID.Map.empty) val (topdecls, envMap2) = allocate topdecls in (topdecl::topdecls, ClusterID.Map.unionWith #2 (envMap1, envMap2)) end end smlsharp-1.2.0/src/compiler/rtl/main/X86Select.smi0000644 000000000000000000000143712050661606022075 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/SSet.smi" _require "../../control/main/Control.ppg.smi" _require "../../systemdef/main/BasicTypes.smi" _require "../../name/main/LocalID.smi" _require "../../util/main/TermFormat.smi" _require "../../util/main/BigInt_IntInf.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../abstractinstruction2/main/AbstractInstruction.ppg.smi" _require "RTL.ppg.smi" _require "RTLBackendContext.smi" _require "RTLEdit.smi" _require "RTLUtils.smi" _require "RTLSELECT.sig" _require "X86Emit.smi" _require "X86Subst.smi" _require "RTLDominate.smi" structure X86Select = struct val select : {mainSymbol: string} * AbstractInstruction2.program -> RTL.program end smlsharp-1.2.0/src/compiler/rtl/main/X86Select.sml0000644 000000000000000000041045712050661606022106 0ustar00rootroot0000000 0000000 (** * x86 RTL * @copyright (c) 2009, Tohoku University. * @author UENO Katsuhiro * @version $Id: $ *) structure X86Select : RTLSELECT = struct structure AI = AbstractInstruction2 structure R = RTL infix 5 << >> infix 2 || && ^^ val (op ||) = Word32.orb val (op &&) = Word32.andb val (op ^^) = Word32.xorb val (op <<) = Word32.<< val (op >>) = Word32.>> val notb = Word32.notb val toWord = BasicTypes.SInt32ToUInt32 val BYTE_BITS = 8 (* * Heap object header: * * MSB LSB * +--------+------+-------------------------------+ * | type | gc | size | * +--------+------+-------------------------------+ * 31 28 27 26 25 0 * * type: * UNBOXED_VECTOR 0000 arbitrary binary data (String and Vector) * BOXED_VECTOR 0001 vector of heap object pointers * UNBOXED_ARRAY 0010 array of arbitrary binary data * BOXED_ARRAY 0011 array of heap object pointers * RECORD 0101 mixed structure of arbitrary type values * INTINF 0110 large integer * ^ * HEAD_BITTAG *) val HEAD_GC_MASK = 0wx3 << 0w26 : Word32.word val HEAP_BITMAP_MASK = 0w1 << 0w28 : Word32.word val HEAD_TYPE_MASK = notb 0w0 << 0w28 : Word32.word val HEAD_SIZE_MASK = notb (HEAD_TYPE_MASK || HEAD_GC_MASK) : Word32.word val HEAD_BITTAG_SHIFT = 0w28 : Word32.word val HEAD_TYPE_UNBOXED = 0w0 << 0w28 : Word32.word val HEAD_TYPE_BOXED = 0w1 << 0w28 : Word32.word val HEAD_TYPE_VECTOR = 0w0 << 0w29 : Word32.word val HEAD_TYPE_ARRAY = 0w1 << 0w29 : Word32.word val HEAD_TYPE_RECORD = 0w2 << 0w29 : Word32.word val HEAD_TYPE_INTINF = 0w3 << 0w29 : Word32.word val HEAD_TYPE_BOXED_VECTOR = HEAD_TYPE_VECTOR || HEAD_TYPE_BOXED val HEAD_TYPE_UNBOXED_VECTOR = HEAD_TYPE_VECTOR || HEAD_TYPE_UNBOXED val HEAD_TYPE_BOXED_ARRAY = HEAD_TYPE_ARRAY || HEAD_TYPE_BOXED val HEAD_TYPE_UNBOXED_ARRAY = HEAD_TYPE_ARRAY || HEAD_TYPE_UNBOXED val HEAD_TYPE_RECORD = HEAD_TYPE_RECORD || HEAD_TYPE_BOXED val HEAD_TYPE_INTINF = HEAD_TYPE_INTINF || HEAD_TYPE_UNBOXED val FRAME_FLAG_VISITED = 0wx1 : Word32.word val FRAME_FLAG_SKIP = 0wx2 : Word32.word datatype arch = ELF | MachO | COFF type options = { positionIndependent: arch option, globalSymbolStartsWithUnderscore: bool } fun entrySymbolName {clusterId, entry} = "FF" ^ ClusterID.toString clusterId ^ "_" ^ VarID.toString entry fun constSymbolName id = "LC" ^ VarID.toString id fun globalSymbolName (options:options) label = if #globalSymbolStartsWithUnderscore options then "_" ^ label else label fun newDst ty = let val id = VarID.generate () in case ty of R.Int8 s => R.REG {id=id, ty=ty} | R.Int16 s => R.REG {id=id, ty=ty} | R.Int32 _ => R.REG {id=id, ty=ty} | R.Ptr _ => R.REG {id=id, ty=ty} | R.PtrDiff _ => R.REG {id=id, ty=ty} | R.NoType => R.REG {id=id, ty=ty} | R.Real32 => R.MEM (ty, R.SLOT {id=id, format=X86Emit.formatOf ty}) | R.Real64 => R.MEM (ty, R.SLOT {id=id, format=X86Emit.formatOf ty}) | R.Real80 => R.MEM (ty, R.SLOT {id=id, format=X86Emit.formatOf ty}) | R.Int64 _ => raise Control.Bug "transformVarInfo: Int64" | R.Generic _ => R.MEM (ty, R.SLOT {id=id, format=X86Emit.formatOf ty}) end fun newVar ty = case newDst ty of R.REG v => v | _ => raise Control.Bug "newVar" fun newSlot fmt = {id = VarID.generate (), format = fmt} : R.slot datatype value = OPRD of R.operand | ADDR of R.addr fun format_value (OPRD x) = R.format_operand x | format_value (ADDR x) = R.format_addr x fun valueTy (OPRD op1) = RTLUtils.operandTy op1 | valueTy (ADDR addr) = R.Ptr (RTLUtils.addrTy addr) type context = { options: options, handler: R.handler, calleeSaves: R.var list } type code = { globalOffsetBase: (R.labelReference * R.var) option, externSymbols: {linkStub:bool, linkEntry:bool, ptrTy:R.ptrTy} SEnv.map, handlerSlots: R.slot R.LabelMap.map, (* handlerLabel -> slot *) preFrameSize: int, postFrameSize: int, focus: RTLEdit.focus } fun updateFocus ({globalOffsetBase, externSymbols, handlerSlots, preFrameSize, postFrameSize, focus=_}:code) focus = {globalOffsetBase = globalOffsetBase, externSymbols = externSymbols, handlerSlots = handlerSlots, preFrameSize = preFrameSize, postFrameSize = postFrameSize, focus = focus} : code fun updateGlobalOffsetBase ({globalOffsetBase=_, externSymbols, handlerSlots, preFrameSize, postFrameSize, focus}:code) globalOffsetBase = {globalOffsetBase = globalOffsetBase, externSymbols = externSymbols, handlerSlots = handlerSlots, preFrameSize = preFrameSize, postFrameSize = postFrameSize, focus = focus} : code fun updateExternSymbols ({globalOffsetBase, externSymbols=_, handlerSlots, preFrameSize, postFrameSize, focus}:code, (externSymbols, x)) = ({globalOffsetBase = globalOffsetBase, externSymbols = externSymbols, handlerSlots = handlerSlots, preFrameSize = preFrameSize, postFrameSize = postFrameSize, focus = focus} : code, x) fun requirePreFrame ({globalOffsetBase, externSymbols, handlerSlots, preFrameSize, postFrameSize, focus}:code, size) = {globalOffsetBase = globalOffsetBase, externSymbols = externSymbols, handlerSlots = handlerSlots, preFrameSize = Int.max (preFrameSize, size), postFrameSize = postFrameSize, focus = focus} : code fun requirePostFrame ({globalOffsetBase, externSymbols, handlerSlots, preFrameSize, postFrameSize, focus}:code, size) = {globalOffsetBase = globalOffsetBase, externSymbols = externSymbols, handlerSlots = handlerSlots, preFrameSize = preFrameSize, postFrameSize = Int.max (postFrameSize, size), focus = focus} : code (* * struct handlerSlot { * void *reserved; /* for runtime */ * void *handlerAddr; * void *stackPointer; * void *framePointer; * } *) fun handlerSlot (code as {globalOffsetBase, externSymbols, handlerSlots, preFrameSize, postFrameSize, focus}:code, label) = case R.LabelMap.find (handlerSlots, label) of SOME slot => (code, slot) | NONE => let val slot = newSlot {size=16, align=4, tag=R.UNBOXED} val handlerSlots = R.LabelMap.insert (handlerSlots, label, slot) in ({globalOffsetBase = globalOffsetBase, externSymbols = externSymbols, handlerSlots = handlerSlots, preFrameSize = preFrameSize, postFrameSize = postFrameSize, focus = focus} : code, slot) end fun insert (code, insn) = updateFocus code (RTLEdit.insertBefore (#focus code, insn)) fun insertLast (code, last) = updateFocus code (RTLEdit.insertLast (#focus code, last)) fun insertLastBefore (code, lastFn) = updateFocus code (#1 (RTLEdit.insertLastBefore (#focus code, lastFn))) fun insertJump (code, label) = insertLast (code, R.JUMP {jumpTo = R.ABSADDR (R.LABEL label), destinations = [label]}) fun makeLabelAfter code = let val (focus, label) = RTLEdit.makeLabelAfter (#focus code) in (updateFocus code focus, label) end fun makeLabelBefore code = let val (focus, label) = RTLEdit.makeLabelBefore (#focus code) in (updateFocus code focus, label) end fun focusFirst (code, label) = let val graph = RTLEdit.unfocus (#focus code) in updateFocus code (RTLEdit.focusFirst (graph, label)) end fun transformTy ty = case ty of AI.GENERIC tid => R.Generic tid | AI.UINT => R.Int32 R.U | AI.SINT => R.Int32 R.S | AI.BYTE => R.Int8 R.U | AI.BOXED => R.Ptr R.Data | AI.HEAPPOINTER => R.Ptr R.Void | AI.CODEPOINTER => R.Ptr R.Code | AI.CPOINTER => R.Ptr R.Void | AI.ENTRY => R.Ptr R.Code | AI.FLOAT => R.Real32 | AI.DOUBLE => R.Real64 fun sizeof ty = #size (X86Emit.formatOf ty) fun genericSize () = #size X86Emit.formatOfGeneric fun transformVarInfo ({id, ty, displayName}:AI.varInfo) = let val ty = transformTy ty in case ty of R.Int8 s => R.REG {id=id, ty=R.Int8 s} | R.Int16 s => R.REG {id=id, ty=R.Int16 s} | R.Int32 _ => R.REG {id=id, ty=ty} | R.Ptr _ => R.REG {id=id, ty=ty} | R.PtrDiff _ => R.REG {id=id, ty=ty} | R.NoType => R.REG {id=id, ty=ty} (* floating point variables are allocated in frame. *) | R.Real32 => R.MEM (ty, R.SLOT {id=id, format=X86Emit.formatOf ty}) | R.Real64 => R.MEM (ty, R.SLOT {id=id, format=X86Emit.formatOf ty}) | R.Real80 => R.MEM (ty, R.SLOT {id=id, format=X86Emit.formatOf ty}) | R.Int64 _ => raise Control.Bug "transformVarInfo: Int64" (* generic variables are allocated in frame. *) | R.Generic _ => R.MEM (ty, R.SLOT {id=id, format=X86Emit.formatOf ty}) end fun transformArgInfo ({id, ty, ...}:AI.argInfo) = transformVarInfo {id=id, ty=ty, displayName=""} fun makeCastOperand (op1 as R.REF (R.N, dst), ty) = if RTLUtils.dstTy dst = ty then op1 else R.REF (R.CAST ty, dst) | makeCastOperand (op1 as R.REF (R.CAST ty1, dst), ty2) = if ty1 = ty2 then op1 else R.REF (R.CAST ty2, dst) | makeCastOperand (op1 as R.CONST const, ty) = case (const, ty) of (R.UINT32 n, R.Int8 R.U) => R.CONST (R.UINT8 (Word8.fromInt (Word32.toInt n))) | (R.UINT32 n, R.Int8 R.S) => R.CONST (R.INT8 (Word32.toInt n)) | (R.UINT32 n, R.Int16 R.U) => R.CONST (R.UINT16 (Word.fromInt (Word32.toInt n))) | (R.UINT32 n, R.Int16 R.S) => R.CONST (R.INT16 (Word32.toInt n)) | (R.UINT32 n, R.Int32 R.S) => R.CONST (R.INT32 (Int32.fromLarge (Word32.toLargeInt n))) | (R.UINT32 n, R.Int32 R.U) => op1 | (R.INT32 n, R.Int8 R.U) => R.CONST (R.UINT8 (Word8.fromInt (Int32.toInt n))) | (R.INT32 n, R.Int8 R.S) => R.CONST (R.INT8 (Int32.toInt n)) | (R.INT32 n, R.Int16 R.U) => R.CONST (R.UINT16 (Word.fromInt (Int32.toInt n))) | (R.INT32 n, R.Int16 R.S) => R.CONST (R.INT16 (Int32.toInt n)) | (R.INT32 n, R.Int32 R.U) => R.CONST (R.UINT32 (Word32.fromLargeInt (Int32.toLarge n))) | (R.INT32 n, R.Int32 R.S) => op1 | (R.UINT8 n, R.Int32 R.U) => R.CONST (R.UINT32 (Word32.fromInt (Word8.toInt n))) | (R.UINT8 n, R.Int32 R.S) => R.CONST (R.INT32 (Int32.fromInt (Word8.toInt n))) | (R.UINT8 n, R.Int16 R.U) => R.CONST (R.UINT16 (Word.fromInt (Word8.toInt n))) | (R.UINT8 n, R.Int16 R.S) => R.CONST (R.INT16 (Word8.toInt n)) | (R.UINT8 n, R.Int8 R.S) => R.CONST (R.INT8 (Word8.toInt n)) | (R.UINT8 n, R.Int8 R.U) => op1 | (R.INT8 n, R.Int32 R.U) => R.CONST (R.UINT32 (Word32.fromInt n)) | (R.INT8 n, R.Int32 R.S) => R.CONST (R.INT32 (Int32.fromInt n)) | (R.INT8 n, R.Int16 R.U) => R.CONST (R.UINT16 (Word.fromInt n)) | (R.INT8 n, R.Int16 R.S) => R.CONST (R.INT16 n) | (R.INT8 n, R.Int8 R.S) => op1 | (R.INT8 n, R.Int8 R.U) => R.CONST (R.UINT8 (Word8.fromInt n)) | (R.REAL64 s, R.Real32) => R.CONST (R.REAL32 s) | (R.REAL32 s, R.Real64) => R.CONST (R.REAL64 s) | _ => raise Control.Bug ("makeCast: CONST " ^ Control.prettyPrint (R.format_const const) ^ " " ^ Control.prettyPrint (R.format_ty ty)) fun makeCast (ADDR addr, R.Ptr ptrTy) = if RTLUtils.addrTy addr = ptrTy then ADDR addr else ADDR (R.ADDRCAST (ptrTy, addr)) | makeCast (ADDR addr, _) = raise Control.Bug "makeCast: ADDR" | makeCast (OPRD op1, ty) = OPRD (makeCastOperand (op1, ty)) fun promoteIntTy ty = case ty of (* extend under-32 bits variables to 32 bits. *) R.Int8 s => R.Int32 s | R.Int16 s => R.Int32 s | R.Int32 _ => ty | R.Ptr _ => ty | R.PtrDiff _ => ty | R.NoType => ty | R.Real32 => ty | R.Real64 => ty | R.Real80 => ty | R.Int64 _ => ty | R.Generic _ => ty fun promoteInt (code, op1) = case op1 of R.CONST (R.UINT8 n) => (code, R.CONST (R.UINT32 (Word32.fromInt (Word8.toIntX n)))) | R.CONST (R.UINT16 n) => (code, R.CONST (R.UINT32 (Word32.fromInt (Word.toIntX n)))) | R.CONST (R.INT8 n) => (code, R.CONST (R.INT32 (Int32.fromInt n))) | R.CONST (R.INT16 n) => (code, R.CONST (R.INT32 (Int32.fromInt n))) | R.CONST _ => (code, op1) | R.REF _ => ( case RTLUtils.operandTy op1 of R.Int8 s => let val v = newDst (R.Int32 s) in (insert (code, [R.EXT8TO32 (s, v, op1)]), R.REF_ v) end | R.Int16 s => let val v = newDst (R.Int32 s) in (insert (code, [R.EXT16TO32 (s, v, op1)]), R.REF_ v) end | _ => (code, op1) ) fun promoteIntDst dst = case RTLUtils.dstTy dst of R.Int8 s => let val v = newDst (R.Int32 s) in (fn code => insert (code, [R.DOWN32TO8 (s, dst, R.REF_ v)]), v) end | R.Int16 s => let val v = newDst (R.Int16 s) in (fn code => insert (code, [R.DOWN32TO16 (s, dst, R.REF_ v)]), v) end | _ => (fn code => code, dst) fun selectHandler handler = case handler of AI.NoHandler => R.NO_HANDLER | AI.StaticHandler label => R.HANDLER {outside=false, handlers=[label]} | AI.DynamicHandler {outside, handlers} => R.HANDLER {outside=outside, handlers=handlers} fun entrySymbol ent = R.SYMBOL (R.Code, R.LOCAL, entrySymbolName ent) fun dataSymbol (ptrTy, scope, symbol) = R.SYMBOL (ptrTy, scope, symbol) fun constSymbol id = R.SYMBOL (R.Data, R.LOCAL, constSymbolName id) local fun find (externSymbols, ptrTy, symbol) = case SEnv.find (externSymbols, symbol) of SOME x => x | NONE => {linkEntry = false, linkStub = false, ptrTy = ptrTy} in fun externSymbol (externSymbols, ptrTy, symbol) = let val v = find (externSymbols, ptrTy, symbol) val externSymbols = SEnv.insert (externSymbols, symbol, v) in (externSymbols, R.SYMBOL (ptrTy, R.GLOBAL, symbol)) end fun linkEntrySymbol (externSymbols, ptrTy, symbol) = let val {linkEntry, linkStub, ptrTy} = find (externSymbols, ptrTy, symbol) val v = {linkEntry=true, linkStub=linkStub, ptrTy=ptrTy} val externSymbols = SEnv.insert (externSymbols, symbol, v) in (externSymbols, R.LINK_ENTRY symbol) end fun linkStubSymbol (externSymbols, symbol) = let val {linkEntry, linkStub, ptrTy} = find (externSymbols, R.Code, symbol) val v = {linkEntry=linkEntry, linkStub=true, ptrTy=ptrTy} val externSymbols = SEnv.insert (externSymbols, symbol, v) in (externSymbols, R.LINK_STUB symbol) end fun externSymbolInCode (code as {externSymbols,...}:code, ptrTy, symbol) = updateExternSymbols (code, externSymbol (externSymbols, ptrTy, symbol)) fun linkEntrySymbolInCode (code as {externSymbols,...}:code, ptrTy, symbol) = updateExternSymbols (code, linkEntrySymbol (externSymbols, ptrTy, symbol)) fun linkStubSymbolInCode (code as {externSymbols,...}:code, symbol) = updateExternSymbols (code, linkStubSymbol (externSymbols, symbol)) end (* local *) fun globalOffsetBase (context:context) code = case #globalOffsetBase code of SOME (baseLabel, baseReg) => (code, baseLabel, baseReg) | NONE => let val baseLabel = case #positionIndependent (#options context) of NONE => raise Control.Bug "globalOffsetBase" | SOME ELF => R.ELF_GOT | SOME MachO => R.LABEL (VarID.generate ()) | SOME COFF => raise Control.Bug "globalOffsetBase: COFF" val baseReg = newVar (R.Ptr R.Code) val code = updateGlobalOffsetBase code (SOME (baseLabel, baseReg)) in (code, baseLabel, baseReg) end fun calcAddressByBase context code label = let val (code, baseLabel, baseReg) = globalOffsetBase context code val ptrTy = RTLUtils.labelPtrTy label in (code, R.ADDRCAST (ptrTy, R.DISP (R.SYMOFFSET {base=baseLabel, label=R.LABELCAST (R.Code, label)}, R.BASE baseReg))) end fun loadAddressOfSymbol context code (ptrTy, symbol) = let val (code, label) = linkEntrySymbolInCode (code, ptrTy, symbol) val (code, addr) = calcAddressByBase context code label val var = newVar (R.Ptr ptrTy) val code = insert (code, [R.MOVE (R.Ptr ptrTy, R.REG var, R.REF_ (R.MEM (R.Ptr ptrTy, R.ADDR addr)))]) in (code, R.BASE var) end fun absoluteAddr (context:context) (code, label) = case #positionIndependent (#options context) of NONE => (code, R.ABSADDR label) | SOME _ => let fun address label = case label of R.LABEL _ => calcAddressByBase context code label | R.SYMBOL (ptrTy, R.LOCAL, sym) => calcAddressByBase context code label | R.SYMBOL (ptrTy, R.GLOBAL, sym) => loadAddressOfSymbol context code (ptrTy, sym) | R.CURRENT_POSITION => raise Control.Bug "absoluteAddr: CURRENT_POSITION" | R.LINK_ENTRY _ => raise Control.Bug "absoluteAddr: LINK_ENTRY" | R.LINK_STUB _ => raise Control.Bug "absoluteAddr: LINK_STUB" | R.ELF_GOT => (code, R.ABSADDR label) | R.NULL _ => (code, R.ABSADDR label) | R.LABELCAST (ptrTy, l) => let val (code, addr) = address l in (code, R.ADDRCAST (ptrTy, addr)) end in address label end fun dstToValue (R.REG (var as {ty=R.Ptr _,...})) = ADDR (R.BASE var) | dstToValue dst = OPRD (R.REF_ dst) fun argInfoToValue arg = dstToValue (transformArgInfo arg) exception NotOperand exception NotAddr exception NotJump fun transformOperand value = case value of AI.UInt n => R.CONST (R.UINT32 n) | AI.SInt n => R.CONST (R.INT32 n) | AI.Byte n => R.CONST (R.UINT8 (Word8.fromInt (AI.Target.UIntToInt n))) | AI.Var var => let val dst = transformVarInfo var in case RTLUtils.dstTy dst of R.Ptr _ => raise NotOperand | _ => R.REF_ dst end | AI.Nowhere => raise NotOperand | AI.Null => raise NotOperand | AI.Empty => raise NotOperand | AI.Const id => raise NotOperand | AI.Init id => raise NotOperand | AI.Entry entry => raise NotOperand | AI.Global label => raise NotOperand | AI.Extern label => raise NotOperand | AI.Label label => raise NotOperand | AI.ExtFunLabel label => raise NotOperand fun transformAddr context code value = case value of AI.UInt n => raise NotAddr | AI.SInt n => raise NotAddr | AI.Byte n => raise NotAddr | AI.Var var => ( case transformVarInfo var of R.REG (v as {ty=R.Ptr _,...}) => (code, R.BASE v) | _ => raise NotAddr ) | AI.Nowhere => (code, R.ABSADDR (R.NULL R.Code)) | AI.Null => (code, R.ABSADDR (R.NULL R.Void)) | AI.Empty => (code, R.ABSADDR (R.NULL R.Data)) | AI.Const id => absoluteAddr context (code, dataSymbol (R.Data, R.LOCAL, constSymbolName id)) | AI.Init id => absoluteAddr context (code, dataSymbol (R.Void, R.LOCAL, constSymbolName id)) | AI.Entry entry => absoluteAddr context (code, entrySymbol entry) | AI.Global (label, ty) => ( case transformTy ty of R.Ptr ptrTy => absoluteAddr context (code, dataSymbol (ptrTy, R.GLOBAL, globalSymbolName (#options context) label)) | _ => raise Control.Bug "transformAddr: AI.Global: not a ptrTy" ) | AI.Extern (label, ty) => ( case transformTy ty of R.Ptr ptrTy => absoluteAddr context (externSymbolInCode (code, ptrTy, globalSymbolName (#options context) label)) | _ => raise Control.Bug "transformAddr: AI.Extern: not a ptrTy" ) | AI.Label label => absoluteAddr context (code, R.LABEL label) | AI.ExtFunLabel label => absoluteAddr context (externSymbolInCode (code, R.Code, globalSymbolName (#options context) label)) fun transformExtFunLabel (options:options) code label = case #positionIndependent options of NONE => externSymbolInCode (code, R.Code, globalSymbolName options label) | SOME _ => linkStubSymbolInCode (code, globalSymbolName options label) fun transformJumpTo (context:context) code value = case value of AI.UInt _ => raise NotJump | AI.SInt _ => raise NotJump | AI.Byte _ => raise NotJump | AI.Var var => ( case transformVarInfo var of R.REG (v as {ty=R.Ptr _,...}) => (code, R.BASE v) | _ => raise NotJump ) | AI.Nowhere => raise NotJump | AI.Null => raise NotJump | AI.Empty => raise NotJump | AI.Const id => raise NotJump | AI.Init id => raise NotJump | AI.Entry entry => (code, R.ABSADDR (entrySymbol entry)) | AI.Global _ => raise NotJump | AI.Extern _ => raise NotJump | AI.Label label => (code, R.ABSADDR (R.LABEL label)) | AI.ExtFunLabel label => let val (code, label) = transformExtFunLabel (#options context) code label in (code, R.ABSADDR label) end fun transformValue context code value = (code, OPRD (transformOperand value)) handle NotOperand => let val (code, addr) = transformAddr context code value in (code, ADDR addr) end fun transformValueList context code (value::values) = let val (code, value) = transformValue context code value val (code, values) = transformValueList context code values in (code, value::values) end | transformValueList context code nil = (code, nil) fun newVarList n = if n < 0 then raise Control.Bug "newVarList" else List.tabulate (n, fn _ => newVar R.NoType) local fun to8 (R.CONST (R.UINT32 n)) = R.CONST (R.UINT8 (Word8.fromInt (Word32.toInt n))) | to8 (R.CONST (R.INT32 n)) = R.CONST (R.INT8 (Int32.toInt n)) | to8 x = x fun to16 (R.CONST (R.UINT32 n)) = R.CONST (R.UINT16 (Word.fromInt (Word32.toInt n))) | to16 (R.CONST (R.INT32 n)) = R.CONST (R.INT16 (Int32.toInt n)) | to16 x = x fun copy code (ty, dst, op1) = insert (code, [R.COPY {ty=ty, dst=dst, src=op1, clobs=newVarList 1}]) in fun selectMove code (dst, value, size) = let val dstTy = RTLUtils.dstTy dst val srcTy = valueTy value val code = case (srcTy, dstTy, value, dst) of (R.Int8 _, R.Int8 _, OPRD op1, _) => insert (code, [R.MOVE (dstTy, dst, to8 op1)]) (* | (R.Int8 _, R.Int16 s, OPRD op1) => insert (code, [R.EXT8TO16 (s, dst, op1)]) *) | (R.Int8 _, R.Int32 s, OPRD op1, _) => insert (code, [R.EXT8TO32 (s, dst, makeCastOperand (op1, R.Int8 s))]) | (R.Int8 _, _, _, _) => raise Control.Bug "selectMove: Int8" (* | (R.Int16 _, R.Int8 s, _, OPRD op1) => insert (code, [R.DOWN16TO8 (s, dst, op1)]) *) | (R.Int16 _, R.Int16 _, OPRD op1, _) => insert (code, [R.MOVE (dstTy, dst, to16 op1)]) (* | (R.Int16 _, R.Int32 s, OPRD op1, _) => insert (code, [R.EXT16TO32 (s, dst, makeCastOperand (op1, R.Int16 s))]) *) | (R.Int16 _, _, _, _) => raise Control.Bug "selectMove: Int16" | (R.Int32 _, R.Int8 s, OPRD op1, _) => insert (code, [R.DOWN32TO8 (s, dst, op1)]) (* | (R.Int32 _, R.Int16 s, OPRD op1, _) => insert (code, [R.DOWN32TO16 (s, dst, op1)]) *) | (R.Int32 s1, R.Int32 s2, OPRD op1, _) => insert (code, [R.MOVE (dstTy, dst, op1)]) | (R.Int32 _, _, _, _) => raise Control.Bug "selectMove: Int32" | (R.Int64 _, _, _, _) => raise Control.Bug "selectMove: Int64" | (R.PtrDiff _, R.PtrDiff _, OPRD op1, _) => insert (code, [R.MOVE (dstTy, dst, op1)]) | (R.PtrDiff _, _, _, _) => raise Control.Bug "selectMove: PtrDiff" | (R.Ptr ptrTy, R.Ptr _, ADDR addr, _) => insert (code, [R.MOVEADDR (ptrTy, dst, addr)]) | (R.Ptr ptrTy, R.Ptr _, OPRD op1, _) => insert (code, [R.MOVE (dstTy, dst, op1)]) | (R.Ptr _, _, _, _) => raise Control.Bug "selectMove: Ptr" | (R.NoType, R.NoType, OPRD op1, _) => insert (code, [R.MOVE (dstTy, dst, op1)]) | (R.NoType, _, _, _) => raise Control.Bug "selectMove: NoType" | (R.Real32, R.Real32, OPRD op1, _) => insert (code, [R.MOVE (R.Real32, dst, op1)]) | (R.Real32, _, _, _) => raise Control.Bug "selectMove: Real32" | (R.Real64, R.Real64, OPRD op1, _) => copy code (dstTy, dst, op1) | (R.Real64, _, _, _) => raise Control.Bug "selectMove: Real64" | (R.Real80, R.Real80, OPRD op1, _) => copy code (dstTy, dst, op1) | (R.Real80, _, _, _) => raise Control.Bug "selectMove: Real80" (* load memory to slot *) | (R.Generic _, R.Generic _, OPRD (op1 as R.REF (_, R.MEM (_, R.ADDR addr))), R.MEM (_, R.SLOT slot)) => ( case size of SOME size => insert (code, [R.MLOAD {ty = dstTy, dst = slot, srcAddr = addr, (* esi *) size = size, (* ecx *) defs = newVarList 3, (* edi, esi, ecx *) clobs = nil}]) | NONE => if (case addr of R.PREFRAME _ => true | R.POSTFRAME _ => true | _ => false) then copy code (dstTy, dst, op1) else raise Control.Bug "selectMove: Generic load" ) | (R.Generic _, R.Generic _, OPRD (op1 as R.REF (_, R.MEM (_, R.SLOT slot))), R.MEM (_, R.ADDR addr)) => ( case size of SOME size => insert (code, [R.MSTORE {ty = dstTy, dstAddr = addr, (* edi *) src = slot, size = size, (* ecx *) global = true, defs = newVarList 3, (* edi, esi, ecx *) clobs = nil}]) | NONE => if (case addr of R.PREFRAME _ => true | R.POSTFRAME _ => true | _ => false) then copy code (dstTy, dst, op1) else raise Control.Bug "selectMove: Generic store" ) | (R.Generic _, R.Generic _, OPRD (op1 as R.REF (_, R.MEM (_, R.SLOT _))), R.MEM (_, R.SLOT _)) => copy code (dstTy, dst, op1) | (R.Generic _, _, _, _) => raise Control.Bug "selectMove: Generic" in code end end (* local *) fun selectMoveList code (dst::dsts, value::values, sizes) = let val (size, sizes) = case sizes of h::t => (h, t) | nil => (NONE, nil) val code = selectMove code (dst, value, size) in selectMoveList code (dsts, values, sizes) end | selectMoveList code (nil, nil, nil) = code | selectMoveList code _ = raise Control.Bug "selectMoveList" fun coerceToVar code value = case value of OPRD (R.REF (R.N, R.REG v)) => (code, v) | ADDR (R.BASE v) => (code, v) | _ => let val ty = valueTy value val v = newVar ty val code = selectMove code (R.REG v, value, NONE) in (code, v) end fun coerceToMem code (OPRD (R.REF (R.N, R.MEM (ty, mem)))) = (code, ty, mem) | coerceToMem code (OPRD (R.REF (R.CAST ty, R.MEM (_, mem)))) = (code, ty, mem) | coerceToMem code value = let val ty = valueTy value val mem = R.SLOT (newSlot (X86Emit.formatOf ty)) val code = selectMove code (R.MEM (ty, mem), value, NONE) in (code, ty, mem) end fun coerceDstToVar (R.REG v) = (fn code => code, v) | coerceDstToVar dst = let val ty = RTLUtils.dstTy dst val v = newVar ty in (fn code => selectMove code (dst, OPRD (R.REF_ (R.REG v)), NONE), v) end fun coerceDstToMem (R.MEM (ty, mem)) = (fn code => code, ty, mem) | coerceDstToMem dst = let val ty = RTLUtils.dstTy dst val mem = R.SLOT (newSlot (X86Emit.formatOf ty)) in (fn code => selectMove code (dst, OPRD (R.REF_ (R.MEM (ty, mem))), NONE), ty, mem) end (* * Structure of stack frame and calling convension: * * = ML functions * * addr * | : : * | +-=-=-=-=-=-=-=-+ post 0 <------ my %esp [align 16] * | | 1st arg | * | +---------------+ post 16 * | | ... | * | +---------------+ post 16(m-1) * | | Nth arg | * | +-=-=-=-=-=-=-=-+ post 16m <------ %esp after call [align 16] * | | 1st ret | * | +---------------+ post 16(m+1) * | | ... | * | +---------------+ post 16(m+n-1) * | | Mth ret | * | +---------------+ post 16(m+n) * | | | (space for arguments) * | +===============+ post 16(m+n+p) [align 16] * | | Frame | * | | | * | +---------------+ * | | headaddr | * | +===============+ pre 16(m+n+p)+8 <------ my %ebp [align 8] * | | prev ebp | * | +---------------+ pre 16(m+n+p)+4 * | | | (padding if needed) * | +---------------+ pre 16(m+n)+4 * | | return addr | * | +-=-=-=-=-=-=-=-+ pre 16(m+n) <------ caller's %esp [align 16] * | | 1st param | * | +---------------+ pre 16(m+n-1) * | | ... | * | +---------------+ pre 16(m+1) * | | Nth param | * | +-=-=-=-=-=-=-=-+ pre 16m <------ %esp after return [align 16] * | | 1st ret | * | +---------------+ pre 16(m-1) * | | ... | * | +---------------+ pre 16 * | | Mth ret | * | +---------------+ pre 0 * v : : *) local fun postFrameOffset (off, ty::tys) = R.MEM (promoteIntTy ty, R.ADDR (R.POSTFRAME {offset = off, size = genericSize ()})) :: postFrameOffset (off + genericSize (), tys) | postFrameOffset (off, nil) = nil fun preFrameOffset (off, ty::tys) = let val (off, addrs) = preFrameOffset (off, tys) in (off + genericSize (), R.MEM (promoteIntTy ty, R.ADDR (R.PREFRAME {offset = off + genericSize (), size = genericSize ()})) :: addrs) end | preFrameOffset (off, nil) = (off, nil) fun mlArgs (argTys:R.ty list, retTys:R.ty list) = postFrameOffset (0, argTys) fun mlRets (argTys:R.ty list, retTys:R.ty list) = postFrameOffset (length argTys * genericSize (), retTys) fun mlParams (argTys:R.ty list, retTys:R.ty list) = #2 (preFrameOffset (length retTys * genericSize (), argTys)) fun mlResults (argTys:R.ty list, retTys:R.ty list) = #2 (preFrameOffset (0, retTys)) in val mlParams = mlParams fun mlPreFrameSize (argTys:R.ty list, retTys:R.ty list) = genericSize () * (length retTys + length argTys) fun mlPreFrameRetSize (retTys:R.ty list) = genericSize () * length retTys fun mlPostFrameSize (argTys:R.ty list, retTys:R.ty list) = genericSize () * (length retTys + length argTys) fun adjustMLPostFrame (argTys, retTys) = genericSize () * length argTys fun setMLArgs code (argTys, retTys) (env, argValues) = let val code = selectMoveList code (mlArgs (argTys, retTys), argValues, nil) val (code, envVar) = coerceToVar code (OPRD (R.REF_ env)) val code = requirePostFrame (code, mlPostFrameSize (argTys, retTys)) in (code, [envVar]) end fun getMLRets (argTys, retTys) dsts = let val srcs = map (fn dst => OPRD (R.REF_ dst)) (mlRets (argTys, retTys)) in (fn code => let val code = requirePostFrame (code, mlPostFrameSize (argTys, retTys)) in selectMoveList code (dsts, srcs, nil) end, nil) end fun getMLArgs (argTys, retTys) (env, dsts) = let val (set, defs) = case env of NONE => (fn code => code, nil) | SOME v => let val (sets, v) = coerceDstToVar v in (sets, [v]) end val srcs = map (fn dst => OPRD (R.REF_ dst)) (mlParams (argTys, retTys)) in (fn code => let val code = requirePreFrame (code, mlPreFrameSize (argTys, retTys)) val code = selectMoveList code (dsts, srcs, nil) in set code end, defs) end fun setMLRets code (argTys, retTys) retValues = let val dsts = mlResults (argTys, retTys) val code = selectMoveList code (dsts, retValues, nil) val code = requirePreFrame (code, mlPreFrameSize (argTys, retTys)) in (code, nil) end fun setMLTailCallArgs code (argTys, retTys) (env, argValues) = let val dsts = mlParams (argTys, retTys) val code = selectMoveList code (dsts, argValues, nil) val code = requirePreFrame (code, mlPreFrameSize (argTys, retTys)) val (code, envVar) = coerceToVar code (OPRD (R.REF_ env)) in (code, [envVar]) end end (* local *) (* * = cdecl and stdcall * * addr * | : : * | +-=-=-=-=-=-=-=-+ post 0 <-------- my %esp [align 16] * | | 1st arg | * | +---------------+ post sz1 * | | ... | * | +---------------+ post sz1+...+sz(N-1) * | | Nth arg | * | +---------------+ post sz1+...+szN * | | pad | (space for arguments) * | | (if needed) | * | +===============+ post sz1+...+szN+p [align 16] * | | Frame | * | | | * | +---------------+ * | | headaddr | * | +===============+ pre sz1+...+szN+8+p <------ my %ebp [align 8] * | | prev ebp | * | +---------------+ pre sz1+...+szN+4+p [align 4] * | | | (for alignment; tail-call is not available for C) * | +---------------+ pre sz1+...+szN+4 * | | return addr | * | +-=-=-=-=-=-=-=-+ pre sz1+...+szN <------ caller's %esp * | | 1st param | * | +---------------+ pre sz2+...+sz(N-1) * | | ... | * | +---------------+ pre szN * | | Nth param | * | +---------------+ pre 0 * v : : *) local fun postFrameOffset (off, ty::tys) = let val ty = promoteIntTy ty val size = sizeof ty in R.MEM (ty, R.ADDR (R.POSTFRAME {offset = off, size = size})) :: postFrameOffset (off + size, tys) end | postFrameOffset (off, nil) = nil fun preFrameOffset base (off, ty::tys) = let val ty = promoteIntTy ty val size = sizeof ty val (off, addrs) = preFrameOffset base (off, tys) in (off + size, R.MEM (ty, R.ADDR (base {offset = off + size, size = size})) :: addrs) end | preFrameOffset base (off, nil) = (off, nil) fun cdeclArgs argTys = postFrameOffset (0, argTys) fun cdeclParams base argTys = #2 (preFrameOffset base (0, argTys)) fun cdeclPreFrameSize (argTys, retTys) = if length retTys <= 1 then foldl (fn (ty, z) => sizeof (promoteIntTy ty) + z) 0 argTys else raise Control.Bug "FIXME: cdeclPreFrameSize > 1" fun cdeclPostFrameSize (argTys, retTys) = if length retTys <= 1 then foldl (fn (ty, z) => sizeof (promoteIntTy ty) + z) 0 argTys else raise Control.Bug "FIXME: cdeclPreFrameSize > 1" in fun setCArgs code (NONE, argTys, retTys) argValues = setCArgs code (SOME Absyn.FFI_CDECL, argTys, retTys) argValues | setCArgs code (SOME Absyn.FFI_STDCALL, argTys, retTys) argValues = setCArgs code (SOME Absyn.FFI_CDECL, argTys, retTys) argValues | setCArgs code (SOME Absyn.FFI_CDECL, argTys, retTys) argValues = let val code = selectMoveList code (cdeclArgs argTys, argValues, nil) val code = requirePostFrame (code, cdeclPostFrameSize (argTys, retTys)) in (code, nil) end fun getCRets (NONE, argTys, retTys) dsts = getCRets (SOME Absyn.FFI_CDECL, argTys, retTys) dsts | getCRets (SOME Absyn.FFI_STDCALL, argTys, retTys) dsts = getCRets (SOME Absyn.FFI_CDECL, argTys, retTys) dsts | getCRets (SOME Absyn.FFI_CDECL, argTys, [retTy]) [dst] = ( case (promoteIntTy retTy, dst) of (R.Int8 _, _) => raise Control.Bug "getCRets: Int8" | (R.Int16 _, _) => raise Control.Bug "getCRets: Int16" | (R.Int32 _, R.REG var) => (fn code => code, [var]) | (R.Int32 _, _) => raise Control.Bug "getCRets: Int32" | (R.Int64 _, _) => raise Control.Bug "getCRets: Int64" | (R.Real32, R.MEM (_, mem)) => (fn code => insert (code, [R.X86 (R.X86FSTP (R.Real32, mem))]), nil) | (R.Real32, _) => raise Control.Bug "getCRets: Real32" | (R.Real64, R.MEM (_, mem)) => (fn code => insert (code, [R.X86 (R.X86FSTP (R.Real64, mem))]), nil) | (R.Real64, _) => raise Control.Bug "getCRets: Real64" | (R.Real80, R.MEM (_, mem)) => (fn code => insert (code, [R.X86 (R.X86FSTP (R.Real80, mem))]), nil) | (R.Real80, _) => raise Control.Bug "getCRets: Real80" | (R.Ptr _, R.REG var) => (fn code => code, [var]) | (R.Ptr _, _) => raise Control.Bug "getCRets: Ptr" | (R.PtrDiff _, _) => raise Control.Bug "getCRets: PtrDiff" | (R.Generic _, _) => raise Control.Bug "getCRets: Generic" | (R.NoType, _) => raise Control.Bug "getCRets: NoType" ) | getCRets (SOME Absyn.FFI_CDECL, argTys, nil) nil = (fn code => code, nil) | getCRets (SOME Absyn.FFI_CDECL, argTys, retTys) dsts = raise Control.Bug "getCRets: FIXME: multiple return values" fun adjustCPostFrame (NONE, argTys, retTys) = adjustCPostFrame (SOME Absyn.FFI_CDECL, argTys, retTys) | adjustCPostFrame (SOME Absyn.FFI_CDECL, argTys, retTys) = 0 | adjustCPostFrame (SOME Absyn.FFI_STDCALL, argTys, retTys) = cdeclPostFrameSize (argTys, retTys) fun getCArgs (NONE, argTys, retTys) base dsts = getCArgs (SOME Absyn.FFI_CDECL, argTys, retTys) base dsts | getCArgs (SOME Absyn.FFI_STDCALL, argTys, retTys) base dsts = getCArgs (SOME Absyn.FFI_CDECL, argTys, retTys) base dsts | getCArgs (SOME Absyn.FFI_CDECL, argTys, retTys) base dsts = if length retTys > 1 then raise Control.Bug "FIXME: # of retTys of getCArgs > 1" else let val baseFn = case base of NONE => R.PREFRAME | SOME baseVar => let val preFrameSize = cdeclPreFrameSize (argTys, retTys) in fn {offset, size} => R.DISP (R.INT32 (Int32.fromInt (preFrameSize + 8 - offset)), R.BASE baseVar) end val srcs = map (fn dst => OPRD (R.REF_ dst)) (cdeclParams baseFn argTys) in (fn code => selectMoveList code (dsts, srcs, nil), nil) end fun setCRets code (NONE, argTys, retTys) retValues = setCRets code (SOME Absyn.FFI_CDECL, argTys, retTys) retValues | setCRets code (SOME Absyn.FFI_STDCALL, argTys, retTys) retValues = setCRets code (SOME Absyn.FFI_CDECL, argTys, retTys) retValues | setCRets code (SOME Absyn.FFI_CDECL, argTys, [retTy]) [value] = let fun returnEAX () = let val (code, v) = coerceToVar code value in (code, [v]) end fun returnST0 ty = let val (code, _, mem) = coerceToMem code value val code = insert (code, [R.X86 (R.X86FLD (ty, mem))]) in (code, nil) end in case promoteIntTy retTy of R.Int8 _ => raise Control.Bug "setCRets: Int8" | R.Int16 _ => raise Control.Bug "setCRets: Int16" | R.Int32 _ => returnEAX () | R.Int64 _ => raise Control.Bug "setCRets: Int64" | R.Real32 => returnST0 R.Real32 | R.Real64 => returnST0 R.Real64 | R.Real80 => returnST0 R.Real80 | R.Ptr _ => returnEAX () | R.PtrDiff _ => raise Control.Bug "setCRets: PtrDiff" | R.Generic _ => raise Control.Bug "setCRets: Generic" | R.NoType => raise Control.Bug "setCRets: NoType" end | setCRets code (SOME Absyn.FFI_CDECL, argTys, nil) nil = (code, nil) | setCRets code (SOME Absyn.FFI_CDECL, argTys, retTys) retValues = raise Control.Bug "setCRets: FIXME: multiple return values" fun cPreFrameRetSize (aligned, NONE, argTys, retTys) = cPreFrameRetSize (aligned, SOME Absyn.FFI_CDECL, argTys, retTys) | cPreFrameRetSize (false, SOME Absyn.FFI_CDECL, argTys, retTys) = 0 | cPreFrameRetSize (true, SOME Absyn.FFI_CDECL, argTys, retTys) = cdeclPreFrameSize (argTys, retTys) | cPreFrameRetSize (aligned, SOME Absyn.FFI_STDCALL, argTys, retTys) = 0 fun cPreFrameSize (aligned, NONE, argTys, retTys) = cPreFrameSize (aligned, SOME Absyn.FFI_CDECL, argTys, retTys) | cPreFrameSize (false, SOME Absyn.FFI_CDECL, argTys, retTys) = 0 | cPreFrameSize (true, SOME Absyn.FFI_CDECL, argTys, retTys) = cdeclPreFrameSize (argTys, retTys) | cPreFrameSize (false, SOME Absyn.FFI_STDCALL, argTys, retTys) = 0 | cPreFrameSize (true, SOME Absyn.FFI_STDCALL, argTys, retTys) = cdeclPreFrameSize (argTys, retTys) end (* local *) fun selectAddr context code (block, offset) = let val (code, block) = transformAddr context code block val offset= transformOperand offset fun add (block, R.CONST (R.UINT32 0w0)) = block | add (block, R.CONST const) = R.DISP (const, block) | add (R.ABSADDR label, R.REF (R.N, R.REG var)) = R.ABSINDEX {base=label, scale=1, index=var} | add (R.DISP (c, addr), op1) = R.DISP (c, add (addr, op1)) | add (R.BASE base, R.REF (R.N, R.REG index)) = R.BASEINDEX {base=base, index=index, scale=1} | add _ = raise Control.Bug "selectAddr" in (code, block, add (block, offset)) end fun selectCall (context:context) code {callTo, retRegs, argRegs, needStabilize, returnTo, postFrameAdjust} = let val defs = retRegs @ newVarList (3 - length retRegs) fun call l = R.CALL {callTo = callTo, returnTo = l, handler = #handler context, defs = defs, (* precolor: eax, edx, ecx *) uses = argRegs, (* precolor: eax, edx, ecx *) needStabilize = needStabilize, postFrameAdjust = postFrameAdjust} in case returnTo of NONE => insertLastBefore (code, call) | SOME l => let val focus = RTLEdit.insertLast (#focus code, call l) val code = updateFocus code focus in focusFirst (code, l) end end fun selectPrimCall context code {callTo, retRegs, argRegs, needStabilize, returnTo} = let val (code, callTo) = transformJumpTo context code (AI.ExtFunLabel callTo) in selectCall context code {callTo = callTo, retRegs = retRegs, argRegs = argRegs, needStabilize = needStabilize, returnTo = returnTo, postFrameAdjust = 0} end fun pushHandler context code handlerLabel loc = let val (code, handlerAddr) = absoluteAddr context (code, R.LABEL handlerLabel) val (code, v) = coerceToVar code (ADDR handlerAddr) val (code, slot) = handlerSlot (code, handlerLabel) val v = newVar (R.Ptr R.Void) fun handlerInfo ptrTy disp = R.MEM (R.Ptr ptrTy, R.ADDR (R.DISP (R.INT32 disp, R.BASE v))) val code = insert (code, [R.REQUEST_SLOT slot, R.MOVEADDR (R.Void, R.REG v, R.WORKFRAME slot), R.MOVEADDR (R.Code, handlerInfo R.Code 4, handlerAddr), R.LOAD_SP (handlerInfo R.Void 8), R.LOAD_FP (handlerInfo R.Void 12)]) in selectPrimCall context code {callTo = "sml_push_handler", retRegs = nil, argRegs = [v], needStabilize = false, returnTo = NONE} end fun popHandler context code handlerLabel loc = let val code = selectPrimCall context code {callTo = "sml_pop_handler", argRegs = nil, retRegs = nil, needStabilize = false, returnTo = NONE} val (code, slot) = handlerSlot (code, handlerLabel) in insert (code, [R.REQUIRE_SLOT slot]) end fun selectRaise (context:context) code exnVar infoVar = let (* If both try and catch clause of a handle expression * end with raise, REQUIRE_SLOT for the handler slot * never emitted due to dead code elimination. * To avoid this, not only popHandler but also selectRaise * inserts REQUIRE_SLOT. *) val code = case #handler context of R.NO_HANDLER => code | R.HANDLER {handlers,...} => foldl (fn (label, code) => let val (code, slot) = handlerSlot (code, label) in insert (code, [R.REQUIRE_SLOT slot]) end) code handlers fun handlerInfo ptrTy disp = R.MEM (R.Ptr ptrTy, R.ADDR (R.DISP (R.INT32 disp, R.BASE infoVar))) val v2 = newVar (R.Ptr R.Code) val code = insert (code, [R.MOVE (R.Ptr R.Code, R.REG v2, R.REF_ (handlerInfo R.Code 4))]) in insertLast (code, R.UNWIND_JUMP {jumpTo = R.BASE v2, sp = R.REF_ (handlerInfo R.Void 8), fp = R.REF_ (handlerInfo R.Void 12), uses = [exnVar], (* precolor: eax *) handler = #handler context}) end fun startThread context code = let val fp = newVar (R.Ptr R.Void) val code = insert (code, [R.LOAD_FP (R.REG fp)]) val code = selectPrimCall context code {callTo = "sml_control_start", retRegs = [], argRegs = [fp], needStabilize = false, returnTo = NONE} in code end fun saveFramePointer context code = let val v = newVar (R.Ptr R.Void) val code = insert (code, [R.LOAD_FP (R.REG v)]) in selectPrimCall context code {callTo = "sml_save_frame_pointer", retRegs = nil, argRegs = [v], needStabilize = false, returnTo = NONE} end fun checkGC context code = if !Control.insertCheckGC then let val addr = AI.Extern ("sml_check_gc_flag", AI.CPOINTER) val (code, addr) = transformAddr context code addr val (code, endLabel) = makeLabelAfter code val test = R.TEST_SUB (R.Int32 R.U, R.REF_ (R.MEM (R.Int32 R.U, R.ADDR addr)), R.CONST (R.UINT32 0w0)) val code = insertLastBefore (code, fn l => R.CJUMP {test = test, cc = R.EQUAL, thenLabel = endLabel, elseLabel = l}) val fp = newVar (R.Ptr R.Void) val code = insert (code, [R.LOAD_FP (R.REG fp)]) val code = selectPrimCall context code {callTo = "sml_check_gc", retRegs = nil, argRegs = [fp], needStabilize = true, returnTo = SOME endLabel} in code end else code local fun opInsn (insn, oper) code (R.CONST (R.UINT32 x), R.CONST (R.UINT32 y)) = (code, R.CONST (R.UINT32 (oper (x, y)))) | opInsn (insn, oper) code (op1, op2) = let val v = newDst (R.Int32 R.U) val code = insert (code, [insn (R.Int32 R.U, v, op1, op2)]) in (code, R.REF_ v) end fun lshift (x,y) = x << Word.fromInt (Word32.toIntX y) fun addInsn code x = opInsn (R.ADD, Word32.+) code x fun orInsn code x = opInsn (R.OR, Word32.orb) code x fun andInsn code x = opInsn (R.AND, Word32.andb) code x fun lshiftInsn code x = opInsn (R.LSHIFT, lshift) code x in fun selectAlloc allocFunc context code (dst, objectType, bitmaps, payloadSize) = let val wordSize = Word32.fromInt (sizeof (R.Int32 R.U)) val dstVar = case dst of R.REG v => v | _ => raise Control.Bug "selectAlloc" val {objType, bittag, bitmaps, bitmapSize} = case (objectType, bitmaps) of (AI.Array, [bitmap]) => {objType = R.UINT32 HEAD_TYPE_ARRAY, bittag = bitmap, bitmaps = nil, bitmapSize = R.UINT32 0w0} | (AI.Array, _) => raise Control.Bug "selectAlloc: Array" | (AI.Vector, [bitmap]) => {objType = R.UINT32 HEAD_TYPE_VECTOR, bittag = bitmap, bitmaps = nil, bitmapSize = R.UINT32 0w0} | (AI.Vector, _) => raise Control.Bug "selectAlloc: Vector" | (AI.Record _, _) => {objType = R.UINT32 HEAD_TYPE_RECORD, bittag = R.CONST (R.UINT32 0w0), bitmaps = bitmaps, bitmapSize = R.UINT32 (wordSize * Word32.fromInt (length bitmaps))} val (code, bitmapOffset, allocSize) = case bitmapSize of R.UINT32 0w0 => (code, payloadSize, payloadSize) | _ => let (* align payload size in word *) val (code, bitmapOffset) = addInsn code (payloadSize, R.CONST (R.UINT32 0w3)) val (code, bitmapOffset) = andInsn code (bitmapOffset, R.CONST (R.UINT32 (Word32.notb 0w3))) val (code, allocSize) = addInsn code (bitmapOffset, R.CONST bitmapSize) in (code, bitmapOffset, allocSize) end (* alloc object *) val (code, allocSizeVar) = coerceToVar code (OPRD allocSize) val code = allocFunc (context, code, allocSizeVar, dstVar) (* store header *) val (code, header) = lshiftInsn code (bittag, R.CONST (R.UINT32 HEAD_BITTAG_SHIFT)) val (code, header) = orInsn code (header, R.CONST objType) val (code, header) = orInsn code (header, payloadSize) val headerAddr = R.DISP (R.INT32 ~4, R.BASE dstVar) val code = insert (code, [R.MOVE (R.Int32 R.U, R.MEM (R.Int32 R.U, R.ADDR headerAddr), header)]) (* store bitmaps *) val bitmapAddr = case bitmapOffset of R.CONST c => R.DISP (c, R.BASE dstVar) | R.REF (R.N, R.REG v) => R.BASEINDEX {base=dstVar, index=v, scale=1} | R.REF _ => raise Control.Bug "selectAlloc: bitmapAddr REF" fun disp (R.UINT32 0w0, addr) = addr | disp (off, addr) = R.DISP (off, addr) fun storeBitmap code (off, bitmap::bitmaps) = storeBitmap (selectMove code (R.MEM (R.Int32 R.U, R.ADDR (disp (R.UINT32 off, bitmapAddr))), OPRD bitmap, NONE)) (off + wordSize, bitmaps) | storeBitmap code (off, nil) = code val code = storeBitmap code (0w0, bitmaps) in { code = code, header = header, bitmapOffset = bitmapOffset, bitmaps = bitmaps, allocSize = allocSize } end fun callAlloc (context, code, sizeVar, dstVar) = let val fp = newVar (R.Ptr R.Void) val code = insert (code, [R.LOAD_FP (R.REG fp)]) val code = selectPrimCall context code {callTo = "sml_alloc", retRegs = [dstVar], argRegs = [sizeVar, fp], needStabilize = true, returnTo = NONE} in code end fun callAllocCallback codeAddrVar envVar (context, code, sizeVar, dstVar) = let val code = saveFramePointer context code val code = selectPrimCall context code {callTo = "sml_alloc_callback", retRegs = [dstVar], argRegs = [sizeVar, codeAddrVar, envVar], needStabilize = true, returnTo = NONE} in code end end (* local *) local fun cmpFloat code (oper, value1, value2) = let val (code, ty1, mem1) = coerceToMem code value1 val (code, ty2, mem2) = coerceToMem code value2 (* * v1 > v2 --> st(0)=v1, st(1)=v2, st(0) > st(1) * v1 >= v2 --> st(0)=v1, st(1)=v2, st(0) >= st(1) * v1 = v2 --> st(0)=v1, st(1)=v2, st(0) = st(1) * v1 < v2 == v2 > v1 --> st(0)=v2, st(1)=v1, st(0) > st(1) * v1 <= v2 == v2 >= v1 --> st(0)=v2, st(1)=v1, st(0) >= st(1) * * C3:14 C2:10 C0:8 * st0 > src 0 0 0 * st0 < src 0 0 1 * st0 = src 1 0 0 * unordered 1 1 1 * * > : hi & 0b01000101 == 0 * >= : hi & 0b00000101 == 0 * == : hi & 0b01000101 == 0b01000000 * ?= : hi & 0b01000000 == 0 *) val clob = newVar (R.Int16 R.U) (* ax *) val (cmp, st0, st1) = case oper of AI.Gt => (R.X86FSW_TESTH {clob=clob, mask=R.UINT8 0wx45}, (ty1, mem1), (ty2, mem2)) | AI.Gteq => (R.X86FSW_TESTH {clob=clob, mask=R.UINT8 0wx5}, (ty1, mem1), (ty2, mem2)) | AI.Lt => (R.X86FSW_TESTH {clob=clob, mask=R.UINT8 0wx45}, (ty2, mem2), (ty1, mem1)) | AI.Lteq => (R.X86FSW_TESTH {clob=clob, mask=R.UINT8 0wx5}, (ty2, mem2), (ty1, mem1)) | AI.MonoEqual => (R.X86FSW_MASKCMPH {clob=clob, mask=R.UINT8 0wx45, compare=R.UINT8 0wx40}, (ty1, mem1), (ty2, mem2)) | AI.UnorderedOrEqual => (R.X86FSW_TESTH {clob=clob, mask=R.UINT8 0wx40}, (ty1, mem1), (ty2, mem2)) | _ => raise Control.Bug "selectCompare: cmpFloat" val code = insert (code, [R.X86 (R.X86FLD st1), R.X86 (R.X86FLD st0), R.X86 R.X86FUCOMPP]) in (code, R.X86 cmp, R.EQUAL) end in fun selectCompare code (operator, ty1, ty2, _) (arg1, arg2) = let val ty1 = valueTy arg1 val ty2 = valueTy arg2 in case (operator, promoteIntTy ty1, promoteIntTy ty2, arg1, arg2) of (AI.Gt, R.Int32 R.S, R.Int32 R.S, OPRD op1, OPRD op2) => (code, R.TEST_SUB (ty1, op1, op2), R.GREATER) | (AI.Lt, R.Int32 R.S, R.Int32 R.S, OPRD op1, OPRD op2) => (code, R.TEST_SUB (ty1, op1, op2), R.LESS) | (AI.Gteq, R.Int32 R.S, R.Int32 R.S, OPRD op1, OPRD op2) => (code, R.TEST_SUB (ty1, op1, op2), R.GREATEREQUAL) | (AI.Lteq, R.Int32 R.S, R.Int32 R.S, OPRD op1, OPRD op2) => (code, R.TEST_SUB (ty1, op1, op2), R.LESSEQUAL) | (AI.Gt, R.Int32 R.U, R.Int32 R.U, OPRD op1, OPRD op2) => (code, R.TEST_SUB (ty1, op1, op2), R.ABOVE) | (AI.Lt, R.Int32 R.U, R.Int32 R.U, OPRD op1, OPRD op2) => (code, R.TEST_SUB (ty1, op1, op2), R.BELOW) | (AI.Gteq, R.Int32 R.U, R.Int32 R.U, OPRD op1, OPRD op2) => (code, R.TEST_SUB (ty1, op1, op2), R.ABOVEEQUAL) | (AI.Lteq, R.Int32 R.U, R.Int32 R.U, OPRD op1, OPRD op2) => (code, R.TEST_SUB (ty1, op1, op2), R.BELOWEQUAL) | (AI.MonoEqual, R.Int32 _, R.Int32 _, OPRD op1, OPRD op2) => (code, R.TEST_SUB (ty1, op1, op2), R.EQUAL) | (oper, R.Real32, R.Real32, _, _) => cmpFloat code (oper, arg1, arg2) | (oper, R.Real64, R.Real64, _, _) => cmpFloat code (oper, arg1, arg2) | (oper, R.Real80, R.Real80, _, _) => cmpFloat code (oper, arg1, arg2) | (AI.MonoEqual, R.Ptr ptrTy, R.Ptr _, ADDR a1, ADDR a2) => ( case (a1, a2) of (R.BASE v1, R.BASE v2) => (code, R.TEST_SUB (ty1, R.REF_ (R.REG v1), R.REF_ (R.REG v2)), R.EQUAL) | (R.BASE v1, R.ABSADDR l) => (code, R.TEST_LABEL (ptrTy, R.REF_ (R.REG v1), l), R.EQUAL) | _ => let val (code, v1) = coerceToVar code arg1 val (code, v2) = coerceToVar code arg2 in (code, R.TEST_SUB (ty1, R.REF_ (R.REG v1), R.REF_ (R.REG v2)), R.EQUAL) end ) | (op2, ty1, ty2, _, _) => raise Control.Bug ("selectCompare: " ^ Control.prettyPrint (AI.format_op2 (R.format_ty ty1, R.format_ty ty2) op2)) end end (* local *) fun insertWithHandle (context:context) code insn = case #handler context of R.NO_HANDLER => insert (code, [insn]) | h as R.HANDLER _ => insertLastBefore (code, fn l => R.HANDLE (insn, {nextLabel = l, handler = h})) fun quotremUInt context code (ddiv, dmod, op1, op2) = let val (code, hi) = coerceToVar code (OPRD (R.CONST (R.UINT32 0w0))) val (code, lo) = coerceToVar code (OPRD op1) val arg1 = R.COUPLE (R.Int64 R.U, {hi=R.REG hi, lo=R.REG lo}) in insertWithHandle context code (R.DIVMOD ({div=(R.Int32 R.U, ddiv), mod=(R.Int32 R.U, dmod)}, (R.Int64 R.U, R.REF_ arg1), (R.Int32 R.U, op2))) end fun quotrem context code (ddiv, dmod, op1, op2) = let val hi = newDst R.NoType val lo = newDst R.NoType val arg1 = R.COUPLE (R.Int64 R.S, {hi=hi, lo=lo}) val code = insert (code, [R.EXT32TO64 (R.S, arg1, op1)]) in insertWithHandle context code (R.DIVMOD ({div=(R.Int32 R.S, ddiv), mod=(R.Int32 R.S, dmod)}, (R.Int64 R.S, R.REF_ arg1), (R.Int32 R.S, op2))) end fun divmod context code (ddiv, dmod, op1, op2) = (* * rounding is towards negative infinity. * * arg1 / arg2 = q ... r * q' = q + ((q < 0 && r != 0) ? -1 : 0) * r' = r + ((q < 0 && r != 0) ? arg2 : 0) * * ((q < 0 && r != 0) ? -1 : 0) * = neg ((q < 0) | (r != 0)) * ((q < 0 && r != 0) ? arg2 : 0) * = neg ((q < 0) | (r != 0)) & arg2 * * movl arg1, %eax * cltd * idivl arg2 * testl %eax, %eax * setns tmp1 ; q >= 0 * testl %edx, %edx * sete tmp2 ; r == 0 * orb tmp1, tmp2 * movzbl tmp2, cond ; (q >= 0 || r == 0) == ~(q < 0 && r != 0) * subl $1, cond ; n = if cond then 0 else -1 * addl cond, %eax ; q = q + n * andl arg2, cond ; m = if n == 0 then 0 else arg2 * addl cond, %edx ; r = r + m *) let val q = newDst (R.Int32 R.S) val r = newDst (R.Int32 R.S) val notminus = newDst (R.Int8 R.U) val divisible = newDst (R.Int8 R.U) val cond = newDst (R.Int8 R.U) val cond32 = newDst (R.Int32 R.U) val roundq = newDst (R.Int32 R.U) val roundr = newDst (R.Int32 R.S) val code = quotrem context code (q, r, op1, op2) in insert (code, [ R.SET (R.NOTSIGN, R.Int8 R.U, notminus, {test = R.TEST_AND (R.Int32 R.S, R.REF_ q, R.REF_ q)}), R.SET (R.EQUAL, R.Int8 R.U, divisible, {test = R.TEST_AND (R.Int32 R.S, R.REF_ r, R.REF_ r)}), R.OR (R.Int8 R.U, cond, R.REF_ notminus, R.REF_ divisible), R.EXT8TO32 (R.U, cond32, R.REF_ cond), R.SUB (R.Int32 R.U, roundq, R.REF_ cond32, R.CONST (R.UINT32 0w1)), R.ADD (R.Int32 R.S, ddiv, R.REF_ q, R.REF (R.CAST (R.Int32 R.S), roundq)), R.AND (R.Int32 R.S, roundr, R.REF (R.CAST (R.Int32 R.S), roundq), op2), R.ADD (R.Int32 R.S, dmod, R.REF_ r, R.REF_ roundr) ]) end fun shiftInsn code (con, ty, dst, op1, op2 as R.CONST (R.UINT32 c)) = if c < 0w32 then insert (code, [con (ty, dst, op1, op2)]) else insert (code, [R.MOVE (ty, dst, R.CONST (R.UINT32 0w0))]) | shiftInsn code (con, ty, dst, op1, op2) = let (* * dst = (op2 < 32) ? 0 : (op1 >> op2); * * cond = (op2 >= 32) - 1; // cond = if (op2 < 32) then -1 else 0 * dst = op1 >> op2; * dst = dst & cond; *) val limit = R.CONST (R.UINT32 (Word32.fromInt (sizeof ty * BYTE_BITS))) val cond = newDst (R.Int8 R.U) val cond32 = newDst ty val ext = case ty of R.Int8 R.U => (fn (s,d,o1) => R.MOVE (R.Int8 s, d, o1)) | R.Int32 R.U => R.EXT8TO32 | _ => raise Control.Bug "shiftInsn" val mask = newDst ty val tmp = newDst ty in insert (code, [R.SET (R.ABOVEEQUAL, R.Int8 R.U, cond, {test=R.TEST_SUB (R.Int32 R.U, op2, limit)}), ext (R.U, cond32, R.REF_ cond), R.SUB (ty, mask, R.REF_ cond32, R.CONST (R.UINT32 0w1)), con (ty, tmp, op1, op2), R.AND (ty, dst, R.REF_ tmp, R.REF_ mask)]) end fun selectInsn context code insn = case insn of AI.Move {dst, ty, value, loc} => let val dst = transformVarInfo dst val (code, value) = transformValue context code value val code = selectMove code (dst, value, NONE) in code end | AI.Load {dst, ty, block, offset, size, loc} => let val srcTy = transformTy ty val dst = transformVarInfo dst val (code, block, addr) = selectAddr context code (block, offset) val value = OPRD (R.REF_ (R.MEM (srcTy, R.ADDR addr))) val size = transformOperand size val code = selectMove code (dst, value, SOME size) in code end | AI.Update {block, offset, ty, size, value, barrier, loc} => let val dstTy = transformTy ty val (code, block, addr) = selectAddr context code (block, offset) val (code, value) = transformValue context code value val size = transformOperand size fun update code = selectMove code (R.MEM (dstTy, R.ADDR addr), value, SOME size) fun updateWithBarrier (code, valueVar) returnTo = let val (code, v1) = coerceToVar code (ADDR block) val (code, v2) = coerceToVar code (ADDR addr) in selectPrimCall context code {callTo = "sml_write", retRegs = nil, argRegs = [v1, v2, valueVar], needStabilize = false, returnTo = returnTo} end in case barrier of AI.NoBarrier => update code | AI.WriteBarrier => updateWithBarrier (coerceToVar code value) NONE | AI.GlobalWriteBarrier => updateWithBarrier (coerceToVar code value) NONE | AI.BarrierTag tag => let val tag = transformOperand tag val test = R.TEST_AND (R.Int32 R.U, tag, tag) val (code, endLabel) = makeLabelAfter code val (code, noBarrierLabel) = makeLabelAfter code val code = insertLastBefore (code, fn l => R.CJUMP {test = test, cc = R.EQUAL, thenLabel = noBarrierLabel, elseLabel = l}) val (code, _, mem) = coerceToMem code value val var = newVar (R.Ptr R.Void) val code = insert (code, [R.MOVE (R.Ptr R.Void, R.REG var, R.REF_ (R.MEM (R.Ptr R.Void, mem)))]) val code = updateWithBarrier (code, var) (SOME endLabel) val code = focusFirst (code, noBarrierLabel) val code = update code val code = focusFirst (code, endLabel) in code end end | AI.Get {dst, ty, src, loc} => let val ty = transformTy ty val dst = transformVarInfo dst val var = transformArgInfo src in selectMove code (dst, OPRD (R.REF_ var), NONE) end | AI.Set {dst, ty, value, loc} => let val dst = transformArgInfo dst val (code, op1) = transformValue context code value in selectMove code (dst, op1, NONE) end | AI.Alloc {dst, objectType, bitmaps, payloadSize, loc} => let val dst = transformVarInfo dst val payloadSize = transformOperand payloadSize in if (case objectType of AI.Vector => true | AI.Record _ => true | AI.Array => false) andalso payloadSize = R.CONST (R.UINT32 0w0) then let val (sets, dst) = coerceDstToVar dst val code = selectPrimCall context code {callTo = "sml_obj_empty", retRegs = [dst], argRegs = nil, needStabilize = false, returnTo = NONE} in sets code end else let val bitmaps = map transformOperand bitmaps in #code (selectAlloc callAlloc context code (dst, objectType, bitmaps, payloadSize)) end end | AI.PrimOp1 {dst, op1=oper as (operator,ty1,ty2), arg, loc} => let val dst = transformVarInfo dst val (code, arg) = transformValue context code arg val dstTy = RTLUtils.dstTy dst val ty1 = valueTy arg fun float (dst, op1, insns) = let val (code, srcTy, src) = coerceToMem code op1 val (save, dstTy, dst) = coerceDstToMem dst val code = insert (code, [R.X86 (R.X86FLD (srcTy, src))]) val code = insert (code, insns) val code = insert (code, [R.X86 (R.X86FSTP (dstTy, dst))]) in save code end fun negReal (dst, op1) = float (dst, op1, [R.X86 R.X86FCHS]) fun absReal (dst, op1) = float (dst, op1, [R.X86 R.X86FABS]) fun castReal (dst, op1) = float (dst, op1, nil) fun intToReal (dst, op1) = float (dst, op1, nil) fun realToInt (dst, op1) = let val (sets, dst) = promoteIntDst dst val (code, op1) = promoteInt (code, op1) val (code, srcTy, src) = coerceToMem code (OPRD op1) val (save, dstTy, dst) = coerceDstToMem dst val fcw1 = R.SLOT (newSlot (X86Emit.formatOf (R.Int16 R.U))) val fcw2 = R.SLOT (newSlot (X86Emit.formatOf (R.Int16 R.U))) val rcw = newVar (R.Int16 R.U) val code = insert (code, [ R.X86 (R.X86FLD (srcTy, src)), R.X86 R.X86FWAIT, R.X86 R.X86FNCLEX, R.X86 (R.X86FNSTCW fcw1), (* bit 10:11 (rounding control) = truncate to zero *) R.OR (R.Int16 R.U, R.REG rcw, R.REF_ (R.MEM (R.Int16 R.U, fcw1)), R.CONST (R.UINT16 0wxc00)), (* (* bit 0 (invalid exception mask) = unmasked *) R.AND (R.Int16 R.U, R.REG rcw, R.REF_ (R.REG rcw), R.CONST (R.UINT32 0xfffffffe)), *) R.MOVE (R.Int16 R.U, R.MEM (R.Int16 R.U, fcw2), R.REF_ (R.REG rcw)), R.X86 (R.X86FLDCW fcw2), R.X86 (R.X86FSTP (dstTy, dst)), R.X86 (R.X86FNSTCW fcw1) ]) in sets (save code) end fun abs (ty, dst, op1) = let (* abs(x) = (x + (x >> 31)) ^ (x >> 31) *) val shift = Word32.fromInt (sizeof ty * BYTE_BITS - 1) val y = newDst ty val z = newDst ty in insert (code, [R.ARSHIFT (ty, y, op1, R.CONST (R.UINT32 shift)), R.ADD (ty, z, R.REF_ y, op1), R.XOR (ty, dst, R.REF_ y, R.REF_ z)]) end val code = case (operator, dstTy, ty1, arg) of (AI.Notb, R.Int8 _, R.Int8 _, OPRD op1) => insert (code, [R.NOT (dstTy, dst, op1)]) | (AI.Notb, R.Int16 _, R.Int16 _, OPRD op1) => insert (code, [R.NOT (dstTy, dst, op1)]) | (AI.Notb, R.Int32 _, R.Int32 _, OPRD op1) => insert (code, [R.NOT (dstTy, dst, op1)]) | (AI.Neg, R.Int8 _, R.Int8 _, OPRD op1) => insert (code, [R.NEG (dstTy, dst, op1)]) | (AI.Neg, R.Int16 _, R.Int16 _, OPRD op1) => insert (code, [R.NEG (dstTy, dst, op1)]) | (AI.Neg, R.Int32 _, R.Int32 _, OPRD op1) => insert (code, [R.NEG (dstTy, dst, op1)]) | (AI.Neg, R.Real32, R.Real32, op1) => negReal (dst, op1) | (AI.Neg, R.Real64, R.Real64, op1) => negReal (dst, op1) | (AI.Neg, R.Real80, R.Real80, op1) => negReal (dst, op1) | (AI.Abs, R.Int8 _, R.Int8 _, OPRD op1) => abs (dstTy, dst, op1) | (AI.Abs, R.Int16 _, R.Int16 _, OPRD op1) => abs (dstTy, dst, op1) | (AI.Abs, R.Int32 _, R.Int32 _, OPRD op1) => abs (dstTy, dst, op1) | (AI.Abs, R.Real32, R.Real32, op1) => absReal (dst, op1) | (AI.Abs, R.Real64, R.Real64, op1) => absReal (dst, op1) | (AI.Abs, R.Real80, R.Real80, op1) => absReal (dst, op1) | (AI.Cast, R.Real32, R.Int32 R.S, op1) => intToReal (dst, op1) | (AI.Cast, R.Real64, R.Int32 R.S, op1) => intToReal (dst, op1) | (AI.Cast, R.Real80, R.Int32 R.S, op1) => intToReal (dst, op1) | (AI.Cast, R.Int32 R.S, R.Real32, OPRD op1) => realToInt (dst, op1) | (AI.Cast, R.Int32 R.S, R.Real64, OPRD op1) => realToInt (dst, op1) | (AI.Cast, R.Int32 R.S, R.Real80, OPRD op1) => realToInt (dst, op1) | (AI.Cast, R.Real32, R.Real64, op1) => castReal (dst, op1) | (AI.Cast, R.Real32, R.Real80, op1) => castReal (dst, op1) | (AI.Cast, R.Real64, R.Real32, op1) => castReal (dst, op1) | (AI.Cast, R.Real64, R.Real80, op1) => castReal (dst, op1) | (AI.Cast, R.Real80, R.Real32, op1) => castReal (dst, op1) | (AI.Cast, R.Real80, R.Real64, op1) => castReal (dst, op1) | (AI.Cast, R.Int32 R.S, R.Int32 R.U, OPRD op1) => selectMove code (dst, makeCast (arg, dstTy), NONE) | (AI.Cast, R.Int32 R.U, R.Int32 R.S, OPRD op1) => selectMove code (dst, makeCast (arg, dstTy), NONE) | (AI.Cast, R.Int8 s, R.Int32 _, OPRD op1) => insert (code, [R.DOWN32TO8 (s, dst, makeCastOperand (op1, R.Int32 s))]) | (AI.ZeroExt, R.Int32 _, R.Int8 _, OPRD op1) => let val v = newVar (R.Int32 R.U) val op1 = makeCastOperand (op1, R.Int8 R.U) in insert (code, [R.EXT8TO32 (R.U, R.REG v, op1), R.MOVE (dstTy, dst, R.REF (R.CAST dstTy, R.REG v))]) end | (AI.SignExt, R.Int32 s, R.Int8 _, OPRD op1) => let val v = newVar (R.Int32 R.S) val op1 = makeCastOperand (op1, R.Int8 R.S) in insert (code, [R.EXT8TO32 (R.S, R.REG v, op1), R.MOVE (dstTy, dst, R.REF (R.CAST dstTy, R.REG v))]) end | (AI.PayloadSize, R.Int32 _, R.Ptr R.Data, ADDR addr) => let val header = R.ADDR (R.DISP (R.INT32 ~4, addr)) val headerMask = R.CONST (R.UINT32 HEAD_SIZE_MASK) in insert (code, [R.AND (dstTy, dst, R.REF_ (R.MEM (dstTy, header)), headerMask)]) end | _ => raise Control.Bug "SelectInsn: PrimOp1" in code end | AI.PrimOp2 {dst, op2 as (operator,ty1,ty2,ty3), arg1, arg2, loc} => let val dst = transformVarInfo dst val (code, arg1) = transformValue context code arg1 val (code, arg2) = transformValue context code arg2 val dstTy = RTLUtils.dstTy dst val ty1 = valueTy arg1 val ty2 = valueTy arg2 (* st(0)=arg2, st(1)=arg1, dst = st(1) op st(0) *) fun float (dst, arg1, arg2, insns) = let val (code, ty1, src1) = coerceToMem code arg1 val (code, ty2, src2) = coerceToMem code arg2 val (save, dstTy, dst) = coerceDstToMem dst val st1 = (ty1, src1) val st0 = (ty2, src2) val code = insert (code, [R.X86 (R.X86FLD st1), R.X86 (R.X86FLD st0)]) val code = insert (code, insns) val code = insert (code, [R.X86 (R.X86FSTP (dstTy, dst))]) in save code end (* st(0)=arg1, st(1)=arg2, dst = st(1) rem st(0) *) fun floatRem (dst, arg1, arg2) = let val (code, ty1, src1) = coerceToMem code arg1 val (code, ty2, src2) = coerceToMem code arg2 val (save, dstTy, dst) = coerceDstToMem dst val st1 = (ty2, src2) val st0 = (ty1, src1) val code = insert (code, [R.X86 (R.X86FLD st1), R.X86 (R.X86FLD st0)]) val (code, loopLabel) = makeLabelBefore code val code = insert (code, [R.X86 R.X86FPREM]) val clob = newVar (R.Int16 R.U) (* ax *) val test = R.X86 (R.X86FSW_TESTH {clob=clob, mask=R.UINT8 0wx4}) val code = insertLastBefore (code, fn l => R.CJUMP {test = test, cc = R.NOTEQUAL, thenLabel = loopLabel, elseLabel = l}) val code = insert (code, [R.X86 (R.X86FSTP (dstTy, dst)), R.X86 (R.X86FFREE (R.X86ST 0)), R.X86 R.X86FINCSTP]) in code end val code = case (operator, promoteIntTy dstTy, promoteIntTy ty1, promoteIntTy ty2, arg1, arg2) of (AI.Add, R.Int32 _, R.Int32 _, R.Int32 _, OPRD op1, OPRD op2) => insert (code, [R.ADD (dstTy, dst, op1, op2)]) | (AI.Add, R.Real32, R.Real32, R.Real32, _, _) => float (dst, arg1, arg2, [R.X86 (R.X86FADDP (R.X86ST 1))]) | (AI.Add, R.Real64, R.Real64, R.Real64, _, _) => float (dst, arg1, arg2, [R.X86 (R.X86FADDP (R.X86ST 1))]) | (AI.Add, R.Real80, R.Real80, R.Real80, _, _) => float (dst, arg1, arg2, [R.X86 (R.X86FADDP (R.X86ST 1))]) | (AI.Sub, R.Int32 _, R.Int32 _, R.Int32 _, OPRD op1, OPRD op2) => insert (code, [R.SUB (dstTy, dst, op1, op2)]) | (AI.Sub, R.Real32, R.Real32, R.Real32, _, _) => float (dst, arg1, arg2, [R.X86 (R.X86FSUBP (R.X86ST 1))]) | (AI.Sub, R.Real64, R.Real64, R.Real64, _, _) => float (dst, arg1, arg2, [R.X86 (R.X86FSUBP (R.X86ST 1))]) | (AI.Sub, R.Real80, R.Real80, R.Real80, _, _) => float (dst, arg1, arg2, [R.X86 (R.X86FSUBP (R.X86ST 1))]) | (AI.Mul, R.Int32 s1, R.Int32 s2, R.Int32 s3, OPRD op1, OPRD op2) => let val (code, op1) = promoteInt (code, op1) val (code, op2) = promoteInt (code, op2) val (sets, dst) = promoteIntDst dst val code = insert (code, [R.MUL ((R.Int32 s1, dst), (R.Int32 s2, op1), (R.Int32 s3, op2))]) in sets code end | (AI.Mul, R.Real32, R.Real32, R.Real32, _, _) => float (dst, arg1, arg2, [R.X86 (R.X86FMULP (R.X86ST 1))]) | (AI.Mul, R.Real64, R.Real64, R.Real64, _, _) => float (dst, arg1, arg2, [R.X86 (R.X86FMULP (R.X86ST 1))]) | (AI.Mul, R.Real80, R.Real80, R.Real80, _, _) => float (dst, arg1, arg2, [R.X86 (R.X86FMULP (R.X86ST 1))]) | (AI.Div, R.Int32 R.S, R.Int32 R.S, R.Int32 R.S, OPRD op1, OPRD op2) => let val (code, op1) = promoteInt (code, op1) val (code, op2) = promoteInt (code, op2) val (sets, dst) = promoteIntDst dst val dmod = newDst (R.Int32 R.S) val code = divmod context code (dst, dmod, op1, op2) in sets code end | (AI.Quot, R.Int32 R.S, R.Int32 R.S, R.Int32 R.S, OPRD op1, OPRD op2) => let val (code, op1) = promoteInt (code, op1) val (code, op2) = promoteInt (code, op2) val (sets, dst) = promoteIntDst dst val dmod = newDst (R.Int32 R.S) val code = quotrem context code (dst, dmod, op1, op2) in sets code end | (AI.Div, R.Int32 R.U, R.Int32 R.U, R.Int32 R.U, OPRD op1, OPRD op2) => let val (code, op1) = promoteInt (code, op1) val (code, op2) = promoteInt (code, op2) val (sets, dst) = promoteIntDst dst val dmod = newDst (R.Int32 R.U) val code = quotremUInt context code (dst, dmod, op1, op2) in sets code end | (AI.Div, R.Real32, R.Real32, R.Real32, _, _) => float (dst, arg1, arg2, [R.X86 (R.X86FDIVP (R.X86ST 1))]) | (AI.Div, R.Real64, R.Real64, R.Real64, _, _) => float (dst, arg1, arg2, [R.X86 (R.X86FDIVP (R.X86ST 1))]) | (AI.Div, R.Real80, R.Real80, R.Real80, _, _) => float (dst, arg1, arg2, [R.X86 (R.X86FDIVP (R.X86ST 1))]) | (AI.Rem, R.Real32, R.Real32, R.Real32, _, _) => floatRem (dst, arg1, arg2) | (AI.Rem, R.Real64, R.Real64, R.Real64, _, _) => floatRem (dst, arg1, arg2) | (AI.Rem, R.Real80, R.Real80, R.Real80, _, _) => floatRem (dst, arg1, arg2) | (AI.Mod, R.Int32 R.S, R.Int32 R.S, R.Int32 R.S, OPRD op1, OPRD op2) => let val (code, op1) = promoteInt (code, op1) val (code, op2) = promoteInt (code, op2) val (sets, dst) = promoteIntDst dst val ddiv = newDst (R.Int32 R.S) val code = divmod context code (ddiv, dst, op1, op2) in sets code end | (AI.Rem, R.Int32 R.S, R.Int32 R.S, R.Int32 R.S, OPRD op1, OPRD op2) => let val (code, op1) = promoteInt (code, op1) val (code, op2) = promoteInt (code, op2) val (sets, dst) = promoteIntDst dst val ddiv = newDst (R.Int32 R.S) val code = quotrem context code (ddiv, dst, op1, op2) in sets code end | (AI.Mod, R.Int32 R.U, R.Int32 R.U, R.Int32 R.U, OPRD op1, OPRD op2) => let val (code, op1) = promoteInt (code, op1) val (code, op2) = promoteInt (code, op2) val (sets, dst) = promoteIntDst dst val ddiv = newDst (R.Int32 R.U) val code = quotremUInt context code (ddiv, dst, op1, op2) in sets code end | (AI.Andb, R.Int32 _, R.Int32 _, R.Int32 _, OPRD op1, OPRD op2) => insert (code, [R.AND (dstTy, dst, op1, op2)]) | (AI.Orb, R.Int32 _, R.Int32 _, R.Int32 _, OPRD op1, OPRD op2) => insert (code, [R.OR (dstTy, dst, op1, op2)]) | (AI.Xorb, R.Int32 _, R.Int32 _, R.Int32 _, OPRD op1, OPRD op2) => insert (code, [R.XOR (dstTy, dst, op1, op2)]) | (AI.LShift, R.Int32 _, R.Int32 _, R.Int32 _, OPRD op1, OPRD op2) => shiftInsn code (R.LSHIFT, dstTy, dst, op1, op2) | (AI.RShift, R.Int32 _, R.Int32 _, R.Int32 _, OPRD op1, OPRD op2) => shiftInsn code (R.RSHIFT, dstTy, dst, op1, op2) | (AI.ArithRShift, R.Int32 _, R.Int32 _, R.Int32 _, OPRD op1, OPRD op2) => shiftInsn code (R.ARSHIFT, dstTy, dst, op1, op2) | (AI.PointerAdvance, R.Ptr ptrTy, R.Ptr _, R.Int32 _, _, _) => let val (code, v) = coerceToVar code arg1 val insn = case arg2 of (OPRD (R.CONST c)) => R.MOVEADDR (ptrTy, dst, R.DISP (c, R.BASE v)) | _ => let val (code, v2) = coerceToVar code arg2 in R.MOVEADDR (ptrTy, dst, R.BASEINDEX {base=v, index=v2, scale=1}) end in insert (code, [insn]) end | (_, R.Int32 R.U, _, _, _, _) => let val v = newDst (R.Int8 R.U) val (code, test, cc) = selectCompare code op2 (arg1, arg2) in insert (code, [R.SET (cc, R.Int8 R.U, v, {test=test}), R.EXT8TO32 (R.U, dst, R.REF_ v)]) end | (op2, ty3, ty1, ty2, _, _) => raise Control.Bug ("selectInsn: PrimOp2: " ^ Control.prettyPrint (AI.format_op2 (R.format_ty ty1, R.format_ty ty2) op2) ^ " -> " ^ Control.prettyPrint (R.format_ty ty3)) in code end | AI.CallExt {dstVarList, entry, attributes={callingConvention, isPure, noCallback, suspendThread, allocMLValue}, argList, calleeTy=(argTys, retTys), loc} => let val argTys = map transformTy argTys val retTys = map transformTy retTys val argSrcs = map transformArgInfo argList val args = map dstToValue argSrcs val dsts = map transformArgInfo dstVarList val (code, entry) = transformJumpTo context code entry val code = if not noCallback orelse allocMLValue orelse suspendThread then saveFramePointer context code else code val code = if suspendThread then selectPrimCall context code {callTo = "sml_state_suspend", retRegs = nil, argRegs = nil, needStabilize = false, returnTo = NONE} else code val (code, uses) = setCArgs code (callingConvention, argTys, retTys) args val (gets, defs) = getCRets (callingConvention, argTys, retTys) dsts val postFrameAdjust = adjustCPostFrame (callingConvention, argTys, retTys) val code = selectCall context code {callTo = entry, retRegs = defs, argRegs = uses, needStabilize = allocMLValue, returnTo = NONE, postFrameAdjust = postFrameAdjust} (* make sure that all args are live during executing callbacks. *) val code = if noCallback then code else insert (code, [R.USE (map R.REF_ argSrcs)]) val code = if suspendThread then selectPrimCall context code {callTo = "sml_state_running", retRegs = nil, argRegs = nil, needStabilize = false, returnTo = NONE} else code val code = gets code in code end | AI.Call {dstVarList, entry, env, argList, argTyList, resultTyList, loc} => let val argTys = map transformTy argTyList val retTys = map transformTy resultTyList val env = transformArgInfo env val args = map argInfoToValue argList val dsts = map transformArgInfo dstVarList val (code, entry) = transformJumpTo context code entry val (code, uses) = setMLArgs code (argTys, retTys) (env, args) val (gets, defs) = getMLRets (argTys, retTys) dsts val postFrameAdjust = adjustMLPostFrame (argTys, retTys) val code = selectCall context code {callTo = entry, retRegs = defs, argRegs = uses, needStabilize = true, returnTo = NONE, postFrameAdjust = postFrameAdjust} val code = gets code in code end | AI.TailCall {entry, env, argList, argTyList, resultTyList, loc} => let val argTys = map transformTy argTyList val retTys = map transformTy resultTyList val env = transformArgInfo env val args = map argInfoToValue argList val (code, entry) = transformJumpTo context code entry val (code, uses) = setMLTailCallArgs code (argTys, retTys) (env, args) val uses = #calleeSaves context @ uses in insertLast (code, R.TAILCALL_JUMP {jumpTo = entry, preFrameSize = mlPreFrameSize (argTys, retTys), uses = uses (* precolor: edi, esi, ebx, eax *) }) end | AI.CallbackClosure {dst, entry, env, exportTy=(argTys, retTys), attributes as {callingConvention,...}, loc} => let val dst = transformVarInfo dst val dstTy = RTLUtils.dstTy dst val (sets1, dstVar) = coerceDstToVar dst val (code, entry) = transformAddr context code entry val (code, env) = transformAddr context code env val (code, entryVar) = coerceToVar code (ADDR entry) val (code, envVar) = coerceToVar code (ADDR env) val code = #code (selectAlloc (callAllocCallback entryVar envVar) context code (dst, AI.Record {mutable=false}, [R.CONST (R.UINT32 0wx10)], R.CONST (R.UINT32 0w20))) (* TODO: make more efficient *) val (code, entryVar) = coerceToVar code (ADDR entry) fun closureField 0 = R.ADDR (R.BASE dstVar) | closureField n = R.ADDR (R.DISP (R.INT32 n, R.BASE dstVar)) val offset1 = newVar (R.Int32 R.S) val offset2 = newVar (R.Ptr R.Code) val argTys = map transformTy argTys val retTys = map transformTy retTys val preFrameSize = cPreFrameSize (true, callingConvention, argTys, retTys) val preFrameRetSize = cPreFrameRetSize (true, callingConvention, argTys, retTys) (* * 0000 55 pushl %ebp * 0001 8d 2c 24 leal (%esp), %ebp * 0004 8d 64 24 fc leal -4(%esp), %esp * 0008 83 e4 f0 andl $-16, %esp * 000b e8 xx xx xx xx call entry * 0010 89 ec movl %ebp, %esp * 0000 5d popl %ebp * 0000 c2 nn nn ret $4 *) (* * 0000 c8 04 00 00 enter $4, $0 * 0004 83 e4 f0 andl $-16, %esp * 0007 e8 xx xx xx xx call entry * 000c c9 leave * 000d c2 nn nn ret n * * [0x000004c8, 0xe8f0e483, 0xxxxxxxxx, 0x0xnnnnc2c9] * where xxxxxxxx = codeEntry - closureAddr - 12 *) val retArg = Word32.fromInt (preFrameSize - preFrameRetSize) << 0w16 val retWord = if retArg = 0w0 then 0wxc3c9 else retArg || 0wxc2c9 val code = insert (code, [ R.MOVE (R.Int32 R.U, R.MEM (R.Int32 R.U, closureField 0), R.CONST (R.UINT32 0wx000004c8)), R.MOVE (R.Int32 R.U, R.MEM (R.Int32 R.U, closureField 4), R.CONST (R.UINT32 0wxe8f0e483)), R.MOVE (R.Int32 R.U, R.MEM (R.Int32 R.U, closureField 12), R.CONST (R.UINT32 retWord)), R.MOVEADDR (R.Data, R.MEM (R.Ptr R.Data, closureField 16), env), R.NEG (R.Int32 R.S, R.REG offset1, R.REF (R.CAST (R.Int32 R.S), R.REG dstVar)), R.MOVEADDR (R.Code, R.REG offset2, R.DISP (R.INT32 ~12, R.BASEINDEX {base = entryVar, index = offset1, scale = 1})), R.MOVE (R.Ptr R.Code, R.MEM (R.Ptr R.Code, closureField 8), R.REF_ (R.REG offset2)) ]) in sets1 code end | AI.Return {varList, argTyList, retTyList, loc} => let val argTys = map transformTy argTyList val retTys = map transformTy retTyList val rets = map argInfoToValue varList val (code, uses) = setMLRets code (argTys, retTys) rets val uses = #calleeSaves context @ uses in insertLast (code, (* RETURN assumes that return address is stored at 4(%ebp). *) R.RETURN {preFrameSize = mlPreFrameRetSize retTys, stubOptions = NONE, uses = uses (* precolor: edi, esi, ebx *) }) end | AI.ReturnExt {varList, argTyList, retTyList, attributes as {callingConvention, ...}, loc} => let val argTys = map transformTy argTyList val retTys = map transformTy retTyList val fp = newVar (R.Ptr R.Void) val code = insert (code, [R.LOAD_FP (R.REG fp)]) val code = selectPrimCall context code {callTo = "sml_control_finish", retRegs = [], argRegs = [fp], needStabilize = false, returnTo = NONE} val rets = map argInfoToValue varList val (code, uses) = setCRets code (callingConvention, argTys, retTys) rets val uses = #calleeSaves context @ uses in insertLast (code, (* RETURN assumes that return address is stored at 4(%ebp). *) R.RETURN {preFrameSize = cPreFrameRetSize (false, callingConvention, argTys, retTys), stubOptions = SOME {forceFrameAlign = true}, uses = uses (* precolor: edi, esi, ebx, eax *) }) end | AI.If {value1, value2, op2, thenLabel, elseLabel, loc} => let val (code, arg1) = transformValue context code value1 val (code, arg2) = transformValue context code value2 val (code, test, cc) = selectCompare code op2 (arg1, arg2) in insertLast (code, R.CJUMP {test = test, cc = cc, thenLabel = thenLabel, elseLabel = elseLabel}) end | AI.CheckBoundary {offset, size, objectSize, passLabel, failLabel, loc} => let val offset = transformOperand offset val size = transformOperand size val objectSize = transformOperand objectSize val v = newDst (R.Int32 R.U) val subInsn = R.SUB (R.Int32 R.U, v, objectSize, size) (* if (size <= objectSize && offset <= objectSize - size) then OK *) val code = insertLastBefore (code, fn l => R.CJUMP {test = subInsn, cc = R.BELOW, thenLabel = failLabel, elseLabel = l}) in insertLast (code, R.CJUMP {test = R.TEST_SUB (R.Int32 R.U, R.REF_ v, offset), cc = R.BELOW, thenLabel = failLabel, elseLabel = passLabel}) end | AI.Jump {label, knownDestinations, loc} => let val (code, op1) = transformJumpTo context code label in insertLast (code, R.JUMP {jumpTo = op1, destinations = knownDestinations}) end | AI.Raise {exn, loc} => let val exn = transformArgInfo exn val (code, exnVar) = coerceToVar code (OPRD (R.REF_ exn)) (* val code = if !Control.debugCodeGen then selectPrimCall context code {callTo = "sml_check_handler", retRegs = nil, argRegs = [exnVar], needStabilize = false, returnTo = NONE} else code *) val v1 = newVar (R.Ptr R.Void) val code = selectPrimCall context code {callTo = "sml_pop_handler", retRegs = [v1], argRegs = [exnVar], needStabilize = false, returnTo = NONE} in selectRaise context code exnVar v1 end | AI.RaiseExt {exn, attributes, loc} => let val exn = transformArgInfo exn val (code, exnVar) = coerceToVar code (OPRD (R.REF_ exn)) val v1 = newVar (R.Ptr R.Void) val code = selectPrimCall context code {callTo = "sml_pop_handler", retRegs = [v1], argRegs = [exnVar], needStabilize = false, returnTo = NONE} val fp = newVar (R.Ptr R.Void) val code = insert (code, [R.LOAD_FP (R.REG fp)]) val code = selectPrimCall context code {callTo = "sml_control_finish", retRegs = [], argRegs = [fp], needStabilize = false, returnTo = NONE} in selectRaise context code exnVar v1 end | AI.ChangeHandler {change = AI.PushHandler _, previousHandler, newHandler as AI.StaticHandler handler, tryBlock, loc} => let val code = pushHandler context code handler loc in insertJump (code, tryBlock) end | AI.ChangeHandler {change = AI.PopHandler _, previousHandler as AI.StaticHandler handler, newHandler, tryBlock, loc} => let val code = popHandler context code handler loc in insertJump (code, tryBlock) end | AI.ChangeHandler {change, previousHandler, newHandler, tryBlock, loc} => raise Control.Bug "selectInsn: ChangeHandler" fun selectBlock {code = {globalOffsetBase, externSymbols, handlerSlots, preFrameSize, postFrameSize, graph}, numHeaderWords, options, clusterId, calleeSaves} ({label, blockKind, handler, instructionList, loc} :AI.basicBlock) = let val context = {options = options, handler = selectHandler handler, calleeSaves = calleeSaves} : context (* labels following a call should be 16-byte-aligned * when less than 8 bytes away from a 16 byte boundary. *) (* loop entry labels should be 16-byte-aligned * when less than 8 bytes away from a 16 byte boundary. *) (* labels following an uncoditional branch should be * 16-byte-aligned when less than 8 bytes away from a * 16-byte boundary. *) val (first, sets, newNumHeaderWords) = case blockKind of AI.FunEntry {argTyList, resultTyList, env, argVarList} => let val symbol = entrySymbolName {clusterId=clusterId, entry=label} val argTys = map transformTy argTyList val retTys = map transformTy resultTyList val env = case env of SOME v => SOME (transformArgInfo v) | NONE => NONE val dsts = map transformArgInfo argVarList val (sets, defs) = getMLArgs (argTys, retTys) (env, dsts) val defs = calleeSaves @ defs in (R.CODEENTRY {label = label, symbol = symbol, scope = R.LOCAL, align = 4, preFrameSize = mlPreFrameSize (argTys, retTys), stubOptions = NONE, (* precolor: esi, edi, ebx, eax, ecx, edx *) defs = defs, loc = loc}, fn code => let val code = sets code val code = checkGC context code in code end, 1) end | AI.ExtFunEntry {argTyList, resultTyList, env, argVarList, attributes as {callingConvention, ...}} => let val symbol = entrySymbolName {clusterId=clusterId, entry=label} val argTys = map transformTy argTyList val retTys = map transformTy resultTyList val env = case env of SOME v => SOME (transformArgInfo v) | NONE => NONE val dsts = map transformArgInfo argVarList val stubFrameVar = newVar (R.Ptr R.Void) val closFrameVar = newVar (R.Ptr R.Void) val insn1 = [ R.LOAD_PREV_FP (R.REG stubFrameVar), R.MOVE (R.Ptr R.Void, R.REG closFrameVar, R.REF_ (R.MEM (R.Ptr R.Void, R.ADDR (R.BASE stubFrameVar)))) ] val insn2 = case env of NONE => nil | SOME envVar => let val closAddr = newVar (R.Ptr R.Code) in [ R.MOVE (R.Ptr R.Code, R.REG closAddr, R.REF_ (R.MEM (R.Ptr R.Code, R.ADDR (R.DISP (R.INT32 4, R.BASE stubFrameVar))))), R.MOVE (R.Ptr R.Data, envVar, R.REF_ (R.MEM (R.Ptr R.Data, R.ADDR (R.DISP (R.INT32 4, R.BASE closAddr))))) ] end val (sets, defs) = getCArgs (callingConvention, argTys, retTys) (SOME closFrameVar) dsts val defs = calleeSaves @ defs in (R.CODEENTRY {label = label, symbol = symbol, scope = R.LOCAL, align = 4, preFrameSize = cPreFrameSize (false, callingConvention, argTys, retTys), stubOptions = SOME {forceFrameAlign = true}, (* precolor: esi, edi, ebx, eax, ecx, edx *) defs = defs, loc = loc}, fn code => let val code = startThread context code val code = insert (code, insn1) val code = sets code val code = insert (code, insn2) in code end, 2) end | AI.Handler exn => let val exn = transformArgInfo exn val (sets, exn) = coerceDstToVar exn in (R.HANDLERENTRY {label = label, align = 4, defs = [exn], (* precolor: eax *) loc = loc}, sets, 0) end | _ => (R.BEGIN {label = label, align = 1, loc = loc}, fn x => x, 0) val focus = RTLEdit.singletonFirst first val code = {globalOffsetBase = globalOffsetBase, externSymbols = externSymbols, handlerSlots = handlerSlots, preFrameSize = preFrameSize, postFrameSize = postFrameSize, focus = focus} : code val code = sets code val code = foldl (fn (insn, code) => selectInsn context code insn) code instructionList val graph = RTLEdit.mergeGraph (graph, RTLEdit.unfocus (#focus code)) in ({globalOffsetBase = #globalOffsetBase code, externSymbols = #externSymbols code, handlerSlots = #handlerSlots code, preFrameSize = #preFrameSize code, postFrameSize = #postFrameSize code, graph = graph}, Int.max (numHeaderWords, newNumHeaderWords)) end fun selectFrameBitmap ({source, bits}:AI.frameBitmap) = let fun toInt32 w = Int32.fromInt (Word.toIntX w) val (source, uses) = case source of AI.BitParam {argKind = AI.Param {argTys, retTys, index},...} => (List.nth (mlParams (map transformTy argTys, map transformTy retTys), index), VarID.Map.empty) | AI.BitParam _ => raise Control.Bug "selectFrameBitmap: BitParam" | AI.EnvBitmap (arg, offset) => case transformArgInfo arg of R.REG var => (R.MEM (R.Int32 R.U, R.ADDR (R.DISP (R.INT32 (toInt32 offset), R.BASE var))), VarID.Map.singleton (#id var, var)) | _ => raise Control.Bug "selectFrameBitmap: EnvBitmap" in ({source = R.REF_ source, bits = bits} : R.frameBitmap, uses) end fun selectFrameBitmapList (bitmap::bitmaps) = let val (bitmap, uses1) = selectFrameBitmap bitmap val (bitmaps, uses) = selectFrameBitmapList bitmaps in (bitmap::bitmaps, VarID.Map.unionWith #1 (uses, uses1)) end | selectFrameBitmapList nil = (nil, VarID.Map.empty) fun selectCluster options {externSymbols, thunkSymbol} ({frameBitmap, name, body, loc}:AI.cluster) = let (* three registers are callee-save. precolor : edi, esi, ebx *) val calleeSaves = newVarList 3 val code = {globalOffsetBase = NONE, externSymbols = externSymbols, handlerSlots = R.LabelMap.empty, preFrameSize = 0, postFrameSize = 0, graph = R.LabelMap.empty} val (result, numHeaderWords) = foldl (fn (block, (code, numHeaderWords)) => selectBlock {code = code, numHeaderWords = numHeaderWords, options = options, clusterId = name, calleeSaves = calleeSaves} block) (code, 1) body val blockKindMap = foldl (fn ({label, blockKind, ...}, z) => VarID.Map.insert (z, label, blockKind)) VarID.Map.empty body val {globalOffsetBase, externSymbols, handlerSlots, preFrameSize, postFrameSize, graph} = if !Control.insertCheckGC then (* insert GC checks to loop heads *) let val heads = RTLDominate.loopHeaders (#graph result) val heads = List.filter (fn label => case VarID.Map.find (blockKindMap, label) of SOME AI.Loop => false | _ => true) heads in foldl (fn (headLabel, {globalOffsetBase, externSymbols, handlerSlots, preFrameSize, postFrameSize, graph}) => let val focus = RTLEdit.focusFirst (graph, headLabel) val (focus, label) = RTLEdit.makeLabelAfter focus val code = {globalOffsetBase = globalOffsetBase, externSymbols = externSymbols, handlerSlots = handlerSlots, preFrameSize = preFrameSize, postFrameSize = postFrameSize, focus = focus} val context = {options = options, handler = R.NO_HANDLER, (* dummy *) calleeSaves = calleeSaves} : context val code = checkGC context code in {globalOffsetBase = globalOffsetBase, externSymbols = externSymbols, handlerSlots = handlerSlots, preFrameSize = preFrameSize, postFrameSize = postFrameSize, graph = RTLEdit.unfocus (#focus code)} end) result heads end else result (* insert computation of global offset base *) val (baseLabel, thunkSymbol, graph) = case globalOffsetBase of NONE => (NONE, thunkSymbol, graph) | SOME (baseLabel, baseReg) => let val thunkSymbol = case thunkSymbol of NONE => SOME (globalSymbolName options "_i686.get_pc_thunk.bx") | SOME _ => thunkSymbol val graph = R.LabelMap.map (fn block as (first, insns, last) => if (case first of R.CODEENTRY _ => true | R.HANDLERENTRY _ => true | R.BEGIN _ => false | R.ENTER => false) then (first, R.LOADABSADDR {ty = R.Ptr R.Code, dst = R.REG baseReg, symbol = baseLabel, thunk = thunkSymbol} :: insns, last) else block) graph val baseLabel = case baseLabel of R.LABEL label => SOME label | _ => NONE in (baseLabel, thunkSymbol, graph) end val (frameBitmap, computeFrameUses) = selectFrameBitmapList frameBitmap (* insert frame bitmap computation. *) val graph = R.LabelMap.map (fn block as (first, insns, last) => case first of R.CODEENTRY {preFrameSize=entryPreFrameSize, ...} => (first, R.COMPUTE_FRAME {uses = computeFrameUses, clobs = [newVar (R.Int32 R.U), newVar (R.Int32 R.U)]} :: insns, last) | _ => block) graph (* normalize RTL for X86 *) val graph = X86Subst.substitute (fn _ => NONE) graph val topdecl = R.CLUSTER {clusterId = name, frameBitmap = frameBitmap, baseLabel = baseLabel, body = graph, preFrameSize = preFrameSize, postFrameSize = postFrameSize, numHeaderWords = numHeaderWords, loc = loc} in ({externSymbols=externSymbols, thunkSymbol=thunkSymbol}, topdecl) end fun selectPrimData options externSymbols primData = case primData of AI.SIntData n => (externSymbols, R.Int32 R.S, R.CONST_DATA (R.INT32 (AI.Target.SIntToSInt32 n))) | AI.UIntData n => (externSymbols, R.Int32 R.U, R.CONST_DATA (R.UINT32 (AI.Target.UIntToUInt32 n))) | AI.ByteData n => (externSymbols, R.Int8 R.U, R.CONST_DATA (R.UINT8 (Word8.fromInt (AI.Target.UIntToInt n)))) | AI.RealData r => (externSymbols, R.Real64, R.CONST_DATA (R.REAL64 r)) | AI.FloatData r => (externSymbols, R.Real32, R.CONST_DATA (R.REAL32 r)) | AI.EntryData entry => (externSymbols, R.Ptr R.Code, R.LABELREF_DATA (entrySymbol entry)) | AI.GlobalLabelData label => (externSymbols, R.Ptr R.Data, R.LABELREF_DATA (dataSymbol (R.Data, R.GLOBAL, globalSymbolName options label))) | AI.ExternLabelData label => let val (externSymbols, symbol) = externSymbol (externSymbols, R.Data, globalSymbolName options label) in (externSymbols, R.Ptr R.Data, R.LABELREF_DATA symbol) end | AI.ConstData id => (externSymbols, R.Ptr R.Data, R.LABELREF_DATA (constSymbol id)) | AI.NullPointerData => (externSymbols, R.Ptr R.Void, R.LABELREF_DATA (R.NULL R.Void)) | AI.NullBoxedData => (externSymbols, R.Ptr R.Data, R.LABELREF_DATA (R.NULL R.Data)) fun sectionOf ty = let val {align, size, ...} = X86Emit.formatOf ty in case ty of R.Ptr _ => (align, size, R.RODATA_SECTION) | _ => case size of 4 => (align, size, R.LITERAL32_SECTION) | 8 => (align, size, R.LITERAL64_SECTION) | _ => (align, size, R.RODATA_SECTION) end fun makePad (filled, size) = if filled = size then nil else if size > filled then [R.SPACE_DATA {size = size - filled}] else raise Control.Bug "makePad" fun selectData options externSymbols {scope, symbol, aliases} data = case data of AI.PrimData x => let val (externSymbols, ty, data) = selectPrimData options externSymbols x val (align, size, section) = sectionOf ty in (externSymbols, R.DATA {scope = scope, symbol = symbol, aliases = aliases, ptrTy = R.Void, section = section, prefix = [], align = 1, data = [data], prefixSize = 0}) end | AI.StringData string => let (* * |<-- multiple of words --->| * [head] [ string ] 00 [pad] * ^ * wordAlign * * payloadSize = stringSize + 1 * object type = VECTOR *) val size = size string + 1 val header = Word32.fromInt size || HEAD_TYPE_UNBOXED_VECTOR val align = #align (X86Emit.formatOf (R.Int32 R.U)) in (externSymbols, R.DATA {scope = scope, symbol = symbol, aliases = aliases, ptrTy = R.Data, section = R.RODATA_SECTION, prefix = [R.CONST_DATA (R.UINT32 header)], align = align, data = [R.ASCII_DATA (string ^ "\000")], prefixSize = sizeof (R.Int32 R.U)}) end | AI.IntInfData n => (* FIXME: format of IntInf *) (* candidate: * mpz_import (z, size, * -1, (* least significant word first *) * wordSize, (* word size *) * 1, (* always bigendian *) * 0, (* no nail *) * p) *) let val s = BigInt.fmt (StringCvt.DEC) n val s = String.translate (fn #"~" => "-" | c => str c) s in (externSymbols, R.DATA {scope = scope, symbol = symbol, aliases = aliases, ptrTy = R.Void, section = R.CSTRING_SECTION, prefix = [], align = 1, data = [R.ASCII_DATA (s ^ "\000")], prefixSize = 0}) end | AI.ObjectData {objectType, bitmaps, payloadSize, fields} => let fun toConstWord x = R.CONST (R.UINT32 x) fun toInt (R.CONST (R.UINT32 x)) = Word32.toIntX x | toInt _ = raise Control.Bug "selectData: ObjectData: toInt" fun constData (R.CONST c) = R.CONST_DATA c | constData _ = raise Control.Bug "selectData: ObjectData" val section = case objectType of AI.Array => R.DATA_SECTION | AI.Vector => R.RODATA_SECTION | AI.Record {mutable=false} => R.RODATA_SECTION | AI.Record {mutable=true} => R.DATA_SECTION val bitmaps = map (fn x => toConstWord (AI.Target.UIntToUInt32 x)) bitmaps val payloadSize = toConstWord (AI.Target.UIntToUInt32 payloadSize) (* dummy context, code, and dst *) val context = {options = {positionIndependent = NONE, globalSymbolStartsWithUnderscore = false}, handler = R.NO_HANDLER, calleeSaves = nil} : context val code = {globalOffsetBase = NONE, externSymbols = externSymbols, handlerSlots = R.LabelMap.empty, preFrameSize = 0, postFrameSize = 0, focus = RTLEdit.singletonFirst R.ENTER} : code val dst = R.REG {id=VarID.generate (), ty=R.Ptr R.Data} (* dummy *) val {header, bitmapOffset, bitmaps, allocSize, ...} = selectAlloc #2 context code (dst, objectType, bitmaps, payloadSize) val header = constData header val bitmapOffset = toInt bitmapOffset val bitmaps = map constData bitmaps val allocSize = toInt allocSize fun makeData (externSymbols, offset, {value, size}::fields) = let val size = AI.Target.UIntToInt size val (externSymbols, totalSize, data) = makeData (externSymbols, offset + size, fields) val (externSymbols, ty, field) = selectPrimData options externSymbols value val valueSize = sizeof ty in (externSymbols, totalSize, field :: makePad (valueSize, size) @ data) end | makeData (externSymbols, offset, nil) = (externSymbols, offset, nil) val (externSymbols, offset, data) = makeData (externSymbols, 0, fields) val (offset, data) = case bitmaps of nil => (offset, data) | _::_ => (offset + length bitmaps * sizeof (R.Int32 R.U), data @ makePad (offset, bitmapOffset) @ bitmaps) val data = data @ makePad (offset, allocSize) in (externSymbols, R.DATA {scope = scope, symbol = symbol, aliases = aliases, ptrTy = R.Data, section = section, prefix = [header], align = #align X86Emit.formatOfGeneric, data = data, prefixSize = sizeof (R.Int32 R.U)}) end | AI.VarSlot {size, value} => let val size = AI.Target.UIntToInt size in case (value, aliases) of (NONE, nil) => (externSymbols, R.BSS {scope = scope, symbol = symbol, size = size}) | _ => let val (externSymbols, align, data) = case value of NONE => (externSymbols, size, [R.SPACE_DATA {size=size}]) | SOME v => let val (externSymbols, ty, field) = selectPrimData options externSymbols v val valueSize = sizeof ty val align = #align (X86Emit.formatOf ty) in (externSymbols, align, field :: makePad (valueSize, size)) end in (externSymbols, R.DATA {scope = scope, symbol = symbol, aliases = aliases, ptrTy = R.Void, section = R.DATA_SECTION, prefix = nil, align = align, data = data, prefixSize = 0}) end end fun selectConstants options externSymbols constants = VarID.Map.foldri (fn (constId, data, (externSymbols, topdecls)) => let val symbol = constSymbolName constId val (externSymbols, topdecl) = selectData options externSymbols {scope=R.LOCAL, symbol=symbol, aliases=nil} data in (externSymbols, topdecl :: topdecls) end) (externSymbols, nil) constants fun selectGlobals options externSymbols globals = let val aliasesMap = SEnv.foldli (fn (label, AI.GlobalData _, aliases) => aliases | (label, AI.GlobalAlias origLabel, aliases) => case SEnv.find (aliases, origLabel) of SOME l => SEnv.insert (aliases, origLabel, label::l) | NONE => SEnv.insert (aliases, origLabel, [label])) SEnv.empty globals in SEnv.foldri (fn (label, AI.GlobalAlias _, z) => z | (label, AI.GlobalData data, (externSymbols, topdecls)) => let val symbol = globalSymbolName options label val aliases = case SEnv.find (aliasesMap, label) of SOME l => map (globalSymbolName options) l | NONE => nil val (externSymbols, topdecl) = selectData options externSymbols {scope=R.GLOBAL, symbol=symbol, aliases=aliases} data in (externSymbols, topdecl :: topdecls) end) (externSymbols, nil) globals end fun selectClusters options externSymbols clusters = let val ({externSymbols, thunkSymbol}, topdecls) = foldr (fn (cluster, (env, topdecls)) => let val (env, topdecl) = selectCluster options env cluster in (env, topdecl :: topdecls) end) ({externSymbols = externSymbols, thunkSymbol = NONE}, nil) clusters val thunkDecls = case thunkSymbol of NONE => nil | SOME symbol => [R.X86GET_PC_THUNK_BX symbol] in (externSymbols, topdecls, thunkDecls) end fun nextToplevelSymbol sym = case RTLBackendContext.suffixNumber sym of NONE => raise Control.Bug "nextToplevelSymbol: format error" | SOME (prefix,x) => prefix ^ "." ^ Int.toString (x + 1) fun selectToplevel options externSymbols mainSymbol NONE = (externSymbols, nil) | selectToplevel options externSymbols mainSymbol (SOME entry) = let (* dummy code *) val code = {globalOffsetBase = NONE, externSymbols = externSymbols, handlerSlots = R.LabelMap.empty, preFrameSize = 0, postFrameSize = 0, focus = RTLEdit.singletonFirst R.ENTER} : code val (code, smlPushHandlerLabel) = transformExtFunLabel options code "sml_push_handler" val (code, smlPopHandlerLabel) = transformExtFunLabel options code "sml_pop_handler" val (symbol, nextToplevelSymbol) = (globalSymbolName options mainSymbol, NONE) (* case toplevelLabel of RTLBackendContext.TOP_MAIN => (globalSymbolName options "smlsharp_main", RTLBackendContext.TOP_MAIN, NONE) | RTLBackendContext.TOP_NONE => let val cur = globalSymbolName options "smlsharp_main" val next = globalSymbolName options "smlsharp_main.1" in (cur, RTLBackendContext.TOP_SEQ {from=cur, next=next}, SOME next) end | RTLBackendContext.TOP_SEQ {from,next} => let val newNext = nextToplevelSymbol next in (next, RTLBackendContext.TOP_SEQ {from=next, next=newNext}, SOME newNext) end *) in (#externSymbols code, [ R.TOPLEVEL {symbol = symbol, toplevelEntry = entrySymbolName entry, nextToplevel = nextToplevelSymbol, smlPushHandlerLabel = smlPushHandlerLabel, smlPopHandlerLabel = smlPopHandlerLabel} ]) end fun select ({mainSymbol}, {toplevel, clusters, constants, globals}:AI.program) = let (* FIXME: hard coded *) val {cpu, manufacturer, ossys, options} = Control.targetInfo () val arch = case ossys of "darwin" => SOME MachO | "linux" => SOME ELF | "mingw" => SOME COFF | "cygwin" => SOME COFF | _ => NONE val defaultOptions = case ossys of "darwin" => SSet.singleton "PIC" | _ => SSet.empty val options = foldl (fn ((positive, option), set) => if positive then SSet.add (set, option) else SSet.delete (set, option) handle NotFound => set) defaultOptions options val options = { positionIndependent = if SSet.member (options, "PIC") then arch else NONE, globalSymbolStartsWithUnderscore = case ossys of "darwin" => true | "linux" => false | "mingw" => true | "cygwin" => true | _ => false } : options val externSymbols = SEnv.empty val (externSymbols, toplevelDecls) = selectToplevel options externSymbols mainSymbol toplevel val (externSymbols, clusterDecls, thunkDecls) = selectClusters options externSymbols clusters val (externSymbols, constDecls) = selectConstants options externSymbols constants val (externSymbols, globalDecls) = selectGlobals options externSymbols globals val externDecls = SEnv.foldri (fn (symbol, {linkStub, linkEntry, ptrTy}, z) => R.EXTERN {symbol = symbol, linkStub = linkStub, linkEntry = linkEntry, ptrTy = ptrTy} :: z) nil externSymbols in (toplevelDecls @ clusterDecls @ constDecls @ globalDecls @ externDecls @ thunkDecls) end end smlsharp-1.2.0/src/compiler/rtl/main/X86Stabilize.smi0000644 000000000000000000000062612050661606022603 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../util/main/TermFormat.smi" _require "RTL.ppg.smi" _require "RTLEMIT.sig" _require "RTLStabilize.smi" _require "X86Emit.smi" structure X86Stabilize = struct structure Target = struct type reg = X86Emit.Target.reg end val stabilize : RTL.program -> RTL.program end smlsharp-1.2.0/src/compiler/rtl/main/X86Stabilize.sml0000644 000000000000000000000025412050661606022603 0ustar00rootroot0000000 0000000 (** * x86 RTL * @copyright (c) 2009, Tohoku University. * @author UENO Katsuhiro * @version $Id: $ *) structure X86Stabilize = RTLStabilize(structure Emit = X86Emit) smlsharp-1.2.0/src/compiler/rtl/main/X86Subst.smi0000644 000000000000000000000047312050661606021755 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "RTL.ppg.smi" _require "RTLEdit.smi" _require "RTLUtils.smi" _require "RTLSUBST.sig" structure X86Subst = struct val substitute : (RTL.var -> RTL.dst option) -> RTL.graph -> RTL.graph end smlsharp-1.2.0/src/compiler/rtl/main/X86Subst.sml0000644 000000000000000000007003612050661606021762 0ustar00rootroot0000000 0000000 (** * x86 RTL * @copyright (c) 2009, Tohoku University. * @author UENO Katsuhiro * @version $Id: $ *) structure X86Subst : RTLSUBST = struct structure I = RTL fun newVar ty = let val id = VarID.generate () in {id = id, ty = ty} : I.var end fun load (code, pairs, var) = (foldl (fn ((var as {ty,...}, dst), z) => RTLEdit.insertBefore (z, [I.MOVE (ty, I.REG var, I.REF_ dst)])) code pairs, var) fun save (code, pairs, var) = (foldl (fn ((var as {ty,...}, dst), z) => RTLEdit.insertAfter (z, [I.MOVE (ty, dst, I.REF_ (I.REG var))])) code pairs, var) fun substVar subst (code:RTLEdit.focus) (var as {id, ty}:I.var) = case subst var of NONE => (code, nil, var) | SOME (I.REG var) => (code, nil, var) | SOME dst => let val v = newVar ty in (code, [(v, dst)], v) end fun substVarList subst code (var::vars) = let val (_, pairs1, var) = substVar subst code var val (_, pairs2, vars) = substVarList subst code vars in (code, pairs1 @ pairs2, var::vars) end | substVarList subst code nil = (code, nil, nil) fun substClob subst var = case subst var of NONE => var | SOME (I.REG var) => var | SOME _ => raise Control.Bug "substClob" fun substAddr subst code addr = case addr of I.ABSADDR _ => (code, addr) | I.POSTFRAME _ => (code, addr) | I.PREFRAME _ => (code, addr) | I.WORKFRAME _ => (code, addr) | I.FRAMEINFO _ => (code, addr) | I.ADDRCAST (ptrTy, addr) => let val (code, addr) = substAddr subst code addr in (code, I.ADDRCAST (ptrTy, addr)) end | I.DISP (const, addr) => let val (code, addr) = substAddr subst code addr in (code, I.DISP (const, addr)) end | I.BASE var => let val (code, var) = load (substVar subst code var) in (code, I.BASE var) end | I.BASEINDEX {base, scale, index} => let val (code, base) = load (substVar subst code base) val (code, index) = load (substVar subst code index) in (code, I.BASEINDEX {base = base, scale = scale, index = index}) end | I.ABSINDEX {base, scale, index} => let val (code, index) = load (substVar subst code index) in (code, I.ABSINDEX {base = base, scale = scale, index = index}) end fun substAddrR subst code (ptrTy, addr) = case substAddr subst code addr of (code, addr as I.BASE _) => (code, addr) | (code, addr) => let val v = newVar (I.Ptr ptrTy) val code = RTLEdit.insertBefore (code, [I.MOVEADDR (ptrTy, I.REG v, addr)]) in (code, I.BASE v) end fun substMem subst code (I.ADDR addr) = let val (code, addr) = substAddr subst code addr in (code, I.ADDR addr) end | substMem subst code (mem as I.SLOT _) = (code, mem) fun substDstR subst code (I.REG var) = let val (code, pairs, var) = substVar subst code var in (code, pairs, I.REG var) end | substDstR subst code (I.MEM (ty, mem)) = let val (code, mem) = substMem subst code mem val v = newVar ty in (code, [(v, I.MEM (ty, mem))], I.REG v) end | substDstR subst code (I.COUPLE (ty, {hi, lo})) = raise Control.Bug "substDstR: COUPLE" fun substDstCoupleR subst code (I.COUPLE (ty, {hi, lo})) = let val (code, pairs1, hi) = substDstR subst code hi val (code, pairs2, lo) = substDstR subst code lo in (code, pairs1 @ pairs2, I.COUPLE (ty, {hi=hi, lo=lo})) end | substDstCoupleR subst code (I.REG _) = raise Control.Bug "substDstCoupleR: REG" | substDstCoupleR subst code (I.MEM _) = raise Control.Bug "substDstCoupleR: MEM" fun substDstRM subst code (I.REG var) = ( case subst var of NONE => (code, I.REG var) | SOME (I.REG var) => (code, I.REG var) | SOME (I.MEM mem) => (code, I.MEM mem) | SOME (I.COUPLE _) => raise Control.Bug "substDstRM: COUPLE" ) | substDstRM subst code (I.MEM (ty, mem)) = let val (code, mem) = substMem subst code mem in (code, I.MEM (ty, mem)) end | substDstRM subst code (I.COUPLE (ty, {hi, lo})) = raise Control.Bug "substDstRM: COUPLE" fun substOperandR subst code operand = case operand of I.CONST c => let val ty = RTLUtils.constTy c val v = newVar ty val code = RTLEdit.insertBefore (code, [I.MOVE (ty, I.REG v, operand)]) in (code, I.REF_ (I.REG v)) end | I.REF (cast, dst) => let val (code, var) = load (substDstR subst code dst) in (code, I.REF (cast, var)) end fun substOperandCoupleR subst code (I.REF (cast, dst)) = let val (code, dst) = load (substDstCoupleR subst code dst) in (code, I.REF (cast, dst)) end | substOperandCoupleR subst code (I.CONST _) = raise Control.Bug "substOperandCoupleR: CONST" fun substOperandRM subst code operand = case operand of I.CONST _ => substOperandR subst code operand | I.REF (cast, dst) => let val (code, dst) = substDstRM subst code dst in (code, I.REF (cast, dst)) end fun substOperandRMI subst code operand = case operand of I.CONST c => (code, operand) | I.REF _ => substOperandRM subst code operand fun substOperandRI subst code operand = case operand of I.CONST c => (code, operand) | I.REF _ => substOperandR subst code operand fun substOperandListRMI subst code (operand::operands) = let val (code, operand) = substOperandRMI subst code operand val (code, operands) = substOperandListRMI subst code operands in (code, operand::operands) end | substOperandListRMI subst code nil = (code, nil) fun normalizeRm code (dst, op1) = case (dst, op1) of (I.REG _, I.REF (_, I.REG _)) => (code, dst, op1) | (I.REG _, _) => let val ty1 = RTLUtils.operandTy op1 val v1 = newVar ty1 val code = RTLEdit.insertBefore (code, [I.MOVE (ty1, I.REG v1, op1)]) in (code, dst, I.REF_ (I.REG v1)) end | _ => if (case (dst, op1) of (I.MEM m, I.REF (_, I.MEM m1)) => m = m1 | _ => false) then (code, dst, op1) else let val ty = RTLUtils.dstTy dst val v = newVar ty val code = RTLEdit.insertAfter (code, [I.MOVE (ty, dst, I.REF_ (I.REG v))]) in normalizeRm code (I.REG v, op1) end fun normalizeRmRmi code (dst, op1) = case (dst, op1) of (I.MEM m, I.REF (cast, mem as I.MEM (ty1, m1))) => let val v1 = newVar ty1 val code = RTLEdit.insertBefore (code, [I.MOVE (ty1, I.REG v1, I.REF_ mem)]) in (code, I.REF (cast, I.REG v1)) end | _ => (code, op1) fun substRm subst code con (ty, dst, op1) = let val (code, dst) = substDstRM subst code dst val (code, op1) = substOperandRM subst code op1 val (code, dst, op1) = normalizeRm code (dst, op1) in (code, con (ty, dst, op1)) end fun substRmRmi3 subst code con (ty, dst, op1, op2) = let val (code, dst) = substDstRM subst code dst val (code, op1) = substOperandRM subst code op1 val (code, op2) = substOperandRMI subst code op2 val (code, dst, op1) = normalizeRm code (dst, op1) val (code, op2) = normalizeRmRmi code (dst, op2) in (code, con (ty, dst, op1, op2)) end fun substRmRmiTest subst code con (ty, op1, op2) = let val (code, op1) = substOperandRM subst code op1 val (code, op2) = substOperandRMI subst code op2 val (dst, cast) = case op1 of I.REF (cast, dst) => (dst, cast) | I.CONST _ => raise Control.Bug "substRmRmiTest" val (code, op2) = normalizeRmRmi code (dst, op2) in (code, con (ty, I.REF (cast, dst), op2)) end fun substRmRi3 subst code con (ty, dst, op1, op2) = let val (code, dst) = substDstRM subst code dst val (code, op1) = substOperandRM subst code op1 val (code, op2) = substOperandRI subst code op2 val (code, dst, op1) = normalizeRm code (dst, op1) in (code, con (ty, dst, op1, op2)) end fun substRRm subst code ty con (sign, dst, op1) = let val (code, dst) = save (substDstR subst code dst) val (code, op1) = substOperandRM subst code op1 in (code, con (sign, dst, op1)) end fun substFP subst code con (ty, mem) = let val (code, addr) = substMem subst code mem in (code, I.X86 (con (ty, addr))) end fun substMove con subst code (ty, dst, op1) = let val (code, dst) = substDstRM subst code dst val (code, op1) = substOperandRMI subst code op1 val (code, op1) = if (case op1 of I.REF (_, dst1) => dst = dst1 | _ => false) then (code, op1) else normalizeRmRmi code (dst, op1) in (code, con (ty, dst, op1)) end fun substInsn subst code insn = case insn of I.NOP => (code, insn) | I.STABILIZE => (code, insn) | I.REQUEST_SLOT slot => (code, insn) | I.REQUIRE_SLOT slot => (code, insn) | I.USE ops => let val (code, ops) = substOperandListRMI subst code ops in (code, I.USE ops) end | I.COMPUTE_FRAME {uses, clobs} => let val (code, uses) = VarID.Map.foldli (fn (key, var, (code, uses)) => let val (code, var) = load (substVar subst code var) in (code, VarID.Map.insert (uses, key, var)) end) (code, VarID.Map.empty) uses val clobs = map (substClob subst) clobs in (code, I.COMPUTE_FRAME {uses=uses, clobs=clobs}) end | I.MOVE (ty, dst, op1) => substMove I.MOVE subst code (ty, dst, op1) | I.MOVEADDR (ptrTy, dst, addr) => let fun mayMove withDisp addr = case addr of I.ADDRCAST (_, addr) => mayMove true addr | I.ABSADDR _ => true | I.DISP (disp, addr) => mayMove true addr | I.BASE _ => not withDisp | I.ABSINDEX _ => false | I.BASEINDEX _ => false | I.POSTFRAME _ => false | I.PREFRAME _ => false | I.WORKFRAME _ => false | I.FRAMEINFO _ => false val (code, dst) = if mayMove false addr then substDstRM subst code dst else save (substDstR subst code dst) val (code, addr) = substAddr subst code addr in (code, I.MOVEADDR (ptrTy, dst, addr)) end | I.COPY {ty, dst, src, clobs} => let val (code, dst) = substDstRM subst code dst val (code, src) = substOperandRM subst code src val clobs = map (substClob subst) clobs in (code, I.COPY {ty=ty, dst=dst, src=src, clobs=clobs}) end | I.MLOAD {ty, dst, srcAddr, size, defs, clobs} => let val (code, srcAddr) = substAddrR subst code (I.Void, srcAddr) val (code, size) = substOperandR subst code size val (code, defs) = save (substVarList subst code defs) val clobs = map (substClob subst) clobs in (code, I.MLOAD {ty=ty, dst=dst, srcAddr=srcAddr, size=size, defs=defs, clobs=clobs}) end | I.MSTORE {ty, dstAddr, src, size, defs, clobs, global} => let val (code, dstAddr) = substAddrR subst code (I.Void, dstAddr) val (code, size) = substOperandR subst code size val (code, defs) = save (substVarList subst code defs) val clobs = map (substClob subst) clobs in (code, I.MSTORE {ty=ty, dstAddr=dstAddr, src=src, size=size, defs=defs, clobs=clobs, global=global}) end (* | I.ZEROEXT8TO16 (sign, dst, op1) => substRRm subst code (I.Int16 sign) I.ZEROEXT8TO16 (sign, dst, op1) | I.ZEROEXT8TO32 (sign, dst, op1) => substRRm subst code (I.Int32 sign) I.ZEROEXT8TO32 (sign, dst, op1) | I.ZEROEXT16TO32 (sign, dst, op1) => substRRm subst code (I.Int32 sign) I.ZEROEXT16TO32 (sign, dst, op1) | I.EXT8TO16 (sign, dst, op1) => substRRm subst code (I.Int16 sign) I.EXT8TO16 (sign, dst, op1) *) | I.EXT8TO32 (sign, dst, op1) => substRRm subst code (I.Int32 sign) I.EXT8TO32 (sign, dst, op1) | I.EXT16TO32 (sign, dst, op1) => substRRm subst code (I.Int32 sign) I.EXT16TO32 (sign, dst, op1) (* | I.SIGNEXT8TO16 (sign, dst, op1) => substR subst code (I.Int16 sign) I.SIGNEXT8TO16 (sign, dst, op1) | I.SIGNEXT8TO32 (sign, dst, op1) => substR subst code (I.Int32 sign) I.SIGNEXT8TO32 (sign, dst, op1) | I.SIGNEXT16TO32 (sign, dst, op1) => substR subst code (I.Int32 sign) I.SIGNEXT16TO32 (sign, dst, op1) *) | I.EXT32TO64 (sign, dst as I.COUPLE _, op1) => let val (code, dst) = save (substDstCoupleR subst code dst) val (code, op1) = substOperandR subst code op1 in (code, I.EXT32TO64 (sign, dst, op1)) end | I.EXT32TO64 (I.U, I.MEM (ty, mem), op1) => let val (code, mem) = substMem subst code mem val (code, op1) = substOperandRI subst code op1 in (code, I.EXT32TO64 (I.U, I.MEM (ty, mem), op1)) end | I.EXT32TO64 _ => raise Control.Bug "substInsn: EXT32TO64" | I.DOWN32TO8 (sign, dst, op1) => substMove I.DOWN32TO8 subst code (sign, dst, op1) | I.DOWN32TO16 (sign, dst, op1) => substMove I.DOWN32TO16 subst code (sign, dst, op1) | I.ADD (ty, dst, op1, op2) => substRmRmi3 subst code I.ADD (ty, dst, op1, op2) | I.SUB (ty, dst, op1, op2) => substRmRmi3 subst code I.SUB (ty, dst, op1, op2) | I.MUL ((ty as I.Int32 _, dst), (ty1 as I.Int32 _, op1), (ty2 as I.Int32 _, op2)) => let val (code, dst) = save (substDstR subst code dst) val (code, op1) = substOperandRMI subst code op1 val (code, op2) = substOperandRMI subst code op2 val (code, op1, op2) = if (case (op1, op2) of (I.CONST _, I.CONST _) => true | (I.REF (_, I.MEM _), I.REF (_, I.MEM _)) => true | _ => false) then let val v1 = newVar ty1 val code = RTLEdit.insertBefore (code, [I.MOVE (ty1, I.REG v1, op1)]) in (code, I.REF_ (I.REG v1), op2) end else (code, op1, op2) in (code, case op1 of I.REF (_, I.MEM _) => I.MUL ((ty, dst), (ty2, op2), (ty1, op1)) | _ => I.MUL ((ty, dst), (ty1, op1), (ty2, op2))) end | I.MUL ((ty as I.Int64 _, dst), (op1Ty as I.Int32 _, op1), (op2Ty as I.Int32 _, op2)) => let val (code, dst) = save (substDstCoupleR subst code dst) val (code, op1) = substOperandR subst code op1 val (code, op2) = substOperandRM subst code op2 in (code, I.MUL ((ty, dst), (op1Ty, op1), (op2Ty, op2))) end | I.MUL _ => raise Control.Bug "substInsn: MUL" | I.DIVMOD ({div=(divTy as I.Int32 _, ddiv), mod=(modTy as I.Int32 _, dmod)}, (op1Ty as I.Int64 _, op1), (op2Ty as I.Int32 _, op2)) => let val (code, ddiv) = save (substDstR subst code ddiv) val (code, dmod) = save (substDstR subst code dmod) val (code, op1) = substOperandCoupleR subst code op1 val (code, op2) = substOperandRM subst code op2 in (code, I.DIVMOD ({div=(divTy,ddiv), mod=(modTy,dmod)}, (op1Ty,op1), (op2Ty,op2))) end | I.DIVMOD _ => raise Control.Bug "substInsn: DIVMOD" | I.AND (ty, dst, op1, op2) => substRmRmi3 subst code I.AND (ty, dst, op1, op2) | I.OR (ty, dst, op1, op2) => substRmRmi3 subst code I.OR (ty, dst, op1, op2) | I.XOR (ty, dst, op1, op2) => substRmRmi3 subst code I.XOR (ty, dst, op1, op2) | I.LSHIFT (ty, dst, op1, op2) => substRmRi3 subst code I.LSHIFT (ty, dst, op1, op2) | I.RSHIFT (ty, dst, op1, op2) => substRmRi3 subst code I.RSHIFT (ty, dst, op1, op2) | I.ARSHIFT (ty, dst, op1, op2) => substRmRi3 subst code I.ARSHIFT (ty, dst, op1, op2) | I.TEST_SUB (ty, op1, op2) => substRmRmiTest subst code I.TEST_SUB (ty, op1, op2) | I.TEST_AND (ty, op1, op2) => substRmRmiTest subst code I.TEST_AND (ty, op1, op2) | I.TEST_LABEL (ty, op1, l) => let val (code, op1) = substOperandRM subst code op1 in (code, I.TEST_LABEL (ty, op1, l)) end | I.NOT (ty, dst, op1) => substRm subst code I.NOT (ty, dst, op1) | I.NEG (ty, dst, op1) => substRm subst code I.NEG (ty, dst, op1) | I.SET (cc, ty, dst, {test}) => let val (code, test) = substInsn subst code test val (code, dst) = save (substDstR subst code dst) in (code, I.SET (cc, ty, dst, {test=test})) end | I.LOAD_FP dst => let val (code, dst) = substDstRM subst code dst in (code, I.LOAD_FP dst) end | I.LOAD_SP dst => let val (code, dst) = substDstRM subst code dst in (code, I.LOAD_SP dst) end | I.LOAD_PREV_FP dst => let val (code, dst) = save (substDstR subst code dst) in (code, I.LOAD_PREV_FP dst) end | I.LOAD_RETADDR dst => let val (code, dst) = save (substDstR subst code dst) in (code, I.LOAD_RETADDR dst) end (* | I.SAVE_FP op1 => let val (code, op1) = substOperandRM subst code op1 in (code, I.SAVE_FP op1) end | I.SAVE_SP op1 => let val (code, op1) = substOperandRM subst code op1 in (code, I.SAVE_SP op1) end *) | I.LOADABSADDR {ty, dst, symbol, thunk} => let val ty = RTLUtils.labelTy symbol val (code, dst) = save (substDstR subst code dst) in (code, I.LOADABSADDR {ty=ty, dst=dst, symbol=symbol, thunk=thunk}) end | I.X86 (I.X86LEAINT (ty, dst, {base, shift, offset, disp})) => let val (code, base) = load (substVar subst code base) val (code, offset) = load (substVar subst code base) val (code, dst) = save (substDstR subst code dst) in (code, I.X86 (I.X86LEAINT (ty, dst, {base=base, shift=shift, offset=offset, disp=disp}))) end (* | I.X86 (I.X86HI8OF16 (sign, dst, op1)) => let val (code, dst) = save (substDstR subst code (I.Int8 sign, dst)) val (code, op1) = substOperandRM subst code op1 in (code, I.X86 (I.X86HI8OF16 (sign, dst, op1))) end *) | I.X86 (I.X86FLD (ty, mem)) => substFP subst code I.X86FLD (ty, mem) | I.X86 (I.X86FLD_ST st1) => (code, insn) | I.X86 (I.X86FST (ty, mem)) => substFP subst code I.X86FST (ty, mem) | I.X86 (I.X86FSTP (ty, mem)) => substFP subst code I.X86FSTP (ty, mem) | I.X86 (I.X86FSTP_ST st1) => (code, insn) | I.X86 (I.X86FADD (ty, mem)) => substFP subst code I.X86FADD (ty, mem) | I.X86 (I.X86FADD_ST (st1, st2)) => (code, insn) | I.X86 (I.X86FADDP st1) => (code, insn) | I.X86 (I.X86FSUB (ty, mem)) => substFP subst code I.X86FSUB (ty, mem) | I.X86 (I.X86FSUB_ST (st1, st2)) => (code, insn) | I.X86 (I.X86FSUBP st1) => (code, insn) | I.X86 (I.X86FSUBR (ty, mem)) => substFP subst code I.X86FSUBR (ty, mem) | I.X86 (I.X86FSUBR_ST (st1, st2)) => (code, insn) | I.X86 (I.X86FSUBRP st1) => (code, insn) | I.X86 (I.X86FMUL (ty, mem)) => substFP subst code I.X86FMUL (ty, mem) | I.X86 (I.X86FMUL_ST (st1, st2)) => (code, insn) | I.X86 (I.X86FMULP st1) => (code, insn) | I.X86 (I.X86FDIV (ty, mem)) => substFP subst code I.X86FDIV (ty, mem) | I.X86 (I.X86FDIV_ST (st1, st2)) => (code, insn) | I.X86 (I.X86FDIVP st1) => (code, insn) | I.X86 (I.X86FDIVR (ty, mem)) => substFP subst code I.X86FDIVR (ty, mem) | I.X86 (I.X86FDIVR_ST (st1, st2)) => (code, insn) | I.X86 (I.X86FDIVRP st1) => (code, insn) | I.X86 (I.X86FPREM) => (code, insn) | I.X86 (I.X86FABS) => (code, insn) | I.X86 (I.X86FCHS) => (code, insn) | I.X86 I.X86FINCSTP => (code, insn) | I.X86 (I.X86FFREE st) => (code, insn) | I.X86 (I.X86FXCH st) => (code, insn) | I.X86 (I.X86FUCOM st) => (code, insn) | I.X86 (I.X86FUCOMP st) => (code, insn) | I.X86 I.X86FUCOMPP => (code, insn) (* | I.X86 (I.X86FSTSW (dst, test)) => let val (code, test) = substInsn subst code test val (code, dst) = substDstRM subst code dst in (code, I.X86 (I.X86FSTSW (dst, test))) end *) | I.X86 (I.X86FSW_TESTH {clob,mask}) => (code, I.X86 (I.X86FSW_TESTH {clob = substClob subst clob, mask = mask})) | I.X86 (I.X86FSW_MASKCMPH {clob,mask,compare}) => (code, I.X86 (I.X86FSW_MASKCMPH {clob = substClob subst clob, mask = mask, compare = compare})) | I.X86 (I.X86FLDCW mem) => let val (code, dst) = substMem subst code mem in (code, I.X86 (I.X86FLDCW mem)) end | I.X86 (I.X86FNSTCW mem) => let val (code, dst) = substMem subst code mem in (code, I.X86 (I.X86FNSTCW mem)) end | I.X86 I.X86FWAIT => (code, insn) | I.X86 I.X86FNCLEX => (code, insn) fun substLast subst last = case last of I.HANDLE (insn, {nextLabel, handler}) => let val code = RTLEdit.singletonLast (RTLEdit.jump nextLabel) val (code, insn) = substInsn subst code insn val (code, _) = RTLEdit.insertLastAfter (code, fn l => I.HANDLE (insn, {nextLabel=l, handler=handler})) in code end | I.CJUMP {test, cc, thenLabel, elseLabel} => let val code = RTLEdit.singletonFirst I.ENTER val (code, test) = substInsn subst code test in if RTLEdit.atLast code then RTLEdit.insertLast (code, I.CJUMP {test=test, cc=cc, thenLabel=thenLabel, elseLabel=elseLabel}) else let val ty = I.Int8 I.U val v = newVar ty val code = RTLEdit.insertBefore (code, [I.SET (cc, ty, I.REG v, {test=test})]) val code = RTLEdit.gotoLast code val r = I.REF_ (I.REG v) in RTLEdit.insertLast (code, I.CJUMP {test=I.TEST_AND (ty, r, r), cc=I.NOTEQUAL, thenLabel=thenLabel, elseLabel=elseLabel}) end end | I.CALL {callTo, returnTo, handler, defs, uses, needStabilize, postFrameAdjust} => let val code = RTLEdit.singletonLast (RTLEdit.jump returnTo) val (code, callTo) = substAddr subst code callTo val (code, defs) = save (substVarList subst code defs) val (code, uses) = load (substVarList subst code uses) val (code, _) = RTLEdit.insertLastAfter (code, fn l => I.CALL {callTo=callTo, returnTo=l, handler=handler, defs=defs, uses=uses, needStabilize=needStabilize, postFrameAdjust=postFrameAdjust}) in code end | I.JUMP {jumpTo, destinations} => let val code = RTLEdit.singletonFirst I.ENTER val (code, jumpTo) = substAddr subst code jumpTo in RTLEdit.insertLast (code, I.JUMP {jumpTo=jumpTo, destinations=destinations}) end | I.UNWIND_JUMP {jumpTo, fp, sp, uses, handler} => let val code = RTLEdit.singletonFirst I.ENTER val (code, jumpTo) = substAddr subst code jumpTo val (code, fp) = substOperandRM subst code fp val (code, sp) = substOperandRM subst code sp val (code, uses) = load (substVarList subst code uses) in RTLEdit.insertLast (code, I.UNWIND_JUMP {jumpTo=jumpTo, fp=fp, sp=sp, uses=uses, handler=handler}) end | I.TAILCALL_JUMP {preFrameSize, jumpTo, uses} => let val code = RTLEdit.singletonFirst I.ENTER val (code, jumpTo) = substAddr subst code jumpTo val (code, uses) = load (substVarList subst code uses) in RTLEdit.insertLast (code, I.TAILCALL_JUMP {preFrameSize=preFrameSize, jumpTo=jumpTo, uses=uses}) end | I.RETURN {preFrameSize, stubOptions, uses} => let val code = RTLEdit.singletonFirst I.ENTER val (code, uses) = load (substVarList subst code uses) in RTLEdit.insertLast (code, I.RETURN {preFrameSize=preFrameSize, stubOptions=stubOptions, uses=uses}) end | I.EXIT => RTLEdit.singletonLast last fun substFirst subst first = case first of I.ENTER => RTLEdit.singletonFirst first | I.BEGIN {label, align, loc} => RTLEdit.singletonFirst first | I.CODEENTRY {label, symbol, scope, align, preFrameSize, stubOptions, defs, loc} => let val code = RTLEdit.singletonFirst I.ENTER val (code, defs) = save (substVarList subst code defs) in RTLEdit.insertFirst (code, I.CODEENTRY {label=label, symbol=symbol, scope=scope, align=align, preFrameSize=preFrameSize, stubOptions=stubOptions, defs=defs, loc=loc}) end | I.HANDLERENTRY {label, align, defs, loc} => let val code = RTLEdit.singletonFirst I.ENTER val (code, defs) = save (substVarList subst code defs) in RTLEdit.insertFirst (code, I.HANDLERENTRY {label=label, align=align, defs=defs, loc=loc}) end fun substitute subst graph = RTLEdit.extend (fn RTLEdit.FIRST first => RTLEdit.unfocus (substFirst subst first) | RTLEdit.MIDDLE insn => let val code = RTLEdit.singletonFirst I.ENTER val (code, insn) = substInsn subst code insn in RTLEdit.unfocus (RTLEdit.insertBefore (code, [insn])) end | RTLEdit.LAST last => RTLEdit.unfocus (substLast subst last)) graph end smlsharp-1.2.0/src/compiler/runtimetypes0000755 000000000000000000000000012050661606020575 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/runtimetypes/main0000755 000000000000000000000000012050661606021521 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/runtimetypes/main/RuntimeTypes.ppg0000644 000000000000000000000570512050661606024767 0ustar00rootroot0000000 0000000 (** * runtime types * * @copyright (c) 2008, 2011, Tohoku University. * @author UENO Katsuhiro *) structure RuntimeTypes = struct (*% *) datatype ty = UCHARty (* unsigned char *) | INTty (* int *) | UINTty (* unsigned int *) | BOXEDty (* heap object pointer *) | POINTERty (* void * *) | CODEPOINTERty (* pointer to code segment *) | DOUBLEty (* double precision floating-point *) | FLOATty (* single precision floating-point *) (* Ohori: used in name elaborator *) fun eq (ty1, ty2) = case (ty1, ty2) of (UCHARty, UCHARty) => true | (INTty, INTty) => true | (UINTty, UINTty) => true | (BOXEDty, BOXEDty) => true | (POINTERty, POINTERty) => true | (CODEPOINTERty, CODEPOINTERty) => true | (DOUBLEty,DOUBLEty) => true | (FLOATty, FLOATty) => true | _ => false (* Ohori: temporary definition used in elaborator *) fun findRuntimeTy name = case name of "UCHARty" => SOME UCHARty | "char" => SOME UCHARty | "INTty" => SOME INTty | "int" => SOME INTty | "int32" => SOME INTty | "UINTty" => SOME UINTty | "word" => SOME UINTty | "word32" => SOME UINTty | "BOXEDty" => SOME BOXEDty | "boxed" => SOME BOXEDty | "POINTERty" => SOME POINTERty | "CODEPOINTERty" => SOME CODEPOINTERty | "DOUBLEty" => SOME DOUBLEty | "real" => SOME DOUBLEty | "word64" => SOME DOUBLEty | "FLOATty" => SOME FLOATty | _ => NONE (* Ohori: moved from TypeLayout.sml *) fun runtimeTyOfBuiltinTy ty = case ty of BuiltinTypeNames.INTty => INTty | BuiltinTypeNames.INTINFty => BOXEDty | BuiltinTypeNames.WORDty => UINTty | BuiltinTypeNames.WORD8ty => UCHARty | BuiltinTypeNames.CHARty => UCHARty | BuiltinTypeNames.STRINGty => BOXEDty | BuiltinTypeNames.REALty => DOUBLEty | BuiltinTypeNames.REAL32ty => FLOATty | BuiltinTypeNames.UNITty => UINTty | BuiltinTypeNames.PTRty => POINTERty | BuiltinTypeNames.ARRAYty => BOXEDty | BuiltinTypeNames.VECTORty => BOXEDty | BuiltinTypeNames.EXNty => BOXEDty | BuiltinTypeNames.BOXEDty => BOXEDty | BuiltinTypeNames.EXNTAGty => BOXEDty | BuiltinTypeNames.REFty => BOXEDty | BuiltinTypeNames.BOOLty => UCHARty | BuiltinTypeNames.LISTty => BOXEDty | BuiltinTypeNames.OPTIONty => BOXEDty | BuiltinTypeNames.ORDERty => UCHARty | BuiltinTypeNames.SERVERty => BOXEDty | BuiltinTypeNames.DBIty => UCHARty | BuiltinTypeNames.VALUEty => BOXEDty | BuiltinTypeNames.CONNty => BOXEDty | BuiltinTypeNames.DBty => BOXEDty | BuiltinTypeNames.TABLEty => BOXEDty | BuiltinTypeNames.ROWty => BOXEDty | BuiltinTypeNames.RESULTty => BOXEDty | BuiltinTypeNames.RELty => BOXEDty | BuiltinTypeNames.QUERYty => BOXEDty | BuiltinTypeNames.COMMANDty => BOXEDty end smlsharp-1.2.0/src/compiler/runtimetypes/main/RuntimeTypes.ppg.smi0000644 000000000000000000000064112050661606025550 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../builtin2/main/BuiltinTypeNames.ppg.smi" structure RuntimeTypes = struct datatype ty = BOXEDty | CODEPOINTERty | DOUBLEty | FLOATty | INTty | POINTERty | UCHARty | UINTty val format_ty : ty -> SMLFormat.FormatExpression.expression list val runtimeTyOfBuiltinTy : BuiltinTypeNames.bty -> ty end smlsharp-1.2.0/src/compiler/runtimetypes/main/TypeLayout.smi0000644 000000000000000000000132712050661606024434 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../annotatedtypes/main/AnnotatedTypes.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../builtin2/main/BuiltinTypes.smi" _require "../../types/main/Types.ppg.smi" _require "../../types/main/TypesUtils.smi" _require "RuntimeTypes.ppg.smi" structure TypeLayout = struct val runtimeTy : AnnotatedTypes.btvEnv -> AnnotatedTypes.ty -> RuntimeTypes.ty option val tagOf : RuntimeTypes.ty -> int datatype alignComputation = TRAILING_ZEROES val sizeOf : RuntimeTypes.ty -> int val maxSize : int val alignComputation : alignComputation val bitmapWordBits : int end smlsharp-1.2.0/src/compiler/runtimetypes/main/TypeLayout.sml0000644 000000000000000000001114012050661606024431 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro *) structure TypeLayout : sig val runtimeTy : AnnotatedTypes.btvEnv -> AnnotatedTypes.ty -> RuntimeTypes.ty option val tagOf : RuntimeTypes.ty -> int datatype alignComputation = TRAILING_ZEROES val sizeOf : RuntimeTypes.ty -> int val maxSize : int val alignComputation : alignComputation val bitmapWordBits : int end = struct structure T = Types structure AT = AnnotatedTypes structure R = RuntimeTypes (* ToDo: ad-hoc translation of Types into AnnotatedTypes only for * determining runtimeTy. This should be done at StaticAnalysis, or * Types and AnnotatedTypes should be integrated. *) val boxedty = AT.CONty {tyCon = BuiltinTypes.boxedTyCon, args=[]} fun transformTy subst ty = case ty of T.SINGLETONty (T.INSTCODEty _) => boxedty | T.SINGLETONty (T.INDEXty _) => AT.SINGLETONty (AT.SIZEty AT.ERRORty) | T.SINGLETONty (T.TAGty _) => AT.SINGLETONty (AT.TAGty AT.ERRORty) | T.SINGLETONty (T.SIZEty _) => AT.SINGLETONty (AT.SIZEty AT.ERRORty) | T.ERRORty => AT.ERRORty | T.DUMMYty x => AT.DUMMYty x | T.TYVARty (ref (T.TVAR _)) => AT.ERRORty | T.TYVARty (ref (T.SUBSTITUTED ty)) => transformTy subst ty | T.FUNMty _ => boxedty | T.RECORDty _ => boxedty | T.CONSTRUCTty {tyCon, args} => AT.CONty {tyCon = tyCon, args = map (transformTy subst) args} | T.POLYty _ => AT.ERRORty (* never appear *) | T.BOUNDVARty tid => case BoundTypeVarID.Map.find (subst, tid) of NONE => AT.BOUNDVARty tid | SOME ty => ty fun tpappTy (ty, args) = case TypesUtils.derefTy ty of T.POLYty {boundtvars, body} => let val subst = ListPair.foldlEq (fn (tid, arg, z) => BoundTypeVarID.Map.insert (z, tid, arg)) BoundTypeVarID.Map.empty (BoundTypeVarID.Map.listKeys boundtvars, args) in transformTy subst body end | ty => transformTy BoundTypeVarID.Map.empty ty fun runtimeTy btvEnv ty = case ty of AT.SINGLETONty (AT.INSTCODEty _) => SOME R.BOXEDty | AT.SINGLETONty (AT.INDEXty _) => SOME R.UINTty | AT.SINGLETONty (AT.TAGty _) => SOME R.UINTty | AT.SINGLETONty (AT.SIZEty _) => SOME R.UINTty | AT.SINGLETONty (AT.RECORDSIZEty _) => SOME R.UINTty | AT.SINGLETONty (AT.RECORDBITMAPty _) => SOME R.UINTty | AT.ERRORty => NONE | AT.DUMMYty _ => SOME R.INTty | AT.FUNMty {funStatus = {codeStatus,...},...} => ( case codeStatus of ref AT.LOCAL => SOME R.CODEPOINTERty (* local function entry *) | _ => SOME R.BOXEDty (* function closure *) ) | AT.MVALty _ => NONE | AT.RECORDty _ => SOME R.BOXEDty | AT.POLYty {boundtvars, body} => runtimeTy (BoundTypeVarID.Map.unionWith #2 (btvEnv, boundtvars)) body | AT.CONty {tyCon, args} => ( case #dtyKind tyCon of T.BUILTIN ty => SOME (RuntimeTypes.runtimeTyOfBuiltinTy ty) | T.OPAQUE {opaqueRep, revealKey} => ( case opaqueRep of T.TYCON tyCon => runtimeTy btvEnv (AT.CONty {tyCon=tyCon, args=args}) | T.TFUNDEF {iseq, arity, polyTy} => runtimeTy btvEnv (tpappTy (polyTy, args)) ) | Types.DTY => SOME (RuntimeTypes.runtimeTyOfBuiltinTy (#runtimeTy tyCon)) ) | AT.BOUNDVARty tid => case BoundTypeVarID.Map.find (btvEnv, tid) of SOME {tvarKind=AT.UNIV,...} => NONE | SOME {tvarKind=AT.OPRIMkind _,...} => NONE | SOME {tvarKind=AT.REC _,...} => SOME R.BOXEDty | NONE => NONE fun tagOf ty = case ty of R.UCHARty => 0 | R.INTty => 0 | R.UINTty => 0 | R.BOXEDty => 1 | R.POINTERty => 0 | R.CODEPOINTERty => 0 | R.DOUBLEty => 0 | R.FLOATty => 0 datatype alignComputation = TRAILING_ZEROES (* FIXME: ILP32 layout is hard-coded. *) fun sizeOf ty = case ty of R.UCHARty => 1 | R.INTty => 4 | R.UINTty => 4 | R.BOXEDty => 4 | R.POINTERty => 4 | R.CODEPOINTERty => 4 | R.DOUBLEty => 8 | R.FLOATty => 4 (* the largest size object which has the most strict alignment constraint. *) (* ASSERT(maxSize mod sizeOf BOXEDty = 0) *) val maxSize = 16 (* how to compute alignment constraint from size *) val alignComputation = TRAILING_ZEROES val bitmapWordBits = 32 (* = sizeof(UINTty) * 8 *) end smlsharp-1.2.0/src/compiler/smlsharp.smi0000644 000000000000000000000020512050661606020444 0ustar00rootroot0000000 0000000 _require "../basis.smi" (* provided for users in interactive mode *) _require "../prelude.smi" _require "main/main/SimpleMain.smi" smlsharp-1.2.0/src/compiler/smlsharp.sml0000644 000000000000000000000025312050661606020452 0ustar00rootroot0000000 0000000 val commandLineName = CommandLine.name () val commandArgs = CommandLine.arguments () val status = Main.main (commandLineName, commandArgs) val () = OS.Process.exit status smlsharp-1.2.0/src/compiler/sqlcompilation0000755 000000000000000000000000012050661606021063 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/sqlcompilation/main0000755 000000000000000000000000012050661606022007 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/sqlcompilation/main/SQLCompilation.smi0000644 000000000000000000000217412050661606025442 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../recordcalc/main/RecordCalc.ppg.smi" _require "../../types/main/Types.ppg.smi" _require "../../types/main/TypesUtils.smi" _require "../../builtin2/main/BuiltinPrimitive.ppg.smi" _require "../../builtin2/main/BuiltinTypes.smi" _require "../../util/main/BigInt_IntInf.smi" (* SQLCompilation.sml:213.36-213.55 Error: (type inference 007) operator and operand don't agree operator domain: Word32.word(t47[]) * (pos(t177[]) * pos(t177[])) operand: 'MH::{word(t1[]), SMLSharp.Word8.word(t2[]), ('MF::{word(t1[]), word(t1[]) option(t16[])}, 'MG) value(t24[]) } * (pos(t177[]) * pos(t177[])) *) structure SQLCompilation = struct val compile : RecordCalc.rcdecl list -> RecordCalc.rcdecl list end smlsharp-1.2.0/src/compiler/sqlcompilation/main/SQLCompilation.sml0000644 000000000000000000004550212050661606025447 0ustar00rootroot0000000 0000000 (** * SQL compilation. * * @copyright (c) 2010, Tohoku University. * @author Hiroki Endo * @author UENO Katsuhiro *) structure SQLCompilation : sig val compile : RecordCalc.rcdecl list -> RecordCalc.rcdecl list end = struct structure R = RecordCalc structure T = Types structure A = Absyn structure BT = BuiltinTypes fun mapi f l = let fun loop (i, nil) = nil | loop (i, h::t) = f (i, h) :: loop (i + 1, t) in loop (1, l) end fun newVar ty = let val id = VarID.generate () in {id = id, path = ["$" ^ VarID.toString id], ty = ty} : T.varInfo end fun StringConst (const, loc) = (R.RCCONSTANT {const = A.STRING (const, loc), ty = BT.stringTy, loc = loc}, BT.stringTy) fun IntConst (const, loc) = (R.RCCONSTANT {const = A.INT ({radix=StringCvt.DEC, digits=Int.toString const}, loc), ty = BT.intTy, loc = loc}, BT.intTy) fun WordConst (const, loc) = (R.RCCONSTANT {const = A.WORD ({radix=StringCvt.DEC, digits=Word.toString const}, loc), ty = BT.wordTy, loc = loc}, BT.wordTy) fun CharConst (const, loc) = (R.RCCONSTANT {const = A.CHAR (const, loc), ty = BT.charTy, loc = loc}, BT.charTy) fun RealConst (const, loc) = (R.RCCONSTANT {const = A.REAL (const, loc), ty = BT.realTy, loc = loc}, BT.realTy) fun UnitConst loc = (R.RCCONSTANT {const = A.UNITCONST loc, ty = BT.unitTy, loc = loc}, BT.unitTy) fun Var (varInfo as {path, id, ty}:T.varInfo, loc) = (R.RCVAR (varInfo, loc), ty) fun Seq (exps, loc) = let val (exps, tys) = ListPair.unzip exps val resultTy = List.last tys handle Empty => raise Control.Bug "Seq" in (R.RCSEQ {expList = exps, expTyList = tys, loc = loc}, resultTy) end fun MonoLet ((bindExp, bindTy), loc) = let val var = newVar bindTy val bind = (var, bindExp) in (fn (bodyExp, bodyTy:T.ty) => (case bodyExp of R.RCMONOLET {binds, bodyExp, loc=loc2} => R.RCMONOLET {binds=bind::binds, bodyExp=bodyExp, loc = Loc.mergeLocs (loc, loc2)} | _ => R.RCMONOLET {binds=[bind], bodyExp=bodyExp, loc=loc}, bodyTy), var) end fun Record (nil, loc) = UnitConst loc | Record (fields, loc) = let fun fromList list = List.foldl (fn ((key, item), m) => LabelEnv.insert (m, key, item)) LabelEnv.empty list val fieldExps = fromList (map (fn (l,(e,t)) => (l,e)) fields) val fieldTys = fromList (map (fn (l,(e,t)) => (l,t)) fields) val ty = T.RECORDty fieldTys in (R.RCRECORD {fields = fieldExps, recordTy = ty, loc = loc}, ty) end fun RecordTy nil = BT.unitTy | RecordTy fields = let fun fromList list = List.foldl (fn ((key, item), m) => LabelEnv.insert (m, key, item)) LabelEnv.empty list in T.RECORDty (fromList fields) end fun Tuple (exps, loc) = case exps of nil => UnitConst loc | [x] => x | _::_::_ => Record (mapi (fn (i,x) => (Int.toString i, x)) exps, loc) fun List (exps, elemTy, loc) = let val (exps, tys) = ListPair.unzip exps val listTyCon = BT.listTyCon val listTy = T.CONSTRUCTty {tyCon = listTyCon, args = [elemTy]} val consConInfo = BT.consTPConInfo val nilConInfo = BT.nilTPConInfo in foldr (fn (exp, z) => let val tupleTermTy = (Tuple ([(exp, elemTy), z], loc)) in (R.RCDATACONSTRUCT {con = consConInfo, instTyList = [elemTy], argExpOpt = SOME (#1 tupleTermTy), argTyOpt = SOME (#2 tupleTermTy), loc = loc}, listTy) end ) (R.RCDATACONSTRUCT {con = nilConInfo, instTyList = [elemTy], argExpOpt = NONE, argTyOpt = NONE, loc = loc}, listTy) exps end fun ListTy elemTy = let val listTyCon = BT.listTyCon in T.CONSTRUCTty {tyCon = listTyCon, args = [elemTy]} end fun MonoPrimApply (prim, retTy, args, loc) = let val (argExp, argTy) = Tuple (args, loc) val primTy = T.FUNMty ([argTy], retTy) in (R.RCPRIMAPPLY {primOp = {primitive = prim, ty = primTy}, instTyList = nil, argExp = argExp, loc = loc}, retTy) end fun IntAdd (arg1, arg2, loc) = MonoPrimApply (BuiltinPrimitive.Int_add BuiltinPrimitive.NoOverflowCheck, BT.intTy, [arg1, arg2], loc) fun StringSize ((R.RCCONSTANT {const=A.STRING (s1,_), ...}, _), loc) = IntConst (size s1, loc) | StringSize (arg, loc) = MonoPrimApply (BuiltinPrimitive.String_size, BT.intTy, [arg], loc) fun StringAlloc (arg, loc) = MonoPrimApply (BuiltinPrimitive.String_allocArray, BT.stringTy, [arg], loc) fun StringCopy {src, si, dst, di, len, loc} = MonoPrimApply (BuiltinPrimitive.String_copy_unsafe, BT.unitTy, [src, si, dst, di, len], loc) fun StringConcat ((R.RCCONSTANT {const=A.STRING (s1,_), ...}, _), (R.RCCONSTANT {const=A.STRING (s2,_), ...}, _), loc) = StringConst (s1 ^ s2, loc) | StringConcat (arg1, arg2, loc) = let (* * let n1 = String_size s1 * n2 = String_size s2 * size = n1 + n2 * dst = String_array (size, 0) * String_copy_unsafe (s1, 0, dst, 0, n1) * String_copy_unsafe (s2, 0, dst, n1, n2) * in dst *) val (bind1, var_s1) = MonoLet (arg1, loc) val (bind2, var_s2) = MonoLet (arg2, loc) val (bind3, var_n1) = MonoLet (StringSize (Var (var_s1, loc), loc), loc) val (bind4, var_n2) = MonoLet (StringSize (Var (var_s2, loc), loc), loc) val dstSize = IntAdd (Var (var_n1, loc), Var (var_n2, loc), loc) val (bind5, var_dst) = MonoLet (StringAlloc (dstSize, loc), loc) in (bind1 o bind2 o bind3 o bind4 o bind5) (Seq ([StringCopy {src = Var (var_s1, loc), si = IntConst (0, loc), dst = Var (var_dst, loc), di = IntConst (0, loc), len = Var (var_n1, loc), loc = loc}, StringCopy {src = Var (var_s2, loc), si = IntConst (0, loc), dst = Var (var_dst, loc), di = Var (var_n1, loc), len = Var (var_n2, loc), loc = loc}, Var (var_dst, loc)], loc)) end fun BoolConst (b, loc) = let val conInfo = if b then BT.trueTPConInfo else BT.falseTPConInfo in (R.RCDATACONSTRUCT {con = conInfo, instTyList = nil, argExpOpt = NONE, argTyOpt = NONE, loc = loc}, #ty conInfo) end fun BoolTy () = T.CONSTRUCTty {tyCon = BT.boolTyCon, args = []} fun Some ((argExp, argTy), loc) = let val conInfo = BT.SOMETPConInfo val monoTy = TypesUtils.tpappTy (#ty conInfo, [argTy]) val retTy = case TypesUtils.derefTy monoTy of T.FUNMty (args, retTy) => retTy | _ => raise Control.Bug "MonoDataCon" in (R.RCDATACONSTRUCT {con = conInfo, instTyList = [argTy], argExpOpt = SOME argExp, argTyOpt = SOME argTy, loc = loc}, retTy) end fun compileColumn (colname, ty, loc) = let fun compile ty = case TypesUtils.derefTy ty of T.CONSTRUCTty {tyCon={id,...}, args=nil} => if TypID.eq (id, #id BT.intTyCon) then ("int", false, IntConst (0, loc)) else if TypID.eq (id, #id BT.wordTyCon) then ("word", false, WordConst (0w0, loc)) else if TypID.eq (id, #id BT.charTyCon) then ("char", false, CharConst (#"\000", loc)) else if TypID.eq (id, #id BT.stringTyCon) then ("string", false, StringConst ("", loc)) else if TypID.eq (id, #id BT.realTyCon) then ("real", false, RealConst ("0.0", loc)) else if TypID.eq (id, #id BT.boolTyCon) then ("bool", false, BoolConst (false, loc)) else raise Control.Bug "compileColumn" | T.CONSTRUCTty {tyCon={id,...}, args=[argTy]} => if TypID.eq (id, #id BT.optionTyCon) then let val (tyname, null, witness) = compile argTy in (tyname, true, Some (witness, loc)) end else raise Control.Bug "compileColumn: option" | _ => raise Control.Bug "compileColumn: _" val (tyname, null, witness) = compile ty in {column = Record ([("colname", StringConst (colname, loc)), ("typename", StringConst (tyname, loc)), ("isnull", BoolConst (null, loc))], loc), witness = (colname, witness)} end fun compileTable (tableName, columnTyMap, loc) = let val columns = map (fn (label, ty) => compileColumn (label, ty, loc)) (LabelEnv.listItemsi columnTyMap) val elemTy = RecordTy [("colname", BT.stringTy), ("typename", BT.stringTy), ("isnull", BoolTy ())] in {table = Record ([("1", StringConst (tableName, loc)), ("2", List (map #column columns, elemTy, loc))], loc), witness = (tableName, Record (map #witness columns, loc))} end fun compileSchema (tableTyMap, loc) = let val tables = map (fn (label, table) => compileTable (label, table, loc)) (LabelEnv.listItemsi tableTyMap) val elemTy = RecordTy [("1", BT.stringTy), ("2", ListTy (RecordTy [("colname", BT.stringTy), ("typename", BT.stringTy), ("isnull", BoolTy ())]))] in {schema = List (map #table tables, elemTy, loc), witness = Record (map #witness tables, loc)} end fun compileSQLServer (server, schema, resultTy, loc) = let val server = StringConst (server, loc) val {schema, witness} = compileSchema (schema, loc) val conInfo = BT.SERVERTPConInfo val instTyList = case TypesUtils.derefTy resultTy of T.CONSTRUCTty {tyCon, args} => args | _ => raise Control.Bug "compileSQLServer" val tupleTermTy = (Tuple ([server, schema, witness], loc)) in R.RCDATACONSTRUCT {con = conInfo, instTyList = instTyList, argExpOpt = SOME (#1 tupleTermTy), argTyOpt = SOME (#2 tupleTermTy), loc = loc} end fun compileSqlexp (rcsqlexp, resultTy, loc) = case rcsqlexp of R.RCSQLSERVER {server, schema} => compileSQLServer (server, schema, resultTy, loc) and compileExp rcexp = case rcexp of R.RCFOREIGNAPPLY {funExp, foreignFunTy, argExpList, loc} => R.RCFOREIGNAPPLY {funExp = compileExp funExp, argExpList = map compileExp argExpList, foreignFunTy = foreignFunTy, loc = loc} | R.RCEXPORTCALLBACK {funExp, foreignFunTy, loc} => R.RCEXPORTCALLBACK {funExp = compileExp funExp, foreignFunTy = foreignFunTy, loc = loc} | R.RCTAGOF (ty, loc) => R.RCTAGOF (ty, loc) | R.RCSIZEOF (ty, loc) => R.RCSIZEOF (ty, loc) | R.RCINDEXOF (label, recordTy, loc) => R.RCINDEXOF (label, recordTy, loc) | R.RCCONSTANT {const, ty, loc} => R.RCCONSTANT {const=const, ty=ty, loc=loc} | R.RCGLOBALSYMBOL symbol => R.RCGLOBALSYMBOL symbol | R.RCVAR (varInfo, loc) => R.RCVAR (varInfo, loc) | R.RCEXVAR (exVarInfo, loc) => R.RCEXVAR (exVarInfo, loc) | R.RCPRIMAPPLY {primOp, instTyList, argExp, loc} => R.RCPRIMAPPLY {primOp = primOp, instTyList = instTyList, argExp = compileExp argExp, loc = loc} | R.RCOPRIMAPPLY {oprimOp, instTyList, argExp, loc} => R.RCOPRIMAPPLY {oprimOp = oprimOp, instTyList = instTyList, argExp = compileExp argExp, loc = loc} | R.RCDATACONSTRUCT {con, instTyList, argExpOpt, argTyOpt, loc} => R.RCDATACONSTRUCT {con = con, instTyList = instTyList, argExpOpt = Option.map compileExp argExpOpt, argTyOpt = argTyOpt, loc = loc} | R.RCEXNCONSTRUCT {exn, instTyList, argExpOpt, loc} => R.RCEXNCONSTRUCT {exn = exn, instTyList = instTyList, argExpOpt = Option.map compileExp argExpOpt, loc = loc} | R.RCEXN_CONSTRUCTOR {exnInfo, loc} => (* FIXME check this *) R.RCEXN_CONSTRUCTOR {exnInfo=exnInfo, loc=loc} | R.RCEXEXN_CONSTRUCTOR {exExnInfo, loc} => (* FIXME check this *) R.RCEXEXN_CONSTRUCTOR {exExnInfo=exExnInfo, loc=loc} | R.RCAPPM {funExp, funTy, argExpList, loc} => R.RCAPPM {funExp = compileExp funExp, funTy = funTy, argExpList = map compileExp argExpList, loc = loc} | R.RCMONOLET {binds, bodyExp, loc} => R.RCMONOLET {binds = map (fn (v,e) => (v, compileExp e)) binds, bodyExp = compileExp bodyExp, loc = loc} | R.RCLET {decls, body, tys, loc} => R.RCLET {decls = map compileDecl decls, body = map compileExp body, tys = tys, loc = loc} | R.RCRECORD {fields, recordTy, loc} => R.RCRECORD {fields = LabelEnv.map compileExp fields, recordTy = recordTy, loc = loc} | R.RCSELECT {indexExp, label, exp, expTy, resultTy, loc} => R.RCSELECT {indexExp = compileExp indexExp, label = label, exp = compileExp exp, expTy = expTy, resultTy = resultTy, loc = loc} | R.RCMODIFY {indexExp, label, recordExp, recordTy, elementExp, elementTy, loc} => R.RCMODIFY {indexExp = compileExp indexExp, label = label, recordExp = compileExp recordExp, recordTy = recordTy, elementExp = compileExp elementExp, elementTy = elementTy, loc = loc} | R.RCRAISE {exp, ty, loc} => R.RCRAISE {exp = compileExp exp, ty = ty, loc = loc} | R.RCHANDLE {exp, exnVar, handler, loc} => R.RCHANDLE {exp = compileExp exp, exnVar = exnVar, handler = compileExp handler, loc = loc} | R.RCCASE {exp, expTy, ruleList, defaultExp, loc} => R.RCCASE {exp = compileExp exp, expTy = expTy, ruleList = map (fn (c,v,e) => (c, v, compileExp e)) ruleList, defaultExp = compileExp defaultExp, loc = loc} | R.RCEXNCASE {exp, expTy, ruleList, defaultExp, loc} => R.RCEXNCASE {exp = compileExp exp, expTy = expTy, ruleList = map (fn (c,v,e) => (c, v, compileExp e)) ruleList, defaultExp = compileExp defaultExp, loc = loc} | R.RCSWITCH {switchExp, expTy, branches, defaultExp, loc} => R.RCSWITCH {switchExp = compileExp switchExp, expTy = expTy, branches = map (fn (c,e) => (c, compileExp e)) branches, defaultExp = compileExp defaultExp, loc = loc} | R.RCFNM {argVarList, bodyTy, bodyExp, loc} => R.RCFNM {argVarList = argVarList, bodyTy = bodyTy, bodyExp = compileExp bodyExp, loc = loc} | R.RCPOLYFNM {btvEnv, argVarList, bodyTy, bodyExp, loc} => R.RCPOLYFNM {btvEnv = btvEnv, argVarList = argVarList, bodyTy = bodyTy, bodyExp = compileExp bodyExp, loc = loc} | R.RCPOLY {btvEnv, expTyWithoutTAbs, exp, loc} => R.RCPOLY {btvEnv = btvEnv, expTyWithoutTAbs = expTyWithoutTAbs, exp = compileExp exp, loc = loc} | R.RCTAPP {exp, expTy, instTyList, loc} => R.RCTAPP {exp = compileExp exp, expTy = expTy, instTyList = instTyList, loc = loc} | R.RCSEQ {expList, expTyList, loc} => R.RCSEQ {expList = map compileExp expList, expTyList = expTyList, loc = loc} | R.RCCAST (rcexp, ty, loc) => R.RCCAST (compileExp rcexp, ty, loc) | R.RCSQL exp => compileSqlexp exp | R.RCFFI (R.RCFFIIMPORT {ptrExp, ffiTy}, ty, loc) => R.RCFFI (R.RCFFIIMPORT {ptrExp = compileExp ptrExp, ffiTy = ffiTy}, ty, loc) and compileDecl rcdecl = case rcdecl of R.RCVAL (bindList, loc) => R.RCVAL (map (fn (v,e) => (v, compileExp e)) bindList, loc) | R.RCVALREC (bindList, loc) => R.RCVALREC (map (fn {var, expTy, exp} => {var=var, expTy=expTy, exp=compileExp exp}) bindList, loc) | R.RCVALPOLYREC (btvEnv, bindList, loc) => R.RCVALPOLYREC (btvEnv, map (fn {var, expTy, exp} => {var=var, expTy=expTy, exp=compileExp exp}) bindList, loc) | R.RCEXD (binds, loc) => R.RCEXD (binds, loc) | R.RCEXNTAGD (bind, loc) => (* FIXME check this *) R.RCEXNTAGD (bind, loc) | R.RCEXPORTVAR {externalVar, internalVar, loc} => R.RCEXPORTVAR {externalVar=externalVar, internalVar=internalVar, loc=loc} | R.RCEXPORTEXN (exnInfo, loc) => R.RCEXPORTEXN (exnInfo, loc) | R.RCEXTERNVAR (exVarInfo, loc) => R.RCEXTERNVAR (exVarInfo, loc) | R.RCEXTERNEXN (exExnInfo, loc) => R.RCEXTERNEXN (exExnInfo, loc) fun compile decls = map compileDecl decls end smlsharp-1.2.0/src/compiler/staticanalysis0000755 000000000000000000000000012050661606021060 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/staticanalysis/main0000755 000000000000000000000000012050661606022004 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/staticanalysis/main/ReduceTy.smi0000644 000000000000000000000460612050661606024327 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../builtin2/main/BuiltinTypeNames.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../types/main/Types.ppg.smi" _require "../../types/main/OPrimInstMap.smi" _require "../../types/main/TypesUtils.smi" structure ReduceTy = struct val substTy : Types.ty BoundTypeVarID.Map.map * Types.ty -> Types.ty val substSingletonTy : Types.ty BoundTypeVarID.Map.map * Types.singletonTy -> Types.singletonTy val substoprimSelector : Types.ty BoundTypeVarID.Map.map * {instMap:Types.overloadMatch OPrimInstMap.map, keyTyList:Types.ty list, match:Types.overloadMatch, oprimId:OPrimID.id, path:IDCalc.path} -> Types.oprimSelector val substMatch : Types.ty BoundTypeVarID.Map.map * Types.overloadMatch -> Types.overloadMatch val substInstMap : Types.ty BoundTypeVarID.Map.map * Types.overloadMatch OPrimInstMap.map -> Types.overloadMatch OPrimInstMap.map val reduceTyCon : {arity:int, conSet:{hasArg:bool} SEnv.map, dtyKind:Types.dtyKind, extraArgs:Types.ty list, id:IDCalc.typId, iseq:bool, path:IDCalc.path, runtimeTy:BuiltinTypeNames.bty} -> {arity:int, conSet:{hasArg:bool} SEnv.map, dtyKind:Types.dtyKind, extraArgs:Types.ty list, id:IDCalc.typId, iseq:bool, path:IDCalc.path, runtimeTy:BuiltinTypeNames.bty} val reduceTy : Types.ty -> Types.ty val reduceSingletonTy : Types.singletonTy -> Types.singletonTy val reduceOprimSelector : {instMap:Types.overloadMatch OPrimInstMap.map, keyTyList:Types.ty list, match:Types.overloadMatch, oprimId:OPrimID.id, path:IDCalc.path} -> Types.oprimSelector val reduceMatch : Types.overloadMatch -> Types.overloadMatch val reduceInstMap : Types.overloadMatch OPrimInstMap.map -> Types.overloadMatch OPrimInstMap.map end smlsharp-1.2.0/src/compiler/staticanalysis/main/ReduceTy.sml0000644 000000000000000000001246712050661606024336 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2012- Tohoku University. * @author Atsushi Ohori *) structure ReduceTy = struct structure T = Types fun substTy (subst,ty) = case TypesUtils.derefTy ty of T.SINGLETONty singletonTy => T.SINGLETONty (substSingletonTy(subst, singletonTy)) | T.ERRORty => ty | T.DUMMYty dummyTyID => ty | T.TYVARty tvStateRef => ty | T.BOUNDVARty id => (case BoundTypeVarID.Map.find(subst, id) of SOME ty => ty | NONE => ty ) | T.FUNMty (tylist, ty) => T.FUNMty (map (fn ty => substTy(subst,ty)) tylist, substTy(subst, ty) ) | T.RECORDty tymap => T.RECORDty (LabelEnv.map (fn ty => substTy(subst, ty)) tymap) | T.CONSTRUCTty {tyCon as {arity,dtyKind,...}, args} => let val args = map (fn ty => substTy(subst, ty)) args in T.CONSTRUCTty {tyCon=tyCon, args=args} end | T.POLYty {boundtvars, body} => T.POLYty {boundtvars=boundtvars, body=substTy(subst,body)} and substSingletonTy (subst, ty) = case ty of T.INSTCODEty oprimSelector => T.INSTCODEty (substoprimSelector (subst,oprimSelector)) | T.INDEXty (string, ty) => T.INDEXty (string, substTy(subst, ty)) | T.TAGty ty => T.TAGty (substTy(subst, ty)) | T.SIZEty ty => T.SIZEty (substTy(subst, ty)) and substoprimSelector (subst, {oprimId, path, keyTyList, match, instMap}) = {oprimId=oprimId, path=path, keyTyList=map (fn ty => substTy(subst,ty)) keyTyList, match = substMatch(subst, match), instMap = substInstMap (subst,instMap)} and substMatch (subst, match) = case match of T.OVERLOAD_EXVAR {exVarInfo= {path, ty}, instTyList} => T.OVERLOAD_EXVAR {exVarInfo= {path=path, ty=substTy (subst,ty)}, instTyList=map (fn ty=> substTy(subst,ty)) instTyList} | T.OVERLOAD_PRIM {primInfo={primitive, ty}, instTyList} => T.OVERLOAD_PRIM {primInfo={primitive=primitive, ty=substTy(subst,ty)}, instTyList=map (fn ty=> substTy(subst,ty)) instTyList} | T.OVERLOAD_CASE (ty, overloadMatchTypIdMap) => T.OVERLOAD_CASE (substTy(subst, ty), TypID.Map.map (fn match => substMatch(subst,match)) overloadMatchTypIdMap) and substInstMap (subst,instMap) = OPrimInstMap.map (fn match=> substMatch(subst,match)) instMap fun reduceTyCon (tyCon as {id, path, iseq, arity, runtimeTy, conSet, extraArgs, dtyKind}) = case dtyKind of T.DTY => tyCon | T.BUILTIN _ => tyCon | T.OPAQUE {opaqueRep, revealKey} => (case opaqueRep of T.TYCON tyCon => reduceTyCon tyCon | T.TFUNDEF _ => tyCon) fun reduceTy ty = case TypesUtils.derefTy ty of T.SINGLETONty singletonTy => T.SINGLETONty (reduceSingletonTy singletonTy) | T.ERRORty => ty | T.DUMMYty dummyTyID => ty | T.TYVARty tvStateRef => ty | T.BOUNDVARty id => ty | T.FUNMty (tylist, ty) => T.FUNMty (map reduceTy tylist, reduceTy ty) | T.RECORDty tymap => T.RECORDty (LabelEnv.map reduceTy tymap) | T.CONSTRUCTty {tyCon as {arity,dtyKind,...}, args} => let val args = map reduceTy args val tyCon as {dtyKind, ...} = reduceTyCon tyCon in case dtyKind of T.DTY => T.CONSTRUCTty {tyCon=tyCon, args=args} | T.BUILTIN _ => T.CONSTRUCTty {tyCon=tyCon, args=args} | T.OPAQUE {opaqueRep, revealKey} => (case opaqueRep of T.TYCON tyCon => T.CONSTRUCTty {tyCon=tyCon, args=args} | T.TFUNDEF {polyTy=T.POLYty {boundtvars, body}, ...} => let val btvTyList = ListPair.zip (BoundTypeVarID.Map.listKeys boundtvars, args) val subst = foldr (fn ((id,ty), subst) => BoundTypeVarID.Map.insert(subst, id, ty)) BoundTypeVarID.Map.empty btvTyList in substTy(subst,body) end | _ => raise (Control.Bug ("ReduceTy: " ^ "non polyty in TFUNDEF")) ) end | T.POLYty {boundtvars, body} => T.POLYty {boundtvars=boundtvars, body=reduceTy body} and reduceSingletonTy ty = case ty of T.INSTCODEty oprimSelector => T.INSTCODEty (reduceOprimSelector oprimSelector) | T.INDEXty (string, ty) => T.INDEXty (string, reduceTy ty) | T.TAGty ty => T.TAGty (reduceTy ty) | T.SIZEty ty => T.SIZEty (reduceTy ty) and reduceOprimSelector {oprimId, path, keyTyList, match, instMap} = {oprimId=oprimId, path=path, keyTyList=map reduceTy keyTyList, match = reduceMatch match, instMap = reduceInstMap instMap} and reduceMatch match = case match of T.OVERLOAD_EXVAR {exVarInfo= {path, ty}, instTyList} => T.OVERLOAD_EXVAR {exVarInfo= {path=path, ty=reduceTy ty}, instTyList=map reduceTy instTyList} | T.OVERLOAD_PRIM {primInfo={primitive, ty}, instTyList} => T.OVERLOAD_PRIM {primInfo={primitive=primitive, ty=reduceTy ty}, instTyList=map reduceTy instTyList} | T.OVERLOAD_CASE (ty, overloadMatchTypIdMap) => T.OVERLOAD_CASE (reduceTy ty, TypID.Map.map reduceMatch overloadMatchTypIdMap) and reduceInstMap instMap = OPrimInstMap.map reduceMatch instMap end smlsharp-1.2.0/src/compiler/staticanalysis/main/SACONSTRAINT.sig0000644 000000000000000000000114712050661606024502 0ustar00rootroot0000000 0000000 (** * SAConstraint * @copyright (c) 2006, Tohoku University. * @author Huu-Duc Nguyen * @version $$ *) signature SACONSTRAINT = sig val convertLocalType : Types.ty -> AnnotatedTypes.ty val convertGlobalType : Types.ty -> AnnotatedTypes.ty val convertSingleValueType : Types.ty -> AnnotatedTypes.ty val convertLocalBtvEnv : Types.btvEnv -> AnnotatedTypes.btvEnv val globalType : AnnotatedTypes.ty -> unit val singleValueType : AnnotatedTypes.ty -> unit val unify : AnnotatedTypes.ty * AnnotatedTypes.ty -> unit exception Unify val solve : unit -> unit val initialize : unit -> unit end smlsharp-1.2.0/src/compiler/staticanalysis/main/SAConstraint.smi0000644 000000000000000000000167012050661606025151 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../annotatedtypes/main/AnnotatedTypes.ppg.smi" _require "../../annotatedtypes/main/AnnotatedTypesUtils.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../types/main/Types.ppg.smi" _require "ReduceTy.smi" _require "SACONSTRAINT.sig" structure SAConstraint = struct val convertLocalType : Types.ty -> AnnotatedTypes.ty val convertGlobalType : Types.ty -> AnnotatedTypes.ty val convertSingleValueType : Types.ty -> AnnotatedTypes.ty val convertLocalBtvEnv : Types.btvEnv -> AnnotatedTypes.btvEnv val globalType : AnnotatedTypes.ty -> unit val singleValueType : AnnotatedTypes.ty -> unit val unify : AnnotatedTypes.ty * AnnotatedTypes.ty -> unit exception Unify val solve : unit -> unit val initialize : unit -> unit end smlsharp-1.2.0/src/compiler/staticanalysis/main/SAConstraint.sml0000644 000000000000000000005723612050661606025165 0ustar00rootroot0000000 0000000 (** * SAConstraint * @copyright (c) 2006, Tohoku University. * @author Huu-Duc Nguyen * @version $$ *) structure SAConstraint : SACONSTRAINT = struct structure T = Types structure AT = AnnotatedTypes structure ATU = AnnotatedTypesUtils fun printTy ty = print (Control.prettyPrint (AT.format_ty ty) ^ "\n") fun printBtvEnv env = print (Control.prettyPrint (AT.format_btvEnv env) ^ "\n") exception Unify datatype constraint = RECORD_EQUIV of (AT.recordAnnotation ref) * (AT.recordAnnotation ref) | FUNCTION_EQUIV of (AT.functionAnnotation ref) * (AT.functionAnnotation ref) (* StaticAnalysis keeps a set of annotation equivalent for resolving later*) val constraintsRef = ref ([] : constraint list) (* StaticAnalysis keeps a set of generic bound type variable for * resolve later *) val genericTyVars = ref (BoundTypeVarID.Set.empty) (* val btvInfo = ref (BoundTypeVarID.Map.empty : AT.btvEnv) *) (* fun btvEq (btvKind1 : AT.btvKind, btvKind2 : AT.btvKind) = case (btvKind1, btvKind2) of ({recordKind = AT.UNIV,...}, {recordKind = AT.UNIV,...}) => true | ({recordKind = AT.REC flty1,...}, {recordKind = AT.REC flty2,...}) => (List.all (fn l => case SEnv.find(flty2,l) of SOME _ => true | _ => false) (SEnv.listKeys flty1)) andalso (List.all (fn l => case SEnv.find(flty1,l) of SOME _ => true | _ => false) (SEnv.listKeys flty2)) | _ => false *) fun genericTyVar tid = genericTyVars := BoundTypeVarID.Set.add(!genericTyVars, tid) fun recordEquivalence (annotationRef1,annotationRef2) = constraintsRef := (RECORD_EQUIV(annotationRef1, annotationRef2)) :: (!constraintsRef) fun functionEquivalence (annotationRef1,annotationRef2) = constraintsRef := (FUNCTION_EQUIV(annotationRef1, annotationRef2)) :: (!constraintsRef) fun globalType ty = case ty of AT.BOUNDVARty tid => genericTyVar tid | AT.FUNMty {argTyList, bodyTy, annotation, funStatus} => ( annotation := {labels = AT.LE_GENERIC, boxed = true}; List.app globalType argTyList; globalType bodyTy ) | AT.RECORDty {fieldTypes, annotation} => ( annotation := {labels = AT.LE_GENERIC, boxed = true, align = true}; LabelEnv.app globalType fieldTypes ) | AT.CONty {tyCon, args} => List.app globalType args | AT.POLYty {boundtvars, body} => ( BoundTypeVarID.Map.appi (fn (tid,{tvarKind, ...}) => ( genericTyVar tid; globalKind tvarKind ) ) boundtvars; globalType body ) | _ => () and globalKind kind = case kind of AT.UNIV => () | AT.OPRIMkind instances => app globalType instances | AT.REC tySEnvMap => LabelEnv.app globalType tySEnvMap fun singleValueType ty = case ty of AT.FUNMty {annotation as ref {labels, ...},...} => annotation := {labels = labels, boxed = true} | AT.RECORDty {annotation as ref {labels, align,...},...} => annotation := {labels = labels, boxed = true, align = align} | _ => () (* 2012-5-19 ohori: This is added to fix the bug fun f x = #a (#b x); f {b={a=1}} Analysis of this bug: f : ['a#{b:'b}, 'b#{a:'c}, 'c. 'a -> 'a] then f {b={a=1}} is type reconstructed to f {b:{a:int}} {a:int} int This is annotated to f {b:{a:int}^{}}^{B} {a:int}^{B} int The second {a:int} is correctly annotated with {B} but the same instance type in {b:{a:int}} is not since singleValueType only converts the top-level constructore. *) fun strictlySingleValueType ty = case ty of AT.FUNMty {argTyList, bodyTy, annotation as ref {labels, ...},...} => (map strictlySingleValueType argTyList; strictlySingleValueType bodyTy; annotation := {labels = labels, boxed = true} ) | AT.RECORDty {fieldTypes, annotation as ref {labels, align,...},...} => (LabelEnv.map strictlySingleValueType fieldTypes; annotation := {labels = labels, boxed = true, align = align} ) | _ => () fun convertGlobalType ty = case ReduceTy.reduceTy ty of T.SINGLETONty sty => AT.SINGLETONty (convertGlobalSingletonTy sty) | T.ERRORty => AT.ERRORty | T.DUMMYty i => AT.DUMMYty i | T.TYVARty (ref (T.SUBSTITUTED ty)) => convertGlobalType ty | T.TYVARty (ref (T.TVAR {id,...})) => raise Control.Bug ("convertGlobalType: free type variable: " ^ FreeTypeVarID.toString id) | T.BOUNDVARty tid => AT.BOUNDVARty tid | T.FUNMty (argTyList, bodyTy) => AT.FUNMty { argTyList = map convertGlobalType argTyList, bodyTy = convertGlobalType bodyTy, funStatus = ATU.newClosureFunStatus(), annotation = ref {labels = AT.LE_GENERIC, boxed = true} } | T.RECORDty flty => AT.RECORDty { fieldTypes = LabelEnv.map convertGlobalType flty, annotation = ref {labels = AT.LE_GENERIC, boxed = true, align = true} } | T.CONSTRUCTty {tyCon, args} => AT.CONty { tyCon = tyCon, args = map convertGlobalType args } | T.POLYty {boundtvars, body} => AT.POLYty { boundtvars = convertGlobalBtvEnv boundtvars, body = convertGlobalType body } and convertGlobalSingletonTy singletonTy = case singletonTy of T.INSTCODEty {oprimId, path, keyTyList, match, instMap} => AT.INSTCODEty {oprimId = oprimId, path = path, keyTyList = map convertGlobalType keyTyList } | T.INDEXty (label, ty) => AT.INDEXty (label, convertGlobalType ty) | T.TAGty ty => AT.TAGty (convertGlobalType ty) | T.SIZEty ty => AT.SIZEty (convertGlobalType ty) and convertGlobalBtvKind (id, btvKind as {tvarKind, eqKind} : Types.btvKind) = let val _ = genericTyVar id val newTvarKind = convertGlobalRecKind tvarKind val newBtvKind = { id = id, eqKind = eqKind, tvarKind = newTvarKind } in newBtvKind end and convertGlobalBtvEnv (btvEnv : Types.btvEnv) = BoundTypeVarID.Map.mapi convertGlobalBtvKind btvEnv and convertGlobalRecKind tvarKind = case tvarKind of T.UNIV => AT.UNIV | T.REC flty => AT.REC (LabelEnv.map convertGlobalType flty) | T.OPRIMkind {instances, operators} => AT.OPRIMkind (map convertGlobalType instances) | T.OCONSTkind tyList => raise Control.Bug "convertGlobalRecKind: OVERLOADED" fun convertLocalType ty = case ReduceTy.reduceTy ty of T.SINGLETONty sty => AT.SINGLETONty (convertLocalSingletonTy sty) | T.ERRORty => AT.ERRORty | T.DUMMYty i => AT.DUMMYty i | T.TYVARty (ref (T.SUBSTITUTED ty)) => convertLocalType ty | T.TYVARty (ref (T.TVAR {id,...})) => raise Control.Bug ("convertLocalType: free type variable" ^ FreeTypeVarID.toString id) | T.BOUNDVARty tid => AT.BOUNDVARty tid | T.FUNMty (argTyList, bodyTy) => AT.FUNMty { argTyList = map convertLocalType argTyList, bodyTy = convertLocalType bodyTy, funStatus = ATU.newClosureFunStatus(), annotation = ATU.freshFunctionAnnotation () } | T.RECORDty flty => AT.RECORDty { fieldTypes = LabelEnv.map convertLocalType flty, annotation = ref {labels = AT.LE_UNKNOWN, boxed = false, align = false} } | T.CONSTRUCTty {tyCon, args} => AT.CONty { tyCon = tyCon, args = map convertSingleValueType args } | T.POLYty {boundtvars, body} => (* only for the polymorphic handle generated by PrinterGenerator*) AT.POLYty { boundtvars = convertLocalBtvEnv boundtvars, body = convertLocalType body } (* 2012-5-19 ohori. This is changed to fix the bug fun f x = #a (#b x) but and convertSingleValueType ty = let val newTy = convertLocalType ty val _ = singleValueType newTy in newTy end *) and convertSingleValueType ty = let val newTy = convertLocalType ty val _ = strictlySingleValueType newTy in newTy end and convertLocalSingletonTy ty = case ty of T.INSTCODEty {oprimId, path, keyTyList, match, instMap} => AT.INSTCODEty { oprimId = oprimId, path = path, keyTyList = map convertLocalType keyTyList } | T.INDEXty (label, ty) => AT.INDEXty (label, convertLocalType ty) | T.TAGty ty => AT.TAGty (convertLocalType ty) | T.SIZEty ty => AT.SIZEty (convertLocalType ty) and convertLocalBtvKind (id, btvKind as {tvarKind, eqKind} : Types.btvKind) = ( (* case BoundTypeVarID.Map.find(!btvInfo, id) of SOME newBtvKind => newBtvKind | NONE => *) let val newTvarKind = convertLocalRecKind tvarKind val newBtvKind = { id = id, eqKind = eqKind, tvarKind = newTvarKind } in ( (* btvInfo := (BoundTypeVarID.Map.insert(!btvInfo,id,newBtvKind)); *) newBtvKind ) end ) and convertLocalBtvEnv (btvEnv : Types.btvEnv) = BoundTypeVarID.Map.mapi convertLocalBtvKind btvEnv and convertLocalRecKind tvarKind = case tvarKind of T.UNIV => AT.UNIV | T.REC flty => AT.REC (LabelEnv.map convertLocalType flty) | T.OPRIMkind {instances, operators} => AT.OPRIMkind (map convertLocalType instances) | T.OCONSTkind tyList => raise Control.Bug "convertLocalRecKind: OVERLOADED" datatype tvState = SUBSTITUTED of BoundTypeVarID.id | TVAR of AT.btvKind fun unify btvSubst (ty1,ty2) = case (ty1,ty2) of (AT.SINGLETONty sty1, AT.SINGLETONty sty2) => unifySingletonTy btvSubst (sty1, sty2) | (AT.ERRORty, AT.ERRORty) => () | (AT.DUMMYty _, AT.DUMMYty _) => () | (AT.BOUNDVARty tid1, AT.BOUNDVARty tid2) => ( case (BoundTypeVarID.Map.find (#1 btvSubst, tid1), BoundTypeVarID.Map.find (#2 btvSubst, tid2)) of (SOME (ref (SUBSTITUTED id1)), SOME (ref (SUBSTITUTED id2))) => if BoundTypeVarID.eq (id1, id2) then () else raise Unify | (SOME (r1 as ref (TVAR kind1)), SOME (r2 as ref (TVAR kind2))) => (unifyBtvKind btvSubst (kind1, kind2); r1 := SUBSTITUTED tid1; r2 := SUBSTITUTED tid1) | (NONE, NONE) => if BoundTypeVarID.eq (tid1, tid2) then () else raise Unify | (t1, t2) => let val s1 = Control.prettyPrint (AT.format_ty ty1) val s2 = Control.prettyPrint (AT.format_ty ty2) in raise Unify before print ("Unification fails (2) " ^ s1 ^ "," ^ s2) end ) | (AT.FUNMty {argTyList=argTyList1, bodyTy=bodyTy1, annotation = annotation1,...}, AT.FUNMty {argTyList=argTyList2, bodyTy=bodyTy2, annotation = annotation2,...} ) => ( ListPair.app (unify btvSubst) (argTyList1,argTyList2); unify btvSubst (bodyTy1,bodyTy2); functionEquivalence (annotation1,annotation2) ) | (AT.RECORDty {fieldTypes = fieldTypes1, annotation = annotation1}, AT.RECORDty {fieldTypes = fieldTypes2, annotation = annotation2} ) => ( ListPair.app (unify btvSubst) (LabelEnv.listItems fieldTypes1, LabelEnv.listItems fieldTypes2); recordEquivalence (annotation1,annotation2) ) | (AT.CONty {tyCon=tyCon1, args = args1}, AT.CONty {tyCon=tyCon2, args = args2}) => ListPair.app (unify btvSubst) (args1,args2) | (AT.POLYty {boundtvars = boundtvars1, body=body1}, AT.POLYty {boundtvars = boundtvars2, body=body2}) => let val toBtvSubst = BoundTypeVarID.Map.map (fn kind => ref (TVAR kind)) val btv1 = toBtvSubst boundtvars1 val btv2 = toBtvSubst boundtvars2 val btvSubst = (BoundTypeVarID.Map.unionWith #2 (#1 btvSubst, btv1), BoundTypeVarID.Map.unionWith #2 (#2 btvSubst, btv2)) in unify btvSubst (body1, body2) end | _ => let val s1 = Control.prettyPrint (AT.format_ty ty1) val s2 = Control.prettyPrint (AT.format_ty ty2) in raise Unify before (print "Unification fails (3)\n"; print s1; print "\n"; print s2; print "\n" ) end and unifySingletonTy btvSubst (ty1,ty2) = case (ty1,ty2) of (AT.INSTCODEty {oprimId=id1, path=_, keyTyList=tys1}, AT.INSTCODEty {oprimId=id2, path=_, keyTyList=tys2}) => (if OPrimID.eq (id1, id2) then () else raise Unify; ListPair.appEq (unify btvSubst) (tys1, tys2) handle ListPair.UnequalLengths => raise Unify) | (AT.INDEXty (l1, ty1), AT.INDEXty (l2, ty2)) => (if l1 = l2 then () else raise Unify; unify btvSubst (ty1, ty2)) | (AT.SIZEty ty1, AT.SIZEty ty2) => unify btvSubst (ty1, ty2) | (AT.TAGty ty1, AT.TAGty ty2) => unify btvSubst (ty1, ty2) | (AT.RECORDSIZEty ty1, AT.RECORDSIZEty ty2) => unify btvSubst (ty1, ty2) | (AT.RECORDBITMAPty (i1,ty1), AT.RECORDBITMAPty (i2,ty2)) => (if i1 = i2 then () else raise Unify; unify btvSubst (ty1, ty2)) | (AT.INSTCODEty _, _) => raise Unify | (AT.INDEXty _, _) => raise Unify | (AT.SIZEty _, _) => raise Unify | (AT.TAGty _, _) => raise Unify | (AT.RECORDSIZEty _, _) => raise Unify | (AT.RECORDBITMAPty _, _) => raise Unify and unifyRecKind btvSubst (tvarKind1 : AT.tvarKind, tvarKind2 : AT.tvarKind) = case (tvarKind1, tvarKind2) of (AT.UNIV, AT.UNIV) => () | (AT.REC flty1, AT.REC flty2) => ListPair.app (unify btvSubst) (LabelEnv.listItems flty1, LabelEnv.listItems flty2) | (AT.OPRIMkind I1, AT.OPRIMkind I2) => () | _ => raise Control.Bug "inconsistent reckind to unifyRecKind\ \ (staticanalysis/main/SAConstraint.sml)" and unifyBtvKind btvSubst (btvKind1 : AT.btvKind, btvKind2 : AT.btvKind) = unifyRecKind btvSubst (#tvarKind btvKind1, #tvarKind btvKind2) val unify = fn tys => unify (BoundTypeVarID.Map.empty, BoundTypeVarID.Map.empty) tys (* (* is a polymorphic type is instanciated with a list of instance types, * we may need to perform unification if some instance type refer to * the same type * E.g. * polymorphic type : \forall{t1#{a:t2},t2}.\sigma * instance argument types : {{a:\tau1,b:int},\tau2} * we need to unify the conversion of \tau1 and \tau2 *) fun addInstances (btvEnv : AT.btvEnv, tyList) = let val instanceMap = ref (BoundTypeVarID.Map.empty : AT.ty BoundTypeVarID.Map.map) fun instanceUnify (generalTy,instanceTy) = case (generalTy,instanceTy) of (AT.ERRORty, AT.ERRORty) => () | (AT.DUMMYty _, AT.DUMMYty _) => () | (AT.BOUNDVARty tid1, _) => ( case BoundTypeVarID.Map.find(btvEnv,tid1) of SOME {tvarKind, ...} => ( case BoundTypeVarID.Map.find(!instanceMap, tid1) of SOME ty => unify(ty,instanceTy) | _ => instanceMap := BoundTypeVarID.Map.insert(!instanceMap, tid1, instanceTy); case tvarKind of AT.REC flty1 => let val flty2 = case instanceTy of AT.RECORDty {fieldTypes, ...} => fieldTypes | AT.BOUNDVARty tid2 => ( case BoundTypeVarID.Map.find(!btvInfo, tid2) of SOME {tvarKind = AT.REC fieldTypes,...} => fieldTypes | _ => (print "outr btvenv\n"; printBtvEnv (!btvInfo); print "instTylist\n"; map printTy tyList; print "btvEnv\n"; printBtvEnv btvEnv; print "instTy\n"; printTy instanceTy; raise Control.Bug "invalid instance" ) ) | _ => let val s1 = Control.prettyPrint (AT.format_ty generalTy) val s2 = Control.prettyPrint (AT.format_ty instanceTy) in raise Control.Bug ("invalid instance:" ^ s1 ^ "," ^ s2) end in instanceUnifyFieldTypes (flty1,flty2) end | _ => () ) | _ => () ) | (AT.FUNMty {argTyList=argTyList1, bodyTy=bodyTy1, annotation = annotation1,...}, AT.FUNMty {argTyList=argTyList2, bodyTy=bodyTy2, annotation = annotation2,...} ) => ( ListPair.app instanceUnify (argTyList1,argTyList2); instanceUnify (bodyTy1,bodyTy2); functionEquivalence (annotation1,annotation2) ) | (AT.RECORDty {fieldTypes = fieldTypes1, annotation = annotation1}, AT.RECORDty {fieldTypes = fieldTypes2, annotation = annotation2} ) => ( ListPair.app instanceUnify (SEnv.listItems fieldTypes1, SEnv.listItems fieldTypes2); recordEquivalence (annotation1,annotation2) ) | (AT.CONty {args = args1,...},AT.CONty {args = args2,...}) => ListPair.app instanceUnify (args1, args2) | (AT.POLYty {body=body1,...}, AT.POLYty {body=body2,...}) => raise Control.Bug "never unifying second order type" | _ => let val s1 = Control.prettyPrint (AT.format_ty generalTy) val s2 = Control.prettyPrint (AT.format_ty instanceTy) in raise Control.Bug ("Unification fails (4) " ^ s1 ^ "," ^ s2) end and instanceUnifyFieldTypes (flty1,flty2) = SEnv.appi (fn (label,ty1) => case SEnv.find(flty2,label) of SOME ty2 => instanceUnify (ty1,ty2) | NONE => raise Control.Bug "record field not found" ) flty1 fun addInstance (tid, ty) = ( singleValueType ty; instanceUnify (AT.BOUNDVARty tid, ty); case BoundTypeVarID.Map.find(!btvInfo, tid) of SOME {instancesRef,...} => instancesRef := ty::(!instancesRef) | _ => () (*global type variables always have generic representation *) ) in ListPair.app addInstance (BoundTypeVarID.Map.listKeys btvEnv, tyList) end *) fun solveAnnotation () = let val flag = ref true fun labelsDiff (AT.LE_GENERIC, AT.LE_GENERIC) = false | labelsDiff (AT.LE_UNKNOWN, AT.LE_UNKNOWN) = false | labelsDiff (AT.LE_LABELS S1, AT.LE_LABELS S2) = not (AnnotationLabelID.Set.equal(S1,S2)) | labelsDiff _ = true fun unifyLabels (labels1,labels2) = case (labels1,labels2) of (AT.LE_GENERIC,_) => AT.LE_GENERIC | (_,AT.LE_GENERIC) => AT.LE_GENERIC | (AT.LE_UNKNOWN,_) => labels2 | (_,AT.LE_UNKNOWN) => labels1 | (AT.LE_LABELS lset1,AT.LE_LABELS lset2) => AT.LE_LABELS (AnnotationLabelID.Set.union(lset1,lset2)) fun loop () = if !flag then ( (* print "aaaaa\n"; *) flag := false; List.app (fn (RECORD_EQUIV (ann1 as ref {labels=labels1, boxed=boxed1, align=align1}, ann2 as ref {labels=labels2, boxed=boxed2, align=align2})) => let val ann = { labels = unifyLabels (labels1, labels2), boxed = boxed1 orelse boxed2, align = align1 orelse align2 } val _ = if labelsDiff(labels1,labels2) orelse (boxed1 <> boxed2) orelse (align1 <> align2) then flag := true else () in (ann1 := ann; ann2 := ann) end | (FUNCTION_EQUIV (ann1 as ref {labels=labels1, boxed=boxed1}, ann2 as ref {labels=labels2, boxed=boxed2})) => let val ann = { labels = unifyLabels (labels1, labels2), boxed = boxed1 orelse boxed2 } val _ = if labelsDiff(labels1,labels2) orelse (boxed1 <> boxed2) then flag := true else () in (ann1 := ann; ann2 := ann) end) (!constraintsRef); loop () ) else () in loop () end fun solve () = solveAnnotation () fun initialize () = ( constraintsRef := ([] : constraint list); (* btvInfo := (BoundTypeVarID.Map.empty : AT.btvEnv); *) genericTyVars := BoundTypeVarID.Set.empty ) end smlsharp-1.2.0/src/compiler/staticanalysis/main/SACONTEXT.sig0000644 000000000000000000000143312050661606024140 0ustar00rootroot0000000 0000000 (** * SAContext * @copyright (c) 2006, Tohoku University. * @author Huu-Duc Nguyen * @version $$ *) signature SACONTEXT = sig type context val empty : context val insertVariable : context -> AnnotatedCalc.varInfo -> context val insertVariables : context -> (AnnotatedCalc.varInfo list) -> context val insertExVar : context -> AnnotatedCalc.exVarInfo -> context val insertBtvEnv : context -> AnnotatedTypes.btvEnv -> context val lookupVariable : context -> TypedLambda.varInfo -> Loc.loc -> AnnotatedCalc.varInfo val lookupExVar : context -> TypedLambda.exVarInfo -> Loc.loc -> AnnotatedCalc.exVarInfo val lookupTid : context -> BoundTypeVarID.id -> AnnotatedTypes.btvKind val fieldType : context -> (AnnotatedTypes.ty * string) -> AnnotatedTypes.ty end smlsharp-1.2.0/src/compiler/staticanalysis/main/SAContext.smi0000644 000000000000000000000252312050661606024447 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "SACONTEXT.sig" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../../compiler-utils/env/main/PathEnv.smi" _require "../../annotatedcalc/main/AnnotatedCalc.ppg.smi" _require "../../annotatedtypes/main/AnnotatedTypes.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../typedlambda/main/TypedLambda.ppg.smi" structure SAContext = struct type context = {varEnv : AnnotatedCalc.varInfo VarID.Map.map, exVarEnv : AnnotatedCalc.exVarInfo PathEnv.map, btvEnv : AnnotatedCalc.btvEnv} val empty : context val insertVariable : context -> AnnotatedCalc.varInfo -> context val insertVariables : context -> (AnnotatedCalc.varInfo list) -> context val insertExVar : context -> AnnotatedCalc.exVarInfo -> context val insertBtvEnv : context -> AnnotatedTypes.btvEnv -> context val lookupVariable : context -> TypedLambda.varInfo -> Loc.loc -> AnnotatedCalc.varInfo val lookupExVar : context -> TypedLambda.exVarInfo -> Loc.loc -> AnnotatedCalc.exVarInfo val lookupTid : context -> BoundTypeVarID.id -> AnnotatedTypes.btvKind val fieldType : context -> (AnnotatedTypes.ty * string) -> AnnotatedTypes.ty end smlsharp-1.2.0/src/compiler/staticanalysis/main/SAContext.sml0000644 000000000000000000000550012050661606024450 0ustar00rootroot0000000 0000000 (** * SAContext * @copyright (c) 2006, Tohoku University. * @author Huu-Duc Nguyen * @version $$ *) structure SAContext : SACONTEXT = struct structure VEnv = VarID.Map structure AT = AnnotatedTypes structure AC = AnnotatedCalc type context = {varEnv : AC.varInfo VEnv.map, exVarEnv : AC.exVarInfo PathEnv.map, btvEnv : AT.btvEnv} val empty = {varEnv = VEnv.empty, exVarEnv = PathEnv.empty, btvEnv = BoundTypeVarID.Map.empty} : context fun insertVariable (context as {varEnv, exVarEnv, btvEnv} : context) (varInfo as {id,...}) = { varEnv = VEnv.insert(varEnv, id, varInfo), exVarEnv = exVarEnv, btvEnv = btvEnv } fun insertVariables context [] = context | insertVariables context (var::rest) = insertVariables (insertVariable context var) rest fun insertExVar (context:context) (exVarInfo as {path,...}) = { varEnv = #varEnv context, exVarEnv = PathEnv.insert (#exVarEnv context, path, exVarInfo), btvEnv = #btvEnv context } : context fun insertBtvEnv ({varEnv, exVarEnv, btvEnv} : context) btvKinds = { varEnv = varEnv, exVarEnv = exVarEnv, btvEnv = BoundTypeVarID.Map.foldli (fn (tid, btvKind, S) => BoundTypeVarID.Map.insert(S, tid, btvKind)) btvEnv btvKinds } fun lookupVariable ({varEnv,...} : context) ({path, id, ty}:TypedLambda.varInfo) loc = case VEnv.find(varEnv, id) of SOME varInfo => varInfo | NONE => raise Control.BugWithLoc ("variable not found:" ^ String.concatWith "." path ^ "(" ^ (VarID.toString id) ^ ")", loc) fun lookupExVar ({exVarEnv,...} : context) ({path, ty}:TypedLambda.exVarInfo) loc = case PathEnv.find (exVarEnv, path) of SOME varInfo => varInfo | NONE => raise Control.BugWithLoc ("exvar not found (SAContext):" ^ String.concatWith "." path, loc) fun lookupTid ({btvEnv,...} : context) tid = case BoundTypeVarID.Map.find(btvEnv, tid) of SOME btvKind => btvKind | NONE => raise Control.Bug ("type variable not found " ^ (BoundTypeVarID.toString tid)) fun fieldType (context as {btvEnv,...} : context) (recordType, label) = let fun ft flty = case LabelEnv.find(flty, label) of SOME ty => ty | _ => raise Control.Bug "label not found" in case recordType of AT.RECORDty {fieldTypes,...} => ft fieldTypes | AT.BOUNDVARty tid => ( case #tvarKind (lookupTid context tid) of AT.REC flty => ft flty | _ => raise Control.Bug "invalid record tyvar" ) | _ => raise Control.Bug "invalid record tyvar" end end smlsharp-1.2.0/src/compiler/staticanalysis/main/StaticAnalysis.smi0000644 000000000000000000000147012050661606025532 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../annotatedcalc/main/AnnotatedCalc.ppg.smi" _require "../../annotatedcalc/main/AnnotatedCalcFormatter.smi" _require "../../annotatedtypes/main/AnnotatedTypes.ppg.smi" _require "../../annotatedtypes/main/AnnotatedTypesUtils.smi" _require "../../constantterm/main/ConstantTerm.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../typedlambda/main/TypedLambda.ppg.smi" _require "../../types/main/Types.ppg.smi" _require "../../types/main/TypesUtils.smi" _require "SAConstraint.smi" _require "SAContext.smi" structure StaticAnalysis = struct val analyse : TypedLambda.tldecl list -> AnnotatedCalc.acdecl list end smlsharp-1.2.0/src/compiler/staticanalysis/main/StaticAnalysis.sml0000644 000000000000000000005056012050661606025541 0ustar00rootroot0000000 0000000 (** * Static Analysis * @copyright (c) 2006, Tohoku University. * @author Huu-Duc Nguyen * @version $$ *) structure StaticAnalysis : sig val analyse : TypedLambda.tldecl list -> AnnotatedCalc.acdecl list end = struct structure T = Types structure TU = TypesUtils structure AT = AnnotatedTypes structure ATU = AnnotatedTypesUtils structure TL = TypedLambda structure CTX = SAContext structure CST = SAConstraint structure CT = ConstantTerm open AnnotatedCalc fun printAtexp atexp = print (AnnotatedCalcFormatter.acexpToString atexp) fun printTlexp tlexp = ( print (Control.prettyPrint (TL.format_tlexp [] tlexp)); print "\n" ) fun printATty aty = ( print (Control.prettyPrint (AT.format_ty aty)); print "\n" ) fun printTldecl tldecl = ( print (Control.prettyPrint (TL.format_tldecl [] tldecl)); print "\n" ) fun bug s = Control.Bug ("StaticAnalysis:" ^ s) fun rootExp (TL.TLCAST {exp,...}) = rootExp exp | rootExp exp = exp fun inferExp context tlexp = case tlexp of TL.TLFOREIGNAPPLY {funExp, foreignFunTy, argExpList, loc} => let val (newFunExp, _) = inferExp context funExp val (newArgExpList, newArgTyList) = inferExpList context argExpList (* arguments/return values, which are passed and received from * a foreign function should have global type, e.g. record should * boxed and aligned *) val _ = List.app CST.globalType newArgTyList val bodyTy = CST.convertGlobalType (#resultTy foreignFunTy) val newForeignFunTy = { argTyList = newArgTyList, resultTy = bodyTy, attributes = #attributes foreignFunTy } in ( ACFOREIGNAPPLY { funExp = newFunExp, foreignFunTy = newForeignFunTy, argExpList = newArgExpList, loc = loc }, bodyTy ) end | TL.TLEXPORTCALLBACK {funExp, foreignFunTy, loc} => let val (newFunExp, newFunTy) = inferExp context funExp (* export function should have global type*) val _ = CST.globalType newFunTy val {argTyList, bodyTy, ...} = ATU.expandFunTy newFunTy in ( ACEXPORTCALLBACK { funExp = newFunExp, foreignFunTy = {argTyList = argTyList, resultTy = bodyTy, attributes = #attributes foreignFunTy}, loc = loc }, AT.foreignfunty ) end | TL.TLCONSTANT (v as {value, loc}) => (ACCONSTANT v, ATU.constDefaultTy value) | TL.TLGLOBALSYMBOL {name,kind,ty,loc} => let val newTy = CST.convertGlobalType ty in (ACGLOBALSYMBOL {name=name, kind=kind, ty=newTy, loc=loc}, newTy) end | TL.TLTAGOF {ty, loc} => let val newTy = CST.convertLocalType ty in (ACTAGOF {ty = newTy, loc = loc}, AT.SINGLETONty (AT.TAGty newTy)) end | TL.TLSIZEOF {ty, loc} => let val newTy = CST.convertLocalType ty in (ACSIZEOF {ty = newTy, loc = loc}, AT.SINGLETONty (AT.SIZEty newTy)) end | TL.TLINDEXOF {label, recordTy, loc} => let val newRecordTy = CST.convertLocalType recordTy in (ACINDEXOF {label=label, recordTy=newRecordTy, loc=loc}, AT.SINGLETONty (AT.INDEXty (label, newRecordTy))) end | TL.TLVAR {varInfo, loc} => (* local variable*) let val newVarInfo = CTX.lookupVariable context varInfo loc in (ACVAR{varInfo = newVarInfo, loc = loc}, #ty newVarInfo) end | TL.TLEXVAR {exVarInfo, loc} => (* gloval variable *) let val newExVarInfo = CTX.lookupExVar context exVarInfo loc in (ACEXVAR{exVarInfo = newExVarInfo, loc = loc}, #ty newExVarInfo) end | TL.TLPRIMAPPLY {primInfo as {primitive,ty},argExpList,instTyList,loc} => let val (newArgExpList, newArgTyList) = inferExpList context argExpList val primTy = CST.convertGlobalType ty (* primitive arguments may be passed to runtime functions * implemented in C. *) val newInstTyList = map CST.convertGlobalType instTyList val instTy = ATU.tpappTy (primTy, newInstTyList) val {argTyList=instArgTyList, bodyTy, ...} = ATU.expandFunTy instTy val _ = ListPair.app CST.unify (instArgTyList, newArgTyList) in ( ACPRIMAPPLY { primInfo = {primitive = primitive, ty = primTy}, argExpList = newArgExpList, instTyList = newInstTyList, loc = loc }, bodyTy ) end | TL.TLAPPM {funExp, funTy, argExpList, loc} => let val (newFunExp, newFunTy) = inferExp context funExp val (newArgExpList, newArgTyList) = inferExpList context argExpList val {argTyList, bodyTy, ...} = ATU.expandFunTy newFunTy handle (e as Control.Bug _) => (print "expandFunTy fails\n"; print "tlexp:\n"; printTlexp tlexp; print "funTy:\n"; T.printTy funTy; print "\n"; print "funExp:\n"; printTlexp funExp; print "newfunExp:\n"; printAtexp newFunExp; print "\n"; print "newFunTy:\n"; printATty newFunTy; print "\n"; raise e ) val _ = (ListPair.app CST.unify (argTyList, newArgTyList) ) handle CST.Unify => (printTlexp tlexp; print "argTyList\n"; map (fn ty => (printATty ty; print "\n")) argTyList; print "newArgTyList\n"; map (fn ty => (printATty ty; print "\n")) newArgTyList; print "\n"; raise bug "unification fail(3)") in ( ACAPPM { funExp = newFunExp, funTy = newFunTy, argExpList = newArgExpList, loc = loc }, bodyTy ) end | TL.TLLET {localDeclList, mainExp, loc} => let val (newLocalDeclList, newContext) = inferDeclList context localDeclList val (newMainExp, newMainExpTy) = inferExp newContext mainExp in ( ACLET { localDeclList = newLocalDeclList, mainExp = newMainExp, loc = loc }, newMainExpTy ) end | TL.TLRECORD {fields, recordTy, isMutable, loc} => let val (labels, expList) = ListPair.unzip (LabelEnv.listItemsi fields) val (newExpList, newExpTyList) = inferExpList context expList val newFields = ListPair.mapEq (fn (label, exp) => {label = label, fieldExp = exp}) (labels, newExpList) val newFlty = ListPair.foldl (fn (l,ty,S) => LabelEnv.insert(S,l,ty)) (LabelEnv.empty) (labels, newExpTyList) val annotationLabel = AnnotationLabelID.generate () (* local record may not need to be boxed and aligned*) val annotationRef = ref { labels = AT.LE_LABELS (AnnotationLabelID.Set.singleton(annotationLabel)), boxed = false, align = false } val newRecordTy = AT.RECORDty { fieldTypes = newFlty, annotation = annotationRef } in ( ACRECORD { fields = newFields, recordTy = newRecordTy, annotation = annotationLabel, loc = loc, isMutable = isMutable }, newRecordTy ) end | TL.TLSELECT {recordExp, indexExp, label, recordTy, resultTy, loc} => let val (newRecordExp, newRecordTy) = inferExp context recordExp val (newIndexExp, newIndexTy) = inferExp context indexExp val indexTy = AT.SINGLETONty (AT.INDEXty (label, newRecordTy)) val _ = CST.unify (newIndexTy, indexTy) handle CST.Unify => (print "TLSELECT: unification fail\n"; print "tlexp\n"; printTlexp tlexp; print "recordExp\n"; printTlexp recordExp; print "indexExp\n"; printTlexp indexExp; print "recordTy\n"; T.printTy recordTy; print "\n"; print "newRecordTy\n"; printATty newRecordTy; print "\n"; print "indexTy\n"; printATty indexTy; print "\n"; print "newIndexTy\n"; printATty newIndexTy; print "\n"; raise bug "TLSELECT: unification fail") val resultTy = CTX.fieldType context (newRecordTy, label) in ( ACSELECT { recordExp = newRecordExp, indexExp = newIndexExp, label = label, recordTy = newRecordTy, resultTy = resultTy, loc = loc }, resultTy ) end | TL.TLMODIFY {recordExp, recordTy, indexExp, label, valueExp, loc} => let val (newRecordExp, newRecordTy) = inferExp context recordExp (* record expression to be updated can not be multiple values*) val _ = CST.singleValueType newRecordTy val (newValueExp, newValueTy) = inferExp context valueExp (* updated value can not be multiple values *) val _ = CST.singleValueType newValueTy val (newIndexExp, newIndexTy) = inferExp context indexExp val _ = CST.singleValueType newIndexTy val indexTy = AT.SINGLETONty (AT.INDEXty (label, newRecordTy)) val _ = CST.unify (newIndexTy, indexTy) handle CST.Unify => raise bug "TLSELECT: unification fail" val newFieldTy = CTX.fieldType context (newRecordTy, label) val _ = CST.unify (newValueTy, newFieldTy) handle CST.Unify => (printTlexp tlexp; raise bug "unification fail(4)") in ( ACMODIFY { recordExp = newRecordExp, recordTy = newRecordTy, indexExp = newIndexExp, label = label, valueExp = newValueExp, valueTy = newValueTy, loc = loc }, newRecordTy ) end | TL.TLRAISE {argExp, resultTy, loc} => let val (newArgExp, expTy) = inferExp context argExp (* exception argument should have global type*) val _ = CST.globalType expTy (*???*) val newResultTy = CST.convertLocalType resultTy in ( ACRAISE { argExp = newArgExp, resultTy = newResultTy, loc = loc }, newResultTy ) end | TL.TLHANDLE {exp, exnVar as {path, ty, id}, handler, loc} => let val (newExp, newExpTy) = inferExp context exp val newExnVar = {path = path, ty = CST.convertGlobalType ty, id = id} val newContext = CTX.insertVariable context newExnVar val (newHandler, newHandlerTy) = inferExp newContext handler val _ = CST.unify(newExpTy, newHandlerTy) handle CST.Unify => (printTlexp tlexp; raise bug "unification fail(5)") in ( ACHANDLE { exp = newExp, exnVar = newExnVar, handler = newHandler, loc = loc }, newExpTy ) end | TL.TLFNM {argVarList, bodyTy, bodyExp, loc} => let val newArgVarList = map (fn {path, ty, id} => {path = path, ty = CST.convertLocalType ty, id = id} ) argVarList val newContext = CTX.insertVariables context newArgVarList val (newBodyExp, newBodyTy) = inferExp newContext bodyExp val annotationLabel = AnnotationLabelID.generate () (* local function may not need to be boxed*) val annotationRef = ref { labels = AT.LE_LABELS (AnnotationLabelID.Set.singleton(annotationLabel)), boxed = false } val newFunTy = AT.FUNMty { argTyList = map #ty newArgVarList, bodyTy = newBodyTy, funStatus = ATU.newClosureFunStatus(), annotation = annotationRef } in ( ACFNM { argVarList = newArgVarList, funTy = newFunTy, bodyExp = newBodyExp, annotation = annotationLabel, loc = loc }, newFunTy ) end | TL.TLPOLY {btvEnv, expTyWithoutTAbs, exp, loc} => let val newBtvEnv = CST.convertLocalBtvEnv btvEnv val newContext = CTX.insertBtvEnv context newBtvEnv val (newExp, newTy) = inferExp newContext exp val resultTy = AT.POLYty{boundtvars = newBtvEnv, body = newTy} in ( ACPOLY { btvEnv = newBtvEnv, expTyWithoutTAbs = newTy, exp = newExp, loc = loc }, resultTy ) end | TL.TLTAPP {exp, expTy, instTyList, loc} => let val (newExp, newExpTy) = inferExp context exp (* type variables are single value types, their instances should * also be single value types *) val newInstTyList = map CST.convertSingleValueType instTyList val tvars = case newExpTy of AT.POLYty {boundtvars,...} => boundtvars | _ => let val _ = print "polytype is expected bug\n" val _ = printTlexp tlexp val _ = print "expTy\n" val _ = T.printTy expTy val _ = print "\n" in raise Control.Bug "polytype is expected" end (* val _ = CST.addInstances (tvars, newInstTyList) *) val resultTy = ATU.tpappTy(newExpTy, newInstTyList) in ( ACTAPP { exp = newExp, expTy = newExpTy, instTyList = newInstTyList, loc = loc }, resultTy ) end | TL.TLSWITCH {switchExp, expTy, branches, defaultExp, loc} => let val (newSwitchExp, newSwitchTy) = inferExp context switchExp val (newDefaultExp, newDefaultTy) = inferExp context defaultExp fun proceedBranch {constant, exp} = let val (newExp, newTy) = inferExp context exp val _ = CST.unify (newDefaultTy, newTy) handle CST.Unify => (print "unification fail(6)\n"; print "tlexp\n"; printTlexp tlexp; print "exp\n"; printTlexp exp; print "defaultExp\n"; printTlexp defaultExp; print "\n"; raise bug "unification fail(6)" ) in {constant = constant, exp = newExp} end in ( ACSWITCH { switchExp = newSwitchExp, expTy = newSwitchTy, branches = map proceedBranch branches, defaultExp = newDefaultExp, loc = loc }, newDefaultTy ) end (* generic cast: both source type and target type should be global type*) | TL.TLCAST {exp, targetTy, loc} => let val (newExp, newExpTy) = inferExp context exp val _ = CST.globalType newExpTy val newTargetTy = CST.convertGlobalType targetTy in ( ACCAST { exp = newExp, expTy = newExpTy, targetTy = newTargetTy, loc = loc }, newTargetTy ) end and inferExpList context expList = ListPair.unzip (map (inferExp context) expList) and inferDecl context tldecl = case tldecl of TL.TLVAL {boundVar as {path, ty, id}, boundExp, loc} => let val (newBoundExp, newBoundTy) = inferExp context boundExp val newBoundVar = {path = path, ty = newBoundTy, id = id} val newContext = CTX.insertVariable context newBoundVar in (ACVAL {boundVar = newBoundVar, boundExp = newBoundExp, loc = loc}, newContext) end | TL.TLEXPORTVAR (varInfo as {path,...}, loc) => let val {id, ty, ...} = CTX.lookupVariable context varInfo loc val _ = CST.globalType ty val newVar = {path = path, id = id, ty = ty} in (ACEXPORTVAR {varInfo = newVar, loc = loc}, context) end | TL.TLEXTERNVAR ({path, ty}, loc) => let val newTy = CST.convertGlobalType ty val newVar = {path = path, ty = newTy} val newContext = CTX.insertExVar context newVar in (ACEXTERNVAR {exVarInfo = newVar, loc = loc}, newContext) end | TL.TLVALREC {recbindList, loc} => let val newBoundVarList = map (fn {boundVar={path, ty, id},...} => {path = path, ty = CST.convertLocalType ty, id = id}) recbindList val newContext = CTX.insertVariables context newBoundVarList fun inferBind ({boundVar, boundExp}, newBoundVar : varInfo) = let val (newBoundExp, newBoundTy) = inferExp newContext boundExp val _ = CST.unify (newBoundTy, #ty newBoundVar) handle CST.Unify => (printTldecl tldecl; raise bug "unification fail(7)") in {boundVar = newBoundVar, boundExp = newBoundExp} end in ( ACVALREC { recbindList = ListPair.map inferBind (recbindList, newBoundVarList), loc = loc }, newContext ) end and inferDeclList context ([]) = ([],context) | inferDeclList context (decl::rest) = let val (newDecl, newContext) = inferDecl context decl val (newRest, newContext) = inferDeclList newContext rest in (newDecl::newRest, newContext) end fun analyse decls = let val _ = CST.initialize () val (decls, _) = inferDeclList CTX.empty decls val _ = CST.solve () in decls end end smlsharp-1.2.0/src/compiler/systemdef0000755 000000000000000000000000012050661606020030 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/systemdef/main0000755 000000000000000000000000012050661606020754 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/systemdef/main/BasicTypeFormatters.smi0000644 000000000000000000000174212050661606025503 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "BasicTypes.smi" structure BasicTypeFormatters = struct val format_UInt8 : BasicTypes.UInt8 -> SMLFormat.FormatExpression.expression list val format_UInt16 : BasicTypes.UInt16 -> SMLFormat.FormatExpression.expression list val format_UInt24 : BasicTypes.UInt24 -> SMLFormat.FormatExpression.expression list val format_UInt32 : BasicTypes.UInt32 -> SMLFormat.FormatExpression.expression list val format_SInt8 : BasicTypes.SInt8 -> SMLFormat.FormatExpression.expression list val format_SInt16 : BasicTypes.SInt16 -> SMLFormat.FormatExpression.expression list val format_SInt24 : BasicTypes.SInt24 -> SMLFormat.FormatExpression.expression list val format_SInt32 : BasicTypes.SInt32 -> SMLFormat.FormatExpression.expression list val format_Real32 : BasicTypes.Real32 -> SMLFormat.FormatExpression.expression list val format_Real64 : BasicTypes.Real64 -> SMLFormat.FormatExpression.expression list end smlsharp-1.2.0/src/compiler/systemdef/main/BasicTypeFormatters.sml0000644 000000000000000000000205412050661606025503 0ustar00rootroot0000000 0000000 (** * SMLFormat formatters for types declared in the BasicTypes structure. * @copyright (c) 2006, Tohoku University. *) structure BasicTypeFormatters = struct (***************************************************************************) local structure BT = BasicTypes fun prefixHex string = "0x" ^ string fun formatter toString value = let val text = toString value in [SMLFormat.FormatExpression.Term (size text, text)] end in val format_UInt8 = formatter BT.UInt8.toString val format_UInt16 = formatter BT.UInt16.toString val format_UInt24 = formatter BT.UInt24.toString val format_UInt32 = formatter BT.UInt32.toString val format_SInt8 = formatter BT.SInt8.toString val format_SInt16 = formatter BT.SInt16.toString val format_SInt24 = formatter BT.SInt24.toString val format_SInt32 = formatter BT.SInt32.toString val format_Real32 = formatter BT.Real32.toString val format_Real64 = formatter BT.Real64.toString end (***************************************************************************) end smlsharp-1.2.0/src/compiler/systemdef/main/BasicTypes.smi0000644 000000000000000000004546212050661606023626 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" structure BasicTypes = struct structure UInt8 = struct type word = Word8.word val wordSize : int val toLarge : word -> LargeWord.word val toLargeX : word -> LargeWord.word val toLargeWord : word -> LargeWord.word val toLargeWordX : word -> LargeWord.word val fromLarge : LargeWord.word -> word val fromLargeWord : LargeWord.word -> word val toLargeInt : word -> LargeInt.int val toLargeIntX : word -> LargeInt.int val fromLargeInt : LargeInt.int -> word val toInt : word -> int val toIntX : word -> int val fromInt : int -> word val andb : word * word -> word val orb : word * word -> word val xorb : word * word -> word val notb : word -> word val << : word * SMLSharp.Word.word -> word val >> : word * SMLSharp.Word.word -> word val ~>> : word * SMLSharp.Word.word -> word val + : word * word -> word val - : word * word -> word val * : word * word -> word val div : word * word -> word val mod : word * word -> word val compare : word * word -> order val < : word * word -> bool val <= : word * word -> bool val > : word * word -> bool val >= : word * word -> bool val ~ : word -> word val min : word * word -> word val max : word * word -> word val fmt : StringCvt.radix -> word -> string val toString : word -> string val scan : StringCvt.radix -> (char, 'a) StringCvt.reader -> (word, 'a) StringCvt.reader val fromString : string -> word option end structure SInt8 = struct type int = int val toLarge : int -> LargeInt.int val fromLarge : LargeInt.int -> int val toInt : int -> SMLSharp.Int.int val fromInt : SMLSharp.Int.int -> int val precision : SMLSharp.Int.int option val minInt : int option val maxInt : int option val + : int * int -> int val - : int * int -> int val * : int * int -> int val div : int * int -> int val mod : int * int -> int val quot : int * int -> int val rem : int * int -> int val compare : int * int -> order val < : int * int -> bool val <= : int * int -> bool val > : int * int -> bool val >= : int * int -> bool val ~ : int -> int val abs : int -> int val min : int * int -> int val max : int * int -> int val sign : int -> SMLSharp.Int.int val sameSign : int * int -> bool val fmt : StringCvt.radix -> int -> string val toString : int -> string val scan : StringCvt.radix -> (char, 'a) StringCvt.reader -> (int, 'a) StringCvt.reader val fromString : string -> int option end structure UInt16 = struct type word = word val wordSize : int val toLarge : word -> LargeWord.word val toLargeX : word -> LargeWord.word val toLargeWord : word -> LargeWord.word val toLargeWordX : word -> LargeWord.word val fromLarge : LargeWord.word -> word val fromLargeWord : LargeWord.word -> word val toLargeInt : word -> LargeInt.int val toLargeIntX : word -> LargeInt.int val fromLargeInt : LargeInt.int -> word val toInt : word -> int val toIntX : word -> int val fromInt : int -> word val andb : word * word -> word val orb : word * word -> word val xorb : word * word -> word val notb : word -> word val << : word * SMLSharp.Word.word -> word val >> : word * SMLSharp.Word.word -> word val ~>> : word * SMLSharp.Word.word -> word val + : word * word -> word val - : word * word -> word val * : word * word -> word val div : word * word -> word val mod : word * word -> word val compare : word * word -> order val < : word * word -> bool val <= : word * word -> bool val > : word * word -> bool val >= : word * word -> bool val ~ : word -> word val min : word * word -> word val max : word * word -> word val fmt : StringCvt.radix -> word -> string val toString : word -> string val scan : StringCvt.radix -> (char, 'a) StringCvt.reader -> (word, 'a) StringCvt.reader val fromString : string -> word option end structure SInt16 = struct type int = int val toLarge : int -> LargeInt.int val fromLarge : LargeInt.int -> int val toInt : int -> SMLSharp.Int.int val fromInt : SMLSharp.Int.int -> int val precision : SMLSharp.Int.int option val minInt : int option val maxInt : int option val + : int * int -> int val - : int * int -> int val * : int * int -> int val div : int * int -> int val mod : int * int -> int val quot : int * int -> int val rem : int * int -> int val compare : int * int -> order val < : int * int -> bool val <= : int * int -> bool val > : int * int -> bool val >= : int * int -> bool val ~ : int -> int val abs : int -> int val min : int * int -> int val max : int * int -> int val sign : int -> SMLSharp.Int.int val sameSign : int * int -> bool val fmt : StringCvt.radix -> int -> string val toString : int -> string val scan : StringCvt.radix -> (char, 'a) StringCvt.reader -> (int, 'a) StringCvt.reader val fromString : string -> int option end structure UInt24 = struct type word = word val wordSize : int val toLarge : word -> LargeWord.word val toLargeX : word -> LargeWord.word val toLargeWord : word -> LargeWord.word val toLargeWordX : word -> LargeWord.word val fromLarge : LargeWord.word -> word val fromLargeWord : LargeWord.word -> word val toLargeInt : word -> LargeInt.int val toLargeIntX : word -> LargeInt.int val fromLargeInt : LargeInt.int -> word val toInt : word -> int val toIntX : word -> int val fromInt : int -> word val andb : word * word -> word val orb : word * word -> word val xorb : word * word -> word val notb : word -> word val << : word * SMLSharp.Word.word -> word val >> : word * SMLSharp.Word.word -> word val ~>> : word * SMLSharp.Word.word -> word val + : word * word -> word val - : word * word -> word val * : word * word -> word val div : word * word -> word val mod : word * word -> word val compare : word * word -> order val < : word * word -> bool val <= : word * word -> bool val > : word * word -> bool val >= : word * word -> bool val ~ : word -> word val min : word * word -> word val max : word * word -> word val fmt : StringCvt.radix -> word -> string val toString : word -> string val scan : StringCvt.radix -> (char, 'a) StringCvt.reader -> (word, 'a) StringCvt.reader val fromString : string -> word option end structure SInt24 = struct type int = int val toLarge : int -> LargeInt.int val fromLarge : LargeInt.int -> int val toInt : int -> SMLSharp.Int.int val fromInt : SMLSharp.Int.int -> int val precision : SMLSharp.Int.int option val minInt : int option val maxInt : int option val + : int * int -> int val - : int * int -> int val * : int * int -> int val div : int * int -> int val mod : int * int -> int val quot : int * int -> int val rem : int * int -> int val compare : int * int -> order val < : int * int -> bool val <= : int * int -> bool val > : int * int -> bool val >= : int * int -> bool val ~ : int -> int val abs : int -> int val min : int * int -> int val max : int * int -> int val sign : int -> SMLSharp.Int.int val sameSign : int * int -> bool val fmt : StringCvt.radix -> int -> string val toString : int -> string val scan : StringCvt.radix -> (char, 'a) StringCvt.reader -> (int, 'a) StringCvt.reader val fromString : string -> int option end structure UInt32 = struct type word = Word32.word val wordSize : int val toLarge : word -> LargeWord.word val toLargeX : word -> LargeWord.word val toLargeWord : word -> LargeWord.word val toLargeWordX : word -> LargeWord.word val fromLarge : LargeWord.word -> word val fromLargeWord : LargeWord.word -> word val toLargeInt : word -> LargeInt.int val toLargeIntX : word -> LargeInt.int val fromLargeInt : LargeInt.int -> word val toInt : word -> int val toIntX : word -> int val fromInt : int -> word val andb : word * word -> word val orb : word * word -> word val xorb : word * word -> word val notb : word -> word val << : word * SMLSharp.Word.word -> word val >> : word * SMLSharp.Word.word -> word val ~>> : word * SMLSharp.Word.word -> word val + : word * word -> word val - : word * word -> word val * : word * word -> word val div : word * word -> word val mod : word * word -> word val compare : word * word -> order val < : word * word -> bool val <= : word * word -> bool val > : word * word -> bool val >= : word * word -> bool val ~ : word -> word val min : word * word -> word val max : word * word -> word val fmt : StringCvt.radix -> word -> string val toString : word -> string val scan : StringCvt.radix -> (char, 'a) StringCvt.reader -> (word, 'a) StringCvt.reader val fromString : string -> word option end structure SInt32 = struct type int = Int32.int val toLarge : int -> LargeInt.int val fromLarge : LargeInt.int -> int val toInt : int -> SMLSharp.Int.int val fromInt : SMLSharp.Int.int -> int val precision : SMLSharp.Int.int option val minInt : int option val maxInt : int option val + : int * int -> int val - : int * int -> int val * : int * int -> int val div : int * int -> int val mod : int * int -> int val quot : int * int -> int val rem : int * int -> int val compare : int * int -> order val < : int * int -> bool val <= : int * int -> bool val > : int * int -> bool val >= : int * int -> bool val ~ : int -> int val abs : int -> int val min : int * int -> int val max : int * int -> int val sign : int -> SMLSharp.Int.int val sameSign : int * int -> bool val fmt : StringCvt.radix -> int -> string val toString : int -> string val scan : StringCvt.radix -> (char, 'a) StringCvt.reader -> (int, 'a) StringCvt.reader val fromString : string -> int option end structure Real32 = struct type real = Real64.real structure Math = struct type real = real val pi : real val e : real val sqrt : real -> real val sin : real -> real val cos : real -> real val tan : real -> real val asin : real -> real val acos : real -> real val atan : real -> real val atan2 : real * real -> real val exp : real -> real val pow : real * real -> real val ln : real -> real val log10 : real -> real val sinh : real -> real val cosh : real -> real val tanh : real -> real end val radix : int val precision : int val maxFinite : real val minPos : real val minNormalPos : real val posInf : real val negInf : real val + : real * real -> real val - : real * real -> real val * : real * real -> real val / : real * real -> real val rem : real * real -> real val *+ : real * real * real -> real val *- : real * real * real -> real val ~ : real -> real val abs : real -> real val min : real * real -> real val max : real * real -> real val sign : real -> int val signBit : real -> bool val sameSign : real * real -> bool val copySign : real * real -> real val compare : real * real -> order val compareReal : real * real -> IEEEReal.real_order val < : real * real -> bool val <= : real * real -> bool val > : real * real -> bool val >= : real * real -> bool val == : real * real -> bool val != : real * real -> bool val ?= : real * real -> bool val unordered : real * real -> bool val isFinite : real -> bool val isNan : real -> bool val isNormal : real -> bool val class : real -> IEEEReal.float_class val toManExp : real -> {man : real, exp : int} val fromManExp : {man : real, exp : int} -> real val split : real -> {whole : real, frac : real} val realMod : real -> real val nextAfter : real * real -> real val checkFloat : real -> real val realFloor : real -> real val realCeil : real -> real val realTrunc : real -> real val realRound : real -> real val floor : real -> int val ceil : real -> int val trunc : real -> int val round : real -> int val toInt : IEEEReal.rounding_mode -> real -> int val toLargeInt : IEEEReal.rounding_mode -> real -> LargeInt.int val fromInt : int -> real val fromLargeInt : LargeInt.int -> real val toLarge : real -> LargeReal.real val fromLarge : IEEEReal.rounding_mode -> LargeReal.real -> real val fmt : StringCvt.realfmt -> real -> string val toString : real -> string val scan : (char, 'a) StringCvt.reader -> (real, 'a) StringCvt.reader val fromString : string -> real option val toDecimal : real -> IEEEReal.decimal_approx val fromDecimal : IEEEReal.decimal_approx -> real option end structure Real64 = struct type real = Real64.real structure Math = struct type real = real val pi : real val e : real val sqrt : real -> real val sin : real -> real val cos : real -> real val tan : real -> real val asin : real -> real val acos : real -> real val atan : real -> real val atan2 : real * real -> real val exp : real -> real val pow : real * real -> real val ln : real -> real val log10 : real -> real val sinh : real -> real val cosh : real -> real val tanh : real -> real end val radix : int val precision : int val maxFinite : real val minPos : real val minNormalPos : real val posInf : real val negInf : real val + : real * real -> real val - : real * real -> real val * : real * real -> real val / : real * real -> real val rem : real * real -> real val *+ : real * real * real -> real val *- : real * real * real -> real val ~ : real -> real val abs : real -> real val min : real * real -> real val max : real * real -> real val sign : real -> int val signBit : real -> bool val sameSign : real * real -> bool val copySign : real * real -> real val compare : real * real -> order val compareReal : real * real -> IEEEReal.real_order val < : real * real -> bool val <= : real * real -> bool val > : real * real -> bool val >= : real * real -> bool val == : real * real -> bool val != : real * real -> bool val ?= : real * real -> bool val unordered : real * real -> bool val isFinite : real -> bool val isNan : real -> bool val isNormal : real -> bool val class : real -> IEEEReal.float_class val toManExp : real -> {man : real, exp : int} val fromManExp : {man : real, exp : int} -> real val split : real -> {whole : real, frac : real} val realMod : real -> real val nextAfter : real * real -> real val checkFloat : real -> real val realFloor : real -> real val realCeil : real -> real val realTrunc : real -> real val realRound : real -> real val floor : real -> int val ceil : real -> int val trunc : real -> int val round : real -> int val toInt : IEEEReal.rounding_mode -> real -> int val toLargeInt : IEEEReal.rounding_mode -> real -> LargeInt.int val fromInt : int -> real val fromLargeInt : LargeInt.int -> real val toLarge : real -> LargeReal.real val fromLarge : IEEEReal.rounding_mode -> LargeReal.real -> real val fmt : StringCvt.realfmt -> real -> string val toString : real -> string val scan : (char, 'a) StringCvt.reader -> (real, 'a) StringCvt.reader val fromString : string -> real option val toDecimal : real -> IEEEReal.decimal_approx val fromDecimal : IEEEReal.decimal_approx -> real option end type UInt8 = Word8.word type SInt8 = Int.int type UInt16 = Word.word type SInt16 = Int.int type UInt24 = Word.word type SInt24 = Int.int type UInt32 = Word32.word type SInt32 = Int32.int type Real32 = Real32.real type Real64 = Real64.real val BytesOfUInt32 : UInt32 val WordsOfReal64 : UInt32 val SInt32ToSInt8 : SInt32 -> SInt8 val SInt32ToSInt16 : SInt32 -> SInt16 val SInt32ToSInt24 : SInt32 -> SInt24 val SInt8ToSInt32 : SInt8 -> SInt32 val SInt16ToSInt32 : SInt16 -> SInt32 val SInt24ToSInt32 : SInt24 -> SInt32 val UInt32ToUInt8 : UInt32 -> UInt8 val UInt32ToUInt16 : UInt32 -> UInt16 val UInt32ToUInt24 : UInt32 -> UInt24 val UInt8ToUInt32 : UInt8 -> UInt32 val UInt16ToUInt32 : UInt16 -> UInt32 val UInt24ToUInt32 : UInt24 -> UInt32 val SInt8ToUInt32 : SInt8 -> UInt32 val SInt16ToUInt32 : SInt16 -> UInt32 val SInt24ToUInt32 : SInt24 -> UInt32 val SInt32ToUInt32 : SInt32 -> UInt32 val UInt8ToSInt32 : UInt8 -> SInt32 val UInt16ToSInt32 : UInt16 -> SInt32 val UInt24ToSInt32 : UInt24 -> SInt32 val UInt32ToSInt32 : UInt32 -> SInt32 val IntToSInt8 : int -> SInt8 val IntToSInt16 : int -> SInt16 val IntToSInt24 : int -> SInt24 val IntToSInt32 : int -> SInt32 val SInt8ToInt : SInt8 -> int val SInt16ToInt : SInt16 -> int val SInt24ToInt : SInt24 -> int val SInt32ToInt : SInt32 -> int val IntToUInt8 : int -> UInt8 val IntToUInt16 : int -> UInt16 val IntToUInt24 : int -> UInt24 val IntToUInt32 : int -> UInt32 val UInt8ToInt : UInt8 -> int val UInt16ToInt : UInt16 -> int val UInt24ToInt : UInt24 -> int val UInt32ToInt : UInt32 -> int val WordToUInt8 : word -> UInt8 val WordToUInt16 : word -> UInt16 val WordToUInt24 : word -> UInt24 val WordToUInt32 : word -> UInt32 val UInt8ToWord : UInt8 -> word val UInt16ToWord : UInt16 -> word val UInt24ToWord : UInt24 -> word val UInt32ToWord : UInt32 -> word val WordToSInt8 : word -> SInt8 val WordToSInt16 : word -> SInt16 val WordToSInt24 : word -> SInt24 val WordToSInt32 : word -> SInt32 val SInt8ToWord : SInt8 -> word val SInt16ToWord : SInt16 -> word val SInt24ToWord : SInt24 -> word val SInt32ToWord : SInt32 -> word val RealToReal64 : real -> Real64 val Real64ToReal : Real64 -> real val Real64ToSInt32 : Real64 -> SInt32 val SInt32ToReal64 : SInt32 -> Real64 val RealToReal32 : real -> Real64 val Real32ToReal : Real64 -> real val Real32ToSInt32 : Real64 -> SInt32 val SInt32ToReal32 : SInt32 -> Real64 val StringLengthToPaddedUInt8ListLength : int -> int val StringToPaddedUInt8ListLength : string -> int val StringToPaddedUInt8List : string -> UInt8 list val UInt8ListToString : UInt8 list -> string val StringToUInt8Array : string -> Word8Array.array * UInt32 val UInt8ArrayToString : Word8Array.array * UInt32 -> string end smlsharp-1.2.0/src/compiler/systemdef/main/BasicTypes.sml0000644 000000000000000000001753212050661606023626 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2006, Tohoku University. *) functor UIntFun(W : WORD) : WORD = struct open W val toString = (fn string => "0x" ^ string) o W.toString end; (** * This structure declares basic types *) structure BasicTypes = struct (***************************************************************************) structure UInt8 = UIntFun(Word8) structure SInt8 = Int structure UInt16 = UIntFun(Word) structure SInt16 = Int structure UInt24 = UIntFun(Word) structure SInt24 = Int structure UInt32 = UIntFun(Word32) structure SInt32 = Int32 structure Real32 = Real64 structure Real64 = Real64 (** unsigned 8 bit integer *) type UInt8 = Word8.word; (** signed 8 bit integer *) type SInt8 = Int.int; (* use Int8 if available. *) (** unsigned 16 bit integer *) type UInt16 = Word.word (* use Word16 if available. *) (** signed 16 bit integer *) type SInt16 = Int.int; (* use Int16 if available. *) (** unsigned 24 bit integer *) type UInt24 = Word.word; (** signed 24 bit integer *) type SInt24 = Int.int; (** unsigned 32 bit integer *) type UInt32 = Word32.word; (** signed 32 bit integer *) type SInt32 = Int32.int; (** 32 bit real *) type Real32 = Real32.real; (** 64 bit real *) type Real64 = Real64.real; (***************************************************************************) val BytesOfUInt32 = UInt32.fromInt 4 val WordsOfReal64 = UInt32.fromInt 2 (***************************************************************************) (* SInt <-> SInt *) fun SInt32ToSInt8 (sint32 : SInt32) = ((SInt8.fromLarge o SInt32.toLarge) sint32) : SInt8 fun SInt32ToSInt16 (sint32 : SInt32) = ((SInt16.fromLarge o SInt32.toLarge) sint32) : SInt16 fun SInt32ToSInt24 (sint32 : SInt32) = ((SInt24.fromLarge o SInt32.toLarge) sint32) : SInt24 fun SInt8ToSInt32 (sint8 : SInt8) = ((SInt32.fromLarge o SInt8.toLarge) sint8) : SInt32 fun SInt16ToSInt32 (sint16 : SInt16) = ((SInt32.fromLarge o SInt16.toLarge) sint16) : SInt32 fun SInt24ToSInt32 (sint24 : SInt24) = ((SInt32.fromLarge o SInt24.toLarge) sint24) : SInt32 (* UInt <-> UInt *) fun UInt32ToUInt8 (uint32 : UInt32) = ((UInt8.fromLargeWord o UInt32.toLargeWord) uint32) : UInt8 fun UInt32ToUInt16 (uint32 : UInt32) = ((UInt16.fromLargeWord o UInt32.toLargeWord) uint32) : UInt16 fun UInt32ToUInt24 (uint32 : UInt32) = ((UInt24.fromLargeWord o UInt32.toLargeWord) uint32) : UInt24 fun UInt8ToUInt32 (uint8 : UInt8) = ((UInt32.fromLargeWord o UInt8.toLargeWord) uint8) : UInt32 fun UInt16ToUInt32 (uint16 : UInt16) = ((UInt32.fromLargeWord o UInt16.toLargeWord) uint16) : UInt32 fun UInt24ToUInt32 (uint24 : UInt24) = ((UInt32.fromLargeWord o UInt24.toLargeWord) uint24) : UInt32 (* UInt <-> SInt *) fun SInt8ToUInt32 (sint8 : SInt8) = (UInt32.fromInt sint8) : UInt32 fun SInt16ToUInt32 (sint16 : SInt16) = (UInt32.fromInt sint16) : UInt32 fun SInt24ToUInt32 (sint24 : SInt24) = (UInt32.fromInt sint24) : UInt32 fun SInt32ToUInt32 (sint32 : SInt32) = ((UInt32.fromLargeInt o SInt32.toLarge) sint32) : UInt32 fun UInt8ToSInt32 (uint8 : UInt8) = ((SInt32.fromLarge o UInt8.toLargeIntX) uint8) : SInt32 fun UInt16ToSInt32 (uint16 : UInt16) = ((SInt32.fromLarge o UInt16.toLargeIntX) uint16) : SInt32 fun UInt24ToSInt32 (uint24 : UInt24) = ((SInt32.fromLarge o UInt24.toLargeIntX) uint24) : SInt32 fun UInt32ToSInt32 (uint32 : UInt32) = ((SInt32.fromLarge o UInt32.toLargeIntX) uint32) : SInt32 (* Int <-> SInt *) fun IntToSInt8 (int : int) = int : SInt8 fun IntToSInt16 (int : int) = int : SInt16 fun IntToSInt24 (int : int) = int : SInt24 fun IntToSInt32 (int : int) = ((SInt32.fromLarge o Int.toLarge) int) : SInt32 fun SInt8ToInt (sint8 : SInt8) = SInt8.toInt sint8 fun SInt16ToInt (sint16 : SInt16) = SInt16.toInt sint16 fun SInt24ToInt (sint24 : SInt24) = SInt24.toInt sint24 fun SInt32ToInt (sint32 : SInt32) = SInt32.toInt sint32 : int (* Int <-> UInt *) fun IntToUInt8 (int : int) = UInt8.fromInt int fun IntToUInt16 (int : int) = UInt16.fromInt int fun IntToUInt24 (int : int) = UInt24.fromInt int fun IntToUInt32 (int : int) = UInt32.fromInt int fun UInt8ToInt (uint8 : UInt8) = UInt8.toInt uint8 fun UInt16ToInt (uint16 : UInt16) = UInt16.toInt uint16 fun UInt24ToInt (uint24 : UInt24) = UInt24.toInt uint24 fun UInt32ToInt (uint32 : UInt32) = UInt32.toInt uint32 (* Word <-> UInt *) fun WordToUInt8 (word : word) = ((UInt8.fromInt o Word.toInt) word) : UInt8 fun WordToUInt16 (word : word) = word : UInt16 fun WordToUInt24 (word : word) = word : UInt24 fun WordToUInt32 (word : word) = ((UInt32.fromLargeWord o Word.toLargeWord) word) : UInt32 fun UInt8ToWord (uint8 : UInt8) = ((Word.fromInt o UInt8.toInt) uint8) : word fun UInt16ToWord (uint16 : UInt16) = uint16 : word fun UInt24ToWord (uint24 : UInt24) = uint24 : word fun UInt32ToWord (uint32 : UInt32) = ((Word.fromLargeWord o UInt32.toLargeWord) uint32) : word (* Word <-> SInt *) fun WordToSInt8 (word : word) = (Word.toInt word) : SInt8 fun WordToSInt16 (word : word) = (Word.toInt word) : SInt16 fun WordToSInt24 (word : word) = (Word.toInt word) : SInt24 fun WordToSInt32 (word : word) = ((SInt32.fromLarge o Word.toLargeInt) word) : SInt32 fun SInt8ToWord (sint8 : SInt8) = Word.fromInt sint8 fun SInt16ToWord (sint16 : SInt16) = Word.fromInt sint16 fun SInt24ToWord (sint24 : SInt24) = Word.fromInt sint24 fun SInt32ToWord (sint32 : SInt32) = (Word.fromLargeInt o SInt32.toLarge) sint32 (* Real <-> Real64 *) fun RealToReal64 (real : real) = Real64.fromLarge IEEEReal.TO_NEAREST (Real.toLarge real) fun Real64ToReal (real : Real64) = Real.fromLarge IEEEReal.TO_NEAREST (Real64.toLarge real) fun Real64ToSInt32 (real : Real64) = SInt32.fromLarge (Real64.toLargeInt (IEEEReal.getRoundingMode ()) real) fun SInt32ToReal64 (sint32 : SInt32) = (Real64.fromLargeInt o SInt32.toLarge) sint32 (* Real <-> Real32 *) val RealToReal32 = RealToReal64 val Real32ToReal = Real64ToReal val Real32ToSInt32 = Real64ToSInt32 val SInt32ToReal32 = SInt32ToReal64 fun StringLengthToPaddedUInt8ListLength stringLength = (stringLength + 4) div 4 fun StringToPaddedUInt8ListLength string = StringLengthToPaddedUInt8ListLength (String.size string) (* translates a string to a list of UInt8 *) fun StringToPaddedUInt8List string = let val length = String.size string val padding = case length mod 4 of 0 => "\000\000\000\000" | 1 => "\000\000\000" | 2 => "\000\000" | 3 => "\000" | _ => raise Fail "length mod 4 should be between 0 and 3." in map (IntToUInt8 o Char.ord) (String.explode (string ^ padding)) end fun UInt8ListToString bytes = let val chars = map (Char.chr o UInt8.toInt) bytes in implode chars end fun StringToUInt8Array string = let val length = String.size string val array = Word8Array.array (length, 0w0) val _ = foldl (fn (char, index) => ( Word8Array.update (array, index, UInt8.fromInt(Char.ord(char))); index + 1) ) 0 (explode string) in (array, IntToUInt32 length) end fun UInt8ArrayToString (array, length) = let val bytes = Word8ArraySlice.foldri (fn (m,i,z) => (fn (_, byte, bytes) => byte :: bytes) (m , i,z)) [] (Word8ArraySlice.slice (array, 0, SOME (UInt32ToInt length))) val chars = map (Char.chr o UInt8.toInt) bytes in implode chars end (***************************************************************************) end smlsharp-1.2.0/src/compiler/targetplatform0000755 000000000000000000000000012050661606021060 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/targetplatform/main0000755 000000000000000000000000012050661606022004 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/targetplatform/main/TARGET_PLATFORM.sig0000644 000000000000000000000417212050661606025065 0ustar00rootroot0000000 0000000 (** * Target Platform. * @copyright (c) 2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: TARGET_PLATFORM.sig,v 1.1 2007/09/24 22:28:39 katsu Exp $ *) signature TARGET_PLATFORM = sig eqtype uint eqtype sint structure UInt : WORD sharing type uint = UInt.word structure SInt : INTEGER sharing type sint = SInt.int val toUInt : BasicTypes.UInt32 -> uint val toSInt : BasicTypes.SInt32 -> sint val charToUInt : char -> uint val intToUInt : int -> uint val intToSInt : int -> sint val UIntToInt : uint -> int val SIntToInt : sint -> int val wordToUInt : word -> uint val wordToSInt : word -> sint val UIntToWord : uint -> word val SIntToWord : sint -> word val UIntToSInt : uint -> sint val SIntToUInt : sint -> uint val compareUInt : uint * uint -> order val compareSInt : sint * sint -> order val compareString : string * string -> order (* kludges *) val UIntToUInt32 : uint -> BasicTypes.UInt32 val SIntToSInt32 : sint -> BasicTypes.SInt32 val formatUInt : StringCvt.radix -> uint -> string val formatSInt : StringCvt.radix -> sint -> string (* FIXME: we want more types! *) val C_UIntType : string (* "unsigned int" *) val C_SIntType : string (* "signed int" *) val C_UCharType : string (* "unsigned char" *) val C_SCharType : string (* "signed char" *) val C_RealType : string (* "double" *) val C_FloatType : string (* "float" *) val C_PtrType : string (* "void *" *) val C_UIntSuffix : string (* "U" *) val C_SIntSuffix : string (* "" *) val C_sizeOfInt : word (* sizeof(C_UIntType) *) val C_sizeOfPtr : word (* sizeof(C_PtrType) *) val C_sizeOfReal : word (* sizeof(C_RealType) *) val C_sizeOfFloat : word (* sizeof(C_FloatType) *) val C_alignOfInt : word (* __alignof__(C_UIntType) *) val C_alignOfPtr : word (* __alignof__(C_PtrType) *) val C_alignOfReal : word (* __alignof__(C_RealType) *) val C_alignOfFloat : word (* __alignof__(C_FloatType) *) (* NOTE: According to C specification, both size and alignment of char * is always 1. *) val C_integerBits : word end smlsharp-1.2.0/src/compiler/targetplatform/main/TARGET_PROPERTY.sig0000644 000000000000000000000241112050661606025117 0ustar00rootroot0000000 0000000 (** * Properties of Target Platform. * @copyright (c) 2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: TARGET_PROPERTY.sig,v 1.2 2008/01/23 08:20:07 katsu Exp $ *) signature TARGET_PROPERTY = sig include TARGET_PLATFORM (* min [C_sizeOfX, ...] *) val basicSize : word (* bytes of 1 word *) (* C_sizeOfX / basicSize *) val sizeOfInt : word (* words of 1 int *) val sizeOfReal : word (* words of 1 double *) val sizeOfFloat : word (* words of 1 float *) val sizeOfPtr : word (* words of 1 pointer *) (* lcm (C_alignOfX, basicSize) / basicSize *) val alignOfInt : word val alignOfReal : word val alignOfFloat : word val alignOfPtr : word (* uniq [sizeOfX, ...] *) val sizeVariation : word list val alignVariation : word list (* corresponds to sizeVariation *) val maxSize : word (* max [sizeOfX, ..., alignOfX, ...] *) val maxAlign : word (* lcm [alignOfX, ...] *) (* val maxBlockFields : word (* maxinum number of fields in 1 block *) val nestedBlockIndex : uint (* index of pointer to nested block *) val bitmapSize : word val blockHeaderOffset : word val maxNumArgsPerBlock : word val blockPadding : word val maxBlockSize : word *) end smlsharp-1.2.0/src/compiler/targetplatform/main/TargetPlatformFormatter.smi0000644 000000000000000000001217112050661606027416 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../systemdef/main/BasicTypes.smi" _require "TARGET_PLATFORM.sig" functor TargetPlatformFormatter(Target : sig eqtype uint eqtype sint structure UInt : sig eqtype word val wordSize : int val toLarge : word -> LargeWord.word val toLargeX : word -> LargeWord.word val toLargeWord : word -> LargeWord.word val toLargeWordX : word -> LargeWord.word val fromLarge : LargeWord.word -> word val fromLargeWord : LargeWord.word -> word val toLargeInt : word -> LargeInt.int val toLargeIntX : word -> LargeInt.int val fromLargeInt : LargeInt.int -> word val toInt : word -> int val toIntX : word -> int val fromInt : int -> word val andb : word * word -> word val orb : word * word -> word val xorb : word * word -> word val notb : word -> word val << : word * SMLSharp.Word.word -> word val >> : word * SMLSharp.Word.word -> word val ~>> : word * SMLSharp.Word.word -> word val + : word * word -> word val - : word * word -> word val * : word * word -> word val div : word * word -> word val mod : word * word -> word val compare : word * word -> order val < : word * word -> bool val <= : word * word -> bool val > : word * word -> bool val >= : word * word -> bool val ~ : word -> word val min : word * word -> word val max : word * word -> word val fmt : StringCvt.radix -> word -> string val toString : word -> string val scan : StringCvt.radix -> (char, 'a) StringCvt.reader -> (word, 'a) StringCvt.reader val fromString : string -> word option end sharing type uint = UInt.word structure SInt : sig eqtype int val toLarge : int -> LargeInt.int val fromLarge : LargeInt.int -> int val toInt : int -> SMLSharp.Int.int val fromInt : SMLSharp.Int.int -> int val precision : SMLSharp.Int.int option val minInt : int option val maxInt : int option val + : int * int -> int val - : int * int -> int val * : int * int -> int val div : int * int -> int val mod : int * int -> int val quot : int * int -> int val rem : int * int -> int val compare : int * int -> order val < : int * int -> bool val <= : int * int -> bool val > : int * int -> bool val >= : int * int -> bool val ~ : int -> int val abs : int -> int val min : int * int -> int val max : int * int -> int val sign : int -> SMLSharp.Int.int val sameSign : int * int -> bool val fmt : StringCvt.radix -> int -> string val toString : int -> string val scan : StringCvt.radix -> (char, 'a) StringCvt.reader -> (int, 'a) StringCvt.reader val fromString : string -> int option end sharing type sint = SInt.int val toUInt : BasicTypes.UInt32 -> uint val toSInt : BasicTypes.SInt32 -> sint val charToUInt : char -> uint val intToUInt : int -> uint val intToSInt : int -> sint val UIntToInt : uint -> int val SIntToInt : sint -> int val wordToUInt : word -> uint val wordToSInt : word -> sint val UIntToWord : uint -> word val SIntToWord : sint -> word val UIntToSInt : uint -> sint val SIntToUInt : sint -> uint val compareUInt : uint * uint -> order val compareSInt : sint * sint -> order val compareString : string * string -> order (* kludges *) val UIntToUInt32 : uint -> BasicTypes.UInt32 val SIntToSInt32 : sint -> BasicTypes.SInt32 val formatUInt : StringCvt.radix -> uint -> string val formatSInt : StringCvt.radix -> sint -> string (* FIXME: we want more types! *) val C_UIntType : string (* "unsigned int" *) val C_SIntType : string (* "signed int" *) val C_UCharType : string (* "unsigned char" *) val C_SCharType : string (* "signed char" *) val C_RealType : string (* "double" *) val C_FloatType : string (* "float" *) val C_PtrType : string (* "void *" *) val C_UIntSuffix : string (* "U" *) val C_SIntSuffix : string (* "" *) val C_sizeOfInt : word (* sizeof(C_UIntType) *) val C_sizeOfPtr : word (* sizeof(C_PtrType) *) val C_sizeOfReal : word (* sizeof(C_RealType) *) val C_sizeOfFloat : word (* sizeof(C_FloatType) *) val C_alignOfInt : word (* __alignof__(C_UIntType) *) val C_alignOfPtr : word (* __alignof__(C_PtrType) *) val C_alignOfReal : word (* __alignof__(C_RealType) *) val C_alignOfFloat : word (* __alignof__(C_FloatType) *) (* NOTE: According to C specification, both size and alignment of char * is always 1. *) val C_integerBits : word end) = struct type uint = Target.uint type sint = Target.sint val format_uint : uint -> SMLFormat.FormatExpression.expression list val format_uint_hex : uint -> SMLFormat.FormatExpression.expression list val format_sint : sint -> SMLFormat.FormatExpression.expression list val format_string_ML : string -> SMLFormat.FormatExpression.expression list val format_string_C : string -> SMLFormat.FormatExpression.expression list val format_real : string -> SMLFormat.FormatExpression.expression list end smlsharp-1.2.0/src/compiler/targetplatform/main/TargetPlatformFormatter.sml0000644 000000000000000000000443412050661606027424 0ustar00rootroot0000000 0000000 (** * Formatters for Target Platform. * @copyright (c) 2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: TargetPlatformFormatter.sml,v 1.1 2007/09/24 22:28:39 katsu Exp $ *) functor TargetPlatformFormatter(Target : TARGET_PLATFORM) : sig eqtype uint eqtype sint structure Target : sig eqtype uint eqtype sint end sharing type uint = Target.uint sharing type sint = Target.sint val format_uint : uint -> SMLFormat.FormatExpression.expression list val format_uint_hex : uint -> SMLFormat.FormatExpression.expression list val format_sint : sint -> SMLFormat.FormatExpression.expression list val format_string_ML : string -> SMLFormat.FormatExpression.expression list val format_string_C : string -> SMLFormat.FormatExpression.expression list val format_real : string -> SMLFormat.FormatExpression.expression list end = struct structure Target = Target type uint = Target.uint type sint = Target.sint structure FE = SMLFormat.FormatExpression fun term s = FE.Term (size s, s) fun break n = FE.Indicator {space = true, newline = SOME{priority = FE.Preferred(n)}} fun formatSignedNumber s = [term (String.translate (fn #"~" => "-" | x => str x) s)] fun format_uint n = [term (Target.formatUInt (StringCvt.DEC) n)] fun format_uint_hex n = [term ("0x" ^ Target.formatUInt (StringCvt.HEX) n)] fun format_sint n = formatSignedNumber (Target.formatSInt (StringCvt.DEC) n) fun format_real s = formatSignedNumber s fun right n s = if n < size s then substring (s, size s - n, n) else s fun oct x = "\\" ^ right 3 ("00" ^ Int.fmt (StringCvt.OCT) (ord x)) fun dec x = "\\" ^ right 3 ("00" ^ Int.fmt (StringCvt.DEC) (ord x)) fun format_string_ML s = [term ("\"" ^ String.translate (fn #"\"" => "\\\"" | #"\n" => "\\n" | #"\r" => "\\r" | #"\t" => "\\t" | #"\\" => "\\\\" | c => if Char.isPrint c then str c else dec c) s ^ "\"")] fun format_string_C s = [term ("\"" ^ String.translate oct s ^ "\"")] end smlsharp-1.2.0/src/compiler/targetplatform/main/TargetProperty.smi0000644 000000000000000000002333012050661606025571 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../control/main/Control.ppg.smi" _require "../../systemdef/main/BasicTypes.smi" _require "../../util/main/ListSorter.smi" _require "TARGET_PLATFORM.sig" _require "TARGET_PROPERTY.sig" functor TargetProperty(Target : sig eqtype uint eqtype sint structure UInt : sig eqtype word val wordSize : int val toLarge : word -> LargeWord.word val toLargeX : word -> LargeWord.word val toLargeWord : word -> LargeWord.word val toLargeWordX : word -> LargeWord.word val fromLarge : LargeWord.word -> word val fromLargeWord : LargeWord.word -> word val toLargeInt : word -> LargeInt.int val toLargeIntX : word -> LargeInt.int val fromLargeInt : LargeInt.int -> word val toInt : word -> int val toIntX : word -> int val fromInt : int -> word val andb : word * word -> word val orb : word * word -> word val xorb : word * word -> word val notb : word -> word val << : word * SMLSharp.Word.word -> word val >> : word * SMLSharp.Word.word -> word val ~>> : word * SMLSharp.Word.word -> word val + : word * word -> word val - : word * word -> word val * : word * word -> word val div : word * word -> word val mod : word * word -> word val compare : word * word -> order val < : word * word -> bool val <= : word * word -> bool val > : word * word -> bool val >= : word * word -> bool val ~ : word -> word val min : word * word -> word val max : word * word -> word val fmt : StringCvt.radix -> word -> string val toString : word -> string val scan : StringCvt.radix -> (char, 'a) StringCvt.reader -> (word, 'a) StringCvt.reader val fromString : string -> word option end sharing type uint = UInt.word structure SInt : sig eqtype int val toLarge : int -> LargeInt.int val fromLarge : LargeInt.int -> int val toInt : int -> SMLSharp.Int.int val fromInt : SMLSharp.Int.int -> int val precision : SMLSharp.Int.int option val minInt : int option val maxInt : int option val + : int * int -> int val - : int * int -> int val * : int * int -> int val div : int * int -> int val mod : int * int -> int val quot : int * int -> int val rem : int * int -> int val compare : int * int -> order val < : int * int -> bool val <= : int * int -> bool val > : int * int -> bool val >= : int * int -> bool val ~ : int -> int val abs : int -> int val min : int * int -> int val max : int * int -> int val sign : int -> SMLSharp.Int.int val sameSign : int * int -> bool val fmt : StringCvt.radix -> int -> string val toString : int -> string val scan : StringCvt.radix -> (char, 'a) StringCvt.reader -> (int, 'a) StringCvt.reader val fromString : string -> int option end sharing type sint = SInt.int val toUInt : BasicTypes.UInt32 -> uint val toSInt : BasicTypes.SInt32 -> sint val charToUInt : char -> uint val intToUInt : int -> uint val intToSInt : int -> sint val UIntToInt : uint -> int val SIntToInt : sint -> int val wordToUInt : word -> uint val wordToSInt : word -> sint val UIntToWord : uint -> word val SIntToWord : sint -> word val UIntToSInt : uint -> sint val SIntToUInt : sint -> uint val compareUInt : uint * uint -> order val compareSInt : sint * sint -> order val compareString : string * string -> order (* kludges *) val UIntToUInt32 : uint -> BasicTypes.UInt32 val SIntToSInt32 : sint -> BasicTypes.SInt32 val formatUInt : StringCvt.radix -> uint -> string val formatSInt : StringCvt.radix -> sint -> string (* FIXME: we want more types! *) val C_UIntType : string (* "unsigned int" *) val C_SIntType : string (* "signed int" *) val C_UCharType : string (* "unsigned char" *) val C_SCharType : string (* "signed char" *) val C_RealType : string (* "double" *) val C_FloatType : string (* "float" *) val C_PtrType : string (* "void *" *) val C_UIntSuffix : string (* "U" *) val C_SIntSuffix : string (* "" *) val C_sizeOfInt : word (* sizeof(C_UIntType) *) val C_sizeOfPtr : word (* sizeof(C_PtrType) *) val C_sizeOfReal : word (* sizeof(C_RealType) *) val C_sizeOfFloat : word (* sizeof(C_FloatType) *) val C_alignOfInt : word (* __alignof__(C_UIntType) *) val C_alignOfPtr : word (* __alignof__(C_PtrType) *) val C_alignOfReal : word (* __alignof__(C_RealType) *) val C_alignOfFloat : word (* __alignof__(C_FloatType) *) (* NOTE: According to C specification, both size and alignment of char * is always 1. *) val C_integerBits : word end) = struct type uint = Target.uint type sint = Target.sint structure UInt = struct type word = Target.uint val wordSize : int val toLarge : word -> LargeWord.word val toLargeX : word -> LargeWord.word val toLargeWord : word -> LargeWord.word val toLargeWordX : word -> LargeWord.word val fromLarge : LargeWord.word -> word val fromLargeWord : LargeWord.word -> word val toLargeInt : word -> LargeInt.int val toLargeIntX : word -> LargeInt.int val fromLargeInt : LargeInt.int -> word val toInt : word -> int val toIntX : word -> int val fromInt : int -> word val andb : word * word -> word val orb : word * word -> word val xorb : word * word -> word val notb : word -> word val << : word * SMLSharp.Word.word -> word val >> : word * SMLSharp.Word.word -> word val ~>> : word * SMLSharp.Word.word -> word val + : word * word -> word val - : word * word -> word val * : word * word -> word val div : word * word -> word val mod : word * word -> word val compare : word * word -> order val < : word * word -> bool val <= : word * word -> bool val > : word * word -> bool val >= : word * word -> bool val ~ : word -> word val min : word * word -> word val max : word * word -> word val fmt : StringCvt.radix -> word -> string val toString : word -> string val scan : StringCvt.radix -> (char, 'a) StringCvt.reader -> (word, 'a) StringCvt.reader val fromString : string -> word option end structure SInt = struct type int = Target.sint val toLarge : int -> LargeInt.int val fromLarge : LargeInt.int -> int val toInt : int -> SMLSharp.Int.int val fromInt : SMLSharp.Int.int -> int val precision : SMLSharp.Int.int option val minInt : int option val maxInt : int option val + : int * int -> int val - : int * int -> int val * : int * int -> int val div : int * int -> int val mod : int * int -> int val quot : int * int -> int val rem : int * int -> int val compare : int * int -> order val < : int * int -> bool val <= : int * int -> bool val > : int * int -> bool val >= : int * int -> bool val ~ : int -> int val abs : int -> int val min : int * int -> int val max : int * int -> int val sign : int -> SMLSharp.Int.int val sameSign : int * int -> bool val fmt : StringCvt.radix -> int -> string val toString : int -> string val scan : StringCvt.radix -> (char, 'a) StringCvt.reader -> (int, 'a) StringCvt.reader val fromString : string -> int option end val toUInt : BasicTypes.UInt32 -> uint val toSInt : BasicTypes.SInt32 -> sint val charToUInt : char -> uint val intToUInt : int -> uint val intToSInt : int -> sint val UIntToInt : uint -> int val SIntToInt : sint -> int val wordToUInt : word -> uint val wordToSInt : word -> sint val UIntToWord : uint -> word val SIntToWord : sint -> word val UIntToSInt : uint -> sint val SIntToUInt : sint -> uint val compareUInt : uint * uint -> order val compareSInt : sint * sint -> order val compareString : string * string -> order (* kludges *) val UIntToUInt32 : uint -> BasicTypes.UInt32 val SIntToSInt32 : sint -> BasicTypes.SInt32 val formatUInt : StringCvt.radix -> uint -> string val formatSInt : StringCvt.radix -> sint -> string (* FIXME: we want more types! *) val C_UIntType : string (* "unsigned int" *) val C_SIntType : string (* "signed int" *) val C_UCharType : string (* "unsigned char" *) val C_SCharType : string (* "signed char" *) val C_RealType : string (* "double" *) val C_FloatType : string (* "float" *) val C_PtrType : string (* "void *" *) val C_UIntSuffix : string (* "U" *) val C_SIntSuffix : string (* "" *) val C_sizeOfInt : word (* sizeof(C_UIntType) *) val C_sizeOfPtr : word (* sizeof(C_PtrType) *) val C_sizeOfReal : word (* sizeof(C_RealType) *) val C_sizeOfFloat : word (* sizeof(C_FloatType) *) val C_alignOfInt : word (* __alignof__(C_UIntType) *) val C_alignOfPtr : word (* __alignof__(C_PtrType) *) val C_alignOfReal : word (* __alignof__(C_RealType) *) val C_alignOfFloat : word (* __alignof__(C_FloatType) *) (* NOTE: According to C specification, both size and alignment of char * is always 1. *) val C_integerBits : word val basicSize : word (* bytes of 1 word *) val sizeOfInt : word (* words of 1 int *) val sizeOfReal : word (* words of 1 double *) val sizeOfFloat : word (* words of 1 float *) val sizeOfPtr : word (* words of 1 pointer *) val alignOfInt : word val alignOfReal : word val alignOfFloat : word val alignOfPtr : word val sizeVariation : word list val alignVariation : word list (* corresponds to sizeVariation *) val maxSize : word (* max [sizeOfX, ..., alignOfX, ...] *) val maxAlign : word (* lcm [alignOfX, ...] *) end smlsharp-1.2.0/src/compiler/targetplatform/main/TargetProperty.sml0000644 000000000000000000001273712050661606025605 0ustar00rootroot0000000 0000000 (** * Properties of Target Platform. * @copyright (c) 2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: TargetProperty.sml,v 1.2 2008/01/23 08:20:07 katsu Exp $ *) functor TargetProperty(Target : TARGET_PLATFORM) : TARGET_PROPERTY = struct open Target fun ceilTo (x, y) = (x + y - 0w1) - (x + y - 0w1) mod y fun gcd (m, 0w0) = m | gcd (m, n) = gcd (n, m mod n) fun lcm (m, n) = (m * n) div gcd (m, n) fun log2 n = Word.fromInt (ceil (Math.ln (real (Word.toInt n)) / Math.ln 2.0)) fun min [h] = h : word | min (h::t) = let val x = min t in if h < x then h else x end | min nil = raise Control.Bug "min" fun max (h::t) = let val x = max t in if h > x then h else x end | max nil = 0w0 fun uniq nil = nil : word list | uniq (h::t) = case List.find (fn x => x = h) t of SOME _ => t | NONE => h::t val basicSize = min [C_sizeOfInt, C_sizeOfPtr, C_sizeOfReal] fun size_align (c_size, c_align) = let val _ = if c_size < c_align then raise Control.Bug "size < align" else () val size = ceilTo (c_size, basicSize) div basicSize val align = lcm (c_align, basicSize) div basicSize in (max [size, align], align) end val (sizeOfInt, alignOfInt) = size_align (C_sizeOfInt, C_alignOfInt) val (sizeOfPtr, alignOfPtr) = size_align (C_sizeOfPtr, C_alignOfPtr) val (sizeOfReal, alignOfReal) = size_align (C_sizeOfReal, C_alignOfReal) val (sizeOfFloat, alignOfFloat) = size_align (C_sizeOfFloat, C_alignOfFloat) val sizeVariation = ListSorter.sort Word.compare (uniq [sizeOfInt, sizeOfPtr, sizeOfReal]) local val types = [(sizeOfInt, alignOfInt), (sizeOfPtr, alignOfPtr), (sizeOfReal, alignOfReal)] fun alignOfSize size = foldl lcm 0w1 (map #2 (List.filter (fn (s,_) => s = size) types)) in val alignVariation = map alignOfSize sizeVariation end val maxSize = max [sizeOfInt, sizeOfPtr, sizeOfReal, sizeOfFloat] val maxAlign = foldl lcm alignOfInt [alignOfPtr, alignOfReal, alignOfFloat] (* val maxBlockFields = C_integerBits - 0w1 val nestedBlockIndex = intToUInt 0 val bitmapSize = C_integerBits (* * -- Structure of Block Header * * int: |3----+----2----+----1----+----| * <-A-><------------B------------> * * A (5bit) : size of block * B (27bit) : bitmap of block * * * bitmap for 1 word slots * * int: |3----+----2----+----1----+----| * <-A>1<------------B------------> * * A (4bit) : number of 1 word slots (1,3,5,...,25,27) * B (27bit) : bitmap of block * * bitmap for max word slots * * int: |3----+----2----+----1----+----| * <-A>0x<-----------B------------> * * Ax (5bit) : number of max word slots (1-26) * B (26bit) : bitmap of block * int: |3----+----2----+----1----+----| * <-A>0<---C----><----D------> A: number of D B: number of C (32 - log2(32)) / 2 = 13 32 - (32 - log2(32)) - (32 - log2(32)) / 2 = 32 - 5 - 13 = 14 14 - log2(14) / 2 = 5 * * bitmap for max word slots and boxed 1 word slots * bitmap for max word slots and 1 word slots * * | * * * -- Layout of Stack Frame * * alignOfHeader maxAlign maxAlign alignOfInt * | | | | * |[header] |[ ] ... |[ ] ... |[ ] ... [ ] |[ ] ... |[header] [ ] ... * | | | | | | * |<-head-->|<--N1-->|<-maxSize->| |<--N2-->| * |<--headerOffset-->| | | * | | |<-----spaceForArgs----->| | * | | | * | |<---------------blockSize---------------->| * | | * |<--------------------- a block -------------------->|<-- a block -- * | * |<--------------------------- a frame ----------------------- * ^ * FramePointer * * assumption: maxAlign mod alignOfHeader = 0 * N1 should be as small as possible for efficient bitmap computation. * * N1 = min(alignOfHeader, maxAlign) - sizeOfHeader * blockHeaderOffset = sizeOfHeader + N1 * N2 = ceilTo(blockHeaderOffset, maxAlign) - blockHeaderOffset * * maxSpaceForArgs = N - N mod maxAlign * where N = frameBitmapSize - N1 - N2 * maxNumArgsPerBlock = maxSpaceForArgs / maxSize * constraint: maxNumArgsPerBlock > 0 * * blockPadding = N1 + N2 * maxBlockSize = N1 + maxSpaceForArgs + N2 * blockSize(x) = blockPadding + x * maxAlign *) val frameBitmapSize = C_integerBits - log2 (C_integerBits - 0w1) val sizeOfHeader = sizeOfInt val alignOfHeader = alignOfInt val padHead = min [alignOfHeader, maxAlign] - sizeOfHeader val blockHeaderOffset = sizeOfHeader + padHead val padTail = ceilTo (blockHeaderOffset, maxAlign) - blockHeaderOffset val maxSlots = frameBitmapSize - padHead - padTail val maxSpaceForArgs = maxSlots - maxSlots mod maxAlign val maxNumArgsPerBlock = maxSpaceForArgs div maxSize val _ = if maxNumArgsPerBlock > 0w0 then () else raise Control.Bug "ASSERT: maxNumArgsPerBlock > 0" val blockPadding = padHead + padTail val maxBlockSize = blockPadding + maxSpaceForArgs *) end smlsharp-1.2.0/src/compiler/targetplatform/main/VMTarget.smi0000644 000000000000000000001112112050661606024262 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../systemdef/main/BasicTypes.smi" _require "TARGET_PLATFORM.sig" structure VMTarget = struct type uint = BasicTypes.UInt32.word type sint = BasicTypes.SInt32.int structure UInt = struct type word = BasicTypes.UInt32.word val wordSize : int val toLarge : word -> LargeWord.word val toLargeX : word -> LargeWord.word val toLargeWord : word -> LargeWord.word val toLargeWordX : word -> LargeWord.word val fromLarge : LargeWord.word -> word val fromLargeWord : LargeWord.word -> word val toLargeInt : word -> LargeInt.int val toLargeIntX : word -> LargeInt.int val fromLargeInt : LargeInt.int -> word val toInt : word -> int val toIntX : word -> int val fromInt : int -> word val andb : word * word -> word val orb : word * word -> word val xorb : word * word -> word val notb : word -> word val << : word * SMLSharp.Word.word -> word val >> : word * SMLSharp.Word.word -> word val ~>> : word * SMLSharp.Word.word -> word val + : word * word -> word val - : word * word -> word val * : word * word -> word val div : word * word -> word val mod : word * word -> word val compare : word * word -> order val < : word * word -> bool val <= : word * word -> bool val > : word * word -> bool val >= : word * word -> bool val ~ : word -> word val min : word * word -> word val max : word * word -> word val fmt : StringCvt.radix -> word -> string val toString : word -> string val scan : StringCvt.radix -> (char, 'a) StringCvt.reader -> (word, 'a) StringCvt.reader val fromString : string -> word option end structure SInt = struct type int = BasicTypes.SInt32.int val toLarge : int -> LargeInt.int val fromLarge : LargeInt.int -> int val toInt : int -> SMLSharp.Int.int val fromInt : SMLSharp.Int.int -> int val precision : SMLSharp.Int.int option val minInt : int option val maxInt : int option val + : int * int -> int val - : int * int -> int val * : int * int -> int val div : int * int -> int val mod : int * int -> int val quot : int * int -> int val rem : int * int -> int val compare : int * int -> order val < : int * int -> bool val <= : int * int -> bool val > : int * int -> bool val >= : int * int -> bool val ~ : int -> int val abs : int -> int val min : int * int -> int val max : int * int -> int val sign : int -> SMLSharp.Int.int val sameSign : int * int -> bool val fmt : StringCvt.radix -> int -> string val toString : int -> string val scan : StringCvt.radix -> (char, 'a) StringCvt.reader -> (int, 'a) StringCvt.reader val fromString : string -> int option end val toUInt : BasicTypes.UInt32 -> uint val toSInt : BasicTypes.SInt32 -> sint val charToUInt : char -> uint val intToUInt : int -> uint val intToSInt : int -> sint val UIntToInt : uint -> int val SIntToInt : sint -> int val wordToUInt : word -> uint val wordToSInt : word -> sint val UIntToWord : uint -> word val SIntToWord : sint -> word val UIntToSInt : uint -> sint val SIntToUInt : sint -> uint val compareUInt : uint * uint -> order val compareSInt : sint * sint -> order val compareString : string * string -> order (* kludges *) val UIntToUInt32 : uint -> BasicTypes.UInt32 val SIntToSInt32 : sint -> BasicTypes.SInt32 val formatUInt : StringCvt.radix -> uint -> string val formatSInt : StringCvt.radix -> sint -> string (* FIXME: we want more types! *) val C_UIntType : string (* "unsigned int" *) val C_SIntType : string (* "signed int" *) val C_UCharType : string (* "unsigned char" *) val C_SCharType : string (* "signed char" *) val C_RealType : string (* "double" *) val C_FloatType : string (* "float" *) val C_PtrType : string (* "void *" *) val C_UIntSuffix : string (* "U" *) val C_SIntSuffix : string (* "" *) val C_sizeOfInt : word (* sizeof(C_UIntType) *) val C_sizeOfPtr : word (* sizeof(C_PtrType) *) val C_sizeOfReal : word (* sizeof(C_RealType) *) val C_sizeOfFloat : word (* sizeof(C_FloatType) *) val C_alignOfInt : word (* __alignof__(C_UIntType) *) val C_alignOfPtr : word (* __alignof__(C_PtrType) *) val C_alignOfReal : word (* __alignof__(C_RealType) *) val C_alignOfFloat : word (* __alignof__(C_FloatType) *) (* NOTE: According to C specification, both size and alignment of char * is always 1. *) val C_integerBits : word end smlsharp-1.2.0/src/compiler/targetplatform/main/VMTarget.sml0000644 000000000000000000000330112050661606024266 0ustar00rootroot0000000 0000000 (** * Virtual Machine Target. * @copyright (c) 2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: VMTarget.sml,v 1.1 2007/09/24 22:28:39 katsu Exp $ *) structure VMTarget : TARGET_PLATFORM = struct structure UInt = BasicTypes.UInt32 structure SInt = BasicTypes.SInt32 type uint = UInt.word type sint = SInt.int fun toUInt (x : BasicTypes.UInt32) = x fun toSInt (x : BasicTypes.SInt32) = x fun charToUInt x = BasicTypes.IntToUInt32 (ord x) val intToUInt = BasicTypes.IntToUInt32 val intToSInt = BasicTypes.IntToSInt32 val UIntToInt = BasicTypes.UInt32ToInt val SIntToInt = BasicTypes.SInt32ToInt val wordToUInt = BasicTypes.WordToUInt32 val wordToSInt = BasicTypes.WordToSInt32 val UIntToWord = BasicTypes.UInt32ToWord val SIntToWord = BasicTypes.SInt32ToWord val UIntToSInt = BasicTypes.UInt32ToSInt32 val SIntToUInt = BasicTypes.SInt32ToUInt32 fun UIntToUInt32 (x : uint) = x : BasicTypes.UInt32 fun SIntToSInt32 (x : sint) = x : BasicTypes.SInt32 val compareUInt = BasicTypes.UInt32.compare val compareSInt = BasicTypes.SInt32.compare val compareString = String.compare val formatUInt = BasicTypes.UInt32.fmt val formatSInt = BasicTypes.SInt32.fmt val C_UIntType = "unsigned int" val C_SIntType = "int" val C_UCharType = "unsigned char" val C_SCharType = "signed char" val C_RealType = "double" val C_FloatType = "float" val C_PtrType = "void *" val C_UIntSuffix = "UL" val C_SIntSuffix = "L" val C_sizeOfInt = 0w4 val C_sizeOfPtr = 0w4 val C_sizeOfFloat = 0w4 val C_sizeOfReal = 0w8 val C_alignOfInt = 0w4 val C_alignOfPtr = 0w4 val C_alignOfFloat = 0w4 val C_alignOfReal = 0w8 val C_integerBits = 0w32 end smlsharp-1.2.0/src/compiler/toolchain0000755 000000000000000000000000012050661606020005 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/toolchain/main0000755 000000000000000000000000012050661606020731 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/toolchain/main/BinUtils.smi0000644 000000000000000000000156112050661606023256 0ustar00rootroot0000000 0000000 _require "../../../basis/main/String.smi" _require "../../../basis/main/General.smi" _require "../../../basis/main/binary-op.smi" _require "../../../basis/main/List.smi" _require "../../control/main/Control.ppg.smi" _require "../../../config/main/Config.smi" _require "../../../config/main/Version.smi" _require "Filename.smi" _require "CoreUtils.smi" _require "TempFile.smi" structure BinUtils = struct val assemble : {source: Filename.filename, flags: string list, object: Filename.filename} -> unit val link : {flags: string list, objects: Filename.filename list, libs: string list, dst: Filename.filename, quiet: bool} -> unit val partialLink : {objects: Filename.filename list, dst: Filename.filename} -> unit val archive : {objects: Filename.filename list, archive: Filename.filename} -> unit end smlsharp-1.2.0/src/compiler/toolchain/main/BinUtils.sml0000644 000000000000000000001033512050661606023260 0ustar00rootroot0000000 0000000 (** * compiler toolchain support - binutils * @copyright (c) 2010, Tohoku University. * @author UENO Katsuhiro *) structure BinUtils : sig val assemble : {source: Filename.filename, flags: string list, object: Filename.filename} -> unit val link : {flags: string list, objects: Filename.filename list, libs: string list, dst: Filename.filename, quiet: bool} -> unit val partialLink : {objects: Filename.filename list, dst: Filename.filename} -> unit val archive : {objects: Filename.filename list, archive: Filename.filename} -> unit end = struct val maxCommandLineSize = 1024 fun join [x] = x | join (""::t) = join t | join (h::t) = h ^ " " ^ join t | join nil = "" fun quote "" = "\"\"" | quote x = x (* FIXME *) fun take maxSize strs = let fun prepend (x, (l1, l2)) = (x::l1, l2) fun loop (nil, cols) = (nil, nil) | loop (h::t, cols) = if cols + 1 + size h > maxSize then (nil, h::t) else prepend (h, loop (t, cols + 1 + size h)) in loop (strs, 0) end fun takeAtLeast1 maxSize strs = case take maxSize strs of (nil, h::t) => ([h], t) | x => x fun invokeLinker (pre, files, post) = let val maxSize = maxCommandLineSize - (size pre + size post + 2) fun loop (nil, linked) = loop (linked, nil) | loop (files, linked) = case take maxSize (linked @ files) of (args, nil) => CoreUtils.system (join (pre :: args @ [post])) | _ => case files of [file] => loop (nil, linked @ [file]) | _ => let val objfile = TempFile.create ("."^SMLSharp_Config.OBJEXT()) val objfile = quote (Filename.toString objfile) val pre = SMLSharp_Config.LD () ^ " -r " val post = " -o " ^ objfile val maxSize = maxCommandLineSize - (size pre + size post) val (args, rest) = takeAtLeast1 maxSize files in CoreUtils.system (pre ^ join args ^ post); loop (rest, linked @ [objfile]) end in loop (files, nil) end fun link {flags, objects, libs, dst, quiet} = let val objects = map (quote o Filename.toString) objects val pre = join (SMLSharp_Config.CC () :: SMLSharp_Config.LDFLAGS () :: map quote flags) val post = join (map quote libs @ [SMLSharp_Config.LIBS (), "-o", quote (Filename.toString dst)]) val post = case (quiet, !SMLSharp_Version.HostOS) of (true, SMLSharp_Version.Unix) => post ^ " > /dev/null 2>&1" | (true, SMLSharp_Version.Windows) => post ^ " > nul 2>&1" | (false, _) => post in invokeLinker (pre, objects, post) end fun partialLink {objects, dst} = let val objects = map (quote o Filename.toString) objects val pre = SMLSharp_Config.LD () ^ " -r " val post = " -o " ^ quote (Filename.toString dst) in invokeLinker (pre, objects, post) end fun assemble {source, flags, object} = let val joinResult = join ([SMLSharp_Config.CC ()] @ map quote flags @ ["-c", quote (Filename.toString source), "-o", quote (Filename.toString object)]) in CoreUtils.system joinResult end fun archive {objects, archive} = let val _ = CoreUtils.rm_f archive val archive = quote (Filename.toString archive) val objects = map (quote o Filename.toString) objects val pre = join [SMLSharp_Config.AR (), "qc", archive] ^ " " val maxSize = maxCommandLineSize - size pre fun loop nil = () | loop args = let val (args, rest) = takeAtLeast1 maxSize args in CoreUtils.system (pre ^ join args); loop rest end in loop objects; CoreUtils.system (SMLSharp_Config.RANLIB () ^ " " ^ archive) end end smlsharp-1.2.0/src/compiler/toolchain/main/CoreUtils.smi0000644 000000000000000000000211712050661606023434 0ustar00rootroot0000000 0000000 _require "../../../basis/main/Word8Vector.smi" _require "../../../basis/main/BinIO.smi" _require "../../../basis/main/TextIO.smi" _require "../../../basis/main/String.smi" _require "../../../basis/main/OS.smi" _require "../../../basis/main/List.smi" _require "../../control/main/Loc.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "Filename.smi" structure CoreUtils = struct exception Failed of {command: string, message: string} val join : string list -> string val quote : string -> string val newFile : Filename.filename -> unit val testExist : Filename.filename -> bool val rm : Filename.filename -> unit val rm_f : Filename.filename -> unit val mkdir : Filename.filename -> unit val rmdir_f : Filename.filename -> unit val system : string -> unit val makeTextFile : Filename.filename * string -> unit val makeBinFile : Filename.filename * Word8Vector.vector -> unit val makeTextFile' : Filename.filename * ((string -> unit) -> unit) -> unit val readTextFile : Filename.filename -> string val readBinFile : Filename.filename -> Word8Vector.vector end smlsharp-1.2.0/src/compiler/toolchain/main/CoreUtils.sml0000644 000000000000000000000773712050661606023454 0ustar00rootroot0000000 0000000 (** * compiler toolchain support - core utils * @copyright (c) 2010, Tohoku University. * @author UENO Katsuhiro *) structure CoreUtils : sig exception Failed of {command: string, message: string} val join : string list -> string val quote : string -> string val newFile : Filename.filename -> unit val testExist : Filename.filename -> bool val rm : Filename.filename -> unit val rm_f : Filename.filename -> unit val mkdir : Filename.filename -> unit val rmdir_f : Filename.filename -> unit val system : string -> unit val makeTextFile : Filename.filename * string -> unit val makeBinFile : Filename.filename * Word8Vector.vector -> unit val makeTextFile' : Filename.filename * ((string -> unit) -> unit) -> unit val readTextFile : Filename.filename -> string val readBinFile : Filename.filename -> Word8Vector.vector end = struct exception Failed of {command: string, message: string} fun join [x] = x | join (""::t) = join t | join (h::t) = h ^ " " ^ join t | join nil = "" fun quote "" = "\"\"" | quote x = x (* FIXME *) fun log msg = if !Control.printCommand then TextIO.output (TextIO.stdErr, msg ^ "\n") else () fun handleSysErr (cmd, e) = case e of OS.SysErr (msg, _) => (log ("FAILED: " ^ msg); raise Failed {command=cmd, message=msg}) | _ => raise e fun ignoreSysErr e = case e of OS.SysErr (msg, _) => () | _ => raise e fun newFile filename = BinIO.closeOut (BinIO.openOut (Filename.toString filename)) fun testExist filename = (OS.FileSys.fileSize (Filename.toString filename); true) handle OS.SysErr _ => false fun rm filename = let val filename = Filename.toString filename val cmd = "rm " ^ filename in log cmd; OS.FileSys.remove filename handle e => handleSysErr (cmd, e) end fun rm_f filename = let val filename = Filename.toString filename val cmd = "rm -f " ^ filename in log cmd; OS.FileSys.remove filename handle e => ignoreSysErr e end fun mkdir filename = let val filename = Filename.toString filename val cmd = "mkdir " ^ filename in log cmd; OS.FileSys.mkDir filename handle e => handleSysErr (cmd, e) end fun rmdir_f filename = let val filename = Filename.toString filename val cmd = "rmdir " ^ filename in log cmd; OS.FileSys.rmDir filename handle e => ignoreSysErr e end fun system command = ( log command; if OS.Process.isSuccess (OS.Process.system command) then () else (log ("FAILED: command: " ^ command); raise Failed {command=command, message="command failed"}) ) fun makeTextFile (filename, content) = let val f = Filename.TextIO.openOut filename val _ = TextIO.output (f, content) handle e => (TextIO.closeOut f; rm_f filename; raise e) in TextIO.closeOut f end fun makeBinFile (filename, content) = let val f = Filename.BinIO.openOut filename val _ = BinIO.output (f, content) handle e => (BinIO.closeOut f; rm_f filename; raise e) in BinIO.closeOut f end fun makeTextFile' (filename, contentFn) = let val f = Filename.TextIO.openOut filename val _ = contentFn (fn s => TextIO.output (f, s)) handle e => (TextIO.closeOut f; rm_f filename; raise e) in TextIO.closeOut f end fun readTextFile filename = let val f = Filename.TextIO.openIn filename val s = TextIO.inputAll f handle e => (TextIO.closeIn f; raise e) in TextIO.closeIn f; s end fun readBinFile filename = let val f = Filename.BinIO.openIn filename val s = BinIO.inputAll f handle e => (BinIO.closeIn f; raise e) in BinIO.closeIn f; s end end smlsharp-1.2.0/src/compiler/toolchain/main/Filename.smi0000644 000000000000000000000210412050661606023237 0ustar00rootroot0000000 0000000 _require "../../../basis/main/TextIO.smi" _require "../../../basis/main/BinIO.smi" _require "../../../basis/main/OS.smi" _require "../../../basis/main/List.smi" _require "../../../basis/main/String.smi" _require "../../../basis/main/binary-op.smi" _require "../../../config/main/Version.smi" structure Filename = struct type filename (= string) val toString : filename -> string val fromString : string -> filename val basename : filename -> filename val dirname : filename -> filename val suffix : filename -> string option val addSuffix : filename * string -> filename val removeSuffix : filename -> filename val replaceSuffix : string -> filename -> filename val pwd : unit -> filename val concatPath : filename * filename -> filename val isAbsolute : filename -> bool val realPath : filename -> filename structure TextIO = struct val openIn : filename -> TextIO.instream val openOut : filename -> TextIO.outstream end structure BinIO = struct val openIn : filename -> BinIO.instream val openOut : filename -> BinIO.outstream end end smlsharp-1.2.0/src/compiler/toolchain/main/Filename.sml0000644 000000000000000000000666312050661606023260 0ustar00rootroot0000000 0000000 (** * filename type - a way for describing what you are thinking by types. * @copyright (c) 2010, Tohoku University. * @author UENO Katsuhiro *) structure Filename :> sig type filename (* "/" is used as directory separator on any platform. *) val toString : filename -> string val fromString : string -> filename val basename : filename -> filename val dirname : filename -> filename val suffix : filename -> string option val addSuffix : filename * string -> filename val removeSuffix : filename -> filename val replaceSuffix : string -> filename -> filename val pwd : unit -> filename val concatPath : filename * filename -> filename val isAbsolute : filename -> bool val realPath : filename -> filename structure TextIO : sig val openIn : filename -> TextIO.instream val openOut : filename -> TextIO.outstream end structure BinIO : sig val openIn : filename -> BinIO.instream val openOut : filename -> BinIO.outstream end end = struct type filename = string fun toString x = x : string fun fromString x = x : filename fun basename filename = #file (OS.Path.splitDirFile filename) fun dirname filename = case #dir (OS.Path.splitDirFile filename) of "" => "." | x => x fun suffix filename = #ext (OS.Path.splitBaseExt filename) fun addSuffix (filename, suffix) = OS.Path.joinBaseExt {base = filename, ext = SOME suffix} fun removeSuffix filename = #base (OS.Path.splitBaseExt filename) fun replaceSuffix suffix filename = addSuffix (removeSuffix filename, suffix) fun pwd () = OS.FileSys.getDir () fun concatPath ("", filename) = filename | concatPath (filename1, filename2) = if filename1 = OS.Path.currentArc then filename2 else OS.Path.concat (filename1, filename2) fun isAbsolute filename = OS.Path.isAbsolute filename fun realPath filename = let val maxLinks = 64 fun toFilename (root, cur) = String.concatWith "/" (rev root @ rev cur) fun readlink name = SOME (OS.FileSys.readLink name) handle _ => NONE fun walk (0, _, _, _) = raise OS.SysErr ("too many symlinks", NONE) | walk (n, root, cur, nil) = toFilename (root, cur) | walk (n, root, cur, ""::path) = walk (n, root, cur, path) | walk (n, root, cur, "."::path) = walk (n, root, cur, path) | walk (n, root, _::cur, ".."::path) = walk (n, root, cur, path) | walk (n, root, nil, ".."::path) = (case root of ""::_ => walk (n, root, nil, path) | _ => walk (n, ".."::root, nil, path)) | walk (n, root, cur, name::path) = case readlink (toFilename (root, name::cur)) of NONE => walk (n, root, name::cur, path) | SOME filename => case String.fields (fn c => c = #"/") filename of ""::lpath => walk (n-1, [""], nil, lpath) | lpath => walk (n-1, root, cur, lpath @ path) in case String.fields (fn c => c = #"/") filename of ""::path => walk (maxLinks, [""], nil, path) | path => walk (maxLinks, nil, nil, path) end structure TextIO = struct fun openIn filename = TextIO.openIn filename fun openOut filename = TextIO.openOut filename end structure BinIO = struct fun openIn filename = BinIO.openIn filename fun openOut filename = BinIO.openOut filename end end smlsharp-1.2.0/src/compiler/toolchain/main/TempFile.smi0000644 000000000000000000000102612050661606023226 0ustar00rootroot0000000 0000000 _require "../../../basis/main/List.smi" _require "../../../basis/main/Option.smi" _require "../../../basis/main/binary-op.smi" _require "../../../basis/main/String.smi" _require "../../../basis/main/StringCvt.smi" _require "../../../basis/main/Int.smi" _require "../../../basis/main/Substring.smi" _require "../../../basis/main/OS.smi" _require "../../../basis/main/General.smi" _require "Filename.smi" _require "CoreUtils.smi" structure TempFile = struct val create : string -> Filename.filename val cleanup : unit -> unit end smlsharp-1.2.0/src/compiler/toolchain/main/TempFile.sml0000644 000000000000000000000571712050661606023244 0ustar00rootroot0000000 0000000 (** * temporary file management * @copyright (c) 2010, Tohoku University. * @author UENO Katsuhiro *) structure TempFile : sig (* takes a template of filename, and generates a fresh filename based on * the template, and create a file of that name. * The template must be of the form ".". "." may be * omitted. If the template is empty string, a random name will be used. *) val create : string -> Filename.filename val cleanup : unit -> unit end = struct val mktempRetryCount = 5 val tmpDir = ref NONE : Filename.filename option ref val tmpFiles = ref nil : Filename.filename list ref val tmpFileCount = ref 0 fun mktemp_d retry = if retry <= 0 then raise Fail "failed to make temporally directory" else let (* * Basis Library specification says that OS.FileSys.tmpName creates * a new file. tmpName of SML/NJ for UNIX doesn't create a file * because it is implemented by tmpnam(3). *) val tmpname = OS.FileSys.tmpName () val tmpname = Filename.fromString tmpname in (CoreUtils.rm_f tmpname; CoreUtils.mkdir tmpname; tmpname) handle OS.SysErr _ => mktemp_d (retry - 1) end fun tmpDirName () = case !tmpDir of SOME dir => dir | NONE => let val dirname = mktemp_d mktempRetryCount in tmpDir := SOME dirname; dirname end fun split template = let val ss = Substring.full template val (base, suffix) = Substring.splitr (fn c => c <> #".") ss val base = Substring.dropr (fn c => c = #".") base in (Substring.string base, Substring.string suffix) end fun makeFilename (dir, base, suffix, seqno) = let val num = StringCvt.padLeft #"0" 3 (Int.fmt StringCvt.DEC seqno) val base = if base = "" then num else base ^ "-" ^ num val filename = Filename.fromString base val absname = Filename.concatPath (dir, filename) in if suffix = "" then absname else Filename.addSuffix (absname, suffix) end fun freshName template = let val dir = tmpDirName () val (base, suffix) = split template fun loop () = let val filename = makeFilename (dir, base, suffix, !tmpFileCount) in if CoreUtils.testExist filename then (tmpFileCount := !tmpFileCount + 1; loop ()) else filename end in loop () end fun create template = let val filename = freshName template in CoreUtils.newFile filename; tmpFiles := filename :: !tmpFiles; filename end fun cleanup () = ( app CoreUtils.rm_f (rev (!tmpFiles)); Option.map CoreUtils.rmdir_f (!tmpDir); tmpDir := NONE; tmpFiles := nil; tmpFileCount := 0 ) end smlsharp-1.2.0/src/compiler/toplevel20000755 000000000000000000000000012050661606017741 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/toplevel2/main0000755 000000000000000000000000012050661606020665 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/toplevel2/main/NameEvalEnvUtils.smi0000644 000000000000000000000140712050661606024642 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../nameevaluation/main/NameEvalUtils.smi" _require "../../nameevaluation/main/NameEvalEnv.ppg.smi" _require "../../typeinference2/main/TypeInferenceContext.ppg.smi" _require "../../types/main/VarMap.smi" _require "../../types/main/TypesUtils.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../typedcalc/main/TypedCalc.ppg.smi" structure NameEvalEnvUtils = struct val mergeTypeEnv : NameEvalEnv.topEnv * TypeInferenceContext.varEnv -> NameEvalEnv.topEnv val resetInternalId : NameEvalEnv.topEnv -> NameEvalEnv.topEnv val externOverloadInstances : NameEvalEnv.topEnv -> IDCalc.icdecl list end smlsharp-1.2.0/src/compiler/toplevel2/main/NameEvalEnvUtils.sml0000644 000000000000000000001533512050661606024652 0ustar00rootroot0000000 0000000 (** * utilities for name eval env. * @copyright (c) 2012, Tohoku University. *) structure NameEvalEnvUtils : sig val mergeTypeEnv : NameEvalEnv.topEnv * TypeInferenceContext.varEnv -> NameEvalEnv.topEnv val resetInternalId : NameEvalEnv.topEnv -> NameEvalEnv.topEnv val externOverloadInstances : NameEvalEnv.topEnv -> IDCalc.icdecl list end = struct structure I = IDCalc structure V = NameEvalEnv fun bug s = Control.Bug ("MergeTypeEnv: " ^ s) fun setTyIdstatus tyVarE idstatus = case idstatus of I.IDVAR varId => raise bug "IDVAR not found" | I.IDVAR_TYPED {id, ty} => raise bug "IDVAR not found" | I.IDEXVAR_TOBETYPED {path, id, loc, version} => (case VarMap.find(tyVarE, {id=id, path=nil}) of NONE => raise bug "varId not found" | SOME (TypedCalc.VARID {ty,...}) => I.IDEXVAR {path=path, version=version, used = ref false, internalId= SOME id, ty=I.INFERREDTY ty, loc=loc} | SOME (TypedCalc.RECFUNID ({ty,...},_)) => I.IDEXVAR {path=path, version=version, used = ref false, internalId= SOME id, ty=I.INFERREDTY ty, loc=loc} ) | I.IDEXVAR {path, ty, used, loc, version, internalId=SOME id} => I.IDEXVAR {path=path, ty=ty, used=used, loc=loc, version=version, internalId=SOME id} | I.IDEXVAR {path, ty, used, loc, version, internalId=NONE} => idstatus | I.IDBUILTINVAR {primitive, ty} => idstatus | I.IDCON {id, ty} => idstatus | I.IDEXN {id, ty} => idstatus | I.IDEXNREP {id, ty} => idstatus | I.IDEXEXN {path, ty, used, loc, version} => idstatus | I.IDEXEXNREP {path, ty, used, loc, version} => idstatus (* | I.IDOPRIM _ => raise bug "IDOPRIM in setTy" *) | I.IDOPRIM _ => idstatus (* FIXME *) | I.IDSPECVAR ty => raise bug "IDSPECVAR in setTy" | I.IDSPECEXN ty => raise bug "IDSPECEXN in setTy" | I.IDSPECCON => raise bug "IDSPECCON in setTy" fun setTyVarE tyVarE varE = SEnv.map (setTyIdstatus tyVarE) varE fun setTyEnv tyVarE (NameEvalEnv.ENV {varE, tyE, strE}) = let val varE = setTyVarE tyVarE varE val strE = setTyStrE tyVarE strE in NameEvalEnv.ENV {varE=varE, tyE=tyE, strE=strE} end and setTyStrE tyVarE (NameEvalEnv.STR envMap) = NameEvalEnv.STR (SEnv.map (fn {env,strKind} => {env= setTyEnv tyVarE env, strKind=strKind}) envMap) fun setTyFunE tyVarE funE = SEnv.map (fn {id, version, used, argSig, argStrEntry, argStrName, dummyIdfunArgTy, polyArgTys, typidSet, exnIdSet, bodyEnv, bodyVarExp} => let val bodyVarExp = case bodyVarExp of I.ICEXVAR_TOBETYPED ({path, id=id}, loc) => let val ty = case VarMap.find(tyVarE, {id=id, path=nil}) of NONE => raise bug "varId not found" | SOME (TypedCalc.VARID {ty,...}) => I.INFERREDTY ty | SOME (TypedCalc.RECFUNID ({ty,...},_)) => I.INFERREDTY ty in I.ICEXVAR ({path=path, ty= ty}, loc) end | _ => bodyVarExp in {id=id, version = version, used = used, argSig = argSig, argStrEntry = argStrEntry, argStrName = argStrName, dummyIdfunArgTy = dummyIdfunArgTy, polyArgTys = polyArgTys, typidSet = typidSet, exnIdSet = exnIdSet, bodyEnv = bodyEnv, bodyVarExp = bodyVarExp } end ) funE fun setTy tyVarE (env as {FunE, SigE, Env}) = let val FunE = setTyFunE tyVarE FunE val Env = setTyEnv tyVarE Env in {FunE=FunE, SigE=SigE, Env=Env} end fun mergeTypeEnv (topEnv:NameEvalEnv.topEnv, tyVarE: TypeInferenceContext.varEnv) : NameEvalEnv.topEnv = setTy tyVarE topEnv fun resetInternalIdIdstatus idstatus = case idstatus of I.IDEXVAR {path, ty, used, loc, version, internalId} => I.IDEXVAR {path=path, ty=ty, used=used, loc=loc, version=version, internalId=NONE} | idstatus => idstatus fun resetInternalIdEnv (V.ENV{varE, strE, tyE}) = let val varE = SEnv.map resetInternalIdIdstatus varE val strE = resetInternalIdStrE strE in V.ENV{varE=varE, strE=strE, tyE=tyE} end and resetInternalIdStrE (V.STR strEmap) = let val strEmap = SEnv.map (fn {env, strKind} => {env=resetInternalIdEnv env, strKind=strKind} ) strEmap in V.STR strEmap end fun resetInternalId ({Env, FunE, SigE}:V.topEnv) = let val Env = resetInternalIdEnv Env in {Env=Env, FunE=FunE, SigE=SigE} end fun scanOverloadInstance inst = case inst of I.INST_OVERLOAD overloadCase => scanOverloadCase overloadCase | I.INST_EXVAR ({path, used, ty}, loc) => [I.ICEXTERNVAR ({path=path, ty=ty}, loc)] | I.INST_PRIM _ => nil and scanOverloadCase ({tvar, expTy, matches, loc}:I.overloadCase) = foldr (fn ({instTy, instance}, z) => scanOverloadInstance instance @ z) nil matches fun scanOverloadDef icdecl = case icdecl of I.ICOVERLOADDEF {boundtvars, id, path, overloadCase, loc} => scanOverloadCase overloadCase | _ => raise Control.Bug "scanOverloadDef" fun scanIdStatus idstatus = case idstatus of I.IDVAR _ => nil | I.IDVAR_TYPED _ => nil | I.IDEXVAR _ => nil | I.IDEXVAR_TOBETYPED _ => nil | I.IDBUILTINVAR _ => nil | I.IDCON _ => nil | I.IDEXN _ => nil | I.IDEXNREP _ => nil | I.IDEXEXN _ => nil | I.IDEXEXNREP _ => nil | I.IDOPRIM {id, overloadDef, used, loc} => scanOverloadDef overloadDef | I.IDSPECVAR _ => nil | I.IDSPECEXN _ => nil | I.IDSPECCON => nil fun scanVarEnv varEnv = SEnv.foldr (fn (idstatus, z) => scanIdStatus idstatus @ z) nil varEnv fun scanEnv (V.ENV {varE, tyE, strE}) = scanVarEnv varE @ scanStrEnv strE and scanStrEnv (V.STR strEnv) = SEnv.foldr (fn ({env, strKind}, z) => scanEnv env @ z) nil strEnv fun externOverloadInstances ({Env, FunE, SigE}:V.topEnv) = scanEnv Env end smlsharp-1.2.0/src/compiler/toplevel2/main/TOP.sig0000644 000000000000000000000522212050661606022113 0ustar00rootroot0000000 0000000 signature TOP = sig datatype stopAt = SyntaxCheck (* run until syntax check is completed. *) | ErrorCheck (* run until error check is completed. *) | Assembly (* generate assembly file and return. *) | NoStop datatype code = FILE of Filename.filename (* compile result is in a file. *) type interfaceNames = { provide: AbsynInterface.interfaceName option, requires: AbsynInterface.interfaceName list, depends: (AbsynInterface.filePlace * string) list } type toplevelOptions = { stopAt: stopAt, (* compile will stop here. *) dstfile: Filename.filename option, (* preferred output file name *) baseName: Filename.filename option, (* base name for file search *) stdPath: Filename.filename list, (* standard path for file search *) loadPath: Filename.filename list, (* user path for file search *) asmFlags: string list (* flags for assembler *) } val defaultOptions : toplevelOptions type toplevelContext = { topEnv: NameEvalEnv.topEnv, version: int option, fixEnv: Elaborator.fixEnv, builtinDecls: IDCalc.icdecl list } type newContext = { topEnv: NameEvalEnv.topEnv, fixEnv: Elaborator.fixEnv } val emptyNewContext : newContext datatype result = STOPPED (* aborted due to stopAt. *) | RETURN of newContext * code (* compile successfully finished *) val extendContext : toplevelContext * newContext -> toplevelContext (** read one compile unit from input and compile it. *) val compile : toplevelOptions -> toplevelContext -> Parser.input -> interfaceNames * result val loadInterface : {stopAt: stopAt, stdPath: Filename.filename list, loadPath: Filename.filename list} -> toplevelContext -> Filename.filename -> interfaceNames * newContext option val loadBuiltin : InterfaceParser.input -> toplevelContext (* val debugPrint : string -> unit val printStopAt : stopAt -> unit val printInterfaceNames : interfaceNames -> unit val printInterfaceName : AbsynInterface.interfaceName -> unit val printFileName : Filename.filename -> unit val printInterfaceNameList : AbsynInterface.interfaceName list -> unit val printResult : result -> unit val printToplevelOptions : toplevelOptions -> unit val printCompileUnit : AbsynInterface.compileUnit -> unit *) end smlsharp-1.2.0/src/compiler/toplevel2/main/Top.smi0000644 000000000000000000001175012050661606022224 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../control/main/Loc.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../util/main/Counter.smi" _require "../../toolchain/main/Filename.smi" _require "../../toolchain/main/TempFile.smi" _require "../../toolchain/main/BinUtils.smi" _require "../../toolchain/main/CoreUtils.smi" _require "../../usererror/main/UserError.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../absyn/main/AbsynInterface.ppg.smi" _require "../../absyn/main/AbsynFormatter.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../patterncalc/main/PatternCalcInterface.ppg.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../types/main/VarMap.smi" _require "../../parser2/main/Parser.smi" _require "../../parser2/main/InterfaceParser.smi" _require "../../loadfile/main/LoadFile.smi" _require "../../elaborate/main/Elaborator.smi" _require "../../nameevaluation/main/NameEvalEnv.ppg.smi" _require "../../nameevaluation/main/NameEval.smi" _require "../../nameevaluation/main/NameEvalUtils.smi" _require "../../valrecoptimization/main/VALREC_Optimizer.smi" _require "../../valrecoptimization/main/TransFundecl.smi" _require "../../typedcalc/main/TypedCalc.ppg.smi" _require "../../typedcalcoptimization/main/TCOptimize.smi" _require "../../recordcalcoptimization/main/RCOptimize.smi" _require "../../typeinference2/main/InferTypes2.smi" _require "../../typeinference2/main/UncurryFundecl_ng.smi" _require "../../reflection/main/PrinterGeneration.smi" _require "../../recordcalc/main/RecordCalcFormatter.smi" _require "../../matchcompilation/main/MatchCompiler.smi" _require "../../sqlcompilation/main/SQLCompilation.smi" _require "../../fficompilation/main/FFICompilation.smi" _require "../../recordcompilation/main/RecordCompilation.smi" _require "../../typedlambda/main/TypedLambdaFormatter.smi" _require "../../datatypecompilation/main/DatatypeCompilation.smi" _require "../../annotatedcalc/main/AnnotatedCalcFormatter.smi" _require "../../staticanalysis/main/StaticAnalysis.smi" _require "../../multiplevaluecalc/main/MultipleValueCalcFormatter.smi" _require "../../recordunboxing/main/RecordUnboxing.smi" _require "../../bitmapcalc/main/BitmapCalc.ppg.smi" _require "../../bitmapcompilation/main/BitmapCompilation.smi" _require "../../bitmapanormal/main/BitmapANormal.ppg.smi" _require "../../bitmapanormal/main/TypeCheckBitmapANormal.smi" _require "../../bitmapanormalization/main/BitmapANormalization.smi" _require "../../bitmapanormaloptimize/main/BitmapANormalReorder.smi" _require "../../closureanormal/main/ClosureANormal.ppg.smi" _require "../../closureconversion/main/ClosureConversion.smi" _require "../../yaanormal/main/ANormal.ppg.smi" _require "../../toyaanormal/main/ToYAANormal.smi" _require "../../yaanormalization/main/ANormalOptimization.smi" _require "../../yaanormalization/main/StaticAllocation.smi" _require "../../abstractinstruction2/main/AbstractInstructionFormatter.smi" _require "../../aigenerator2/main/AIGenerator.smi" _require "../../rtl/main/RTL.ppg.smi" _require "../../rtl/main/RTLTypeCheck.smi" _require "../../rtl/main/RTLTypeCheckError.ppg.smi" _require "../../rtl/main/X86Select.smi" _require "../../rtl/main/X86Stabilize.smi" _require "../../rtl/main/RTLRename.smi" _require "../../rtl/main/X86Coloring.smi" _require "../../rtl/main/X86Frame.smi" _require "../../rtl/main/X86Emit.smi" _require "../../rtl/main/X86AsmGen.smi" _require "../../generatemain/main/GenerateMain.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../config/main/Config.smi" _require "TOP.sig" _require "TopData.ppg.smi" _require "NameEvalEnvUtils.smi" structure Top = struct datatype stopAt = datatype TopData.stopAt datatype code = datatype TopData.code type interfaceNames = TopData.interfaceNames datatype result = datatype TopData.result type toplevelOptions = TopData.toplevelOptions type toplevelContext = TopData.toplevelContext type newContext = TopData.newContext val defaultOptions : toplevelOptions val extendContext : toplevelContext * newContext -> toplevelContext val emptyNewContext : newContext val compile : toplevelOptions -> toplevelContext -> Parser.input -> interfaceNames * result val loadInterface : {stopAt: stopAt, stdPath: Filename.filename list, loadPath: Filename.filename list} -> toplevelContext -> Filename.filename -> interfaceNames * newContext option val loadBuiltin : InterfaceParser.input -> toplevelContext (* val debugPrint : string -> unit val printStopAt : stopAt -> unit val printInterfaceNames : interfaceNames -> unit val printInterfaceName : AbsynInterface.interfaceName -> unit val printFileName : Filename.filename -> unit val printInterfaceNameList : AbsynInterface.interfaceName list -> unit val printResult : result -> unit val printToplevelOptions : toplevelOptions -> unit val printCompileUnit : AbsynInterface.compileUnit -> unit *) end smlsharp-1.2.0/src/compiler/toplevel2/main/Top.sml0000644 000000000000000000007566512050661606022246 0ustar00rootroot0000000 0000000 (** * compiler toplevel * @copyright (c) 2010, Tohoku University. * @author Atsushi Ohori * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro *) structure Top : TOP = struct fun bug s = Control.Bug ("CheckProvide: " ^ s) open TopData val defaultOptions = { stopAt = NoStop, dstfile = NONE, baseName = NONE, stdPath = nil, loadPath = nil, asmFlags = nil } : toplevelOptions fun extendContext ({topEnv, fixEnv, version, builtinDecls} : toplevelContext, {topEnv=newTopEnv, fixEnv=newFixEnv} : newContext) = let val topEnv = NameEvalEnv.topEnvWithTopEnv (topEnv, newTopEnv) in {topEnv = topEnv, version = version, fixEnv = Elaborator.extendFixEnv (fixEnv, newFixEnv), builtinDecls = builtinDecls} : toplevelContext end val emptyNewContext = { topEnv = NameEvalEnv.emptyTopEnv, fixEnv = SEnv.empty } : newContext val errorOutput = TextIO.stdErr fun printError msg = TextIO.output (errorOutput, msg) fun flushError () = TextIO.flushOut errorOutput fun printLines title formatter elems = (if title = "" then () else (printError title; printError ":\n"); app (fn elem => let val s = formatter elem in if s <> "" then (printError s; printError "\n") else () end ) elems; flushError ()) fun userErrorToString x = Control.prettyPrint (UserError.format_errorInfo x) fun printWarnings warnings = if !Control.printWarning then printLines "" userErrorToString warnings else () fun printDiagnosis title diagnoses = if !Control.printDiagnosis then printLines title userErrorToString diagnoses else () fun printPhase title = if !Control.debugPrint then (printError "phase: "; printError title; printError "\n") else () fun printCode flag formatter title codes = if !flag andalso !Control.switchTrace then printLines title formatter codes else () fun printParseResult title code = printCode Control.printSource AbsynFormatter.unitParseResultToString title code fun printAbsyn title code = printCode Control.printSource (Control.prettyPrint o AbsynInterface.format_compileUnit) title code fun printPatternCalc title code = printCode Control.printPL (Control.prettyPrint o PatternCalcInterface.format_compileUnit) title code fun printIDCalc title {decls=code, loc} = printCode Control.printNE (if !Control.printWithType then (Control.prettyPrint o IDCalc.formatWithType_icdecl) else (Control.prettyPrint o IDCalc.format_icdecl) ) title code fun printVR title {decls=code, loc} = printCode Control.printVR (Control.prettyPrint o IDCalc.format_icdecl) title code fun printTypedCalc title code = printCode Control.printTP (if !Control.printWithType then Control.prettyPrint o (TypedCalc.formatWithType_tpdecl nil) else Control.prettyPrint o (TypedCalc.format_tpdecl nil) ) title code fun printTP title code = printCode Control.printInfo (if !Control.printWithType then Control.prettyPrint o (TypedCalc.formatWithType_tpdecl nil) else Control.prettyPrint o (TypedCalc.format_tpdecl nil) ) title code fun printRecordCalc controlRef title code = printCode controlRef (if !Control.printWithType then RecordCalcFormatter.rcdecToString else RecordCalcFormatter.rcdecToStringWithoutType) title code fun printTypedLambda title code = printCode Control.printTL (if !Control.printWithType then TypedLambdaFormatter.tldecToStringWithType else TypedLambdaFormatter.tldecToString) title code fun printAnnotatedCalc title code = printCode Control.printAC (if !Control.printWithType then AnnotatedCalcFormatter.acdeclToStringWithType else AnnotatedCalcFormatter.acdeclToString) title code fun printMultipleValueCalc title code = printCode Control.printMV MultipleValueCalcFormatter.mvdeclToString title code fun printBitmapCalc title code = printCode Control.printRBU (if !Control.printWithType then Control.prettyPrint o BitmapCalc.formatWithType_bcdecl else Control.prettyPrint o BitmapCalc.format_bcdecl) title code fun printBitmapANormal title code = printCode Control.printRBU (if !Control.printWithType then Control.prettyPrint o BitmapANormal.formatWithType_baexp else Control.prettyPrint o BitmapANormal.format_baexp) title [code] fun printClosureANormal title code = printCode Control.printRBU (Control.prettyPrint o ClosureANormal.format_catopdec) title code fun printYAANormal title code = printCode Control.printAN (Control.prettyPrint o YAANormal.format_topdecl) title code fun printAbstractInstruction2 title code = printCode Control.printAI AbstractInstruction2Formatter.programToString title [code] fun printRTL title code = printCode Control.printML (Control.prettyPrint o RTL.format_program) title [code] fun doParse input = let val _ = printPhase "Parse starts" val _ = #start Counter.parseTimeCounter() val ret = Parser.parse input val _ = #stop Counter.parseTimeCounter() val _ = printParseResult "Parsed" [ret] val _ = printPhase "Parse ends" in case ret of Absyn.UNIT unit => unit | Absyn.EOF => {interface = Absyn.NOINTERFACE, tops = nil, loc = Loc.noloc} end fun doLoadFile (baseName, stdPath, loadPath) absyn = let val _ = printPhase "LoadFile starts" val _ = #start Counter.loadFileTimeCounter() val ({loadedFiles}, abunit) = LoadFile.load {baseName=baseName, stdPath=stdPath, loadPath=loadPath} absyn val _ = #stop Counter.loadFileTimeCounter() val _ = printAbsyn "File Loaded" [abunit] val _ = printPhase "LoadFile ends" val interfaceNames = {provide = #interfaceName (#interface abunit), requires = map #interfaceName (#decls (#interface abunit)), depends = loadedFiles} : interfaceNames in (interfaceNames, abunit) end fun doElaboration fixEnv abunit = let val _ = printPhase "Elaboration starts" val _ = #start Counter.elaborationTimeCounter() val (newFixEnv, plunit, warnings) = Elaborator.elaborate fixEnv abunit val _ = #stop Counter.elaborationTimeCounter() val _ = printWarnings warnings val _ = printPhase "Elaboration ends" val _ = printPatternCalc "Elaborated" [plunit] in (newFixEnv, plunit) end fun doNameEvaluation (topEnv, version, builtinICDecls) plunit = let val _ = printPhase "NameEval starts" val _ = #start Counter.nameEvaluationTimeCounter() val (nameevalTopEnv, icdecls, warnings) = NameEval.nameEval {topEnv=topEnv, version=version, systemDecls=builtinICDecls} plunit val _ = #stop Counter.nameEvaluationTimeCounter() val _ = printWarnings warnings val _ = printPhase "NameEval ends" val _ = printIDCalc "Name Evaluation" icdecls in (nameevalTopEnv, icdecls) end fun doTypeInference idcalc = let val _ = printPhase "TypeInference starts" val _ = #start Counter.typeInferenceTimeCounter() val (typeinfVarE, tpdecs, warnings) = InferTypes.typeinf idcalc val _ = #stop Counter.typeInferenceTimeCounter() val _ = printWarnings warnings val _ = printPhase "TypeInference ends" val _ = printTypedCalc "Type Inference" tpdecs in (typeinfVarE, tpdecs) end fun doPrinterGeneration (topEnv, tpdecs) = let val _ = printPhase "PrinterGeneration starts" val _ = #start Counter.printerGenerationTimeCounter() val (topEnv, externDecls, printDecls) = PrinterGeneration.generate topEnv val _ = #stop Counter.printerGenerationTimeCounter() val tpdecs = externDecls @ tpdecs @ printDecls val _ = printPhase "PrinterGeneration ends" val _ = printTypedCalc "Printer Generated" tpdecs in (topEnv, tpdecs) end fun doUncurryOptimization tpdecs = let val _ = printPhase "UncurryOptimization starts" val _ = #start Counter.UncurryOptimizationTimeCounter() val tpdecs = UncurryFundecl.optimize tpdecs val _ = #stop Counter.UncurryOptimizationTimeCounter() val _ = printPhase "UncurryOptimization ends" val _ = printTypedCalc "Uncurrying Optimized" tpdecs in tpdecs end fun doTypedCalcOptimization tpdecs = let val _ = printPhase "TypedCalcOptimization starts" val _ = #start Counter.TypedCalcOptimizationTimeCounter() val tpdecs = TPOptimize.optimize tpdecs val _ = #stop Counter.TypedCalcOptimizationTimeCounter() val _ = printPhase "TypedCalcOptimization ends" val _ = printTypedCalc "TypedCalc Optimized" tpdecs in tpdecs end fun doRecordCalcOptimization rcdecs = let val _ = printPhase "RecordCalcOptimization starts" val _ = #start Counter.RecordCalcOptimizationTimeCounter() val rcdecs = RCOptimize.optimize rcdecs val _ = #stop Counter.RecordCalcOptimizationTimeCounter() val _ = printPhase "RecordCalcOptimization ends" val _ = printRecordCalc Control.printRCOptimize "RecordCalc Optimized" rcdecs in rcdecs end fun doVALRECOptimization iddecs = let val _ = printPhase "VALRECOptimization starts" val _ = #start Counter.valRecOptimizationTimeCounter() val iddecs = VALREC_Optimizer.optimize iddecs val _ = #stop Counter.valRecOptimizationTimeCounter() val _ = printPhase "VALRECOptimization ends" val _ = printVR "VAL REC optimize" iddecs in iddecs end fun doFundeclElaboration iddecs = let val _ = printPhase "FundeclElaboration starts" val _ = #start Counter.fundeclElaborationTimeCounter() val iddecs = TransFundecl.transIcdeclList iddecs val _ = #stop Counter.fundeclElaborationTimeCounter() val _ = printPhase "FundeclElaboration ends" val _ = printIDCalc "Fundecl Elaboration" iddecs in iddecs end fun doMatchCompilation tpdecs = let val _ = printPhase "MatchCompilation starts" val _ = #start Counter.matchCompilationTimeCounter() val (rcdecs, warnings) = MatchCompiler.compile tpdecs val _ = #stop Counter.matchCompilationTimeCounter() val _ = printRecordCalc Control.printMatchComp "Match Compiled" rcdecs val _ = printWarnings warnings val _ = printPhase "MatchCompilation ends" in rcdecs end fun doSQLCompilation rcdecs = let val _ = printPhase "SQLCompilation starts" val _ = #start Counter.sqlCompilationTimeCounter() val rcdecs = SQLCompilation.compile rcdecs val _ = #stop Counter.sqlCompilationTimeCounter() val _ = printPhase "SQLCompilation ends" val _ = printRecordCalc Control.printSQLComp "SQL Compiled" rcdecs in rcdecs end fun doFFICompilation rcdecs = let val _ = printPhase "FFICompilation starts" val _ = #start Counter.ffiCompilationTimeCounter() val rcdecs = FFICompilation.compile rcdecs val _ = #stop Counter.ffiCompilationTimeCounter() val _ = printPhase "FFICompilation ends" val _ = printRecordCalc Control.printFFIComp "FFI Compiled" rcdecs in rcdecs end fun doRecordCompilation rcdecs = let val _ = printPhase "RecordCompilation starts" val _ = #start Counter.recordCompilationTimeCounter() val rcdecs = RecordCompilation.compile rcdecs val _ = #stop Counter.recordCompilationTimeCounter() val _ = printPhase "RecordCompilation ends" val _ = printRecordCalc Control.printRecordComp "Record Compiled" rcdecs in rcdecs end fun doDatatypeCompilation rcdecs = let val _ = printPhase "DatatypeCompilation starts" val _ = #start Counter.datatypeCompilationTimeCounter() val tldecs = DatatypeCompilation.compile rcdecs val _ = #stop Counter.datatypeCompilationTimeCounter() val _ = printPhase "DatatypeCompilation ends" val _ = printTypedLambda "Datatype Compiled" tldecs in tldecs end (* fun doTLTypeCheck (localContext, rcdecs) = let val diagnoses = TypeCheckTypedLambda.typecheck rcdecs val _ = printDiagnosis "TypedLambda Diagnoses" diagnoses in () end *) fun doStaticAnalysis tldecs = let val _ = printPhase "StaticAnalysis starts" val _ = #start Counter.staticAnalysisTimeCounter() val acdecs = StaticAnalysis.analyse tldecs val _ = #stop Counter.staticAnalysisTimeCounter() val _ = printPhase "StaticAnalysis ends" val _ = printAnnotatedCalc "Static Analysis" acdecs in acdecs end fun doRecordUnboxing acdecs = let val _ = printPhase "RecordUnboxing starts" val _ = #start Counter.recordUnboxingTimeCounter() val mvdecs = RecordUnboxing.transform acdecs val _ = #stop Counter.recordUnboxingTimeCounter() val _ = printPhase "RecordUnboxing ends" val _ = printMultipleValueCalc "Record Unboxing" mvdecs in mvdecs end fun doBitmapCompilation mvdecs = let val _ = printPhase "BitmapCompilation starts" val _ = #start Counter.bitmapCompilationTimeCounter() val bcdecs = BitmapCompilation.compile mvdecs val _ = #stop Counter.bitmapCompilationTimeCounter() val _ = printPhase "BitmapCompilation ends" val _ = printBitmapCalc "Bitmap Compiled" bcdecs in bcdecs end fun doBitmapANormalization bcdecs = let val _ = printPhase "BitmapANormalization starts" val _ = #start Counter.bitmapANormalizationTimeCounter() val baexp = BitmapANormalization.normalize bcdecs val _ = #stop Counter.bitmapANormalizationTimeCounter() val _ = printPhase "BitmapANormalization ends" val _ = printBitmapANormal "Bitmap ANormalized" baexp in baexp end fun doBitmapANormalReorder baexp = let val _ = printPhase "BitmapANormalReorder starts" val _ = #start Counter.bitmapANormalReorderTimeCounter() val baexp = BitmapANormalReorder.optimize baexp val _ = #stop Counter.bitmapANormalReorderTimeCounter() val _ = printPhase "BitmapANormalReorder ends" val _ = printBitmapANormal "BitmapANormal Reordered" baexp in baexp end fun doClosureConversion baexp = let val _ = printPhase "ClosureConversion starts" val _ = #start Counter.closureConversionTimeCounter() val cadecs = ClosureConversion.convert baexp val _ = #stop Counter.closureConversionTimeCounter() val _ = printPhase "ClosureConversion ends" val _ = printClosureANormal "Closure Converted" cadecs in cadecs end fun toYAANormal cadecs = let val _ = printPhase "ToYAANormal starts" val _ = #start Counter.toYAANormalTimeCounter() val ancalc = ToYAANormal.transform cadecs val _ = #stop Counter.toYAANormalTimeCounter() val _ = printPhase "ToYAANormal ends" val _ = printYAANormal "To YAANormal" ancalc in ancalc end fun doYAANormalOptimization andecs = let val _ = printPhase "YAANormalOptimization starts" val _ = #start Counter.anormalOptimizationTimeCounter() val andecs = YAANormalOptimization.optimize andecs val _ = #stop Counter.anormalOptimizationTimeCounter() val _ = printPhase "YAANormalOptimization ends" val _ = printYAANormal "A-Normal Optimization" andecs in andecs end fun doStaticAllocation andecs = let val _ = printPhase "StaticAllocation starts" val _ = #start Counter.staticAllocationTimeCounter() val andecs = StaticAllocation.optimize andecs val _ = #stop Counter.staticAllocationTimeCounter() val _ = printPhase "StaticAllocation ends" val _ = printYAANormal "Static Allocation" andecs in andecs end (* fun doInlining (basis:basis) (localContext, mvdecs) = let val _ = #start Counter.inliningTimeCounter() val (globalInlineEnv, mvdecs) = Inline.doInlining (#inlineEnv basis) mvdecs val _ = #stop Counter.inliningTimeCounter() val _ = printMultipleValueCalc "Inlining" mvdecs in (localContext, mvdecs) end *) (* fun doMVOptimization (localContext, mvdecs) = let val _ = #start Counter.mvOptimizationTimeCounter() val mvdecs = MVOptimization.optimize mvdecs val _ = #stop Counter.mvOptimizationTimeCounter() val _ = printMultipleValueCalc "MutipleValue Optimization" mvdecs in (localContext, mvdecs) end *) (* fun doFunctionLocalize (localContext, mvdecs) = let val _ = #start Counter.functionLocalizeTimeCounter() val mvdecs = FunctionLocalize.localize mvdecs val _ = #stop Counter.functionLocalizeTimeCounter() val _ = printMultipleValueCalc "Function Localization" mvdecs in (localContext, mvdecs) end fun doMVTypeCheck (localContext, mvdecs) = let val diagnoses = MVTypeCheck.typecheck mvdecs val _ = printDiagnosis "MultipleValue Diagnoses" diagnoses in () end fun doYAANormalTypeCheck andecs = let val diagnoses = YAANormalTypeCheck.typecheck andecs val _ = printDiagnosis "YAANormal Diagnoses" diagnoses in () end *) fun doAIGeneration2 andecs = let val _ = printPhase "AIGeneration starts" val _ = #start Counter.aigenerationTimeCounter() val aicode = AIGenerator2.generate andecs val _ = #stop Counter.aigenerationTimeCounter() val _ = printPhase "AIGeneration ends" val _ = printAbstractInstruction2 "AIGeneration2" aicode in aicode end fun doRTLTypeCheck params rtl = let val _ = printPhase "RTLTypeCheck starts" val _ = #start Counter.rtlTypecheckTimeCounter() val res = RTLTypeCheck.check params rtl val _ = #stop Counter.rtlTypecheckTimeCounter() val _ = printPhase "RTLTypeCheck ends" in case res of nil => () | err => printLines "RTLTypeCheck" (Control.prettyPrint o RTLTypeCheckError.format_errlist) [err] end fun doRTLX86Select mainSymbol aicode = let val _ = printPhase "RTLX86Select starts" val _ = #start Counter.rtlselectTimeCounter() val rtl = X86Select.select (mainSymbol, aicode) val _ = #stop Counter.rtlselectTimeCounter() val _ = printPhase "RTLX86Select ends" val _ = printRTL "X86 RTL Select" rtl in rtl end fun doRTLX86Stabilize rtl = let val _ = printPhase "RTLX86Stabilize starts" val _ = #start Counter.rtlstabilizeTimeCounter() val rtl = X86Stabilize.stabilize rtl val _ = #stop Counter.rtlstabilizeTimeCounter() val _ = printPhase "RTLX86Stabilize ends" val _ = printRTL "X86 RTL Stabilize" rtl in rtl end fun doRTLRename rtl = let val _ = printPhase "RTLRename starts" val _ = #start Counter.rtlrenameTimeCounter() val rtl = RTLRename.rename rtl val _ = #stop Counter.rtlrenameTimeCounter() val _ = printPhase "RTLRename ends" val _ = printRTL "X86 RTL Rename" rtl in rtl end fun doRTLX86Coloring rtl = let val _ = printPhase "RTLX86Coloring starts" val _ = #start Counter.rtlcoloringTimeCounter() val (rtl, regAlloc) = X86Coloring.regalloc rtl val _ = #stop Counter.rtlcoloringTimeCounter() val _ = printPhase "RTLX86Coloring ends" val _ = printRTL "X86 RTL Coloring" rtl in ({regAlloc = regAlloc}, rtl) end fun doRTLX86Frame ({regAlloc}, rtl) = let val _ = printPhase "RTLX86Frame starts" val _ = #start Counter.rtlframeTimeCounter() val (rtl, layoutMap) = X86Frame.allocate rtl val _ = #stop Counter.rtlframeTimeCounter() val _ = printPhase "RTLX86Frame ends" val _ = printRTL "X86 RTL Frame Allocation" rtl in ({regAlloc = regAlloc, layoutMap = layoutMap}, rtl) end fun doRTLX86Emit (env, rtl) = let val _ = printPhase "RTLX86Emit starts" val _ = #start Counter.rtlemitTimeCounter() val ret = X86Emit.emit env rtl val _ = #stop Counter.rtlemitTimeCounter() val _ = printPhase "RTLX86Emit ends" val _ = printRTL "X86 RTL Frame Allocation" rtl in ret end fun doRTLX86AsmGen asmfile code = let val _ = printPhase "RTLX86AsmGen starts" val _ = #start Counter.rtlasmgenTimeCounter() val asmout = X86AsmGen.generate code val _ = #stop Counter.rtlasmgenTimeCounter() val _ = #start Counter.rtlasmprintTimeCounter() val _ = printPhase "RTLX86AsmGen ends" val _ = printPhase "RTLX86AsmPrint starts" val asmfile = case asmfile of SOME filename => filename | NONE => TempFile.create ("."^SMLSharp_Config.ASMEXT()) val _ = CoreUtils.makeTextFile' (asmfile, asmout) val _ = #stop Counter.rtlasmprintTimeCounter() val _ = printPhase "RTLX86AsmPrint ends" in asmfile end fun doRTLX86Assemble flags objfile asmfile = let val _ = printPhase "RTLX86Assemble starts" val objfile = case objfile of NONE => TempFile.create ("."^SMLSharp_Config.OBJEXT()) | SOME filename => filename val _ = #start Counter.assembleTimeCounter() val _ = BinUtils.assemble {source=asmfile, flags=flags, object=objfile} val _ = #stop Counter.assembleTimeCounter() val _ = printPhase "RTLX86Assemble ends" in FILE objfile end exception Return of interfaceNames * result fun compile {stopAt,dstfile,baseName,stdPath,loadPath,asmFlags} {topEnv, fixEnv, version, builtinDecls} input = let val _ = #start Counter.compilationTimeCounter() val parsed = doParse input val (interfaceNames, abunit) = doLoadFile (baseName, stdPath, loadPath) parsed val _ = #start Counter.generateMainTimeCounter() val mainSymbol = GenerateMain.mainSymbol abunit val _ = #stop Counter.generateMainTimeCounter() val (newFixEnv, plunit) = doElaboration fixEnv abunit val _ = if stopAt = SyntaxCheck then raise Return (interfaceNames, STOPPED) else () val (nameevalTopEnv, idcalc) = doNameEvaluation (topEnv, version, builtinDecls) plunit handle exn => raise exn val idcalc = doVALRECOptimization idcalc val idcalc = if !Control.doUncurryOptimization then idcalc else doFundeclElaboration idcalc val (typeinfVarE, tpcalc) = doTypeInference idcalc handle exn => raise exn val nameevalTopEnv = if !Control.interactiveMode then NameEvalEnvUtils.mergeTypeEnv (nameevalTopEnv, typeinfVarE) else nameevalTopEnv val (_, tpcalc) = if !Control.interactiveMode andalso not (!Control.skipPrinter) then doPrinterGeneration (nameevalTopEnv, tpcalc) else (nameevalTopEnv, tpcalc) val nameevalTopEnv = NameEvalEnvUtils.resetInternalId nameevalTopEnv val tpcalc = if !Control.doUncurryOptimization then doUncurryOptimization tpcalc else tpcalc val tpcalc = if !Control.doTCOptimization then doTypedCalcOptimization tpcalc else tpcalc val rccalc = doMatchCompilation tpcalc val _ = if stopAt = ErrorCheck then raise Return (interfaceNames, STOPPED) else () val rccalc = doSQLCompilation rccalc val rccalc = doFFICompilation rccalc val rccalc = doRecordCompilation rccalc val rccalc = if !Control.doRCOptimization then doRecordCalcOptimization rccalc else rccalc val tlcalc = doDatatypeCompilation rccalc (* val _ = if !Control.checkType then doTLTypeCheck tlcalc else () *) val accalc = doStaticAnalysis tlcalc val mvcalc = doRecordUnboxing accalc (* val mvcalc = if !Control.doInlining then doInlining Basis.initialBasis mvcalc else mvcalc val mvcalc = if !Control.doMultipleValueOptimization then doMVOptimization mvcalc else mvcalc val mvcalc = if !Control.doFunctionLocalize then doFunctionLocalize mvcalc else mvcalc val _ = if !Control.checkType then doMVTypeCheck mvcalc else () *) val bccalc = doBitmapCompilation mvcalc val bacalc = doBitmapANormalization bccalc val bacalc = if !Control.doBitmapANormalReorder then doBitmapANormalReorder bacalc else bacalc val _ = if !Control.checkType then ( #start Counter.typeCheckBitmapANormalTimeCounter(); TypeCheckBitmapANormal.typecheck bacalc; #stop Counter.typeCheckBitmapANormalTimeCounter() ) else () val cacalc = doClosureConversion bacalc val ancalc = toYAANormal cacalc val ancalc = doYAANormalOptimization ancalc val ancalc = doStaticAllocation ancalc val aicode = doAIGeneration2 ancalc (* case #cpu (Control.targetInfo ()) of "x86" => *) val rtl = doRTLX86Select mainSymbol aicode val _ = if !Control.checkType then doRTLTypeCheck {checkStability=false} rtl else () val rtl = doRTLX86Stabilize rtl val _ = if !Control.checkType then doRTLTypeCheck {checkStability=true} rtl else () val rtl = doRTLRename rtl val _ = if !Control.checkType then doRTLTypeCheck {checkStability=true} rtl else () val rtl = doRTLX86Coloring rtl val _ = if !Control.checkType then doRTLTypeCheck {checkStability=true} (#2 rtl) else () val rtl = doRTLX86Frame rtl val _ = if !Control.checkType then doRTLTypeCheck {checkStability=true} (#2 rtl) else () val code = doRTLX86Emit rtl val asmfile = if stopAt = Assembly then dstfile else NONE val asm = doRTLX86AsmGen asmfile code val _ = if stopAt = Assembly then raise Return (interfaceNames, STOPPED) else () val objcode = doRTLX86Assemble asmFlags dstfile asm val _ = #stop Counter.compilationTimeCounter() in (interfaceNames, RETURN ({topEnv=nameevalTopEnv, fixEnv=newFixEnv}, objcode)) end handle Return return => return exception Return of interfaceNames * newContext option fun loadBuiltin input = let val absyn = InterfaceParser.parse input val topdecs = case absyn of AbsynInterface.INTERFACE {requires=nil, topdecs} => topdecs | _ => raise Control.Bug "loadBuiltin: failed to load builtin" val interface = {decls=nil, interfaceName=NONE, requires=nil, topdecs=topdecs} val abunit = {interface=interface, topdecs=nil} val (fixEnv, plunit, warnings) = Elaborator.elaborateRequire abunit val (topEnv, idcalc) = NameEval.evalBuiltin (#topdecs (#interface plunit)) val version = NONE in {topEnv=topEnv, version=version, fixEnv=fixEnv, builtinDecls=idcalc} : toplevelContext end fun loadInterface {stopAt, stdPath, loadPath} ({topEnv, fixEnv, ...}:toplevelContext) filename = let val sourceName = Filename.toString filename val _ = #start Counter.loadFileTimeCounter() val ({loadedFiles}, abunit) = LoadFile.require {stdPath=stdPath, loadPath=loadPath} sourceName val _ = #stop Counter.loadFileTimeCounter() val _ = printAbsyn "File Loaded" [abunit] val interfaceNames = {provide = #interfaceName (#interface abunit), requires = map #interfaceName (#decls (#interface abunit)), depends = List.filter (fn (_,x) => x <> sourceName) loadedFiles} val _ = #start Counter.elaborationTimeCounter() val (newFixEnv, plunit, warnings) = Elaborator.elaborateRequire abunit val _ = #stop Counter.elaborationTimeCounter() val _ = printWarnings warnings val _ = printPatternCalc "Elaborated" [plunit] val _ = if stopAt = SyntaxCheck then raise Return (interfaceNames, NONE) else () val _ = #start Counter.nameEvaluationTimeCounter() val (topEnv, icdecls, warnings) = NameEval.evalRequire topEnv plunit val _ = #stop Counter.nameEvaluationTimeCounter() val _ = printWarnings warnings val _ = printIDCalc "Name Evaluation" {decls=icdecls, loc=Loc.noloc} val fixEnv = Elaborator.extendFixEnv (fixEnv, newFixEnv) (* all topdecs should be eliminated by NameEval. *) val _ = case icdecls of nil => () | _::_ => raise Control.Bug "loadInterface" in (interfaceNames, SOME {topEnv=topEnv, fixEnv=fixEnv}) end handle Return return => return end smlsharp-1.2.0/src/compiler/toplevel2/main/TopData.ppg0000644 000000000000000000001122512050661606023011 0ustar00rootroot0000000 0000000 structure TopData = struct local (*% @formatter(AbsynInterface.interfaceName) AbsynInterface.format_interfaceName *) type interfaceName = (*% @format(x) x *) AbsynInterface.interfaceName (*% @formatter(AbsynInterface.filePlace) AbsynInterface.format_filePlace *) type filePlace = (*% @format(x) x *) AbsynInterface.filePlace fun format_filename filename = TermFormat.FormatComb.term (Filename.toString filename) fun format_dummy _ = nil in (*% *) datatype stopAt = (*% @format "SyntaxCheck" *) SyntaxCheck | (*% @format "ErrorCheck" *) ErrorCheck | (*% @format "Assembly" *) Assembly | (*% @format "NoStop" *) NoStop (*% @formatter(Filename.filename) format_filename *) datatype code = (*% @format(filename) filename *) FILE of Filename.filename (*% @formatter(option) TermFormat.formatOptionalOption *) type interfaceNames = (*% @format({provide:provide opt, requires:require requires, depends:depend depends}) "{" 1[ +1 1["provide:" + opt(provide)("SOME"+1,) ] +1 1["requires:" +1 requires(require)(+1) ] +1 1["depends:" +1 1[depends(depend)(+1)] ] ] 1 "}" @format:depend(place * string) string "(" place ")" *) { provide: interfaceName option, requires:interfaceName list, depends: (filePlace * string) list } (*% @formatter(Filename.filename) format_filename @formatter(option) TermFormat.formatOptionalOption *) type toplevelOptions = (*% @format({stopAt, dstfile: dist distopt, baseName: bas basopt, stdPath: std stds, loadPath: load loads, asmFlags: asm asms}) "{" 1[ 1[ "stopAt:" +d stopAt ] +1 1["distfile:" +d distopt(dist)("SOME","NONE") ] +1 1["baseName:" +d basopt(bas)("SOME","NONE") ] +1 1[ "stdPath:" +d stds(std)(",") ] +1 1["loadPath:" +d loads(load)(".")] +1 1["asmFlags:" +d asms(asm)(+)] ] 1 "}" *) { stopAt: stopAt, dstfile: Filename.filename option, baseName: Filename.filename option, stdPath: Filename.filename list, loadPath: Filename.filename list, asmFlags: string list } type toplevelContext = { fixEnv: Elaborator.fixEnv, topEnv: NameEvalEnv.topEnv, version: int option, builtinDecls: IDCalc.icdecl list } type newContext = { fixEnv: Elaborator.fixEnv, topEnv: NameEvalEnv.topEnv } (*% @formatter(newContext) format_dummy *) datatype result = (*% @format "stopped" *) STOPPED | (*% @format(env * code) "return" + code *) RETURN of newContext * code (* (*% @formatter(AbsynInterface.compileUnit) AbsynInterface.format_compileUnit *) type loadFileResult = (*% @format({loadedFiles: file files} * comileUnit) "{" 1[ 1["loadedFiles:" +d files(file)(+1)] 1["compileUnit:" +d comileUnit] ] 1 "}" @format:file(filePlace * string) "("filePlace "," string ")" *) ({loadedFiles: (filePlace * string) list} * AbsynInterface.compileUnit) *) val debugPrint = fn s => if !Control.debugPrint then print s else () fun printStopAt stopAt = debugPrint (Control.prettyPrint (format_stopAt stopAt)) (* fun printCode code = debugPrint (Control.prettyPrint (format_code code)) *) fun printInterfaceNames interfaceNames = debugPrint (Control.prettyPrint (format_interfaceNames interfaceNames)) fun printInterfaceName interfaceName = debugPrint (Control.prettyPrint (format_interfaceName interfaceName)) fun printFileName fileName = debugPrint (Control.prettyPrint (format_filename fileName)) fun printInterfaceNameList interfaceNameList = app (fn i => (printInterfaceName i; debugPrint "\n")) interfaceNameList fun printResult result = debugPrint (Control.prettyPrint (format_result result)) fun printToplevelOptions toplevelOptions = debugPrint (Control.prettyPrint (format_toplevelOptions toplevelOptions)) fun printCompileUnit unit = debugPrint (Control.prettyPrint (AbsynInterface.format_compileUnit unit)) end end smlsharp-1.2.0/src/compiler/toplevel2/main/TopData.ppg.smi0000644 000000000000000000000351012050661606023576 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../control/main/Control.ppg.smi" _require "../../absyn/main/AbsynInterface.ppg.smi" _require "../../toolchain/main/Filename.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../util/main/TermFormat.smi" _require "../../nameevaluation/main/NameEvalEnv.ppg.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../elaborate/main/Elaborator.smi" structure TopData = struct datatype stopAt = SyntaxCheck | ErrorCheck | Assembly | NoStop datatype code = FILE of Filename.filename type interfaceNames = { provide: AbsynInterface.interfaceName option, requires: AbsynInterface.interfaceName list, depends: (AbsynInterface.filePlace * string) list } type toplevelOptions = { stopAt: stopAt, dstfile: Filename.filename option, baseName: Filename.filename option, stdPath: Filename.filename list, loadPath: Filename.filename list, asmFlags: string list } type toplevelContext = { topEnv: NameEvalEnv.topEnv, version: int option, fixEnv: Elaborator.fixEnv, builtinDecls: IDCalc.icdecl list } type newContext = { topEnv: NameEvalEnv.topEnv, fixEnv: Elaborator.fixEnv } datatype result = STOPPED | RETURN of newContext * code val debugPrint : string -> unit val printStopAt : stopAt -> unit val printInterfaceNames : interfaceNames -> unit val printInterfaceName : AbsynInterface.interfaceName -> unit val printFileName : Filename.filename -> unit val printInterfaceNameList : AbsynInterface.interfaceName list -> unit val printResult : result -> unit val printToplevelOptions : toplevelOptions -> unit val printCompileUnit : AbsynInterface.compileUnit -> unit end smlsharp-1.2.0/src/compiler/toyaanormal0000755 000000000000000000000000012050661606020353 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/toyaanormal/main0000755 000000000000000000000000012050661606021277 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/toyaanormal/main/NameMangle.smi0000644 000000000000000000000033512050661606024075 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../closureanormal/main/ClosureANormal.ppg.smi" _require "../../control/main/Control.ppg.smi" structure NameMangle = struct val mangle : ClosureANormal.exVarInfo -> string end smlsharp-1.2.0/src/compiler/toyaanormal/main/NameMangle.sml0000644 000000000000000000000371012050661606024100 0ustar00rootroot0000000 0000000 (** * encode ML paths to C symbols. * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro *) structure NameMangle : sig val mangle : ClosureANormal.exVarInfo -> string end = struct (* It is not a good idea to use ML longids as it is as link symbols * due to the following reasons: * - ML longid may contain special characters which C linker may not * accept. * - Since the namespace of ML and C are not separated, if user define * a function whose name is already defined in a C library (e.g. * printf), linking of such ML program wil fail. * * To avoid the above problem, this module encodes ML longids to * strings which only includes alphabets, digits, and "_". * (In C++, this process is called as "name mangling.") *) (* * from: ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~ * to: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z _ a b c d e *) fun escapeChar c = if Char.isAlphaNum c then str c else if #"!" <= c andalso c <= #"/" then "_" ^ str (chr (ord c - ord #"!" + ord #"A")) else if #":" <= c andalso c <= #"@" then "_" ^ str (chr (ord c - ord #":" + ord #"P")) else if #"[" <= c andalso c <= #"^" then "_" ^ str (chr (ord c - ord #"[" + ord #"W")) else if c = #"_" then "__" else if c = #"`" then "_a" else if #"{" <= c andalso c <= #"~" then "_" ^ str (chr (ord #"{" + ord #"b")) else raise Fail ("PathToSymbol.escape: " ^ str c) fun escape s = String.translate escapeChar s fun manglePath nil = raise Control.Bug "PathToSymbol.manglePath" | manglePath path = let val path = map (fn s => Int.toString (size s) ^ escape s) path val name = String.concat path in if length path >= 2 then "N" ^ name ^ "E" else name end fun mangle ({path, ty}:ClosureANormal.exVarInfo) = "SML" ^ manglePath path handle exn => raise exn end smlsharp-1.2.0/src/compiler/toyaanormal/main/ToYAANormal.smi0000644 000000000000000000000147412050661606024164 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../annotatedtypes/main/AnnotatedTypes.ppg.smi" _require "../../annotatedtypes/main/AnnotatedTypesUtils.smi" _require "../../builtin2/main/BuiltinPrimitive.ppg.smi" _require "../../closureanormal/main/ClosureANormal.ppg.smi" _require "../../constantterm/main/ConstantTerm.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../runtimetypes/main/RuntimeTypes.ppg.smi" _require "../../runtimetypes/main/TypeLayout.smi" _require "../../systemdef/main/BasicTypes.smi" _require "../../yaanormal/main/ANormal.ppg.smi" _require "NameMangle.smi" structure ToYAANormal = struct val transform : ClosureANormal.catopdec list -> YAANormal.topdecl list end smlsharp-1.2.0/src/compiler/toyaanormal/main/ToYAANormal.sml0000644 000000000000000000012642512050661606024173 0ustar00rootroot0000000 0000000 (** * stub phase for translation into YAANormal. * * @copyright (c) 2011, Tohoku University. * @author UENO Katsuhiro *) structure ToYAANormal : sig val transform : ClosureANormal.catopdec list -> YAANormal.topdecl list end = struct structure C = ClosureANormal structure A = YAANormal structure CT = ConstantTerm structure T = AnnotatedTypes structure R = RuntimeTypes fun flattenTy ty = case ty of T.MVALty tys => List.concat (map flattenTy tys) | _ => [ty] fun newVar ty = let val id = VarID.generate () in {id = id, displayName = "$" ^ VarID.toString id, ty = ty, varKind = A.LOCAL} : A.varInfo end type env = { varEnv : A.varInfo VarID.Map.map, btvEnv : C.btvEnv, closureEnvVar : C.varInfo option, mergePoint : (A.id * C.varInfo list) option } val emptyEnv = {varEnv = VarID.Map.empty, btvEnv = BoundTypeVarID.Map.empty, closureEnvVar = NONE, mergePoint = NONE} : env fun newEnv (SOME {argVar:C.varInfo, freeVars:C.varInfo list}) = {varEnv = VarID.Map.empty, btvEnv = BoundTypeVarID.Map.empty, closureEnvVar = SOME argVar, mergePoint = NONE} : env | newEnv NONE = emptyEnv fun transformTy ({btvEnv,...}:env) ty = case TypeLayout.runtimeTy btvEnv ty of SOME R.UCHARty => A.BYTE | SOME R.INTty => A.SINT | SOME R.UINTty => A.UINT | SOME R.BOXEDty => A.BOXED | SOME R.POINTERty => A.POINTER | SOME R.CODEPOINTERty => A.CODEPOINT | SOME R.DOUBLEty => A.DOUBLE | SOME R.FLOATty => A.FLOAT | NONE => case ty of T.BOUNDVARty tid => A.GENERIC tid | _ => raise Control.Bug "transformTy" fun decomposeFunTy env ty = case ty of T.FUNMty {argTyList, bodyTy, ...} => (map (transformTy env) argTyList, map (transformTy env) (flattenTy bodyTy)) | _ => raise Control.Bug "decomposeFunTy" fun lookupVar ({varEnv,...}:env) ({id, ...}:C.varInfo) = case VarID.Map.find (varEnv, id) of SOME var => var | NONE => raise Control.Bug ("lookupVar: " ^ VarID.toString id) fun bindVar (env:env) varKind ({id, path, ty}:C.varInfo) = let val var = {id = id, displayName = String.concatWith "." path, ty = transformTy env ty, varKind = varKind} : A.varInfo in ({varEnv = VarID.Map.insert (#varEnv env, id, var), btvEnv = #btvEnv env, closureEnvVar = #closureEnvVar env, mergePoint = #mergePoint env} : env, var) end fun bindVarList env varKind nil = (env, nil) | bindVarList env varKind (var::vars) = let val (env, var) = bindVar env varKind var val (env, vars) = bindVarList env varKind vars in (env, var::vars) end fun bindTyvars (env:env, btvEnv) = {varEnv = #varEnv env, btvEnv = BoundTypeVarID.Map.unionWith #2 (#btvEnv env, btvEnv), closureEnvVar = #closureEnvVar env, mergePoint = #mergePoint env}: env fun setMergePoint (env:env, mergeLabel, mergeVars) = {varEnv = #varEnv env, btvEnv = #btvEnv env, closureEnvVar = #closureEnvVar env, mergePoint = SOME (mergeLabel, mergeVars)} : env fun isClosureEnvVar ({closureEnvVar=NONE,...}:env) value = false | isClosureEnvVar env NONE = false | isClosureEnvVar (env as {closureEnvVar=SOME{id,...},...}) (SOME value) = case value of C.BACONST _ => false | C.BAVAR varInfo => #id varInfo = id | C.BACAST {exp, expTy, targetTy} => isClosureEnvVar env (SOME exp) | C.BATAPP {exp, expTy, instTyList} => isClosureEnvVar env (SOME exp) fun multiplyExp (value1, value2, loc) = case (value1, value2) of (A.ANWORD n1, A.ANWORD n2) => (nil, A.ANWORD (n1 * n2)) | (A.ANINT n1, A.ANINT n2) => (nil, A.ANINT (n1 * n2)) | (A.ANINT n1, A.ANWORD n2) => (nil, A.ANWORD (Word32.fromLargeInt (Int32.toLarge n1) * n2)) | (A.ANWORD n1, A.ANINT n2) => (nil, A.ANWORD (n1 * Word32.fromLargeInt (Int32.toLarge n2))) | _ => let val var = newVar A.UINT in ([A.ANVAL {varList = [var], exp = A.ANPRIMAPPLY {prim = BuiltinPrimitive.Word_mul, argList = [value1, value2], argTyList = [A.UINT, A.UINT], resultTyList = [A.UINT], instSizeList = nil, instTagList = nil}, loc = loc}], A.ANVAR var) end datatype const = CONST of A.ty | VALUE of A.anvalue fun transformConstantTerm const = case const of CT.INT x => VALUE (A.ANINT x) | CT.LARGEINT _ => CONST A.BOXED | CT.WORD x => VALUE (A.ANWORD x) | CT.BYTE x => VALUE (A.ANBYTE x) | CT.STRING _ => CONST A.BOXED | CT.REAL _ => CONST A.DOUBLE | CT.FLOAT _ => CONST A.FLOAT | CT.CHAR x => VALUE (A.ANCHAR x) | CT.UNIT => VALUE A.ANUNIT | CT.NULLPOINTER => VALUE A.ANNULLPOINTER | CT.NULLBOXED => VALUE A.ANNULLBOXED fun transformConst baconst = case baconst of C.BACONSTANT value => ( case transformConstantTerm value of VALUE value => (nil, value) | CONST ty => let val var = newVar ty in ([A.ANVAL {varList = [var], exp = A.ANCONST value, loc = Loc.noloc}], A.ANVAR var) end ) | C.BAGLOBALSYMBOL {name, kind=Absyn.ForeignCodeSymbol, ty} => (nil, A.ANTOPSYMBOL {name = A.TOP_EXTERN name, ty = A.FOREIGNFUN}) fun transformValue env bavalue = case bavalue of C.BACONST const => transformConst const | C.BAVAR varInfo => (nil, A.ANVAR (lookupVar env varInfo)) | C.BACAST {exp, expTy, targetTy} => transformValue env exp | C.BATAPP {exp, expTy, instTyList} => transformValue env exp fun transformValueList env nil = (nil, nil) | transformValueList env (value::values) = let val (dec1, value) = transformValue env value val (dec2, values) = transformValueList env values in (dec1 @ dec2, value::values) end fun transformPrim env baprim = case baprim of C.BAVALUE (C.BACONST (C.BACONSTANT const)) => ( case transformConstantTerm const of VALUE value => (nil, A.ANVALUE value) | CONST ty => (nil, A.ANCONST const) ) | C.BAVALUE value => let val (dec1, value) = transformValue env value in (dec1, A.ANVALUE value) end | C.BAEXVAR {exVarInfo as {path, ty}, varSize} => let val displayName = NameMangle.mangle exVarInfo val ty = transformTy env ty val (dec1, size) = transformValue env varSize in (dec1, A.ANGETFIELD {array = A.ANTOPSYMBOL {name = A.TOP_EXTERN displayName, ty = A.POINTER}, offset = A.ANWORD 0w0, size = size, needBoundaryCheck = false, ty = ty}) end | C.BAPRIMAPPLY {primInfo={primitive,ty}, argExpList, instTyList, instTagList, instSizeList} => raise Control.Bug "transformPrim: BAPRIMAPPLY" | C.BARECORD {fieldList, recordTy, annotation, isMutable, clearPad, totalSizeExp, bitmapExpList} => let fun unzip nil = (nil, nil, nil, nil, nil) | unzip ({fieldExp,fieldIndex,fieldLabel,fieldSize,fieldTy}::t) = let val (l1,l2,l3,l4,l5) = unzip t in (fieldExp::l1, fieldIndex::l2, fieldLabel::l3, fieldSize::l4, fieldTy::l5) end val (expList, indexExpList, labelList, sizeExpList, tyList) = unzip fieldList val (dec1, bitmaps) = transformValueList env bitmapExpList val (dec2, totalSize) = transformValue env totalSizeExp val (dec3, fieldList) = transformValueList env expList val (dec4, fieldSizeList) = transformValueList env sizeExpList val (dec5, fieldIndexList) = transformValueList env indexExpList in (dec1 @ dec2 @ dec3 @ dec4 @ dec5, A.ANRECORD {bitmaps = bitmaps, totalSize = totalSize, fieldList = fieldList, fieldSizeList = fieldSizeList, fieldTyList = map (transformTy env) tyList, fieldIndexList = fieldIndexList, isMutable = isMutable, clearPad = clearPad}) end | C.BASELECT {recordExp, indexExp, label, recordTy, resultTy, resultSize} => if isClosureEnvVar env (SOME recordExp) then let val offset = case transformValue env indexExp of (nil, A.ANWORD x) => x | _ => raise Control.Bug "BASELECT" val (dec1, size) = transformValue env resultSize in (dec1, A.ANENVACC {nestLevel = 0w0, offset = offset, size = size, ty = transformTy env resultTy}) end else let val (dec1, record) = transformValue env recordExp val (dec2, offset) = transformValue env indexExp val (dec3, size) = transformValue env resultSize in (dec1 @ dec2 @ dec3, A.ANSELECT {record = record, nestLevel = A.ANWORD 0w0, offset = offset, size = size, ty = transformTy env resultTy}) end | C.BAMODIFY {recordExp, recordTy, indexExp, label, valueExp, valueTy, valueTag, valueSize} => let val (dec1, record) = transformValue env recordExp val (dec2, offset) = transformValue env indexExp val (dec3, value) = transformValue env valueExp val (dec4, valueSize) = transformValue env valueSize val (dec5, valueTag) = transformValue env valueTag in (dec1 @ dec2 @ dec3 @ dec4 @ dec5, A.ANMODIFY {record = record, nestLevel = A.ANWORD 0w0, offset = offset, value = value, valueTy = transformTy env valueTy, valueSize = valueSize, valueTag = valueTag}) end fun transformCall env bacall = case bacall of C.BAFOREIGNAPPLY {funExp, foreignFunTy={argTyList,resultTy,attributes}, argExpList} => let val argTyList = map (transformTy env) argTyList val resultTyList = map (transformTy env) (flattenTy resultTy) val (dec1, function) = transformValue env funExp val (dec2, argList) = transformValueList env argExpList in (dec1 @ dec2, A.ANFOREIGNAPPLY {function = function, argList = argList, argTyList = argTyList, resultTyList = resultTyList, attributes = attributes}) end | C.BAAPPM {funExp, funTy, argExpList} => let val (argTyList, resultTyList) = decomposeFunTy env funTy val (dec1, funLabel) = transformValue env funExp val (dec2, argList) = transformValueList env argExpList in (dec1 @ dec2, if AnnotatedTypesUtils.isLocalFunTy funTy then A.ANLOCALCALL {codeLabel = funLabel, argList = argList, argTyList = argTyList, resultTyList = resultTyList, returnLabel = VarID.generate (), knownDestinations = ref nil} else A.ANAPPLY {closure = funLabel, argList = argList, argTyList = argTyList, resultTyList = resultTyList}) end fun transformExp env caexp = case caexp of C.CAVAL {boundVar, boundExp = C.BAPRIMAPPLY {primInfo={primitive,ty}, argExpList, instTyList, instTagList, instSizeList}, nextExp, loc} => let val (env, var) = bindVar env A.LOCAL boundVar val funTy = AnnotatedTypesUtils.tpappTy (ty, instTyList) val (argTyList, resultTyList) = decomposeFunTy env funTy val (dec1, argList) = transformValueList env argExpList val (dec2, instSizeList) = transformValueList env instSizeList val (dec3, instTagList) = transformValueList env instTagList val instTyList = map (transformTy env) instTyList in dec1 @ dec2 @ dec3 @ ( case (primitive, argList, instTyList, instTagList, instSizeList) of (BuiltinPrimitive.Array_allocArray, [length], [elementTy], [bitmap], [elementSize]) => let val (dec1, totalSize) = multiplyExp (length, elementSize, loc) in dec1 @ [A.ANVAL {varList = [var], exp = A.ANARRAY {bitmap = bitmap, totalSize = totalSize, initialValue = NONE, elementTy = elementTy, elementSize = elementSize, isMutable = true}, loc = loc}] end | (BuiltinPrimitive.Array_allocVector, [length], [elementTy], [bitmap], [elementSize]) => let val (dec1, totalSize) = multiplyExp (length, elementSize, loc) in dec1 @ [A.ANVAL {varList = [var], exp = A.ANARRAY {bitmap = bitmap, totalSize = totalSize, initialValue = NONE, elementTy = elementTy, elementSize = elementSize, isMutable = false}, loc = loc}] end | (BuiltinPrimitive.Array_copy_unsafe, [src, srcOffset, dst, dstOffset, length], [elementTy], [elementTag], [elementSize]) => let val (dec1, srcOffset) = multiplyExp (srcOffset, elementSize, loc) val (dec2, dstOffset) = multiplyExp (dstOffset, elementSize, loc) in dec1 @ dec2 @ [A.ANCOPYARRAY {src = src, srcOffset = srcOffset, dst = dst, dstOffset = dstOffset, length = length, elementTy = elementTy, elementSize = elementSize, elementTag = elementTag, loc = loc}, A.ANVAL {varList = [var], exp = A.ANCONST CT.UNIT, loc = loc}] end | (BuiltinPrimitive.Array_sub, [array, offset], [elementTy], [tag], [size]) => let val (dec1, offset) = multiplyExp (offset, size, loc) in dec1 @ [A.ANVAL {varList = [var], exp = A.ANGETFIELD {array = array, offset = offset, size = size, needBoundaryCheck = true, ty = elementTy}, loc = loc}] end | (BuiltinPrimitive.Array_update, [array, offset, value], [elementTy], [valueTag], [valueSize]) => let val (dec1, offset) = multiplyExp (offset, valueSize, loc) in dec1 @ [A.ANSETFIELD {array = array, offset = offset, value = value, valueTy = elementTy, valueSize = valueSize, valueTag = valueTag, setGlobal = false, needBoundaryCheck = true, loc = loc}, A.ANVAL {varList = [var], exp = A.ANCONST CT.UNIT, loc = loc}] end | (BuiltinPrimitive.Ref_alloc, [initialValue], [elementTy], [bitmap], [elementSize]) => dec1 @ [A.ANVAL {varList = [var], exp = A.ANARRAY {bitmap = bitmap, totalSize = elementSize, initialValue = SOME initialValue, elementTy = elementTy, elementSize = elementSize, isMutable = true}, loc = loc}] | (BuiltinPrimitive.Ref_assign, [array, value], [elementTy], [valueTag], [valueSize]) => [A.ANSETFIELD {array = array, offset = A.ANWORD 0w0, value = value, valueTy = elementTy, valueSize = valueSize, valueTag = valueTag, setGlobal = false, needBoundaryCheck = true, loc = loc}, A.ANVAL {varList = [var], exp = A.ANCONST CT.UNIT, loc = loc}] | (BuiltinPrimitive.Ref_deref, [array], [elementTy], [valueTag], [valueSize]) => dec1 @ [A.ANVAL {varList = [var], exp = A.ANGETFIELD {array = array, offset = A.ANWORD 0w0, size = valueSize, needBoundaryCheck = false, ty = elementTy}, loc = loc}] | _ => [A.ANVAL {varList = [var], exp = A.ANPRIMAPPLY {prim = primitive, argList = argList, argTyList = argTyList, resultTyList = resultTyList, instSizeList = instSizeList, instTagList = instTagList}, loc = loc}] ) @ transformExp env nextExp end | C.CAVAL {boundVar, boundExp, nextExp, loc} => let val (dec1, exp) = transformPrim env boundExp val (env, var) = bindVar env A.LOCAL boundVar in dec1 @ [A.ANVAL {varList = [var], exp = exp, loc = loc}] @ transformExp env nextExp end | C.CACALL {resultVars, callExp, nextExp, loc} => let val (dec1, exp) = transformCall env callExp val (env, varList) = bindVarList env A.LOCAL resultVars in dec1 @ [A.ANVAL {varList = varList, exp = exp, loc = loc}] @ transformExp env nextExp end | C.CAEXPORTVAR {varInfo as {path,ty,id}, varSize, varTag, nextExp, loc} => let val value = A.ANVAR (lookupVar env varInfo) val (dec1, valueSize) = transformValue env varSize val (dec2, valueTag) = transformValue env varTag val displayName = NameMangle.mangle {path=path, ty=ty} val ty = transformTy env ty in dec1 @ dec2 @ [A.ANSETFIELD {array = A.ANTOPSYMBOL {name = A.TOP_EXPORT (A.TOP_GLOBAL displayName), ty = A.POINTER}, offset = A.ANWORD 0w0, value = value, valueTy = ty, valueSize = valueSize, valueTag = valueTag, setGlobal = true, needBoundaryCheck = false, loc = loc}] @ transformExp env nextExp end (* | C.CASTATEMENT {statement, nextExp, loc} => transformStatement env statement loc @ transformExp env nextExp *) | C.CACLOSURE {boundVar, codeId, closureEnv, closureLayout, nextExp, funTy, loc} => if isClosureEnvVar env closureEnv then let val (env, var) = bindVar env A.LOCAL boundVar in [A.ANVAL {varList = [var], exp = A.ANRECCLOSURE {funLabel = A.ANLABEL codeId}, loc = loc}] @ transformExp env nextExp end else let val (dec1, closEnv) = case closureEnv of NONE => (nil, A.ANNULLBOXED) | SOME closureEnv => transformValue env closureEnv val (env, var) = bindVar env A.LOCAL boundVar in dec1 @ [A.ANVAL {varList = [var], exp = A.ANCLOSURE {funLabel = A.ANLABEL codeId, env = closEnv}, loc = loc}] @ transformExp env nextExp end | C.CACALLBACKCLOSURE {boundVar, codeId, closureEnv, nextExp, foreignFunTy={argTyList,resultTy,attributes}, loc} => let val argTyList = map (transformTy env) argTyList val resultTyList = map (transformTy env) (flattenTy resultTy) val (dec1, closureEnv) = case closureEnv of NONE => (nil, A.ANNULLBOXED) | SOME closureEnv => transformValue env closureEnv val (env, var) = bindVar env A.LOCAL boundVar in dec1 @ [A.ANVAL {varList = [var], exp = A.ANCALLBACKCLOSURE {funLabel = A.ANLABEL codeId, env = closureEnv, argTyList = argTyList, resultTyList = resultTyList, attributes = attributes}, loc = loc}] @ transformExp env nextExp end | C.CALOCALFNM {recbindList, nextExp, loc} => let val (env, vars) = bindVarList env A.LOCAL (map #boundVar recbindList) val codeList = map (fn {boundVar, function={argVarList, funTy, bodyExp, annotation, loc}:C.localFunction} => let val (argTyList, resultTyList) = decomposeFunTy env funTy val (env, argVarList) = bindVarList env A.ARG argVarList val body = transformExp env bodyExp in {codeId = #id boundVar, argVarList = argVarList, body = body, resultTyList = resultTyList, loc = loc} : A.codeDecl end) recbindList in A.ANVALCODE {codeList = codeList, loc = loc} :: transformExp env nextExp end | C.CAHANDLE {resultVars, tryExp, exnVar, handlerExp, nextExp, loc} => let val tryLabel = VarID.generate () val leaveLabel = VarID.generate () val handlerLabel = VarID.generate () val endLabel = VarID.generate () val tryEnv = setMergePoint (env, leaveLabel, resultVars) val try = transformExp tryEnv tryExp val (handlerEnv, exnVar) = bindVar tryEnv A.LOCAL exnVar val handlerEnv = setMergePoint (handlerEnv, endLabel, resultVars) val handler = transformExp handlerEnv handlerExp val (env, resultVars) = bindVarList env A.LOCAL resultVars in A.ANHANDLE {try = try, exnVar = exnVar, handler = handler, labels = {tryLabel = tryLabel, leaveLabel = leaveLabel, handlerLabel = handlerLabel}, loc = loc} :: A.ANMERGEPOINT {label = leaveLabel, varList = resultVars, leaveHandler = SOME {handlerLabel = handlerLabel, tryLabel = tryLabel}, loc = loc} :: A.ANMERGE {label = endLabel, varList = resultVars, loc = loc} :: A.ANMERGEPOINT {label = endLabel, varList = resultVars, leaveHandler = NONE, loc = loc} :: transformExp env nextExp end (* | C.CANEST {resultVars, nestExp, nextExp, loc} => let val mergeLabel = VarID.generate () val nestEnv = setMergePoint (env, mergeLabel) val (env, resultVars) = bindVarList env A.LOCAL resultVars in transformExp nestEnv nestExp @ [A.ANMERGEPOINT {label = mergeLabel, varList = resultVars, leaveHandler = NONE, loc = loc}] @ transformExp env nextExp end *) | C.CAMERGE resultVars => let val (mergeLabel, mergePointVars) = case #mergePoint env of SOME x => x | NONE => raise Control.Bug ("transformExp: CAMERGE" ^ (VarID.toString (#id (List.hd resultVars)))) val (env, decls) = ListPair.foldrEq (fn (mergePointVar, mergeVar, (env, decls)) => if VarID.eq (#id mergePointVar, #id mergeVar) then (env, decls) else let val (env, var) = bindVar env A.LOCAL mergePointVar val mergeVar = lookupVar env mergeVar in (env, A.ANVAL {varList = [var], exp = A.ANVALUE (A.ANVAR mergeVar), loc = Loc.noloc} :: decls) end) (env, nil) (mergePointVars, resultVars) in decls @ [A.ANMERGE {label = mergeLabel, varList = map (lookupVar env) mergePointVars, loc = Loc.noloc}] end | C.CARETURN {resultVars, funTy, loc} => let val (argTyList, resultTyList) = decomposeFunTy env funTy val resultValues = map C.BAVAR resultVars val (dec1, valueList) = transformValueList env resultValues in dec1 @ [if AnnotatedTypesUtils.isLocalFunTy funTy then A.ANLOCALRETURN {valueList = valueList, tyList = resultTyList, loc = loc, knownDestinations = ref nil} else A.ANRETURN {valueList = valueList, tyList = resultTyList, loc = loc}] end | C.CATAILAPPM {funExp, funTy, argExpList, loc} => let val (argTyList, resultTyList) = decomposeFunTy env funTy val (dec1, funExp) = transformValue env funExp val (dec2, argList) = transformValueList env argExpList in dec1 @ dec2 @ [if AnnotatedTypesUtils.isLocalFunTy funTy then A.ANTAILLOCALCALL {codeLabel = funExp, argList = argList, argTyList = argTyList, resultTyList = resultTyList, loc = loc, knownDestinations = ref nil} else A.ANTAILAPPLY {closure = funExp, argList = argList, argTyList = argTyList, resultTyList = resultTyList, loc = loc}] end | C.CARAISE {argExp, loc} => let val (dec1, value) = transformValue env argExp in dec1 @ [A.ANRAISE {value = value, loc = loc}] end | C.CASWITCH {resultVars, switch as {loc,...}, nextExp} => let val mergeLabel = VarID.generate () val nestEnv = setMergePoint (env, mergeLabel, resultVars) val dec1 = transformSwitch nestEnv switch val (env, resultVars) = bindVarList env A.LOCAL resultVars in dec1 @ [A.ANMERGEPOINT {label = mergeLabel, varList = resultVars, leaveHandler = NONE, loc = loc}] @ transformExp env nextExp end | C.CATAILSWITCH switch => transformSwitch env switch | C.CAPOLY {resultVars, btvEnv, expTyWithoutTAbs, exp, nextExp, loc} => let val mergeLabel = VarID.generate () val nestEnv = setMergePoint (env, mergeLabel, resultVars) val nestEnv = bindTyvars (nestEnv, btvEnv) val (env, resultVars) = bindVarList env A.LOCAL resultVars in transformExp nestEnv exp @ [A.ANMERGEPOINT {label = mergeLabel, varList = resultVars, leaveHandler = NONE, loc = loc}] @ transformExp env nextExp end and transformSwitch env ({switchExp, expTy, branches, defaultExp, loc} :C.switch) = let val (dec1, value) = transformValue env switchExp val branches = map (fn {constant, branchExp} => {constant = A.ANCONST constant, branch = transformExp env branchExp}) branches val default = transformExp env defaultExp in dec1 @ [A.ANSWITCH {value = value, valueTy = transformTy env expTy, branches = branches, default = default, loc = loc}] end fun transformTopConst ({const, castTy}:C.topconst) = raise Fail "FIXME" val toUInt32 = Word32.fromLarge : LargeWord.word -> BasicTypes.UInt32 fun difference (nil, z) = [z : LargeWord.word] | difference ([x], z) = [z - x] | difference (h1::h::t, z) = (h - h1) :: difference (h::t, z) fun tagArgs (argVarList, frameBits) = let val args = List.mapPartial (fn v as {ty,...}:C.varInfo => case ty of T.SINGLETONty (T.TAGty (T.BOUNDVARty tid)) => SOME (tid, v) | _ => NONE) argVarList in foldr (fn (tid, (boundVars, boundTids, freeTids)) => case List.find (fn (t,v) => t = tid) args of NONE => (boundVars, boundTids, tid::freeTids) | SOME (_, v) => (v::boundVars, tid::boundTids, freeTids)) (nil, nil, nil) frameBits end (* fun transformFreeVars env nil = (env, nil) | transformFreeVars env ({var, bindExp}::binds) = let val anexp = case bindExp of C.CACLOSURE {codeId, nextExp=C.CAMERGE _, ...} => A.ANRECCLOSURE {funLabel = A.ANLABEL codeId} | C.CAVAL {boundExp=C.BASELECT {indexExp,resultTy,resultSize,...}, nextExp=C.CAMERGE _, ...} => (case transformValue env resultSize of (nil, size) => A.ANENVACC {nestLevel = 0w0, offset = toWord indexExp, size = size, ty = transformTy env resultTy} | _ => raise Control.Bug "transformFreeVars") | _ => raise Control.Bug "transformFreeVars" val (env, var) = bindVar env A.LOCAL var val (env, binds) = transformFreeVars env binds in (env, (var, anexp)::binds) end fun transformBitmapFree (binds, bitmaps) = case bitmaps of nil => A.ANVALUE (A.ANWORD 0w0) | _::_::_ => raise Control.Bug "transformBitmapFree" | (x:A.varInfo)::nil => case List.find (fn ({id,...}:A.varInfo,_) => id = #id x) binds of NONE => raise Control.Bug "transformBitmapFree" | SOME (_,exp) => exp fun pairToVAL loc (var, exp) = A.ANVAL {varList = [var], exp = exp, loc = loc} *) fun searchEnvAcc (nil, vid) = raise Control.Bug ("searchEnvAcc: " ^ VarID.toString vid) | searchEnvAcc (decl::decls, vid) = case decl of A.ANVAL {varList = [v], exp as A.ANENVACC {nestLevel, offset, size, ty}, ...} => if #id v = vid then A.ANENVACC {nestLevel = 0w0, offset = offset, size = size, ty = A.UINT} else searchEnvAcc (decls, vid) | _ => searchEnvAcc (decls, vid) fun transformBitmapFree (decls, [value]) = (case value of C.BACONST (C.BACONSTANT (CT.WORD n)) => A.ANVALUE (A.ANWORD n) | C.BACONST _ => raise Control.Bug "toWord: CONST" | C.BAVAR {id,...} => (searchEnvAcc (decls, id) handle e => raise e) | C.BACAST {exp, expTy, targetTy} => transformBitmapFree (decls, [exp]) | C.BATAPP {exp, expTy, instTyList} => transformBitmapFree (decls, [exp])) | transformBitmapFree (decls, nil) = A.ANVALUE (A.ANWORD 0w0) | transformBitmapFree _ = raise Control.Bug "transformBitmapFree" fun transformTopdec batopdec = case batopdec of C.CAFUNCTION {codeId, path, btvEnv, freeTyvars, bodyTy, attributes, closureEnvArg, argVarList, frameBitmapExp, frameBitmaps, frameBitmapBits, outerFrameBitmap=(freeBitmapTids, freeBitmapVars), bodyExp, annotation, loc} => let val resultTyList = map (transformTy emptyEnv) (flattenTy bodyTy) val env = newEnv closureEnvArg val env = bindTyvars (env, freeTyvars) val (boundTags, boundTyvars, freeTids) = tagArgs (argVarList, frameBitmapBits) val (freeBitmapTids, freeBitmapVars) = case freeTids of nil => (nil, nil) | _::_ => (freeBitmapTids, freeBitmapVars) val tyvars = boundTyvars @ freeBitmapTids val (env, argVarList) = bindVarList env A.ARG argVarList val boundTags = map (lookupVar env) boundTags local val mergeLabel = VarID.generate () val nestEnv = setMergePoint (env, mergeLabel, frameBitmaps) in val (env, frameBitmaps) = bindVarList env A.LOCAL frameBitmaps val body = transformExp nestEnv frameBitmapExp @ [A.ANMERGEPOINT {label = mergeLabel, varList = frameBitmaps, leaveHandler = NONE, loc = loc}] @ transformExp env bodyExp end val bitmapFree = transformBitmapFree (body, freeBitmapVars) handle e => raise e in [A.ANCLUSTER {clusterId = ClusterID.generate (), frameInfo = {tyvars = tyvars, bitmapFree = bitmapFree, tagArgList = boundTags}, entryFunctions = [{codeId = codeId, argVarList = argVarList, body = body, resultTyList = resultTyList, ffiAttributes = attributes, loc = loc}], hasClosureEnv = isSome closureEnvArg, loc = loc}] end | C.CARECFUNCTION {closureEnvArg, freeTyvars, frameBitmapExp, frameBitmaps, frameBitmapBits, functions, loc} => let val env = newEnv closureEnvArg val env = bindTyvars (env, freeTyvars) local val mergeLabel = VarID.generate () val nestEnv = setMergePoint (env, mergeLabel, frameBitmaps) in val body1 = transformExp nestEnv frameBitmapExp end val frameBitmaps = map (fn v => C.BAVAR v) frameBitmaps val bitmapFree = transformBitmapFree (body1, frameBitmaps) handle e => raise e val functions = map (fn {codeId, path, argVarList, funTy, bodyExp, annotation, loc} => let val (argTyList, resultTyList) = decomposeFunTy env funTy val (env, argVarList) = bindVarList env A.ARG argVarList val body = transformExp env bodyExp in {codeId = codeId, argVarList = argVarList, body = body, resultTyList = resultTyList, ffiAttributes = NONE, loc = loc} end) functions in [A.ANCLUSTER {clusterId = ClusterID.generate (), frameInfo = {tyvars = frameBitmapBits, bitmapFree = bitmapFree, tagArgList = nil}, entryFunctions = functions, hasClosureEnv = isSome closureEnvArg, loc = loc}] end | C.CATOPCONST {id, constant} => [A.ANTOPCONST {globalName = A.TOP_LOCAL id, constant = transformTopConst constant}] | C.CATOPRECORD {id, bitmaps, totalSize, fieldList, isMutable} => let fun unzip nil = (nil, nil, nil) | unzip ({fieldConst, fieldTy, fieldIndex}::t) = let val (l1, l2, l3) = unzip t in (fieldConst::l1, fieldTy::l2, fieldIndex::l3) end val (fieldList, fieldTyList, fieldIndexList) = unzip fieldList val fieldSizeList = difference (fieldIndexList, totalSize) in [A.ANTOPRECORD {globalName = A.TOP_LOCAL id, bitmaps = map toUInt32 bitmaps, totalSize = toUInt32 totalSize, fieldList = map transformTopConst fieldList, fieldTyList = map (transformTy emptyEnv) fieldTyList, fieldSizeList = map toUInt32 fieldSizeList, isMutable = isMutable}] end | C.CATOPCLOSURE {id, codeId, closureEnv, closureLayout} => [A.ANTOPCLOSURE {globalName = A.TOP_LOCAL id, funLabel = codeId, closureEnv = case closureEnv of NONE => A.ANNULLBOXED | SOME v => transformTopConst v}] | C.CATOPARRAY {id, numElements, initialValues, elementTy, elementSize, elementTag, isMutable} => [A.ANTOPARRAY {globalName = A.TOP_LOCAL id, bitmap = toUInt32 elementTag, totalSize = toUInt32 (elementSize * numElements), initialValues = map transformTopConst initialValues, elementTy = transformTy emptyEnv elementTy, elementSize = toUInt32 elementSize, isMutable = isMutable}] | C.CATOPVAR {path, initialValue, elementTy, elementSize} => [A.ANTOPVAR {globalName = A.TOP_GLOBAL (NameMangle.mangle {path=path, ty=elementTy}), initialValue = Option.map transformTopConst initialValue, elementTy = transformTy emptyEnv elementTy, elementSize = toUInt32 elementSize}] | C.CAEXTERNVAR _ => nil | C.CATOPLEVEL caexp => let val clusterId = ClusterID.generate () val codeId = VarID.generate () val body = transformExp emptyEnv caexp in [ A.ANCLUSTER {clusterId = clusterId, frameInfo = {tyvars = nil, bitmapFree = A.ANVALUE (A.ANWORD 0w0), tagArgList = nil}:A.frameInfo, entryFunctions = [{codeId = codeId, argVarList = nil, body = transformExp emptyEnv caexp, resultTyList = nil, ffiAttributes = SOME Absyn.defaultFFIAttributes, loc = Loc.noloc}:A.funDecl], hasClosureEnv = false, loc = Loc.noloc}, A.ANENTERTOPLEVEL codeId ] end fun transform topdecs = List.concat (map transformTopdec topdecs) (* fun transform {clusters, toplevelExp} = let val clusters = map transformCluster clusters val toplevel = transformExp emptyEnv toplevelExp val toplevelLabel = VarID.generate () val toplevelCluster = { clusterId = ClusterID.generate (), frameInfo = { tyvars = [], bitmapFree = A.ANVALUE (A.ANWORD 0w0), tagArgList = [] }, entryFunctions = [{ codeId = toplevelLabel, argVarList = [], body = toplevel, resultTyList = [], ffiAttributes = SOME Absyn.defaultFFIAttributes, loc = Loc.noloc }], hasClosureEnv = false, loc = Loc.noloc } : A.clusterDecl in map A.ANCLUSTER clusters @ [A.ANCLUSTER toplevelCluster, A.ANENTERTOPLEVEL toplevelLabel] end *) end smlsharp-1.2.0/src/compiler/typedcalc0000755 000000000000000000000000012050661606017775 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/typedcalc/main0000755 000000000000000000000000012050661606020721 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/typedcalc/main/TCAlphaRename.smi0000644 000000000000000000000105012050661606024112 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../builtin2/main/BuiltinPrimitive.ppg.smi" _require "../../types/main/Types.ppg.smi" _require "../../typeinference2/main/Printers.smi" _require "../../types/main/TyAlphaRename.smi" _require "TypedCalc.ppg.smi" structure TCAlphaRename = struct val copyExp : TypedCalc.tpexp -> VarID.id VarID.Map.map * TypedCalc.tpexp end smlsharp-1.2.0/src/compiler/typedcalc/main/TCAlphaRename.sml0000644 000000000000000000005055212050661606024130 0ustar00rootroot0000000 0000000 structure TCAlphaRename = struct local structure TC = TypedCalc structure T = Types structure P = Printers fun bug s = Control.Bug ("AlphaRename: " ^ s) exception DuplicateVar exception DuplicateBtv type ty = T.ty type path = T.path type btvKind = {tvarKind : T.tvarKind, eqKind : T.eqKind} type btvEnv = btvKind BoundTypeVarID.Map.map type btvMap = BoundTypeVarID.id BoundTypeVarID.Map.map val emptyBtvMap = BoundTypeVarID.Map.empty type varMap = VarID.id VarID.Map.map val emptyVarMap = VarID.Map.empty type context = {varMap:varMap, btvMap:btvMap} val emptyContext = {varMap=emptyVarMap, btvMap=emptyBtvMap} fun copyTy (context:context) (ty:ty) = TyAlphaRename.copyTy (#btvMap context) ty fun newBtvEnv ({varMap, btvMap}:context) (btvEnv:btvEnv) = let val (btvMap, btvEnv) = TyAlphaRename.newBtvEnv btvMap btvEnv in ({btvMap=btvMap, varMap=varMap}, btvEnv) end fun copyExVarInfo context {path:path, ty:ty} = {path=path, ty=copyTy context ty} fun copyPrimInfo context {primitive : BuiltinPrimitive.primitive, ty : ty} = {primitive=primitive, ty=copyTy context ty} fun copyOprimInfo context {ty : ty, path : path, id: OPrimID.id} = {ty=copyTy context ty, path=path,id=id} fun copyConInfo context {path: path, ty: ty, id: ConID.id} = {path=path, ty=copyTy context ty, id=id} fun copyExnInfo context {path: path, ty: ty, id: ExnID.id} = {path=path, ty=copyTy context ty, id=id} fun copyExExnInfo context {path: path, ty: ty} = {path=path, ty=copyTy context ty} fun copyExnCon context exnCon = case exnCon of TC.EXEXN exExnInfo => TC.EXEXN (copyExExnInfo context exExnInfo) | TC.EXN exnInfo => TC.EXN (copyExnInfo context exnInfo) fun copyFfiTy context ffiTy = case ffiTy of TC.FFIBASETY (ty, loc) => TC.FFIBASETY (copyTy context ty, loc) | TC.FFIFUNTY (attribOpt (* Absyn.ffiAttributes option *), ffiTyList1, ffiTyList2,loc) => TC.FFIFUNTY (attribOpt, map (copyFfiTy context) ffiTyList1, map (copyFfiTy context) ffiTyList2, loc) | TC.FFIRECORDTY (fields:(string * TC.ffiTy) list,loc) => TC.FFIRECORDTY (map (fn (l,ty)=>(l, copyFfiTy context ty)) fields,loc) val emptyVarIdMap = VarID.Map.empty : VarID.id VarID.Map.map val varIdMapRef = ref emptyVarIdMap : (VarID.id VarID.Map.map) ref fun addSubst (oldId, newId) = varIdMapRef := VarID.Map.insert(!varIdMapRef, oldId, newId) type varInfo = {path:path, id:VarID.id, ty:ty} (* alpha-rename terms *) fun newId ({varMap, btvMap}:context) id = let val newId = VarID.generate() val _ = addSubst (id, newId) val varMap = VarID.Map.insertWith (fn _ => raise DuplicateVar) (varMap, id, newId) in ({varMap=varMap, btvMap=btvMap}, newId) end fun newVar (context:context) ({path, id, ty}:varInfo) = let val ty = copyTy context ty val (context, newId) = newId context id handle DuplicateVar => (P.printPath path; P.print "\n"; raise bug "duplicate id in IDCalcUtils" ) in (context, {path=path, id=newId, ty=ty}) end fun newVars (context:context) (vars:varInfo list) = let val (context, varsRev) = foldl (fn (var, (context, varsRev)) => let val (context, var) = newVar context var in (context, var::varsRev) end ) (context, nil) vars in (context, List.rev varsRev) end fun copyPat (context:context) (tppat:TC.tppat) : context * TC.tppat = case tppat of TC.TPPATCONSTANT (constant, ty, loc) => (context, TC.TPPATCONSTANT (constant, copyTy context ty, loc)) | TC.TPPATDATACONSTRUCT {argPatOpt, conPat:T.conInfo, instTyList, loc, patTy} => let val conPat = copyConInfo context conPat val instTyList = map (copyTy context) instTyList val patTy = copyTy context patTy val (context, argPatOpt) = case argPatOpt of NONE => (context, NONE) | SOME argPat => let val (context, argPat) = copyPat context argPat in (context, SOME argPat) end in (context, TC.TPPATDATACONSTRUCT {argPatOpt = argPatOpt, conPat = conPat, instTyList = instTyList, loc = loc, patTy = patTy } ) end | TC.TPPATERROR (ty, loc) => (context, TC.TPPATERROR (copyTy context ty, loc)) | TC.TPPATEXNCONSTRUCT {argPatOpt, exnPat:TC.exnCon, instTyList, loc, patTy} => let val instTyList = map (copyTy context) instTyList val patTy = copyTy context patTy val exnPat = copyExnCon context exnPat val (context, argPatOpt) = case argPatOpt of NONE => (context, NONE) | SOME argPat => let val (context, argPat) = copyPat context argPat in (context, SOME argPat) end in (context, TC.TPPATEXNCONSTRUCT {argPatOpt = argPatOpt, exnPat = exnPat, instTyList = instTyList, loc = loc, patTy = patTy } ) end | TC.TPPATLAYERED {asPat, loc, varPat} => let val (context, varPat) = copyPat context varPat val (context, asPat) = copyPat context asPat in (context, TC.TPPATLAYERED {asPat=asPat, loc=loc, varPat=varPat}) end | TC.TPPATRECORD {fields:TC.tppat LabelEnv.map, loc, recordTy} => let val recordTy = copyTy context recordTy val (context, fields) = LabelEnv.foldli (fn (label, pat, (context, fields)) => let val (context, pat) = copyPat context pat in (context, LabelEnv.insert(fields, label, pat)) end ) (context, LabelEnv.empty) fields in (context, TC.TPPATRECORD {fields=fields, loc=loc, recordTy=recordTy}) end | TC.TPPATVAR (varInfo, loc) => let val (context, varInfo) = newVar context varInfo in (context, TC.TPPATVAR (varInfo, loc)) end | TC.TPPATWILD (ty, loc) => (context, TC.TPPATWILD (copyTy context ty, loc)) fun copyPats context pats = let val (context,patsRev) = foldl (fn (pat, (context,patsRev)) => let val (context, pat) = copyPat context pat in (context, pat::patsRev) end ) (context, nil) pats in (context, List.rev patsRev) end fun evalVar (context as {varMap, btvMap}:context) ({path, id, ty}:varInfo) = let val ty = copyTy context ty val id = case VarID.Map.find(varMap, id) of SOME id => id | NONE => id in {path=path, id=id, ty=ty} end handle DuplicateBtv => (P.print "DuplicateBtv in evalVar\n"; P.printPath path; P.print "\n"; P.printTy ty; P.print "\n"; raise bug "DuplicateBtv in evalVar") fun copyExp (context:context) (exp:TC.tpexp) = let fun copy exp = copyExp context exp fun copyT ty = copyTy context ty in ( case exp of TC.TPAPPM {argExpList, funExp, funTy, loc} => TC.TPAPPM {argExpList = map copy argExpList, funExp = copy funExp, funTy = copyT funTy, loc = loc} | TC.TPCASEM {caseKind, expList, expTyList, loc, ruleBodyTy, ruleList} => TC.TPCASEM {caseKind = caseKind, expList = map copy expList, expTyList = map copyT expTyList, loc = loc, ruleBodyTy = copyT ruleBodyTy, ruleList = map (copyRule context) ruleList } | TC.TPCAST (tpexp, ty, loc) => TC.TPCAST (copy tpexp, copyT ty, loc) | TC.TPCONSTANT {const, loc, ty} => TC.TPCONSTANT {const=const, loc = loc, ty=copyT ty} | TC.TPDATACONSTRUCT {argExpOpt, argTyOpt, con:T.conInfo, instTyList, loc} => TC.TPDATACONSTRUCT {argExpOpt = Option.map copy argExpOpt, argTyOpt = Option.map copyT argTyOpt, con = copyConInfo context con, instTyList = map copyT instTyList, loc = loc } | TC.TPERROR => exp | TC.TPEXNCONSTRUCT {argExpOpt, argTyOpt, exn:TC.exnCon, instTyList, loc} => TC.TPEXNCONSTRUCT {argExpOpt = Option.map copy argExpOpt, argTyOpt = Option.map copyT argTyOpt, exn = copyExnCon context exn, instTyList = map copyT instTyList, loc = loc } | TC.TPEXN_CONSTRUCTOR {exnInfo, loc} => TC.TPEXN_CONSTRUCTOR {exnInfo=copyExnInfo context exnInfo , loc=loc} | TC.TPEXEXN_CONSTRUCTOR {exExnInfo, loc} => TC.TPEXEXN_CONSTRUCTOR {exExnInfo=copyExExnInfo context exExnInfo, loc= loc} | TC.TPEXVAR ({path, ty}, loc) => TC.TPEXVAR ({path=path, ty=copyT ty}, loc) | TC.TPFFIIMPORT {ffiTy, loc, ptrExp, stubTy} => TC.TPFFIIMPORT {ffiTy = copyFfiTy context ffiTy, loc = loc, ptrExp = copy ptrExp, stubTy = copyT stubTy } | TC.TPFNM {argVarList, bodyExp, bodyTy, loc} => let val bodyTy = copyT bodyTy val (context, argVarList) = newVars context argVarList val bodyExp = copyExp context bodyExp in TC.TPFNM {argVarList = argVarList, bodyExp = bodyExp, bodyTy = bodyTy, loc = loc } end | TC.TPGLOBALSYMBOL {kind, loc, name, ty} => TC.TPGLOBALSYMBOL {kind=kind, loc=loc, name=name, ty=copyT ty} | TC.TPHANDLE {exnVar, exp, handler, loc} => let val (context, exnVar) = newVar context exnVar in TC.TPHANDLE {exnVar=exnVar, exp=copy exp, handler=copyExp context handler, loc=loc} end | TC.TPLET {body:TC.tpexp list, decls, loc, tys} => let val (context, decls) = copyDeclList context decls in TC.TPLET {body=map (copyExp context) body, decls=decls, loc=loc, tys=map copyT tys} end | TC.TPMODIFY {elementExp, elementTy, label, loc, recordExp, recordTy} => TC.TPMODIFY {elementExp = copy elementExp, elementTy = copyT elementTy, label = label, loc = loc, recordExp = copy recordExp, recordTy = copyT recordTy} | TC.TPMONOLET {binds:(T.varInfo * TC.tpexp) list, bodyExp, loc} => let val (context, binds) = copyBinds context binds (* val (vars, exps) = ListPair.unzip binds val exps = map copy exps val (context, vars) = newVars context vars val bodyExp = copyExp context bodyExp val binds = ListPair.zip(vars, exps) *) in TC.TPMONOLET {binds=binds, bodyExp=copyExp context bodyExp, loc=loc} end | TC.TPOPRIMAPPLY {argExp, argTy, instTyList, loc, oprimOp:T.oprimInfo} => TC.TPOPRIMAPPLY {argExp = copy argExp, argTy = copyT argTy, instTyList = map copyT instTyList, loc = loc, oprimOp = copyOprimInfo context oprimOp } | TC.TPPOLY {btvEnv, exp, expTyWithoutTAbs, loc} => ( let val (context, btvEnv) = newBtvEnv context btvEnv in TC.TPPOLY {btvEnv=btvEnv, exp = copyExp context exp, expTyWithoutTAbs = copyTy context expTyWithoutTAbs, loc = loc } end handle DuplicateBtv => (P.print "DuplicateBtv in TPPOLYty\n"; P.printTpexp exp; P.print "\n"; raise DuplicateBtv) ) | TC.TPPOLYFNM {argVarList, bodyExp, bodyTy, btvEnv, loc} => ( let val (context, btvEnv) = newBtvEnv context btvEnv val (context, argVarList) = newVars context argVarList in TC.TPPOLYFNM {argVarList=argVarList, bodyExp=copyExp context bodyExp, bodyTy=copyTy context bodyTy, btvEnv=btvEnv, loc=loc } end handle DuplicateBtv => (P.print "DuplicateBtv in TPPOLYFNM\n"; P.printTpexp exp; P.print "\n"; raise DuplicateBtv) ) | TC.TPPRIMAPPLY {argExp, argTy, instTyList, loc, primOp:T.primInfo} => TC.TPPRIMAPPLY {argExp = copy argExp, argTy = copyT argTy, instTyList = map copyT instTyList, loc = loc, primOp = copyPrimInfo context primOp } | TC.TPRAISE {exp, loc, ty} => TC.TPRAISE {exp= copy exp, loc=loc, ty = copyT ty} | TC.TPRECORD {fields:TC.tpexp LabelEnv.map, loc, recordTy} => TC.TPRECORD {fields=LabelEnv.map copy fields, loc=loc, recordTy=copyT recordTy} | TC.TPSELECT {exp, expTy, label, loc, resultTy} => TC.TPSELECT {exp=copy exp, expTy=copyT expTy, label=label, loc=loc, resultTy=copyT resultTy } | TC.TPSEQ {expList, expTyList, loc} => TC.TPSEQ {expList = map copy expList, expTyList = map copyT expTyList, loc = loc } | TC.TPSIZEOF (ty, loc) => TC.TPSIZEOF (copyT ty, loc) | TC.TPSQLSERVER {loc, resultTy, schema:Types.ty LabelEnv.map LabelEnv.map, server:string } => TC.TPSQLSERVER {loc=loc, resultTy=copyT resultTy, schema= LabelEnv.map (LabelEnv.map copyT) schema, server=server } | TC.TPTAPP {exp, expTy, instTyList, loc} => TC.TPTAPP {exp=copy exp, expTy = copyT expTy, instTyList=map copyT instTyList, loc = loc } | TC.TPVAR (varInfo, loc) => TC.TPVAR (evalVar context varInfo, loc) (* the following should have been eliminate *) | TC.TPRECFUNVAR {arity, loc, var} => raise bug "TPRECFUNVAR in copy" ) handle DuplicateBtv => (P.print "DuplicateBtv in copyExp\n"; P.printTpexp exp; P.print "\n"; raise bug "DuplicateBtv in copyExp copyExp") end and copyRule context {args, body} = let val (context, args) = copyPats context args val body = copyExp context body in {args=args, body=body} end and copyDecl context tpdecl = case tpdecl of TC.TPEXD (exbinds:{exnInfo:Types.exnInfo, loc:Loc.loc} list, loc) => (context, TC.TPEXD (map (fn {exnInfo, loc} => {exnInfo=copyExnInfo context exnInfo, loc=loc}) exbinds, loc) ) | TC.TPEXNTAGD ({exnInfo, varInfo}, loc) => (context, TC.TPEXNTAGD ({exnInfo=copyExnInfo context exnInfo, varInfo=evalVar context varInfo}, loc) ) | TC.TPEXPORTEXN (exnInfo, loc) => (context, TC.TPEXPORTEXN (copyExnInfo context exnInfo, loc) ) | TC.TPEXPORTVAR {internalVar, externalVar, loc} => (context, TC.TPEXPORTVAR {internalVar= evalVar context internalVar, externalVar= copyExVarInfo context externalVar, loc=loc} ) | TC.TPEXPORTRECFUNVAR _ => raise bug "TPEXPORTRECFUNVAR to AlphaRename" | TC.TPEXTERNEXN ({path, ty}, loc) => (context, TC.TPEXTERNEXN ({path=path, ty=copyTy context ty}, loc) ) | TC.TPEXTERNVAR ({path, ty}, loc) => (context, TC.TPEXTERNVAR ({path=path, ty=copyTy context ty}, loc) ) | TC.TPVAL (binds:(T.varInfo * TC.tpexp) list, loc) => let val (context, binds) = copyBinds context binds in (context, TC.TPVAL (binds, loc)) end | TC.TPVALPOLYREC (btvEnv, recbinds:{exp:TC.tpexp, expTy:ty, var:T.varInfo} list, loc) => ( let val (newContext as {varMap, btvMap}, btvEnv) = newBtvEnv context btvEnv val vars = map #var recbinds val (newContext as {varMap, btvMap}, vars) = newVars newContext vars val varRecbindList = ListPair.zip (vars, recbinds) val recbinds = map (fn (var, {exp, expTy, var=_}) => {var=var, expTy=copyTy newContext expTy, exp=copyExp newContext exp} ) varRecbindList in ({varMap=varMap, btvMap = #btvMap context}, TC.TPVALPOLYREC (btvEnv, recbinds, loc)) end handle DuplicateBtv => (P.print "DuplicateBtv in TPVALPOLYREC\n"; P.printTpdecl tpdecl; P.print "\n"; raise bug "TPVALPOLYREC") ) | TC.TPVALREC (recbinds:{exp:TC.tpexp, expTy:ty, var:T.varInfo} list,loc) => let val vars = map #var recbinds val (context, vars) = newVars context vars val varRecbindList = ListPair.zip (vars, recbinds) val recbinds = map (fn (var, {exp, expTy, var=_}) => {var=var, expTy=copyTy context expTy, exp=copyExp context exp} ) varRecbindList in (context, TC.TPVALREC (recbinds, loc)) end (* the following should have been eliminate *) | TC.TPFUNDECL _ => raise bug "TPFUNDECL not eliminated" | TC.TPPOLYFUNDECL _ => raise bug "TPPOLYFUNDECL not eliminated" and copyBind (newContext, context) (var, exp) = let val (newContext, var) = newVar newContext var val exp = copyExp newContext exp in (newContext, (var, exp)) end and copyBinds context binds = let val (newContext, bindsRev) = foldl (fn (bind, (newContext, bindsRev)) => let val (newContext, bind) = copyBind (newContext, context) bind in (newContext, bind::bindsRev) end ) (context, nil) binds in (newContext, List.rev bindsRev) end and copyDeclList context declList = let fun copy (decl, (context, declListRev)) = let val (context, newDecl) = copyDecl context decl in (context, newDecl::declListRev) end val (context, declListRev) = foldl copy (context, nil) declList in (context, List.rev declListRev) end in val copyExp = fn exp => let val _ = varIdMapRef := emptyVarIdMap val exp = copyExp emptyContext exp in (!varIdMapRef, exp) end end end smlsharp-1.2.0/src/compiler/typedcalc/main/TypedCalc.ppg0000755 000000000000000000011720012050661606023364 0ustar00rootroot0000000 0000000 (** * The typed pattern calculus for the IML. * @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori * @author Liu Bochao * @version $Id: TypedCalc.ppg,v 1.36.6.7 2010/02/10 05:17:29 hiro-en Exp $ *) structure TypedCalc = struct local structure T = Types structure I = IDCalc type loc = Loc.loc (*% @formatter(I.path) I.format_path *) (*% @prefix formatWithType_ @formatter(I.path) I.format_path *) type path = (*% @format(x) x *) (*% @prefix formatWithType_ @format(x) x *) I.path (*% @formatter(Absyn.ffiAttributes) Absyn.format_ffiAttributes *) (*% @prefix formatWithType_ @formatter(Absyn.ffiAttributes) Absyn.format_ffiAttributes *) type ffiAttributes = (*% @format(x) x *) (*% @prefix formatWithType_ @format(x) x *) Absyn.ffiAttributes (*% @params(btvEnv) @formatter(tyformat) T.format_ty *) (*% @prefix formatWithType_ @params(btvEnv) @formatter(tyformat) T.format_ty *) type ty = (*% @format(ty:tyformat) ty()(btvEnv) *) (*% @prefix formatWithType_ @format(ty:tyformat) ty()(btvEnv) *) T.ty (*% @params(btvEnv) @formatter(T.btvEnv) T.format_btvEnv *) (*% @prefix formatWithType_ @params(btvEnv) @formatter(T.btvEnv) T.format_btvEnvWithType *) type btvEnv = (*% @format(btv) *) (*% @prefix formatWithType_ @format(btv) btv()(btvEnv) *) T.btvEnv (*% @formatter(PatternCalc.caseKind) PatternCalc.format_caseKind *) (*% @prefix formatWithType_ @formatter(PatternCalc.caseKind) PatternCalc.format_caseKind *) type caseKind = (*% @format(x) x *) (*% @prefix formatWithType_ @format(x) x *) PatternCalc.caseKind (*% @formatter(I.typId) I.format_typId *) (*% @prefix formatWithType_ @formatter(I.typId) I.formatWithType_typId *) type typId = (*% @format(x) x *) (*% @prefix formatWithType_ @format(x) x *) I.typId (*% @formatter(I.conId) I.format_conId *) (*% @prefix formatWithType_ @formatter(I.conId) I.formatWithType_conId *) type conId = (*% @format(x) x *) (*% @prefix formatWithType_ @format(x) x *) I.conId (*% @formatter(I.varId) I.format_varId *) (*% @prefix formatWithType_ @formatter(I.varId) I.formatWithType_varId *) type varId = (*% @format(x) x *) (*% @prefix formatWithType_ @format(x) x *) I.varId (*% @formatter(I.exnId) I.format_exnId *) (*% @prefix formatWithType_ @formatter(I.exnId) I.formatWithType_exnId *) type exnId = (*% @format(x) x *) (*% @prefix formatWithType_ @format(x) x *) I.exnId (*% @formatter(I.oprimId) I.format_oprimId *) (*% @prefix formatWithType_ @formatter(I.oprimId) I.formatWithType_oprimId *) type oprimId = (*% @format(x) x *) (*% @prefix formatWithType_ @format(x) x *) I.oprimId (*% @formatter(I.tvarId) I.format_tvarId *) (*% @prefix formatWithType_ @formatter(I.tvarId) I.formatWithType_tvarId *) type tvarId = (*% @format(x) x *) (*% @prefix formatWithType_ @format(x) x *) I.tvarId (*% @formatter(Absyn.constant) Absyn.format_constant *) (*% @prefix formatWithType_ @formatter(Absyn.constant) Absyn.format_constant *) type constant = (*% @format(x) x *) (*% @prefix formatWithType_ @format(x) x *) Absyn.constant (*% @formatter(I.tvar) I.format_tvar *) (*% @prefix formatWithType_ @formatter(I.tvar) I.formatWithType_tvar *) type tvar = (*% @format(x) x *) (*% @prefix formatWithType_ @format(x) x *) I.tvar (*% @formatter(I.tfun) I.format_tfun *) (*% @prefix formatWithType_ @formatter(I.tfun) I.formatWithType_tfun *) type tfun = (*% @format(x) x *) (*% @prefix formatWithType_ @format(x) x *) I.tfun (*% @formatter(BuiltinPrimitive.primitive) BuiltinPrimitive.format_primitive *) (*% @prefix formatWithType_ @formatter(BuiltinPrimitive.primitive) BuiltinPrimitive.format_primitive *) type primitive = (*% @format(x) x *) (*% @prefix formatWithType_ @format(x) x *) BuiltinPrimitive.primitive (*% @formatter(T.varInfo) T.format_varInfo *) (*% @prefix formatWithType_ @params(btvEnv) @formatter(T.varInfo) T.formatWithType_varInfo *) type varInfo = (*% @format(var) var *) (*% @prefix formatWithType_ @format(var) var()(btvEnv) *) T.varInfo (*% @formatter(T.exVarInfo) T.format_exVarInfo *) (*% @prefix formatWithType_ @params(btvEnv) @formatter(T.exVarInfo) T.formatWithType_exVarInfo *) type exVarInfo = (*% @format(x) x *) (*% @prefix formatWithType_ @format(x) x()(btvEnv) *) T.exVarInfo (*% @formatter(T.primInfo) T.format_primInfo *) (*% @prefix formatWithType_ @params(btvEnv) @formatter(T.primInfo) T.formatWithType_primInfo *) type primInfo = (*% @format(x) x *) (*% @prefix formatWithType_ @format(x) x()(btvEnv) *) T.primInfo (*% @formatter(T.oprimInfo) T.format_oprimInfo *) (*% @prefix formatWithType_ @formatter(T.oprimInfo) T.format_oprimInfo *) type oprimInfo = (*% @format(x) x *) (*% @prefix formatWithType_ @format(x) x *) T.oprimInfo (*% @params(btvEnv) @formatter(T.conInfo) T.format_conInfo *) (*% @prefix formatWithType_ @params(btvEnv) @formatter(T.conInfo) T.format_conInfo *) type conInfo = (*% @format(con) con()(btvEnv) *) (*% @prefix formatWithType_ @format(con) con()(btvEnv) *) T.conInfo (*% @formatter(T.exnInfo) T.format_exnInfo *) (*% @prefix formatWithType_ @formatter(T.exnInfo) T.format_exnInfo *) type exnInfo = (*% @format(x) x *) (*% @prefix formatWithType_ @format(x) x *) T.exnInfo (*% @formatter(T.exExnInfo) T.format_exExnInfo *) (*% @prefix formatWithType_ @formatter(T.exExnInfo) T.format_exExnInfo *) type exExnInfo = (*% @format(x) x *) (*% @prefix formatWithType_ @format(x) x *) T.exExnInfo in (*% @formatter(T.varInfo) T.format_varInfo *) (*% @prefix formatWithType_ @params(btvEnv) @formatter(T.varInfo) T.formatWithType_varInfo *) datatype idstatus = (*% @format(var) var *) (*% @prefix formatWithType_ @format(var) var()(btvEnv) *) VARID of T.varInfo | (*% @format(var * int) var *) (*% @prefix formatWithType_ @format(var * int) "(rf" var()(btvEnv) ")" *) RECFUNID of T.varInfo * int (*% *) (*% @prefix formatWithType_ *) datatype exnCon = (*% @format(exn) exn *) (*% @prefix formatWithType_ @format(exn) exn *) EXN of exnInfo | (*% @format(exn) exn *) (*% @prefix formatWithType_ @format(exn) exn *) EXEXN of exExnInfo (*% * @params(btvEnv) * @formatter(appList) TermFormat.formatAppList * @formatter(recordList) TermFormat.formatEnclosedList *) (*% @prefix formatWithType_ * @params(btvEnv) * @formatter(appList) TermFormat.formatAppList * @formatter(recordList) TermFormat.formatEnclosedList *) datatype ffiTy = (*% @format(attr * dom doms * ran rans * loc) R4{ doms:appList(dom()(btvEnv))("(",",",")") +1 "->" +d rans:appList(ran()(btvEnv))("(",",",")") } *) (*% @prefix formatWithType_ @format(attr * dom doms * ran rans * loc) R4{ doms:appList(dom()(btvEnv))("(",",",")") +1 "->" +d rans:appList(ran()(btvEnv))("(",",",")") } *) FFIFUNTY of Absyn.ffiAttributes option * ffiTy list * ffiTy list * loc | (*% @format(field fields * loc) fields:recordList(field)("{",",","}") @format:field(k * ty) { k ":" 2[ +1 ty()(btvEnv) ] } *) (*% @prefix formatWithType_ @format(field fields * loc) fields:recordList(field)("{",",","}") @format:field(k * ty) { k ":" 2[ +1 ty()(btvEnv) ] } *) FFIRECORDTY of (string * ffiTy) list * loc (* order has meaning *) | (*% @format(ty * loc) ty()(btvEnv) *) (*% @prefix formatWithType_ @format(ty * loc) ty()(btvEnv) *) FFIBASETY of ty * loc (*% @params(btvEnv) @formatter(enclosedList) SmlppgUtil.formatListWithEnclosure @formatter(prependedOpt) SmlppgUtil.formatPrependedOpt @formatter(enclosedListIfMoreThanOne) SmlppgUtil.formatListWithEnclosureIfMoreThanOne @formatter(formatListWithEnclosure) SmlppgUtil.formatListWithEnclosure @formatter(formatListWithEnclosureOne) SmlppgUtil.formatListWithEnclosureOne @formatter(declList) TermFormat.formatDeclList @formatter(genericLmapExp) SmlppgUtil.formatGenericLmapExp @formatter(genericLmapTy) SmlppgUtil.formatGenericLmapTy @formatter(extendBtvEnv) TermFormat.extendBtvEnv @formatter(tyBindInfo) T.format_tyBindInfo @formatter(format_pathdot) Path.format_pathWithDotend @formatter(funBindInfo) T.format_funBindInfo @formatter(sigBindInfo) T.format_sigBindInfo @formatter(format_bmap_int) T.format_bmap_int @formatter(optionalList) TermFormat.formatOptionalList *) (*% @prefix formatWithType_ @params(btvEnv) @formatter(enclosedList) SmlppgUtil.formatListWithEnclosure @formatter(prependedOpt) SmlppgUtil.formatPrependedOpt @formatter(enclosedListIfMoreThanOne) SmlppgUtil.formatListWithEnclosureIfMoreThanOne @formatter(formatListWithEnclosure) SmlppgUtil.formatListWithEnclosure @formatter(formatListWithEnclosureOne) SmlppgUtil.formatListWithEnclosureOne @formatter(declList) TermFormat.formatDeclList @formatter(genericLmapExp) SmlppgUtil.formatGenericLmapExp @formatter(genericLmapTy) SmlppgUtil.formatGenericLmapTy @formatter(extendBtvEnv) TermFormat.extendBtvEnv @formatter(tyBindInfo) T.format_tyBindInfo @formatter(format_pathdot) Path.format_pathWithDotend @formatter(funBindInfo) T.format_funBindInfo @formatter(sigBindInfo) T.format_sigBindInfo @formatter(format_bmap_int) T.format_bmap_int @formatter(optionalList) TermFormat.formatOptionalList *) datatype tpexp = (*% @format "?" *) (*% @prefix formatWithType_ @format "?" *) TPERROR | (*% @format({const, ty, loc}) const *) (*% @prefix formatWithType_ @format({const, ty, loc}) 1[const +1 ":" + ty()(btvEnv)] *) TPCONSTANT of {const:constant, ty:ty, loc:loc} | (*% @format({name, kind, ty,loc}) name *) (*% @prefix formatWithType_ @format({name, kind, ty,loc}) name *) TPGLOBALSYMBOL of {name:string,kind:Absyn.globalSymbolKind,ty:ty,loc:loc} | (*% @format(var * loc) var *) (*% @prefix formatWithType_ @format(var * loc) var()(btvEnv) *) TPVAR of varInfo * loc | (*% @format(var * loc) var *) (*% @prefix formatWithType_ @format(var * loc) var()(btvEnv) *) (* extnernal variable imported through _require *) TPEXVAR of exVarInfo * loc | (*% @format({var, arity, loc}) var *) (*% @prefix formatWithType_ @format({var, arity, loc}) var()(btvEnv) + "reffunvar" *) TPRECFUNVAR of {var:varInfo, arity:int, loc:loc} | (*% @format({argVarList:id:varInfo ids:enclosedListIfMoreThanOne, bodyTy:ty, bodyExp:exp, loc:loc}) "(" "fn" + {ids(id)(","+1,"{","}")} +d "=>" 1[ +1 exp()(btvEnv) ] ")" *) (*% @prefix formatWithType_ @format({argVarList:id:varInfo ids:enclosedListIfMoreThanOne, bodyTy:ty, bodyExp:exp, loc:loc}) "(" "fn" + {ids(id()(btvEnv))(","+1,"{","}")} +d "=>" 1[ +1 exp()(btvEnv) +1 ":" ty()(btvEnv) ] ")" *) (* ty is the type of tpexp *) TPFNM of {argVarList:varInfo list, bodyTy:ty, bodyExp:tpexp, loc:loc} | (*% @format({funExp:exp1, funTy:ty, argExpList:exp2 exps:enclosedListIfMoreThanOne, loc:loc}) "(" 1[ 1 1[ exp1()(btvEnv) ] +1 exps(exp2()(btvEnv))(",","{","}") ] 1 ")" *) (*% @prefix formatWithType_ @format({funExp:exp1, funTy:ty, argExpList:exp2 exps:enclosedListIfMoreThanOne, loc:loc}) "(" 1[ 1 1[ exp1()(btvEnv) ] +1 exps(exp2()(btvEnv))(",","{","}") ] 1 ")" *) (* ty is the type of the function *) TPAPPM of {funExp:tpexp, funTy:ty, argExpList:tpexp list, loc:loc} | (*% @format({con:con, instTyList:ty tys:formatListWithEnclosure, argExpOpt:exp opt, argTyOpt, loc:loc}) 1[ con()(btvEnv) +d opt( exp ) ] @format:exp(exp) 2[ +1 exp()(btvEnv) ] *) (*% @prefix formatWithType_ @format({con:con, instTyList:ty tys:formatListWithEnclosure, argExpOpt:exp opt, argTyOpt, loc:loc}) 1[ con()(btvEnv) +d opt( exp ) ] @format:exp(exp) 2[ +1 exp()(btvEnv) ] *) (* @format({con:con, instTyList:ty tys:formatListWithEnclosure, argExpOpt:exp opt, argTyOpt, loc:loc}) 1[ con()(btvEnv) +1 "{" tys(ty()(btvEnv))(",",,) "}" +d opt( exp ) ] @format:exp(exp) 2[ +1 exp()(btvEnv) ] *) TPDATACONSTRUCT of { con: conInfo, instTyList: ty list, argExpOpt: tpexp option, argTyOpt: ty option, loc: loc } | (*% @format({exn:exn, instTyList:ty tys:formatListWithEnclosure, argExpOpt:exp opt, argTyOpt, loc:loc}) R1{ exn !N0{tys(ty()(btvEnv))(",","{","}")} opt( exp ) } @format:exp(exp) 2[ +1 exp()(btvEnv) ] *) (*% @prefix formatWithType_ @format({exn:exn, instTyList:ty tys:formatListWithEnclosure, argExpOpt:exp opt, argTyOpt, loc:loc}) R1{ exn !N0{tys(ty()(btvEnv))(",","{","}")} opt( exp ) } @format:exp(exp) 2[ +1 exp()(btvEnv) ] *) TPEXNCONSTRUCT of { exn: exnCon, instTyList: ty list, argExpOpt: tpexp option, argTyOpt:ty option, loc: loc } | (*% @format({exnInfo, loc}) "EXNCONSTRUCTOR(" exnInfo ")" *) (*% @prefix formatWithType_ @format({exnInfo, loc}) "EXNCONSTRUCTOR(" exnInfo ")" *) TPEXN_CONSTRUCTOR of { exnInfo: exnInfo, loc: loc } | (*% @format({exExnInfo, loc}) "External EXNCONSTRUCTOR(" exExnInfo ")" *) (*% @prefix formatWithType_ @format({exExnInfo, loc}) "External EXNCONSTRUCTOR(" exExnInfo ")" *) TPEXEXN_CONSTRUCTOR of { exExnInfo: exExnInfo, loc: loc } | (*% @format({expList:exp exps:enclosedListIfMoreThanOne, expTyList:ty1 ty1s, ruleList:rule rules, ruleBodyTy:ty2, caseKind:caseKind, loc:loc}) caseKind 1[ +1 exps(exp()(btvEnv))(",", "{","}") ] +1 "of" 1[ +1 rules(rule)(~1[ +1 "|"+ ]) ] @format:rule({args:pat pats:enclosedListIfMoreThanOne, body:exp}) pats(pat()(btvEnv))(",","{","}") + "=>" +1 exp()(btvEnv) *) (*% @prefix formatWithType_ @format({expList:exp exps:enclosedListIfMoreThanOne, expTyList:ty1 ty1s, ruleList:rule rules, ruleBodyTy:ty2, caseKind:caseKind, loc:loc}) caseKind 1[ +1 exps(exp()(btvEnv))(",", "{","}") +1 ":" "{" ty1s(ty1()(btvEnv))(",") "}" ] +1 "of" 1[ +1 rules(rule)(~1[ +1 "|"+ ]) ] +1 ":" + ty2()(btvEnv) @format:rule({args:pat pats:enclosedListIfMoreThanOne, body:exp}) pats(pat()(btvEnv))(",","{","}") + "=>" +1 exp()(btvEnv) *) TPCASEM of { expList:tpexp list, expTyList:ty list, ruleList: {args:tppat list, body:tpexp} list, ruleBodyTy:ty, caseKind: caseKind, loc:loc } | (*% @format({primOp:prim, instTyList:ty tys:formatListWithEnclosure, argExp:exp, argTy:ty, loc:loc}) prim exp()(btvEnv) *) (*% @prefix formatWithType_ @format({primOp:prim, instTyList:ty tys:formatListWithEnclosure, argExp:exp, argTy:ty, loc:loc}) 1[ prim()(btvEnv) +d !N0{tys(ty()(btvEnv))(",","{","}")} +d exp ] @format:exp(exp) 2[ +1 exp()(btvEnv) ] *) TPPRIMAPPLY of { primOp: primInfo, instTyList: ty list, argExp: tpexp, argTy:ty, loc: loc } | (*% @format({oprimOp:oprim, instTyList:ty tys:formatListWithEnclosure, argExp:exp, argTy:ty, loc:loc}) oprim exp()(btvEnv) *) (*% @prefix formatWithType_ @format({oprimOp:oprim, instTyList:ty tys:formatListWithEnclosure, argExp:exp, argTy:ty, loc:loc}) R1{ oprim !N0{tys(ty()(btvEnv))(",","{","}")} exp } @format:exp(exp) 2[ +1 exp()(btvEnv) ] *) TPOPRIMAPPLY of { oprimOp: oprimInfo, instTyList: ty list, argExp: tpexp, argTy:ty, loc: loc } | (*% * @format({fields:records, recordTy:ty, loc:loc}) 1[ records()(btvEnv) ] *) (*% @prefix formatWithType_ * @format({fields:records, recordTy:ty, loc:loc}) 1[ records()(btvEnv) +1 ":" ty()(btvEnv) ] *) TPRECORD of {fields:fields, recordTy:ty, loc:loc} | (*% @format({label:selector, exp:exp, expTy:ty, resultTy, loc:loc}) L10{ "(""#"{selector} + {exp()(btvEnv)} ")" } *) (*% @prefix formatWithType_ @format({label:selector, exp:exp, expTy:ty, resultTy, loc:loc}) L10{ "(""#"{selector} + "("{exp()(btvEnv)2[ +1 ":" ty()(btvEnv) ]}")"")" 2[ +1 ":" resultTy()(btvEnv) ] } *) TPSELECT of {label:string, exp:tpexp, expTy:ty, resultTy:ty, loc:loc} | (*% @format({label:label, recordExp:exp1, recordTy:ty1, elementExp:exp2, elementTy:y2, loc:loc}) N0{ "MODIFY(" exp1()(btvEnv) "," +1 label "," +1 exp2()(btvEnv) ")" } *) (*% @prefix formatWithType_ @format({label:label, recordExp:exp1, recordTy:ty1, elementExp:exp2, elementTy:y2, loc:loc}) N0{ "MODIFY(" exp1()(btvEnv) "," +1 label "," +1 exp2()(btvEnv) ")" 2[ +1 ":" ty1()(btvEnv) ] } *) TPMODIFY of { label: string, recordExp: tpexp, recordTy: ty, elementExp: tpexp, elementTy: ty, loc: loc } | (*% @format({expList:exp exps, expTyList:ty tys:formatListWithEnclosure, loc:loc}) exps(exp()(btvEnv))(";" +1) *) (*% @prefix formatWithType_ @format({expList:exp exps, expTyList:ty tys:formatListWithEnclosure, loc:loc}) !N0{ "(" 2[ 1 exps(exp()(btvEnv))(";" +2) ] 1 ")" 2[ +1 ":" tys(ty()(btvEnv))(",","(",")") ] } *) TPSEQ of {expList:tpexp list, expTyList:ty list, loc:loc} | (*% * @format({binds:bind binds, bodyExp:exp, loc:loc}) 1[ "bind" 2[ +1 binds(bind)( +1) ] +1 "in" 2[ +2 exp()(btvEnv) ] +1 "end" ] @format:bind(id:varInfo * exp) id +d "=" 2[ +2 {exp()(btvEnv)} ] *) (*% @prefix formatWithType_ * @format({binds:bind binds, bodyExp:exp, loc:loc}) * !N0{ * {"bind" 2[ +1 binds(bind)( +1) ]} +1 * {"in" 2[ +2 exp()(btvEnv) ] +2 "end"} * } * @format:bind(id:varInfo * exp) * { id()(btvEnv) +d "=" 2[ +2 {exp()(btvEnv)} ] } *) TPMONOLET of {binds:(varInfo * tpexp) list, bodyExp:tpexp, loc:loc} | (*% * @format({decls:dec decs, body:exp exps, tys:ty tys:formatListWithEnclosure, loc:loc}) "let" 1[ +1 decs(dec()(btvEnv))( +1) ] +1 "in" 1[ +1 exps(exp()(btvEnv))( +1 ) ] +1 "end" *) (*% @prefix formatWithType_ * @format({decls:dec decs, body:exp exps, tys:ty tys:formatListWithEnclosure, loc:loc}) "let" 1[ +1 decs(dec()(btvEnv))( +1) ] +1 "in" 1[ +1 exps(exp()(btvEnv))( +3 ) +d ":" + tys(ty()(btvEnv))(",","{","}") ] +1 "end" *) TPLET of {decls:tpdecl list, body:tpexp list, tys:ty list, loc:loc} | (*% * @format({exp, ty, loc}) * N0{ "raise" +d {exp()(btvEnv)} } *) (*% @prefix formatWithType_ * @format({exp, ty, loc}) * N0{ "raise" +d {exp()(btvEnv)} 2[ +1 ":" ty()(btvEnv) ] } *) TPRAISE of {exp:tpexp, ty:ty, loc:loc} | (*% @format({exp:exp1, exnVar:id:varInfo, handler:exp2, loc:loc}) "handle" 1[ +1 exp1()(btvEnv) ] +1 "with" 1[ +1 1[ "fn" + id + "=>" +1 exp2()(btvEnv) ] ] *) (*% @prefix formatWithType_ @format({exp:exp1, exnVar:id:varInfo, handler:exp2, loc:loc}) "handle" 1[ +1 exp1()(btvEnv) ] +1 "with" 1[ +1 1[ "fn" + id()(btvEnv) + "=>" +1 exp2()(btvEnv) ] ] *) (* * handle (exp1, x, exp2) exp1 the expression to be evaluated normally x variable to received exception value exp2 the handler body using x *) TPHANDLE of {exp:tpexp, exnVar:varInfo, handler:tpexp, loc:loc} | (*% @format({btvEnv:btv, argVarList:var:varInfo vars, bodyTy:ty, bodyExp:exp, loc:loc}) "[" 1[ 1 btv()(btvEnv) "." 1[ +1 "fn" + "{" {vars(var)(",")} "}" +d "=>" 1[ +1 1[exp()(btv:extendBtvEnv()(btvEnv)) ] ] ] ] 1 "]" *) (*% @prefix formatWithType_ @format({btvEnv:btv, argVarList:var:varInfo vars, bodyTy:ty, bodyExp:exp, loc:loc}) "[" 1[ 1 btv()(btvEnv) "." 1[ +1 "fn" + "{" {vars(var()(btv:extendBtvEnv()(btvEnv)))(",")} "}" +d "=>" 1[ +1 1[exp()(btv:extendBtvEnv()(btvEnv)) +1 ":" ty()(btv:extendBtvEnv()(btvEnv)) ] ] ] ] 1 "]" *) (* \forall t.\fn x => e ty is the type of the function without type abstraction *) TPPOLYFNM of { btvEnv : btvEnv, argVarList : varInfo list, bodyTy: ty, bodyExp : tpexp, loc : loc } | (*% @format({btvEnv:btv, expTyWithoutTAbs:ty, exp:exp, loc:loc}) "[" 1[ 1 btv()(btvEnv) "." +2 1[ exp()(btv:extendBtvEnv()(btvEnv)) ] ] 1 "]" *) (*% @prefix formatWithType_ @format({btvEnv:btv, expTyWithoutTAbs:ty, exp:exp, loc:loc}) "[" 1[ 1 btv()(btvEnv) "." +2 1[ exp()(btv:extendBtvEnv()(btvEnv)) +1 ":" ty()(btv:extendBtvEnv()(btvEnv)) ] ] 1 "]" *) (* \forall t.e; ty is the type of tpexp without type abstraction *) TPPOLY of {btvEnv: btvEnv, expTyWithoutTAbs: ty, exp : tpexp, loc : loc} | (*% @format({exp:exp, expTy:ty1, instTyList:ty2 tys, loc:loc}) exp()(btvEnv) *) (*% @prefix formatWithType_ @format({exp:exp, expTy:ty1, instTyList:ty2 tys, loc:loc}) 1[ exp()(btvEnv) 1[ +1 ":" ty1()(btvEnv) +1 "{" 1[tys(ty2()(btvEnv))("," +d)] "}" ] ] *) (* TPTAPP(ex,ty1,tyl) : ty1 is the polytype, tyl are type args *) TPTAPP of {exp:tpexp, expTy:ty, instTyList:ty list, loc:loc} | (*% @format ({ptrExp, ffiTy, stubTy, loc}) L10{ "FFI(" ptrExp()(btvEnv) ")" } *) (*% @prefix formatWithType_ @format ({ptrExp, ffiTy, stubTy, loc}) L10{ "FFI(" ptrExp()(btvEnv) ")" } *) TPFFIIMPORT of { ptrExp : tpexp, ffiTy : ffiTy, stubTy : ty, loc : loc } | (*% @format(exp * ty * loc) "cast(" exp()(btvEnv) ")" *) (*% @prefix formatWithType_ @format(exp * ty * loc) "cast(" exp()(btvEnv) + "to" + ty()(btvEnv) ")" *) (* cast e to some type ty; used to coerce con type to a record type *) TPCAST of tpexp * ty * loc | (*% @format(ty * loc) "_sizeof(" ty()(btvEnv) ")" *) (*% @prefix formatWithType_ @format(ty * loc) "_sizeof(" ty()(btvEnv) ")" *) TPSIZEOF of ty * loc | (*% @format({server, schema:schema schemas:genericLmapTy, resultTy, loc}) N0{ "_sqlserver" + server + ":" + "{" schemas(schema)(":", ",", "*") "}" } @format:schema(ty tys:genericLmapTy) "{" tys(ty()(btvEnv))(":", ",", "*") "}" *) (*% @prefix formatWithType_ @format({server, schema:schema schemas:genericLmapTy, resultTy, loc}) N0{ "_sqlserver" + server + ":" + "{" schemas(schema)(":", ",", "*") "}" } @format:schema(ty tys:genericLmapTy) "{" tys(ty()(btvEnv))(":", ",", "*") "}" *) TPSQLSERVER of {server: string, schema: ty LabelEnv.map LabelEnv.map, resultTy: ty, loc: loc} and tpdecl = (*% @format(bind binds * loc) 1[ "val" + binds(bind)(~1[ +1 "and"] +) ] @format:bind(var * exp) var +d "=" +1 exp()(btvEnv) *) (*% @prefix formatWithType_ @format(bind binds * loc) 1[ "val" + binds(bind)(~1[ +1 "and"] +) ] @format:bind(var * exp) var()(btvEnv) +d "=" +1 exp()(btvEnv) *) TPVAL of (varInfo * tpexp) list * loc | (*% @format(dec binds * loc) 1[ "fun" + binds(dec)(~1[ +1 "and"] +) ] @format:dec({funVarInfo,argTyList:ty tys,bodyTy,ruleList:rules}) 1[funVarInfo + rules] @format:rules(rule rules) rules(rule)(~1[ +1"|"] +) @format:rule({args:pat pats, body:exp}) pats(pat()(btvEnv))(+d) +d "=" +1 exp()(btvEnv) *) (*% @prefix formatWithType_ @format(dec binds * loc) 1[ "fun" + binds(dec)(~1[ +1 "and"] +) ] @format:dec({funVarInfo,argTyList:ty tys,bodyTy,ruleList:rules}) 1[funVarInfo()(btvEnv) + rules] @format:rules(rule rules) rules(rule)(~1[ +1"|"] +) @format:rule({args:pat pats, body:exp}) pats(pat()(btvEnv))(+d) +d "=" +1 exp()(btvEnv) *) TPFUNDECL of { funVarInfo: varInfo, argTyList: ty list, bodyTy: ty, ruleList : {args:tppat list, body:tpexp} list } list * loc | (*% * @format(btv * dec binds * loc) 1[ "fun" + "(" btv()(btvEnv) ")" +d binds(dec)(~1[ +1 "and"] +) ] @format:dec({funVarInfo, argTyList, bodyTy, ruleList:rule rules}) 2[ +1 funVarInfo +1 rules(rule)(~2[+1"|"]) + funVarInfo ] @format:rule({args:pat pats, body:exp}) 1[ pats(pat()(btv:extendBtvEnv()(btvEnv)))(+d) + "=" +1 exp()(btv:extendBtvEnv()(btvEnv)) ] *) (*% @prefix formatWithType_ * @format(btv * dec binds * loc) 1[ "fun" + "(" btv()(btvEnv) ")" +d binds(dec)(~1[ +1 "and"] +) ] @format:dec({funVarInfo, argTyList, bodyTy, ruleList:rule rules}) 2[ +1 funVarInfo()(btv:extendBtvEnv()(btvEnv)) +1 rules(rule)(~2[+1"|"] + funVarInfo()(btv:extendBtvEnv()(btvEnv)) +1) ] @format:rule({args:pat pats, body:exp}) 1[ pats(pat()(btv:extendBtvEnv()(btvEnv)))(+d) + "=" +1 exp()(btv:extendBtvEnv()(btvEnv)) ] *) TPPOLYFUNDECL of btvEnv * {funVarInfo: varInfo, argTyList: ty list, bodyTy: ty, ruleList : {args:tppat list, body:tpexp} list } list * loc | (*% @format(bind binds * loc) 1[ "val rec" +d binds(bind)(~1[ +1 "and"] +) ] @format:bind({var, expTy:ty1, exp:exp}) 1[ var +d "=" +1 exp()(btvEnv) ] *) (*% @prefix formatWithType_ @format(bind binds * loc) 1[ "val rec" +d binds(bind)(~1[ +1 "and"] +) ] @format:bind({var, expTy:ty1, exp:exp}) 1[ var()(btvEnv) +d "=" +1 exp()(btvEnv) ] *) TPVALREC of {var:varInfo, expTy:ty, exp:tpexp } list * loc | (*% @format(btv * bind binds * loc) "valpolyrec[" 2[ 1 btv()(btvEnv) "." +2 "val rec" +d {binds(bind)(~4[ +1 "and"] +)} ] 1 "]" @format:bind({var, expTy:ty1, exp:exp}) var +d "=" +2 2[ exp()(btv:extendBtvEnv()(btvEnv)) ] *) (*% @prefix formatWithType_ @format(btv * bind binds * loc) "valpolyrec[" 2[ 1 btv()(btvEnv) "." +2 "val rec" +d {binds(bind)(~4[ +1 "and"] +)} ] 1 "]" @format:bind({var, expTy:ty1, exp:exp}) var()(btv:extendBtvEnv()(btvEnv)) +d "=" +2 2[ exp()(btv:extendBtvEnv()(btvEnv)) ] *) TPVALPOLYREC of btvEnv * {var:varInfo, expTy:ty, exp:tpexp} list * loc | (*% @format(bind binds * loc) binds:optionalList(bind)("exception" +d, +1 "and",) @format:bind({exnInfo, loc}) exnInfo *) (*% @prefix formatWithType_ @format(bind binds * loc) binds:optionalList(bind)("exception" +d, +1 "and",) @format:bind({exnInfo, loc}) exnInfo *) TPEXD of {exnInfo: exnInfo, loc: loc} list * loc | (*% @format({exnInfo, varInfo} * loc) "exception tag" +d exnInfo +d "=" +d varInfo *) (*% @prefix formatWithType_ @format({exnInfo, varInfo} * loc) "exception tag" +d exnInfo +d "=" +d varInfo()(btvEnv) *) TPEXNTAGD of {exnInfo: exnInfo, varInfo:varInfo} * loc | (*% @format({var, arity, loc}) "export" +d "rec fun var" + var *) (*% @prefix formatWithType_ @format({var, arity, loc}) "export" +d "rec fun var" + var()(btvEnv) *) (* This is changed to TPEXPORT in uncurry optimization *) TPEXPORTRECFUNVAR of {var:varInfo, arity:int, loc:loc} | (*% @format({internalVar, externalVar,loc}) "export" + internalVar +d "as" + externalVar *) (*% @prefix formatWithType_ @format({internalVar, externalVar,loc}) "export" + internalVar()(btvEnv) +d "as" + externalVar()(btvEnv) *) (* This is changed to TPEXPORT in uncurry optimization *) TPEXPORTVAR of {internalVar:varInfo, externalVar:exVarInfo, loc:loc} | (*% @format(exn * loc) "export" +d "exception" + exn *) (*% @prefix formatWithType_ @format(exn * loc) "export" +d "exception" + exn *) (* export exception declaration specified in _interface *) TPEXPORTEXN of exnInfo * loc | (*% @format({path, ty} * loc) "extern" + "var" + path *) (*% @prefix formatWithType_ @format({path, ty} * loc) 2["extern" + "var" + path +1 ":" + ty()(btvEnv)] *) (* import variable declaration specified in _interface *) TPEXTERNVAR of {path:path, ty:ty} * loc | (*% @format({path, ty:ty} * loc) "extern" + "exception" + path *) (*% @prefix formatWithType_ @format({path, ty:ty} * loc) "extern" + "exception" + path + ":" + ty()(btvEnv) *) (* import exception declaration specified in _interface *) TPEXTERNEXN of {path:path, ty:ty} * loc and tppat = (*% @format(v * loc) "?" *) (*% @prefix formatWithType_ @format(v * loc) "?" *) TPPATERROR of ty * loc | (*% @format(v) "_" *) (*% @prefix formatWithType_ @format(v) "_" *) TPPATWILD of ty * loc | (*% @format(var * loc) var *) (*% @prefix formatWithType_ @format(var * loc) var()(btvEnv) *) TPPATVAR of varInfo * loc | (*% @format(const * ty * loc) const *) (*% @prefix formatWithType_ @format(const * ty * loc) const *) TPPATCONSTANT of constant * ty * loc | (*% * @format({conPat:con, instTyList:ty1 tys:formatListWithEnclosure, argPatOpt:pat opt, patTy:ty2, loc:loc}) 1[ d con()(btvEnv) + opt(pat()(btvEnv)) ] *) (*% @prefix formatWithType_ * @format({conPat:con, instTyList:ty1 tys:formatListWithEnclosure, argPatOpt:pat opt, patTy:ty2, loc:loc}) 1[ d con()(btvEnv) + opt(pat()(btvEnv)) ] *) (* * @format({conPat:con, instTyList:ty1 tys:formatListWithEnclosure, argPatOpt:pat opt, patTy:ty2, loc:loc}) 1[ d con()(btvEnv) tys(ty1()(btvEnv))(",","{","}") + opt(pat()(btvEnv)) +1 ":" ty2()(btvEnv) ] *) TPPATDATACONSTRUCT of { conPat: conInfo, instTyList: ty list, argPatOpt: tppat option, patTy: ty, loc: loc } | (*% * @format({exnPat:con, instTyList:ty1 tys:formatListWithEnclosure, argPatOpt:pat opt, patTy:ty2, loc:loc}) 1[ d con tys(ty1()(btvEnv))(",","{","}") + opt(pat()(btvEnv)) ] *) (*% @prefix formatWithType_ * @format({exnPat:con, instTyList:ty1 tys:formatListWithEnclosure, argPatOpt:pat opt, patTy:ty2, loc:loc}) 1[ d con tys(ty1()(btvEnv))(",","{","}") + opt(pat()(btvEnv)) +1 ":" ty2()(btvEnv) ] *) TPPATEXNCONSTRUCT of { exnPat:exnCon, instTyList:ty list, argPatOpt:tppat option, patTy:ty, loc:loc } | (*% @format({fields:record, recordTy:ty, loc:loc}) 1[ record()(btvEnv) ] *) (*% @prefix formatWithType_ @format({fields:record, recordTy:ty, loc:loc}) 1[ record()(btvEnv) ] *) (* @format({fields:record, recordTy:ty, loc:loc}) 1[ record()(btvEnv) +1 ":" ty()(btvEnv) ] *) TPPATRECORD of {fields:patfields, recordTy:ty, loc:loc} | (*% @format({varPat:pat1, asPat:pat2, loc:loc}) pat1()(btvEnv) + "as" + pat2()(btvEnv) *) (*% @prefix formatWithType_ @format({varPat:pat1, asPat:pat2, loc:loc}) pat1()(btvEnv) + "as" + pat2()(btvEnv) *) TPPATLAYERED of {varPat:tppat, asPat:tppat, loc:loc} withtype fields = (*% * @format(exp smap:genericLmapExp) smap(exp()(btvEnv))("=","," +1) *) (*% @prefix formatWithType_ * @format(exp smap:genericLmapExp) smap(exp()(btvEnv))("=","," +1) *) tpexp LabelEnv.map and patfields = (*% * @format(pat smap:genericLmapExp) 1[ smap(pat()(btvEnv))("=","," +1) ] *) (*% @prefix formatWithType_ * @format(pat smap:genericLmapExp) 1[ smap(pat()(btvEnv))("=","," +1) ] *) tppat LabelEnv.map end end smlsharp-1.2.0/src/compiler/typedcalc/main/TypedCalc.ppg.smi0000644 000000000000000000002141212050661606024147 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../control/main/Loc.ppg.smi" _require "../../builtin2/main/BuiltinPrimitive.ppg.smi" _require "../../util/main/SmlppgUtil.ppg.smi" _require "../../util/main/TermFormat.smi" _require "../../types/main/Types.ppg.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../patterncalc/main/PatternCalc.ppg.smi" structure TypedCalc = struct datatype idstatus = RECFUNID of Types.varInfo * int | VARID of Types.varInfo val format_idstatus : idstatus -> SMLFormat.FormatExpression.expression list val formatWithType_idstatus : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> idstatus -> SMLFormat.FormatExpression.expression list datatype exnCon = EXEXN of Types.exExnInfo | EXN of Types.exnInfo val format_exnCon : exnCon -> SMLFormat.FormatExpression.expression list val formatWithType_exnCon : exnCon -> SMLFormat.FormatExpression.expression list datatype ffiTy = FFIBASETY of Types.ty * Loc.loc | FFIFUNTY of Absyn.ffiAttributes option * ffiTy list * ffiTy list * Loc.loc | FFIRECORDTY of (string * ffiTy) list * Loc.loc val format_ffiTy : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> ffiTy TermFormat.formatter val formatWithType_ffiTy : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> ffiTy TermFormat.formatter datatype tpexp = TPAPPM of {argExpList:tpexp list, funExp:tpexp, funTy:Types.ty, loc:Loc.loc} | TPCASEM of {caseKind:PatternCalc.caseKind, expList:tpexp list, expTyList:Types.ty list, loc:Loc.loc, ruleBodyTy:Types.ty, ruleList:{args:tppat list, body:tpexp} list} | TPCAST of tpexp * Types.ty * Loc.loc | TPCONSTANT of {const:Absyn.constant, loc:Loc.loc, ty:Types.ty} | TPDATACONSTRUCT of {argExpOpt:tpexp option, con:Types.conInfo, argTyOpt:Types.ty option, instTyList:Types.ty list, loc:Loc.loc} | TPERROR | TPEXNCONSTRUCT of {argExpOpt:tpexp option, exn:exnCon, argTyOpt:Types.ty option, instTyList:Types.ty list, loc:Loc.loc} | TPEXN_CONSTRUCTOR of {exnInfo:Types.exnInfo, loc:Loc.loc} | TPEXEXN_CONSTRUCTOR of {exExnInfo:Types.exExnInfo, loc:Loc.loc} | TPEXVAR of Types.exVarInfo * Loc.loc | TPFFIIMPORT of {ffiTy:ffiTy, loc:Loc.loc, ptrExp:tpexp, stubTy:Types.ty} | TPFNM of {argVarList:Types.varInfo list, bodyExp:tpexp, bodyTy:Types.ty, loc:Loc.loc} | TPGLOBALSYMBOL of {kind:Absyn.globalSymbolKind, loc:Loc.loc, name:string, ty:Types.ty} | TPHANDLE of {exnVar:Types.varInfo, exp:tpexp, handler:tpexp, loc:Loc.loc} | TPLET of {body:tpexp list, decls:tpdecl list, loc:Loc.loc, tys:Types.ty list} | TPMODIFY of {elementExp:tpexp, elementTy:Types.ty, label:string, loc:Loc.loc, recordExp:tpexp, recordTy:Types.ty} | TPMONOLET of {binds:(Types.varInfo * tpexp) list, bodyExp:tpexp, loc:Loc.loc} | TPOPRIMAPPLY of {argExp:tpexp, instTyList:Types.ty list, loc:Loc.loc, argTy:Types.ty, oprimOp:Types.oprimInfo} | TPPOLY of {btvEnv:Types.btvEnv, exp:tpexp, expTyWithoutTAbs:Types.ty, loc:Loc.loc} | TPPOLYFNM of {argVarList:Types.varInfo list, bodyExp:tpexp, bodyTy:Types.ty, btvEnv:Types.btvEnv, loc:Loc.loc} | TPPRIMAPPLY of {argExp:tpexp, instTyList:Types.ty list, loc:Loc.loc, argTy:Types.ty, primOp:Types.primInfo} | TPRAISE of {exp:tpexp, loc:Loc.loc, ty:Types.ty} | TPRECFUNVAR of {arity:int, loc:Loc.loc, var:Types.varInfo} | TPRECORD of {fields:tpexp LabelEnv.map, loc:Loc.loc, recordTy:Types.ty} | TPSELECT of {exp:tpexp, expTy:Types.ty, label:string, loc:Loc.loc, resultTy:Types.ty} | TPSEQ of {expList:tpexp list, expTyList:Types.ty list, loc:Loc.loc} | TPSIZEOF of Types.ty * Loc.loc | TPSQLSERVER of {loc:Loc.loc, resultTy:Types.ty, schema:Types.ty LabelEnv.map LabelEnv.map, server:string} | TPTAPP of {exp:tpexp, expTy:Types.ty, instTyList:Types.ty list, loc:Loc.loc} | TPVAR of Types.varInfo * Loc.loc and tpdecl = TPEXD of {exnInfo:Types.exnInfo, loc:Loc.loc} list * Loc.loc | TPEXNTAGD of {exnInfo:Types.exnInfo, varInfo:Types.varInfo} * Loc.loc | TPEXPORTEXN of Types.exnInfo * Loc.loc | TPEXPORTRECFUNVAR of {var:Types.varInfo, arity:int, loc:Loc.loc} | TPEXPORTVAR of {internalVar:Types.varInfo, externalVar:Types.exVarInfo, loc:Loc.loc} | TPEXTERNEXN of {path:IDCalc.path, ty:Types.ty} * Loc.loc | TPEXTERNVAR of {path:IDCalc.path, ty:Types.ty} * Loc.loc | TPFUNDECL of {argTyList:Types.ty list, bodyTy:Types.ty, funVarInfo:Types.varInfo, ruleList:{args:tppat list, body:tpexp} list} list * Loc.loc | TPPOLYFUNDECL of Types.btvEnv * {argTyList:Types.ty list, bodyTy:Types.ty, funVarInfo:Types.varInfo, ruleList:{args:tppat list, body:tpexp} list} list * Loc.loc | TPVAL of (Types.varInfo * tpexp) list * Loc.loc | TPVALPOLYREC of Types.btvEnv * {exp:tpexp, expTy:Types.ty, var:Types.varInfo} list * Loc.loc | TPVALREC of {exp:tpexp, expTy:Types.ty, var:Types.varInfo} list * Loc.loc and tppat = TPPATCONSTANT of Absyn.constant * Types.ty * Loc.loc | TPPATDATACONSTRUCT of {argPatOpt:tppat option, conPat:Types.conInfo, instTyList:Types.ty list, loc:Loc.loc, patTy:Types.ty} | TPPATERROR of Types.ty * Loc.loc | TPPATEXNCONSTRUCT of {argPatOpt:tppat option, exnPat:exnCon, instTyList:Types.ty list, loc:Loc.loc, patTy:Types.ty} | TPPATLAYERED of {asPat:tppat, loc:Loc.loc, varPat:tppat} | TPPATRECORD of {fields:tppat LabelEnv.map, loc:Loc.loc, recordTy:Types.ty} | TPPATVAR of Types.varInfo * Loc.loc | TPPATWILD of Types.ty * Loc.loc val format_tpexp : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> tpexp -> SMLFormat.FormatExpression.expression list val format_tpdecl : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> tpdecl SMLFormat.BasicFormatters.formatter val format_tppat : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> tppat -> SMLFormat.FormatExpression.expression list val format_fields : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> tpexp LabelEnv.map -> SMLFormat.FormatExpression.expression list val format_patfields : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> tppat LabelEnv.map -> SMLFormat.FormatExpression.expression list val formatWithType_tpexp : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> tpexp -> SMLFormat.FormatExpression.expression list val formatWithType_tpdecl : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> tpdecl SMLFormat.BasicFormatters.formatter val formatWithType_tppat : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> tppat -> SMLFormat.FormatExpression.expression list val formatWithType_fields : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> tpexp LabelEnv.map -> SMLFormat.FormatExpression.expression list val formatWithType_patfields : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> tppat LabelEnv.map -> SMLFormat.FormatExpression.expression list end smlsharp-1.2.0/src/compiler/typedcalc/main/TypedCalcUtils.smi0000644 000000000000000000000171612050661606024410 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../util/main/gensym.smi" _require "../../types/main/Types.ppg.smi" _require "../../types/main/TypesUtils.smi" _require "../../builtin2/main/BuiltinTypes.smi" _require "TypedCalc.ppg.smi" structure TypedCalcUtils = struct val newTCVarName : unit -> string val newTCVarInfo : Types.ty -> Types.varInfo val newTCVarInfoWithPath : Types.path * Types.ty -> Types.varInfo val getLocOfExp : TypedCalc.tpexp -> Loc.loc val freshInst : Types.ty * TypedCalc.tpexp -> Types.ty * TypedCalc.tpexp val freshToplevelInst : Types.ty * TypedCalc.tpexp -> Types.ty * TypedCalc.tpexp val expansive : TypedCalc.tpexp -> bool val isAtom : TypedCalc.tpexp -> bool end smlsharp-1.2.0/src/compiler/typedcalc/main/TypedCalcUtils.sml0000755 000000000000000000003450112050661606024414 0ustar00rootroot0000000 0000000 (** * Utility functions to manipulate the typed pattern calculus. * @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori * @version $Id: TypedCalcUtils.sml,v 1.20.6.5 2010/01/29 06:41:34 hiro-en Exp $ *) structure TypedCalcUtils = struct local structure T = Types structure TC = TypedCalc structure TU = TypesUtils structure BT = BuiltinTypes fun bug s = Control.Bug ("TypedCalcUtil: " ^ s) val tempVarNamePrefix = "$T_" in fun newTCVarName () = tempVarNamePrefix ^ Gensym.gensym() fun newTCVarInfo (ty:T.ty) = let val newVarId = VarID.generate() in {path=[newTCVarName()], id=newVarId, ty = ty} end fun newTCVarInfoWithPath (path:T.path,ty:T.ty) = let val newVarId = VarID.generate() in {path=path, id=newVarId, ty = ty} end fun getLocOfExp exp = case exp of TC.TPERROR => Loc.noloc | TC.TPCONSTANT {const, ty, loc} => loc | TC.TPGLOBALSYMBOL {name, kind,ty,loc} => loc | TC.TPVAR (_, loc) => loc | TC.TPEXVAR (exVarInfo, loc) => loc | TC.TPRECFUNVAR {loc,...} => loc | TC.TPFNM {loc,...} => loc | TC.TPAPPM {loc,...} => loc | TC.TPDATACONSTRUCT {loc,...} => loc | TC.TPEXNCONSTRUCT {loc,...} => loc | TC.TPEXN_CONSTRUCTOR {loc,...} => loc | TC.TPEXEXN_CONSTRUCTOR {loc,...} => loc | TC.TPCASEM {loc,...} => loc | TC.TPPRIMAPPLY {loc,...} => loc | TC.TPOPRIMAPPLY {loc,...} => loc | TC.TPRECORD {loc,...} => loc | TC.TPSELECT {loc,...} => loc | TC.TPMODIFY {loc,...} => loc | TC.TPSEQ {loc,...} => loc | TC.TPMONOLET {loc,...} => loc | TC.TPLET {decls, body, tys, loc} => loc | TC.TPRAISE {exp, ty, loc} => loc | TC.TPHANDLE {loc,...} => loc | TC.TPPOLYFNM {loc,...} => loc | TC.TPPOLY {loc,...} => loc | TC.TPTAPP {loc,...} => loc | TC.TPCAST (toexo, ty, loc) => loc | TC.TPFFIIMPORT {loc,...} => loc | TC.TPSIZEOF (_, loc) => loc | TC.TPSQLSERVER {loc,...} => loc fun isAtom tpexp = case tpexp of TC.TPCONSTANT {const, loc, ty} => true | TC.TPVAR (var, loc) => true | TC.TPEXVAR (exVarInfo, loc) => true | TC.TPRECFUNVAR {arity, loc, var} => true | TC.TPGLOBALSYMBOL {kind, loc, name, ty} => true | _ => false (** * Make a fresh instance of a polytype and a term of that type. *) fun freshInst (ty,exp) = if TU.monoTy ty then (ty,exp) else let val expLoc = getLocOfExp exp in case ty of T.POLYty{boundtvars,body,...} => let val subst = TU.freshSubst boundtvars val bty = TU.substBTvar subst body val newExp = case exp of TC.TPDATACONSTRUCT {con,instTyList=nil,argTyOpt, argExpOpt=NONE,loc} => TC.TPDATACONSTRUCT {con=con, instTyList=BoundTypeVarID.Map.listItems subst, argTyOpt =NONE, argExpOpt=NONE, loc=loc} | _ => TC.TPTAPP {exp=exp, expTy=ty, instTyList=BoundTypeVarID.Map.listItems subst, loc=expLoc} in freshInst (bty,newExp) end | T.FUNMty (tyList, bodyTy) => (* OLD: (fn f:ty => fn x :ty1 => inst(f x)) exp NEW: fn {x1:ty1,...,xn:tyn} => inst(exp {x1,...,xn}) *) let val argVarList = map newTCVarInfo tyList val argExpList = map (fn x => TC.TPVAR (x,expLoc)) argVarList val (instBodyTy, instBody) = freshInst (bodyTy, TC.TPAPPM{funExp=exp, funTy=ty, argExpList=argExpList, loc=expLoc}) in ( (T.FUNMty(tyList, instBodyTy), TC.TPFNM {argVarList = argVarList, bodyTy = instBodyTy, bodyExp = instBody, loc = expLoc}) ) end | T.RECORDty tyFields => (* OLD: (fn r => {...,l=inst(x.l,ty) ...}) ex NEW: let val xex = ex in {...,l=inst(x.l,ty) ...} *) (case exp of TC.TPRECORD {fields, recordTy=_, loc=loc} => let val (bindsRev, newTyFields, newFields) = LabelEnv.foldli (fn (l, fieldTy, (bindsRev, newTyFields,newFields)) => case LabelEnv.find(fields,l) of SOME field => let val (ty',exp') = freshInst (fieldTy, field) val newTyFields = LabelEnv.insert(newTyFields, l, ty') val (bindsRev, newFields) = if isAtom exp' then (bindsRev, LabelEnv.insert(newFields, l, exp')) else let val fieldVar = newTCVarInfo ty' val fieldExp = TC.TPVAR (fieldVar, loc) val newFields = LabelEnv.insert(newFields, l, fieldExp) val bindsRev = (fieldVar, exp') :: bindsRev in (bindsRev, newFields) end in (bindsRev, newTyFields, newFields) end | _ => raise bug "freshInst" ) (nil, LabelEnv.empty, LabelEnv.empty) tyFields val binds = List.rev bindsRev val recordExp = TC.TPRECORD{fields=newFields, recordTy=T.RECORDty newTyFields, loc=loc} val returnExp = case binds of nil => recordExp | _ => TC.TPMONOLET {binds = binds, bodyExp = recordExp, loc=loc} in (T.RECORDty newTyFields, returnExp) end | _ => if isAtom exp then let val (bindsRev, flty, flexp) = LabelEnv.foldli (fn (label, fieldTy, (bindsRev, flty,flexp)) => let val (fieldTy,instExp) = freshInst (fieldTy, TC.TPSELECT{label=label, exp=exp, expTy=ty, resultTy=fieldTy, loc=expLoc}) val fieldVar = newTCVarInfo fieldTy val fieldExp = TC.TPVAR(fieldVar, expLoc) in ((fieldVar, instExp)::bindsRev, LabelEnv.insert(flty,label,fieldTy), LabelEnv.insert(flexp,label,fieldExp) ) end) (nil,LabelEnv.empty,LabelEnv.empty) tyFields val binds = List.rev bindsRev val recordExp = TC.TPRECORD{fields=flexp, recordTy=T.RECORDty flty, loc=expLoc} val returnExp = case binds of nil => recordExp | _ => TC.TPMONOLET {binds = binds, bodyExp = recordExp, loc=expLoc} in (T.RECORDty flty, returnExp) end else let val var = newTCVarInfo ty val varExp = TC.TPVAR (var, expLoc) val (bindsRev, flty,flexp) = LabelEnv.foldli (fn (label,fieldTy,(bindsRev, flty,flexp)) => let val (fieldTy,instExp) = freshInst (fieldTy, TC.TPSELECT {label=label, exp=varExp, expTy=ty, resultTy=fieldTy, loc=expLoc}) val fieldVar = newTCVarInfo fieldTy val fieldExp = TC.TPVAR(fieldVar, expLoc) in ((fieldVar, instExp)::bindsRev, LabelEnv.insert(flty,label,fieldTy), LabelEnv.insert(flexp,label,fieldExp) ) end ) ([(var, exp)], LabelEnv.empty,LabelEnv.empty) tyFields in ( T.RECORDty flty, TC.TPMONOLET {binds = List.rev bindsRev, bodyExp = TC.TPRECORD {fields=flexp, recordTy=T.RECORDty flty, loc=expLoc}, loc = expLoc } ) end ) | ty => (ty,exp) end (** * Make a fresh instance of a polytype and a term of that type. *) fun freshToplevelInst (ty,exp) = if TU.monoTy ty then (ty,exp) else case ty of T.POLYty{boundtvars,body,...} => let val subst = TU.freshSubst boundtvars val bty = TU.substBTvar subst body val newExp = case exp of TC.TPDATACONSTRUCT {con,instTyList=nil,argTyOpt, argExpOpt=NONE,loc} => TC.TPDATACONSTRUCT {con=con, instTyList=BoundTypeVarID.Map.listItems subst, argExpOpt=NONE, argTyOpt = NONE, loc=loc} | _ => TC.TPTAPP {exp=exp, expTy=ty, instTyList=BoundTypeVarID.Map.listItems subst, loc=getLocOfExp exp} in (bty,newExp) end | ty => (ty,exp) fun expansive tpexp = case tpexp of TC.TPCONSTANT _ => false | TC.TPVAR _ => false | TC.TPGLOBALSYMBOL _ => false | TC.TPEXVAR (exVarInfo, loc) => false | TC.TPRECFUNVAR _ => false | TC.TPFNM {argVarList, bodyTy, bodyExp, loc} => false | TC.TPSQLSERVER _ => false | TC.TPEXN_CONSTRUCTOR {exnInfo, loc} => false | TC.TPEXEXN_CONSTRUCTOR {exExnInfo, loc} => false | TC.TPDATACONSTRUCT {con, instTyList, argTyOpt, argExpOpt=NONE, loc} => false | TC.TPEXNCONSTRUCT {exn, instTyList, argTyOpt, argExpOpt=NONE, loc} => false | TC.TPDATACONSTRUCT {con={path, id, ty}, instTyList, argTyOpt, argExpOpt= SOME tpexp, loc} => let val tyCon = TU.tyConFromConTy ty in TypID.eq (#id tyCon, #id BT.refTyCon) orelse expansive tpexp end | TC.TPEXNCONSTRUCT {exn, instTyList, argTyOpt, argExpOpt= SOME tpexp, loc} => expansive tpexp | TC.TPRECORD {fields, recordTy=ty, loc=loc} => LabelEnv.foldli (fn (string, tpexp1, isExpansive) => isExpansive orelse expansive tpexp1) false fields | (* (re : bug 141_provide.sml) This deep expansive test is necessary to deal with the following structure S :> sig type 'a t val x : 'a t end = struct type 'a t = int * 'a list val x = (0, nil) end Since (0, nil) is compiled to (0, nil:['a. 'a list]) : int * ['a. 'a list], the compiler need to construct the following val x = (#1 x, #2 x {'x}) For this to have the type ['a. int * 'a list], the compiler need to abstract 'x to form val x = ['a. (#1 x, #2 x {'a})] *) TC.TPSELECT {exp, expTy, label, loc, resultTy} => expansive exp | TC.TPMONOLET {binds=varPathInfoTpexpList, bodyExp=tpexp, loc} => foldl (fn ((v,tpexp1), isExpansive) => isExpansive orelse expansive tpexp1) (expansive tpexp) varPathInfoTpexpList | TC.TPPOLY {exp=tpexp,...} => expansive tpexp | TC.TPTAPP {exp, ...} => expansive exp | TC.TPFFIIMPORT {ffiTy, loc, ptrExp, stubTy} => expansive ptrExp | TC.TPCAST (tpexp, ty, loc) => expansive tpexp | TC.TPCASEM _ => true | TC.TPPRIMAPPLY _ => true | TC.TPOPRIMAPPLY _ => true | TC.TPERROR => true | TC.TPAPPM _ => true | TC.TPMODIFY _ => true | TC.TPSEQ _ => true | TC.TPLET {decls, body, tys,loc} => true | TC.TPRAISE _ => true | TC.TPHANDLE _ => true | TC.TPPOLYFNM _ => false | TC.TPSIZEOF _ => true end end smlsharp-1.2.0/src/compiler/typedcalcoptimization0000755 000000000000000000000000012050661606022444 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/typedcalcoptimization/main0000755 000000000000000000000000012050661606023370 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/typedcalcoptimization/main/TCAnalyse.smi0000644 000000000000000000000067512050661606026014 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../name/main/LocalID.smi" _require "../../control/main/Loc.ppg.smi" _require "../../types/main/Types.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../typedcalc/main/TypedCalc.ppg.smi" structure TCAnalyse = struct datatype count = INF | FIN of int val analyseDeclList : TypedCalc.tpdecl list -> count VarID.Map.map end smlsharp-1.2.0/src/compiler/typedcalcoptimization/main/TCAnalyse.sml0000644 000000000000000000001326112050661606026012 0ustar00rootroot0000000 0000000 (* Efficient size calculation throug depth-first travasal. *) structure TCAnalyse = struct datatype count = INF | FIN of int local structure TC = TypedCalc structure T = Types fun bug s = Control.Bug ("TypedCalcSize: " ^ s) fun countAdd (INF,_ ) = INF | countAdd (_, INF) = INF | countAdd (FIN i, FIN j) = FIN (i+j) val countMapRef = ref VarID.Map.empty : (count VarID.Map.map) ref fun inc var = let val countMap = VarID.Map.unionWith countAdd (!countMapRef, VarID.Map.singleton(var, FIN 1)) in countMapRef := countMap end fun incInf var = let val countMap = VarID.Map.unionWith countAdd (!countMapRef, VarID.Map.singleton(var, INF)) in countMapRef := countMap end fun visitExp exp = case exp of TC.TPAPPM {argExpList, funExp, funTy, loc} => (visitExpList argExpList; visitExp funExp) | TC.TPCASEM {caseKind, expList, expTyList, loc, ruleBodyTy, ruleList} => (visitExpList expList; visitExpList (map #body ruleList)) | TC.TPCAST (tpexp, ty, loc) => visitExp tpexp | TC.TPCONSTANT {const, loc, ty} => () | TC.TPDATACONSTRUCT {argExpOpt = NONE, argTyOpt, con:T.conInfo, instTyList, loc } => () | TC.TPDATACONSTRUCT {argExpOpt = SOME exp, argTyOpt, con:T.conInfo, instTyList, loc } => visitExp exp | TC.TPERROR => () | TC.TPEXNCONSTRUCT {argExpOpt = NONE, argTyOpt, exn:TC.exnCon, instTyList, loc } => () | TC.TPEXNCONSTRUCT {argExpOpt = SOME exp, argTyOpt, exn:TC.exnCon, instTyList, loc } => visitExp exp | TC.TPEXN_CONSTRUCTOR {exnInfo, loc} => () | TC.TPEXEXN_CONSTRUCTOR {exExnInfo, loc} => () | TC.TPEXVAR (exVarInfo, loc) => () | TC.TPFFIIMPORT {ffiTy, loc, ptrExp, stubTy} => visitExp ptrExp | TC.TPFNM {argVarList, bodyExp, bodyTy, loc} => visitExp bodyExp | TC.TPGLOBALSYMBOL {kind, loc, name, ty} => () | TC.TPHANDLE {exnVar, exp, handler, loc} => (visitExp exp; visitExp handler) | TC.TPLET {body:TC.tpexp list, decls, loc, tys} => (visitExpList body; visitDeclList decls) | TC.TPMODIFY {elementExp, elementTy, label, loc, recordExp, recordTy } => (visitExp elementExp; visitExp recordExp) | TC.TPMONOLET {binds:(T.varInfo * TC.tpexp) list, bodyExp, loc} => (visitExpList (map #2 binds); visitExp bodyExp) | TC.TPOPRIMAPPLY {argExp, argTy, instTyList, loc, oprimOp} => visitExp argExp | TC.TPPOLY {btvEnv, exp, expTyWithoutTAbs, loc} => visitExp exp | TC.TPPOLYFNM {argVarList, bodyExp, bodyTy, btvEnv, loc} => visitExp bodyExp | TC.TPPRIMAPPLY {argExp, argTy, instTyList, loc, primOp} => visitExp argExp | TC.TPRAISE {exp, loc, ty} => visitExp exp | TC.TPRECORD {fields:TC.tpexp LabelEnv.map, loc, recordTy} => LabelEnv.app visitRecordField fields | TC.TPSELECT {exp, expTy, label, loc, resultTy} => visitExp exp | TC.TPSEQ {expList, expTyList, loc} => visitExpList expList | TC.TPSIZEOF (ty, loc) => () | TC.TPSQLSERVER {loc, resultTy, schema:Types.ty LabelEnv.map LabelEnv.map, server:string} => () | TC.TPTAPP {exp, expTy, instTyList, loc} => visitExp exp | TC.TPVAR (var, loc) => inc (#id var) (* the following should have been eliminate *) | TC.TPRECFUNVAR {arity, loc, var} => inc (#id var) and visitRecordField exp = case exp of TC.TPVAR (var, loc) => incInf (#id var) | TC.TPRECFUNVAR {arity, loc, var} => incInf (#id var) | TC.TPCAST (tpexp, ty, loc) => visitRecordField tpexp | _ => visitExp exp and visitExpList expList = List.app visitExp expList and visitDecl tpdecl = case tpdecl of TC.TPEXD (exbinds:{exnInfo:Types.exnInfo, loc:Loc.loc} list, loc) => () | TC.TPEXNTAGD ({exnInfo, varInfo}, loc) => () | TC.TPEXPORTEXN (exnInfo, loc) => () | TC.TPEXPORTVAR {internalVar, externalVar, loc} => incInf (#id internalVar) | TC.TPEXPORTRECFUNVAR _ => raise bug "TPEXPORTRECFUNVAR to Analyse" | TC.TPEXTERNEXN ({path, ty}, loc) => () | TC.TPEXTERNVAR ({path, ty}, loc) => () | TC.TPVAL (binds:(T.varInfo * TC.tpexp) list, loc) => visitExpList (map #2 binds) | TC.TPVALPOLYREC (btvEnv, recbinds:{exp:TC.tpexp, expTy:T.ty, var:T.varInfo} list, loc) => visitExpList (map #exp recbinds) | TC.TPVALREC (recbinds:{exp:TC.tpexp, expTy:T.ty, var:T.varInfo} list,loc) => visitExpList (map #exp recbinds) (* the following should have been eliminate *) | TC.TPFUNDECL _ => raise bug "TPFUNDECL not eliminated" | TC.TPPOLYFUNDECL _ => raise bug "TPPOLYFUNDECL not eliminated" and visitDeclList declList = List.app visitDecl declList in fun analyseDeclList declList = (countMapRef := VarID.Map.empty; visitDeclList declList; !countMapRef) end end smlsharp-1.2.0/src/compiler/typedcalcoptimization/main/TCOptimize.smi0000644 000000000000000000000131212050661606026205 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../typedcalc/main/TypedCalc.ppg.smi" _require "../../typedcalc/main/TypedCalcUtils.smi" _require "../../typedcalc/main/TCAlphaRename.smi" _require "../../types/main/Types.ppg.smi" _require "../../types/main/TypesUtils.smi" _require "../../types/main/TyReduce.smi" _require "../../typeinference2/main/Printers.smi" _require "TCAnalyse.smi" _require "TCSize.smi" _require "TCRevealTy.smi" structure TPOptimize = struct val optimize : TypedCalc.tpdecl list -> TypedCalc.tpdecl list end smlsharp-1.2.0/src/compiler/typedcalcoptimization/main/TCOptimize.sml0000644 000000000000000000005545412050661606026230 0ustar00rootroot0000000 0000000 structure TPOptimize = struct local structure TC = TypedCalc structure TCU = TypedCalcUtils structure T = Types structure TRed = TyReduce structure TU = TypesUtils structure P = Printers fun bug s = Control.Bug ("TPOptimize: " ^ s) fun printVarMap varMap = let fun pr (id, exp) = (P.print "("; P.print (VarID.toString id); P.print ","; P.printTpexp exp; P.print ")\n" ) in VarID.Map.appi pr varMap end fun printBtvMap btvMap = let fun pr (id, ty) = (P.print "("; P.print (BoundTypeVarID.toString id); P.print ","; P.printTy ty; P.print ")\n" ) in BoundTypeVarID.Map.appi pr btvMap end fun printContext {varMap, btvMap} = (P.print "varMap:\n"; printVarMap varMap; P.print "btvMap:\n"; printBtvMap btvMap; P.print "\n" ) val countMapRef = ref VarID.Map.empty : (TCAnalyse.count VarID.Map.map) ref fun renameCountMapRef idMap = let val newCountMap = VarID.Map.foldli (fn (id, count, newCountMap) => case VarID.Map.find (idMap, id) of SOME newId => VarID.Map.insert(newCountMap, newId, count) | NONE => VarID.Map.insert(newCountMap, id, count) ) VarID.Map.empty (!countMapRef) in countMapRef := newCountMap end (* declaration for type constraints *) type ty = T.ty type path = T.path type varInfo = {path:path, id:VarID.id, ty:ty} type rule = {args:TC.tppat list, body:TC.tpexp} type btv = BoundTypeVarID.id type varId = VarID.id (* context *) type btvMap = ty BoundTypeVarID.Map.map val emptyBtvMap = BoundTypeVarID.Map.empty : btvMap type varMap = TC.tpexp VarID.Map.map val emptyVarMap = VarID.Map.empty : varMap type context = {varMap:varMap, btvMap:btvMap} val emptyContext = {varMap=emptyVarMap, btvMap=emptyBtvMap} fun bindExp ({varMap, btvMap}:context, var:varInfo, exp:TC.tpexp) = let val varMap = VarID.Map.insert(varMap, #id var, exp) in {varMap=varMap, btvMap=btvMap} end fun bindTy ({varMap, btvMap}:context, btv:btv, ty:ty) = let val btvMap = BoundTypeVarID.Map.insert(btvMap, btv, ty) in {varMap=varMap, btvMap=btvMap} end fun applyTys ({varMap, btvMap}:context) (btvEnv:T.btvEnv, instTyList:ty list) = let val btvList = BoundTypeVarID.Map.listKeys btvEnv val btvBinds = ListPair.zip (btvList, instTyList) val btvMap = foldl (fn ((btv,ty), btvMap) => BoundTypeVarID.Map.insert(btvMap, btv, ty)) btvMap btvBinds in {varMap=varMap, btvMap=btvMap} end (* 20 is abot the size of isOneUse below *) val limitSize = 20 fun isSmallValue tpexp = not (TCU.expansive tpexp) andalso TCSize.isSmallerExp (tpexp, limitSize) fun isOneUse ({id, ty, path}:T.varInfo) = case VarID.Map.find(!countMapRef, id) of SOME (TCAnalyse.FIN 1) => true | _ => false fun isInfUse ({id, ty, path}:T.varInfo) = case VarID.Map.find(!countMapRef, id) of SOME TCAnalyse.INF => true | _ => false fun isInline (var:T.varInfo, exp:TC.tpexp) = TCU.isAtom exp orelse (not (isInfUse var)) andalso isSmallValue exp orelse (not (TCU.expansive exp) andalso isOneUse var) fun evalExVarInfo ({varMap, btvMap}:context) (exVarInfo : T.exVarInfo) : T.exVarInfo = TRed.evalExVarInfo btvMap exVarInfo fun evalPrimInfo ({varMap, btvMap}:context) (primInfo:T.primInfo) : T.primInfo = TRed.evalPrimInfo btvMap primInfo fun evalOprimInfo ({varMap, btvMap}:context) (oprimInfo:T.oprimInfo) : T.oprimInfo = TRed.evalOprimInfo btvMap oprimInfo fun evalConInfo ({varMap, btvMap}:context) (conInfo:T.conInfo) : T.conInfo = TRed.evalConInfo btvMap conInfo fun evalExnInfo ({varMap, btvMap}:context) (exnInfo:T.exnInfo) : T.exnInfo = TRed.evalExnInfo btvMap exnInfo fun evalExExnInfo ({varMap, btvMap}:context) (exExnInfo:T.exExnInfo) : T.exExnInfo = TRed.evalExExnInfo btvMap exExnInfo fun evalTy ({varMap, btvMap}:context) (ty:ty) : ty = TRed.evalTy btvMap ty fun evalBtvEnv ({varMap, btvMap}:context) (btvEnv:T.btvEnv) = TRed.evalBtvEnv btvMap btvEnv fun evalTyVar ({varMap, btvMap}:context) (var:varInfo) = TRed.evalTyVar btvMap var fun evalExnCon (context:context) (exnCon:TC.exnCon) : TC.exnCon = case exnCon of TC.EXEXN exExnInfo => TC.EXEXN (evalExExnInfo context exExnInfo) | TC.EXN exnInfo => TC.EXN (evalExnInfo context exnInfo) fun evalFfiTy context ffiTy = case ffiTy of TC.FFIBASETY (ty, loc) => TC.FFIBASETY (evalTy context ty, loc) | TC.FFIFUNTY (attribOpt (* Absyn.ffiAttributes option *), ffiTyList1, ffiTyList2,loc) => TC.FFIFUNTY (attribOpt, map (evalFfiTy context) ffiTyList1, map (evalFfiTy context) ffiTyList2, loc) | TC.FFIRECORDTY (fields:(string * TC.ffiTy) list,loc) => TC.FFIRECORDTY (map (fn (l,ty)=>(l, evalFfiTy context ty)) fields,loc) (* eval terms *) fun evalVar (context as {varMap,btvMap}:context) (var as {id,...}:varInfo, loc:Loc.loc) : TC.tpexp = case VarID.Map.find(varMap, id) of SOME tpexp => let val (idMap, tpexp) = TCAlphaRename.copyExp tpexp val _ = renameCountMapRef idMap in tpexp end (* substitution is simultaneous both in terms and types *) | NONE => TC.TPVAR (evalTyVar context var, loc) fun evalExp (context:context) (exp:TC.tpexp) : TC.tpexp = let fun eval exp = evalExp context exp fun evalT ty = evalTy context ty in case exp of TC.TPAPPM {argExpList, funExp, funTy, loc} => let val funExp = eval funExp val argExpList = map eval argExpList in case funExp of TC.TPFNM {argVarList, bodyExp, bodyTy, loc} => applyTerms context (argVarList, argExpList, bodyExp, loc) | _ => TC.TPAPPM {argExpList = argExpList, funExp = funExp, funTy = evalT funTy, loc = loc} end | TC.TPCASEM {caseKind, expList, expTyList, loc, ruleBodyTy, ruleList} => TC.TPCASEM {caseKind = caseKind, expList = map eval expList, expTyList = map evalT expTyList, loc = loc, ruleBodyTy = evalT ruleBodyTy, ruleList = map (evalRule context) ruleList } | TC.TPCAST (tpexp, ty, loc) => TC.TPCAST (eval tpexp, evalT ty, loc) | TC.TPCONSTANT {const, loc, ty} => TC.TPCONSTANT {const=const, loc = loc, ty=evalT ty} | TC.TPDATACONSTRUCT {argExpOpt, argTyOpt, con:T.conInfo, instTyList, loc} => TC.TPDATACONSTRUCT {argExpOpt = Option.map eval argExpOpt, argTyOpt = Option.map evalT argTyOpt, con = evalConInfo context con, instTyList = map evalT instTyList, loc = loc } | TC.TPERROR => exp | TC.TPEXNCONSTRUCT {argExpOpt, argTyOpt, exn:TC.exnCon, instTyList, loc} => TC.TPEXNCONSTRUCT {argExpOpt = Option.map eval argExpOpt, argTyOpt = Option.map evalT argTyOpt, exn = evalExnCon context exn, instTyList = map evalT instTyList, loc = loc } | TC.TPEXN_CONSTRUCTOR {exnInfo, loc} => TC.TPEXN_CONSTRUCTOR {exnInfo=evalExnInfo context exnInfo, loc=loc} | TC.TPEXEXN_CONSTRUCTOR {exExnInfo, loc} => TC.TPEXEXN_CONSTRUCTOR {exExnInfo=evalExExnInfo context exExnInfo, loc= loc} | TC.TPEXVAR ({path, ty}, loc) => TC.TPEXVAR ({path=path, ty=evalT ty}, loc) | TC.TPFFIIMPORT {ffiTy, loc, ptrExp, stubTy} => TC.TPFFIIMPORT {ffiTy = evalFfiTy context ffiTy, loc = loc, ptrExp = eval ptrExp, stubTy = evalT stubTy } | TC.TPFNM {argVarList, bodyExp, bodyTy, loc} => TC.TPFNM {argVarList = map (evalTyVar context) argVarList, bodyExp = eval bodyExp, bodyTy = evalT bodyTy, loc = loc } | TC.TPGLOBALSYMBOL {kind, loc, name, ty} => TC.TPGLOBALSYMBOL {kind=kind, loc=loc, name=name, ty=evalT ty} | TC.TPHANDLE {exnVar, exp, handler, loc} => TC.TPHANDLE {exnVar=evalTyVar context exnVar, exp=eval exp, handler= eval handler, loc=loc} | TC.TPLET {body:TC.tpexp list, decls, loc, tys} => let val tys = map evalT tys val (context, decls) = evalDeclList context decls val body = map (evalExp context) body in case decls of nil => TC.TPSEQ {expList=body, expTyList=tys, loc=loc} | _ => TC.TPLET {body=body, decls=decls, loc=loc, tys=tys} end | TC.TPMODIFY {elementExp, elementTy, label, loc, recordExp, recordTy} => (case recordExp of TC.TPRECORD {fields, loc, recordTy} => if not (TCU.expansive recordExp) then eval (TC.TPRECORD {fields=LabelEnv.insert(fields, label, elementExp), loc=loc, recordTy=recordTy} ) else raise bug "non value term in recordExp" | _ => TC.TPMODIFY {elementExp = eval elementExp, elementTy = evalT elementTy, label = label, loc = loc, recordExp = eval recordExp, recordTy = evalT recordTy} ) | TC.TPMONOLET {binds:(T.varInfo * TC.tpexp) list, bodyExp, loc} => let val (context, binds) = evalBindsSeq context binds val bodyExp = evalExp context bodyExp in case binds of nil => bodyExp | _ => TC.TPMONOLET {binds=binds, bodyExp=bodyExp, loc=loc} end | TC.TPOPRIMAPPLY {argExp, argTy, instTyList, loc, oprimOp:T.oprimInfo} => TC.TPOPRIMAPPLY {argExp = eval argExp, argTy = evalT argTy, instTyList = map evalT instTyList, loc = loc, oprimOp = evalOprimInfo context oprimOp } | TC.TPPOLY {btvEnv, exp, expTyWithoutTAbs, loc} => TC.TPPOLY {btvEnv=evalBtvEnv context btvEnv, exp = eval exp, expTyWithoutTAbs = evalT expTyWithoutTAbs, loc = loc } | TC.TPPOLYFNM {argVarList, bodyExp, bodyTy, btvEnv, loc} => TC.TPPOLYFNM {argVarList=map (evalTyVar context) argVarList, bodyExp=eval bodyExp, bodyTy=evalT bodyTy, btvEnv=evalBtvEnv context btvEnv, loc=loc } | TC.TPPRIMAPPLY {argExp, argTy, instTyList, loc, primOp:T.primInfo} => TC.TPPRIMAPPLY {argExp=eval argExp, argTy = evalT argTy, instTyList=map evalT instTyList, loc=loc, primOp=evalPrimInfo context primOp } | TC.TPRAISE {exp, loc, ty} => TC.TPRAISE {exp=eval exp, loc=loc, ty = evalT ty} | TC.TPRECORD {fields:TC.tpexp LabelEnv.map, loc, recordTy} => TC.TPRECORD {fields=LabelEnv.map eval fields, loc=loc, recordTy=evalT recordTy } | TC.TPSELECT {exp, expTy, label, loc, resultTy} => let val exp = eval exp in case exp of TC.TPRECORD {fields, loc, recordTy} => if not (TCU.expansive exp) then (case LabelEnv.find (fields, label) of SOME exp => exp | NONE => raise bug "label not found") else raise bug "non value term in a record" | _ => TC.TPSELECT {exp=exp, expTy=evalT expTy, label=label, loc=loc, resultTy=evalT resultTy } end | TC.TPSEQ {expList, expTyList, loc} => TC.TPSEQ {expList = map eval expList, expTyList = map evalT expTyList, loc = loc } | TC.TPSIZEOF (ty, loc) => TC.TPSIZEOF (evalT ty, loc) | TC.TPSQLSERVER {loc, resultTy, schema:Types.ty LabelEnv.map LabelEnv.map, server:string } => let val resultTy = evalT resultTy val schema = LabelEnv.map (LabelEnv.map evalT) schema in TC.TPSQLSERVER {loc=loc, resultTy=resultTy, schema=schema, server=server } end | TC.TPTAPP {exp, expTy, instTyList, loc} => let val exp = eval exp val expTy = evalT expTy val instTyList = map evalT instTyList in case exp of TC.TPPOLY {btvEnv, exp, expTyWithoutTAbs, loc} => let val newContext = applyTys context (btvEnv, instTyList) in evalExp newContext exp end | TC.TPPOLYFNM {argVarList, bodyExp, bodyTy, btvEnv, loc} => let val newContext = applyTys context (btvEnv, instTyList) val bodyExp = evalExp newContext bodyExp val bodyTy = evalTy newContext bodyTy val argVarList = map (evalTyVar newContext) argVarList in TC.TPFNM {argVarList=argVarList, bodyExp=bodyExp, bodyTy=bodyTy, loc=loc} end | _ => TC.TPTAPP {exp=exp, expTy = expTy, instTyList= instTyList, loc = loc } end | TC.TPVAR (varInfo, loc) => evalVar context (varInfo, loc) (* the following should have been eliminate *) | TC.TPRECFUNVAR {arity, loc, var} => raise bug "TPRECFUNVAR in eval" end and applyTerms ({varMap, btvMap}:context) (argVarList:T.varInfo list, argExpList:TC.tpexp list, body:TC.tpexp, loc) = let val termBinds = ListPair.zip (argVarList, argExpList) val (bindsRev, varMap) = foldl (fn ((var,exp), (bindsRev, varMap)) => if isInline (var,exp) then (bindsRev, VarID.Map.insert(varMap, #id var, exp)) else ((var,exp)::bindsRev, varMap) ) (nil, varMap) termBinds val binds = List.rev bindsRev val newContext = {varMap=varMap, btvMap=btvMap} val newBody = evalExp newContext body in case binds of nil => newBody | _ => TC.TPMONOLET {binds=binds, bodyExp=newBody, loc=loc} end and evalPat (context:context) (pat:TC.tppat) = case pat of TC.TPPATCONSTANT _ => pat | TC.TPPATDATACONSTRUCT {argPatOpt, conPat, instTyList, loc, patTy} => TC.TPPATDATACONSTRUCT {argPatOpt = Option.map (evalPat context) argPatOpt, conPat=evalConInfo context conPat, instTyList=map (evalTy context) instTyList, loc=loc, patTy=evalTy context patTy } | TC.TPPATERROR (ty,loc) => TC.TPPATERROR (evalTy context ty,loc) | TC.TPPATEXNCONSTRUCT {argPatOpt, exnPat, instTyList, loc, patTy} => TC.TPPATEXNCONSTRUCT {argPatOpt = Option.map (evalPat context) argPatOpt, exnPat=evalExnCon context exnPat, instTyList=map (evalTy context) instTyList, loc=loc, patTy=evalTy context patTy } | TC.TPPATLAYERED {asPat, loc, varPat} => TC.TPPATLAYERED {asPat=evalPat context asPat, loc=loc, varPat=evalPat context varPat } | TC.TPPATRECORD {fields, loc, recordTy} => TC.TPPATRECORD {fields=LabelEnv.map (evalPat context) fields, loc=loc, recordTy=evalTy context recordTy } | TC.TPPATVAR (var,loc) => TC.TPPATVAR (evalTyVar context var,loc) | TC.TPPATWILD (ty,loc) => TC.TPPATWILD (evalTy context ty,loc) and evalRule (context:context) ({args, body}:rule) = {args=map (evalPat context) args, body=evalExp context body} and evalDecl (tpdecl:TC.tpdecl, (context:context, declListRev:TC.tpdecl list)) = case tpdecl of TC.TPEXD (exbinds:{exnInfo:Types.exnInfo, loc:Loc.loc} list, loc) => let val res = (context, TC.TPEXD (map (fn {exnInfo, loc} => {exnInfo=evalExnInfo context exnInfo, loc=loc}) exbinds, loc) ::declListRev ) in res end | TC.TPEXNTAGD ({exnInfo, varInfo}, loc) => let val varExp = evalVar context (varInfo, loc) val declListRev = case varExp of TC.TPVAR (newVar, _) => TC.TPEXNTAGD ({exnInfo=evalExnInfo context exnInfo, varInfo=newVar}, loc) ::declListRev | newExp => let val newVar = TCU.newTCVarInfo (#ty varInfo) val bindDecl = TC.TPVAL ([(newVar, newExp)], loc) val newTpexntag = TC.TPEXNTAGD ({exnInfo=evalExnInfo context exnInfo, varInfo=newVar}, loc) in newTpexntag :: bindDecl :: declListRev end val res = (context, declListRev) in res end | TC.TPEXPORTEXN (exnInfo, loc) => (context, TC.TPEXPORTEXN (evalExnInfo context exnInfo, loc) :: declListRev ) | TC.TPEXPORTVAR {internalVar, externalVar, loc} => let val tpexp = evalVar context (internalVar, loc) val (internalVar, declListRev) = case tpexp of TC.TPVAR (var,loc) => (var, declListRev) | _ => let val internalVar = evalTyVar context internalVar in (internalVar, TC.TPVAL ([(internalVar, tpexp)],loc) :: declListRev) end val externalVar=evalExVarInfo context externalVar in (context, TC.TPEXPORTVAR {internalVar=internalVar, externalVar=externalVar, loc=loc} :: declListRev ) end | TC.TPEXPORTRECFUNVAR _ => raise bug "TPEXPORTRECFUNVAR to optimize" | TC.TPEXTERNEXN ({path, ty}, loc) => (context, TC.TPEXTERNEXN ({path=path, ty=evalTy context ty}, loc) :: declListRev ) | TC.TPEXTERNVAR ({path, ty}, loc) => (context, TC.TPEXTERNVAR ({path=path, ty=evalTy context ty}, loc) :: declListRev ) | TC.TPVAL (binds:(T.varInfo * TC.tpexp) list, loc) => let val (context, binds) = evalBindsSeq context binds val declListRev = case binds of nil => declListRev | _ => TC.TPVAL (binds, loc) :: declListRev in (context, declListRev) end | TC.TPVALPOLYREC (btvEnv, recbinds:{exp:TC.tpexp, expTy:ty, var:T.varInfo} list, loc) => let val btvEnv = evalBtvEnv context btvEnv val recbinds = map (fn {exp, expTy, var} => {var=evalTyVar context var, expTy=evalTy context expTy, exp=evalExp context exp} ) recbinds in (context, TC.TPVALPOLYREC (btvEnv, recbinds, loc) :: declListRev ) end | TC.TPVALREC (recbinds:{exp:TC.tpexp, expTy:ty, var:T.varInfo} list,loc) => let val recbinds = map (fn {exp, expTy, var} => {var=evalTyVar context var, expTy=evalTy context expTy, exp=evalExp context exp} ) recbinds in (context, TC.TPVALREC (recbinds, loc) :: declListRev ) end (* the following should have been eliminate *) | TC.TPFUNDECL _ => raise bug "TPFUNDECL not eliminated" | TC.TPPOLYFUNDECL _ => raise bug "TPPOLYFUNDECL not eliminated" and evalBind context ((var, exp), (newContext, bindsRev)) = let val var = evalTyVar context var val exp = evalExp context exp val (newContext, bindsRev) = if isInline (var, exp) then (bindExp (newContext, var, exp), bindsRev) else (newContext, (var,exp)::bindsRev) in (newContext, bindsRev) end and evalBinds context binds = let val (newContext, bindsRev) = foldl (evalBind context) (context, nil) binds in (newContext, List.rev bindsRev) end and evalBindSeq ((var, exp), (context, bindsRev)) = let val var = evalTyVar context var val exp = evalExp context exp val (context, bindsRev) = if isInline (var, exp) then (bindExp (context, var, exp), bindsRev) else (context, (var,exp)::bindsRev) in (context, bindsRev) end and evalBindsSeq context binds = let val (context, bindsRev) = foldl evalBindSeq (context, nil) binds in (context, List.rev bindsRev) end and evalDeclList context declList = let val (context, declListRev) = foldl evalDecl (context, nil) declList in (context, List.rev declListRev) end in fun optimize declList = let val declList = TCRevealTy.revealTyTpdeclList declList val _ = countMapRef := TCAnalyse.analyseDeclList declList val (context, declList) = evalDeclList emptyContext declList in declList end end end smlsharp-1.2.0/src/compiler/typedcalcoptimization/main/TCRevealTy.smi0000644 000000000000000000000146712050661606026153 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../typedcalc/main/TypedCalc.ppg.smi" _require "../../types/main/Types.ppg.smi" _require "../../types/main/TypesUtils.smi" _require "../../types/main/OPrimInstMap.smi" _require "../../types/main/TyRevealTy.smi" _require "../../typeinference2/main/Printers.smi" _require "../../typeinference2/main/TypeInferenceUtils.smi" structure TCRevealTy = struct val revealTyTpdeclList : TypedCalc.tpdecl list -> TypedCalc.tpdecl list val revealFfiTy : TypedCalc.ffiTy -> TypedCalc.ffiTy val revealExnCon : TypedCalc.exnCon -> TypedCalc.exnCon end smlsharp-1.2.0/src/compiler/typedcalcoptimization/main/TCRevealTy.sml0000644 000000000000000000002667312050661606026164 0ustar00rootroot0000000 0000000 structure TCRevealTy = struct local structure TC = TypedCalc structure T = Types structure TIU = TypeInferenceUtils structure P = Printers fun bug s = Control.Bug ("RevealTy: " ^ s) val revealTy = TyRevealTy.revealTy val revealConInfo = TyRevealTy.revealConInfo val revealExnInfo = TyRevealTy.revealExnInfo val revealExExnInfo = TyRevealTy.revealExExnInfo val revealOprimInfo = TyRevealTy.revealOprimInfo val revealPrimInfo = TyRevealTy.revealPrimInfo val revealBtvEnv = TyRevealTy.revealBtvEnv (* declaration for type constraints *) type ty = T.ty type path = T.path type varInfo = {path:path, id:VarID.id, ty:ty} type rule = {args:TC.tppat list, body:TC.tpexp} type btv = BoundTypeVarID.id type varId = VarID.id fun evalFfiTy ffiTy = case ffiTy of TC.FFIBASETY (ty, loc) => TC.FFIBASETY (revealTy ty, loc) | TC.FFIFUNTY (attribOpt (* Absyn.ffiAttributes option *), ffiTyList1, ffiTyList2,loc) => TC.FFIFUNTY (attribOpt, map evalFfiTy ffiTyList1, map evalFfiTy ffiTyList2, loc) | TC.FFIRECORDTY (fields:(string * TC.ffiTy) list,loc) => TC.FFIRECORDTY (map (fn (l,ty)=>(l, evalFfiTy ty)) fields,loc) fun evalExnCon (exnCon:TC.exnCon) : TC.exnCon = case exnCon of TC.EXEXN exExnInfo => TC.EXEXN (revealExExnInfo exExnInfo) | TC.EXN exnInfo => TC.EXN (revealExnInfo exnInfo) fun evalVar ({id, ty, path}:varInfo) = {id=id, path=path, ty=revealTy ty} fun evalExp (exp:TC.tpexp) : TC.tpexp = case exp of TC.TPAPPM {argExpList, funExp, funTy, loc} => TC.TPAPPM {argExpList = map evalExp argExpList, funExp = evalExp funExp, funTy = revealTy funTy, loc = loc} | TC.TPCASEM {caseKind, expList, expTyList, loc, ruleBodyTy, ruleList} => TC.TPCASEM {caseKind = caseKind, expList = map evalExp expList, expTyList = map revealTy expTyList, loc = loc, ruleBodyTy = revealTy ruleBodyTy, ruleList = map evalRule ruleList } | TC.TPCAST (tpexp, ty, loc) => TC.TPCAST (evalExp tpexp, revealTy ty, loc) | TC.TPCONSTANT {const, loc, ty} => TC.TPCONSTANT {const=const, loc = loc, ty=revealTy ty} | TC.TPDATACONSTRUCT {argExpOpt, argTyOpt, con:T.conInfo, instTyList, loc} => TC.TPDATACONSTRUCT {argExpOpt = Option.map evalExp argExpOpt, argTyOpt = Option.map revealTy argTyOpt, con = revealConInfo con, instTyList = map revealTy instTyList, loc = loc } | TC.TPERROR => exp | TC.TPEXNCONSTRUCT {argExpOpt, argTyOpt, exn:TC.exnCon, instTyList, loc} => TC.TPEXNCONSTRUCT {argExpOpt = Option.map evalExp argExpOpt, argTyOpt = Option.map revealTy argTyOpt, exn = evalExnCon exn, instTyList = map revealTy instTyList, loc = loc } | TC.TPEXN_CONSTRUCTOR {exnInfo, loc} => TC.TPEXN_CONSTRUCTOR {exnInfo=revealExnInfo exnInfo, loc=loc} | TC.TPEXEXN_CONSTRUCTOR {exExnInfo, loc} => TC.TPEXEXN_CONSTRUCTOR {exExnInfo=revealExExnInfo exExnInfo, loc= loc} | TC.TPEXVAR ({path, ty}, loc) => TC.TPEXVAR ({path=path, ty=revealTy ty}, loc) | TC.TPFFIIMPORT {ffiTy, loc, ptrExp, stubTy} => TC.TPFFIIMPORT {ffiTy = evalFfiTy ffiTy, loc = loc, ptrExp = evalExp ptrExp, stubTy = revealTy stubTy } | TC.TPFNM {argVarList, bodyExp, bodyTy, loc} => TC.TPFNM {argVarList = map evalVar argVarList, bodyExp = evalExp bodyExp, bodyTy = revealTy bodyTy, loc = loc } | TC.TPGLOBALSYMBOL {kind, loc, name, ty} => TC.TPGLOBALSYMBOL {kind=kind, loc=loc, name=name, ty=revealTy ty} | TC.TPHANDLE {exnVar, exp, handler, loc} => TC.TPHANDLE {exnVar=evalVar exnVar, exp=evalExp exp, handler= evalExp handler, loc=loc} | TC.TPLET {body:TC.tpexp list, decls, loc, tys} => TC.TPLET {body=map evalExp body, decls=map evalDecl decls, loc=loc, tys=map revealTy tys} | TC.TPMODIFY {elementExp, elementTy, label, loc, recordExp, recordTy} => TC.TPMODIFY {elementExp = evalExp elementExp, elementTy = revealTy elementTy, label = label, loc = loc, recordExp = evalExp recordExp, recordTy = revealTy recordTy} | TC.TPMONOLET {binds:(T.varInfo * TC.tpexp) list, bodyExp, loc} => TC.TPMONOLET {binds=map evalBind binds, bodyExp=evalExp bodyExp, loc=loc} | TC.TPOPRIMAPPLY {argExp, argTy, instTyList, loc, oprimOp:T.oprimInfo} => TC.TPOPRIMAPPLY {argExp = evalExp argExp, argTy = revealTy argTy, instTyList = map revealTy instTyList, loc = loc, oprimOp = revealOprimInfo oprimOp } | TC.TPPOLY {btvEnv, exp, expTyWithoutTAbs, loc} => TC.TPPOLY {btvEnv=revealBtvEnv btvEnv, exp = evalExp exp, expTyWithoutTAbs = revealTy expTyWithoutTAbs, loc = loc } | TC.TPPOLYFNM {argVarList, bodyExp, bodyTy, btvEnv, loc} => TC.TPPOLYFNM {argVarList=map evalVar argVarList, bodyExp=evalExp bodyExp, bodyTy=revealTy bodyTy, btvEnv=revealBtvEnv btvEnv, loc=loc } | TC.TPPRIMAPPLY {argExp, argTy, instTyList, loc, primOp:T.primInfo} => TC.TPPRIMAPPLY {argExp=evalExp argExp, argTy = revealTy argTy, instTyList=map revealTy instTyList, loc=loc, primOp=revealPrimInfo primOp } | TC.TPRAISE {exp, loc, ty} => TC.TPRAISE {exp=evalExp exp, loc=loc, ty = revealTy ty} | TC.TPRECORD {fields:TC.tpexp LabelEnv.map, loc, recordTy} => TC.TPRECORD {fields=LabelEnv.map evalExp fields, loc=loc, recordTy=revealTy recordTy } | TC.TPSELECT {exp, expTy, label, loc, resultTy} => TC.TPSELECT {exp=evalExp exp, expTy=revealTy expTy, label=label, loc=loc, resultTy=revealTy resultTy } | TC.TPSEQ {expList, expTyList, loc} => TC.TPSEQ {expList = map evalExp expList, expTyList = map revealTy expTyList, loc = loc } | TC.TPSIZEOF (ty, loc) => TC.TPSIZEOF (revealTy ty, loc) | TC.TPSQLSERVER {loc, resultTy, schema:Types.ty LabelEnv.map LabelEnv.map, server:string } => let val resultTy = revealTy resultTy val schema = LabelEnv.map (LabelEnv.map revealTy) schema in TC.TPSQLSERVER {loc=loc, resultTy=resultTy, schema=schema, server=server } end | TC.TPTAPP {exp, expTy, instTyList, loc} => TC.TPTAPP {exp = evalExp exp, expTy = revealTy expTy, instTyList = map revealTy instTyList, loc = loc } | TC.TPVAR (varInfo, loc) => TC.TPVAR (evalVar varInfo, loc) (* the following should have been eliminate *) | TC.TPRECFUNVAR {arity, loc, var} => raise bug "TPRECFUNVAR in eval" and evalPat (pat:TC.tppat) = case pat of TC.TPPATCONSTANT (const, ty, loc) => TC.TPPATCONSTANT (const, revealTy ty, loc) | TC.TPPATDATACONSTRUCT {argPatOpt, conPat, instTyList, loc, patTy} => TC.TPPATDATACONSTRUCT {argPatOpt = Option.map evalPat argPatOpt, conPat=revealConInfo conPat, instTyList=map revealTy instTyList, loc=loc, patTy=revealTy patTy } | TC.TPPATERROR (ty,loc) => TC.TPPATERROR (revealTy ty,loc) | TC.TPPATEXNCONSTRUCT {argPatOpt, exnPat, instTyList, loc, patTy} => TC.TPPATEXNCONSTRUCT {argPatOpt = Option.map evalPat argPatOpt, exnPat=evalExnCon exnPat, instTyList=map revealTy instTyList, loc=loc, patTy=revealTy patTy } | TC.TPPATLAYERED {asPat, loc, varPat} => TC.TPPATLAYERED {asPat=evalPat asPat, loc=loc, varPat=evalPat varPat } | TC.TPPATRECORD {fields, loc, recordTy} => TC.TPPATRECORD {fields=LabelEnv.map evalPat fields, loc=loc, recordTy=revealTy recordTy } | TC.TPPATVAR (var,loc) => TC.TPPATVAR (evalVar var,loc) | TC.TPPATWILD (ty,loc) => TC.TPPATWILD (revealTy ty,loc) and evalRule ({args, body}:rule) = {args=map evalPat args, body=evalExp body} and evalDecl (tpdecl:TC.tpdecl) = case tpdecl of TC.TPEXD (exbinds:{exnInfo:Types.exnInfo, loc:Loc.loc} list, loc) => TC.TPEXD (map (fn {exnInfo, loc} => {exnInfo=revealExnInfo exnInfo, loc=loc}) exbinds, loc) | TC.TPEXNTAGD ({exnInfo, varInfo}, loc) => TC.TPEXNTAGD ({exnInfo=revealExnInfo exnInfo, varInfo=evalVar varInfo}, loc) | TC.TPEXPORTEXN (exnInfo, loc) => TC.TPEXPORTEXN (revealExnInfo exnInfo, loc) | TC.TPEXPORTVAR {internalVar, externalVar, loc} => TC.TPEXPORTVAR {internalVar=internalVar, externalVar=externalVar, loc=loc} | TC.TPEXPORTRECFUNVAR _ => raise bug "TPEXPORTRECFUNVAR to optimize" | TC.TPEXTERNEXN ({path, ty}, loc) => TC.TPEXTERNEXN ({path=path, ty=revealTy ty}, loc) | TC.TPEXTERNVAR ({path, ty}, loc) => TC.TPEXTERNVAR ({path=path, ty=revealTy ty}, loc) | TC.TPVAL (binds:(T.varInfo * TC.tpexp) list, loc) => TC.TPVAL (map evalBind binds, loc) | TC.TPVALPOLYREC (btvEnv, recbinds:{exp:TC.tpexp, expTy:ty, var:T.varInfo} list, loc) => TC.TPVALPOLYREC (revealBtvEnv btvEnv, map (fn {exp, expTy, var} => {var=evalVar var, expTy=revealTy expTy, exp=evalExp exp} ) recbinds, loc) | TC.TPVALREC (recbinds:{exp:TC.tpexp, expTy:ty, var:T.varInfo} list,loc) => TC.TPVALREC ( map (fn {exp, expTy, var} => {var=evalVar var, expTy=revealTy expTy, exp=evalExp exp} ) recbinds, loc) (* the following should have been eliminate *) | TC.TPFUNDECL _ => raise bug "TPFUNDECL not eliminated" | TC.TPPOLYFUNDECL _ => raise bug "TPPOLYFUNDECL not eliminated" and evalBind (var, exp) = (evalVar var, evalExp exp) in fun revealTyTpdeclList declList = map evalDecl declList val revealFfiTy = evalFfiTy val revealExnCon = evalExnCon end end smlsharp-1.2.0/src/compiler/typedcalcoptimization/main/TCSize.smi0000644 000000000000000000000137512050661606025330 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../types/main/Types.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../typedcalc/main/TypedCalc.ppg.smi" structure TCSize = struct val sizeExp : TypedCalc.tpexp -> int val sizePat : TypedCalc.tppat -> int val sizeDecl : TypedCalc.tpdecl -> int val sizeDeclList : TypedCalc.tpdecl list -> int val isSmallerExp : TypedCalc.tpexp * int -> bool val isSmallerPat : TypedCalc.tppat * int -> bool val isSmallerDecl : TypedCalc.tpdecl * int -> bool val isSmallerDeclList : TypedCalc.tpdecl list * int -> bool end smlsharp-1.2.0/src/compiler/typedcalcoptimization/main/TCSize.sml0000644 000000000000000000002167312050661606025336 0ustar00rootroot0000000 0000000 (* Efficient and accurate size calculation. *) structure TCSize = struct local structure TC = TypedCalc structure T = Types structure A = Absyn fun bug s = Control.Bug ("TypedCalcSize: " ^ s) exception Limit val limit = ref NONE : int option ref fun checkLimit n = case !limit of NONE => () | SOME limit => if n > limit then raise Limit else () fun constSize const = case const of A.INT _ => 1 | A.WORD _ => 1 | A.STRING (string, loc) => 1 + String.size string div 4 | A.REAL _ => 2 | A.CHAR _ => 1 | A.UNITCONST _ => 1 | A.NULLCONST _ => 1 fun inc n = n + 1 fun incN (n,N) = n + N fun incConst (n, const) = n + (constSize const) fun incVar (n, vars) = n + (List.length vars) fun incBtvEnv (n, btvEnv) = n + (BoundTypeVarID.Map.numItems btvEnv) datatype items = EXP of TC.tpexp list | PAT of TC.tppat list | DECL of TC.tpdecl list | RULE of {args:TC.tppat list, body:TC.tpexp} list | BIND of (T.varInfo * TC.tpexp) list fun size n nil = n | size n (EXP nil :: items) = size n items | size n (EXP (exp::rest) :: items) = sizeExp n exp (EXP rest :: items) | size n (PAT nil :: items) = size n items | size n (PAT (pat::rest) :: items) = sizePat n pat (PAT rest :: items) | size n (DECL nil :: items) = size n items | size n (DECL (decl::rest) :: items) = sizeDecl n decl (DECL rest :: items) | size n (RULE nil :: items) = size n items | size n (RULE ({args,body}::rest) :: items) = size n (PAT args :: EXP [body] :: RULE rest :: items) | size n (BIND nil :: items) = size n items | size n (BIND ((var,body)::rest) :: items) = size (incVar (n, [var])) (EXP [body] :: BIND rest :: items) and sizeExp n exp items = (checkLimit n; case exp of TC.TPAPPM {argExpList, funExp, funTy, loc} => size (inc n) (EXP (funExp::argExpList) :: items) | TC.TPCASEM {caseKind, expList, expTyList, loc, ruleBodyTy, ruleList} => size (inc n) (EXP expList :: RULE ruleList :: items) | TC.TPCAST (tpexp, ty, loc) => sizeExp (inc n) tpexp items | TC.TPCONSTANT {const, loc, ty} => size (incConst(n, const)) items | TC.TPDATACONSTRUCT {argExpOpt = NONE, argTyOpt, con:T.conInfo, instTyList, loc } => size (inc n) items | TC.TPDATACONSTRUCT {argExpOpt = SOME exp, argTyOpt, con:T.conInfo, instTyList, loc } => sizeExp (inc n) exp items | TC.TPERROR => size (inc n) items | TC.TPEXNCONSTRUCT {argExpOpt = NONE, argTyOpt, exn:TC.exnCon, instTyList, loc } => size (inc n) items | TC.TPEXNCONSTRUCT {argExpOpt = SOME exp, argTyOpt, exn:TC.exnCon, instTyList, loc } => sizeExp (inc n) exp items | TC.TPEXN_CONSTRUCTOR {exnInfo, loc} => size (inc n) items | TC.TPEXEXN_CONSTRUCTOR {exExnInfo, loc} => size (inc n) items | TC.TPEXVAR (exVarInfo, loc) => size (inc n) items | TC.TPFFIIMPORT {ffiTy, loc, ptrExp, stubTy} => sizeExp (inc n) ptrExp items | TC.TPFNM {argVarList, bodyExp, bodyTy, loc} => sizeExp (incVar (inc n, argVarList)) bodyExp items | TC.TPGLOBALSYMBOL {kind, loc, name, ty} => size (inc n) items | TC.TPHANDLE {exnVar, exp, handler, loc} => size (incVar (inc n, [exnVar])) (EXP [exp, handler]:: items) | TC.TPLET {body:TC.tpexp list, decls, loc, tys} => size (inc n) (EXP body :: DECL decls :: items) | TC.TPMODIFY {elementExp, elementTy, label, loc, recordExp, recordTy } => size (inc n) (EXP [elementExp, recordExp] :: items) | TC.TPMONOLET {binds:(T.varInfo * TC.tpexp) list, bodyExp, loc} => size (inc n) (BIND binds :: EXP [bodyExp] :: items) | TC.TPOPRIMAPPLY {argExp, argTy, instTyList, loc, oprimOp} => sizeExp (inc n) argExp items | TC.TPPOLY {btvEnv, exp, expTyWithoutTAbs, loc} => sizeExp (incBtvEnv (inc n, btvEnv)) exp items | TC.TPPOLYFNM {argVarList, bodyExp, bodyTy, btvEnv, loc} => sizeExp (incBtvEnv(incVar(inc n,argVarList),btvEnv)) bodyExp items | TC.TPPRIMAPPLY {argExp, argTy, instTyList, loc, primOp} => sizeExp (inc n) argExp items | TC.TPRAISE {exp, loc, ty} => sizeExp (inc n) exp items | TC.TPRECORD {fields:TC.tpexp LabelEnv.map, loc, recordTy} => size (inc n) (EXP (LabelEnv.listItems fields) :: items) | TC.TPSELECT {exp, expTy, label, loc, resultTy} => sizeExp (inc n) exp items | TC.TPSEQ {expList, expTyList, loc} => size (inc n) (EXP expList :: items) | TC.TPSIZEOF (ty, loc) => size (inc n) items | TC.TPSQLSERVER {loc, resultTy, schema:Types.ty LabelEnv.map LabelEnv.map, server:string} => size (inc n) items | TC.TPTAPP {exp, expTy, instTyList, loc} => sizeExp (inc n) exp items | TC.TPVAR (varInfo, loc) => size (inc n) items (* the following should have been eliminate *) | TC.TPRECFUNVAR {arity, loc, var} =>size (inc n) items ) and sizePat n tppat items = (checkLimit n; case tppat of TC.TPPATCONSTANT (constant, ty, loc) => size (incConst (n,constant)) items | TC.TPPATDATACONSTRUCT {argPatOpt = NONE, conPat:T.conInfo, instTyList, loc, patTy } => size (inc n) items | TC.TPPATDATACONSTRUCT {argPatOpt = SOME pat, conPat:T.conInfo, instTyList, loc, patTy } => sizePat (inc n) pat items | TC.TPPATERROR (ty, loc) => size (inc n) items | TC.TPPATEXNCONSTRUCT {argPatOpt = NONE, exnPat:TC.exnCon, instTyList, loc, patTy } => size (inc n) items | TC.TPPATEXNCONSTRUCT {argPatOpt = SOME pat, exnPat:TC.exnCon, instTyList, loc, patTy } => sizePat (inc n) pat items | TC.TPPATLAYERED {asPat, loc, varPat} => size (inc n) (PAT [asPat, varPat] :: items) | TC.TPPATRECORD {fields:TC.tppat LabelEnv.map, loc, recordTy} => size (inc n) (PAT (LabelEnv.listItems fields) :: items) | TC.TPPATVAR (varInfo, loc) => size (inc n) items | TC.TPPATWILD (ty, loc) => size (inc n) items ) and sizeDecl n tpdecl items = (checkLimit n; case tpdecl of TC.TPEXD (exbinds:{exnInfo:Types.exnInfo, loc:Loc.loc} list, loc) => size (incN (n, length exbinds)) items | TC.TPEXNTAGD ({exnInfo, varInfo}, loc) => size (inc n) items | TC.TPEXPORTEXN (exnInfo, loc) => size (inc n) items | TC.TPEXPORTVAR {externalVar, internalVar, loc} => size (inc n) items | TC.TPEXPORTRECFUNVAR {var, arity, loc} => size (inc n) items | TC.TPEXTERNEXN ({path, ty}, loc) => size (inc n) items | TC.TPEXTERNVAR ({path, ty}, loc) => size (inc n) items | TC.TPVAL (binds:(T.varInfo * TC.tpexp) list, loc) => size (inc n) (BIND binds :: items) | TC.TPVALPOLYREC (btvEnv, recbinds:{exp:TC.tpexp, expTy:T.ty, var:T.varInfo} list, loc) => size (incBtvEnv (inc n, btvEnv)) (BIND (map (fn {exp,expTy,var} => (var, exp)) recbinds) :: items) | TC.TPVALREC (recbinds:{exp:TC.tpexp, expTy:T.ty, var:T.varInfo} list,loc) => size (inc n) (BIND (map (fn {exp,expTy,var} => (var, exp)) recbinds) :: items) (* the following should have been eliminate *) | TC.TPFUNDECL _ => raise bug "TPFUNDECL not eliminated" | TC.TPPOLYFUNDECL _ => raise bug "TPPOLYFUNDECL not eliminated" ) in val sizeExp = fn exp => sizeExp 0 exp nil val sizePat = fn pat => sizePat 0 pat nil val sizeDecl = fn decl => sizeDecl 0 decl nil val sizeDeclList = fn declList => size 0 [DECL declList] fun isSmallerExp (exp,n) = if n <= 0 then false else (limit := SOME n; sizeExp exp; true) handle Limit => false fun isSmallerPat (pat,n) = if n <= 0 then false else (limit := SOME n; sizePat pat; true) handle Limit => false fun isSmallerDecl (decl,n) = if n <= 0 then false else (limit := SOME n; sizeDecl decl; true) handle Limit => false fun isSmallerDeclList (declList,n) = if n <= 0 then false else (limit := SOME n; sizeDeclList declList; true) handle Limit => false end end smlsharp-1.2.0/src/compiler/typedlambda0000755 000000000000000000000000012050661606020313 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/typedlambda/main0000755 000000000000000000000000012050661606021237 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/typedlambda/main/TypeCheckTypedLambda.sml0000644 000000000000000000011317612050661606026032 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori * @author Huu-Duc Nguyen *) structure TypeCheckTypedLambda : TYPECHECK_TYPEDLAMBDA = struct local open TypedLambda open Types structure E = TypeCheckTypedLambdaError structure TU = TypesUtils structure PT = PredefinedTypes structure CT = ConstantTerm fun printTy ty = print (Control.prettyPrint (Types.format_ty nil ty)) exception Eqty exception ApplyTy exception NotYet structure btvEq:ORD_KEY = struct type ord_key = BoundTypeVarID.id * BoundTypeVarID.id fun compare ((i1,j1), (i2,j2)) = case BoundTypeVarID.compare(i1,i2) of EQUAL => BoundTypeVarID.compare (j1,j2) | result => result end structure BtvEquiv = BinarySetFn(btvEq) (* * equivalence relation on bound type variabls * used to compute equality of polymorphic types *) fun addToBtvEquiv (btvEquiv, (i1,i2)) = case BoundTypeVarID.compare (i1, i2) of GREATER => BtvEquiv.add(btvEquiv,(i2,i1)) | _ => BtvEquiv.add(btvEquiv,(i1,i2)) fun isBtvEquiv (btvEquiv, (i1,i2)) = case BoundTypeVarID.compare (i1, i2) of GREATER => BtvEquiv.member(btvEquiv,(i2,i1)) | _ => BtvEquiv.member(btvEquiv,(i1,i2)) val emptyBtvEquiv = BtvEquiv.empty val intTy = PT.intty fun makeArrayTy elementTy = RAWty {tyCon = PT.arrayTyCon, args = [elementTy]} val emptyBtvEnv = BoundTypeVarID.Map.empty fun extendBtvEnv (oldBtvEnv, newBtvEnv) = BoundTypeVarID.Map.unionWith #1 (newBtvEnv, oldBtvEnv) fun eqTyList L = let (* * the first parameter btvEquiv is an equivalence relation on * bound type variables. * *) fun eqTy btvEquiv (ty1, ty2) = case (ty1, ty2) of (TYVARty (ref(SUBSTITUTED derefTy1)), _) => eqTy btvEquiv (derefTy1, ty2) | (_, TYVARty (ref(SUBSTITUTED derefTy2))) => eqTy btvEquiv (ty1, derefTy2) | (ALIASty(_, ty1), ty2) => eqTy btvEquiv (ty1, ty2) | (ty1, ALIASty(_, ty2)) => eqTy btvEquiv (ty1, ty2) | (ERRORty, _) => () | (_, ERRORty) => () (* | (ABSSPECty(ty11, ty12), _) => eqTy btvEquiv (ty11,ty2) | (_, ABSSPECty(ty21, ty22)) => eqTy btvEquiv (ty1,ty21) *) | (BOUNDVARty tv1, BOUNDVARty tv2) => if tv1 = tv2 orelse isBtvEquiv (btvEquiv,(tv1,tv2)) then () else raise Eqty | (BOUNDVARty _, _) => (print "Eqty 1\n";raise Eqty) | (_, BOUNDVARty _) => (print "Eqty 2\n";raise Eqty) | (DUMMYty n2, DUMMYty n1) => if n1 = n2 then () else (print "Eqty 3\n";raise Eqty) | (DUMMYty _, _) => (print "Eqty 4\n";raise Eqty) | (_, DUMMYty _) => (print "Eqty 5\n";raise Eqty) | (SINGLETONty (INSTCODEty {oprimId=id1, oprimPolyTy=ty1, ...}), SINGLETONty (INSTCODEty {oprimId=id2, oprimPolyTy=ty2, ...})) => if OPrimID.eq (id1, id2) then eqTy btvEquiv (ty1, ty2) else raise Eqty | (SINGLETONty (INDEXty (l1, ty1)), SINGLETONty (INDEXty (l2, ty2))) => if l1 = l2 then eqTy btvEquiv (ty1, ty2) else raise Eqty | (TYVARty(ref(TVAR {id = id1, ...})), TYVARty(ref(TVAR {id = id2, ...}))) => if FreeTypeVarID.eq(id1,id2) then () else (print "Eqty 6\n";raise Eqty) | (TYVARty _, _) => (print "Eqty 7\n";raise Eqty) | (_, TYVARty _) => (print "Eqty 8\n";raise Eqty) | (FUNMty(domainTyList1, rangeTy1), FUNMty(domainTyList2, rangeTy2)) => if length domainTyList1 = length domainTyList2 then eqTys btvEquiv (ListPair.zip (domainTyList1, domainTyList2) @[(rangeTy1, rangeTy2)]) else (print "Eqty 9\n";raise Eqty) | (RAWty{tyCon={id=id1,...}, args=tyList1}, RAWty{tyCon={id=id2,...}, args=tyList2}) => if TyConID.eq(id1, id2) andalso length tyList1 = length tyList2 then eqTys btvEquiv (ListPair.zip (tyList1, tyList2)) else (print "Eqty 10\n";raise Eqty) (* | ( CONty{tyName = {name=name1,id=id1, boxedKind = ref Types.GENERICty,...}, args = tyList1}, CONty{tyName = {name=name2,id=id2, boxedKind = ref Types.GENERICty,...}, args = tyList2} ) => (* if !Control.doCompileObj then *) if TyConID.eq(id1, id2) andalso length tyList1 = length tyList2 then eqTys btvEquiv (ListPair.zip (tyList1, tyList2)) else (print "Eqty 10\n";raise Eqty) (* else (print "Eqty 11\n";raise Eqty) *) | ( CONty{tyName = {name=name1,id=id1, boxedKind = ref boxedKindValue1,...}, args = tyList1}, CONty{tyName = {name=name2,id=id2, boxedKind = ref boxedKindValue2,...}, args = tyList2} ) => if TyConID.eq(id1, id2) andalso length tyList1 = length tyList2 then eqTys btvEquiv (ListPair.zip (tyList1, tyList2)) else if TU.isATOMty boxedKindValue1 andalso TU.isATOMty boxedKindValue2 then () else (print "\n ****** \n" ; printTy ty1; print "\n"; printTy ty2; print "Eqty 12\n";raise Eqty) *) | (RECORDty tyFields1, RECORDty tyFields2) => let val (newTyEquations, rest) = SEnv.foldri (fn (label, ty1, (newTyEquations, rest)) => let val (rest, ty2) = SEnv.remove(rest, label) in ((ty1, ty2) :: newTyEquations, rest) end handle LibBase.NotFound => (print "Eqty 13\n";raise Eqty)) (nil, tyFields2) tyFields1 in if SEnv.isEmpty rest then eqTys btvEquiv newTyEquations else (print "Eqty 14\n";raise Eqty) end | (POLYty{boundtvars = btvenv1, body = body1}, POLYty{boundtvars = btvenv2, body = body2}) => let val btvlist1 = BoundTypeVarID.Map.listKeys btvenv1 val btvlist2 = BoundTypeVarID.Map.listKeys btvenv2 val newBtvEquiv = if length btvlist1 = length btvlist2 then ListPair.foldl (fn (btv1, btv2, btvEquiv) => addToBtvEquiv(btvEquiv, (btv1,btv2))) btvEquiv (btvlist1, btvlist2) else (print "Eqty 15\n";raise Eqty) in eqTy newBtvEquiv (body1, body2) end | (SPECty {tyCon = {id=id1,...}, args = tyList1}, SPECty {tyCon = {id=id2,...}, args = tyList2}) => if TyConID.eq(id1, id2) andalso length tyList1 = length tyList2 then eqTys btvEquiv (ListPair.zip (tyList1, tyList2)) else (print "Eqty 16\n";raise Eqty) | (SPECty {tyCon = {id=id1,...}, args = tyList1}, RAWty {tyCon = {id=id2,...}, args = tyList2}) => if TyConID.eq(id1, id2) andalso length tyList1 = length tyList2 then eqTys btvEquiv (ListPair.zip (tyList1, tyList2)) else (print "Eqty 16\n";raise Eqty) | (RAWty {tyCon = {id=id1,...}, args = tyList1}, SPECty {tyCon = {id=id2,...}, args = tyList2}) => if TyConID.eq(id1, id2) andalso length tyList1 = length tyList2 then eqTys btvEquiv (ListPair.zip (tyList1, tyList2)) else (print "Eqty 16\n";raise Eqty) | (OPAQUEty {spec ={tyCon = {id=id1,...}, args = tyList1}, implTy=implTy1}, OPAQUEty {spec ={tyCon = {id=id2,...}, args = tyList2}, implTy=implTy2}) => if TyConID.eq(id1, id2) andalso length tyList1 = length tyList2 then eqTys btvEquiv (ListPair.zip (tyList1, tyList2)) else (print "Eqty 17\n";raise Eqty) (* | (SPECty ty1, SPECty ty2) => if !Control.doCompileObj orelse !Control.doFunctorCompile then eqTy btvEquiv (ty1, ty2) else (print "Eqty 16\n";raise Eqty) | (SPECty(CONty{tyName = {name=name1,id=id1,...}, args = tyList1}), CONty{tyName = {name=name2,id=id2,...}, args = tyList2}) => if TyConID.eq(id1, id2) andalso length tyList1 = length tyList2 then eqTys btvEquiv (ListPair.zip (tyList1, tyList2)) else (print "Eqty 17\n";raise Eqty) | (CONty{tyName = {name=name1,id=id1,...}, args = tyList1}, SPECty(CONty{tyName = {name=name2,id=id2,...}, args = tyList2})) => if TyConID.eq(id1, id2) andalso length tyList1 = length tyList2 then eqTys btvEquiv (ListPair.zip (tyList1, tyList2)) else (print "Eqty 18\n";raise Eqty) *) | _ => (print "Eqty 19\n";raise Eqty) and eqTys btvEquiv nil = () | eqTys btvEquiv ((ty1,ty2)::tail) = (eqTy btvEquiv (ty1,ty2); eqTys btvEquiv tail) in eqTys emptyBtvEquiv L end fun checkApplyTy (funTy, argTyList) = case TU.derefTy funTy of FUNMty(paramTyList, resultTy) => let val numParams = length paramTyList val numArgTys = length argTyList in (if numParams = numArgTys then (eqTyList (ListPair.zip (paramTyList, argTyList)); resultTy) else raise ApplyTy) handle Eqty => raise ApplyTy end | _ => raise ApplyTy fun staticFieldSelect (btvEnv:Types.btvKind BoundTypeVarID.Map.map) (recordTy, label, loc) = case TU.derefTy recordTy of RECORDty tyFields => ( case SEnv.find(tyFields, label) of SOME fieldTy => fieldTy | _ => (E.enqueueDiagnosis ( loc, "staticFieldSelect 1", E.RecordFieldNotFound { recordTy = recordTy, field = label } ); Types.ERRORty ) ) | BOUNDVARty i => ( case BoundTypeVarID.Map.find(btvEnv, i) of SOME {recordKind = REC fields,...} => (case SEnv.find(fields, label) of SOME ty => ty | NONE => (E.enqueueDiagnosis ( loc, "staticFieldSelect 2", E.RecordFieldNotFound { recordTy = recordTy, field = label } ); Types.ERRORty ) ) | _ => ( E.enqueueDiagnosis ( loc, "staticFieldSelect 3", E.RecordFieldNotFound { recordTy = recordTy, field = label } ); Types.ERRORty ) ) | _ => ( E.enqueueDiagnosis ( loc, "staticFieldSelect 4", E.RecordFieldNotFound { recordTy = recordTy, field = label } ); Types.ERRORty ) fun typecheckExp btvEnv tlexp = case tlexp of TLFOREIGNAPPLY {funExp, funTy, argExpList, attributes, loc} => let val funExpTy = typecheckExp btvEnv funExp val argExpTyList = map (typecheckExp btvEnv) argExpList (* case (map (typecheckExp btvEnv) argExpList) of nil => [PT.unitty] | tyList => tyList *) in checkApplyTy (funTy, argExpTyList) handle ApplyTy => ( E.enqueueDiagnosis ( loc, "typecheckExp 1", E.OperatorOperandMismatch { funTy = funTy, argTyList = argExpTyList } ); ERRORty ) end | TLEXPORTCALLBACK {funExp, funTy, attributes, loc} => let val funExpTy = typecheckExp btvEnv funExp val _ = eqTyList [(funExpTy,funTy)] handle Eqty => E.enqueueDiagnosis ( loc, "typecheckExp 2", E.TypeAndAnnotationMismatch { annotation = funTy, expType = funExpTy } ) in PT.ptrty end | TLEXCEPTIONTAG {tagValue, displayName, loc} => PT.exntagty (* (case ExnTagID.getExportNameInID tagValue of SOME name => (case (PT.exnTagNameToInt name) of SOME (int: int) => CT.constDefaultTy (CT.INT(Int32.fromInt(int))) | NONE => raise Control.Bug "exception tag is not predefined" ) | NONE => case ExnTagID.getNonExportIDInID tagValue of SOME int => CT.constDefaultTy (CT.INT(Int32.fromInt(int))) | NONE => raise Control.Bug "exception tag is not string" ) *) | TLCONSTANT {value,...} => CT.constDefaultTy value | TLGLOBALSYMBOL {ty,...} => ty | TLTAGOF {ty, loc} => PT.wordty | TLSIZEOF {ty, loc} => PT.wordty | TLINDEXOF {label, recordTy, loc} => (staticFieldSelect btvEnv (recordTy, label, loc); SINGLETONty (INDEXty (label, recordTy))) | TLVAR {varInfo, ...} => #ty varInfo | TLGETFIELD {arrayExp, indexExp, elementTy, loc} => let val arrayExpTy = typecheckExp btvEnv arrayExp val arrayTy = makeArrayTy elementTy val _ = eqTyList [(arrayExpTy, arrayTy)] handle Eqty => E.enqueueDiagnosis ( loc, "typecheckExp 3", E.TypeAndAnnotationMismatch { annotation = arrayTy, expType = arrayExpTy } ) val arrayIndexTy = typecheckExp btvEnv indexExp val _ = eqTyList [(arrayIndexTy, intTy)] handle Eqty => E.enqueueDiagnosis ( loc, "typecheckExp 4", E.TypeAndAnnotationMismatch { annotation = intTy, expType = arrayIndexTy } ) in elementTy end | TLSETTAIL {consExp, newTailExp, listTy, consRecordTy, tailLabel, loc} => let val consExpTy = typecheckExp btvEnv consExp val newTailExpTy = typecheckExp btvEnv newTailExp val _ = eqTyList[(consExpTy, listTy), (newTailExpTy, listTy) ] handle Eqty => E.enqueueDiagnosis ( loc, "typecheckExp 27", E.SetTailMismatch { consExpTy = consExpTy, newTailExpTy = newTailExpTy, listTy = listTy } ) in PT.unitty end | TLSETFIELD {arrayExp, indexExp, valueExp, elementTy, loc } => let val valueExpTy = typecheckExp btvEnv valueExp val _ = eqTyList [(valueExpTy, elementTy)] handle Eqty => E.enqueueDiagnosis ( loc, "typecheckExp 5", E.TypeAndAnnotationMismatch { annotation = elementTy, expType = valueExpTy } ) val arrayExpTy = typecheckExp btvEnv arrayExp val arrayTy = makeArrayTy elementTy val _ = eqTyList [(arrayExpTy, arrayTy)] handle Eqty => E.enqueueDiagnosis ( loc, "typecheckExp 6", E.TypeAndAnnotationMismatch { annotation = arrayTy, expType = arrayExpTy } ) val arrayIndexTy = typecheckExp btvEnv indexExp val _ = eqTyList [(arrayIndexTy, intTy)] handle Eqty => E.enqueueDiagnosis ( loc, "typecheckExp 7", E.TypeAndAnnotationMismatch { annotation = intTy, expType = arrayIndexTy } ) in PT.unitty end | TLARRAY {sizeExp, initialValue, elementTy, isMutable, loc} => let val sizeExpTy = typecheckExp btvEnv sizeExp val _ = eqTyList [(sizeExpTy, intTy)] handle Eqty => E.enqueueDiagnosis ( loc, "typecheckExp 9", E.TypeAndAnnotationMismatch { annotation = intTy, expType = sizeExpTy } ) val initialValueTy = typecheckExp btvEnv initialValue val _ = eqTyList [(initialValueTy, elementTy)] handle Eqty => E.enqueueDiagnosis ( loc, "typecheckExp 10", E.TypeAndAnnotationMismatch { annotation = elementTy, expType = initialValueTy } ) in RAWty{tyCon = PT.arrayTyCon, args = [initialValueTy]} end | TLCOPYARRAY {srcExp, srcIndexExp, dstExp, dstIndexExp, lengthExp, elementTy, loc } => let val arrayTy = makeArrayTy elementTy val srcExpTy = typecheckExp btvEnv srcExp val _ = eqTyList [(srcExpTy, arrayTy)] handle Eqty => E.enqueueDiagnosis ( loc, "typecheckExp 27", E.TypeAndAnnotationMismatch { annotation = arrayTy, expType = srcExpTy } ) val srcIndexExpTy = typecheckExp btvEnv srcIndexExp val _ = eqTyList [(srcIndexExpTy, PT.intty)] handle Eqty => E.enqueueDiagnosis ( loc, "typecheckExp 28", E.TypeAndAnnotationMismatch { annotation = PT.intty, expType = srcIndexExpTy } ) val dstExpTy = typecheckExp btvEnv dstExp val _ = eqTyList [(dstExpTy, arrayTy)] handle Eqty => E.enqueueDiagnosis ( loc, "typecheckExp 29", E.TypeAndAnnotationMismatch { annotation = arrayTy, expType = dstExpTy } ) val dstIndexExpTy = typecheckExp btvEnv dstIndexExp val _ = eqTyList [(dstIndexExpTy, PT.intty)] handle Eqty => E.enqueueDiagnosis ( loc, "typecheckExp 28", E.TypeAndAnnotationMismatch { annotation = PT.intty, expType = dstIndexExpTy } ) val lengthExpTy = typecheckExp btvEnv lengthExp val _ = eqTyList [(lengthExpTy, PT.intty)] handle Eqty => E.enqueueDiagnosis ( loc, "typecheckExp 30", E.TypeAndAnnotationMismatch { annotation = PT.intty, expType = lengthExpTy } ) in PT.unitty end | TLPRIMAPPLY {primInfo, argExpList, instTyList, loc} => let val funTy = #ty primInfo val argExpTyList = map (typecheckExp btvEnv) argExpList val resultTy = checkApplyTy (funTy, argExpTyList) handle ApplyTy => ( E.enqueueDiagnosis ( loc, "typecheckExp 11", E.OperatorOperandMismatch { funTy = funTy, argTyList = argExpTyList } ); ERRORty ) in resultTy end | TLAPPM {funExp, funTy, argExpList, loc} => let val expFunTy = typecheckExp btvEnv funExp val _ = eqTyList [(funTy, expFunTy)] handle Eqty => E.enqueueDiagnosis ( loc, "typecheckExp 12", E.TypeAndAnnotationMismatch { annotation = funTy, expType = expFunTy } ) val argExpTyList = map (typecheckExp btvEnv) argExpList val resultTy = checkApplyTy (funTy, argExpTyList) handle ApplyTy => ( E.enqueueDiagnosis ( loc, "typecheckExp 16", E.OperatorOperandMismatch { funTy = funTy, argTyList = argExpTyList } ); ERRORty ) in resultTy end | TLLET {localDeclList, mainExp, loc} => let val _ = typecheckTldeclList btvEnv localDeclList in typecheckExp btvEnv mainExp end | TLRECORD {expList, recordTy, loc, ...} => let val expTyList = map (typecheckExp btvEnv) expList val tyList = case TU.derefTy recordTy of RECORDty tyFields => SEnv.listItems tyFields | _ => (E.enqueueDiagnosis ( loc, "typecheckExp 13", E.RecordTermDoNotHaveARecordType recordTy ); map (fn x => Types.ERRORty) expList ) val _ = (if length tyList = length expTyList then eqTyList (ListPair.zip (tyList, expTyList)) else E.enqueueDiagnosis (loc, "typecheckExp 14", E.ArgNumAndArgTyListMisMatch { numArgs = length expTyList, numArgTys = length tyList } ) ) handle Eqty => ( E.enqueueDiagnosis (loc, "typecheckExp 15", E.ArgTyListAndArgExpTyListMismatch { argTyList = tyList, argExpTyList = expTyList } ) ) in recordTy end | TLSELECT {recordExp, indexExp, label, recordTy, resultTy = resultTyAnnotation, loc} => let val expRecordTy = typecheckExp btvEnv recordExp val _ = eqTyList [(expRecordTy, recordTy)] handle Eqty => E.enqueueDiagnosis ( loc, "typecheckExp 16", E.TypeAndAnnotationMismatch { annotation = recordTy, expType = expRecordTy } ) val indexExpTy = typecheckExp btvEnv indexExp val _ = eqTyList [(indexExpTy, SINGLETONty (INDEXty (label, recordTy)))] handle Eqty => E.enqueueDiagnosis ( loc, "typecheckExp 16-2", E.TypeAndAnnotationMismatch { annotation = indexExpTy, expType = SINGLETONty (INDEXty (label, recordTy)) } ) val resultTy = staticFieldSelect btvEnv (recordTy, label, loc) val _ = eqTyList [(resultTy, resultTyAnnotation)] handle Eqty => E.enqueueDiagnosis ( loc, "typecheckExp 16-3", E.TypeAndAnnotationMismatch { annotation = resultTyAnnotation, expType = resultTy } ) in resultTy end | TLMODIFY {recordExp, recordTy, indexExp, label, valueExp, loc} => let val expRecordTy = typecheckExp btvEnv recordExp val _ = eqTyList [(expRecordTy, recordTy)] handle Eqty => E.enqueueDiagnosis ( loc, "typecheckExp 17", E.TypeAndAnnotationMismatch { annotation = recordTy, expType = expRecordTy } ) val indexExpTy = typecheckExp btvEnv indexExp val _ = eqTyList [(indexExpTy, SINGLETONty (INDEXty (label, recordTy)))] handle Eqty => E.enqueueDiagnosis ( loc, "typecheckExp 18", E.TypeAndAnnotationMismatch { annotation = indexExpTy, expType = SINGLETONty (INDEXty (label, recordTy)) } ) val fieldTy = staticFieldSelect btvEnv (recordTy, label, loc) val valueTy = typecheckExp btvEnv valueExp val _ = eqTyList [(valueTy, fieldTy)] handle Eqty => E.enqueueDiagnosis ( loc, "typecheckExp 18-2", E.TypeAndAnnotationMismatch { annotation = valueTy, expType = fieldTy } ) in recordTy end | TLRAISE {argExp, resultTy, loc} => let val expTy = typecheckExp btvEnv argExp in resultTy end | TLHANDLE {exp, exnVar as {ty,...}, handler, loc} => let val expTy = typecheckExp btvEnv exp val _ = eqTyList [(ty, PT.exnty)] handle Eqty => E.enqueueDiagnosis ( loc, "typecheckExp 19", E.TypeAndAnnotationMismatch { annotation = PT.exnty, expType = ty } ) val handlerTy = typecheckExp btvEnv handler val _ = eqTyList [(expTy, handlerTy)] handle Eqty => E.enqueueDiagnosis ( loc, "typecheckExp 20", E.TypeAndAnnotationMismatch { annotation = expTy, expType = handlerTy } ) in expTy end | TLFNM {argVarList, bodyTy, bodyExp, loc} => let val argTyList = map #ty argVarList val bodyExpTy = typecheckExp btvEnv bodyExp val _ = eqTyList [(bodyTy, bodyExpTy)] handle Eqty => E.enqueueDiagnosis ( loc, "typecheckExp 21", E.TypeAndAnnotationMismatch { annotation = bodyTy, expType = bodyExpTy } ) in FUNMty(argTyList, bodyTy) end | TLPOLY {btvEnv = btvKind, expTyWithoutTAbs, exp, loc} => let val bodyExpTy = typecheckExp (extendBtvEnv(btvEnv,btvKind)) exp val _ = eqTyList [(expTyWithoutTAbs, bodyExpTy)] handle Eqty => E.enqueueDiagnosis ( loc, "typecheckExp 22", E.TypeAndAnnotationMismatch { annotation = expTyWithoutTAbs, expType = bodyExpTy } ) in POLYty{boundtvars = btvKind, body = bodyExpTy} end | TLTAPP {exp, expTy, instTyList, loc} => let val polyExpTy = typecheckExp btvEnv exp val _ = eqTyList [(expTy, polyExpTy)] handle Eqty => E.enqueueDiagnosis ( loc, "typecheckExp 23", E.TypeAndAnnotationMismatch { annotation = expTy, expType = polyExpTy } ) val instanciatedTy = case TypesUtils.derefTy expTy of POLYty {boundtvars, body} => let val polyArity = BoundTypeVarID.Map.numItems boundtvars val numTyArgs = List.length instTyList in if polyArity = numTyArgs then TU.tpappTy(expTy, instTyList) else ( E.enqueueDiagnosis ( loc, "typecheckExp 24", E.InstanceArityMisMatch { polyArity = polyArity, numTyargs = numTyArgs } ); Types.ERRORty ) end | _ => raise Control.Bug "instantiate non poly ty in typecheckExp (typedlambda/main/TypeCheclTypedLambda.sml)" in instanciatedTy end | TLSWITCH {switchExp, expTy, branches, defaultExp, loc} => let val switchExpTy = typecheckExp btvEnv switchExp val defaultExpTy = typecheckExp btvEnv defaultExp val _ = eqTyList [(switchExpTy, expTy)] handle Eqty => ( print "typecheck TLSWITCH\n"; print (TypedLambdaFormatter.tlexpToString tlexp); print "\n"; print (TypedLambdaFormatter.tlexpToString switchExp); print "\n"; E.enqueueDiagnosis ( loc, "typecheckExp 25", E.TypeAndAnnotationMismatch { annotation = expTy, expType = switchExpTy } ) ) val _ = map (fn {constant, exp} => let val ruleBodyTy = typecheckExp btvEnv exp in eqTyList [(defaultExpTy,ruleBodyTy)] handle Eqty => E.enqueueDiagnosis ( loc, "typecheckExp 26", E.TypeAndAnnotationMismatch { annotation = defaultExpTy, expType = ruleBodyTy } ) end ) branches in defaultExpTy end | TLCAST {exp, targetTy, loc} => let val expTy = typecheckExp btvEnv exp in case TU.derefTy expTy of BOUNDVARty _ => E.enqueueDiagnosis ( loc, "typecheckExp 27", E.CompilerCast { source = expTy, target = targetTy } ) | _ => (); targetTy end and typecheckTldecl btvEnv tldecl = case tldecl of TLVAL {boundVar as {ty,...}, boundExp, loc} => let val expTy = typecheckExp btvEnv boundExp in (eqTyList [(ty, expTy)]) handle Eqty => (print "*** typecheckTlDecl*** \n"; print (Control.prettyPrint (TypedLambda.format_tldecl nil tldecl)); print "\n"; E.enqueueDiagnosis ( loc, "typecheckTldecl 1", E.TypeAndAnnotationMismatch { annotation = ty, expType = expTy } ) ) end | TLVALREC {recbindList, loc} => ( map (fn {boundVar as {ty,...}, boundExp} => let val expTy = typecheckExp btvEnv boundExp in eqTyList [(ty, expTy)] handle Eqty => E.enqueueDiagnosis ( loc, "typecheckTldecl 2", E.TypeAndAnnotationMismatch { annotation = ty, expType = expTy } ) end ) recbindList; () ) and typecheckTldeclList btvEnv nil = () | typecheckTldeclList btvEnv (tldecl::tldeclList) = (typecheckTldecl btvEnv tldecl; typecheckTldeclList btvEnv tldeclList) in fun typecheckBasicBlock basicBlock = case basicBlock of TLVALBLOCK {code, exnIDSet} => (map (typecheckTldecl emptyBtvEnv) code;()) | TLLINKFUNCTORBLOCK _ => () fun typecheckTopBlock topBlock = case topBlock of TLBASICBLOCK basicBlock => typecheckBasicBlock basicBlock | TLFUNCTORBLOCK {bodyCode, ...} => let val originalMode = !Control.doFunctorCompile val _ = Control.doFunctorCompile := true val _ = map typecheckBasicBlock bodyCode in Control.doFunctorCompile := originalMode end fun typecheck topGroupList = ( E.initializeTypecheckError(); map typecheckTopBlock topGroupList; E.getDiagnoses() ) handle NotYet => E.getDiagnoses() end end smlsharp-1.2.0/src/compiler/typedlambda/main/TypeCheckTypedLambdaError.ppg0000644 000000000000000000000723712050661606027037 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori * @version $Id: TypeCheckTypedLambdaError.ppg,v 1.4 2007/06/19 22:19:12 ohori Exp $ *) structure TypeCheckTypedLambdaError = struct (***************************************************************************) local type longid = Absyn.longid structure UE = UserError val format_idState = Types.format_idState [] val format_ty = Types.format_ty [] val errorQueue = UE.createQueue () in (*% * @formatter(Types.idState) format_idState * @formatter(Types.ty) format_ty * @formatter(Absyn.ty) format_absynTy * @formatter(path) Path.format_pathWithoutDotend * @formatter(longid) Absyn.format_longid * @formatter(PT.ptpat) PT.format_ptpat *) exception (*% * @format({polyArity, numTyargs}) * "polytype" +d "arity" +d "and" +d "instance" +d "types" +d "mismatch" +1 "polyArity:" + polyArity +1 "number" +d "of" + "instance" + "types:" + numTyargs *) InstanceArityMisMatch of {polyArity : int, numTyargs:int} and (*% * @format({consExpTy, newTailExpTy, listTy}) * "SetTail" +d "type" +d "mismatch." +1 "consExpTy:" + consExpTy +1 "newTailExpTy:" + newTailExpTy +1 "listTy:" + listTy *) SetTailMismatch of {consExpTy : Types.ty, newTailExpTy :Types.ty, listTy : Types.ty} and (*% * @format({annotation, expType}) * "expression" + "type" +d "and" +d "annotation" +d "don't" +d "agree" +1 "expression" + "type:" + expType +1 "annotation:" + annotation *) TypeAndAnnotationMismatch of {annotation: Types.ty, expType : Types.ty } and (*% * @format({funTy, argTyList:argTy argTys}) * "opetator" +d "and" +d "operand" +d "don't" +d "agree" +1 "operator" +d "type:" + funTy +1 "operand" +d "types:" + argTys(argTy)(","+d) +d *) OperatorOperandMismatch of {funTy: Types.ty, argTyList : Types.ty list } and (*% * @format({numArgs, numArgTys}) * "number" +d "of" +d "arguments" +d "and" +d "arity" +d "don't" +d "agree" +1 "arguments:" + numArgs +1 "arity:" + numArgTys *) ArgNumAndArgTyListMisMatch of {numArgs:int, numArgTys:int} and (*% * @format({argTyList: argTy argTys, argExpTyList:argExpTy argExpTys}) * "argument" +d "type" +d "annotations" +d "and" +d "argument" +d "types" +d "don't" +d "agree" +1 "annotations:" + argTys(argTy)(","+d) +1 "actuals:" + argExpTys(argExpTy)(","+d) *) ArgTyListAndArgExpTyListMismatch of {argTyList : Types.ty list, argExpTyList:Types.ty list} and (*% * @format(ty) ty + "must" +d "be" +d "a" +d "record" + "type" *) RecordTermDoNotHaveARecordType of Types.ty and (*% * @format({recordTy, field}) "field" +d field +d "not" +d "found" +d * "in" + "record" +d "type:" recordTy *) RecordFieldNotFound of {recordTy:Types.ty, field:string} and (*% * @format({selectorType, recordTy}) "record" +d "type" +d "and" +d "selector" +d * "type" + "don't" +d "agree:" * +1 "selector:" + selectorType * +1 "record" +d "type:" + recordTy *) InconsistentFieldSelector of {selectorType:Types.ty, recordTy:Types.ty} and (*% * @format({source, target}) "Type" +d "cast" +d "is" +d "performed" * +1 "from:" + source * +1 "to:" + target *) CompilerCast of {source:Types.ty, target:Types.ty} fun initializeTypecheckError () = UE.clearQueue errorQueue fun getDiagnoses () = UE.getDiagnoses errorQueue val enqueueDiagnosis = UE.enqueueDiagnosis errorQueue end end smlsharp-1.2.0/src/compiler/typedlambda/main/TypedLambda.ppg0000644 000000000000000000003730112050661606024220 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori * @author Duc-Huu NGUYEN * @version $Id: TypedLambda.ppg,v 1.50 2008/08/06 17:23:41 ohori Exp $ *) structure TypedLambda = struct type loc = Loc.loc (*% * @params(btvEnv) * @formatter(Types.ty) Types.format_ty *) (*% * @prefix formatWithType_ * @params(btvEnv) * @formatter(Types.ty) Types.format_ty *) type ty = (*% @format(ty) ty()(btvEnv) *) (*% * @prefix formatWithType_ @format(ty) ty()(btvEnv) *) Types.ty (*% * @formatter(Types.varInfo) Types.format_varInfo *) (*% * @prefix formatWithType_ * @params(btvEnv) * @formatter(Types.varInfo) Types.formatWithType_varInfo *) type varInfo = (*% *) (*% @prefix formatWithType_ @format(v) v()(btvEnv) *) Types.varInfo (*% * @formatter(Types.exVarInfo) Types.format_exVarInfo *) (*% * @prefix formatWithType_ * @params(btvEnv) * @formatter(Types.exVarInfo) Types.formatWithType_exVarInfo *) type exVarInfo = (*% *) (*% @prefix formatWithType_ @format(v) v()(btvEnv) *) Types.exVarInfo (*% * @formatter(Types.primInfo) Types.format_primInfo *) (*% * @prefix formatWithType_ * @params(btvEnv) * @formatter(Types.primInfo) Types.formatWithType_primInfo *) type primInfo = (*% *) (*% @prefix formatWithType_ @format(x) x()(btvEnv) *) Types.primInfo (*% * @params(btvEnv) * @formatter(Types.btvEnv) Types.format_btvEnv *) (*% * @prefix formatWithType_ * @params(btvEnv) * @formatter(Types.btvEnv) Types.format_btvEnv *) type btvEnv = (*% @format(btv) btv()(btvEnv) *) (*% @prefix formatWithType_ @format(btv) btv()(btvEnv) *) Types.btvEnv (*% @formatter(ConstantTerm.constant) ConstantTerm.format_constant *) (*% @prefix formatWithType_ @formatter(ConstantTerm.constant) ConstantTerm.format_constant *) type constant = ConstantTerm.constant (*% * @params(btvEnv) * @formatter(optionalList) TermFormat.formatOptionalList * @formatter(appList) TermFormat.formatAppList * @formatter(decList) TermFormat.formatDeclList * @formatter(caseList) TermFormat.formatCaseList * @formatter(enclosedList) TermFormat.formatEnclosedList * @formatter(ifCons) TermFormat.formatIfCons * @formatter(formatRecordExp) TermFormat.formatRecordExp * @formatter(withType) formatWithType_varInfo * @formatter(extendBtvEnv) TermFormat.extendBtvEnv * @formatter(Types.foreignFunTy) Types.format_foreignFunTy *) (*% * @prefix formatWithType_ * @params(btvEnv) * @formatter(appList) TermFormat.formatAppList * @formatter(optionalList) TermFormat.formatOptionalList * @formatter(decList) TermFormat.formatDeclList * @formatter(caseList) TermFormat.formatCaseList * @formatter(enclosedList) TermFormat.formatEnclosedList * @formatter(ifCons) TermFormat.formatIfCons * @formatter(formatRecordExp) TermFormat.formatRecordExp * @formatter(extendBtvEnv) TermFormat.extendBtvEnv * @formatter(btvEnv) format_btvEnv * @formatter(Types.foreignFunTy) Types.format_foreignFunTy *) datatype tlexp = (*% * @format({funExp, foreignFunTy, argExpList: arg args, loc}) * L8{ 1[ * "_FFIAPPLY" * +1 funExp()(btvEnv) * +1 args:appList(arg()(btvEnv))("(",",",")") * ] } *) (*% * @prefix formatWithType_ * @format({funExp, foreignFunTy, argExpList: arg args, loc}) * L8{ 2[ * "_FFIAPPLY" * +1 L2{ funExp()(btvEnv) +1 "as" +d foreignFunTy()(btvEnv) } * +1 args:appList(arg()(btvEnv))("(",",",")") * ] } *) TLFOREIGNAPPLY of { funExp : tlexp, foreignFunTy : Types.foreignFunTy, argExpList : tlexp list, loc : loc } | (*% * @format({funExp, foreignFunTy, loc}) * L8{ 1[ "_CALLBACK" +1 funExp()(btvEnv) ] } *) (*% * @prefix formatWithType_ * @format({funExp, foreignFunTy, loc}) * L8{ 2[ "_CALLBACK" * +1 L2{ funExp()(btvEnv) +1 "as" +d foreignFunTy()(btvEnv) } ] } *) TLEXPORTCALLBACK of { funExp : tlexp, (* must be TLFNM *) foreignFunTy : Types.foreignFunTy, loc : loc } | (*% * @format({ty, loc}) * "_sizeof(" ty()(btvEnv) ")" *) (*% * @prefix formatWithType_ * @format({ty, loc}) * "_sizeof(" ty()(btvEnv) ")" *) TLSIZEOF of {ty : ty, loc : loc} | (*% * @format({ty, loc}) * "_tagof(" ty()(btvEnv) ")" *) (*% * @prefix formatWithType_ * @format({ty, loc}) * "_tagof(" ty()(btvEnv) ")" *) TLTAGOF of {ty : ty, loc : loc} | (*% * @format({label, recordTy, loc}) * "_indexof(" !N0{ label "," +1 recordTy()(btvEnv) ")" } *) (*% * @prefix formatWithType_ * @format({label, recordTy, loc}) * "_indexof(" !N0{ label "," +1 recordTy()(btvEnv) ")" } *) TLINDEXOF of {label : string, recordTy : ty, loc : loc} | (*% * @format({value, loc}) value *) (*% * @prefix formatWithType_ * @format({value, loc}) value *) TLCONSTANT of {value : constant, loc : loc} | (*% * @format({name, kind, ty, loc}) * "_GLOBALSYMBOL(" name ")" *) (*% * @prefix formatWithType_ * @format({name, kind, ty, loc}) * "_GLOBALSYMBOL(" !N0{ name +1 ":" +d ty()(btvEnv) } ")" *) TLGLOBALSYMBOL of {name : string, kind : Absyn.globalSymbolKind, ty : ty, loc : loc} | (*% * @format({varInfo, loc}) varInfo *) (*% * @prefix formatWithType_ * @format({varInfo, loc}) varInfo()(btvEnv) *) TLVAR of {varInfo : varInfo, loc : loc} | (*% * @format({exVarInfo, loc}) "EXVAR(" !N0{ exVarInfo } ")" *) (*% * @prefix formatWithType_ * @format({exVarInfo, loc}) "EXVAR(" !N0{ exVarInfo()(btvEnv) } ")" *) TLEXVAR of {exVarInfo : exVarInfo, loc : loc} | (*% @format({primInfo, argExpList: arg args, instTyList: ty tys, loc}) !N0{ 1[ "_PRIM(" primInfo tys:ifCons()(tys:optionalList(ty()(btvEnv))("{",",","}") ) 1 {args:appList(arg()(btvEnv))("(",","1,")")} 1 ")" ] } *) (*% * @prefix formatWithType_ * @format({primInfo, argExpList: arg args, instTyList: ty tys, loc}) * L8{ 2[ "_PRIMAPPLY(" primInfo()(btvEnv) ")" * tys:ifCons()( +1 tys:appList(ty()(btvEnv))("(",",",")") ) * +1 args:appList(arg()(btvEnv))("(",",",")") ] } *) TLPRIMAPPLY of { primInfo : primInfo, argExpList : tlexp list, instTyList : ty list, loc : loc } | (*% * @format({funExp, funTy, argExpList: arg args, loc}) * L8{ 1[ * funExp()(btvEnv) * +1 args:appList(arg()(btvEnv))("{",",","}") * ] } *) (*% * @prefix formatWithType_ * @format({funExp, funTy, argExpList: arg args, loc}) * L8{ 2[ * L2{ funExp()(btvEnv) +1 ":" +d funTy()(btvEnv) } * +1 args:appList(arg()(btvEnv))("{",",","}") * ] } *) TLAPPM of { funExp : tlexp, funTy : ty, argExpList : tlexp list, loc : loc } | (*% * @format({localDeclList : dec decs, mainExp, loc}) "let" 1[ decs:decList(dec()(btvEnv))(+1,+1) ] +1 "in" 1[ +1 mainExp()(btvEnv)] +1 "end" *) (*% * @prefix formatWithType_ * @format({localDeclList : dec decs, mainExp, loc}) * L2{ !N0{ * "let" 2[ decs:decList(dec()(btvEnv))(+1,+1) ] * +1 "in" 2[ +1 !N0{ mainExp()(btvEnv) } ] * +1 "end" * } } *) TLLET of { localDeclList : tldecl list, mainExp : tlexp, loc : loc } | (*% * @format({fields:field fields, recordTy, isMutable, loc}) * fields:formatRecordExp(field()(btvEnv)) *) (*% * @prefix formatWithType_ * @format({fields:field fields, recordTy, isMutable, loc}) * L2{ fields:formatRecordExp(field()(btvEnv)) * +1 ":" +d recordTy()(btvEnv) } *) TLRECORD of { isMutable : bool, fields : tlexp LabelEnv.map, recordTy : ty, loc : loc } | (*% * @format({recordExp, indexExp, label, recordTy, resultTy, loc}) * L8{ 1[ "#" label * +1 indexExp()(btvEnv) * +1 recordExp()(btvEnv) ] } *) (*% * @prefix formatWithType_ * @format({recordExp, indexExp, label, recordTy, resultTy, loc}) * L2{ * L8{ 2[ "#" label * +1 indexExp()(btvEnv) * +1 L2{ recordExp()(btvEnv) * +1 ":" +d recordTy()(btvEnv) } ] } * +1 ":" +d resultTy()(btvEnv) } *) TLSELECT of { recordExp : tlexp, indexExp : tlexp, label : string, recordTy : ty, resultTy : ty, loc : loc } | (*% * @format({recordExp, recordTy, indexExp, label, valueExp, loc}) * L8{ 1[ recordExp()(btvEnv) * +1 "#" +d "{" * !N0{ L2{ label +1 "/" +d indexExp()(btvEnv) } +d "=" * 1[ +1 valueExp()(btvEnv) ] } "}" ] } *) (*% * @prefix formatWithType_ * @format({recordExp, recordTy, indexExp, label, valueExp, loc}) * L8{ 2[ L2{ recordExp()(btvEnv) +1 ":" +d recordTy()(btvEnv) } * +1 "#" +d "{" * !N0{ L2{ label +1 "/" +d indexExp()(btvEnv) } +d "=" * 2[ +1 valueExp()(btvEnv) ] } "}" ] } *) TLMODIFY of { recordExp : tlexp, recordTy : ty, indexExp : tlexp, label : string, valueExp : tlexp, loc : loc } | (*% * @format({argExp, resultTy, loc}) * R1{ 1[ "raise" +1 argExp()(btvEnv) ] } *) (*% * @prefix formatWithType_ * @format({argExp, resultTy, loc}) * L2{ R1{ 2[ "raise" +1 argExp()(btvEnv) ] } * +1 ":" +d resultTy()(btvEnv) } *) TLRAISE of { argExp : tlexp, resultTy : ty, loc : loc } | (*% * @format({exp, exnVar, handler, loc}) * R1{ "_try" * 1[ +1 exp()(btvEnv) ] * +1 "handle" +d { exnVar +1 "=>" } * 1[ +1 handler()(btvEnv) ] * +1 "end" } *) (*% * @prefix formatWithType_ * @format({exp, exnVar, handler, loc}) * R1{ "_try" * 2[ +1 exp()(btvEnv) ] * +1 "handle" +d { exnVar()(btvEnv) +1 "=>" } * 2[ +1 handler()(btvEnv) ] * +1 "end" } *) TLHANDLE of { exp : tlexp, exnVar : varInfo, handler : tlexp, loc : loc } | (*% @format({switchExp, expTy, branches: branch branches, defaultExp, loc}) R1{ { 1[ "case" +1 switchExp()(btvEnv) +1 "of" ] } branches:caseList(branch) (1[+1], +1 "|" +d, !N0{ 1[ "_" +d "=>" +1 defaultExp()(btvEnv) ] }) } @format:branch({constant, exp}) !N0{ 1[ constant +d "=>" +1 exp()(btvEnv) ] } *) (*% * @prefix formatWithType_ * @format({switchExp, expTy, branches: branch branches, defaultExp, loc}) * R1{ * { 2[ "case" +1 L2{ switchExp()(btvEnv) +1 ":" +d expTy()(btvEnv) } * +1 "of" ] } * branches:caseList(branch) * (2[+1], +1 "|" +d, 2[ "_" +d "=>" +1 defaultExp()(btvEnv) ]) * } * @format:branch({constant, exp}) * 2[ constant +d "=>" +1 exp()(btvEnv) ] *) TLSWITCH of { switchExp : tlexp, expTy : ty, branches : {constant : constant, exp : tlexp} list, defaultExp : tlexp, loc : loc } | (*% * @format({argVarList: arg args, bodyTy, bodyExp, loc}) * R1{ "fn" +d {args:appList(arg)("{",",","}")} +d "=>" * 1[ +1 bodyExp()(btvEnv) ] } *) (*% * @prefix formatWithType_ * @format({argVarList: arg args, bodyTy, bodyExp, loc}) * R1{ "fn" +d args:appList(arg()(btvEnv))("{",",","}") +d "=>" * 3[ +1 L2{ bodyExp()(btvEnv) +1 ":" +d bodyTy()(btvEnv) } ] } *) TLFNM of { argVarList : varInfo list, bodyTy : ty, bodyExp : tlexp, loc : loc } | (*% * @format({btvEnv:btv, expTyWithoutTAbs, exp, loc}) * "[" !N0{ btv()(btvEnv) "." * +1 exp()(btv:extendBtvEnv()(btvEnv)) } "]" *) (*% * @prefix formatWithType_ * @format({btvEnv:btv, expTyWithoutTAbs, exp, loc}) * "[" !N0{ * btv()(btvEnv) "." * +1 L2{ exp()(btv:extendBtvEnv()(btvEnv)) * +1 ":" +d expTyWithoutTAbs()(btv:extendBtvEnv()(btvEnv)) } * } "]" *) TLPOLY of { btvEnv : btvEnv, expTyWithoutTAbs : ty, exp : tlexp, loc : loc } | (*% * @format({exp, expTy, instTyList: ty tys, loc}) * L8{ 1[ exp()(btvEnv) * +1 tys:enclosedList(ty()(btvEnv))("{",",","}") ] } *) (*% * @prefix formatWithType_ * @format({exp, expTy, instTyList: ty tys, loc}) * L8{ 2[ L2{ exp()(btvEnv) +1 ":" +d expTy()(btvEnv) } * +1 tys:enclosedList(ty()(btvEnv))("{",",","}") ] } *) TLTAPP of { exp : tlexp, expTy : ty, instTyList : ty list, loc : loc } | (*% * @format({exp, targetTy, loc}) * "cast" "(" !N0{ exp()(btvEnv) } ")" *) (*% * @prefix formatWithType_ * @format({exp, targetTy, loc}) * "cast" "(" !N0{ exp()(btvEnv) +1 ":" +d targetTy()(btvEnv) } ")" *) TLCAST of {exp : tlexp, targetTy : ty, loc : loc} and tldecl = (*% @format({boundVar, boundExp, loc}) !N0{"val" +d boundVar +d "=" 1[ +1 boundExp()(btvEnv) ] } *) (*% * @prefix formatWithType_ * @format({boundVar, boundExp, loc}) * "val" +d boundVar()(btvEnv) +d "=" * 4[ +1 boundExp()(btvEnv) ] *) TLVAL of { boundVar : varInfo, boundExp : tlexp, loc : loc } | (*% * @format({recbindList: bind binds, loc}) * binds:decList(bind)("val" +d "rec" +d, +1 "and" +d) * @format:bind({boundVar, boundExp}) * boundVar +d "=" 1[ +1 boundExp()(btvEnv) ] *) (*% * @prefix formatWithType_ * @format({recbindList: bind binds, loc}) * binds:decList(bind)("val" +d "rec" +d, +1 "and" +d) * @format:bind({boundVar, boundExp}) * boundVar()(btvEnv) +d "=" 4[ +1 boundExp()(btvEnv) ] *) TLVALREC of { recbindList : {boundVar : varInfo, boundExp : tlexp} list, loc : loc } | (*% * @format(varInfo * loc) * "export" +d "val" +d varInfo *) (*% * @prefix formatWithType_ * @format(varInfo * loc) * "export" +d "val" +d varInfo()(btvEnv) *) TLEXPORTVAR of varInfo * loc | (*% * @format(exVarInfo * loc) * "extern" +d "val" +d exVarInfo *) (*% * @prefix formatWithType_ * @format(exVarInfo * loc) * "extern" +d "val" +d exVarInfo()(btvEnv) *) TLEXTERNVAR of exVarInfo * loc val format_tldecl' = format_tldecl nil end smlsharp-1.2.0/src/compiler/typedlambda/main/TypedLambda.ppg.smi0000644 000000000000000000001164112050661606025006 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../control/main/Loc.ppg.smi" _require "../../util/main/TermFormat.smi" _require "../../name/main/LocalID.smi" _require "../../builtin2/main/BuiltinPrimitive.ppg.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../types/main/Types.ppg.smi" _require "../../constantterm/main/ConstantTerm.ppg.smi" structure TypedLambda = struct type loc = Loc.loc type ty = Types.ty val format_ty : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> ty -> SMLFormat.FormatExpression.expression list type varInfo = Types.varInfo val format_varInfo : {id:VarID.id, path:string list, ty:ty} -> SMLFormat.FormatExpression.expression list val formatWithType_varInfo : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> {id:VarID.id, path:string list, ty:ty} -> SMLFormat.FormatExpression.expression list type exVarInfo = Types.exVarInfo val format_exVarInfo : {path:string list, ty:ty} -> SMLFormat.FormatExpression.expression list val formatWithType_exVarInfo : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> {path:string list, ty:ty} -> SMLFormat.FormatExpression.expression list type primInfo = Types.primInfo val format_primInfo : {primitive:BuiltinPrimitive.primitive, ty:ty} -> SMLFormat.FormatExpression.expression list val formatWithType_primInfo : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> {primitive:BuiltinPrimitive.primitive, ty:ty} -> SMLFormat.FormatExpression.expression list type btvEnv = Types.btvEnv val format_btvEnv : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> {eqKind:Absyn.eq, tvarKind:Types.tvarKind} BoundTypeVarID.Map.map -> SMLFormat.FormatExpression.expression list type constant = ConstantTerm.constant val format_constant : constant -> SMLFormat.FormatExpression.expression list datatype tlexp = TLAPPM of {argExpList:tlexp list, funExp:tlexp, funTy:ty, loc:loc} | TLCAST of {exp:tlexp, loc:loc, targetTy:ty} | TLCONSTANT of {loc:loc, value:constant} | TLEXPORTCALLBACK of {foreignFunTy:Types.foreignFunTy, funExp:tlexp, loc:loc} | TLEXVAR of {exVarInfo:exVarInfo, loc:loc} | TLFNM of {argVarList:varInfo list, bodyExp:tlexp, bodyTy:ty, loc:loc} | TLFOREIGNAPPLY of {argExpList:tlexp list, foreignFunTy:Types.foreignFunTy, funExp:tlexp, loc:loc} | TLGLOBALSYMBOL of {kind:Absyn.globalSymbolKind, loc:loc, name:string, ty:ty} | TLHANDLE of {exnVar:varInfo, exp:tlexp, handler:tlexp, loc:loc} | TLINDEXOF of {label:string, loc:loc, recordTy:ty} | TLLET of {loc:loc, localDeclList:tldecl list, mainExp:tlexp} | TLMODIFY of {indexExp:tlexp, label:string, loc:loc, recordExp:tlexp, recordTy:ty, valueExp:tlexp} | TLPOLY of {btvEnv:btvEnv, exp:tlexp, expTyWithoutTAbs:ty, loc:loc} | TLPRIMAPPLY of {argExpList:tlexp list, instTyList:ty list, loc:loc, primInfo:primInfo} | TLRAISE of {argExp:tlexp, loc:loc, resultTy:ty} | TLRECORD of {fields:tlexp LabelEnv.map, isMutable:bool, loc:loc, recordTy:ty} | TLSELECT of {indexExp:tlexp, label:string, loc:loc, recordExp:tlexp, recordTy:ty, resultTy:ty} | TLSIZEOF of {loc:loc, ty:ty} | TLSWITCH of {branches:{constant:constant, exp:tlexp} list, defaultExp:tlexp, expTy:ty, loc:loc, switchExp:tlexp} | TLTAGOF of {loc:loc, ty:ty} | TLTAPP of {exp:tlexp, expTy:ty, instTyList:ty list, loc:loc} | TLVAR of {loc:loc, varInfo:varInfo} and tldecl = TLEXPORTVAR of varInfo * loc | TLEXTERNVAR of exVarInfo * loc | TLVAL of {boundExp:tlexp, boundVar:varInfo, loc:loc} | TLVALREC of {loc:loc, recbindList:{boundExp:tlexp, boundVar:varInfo} list} val format_tlexp : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> tlexp -> TermFormat.format val format_tldecl : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> tldecl TermFormat.formatter val formatWithType_tlexp : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> tlexp -> SMLFormat.FormatExpression.expression list val formatWithType_tldecl : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> tldecl TermFormat.formatter val format_tldecl' : tldecl TermFormat.formatter end smlsharp-1.2.0/src/compiler/typedlambda/main/TypedLambdaFormatter.smi0000644 000000000000000000000057612050661606026112 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../control/main/Control.ppg.smi" _require "TypedLambda.ppg.smi" structure TypedLambdaFormatter = struct val tldecToString : TypedLambda.tldecl -> string val tldecToStringWithType : TypedLambda.tldecl -> string val tlexpToString : TypedLambda.tlexp -> string val tlexpToStringWithType : TypedLambda.tlexp -> string end smlsharp-1.2.0/src/compiler/typedlambda/main/TypedLambdaFormatter.sml0000644 000000000000000000000105312050661606026104 0ustar00rootroot0000000 0000000 (** * a pretty printer for the typed lambda calclulus. * @copyright (c) 2006, Tohoku University. *) structure TypedLambdaFormatter = struct fun tldecToString dec = Control.prettyPrint (TypedLambda.format_tldecl nil dec) fun tldecToStringWithType dec = Control.prettyPrint (TypedLambda.formatWithType_tldecl nil dec) fun tlexpToString tlexp = Control.prettyPrint (TypedLambda.format_tlexp nil tlexp) fun tlexpToStringWithType tlexp = Control.prettyPrint (TypedLambda.formatWithType_tlexp nil tlexp) end smlsharp-1.2.0/src/compiler/typedlambda/test0000755 000000000000000000000000012050661606021272 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/typedlambda/test/TestMain.sml0000644 000000000000000000000042612050661606023614 0ustar00rootroot0000000 0000000 (** * @author Liu Bochao * @version $Id: TestMain.sml,v 1.1 2006/03/15 02:34:43 bochao Exp $ *) structure TestMain = struct fun test () = let val tests = TypedLambdaTest.suite () in SMLUnit.TextUITestRunner.runTest {output = TextIO.stdOut} tests end endsmlsharp-1.2.0/src/compiler/typedlambda/test/TypedLambdaTest.sml0000644 000000000000000000000045312050661606025116 0ustar00rootroot0000000 0000000 (** * @author Liu Bochao * @version $Id: TypedLambdaTest.sml,v 1.1 2006/03/15 02:34:44 bochao Exp $ *) structure TypedLambdaTest = struct open SMLUnit.Test fun suite () = TestList [ TestLabel ("TypedLambdaPicklerTest001", TypedLambdaPicklerTest001.suite ()) ] endsmlsharp-1.2.0/src/compiler/typeinference20000755 000000000000000000000000012050661606020747 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/typeinference2/examples0000755 000000000000000000000000012050661606022565 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/typeinference2/examples/check.ml0000644 000000000000000000000012112050661606024245 0ustar00rootroot0000000 0000000 fun id x = x; id id; fun K x y = x; val a = fn (x,y) => K x (fn z => (z x,z y)); smlsharp-1.2.0/src/compiler/typeinference2/examples/demo.ml0000644 000000000000000000000023712050661606024124 0ustar00rootroot0000000 0000000 fun P x y = (x,y); fun f x = #name x; fun g x = #age x; val PairFG = P f g; fun test x = (#1 PairFG x, #2 PairFG x); test {name="joe", office="I51b", age=21}; smlsharp-1.2.0/src/compiler/typeinference2/examples/ex.ml0000644 000000000000000000000005012050661606023605 0ustar00rootroot0000000 0000000 fun f x = (x,"1") val h = (f,1) #1 h 1; smlsharp-1.2.0/src/compiler/typeinference2/examples/exptest.ml0000644 000000000000000000000111212050661606024665 0ustar00rootroot0000000 0000000 let val a = (fn x => x,fn y => y) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) in #1 (#1( #1 (#1( #1 (#1( #1 (#1( #1 (#1( #1 (#1( #1 (#1( #1 (#1( #1 (#1( #1 (#1( #1 (#1( a ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 1 end; smlsharp-1.2.0/src/compiler/typeinference2/examples/exptest1.ml0000644 000000000000000000000114512050661606024754 0ustar00rootroot0000000 0000000 fun fst (x,y) = x; let val a = (fn x => x + 1,fn y => y + 1) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) in #1 (#1( #1 (#1( #1 (#1( #1 (#1( #1 (#1( #1 (#1( #1 (#1( #1 (#1( #1 (#1( #1 (#1( #1 (#1( a ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 1 end; smlsharp-1.2.0/src/compiler/typeinference2/examples/exptest2.ml0000644 000000000000000000000074012050661606024755 0ustar00rootroot0000000 0000000 fun fst (x,y) = x; fun id x = x; let val a = (id, id) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) in fst(fst( fst(fst( fst(fst( fst(fst( fst(fst( fst(fst( fst(fst( fst(fst( fst(fst( a )) )) )) )) )) )) )) )) )) (1,2,1) end; smlsharp-1.2.0/src/compiler/typeinference2/examples/exptest3.ml0000644 000000000000000000000100112050661606024745 0ustar00rootroot0000000 0000000 fun id x = x fun fst (x,y) = x; let val a = (id,id) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) val a = (a,a) in fst (fst( fst (fst( fst (fst( fst (fst( fst (fst( fst (fst( fst (fst( fst (fst( fst (fst( a ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 1 end ; smlsharp-1.2.0/src/compiler/typeinference2/examples/exptest4.ml0000644 000000000000000000000123112050661606024753 0ustar00rootroot0000000 0000000 let val a = fn x => x val a = fn x => a a x val a = fn x => a a x val a = fn x => a a x val a = fn x => a a x val a = fn x => a a x val a = fn x => a a x val a = fn x => a a x val a = fn x => a a x val a = fn x => a a x val a = fn x => a a x val a = fn x => a a x val a = fn x => a a x val a = fn x => a a x val a = fn x => a a x val a = fn x => a a x val a = fn x => a a x val a = fn x => a a x val a = fn x => a a x val a = fn x => a a x val a = fn x => a a x val a = fn x => a a x val a = fn x => a a x val a = fn x => a a x val a = fn x => a a x in a 1 end ; smlsharp-1.2.0/src/compiler/typeinference2/examples/exptest5.ml0000644 000000000000000000000040412050661606024755 0ustar00rootroot0000000 0000000 fn () => let val x = fn x => (x,x) val x = fn y => x (x y) val x = fn y => x (x y) val x = fn y => x (x y) val x = fn y => x (x y) val x = fn y => x y in (#1 (#1 (#1(#1 (#1 (#1 (#1 (#1 (#1 (#1 (#1(#1 (#1 (#1 (#1 (#1 (x 1) )))))))) )))))))) end ; smlsharp-1.2.0/src/compiler/typeinference2/examples/exptest5.tex0000644 000000000000000000000041712050661606025151 0ustar00rootroot0000000 0000000 fun id x = x ; let val x = fn x => (x,x) val x = fn y => x (x y) val x = fn y => x (x y) val x = fn y => x (x y) val x = fn y => x (x y) val x = fn y => x y in #1 (#1( #1 (#1( #1 (#1( #1 (#1( #1 (#1( #1 (#1( #1 (#1( #1 (#1( x id )) )) )) )) )) )) )) )) end ; smlsharp-1.2.0/src/compiler/typeinference2/examples/exptest6.ml0000644 000000000000000000000031212050661606024754 0ustar00rootroot0000000 0000000 fun id x = x; fn () => let val x = fn x => (x,x) val x = x (x id) val x = x (x id) val x = x (x id) val x = x (x id) val x = x (x id) in (#1 (#1 (#1(#1 (#1 (#1 (#1 (#1 (x 1) )))))))) end ; smlsharp-1.2.0/src/compiler/typeinference2/examples/record.ml0000644 000000000000000000000023512050661606024454 0ustar00rootroot0000000 0000000 fun f {a,...} = a; fun g x = #a x; val h = fn x => fn y => #a y x; f {a =1, b = 2}; g {a = {b=1,c=true}, b = 2}; val i = h 3; i {A = 1, a = fn x => x + 1}; smlsharp-1.2.0/src/compiler/typeinference2/examples/sample.ml0000644 000000000000000000000013312050661606024454 0ustar00rootroot0000000 0000000 datatype foo = A of int | B of int; case (2,B(5)) of (1,A(1)) => 3 | (_,B(x)) => x; smlsharp-1.2.0/src/compiler/typeinference2/examples/temp.ml0000644 000000000000000000000011512050661606024140 0ustar00rootroot0000000 0000000 datatype 'a list = nil | :: of 'a * 'a list; op :: (1,nil); val x = 1::nil; smlsharp-1.2.0/src/compiler/typeinference2/examples/temp.sml0000644 000000000000000000000007712050661606024332 0ustar00rootroot0000000 0000000 exception A of int fun f x = let exception A of int in A 1 end smlsharp-1.2.0/src/compiler/typeinference2/examples/temp2.ml0000644 000000000000000000000002512050661606024222 0ustar00rootroot0000000 0000000 fun f (x,y) = (y,x); smlsharp-1.2.0/src/compiler/typeinference2/examples/test0000644 000000000000000000000004112050661606023541 0ustar00rootroot0000000 0000000 datatype foo = A | B; fn A => 1; smlsharp-1.2.0/src/compiler/typeinference2/examples/test.ml0000644 000000000000000000000014612050661606024156 0ustar00rootroot0000000 0000000 fun f (x,y,z,u,w) = (x,y,z,u,w) val a = (fn x => x, 1, fn y => y + 1,fn y => y andalso true, 2); f a; smlsharp-1.2.0/src/compiler/typeinference2/examples/test1.ml0000644 000000000000000000000006312050661606024235 0ustar00rootroot0000000 0000000 fun f x y = (x,y); f f; (* fn y => (f,y) *) it 1; smlsharp-1.2.0/src/compiler/typeinference2/examples/test2.ml0000644 000000000000000000000021312050661606024233 0ustar00rootroot0000000 0000000 fun id x = x; fn x => id id id id id id id id id id id id id id id id id id id id id id id id id id id id id id id id id id id id id id x; smlsharp-1.2.0/src/compiler/typeinference2/examples/testall0000644 000000000000000000000040712050661606024240 0ustar00rootroot0000000 0000000 use "examples/ex.ml"; use "examples/exptest2.ml"; use "examples/exptest5.ml"; use "examples/test.ml"; use "examples/test2.ml"; use "examples/exptest.ml"; use "examples/exptest3.ml"; use "examples/test1.ml"; use "examples/exptest1.ml"; use "examples/exptest4.ml"; smlsharp-1.2.0/src/compiler/typeinference2/main0000755 000000000000000000000000012050661606021673 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/typeinference2/main/InferTypes2.smi0000644 000000000000000000000320212050661606024633 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../../compiler-utils/env/main/SSet.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../builtin2/main/BuiltinPrimitive.ppg.smi" _require "../../builtin2/main/BuiltinTypeNames.ppg.smi" _require "../../builtin2/main/BuiltinTypes.smi" _require "../../constantterm/main/ConstantTerm.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../nameevaluation/main/NameEvalUtils.smi" _require "../../patterncalc/main/PatternCalc.ppg.smi" _require "../../typedcalc/main/TypedCalc.ppg.smi" _require "../../typedcalc/main/TypedCalcUtils.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../types/main/IDCalcUtils.smi" _require "../../types/main/tvarMap.smi" _require "../../types/main/EvalIty.smi" _require "../../types/main/Types.ppg.smi" _require "../../types/main/TypesUtils.smi" _require "../../types/main/OPrimInstMap.smi" _require "../../types/main/OPrimMap.smi" _require "../../types/main/vars.smi" _require "../../types/main/VarMap.smi" _require "../../types/main/Unify.smi" _require "../../util/main/utils.smi" _require "../../usererror/main/UserError.ppg.smi" _require "TypeInferenceContext.ppg.smi" _require "TypeInferenceError.ppg.smi" _require "TypeInferenceUtils.smi" _require "Printers.smi" structure InferTypes = struct val typeinf : IDCalc.topdecl -> TypeInferenceContext.varEnv * TypedCalc.tpdecl list * UserError.errorInfo list end smlsharp-1.2.0/src/compiler/typeinference2/main/InferTypes2.sml0000644 000000000000000000056303012050661606024650 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2012- Tohoku University. * @author Atsushi Ohori *) structure InferTypes = struct local structure T = Types structure IC = IDCalc structure NEU = NameEvalUtils structure ITy = EvalIty structure BT = BuiltinTypes structure A = Absyn structure TC = TypedCalc structure TCU = TypedCalcUtils structure E = TypeInferenceError structure TIC = TypeInferenceContext structure TIU = TypeInferenceUtils structure CT = ConstantTerm structure TU = TypesUtils structure UE = UserError structure U = Unify structure P = Printers exception CyclicTvarkindSpec of string exception Fail val maxDepth = ref 0 fun incDepth () = (maxDepth := !maxDepth + 1; !maxDepth) val ffiApplyTyvars = ref nil : (T.ty * Loc.loc) list ref fun bug s = Control.Bug ("InferType: " ^ s) val emptyScopedTvars = nil : IC.scopedTvars fun mapi f l = let fun loop (i, nil) = nil | loop (i, h::t) = f (i,h) :: loop (i+1, t) in loop (1, l) end fun makeTPRecord labelTyTpexpList loc = let val (tpexpSmap, tySmap, tpbindsRev) = foldl (fn ((label, (ty, tpexp)), (tpexpSmap, tySmap, tpbindsRev)) => if not (TCU.expansive tpexp) then (* if TCU.isAtom tpexp then *) ( LabelEnv.insert (tpexpSmap, label, tpexp), LabelEnv.insert (tySmap, label, ty), tpbindsRev ) else let val newVarInfo = TCU.newTCVarInfo ty in ( LabelEnv.insert (tpexpSmap, label, TC.TPVAR (newVarInfo, loc)), LabelEnv.insert(tySmap, label, ty), (newVarInfo, tpexp) :: tpbindsRev ) end ) (LabelEnv.empty, LabelEnv.empty, nil) labelTyTpexpList val tpbinds = List.rev tpbindsRev val resultTy = T.RECORDty tySmap val recordExp = case tpbinds of nil => TC.TPRECORD {fields=tpexpSmap,recordTy=resultTy,loc=loc} | _ => TC.TPMONOLET {binds=tpbinds, bodyExp= TC.TPRECORD {fields=tpexpSmap,recordTy=resultTy,loc=loc}, loc=loc} in (resultTy, recordExp) end fun makeTupleFields l = mapi (fn (i,x) => (Int.toString i, x)) l fun labelEnvFromList list = List.foldl (fn ((key, item), m) => LabelEnv.insert (m, key, item)) LabelEnv.empty list fun makeTupleTy nil = BT.unitTy | makeTupleTy [ty] = ty | makeTupleTy tys = T.RECORDty (labelEnvFromList (makeTupleFields tys)) fun makeTupleExp (nil, loc) = TC.TPCONSTANT {const=A.UNITCONST loc, ty=BT.unitTy, loc=loc} | makeTupleExp ([(ty, exp)], loc) = exp | makeTupleExp (fields, loc) = let val (_, recordExp) = makeTPRecord (makeTupleFields fields) loc in recordExp end fun LabelEnv_all f env = LabelEnv.foldl (fn (x,z) => z andalso f x) true env datatype dir = IMPORT of {force: bool} | EXPORT fun exportOnly (IMPORT {force}) = force | exportOnly EXPORT = true fun getRuleLocM nil = raise bug "empty rule in getRuleLocM" | getRuleLocM [{args=pat::_, body}] = Loc.mergeLocs (IC.getLocPat pat, IC.getLocExp body) | getRuleLocM rules = let val pat1 = case rules of {args=pat1::_, body}:: _ => pat1 | _ => raise bug "empty pattern in rules\ \ (typeinference/main/TypeInferCore.sml)" val {args=_, body} = List.last rules in Loc.mergeLocs (IC.getLocPat pat1, IC.getLocExp body) end fun tyConSubstTy typIdMap ty = let fun expSubst exp = tyConSubstExp typIdMap exp fun tySubst ty = case TU.derefTy ty of T.SINGLETONty (T.INSTCODEty operator) => T.SINGLETONty (T.INSTCODEty(oprimSelectorSubst typIdMap operator)) | T.SINGLETONty (T.INDEXty (string, ty)) => T.SINGLETONty (T.INDEXty (string, tySubst ty)) | T.SINGLETONty (T.TAGty ty) => T.SINGLETONty (T.TAGty (tySubst ty)) | T.SINGLETONty (T.SIZEty ty) => T.SINGLETONty (T.SIZEty (tySubst ty)) | T.ERRORty => ty | T.DUMMYty dummyTyID => ty | T.TYVARty tvStateRef => ty | T.BOUNDVARty boundTypeVarID => ty | T.FUNMty (tyList, ty) => T.FUNMty (map tySubst tyList, tySubst ty) | T.RECORDty tySenvMap => T.RECORDty (LabelEnv.map tySubst tySenvMap) | T.CONSTRUCTty {tyCon:T.tyCon as {path,...},args} => (case TypID.Map.find(typIdMap, #id tyCon) of NONE => T.CONSTRUCTty {tyCon=tyCon, args= map tySubst args} | SOME tyCon => T.CONSTRUCTty{tyCon=tyCon,args =map tySubst args} ) | T.POLYty {boundtvars, body} => T.POLYty {boundtvars = BoundTypeVarID.Map.map (fn {eqKind, tvarKind} => {eqKind=eqKind, tvarKind = tvarKindSubst tvarKind}) boundtvars, body = tySubst body } and tvarKindSubst tvarKind = case tvarKind of T.OCONSTkind tyList => T.OCONSTkind (map tySubst tyList) | T.OPRIMkind {instances, operators} => T.OPRIMkind {instances = map tySubst instances, operators = map (oprimSelectorSubst typIdMap) operators } | T.UNIV => T.UNIV | T.REC tySenvMap => T.REC (LabelEnv.map tySubst tySenvMap) in tySubst ty end and overloadMatchSubst typIdMap overloadMatch = case overloadMatch of T.OVERLOAD_EXVAR { exVarInfo={path, ty}, instTyList } => T.OVERLOAD_EXVAR { exVarInfo={path=path, ty=tyConSubstTy typIdMap ty}, instTyList = map (tyConSubstTy typIdMap) instTyList } | T.OVERLOAD_PRIM { primInfo= {primitive, ty}, instTyList } => T.OVERLOAD_PRIM { primInfo= {primitive=primitive, ty=tyConSubstTy typIdMap ty}, instTyList = map (tyConSubstTy typIdMap) instTyList } | T.OVERLOAD_CASE (ty, overloadMatchDMap) => T.OVERLOAD_CASE (tyConSubstTy typIdMap ty, TypID.Map.map (overloadMatchSubst typIdMap) overloadMatchDMap ) and oprimSelectorSubst typIdMap {oprimId,path,keyTyList,match,instMap} = {oprimId=oprimId, path = path, keyTyList = map (tyConSubstTy typIdMap) keyTyList, match = overloadMatchSubst typIdMap match, instMap = OPrimInstMap.map (overloadMatchSubst typIdMap) instMap } and tyConSubstExp typIdMap tpexp = let fun tySubst ty = tyConSubstTy typIdMap ty fun expSubst tpexp = case tpexp of TC.TPERROR => tpexp | TC.TPCONSTANT {const, ty, loc} => tpexp | TC.TPGLOBALSYMBOL {name, kind,ty,loc} => tpexp | TC.TPVAR ({id,path,ty}, loc) => TC.TPVAR ({id=id,path=path,ty=tySubst ty}, loc) | TC.TPEXVAR ({path,ty}, loc) => TC.TPEXVAR ({path=path, ty=tySubst ty}, loc) | TC.TPRECFUNVAR {var={path,id,ty}, arity, loc} => TC.TPRECFUNVAR { var={path=path, id=id, ty=tySubst ty}, arity=arity, loc=loc } | TC.TPFNM {argVarList, bodyTy, bodyExp, loc} => TC.TPFNM {argVarList = map (fn {id, path, ty} => {id=id,path=path,ty=tySubst ty} ) argVarList, bodyTy = tySubst bodyTy, bodyExp = expSubst bodyExp, loc = loc } | TC.TPAPPM {funExp, funTy, argExpList, loc} => TC.TPAPPM {funExp = expSubst funExp, funTy = tySubst funTy, argExpList = map expSubst argExpList, loc =loc } | TC.TPDATACONSTRUCT {con={path,id,ty},instTyList,argExpOpt,argTyOpt, loc} => TC.TPDATACONSTRUCT {con={path=path, id=id, ty=tySubst ty}, instTyList = map tySubst instTyList, argExpOpt=Option.map expSubst argExpOpt, argTyOpt=Option.map tySubst argTyOpt, loc=loc } | TC.TPEXNCONSTRUCT {exn,instTyList,argExpOpt,argTyOpt,loc} => TC.TPEXNCONSTRUCT {exn = case exn of TC.EXN {id, ty, path} => TC.EXN {id=id, ty=tySubst ty, path=path} | TC.EXEXN {path, ty} => TC.EXEXN {path=path, ty=tySubst ty}, instTyList = map tySubst instTyList, argExpOpt = Option.map expSubst argExpOpt, argTyOpt=Option.map tySubst argTyOpt, loc = loc } | TC.TPEXN_CONSTRUCTOR {exnInfo={id,ty,path},loc} => TC.TPEXN_CONSTRUCTOR {exnInfo={id=id,ty=tySubst ty,path=path},loc=loc} | TC.TPEXEXN_CONSTRUCTOR {exExnInfo={ty,path},loc} => TC.TPEXEXN_CONSTRUCTOR {exExnInfo={ty=tySubst ty,path=path},loc=loc} | TC.TPCASEM{expList,expTyList,ruleList,ruleBodyTy,caseKind,loc} => TC.TPCASEM {expList = map expSubst expList, expTyList = map tySubst expTyList, ruleList = map (fn {args,body} => {args=map patSubst args, body=expSubst body}) ruleList, ruleBodyTy = tySubst ruleBodyTy, caseKind = caseKind, loc = loc } | TC.TPPRIMAPPLY {primOp, instTyList, argExp, argTy, loc} => TC.TPPRIMAPPLY {primOp = primOp, instTyList = map tySubst instTyList, argExp = expSubst argExp, argTy = tySubst argTy, loc = loc } | TC.TPOPRIMAPPLY {oprimOp, instTyList, argExp, argTy, loc} => TC.TPOPRIMAPPLY {oprimOp=oprimOp, instTyList=map tySubst instTyList, argExp = expSubst argExp, argTy = tySubst argTy, loc=loc} | TC.TPRECORD {fields, recordTy, loc} => TC.TPRECORD {fields = LabelEnv.map expSubst fields, recordTy = tySubst recordTy, loc = loc } | TC.TPSELECT {label, exp, expTy, resultTy, loc} => TC.TPSELECT {label = label, exp = expSubst exp, expTy = tySubst expTy, resultTy = tySubst resultTy, loc = loc} | TC.TPMODIFY{label,recordExp,recordTy,elementExp,elementTy,loc} => TC.TPMODIFY {label=label, recordExp=expSubst recordExp, recordTy=tySubst recordTy, elementExp=expSubst elementExp, elementTy=tySubst elementTy, loc=loc} | TC.TPSEQ {expList, expTyList, loc} => TC.TPSEQ {expList = map expSubst expList, expTyList = map tySubst expTyList, loc=loc } | TC.TPMONOLET {binds, bodyExp, loc} => TC.TPMONOLET {binds = map (fn ({id,path,ty},exp) => ({id=id,path=path,ty=tySubst ty},expSubst exp)) binds, bodyExp=expSubst bodyExp, loc=loc} | TC.TPLET {decls, body, tys, loc} => TC.TPLET {decls =map declSubst decls, body = map expSubst body, tys = map tySubst tys, loc=loc} | TC.TPRAISE {exp, ty, loc} => TC.TPRAISE {exp=expSubst exp, ty=tySubst ty, loc=loc} | TC.TPHANDLE {exp, exnVar={path,id,ty}, handler, loc} => TC.TPHANDLE {exp = expSubst exp, exnVar = {path=path, id=id, ty=tySubst ty}, handler = expSubst exp, loc = loc} | TC.TPPOLYFNM {btvEnv, argVarList, bodyTy, bodyExp, loc} => TC.TPPOLYFNM {btvEnv = BoundTypeVarID.Map.map tvarKindSubst btvEnv, argVarList = map varSubst argVarList, bodyTy = tySubst bodyTy, bodyExp = expSubst bodyExp, loc = loc} | TC.TPPOLY {btvEnv, expTyWithoutTAbs, exp, loc} => TC.TPPOLY {btvEnv = BoundTypeVarID.Map.map tvarKindSubst btvEnv, expTyWithoutTAbs = tySubst expTyWithoutTAbs, exp = expSubst exp, loc = loc} | TC.TPTAPP {exp, expTy, instTyList, loc} => TC.TPTAPP {exp = expSubst exp, expTy = tySubst expTy, instTyList = map tySubst instTyList, loc = loc } | TC.TPFFIIMPORT {ptrExp, ffiTy, stubTy, loc} => TC.TPFFIIMPORT {ptrExp = expSubst ptrExp, ffiTy = ffiTySubst ffiTy, stubTy = tySubst stubTy, loc=loc} | TC.TPCAST (tpexp, ty, loc) => TC.TPCAST (expSubst tpexp, tySubst ty, loc) | TC.TPSIZEOF (ty, loc) => TC.TPSIZEOF (tySubst ty, loc) | TC.TPSQLSERVER {server, schema, resultTy, loc} => TC.TPSQLSERVER {server = server, schema = schema, resultTy = tySubst resultTy, loc = loc} and tvarKindSubst {eqKind, tvarKind} = {eqKind=eqKind, tvarKind = case tvarKind of T.OCONSTkind tyList => T.OCONSTkind (map tySubst tyList) | T.OPRIMkind {instances, operators} => T.OPRIMkind {instances = map tySubst instances, operators = map (oprimSelectorSubst typIdMap) operators } | T.UNIV => T.UNIV | T.REC tyMap => T.REC (LabelEnv.map tySubst tyMap) } and patSubst pat = case pat of TC.TPPATERROR (ty, loc) => TC.TPPATERROR (tySubst ty, loc) | TC.TPPATWILD (ty, loc) => TC.TPPATWILD (tySubst ty, loc) | TC.TPPATVAR (var, loc) => TC.TPPATVAR (varSubst var, loc) | TC.TPPATCONSTANT (constant, ty, loc) => TC.TPPATCONSTANT (constant, tySubst ty, loc) | TC.TPPATDATACONSTRUCT { conPat={id, ty, path}, instTyList, argPatOpt, patTy, loc } => TC.TPPATDATACONSTRUCT { conPat = {id=id, path=path, ty=tySubst ty}, instTyList = map tySubst instTyList, argPatOpt = Option.map patSubst argPatOpt, patTy = tySubst patTy, loc=loc } | TC.TPPATEXNCONSTRUCT { exnPat, instTyList, argPatOpt, patTy, loc } => TC.TPPATEXNCONSTRUCT { exnPat = case exnPat of TC.EXN {id,path,ty} => TC.EXN {id=id, path=path, ty=tySubst ty} | TC.EXEXN {path,ty} => TC.EXEXN {path=path, ty=tySubst ty}, instTyList = map tySubst instTyList, argPatOpt = Option.map patSubst argPatOpt, patTy = tySubst patTy, loc=loc } | TC.TPPATRECORD {fields, recordTy, loc} => TC.TPPATRECORD {fields = LabelEnv.map patSubst fields, recordTy = tySubst recordTy, loc = loc } | TC.TPPATLAYERED {varPat, asPat, loc} => TC.TPPATLAYERED {varPat=patSubst varPat, asPat=patSubst asPat, loc=loc} and declSubst decl = case decl of TC.TPVAL (valIdTpexpList, loc) => TC.TPVAL (map (fn(var,exp) =>(varSubst var,expSubst exp)) valIdTpexpList, loc) | TC.TPFUNDECL (funBindlist, loc) => TC.TPFUNDECL ( map (fn {funVarInfo, argTyList,bodyTy,ruleList}=> {funVarInfo =varSubst funVarInfo, argTyList = map tySubst argTyList, bodyTy = tySubst bodyTy, ruleList = map (fn {args, body} => {args = map patSubst args, body = expSubst body} ) ruleList } ) funBindlist, loc ) | TC.TPPOLYFUNDECL (btvEnv, funBindList, loc) => TC.TPPOLYFUNDECL (BoundTypeVarID.Map.map tvarKindSubst btvEnv, map (fn {funVarInfo, argTyList,bodyTy,ruleList}=> {funVarInfo =varSubst funVarInfo, argTyList = map tySubst argTyList, bodyTy = tySubst bodyTy, ruleList = map (fn {args, body} => {args = map patSubst args, body = expSubst body} ) ruleList } ) funBindList, loc) | TC.TPVALREC (varExpTyEexpList, loc) => TC.TPVALREC (map (fn {var, expTy, exp} => {var=varSubst var, expTy=tySubst expTy, exp=expSubst exp} ) varExpTyEexpList, loc) | TC.TPVALPOLYREC (btvEnv, varExpTyEexpList, loc) => TC.TPVALPOLYREC (BoundTypeVarID.Map.map tvarKindSubst btvEnv, map (fn {var, expTy, exp} => {var=varSubst var, expTy=tySubst expTy, exp=expSubst exp} ) varExpTyEexpList, loc) | TC.TPEXD (exnconLocList, loc) => TC.TPEXD ( exnconLocList, loc ) | TC.TPEXNTAGD ({exnInfo, varInfo}, loc) => (* there should be tyCon to be substituted but just in case *) TC.TPEXNTAGD ({exnInfo=exnInfo, varInfo=varSubst varInfo},loc) | TC.TPEXPORTVAR {internalVar, externalVar, loc} => TC.TPEXPORTVAR {internalVar=varSubst internalVar, externalVar=exVarSubst externalVar, loc=loc} | TC.TPEXPORTRECFUNVAR {var, arity, loc} => TC.TPEXPORTRECFUNVAR {var=varSubst var, arity=arity, loc=loc} | TC.TPEXPORTEXN ({id, path, ty} , loc) => TC.TPEXPORTEXN ({id=id, path=path, ty=tySubst ty} , loc) | TC.TPEXTERNVAR ({path, ty}, loc) => TC.TPEXTERNVAR ({path=path, ty=tySubst ty}, loc) | TC.TPEXTERNEXN ({path, ty}, loc) => TC.TPEXTERNEXN ({path=path, ty=tySubst ty}, loc) and ffiTySubst ffiTy = case ffiTy of TC.FFIFUNTY (ffiAttribOpt, ffiTyList1, ffiTyList2, loc) => TC.FFIFUNTY (ffiAttribOpt, map ffiTySubst ffiTyList1, map ffiTySubst ffiTyList2, loc) | TC.FFIRECORDTY (stringFfityList, loc) => TC.FFIRECORDTY (map (fn (string, ffiTy) => (string, ffiTySubst ffiTy) ) stringFfityList, loc) | TC.FFIBASETY (ty, loc) => TC.FFIBASETY (tySubst ty, loc) and varSubst {id, path,ty} = {id=id, path=path, ty=tyConSubstTy typIdMap ty} and exVarSubst {path,ty} = {path=path, ty=tyConSubstTy typIdMap ty} in expSubst tpexp end fun tyConSubstVarInfo typIdMap {path, id, ty} = {path=path, id=id, ty = tyConSubstTy typIdMap ty} fun tyConSubstIdstatus typIdMap idstatus = case idstatus of TC.RECFUNID (varInfo, int) => TC.RECFUNID (tyConSubstVarInfo typIdMap varInfo, int) | TC.VARID varInfo => TC.VARID (tyConSubstVarInfo typIdMap varInfo) fun tyConSubstContext typIdMap {tvarEnv, varEnv, oprimEnv} = let val tvarEnv = TvarMap.map (tyConSubstTy typIdMap) tvarEnv val varEnv = VarMap.map (tyConSubstIdstatus typIdMap) varEnv in {tvarEnv=tvarEnv, varEnv=varEnv, oprimEnv = oprimEnv} end in fun isForceImportAttribute (attribute:A.ffiAttributes option) = case attribute of SOME {allocMLValue, ...} => allocMLValue | NONE => false fun isInteroperableArgTy dir ty = case TU.derefTy ty of T.TYVARty (ref (T.TVAR ({tvarKind,...}))) => ( case tvarKind of T.UNIV => exportOnly dir | T.REC _ => exportOnly dir | T.OCONSTkind _ => false | T.OPRIMkind _ => false ) | _ => isInteroperableTy dir ty and isInteroperableBuiltinTy dir (ty, args) = case ty of BuiltinTypeNames.INTty => true | BuiltinTypeNames.INTINFty => exportOnly dir | BuiltinTypeNames.WORDty => true | BuiltinTypeNames.WORD8ty => true | BuiltinTypeNames.CHARty => true | BuiltinTypeNames.STRINGty => exportOnly dir | BuiltinTypeNames.REALty => true | BuiltinTypeNames.REAL32ty => true | BuiltinTypeNames.UNITty => false | BuiltinTypeNames.PTRty => List.all (isInteroperableArgTy dir) args orelse ( case args of [ty] => (case TU.derefTy ty of T.CONSTRUCTty {tyCon, args=[]} => TypID.eq (#id tyCon, #id BT.unitTyCon) | T.TYVARty (ref (T.TVAR ({tvarKind=T.UNIV,...}))) => true | _ => false) | _ => raise bug "non singleton arg in PTRty" ) | BuiltinTypeNames.ARRAYty => exportOnly dir andalso List.all (isInteroperableArgTy dir) args | BuiltinTypeNames.VECTORty => exportOnly dir andalso List.all (isInteroperableArgTy dir) args | BuiltinTypeNames.EXNty => false | BuiltinTypeNames.BOXEDty => false (* FIXME : check the following *) | BuiltinTypeNames.EXNTAGty => false | BuiltinTypeNames.REFty => false | BuiltinTypeNames.BOOLty => false | BuiltinTypeNames.LISTty => false | BuiltinTypeNames.OPTIONty => false | BuiltinTypeNames.ORDERty => false | BuiltinTypeNames.SERVERty => false | BuiltinTypeNames.DBIty => false | BuiltinTypeNames.VALUEty => false | BuiltinTypeNames.CONNty => false | BuiltinTypeNames.DBty => false | BuiltinTypeNames.TABLEty => false | BuiltinTypeNames.ROWty => false | BuiltinTypeNames.RESULTty => false | BuiltinTypeNames.RELty => false | BuiltinTypeNames.QUERYty => false | BuiltinTypeNames.COMMANDty => false and isInteroperableTycon dir ({id, dtyKind, runtimeTy, ...}:T.tyCon, args) = case dtyKind of T.BUILTIN ty => isInteroperableBuiltinTy dir (ty, args) | T.OPAQUE {opaqueRep = T.TYCON tyCon, revealKey} => isInteroperableTycon dir (tyCon, args) | T.OPAQUE {opaqueRep = T.TFUNDEF _, revealKey} => false | T.DTY => isInteroperableBuiltinTy dir (runtimeTy, args) orelse (TypID.eq (id, #id BT.refTyCon) andalso List.all (isInteroperableArgTy dir) args) and isInteroperableTy dir ty = case TU.derefTy ty of T.CONSTRUCTty {tyCon, args} => isInteroperableTycon dir (tyCon, args) | T.RECORDty fields => exportOnly dir andalso LabelEnv_all (isInteroperableArgTy dir) fields | _ => false fun evalForceImportFFIty (context:TIC.context) ffity = case ffity of IC.FFIBASETY (ty, loc) => (ITy.evalIty context ty handle e => (P.print "ity1\n"; raise e)) | IC.FFIFUNTY (_, _, _, loc) => (E.enqueueError "Typeinf 001" (loc, E.ForceImportForeignFunction("001", ffity)); T.ERRORty) | IC.FFIRECORDTY (fields, loc) => T.RECORDty (labelEnvFromList (map (fn (k,v) => (k, evalForceImportFFIty context v)) fields)) fun evalFFIFunTyArgs (context:TIC.context) dir ffitys = case ffitys of [IC.FFIBASETY (ty, loc)] => ( (* "unit" means either no argument or no return value. *) case ty of IC.TYCONSTRUCT {tfun=IC.TFUN_VAR(ref(IC.TFUN_DTY{id,...})), args=[]} => if TypID.eq (id, #id BT.unitTyCon) then nil else map (evalFFIty context dir) ffitys | _ => map (evalFFIty context dir) ffitys ) | _ => map (evalFFIty context dir) ffitys and evalFFIty (context:TIC.context) dir ffity = case ffity of IC.FFIFUNTY (attributes, argTys, retTys, loc) => let val forceImport = isForceImportAttribute attributes val (argDir, retDir) = case dir of IMPORT {force} => (EXPORT, IMPORT {force = force orelse forceImport}) | EXPORT => (IMPORT {force = forceImport}, EXPORT) val argTys = evalFFIFunTyArgs context argDir argTys val retTys = evalFFIFunTyArgs context retDir retTys val retTys = case retTys of nil => [TC.FFIBASETY (BT.unitTy, loc)] | [ty] => [ty] | _ => (E.enqueueError "Typeinf 002" (loc, E.NonInteroperableType ("002",ffity)); retTys) in TC.FFIFUNTY (attributes, argTys, retTys, loc) end | IC.FFIRECORDTY (fields, loc) => ( case dir of EXPORT => TC.FFIRECORDTY (map (fn (k,v) => (k, evalFFIty context dir v)) fields, loc) | IMPORT {force=true} => TC.FFIBASETY (evalForceImportFFIty context ffity, loc) | IMPORT {force=false} => (E.enqueueError "Typeinf 003" (loc, E.NonInteroperableType ("002",ffity)); TC.FFIBASETY (T.ERRORty, loc)) ) | IC.FFIBASETY (ty, loc) => let val ty = ITy.evalIty context ty handle e => (P.print "ity2\n";raise e) in if isInteroperableTy dir ty then TC.FFIBASETY (ty, loc) else (E.enqueueError "Typeinf 004" (loc, E.NonInteroperableType ("003",ffity)); TC.FFIBASETY (T.ERRORty, loc)) end fun evalForeignFunTy (context:TIC.context) ffity = let val newFFIty = evalFFIty context (IMPORT {force=false}) ffity in case newFFIty of TC.FFIFUNTY _ => () | TC.FFIRECORDTY (_, loc) => E.enqueueError "Typeinf 005" (loc, E.NonInteroperableType ("004",ffity)) | TC.FFIBASETY (_, loc) => E.enqueueError "Typeinf 006" (loc, E.NonInteroperableType ("005",ffity)); newFFIty end fun ffiStubTy ffity = case ffity of TC.FFIBASETY (ty, loc) => ty | TC.FFIFUNTY (attributes, argTys, retTys, loc) => T.FUNMty ([makeTupleTy (map ffiStubTy argTys)], makeTupleTy (map ffiStubTy retTys)) | TC.FFIRECORDTY (fields, loc) => T.RECORDty (labelEnvFromList (map (fn (k,v) => (k, ffiStubTy v)) fields)) fun isSQLBuiltinTy bty = case bty of BuiltinTypeNames.INTty => true | BuiltinTypeNames.INTINFty => false | BuiltinTypeNames.WORDty => true | BuiltinTypeNames.WORD8ty => false | BuiltinTypeNames.CHARty => true | BuiltinTypeNames.STRINGty => true | BuiltinTypeNames.REALty => true | BuiltinTypeNames.REAL32ty => false | BuiltinTypeNames.UNITty => false | BuiltinTypeNames.PTRty => false | BuiltinTypeNames.ARRAYty => false | BuiltinTypeNames.VECTORty => false | BuiltinTypeNames.EXNty => false | BuiltinTypeNames.BOXEDty => false | BuiltinTypeNames.EXNTAGty => false | BuiltinTypeNames.REFty => false | BuiltinTypeNames.BOOLty => false | BuiltinTypeNames.LISTty => false | BuiltinTypeNames.OPTIONty => false | BuiltinTypeNames.ORDERty => false | BuiltinTypeNames.SERVERty => false | BuiltinTypeNames.DBIty => false | BuiltinTypeNames.VALUEty => false | BuiltinTypeNames.CONNty => false | BuiltinTypeNames.DBty => false | BuiltinTypeNames.TABLEty => false | BuiltinTypeNames.ROWty => false | BuiltinTypeNames.RESULTty => false | BuiltinTypeNames.RELty => false | BuiltinTypeNames.QUERYty => false | BuiltinTypeNames.COMMANDty => false fun isCompatibleWithSQL ty = case TU.derefTy ty of T.CONSTRUCTty {tyCon={dtyKind=T.BUILTIN bty,...}, args=[]} => isSQLBuiltinTy bty | T.CONSTRUCTty {tyCon={dtyKind=T.DTY,id,...}, args=[argTy]} => TypID.eq (id, #id BT.optionTyCon) andalso (case TU.derefTy argTy of T.CONSTRUCTty {tyCon={dtyKind=T.BUILTIN bty,...}, args=[]} => isSQLBuiltinTy bty | T.CONSTRUCTty {tyCon={dtyKind=T.DTY,id,...}, args=[]} => TypID.eq (id, #id BT.boolTyCon) | _ => false) | _ => false fun evalTvarKind (context:TIC.context) tvarkind = case tvarkind of IC.UNIV => T.UNIV | IC.REC fields => T.REC (LabelEnv.map (ITy.evalIty context handle e => (P.print "ity3\n"; raise e)) fields) handle e => raise e fun evalScopedTvars lambdaDepth (context:TIC.context) kindedTvarList loc = let fun occurresTvarInTvarkind (tvstateRef, T.UNIV) = false | occurresTvarInTvarkind (tvstateRef, T.OCONSTkind tyList) = U.occurresTyList tvstateRef tyList | occurresTvarInTvarkind (tvstateRef, T.OPRIMkind {instances,...}) = U.occurresTyList tvstateRef instances | occurresTvarInTvarkind (tvstateRef, T.REC fields) = U.occurres tvstateRef (T.RECORDty fields) fun setTvarkind ( tvstateRef as (ref (T.TVAR{lambdaDepth,id,eqKind,utvarOpt,...})), tvarKind ) = if occurresTvarInTvarkind (tvstateRef, tvarKind) then raise CyclicTvarkindSpec ((case eqKind of A.EQ => "''" | A.NONEQ => "'") ^ (case utvarOpt of SOME {name,...} => name | NONE => "")) else tvstateRef := T.TVAR{lambdaDepth = lambdaDepth, id = id, tvarKind = tvarKind, eqKind = eqKind, utvarOpt = utvarOpt } | setTvarkind _ = raise bug "tvsteteRef must be TVAR in setTvarkind" val (newContext, addedUtvars) = TIC.addUtvar lambdaDepth context kindedTvarList loc val addedUtvars = TvarMap.map (fn (newTvstateRef, tvarkind) => (newTvstateRef, evalTvarKind newContext tvarkind)) addedUtvars val addedUtvars = TvarMap.map (fn (newTvstateRef, tvarkind) => (setTvarkind (newTvstateRef, tvarkind); newTvstateRef)) addedUtvars in (newContext, addedUtvars) end handle CyclicTvarkindSpec string => ( E.enqueueError "Typeinf 007" ( loc, E.CyclicTvarkindSpec ("006",string) ); (context, TvarMap.empty) ) fun typeinfConst const = let val (ty, _) = TIU.freshTopLevelInstTy (CT.constTy const) in (ty, const) end fun isVar icexp = case icexp of IC.ICVAR _ => true | IC.ICEXVAR _ => true | IC.ICBUILTINVAR _ => true | IC.ICCON _ => true | IC.ICEXN _ => true | IC.ICEXN_CONSTRUCTOR _ => true | IC.ICEXEXN_CONSTRUCTOR _ => true | IC.ICEXEXN _ => true | IC.ICOPRIM _ => true | IC.ICTYPED (icexp, ty, loc) => isVar icexp | IC.ICSIGTYPED {icexp, ty, loc, revealKey} => isVar icexp | _ => false fun stripIty icexp = let fun strip icexp ityList = case icexp of IC.ICTYPED (icexp, ity, _) => strip icexp (ity :: ityList) (* we cannot strip ICSIGTYPED | IC.ICSIGTYPED {icexp, implTy, absTy, ...} => strip icexp (ty :: ityList) *) | _ => (icexp, ityList) in strip icexp nil end datatype abscontext = FINITE of int | INFINITE val inf = INFINITE val zero = FINITE 0 fun inc INFINITE = INFINITE | inc (FINITE n) = FINITE (n + 1) fun decl INFINITE = INFINITE | decl (FINITE n) = FINITE (if n = 0 then 0 else (n - 1)) fun iszero (FINITE 0) = true | iszero _ = false fun freeVarsInPat icpat = case icpat of IC.ICPATERROR loc => VarSet.empty | IC.ICPATWILD loc => VarSet.empty | IC.ICPATVAR (varInfo, loc) => VarSet.singleton varInfo | IC.ICPATCON (conInfo, loc) => VarSet.empty | IC.ICPATEXN (exnInfo, loc) => VarSet.empty | IC.ICPATEXEXN ({path, ty}, loc) => VarSet.empty | IC.ICPATCONSTANT (constant, loc) => VarSet.empty | IC.ICPATCONSTRUCT {con=icpat1, arg=icpat2, loc} => freeVarsInPat icpat2 | IC.ICPATRECORD {flex, fields, loc} => foldl (fn ((_, icpat), set2) => VarSet.union(freeVarsInPat icpat, set2)) VarSet.empty fields | IC.ICPATLAYERED {patVar, tyOpt, pat, loc} => VarSet.add(freeVarsInPat pat, patVar) | IC.ICPATTYPED (icpat, ty, loc) => freeVarsInPat icpat fun transFunDecl context loc (funVarInfo, ruleList as ({args=patList, body=exp}::_)) = let val funBody = let val newVars = map (fn _ => IC.newICVar ()) patList val newVarExps = map (fn var => IC.ICVAR(var, loc)) newVars val newVarPats = map (fn var => IC.ICPATVAR(var, loc)) newVars val argRecord = IC.ICRECORD (Utils.listToTuple newVarExps, loc) val funRules = map (fn {args, body} => {args=[IC.ICPATRECORD{flex=false, fields=Utils.listToTuple args, loc=loc}], body=body} ) ruleList in foldr (fn (x, y) => IC.ICFNM([{args=[x], body=y}], loc)) (IC.ICAPPM ( IC.ICFNM(funRules, loc), [argRecord], loc )) newVarPats end in [(IC.ICPATVAR (funVarInfo,loc), funBody)] end | transFunDecl _ _ _ = raise bug "illegal fun decl " (* type generalization *) fun generalizer (ty, lambdaDepth) = if E.isError() then {boundEnv = BoundTypeVarID.Map.empty, removedTyIds = OTSet.empty} else let val newTy = TU.generalizer (ty, lambdaDepth) in newTy end fun mergeBoundEnvs (boundEnv1, boundEnv2) = BoundTypeVarID.Map.unionWith (fn _ => raise bug "duplicate boundtvars in mergeBoundEnvs") (boundEnv2, boundEnv1) (** Preform monomorphic modus ponens. *) fun monoApplyM basis {termLoc, funTy, argTyList, funTpexp, funLoc, argTpexpList} = let val (domtyList, ranty, instlist) = TU.coerceFunM (funTy, argTyList) val newFunTpexp = case instlist of nil => funTpexp | _ => TC.TPTAPP {exp=funTpexp, expTy=funTy, instTyList=instlist, loc=termLoc} val tyPairs = ListPair.zip (argTyList, domtyList) in (U.unify tyPairs; ( ranty, TC.TPAPPM {funExp = newFunTpexp, funTy = T.FUNMty(domtyList, ranty), argExpList = argTpexpList, loc=termLoc} ) ) handle U.Unify => ( E.enqueueError "Typeinf 0071" (termLoc, E.TyConListMismatch ("007",{argTyList = argTyList, domTyList = domtyList})); (T.ERRORty, TC.TPERROR) ) end handle TU.CoerceFun => ( E.enqueueError "Typeinf 008" (funLoc, E.NonFunction ("008",{ty = funTy})); (T.ERRORty, TC.TPERROR) ) fun revealTy key ty = case TU.derefTy ty of T.SINGLETONty _ => raise bug "SINGLETONty in revealTy" | T.ERRORty => ty | T.DUMMYty _ => ty | T.TYVARty _ => ty | T.BOUNDVARty _ => ty | T.FUNMty (tyList,ty) => T.FUNMty (map (revealTy key) tyList, revealTy key ty) | T.RECORDty tyMap => T.RECORDty (LabelEnv.map (revealTy key) tyMap) | T.CONSTRUCTty {tyCon= tyCon as {dtyKind=T.OPAQUE{opaqueRep,revealKey},...},args} => let val args = map (revealTy key) args in if RevealID.eq(key, revealKey) then case opaqueRep of T.TYCON tyCon => T.CONSTRUCTty{tyCon=tyCon, args= args} | T.TFUNDEF {iseq, arity, polyTy} => (* here we do type beta reduction *) U.instOfPolyTy(polyTy, args) (* 2012-8-10 bug 234_opaqueArg.sml else ty *) else T.CONSTRUCTty{tyCon=tyCon, args=args} end | T.CONSTRUCTty{tyCon,args} => T.CONSTRUCTty{tyCon=tyCon, args= map (revealTy key) args} | T.POLYty polyTy => ty (* polyty will not be unified *) fun decomposeValbind lambdaDepth (context:TIC.context) (icpat, icexp) = let fun generalizeIfNotExpansive lambdaDepth ((ty, tpexp), loc) = if E.isError() orelse TCU.expansive tpexp then (ty, tpexp) else let val {boundEnv,...} = generalizer (ty, lambdaDepth) in if BoundTypeVarID.Map.isEmpty boundEnv then (ty, tpexp) else (case tpexp of TC.TPFNM {argVarList=argVarPathInfoList, bodyTy=ranTy, bodyExp=typedExp, loc=loc} => ( T.POLYty {boundtvars = boundEnv, body = ty}, (* 2011-09-02 ohori: this causes the bug 099_provide.sml Since the type may be opaque, we cannot use the actual type here. body = T.FUNMty(map #ty argVarPathInfoList, ranTy)}, *) TC.TPPOLYFNM {btvEnv=boundEnv, argVarList=argVarPathInfoList, bodyTy=ranTy, bodyExp=typedExp, loc=loc} ) | TC.TPPOLY{btvEnv=boundEnv1, expTyWithoutTAbs=ty1, exp=tpexp1, loc=loc1} => ( case ty of T.POLYty{boundtvars=boundEnv2, body= ty2} => (T.POLYty {boundtvars = mergeBoundEnvs(boundEnv,boundEnv2), body = ty2}, TC.TPPOLY{btvEnv=mergeBoundEnvs(boundEnv,boundEnv1), expTyWithoutTAbs=ty1, exp=tpexp1, loc=loc1} ) | _ => raise bug "non polyty for TPPOLY" ) | TC.TPPOLYFNM {btvEnv=boundEnv1, argVarList=argVarPathInfo, bodyTy=ranTy, bodyExp=tpexp1, loc=loc1} => ( case ty of T.POLYty{boundtvars=boundEnv2, body= ty2} => (T.POLYty {boundtvars = mergeBoundEnvs (boundEnv, boundEnv2), body = ty2}, TC.TPPOLYFNM {btvEnv=mergeBoundEnvs (boundEnv, boundEnv1), argVarList=argVarPathInfo, bodyTy=ranTy, bodyExp=tpexp1, loc=loc1} ) | _ => raise bug "non polyty for TPPOLY" ) | _ => (T.POLYty {boundtvars = boundEnv, body = ty}, TC.TPPOLY {btvEnv=boundEnv, expTyWithoutTAbs=ty, exp=tpexp, loc=loc} ) ) end fun isStrictValuePat icpat = case icpat of IC.ICPATERROR _ => false | IC.ICPATWILD _ => true | IC.ICPATVAR (varInfo, loc) => true | IC.ICPATCON (conInfo, loc) => false | IC.ICPATEXN (exnInfo, loc) => false | IC.ICPATEXEXN ({path, ty}, loc) => false | IC.ICPATCONSTANT (constant, loc) => false | IC.ICPATCONSTRUCT {con=icpat1, arg=icpat2, loc} => false | IC.ICPATRECORD {flex, fields, loc} => foldl (fn ((_, icpat), bool) => bool andalso isStrictValuePat icpat) true fields | IC.ICPATLAYERED {patVar, tyOpt, pat, loc} => isStrictValuePat pat | IC.ICPATTYPED (icpat, ty, loc) => isStrictValuePat icpat (* This returns (localBinds, varBinds, extraBinds, tpexp, ty) *) fun decompose lambdaDepth (context:TIC.context) (icpat, icexp) = let val icpatLoc = IC.getLocPat icpat val icexpLoc = IC.getLocExp icexp fun makeCase (icpat, icexp) = let val resVarSet = freeVarsInPat icpat val icpat = IDCalcUtils.copyPat icpat val varSet = freeVarsInPat icpat val icpatLoc = IC.getLocPat icpat val icexpLoc = IC.getLocExp icexp val loc = Loc.mergeLocs (icpatLoc, icexpLoc) in if VarSet.isEmpty varSet then let val newIcexp = IC.ICCASEM ( [icexp], [{args=[icpat], body=IC.ICRECORD(nil, icpatLoc)}], PatternCalc.BIND, loc ) val (ty, tpexp) = typeinfExp lambdaDepth inf context newIcexp val varInfo = TCU.newTCVarInfo ty in (nil, [(varInfo, tpexp)], nil, TC.TPVAR (varInfo, loc), ty) end else case VarSet.listItems varSet of [x] => let val newIcexp = IC.ICCASEM ( [icexp], [{args=[icpat], body=IC.ICVAR(x, icpatLoc)}], PatternCalc.BIND, loc ) val (ty, tpexp) = typeinfExp lambdaDepth inf context newIcexp val (path, id) = case VarSet.listItems resVarSet of [{path, id}] => (path, id) | _ => raise bug "non singleton resVarSet" val varInfo = {path = path, id = id, ty = ty} in ( nil, [(varInfo, tpexp)], nil, TC.TPVAR (varInfo, loc), ty ) end | _ => let val resTuple = makeTupleFields (map (fn x => IC.ICVAR (x, icpatLoc)) (VarSet.listItems varSet)) val newIcexp = IC.ICCASEM ( [icexp], [{args=[icpat], body=IC.ICRECORD (resTuple, icpatLoc)}], PatternCalc.BIND, loc ) val (tupleTy, tpexp) = typeinfExp lambdaDepth inf context newIcexp val newVarInfo = TCU.newTCVarInfo tupleTy val tyList = case tupleTy of T.RECORDty tyFields => LabelEnv.listItems tyFields | T.ERRORty => map (fn x => T.ERRORty) resTuple | _ => raise bug "decompose" val resBinds = mapi (fn (i, ({path, id}, ty)) => ( {path = path, id = id, ty = ty}, TC.TPSELECT { label=Int.toString i, exp=TC.TPVAR (newVarInfo, loc), expTy=tupleTy, resultTy = ty, loc=loc } )) (ListPair.zip (VarSet.listItems resVarSet, tyList)) in ( [(newVarInfo, tpexp)], resBinds, nil, TC.TPVAR (newVarInfo, loc), tupleTy ) end end in (* decompose body *) if not (isStrictValuePat icpat) then makeCase (icpat, icexp) else case icpat of IC.ICPATERROR loc => raise bug "expansive pat" | IC.ICPATWILD loc => let val (ty, tpexp) = generalizeIfNotExpansive lambdaDepth (typeinfExp lambdaDepth zero context icexp, icexpLoc) val newVarInfo = TCU.newTCVarInfo ty in (nil,[(newVarInfo,tpexp)], nil, TC.TPVAR (newVarInfo,loc), ty) end | IC.ICPATVAR ({path,id}, loc) => let val (ty, tpexp) = typeinfExp lambdaDepth zero context icexp val (ty, tpexp) = generalizeIfNotExpansive lambdaDepth ((ty, tpexp), icexpLoc) val varInfo = {path = path, id=id, ty = ty} in ( nil, [(varInfo, tpexp)], nil, TC.TPVAR (varInfo, loc), ty ) end | IC.ICPATCON _ => raise bug "expansive pat" | IC.ICPATEXN _ => raise bug "expansive pat" | IC.ICPATEXEXN _ => raise bug "expansive pat" | IC.ICPATCONSTANT _ => raise bug "expansive pat" | IC.ICPATCONSTRUCT _ => raise bug "expansive pat" | IC.ICPATRECORD {flex, fields=stringIcpatList, loc=loc1} => (case icexp of IC.ICRECORD(stringIcexpList, loc2) => let val icpatSEnvMap = foldl (fn ((l, icpat), icpatSEnvMap) => SEnv.insert(icpatSEnvMap, l, icpat)) SEnv.empty stringIcpatList val expLabelSet = foldl (fn ((l, _), lset) => SSet.add(lset, l)) SSet.empty stringIcexpList val _ = (* check that the labels of patterns is * included in the labels of expressions *) SEnv.appi (fn (l, _) => if SSet.member(expLabelSet, l) then () else raise E.RecordLabelSetMismatch "009") icpatSEnvMap val labelIcpatIcexpList = map (fn (label, icexp) => let val icpat = case SEnv.find(icpatSEnvMap, label) of SOME icpat => icpat | NONE => if flex then IC.ICPATWILD loc1 else raise E.RecordLabelSetMismatch "010" in (label, icpat, icexp) end) stringIcexpList val (localBinds, patternVarBinds, extraBinds, labelTyTpexpListRev ) = foldl (fn ( (label, icpat, icexp), ( localBinds, patternVarBinds, extraBinds, labelTyTpexpListRev ) ) => let val (localBinds1, patternVarBinds1, extraBinds1, tpexp, ty) = decompose lambdaDepth context (icpat, icexp) in ( localBinds @ localBinds1, patternVarBinds @ patternVarBinds1, extraBinds @ extraBinds1, (label, (ty, tpexp)) :: labelTyTpexpListRev ) end) (nil, nil, nil, nil) labelIcpatIcexpList val labelTyTpexpList = List.rev labelTyTpexpListRev val (resultTy, recordExp) = makeTPRecord labelTyTpexpList loc2 in ( localBinds, patternVarBinds, extraBinds, recordExp, resultTy ) end | _ => let val (tyBody, tpexpBody) = typeinfExp lambdaDepth zero context icexp val (_, tyPat, _ ) = typeinfPat lambdaDepth context icpat val _ = (U.unify [(tyBody, tyPat)]) handle U.Unify => raise E.PatternExpMismatch ("011",{patTy = tyPat, expTy= tyBody}) (* this results in incorrect typing for fn x => let val {a,b,c} = x in a end val (_, tyPat, _ ) = typeinfPat lambdaDepth context icpat val _ = (U.unify [(tyBody, tyPat)]) handle U.Unify => raise E.PatternExpMismatch ("011",{patTy = tyPat, expTy= tyBody}) *) val (bodyVar as {path, id}) = IC.newICVar() val icBodyVar = IC.ICVAR (bodyVar, loc1) val tpVarInfo = {path=path, id=id, ty=tyBody} val context = TIC.bindVar(lambdaDepth, context, bodyVar, TC.VARID tpVarInfo) (* bug 153; check this; Since we introduce a binding context, the subexpression (icexp below) must be typed with an incremented lambdaDepth. *) val lambdaDepth = incDepth () val labelIcpatIcexpList = map (fn (label, icpat) => ( label, icpat, IC.ICSELECT(label, icBodyVar, loc1) )) stringIcpatList val (localBinds,variableBinds,extraBinds) = foldl (fn ((label, icpat, icexp), (localBinds,variableBinds,extraBinds) ) => let val (localBinds1, variableBinds1, extraBinds1, tpexp, ty) = decompose lambdaDepth context (icpat, icexp) in ( localBinds @ localBinds1, variableBinds @ variableBinds1, extraBinds @ extraBinds1 ) end) (nil, nil, nil) labelIcpatIcexpList in ( [(tpVarInfo,tpexpBody)]@localBinds, variableBinds, extraBinds, TC.TPVAR (tpVarInfo, loc1), tyBody ) end ) | IC.ICPATLAYERED {patVar={path, id}, tyOpt, pat, loc} => let val icexp = case tyOpt of SOME rawty => IC.ICTYPED (icexp, rawty, icexpLoc) | NONE => icexp val (localBinds, variableBinds, extraBinds, tpexp, ty) = decompose lambdaDepth context (pat, icexp) in ( localBinds, variableBinds, extraBinds @ [({path=path, id=id, ty=ty}, tpexp)], tpexp, ty ) end | IC.ICPATTYPED (icpat, ity, loc) => let val icexp = IC.ICTYPED (icexp, ity, icexpLoc) in decompose lambdaDepth context (icpat, icexp) end end (* end of decpomose *) (* decomposeValbind body *) in let val (localBinds, variableBinds, extraBinds, tpexp, ty) = decompose lambdaDepth context (icpat, icexp) in (localBinds, variableBinds, extraBinds) end end (** * infer a type for an expression * * @params lambdaDepth applyDepth compileContext exp * @param lambdaDepth the length of \Gamma * @param applyDepth the depth of application in which exp occurres * @param compileContext static context * @param exp expression * @return (ty, tpterm) * *) (* A new control parameter lambdaDepth is added. This is used to determine the set T of free type variables that are not in the context when a type is generalized. The value of lambdaDepth is the nesting depth of the type generalization context of e. We write \Gamma |-(d) e : \tau to denote that e is typed in the context of depth d. The program maintain the invariant: d > lambdaDepth(t) for any t in \Gamma so that we can compute the set T of bound type variables to be bound as: T = FTV(\tau) \ FTV(\Gamma) = 2{t | t in FTV(tau), lambdaDepth(t) >= d} Here is how the parameter is maintainiend and used as follows. The lambdaDepth of the toplevel is 0. Each time, it enter a type binding context, lambdaDepth is incremented. A type variable is refined to have lambdaDepth attribute: and tvState = TVAR of tvKind | SUBSTITUTED of ty and ty = ... | TYVARty of tvState ref ... withtype tvKind = { lambdaDepth : lambdaDepth id : int, recordKind : recordKind, eqKind : eqKind, utvarOpt : string option } When a binding {x:tau} is entered in the typeInferenceContext (context), the lambdaDepth of each t in tau is set to the lambdaDepth of the context where x occurres. When two types are unified, their lambda depth is adjusted by taking the minimal. *) and typeinfExp lambdaDepth applyDepth (context : TIC.context) icexp = case icexp of IC.ICERROR loc => let val resultTy = T.newtyWithLambdaDepth (lambdaDepth, T.univKind) in (resultTy, TC.TPERROR) end | IC.ICCONSTANT (constant, loc) => let val (ty, staticConst) = typeinfConst constant in (ty, TC.TPCONSTANT {const=staticConst,ty=ty,loc=loc}) end | IC.ICGLOBALSYMBOL (string, globalSymbolKind, loc) => ( case globalSymbolKind of Absyn.ForeignCodeSymbol => (BT.ptrTy, TC.TPGLOBALSYMBOL {name=string, kind=globalSymbolKind, ty=BT.ptrTy, loc=loc} ) ) | IC.ICVAR (var as {path, id}, loc) => ( case VarMap.find(#varEnv context, var) of SOME (TC.VARID varInfo) => (#ty varInfo, TC.TPVAR (varInfo, loc)) | SOME (TC.RECFUNID (varInfo as {ty,...}, arity)) => (ty, TC.TPRECFUNVAR {var=varInfo, arity=arity, loc=loc}) | NONE => (T.ERRORty, TC.TPVAR ({path=path, id=id, ty=T.ERRORty}, loc)) (* bug 076: This must be due to some user error. raise bug "var not found" *) ) | IC.ICEXVAR ({path, ty}, loc) => let val ty = ITy.evalIty context ty handle e => (P.print "ity4\n"; raise e) in (ty, TC.TPEXVAR ({path=path, ty=ty},loc)) end | IC.ICEXVAR_TOBETYPED _ => raise bug "ICEXVAR_TOBETYPED" | IC.ICBUILTINVAR {primitive, ty, loc} => let val ty = ITy.evalIty context ty handle e => (P.print "ity5\n";raise e) val primInfo = {primitive=primitive, ty=ty} in case ty of T.POLYty{boundtvars, body = T.FUNMty([argTy], resultTy)} => let val (subst, newBoundEnv) = TU.copyBoundEnv boundtvars val newArgTy = TU.substBTvar subst argTy val newResultTy = TU.substBTvar subst resultTy val argVarInfo = TCU.newTCVarInfo newArgTy val newTy = T.POLYty{boundtvars=newBoundEnv, body = T.FUNMty([newArgTy], newResultTy)} in ( newTy, TC.TPPOLYFNM { btvEnv=newBoundEnv, argVarList=[argVarInfo], bodyTy=newResultTy, bodyExp= TC.TPPRIMAPPLY { primOp=primInfo, instTyList=map T.BOUNDVARty (BoundTypeVarID.Map.listKeys newBoundEnv), argExp=TC.TPVAR (argVarInfo, loc), argTy=newArgTy, loc=loc }, loc=loc } ) end | T.POLYty{boundtvars, body = T.FUNMty(_, ty)} => raise Control.Bug "Uncurried fun type in OPRIM" | T.FUNMty([argTy], resultTy) => let val argVarInfo = TCU.newTCVarInfo argTy in ( ty, TC.TPFNM { argVarList=[argVarInfo], bodyTy=resultTy, bodyExp= TC.TPPRIMAPPLY { primOp=primInfo, instTyList=nil, argExp=TC.TPVAR (argVarInfo, loc), argTy=argTy, loc=loc }, loc=loc } ) end | T.FUNMty(_, ty) => raise Control.Bug "Uncurried fun type in PRIM" | _ =>raise Control.Bug "primitive type" end | IC.ICCON (con as {path, id, ty}, loc) => let val ty = ITy.evalIty context ty handle e => (P.print "ity6\n";raise e) val conInfo = {path=path, ty=ty, id=id} in case ty of T.POLYty{boundtvars, body = T.FUNMty([argTy], resultTy)} => let val (subst, newBoundEnv) = TU.copyBoundEnv boundtvars val newArgTy = TU.substBTvar subst argTy val newResultTy = TU.substBTvar subst resultTy val argVarInfo = TCU.newTCVarInfo newArgTy val newTy = T.POLYty{boundtvars=newBoundEnv, body = T.FUNMty([newArgTy], newResultTy)} in ( newTy, TC.TPPOLYFNM { btvEnv=newBoundEnv, argVarList=[argVarInfo], bodyTy=newResultTy, bodyExp= TC.TPDATACONSTRUCT { con=conInfo, instTyList=map T.BOUNDVARty (BoundTypeVarID.Map.listKeys newBoundEnv), argExpOpt= SOME (TC.TPVAR (argVarInfo, loc)), argTyOpt = SOME newArgTy, loc=loc }, loc=loc } ) end | T.POLYty{boundtvars, body = T.FUNMty(_, ty)} => raise Control.Bug "Uncurried fun type in OPRIM" | T.FUNMty([argTy], resultTy) => let val argVarInfo = TCU.newTCVarInfo argTy in (ty, TC.TPFNM { argVarList=[argVarInfo], bodyTy=resultTy, bodyExp= TC.TPDATACONSTRUCT { con=conInfo, instTyList=nil, argExpOpt=SOME (TC.TPVAR (argVarInfo, loc)), argTyOpt=SOME argTy, loc=loc }, loc=loc } ) end | _ => (ty, TC.TPDATACONSTRUCT{con=conInfo, instTyList=nil, argExpOpt=NONE, argTyOpt=NONE, loc=loc} ) end | IC.ICEXN (exn as {path, id, ty}, loc) => let val ty = ITy.evalIty context ty handle e => (P.print "ity7\n";raise e) val exnInfo = {path=path, ty=ty, id=id} in case ty of T.FUNMty([argTy], resultTy) => let val argVarInfo = TCU.newTCVarInfo argTy in (ty, TC.TPFNM { argVarList=[argVarInfo], bodyTy=resultTy, bodyExp= TC.TPEXNCONSTRUCT { exn=TC.EXN exnInfo, instTyList=nil, argExpOpt=SOME (TC.TPVAR (argVarInfo, loc)), argTyOpt=SOME argTy, loc=loc }, loc=loc } ) end | _ => (ty, TC.TPEXNCONSTRUCT{exn=TC.EXN exnInfo, instTyList=nil, argExpOpt=NONE, argTyOpt=NONE, loc=loc} ) end | IC.ICEXN_CONSTRUCTOR (exn as {path, id, ty}, loc) => let val ty = ITy.evalIty context ty handle e => (P.print "ity8\n";raise e) val exnInfo = {path=path, ty=ty, id=id} in (BT.exntagTy, TC.TPEXN_CONSTRUCTOR{exnInfo = exnInfo, loc=loc} ) end | IC.ICEXEXN_CONSTRUCTOR (exn as {path, ty}, loc) => let val ty = ITy.evalIty context ty handle e => (P.print "ity9\n";raise e) val exExnInfo = {path=path, ty=ty} in (BT.exntagTy, TC.TPEXEXN_CONSTRUCTOR{exExnInfo = exExnInfo, loc=loc} ) end | IC.ICEXEXN ({path, ty}, loc) => let val ty = ITy.evalIty context ty handle e => (P.print "ity10\n"; raise e) val exExnInfo = {path=path, ty=ty} in case ty of T.FUNMty([argTy], resultTy) => let val argVarInfo = TCU.newTCVarInfo argTy in (ty, TC.TPFNM { argVarList=[argVarInfo], bodyTy=resultTy, bodyExp= TC.TPEXNCONSTRUCT { exn=TC.EXEXN exExnInfo, instTyList=nil, argExpOpt=SOME (TC.TPVAR (argVarInfo, loc)), argTyOpt=SOME argTy, loc=loc }, loc=loc } ) end | _ => (ty, TC.TPEXNCONSTRUCT{exn=TC.EXEXN exExnInfo, instTyList=nil, argExpOpt=NONE, argTyOpt=NONE, loc=loc} ) end | IC.ICOPRIM (oprimInfo, loc) => let val oprimInfo as {id, path, ty} = case OPrimMap.find(#oprimEnv context, oprimInfo) of SOME oprimInfo => oprimInfo | NONE => raise bug "OPrim not found" in case ty of T.POLYty{boundtvars, body = T.FUNMty([argTy], resultTy)} => let val (subst, newBoundEnv) = TU.copyBoundEnv boundtvars val newArgTy = TU.substBTvar subst argTy val newResultTy = TU.substBTvar subst resultTy val argVarInfo = TCU.newTCVarInfo newArgTy val newTy = T.POLYty{boundtvars=newBoundEnv, body = T.FUNMty([newArgTy], newResultTy)} val instTyList = BoundTypeVarID.Map.foldri (fn (i, {eqKind, tvarKind}, instTyList)=> T.BOUNDVARty i :: instTyList) nil newBoundEnv in ( newTy, TC.TPPOLYFNM { btvEnv=newBoundEnv, argVarList=[argVarInfo], bodyTy=newResultTy, bodyExp= TC.TPOPRIMAPPLY { oprimOp=oprimInfo, instTyList=instTyList, argExp=TC.TPVAR (argVarInfo, loc), argTy=newArgTy, loc=loc }, loc=loc } ) end | T.POLYty{boundtvars, body = T.FUNMty(_, ty)} => raise bug "Uncurried fun type in OPRIM" | _ => raise bug "non poly oprim ty" end | IC.ICTYPED (icexp, ty, loc) => let val (ty1, tpexp) = typeinfExp lambdaDepth inf context icexp val ty2 = ITy.evalIty context ty handle e => (P.print "ity11\n"; raise e) in if U.eqTy BoundTypeVarID.Map.empty (ty1, ty2) then (ty1, tpexp) else let val (instTy, tpexp) = TCU.freshInst (ty1, tpexp) val ty2 = TU.freshRigidInstTy ty2 in ( U.unify [(instTy, ty2)]; (ty2, tpexp) ) handle U.Unify => ( E.enqueueError "Typeinf 009" ( loc, E.TypeAnnotationNotAgree ("012",{ty=instTy,annotatedTy=ty2}) ); (T.ERRORty, TC.TPERROR) ) end end (* | IC.ICTYPED (icexp, ty, loc) => let val (ty1, tpexp) = typeinfExp lambdaDepth inf context icexp val (instTy, tpexp) = TCU.freshInst (ty1, tpexp) val ty2 = ITy.evalIty context ty handle e => (P.print "ity11\n"; raise e) val ty2 = TU.freshRigidInstTy ty2 in ( U.unify [(instTy, ty2)]; (ty2, tpexp) ) handle U.Unify => ( E.enqueueError "Typeinf 009" ( loc, E.TypeAnnotationNotAgree ("012",{ty=instTy,annotatedTy=ty2}) ); (T.ERRORty, TC.TPERROR) ) end *) | IC.ICSIGTYPED {icexp=exp, ty, revealKey, loc} => let val (ty1, tpexp) = typeinfExp lambdaDepth inf context exp val ty2 = ITy.evalIty context ty handle e => (P.print "ity12\n"; raise e) in if U.eqTy BoundTypeVarID.Map.empty (ty1, ty2) then (ty1, tpexp) else let val _ = case revealKey of NONE => (P.print "ICSIGTYPED: noneq:"; P.print "\n"; P.print "ty1:"; P.printTy ty1; P.print "\n"; P.print "ty2:"; P.printTy ty2; P.print "\n") | SOME _ => () val (instTy, tpexp) = TCU.freshInst (ty1, tpexp) val ty22 = TU.freshRigidInstTy ty2 val revealedTy2 = case revealKey of NONE => ty22 | SOME key => revealTy key ty22 in ( U.unify [(instTy, revealedTy2)]; (ty22, tpexp) ) handle U.Unify => ( E.enqueueError "Typeinf 010" ( loc, E.SignatureMismatch ("012",{path=[], ty=instTy, annotatedTy=ty22}) ); (T.ERRORty, TC.TPERROR) ) end end | IC.ICAPPM(IC.ICRECORD_SELECTOR(l, loc1), [icexp], loc2) => typeinfExp lambdaDepth applyDepth context (IC.ICSELECT(l,icexp,loc2)) | IC.ICAPPM (icexp, icexpList, loc) => let val (funExp, funItyList) = stripIty icexp fun evalArgs lambdaDepth icexpList = foldr (fn (icexp, (argTyList,agrExpList)) => let val (ty, tpexp) = typeinfExp lambdaDepth inf context icexp val (ty, tpexp) = TCU.freshInst (ty, tpexp) in (ty::argTyList, tpexp::agrExpList) end ) (nil,nil) icexpList fun evalArgsVar lambdaDepth icexpList = foldr (fn (icexp, (argTyList,agrExpList)) => let val (ty,tpexp) = typeinfExp lambdaDepth inf context icexp val (ty, tpexp) = TCU.freshInst (ty, tpexp) in (ty::argTyList, tpexp::agrExpList) end ) (nil,nil) icexpList fun processVar (funTy, funExp, funLoc) = let val (argTyList,argExpList) = evalArgsVar lambdaDepth icexpList val _ = case funItyList of nil => () | _ => let val (funTy, _) = TIU.freshTopLevelInstTy funTy in app (fn ity => let val annotatedTy = ITy.evalIty context ity handle e => (P.print "ity13\n"; raise e) in (U.unify [(funTy, annotatedTy)]) handle U.Unify => E.enqueueError "Typeinf 012" ( funLoc, E.TypeAnnotationNotAgree ("013",{ty=funTy, annotatedTy=annotatedTy}) ) end) funItyList end in monoApplyM context {termLoc=loc, funTy=funTy, argTyList=argTyList, funTpexp=funExp, funLoc=funLoc, argTpexpList=argExpList } end fun processCon (lambdaDepth,makeNewTermBody,funITy,funLoc) = case evalArgs lambdaDepth icexpList of ([argTy], [argExp]) => let val (argTy, argExp) = TCU.freshInst (argTy, argExp) val polyFunTy = ITy.evalIty context funITy handle e => (P.print "ity14\n"; raise e) (* a con type must be rank zero *) val (funTy, instTyList) = TIU.freshTopLevelInstTy polyFunTy val _ = app (fn ity => let val annotatedTy1 = ITy.evalIty context ity handle e => (P.print "ity15\n"; raise e) in U.unify [(funTy, annotatedTy1)] handle U.Unify => E.enqueueError "Typeinf 013" ( loc, E.TypeAnnotationNotAgree ("014", {ty=funTy,annotatedTy=annotatedTy1}) ) end) funItyList val (domtyList,ranty,instlist) = TU.coerceFunM (funTy,[argTy]) handle TU.CoerceFun => ( E.enqueueError "Typeinf 014" (funLoc,E.NonFunction("015",{ty=funTy})); ([T.ERRORty], T.ERRORty, nil) ) val domty = case domtyList of [ty] => ty | _ => raise bug "arity mismatch" val newTermBody = makeNewTermBody (argExp, argTy, polyFunTy, instTyList) in ( U.unify [(argTy, domty)]; if iszero applyDepth andalso not (TCU.expansive newTermBody) then let val {boundEnv, ...} = generalizer (ranty, lambdaDepth) in if BoundTypeVarID.Map.isEmpty boundEnv then (ranty, newTermBody) else ( T.POLYty{boundtvars = boundEnv, body = ranty}, TC.TPPOLY {btvEnv=boundEnv, expTyWithoutTAbs=ranty, exp=newTermBody, loc=loc} ) end else (ranty, newTermBody)) handle U.Unify => ( E.enqueueError "Typeinf 015" (loc, E.TyConMismatch ("016",{domTy=domty,argTy=argTy})); (T.ERRORty, TC.TPERROR) ) end | _ => raise bug "con in multiple apply" fun processPrim (lambdaDepth, makeNewTermBody, polyFunTy, funLoc) = case evalArgs lambdaDepth icexpList of ([argTy], [tpexp2]) => let (* a primitive type must be rank zero *) val (funTy,instTyList) = TIU.freshTopLevelInstTy polyFunTy val _ = app (fn ity => let val annotatedTy1 = ITy.evalIty context ity handle e => (P.print "ity16\n"; raise e) in U.unify [(funTy, annotatedTy1)] handle U.Unify => E.enqueueError "Typeinf 016" ( loc, E.TypeAnnotationNotAgree ("017", {ty=funTy,annotatedTy=annotatedTy1}) ) end) funItyList val (domtyList,ranty,instlist) = TU.coerceFunM (funTy,[argTy]) handle TU.CoerceFun => ( E.enqueueError "Typeinf 017" (loc,E.NonFunction("018",{ty=funTy})); ([T.ERRORty], T.ERRORty, nil) ) val domty = case domtyList of [ty] => ty | _ => raise bug "arity mismatch" val newTermBody = makeNewTermBody(tpexp2, argTy, polyFunTy, instTyList) in ( U.unify [(argTy, domty)]; (ranty, newTermBody) ) handle U.Unify => ( E.enqueueError "Typeinf 018" (loc, E.TyConMismatch ("019",{domTy=domty,argTy=argTy})); (T.ERRORty, TC.TPERROR) ) end | _ => raise bug "PrimOp in multiple apply" in case funExp of IC.ICVAR (var, funVarLoc) => let val (funExp, funTy) = case VarMap.find(#varEnv context, var) of SOME (TC.VARID (var as {ty,...})) => (TC.TPVAR (var, funVarLoc), ty) | SOME (TC.RECFUNID(var as {ty,...},arity)) => (TC.TPRECFUNVAR{var=var,arity=arity,loc=funVarLoc},ty) | NONE => raise bug "var not found (1)" val (funTy, funExp) = case funItyList of nil => (funTy, funExp) | _ => TCU.freshInst (funTy, funExp) in processVar (funTy, funExp, funVarLoc) end | IC.ICEXVAR ({path, ty}, loc) => let val ty = ITy.evalIty context ty handle e => (P.print "ity17\n"; raise e) val funExp = TC.TPEXVAR ({path=path, ty=ty}, loc) in processVar (ty, funExp, loc) end | IC.ICBUILTINVAR {primitive, ty, loc} => let val ty = ITy.evalIty context ty handle e => (P.print "ity18\n"; raise e) fun makeNewTermBody (argExp, argTy, funTy, instTyList) = TC.TPPRIMAPPLY {primOp={primitive=primitive, ty=funTy}, instTyList=instTyList, argExp=argExp, argTy= argTy, loc=loc} in processPrim (lambdaDepth, makeNewTermBody, ty, loc) end (* | IC.ICBUILTINVAR {primitive, ty, loc} => (case evalArgs lambdaDepth icexpList of ([argTy], [tpexp2]) => let val funTy = ITy.evalIty context ty (* a primitive type must be rank zero *) val (funTy,instTyList) = TIU.freshTopLevelInstTy funTy val _ = app (fn ity => let val annotatedTy1 = ITy.evalIty context ity handle e => raise e in U.unify [(funTy, annotatedTy1)] handle U.Unify => E.enqueueError "Typeinf 019" ( loc, E.TypeAnnotationNotAgree ("020", {ty=funTy,annotatedTy=annotatedTy1}) ) end) funItyList val (domtyList,ranty,instlist) = TU.coerceFunM (funTy,[argTy]) handle TU.CoerceFun => ( E.enqueueError "Typeinf 020" (loc,E.NonFunction("021",{ty = funTy})); ([T.ERRORty], T.ERRORty, nil) ) val domty = case domtyList of [ty] => ty | _ => raise bug "arity mismatch" val newTermBody = TC.TPPRIMAPPLY {primOp={primitive=primitive, ty=funTy}, instTyList=instTyList, argExpOpt=SOME tpexp2, loc=loc} in ( U.unify [(argTy, domty)]; (ranty, newTermBody) ) handle U.Unify => ( E.enqueueError "Typeinf 021" (loc, E.TyConMismatch("022",{domTy=domty, argTy=argTy})); (T.ERRORty, TC.TPERROR) ) end | _ => raise bug "PrimOp in multiple apply" ) *) | IC.ICCON ({path, id, ty=funIty}, funLoc) => let val lambdaDepth = incDepth () fun makeNewTermBody (argExp, argTy, funTy, instTyList) = TC.TPDATACONSTRUCT { con={path=path,id=id,ty=funTy}, instTyList=instTyList, argExpOpt=SOME argExp, argTyOpt=SOME argTy, loc=loc } in processCon(lambdaDepth,makeNewTermBody,funIty,funLoc) end | IC.ICEXN ({path, id, ty}, loc) => let val lambdaDepth = incDepth () fun makeNewTermBody (argExp, argTy, funTy, instTyList) = TC.TPEXNCONSTRUCT { exn=TC.EXN {path=path,id=id,ty=funTy}, instTyList=instTyList, argExpOpt=SOME argExp, argTyOpt=SOME argTy, loc=loc } in processCon (lambdaDepth, makeNewTermBody, ty, loc) end | IC.ICEXEXN ({path, ty}, loc) => let val lambdaDepth = incDepth () fun makeNewTermBody (argExp, argTy, funTy, instTyList) = TC.TPEXNCONSTRUCT { exn=TC.EXEXN {path=path,ty=funTy}, instTyList=instTyList, argExpOpt=SOME argExp, argTyOpt=SOME argTy, loc=loc } in processCon (lambdaDepth, makeNewTermBody, ty, loc) end | IC.ICOPRIM (oprimInfo, loc) => let val oprimInfo as {id, path, ty} = case OPrimMap.find(#oprimEnv context, oprimInfo) of SOME oprimInfo => oprimInfo | NONE => raise bug "OPrim not found" fun makeNewTermBody (argExp, argTy, funTy, instTyList) = TC.TPOPRIMAPPLY {oprimOp=oprimInfo, instTyList=instTyList, argExp=argExp, argTy=argTy, loc=loc} in processPrim (lambdaDepth, makeNewTermBody, ty, loc) end | _ => let val (funTy, funExp) = typeinfExp lambdaDepth (inc applyDepth) context icexp val (argTyList, argExpList) = evalArgs lambdaDepth icexpList in monoApplyM context {termLoc=loc, funTy=funTy, argTyList=argTyList, funTpexp=funExp, funLoc=loc, argTpexpList=argExpList} end end | IC.ICAPPM_NOUNIFY (icexp, icexpList, loc) => let fun eqList (tyList1, tyList2) = U.eqTyList BoundTypeVarID.Map.empty (tyList1, tyList2) in let val (funTy, funExp) = typeinfExp lambdaDepth (inc applyDepth) context icexp val (argTyList, argExpList) = foldr (fn (icexp, (argTyList,agrExpList)) => let val (ty,tpexp) = typeinfExp lambdaDepth inf context icexp in (ty::argTyList, tpexp::agrExpList) end ) (nil,nil) icexpList val (domTyList, ranTy) = case funTy of T.FUNMty(tyList, ty) => (tyList, ty) | T.ERRORty => raise Fail | _ => (P.print "APPM_NOUNIFY\n"; P.printTy funTy; P.print "\n"; raise bug "APPM_NOUNIFY" ) val _ = if length argTyList = length domTyList then () else (E.enqueueError "Typeinf 022" (loc, E.TyConListMismatch ("091",{argTyList=argTyList, domTyList=domTyList})); raise Fail ) val _ = if eqList (argTyList, domTyList) then () else ( E.enqueueError "Typeinf 023" (loc, E.TyConListMismatch ("007",{argTyList = argTyList, domTyList = domTyList})); raise Fail ) in (ranTy, TC.TPAPPM {funExp = funExp, funTy = T.FUNMty(domTyList, ranTy), argExpList = argExpList, loc=loc} ) end handle Fail => (T.ERRORty, TC.TPERROR) end | IC.ICLET (icdeclList, icexpList, loc) => let val (context1, tpdeclList) = typeinfDeclList lambdaDepth context icdeclList val newContext = TIC.extendContextWithContext (context, context1) val (tyListRev, tpexpListRev) = foldl (fn (tpexp, (tyListRev, tpexpListRev)) => let val (ty, tpexp) = typeinfExp lambdaDepth applyDepth newContext tpexp in (ty::tyListRev, tpexp :: tpexpListRev) end) (nil, nil) icexpList in (List.hd tyListRev, TC.TPLET{decls = tpdeclList, body = List.rev tpexpListRev, tys = List.rev tyListRev, loc = loc}) end | IC.ICTYCAST (tycastList, icexp, loc) => let val {varEnv, tvarEnv, oprimEnv} = context val typIdMap = foldl (fn ({from, to}, typIdMap) => let val fromId = IC.tfunId from val to = ITy.evalTfun context to handle e => (P.print "ity19\n"; raise e) in TypID.Map.insert(typIdMap, fromId, to) end ) TypID.Map.empty tycastList val (ty, tpexp) = typeinfExp lambdaDepth applyDepth context icexp val ty = tyConSubstTy typIdMap ty (* val tpexp = tyConSubstExp typIdMap tpexp *) in (ty, TC.TPCAST(tpexp, ty, loc)) (* bug 118 *) end | IC.ICRECORD (stringIcexpList, loc) => let val labelTyTpexpListRev = foldl (fn ((label, icexp), labelTyTpexpListRev) => let val (ty, tpexp) = typeinfExp lambdaDepth applyDepth context icexp in (label, (ty, tpexp))::labelTyTpexpListRev end) nil stringIcexpList val labelTyTpexpList = List.rev labelTyTpexpListRev in makeTPRecord labelTyTpexpList loc end | IC.ICRAISE (icexp, loc) => let val (ty1, tpexp) = typeinfExp lambdaDepth applyDepth context icexp val resultTy = T.newtyWithLambdaDepth (lambdaDepth, T.univKind) in ( U.unify [(ty1, BT.exnTy)]; (resultTy, TC.TPRAISE {exp=tpexp, ty=resultTy, loc=loc}) ) handle U.Unify => ( E.enqueueError "Typeinf 024" (loc, E.RaiseArgNonExn("023",{ty = ty1})); (T.ERRORty, TC.TPERROR) ) end | IC.ICHANDLE (icexp, icpatIcexpList, loc) => let val (ty1, tpexp) = TCU.freshInst (typeinfExp lambdaDepth inf context icexp) val (ruleTy, tppatTpexpList) = monoTypeinfMatch lambdaDepth [BT.exnTy] context (map (fn (pat,exp) => {args=[pat], body=exp}) icpatIcexpList) val (domTy, ranTy) = (* here we try maching the type of rules with exn -> ty1 * Also, the result type must be mono. *) case TU.derefTy ruleTy of T.FUNMty([domTy], ranTy)=>(domTy, ranTy) | T.ERRORty => (T.ERRORty, T.ERRORty) | _ => raise bug "Case Type Inference" val newVarInfo = TCU.newTCVarInfo domTy in ( U.unify [(ty1, ranTy)]; ( ty1, TC.TPHANDLE { exp=tpexp, exnVar=newVarInfo, handler= TC.TPCASEM { expList=[TC.TPVAR (newVarInfo, loc)], expTyList=[domTy], ruleList=tppatTpexpList, ruleBodyTy=ranTy, caseKind= PatternCalc.HANDLE, loc=loc }, loc=loc } ) ) handle U.Unify => ( E.enqueueError "Typeinf 025" (loc, E.HandlerTy("024",{expTy=ty1, handlerTy=ranTy})); (T.ERRORty, TC.TPERROR) ) end | IC.ICFNM (argsBodyList, loc) => (case argsBodyList of nil => raise bug "empty rule in PTFNM (typeinference/main/TypeInferCore.sml)" | [{args=patList, body=exp}] => let exception NonVar in (* This naive optimization does not work since D in fn D => exp may be CON. *) (* After name evaluation, this works. *) let fun getId icexp = let fun strip icexp ityList = case icexp of IC.ICPATVAR (var, _) => (var, ityList) | IC.ICPATWILD _ => (IC.newICVar(), ityList) | IC.ICPATTYPED (icexp, ity, _) => strip icexp (ity::ityList) | _ => raise NonVar in strip icexp nil end val varList = map getId patList val newPtexp = IC.ICFNM1(varList, exp, loc) in typeinfExp lambdaDepth applyDepth context newPtexp end handle NonVar => let val varList = map (fn pat => (IC.newICVar (), IC.getLocPat pat)) patList val newPtexp = IC.ICFNM1 ( map (fn (var, loc) => (var, nil)) varList, IC.ICCASEM ( map (fn (var, loc) => IC.ICVAR(var, loc)) varList, argsBodyList, PatternCalc.MATCH, loc ), loc ) in typeinfExp lambdaDepth applyDepth context newPtexp end end | ({args=patList, body=exp} :: rest) => let val varList = map (fn pat => (IC.newICVar (), IC.getLocPat pat)) patList val newPtexp = IC.ICFNM1 ( map (fn (var, loc) => (var, nil)) varList, IC.ICCASEM ( map (fn (var,loc) => IC.ICVAR(var, loc)) varList, argsBodyList, PatternCalc.MATCH, loc ), loc) in typeinfExp lambdaDepth applyDepth context newPtexp end ) | IC.ICFNM1(varTyListList, icexp, loc) => let val lambdaDepth = incDepth () val (newContext, tyVarInfoList) = foldr (fn ((var as {path, id}, ityList), (newContext, tyVarInfoList)) => let val domTy = T.newtyWithLambdaDepth (lambdaDepth, T.univKind) val _ = app (fn ity => let val annotatedTy1 = ITy.evalIty newContext ity handle e => (P.print "ity20\n"; raise e) in U.unify [(domTy, annotatedTy1)] handle U.Unify => E.enqueueError "Typeinf 026" ( loc, E.TypeAnnotationNotAgree ("025", {ty=domTy, annotatedTy=annotatedTy1}) ) end) ityList val varInfo = {path=path, id=id, ty=domTy} val newContext = TIC.bindVar(lambdaDepth, newContext, var, TC.VARID varInfo) in (newContext, (domTy, varInfo)::tyVarInfoList) end ) (context, nil) varTyListList val (ranTy, typedExp) = typeinfExp lambdaDepth (decl applyDepth) newContext icexp val ty = T.FUNMty(map #1 tyVarInfoList, ranTy) val (ty, tpexp) = if iszero applyDepth then let val {boundEnv, ...} = generalizer (ty, lambdaDepth) in if BoundTypeVarID.Map.isEmpty boundEnv then (ty, TC.TPFNM {argVarList = map #2 tyVarInfoList, bodyTy = ranTy, bodyExp = typedExp, loc = loc}) else ( T.POLYty{boundtvars = boundEnv, body = ty}, TC.TPPOLYFNM { btvEnv=boundEnv, argVarList=map #2 tyVarInfoList, bodyTy=ranTy, bodyExp=typedExp, loc=loc } ) end else (ty, TC.TPFNM {argVarList = map #2 tyVarInfoList, bodyTy = ranTy, bodyExp = typedExp, loc = loc}) in (ty, tpexp) end | IC.ICFNM1_POLY(varTyList, icexp, loc) => let val lambdaDepth = incDepth () val (newContext, tyVarInfoList) = foldr (fn ((var as {path, id}, ity), (newContext, tyVarInfoList)) => let val domTy = ITy.evalIty newContext ity handle e => (P.print "ity21\n"; raise e) val varInfo = {path=path, id=id, ty=domTy} val newContext = TIC.bindVar(lambdaDepth, newContext, var, TC.VARID varInfo) in (newContext, (domTy, varInfo)::tyVarInfoList) end ) (context, nil) varTyList val (ranTy, typedExp) = typeinfExp lambdaDepth (decl applyDepth) newContext icexp val ty = T.FUNMty(map #1 tyVarInfoList, ranTy) val (ty, tpexp) = (ty, TC.TPFNM {argVarList = map #2 tyVarInfoList, bodyTy = ranTy, bodyExp = typedExp, loc = loc} ) (* This is a functor definition, so type generalization should not be necessary and val (ty, tpexp) = if iszero applyDepth then let val {boundEnv, ...} = generalizer (ty, lambdaDepth) in if BoundTypeVarID.Map.isEmpty boundEnv then (ty, TC.TPFNM {argVarList = map #2 tyVarInfoList, bodyTy = ranTy, bodyExp = typedExp, loc = loc}) else ( T.POLYty{boundtvars = boundEnv, body = ty}, TC.TPPOLYFNM { btvEnv=boundEnv, argVarList=map #2 tyVarInfoList, bodyTy=ranTy, bodyExp=typedExp, loc=loc } ) end else (ty, TC.TPFNM {argVarList = map #2 tyVarInfoList, bodyTy = ranTy, bodyExp = typedExp, loc = loc}) *) in (ty, tpexp) end | IC.ICCASEM (icexpList, argsBodyList, caseKind, loc) => let val (tyListRev, tpexpListRev) = foldl (fn (ptexp, (tyListRev, tpexpListRev)) => let val (ty,tpexp) = typeinfExp lambdaDepth inf context ptexp val (ty,tpexp) = TCU.freshInst (ty,tpexp) in (ty::tyListRev, tpexp::tpexpListRev) end ) (nil,nil) icexpList val (tyList, tpexpList) = (List.rev tyListRev, List.rev tpexpListRev) val (ruleTy, tpMatchM) = typeinfMatch lambdaDepth applyDepth tyList context argsBodyList val ranTy = case TU.derefTy ruleTy of T.FUNMty(_, ranTy) => ranTy | T.ERRORty => T.ERRORty | _ => raise bug "Case Type Inference" in (ranTy, TC.TPCASEM { expList=tpexpList, expTyList=tyList, ruleList=tpMatchM, ruleBodyTy=ranTy, caseKind=caseKind, loc=loc } ) end | IC.ICRECORD_UPDATE (icexp, stringIcexpList, loc) => let val (ty1, tpexp1) = TCU.freshInst (typeinfExp lambdaDepth applyDepth context icexp) val (modifyTpexp, tySmap) = (* this inside-out term is correct under the call-by-value semantics *) foldl (fn ((label, icexp), (modifyTpexp, tySmap)) => let val (ty, tpexp) = TCU.freshInst (typeinfExp lambdaDepth applyDepth context icexp) in (TC.TPMODIFY {label=label, recordExp=modifyTpexp, recordTy=ty1, elementExp=tpexp, elementTy=ty, loc=loc}, LabelEnv.insert (tySmap, label, ty)) end) (tpexp1, LabelEnv.empty) stringIcexpList val modifierTy = T.newtyRaw { lambdaDepth = lambdaDepth, tvarKind = T.REC tySmap, eqKind = A.NONEQ, utvarOpt = NONE } in ( U.unify [(ty1, modifierTy)]; (ty1, modifyTpexp) ) handle U.Unify => ( E.enqueueError "Typeinf 027" ( loc, E.TyConMismatch("026",{argTy = ty1, domTy = modifierTy}) ); (T.ERRORty, TC.TPERROR) ) end | IC.ICRECORD_SELECTOR (label, loc) => let val newVar = IC.newICVar() in typeinfExp lambdaDepth applyDepth context (IC.ICFNM1 ( [(newVar, nil)], IC.ICSELECT ( label, IC.ICVAR(newVar, loc), loc ), loc ) ) end | IC.ICSELECT (label, icexp, loc) => let val (ty1, tpexp) = typeinfExp lambdaDepth applyDepth context icexp val ty1 = TU.derefTy ty1 in case ty1 of T.RECORDty tyFields => (* here we cannot use U.unify, which is for monotype only. *) (case LabelEnv.find(tyFields, label) of SOME elemTy => (elemTy, TC.TPSELECT { label=label, exp=tpexp, expTy=ty1, resultTy = elemTy, loc=loc } ) | _ => (E.enqueueError "Typeinf 028" (loc, E.FieldNotInRecord("027",{label = label})); (T.ERRORty, TC.TPERROR)) ) | T.TYVARty (ref (T.TVAR tvkind)) => let val elemTy = T.newtyWithLambdaDepth (#lambdaDepth tvkind, T.univKind) val recordTy = T.newtyRaw { lambdaDepth = lambdaDepth, tvarKind = T.REC (LabelEnv.singleton(label, elemTy)), eqKind = A.NONEQ, utvarOpt = NONE } in ( U.unify [(ty1, recordTy)]; (elemTy, TC.TPSELECT{label=label, exp=tpexp, expTy=recordTy, resultTy = elemTy, loc=loc}) ) handle U.Unify => ( E.enqueueError "Typeinf 029" (loc,E.TyConMismatch ("028",{domTy=recordTy, argTy=ty1})); (T.ERRORty, TC.TPERROR) ) end | _ => (* this case may be empty *) let val elemTy = T.newtyWithLambdaDepth (lambdaDepth, T.univKind) val recordTy = T.newtyRaw { lambdaDepth = lambdaDepth, tvarKind = T.REC (LabelEnv.singleton(label, elemTy)), eqKind = A.NONEQ, utvarOpt = NONE } in ( U.unify [(ty1, recordTy)]; (elemTy, TC.TPSELECT{label=label, exp=tpexp, expTy=recordTy, resultTy = elemTy, loc=loc}) ) handle U.Unify => ( E.enqueueError "Typeinf 030" (loc, E.TyConMismatch("029",{domTy=recordTy,argTy=ty1})); (T.ERRORty, TC.TPERROR) ) end end | IC.ICSEQ (icexpList, loc) => let val (tyListRev, tpexpListRev) = foldl (fn (icexp, (tyListRev, tpexpListRev)) => let val (ty, tpexp) = typeinfExp lambdaDepth applyDepth context icexp in (ty :: tyListRev, tpexp :: tpexpListRev) end) (nil, nil) icexpList in (List.hd tyListRev, TC.TPSEQ {expList=List.rev tpexpListRev, expTyList=List.rev tyListRev, loc=loc} ) end | IC.ICCAST (icexp, loc) => let val (ty1, tpexp) = typeinfExp lambdaDepth inf context icexp val ty = T.newtyWithLambdaDepth (lambdaDepth, T.univKind) in (ty, TC.TPCAST(tpexp, ty, loc)) end | IC.ICFFIIMPORT (icexp, ffity, loc) => let val (expTy, tpexp) = TCU.freshInst (typeinfExp lambdaDepth inf context icexp) val _ = U.unify [(BT.ptrTy, expTy)] handle U.Unify => E.enqueueError "Typeinf 031" (loc, E.FFIStubMismatch("030",BT.ptrTy, expTy)) val ffity = evalForeignFunTy context ffity val stubTy = ffiStubTy ffity in (stubTy, TC.TPFFIIMPORT {ptrExp = tpexp, ffiTy = ffity, stubTy = stubTy, loc = loc}) end | IC.ICFFIEXPORT (icexp, ffity, loc) => raise bug "ICFFIEXPORT" | IC.ICFFIAPPLY (attributes, icexp, ffiArgList, ffiRetTy, loc) => let val retDir = IMPORT {force = isForceImportAttribute attributes} val (funTy, funExp) = TCU.freshInst (typeinfExp lambdaDepth applyDepth context icexp) val _ = U.unify [(BT.ptrTy, funTy)] handle U.Unify => E.enqueueError "Typeinf 032" (loc, E.FFIStubMismatch("031",BT.ptrTy, funTy)) val (argFFItys, args) = ListPair.unzip (map (typeinfFFIArg lambdaDepth applyDepth context) ffiArgList) val argTupleExp = makeTupleExp (args, loc) val retFFItys = evalFFIFunTyArgs context retDir [ffiRetTy] val ffity = TC.FFIFUNTY (attributes, argFFItys, retFFItys, loc) val stubTy = ffiStubTy ffity val retTy = case stubTy of T.FUNMty (_,retTy) => retTy | _ => raise Control.Bug "ICFFIAPPLY" in (retTy, TC.TPAPPM {funExp = TC.TPFFIIMPORT {ptrExp = funExp, ffiTy = ffity, stubTy = stubTy, loc = loc}, funTy = stubTy, argExpList = [argTupleExp], loc = loc}) end | IC.ICSQLSERVER (server, ty, loc) => let val ty = ITy.evalIty context ty handle e => (P.print "ity22\n"; raise e) val schema = case TU.derefTy ty of T.RECORDty fieldTys => LabelEnv.map (fn ty => case TU.derefTy ty of T.RECORDty fieldTys => (LabelEnv.app (fn ty => if isCompatibleWithSQL ty then () else (E.enqueueError "Typeinf 035" (loc, E.IncompatibleWithSQL("033",ty)))) fieldTys; fieldTys) | _ => (E.enqueueError "Typeinf 036" (loc, E.InvalidSQLTableDecl("034",ty)); LabelEnv.empty)) fieldTys | T.CONSTRUCTty {tyCon,...} => (if TypID.eq (#id tyCon, #id BT.unitTyCon) then () else E.enqueueError "Typeinf 037" (loc, E.InvalidSQLTableDecl("035",ty)); LabelEnv.empty) | _ => (E.enqueueError "Typeinf 038" (loc, E.InvalidSQLTableDecl("036",ty)); LabelEnv.empty) val resultTy = T.CONSTRUCTty {tyCon = BT.serverTyCon, args = [ty]} in (resultTy, TC.TPSQLSERVER {server = server, schema = schema, resultTy = resultTy, loc = loc}) end | IC.ICSQLDBI (icpat, icexp, loc) => let (* * T{x:t dbi} |- e : tau t \not\in FTV(T) t \not\in FTV(tau) * ---------------------------------------------------------------- * T |- sqldbi x in e : tau * * This term is derived from "abstype" of Mitchell-Protokin's * exsitential type scheme. This term means the following: * abstype X with x : X dbi is DBI in e *) val lambdaDepth = incDepth () val tv = T.newtyWithLambdaDepth (lambdaDepth, T.univKind) val dbiTy = T.CONSTRUCTty {tyCon = BT.dbiTyCon, args = [tv]} val (patVarEnv, patTy, tppat) = typeinfPat lambdaDepth context icpat val _ = U.unify [(patTy, dbiTy)] handle U.Unify => E.enqueueError "Typeinf 038-2" (loc, E.RuleTypeMismatch ("037",{thisRule=patTy, otherRules=dbiTy})) val newContext = TIC.extendContextWithVarEnv (context, patVarEnv) val (expTy, tpexp) = typeinfExp lambdaDepth applyDepth newContext icexp val _ = if (case TU.derefTy tv of T.TYVARty (tvs as ref (T.TVAR {lambdaDepth=depth, ...})) => T.youngerDepth {contextDepth = lambdaDepth, tyvarDepth = depth} andalso not (OTSet.member (TU.EFTV expTy, tvs)) | _ => false) then () else E.enqueueError "Typeinf 039" (loc, E.InvalidSQLDBI("038",tv)) in (expTy, TC.TPCASEM {expList=[TC.TPDATACONSTRUCT {con = BT.DBITPConInfo, instTyList = [tv], argExpOpt = NONE, argTyOpt = NONE, loc = loc}], expTyList = [dbiTy], ruleList = [{args=[tppat], body=tpexp}], ruleBodyTy = expTy, caseKind = PatternCalc.MATCH, loc = loc}) end and typeinfPat lambdaDepth (context as {tvarEnv, varEnv,...} :TIC.context) icpat = case icpat of IC.ICPATERROR loc => let val ty1 = T.newtyWithLambdaDepth (lambdaDepth, T.univKind) in (VarMap.empty, ty1, TC.TPPATERROR (ty1, loc)) end | IC.ICPATWILD loc => let val ty1 = T.newtyWithLambdaDepth (lambdaDepth, T.univKind) in (VarMap.empty, ty1, TC.TPPATWILD (ty1, loc)) end | IC.ICPATVAR (var as {path, id}, loc) => let val ty1 = T.newtyWithLambdaDepth (lambdaDepth, T.univKind) val varInfo = {path=path, id=id, ty=ty1} val varEnv1 = VarMap.insert (VarMap.empty, var, TC.VARID varInfo) in (varEnv1, ty1, TC.TPPATVAR (varInfo, loc)) end | IC.ICPATCON ({path, id, ty=ity}, loc) => let val ty = ITy.evalIty context ity handle e => (P.print "ity23\n"; raise e) val conInfo = {path=path, id=id, ty=ty} val (ty1, tylist) = case ty of (T.POLYty{boundtvars, body, ...}) => let val subst = TU.freshSubst boundtvars in (TU.substBTvar subst body, BoundTypeVarID.Map.listItems subst) end | _ => (ty, nil) in case TU.derefTy ty1 of T.FUNMty _ => ( E.enqueueError "Typeinf 040" (loc, E.ConRequireArg("039",{longid = path})); ( VarMap.empty, T.ERRORty, TC.TPPATWILD (T.ERRORty, loc) ) ) | _ => ( VarMap.empty, ty1, TC.TPPATDATACONSTRUCT{conPat=conInfo, instTyList=tylist, argPatOpt=NONE, patTy=ty1, loc=loc} ) end | IC.ICPATEXN ({path, id, ty=ity}, loc) => let val ty = ITy.evalIty context ity handle e => (P.print "ity24\n"; raise e) val exnInfo = {path=path, id=id, ty=ty} in case TU.derefTy ty of T.FUNMty _ => ( E.enqueueError "Typeinf 041" (loc, E.ConRequireArg("040",{longid = path})); ( VarMap.empty, T.ERRORty, TC.TPPATWILD (T.ERRORty, loc) ) ) | _ => ( VarMap.empty, ty, TC.TPPATEXNCONSTRUCT{exnPat=TC.EXN exnInfo, instTyList=nil, argPatOpt=NONE, patTy=ty, loc=loc} ) end | IC.ICPATEXEXN ({path, ty=ity}, loc) => let val ty = ITy.evalIty context ity handle e => (P.print "ity25\n"; raise e) val exExnInfo = {path=path, ty=ty} in case TU.derefTy ty of T.FUNMty _ => ( E.enqueueError "Typeinf 042" (loc, E.ConRequireArg("041",{longid = path})); ( VarMap.empty, T.ERRORty, TC.TPPATWILD (T.ERRORty, loc) ) ) | _ => ( VarMap.empty, ty, TC.TPPATEXNCONSTRUCT{exnPat=TC.EXEXN exExnInfo, instTyList=nil, argPatOpt=NONE, patTy=ty, loc=loc} ) end | IC.ICPATCONSTANT (constant, loc) => let val (ty, staticConst) = typeinfConst constant in (VarMap.empty, ty, TC.TPPATCONSTANT(staticConst, ty, loc)) end | IC.ICPATCONSTRUCT {con=icpat1, arg=icpat2, loc} => (case icpat1 of IC.ICPATCON({path, id, ty=ity}, loc) => let val ty = ITy.evalIty context ity handle e => (P.print "ity26\n"; raise e) val conInfo = {path=path, id=id, ty=ty} val (ty1, tylist) = case ty of (T.POLYty{boundtvars, body, ...}) => let val subst = TU.freshSubst boundtvars in (TU.substBTvar subst body, BoundTypeVarID.Map.listItems subst) end | _ => (ty, nil) val (varEnv1, patTy2, tppat2) = typeinfPat lambdaDepth context icpat2 val (domtyList, ranty, instTyList) = TU.coerceFunM (ty, [patTy2]) handle TU.CoerceFun => ( E.enqueueError "Typeinf 043" (loc,E.NonFunction("042",{ty = ty})); ([T.ERRORty], T.ERRORty, nil) ) val domty = case domtyList of [ty] => ty | _ => raise bug "arity mismatch" val _ = U.unify [(patTy2, domty)] handle U.Unify => E.enqueueError "Typeinf 044" ( loc, E.TyConMismatch ("043",{argTy = patTy2, domTy = domty}) ) in ( varEnv1, ranty, TC.TPPATDATACONSTRUCT {conPat=conInfo, instTyList=instTyList, argPatOpt=SOME tppat2, patTy=ranty, loc=loc} ) end | IC.ICPATEXN ({path, id, ty=ity}, loc) => let val ty = ITy.evalIty context ity handle e => (P.print "ity27\n"; raise e) val exnInfo = {path=path, id=id, ty=ty} val (varEnv1, patTy2, tppat2) = typeinfPat lambdaDepth context icpat2 val (domtyList, ranty, instTyList) = TU.coerceFunM (ty, [patTy2]) val domty = case domtyList of [ty] => ty | _ => raise bug "arity mismatch" val _ = U.unify [(patTy2, domty)] handle U.Unify => E.enqueueError "Typeinf 045" ( loc, E.TyConMismatch ("044",{argTy = patTy2, domTy = domty}) ) in ( varEnv1, ranty, TC.TPPATEXNCONSTRUCT{exnPat=TC.EXN exnInfo, instTyList=nil, argPatOpt=SOME tppat2, patTy=ranty, (* patTy=ty, *) loc=loc} ) end | IC.ICPATEXEXN ({path, ty=ity}, loc) => let val ty = ITy.evalIty context ity handle e => (P.print "ity28\n"; raise e) val exExnInfo = {path=path, ty=ty} val (varEnv1, patTy2, tppat2) = typeinfPat lambdaDepth context icpat2 val (domtyList, ranty, instTyList) = TU.coerceFunM (ty, [patTy2]) val domty = case domtyList of [ty] => ty | _ => raise bug "arity mismatch" val _ = U.unify [(patTy2, domty)] handle U.Unify => E.enqueueError "Typeinf 046" ( loc, E.TyConMismatch ("045",{argTy = patTy2, domTy = domty}) ) in ( varEnv1, ranty, TC.TPPATEXNCONSTRUCT{exnPat=TC.EXEXN exExnInfo, instTyList=nil, argPatOpt=SOME tppat2, patTy=ranty, (* patTy=ty, *) loc=loc} ) end | _ => ( E.enqueueError "Typeinf 047"(loc, E.NonConstruct("046",{pat = icpat1})); (VarMap.empty, T.ERRORty, TC.TPPATWILD (T.ERRORty, loc)) ) ) | IC.ICPATRECORD {flex, fields, loc} => let val (varEnv1, tyFields, tppatFields) = foldl (fn ((label, icpat), (varEnv1, tyFields, tppatFields)) => let val (varEnv2, ty, tppat) = typeinfPat lambdaDepth context icpat in ( VarMap.unionWith (fn _ => raise bug "duplicate id in idcalc") (varEnv2, varEnv1), LabelEnv.insert(tyFields, label, ty), LabelEnv.insert(tppatFields, label, tppat) ) end) (VarMap.empty, LabelEnv.empty, LabelEnv.empty) fields val ty1 = if flex then T.newtyRaw { lambdaDepth = lambdaDepth, tvarKind = T.REC tyFields, eqKind = A.NONEQ, utvarOpt = NONE } else T.RECORDty tyFields in (varEnv1, ty1, TC.TPPATRECORD{fields=tppatFields, recordTy=ty1, loc=loc} ) end | IC.ICPATLAYERED {patVar as {path,id}, tyOpt, pat, loc} => let val (varEnv1, ty1, tpat) = typeinfPat lambdaDepth context pat val _ = case tyOpt of NONE => () | SOME ity => let val ty2 = ITy.evalIty context ity handle e => (P.print "ity29\n"; raise e) in U.unify [(ty1, ty2)] handle U.Unify => E.enqueueError "Typeinf 048" ( loc, E.TypeAnnotationNotAgree ("047",{ty = ty1, annotatedTy = ty2}) ) end val varInfo = TCU.newTCVarInfoWithPath (path, ty1) in ( VarMap.insert (varEnv1, patVar, TC.VARID varInfo), ty1, TC.TPPATLAYERED {varPat=TC.TPPATVAR (varInfo, loc), asPat=tpat, loc=loc} ) end | IC.ICPATTYPED (icpat, ty, loc) => let val (varEnv1, ty1, tppat) = typeinfPat lambdaDepth context icpat val ty2 = ITy.evalIty context ty handle e => (P.print "ity30\n"; raise e) val _ = U.unify [(ty1, ty2)] handle U.Unify => E.enqueueError "Typeinf 049" ( loc, E.TypeAnnotationNotAgree ("048",{ty = ty1, annotatedTy = ty2}) ) in (varEnv1, ty2, tppat) end and typeinfFFIArg lambdaDepth applyDepth context ffiarg = case ffiarg of IC.ICFFIARG (icexp, ffity, loc) => let val (argTy, argExp) = TCU.freshInst (typeinfExp lambdaDepth applyDepth context icexp) val ffity = evalFFIty context EXPORT ffity val stubTy = ffiStubTy ffity val _ = U.unify [(argTy, stubTy)] handle U.Unify => E.enqueueError "Typeinf 050" (loc, E.TypeAnnotationNotAgree ("049",{ty = argTy, annotatedTy = stubTy})) in (ffity, (argTy, argExp)) end | IC.ICFFIARGSIZEOF (ty, factorExpOpt, loc) => let val ty = ITy.evalIty context ty handle e => (P.print "ity31\n"; raise e) val sizeofExp = TC.TPCAST (TC.TPSIZEOF (ty, loc), BT.wordTy, loc) val argExp = case factorExpOpt of NONE => sizeofExp | SOME ptfactorExp => let val (factorTy, factorExp) = TCU.freshInst (typeinfExp lambdaDepth applyDepth context ptfactorExp) val _ = U.unify [(BT.wordTy, factorTy)] handle U.Unify => (E.enqueueError "Typeinf 051" (loc, E.FFIStubMismatch ("050",BT.wordTy, factorTy))) val argPair = makeTupleExp ([(BT.wordTy, sizeofExp), (BT.wordTy, factorExp)], loc) val argTy = makeTupleTy [BT.wordTy, BT.wordTy] in TC.TPPRIMAPPLY {primOp = {primitive = BuiltinPrimitive.Word_mul, ty = T.FUNMty ([argTy], BT.wordTy)}, instTyList = nil, argExp = argPair, argTy = argTy, loc = loc} end in (TC.FFIBASETY (BT.wordTy, loc), (BT.wordTy, argExp)) end (** * infer a possibly polytype for a match *) and typeinfMatch lambdaDepth applyDepth argtyList context [rule] = let val (ty1, typedRule) = typeinfRule lambdaDepth applyDepth argtyList context rule in (ty1, [typedRule]) end | typeinfMatch lambdaDepth _ argtyList context (rule :: rules) = let val (tyRule, typedRule) = monoTypeinfRule lambdaDepth argtyList context rule val (tyRules, typedRules) = monoTypeinfMatch lambdaDepth argtyList context rules in ( U.unify [(tyRule, tyRules)]; (tyRules, typedRule::typedRules) ) handle U.Unify => ( E.enqueueError "Typeinf 052" ( IC.getRuleLocM [rule], E.RuleTypeMismatch ("051",{thisRule = tyRule, otherRules = tyRules}) ); (T.ERRORty, nil) ) end | typeinfMatch _ _ argtyList context nil = raise bug "typeinfMatch, empty rule" (** * infer a mono type for a match * @params argTy context match *) and monoTypeinfMatch lambdaDepth argtyList context [rule] = let val (ty1, typedRule) = monoTypeinfRule lambdaDepth argtyList context rule in (ty1, [typedRule]) end | monoTypeinfMatch lambdaDepth argtyList context (rule :: rules) = let val (ruleTy, typedRule) = monoTypeinfRule lambdaDepth argtyList context rule val (rulesTy, typedRules) = monoTypeinfMatch lambdaDepth argtyList context rules in ( U.unify [(ruleTy, rulesTy)]; (rulesTy, typedRule :: typedRules) ) handle U.Unify => ( E.enqueueError "Typeinf 053" ( getRuleLocM [rule], E.RuleTypeMismatch ("052",{thisRule = ruleTy, otherRules = rulesTy}) ); (T.ERRORty, nil) ) end | monoTypeinfMatch lambdaDepth argty context nil = raise bug "monoTypeinfMatch, empty rule" (** * infer a monotype for a rule * @params argTy basis rule *) and monoTypeinfRule lambdaDepth argtyList context {args=patList,body=exp} = let val (varEnv1, patTyList, typedPatList) = typeinfPatList lambdaDepth context patList val (bodyTy, typedExp) = TCU.freshInst (typeinfExp lambdaDepth inf (TIC.extendContextWithVarEnv(context, varEnv1)) exp) in ( U.unify (ListPair.zip(patTyList, argtyList)); (T.FUNMty(patTyList, bodyTy), {args=typedPatList, body=typedExp}) ) handle U.Unify => let val ruleLoc = IC.getRuleLocM [{args=patList, body=exp}] in E.enqueueError "Typeinf 054" (ruleLoc, E.TyConListMismatch ("053",{argTyList = argtyList, domTyList = patTyList})); (T.ERRORty, {args=[TC.TPPATWILD(T.ERRORty, ruleLoc)],body=TC.TPERROR}) end end (** * infer a possibly polytype for a rule * @params applyDepth argTy context rule *) and typeinfRule lambdaDepth applyDepth argtyList context {args=patList,body=exp} = let val (varEnv1, patTyList, typedPatList) = typeinfPatList lambdaDepth context patList val (bodyTy, typedExp) = typeinfExp lambdaDepth applyDepth (TIC.extendContextWithVarEnv(context, varEnv1)) exp in ( U.unify (ListPair.zip(patTyList, argtyList)); (T.FUNMty(patTyList, bodyTy), {args=typedPatList, body=typedExp}) ) handle U.Unify => let val ruleLoc = IC.getRuleLocM [{args=patList, body=exp}] in E.enqueueError "Typeinf 055" (ruleLoc, E.TyConListMismatch ("054",{argTyList = argtyList, domTyList = patTyList})); (T.ERRORty, {args=map (fn x => TC.TPPATWILD(T.ERRORty, ruleLoc)) patList, body=TC.TPERROR} ) end end and typeinfPatList lambdaDepth context icpatList = let val (varEnv1, tyPatListRev, tppatListRev) = foldl (fn (icpat, (varEnv1, tyPatListRev, tppatListRev)) => let val (varEnv2, ty, tppat) = typeinfPat lambdaDepth context icpat in ( VarMap.unionWith (fn (varId as (TC.VARID{path, ...}), _) => (E.enqueueError "Typeinf 056" ( IC.getLocPat icpat, E.DuplicatePatternVar ("055",{vars = [String.concatWith "." path]})); varId) | _ => raise bug "non VARID in varEnv1 or 2\ \ (typeinference/main/TypeInferCore.sml)" ) (varEnv2, varEnv1), ty::tyPatListRev, tppat::tppatListRev ) end) (VarMap.empty, nil, nil) icpatList in (varEnv1, List.rev tyPatListRev, List.rev tppatListRev) end (** * infer a type for ptdecl * @params context ptdeclList * @return a new context and tpdeclList *) and typeinfDeclList lambdaDepth context nil = (TIC.emptyContext, nil) | typeinfDeclList lambdaDepth context (icdecl :: icdeclList) = let val (newContext1:TIC.context, tpdeclList1) = typeinfDecl lambdaDepth context icdecl val (newContext2:TIC.context, tpdeclList) = typeinfDeclList lambdaDepth (TIC.extendContextWithContext (context, newContext1)) icdeclList in ( TIC.extendContextWithContext (newContext1, newContext2), tpdeclList1 @ tpdeclList ) end (** exceptions E.RecValNotID E.DuplicateTargsInTypeDef *) and typeinfDecl lambdaDepth (context:TIC.context) icdecl = let val lambdaDepth = lambdaDepth in case icdecl of IC.ICVAL (scopedTvars, icpatIcexpList, loc) => ( let val lambdaDepth = incDepth () (* 2012-7-25 ohori: bug val003.sml. scopedTvars must be evaluated for each icexp val (newContext, addedUtvars) = evalScopedTvars lambdaDepth context scopedTvars loc *) val (localBinds, patternVarBinds, extraBinds) = foldl (fn ((icpat,icexp),(localBinds,patternVarBinds,extraBinds)) => let val (newContext, addedUtvars) = evalScopedTvars lambdaDepth context scopedTvars loc val (localBinds1, patternVarBinds1, extraBinds1) = (decomposeValbind lambdaDepth newContext (icpat, icexp)) handle exn as E.RecordLabelSetMismatch _ => ( E.enqueueError "Typeinf 056-2" (Loc.mergeLocs (IC.getLocPat icpat, IC.getLocExp icexp), exn); (nil, nil, nil) ) | exn as E.PatternExpMismatch _ => ( E.enqueueError "Typeinf 057" (Loc.mergeLocs (IC.getLocPat icpat, IC.getLocExp icexp), exn); (nil, nil, nil) ) (* The following is added to fix the bug 68. *) val tyvarSet = ( foldl (fn (({ty,...}, _), tyvarSet) => OTSet.union(TU.EFTV ty, tyvarSet) ) OTSet.empty (patternVarBinds1@extraBinds1) ) handle x => raise x val _ = ( TvarMap.appi (fn (utvar, ref (T.SUBSTITUTED ty)) => (case TU.derefSubstTy ty of T.BOUNDVARty _ => () | T.TYVARty (tvstateRef as ref (T.TVAR {eqKind,...})) => if OTSet.member(tyvarSet, tvstateRef) then E.enqueueError "Typeinf 058" (loc, E.UserTvarNotGeneralized ("056", {utvarName = (case eqKind of A.EQ => "''" | A.NONEQ => "'") ^ #name utvar})) else () | _ => ( T.printTy ty; raise bug "SUBSTITUTED to Non BoundVarTy" ) ) | (utvar, tvstateRef as (ref (T.TVAR{eqKind,...}))) => if OTSet.member(tyvarSet, tvstateRef) then E.enqueueError "Typeinf 059" (loc, E.UserTvarNotGeneralized ("057", {utvarName = (case eqKind of A.EQ => "''" | A.NONEQ => "'") ^ #name utvar}) ) else () ) addedUtvars ) handle x => raise x in ( localBinds @ localBinds1, patternVarBinds @ patternVarBinds1, extraBinds @ extraBinds1 ) end) (nil, nil, nil) icpatIcexpList fun bindVar (lambdaDepth, varEnv, var, varInfo as {ty, id, path}) = (TU.adjustDepthInTy lambdaDepth ty; VarMap.insert(varEnv, var, TC.VARID varInfo)) val newVarEnv = foldl (fn ((varInfo, _), newVarEnv) => let val var = {path = #path varInfo, id = #id varInfo} in bindVar (lambdaDepth, newVarEnv, var, varInfo) end ) VarMap.empty (patternVarBinds@extraBinds) in ( { varEnv = newVarEnv, tvarEnv = TvarMap.empty, oprimEnv = OPrimMap.empty }, let val exportDecls = (if null patternVarBinds then nil else [TC.TPVAL (patternVarBinds, loc)]) @ (if null extraBinds then nil else [TC.TPVAL (extraBinds, loc)]) val decls = case localBinds of nil => exportDecls | _ => map (fn x => TC.TPVAL ([x], loc)) localBinds @ exportDecls in decls end ) end handle Fail => (TIC.emptyContext,nil) ) | IC.ICDECFUN {guard,funbinds,loc} => let val lambdaDepth = incDepth () val (newContext, addedUtvars) = evalScopedTvars lambdaDepth context guard loc fun arityOfMatch match = case match of nil => raise bug "empty match in fundecl" | {args,body}::_ => List.length args fun argTyListOfMatch match = case match of nil => raise bug "empty match in fundecl" | {args,body}::_ => map (fn _ => T.newtyWithLambdaDepth (lambdaDepth, T.univKind)) args val (newContext, funTyList) = foldr (* tyList in funbinds should not be there *) (fn ({funVarInfo=funVar as {path, id}, tyList, rules=icmatch}, (newContext,funTyList)) => let val arity = arityOfMatch icmatch val funTy = T.newtyWithLambdaDepth (lambdaDepth, T.univKind) val funVarInfo = {path=path, id=id, ty=funTy} val tyList = map (ITy.evalIty context) tyList (* ty should be all mono, so the following should not be needed *) val tyList = map TU.freshRigidInstTy tyList in ( TIC.bindVar (lambdaDepth, newContext, funVar, TC.RECFUNID (funVarInfo, arity) ), (funTy, tyList)::funTyList) end ) (newContext, nil) funbinds val icpatRuleFunTyList = ListPair.zip (funbinds,funTyList) val funBindListRev = foldl (fn (({funVarInfo={path,id},tyList=_, rules=icmatch},(funTy, tyList)), funBindListRev) => let val argTyList = argTyListOfMatch icmatch val funVarInfo = {path=path, id=id, ty=funTy} val (tpmatchTy, tpmatch) = monoTypeinfMatch lambdaDepth argTyList newContext icmatch fun curryTy (T.FUNMty(argTyList, ty)) = foldr (fn (ty, body) => T.FUNMty([ty], body)) ty argTyList | curryTy ty = ty val funType = curryTy (TU.derefTy tpmatchTy) val tyEquations = map (fn x => (funTy, x)) (funType::tyList) val _ = U.unify tyEquations handle U.Unify => E.enqueueError "Typeinf 060" ( loc, E.RecDefinitionAndOccurrenceNotAgree ("058", { id = String.concatWith "." path, definition = funType, occurrence = funTy } ) ) in { funVarInfo = funVarInfo, bodyTy = case TU.derefTy tpmatchTy of T.FUNMty (_, bodyTy) => bodyTy | T.ERRORty => T.ERRORty | _ => raise bug "non fun type in fundecl", argTyList = argTyList, ruleList = tpmatch } ::funBindListRev end ) nil icpatRuleFunTyList val funBindList = List.rev funBindListRev val TypesOfAllElements = T.RECORDty (foldl (fn ({funVarInfo={path, id, ty},...}, tyFields) => LabelEnv.insert(tyFields, String.concat path, ty)) LabelEnv.empty funBindList) val {boundEnv, ...} = generalizer (TypesOfAllElements, lambdaDepth) val _ = TvarMap.appi (fn ({name, id, eq, lifted}, ref (T.SUBSTITUTED ty)) => (case TU.derefSubstTy ty of T.BOUNDVARty _ => () | T.TYVARty (tvstateRef as ref (T.TVAR {eqKind,...})) => E.enqueueError "Typeinf 061" (loc, E.UserTvarNotGeneralized ("059",{utvarName = (case eqKind of A.EQ => "''" | A.NONEQ => "'") ^ name})) | _ => ( T.printTy ty; raise bug "illeagal utvar instance in\ \ UserTvarNotGeneralized check" ) ) | ({name, id, eq, lifted}, ref (T.TVAR {eqKind,...})) => E.enqueueError "Typeinf 062" (loc, E.UserTvarNotGeneralized ("060", { utvarName = (case eqKind of A.EQ => "''" | A.NONEQ => "'") ^ name } ) ) ) addedUtvars in if BoundTypeVarID.Map.isEmpty boundEnv then ( foldl (fn ( { funVarInfo as {path, id, ty}, argTyList, bodyTy, ruleList }, newContext) => TIC.bindVar ( lambdaDepth, newContext, {path=path, id=id}, TC.RECFUNID (funVarInfo, length argTyList) ) ) TIC.emptyContext funBindList, [TC.TPFUNDECL (funBindList, loc)] ) else ( foldl (fn ({funVarInfo={path, id, ty}, argTyList,...}, newContext) => TIC.bindVar ( lambdaDepth, newContext, {path=path, id=id}, TC.RECFUNID ( {path=path, id=id, ty=T.POLYty{boundtvars=boundEnv, body = ty}}, length argTyList ) ) ) TIC.emptyContext funBindList, [TC.TPPOLYFUNDECL (boundEnv, funBindList, loc)] ) end | IC.ICNONRECFUN{guard, funVarInfo, tyList, rules, loc} => let val lambdaDepth = lambdaDepth val funPat = foldl (fn (ty, pat) => IC.ICPATTYPED(pat, ty, loc)) (IC.ICPATVAR(funVarInfo,loc)) tyList val icdecls = case rules of {args = [pat], body} :: _ => [(funPat, IC.ICFNM(rules, loc))] | [{args=patList as (pat::_), body}] => let val firstLoc = IC.getLocPat pat val lastLoc = IC.getLocPat (List.last patList) val patFields = makeTupleFields patList val _ = freeVarsInPat (IC.ICPATRECORD {flex=false, fields=patFields, loc = Loc.mergeLocs(firstLoc, lastLoc)}) in [(funPat, foldr (fn (pat, funBody) => IC.ICFNM([{args=[pat], body=funBody}], loc)) body patList) ] end | _ => transFunDecl context loc (funVarInfo, rules) in typeinfDecl lambdaDepth context (IC.ICVAL(guard, icdecls, loc)) end | IC.ICVALREC {guard, recbinds, loc} => let val lambdaDepth = incDepth () val (newContext, addedUtvars) = evalScopedTvars lambdaDepth context guard loc val (recbinds, newContext) = foldr (fn ({varInfo = var as {path,id}, tyList, body}, (recbinds, newContext)) => let val ty = T.newtyWithLambdaDepth (lambdaDepth, T.univKind) val varInfo = {path=path, id=id, ty=ty} val tyList = map (ITy.evalIty context) tyList (* ty should be all mono, so the following should not be needed *) val tyList = map TU.freshRigidInstTy tyList in ( (varInfo, tyList, body) :: recbinds, TIC.bindVar (lambdaDepth, newContext, var, TC.VARID varInfo) ) end) (nil, newContext) recbinds val varInfoTyTpexpList = let fun inferRule (varInfo as {path, ty, id}, tyList, icexp) = let val (icexpTy, tpexp) = typeinfExp lambdaDepth inf newContext icexp val tyEquations = map (fn x => (ty, x)) (icexpTy::tyList) val _ = U.unify tyEquations handle U.Unify => E.enqueueError "Typeinf 063" ( loc, E.RecDefinitionAndOccurrenceNotAgree ("061", { id = String.concatWith "." path, definition = icexpTy, occurrence = ty } ) ) in {var=varInfo, expTy=icexpTy, exp=tpexp} end in map inferRule recbinds end val TypesOfAllElements = T.RECORDty (foldl (fn ({var={path,ty,id},...}, tyFields) => LabelEnv.insert(tyFields, String.concatWith "." path, ty)) LabelEnv.empty varInfoTyTpexpList) val {boundEnv, ...} = generalizer (TypesOfAllElements, lambdaDepth) val _ = TvarMap.appi (fn ({name,...}, ref (T.SUBSTITUTED (T.BOUNDVARty _))) =>() | ({name,...}, ref (T.TVAR{eqKind,...})) => E.enqueueError "Typeinf 064" (loc, E.UserTvarNotGeneralized ("062", {utvarName = (case eqKind of A.EQ => "''" | A.NONEQ => "'") ^ name} ) ) | _ => raise bug "illeagal utvar instance in\ \ UserTvarNotGeneralized check" ) addedUtvars in if BoundTypeVarID.Map.isEmpty boundEnv then ( foldl (fn ({var=varInfo as {path,id,ty},...}, newContext) => TIC.bindVar ( lambdaDepth, newContext, {path=path, id=id}, TC.VARID varInfo ) ) (TIC.emptyContext) varInfoTyTpexpList, [TC.TPVALREC (varInfoTyTpexpList, loc)] ) else ( foldl (fn ({var={path, id, ty},...}, newContext) => TIC.bindVar ( lambdaDepth, newContext, {path=path, id=id}, TC.VARID {path=path, id=id, ty= T.POLYty{boundtvars = boundEnv, body = ty} } ) ) TIC.emptyContext varInfoTyTpexpList, [TC.TPVALPOLYREC (boundEnv, varInfoTyTpexpList, loc)] ) end | IC.ICEXND (exnconLocList, loc) => (TIC.emptyContext, [TC.TPEXD (map (fn {exnInfo = {path, id, ty=ity}, loc} => {exnInfo={path=path, id=id, ty=ITy.evalIty context ity handle e => (P.print "ity32\n"; raise e) }, loc=loc}) exnconLocList, loc ) ] ) | IC.ICEXNTAGD ({exnInfo={path, id, ty=ity}, varInfo},loc) => let val varInfo = case VarMap.find(#varEnv context, varInfo) of SOME (TC.VARID varInfo) => varInfo | SOME (TC.RECFUNID _) => raise bug "recfunvar in ICEXNTAGD" | NONE => if E.isError() then raise Fail else raise bug "var not found (2)" in (TIC.emptyContext, [TC.TPEXNTAGD ( {exnInfo = {path=path,id=id, ty=ITy.evalIty context ity handle e => (P.print "ity33\n"; raise e) }, varInfo = varInfo}, loc ) ] ) end | IC.ICEXPORTFUNCTOR (var as {path, id}, ity, loc) => ( (* four possibilities in functorTy 1. TYPOLY(btvs, TYFUNM([first], TYFUNM(polyList, body))) ICFNM1([first], ICFNM1_POLY(polyPats, BODY)) 2. TYPOLY(btvs, TYFUNM([first], body)) ICFNM1([first], BODY) 3. TYFUNM(polyList, body) ICFNM1_POLY(polyPats, BODY) 4. TYFUNM([unit], body) ICFNM1(UNIT, BODY) where body is either unit (TYCONSTRUCT ..) or record (TYRECORD ..) BODY is ICLET(..., ICCONSTANT or ICRECORD) *) let val ty1 = ITy.evalIty context ity handle e => (P.print "ity34\n"; raise e) val (ty2, tpdecl) = case VarMap.find(#varEnv context, var) of SOME (idstatus as TC.VARID {ty,...}) => (ty, TC.TPEXPORTVAR {internalVar={ty=ty, id=id, path=path}, externalVar = {ty=ty, path=path}, loc=loc} ) | SOME (TC.RECFUNID({ty,...},_)) => raise bug "RECFUNID for functor" | NONE =>raise bug "var not found (3)" in if U.eqTy BoundTypeVarID.Map.empty (ty1, ty2) then (TIC.emptyContext, [tpdecl]) else let val _ = P.print "ICEXPORTFUNCTOR: noneq:" val _ = P.print (String.concatWith "." path) val _ = P.print "\n" val tpexp = TC.TPVAR ({path=path,id=id,ty=ty2},loc) fun checkPoly (polyList, actualPolyList) = if U.eqTyList BoundTypeVarID.Map.empty (polyList,actualPolyList) then () else (E.enqueueError "Typeinf 065" (loc, E.TypeAnnotationNotAgree ("063-1",{ty=ty2,annotatedTy=ty1})); raise Fail ) val (context, decls) = case ty1 of (* 1. TYPOLY(btvs,TYFUNM([firstArgty],TYFUNM(polyList,body)))*) T.POLYty{boundtvars, body= toBodyTy as T.FUNMty([first],T.FUNMty(polyTys,bodyTy))} => let val (ty22, tpexp) = TCU.freshToplevelInst(ty2,tpexp) in (case ty22 of T.FUNMty([actualFirst], T.FUNMty(actualPolyTys,actualBodyTy))=> (let val _ = U.unify[(actualFirst, first)] handle U.Unify => (E.enqueueError "Typeinf 066" (loc, E.TypeAnnotationNotAgree ("063-2",{ty=ty2,annotatedTy=ty1})); raise Fail ) val _ = checkPoly (actualPolyTys, polyTys) val firstVar = TCU.newTCVarInfo first val firstExp = TC.TPVAR (firstVar, loc) val polyVars = map TCU.newTCVarInfo polyTys val polyExps = map (fn x => TC.TPVAR(x, loc)) polyVars val bodyExp1 = TC.TPAPPM{funExp=tpexp, funTy=ty22, argExpList=[firstExp], loc=loc} val bodyExp = TC.TPAPPM{funExp=bodyExp1, funTy=T.FUNMty(polyTys,actualBodyTy), argExpList=polyExps, loc=loc} val newBodyExp = TIU.coerceTy(bodyExp,actualBodyTy,bodyTy,loc) handle TIU.CoerceTy => (E.enqueueError "Typeinf 067" (loc, E.TypeAnnotationNotAgree ("063-3",{ty=ty2,annotatedTy=ty1})); raise Fail ) val newTpexp = TC.TPFNM {argVarList=[firstVar], bodyExp= TC.TPFNM{argVarList=polyVars, bodyExp=newBodyExp, bodyTy=bodyTy, loc=loc}, bodyTy=toBodyTy, loc=loc} val tpexp = TC.TPPOLY{btvEnv=boundtvars, expTyWithoutTAbs=toBodyTy, exp=newTpexp, loc=loc} val newVar = {id=VarID.generate(), path=path, ty=ty1} val newExternalVar = {path=path, ty=ty1} val newDecl = TC.TPVAL([(newVar, tpexp)], loc) val newIdstatus = TC.VARID newVar in (TIC.emptyContext, [newDecl, TC.TPEXPORTVAR {internalVar = newVar, externalVar=newExternalVar, loc=loc}] ) end ) | _ => (E.enqueueError "Typeinf 068" (loc, E.TypeAnnotationNotAgree ("063-4",{ty=ty2,annotatedTy=ty1})); raise Fail ) ) end | (* 2. TYPOLY(btvs, TYFUNM([firstArgty], body)) *) T.POLYty{boundtvars, body = toBodyTy as T.FUNMty([first as T.FUNMty _], bodyTy)} => let val (ty22, tpexp) = TCU.freshToplevelInst(ty2,tpexp) in (case ty22 of T.FUNMty([fromFirst], fromBodyTy) => let val _ = U.unify[(fromFirst, first)] handle U.Unify => (E.enqueueError "Typeinf 069" (loc, E.TypeAnnotationNotAgree ("063-5",{ty=ty2,annotatedTy=ty1})); raise Fail ) val firstVar = TCU.newTCVarInfo first val firstExp = TC.TPVAR (firstVar, loc) val bodyExp = TC.TPAPPM{funExp=tpexp, funTy=ty22, argExpList=[firstExp], loc=loc} val newBodyExp = TIU.coerceTy(bodyExp,fromBodyTy,bodyTy,loc) handle TIU.CoerceTy => (E.enqueueError "Typeinf 070" (loc, E.TypeAnnotationNotAgree ("063-6-1",{ty=ty2,annotatedTy=ty1})); raise Fail ) val newTpexp = TC.TPFNM {argVarList=[firstVar], bodyExp=newBodyExp, bodyTy=bodyTy, loc=loc} val tpexp = TC.TPPOLY{btvEnv=boundtvars, expTyWithoutTAbs=toBodyTy, exp=newTpexp, loc=loc} val newVar = {id=VarID.generate(), path=path, ty=ty1} val newExternalVar = {path=path, ty=ty1} val newDecl = TC.TPVAL([(newVar, tpexp)], loc) val exportDecl = TC.TPEXPORTVAR {internalVar = newVar, externalVar = newExternalVar, loc=loc} in (TIC.emptyContext, [newDecl,exportDecl] ) end | _ => (E.enqueueError "Typeinf 071" (loc, E.TypeAnnotationNotAgree ("063-6-2",{ty=ty2,annotatedTy=ty1})); raise Fail ) ) end | (* 3. TYFUNM(polyList, body) *) (* 4. TYFUNM([unit], body) *) T.FUNMty(polyTys, bodyTy) => (case ty2 of T.FUNMty(actualPolyTys,actualBodyTy) => (let val _ = checkPoly (actualPolyTys, polyTys) val polyVars = map TCU.newTCVarInfo polyTys val polyExps = map (fn x => TC.TPVAR(x, loc)) polyVars val bodyExp = TC.TPAPPM{funExp=tpexp, funTy=T.FUNMty(actualPolyTys,actualBodyTy), argExpList=polyExps, loc=loc} val newBodyExp = TIU.coerceTy (bodyExp, actualBodyTy, bodyTy, loc) handle TIU.CoerceTy => (E.enqueueError "Typeinf 072" (loc, E.TypeAnnotationNotAgree ("063-7",{ty=ty2,annotatedTy=ty1})); raise Fail ) val newTpexp = TC.TPFNM {argVarList=polyVars, bodyExp=newBodyExp, bodyTy=bodyTy, loc=loc} val newVar = {id=VarID.generate(), path=path, ty=ty1} val newExternalVar = {path=path, ty=ty1} val newDecl = TC.TPVAL([(newVar, tpexp)], loc) val exportDecl = TC.TPEXPORTVAR {internalVar=newVar, externalVar=newExternalVar, loc=loc} in (TIC.emptyContext, [newDecl, exportDecl] ) end ) | _ => (E.enqueueError "Typeinf 073" (loc, E.TypeAnnotationNotAgree ("063-8",{ty=ty2,annotatedTy=ty1})); raise Fail ) ) | _ => (P.print "illeagal functor annotation type"; P.print "ty1\n"; P.printTy ty1; P.print "\n"; raise bug "illeagal functor annotation type" ) in (context, decls) end handle Fail => (TIC.emptyContext,nil) end ) | IC.ICEXPORTTYPECHECKEDVAR (var as {path,id}, loc) => let val (ty, tpdecl) = case VarMap.find(#varEnv context, var) of SOME (idstatus as TC.VARID {ty,...}) => (ty, TC.TPEXPORTVAR{internalVar = {ty=ty, id=id, path=path}, externalVar={ty=ty, path=path}, loc=loc} ) | SOME (idstatus as TC.RECFUNID({ty,...},arity)) => (ty, TC.TPEXPORTRECFUNVAR{var={ty=ty, id=id, path=path}, arity=arity, loc=loc} ) | NONE => raise bug "var not found(4)" in (TIC.emptyContext, [tpdecl]) end | IC.ICEXPORTVAR (var as {path, id}, ity, loc) => let val ty1 = ITy.evalIty context ity handle e => (P.print "ity35\n"; raise e) val (ty2, tpdecl) = case VarMap.find(#varEnv context, var) of SOME (idstatus as TC.VARID {ty,...}) => (ty, TC.TPEXPORTVAR{internalVar = {ty=ty, id=id, path=path}, externalVar={ty=ty, path=path}, loc=loc} ) | SOME (idstatus as TC.RECFUNID({ty,...},arity)) => (ty, TC.TPEXPORTRECFUNVAR{var={ty=ty, id=id, path=path}, arity=arity, loc=loc} ) | NONE => raise bug "var not found(4)" in if U.eqTy BoundTypeVarID.Map.empty (ty1, ty2) then (TIC.emptyContext, [tpdecl]) else let val _ = P.print "ICEXPORTVAR: noneq:" val _ = P.print (String.concatWith "." path) val _ = P.print "\n" val _ = P.print "ty1:" val _ = P.printTy ty1 val _ = P.print "\n" val _ = P.print "ty2:" val _ = P.printTy ty2 val _ = P.print "\n" val ty11 = TU.freshRigidInstTy ty1 in if TU.monoTy ty2 then (U.unify [(ty11, ty2)]; (TIC.emptyContext, [tpdecl]) ) handle U.Unify => (E.enqueueError "Typeinf 074" (loc, E.TypeAnnotationNotAgree ("063-9",{ty=ty2,annotatedTy=ty11})); (TIC.emptyContext,nil) ) else let val tpexp = TC.TPVAR({path=path,id=id,ty=ty2},loc) val tpexp = TIU.coerceTy(tpexp,ty2,ty1,loc) val newVar = {path=path,id=VarID.generate(),ty=ty1} val newDecl = TC.TPVAL([(newVar, tpexp)], loc) val newTpdecl = case tpdecl of TC.TPEXPORTVAR {externalVar={path,...}, loc,...} => TC.TPEXPORTVAR {internalVar=newVar, (* 2012-9-10 bug inline *) externalVar={path=path, ty=ty1}, loc=loc} | TC.TPEXPORTRECFUNVAR {var, arity, loc} => TC.TPEXPORTRECFUNVAR {var=newVar, arity=arity, loc=loc} | _ => raise bug "impossible" in (TIC.emptyContext, [newDecl, newTpdecl] ) end handle TIU.CoerceTy => (E.enqueueError "Typeinf 075" (loc, E.TypeAnnotationNotAgree ("063-10",{ty=ty2,annotatedTy=ty1})); (TIC.emptyContext,nil) ) end end | IC.ICEXPORTEXN ({path, id, ty=ity}, loc) => let val ty = ITy.evalIty context ity handle e => (P.print "ity36\n"; raise e) in (TIC.emptyContext, [TC.TPEXPORTEXN ({path=path, id=id, ty=ty}, loc)] ) end | IC.ICEXTERNVAR ({path, ty=ity}, loc) => let val ty = ITy.evalIty context ity handle e => (P.print "ity37\n"; P.print "path:\n"; P.printPath path; raise e) in (TIC.emptyContext, [TC.TPEXTERNVAR ({path=path, ty=ty}, loc)] ) end | IC.ICEXTERNEXN ({path, ty=ity}, loc) => let val ty = ITy.evalIty context ity handle e => (P.print "ity38\n"; raise e) in (TIC.emptyContext, [TC.TPEXTERNEXN ({path=path, ty=ty}, loc)] ) end | IC.ICTYCASTDECL (tycastList, icdeclList, loc) => let val {varEnv, tvarEnv, oprimEnv} = context val typIdMap = foldl (fn ({from, to}, typIdMap) => let val fromId = IC.tfunId from val to = ITy.evalTfun context to handle e => (P.print "ity19\n"; raise e) in TypID.Map.insert(typIdMap, fromId, to) end ) TypID.Map.empty tycastList val (context, tpdeclList) = typeinfDeclList lambdaDepth context icdeclList val context = tyConSubstContext typIdMap context in (context, tpdeclList) end | IC.ICOVERLOADDEF {boundtvars,id,path,overloadCase,loc} => let val lambdaDepth = incDepth () val (context, addedUtvars) = evalScopedTvars lambdaDepth context boundtvars loc fun substFTvar (subst as (ftvid, ty')) ty = case ty of T.SINGLETONty singletonTy => raise Control.Bug "ICOVERLOADDEF: substFTvar" | T.ERRORty => ty | T.DUMMYty dummyTyID => ty | T.TYVARty (ref (T.TVAR {id,...})) => if FreeTypeVarID.eq (ftvid, id) then ty' else ty | T.TYVARty (ref (T.SUBSTITUTED ty)) => substFTvar subst ty | T.BOUNDVARty n => ty | T.FUNMty (tyList, ty) => T.FUNMty (map (substFTvar subst) tyList, substFTvar subst ty) | T.RECORDty tySenvMap => T.RECORDty (LabelEnv.map (substFTvar subst) tySenvMap) | T.CONSTRUCTty {tyCon,args} => T.CONSTRUCTty {tyCon=tyCon, args = map (substFTvar subst) args} | T.POLYty {boundtvars, body} => T.POLYty {boundtvars=boundtvars, body = substFTvar subst body} fun typeinfOverloadMatch (tvId, expTy) {instTy, instance} = let val instTypId = case TU.derefTy instTy of T.CONSTRUCTty {tyCon={id,...}, ...} => id | _ => raise bug "FIXME: user error: invalid instTy" val expectTy = substFTvar (tvId, instTy) expTy val (actualTy, keyList, branch) = case instance of IC.INST_OVERLOAD c => typeinfOverloadCase c | IC.INST_EXVAR ({path, used, ty}, loc) => let val ty = ITy.evalIty context ty handle e => (P.print "ity39\n"; raise e) val exVarInfo = {path = path, ty = ty} val (monoTy, instTyList) = TIU.freshTopLevelInstTy ty in (monoTy, nil, T.OVERLOAD_EXVAR {exVarInfo = exVarInfo, instTyList = instTyList}) end | IC.INST_PRIM ({primitive, ty}, loc) => let val ty = ITy.evalIty context ty handle e => (P.print "ity40\n"; raise e) val primInfo = {primitive = primitive, ty = ty} val (monoTy, instTyList) = TIU.freshTopLevelInstTy ty in (monoTy, nil, T.OVERLOAD_PRIM {primInfo = primInfo, instTyList = instTyList}) end val _ = U.unify [(expectTy, actualTy)] handle U.Unify => E.enqueueError "Typeinf 076" (loc, E.TypeAnnotationNotAgree ("064",{ty=actualTy,annotatedTy=expectTy})) in (keyList, (instTypId, branch)) end and typeinfOverloadMatches ty map nil = (nil, map) | typeinfOverloadMatches ty map (match::matches) = let val (keys1, (tyid, branch)) = typeinfOverloadMatch ty match val map = if TypID.Map.inDomain (map, tyid) then ( raise bug "FIXME: user error: doubled tycon" ) else TypID.Map.insert (map, tyid, branch) val (keys2, map) = typeinfOverloadMatches ty map matches in (keys1 @ keys2, map) end and typeinfOverloadCase ({tvar,expTy,matches,loc}:IC.overloadCase) = let val (tvStateRef, tvId) = case TvarMap.find (addedUtvars, tvar) of SOME (r as ref (T.TVAR {tvarKind=T.UNIV,id,...})) => (r, id) | _ => raise bug "typeinfOverloadCase" val expTy = ITy.evalIty context expTy handle e => (P.print "ity41\n"; raise e) val matches = map (fn {instTy, instance} => {instTy = ITy.evalIty context instTy handle e => (P.print "ity42\n"; raise e), instance = instance}) matches val instTys = map #instTy matches val (keyList, match) = typeinfOverloadMatches (tvId,expTy) TypID.Map.empty matches in (expTy, (tvStateRef, instTys) :: keyList, T.OVERLOAD_CASE (T.TYVARty tvStateRef, match)) end local fun getFTVid (T.TYVARty (ref (T.TVAR {id,...}))) = id | getFTVid _ = raise bug "getFTVid" datatype key = TV of FreeTypeVarID.id | TYCON of TypID.id fun substKey (tid, r) key = case key of TV id => if FreeTypeVarID.eq (tid, id) then r else key | TYCON _ => key fun fixKey keys = map (fn TV _ => NONE | TYCON id => SOME id) keys fun insertCases key dst match = case match of T.OVERLOAD_EXVAR path => OPrimInstMap.insert (dst, fixKey key, match) | T.OVERLOAD_PRIM path => OPrimInstMap.insert (dst, fixKey key, match) | T.OVERLOAD_CASE (ty, matches) => let val tvid = getFTVid ty in TypID.Map.foldli (fn (tyid, match, z) => insertCases (map (substKey (tvid, TYCON tyid)) key) z match) dst matches end in fun matchToInstMap keyTyList match = insertCases (map (fn ty => TV (getFTVid ty)) keyTyList) OPrimInstMap.empty match end (* local *) val (ty, keyList, match) = typeinfOverloadCase overloadCase handle exn => let val _ = P.print "typeinfOverloadCase bug\n" val _ = P.print "icdecl\n" val _ = P.printIcdecl icdecl val _ = P.print "\n" in raise exn end val keyTyList = map (fn (r,_) => T.TYVARty r) keyList val instMap = matchToInstMap keyTyList match val selectors = [{oprimId = id, path = path, keyTyList = keyTyList, match = match, instMap = instMap}] val _ = app (fn (r as ref (T.TVAR tvKind), instTys) => r := T.TVAR {lambdaDepth = #lambdaDepth tvKind, id = #id tvKind, tvarKind = T.OPRIMkind {instances = instTys, operators = selectors}, eqKind = #eqKind tvKind, utvarOpt = #utvarOpt tvKind} | _ => raise bug "ICOVERLOADDEF") keyList val {boundEnv, ...} = generalizer (ty, lambdaDepth) val oprimTy = if BoundTypeVarID.Map.isEmpty boundEnv then ty else T.POLYty {boundtvars = boundEnv, body = ty} val oprimInfo = {ty = oprimTy, path = path, id = id} in (TIC.bindOPrim (TIC.emptyContext, oprimInfo), nil) end end fun typeinf {decls=icdecls, loc} = let (* 2012-7-11 ohori: to fix bug 195_dummtType.sml *) val startDummyTyId = ! TIU.dummyTyId val _ = E.initializeTypeinfError () val _ = T.kindedTyvarList := nil val ({varEnv,...}, tpdecls) = typeinfDeclList T.toplevelDepth TIC.emptyContext icdecls handle Fail => (TIC.emptyContext,nil) val tpdecls = if E.isError() then tpdecls else let val _ = TIU.eliminateVacuousTyvars() fun isDummy ty = let exception DUMMY fun visit ty = case TU.derefTy ty of T.SINGLETONty _ => () | T.ERRORty => () (* 2012-7-11 ohori: to fix bug 195_dummtType.sml *) | T.DUMMYty id => if id >= startDummyTyId then raise DUMMY else () | T.TYVARty _ => () | T.BOUNDVARty _ => () | T.FUNMty (tyList, ty) => (app visit tyList; visit ty) | T.RECORDty tySEnvMap => LabelEnv.app visit tySEnvMap | T.CONSTRUCTty {tyCon, args} => app visit args | T.POLYty {body,...} => visit body in (visit ty; false) handle DUMMY => true end val dummyTyPaths = VarMap.foldli (fn ({id, path}, TC.VARID {ty,...}, paths) => if isDummy ty then path::paths else paths | ({id, path},TC.RECFUNID ({ty,...},_),paths) => if isDummy ty then path::paths else paths ) nil varEnv val _ = case dummyTyPaths of nil => () | _ => E.enqueueWarning (loc, E.ValueRestriction("065",{dummyTyPaths=dummyTyPaths})) (* FIXME: do we need the following? val _ = List.app (fn (ty as T.TYVARty(ref(T.TVAR _)), loc) => E.enqueueError "Typeinf 077" (loc, E.FFIInvalidTyvar ty) | _ => ()) (!ffiApplyTyvars) *) in tpdecls end val errors = E.getErrors () in case errors of [] => (varEnv, tpdecls, E.getWarnings()) | errors => let val errorsAndWornings = E.getErrorsAndWarnings () in raise UE.UserErrors (errorsAndWornings) end end end end smlsharp-1.2.0/src/compiler/typeinference2/main/Printers.smi0000644 000000000000000000000173012050661606024273 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../types/main/Types.ppg.smi" _require "../../types/main/OPrimMap.smi" _require "../../types/main/VarMap.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../types/main/tvarMap.smi" _require "../../typedcalc/main/TypedCalc.ppg.smi" _require "TypeInferenceContext.ppg.smi" structure Printers = struct val print : string -> unit val printPath : string list -> unit val printTy : Types.ty -> unit val printTpdecl : TypedCalc.tpdecl -> unit val printContext : TypeInferenceContext.context -> unit val printTpexp : TypedCalc.tpexp -> unit val printTpVarInfo : {id:VarID.id, path:string list, ty:Types.ty} -> unit val printIcexp : IDCalc.icexp -> unit val printIcpat : IDCalc.icpat -> unit val printIcdecl : IDCalc.icdecl -> unit val printIcVarInfo : {id:VarID.id, path:string list} -> unit end smlsharp-1.2.0/src/compiler/typeinference2/main/Printers.sml0000644 000000000000000000000222012050661606024271 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2012- Tohoku University. * @author Atsushi Ohori *) structure Printers = struct local structure T = Types structure TC = TypedCalc structure IC = IDCalc in (* for debugging *) val print = fn s => if !Control.printInfo then print s else () fun printPath path = print (String.concatWith "." path) fun printTy ty = print (Control.prettyPrint (T.format_ty nil ty)) fun printTpdecl tpdecl = print (Control.prettyPrint (TC.format_tpdecl nil tpdecl)) fun printTpexp tpexp = print (Control.prettyPrint (TC.formatWithType_tpexp nil tpexp)) fun printTpVarInfo var = print (Control.prettyPrint (T.formatWithType_varInfo nil var)) fun printContext context = print (Control.prettyPrint (TypeInferenceContext.format_context context) ^ "\n") fun printIcexp exp = print (Control.prettyPrint (IC.format_icexp exp) ^ "\n") fun printIcpat pat = print (Control.prettyPrint (IC.format_icpat pat) ^ "\n") fun printIcdecl icdecl = print (Control.prettyPrint (IC.format_icdecl icdecl) ^ "\n") fun printIcVarInfo var = print (Control.prettyPrint (IC.format_varInfo var)) end end smlsharp-1.2.0/src/compiler/typeinference2/main/TypeInferenceContext.ppg0000644 000000000000000000001242312050661606026571 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori * @author Liu Bochao * @author YAMATODANI Kiyoshi * @version $Id: TypeInferenceContext.sml,v 1.32 2008/05/31 12:18:23 ohori Exp $ *) structure TypeInferenceContext = struct local structure T = Types structure TU = TypesUtils structure TC = TypedCalc (*% @formatter(TC.typInfo) TC.format_typInfo *) type idstatus = TC.idstatus in (*% * @params(btvEnv) * @formatter(TvarMap.map) IDCalc.formatEnclosedTvarMap * @formatter(T.ty) T.format_ty *) type tvarEnv = (*% @format(ty map) map(ty()(btvEnv))("{", ":", ",", "}") *) T.ty TvarMap.map fun formatList (formatter, sep) nil = nil | formatList (formatter, sep) (elem::elems) = formatter elem @ List.concat (map (fn x => sep @ formatter x) elems) fun formatEnclosedVarMap (formatter, mapsto, comma) map = formatList (fn (var, item) => (IDCalc.format_varInfo var) @ mapsto @ (formatter item), comma ) (VarMap.listItemsi map) fun formatEnclosedOPrimMap (formatter, mapsto, comma) map = formatList (fn (oprimInfo, item) => (IDCalc.format_oprimInfo oprimInfo) @ mapsto @ (formatter item), comma ) (OPrimMap.listItemsi map) (*% @formatter(VarMap.map) formatEnclosedVarMap *) type varEnv = (*% @format(var map) map(var)(":",+2) *) idstatus VarMap.map (*% @formatter(OPrimMap.map) formatEnclosedOPrimMap @formatter(T.oprimInfo) T.format_oprimInfo *) type oprimEnv = (*% * @format(oprim map) map(oprim)(":",+2) *) T.oprimInfo OPrimMap.map (*% *) type context = (*% @format({tvarEnv, varEnv, oprimEnv}) "{" 1[ +1 1["tvarEnv:"+1 tvarEnv()()] +1 1["varEnv:"+1 varEnv] +1 1["oprimEnv:"+1 oprimEnv] ] +1 "}" *) { tvarEnv: tvarEnv, varEnv: varEnv, oprimEnv: oprimEnv } val emptyContext = { tvarEnv = TvarMap.empty, varEnv = VarMap.empty, oprimEnv = OPrimMap.empty } : context fun bindVar (lambdaDepth:int, ({oprimEnv,tvarEnv,varEnv} : context), (var:IDCalc.varInfo), idstatus:idstatus) = ( TU.adjustDepthInTy lambdaDepth (case idstatus of TC.VARID {ty,...} => ty | TC.RECFUNID ({ty,...}, arity) => ty ); { tvarEnv = tvarEnv, varEnv = VarMap.insert(varEnv, var, idstatus), oprimEnv = oprimEnv } : context ) fun bindOPrim ({tvarEnv,varEnv,oprimEnv} : context, oprimInfo:T.oprimInfo as {path, ty, id}) = { tvarEnv = tvarEnv, varEnv = varEnv, oprimEnv = OPrimMap.insert (oprimEnv, {path=path,id=id}, oprimInfo) } : context fun extendContextWithVarEnv ({oprimEnv, tvarEnv, varEnv} : context, newVarEnv :varEnv) = { tvarEnv = tvarEnv, varEnv = VarMap.unionWith #2 (varEnv, newVarEnv), oprimEnv = oprimEnv } : context (* fun extendContextWithTvarEnv ({oprimEnv,tvarEnv,varEnv}: context, newTvarEnv:tvarEnv) = { tvarEnv = SEnv.unionWith #1 (newTvarEnv, tvarEnv), varEnv = varEnv, oprimEnv = oprimEnv } : context *) fun extendContextWithContext ({oprimEnv, tvarEnv, varEnv} : context, {oprimEnv=newOPrimEnv, tvarEnv=newTvarEnv, varEnv=newVarEnv} : context) = { oprimEnv = OPrimMap.unionWith #2 (oprimEnv, newOPrimEnv), tvarEnv = TvarMap.unionWith #2 (tvarEnv, newTvarEnv), varEnv = VarMap.unionWith #2 (varEnv, newVarEnv) } : context fun overrideContextWithTvarEnv ({oprimEnv,tvarEnv,varEnv} : context, newTvarEnv : tvarEnv) = {oprimEnv=oprimEnv, tvarEnv = newTvarEnv, varEnv = varEnv } : context (* fun lookupTvarInContext ({oprimEnv, tvarEnv,varEnv} : context, string) : T.ty option = case SEnv.find(tvarEnv, string) of SOME tvStateRef => SOME(T.TYVARty tvStateRef) | NONE => NONE *) fun addUtvar (lambdaDepth:int) ({oprimEnv,tvarEnv,varEnv}:context) (kindedTvarList:(T.utvar * IDCalc.tvarKind) list) (loc:Loc.loc) : context * (Types.tvState ref * IDCalc.tvarKind) TvarMap.map = let val (newTvarEnv, addedUtvars) = foldl (fn ( (utvar as {name, id, eq, lifted}, tvarKind), (newTvarEnv, addedUtvars) ) => let val newTvStateRef = T.newUtvar (lambdaDepth, eq, utvar) in (TvarMap.insert(newTvarEnv, utvar, T.TYVARty newTvStateRef), TvarMap.insert(addedUtvars, utvar, (newTvStateRef, tvarKind)) ) end) (tvarEnv, TvarMap.empty) kindedTvarList in ({oprimEnv=oprimEnv, tvarEnv = newTvarEnv, varEnv=varEnv }, addedUtvars) end end end smlsharp-1.2.0/src/compiler/typeinference2/main/TypeInferenceContext.ppg.smi0000644 000000000000000000000346712050661606027370 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../typedcalc/main/TypedCalc.ppg.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../types/main/Types.ppg.smi" _require "../../types/main/TypesUtils.smi" _require "../../types/main/OPrimMap.smi" _require "../../types/main/VarMap.smi" _require "../../types/main/tvarMap.smi" _require "../../util/main/TermFormat.smi" structure TypeInferenceContext = struct type tvarEnv = Types.ty TvarMap.map val format_tvarEnv : {eqKind:Absyn.eq, tvarKind:Types.tvarKind} TermFormat.btvEnv' list -> Types.ty TvarMap.map -> SMLFormat.FormatExpression.expression list type varEnv = TypedCalc.idstatus VarMap.map val format_varEnv : varEnv -> SMLFormat.BasicFormatters.expression list type oprimEnv = Types.oprimInfo OPrimMap.map val format_oprimEnv : oprimEnv -> SMLFormat.BasicFormatters.expression list type context = {oprimEnv:oprimEnv, tvarEnv:tvarEnv, varEnv:varEnv} val format_context : context -> SMLFormat.FormatExpression.expression list val emptyContext : context val bindVar : int * context * IDCalc.varInfo * TypedCalc.idstatus -> context val bindOPrim : context * Types.oprimInfo -> context val extendContextWithVarEnv : context * varEnv -> context val extendContextWithContext : context * context -> context val overrideContextWithTvarEnv : context * tvarEnv -> context val addUtvar : Types.lambdaDepth -> context -> (Types.utvar * IDCalc.tvarKind) list -> Loc.loc -> context * (Types.tvState ref * IDCalc.tvarKind) TvarMap.map end smlsharp-1.2.0/src/compiler/typeinference2/main/TypeInferenceError.ppg0000755 000000000000000000006026012050661606026243 0ustar00rootroot0000000 0000000 (** * user errors detected in type inference phase. * @author Atsushi Ohori * @version $Id: TypeInferenceError.ppg,v 1.74.6.3 2010/01/22 09:19:07 hiro-en Exp $ *) structure TypeInferenceError = struct (***************************************************************************) local type longid = Absyn.longid structure I = IDCalc structure UE = UserError fun format_ty ty = (Types.format_ty []) ty fun format_ffiTy ty = TypedCalc.format_ffiTy nil ty val format_AbsynTy = Absyn.format_ty val errorQueue = UE.createQueue () in (*% * @formatter(Types.ty) format_ty * @formatter(I.ffiTy) I.format_ffiTy * @formatter(Absyn.ty) format_AbsynTy * @formatter(path) Path.format_pathWithoutDotend * @formatter(longid) Absyn.format_longid * @formatter(I.icpat) I.format_icpat *) exception (** *
   *  type t = (int, int) option
   * 
*) (*% * @format(code * {tyCon, wants, given}) "(type inference" +d code ")" +d * "type" +d "constructor" +d tyCon +d "given" +d given +d "arguments," * +d "wants" +d wants *) ArityMismatchInTypeDeclaration of string * {tyCon : string, wants : int, given : int} and (** fn A.c => e where A.c is not a data constructor *) (*% * @format(code * longid:longid) "(type inference" +d code ")" +d * "path" +d longid +d "is" +d "not" +d "a" +d "constructor" *) NonConstructorPathInPat of string * longid and (** val ('a#{a:'b}, 'b:{b:'a}) x = ... *) (*% * @format(code * string) "(type inference" +d code ")" +d * "type" + "variable" + string + "has" + "a" + "cyclic" + "record" + "kind" *) CyclicTvarkindSpec of string * string and (** [1, true] *) (*% * @format(code * {prevTy, nextTy}) "(type inference" +d code ")" +d * "inconsistent" +d "list" +d "element" +d "type:" * + 1 "this element:" +d {nextTy} * + 1 "other elements:" +d {prevTy} *) InconsistentListElementType of string * {prevTy:Types.ty, nextTy:Types.ty} and (** fn A.c => e where A.c is not defined. *) (*% * @format(code * longid:longid) "(type inference" +d code ")" +d * "constructor" +d "path" +d longid +d "undefined" *) ConstructorPathNotFound of string * longid and (** *
   * fn x => case x of SOME => 1
   * 
*) (*% * @format(code * {dummyTyPaths:path paths}) "(type inference" +d code ")" +d "dummy" +d "type" +d "variable(s)" +d "are" +d "introduced" +d "due" +d "to" +d "value" +d "restriction" +d "in:" +d paths(path)(","+d) *) ValueRestriction of string * {dummyTyPaths : longid list} and (** *
   * fn x => case x of SOME => 1
   * 
*) (*% * @format(code * {longid}) "(type inference" +d code ")" +d "data" +d "constructor" +d {longid} +d "used" +d "without" +d "argument" +d "in" +d "pattern" *) ConRequireArg of string * {longid : longid} and (** *
   * fn x => case x of NONE 1 => 1
   * 
*) (*% * @format(code * {con}) "(type inference" +d code ")" +d "constant" +d "constructor" +d "applied" +d "to" +d * "argument" +d "in" +d "pattern:" {con} *) ConstantConApplied of string * {con : string} and (** *
   * datatype t = D of 'a
   * val x = y : ['a. 'a -> 'b] (rank1 type spec should be closed)
   * 
*) (*% * @format(code * {tyvar}) "(type inference" +d code ")" +d "free" +d "type" +d "variable:" +d {tyvar} *) NotBoundTyvar of string * {tyvar : string} and (** *
   * datatype t = D of 'a
   * val x = y : 'a   (top level)
   * 
*) (*% * @format(code * {tyvar}) "(type inference" +d code ")" +d "duplicate" +d "type" +d "parameter" +d "name" +d "in" +d "datatype" +d "declaration:" +d {tyvar} *) DuplicateTvarNameInDatatypeArgs of string * {tyvar : string} and (** *
   * ['a,'a. 'a -> 'a]
   * 
*) (*% * @format(code * {tyvar}) "(type inference" +d code ")" +d "duplicate" +d "user" +d "type" +d "variables" +d ":" +d {tyvar} *) DuplicateUserTvars of string * {tyvar : string} and (*% * @format(code * {vars : var vars}) "(type inference" +d code ")" +d * "variable(s)" +d vars(var)(","+d) + "do" +d "not" +d "occur" +d "in" +d "all" +d "branches" +d "of" +d "or-pattern" *) DIfferentOrPatternVars of string * {vars : string list} and (*% * @format(code * {var : var, tys: ty tys}) "(type inference" +d code ")" +d * "variable" +d var +d "in" +d "an" +d "or-pattern" + "has" +d "inconsistent" +d "types:" +d tys(ty)(","+d) *) InconsistentOrVarTypes of string * {var : string, tys : Types.ty list} and (*% * @format(code * {ty1 : ty1, ty2: ty2}) "(type inference" +d code ")" +d * "types" +d "of" +d "or-pattern" + "do" +d "not" +d "agree:" +1 "left" +d "pattern" + "type:" + ty1 +1 "right" +d "pattern" + "type:" + ty2 *) DifferentOrPatternTypes of string * {ty1:Types.ty, ty2:Types.ty} and (** *
   * datatype ''a t = D of 'a
   * 
*) (*% * @format(code * {tyvar}) "(type inference" +d code ")" +d "Inconsistent" +d "equality" +d "types" +d "in" +d "datatype" +d "declaration:" +d {tyvar} *) InconsistentEQInDatatype of string * {tyvar : string} and (** *
   * fun g x = f true and f x = g (x + 1);
   * 
*) (*% * @format(code * {id, definition, occurrence}) "(type inference" +d code ")" +d * "definition" +d "and" +d "occurrence" +d "of" +d "\"" {id} "\"" +d * "don't" +d "agree." +1 * "definition:" +d {definition} +1 * "occurrence:" +d {occurrence} *) RecDefinitionAndOccurrenceNotAgree of string * {id : string, definition : Types.ty, occurrence : Types.ty} and (** *
   *  fn x => case x of {a = x, b = x, c = y, d = y} => 1
   * 
*) (*% * @format(code * {vars : var vars}) "(type inference" +d code ")" +d * "duplicate" +d "variables" +d "in" +d "pattern(s):" +d vars(var)("," +d) *) DuplicatePatternVar of string * {vars : string list} and (** *
   *  type ('a, 'a) t = 'a * 'a
   * 
*) (*% * @format(code * {tvars : tvar tvars}) "(type inference" +d code ")" +d * "duplicate" +d "type" +d "variables" +d "name:" tvars(tvar)("," +d) *) DuplicateTargsInTypeDef of string * {tvars : string list} and (** *
   *  fn x => case x of 1 1 => 1
   * 
*) (*% * @format(code * {pat}) "(type inference" +d code ")" +d * "non-constructor" +d "applied" +d "to" +d "argument" +d "in" +d "pattern:" * +d {pat} *) NonConstruct of string * {pat : I.icpat} and (** *
   *   val x = 1 1
   * 
*) (*% * @format(code * {ty}) "(type inference" +d code ")" +d "operator" +d "is" +d "not" +d "a" +d "function:" +d {ty} *) NonFunction of string * {ty : Types.ty} and (** *
   *   raise 1
   * 
*) (*% * @format(code * {ty}) "(type inference" +d code ")" +d * "the" +d "argument" +d "of" +d "raise" +d "is" +d "not" +d "a" +d * "function." +1 * "argument:" +d {ty} *) RaiseArgNonExn of string * {ty : Types.ty} and (** *
   *   raise 1
   * 
*) (*% * @format(code * {label}) "(type inference" +d code ")" +d * "the" +d "non-existing" +d "label" +d "in" +d "field" +d "selector" +d * "expression" +1 * "label:" +d {label} *) FieldNotInRecord of string * {label : string} and (** *
   *   not 1
   * 
*) (*% * @format(code * {domTy, argTy}) "(type inference" +d code ")" +d * "operator" +d "and" +d "operand" +d "don't" +d "agree" * +1 "operator domain:" + {domTy} * +1 " operand:" + {argTy} *) TyConMismatch of string * {domTy: Types.ty, argTy:Types.ty} and (** *
   *   not 1
   * 
*) (*% @format(code * {domTyList:dty dtys , argTyList: aty atys}) "(type inference" +d code ")" +d "operator" +d "and" +d "operand" +d "don't" +d "agree" +1 "operator domain:" + {dtys(dty)(","+1)} +1 " operand:" + {atys(aty)(","+1)} *) TyConListMismatch of string * {domTyList: Types.ty list, argTyList:Types.ty list} and (** *
   *   not 1
   * 
*) (*% * @format(code * {funTy, argTy}) "(type inference" +d code ")" +d * "operator" +d "and" +d "operand" +d "don't" +d "agree" * +1 "operator:" + {funTy} * +1 " operand:" + {argTy} *) FunTyConMismatch of string * {funTy: Types.ty, argTy:Types.ty} and (** *
   *   not 1
   * 
*) (*% * @format(code * {patTy, expTy}) "(type inference" +d code ")" +d * "types" +d "of" +d "pattern" +d "and" +d "expression" +d "don't" * +d "agree" +d "in" +d "declaration" * +1 " pattern type:" + {patTy} * +1 "expression type:" + {expTy} *) PatternExpMismatch of string * {patTy: Types.ty, expTy:Types.ty} and (** *
   *    1 => 1
   *  | "1" => "1"
   * 
*) (*% * @format(code * {thisRule, otherRules}) "(type inference" +d code ")" +d * "type" +d "of" +d "a" +d "rule" +d "does" +d "not" +d "agree" +d * "with" +d "other" +d "rules" * +1 " this rule:" + {thisRule} * +1 "other rules:" + {otherRules} *) RuleTypeMismatch of string * {thisRule: Types.ty, otherRules:Types.ty} and (** *
   *   not 1
   * 
*) (*% * @format(code * {expTy, handlerTy}) "(type inference" +d code ")" +d * "handler" +d "type" +d "does" +d "not" +d "agree" +d "with" +d * "expression" * +1 "expression type:" + {expTy} * +1 " handler type:" + {handlerTy} *) HandlerTy of string * {expTy: Types.ty, handlerTy:Types.ty} and (** *
   *   not 1
   * 
*) (*% * @format(code * {ty, annotatedTy}) "(type inference" +d code ")" +d * "type" +d "and" +d "type annotation" +d "don't" +d "agree" * +1 " inferred type:" + {ty} * +1 "type annotation:" + {annotatedTy} *) TypeAnnotationNotAgree of string * {ty : Types.ty, annotatedTy : Types.ty} and (*% * @format(code * {path: id ids, ty, annotatedTy}) * "(type inference" +d code ")" +d * "signature" +d "mismatch" +d "at" +d ids(id)(".") * +1 " inferred type:" + {ty} * +1 "type annotation:" + {annotatedTy} *) SignatureMismatch of string * {path : string list, ty : Types.ty, annotatedTy : Types.ty} and (** *
   *  fn x => case x of NONE as y => y
   * 
*) (*% * @format(code * {id}) "(type inference" +d code ")" +d * "pattern" +d "to" +d "left" +d "of" +d "\"as\"" +d "must" +d "be" * +d "variable:" +d id *) NonIDInLayered of string * {id : string} and (** *
   * exception E = x
   * 
*) (*% * @format(code * {tyCon}) "(type inference" +d code ")" +d "found" +d "data" +d "constructor" +d "instead" +d "of" * +d "exception:" +1 tyCon *) NotExnCon of string * {tyCon : string} and (*% @format(code) "(type inference" +d code ")" * +d "record" +d "lables" +d "do" +d "not" +d "agree." *) (** *

*

*) RecordLabelSetMismatch of string (* this must go to elab. and (** *

* val rec (x, y) = (fn x => x, fn x => x) *

*) (*% * @format "left" +d "hand" +d "of" +d "val" +d "rec" +d "must" +d "be" +d * "be" +d "variable" *) RecValNotID *) and (** *
   *  type t = foo
   * 
*) (*% * @format(code * {tyCon}) "(type inference" +d code ")" +d "unbound" +d "type" +d "constructor:" +d tyCon *) TyConNotFoundInIntro of string * {tyCon : string} and (** *
   *  type t = foo
   * 
*) (*% * @format(code * {tyCon}) "(type inference" +d code ")" +d "unbound" +d "type" +d "constructor:" +d tyCon *) TyConNotFoundInRawTy of string * {tyCon : string} and (** *
   * type foo = ty
   * datatype t = foo
   * 
*) (*% * @format(code * {tyCon}) "(type inference" +d code ")" +d "type" +d "constructor" +d "expected:" +d tyCon *) TyConNotFoundInReplicateData of string * {tyCon : string} and (** *
   * spec 
   * share t1 = t2 (with some ti not defined in spec)
   * 
*) (*% * @format(code * {tyCon}) "(type inference" +d code ")" +d * "type" +d "constructor" +d "name" +d "not" +d "declared:" +d tyCon *) TyConNotFoundInShare of string * {tyCon : string} and (** *
   * datatype t = datatype foo
   * 
*) (*% * @format(code * {tyFun}) "(type inference" +d code ")" +d "unbound" +d "type" +d "constructor:" +d tyFun *) TyFunFoundInsteadOfTyCon of string * {tyFun : string} and (** *
   * val x = foo 1
   * exception e = foo
   * 
*) (*% * @format(code * {id}) "(type inference" +d code ")" +d "unbound" +d "variable" +d "or" +d "constructor(type inference):" +d id *) VarNotFound of string * {id : string} and (** *

* exception foo of 'a *

*) (*% * @format(code * id) "(type inference" +d code ")" +d * "free" +d "type" +d "variable" +d "in" +d "exception" +d "type" *) FreeTypeVariablesInExceptionType of string * {exid:string} and (** *

* sig * val a : int * val a : bool * end *

*) (*% * @format "having" +d "duplicate" +d "specification" *) DuplicateSpecs and (** *

* sig * val a : int * val a : bool * end *

*) (*% * @format(code * {id}) "(type inference" +d code ")" +d "duplicate" +d "specification:" +d id *) DuplicateSpecification of string * {id:string} and (** *

* structure A : foo = * struct * ... * end *

*) (*% * @format(code * {id}) "(type inference" +d code ")" +d "unbound" +d "signature:" +d id *) SignatureNotFound of string * {id:string} and (** *

* functor A (S: ) = * struct * ... * end : *

*) (*% * @format(code * {id}) "(type inference" +d code ")" +d "unbound" +d "functor:" +d id *) FunctorNotFound of string * {id:string} and (** *

* structure foo = * struct * ... * end *

*) (*% * @format(code * {id}) "(type inference" +d code ")" +d "unbound" +d "structure:" +d id *) StructureNotFound of string * {id:string} and (** *
   *  type t = foo
   * 
*) (*% * @format(code * {tyCon}) "(type inference" +d code ")" +d "unbound" +d "type" +d "constructor:" +d tyCon *) TyConNotFoundInRealisation of string * {tyCon : string} and (** *
   *  where type foo = ty (foo is a datatype)
   * 
*) (*% * @format(code * {longTyCon}) "(type inference" +d code ")" +d * "type" +d "annotation" +d "for" +d "type function:" +d longTyCon *) TyFunWithWhereType of string * {longTyCon : string} and (** *
   *  where type foo = ty (foo is a datatype)
   * 
*) (*% * @format(code * {longTyCon}) "(type inference" +d code ")" +d * "type" +d "annotation" +d "for" +d "datatype:" +d longTyCon +d " is not" * +d "well-formed" *) DatatypeNotWellFormed of string * {longTyCon : string} and (** *
   *  where type foo = real (foo is a eqtype)
   * 
*) (*% * @format(code * {longTyCon}) "(type inference" +d code ")" +d * "equality" +d "type" +d "required" +d "for:" +d longTyCon *) EqtypeRequiredInWhereType of string * {longTyCon : string} and (** *
   *  where type foo = real (foo is a eqtype)
   * 
*) (*% * @format(code * {tyCon, wants, given}) "(type inference" +d code ")" +d * "arity mismatch in where type:" tyCon +d "given" +d given +d "arguments," * +d "wants" +d wants *) ArityMismatchInWhereType of string * {tyCon : string, wants : int, given : int} and (** *
   *  where type foo = ty (foo not defined)
   * 
*) (*% * @format(code * {tyCon}) "(type inference" +d code ")" +d "type" +d "constructor" +d "not" +d "found:" + tyCon *) TyConNotFoundInWhereType of string * {tyCon : string} and (** *
   *  type s 
   *  type t = int * int
   *  sharing type s = t
   * 
*) (*% * @format(code * {tyConName}) "(type inference" +d code ")" +d * "Type" +d "sharing" +d "against" +d "concrete" +d "type:" + tyConName *) SharingOnTypeFun of string * {tyConName : string} and (** *
   * 
*) (*% * @format(code * {id}) "(type inference" +d code ")" +d "rigid" +d "type" +d "in" +d "where" +d "type" +d "realisation:" id *) RigidTypeInRealisation of string * {id : string} and (** *
   * 
*) (*% * @format(code * {id}) "(type inference" +d code ")" +d * "NON-Flexible" +d "type" +d "in" +d "type" +d "Realisation:" id *) NONFlexibleTypeInRealisation of string * {id : string} and (** *
   * 
*) (*% * @format(code * {id}) "(type inference" +d code ")" +d * "NON-Flexible" +d "type" +d "in" +d "type" +d "Realisation:" id *) RealisationDoesNotRespectEquality of string * {id : string} and (** *
   * spec sharing lonstrid_1 = ... = longstrid_k
   * 
*) (*% * @format(code * {id}) "(type inference" +d code ")" +d "rigid" + d "type" +d "in" +d "sharing" +d "structure:" id *) RigidTypeInSharingStructure of string * {id : string} and (** *
   * spec sharing lonstrid_1 = ... = longstrid_k
   * 
*) (*% * @format(code * {id}) "(type inference" +d code ")" +d "rigid" + d "type" +d "in" +d "sharing:" id *) RigidTypeInSharing of string * {id : string} and (** *
   * 
*) (*% * @format(code * {id}) "(type inference" +d code ")" +d "illegal" +d "type" +d "function:" + id *) IllegalTypeFunction of string * {id : string} and (** *
   * 
*) (*% * @format(code * {tyConName}) "(type inference" +d code ")" +d "datatype " +d "contains" +d "unbound" + "type:" + tyConName *) DatatypeContainUnboundType of string * {tyConName : string} and (** *
   * 
*) (*% * @format(code * {tyConName}) "(type inference" +d code ")" +d * "Signature" +d "mismatch" +d "(arity):" + tyConName *) ArityMismatchInSigMatch of string * {tyConName:string} and (** *
   * 
*) (*% * @format(code * {tyConName}) "(type inference" +d code ")" +d * "Signature" +d "mismatch" +d "(equality):" + tyConName *) EqErrorInSigMatch of string * {tyConName : string} and (** *
   * 
*) (*% * @format(code * {tyConName}) "(type inference" +d code ")" +d * "Signature" +d "mismatch" +d "(tycon):" + tyConName *) TyConMisMatchInSigMatch of string * {tyConName:string} and (** *
   * 
*) (*% * @format(code * {tyConName1,tyConName2}) "(type inference" +d code ")" +d * "Signature" +d "mismatch" +d "(tycon" +d "sharing):" + tyConName1 +d tyConName2 *) SharingTypeMismatchInSigMatch of string * {tyConName1:string,tyConName2:string} and (** *
   * 
*) (*% * @format(code * {Cons}) "(type inference" +d code ")" +d * "Signature" +d "mismatch" +d ":" "Constructors" +d Cons +d "only" +d "occur" +d "in" +d "signature" *) RedunantConstructorInSignatureInSigMatch of string * {Cons : string} and (** *
   * 
*) (*% * @format(code * {Cons}) "(type inference" +d code ")" +d * "Signature" +d "mismatch" +d ":" "Constructors" +d Cons +d "only" +d "occur" +d "in" +d "structure" *) RedunantConstructorInStructureInSigMatch of string * {Cons : string} and (** *
   * 
*) (*% * @format(code * {name}) "(type inference" +d code ")" +d * "Signature" +d "mismatch" +d "(undefined tycon):" + name *) unboundTyconInSigMatch of string * {name: string} and (** *
   * 
*) (*% * @format(code * {name}) "(type inference" +d code ")" +d * "signature" +d "mismatch" +d "(undefined functor):" + name *) unboundFunctorInSigMatch of string * {name: string} and (** *
   * 
*) (*% * @format(code * {strName}) "(type inference" +d code ")" +d * "Signature" +d "mismatch" +d "(undefined structure):" + strName *) unboundStructureInSigMatch of string * {strName: string} and (** *
   * 
*) (*% * @format(code * {varName}) "(type inference" +d code ")" +d * "Signature" +d "mismatch" +d "(undefined val identifer):" + varName *) unboundVarInSigMatch of string * {varName: string } and (** *
   * 
*) (*% * @format(code * {tyConName,ty1,ty2}) "(type inference" +d code ")" +d * "Signature" +d "mismatch" +d "(instance):" + tyConName + ":" +1 * +1 "structure:" + {ty1} * +1 "spec:" + {ty2} *) InstanceCheckInSigMatch of string * {tyConName:string,ty1:Types.ty,ty2:Types.ty} and (** *
   * 
*) (*% * @format(code * {tyConName}) "(type inference" +d code ")" +d * "Duplicate" +d "type" +d "name" +d "in" +d "datatype:" + tyConName *) DuplicateTypeNameInDatatypes of string * {tyConName:string} and (** *
   * 
*) (*% * @format(code * {tyConName}) "(type inference" +d code ")" +d * "data" +d "constructor" +d "required" +d "in" +d "signature:" + tyConName *) DataConRequiredInSigMatch of string * {tyConName:string} and (** *
   * 
*) (*% * @format(code * {tyConName}) "(type inference" +d code ")" +d * "exception" +d "constructor" +d "required" +d "in" +d "signature:" + tyConName *) ExnConRequiredInSigMatch of string * {tyConName:string} and (** *
   * 
*) (*% * @format(code * {utvarName}) "(type inference" +d code ")" +d * "User" +d "type" +d "variable" +d "cannot" +d "be" +d * "generalized:" + utvarName *) UserTvarNotGeneralized of string * {utvarName:string} and (** *
   * 
*) (*% * @format(code * {fileName}) "(type inference" +d code ")" +d * fileName +d "specifies" +d "no" +d "export" + "interface" * *) EmptyExportInterface of string * {fileName:string} and (** *) (*% * @format(code * ffity) "(type inference" +d code ")" +d * "not" +d "an" +d "interoperable" +d "type:" +d ffity *) NonInteroperableType of string * I.ffiTy and (** *) (*% * @format(code * specTy * expTy) "(type inference" +d code ")" +d * "FFI" +d "type" +d "mismatch" * +1 "expression:" + {expTy} * +1 " spec:" + {specTy} *) FFIStubMismatch of string * Types.ty * Types.ty and (** *) (*% * @format(code * ty) "(type inference" +d code ")" +d * "invalid" +d "occurence" +d "of" +d "type" +d "variable" * +d "for" +d "FFI:" +d ty *) FFIInvalidTyvar of string * Types.ty and (** *) (*% * @format(code * ty) "(type inference" +d code ")" +d * "forcely" +d "importing" +d "a" +d "foreign" +d "function" +d * "is" +d "not" +d "allowed:" +d ty *) ForceImportForeignFunction of string * I.ffiTy and (** *) (*% * @format(code * ty) "(type inference" +d code ")" +d * "invalid" +d "type" +d "for" +d "SQL" +d "table" +d "declaration:" +d ty *) InvalidSQLTableDecl of string * Types.ty and (** *) (*% * @format(code * ty) "(type inference" +d code ")" +d * "incompatible" +d "type" +d "with" +d "SQL:" +d ty *) IncompatibleWithSQL of string * Types.ty and (** *) (*% * @format(code * ty) "(type inference" +d code ")" +d * "invalid" +d "database" +d "id" +d "type:" +d ty *) InvalidSQLDBI of string * Types.ty val isAnyError = ref false fun initializeTypeinfError () = (UE.clearQueue errorQueue; isAnyError := false) fun getErrorsAndWarnings () = UE.getErrorsAndWarnings errorQueue fun getErrors () = UE.getErrors errorQueue fun isError () = !isAnyError fun getWarnings () = UE.getWarnings errorQueue fun enqueueError code x = (isAnyError := true; UE.enqueueError errorQueue x) val enqueueWarning = UE.enqueueWarning errorQueue end end smlsharp-1.2.0/src/compiler/typeinference2/main/TypeInferenceError.ppg.smi0000644 000000000000000000001471712050661606027035 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../typedcalc/main/TypedCalc.ppg.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../types/main/Types.ppg.smi" _require "../../usererror/main/UserError.ppg.smi" structure TypeInferenceError = struct exception InvalidSQLDBI of string * Types.ty exception IncompatibleWithSQL of string * Types.ty exception InvalidSQLTableDecl of string * Types.ty exception ForceImportForeignFunction of string * IDCalc.ffiTy exception FFIInvalidTyvar of string * Types.ty exception FFIStubMismatch of string * Types.ty * Types.ty exception NonInteroperableType of string * IDCalc.ffiTy exception EmptyExportInterface of string * {fileName:string} exception UserTvarNotGeneralized of string * {utvarName:string} exception ExnConRequiredInSigMatch of string * {tyConName:string} exception DataConRequiredInSigMatch of string * {tyConName:string} exception DuplicateTypeNameInDatatypes of string * {tyConName:string} exception InstanceCheckInSigMatch of string * {ty1:Types.ty, ty2:Types.ty, tyConName:string} exception unboundVarInSigMatch of string * {varName:string} exception unboundStructureInSigMatch of string * {strName:string} exception unboundFunctorInSigMatch of string * {name:string} exception unboundTyconInSigMatch of string * {name:string} exception RedunantConstructorInStructureInSigMatch of string * {Cons:string} exception RedunantConstructorInSignatureInSigMatch of string * {Cons:string} exception SharingTypeMismatchInSigMatch of string * {tyConName1:string, tyConName2:string} exception TyConMisMatchInSigMatch of string * {tyConName:string} exception EqErrorInSigMatch of string * {tyConName:string} exception ArityMismatchInSigMatch of string * {tyConName:string} exception DatatypeContainUnboundType of string * {tyConName:string} exception IllegalTypeFunction of string * {id:string} exception RigidTypeInSharing of string * {id:string} exception RigidTypeInSharingStructure of string * {id:string} exception RealisationDoesNotRespectEquality of string * {id:string} exception NONFlexibleTypeInRealisation of string * {id:string} exception RigidTypeInRealisation of string * {id:string} exception SharingOnTypeFun of string * {tyConName:string} exception TyConNotFoundInWhereType of string * {tyCon:string} exception ArityMismatchInWhereType of string * {given:int, tyCon:string, wants:int} exception EqtypeRequiredInWhereType of string * {longTyCon:string} exception DatatypeNotWellFormed of string * {longTyCon:string} exception TyFunWithWhereType of string * {longTyCon:string} exception TyConNotFoundInRealisation of string * {tyCon:string} exception StructureNotFound of string * {id:string} exception FunctorNotFound of string * {id:string} exception SignatureNotFound of string * {id:string} exception DuplicateSpecification of string * {id:string} exception DuplicateSpecs exception FreeTypeVariablesInExceptionType of string * {exid:string} exception VarNotFound of string * {id:string} exception TyFunFoundInsteadOfTyCon of string * {tyFun:string} exception TyConNotFoundInShare of string * {tyCon:string} exception TyConNotFoundInReplicateData of string * {tyCon:string} exception TyConNotFoundInRawTy of string * {tyCon:string} exception TyConNotFoundInIntro of string * {tyCon:string} exception RecordLabelSetMismatch of string exception NotExnCon of string * {tyCon:string} exception NonIDInLayered of string * {id:string} exception SignatureMismatch of string * {annotatedTy:Types.ty, path:string list, ty:Types.ty} exception TypeAnnotationNotAgree of string * {annotatedTy:Types.ty, ty:Types.ty} exception HandlerTy of string * {expTy:Types.ty, handlerTy:Types.ty} exception RuleTypeMismatch of string * {otherRules:Types.ty, thisRule:Types.ty} exception PatternExpMismatch of string * {expTy:Types.ty, patTy:Types.ty} exception FunTyConMismatch of string * {argTy:Types.ty, funTy:Types.ty} exception TyConListMismatch of string * {argTyList:Types.ty list, domTyList:Types.ty list} exception TyConMismatch of string * {argTy:Types.ty, domTy:Types.ty} exception FieldNotInRecord of string * {label:string} exception RaiseArgNonExn of string * {ty:Types.ty} exception NonFunction of string * {ty:Types.ty} exception NonConstruct of string * {pat:IDCalc.icpat} exception DuplicateTargsInTypeDef of string * {tvars:string list} exception DuplicatePatternVar of string * {vars:string list} exception RecDefinitionAndOccurrenceNotAgree of string * {definition:Types.ty, id:string, occurrence:Types.ty} exception InconsistentEQInDatatype of string * {tyvar:string} exception DifferentOrPatternTypes of string * {ty1:Types.ty, ty2:Types.ty} exception InconsistentOrVarTypes of string * {tys:Types.ty list, var:string} exception DIfferentOrPatternVars of string * {vars:string list} exception DuplicateUserTvars of string * {tyvar:string} exception DuplicateTvarNameInDatatypeArgs of string * {tyvar:string} exception NotBoundTyvar of string * {tyvar:string} exception ConstantConApplied of string * {con:string} exception ConRequireArg of string * {longid:Absyn.longid} exception ValueRestriction of string * {dummyTyPaths:Absyn.longid list} exception ConstructorPathNotFound of string * Absyn.longid exception InconsistentListElementType of string * {nextTy:Types.ty, prevTy:Types.ty} exception CyclicTvarkindSpec of string * string exception NonConstructorPathInPat of string * Absyn.longid exception ArityMismatchInTypeDeclaration of string * {given:int, tyCon:string, wants:int} val isAnyError : bool ref val initializeTypeinfError : unit -> unit val getErrorsAndWarnings : unit -> UserError.errorInfo list val getErrors : unit -> UserError.errorInfo list val isError : unit -> bool val getWarnings : unit -> UserError.errorInfo list val enqueueError : 'a -> Loc.loc * exn -> unit val enqueueWarning : Loc.loc * exn -> unit end smlsharp-1.2.0/src/compiler/typeinference2/main/TypeInferenceUtils.smi0000644 000000000000000000000375412050661606026256 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../typedcalc/main/TypedCalc.ppg.smi" _require "../../typedcalc/main/TypedCalcUtils.smi" _require "../../types/main/Types.ppg.smi" _require "../../types/main/TypesUtils.smi" _require "../../types/main/Unify.smi" structure TypeInferenceUtils = struct val dummyTyId : int ref val nextDummyTy : unit -> Types.ty val freshTopLevelInstTy : Types.ty -> Types.ty * Types.ty list val eliminateVacuousTyvars : unit -> unit (* exception NONEQ val eqTy : BoundTypeVarID.id BoundTypeVarID.Map.map -> Types.ty * Types.ty -> bool val eqSMap : BoundTypeVarID.id BoundTypeVarID.Map.map -> Types.ty LabelEnv.map * Types.ty LabelEnv.map -> bool val eqTyList : BoundTypeVarID.id BoundTypeVarID.Map.map -> Types.ty list * Types.ty list -> bool val eqSTy : BoundTypeVarID.id BoundTypeVarID.Map.map -> Types.singletonTy * Types.singletonTy -> bool val eqOprimSelector : BoundTypeVarID.id BoundTypeVarID.Map.map -> Types.oprimSelector * Types.oprimSelector -> bool val eqOprimSelectorList : BoundTypeVarID.id BoundTypeVarID.Map.map -> Types.oprimSelector list * Types.oprimSelector list -> bool val eqKind : BoundTypeVarID.id BoundTypeVarID.Map.map -> {eqKind:Absyn.eq, tvarKind:Types.tvarKind} * {eqKind:Absyn.eq, tvarKind:Types.tvarKind} -> bool val eqTvarKind : BoundTypeVarID.id BoundTypeVarID.Map.map -> Types.tvarKind * Types.tvarKind -> bool *) exception CoerceTy val coerceTy : TypedCalc.tpexp * Types.ty * Types.ty * Loc.loc -> TypedCalc.tpexp end smlsharp-1.2.0/src/compiler/typeinference2/main/TypeInferenceUtils.sml0000644 000000000000000000001654012050661606026256 0ustar00rootroot0000000 0000000 (** * utility functions for manupilating types (needs re-writing). * @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori * @author Liu Bochao * @version $Id: TypeInferenceUtils.sml,v 1.58 2008/08/05 14:44:00 bochao Exp $ *) structure TypeInferenceUtils = struct local structure U = Unify structure T = Types structure TPC = TypedCalc structure TCU = TypedCalcUtils structure TU = TypesUtils fun bug s = Control.Bug ("TypeInferenceUtils: " ^ s) in val dummyTyId = ref 0 fun nextDummyTy () = T.DUMMYty (!dummyTyId) before dummyTyId := !dummyTyId + 1 (* * make a fresh instance of ty by instantiating the top-level type * abstractions (only) *) fun freshTopLevelInstTy ty = case ty of (T.POLYty{boundtvars, body, ...}) => let val subst = TU.freshSubst boundtvars val bty = TU.substBTvar subst body in (bty, BoundTypeVarID.Map.listItems subst) end | _ => (ty, nil) fun eliminateVacuousTyvars () = let fun instanticateTv tv = case tv of ref(T.TVAR {tvarKind = T.OCONSTkind (h::_), ...}) => tv := T.SUBSTITUTED h | ref(T.TVAR {tvarKind = T.OPRIMkind {instances = (h::_),...}, ...} ) => tv := T.SUBSTITUTED h | ref(T.TVAR {tvarKind = T.REC tyFields, ...}) => tv := T.SUBSTITUTED (T.RECORDty tyFields) | ref(T.TVAR {tvarKind = T.UNIV, ...}) => tv := T.SUBSTITUTED (nextDummyTy()) | _ => () in ( List.app instanticateTv (!T.kindedTyvarList); T.kindedTyvarList := nil ) end exception CoerceTy fun coerceTy (tpexp, fromTy, toTy, loc) = if TU.monoTy toTy then let val (fromTy, tpexp) = TCU.freshInst(fromTy, tpexp) in ( U.unify [(fromTy, toTy)] handle U.Unify => raise CoerceTy; tpexp ) end else case toTy of T.POLYty{boundtvars,body,...} => let (* here we rely on unification to with bound tvar *) val (fromBody, tpexp) = TCU.freshToplevelInst(fromTy, tpexp) val tpexp = coerceTy (tpexp, fromBody, body, loc) in TPC.TPPOLY{btvEnv=boundtvars, expTyWithoutTAbs=body, exp=tpexp, loc=loc} end | T.FUNMty (tyList, bodyTy) => ( case fromTy of T.FUNMty(fromTyList, fromBodyTy) => let val _ = if length tyList = length fromTyList then () else raise CoerceTy val tyPairs = ListPair.zip (tyList, fromTyList) val _ = U.unify tyPairs handle U.Unify => raise CoerceTy val argVarList = map TCU.newTCVarInfo tyList val argExpList = map (fn x => TPC.TPVAR (x,loc)) argVarList val bodyExp = TPC.TPAPPM {funExp=tpexp, funTy=T.FUNMty(tyList, fromBodyTy), argExpList=argExpList, loc=loc} val bodyEvp = coerceTy (bodyExp, fromBodyTy, bodyTy, loc) in TPC.TPFNM {argVarList = argVarList, bodyTy = bodyTy, bodyExp = bodyExp, loc = loc} end | _ => raise CoerceTy ) | T.RECORDty tyFields => ( case fromTy of T.RECORDty fromTyFields => let val labels = LabelEnv.listKeys tyFields val fromLabels = LabelEnv.listKeys fromTyFields val _ = if length labels = length fromLabels then () else raise CoerceTy val _ = List.app (fn (l1,l2) => if l1 = l2 then () else raise CoerceTy) (ListPair.zip (labels, fromLabels)) val (extraBindsRev, expFields) = case tpexp of TPC.TPRECORD {fields, recordTy=_, loc=loc} => (nil, fields) | _ => let val var = TCU.newTCVarInfo fromTy val varExp = TPC.TPVAR (var, loc) in LabelEnv.foldli (fn (label,fieldTy,(extraBindsRev, expFields)) => let val fieldVar = TCU.newTCVarInfo fieldTy val fieldExp = TPC.TPVAR(fieldVar, loc) val newBind = (fieldVar, TPC.TPSELECT {label=label, exp=varExp, expTy=fromTy, resultTy=fieldTy, loc=loc} ) in (newBind::extraBindsRev, LabelEnv.insert(expFields,label,fieldExp) ) end ) ([(var, tpexp)], LabelEnv.empty) fromTyFields end fun getItem (map, label) = case LabelEnv.find(map, label) of SOME item => item | NONE => raise bug "impossible" val (extraBindsRev, newExpFields) = LabelEnv.foldli (fn (label, exp, (extraBindsRev,newExpFields)) => let val fromTy = getItem(fromTyFields, label) val toTy = getItem(tyFields, label) val newExp = coerceTy(exp, fromTy, toTy, loc) in if TCU.isAtom newExp then (extraBindsRev, LabelEnv.insert(newExpFields, label, newExp)) else let val fieldVar = TCU.newTCVarInfo toTy val fieldExp = TPC.TPVAR(fieldVar, loc) val newBind = (fieldVar, newExp) in ((fieldVar, newExp)::extraBindsRev, LabelEnv.insert(newExpFields, label, fieldExp) ) end end ) (extraBindsRev, LabelEnv.empty) expFields val resultExp = TPC.TPMONOLET {binds = List.rev extraBindsRev, bodyExp = TPC.TPRECORD {fields=newExpFields, recordTy=toTy, loc=loc}, loc = loc } in resultExp end | _ => raise CoerceTy ) | _ => raise CoerceTy end end smlsharp-1.2.0/src/compiler/typeinference2/main/UNCURRYFUNDECL.sig0000644 000000000000000000000026012050661606024624 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori *) signature UNCURRYFUNDECL = sig val optimize : TypedCalc.tpdecl list -> TypedCalc.tpdecl list end smlsharp-1.2.0/src/compiler/typeinference2/main/UncurryFundecl_ng.smi0000644 000000000000000000000133712050661606026124 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../patterncalc/main/PatternCalc.ppg.smi" _require "../../typedcalc/main/TypedCalc.ppg.smi" _require "../../typedcalc/main/TypedCalcUtils.smi" _require "../../typedcalc/main/TCAlphaRename.smi" _require "../../types/main/TyAlphaRename.smi" _require "../../types/main/Types.ppg.smi" _require "../../types/main/TypesUtils.smi" _require "TypeInferenceUtils.smi" _require "UNCURRYFUNDECL.sig" structure UncurryFundecl = struct val optimize : TypedCalc.tpdecl list -> TypedCalc.tpdecl list end smlsharp-1.2.0/src/compiler/typeinference2/main/UncurryFundecl_ng.sml0000644 000000000000000000004566212050661606026140 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori *) structure UncurryFundecl : UNCURRYFUNDECL = struct local structure T = Types structure TU = TypesUtils structure TIU = TypeInferenceUtils structure TC = TypedCalc structure TCU = TypedCalcUtils fun makeVar ty = TCU.newTCVarInfo ty fun grabTy (ty, arity) = let fun grab 0 ty tyList = (tyList, ty) | grab n ty tyList = (case TypesUtils.derefTy ty of (T.FUNMty([domty], ranty)) => grab (n - 1) ranty (tyList@[domty]) | _ => ( T.printTy ty; raise Control.Bug "grabTy" ) ) in grab arity ty nil end fun grabAndApply (funbody, argTyList, bodyTy, spine, loc) = (* * funbody should be a fun id whose type has already been * converted to uncurried one. * spine : (A,a -> b -> c -> d)::(B,b -> c -> d)::(C,c -> d) * funBody this should be of type (a -> b -> c -> d) *) let fun take 0 L = (nil, L) | take n (h::t) = let val (L1, L2) = take (n - 1) t in (h::L1, L2) end | take n nil = raise Control.Bug "take from nil (typeinference/main/UncurryFundecl.sml)" val existingArgNum = length spine val arity = length argTyList in if arity > existingArgNum then let val newVars = map makeVar (List.drop (argTyList, existingArgNum)) in #2 (foldr (fn (var as {ty,...}, (bodyTy, bodyExp)) => (T.FUNMty([ty], bodyTy), TC.TPFNM {argVarList = [var], bodyTy = bodyTy, bodyExp = bodyExp, loc = loc} ) ) (bodyTy, TC.TPAPPM {funExp =funbody, funTy = T.FUNMty (argTyList, bodyTy), argExpList = (map #1 spine @ (map (fn v => TC.TPVAR(v,loc)) newVars)), loc = loc} ) newVars ) end else let val (argsToFun, remainingArgs) = take arity spine in foldl (fn ((exp, funty), funbody) => TC.TPAPPM{funExp = funbody, funTy = funty, argExpList = [exp], loc = loc} ) (case argsToFun of nil => funbody | _ => TC.TPAPPM {funExp = funbody, funTy = T.FUNMty (argTyList, bodyTy), argExpList = map #1 argsToFun, loc=loc}) remainingArgs end end fun makeApply (funbody, spine, loc) = foldl (fn ((exp, funty), funbody) => TC.TPAPPM{funExp=funbody, funTy=funty, argExpList=[exp],loc=loc} ) funbody spine in val dummyTy = TIU.nextDummyTy () fun matchToFnCaseTerm loc {ruleList = nil,...} = raise Control.Bug "empty rule in matchToFnCaseTerm\ \(typeinference/main/UncurryFundecl.sml)" | matchToFnCaseTerm loc { funVarInfo as {path=funPath,id=funId,...}, argTyList, bodyTy, ruleList = ruleList as _::_ } = let val (newVars, newPats) = foldr (fn (ty, (newVars, newPats)) => let val varInfo = makeVar ty in ( varInfo::newVars, TC.TPPATVAR (varInfo, loc)::newPats ) end ) (nil,nil) argTyList val newTy = T.FUNMty(argTyList, bodyTy) in ({path=funPath, id=funId, ty =newTy}, newTy, TC.TPFNM {argVarList = newVars, bodyTy = bodyTy, loc = loc, bodyExp = TC.TPCASEM {expList = map (fn v => TC.TPVAR(v, loc)) newVars, expTyList = argTyList, ruleList = map (fn {args,body}=>{args=args,body=uncurryExp nil body}) ruleList, ruleBodyTy = bodyTy, caseKind = PatternCalc.MATCH, loc = loc} } ) end and uncurryExp spine tpexp = case tpexp of TC.TPERROR => tpexp | TC.TPCONSTANT {const, ty, loc} => makeApply(tpexp, spine, loc) | TC.TPGLOBALSYMBOL {name, kind, ty, loc} => makeApply(tpexp, spine, loc) | TC.TPVAR (_,loc) => makeApply (tpexp, spine, loc) | TC.TPEXVAR (exVarInfo, loc) => makeApply (tpexp, spine, loc) | (* * grab the arity amount of argument from the spine stack and make * an uncurried application. * If the spine does not contain enough arguments, then we perfrom * eta-expansion. * If the size of the spine is larger than arity then * we re-construct applications, i.e. uncurrying is performed * only for statically know function indicated by TC.TPRECFUNVAR. *) TC.TPRECFUNVAR {var={path, id, ty}, arity, loc} => ( case (TypesUtils.derefTy ty, spine) of (polyty as T.POLYty {boundtvars, body}, nil) => (* this should be the case val f = f where f is an uncurried polymorphic function. In this case we do typeinstantiation make a nested fun type generalization *) let val (subst, boundtvars) = TypesUtils.copyBoundEnv boundtvars val body = TypesUtils.substBTvar subst body val (argTyList, newBodyTy) = grabTy (body, arity) val newPoyTyBody = T.FUNMty(argTyList, newBodyTy) val newPolyTy = T.POLYty{boundtvars = boundtvars, body = newPoyTyBody} val newPolyTy = TyAlphaRename.copyTy TyAlphaRename.emptyBtvMap newPolyTy val newPolyTtermBody = grabAndApply (TC.TPTAPP {exp = TC.TPVAR ({path=path, id=id, ty=newPolyTy}, loc), expTy = newPolyTy, instTyList = map T.BOUNDVARty (BoundTypeVarID.Map.listKeys boundtvars), loc = loc}, argTyList, newBodyTy, spine, loc) in TC.TPPOLY{btvEnv =boundtvars, expTyWithoutTAbs = newPoyTyBody, exp = newPolyTtermBody, loc = loc } end | (T.POLYty {boundtvars, body}, x::_) => raise Control.Bug "polymorphic uncurried function with non nil spine" | _ => ( let val (argTyList, bodyTy) = grabTy (ty, arity) in grabAndApply (TC.TPVAR ({path=path, id=id, ty= T.FUNMty(argTyList, bodyTy)}, loc), argTyList, bodyTy, spine, loc) end handle x => raise x ) ) | TC.TPFNM {argVarList, bodyTy, bodyExp, loc} => let val newBodyExp = uncurryExp nil bodyExp in makeApply(TC.TPFNM {argVarList = argVarList, bodyTy = bodyTy, bodyExp = newBodyExp, loc = loc}, spine, loc) end | TC.TPAPPM {funExp, funTy, argExpList = [argExp], loc} => let val newArgExp = uncurryExp nil argExp in uncurryExp ((newArgExp, funTy)::spine) funExp end | (* * We only uncurry single argument functions. * This case should not happen for the current system, * but in future we may allow uncurried user functions. *) TC.TPAPPM {funExp, funTy, argExpList, loc} => let val newFunExp = uncurryExp nil funExp val newArgExpList = map (uncurryExp nil) argExpList in makeApply (TC.TPAPPM{funExp = newFunExp, funTy = funTy, argExpList = newArgExpList, loc = loc}, spine, loc) end | TC.TPDATACONSTRUCT {con, instTyList, argExpOpt = SOME exp, argTyOpt, loc} => let val newTpexp = TC.TPDATACONSTRUCT {con=con, instTyList=instTyList, argExpOpt = SOME (uncurryExp nil exp), argTyOpt = argTyOpt, loc = loc} in makeApply (newTpexp, spine, loc) end | TC.TPDATACONSTRUCT {con, instTyList, argExpOpt = NONE, argTyOpt, loc} => makeApply (tpexp, spine, loc) | TC.TPEXNCONSTRUCT {exn, instTyList, argExpOpt = SOME exp, argTyOpt, loc} => let val newTpexp = TC.TPEXNCONSTRUCT {exn=exn, instTyList=instTyList, argExpOpt = SOME (uncurryExp nil exp), argTyOpt=argTyOpt, loc = loc} in makeApply (newTpexp, spine, loc) end | TC.TPEXNCONSTRUCT {exn, instTyList, argExpOpt = NONE, argTyOpt, loc} => makeApply (tpexp, spine, loc) | TC.TPEXN_CONSTRUCTOR {exnInfo, loc} => makeApply (tpexp, spine, loc) | TC.TPEXEXN_CONSTRUCTOR {exExnInfo, loc} => makeApply (tpexp, spine, loc) | TC.TPCASEM {expList, expTyList, ruleList, ruleBodyTy, caseKind, loc} => let val newExpList = map (uncurryExp nil) expList val newRuleList = map (fn {args, body} => {args=args, body= uncurryExp nil body}) ruleList in makeApply(TC.TPCASEM {expList = newExpList, expTyList = expTyList, ruleList = newRuleList, ruleBodyTy = ruleBodyTy, caseKind = caseKind, loc = loc}, spine, loc) end | TC.TPPRIMAPPLY {primOp, instTyList, argExp = exp, argTy, loc} => let val newTpexp = TC.TPPRIMAPPLY {primOp=primOp, instTyList=instTyList, argExp = uncurryExp nil exp, argTy = argTy, loc = loc} in makeApply (newTpexp, spine, loc) end | TC.TPOPRIMAPPLY {oprimOp, instTyList, argExp = exp, argTy, loc} => let val newTpexp = TC.TPOPRIMAPPLY {oprimOp = oprimOp, instTyList = instTyList, argExp = uncurryExp nil exp, argTy=argTy, loc = loc} in makeApply (newTpexp, spine, loc) end | TC.TPRECORD {fields, recordTy, loc} => let val newFields = LabelEnv.map (uncurryExp nil) fields in makeApply (TC.TPRECORD {fields = newFields, recordTy = recordTy, loc=loc}, spine, loc) end | TC.TPSELECT {label, exp, expTy, resultTy, loc} => let val newExp = uncurryExp nil exp in makeApply(TC.TPSELECT {label = label, exp = newExp, expTy = expTy, resultTy = resultTy, loc = loc}, spine, loc) end | TC.TPMODIFY {label, recordExp, recordTy, elementExp, elementTy, loc} => let val newRecordExp = uncurryExp nil recordExp val newElementExp = uncurryExp nil elementExp in makeApply(TC.TPMODIFY {label = label, recordExp = newRecordExp, recordTy = recordTy, elementExp = newElementExp, elementTy = elementTy, loc = loc}, spine, loc) end | TC.TPSEQ {expList, expTyList, loc} => let val newExpList = map (uncurryExp nil) expList in makeApply(TC.TPSEQ {expList=newExpList, expTyList = expTyList, loc = loc}, spine, loc) end | TC.TPMONOLET {binds, bodyExp, loc} => let val newBinds = map (fn (v,exp) => (v, uncurryExp nil exp))binds val newBodyExp = uncurryExp nil bodyExp in makeApply(TC.TPMONOLET {binds=newBinds, bodyExp=newBodyExp, loc=loc}, spine, loc) end | TC.TPLET {decls, body, tys, loc} => let val decls = uncurryDeclList decls val body = map (uncurryExp nil) body in makeApply(TC.TPLET {decls=decls, body=body, tys=tys, loc=loc}, spine, loc) end | TC.TPRAISE {exp,ty,loc} => makeApply(TC.TPRAISE{exp=uncurryExp nil exp,ty=ty,loc=loc}, spine, loc) | TC.TPHANDLE {exp, exnVar, handler, loc} => let val newExp = uncurryExp nil exp val newHandler = uncurryExp nil handler in makeApply(TC.TPHANDLE {exp = newExp, exnVar = exnVar, handler = newHandler, loc = loc}, spine, loc) end | TC.TPPOLYFNM { btvEnv, argVarList, bodyTy, bodyExp, loc } => let val newBodyExp = uncurryExp nil bodyExp in makeApply(TC.TPPOLYFNM { btvEnv = btvEnv, argVarList = argVarList, bodyTy = bodyTy, bodyExp = newBodyExp, loc = loc }, spine, loc) end | TC.TPPOLY {btvEnv, expTyWithoutTAbs, exp, loc} => let val newExp = uncurryExp nil exp in makeApply(TC.TPPOLY {btvEnv=btvEnv, expTyWithoutTAbs = expTyWithoutTAbs, exp = newExp, loc = loc}, spine, loc) end | TC.TPTAPP {exp = TC.TPRECFUNVAR {var={path, id, ty}, arity, loc=loc1}, expTy, instTyList, loc=loc2} => ( let val instTy = TypesUtils.tpappTy(expTy, instTyList) val (argTyList, bodyTy) = grabTy (instTy, arity) val newPolyTy = case TypesUtils.derefTy ty of T.POLYty{boundtvars, body} => T.POLYty{boundtvars = boundtvars, body = T.FUNMty(grabTy(body, arity))} | _ => raise Control.Bug "non function type in TC.TPRECFUNVAR" in grabAndApply (TC.TPTAPP {exp = TC.TPVAR ({path=path, id=id, ty=newPolyTy},loc1), expTy=newPolyTy, instTyList=instTyList, loc=loc2}, argTyList, bodyTy, spine, loc2) end handle x => raise x ) | TC.TPTAPP {exp, expTy, instTyList, loc} => let val newExp = uncurryExp nil exp in makeApply(TC.TPTAPP {exp=newExp, expTy = expTy, instTyList = instTyList, loc = loc}, spine, loc) end | TC.TPFFIIMPORT {ptrExp, ffiTy, stubTy, loc} => makeApply (TC.TPFFIIMPORT {ptrExp = uncurryExp nil ptrExp, ffiTy = ffiTy, stubTy = stubTy, loc = loc}, spine, loc) | TC.TPCAST (tpexp, ty, loc) => makeApply(TC.TPCAST(uncurryExp nil tpexp, ty, loc), spine, loc) | TC.TPSIZEOF (_,loc) => makeApply (tpexp, spine, loc) | TC.TPSQLSERVER {server, schema, resultTy, loc} => makeApply (TC.TPSQLSERVER{server=server, schema=schema, resultTy=resultTy, loc=loc}, spine, loc) and uncurryDecl tpdecl = case tpdecl of TC.TPVAL (valIdTpexpList, loc) => [TC.TPVAL(map (fn (id,exp) => (id, uncurryExp nil exp)) valIdTpexpList, loc)] | TC.TPFUNDECL (fundecls, loc) => [TC.TPVALREC (map (fn (var, ty, exp) => {var=var,exp=exp, expTy = ty}) (map (matchToFnCaseTerm loc) fundecls), loc)] | TC.TPPOLYFUNDECL (btvEnv, fundecls, loc) => [TC.TPVALPOLYREC (btvEnv, map (fn (v,ty,exp) => {var =v, exp = exp, expTy = ty}) (map (matchToFnCaseTerm loc) fundecls), loc)] | TC.TPVALREC (bindList, loc) => [TC.TPVALREC (map (fn {var, expTy, exp} => {var=var, expTy=expTy, exp=uncurryExp nil exp}) bindList, loc) ] | TC.TPVALPOLYREC (btvEnv, recBinds, loc) => [ TC.TPVALPOLYREC (btvEnv, map (fn {var, expTy, exp} => {var=var, expTy = expTy, exp = uncurryExp nil exp}) recBinds, loc) ] | TC.TPEXD _ => [tpdecl] | TC.TPEXNTAGD _ => [tpdecl] | TC.TPEXTERNVAR _ => [tpdecl] | TC.TPEXTERNEXN _ => [tpdecl] | TC.TPEXPORTEXN _ => [tpdecl] | TC.TPEXPORTVAR _ => [tpdecl] | TC.TPEXPORTRECFUNVAR {var=var as {ty, path,...}, arity,loc} => let val tpexp = uncurryExp nil (TC.TPRECFUNVAR{var=var,arity=arity,loc=loc}) val newVar = {path=path,id=VarID.generate(), ty=ty} val decl = TC.TPVAL([(newVar,tpexp)], loc) val newExport = TC.TPEXPORTVAR {internalVar=newVar,externalVar={path=path, ty=ty},loc=loc} in [decl, newExport] end and uncurryDeclList pldeclList = foldr (fn (decl, declList) => (uncurryDecl decl) @ declList) nil pldeclList and optimize decList = uncurryDeclList decList handle exn => raise exn end end smlsharp-1.2.0/src/compiler/typeinference2/test0000755 000000000000000000000000012050661606021726 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/typeinference2/test/expressions.sml0000644 000000000000000000000004112050661606025077 0ustar00rootroot0000000 0000000 structure TestExprs = struct end smlsharp-1.2.0/src/compiler/typeinference2/test/TestExprs.sml0000644 000000000000000000000004412050661606024461 0ustar00rootroot0000000 0000000 structure TestExprs = struct end smlsharp-1.2.0/src/compiler/typeinference2/test/TypeInfTest.sml0000644 000000000000000000000011412050661606024734 0ustar00rootroot0000000 0000000 structure TypeInfTest = struct local open TypeInf in end end smlsharp-1.2.0/src/compiler/types0000755 000000000000000000000000012050661606017171 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/types/main0000755 000000000000000000000000012050661606020115 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/types/main/CheckEq.smi0000644 000000000000000000000063612050661606022216 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../builtin2/main/BuiltinTypes.smi" _require "Types.ppg.smi" _require "TypesUtils.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../name/main/LocalID.smi" structure CheckEq = struct exception Eqcheck val checkEq : Types.ty -> unit end smlsharp-1.2.0/src/compiler/types/main/CheckEq.sml0000644 000000000000000000000640012050661606022214 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori * @version $Id: checkeq.sml,v 1.30 2008/08/06 12:59:09 ohori Exp $ *) structure CheckEq = struct local structure T = Types structure A = Absyn structure TU = TypesUtils structure BT = BuiltinTypes in (** raised when checkEq fails *) exception Eqcheck (** * Coerce a type to an equality type * @params compileContext ty * @param compileContext compile context * @param ty the type to be coereced * @return nil *) fun checkEq ty = case ty of T.SINGLETONty _ => raise Eqcheck | T.ERRORty => raise Eqcheck | T.DUMMYty _ => raise Eqcheck | T.TYVARty (r as ref(T.TVAR {lambdaDepth,id,tvarKind,eqKind,utvarOpt = NONE})) => (case eqKind of A.NONEQ => r := T.TVAR{ lambdaDepth = lambdaDepth, id = id, tvarKind = tvarKind, eqKind = A.EQ, utvarOpt = NONE } | A.EQ => (); case tvarKind of T.OCONSTkind L => let val newL = List.filter TU.admitEqTy L in case newL of nil => raise Eqcheck | _ => r := T.TVAR{ lambdaDepth = lambdaDepth, id = id, tvarKind = T.OCONSTkind newL, eqKind = A.EQ, utvarOpt = NONE } end | T.OPRIMkind {instances, operators} => let val instances = List.filter TU.admitEqTy instances in case instances of nil => raise Eqcheck | _ => r := T.TVAR{ lambdaDepth = lambdaDepth, id = id, tvarKind = T.OPRIMkind {instances = instances, operators = operators}, eqKind = A.EQ, utvarOpt = NONE } end | _ => () ) | T.TYVARty (ref(T.TVAR {eqKind = A.EQ, utvarOpt = SOME _, ...})) => () | T.TYVARty (ref(T.TVAR {eqKind = A.NONEQ, utvarOpt = SOME _, ...})) => (* We cannot coerce user specified noneq type variable. *) raise Eqcheck | T.TYVARty (ref(T.SUBSTITUTED ty)) => checkEq ty | T.BOUNDVARty tid => () | T.FUNMty _ => raise Eqcheck | T.RECORDty fl => LabelEnv.foldr (fn (ty,()) => checkEq ty) () fl | T.CONSTRUCTty {tyCon={id,iseq,...},args} => if TypID.eq(id, #id BT.arrayTyCon) then () else if TypID.eq(id, #id BT.refTyCon) then () else if iseq then List.app checkEq args else raise Eqcheck | T.POLYty {boundtvars, body} => ( BoundTypeVarID.Map.app (fn {eqKind, ...} => (case eqKind of A.NONEQ => raise Eqcheck | A.EQ => ())) boundtvars; checkEq body ) end end smlsharp-1.2.0/src/compiler/types/main/EvalIty.smi0000644 000000000000000000000304712050661606022267 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../builtin2/main/BuiltinTypeNames.ppg.smi" _require "IDCalc.ppg.smi" _require "tvarMap.smi" _require "VarMap.smi" _require "OPrimMap.smi" _require "Types.ppg.smi" structure EvalIty = struct exception EVALTFUN of {iseq: bool, formals: IDCalc.formals, realizerTy: IDCalc.ty} type ityContext = {oprimEnv:IDCalc.ty OPrimMap.map, tvarEnv:Types.ty TvarMap.map, varEnv:IDCalc.ty VarMap.map} val emptyContext : ityContext val evalKindedTvar : IDCalc.kindedTvar * ({oprimEnv: 'a, tvarEnv: Types.ty TvarMap.map, varEnv: 'b} * Types.btvEnv) -> ({oprimEnv: 'a, tvarEnv: Types.ty TvarMap.map, varEnv: 'b} * Types.btvEnv) val evalKindedTvarList : {oprimEnv: 'a, tvarEnv: Types.ty TvarMap.map, varEnv: 'b} -> IDCalc.kindedTvar list -> {oprimEnv: 'a, tvarEnv: Types.ty TvarMap.map, varEnv: 'b} * Types.btvEnv val evalDtyKind : {oprimEnv: 'a, tvarEnv: Types.ty TvarMap.map, varEnv: 'b} -> IDCalc.dtyKind -> Types.dtyKind val evalTfun : {oprimEnv: 'a, tvarEnv: Types.ty TvarMap.map, varEnv: 'b} -> IDCalc.tfun -> Types.tyCon val evalIty : {oprimEnv: 'a, tvarEnv: Types.ty TvarMap.map, varEnv: 'b} -> IDCalc.ty -> Types.ty end smlsharp-1.2.0/src/compiler/types/main/EvalIty.sml0000644 000000000000000000001477512050661606022304 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2012- Tohoku University. * @author Atsushi Ohori *) structure EvalIty = struct local structure I = IDCalc structure T = Types fun bug s = Control.Bug ("EvalITy: " ^ s) val debugPrint = fn s => if !Control.debugPrint then print s else () fun printTy ty = debugPrint (Control.prettyPrint (I.format_ty ty)) fun printTfun tfun = debugPrint (Control.prettyPrint (I.format_tfun tfun)) fun printPath path = debugPrint (String.concatWith "." path) in type ityContext = {oprimEnv:I.ty OPrimMap.map, tvarEnv:Types.ty TvarMap.map, varEnv:I.ty VarMap.map} val emptyContext : ityContext = { oprimEnv=OPrimMap.empty, tvarEnv=TvarMap.empty, varEnv=VarMap.empty } exception EVALTFUN of {iseq:bool, formals:I.formals, realizerTy:I.ty} fun evalKindedTvar ((tvar as {eq,...}, I.UNIV), (context as {tvarEnv, varEnv, oprimEnv}, btvEnv)) = let val btvId = BoundTypeVarID.generate() val btvTy = T.BOUNDVARty btvId val tvarEnv = TvarMap.insert(tvarEnv, tvar, btvTy) val btvEnv = BoundTypeVarID.Map.insert (btvEnv,btvId,{eqKind=eq,tvarKind=T.UNIV}) in ({tvarEnv=tvarEnv, varEnv=varEnv, oprimEnv=oprimEnv}, btvEnv) end | evalKindedTvar _ = raise bug "non univ kind" fun evalKindedTvarList context kindedTvarList = foldl evalKindedTvar (context, BoundTypeVarID.Map.empty) kindedTvarList (* fun evalDtyKind context path dtyKind = *) fun evalDtyKind context dtyKind = case dtyKind of I.DTY => T.DTY | I.DTY_INTERFACE => T.DTY | I.FUNPARAM => T.DTY | I.OPAQUE {tfun, revealKey} => let val opaqueRep = T.TYCON (evalTfun context tfun) handle EVALTFUN{iseq, formals, realizerTy} => let val (context, btvEnv) = evalKindedTvarList context (map (fn tv => (tv, I.UNIV)) formals) val rty = evalIty context realizerTy in T.TFUNDEF {iseq=iseq, arity=length formals, polyTy=T.POLYty{boundtvars=btvEnv,body=rty} } end in T.OPAQUE {opaqueRep=opaqueRep, revealKey=revealKey} end | I.BUILTIN builtinTy => T.BUILTIN builtinTy (* and evalTfun context path tfun = *) and evalTfun context tfun = case tfun of I.TFUN_DEF {iseq, formals, realizerTy} => raise EVALTFUN {iseq=iseq, formals=formals, realizerTy=realizerTy} | I.TFUN_VAR tfunKindRef => (case tfunKindRef of ref(I.TFUN_DTY{id,iseq,formals,runtimeTy,originalPath, conSpec,liftedTys,dtyKind}) => let (* Here we changed LIFTEDty to BOXED. I think this is OK since this type only occurrs in the functor body and we changes all of them. The other possibility is to introduce (LIFTEDty builtinTy) in tyCon. *) val runtimeTy = case runtimeTy of I.BUILTINty ty => ty | I.LIFTEDty _ => BuiltinTypeNames.BOXEDty in {id = id, (* 2012-7-15 ohori: bug 207_printer.sml. path = path, *) path = originalPath, iseq = iseq, runtimeTy = runtimeTy, arity = List.length formals, conSet =SEnv.map (fn NONE => {hasArg=false} | SOME ity => {hasArg=true}) conSpec, extraArgs = map (evalIty context) (I.liftedTysToTy liftedTys), dtyKind = evalDtyKind context dtyKind } end | ref(I.TFV_SPEC {name, id, iseq, formals}) => (debugPrint "****** evalTfun ******\n"; debugPrint "tfun\n"; printTfun tfun; debugPrint "\n"; raise bug "TFV_SPEC in evalTfun" ) | ref(I.TFV_DTY {name, id,iseq,formals,conSpec,liftedTys}) => (debugPrint "****** evalTfun ******\n"; debugPrint "tfun\n"; printTfun tfun; debugPrint "\n"; raise bug "TFV_DTY in evalTfun" ) | ref(I.REALIZED{tfun,...}) => evalTfun context tfun | ref(I.INSTANTIATED{tfun,...}) => evalTfun context tfun | ref(I.FUN_DTY{tfun,...}) => evalTfun context tfun ) and evalIty context ity = case ity of I.TYWILD => T.ERRORty | I.TYERROR => T.ERRORty | I.TYVAR tvar => (case TvarMap.find(#tvarEnv context, tvar) of SOME ty => ty | NONE => (debugPrint "evalIty tvar not found\n"; printTy ity; raise bug ("free tvar:" ^(Control.prettyPrint(I.format_ty ity))) ) ) | I.TYRECORD tyMap => T.RECORDty (LabelEnv.map (evalIty context) tyMap) | I.TYCONSTRUCT {tfun, args} => (let val args = map (evalIty context) args val tyCon = evalTfun context tfun handle e => raise e in T.CONSTRUCTty{tyCon=tyCon, args=args} end handle EVALTFUN {iseq, formals, realizerTy} => if length formals = length args then let val args = map (evalIty context) args val tvarTyPairs = ListPair.zip (formals, args) val tvarEnv = #tvarEnv context val tvarEnv = foldr (fn ((tvar, ty), tvarEnv) => TvarMap.insert(tvarEnv, tvar, ty)) tvarEnv tvarTyPairs val context = {tvarEnv = tvarEnv, varEnv = #varEnv context, oprimEnv = #oprimEnv context} in evalIty context realizerTy end else raise bug "TYCONSTRUCT ARITY" ) | I.TYFUNM (tyList,ty2) => T.FUNMty (map (evalIty context) tyList, evalIty context ty2) | I.TYPOLY (kindedTvarList, ty) => let val (context, btvEnv) = evalKindedTvarList context kindedTvarList val ty = evalIty context ty in T.POLYty {boundtvars = btvEnv, body = ty} end | I.INFERREDTY ty => ty end end smlsharp-1.2.0/src/compiler/types/main/IDCalc.ppg0000644 000000000000000000020670412050661606021774 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2012- Tohoku University. * @author Atsushi Ohori *) (* 2012-2 ohori IDTypes are merged to IDCalc due to the following: In order to generate a minimul set of interface declarations from a topEnv, it is necessary to keep overloaded decls in IDOPRIM. IDOPRIM is an idstatus, which appears in varE, which in tern appers in tfun. 2012-2-3 ohori IDCalc is moved to types/main/ due to the following: In order to support interactive mode, it is necessary to generate an interface "val x: ity" for "val x = exp", where ity is ty in IDCalc. "ity" is generated from ty (in Types) obtained by type inference. One strategy is to revert ty to ity. But this require to extend ity so that it can represent ty. This should be possible but it require a certain amount of work. Especially, ity must be able to represent overloaded kind containing instance selector. The current solution is to add the following constructor in ity INFERREDTY of Types.ty which remembers the inferred type. This require IDCalc and Types to sit in the same dir. *) structure IDCalc = struct local type loc = Loc.loc (*% @formatter(Absyn.eq) Absyn.format_eq *) (*% @prefix formatWithType_ @formatter(Absyn.eq) Absyn.format_eq *) (*% @prefix print_ @formatter(Absyn.eq) Absyn.format_eq *) type eq = (*% @format(x) x *) (*% @prefix formatWithType_ @format(x) x *) (*% @prefix print_ @format(x) x *) Absyn.eq fun bug s = Control.Bug ("IDCalc: " ^ s) val tempVarNamePrefix = "$T_" in (*% *) (*% @prefix formatWithType_ *) (*% @prefix print_ *) type path = (*% @format(name names) names(name)(".") *) (*% @prefix formatWithType_ @format(name names) names(name)(".") *) (*% @prefix print_ @format(name names) names(name)(".") *) string list (* the ids (names) used in and after IDCalc *) (* type name *) (*% @formatter(TypID.id) TypID.format_id *) (*% @prefix formatWithType_ @formatter(TypID.id) TypID.format_id *) (*% @prefix print_ @formatter(TypID.id) TypID.format_id *) type typId = (*% @format(id) "t" id *) (*% @prefix formatWithType_ @format(id) "t" id *) (*% @prefix print_ @format(id) "t" id *) TypID.id (* constructor name *) (*% @formatter(ConID.id) ConID.format_id *) (*% @prefix formatWithType_ @formatter(ConID.id) ConID.format_id *) (*% @prefix print_ @formatter(ConID.id) ConID.format_id *) type conId = (*% @format(id) "c" id *) (*% @prefix formatWithType_ @format(id) "c" id *) (*% @prefix print_ @format(id) *) ConID.id (* local variable name *) (*% @formatter(VarID.id) VarID.format_id *) (*% @prefix formatWithType_ @formatter(VarID.id) VarID.format_id *) (*% @prefix print_ @formatter(VarID.id) VarID.format_id *) type varId = (*% @format(id) "v" id *) (*% @prefix formatWithType_ @format(id) "v" id *) (*% @prefix print_ @format(id) *) VarID.id (* exception name *) (*% @formatter(ExnID.id) ExnID.format_id *) (*% @prefix formatWithType_ @formatter(ExnID.id) ExnID.format_id *) (*% @prefix print_ @formatter(ExnID.id) ExnID.format_id *) type exnId = (*% @format(id) "e" id *) (*% @prefix formatWithType_ @format(id) "e" id *) (*% @prefix print_ @format(id) *) ExnID.id (* overloaded primitve id *) (*% @formatter(OPrimID.id) OPrimID.format_id *) (*% @prefix formatWithType_ @formatter(OPrimID.id) OPrimID.format_id *) (*% @prefix print_ @formatter(OPrimID.id) OPrimID.format_id *) type oprimId = (*% @format(id) "o" id *) (*% @prefix formatWithType_ @format(id) "o" id *) (*% @prefix print_ @format(id) *) OPrimID.id (* type variable name *) (*% @formatter(TvarID.id) TvarID.format_id *) (*% @prefix formatWithType_ @formatter(TvarID.id) TvarID.format_id *) (*% @prefix print_ @formatter(TvarID.id) TvarID.format_id *) type tvarId = (*% @format(id) "tv" id *) (*% @prefix formatWithType_ @format(id) "tv" id *) (*% @prefix print_ @format(id) *) TvarID.id (*% @formatter(RevealID.id) RevealID.format_id *) (*% @prefix formatWithType_ @formatter(RevealID.id) RevealID.format_id *) (*% @prefix print_ @formatter(RevealID.id) RevealID.format_id *) type revealKey = (*% @format(id) "rv" id *) (*% @prefix formatWithType_ @format(id) "rv" id *) (*% @prefix print_ @format(id) *) RevealID.id (* type variable; if lifted=ture then this type variable is originally a type constructore in a functor argument. *) (*% *) (*% @prefix formatWithType_ *) (*% @prefix print_ *) type tvar = (*% @format({name, id, eq, lifted}) eq name *) (*% @prefix formatWithType_ @format({name, id, eq, lifted}) eq name "(" id ")" *) (*% @prefix print_ @format({name, id, eq, lifted}) eq name *) {name:string, id:tvarId, eq:eq, lifted:bool} fun formatEnclosedTvarSet (lparen, comma, rparen) map = TermFormat.formatOptionalList (format_tvar, lparen, comma, rparen) (TvarSet.listItems map) fun formatEnclosedTvarMap (formatter, lparen, mapsto, comma, rparen) map = TermFormat.formatOptionalList (fn (tvar, item) => (format_tvar tvar) @ mapsto @ (formatter item), lparen, comma, rparen ) (TvarMap.listItemsi map) (* the set of tycons in a functor argument that are lifted to type variables *) (*% @formatter(TvarSet.set) formatEnclosedTvarSet *) (*% @prefix formatWithType_ @formatter(TvarSet.set) formatEnclosedTvarSet *) (*% @prefix print_ @formatter(TvarSet.set) formatEnclosedTvarSet *) type liftedTys = (*% @format(tvset) tvset()("<",",","> ") *) (*% @prefix formatWithType_ @format(tvset) tvset()("<",",","> ") *) (*% @prefix print_ @format(tvset) *) TvarSet.set val emptyLiftedTys = TvarSet.empty : liftedTys (*% @formatter(list) TermFormat.formatSeqList @formatter(ifCons) TermFormat.formatIfCons *) (*% @prefix formatWithType_ @formatter(list) TermFormat.formatSeqList @formatter(ifCons) TermFormat.formatIfCons *) (*% @prefix print_ @formatter(list) TermFormat.formatSeqList @formatter(ifCons) TermFormat.formatIfCons *) type formals = (*% @format(formal formals) formals(formal)("(",",",")") formals:ifCons()(+) *) (*% @prefix formatWithType_ @format(formal formals) formals(formal)("(",",",")") formals:ifCons()(+) *) (*% @prefix print_ @format(formal formals) {formals(formal)("(",",",")")} *) tvar list (*% @formatter(option) TermFormat.formatOptionalOption *) (*% @prefix formatWithType_ @formatter(option) TermFormat.formatOptionalOption *) (*% @prefix print_ @formatter(option) TermFormat.formatOptionalOption *) (* variable *) type varInfo = (*% @format({path, id}) path *) (*% @prefix formatWithType_ @format({path, id}) path "(" id ")" *) (*% @prefix print_ @format({path, id}) path *) {path: path, id: varId} (*% *) (*% @prefix formatWithType_ *) (*% @prefix print_ *) (* overloaded primitive name *) type oprimInfo = (*% @format({path, id}) path *) (*% @prefix formatWithType_ @format({path, id}) path "(" id ")" *) (*% @prefix print_ @format({path, id}) path *) {path: path, id: oprimId} (*% @formatter(Absyn.constant) Absyn.format_constant *) (*% @prefix formatWithType_ @formatter(Absyn.constant) Absyn.format_constant *) (*% @prefix print_ @formatter(Absyn.constant) Absyn.format_constant *) type constant = (*% @format(x) x *) (*% @prefix formatWithType_ @format(x) x *) (*% @prefix print_ @format(x) x *) Absyn.constant (*% @formatter(tyformat) Types.format_ty *) (*% @prefix formatWithType_ @formatter(tyformat) Types.format_ty *) (*% @prefix print_ @formatter(tyformat) Types.format_ty *) type typesTy = (*% @format(ty:tyformat) ty()() *) (*% @prefix formatWithType_ @format(ty:tyformat) ty()() *) (*% @prefix print_ @format(ty:tyformat) ty()() *) Types.ty fun ifOpaque(opaque, opaqueExp, normalExp) _ = if null(opaque) then normalExp else opaqueExp (*% @formatter(BuiltinTypeNames.bty) BuiltinTypeNames.format_bty @formatter(tvar) format_tvar *) datatype runtimeTy = (*% @format(bty) bty *) BUILTINty of BuiltinTypeNames.bty | (*% @format(tvar) tvar *) LIFTEDty of tvar (*% @formatter(BuiltinPrimitive.primitive) BuiltinPrimitive.format_primitive @formatter(BuiltinTypeNames.bty) BuiltinTypeNames.format_bty @formatter(SEnv.map) TermFormat.formatEnclosedSEnvPlain @formatter(TypID.Map.map) formatEnclosedTypEnv @formatter(bool) SmlppgUtil.formatBinaryChoice @formatter(appList) TermFormat.formatAppList @formatter(declList) TermFormat.formatDeclList @formatter(ifCons) TermFormat.formatIfCons @formatter(optionalList) TermFormat.formatOptionalList @formatter(option) TermFormat.formatOptionalOption @formatter(recordTy) TermFormat.formatRecordTy @formatter(seqList) TermFormat.formatSeqList @formatter(enclosedList) TermFormat.formatEnclosedList @formatter(optionalList) TermFormat.formatOptionalList *) (*% @prefix formatWithType_ @formatter(BuiltinPrimitive.primitive) BuiltinPrimitive.format_primitive @formatter(BuiltinPrimitive.primitive) BuiltinPrimitive.format_primitive @formatter(BuiltinTypeNames.bty) BuiltinTypeNames.format_bty @formatter(SEnv.map) TermFormat.formatEnclosedSEnvPlain @formatter(TypID.Map.map) formatEnclosedTypEnv @formatter(bool) SmlppgUtil.formatBinaryChoice @formatter(appList) TermFormat.formatAppList @formatter(declList) TermFormat.formatDeclList @formatter(enclosedList) TermFormat.formatEnclosedList @formatter(ifCons) TermFormat.formatIfCons @formatter(option) TermFormat.formatOptionalOption @formatter(optionalList) TermFormat.formatOptionalList @formatter(recordTy) TermFormat.formatRecordTy @formatter(seqList) TermFormat.formatSeqList *) (*% @prefix print_ @params(mode,name) @formatter(BuiltinPrimitive.primitive) BuiltinPrimitive.format_primitive @formatter(BuiltinPrimitive.primitive) BuiltinPrimitive.format_primitive @formatter(BuiltinTypeNames.bty) BuiltinTypeNames.format_bty @formatter(SEnv.map) TermFormat.formatEnclosedSEnvPlain @formatter(formatSmap) SmlppgUtil.formatSmap @formatter(TypID.Map.map) formatEnclosedTypEnv @formatter(bool) SmlppgUtil.formatBinaryChoice @formatter(appList) TermFormat.formatAppList @formatter(declList) TermFormat.formatDeclList @formatter(enclosedList) TermFormat.formatEnclosedList @formatter(ifCons) TermFormat.formatIfCons @formatter(ifNonEmpty) TermFormat.formatIfNonEmpty @formatter(ifEmpty) TermFormat.formatIfEmpty @formatter(ifEmptyFormat) TermFormat.formatIfEmptyFormat @formatter(option) TermFormat.formatOptionalOption @formatter(optionalList) TermFormat.formatOptionalList @formatter(recordTy) TermFormat.formatRecordTy @formatter(seqList) TermFormat.formatSeqList @formatter(formatGenericSmap) SmlppgUtil.formatGenericSmap @formatter(ifOpaque) ifOpaque @formatter(tfunOriginalPath) format_tfun *) datatype ty = (*% @format "_" *) (*% @prefix formatWithType_ @format "_" *) (*% @prefix print_ @format "_" *) TYWILD | (*% @format "?" *) (*% @prefix formatWithType_ @format "?" *) (*% @prefix print_ @format "?" *) TYERROR | (*% @format(tvar) tvar *) (*% @prefix formatWithType_ @format(tvar) tvar *) (*% @prefix print_ @format(tvar) tvar *) TYVAR of tvar | (*% @format(ty tys) tys:recordTy(ty) *) (*% @prefix formatWithType_ @format(ty tys) tys:recordTy(ty) *) (*% @prefix print_ @format(ty tys) tys:recordTy(ty()(,)) *) TYRECORD of ty LabelEnv.map | (*% @format({tfun, args: argTy argTys}) 1[ argTys:seqList(argTy)("(",",",")") argTys:ifCons()(+1) tfun ] *) (*% @prefix formatWithType_ @format({tfun, args: argTy argTys}) 1[ argTys:seqList(argTy)("(",",",")") argTys:ifCons()(+1) tfun ] *) (*% @prefix print_ @format({tfun:tfun:tfunOriginalPath, args: argTy argTys}) L8{ 2[ argTys:seqList(argTy()(,))("(",",",")") argTys:ifCons()(+) tfun ] } *) TYCONSTRUCT of {tfun:tfun, args:ty list} | (*% @format(ty1 tys * ty2) 1["{" tys(ty1)(",") "}" +1 "->" +d ty2] *) (*% @prefix formatWithType_ @format(ty1 tys * ty2) 1["{" tys(ty1)(",") "}" +1 "->" +d ty2] *) (*% @prefix print_ @format(ty1 tys * ty2) R4{ 2[ tys:seqList(ty1()(,))("(",",",")") +1 "->" +d ty2()(,) ] } *) TYFUNM of ty list * ty | (*% @format(kindedTvar list * ty) "[" 1[list(kindedTvar)(",") "." +1 ty] "]" *) (*% @prefix formatWithType_ @format(kindedTvar list * ty) "[" 1[list(kindedTvar)(",") "." +1 ty] "]" *) (*% @prefix print_ @format(kindedTvar list * ty) !N0{ "[" 2[ list(kindedTvar()(,))(",") "." +1 ty()(,) ] "]" } *) TYPOLY of kindedTvar list * ty | (*% @format(ty) "inferred" + ty *) (*% @prefix formatWithType_ @format(ty) "inferred" + ty *) (*% @prefix print_ @format(ty) ty *) INFERREDTY of typesTy and tvarKind = (*% @format *) (*% @prefix formatWithType_ @format *) (*% @prefix print_ @format *) UNIV | (*% @format(ty tys) "#" tys:recordTy(ty) *) (*% @prefix formatWithType_ @format(ty tys) "#" tys:recordTy(ty) *) (*% @prefix print_ @format(ty tys) "#" tys:recordTy(ty()(,)) *) REC of ty LabelEnv.map (* type function; there are two varieties. TFUN_DEF for a type-level lambda term \'a.ty TFUN_VAR for a type name *) and tfun = (*% @format({iseq, formals, realizerTy}) 1["\\" formals "." +1 realizerTy] *) (*% @prefix formatWithType_ @format({iseq, formals, realizerTy}) 1["\\" formals "." +1 realizerTy] *) (*% @prefix print_ @format({iseq, formals, realizerTy}) 2[ "type" + formals formals:ifCons()(+) name + "=" + realizerTy()(,) ] *) (* "type foo = ty"; after name evaluation this will not apper. *) TFUN_DEF of {iseq:bool, formals:formals, realizerTy:ty} | (*% @format(tfunkind tfunref) tfunref(tfunkind) *) (*% @prefix formatWithType_ @format(tfunkind tfunref) tfunref(tfunkind) *) (*% @prefix print_ @format(tfunkind tfunref) tfunref(tfunkind()(mode,name)) *) TFUN_VAR of tfunkind ref (* actual structures of a type function *) and tfunkind = (*% @format({id, iseq, formals, originalPath, conSpec, liftedTys, runtimeTy, dtyKind}) originalPath *) (*% @prefix formatWithType_ @format({id, iseq, formals, originalPath, conSpec, liftedTys, runtimeTy, dtyKind}) liftedTys "d" "(" formals ")" originalPath "("id")"+ "(" iseq()("EQ","NONEQ") ")" dtyKind *) (*% @prefix print_ @format({id, iseq, formals, originalPath, conSpec, liftedTys, runtimeTy, dtyKind}) 4[ mode:ifEmptyFormat()("type"+, "datatype"+) formals formals:ifCons()(+) name + mode:ifEmptyFormat()(dtyKind:ifOpaque()(dtyKind()(,), + "", "=" + formals formals:ifCons()(+) originalPath), "=" +1 dtyKind:ifOpaque()(dtyKind()(,),"", conSpec()(,)) ) ] *) (* datatype name; after name evaluation this is the only entry *) TFUN_DTY of {id:typId, iseq:bool, originalPath:path, formals:formals, conSpec:conSpec, runtimeTy:runtimeTy, liftedTys:liftedTys, dtyKind:dtyKind } | (*% @format({name, id, iseq, formals}) name *) (*% @prefix formatWithType_ @format({name, id, iseq, formals}) "s" + name + "(" formals ")" id *) (*% @prefix print_ @format({name:tfunName, id, iseq, formals}) iseq()("eqtype","type") + formals formals:ifCons()(+) name *) (* type constructore name in spec *) TFV_SPEC of {name:string, id:typId, iseq:bool, formals:formals} | (*% @format({name, id, iseq, formals, conSpec, liftedTys}) name *) (*% @prefix formatWithType_ @format({name, id, iseq, formals, conSpec, liftedTys}) liftedTys "v" "(" formals ")" id *) (*% @prefix print_ @format({name:tfunName, id, iseq, formals, conSpec, liftedTys}) 2[ conSpec:ifNonEmpty()("datatype"+) conSpec:ifEmpty()("type"+) formals formals:ifCons()(+) name + "=" +1 conSpec()(,) ] *) (* datatype name in spec *) TFV_DTY of {id:typId, name:string, iseq:bool, formals:formals, conSpec:conSpec, liftedTys:liftedTys} | (*% @format({id, tfun}) tfun *) (*% @prefix formatWithType_ @format({id, tfun}) "*r" + tfun *) (*% @prefix print_ @format({id, tfun}) "realized" + tfun()(mode,name) *) (* a type name that has been substituted for a type realizer. This will only appear in spec. *) REALIZED of {id:typId, tfun:tfun} | (*% @format({tfunkind, tfun}) 1[tfun +1 "(i*" tfunkind ")"] *) (*% @prefix formatWithType_ @format({tfunkind, tfun}) 1[tfun +1 "(i*" tfunkind ")"] *) (*% @prefix print_ @format({tfunkind, tfun}) "instantiated" + tfun()(mode,name) *) (* a type name that has been instantiated by an actual type function This is generated by signature check. *) INSTANTIATED of {tfunkind:tfunkind, tfun:tfun} | (*% @format({originalPath, tfun, varE, formals, conSpec, liftedTys}) originalPath *) (*% @prefix formatWithType_ @format({originalPath, tfun, varE, formals, conSpec, liftedTys}) "*d" "(" formals ")" tfun *) (*% @prefix print_ @format({originalPath, tfun, varE, formals, conSpec, liftedTys}) "fun_dty" + tfun()(mode,name) *) (* a datatype in a functor argument that has been materialized to an actual datatype. varE contains generated conId for datatype spec. *) FUN_DTY of {tfun:tfun, originalPath:path, varE:varE, formals:formals, conSpec:conSpec, liftedTys:liftedTys} and dtyKind = (*% @format "[FP]" *) (*% @prefix formatWithType_ @format "[FP]" *) (*% @prefix print_ @format *) FUNPARAM | (*% @format "[DTY]" *) (*% @prefix formatWithType_ @format "[DTY]" *) (*% @prefix print_ @format *) (* datatypes *) DTY | (*% @format "[DTY_INTERFACE]" *) (*% @prefix formatWithType_ @format "[DTY_INTERFACE]" *) (*% @prefix print_ @format "opaque" *) (* opaque dty interface *) DTY_INTERFACE | (*% @format({tfun, revealKey}) "[opaque("revealKey "," tfun ")" "]" *) (*% @prefix formatWithType_ @format({tfun, revealKey}) "[opaque("revealKey "," tfun ")" "]" *) (*% @prefix print_ @format({tfun, revealKey}) "opaque" *) (* opaque types of builtin types; opqaue types of datatypes are DTYs *) OPAQUE of {tfun:tfun, revealKey:revealKey} | (*% @format(builtin) *) (*% @prefix formatWithType_ @format(builtin) *) (*% @prefix print_ @format(builtin) *) (* builtin types *) BUILTIN of BuiltinTypeNames.bty and idstatus = (*% @format(id) "var" + id *) (*% @prefix formatWithType_ @format(id) "var" + id *) (*% @prefix print_ @format(id) "val" + name *) IDVAR of varId | (*% @format({id, ty}) "typed var" + id + ":" + ty *) (*% @prefix formatWithType_ @format({id, ty}) "typed var" + id + ":" + ty *) (*% @prefix print_ @format({id, ty}) "val" + name + ":" + ty()(,) *) IDVAR_TYPED of {id:varId, ty:ty} | (*% @format({path, ty, used, loc, version:int opt, internalId}) "external var" + path "(" opt(int)(,) ")" + ":" + ty *) (*% @prefix formatWithType_ @format({path, ty, used, loc, version, internalId}) "external var" + path + ":" + ty *) (*% @prefix print_ @format({path, ty, used, loc, version, internalId}) "val" + name + ":" + ty()(,) *) (* 2012-1-30 used flag indicate that it is referenced and therefore extern declaration needs to be generated. *) (* 2012-1-30 internalId is added for generating print term; a print term is generated for each IDEXVAR entry in topEnv. for this purpose varId is needed. This id is only set by genExtern in NameEval. *) (* external variable name *) IDEXVAR of {path:path, ty:ty, used:bool ref, loc:loc, version:int option, internalId:varId option} | (*% @format({path, id, loc, version}) "external var to be typed" + path *) (*% @prefix formatWithType_ @format({path, id, loc, version}) "external var to be typed" + path *) (*% @prefix print_ @format({path, id, loc, version}) "val" + name *) (* 2012-1-30 used flag indicate that it is referenced and therefore extern declaration needs to be generated. *) (* external variable name *) IDEXVAR_TOBETYPED of {path:path, id:varId, loc:loc, version:int option} | (*% @format({primitive, ty}) "primitive" + primitive *) (*% @prefix formatWithType_ @format({primitive, ty}) "primitive" + primitive *) (*% @prefix print_ @format({primitive, ty}) "val" + name + ":" + ty()(,) *) (* external variable name *) IDBUILTINVAR of {primitive: BuiltinPrimitive.primitive, ty:ty} | (*% @format({id, ty}) 1["con" + id +1 ":" + ty] *) (*% @prefix formatWithType_ @format({id, ty}) 1["con" + id +1 ":" + ty] *) (*% @prefix print_ @format({id, ty}) "val" + name + ":" + ty()(,) *) (* constructor name *) IDCON of {id:conId, ty:ty} | (*% @format({id, ty:ty}) 1[ "exn" + id +1 ":" + ty] *) (*% @prefix formatWithType_ @format({id, ty:ty}) 1[ "exn" + id +1 ":" + ty] *) (*% @prefix print_ @format({id, ty:ty}) "exception" + name + ":" + ty()(,) *) (* exception name *) IDEXN of {id:exnId, ty:ty} | (*% @format({id, ty:ty}) 1["exn rep" + id +1 ":" + ty] *) (*% @prefix formatWithType_ @format({id, ty:ty}) 1["exn rep" + id +1 ":" + ty] *) (*% @prefix print_ @format({id, ty:ty}) "exception" + name + ":" + ty()(,) *) (* exception name *) IDEXNREP of {id:exnId, ty:ty} | (*% @format({path, ty:ty, used, loc, version}) 1["external exn" + path +1 ":" + ty] *) (*% @prefix formatWithType_ @format({path, ty:ty, used, loc, version}) 1["external exn" + path +1 ":" + ty] *) (*% @prefix print_ @format({path, ty:ty, used, loc, version}) "exception" + name + ":" + ty()(,) *) (* external exception name *) IDEXEXN of {path:path, ty:ty, used: bool ref, loc:loc, version:int option} | (*% @format({path, ty:ty, used, loc, version}) 1["external exn rep" + path +1 ":" + ty] *) (*% @prefix formatWithType_ @format({path, ty:ty, used, loc, version}) 1["external exn rep" + path +1 ":" + ty] *) (*% @prefix print_ @format({path, ty:ty, used, loc, version}) "exception" + name + "=" + path *) (* external exception name *) IDEXEXNREP of {path:path, ty:ty, used:bool ref, loc:loc, version:int option} | (*% @format({id,overloadDef, used, loc}) "oprim" "(" id ")" *) (*% @prefix formatWithType_ @format({id,overloadDef, used, loc}) "oprim" "(" id ")" *) (*% @prefix print_ @format({id,overloadDef, used, loc}) *) (* overloaded primitive name *) IDOPRIM of {id:oprimId, overloadDef:icdecl, used:bool ref, loc:Loc.loc} | (*% @format(ty) 1["SPECVAR" +1 ":" + ty] *) (*% @prefix formatWithType_ @format(ty) 1["SPECVAR" +1 ":" + ty] *) (*% @prefix print_ @format(ty) "val" + name + ":" + ty()(,) *) (* variable name in spec *) IDSPECVAR of ty | (*% @format(ty) "SPECEXN" + ty *) (*% @prefix formatWithType_ @format(ty) "SPECEXN" + ty *) (*% @prefix print_ @format(ty) "exception" + name + ":" + ty()(,) *) (* TODO: exception name of ty *) (* exception name in a functor argument *) IDSPECEXN of ty | (*% @format "SPECCON" *) (*% @prefix formatWithType_ @format "SPECCON" *) (*% @prefix print_ @format *) (* constructor name in a functor argument *) IDSPECCON and icexp = (*% @format(loc) "_" *) (*% @prefix formatWithType_ @format(loc) "_" *) (*% @prefix print_ @format(loc) "_" *) ICERROR of loc | (*% @format(const * loc) const *) (*% @prefix formatWithType_ @format(const * loc) const *) (*% @prefix print_ @format(const * loc) *) ICCONSTANT of constant * loc | (*% @format(name * gk * loc) name *) (*% @prefix formatWithType_ @format(name * gk * loc) name *) (*% @prefix print_ @format(name * gk * loc) *) (* imported variables *) ICGLOBALSYMBOL of string * Absyn.globalSymbolKind * loc | (*% @format(var * loc) var *) (*% @prefix formatWithType_ @format(var * loc) var *) (*% @prefix print_ @format(var * loc) *) (* local variable *) ICVAR of varInfo * loc | (*% @format({path,ty} * loc) path *) (*% @prefix formatWithType_ @format({path,ty} * loc) 1[path +1 ":" +d ty] *) (*% @prefix print_ @format({path,ty} * loc) *) (* extnernal variable imported through _require *) ICEXVAR of {path:path, ty:ty} * loc | (*% @format({path,id} * loc) path + "(to be typed)" *) (*% @prefix formatWithType_ @format({path,id} * loc) path + "(to be typed)" *) (*% @prefix print_ @format({path,id} * loc) *) (* extnernal variable imported through _require *) ICEXVAR_TOBETYPED of {path:path, id:varId} * loc | (*% @format({primitive,ty,loc}) primitive *) (*% @prefix formatWithType_ @format({primitive,ty,loc}) primitive *) (*% @prefix print_ @format({primitive,ty,loc}) *) (* builtin names imported through _require *) ICBUILTINVAR of {primitive:BuiltinPrimitive.primitive, ty:ty, loc:loc} | (*% @format(con * loc) con *) (*% @prefix formatWithType_ @format(con * loc) con *) (*% @prefix print_ @format(con * loc) *) (* constructor *) ICCON of conInfo * loc | (*% @format(exn * loc) exn *) (*% @prefix formatWithType_ @format(exn * loc) exn *) (*% @prefix print_ @format(exn * loc) *) (* exception constructor *) ICEXN of exnInfo * loc | (*% @format({path, ty} * loc) path *) (*% @prefix formatWithType_ @format({path, ty} * loc) path *) (*% @prefix print_ @format({path, ty} * loc) *) (* extnernal exception constructor *) ICEXEXN of {path:path, ty:ty} * loc | (*% @format(exn * loc) "EXNCONSTRUCTOR" +d "(" exn ")" *) (*% @prefix formatWithType_ @format(exn * loc) "EXNCONSTRUCTOR" +d "(" exn ")" *) (*% @prefix print_ @format(exn * loc) *) (* exception constructor *) ICEXN_CONSTRUCTOR of exnInfo * loc | (*% @format({path, ty} * loc) "External EXNCONSTRUCTOR" +d "(" path ")" *) (*% @prefix formatWithType_ @format({path, ty} * loc) "External EXNCONSTRUCTOR" +d "(" path ")" *) (*% @prefix print_ @format({path, ty} * loc) *) (* exception constructor *) ICEXEXN_CONSTRUCTOR of {path:path, ty:ty} * loc | (*% @format(var * loc) var *) (*% @prefix formatWithType_ @format(var * loc) var *) (*% @prefix print_ @format(var * loc) *) (* overloaded primitives *) ICOPRIM of oprimInfo * loc | (*% @format(exp * ty * loc) exp *) (*% @prefix formatWithType_ @format(exp * ty * loc) 1[exp +1 ":" ty] *) (*% @prefix print_ @format(exp * ty * loc) *) ICTYPED of icexp * ty * loc | (*% @format({icexp, ty, loc,revealKey:key opt}) 1[icexp +1 ":>" ty "("opt(key)(,)")" ] *) (*% @prefix formatWithType_ @format({icexp, ty, loc,revealKey:key opt}) 1[icexp +1 ":>" ty "("opt(key)(,)")" ] *) (*% @prefix print_ @format({icexp, ty, loc,revealKey:key opt}) *) ICSIGTYPED of {icexp:icexp,ty:ty,loc:loc,revealKey:revealKey option} | (*% @format(funExp * argExp list * loc) 1[ "(" funExp +d list:seqList(argExp)("{", ",", "}") ")" ] *) (*% @prefix formatWithType_ @format(funExp * argExp list * loc) 1[ funExp +1 "{" list(argExp)(",") "}" ] *) (*% @prefix print_ @format(funExp * argExp list * loc) *) ICAPPM of icexp * icexp list * loc | (*% @format(funExp * argExp list * loc) 1[ funExp +1 "{" list(argExp)(",") "}" ] *) (*% @prefix formatWithType_ @format(funExp * argExp list * loc) 1[ funExp +1 "{" list(argExp)(",") "}" ] *) (*% @prefix print_ @format(funExp * argExp list * loc) *) ICAPPM_NOUNIFY of icexp * icexp list * loc | (*% @format(dec decs * exp exps * Loc) "let" 1[ decs:declList(dec)(+1,+1) ] +1 "in" 1[ +1 exps(exp)(";" +1) ] +1 "end" *) (*% @prefix formatWithType_ @format(dec decs * exp exps * Loc) "let" 1[ decs:declList(dec)(+1,+1) ] +1 "in" 1[ +1 exps(exp)(";" +1) ] +1 "end" *) (*% @prefix print_ @format(dec decs * exp exps * Loc) *) ICLET of icdecl list * icexp list * loc | (*% @format(cast casts * exp * Loc) "cast" 1[ casts:declList(cast)(+1,+1) ] +1 "in" 1[ +1 exp ] +1 "end" *) (*% @prefix formatWithType_ @format(cast casts * exp * Loc) "cast" 1[ casts:declList(cast)(+1,+1) ] +1 "in" 1[ +1 exp ] +1 "end" *) (*% @prefix print_ @format(cast casts * exp * Loc) *) ICTYCAST of tycast list * icexp * loc | (*% @format(field fields * loc) { fields:optionalList(field)("{",",","}") } @format:field(label*exp) label "=" exp *) (*% @prefix formatWithType_ @format(field fields * loc) fields:optionalList(field)("{",",","}") @format:field(label*exp) label "=" exp *) (*% @prefix print_ @format(field fields * loc) *) ICRECORD of (string * icexp) list * loc | (*% @format(exp * loc) 1[ "raise" +1 exp ] *) (*% @prefix formatWithType_ @format(exp * loc) 1[ "raise" +1 exp ] *) (*% @prefix print_ @format(exp * loc) *) ICRAISE of icexp * loc | (*% @format(exp * rule rules * loc) 1[ exp +1 "handle" 1[ +1 ] rules(rule)( +1 "|" +d) ] @format:rule(pat * exp) 1[ pat +d "=>" +1 exp ] *) (*% @prefix formatWithType_ @format(exp * rule rules * loc) 1[ exp +1 "handle" 1[ +1 ] rules(rule)( +1 "|" +d) ] @format:rule(pat * exp) 1[ pat +d "=>" +1 exp ] *) (*% @prefix print_ @format(exp * rule rules * loc) *) ICHANDLE of icexp * (icpat * icexp) list * loc | (*% @format(rule rules * loc) "fn" +d rules(rule)(+1 " |"+d) @format:rule({args:arg args,body:exp}) 1[ args:seqList(arg)("{",",","}") +d "=>" +1 exp ] *) (*% @prefix formatWithType_ @format(rule rules * loc) "fn" +d rules(rule)(+1 " |"+d) @format:rule({args:arg args,body:exp}) 1[ args:seqList(arg)("{",",","}") +d "=>" +1 exp ] *) (*% @prefix print_ @format(rule rules * loc) *) ICFNM of {args:icpat list, body:icexp} list * loc | (*% @format(arg args * exp * loc) "fn" +d 1[ "{" args(arg)(",") "}" +d "=>" +1 exp ] @format:arg(var * ty tys) var *) (*% @prefix formatWithType_ @format(arg args * exp * loc) "fn" +d 1[ "{" args(arg)(",") "}" +d "=>" +1 exp ] @format:arg(var * ty tys) var *) (*% @prefix print_ @format(arg args * exp * loc) *) ICFNM1 of (varInfo * ty list) list * icexp * loc | (*% @format(arg args * exp * loc) "fn poly" +d 1[ "{" args(arg)(",") "}" +d "=>" +1 exp ] @format:arg(var * ty) var *) (*% @prefix formatWithType_ @format(arg args * exp * loc) "fn poly" +d 1[ "{" args(arg)(",") "}" +d "=>" +1 exp ] @format:arg(var * ty) var *) (*% @prefix print_ @format(arg args * exp * loc) *) ICFNM1_POLY of (varInfo * ty) list * icexp * loc | (*% @format(exp exps * rule rules * caseKind *loc) "case" 1[+1 exps:seqList(exp)("(",",",")")] +1 "of" + rules(rule)(+1 " |" +) @format:rule({args:pat pats, body:exp}) 1[pats:seqList(pat)("(",",",")") +d "=>" +1 exp] *) (*% @prefix formatWithType_ @format(exp exps * rule rules * caseKind *loc) "case" 1[+1 exps:seqList(exp)("(",",",")")] +1 "of" + rules(rule)(+1 " |" +) @format:rule({args:pat pats, body:exp}) 1[pats:seqList(pat)("(",",",")") +d "=>" +1 exp] *) (*% @prefix print_ @format(exp exps * rule rules * caseKind *loc) *) ICCASEM of icexp list * {args:icpat list, body:icexp} list * PatternCalc.caseKind * loc (* primitive; caseKind added *) | (*% @format(exp * field fields * loc) 1[ "modify" +1 exp +1 1["#" fields:seqList(field)("{",",","}")] ] @format:field(label * exp) label "=" exp *) (*% @prefix formatWithType_ @format(exp * field fields * loc) 1[ "modify" +1 exp +1 1["#" fields:seqList(field)("{",",","}")] ] @format:field(label * exp) label "=" exp *) (*% @prefix print_ @format(exp * field fields * loc) *) ICRECORD_UPDATE of icexp * (string * icexp) list * loc | (*% @format(label * loc) "#>" label *) (*% @prefix formatWithType_ @format(label * loc) "#>" label *) (*% @prefix print_ @format(label * loc) *) ICRECORD_SELECTOR of string * loc | (*% @format(label * exp * loc) "#" label +1 exp *) (*% @prefix formatWithType_ @format(label * exp * loc) "#" label +1 exp *) (*% @prefix print_ @format(label * exp * loc) *) ICSELECT of string * icexp * loc | (*% @format(exp list * loc) 1[ list:seqList(exp)("("+1, +1";", +1")") ] *) (*% @prefix formatWithType_ @format(exp list * loc) list:seqList(exp)("(",";",")") *) (*% @prefix print_ @format(exp list * loc) *) ICSEQ of icexp list * loc | (*% @format(exp * loc) "_cast(" exp ")" *) (*% @prefix formatWithType_ @format(exp * loc) "_cast(" exp ")" *) (*% @prefix print_ @format(exp * loc) *) ICCAST of icexp * loc | (*% * @format(exp * ty * loc) 1[ exp +1 1["_import" +2 ":" + ty] ] *) (*% @prefix formatWithType_ * @format(exp * ty * loc) 1[ exp +1 1["_import" +2 ":" + ty] ] *) (*% @prefix print_ * @format(exp * ty * loc) *) ICFFIIMPORT of icexp * ffiTy * loc | (*% * @format(exp * ty * loc) 1[ exp +1 1["_export" +2 ":" + ty] ] *) (*% @prefix formatWithType_ * @format(exp * ty * loc) 1[ exp +1 1["_export" +2 ":" + ty] ] *) (*% @prefix print_ * @format(exp * ty * loc) *) ICFFIEXPORT of icexp * ffiTy * loc | (*% @format(ffiatrb * exp * arg list * ffiTy * loc) 1[ "_ffiappy(" exp "," +1 list:seqList(arg)("",",","") ")" ] *) (*% @prefix formatWithType_ @format(ffiatrb * exp * arg list * ffiTy * loc) 1[ "_ffiappy(" exp "," +1 list:seqList(arg)("",",","") ")" ] *) (*% @prefix print_ @format(ffiatrb * exp * arg list * ffiTy * loc) *) ICFFIAPPLY of Absyn.ffiAttributes option * icexp * ffiArg list * ffiTy * loc | (*% @format(str * ty * loc) N0{ "_sqlserver" + str + ":" + ty } *) (*% @prefix formatWithType_ @format(str * ty * loc) N0{ "_sqlserver" + str + ":" + ty } *) (*% @prefix print_ @format(str * ty * loc) *) ICSQLSERVER of string * ty * loc | (*% @format(pat * exp * loc) "_sqldbi" + pat + "in" + exp *) (*% @prefix formatWithType_ @format(pat * exp * loc) "_sqldbi" + pat + "in" + exp *) (*% @prefix print_ @format(pat * exp * loc) *) ICSQLDBI of icpat * icexp * loc and ffiArg = (*% @format(exp * ffiTy * loc) exp *) (*% @prefix formatWithType_ @format(exp * ffiTy * loc) exp *) (*% @prefix print_ @format(exp * ffiTy * loc) *) ICFFIARG of icexp * ffiTy * loc | (*% @format(ty * exp opt * loc) "_sizeof(" !N0{ ty ")" } *) (*% @prefix formatWithType_ @format(ty * exp opt * loc) "_sizeof(" !N0{ ty ")" } *) (*% @prefix print_ @format(ty * exp opt * loc) *) ICFFIARGSIZEOF of ty * icexp option * loc and icpat = (*% @format(loc) "?" *) (*% @prefix formatWithType_ @format(loc) "?" *) (*% @prefix print_ @format(loc) "?" *) ICPATERROR of loc | (*% @format(loc) "_" *) (*% @prefix formatWithType_ @format(loc) "_" *) (*% @prefix print_ @format(loc) "_" *) ICPATWILD of loc | (*% @format(var * loc) var *) (*% @prefix formatWithType_ @format(var * loc) var *) (*% @prefix print_ @format(var * loc) *) ICPATVAR of varInfo * loc | (*% @format(con * loc) con *) (*% @prefix formatWithType_ @format(con * loc) con *) (*% @prefix print_ @format(con * loc) *) (* datatype constructor *) ICPATCON of conInfo * loc | (*% @format(exn * loc) exn *) (*% @prefix formatWithType_ @format(exn * loc) exn *) (*% @prefix print_ @format(exn * loc) *) (* exception constructor *) ICPATEXN of exnInfo * loc | (*% @format({path, ty} * loc) path *) (*% @prefix formatWithType_ @format({path, ty} * loc) path *) (*% @prefix print_ @format({path, ty} * loc) *) ICPATEXEXN of {path:path, ty:ty} * loc | (*% @format(const * loc) const *) (*% @prefix formatWithType_ @format(const * loc) const *) (*% @prefix print_ @format(const * loc) *) (* constants *) ICPATCONSTANT of constant * loc | (*% @format({con, arg, loc}) 1[con +1 arg] *) (*% @prefix formatWithType_ @format({con, arg, loc}) 1[con +1 arg] *) (*% @prefix print_ @format({con, arg, loc}) *) ICPATCONSTRUCT of {con: icpat, arg: icpat, loc:loc} | (*% @format({flex, fields: field fields, loc}) fields:enclosedList(field)("{",",","}") @format:field(label*exp) 1[label "=" +1 exp] *) (*% @prefix formatWithType_ @format({flex, fields: field fields, loc}) fields:enclosedList(field)("{",",","}") @format:field(label*exp) 1[label "=" +1 exp] *) (*% @prefix print_ @format({flex, fields: field fields, loc}) *) ICPATRECORD of {flex: bool, fields: (string * icpat) list, loc: loc} | (*% @format({patVar, tyOpt:ty opt, pat, loc}) 1[ patVar +1 "as" +1 pat] *) (*% @prefix formatWithType_ @format({patVar, tyOpt:ty opt, pat, loc}) 1[ patVar +1 "as" +1 pat] *) (*% @prefix print_ @format({patVar, tyOpt:ty opt, pat, loc}) *) ICPATLAYERED of {patVar : varInfo, tyOpt: ty option, pat: icpat, loc:loc} | (*% @format(pat * ty * loc) 1[ pat +1 ":" + ty ] *) (*% @prefix formatWithType_ @format(pat * ty * loc) 1[ pat +1 ":" + ty ] *) (*% @prefix print_ @format(pat * ty * loc) *) ICPATTYPED of icpat * ty * loc and icdecl = (*% @format(scope * valbind valbinds * loc) 1[ "val" scope + valbinds(valbind)(+1 "and" +d) ] @format:valbind(pat * exp) pat + "=" +d exp *) (*% @prefix formatWithType_ @format(scope * valbind valbinds * loc) 1[ "val" scope + valbinds(valbind)(+1 "and" +d) ] @format:valbind(pat * exp) pat + "=" +1 exp *) (*% @prefix print_ @format(scope * valbind valbinds * loc) *) ICVAL of scopedTvars * (icpat * icexp) list * loc | (*% @format({guard:scope, funbinds:fundecl fundecls, loc}) 1[ "fun" scope + fundecls(fundecl)(+1 "and" +d) ] @format:fundecl({funVarInfo, tyList, rules:rule rules}) funVarInfo +d rules(rule)(~1[+1"|" + funVarInfo + ]) @format:rule({args:exp exps, body}) 1[exps(exp)(+d) +d "=" +1 body ] *) (*% @prefix formatWithType_ @format({guard:scope, funbinds:fundecl fundecls, loc}) 4[ "fun" scope + fundecls(fundecl)(+1 "and" +d) ] @format:fundecl({funVarInfo, tyList, rules:rule rules}) funVarInfo +d rules(rule)(~2[+1"|" + funVarInfo + ]) @format:rule({args:exp exps, body}) 1[exps(exp)(+2) +1 "=" +d body ] *) (*% @prefix print_ @format({guard:scope, funbinds:fundecl fundecls, loc}) *) ICDECFUN of { guard: scopedTvars, funbinds: { funVarInfo: varInfo, tyList: ty list, rules: {args: icpat list, body: icexp} list } list, loc: loc } | (*% @format({guard:scope, funVarInfo, tyList, rules: rule rules, loc}) 4[ "fun" scope + funVarInfo +d rules(rule)(~2[+1"|" + funVarInfo + ]) ] @format:rule({args:exp exps, body}) 1[exps(exp)(+2) +1 "=" +d body ] *) (*% @prefix formatWithType_ @format({guard:scope, funVarInfo, tyList, rules: rule rules, loc}) 4[ "fun" scope + funVarInfo +d rules(rule)(~2[+1"|" + funVarInfo + ]) ] @format:rule({args:exp exps, body}) 1[exps(exp)(+2) +1 "=" +d body ] *) (*% @prefix print_ @format({guard:scope, funVarInfo, tyList, rules: rule rules, loc}) *) ICNONRECFUN of { guard: scopedTvars, funVarInfo: varInfo, tyList: ty list, rules: {args: icpat list, body: icexp} list, loc: loc } | (*% @format({guard, recbinds:bind binds, loc}) "val rec" +d binds(bind)(+1) @format:bind({varInfo, tyList, body}) varInfo +d "=" +2 body *) (*% @prefix formatWithType_ @format({guard, recbinds:bind binds, loc}) "val rec" +d binds(bind)(+1) @format:bind({varInfo, tyList, body}) varInfo +d "=" +2 body *) (*% @prefix print_ @format({guard, recbinds:bind binds, loc}) *) ICVALREC of {guard: scopedTvars, recbinds: {varInfo: varInfo, tyList:ty list, body: icexp} list, loc: loc} | (*% @format(bind binds * loc) binds:optionalList(bind)("exception" +d, +1 "and",) @format:bind({exnInfo, loc}) exnInfo *) (*% @prefix formatWithType_ @format(bind binds * loc) binds:optionalList(bind)("exception" +d, +1 "and",) @format:bind({exnInfo, loc}) exnInfo *) (*% @prefix print_ @format(bind binds * loc) *) ICEXND of {exnInfo: exnInfo, loc: loc} list * loc | (*% @format({exnInfo, varInfo}* loc) 1["exception tag" +d exnInfo +d "=" +d varInfo] *) (*% @prefix formatWithType_ @format({exnInfo, varInfo}* loc) 1["exception tag" +d exnInfo +d "=" +d varInfo] *) (*% @prefix print_ @format({exnInfo, varInfo}* loc) *) ICEXNTAGD of {exnInfo: exnInfo, varInfo:varInfo} * loc | (*% @format(var * ty * loc) 1["export" +d "variable" + var +1 ":" + ty] *) (*% @prefix formatWithType_ @format(var * ty * loc) 1["export" +d "variable" + var +1 ":" + ty] *) (*% @prefix print_ @format(var * ty * loc) *) (* export variable declaration specified in _interface *) ICEXPORTVAR of varInfo * ty * loc | (*% @format(var * loc) 1["export" +d "(typed)" +d "variable" + var] *) (*% @prefix formatWithType_ @format(var * loc) 1["export" +d "(typed)" +d "variable" + var] *) (*% @prefix print_ @format(var * loc) *) (* export variable declaration specified in _interface *) ICEXPORTTYPECHECKEDVAR of varInfo * loc | (*% @format(var * ty * loc) 1["export" +d "variable" + var +1 ":" + ty] *) (*% @prefix formatWithType_ @format(var * ty * loc) 1["export" +d "variable" + var +1 ":" + ty] *) (*% @prefix print_ @format(var * ty * loc) *) (* export variable declaration specified in _interface *) ICEXPORTFUNCTOR of varInfo * ty * loc | (*% @format(exn * loc) "export" +d "exception" + exn *) (*% @prefix formatWithType_ @format(exn * loc) "export" +d "exception" + exn *) (*% @prefix print_ @format(exn * loc) *) (* export exception declaration specified in _interface *) ICEXPORTEXN of exnInfo * loc | (*% @format({path, ty} * loc) "extern" +d "var" + path *) (*% @prefix formatWithType_ @format({path, ty} * loc) "extern" +d "var" + path + ":" + ty *) (*% @prefix print_ @format({path, ty} * loc) *) (* temporary disable extern printing: 1["extern" + "var" + path +1 ":" + ty] 1["extern" + "var" + path +1 ":" + ty] *) (* import variable declaration specified in _interface *) ICEXTERNVAR of {path:path, ty:ty} * loc | (*% @format({path, ty:ty} * loc) 1["extern" + "exception" + path +1 ":" + ty] *) (*% @prefix formatWithType_ @format({path, ty:ty} * loc) 1["extern" + "exception" + path +1 ":" + ty] *) (*% @prefix print_ @format({path, ty:ty} * loc) *) (* import exception declaration specified in _interface *) ICEXTERNEXN of {path:path, ty:ty} * loc | (*% @format({boundtvars, id, path, overloadCase, loc}) 1["overloaded" + "var" + path + "(" id ")" +d "=" +d overloadCase] *) (*% @prefix formatWithType_ @format({boundtvars, id, path, overloadCase, loc}) 1["overloaded" + "var" + path + "(" id ")" +d "=" +d overloadCase] *) (*% @prefix print_ @format({boundtvars, id, path, overloadCase, loc}) *) (* overloaded name declaration specified in _interface *) ICOVERLOADDEF of {boundtvars:kindedTvar list, id:oprimId, path:path, overloadCase:overloadCase, loc:loc} | (*% @format(cast casts * decl decls * Loc) "cast" 1[ casts:declList(cast)(+1,+1) ] +1 "in" 1[ +1 decls(decl)(+1) ] +1 "end" *) (*% @prefix formatWithType_ @format(cast casts * decl decls * Loc) "cast" 1[ casts:declList(cast)(+1,+1) ] +1 "in" 1[ +1 decls(decl)(+1) ] +1 "end" *) (*% @prefix print_ @format(cast casts * decl decls * Loc) *) ICTYCASTDECL of tycast list * icdecl list * loc and overloadInstance = (*% @format(exp) exp *) (*% @prefix formatWithType_ @format(exp) exp *) (*% @prefix print_ @format(exp) *) INST_OVERLOAD of overloadCase | (*% @format({path, used, ty} * loc) path *) (*% @prefix formatWithType_ @format({path, used, ty} * loc) path *) (*% @prefix print_ @format({path, used, ty} * loc) *) INST_EXVAR of {path: path, used:bool ref, ty: ty} * loc | (*% @format({primitive, ty} * loc) primitive *) (*% @prefix formatWithType_ @format({primitive, ty} * loc) primitive *) (*% @prefix print_ @format({primitive, ty} * loc) *) INST_PRIM of {primitive: BuiltinPrimitive.primitive, ty: ty} * loc and ffiTy = (*% @format(attr * dom doms * ret rets * loc) "(" doms(dom)("," + ) ")" +d "->" 1[ +1 "(" rets(ret)("," + ) ")" ] *) (*% @prefix formatWithType_ @format(attr * dom doms * ret rets * loc) "(" doms(dom)("," + ) ")" +d "->" 1[ +1 "(" rets(ret)("," + ) ")" ] *) (*% @prefix print_ @format(attr * dom doms * ret rets * loc) *) FFIFUNTY of Absyn.ffiAttributes option * ffiTy list * ffiTy list * loc | (*% @format(field fields * loc) "{" 2[ 1 fields(field)("," +1) ] 1 "}" @format:field(label * ty) {label} +d ":" +d {ty} *) (*% @prefix formatWithType_ @format(field fields * loc) "{" 2[ 1 fields(field)("," +1) ] 1 "}" @format:field(label * ty) {label} +d ":" +d {ty} *) (*% @prefix print_ @format(field fields * loc) *) FFIRECORDTY of (string * ffiTy) list * loc | (*% @format(ty * loc) ty *) (*% @prefix formatWithType_ @format(ty * loc) ty *) (*% @prefix print_ @format(ty * loc) *) FFIBASETY of ty * loc withtype kindedTvar = (*% @format(tvar * tvarKind) tvar tvarKind *) (*% @prefix formatWithType_ @format(tvar * tvarKind) tvar tvarKind *) (*% @prefix print_ @format(tvar * tvarKind) tvar tvarKind()(,) *) tvar * tvarKind and conInfo = (*% @format({path, ty, id}) path *) (*% @prefix formatWithType_ @format({path, ty, id}) 1[ path "(" id ")" +1 ":" + ty] *) (*% @prefix print_ @format({path, ty, id}) *) (* ty is the type as a function *) {path: path, ty:ty, id: conId} and exnInfo = (*% @format({path, ty, id}) path *) (*% @prefix formatWithType_ @format({path, ty, id}) path "(" id ")" *) (*% @prefix print_ @format({path, ty, id}) *) (* ty is the type as a function *) {path: path, id: exnId, ty:ty} and conSpec = (*% @format(conEntry senv) senv(conEntry)(+1"|"+, ) @format:conEntry(ty opt) opt(ty)(+d "of" +d,) *) (*% @prefix formatWithType_ @format(conEntry senv) senv(conEntry)(+1"|"+, ) @format:conEntry(ty opt) opt(ty)(+d "of" +d,) *) (*% @prefix print_ @format(conEntry senv) senv:formatSmap(conEntry)(,,~2[+1"|"+],) @format:conEntry(ty opt) opt(ty()(,))(+1 "of" +,) *) (ty option) SEnv.map and varE = (*% @format(idstatus senv) "{" 1[ senv(idstatus)(1, ":"+) ] 1 "}" *) (*% @prefix formatWithType_ @format(idstatus senv) "{" 1[ senv(idstatus)(1, ":"+) ] 1 "}" *) (*% @prefix print_ @format(idstatus senv) senv:formatGenericSmap(idstatus)(\n,+1,) *) idstatus SEnv.map and overloadCase = (*% @format({tvar, expTy, matches: m ms, loc}) 1[+1 "case" +d tvar +1 "in" +d expTy +1 "of" 1[+1 ms(m)(~1[+1 "|" +d])] ] @format:m({instTy, instance}) instTy +d "=>" +d instance *) (*% @prefix formatWithType_ @format({tvar, expTy, matches: m ms, loc}) 1[+1 "case" +d tvar +1 "in" +d expTy +1 "of" 1[+1 ms(m)(~1[+1 "|" +d])] ] @format:m({instTy, instance}) instTy +d "=>" +d instance *) (*% @prefix print_ @format({tvar, expTy, matches: m ms, loc}) *) {tvar: tvar, expTy: ty, matches: {instTy: ty, instance: overloadInstance} list, loc: loc} and tycast = (*% @format({from, to}) 1[ from +d "to" +d to ] *) (*% @prefix formatWithType_ @format({from, to}) 1[ from +d "to" +d to ] *) (*% @prefix print_ @format({from, to}) *) {from:tfun, to:tfun} and scopedTvars = (*% @format(ev evs:enclosedList) {evs(ev)("(", ",", ")")} @format:ev(tvar * tvarKind) tvar tvarKind *) (*% @prefix formatWithType_ @format(ev evs:enclosedList) {evs(ev)("(", ",", ")")} @format:ev(tvar * tvarKind) tvar tvarKind *) (*% @prefix print_ @format(ev evs:enclosedList) *) (tvar * tvarKind) list (* add the following to keep the location of the icdecl list without the extern decls and export decls. This is needed to print a proper error message *) type topdecl = {decls:icdecl list, loc:loc} fun mkTfv (tfvkind:tfunkind) = ref tfvkind fun tfunFormals tfun = case tfun of TFUN_DEF {formals,...} => formals | TFUN_VAR (ref tfv) => (case tfv of TFV_SPEC {formals,...} => formals | TFV_DTY {formals,...} => formals | TFUN_DTY {formals,...} => formals | REALIZED {tfun,...} => tfunFormals tfun | INSTANTIATED {tfun,...} => tfunFormals tfun | FUN_DTY {tfun,...} => tfunFormals tfun ) fun tfunLiftedTys tfun = case tfun of TFUN_DEF {iseq,formals=nil,realizerTy=TYVAR (tvar as {lifted=true,...})} => TvarSet.singleton tvar | TFUN_DEF _ => emptyLiftedTys | TFUN_VAR (ref tfv) => (case tfv of TFV_SPEC _ => emptyLiftedTys | TFV_DTY {liftedTys,...} => liftedTys | TFUN_DTY {liftedTys,...} => liftedTys | REALIZED {tfun,...} => tfunLiftedTys tfun | INSTANTIATED {tfun,...} => tfunLiftedTys tfun | FUN_DTY {tfun,...} => tfunLiftedTys tfun ) fun runtimeTyOfIty ity = case ity of TYWILD => NONE | TYERROR => NONE | TYVAR (tvar as {lifted,...}) => if lifted then SOME (LIFTEDty tvar) else NONE | TYRECORD _ => SOME (BUILTINty BuiltinTypeNames.BOXEDty) | TYCONSTRUCT {tfun, args} => tfunRuntimeTy tfun | TYFUNM _ => SOME (BUILTINty BuiltinTypeNames.BOXEDty) | TYPOLY _ => NONE | INFERREDTY _ => NONE and tfunRuntimeTy tfun = case tfun of TFUN_DEF {realizerTy,...} => runtimeTyOfIty realizerTy | TFUN_VAR (ref tfv) => (case tfv of TFV_SPEC _ => NONE | TFV_DTY _ => NONE | TFUN_DTY {runtimeTy,...} => SOME runtimeTy | REALIZED {tfun,...} => tfunRuntimeTy tfun | INSTANTIATED {tfun,...} => tfunRuntimeTy tfun | FUN_DTY {tfun,...} => NONE ) fun tvarIseq {name, id, eq, lifted} = case eq of Absyn.EQ => true | Absyn.NONEQ => false fun tfunIseq tfun = case tfun of TFUN_DEF {iseq,...} => iseq | TFUN_VAR (ref tfv) => (case tfv of TFV_SPEC {iseq,...} => iseq | TFUN_DTY {iseq,...} => iseq | TFV_DTY {iseq,...} => iseq | REALIZED {tfun,...} => tfunIseq tfun | INSTANTIATED {tfun, ...} => tfunIseq tfun | FUN_DTY {tfun,...} => tfunIseq tfun ) fun tfunkindId tfunkind = (case tfunkind of TFV_SPEC {id,...} => id | TFV_DTY {id,...} => id | TFUN_DTY {id,...} => id | REALIZED {id,...} => id | INSTANTIATED {tfunkind,...} => tfunkindId tfunkind | FUN_DTY {tfun,...} => tfunId tfun ) handle exn => raise exn and tfvId tfv = case !tfv of TFV_SPEC {id,...} => id | TFV_DTY {id,...} => id | TFUN_DTY {id,...} => id | REALIZED {tfun,...} => raise bug "tfvid: ReALIZED" | INSTANTIATED {tfun,...} => tfunId tfun | FUN_DTY {tfun,...} => raise bug "FUN_DTY" and tfunId tfun = case tfun of TFUN_DEF _ => raise bug "TFUN_DEF to TFUNID" | TFUN_VAR tfv => (tfvId tfv handle exn => raise exn) fun tfunArity tfun = List.length (tfunFormals tfun) fun pruneTfun tfun = case tfun of TFUN_DEF _ => tfun | TFUN_VAR (ref tfunkind) => (case tfunkind of REALIZED {tfun,...} => pruneTfun tfun | INSTANTIATED {tfun,...} => pruneTfun tfun | _ => tfun ) fun derefTfun tfun = case tfun of TFUN_DEF _ => tfun | TFUN_VAR (ref tfunkind) => (case tfunkind of REALIZED {tfun,...} => derefTfun tfun | _ => tfun ) fun liftedTysUnion (map1:liftedTys, map2:liftedTys) = TvarSet.union (map1, map2) fun liftedTysSingleton tvar = TvarSet.singleton tvar : liftedTys fun liftedTysToTyvars (liftedTys:liftedTys) = TvarSet.listItems liftedTys fun liftedTysToTy (liftedTys:liftedTys) = map (fn tv => TYVAR(tv)) (liftedTysToTyvars liftedTys) fun getLocExp icexp = case icexp of ICERROR loc => loc | ICCONSTANT (constant, loc) => loc | ICGLOBALSYMBOL (string,globalSymbolKind, loc) => loc | ICVAR (varInfo, loc) => loc | ICEXVAR ({path, ty},loc) => loc | ICEXVAR_TOBETYPED ({path, id}, loc) => loc | ICBUILTINVAR {primitive, ty, loc} => loc | ICCON (conInfo, loc) => loc | ICEXN (exnInfo, loc) => loc | ICEXN_CONSTRUCTOR (exnInfo, loc) => loc | ICEXEXN_CONSTRUCTOR (_, loc) => loc | ICEXEXN ({path, ty}, loc) => loc | ICOPRIM (oprimInfo, loc) => loc | ICTYPED (icexp, ty, loc) => loc | ICSIGTYPED {icexp, ty, loc, revealKey} => loc | ICAPPM (icexp, icexpList, loc) => loc | ICAPPM_NOUNIFY (icexp, icexpList, loc) => loc | ICLET (icdeclList, icexpList, loc) => loc | ICTYCAST (tycastList, icexpList, loc) => loc | ICRECORD (fields, loc) => loc | ICRAISE (icexp, loc) => loc | ICHANDLE (icexp, rules, loc) => loc | ICFNM (rules, loc) => loc | ICFNM1 (args, exp, loc) => loc | ICFNM1_POLY (args, exp, loc) => loc | ICCASEM (icexpList, rules, kind, loc) => loc | ICRECORD_UPDATE (icexp, fieds, loc) => loc | ICRECORD_SELECTOR (string, loc) => loc | ICSELECT (string, icexp, loc) => loc | ICSEQ (icexpList, loc) => loc | ICCAST (icexp, loc) => loc | ICFFIIMPORT (icexp, ffiTy, loc) => loc | ICFFIEXPORT (icexp, ffiTy, loc) => loc | ICFFIAPPLY (ffiAttributesOption, icexp, ffiArgList, ffiTy, loc) => loc | ICSQLSERVER (stringIcexpList, ty, loc) => loc | ICSQLDBI (icpat1, icexp2, loc) => loc fun getLeftLocExp icexp = #1 (getLocExp icexp) fun getRightLocExp icexp = #2 (getLocExp icexp) fun getLocPat pat = case pat of ICPATERROR loc => loc | ICPATWILD loc => loc | ICPATVAR (varInfo, loc) => loc | ICPATCON (conInfo, loc) => loc | ICPATEXN (exnInfo, loc) => loc | ICPATEXEXN ({path, ty}, loc) => loc | ICPATCONSTANT (constant, loc) => loc | ICPATCONSTRUCT {con, arg, loc} => loc | ICPATRECORD {flex, fields, loc} => loc | ICPATLAYERED {patVar, tyOpt, pat, loc} => loc | ICPATTYPED (icpat, ty, loc) => loc fun getRuleLocM nil = raise bug "empty rule in getRuleLocM" | getRuleLocM [{args=pat::_,body=exp}] = Loc.mergeLocs (getLocPat pat, getLocExp exp) | getRuleLocM rules = let val pat1 = case rules of {args=pat1::_, body}:: _ => pat1 | _ => raise bug "empty pattern in rules\ \ (typeinference/main/TypeInferCore.sml)" val {args, body=exp2} = List.last rules in Loc.mergeLocs (getLocPat pat1, getLocExp exp2) end fun getLeftLocPat pat = #1 (getLocPat pat) fun getRightLocPat pat = #2 (getLocPat pat) fun getLocDec dec = case dec of ICVAL (scopedTvars, icpatIcexpList, loc) => loc | ICDECFUN {guard,funbinds,loc} => loc | ICNONRECFUN {loc,...} => loc | ICVALREC {guard, recbinds,loc} => loc | ICEXND (exdecls, loc) => loc | ICEXNTAGD (extagdecls, loc) => loc | ICEXPORTVAR (varInfo, ty, loc) => loc | ICEXPORTTYPECHECKEDVAR (varInfo, loc) => loc | ICEXPORTFUNCTOR (varInfo, ty, loc) => loc | ICEXPORTEXN (exnInfo, loc) => loc | ICEXTERNVAR ({path, ty}, loc) => loc | ICEXTERNEXN ({path, ty}, loc) => loc | ICTYCASTDECL (tycastList, icdeclList, loc) => loc | ICOVERLOADDEF {boundtvars, id, path, overloadCase, loc} => loc fun newICVar() = let fun gensym () = tempVarNamePrefix ^ Gensym.gensym() val newVarId = VarID.generate() in {path=[gensym()], id=newVarId} end fun setVersion (path, version) = case version of NONE => path | SOME i => path @ [Int.toString i] fun incVersion version = case version of NONE => SOME 0 | SOME i => SOME (i + 1) end end smlsharp-1.2.0/src/compiler/types/main/IDCalc.ppg.smi0000644 000000000000000000004054112050661606022556 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../util/main/TermFormat.smi" _require "../../util/main/SmlppgUtil.ppg.smi" _require "../../util/main/gensym.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../builtin2/main/BuiltinPrimitive.ppg.smi" _require "../../builtin2/main/BuiltinTypeNames.ppg.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../patterncalc/main/PatternCalc.ppg.smi" _require "tvarMap.smi" _require "Types.ppg.smi" structure IDCalc = struct type path = string list type typId = TypID.id type conId = ConID.id type varId = VarID.id type exnId = ExnID.id type oprimId = OPrimID.id type tvarId = TvarID.id type revealKey = RevealID.id type tvar = {name:string, id:tvarId, eq:Absyn.eq, lifted:bool} type liftedTys = TvarSet.set type formals = tvar list type varInfo = {path: path, id: varId} type oprimInfo = {path: path, id: oprimId} type constant = Absyn.constant type typesTy = Types.ty datatype runtimeTy = BUILTINty of BuiltinTypeNames.bty | LIFTEDty of tvar datatype ty = TYWILD | TYERROR | TYVAR of tvar | TYRECORD of ty LabelEnv.map | TYCONSTRUCT of {tfun: tfun, args:ty list} | TYFUNM of ty list * ty | TYPOLY of (tvar * tvarKind) list * ty | INFERREDTY of typesTy and tvarKind = UNIV | REC of ty LabelEnv.map and tfun = TFUN_DEF of {iseq:bool, formals:formals, realizerTy:ty} | TFUN_VAR of tfunkind ref and tfunkind = TFUN_DTY of {id:typId, iseq:bool, formals:formals, originalPath:path, conSpec:(ty option) SEnv.map, runtimeTy:runtimeTy, liftedTys:liftedTys, dtyKind:dtyKind } | TFV_SPEC of {name:string, id:typId, iseq:bool, formals:formals} | TFV_DTY of {id:typId, name:string, iseq:bool, formals:formals, conSpec:(ty option) SEnv.map, liftedTys:liftedTys} | REALIZED of {id:typId, tfun:tfun} | INSTANTIATED of {tfunkind:tfunkind, tfun:tfun} | FUN_DTY of {tfun:tfun, originalPath:path, varE:idstatus SEnv.map, formals:formals, conSpec:(ty option) SEnv.map, liftedTys:liftedTys} and dtyKind = FUNPARAM | DTY | DTY_INTERFACE | OPAQUE of {tfun:tfun, revealKey:revealKey} | BUILTIN of BuiltinTypeNames.bty and idstatus = IDVAR of varId | IDVAR_TYPED of {id:varId, ty:ty} | IDEXVAR of {path:path, ty:ty, used:bool ref, loc:Loc.loc, version:int option, internalId:varId option} | IDEXVAR_TOBETYPED of {path:path, id:varId, loc:Loc.loc, version:int option} | IDBUILTINVAR of {primitive: BuiltinPrimitive.primitive, ty:ty} | IDCON of {id:conId, ty:ty} | IDEXN of {id:exnId, ty:ty} | IDEXNREP of {id:exnId, ty:ty} | IDEXEXN of {path:path, ty:ty, used: bool ref, loc:Loc.loc, version:int option} | IDEXEXNREP of {path:path, ty:ty, used:bool ref, loc:Loc.loc, version:int option} | IDOPRIM of {id:oprimId, overloadDef:icdecl, used:bool ref, loc:Loc.loc} | IDSPECVAR of ty | IDSPECEXN of ty | IDSPECCON and icexp = ICERROR of Loc.loc | ICCONSTANT of constant * Loc.loc | ICGLOBALSYMBOL of string * Absyn.globalSymbolKind * Loc.loc | ICVAR of varInfo * Loc.loc | ICEXVAR of {path:path, ty:ty} * Loc.loc | ICEXVAR_TOBETYPED of {path:path, id:varId} * Loc.loc | ICBUILTINVAR of {primitive:BuiltinPrimitive.primitive, ty:ty, loc:Loc.loc} | ICCON of {path: path, ty:ty, id: conId} * Loc.loc | ICEXN of {path: path, id: exnId, ty:ty} * Loc.loc | ICEXEXN of {path:path, ty:ty} * Loc.loc | ICEXN_CONSTRUCTOR of {path: path, id: exnId, ty:ty} * Loc.loc | ICEXEXN_CONSTRUCTOR of {path:path, ty:ty} * Loc.loc | ICOPRIM of oprimInfo * Loc.loc | ICTYPED of icexp * ty * Loc.loc | ICSIGTYPED of {icexp:icexp,ty:ty,loc:Loc.loc,revealKey:revealKey option} | ICAPPM of icexp * icexp list * Loc.loc | ICAPPM_NOUNIFY of icexp * icexp list * Loc.loc | ICLET of icdecl list * icexp list * Loc.loc | ICTYCAST of {from:tfun, to:tfun} list * icexp * Loc.loc | ICRECORD of (string * icexp) list * Loc.loc | ICRAISE of icexp * Loc.loc | ICHANDLE of icexp * (icpat * icexp) list * Loc.loc | ICFNM of {args:icpat list, body:icexp} list * Loc.loc | ICFNM1 of (varInfo * ty list) list * icexp * Loc.loc | ICFNM1_POLY of (varInfo * ty) list * icexp * Loc.loc | ICCASEM of icexp list * {args:icpat list, body:icexp} list * PatternCalc.caseKind * Loc.loc | ICRECORD_UPDATE of icexp * (string * icexp) list * Loc.loc | ICRECORD_SELECTOR of string * Loc.loc | ICSELECT of string * icexp * Loc.loc | ICSEQ of icexp list * Loc.loc | ICCAST of icexp * Loc.loc | ICFFIIMPORT of icexp * ffiTy * Loc.loc | ICFFIEXPORT of icexp * ffiTy * Loc.loc | ICFFIAPPLY of Absyn.ffiAttributes option * icexp * ffiArg list * ffiTy * Loc.loc | ICSQLSERVER of string * ty * Loc.loc | ICSQLDBI of icpat * icexp * Loc.loc and ffiArg = ICFFIARG of icexp * ffiTy * Loc.loc | ICFFIARGSIZEOF of ty * icexp option * Loc.loc and icpat = ICPATERROR of Loc.loc | ICPATWILD of Loc.loc | ICPATVAR of varInfo * Loc.loc | ICPATCON of {path: path, ty:ty, id: conId} * Loc.loc | ICPATEXN of {path: path, id: exnId, ty:ty} * Loc.loc | ICPATEXEXN of {path:path, ty:ty} * Loc.loc | ICPATCONSTANT of constant * Loc.loc | ICPATCONSTRUCT of {con: icpat, arg: icpat, loc:Loc.loc} | ICPATRECORD of {flex: bool, fields: (string * icpat) list, loc:Loc.loc} | ICPATLAYERED of {patVar : varInfo, tyOpt: ty option, pat: icpat, loc:Loc.loc} | ICPATTYPED of icpat * ty * Loc.loc and icdecl = ICVAL of (tvar * tvarKind) list * (icpat * icexp) list * Loc.loc | ICDECFUN of { guard: (tvar * tvarKind) list, funbinds: { funVarInfo: varInfo, tyList:ty list, rules: {args: icpat list, body: icexp} list } list, loc:Loc.loc } | ICNONRECFUN of { guard: (tvar * tvarKind) list, funVarInfo: varInfo, tyList: ty list, rules: {args: icpat list, body: icexp} list, loc:Loc.loc } | ICVALREC of {guard: (tvar * tvarKind) list, recbinds: {varInfo: varInfo, tyList:ty list, body: icexp} list, loc:Loc.loc} | ICEXND of {exnInfo: {path: path, id: exnId, ty:ty}, loc:Loc.loc} list * Loc.loc | ICEXNTAGD of {exnInfo: {path: path, id: exnId, ty:ty}, varInfo:varInfo} * Loc.loc | ICEXPORTVAR of varInfo * ty * Loc.loc | ICEXPORTTYPECHECKEDVAR of varInfo * Loc.loc | ICEXPORTFUNCTOR of varInfo * ty * Loc.loc | ICEXPORTEXN of {path: path, id: exnId, ty:ty} * Loc.loc | ICEXTERNVAR of {path:path, ty:ty} * Loc.loc | ICEXTERNEXN of {path:path, ty:ty} * Loc.loc | ICTYCASTDECL of {from:tfun, to:tfun} list * icdecl list * Loc.loc | ICOVERLOADDEF of {boundtvars:(tvar * tvarKind) list, id:oprimId,path:path, overloadCase: {tvar: tvar, expTy: ty, matches: {instTy: ty, instance: overloadInstance} list, loc: Loc.loc}, loc:Loc.loc} and overloadInstance = INST_OVERLOAD of {tvar: tvar, expTy: ty, matches: {instTy: ty, instance: overloadInstance} list, loc: Loc.loc} | INST_EXVAR of {path: path, used:bool ref, ty: ty} * Loc.loc | INST_PRIM of {primitive: BuiltinPrimitive.primitive, ty: ty} * Loc.loc and ffiTy = FFIFUNTY of Absyn.ffiAttributes option * ffiTy list * ffiTy list * Loc.loc | FFIRECORDTY of (string * ffiTy) list * Loc.loc | FFIBASETY of ty * Loc.loc type kindedTvar = tvar * tvarKind type conInfo = {path: path, ty:ty, id: conId} type exnInfo = {path: path, id: exnId, ty:ty} type conSpec = (ty option) SEnv.map type varE = idstatus SEnv.map type tycast = {from:tfun, to:tfun} type scopedTvars = kindedTvar list type overloadCase = {tvar: tvar, expTy: ty, matches: {instTy: ty, instance: overloadInstance} list, loc: Loc.loc} type topdecl = {decls:icdecl list, loc:Loc.loc} val derefTfun : tfun -> tfun val emptyLiftedTys : liftedTys val formatEnclosedTvarMap : ('a -> TermFormat.format) * TermFormat.format * TermFormat.format * TermFormat.format * TermFormat.format -> 'a TvarMap.map -> TermFormat.format val formatEnclosedTvarSet : TermFormat.format * TermFormat.format * TermFormat.format -> TvarSet.set -> TermFormat.format val formatWithType_conId : conId -> TermFormat.format val formatWithType_conInfo : conInfo -> TermFormat.format val formatWithType_conSpec : conSpec -> TermFormat.format val formatWithType_constant : constant -> TermFormat.format val formatWithType_dtyKind : dtyKind -> TermFormat.format val formatWithType_exnId : exnId -> TermFormat.format val formatWithType_exnInfo : exnInfo -> TermFormat.format val formatWithType_ffiArg : ffiArg -> TermFormat.format val formatWithType_ffiTy : ffiTy -> TermFormat.format val formatWithType_formals : formals -> TermFormat.format val formatWithType_icdecl : icdecl -> TermFormat.format val formatWithType_icexp : icexp -> TermFormat.format val formatWithType_icpat : icpat -> TermFormat.format val formatWithType_idstatus : idstatus -> TermFormat.format val formatWithType_kindedTvar : kindedTvar -> TermFormat.format val formatWithType_liftedTys : liftedTys -> TermFormat.format val formatWithType_oprimId : oprimId -> TermFormat.format val formatWithType_oprimInfo : oprimInfo -> TermFormat.format val formatWithType_overloadCase : overloadCase -> TermFormat.format val formatWithType_overloadInstance : overloadInstance -> TermFormat.format val formatWithType_path : path -> TermFormat.format val formatWithType_revealKey : revealKey -> TermFormat.format val formatWithType_scopedTvars : scopedTvars -> TermFormat.format val formatWithType_tfun : tfun -> TermFormat.format val formatWithType_tfunkind : tfunkind -> TermFormat.format val formatWithType_tvar : tvar -> TermFormat.format val formatWithType_tvarId : tvarId -> TermFormat.format val formatWithType_tvarKind : tvarKind -> TermFormat.format val formatWithType_ty : ty -> TermFormat.format val formatWithType_tycast : tycast -> TermFormat.format val formatWithType_typId : typId -> TermFormat.format val formatWithType_varE : varE -> TermFormat.format val formatWithType_varId : varId -> TermFormat.format val formatWithType_varInfo : varInfo -> TermFormat.format val format_conId : conId -> TermFormat.format val format_conInfo : conInfo -> TermFormat.format val format_conSpec : conSpec -> TermFormat.format val format_constant : constant -> TermFormat.format val format_dtyKind : dtyKind -> TermFormat.format val format_exnId : exnId -> TermFormat.format val format_exnInfo : exnInfo -> TermFormat.format val format_ffiArg : ffiArg -> TermFormat.format val format_ffiTy : ffiTy -> TermFormat.format val format_formals : formals -> TermFormat.format val format_icdecl : icdecl -> TermFormat.format val format_icexp : icexp -> TermFormat.format val format_icpat : icpat -> TermFormat.format val format_idstatus : idstatus -> TermFormat.format val format_kindedTvar : kindedTvar -> TermFormat.format val format_liftedTys : liftedTys -> TermFormat.format val format_oprimId : oprimId -> TermFormat.format val format_oprimInfo : oprimInfo -> TermFormat.format val format_overloadCase : overloadCase -> TermFormat.format val format_overloadInstance : overloadInstance -> TermFormat.format val format_path : path -> TermFormat.format val format_revealKey : revealKey -> TermFormat.format val format_scopedTvars : scopedTvars -> TermFormat.format val format_tfun : tfun -> TermFormat.format val format_tfunkind : tfunkind -> TermFormat.format val format_tvar : tvar -> TermFormat.format val format_tvarId : tvarId -> TermFormat.format val format_tvarKind : tvarKind -> TermFormat.format val format_ty : ty -> TermFormat.format val format_tycast : tycast -> TermFormat.format val format_typId : typId -> TermFormat.format val format_varE : varE -> TermFormat.format val format_varId : varId -> TermFormat.format val format_varInfo : varInfo -> TermFormat.format val getLeftLocExp : icexp -> Loc.pos val getLeftLocPat : icpat -> Loc.pos val getLocDec : icdecl -> Loc.loc val getLocExp : icexp -> Loc.loc val getLocPat : icpat -> Loc.loc val getRightLocExp :icexp -> Loc.pos val getRightLocPat : icpat -> Loc.pos val getRuleLocM : {args:icpat list, body:icexp} list -> Loc.loc val incVersion: int option -> int option val liftedTysSingleton : TvarSet.item -> liftedTys val liftedTysToTy : liftedTys -> ty list val liftedTysToTyvars : liftedTys -> TvarSet.item list val liftedTysUnion : liftedTys * liftedTys -> TvarSet.set val mkTfv : tfunkind -> tfunkind ref val newICVar : unit -> varInfo val print_conId : conId -> TermFormat.format val print_exnId : exnId -> TermFormat.format val print_oprimId : oprimId -> TermFormat.format val print_constant : constant -> TermFormat.format val print_formals : formals -> TermFormat.format val print_liftedTys : liftedTys -> TermFormat.format val print_path : path -> TermFormat.format val print_oprimInfo : oprimInfo -> TermFormat.format val print_revealKey : revealKey -> TermFormat.format val print_tvar : tvar -> TermFormat.format val print_tvarId : tvarId -> TermFormat.format val print_varId : varId -> TermFormat.format val print_typId : typId -> TermFormat.format val print_varInfo : varInfo -> TermFormat.format val print_conInfo : TermFormat.format * TermFormat.format -> conInfo -> TermFormat.format val print_conSpec : TermFormat.format * TermFormat.format -> conSpec -> TermFormat.format val print_dtyKind : TermFormat.format * TermFormat.format -> dtyKind -> TermFormat.format val print_exnInfo : TermFormat.format * TermFormat.format -> exnInfo -> TermFormat.format val print_ffiArg : TermFormat.format * TermFormat.format -> ffiArg -> TermFormat.format val print_ffiTy : TermFormat.format * TermFormat.format -> ffiTy -> TermFormat.format val print_icdecl : TermFormat.format * TermFormat.format -> icdecl -> TermFormat.format val print_icexp : TermFormat.format * TermFormat.format -> icexp -> TermFormat.format val print_icpat : TermFormat.format * TermFormat.format -> icpat -> TermFormat.format val print_idstatus : TermFormat.format * TermFormat.format -> idstatus -> TermFormat.format val print_kindedTvar : TermFormat.format * TermFormat.format -> kindedTvar -> TermFormat.format val print_overloadCase : TermFormat.format * TermFormat.format -> overloadCase -> TermFormat.format val print_overloadInstance : TermFormat.format * TermFormat.format -> overloadInstance -> TermFormat.format val print_scopedTvars : TermFormat.format * TermFormat.format -> scopedTvars -> TermFormat.format val print_tfun : TermFormat.format * TermFormat.format -> tfun -> TermFormat.format val print_tfunkind : TermFormat.format * TermFormat.format -> tfunkind -> TermFormat.format val print_tvarKind : TermFormat.format * TermFormat.format -> tvarKind -> TermFormat.format val print_ty : TermFormat.format * TermFormat.format -> ty -> TermFormat.format val print_tycast : TermFormat.format * TermFormat.format -> tycast -> TermFormat.format val print_varE : TermFormat.format * TermFormat.format -> varE -> TermFormat.format val pruneTfun : tfun -> tfun val setVersion : (string list * int option) -> string list val tfunArity : tfun -> int val tfunFormals : tfun -> formals val tfunId : tfun -> typId val tfunIseq : tfun -> bool val tfunLiftedTys : tfun -> liftedTys val runtimeTyOfIty : ty -> runtimeTy option val tfunRuntimeTy : tfun -> runtimeTy option val tfunkindId : tfunkind -> typId val tfvId : tfunkind ref -> typId val tvarIseq : tvar -> bool end smlsharp-1.2.0/src/compiler/types/main/IDCalcUtils.smi0000644 000000000000000000000110112050661606022777 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "VarMap.smi" _require "Types.ppg.smi" _require "IDCalc.ppg.smi" structure IDCalcUtils = struct val copyPat : IDCalc.icpat -> IDCalc.icpat val copyExp : IDCalc.icexp -> IDCalc.icexp val copyDecl : IDCalc.icdecl -> IDCalc.icdecl val copyDeclList : IDCalc.icdecl list -> IDCalc.icdecl list end smlsharp-1.2.0/src/compiler/types/main/IDCalcUtils.sml0000644 000000000000000000003176112050661606023021 0ustar00rootroot0000000 0000000 structure IDCalcUtils = struct local exception DuplicateVar structure IC = IDCalc type varMap = VarID.id VarID.Map.map val print = fn s => if !Control.debugPrint then print s else () fun printPath path = print (String.concatWith "." path) fun bug s = Control.Bug ("IDCalcUtils: " ^ s) fun newId varMap id = let val newId = VarID.generate() in (VarID.Map.insertWith (fn _ => raise DuplicateVar) (varMap, id, newId), newId) end fun newVar varMap {path,id} = let val (varMap, newId) = newId varMap id handle DuplicateVar => (printPath path; print "\n"; raise bug "duplicate id in IDCalcUtils" ) in (varMap, {path=path, id=newId}) end fun newVars varMap vars = let val (varMap, varsRev) = foldl (fn (var, (varMap, varsRev)) => let val (varMap, var) = newVar varMap var in (varMap, var::varsRev) end ) (varMap, nil) vars in (varMap, List.rev varsRev) end fun copyPat varMap icpat = case icpat of IC.ICPATERROR _ => (varMap, icpat) | IC.ICPATWILD _ => (varMap, icpat) | IC.ICPATVAR (var, loc) => let val (varMap, newVar) = newVar varMap var in (varMap, IC.ICPATVAR (newVar, loc)) end | IC.ICPATCON _ => (varMap, icpat) | IC.ICPATEXN _ => (varMap, icpat) | IC.ICPATEXEXN _ => (varMap, icpat) | IC.ICPATCONSTANT _ => (varMap, icpat) | IC.ICPATCONSTRUCT {con:IC.icpat, arg:IC.icpat, loc} => let val (varMap, con) = copyPat varMap con val (varMap, arg) = copyPat varMap arg in (varMap, IC.ICPATCONSTRUCT {con=con, arg=arg, loc=loc}) end | IC.ICPATRECORD {flex, fields:(string * IC.icpat) list, loc} => let val (varMap, fieldsRev) = foldl (fn ((label, pat), (varMap, fieldsRev)) => let val (varMap, pat) = copyPat varMap pat in (varMap, (label, pat)::fieldsRev) end ) (varMap, nil) fields in (varMap, IC.ICPATRECORD {flex=flex, fields=List.rev fieldsRev, loc=loc}) end | IC.ICPATLAYERED {patVar:IC.varInfo, tyOpt, pat, loc} => let val (varMap, patVar) = newVar varMap patVar val (varMap, pat) = copyPat varMap pat in (varMap, IC.ICPATLAYERED {patVar=patVar, tyOpt=tyOpt, pat=pat, loc=loc}) end | IC.ICPATTYPED (icpat, ty, loc) => let val (varMap, icpat) = copyPat varMap icpat in (varMap, IC.ICPATTYPED (icpat, ty, loc)) end fun copyPats varMap pats = let val (varMap,patsRev) = foldl (fn (pat, (varMap,patsRev)) => let val (varMap, pat) = copyPat varMap pat in (varMap, pat::patsRev) end ) (varMap, nil) pats in (varMap, List.rev patsRev) end fun evalVar varMap {path, id} = case VarID.Map.find(varMap, id) of SOME id => {path=path, id=id} | NONE => {path=path, id=id} fun copyExp varMap exp = let fun copy exp = copyExp varMap exp in case exp of IC.ICERROR _ => exp | IC.ICCONSTANT _ => exp | IC.ICGLOBALSYMBOL _ => exp | IC.ICVAR (var,loc) => IC.ICVAR (evalVar varMap var,loc) | IC.ICEXVAR _ => exp | IC.ICEXVAR_TOBETYPED (var,loc) => IC.ICEXVAR_TOBETYPED (evalVar varMap var,loc) | IC.ICBUILTINVAR _ => exp | IC.ICCON _ => exp | IC.ICEXN _ => exp | IC.ICEXEXN _ => exp | IC.ICEXN_CONSTRUCTOR _ => exp | IC.ICEXEXN_CONSTRUCTOR _ => exp | IC.ICOPRIM _ => exp | IC.ICTYPED (icexp, ty, loc) => IC.ICTYPED (copy icexp, ty,loc) | IC.ICSIGTYPED {icexp,ty,loc,revealKey} => IC.ICSIGTYPED {icexp=copy icexp, ty=ty, loc=loc, revealKey=revealKey} | IC.ICAPPM (icexp, icexpList, loc) => IC.ICAPPM (copy icexp, map copy icexpList, loc) | IC.ICAPPM_NOUNIFY (icexp, icexpList,loc) => IC.ICAPPM_NOUNIFY (copy icexp, map copy icexpList,loc) | IC.ICLET (icdeclList, icexpList, loc) => let val (varMap, icdeclListRev) = copyDeclList varMap icdeclList val icexpList = map (copyExp varMap) icexpList in IC.ICLET (List.rev icdeclListRev, icexpList, loc) end | IC.ICTYCAST (castList, icexp,loc) => IC.ICTYCAST (castList, copy icexp, loc) | IC.ICRECORD (stringIcexpList,loc) => IC.ICRECORD (map (fn (l,e) => (l, copy e)) stringIcexpList,loc) | IC.ICRAISE (icexp, loc) => IC.ICRAISE (copy icexp, loc) | IC.ICHANDLE (icexp, icpatIcexpList, loc) => let val icexp = copy icexp val icpatIcexpList = map (fn (pat,exp) => let val (varMap, pat) = copyPat varMap pat in (pat, copyExp varMap exp) end ) icpatIcexpList in IC.ICHANDLE (icexp, icpatIcexpList, loc) end | IC.ICFNM (rules, loc) => IC.ICFNM (map (copyRule varMap) rules, loc) | IC.ICFNM1 (varTyListList, icexp, loc) => let val (varList, tyListList) = ListPair.unzip varTyListList val (varMap, varList) = newVars varMap varList val icexp = copyExp varMap icexp val varTyListList = ListPair.zip (varList, tyListList) in IC.ICFNM1 (varTyListList, icexp, loc) end | IC.ICFNM1_POLY (varTyListList, icexp, loc) => let val (vars, tyListList) = ListPair.unzip varTyListList val (varMap, vars) = newVars varMap vars val varTyListList = ListPair.zip (vars, tyListList) in IC.ICFNM1_POLY (varTyListList, copyExp varMap icexp, loc) end | IC.ICCASEM (icexpList, rules, caseKind,loc) => IC.ICCASEM (map copy icexpList, map (copyRule varMap) rules, caseKind, loc) | IC.ICRECORD_UPDATE (icexp, stringIcexpList, loc) => IC.ICRECORD_UPDATE (copy icexp, map (fn (l,e) => (l, copy e)) stringIcexpList, loc) | IC.ICRECORD_SELECTOR (string, loc) => exp | IC.ICSELECT (string, icexp, loc) => IC.ICSELECT (string, copy icexp, loc) | IC.ICSEQ (icexpList, loc) => IC.ICSEQ (map copy icexpList, loc) | IC.ICCAST (icexp, loc) => IC.ICCAST (copy icexp, loc) | IC.ICFFIIMPORT (icexp, ffiTy, loc) => IC.ICFFIIMPORT (copy icexp, ffiTy, loc) | IC.ICFFIEXPORT (icexp, ffiTy, loc) => IC.ICFFIEXPORT (copy icexp, ffiTy, loc) | IC.ICFFIAPPLY (ffiAttributesOption, icexp, ffiArgList, ffiTy, loc) => IC.ICFFIAPPLY (ffiAttributesOption, copy icexp, map (copyFfiArg varMap) ffiArgList, ffiTy, loc) | IC.ICSQLSERVER (string, ty, loc) => exp | IC.ICSQLDBI (icpat, icexp, loc) => let val (varMap, icpat) = copyPat varMap icpat in IC.ICSQLDBI (icpat, copyExp varMap icexp, loc) end end and copyFfiArg varMap ffiArg = case ffiArg of IC.ICFFIARG (icexp, ffiTy, loc) => IC.ICFFIARG (copyExp varMap icexp, ffiTy, loc) | IC.ICFFIARGSIZEOF (ty, icexpOption, loc) => IC.ICFFIARGSIZEOF (ty, Option.map (copyExp varMap) icexpOption, loc) and copyRule varMap {args, body} = let val (varMap, args) = copyPats varMap args val body = copyExp varMap body in {args=args, body=body} end and copyBind (newVarMap, varMap) (pat, exp) = let val (newVarMap, pat) = copyPat newVarMap pat val exp = copyExp varMap exp in (newVarMap, (pat, exp)) end and copyBinds varMap binds = let val (newVarMap, bindsRev) = foldl (fn (bind, (newVarMap, bindsRev)) => let val (newVarMap, bind) = copyBind (newVarMap, varMap) bind in (newVarMap, bind::bindsRev) end ) (varMap, nil) binds in (newVarMap, List.rev bindsRev) end and copyDecl varMap icdecl = case icdecl of IC.ICVAL (guard, icpatIcexpList, loc) => let val (varMap, binds) = copyBinds varMap icpatIcexpList in (varMap, IC.ICVAL (guard, binds, loc)) end | IC.ICDECFUN { guard, funbinds: { funVarInfo: IC.varInfo, tyList:IDCalc.ty list, rules: {args: IC.icpat list, body: IC.icexp} list } list, loc } => let val (funvars, rulesList, tyListList) = foldr (fn ({funVarInfo, tyList, rules}, (funvars, rulesList, tyListList)) => (funVarInfo::funvars, rules::rulesList, tyList::tyListList) ) (nil,nil,nil) funbinds val (varMap, funvars) = newVars varMap funvars val rulesList = map (map (copyRule varMap)) rulesList val funbinds = map (fn (funVar, (rules, tyList)) => {funVarInfo=funVar, rules = rules, tyList = tyList}) (ListPair.zip(funvars, ListPair.zip(rulesList, tyListList))) in (varMap, IC.ICDECFUN {guard=guard, funbinds=funbinds, loc=loc}) end | IC.ICNONRECFUN { guard, funVarInfo: IC.varInfo, tyList: IDCalc.ty list, rules: {args: IC.icpat list, body: IC.icexp} list, loc } => let val rules = map (copyRule varMap) rules val (varMap, funVarInfo) = newVar varMap funVarInfo in (varMap, IC.ICNONRECFUN {guard=guard, funVarInfo=funVarInfo, tyList=tyList, rules=rules, loc=loc } ) end | IC.ICVALREC {guard, recbinds: {varInfo: IC.varInfo, tyList:IDCalc.ty list, body: IC.icexp} list, loc} => let val vars = map #varInfo recbinds val (varMap, vars) = newVars varMap vars val varRecbindList = ListPair.zip (vars, recbinds) val recbinds = map (fn (var, {varInfo, tyList, body}) => {varInfo=var, tyList=tyList, body=copyExp varMap body} ) varRecbindList in (varMap, IC.ICVALREC {guard=guard, recbinds=recbinds, loc=loc} ) end | IC.ICEXND _ => (varMap, icdecl) | IC.ICEXNTAGD ({exnInfo, varInfo}, loc) => (varMap, IC.ICEXNTAGD ({exnInfo=exnInfo, varInfo=evalVar varMap varInfo}, loc) ) | IC.ICEXPORTVAR (varInfo, ty, loc) => (varMap, IC.ICEXPORTVAR (evalVar varMap varInfo, ty, loc) ) | IC.ICEXPORTTYPECHECKEDVAR (varInfo, loc) => (varMap, IC.ICEXPORTTYPECHECKEDVAR (evalVar varMap varInfo, loc) ) | IC.ICEXPORTFUNCTOR (varInfo, ty, loc) => (varMap, IC.ICEXPORTFUNCTOR (evalVar varMap varInfo, ty, loc) ) | IC.ICEXPORTEXN _ => (varMap, icdecl) | IC.ICEXTERNVAR _ => (varMap, icdecl) | IC.ICEXTERNEXN _ => (varMap, icdecl) | IC.ICTYCASTDECL (castList, icdeclList, loc) => let val (varMap, icdeclList) = copyDeclList varMap icdeclList in (varMap, IC.ICTYCASTDECL (castList, icdeclList, loc)) end | IC.ICOVERLOADDEF _ => (varMap, icdecl) and copyDeclList varMap declList = let fun copy (decl, (varMap, declListRev)) = let val (varMap, newDecl) = copyDecl varMap decl in (varMap, newDecl::declListRev) end val (varMao, declListRev) = foldl copy (VarID.Map.empty, nil) declList in (varMap, List.rev declListRev) end in val copyExp = fn exp => copyExp VarID.Map.empty exp val copyDecl = fn decl => #2 (copyDecl VarID.Map.empty decl) val copyDeclList = fn declList => #2 (copyDeclList VarID.Map.empty declList) val copyPat = fn pat => #2 (copyPat VarID.Map.empty pat) end end smlsharp-1.2.0/src/compiler/types/main/OPrimInstMap.smi0000644 000000000000000000000432512050661606023234 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlnj-lib/Util/binary-map-fn.smi" _require "../../name/main/LocalID.smi" _require "../../control/main/Control.ppg.smi" structure OPrimInstMap = struct structure Key = struct type ord_key = TypID.id option list val compare : ord_key * ord_key -> order end type 'a map (= boxed) val empty : 'a map val isEmpty : 'a map -> bool val singleton : Key.ord_key * 'a -> 'a map val insert : 'a map * Key.ord_key * 'a -> 'a map val insert' : (Key.ord_key * 'a) * 'a map -> 'a map val find : 'a map * Key.ord_key -> 'a option val lookup : 'a map * Key.ord_key -> 'a val inDomain : 'a map * Key.ord_key -> bool val remove : 'a map * Key.ord_key -> 'a map * 'a val first : 'a map -> 'a option val firsti : 'a map -> (Key.ord_key * 'a) option val numItems : 'a map -> int val listItems : 'a map -> 'a list val listItemsi : 'a map -> (Key.ord_key * 'a) list val listKeys : 'a map -> Key.ord_key list val collate : ('a * 'a -> order) -> 'a map * 'a map -> order val unionWith : ('a * 'a -> 'a) -> 'a map * 'a map -> 'a map val unionWithi : (Key.ord_key * 'a * 'a -> 'a) -> 'a map * 'a map -> 'a map val intersectWith : ('a * 'b -> 'c) -> 'a map * 'b map -> 'c map val intersectWithi : (Key.ord_key * 'a * 'b -> 'c) -> 'a map * 'b map -> 'c map val mergeWith : ('a option * 'b option -> 'c option) -> 'a map * 'b map -> 'c map val mergeWithi : (Key.ord_key * 'a option * 'b option -> 'c option) -> 'a map * 'b map -> 'c map val app : ('a -> unit) -> 'a map -> unit val appi : (Key.ord_key * 'a -> unit) -> 'a map -> unit val map : ('a -> 'b) -> 'a map -> 'b map val mapi : (Key.ord_key * 'a -> 'b) -> 'a map -> 'b map val foldl : ('a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldli : (Key.ord_key * 'a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldr : ('a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldri : (Key.ord_key * 'a * 'b -> 'b) -> 'b -> 'a map -> 'b val filter : ('a -> bool) -> 'a map -> 'a map val filteri : (Key.ord_key * 'a -> bool) -> 'a map -> 'a map val mapPartial : ('a -> 'b option) -> 'a map -> 'b map val mapPartiali : (Key.ord_key * 'a -> 'b option) -> 'a map -> 'b map end smlsharp-1.2.0/src/compiler/types/main/OPrimInstMap.sml0000644 000000000000000000000153612050661606023240 0ustar00rootroot0000000 0000000 (** * overloaded primitive instance map * * @copyright (c) 2010, Tohoku University. * @author Atsushi Ohori * @author UENO Katsuhiro *) local structure OPrimInstOrd = struct type ord_key = TypID.id option list fun compare (idList1, idList2) = let fun eqTyConId (NONE, NONE) = EQUAL | eqTyConId (NONE, SOME _) = EQUAL | eqTyConId (SOME _, NONE) = EQUAL | eqTyConId (SOME id1, SOME id2) = TypID.compare (id1, id2) in case (idList1, idList2) of (nil, nil) => EQUAL | (h1::tail1, h2::tail2) => (case eqTyConId(h1, h2) of EQUAL => compare (tail1, tail2) | x => x) | _ => raise Control.Bug "OPRIMinstOrd: OPrim key length" end end in structure OPrimInstMap = BinaryMapFn(OPrimInstOrd) end smlsharp-1.2.0/src/compiler/types/main/OPrimMap.smi0000644 000000000000000000000452612050661606022401 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlnj-lib/Util/binary-map-fn.smi" _require "../../name/main/LocalID.smi" structure OPrimOrd = struct type ord_key = {path:string list, id:OPrimID.id} val compare : ord_key * ord_key -> order end structure OPrimMap = BinaryMapFn (OPrimOrd) (* struct structure Key = struct type ord_key = {path: string list, id: OPrimID.id} val compare : ord_key * ord_key -> order end type 'a map (= boxed) val empty : 'a map val isEmpty : 'a map -> bool val singleton : Key.ord_key * 'a -> 'a map val insert : 'a map * Key.ord_key * 'a -> 'a map val insert' : (Key.ord_key * 'a) * 'a map -> 'a map val find : 'a map * Key.ord_key -> 'a option val lookup : 'a map * Key.ord_key -> 'a val inDomain : 'a map * Key.ord_key -> bool val remove : 'a map * Key.ord_key -> 'a map * 'a val first : 'a map -> 'a option val firsti : 'a map -> (Key.ord_key * 'a) option val numItems : 'a map -> int val listItems : 'a map -> 'a list val listItemsi : 'a map -> (Key.ord_key * 'a) list val listKeys : 'a map -> Key.ord_key list val collate : ('a * 'a -> order) -> 'a map * 'a map -> order val unionWith : ('a * 'a -> 'a) -> 'a map * 'a map -> 'a map val unionWithi : (Key.ord_key * 'a * 'a -> 'a) -> 'a map * 'a map -> 'a map val intersectWith : ('a * 'b -> 'c) -> 'a map * 'b map -> 'c map val intersectWithi : (Key.ord_key * 'a * 'b -> 'c) -> 'a map * 'b map -> 'c map val mergeWith : ('a option * 'b option -> 'c option) -> 'a map * 'b map -> 'c map val mergeWithi : (Key.ord_key * 'a option * 'b option -> 'c option) -> 'a map * 'b map -> 'c map val app : ('a -> unit) -> 'a map -> unit val appi : (Key.ord_key * 'a -> unit) -> 'a map -> unit val map : ('a -> 'b) -> 'a map -> 'b map val mapi : (Key.ord_key * 'a -> 'b) -> 'a map -> 'b map val foldl : ('a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldli : (Key.ord_key * 'a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldr : ('a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldri : (Key.ord_key * 'a * 'b -> 'b) -> 'b -> 'a map -> 'b val filter : ('a -> bool) -> 'a map -> 'a map val filteri : (Key.ord_key * 'a -> bool) -> 'a map -> 'a map val mapPartial : ('a -> 'b option) -> 'a map -> 'b map val mapPartiali : (Key.ord_key * 'a -> 'b option) -> 'a map -> 'b map end *) smlsharp-1.2.0/src/compiler/types/main/OPrimMap.sml0000644 000000000000000000000034612050661606022400 0ustar00rootroot0000000 0000000 structure OPrimOrd = struct type ord_key = {path:string list, id:OPrimID.id} fun compare ({id=id1,...}:ord_key, {id=id2,...}:ord_key) = OPrimID.compare (id1,id2) end structure OPrimMap = BinaryMapFn (OPrimOrd) smlsharp-1.2.0/src/compiler/types/main/tvarMap.smi0000644 000000000000000000000067312050661606022326 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlnj-lib/Util/binary-set-fn.smi" _require "../../../smlnj-lib/Util/binary-map-fn.smi" _require "../../name/main/LocalID.smi" _require "../../absyn/main/Absyn.ppg.smi" structure TvarOrd = struct type ord_key = {name:string,id:TvarID.id,eq:Absyn.eq,lifted:bool} val compare : ord_key * ord_key -> order end structure TvarMap = BinaryMapFn(TvarOrd) structure TvarSet = BinarySetFn(TvarOrd) smlsharp-1.2.0/src/compiler/types/main/tvarMap.sml0000644 000000000000000000000041712050661606022325 0ustar00rootroot0000000 0000000 structure TvarOrd = struct type ord_key = {name:string,id:TvarID.id,eq:Absyn.eq,lifted:bool} fun compare ({id=id1,...}:ord_key, {id=id2,...}:ord_key) = TvarID.compare (id1,id2) end structure TvarMap = BinaryMapFn(TvarOrd) structure TvarSet = BinarySetFn(TvarOrd) smlsharp-1.2.0/src/compiler/types/main/TyAlphaRename.smi0000644 000000000000000000000140712050661606023402 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../builtin2/main/BuiltinPrimitive.ppg.smi" _require "../../builtin2/main/BuiltinTypeNames.ppg.smi" _require "Types.ppg.smi" _require "TypesUtils.smi" _require "VarMap.smi" _require "OPrimInstMap.smi" _require "TyPrinters.smi" structure TyAlphaRename = struct type btvMap = BoundTypeVarID.id BoundTypeVarID.Map.map val copyTy : btvMap -> Types.ty -> Types.ty val newBtvEnv : btvMap -> Types.btvEnv -> btvMap * Types.btvEnv val emptyBtvMap : BoundTypeVarID.id BoundTypeVarID.Map.map end smlsharp-1.2.0/src/compiler/types/main/TyAlphaRename.sml0000644 000000000000000000001660612050661606023414 0ustar00rootroot0000000 0000000 structure TyAlphaRename = struct local structure T = Types structure TU = TypesUtils structure P = TyPrinters fun bug s = Control.Bug ("AlphaRename: " ^ s) exception DuplicateBtv type ty = T.ty type path = T.path type btvKind = {tvarKind : T.tvarKind, eqKind : T.eqKind} type btvEnv = btvKind BoundTypeVarID.Map.map type btvMap = BoundTypeVarID.id BoundTypeVarID.Map.map val emptyBtvMap = BoundTypeVarID.Map.empty fun printBtvMap btvMap = let fun pr (id, id2) = (P.print "("; P.print (BoundTypeVarID.toString id); P.print ","; P.print (BoundTypeVarID.toString id2); P.print ")\n" ) in BoundTypeVarID.Map.appi pr btvMap end (* alpha-rename types *) fun evalBtv (btvMap:btvMap) btv = case BoundTypeVarID.Map.find(btvMap, btv) of SOME btv => btv | NONE => btv fun newBtv (btvMap:btvMap) btv = let val newBtv = BoundTypeVarID.generate() val btvMap = BoundTypeVarID.Map.insertWith (fn _ => raise DuplicateBtv) (btvMap, btv, newBtv) in (btvMap, newBtv) end fun newBtvEnv (btvMap:btvMap) btvEnv = let val (btvMap, btvEnv) = BoundTypeVarID.Map.foldli (* we cannot use foldri here; we must preserve the order of btv *) (fn (btv, btvkind, (btvMap, btvEnv)) => let val (btvMap, newBtv) = newBtv btvMap btv val btvEnv = BoundTypeVarID.Map.insert(btvEnv, newBtv, btvkind) in (btvMap, btvEnv) end ) (btvMap, BoundTypeVarID.Map.empty) btvEnv val btvEnv = BoundTypeVarID.Map.map (copyBtvkind btvMap) btvEnv in (btvMap, btvEnv) end and copySingletonTy (btvMap:btvMap) singletonTy = case singletonTy of T.INSTCODEty { oprimId, path, keyTyList : ty list, match : T.overloadMatch, instMap : T.overloadMatch OPrimInstMap.map } => T.INSTCODEty { oprimId=oprimId, path=path, keyTyList = map (copyTy btvMap) keyTyList, match = copyOverloadMatch btvMap match, instMap = OPrimInstMap.map (copyOverloadMatch btvMap) instMap } | T.INDEXty (string, ty) => T.INDEXty (string, copyTy btvMap ty) | T.TAGty ty => T.TAGty (copyTy btvMap ty) | T.SIZEty ty => T.SIZEty (copyTy btvMap ty) and copyOverloadMatch (btvMap:btvMap) overloadMatch = case overloadMatch of T.OVERLOAD_EXVAR {exVarInfo, instTyList} => T.OVERLOAD_EXVAR {exVarInfo = copyExVarInfo btvMap exVarInfo, instTyList = map (copyTy btvMap) instTyList } | T.OVERLOAD_PRIM {primInfo, instTyList} => T.OVERLOAD_PRIM { primInfo = copyPrimInfo btvMap primInfo, instTyList = map (copyTy btvMap) instTyList } | T.OVERLOAD_CASE (ty, map:T.overloadMatch TypID.Map.map) => T.OVERLOAD_CASE (copyTy btvMap ty, TypID.Map.map (copyOverloadMatch btvMap) map ) and copyExVarInfo btvMap {path:path, ty:ty} = {path=path, ty=copyTy btvMap ty} and copyPrimInfo btvMap {primitive : BuiltinPrimitive.primitive, ty : ty} = {primitive=primitive, ty=copyTy btvMap ty} and copyTy (btvMap:btvMap) ty = case TU.derefTy ty of T.SINGLETONty singletonTy => T.SINGLETONty (copySingletonTy btvMap singletonTy) | T.ERRORty => ty | T.DUMMYty dummyTyID => ty | T.TYVARty _ => raise bug "TYVARty in AlphaRename" | T.BOUNDVARty btv => T.BOUNDVARty (evalBtv btvMap btv) | T.FUNMty (tyList, ty) => T.FUNMty (map (copyTy btvMap) tyList, copyTy btvMap ty) | T.RECORDty (fields:ty LabelEnv.map) => T.RECORDty (LabelEnv.map (copyTy btvMap) fields) | T.CONSTRUCTty { tyCon = {id : T.typId, path : path, iseq : bool, arity : int, runtimeTy : BuiltinTypeNames.bty, conSet : {hasArg:bool} SEnv.map, extraArgs : ty list, dtyKind : T.dtyKind }, args : ty list } => T.CONSTRUCTty { tyCon = {id = id, path = path, iseq = iseq, arity = arity, runtimeTy = runtimeTy, conSet = conSet, extraArgs = map (copyTy btvMap) extraArgs, dtyKind = copyDtyKind btvMap dtyKind }, args = map (copyTy btvMap) args } | T.POLYty { boundtvars : T.btvEnv, body : ty } => let val (btvMap, boundtvars) = newBtvEnv btvMap boundtvars in T.POLYty { boundtvars = boundtvars, body = copyTy btvMap body } end and copyBtvkind btvMap {tvarKind, eqKind} = let val tvarKind = copyTvarKind btvMap tvarKind in {tvarKind=tvarKind, eqKind=eqKind} end and copyTvarKind btvMap tvarKind = case tvarKind of T.OCONSTkind tyList => T.OCONSTkind (map (copyTy btvMap) tyList) | T.OPRIMkind {instances:ty list, operators: { oprimId : OPrimID.id, path : path, keyTyList : ty list, match : T.overloadMatch, instMap : T.overloadMatch OPrimInstMap.map } list } => T.OPRIMkind {instances = map (copyTy btvMap) instances, operators = map (fn {oprimId, path, keyTyList, match, instMap} => {oprimId=oprimId, path=path, keyTyList = map (copyTy btvMap) keyTyList, match = copyOverloadMatch btvMap match, instMap = OPrimInstMap.map (copyOverloadMatch btvMap) instMap} ) operators } | T.UNIV => T.UNIV | T.REC (fields:ty LabelEnv.map) => T.REC (LabelEnv.map (copyTy btvMap) fields) and copyDtyKind btvMap dtyKind = case dtyKind of T.DTY => dtyKind | T.OPAQUE {opaqueRep:T.opaqueRep, revealKey:T.revealKey} => T.OPAQUE {opaqueRep = copyOpaqueRep btvMap opaqueRep, revealKey=revealKey} | T.BUILTIN bty => dtyKind and copyOpaqueRep btvMap opaueRep = case opaueRep of T.TYCON {id : T.typId, path : path, iseq : bool, arity : int, runtimeTy : BuiltinTypeNames.bty, conSet : {hasArg:bool} SEnv.map, extraArgs : ty list, dtyKind : T.dtyKind } => T.TYCON {id = id, path = path, iseq = iseq, arity = arity, runtimeTy = runtimeTy, conSet = conSet, extraArgs = map (copyTy btvMap) extraArgs, dtyKind = copyDtyKind btvMap dtyKind } | T.TFUNDEF {iseq, arity, polyTy} => T.TFUNDEF {iseq=iseq, arity=arity, polyTy = copyTy btvMap polyTy} in type btvMap = btvMap val emptyBtvMap = emptyBtvMap val copyTy = copyTy val newBtvEnv = newBtvEnv end end smlsharp-1.2.0/src/compiler/types/main/Types.ppg0000755 000000000000000000006555612050661606022034 0ustar00rootroot0000000 0000000 (** * type structures. * @copyright (c) 2006 - 2011 Tohoku University. * @author Atsushi Ohori * @author Liu Bochao * @author YAMATODANI Kiyoshi *) structure Types = struct structure A = Absyn fun bug s = Control.Bug ("Types: " ^ s) fun formatEnclosedTypIDMap args map = TermFormat.formatEnclosedMap TypID.format_id TypID.Map.listItemsi args map (*% *) (*% @prefix formatWithType_ *) type path = (*% @format(name names) names(name)(".") *) (*% @prefix formatWithType_ @format(name names) names(name)(".") *) string list (*% @formatter(TypID.id) TypID.format_id *) (*% @prefix formatWithType_ @formatter(TypID.id) TypID.format_id *) type typId = (*% @format(id) "t" id *) (*% @prefix formatWithType_ @format(id) "t" id *) TypID.id (*% @formatter(RevealID.id) RevealID.format_id *) (*% @prefix formatWithType_ @formatter(RevealID.id) RevealID.format_id *) type revealKey = (*% @format(id) "rv" id *) (*% @prefix formatWithType_ @format(id) "rv" id *) RevealID.id (*% @formatter(TvarID.id) TvarID.format_id *) (*% @prefix formatWithType_ @formatter(TvarID.id) TvarID.format_id *) type tvarId = (*% @format(id) "tv" id *) (*% @prefix formatWithType_ @format(id) "tv" id *) TvarID.id (*% @formatter(Absyn.eq) Absyn.format_eq *) (*% @prefix formatWithType_ @formatter(Absyn.eq) Absyn.format_eq *) type eq = (*% @format(x) x *) (*% @prefix formatWithType_ @format(x) x *) Absyn.eq (*% *) (*% @prefix formatWithType_ *) type utvar = (*% @format({name, id, eq, lifted}) eq name *) (*% @prefix formatWithType_ @format({name, id, eq, lifted}) eq name *) {name:string, id:tvarId, eq:eq, lifted:bool} (*% @formatter(Absyn.eq) Absyn.format_eq *) (*% @prefix formatWithType_ @formatter(Absyn.eq) Absyn.format_eq *) type eqKind = (*% @format(x) x *) (*% @prefix formatWithType_ @format(x) x *) Absyn.eq (* utilities for pretty printer of types *) datatype ('tvarKind, 'ty) btvOrdEnv = ENV of {btvEnv: {eqKind: eqKind, tvarKind: 'tvarKind} TermFormat.btvEnv, btvOrder: {eqKind: eqKind, tvarKind: 'tvarKind} BoundTypeVarID.Map.map * 'ty -> BoundTypeVarID.id list} fun unpackEnv [ENV x] = x | unpackEnv nil = {btvEnv = TermFormat.emptyBtvEnv, btvOrder = fn _ => nil} | unpackEnv _ = raise Control.Bug "Types.unpackEnv" fun packEnv x = [ENV x] fun format_boundTypeVarID env btvId = let val i = BoundTypeVarID.toInt btvId (* val id = TermFormat.FormatComb.term ("(" ^ Int.toString i ^ ")") *) in TermFormat.formatBoundTyvar (fn tyvar => fn {eqKind, tvarKind} => format_eqKind eqKind @ tyvar (* @ id *)) (#btvEnv (unpackEnv env)) btvId end fun formatWithType_btvEnv_forPolyTy (formatRecordKind, env) boundtvars = let val {btvEnv, btvOrder} = unpackEnv env fun formatTyvar tyvar (btvKind as {eqKind, tvarKind}) = format_eqKind eqKind @ (tyvar @ formatRecordKind btvKind) in TermFormat.formatBtvEnvWithType formatTyvar btvEnv boundtvars end fun format_btvEnv_forPolyTy (formatRecordKind, env) boundtvars = let val {btvEnv, btvOrder} = unpackEnv env fun formatTyvar tyvar (btvKind as {eqKind, tvarKind}) = format_eqKind eqKind @ (tyvar @ formatRecordKind btvKind) in TermFormat.formatBtvEnv formatTyvar btvEnv boundtvars end fun extendBtvEnv env {boundtvars, body} = let val {btvEnv, btvOrder} = unpackEnv env val order = btvOrder (boundtvars, body) val btvEnv = TermFormat.extendBtvEnvWithOrder btvEnv (boundtvars, order) in packEnv {btvEnv = btvEnv, btvOrder = btvOrder} end (*% *) (*% @prefix formatWithType_ *) type dummyTyID = (*% @format(id) "?X" id *) (*% @prefix formatWithType_ @format(id) "?X" id *) int (*% @formatter(FreeTypeVarID.id) TermFormat.formatFreeTyvar *) (*% @prefix formatWithType_ @formatter(FreeTypeVarID.id) TermFormat.formatFreeTyvar *) type freeTypeVarID = FreeTypeVarID.id (* this is a temporal definition *) type lambdaDepth = int val infiniteDepth = valOf Int.maxInt (* the largest word in SML/NJ *) val toplevelDepth = 0 fun youngerDepth {contextDepth:int, tyvarDepth:int} = contextDepth <= tyvarDepth fun strictlyYoungerDepth {tyvarDepth=tyvarDepth:int,contextDepth=contextDepth:int} = contextDepth < tyvarDepth (* datatype lambdaDepth = INF | FIN of int val infiniteDepth = INF val toplevelDepth = FIN 0 fun youngerDepth {contextDepth, tyvarDepth} = case (contextDepth, tyvarDepth) of (_, INF) => true | (INF, FIN _) => false | (FIN n, FIN m) => n <= m fun strictlyYoungerDepth {contextDepth, tyvarDepth} = case (contextDepth, tyvarDepth) of (INF, INF) => false | (_, INF) => true | (INF, FIN _) => false | (FIN n, FIN m) => n < m fun incDepth INF = INF | incDepth (FIN n) = (FIN (n + 1)) fun decDepth INF = INF | decDepth (FIN n) = (FIN (n - 1)) *) (*% @params(btvOrdEnv) @formatter(SEnv.map) TermFormat.formatEnclosedSEnvPlain @formatter(enclosedLabelEnv) TermFormat.formatEnclosedLabelEnv @formatter(freeTypeVarID) format_freeTypeVarID @formatter(enclosedList) TermFormat.formatEnclosedList @formatter(seqList) TermFormat.formatSeqList @formatter(appList) TermFormat.formatAppList @formatter(optionalList) TermFormat.formatOptionalList @formatter(ifCons) TermFormat.formatIfCons @formatter(recordTy) TermFormat.formatRecordTy @formatter(option) TermFormat.formatOptionalOption @formatter(extendBtvEnv) extendBtvEnv @formatter(format_btvEnv_forPolyTy) format_btvEnv_forPolyTy @formatter(BoundTypeVarID.id) format_boundTypeVarID @formatter(OPrimID.id) OPrimID.format_id @formatter(TypID.Map.map) formatEnclosedTypIDMap @formatter(BuiltinPrimitive.primitive) BuiltinPrimitive.format_primitive *) (*% @prefix formatWithType_ @params(btvOrdEnv) @formatter(SEnv.map) TermFormat.formatEnclosedSEnvPlain @formatter(enclosedLabelEnv) TermFormat.formatEnclosedLabelEnv @formatter(freeTypeVarID) format_freeTypeVarID @formatter(enclosedList) TermFormat.formatEnclosedList @formatter(seqList) TermFormat.formatSeqList @formatter(appList) TermFormat.formatAppList @formatter(optionalList) TermFormat.formatOptionalList @formatter(ifCons) TermFormat.formatIfCons @formatter(recordTy) TermFormat.formatRecordTy @formatter(option) TermFormat.formatOptionalOption @formatter(extendBtvEnv) extendBtvEnv @formatter(format_btvEnv_forPolyTy) format_btvEnv_forPolyTy @formatter(BoundTypeVarID.id) format_boundTypeVarID @formatter(OPrimID.id) OPrimID.format_id @formatter(TypID.Map.map) formatEnclosedTypIDMap @formatter(BuiltinPrimitive.primitive) BuiltinPrimitive.format_primitive *) datatype ty = (*% @format(t) t()(btvOrdEnv) *) (*% @prefix formatWithType_ @format(t) t()(btvOrdEnv) *) (* a singleton type for type-directed compilation *) SINGLETONty of singletonTy | (*% @format "ERRORty" *) (*% @prefix formatWithType_ @format "ERRORty" *) ERRORty | (*% @format(id) id *) (*% @prefix formatWithType_ @format(id) id *) DUMMYty of dummyTyID | (*% @format(tv tvRef) tvRef(tv()(btvOrdEnv)) *) (*% @prefix formatWithType_ @format(tv tvRef) tvRef(tv()(btvOrdEnv)) *) TYVARty of tvState ref | (*% @format(id) id()(btvOrdEnv) *) (*% @prefix formatWithType_ @format(id) id()(btvOrdEnv) *) BOUNDVARty of BoundTypeVarID.id | (*% * @format(argTy argTys * retTy) R4{ 2[ argTys:appList(argTy()(btvOrdEnv))("{",",","}") +1 "->" + retTy()(btvOrdEnv) ] } *) (*% @prefix formatWithType_ * @format(argTy argTys * retTy) * R4{ argTys:appList(argTy()(btvOrdEnv))("{",",","}") * +1 "->" +d retTy()(btvOrdEnv) } *) FUNMty of ty list * ty | (*% @format(ty tys) tys:recordTy(ty()(btvOrdEnv)) *) (*% @prefix formatWithType_ @format(ty tys) tys:recordTy(ty()(btvOrdEnv)) *) RECORDty of ty LabelEnv.map | (*% * @format({tyCon, args: argTy argTys}) * L8{ 2[ argTys:seqList(argTy()(btvOrdEnv))("(",",",")") * argTys:ifCons()(+1) tyCon()(btvOrdEnv) ] } *) (*% @prefix formatWithType_ * @format({tyCon, args: argTy argTys}) L8{ 2[ argTys:seqList(argTy()(btvOrdEnv))("(",",",")") argTys:ifCons()(+1) tyCon()(btvOrdEnv) ] } *) CONSTRUCTty of { tyCon : tyCon, args : ty list } | (*% @format(polyTy) polyTy()(polyTy:extendBtvEnv()(btvOrdEnv)) *) (*% @prefix formatWithType_ * @format(polyTy) * polyTy()(polyTy:extendBtvEnv()(btvOrdEnv)) *) POLYty of polyTy and tvarKind = (*% * @format(ty tys) * "::" tys:enclosedList(ty()(btvOrdEnv))("{",",","}") *) (*% @prefix formatWithType_ * @format(ty tys) * "::" tys:enclosedList(ty()(btvOrdEnv))("{",",","}") *) (* for overloaded constants *) OCONSTkind of ty list | (* * @format({instances: ty tys, * operators: oper opers}) * "::" opers:enclosedList(oper()(btvOrdEnv))("{",",","}") * tys:enclosedList(ty()(btvOrdEnv))("{",",","}") *) (*% @format({instances: ty tys, operators: oper opers}) "::" tys:enclosedList(ty()(btvOrdEnv))("{",",","}") *) (*% @prefix formatWithType_ * @format({instances: ty tys, * operators: oper opers}) * "::" opers:enclosedList(oper()(btvOrdEnv))("{",",","}") * tys:enclosedList(ty()(btvOrdEnv))("{",",","}") *) OPRIMkind of {instances : ty list, operators : oprimSelector list} | (*% @format *) (*% @prefix formatWithType_ @format *) UNIV | (*% * @format(ty tys) * "#" tys:enclosedLabelEnv(ty()(btvOrdEnv))("{",",",":","}") *) (*% @prefix formatWithType_ * @format(ty tys) * "#" tys:enclosedLabelEnv(ty()(btvOrdEnv))("{",",",":","}") *) REC of ty LabelEnv.map and dtyKind = (*% @format *) (*% @prefix formatWithType_ @format *) (* datatype including atomic types *) DTY | (*% @format({opaqueRep, revealKey}) "[opaque("revealKey "," opaqueRep()(btvOrdEnv) ")" "]" *) (*% @prefix formatWithType_ @format({opaqueRep, revealKey}) "[opaque("revealKey "," opaqueRep()(btvOrdEnv) ")" "]" *) (* opaque types of builtin types; opqaue types of datatypes are DTYs *) OPAQUE of {opaqueRep:opaqueRep, revealKey:revealKey} | (*% @format(builtin) *) (*% @prefix formatWithType_ @format(builtin) *) (* builtin types *) BUILTIN of BuiltinTypeNames.bty and opaqueRep = (*% @format(tyCon) tyCon()(btvOrdEnv) *) (*% @prefix formatWithType_ @format(tyCon) tyCon()(btvOrdEnv) *) TYCON of tyCon | (*% @format({iseq, arity, polyTy}) polyTy()(btvOrdEnv) *) (*% @prefix formatWithType_ @format({iseq, arity, polyTy}) polyTy()(btvOrdEnv) *) TFUNDEF of {iseq:bool, arity:int, polyTy:ty} and tvState = (*% @format(tvKind) tvKind()(btvOrdEnv) *) (*% @prefix formatWithType_ @format(tvKind) tvKind()(btvOrdEnv) *) TVAR of tvKind | (*% @format(ty) ty()(btvOrdEnv) *) (*% @prefix formatWithType_ @format(ty) ty()(btvOrdEnv) *) SUBSTITUTED of ty and singletonTy = (*% * @format(operator) "INSTCODE(" !N0{ operator()(btvOrdEnv) ")" } *) (*% @prefix formatWithType_ * @format(operator) "INSTCODE(" !N0{ operator()(btvOrdEnv) ")" } *) (* a singletonset denoting the instance function for a type 'a *) INSTCODEty of oprimSelector | (*% * @format(label * ty) "INDEX(" !N0{ label "," +1 ty()(btvOrdEnv) ")" } *) (*% @prefix formatWithType_ * @format(label * ty) "INDEX(" !N0{ label "," +1 ty()(btvOrdEnv) ")" } *) INDEXty of string * ty | (*% * @format(ty) "TAG(" !N0{ ty()(btvOrdEnv) ")" } *) (*% @prefix formatWithType_ * @format(ty) "TAG(" !N0{ ty()(btvOrdEnv) ")" } *) TAGty of ty | (*% * @format(ty) "SIZE(" !N0{ ty()(btvOrdEnv) ")" } *) (*% @prefix formatWithType_ * @format(ty) "SIZE(" !N0{ ty()(btvOrdEnv) ")" } *) SIZEty of ty and overloadMatch = (*% * @format({exVarInfo, instTyList: ty tys}) * L8{ exVarInfo +1 tys:appList(ty()(btvOrdEnv))(+1 "{",",","}") } * @format:exVarInfo({path, ty}) path *) (*% @prefix formatWithType_ * @format({exVarInfo, instTyList: ty tys}) * L8{ exVarInfo +1 tys:appList(ty()(btvOrdEnv))(+1 "{",",","}") } * @format:exVarInfo({path, ty}) path *) OVERLOAD_EXVAR of { exVarInfo: {path: path, ty: ty}, instTyList: ty list } | (*% * @format({primInfo, instTyList: ty tys}) * L8{ primInfo +1 tys:appList(ty()(btvOrdEnv))(+1 "{",",","}") } * @format:primInfo({primitive, ty}) primitive *) (*% @prefix formatWithType_ * @format({primInfo, instTyList: ty tys}) * L8{ primInfo +1 tys:appList(ty()(btvOrdEnv))(+1 "{",",","}") } * @format:primInfo({primitive, ty}) primitive *) OVERLOAD_PRIM of { primInfo: {primitive: BuiltinPrimitive.primitive, ty: ty}, instTyList: ty list } | (*% * @format(ty * match matches) * !N0{ "match" +d ty()(btvOrdEnv) * matches(match()(btvOrdEnv))(+1 "of" +d, +1, +d "=>",) } *) (*% @prefix formatWithType_ * @format(ty * match matches) * !N0{ "match" +d ty()(btvOrdEnv) * matches(match()(btvOrdEnv))(+1 "of" +d, +1, +d "=>",) } *) OVERLOAD_CASE of ty * overloadMatch TypID.Map.map withtype tvKind = (* Ohori: Dec 3, 2006. lambdaDepth is introduce to speed up type generalization. Initially, it is equal to the length of \Gamma at which a type variable is introduced. The top level is therefore 0. We then maintain the invariant: lambdaDepth(t) is the minimal |\Gamma| such that \Gamma{x:\tau(t)} A type variable is created with lambdaDepth = INFINITE. When a type is entered in \Gamma{x:\tau}, the lambdaDepth of each type variable t' in tau is set to |\Gamma| Whenever (t,tau) is unified, the lambdaDepth of each type variable t' in tau must be set to min(lambdaDepth(t), lambdaDepth(t')). *) (*% * @format({lambdaDepth, * id, * tvarKind, * eqKind, * utvarOpt: utvar utvarOpt}) * eqKind id utvarOpt(utvar)("(",")") * tvarKind()(btvOrdEnv) *) (*% @prefix formatWithType_ * @format({lambdaDepth, * id, * tvarKind, * eqKind, * utvarOpt: utvar utvarOpt}) * eqKind id utvarOpt(utvar)("(",")") * tvarKind()(btvOrdEnv) *) { lambdaDepth: lambdaDepth, id: freeTypeVarID, tvarKind: tvarKind, eqKind: eqKind, utvarOpt: utvar option (* SOME: user-defined type variable *) } and tyCon = (*% @format({id, path, iseq, runtimeTy, arity, conSet, extraArgs:ty tys, dtyKind}) path *) (*% @prefix formatWithType_ @format({id, path, iseq, runtimeTy, arity, conSet, extraArgs:ty tys, dtyKind}) tys:ifCons()(tys:enclosedList(ty()(btvOrdEnv))("{",",","}")) path "(" id "[" dtyKind()(btvOrdEnv) "]" ")" *) {id : typId, path : path, iseq : bool, arity : int, runtimeTy : BuiltinTypeNames.bty, conSet : {hasArg:bool} SEnv.map, extraArgs : ty list, dtyKind : dtyKind } and polyTy = (* for pretty printing *) (*% * @format({boundtvars:btvKind imap, body}) "[" !N0{ 2[ {imap:format_btvEnv_forPolyTy(btvKind)(btvOrdEnv) "."} +1 body()(btvOrdEnv) ] "]" } @format:btvKind({eqKind, tvarKind}) tvarKind()(btvOrdEnv) *) (*% @prefix formatWithType_ * @format({boundtvars:btvKind imap, body}) * "[" !N0{ imap:format_btvEnv_forPolyTy(btvKind)(btvOrdEnv) "." * +1 body()(btvOrdEnv) "]" } * @format:btvKind({eqKind, tvarKind}) * tvarKind()(btvOrdEnv) *) (** * boundtvars = {..., btvid -> btvKind as {tvarKind, eqKind}, ...} * btvid is the id of boundTvars used as i in BOUNDVARty(i) *) { boundtvars : {eqKind: eqKind, tvarKind: tvarKind} BoundTypeVarID.Map.map, body : ty } and oprimSelector = (* * @format({oprimId, path, keyTyList: keyTy keyTys, match, instMap}) * path "#" oprimId * (* instTys:optionalList(instTy()(btvOrdEnv))(+1 "{",",","}") *) * (* keyTys:enclosedList(keyTy()(btvOrdEnv))("[",",","]") *) * "(" {match()(btvOrdEnv)} ")" *) (*% * @format({oprimId, path, keyTyList: keyTy keyTys, match, instMap}) * path "#" oprimId * (* instTys:optionalList(instTy()(btvOrdEnv))(+1 "{",",","}") *) * (* keyTys:enclosedList(keyTy()(btvOrdEnv))("[",",","]") *) *) (*% @prefix formatWithType_ * @format({oprimId, path, keyTyList: keyTy keyTys, match, instMap}) * path "#" oprimId * (* instTys:optionalList(instTy()(btvOrdEnv))(+1 "{",",","}") *) * (* keyTys:enclosedList(keyTy()(btvOrdEnv))("[",",","]") *) *) { oprimId : OPrimID.id, path : path, keyTyList : ty list, match : overloadMatch, instMap : overloadMatch OPrimInstMap.map } (* printing order of bound type variables. *) fun btvOrderTy btv ty = case ty of SINGLETONty sty => btvOrderSingletonTy btv sty | ERRORty => nil | DUMMYty _ => nil | TYVARty (ref (TVAR _)) => nil | TYVARty (ref (SUBSTITUTED ty)) => btvOrderTy btv ty | BOUNDVARty id => if BoundTypeVarID.Set.member (btv, id) then [id] else nil | FUNMty (tys, ty) => List.concat (map (btvOrderTy btv) (tys @ [ty])) | RECORDty tys => List.concat (map (btvOrderTy btv) (LabelEnv.listItems tys)) | CONSTRUCTty {tyCon, args} => List.concat (map (btvOrderTy btv) args) | POLYty {boundtvars, body} => let val btv = BoundTypeVarID.Set.filter (fn id => not (BoundTypeVarID.Map.inDomain (boundtvars, id))) btv in btvOrderTy btv body end and btvOrderSingletonTy btv sty = case sty of INSTCODEty {oprimId, path, keyTyList, match, instMap} => List.concat (map (btvOrderTy btv) keyTyList) | INDEXty (label, ty) => btvOrderTy btv ty | SIZEty ty => btvOrderTy btv ty | TAGty ty => btvOrderTy btv ty and btvOrderKind btv {eqKind, tvarKind} = case tvarKind of OCONSTkind tys => List.concat (map (btvOrderTy btv) tys) | OPRIMkind {instances,...} => List.concat (map (btvOrderTy btv) instances) | UNIV => nil | REC tys => List.concat (map (btvOrderTy btv) (LabelEnv.listItems tys)) and btvOrder (boundtvars, body) = let val btv = BoundTypeVarID.Map.foldli (fn (id,_,z) => BoundTypeVarID.Set.add (z, id)) BoundTypeVarID.Set.empty boundtvars in foldr (fn (x,z) => case BoundTypeVarID.Map.find (boundtvars, x) of NONE => x :: z | SOME k => x :: btvOrderKind btv k @ z) nil (btvOrderTy btv body) end local fun makeEnv btvEnv = packEnv {btvEnv=btvEnv, btvOrder=btvOrder} in val format_tvarKind = fn btvEnv => fn x => format_tvarKind (makeEnv btvEnv) x val format_tvState = fn btvEnv => fn x => format_tvState (makeEnv btvEnv) x val format_ty = fn btvEnv => fn x => format_ty (makeEnv btvEnv) x val format_dtyKind = fn btvEnv => fn x => format_dtyKind (makeEnv btvEnv) x val format_tvKind = fn btvEnv => fn x => format_tvKind (makeEnv btvEnv) x val format_oprimSelector = fn btvEnv => fn x => format_oprimSelector (makeEnv btvEnv) x end (*% * @params(btvEnv, tyvar) *) type btvKind = (*% * @format({eqKind, tvarKind}) * eqKind tyvar tvarKind()(btvEnv) *) { tvarKind : tvarKind, eqKind : eqKind } (*% *) type btvEnv = (*% @format(x xs) *) btvKind BoundTypeVarID.Map.map (* general formatter for btvEnv *) fun format_btvEnv btvEnv btvMap = let val btvEnv = TermFormat.extendBtvEnv btvEnv btvMap fun formatTyvar tyvar kind = format_btvKind (btvEnv, tyvar) kind in TermFormat.formatBtvEnv formatTyvar btvEnv btvMap end (* general formatter for btvEnv *) fun format_btvEnvWithType btvEnv btvMap = let val btvEnv = TermFormat.extendBtvEnv btvEnv btvMap fun formatTyvar tyvar kind = format_btvKind (btvEnv, tyvar) kind in TermFormat.formatBtvEnvWithType formatTyvar btvEnv btvMap end (* for pretty printing *) type formatBtvEnv = btvKind TermFormat.btvEnv (*% * @formatter(VarID.id) VarID.format_id *) (*% * @prefix formatWithType_ * @params(btvEnv) * @formatter(VarID.id) VarID.format_id * @formatter(path) format_path * @formatter(ty) format_ty *) type varInfo = (*% * @format({path, id, ty}) path *) (*% * @prefix formatWithType_ * @format({path, id, ty}) * L2{ path "(" id ")" +1 ":" +d ty()(btvEnv) } *) {path:path, id:VarID.id, ty:ty} (*% *) (*% * @prefix formatWithType_ * @params(btvEnv) * @formatter(path) format_path * @formatter(ty) format_ty *) type exVarInfo = (*% * @format({path, ty}) path *) (*% * @prefix formatWithType_ * @format({path, ty}) * L2{ path +1 ":" +d ty()(btvEnv) } *) {path:path, ty:ty} (*% * @formatter(BuiltinPrimitive.primitive) BuiltinPrimitive.format_primitive *) (*% * @prefix formatWithType_ * @params(btvEnv) * @formatter(BuiltinPrimitive.primitive) BuiltinPrimitive.format_primitive * @formatter(ty) format_ty *) type primInfo = (*% @format({primitive, ty}) primitive *) (*% * @prefix formatWithType_ * @format({primitive, ty}) * L2{ primitive +1 ":" +d ty()(btvEnv) } *) {primitive : BuiltinPrimitive.primitive, ty : ty} (*% @formatter(OPrimID.id) OPrimID.format_id *) type oprimInfo = (*% @format({path, id, ty}) path *) (* ty is the polytype as a function *) {ty : ty, path : path, id : OPrimID.id} (*% @params(btvEnv) @formatter(ConID.id) ConID.format_id *) type conInfo = (*% @format({path, ty, id}) path *) (* @format({path, ty, id}) path "(" id ")" + ":" + ty()(btvEnv) *) (* ty is the type as a function *) {path: path, ty: ty, id: ConID.id} (*% @formatter(ExnID.id) ExnID.format_id *) type exnInfo = (*% @format({path, ty, id}) path "(" id ")" *) (* ty is the type as a function *) {path: path, ty: ty, id: ExnID.id} (*% *) type exExnInfo = (*% @format({path, ty}) path *) (* ty is the type as a function *) {path: path, ty: ty} (*% * @params(btvEnv) * @formatter(appList) TermFormat.formatAppList * @formatter(Absyn.ffiAttributes) Absyn.format_ffiAttributes *) type foreignFunTy = (*% * @format({argTyList: argTy argTys, resultTy, attributes}) * L8{ 2[ attributes +1 * R4{ argTys:appList(argTy()(btvEnv))("(",",",")") * +1 "->" +d resultTy()(btvEnv) } ] } *) { argTyList : ty list, resultTy : ty, attributes : Absyn.ffiAttributes } val univKind = {tvarKind = UNIV, eqKind = A.NONEQ, utvarOpt = NONE: utvar option} val kindedTyvarList = ref nil : tvState ref list ref fun newTvStateRef {lambdaDepth, tvarKind, eqKind, utvarOpt} = let val newTyvarID = FreeTypeVarID.generate () val newTv = ref (TVAR {lambdaDepth = lambdaDepth, id = newTyvarID, tvarKind = tvarKind, eqKind = eqKind, utvarOpt = utvarOpt}) val _ = kindedTyvarList := newTv::(!kindedTyvarList) in newTv end fun newty {tvarKind, eqKind, utvarOpt} = TYVARty (newTvStateRef {lambdaDepth = infiniteDepth, tvarKind = tvarKind, eqKind = eqKind, utvarOpt = utvarOpt}) fun newUtvar (lambdaDepth, eqKind, utvar:utvar) = newTvStateRef {lambdaDepth = lambdaDepth, tvarKind = UNIV, eqKind = eqKind, utvarOpt = SOME utvar} fun newtyRaw {lambdaDepth, tvarKind, eqKind, utvarOpt} = TYVARty(newTvStateRef {lambdaDepth = lambdaDepth, tvarKind = tvarKind, eqKind = eqKind, utvarOpt = utvarOpt}) fun newtyWithLambdaDepth (lambdaDepth, {tvarKind, eqKind, utvarOpt}) = TYVARty(newTvStateRef {lambdaDepth=lambdaDepth, tvarKind=tvarKind, eqKind=eqKind, utvarOpt=utvarOpt}) fun printTy ty = let (* val print = fn s => if !Control.debugPrint then print s else () *) in print (Control.prettyPrint (format_ty nil ty)) end fun tyToString ty = Control.prettyPrint (format_ty nil ty) end smlsharp-1.2.0/src/compiler/types/main/Types.ppg.smi0000644 000000000000000000001717012050661606022605 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../name/main/LocalID.smi" _require "../../control/main/Control.ppg.smi" _require "../../util/main/TermFormat.smi" _require "../../builtin2/main/BuiltinPrimitive.ppg.smi" _require "../../builtin2/main/BuiltinTypeNames.ppg.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "OPrimInstMap.smi" structure Types = struct type path = string list type typId = TypID.id type revealKey = RevealID.id type tvarId = TvarID.id type eq = Absyn.eq type utvar = {name:string, id:tvarId, eq:eq, lifted:bool} type eqKind = Absyn.eq type dummyTyID = int type freeTypeVarID = FreeTypeVarID.id type lambdaDepth = int datatype ty = SINGLETONty of singletonTy | ERRORty | DUMMYty of dummyTyID | TYVARty of tvState ref | BOUNDVARty of BoundTypeVarID.id | FUNMty of ty list * ty | RECORDty of ty LabelEnv.map | CONSTRUCTty of { tyCon : {id : typId, path : path, iseq : bool, arity : int, runtimeTy : BuiltinTypeNames.bty, conSet : {hasArg:bool} SEnv.map, extraArgs : ty list, dtyKind : dtyKind }, args : ty list } | POLYty of { boundtvars : {eqKind: eqKind, tvarKind: tvarKind} BoundTypeVarID.Map.map, body : ty } and tvarKind = OCONSTkind of ty list | OPRIMkind of {instances : ty list, operators : { oprimId : OPrimID.id, path : path, keyTyList : ty list, match : overloadMatch, instMap : overloadMatch OPrimInstMap.map } list } | UNIV | REC of ty LabelEnv.map and dtyKind = DTY | OPAQUE of {opaqueRep:opaqueRep, revealKey:revealKey} | BUILTIN of BuiltinTypeNames.bty and opaqueRep = TYCON of {id : typId, path : path, iseq : bool, arity : int, runtimeTy : BuiltinTypeNames.bty, conSet : {hasArg:bool} SEnv.map, extraArgs : ty list, dtyKind : dtyKind } | TFUNDEF of {iseq:bool, arity:int, polyTy:ty} and tvState = TVAR of { lambdaDepth: lambdaDepth, id: freeTypeVarID, tvarKind: tvarKind, eqKind: eqKind, utvarOpt: utvar option (* SOME: user-defined type variable *) } | SUBSTITUTED of ty and singletonTy = INSTCODEty of { oprimId : OPrimID.id, path : path, keyTyList : ty list, match : overloadMatch, instMap : overloadMatch OPrimInstMap.map } | INDEXty of string * ty | TAGty of ty | SIZEty of ty and overloadMatch = OVERLOAD_EXVAR of { exVarInfo: {path: path, ty: ty}, instTyList: ty list } | OVERLOAD_PRIM of { primInfo: {primitive: BuiltinPrimitive.primitive, ty: ty}, instTyList: ty list } | OVERLOAD_CASE of ty * overloadMatch TypID.Map.map type tvKind = { lambdaDepth: lambdaDepth, id: freeTypeVarID, tvarKind: tvarKind, eqKind: eqKind, utvarOpt: utvar option (* SOME: user-defined type variable *) } type tyCon = {id : typId, path : path, iseq : bool, arity : int, runtimeTy : BuiltinTypeNames.bty, conSet : {hasArg:bool} SEnv.map, extraArgs : ty list, dtyKind : dtyKind } type oprimSelector = { oprimId : OPrimID.id, path : path, keyTyList : ty list, match : overloadMatch, instMap : overloadMatch OPrimInstMap.map } type btvKind = { tvarKind : tvarKind, eqKind : eqKind } type btvEnv = btvKind BoundTypeVarID.Map.map type varInfo = {path:path, id:VarID.id, ty:ty} type exVarInfo = {path:path, ty:ty} type primInfo = {primitive : BuiltinPrimitive.primitive, ty : ty} type oprimInfo = {ty : ty, path : path, id : OPrimID.id} type conInfo = {path: path, ty: ty, id: ConID.id} type exnInfo = {path: path, ty: ty, id: ExnID.id} type exExnInfo = {path: path, ty: ty} type foreignFunTy = { argTyList : ty list, resultTy : ty, attributes : Absyn.ffiAttributes } val infiniteDepth : lambdaDepth val toplevelDepth : lambdaDepth val youngerDepth : {contextDepth: lambdaDepth, tyvarDepth: lambdaDepth} -> bool val strictlyYoungerDepth : {contextDepth: lambdaDepth, tyvarDepth: lambdaDepth} -> bool val format_dummyTyID : dummyTyID -> TermFormat.format val format_tvarKind : {eqKind: Absyn.eq, tvarKind: tvarKind} TermFormat.btvEnv -> tvarKind -> TermFormat.format val format_tvState : {eqKind: Absyn.eq, tvarKind: tvarKind} TermFormat.btvEnv -> tvState -> TermFormat.format val format_ty : {eqKind: Absyn.eq, tvarKind: tvarKind} TermFormat.btvEnv -> ty -> TermFormat.format val format_varInfo : varInfo -> TermFormat.format val format_exVarInfo : exVarInfo -> TermFormat.format val format_primInfo : primInfo -> TermFormat.format val format_oprimInfo : oprimInfo -> TermFormat.format val format_conInfo : {eqKind: Absyn.eq, tvarKind: tvarKind} TermFormat.btvEnv -> conInfo -> TermFormat.format val format_foreignFunTy : {eqKind: Absyn.eq, tvarKind: tvarKind} TermFormat.btvEnv -> foreignFunTy -> TermFormat.format val format_exnInfo : exnInfo -> TermFormat.format val format_exExnInfo : exExnInfo -> TermFormat.format val formatWithType_varInfo : {eqKind: Absyn.eq, tvarKind: tvarKind} TermFormat.btvEnv -> varInfo -> TermFormat.format val formatWithType_exVarInfo : {eqKind: Absyn.eq, tvarKind: tvarKind} TermFormat.btvEnv -> exVarInfo -> TermFormat.format val formatWithType_primInfo : {eqKind: Absyn.eq, tvarKind: tvarKind} TermFormat.btvEnv -> primInfo -> TermFormat.format val format_dtyKind : {eqKind: Absyn.eq, tvarKind: tvarKind} TermFormat.btvEnv -> dtyKind -> TermFormat.format val format_tvKind : {eqKind: Absyn.eq, tvarKind: tvarKind} TermFormat.btvEnv -> tvKind -> TermFormat.format val format_oprimSelector : {eqKind: Absyn.eq, tvarKind: tvarKind} TermFormat.btvEnv -> oprimSelector -> TermFormat.format val format_btvKind : {eqKind: Absyn.eq, tvarKind: tvarKind} TermFormat.btvEnv * TermFormat.format -> btvKind -> TermFormat.format val format_btvEnv : {eqKind: Absyn.eq, tvarKind: tvarKind} TermFormat.btvEnv -> btvEnv -> TermFormat.format val format_btvEnvWithType : {eqKind: Absyn.eq, tvarKind: tvarKind} TermFormat.btvEnv -> btvEnv -> TermFormat.format val univKind : {tvarKind: tvarKind, eqKind: Absyn.eq, utvarOpt: utvar option} val kindedTyvarList : tvState ref list ref val newTvStateRef : {lambdaDepth: lambdaDepth, tvarKind: tvarKind, eqKind: Absyn.eq, utvarOpt: utvar option} -> tvState ref val newty : {tvarKind: tvarKind, eqKind: Absyn.eq, utvarOpt: utvar option} -> ty val newUtvar : lambdaDepth * Absyn.eq * utvar -> tvState ref val newtyRaw : {lambdaDepth: lambdaDepth, tvarKind: tvarKind, eqKind: Absyn.eq, utvarOpt: utvar option} -> ty val newtyWithLambdaDepth : (lambdaDepth * {tvarKind: tvarKind, eqKind: Absyn.eq, utvarOpt: utvar option}) -> ty val printTy : ty -> unit val tyToString : ty -> string end smlsharp-1.2.0/src/compiler/types/main/TypesUtils.smi0000644 000000000000000000000264512050661606023042 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../name/main/LocalID.smi" _require "../../control/main/Control.ppg.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "OPrimInstMap.smi" _require "Types.ppg.smi" _require "../../builtin2/main/BuiltinTypes.smi" _require "vars.smi" structure TypesUtils = struct exception CoerceFun exception CoerceTvarKindToEQ val derefTy : Types.ty -> Types.ty val substBTvar : Types.ty BoundTypeVarID.Map.map -> Types.ty -> Types.ty val freshSubst : Types.btvEnv -> Types.ty BoundTypeVarID.Map.map val monoTy : Types.ty -> bool val freshRigidInstTy : Types.ty -> Types.ty val derefSubstTy : Types.ty -> Types.ty val EFTV : Types.ty -> OTSet.set val adjustDepthInTy : Types.lambdaDepth -> Types.ty -> unit val adjustDepthInTvarKind : Types.lambdaDepth -> Types.tvarKind -> unit val generalizer : Types.ty * Types.lambdaDepth -> {boundEnv: Types.btvEnv, removedTyIds: OTSet.set} val performSubst : Types.ty * Types.ty -> unit val admitEqTy : Types.ty -> bool val coerceTvarkindToEQ : Types.tvarKind -> Types.tvarKind val copyBoundEnv : Types.btvEnv -> Types.ty BoundTypeVarID.Map.map * Types.btvEnv val coerceFunM : Types.ty * Types.ty list -> Types.ty list * Types.ty * Types.ty list val tpappTy : Types.ty * Types.ty list -> Types.ty val tyConFromConTy : Types.ty -> Types.tyCon end smlsharp-1.2.0/src/compiler/types/main/TypesUtils.sml0000644 000000000000000000007151012050661606023042 0ustar00rootroot0000000 0000000 (** * utility functions for manupilating types (needs re-writing). * @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori * @version $Id: TypesUtils.sml,v 1.35.6.3 2009/10/10 07:05:41 katsu Exp $ *) (* TODO: 1. ***compTy in RecordCompile.sml loop bug**** the fix is temporary *) structure TypesUtils = struct local structure T = Types structure A = Absyn structure BT = BuiltinTypes type ty = T.ty type path = T.path type varInfo = T.varInfo fun bug s = Control.Bug ("TypesUtils: " ^ s) fun printType ty = print (Control.prettyPrint (T.format_ty nil ty)) fun printKind kind = print (Control.prettyPrint (T.format_tvarKind nil kind)) fun printSubst subst = BoundTypeVarID.Map.mapi (fn (i,ty) => (print (BoundTypeVarID.toString i); print "="; printType ty; print "\n")) subst in fun derefTy (T.TYVARty(ref (T.SUBSTITUTED ty))) = derefTy ty | derefTy ty = ty (* Substitute bound type variables in a type. *) local val emptyVisitEnv = FreeTypeVarID.Set.empty fun visited tyidEnv id = FreeTypeVarID.Set.member(tyidEnv, id) fun visit tyidEnv id = FreeTypeVarID.Set.add(tyidEnv, id) fun substBTvar tyidEnv subst ty = case derefTy ty of T.SINGLETONty singletonTy => T.SINGLETONty (substBTvarSingletonTy tyidEnv subst singletonTy) | T.ERRORty => ty | T.DUMMYty dummyTyID => ty | T.TYVARty (r as ref (T.SUBSTITUTED ty)) => raise Control.Bug "SUBSTITUTED in substBTvar" | T.TYVARty (ref (T.TVAR _)) => ty (* Ohori: 2012-4-14. Updating type variables seem to be OK and necessary. I do not remember the case where this caused a probelm before. Ohori: 2012-4-15. The cause is probably the infinite loop by visiting the same tyvar again. This is avoided by maintaining visited set. Ohori: 2012-4-16. It should not be necessary to substitute the kind in tvar. If 'a#{l:ty} and ty is 'b then 'b must be the same level as 'a, otherwise there is some context where 'a is free while 'b is not, which is impossible by the definition of EFTV (toplas 95). | T.TYVARty (tvStateRef as ref (T.TVAR {lambdaDepth,id,tvarKind,eqKind,utvarOpt})) => if visited tyidEnv id then ty else let val tyidEnv = visit tyidEnv id val _ = tvStateRef := T.TVAR {lambdaDepth=lambdaDepth, id=id, tvarKind=substBTvarTvarKind tyidEnv subst tvarKind, eqKind=eqKind, utvarOpt=utvarOpt} in ty end *) | T.BOUNDVARty n => (case BoundTypeVarID.Map.find(subst, n) of SOME ty' => ty' | _ => ty) | T.FUNMty (tyList, ty) => T.FUNMty (map (substBTvar tyidEnv subst) tyList, substBTvar tyidEnv subst ty) | T.RECORDty tySenvMap => T.RECORDty (LabelEnv.map (substBTvar tyidEnv subst) tySenvMap) | T.CONSTRUCTty {tyCon,args} => T.CONSTRUCTty {tyCon=substBTvarTyCon tyidEnv subst tyCon, args = map (substBTvar tyidEnv subst) args} | T.POLYty {boundtvars, body} => let val boundtvars = BoundTypeVarID.Map.map (fn {eqKind, tvarKind} => {eqKind=eqKind, tvarKind=substBTvarTvarKind tyidEnv subst tvarKind} ) boundtvars val newTy = T.POLYty{boundtvars = boundtvars, body = substBTvar tyidEnv subst body} in newTy end and substBTvarSingletonTy tyidEnv subst singletonTy = case singletonTy of T.INSTCODEty {oprimId, path, keyTyList, match, instMap} => T.INSTCODEty {oprimId = oprimId, path = path, keyTyList = map (substBTvar tyidEnv subst) keyTyList, match = substBTvarOverloadMatch tyidEnv subst match, instMap = instMap} | T.INDEXty (label, ty) => T.INDEXty (label, substBTvar tyidEnv subst ty) | T.TAGty ty => T.TAGty (substBTvar tyidEnv subst ty) | T.SIZEty ty => T.SIZEty (substBTvar tyidEnv subst ty) and substBTvarTyCon tyidEnv subst ({id, path,iseq,arity,runtimeTy,conSet,extraArgs,dtyKind}) = {id=id, path=path, iseq=iseq, arity=arity, runtimeTy=runtimeTy, conSet=conSet, extraArgs = map (substBTvar tyidEnv subst) extraArgs, dtyKind=(substBTvarDtyKind tyidEnv subst dtyKind)} and substBTvarDtyKind tyidEnv subst dtyKind = case dtyKind of T.DTY => T.DTY | T.OPAQUE {opaqueRep, revealKey} => T.OPAQUE {opaqueRep = substBTvarOpaqueRep tyidEnv subst opaqueRep, revealKey=revealKey} | T.BUILTIN _ => dtyKind and substBTvarOpaqueRep tyidEnv subst opaqueRep = case opaqueRep of T.TYCON tyCon => T.TYCON (substBTvarTyCon tyidEnv subst tyCon) | T.TFUNDEF {iseq, arity, polyTy} => T.TFUNDEF {iseq=iseq, arity=arity, polyTy=substBTvar tyidEnv subst polyTy} (* This is wrong; we should not update the original ref. and substBTvarTvstate subst tvstate = case tvstate of T.TVAR {lambdaDepth,id,tvarKind,eqKind,utvarOpt} => tvstate | T.SUBSTITUTED ty => T.SUBSTITUTED (substBTvar subst ty) Ohori: 2012-4-14. Updating type variables for TVAR seem to be OK. Updating T.SUBSTITUTED causes probem. I do not know why. *) and substBTvarTvarKind tyidEnv subst tvarKind = case tvarKind of T.REC fields => T.REC (LabelEnv.map (substBTvar tyidEnv subst) fields) | T.UNIV => T.UNIV | T.OCONSTkind l => T.OCONSTkind (map (substBTvar tyidEnv subst) l) | T.OPRIMkind {instances, operators} => T.OPRIMkind {instances = map (substBTvar tyidEnv subst) instances, operators = map (fn {oprimId, path, keyTyList, match, instMap} => {oprimId = oprimId, path = path, keyTyList = map (substBTvar tyidEnv subst) keyTyList, match = substBTvarOverloadMatch tyidEnv subst match, instMap = instMap}) operators } and substBTvarOverloadMatch tyidEnv subst match = case match of T.OVERLOAD_EXVAR {exVarInfo, instTyList} => T.OVERLOAD_EXVAR {exVarInfo = exVarInfo, instTyList = map (substBTvar tyidEnv subst) instTyList} | T.OVERLOAD_PRIM {primInfo, instTyList} => T.OVERLOAD_PRIM {primInfo = primInfo, instTyList = map (substBTvar tyidEnv subst) instTyList} | T.OVERLOAD_CASE (ty, matches) => T.OVERLOAD_CASE (substBTvar tyidEnv subst ty, TypID.Map.map (substBTvarOverloadMatch tyidEnv subst) matches) in val substBTvar = fn subst => fn ty => substBTvar emptyVisitEnv subst ty val substBTvarSingletonTy = fn subst => fn singletonTy => substBTvarSingletonTy emptyVisitEnv subst singletonTy val substBTvarTyCon = fn subst => fn arg => substBTvarTyCon emptyVisitEnv subst arg val substBTvarDtyKind = fn subst => fn dtyKind => substBTvarDtyKind emptyVisitEnv subst dtyKind val substBTvarOpaqueRep = fn subst => fn opaqueRep => substBTvarOpaqueRep emptyVisitEnv subst opaqueRep val substBTvarTvarKind = fn subst => fn tvarKind => substBTvarTvarKind emptyVisitEnv subst tvarKind val substBTvarOverloadMatch = fn subst => fn match => substBTvarOverloadMatch emptyVisitEnv subst match end (** * Make a fresh instance of a bound type Environment. * * ex: for {U,{a:0}}, it generate [0 <- t1, 1 <- t2] under the global type * variable Environment {t1:U,t2:{a:t1}}. * * @params tvEnv subst * @param tvEnv a set of bound type variables of the form {0:k_0,...,i:k_i} * @param subst bound type variable substitution * @return *) fun makeFreshSubst utvarOpt boundEnv = let val subst = BoundTypeVarID.Map.map (fn x => let val newTy = T.newty { tvarKind = T.UNIV, eqKind = A.NONEQ, utvarOpt = utvarOpt } in newTy end) boundEnv val newSubst = BoundTypeVarID.Map.mapi (fn (i, ty) => (case BoundTypeVarID.Map.find(boundEnv, i) of SOME {tvarKind, eqKind} => let val uvtarOpt = case utvarOpt of NONE => NONE | SOME{name, id,...} => SOME{name=name,id=id,eq=eqKind} in (ty, utvarOpt, eqKind, substBTvarTvarKind subst tvarKind) end | _ => raise Control.Bug "fresh Subst") ) subst val _ = BoundTypeVarID.Map.appi (fn (i, (ty as T.TYVARty(r as ref (T.TVAR {id,...})), utvarOpt, eqKind, tvarKind)) => r := T.TVAR { lambdaDepth = T.infiniteDepth, id = id, tvarKind = tvarKind, eqKind = eqKind, utvarOpt = utvarOpt } | _ => raise Control.Bug "fresh Subst") newSubst in subst end fun freshSubst boundEnv = makeFreshSubst NONE boundEnv fun freshRigidSubst boundEnv = let val id = TvarID.generate() val tvar = {name="RIGID", eq=A.NONEQ,id=id,lifted=false} val utvarOpt = SOME tvar in makeFreshSubst utvarOpt boundEnv end (** * Check whether a type is a mono type or not. *) fun monoTy ty = let exception PolyTy fun visit ty = case ty of T.SINGLETONty singletonTy => raise PolyTy | T.ERRORty => () | T.DUMMYty dummyTyID => () | T.TYVARty _ => () | T.BOUNDVARty _ => (* raise PolyTy *) () (* this should be ok *) | T.FUNMty (_, ty) => visit ty | T.RECORDty tySenvMap => LabelEnv.app visit tySenvMap | T.CONSTRUCTty _ => () | T.POLYty {boundtvars, body} => raise PolyTy in (visit ty; true) handle PolyTy => false end fun makeFreshInstTy makeSubst ty = if monoTy ty then ty else case ty of T.POLYty{boundtvars,body,...} => let val subst = makeSubst boundtvars val bty = substBTvar subst body in makeFreshInstTy makeSubst bty end | T.FUNMty (tyList,ty) => T.FUNMty(tyList, makeFreshInstTy makeSubst ty) | T.RECORDty fl => T.RECORDty (LabelEnv.map (makeFreshInstTy makeSubst) fl) | ty => ty fun freshInstTy ty = makeFreshInstTy freshSubst ty fun freshRigidInstTy ty = makeFreshInstTy freshRigidSubst ty exception ExSpecTyCon of string exception ExIllegalTyFunToTyCon of string exception CoerceFun exception CoerceTvarKindToEQ fun derefSubstTy (T.TYVARty(ref (T.SUBSTITUTED ty))) = derefSubstTy ty | derefSubstTy ty = ty (* fun pruneTy ty = case ty of T.TYVARty (ref(T.SUBSTITUTED ty)) => pruneTy ty | T.POLYty {boundtvars, body = T.TYVARty(ref(T.SUBSTITUTED ty))} => pruneTy (T.POLYty {boundtvars = boundtvars, body = ty}) | _ => ty *) fun EFTV ty = let fun traverseTy (ty,set) = case ty of T.SINGLETONty sty => traverseSingletonTy (sty, set) | T.ERRORty => set | T.DUMMYty int => set | T.TYVARty (ref(T.SUBSTITUTED ty)) => traverseTy (ty,set) | T.TYVARty (ref(T.TVAR {tvarKind=T.OCONSTkind _,...})) => set | T.TYVARty (tyvarRef as (ref(T.TVAR tvKind))) => if OTSet.member(set, tyvarRef) then set else traverseTvKind (tvKind, OTSet.add(set, tyvarRef)) | T.BOUNDVARty int => set | T.FUNMty (tyList, ty) => traverseTy (ty, foldl traverseTy set tyList) | T.RECORDty tyLabelEnvMap => LabelEnv.foldl (fn (ty, set) => traverseTy (ty,set)) set tyLabelEnvMap | T.CONSTRUCTty {tyCon, args = tyList} => foldl traverseTy set tyList | T.POLYty {boundtvars, body=ty} => BoundTypeVarID.Map.foldl (fn ({eqKind, tvarKind}, set) => traverseTvarKind (tvarKind, set) ) (traverseTy (ty,set)) boundtvars and traverseSingletonTy (singletonTy, set) = case singletonTy of T.INSTCODEty selector => traverseOprimSelector (selector, set) | T.INDEXty (label, ty) => traverseTy (ty, set) | T.TAGty ty => traverseTy (ty, set) | T.SIZEty ty => traverseTy (ty, set) and traverseOprimSelector ({oprimId, path, keyTyList, match, instMap} : T.oprimSelector, set) = traverseOverloadMatch (match, foldl traverseTy set keyTyList) and traverseOverloadMatch (match, set) = case match of T.OVERLOAD_EXVAR {exVarInfo, instTyList} => foldl traverseTy set instTyList | T.OVERLOAD_PRIM {primInfo, instTyList} => foldl traverseTy set instTyList | T.OVERLOAD_CASE (ty, map) => TypID.Map.foldl traverseOverloadMatch (traverseTy (ty, set)) map and traverseTvKind ({lambdaDepth, id, tvarKind, eqKind, utvarOpt}, set) = traverseTvarKind (tvarKind, set) and traverseTvarKind (tvarKind, set) = case tvarKind of T.UNIV=> set | T.REC fields => LabelEnv.foldl traverseTy set fields | T.OCONSTkind _ => raise Control.Bug "OCONSTkind to travseTvKind" | T.OPRIMkind {instances, operators} => foldl traverseOprimSelector (foldl traverseTy set instances) operators in traverseTy (ty, OTSet.empty) end fun adjustDepthInTy contextDepth ty = let val tyset = EFTV ty in OTSet.app (fn (tyvarRef as (ref (T.TVAR { lambdaDepth=tyvarDepth, id, tvarKind, eqKind, utvarOpt }))) => if T.strictlyYoungerDepth {tyvarDepth=tyvarDepth, contextDepth=contextDepth} then tyvarRef := T.TVAR { lambdaDepth=contextDepth, id = id, tvarKind = tvarKind, eqKind = eqKind, utvarOpt = utvarOpt } else () | _ => raise Control.Bug "non TVAR in adjustDepthInTy (TypesUtils.sml)" ) tyset end fun adjustDepthInTvarKind contextDepth kind = case kind of T.UNIV => () | T.REC fields => LabelEnv.app (adjustDepthInTy contextDepth) fields | T.OCONSTkind tyList => List.app (adjustDepthInTy contextDepth) tyList | T.OPRIMkind {instances = tyList,...} => List.app (adjustDepthInTy contextDepth) tyList (** * Type generalizer. * This must be called top level, i.e. de Bruijn 0 *) (* fix the bug 187 * when typeinference phase does type instantiation for the more * polymorphic type in strucutre with the restricted type in signature, * the bound type variables of the new generated instantiated type * should be in the same order as that specified at the type in the * signature. Since the type varialbes of a polymorphic val type in * signature only bounded at toplevel, the order of these bounded type * variables decides the order of type instantiation paramaters. When we * do freshRigidInstTy of a signature type, the rigid type variables are * in the same incremental order as bound variables. And then we * generalize the instantiated structure type (see function * generateInstTermFunOnStructure in TypeInstantiationTerm.sml) by the * rigid type variables. Since it is always incremental we generate the * orderedTidEnv below. So in this way we generates the new bounded * type variables in the order as that of original bounded type * variables. *) fun generalizer (ty, contextLambdaDepth) = let val freeTvs = EFTV ty val tids = OTSet.filter (fn (ref(T.TVAR{id, tvarKind = T.OCONSTkind _,...})) => raise Control.Bug "OCONSTkind ty to generalizer" | (ref (T.TVAR {lambdaDepth = tyvarLambdaDepth,...})) => T.youngerDepth {contextDepth = contextLambdaDepth, tyvarDepth = tyvarLambdaDepth} | _ => raise Control.Bug "non TVAR found in freeTvs in generalizer\ \ (types/main/TypesUtils)" ) freeTvs in if OTSet.isEmpty tids then ({boundEnv = BoundTypeVarID.Map.empty, removedTyIds = OTSet.empty}) else let val btvs = OTSet.foldl (fn (r as ref(T.TVAR (k as {id, ...})), btvs) => let val btvid = BoundTypeVarID.generate () in ( r := T.SUBSTITUTED (T.BOUNDVARty btvid); ( BoundTypeVarID.Map.insert ( btvs, btvid, { tvarKind = (#tvarKind k), eqKind = (#eqKind k) } ) ) ) end | _ => raise Control.Bug "generalizeTy") BoundTypeVarID.Map.empty tids in if OTSet.isEmpty tids then ({boundEnv = BoundTypeVarID.Map.empty, removedTyIds = OTSet.empty}) else ({boundEnv = btvs, removedTyIds = tids}) end end (** * Perform imperative implace substitutrion. *) fun performSubst (T.TYVARty (r as ref(T.TVAR _)), ty) = r := T.SUBSTITUTED ty | performSubst _ = raise Control.Bug "non TVAR in performSubst (types/mainTypesUtils.sml)" fun admitEqTy ty = let exception NonEQ fun visit ty = case ty of T.SINGLETONty singletonTy => raise NonEQ | T.ERRORty => raise NonEQ | T.DUMMYty dummyTyID => () | T.TYVARty (ref(T.TVAR {eqKind = A.NONEQ, ...})) => raise NonEQ | T.TYVARty (ref(T.TVAR {eqKind = A.EQ, ...})) => () | T.TYVARty (ref(T.SUBSTITUTED ty)) => visit ty | T.BOUNDVARty boundTypeVarID => () | T.FUNMty _ => raise NonEQ | T.RECORDty tySenvMap => LabelEnv.app visit tySenvMap | T.CONSTRUCTty {tyCon={id,iseq,...},args} => if TypID.eq(id, #id BT.arrayTyCon) then () else if TypID.eq(id, #id BT.refTyCon) then () else if iseq then List.app visit args else raise NonEQ | T.POLYty {boundtvars, body} => (BoundTypeVarID.Map.app (fn {eqKind, tvarKind} => visitTvarKind tvarKind) boundtvars; visit body) and visitTvarKind tvarKind = case tvarKind of T.UNIV => () | T.REC tySenvMap => LabelEnv.app visit tySenvMap | T.OCONSTkind tyList => List.app visit tyList | T.OPRIMkind {instances, operators} => List.app visit instances in (visit ty; true) handle NonEQ => false end fun coerceTvarkindToEQ tvarKind = let fun adjustEqKindInTy eqKind ty = case eqKind of A.NONEQ => () | A.EQ => let val tyset = EFTV ty in OTSet.app (fn (tyvarRef as (ref (T.TVAR { lambdaDepth =lambdaDepth, id, tvarKind, eqKind, utvarOpt } ))) => tyvarRef := T.TVAR { lambdaDepth = lambdaDepth, id = id, tvarKind = tvarKind, eqKind = A.EQ, utvarOpt = utvarOpt } | _ => raise Control.Bug "non TVAR in adjustDepthInTy (TypesUtils.sml)" ) tyset end fun adjustEqKindInTvarKind eqKind kind = case kind of T.UNIV => () | T.REC fields => LabelEnv.app (adjustEqKindInTy eqKind) fields | T.OCONSTkind tyList => List.app (adjustEqKindInTy eqKind) tyList | T.OPRIMkind {instances = tyList,...} => List.app (adjustEqKindInTy eqKind) tyList in (adjustEqKindInTvarKind A.EQ tvarKind; case tvarKind of T.UNIV => T.UNIV | T.REC fields => T.REC fields | T.OCONSTkind L => let val L = List.filter admitEqTy L in case L of nil => raise CoerceTvarKindToEQ | _ => T.OCONSTkind L end | T.OPRIMkind {instances,operators} => let val instances = List.filter admitEqTy instances in case instances of nil => raise CoerceTvarKindToEQ | _ => T.OPRIMkind {instances = instances, operators =operators} end ) end (** * Make a fresh copy of a bound type environment by allocating a new btvid * @params boundEnv * @return subst bound type variable substitution *) fun copyBoundEnv (boundEnv:T.btvEnv) : T.ty BoundTypeVarID.Map.map * T.btvEnv = let val newSubst = BoundTypeVarID.Map.map (fn _ => let val newBoundVarId = BoundTypeVarID.generate () in T.BOUNDVARty newBoundVarId end) boundEnv val newBoundEnv = BoundTypeVarID.Map.foldri (fn (oldId, {tvarKind, eqKind}, newBoundEnv) => (case BoundTypeVarID.Map.find(newSubst, oldId) of SOME (T.BOUNDVARty newId) => BoundTypeVarID.Map.insert (newBoundEnv, newId, {tvarKind=substBTvarTvarKind newSubst tvarKind, eqKind=eqKind}) | _ => raise Control.Bug "copyBoundEnv")) BoundTypeVarID.Map.empty boundEnv in (newSubst, newBoundEnv) end fun coerceFunM (ty, tyList) = case derefTy ty of oldTy as T.TYVARty (ref (T.TVAR {lambdaDepth, id, tvarKind = T.UNIV, eqKind, utvarOpt = NONE})) => let (* 2012-7-27 ohori. eqKind must be NONEQ *) val _ = case eqKind of A.EQ => raise CoerceFun | _ => () (* 2012-7-27 ohori. The following does not make sense: val tyList = map (fn x => let val newTy = T.newty {tvarKind = T.UNIV, eqKind=eqKind, utvarOpt = NONE} in newTy end) tyList *) val tyList = map (fn x => T.newty T.univKind) tyList val ty2 = T.newty T.univKind val resTy = T.FUNMty(tyList, ty2) val _ = adjustDepthInTy lambdaDepth resTy val _ = performSubst (oldTy, resTy) in (tyList, ty2, nil) end | T.TYVARty (ref (T.TVAR {utvarOpt = SOME _,...})) => raise CoerceFun | T.TYVARty (ref(T.SUBSTITUTED ty)) => coerceFunM (ty, tyList) | T.FUNMty (tyList, ty2) => (tyList, ty2, nil) | T.POLYty {boundtvars, body} => (case derefTy body of T.FUNMty(tyList,ty2) => let val subst1 = freshSubst boundtvars val argTyList = map (substBTvar subst1) tyList val ranTy = substBTvar subst1 ty2 val btvInstTyList = BoundTypeVarID.Map.listItemsi subst1 val instTyList = map #2 btvInstTyList in (argTyList,ranTy,instTyList) end | T.ERRORty => (map (fn x => T.ERRORty) tyList, T.ERRORty, nil) | _ => raise CoerceFun ) | T.ERRORty => (map (fn x => T.ERRORty) tyList, T.ERRORty, nil) | _ => raise CoerceFun (* exception RigidCoerceFunM fun rigidCoerceFunM (ty, tyList) = case derefTy ty of oldTy as T.TYVARty (ref (T.TVAR {lambdaDepth, id, tvarKind = T.UNIV, eqKind, utvarOpt = NONE})) => let val tyList = map (fn x => let val newTy = T.newty {tvarKind = T.UNIV, eqKind=eqKind, utvarOpt = NONE} in newTy end) tyList (* val tyList = map (fn x => T.newty T.univKind) tyList *) val ty2 = T.newty T.univKind val resTy = T.FUNMty(tyList, ty2) val _ = adjustDepthInTy lambdaDepth resTy val _ = performSubst (oldTy, resTy) in (tyList, ty2) end | T.TYVARty (ref (T.TVAR {utvarOpt = SOME _,...})) => raise RigidCoerceFunM | T.TYVARty (ref(T.SUBSTITUTED ty)) => rigidCoerceFunM (ty, tyList) | T.FUNMty (tyList, ty2) => (tyList, ty2) | T.POLYty {boundtvars, body} => raise RigidCoerceFunM | T.ERRORty => (map (fn x => T.ERRORty) tyList, T.ERRORty) | _ => raise RigidCoerceFunM *) fun tpappTy (ty, nil) = ty | tpappTy (T.TYVARty (ref (T.SUBSTITUTED ty)), tyl) = tpappTy (ty, tyl) | tpappTy (T.POLYty{boundtvars, body, ...}, tyl) = let val subst = ListPair.foldr (fn ((i, _), ty, S) => BoundTypeVarID.Map.insert(S, i, ty)) BoundTypeVarID.Map.empty (BoundTypeVarID.Map.listItemsi boundtvars, tyl) in substBTvar subst body end | tpappTy (ty1, tyl) = raise Control.Bug ("tpappTy:" ^ Control.prettyPrint (Types.format_ty nil ty1) ^ ", " ^ "{" ^ concat(map (fn x => Control.prettyPrint (Types.format_ty nil x)) tyl) ^ "}") fun tyConFromConTy ty = case derefTy ty of T.POLYty{body,...} => (case derefTy body of T.FUNMty(_, ty) => (case derefTy ty of T.CONSTRUCTty{tyCon,...} => tyCon | _ => raise bug "tyConFromConTy:non con ty" ) | ty => (case derefTy ty of T.CONSTRUCTty{tyCon,...} => tyCon | _ => raise bug "tyConFromConTy:non con ty" ) ) | T.FUNMty(_,ty) => (case derefTy ty of T.CONSTRUCTty {tyCon,...} => tyCon | _ => raise bug "tyConFromConTy:non con ty" ) | T.CONSTRUCTty{tyCon,...} => tyCon | _ => raise bug "tyConFromConTy:non con ty" end end smlsharp-1.2.0/src/compiler/types/main/TyPrinters.smi0000644 000000000000000000000055312050661606023034 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "Types.ppg.smi" structure TyPrinters = struct val print : string -> unit val printPath : string list -> unit val printTy : Types.ty -> unit val printTpVarInfo : {id:VarID.id, path:string list, ty:Types.ty} -> unit end smlsharp-1.2.0/src/compiler/types/main/TyPrinters.sml0000644 000000000000000000000072212050661606023035 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2012- Tohoku University. * @author Atsushi Ohori *) structure TyPrinters = struct local structure T = Types in (* for debugging *) val print = fn s => if !Control.printInfo then print s else () fun printPath path = print (String.concatWith "." path) fun printTy ty = print (Control.prettyPrint (T.format_ty nil ty)) fun printTpVarInfo var = print (Control.prettyPrint (T.formatWithType_varInfo nil var)) end end smlsharp-1.2.0/src/compiler/types/main/TyReduce.smi0000644 000000000000000000000217112050661606022433 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../builtin2/main/BuiltinTypeNames.ppg.smi" _require "TyAlphaRename.smi" _require "Types.ppg.smi" _require "TypesUtils.smi" _require "OPrimInstMap.smi" _require "TyPrinters.smi" structure TyReduce = struct type btvMap = Types.ty BoundTypeVarID.Map.map val emptyBtvMap : btvMap val evalBtvEnv : btvMap -> Types.btvEnv -> Types.btvEnv val evalConInfo : btvMap -> Types.conInfo -> Types.conInfo val evalExExnInfo : btvMap -> Types.exExnInfo -> Types.exExnInfo val evalExVarInfo : btvMap -> Types.exVarInfo -> Types.exVarInfo val evalExnInfo : btvMap -> Types.exnInfo -> Types.exnInfo val evalOprimInfo : btvMap -> Types.oprimInfo -> Types.oprimInfo val evalPrimInfo : btvMap -> Types.primInfo -> Types.primInfo val evalTy : btvMap -> Types.ty -> Types.ty val evalTyVar : btvMap -> Types.varInfo -> Types.varInfo end smlsharp-1.2.0/src/compiler/types/main/TyReduce.sml0000644 000000000000000000001620612050661606022442 0ustar00rootroot0000000 0000000 structure TyReduce = struct local structure T = Types structure TU = TypesUtils structure P = TyPrinters type ty = T.ty type varInfo = T.varInfo type path = T.path type btv = BoundTypeVarID.id fun bug s = Control.Bug ("TyReduce: " ^ s) in type btvMap = ty BoundTypeVarID.Map.map val emptyBtvMap = BoundTypeVarID.Map.empty : btvMap fun evalBtv (btvMap:btvMap) (btv:btv) : ty = case BoundTypeVarID.Map.find(btvMap, btv) of NONE => T.BOUNDVARty btv | SOME ty => TyAlphaRename.copyTy TyAlphaRename.emptyBtvMap ty val foo = evalBtv fun evalSingletonTy (btvMap:btvMap) (singletonTy:T.singletonTy) : T.singletonTy = case singletonTy of T.INSTCODEty { oprimId, path, keyTyList : ty list, match : T.overloadMatch, instMap : T.overloadMatch OPrimInstMap.map } => T.INSTCODEty { oprimId=oprimId, path=path, keyTyList = map (evalTy btvMap) keyTyList, match = evalOverloadMatch btvMap match, instMap = OPrimInstMap.map (evalOverloadMatch btvMap) instMap } | T.INDEXty (string, ty) => T.INDEXty (string, evalTy btvMap ty) | T.TAGty ty => T.TAGty (evalTy btvMap ty) | T.SIZEty ty => T.SIZEty (evalTy btvMap ty) and evalOverloadMatch (btvMap:btvMap) (overloadMatch:T.overloadMatch) : T.overloadMatch = case overloadMatch of T.OVERLOAD_EXVAR {exVarInfo, instTyList} => T.OVERLOAD_EXVAR {exVarInfo = evalExVarInfo btvMap exVarInfo, instTyList = map (evalTy btvMap) instTyList } | T.OVERLOAD_PRIM {primInfo, instTyList} => T.OVERLOAD_PRIM { primInfo = evalPrimInfo btvMap primInfo, instTyList = map (evalTy btvMap) instTyList } | T.OVERLOAD_CASE (ty, map:T.overloadMatch TypID.Map.map) => T.OVERLOAD_CASE (evalTy btvMap ty, TypID.Map.map (evalOverloadMatch btvMap) map ) and evalExVarInfo (btvMap:btvMap) {path:path,ty:ty} : T.exVarInfo = {path=path, ty=evalTy btvMap ty} and evalPrimInfo (btvMap:btvMap) ({primitive, ty}:T.primInfo) : T.primInfo = {primitive=primitive, ty=evalTy btvMap ty} and evalOprimInfo (btvMap:btvMap) ({ty, path, id}:T.oprimInfo) : T.oprimInfo = {ty=evalTy btvMap ty, path=path,id=id} and evalConInfo (btvMap:btvMap) ({path, ty, id}:T.conInfo) : T.conInfo = {path=path, ty=evalTy btvMap ty, id=id} and evalExnInfo (btvMap:btvMap) ({path, ty, id}:T.exnInfo) : T.exnInfo = {path=path, ty=evalTy btvMap ty, id=id} and evalExExnInfo (btvMap:btvMap) ({path, ty}:T.exExnInfo) : T.exExnInfo = {path=path, ty=evalTy btvMap ty} and evalTy (btvMap:btvMap) (ty:ty) : ty = case TU.derefTy ty of T.SINGLETONty singletonTy => T.SINGLETONty (evalSingletonTy btvMap singletonTy) | T.ERRORty => ty | T.DUMMYty dummyTyID => ty | T.TYVARty _ => raise bug "TYVARty in Optimize" | T.BOUNDVARty btv => evalBtv btvMap btv | T.FUNMty (tyList, ty) => T.FUNMty (map (evalTy btvMap) tyList, evalTy btvMap ty) | T.RECORDty (fields:ty LabelEnv.map) => T.RECORDty (LabelEnv.map (evalTy btvMap) fields) | T.CONSTRUCTty { tyCon = {id : T.typId, path : path, iseq : bool, arity : int, runtimeTy : BuiltinTypeNames.bty, conSet : {hasArg:bool} SEnv.map, extraArgs : ty list, dtyKind : T.dtyKind }, args : ty list } => T.CONSTRUCTty { tyCon = {id = id, path = path, iseq = iseq, arity = arity, runtimeTy = runtimeTy, conSet = conSet, extraArgs = map (evalTy btvMap) extraArgs, dtyKind = evalDtyKind btvMap dtyKind }, args = map (evalTy btvMap) args } | T.POLYty { boundtvars : T.btvEnv, body : ty } => let val boundtvars = evalBtvEnv btvMap boundtvars in T.POLYty { boundtvars = boundtvars, body = evalTy btvMap body } end and evalBtvEnv (btvMap:btvMap) (btvEnv:T.btvEnv) = BoundTypeVarID.Map.map (evalBtvkind btvMap) btvEnv and evalBtvkind (btvMap:btvMap) {tvarKind, eqKind} = {tvarKind=evalTvarKind btvMap tvarKind, eqKind=eqKind} and evalTvarKind btvMap tvarKind = case tvarKind of T.OCONSTkind tyList => T.OCONSTkind (map (evalTy btvMap) tyList) | T.OPRIMkind {instances:ty list, operators: { oprimId : OPrimID.id, path : path, keyTyList : ty list, match : T.overloadMatch, instMap : T.overloadMatch OPrimInstMap.map } list } => T.OPRIMkind {instances = map (evalTy btvMap) instances, operators = map (fn {oprimId, path, keyTyList, match, instMap} => {oprimId=oprimId, path=path, keyTyList = map (evalTy btvMap) keyTyList, match = evalOverloadMatch btvMap match, instMap = OPrimInstMap.map (evalOverloadMatch btvMap) instMap} ) operators } | T.UNIV => T.UNIV | T.REC (fields:ty LabelEnv.map) => T.REC (LabelEnv.map (evalTy btvMap) fields) and evalDtyKind btvMap dtyKind = case dtyKind of T.DTY => dtyKind | T.OPAQUE {opaqueRep:T.opaqueRep, revealKey:T.revealKey} => T.OPAQUE {opaqueRep = evalOpaqueRep btvMap opaqueRep, revealKey=revealKey} | T.BUILTIN bty => dtyKind and evalOpaqueRep btvMap opaueRep = case opaueRep of T.TYCON {id : T.typId, path : path, iseq : bool, arity : int, runtimeTy : BuiltinTypeNames.bty, conSet : {hasArg:bool} SEnv.map, extraArgs : ty list, dtyKind : T.dtyKind } => T.TYCON {id = id, path = path, iseq = iseq, arity = arity, runtimeTy = runtimeTy, conSet = conSet, extraArgs = map (evalTy btvMap) extraArgs, dtyKind = evalDtyKind btvMap dtyKind } | T.TFUNDEF {iseq, arity, polyTy} => T.TFUNDEF {iseq=iseq, arity=arity, polyTy = evalTy btvMap polyTy} fun evalTyVar (btvMap:btvMap) ({id, ty, path}:varInfo) = {id=id, path=path, ty=evalTy btvMap ty} fun applyTys (btvMap:btvMap) (btvEnv:T.btvEnv, instTyList:ty list) : btvMap = let val btvList = BoundTypeVarID.Map.listKeys btvEnv val btvBinds = ListPair.zip (btvList, instTyList) val btvMap = foldl (fn ((btv,ty), btvMap) => BoundTypeVarID.Map.insert(btvMap, btv, ty)) btvMap btvBinds in btvMap end end end smlsharp-1.2.0/src/compiler/types/main/TyRevealTy.smi0000644 000000000000000000000163412050661606022762 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlnj-lib/Util/lib-base.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../builtin2/main/BuiltinTypeNames.ppg.smi" _require "OPrimInstMap.smi" _require "Types.ppg.smi" _require "TypesUtils.smi" _require "Unify.smi" structure TyRevealTy = struct val revealTy : Types.ty -> Types.ty val revealVar : Types.varInfo -> Types.varInfo val revealConInfo : Types.conInfo -> Types.conInfo val revealExnInfo : Types.exnInfo -> Types.exnInfo val revealExExnInfo : Types.exExnInfo -> Types.exExnInfo val revealOprimInfo : Types.oprimInfo -> Types.oprimInfo val revealPrimInfo : Types.primInfo -> Types.primInfo val revealBtvEnv : Types.btvEnv -> Types.btvEnv end smlsharp-1.2.0/src/compiler/types/main/TyRevealTy.sml0000644 000000000000000000001364712050661606022774 0ustar00rootroot0000000 0000000 structure TyRevealTy = struct local structure U = Unify structure T = Types structure TU = TypesUtils type ty = T.ty type path = T.path type varInfo = T.varInfo fun bug s = Control.Bug ("TyRevealTy: " ^ s) in fun revealSingletonTy (singletonTy:T.singletonTy) : T.singletonTy = case singletonTy of T.INSTCODEty { oprimId, path, keyTyList : ty list, match : T.overloadMatch, instMap : T.overloadMatch OPrimInstMap.map } => T.INSTCODEty { oprimId=oprimId, path=path, keyTyList = map revealTy keyTyList, match = revealOverloadMatch match, instMap = OPrimInstMap.map revealOverloadMatch instMap } | T.INDEXty (string, ty) => T.INDEXty (string, revealTy ty) | T.TAGty ty => T.TAGty (revealTy ty) | T.SIZEty ty => T.SIZEty (revealTy ty) and revealOverloadMatch (overloadMatch:T.overloadMatch) : T.overloadMatch = case overloadMatch of T.OVERLOAD_EXVAR {exVarInfo, instTyList} => T.OVERLOAD_EXVAR {exVarInfo = revealExVarInfo exVarInfo, instTyList = map revealTy instTyList } | T.OVERLOAD_PRIM {primInfo, instTyList} => T.OVERLOAD_PRIM { primInfo = revealPrimInfo primInfo, instTyList = map revealTy instTyList } | T.OVERLOAD_CASE (ty, map:T.overloadMatch TypID.Map.map) => T.OVERLOAD_CASE (revealTy ty, TypID.Map.map revealOverloadMatch map) and revealExVarInfo {path:path,ty:ty} : T.exVarInfo = {path=path, ty=revealTy ty} and revealPrimInfo ({primitive, ty}:T.primInfo) : T.primInfo = {primitive=primitive, ty=revealTy ty} and revealOprimInfo ({ty, path, id}:T.oprimInfo) : T.oprimInfo = {ty=revealTy ty, path=path, id=id} and revealConInfo ({path, ty, id}:T.conInfo) : T.conInfo = {path=path, ty=revealTy ty, id=id} and revealExnInfo ({path, ty, id}:T.exnInfo) : T.exnInfo = {path=path, ty=revealTy ty, id=id} and revealExExnInfo ({path, ty}:T.exExnInfo) : T.exExnInfo = {path=path, ty=revealTy ty} and revealTyCon {id : T.typId, path : path, iseq : bool, arity : int, runtimeTy : BuiltinTypeNames.bty, conSet : {hasArg:bool} SEnv.map, extraArgs : ty list, dtyKind : T.dtyKind } = {id = id, path = path, iseq = iseq, arity = arity, runtimeTy = runtimeTy, conSet = conSet, extraArgs = map revealTy extraArgs, dtyKind = revealDtyKind dtyKind } and revealDtyKind dtyKind = case dtyKind of T.DTY => dtyKind | T.OPAQUE {opaqueRep:T.opaqueRep, revealKey:T.revealKey} => T.OPAQUE {opaqueRep = revealOpaqueRep opaqueRep, revealKey=revealKey} | T.BUILTIN bty => dtyKind and revealOpaqueRep opaueRep = case opaueRep of T.TYCON tyCon =>T.TYCON (revealTyCon tyCon) | T.TFUNDEF {iseq, arity, polyTy} => T.TFUNDEF {iseq=iseq, arity=arity, polyTy = revealTy polyTy} and revealTy (ty:ty) : ty = case TU.derefTy ty of T.SINGLETONty singletonTy => T.SINGLETONty (revealSingletonTy singletonTy) | T.ERRORty => ty | T.DUMMYty dummyTyID => ty | T.TYVARty _ => raise bug "TYVARty in Optimize" | T.BOUNDVARty btv => ty | T.FUNMty (tyList, ty) => T.FUNMty (map revealTy tyList, revealTy ty) | T.RECORDty (fields:ty LabelEnv.map) => T.RECORDty (LabelEnv.map revealTy fields) | T.CONSTRUCTty {tyCon, args} => let val tyCon as {id : T.typId, path : path, iseq : bool, arity : int, runtimeTy : BuiltinTypeNames.bty, conSet : {hasArg:bool} SEnv.map, extraArgs : ty list, dtyKind : T.dtyKind } = revealTyCon tyCon val args = map revealTy args in case dtyKind of T.OPAQUE{opaqueRep,revealKey} => (case opaqueRep of T.TYCON tyCon => T.CONSTRUCTty{tyCon=tyCon, args= args} | T.TFUNDEF {iseq, arity, polyTy} => U.instOfPolyTy(polyTy, args) ) | T.DTY => T.CONSTRUCTty{tyCon=tyCon, args= args} | T.BUILTIN bty => T.CONSTRUCTty{tyCon=tyCon, args= args} end | T.POLYty {boundtvars : T.btvEnv, body : ty } => T.POLYty {boundtvars = revealBtvEnv boundtvars, body = revealTy body} and revealBtvEnv (btvEnv:T.btvEnv) = BoundTypeVarID.Map.map revealBtvkind btvEnv and revealBtvkind {tvarKind, eqKind} = {tvarKind=revealTvarKind tvarKind, eqKind=eqKind} and revealTvarKind tvarKind = case tvarKind of T.OCONSTkind tyList => T.OCONSTkind (map revealTy tyList) | T.OPRIMkind {instances:ty list, operators: { oprimId : OPrimID.id, path : path, keyTyList : ty list, match : T.overloadMatch, instMap : T.overloadMatch OPrimInstMap.map } list } => T.OPRIMkind {instances = map revealTy instances, operators = map (fn {oprimId, path, keyTyList, match, instMap} => {oprimId=oprimId, path=path, keyTyList = map revealTy keyTyList, match = revealOverloadMatch match, instMap = OPrimInstMap.map revealOverloadMatch instMap} ) operators } | T.UNIV => T.UNIV | T.REC (fields:ty LabelEnv.map) => T.REC (LabelEnv.map revealTy fields) fun revealVar ({id, ty, path}:varInfo) = {id=id, path=path, ty=revealTy ty} end end smlsharp-1.2.0/src/compiler/types/main/Unify.smi0000644 000000000000000000000335412050661606022005 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlnj-lib/Util/lib-base.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "IDCalc.ppg.smi" _require "Types.ppg.smi" _require "TypesUtils.smi" _require "vars.smi" _require "CheckEq.smi" structure Unify = struct exception Unify exception EqRawTy val bug : string -> exn val occurres : OTSet.item -> Types.ty -> bool val occurresTyList : OTSet.item -> Types.ty list -> bool val occurresTyEqList : OTSet.item -> (Types.ty * Types.ty) list -> bool exception TyConId val tyConId : Types.ty -> IDCalc.typId val checkKind : Types.ty -> {eqKind:Absyn.eq, id:Types.freeTypeVarID, lambdaDepth:int, tvarKind:Types.tvarKind, utvarOpt:IDCalc.tvar option} -> (Types.ty * Types.ty) list val lubKind : Types.tvKind * Types.tvKind -> {eqKind:Absyn.eq, id:Types.freeTypeVarID, lambdaDepth:Types.lambdaDepth, tvarKind:Types.tvarKind, utvarOpt:IDCalc.tvar option} * (Types.ty * Types.ty) list val unifyTypeEquations : bool -> (Types.ty * Types.ty) list -> unit val unify : (Types.ty * Types.ty) list -> unit val patternUnify : (Types.ty * Types.ty) list -> unit exception NONEQ val eqTy : BoundTypeVarID.id BoundTypeVarID.Map.map -> Types.ty * Types.ty -> bool val eqTyList : BoundTypeVarID.id BoundTypeVarID.Map.map -> Types.ty list * Types.ty list -> bool val instOfPolyTy : Types.ty * Types.ty list -> Types.ty end smlsharp-1.2.0/src/compiler/types/main/Unify.sml0000755 000000000000000000005317312050661606022017 0ustar00rootroot0000000 0000000 (** * a kinded unification for ML, an imperative version. * @copyright (c) 2006-2010, Tohoku University. * @author Atsushi Ohori * @author Liu Bochao *) structure Unify = struct local structure A = Absyn structure T = Types structure TU = TypesUtils in exception Unify exception EqRawTy fun bug s = Control.Bug ("Unify:" ^ s) fun occurres tvarRef ty = OTSet.member (TU.EFTV ty, tvarRef) fun occurresTyList tvarRef nil = false | occurresTyList tvarRef (h::t) = occurres tvarRef h orelse occurresTyList tvarRef t fun occurresTyEqList tvarRef nil = false | occurresTyEqList tvarRef ((h1,h2)::t) = occurres tvarRef h1 orelse occurres tvarRef h2 orelse occurresTyEqList tvarRef t exception TyConId fun tyConId ty = case TU.derefTy ty of T.CONSTRUCTty {tyCon = {id, ...}, args} => id | _ => raise TyConId fun checkKind ty ({utvarOpt,eqKind,lambdaDepth,tvarKind,id}: T.tvKind) = let val _ = case utvarOpt of NONE => () | SOME _ => raise Unify val _ = (case eqKind of A.EQ => CheckEq.checkEq ty | _ => ()) handle CheckEq.Eqcheck => raise Unify val _ = TU.adjustDepthInTy lambdaDepth ty val newTyEquations = case tvarKind of T.REC kindFields => (case ty of T.RECORDty tyFields => LabelEnv.foldri (fn (l, ty, tyEquations) => ( ty, case LabelEnv.find(tyFields, l) of SOME ty' => ty' | NONE => raise Unify ) :: tyEquations) nil kindFields | T.TYVARty _ => raise bug "checkKind" | _ => raise Unify) | T.OCONSTkind L => (case List.filter (fn x => TypID.eq(tyConId x, tyConId ty) handle TyConId => raise Unify ) L of [ty1] => [(ty,ty1)] | _ => raise Unify) | T.OPRIMkind {instances, operators} => (case List.filter (fn x => TypID.eq(tyConId x, tyConId ty) handle TyConId => raise Unify ) instances of [ty1] => [(ty,ty1)] | _ => raise Unify) | T.UNIV => nil in newTyEquations end and lubKind ( { utvarOpt = utvarOpt1, eqKind = eqKind1, lambdaDepth = lambdaDepth1, tvarKind = tvarKind1, id = id1 } : T.tvKind, { utvarOpt = utvarOpt2, eqKind = eqKind2, lambdaDepth = lambdaDepth2, tvarKind = tvarKind2, id = id2 } : T.tvKind ) : T.tvKind * (T.ty * T.ty) list= let fun lubTyList(tyList1, tyList2) = let fun find ty nil = NONE | find ty (ty'::tyList) = if TypID.eq(tyConId ty,tyConId ty') handle TyConId => raise bug "non rawty in oprim kind" then SOME ty' else find ty tyList val (tyList, newEqs) = foldr (fn (ty, (tyList,newEqs)) => case find ty tyList2 of NONE => (tyList,newEqs) | SOME ty' => (ty::tyList,(ty,ty') :: newEqs) ) (nil,nil) tyList1 in case tyList of nil => raise Unify | _ => (tyList, newEqs) end val utvarOpt = case (utvarOpt1, utvarOpt2) of (NONE, NONE) => NONE | _ => raise Unify val (eqKind, tvarKind1, tvarKind2) = (case (eqKind1, eqKind2) of (A.NONEQ, A.NONEQ) => (A.NONEQ, tvarKind1, tvarKind2) | (A.EQ, A.EQ) => (A.EQ, tvarKind1, tvarKind2) | (A.NONEQ, A.EQ) => (A.EQ, TU.coerceTvarkindToEQ tvarKind1, tvarKind2) | (A.EQ, A.NONEQ) => (A.EQ, tvarKind1, TU.coerceTvarkindToEQ tvarKind2) ) handle TU.CoerceTvarKindToEQ => raise Unify val lambdaDepth = case Int.compare (lambdaDepth1, lambdaDepth2) of LESS => ( TU.adjustDepthInTvarKind lambdaDepth1 tvarKind2; lambdaDepth1 ) | GREATER => ( TU.adjustDepthInTvarKind lambdaDepth2 tvarKind1; lambdaDepth2 ) | EQUAL => lambdaDepth1 val (newTvarKind, newTyEquations) = case (tvarKind1, tvarKind2) of (T.REC fl1, T.REC fl2) => let val newTyEquations = LabelEnv.listItems (LabelEnv.intersectWith (fn x => x) (fl1, fl2)) val newTyFields = LabelEnv.unionWith #1 (fl1, fl2) in (T.REC newTyFields, newTyEquations) end | (T.OCONSTkind L1, T.OCONSTkind L2) => let val (tyList, newEqs) = lubTyList(L1,L2) in (T.OCONSTkind tyList, newEqs) end | (T.OCONSTkind L1, T.OPRIMkind {instances, operators}) => let val (tyList, newEqs) = lubTyList(L1,instances) in (T.OCONSTkind tyList, newEqs) end | (T.OPRIMkind {instances, operators}, T.OCONSTkind L2) => let val (tyList, newEqs) = lubTyList(instances, L2) in (T.OCONSTkind tyList, newEqs) end | ( T.OPRIMkind {instances = I1, operators = O1}, T.OPRIMkind {instances = I2, operators = O2} ) => let fun find (op1:T.oprimSelector) (nil:T.oprimSelector list)=NONE | find op1 (op2::opList) = if OPrimID.eq(#oprimId op1, #oprimId op2) then SOME op2 else find op1 opList (* we do not and should not generate equations from (O1,O2) *) val O2 = foldr (fn (op2, O2) => let val op1Opt = find op2 O1 in case op1Opt of SOME _ => O2 | NONE => op2::O2 end ) nil O2 val (I,newEqs) = lubTyList(I1,I2) in case I of nil => raise Unify | _ => (T.OPRIMkind { instances = I, operators = O1@O2 }, newEqs) end | (T.UNIV, x) => (x,nil) | (x, T.UNIV) => (x,nil) | _ => raise Unify in ( { lambdaDepth = lambdaDepth, tvarKind = newTvarKind, eqKind = eqKind, utvarOpt = utvarOpt, id = id1 }, newTyEquations ) end (** * The mysterious control flag "calledFromPatternUnify" should be * eiminated in future. *) and unifyTypeEquations calledFromPatternUnify L = let fun unifyTy nil = () | unifyTy ((ty1, ty2) :: tail) = case (ty1, ty2) of (* Special types: SUBSTITUTED, ALIASty, ERRORty, DUMMYty, * OPAQUEty, SPECty. These cases are all disjoint. *) (T.TYVARty (ref(T.SUBSTITUTED derefTy1)), _) => unifyTy ((derefTy1, ty2) :: tail) | (_, T.TYVARty (ref(T.SUBSTITUTED derefTy2))) => unifyTy ((ty1, derefTy2) :: tail) | (T.ERRORty, _) => unifyTy tail | (_, T.ERRORty) => unifyTy tail | (T.DUMMYty n2, T.DUMMYty n1) => if n1 = n2 then unifyTy tail else raise Unify | (T.DUMMYty _, _) => raise Unify | (_, T.DUMMYty _) => raise Unify (* type variables *) | ( T.TYVARty(tvState1 as ref(T.TVAR {utvarOpt = SOME _, eqKind = eqkind1, tvarKind= T.UNIV, lambdaDepth=depth1, ...})), T.TYVARty(tvState2 as ref(T.TVAR {utvarOpt = NONE, eqKind = eqkind2, tvarKind= T.UNIV, lambdaDepth=depth2, ...})) ) => let val _ = case (eqkind1, eqkind2) of (A.NONEQ, A.EQ) => raise Unify | _ => () (* val _ = if T.strictlyYoungerDepth {tyvarDepth=depth1, contextDepth=depth2} then () else raise Unify *) in ( TU.adjustDepthInTy depth1 ty1; TU.performSubst(ty2, ty1); unifyTy tail ) end | ( T.TYVARty(tvState1 as ref(T.TVAR {utvarOpt = NONE, eqKind = eqkind1, tvarKind= T.UNIV, lambdaDepth=depth1, ...})), T.TYVARty(tvState2 as ref(T.TVAR {utvarOpt = SOME _, eqKind = eqkind2, tvarKind= T.UNIV, lambdaDepth=depth2, ...})) ) => let val _ = case (eqkind1, eqkind2) of (A.EQ, A.NONEQ) => raise Unify | _ => () (* val _ = if T.strictlyYoungerDepth {tyvarDepth=depth2, contextDepth=depth1} then () else raise Unify *) in ( TU.adjustDepthInTy depth1 ty2; TU.performSubst(ty1, ty2); unifyTy tail ) end | ( T.TYVARty (tvState1 as (ref(T.TVAR tvKind1))), T.TYVARty (tvState2 as (ref(T.TVAR tvKind2))) ) => if FreeTypeVarID.eq(#id tvKind1, #id tvKind2) then unifyTy tail else if occurres tvState1 ty2 orelse occurres tvState2 ty1 then raise Unify else let val (newKind, newTyEquations) = lubKind (tvKind1, tvKind2) val newTy = T.newtyRaw {utvarOpt = #utvarOpt newKind, lambdaDepth = #lambdaDepth newKind, tvarKind = #tvarKind newKind, eqKind = #eqKind newKind} in unifyTy newTyEquations; TU.performSubst(ty1, newTy); TU.performSubst(ty2, newTy); unifyTy tail end | ( T.TYVARty (tvState1 as ref(T.TVAR tvKind1)), _ ) => if occurres tvState1 ty2 then raise Unify else let val newTyEquations = checkKind ty2 tvKind1 val _ = unifyTy newTyEquations in ( TU.performSubst(ty1, ty2); unifyTy tail ) end | ( _, T.TYVARty (tvState2 as ref(T.TVAR tvKind2)) ) => if occurres tvState2 ty1 then raise Unify else let val newTyEquations = checkKind ty1 tvKind2 val _ = unifyTy newTyEquations in ( TU.performSubst(ty2, ty1); unifyTy tail ) end (* constructor types *) | ( T.FUNMty(domainTyList1, rangeTy1), T.FUNMty(domainTyList2, rangeTy2) ) => if length domainTyList1 = length domainTyList2 then unifyTy (ListPair.zip (domainTyList1, domainTyList2) @ ((rangeTy1, rangeTy2) :: tail)) else raise Unify | ( T.CONSTRUCTty {tyCon = {id = id1,...}, args = tyList1}, T.CONSTRUCTty {tyCon = {id = id2,...}, args = tyList2} ) => let val omit = calledFromPatternUnify orelse TypID.eq(id1, id2) in if omit andalso length tyList1 = length tyList2 then unifyTy (ListPair.zip (tyList1, tyList2) @ tail) else raise Unify end | (T.RECORDty tyFields1, T.RECORDty tyFields2) => let val (newTyEquations, rest) = LabelEnv.foldri (fn (label, ty1, (newTyEquations, rest)) => let val (rest, ty2) = LabelEnv.remove(rest, label) in ((ty1, ty2) :: newTyEquations, rest) end handle LibBase.NotFound => raise Unify) (nil, tyFields2) tyFields1 in if LabelEnv.isEmpty rest then unifyTy (newTyEquations@tail) else raise Unify end | (T.SINGLETONty _, T.SINGLETONty _) => raise bug "unifyTy: SINGLETONty occurs" (* this case is added for EXPORTFUNCTOR check; this should not cause any problems in the standard monotype unify *) | (T.BOUNDVARty id1,T.BOUNDVARty id2) => if BoundTypeVarID.eq(id1, id2) then unifyTy tail else raise Unify | (ty1, ty2) => raise Unify in unifyTy L end (** * Perform imperative unification. When it succeeds, the unifier had * already been applied. * * @params typeEqs * @return nil *) fun unify typeEqs = unifyTypeEquations false typeEqs (* Note: only used in type instantiation for signature match. * Since signature match guaranttes the type is correct * we just need to do patternUnify to avoid a problem causing * by the following case : * * structure A = struct ... end :> sig ... end : sig ... end * * For opaque signature matching, we generate a type instantiation * environment based on the actual structure environment and the * type instantiated signature environment (instead of the abstract * signature environment). And then We do transparent signature * match, but the instantiated type in transparent signature is * enriched by the opaque signature instead of the original structure * environment. So unification on types fails. But since signature match * guarrantees the type correctness, we only need to do patternUnify. *) fun patternUnify typeEqs = unifyTypeEquations true typeEqs exception NONEQ fun eqTy btvEquiv (ty1, ty2) = let val ty1 = TU.derefTy ty1 val ty2 = TU.derefTy ty2 fun btvEq (id1, id2) = BoundTypeVarID.eq(id1, id2) orelse (case BoundTypeVarID.Map.find(btvEquiv, id1) of SOME id11 => BoundTypeVarID.eq(id11, id2) | NONE => (case BoundTypeVarID.Map.find(btvEquiv, id2) of SOME id21 => BoundTypeVarID.eq(id1, id21) | NONE => false)) fun eq (ty1, ty2) = eqTy btvEquiv (ty1, ty2) fun eqList (tyL1, tyL2) = eqTyList btvEquiv (tyL1, tyL2) in case (ty1, ty2) of (T.BOUNDVARty bid1, T.BOUNDVARty bid2) => btvEq(bid1, bid2) | (T.SINGLETONty sty1, T.SINGLETONty sty2) => eqSTy btvEquiv (sty1, sty2) | (T.POLYty {boundtvars=btv1, body=body1}, T.POLYty {boundtvars=btv2, body=body2}) => (let val idkindPairs1 = BoundTypeVarID.Map.listItemsi btv1 val idkindPairs2 = BoundTypeVarID.Map.listItemsi btv2 val _= if length idkindPairs1 = length idkindPairs2 then () else raise NONEQ val kindPairs = ListPair.zip(idkindPairs1,idkindPairs2) val _ = app (fn ((_,kind1), (_,kind2)) => if eqKind btvEquiv (kind1, kind2) then () else raise NONEQ) kindPairs val btvMap = foldl (fn (((i1,_),(i2,_)), btvMap) => BoundTypeVarID.Map.insert(btvMap, i1, i2) ) (* 2012-8-11 ohori BoundTypeVarID.Map.empty *) btvEquiv kindPairs in eqTy btvMap (body1, body2) end handle NONEQ => false ) | (T.FUNMty (tyList1, ty1),T.FUNMty (tyList2, ty2)) => (eqTyList btvEquiv (tyList1, tyList2) andalso eq(ty1, ty2) handle NONEQ => false) | (T.RECORDty tyMap1,T.RECORDty tyMap2) => eqSMap btvEquiv (tyMap1, tyMap2) | (T.CONSTRUCTty {tyCon=tyCon1,args=args1}, T.CONSTRUCTty {tyCon=tyCon2,args=args2}) => TypID.eq(#id tyCon1, #id tyCon2) andalso eqTyList btvEquiv (args1, args2) | (T.ERRORty, _) => true | (_, T.ERRORty) => true | (T.DUMMYty _, _) => (unify [(ty1, ty2)]; true) | (_, T.DUMMYty _) => (unify [(ty1, ty2)]; true) | (T.TYVARty tv1, _) => (unify [(ty1, ty2)]; true) | (_, T.TYVARty tv1) => (unify [(ty1, ty2)]; true) | _ => false end handle Unify => false and eqSMap btvEquiv (smap1, smap2) = let val tyL1 = LabelEnv.listItems smap1 val tyL2 = LabelEnv.listItems smap2 in eqTyList btvEquiv (tyL1, tyL2) end and eqTyList btvEquiv (tyList1, tyList2) = length tyList1 = length tyList2 andalso let val tyPairs = ListPair.zip(tyList1, tyList2) in (app (fn (ty1, ty2) => if eqTy btvEquiv (ty1, ty2) then () else raise NONEQ ) tyPairs; true ) handle NONEQ => false end and eqSTy btvEquiv (sty1, sty2) = case (sty1, sty2) of (T.INSTCODEty oprimSelector11,T.INSTCODEty oprimSelector2) => eqOprimSelector btvEquiv (oprimSelector11,oprimSelector2) | (T.INDEXty (string1, ty1),T.INDEXty (string2, ty2)) => string1 = string2 andalso eqTy btvEquiv (ty1, ty2) | (T.TAGty ty1, T.TAGty ty2) => eqTy btvEquiv (ty1, ty2) | (T.SIZEty ty1, T.SIZEty ty2) => eqTy btvEquiv (ty1, ty2) | _ => false and eqOprimSelector btvEquiv ({oprimId=id1,path=path1,keyTyList=ktyL1,match=m1,instMap=IM1}, {oprimId=id2,path=path2,keyTyList=ktyL2,match=m2,instMap=IM2}) = OPrimID.eq(id1,id2) andalso String.concat path1 = String.concat path2 andalso eqTyList btvEquiv (ktyL1, ktyL2) and eqOprimSelectorList btvEquiv (opList1, opList2) = length opList1 = length opList2 andalso let val opPairs = ListPair.zip (opList1, opList2) in (app (fn x => if eqOprimSelector btvEquiv x then () else raise NONEQ) opPairs; true) handle NONEQ => false end and eqKind btvEquiv ({eqKind=eqK1, tvarKind=tvK1}, {eqKind=eqK2, tvarKind=tvK2}) = (case (eqK1, eqK2) of (Absyn.EQ, Absyn.EQ) => true | (Absyn.NONEQ, Absyn.NONEQ) => true | _ => false) andalso eqTvarKind btvEquiv (tvK1, tvK2) and eqTvarKind btvEquiv (tvK1, tvK2) = case (tvK1, tvK2) of (T.OCONSTkind tyL1,T.OCONSTkind tyL2) => eqTyList btvEquiv (tyL1, tyL2) | (T.OPRIMkind {instances = tyL1, operators = opL1}, T.OPRIMkind {instances = tyL2, operators = opL2}) => eqTyList btvEquiv (tyL1, tyL2) andalso eqOprimSelectorList btvEquiv (opL1, opL2) | (T.UNIV, T.UNIV) => true | (T.REC smap1, T.REC smap2) => eqSMap btvEquiv (smap1, smap2) | _ => false fun instOfPolyTy (polyTy, tyList) = case TU.derefTy polyTy of T.POLYty {boundtvars, body} => let val subst1 = TU.freshSubst boundtvars val body = TU.substBTvar subst1 body val instTyList = BoundTypeVarID.Map.listItems subst1 val tyPairs = if length tyList = length instTyList then ListPair.zip (instTyList, tyList) else raise bug "arity mismatch in instOfPoly" val _ = unify tyPairs in body end | _ => raise bug "nonpolyty in TFUNDEF in instOfPoly" end end smlsharp-1.2.0/src/compiler/types/main/VarMap.smi0000644 000000000000000000000714412050661606022102 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlnj-lib/Util/binary-set-fn.smi" _require "../../../smlnj-lib/Util/binary-map-fn.smi" _require "../../name/main/LocalID.smi" structure VarOrd = struct type ord_key = {path:string list,id:VarID.id} val compare : ord_key * ord_key -> order end structure VarMap = BinaryMapFn (VarOrd) structure VarSet = BinarySetFn (VarOrd) (* structure VarMap = struct structure Key = struct type ord_key = {path:string list,id:VarID.id} val compare : ord_key * ord_key -> order end type 'a map (= boxed) val empty : 'a map val isEmpty : 'a map -> bool val singleton : Key.ord_key * 'a -> 'a map val insert : 'a map * Key.ord_key * 'a -> 'a map val insertWith : ('a -> unit) -> 'a map * Key.ord_key * 'a -> 'a map val insert' : (Key.ord_key * 'a) * 'a map -> 'a map val find : 'a map * Key.ord_key -> 'a option val lookup : 'a map * Key.ord_key -> 'a val inDomain : 'a map * Key.ord_key -> bool val remove : 'a map * Key.ord_key -> 'a map * 'a val first : 'a map -> 'a option val firsti : 'a map -> (Key.ord_key * 'a) option val numItems : 'a map -> int val listItems : 'a map -> 'a list val listItemsi : 'a map -> (Key.ord_key * 'a) list val listKeys : 'a map -> Key.ord_key list val collate : ('a * 'a -> order) -> 'a map * 'a map -> order val unionWith : ('a * 'a -> 'a) -> 'a map * 'a map -> 'a map val unionWithi : (Key.ord_key * 'a * 'a -> 'a) -> 'a map * 'a map -> 'a map val intersectWith : ('a * 'b -> 'c) -> 'a map * 'b map -> 'c map val intersectWithi : (Key.ord_key * 'a * 'b -> 'c) -> 'a map * 'b map -> 'c map val mergeWith : ('a option * 'b option -> 'c option) -> 'a map * 'b map -> 'c map val mergeWithi : (Key.ord_key * 'a option * 'b option -> 'c option) -> 'a map * 'b map -> 'c map val app : ('a -> unit) -> 'a map -> unit val appi : (Key.ord_key * 'a -> unit) -> 'a map -> unit val map : ('a -> 'b) -> 'a map -> 'b map val mapi : (Key.ord_key * 'a -> 'b) -> 'a map -> 'b map val foldl : ('a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldli : (Key.ord_key * 'a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldr : ('a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldri : (Key.ord_key * 'a * 'b -> 'b) -> 'b -> 'a map -> 'b val filter : ('a -> bool) -> 'a map -> 'a map val filteri : (Key.ord_key * 'a -> bool) -> 'a map -> 'a map val mapPartial : ('a -> 'b option) -> 'a map -> 'b map val mapPartiali : (Key.ord_key * 'a -> 'b option) -> 'a map -> 'b map end structure VarSet = struct structure Key = struct type ord_key = {path:string list,id:VarID.id} val compare : ord_key * ord_key -> order end type item = Key.ord_key type set (= boxed) val empty : set val singleton : item -> set val fromList : item list -> set val add : set * item -> set val add' : item * set -> set val addList : set * item list -> set val delete : set * item -> set val member : set * item -> bool val isEmpty : set -> bool val equal : set * set -> bool val compare : set * set -> order val isSubset : set * set -> bool val numItems : set -> int val listItems : set -> item list val union : set * set -> set val intersection : set * set -> set val difference : set * set -> set val map : (item -> item) -> set -> set val app : (item -> unit) -> set -> unit val foldl : (item * 'a -> 'a) -> 'a -> set -> 'a val foldr : (item * 'a -> 'a) -> 'a -> set -> 'a val partition : (item -> bool) -> set -> set * set val filter : (item -> bool) -> set -> set val exists : (item -> bool) -> set -> bool val find : (item -> bool) -> set -> item option end *) smlsharp-1.2.0/src/compiler/types/main/VarMap.sml0000644 000000000000000000000041312050661606022075 0ustar00rootroot0000000 0000000 structure VarOrd = struct type ord_key = {path:string list,id:VarID.id} fun compare ({id=id1,...}:ord_key, {id=id2,...}:ord_key) = VarID.compare (id1,id2) end structure VarMap = BinaryMapFn (VarOrd) structure VarSet = BinarySetFn (VarOrd) smlsharp-1.2.0/src/compiler/types/main/vars.smi0000644 000000000000000000000143112050661606021660 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlnj-lib/Util/ord-key-sig.sml" _require "../../../smlnj-lib/Util/binary-set-fn.smi" _require "../../../smlnj-lib/Util/binary-map-fn.smi" _require "../../name/main/LocalID.smi" _require "../../control/main/Control.ppg.smi" _require "Types.ppg.smi" structure TvOrd = struct type ord_key = Types.tvState ref val compare : ord_key * ord_key -> order end structure TidOrd = struct type ord_key = FreeTypeVarID.id val compare : ord_key * ord_key -> order end structure TEnv = BinaryMapFn(TidOrd) structure OTSet = BinarySetFn(TvOrd) structure varInfoOrd = struct type ord_key = Types.varInfo val compare : ord_key * ord_key -> order end structure VarInfoEnv = BinaryMapFn(varInfoOrd) structure VarInfoSet = BinarySetFn(varInfoOrd) smlsharp-1.2.0/src/compiler/types/main/vars.sml0000755 000000000000000000000335112050661606021671 0ustar00rootroot0000000 0000000 (** * utilities for variables. * @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori * @version $Id: vars.sml,v 1.35 2008/08/06 17:23:41 ohori Exp $ *) structure TvOrd : ORD_KEY = struct local structure T = Types in type ord_key = T.tvState ref val compare = fn ( ref(T.TVAR {id = id1, ...}) : T.tvState ref, ref(T.TVAR {id = id2, ...}) : T.tvState ref ) => FreeTypeVarID.compare (id1, id2) | _ => raise Control.Bug "TvordCompare" end end structure TidOrd : ORD_KEY = struct type ord_key = FreeTypeVarID.id val compare = FreeTypeVarID.compare end structure TEnv = BinaryMapFn(TidOrd) structure OTSet = BinarySetFn(TvOrd) structure varInfoOrd : ORD_KEY = struct type ord_key = Types.varInfo fun compare ({path = p1, ty = ty1, id = varId1} : ord_key, {path = p2, ty = ty2, id = varId2} : ord_key) = VarID.compare (varId1, varId2) end structure VarInfoEnv = BinaryMapFn(varInfoOrd) structure VarInfoSet = BinarySetFn(varInfoOrd) (* structure VarIdOrd : ORD_KEY = struct fun compare (ID1, ID2) = (* * stipulation : external > internal *) case (ID1, ID2) of (Types.INTERNAL id1, Types.INTERNAL id2) => VarID.compare(id1, id2) | (Types.INTERNAL _, Types.EXTERNAL _) => LESS | (Types.EXTERNAL _, Types.INTERNAL _) => GREATER | (Types.EXTERNAL index1, Types.EXTERNAL index2) => ExVarID.compare (index1, index2) type ord_key = Types.varId end structure VarIdEnv = BinaryMapMaker(VarIdOrd) structure VarIdSet = BinarySetFn(VarIdOrd) (* structure Vars = struct fun freshName () = let val int = VarNameGen.generate () in "$" ^ (Int.toString int) end end *) *) smlsharp-1.2.0/src/compiler/types/test0000755 000000000000000000000000012050661606020150 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/types/test/TestMain.sml0000644 000000000000000000000043212050661606022467 0ustar00rootroot0000000 0000000 (** * @author YAMATODANI Kiyoshi * @version $Id: TestMain.sml,v 1.1 2006/01/11 11:48:00 kiyoshiy Exp $ *) structure TestMain = struct fun test () = let val tests = TypesTest.suite () in SMLUnit.TextUITestRunner.runTest {output = TextIO.stdOut} tests end endsmlsharp-1.2.0/src/compiler/types/test/TypesPicklerTest0001.sml0000644 000000000000000000004564312050661606024537 0ustar00rootroot0000000 0000000 (** * @author YAMATODANI Kiyoshi * @version $Id: TypesPicklerTest0001.sml,v 1.3 2007/10/26 06:03:16 katsu Exp $ *) structure TypesPicklerTest001 = struct (***************************************************************************) structure Assert = SMLUnit.Assert structure Test = SMLUnit.Test structure Testee = TypesPickler structure T = Types (***************************************************************************) val sampleTyCon1 = { name = "foo", strpath = Path.NilPath, tyvars = [false], id = ID.generate (), abstract = true, eqKind = ref T.EQ, boxedKind = ref (SOME T.BOXEDty), datacon = ref SEnv.empty } : T.tyCon fun testEqKind eqKind = let val pickled = Pickle.toString TypesPickler.eqKind eqKind val eqKind' = Pickle.fromString TypesPickler.eqKind pickled in Assert.assertEqual (op =) (fn T.EQ => "EQ" | T.NONEQ => "NONEQ") eqKind eqKind'; () end fun testEqKind0001 () = testEqKind T.EQ fun testEqKind0002 () = testEqKind T.NONEQ (****************************************) fun testConstant constant = let val pickled = Pickle.toString TypesPickler.constant constant val constant' = Pickle.fromString TypesPickler.constant pickled in Assert.assertEqual (op =) (fn T.CHAR ch => "CHAR" ^ Char.toString ch | T.INT int32 => "INT" ^ Int32.toString int32 | T.REAL string => "REAL" ^ string | T.STRING string => "STRING" ^ string | T.WORD word32 => "WORD" ^ Word32.toString word32) constant constant'; () end fun testConstant0001 () = testConstant (T.CHAR #"a") fun testConstant0002 () = testConstant (T.INT 123) fun testConstant0003 () = testConstant (T.REAL "1.23") fun testConstant0004 () = testConstant (T.STRING "abc") fun testConstant0005 () = testConstant (T.WORD 0w123) (****************************************) fun testPath path = let val pickled = Pickle.toString NamePickler.path path val path' = Pickle.fromString NamePickler.path pickled in Assert.assertEqual (op =) Path.pathToString path path'; () end fun testPath0001 () = testPath Path.NilPath fun testPath0002 () = let val id = ID.generate () in testPath (Path.PStructure(id, "foo", Path.NilPath)) end (****************************************) fun testId id = let val pickled = Pickle.toString NamePickler.id id val id' = Pickle.fromString NamePickler.id pickled in Assert.assertEqual ((fn EQUAL => true | _ => false) o ID.compare) ID.toString id id'; () end fun testId0001 () = testId (ID.reserve ()) fun testId0002 () = testId (ID.generate ()) (****************************************) fun testTid tid = let val pickled = Pickle.toString TypesPickler.tid tid val tid' = Pickle.fromString TypesPickler.tid pickled in Assert.assertEqual ((fn EQUAL => true | _ => false) o T.tidCompare) Types.tidToString tid tid'; () end fun testTid0001 () = testTid (Types.nextTid ()) (****************************************) fun testRecKind recKind = let val pickled = Pickle.toString TypesPickler.recKind recKind val recKind' = Pickle.fromString TypesPickler.recKind pickled in (* Assert.assertEqual ((fn EQUAL => true | _ => false) o T.recKindCompare) Types.recKindToString recKind recKind'; *) () end fun testRecKind0001 () = testRecKind (T.OVERLOADED []) fun testRecKind0002 () = testRecKind (T.REC SEnv.empty) fun testRecKind0003 () = testRecKind T.UNIV (****************************************) fun testTvState tvState = let val pickled = Pickle.toString TypesPickler.tvState tvState val tvState' = Pickle.fromString TypesPickler.tvState pickled in (* Assert.assertEqual ((fn EQUAL => true | _ => false) o T.tvStateCompare) Types.tvStateToString tvState tvState'; *) () end fun testTvState0001 () = testTvState (T.SUBSTITUTED T.BOXEDty) fun testTvState0002 () = let val tvKind = { id = T.nextTid (), recKind = T.UNIV, eqKind = T.EQ, tyvarName = NONE } in testTvState (T.TVAR tvKind) end (****************************************) (* val assertEqualTy = Assert.assertEqual SigCheck.equivTy TypeFormatter.tyToString; *) fun testTy ty = let val pickled = Pickle.toString TypesPickler.ty ty val ty2 = Pickle.fromString TypesPickler.ty pickled in () end fun testABSSPECty0001 () = testTy (T.ABSSPECty(T.ATOMty, T.ATOMty)) fun testALIASty0001 () = testTy (T.ALIASty(T.ATOMty, T.ATOMty)) fun testATOMty0001 () = testTy T.ATOMty fun testBOUNDVARty0001 () = testTy (T.BOUNDVARty 10) fun testBOXEDty0001 () = testTy T.BOXEDty fun testCONty0001 () = let val tyCon = sampleTyCon1 in testTy (T.CONty {args = [T.BOXEDty], tyCon = tyCon}) end fun testDOUBLEty0001 () = testTy T.DOUBLEty fun testDUMMYty0001 () = testTy (T.DUMMYty 1) fun testERRORty0001 () = testTy T.ERRORty fun testFUNMty0001 () = testTy (T.FUNMty ([T.ATOMty], T.BOXEDty)) fun testPOLYty0001 () = let val btvKind = {index = 1, recKind = T.UNIV, eqKind = T.EQ} val boundtvars = IEnv.insert (IEnv.empty, 1, btvKind) in testTy (T.POLYty {body = T.ATOMty, boundtvars = boundtvars}) end fun testRECORDty0001 () = let val fieldMap = SEnv.insert (SEnv.empty, "a", T.ATOMty) in testTy (T.RECORDty fieldMap) end fun testSPECty0001 () = testTy (T.SPECty T.ATOMty) fun testTYVARty0001 () = let val tvKindRef = ref (T.SUBSTITUTED (T.ATOMty)) val ty = T.TYVARty tvKindRef (* self recursive. Although this will not appear in actual code. *) val _ = tvKindRef := T.SUBSTITUTED ty in testTy ty end (****************************************) fun testIdState idState = let val pickled = Pickle.toString TypesPickler.idState idState val idState2 = Pickle.fromString TypesPickler.idState pickled in () end fun testCONID0001 () = let val conPathInfo = { name = "foo", strpath = Path.NilPath, funtyCon = true, ty = T.ATOMty, tag = 10, tyCon = sampleTyCon1 } in testIdState (T.CONID conPathInfo) end fun testOPRIM0001 () = let val primInfo = {name = "bar", ty = T.BOXEDty} val primMap = SEnv.insert(SEnv.empty, "bar", primInfo) val oprimInfo = {name = "foo", ty = T.ATOMty, instances = primMap} in testIdState (T.OPRIM oprimInfo) end fun testPRIM0001 () = let val primInfo = {name = "bar", ty = T.BOXEDty} in testIdState (T.PRIM primInfo) end fun testFFID0001 () = let val foreignFunPathInfo = { name = "foo", strpath = Path.NilPath, ty = T.ATOMty, argTys = [T.BOXEDty] } in testIdState (T.FFID foreignFunPathInfo) end fun testVARID0001 () = let val varPathInfo = {name = "foo", strpath = Path.NilPath, ty = T.ATOMty} in testIdState (T.VARID varPathInfo) end (****************************************) fun testTyBindInfo tyBindInfo = let val pickled = Pickle.toString TypesPickler.tyBindInfo tyBindInfo val tyBindInfo2 = Pickle.fromString TypesPickler.tyBindInfo pickled in () end fun testTYCON0001 () = let val tyCon = sampleTyCon1 in testTyBindInfo (T.TYCON tyCon) end fun testTYFUN0001 () = let val btvKind = {index = 0, recKind = T.UNIV, eqKind = T.EQ} val tyargs = IEnv.insert (IEnv.empty, 1, btvKind) val tyFun = {name = "foo", tyargs = tyargs, body = T.BOXEDty} in testTyBindInfo (T.TYFUN tyFun) end fun testTYSPEC0001 () = let val tySpec = { name = "foo", id = ID.generate (), strpath = Path.NilPath, eqKind = T.NONEQ, tyvars = [true], boxedKind = NONE } in testTyBindInfo (T.TYSPEC {impl = SOME(T.TYCON sampleTyCon1), spec = tySpec}) end (****************************************) fun testTvKind tvKind = let val pickled = Pickle.toString TypesPickler.tvKind tvKind val tvKind2 = Pickle.fromString TypesPickler.tvKind pickled in () end fun testTvKind0001 () = let val tvKind = { id = T.nextTid (), recKind = T.UNIV, eqKind = T.EQ, tyvarName = NONE } in testTvKind tvKind end (********************) fun testVarIdInfo varIdInfo = let val pickled = Pickle.toString TypesPickler.varIdInfo varIdInfo val varIdInfo2 = Pickle.fromString TypesPickler.varIdInfo pickled in () end fun testVarIdInfo0001 () = let val varIdInfo = {id = ID.generate (), displayName = "foo", ty = T.BOXEDty} in testVarIdInfo varIdInfo end (********************) fun testBtvKind btvKind = let val pickled = Pickle.toString TypesPickler.btvKind btvKind val btvKind2 = Pickle.fromString TypesPickler.btvKind pickled in () end fun testBtvKind0001 () = let val btvKind = {index = 1, recKind = T.UNIV, eqKind = T.EQ} in testBtvKind btvKind end (********************) fun testVarEnv varEnv = let val pickled = Pickle.toString TypesPickler.varEnv varEnv val varEnv2 = Pickle.fromString TypesPickler.varEnv pickled in () end fun testVarEnv0001 () = let val varPathInfo = {name = "foo", strpath = Path.NilPath, ty = T.ATOMty} val idState = T.VARID varPathInfo val varEnv = SEnv.insert (SEnv.empty, "foo", idState) in testVarEnv varEnv end (********************) fun testTyConEnv tyConEnv = let val pickled = Pickle.toString TypesPickler.tyConEnv tyConEnv val tyConEnv2 = Pickle.fromString TypesPickler.tyConEnv pickled in () end fun testTyConEnv0001 () = let val tyBindInfo = T.TYCON sampleTyCon1 val tyConEnv = SEnv.insert (SEnv.empty, "foo", tyBindInfo) in testTyConEnv tyConEnv end (********************) fun testTyFun tyFun = let val pickled = Pickle.toString TypesPickler.tyFun tyFun val tyFun2 = Pickle.fromString TypesPickler.tyFun pickled in () end fun testTyFun0001 () = let val btvKind = {index = 0, recKind = T.UNIV, eqKind = T.EQ} val tyargs = IEnv.insert (IEnv.empty, 1, btvKind) val tyFun = {name = "foo", tyargs = tyargs, body = T.BOXEDty} in testTyFun tyFun end (********************) fun testTyCon tyCon = let val pickled = Pickle.toString TypesPickler.tyCon tyCon val tyCon2 = Pickle.fromString TypesPickler.tyCon pickled in () end (* * no value constructor *) fun testTyCon0001 () = let val tyCon = { name = "foo0001", strpath = Path.NilPath, tyvars = [false], id = ID.generate (), abstract = true, eqKind = ref T.EQ, boxedKind = ref (SOME T.BOXEDty), datacon = ref SEnv.empty } : T.tyCon in testTyCon tyCon end (* * one value constructor *) fun testTyCon0002 () = let val dataconRef = ref SEnv.empty val tyCon = { name = "foo0002", strpath = Path.NilPath, tyvars = [false], id = ID.generate (), abstract = true, eqKind = ref T.EQ, boxedKind = ref (SOME T.BOXEDty), datacon = dataconRef } : T.tyCon val conPathInfo = { name = "bar0002", strpath = Path.NilPath, funtyCon = false, ty = T.CONty {args = [], tyCon = tyCon}, tag = 1, tyCon = tyCon } val _ = dataconRef := SEnv.insert (SEnv.empty, "bar0002", T.CONID conPathInfo) in testTyCon tyCon end (********************) fun testTySpec tySpec = let val pickled = Pickle.toString TypesPickler.tySpec tySpec val tySpec2 = Pickle.fromString TypesPickler.tySpec pickled in () end fun testTySpec0001 () = let val tySpec = { name = "foo", id = ID.generate (), strpath = Path.NilPath, eqKind = T.NONEQ, tyvars = [true], boxedKind = NONE } in testTySpec tySpec end (********************) fun testConPathInfo conPathInfo = let val pickled = Pickle.toString TypesPickler.conPathInfo conPathInfo val conPathInfo2 = Pickle.fromString TypesPickler.conPathInfo pickled in () end fun testConPathInfo0001 () = let val conPathInfo = { name = "foo", strpath = Path.NilPath, funtyCon = true, ty = T.ATOMty, tag = 10, tyCon = sampleTyCon1 } in testConPathInfo conPathInfo end (********************) fun testVarPathInfo varPathInfo = let val pickled = Pickle.toString TypesPickler.varPathInfo varPathInfo val varPathInfo2 = Pickle.fromString TypesPickler.varPathInfo pickled in () end fun testVarPathInfo0001 () = let val varPathInfo = { name = "foo", strpath = Path.NilPath, ty = T.ATOMty } in testVarPathInfo varPathInfo end (********************) fun testPrimInfo primInfo = let val pickled = Pickle.toString TypesPickler.primInfo primInfo val primInfo2 = Pickle.fromString TypesPickler.primInfo pickled in () end fun testPrimInfo0001 () = let val primInfo = {name = "foo", ty = T.ATOMty} in testPrimInfo primInfo end (********************) fun testOprimInfo oprimInfo = let val pickled = Pickle.toString TypesPickler.oprimInfo oprimInfo val oprimInfo2 = Pickle.fromString TypesPickler.oprimInfo pickled in () end fun testOprimInfo0001 () = let val primInfo = {name = "bar", ty = T.BOXEDty} val primMap = SEnv.insert(SEnv.empty, "bar", primInfo) val oprimInfo = {name = "foo", ty = T.ATOMty, instances = primMap} in testOprimInfo oprimInfo end (********************) fun testForeignFunPathInfo foreignFunPathInfo = let val pickled = Pickle.toString TypesPickler.foreignFunPathInfo foreignFunPathInfo val foreignFunPathInfo2 = Pickle.fromString TypesPickler.foreignFunPathInfo pickled in () end fun testForeignFunPathInfo0001 () = let val foreignFunPathInfo = { name = "foo", strpath = Path.NilPath, ty = T.ATOMty, argTys = [T.BOXEDty] } in testForeignFunPathInfo foreignFunPathInfo end (***************************************************************************) fun suite () = Test.labelTests [ ("testEqKind0001", testEqKind0001), ("testEqKind0002", testEqKind0002), ("testConstant0001", testConstant0001), ("testConstant0002", testConstant0002), ("testConstant0003", testConstant0003), ("testConstant0004", testConstant0004), ("testConstant0005", testConstant0005), ("testPath0001", testPath0001), ("testPath0002", testPath0002), ("testId0001", testId0001), ("testId0002", testId0002), ("testTid0001", testTid0001), ("testRecKind0001", testRecKind0001), ("testRecKind0002", testRecKind0002), ("testRecKind0003", testRecKind0003), ("testTvState0001", testTvState0001), ("testTvState0002", testTvState0002), ("testABSSPECty0001", testABSSPECty0001), ("testALIASty0001", testALIASty0001), ("testATOMty0001", testATOMty0001), ("testBOUNDVARty0001", testBOUNDVARty0001), ("testBOXEDty0001", testBOXEDty0001), ("testCONty0001", testCONty0001), ("testDOUBLEty0001", testDOUBLEty0001), ("testDUMMYty0001", testDUMMYty0001), ("testERRORty0001", testERRORty0001), ("testFUNMty0001", testFUNMty0001), ("testPOLYty0001", testPOLYty0001), ("testRECORDty0001", testRECORDty0001), ("testSPECty0001", testSPECty0001), ("testTYVARty0001", testTYVARty0001), ("testCONID0001", testCONID0001), ("testOPRIM0001", testOPRIM0001), ("testPRIM0001", testPRIM0001), ("testFFID0001", testFFID0001), ("testVARID0001", testVARID0001), ("testTYCON0001", testTYCON0001), ("testTYFUN0001", testTYFUN0001), ("testTYSPEC0001", testTYSPEC0001), ("testTvKind0001", testTvKind0001), ("testVarIdInfo0001", testVarIdInfo0001), ("testBtvKind0001", testBtvKind0001), ("testVarEnv0001", testVarEnv0001), ("testTyConEnv0001", testTyConEnv0001), ("testTyFun0001", testTyFun0001), ("testTyCon0001", testTyCon0001), ("testTyCon0002", testTyCon0002), ("testTySpec0001", testTySpec0001), ("testConPathInfo0001", testConPathInfo0001), ("testVarPathInfo0001", testVarPathInfo0001), ("testPrimInfo0001", testPrimInfo0001), ("testOprimInfo0001", testOprimInfo0001), ("testForeignFunPathInfo0001", testForeignFunPathInfo0001) ] (***************************************************************************) end smlsharp-1.2.0/src/compiler/types/test/TypesTest.sml0000644 000000000000000000000043512050661606022712 0ustar00rootroot0000000 0000000 (** * @author YAMATODANI Kiyoshi * @version $Id: TypesTest.sml,v 1.1 2006/01/11 11:48:00 kiyoshiy Exp $ *) structure TypesTest = struct open SMLUnit.Test fun suite () = TestList [ TestLabel ("TypesPicklerTest001", TypesPicklerTest001.suite ()) ] endsmlsharp-1.2.0/src/compiler/usererror0000755 000000000000000000000000012050661606020055 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/usererror/main0000755 000000000000000000000000012050661606021001 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/usererror/main/USER_ERROR.sig0000644 000000000000000000000234612050661606023320 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2006, Tohoku University. * @author YAMATODANI Kiyoshi * @version $Id: USER_ERROR.sig,v 1.2 2008/02/06 06:11:42 bochao Exp $ *) signature USER_ERROR = sig (***************************************************************************) datatype errorKind = Error | Warning | Diagnosis of string type errorInfo = Loc.loc * errorKind * exn exception UserErrors of errorInfo list exception UserErrorsWithoutLoc of (errorKind * exn) list (***************************************************************************) type errorQueue val createQueue : unit -> errorQueue val clearQueue : errorQueue -> unit val isEmptyErrorQueue : errorQueue -> bool val enqueueError : errorQueue -> Loc.loc * exn -> unit val enqueueWarning : errorQueue -> Loc.loc * exn -> unit val enqueueDiagnosis : errorQueue -> Loc.loc * string * exn -> unit val format_errorInfo : errorInfo -> SMLFormat.FormatExpression.expression list val getErrorsAndWarnings : errorQueue -> errorInfo list val getErrors : errorQueue -> errorInfo list val getWarnings : errorQueue -> errorInfo list val getDiagnoses : errorQueue -> errorInfo list (***************************************************************************) end smlsharp-1.2.0/src/compiler/usererror/main/UserError.ppg0000644 000000000000000000000422112050661606023517 0ustar00rootroot0000000 0000000 (** * * @author OHORI Atsushi * @author YAMATODANI Kiyoshi * @version $Id: UserError.ppg,v 1.2 2008/02/06 06:11:42 bochao Exp $ *) structure UserError : USER_ERROR = struct (***************************************************************************) (*% *) datatype errorKind = (*% * @format "Error" *) Error | (*% * @format "Warning" *) Warning | (*% * @format(id) "Diagnosis(" id ")" *) Diagnosis of string (*% * @formatter(loc) Loc.format_loc *) type errorInfo = (*% * @format(loc * kind * exn) * {{loc : loc} + {kind} ":" 2[+1 exn]} *) Loc.loc * errorKind * exn (*% *) exception (*% * @format(error errors) errors(error)() *) UserErrors of errorInfo list (*% *) exception (*% * @format(error errors) errors(error)() * @format:error(kind * exn) * {{kind} ":" 2[+1 exn]} *) UserErrorsWithoutLoc of (errorKind * exn) list (***************************************************************************) (** errors are stored in the reverse order. * When extracting errors, it should be reversed. *) type errorQueue = errorInfo list ref fun createQueue () = (ref []) : errorQueue fun clearQueue (queueRef : errorQueue) = queueRef := [] fun isEmptyErrorQueue errorQueue = case (!errorQueue) of nil => true | _ => false fun enqueueError queueRef (loc, exn) = queueRef := ((loc, Error, exn) :: (!queueRef)) fun enqueueWarning queueRef (loc, exn) = queueRef := ((loc, Warning, exn) :: (!queueRef)) fun enqueueDiagnosis queueRef (loc, idTag, exn) = queueRef := ((loc, Diagnosis idTag, exn) :: (!queueRef)) fun getErrorsAndWarnings (ref queue) = List.rev queue fun getErrors (ref queue) = List.rev(List.filter (fn (_, Error, _) => true | _ => false) queue) fun getWarnings (ref queue) = List.rev(List.filter (fn (_, Warning, _) => true | _ => false) queue) fun getDiagnoses (ref queue) = List.rev(List.filter (fn (_, Diagnosis _, _) => true | _ => false) queue) (***************************************************************************) end smlsharp-1.2.0/src/compiler/usererror/main/UserError.ppg.smi0000644 000000000000000000000212312050661606024305 0ustar00rootroot0000000 0000000 _require "../../../basis/main/List.smi" _require "../../../basis/main/binary-op.smi" _require "../../../basis/main/General.smi" _require "../../../smlformat-lib.smi" _require "../../control/main/Loc.ppg.smi" _require "USER_ERROR.sig" structure UserError = struct datatype errorKind = Error | Warning | Diagnosis of string type errorInfo = Loc.loc * errorKind * exn exception UserErrors of errorInfo list exception UserErrorsWithoutLoc of (errorKind * exn) list type errorQueue = errorInfo list ref val createQueue : unit -> errorQueue val clearQueue : errorQueue -> unit val isEmptyErrorQueue : errorQueue -> bool val enqueueError : errorQueue -> Loc.loc * exn -> unit val enqueueWarning : errorQueue -> Loc.loc * exn -> unit val enqueueDiagnosis : errorQueue -> Loc.loc * string * exn -> unit val format_errorInfo : errorInfo -> SMLFormat.FormatExpression.expression list val getErrorsAndWarnings : errorQueue -> errorInfo list val getErrors : errorQueue -> errorInfo list val getWarnings : errorQueue -> errorInfo list val getDiagnoses : errorQueue -> errorInfo list end smlsharp-1.2.0/src/compiler/usererror/main/UserErrorUtils.smi0000644 000000000000000000000140612050661606024544 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../control/main/Loc.ppg.smi" _require "UserError.ppg.smi" structure UserErrorUtils = struct val initializeErrorQueue : unit -> unit val getErrorsAndWarnings : unit -> UserError.errorInfo list val getErrors : unit -> UserError.errorInfo list val isAnyError : unit -> bool val getWarnings : unit -> UserError.errorInfo list val enqueueError : Loc.loc * exn -> unit val enqueueWarning : Loc.loc * exn -> unit val checkNameDuplication' : ('a -> string option) -> 'a list -> Loc.loc -> (string -> exn) -> unit val checkNameDuplication : ('a -> string) -> 'a list -> Loc.loc -> (string -> exn) -> unit end smlsharp-1.2.0/src/compiler/usererror/main/UserErrorUtils.sml0000644 000000000000000000000555312050661606024556 0ustar00rootroot0000000 0000000 structure UserErrorUtils : sig val initializeErrorQueue : unit -> unit val getErrorsAndWarnings : unit -> UserError.errorInfo list val getErrors : unit -> UserError.errorInfo list val isAnyError : unit -> bool val getWarnings : unit -> UserError.errorInfo list val enqueueError : Loc.loc * exn -> unit val enqueueWarning : Loc.loc * exn -> unit val checkNameDuplication' : ('a -> string option) -> 'a list -> Loc.loc -> (string -> exn) -> unit val checkNameDuplication : ('a -> string) -> 'a list -> Loc.loc -> (string -> exn) -> unit end = struct local val errorQueue = UserError.createQueue () in fun initializeErrorQueue () = UserError.clearQueue errorQueue fun getErrorsAndWarnings () = UserError.getErrorsAndWarnings errorQueue fun getErrors () = UserError.getErrors errorQueue fun isAnyError () = not (UserError.isEmptyErrorQueue errorQueue) fun getWarnings () = UserError.getWarnings errorQueue val enqueueError = UserError.enqueueError errorQueue val enqueueWarning = UserError.enqueueWarning errorQueue end (** * checks duplication in a set of names. * @params getName elements loc makeExn * @param getName a function to retriev name from an element. It should * return NONE if no name is bound. * @param elements a list of element which contain a name in it. * @param loc location to be used in error message, if duplication found. * @param makeExn a function to construct an exception to be reported, * if duplication found. * @return unit *) fun checkNameDuplication' getName elements loc makeExn = let fun collectDuplication names duplicates [] = SEnv.listItems duplicates | collectDuplication names duplicates (element :: elements) = case getName element of SOME name => let val newDuplicates = case SEnv.find(names, name) of SOME _ => SEnv.insert(duplicates, name, name) | NONE => duplicates val newNames = SEnv.insert(names, name, name) in collectDuplication newNames newDuplicates elements end | NONE => collectDuplication names duplicates elements val duplicateNames = collectDuplication SEnv.empty SEnv.empty elements in app (fn name => enqueueError(loc, makeExn name)) duplicateNames end (** * a variant of name duplicate checker. * getName parameter should return a string, instead of a string option. *) fun checkNameDuplication getName elements loc makeExn = checkNameDuplication' (SOME o getName) elements loc makeExn end smlsharp-1.2.0/src/compiler/util0000755 000000000000000000000000012050661606017002 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/util/main0000755 000000000000000000000000012050661606017726 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/util/main/BigInt_IntInf.smi0000644 000000000000000000000213412050661606023142 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" structure BigInt = struct eqtype int (= intInf) val toLarge : int -> LargeInt.int val fromLarge : LargeInt.int -> int val toInt : int -> SMLSharp.Int.int val fromInt : SMLSharp.Int.int -> int val precision : SMLSharp.Int.int option val minInt : int option val maxInt : int option val + : int * int -> int val - : int * int -> int val * : int * int -> int val div : int * int -> int val mod : int * int -> int val quot : int * int -> int val rem : int * int -> int val compare : int * int -> order val < : int * int -> bool val <= : int * int -> bool val > : int * int -> bool val >= : int * int -> bool val ~ : int -> int val abs : int -> int val min : int * int -> int val max : int * int -> int val sign : int -> SMLSharp.Int.int val sameSign : int * int -> bool val fmt : StringCvt.radix -> int -> string val toString : int -> string val scan : StringCvt.radix -> (char, 'a) StringCvt.reader -> (int, 'a) StringCvt.reader val fromString : string -> int option val toCString : int -> string end smlsharp-1.2.0/src/compiler/util/main/BigInt_IntInf.sml0000755 000000000000000000000063312050661606023152 0ustar00rootroot0000000 0000000 structure BigInt :> sig include INTEGER (** * converts an integer to its string representation which is * valid as an integer literal in C language. *) val toCString : int -> string end = struct open IntInf fun toCString n = let val str = toString (abs n) in if n < 0 then "-" ^ str else str end end smlsharp-1.2.0/src/compiler/util/main/COUNTER.sig0000644 000000000000000000000730112050661606021631 0ustar00rootroot0000000 0000000 (** * counter module. * @copyright (c) 2006, Tohoku University. * @author YAMATODANI Kiyoshi * @version $Id: COUNTER.sig,v 1.9 2007/08/14 04:07:15 ohori Exp $ *) signature COUNTER = sig (***************************************************************************) datatype counterSetOrder = ORDER_BY_NAME | ORDER_OF_ADDITION | ORDER_BY_TIME type accumulationCounter type minMaxCounter type elapsedTimeCounter datatype counterSetInternal = CounterSetInternal of { name : string, addAccumulation : string -> accumulationCounter, addMinMax : string -> minMaxCounter, addElapsedTime : string -> elapsedTimeCounter, addSet : string -> counterSetInternal, listCounters : counterSetOrder -> counterInternal list, find : string -> counterInternal option, reset : unit -> unit } and counterInternal = AccumulationCounter of accumulationCounter | MinMaxCounter of minMaxCounter | ElapsedTimeCounter of elapsedTimeCounter | CounterSet of counterSetInternal type counterSet type counter val dump : unit -> string val reset : unit -> unit (***************************************************************************) val root : counterSet val TopCounterSet : counterSet val ElapsedCounterSet : counterSet val parseTimeCounter : elapsedTimeCounter val loadFileTimeCounter : elapsedTimeCounter val generateMainTimeCounter : elapsedTimeCounter val elaborationTimeCounter : elapsedTimeCounter val nameEvaluationTimeCounter : elapsedTimeCounter val valRecOptimizationTimeCounter : elapsedTimeCounter val fundeclElaborationTimeCounter : elapsedTimeCounter val typeInferenceTimeCounter : elapsedTimeCounter val printerGenerationTimeCounter : elapsedTimeCounter val UncurryOptimizationTimeCounter : elapsedTimeCounter val TypedCalcOptimizationTimeCounter : elapsedTimeCounter val RecordCalcOptimizationTimeCounter : elapsedTimeCounter val matchCompilationTimeCounter : elapsedTimeCounter val sqlCompilationTimeCounter : elapsedTimeCounter val ffiCompilationTimeCounter : elapsedTimeCounter val recordCompilationTimeCounter : elapsedTimeCounter val datatypeCompilationTimeCounter : elapsedTimeCounter val staticAnalysisTimeCounter : elapsedTimeCounter val recordUnboxingTimeCounter : elapsedTimeCounter val bitmapCompilationTimeCounter : elapsedTimeCounter val bitmapANormalizationTimeCounter : elapsedTimeCounter val bitmapANormalReorderTimeCounter : elapsedTimeCounter val typeCheckBitmapANormalTimeCounter : elapsedTimeCounter val closureConversionTimeCounter : elapsedTimeCounter val toYAANormalTimeCounter : elapsedTimeCounter val anormalOptimizationTimeCounter : elapsedTimeCounter val staticAllocationTimeCounter : elapsedTimeCounter val aigenerationTimeCounter : elapsedTimeCounter val rtlselectTimeCounter : elapsedTimeCounter val rtlTypecheckTimeCounter : elapsedTimeCounter val rtlstabilizeTimeCounter : elapsedTimeCounter val rtlrenameTimeCounter : elapsedTimeCounter val rtlcoloringTimeCounter : elapsedTimeCounter val rtlframeTimeCounter : elapsedTimeCounter val rtlemitTimeCounter : elapsedTimeCounter val rtlasmgenTimeCounter : elapsedTimeCounter val rtlasmprintTimeCounter : elapsedTimeCounter val assembleTimeCounter : elapsedTimeCounter val compilationTimeCounter : elapsedTimeCounter val parseArgsTimeCounter : elapsedTimeCounter val compileArgsTimeCounter : elapsedTimeCounter val printHelpTimeCounter : elapsedTimeCounter val loadInterfaceTimeCounter : elapsedTimeCounter val compileFileTimeCounter : elapsedTimeCounter val loadSMITimeCounter : elapsedTimeCounter val linkTimeCounter : elapsedTimeCounter val generateDependTimeCounter : elapsedTimeCounter end smlsharp-1.2.0/src/compiler/util/main/Counter.smi0000644 000000000000000000001211012050661606022131 0ustar00rootroot0000000 0000000 (* _require "../../../basis/main/binary-op.smi" _require "../../../basis/main/String.smi" _require "../../../basis/main/List.smi" _require "../../../basis/main/Option.smi" _require "../../../basis/main/General.smi" _require "../../../basis/main/Int.smi" _require "../../../basis/main/IntInf.smi" _require "../../../basis/main/Time.smi" _require "../../../basis/main/StringCvt.smi" *) _require "../../../basis.smi" _require "../../../smlnj-lib/Util/binary-set-fn.smi" _require "../../../compiler-utils/env/main/IEnv.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../control/main/Control.ppg.smi" _require "COUNTER.sig" structure Counter = struct datatype counterSetOrder = ORDER_BY_NAME | ORDER_OF_ADDITION | ORDER_BY_TIME type accumulationCounter = {name: string, toString : counterSetOrder -> string -> string, inc: unit -> unit, dec: unit -> unit, add: int -> unit, sub: int -> unit, reset: unit -> unit, getValue: unit -> int} type minMaxCounter = {name: string, toString : counterSetOrder -> string -> string, set: int -> unit, reset: unit -> unit, getMin: unit -> int, getMax: unit -> int} type elapsedTimeCounter = {name: string, toString: counterSetOrder -> string -> string, start: unit -> unit, stop: unit -> unit, reset: unit -> unit, getTime: unit -> Time.time} datatype counterSetInternal = CounterSetInternal of {name: string, addAccumulation: string -> accumulationCounter, addMinMax: string -> minMaxCounter, addElapsedTime: string -> elapsedTimeCounter, addSet: string -> counterSetInternal, listCounters: counterSetOrder -> counterInternal list, find: string -> counterInternal option, reset: unit -> unit} and counterInternal = AccumulationCounter of accumulationCounter | MinMaxCounter of minMaxCounter | ElapsedTimeCounter of elapsedTimeCounter | CounterSet of counterSetInternal type counterSet = {name : string, addAccumulation : string -> accumulationCounter, addMinMax : string -> minMaxCounter, addElapsedTime : string -> elapsedTimeCounter, addSet : string -> counterSetInternal, listCounters : counterSetOrder -> counterInternal list, find : string -> counterInternal option, reset : unit -> unit} type counter = {counterInternal : counterInternal, toString : counterSetOrder -> string -> string, reset : unit -> unit} val dump : unit -> string val reset : unit -> unit val root : counterSet val TopCounterSet : counterSet val ElapsedCounterSet : counterSet val parseTimeCounter : elapsedTimeCounter val loadFileTimeCounter : elapsedTimeCounter val generateMainTimeCounter : elapsedTimeCounter val elaborationTimeCounter : elapsedTimeCounter val nameEvaluationTimeCounter : elapsedTimeCounter val valRecOptimizationTimeCounter : elapsedTimeCounter val fundeclElaborationTimeCounter : elapsedTimeCounter val typeInferenceTimeCounter : elapsedTimeCounter val printerGenerationTimeCounter : elapsedTimeCounter val UncurryOptimizationTimeCounter : elapsedTimeCounter val TypedCalcOptimizationTimeCounter : elapsedTimeCounter val RecordCalcOptimizationTimeCounter : elapsedTimeCounter val matchCompilationTimeCounter : elapsedTimeCounter val sqlCompilationTimeCounter : elapsedTimeCounter val ffiCompilationTimeCounter : elapsedTimeCounter val recordCompilationTimeCounter : elapsedTimeCounter val datatypeCompilationTimeCounter : elapsedTimeCounter val staticAnalysisTimeCounter : elapsedTimeCounter val recordUnboxingTimeCounter : elapsedTimeCounter val bitmapCompilationTimeCounter : elapsedTimeCounter val bitmapANormalizationTimeCounter : elapsedTimeCounter val bitmapANormalReorderTimeCounter : elapsedTimeCounter val typeCheckBitmapANormalTimeCounter : elapsedTimeCounter val closureConversionTimeCounter : elapsedTimeCounter val toYAANormalTimeCounter : elapsedTimeCounter val anormalOptimizationTimeCounter : elapsedTimeCounter val staticAllocationTimeCounter : elapsedTimeCounter val aigenerationTimeCounter : elapsedTimeCounter val rtlselectTimeCounter : elapsedTimeCounter val rtlTypecheckTimeCounter : elapsedTimeCounter val rtlstabilizeTimeCounter : elapsedTimeCounter val rtlrenameTimeCounter : elapsedTimeCounter val rtlcoloringTimeCounter : elapsedTimeCounter val rtlframeTimeCounter : elapsedTimeCounter val rtlemitTimeCounter : elapsedTimeCounter val rtlasmgenTimeCounter : elapsedTimeCounter val rtlasmprintTimeCounter : elapsedTimeCounter val assembleTimeCounter : elapsedTimeCounter val compilationTimeCounter : elapsedTimeCounter val parseArgsTimeCounter : elapsedTimeCounter val compileArgsTimeCounter : elapsedTimeCounter val printHelpTimeCounter : elapsedTimeCounter val loadInterfaceTimeCounter : elapsedTimeCounter val compileFileTimeCounter : elapsedTimeCounter val loadSMITimeCounter : elapsedTimeCounter val linkTimeCounter : elapsedTimeCounter val generateDependTimeCounter : elapsedTimeCounter end smlsharp-1.2.0/src/compiler/util/main/Counter.sml0000644 000000000000000000004270112050661606022145 0ustar00rootroot0000000 0000000 (** * counter module. * @copyright (c) 2006, Tohoku University. * @author YAMATODANI Kiyoshi *) structure Counter : COUNTER = struct val TitleCOLUMNWIDTH = 23 val NumCOLUMNWIDTH = 12 fun titleColumn s = StringCvt.padRight #" " TitleCOLUMNWIDTH s fun numColumn s = (StringCvt.padLeft #" " NumCOLUMNWIDTH s ^ " ") datatype counterSetOrder = ORDER_BY_NAME | ORDER_OF_ADDITION | ORDER_BY_TIME type accumulationCounter = { name : string, toString : counterSetOrder -> string -> string, inc : unit -> unit, dec : unit -> unit, add : int -> unit, sub : int -> unit, reset : unit -> unit, getValue : unit -> int } type minMaxCounter = { name : string, toString : counterSetOrder -> string -> string, set : int -> unit, reset : unit -> unit, getMin : unit -> int, getMax : unit -> int } type elapsedTimeCounter = { name : string, toString : counterSetOrder -> string -> string, start : unit -> unit, stop : unit -> unit, reset : unit -> unit, getTime : unit -> Time.time } datatype counterSetInternal = CounterSetInternal of { name : string, addAccumulation : string -> accumulationCounter, addMinMax : string -> minMaxCounter, addElapsedTime : string -> elapsedTimeCounter, addSet : string -> counterSetInternal, listCounters : counterSetOrder -> counterInternal list, find : string -> counterInternal option, reset : unit -> unit } and counterInternal = AccumulationCounter of accumulationCounter | MinMaxCounter of minMaxCounter | ElapsedTimeCounter of elapsedTimeCounter | CounterSet of counterSetInternal type counterSet = { name : string, addAccumulation : string -> accumulationCounter, addMinMax : string -> minMaxCounter, addElapsedTime : string -> elapsedTimeCounter, addSet : string -> counterSetInternal, listCounters : counterSetOrder -> counterInternal list, find : string -> counterInternal option, reset : unit -> unit } type counter = { counterInternal : counterInternal, toString : counterSetOrder -> string -> string, reset : unit -> unit } structure CounterTimeOrd = struct type ord_key = counter fun compare ({counterInternal=c1, ...}:counter,{counterInternal=c2, ...}:counter) = case (c1,c2) of (AccumulationCounter {name=n1, getValue=gv1,...}, AccumulationCounter {name=n2,getValue=gv2,...}) => (case Int.compare(gv1 (), gv2 ()) of EQUAL => String.compare(n1,n2) | x => x) | (AccumulationCounter _, _) => LESS | (MinMaxCounter {name=n1, getMax=gm1,...}, MinMaxCounter {name=n2, getMax=gm2,...}) => (case Int.compare(gm1 (), gm2 ()) of EQUAL => String.compare(n1,n2) | x => x) | (MinMaxCounter _, AccumulationCounter _) => GREATER | (MinMaxCounter _, _) => LESS | (ElapsedTimeCounter {name=n1, getTime=gt1,...}, ElapsedTimeCounter {name=n2, getTime=gt2,...}) => (case Time.compare(gt1 (), gt2 ()) of EQUAL => String.compare(n1,n2) | x => x) | (ElapsedTimeCounter _, AccumulationCounter _) => GREATER | (ElapsedTimeCounter _, MinMaxCounter _) => GREATER | (ElapsedTimeCounter _, CounterSet _) => LESS | (CounterSet (CounterSetInternal{name=n1, ...}), CounterSet (CounterSetInternal{name=n2, ...})) => String.compare(n1, n2) | (CounterSet _, _) => GREATER end structure CounterTimeSet = BinarySetFn(CounterTimeOrd) (***************************************************************************) (* * accumulationCounter *) local val INITIAL_VALUE = 0 fun add value number = (value := (!value) + number) handle General.Overflow => () fun sub counter number = add counter (~number) fun inc counter () = add counter 1 fun dec counter () = sub counter 1 fun reset counter () = counter := INITIAL_VALUE fun getValue counter () = !counter fun toString name counter (order:counterSetOrder) indent = indent ^ name ^ " = " ^ (Int.toString (!counter)) in fun createAccumulationCounter name = let val counter = ref INITIAL_VALUE in { name = name, toString = toString name counter, inc = inc counter, dec = dec counter, add = add counter, sub = sub counter, reset = reset counter, getValue = getValue counter } end end (* * minMaxCounter *) local val INITIAL_VALUE = 0 fun getMin {min, max} () = !min fun getMax {min, max} () = !max fun set {min, max} value = if value < !min then min := value else if !max < value then max := value else () fun reset {min, max} () = (min := INITIAL_VALUE; max := INITIAL_VALUE) fun toString name {min, max} (order:counterSetOrder) indent = indent ^ name ^ " = " ^ "{min = " ^ (Int.toString (!min)) ^ ", max = " ^ (Int.toString (!max)) ^ "}" in fun createMinMaxCounter name = let val minCounter = ref INITIAL_VALUE val maxCounter = ref INITIAL_VALUE val counter = {min = minCounter, max = maxCounter} in { toString = toString name counter, name = name, getMin = getMin counter, getMax = getMax counter, set = set counter, reset = reset counter } end end (* * elapsedTimeCounter *) local type counterRep = {time : Time.time ref, start : Time.time option ref} val INITIAL_VALUE = Time.zeroTime fun getTime ({time, ...} : counterRep) () = !time fun start name ({start, ...} : counterRep) () = ( if !Control.printTimer then print ("start timer " ^ name ^ "\n") else (); start := SOME(Time.now ()) ) fun stop name ({time, start, ...} : counterRep) () = case !start of NONE => () (* ignore *) | SOME startTime => ( time := (Time.+(!time, Time.-(Time.now (), startTime))); start := NONE; if !Control.printTimer then print ("stop timer " ^ name ^ " : " ^ Time.toString (!time) ^ " sec\n") else () ) handle Time.Time => () (* ignore error *) | General.Overflow => () fun reset ({time, start} : counterRep) () = (time := INITIAL_VALUE; start := NONE) fun toString name ({time, ...} : counterRep) (order:counterSetOrder) indent = let fun toString f = LargeInt.toString(f (!time)) handle _ => "-" val name = titleColumn name val seconds = numColumn (toString Time.toSeconds) val millis = numColumn (toString Time.toMilliseconds) val micro = numColumn (toString Time.toMicroseconds) in indent ^ name ^ " = " ^ seconds ^ millis ^ micro end handle General.Overflow => "" in fun createElapsedTimeCounter name = let val counter = {time = ref INITIAL_VALUE, start = ref NONE} : counterRep in { toString = toString name counter, name = name, start = start name counter, stop = stop name counter, reset = reset counter, getTime = getTime counter } end end (* * counterSet *) local type counterSetRep = (counter SEnv.map * string IEnv.map) ref fun createEmptyCounters () = ref (SEnv.empty, IEnv.empty) : counterSetRep fun addCounter (counters as ref (counterMap, indexMap)) (name, counter) = counters := ( SEnv.insert (counterMap, name, counter), IEnv.insert (indexMap, IEnv.numItems indexMap, name) ) fun addCounter1 counters (name, counter) = let val counterMap = #1 (!counters) val indexMap = #2 (!counters) in counters := ( SEnv.insert (counterMap, name, counter), IEnv.insert (indexMap, IEnv.numItems indexMap, name) ) end fun findCounter (ref (counterMap, _)) name = SEnv.find (counterMap, name) : counter option fun listCounters (ref (counterMap, indexMap)) order = case order of ORDER_BY_NAME => SEnv.listItems counterMap | ORDER_OF_ADDITION => IEnv.foldr (fn (name, counters) => ( case (SEnv.find (counterMap, name)) of SOME counter => counter | _ => raise Fail "Bug:indexMap and counterMap mismatch \ \: (util/main/Counter.sml)" ) :: counters) [] indexMap | ORDER_BY_TIME => let val counterTimeSet = SEnv.foldr (fn (counter, counterTimeSet) => CounterTimeSet.add (counterTimeSet, counter) ) CounterTimeSet.empty counterMap in CounterTimeSet.listItems counterTimeSet end fun addAccumulation counters name = let val newAccumulationCounter as {toString, reset,...} = createAccumulationCounter name val counter = { counterInternal = AccumulationCounter newAccumulationCounter, toString = toString, reset = reset } in addCounter counters (name, counter); newAccumulationCounter end fun addMinMax counters name = let val newMinMaxCounter as {toString, reset,...} = createMinMaxCounter name val counter = { counterInternal = MinMaxCounter newMinMaxCounter, toString = toString, reset = reset } in addCounter counters (name, counter); newMinMaxCounter end fun addElapsedTime counters name = let val newElapsedTimeCounter as {toString, reset,...} = createElapsedTimeCounter name val counter = { counterInternal = ElapsedTimeCounter newElapsedTimeCounter, toString = toString, reset = reset } in addCounter counters (name, counter); newElapsedTimeCounter end fun find counters name = Option.map #counterInternal (findCounter counters name) fun toString name counters (order:counterSetOrder) indent = let val INDENT_UNIT = " " fun toStr ({toString, counterInternal = CounterSet _, ...} : counter) = toString order (indent ^ INDENT_UNIT) | toStr {toString, ...} = (toString order (indent ^ INDENT_UNIT)) ^ "\n" val title = case name of "elapsed time" => " " ^ numColumn "seconds" ^ numColumn "millis" ^ numColumn "micro" | _ => "" fun dumpCounter indent counters = concat (map toStr (listCounters counters order)) in indent ^ name ^ title ^ "\n" ^ (dumpCounter indent counters) end fun reset counters () = app (fn {reset, ...} : counter => reset ()) (listCounters counters ORDER_OF_ADDITION) fun addSet counters name = let val newCounters = createEmptyCounters () val newCounterSet = CounterSetInternal { name = name, addAccumulation = addAccumulation newCounters, addMinMax = addMinMax newCounters, addElapsedTime = addElapsedTime newCounters, addSet = addSet newCounters, listCounters = (map #counterInternal) o (listCounters newCounters), find = find newCounters, reset = reset newCounters } val newCounterInternal = { toString = toString name newCounters, reset = reset newCounters, counterInternal = CounterSet newCounterSet } in addCounter counters (name, newCounterInternal); newCounterSet end val rootSet = createEmptyCounters () in val CounterSetInternal root = addSet rootSet "/" fun dump () = #toString (hd(listCounters rootSet ORDER_OF_ADDITION)) ORDER_BY_TIME "" val reset = fn () => reset rootSet () end val CounterSetInternal TopCounterSet = #addSet root "Top" val CounterSetInternal ElapsedCounterSet = #addSet TopCounterSet "elapsed time" (* elapsed time counters *) val parseTimeCounter = #addElapsedTime ElapsedCounterSet "parse" val loadFileTimeCounter = #addElapsedTime ElapsedCounterSet "loadfile" val generateMainTimeCounter = #addElapsedTime ElapsedCounterSet "generateMain" val elaborationTimeCounter = #addElapsedTime ElapsedCounterSet "elaboration" val nameEvaluationTimeCounter = #addElapsedTime ElapsedCounterSet "name eval" val valRecOptimizationTimeCounter = #addElapsedTime ElapsedCounterSet "val rec optimize" val fundeclElaborationTimeCounter = #addElapsedTime ElapsedCounterSet "fundecl optimize" val typeInferenceTimeCounter = #addElapsedTime ElapsedCounterSet "type inference" val printerGenerationTimeCounter = #addElapsedTime ElapsedCounterSet "printer generation" val UncurryOptimizationTimeCounter = #addElapsedTime ElapsedCounterSet "uncurry optimize" val TypedCalcOptimizationTimeCounter = #addElapsedTime ElapsedCounterSet "typedcalc optimize" val matchCompilationTimeCounter = #addElapsedTime ElapsedCounterSet "match compilation" val RecordCalcOptimizationTimeCounter = #addElapsedTime ElapsedCounterSet "recordcalc optimize" val sqlCompilationTimeCounter = #addElapsedTime ElapsedCounterSet "SQL compilation" val ffiCompilationTimeCounter = #addElapsedTime ElapsedCounterSet "FFI compilation" val recordCompilationTimeCounter = #addElapsedTime ElapsedCounterSet "record compilation" val datatypeCompilationTimeCounter = #addElapsedTime ElapsedCounterSet "datatype compilation" val staticAnalysisTimeCounter = #addElapsedTime ElapsedCounterSet "static annalysis" val recordUnboxingTimeCounter = #addElapsedTime ElapsedCounterSet "record unboxing" (* val inliningTimeCounter = #addElapsedTime ElapsedCounterSet "inlining" val mvOptimizationTimeCounter = #addElapsedTime ElapsedCounterSet "multiple value optimization" *) val bitmapCompilationTimeCounter = #addElapsedTime ElapsedCounterSet "bitmap compilation" val bitmapANormalizationTimeCounter = #addElapsedTime ElapsedCounterSet "bitmap A-normlization" val bitmapANormalReorderTimeCounter = #addElapsedTime ElapsedCounterSet "bitmap A-normal reorder" val typeCheckBitmapANormalTimeCounter = #addElapsedTime ElapsedCounterSet "typecheck bitmapAN" val closureConversionTimeCounter = #addElapsedTime ElapsedCounterSet "closure conversion" val toYAANormalTimeCounter = #addElapsedTime ElapsedCounterSet "toYAANormal" (* val functionLocalizeTimeCounter = #addElapsedTime ElapsedCounterSet "function localization" *) val anormalOptimizationTimeCounter = #addElapsedTime ElapsedCounterSet "anormal optimization" val staticAllocationTimeCounter = #addElapsedTime ElapsedCounterSet "static allocation" val aigenerationTimeCounter = #addElapsedTime ElapsedCounterSet "aigeneration" val rtlselectTimeCounter = #addElapsedTime ElapsedCounterSet "rtl select" val rtlTypecheckTimeCounter = #addElapsedTime ElapsedCounterSet "rtl typecheck" val rtlstabilizeTimeCounter = #addElapsedTime ElapsedCounterSet "rtl stabilize" val rtlrenameTimeCounter = #addElapsedTime ElapsedCounterSet "rtl rename" val rtlcoloringTimeCounter = #addElapsedTime ElapsedCounterSet "rtl coloring" val rtlframeTimeCounter = #addElapsedTime ElapsedCounterSet "rtl frame" val rtlemitTimeCounter = #addElapsedTime ElapsedCounterSet "rtl emit" val rtlasmgenTimeCounter = #addElapsedTime ElapsedCounterSet "rtl asmgen" val rtlasmprintTimeCounter = #addElapsedTime ElapsedCounterSet "rtl asmprint" val assembleTimeCounter = #addElapsedTime ElapsedCounterSet "assemble" val compilationTimeCounter = #addElapsedTime ElapsedCounterSet "compilation" (* main stuff **) val parseArgsTimeCounter = #addElapsedTime ElapsedCounterSet "parseArgs" val compileArgsTimeCounter = #addElapsedTime ElapsedCounterSet "compileArgs" val printHelpTimeCounter = #addElapsedTime ElapsedCounterSet "printHelp" val loadInterfaceTimeCounter = #addElapsedTime ElapsedCounterSet "loadInterface" val compileFileTimeCounter = #addElapsedTime ElapsedCounterSet "compileFile" val loadSMITimeCounter = #addElapsedTime ElapsedCounterSet "loadSMI" val linkTimeCounter = #addElapsedTime ElapsedCounterSet "link" val generateDependTimeCounter = #addElapsedTime ElapsedCounterSet "generateDepend" end smlsharp-1.2.0/src/compiler/util/main/gensym.smi0000644 000000000000000000000027512050661606022025 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" structure Gensym = struct val gensym : unit -> string val initGensym : unit -> unit val makeGensym : char list -> (unit -> string) * (unit -> unit) end smlsharp-1.2.0/src/compiler/util/main/gensym.sml0000644 000000000000000000000224412050661606022026 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2006, Tohoku University. *) structure Gensym : sig val gensym : unit -> string val initGensym : unit -> unit val makeGensym : char list -> ((unit -> string) * (unit -> unit)) end = struct fun next n t = case t of nil => [0] | (h::t) => if h = n then 0::(next n t) else (h+1)::t fun toString L s = implode (map (fn x => List.nth (L,x)) (rev s)) fun makeGensym L = let val seed = ref [0] fun next' t = next (length L - 1) t fun toString' s = toString L s fun gensym () = toString' (!seed) before seed := next' (!seed) in (gensym,fn () => seed := [0]) end local val seed = ref [(ord #"a")] in fun initGensym () = seed := [(ord #"a")] fun gensym() = let fun inc nil = [(ord #"a")] | inc (h::tail) = if h = (ord #"z") then (ord #"a")::(inc tail) else (h+1)::tail in implode (map chr (rev (!seed))) before seed:=inc (!seed) end end end smlsharp-1.2.0/src/compiler/util/main/GRAPH.sig0000644 000000000000000000000120112050661606021344 0ustar00rootroot0000000 0000000 (** * Graph signature with strong connected component computation. * * @copyright (c) 2006, Tohoku University. * @author NGUYEN Huu-Duc * @version $Id: GRAPH.sig,v 1.4 2006/02/28 16:11:11 kiyoshiy Exp $ *) signature GRAPH = sig type node_id = int type 'n graph val empty : 'n graph val addNode : 'n graph -> 'n -> ('n graph * node_id) val addEdge : 'n graph -> node_id * node_id -> 'n graph val listNodes : 'n graph -> (node_id * 'n) list val getNodeInfo : 'n graph -> node_id -> 'n option val scc : 'n graph -> (node_id list) list val printNodes : node_id list -> unit end smlsharp-1.2.0/src/compiler/util/main/Graph.smi0000644 000000000000000000000113612050661606021561 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/IEnv.smi" _require "../../../compiler-utils/env/main/ISet.smi" _require "../../control/main/Control.ppg.smi" _require "GRAPH.sig" structure Graph = struct type node_id = int type 'n graph (= boxed) val empty : 'n graph val addNode : 'n graph -> 'n -> ('n graph * node_id) val addEdge : 'n graph -> node_id * node_id -> 'n graph val listNodes : 'n graph -> (node_id * 'n) list val getNodeInfo : 'n graph -> node_id -> 'n option val scc : 'n graph -> (node_id list) list val printNodes : node_id list -> unit end smlsharp-1.2.0/src/compiler/util/main/Graph.sml0000644 000000000000000000001256112050661606021570 0ustar00rootroot0000000 0000000 (** * Graph structure with strong connected component computation. * * @copyright (c) 2006, Tohoku University. * @author NGUYEN Huu-Duc * @version $Id: Graph.sml,v 1.6 2007/08/12 23:11:19 ohori Exp $ *) structure Graph :> GRAPH = struct type node_id = int type 'n graph = {max_id : int, nodes : 'n IEnv.map, edges : ISet.set IEnv.map, rev_edges : ISet.set IEnv.map} val empty = {max_id = 0, nodes = IEnv.empty, edges = IEnv.empty, rev_edges = IEnv.empty} fun addNode {max_id,nodes,edges,rev_edges} nodeInfo = let val nid = max_id + 1 in ({max_id = nid, nodes = IEnv.insert(nodes,nid,nodeInfo), edges = IEnv.insert(edges,nid,ISet.empty), rev_edges = IEnv.insert(rev_edges,nid,ISet.empty)}, nid) end fun addEdge {max_id,nodes,edges,rev_edges} (fromNid,toNid) = let val outGoingNodes = case IEnv.find(edges,fromNid) of SOME ns => ISet.add(ns,toNid) | _ => ISet.singleton(toNid) val inComingNodes = case IEnv.find(rev_edges,toNid) of SOME ns => ISet.add(ns,fromNid) | _ => ISet.singleton(fromNid) in {max_id = max_id, nodes = nodes, edges = IEnv.insert(edges,fromNid,outGoingNodes), rev_edges = IEnv.insert(rev_edges,toNid,inComingNodes)} end fun listNodes {max_id,nodes,edges,rev_edges} = IEnv.listItemsi nodes fun getNodeInfo {max_id,nodes,edges,rev_edges} nid = IEnv.find (nodes,nid) fun getOutGoingNodes {max_id,nodes,edges,rev_edges} nid = case IEnv.find(edges,nid) of SOME ns => ns | _ => ISet.empty fun getInComingNodes {max_id,nodes,edges,rev_edges} nid = case IEnv.find(rev_edges,nid) of SOME ns => ns | _ => ISet.empty fun scc (g as {max_id,nodes,edges,rev_edges}) = let val count = ref 1 val max_id = max_id + 1 val dfnumber = Array.array (max_id,~1) val lowlink = Array.array (max_id,0) val onstack = Array.array (max_id,false) val st = (ref []) : (int list) ref val components = (ref []) : ((int list) list) ref fun dfs nid = let val _ = Array.update (dfnumber,nid,!count) val _ = Array.update (lowlink,nid,!count) val _ = ( count := !count + 1 ) val _ = st := (nid::(!st)) val _ = Array.update (onstack,nid,true) val onodes = ISet.listItems (getOutGoingNodes g nid) fun f n = if Array.sub(dfnumber,n) = ~1 then (dfs n; let val tmp = let val ll1 = Array.sub(lowlink,n) val ll2 = Array.sub(lowlink,nid) in if ll1 > ll2 then ll2 else ll1 end in Array.update(lowlink,nid,tmp) end) else let val dfn1 = Array.sub(dfnumber,n) val dfn2 = Array.sub(dfnumber,nid) in if ( dfn1 < dfn2 ) andalso Array.sub(onstack,n) then let val ll1 = Array.sub(lowlink,n) val ll2 = Array.sub(lowlink,nid) val tmp = if ll1 > ll2 then ll2 else ll1 in Array.update(lowlink,nid,tmp) end else () end fun getComponent () = let val (n,st') = case !st of (n::st')=> (n,st') | nil => raise Control.Bug "nil to getComponent (valrecoptimization/main/Graph.sml)" val _ = st := st' val _ = Array.update (onstack,n,false) in if n = nid then [n] else ( n :: getComponent () ) end in ( List.app f onodes; let val ll = Array.sub(lowlink,nid) val dfn = Array.sub(dfnumber,nid) in if ll = dfn then let val c = getComponent() val cs = c :: !components in components := cs end else () end ) end fun dfsAll ns = case ns of [] => () | (n :: ns1) => let val dfn = Array.sub ( dfnumber, n) in if dfn = ~1 then (dfs n;dfsAll(ns1)) else dfsAll(ns1) end in ( dfsAll (#1 (ListPair.unzip(listNodes g))); !components ) end fun printNodes ns = (print "("; List.app (fn nid => (print (Int.toString nid); print " ")) ns ; print ")\n") end smlsharp-1.2.0/src/compiler/util/main/ListSorter.smi0000644 000000000000000000000040212050661606022625 0ustar00rootroot0000000 0000000 _require "../../../basis/main/General.smi" _require "../../../basis/main/Array.smi" _require "../../../basis/main/List.smi" _require "../../../basis/main/binary-op.smi" structure ListSorter = struct val sort : ('a * 'a -> order) -> 'a list -> 'a list end smlsharp-1.2.0/src/compiler/util/main/ListSorter.sml0000644 000000000000000000000547312050661606022645 0ustar00rootroot0000000 0000000 (** * sort a list. * @copyright (c) 2006, Tohoku University. * @author YAMATODANI Kiyoshi * @version $Id: ListSorter.sml,v 1.5 2006/02/28 16:11:11 kiyoshiy Exp $ *) structure ListSorter : sig (** * @params compare list * @param compare a function which indicates which of two elements is * less than or equal to or more than the other. * @param list unsorted list * @return sorted list *) val sort : ('a * 'a -> order) -> 'a list -> 'a list end = struct (***************************************************************************) (* ToDo : implement efficient sort algorithm (ex. merge sort). *) (* fun sort compare list = let (* return true if value is less than base. *) fun lessThan base value = LESS = compare (value, base) fun sort_part [] trailer = trailer | sort_part (head :: tail) trailer = let val (smallers, greaters) = List.partition (lessThan head) tail val greaters = sort_part greaters trailer in sort_part smallers (head :: greaters) end in sort_part list [] end *) fun sort compare list = let val array = Array.fromList list fun sub index = Array.sub (array, index) fun update (index, value) = Array.update (array, index, value) fun swap (i, j) = let val tmp = sub i in update (i, sub j); update (j, tmp) end fun quickSort (left, right) = if left < right then let val center = (left + right) div 2 val pivotValue = sub center val _ = update (center, sub left) (* ensure that values left to pivot are less than pivotValue, * and value to rigth to pivot are greater than or equal to * pivotValue. *) fun scan (cursor, pivot) = if cursor <= right then if LESS = compare(sub cursor, pivotValue) then ( swap (pivot + 1, cursor); scan (cursor + 1, pivot + 1) ) else scan (cursor + 1, pivot) else pivot val pivot = scan (left + 1, left) in update (left, sub pivot); update (pivot, pivotValue); (* now, array is partitioned at pivot. *) quickSort(left, pivot - 1); quickSort(pivot + 1, right) end else () in quickSort (0, Array.length array - 1); Array.foldr (fn (value, list) => value :: list) [] array end (***************************************************************************) end; smlsharp-1.2.0/src/compiler/util/main/SCCFun.smi0000644 000000000000000000000462612050661606021610 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlnj-lib/Util/ord-key-sig.sml" _require "../../../smlnj-lib/Util/ord-map-sig.sml" _require "../../control/main/Control.ppg.smi" _require "Graph.smi" functor SCCFun(IMap : sig structure Key : sig type ord_key val compare : ord_key * ord_key -> order end type 'a map val empty : 'a map val isEmpty : 'a map -> bool val singleton : Key.ord_key * 'a -> 'a map val insert : 'a map * Key.ord_key * 'a -> 'a map val insert' : (Key.ord_key * 'a) * 'a map -> 'a map val find : 'a map * Key.ord_key -> 'a option val lookup : 'a map * Key.ord_key -> 'a val inDomain : 'a map * Key.ord_key -> bool val remove : 'a map * Key.ord_key -> 'a map * 'a val first : 'a map -> 'a option val firsti : 'a map -> (Key.ord_key * 'a) option val numItems : 'a map -> int val listItems : 'a map -> 'a list val listItemsi : 'a map -> (Key.ord_key * 'a) list val listKeys : 'a map -> Key.ord_key list val collate : ('a * 'a -> order) -> 'a map * 'a map -> order val unionWith : ('a * 'a -> 'a) -> 'a map * 'a map -> 'a map val unionWithi : (Key.ord_key * 'a * 'a -> 'a) -> 'a map * 'a map -> 'a map val intersectWith : ('a * 'b -> 'c) -> 'a map * 'b map -> 'c map val intersectWithi : (Key.ord_key * 'a * 'b -> 'c) -> 'a map * 'b map -> 'c map val mergeWith : ('a option * 'b option -> 'c option) -> 'a map * 'b map -> 'c map val mergeWithi : (Key.ord_key * 'a option * 'b option -> 'c option) -> 'a map * 'b map -> 'c map val app : ('a -> unit) -> 'a map -> unit val appi : (Key.ord_key * 'a -> unit) -> 'a map -> unit val map : ('a -> 'b) -> 'a map -> 'b map val mapi : (Key.ord_key * 'a -> 'b) -> 'a map -> 'b map val foldl : ('a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldli : (Key.ord_key * 'a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldr : ('a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldri : (Key.ord_key * 'a * 'b -> 'b) -> 'b -> 'a map -> 'b val filter : ('a -> bool) -> 'a map -> 'a map val filteri : (Key.ord_key * 'a -> bool) -> 'a map -> 'a map val mapPartial : ('a -> 'b option) -> 'a map -> 'b map val mapPartiali : (Key.ord_key * 'a -> 'b option) -> 'a map -> 'b map end) = struct type elem = IMap.Key.ord_key type graph (= boxed) val empty : graph val addNode : graph * elem -> graph val addEdge : graph * elem * elem -> graph val scc : graph -> elem list list end smlsharp-1.2.0/src/compiler/util/main/SCCFun.sml0000644 000000000000000000000407512050661606021611 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2004-2012 Tohoku University. * @author Duc-Huu Nguyen * @author Atsushi Ohori *) signature SCC = sig type graph type elem val empty : graph val addNode : graph * elem -> graph val addEdge : graph * elem * elem -> graph val scc : graph -> elem list list end functor SCCFun (IMap:ORD_MAP) :> SCC where type elem = IMap.Key.ord_key = struct type elem = IMap.Key.ord_key type graph = elem Graph.graph * int IMap.map val empty = (Graph.empty, IMap.empty) fun addNode ((graph, intmap), elem) = let val (graph , nodeId) = Graph.addNode graph elem val intmap = IMap.insert(intmap, elem, nodeId) in (graph, intmap) end fun addEdge ((graph, intmap), elem1, elem2) = let val ((graph, intmap),id1) = case IMap.find(intmap, elem1) of SOME id => ((graph, intmap),id) | NONE => let val (graph , nodeId) = Graph.addNode graph elem1 val intmap = IMap.insert(intmap, elem1, nodeId) in ((graph, intmap), nodeId) end val ((graph, intmap),id2) = case IMap.find(intmap, elem2) of SOME id => ((graph, intmap),id) | NONE => let val (graph , nodeId) = Graph.addNode graph elem2 val intmap = IMap.insert(intmap, elem2, nodeId) in ((graph, intmap), nodeId) end val graph = Graph.addEdge graph (id1, id2) in (graph, intmap) end fun scc (graph, intmap) = let fun getElem id = case Graph.getNodeInfo graph id of SOME elem => elem | NONE => raise Control.Bug "undefined id" val idListList = Graph.scc graph in map (fn idlist => map getElem idlist) idListList end fun listNode (graph, intmap) = let val idElemList = Graph.listNodes graph in map (fn (x,y) => y) idElemList end end smlsharp-1.2.0/src/compiler/util/main/SmlppgUtil.ppg0000644 000000000000000000002435012050661606022621 0ustar00rootroot0000000 0000000 (** * Utility functions for formatting using SMLFormat. * @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori * @version $Id: SmlppgUtil.ppg,v 1.1 2008/06/13 04:14:10 ohori Exp $ *) structure SmlppgUtil = struct type format = SMLFormat.FormatExpression.expression list (***************************************************************************) structure FE = SMLFormat.FormatExpression (***************************************************************************) val spaceIndicator = FE.Indicator{space = true, newline = NONE} val ns_1_Indicator = FE.Indicator {space = false, newline = SOME{priority = FE.Preferred 1}} val s_1_Indicator = FE.Indicator {space = true, newline = SOME{priority = FE.Preferred 1}} val s_d_Indicator = FE.Indicator {space = true, newline = SOME{priority = FE.Deferred}} fun makeToken s = [FE.Term (String.size s, s)] fun format_int32 int = let val text = Int32.toString int in [FE.Term (size text, text)] end fun format_word32 word = let val text = Word32.toString word in [FE.Term (size text, text)] end fun format_BigInt int = let val text = BigInt.toString int in [FE.Term (size text, text)] end fun format_IntInf int = let val text = IntInf.toString int in [FE.Term (size text, text)] end local (** * @params isTyConArguments args * @param isTyConArguments true if this function is called to format type * arguments to type constructor. * @param args a pair of element formatter, separator, prefix and suffix. *) fun formatElements isTyConArguments (elementFormatter, separator, prefixIfNotNull, suffixIfNotNull) = fn [] => [FE.Term (0, "")] | [e] => if isTyConArguments then (* guard the element as: * N3{ elem } * This assumes this function is called to format type arguments * of type constructor. *) [ FE.Guard ( SOME{cut = false, strength = 3, direction = FE.Neutral}, elementFormatter e ), s_d_Indicator ] else (elementFormatter e) (*@ [s_d_Indicator]*) | list => prefixIfNotNull @ [ FE.Guard ( SOME{cut = true, strength = 0, direction = FE.Neutral}, (SMLFormat.BasicFormatters.format_list (elementFormatter, separator) list) ) ] @ suffixIfNotNull in fun formatTyConArgumentTypes arguments = formatElements true arguments fun formatListWithEnclosureOne arguments = formatElements false arguments end fun formatSSet (separator, prefixIfNotNull, suffixIfNotNull) sset = let val L = SSet.listItems sset in formatListWithEnclosureOne ( SMLFormat.BasicFormatters.format_string, separator, prefixIfNotNull, suffixIfNotNull ) L end (* This is for the usual list printing, u.e. nil => "" non nil => [e1,...,en] *) fun formatListWithEnclosure (elementFormatter, separator, prefixIfNotNull, suffixIfNotNull) = fn [] => nil | list => prefixIfNotNull @ (SMLFormat.BasicFormatters.format_list (elementFormatter, separator) list) @ suffixIfNotNull (* This is for the following printing nil => "" [e] => e [e1,...,en] => opne e1 sep e2 sep ... sep en close *) fun formatListWithEnclosureIfMoreThanOne (elementFormatter, separator, prefixIfNotNull, suffixIfNotNull) = fn [] => [FE.Term (0, "")] | [value] => elementFormatter value | list => prefixIfNotNull @ (SMLFormat.BasicFormatters.format_list (elementFormatter, separator) list) @ suffixIfNotNull (* This is for the following printing nil => open close [e] => e [e1,...,en] => open e1 sep e2 sep ... sep en close *) fun formatListWithEnclosureIfNotOne (elementFormatter, separator, prefix, suffix) = fn [] => prefix @ suffix | [value] => elementFormatter value | list => prefix @ (SMLFormat.BasicFormatters.format_list (elementFormatter, separator) list) @ suffix (*% * @params(bindsep,itemsep) *) type 'a record = (*% * @format(field fields) * !N0{ "{" 2[1 fields(field)(itemsep)] 1 "}" } * @format:field(label * ty) label bindsep 1[ +d {ty} ] *) (string * 'a) list (*% * @params(bindsep, itemsep, prefixIfNotNull, suffixIfNotNull) * @formatter(listWithEncousure) formatListWithEnclosure *) type 'a varenvWithEnclosure = (*% * @format(field fields:listWithEncousure) * fields(field)(itemsep, prefixIfNotNull, suffixIfNotNull) * @format:field(label * ty) label bindsep ty *) (string * 'a) list (*% * @params(itemsep) *) type 'a tupleTy = (*% @format(field fields) N2{ fields(field)(itemsep) } @format:field(label * ty) N3{ty} *) (string * 'a) list (*% * @params(bindsep,itemsep) *) type 'a tupleExp = (*% @format(field fields) !N0{ "(" 1[1 fields(field)("," +1)] 1 ")" } @format:field(label * exp) {exp} *) (string * 'a) list fun isNumeric L = let fun isNumeric' n nil = true | isNumeric' n ((l,_)::tail) = (case Int.fromString l of SOME k => if k = n then isNumeric' (n+1) tail else false | _ => false) in isNumeric' 1 L end fun formatGenericFieldsTy ([elementFormatter], bindsep, itemsepRecord, itemsep) L = (case L of nil => [FE.Term (3, "nil")] | [_] => format_record(elementFormatter, bindsep, itemsepRecord) L | _ => if isNumeric L then format_tupleTy(elementFormatter, itemsep) L else format_record(elementFormatter, bindsep, itemsepRecord) L ) | formatGenericFieldsTy _ _ = raise Control.Bug "SmlppgUtil:formatGenericFieldsTy:empty element formatter" fun formatGenericFieldsExp ([elementFormatter],bindsep,itemsep) L = let fun isNumeric n nil = true | isNumeric n ((l,_)::tail) = (case Int.fromString l of SOME k => if k = n then isNumeric (n+1) tail else false | _ => false) in if isNumeric 1 L then format_tupleExp(elementFormatter,bindsep,itemsep) L else format_record(elementFormatter,bindsep,itemsep) L end | formatGenericFieldsExp _ _ = raise Control.Bug "SmlppgUtil:formatGenericFieldsExp : empty element formatter" fun formatGenericSmapTy (elementFormatter, bindsep, itemsepRecord, itemsep) smap = let val L = SEnv.listItemsi smap in formatGenericFieldsTy ([elementFormatter], bindsep, itemsepRecord, itemsep) L end fun formatGenericLmapTy (elementFormatter, bindsep, itemsepRecord, itemsep) smap = let val L = LabelEnv.listItemsi smap in formatGenericFieldsTy ([elementFormatter], bindsep, itemsepRecord, itemsep) L end fun formatGenericSmapExp (elementFormatter,bindsep,itemsep) smap = let val L = SEnv.listItemsi smap in formatGenericFieldsExp ([elementFormatter],bindsep,itemsep) L end fun formatGenericLmapExp (elementFormatter,bindsep,itemsep) smap = let val L = LabelEnv.listItemsi smap in formatGenericFieldsExp ([elementFormatter],bindsep,itemsep) L end (*% * @params(lparen, bindsep,itemsep,rparen) * @formatter(listWithEncousure) formatListWithEnclosure *) type 'a varenv = (*% @format(field fields) fields:listWithEncousure(field)(itemsep,lparen,rparen) @format:field(label * ty) { 2[ label bindsep ty ] } *) (string * 'a) list fun formatSmap (elementFormatter,lparen, bindsep,itemsep, rparen) smap = format_varenv(elementFormatter,lparen, bindsep,itemsep, rparen) (SEnv.listItemsi smap) (*% * @params(lparen, itemsep, rparen) * @formatter(formatListWithEnclosure) formatListWithEnclosure *) type 'a genericVarenv = (*% @format(field fields) fields:formatListWithEnclosure(field)(itemsep, lparen, rparen) @format:field(label * ty) ty()(,label) *) (string * 'a) list fun formatGenericSmap (elementFormatter,lparen, itemsep, rparen) smap = format_genericVarenv(elementFormatter,lparen, itemsep, rparen) (SEnv.listItemsi smap) fun formatSmapWithEnclosure ( elementFormatter, bindsep, itemsep, prefixIfNotNull, suffixIfNotNull ) smap = format_varenvWithEnclosure (elementFormatter, bindsep, itemsep, prefixIfNotNull, suffixIfNotNull) (SEnv.listItemsi smap) fun formatImap (elementFormatter) imap = let val keys = IEnv.listKeys imap val suf = [FE.Term(List.length keys + 2, "(" ^ (String.concat (map (fn i => (Int.toString i ^ ",")) keys)) ^ ")")] in (SMLFormat.BasicFormatters.format_list (elementFormatter,makeToken ",") (IEnv.listItems imap)) (* @ suf for debugging *) end fun formatPrependedOpt (formatter, prefixIfSome) = fn NONE => [FE.Term (0, "")] | SOME value => prefixIfSome @ (formatter value) fun formatEnclosedOpt (formatter, prefixIfSome, suffixIfSome) = fn NONE => [FE.Term (0, "")] | SOME value => prefixIfSome @ (formatter value) @ suffixIfSome fun formatOptWithDefault (formatter, default) = fn NONE => default | SOME value => formatter value fun formatBinaryChoice (ifTrue, ifFalse) value = if value then ifTrue else ifFalse (***************************************************************************) end smlsharp-1.2.0/src/compiler/util/main/SmlppgUtil.ppg.smi0000644 000000000000000000000522412050661606023407 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../../compiler-utils/env/main/SSet.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/IEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../control/main/Control.ppg.smi" _require "BigInt_IntInf.smi" structure SmlppgUtil = struct type format = SMLFormat.FormatExpression.expression list val makeToken : string -> format val format_int32 : Int32.int -> format val format_word32 : Word32.word -> format val format_BigInt : BigInt.int -> format val formatTyConArgumentTypes : ('a -> format) * format * format * format -> 'a list -> format val formatListWithEnclosureOne : ('a -> format) * format * format * format -> 'a list -> format val formatSSet : format * format * format -> SSet.set -> format val formatListWithEnclosure : ('a -> format) * format * format * format -> 'a list -> format val formatListWithEnclosureIfMoreThanOne : ('a -> format) * format * format * format -> 'a list -> format val formatListWithEnclosureIfNotOne : ('a -> format) * format * format * format -> 'a list -> format type 'a record = (string * 'a) list val format_record : ('a -> format) * format * format -> (string * 'a) list -> format val formatGenericFieldsTy : ('a -> format) list * format * format * format -> (string * 'a) list -> format val formatGenericFieldsExp : ('a -> format) list * format * format -> (string * 'a) list -> format val formatGenericSmapTy : ('a -> format) * format * format * format -> 'a SEnv.map -> format val formatGenericLmapTy : ('a -> format) * format * format * format -> 'a LabelEnv.map -> format val formatGenericSmapExp : ('a -> format) * format * format -> 'a SEnv.map -> format val formatGenericLmapExp : ('a -> format) * format * format -> 'a LabelEnv.map -> format val formatSmap : ('a -> format) * format * format * format * format -> 'a SEnv.map -> format val formatGenericSmap : (format * format -> 'a -> format) * format * format * format -> 'a SEnv.map -> format val formatSmapWithEnclosure : ('a -> format) * format * format * format * format -> 'a SEnv.map -> format val formatImap : ('a -> format) -> 'a IEnv.map -> format val formatPrependedOpt : ('a -> format) * format -> 'a option -> format val formatEnclosedOpt : ('a -> format) * format * format -> 'a option -> format val formatOptWithDefault : ('a -> 'b) * 'b -> 'a option -> 'b val formatBinaryChoice : 'a * 'a -> bool -> 'a val isNumeric : (string*'a) list -> bool end smlsharp-1.2.0/src/compiler/util/main/TermFormat.smi0000644 000000000000000000001177012050661606022605 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "ListSorter.smi" _require "BigInt_IntInf.smi" structure TermFormat = struct type format = SMLFormat.FormatExpression.expression list type 'a formatter = 'a -> format type 'a formatParam = 'a list val formatEnclosedList : 'a formatter * format * format * format -> 'a list formatter val formatAppList : 'a formatter * format * format * format -> 'a list formatter val formatSeqList : 'a formatter * format * format * format -> 'a list formatter val formatOptionalList : 'a formatter * format * format * format -> 'a list formatter val formatDeclList : 'a formatter * format * format -> 'a list formatter val formatCaseList : 'a formatter * format * format * format -> 'a list formatter val formatEnclosedOption : ('a formatter * format * format) -> 'a option formatter val formatOptionalOption : ('a formatter * format * format) -> 'a option formatter val formatEnclosedMap : 'k formatter -> ('a -> ('k * 'v) list) -> 'v formatter * format * format * format * format -> 'a formatter val formatEnclosedSEnv : 'a formatter * format * format * format * format -> 'a SEnv.map formatter val formatEnclosedLabelEnv : 'a formatter * format * format * format * format -> 'a LabelEnv.map formatter val formatEnclosedSEnvPlain : 'a formatter * format * format -> 'a SEnv.map formatter val isTuple : 'a LabelEnv.map -> bool val formatRecordExp : 'a formatter -> 'a LabelEnv.map formatter val formatRecordTy : 'a formatter -> 'a LabelEnv.map formatter val formatIfCons : format -> 'a list formatter val formatIfList : format -> 'a list formatter val formatIfNonEmpty : format -> 'a SEnv.map formatter val formatIfEmpty : format -> 'a SEnv.map formatter val formatIfEmptyFormat : (format * format) -> format -> format type 'kind btvEnv' (= boxed) type 'kind btvEnv = 'kind btvEnv' formatParam val emptyBtvEnv : 'k btvEnv val extendBtvEnv : 'k btvEnv -> 'k BoundTypeVarID.Map.map -> 'k btvEnv val extendBtvEnvWithOrder : 'k btvEnv -> 'k BoundTypeVarID.Map.map * BoundTypeVarID.id list -> 'k btvEnv val formatBoundTyvar : (format -> 'k formatter) -> 'k btvEnv -> BoundTypeVarID.id formatter val btvName : int -> string val formatBtvEnv : (format -> 'k formatter) -> 'k btvEnv -> 'k BoundTypeVarID.Map.map formatter val formatBtvEnvWithType : (format -> 'k formatter) -> 'k btvEnv -> 'k BoundTypeVarID.Map.map formatter val formatFreeTyvar : FreeTypeVarID.id formatter val ftvName : int -> string val format_BigInt_dec_ML : BigInt.int -> format (* val format_Int64_dec_ML : Int64.int -> format *) val format_Int32_dec_ML : Int32.int -> format val format_int_dec_ML : int -> format (* val format_Word64_hex_ML : Word64.word -> format *) val format_Word32_hex_ML : Word32.word -> format val format_Word8_hex_ML : Word8.word -> format val format_word_hex_ML : word -> format val format_string_ML : string -> format val format_char_ML : char -> format (* val format_Int64_dec_C : Int64.int -> format *) val format_Int32_dec_C : Int32.int -> format val format_int_dec_C : int -> format (* val format_Word64_hex_C : Word64.word -> format *) val format_Word32_hex_C : Word32.word -> format val format_Word8_hex_C : Word8.word -> format val format_word_hex_C : word -> format val format_string_C : string -> format val format_char_C : char -> format structure FormatComb = struct type 'a fmt (= boxed) type ('a,'b) comb (= boxed) val begin_ : (format, 'n) comb -> 'n val end_ : ('r, 'r) comb val text : ('r, string -> ('r,'n) comb -> 'n) comb val space : ('r, ('r,'n) comb -> 'n) comb val dspace : ('r, ('r,'n) comb -> 'n) comb val newline : ('r, ('r,'n) comb -> 'n) comb val $ : ('r, format -> ('r,'n) comb -> 'n) comb val guard_ : ('r, SMLFormat.FormatExpression.assoc option -> (('r,'c) comb -> 'c, 'n) comb -> 'n) comb val nest_ : ('r, int -> (('r,'c) comb -> 'c, 'n) comb -> 'n) comb val puts : (format, (unit, 'n) comb -> 'n) comb val int : int formatter val word : word formatter val string : string formatter val term : string -> format val list : 'a formatter -> 'a list formatter val assocList : 'k formatter * 'v formatter -> ('k * 'v) list formatter val record : (string * format) list formatter val tuple2 : 't1 formatter * 't2 formatter -> ('t1 * 't2) formatter val tuple3 : 't1 formatter * 't2 formatter * 't3 formatter -> ('t1 * 't2 * 't3) formatter val tuple4 : 't1 formatter * 't2 formatter * 't3 formatter * 't4 formatter -> ('t1 * 't2 * 't3 * 't4) formatter end val formatFormat : format -> format end smlsharp-1.2.0/src/compiler/util/main/TermFormat.sml0000644 000000000000000000005765212050661606022621 0ustar00rootroot0000000 0000000 (** * Utility functions for formatting terms using SMLFormat. * @copyright (c) 2010, Tohoku University. * @author UENO Katsuhiro *) (* ToDo: * This is a replacement of SmlppgUtil.ppg. After rewriting all formatters, * SmlppgUtil.ppg should be removed. *) structure TermFormat :> sig type format = SMLFormat.FormatExpression.expression list type 'a formatter = 'a -> format (* due to restriction of SMLFormat, types of parameters for a formatter * must be of the form 'a list. *) type 'a formatParam = 'a list (* * formatting lists: * nil one many * formatEnclosedList () (1) (1, 2, 3, ..., n) * formatAppList () 1 (1, 2, 3, ..., n) * formatSeqList 1 (1, 2, 3, ..., n) * formatOptionalList (1) (1, 2, 3, ..., n) * formatDeclList (1 (1,2,3,...,n * formatCaseList () (1,) (1,2,3,...,n,) * (basic formatter) 1 1,2,3,...,n *) val formatEnclosedList : 'a formatter * format * format * format -> 'a list formatter val formatAppList : 'a formatter * format * format * format -> 'a list formatter val formatSeqList : 'a formatter * format * format * format -> 'a list formatter val formatOptionalList : 'a formatter * format * format * format -> 'a list formatter val formatDeclList : 'a formatter * format * format -> 'a list formatter val formatCaseList : 'a formatter * format * format * format -> 'a list formatter (* * formatting options: * NONE SOME x * formatEnclosedOption () (x) * formatOptinalOption (x) * (basic formatter) x *) val formatEnclosedOption : ('a formatter * format * format) -> 'a option formatter val formatOptionalOption : ('a formatter * format * format) -> 'a option formatter (* * formatting maps: * empty one many * formatEnclosedMap {} {k1 = v1} {k1 = v1, ..., kn = vn} *) val formatEnclosedMap : 'k formatter -> ('a -> ('k * 'v) list) -> 'v formatter * format * format * format * format -> 'a formatter val formatEnclosedSEnv : 'a formatter * format * format * format * format -> 'a SEnv.map formatter val formatEnclosedLabelEnv : 'a formatter * format * format * format * format -> 'a LabelEnv.map formatter val formatEnclosedSEnvPlain : 'a formatter * format * format -> 'a SEnv.map formatter (* formatting records and tuples *) val isTuple : 'a LabelEnv.map -> bool val formatRecordExp : 'a formatter -> 'a LabelEnv.map formatter val formatRecordTy : 'a formatter -> 'a LabelEnv.map formatter (* for fine-tuning *) val formatIfCons : format -> 'a list formatter (* for fine-tuning *) val formatIfList : format -> 'a list formatter (* for fine-tuning *) val formatIfNonEmpty : format -> 'a SEnv.map formatter (* for fine-tuning *) val formatIfEmpty : format -> 'a SEnv.map formatter val formatIfEmptyFormat : (format * format) -> format -> format (* formatting bound type variables *) type 'kind btvEnv' type 'kind btvEnv = 'kind btvEnv' formatParam val emptyBtvEnv : 'k btvEnv val extendBtvEnv : 'k btvEnv -> 'k BoundTypeVarID.Map.map -> 'k btvEnv val extendBtvEnvWithOrder : 'k btvEnv -> 'k BoundTypeVarID.Map.map * BoundTypeVarID.id list -> 'k btvEnv val formatBoundTyvar : (format -> 'k formatter) -> 'k btvEnv -> BoundTypeVarID.id formatter val btvName : int -> string val formatBtvEnv : (format -> 'k formatter) -> 'k btvEnv -> 'k BoundTypeVarID.Map.map formatter val formatBtvEnvWithType : (format -> 'k formatter) -> 'k btvEnv -> 'k BoundTypeVarID.Map.map formatter val formatFreeTyvar : FreeTypeVarID.id formatter val ftvName : int -> string (* formatting constant literals *) val format_BigInt_dec_ML : BigInt.int -> format (* val format_Int64_dec_ML : Int64.int -> format *) val format_Int32_dec_ML : Int32.int -> format val format_int_dec_ML : int -> format (* val format_Word64_hex_ML : Word64.word -> format *) val format_Word32_hex_ML : Word32.word -> format val format_Word8_hex_ML : Word8.word -> format val format_word_hex_ML : word -> format val format_string_ML : string -> format val format_char_ML : char -> format (* val format_Int64_dec_C : Int64.int -> format *) val format_Int32_dec_C : Int32.int -> format val format_int_dec_C : int -> format (* val format_Word64_hex_C : Word64.word -> format *) val format_Word32_hex_C : Word32.word -> format val format_Word8_hex_C : Word8.word -> format val format_word_hex_C : word -> format val format_string_C : string -> format val format_char_C : char -> format (* combinators for writing formatters by hand *) structure FormatComb : sig type 'a fmt type ('a,'b) comb val begin_ : (format, 'n) comb -> 'n val end_ : ('r, 'r) comb val text : ('r, string -> ('r,'n) comb -> 'n) comb val space : ('r, ('r,'n) comb -> 'n) comb val dspace : ('r, ('r,'n) comb -> 'n) comb val newline : ('r, ('r,'n) comb -> 'n) comb val $ : ('r, format -> ('r,'n) comb -> 'n) comb val guard_ : ('r, SMLFormat.FormatExpression.assoc option -> (('r,'c) comb -> 'c, 'n) comb -> 'n) comb val nest_ : ('r, int -> (('r,'c) comb -> 'c, 'n) comb -> 'n) comb val puts : (format, (unit, 'n) comb -> 'n) comb val int : int formatter val word : word formatter val string : string formatter val term : string -> format val list : 'a formatter -> 'a list formatter val assocList : 'k formatter * 'v formatter -> ('k * 'v) list formatter val record : (string * format) list formatter val tuple2 : 't1 formatter * 't2 formatter -> ('t1 * 't2) formatter val tuple3 : 't1 formatter * 't2 formatter * 't3 formatter -> ('t1 * 't2 * 't3) formatter val tuple4 : 't1 formatter * 't2 formatter * 't3 formatter * 't4 formatter -> ('t1 * 't2 * 't3 * 't4) formatter end (* for debug *) val formatFormat : format -> format end = struct (* * == Guideline for writing formatters for terms * * guard precedence for types: * L9 { x ^ y } annotation for types * L8 { x y } type application * N5 {!N6 { x * y }} tuple type * R4 { x -> y } function type * * guard precedence for expressions: * L9 { e } special terms (if needed) * L8 { x y } function application * L2 { x : y } type annotation * R1 { x => y } abstraction, let, switch, handle, raise, binding * "(" !N0 { x ")" } cut * * - Precedence 0 is reserved for cut. * - Don't use guards immoderately; they easily corrupt the result. * Basic storategies for putting guards are as follows: * - Start a guard only at immediately after a left parenthesize. * - End a guard only at immediately after (or before) a right parenthesize. * - If a term may be surrounded by parenthesizes depending on * associatibitity, put a guard with association surrounding the * whole of the formatter for the term. * - Putting guards at any other place is just for fine-tuning. * - Recommended space (and break) indicators are only +1 and +d. * Any other space indicators are just for fine-tuning. * * == Templates * * Type annotation: * L2{ FORMAT +1 ":" +d FORMAT } * Application: * L8{ 2[ FORMAT +1 FORMAT ] } * Parenthesizes: * "(" !N0{ FORMAT ")" } * Type Application: * L8{ 2[ FORMAT instTys:optionalList(instTy)(+1 "{",",","}") ] } *) open SMLFormat.FormatExpression type format = expression list type 'a formatter = 'a -> format type 'a formatParam = 'a list val sp = Indicator {space=true, newline=SOME {priority=Preferred 1}} val dsp = Indicator {space=true, newline=SOME {priority=Deferred}} val cutAssoc = SOME {cut=true, strength=0, direction=Neutral} val tupleAssoc = SOME {cut=false, strength=5, direction=Neutral} val tupleInnerAssoc = SOME {cut=true, strength=6, direction=Neutral} fun term s = Term (size s, s) val commaSpace = [term ",", sp] val comma = [term ","] fun nest level l = StartOfIndent level :: l @ [EndOfIndent] (**** combinators for writing format expressions by hand ****) structure FormatComb = struct datatype 'a fmt = A of (format -> format) * (format -> 'a) type ('a,'b) comb = 'a fmt -> 'b fun begin_ k = k (A (fn t => t, fn exp => exp)) fun end_ (A (fmt, last)) = last (fmt nil) fun text (A (fmt, last)) s k = k (A (fn t => fmt (term s :: t), last)) fun space (A (fmt, last)) k = k (A (fn t => fmt (sp :: t), last)) fun dspace (A (fmt, last)) k = k (A (fn t => fmt (dsp :: t), last)) fun newline (A (fmt, last)) k = k (A (fn t => fmt (Newline :: t), last)) fun $ (A (fmt, last)) exp k = k (A (fn t => fmt (exp @ t), last)) fun guardEnd (A (fmt, last)) assoc result k = k (A (fn t => fmt (Guard (assoc, result) :: t), last)) fun guard_ accum assoc k = k (A (fn t => t, guardEnd accum assoc)) fun nestEnd (A (fmt, last)) level result k = k (A (fn t => fmt (nest level result @ t), last)) fun nest_ accum level k = k (A (fn t => t, nestEnd accum level)) end open FormatComb fun intersperse sep nil = nil | intersperse sep [x] = x | intersperse sep (h::t) = h @ sep @ intersperse sep t (**** formatters for basic types ****) fun formatEnclosedList (formatter, lparen, comma, rparen) elems = begin_ $lparen guard_ cutAssoc $(intersperse (comma @ [sp]) (map formatter elems)) $rparen end_ end_ (* fun formatEnclosedList (formatter, lparen, comma, rparen) elems = begin_ $lparen $(intersperse (comma @ [sp]) (map formatter elems)) $rparen end_ *) fun formatAppList (formatter, lparen, comma, rparen) nil = lparen @ rparen | formatAppList (formatter, lparen, comma, rparen) [x] = formatter x | formatAppList args elems = formatEnclosedList args elems fun formatSeqList (formatter, lparen, comma, rparen) nil = nil | formatSeqList (formatter, lparen, comma, rparen) [x] = formatter x | formatSeqList args elems = formatEnclosedList args elems fun formatOptionalList (formatter, lparen, comma, rparen) nil = nil | formatOptionalList args elems = formatEnclosedList args elems fun formatDeclList (formatter, head, sep) nil = nil | formatDeclList (formatter, head, sep) (elem::elems) = head @ formatter elem @ List.concat (map (fn x => sep @ formatter x) elems) fun formatCaseList (formatter, head, sep, last) nil = head @ last | formatCaseList (formatter, head, sep, last) elems = head @ foldr (fn (x,z) => formatter x @ sep @ z) last elems fun formatEnclosedOption (formatter, lparen, rparen) NONE = lparen @ rparen | formatEnclosedOption (formatter, lparen, rparen) (SOME x) = lparen @ formatter x @ rparen fun formatOptionalOption (formatter, lparen, rparen) NONE = nil | formatOptionalOption (formatter, lparen, rparen) (SOME x) = lparen @ formatter x @ rparen fun keyValuePair (key, mapsto, value) = begin_ guard_ NONE $key $mapsto nest_ 2 space $value end_ end_ end_ fun formatEnclosedMap formatKey listItemsi (format, lparen, comma, mapsto, rparen) map = formatEnclosedList (fn (key, value) => keyValuePair (formatKey key, mapsto, format value), lparen, comma, rparen) (listItemsi map) fun formatEnclosedSEnv args map = formatEnclosedMap (fn x => [term x]) SEnv.listItemsi args map fun formatEnclosedLabelEnv args map = formatEnclosedMap (fn x => [term x]) LabelEnv.listItemsi args map fun formatEnclosedList (formatter, lparen, comma, rparen) elems = begin_ $lparen guard_ cutAssoc $(intersperse (comma @ [sp]) (map formatter elems)) $rparen end_ end_ fun formatEnclosedSEnvPlain (formatter, comma, mapsto) senv = formatDeclList (fn (string, value) => begin_ nest_ 1 $[term string] $mapsto $(formatter value) end_ end_, comma, comma ) (SEnv.listItemsi senv) structure FormatComb = struct open FormatComb fun assocList (formatKey, formatValue) pairs = formatEnclosedMap formatKey (fn x => x) (formatValue, [term "{"], [term ","], [dsp,term "=>"], [term "}"]) pairs fun record fields = formatEnclosedList (fn (key, value) => keyValuePair ([term key], [dsp,term "="], value), [term "{"], [term ","], [term "}"]) fields end (**** formatter for records ****) fun isTuple smap = let val (n, result) = LabelEnv.foldli (fn (k,v,(n,z)) => (n + 1, z andalso k = Int.toString n)) (1, true) smap in n > 2 andalso result end fun formatRecordExp formatter smap = if isTuple smap then formatEnclosedList (formatter, [term "("], [term ","], [term ")"]) (LabelEnv.listItems smap) else formatEnclosedLabelEnv (formatter, [term "{"], [term ","], [dsp, term "="], [term "}"]) smap fun formatRecordTy formatter smap = if isTuple smap then begin_ guard_ tupleAssoc guard_ tupleInnerAssoc $(LabelEnv.foldr (fn (x, nil) => formatter x | (x, z) => begin_ $(formatter x) space text "*" dspace $z end_) nil smap) end_ end_ end_ else formatEnclosedLabelEnv (formatter, [term "{"], [term ","], [term ":"], [term "}"]) smap (**** for fine-tuning ****) fun formatIfCons exp nil = nil | formatIfCons exp _ = exp (**** for fine-tuning ****) fun formatIfList exp nil = nil | formatIfList exp [_] = nil | formatIfList exp _ = exp (**** for fine-tuning ****) fun formatIfNonEmpty exp smap = if SEnv.isEmpty(smap) then nil else exp (**** for fine-tuning ****) fun formatIfEmpty exp smap = if SEnv.isEmpty(smap) then exp else nil fun formatIfEmptyFormat (emptyFormat, nonEmptyFormat) exp = if null(exp) then emptyFormat else nonEmptyFormat (**** formatting bound type variables ****) type 'kind btvEnv' = { base : int, env : (int * 'kind) BoundTypeVarID.Map.map } type 'kind btvEnv = 'kind btvEnv' formatParam val emptyBtvEnv' = {base=0, env=BoundTypeVarID.Map.empty} : 'kind btvEnv' val emptyBtvEnv = nil : 'kind btvEnv fun getBtvEnv nil = emptyBtvEnv' | getBtvEnv [btvEnv] = btvEnv | getBtvEnv _ = raise Control.Bug "TermFormat.getBtvEnv: illgal btvEnv parameter" fun listItemsiWithOrder (map, order) = let fun loop (map, nil) = BoundTypeVarID.Map.listItemsi map | loop (map, h::t) = if BoundTypeVarID.Map.inDomain (map, h) then let val (map, v) = BoundTypeVarID.Map.remove (map, h) in (h, v) :: loop (map, t) end else loop (map, t) in loop (map, order) end fun add ({base, env} : 'k btvEnv') (k, v) = {base = base + 1, env = BoundTypeVarID.Map.insert (env, k, (base, v))} fun extendBtvEnv env btvMap = [BoundTypeVarID.Map.foldli (fn (k, v, env) => add env (k, v)) (getBtvEnv env) btvMap] fun extendBtvEnvWithOrder env pair = [foldl (fn (x, env) => add env x) (getBtvEnv env) (listItemsiWithOrder pair)] fun tvName base index = if index < 26 then str (chr (ord base + index)) else tvName base (index div 26) ^ str (chr (ord base + index mod 26)) fun btvName index = tvName #"a" index fun ftvName index = tvName #"A" index fun formatFreeTyvar ftvId = [term (ftvName (FreeTypeVarID.toInt ftvId))] datatype btvName = BOUND of int | FREE of BoundTypeVarID.id fun lookup env btvId = case BoundTypeVarID.Map.find (#env (getBtvEnv env), btvId) of SOME (nameIndex, kind) => (BOUND nameIndex, SOME kind) | NONE => (FREE btvId, NONE) fun formatBtv formatKind ((name, kind), btvId) = let val name = case name of BOUND i => btvName i | FREE id => "FREEBTV(" ^ BoundTypeVarID.toString id ^ ")" val nameFormat = [term name] in case kind of SOME kind => formatKind nameFormat kind | NONE => nameFormat end fun formatBtvWithType formatKind ((name, kind), btvId) = let val name = case name of BOUND i => btvName i ^ "(" ^ BoundTypeVarID.toString btvId ^ ")" | FREE id => "FREEBTV(" ^ BoundTypeVarID.toString id ^ ")" val nameFormat = [term name] in case kind of SOME kind => formatKind nameFormat kind | NONE => nameFormat end fun formatBoundTyvar formatKind env btvId = formatBtv formatKind (lookup env btvId, btvId) fun formatBoundTyvarWithType formatKind env btvId = formatBtvWithType formatKind (lookup env btvId, btvId) fun formatBtvEnv formatKind env btvEnv = let val tyvars = map (fn (id, kind) => ((#1 (lookup env id), SOME kind), id)) (BoundTypeVarID.Map.listItemsi btvEnv) val tyvars = ListSorter.sort (fn (((BOUND i,_),_), ((BOUND j,_),_)) => Int.compare (i, j) | (((BOUND _,_),_), ((FREE _,_),_)) => LESS | (((FREE _,_),_), ((BOUND _,_),_)) => GREATER | (((FREE i,_),_), ((FREE j,_),_)) => BoundTypeVarID.compare (i, j)) tyvars in SMLFormat.BasicFormatters.format_list (formatBtv formatKind, commaSpace) tyvars (* SMLFormat.BasicFormatters.format_list (formatBtv formatKind, comma) tyvars *) end fun formatBtvEnvWithType formatKind env btvEnv = let val tyvars = map (fn (id, kind) => ((#1 (lookup env id), SOME kind), id)) (BoundTypeVarID.Map.listItemsi btvEnv) val tyvars = ListSorter.sort (fn (((BOUND i,_),_), ((BOUND j,_),_)) => Int.compare (i, j) | (((BOUND _,_),_), ((FREE _,_),_)) => LESS | (((FREE _,_),_), ((BOUND _,_),_)) => GREATER | (((FREE i,_),_), ((FREE j,_),_)) => BoundTypeVarID.compare (i, j)) tyvars in SMLFormat.BasicFormatters.format_list (formatBtvWithType formatKind, commaSpace) tyvars (* SMLFormat.BasicFormatters.format_list (formatBtvWithType formatKind, comma) tyvars *) end (**** formatters for constant literals ****) fun cminus str = String.map (fn #"~" => #"-" | x => x) str fun prepend prefix str = if String.isPrefix "~" str then "~" ^ prefix ^ String.extract (str, 1, NONE) else prefix ^ str fun toLower str = String.map Char.toLower str fun format_dec_MLi fmt x = [term (fmt StringCvt.DEC x)] fun format_dec_MLw fmt x = [term (prepend "0w" (fmt StringCvt.DEC x))] fun format_dec_C fmt x = [term (cminus (fmt StringCvt.DEC x))] fun format_hex_MLi fmt x = [term (prepend "0x" (toLower (fmt StringCvt.HEX x)))] fun format_hex_MLw fmt x = [term (prepend "0wx" (toLower (fmt StringCvt.HEX x)))] fun format_hex_C fmt x = [term (cminus (prepend "0x" (toLower (fmt StringCvt.HEX x))))] fun format_BigInt_dec_ML x = format_dec_MLi BigInt.fmt x (* fun format_Int64_dec_ML x = format_dec_MLi Int64.fmt x *) fun format_Int32_dec_ML x = format_dec_MLi Int32.fmt x fun format_int_dec_ML x = format_dec_MLi Int.fmt x (* fun format_Word64_hex_ML x = format_hex_MLw Word64.fmt x *) fun format_Word32_hex_ML x = format_hex_MLw Word32.fmt x fun format_Word8_hex_ML x = format_hex_MLw Word8.fmt x fun format_word_hex_ML x = format_hex_MLw Word.fmt x (* fun format_Int64_dec_C x = format_dec_C Int64.fmt x *) fun format_Int32_dec_C x = format_dec_C Int32.fmt x fun format_int_dec_C x = format_dec_C Int.fmt x (* fun format_Word64_hex_C x = format_hex_C Word64.fmt x *) fun format_Word32_hex_C x = format_hex_C Word32.fmt x fun format_Word8_hex_C x = format_hex_C Word8.fmt x fun format_word_hex_C x = format_hex_C Word.fmt x fun right (s, n) = String.extract (s, size s - n, NONE) fun pad0 (s, n) = if size s > n then s else right ("0000" ^ s, n) fun oct3 i = pad0 (Int.fmt StringCvt.OCT i, 3) fun dec3 i = pad0 (Int.fmt StringCvt.DEC i, 3) fun hex4 i = pad0 (Int.fmt StringCvt.HEX i, 4) fun escapeML s = String.translate (fn #"\007" => "\\a" | #"\008" => "\\b" | #"\009" => "\\t" | #"\010" => "\\n" | #"\011" => "\\v" | #"\012" => "\\f" | #"\013" => "\\r" | #"\092" => "\\\\" | #"\034" => "\\\"" | c => if ord c < 128 andalso Char.isPrint c then str c else if ord c <= 999 then "\\" ^ dec3 (ord c) else "\\u" ^ hex4 (ord c)) s fun escapeC s = String.translate (fn #"\008" => "\\b" | #"\012" => "\\f" | #"\010" => "\\n" | #"\013" => "\\r" | #"\009" => "\\t" | #"\092" => "\\\\" | #"\034" => "\\\"" | c => if ord c < 128 andalso Char.isPrint c then str c else if ord c < 256 then "\\" ^ oct3 (ord c) else "\\u" ^ hex4 (ord c)) s fun format_string_ML s = [term ("\"" ^ escapeML s ^ "\"")] fun format_string_C s = [term ("\"" ^ escapeC s ^ "\"")] fun format_char_ML c = [term ("#\"" ^ escapeML (str c) ^ "\"")] fun format_char_C #"\034" = [term "'\"'"] | format_char_C c = [term ("'" ^ escapeC (str c) ^ "'")] structure FormatComb = struct open FormatComb val int = format_int_dec_ML val word = format_word_hex_ML val string = format_string_ML fun list f l = formatEnclosedList (f, [term "["], [term ","], [term "]"]) l fun tuple f l = formatEnclosedList (f, [term "("], [term ","], [term ")"]) l fun tuple2 (f1, f2) (x1, x2) = tuple (fn x => x) [f1 x1, f2 x2] fun tuple3 (f1, f2, f3) (x1, x2, x3) = tuple (fn x => x) [f1 x1, f2 x2, f3 x3] fun tuple4 (f1, f2, f3, f4) (x1, x2, x3, x4) = tuple (fn x => x) [f1 x1, f2 x2, f3 x3, f4 x4] fun puts (A (fmt, last)) k = k (A (fmt, fn t => TextIO.print (Control.prettyPrint t ^ "\n"))) val term = fn x => [term x] end (* for debug *) fun formatFormatExp exp = case exp of Term (n, s) => dsp :: format_string_ML s @ (if size s = n then nil else [term ("(" ^ Int.toString n ^ ")")]) | Newline => [dsp, term "\\n"] | Guard (assoc, exps) => begin_ space $(case assoc of NONE => nil | SOME {cut, strength, direction} => [term ((if cut then "!" else "") ^ (case direction of Left => "L" | Right => "R" | Neutral => "N") ^ Int.toString strength)]) text "{" dspace guard_ NONE $(formatFormat exps) dspace text "}" end_ end_ | Indicator {space, newline} => [dsp, term ((if space then "+" else "") ^ (case newline of NONE => "" | SOME {priority=Preferred n} => Int.toString n | SOME {priority=Deferred} => "d"))] | StartOfIndent n => [dsp, term (Int.toString n ^ "[")] | EndOfIndent => [dsp, term "]"] and formatFormat exps = case List.concat (map formatFormatExp exps) of h::t => t | nil => nil end smlsharp-1.2.0/src/compiler/util/main/utils.smi0000644 000000000000000000000032712050661606021661 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/LabelEnv.smi" structure Utils = struct val listToTuple : 'a list -> (string * 'a) list val listToFields : 'a list -> 'a LabelEnv.map end smlsharp-1.2.0/src/compiler/util/main/utils.sml0000644 000000000000000000000050412050661606021661 0ustar00rootroot0000000 0000000 structure Utils = struct fun listToTuple list = #2 (foldl (fn (x, (n, y)) => (n + 1, y @ [(Int.toString n, x)])) (1, nil) list) fun listToFields list = #2 (foldl (fn (x, (n, y)) => (n + 1, LabelEnv.insert(y,Int.toString n, x))) (1, LabelEnv.empty) list) end smlsharp-1.2.0/src/compiler/util/test0000755 000000000000000000000000012050661606017761 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/util/test/ListSorterTest0001.sml0000644 000000000000000000000635712050661606024043 0ustar00rootroot0000000 0000000 (** * @author YAMATODANI Kiyoshi * @version $Id: ListSorterTest0001.sml,v 1.1 2005/12/14 09:38:29 kiyoshiy Exp $ *) structure ListSorterTest0001 = struct (***************************************************************************) structure Assert = SMLUnit.Assert structure Test = SMLUnit.Test structure Testee = ListSorter (***************************************************************************) fun intListToString list = List.foldr (fn (value, string) => Int.toString value ^ string) "" list fun testSort expected lists = List.app (fn list => ( Assert.assertEqualString (intListToString expected) (intListToString(ListSorter.sort Int.compare list)); () )) lists (****************************************) val TESTSORT0000_EXPECTED = [] val TESTSORT0000_SORTEE = [[]] fun testSort0000() = testSort TESTSORT0000_EXPECTED TESTSORT0000_SORTEE (****************************************) val TESTSORT0010_EXPECTED = [1] val TESTSORT0010_SORTEE = [[1]] fun testSort0010() = testSort TESTSORT0010_EXPECTED TESTSORT0010_SORTEE (****************************************) val TESTSORT0020_EXPECTED = [1, 2] val TESTSORT0020_SORTEE = [[1, 2], [2, 1]] fun testSort0020() = testSort TESTSORT0020_EXPECTED TESTSORT0020_SORTEE (****************************************) val TESTSORT0030_EXPECTED = [1, 2, 3] val TESTSORT0030_SORTEE = [[1, 2, 3], [1, 3, 2], [2, 3, 1], [2, 1, 3], [3, 1, 2], [3, 2, 1]] fun testSort0030() = testSort TESTSORT0030_EXPECTED TESTSORT0030_SORTEE (****************************************) val TESTSORT0031_EXPECTED = [1, 1, 2] val TESTSORT0031_SORTEE = [[1, 1, 2], [1, 2, 1], [2, 1, 1]] fun testSort0031() = testSort TESTSORT0031_EXPECTED TESTSORT0031_SORTEE (****************************************) val TESTSORT0032_EXPECTED = [1, 1, 1] val TESTSORT0032_SORTEE = [[1, 1, 1]] fun testSort0032() = testSort TESTSORT0032_EXPECTED TESTSORT0032_SORTEE (****************************************) val TESTSORT0040_EXPECTED = [1, 2, 3, 4] val TESTSORT0040_SORTEE = [ [1, 2, 3, 4], [1, 2, 4, 3], [1, 3, 2, 4], [1, 3, 4, 2], [1, 4, 2, 3], [1, 4, 3, 2], [2, 1, 3, 4], [2, 1, 4, 3], [2, 3, 1, 4], [2, 3, 4, 1], [2, 4, 1, 3], [2, 4, 3, 1], [3, 1, 2, 4], [3, 1, 4, 2], [3, 2, 1, 4], [3, 2, 4, 1], [3, 4, 1, 2], [3, 4, 2, 1], [4, 1, 2, 3], [4, 1, 3, 2], [4, 2, 1, 3], [4, 2, 3, 1], [4, 3, 1, 2], [4, 3, 2, 1] ] fun testSort0040() = testSort TESTSORT0040_EXPECTED TESTSORT0040_SORTEE (***************************************************************************) fun suite () = Test.labelTests [ ("testSort0000", testSort0000), ("testSort0010", testSort0010), ("testSort0020", testSort0020), ("testSort0030", testSort0030), ("testSort0031", testSort0031), ("testSort0032", testSort0032), ("testSort0040", testSort0040) ] (***************************************************************************) end smlsharp-1.2.0/src/compiler/util/test/TestMain.sml0000644 000000000000000000000043112050661606022277 0ustar00rootroot0000000 0000000 (** * @author YAMATODANI Kiyoshi * @version $Id: TestMain.sml,v 1.1 2005/12/14 09:38:29 kiyoshiy Exp $ *) structure TestMain = struct fun test () = let val tests = UtilTest.suite () in SMLUnit.TextUITestRunner.runTest {output = TextIO.stdOut} tests end endsmlsharp-1.2.0/src/compiler/util/test/UtilTest.sml0000644 000000000000000000000043112050661606022330 0ustar00rootroot0000000 0000000 (** * @author YAMATODANI Kiyoshi * @version $Id: UtilTest.sml,v 1.1 2005/12/14 09:38:29 kiyoshiy Exp $ *) structure UtilTest = struct open SMLUnit.Test fun suite () = TestList [ TestLabel ("ListSorterTest0001", ListSorterTest0001.suite ()) ] endsmlsharp-1.2.0/src/compiler/valrecoptimization0000755 000000000000000000000000012050661606021750 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/valrecoptimization/main0000755 000000000000000000000000012050661606022674 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/valrecoptimization/main/TRANS_FUNDECL.sig0000644 000000000000000000000013512050661606025505 0ustar00rootroot0000000 0000000 signature TRANS_FUNDECL = sig val transIcdeclList : IDCalc.topdecl -> IDCalc.topdecl end smlsharp-1.2.0/src/compiler/valrecoptimization/main/TransFundecl.smi0000644 000000000000000000000043712050661606026061 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../control/main/Control.ppg.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../name/main/LocalID.smi" _require "TRANS_FUNDECL.sig" structure TransFundecl = struct val transIcdeclList : IDCalc.topdecl -> IDCalc.topdecl end smlsharp-1.2.0/src/compiler/valrecoptimization/main/TransFundecl.sml0000644 000000000000000000002012512050661606026060 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori * @version $Id: TransFundecl.sml,v 1.16.6.6 2010/01/29 06:41:34 hiro-en Exp $ *) structure TransFundecl : TRANS_FUNDECL = struct local open IDCalc fun newVarId () = VarID.generate () in fun transFunDeclVarInfo loc funbind = let val (varInfo, tyList, body) = transFunDeclInner loc funbind in {varInfo = varInfo, tyList = tyList, body = body} end and transFunDeclPat loc funbind = let val (varInfo, tyList, body) = transFunDeclInner loc funbind val pat = foldr (fn (ty, pat) => ICPATTYPED(pat, ty, loc)) (ICPATVAR (varInfo, loc)) tyList in (pat, body) end and transFunDeclInner loc {funVarInfo, tyList, rules as ({args=[pat], body}::_)} = (funVarInfo, tyList, ICFNM (map (fn {args,body} => {args = args, body = transExp body}) rules, loc)) | transFunDeclInner loc {funVarInfo, tyList, rules as [{args, body}]} = let val funBody = foldr (fn (pat, funBody) => ICFNM([{args = [pat], body = funBody}], loc)) (transExp body) args in (funVarInfo, tyList, funBody) end | transFunDeclInner loc {funVarInfo, tyList, rules as ({args, body}::_)} = let val funBody = let fun listToTuple list = #2 (foldl (fn (x, (n, y)) => (n + 1, y @ [(Int.toString n, x)])) (1, nil) list) val newIds = map (fn x => newVarId()) args val newVars = map (fn id=>ICVAR({path=nil,id=id},loc)) newIds val newVarPats = map (fn id => ICPATVAR({path=nil,id=id}, loc)) newIds val argRecord = ICRECORD (listToTuple newVars, loc) val funRules = map (fn {args, body} => {args = [ICPATRECORD {flex = false, fields = listToTuple args, loc = loc}], body = transExp body} ) rules in foldr (fn (x, y) => ICFNM([{args = [x], body = y}], loc)) (ICAPPM ( ICFNM(funRules, loc), [argRecord], loc )) newVarPats end in (funVarInfo, tyList, funBody) end | transFunDeclInner _ _ = raise Control.Bug "illegal fun decl " and transExp icexp = case icexp of ICERROR (vaInfo, loc) => icexp | ICCONSTANT (constant, loc) => icexp | ICGLOBALSYMBOL _ => icexp | ICVAR (_, loc) => icexp | ICEXVAR ({path, ty}, loc) => icexp | ICEXVAR_TOBETYPED ({path, id}, loc) => icexp | ICBUILTINVAR {primitive, ty, loc} => icexp | ICCON (conInfo, loc) => icexp | ICEXN (exnInfo, loc) => icexp | ICEXEXN ({path, ty}, loc) => icexp | ICEXN_CONSTRUCTOR (exnInfo, loc) => icexp | ICEXEXN_CONSTRUCTOR (exnInfo, loc) => icexp | ICOPRIM (oprimInfo, loc) => icexp | ICTYPED (icexp, ty, loc) => ICTYPED (transExp icexp, ty, loc) | ICSIGTYPED {icexp,ty,loc, revealKey} => ICSIGTYPED {icexp=transExp icexp, ty=ty, revealKey=revealKey, loc=loc} | ICAPPM (icexp, icexplist, loc) => ICAPPM (transExp icexp, map transExp icexplist, loc) | ICAPPM_NOUNIFY (icexp, icexplist, loc) => ICAPPM_NOUNIFY (transExp icexp, map transExp icexplist, loc) | ICLET (icdecList, icexpList, loc) => ICLET (map transDecl icdecList, map transExp icexpList, loc) | ICTYCAST (tycastList, icexp, loc) => ICTYCAST (tycastList, transExp icexp, loc) | ICRECORD (stringIcexpList, loc) => ICRECORD (map (fn (l, icexp) => (l, transExp icexp)) stringIcexpList, loc) | ICRAISE (icexp, loc) => ICRAISE (transExp icexp, loc) | ICHANDLE (icexp, icpatIcexpList, loc) => ICHANDLE (transExp icexp, map (fn (pat, exp) => (pat, transExp exp)) icpatIcexpList, loc) | ICFNM (icpatListIcexpList, loc) => ICFNM (map (fn ({args:icpat list, body:icexp}) => {args = args, body = transExp body}) icpatListIcexpList, loc) | ICFNM1 (varTyListList, icexp, loc) => ICFNM1 (varTyListList, transExp icexp, loc) | ICFNM1_POLY (varTyList, icexp, loc) => ICFNM1_POLY (varTyList, transExp icexp, loc) | ICCASEM (icexpList, icpatListIcexpList, caseKind, loc) => ICCASEM (map transExp icexpList, map (fn {args, body} => {args = args, body = transExp body}) icpatListIcexpList, caseKind, loc) | ICRECORD_UPDATE (icexp, stringIcexpList, loc) => ICRECORD_UPDATE (transExp icexp, map (fn (l, exp) => (l, transExp exp)) stringIcexpList, loc) | ICRECORD_SELECTOR (string, loc) => icexp | ICSELECT (string, icexp, loc) => ICSELECT (string, transExp icexp, loc) | ICSEQ (icexpList, loc) => ICSEQ (map transExp icexpList, loc) | ICCAST (icexp, loc) => ICCAST (transExp icexp, loc) | ICFFIIMPORT (icexp, ty, loc) => ICFFIIMPORT (transExp icexp, ty, loc) | ICFFIEXPORT (icexp, ty, loc) => ICFFIEXPORT (transExp icexp, ty, loc) | ICFFIAPPLY (cconv, funExp, args, retTy, loc) => ICFFIAPPLY (cconv, transExp funExp, map (fn ICFFIARG (exp, ty, loc) => ICFFIARG (transExp funExp, ty, loc) | ICFFIARGSIZEOF (ty, SOME exp, loc) => ICFFIARGSIZEOF (ty, SOME (transExp exp), loc) | ICFFIARGSIZEOF (ty, NONE, loc) => ICFFIARGSIZEOF (ty, NONE, loc)) args, retTy, loc) | ICSQLSERVER (str, schema, loc) => icexp | ICSQLDBI (icpat, icexp, loc) => ICSQLDBI (icpat, transExp icexp, loc) and transDecl icdecl = case icdecl of ICVAL (tvarList, icpatIcexpList, loc) => ICVAL (tvarList, map (fn (pat,exp) => (pat, transExp exp)) icpatIcexpList, loc) | ICDECFUN {guard, funbinds, loc} => ICVALREC {guard = guard, recbinds = map (transFunDeclVarInfo loc) funbinds, loc = loc} | ICNONRECFUN {guard, funVarInfo, tyList, rules, loc} => ICVAL(guard, [transFunDeclPat loc {funVarInfo = funVarInfo, tyList = tyList, rules = rules}], loc) (*raise Fail "FIX ICNONRECFUN!!"*) | ICVALREC {guard, recbinds, loc} => ICVALREC {guard = guard, recbinds = map (fn ({varInfo, tyList, body}) => {varInfo = varInfo, tyList = tyList, body = transExp body}) recbinds, loc = loc} | ICEXND ( exdList, loc) => icdecl | ICEXNTAGD (_, loc) => icdecl | ICEXPORTVAR (varInfo, ty, loc) => icdecl | ICEXPORTTYPECHECKEDVAR (varInfo, loc) => icdecl | ICEXPORTFUNCTOR _ => icdecl | ICEXPORTEXN (exnInfo, loc) => icdecl | ICEXTERNVAR ({path, ty}, loc) => icdecl | ICEXTERNEXN ({path, ty}, loc) => icdecl | ICTYCASTDECL (tycastList, icdeclList, loc) => ICTYCASTDECL (tycastList, map transDecl icdeclList, loc) | ICOVERLOADDEF {boundtvars, id, path, overloadCase, loc} => icdecl fun transIcdeclList ({decls, loc}:IDCalc.topdecl) = {decls=map transDecl decls, loc=loc} end end smlsharp-1.2.0/src/compiler/valrecoptimization/main/utils.smi0000644 000000000000000000000056712050661606024635 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../control/main/Control.ppg.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../name/main/LocalID.smi" structure VALREC_Utils = struct val getFreeIdsInExp : IDCalc.icexp -> VarID.Set.set val getFreeIdsInRule : {args:IDCalc.icpat list, body:IDCalc.icexp} list -> VarID.Set.set end smlsharp-1.2.0/src/compiler/valrecoptimization/main/utils.sml0000644 000000000000000000002353212050661606024635 0ustar00rootroot0000000 0000000 (** * Module compiler flattens structure. * @copyright (c) 2006, Tohoku University. * @author Liu Bochao * @version $Id: utils.sml,v 1.16.6.6 2010/01/29 06:41:35 hiro-en Exp $ *) structure VALREC_Utils : sig val getFreeIdsInExp : IDCalc.icexp -> VarID.Set.set val getFreeIdsInRule : {args:IDCalc.icpat list, body:IDCalc.icexp} list -> VarID.Set.set end = struct local open IDCalc in fun getFreeIdsInExp icexp = case icexp of ICERROR _ => VarID.Set.empty | ICCONSTANT (const, loc) => VarID.Set.empty | ICGLOBALSYMBOL (str, globalSymbolKind, loc) => VarID.Set.empty | ICVAR (varInfo, loc) => VarID.Set.singleton(#id varInfo) | ICEXVAR _ => VarID.Set.empty | ICEXVAR_TOBETYPED _ => VarID.Set.empty | ICBUILTINVAR _ => VarID.Set.empty | ICCON _ => VarID.Set.empty | ICEXN _ => VarID.Set.empty | ICEXEXN _ => VarID.Set.empty | ICEXN_CONSTRUCTOR _ => VarID.Set.empty | ICEXEXN_CONSTRUCTOR _ => VarID.Set.empty | ICOPRIM _ => VarID.Set.empty | ICTYPED (exp,ty,loc) => getFreeIdsInExp exp | ICSIGTYPED {icexp,ty,loc, revealKey} => getFreeIdsInExp icexp | ICAPPM (funExp,argExpList,loc) => VarID.Set.union(getFreeIdsInExp funExp, getFreeIdsInExpList argExpList) | ICAPPM_NOUNIFY (funExp,argExpList,loc) => VarID.Set.union(getFreeIdsInExp funExp, getFreeIdsInExpList argExpList) | ICLET (localDeclList,mainExpList,loc) => VarID.Set.union(getFreeIdsInDeclList localDeclList, VarID.Set.difference (getFreeIdsInExpList mainExpList, getBoundIdsInDeclList localDeclList)) | ICTYCAST (tycast, exp, loc) => getFreeIdsInExp exp | ICRECORD (elementList,loc) => foldl (fn ((label,exp),S) => VarID.Set.union(S,getFreeIdsInExp exp)) VarID.Set.empty elementList | ICRAISE (exp,loc) => getFreeIdsInExp exp | ICHANDLE (handler,matchList, loc) => foldl (fn ((pat,exp),S) => VarID.Set.union (S, VarID.Set.difference (getFreeIdsInExp exp, getFreeIdsInPat pat))) (getFreeIdsInExp handler) matchList | ICFNM (matchList,loc) => foldl (fn ({args,body},S) => VarID.Set.union (S, VarID.Set.difference (getFreeIdsInExp body, getFreeIdsInPatList args))) VarID.Set.empty matchList | ICFNM1 (varInfoTyListList,exp,loc)=> VarID.Set.difference (getFreeIdsInExp exp, foldl (fn ((varInfo,tyList),S) => VarID.Set.add(S,#id varInfo)) VarID.Set.empty varInfoTyListList) | ICFNM1_POLY (varInfoTyList,exp,loc)=> VarID.Set.difference (getFreeIdsInExp exp, foldl (fn ((varInfo,tyList),S) => VarID.Set.add(S,#id varInfo)) VarID.Set.empty varInfoTyList) | ICCASEM (selectorList, matchList, kind, loc) => foldl (fn ({args,body},S) => VarID.Set.union (S, VarID.Set.difference (getFreeIdsInExp body, getFreeIdsInPatList args))) (getFreeIdsInExpList selectorList) matchList | ICRECORD_UPDATE (exp,elementList,loc) => foldl (fn ((label,exp),S) => VarID.Set.union(S,getFreeIdsInExp exp)) (getFreeIdsInExp exp) elementList | ICRECORD_SELECTOR _ => VarID.Set.empty | ICSELECT (label,exp, loc) => getFreeIdsInExp exp | ICSEQ (expList,loc) => getFreeIdsInExpList expList | ICCAST (exp,loc) => getFreeIdsInExp exp | ICFFIIMPORT (exp,ty,loc) => getFreeIdsInExp exp | ICFFIEXPORT (exp,ty,loc) => getFreeIdsInExp exp | ICFFIAPPLY (cconv,funExp,args,retTy,loc) => foldl (fn (ICFFIARG (exp, ty, loc), z) => VarID.Set.union (z, getFreeIdsInExp exp) | (ICFFIARGSIZEOF (ty, SOME exp, loc), z) => VarID.Set.union (z, getFreeIdsInExp exp) | (ICFFIARGSIZEOF (ty, NONE, loc), z) => z) (getFreeIdsInExp funExp) args | ICSQLSERVER (server, schema, loc) => VarID.Set.empty | ICSQLDBI (pat, exp, loc) => VarID.Set.difference(getFreeIdsInExp exp, getFreeIdsInPat pat) and getFreeIdsInExpList icexpList = foldl (fn (exp,S) => VarID.Set.union(S,getFreeIdsInExp exp)) VarID.Set.empty icexpList and getFreeIdsInFundeclList fidRuleListList = let val boundList = foldl (fn ({funVarInfo,tyList,rules},S) => VarID.Set.add(S,#id funVarInfo)) VarID.Set.empty fidRuleListList val freeList = foldl (fn ({funVarInfo,tyList,rules},S) => VarID.Set.union(getFreeIdsInRule rules,S)) VarID.Set.empty fidRuleListList in VarID.Set.difference(freeList, boundList) end and getFreeIdsInRule patListExpList = foldl (fn ({args,body},S) => VarID.Set.union (S, VarID.Set.difference (getFreeIdsInExp body, getFreeIdsInPatList args))) VarID.Set.empty patListExpList and getFreeIdsInPatList patList = foldl (fn (pat,S) => VarID.Set.union(S,getFreeIdsInPat pat)) VarID.Set.empty patList and getFreeIdsInPat icpat = case icpat of ICPATERROR _ => VarID.Set.empty | ICPATWILD _ => VarID.Set.empty | ICPATVAR (varInfo, loc) => VarID.Set.singleton(#id varInfo) | ICPATCON _ => VarID.Set.empty | ICPATEXN _ => VarID.Set.empty | ICPATEXEXN _ => VarID.Set.empty | ICPATCONSTANT _ => VarID.Set.empty | ICPATCONSTRUCT {con, arg, loc} => getFreeIdsInPat arg | ICPATRECORD {flex, fields, loc} => foldl (fn ((label,pat),S) => VarID.Set.union(S,getFreeIdsInPat pat)) VarID.Set.empty fields | ICPATLAYERED {patVar, tyOpt, pat, loc} => VarID.Set.add(getFreeIdsInPat pat,#id patVar) | ICPATTYPED (pat, ty, loc) => getFreeIdsInPat pat and getFreeIdsInExBind {exncon, tyOpt, loc} = VarID.Set.empty and getFreeIdsInDecl icdecl = case icdecl of ICVAL (tvarList, bindList, loc) => getFreeIdsInBindList bindList | ICDECFUN {guard, funbinds, loc} => getFreeIdsInFundeclList funbinds | ICNONRECFUN _ => raise Control.Bug "invalid declaration" | ICVALREC {guard, recbinds, loc} => VarID.Set.difference(getFreeIdsInRecBinds recbinds, getBoundIdsInRecBinds recbinds) | ICEXND (_, loc) => VarID.Set.empty | ICEXNTAGD ({exnInfo, varInfo}, loc) => VarID.Set.singleton (#id varInfo) | ICEXPORTVAR _ => VarID.Set.empty | ICEXPORTTYPECHECKEDVAR _ => VarID.Set.empty | ICEXPORTFUNCTOR _ => VarID.Set.empty | ICEXPORTEXN _ => VarID.Set.empty | ICEXTERNVAR _ => VarID.Set.empty | ICEXTERNEXN _ => VarID.Set.empty | ICTYCASTDECL _ => VarID.Set.empty | ICOVERLOADDEF _ => VarID.Set.empty and getFreeIdsInDeclList icdeclList = #1 (foldl (fn (decl,(freeIds,boundIds)) => (VarID.Set.union(freeIds, VarID.Set.difference (getFreeIdsInDecl decl,boundIds)), VarID.Set.union(boundIds,getBoundIdsInDecl decl))) (VarID.Set.empty,VarID.Set.empty) icdeclList) and getBoundIdsInExBind {exncon, tyOpt, loc} = VarID.Set.empty and getBoundIdsInDecl icdecl = case icdecl of ICVAL (tvarList, bindList, loc) => getBoundIdsInBindList bindList | ICDECFUN {guard, funbinds, loc} => getBoundIdsInFundeclList funbinds | ICNONRECFUN _ => raise Control.Bug "invalid declaration" | ICVALREC {guard, recbinds, loc} => getBoundIdsInRecBinds recbinds | ICEXND _ => VarID.Set.empty | ICEXNTAGD _ => VarID.Set.empty | ICEXPORTVAR _ => VarID.Set.empty | ICEXPORTTYPECHECKEDVAR _ => VarID.Set.empty | ICEXPORTFUNCTOR _ => VarID.Set.empty | ICEXPORTEXN _ => VarID.Set.empty | ICEXTERNVAR _ => VarID.Set.empty | ICEXTERNEXN _ => VarID.Set.empty | ICTYCASTDECL _ => VarID.Set.empty | ICOVERLOADDEF _ => VarID.Set.empty and getBoundIdsInDeclList icdeclList = foldl (fn (decl,S) => VarID.Set.union(S,getBoundIdsInDecl decl)) VarID.Set.empty icdeclList and getFreeIdsInBindList bindList = #1 (foldl (fn ((pat,exp),(freeIds,boundIds)) => (VarID.Set.union(freeIds, VarID.Set.difference (getFreeIdsInExp exp,boundIds)), VarID.Set.union(boundIds,getFreeIdsInPat pat))) (VarID.Set.empty,VarID.Set.empty) bindList) and getFreeIdsInRecBinds bindList = #1 (foldl (fn ({varInfo,tyList,body},(freeIds,boundIds)) => (VarID.Set.union(freeIds, VarID.Set.difference (getFreeIdsInExp body,boundIds)), VarID.Set.add(boundIds,#id varInfo))) (VarID.Set.empty,VarID.Set.empty) bindList) and getBoundIdsInBindList bindList = foldl (fn ((pat,exp),S) => VarID.Set.union(getFreeIdsInPat pat,S)) VarID.Set.empty bindList and getBoundIdsInRecBinds bindList = foldl (fn ({varInfo,tyList,body},S) => VarID.Set.add(S,#id varInfo)) VarID.Set.empty bindList and getBoundIdsInFundeclList fidRuleListList = foldl (fn ({funVarInfo,tyList, rules},S) => VarID.Set.add(S,#id funVarInfo)) VarID.Set.empty fidRuleListList end end smlsharp-1.2.0/src/compiler/valrecoptimization/main/VALREC_OPTIMIZER.sig0000755 000000000000000000000036112050661606026100 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2006, Tohoku University. * @author NGUYEN Huu-Duc * @version $Id: VALREC_OPTIMIZER.sig,v 1.8 2007/12/15 08:30:36 bochao Exp $ *) signature VALREC_OPTIMIZER = sig val optimize : IDCalc.topdecl -> IDCalc.topdecl end smlsharp-1.2.0/src/compiler/valrecoptimization/main/VALREC_Optimizer.smi0000644 000000000000000000000053112050661606026502 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../control/main/Control.ppg.smi" _require "../../types/main/IDCalc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../util/main/Graph.smi" _require "VALREC_OPTIMIZER.sig" _require "utils.smi" structure VALREC_Optimizer = struct val optimize : IDCalc.topdecl -> IDCalc.topdecl end smlsharp-1.2.0/src/compiler/valrecoptimization/main/VALREC_Optimizer.sml0000755 000000000000000000002722612050661606026522 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2006, Tohoku University. * @author NGUYEN Huu-Duc * @version $Id: VALREC_Optimizer.sml,v 1.39.6.6 2010/01/29 06:41:35 hiro-en Exp $ *) structure VALREC_Optimizer :> VALREC_OPTIMIZER = struct local structure U = VALREC_Utils in open IDCalc open Graph (* open VALREC_Utils *) type recNodeinfo = {functionId : VarID.id, dependentIds : VarID.Set.set, functionDecl : {varInfo:varInfo,tyList:ty list,body:icexp}} type funNodeinfo = {functionId : VarID.id, dependentIds : VarID.Set.set, functionDecl : {funVarInfo:varInfo, tyList:ty list, rules:{args:icpat list,body:icexp} list}} fun optimizeExp icexp = case icexp of ICERROR loc => icexp | ICCONSTANT (const, loc) => icexp | ICGLOBALSYMBOL (str, symbol, loc) => icexp | ICVAR (varInfo, loc) => icexp | ICEXVAR ({path, ty}, loc) => icexp | ICEXVAR_TOBETYPED ({path, id}, loc) => icexp | ICBUILTINVAR {primitive, ty, loc} => icexp | ICCON (conInfo, loc) => icexp | ICEXN (exnInfo, loc) => icexp | ICEXEXN ({path, ty}, loc) => icexp | ICEXN_CONSTRUCTOR (exnInfo, loc) => icexp | ICEXEXN_CONSTRUCTOR (_, loc) => icexp | ICOPRIM (oprimInfo, loc) => icexp | ICTYPED (icexp,ty,loc) => ICTYPED (optimizeExp icexp, ty, loc) | ICSIGTYPED {icexp,ty,loc,revealKey} => ICSIGTYPED {icexp=optimizeExp icexp, ty=ty, revealKey=revealKey, loc=loc} | ICAPPM (funExp, argExpList, loc) => ICAPPM (optimizeExp funExp, map optimizeExp argExpList, loc) | ICAPPM_NOUNIFY (funExp, argExpList, loc) => ICAPPM_NOUNIFY (optimizeExp funExp, map optimizeExp argExpList, loc) | ICLET (localDeclList, mainExpList, loc) => let val newLocalDeclList = optimizeDeclList localDeclList in ICLET (newLocalDeclList, map optimizeExp mainExpList, loc) end | ICTYCAST (tycastList, icexp, loc) => ICTYCAST (tycastList, optimizeExp icexp, loc) | ICRECORD (elementList, loc) => ICRECORD (map (fn (label, icexp) => (label, optimizeExp icexp)) elementList, loc) | ICRAISE (icexp,loc) => ICRAISE (optimizeExp icexp, loc) | ICHANDLE (handler, matchList, loc) => ICHANDLE (optimizeExp handler, map (fn (icpat,icexp) => (icpat, optimizeExp icexp)) matchList, loc) | ICFNM (matchList, loc) => ICFNM (map (fn ({args:icpat list, body:icexp}) => {args=args, body=optimizeExp body}) matchList, loc) | ICFNM1 (varInfoTyListList,icexp,loc)=> ICFNM1 (varInfoTyListList,optimizeExp icexp,loc) | ICFNM1_POLY (varInfoTyList,icexp,loc)=> ICFNM1_POLY (varInfoTyList,optimizeExp icexp,loc) | ICCASEM (selectorList, matchList, kind, loc) => ICCASEM (map optimizeExp selectorList, map (fn ({args:icpat list, body:icexp}) => {args=args, body=optimizeExp body}) matchList, kind, loc) | ICRECORD_UPDATE (icexp, elementList, loc) => ICRECORD_UPDATE (optimizeExp icexp, map (fn (label, icexp) => (label, optimizeExp icexp)) elementList, loc) | ICRECORD_SELECTOR (str, loc) => icexp | ICSELECT (label,icexp,loc) => ICSELECT (label, optimizeExp icexp, loc) | ICSEQ (icexpList, loc) => ICSEQ (map optimizeExp icexpList, loc) | ICCAST (icexp, loc) => ICCAST (optimizeExp icexp, loc) | ICFFIIMPORT (icexp,ty,loc) => ICFFIIMPORT (optimizeExp icexp, ty, loc) | ICFFIEXPORT (icexp,ty,loc) => ICFFIEXPORT (optimizeExp icexp, ty, loc) | ICFFIAPPLY (cconv, funExp, args, retTy, loc) => ICFFIAPPLY (cconv, optimizeExp funExp, map (fn ICFFIARG (icexp, ty, loc) => ICFFIARG (optimizeExp icexp, ty, loc) | ICFFIARGSIZEOF (ty, SOME icexp, loc) => ICFFIARGSIZEOF (ty, SOME (optimizeExp icexp), loc) | ICFFIARGSIZEOF (ty, NONE, loc) => ICFFIARGSIZEOF (ty, NONE, loc)) args, retTy, loc) | ICSQLSERVER (str, schema, loc) => icexp | ICSQLDBI (icpat, icexp, loc) => ICSQLDBI (icpat, optimizeExp icexp, loc) and optimizeRule patListExpList = map (fn {args,body} => {args=args, body=optimizeExp body}) patListExpList and optimizeDecl icdecl = case icdecl of ICVAL (tvarList, declList, loc) => [ICVAL (tvarList, (map (fn (icpat,icexp) => (icpat, optimizeExp icexp))) declList, loc)] | ICDECFUN {guard, funbinds, loc} => let val boundIDList = map (fn ({funVarInfo, tyList, rules})=> (#id funVarInfo)) funbinds val g = Graph.empty : funNodeinfo Graph.graph val g = foldl (fn ({funVarInfo, tyList, rules},g) => let val fid = (#id funVarInfo) val dependentIds = U.getFreeIdsInRule rules in #1 (Graph.addNode g {functionId=fid, dependentIds=dependentIds, functionDecl= {funVarInfo=funVarInfo, tyList=tyList, rules=optimizeRule rules}}) end) (Graph.empty : funNodeinfo Graph.graph) funbinds val nodeList = Graph.listNodes g val g = foldl (fn ((nid1,{dependentIds as dids1 , ... }), g) => foldl (fn ((nid2,{functionId as fid2,... }),g) => if VarID.Set.member(dids1, fid2) then Graph.addEdge g (nid1, nid2) (* 2012-8-4 bug 231_refFunOrder.sml In order to preserve the non-connected component. then Graph.addEdge g (nid2,nid1) *) else g) g nodeList) g nodeList val scc = Graph.scc g (* 2012-8-4 bug 231_refFunOrder.sml In order to preserve the non-connected component. *) val sccRevRev = map List.rev (List.rev scc) in map (fn nidList => case nidList of [] => raise Control.Bug "recval" | [nid] => let val {functionId,dependentIds,functionDecl} = case Graph.getNodeInfo g nid of NONE => raise Control.Bug "val rec" | SOME info => info in if VarID.Set.member(dependentIds,functionId) then ICDECFUN {guard=guard, funbinds=[functionDecl], loc=loc} else ICNONRECFUN { guard=guard, funVarInfo=(#funVarInfo functionDecl), tyList= #tyList functionDecl, rules=(#rules functionDecl), loc=loc } end | _ => let val functionDeclList = foldr (fn (nid,S) => case Graph.getNodeInfo g nid of NONE => raise Control.Bug "val rec" | SOME info => (#functionDecl info)::S) [] nidList in ICDECFUN {guard=guard,funbinds=functionDeclList,loc=loc} end ) sccRevRev end | ICNONRECFUN {guard, funVarInfo, tyList, rules, loc} => raise Control.Bug "invalid declaration" | ICVALREC {guard, recbinds, loc} => let val boundIDList = map (fn ({varInfo,tyList,body})=>(#id varInfo)) recbinds val g = Graph.empty : recNodeinfo Graph.graph val g = foldl (fn ({varInfo,tyList,body},g) => let val fid = (#id varInfo) val dependentIds = U.getFreeIdsInExp body in #1 (Graph.addNode g {functionId=fid, dependentIds=dependentIds, functionDecl= {varInfo=varInfo, tyList=tyList, body=optimizeExp body}}) end) (Graph.empty : recNodeinfo Graph.graph) recbinds val nodeList = Graph.listNodes g val g = foldl (fn ((nid1,{dependentIds as dids1 , ... }), g) => foldl (fn ((nid2,{functionId as fid2,... }),g) => if VarID.Set.member(dids1, fid2) then Graph.addEdge g (nid1, nid2) (* 2012-8-4 bug 231_refFunOrder.sml In order to preserve the non-connected component. then Graph.addEdge g (nid2, nid1) *) else g) g nodeList) g nodeList val scc = Graph.scc g (* 2012-8-4 bug 231_refFunOrder.sml In order to preserve the non-connected component. *) val sccRevRev = map List.rev (List.rev scc) in map (fn nidList => case nidList of [] => raise Control.Bug "recval" | [nid] => let val {functionId,dependentIds,functionDecl} = case Graph.getNodeInfo g nid of NONE => raise Control.Bug "val rec" | SOME info => info in if VarID.Set.member(dependentIds,functionId) then ICVALREC {guard=guard, recbinds=[functionDecl], loc=loc} else let val pat = foldr (fn (ty, pat) => ICPATTYPED(pat, ty, loc)) (ICPATVAR (#varInfo functionDecl,loc)) (#tyList functionDecl) in ICVAL (guard, [(pat, #body functionDecl)], loc) end end | _ => let val functionDeclList = foldr (fn (nid,S) => case Graph.getNodeInfo g nid of NONE => raise Control.Bug "val rec" | SOME info => (#functionDecl info)::S) [] nidList in ICVALREC {guard=guard,recbinds=functionDeclList,loc=loc} end ) sccRevRev end | ICEXND (_, loc) => [icdecl] | ICEXNTAGD (_, loc) => [icdecl] | ICEXPORTVAR (varInfo, ty, loc) => [icdecl] | ICEXPORTTYPECHECKEDVAR (varInfo, loc) => [icdecl] | ICEXPORTFUNCTOR _ => [icdecl] | ICEXPORTEXN (exnInfo, loc) => [icdecl] | ICEXTERNVAR ({path, ty}, loc) => [icdecl] | ICEXTERNEXN ({path, ty}, loc) => [icdecl] | ICTYCASTDECL (tycastList, icdeclList, loc) => [icdecl] | ICOVERLOADDEF {boundtvars, id, path, overloadCase, loc} => [icdecl] and optimizeDeclList icdeclList = List.concat (map optimizeDecl icdeclList) fun optimize {decls, loc} = let val newTopdecs = optimizeDeclList decls in {decls=newTopdecs, loc=loc} end end end smlsharp-1.2.0/src/compiler/yaanormal0000755 000000000000000000000000012050661606020010 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/yaanormal/main0000755 000000000000000000000000012050661606020734 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/yaanormal/main/ANormal.ppg0000644 000000000000000000007365712050661606023076 0ustar00rootroot0000000 0000000 (* -*- sml -*- *) (** * A-Normal form * @copyright (c) 2006-2007, Tohoku University. * @author UENO Katsuhiro * @author NGUYEN Huu-Duc * @version $Id: ANormal.ppg,v 1.20 2008/08/06 17:23:41 ohori Exp $ *) structure YAANormal = struct local fun format_ifCons (f, format) [] = [] | format_ifCons (f, format) _ = format fun term s = SMLFormat.FormatExpression.Term (size s, s) fun format_ID id = [term (VarID.toString id)] in (*% @formatter(VarID.id) format_ID *) type id = VarID.id (*% @formatter(ClusterID.id) ClusterID.format_id *) type clusterId = ClusterID.id (*% @formatter(BoundTypeVarID.id) BoundTypeVarID.format_id *) type tyvarId = (*% @format(id) "t" id *) BoundTypeVarID.id (*% * @formatter(prepended) SmlppgUtil.formatPrependedOpt *) datatype ty = UINT | SINT | BYTE | BOXED | POINTER (* type for C pointer *) | FUNENTRY (* type for ANLABEL *) | CODEPOINT (* type for ANLOCALCODE; general code pointer *) | FOREIGNFUN (* type for C function pointer *) | FLOAT (* single-precision floating point *) | DOUBLE (* double-precision floating point *) | (*% @format(tid) "GENERIC(" tid ")" *) GENERIC of tyvarId (*% * @params(id) *) datatype varKind = (*% @format "a" id *) ARG | (*% @format "la" id *) LOCALARG | (*% @format "v" id *) LOCAL (*% *) type varInfo = (*% @format({id, displayName, ty, varKind}) varKind()(id) *) {id: id, displayName: string, ty: ty, varKind: varKind} local (*% *) type varInfoWithType = (*% * @format({id, displayName, ty, varKind}) * { varKind()(id) +d ":" +d ty } *) {id: id, displayName: string, ty: ty, varKind: varKind} in (*% @formatter(Loc.loc) Loc.format_loc *) type loc = Loc.loc (*% @formatter(ConstantTerm.constant) ConstantTerm.format_constant *) type constant = ConstantTerm.constant (*% @formatter(Absyn.ffiAttributes) Absyn.format_ffiAttributes *) type ffiAttributes = Absyn.ffiAttributes (*% *) datatype topSymbol = (*% @format(x) "local:" x *) TOP_LOCAL of id | (*% @format(x) "globl:" x *) TOP_GLOBAL of string (*% *) datatype topSymbolRef = (*% @format(x) "local:" x *) TOP_EXPORT of topSymbol | (*% @format(x) "extrn:" x *) TOP_EXTERN of string (*% * @formatter(BasicTypes.SInt32) BasicTypeFormatters.format_SInt32 * @formatter(BasicTypes.UInt32) BasicTypeFormatters.format_UInt32 * @formatter(Word8.word) TermFormat.format_Word8_hex_ML *) datatype anvalue = (*% @format(x) x *) ANINT of BasicTypes.SInt32 | (*% @format(x) x *) ANWORD of BasicTypes.UInt32 | (*% @format(x) "0b" x *) ANBYTE of Word8.word | (*% @format(x) "#\"" x "\"" *) ANCHAR of char | (*% @format "()" *) ANUNIT | (*% @format "NULLPOINTER" *) ANNULLPOINTER | (*% @format "NULLBOXED" *) ANNULLBOXED | (*% @format(v) v *) ANVAR of varInfo | (*% @format(id) "F" id *) (* general label of functions. type: FUNENTRY *) ANLABEL of id | (*% @format(id) "c" id *) (* * This term can indicate not only codeDecl but also funDecl. * Every function may LOCALCALL a function defined in the same cluster. *) ANLOCALCODE of id | (*% @format({name, ty}) name ":" ty *) ANTOPSYMBOL of { name: topSymbolRef, ty: ty (* BOXED or FOREIGNFUN *) } (* EXCEPTIONTAG is compiled into ANGLOBALREF or ANVAR. *) (* SETGLOBAL is compiled into * ANSETFIELD {array = ANGLOBALREF, offset = ANWORD 0w0, ...} *) (* GETGLOBAL is compiled into * ANGETFIELD {array = ANGLOBALREF, offset = ANWORD 0w0, ...} *) (* (*% @format(c) c *) (* except CT.STRING, CT.REAL, CT.FLOAT, and CT.LARGEINT. * These constants are too large as operands. *) ANCONSTANT of constant | (*% @format({globalName:gn gnopt, tag}) "<" gnopt(gn) "," tag ">" *) ANEXCEPTIONTAG of {globalName: globalName option, tag: globalTag} *) (*% * @formatter(BasicTypes.UInt32) BasicTypeFormatters.format_UInt32 * @formatter(enclosedList) SmlppgUtil.formatListWithEnclosureIfNotOne * @formatter(ifCons) format_ifCons * @formatter(BuiltinPrimitive.primitive) BuiltinPrimitive.format_primitive *) datatype anexp = (*% @format(v) v *) ANCONST of constant | (*% @format(v) v *) ANVALUE of anvalue | (*% * @format({function, * argList: arg args, * argTyList: argTy argTys:enclosedList, * resultTyList: retTy retTys:enclosedList, * attributes}) * "_ffiapply" 2[ +d attributes +d function * +d "(" {args(arg)("," +)} ")" * +2 ":" +d { {argTys(argTy)("," +1, "(", ")")} * +1 "->" +2 {retTys(retTy)("," +1, "(", ")")} } ] *) ANFOREIGNAPPLY of { function: anvalue, (* CODEPOINT *) argList: anvalue list, argTyList: ty list, resultTyList: ty list, attributes: ffiAttributes } | (*% * @format({funLabel, env, * argTyList: argTy argTys:enclosedList, * resultTyList: retTy retTys:enclosedList, * attributes}) * "_CALLBACK" 2[ +d { "fun" "=" funLabel "," +1 * "env" "=" env } * +2 ":" +d { {argTys(argTy)("," +1, "(", ")")} * +1 "->" +2 {retTys(retTy)("," +1, "(", ")")} } ] *) ANCALLBACKCLOSURE of { funLabel: anvalue, (* FUNENTRY *) env: anvalue, argTyList: ty list, resultTyList: ty list, attributes: ffiAttributes } (* | ANGETGLOBAL of { id: ExVarID.id, globalName: globalName option, size: anvalue, ty: ty } *) | (*% * @format({nestLevel, offset, size, ty}) * { "ENV" "[" { nestLevel "/" +2 offset "," +1 size } "]" +1 ":" +2 ty } *) ANENVACC of { nestLevel: BasicTypes.UInt32, offset: BasicTypes.UInt32, size: anvalue, ty: ty } | (*% * @format({array, offset, size, ty, needBoundaryCheck}) * { array "[" { offset "," +1 size } "]" +1 ":" +2 ty } *) ANGETFIELD of { array: anvalue, offset: anvalue, size: anvalue, ty: ty, needBoundaryCheck: bool } | (*% * @format({bitmap, totalSize, initialValue: v vo, elementTy, elementSize, * isMutable}) * "Array" * "(" { "bitmap" "=" bitmap "," +1 * "size" "=" totalSize "," +1 * "init" "=" { vo(v) * +2 ":" +d elementTy * +3 ":" +d elementSize } * } ")" *) ANARRAY of { bitmap: anvalue, totalSize: anvalue, initialValue: anvalue option, elementTy: ty, elementSize: anvalue, isMutable : bool } | (*% * @format({bitmaps: bm bms:enclosedList, * totalSize, * fieldList: value values:enclosedList, * fieldSizeList: size sizes:enclosedList, * fieldTyList: ty tys:enclosedList, * fieldIndexList, * isMutable, clearPad}) * "Record" * "(" { "bitmap" "=" {bms(bm)("," +1, "(", ")")} "," +1 * "size" "=" totalSize "," +1 * "init" "=" { {values(value)("," +1, "(", ")")} * +3 ":" +d {tys(ty)("," +1, "(", ")")} * +2 ":" +d {sizes(size)("," 1+, "(", ")")} } * } ")" *) ANRECORD of { bitmaps: anvalue list, totalSize: anvalue, fieldList: anvalue list, fieldSizeList: anvalue list, fieldIndexList: anvalue list, fieldTyList: ty list, isMutable: bool, clearPad: bool } | (*% * @format({record, nestLevel, offset, size, ty}) * { record "[" { nestLevel "/" offset "," +1 size } "]" +1 ":" +2 ty } *) ANSELECT of { record: anvalue, nestLevel: anvalue, offset: anvalue, size: anvalue, ty: ty } | (*% * @format({record, nestLevel, offset, value, valueTy, valueSize, * valueTag}) * record + "{" * 2[ 1 { "[" nestLevel "/" offset "]" * +d "=" 2[ +2 value +3 ":" +d valueTy +4 ":" +d valueSize * +5 ":" +d valueTag ] } * ] 1 "}" *) ANMODIFY of { record: anvalue, nestLevel: anvalue, offset: anvalue, value: anvalue, valueTy: ty, valueSize: anvalue, valueTag: anvalue } | (*% * @format({prim, * argList: arg args:enclosedList, * argTyList: argTy argTys:enclosedList, * resultTyList: retTy retTys:enclosedList, * instSizeList: sz szs:enclosedList, * instTagList: tag tags:enclosedList}) * "_prim" 2[ +d prim +d {args(arg)("," +1, "(", ")")} * +2 ":" +d { {argTys(argTy)("," +1, "(", ")")} * +1 "->" +2 {retTys(retTy)("," +1, "(", ")")} } * +3 "{" { {szs(sz)("," +1, "(", ")")} "," +1 * {tags(tag)("," +1, "(", ")")} "}" } ] *) ANPRIMAPPLY of { prim: BuiltinPrimitive.primitive, argList: anvalue list, argTyList: ty list, resultTyList: ty list, instSizeList: anvalue list, instTagList: anvalue list } | (*% * @format({funLabel, env}) * "Closure" "(" { "fun" "=" funLabel "," +1 * "env" "=" env } ")" *) ANCLOSURE of { funLabel: anvalue, (* FUNENTRY *) env: anvalue } | (*% * @format({funLabel}) * "RecClosure" "(" funLabel ")" *) (* * special version of ANCLOSURE; let env be current closure environment. *) ANRECCLOSURE of { funLabel: anvalue (* FUNENTRY *) } | (*% * @format({closure, * argList: arg args:enclosedList, * argTyList: argTy argTys:enclosedList, * resultTyList: retTy retTys:enclosedList}) * closure 2[ +d {args(arg)("," +1, "(", ")")} * +2 ":" +d { {argTys(argTy)("," +1, "(", ")")} * +1 "->" +2 {retTys(retTy)("," +1, "(", ")")} } ] *) ANAPPLY of { closure: anvalue, (* closure *) argList: anvalue list, argTyList: ty list, resultTyList: ty list } | (*% * @format({funLabel, * env, * argList: arg args:enclosedList, * argTyList: argTy argTys:enclosedList, * resultTyList: retTy retTys:enclosedList}) * funLabel 2[ +d "<" env ">" +d {args(arg)("," +1, "(", ")")} * +2 ":" +d { {argTys(argTy)("," +1, "(", ")")} * +1 "->" +2 {retTys(retTy)("," +1, "(", ")")} } ] *) (* * special version of ANAPPLY; call without closure. *) ANCALL of { funLabel: anvalue, (* FUNENTRY *) env: anvalue, argList: anvalue list, argTyList: ty list, resultTyList: ty list } | (*% * @format({funLabel, * argList: arg args:enclosedList, * argTyList: argTy argTys:enclosedList, * resultTyList: retTy retTys:enclosedList}) * "REC:" funLabel 2[ +d {args(arg)("," +1, "(", ")")} * +2 ":" +d { {argTys(argTy)("," +1, "(", ")")} * +1 "->" +2 {retTys(retTy)("," +1, "(", ")")} } ] *) (* * special version of ANCALL; let env be current closure environment. *) ANRECCALL of { funLabel: anvalue, (* FUNENTRY *) argList: anvalue list, argTyList: ty list, resultTyList: ty list } | (*% * @format({codeLabel, * argList: arg args:enclosedList, * argTyList: argTy argTys:enclosedList, * resultTyList: retTy retTys:enclosedList, * returnLabel, knownDestinations}) * "LOCAL:" codeLabel 2[ +d {args(arg)("," +1, "(", ")")} * +2 ":" +d { {argTys(argTy)("," +1, "(", ")")} * +1 "->" +2 {retTys(retTy)("," +1, "(", ")")} } ] *) ANLOCALCALL of { codeLabel: anvalue, (* CODEPOINT *) argList: anvalue list, argTyList: ty list, resultTyList: ty list, (* unique label for each ANLOCALCALL. * This will be used as return address of this call. *) returnLabel: id, (* workspace for AIGeneration. initialize it with nil. *) knownDestinations: id list ref } (*% * @formatter(BasicTypes.UInt32) BasicTypeFormatters.format_UInt32 * @formatter(withType) format_varInfoWithType * @formatter(enclosedList) SmlppgUtil.formatListWithEnclosureIfNotOne * @formatter(ifCons) format_ifCons *) datatype andecl = (* (*% * @format({id, globalName:gn gnopt, size, ty, value, loc}) * { "GLOBAL:" gnopt(gn) "<" id ">" +d "=" * 4[ +2 value +3 ":" +d ty +4 ":" +d size ] } *) (* only appear in sequential compilation *) ANSETGLOBAL of { id: ExVarID.id, globalName: globalName option, size: anvalue, ty: ty, value: anvalue, loc: loc } *) (*% * @format({array, offset, value, valueTy, valueSize, valueTag, * setGlobal, needBoundaryCheck, loc}) * { array "[" offset "]" +d "=" * 4[ +2 value +3 ":" +d valueTy +4 ":" +d valueSize * +5 ":" +d valueTag ] } *) ANSETFIELD of { array: anvalue, offset: anvalue, value: anvalue, valueTy: ty, valueSize: anvalue, valueTag: anvalue, setGlobal: bool, needBoundaryCheck: bool, loc: loc } | (*% * @format({record, nestLevel, offset, value, valueTy, valueSize, * valueTag, loc}) * { record "[" nestLevel "/" offset "]" +d "=" * 4[ +2 value +3 ":" +d valueTy +4 ":" +d valueSize * +5 ":" +d valueTag ] } *) ANSETTAIL of { record: anvalue, nestLevel: anvalue, offset: anvalue, value: anvalue, valueTy: ty, valueSize: anvalue, valueTag : anvalue, loc: loc } | (*% * @format({src, srcOffset, dst, dstOffset, length, * elementTy, elementSize, elementTag, loc}) * "CopyArray" * "(" { "src" "=" src "[" srcOffset "]" "," +1 * "dst" "=" dst "[" dstOffset "]" "," +1 * "length" "=" length "," +1 * "elem" "=" { +d elementTy +3 ":" +d elementSize +3 * ":" +d elementTag } * } ")" *) ANCOPYARRAY of { src : anvalue, srcOffset : anvalue, dst : anvalue, dstOffset : anvalue, length : anvalue, elementTy : ty, elementSize : anvalue, elementTag : anvalue, loc: loc } | (*% * @format({closure, * argList: arg args:enclosedList, * argTyList: argTy argTys:enclosedList, * resultTyList: retTy retTys:enclosedList, * loc}) * { "in" +d * closure 2[ +d {args(arg)("," +1, "(", ")")} * +2 ":" +d { {argTys(argTy)("," +1, "(", ")")} * +1 "->" +2 {retTys(retTy)("," +1, "(", ")")} } ] * } *) ANTAILAPPLY of { closure: anvalue, (* closure *) argList: anvalue list, argTyList: ty list, resultTyList: ty list, loc: loc } | (*% * @format({funLabel, * env, * argList: arg args:enclosedList, * argTyList: argTy argTys:enclosedList, * resultTyList: retTy retTys:enclosedList, * loc}) * { "in" +d * funLabel 2[ +d "<" env ">" +d {args(arg)("," +1, "(", ")")} * +2 ":" +d { {argTys(argTy)("," +1, "(", ")")} * +1 "->" +2 {retTys(retTy)("," +1, "(", ")")} } ] * } *) (* * special version of ANTAILAPPLY; call without closure. *) ANTAILCALL of { funLabel: anvalue, (* FUNENTRY *) env: anvalue, argList: anvalue list, argTyList: ty list, resultTyList: ty list, loc: loc } | (*% * @format({funLabel, * argList: arg args:enclosedList, * argTyList: argTy argTys:enclosedList, * resultTyList: retTy retTys:enclosedList, * loc}) * { "in" +d * "REC:" funLabel 2[ +d {args(arg)("," +1, "(", ")")} * +2 ":" +d { {argTys(argTy)("," +1, "(", ")")} * +1 "->" +2 {retTys(retTy)("," +1, "(", ")")} } ] * } *) (* * special version of ANTAILCALL; let env be current closure environment. *) ANTAILRECCALL of { funLabel: anvalue, (* FUNENTRY *) argList: anvalue list, argTyList: ty list, resultTyList: ty list, loc: loc } | (*% * @format({codeLabel, * argList: arg args:enclosedList, * argTyList: argTy argTys:enclosedList, * resultTyList: retTy retTys:enclosedList, * loc, knownDestinations}) * { "in" +d * "LOCAL:" codeLabel 2[ +d {args(arg)("," +1, "(", ")")} * +2 ":" +d { {argTys(argTy)("," +1, "(", ")")} * +1 "->" +2 {retTys(retTy)("," +1, "(", ")")} } ] * } *) ANTAILLOCALCALL of { codeLabel: anvalue, (* CODEPOINT *) argList: anvalue list, argTyList: ty list, resultTyList: ty list, loc: loc, (* workspace for AIGeneration. initialize it with nil. *) knownDestinations: id list ref } | (*% * @format({valueList: value values:enclosedList, * tyList: ty tys:enclosedList, * loc}) * { "in" +d {values(value)("," +1, "(", ")")} * +2 ":" +d {tys(ty)("," +1, "(", ")")} } *) ANRETURN of { valueList: anvalue list, tyList: ty list, loc: loc } | (*% * @format({valueList: value values:enclosedList, * tyList: ty tys:enclosedList, * loc, knownDestinations * }) * { "in localReturn" +d {values(value)("," +1, "(", ")")} * +2 ":" +d {tys(ty)("," +1, "(", ")")} } *) ANLOCALRETURN of { valueList: anvalue list, tyList: ty list, loc: loc, (* workspace for AIGeneration. initialize it with nil. *) knownDestinations: id list ref } | (*% * @format({varList: var:withType vars:enclosedList, * exp, loc}) * { "let" +d {vars(var)("," +1, "(", ")")} * +d "=" 4[ +1 exp ] } *) ANVAL of { varList: varInfo list, exp: anexp, loc: loc } | (*% * @format({ * codeList: entry entries:enclosedList, * loc * }) * 2[ * "let code" + * entries(entry)(~2[ +1 "and"] +, "", "") * ] *) ANVALCODE of { codeList: codeDecl list, loc: loc } | (*% * @format({label, varList: var vars:enclosedList, loc}) * { "in" +d * "M" label 2[ +d ] {vars(var)("," +1, "(", ")")} } *) (* * let x = ... let x = ... * ..(A).. ..(A).. * in switch x let m1 = fn z => * case 1 => is equal to let ..(C).. * ..(B).. =========== in switch x * let z = ..(D).. case 1 => * in MERGE:m1 z ..(B).. * MERGEPOINT:m1 z => let z = ..(D).. * let ..(C).. in m1 z * * The notion of MERGE is independent from LOCALCALL. * Since LOCALCALL comes from function, LOCALCALL may introduce * backedges. We need special care for LOCALCALL in order to make * clear CFG in AIGeneration. * In contrast MERGE comes from case branch so that MERGE never * introduce any backedges. * * Limitations of usage of MERGE: * - Every MERGEPOINT must appear after all MERGEs calling the * MERGEPOINT. * - varList of MERGE must be always identical to varList of * MERGEPOINT called by the MERGE. * * Note that ANMERGEPOINT may appear after any decl. *) ANMERGE of { label: id, varList: varInfo list, loc: loc } | (*% * @format({label, varList: var vars:enclosedList, * leaveHandler, loc}) * { "merge:" "M" label + vars(var)("," +, "(", ")") + "=>" } *) ANMERGEPOINT of { label: id, varList: varInfo list, (* If this merge point is the end of try clause of ANHANDLE, * leaveHandler is set to labels of ANHANDLE. *) leaveHandler: {handlerLabel: id, tryLabel: id} option, loc: loc } | (*% * @format({value, loc}) * { "in" +d * "raise" 2[ +d ] value } *) ANRAISE of { value: anvalue, loc: loc } | (*% * @format({try: try trys, exnVar, handler: handler handlers, * labels, loc}) * "in" +d * "try" * 2[ 1 trys(try)(1) ] * 1 { "handle" + exnVar + "=>" } * 2[ 1 handlers(handler)(1) ] *) ANHANDLE of { try: andecl list, exnVar: varInfo, handler: andecl list, (* labels for identifing each ANHANDLE structure. *) labels: {tryLabel: id, leaveLabel: id, handlerLabel: id}, loc: loc } | (*% * @format({value, valueTy, * branches: branch branches, * default: default defaults, * loc}) * "in" +d * "switch" 2[ +d ] value * 2[ 1 branches(branch)(1) ] * 2[ 1 "default:" * 2[ 1 defaults(default)(1) ] * ] * * @format:branch({constant, branch: branch branches}) * "case" + constant ":" * 2[ 1 branches(branch)(1) ] *) ANSWITCH of { value: anvalue, valueTy: ty, branches: {constant: anexp, (* ANCONST or ANVALUE (ANGLOBALREF) *) branch: andecl list} list, default: andecl list, loc: loc } withtype codeDecl = (*% * @format({codeId, * argVarList: arg:withType args, * body: body bodies, * resultTyList: retTy retTys, * loc}) * "code" + "L" codeId * 1 "{" * 2[ 1 { "arg" +d "=" +d "(" { args(arg)("," +1) ")" } } * 1 { "ret" +d ":" +d "(" { retTys(retTy)("," +1) ")" } } * 1 1 bodies(body)(1) ] * 1 "}" *) { codeId : id, argVarList : varInfo list, body : andecl list, resultTyList : ty list, loc:loc } (*% * @formatter(withType) format_varInfoWithType * @formatter(prepended) SmlppgUtil.formatPrependedOpt *) type funDecl = (*% * @format({codeId, * argVarList: arg:withType args, * body: body bodies, * resultTyList: retTy retTys, * ffiAttributes: att attopt:prepended, * loc}) * "function" + "L" codeId * 1 "{" * 2[ 1 { "arg" +d "=" +d "(" { args(arg)("," +1) ")" } } * 1 { "ret" +d ":" +d "(" { retTys(retTy)("," +1) ")" } } * attopt(att)(1) * 1 1 bodies(body)(1) ] * 1 "}" *) { codeId: id, argVarList: varInfo list, body: andecl list, resultTyList: ty list, ffiAttributes: ffiAttributes option, loc: loc } (*% *) type frameInfo = (*% * @format({tyvars: tv tvs, * bitmapFree, * tagArgList: tag tags}) * "{" * 2[ 1 { "tyvars" +d "=" +1 "(" {tvs(tv)("," +1)} ")" } "," * 1 { "bitmapFree" +d "=" +1 bitmapFree } "," * 1 { "tagArgs" +d "=" +1 "(" {tags(tag)("," +1)} ")" } ] * 1 "}" *) { tyvars: tyvarId list, bitmapFree: anexp, (* ANVALUE or ANENVACC *) tagArgList: varInfo list } (*% *) type clusterDecl = (*% * @format({clusterId, * frameInfo, * entryFunctions: entry entries, * hasClosureEnv, * loc}) * "cluster" + "C" clusterId * 1 "{" * 2[ 1 loc * 1 "frameInfo" + "=" + frameInfo * 1 "entryFunctions:" * 2[ 1 entries(entry)(1 1) ] * ] * 1 "}" *) { clusterId: clusterId, frameInfo: frameInfo, entryFunctions: funDecl list, hasClosureEnv: bool, loc: loc } (*% * @formatter(BasicTypes.UInt32) BasicTypeFormatters.format_UInt32 * @formatter(enclosedList) SmlppgUtil.formatListWithEnclosureIfNotOne * @formatter(choice) SmlppgUtil.formatBinaryChoice *) (* all global names must be unique at least in a compile unit and * defined only once. * You may not override a global definition by another definition. *) datatype topdecl = (*% * @format(cluster) cluster ";" *) ANCLUSTER of clusterDecl (* | (*% * @format({globalName: gn gnopt, id, ty}) * { "globalvar" + gnopt(gn) "<" id ">" * + ":" + ty } *) (* only appear in sequential compilation *) ANGLOBALVARDECL of { globalName: globalName option, id: ExVarID.id, ty: ty, loc: loc } | (*% * @format({globalName: gn gnopt, tag, description, loc}) * { "exception" + gnopt(gn) "<" tag ">" * + "=" + "\"" description "\"" ";" } 1 *) ANEXCEPTIONDECL of { globalName: globalName option, tag: globalTag, description: string, loc: loc } *) | (*% * @format({globalName, constant}) * { globalName ":" + constant } *) ANTOPCONST of { globalName: topSymbol, constant: constant (* LARGEINT, STRING, REAL, FLOAT *) } | (*% * @format({globalName, * bitmaps:bm bms:enclosedList, * totalSize, * fieldList:value values:enclosedList, * fieldTyList: ty tys:enclosedList, * fieldSizeList:size sizes:enclosedList, * isMutable}) * { globalName ":" * 4[ +1 "Record" "(" * { "bitmaps" "=" { bms(bm)("," +1, "(", ")") } "," +1 * "size" "=" totalSize "," +1 * "init" "=" { {values(value)("," +1, "(", ")")} * +3 ":" +d {tys(ty)("," +1, "(", ")")} * +2 ":" +d {sizes(size)("," +1, "(", ")")} } * } ")" ] } *) ANTOPRECORD of { globalName: topSymbol, bitmaps: BasicTypes.UInt32 list, totalSize: BasicTypes.UInt32, fieldList: anvalue list, (* ANVAR never occur *) fieldTyList: ty list, fieldSizeList: BasicTypes.UInt32 list, isMutable: bool } | (*% * @format({globalName, * bitmap, * totalSize, * initialValues:init inits:enclosedList, * elementTy, elementSize, isMutable}) * { globalName ":" * 4[ +1 "Array" "(" * { "bitmap" "=" bitmap "," +1 * "size" "=" totalSize "," +1 * "init" "=" { inits(init)("," +1, "(", ")") * +2 ":" +d elementTy * +3 ":" +d elementSize } * } ")" ] } *) ANTOPARRAY of { globalName: topSymbol, bitmap: BasicTypes.UInt32, totalSize: BasicTypes.UInt32, initialValues: anvalue list, (* ANVAR never occur *) elementTy: ty, elementSize: BasicTypes.UInt32, isMutable : bool } | (*% * @format({globalName, * initialValue:init initopt, * elementTy, elementSize}) * { globalName ":" + * 4[ +1 "GLOBALVAR" "(" * { initopt(init) +2 ":" +d elementTy * +3 ":" +d elementSize } * ")" ] } *) ANTOPVAR of (* write once, always exported, no header array *) { globalName: topSymbol, initialValue: anvalue option, elementTy: ty, elementSize: BasicTypes.UInt32 } | (*% * @format({globalName, funLabel, closureEnv}) * { globalName ":" * + "Closure" "(" funLabel "," + closureEnv ")" } *) ANTOPCLOSURE of { globalName: topSymbol, funLabel: id, (* FUNENTRY *) closureEnv: anvalue } | (*% * @format({globalName, originalGlobalName}) * { globalName ":" * + "alias" "(" originalGlobalName ")" } *) ANTOPALIAS of { globalName: topSymbol, originalGlobalName: topSymbol } | (*% * @format(id) * { "call" + "F" id ";" } *) (* only appear in sequential compilation *) ANENTERTOPLEVEL of id end end end smlsharp-1.2.0/src/compiler/yaanormal/main/ANormal.ppg.smi0000644 000000000000000000002771512050661606023657 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlformat-lib.smi" _require "../../absyn/main/Absyn.ppg.smi" _require "../../builtin2/main/BuiltinPrimitive.ppg.smi" _require "../../constantterm/main/ConstantTerm.ppg.smi" _require "../../control/main/Loc.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../systemdef/main/BasicTypes.smi" _require "../../systemdef/main/BasicTypeFormatters.smi" _require "../../util/main/SmlppgUtil.ppg.smi" _require "../../util/main/TermFormat.smi" structure YAANormal = struct type id = VarID.id val format_id : VarID.id -> SMLFormat.FormatExpression.expression list type clusterId = ClusterID.id val format_clusterId : ClusterID.id -> SMLFormat.FormatExpression.expression list type tyvarId = BoundTypeVarID.id val format_tyvarId : BoundTypeVarID.id -> SMLFormat.FormatExpression.expression list datatype ty = BOXED | BYTE | CODEPOINT | DOUBLE | FLOAT | FOREIGNFUN | FUNENTRY | GENERIC of tyvarId | POINTER | SINT | UINT val format_ty : ty -> SMLFormat.FormatExpression.expression list datatype varKind = ARG | LOCAL | LOCALARG val format_varKind : SMLFormat.FormatExpression.expression list -> varKind -> SMLFormat.FormatExpression.expression list type varInfo = {displayName:string, id:id, ty:ty, varKind:varKind} val format_varInfo : {displayName:'a, id:VarID.id, ty:'b, varKind:varKind} -> SMLFormat.FormatExpression.expression list type loc = Loc.loc val format_loc : Loc.pos * Loc.pos -> SMLFormat.FormatExpression.expression list type constant = ConstantTerm.constant val format_constant : ConstantTerm.constant -> SMLFormat.FormatExpression.expression list type ffiAttributes = Absyn.ffiAttributes val format_ffiAttributes : Absyn.ffiAttributes -> SMLFormat.FormatExpression.expression list datatype topSymbol = TOP_GLOBAL of string | TOP_LOCAL of id val format_topSymbol : topSymbol -> SMLFormat.FormatExpression.expression list datatype topSymbolRef = TOP_EXPORT of topSymbol | TOP_EXTERN of string val format_topSymbolRef : topSymbolRef -> SMLFormat.FormatExpression.expression list datatype anvalue = ANBYTE of Word8.word | ANCHAR of char | ANINT of BasicTypes.SInt32 | ANLABEL of id | ANLOCALCODE of id | ANNULLBOXED | ANNULLPOINTER | ANTOPSYMBOL of {name:topSymbolRef, ty:ty} | ANUNIT | ANVAR of varInfo | ANWORD of BasicTypes.UInt32 val format_anvalue : anvalue -> SMLFormat.FormatExpression.expression list datatype anexp = ANAPPLY of {argList:anvalue list, argTyList:ty list, closure:anvalue, resultTyList:ty list} | ANARRAY of {bitmap:anvalue, elementSize:anvalue, elementTy:ty, initialValue:anvalue option, isMutable:bool, totalSize:anvalue} | ANCALL of {argList:anvalue list, argTyList:ty list, env:anvalue, funLabel:anvalue, resultTyList:ty list} | ANCALLBACKCLOSURE of {argTyList:ty list, attributes:ffiAttributes, env:anvalue, funLabel:anvalue, resultTyList:ty list} | ANCLOSURE of {env:anvalue, funLabel:anvalue} | ANCONST of constant | ANENVACC of {nestLevel:BasicTypes.UInt32, offset:BasicTypes.UInt32, size:anvalue, ty:ty} | ANFOREIGNAPPLY of {argList:anvalue list, argTyList:ty list, attributes:ffiAttributes, function:anvalue, resultTyList:ty list} | ANGETFIELD of {array:anvalue, needBoundaryCheck:bool, offset:anvalue, size:anvalue, ty:ty} | ANLOCALCALL of {argList:anvalue list, argTyList:ty list, codeLabel:anvalue, knownDestinations:id list ref, resultTyList:ty list, returnLabel:id} | ANMODIFY of {nestLevel:anvalue, offset:anvalue, record:anvalue, value:anvalue, valueSize:anvalue, valueTag:anvalue, valueTy:ty} | ANPRIMAPPLY of {argList:anvalue list, argTyList:ty list, instSizeList:anvalue list, instTagList:anvalue list, prim:BuiltinPrimitive.primitive, resultTyList:ty list} | ANRECCALL of {argList:anvalue list, argTyList:ty list, funLabel:anvalue, resultTyList:ty list} | ANRECCLOSURE of {funLabel:anvalue} | ANRECORD of {bitmaps:anvalue list, fieldIndexList:anvalue list, fieldList:anvalue list, fieldSizeList:anvalue list, fieldTyList:ty list, isMutable:bool, clearPad:bool, totalSize:anvalue} | ANSELECT of {nestLevel:anvalue, offset:anvalue, record:anvalue, size:anvalue, ty:ty} | ANVALUE of anvalue val format_anexp : anexp -> SMLFormat.FormatExpression.expression list datatype andecl = ANCOPYARRAY of {dst:anvalue, dstOffset:anvalue, elementSize:anvalue, elementTag:anvalue, elementTy:ty, length:anvalue, loc:loc, src:anvalue, srcOffset:anvalue} | ANHANDLE of {exnVar:varInfo, handler:andecl list, labels:{handlerLabel:id, leaveLabel:id, tryLabel:id}, loc:loc, try:andecl list} | ANLOCALRETURN of {knownDestinations:id list ref, loc:loc, tyList:ty list, valueList:anvalue list} | ANMERGE of {label:id, loc:loc, varList:varInfo list} | ANMERGEPOINT of {label:id, leaveHandler:{handlerLabel:id, tryLabel:id} option, loc:loc, varList:varInfo list} | ANRAISE of {loc:loc, value:anvalue} | ANRETURN of {loc:loc, tyList:ty list, valueList:anvalue list} | ANSETFIELD of {array:anvalue, loc:loc, needBoundaryCheck:bool, offset:anvalue, value:anvalue, valueSize:anvalue, valueTag:anvalue, valueTy:ty, setGlobal: bool} | ANSETTAIL of {loc:loc, nestLevel:anvalue, offset:anvalue, record:anvalue, value:anvalue, valueSize:anvalue, valueTag:anvalue, valueTy:ty} | ANSWITCH of {branches:{branch:andecl list, constant:anexp} list, default:andecl list, loc:loc, value:anvalue, valueTy:ty} | ANTAILAPPLY of {argList:anvalue list, argTyList:ty list, closure:anvalue, loc:loc, resultTyList:ty list} | ANTAILCALL of {argList:anvalue list, argTyList:ty list, env:anvalue, funLabel:anvalue, loc:loc, resultTyList:ty list} | ANTAILLOCALCALL of {argList:anvalue list, argTyList:ty list, codeLabel:anvalue, knownDestinations:id list ref, loc:loc, resultTyList:ty list} | ANTAILRECCALL of {argList:anvalue list, argTyList:ty list, funLabel:anvalue, loc:loc, resultTyList:ty list} | ANVAL of {exp:anexp, loc:loc, varList:varInfo list} | ANVALCODE of {codeList:{argVarList:varInfo list, body:andecl list, codeId:id, loc:loc, resultTyList:ty list} list, loc:loc} type codeDecl = {argVarList:varInfo list, body:andecl list, codeId:id, loc:loc, resultTyList:ty list} val format_andecl : andecl -> SMLFormat.BasicFormatters.expression list val format_codeDecl : codeDecl -> SMLFormat.BasicFormatters.expression list type funDecl = {argVarList:varInfo list, body:andecl list, codeId:id, ffiAttributes:ffiAttributes option, loc:loc, resultTyList:ty list} val format_funDecl : {argVarList:{displayName:'a, id:VarID.id, ty:ty, varKind:varKind} list, body:andecl list, codeId:VarID.id, ffiAttributes:Absyn.ffiAttributes option, loc:'b, resultTyList:ty list} -> SMLFormat.FormatExpression.expression list type frameInfo = {bitmapFree:anexp, tagArgList:varInfo list, tyvars:tyvarId list} val format_frameInfo : {bitmapFree:anexp, tagArgList:{displayName:'a, id:VarID.id, ty:'b, varKind:varKind} list, tyvars:BoundTypeVarID.id list} -> SMLFormat.FormatExpression.expression list type clusterDecl = {clusterId:clusterId, entryFunctions:funDecl list, frameInfo:frameInfo, hasClosureEnv:bool, loc:loc} val format_clusterDecl : {clusterId:ClusterID.id, entryFunctions:{argVarList:{displayName:'a, id:VarID.id, ty:ty, varKind: varKind} list, body:andecl list, codeId:VarID.id, ffiAttributes:Absyn.ffiAttributes option, loc:'b, resultTyList:ty list} list, frameInfo:{bitmapFree:anexp, tagArgList:{displayName:'c, id:VarID.id, ty:'d, varKind:varKind} list, tyvars:BoundTypeVarID.id list}, hasClosureEnv:'e, loc:Loc.pos * Loc.pos} -> SMLFormat.FormatExpression.expression list datatype topdecl = ANCLUSTER of clusterDecl | ANENTERTOPLEVEL of id | ANTOPALIAS of {globalName:topSymbol, originalGlobalName:topSymbol} | ANTOPARRAY of {bitmap:BasicTypes.UInt32, elementSize:BasicTypes.UInt32, elementTy:ty, globalName:topSymbol, initialValues:anvalue list, isMutable:bool, totalSize:BasicTypes.UInt32} | ANTOPCLOSURE of {closureEnv:anvalue, funLabel:id, globalName:topSymbol} | ANTOPCONST of {constant:constant, globalName:topSymbol} | ANTOPRECORD of {bitmaps:BasicTypes.UInt32 list, fieldList:anvalue list, fieldSizeList:BasicTypes.UInt32 list, fieldTyList:ty list, globalName:topSymbol, isMutable:bool, totalSize:BasicTypes.UInt32} | ANTOPVAR of {elementSize:BasicTypes.UInt32, elementTy:ty, globalName:topSymbol, initialValue:anvalue option} val format_topdecl : topdecl -> SMLFormat.FormatExpression.expression list end smlsharp-1.2.0/src/compiler/yaanormal/main/ANormalTypeCheckError.ppg0000644 000000000000000000001401412050661606025666 0ustar00rootroot0000000 0000000 (* -*- sml -*- *) (** * type checker for A-Normal. * @copyright (c) 2008, Tohoku University. * @author UENO Katsuhiro * @version $Id: ANormalTypeCheckError.ppg,v 1.1 2008/01/23 08:20:07 katsu Exp $ *) structure ANormalTypeCheckError = struct (*% * @formatter (YAANormal.anexp) YAANormal.format_anexp * @formatter (YAANormal.varInfo) YAANormal.format_varInfo * @formatter (YAANormal.anvalue) YAANormal.format_anvalue * @formatter (YAANormal.ty) YAANormal.format_ty * @formatter (YAANormal.id) YAANormal.format_id *) exception (*% * @format(exp) * "invalid" +d "expression" * +1 exp *) InvalidExpression of YAANormal.anexp and (*% * @format({definition, reference}) * "variable" +d "definition" +d "and" +d "reference" +d "don't" * +d "agree" * +1 "definition:" + definition * +1 "reference:" + reference *) VarMismatch of {definition: YAANormal.varInfo, reference: YAANormal.varInfo} and (*% * @format(v) * "unbound" +d "variable:" +d v *) VarNotFound of YAANormal.varInfo and (*% * @format(v) * "undefined" +d "function:" +d v *) FunNotFound of YAANormal.id and (*% * @format(v) * "undefined" +d "code:" +d v *) CodeNotFound of YAANormal.id and (*% * @format(label) * "undefined" +d "MERGEPOINT:" +d label *) MergePointNotFound of YAANormal.id and (*% * @format({argTyList: argTy argTys, actualTyList: actTy actTys}) * "argument" +d "type" +d "annotations" +d "and" +d "argument" * +d "types" +d "don't" +d "agree" * +1 "annotations:" + argTys(argTy)(","+d) * +1 "actuals:" + actTys(actTy)(","+d) *) ArgTyListAndActualTyListMismatch of {argTyList: YAANormal.ty list, actualTyList: YAANormal.ty list} and (*% * @format({operatorTyList: argTy argTys, operandTyList: actTy actTys}) * "opetator" +d "and" +d "operand" +d "don't" +d "agree" * +1 "operator:" + argTys(argTy)(","+d) * +1 "operand:" + actTys(actTy)(","+d) *) OperatorOperandMismatch of {operatorTyList: YAANormal.ty list, operandTyList: YAANormal.ty list} and (*% * @format({resultTyList: argTy argTys, actualTyList: actTy actTys}) * "result" +d "type" +d "and" +d "return" +d "don't" +d "agree" * +1 "annotations:" + argTys(argTy)(","+d) * +1 "actuals:" + actTys(actTy)(","+d) *) ResultTyListAndActualTyListMismatch of {resultTyList: YAANormal.ty list, actualTyList: YAANormal.ty list} and (*% * @format({label, mergeVarList: mv mvs, mergePointVarList: mpv mpvs}) * "MERGE" +d "and" +d "MERGEPOINT" +d "don't" +d "agree" * +1 "label:" + label * +1 "MERGE:" + mvs(mv)(","+d) * +1 "MERGEPOINT:" + mpvs(mpv)(","+d) *) MergeAndMergePointMismatch of {label: YAANormal.id, mergeVarList: YAANormal.varInfo list, mergePointVarList: YAANormal.varInfo list} and (*% * @format({getGlobal: getTy * getSize, setGlobal: setTy * setSize}) * "global" +d "accesses" +d "don't" +d "agree" * +1 "set:" + setTy +d "with" +d "size" +d setSize * +1 "get:" + getTy +d "with" +d "size" +d getSize *) GlobalAccessTypeMismatch of {getGlobal: YAANormal.ty * YAANormal.anvalue, setGlobal: YAANormal.ty * YAANormal.anvalue} and (*% * @format({numInstSize, numInstTag}) * "the" +d "number" +d "of" +d "instantiation" +d "of" +d "PRIMAPPLY" * "is" +d "not" +d "equal" * +1 "instSize:" + numInstSize * +1 "instTag:" + numInstTag *) PrimApplyNumInstMismatch of {numInstSize: int, numInstTag: int} and (*% * @format({knownDestinations: label labels}) * "knownDestinations" +d "must" +d "be" +d "nil" * +1 "knownDestinations:" + labels(label)(","+d) *) KnownDestinationsMustBeNil of {knownDestinations: YAANormal.id list} and (*% * @format * "LOCALRETURN" +d "is" +d "not" +d "in" +d "local" +d "code" *) LocalReturnIsNotInLocalCode and (*% * @format(label) * "MERGEPOINT" +d "is" +d "not" +d "in" +d "top:" +d label *) MergePointIsNotInTop of YAANormal.id and (*% * @format * "dead" +d "code" +d "detected" *) DeadCode and (*% * @format * "declaration" +d "list" +d "is" +d "not" +d "terminated" *) NoTermination and (*% * @format({varList: var vars}) * "illegal" +d "kind" +d "for" +d "local" +d "variable" * +1 "variables:" + vars(var)(","+d) *) LocalVarIsNotLocal of {varList: YAANormal.varInfo list} and (*% * @format({label, varList: var vars}) * "illegal" +d "kind" +d "for" +d "arguments" +d "of" +d "MERGEPOINT" * +1 "label:" + label * +1 "arguments:" + vars(var)(","+d) *) MergePointArgIsNotLocal of {label: YAANormal.id, varList: YAANormal.varInfo list} and (*% * @format({label, varList: var vars}) * "illegal" +d "kind" +d "for" +d "arguments" +d "of" +d "function" * +1 "label:" + label * +1 "arguments:" + vars(var)(","+d) *) CodeDeclArgIsNotLocalArg of {label: YAANormal.id, varList: YAANormal.varInfo list} and (*% * @format({label, varList: var vars}) * "illegal" +d "kind" +d "for" +d "arguments" +d "of" +d "code" * +1 "label:" + label * +1 "arguments:" + vars(var)(","+d) *) FunDeclArgIsNotArg of {label: YAANormal.id, varList: YAANormal.varInfo list} and (*% * @format(var) * "illegal" +d "kind" +d "for" +d "exception" +d "variable" * +1 "variable:" + var *) ExnVarIsNotLocal of YAANormal.varInfo and (*% * @format(var) * "invalid" +d "tagArg:" +d var *) InvalidTagArg of YAANormal.varInfo end smlsharp-1.2.0/src/compiler/yaanormalization0000755 000000000000000000000000012050661606021406 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/yaanormalization/main0000755 000000000000000000000000012050661606022332 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler/yaanormalization/main/ANORMALOPTIMIZATION.sig0000644 000000000000000000000050212050661606026052 0ustar00rootroot0000000 0000000 (** * A-Normal Optimization * @copyright (c) 2006-2007, Tohoku University. * @author UENO Katsuhiro * @author NGUYEN Huu-Duc * @version $Id: ANORMALOPTIMIZATION.sig,v 1.1 2007/09/24 22:28:40 katsu Exp $ *) signature YAANORMALOPTIMIZATION = sig val optimize : YAANormal.topdecl list -> YAANormal.topdecl list end smlsharp-1.2.0/src/compiler/yaanormalization/main/ANormalOptimization.smi0000644 000000000000000000000072512050661606027067 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../builtin2/main/BuiltinPrimitive.ppg.smi" _require "../../constantterm/main/ConstantTerm.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../systemdef/main/BasicTypes.smi" _require "../../yaanormal/main/ANormal.ppg.smi" _require "ANORMALOPTIMIZATION.sig" structure YAANormalOptimization = struct val optimize : YAANormal.topdecl list -> YAANormal.topdecl list end smlsharp-1.2.0/src/compiler/yaanormalization/main/ANormalOptimization.sml0000644 000000000000000000011316612050661606027076 0ustar00rootroot0000000 0000000 (** * A-Normal optimization * @copyright (c) 2006-2007, Tohoku University. * @author UENO Katsuhiro * @author NGUYEN Huu-Duc * @version $Id: ANormalOptimization.sml,v 1.21 2008/08/06 17:23:41 ohori Exp $ * * This module performs the following optimizations. * - constant foldling (optimizePRIMAPPLY) * - constant propagation * - replace APPLY with either CALL or RECCALL as many as possible * - replace RECTAILCALL to TAILLOCALCALL as many as possible * * These optimizations are needed to generate much cleaner CFG at the * next phase. * * Constant folding and propagation is effective to inhibit generating * explicit loops which are arised from several ANormal terms including * implicit loop. * * Replacing RECTAILCALL with TAILLOCALCALL is much more effective; * RECTAILCALL will be translated to costly call instruction, but * TAILLOCALCALL will be translated to unconditional jump instruction. * * Replacing APPLY with RECCALL is a preparation for replacing RECTAILCALL * with TAILLOCALCALL. * * Any other optimizations such as * - copy propagation, * - dead code elimination, * - simplification, and * are not needed here since they never affect to CFG generation. * Later optimization phase can do them better. * * Doing efficient copy propagation with keeping semantics of program * is not so easy if the program includes MERGEPOINT. For example: * * switch x * case 0: * let w = call() * let y = w * let z = y <--- can replace this y with w * MERGE m1 z * default: * raise * MERGEPOINT m1 z => * let t = z <--- cannot replace this z with w * while z is always equal to w, * because w is unbound here. * * Anyway, later optimization phase do the same thing much better. *) structure YAANormalOptimization : YAANORMALOPTIMIZATION = struct structure ID = VarID structure CT = ConstantTerm structure AN = YAANormal structure P = BuiltinPrimitive structure Float = Real fun optimizePRIMAPPLY (args as {prim, argList, argTyList, ...}) = let fun intOf (AN.ANINT v) = SOME v | intOf _ = NONE fun genericIntOf (AN.ANINT v) = SOME (BasicTypes.SInt32ToInt v) | genericIntOf _ = NONE fun wordOf (AN.ANWORD v) = SOME v | wordOf _ = NONE fun genericWordOf (AN.ANWORD v) = SOME (BasicTypes.UInt32ToWord v) | genericWordOf _ = NONE (* fun realOf (AN.ANCONST (CT.REAL v)) = ( case Real.fromString v of SOME real => SOME real | NONE => NONE ) | realOf _ = NONE fun floatOf (AN.ANCONST (CT.FLOAT v)) = ( case Real.fromString v of SOME real => SOME real | NONE => NONE ) | floatOf _ = NONE *) fun charOf (AN.ANCHAR v) = SOME v | charOf _ = NONE fun byteOf (AN.ANWORD v) = SOME v | byteOf _ = NONE (* 2012-6-16 ohori: Something is worng; bool is represented as ANWORD. fun boolOf (AN.ANINT v) = if v = 0 then SOME false else SOME true | boolOf _ = NONE *) (* fun stringOf (AN.ANCONST (CT.STRING v)) = SOME v | stringOf _ = NONE *) fun intToExp v = AN.ANINT v fun genericIntToExp v = AN.ANINT (BasicTypes.SInt32.fromInt v) fun wordToExp v = AN.ANWORD v fun genericWordToExp v = AN.ANWORD (BasicTypes.WordToUInt32 v) (* fun realToExp v = AN.ANCONSTANT (CT.REAL (Real.toString v)) fun floatToExp v = AN.ANCONSTANT (CT.FLOAT (Real.toString v)) *) fun charToExp v = AN.ANCHAR v fun byteToExp v = AN.ANWORD v fun boolToExp v = if v then AN.ANWORD 0w1 else AN.ANWORD 0w0 (* 2012-6-16 Ohori: This is the cause of bug 203_anormalOptimize.sml. The internal representation of bool is word, and the TC.compare return false for (AN.ANINT n, AN.WORD w). fun boolToExp v = if v then AN.ANINT 1 else AN.ANINT 0 *) (* fun stringToExp v = AN.ANCONSTANT (CT.STRING v) *) exception NoOptimize fun optimize1 argConv resConv operator = case argList of [arg] => ( case argConv arg of SOME v => resConv (operator v) | _ => raise NoOptimize ) | _ => raise NoOptimize fun optimize2 arg1Conv arg2Conv resConv operator = case argList of [arg1,arg2] => ( case (arg1Conv arg1,arg2Conv arg2) of (SOME v1,SOME v2) => resConv (operator(v1,v2)) | _ => raise NoOptimize ) | _ => raise NoOptimize fun optimize3 arg1Conv arg2Conv arg3Conv resConv operator = case argList of [arg1,arg2,arg3] => ( case (arg1Conv arg1,arg2Conv arg2,arg3Conv arg3) of (SOME v1,SOME v2,SOME v3) => resConv (operator(v1,v2,v3)) | _ => raise NoOptimize ) | _ => raise NoOptimize val anvalue = SOME ( case (prim, argList) of (P.Int_add _,[AN.ANINT 0,arg2]) => arg2 | (P.Int_add _,[arg1,AN.ANINT 0]) => arg1 | (P.Int_add _, _) => optimize2 intOf intOf intToExp ( op + ) | (P.Word_add,[AN.ANWORD 0w0,arg2]) => arg2 | (P.Word_add,[arg1,AN.ANWORD 0w0]) => arg1 | (P.Word_add, _) => optimize2 wordOf wordOf wordToExp ( op + ) (* | (P.Real_add, _) => optimize2 realOf realOf realToExp ( op + ) | (P.Float_add, _) => optimize2 floatOf floatOf floatToExp ( op + ) *) | (P.Byte_add,[AN.ANWORD 0w0,arg2]) => arg2 | (P.Byte_add,[arg1,AN.ANWORD 0w0]) => arg1 | (P.Byte_add, _) => optimize2 byteOf byteOf byteToExp ( op + ) | (P.Int_sub _,[arg1,AN.ANINT 0]) => arg1 | (P.Int_sub _, _) => optimize2 intOf intOf intToExp ( op - ) | (P.Word_sub,[arg1,AN.ANWORD 0w0]) => arg1 | (P.Word_sub, _) => optimize2 wordOf wordOf wordToExp ( op - ) (* | (P.Real_sub, _) => optimize2 realOf realOf realToExp ( op - ) | (P.Float_sub, _) => optimize2 floatOf floatOf floatToExp ( op - ) *) | (P.Byte_sub,[arg1,AN.ANWORD 0w0]) => arg1 | (P.Byte_sub, _) => optimize2 byteOf byteOf byteToExp ( op - ) | (P.Int_mul _,[arg1 as AN.ANINT 0,arg2]) => arg1 | (P.Int_mul _,[arg1 as AN.ANINT 1,arg2]) => arg2 | (P.Int_mul _,[arg1,arg2 as AN.ANINT 0]) => arg2 | (P.Int_mul _,[arg1,arg2 as AN.ANINT 1]) => arg1 | (P.Int_mul _, _) => optimize2 intOf intOf intToExp ( op * ) | (P.Word_mul,[arg1 as AN.ANWORD 0w0,arg2]) => arg1 | (P.Word_mul,[arg1 as AN.ANWORD 0w1,arg2]) => arg2 | (P.Word_mul,[arg1,arg2 as AN.ANWORD 0w0]) => arg2 | (P.Word_mul,[arg1,arg2 as AN.ANWORD 0w1]) => arg1 | (P.Word_mul, _) => optimize2 wordOf wordOf wordToExp ( op * ) (* | (P.Real_mul, _) => optimize2 realOf realOf realToExp ( op * ) | (P.Float_mul, _) => optimize2 floatOf floatOf floatToExp ( op * ) *) | (P.Byte_mul,[arg1 as AN.ANWORD 0w0,arg2]) => arg1 | (P.Byte_mul,[arg1 as AN.ANWORD 0w1,arg2]) => arg2 | (P.Byte_mul,[arg1,arg2 as AN.ANWORD 0w0]) => arg2 | (P.Byte_mul,[arg1,arg2 as AN.ANWORD 0w1]) => arg1 | (P.Byte_mul, _) => optimize2 byteOf byteOf byteToExp ( op * ) | (P.Int_div _,[arg1 as AN.ANINT 0,arg2]) => arg1 | (P.Int_div _, _) => optimize2 intOf intOf intToExp ( op div ) | (P.Word_div,[arg1 as AN.ANWORD 0w0,arg2]) => arg1 | (P.Word_div, _) => optimize2 wordOf wordOf wordToExp ( op div ) (* | (P.Real_div, _) => optimize2 realOf realOf realToExp ( op / ) | (P.Float_div, _) => optimize2 floatOf floatOf floatToExp ( op / ) *) | (P.Byte_div,[arg1 as AN.ANWORD 0w0,arg2]) => arg1 | (P.Byte_div, _) => optimize2 byteOf byteOf byteToExp ( op div ) | (P.Int_mod _,[arg1 as AN.ANINT 0,arg2]) => arg1 | (P.Int_mod _, _) => optimize2 intOf intOf intToExp ( op mod ) | (P.Word_mod,[arg1 as AN.ANWORD 0w0,arg2]) => arg1 | (P.Word_mod, _) => optimize2 wordOf wordOf wordToExp ( op mod ) | (P.Byte_mod,[arg1 as AN.ANWORD 0w0,arg2]) => arg1 | (P.Byte_mod, _) => optimize2 byteOf byteOf byteToExp ( op mod ) | (P.Int_quot _, _) => optimize2 intOf intOf intToExp ( Int32.quot ) | (P.Int_rem _, _) => optimize2 intOf intOf intToExp ( Int32.rem ) | (P.Int_neg _, _) => optimize1 intOf intToExp ~ (* | (P.Real_neg, _) => optimize1 realOf realToExp ~ | (P.Float_neg, _) => optimize1 floatOf floatToExp ~ *) | (P.Int_lt, _) => optimize2 intOf intOf boolToExp ( op < ) | (P.Word_lt, _) => optimize2 wordOf wordOf boolToExp ( op < ) (* | (P.Real_lt, _) => optimize2 realOf realOf boolToExp ( op < ) | (P.Float_lt, _) => optimize2 floatOf floatOf boolToExp ( op < ) *) | (P.Byte_lt, _) => optimize2 byteOf byteOf boolToExp ( op < ) | (P.Char_lt, _) => optimize2 charOf charOf boolToExp ( op < ) (* | (P.RuntimePrim "ltString", _) => optimize2 stringOf stringOf boolToExp ( op < ) *) | (P.Int_gt, _) => optimize2 intOf intOf boolToExp ( op > ) | (P.Word_gt, _) => optimize2 wordOf wordOf boolToExp ( op > ) (* | (P.Real_gt, _) => optimize2 realOf realOf boolToExp ( op > ) | (P.Float_gt, _) => optimize2 floatOf floatOf boolToExp ( op > ) *) | (P.Byte_gt, _) => optimize2 byteOf byteOf boolToExp ( op > ) | (P.Char_gt, _) => optimize2 charOf charOf boolToExp ( op > ) (* | (P.String_gt, _) => optimize2 stringOf stringOf boolToExp ( op > ) *) | (P.Int_lteq, _) => optimize2 intOf intOf boolToExp ( op <= ) | (P.Word_lteq, _) => optimize2 wordOf wordOf boolToExp ( op <= ) (* | (P.Real_lteq, _) => optimize2 realOf realOf boolToExp ( op <= ) | (P.Float_lteq, _) => optimize2 floatOf floatOf boolToExp ( op <= ) *) | (P.Byte_lteq, _) => optimize2 byteOf byteOf boolToExp ( op <= ) | (P.Char_lteq, _) => optimize2 charOf charOf boolToExp ( op <= ) (* | (P.String_lteq, _) => optimize2 stringOf stringOf boolToExp ( op <= ) *) | (P.Int_gteq, _) => optimize2 intOf intOf boolToExp ( op >= ) | (P.Word_gteq, _) => optimize2 wordOf wordOf boolToExp ( op >= ) (* | (P.Real_gteq, _) => optimize2 realOf realOf boolToExp ( op >= ) | (P.Float_gteq, _) => optimize2 floatOf floatOf boolToExp ( op >= ) *) | (P.Byte_gteq, _) => optimize2 byteOf byteOf boolToExp ( op >= ) | (P.Char_gteq, _) => optimize2 charOf charOf boolToExp ( op >= ) (* | (P.String_gteq, _) => optimize2 stringOf stringOf boolToExp ( op >= ) *) | (P.Word_toIntX, _) => optimize1 wordOf intToExp (Int32.fromLarge o Word32.toLargeIntX) | (P.Word_fromInt, _) => optimize1 intOf wordToExp (Word32.fromLargeInt o Int32.toLarge) | (P.Word_andb,[arg1 as AN.ANWORD 0w0,arg2]) => arg1 | (P.Word_andb,[arg1,arg2 as AN.ANWORD 0w0]) => arg2 | (P.Word_andb, _) => optimize2 wordOf wordOf wordToExp ( Word32.andb ) | (P.Word_orb,[arg1 as AN.ANWORD 0w0,arg2]) => arg2 | (P.Word_orb,[arg1,arg2 as AN.ANWORD 0w0]) => arg1 | (P.Word_orb, _) => optimize2 wordOf wordOf wordToExp ( Word32.orb ) | (P.Word_xorb, _) => optimize2 wordOf wordOf wordToExp ( Word32.xorb ) | (P.Word_notb, _) => optimize1 wordOf wordToExp ( Word32.notb ) | (P.Word_lshift,[arg1 as AN.ANWORD 0w0,arg2]) => arg1 | (P.Word_lshift,[arg1,arg2 as AN.ANWORD 0w0]) => arg1 | (P.Word_lshift, _) => optimize2 wordOf genericWordOf wordToExp ( Word32.<< ) | (P.Word_rshift,[arg1 as AN.ANWORD 0w0,arg2]) => arg1 | (P.Word_rshift,[arg1,arg2 as AN.ANWORD 0w0]) => arg1 | (P.Word_rshift, _) => optimize2 wordOf genericWordOf wordToExp ( Word32.>> ) | (P.Word_arshift,[arg1 as AN.ANWORD 0w0,arg2]) => arg1 | (P.Word_arshift,[arg1,arg2 as AN.ANWORD 0w0]) => arg1 | (P.Word_arshift, _) => optimize2 wordOf genericWordOf wordToExp ( Word32.~>> ) (* | (P.RuntimePrim "Int_toString", _) => optimize1 intOf stringToExp (Int32.toString) | (P.RuntimePrim "Word_toString", _) => optimize1 wordOf stringToExp (Word32.toString) | (P.Real_fromInt, _) => optimize1 intOf realToExp (Real.fromLargeInt o Int32.toLarge) | (P.RuntimePrim "Real_toString", _) => optimize1 realOf stringToExp (Real.toString) | (P.Real_floor _, _) => optimize1 realOf genericIntToExp (Real.floor) | (P.Real_ceil _, _) => optimize1 realOf genericIntToExp (Real.ceil) | (P.Real_trunc _, _) => optimize1 realOf genericIntToExp (Real.trunc) | (P.Real_round _, _) => optimize1 realOf genericIntToExp (Real.round) | (P.Float_fromInt, _) => optimize1 intOf floatToExp (Float.fromLargeInt o Int32.toLarge) | (P.RuntimePrim "Float_toString", _) => optimize1 floatOf stringToExp (Float.toString) | (P.Float_floor _, _) => optimize1 floatOf genericIntToExp (Float.floor) | (P.Float_ceil _, _) => optimize1 floatOf genericIntToExp (Float.ceil) | (P.Float_trunc _, _) => optimize1 floatOf genericIntToExp (Float.trunc) | (P.Float_round _, _) => optimize1 floatOf genericIntToExp (Float.round) | (P.RuntimePrim "Char_toString", _) => optimize1 charOf stringToExp (Char.toString) *) | (P.Char_ord, _) => optimize1 charOf genericIntToExp (Char.ord) | (P.Char_chr_unsafe, _) => optimize1 genericIntOf charToExp (Char.chr) (* | (P.RuntimePrim "String_concat2", _) => optimize2 stringOf stringOf stringToExp ( op ^ ) | (P.String_sub, _) => optimize2 stringOf genericIntOf charToExp ( String.sub ) | (P.String_size, _) => optimize1 stringOf genericIntToExp ( String.size ) | (P.RuntimePrim "String_substring", _) => optimize3 stringOf genericIntOf genericIntOf stringToExp ( String.substring ) | (P.RuntimePrim "Math_sqrt", _) => optimize1 realOf realToExp ( Math.sqrt ) | (P.RuntimePrim "Math_sin", _) => optimize1 realOf realToExp ( Math.sin ) | (P.RuntimePrim "Math_cos", _) => optimize1 realOf realToExp ( Math.cos ) | (P.RuntimePrim "Math_tan", _) => optimize1 realOf realToExp ( Math.tan ) | (P.RuntimePrim "Math_asin", _) => optimize1 realOf realToExp ( Math.asin ) | (P.RuntimePrim "Math_acos", _) => optimize1 realOf realToExp ( Math.acos ) | (P.RuntimePrim "Math_atan", _) => optimize1 realOf realToExp ( Math.atan ) | (P.RuntimePrim "Math_atan2", _) => optimize2 realOf realOf realToExp ( Math.atan2 ) | (P.RuntimePrim "Math_exp", _) => optimize1 realOf realToExp ( Math.exp ) | (P.RuntimePrim "Math_pow", _) => optimize2 realOf realOf realToExp ( Math.pow ) | (P.RuntimePrim "Math_ln", _) => optimize1 realOf realToExp ( Math.ln ) | (P.RuntimePrim "Math_log10", _) => optimize1 realOf realToExp ( Math.log10 ) | (P.RuntimePrim "Math_sinh", _) => optimize1 realOf realToExp ( Math.sinh ) | (P.RuntimePrim "Math_cosh", _) => optimize1 realOf realToExp ( Math.cosh ) | (P.RuntimePrim "Math_tanh", _) => optimize1 realOf realToExp ( Math.tanh ) *) | _ => raise NoOptimize ) handle _ => NONE in case anvalue of SOME value => AN.ANVALUE value | NONE => AN.ANPRIMAPPLY args end fun optimizeSWITCH (exp as AN.ANSWITCH {value, valueTy, default, branches, loc}) = let val const = case value of AN.ANINT x => SOME (CT.INT x) | AN.ANWORD x => SOME (CT.WORD x) | AN.ANBYTE x => SOME (CT.BYTE x) | AN.ANCHAR x => SOME (CT.CHAR x) | AN.ANUNIT => SOME (CT.UNIT) | _ => NONE in case const of SOME switchValue => let fun optimizeBranches [] = default | optimizeBranches ({constant=AN.ANCONST const,branch}::rest) = ( case CT.compare(switchValue, const) of EQUAL => branch | _ => optimizeBranches rest ) | optimizeBranches (h::t) = raise Control.Bug "optimizeSWITCH" in optimizeBranches branches end | NONE => [exp] end | optimizeSWITCH _ = raise Control.Bug "invalid switch" (*********************************************************************) type context = { entryFunctions: AN.funDecl ID.Map.map } fun addDef varList anexp env = foldl (fn ({id, ...}:AN.varInfo, env) => case ID.Map.find (env, id) of SOME l => ID.Map.insert (env, id, anexp::l) | NONE => ID.Map.insert (env, id, [anexp])) env varList fun getDefs env anvalue = case anvalue of AN.ANVAR varInfo => (case ID.Map.find (env, #id varInfo) of NONE => [AN.ANVALUE anvalue] (* no definition *) | SOME l => foldl (fn (AN.ANVALUE value, z) => getDefs env value @ z | (exp, z) => exp :: z) nil l) | _ => [AN.ANVALUE anvalue] fun valueEq (AN.ANINT c1, AN.ANINT c2) = c1 = c2 | valueEq (AN.ANWORD c1, AN.ANWORD c2) = c1 = c2 | valueEq (AN.ANBYTE c1, AN.ANBYTE c2) = c1 = c2 | valueEq (AN.ANCHAR c1, AN.ANCHAR c2) = c1 = c2 | valueEq (AN.ANUNIT, AN.ANUNIT) = true | valueEq (AN.ANVAR v1, AN.ANVAR v2) = ID.eq (#id v1, #id v2) | valueEq (AN.ANLABEL l1, AN.ANLABEL l2) = ID.eq (l1, l2) | valueEq (AN.ANTOPSYMBOL {name=name1,...}, AN.ANTOPSYMBOL {name=name2,...}) = name1 = name2 | valueEq _ = false fun closureEq (AN.ANCLOSURE {funLabel = funLabel1, env = env1}, AN.ANCLOSURE {funLabel = funLabel2, env = env2}) = valueEq (funLabel1, funLabel2) andalso valueEq (env1, env2) | closureEq (AN.ANRECCLOSURE {funLabel = funLabel1}, AN.ANRECCLOSURE {funLabel = funLabel2}) = valueEq (funLabel1, funLabel2) | closureEq _ = false fun substVar subst (varInfo as {id, ...}:AN.varInfo) = case ID.Map.find (subst, id) of SOME v => v | NONE => varInfo fun propValue env subst anvalue = case getDefs env anvalue of (AN.ANVALUE v1)::t => if List.all (fn AN.ANVALUE v2 => valueEq (v1, v2) | _ => false) t then v1 else anvalue | _ => anvalue fun optimizeAPPLY env (args as {closure, argList, argTyList, resultTyList}) = case getDefs env closure of h::t => if List.all (fn x => closureEq (h, x)) t then case h of AN.ANCLOSURE {funLabel, env} => AN.ANCALL {funLabel = funLabel, env = env, argList = argList, argTyList = argTyList, resultTyList = resultTyList} | AN.ANRECCLOSURE {funLabel} => AN.ANRECCALL {funLabel = funLabel, argList = argList, argTyList = argTyList, resultTyList = resultTyList} | _ => AN.ANAPPLY args else AN.ANAPPLY args | nil => AN.ANAPPLY args fun optimizeTAILRECCALL ({entryFunctions, ...}:context) (args as {funLabel, argList, argTyList, resultTyList, loc}) = case funLabel of AN.ANLABEL funLabel => (case ID.Map.find (entryFunctions, funLabel) of SOME _ => AN.ANTAILLOCALCALL {codeLabel = AN.ANLOCALCODE funLabel, argList = argList, argTyList = argTyList, resultTyList = resultTyList, loc = loc, knownDestinations = ref nil} | NONE => AN.ANTAILRECCALL args) | _ => AN.ANTAILRECCALL args fun optimizeTAILAPPLY context env (args as {closure, argList, argTyList, resultTyList, loc}) = case getDefs env closure of h::t => if List.all (fn x => closureEq (h, x)) t then case h of AN.ANCLOSURE {funLabel, env} => AN.ANTAILCALL {funLabel = funLabel, env = env, argList = argList, argTyList = argTyList, resultTyList = resultTyList, loc = loc} | AN.ANRECCLOSURE {funLabel} => optimizeTAILRECCALL context {funLabel = funLabel, argList = argList, argTyList = argTyList, resultTyList = resultTyList, loc = loc} | _ => AN.ANTAILAPPLY args else AN.ANTAILAPPLY args | nil => AN.ANTAILAPPLY args fun optimizeExp env subst anexp = case anexp of AN.ANCONST _ => anexp | AN.ANFOREIGNAPPLY {function, argList, argTyList, resultTyList, attributes} => AN.ANFOREIGNAPPLY {function = propValue env subst function, argList = map (propValue env subst) argList, argTyList = argTyList, resultTyList = resultTyList, attributes = attributes} | AN.ANCALLBACKCLOSURE {funLabel, env=closEnv, argTyList, resultTyList, attributes} => AN.ANCALLBACKCLOSURE {funLabel = propValue env subst funLabel, env = propValue env subst closEnv, argTyList = argTyList, resultTyList = resultTyList, attributes = attributes} | AN.ANENVACC {nestLevel, offset, size, ty} => AN.ANENVACC {nestLevel = nestLevel, offset = offset, size = propValue env subst size, ty = ty} | AN.ANGETFIELD {array, offset, size, ty, needBoundaryCheck} => AN.ANGETFIELD {array = propValue env subst array, offset = propValue env subst offset, size = propValue env subst size, needBoundaryCheck = needBoundaryCheck, ty = ty} | AN.ANARRAY {bitmap, totalSize, initialValue, elementTy, elementSize, isMutable} => AN.ANARRAY {bitmap = propValue env subst bitmap, totalSize = propValue env subst totalSize, initialValue = Option.map (propValue env subst) initialValue, elementTy = elementTy, elementSize = propValue env subst elementSize, isMutable = isMutable} | AN.ANPRIMAPPLY {prim, argList, argTyList, resultTyList, instSizeList, instTagList} => optimizePRIMAPPLY {prim = prim, argList = map (propValue env subst) argList, argTyList = argTyList, resultTyList = resultTyList, instSizeList = map (propValue env subst) instSizeList, instTagList = map (propValue env subst) instTagList} | AN.ANAPPLY {closure, argList, argTyList, resultTyList} => optimizeAPPLY env {closure = propValue env subst closure, argList = map (propValue env subst) argList, argTyList = argTyList, resultTyList = resultTyList} | AN.ANCALL {funLabel, env=closEnv, argList, argTyList, resultTyList} => AN.ANCALL {funLabel = propValue env subst funLabel, env = propValue env subst closEnv, argList = map (propValue env subst) argList, argTyList = argTyList, resultTyList = resultTyList} | AN.ANRECCALL {funLabel, argList, argTyList, resultTyList} => AN.ANRECCALL {funLabel = propValue env subst funLabel, argList = map (propValue env subst) argList, argTyList = argTyList, resultTyList = resultTyList} | AN.ANLOCALCALL {codeLabel, argList, argTyList, resultTyList, returnLabel, knownDestinations} => AN.ANLOCALCALL {codeLabel = codeLabel, argList = map (propValue env subst) argList, argTyList = argTyList, resultTyList = resultTyList, returnLabel = returnLabel, knownDestinations = knownDestinations} | AN.ANRECORD {bitmaps, totalSize, fieldList, fieldSizeList, fieldIndexList, fieldTyList, isMutable, clearPad} => AN.ANRECORD {bitmaps = map (propValue env subst) bitmaps, totalSize = propValue env subst totalSize, fieldList = map (propValue env subst) fieldList, fieldSizeList = map (propValue env subst) fieldSizeList, fieldIndexList = map (propValue env subst) fieldIndexList, fieldTyList = fieldTyList, isMutable = isMutable, clearPad = clearPad} | AN.ANSELECT {record, nestLevel, offset, size, ty} => AN.ANSELECT {record = propValue env subst record, nestLevel = propValue env subst nestLevel, offset = propValue env subst offset, size = propValue env subst size, ty = ty} | AN.ANCLOSURE {funLabel, env = closEnv} => AN.ANCLOSURE {funLabel = propValue env subst funLabel, env = propValue env subst closEnv} | AN.ANRECCLOSURE {funLabel} => anexp | AN.ANMODIFY {record, nestLevel, offset, value, valueTy, valueTag, valueSize} => AN.ANMODIFY {record = propValue env subst record, nestLevel = propValue env subst nestLevel, offset = propValue env subst offset, value = propValue env subst value, valueTy = valueTy, valueSize = propValue env subst valueSize, valueTag = propValue env subst valueTag} (* optimization for these exps should be done at optimizeDecl *) | AN.ANVALUE anvalue => raise Control.Bug "optimizeExp: ANVALUE" fun optimizeDecl context env subst andecl = case andecl of AN.ANSETFIELD {array, offset, value, valueTy, valueSize, valueTag, setGlobal, needBoundaryCheck, loc} => ([AN.ANSETFIELD {array = propValue env subst array, offset = propValue env subst offset, value = propValue env subst value, valueTy = valueTy, valueSize = propValue env subst valueSize, valueTag = propValue env subst valueTag, setGlobal = setGlobal, needBoundaryCheck = needBoundaryCheck, loc = loc}], env, subst) | AN.ANSETTAIL {record, nestLevel, offset, value, valueTy, valueSize, valueTag, loc} => ([AN.ANSETTAIL {record = propValue env subst record, nestLevel = propValue env subst nestLevel, offset = propValue env subst offset, value = propValue env subst value, valueTy = valueTy, valueSize = propValue env subst valueSize, valueTag = propValue env subst valueTag, loc = loc}], env, subst) | AN.ANCOPYARRAY {src, srcOffset, dst, dstOffset, length, elementTy, elementSize, elementTag, loc} => ([AN.ANCOPYARRAY {src = propValue env subst src, srcOffset = propValue env subst srcOffset, dst = propValue env subst dst, dstOffset = propValue env subst dstOffset, length = propValue env subst length, elementTy = elementTy, elementSize = propValue env subst elementSize, elementTag = propValue env subst elementTag, loc = loc}], env, subst) | AN.ANTAILAPPLY {closure, argList, argTyList, resultTyList, loc} => ([optimizeTAILAPPLY context env {closure = propValue env subst closure, argList = map (propValue env subst) argList, argTyList = argTyList, resultTyList = resultTyList, loc = loc}], env, subst) | AN.ANTAILCALL {funLabel, env = closEnv, argList, argTyList, resultTyList, loc} => ([AN.ANTAILCALL {funLabel = propValue env subst funLabel, env = propValue env subst closEnv, argList = map (propValue env subst) argList, argTyList = argTyList, resultTyList = resultTyList, loc = loc}], env, subst) | AN.ANTAILRECCALL {funLabel, argList, argTyList, resultTyList, loc} => ([optimizeTAILRECCALL context {funLabel = propValue env subst funLabel, argList = map (propValue env subst) argList, argTyList = argTyList, resultTyList = resultTyList, loc = loc}], env, subst) | AN.ANTAILLOCALCALL {codeLabel, argList, argTyList, resultTyList, loc, knownDestinations} => ([AN.ANTAILLOCALCALL {codeLabel = codeLabel, argList = map (propValue env subst) argList, argTyList = argTyList, resultTyList = resultTyList, knownDestinations = knownDestinations, loc = loc}], env, subst) | AN.ANRETURN {valueList, tyList, loc} => ([AN.ANRETURN {valueList = map (propValue env subst) valueList, tyList = tyList, loc = loc}], env, subst) | AN.ANLOCALRETURN {valueList, tyList, loc, knownDestinations} => ([AN.ANLOCALRETURN {valueList = map (propValue env subst) valueList, tyList = tyList, loc = loc, knownDestinations = knownDestinations}], env, subst) | AN.ANVAL {varList = [dst], exp = AN.ANVALUE value, loc} => let val subst = case value of AN.ANVAR varInfo => (case ID.Map.find (subst, #id varInfo) of SOME x => ID.Map.insert (subst, #id dst, x) | NONE => subst) | _ => subst val anexp = AN.ANVALUE (propValue env subst value) val dst = substVar subst dst val env = addDef [dst] anexp env in ([AN.ANVAL {varList = [dst], exp = anexp, loc = loc}], env, subst) end | AN.ANVAL {varList, exp, loc} => let val varList = map (substVar subst) varList val anexp = optimizeExp env subst exp val env = addDef varList anexp env in ([AN.ANVAL {varList = map (substVar subst) varList, exp = anexp, loc = loc}], env, subst) end | AN.ANVALCODE {codeList, loc} => let val codeList = map (optimizeCodeDecl context env subst) codeList in ([AN.ANVALCODE {codeList = codeList, loc = loc}], env, subst) end | AN.ANMERGE {label, varList, loc} => ([AN.ANMERGE {label = label, varList = map (substVar subst) varList, loc = loc}], env, subst) | AN.ANMERGEPOINT {label, varList, leaveHandler, loc} => ([AN.ANMERGEPOINT {label = label, varList = map (substVar subst) varList, leaveHandler = leaveHandler, loc = loc}], env, subst) | AN.ANRAISE {value, loc} => ([AN.ANRAISE {value = propValue env subst value, loc = loc}], env, subst) | AN.ANHANDLE {try, exnVar, handler, labels, loc} => let val (try, env, subst) = optimizeDeclList context env subst try val (handler, env, subst) = optimizeDeclList context env subst handler in ([AN.ANHANDLE {try = try, exnVar = exnVar, handler = handler, labels = labels, loc = loc}], env, subst) end | AN.ANSWITCH {value, valueTy, branches, default, loc} => let val value = propValue env subst value val (branches, env, subst) = foldr (fn ({branch, constant}, (branches, env, subst)) => let val (branch, env, subst) = optimizeDeclList context env subst branch in ({constant = constant, branch = branch} :: branches, env, subst) end) (nil, env, subst) branches val (default, env, subst) = optimizeDeclList context env subst default in (optimizeSWITCH (AN.ANSWITCH {value = value, valueTy = valueTy, branches = branches, default = default, loc = loc}), env, subst) end and optimizeDeclList context env subst (andecl::declList) = let val (decls1, env, subst) = optimizeDecl context env subst andecl val (decls2, env, subst) = optimizeDeclList context env subst declList in (decls1 @ decls2, env, subst) end | optimizeDeclList context env subst nil = (nil, env, subst) and optimizeCodeDecl context env subst ({codeId, argVarList, body, resultTyList, loc}:AN.codeDecl) = let (* code is in the current sopce *) val (body, _, _) = optimizeDeclList context env subst body in { codeId = codeId, argVarList = argVarList, body = body, resultTyList = resultTyList, loc =loc } : AN.codeDecl end fun optimizeFunDecl context ({codeId, argVarList, body, resultTyList, ffiAttributes, loc}:AN.funDecl) = let val (body, _, _) = optimizeDeclList context ID.Map.empty ID.Map.empty body in { codeId = codeId, argVarList = argVarList, body = body, resultTyList = resultTyList, ffiAttributes = ffiAttributes, loc =loc } : AN.funDecl end fun makeFunDeclMap funDeclList = foldl (fn (funDecl as {codeId, ...}:AN.funDecl, functions) => ID.Map.insert (functions, codeId, funDecl)) ID.Map.empty funDeclList fun optimizeCluster ({clusterId, frameInfo, entryFunctions, hasClosureEnv, loc}:AN.clusterDecl) = let val context = { entryFunctions = makeFunDeclMap entryFunctions } : context in { clusterId = clusterId, frameInfo = frameInfo, entryFunctions = map (optimizeFunDecl context) entryFunctions, hasClosureEnv = hasClosureEnv, loc = loc } : AN.clusterDecl end fun optimize topdecl = map (fn (AN.ANCLUSTER cluster) => AN.ANCLUSTER (optimizeCluster cluster) | x => x) topdecl end smlsharp-1.2.0/src/compiler/yaanormalization/main/StaticAllocation.smi0000644 000000000000000000000065312050661606026364 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../compiler-utils/env/main/SEnv.smi" _require "../../constantterm/main/ConstantTerm.ppg.smi" _require "../../control/main/Control.ppg.smi" _require "../../name/main/LocalID.smi" _require "../../systemdef/main/BasicTypes.smi" _require "../../yaanormal/main/ANormal.ppg.smi" structure StaticAllocation = struct val optimize : YAANormal.topdecl list -> YAANormal.topdecl list end smlsharp-1.2.0/src/compiler/yaanormalization/main/StaticAllocation.sml0000644 000000000000000000007073012050661606026372 0ustar00rootroot0000000 0000000 (** * an optimization that allocates static objects statically. * @copyright (c) 2010, Tohoku University. * @author UENO Katsuhiro *) structure StaticAllocation : sig val optimize : YAANormal.topdecl list -> YAANormal.topdecl list end = struct structure AN = YAANormal structure CT = ConstantTerm type topEnv = {locals: AN.topdecl VarID.Map.map, globals: AN.topdecl SEnv.map} val emptyTopEnv = {locals = VarID.Map.empty, globals = SEnv.empty} : topEnv fun singleton (AN.TOP_LOCAL id, decl) = {locals = VarID.Map.singleton (id, decl), globals = SEnv.empty} : topEnv | singleton (AN.TOP_GLOBAL sym, decl) = {locals = VarID.Map.empty, globals = SEnv.singleton (sym, decl)} : topEnv fun find ({locals, globals}:topEnv, topSymbol) = case topSymbol of AN.TOP_LOCAL id => VarID.Map.find (locals, id) | AN.TOP_GLOBAL sym => SEnv.find (globals, sym) fun extendTopEnv (env1:topEnv, env2:topEnv) = {locals = VarID.Map.unionWith #1 (#locals env1, #locals env2), globals = SEnv.unionWith #2 (#globals env1, #globals env2)} : topEnv fun listItems ({locals, globals}:topEnv) = VarID.Map.listItems locals @ SEnv.listItems globals type env = { topEnv: topEnv, varEnv: AN.anvalue option VarID.Map.map, isToplevel: bool, clusterId: AN.clusterId, count: int ref } fun extendVarEnv ({topEnv, varEnv, isToplevel, clusterId, count}:env) newVarEnv = {topEnv = topEnv, varEnv = VarID.Map.unionWith #2 (varEnv, newVarEnv), isToplevel = isToplevel, clusterId = clusterId, count = count} : env fun fmt3 n = StringCvt.padLeft #"0" 3 (Int.fmt StringCvt.DEC n) fun bindVars vars = foldl (fn ({id,...}:AN.varInfo, varEnv) => VarID.Map.insert (varEnv, id, NONE)) VarID.Map.empty vars fun optimizeValue varEnv anvalue = case anvalue of AN.ANINT _ => anvalue | AN.ANWORD _ => anvalue | AN.ANBYTE _ => anvalue | AN.ANCHAR _ => anvalue | AN.ANUNIT => anvalue | AN.ANVAR {id,...} => ( case VarID.Map.find (varEnv, id) of SOME (SOME value) => value | _ => anvalue ) | AN.ANLABEL _ => anvalue | AN.ANLOCALCODE _ => anvalue | AN.ANTOPSYMBOL _ => anvalue | AN.ANNULLPOINTER => anvalue | AN.ANNULLBOXED => anvalue fun isStatic value = case value of AN.ANINT _ => true | AN.ANWORD _ => true | AN.ANBYTE _ => true | AN.ANCHAR _ => true | AN.ANUNIT => true | AN.ANVAR _ => false | AN.ANLABEL _ => true | AN.ANLOCALCODE _ => false | AN.ANTOPSYMBOL _ => true | AN.ANNULLPOINTER => true | AN.ANNULLBOXED => true fun toUInt32 (AN.ANWORD n) = n | toUInt32 (AN.ANINT n) = if n < 0 then raise Overflow else BasicTypes.SInt32ToUInt32 n | toUInt32 _ = raise Control.Bug "toUInt32" fun toFunLabel (AN.ANLABEL id) = id | toFunLabel _ = raise Control.Bug "toFunLabel: ANLABEL expected" local fun allocTop topdeclFn = let val name = AN.TOP_LOCAL (VarID.generate ()) val topdecl = topdeclFn name in SOME (singleton (name, topdecl), AN.ANTOPSYMBOL {name = AN.TOP_EXPORT name, ty = AN.BOXED}) end in fun allocateConst const = case const of CT.INT n => SOME (emptyTopEnv, AN.ANINT n) | CT.LARGEINT n => NONE | CT.WORD n => SOME (emptyTopEnv, AN.ANWORD n) | CT.BYTE n => SOME (emptyTopEnv, AN.ANBYTE n) | CT.STRING s => allocTop (fn name => AN.ANTOPCONST {globalName = name, constant = const}) | CT.REAL _ => NONE | CT.FLOAT _ => NONE | CT.CHAR c => SOME (emptyTopEnv, AN.ANCHAR c) | CT.UNIT => SOME (emptyTopEnv, AN.ANUNIT) | CT.NULLPOINTER => SOME (emptyTopEnv, AN.ANNULLPOINTER) | CT.NULLBOXED => SOME (emptyTopEnv, AN.ANNULLBOXED) fun allocateStatic (env:env) exp = case exp of AN.ANCONST const => allocateConst const | AN.ANVALUE value => if isStatic value then SOME (emptyTopEnv, value) else NONE | AN.ANFOREIGNAPPLY _ => NONE | AN.ANCALLBACKCLOSURE _ => NONE | AN.ANENVACC _ => NONE | AN.ANGETFIELD _ => NONE | AN.ANARRAY {bitmap, totalSize, initialValue = NONE, elementTy, elementSize, isMutable} => NONE | AN.ANARRAY {bitmap, totalSize, initialValue = SOME initialValue, elementTy, elementSize, isMutable} => (* assume that the toplevel is executed only once and has no loop. *) if (not isMutable orelse #isToplevel env) andalso List.all isStatic [bitmap, totalSize, initialValue, elementSize] then let val totalSize = toUInt32 totalSize val elementSize = toUInt32 elementSize in if totalSize mod elementSize = 0w0 then let val numElems = totalSize div elementSize val values = List.tabulate (BasicTypes.UInt32ToInt numElems, fn _ => initialValue) in allocTop (fn name => AN.ANTOPARRAY {globalName = name, bitmap = toUInt32 bitmap, totalSize = totalSize, initialValues = values, elementTy = elementTy, elementSize = elementSize, isMutable = isMutable}) end else NONE end handle Overflow => NONE else NONE | AN.ANRECORD {bitmaps, totalSize, fieldList, fieldSizeList, fieldIndexList, fieldTyList, isMutable, clearPad} => if List.all isStatic (totalSize :: bitmaps @ fieldList @ fieldSizeList @ fieldIndexList) then let val totalSize = toUInt32 totalSize val fieldIndexList = map toUInt32 fieldIndexList fun difList (nil, z) = [z : BasicTypes.UInt32] | difList ([x], z) = [z - x] | difList (h1::h2::t, z) = (h2 - h1) :: difList (h2::t, z) val fieldSizeList = difList (fieldIndexList, totalSize) in allocTop (fn name => AN.ANTOPRECORD {globalName = name, bitmaps = map toUInt32 bitmaps, totalSize = totalSize, fieldList = fieldList, fieldTyList = fieldTyList, fieldSizeList = fieldSizeList, isMutable = isMutable}) end else NONE | AN.ANSELECT _ => NONE | AN.ANMODIFY _ => NONE | AN.ANPRIMAPPLY _ => NONE | AN.ANCLOSURE {funLabel, env=closEnv} => if isStatic funLabel andalso isStatic closEnv then allocTop (fn name => AN.ANTOPCLOSURE {globalName = name, funLabel = toFunLabel funLabel, closureEnv = closEnv}) else NONE | AN.ANRECCLOSURE _ => NONE | AN.ANAPPLY _ => NONE | AN.ANCALL _ => NONE | AN.ANRECCALL _ => NONE | AN.ANLOCALCALL _ => NONE end (* local *) fun optimizeExp varEnv exp = case exp of AN.ANCONST _ => exp | AN.ANVALUE value => AN.ANVALUE (optimizeValue varEnv value) | AN.ANFOREIGNAPPLY {function, argList, argTyList, resultTyList, attributes} => AN.ANFOREIGNAPPLY {function = optimizeValue varEnv function, argList = map (optimizeValue varEnv) argList, argTyList = argTyList, resultTyList = resultTyList, attributes = attributes} | AN.ANCALLBACKCLOSURE {funLabel, env, argTyList, resultTyList, attributes} => AN.ANCALLBACKCLOSURE {funLabel = optimizeValue varEnv funLabel, env = optimizeValue varEnv env, argTyList = argTyList, resultTyList = resultTyList, attributes = attributes} | AN.ANENVACC {nestLevel, offset, size, ty} => AN.ANENVACC {nestLevel = nestLevel, offset = offset, size = optimizeValue varEnv size, ty = ty} | AN.ANGETFIELD {array, offset, size, ty, needBoundaryCheck} => AN.ANGETFIELD {array = optimizeValue varEnv array, offset = optimizeValue varEnv offset, size = optimizeValue varEnv size, ty = ty, needBoundaryCheck = needBoundaryCheck} | AN.ANARRAY {bitmap, totalSize, initialValue, elementTy, elementSize, isMutable} => AN.ANARRAY {bitmap = optimizeValue varEnv bitmap, totalSize = optimizeValue varEnv totalSize, initialValue = Option.map (optimizeValue varEnv) initialValue, elementTy = elementTy, elementSize = optimizeValue varEnv elementSize, isMutable = isMutable} | AN.ANRECORD {bitmaps, totalSize, fieldList, fieldSizeList, fieldIndexList, fieldTyList, isMutable, clearPad} => AN.ANRECORD {bitmaps = map (optimizeValue varEnv) bitmaps, totalSize = optimizeValue varEnv totalSize, fieldList = map (optimizeValue varEnv) fieldList, fieldSizeList = map (optimizeValue varEnv) fieldSizeList, fieldIndexList = map (optimizeValue varEnv) fieldIndexList, fieldTyList = fieldTyList, isMutable = isMutable, clearPad = clearPad} | AN.ANSELECT {record, nestLevel, offset, size, ty} => AN.ANSELECT {record = optimizeValue varEnv record, nestLevel = optimizeValue varEnv nestLevel, offset = optimizeValue varEnv offset, size = optimizeValue varEnv size, ty = ty} | AN.ANMODIFY {record, nestLevel, offset, value, valueTy, valueSize, valueTag} => AN.ANMODIFY {record = optimizeValue varEnv record, nestLevel = optimizeValue varEnv nestLevel, offset = optimizeValue varEnv offset, value = optimizeValue varEnv value, valueTy = valueTy, valueSize = optimizeValue varEnv valueSize, valueTag = optimizeValue varEnv valueTag} | AN.ANPRIMAPPLY {prim, argList, argTyList, resultTyList, instSizeList, instTagList} => AN.ANPRIMAPPLY {prim = prim, argList = map (optimizeValue varEnv) argList, argTyList = argTyList, resultTyList = resultTyList, instSizeList = map (optimizeValue varEnv) instSizeList, instTagList = map (optimizeValue varEnv) instTagList} | AN.ANCLOSURE {funLabel, env} => AN.ANCLOSURE {funLabel = optimizeValue varEnv funLabel, env = optimizeValue varEnv env} | AN.ANRECCLOSURE {funLabel} => AN.ANRECCLOSURE {funLabel = optimizeValue varEnv funLabel} | AN.ANAPPLY {closure, argList, argTyList, resultTyList} => AN.ANAPPLY {closure = optimizeValue varEnv closure, argList = map (optimizeValue varEnv) argList, argTyList = argTyList, resultTyList = resultTyList} | AN.ANCALL {funLabel, env, argList, argTyList, resultTyList} => AN.ANCALL {funLabel = optimizeValue varEnv funLabel, env = optimizeValue varEnv env, argList = map (optimizeValue varEnv) argList, argTyList = argTyList, resultTyList = resultTyList} | AN.ANRECCALL {funLabel, argList, argTyList, resultTyList} => AN.ANRECCALL {funLabel = optimizeValue varEnv funLabel, argList = map (optimizeValue varEnv) argList, argTyList = argTyList, resultTyList = resultTyList} | AN.ANLOCALCALL {codeLabel, argList, argTyList, resultTyList, returnLabel, knownDestinations} => AN.ANLOCALCALL {codeLabel = optimizeValue varEnv codeLabel, argList = map (optimizeValue varEnv) argList, argTyList = argTyList, resultTyList = resultTyList, returnLabel = returnLabel, knownDestinations = knownDestinations} fun optimizeDecl (env as {topEnv, varEnv, ...}:env) decl = case decl of AN.ANSETFIELD {array, offset, value, valueTy, valueSize, valueTag, setGlobal, needBoundaryCheck, loc} => let val array = optimizeValue varEnv array val offset = optimizeValue varEnv offset val value = optimizeValue varEnv value val valueSize = optimizeValue varEnv valueSize val valueTag = optimizeValue varEnv valueTag val decl = AN.ANSETFIELD {array = array, offset = offset, value = value, valueTy = valueTy, valueSize = valueSize, valueTag = valueTag, setGlobal = setGlobal, needBoundaryCheck = needBoundaryCheck, loc = loc} in case (array, offset, isStatic value, needBoundaryCheck) of (AN.ANTOPSYMBOL {name=AN.TOP_EXPORT name,...}, AN.ANWORD 0w0, true, false) => ( case find (topEnv, name) of SOME (AN.ANTOPVAR {globalName, initialValue, elementTy, elementSize}) => ( case initialValue of SOME _ => raise Control.Bug "optimizeDecl: ANSETFIELD" | NONE => (singleton (name, AN.ANTOPVAR {globalName = globalName, initialValue = SOME value, elementTy = elementTy, elementSize = elementSize}), VarID.Map.empty, nil) ) | _ => (emptyTopEnv, VarID.Map.empty, [decl]) ) | _ => (emptyTopEnv, VarID.Map.empty, [decl]) end | AN.ANSETTAIL {record, nestLevel, offset, value, valueTy, valueSize, valueTag, loc} => (emptyTopEnv, VarID.Map.empty, [AN.ANSETTAIL {record = optimizeValue varEnv record, nestLevel = optimizeValue varEnv nestLevel, offset = optimizeValue varEnv offset, value = optimizeValue varEnv value, valueTy = valueTy, valueSize = optimizeValue varEnv valueSize, valueTag = optimizeValue varEnv valueTag, loc = loc}]) | AN.ANCOPYARRAY {src, srcOffset, dst, dstOffset, length, elementTy, elementSize, elementTag, loc} => (emptyTopEnv, VarID.Map.empty, [AN.ANCOPYARRAY {src = optimizeValue varEnv src, srcOffset = optimizeValue varEnv srcOffset, dst = optimizeValue varEnv dst, dstOffset = optimizeValue varEnv dstOffset, length = optimizeValue varEnv length, elementTy = elementTy, elementSize = optimizeValue varEnv elementSize, elementTag = optimizeValue varEnv elementTag, loc = loc}]) | AN.ANTAILAPPLY {closure, argList, argTyList, resultTyList, loc} => (emptyTopEnv, VarID.Map.empty, [AN.ANTAILAPPLY {closure = optimizeValue varEnv closure, argList = map (optimizeValue varEnv) argList, argTyList = argTyList, resultTyList = resultTyList, loc = loc}]) | AN.ANTAILCALL {funLabel, env, argList, argTyList, resultTyList, loc} => (emptyTopEnv, VarID.Map.empty, [AN.ANTAILCALL {funLabel = optimizeValue varEnv funLabel, env = optimizeValue varEnv env, argList = map (optimizeValue varEnv) argList, argTyList = argTyList, resultTyList = resultTyList, loc = loc}]) | AN.ANTAILRECCALL {funLabel, argList, argTyList, resultTyList, loc} => (emptyTopEnv, VarID.Map.empty, [AN.ANTAILRECCALL {funLabel = optimizeValue varEnv funLabel, argList = map (optimizeValue varEnv) argList, argTyList = argTyList, resultTyList = resultTyList, loc = loc}]) | AN.ANTAILLOCALCALL {codeLabel, argList, argTyList, resultTyList, loc, knownDestinations} => (emptyTopEnv, VarID.Map.empty, [AN.ANTAILLOCALCALL {codeLabel = optimizeValue varEnv codeLabel, argList = map (optimizeValue varEnv) argList, argTyList = argTyList, resultTyList = resultTyList, loc = loc, knownDestinations = knownDestinations}]) | AN.ANRETURN {valueList, tyList, loc} => (emptyTopEnv, VarID.Map.empty, [AN.ANRETURN {valueList = map (optimizeValue varEnv) valueList, tyList = tyList, loc = loc}]) | AN.ANLOCALRETURN {valueList, tyList, loc, knownDestinations} => (emptyTopEnv, VarID.Map.empty, [AN.ANLOCALRETURN {valueList = map (optimizeValue varEnv) valueList, tyList = tyList, loc = loc, knownDestinations = knownDestinations}]) | AN.ANVAL {varList, exp, loc} => let val exp = optimizeExp varEnv exp in case (varList, allocateStatic env exp) of ([var], SOME (newTopEnv, value)) => (newTopEnv, VarID.Map.singleton (#id var, SOME value), nil) | _ => (emptyTopEnv, bindVars varList, [AN.ANVAL {varList = varList, exp = exp, loc = loc}]) end | AN.ANVALCODE {codeList, loc} => let val (topEnv, codeList) = optimizeCodeDeclList env codeList in (topEnv, VarID.Map.empty, [AN.ANVALCODE {codeList = codeList, loc = loc}]) end | AN.ANMERGE {label, varList, loc} => let val decls = List.mapPartial (fn var => case optimizeValue varEnv (AN.ANVAR var) of AN.ANVAR _ => NONE | value => SOME (AN.ANVAL {varList = [var], exp = AN.ANVALUE value, loc = loc})) varList in (emptyTopEnv, VarID.Map.empty, decls @ [decl]) end | AN.ANMERGEPOINT {label, varList, leaveHandler, loc} => (emptyTopEnv, bindVars varList, [AN.ANMERGEPOINT {label = label, varList = varList, leaveHandler = leaveHandler, loc = loc}]) | AN.ANRAISE {value, loc} => (emptyTopEnv, VarID.Map.empty, [AN.ANRAISE {value = optimizeValue varEnv value, loc = loc}]) | AN.ANHANDLE {try, exnVar, handler, labels, loc} => let val (topEnv1, try) = optimizeDeclList env try val newVarEnv = VarID.Map.singleton (#id exnVar, NONE) val handlerEnv = extendVarEnv env newVarEnv val (topEnv2, handler) = optimizeDeclList handlerEnv handler in (extendTopEnv (topEnv1, topEnv2), VarID.Map.empty, [AN.ANHANDLE {try = try, exnVar = exnVar, handler = handler, labels = labels, loc = loc}]) end | AN.ANSWITCH {value, valueTy, branches, default, loc} => let val value = optimizeValue varEnv value val (topEnv1, branches) = optimizeBranches env branches val (topEnv2, default) = optimizeDeclList env default in (extendTopEnv (topEnv1, topEnv2), VarID.Map.empty, [AN.ANSWITCH {value = value, valueTy = valueTy, branches = branches, default = default, loc = loc}]) end and optimizeBranches env nil = (emptyTopEnv, nil) | optimizeBranches env ({constant, branch}::branches) = let val constant = optimizeExp (#varEnv env) constant val (topEnv1, branch) = optimizeDeclList env branch val branch = {constant = constant, branch = branch} val (topEnv2, branches) = optimizeBranches env branches in (extendTopEnv (topEnv1, topEnv2), branch::branches) end and optimizeDeclList env nil = (emptyTopEnv, nil) | optimizeDeclList env (decl::decls) = let val (topEnv1, varEnv1, decls1) = optimizeDecl env decl val env = extendVarEnv env varEnv1 val (topEnv2, decls2) = optimizeDeclList env decls in (extendTopEnv (topEnv1, topEnv2), decls1 @ decls2) end and optimizeCodeDecl env ({codeId, argVarList, body, resultTyList, loc}:AN.codeDecl) = let val env = extendVarEnv env (bindVars argVarList) val (newTopEnv, body) = optimizeDeclList env body in (newTopEnv, { codeId = codeId, argVarList = argVarList, body = body, resultTyList = resultTyList, loc = loc } : AN.codeDecl) end and optimizeCodeDeclList env nil = (emptyTopEnv, nil) | optimizeCodeDeclList env (codedecl::codedecls) = let val (topEnv1, fundecl) = optimizeCodeDecl env codedecl val (topEnv2, fundecls) = optimizeCodeDeclList env codedecls in (extendTopEnv (topEnv1, topEnv2), codedecl :: codedecls) end and optimizeFunDecl env ({codeId, argVarList, body, resultTyList, ffiAttributes, loc}:AN.funDecl) = let val {topEnv, toplevelFunIds, clusterId, count} = env val env = {topEnv = topEnv, varEnv = bindVars argVarList, isToplevel = VarID.Set.member (toplevelFunIds, codeId), clusterId = clusterId, count = count} : env val (newTopEnv, body) = optimizeDeclList env body in (newTopEnv, { codeId = codeId, argVarList = argVarList, body = body, resultTyList = resultTyList, ffiAttributes = ffiAttributes, loc = loc } : AN.funDecl) end fun optimizeFunDeclList env nil = (emptyTopEnv, nil) | optimizeFunDeclList env (fundecl::fundecls) = let val (topEnv1, fundecl) = optimizeFunDecl env fundecl val (topEnv2, fundecls) = optimizeFunDeclList env fundecls in (extendTopEnv (topEnv1, topEnv2), fundecl :: fundecls) end fun optimizeCluster {topEnv, toplevelFunIds} ({clusterId, frameInfo, entryFunctions, hasClosureEnv, loc}:AN.clusterDecl) = let val env = {topEnv = topEnv, toplevelFunIds = toplevelFunIds, clusterId = clusterId, count = ref 0} val (newTopEnv, entryFunctions) = optimizeFunDeclList env entryFunctions in (newTopEnv, { clusterId = clusterId, frameInfo = frameInfo, entryFunctions = entryFunctions, hasClosureEnv = hasClosureEnv, loc = loc } : AN.clusterDecl) end fun optimizeTopdecl env topdecl = case topdecl of AN.ANCLUSTER cluster => let val (newTopEnv, newCluster) = optimizeCluster env cluster in (newTopEnv, AN.ANCLUSTER newCluster) end | AN.ANTOPCONST _ => (emptyTopEnv, topdecl) | AN.ANTOPRECORD _ => (emptyTopEnv, topdecl) | AN.ANTOPARRAY _ => (emptyTopEnv, topdecl) | AN.ANTOPVAR _ => (emptyTopEnv, topdecl) | AN.ANTOPCLOSURE _ => (emptyTopEnv, topdecl) | AN.ANTOPALIAS _ => (emptyTopEnv, topdecl) | AN.ANENTERTOPLEVEL id => (emptyTopEnv, topdecl) fun optimizeTopdeclList env nil = (emptyTopEnv, nil) | optimizeTopdeclList env (topdecl::topdecls) = let val (topEnv1, topdecl) = optimizeTopdecl env topdecl val {topEnv, toplevelFunIds} = env val topEnv = extendTopEnv (topEnv, topEnv1) val env2 = {topEnv = topEnv, toplevelFunIds = toplevelFunIds} val (topEnv2, topdecls) = optimizeTopdeclList env2 topdecls in (extendTopEnv (topEnv1, topEnv2), topdecl :: topdecls) end fun globalName topdecl = case topdecl of AN.ANCLUSTER cluster => NONE | AN.ANTOPCONST {globalName, ...} => SOME globalName | AN.ANTOPRECORD {globalName, ...} => SOME globalName | AN.ANTOPARRAY {globalName, ...} => SOME globalName | AN.ANTOPVAR {globalName, ...} => SOME globalName | AN.ANTOPCLOSURE {globalName, ...} => SOME globalName | AN.ANTOPALIAS {globalName, ...} => SOME globalName | AN.ANENTERTOPLEVEL id => NONE fun makeTopEnv topdecls = foldl (fn (topdecl, env) => case globalName topdecl of NONE => env | SOME name => extendTopEnv (env, singleton (name, topdecl))) emptyTopEnv topdecls fun replaceTopdecl topEnv topdecls = map (fn topdecl => case globalName topdecl of NONE => topdecl | SOME name => case find (topEnv, name) of NONE => topdecl | SOME topdecl => topdecl) topdecls fun optimize topdecls = let val topEnv = makeTopEnv topdecls val toplevelFunIds = VarID.Set.fromList (List.mapPartial (fn AN.ANENTERTOPLEVEL id => SOME id | _ => NONE) topdecls) val env = {topEnv = topEnv, toplevelFunIds = toplevelFunIds} val (newTopEnv, topdecls) = optimizeTopdeclList env topdecls val topdecls = replaceTopdecl newTopEnv topdecls val newTopdecls = listItems newTopEnv val newTopdecls = List.filter (fn topdecl => case globalName topdecl of NONE => true | SOME name => case find (topEnv, name) of NONE => true | SOME _ => false) newTopdecls (* val _ = case List.mapPartial (fn AN.ANENTERTOPLEVEL id => SOME id | _ => NONE) topdecls of [id] => (case List.mapPartial (fn AN.ANCLUSTER {entryFunctions, ...} => List.find (fn {codeId,...} => codeId = id) entryFunctions | _ => NONE) topdecls of [fundecl] => print (Control.prettyPrint (AN.format_funDecl fundecl) ^ "\n") | _ => ()) | _ => () *) in newTopdecls @ topdecls end end smlsharp-1.2.0/src/compiler-utils0000755 000000000000000000000000012050661606017163 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler-utils/env0000755 000000000000000000000000012050661606017753 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler-utils/env/main0000755 000000000000000000000000012050661606020677 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/compiler-utils/env/main/ENV.sig0000644 000000000000000000000374112050661606022117 0ustar00rootroot0000000 0000000 signature ENV = sig type key type 'a map val compare : key * key -> order val empty : 'a map val isEmpty : 'a map -> bool val singleton : (key * 'a) -> 'a map val insert : 'a map * key * 'a -> 'a map val insert' : ((key * 'a) * 'a map) -> 'a map val find : 'a map * key -> 'a option val lookup : 'a map * key -> 'a val inDomain : ('a map * key) -> bool val remove : 'a map * key -> 'a map * 'a val first : 'a map -> 'a option val firsti : 'a map -> (key * 'a) option val numItems : 'a map -> int val listItems : 'a map -> 'a list val listItemsi : 'a map -> (key * 'a) list val listKeys : 'a map -> key list val collate : ('a * 'a -> order) -> ('a map * 'a map) -> order val unionWith : ('a * 'a -> 'a) -> ('a map * 'a map) -> 'a map val unionWithi : (key * 'a * 'a -> 'a) -> ('a map * 'a map) -> 'a map val intersectWith : ('a * 'b -> 'c) -> ('a map * 'b map) -> 'c map val intersectWithi : (key * 'a * 'b -> 'c) -> ('a map * 'b map) -> 'c map val mergeWith : ('a option * 'b option -> 'c option) -> ('a map * 'b map) -> 'c map val mergeWithi : (key * 'a option * 'b option -> 'c option) -> ('a map * 'b map) -> 'c map val app : ('a -> unit) -> 'a map -> unit val appi : ((key * 'a) -> unit) -> 'a map -> unit val map : ('a -> 'b) -> 'a map -> 'b map val mapi : (key * 'a -> 'b) -> 'a map -> 'b map val foldl : ('a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldli : (key * 'a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldr : ('a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldri : (key * 'a * 'b -> 'b) -> 'b -> 'a map -> 'b val filter : ('a -> bool) -> 'a map -> 'a map val filteri : (key * 'a -> bool) -> 'a map -> 'a map val mapPartial : ('a -> 'b option) -> 'a map -> 'b map val mapPartiali : (key * 'a -> 'b option) -> 'a map -> 'b map val insertWith : ('a -> unit) -> 'a map * key * 'a -> 'a map val fromList : (key * 'item) list -> 'item map end smlsharp-1.2.0/src/compiler-utils/env/main/IEnv.smi0000644 000000000000000000000406012050661606022331 0ustar00rootroot0000000 0000000 _require "../../../basis/main/Int.smi" _require "../../../basis/main/binary-op.smi" _require "../../../basis/main/List.smi" _require "../../../smlnj-lib/Util/lib-base.smi" _require "ENV.sig" structure IEnv = struct type 'a map (= boxed) type key = int val compare = Int.compare val empty : 'a map val isEmpty : 'a map -> bool val singleton : key * 'a -> 'a map val insert : 'a map * key * 'a -> 'a map val insert' : (key * 'a) * 'a map -> 'a map val find : 'a map * key -> 'a option val lookup : 'a map * key -> 'a val inDomain : 'a map * key -> bool val remove : 'a map * key -> 'a map * 'a val first : 'a map -> 'a option val firsti : 'a map -> (key * 'a) option val numItems : 'a map -> int val listItems : 'a map -> 'a list val listItemsi : 'a map -> (key * 'a) list val listKeys : 'a map -> key list val collate : ('a * 'a -> order) -> 'a map * 'a map -> order val unionWith : ('a * 'a -> 'a) -> 'a map * 'a map -> 'a map val unionWithi : (key * 'a * 'a -> 'a) -> 'a map * 'a map -> 'a map val intersectWith : ('a * 'b -> 'c) -> 'a map * 'b map -> 'c map val intersectWithi : (key * 'a * 'b -> 'c) -> 'a map * 'b map -> 'c map val mergeWith : ('a option * 'b option -> 'c option) -> 'a map * 'b map -> 'c map val mergeWithi : (key * 'a option * 'b option -> 'c option) -> 'a map * 'b map -> 'c map val app : ('a -> unit) -> 'a map -> unit val appi : (key * 'a -> unit) -> 'a map -> unit val map : ('a -> 'b) -> 'a map -> 'b map val mapi : (key * 'a -> 'b) -> 'a map -> 'b map val foldl : ('a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldli : (key * 'a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldr : ('a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldri : (key * 'a * 'b -> 'b) -> 'b -> 'a map -> 'b val filter : ('a -> bool) -> 'a map -> 'a map val filteri : (key * 'a -> bool) -> 'a map -> 'a map val mapPartial : ('a -> 'b option) -> 'a map -> 'b map val mapPartiali : (key * 'a -> 'b option) -> 'a map -> 'b map val fromList : (key * 'a) list -> 'a map val insertWith : ('a -> unit) -> 'a map * key * 'a -> 'a map end smlsharp-1.2.0/src/compiler-utils/env/main/IEnv.sml0000644 000000000000000000003340612050661606022342 0ustar00rootroot0000000 0000000 (* IEnv.sml * * COPYRIGHT (c) 1993 by AT&T Bell Laboratories. See COPYRIGHT file for details. * * This code was adapted from Stephen Adams' binary tree implementation * of applicative integer sets. * * Copyright 1992 Stephen Adams. * * This software may be used freely provided that: * 1. This copyright notice is attached to any copy, derived work, * or work including all or part of this software. * 2. Any derived work must contain a prominent notice stating that * it has been altered from the original. * * * Name(s): Stephen Adams. * Department, Institution: Electronics & Computer Science, * University of Southampton * Address: Electronics & Computer Science * University of Southampton * Southampton SO9 5NH * Great Britian * E-mail: sra@ecs.soton.ac.uk * * Comments: * * 1. The implementation is based on Binary search trees of Bounded * Balance, similar to Nievergelt & Reingold, SIAM J. Computing * 2(1), March 1973. The main advantage of these trees is that * they keep the size of the tree in the node, giving a constant * time size operation. * * 2. The bounded balance criterion is simpler than N&R's alpha. * Simply, one subtree must not have more than `weight' times as * many elements as the opposite subtree. Rebalancing is * guaranteed to reinstate the criterion for weight>2.23, but * the occasional incorrect behaviour for weight=2 is not * detrimental to performance. * *) structure IEnv : ENV = struct type key = int val compare = Int.compare (* ** val weight = 3 ** fun wt i = weight * i *) fun wt (i : int) = i + i + i datatype 'a map = E | T of { key : int, value : 'a, cnt : int, left : 'a map, right : 'a map } val empty = E fun isEmpty E = true | isEmpty _ = false fun numItems E = 0 | numItems (T{cnt,...}) = cnt (* return the first item in the map (or NONE if it is empty) *) fun first E = NONE | first (T{value, left=E, ...}) = SOME value | first (T{left, ...}) = first left (* return the first item in the map and its key (or NONE if it is empty) *) fun firsti E = NONE | firsti (T{key, value, left=E, ...}) = SOME(key, value) | firsti (T{left, ...}) = firsti left local fun N(k,v,E,E) = T{key=k,value=v,cnt=1,left=E,right=E} | N(k,v,E,r as T n) = T{key=k,value=v,cnt=1+(#cnt n),left=E,right=r} | N(k,v,l as T n,E) = T{key=k,value=v,cnt=1+(#cnt n),left=l,right=E} | N(k,v,l as T n,r as T n') = T{key=k,value=v,cnt=1+(#cnt n)+(#cnt n'),left=l,right=r} fun single_L (a,av,x,T{key=b,value=bv,left=y,right=z,...}) = N(b,bv,N(a,av,x,y),z) | single_L _ = raise Match fun single_R (b,bv,T{key=a,value=av,left=x,right=y,...},z) = N(a,av,x,N(b,bv,y,z)) | single_R _ = raise Match fun double_L (a,av,w,T{key=c,value=cv,left=T{key=b,value=bv,left=x,right=y,...},right=z,...}) = N(b,bv,N(a,av,w,x),N(c,cv,y,z)) | double_L _ = raise Match fun double_R (c,cv,T{key=a,value=av,left=w,right=T{key=b,value=bv,left=x,right=y,...},...},z) = N(b,bv,N(a,av,w,x),N(c,cv,y,z)) | double_R _ = raise Match fun T' (k,v,E,E) = T{key=k,value=v,cnt=1,left=E,right=E} | T' (k,v,E,r as T{right=E,left=E,...}) = T{key=k,value=v,cnt=2,left=E,right=r} | T' (k,v,l as T{right=E,left=E,...},E) = T{key=k,value=v,cnt=2,left=l,right=E} | T' (p as (_,_,E,T{left=T _,right=E,...})) = double_L p | T' (p as (_,_,T{left=E,right=T _,...},E)) = double_R p (* these cases almost never happen with small weight*) | T' (p as (_,_,E,T{left=T{cnt=ln,...},right=T{cnt=rn,...},...})) = if ln < rn then single_L p else double_L p | T' (p as (_,_,T{left=T{cnt=ln,...},right=T{cnt=rn,...},...},E)) = if ln > rn then single_R p else double_R p | T' (p as (_,_,E,T{left=E,...})) = single_L p | T' (p as (_,_,T{right=E,...},E)) = single_R p | T' (p as (k,v,l as T{cnt=ln,left=ll,right=lr,...}, r as T{cnt=rn,left=rl,right=rr,...})) = if rn >= wt ln then (*right is too big*) let val rln = numItems rl val rrn = numItems rr in if rln < rrn then single_L p else double_L p end else if ln >= wt rn then (*left is too big*) let val lln = numItems ll val lrn = numItems lr in if lrn < lln then single_R p else double_R p end else T{key=k,value=v,cnt=ln+rn+1,left=l,right=r} local fun min (T{left=E,key,value,...}) = (key,value) | min (T{left,...}) = min left | min _ = raise Match fun delmin (T{left=E,right,...}) = right | delmin (T{key,value,left,right,...}) = T'(key,value,delmin left,right) | delmin _ = raise Match in fun delete' (E,r) = r | delete' (l,E) = l | delete' (l,r) = let val (mink,minv) = min r in T'(mink,minv,l,delmin r) end end in fun mkDict () = E fun singleton (x,v) = T{key=x,value=v,cnt=1,left=E,right=E} fun insert (E,x,v) = T{key=x,value=v,cnt=1,left=E,right=E} | insert (T(set as {key,left,right,value,...}),x,v) = case compare (key,x) of GREATER => T'(key,value,insert(left,x,v),right) | LESS => T'(key,value,left,insert(right,x,v)) | _ => T{key=x,value=v,left=left,right=right,cnt= #cnt set} fun insert' ((k, x), m) = insert(m, k, x) (* Added the following function by Atsushi Ohori for optimization. *) fun 'a insertWith (f:'a -> unit) (E,x,v) = T{key=x,value=v,cnt=1,left=E,right=E} | insertWith f (T(set as {key,left,right,value,...}),x,v) = case compare (key,x) of GREATER => T'(key,value,insert(left,x,v),right) | LESS => T'(key,value,left,insert(right,x,v)) | _ => (f value; T{key=x,value=v,left=left,right=right,cnt= #cnt set}) (* The end of the addition. *) fun inDomain (set, x) = let fun mem E = false | mem (T(n as {key,left,right,...})) = (case compare (x,key) of GREATER => mem right | EQUAL => true | LESS => mem left (* end case *)) in mem set end fun find (set, x) = let fun mem E = NONE | mem (T(n as {key,left,right,...})) = (case compare (x,key) of GREATER => mem right | EQUAL => SOME(#value n) | LESS => mem left (* end case *)) in mem set end fun lookup (set, x) = let fun mem E = raise LibBase.NotFound | mem (T(n as {key,left,right,...})) = (case compare (x,key) of GREATER => mem right | EQUAL => #value n | LESS => mem left (* end case *)) in mem set end fun remove (E,x) = raise LibBase.NotFound | remove (set as T{key,left,right,value,...},x) = ( case compare (key,x) of GREATER => let val (left', v) = remove(left, x) in (T'(key, value, left', right), v) end | LESS => let val (right', v) = remove (right, x) in (T'(key, value, left, right'), v) end | _ => (delete'(left,right),value) (* end case *)) fun listItems d = let fun d2l (E, l) = l | d2l (T{key,value,left,right,...}, l) = d2l(left, value::(d2l(right,l))) in d2l (d,[]) end fun listItemsi d = let fun d2l (E, l) = l | d2l (T{key,value,left,right,...}, l) = d2l(left, (key,value)::(d2l(right,l))) in d2l (d,[]) end fun listKeys d = let fun d2l (E, l) = l | d2l (T{key,left,right,...}, l) = d2l(left, key::(d2l(right,l))) in d2l (d,[]) end local fun next ((t as T{right, ...})::rest) = (t, left(right, rest)) | next _ = (E, []) and left (E, rest) = rest | left (t as T{left=l, ...}, rest) = left(l, t::rest) in fun 'a collate (cmpRng:'a * 'a -> order) (s1, s2) = let fun cmp (t1, t2) = (case (next t1, next t2) of ((E, _), (E, _)) => EQUAL | ((E, _), _) => LESS | (_, (E, _)) => GREATER | ((T{key=x1, value=y1, ...}, r1), (T{key=x2, value=y2, ...}, r2)) => ( case compare(x1, x2) of EQUAL => (case cmpRng(y1, y2) of EQUAL => cmp (r1, r2) | order => order (* end case *)) | order => order (* end case *)) (* end case *)) in cmp (left(s1, []), left(s2, [])) end end (* local *) fun 'a appi (f:int*'a -> unit) d = let fun app' E = () | app' (T{key,value,left,right,...}) = ( app' left; f(key, value); app' right) in app' d end fun 'a app (f:'a -> unit) d = let fun app' E = () | app' (T{value,left,right,...}) = ( app' left; f value; app' right) in app' d end fun mapi f d = let fun map' E = E | map' (T{key,value,left,right,cnt}) = let val left' = map' left val value' = f(key, value) val right' = map' right in T{cnt=cnt, key=key, value=value', left = left', right = right'} end in map' d end fun map f d = mapi (fn (_, x) => f x) d fun foldli f init d = let fun fold (E, v) = v | fold (T{key,value,left,right,...}, v) = fold (right, f(key, value, fold(left, v))) in fold (d, init) end fun foldl f init d = foldli (fn (_, v, accum) => f (v, accum)) init d fun foldri f init d = let fun fold (E,v) = v | fold (T{key,value,left,right,...},v) = fold (left, f(key, value, fold(right, v))) in fold (d, init) end fun foldr f init d = foldri (fn (_, v, accum) => f (v, accum)) init d end (* local *) (* the following are generic implementations of the unionWith, intersectWith, * and mergeWith operetions. These should be specialized for the internal * representations at some point. *) fun unionWith f (m1, m2) = let fun ins f (key, x, m) = (case find(m, key) of NONE => insert(m, key, x) | (SOME x') => insert(m, key, f(x, x')) (* end case *)) in if (numItems m1 > numItems m2) then foldli (ins (fn (a, b) => f (b, a))) m1 m2 else foldli (ins f) m2 m1 end fun unionWithi f (m1, m2) = let fun ins f (key, x, m) = (case find(m, key) of NONE => insert(m, key, x) | (SOME x') => insert(m, key, f(key, x, x')) (* end case *)) in if (numItems m1 > numItems m2) then foldli (ins (fn (k, a, b) => f (k, b, a))) m1 m2 else foldli (ins f) m2 m1 end fun ('a,'b,'c) intersectWith (f:'a*'b -> 'c) (m1, m2) = let (* iterate over the elements of m1, checking for membership in m2 *) fun intersect f (m1, m2) = let fun ins (key, x, m) = (case find(m2, key) of NONE => m | (SOME x') => insert(m, key, f(x, x')) (* end case *)) in foldli ins empty m1 end in if (numItems m1 > numItems m2) then intersect f (m1, m2) else intersect (fn (a, b) => f(b, a)) (m2, m1) end fun ('a,'b,'c) intersectWithi (f:int * 'a * 'b -> 'c) (m1, m2) = let (* iterate over the elements of m1, checking for membership in m2 *) fun intersect f (m1, m2) = let fun ins (key, x, m) = (case find(m2, key) of NONE => m | (SOME x') => insert(m, key, f(key, x, x')) (* end case *)) in foldli ins empty m1 end in if (numItems m1 > numItems m2) then intersect f (m1, m2) else intersect (fn (k, a, b) => f(k, b, a)) (m2, m1) end fun mergeWith f (m1, m2) = let fun merge ([], [], m) = m | merge ((k1, x1)::r1, [], m) = mergef (k1, SOME x1, NONE, r1, [], m) | merge ([], (k2, x2)::r2, m) = mergef (k2, NONE, SOME x2, [], r2, m) | merge (m1 as ((k1, x1)::r1), m2 as ((k2, x2)::r2), m) = ( case compare (k1, k2) of LESS => mergef (k1, SOME x1, NONE, r1, m2, m) | EQUAL => mergef (k1, SOME x1, SOME x2, r1, r2, m) | GREATER => mergef (k2, NONE, SOME x2, m1, r2, m) (* end case *)) and mergef (k, x1, x2, r1, r2, m) = (case f (x1, x2) of NONE => merge (r1, r2, m) | SOME y => merge (r1, r2, insert(m, k, y)) (* end case *)) in merge (listItemsi m1, listItemsi m2, empty) end fun mergeWithi f (m1, m2) = let fun merge ([], [], m) = m | merge ((k1, x1)::r1, [], m) = mergef (k1, SOME x1, NONE, r1, [], m) | merge ([], (k2, x2)::r2, m) = mergef (k2, NONE, SOME x2, [], r2, m) | merge (m1 as ((k1, x1)::r1), m2 as ((k2, x2)::r2), m) = ( case compare (k1, k2) of LESS => mergef (k1, SOME x1, NONE, r1, m2, m) | EQUAL => mergef (k1, SOME x1, SOME x2, r1, r2, m) | GREATER => mergef (k2, NONE, SOME x2, m1, r2, m) (* end case *)) and mergef (k, x1, x2, r1, r2, m) = (case f (k, x1, x2) of NONE => merge (r1, r2, m) | SOME y => merge (r1, r2, insert(m, k, y)) (* end case *)) in merge (listItemsi m1, listItemsi m2, empty) end (* this is a generic implementation of filter. It should * be specialized to the data-structure at some point. *) fun filter predFn m = let fun f (key, item, m) = if predFn item then insert(m, key, item) else m in foldli f empty m end fun filteri predFn m = let fun f (key, item, m) = if predFn(key, item) then insert(m, key, item) else m in foldli f empty m end (* this is a generic implementation of mapPartial. It should * be specialized to the data-structure at some point. *) fun mapPartial f m = let fun g (key, item, m) = (case f item of NONE => m | (SOME item') => insert(m, key, item') (* end case *)) in foldli g empty m end fun mapPartiali f m = let fun g (key, item, m) = (case f(key, item) of NONE => m | (SOME item') => insert(m, key, item') (* end case *)) in foldli g empty m end fun fromList list = List.foldl (fn ((key, item), m) => insert (m, key, item)) empty list end (* functor BinaryMapFn *) smlsharp-1.2.0/src/compiler-utils/env/main/IOrd.smi0000644 000000000000000000000025012050661606022322 0ustar00rootroot0000000 0000000 _require "../../../basis/main/Int.smi" _require "../../../smlnj-lib/Util/ord-key-sig.sml" structure IOrd = struct type ord_key = int val compare = Int.compare end smlsharp-1.2.0/src/compiler-utils/env/main/IOrd.sml0000755 000000000000000000000034712050661606022337 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori * @version $Id: IOrd.sml,v 1.1 2007/09/07 14:19:47 kiyoshiy Exp $ *) structure IOrd : ORD_KEY = struct type ord_key = int val compare = Int.compare end smlsharp-1.2.0/src/compiler-utils/env/main/ISet.smi0000644 000000000000000000000242012050661606022332 0ustar00rootroot0000000 0000000 _require "../../../basis/main/Int.smi" _require "../../../basis/main/List.smi" _require "../../../smlnj-lib/Util/binary-set-fn.smi" _require "IOrd.smi" structure ISet = BinarySetFn(IOrd) (* structure ISet = struct structure Key = struct type ord_key = int val compare : ord_key * ord_key -> order end type item = Key.ord_key type set (= boxed) val empty : set val singleton : item -> set val fromList : item list -> set val add : set * item -> set val add' : item * set -> set val addList : set * item list -> set val delete : set * item -> set val member : set * item -> bool val isEmpty : set -> bool val equal : set * set -> bool val compare : set * set -> order val isSubset : set * set -> bool val numItems : set -> int val listItems : set -> item list val union : set * set -> set val intersection : set * set -> set val difference : set * set -> set val map : (item -> item) -> set -> set val app : (item -> unit) -> set -> unit val foldl : (item * 'a -> 'a) -> 'a -> set -> 'a val foldr : (item * 'a -> 'a) -> 'a -> set -> 'a val partition : (item -> bool) -> set -> set * set val filter : (item -> bool) -> set -> set val exists : (item -> bool) -> set -> bool val find : (item -> bool) -> set -> item option end *) smlsharp-1.2.0/src/compiler-utils/env/main/ISet.sml0000755 000000000000000000000026212050661606022342 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori * @version $Id: ISet.sml,v 1.2 2007/09/10 14:13:30 kiyoshiy Exp $ *) structure ISet = BinarySetFn(IOrd) smlsharp-1.2.0/src/compiler-utils/env/main/LabelEnv.smi0000644 000000000000000000000423112050661606023160 0ustar00rootroot0000000 0000000 _require "../../../smlnj-lib/Util/binary-map-fn.smi" _require "LabelOrd.smi" structure LabelEnv = BinaryMapFn(LabelOrd) (* structure LabelEnv = struct structure Key = struct type ord_key = string val compare : ord_key * ord_key -> order end type 'a map (= boxed) val empty : 'a map val isEmpty : 'a map -> bool val singleton : Key.ord_key * 'a -> 'a map val insert : 'a map * Key.ord_key * 'a -> 'a map val insert' : (Key.ord_key * 'a) * 'a map -> 'a map val find : 'a map * Key.ord_key -> 'a option val lookup : 'a map * Key.ord_key -> 'a val inDomain : 'a map * Key.ord_key -> bool val remove : 'a map * Key.ord_key -> 'a map * 'a val first : 'a map -> 'a option val firsti : 'a map -> (Key.ord_key * 'a) option val numItems : 'a map -> int val listItems : 'a map -> 'a list val listItemsi : 'a map -> (Key.ord_key * 'a) list val listKeys : 'a map -> Key.ord_key list val collate : ('a * 'a -> order) -> 'a map * 'a map -> order val unionWith : ('a * 'a -> 'a) -> 'a map * 'a map -> 'a map val unionWithi : (Key.ord_key * 'a * 'a -> 'a) -> 'a map * 'a map -> 'a map val intersectWith : ('a * 'b -> 'c) -> 'a map * 'b map -> 'c map val intersectWithi : (Key.ord_key * 'a * 'b -> 'c) -> 'a map * 'b map -> 'c map val mergeWith : ('a option * 'b option -> 'c option) -> 'a map * 'b map -> 'c map val mergeWithi : (Key.ord_key * 'a option * 'b option -> 'c option) -> 'a map * 'b map -> 'c map val app : ('a -> unit) -> 'a map -> unit val appi : (Key.ord_key * 'a -> unit) -> 'a map -> unit val map : ('a -> 'b) -> 'a map -> 'b map val mapi : (Key.ord_key * 'a -> 'b) -> 'a map -> 'b map val foldl : ('a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldli : (Key.ord_key * 'a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldr : ('a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldri : (Key.ord_key * 'a * 'b -> 'b) -> 'b -> 'a map -> 'b val filter : ('a -> bool) -> 'a map -> 'a map val filteri : (Key.ord_key * 'a -> bool) -> 'a map -> 'a map val mapPartial : ('a -> 'b option) -> 'a map -> 'b map val mapPartiali : (Key.ord_key * 'a -> 'b option) -> 'a map -> 'b map end *) smlsharp-1.2.0/src/compiler-utils/env/main/LabelEnv.sml0000644 000000000000000000000016712050661606023167 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori *) structure LabelEnv = BinaryMapFn(LabelOrd) smlsharp-1.2.0/src/compiler-utils/env/main/LabelOrd.smi0000644 000000000000000000000035112050661606023153 0ustar00rootroot0000000 0000000 _require "../../../basis/main/String.smi" _require "../../../basis/main/Int.smi" _require "../../../smlnj-lib/Util/ord-key-sig.sml" structure LabelOrd = struct type ord_key = string val compare : ord_key * ord_key -> order end smlsharp-1.2.0/src/compiler-utils/env/main/LabelOrd.sml0000644 000000000000000000000070312050661606023157 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori * @version $Id: SOrd.sml,v 1.1 2007/09/07 14:19:47 kiyoshiy Exp $ *) structure LabelOrd : ORD_KEY = struct type ord_key = string fun compare (x,y) = case (Int.fromString x, Int.fromString y) of (SOME i, SOME j) => (case Int.compare (i, j) of EQUAL => String.compare (x, y) | order => order) | _ => String.compare (x, y) end smlsharp-1.2.0/src/compiler-utils/env/main/PathEnv.smi0000644 000000000000000000000676412050661606023052 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlnj-lib/Util/ord-key-sig.sml" _require "../../../smlnj-lib/Util/binary-map-fn.smi" _require "../../../smlnj-lib/Util/binary-set-fn.smi" structure pathOrd = struct type ord_key = string list val compare : ord_key * ord_key -> order end structure PathEnv = BinaryMapFn(pathOrd) structure PathSet = BinarySetFn(pathOrd) (* structure PathEnv = struct structure Key = struct type ord_key = string list val compare : ord_key * ord_key -> order end type 'a map (= boxed) val empty : 'a map val isEmpty : 'a map -> bool val singleton : Key.ord_key * 'a -> 'a map val insert : 'a map * Key.ord_key * 'a -> 'a map val insert' : (Key.ord_key * 'a) * 'a map -> 'a map val find : 'a map * Key.ord_key -> 'a option val lookup : 'a map * Key.ord_key -> 'a val inDomain : 'a map * Key.ord_key -> bool val remove : 'a map * Key.ord_key -> 'a map * 'a val first : 'a map -> 'a option val firsti : 'a map -> (Key.ord_key * 'a) option val numItems : 'a map -> int val listItems : 'a map -> 'a list val listItemsi : 'a map -> (Key.ord_key * 'a) list val listKeys : 'a map -> Key.ord_key list val collate : ('a * 'a -> order) -> 'a map * 'a map -> order val unionWith : ('a * 'a -> 'a) -> 'a map * 'a map -> 'a map val unionWithi : (Key.ord_key * 'a * 'a -> 'a) -> 'a map * 'a map -> 'a map val intersectWith : ('a * 'b -> 'c) -> 'a map * 'b map -> 'c map val intersectWithi : (Key.ord_key * 'a * 'b -> 'c) -> 'a map * 'b map -> 'c map val mergeWith : ('a option * 'b option -> 'c option) -> 'a map * 'b map -> 'c map val mergeWithi : (Key.ord_key * 'a option * 'b option -> 'c option) -> 'a map * 'b map -> 'c map val app : ('a -> unit) -> 'a map -> unit val appi : (Key.ord_key * 'a -> unit) -> 'a map -> unit val map : ('a -> 'b) -> 'a map -> 'b map val mapi : (Key.ord_key * 'a -> 'b) -> 'a map -> 'b map val foldl : ('a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldli : (Key.ord_key * 'a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldr : ('a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldri : (Key.ord_key * 'a * 'b -> 'b) -> 'b -> 'a map -> 'b val filter : ('a -> bool) -> 'a map -> 'a map val filteri : (Key.ord_key * 'a -> bool) -> 'a map -> 'a map val mapPartial : ('a -> 'b option) -> 'a map -> 'b map val mapPartiali : (Key.ord_key * 'a -> 'b option) -> 'a map -> 'b map end structure PathSet = struct structure Key = struct type ord_key = string list val compare : ord_key * ord_key -> order end type item = Key.ord_key type set (= boxed) val empty : set val singleton : item -> set val fromList : item list -> set val add : set * item -> set val add' : item * set -> set val addList : set * item list -> set val delete : set * item -> set val member : set * item -> bool val isEmpty : set -> bool val equal : set * set -> bool val compare : set * set -> order val isSubset : set * set -> bool val numItems : set -> int val listItems : set -> item list val union : set * set -> set val intersection : set * set -> set val difference : set * set -> set val map : (item -> item) -> set -> set val app : (item -> unit) -> set -> unit val foldl : (item * 'a -> 'a) -> 'a -> set -> 'a val foldr : (item * 'a -> 'a) -> 'a -> set -> 'a val partition : (item -> bool) -> set -> set * set val filter : (item -> bool) -> set -> set val exists : (item -> bool) -> set -> bool val find : (item -> bool) -> set -> item option end *) smlsharp-1.2.0/src/compiler-utils/env/main/PathEnv.sml0000644 000000000000000000000075412050661606023046 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori *) structure pathOrd : ORD_KEY = struct type ord_key = string list fun compare (path1,path2) = case (path1, path2) of (nil,nil) => EQUAL | (nil, _) => LESS | (_,nil) => GREATER | (h1::t1, h2::t2) => (case String.compare(h1,h2) of EQUAL => compare(t1,t2) | x => x) end structure PathEnv = BinaryMapFn(pathOrd) structure PathSet = BinarySetFn(pathOrd) smlsharp-1.2.0/src/compiler-utils/env/main/SEnv.smi0000644 000000000000000000000417312050661606022350 0ustar00rootroot0000000 0000000 _require "../../../basis/main/String.smi" _require "../../../basis/main/List.smi" _require "../../../basis/main/binary-op.smi" _require "../../../smlnj-lib/Util/lib-base.smi" _require "ENV.sig" structure SEnv = struct type 'a map (= boxed) type key = string val compare : key * key -> order val empty : 'a map val isEmpty : 'a map -> bool val singleton : key * 'a -> 'a map val insert : 'a map * key * 'a -> 'a map val insert' : (key * 'a) * 'a map -> 'a map val find : 'a map * key -> 'a option val lookup : 'a map * key -> 'a val inDomain : 'a map * key -> bool val remove : 'a map * key -> 'a map * 'a val first : 'a map -> 'a option val firsti : 'a map -> (key * 'a) option val numItems : 'a map -> int val listItems : 'a map -> 'a list val listItemsi : 'a map -> (key * 'a) list val listKeys : 'a map -> key list val collate : ('a * 'a -> order) -> 'a map * 'a map -> order val unionWith : ('a * 'a -> 'a) -> 'a map * 'a map -> 'a map val unionWithi : (key * 'a * 'a -> 'a) -> 'a map * 'a map -> 'a map val intersectWith : ('a * 'b -> 'c) -> 'a map * 'b map -> 'c map val intersectWithi : (key * 'a * 'b -> 'c) -> 'a map * 'b map -> 'c map val mergeWith : ('a option * 'b option -> 'c option) -> 'a map * 'b map -> 'c map val mergeWithi : (key * 'a option * 'b option -> 'c option) -> 'a map * 'b map -> 'c map val app : ('a -> unit) -> 'a map -> unit val appi : (key * 'a -> unit) -> 'a map -> unit val map : ('a -> 'b) -> 'a map -> 'b map val mapi : (key * 'a -> 'b) -> 'a map -> 'b map val foldl : ('a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldli : (key * 'a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldr : ('a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldri : (key * 'a * 'b -> 'b) -> 'b -> 'a map -> 'b val filter : ('a -> bool) -> 'a map -> 'a map val filteri : (key * 'a -> bool) -> 'a map -> 'a map val mapPartial : ('a -> 'b option) -> 'a map -> 'b map val mapPartiali : (key * 'a -> 'b option) -> 'a map -> 'b map val fromList : (key * 'a) list -> 'a map val insertWith : ('a -> unit) -> 'a map * key * 'a -> 'a map end smlsharp-1.2.0/src/compiler-utils/env/main/SEnv.sml0000644 000000000000000000003343612050661606022357 0ustar00rootroot0000000 0000000 (* binary-map-fn.sml * * COPYRIGHT (c) 1993 by AT&T Bell Laboratories. See COPYRIGHT file for details. * * This code was adapted from Stephen Adams' binary tree implementation * of applicative integer sets. * * Copyright 1992 Stephen Adams. * * This software may be used freely provided that: * 1. This copyright notice is attached to any copy, derived work, * or work including all or part of this software. * 2. Any derived work must contain a prominent notice stating that * it has been altered from the original. * * * Name(s): Stephen Adams. * Department, Institution: Electronics & Computer Science, * University of Southampton * Address: Electronics & Computer Science * University of Southampton * Southampton SO9 5NH * Great Britian * E-mail: sra@ecs.soton.ac.uk * * Comments: * * 1. The implementation is based on Binary search trees of Bounded * Balance, similar to Nievergelt & Reingold, SIAM J. Computing * 2(1), March 1973. The main advantage of these trees is that * they keep the size of the tree in the node, giving a constant * time size operation. * * 2. The bounded balance criterion is simpler than N&R's alpha. * Simply, one subtree must not have more than `weight' times as * many elements as the opposite subtree. Rebalancing is * guaranteed to reinstate the criterion for weight>2.23, but * the occasional incorrect behaviour for weight=2 is not * detrimental to performance. * *) structure SEnv : ENV = struct type key = string val compare = String.compare (* ** val weight = 3 ** fun wt i = weight * i *) fun wt (i : int) = i + i + i datatype 'a map = E | T of { key : key, value : 'a, cnt : int, left : 'a map, right : 'a map } val empty = E fun isEmpty E = true | isEmpty _ = false fun numItems E = 0 | numItems (T{cnt,...}) = cnt (* return the first item in the map (or NONE if it is empty) *) fun first E = NONE | first (T{value, left=E, ...}) = SOME value | first (T{left, ...}) = first left (* return the first item in the map and its key (or NONE if it is empty) *) fun firsti E = NONE | firsti (T{key, value, left=E, ...}) = SOME(key, value) | firsti (T{left, ...}) = firsti left local fun N(k,v,E,E) = T{key=k,value=v,cnt=1,left=E,right=E} | N(k,v,E,r as T n) = T{key=k,value=v,cnt=1+(#cnt n),left=E,right=r} | N(k,v,l as T n,E) = T{key=k,value=v,cnt=1+(#cnt n),left=l,right=E} | N(k,v,l as T n,r as T n') = T{key=k,value=v,cnt=1+(#cnt n)+(#cnt n'),left=l,right=r} fun single_L (a,av,x,T{key=b,value=bv,left=y,right=z,...}) = N(b,bv,N(a,av,x,y),z) | single_L _ = raise Match fun single_R (b,bv,T{key=a,value=av,left=x,right=y,...},z) = N(a,av,x,N(b,bv,y,z)) | single_R _ = raise Match fun double_L (a,av,w,T{key=c,value=cv,left=T{key=b,value=bv,left=x,right=y,...},right=z,...}) = N(b,bv,N(a,av,w,x),N(c,cv,y,z)) | double_L _ = raise Match fun double_R (c,cv,T{key=a,value=av,left=w,right=T{key=b,value=bv,left=x,right=y,...},...},z) = N(b,bv,N(a,av,w,x),N(c,cv,y,z)) | double_R _ = raise Match fun T' (k,v,E,E) = T{key=k,value=v,cnt=1,left=E,right=E} | T' (k,v,E,r as T{right=E,left=E,...}) = T{key=k,value=v,cnt=2,left=E,right=r} | T' (k,v,l as T{right=E,left=E,...},E) = T{key=k,value=v,cnt=2,left=l,right=E} | T' (p as (_,_,E,T{left=T _,right=E,...})) = double_L p | T' (p as (_,_,T{left=E,right=T _,...},E)) = double_R p (* these cases almost never happen with small weight*) | T' (p as (_,_,E,T{left=T{cnt=ln,...},right=T{cnt=rn,...},...})) = if ln < rn then single_L p else double_L p | T' (p as (_,_,T{left=T{cnt=ln,...},right=T{cnt=rn,...},...},E)) = if ln > rn then single_R p else double_R p | T' (p as (_,_,E,T{left=E,...})) = single_L p | T' (p as (_,_,T{right=E,...},E)) = single_R p | T' (p as (k,v,l as T{cnt=ln,left=ll,right=lr,...}, r as T{cnt=rn,left=rl,right=rr,...})) = if rn >= wt ln then (*right is too big*) let val rln = numItems rl val rrn = numItems rr in if rln < rrn then single_L p else double_L p end else if ln >= wt rn then (*left is too big*) let val lln = numItems ll val lrn = numItems lr in if lrn < lln then single_R p else double_R p end else T{key=k,value=v,cnt=ln+rn+1,left=l,right=r} local fun min (T{left=E,key,value,...}) = (key,value) | min (T{left,...}) = min left | min _ = raise Match fun delmin (T{left=E,right,...}) = right | delmin (T{key,value,left,right,...}) = T'(key,value,delmin left,right) | delmin _ = raise Match in fun delete' (E,r) = r | delete' (l,E) = l | delete' (l,r) = let val (mink,minv) = min r in T'(mink,minv,l,delmin r) end end in fun mkDict () = E fun singleton (x,v) = T{key=x,value=v,cnt=1,left=E,right=E} fun insert (E,x,v) = T{key=x,value=v,cnt=1,left=E,right=E} | insert (T(set as {key,left,right,value,...}),x,v) = case compare (key,x) of GREATER => T'(key,value,insert(left,x,v),right) | LESS => T'(key,value,left,insert(right,x,v)) | _ => T{key=x,value=v,left=left,right=right,cnt= #cnt set} fun insert' ((k, x), m) = insert(m, k, x) (* Added the following function by Atsushi Ohori for optimization. *) fun 'a insertWith (f:'a -> unit) (E,x,v) = T{key=x,value=v,cnt=1,left=E,right=E} | insertWith f (T(set as {key,left,right,value,...}),x,v) = case compare (key,x) of GREATER => T'(key,value,insert(left,x,v),right) | LESS => T'(key,value,left,insert(right,x,v)) | _ => (f value; T{key=x,value=v,left=left,right=right,cnt= #cnt set}) (* The end of the addition. *) fun inDomain (set, x) = let fun mem E = false | mem (T(n as {key,left,right,...})) = (case compare (x,key) of GREATER => mem right | EQUAL => true | LESS => mem left (* end case *)) in mem set end fun find (set, x) = let fun mem E = NONE | mem (T(n as {key,left,right,...})) = (case compare (x,key) of GREATER => mem right | EQUAL => SOME(#value n) | LESS => mem left (* end case *)) in mem set end fun lookup (set, x) = let fun mem E = raise LibBase.NotFound | mem (T(n as {key,left,right,...})) = (case compare (x,key) of GREATER => mem right | EQUAL => #value n | LESS => mem left (* end case *)) in mem set end fun remove (E,x) = raise LibBase.NotFound | remove (set as T{key,left,right,value,...},x) = ( case compare (key,x) of GREATER => let val (left', v) = remove(left, x) in (T'(key, value, left', right), v) end | LESS => let val (right', v) = remove (right, x) in (T'(key, value, left, right'), v) end | _ => (delete'(left,right),value) (* end case *)) fun listItems d = let fun d2l (E, l) = l | d2l (T{key,value,left,right,...}, l) = d2l(left, value::(d2l(right,l))) in d2l (d,[]) end fun listItemsi d = let fun d2l (E, l) = l | d2l (T{key,value,left,right,...}, l) = d2l(left, (key,value)::(d2l(right,l))) in d2l (d,[]) end fun listKeys d = let fun d2l (E, l) = l | d2l (T{key,left,right,...}, l) = d2l(left, key::(d2l(right,l))) in d2l (d,[]) end local fun next ((t as T{right, ...})::rest) = (t, left(right, rest)) | next _ = (E, []) and left (E, rest) = rest | left (t as T{left=l, ...}, rest) = left(l, t::rest) in fun 'a collate (cmpRng:'a * 'a -> order) (s1, s2) = let fun cmp (t1, t2) = (case (next t1, next t2) of ((E, _), (E, _)) => EQUAL | ((E, _), _) => LESS | (_, (E, _)) => GREATER | ((T{key=x1, value=y1, ...}, r1), (T{key=x2, value=y2, ...}, r2)) => ( case compare(x1, x2) of EQUAL => (case cmpRng(y1, y2) of EQUAL => cmp (r1, r2) | order => order (* end case *)) | order => order (* end case *)) (* end case *)) in cmp (left(s1, []), left(s2, [])) end end (* local *) fun 'a appi (f:string * 'a -> unit) d = let fun app' E = () | app' (T{key,value,left,right,...}) = ( app' left; f(key, value); app' right) in app' d end fun 'a app (f:'a -> unit) d = let fun app' E = () | app' (T{value,left,right,...}) = ( app' left; f value; app' right) in app' d end fun mapi f d = let fun map' E = E | map' (T{key,value,left,right,cnt}) = let val left' = map' left val value' = f(key, value) val right' = map' right in T{cnt=cnt, key=key, value=value', left = left', right = right'} end in map' d end fun map f d = mapi (fn (_, x) => f x) d fun foldli f init d = let fun fold (E, v) = v | fold (T{key,value,left,right,...}, v) = fold (right, f(key, value, fold(left, v))) in fold (d, init) end fun foldl f init d = foldli (fn (_, v, accum) => f (v, accum)) init d fun foldri f init d = let fun fold (E,v) = v | fold (T{key,value,left,right,...},v) = fold (left, f(key, value, fold(right, v))) in fold (d, init) end fun foldr f init d = foldri (fn (_, v, accum) => f (v, accum)) init d end (* local *) (* the following are generic implementations of the unionWith, intersectWith, * and mergeWith operetions. These should be specialized for the internal * representations at some point. *) fun unionWith f (m1, m2) = let fun ins f (key, x, m) = (case find(m, key) of NONE => insert(m, key, x) | (SOME x') => insert(m, key, f(x, x')) (* end case *)) in if (numItems m1 > numItems m2) then foldli (ins (fn (a, b) => f (b, a))) m1 m2 else foldli (ins f) m2 m1 end fun unionWithi f (m1, m2) = let fun ins f (key, x, m) = (case find(m, key) of NONE => insert(m, key, x) | (SOME x') => insert(m, key, f(key, x, x')) (* end case *)) in if (numItems m1 > numItems m2) then foldli (ins (fn (k, a, b) => f (k, b, a))) m1 m2 else foldli (ins f) m2 m1 end fun ('a, 'b, 'c) intersectWith (f:'a * 'b -> 'c) (m1, m2) = let (* iterate over the elements of m1, checking for membership in m2 *) fun intersect f (m1, m2) = let fun ins (key, x, m) = (case find(m2, key) of NONE => m | (SOME x') => insert(m, key, f(x, x')) (* end case *)) in foldli ins empty m1 end in if (numItems m1 > numItems m2) then intersect f (m1, m2) else intersect (fn (a, b) => f(b, a)) (m2, m1) end fun ('a, 'b, 'c) intersectWithi (f:string*'a*'b -> 'c) (m1, m2) = let (* iterate over the elements of m1, checking for membership in m2 *) fun intersect f (m1, m2) = let fun ins (key, x, m) = (case find(m2, key) of NONE => m | (SOME x') => insert(m, key, f(key, x, x')) (* end case *)) in foldli ins empty m1 end in if (numItems m1 > numItems m2) then intersect f (m1, m2) else intersect (fn (k, a, b) => f(k, b, a)) (m2, m1) end fun mergeWith f (m1, m2) = let fun merge ([], [], m) = m | merge ((k1, x1)::r1, [], m) = mergef (k1, SOME x1, NONE, r1, [], m) | merge ([], (k2, x2)::r2, m) = mergef (k2, NONE, SOME x2, [], r2, m) | merge (m1 as ((k1, x1)::r1), m2 as ((k2, x2)::r2), m) = ( case compare (k1, k2) of LESS => mergef (k1, SOME x1, NONE, r1, m2, m) | EQUAL => mergef (k1, SOME x1, SOME x2, r1, r2, m) | GREATER => mergef (k2, NONE, SOME x2, m1, r2, m) (* end case *)) and mergef (k, x1, x2, r1, r2, m) = (case f (x1, x2) of NONE => merge (r1, r2, m) | SOME y => merge (r1, r2, insert(m, k, y)) (* end case *)) in merge (listItemsi m1, listItemsi m2, empty) end fun mergeWithi f (m1, m2) = let fun merge ([], [], m) = m | merge ((k1, x1)::r1, [], m) = mergef (k1, SOME x1, NONE, r1, [], m) | merge ([], (k2, x2)::r2, m) = mergef (k2, NONE, SOME x2, [], r2, m) | merge (m1 as ((k1, x1)::r1), m2 as ((k2, x2)::r2), m) = ( case compare (k1, k2) of LESS => mergef (k1, SOME x1, NONE, r1, m2, m) | EQUAL => mergef (k1, SOME x1, SOME x2, r1, r2, m) | GREATER => mergef (k2, NONE, SOME x2, m1, r2, m) (* end case *)) and mergef (k, x1, x2, r1, r2, m) = (case f (k, x1, x2) of NONE => merge (r1, r2, m) | SOME y => merge (r1, r2, insert(m, k, y)) (* end case *)) in merge (listItemsi m1, listItemsi m2, empty) end (* this is a generic implementation of filter. It should * be specialized to the data-structure at some point. *) fun filter predFn m = let fun f (key, item, m) = if predFn item then insert(m, key, item) else m in foldli f empty m end fun filteri predFn m = let fun f (key, item, m) = if predFn(key, item) then insert(m, key, item) else m in foldli f empty m end (* this is a generic implementation of mapPartial. It should * be specialized to the data-structure at some point. *) fun mapPartial f m = let fun g (key, item, m) = (case f item of NONE => m | (SOME item') => insert(m, key, item') (* end case *)) in foldli g empty m end fun mapPartiali f m = let fun g (key, item, m) = (case f(key, item) of NONE => m | (SOME item') => insert(m, key, item') (* end case *)) in foldli g empty m end fun fromList list = List.foldl (fn ((key, item), m) => insert (m, key, item)) empty list end (* functor BinaryMapFn *) smlsharp-1.2.0/src/compiler-utils/env/main/SOrd.smi0000644 000000000000000000000026212050661606022337 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlnj-lib/Util/ord-key-sig.sml" structure SOrd = struct type ord_key = string val compare : ord_key * ord_key -> order end smlsharp-1.2.0/src/compiler-utils/env/main/SOrd.sml0000755 000000000000000000000035512050661606022350 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori * @version $Id: SOrd.sml,v 1.1 2007/09/07 14:19:47 kiyoshiy Exp $ *) structure SOrd : ORD_KEY = struct type ord_key = string val compare = String.compare end smlsharp-1.2.0/src/compiler-utils/env/main/SSet.smi0000644 000000000000000000000234212050661606022347 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../smlnj-lib/Util/binary-set-fn.smi" _require "SOrd.smi" structure SSet = BinarySetFn(SOrd) (* structure SSet = struct structure Key = struct type ord_key = string val compare : ord_key * ord_key -> order end type item = Key.ord_key type set (= boxed) val empty : set val singleton : item -> set val fromList : item list -> set val add : set * item -> set val add' : item * set -> set val addList : set * item list -> set val delete : set * item -> set val member : set * item -> bool val isEmpty : set -> bool val equal : set * set -> bool val compare : set * set -> order val isSubset : set * set -> bool val numItems : set -> int val listItems : set -> item list val union : set * set -> set val intersection : set * set -> set val difference : set * set -> set val map : (item -> item) -> set -> set val app : (item -> unit) -> set -> unit val foldl : (item * 'a -> 'a) -> 'a -> set -> 'a val foldr : (item * 'a -> 'a) -> 'a -> set -> 'a val partition : (item -> bool) -> set -> set * set val filter : (item -> bool) -> set -> set val exists : (item -> bool) -> set -> bool val find : (item -> bool) -> set -> item option end *) smlsharp-1.2.0/src/compiler-utils/env/main/SSet.sml0000755 000000000000000000000026212050661606022354 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2006, Tohoku University. * @author Atsushi Ohori * @version $Id: SSet.sml,v 1.2 2007/09/10 14:13:30 kiyoshiy Exp $ *) structure SSet = BinarySetFn(SOrd) smlsharp-1.2.0/src/config0000755 000000000000000000000000012050661606015460 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/config/main0000755 000000000000000000000000012050661606016404 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/config/main/Config.smi0000644 000000000000000000000123312050661606020401 0ustar00rootroot0000000 0000000 _require "../../basis.smi" _require "../../compiler-utils/env/main/SEnv.smi" _require "../../compiler/toolchain/main/Filename.smi" _require "Version.smi" structure SMLSharp_Config = struct exception Load val loadConfig : Filename.filename -> unit exception Unset val CC : unit -> string val LD : unit -> string val AR : unit -> string val RANLIB : unit -> string val LDFLAGS : unit -> string val LIBS : unit -> string val DLLEXT : unit -> string val LIBEXT : unit -> string val ASMEXT : unit -> string val OBJEXT : unit -> string val NATIVE_TARGET : unit -> string val A_OUT : unit -> string val RUNLOOP_DLDFLAGS : unit -> string end smlsharp-1.2.0/src/config/main/Config.sml0000644 000000000000000000001100512050661606020402 0ustar00rootroot0000000 0000000 (** * config file parser * * @copyright (c) 2012, Tohoku University. * @author UENO Katsuhiro *) structure SMLSharp_Config : sig exception Load val loadConfig : Filename.filename -> unit exception Unset val CC : unit -> string val LD : unit -> string val AR : unit -> string val RANLIB : unit -> string val LDFLAGS : unit -> string val LIBS : unit -> string val DLLEXT : unit -> string val LIBEXT : unit -> string val ASMEXT : unit -> string val OBJEXT : unit -> string val NATIVE_TARGET : unit -> string val A_OUT : unit -> string val RUNLOOP_DLDFLAGS : unit -> string end = struct val r_CC = ref NONE : string option ref val r_LD = ref NONE : string option ref val r_AR = ref NONE : string option ref val r_RANLIB = ref NONE : string option ref val r_LDFLAGS = ref NONE : string option ref val r_LIBS = ref NONE : string option ref val r_DLLEXT = ref NONE : string option ref val r_LIBEXT = ref NONE : string option ref val r_ASMEXT = ref NONE : string option ref val r_OBJEXT = ref NONE : string option ref val r_NATIVE_TARGET = ref NONE : string option ref val r_A_OUT = ref NONE : string option ref val r_RUNLOOP_DLDFLAGS = ref NONE : string option ref val parameters = [("CC", r_CC), ("LD", r_LD), ("AR", r_AR), ("RANLIB", r_RANLIB), ("LDFLAGS", r_LDFLAGS), ("LIBS", r_LIBS), ("DLLEXT", r_DLLEXT), ("LIBEXT", r_LIBEXT), ("ASMEXT", r_ASMEXT), ("OBJEXT", r_OBJEXT), ("NATIVE_TARGET", r_NATIVE_TARGET), ("A_OUT", r_A_OUT), ("RUNLOOP_DLDFLAGS", r_RUNLOOP_DLDFLAGS)] exception Unset local fun get (ref (SOME x)) = x | get (ref NONE) = raise Unset in fun CC () = get r_CC fun LD () = get r_LD fun AR () = get r_AR fun RANLIB () = get r_RANLIB fun LDFLAGS () = get r_LDFLAGS fun LIBS () = get r_LIBS fun DLLEXT () = get r_DLLEXT fun LIBEXT () = get r_LIBEXT fun ASMEXT () = get r_ASMEXT fun OBJEXT () = get r_OBJEXT fun NATIVE_TARGET () = get r_NATIVE_TARGET fun A_OUT () = get r_A_OUT fun RUNLOOP_DLDFLAGS () = get r_RUNLOOP_DLDFLAGS end fun isSpace #" " = true | isSpace #"\t" = true | isSpace c = false fun isNameChar #"=" = false | isNameChar #" " = false | isNameChar #"\t" = false | isNameChar #"\r" = false | isNameChar #"\n" = false | isNameChar c = true fun isValueChar #"\r" = false | isValueChar #"\n" = false | isValueChar c = true fun skipSpace getc src = case getc src of SOME (c, src') => if isSpace c then skipSpace getc src' else src | NONE => src fun scanName getc src = case StringCvt.splitl isNameChar getc (StringCvt.skipWS getc src) of ("", src) => NONE | x => SOME x fun scanEq getc src = case getc (skipSpace getc src) of SOME (#"=", src) => SOME src | _ => NONE fun scanValue getc src = StringCvt.splitl isValueChar getc (skipSpace getc src) fun scanLine getc src = case scanName getc src of NONE => NONE | SOME (name, src) => case scanEq getc src of NONE => NONE | SOME src => case scanValue getc src of (value, src) => SOME (name, value, src) fun scanFile getc src = let fun loop (src, ret) = case scanLine getc src of SOME (name, value, src) => loop (src, SEnv.insert (ret, name, value)) | NONE => case getc (StringCvt.skipWS getc src) of SOME _ => NONE | NONE => SOME (ret, src) in loop (src, SEnv.empty) end fun parse filename = let val input = Filename.TextIO.openIn filename val src = TextIO.inputAll input handle e => (TextIO.closeIn input; raise e) val _ = TextIO.closeIn input in StringCvt.scanString scanFile src end exception Load fun loadConfig systemBaseDir = let val filename = Filename.fromString "config.mk" val filename = Filename.concatPath (systemBaseDir, filename) val conf = parse filename handle _ => raise Load val conf = case conf of SOME conf => conf | NONE => raise Load in app (fn (key, r) => r := SEnv.find (conf, key)) parameters; case SEnv.find (conf, "OS_TYPE") of SOME "Windows" => SMLSharp_Version.HostOS := SMLSharp_Version.Windows | SOME "Unix" => SMLSharp_Version.HostOS := SMLSharp_Version.Unix | SOME _ => raise Load | NONE => () end end smlsharp-1.2.0/src/config/main/Version.smi0000644 000000000000000000000026612050661606020626 0ustar00rootroot0000000 0000000 structure SMLSharp_Version = struct val Version : string val ReleaseDate : string val DefaultSystemBaseDir : string datatype os = Windows | Unix val HostOS : os ref end smlsharp-1.2.0/src/config/main/Version.sml.in0000644 000000000000000000000102412050661606021227 0ustar00rootroot0000000 0000000 (* -*- sml -*- *) (** * version information and default settings * * @copyright (c) 2012, Tohoku University. * @author UENO Katsuhiro *) structure SMLSharp_Version : sig val Version : string val ReleaseDate : string val DefaultSystemBaseDir : string datatype os = Windows | Unix val HostOS : os ref (* overwritable *) end = struct val Version = "%VERSION%" val ReleaseDate = "%RELEASE_DATE%" val DefaultSystemBaseDir = "%LIBDIR_SMLSHARP%" datatype os = Windows | Unix val HostOS = ref %HOST_OS% end smlsharp-1.2.0/src/config.mk.in0000644 000000000000000000000040412050661606016473 0ustar00rootroot0000000 0000000 CC = @CC@ LD = @LD@ AR = @AR@ RANLIB = @RANLIB@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ DLLEXT = @DLLEXT@ LIBEXT = @LIBEXT@ ASMEXT = @ASMEXT@ OBJEXT = @OBJEXT@ NATIVE_TARGET = @NATIVE_TARGET@ A_OUT = @A_OUT@ RUNLOOP_DLDFLAGS = @RUNLOOP_DLDFLAGS@ OS_TYPE = @OS_TYPE@ smlsharp-1.2.0/src/ffi0000755 000000000000000000000000012050661606014757 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/ffi/main0000755 000000000000000000000000012050661606015703 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/ffi/main/DynamicLink.smi0000755 000000000000000000000046312050661606020704 0ustar00rootroot0000000 0000000 _require "../../basis/main/SMLSharpRuntime.smi" structure DynamicLink = struct type lib (= ptr) datatype scope = LOCAL | GLOBAL datatype mode = LAZY | NOW val dlopen : string -> lib val dlopen' : string * scope * mode -> lib val dlsym : lib * string -> unit ptr val dlclose : lib -> unit end smlsharp-1.2.0/src/ffi/main/DynamicLink.sml0000755 000000000000000000000451012050661606020704 0ustar00rootroot0000000 0000000 (** * wrapper of libdl. * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro *) structure DynamicLink :> sig type lib datatype scope = LOCAL | GLOBAL datatype mode = LAZY | NOW val dlopen : string -> lib val dlopen' : string * scope * mode -> lib val dlsym : lib * string -> unit ptr val dlclose : lib -> unit end = struct infix 6 + infix 4 < = infix 3 := val op + = SMLSharp.Int.add val op < = SMLSharp.Int.lt type lib = unit ptr datatype scope = LOCAL | GLOBAL datatype mode = LAZY | NOW val c_dlopen = _import "dlopen" : __attribute__((no_callback)) (string, int) -> lib val c_dlsym = _import "dlsym" : __attribute__((no_callback)) (lib, string) -> unit ptr val c_dlerror = _import "dlerror" : __attribute__((no_callback)) () -> char ptr val c_dlclose = _import "dlclose" : __attribute__((no_callback)) lib -> int local val loaded = ref false val RTLD_LAZY = ref 0 val RTLD_NOW = ref 0 val RTLD_LOCAL = ref 0 val RTLD_GLOBAL = ref 0 in fun dlopenMode (scope, mode) = let val _ = if !loaded then () else (RTLD_LAZY := SMLSharpRuntime.cconstInt "RTLD_LAZY"; RTLD_NOW := SMLSharpRuntime.cconstInt "RTLD_NOW"; RTLD_LOCAL := SMLSharpRuntime.cconstInt "RTLD_LOCAL"; RTLD_GLOBAL := SMLSharpRuntime.cconstInt "RTLD_GLOBAL"; loaded := true) val scope = case scope of LOCAL => !RTLD_LOCAL | GLOBAL => !RTLD_GLOBAL val mode = case mode of LAZY => !RTLD_LAZY | NOW => !RTLD_NOW in scope + mode end end (* local *) fun dlerror () = SMLSharpRuntime.str_new (c_dlerror ()) fun dlopen' (libname, scope, mode) = let val lib = c_dlopen (libname, dlopenMode (scope, mode)) in if lib = _NULL then raise SMLSharpRuntime.SysErr (dlerror (), NONE) else lib end fun dlopen libname = dlopen' (libname, LOCAL, LAZY) fun dlclose lib = if c_dlclose lib < 0 then raise SMLSharpRuntime.SysErr (dlerror (), NONE) else () fun dlsym (lib, symbol) = let val ptr = c_dlsym (lib, symbol) in if lib = _NULL then raise SMLSharpRuntime.SysErr (dlerror (), NONE) else ptr end end smlsharp-1.2.0/src/ffi/main/Pointer.smi0000644 000000000000000000000226312050661606020117 0ustar00rootroot0000000 0000000 _require "../../basis/main/Word8.smi" _require "../../basis/main/Real32.smi" _require "../../basis/main/Word8Vector.smi" structure Pointer = struct val advance = SMLSharp.Pointer.advance val load = case 'a in 'a ptr -> 'a of int => SMLSharp.Pointer.deref_int | word => SMLSharp.Pointer.deref_word | Word8.word => SMLSharp.Pointer.deref_word8 | char => SMLSharp.Pointer.deref_char | real => SMLSharp.Pointer.deref_real | Real32.real => SMLSharp.Pointer.deref_real32 | 'b ptr => SMLSharp.Pointer.deref_ptr val store = case 'a in 'a ptr * 'a -> unit of int => SMLSharp.Pointer.store_int | word => SMLSharp.Pointer.store_word | SMLSharp.Word8.word => SMLSharp.Pointer.store_word8 | char => SMLSharp.Pointer.store_char | real => SMLSharp.Pointer.store_real | SMLSharp.Real32.real => SMLSharp.Pointer.store_real32 | 'b ptr => SMLSharp.Pointer.store_ptr val isNull : 'a ptr -> bool val NULL : unit -> 'a ptr (* val sub : 'a ptr * int -> 'a val update : 'a ptr * int * 'a -> unit *) val importBytes : Word8.word ptr * int -> Word8Vector.vector val importString : char ptr -> string end smlsharp-1.2.0/src/ffi/main/Pointer.sml0000644 000000000000000000000221712050661606020121 0ustar00rootroot0000000 0000000 (** * pointer operations * @author UENO Katsuhiro * @copyright 2010, Tohoku University. *) local infix 6 + - infix 4 = <> > >= < <= val op + = SMLSharp.Int.add val op < = SMLSharp.Int.lt in structure Pointer = struct val advance = SMLSharp.Pointer.advance fun isNull (ptr : 'a ptr) = SMLSharp.Pointer.toUnitPtr ptr = _NULL fun NULL () = SMLSharp.Pointer.fromUnitPtr _NULL (* fun sub (ptr, n) = !! (advance (ptr, n)) fun update (ptr, n, v) = store (advance (ptr, n), v) *) val prim_import = _import "prim_UnmanagedMemory_import" : __attribute__((no_callback,alloc)) (unit ptr, int) -> string val prim_size = _import "prim_UnmanagedString_size" : __attribute__((no_callback)) unit ptr -> int fun importBytes (ptr : Word8.word ptr, len) : Word8Vector.vector = if len < 0 then raise Size else prim_import (SMLSharp.Pointer.toUnitPtr ptr, len) fun importString (ptr : char ptr) = let val ptr = SMLSharp.Pointer.toUnitPtr ptr in (* + 1 is for sentinel "\0" character *) prim_import (ptr, prim_size ptr + 1) end end end (* local *) smlsharp-1.2.0/src/ffi.smi0000644 000000000000000000000010212050661606015541 0ustar00rootroot0000000 0000000 include "ffi/main/DynamicLink.smi" include "ffi/main/Pointer.smi" smlsharp-1.2.0/src/ml-lex0000755 000000000000000000000000012050661606015411 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/ml-lex/build0000755 000000000000000000000130612050661606016515 0ustar00rootroot0000000 0000000 #!/bin/sh # # build script for ml-lex under the new runtime system. # # options: # -o image -- specify the name of the heap image, "ml-lex" # is the default. CMD=$0 ROOT="ml-lex" HEAP_IMAGE="" SMLNJROOT=`pwd`/.. BIN=${INSTALLDIR:-$SMLNJROOT}/bin BUILD=$BIN/ml-build # # process command-line options # while [ "$#" != "0" ] ; do arg=$1 shift case $arg in -o) if [ "$#" = "0" ]; then echo "$CMD: must supply image name for -o option" exit 1 fi HEAP_IMAGE=$1; shift ;; *) echo $CMD: invalid argument: $arg exit 1 ;; esac done if [ "$HEAP_IMAGE" = "" ]; then HEAP_IMAGE="$ROOT" fi "$BUILD" ml-lex.cm ExportLexGen.lexGen $HEAP_IMAGE exit 0 smlsharp-1.2.0/src/ml-lex/build.bat0000644 000000000000000000000007212050661606017256 0ustar00rootroot0000000 0000000 ..\bin\ml-build.bat ml-lex.cm ExportLexGen.lexGen ml-lex smlsharp-1.2.0/src/ml-lex/configure0000755 000000000000000000000446712050661606017412 0ustar00rootroot0000000 0000000 #!/bin/sh # simple configuration script # @author UENO Katsuhiro # @author YAMATODANI Kiyoshi projname=mllex depends= prefix=/usr/local exec_prefix='$(prefix)' compiler=mlton for opt in "$@" do optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'` case "$opt" in --prefix=*) prefix="$optarg" ;; --exec_prefix=*) exec_prefix="$optarg" ;; --with-smlnj) compiler=smlnj ;; --with-mlton) compiler=mlton ;; --with-smlsharp) compiler=smlsharp ;; --help) echo "Usage: $0 OPTIONS..." echo echo "Options:" echo " --help print this message." echo "--prefix=DIR install files to DIR [default=$prefix]" echo "--exec-prefix=DIR isntall executables to DIR [default=$prefix]" echo "--with-smlnj use SML/NJ [default=no]" echo "--with-mlton use MLton [default=yes]" echo "--with-smlsharp use SML# [default=no]" ;; *) echo "$0: error: unrecognized option: $opt" 1>&2 echo "Try \`$0 --help' for more information." 1>&2 exit 1 ;; esac done for i in $depends; do module=`dirname $i` if [ -f "../$i" ]; then result=yes; else result=no; fi echo "checking for dependency on $module... $result" if [ "x$result" = "xno" ]; then echo "** Build \`$module' by the following command before building this module:" echo " cd ../$module && ./configure && make" exit 1 fi done echo "SML compiler for building $projname... $compiler" cat > commonrule < "$i" done # configure ends here. smlsharp-1.2.0/src/ml-lex/export-lex.smi0000644 000000000000000000000021512050661606020307 0ustar00rootroot0000000 0000000 _require "../basis.smi" _require "lexgen.smi" structure ExportLexGen = struct val lexGen : (string * string list) -> OS.Process.status end smlsharp-1.2.0/src/ml-lex/export-lex.sml0000644 000000000000000000000324012050661606020313 0ustar00rootroot0000000 0000000 (* Modified by Katsuhiro Ueno on 2011-Nov-25 to port ml-lex to SML#. *) (* export-lex.sml * * Revision 1.2 2000/03/07 04:01:05 blume * - build script now use new ml-build mechanism *) structure ExportLexGen : sig val lexGen : (string * string list) -> OS.Process.status end = struct exception Interrupt (* This function applies operation to (). If it handles an interrupt * signal (Control-C), it raises the exception Interrupt. Example: * (handleInterrupt foo) handle Interrupt => print "Bang!\n" *) fun handleInterrupt (operation : unit -> unit) = (* (* Ueno (2011-11-25): SML# does not have Signals and callcc. *) let exception Done val old'handler = Signals.inqHandler(Signals.sigINT) fun reset'handler () = Signals.setHandler(Signals.sigINT, old'handler) in (SMLofNJ.Cont.callcc (fn k => (Signals.setHandler(Signals.sigINT, Signals.HANDLER(fn _ => k)); operation (); raise Done)); raise Interrupt) handle Done => (reset'handler ()) | exn => (reset'handler (); raise exn) end *) operation () fun err msg = TextIO.output(TextIO.stdErr, String.concat msg) fun lexGen (name, args) = let fun lex_gen () = case args of [] => (err [name, ": missing filename\n"]; OS.Process.exit OS.Process.failure) | files => List.app LexGen.lexGen files in (handleInterrupt lex_gen; OS.Process.success) handle Interrupt => (err [name, ": Interrupt\n"]; OS.Process.failure) | any => (err [name, ": uncaught exception ", General.exnMessage any, "\n"]; OS.Process.failure) end end smlsharp-1.2.0/src/ml-lex/INSTALL0000644 000000000000000000000066412050661606016527 0ustar00rootroot0000000 0000000 Installation instructions for ML-Lex ------------------------------------- ML-Lex will normally be automatically installed as part of the SML/NJ system by the SML/NJ installer. To install by hand (e.g., if you make your own modifications), run the ./build script in this directory and then move the file ml-lex.$ARCH-$OS to the heap-file directory. Running ./build requires a properly functioning installation of SML/NJ. smlsharp-1.2.0/src/ml-lex/lexgen.doc0000644 000000000000000000005015012050661606017442 0ustar00rootroot0000000 0000000 A lexical analyzer generator for Standard ML. THIS TEXT FILE IS OBSOLETE and IS NOT MAINTAINED. The current (maintained) documentation is in lexgen.tex. Andrew W. Appel James S. Mattson David R. Tarditi Princeton University Version 1.6, October 1994 Copyright (c) 1989-1992 by Andrew W. Appel, James S. Mattson, David R. Tarditi This software comes with ABSOLUTELY NO WARRANTY. This software is subject only to the PRINCETON STANDARD ML SOFTWARE LIBRARY COPYRIGHT NOTICE, LICENSE AND DISCLAIMER, (in the file "COPYRIGHT", distributed with this software). You may copy and distribute this software; see the COPYRIGHT NOTICE for details and restrictions. I. General Description Computer programs often need to divide their input into words and distinguish between different kinds of words. Compilers, for example, need to distinguish between integers, reserved words, and identifiers. Applications programs often need to be able to recognize components of typed commands from users. The problem of segmenting input into words and recognizing classes of words is known as lexical analysis. Small cases of this problem, such as reading text strings separated by spaces, can be solved by using hand-written programs. Larger cases of this problem, such as tokenizing an input stream for a compiler, can also be solved using hand-written programs. A hand-written program for a large lexical analysis problem, however, suffers from two major problems. First, the program requires a fair amount of programmer time to create. Second, the description of classes of words is not explicit in the program. It must be inferred from the program code. This makes it difficult to verify if the program recognizes the correct words for each class. It also makes future maintenance of the program difficult. Lex, a programming tool for the Unix system, is a successful solution to the general problem of lexical analysis. It uses regular expressions to describe classes of words. A program fragment is associated with each class of words. This information is given to Lex as a specification (a Lex program). Lex produces a program for a function that can be used to perform lexical analysis. The function operates as follows. It finds the longest word starting from the current position in the input stream that is in one of the word classes. It executes the program fragment associated with the class, and sets the current position in the input stream to be the character after the word. The program fragment has the actual text of the word available to it, and may be any piece of code. For many applications it returns some kind of value. Lex allows the programmer to make the language description explicit, and to concentrate on what to do with the recognized words, not how to recognize the words. It saves programmer time and increases program maintainability. Unfortunately, Lex is targeted only C. It also places artificial limits on the size of strings that can be recognized. ML-Lex is a variant of Lex for the ML programming language. ML-Lex has a syntax similar to Lex, and produces an ML program instead of a C program. ML-Lex produces a program that runs very efficiently. Typically the program will be as fast or even faster than a hand-coded lexer implemented in Standard ML. The program typically uses only a small amount of space. ML-Lex thus allows ML programmers the same benefits that Lex allows C programmers. It also does not place artificial limits on the size of recognized strings. II. ML-Lex specifications An ML-Lex specification has the general format: {user declarations} %% {ML-Lex definitions} %% {rules} Each section is separated from the others by a '%%' delimiter. The rules are used to define the lexical analysis function. Each rule has two parts - a regular expression and an action. The regular expression defines the word class that a rule matches. The action is a program fragment to be executed when a rule matches the input. The actions are used to compute values, and must all return values of the same type. The user can define values available to all rule actions in the user declarations section. The user must define two values in this section - a type lexresult and a function eof. Lexresult defines the type of values returned by the rule actions. The function "eof" is called by the lexer when the end of the input stream is reached. It will typically return a value signalling eof or raise an exception. It is called with the same argument as lex (see %arg, below), and must return a value of type lexresult. In the definitions section, the user can define named regular expressions, a set of start states, and specify which of the various bells and whistles of ML-Lex are desired. The start states allow the user to control when certain rules are matched. Rules may be defined to match only when the lexer is in specific start states. The user may change the lexer's start state in a rule action. This allows the user to specify special handling of lexical objects. This feature is typically used to handle quoted strings with escapes to denote special characters. The rules to recognize the inside contents of a string are defined for only one start state. This start state is entered when the beginning of a string is recognized, and exited when the end of the string is recognized. III. Regular expressions. Regular expressions are a simple language for denoting classes of strings. A regular expression is defined inductively over an alphabet with a set of basic operations. The alphabet for ML-Lex is the Ascii character set (character codes 0-127; or if %full is used, 0-255). The syntax and semantics of regular expressions will be described in order of decreasing precedence (from the most tightly-binding operators to the most weakly-binding): An individual character stands for itself, except for the reserved characters ? * + | ( ) ^ $ / ; . = < > [ { " \ A backslash followed by one of the reserved characters stands for that character. A set of characters enclosed in square brackets [ ] stands for any one of those characters. Inside the brackets, only the symbols \ - ^ are reserved. An initial up-arrow ^ stands for the complement of the characters listed, e.g. [^abc] stands any character except a, b, or c. The hyphen - denotes a range of characters, e.g. [a-z] stands for any lower-case alphabetic character, and [0-9a-fA-F] stands for any hexadecimal digit. To include ^ literally in a bracketed set, put it anywhere but first; to include - literally in a set, put it first or last. The dot . character stands for any character except newline, i.e. the same as [^\n] The following special escape sequences are available, inside or outside of square-brackets: \b - backspace \n - newline \t - tab \h - stands for all characters with codes >127, when 7-bit characters are used. \ddd - where ddd is a 3 digit decimal escape. A sequence of characters will stand for itself (reserved characters will be taken literally) if it is enclosed in double quotes " ". A named regular expression (defined in the "definitions" section) may be referred to by enclosing its name in braces { }. Any regular expression may be enclosed in parentheses ( ) for syntactic (but, as usual, not semantic) effect. The postfix operator * stands for Kleene closure: zero or more repetitions of the preceding expression. The postfix operator + stands for one or more repetitions of the preceding expression. The postfix operator ? stands for zero or one occurrence of the preceding expression. A postfix repetition range {n1,n2} where n1 and n2 are small integers stands for any number of repetitions between n1 and n2 of the preceding expression. The notation {n1} stands for exactly n1 repetitions. Concatenation of expressions denotes concatenation of strings. The expression e1 e2 stands for any string that results from the concatenation of one string that matches e1 with another string that matches e2. The infix operator | stands for alternation. The expression e1 | e2 stands for anything that either e1 or e2 stands for. The infix operator / denotes lookahead. Lookahead is not implemented and cannot be used, because there is a bug in the algorithm for generating lexers with lookahead. If it could be used, the expression e1 / e2 would match any string that e1 stands for, but only when that string is followed by a string that matches e2. When the up-arrow ^ occurs at the beginning of an expression, that expression will only match strings that occur at the beginning of a line (right after a newline character). The dollar sign $ is not implemented, since it is an abbreviation for lookahead involving the newline character (that is, it is an abbreviation /\n). If it could be used, when the dollar sign $ occurred at the end of an expression, that expression would only match strings that occur at the end of a line (right before a newline character). Here are some examples of regular expressions, and descriptions of the set of strings they denote: 0 | 1 | 2 | 3 A single digit between 0 and 3 [0123] A single digit between 0 and 3 0123 The string "0123" 0* All strings of 0 or more 0's 00* All strings of 1 or more 0's 0+ All strings of 1 or more 0's [0-9]{3} Any three-digit decimal number. \\[ntb] The strings "\n" "\t" "\b" (00)* Any string with an even number of 0's. IV. ML-Lex syntax summary A. User declarations Anything up to the first %% is in the user declarations section. The user should note that no symbolic identifier containing '%%' can be used in this section. B. ML-Lex definitions Start states can be defined with %s {identifier list} ; or %S {identifier list} ; An identifier list consists of one or more identifiers. An identifier consists of one or more letters, digits, underscores, or primes. It must begin with a letter. Named expressions can be defined with {identifier} = {regular expression} ; Regular expressions are defined below. The following % commands are also available: %reject - create REJECT() function %count - count newlines using yylineno %full - create lexer for the full 8-bit character set, with characters in the range 0-255 permitted as input. %structure {identifier} - name the structure in the output program {identifier} instead of Mlex %header - use code following it to create header for lexer structure %arg - extra (curried) formal parameter argument to be passed to the lex functions, and to be passed to the eof function in place of () These functions are discussed below, under values available to actions. C. Rules Each rule has the format: {regular expression} => ( ... code ... ); All parentheses in ... code ... must be balanced, including those used in strings and comments. The start state list is optional. It consists of a list of identifiers separated by commas, and is delimited by triangle brackets < >. Each identifier must be a start state defined in the %s section above. The regular expression is only recognized when the lexer is in one of the start states in the start state list. If no start state list is given, the expression is recognized in all start states. The lexer begins in a pre-defined start state called INITIAL. The lexer resolves conflicts among rules by choosing the rule with the longest match, and in the case two rules match the same string, choosing the rule listed first in the specification. The rules should match all possible input. If some input occurs that does not match any rule, the lexer created by ML-Lex will raise an exception LexError. Note that this differs from C Lex, which prints any unmatched input on the standard output. V. Values available inside the code associated with a rule. Mlex places the value of the string matched by a regular expression in yytext, a string variable. The user may recursively call the lexing function with lex(). (If %arg is used, the lexing function may be re-invoked with the same argument by using continue().) This is convenient for ignoring white space or comments silently: [\ \t\n]+ => ( lex()); To switch start states, the user may call YYBEGIN with the name of a start state. The following values will be available only if the corresponding % command is in the ML-Lex definitions sections: value %command description ----- -------- ----------- REJECT %reject REJECT() causes the current rule to be "rejected." The lexer behaves as if the current rule had not matched; another rule that matches this string, or that matches the longest possible prefix of this string, is used instead. yypos Current character position from beginning of file. yylineno %count Current line number These values should be used only if necessary. Adding REJECT to a lexer will slow it down by 20%; adding yylineno will slow it down by another 20%, or more. (It is much more efficient to recognize \n and have an action that increments the line-number variable.) The use of the lookahead operator / will also slow down the entire lexer. The character-position, yypos, is not costly to maintain, however. VI. Running ML-Lex From the Unix shell, run sml-lex myfile.lex The output file will be myfile.lex.sml. The extension ".lex" is not required but is recommended. Within an interactive system [not the preferred method]: Use "lexgen.sml"; this will create a structure LexGen. The function LexGen.lexGen creates a program for a lexer from an input specification. It takes a string argument -- the name of the file containing the input specification. The output file name is determined by appending ".sml" to the input file name. VII. Using the program produced by ML-Lex. When the output file is loaded, it will create a structure Mlex that contains the function makeLexer. makeLexer takes a function from int -> string and returns a lexing function. For example, val lexer = Mlex.makeLexer (inputc (open_in "f")) creates a lexer that operates on the file whose name is f. The function from int -> string should read a string of characters from the input stream. It should return a null string to indicate that the end of the stream has been reached. The integer is the number of characters that the lexer wishes to read; the function may return any non-zero number of characters. For example, val lexer = let val input_line = fn f => let fun loop result = let val c = input (f,1) val result = c :: result in if String.size c = 0 orelse c = "\n" then String.implode (rev result) else loop result end in loop nil end in Mlex.makeLexer (fn n => input_line std_in) end is appropriate for interactive streams where prompting, etc. occurs; the lexer won't care that input_line might return a string of more than or less than n characters. The lexer tries to read a large number of characters from the input function at once, and it is desirable that the input function return as many as possible. Reading many characters at once makes the lexer more efficient. Fewer input calls and buffering operations are needed, and input is more efficient in large block reads. For interactive streams this is less of a concern, as the limiting factor is the speed at which the user can type. To obtain a value, invoke the lexer by passing it a unit: val nextToken = lexer() If one wanted to restart the lexer, one would just discard "lexer" and create a new lexer on the same stream with another call to makeLexer. This is the best way to discard any characters buffered internally by the lexer. All code in the user declarations section is placed inside a structure UserDeclarations. To access this structure, use the path name Mlex.UserDeclarations. If any input cannot be matched, the program will raise the exception Mlex.LexError. An internal error (i.e. bug) will cause the exception Internal.LexerError to be raised. If %structure is used, remember that the structure name will no longer be Mlex, but the one specified in the command. VIII. Sample Here is a sample lexer for a calculator program: datatype lexresult= DIV | EOF | EOS | ID of string | LPAREN | NUM of int | PLUS | PRINT | RPAREN | SUB | TIMES val linenum = ref 1 val error = fn x => output(std_out,x ^ "\n") val eof = fn () => EOF %% %structure CalcLex alpha=[A-Za-z]; digit=[0-9]; ws = [\ \t]; %% \n => (inc linenum; lex()); {ws}+ => (lex()); "/" => (DIV); ";" => (EOS); "(" => (LPAREN); {digit}+ => (NUM (revfold (fn(a,r)=>ord(a)-ord("0")+10*r) (explode yytext) 0)); ")" => (RPAREN); "+" => (PLUS); {alpha}+ => (if yytext="print" then PRINT else ID yytext); "-" => (SUB); "*" => (TIMES); . => (error ("calc: ignoring bad character "^yytext); lex()); Here is the parser for the calculator: (* Sample interactive calculator to demonstrate use of lexer produced by ML-Lex The original grammar was stmt_list -> stmt_list stmt stmt -> print exp ; | exp ; exp -> exp + t | exp - t | t t -> t * f | t/f | f f -> (exp) | id | num The function parse takes a stream and parses it for the calculator program. If a syntax error occurs, parse prints an error message and calls itself on the stream. On this system that has the effect of ignoring all input to the end of a line. *) structure Calc = struct open CalcLex open UserDeclarations exception Error fun parse strm = let val say = fn s => output(std_out,s) val input_line = fn f => let fun loop result = let val c = input (f,1) val result = c :: result in if String.size c = 0 orelse c = "\n" then String.implode (rev result) else loop result end in loop nil end val lexer = makeLexer (fn n => input_line strm) val nexttok = ref (lexer()) val advance = fn () => (nexttok := lexer(); !nexttok) val error = fn () => (say ("calc: syntax error on line" ^ (makestring(!linenum)) ^ "\n"); raise Error) val lookup = fn i => if i = "ONE" then 1 else if i = "TWO" then 2 else (say ("calc: unknown identifier '" ^ i ^ "'\n"); raise Error) fun STMT_LIST () = case !nexttok of EOF => () | _ => (STMT(); STMT_LIST()) and STMT() = (case !nexttok of EOS => () | PRINT => (advance(); say ((makestring (E():int)) ^ "\n"); ()) | _ => (E(); ()); case !nexttok of EOS => (advance()) | _ => error()) and E () = E' (T()) and E' (i : int ) = case !nexttok of PLUS => (advance (); E'(i+T())) | SUB => (advance (); E'(i-T())) | RPAREN => i | EOF => i | EOS => i | _ => error() and T () = T'(F()) and T' i = case !nexttok of PLUS => i | SUB => i | TIMES => (advance(); T'(i*F())) | DIV => (advance (); T'(i div F())) | EOF => i | EOS => i | RPAREN => i | _ => error() and F () = case !nexttok of ID i => (advance(); lookup i) | LPAREN => let val v = (advance(); E()) in if !nexttok = RPAREN then (advance (); v) else error() end | NUM i => (advance(); i) | _ => error() in STMT_LIST () handle Error => parse strm end end smlsharp-1.2.0/src/ml-lex/lexgen.smi0000644 000000000000000000000012412050661606017461 0ustar00rootroot0000000 0000000 _require "../basis.smi" structure LexGen = struct val lexGen : string -> unit end smlsharp-1.2.0/src/ml-lex/lexgen.sml0000644 000000000000000000012721412050661606017476 0ustar00rootroot0000000 0000000 (* Modified by Katsuhiro Ueno on 2011-Nov-25 to port ml-lex to SML#. *) (* Lexical analyzer generator for Standard ML. Version 1.7.0, June 1998 Copyright (c) 1989-1992 by Andrew W. Appel, David R. Tarditi, James S. Mattson This software comes with ABSOLUTELY NO WARRANTY. This software is subject only to the PRINCETON STANDARD ML SOFTWARE LIBRARY COPYRIGHT NOTICE, LICENSE AND DISCLAIMER, (in the file "COPYRIGHT", distributed with this software). You may copy and distribute this software; see the COPYRIGHT NOTICE for details and restrictions. Changes: 07/25/89 (drt): added %header declaration, code to place user declarations at same level as makeLexer, etc. This is needed for the parser generator. /10/89 (appel): added %arg declaration (see lexgen.doc). /04/90 (drt): fixed following bug: couldn't use the lexer after an error occurred -- NextTok and inquote weren't being reset 10/22/91 (drt): disabled use of lookahead 10/23/92 (drt): disabled use of $ operator (which involves lookahead), added handlers for dictionary lookup routine 11/02/92 (drt): changed handler for exception Reject in generated lexer to Internal.Reject 02/01/94 (appel): Moved the exception handler for Reject in such a way as to allow tail-recursion (improves performance wonderfully!). 02/01/94 (appel): Fixed a bug in parsing of state names. 05/19/94 (Mikael Pettersson, mpe@ida.liu.se): Transition tables are usually represented as strings, but when the range is too large, int vectors constructed by code like "Vector.vector[1,2,3,...]" are used instead. The problem with this isn't that the vector itself takes a lot of space, but that the code generated by SML/NJ to construct the intermediate list at run-time is *HUGE*. My fix is to encode an int vector as a string literal (using two bytes per int) and emit code to decode the string to a vector at run-time. SML/NJ compiles string literals into substrings in the code, so this uses much less space. 06/02/94 (jhr): Modified export-lex.sml to conform to new installation scheme. Also removed tab characters from string literals. 10/05/94 (jhr): Changed generator to produce code that uses the new basis style strings and characters. 10/06/94 (jhr) Modified code to compile under new basis style strings and characters. 02/08/95 (jhr) Modified to use new List module interface. 05/18/95 (jhr) changed Vector.vector to Vector.fromList * Revision 1.9 1998/01/06 19:23:53 appel * added %posarg feature to permit position-within-file to be passed * as a parameter to makeLexer * # Revision 1.8 1998/01/06 19:01:48 appel # repaired error messages like "cannot have both %structure and %header" # # Revision 1.7 1998/01/06 18:55:49 appel # permit %% to be unescaped within regular expressions # # Revision 1.6 1998/01/06 18:46:13 appel # removed undocumented feature that permitted extra %% at end of rules # # Revision 1.5 1998/01/06 18:29:23 appel # put yylineno variable inside makeLexer function # # Revision 1.4 1998/01/06 18:19:59 appel # check for newline inside quoted string # # Revision 1.3 1997/10/04 03:52:13 dbm # Fix to remove output file if ml-lex fails. # 10/17/02 (jhr) changed bad character error message to properly print the bad character. 10/17/02 (jhr) fixed skipws to use Char.isSpace test. 07/27/05 (jhr) add \r as a recognized escape sequence. *) (* Subject: lookahead in sml-lex Reply-to: david.tarditi@CS.CMU.EDU Date: Mon, 21 Oct 91 14:13:26 -0400 There is a serious bug in the implementation of lookahead, as done in sml-lex, and described in Aho, Sethi, and Ullman, p. 134 "Implementing the Lookahead Operator" We have disallowed the use of lookahead for now because of this bug. As a counter-example to the implementation described in ASU, consider the following specification with the input string "aba" (this example is taken from a comp.compilers message from Dec. 1989, I think): type lexresult=unit val linenum = ref 1 fun error x = TextIO.output(TextIO.stdErr, x ^ "\n") val eof = fn () => () %% %structure Lex %% (a|ab)/ba => (print yytext; print "\n"; ()); The ASU proposal works as follows. Suppose that we are using NFA's to represent our regular expressions. Then to build an NFA for e1 / e2, we build an NFA n1 for e1 and an NFA n2 for e2, and add an epsilon transition from e1 to e2. When lexing, when we encounter the end state of e1e2, we take as the end of the string the position in the string that was the last occurrence of the state of the NFA having a transition on the epsilon introduced for /. Using the example we have above, we'll have an NFA with the following states: 1 -- a --> 2 -- b --> 3 | | | epsilon | epsilon | | |------------> 4 -- b --> 5 -- a --> 6 On our example, we get the following list of transitions: a : 2, 4 (make an epsilon transition from 2 to 4) ab : 3, 4, 5 (make an epsilon transition from 3 to 4) aba : 6 If we chose the last state in which we made an epsilon transition, we'll chose the transition from 3 to 4, and end up with "ab" as our token, when we should have "a" as our token. 2012-8-19 ohori: a type annotation added to fun > fun > ((key,item:string),(key',item')) = -> fun > ((key,item:string),(key',item':string)) = *) functor RedBlack(B : sig type key val > : key*key->bool end): sig type tree type key val empty : tree val insert : key * tree -> tree val lookup : key * tree -> key exception notfound of key end = struct open B datatype color = RED | BLACK datatype tree = empty | tree of key * color * tree * tree exception notfound of key fun insert (key,t) = let fun f empty = tree(key,RED,empty,empty) | f (tree(k,BLACK,l,r)) = if key>k then case f r of r as tree(rk,RED, rl as tree(rlk,RED,rll,rlr),rr) => (case l of tree(lk,RED,ll,lr) => tree(k,RED,tree(lk,BLACK,ll,lr), tree(rk,BLACK,rl,rr)) | _ => tree(rlk,BLACK,tree(k,RED,l,rll), tree(rk,RED,rlr,rr))) | r as tree(rk,RED,rl, rr as tree(rrk,RED,rrl,rrr)) => (case l of tree(lk,RED,ll,lr) => tree(k,RED,tree(lk,BLACK,ll,lr), tree(rk,BLACK,rl,rr)) | _ => tree(rk,BLACK,tree(k,RED,l,rl),rr)) | r => tree(k,BLACK,l,r) else if k>key then case f l of l as tree(lk,RED,ll, lr as tree(lrk,RED,lrl,lrr)) => (case r of tree(rk,RED,rl,rr) => tree(k,RED,tree(lk,BLACK,ll,lr), tree(rk,BLACK,rl,rr)) | _ => tree(lrk,BLACK,tree(lk,RED,ll,lrl), tree(k,RED,lrr,r))) | l as tree(lk,RED, ll as tree(llk,RED,lll,llr), lr) => (case r of tree(rk,RED,rl,rr) => tree(k,RED,tree(lk,BLACK,ll,lr), tree(rk,BLACK,rl,rr)) | _ => tree(lk,BLACK,ll,tree(k,RED,lr,r))) | l => tree(k,BLACK,l,r) else tree(key,BLACK,l,r) | f (tree(k,RED,l,r)) = if key>k then tree(k,RED,l, f r) else if k>key then tree(k,RED, f l, r) else tree(key,RED,l,r) in case f t of tree(k,RED, l as tree(_,RED,_,_), r) => tree(k,BLACK,l,r) | tree(k,RED, l, r as tree(_,RED,_,_)) => tree(k,BLACK,l,r) | t => t end fun lookup (key,t) = let fun look empty = raise (notfound key) | look (tree(k,_,l,r)) = if k>key then look l else if key>k then look r else k in look t end end signature LEXGEN = sig val lexGen: string -> unit end structure LexGen: LEXGEN = struct open Array List infix 9 sub datatype token = CHARS of bool array | QMARK | STAR | PLUS | BAR | LP | RP | CARAT | DOLLAR | SLASH | STATE of string list | REPS of int * int | ID of string | ACTION of string | BOF | EOF | ASSIGN | SEMI | ARROW | LEXMARK | LEXSTATES | COUNT | REJECT | FULLCHARSET | STRUCT | HEADER | ARG | POSARG datatype exp = EPS | CLASS of bool array * int | CLOSURE of exp | ALT of exp * exp | CAT of exp * exp | TRAIL of int | END of int (* flags describing input Lex spec. - unnecessary code is omitted *) (* if possible *) val CharFormat = ref false; val UsesTrailingContext = ref false; val UsesPrevNewLine = ref false; (* flags for various bells & whistles that Lex has. These slow the lexer down and should be omitted from production lexers (if you really want speed) *) val CountNewLines = ref false; val PosArg = ref false; val HaveReject = ref false; (* Can increase size of character set *) val CharSetSize = ref 129; (* Can name structure or declare header code *) val StrName = ref "Mlex" val HeaderCode = ref "" val HeaderDecl = ref false val ArgCode = ref (NONE: string option) val StrDecl = ref false val ResetFlags = fn () => (CountNewLines := false; HaveReject := false; PosArg := false; UsesTrailingContext := false; CharSetSize := 129; StrName := "Mlex"; HeaderCode := ""; HeaderDecl:= false; ArgCode := NONE; StrDecl := false) val LexOut = ref(TextIO.stdOut) fun say x = TextIO.output(!LexOut, x) (* Union: merge two sorted lists of integers *) fun union(a,b) = let val rec merge = fn (nil,nil,z) => z | (nil,el::more,z) => merge(nil,more,el::z) | (el::more,nil,z) => merge(more,nil,el::z) | (x::morex,y::morey,z) => if (x:int)=(y:int) then merge(morex,morey,x::z) else if x>y then merge(morex,y::morey,x::z) else merge(x::morex,morey,y::z) in merge(rev a,rev b,nil) end (* Nullable: compute if a important expression parse tree node is nullable *) val rec nullable = fn EPS => true | CLASS(_) => false | CLOSURE(_) => true | ALT(n1,n2) => nullable(n1) orelse nullable(n2) | CAT(n1,n2) => nullable(n1) andalso nullable(n2) | TRAIL(_) => true | END(_) => false (* FIRSTPOS: firstpos function for parse tree expressions *) and firstpos = fn EPS => nil | CLASS(_,i) => [i] | CLOSURE(n) => firstpos(n) | ALT(n1,n2) => union(firstpos(n1),firstpos(n2)) | CAT(n1,n2) => if nullable(n1) then union(firstpos(n1),firstpos(n2)) else firstpos(n1) | TRAIL(i) => [i] | END(i) => [i] (* LASTPOS: Lastpos function for parse tree expressions *) and lastpos = fn EPS => nil | CLASS(_,i) => [i] | CLOSURE(n) => lastpos(n) | ALT(n1,n2) => union(lastpos(n1),lastpos(n2)) | CAT(n1,n2) => if nullable(n2) then union(lastpos(n1),lastpos(n2)) else lastpos(n2) | TRAIL(i) => [i] | END(i) => [i] ; (* ++: Increment an integer reference *) fun ++(x) : int = (x := !x + 1; !x); structure dict = struct type 'a relation = 'a * 'a -> bool abstype ('b,'a) dictionary = DATA of { Table : ('b * 'a) list, Leq : 'b * 'b -> bool } with exception LOOKUP fun create Leqfunc = DATA { Table = nil, Leq = Leqfunc } fun lookup (DATA { Table = entrylist, Leq = leq }) key = let fun search [] = raise LOOKUP | search((k,item)::entries) = if leq(key,k) then if leq(k,key) then item else raise LOOKUP else search entries in search entrylist end fun enter (DATA { Table = entrylist, Leq = leq }) (newentry as (key : 'b,item :'a)) : ('b,'a) dictionary = let val gt = fn a => fn b => not (leq(a,b)) val eq = fn k => fn k' => (leq(k,k')) andalso (leq(k',k)) fun update nil = [ newentry ] | update ((entry as (k,_))::entries) = if (eq key k) then newentry::entries else if gt k key then newentry::(entry::entries) else entry::(update entries) in DATA { Table = update entrylist, Leq = leq } end fun listofdict (DATA { Table = entrylist,Leq = leq}) = let fun f (nil,r) = rev r | f (a::b,r) = f (b,a::r) in f(entrylist,nil) end end end open dict; (* INPUT.ML : Input w/ one character push back capability *) val LineNum = ref 1; abstype ibuf = BUF of TextIO.instream * {b : string ref, p : int ref} with fun make_ibuf(s) = BUF (s, {b=ref"", p = ref 0}) fun close_ibuf (BUF (s,_)) = TextIO.closeIn(s) exception eof fun getch (a as (BUF(s,{b,p}))) = if (!p = (size (!b))) then (b := TextIO.inputN(s, 1024); p := 0; if (size (!b))=0 then raise eof else getch a) else (let val ch = String.sub(!b,!p) in (if ch = #"\n" then LineNum := !LineNum + 1 else (); p := !p + 1; ch) end) fun ungetch(BUF(s,{b,p})) = ( p := !p - 1; if String.sub(!b,!p) = #"\n" then LineNum := !LineNum - 1 else ()) end; exception Error fun prErr x = ( TextIO.output (TextIO.stdErr, String.concat [ "ml-lex: error, line ", (Int.toString (!LineNum)), ": ", x, "\n" ]); raise Error) fun prSynErr x = ( TextIO.output (TextIO.stdErr, String.concat [ "ml-lex: syntax error, line ", (Int.toString (!LineNum)), ": ", x, "\n" ]); raise Error) exception SyntaxError; (* error in user's input file *) exception LexError; (* unexpected error in lexer *) val LexBuf = ref(make_ibuf(TextIO.stdIn)); val LexState = ref 0; val NextTok = ref BOF; val inquote = ref false; fun AdvanceTok () : unit = let fun isLetter c = ((c >= #"a") andalso (c <= #"z")) orelse ((c >= #"A") andalso (c <= #"Z")) fun isDigit c = (c >= #"0") andalso (c <= #"9") (* check for valid (non-leading) identifier character (added by JHR) *) fun isIdentChr c = ((isLetter c) orelse (isDigit c) orelse (c = #"_") orelse (c = #"'")) fun atoi s = let fun num (c::r, n) = if isDigit c then num (r, 10*n + (Char.ord c - Char.ord #"0")) else n | num ([], n) = n in num (explode s, 0) end fun skipws () = let val ch = nextch() in if Char.isSpace ch then skipws() else ch end and nextch () = getch(!LexBuf) and escaped () = (case nextch() of #"b" => #"\008" | #"n" => #"\n" | #"r" => #"\r" | #"t" => #"\t" | #"h" => #"\128" | x => let fun err t = prErr("illegal ascii escape '"^(implode(rev t))^"'") fun cvt c = (Char.ord c - Char.ord #"0") fun f (n, c, t) = if c=3 then if n >= (!CharSetSize) then err t else Char.chr n else let val ch=nextch() in if isDigit ch then f(n*10+(cvt ch), c+1, ch::t) else err t end in if isDigit x then f(cvt x, 1, [x]) else x end (* end case *)) and onechar x = let val c = array(!CharSetSize, false) in update(c, Char.ord(x), true); CHARS(c) end in case !LexState of 0 => let val makeTok = fn () => case skipws() (* Lex % operators *) of #"%" => (case nextch() of #"%" => LEXMARK | a => let fun f s = let val a = nextch() in if isLetter a then f(a::s) else (ungetch(!LexBuf); implode(rev s)) end in case f [a] of "reject" => REJECT | "count" => COUNT | "full" => FULLCHARSET | "S" => LEXSTATES | "s" => LEXSTATES | "structure" => STRUCT | "header" => HEADER | "arg" => ARG | "posarg" => POSARG | s => (if s = "s" then print "ok\n" else print "ng\n"; prErr ("unknown % operator: " ^ s) ) end ) (* semicolon (for end of LEXSTATES) *) | #";" => SEMI (* anything else *) | ch => if isLetter(ch) then let fun getID matched = let val x = nextch() (**** fix by JHR in if isLetter(x) orelse isDigit(x) orelse x = "_" orelse x = "'" ****) in if (isIdentChr x) then getID (x::matched) else (ungetch(!LexBuf); implode(rev matched)) end in ID(getID [ch]) end else prSynErr (String.concat[ "bad character: \"", Char.toString ch, "\"" ]) in NextTok := makeTok() end | 1 => let val rec makeTok = fn () => if !inquote then case nextch() of (* inside quoted string *) #"\\" => onechar(escaped()) | #"\"" => (inquote := false; makeTok()) | #"\n" => (prSynErr "end-of-line inside quoted string"; inquote := false; makeTok()) | x => onechar(x) else case skipws() of (* single character operators *) #"?" => QMARK | #"*" => STAR | #"+" => PLUS | #"|" => BAR | #"(" => LP | #")" => RP | #"^" => CARAT | #"$" => DOLLAR | #"/" => SLASH | #";" => SEMI | #"." => let val c = array(!CharSetSize,true) in update(c,10,false); CHARS(c) end (* assign and arrow *) | #"=" => let val c = nextch() in if c = #">" then ARROW else (ungetch(!LexBuf); ASSIGN) end (* character set *) | #"[" => let val rec classch = fn () => let val x = skipws() in if x = #"\\" then escaped() else x end; val first = classch(); val flag = (first <> #"^"); val c = array(!CharSetSize,not flag); fun add NONE = () | add (SOME x) = update(c, Char.ord(x), flag) and range (x, y) = if x>y then (prErr "bad char. range") else let val i = ref(Char.ord(x)) and j = Char.ord(y) in while !i<=j do ( add (SOME(Char.chr(!i))); i := !i + 1) end and getClass last = (case classch() of #"]" => (add(last); c) | #"-" => (case last of NONE => getClass(SOME #"-") | (SOME last') => let val x = classch() in if x = #"]" then (add(last); add(SOME #"-"); c) else (range(last',x); getClass(NONE)) end (* end case *)) | x => (add(last); getClass(SOME x)) (* end case *)) in CHARS(getClass(if first = #"^" then NONE else SOME first)) end (* Start States specification *) | #"<" => let val rec get_state = fn (prev,matched) => case nextch() of #">" => matched::prev | #"," => get_state(matched::prev,"") | x => if isIdentChr(x) then get_state(prev,matched ^ String.str x) else (prSynErr "bad start state list") in STATE(get_state(nil,"")) end (* {id} or repititions *) | #"{" => let val ch = nextch() in if isLetter(ch) then let fun getID matched = (case nextch() of #"}" => matched | x => if (isIdentChr x) then getID(matched ^ String.str x) else (prErr "invalid char. class name") (* end case *)) in ID(getID(String.str ch)) end else if isDigit(ch) then let fun get_r (matched, r1) = (case nextch() of #"}" => let val n = atoi(matched) in if r1 = ~1 then (n,n) else (r1,n) end | #"," => if r1 = ~1 then get_r("",atoi(matched)) else (prErr "invalid repetitions spec.") | x => if isDigit(x) then get_r(matched ^ String.str x,r1) else (prErr "invalid char in repetitions spec") (* end case *)) in REPS(get_r(String.str ch,~1)) end else (prErr "bad repetitions spec") end (* Lex % operators *) | #"\\" => onechar(escaped()) (* start quoted string *) | #"\"" => (inquote := true; makeTok()) (* anything else *) | ch => onechar(ch) in NextTok := makeTok() end | 2 => NextTok := (case skipws() of #"(" => let fun loop_to_end (backslash, x) = let val c = getch (! LexBuf) val notb = not backslash val nstr = c :: x in case c of #"\"" => if notb then nstr else loop_to_end (false, nstr) | _ => loop_to_end (c = #"\\" andalso notb, nstr) end fun GetAct (lpct, x) = let val c = getch (! LexBuf) val nstr = c :: x in case c of #"\"" => GetAct (lpct, loop_to_end (false, nstr)) | #"(" => GetAct (lpct + 1, nstr) | #")" => if lpct = 0 then implode (rev x) else GetAct(lpct - 1, nstr) | _ => GetAct(lpct, nstr) end in ACTION (GetAct (0,nil)) end | #";" => SEMI | c => (prSynErr ("invalid character " ^ String.str c))) | _ => raise LexError end handle eof => NextTok := EOF ; fun GetTok (_:unit) : token = let val t = !NextTok in AdvanceTok(); t end; val SymTab = ref (create String.<=) : (string,exp) dictionary ref fun GetExp () : exp = let val rec optional = fn e => ALT(EPS,e) and lookup' = fn name => lookup(!SymTab) name handle LOOKUP => prErr ("bad regular expression name: "^ name) and newline = fn () => let val c = array(!CharSetSize,false) in update(c,10,true); c end and endline = fn e => trail(e,CLASS(newline(),0)) and trail = fn (e1,e2) => CAT(CAT(e1,TRAIL(0)),e2) and closure1 = fn e => CAT(e,CLOSURE(e)) and repeat = fn (min,max,e) => let val rec rep = fn (0,0) => EPS | (0,1) => ALT(e,EPS) | (0,i) => CAT(rep(0,1),rep(0,i-1)) | (i,j) => CAT(e,rep(i-1,j-1)) in rep(min,max) end and exp0 = fn () => case GetTok() of CHARS(c) => exp1(CLASS(c,0)) | LP => let val e = exp0() in if !NextTok = RP then (AdvanceTok(); exp1(e)) else (prSynErr "missing ')'") end | ID(name) => exp1(lookup' name) | _ => raise SyntaxError and exp1 = fn (e) => case !NextTok of SEMI => e | ARROW => e | EOF => e | LP => exp2(e,exp0()) | RP => e | t => (AdvanceTok(); case t of QMARK => exp1(optional(e)) | STAR => exp1(CLOSURE(e)) | PLUS => exp1(closure1(e)) | CHARS(c) => exp2(e,CLASS(c,0)) | BAR => ALT(e,exp0()) | DOLLAR => (UsesTrailingContext := true; endline(e)) | SLASH => (UsesTrailingContext := true; trail(e,exp0())) | REPS(i,j) => exp1(repeat(i,j,e)) | ID(name) => exp2(e,lookup' name) | _ => raise SyntaxError) and exp2 = fn (e1,e2) => case !NextTok of SEMI => CAT(e1,e2) | ARROW => CAT(e1,e2) | EOF => CAT(e1,e2) | LP => exp2(CAT(e1,e2),exp0()) | RP => CAT(e1,e2) | t => (AdvanceTok(); case t of QMARK => exp1(CAT(e1,optional(e2))) | STAR => exp1(CAT(e1,CLOSURE(e2))) | PLUS => exp1(CAT(e1,closure1(e2))) | CHARS(c) => exp2(CAT(e1,e2),CLASS(c,0)) | BAR => ALT(CAT(e1,e2),exp0()) | DOLLAR => (UsesTrailingContext := true; endline(CAT(e1,e2))) | SLASH => (UsesTrailingContext := true; trail(CAT(e1,e2),exp0())) | REPS(i,j) => exp1(CAT(e1,repeat(i,j,e2))) | ID(name) => exp2(CAT(e1,e2),lookup' name) | _ => raise SyntaxError) in exp0() end; val StateTab = ref(create(String.<=)) : (string,int) dictionary ref val StateNum = ref 0; fun GetStates () : int list = let fun add nil sl = sl | add (x::y) sl = add y (union ([lookup (!StateTab)(x) handle LOOKUP => prErr ("bad state name: "^x) ],sl)) fun addall i sl = if i <= !StateNum then addall (i+2) (union ([i],sl)) else sl fun incall (x::y) = (x+1)::incall y | incall nil = nil fun addincs nil = nil | addincs (x::y) = x::(x+1)::addincs y val state_list = case !NextTok of STATE s => (AdvanceTok(); LexState := 1; add s nil) | _ => addall 1 nil in case !NextTok of CARAT => (LexState := 1; AdvanceTok(); UsesPrevNewLine := true; incall state_list) | _ => addincs state_list end val LeafNum = ref ~1; fun renum(e : exp) : exp = let val rec label = fn EPS => EPS | CLASS(x,_) => CLASS(x,++LeafNum) | CLOSURE(e) => CLOSURE(label(e)) | ALT(e1,e2) => ALT(label(e1),label(e2)) | CAT(e1,e2) => CAT(label(e1),label(e2)) | TRAIL(i) => TRAIL(++LeafNum) | END(i) => END(++LeafNum) in label(e) end; exception ParseError; fun parse() : (string * (int list * exp) list * ((string,string) dictionary)) = let val Accept = ref (create String.<=) : (string,string) dictionary ref val rec ParseRtns = fn l => case getch(!LexBuf) of #"%" => let val c = getch(!LexBuf) in if c = #"%" then (implode (rev l)) else ParseRtns(c :: #"%" :: l) end | c => ParseRtns(c::l) and ParseDefs = fn () => (LexState:=0; AdvanceTok(); case !NextTok of LEXMARK => () | LEXSTATES => let fun f () = (case !NextTok of (ID i) => (StateTab := enter(!StateTab)(i,++StateNum); ++StateNum; AdvanceTok(); f()) | _ => ()) in AdvanceTok(); f (); if !NextTok=SEMI then ParseDefs() else (prSynErr "expected ';'") end | ID x => (LexState:=1; AdvanceTok(); if GetTok() = ASSIGN then (SymTab := enter(!SymTab)(x,GetExp()); if !NextTok = SEMI then ParseDefs() else (prSynErr "expected ';'")) else raise SyntaxError) | REJECT => (HaveReject := true; ParseDefs()) | COUNT => (CountNewLines := true; ParseDefs()) | FULLCHARSET => (CharSetSize := 256; ParseDefs()) | HEADER => (LexState := 2; AdvanceTok(); case GetTok() of ACTION s => if (!StrDecl) then (prErr "cannot have both %structure and %header \ \declarations") else if (!HeaderDecl) then (prErr "duplicate %header declarations") else (HeaderCode := s; LexState := 0; HeaderDecl := true; ParseDefs()) | _ => raise SyntaxError) | POSARG => (PosArg := true; ParseDefs()) | ARG => (LexState := 2; AdvanceTok(); case GetTok() of ACTION s => (case !ArgCode of SOME _ => prErr "duplicate %arg declarations" | NONE => ArgCode := SOME s; LexState := 0; ParseDefs()) | _ => raise SyntaxError) | STRUCT => (AdvanceTok(); case !NextTok of (ID i) => if (!HeaderDecl) then (prErr "cannot have both %structure and %header \ \declarations") else if (!StrDecl) then (prErr "duplicate %structure declarations") else (StrName := i; StrDecl := true) | _ => (prErr "expected ID"); ParseDefs()) | _ => raise SyntaxError) and ParseRules = fn rules => (LexState:=1; AdvanceTok(); case !NextTok of EOF => rules | _ => let val s = GetStates() val e = renum(CAT(GetExp(),END(0))) in if !NextTok = ARROW then (LexState:=2; AdvanceTok(); case GetTok() of ACTION(act) => if !NextTok=SEMI then (Accept:=enter(!Accept) (Int.toString (!LeafNum),act); ParseRules((s,e)::rules)) else (prSynErr "expected ';'") | _ => raise SyntaxError) else (prSynErr "expected '=>'") end) in let val usercode = ParseRtns nil in (ParseDefs(); (usercode,ParseRules(nil),!Accept)) end end handle SyntaxError => (prSynErr "") fun makebegin () : unit = let fun make nil = () | make ((x,n:int)::y)=(say "val "; say x; say " = " ; say "STARTSTATE "; say (Int.toString n); say ";\n"; make y) in say "\n(* start state definitions *)\n\n"; make(listofdict(!StateTab)) end structure L = struct nonfix > type key = int list * string fun > ((key,item:string),(key',item':string)) = let fun f ((a:int)::a') (b::b') = if Int.> (a,b) then true else if a=b then f a' b' else false | f _ _ = false in f key key' end end structure RB = RedBlack(L) fun maketable (fins:(int * (int list)) list, tcs :(int * (int list)) list, tcpairs: (int * int) list, trans : (int*(int list)) list) : unit = (* Fins = (state #, list of final leaves for the state) list tcs = (state #, list of trailing context leaves which begin in this state) list tcpairs = (trailing context leaf, end leaf) list trans = (state #,list of transitions for state) list *) let datatype elem = N of int | T of int | D of int val count = ref 0 val _ = (if length(trans)<256 then CharFormat := true else CharFormat := false; if !UsesTrailingContext then (say "\ndatatype yyfinstate = N of int | \ \ T of int | D of int\n") else say "\ndatatype yyfinstate = N of int"; say "\ntype statedata = {fin : yyfinstate list, trans: "; case !CharFormat of true => say "string}" | false => say "int Vector.vector}"; say "\n(* transition & final state table *)\nval tab = let\n"; case !CharFormat of true => () | false => (say "fun decode s k =\n"; say " let val k' = k + k\n"; say " val hi = Char.ord(String.sub(s, k'))\n"; say " val lo = Char.ord(String.sub(s, k' + 1))\n"; say " in hi * 256 + lo end\n")) val newfins = let fun IsEndLeaf t = let fun f ((l,e)::r) = if (e=t) then true else f r | f nil = false in f tcpairs end fun GetEndLeaf t = let fun f ((tl,el)::r) = if (tl=t) then el else f r | f _ = raise Match in f tcpairs end fun GetTrConLeaves s = let fun f ((s',l)::r) = if (s = s') then l else f r | f nil = nil in f tcs end fun sort_leaves s = let fun insert (x:int) (a::b) = if (x <= a) then x::(a::b) else a::(insert x b) | insert x nil = [x] in List.foldr (fn (x,r) => insert x r) [] s end fun conv a = if (IsEndLeaf a) then (D a) else (N a) fun merge (a::a',b::b') = if (a <= b) then (conv a)::merge(a',b::b') else (T b)::(merge(a::a',b')) | merge (a::a',nil) = (conv a)::(merge (a',nil)) | merge (nil,b::b') = (T b)::(merge (b',nil)) | merge (nil,nil) = nil in map (fn (x,l) => rev (merge (l, sort_leaves (map (fn x => GetEndLeaf x) (GetTrConLeaves x))))) fins end val rs = let open RB fun makeItems x = let fun emit8(x, pos) = let val s = StringCvt.padLeft #"0" 3 (Int.toString x) in case pos of 16 => (say "\\\n\\\\"; say s; 1) | _ => (say "\\"; say s; pos+1) end fun emit16(x, pos) = let val hi8 = x div 256 val lo8 = x - hi8 * 256 (* x rem 256 *) in emit8(lo8, emit8(hi8, pos)) end fun MakeString([], _, _) = () | MakeString(x::xs, emitter, pos) = MakeString(xs, emitter, emitter(x, pos)) in case !CharFormat of true => (say " \n\""; MakeString(x,emit8,0); say "\"\n") | false => (say (Int.toString(length x)); say ", \n\""; MakeString(x,emit16,0); say "\"\n") end fun makeEntry(nil,rs,t) = rev rs | makeEntry(((l:int,x)::y),rs,t) = let val name = (Int.toString l) in let val (r,n) = lookup ((x,name),t) in makeEntry(y,(n::rs),t) end handle notfound _ => (count := !count+1; say " ("; say name; say ","; makeItems x; say "),\n"; makeEntry(y,(name::rs),(insert ((x,name),t)))) end val _ = say "val s = [ \n" val res = makeEntry(trans,nil,empty) val _ = case !CharFormat of true => (say "(0, \"\")]\n"; say "fun f x = x \n") | false => (say "(0, 0, \"\")]\n"; say "fun f(n, i, x) = (n, Vector.tabulate(i, decode x)) \n") val _ = say "val s = map f (rev (tl (rev s))) \n" val _ = say "exception LexHackingError \n" val _ = say "fun look ((j,x)::r, i: int) = if i = j then x else look(r, i) \n" val _ = say " | look ([], i) = raise LexHackingError\n" val _ = say "fun g {fin=x, trans=i} = {fin=x, trans=look(s,i)} \n" in res end fun makeTable args = let fun makeOne (a, b) = let fun item (N i) = ("N", i) | item (T i) = ("T", i) | item (D i) = ("D", i) fun makeItem x = let val (t, n) = item x in app say ["(", t, " ", Int.toString n, ")"] end fun makeItems [] = () | makeItems [x] = makeItem x | makeItems (hd :: tl) = (makeItem hd; say ","; makeItems tl) in say "{fin = ["; makeItems b; app say ["], trans = ", a, "}"] end fun mt ([], []) = () | mt ([a], [b]) = makeOne (a, b) | mt (a :: a', b :: b') = (makeOne (a, b); say ",\n"; mt (a', b')) | mt _ = raise Match in mt args end (* fun makeTable(nil,nil) = () | makeTable(a::a',b::b') = let fun makeItems nil = () | makeItems (hd::tl) = let val (t,n) = case hd of (N i) => ("(N ",i) | (T i) => ("(T ",i) | (D i) => ("(D ",i) in (say t; say (Int.toString n); say ")"; if null tl then () else (say ","; makeItems tl)) end in (say "{fin = ["; makeItems b; say "], trans = "; say a; say "}"; if null a' then () else (say ",\n"; makeTable(a',b'))) end *) fun msg x = TextIO.output(TextIO.stdOut, x) in (say "in Vector.fromList(map g \n["; makeTable(rs,newfins); say "])\nend\n"; msg ("\nNumber of states = " ^ (Int.toString (length trans))); msg ("\nNumber of distinct rows = " ^ (Int.toString (!count))); msg ("\nApprox. memory size of trans. table = " ^ (Int.toString (!count*(!CharSetSize)*(if !CharFormat then 1 else 8)))); msg " bytes\n") end (* makeaccept: Takes a (string,string) dictionary, prints case statement for accepting leaf actions. The key strings are the leaf #'s, the data strings are the actions *) fun makeaccept ends = let fun startline f = if f then say " " else say "| " fun make(nil,f) = (startline f; say "_ => raise Internal.LexerError\n") | make((x,a)::y,f) = (startline f; say x; say " => "; if Substring.size(#2 (Substring.position "yytext" (Substring.full a))) = 0 then (say "("; say a; say ")") else (say "let val yytext=yymktext() in "; say a; say " end"); say "\n"; make(y,false)) in make (listofdict(ends),true) end fun leafdata(e:(int list * exp) list) = let val fp = array(!LeafNum + 1,nil) and leaf = array(!LeafNum + 1,EPS) and tcpairs = ref nil and trailmark = ref ~1; val rec add = fn (nil,x) => () | (hd::tl,x) => (update(fp,hd,union(fp sub hd,x)); add(tl,x)) and moredata = fn CLOSURE(e1) => (moredata(e1); add(lastpos(e1),firstpos(e1))) | ALT(e1,e2) => (moredata(e1); moredata(e2)) | CAT(e1,e2) => (moredata(e1); moredata(e2); add(lastpos(e1),firstpos(e2))) | CLASS(x,i) => update(leaf,i,CLASS(x,i)) | TRAIL(i) => (update(leaf,i,TRAIL(i)); if !trailmark = ~1 then trailmark := i else ()) | END(i) => (update(leaf,i,END(i)); if !trailmark <> ~1 then (tcpairs := (!trailmark,i)::(!tcpairs); trailmark := ~1) else ()) | _ => () and makedata = fn nil => () | (_,x)::tl => (moredata(x);makedata(tl)) in trailmark := ~1; makedata(e); (fp,leaf,!tcpairs) end; fun makedfa(rules) = let val StateTab = ref (create(String.<=)) : (string,int) dictionary ref val fintab = ref (create(Int.<=)) : (int,(int list)) dictionary ref val transtab = ref (create(Int.<=)) : (int,int list) dictionary ref val tctab = ref (create(Int.<=)) : (int,(int list)) dictionary ref val (fp, leaf, tcpairs) = leafdata(rules); fun visit (state,statenum) = let val transitions = gettrans(state) in fintab := enter(!fintab)(statenum,getfin(state)); tctab := enter(!tctab)(statenum,gettc(state)); transtab := enter(!transtab)(statenum,transitions) end and visitstarts (states) = let fun vs nil i = () | vs (hd::tl) i = (visit (hd,i); vs tl (i+1)) in vs states 0 end and hashstate(s: int list) = let val rec hs = fn (nil,z) => z | ((x:int)::y,z) => hs(y,z ^ " " ^ (Int.toString x)) in hs(s,"") end and find(s) = lookup(!StateTab)(hashstate(s)) and add(s,n) = StateTab := enter(!StateTab)(hashstate(s),n) and getstate (state) = find(state) handle LOOKUP => let val n = ++StateNum in add(state,n); visit(state,n); n end and getfin state = let fun f nil fins = fins | f (hd::tl) fins = case (leaf sub hd) of END _ => f tl (hd::fins) | _ => f tl fins in f state nil end and gettc state = let fun f nil fins = fins | f (hd::tl) fins = case (leaf sub hd) of TRAIL _ => f tl (hd::fins) | _ => f tl fins in f state nil end and gettrans (state) = let fun loop c tlist = let fun cktrans nil r = r | cktrans (hd::tl) r = case (leaf sub hd) of CLASS(i,_)=> (if (i sub c) then cktrans tl (union(r,fp sub hd)) else cktrans tl r handle Subscript => cktrans tl r ) | _ => cktrans tl r in if c >= 0 then let val v=cktrans state nil in loop (c-1) (if v=nil then 0::tlist else (getstate v)::tlist) end else tlist end in loop ((!CharSetSize) - 1) nil end and startstates() = let val startarray = array(!StateNum + 1, nil); fun listofarray(a,n) = let fun f i l = if i >= 0 then f (i-1) ((a sub i)::l) else l in f (n-1) nil end val rec makess = fn nil => () | (startlist,e)::tl => (fix(startlist,firstpos(e));makess(tl)) and fix = fn (nil,_) => () | (s::tl,firsts) => (update(startarray,s, union(firsts,startarray sub s)); fix(tl,firsts)) in makess(rules);listofarray(startarray, !StateNum + 1) end in visitstarts(startstates()); (listofdict(!fintab),listofdict(!transtab),listofdict(!tctab),tcpairs) end val skel_hd = " struct\n\ \ structure UserDeclarations =\n\ \ struct\n\ \" val skel_mid2 = " | Internal.D k => action (i,(acts::l),k::rs)\n\ \ | Internal.T k =>\n\ \ let fun f (a::b,r) =\n\ \ if a=k\n\ \ then action(i,(((Internal.N a)::acts)::l),(b@r))\n\ \ else f (b,a::r)\n\ \ | f (nil,r) = action(i,(acts::l),rs)\n\ \ in f (rs,nil)\n\ \ end\n\ \" fun lexGen(infile) = let val outfile = infile ^ ".sml" fun PrintLexer (ends) = let val sayln = fn x => (say x; say "\n") in case !ArgCode of NONE => (sayln "fun lex () : Internal.result ="; sayln "let fun continue() = lex() in") | SOME s => (say "fun lex "; say "(yyarg as ("; say s; sayln ")) ="; sayln "let fun continue() : Internal.result = "); say " let fun scan (s,AcceptingLeaves : Internal.yyfinstate"; sayln " list list,l,i0) ="; if !UsesTrailingContext then say "\tlet fun action (i,nil,rs)" else say "\tlet fun action (i,nil)"; sayln " = raise LexError"; if !UsesTrailingContext then sayln "\t| action (i,nil::l,rs) = action(i-1,l,rs)" else sayln "\t| action (i,nil::l) = action (i-1,l)"; if !UsesTrailingContext then sayln "\t| action (i,(node::acts)::l,rs) =" else sayln "\t| action (i,(node::acts)::l) ="; sayln "\t\tcase node of"; sayln "\t\t Internal.N yyk => "; sayln "\t\t\t(let fun yymktext() = substring(!yyb,i0,i-i0)\n\ \\t\t\t val yypos = i0+ !yygone"; if !CountNewLines then (sayln "\t\t\tval _ = yylineno := CharVectorSlice.foldli"; sayln "\t\t\t\t(fn (_,#\"\\n\", n) => n+1 | (_,_, n) => n) (!yylineno) (CharVectorSlice.slice (!yyb,i0,SOME(i-i0)))") else (); if !HaveReject then (say "\t\t\tfun REJECT() = action(i,acts::l"; if !UsesTrailingContext then sayln ",rs)" else sayln ")") else (); sayln "\t\t\topen UserDeclarations Internal.StartStates"; sayln " in (yybufpos := i; case yyk of "; sayln ""; sayln "\t\t\t(* Application actions *)\n"; makeaccept(ends); say "\n\t\t) end "; say ")\n\n"; if (!UsesTrailingContext) then say skel_mid2 else (); (* (* Ueno (2011-11-25): SML# does not have Unsafe. *) sayln "\tval {fin,trans} = Unsafe.Vector.sub(Internal.tab, s)"; *) sayln "\tval {fin,trans} = Vector.sub(Internal.tab, s)"; sayln "\tval NewAcceptingLeaves = fin::AcceptingLeaves"; sayln "\tin if l = !yybl then"; sayln "\t if trans = #trans(Vector.sub(Internal.tab,0))"; sayln "\t then action(l,NewAcceptingLeaves"; if !UsesTrailingContext then say ",nil" else (); say ") else"; sayln "\t let val newchars= if !yydone then \"\" else yyinput 1024"; sayln "\t in if (size newchars)=0"; sayln "\t\t then (yydone := true;"; say "\t\t if (l=i0) then UserDeclarations.eof "; sayln (case !ArgCode of NONE => "()" | SOME _ => "yyarg"); say "\t\t else action(l,NewAcceptingLeaves"; if !UsesTrailingContext then sayln ",nil))" else sayln "))"; sayln "\t\t else (if i0=l then yyb := newchars"; sayln "\t\t else yyb := substring(!yyb,i0,l-i0)^newchars;"; sayln "\t\t yygone := !yygone+i0;"; sayln "\t\t yybl := size (!yyb);"; sayln "\t\t scan (s,AcceptingLeaves,l-i0,0))"; sayln "\t end"; (* (* Ueno (2011-11-25): SML# does not have Unsafe. *) sayln "\t else let val NewChar = Char.ord(Unsafe.CharVector.sub(!yyb,l))"; *) sayln "\t else let val NewChar = Char.ord(CharVector.sub(!yyb,l))"; if !CharSetSize=129 then sayln "\t\tval NewChar = if NewChar<128 then NewChar else 128" else (); say "\t\tval NewState = "; (* (* Ueno (2011-11-25): SML# does not have Unsafe. *) sayln (if !CharFormat then "Char.ord(Unsafe.CharVector.sub(trans,NewChar))" else "Unsafe.Vector.sub(trans, NewChar)"); *) sayln (if !CharFormat then "Char.ord(CharVector.sub(trans,NewChar))" else "Vector.sub(trans, NewChar)"); say "\t\tin if NewState=0 then action(l,NewAcceptingLeaves"; if !UsesTrailingContext then sayln ",nil)" else sayln ")"; sayln "\t\telse scan(NewState,NewAcceptingLeaves,l+1,i0)"; sayln "\tend"; sayln "\tend"; if !UsesPrevNewLine then () else sayln "(*"; sayln "\tval start= if substring(!yyb,!yybufpos-1,1)=\"\\n\""; sayln "then !yybegin+1 else !yybegin"; if !UsesPrevNewLine then () else sayln "*)"; say "\tin scan("; if !UsesPrevNewLine then say "start" else say "!yybegin (* start *)"; sayln ",nil,!yybufpos,!yybufpos)"; sayln " end"; sayln (case !ArgCode of NONE => "end" | SOME _ => "in continue end"); sayln " in lex"; sayln " end"; sayln "end" end in (UsesPrevNewLine := false; ResetFlags(); LexBuf := make_ibuf(TextIO.openIn infile); NextTok := BOF; inquote := false; LexOut := TextIO.openOut(outfile); StateNum := 2; LineNum := 1; StateTab := enter(create(String.<=))("INITIAL",1); LeafNum := ~1; let val (user_code,rules,ends) = parse() handle x => (close_ibuf(!LexBuf); TextIO.closeOut(!LexOut); OS.FileSys.remove outfile; raise x) val (fins,trans,tctab,tcpairs) = makedfa(rules) val _ = if !UsesTrailingContext then (close_ibuf(!LexBuf); TextIO.closeOut(!LexOut); OS.FileSys.remove outfile; prErr "lookahead is unimplemented") else () in if (!HeaderDecl) then say (!HeaderCode) else say ("structure " ^ (!StrName)); say "=\n"; say skel_hd; say user_code; say "end (* end of user routines *)\n"; say "exception LexError (* raised if illegal leaf "; say "action tried *)\n"; say "structure Internal =\n\tstruct\n"; maketable(fins,tctab,tcpairs,trans); say "structure StartStates =\n\tstruct\n"; say "\tdatatype yystartstate = STARTSTATE of int\n"; makebegin(); say "\nend\n"; say "type result = UserDeclarations.lexresult\n"; say "\texception LexerError (* raised if illegal leaf "; say "action tried *)\n"; say "end\n\n"; say (if (!PosArg) then "fun makeLexer (yyinput,yygone0:int) =\nlet\n" (* (* Ueno (2011-11-25): fix of the first-character-position bug. *) else "fun makeLexer yyinput =\nlet\tval yygone0=1\n"); *) else "fun makeLexer yyinput =\nlet\tval yygone0= ~1\n"); if !CountNewLines then say "\tval yylineno = ref 0\n\n" else (); say "\tval yyb = ref \"\\n\" \t\t(* buffer *)\n\ \\tval yybl = ref 1\t\t(*buffer length *)\n\ \\tval yybufpos = ref 1\t\t(* location of next character to use *)\n\ \\tval yygone = ref yygone0\t(* position in file of beginning of buffer *)\n\ \\tval yydone = ref false\t\t(* eof found yet? *)\n\ \\tval yybegin = ref 1\t\t(*Current 'start state' for lexer *)\n\ \\n\tval YYBEGIN = fn (Internal.StartStates.STARTSTATE x) =>\n\ \\t\t yybegin := x\n\n"; PrintLexer(ends); close_ibuf(!LexBuf); TextIO.closeOut(!LexOut) end) end end smlsharp-1.2.0/src/ml-lex/lexgen.tex0000644 000000000000000000005433112050661606017502 0ustar00rootroot0000000 0000000 \documentstyle{article} \title{ A lexical analyzer generator for Standard ML.\\ Version 1.6.0, October 1994 } \author{ Andrew W. Appel$^1$\\ James S. Mattson\\ David R. Tarditi$^2$\\ \\ \small $^1$Department of Computer Science, Princeton University \\ \small $^2$School of Computer Science, Carnegie Mellon University } \date{} \begin{document} \maketitle \begin{center} (c) 1989-94 Andrew W. Appel, James S. Mattson, David R. Tarditi \end{center} {\bf This software comes with ABSOLUTELY NO WARRANTY. It is subject only to the terms of the ML-Yacc NOTICE, LICENSE, and DISCLAIMER (in the file COPYRIGHT distributed with this software). } \vspace{1in} New in this version: \begin{itemize} \item REJECT is much less costly than before. \item Lexical analyzers with more than 255 states can now compile in your lifetime. \end{itemize} \newpage \tableofcontents \newpage \section{General Description} Computer programs often need to divide their input into words and distinguish between different kinds of words. Compilers, for example, need to distinguish between integers, reserved words, and identifiers. Applications programs often need to be able to recognize components of typed commands from users. The problem of segmenting input into words and recognizing classes of words is known as lexical analysis. Small cases of this problem, such as reading text strings separated by spaces, can be solved by using hand-written programs. Larger cases of this problem, such as tokenizing an input stream for a compiler, can also be solved using hand-written programs. A hand-written program for a large lexical analysis problem, however, suffers from two major problems. First, the program requires a fair amount of programmer time to create. Second, the description of classes of words is not explicit in the program. It must be inferred from the program code. This makes it difficult to verify if the program recognizes the correct words for each class. It also makes future maintenance of the program difficult. Lex, a programming tool for the Unix system, is a successful solution to the general problem of lexical analysis. It uses regular expressions to describe classes of words. A program fragment is associated with each class of words. This information is given to Lex as a specification (a Lex program). Lex produces a program for a function that can be used to perform lexical analysis. The function operates as follows. It finds the longest word starting from the current position in the input stream that is in one of the word classes. It executes the program fragment associated with the class, and sets the current position in the input stream to be the character after the word. The program fragment has the actual text of the word available to it, and may be any piece of code. For many applications it returns some kind of value. Lex allows the programmer to make the language description explicit, and to concentrate on what to do with the recognized words, not how to recognize the words. It saves programmer time and increases program maintainability. Unfortunately, Lex is targeted only C. It also places artificial limits on the size of strings that can be recognized. ML-Lex is a variant of Lex for the ML programming language. ML-Lex has a syntax similar to Lex, and produces an ML program instead of a C program. ML-Lex produces a program that runs very efficiently. Typically the program will be as fast or even faster than a hand-coded lexer implemented in Standard ML. The program typically uses only a small amount of space. ML-Lex thus allows ML programmers the same benefits that Lex allows C programmers. It also does not place artificial limits on the size of recognized strings. \section{ML-Lex specifications} An ML-Lex specification has the general format: \begin{quote} {user declarations} \verb|%%| {ML-Lex definitions} \verb|%%| {rules} \end{quote} Each section is separated from the others by a \verb|%%| delimiter. The rules are used to define the lexical analysis function. Each rule has two parts---a regular expression and an action. The regular expression defines the word class that a rule matches. The action is a program fragment to be executed when a rule matches the input. The actions are used to compute values, and must all return values of the same type. The user can define values available to all rule actions in the user declarations section. The user must define two values in this section---a type lexresult and a function eof. Lexresult defines the type of values returned by the rule actions. The function "eof" is called by the lexer when the end of the input stream is reached. It will typically return a value signalling eof or raise an exception. It is called with the same argument as lex (see \verb|%arg|, below), and must return a value of type lexresult. In the definitions section, the user can define named regular expressions, a set of start states, and specify which of the various bells and whistles of ML-Lex are desired. The start states allow the user to control when certain rules are matched. Rules may be defined to match only when the lexer is in specific start states. The user may change the lexer's start state in a rule action. This allows the user to specify special handling of lexical objects. This feature is typically used to handle quoted strings with escapes to denote special characters. The rules to recognize the inside contents of a string are defined for only one start state. This start state is entered when the beginning of a string is recognized, and exited when the end of the string is recognized. \section{Regular expressions} Regular expressions are a simple language for denoting classes of strings. A regular expression is defined inductively over an alphabet with a set of basic operations. The alphabet for ML-Lex is the Ascii character set (character codes 0--127; or if \verb|%full| is used, 0--255). The syntax and semantics of regular expressions will be described in order of decreasing precedence (from the most tightly binding operators to the most weakly binding): \begin{itemize} \item An individual character stands for itself, except for the reserved characters \verb@? * + | ( ) ^ $ / ; . = < > [ { " \@ \item[\\] A backslash followed by one of the reserved characters stands for that character. \item A set of characters enclosed in square brackets [ ] stands for any one of those characters. Inside the brackets, only the symbols \verb|\ - ^| are reserved. An initial up-arrow \verb|^| stands for the complement of the characters listed, e.g. \verb|[^abc]| stands any character except a, b, or c. The hyphen - denotes a range of characters, e.g. \verb|[a-z]| stands for any lower-case alphabetic character, and \verb|[0-9a-fA-F]| stands for any hexadecimal digit. To include \verb|^| literally in a bracketed set, put it anywhere but first; to include \verb|-| literally in a set, put it first or last. \item[\verb|.|] The dot \verb|.| character stands for any character except newline, i.e. the same as \verb|[^\n]| \item The following special escape sequences are available, inside or outside of square-brackets: \begin{tabular}{ll} \verb|\b|& backspace\\ \verb|\n|& newline\\ \verb|\t|& tab\\ \verb|\h|& stands for all characters with codes $>127$,\\ &~~~~ when 7-bit characters are used.\\ \verb|\ddd|& where \verb|ddd| is a 3 digit decimal escape.\\ \end{tabular} \item[\verb|"|] A sequence of characters will stand for itself (reserved characters will be taken literally) if it is enclosed in double quotes \verb|" "|. \item[\{\}] A named regular expression (defined in the ``definitions" section) may be referred to by enclosing its name in braces \verb|{ }|. \item[()] Any regular expression may be enclosed in parentheses \verb|( )| for syntactic (but, as usual, not semantic) effect. \item[\verb|*|] The postfix operator \verb|*| stands for Kleene closure: zero or more repetitions of the preceding expression. \item[\verb|+|] The postfix operator \verb|+| stands for one or more repetitions of the preceding expression. \item[\verb|?|] The postfix operator \verb|?| stands for zero or one occurrence of the preceding expression. \item A postfix repetition range $\{n_1,n_2\}$ where $n_1$ and $n_2$ are small integers stands for any number of repetitions between $n_1$ and $n_2$ of the preceding expression. The notation $\{n_1\}$ stands for exactly $n_1$ repetitions. \item Concatenation of expressions denotes concatenation of strings. The expression $e_1 e_2$ stands for any string that results from the concatenation of one string that matches $e_1$ with another string that matches $e_2$. \item\verb-|- The infix operator \verb-|- stands for alternation. The expression $e_1$~\verb"|"~$e_2$ stands for anything that either $e_1$ or $e_2$ stands for. \item[\verb|/|] The infix operator \verb|/| denotes lookahead. Lookahead is not implemented and cannot be used, because there is a bug in the algorithm for generating lexers with lookahead. If it could be used, the expression $e_1 / e_2$ would match any string that $e_1$ stands for, but only when that string is followed by a string that matches $e_2$. \item When the up-arrow \verb|^| occurs at the beginning of an expression, that expression will only match strings that occur at the beginning of a line (right after a newline character). \item[\$] The dollar sign of C Lex \$ is not implemented, since it is an abbreviation for lookahead involving the newline character (that is, it is an abbreviation for \verb|/\n|). \end{itemize} Here are some examples of regular expressions, and descriptions of the set of strings they denote: \begin{tabular}{ll} \verb~0 | 1 | 2 | 3~& A single digit between 0 and 3\\ \verb|[0123]|& A single digit between 0 and 3\\ \verb|0123|& The string ``0123"\\ \verb|0*|& All strings of 0 or more 0's\\ \verb|00*|& All strings of 1 or more 0's\\ \verb|0+|& All strings of 1 or more 0's\\ \verb|[0-9]{3}|& Any three-digit decimal number.\\ \verb|\\[ntb]|& A newline, tab, or backspace.\\ \verb|(00)*|& Any string with an even number of 0's. \end{tabular} \section{ML-Lex syntax summary} \subsection{User declarations} Anything up to the first \verb|%%| is in the user declarations section. The user should note that no symbolic identifier containing \verb|%%| can be used in this section. \subsection{ML-Lex definitions} Start states can be defined with \begin{quote} \verb|%s| {identifier list} \verb|;| \end{quote} An identifier list consists of one or more identifiers. An identifier consists of one or more letters, digits, underscores, or primes, and must begin with a letter. Named expressions can be defined with \begin{quote} {identifier} = {regular expression} ; \end{quote} Regular expressions are defined below. The following \% commands are also available: \begin{description} \item[\tt \%reject] create REJECT() function \item[\tt \%count] count newlines using yylineno \item[\tt \%posarg] pass initial-position argument to makeLexer \item[\tt \%full] create lexer for the full 8-bit character set, with characters in the range 0--255 permitted as input. \item[\tt \%structure \{identifier\}] name the structure in the output program {identifier} instead of Mlex \item[\tt \%header] use code following it to create header for lexer structure \item[\tt \%arg] extra (curried) formal parameter argument to be passed to the lex functions, and to be passed to the eof function in place of () \end{description} These functions are discussed in section~\ref{avail}. \subsection{Rules} Each rule has the format: \begin{quote} \verb|<|{\it start state list}\verb|>| {\it regular expression} \verb|=> (| {\it code} \verb|);| \end{quote} All parentheses in {\it code} must be balanced, including those used in strings and comments. The {\it start state list} is optional. It consists of a list of identifiers separated by commas, and is delimited by triangle brackets \verb|< >|. Each identifier must be a start state defined in the \verb|%s| section above. The regular expression is only recognized when the lexer is in one of the start states in the start state list. If no start state list is given, the expression is recognized in all start states. The lexer begins in a pre-defined start state called \verb|INITIAL|. The lexer resolves conflicts among rules by choosing the rule with the longest match, and in the case two rules match the same string, choosing the rule listed first in the specification. The rules should match all possible input. If some input occurs that does not match any rule, the lexer created by ML-Lex will raise an exception LexError. Note that this differs from C Lex, which prints any unmatched input on the standard output. \section{Values available inside the code associated with a rule.} \label{avail} ML-Lex places the value of the string matched by a regular expression in \verb|yytext|, a string variable. The user may recursively call the lexing function with \verb|lex()|. (If \verb|%arg| is used, the lexing function may be re-invoked with the same argument by using continue().) This is convenient for ignoring white space or comments silently: \begin{verbatim} [\ \t\n]+ => ( lex()); \end{verbatim} To switch start states, the user may call \verb|YYBEGIN| with the name of a start state. The following values will be available only if the corresponding \verb|%| command is in the ML-Lex definitions sections: \begin{tabular}{lll} \\ {\bf Value}&{\bf \% command}&{\bf description}\\ \hline {\tt REJECT} &{\tt\%reject}&\parbox[t]{2.6in}{{\tt REJECT()} causes the current rule to be ``rejected.'' The lexer behaves as if the current rule had not matched; another rule that matches this string, or that matches the longest possible prefix of this string, is used instead.} \\ {\tt yypos} & & \parbox[t]{2.6in}{The position of the first character of {\tt yytext}, relative to the beginning of the file.}\\ {\tt yylineno } & {\tt \%count} & Current line number\\ \\ \end{tabular} These values should be used only if necessary. Adding {\tt REJECT} to a lexer will slow it down by 20\%; adding {\tt yylineno} will slow it down by another 20\%, or more. (It is much more efficient to recognize {\tt \\n} and have an action that increments the line-number variable.) The use of the lookahead operator {\tt /} will also slow down the entire lexer. The character-position, {\tt yypos}, is not costly to maintain, however. \paragraph{Bug.} The position of the first character in the file is reported as 2 (unless the {\tt \%posarg} feature is used). To preserve compatibility, this bug has not been fixed. \section{Running ML-Lex} From the Unix shell, run {\tt sml-lex~myfile.lex} The output file will be myfile.lex.sml. The extension {\tt .lex} is not required but is recommended. Within an interactive system [not the preferred method]: Use {\tt lexgen.sml}; this will create a structure LexGen. The function LexGen.lexGen creates a program for a lexer from an input specification. It takes a string argument -- the name of the file containing the input specification. The output file name is determined by appending ``{\tt .sml}'' to the input file name. \section{Using the program produced by ML-Lex} When the output file is loaded, it will create a structure Mlex that contains the function {\tt makeLexer} which takes a function from ${\it int} \rightarrow {\it string}$ and returns a lexing function: \begin{verbatim} val makeLexer : (int->string) -> yyarg -> lexresult \end{verbatim} where {\tt yyarg} is the type given in the {\tt \%yyarg} directive, or {\tt unit} if there is no {\tt \%yyarg} directive. For example, \begin{verbatim} val lexer = Mlex.makeLexer (inputc (open_in "f")) \end{verbatim} creates a lexer that operates on the file whose name is f. When the {\tt \%posarg} directive is used, the type of {\tt makeLexer} is \begin{verbatim} val makeLexer : ((int->string)*int) -> yyarg -> lexresult \end{verbatim} where the extra {\tt int} argument is one less than the {\tt yypos} of the first character in the input. The value $k$ would be used, for example, when creating a lexer to start in the middle of a file, when $k$ characters have already been read. At the beginning of the file, $k=0$ should be used. The ${\it int} \rightarrow {\it string}$ function should read a string of characters from the input stream. It should return a null string to indicate that the end of the stream has been reached. The integer is the number of characters that the lexer wishes to read; the function may return any non-zero number of characters. For example, \begin{verbatim} val lexer = let val input_line = fn f => let fun loop result = let val c = input (f,1) val result = c :: result in if String.size c = 0 orelse c = "\n" then String.implode (rev result) else loop result end in loop nil end in Mlex.makeLexer (fn n => input_line std_in) end \end{verbatim} is appropriate for interactive streams where prompting, etc. occurs; the lexer won't care that \verb|input_line| might return a string of more than or less than $n$ characters. The lexer tries to read a large number of characters from the input function at once, and it is desirable that the input function return as many as possible. Reading many characters at once makes the lexer more efficient. Fewer input calls and buffering operations are needed, and input is more efficient in large block reads. For interactive streams this is less of a concern, as the limiting factor is the speed at which the user can type. To obtain a value, invoke the lexer by passing it a unit: \begin{verbatim} val nextToken = lexer() \end{verbatim} If one wanted to restart the lexer, one would just discard {\tt lexer} and create a new lexer on the same stream with another call to {\tt makeLexer}. This is the best way to discard any characters buffered internally by the lexer. All code in the user declarations section is placed inside a structure UserDeclarations. To access this structure, use the path name {\tt Mlex.UserDeclarations}. If any input cannot be matched, the program will raise the exception {\tt Mlex.LexError}. An internal error (i.e. bug) will cause the exception {\tt Internal.LexerError} to be raised. If {\tt \%structure} is used, remember that the structure name will no longer be Mlex, but the one specified in the command. \section{Sample} Here is a sample lexer for a calculator program: \small \begin{verbatim} datatype lexresult= DIV | EOF | EOS | ID of string | LPAREN | NUM of int | PLUS | PRINT | RPAREN | SUB | TIMES val linenum = ref 1 val error = fn x => output(std_out,x ^ "\n") val eof = fn () => EOF %% %structure CalcLex alpha=[A-Za-z]; digit=[0-9]; ws = [\ \t]; %% \n => (inc linenum; lex()); {ws}+ => (lex()); "/" => (DIV); ";" => (EOS); "(" => (LPAREN); {digit}+ => (NUM (revfold (fn(a,r)=>ord(a)-ord("0")+10*r) (explode yytext) 0)); ")" => (RPAREN); "+" => (PLUS); {alpha}+ => (if yytext="print" then PRINT else ID yytext); "-" => (SUB); "*" => (TIMES); . => (error ("calc: ignoring bad character "^yytext); lex()); \end{verbatim} Here is the parser for the calculator: \begin{verbatim} (* Sample interactive calculator to demonstrate use of lexer The original grammar was stmt_list -> stmt_list stmt stmt -> print exp ; | exp ; exp -> exp + t | exp - t | t t -> t * f | t/f | f f -> (exp) | id | num The function parse takes a stream and parses it for the calculator program. If a syntax error occurs, parse prints an error message and calls itself on the stream. On this system that has the effect of ignoring all input to the end of a line. *) structure Calc = struct open CalcLex open UserDeclarations exception Error fun parse strm = let val say = fn s => output(std_out,s) val input_line = fn f => let fun loop result = let val c = input (f,1) val result = c :: result in if String.size c = 0 orelse c = "\n" then String.implode (rev result) else loop result end in loop nil end val lexer = makeLexer (fn n => input_line strm) val nexttok = ref (lexer()) val advance = fn () => (nexttok := lexer(); !nexttok) val error = fn () => (say ("calc: syntax error on line" ^ (makestring(!linenum)) ^ "\n"); raise Error) val lookup = fn i => if i = "ONE" then 1 else if i = "TWO" then 2 else (say ("calc: unknown identifier '" ^ i ^ "'\n"); raise Error) fun STMT_LIST () = case !nexttok of EOF => () | _ => (STMT(); STMT_LIST()) and STMT() = (case !nexttok of EOS => () | PRINT => (advance(); say ((makestring (E():int)) ^ "\n"); ()) | _ => (E(); ()); case !nexttok of EOS => (advance()) | _ => error()) and E () = E' (T()) and E' (i : int ) = case !nexttok of PLUS => (advance (); E'(i+T())) | SUB => (advance (); E'(i-T())) | RPAREN => i | EOF => i | EOS => i | _ => error() and T () = T'(F()) and T' i = case !nexttok of PLUS => i | SUB => i | TIMES => (advance(); T'(i*F())) | DIV => (advance (); T'(i div F())) | EOF => i | EOS => i | RPAREN => i | _ => error() and F () = case !nexttok of ID i => (advance(); lookup i) | LPAREN => let val v = (advance(); E()) in if !nexttok = RPAREN then (advance (); v) else error() end | NUM i => (advance(); i) | _ => error() in STMT_LIST () handle Error => parse strm end end \end{verbatim} \end{document} smlsharp-1.2.0/src/ml-lex/ml-lex.cm0000644 000000000000000000000045312050661606017211 0ustar00rootroot0000000 0000000 (* Modified by Katsuhiro Ueno on 2011-Nov-25 to port ml-lex to SML#. *) Library structure ExportLexGen is # if defined (NEW_CM) $/basis.cm # endif lexgen.sml export-lex.sml (* Ueno (2011-11-25): added the following for SML# and MLton. *) #if defined(SMLNJ_VERSION) #else ml-lex.sml #endif smlsharp-1.2.0/src/ml-lex/ml-lex.smi0000644 000000000000000000000006212050661606017376 0ustar00rootroot0000000 0000000 _require "../basis.smi" _require "export-lex.smi" smlsharp-1.2.0/src/ml-lex/ml-lex.sml0000755 000000000000000000000016112050661606017404 0ustar00rootroot0000000 0000000 val status = ExportLexGen.lexGen (CommandLine.name (), CommandLine.arguments ()) val () = OS.Process.exit status smlsharp-1.2.0/src/ml-lex/mlex_int.doc0000644 000000000000000000000720112050661606017776 0ustar00rootroot0000000 0000000 This is minimal documentation for the lexer driver produced by ml-lex. Main data structures: The transition table is stored in tab. Tab is an array of records, indexed by state number. The first field of the record, fin, is a list of final leaves assocated with it. The second field of the record, trans, is a transition table for the state indexed by character number. It gives the next state for a given input character. The usual initial start state is state #1. State 0 is a dead state, which has transitions only to itself. The field yyfin has type yyfinstate list. yyfinstate consists of the following three constructors: * N of int - indicates normal end leaf. * D of int - dummy end leaf - for indicating when an end state for a trailing context regular expression has been reached. These are stored and propagated backwards when action is executed. * T of int - indicates an actual end leaf for a trailing context reg. expression, which should be executed only if D i was encountered after this end leaf while scanning forward. The dummy end leaf is removed from the backward propagating list after this node is encountered. The function scan inside the function lex operates as a transition function, scanning the input until it is no longer possible to take any more transitions. It accumulates a list of the accepting leaf list associated with each accepting state passed through. Scan operates as follows: Input: * s - current state * AcceptingLeaves - list of accepting leave lists. Each state has a list of accepting leaves associated with it. This list may be nil if the state is not a final state. * l - position of the next character in the buffer b to read * i0 - starting position in the buffer. Output: If no match is found, it raises the exception LexError. Otherwise, it returns a value of type lexresult. It operates as a transtion function: It (1) adds the list of accepting leaves for the current state to the list of accepting leave lists (2) tries to make a transition on the current input character to the next state. If it can't make a transition, it executes the action function. (a) - if it is past the end of the buffer, it (1) checks if it as at end eof. If it is then: It checks to see if it has made any transitions since it was first called - (l>i0 when this is true.) If it hasn't this implies that scan was called at the end of file. It thus executes eof function declared by the user. Otherwise it must execute action w/ the current accepting state list. (2) otherwise it reads a block of up to 1024 characters, and appends this block to the useful suffix of characters left in the buffer (those character which have been scanned in this call to lex()). The buffer operation should be altered if one intends to process reg. expressions whose lexemes' length will be >> 1024. For most normal applications, the buffer update operation will be fine. This buffer update operation requires O(n^2/1024) char. copies for lexemes > 1024 characters in length, and O(n) char. copies for lexemes <= 1024 characters in length. It can be made O(n) using linked list buffers & a Byte.array of size n (not the ^operator!) for concatenating the buffers to return a value for yytext when a lexeme is longer than the typical buffer length. (3) If the transition is to a dead state (0 is used for the dead state), action is executed instead. smlsharp-1.2.0/src/ml-lex/README0000644 000000000000000000000165612050661606016360 0ustar00rootroot0000000 0000000 Lexical analyzer generator for Standard ML. Version 1.6, October 1994 Copyright (c) 1989-92 by Andrew W. Appel, James S. Mattson, David R. Tarditi This software comes with ABSOLUTELY NO WARRANTY. This software is subject only to the PRINCETON STANDARD ML SOFTWARE LIBRARY COPYRIGHT NOTICE, LICENSE AND DISCLAIMER, (in the file "COPYRIGHT", distributed with this software). You may copy and distribute this software; see the COPYRIGHT NOTICE for details and restrictions. Files of interest: lexgen.doc - User's manual for ML-Lex lexgen.sml - ML version of Lex export-lex.sml - implements an exportable (via SMLofNJ.exportFn) toplevel driver for ML-Lex; the resulting stand-alone program takes the specification file name as a command line argument ml-lex.cm - CM description file for ML-Lex build - script that invokes ../../bin/ml-build in order to construct the stand-alone version of ML-Lex smlsharp-1.2.0/src/ml-lex/README.smlsharp0000644 000000000000000000000017612050661606020204 0ustar00rootroot0000000 0000000 This is a ported version of ml-lex from SML/NJ 110.73 for SML#. The bug of first charactor position is fixed in this version. smlsharp-1.2.0/src/ml-lex/tool0000755 000000000000000000000000012050661606016366 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/ml-lex/tool/ext.sml0000644 000000000000000000000061212050661606017761 0ustar00rootroot0000000 0000000 (* ext.sml * * Classifier plug-in for suffixes. * * Copyright (c) 2007 by The Fellowship of SML/NJ * * Author: Matthias Blume (blume@tti-c.org) *) structure LexLexExt = struct local val suffixes = ["lex", "l"] val class = "mllex" fun sfx s = Tools.registerClassifier (Tools.stdSfxClassifier { sfx = s, class = class }) in val _ = app sfx suffixes end end smlsharp-1.2.0/src/ml-lex/tool/lex-ext.cm0000644 000000000000000000000031312050661606020351 0ustar00rootroot0000000 0000000 (* * Plugin for registering the "lex" classifier. * * (C) 2007 The Fellowship of SML/NJ * * Author: Matthias Blume (blume@tti-c.org) *) Library structure LexLexExt is $smlnj/cm/tools.cm ext.sml smlsharp-1.2.0/src/ml-lex/tool/mllex-tool.cm0000644 000000000000000000000032512050661606021062 0ustar00rootroot0000000 0000000 (* * The plugin library for ML-Lex. * * (C) 2000 Lucent Technologies, Bell Laboratories * * Author: Matthias Blume (blume@kurims.kyoto-u.ac.jp) *) Library structure LexTool is $smlnj/cm/tools.cm tool.sml smlsharp-1.2.0/src/ml-lex/tool/tool.sml0000644 000000000000000000000063312050661606020141 0ustar00rootroot0000000 0000000 (* * Running ML-Lex from CM. * * (C) 1999 Lucent Technologies, Bell Laboratories * * Author: Matthias Blume (blume@kurims.kyoto-u.ac.jp) *) structure LexTool = struct val _ = Tools.registerStdShellCmdTool { tool = "ML-Lex", class = "mllex", cmdStdPath = fn () => ("ml-lex", []), template = NONE, extensionStyle = Tools.EXTEND [("sml", SOME "sml", fn too => too)], dflopts = [] } end smlsharp-1.2.0/src/ml-yacc0000755 000000000000000000000000012050661606015540 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/ml-yacc/build0000755 000000000000000000000136012050661606016644 0ustar00rootroot0000000 0000000 #!/bin/sh # # build script for ml-yacc under the new runtime system. # # options: # -o image -- specify the name of the heap image, "ml-yacc" # is the default. CMD=$0 ROOT="ml-yacc" HEAP_IMAGE="" SMLNJROOT=`pwd`/.. BIN=${INSTALLDIR:-$SMLNJROOT}/bin BUILD=$BIN/ml-build # # process command-line options # while [ "$#" != "0" ] ; do arg=$1 shift case $arg in -o) if [ "$#" = "0" ]; then echo "$CMD: must supply image name for -o option" exit 1 fi HEAP_IMAGE=$1; shift ;; *) echo $CMD: invalid argument: $arg exit 1 ;; esac done if [ "$HEAP_IMAGE" = "" ]; then HEAP_IMAGE="$ROOT" fi cd src "$BUILD" -DNO_ML_YACC -DNO_ML_LEX ml-yacc.cm ExportParseGen.parseGen "$HEAP_IMAGE" exit 0 smlsharp-1.2.0/src/ml-yacc/build.bat0000644 000000000000000000000014612050661606017407 0ustar00rootroot0000000 0000000 cd src ..\..\bin\ml-build.bat -D NO_ML_YACC -D NO_ML_LEX ml-yacc.cm ExportParseGen.parseGen ml-yacc smlsharp-1.2.0/src/ml-yacc/configure0000755 000000000000000000000447012050661606017533 0ustar00rootroot0000000 0000000 #!/bin/sh # simple configuration script # @author UENO Katsuhiro # @author YAMATODANI Kiyoshi projname=mlyacc depends= prefix=/usr/local exec_prefix='$(prefix)' compiler=mlton for opt in "$@" do optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'` case "$opt" in --prefix=*) prefix="$optarg" ;; --exec_prefix=*) exec_prefix="$optarg" ;; --with-smlnj) compiler=smlnj ;; --with-mlton) compiler=mlton ;; --with-smlsharp) compiler=smlsharp ;; --help) echo "Usage: $0 OPTIONS..." echo echo "Options:" echo " --help print this message." echo "--prefix=DIR install files to DIR [default=$prefix]" echo "--exec-prefix=DIR isntall executables to DIR [default=$prefix]" echo "--with-smlnj use SML/NJ [default=no]" echo "--with-mlton use MLton [default=yes]" echo "--with-smlsharp use SML# [default=no]" ;; *) echo "$0: error: unrecognized option: $opt" 1>&2 echo "Try \`$0 --help' for more information." 1>&2 exit 1 ;; esac done for i in $depends; do module=`dirname $i` if [ -f "../$i" ]; then result=yes; else result=no; fi echo "checking for dependency on $module... $result" if [ "x$result" = "xno" ]; then echo "** Build \`$module' by the following command before building this module:" echo " cd ../$module && ./configure && make" exit 1 fi done echo "SML compiler for building $projname... $compiler" cat > commonrule < "$i" done # configure ends here. smlsharp-1.2.0/src/ml-yacc/COPYRIGHT0000644 000000000000000000000214712050661606017116 0ustar00rootroot0000000 0000000 ML-YACC COPYRIGHT NOTICE, LICENSE AND DISCLAIMER. Copyright 1989, 1990 by David R. Tarditi Jr. and Andrew W. Appel Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the names of David R. Tarditi Jr. and Andrew W. Appel not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. David R. Tarditi Jr. and Andrew W. Appel disclaim all warranties with regard to this software, including all implied warranties of merchantability and fitness. In no event shall David R. Tarditi Jr. and Andrew W. Appel be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use or performance of this software. smlsharp-1.2.0/src/ml-yacc/doc0000755 000000000000000000000000012050661606016305 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/ml-yacc/doc/mlyacc.tex0000644 000000000000000000016342112050661606020365 0ustar00rootroot0000000 0000000 \documentstyle{article} \title{ ML-Yacc User's Manual \\ Version 2.4 } \author{ David R. Tarditi$^1$\\ Andrew W. Appel$^2$\\ \\ $^1$Microsoft Research \\ \\ $^2$Department of Computer Science \\ Princeton University \\ Princeton, NJ 08544 } \date{April 24, 2000} \begin{document} \maketitle \begin{center} (c) 1989, 1990, 1991,1994 Andrew W. Appel, David R. Tarditi \end{center} {\bf This software comes with ABSOLUTELY NO WARRANTY. It is subject only to the terms of the ML-Yacc NOTICE, LICENSE, and DISCLAIMER (in the file COPYRIGHT distributed with this software). } New in this version: Improved error correction directive \verb|%change| that allows multi-token insertions, deletions, substitutions. Explanation of how to build a parser (Section 5) and the Calc example (Section 7) revised for SML/NJ Version 110 and the use of CM. \newpage \tableofcontents \newpage \section{Introduction} \subsection{General} ML-Yacc is a parser generator for Standard ML modeled after the Yacc parser generator. It generates parsers for LALR languages, like Yacc, and has a similar syntax. The generated parsers use a different algorithm for recovering from syntax errors than parsers generated by Yacc. The algorithm is a partial implementation of an algorithm described in \cite{bf}. A parser tries to recover from a syntax error by making a single token insertion, deletion, or substitution near the point in the input stream at which the error was detected. The parsers delay the evaluation of semantic actions until parses are completed successfully. This makes it possible for parsers to recover from syntax errors that occur before the point of error detection, but it does prevent the parsers from affecting lexers in any significant way. The parsers can insert tokens with values and substitute tokens with values for other tokens. All symbols carry left and right position values which are available to semantic actions and are used in syntactic error messages. ML-Yacc uses context-free grammars to specify the syntax of languages to be parsed. See \cite{ahu} for definitions and information on context-free grammars and LR parsing. We briefly review some terminology here. A context-free grammar is defined by a set of terminals $T$, a set of nonterminals $NT$, a set of productions $P$, and a start nonterminal $S$. Terminals are interchangeably referred to as tokens. The terminal and nonterminal sets are assumed to be disjoint. The set of symbols is the union of the nonterminal and terminal sets. We use lower case Greek letters to denote a string of symbols. We use upper case Roman letters near the beginning of the alphabet to denote nonterminals. Each production gives a derivation of a string of symbols from a nonterminal, which we will write as $A \rightarrow \alpha$. We define a relation between strings of symbols $\alpha$ and $\beta$, written $\alpha \vdash \beta$ and read as $\alpha$ derives $\beta$, if and only if $\alpha = \delta A \gamma$, $\beta = \delta \phi \gamma$ and there exists some production $A \rightarrow \phi$. We write the transitive closure of this relation as $\vdash_*$. We say that a string of terminals $\alpha$ is a valid sentence of the language, {\em i.e.} it is derivable, if the start symbol $S \vdash_* \alpha$. The sequence of derivations is often visualized as a parse tree. ML-Yacc uses an attribute grammar scheme with synthesized attributes. Each symbol in the grammar may have a value (i.e. attribute) associated with it. Each production has a semantic action associated with it. A production with a semantic action is called a rule. Parsers perform bottom-up, left-to-right evaluations of parse trees using semantic actions to compute values as they do so. Given a production $P = A \rightarrow \alpha$, the corresponding semantic action is used to compute a value for $A$ from the values of the symbols in $\alpha$. If $A$ has no value, the semantic action is still evaluated but the value is ignored. Each parse returns the value associated with the start symbol $S$ of the grammar. A parse returns a nullary value if the start symbol does not carry a value. The synthesized attribute scheme can be adapted easily to inherited attributes. An inherited attribute is a value which propagates from a nonterminal to the symbols produced by the nonterminal according to some rule. Since functions are values in ML, the semantic actions for the derived symbols can return functions which takes the inherited value as an argument. \subsection{Modules} ML-Yacc uses the ML modules facility to specify the interface between a parser that it generates and a lexical analyzer that must be supplied by you. It also uses the ML modules facility to factor out a set of modules that are common to every generated parser. These common modules include a parsing structure, which contains an error-correcting LR parser\footnote{A plain LR parser is also available.}, an LR table structure, and a structure which defines the representation of terminals. ML-Yacc produces a functor for a particular parser parameterized by the LR table structure and the representation of terminals. This functor contains values specific to the parser, such as the LR table for the parser\footnote{The LR table is a value. The LR table structure defines an abstract LR table type.}, the semantic actions for the parser, and a structure containing the terminals for the parser. ML-Yacc produces a signature for the structure produced by applying this functor and another signature for the structure containing the terminals for the parser. You must supply a functor for the lexing module parameterized this structure. Figure 1 is a dependency diagram of the modules that summarizes this information. A module at the head of an arrow is dependent on the module at the tail. \begin{figure} \begin{tabular}{|rcl|} \hline parsing structure & $\longrightarrow$ & values for a particular parser\\ values for a particular parser & $\longrightarrow$ & lexical analyzer\\ parsing structure, & $\longrightarrow$ & particular parser\\ values for a particular parser, & & \\ lexical analyzer & & \\ \hline \end{tabular} \caption{Module Dependencies} \end{figure} \subsection{Error Recovery} The error recovery algorithm is able to accurately recover from many single token syntax errors. It tries to make a single token correction at the token in the input stream at which the syntax error was detected and any of the 15 tokens\footnote{An arbitrary number chosen because numbers above this do not seem to improve error correction much.} before that token. The algorithm checks corrections before the point of error detection because a syntax error is often not detected until several tokens beyond the token which caused the error.\footnote{An LR parser detects a syntax error as soon as possible, but this does not necessarily mean that the token at which the error was detected caused the error.} The algorithm works by trying corrections at each of the 16 tokens up to and including the token at which the error was detected. At each token in the input stream, it will try deleting the token, substituting other tokens for the token, or inserting some other token before the token. The algorithm uses a parse check to evaluate corrections. A parse check is a check of how far a correction allows a parser to parse without encountering a syntax error. You pass an upper bound on how many tokens beyond the error point a parser may read while doing a parse check as an argument to the parser. This allows you to control the amount of lookahead that a parser reads for different kinds of systems. For an interactive system, you should set the lookahead to zero. Otherwise, a parser may hang waiting for input in the case of a syntax error. If the lookahead is zero, no syntax errors will be corrected. For a batch system, you should set the lookahead to 15. The algorithm selects the set of corrections which allows the parse to proceed the farthest and parse through at least the error token. It then removes those corrections involving keywords which do not meet a longer minimum parse check. If there is more than one correction possible after this, it uses a simple heuristic priority scheme to order the corrections, and then arbitrarily chooses one of the corrections with the highest priority. You have some control over the priority scheme by being able to name a set of preferred insertions and a set of preferred substitutions. The priorities for corrections, ordered from highest to lowest priority, are preferred insertions, preferred substitutions, insertions, deletions, and substitutions. The error recovery algorithm is guaranteed to terminate since it always selects fixes which parse through the error token. The error-correcting LR parser implements the algorithm by keeping a queue of its state stacks before shifting tokens and using a lazy stream for the lexer. This makes it possible to restart the parse from before an error point and try various corrections. The error-correcting LR parser does not defer semantic actions. Instead, ML-Yacc creates semantic actions which are free of side-effects and always terminate. ML-Yacc uses higher-order functions to defer the evaluation of all user semantic actions until the parse is successfully completed without constructing an explicit parse tree. You may declare whether your semantic actions are free of side-effects and always terminate, in which case ML-Yacc does not need to defer the evaluation of your semantic actions. \subsection{Precedence} ML-Yacc uses the same precedence scheme as Yacc for resolving shift/reduce conflicts. Each terminal may be assigned a precedence and associativity. Each rule is then assigned the precedence of its rightmost terminal. If a shift/reduce conflict occurs, the conflict is resolved silently if the terminal and the rule in the conflict have precedences. If the terminal has the higher precedence, the shift is chosen. If the rule has the higher precedence, the reduction is chosen. If both the terminal and the rule have the same precedence, then the associativity of the terminal is used to resolve the conflict. If the terminal is left associative, the reduction is chosen. If the terminal is right associative, the shift is chosen. Terminals may be declared to be nonassociative, also, in which case an error message is produced if the associativity is need to resolve the parsing conflict. If a terminal or a rule in a shift/reduce conflict does not have a precedence, then an error message is produced and the shift is chosen. In reduce/reduce conflicts, an error message is always produced and the first rule listed in the specification is chosen for reduction. \subsection{Notation} Text surrounded by brackets denotes meta-notation. If you see something like \{parser name\}, you should substitute the actual name of your parser for the meta-notation. Text in a bold-face typewriter font ({\tt like this}) denotes text in a specification or ML code. \section{ML-Yacc specifications} An ML-Yacc specification consists of three parts, each of which is separated from the others by a {\tt \%\%} delimiter. The general format is: \begin{quote} \tt \{user declarations\} \\ \%\% \\ \{ML-Yacc declarations\} \\ \%\% \\ \{rules\} \end{quote} You can define values available in the semantic actions of the rules in the user declarations section. It is recommended that you keep the size of this section as small as possible and place large blocks of code in other modules. The ML-Yacc declarations section is used to make a set of required declarations and a set of optional declarations. You must declare the nonterminals and terminals and the types of the values associated with them there. You must also name the parser and declare the type of position values. You should specify the set of terminals which can follow the start symbol and the set of non-shiftable terminals. You may optionally declare precedences for terminals, make declarations that will improve error-recovery, and suppress the generation of default reductions in the parser. You may declare whether the parser generator should create a verbose description of the parser in a ``.desc'' file. This is useful for finding the causes of shift/reduce errors and other parsing conflicts. You may also declare whether the semantic actions are free of significant side-effects and always terminate. Normally, ML-Yacc delays the evaluation of semantic actions until the completion of a successful parse. This ensures that there will be no semantic actions to ``undo'' if a syntactic error-correction invalidates some semantic actions. If, however, the semantic actions are free of significant side-effects and always terminate, the results of semantic actions that are invalidated by a syntactic error-correction can always be safely ignored. Parsers run faster and need less memory when it is not necessary to delay the evaluation of semantic actions. You are encouraged to write semantic actions that are free of side-effects and always terminate and to declare this information to ML-Yacc. A semantic action is free of significant side-effects if it can be reexecuted a reasonably small number of times without affecting the result of a parse. (The reexecution occurs when the error-correcting parser is testing possible corrections to fix a syntax error, and the number of times reexecution occurs is roughly bounded, for each syntax error, by the number of terminals times the amount of lookahead permitted for the error-correcting parser). The rules section contains the context-free grammar productions and their associated semantic actions. \subsection{Lexical Definitions} Comments have the same lexical definition as they do in Standard ML and can be placed anywhere in a specification. All characters up to the first occurrence of a delimiting {\tt \%\%} outside of a comment are placed in the user declarations section. After that, the following words and symbols are reserved: \begin{quote} \verb'of for = { } , * -> : | ( )' \end{quote} The following classes of ML symbols are used: \begin{quote} \begin{description} \item[identifiers:] nonsymbolic ML identifiers, which consist of an alphabetic character followed by one or more alphabetic characters, numeric characters, primes ``{\tt '}'', or underscores ``{\tt \_}''. \item[type variables:] nonsymbolic ML identifier starting with a prime ``{\tt '}'' \item[integers:] one or more decimal digits. \item[qualified identifiers:] an identifer followed by a period. \end{description} \end{quote} The following classes of non-ML symbols are used: \begin{quote} \begin{description} \item[\% identifiers:] a percent sign followed by one or more lowercase alphabet letters. The valid \% identifiers are: \begin{quote} \raggedright \tt \%arg \%eop \%header \%keyword \%left \%name \%nodefault \%nonassoc \%nonterm \%noshift \%pos \%prec \%prefer \%pure \%right \%start \%subst \%term \%value \%verbose \end{quote} \item[code:] This class is meant to hold ML code. The ML code is not parsed for syntax errors. It consists of a left parenthesis followed by all characters up to a balancing right parenthesis. Parentheses in ML comments and ML strings are excluded from the count of balancing parentheses. \end{description} \end{quote} \subsection{Grammar} This is the grammar for specifications: \begin{eqnarray*} \mbox{spec} & ::= & \mbox{user-declarations {\tt \%\%} cmd-list {\tt \%\%} rule-list} \\ \mbox{ML-type} & ::= & \mbox{nonpolymorphic ML types (see the Standard ML manual)} \\ \mbox{symbol} & ::= & \mbox{identifier} \\ \mbox{symbol-list} & ::= & \mbox{symbol-list symbol} \\ & | & \epsilon \\ \mbox{symbol-type-list} & ::= & \mbox{symbol-type-list {\tt |} symbol {\tt of} ML-type} \\ & | & \mbox{symbol-type list {\tt |} symbol} \\ & | & \mbox{symbol {\tt of} ML-type} \\ & | & \mbox{symbol} \\ \mbox{subst-list} & ::= & \mbox{subst-list {\tt |} symbol {\tt for} symbol} \\ & | & \epsilon \\ \mbox{cmd} & ::= & \mbox{{\tt \%arg} (Any-ML-pattern) {\tt :} ML-type} \\ & | & \mbox{{\tt \%eop} symbol-list} \\ & | & \mbox{{\tt \%header} code} \\ & | & \mbox{{\tt \%keyword} symbol-list} \\ & | & \mbox{{\tt \%left} symbol-list} \\ & | & \mbox{{\tt \%name} identifier} \\ & | & \mbox{{\tt \%nodefault}} \\ & | & \mbox{{\tt \%nonassoc} symbol-list} \\ & | & \mbox{{\tt \%nonterm} symbol-type list} \\ & | & \mbox{{\tt \%noshift} symbol-list } \\ & | & \mbox{{\tt \%pos} ML-type} \\ & | & \mbox{{\tt \%prefer} symbol-list} \\ & | & \mbox{\tt \%pure} \\ & | & \mbox{{\tt \%right} symbol-list} \\ & | & \mbox{{\tt \%start} symbol} \\ & | & \mbox{{\tt \%subst} subst-list} \\ & | & \mbox{{\tt \%term} symbol-type-list} \\ & | & \mbox{{\tt \%value} symbol code} \\ & | & \mbox{{\tt \%verbose}} \\ \mbox{cmd-list} & ::= &\mbox{ cmd-list cmd} \\ & | & \mbox{cmd} \\ \mbox{rule-prec} & ::= & \mbox{{\tt \%prec} symbol} \\ & | & \epsilon \\ \mbox{clause-list} & ::= & \mbox{symbol-list rule-prec code} \\ & | & \mbox{clause-list {\tt |} symbol-list rule-prec code} \\ \mbox{rule} & ::= & \mbox{symbol {\tt :} clause-list} \\ \mbox{rule-list} & ::= & \mbox{rule-list rule} \\ & | & \mbox{rule} \end{eqnarray*} \subsection{Required ML-Yacc Declarations} \begin{description} \item[{\tt \%name}] You must specify the name of the parser with {\tt \%name} \{name\}. \item[{\tt \%nonterm} and {\tt \%term}] You must define the terminal and nonterminal sets using the {\tt \%term} and {\tt \%nonterm} declarations, respectively. These declarations are like an ML datatype definition. The type of the value that a symbol may carry is defined at the same time that the symbol is defined. Each declarations consists of the keyword ({\tt \%term} or {\tt \%nonterm}) followed by a list of symbol entries separated by a bar (``{\tt |}''). Each symbol entry is a symbol name followed by an optional ``of \/ $<$ML-type$>$''. The types cannot be polymorphic. Those symbol entries without a type carry no value. Nonterminal and terminal names must be disjoint and no name may be declared more than once in either declaration. The symbol names and types are used to construct a datatype union for the values on the semantic stack in the LR parser and to name the values associated with subcomponents of a rule. The names and types of terminals are also used to construct a signature for a structure that may be passed to the lexer functor. Because the types and names are used in these manners, do not use ML keywords as symbol names. The programs produced by ML-Yacc will not compile if ML keywords are used as symbol names. Make sure that the types specified in the {\tt \%term} declaration are fully qualified types or are available in the background environment when the signatures produced by ML-Yacc are loaded. Do not use any locally defined types from the user declarations section of the specification. These requirements on the types in the {\tt \%term} declaration are not a burden. They force the types to be defined in another module, which is a good idea since these types will be used in the lexer module. \item[{\tt \%pos}] You must declare the type of position values using the {\tt \%pos} declaration. The syntax is {\tt \%pos} $<$ML-type$>$. This type MUST be the same type as that which is actually found in the lexer. It cannot be polymorphic. \end{description} \subsection{Optional ML-Yacc Declarations} \label{optional-def} \begin{description} \item[{\tt \%arg}] You may want each invocation of the entire parser to be parameterized by a particular argument, such as the file-name of the input being parsed in an invocation of the parser. The {\tt \%arg} declaration allows you to specify such an argument. (This is often cleaner than using ``global'' reference variables.) The declaration \begin{quote} {\tt \%arg} (Any-ML-pattern) {\tt :} $<$ML-type$>$ \end{quote} specifies the argument to the parser, as well as its type. For example: \begin{quote} {\tt \%arg (filename) : string} \end{quote} If {\tt \%arg} is not specified, it defaults to {\tt () : unit}. \item[{\tt \%eop} and {\tt \%noshift}] You should specify the set of terminals that may follow the start symbol, also called end-of-parse symbols, using the {\tt \%eop} declaration. The {\tt \%eop} keyword should be followed by the list of terminals. This is useful, for example, in an interactive system where you want to force the evaluation of a statement before an end-of-file (remember, a parser delays the execution of semantic actions until a parse is successful). ML-Yacc has no concept of an end-of-file. You must define an end-of-file terminal (EOF, perhaps) in the {\tt \%term} declaration. You must declare terminals which cannot be shifted, such as end-of-file, in the {\tt \%noshift} declaration. The {\tt \%noshift} keyword should be followed by the list of non-shiftable terminals. An error message will be printed if a non-shiftable terminal is found on the right hand side of any rule, but ML-Yacc will not prevent you from using such grammars. It is important to emphasize that \begin{em} non-shiftable terminals must be declared. \end{em} The error-correcting parser may attempt to read past such terminals while evaluating a correction to a syntax error otherwise. This may confuse the lexer. \item[{\tt \%header}] You may define code to head the functor \{parser name\}LrValsFun here. This may be useful for adding additonal parameter structures to the functor. The functor must be parameterized by the Token structure, so the declaration should always have the form: \begin{quote} \begin{verbatim} %header (functor {parser name}LrValsFun( structure Token : TOKEN ...) ) \end{verbatim} \end{quote} \item[{\tt \%left},{\tt \%right},{\tt \%nonassoc}] You should list the precedence declarations in order of increasing (tighter-binding) precedence. Each precedence declaration consists of \% keyword specifying associativity followed by a list of terminals. The keywords are {\tt \%left}, {\tt \%right}, and {\tt \%nonassoc}, standing for their respective associativities. \item[{\tt \%nodefault}] The {\tt \%nodefault} declaration suppresses the generation of default reductions. If only one production can be reduced in a given state in an LR table, it may be made the default action for the state. An incorrect reduction will be caught later when the parser attempts to shift the lookahead terminal which caused the reduction. ML-Yacc usually produces programs and verbose files with default reductions. This saves a great deal of space in representing the LR tables,but sometimes it is useful for debugging and advanced uses of the parser to suppress the generation of default reductions. \item[{\tt \%pure}] Include the {\tt \%pure} declaration if the semantic actions are free of significant side-effects and always terminate. \item[{\tt \%start}] You may define the start symbol using the {\tt \%start} declaration. Otherwise the nonterminal for the first rule will be used as the start nonterminal. The keyword {\tt \%start} should be followed by the name of the starting nonterminal. This nonterminal should not be used on the right hand side of any rules, to avoid conflicts between reducing to the start symbol and shifting a terminal. ML-Yacc will not prevent you from using such grammars, but it will print a warning message. \item[{\tt \%verbose}] Include the {\tt \%verbose} declaration to produce a verbose description of the LALR parser. The name of this file is the name of the specification file with a ``.desc'' appended to it. This file has the following format: \begin{enumerate} \item A summary of errors found while generating the LALR tables. \item A detailed description of all errors. \item A description of the states of the parser. Each state is preceded by a list of conflicts in the state. \end{enumerate} \end{description} \subsection{Declarations for improving error-recovery} These optional declarations improve error-recovery: \begin{description} \item[{\tt \%keyword}] Specify all keywords in a grammar here. The {\tt \%keyword} should be followed by a list of terminal names. Fixes involving keywords are generally dangerous; they are prone to substantially altering the syntactic meaning of the program. They are subject to a more rigorous parse check than other fixes. \item[{\tt \%prefer}] List terminals to prefer for insertion after the {\tt \%prefer}. Corrections which insert a terminal on this list will be chosen over other corrections, all other things being equal. \item[{\tt \%subst}] This declaration should be followed by a list of clauses of the form \{terminal\} {\tt for} \{terminal\}, where items on the list are separated using a {\tt |}. Substitution corrections on this list will be chosen over all other corrections except preferred insertion corrections (listed above), all other things being equal. \item[{\tt \%change}] This is a generalization of {\tt \%prefer} and {\tt \%subst}. It takes a the following syntax: \begin{quote} ${\it tokens}_{1a}$ \verb|->| ${\it tokens}_{1b}$ \verb+|+ ${\it tokens}_{2a}$ \verb|->| ${\it tokens}_{2b}$ {\it etc.} \end{quote} where each {\it tokens} is a (possibly empty) seqence of tokens. The idea is that any instance of ${\it tokens}_{1a}$ can be ``corrected'' to ${\it tokens}_{1b}$, and so on. For example, to suggest that a good error correction to try is \verb|IN ID END| (which is useful for the ML parser), write, \begin{verbatim} %change -> IN ID END \end{verbatim} \item[{\tt \%value}] The error-correction algorithm may also insert terminals with values. You must supply a value for such a terminal. The keyword should be followed by a terminal and a piece of code (enclosed in parentheses) that when evaluated supplies the value. There must be a separate {\tt \%value} declaration for each terminal with a value that you wish may be inserted or substituted in an error correction. The code for the value is not evaluated until the parse is successful. Do not specify a {\tt \%value} for terminals without values. This will result in a type error in the program produced by ML-Yacc. \end{description} \subsection{Rules} All rules are declared in the final section, after the last {\tt \%\%} delimiter. A rule consists of a left hand side nonterminal, followed by a colon, followed by a list of right hand side clauses. The right hand side clauses should be separated by bars (``{\tt |}''). Each clause consists of a list of nonterminal and terminal symbols, followed by an optional {\tt \%prec} declaration, and then followed by the code to be evaluated when the rule is reduced. The optional {\tt \%prec} consists of the keyword {\tt \%prec} followed by a terminal whose precedence should be used as the precedence of the rule. The values of those symbols on the right hand side which have values are available inside the code. Positions for all the symbols are also available. Each value has the general form \{symbol name\}\{n+1\}, where \{n\} is the number of occurrences of the symbol to the left of the symbol. If the symbol occurs only once in the rule, \{symbol name\} may also be used. The positions are given by \{symbol~name\}\{n+1\}left and \{symbol~name\}\{n+1\}right. where \{n\} is defined as before. The position for a null rhs of a production is assumed to be the leftmost position of the lookahead terminal which is causing the reduction. This position value is available in {\tt defaultPos}. The value to which the code evaluates is used as the value of the nonterminal. The type of the value and the nonterminal must match. The value is ignored if the nonterminal has no value, but is still evaluated for side-effects. \section{Producing files with ML-Yacc} ML-Yacc may be used from the interactive system or built as a stand-alone program which may be run from the Unix command line. See the file {\bf README} in the mlyacc directory for directions on installing ML-Yacc. We recommend thaat ML-Yacc be installed as a stand-alone program. If you are using the stand-alone version of ML-Yacc, invoke the program ``sml-yacc'' with the name of the specifcation file. If you are using ML-Yacc in the interactive system, load the file ``smlyacc.sml''. The end result is a structure ParseGen, with one value parseGen in it. Apply parseGen to a string containing the name of the specification file. Two files will be created, one named by attaching ``.sig'' to the name of the specification, the other named by attaching ``.sml'' to the name of the specification. \section{The lexical analyzer} Let the name for the parser given in the {\tt \%name} declaration be denoted by \{n\} and the specification file name be denoted by \{spec name\} The parser generator creates a functor named \{n\}LrValsFun for the values needed for a particular parser. This functor is placed in \{spec name\}.sml. This functor contains a structure Tokens which allows you to construct terminals from the appropriate values. The structure has a function for each terminal that takes a tuple consisting of the value for the terminal (if there is any), a leftmost position for the terminal, and a rightmost position for the terminal and constructs the terminal from these values. A signature for the structure Tokens is created and placed in the ``.sig'' file created by ML-Yacc. This signature is \{n\}\_TOKENS, where \{n\} is the name given in the parser specification. A signature \{n\}\_LRVALS is created for the structure produced by applying \{n\}LrValsFun. Use the signature \{n\}\_TOKENS to create a functor for the lexical analyzer which takes the structure Tokens as an argument. The signature \{n\}\_TOKENS will not change unless the {\tt \%term} declaration in a specification is altered by adding terminals or changing the types of terminals. You do not need to recompile the lexical analyzer functor each time the specification for the parser is changed if the signature \{n\}\_TOKENS does not change. If you are using ML-Lex to create the lexical analyzer, you can turn the lexer structure into a functor using the {\tt \%header} declaration. {\tt \%header} allows the user to define the header for a structure body. If the name of the parser in the specification were Calc, you would add this declaration to the specification for the lexical analyzer: \begin{quote} \tt \begin{verbatim} %header (functor CalcLexFun(structure Tokens : Calc_TOKENS)) \end{verbatim} \end{quote} You must define the following in the user definitions section: \begin{quote} \tt \begin{verbatim} type pos \end{verbatim} \end{quote} This is the type of position values for terminals. This type must be the same as the one declared in the specification for the grammar. Note, however, that this type is not available in the Tokens structure that parameterizes the lexer functor. You must include the following code in the user definitions section of the ML-Lex specification: \begin{quote} \tt \begin{verbatim} type svalue = Tokens.svalue type ('a,'b) token = ('a,'b) Tokens.token type lexresult = (svalue,pos) token \end{verbatim} \end{quote} These types are used to give lexers signatures. You may use a lexer constructed using ML-Lex with the {\tt \%arg} declaration, but you must follow special instructions for tying the parser and lexer together. \section{Creating the parser} \label{create-parser} Let the name of the grammar specification file be denoted by \{grammar\} and the name of the lexer specification file be denoted by \{lexer\} (e.g. in our calculator example these would stand for calc.grm and calc.lex, respectively). Let the parser name in the specification be represented by \{n\} (e.g. Calc in our calculator example). To construct a parser, do the following: \begin{enumerate} \item In the appropriate CM description file (e.g. for your main program or one of its subgroups or libraries), include the lines: \begin{quote} \begin{verbatim} ml-yacc-lib.cm {lexer} {grammar} \end{verbatim} \end{quote} This will cause ML-Yacc to be run on \{grammar\}, producing source files \{grammar\}.sig and \{grammar\}.sml, and ML-Lex to be run on \{lexer\}, producing a source file \{lexer\}.sml. Then these files will be compiled after loading the necessary signatures and modules from the ML-Yacc library as specified by {\tt ml-yacc-lib.cm}. \item Apply functors to create the parser: \begin{quote} \begin{verbatim} structure {n}LrVals = {n}LrValsFun(structure Token = LrParser.Token) structure {n}Lex = {n}LexFun(structure Tokens = {n}LrVals.Tokens) structure {n}Parser= Join(structure ParserData = {n}LrVals.ParserData structure Lex={n}Lex structure LrParser=LrParser) \end{verbatim} \end{quote} If the lexer was created using the {\tt \%arg} declaration in ML-Lex, the definition of \{n\}Parser must be changed to use another functor called JoinWithArg: \begin{quote} \begin{verbatim} structure {n}Parser= JoinWithArg (structure ParserData={n}LrVals.ParserData structure Lex={n}Lex structure LrParser=LrParser) \end{verbatim} \end{quote} \end{enumerate} The following outline summarizes this process: \begin{quote} \begin{verbatim} (* available at top level *) TOKEN LR_TABLE STREAM LR_PARSER PARSER_DATA structure LrParser : LR_PARSER (* printed out in .sig file created by parser generator: *) signature {n}_TOKENS = sig structure Token : TOKEN type svalue val PLUS : 'pos * 'pos -> (svalue,'pos) Token.token val INTLIT : int * 'pos * 'pos -> (svalue,'pos) Token.token ... end signature {n}_LRVALS = sig structure Tokens : {n}_TOKENS structure ParserData : PARSER_DATA sharing ParserData.Token = Tokens.Token sharing type ParserData.svalue = Tokens.svalue end (* printed out by lexer generator: *) functor {n}LexFun(structure Tokens : {n}_TOKENS)= struct ... end (* printed out in .sml file created by parser generator: *) functor {n}LrValsFun(structure Token : TOKENS) = struct structure ParserData = struct structure Token = Token (* code in header section of specification *) structure Header = ... type svalue = ... type result = ... type pos = ... structure Actions = ... structure EC = ... val table = ... end structure Tokens : {n}_TOKENS = struct structure Token = ParserData.Token type svalue = ... fun PLUS(p1,p2) = ... fun INTLIT(i,p1,p2) = ... end end (* to be done by the user: *) structure {n}LrVals = {n}LrValsFun(structure Token = LrParser.Token) structure {n}Lex = {n}LexFun(structure Tokens = {n}LrVals.Tokens) structure {n}Parser = Join(structure Lex = {n}Lex structure ParserData = {n}ParserData structure LrParser = LrParser) \end{verbatim} \end{quote} \section{Using the parser} \subsection{Parser Structure Signatures} The final structure created will have the signature PARSER: \begin{quote} \begin{verbatim} signature PARSER = sig structure Token : TOKEN structure Stream : STREAM exception ParseError type pos (* pos is the type of line numbers *) type result (* value returned by the parser *) type arg (* type of the user-supplied argument *) type svalue (* the types of semantic values *) val makeLexer : (int -> string) -> (svalue,pos) Token.token Stream.stream val parse : int * ((svalue,pos) Token.token Stream.stream) * (string * pos * pos -> unit) * arg -> result * (svalue,pos) Token.token Stream.stream val sameToken : (svalue,pos) Token.token * (svalue,pos) Token.token -> bool end \end{verbatim} \end{quote} or the signature ARG\_PARSER if you used {\tt \%arg} to create the lexer. This signature differs from ARG\_PARSER in that it which has an additional type {\tt lexarg} and a different type for {\tt makeLexer}: \begin{quote} \begin{verbatim} type lexarg val makeLexer : (int -> string) -> lexarg -> (svalue,pos) token stream \end{verbatim} \end{quote} The signature STREAM (providing lazy streams) is: \begin{quote} \begin{verbatim} signature STREAM = sig type 'a stream val streamify : (unit -> 'a) -> 'a stream val cons : 'a * 'a stream -> 'a stream val get : 'a stream -> 'a * 'a stream end \end{verbatim} \end{quote} \subsection{Using the parser structure} The parser structure converts the lexing function produced by ML-Lex into a function which creates a lazy stream of tokens. The function {\tt makeLexer} takes the same values as the corresponding {\tt makeLexer} created by ML-Lex, but returns a stream of tokens instead of a function which yields tokens. The function parse takes the token stream and some other arguments that are described below and parses the token stream. It returns a pair composed of the value associated with the start symbol and the rest of the token stream. The rest of the token stream includes the end-of-parse symbol which caused the reduction of some rule to the start symbol. The function parse raises the exception ParseError if a syntax error occurs which it cannot fix. The lazy stream is implemented by the {\tt Stream} structure. The function {\tt streamify} converts a conventional implementation of a stream into a lazy stream. In a conventional implementation of a stream, a stream consists of a position in a list of values. Fetching a value from a stream returns the value associated with the position and updates the position to the next element in the list of values. The fetch is a side-effecting operation. In a lazy stream, a fetch returns a value and a new stream, without a side-effect which updates the position value. This means that a stream can be repeatedly re-evaluated without affecting the values that it returns. If $f$ is the function that is passed to {\tt streamify}, $f$ is called only as many times as necessary to construct the portion of the list of values that is actually used. Parse also takes an integer giving the maximum amount of lookahead permitted for the error-correcting parse, a function to print error messages, and a value of type arg. The maximum amount of lookahead for interactive systems should be zero. In this case, no attempt is made to correct any syntax errors. For non-interactive systems, try 15. The function to print error messages takes a tuple of values consisting of the left and right positions of the terminal which caused the error and an error message. If the {\tt \%arg} declaration is not used, the value of type arg should be a value of type unit. The function sameToken can be used to see if two tokens denote the same terminal, irregardless of any values that the tokens carry. It is useful if you have multiple end-of-parse symbols and must check which end-of-parse symbol has been left on the front of the token stream. The types have the following meanings. The type {\tt arg} is the type of the additional argument to the parser, which is specified by the {\tt \%arg} declaration in the ML-Yacc specification. The type {\tt lexarg} is the optional argument to lexers, and is specified by the {\tt \%arg} declaration in an ML-Lex specifcation. The type {\tt pos} is the type of line numbers, and is specified by the {\tt \%pos} declaration in an ML-Yacc specification and defined in the user declarations section of the ML-Lex specification. The type {\tt result} is the type associated with the start symbol in the ML-Yacc specification. \section{Examples} See the directory examples for examples of parsers constructed using ML-Yacc. Here is a small sample parser and lexer for an interactive calculator, from the directory examples/calc, along with code for creating a parsing function. The calculator reads one or more expressions from the standard input, evaluates the expressions, and prints their values. Expressions should be separated by semicolons, and may also be ended by using an end-of-file. This shows how to construct an interactive parser which reads a top-level declaration and processes the declaration before reading the next top-level declaration. \subsection{Sample Grammar} \begin{tt} \begin{verbatim} (* Sample interactive calculator for ML-Yacc *) fun lookup "bogus" = 10000 | lookup s = 0 %% %eop EOF SEMI (* %pos declares the type of positions for terminals. Each symbol has an associated left and right position. *) %pos int %left SUB PLUS %left TIMES DIV %right CARAT %term ID of string | NUM of int | PLUS | TIMES | PRINT | SEMI | EOF | CARAT | DIV | SUB %nonterm EXP of int | START of int option %name Calc %subst PRINT for ID %prefer PLUS TIMES DIV SUB %keyword PRINT SEMI %noshift EOF %value ID ("bogus") %nodefault %verbose %% (* the parser returns the value associated with the expression *) START : PRINT EXP (print EXP; print "\n"; flush_out std_out; SOME EXP) | EXP (SOME EXP) | (NONE) EXP : NUM (NUM) | ID (lookup ID) | EXP PLUS EXP (EXP1+EXP2) | EXP TIMES EXP (EXP1*EXP2) | EXP DIV EXP (EXP1 div EXP2) | EXP SUB EXP (EXP1-EXP2) | EXP CARAT EXP (let fun e (m,0) = 1 | e (m,l) = m*e(m,l-1) in e (EXP1,EXP2) end) \end{verbatim} \end{tt} \subsection{Sample Lexer} \begin{tt} \begin{verbatim} structure Tokens = Tokens type pos = int type svalue = Tokens.svalue type ('a,'b) token = ('a,'b) Tokens.token type lexresult= (svalue,pos) token val pos = ref 0 val eof = fn () => Tokens.EOF(!pos,!pos) val error = fn (e,l : int,_) => output(std_out,"line " ^ (makestring l) ^ ": " ^ e ^ "\n") %% %header (functor CalcLexFun(structure Tokens: Calc_TOKENS)); alpha=[A-Za-z]; digit=[0-9]; ws = [\ \t]; %% \n => (pos := (!pos) + 1; lex()); {ws}+ => (lex()); {digit}+ => (Tokens.NUM (revfold (fn (a,r) => ord(a)-ord("0")+10*r) (explode yytext) 0, !pos,!pos)); "+" => (Tokens.PLUS(!pos,!pos)); "*" => (Tokens.TIMES(!pos,!pos)); ";" => (Tokens.SEMI(!pos,!pos)); {alpha}+ => (if yytext="print" then Tokens.PRINT(!pos,!pos) else Tokens.ID(yytext,!pos,!pos) ); "-" => (Tokens.SUB(!pos,!pos)); "^" => (Tokens.CARAT(!pos,!pos)); "/" => (Tokens.DIV(!pos,!pos)); "." => (error ("ignoring bad character "^yytext,!pos,!pos); lex()); \end{verbatim} \end{tt} \subsection{Top-level code} You must follow the instructions in Section~\ref{create-parser} to create the parser and lexer functors and load them. After you have done this, you must then apply the functors to produce the {\tt CalcParser} structure. The code for doing this is shown below. \begin{quote} \begin{verbatim} structure CalcLrVals = CalcLrValsFun(structure Token = LrParser.Token) structure CalcLex = CalcLexFun(structure Tokens = CalcLrVals.Tokens); structure CalcParser = Join(structure LrParser = LrParser structure ParserData = CalcLrVals.ParserData structure Lex = CalcLex) \end{verbatim} \end{quote} Now we need a function which given a lexer invokes the parser. The function {\tt invoke} does this. \begin{quote} \begin{verbatim} fun invoke lexstream = let fun print_error (s,i:int,_) = TextIO.output(TextIO.stdOut, "Error, line " ^ (Int.toString i) ^ ", " ^ s ^ "\n") in CalcParser.parse(0,lexstream,print_error,()) end \end{verbatim} \end{quote} Finally, we need a function which can read one or more expressions from the standard input. The function {\tt parse}, shown below, does this. It runs the calculator on the standard input and terminates when an end-of-file is encountered. \begin{quote} \begin{verbatim} fun parse () = let val lexer = CalcParser.makeLexer (fn _ => TextIO.inputLine TextIO.stdIn) val dummyEOF = CalcLrVals.Tokens.EOF(0,0) val dummySEMI = CalcLrVals.Tokens.SEMI(0,0) fun loop lexer = let val (result,lexer) = invoke lexer val (nextToken,lexer) = CalcParser.Stream.get lexer in case result of SOME r => TextIO.output(TextIO.stdOut, "result = " ^ (Int.toString r) ^ "\n") | NONE => (); if CalcParser.sameToken(nextToken,dummyEOF) then () else loop lexer end in loop lexer end \end{verbatim} \end{quote} \section{Signatures} This section contains signatures used by ML-Yacc for structures in the file base.sml, functors and structures that it generates, and for the signatures of lexer structures supplied by you. \subsection{Parsing structure signatures} \begin{quote} \begin{verbatim} (* STREAM: signature for a lazy stream.*) signature STREAM = sig type 'a stream val streamify : (unit -> 'a) -> 'a stream val cons : 'a * 'a stream -> 'a stream val get : 'a stream -> 'a * 'a stream end (* LR_TABLE: signature for an LR Table.*) signature LR_TABLE = sig datatype ('a,'b) pairlist = EMPTY | PAIR of 'a * 'b * ('a,'b) pairlist datatype state = STATE of int datatype term = T of int datatype nonterm = NT of int datatype action = SHIFT of state | REDUCE of int | ACCEPT | ERROR type table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto of state * nonterm val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end (* TOKEN: signature for the internal structure of a token.*) signature TOKEN = sig structure LrTable : LR_TABLE datatype ('a,'b) token = TOKEN of LrTable.term * ('a * 'b * 'b) val sameToken : ('a,'b) token * ('a,'b) token -> bool end (* LR_PARSER: signature for a polymorphic LR parser *) signature LR_PARSER = sig structure Stream: STREAM structure LrTable : LR_TABLE structure Token : TOKEN sharing LrTable = Token.LrTable exception ParseError val parse: {table : LrTable.table, lexer : ('b,'c) Token.token Stream.stream, arg: 'arg, saction : int * 'c * (LrTable.state * ('b * 'c * 'c)) list * 'arg -> LrTable.nonterm * ('b * 'c * 'c) * ((LrTable.state *('b * 'c * 'c)) list), void : 'b, ec: {is_keyword : LrTable.term -> bool, noShift : LrTable.term -> bool, preferred_subst:LrTable.term -> LrTable.term list, preferred_insert : LrTable.term -> bool, errtermvalue : LrTable.term -> 'b, showTerminal : LrTable.term -> string, terms: LrTable.term list, error : string * 'c * 'c -> unit }, lookahead : int (* max amount of lookahead used in * error correction *) } -> 'b * (('b,'c) Token.token Stream.stream) end \end{verbatim} \end{quote} \subsection{Lexers} Lexers for use with ML-Yacc's output must match one of these signatures. \begin{quote} \begin{verbatim} signature LEXER = sig structure UserDeclarations : sig type ('a,'b) token type pos type svalue end val makeLexer : (int -> string) -> unit -> (UserDeclarations.svalue, UserDeclarations.pos) UserDeclarations.token end (* ARG_LEXER: the %arg option of ML-Lex allows users to produce lexers which also take an argument before yielding a function from unit to a token. *) signature ARG_LEXER = sig structure UserDeclarations : sig type ('a,'b) token type pos type svalue type arg end val makeLexer : (int -> string) -> UserDeclarations.arg -> unit -> (UserDeclarations.svalue, UserDeclarations.pos) UserDeclarations.token end \end{verbatim} \end{quote} \subsection{Signatures for the functor produced by ML-Yacc} The following signature is used in signatures generated by ML-Yacc: \begin{quote} \begin{verbatim} (* PARSER_DATA: the signature of ParserData structures in {n}LrValsFun functor produced by ML-Yacc. All such structures match this signature. *) signature PARSER_DATA = sig type pos (* the type of line numbers *) type svalue (* the type of semantic values *) type arg (* the type of the user-supplied *) (* argument to the parser *) type result structure LrTable : LR_TABLE structure Token : TOKEN sharing Token.LrTable = LrTable structure Actions : sig val actions : int * pos * (LrTable.state * (svalue * pos * pos)) list * arg -> LrTable.nonterm * (svalue * pos * pos) * ((LrTable.state *(svalue * pos * pos)) list) val void : svalue val extract : svalue -> result end (* structure EC contains information used to improve error recovery in an error-correcting parser *) structure EC : sig val is_keyword : LrTable.term -> bool val noShift : LrTable.term -> bool val preferred_subst: LrTable.term -> LrTable.term list val preferred_insert : LrTable.term -> bool val errtermvalue : LrTable.term -> svalue val showTerminal : LrTable.term -> string val terms: LrTable.term list end (* table is the LR table for the parser *) val table : LrTable.table end \end{verbatim} \end{quote} ML-Yacc generates these two signatures: \begin{quote} \begin{verbatim} (* printed out in .sig file created by parser generator: *) signature {n}_TOKENS = sig type ('a,'b) token type svalue ... end signature {n}_LRVALS = sig structure Tokens : {n}_TOKENS structure ParserData : PARSER_DATA sharing type ParserData.Token.token = Tokens.token sharing type ParserData.svalue = Tokens.svalue end \end{verbatim} \end{quote} \subsection{User parser signatures} Parsers created by applying the Join functor will match this signature: \begin{quote} \begin{verbatim} signature PARSER = sig structure Token : TOKEN structure Stream : STREAM exception ParseError type pos (* pos is the type of line numbers *) type result (* value returned by the parser *) type arg (* type of the user-supplied argument *) type svalue (* the types of semantic values *) val makeLexer : (int -> string) -> (svalue,pos) Token.token Stream.stream val parse : int * ((svalue,pos) Token.token Stream.stream) * (string * pos * pos -> unit) * arg -> result * (svalue,pos) Token.token Stream.stream val sameToken : (svalue,pos) Token.token * (svalue,pos) Token.token -> bool end \end{verbatim} \end{quote} Parsers created by applying the JoinWithArg functor will match this signature: \begin{quote} \begin{verbatim} signature ARG_PARSER = sig structure Token : TOKEN structure Stream : STREAM exception ParseError type arg type lexarg type pos type result type svalue val makeLexer : (int -> string) -> lexarg -> (svalue,pos) Token.token Stream.stream val parse : int * ((svalue,pos) Token.token Stream.stream) * (string * pos * pos -> unit) * arg -> result * (svalue,pos) Token.token Stream.stream val sameToken : (svalue,pos) Token.token * (svalue,pos) Token.token -> bool end \end{verbatim} \end{quote} \section{Sharing constraints} Let the name of the parser be denoted by \{n\}. If you have not created a lexer which takes an argument, and you have followed the directions given earlier for creating the parser, you will have the following structures with the following signatures: \begin{quote} \begin{verbatim} (* always present *) signature TOKEN signature LR_TABLE signature STREAM signature LR_PARSER signature PARSER_DATA structure LrParser : LR_PARSER (* signatures generated by ML-Yacc *) signature {n}_TOKENS signature {n}_LRVALS (* structures created by you *) structure {n}LrVals : {n}_LRVALS structure Lex : LEXER structure {n}Parser : PARSER \end{verbatim} \end{quote} The following sharing constraints will exist: \begin{quote} \begin{verbatim} sharing {n}Parser.Token = LrParser.Token = {n}LrVals.ParserData.Token sharing {n}Parser.Stream = LrParser.Stream sharing type {n}Parser.arg = {n}LrVals.ParserData.arg sharing type {n}Parser.result = {n}LrVals.ParserData.result sharing type {n}Parser.pos = {n}LrVals.ParserData.pos = Lex.UserDeclarations.pos sharing type {n}Parser.svalue = {n}LrVals.ParserData.svalue = {n}LrVals.Tokens.svalue = Lex.UserDeclarations.svalue sharing type {n}Parser.Token.token = {n}LrVals.ParserData.Token.token = LrParser.Token.token = Lex.UserDeclarations.token sharing {n}LrVals.LrTable = LrParser.LrTable \end{verbatim} \end{quote} If you used a lexer which takes an argument, then you will have: \begin{quote} \begin{verbatim} structure ARG_LEXER structure {n}Parser : PARSER (* additional sharing constraint *) sharing type {n}Parser.lexarg = Lex.UserDeclarations.arg \end{verbatim} \end{quote} \section{Hints} \subsection{Multiple start symbols} To have multiple start symbols, define a dummy token for each start symbol. Then define a start symbol which derives the multiple start symbols with dummy tokens placed in front of them. When you start the parser you must place a dummy token on the front of the lexer stream to select a start symbol from which to begin parsing. Assuming that you have followed the naming conventions used before, create the lexer using the makeLexer function in the \{n\}Parser structure. Then, place the dummy token on the front of the lexer: \begin{quote} \begin{verbatim} val dummyLexer = {n}Parser.Stream.cons ({n}LrVals.Tokens.{dummy token name} ({dummy lineno},{dummy lineno}), lexer) \end{verbatim} \end{quote} You have to pass a Tokens structure to the lexer. This Tokens structure contains functions which construct tokens from values and line numbers. So to create your dummy token just apply the appropriate token constructor function from this Tokens structure to a value (if there is one) and the line numbers. This is exactly what you do in the lexer to construct tokens. Then you must place the dummy token on the front of your lex stream. The structure \{n\}Parser contains a structure Stream which implements lazy streams. So you just cons the dummy token on to stream returned by makeLexer. \subsection{Functorizing things further} You may wish to functorize things even further. Two possibilities are turning the lexer and parser structures into closed functors, that is, functors which do not refer to types or values defined outside their body or outside their parameter structures (except for pervasive types and values), and creating a functor which encapsulates the code necessary to invoke the parser. Use the {\tt \%header} declarations in ML-Lex and ML-Yacc to create closed functors. See section~\ref{optional-def} of this manual and section 4 of the manual for ML-Lex for complete descriptions of these declarations. If you do this, you should also parameterize these structures by the types of line numbers. The type will be an abstract type, so you will also need to define all the valid operations on the type. The signature INTERFACE, defined below, shows one possible signature for a structure defining the line number type and associated operations. If you wish to encapsulate the code necessary to invoke the parser, your functor generally will have form: \begin{quote} \begin{verbatim} functor Encapsulate( structure Parser : PARSER structure Interface : INTERFACE sharing type Parser.arg = Interface.arg sharing type Parser.pos = Interface.pos sharing type Parser.result = ... structure Tokens : {parser name}_TOKENS sharing type Tokens.token = Parser.Token.token sharing type Tokens.svalue = Parser.svalue) = struct ... end \end{verbatim} \end{quote} The signature INTERFACE, defined below, is a possible signature for a structure defining the types of line numbers and arguments (types pos and arg, respectively) along with operations for them. You need this structure because these types will be abstract types inside the body of your functor. \begin{quote} \begin{verbatim} signature INTERFACE = sig type pos val line : pos ref val reset : unit -> unit val next : unit -> unit val error : string * pos * pos -> unit type arg val nothing : arg end \end{verbatim} \end{quote} The directory example/fol contains a sample parser in which the code for tying together the lexer and parser has been encapsulated in a functor. \section{Acknowledgements} Nick Rothwell wrote an SLR table generator in 1988 which inspired the initial work on an ML parser generator. Bruce Duba and David MacQueen made useful suggestions about the design of the error-correcting parser. Thanks go to all the users at Carnegie Mellon who beta-tested this version. Their comments and questions led to the creation of this manual and helped improve it. \section{Bugs} There is a slight difference in syntax between ML-Lex and ML-Yacc. In ML-Lex, semantic actions must be followed by a semicolon but in ML-Yacc semantic actions cannot be followed by a semicolon. The syntax should be the same. ML-Lex also produces structures with two different signatures, but it should produce structures with just one signature. This would simplify some things. \begin{thebibliography}{9} \bibitem{bf} ``A Practical Method for LR and LL Syntactic Error Diagnosis and Recovery'', M. Burke and G. Fisher, ACM Transactions on Programming Languages and Systems, Vol. 9, No. 2, April 1987, pp. 164-167. \bibitem{ahu} A. Aho, R. Sethi, J. Ullman, {\em Compilers: Principles, Techniques, and Tools}, Addison-Wesley, Reading, MA, 1986. \end{thebibliography} \end{document} smlsharp-1.2.0/src/ml-yacc/doc/tech.doc0000644 000000000000000000002337412050661606020007 0ustar00rootroot0000000 0000000 A Hacker's guide ML-Yacc itself The program for computing the LALR(1) table can be divided into 3 separate parts. The first part computes the LR(0) graph. The second part attaches lookahead to the LR(0) graph to get the LALR(1) graph. The third part computes the parse tables from the LALR(1) graph. Look at the file sigs.sml to see how the modules are layed out. The file graph.sml contains the Graph functor, which produces a structure containing a function mkGraph. mkGraph takes a grammar and returns a some useful values and functions, including the LR(0) graph. It renumbers the rules to an internal form to make the LR(0) graph generation more efficient. The LR(0) graph includes only core items in its set of items. The file look.sml takes some of theses values and produces functions which tell whether a nonterm is nullable and the first set of a symbol list. The functor mkLalr creates a structure with a function that takes an LR(0) graph and some other values (notably the first and nullable) functions produced by Look and creates a stripped down version of an LR(0) graph with lookaheads attached. Nullable items (which usually aren't core items) are added and all other items without dots at the end (i.e. non-reduction items) are removed. The functor MkTable produces a function with takes the LR(0) graph produced by the function in mkGraph and the LR(0) graph with lookaheads produced by Lalr and creates an LALR(1) table from these graphs. ----------------------------------------------------------------------- An overview of the algorithms used in LR(0) graph generation and LALR(1) lookahead creation. LR(0) graph ----------- The LR(0) graph consists of sets of items. Each set of items will be called a core set. The basic algorithm is: let fun add_gotos(graph,f,nil,r) = (graph,r) | add_gotos(graph,f,(a,symbol)::b,r) let newgraph = graph + edge from f to a labelled with symbol in if a exists in graph then add_gotos(newgraph,f,b,r) else add_gotos(newgraph,f,b,a::r) end fun f(graph,nil) = graph | f(graph,a::b) = f(add_gotos(graph,a,gotos of closure a,b)) in f(empty-graph,[initial core set]) end For each core, we compute the new cores which result from doing a shift or goto, and then add these new cores with the symbol used in the shift or goto to the graph. We continue doing this until there are no more cores to adds to the graph. We have to take the closure of a core to include those items which are derived from nonterminals with a dot before them. If item A -> 'a .B 'c is in a core, the all productions derived by B must also be in the core. We want to be able to do the following operations efficently: (1) check if a core is in the graph already (2) compute the closure of a core (3) compute the cores resulting from goto/shift operations. (1) This can be done efficiently if a complete order exists for the cores. This can be done by imposing an ordering on items, giving each item a unique integer and using the place in an item. This can be used to order a set of items. (2) Much of the computation for the closure can be done ahead of time. The set of nonterminals to add for a given a nonterminal can be pre-computed using a transitive closure algorithm (the transitive closure is sparse in practice). One can then compute the closure for a core in the following manner. First, compute the set of nonterminals with . in front of them. This can be done in (m ln m) time. Next, use the results from the transitive closure to compute the complete set of nonterminals that should be used. Finally, for each nonterminal, merge its set of productions (sort all rules by the nonterminals from which they are derived before numbering them, then all we have to do is just prepend the rules while scanning the list in reverse order). (3) To do this, just scan the core closure, sorting rules by their symbols into lists. Then reverse all the lists, and we have the new core sets. Lookahead representation ------------------------ The previous part throws away the result of the closure operations. It is used only to compute new cores for use in the goto operation. These intermediate results should be saved because they will be useful here. Lookaheads are attached to an item when (1) an item is the result of a shift/goto. The item must have the same lookahead as the item from which it is derived. (2) an item is added as the result of a closure. Note that in fact all productions derived from a given nonterminal are added here. This can be used (perhaps) to our advantage, as we can represent a closure using just the nonterminal. This can be divided into two cases: (a) A -> 'a .B 'c , where 'c derives epsilon, (b) A -> 'a .B 'c , where 'c does not derive epsilon In (a), lookahead(items derived from B) includes first('c) and lookahead(A -> 'a .B 'c) In (b), lookahead(items derived from B) includes only first('c). This is an example of back propagation. Note that an item is either the result of a closure or the result of a shift/goto. It is never the result of both (that would be a contradiction). The following representation will be used: goto/shift items: an ordered list of item * lookahead ref * lookahead ref for the resulting shift/goto item in another core. closure items: for each nonterminal: (1) lookahead ref (2) a list of item * lookahead ref for the resulting shift/goto item in another core. Lookahead algorithms -------------------- After computing the LR(0) graph, lookaheads must be attached to the items in the graph. An item i may receive lookaheads in two ways. If item i was the result of a shift or goto from some item j, then lookahead(i) includes lookahead(j). If item i is a production of some nonterminal B, and there exists some item j of the form A -> x .B y, then item i will be added through closure(j). This implies that lookahead(i) includes first(y). If y => epsilon, then lookahead(i) includes lookahead(j). Lookahead must be recorded for completion items, which are items of the form A -> x., non-closure items of the form A -> y . B z, where z is not nullable, and closure items of the form A -> epsilon. (comment: items of the form A -> .x can appear in the start state as non-closure items. A must be the start symbol, which should not appear in the right hand side of any rule. This implies that lookaheads will never be propagated to such items) We chose to omit closure items that do not have the form A -> epsilon. It is possible to add lookaheads to closure items, but we have not done so because it would greatly slow down the addition of lookaheads. Instead we precompute the nonterminals whose productions are added through the closure operation, the lookaheads for these nonterminals, and whether the lookahead for these nonterminals should include first(y) and lookahead(j) for some item j of the form A -> x .B y. This information depends only on the particular nonterminal whose closure is being taken. Some notation is necessary to describe what is happening here. Let =c=> denote items added in one closure step that are derived from some nonterminal B in a production A -> x .B y. Let =c+=> denote items added in one or more =c=> steps. Consider the following productions B -> S ; S -> E E -> F * E F -> num in a kernal with the item B -> .S The following derivations are possible: B -> .S =c=> S -> .E =c+=> S -> .E, E -> .F * E, F -> .num The nonterminals that are added through the closure operation are the nonterminals for some item j = A -> .B x such that j =c+=> .C y. Lookahead(C) includes first(y). If y =*=> epsilon then lookahead (C) includes first (x). If x=*=> epsilon and y =*=> epsilon then lookahead(C) includes first(j). The following algorithm computes the information for each nonterminal: (1) nonterminals such that c =c+=> .C y and y =*=> epsilon Let s = the set of nonterminals added through closure = B repeat for all B which are elements of s, if B -> .C z and z =*=> epsilon then add B to s. until s does not change. (2) nonterminals added through closure and their lookaheads Let s = the set of nonterminals added through closure = B where A -> x . B y repeat for all B which are elements of s, if B -> .C z then add C to s, and add first(z) to lookahead(C) until nothing changes. Now, for each nonterminal A in s, find the set of nonterminals such that A =c+=> .B z, and z =*=> epsilon (i.e. use the results from 1). Add the lookahead for nonterminal A to the lookahead for each nonterminal in this set. These algorithms can be restated as either breadth-first or depth-first search algorithms. The loop invariant of the algorithms is that whenever a nonterminal is added to the set being calculated, all the productions for the nonterminal are checked. This algorithm computes the lookahead for each item: for each state, for each item of the form A -> u .B v in the state, where u may be nullable, let first_v = first(v) l-ref = ref for A -> u .B v s = the set of nonterminals added through the closure of B. for each element X of s, let r = the rules produced by an element X of s l = the lookahead ref cells for each rule, i.e. all items of A -> x. or A -> x .B y, where y =*=> epsilon, and x is not epsilon add the lookahead we have computed for X to the elements of l if B =c+=> X z, where z is nullable, add first(y) to the l. If y =*=> epsilon, save l with the ref for A -> x .B y in a list. Now take the list of (lookahead ref, list of lookahead refs) and propagate each lookahead ref cell's contents to the elements of the list of lookahead ref cells associated with it. Iterate until no lookahead set changes. smlsharp-1.2.0/src/ml-yacc/examples0000755 000000000000000000000000012050661606017356 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/ml-yacc/examples/calc0000755 000000000000000000000000012050661606020260 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/ml-yacc/examples/calc/calc.grm0000644 000000000000000000000220112050661606021743 0ustar00rootroot0000000 0000000 (* Sample interactive calculator for ML-Yacc *) fun lookup "bogus" = 10000 | lookup s = 0 %% %eop EOF SEMI (* %pos declares the type of positions for terminals. Each symbol has an associated left and right position. *) %pos int %left SUB PLUS %left TIMES DIV %right CARAT %term ID of string | NUM of int | PLUS | TIMES | PRINT | SEMI | EOF | CARAT | DIV | SUB %nonterm EXP of int | START of int option %name Calc %subst PRINT for ID %prefer PLUS TIMES DIV SUB %keyword PRINT SEMI %noshift EOF %value ID ("bogus") %verbose %% (* the parser returns the value associated with the expression *) START : PRINT EXP (print (Int.toString EXP); print "\n"; SOME EXP) | EXP (SOME EXP) | (NONE) EXP : NUM (NUM) | ID (lookup ID) | EXP PLUS EXP (EXP1+EXP2) | EXP TIMES EXP (EXP1*EXP2) | EXP DIV EXP (EXP1 div EXP2) | EXP SUB EXP (EXP1-EXP2) | EXP CARAT EXP (let fun e (m,0) = 1 | e (m,l) = m*e(m,l-1) in e (EXP1,EXP2) end) smlsharp-1.2.0/src/ml-yacc/examples/calc/calc.lex0000644 000000000000000000000177512050661606021765 0ustar00rootroot0000000 0000000 structure Tokens = Tokens type pos = int type svalue = Tokens.svalue type ('a,'b) token = ('a,'b) Tokens.token type lexresult= (svalue,pos) token val pos = ref 0 fun eof () = Tokens.EOF(!pos,!pos) fun error (e,l : int,_) = TextIO.output (TextIO.stdOut, String.concat[ "line ", (Int.toString l), ": ", e, "\n" ]) %% %header (functor CalcLexFun(structure Tokens: Calc_TOKENS)); alpha=[A-Za-z]; digit=[0-9]; ws = [\ \t]; %% \n => (pos := (!pos) + 1; lex()); {ws}+ => (lex()); {digit}+ => (Tokens.NUM (valOf (Int.fromString yytext), !pos, !pos)); "+" => (Tokens.PLUS(!pos,!pos)); "*" => (Tokens.TIMES(!pos,!pos)); ";" => (Tokens.SEMI(!pos,!pos)); {alpha}+ => (if yytext="print" then Tokens.PRINT(!pos,!pos) else Tokens.ID(yytext,!pos,!pos) ); "-" => (Tokens.SUB(!pos,!pos)); "^" => (Tokens.CARAT(!pos,!pos)); "/" => (Tokens.DIV(!pos,!pos)); "." => (error ("ignoring bad character "^yytext,!pos,!pos); lex()); smlsharp-1.2.0/src/ml-yacc/examples/calc/calc.sml0000644 000000000000000000000374112050661606021763 0ustar00rootroot0000000 0000000 (* calc.sml *) (* This file provides glue code for building the calculator using the * parser and lexer specified in calc.lex and calc.grm. *) structure Calc : sig val parse : unit -> unit end = struct (* * We apply the functors generated from calc.lex and calc.grm to produce * the CalcParser structure. *) structure CalcLrVals = CalcLrValsFun(structure Token = LrParser.Token) structure CalcLex = CalcLexFun(structure Tokens = CalcLrVals.Tokens) structure CalcParser = Join(structure LrParser = LrParser structure ParserData = CalcLrVals.ParserData structure Lex = CalcLex) (* * We need a function which given a lexer invokes the parser. The * function invoke does this. *) fun invoke lexstream = let fun print_error (s,i:int,_) = TextIO.output(TextIO.stdOut, "Error, line " ^ (Int.toString i) ^ ", " ^ s ^ "\n") in CalcParser.parse(0,lexstream,print_error,()) end (* * Finally, we need a driver function that reads one or more expressions * from the standard input. The function parse, shown below, does * this. It runs the calculator on the standard input and terminates when * an end-of-file is encountered. *) fun parse () = let val lexer = CalcParser.makeLexer (fn _ => (case TextIO.inputLine TextIO.stdIn of SOME s => s | _ => "")) val dummyEOF = CalcLrVals.Tokens.EOF(0,0) val dummySEMI = CalcLrVals.Tokens.SEMI(0,0) fun loop lexer = let val (result,lexer) = invoke lexer val (nextToken,lexer) = CalcParser.Stream.get lexer val _ = case result of SOME r => TextIO.output(TextIO.stdOut, "result = " ^ (Int.toString r) ^ "\n") | NONE => () in if CalcParser.sameToken(nextToken,dummyEOF) then () else loop lexer end in loop lexer end end (* structure Calc *) smlsharp-1.2.0/src/ml-yacc/examples/calc/README0000644 000000000000000000000311212050661606021214 0ustar00rootroot0000000 0000000 This is a sample interactive calculator built using ML-Yacc and ML-Lex. The calculator is defined by the files calc.lex (* defines lexer *) calc.grm (* defines grammar *) calc.sml (* defines driver function, Calc.parse *) sources.cm (* cm description file *) To compile this example, type - CM.make "sources.cm"; in this directory. CM will invoke ml-lex and ml-yacc to process the lexer specification calc.lex and the grammar specification calc.grm respectively. Then it will compile the resulting SML source files calc.lex.sml calc.grm.sig calc.grm.sml and the calc.sml file containing the driver code. The end result of loading these files is a structure Calc containing a top-level driver function named parse. Calc.parse : unit -> unit The calculator can be invoked by applying Calc.parse to the unit value. - Calc.parse(); 1+3; result = 4 The calculator reads a sequence of expressions from the standard input and prints the value of each expression after reading the expression. Expressions must be separated by semicolons. An expression is not evaluated until the semicolon is encountered. The calculator terminates when an end-of-file is encountered. There is no attempt to fix input errors: a lexical error will cause exception LexError to be raised, while a syntax error will cause ParseError to be raised. NOTE: The CM description file sources.cm mentions the ml-yacc library (ml-yacc-lib.cm). CM's search path should be configured so that this library will be found. This should normally be the case if SML/NJ is properly installed. smlsharp-1.2.0/src/ml-yacc/examples/calc/sources.cm0000644 000000000000000000000020012050661606022333 0ustar00rootroot0000000 0000000 Group is #if defined (NEW_CM) $/basis.cm $/ml-yacc-lib.cm #else ml-yacc-lib.cm #endif calc.grm calc.lex calc.sml smlsharp-1.2.0/src/ml-yacc/examples/fol0000755 000000000000000000000000012050661606020136 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/ml-yacc/examples/fol/absyn.sml0000644 000000000000000000000024212050661606022044 0ustar00rootroot0000000 0000000 signature ABSYN = sig type absyn val null : absyn end structure Absyn :> ABSYN = struct datatype absyn = NULL val null = NULL endsmlsharp-1.2.0/src/ml-yacc/examples/fol/fol.grm0000644 000000000000000000000331612050661606021507 0ustar00rootroot0000000 0000000 %% %header (functor FolLrValsFun (structure Token : TOKEN structure Absyn : ABSYN ) : Fol_LRVALS) %term EOF | DOT | COMMA | SEMICOLON | LPAREN | RPAREN | BACKARROW | DOUBLEARROW | ARROW | BAR | TRUE | FORALL | EXISTS | PARSEPROG | PARSEQUERY | LCID of string | UCID of string | INT of string (* gform: goal formula dform: definite clause *) %nonterm start of Absyn.absyn | clause | query | gform | dform | atom | termlist | term | varbd | id %start start %eop EOF DOT %pos int %verbose %pure %right FORALL EXISTS %left BACKARROW %right SEMICOLON %right COMMA %right DOUBLEARROW %right ARROW %left BAR %name Fol %prefer DOT %% start : PARSEPROG clause (Absyn.null) | PARSEQUERY query (Absyn.null) clause : dform () | () query : gform () | () gform : TRUE () | gform COMMA gform () (* and *) | gform SEMICOLON gform () (* disjunction *) | gform BACKARROW dform () (* implication: dform implies gform *) | gform ARROW gform BAR gform () (* if-then-else *) | FORALL varbd gform () (* universal quantification *) | EXISTS varbd gform () (* existential quantification *) | atom () (* atomic formula *) | LPAREN gform RPAREN () dform : TRUE () | dform COMMA dform () (* and *) | dform BACKARROW gform () (* gform implies dform *) | FORALL varbd dform () | atom () | LPAREN dform RPAREN () atom : LCID () | LCID LPAREN termlist RPAREN () termlist : term () | term COMMA termlist () term : id () | INT () | LCID LPAREN termlist RPAREN () varbd : LCID DOT () | UCID DOT () id : LCID () | UCID () smlsharp-1.2.0/src/ml-yacc/examples/fol/fol.lex0000644 000000000000000000000264312050661606021514 0ustar00rootroot0000000 0000000 structure Tokens = Tokens structure Interface = Interface open Interface type pos = Interface.pos type svalue = Tokens.svalue type ('a,'b) token = ('a,'b) Tokens.token type lexresult= (svalue,pos) token val eof = fn () => Tokens.EOF(!line,!line) fun makeInt (s : string) = s %% %header (functor FolLexFun(structure Tokens: Fol_TOKENS structure Interface: INTERFACE) : LEXER); lcstart=[a-z!&$+/<=>?@~|#*`]|\-; ucstart=[A-Z_]; idchars={lcstart}|{ucstart}|[0-9]; lcid={lcstart}{idchars}*; ucid={ucstart}{idchars}*; ws=[\t\ ]*; num=[0-9]+; %% {ws} => (lex()); \n => (next_line(); lex()); ":-" => (Tokens.BACKARROW(!line,!line)); "," => (Tokens.COMMA(!line,!line)); ";" => (Tokens.SEMICOLON(!line,!line)); "." => (Tokens.DOT(!line,!line)); "(" => (Tokens.LPAREN(!line,!line)); ")" => (Tokens.RPAREN(!line,!line)); "->" => (Tokens.ARROW(!line,!line)); "=>" => (Tokens.DOUBLEARROW(!line,!line)); "|" => (Tokens.BAR(!line,!line)); "true" => (Tokens.TRUE(!line,!line)); "forall" => (Tokens.FORALL(!line,!line)); "exists" => (Tokens.EXISTS(!line,!line)); {lcid} => (Tokens.LCID (yytext,!line,!line)); {ucid} => (Tokens.UCID (yytext,!line,!line)); {num} => (Tokens.INT (makeInt yytext,!line,!line)); . => (error ("ignoring illegal character" ^ yytext, !line,!line); lex()); smlsharp-1.2.0/src/ml-yacc/examples/fol/interface.sml0000644 000000000000000000000112512050661606022671 0ustar00rootroot0000000 0000000 (* Externally visible aspects of the lexer and parser *) signature INTERFACE = sig type pos val line : pos ref val init_line : unit -> unit val next_line : unit -> unit val error : string * pos * pos -> unit type arg val nothing : arg end (* signature INTERFACE *) functor Interface () : INTERFACE = struct type pos = int val line = ref 0 fun init_line () = (line := 1) fun next_line () = (line := !line + 1) fun error (errmsg,line:pos,_) = TextIO.output(TextIO.stdOut,"Line " ^ (Int.toString line) ^ ": " ^ errmsg ^ "\n") type arg = unit val nothing = () end (* functor INTERFACE *) smlsharp-1.2.0/src/ml-yacc/examples/fol/link.sml0000644 000000000000000000000114712050661606021672 0ustar00rootroot0000000 0000000 structure FolLrVals : Fol_LRVALS = FolLrValsFun(structure Token = LrParser.Token structure Absyn = Absyn); structure Interface : INTERFACE = Interface(); structure FolLex : LEXER = FolLexFun(structure Tokens = FolLrVals.Tokens structure Interface = Interface); structure FolParser : PARSER = Join(structure ParserData = FolLrVals.ParserData structure Lex = FolLex structure LrParser = LrParser); structure Parse : PARSE = Parse (structure Absyn = Absyn structure Interface = Interface structure Parser = FolParser structure Tokens = FolLrVals.Tokens ); smlsharp-1.2.0/src/ml-yacc/examples/fol/list.fol0000644 000000000000000000000010112050661606021662 0ustar00rootroot0000000 0000000 append(nil,K,K). append(cons(X,L),K,cons(X,M)) :- append(L,K,M). smlsharp-1.2.0/src/ml-yacc/examples/fol/parse.sml0000644 000000000000000000000425712050661606022054 0ustar00rootroot0000000 0000000 (* Uses the generated lexer and parser to export parsing functions *) signature PARSE = sig structure Absyn : ABSYN (* parse a program from a string *) val prog_parse : string -> Absyn.absyn (* parse a query from a string *) val query_parse : string -> Absyn.absyn (* parse a program in a file *) val file_parse : string -> Absyn.absyn (* parse a query from the standard input *) val top_parse : unit -> Absyn.absyn end (* signature PARSE *) functor Parse (structure Absyn : ABSYN structure Interface : INTERFACE structure Parser : PARSER sharing type Parser.arg = Interface.arg sharing type Parser.pos = Interface.pos sharing type Parser.result = Absyn.absyn structure Tokens : Fol_TOKENS sharing type Tokens.token = Parser.Token.token sharing type Tokens.svalue = Parser.svalue ) : PARSE = struct structure Absyn = Absyn fun parse (dummyToken,lookahead,reader : int -> string) = let val _ = Interface.init_line() val empty = !Interface.line val dummyEOF = Tokens.EOF(empty,empty) val dummyTOKEN = dummyToken(empty,empty) fun invoke lexer = let val newLexer = Parser.Stream.cons(dummyTOKEN,lexer) in Parser.parse(lookahead,newLexer,Interface.error, Interface.nothing) end fun loop lexer = let val (result,lexer) = invoke lexer val (nextToken,lexer) = Parser.Stream.get lexer in if Parser.sameToken(nextToken,dummyEOF) then result else loop lexer end in loop (Parser.makeLexer reader) end fun string_reader s = let val next = ref s in fn _ => !next before next := "" end fun prog_parse s = parse (Tokens.PARSEPROG,15,string_reader s) fun query_parse s = parse (Tokens.PARSEQUERY,15,string_reader s) fun file_parse name = let val dev = TextIO.openIn name in (parse (Tokens.PARSEPROG,15,fn i => TextIO.inputN(dev,i))) before TextIO.closeIn dev end fun top_parse () = parse (Tokens.PARSEQUERY,0,(fn i => (case TextIO.inputLine TextIO.stdIn of SOME s => s | _ => ""))) end (* functor Parse *) smlsharp-1.2.0/src/ml-yacc/examples/fol/README0000644 000000000000000000000306512050661606021101 0ustar00rootroot0000000 0000000 fol/README This is a sample parser for first-order logic. The grammar was contributed by Frank Pfenning. The parser is defined by the files fol.lex (* defines lexer *) fol.grm (* defines grammar *) link.sml (* constructs basic parser structures *) absyn.sml (* a trivial abstract syntax *) interface.sml (* interface to lexer and parser properties *) parse.sml (* driver functions *) sources.cm (* cm description file *) To compile this example, type - CM.make "sources.cm"; in this directory. CM will invoke ml-lex and ml-yacc to process the lexer specification calc.lex and the grammar specification calc.grm respectively. Then it will compile the resulting SML source files fol.lex.sml fol.grm.sig fol.grm.sml and the other sml source files. The end result of loading these files is a structure Parse containing the following top-level driver functions: val prog_parse : string -> Absyn.absyn (* parse a program from a string *) val query_parse : string -> Absyn.absyn (* parse a query from a string *) val file_parse : string -> Absyn.absyn (* parse a program in a file *) val top_parse : unit -> Absyn.absyn (* parse a query from the standard input *) The file list.fol is a sample input file that can be parsed using the file_parse function: - Parse.file_parse "list.fol"; NOTE: The CM description file sources.cm mentions the ml-yacc library (ml-yacc-lib.cm). CM's search path should be configured so that this library will be found. This should normally be the case if SML/NJ is properly installed. smlsharp-1.2.0/src/ml-yacc/examples/fol/sources.cm0000644 000000000000000000000025212050661606022220 0ustar00rootroot0000000 0000000 Group is #if defined (NEW_CM) $/basis.cm $/ml-yacc-lib.cm #else ml-yacc-lib.cm #endif fol.lex fol.grm absyn.sml interface.sml parse.sml link.sml smlsharp-1.2.0/src/ml-yacc/examples/pascal0000755 000000000000000000000000012050661606020621 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/ml-yacc/examples/pascal/parser.sml0000644 000000000000000000000240612050661606022713 0ustar00rootroot0000000 0000000 (* parser.sml *) (* driver for Pascal parser *) structure Parser = struct structure PascalLrVals = PascalLrValsFun(structure Token = LrParser.Token) structure PascalLex = PascalLexFun(structure Tokens = PascalLrVals.Tokens) structure PascalParser = Join(structure Lex= PascalLex structure LrParser = LrParser structure ParserData = PascalLrVals.ParserData) fun parse s = let val dev = TextIO.openIn s val stream = PascalParser.makeLexer(fn i => TextIO.inputN(dev,i)) fun error (e,i:int,_) = TextIO.output(TextIO.stdOut, s ^ "," ^ " line " ^ (Int.toString i) ^ ", Error: " ^ e ^ "\n") in PascalLex.UserDeclarations.lineNum := 1; PascalParser.parse(30,stream,error,()) before TextIO.closeIn dev end fun keybd () = let val stream = PascalParser.makeLexer (fn i => (case TextIO.inputLine TextIO.stdIn of SOME s => s | _ => "")) fun error (e,i:int,_) = TextIO.output(TextIO.stdOut, "std_in," ^ " line " ^ (Int.toString i) ^ ", Error: " ^ e ^ "\n") in PascalLex.UserDeclarations.lineNum := 1; PascalParser.parse(0,stream,error,()) end end (* structure Parser *) smlsharp-1.2.0/src/ml-yacc/examples/pascal/pascal.grm0000644 000000000000000000001447612050661606022666 0ustar00rootroot0000000 0000000 %% %name Pascal %term YAND | YARRAY | YBEGIN | YCASE | YCONST | YDIV | YDO | YDOTDOT | YTO | YELSE | YEND | YFILE | YFOR | YFORWARD | YPROCEDURE | YGOTO | YID | YIF | YIN | YINT | YLABEL | YMOD | YNOT | YNUMB | YOF | YOR | YPACKED | YNIL | YFUNCTION | YPROG | YRECORD | YREPEAT | YSET | YSTRING | YTHEN | YDOWNTO | YTYPE | YUNTIL | YVAR | YWHILE | YWITH | YBINT | YOCT | YHEX | YCASELAB | YILLCH | YEXTERN | YDOT | YLPAR | YRPAR | YSEMI | YCOMMA | YCOLON | YCARET | YLBRA | YRBRA | YTILDE | YLESS | YEQUAL | YGREATER | YPLUS | YMINUS | YBAR | UNARYSIGN | YSTAR | YSLASH | YAMP | EOF %eop EOF %pos int %pure %noshift EOF %nonassoc YLESS YEQUAL YGREATER YIN %left YPLUS YMINUS YOR YBAR %left UNARYSIGN %left YSTAR YSLASH YDIV YMOD YAND YAMP %left YNOT %nonterm goal | prog_hedr | block | decls | decl | labels | label_decl | const_decl | type_decl | var_decl | proc_decl | pheadres | phead | porf | params | param | ftype | param_list | const | number | const_list | type' | simple_type | struct_type | simple_type_list | field_list | fixed_part | field | variant_part | variant_list | variant | stat_list | stat_lsth | cstat_list | cstat | stat | assign | expr | element_list | element | variable | qual_var | wexpr | octhex | expr_list | wexpr_list | relop | addop | divop | negop | var_list | id_list | const_id | type_id | var_id | array_id | ptr_id | record_id | field_id | func_id | begin %keyword YAND YARRAY YBEGIN YCASE YCONST YDIV YDO YTO YELSE YEND YFILE YFOR YFORWARD YPROCEDURE YGOTO YIF YIN YLABEL YMOD YNOT YOF YOR YPACKED YNIL YFUNCTION YPROG YRECORD YREPEAT YSET YSTRING YTHEN YDOWNTO YTYPE YUNTIL YVAR YWHILE YWITH YOCT YHEX YEXTERN YAMP %prefer YID YSEMI YCOMMA YLBRA %subst YCOMMA for YSEMI | YSEMI for YCOMMA %% begin: goal () goal: prog_hedr decls block YDOT () | decls () prog_hedr: YPROG YID YLPAR id_list YRPAR YSEMI () | YPROG YID YSEMI () block: YBEGIN stat_list YEND () decls: decls decl () | () decl: labels () | const_decl () | type_decl () | var_decl () | proc_decl () labels: YLABEL label_decl YSEMI () label_decl: YINT () | label_decl YCOMMA YINT () const_decl: YCONST YID YEQUAL const YSEMI () | const_decl YID YEQUAL const YSEMI () | YCONST YID YEQUAL YID YSEMI () | const_decl YID YEQUAL YID YSEMI () type_decl: YTYPE YID YEQUAL type' YSEMI () | type_decl YID YEQUAL type' YSEMI () var_decl: YVAR id_list YCOLON type' YSEMI () | var_decl id_list YCOLON type' YSEMI () proc_decl: phead YFORWARD YSEMI () | phead YEXTERN YSEMI () | pheadres decls block YSEMI () pheadres: phead () phead: porf YID params ftype YSEMI () porf: YPROCEDURE () | YFUNCTION () params: YLPAR param_list YRPAR () | () param: id_list YCOLON type' () | YVAR id_list YCOLON type' () | YFUNCTION id_list params ftype () | YPROCEDURE id_list params ftype () ftype: YCOLON type' () | () param_list: param () | param_list YSEMI param () const: YSTRING () | number () | YPLUS number () | YMINUS number () | YPLUS YID () | YMINUS YID () number: YINT () | YBINT () | YNUMB () const_list: const () | const_list YCOMMA const () | YID () | const_list YCOMMA YID () type': simple_type () | YCARET YID () | struct_type () | YPACKED struct_type () simple_type: type_id () | YLPAR id_list YRPAR () | const YDOTDOT const () | YID YDOTDOT const () | const YDOTDOT YID () | YID YDOTDOT YID () struct_type: YARRAY YLBRA simple_type_list YRBRA YOF type' () | YFILE YOF type' () | YSET YOF simple_type () | YRECORD field_list YEND () simple_type_list: simple_type () | simple_type_list YCOMMA simple_type () field_list: fixed_part variant_part () fixed_part: field () | fixed_part YSEMI field () field: () | id_list YCOLON type' () variant_part: () | YCASE type_id YOF variant_list () | YCASE YID YCOLON type_id YOF variant_list () variant_list: variant () | variant_list YSEMI variant () variant: () | const_list YCOLON YLPAR field_list YRPAR () stat_list: stat () | stat_lsth stat () stat_lsth: stat_list YSEMI () cstat_list: cstat () | cstat_list YSEMI cstat () cstat: const_list YCOLON stat () | YCASELAB stat () | () stat: () | YINT YCOLON stat () | YID () | YID YLPAR wexpr_list YRPAR () | assign () | YBEGIN stat_list YEND () | YCASE expr YOF cstat_list YEND () | YWITH var_list YDO stat () | YWHILE expr YDO stat () | YREPEAT stat_list YUNTIL expr () | YFOR assign YTO expr YDO stat () | YFOR assign YDOWNTO expr YDO stat () | YGOTO YINT () | YIF expr YTHEN stat () | YIF expr YTHEN stat YELSE stat () assign: variable YCOLON YEQUAL expr () | YID YCOLON YEQUAL expr () expr: expr relop expr %prec YLESS () | YPLUS expr %prec UNARYSIGN () | YMINUS expr %prec UNARYSIGN () | expr addop expr %prec YPLUS () | expr divop expr %prec YSTAR () | YNIL () | YSTRING () | YINT () | YBINT () | YNUMB () | variable () | YID () | YID YLPAR wexpr_list YRPAR () | YLPAR expr YRPAR () | negop expr %prec YNOT () | YLBRA element_list YRBRA () | YLBRA YRBRA () element_list: element () | element_list YCOMMA element () element: expr () | expr YDOTDOT expr () variable: qual_var () qual_var: YID YLBRA expr_list YRBRA () | qual_var YLBRA expr_list YRBRA () | YID YDOT field_id () | qual_var YDOT field_id () | YID YCARET () | qual_var YCARET () wexpr: expr () | expr YCOLON expr () | expr YCOLON expr YCOLON expr () | expr octhex () | expr YCOLON expr octhex () octhex: YOCT () | YHEX () expr_list: expr () | expr_list YCOMMA expr () wexpr_list: wexpr () | wexpr_list YCOMMA wexpr () relop: YEQUAL () | YLESS () | YGREATER () | YLESS YGREATER () | YLESS YEQUAL () | YGREATER YEQUAL () | YIN () addop: YPLUS () | YMINUS () | YOR () | YBAR () divop: YSTAR () | YSLASH () | YDIV () | YMOD () | YAND () | YAMP () negop: YNOT () | YTILDE () var_list: variable () | var_list YCOMMA variable () | YID () | var_list YCOMMA YID () id_list: YID () | id_list YCOMMA YID () const_id: YID () type_id: YID () var_id: YID () array_id: YID () ptr_id: YID () record_id: YID () field_id: YID () func_id: YID () smlsharp-1.2.0/src/ml-yacc/examples/pascal/pascal.lex0000644 000000000000000000000717112050661606022663 0ustar00rootroot0000000 0000000 structure Tokens = Tokens type pos = int type svalue = Tokens.svalue type ('a,'b) token = ('a,'b) Tokens.token type lexresult = (svalue,pos) token open Tokens val lineNum = ref 0 val eof = fn () => EOF(!lineNum,!lineNum) structure KeyWord : sig val find : string -> (int * int -> (svalue,int) token) option end = struct val TableSize = 211 val HashFactor = 5 val hash = fn s => foldl (fn (c,v)=>(v*HashFactor+(ord c)) mod TableSize) 0 (explode s) val HashTable = Array.array(TableSize,nil) : (string * (int * int -> (svalue,int) token)) list Array.array val add = fn (s,v) => let val i = hash s in Array.update(HashTable,i,(s,v) :: (Array.sub(HashTable, i))) end val find = fn s => let val i = hash s fun f ((key,v)::r) = if s=key then SOME v else f r | f nil = NONE in f (Array.sub(HashTable, i)) end val _ = (List.app add [("and",YAND), ("array",YARRAY), ("begin",YBEGIN), ("case",YCASE), ("const",YCONST), ("div",YDIV), ("do",YDO), ("downto",YDOWNTO), ("else",YELSE), ("end",YEND), ("extern",YEXTERN), ("file",YFILE), ("for",YFOR), ("forward",YFORWARD), ("function",YFUNCTION), ("goto",YGOTO), ("hex",YHEX), ("if",YIF), ("in",YIN), ("label",YLABEL), ("mod",YMOD), ("nil",YNIL), ("not",YNOT), ("oct",YOCT), ("of",YOF), ("or",YOR), ("packed",YPACKED), ("procedure",YPROCEDURE), ("program",YPROG), ("record",YRECORD), ("repeat",YREPEAT), ("set",YSET), ("then",YTHEN), ("to",YTO), ("type",YTYPE), ("until",YUNTIL), ("var",YVAR), ("while",YWHILE), ("with",YWITH) ]) end open KeyWord %% %header (functor PascalLexFun(structure Tokens : Pascal_TOKENS)); %s C B; alpha=[A-Za-z]; digit=[0-9]; optsign=("+"|"-")?; integer={digit}+; frac="."{digit}+; exp=(e|E){optsign}{digit}+; octdigit=[0-7]; ws = [\ \t]; %% {ws}+ => (lex()); \n+ => (lineNum := (!lineNum) + (String.size yytext); lex()); {alpha}+ => (case find yytext of SOME v => v(!lineNum,!lineNum) | _ => YID(!lineNum,!lineNum)); {alpha}({alpha}|{digit})* => (YID(!lineNum,!lineNum)); {optsign}{integer}({frac}{exp}?|{frac}?{exp}) => (YNUMB(!lineNum,!lineNum)); {optsign}{integer} => (YINT(!lineNum,!lineNum)); {octdigit}+(b|B) => (YBINT(!lineNum,!lineNum)); "'"([^']|"''")*"'" => (YSTRING(!lineNum,!lineNum)); "(*" => (YYBEGIN C; lex()); ".." => (YDOTDOT(!lineNum,!lineNum)); "." => (YDOT(!lineNum,!lineNum)); "(" => (YLPAR(!lineNum,!lineNum)); ")" => (YRPAR(!lineNum,!lineNum)); ";" => (YSEMI(!lineNum,!lineNum)); "," => (YCOMMA(!lineNum,!lineNum)); ":" => (YCOLON(!lineNum,!lineNum)); "^" => (YCARET(!lineNum,!lineNum)); "[" => (YLBRA(!lineNum,!lineNum)); "]" => (YRBRA(!lineNum,!lineNum)); "~" => (YTILDE(!lineNum,!lineNum)); "<" => (YLESS(!lineNum,!lineNum)); "=" => (YEQUAL(!lineNum,!lineNum)); ">" => (YGREATER(!lineNum,!lineNum)); "+" => (YPLUS(!lineNum,!lineNum)); "-" => (YMINUS(!lineNum,!lineNum)); "|" => (YBAR(!lineNum,!lineNum)); "*" => (YSTAR(!lineNum,!lineNum)); "/" => (YSLASH(!lineNum,!lineNum)); "{" => (YYBEGIN B; lex()); . => (YILLCH(!lineNum,!lineNum)); \n+ => (lineNum := (!lineNum) + (String.size yytext); lex()); [^()*\n]+ => (lex()); "(*" => (lex()); "*)" => (YYBEGIN INITIAL; lex()); [*()] => (lex()); \n+ => (lineNum := (!lineNum) + (String.size yytext); lex()); [^{}\n]+ => (lex()); "{" => (lex()); "}" => (YYBEGIN INITIAL; lex()); smlsharp-1.2.0/src/ml-yacc/examples/pascal/README0000644 000000000000000000000174512050661606021567 0ustar00rootroot0000000 0000000 This is a grammar for Berkeley Pascal, hacked to be SLR, though that is not necessary because ML-Yacc supports LALR(1). To construct the parser, make this your current directory and run CM.make "sources.cm"; This will apply ML-Yacc to the file "pascal.grm" to create the files "pascal.grm.sig" and "pascal.grm.sml", then ML_Lex will be applied to pascal.lex to produce pascal.lex.sml. Then these generated files will be compiled together with necessary components from the ML-Yacc library supplied by the ml-yacc-lib.cm file. The end result is a structure Parser with two functions. The function parse: string -> PascalParser.result * (Parser.PascalParser.svalue,PascalParser.pos) LrParser.Token.token LrParser.stream parses input from a file, while keybd: unit -> Parser.PascalParser.result * (Parser.PascalParser.svalue,Parser.PascalParser.pos) LrParser.Token.token LrParser.stream parses from the standard input. smlsharp-1.2.0/src/ml-yacc/examples/pascal/sources.cm0000644 000000000000000000000020712050661606022703 0ustar00rootroot0000000 0000000 Group is #if defined (NEW_CM) $/basis.cm $/ml-yacc-lib.cm #else ml-yacc-lib.cm #endif pascal.grm pascal.lex parser.sml smlsharp-1.2.0/src/ml-yacc/examples/pascal/test0000755 000000000000000000000000012050661606021600 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/ml-yacc/examples/pascal/test/c1.p0000644 000000000000000000002001212050661606022336 0ustar00rootroot0000000 0000000 program simplex(input, output); { two-phase simplex algorithm: version Feb. 24, 1988 } { copyright K. Steiglitz } { Computer Science Dept. } { Princeton University 08544 } { ken@princeton.edu } const maxpivots = 1000; { maximum no. of pivots } large = 1.0e+31; { large number used in search for minimum cost column } lowlim = -1.0e+31; { large negative number to test for unboundedness } mmax = 32; { max. no. of rows } ncolmax = 50; { max. no. of columns allowed in tableau } eps = 1.0e-8; { for testing for zero } var done, unbounded, optimal: boolean; { flags for simplex } result: (toomanycols, unbound, infeas, toomanypivots, opt); m: 1..mmax; { no. of rows - 1, the rows are numbered 0..m } numpivots: integer; { pivot count } pivotcol, pivotrow: integer; { pivot column and row } pivotel: real; { pivot element } cbar: real; { price when searching for entering column } carry: array[-1..mmax, -1..mmax] of real; { inverse-basis matrix of the revised simplex method } phase: 1..2; { phase } price: array[0..mmax] of real; { shadow prices = row -1 of carry = -dual variables } basis: array[0..mmax] of integer; { basis columns, negative integers artificial } ncol: 1..ncolmax; { number of columns } tab: array[0..mmax, 1..ncolmax] of real; { tableau } lhs: array[0..mmax] of real; { left-hand-side } d: array[1..ncolmax] of real; { current cost vector } c: array[1..ncolmax] of real; { cost vector in original problem } curcol: array[-1..mmax] of real; { current column } curcost: real; { current cost } i, col, row: integer; { miscellaneous variables } procedure columnsearch; { looks for favorable column to enter basis. returns lowest cost and its column number, or turns on the flag optimal } var i , col : integer; tempcost: real; { minimum cost, temporary cost of column } begin { columnsearch } for i:= 0 to m do price[i]:= -carry[-1, i]; { set up price vector } optimal:= false; cbar:= large; pivotcol:= 0; for col:= 1 to ncol do begin tempcost:= d[col]; for i:= 0 to m do tempcost:= tempcost - price[i]*tab[i, col]; if( cbar > tempcost ) then begin cbar:= tempcost; pivotcol:= col end end; { for col } if ( cbar > -eps ) then optimal:= true end; { columnsearch } procedure rowsearch; { looks for pivot row. returns pivot row number, or turns on the flag unbounded } var i, j: integer; ratio, minratio: real; { ratio and minimum ratio for ratio test } begin { rowsearch } for i:= 0 to m do { generate column } begin curcol[i]:= 0.0; { current column = B inverse * original col. } for j:= 0 to m do curcol[i]:= curcol[i] + carry[i, j]*tab[j, pivotcol] end; curcol[-1]:= cbar; { first element in current column } pivotrow:= -1; minratio:= large; for i:= 0 to m do { ratio test } begin if( curcol[i] > eps ) then begin ratio:= carry[i, -1]/curcol[i]; if( minratio > ratio ) then { favorable row } begin minratio:= ratio; pivotrow:= i; pivotel:= curcol[i] end else { break tie with max pivot } if ( (minratio = ratio) and (pivotel < curcol[i]) ) then begin pivotrow:= i; pivotel:= curcol[i] end end { curcol > eps } end; { for i } if ( pivotrow = -1 ) then unbounded:= true { nothing found } else unbounded:= false end; { rowsearch } procedure pivot; { pivots } var i, j: integer; begin { pivot } basis[pivotrow]:= pivotcol; for j:= -1 to m do carry[pivotrow, j]:= carry[pivotrow, j]/pivotel; for i:= -1 to m do if( i<> pivotrow ) then for j:= -1 to m do carry[i, j]:= carry[i, j] - carry[pivotrow, j]*curcol[i]; curcost:= -carry[-1, -1] end; { pivot } procedure changephase; { changes phase from 1 to 2, by switching to original cost vector } var i, j, b: integer; begin { changephase } phase:= 2; for i:= 0 to m do if( basis[i] <= 0 ) then writeln( '...artificial basis element ', basis[i]:5, ' remains in basis after phase 1'); for j:= 1 to ncol do d[j]:= c[j]; { switch to original cost vector } for j:= -1 to m do begin carry[-1, j]:= 0.0; for i:= 0 to m do begin b:= basis[i]; { ignore artificial basis elements that are } if( b >= 1 ) then { still in basis } carry[-1, j]:= carry[-1, j] - c[b]*carry[i,j] end { for i } end; { for j } curcost:= -carry[-1, -1] end; { changephase } procedure setup; { sets up test problem, lhs = tab*x, x >= 0, min c*x } { nrow = number of rows; ncol = number of cols } { tab = tableau; lhs = constants } var i, j, nrow: integer; begin { setup } readln(nrow); { read number of rows } readln(ncol); { read number of columns } m:= nrow - 1; { rows are numbered 0..m } for j:= 1 to ncol do read(c[j]); { cost vector } for i:= 0 to m do begin read(lhs[i]); { left-hand-side } for j:= 1 to ncol do read(tab[i, j]) { tableau } end; done:= false; { initialize carry matrix, etc. } phase:= 1; for i:= -1 to m do for j:= -1 to mmax do carry[i, j]:= 0.0; for i:= 0 to m do carry[i, i]:= 1.0; { artificial basis } for i:= 0 to m do begin carry[i, -1]:= lhs[i]; { -1 col of carry = left-hand-side } carry[-1, -1]:= carry[-1, -1] - lhs[i] { - initial cost } end; curcost:= -carry[-1, -1]; for i:= 0 to m do basis[i]:= -i; { initial, artificial basis } if( ncol <= ncolmax ) then { check number of columns } for col:= 1 to ncol do { initialize cost vector for phase 1 } begin d[col]:= 0.0; for row:= 0 to m do d[col]:= d[col] - tab[row, col] end else begin writeln('...termination: too many columns for storage'); done:= true; result:= toomanycols end; numpivots:= 0; end; { setup } begin { simplex } setup; while( (numpivots < maxpivots) and (not done) and ( (curcost > lowlim) or (phase = 1) ) ) do begin columnsearch; if( not optimal ) then begin { not optimal } rowsearch; if( unbounded ) then begin done:= true; result:= unbound; writeln('problem is unbounded') end else begin pivot; numpivots:= numpivots + 1; if ( (numpivots = 1 ) or ( numpivots mod 10 = 0 ) ) then writeln('pivot ', numpivots:4, ' cost= ', curcost:12) end end { not optimal } else { optimal } if( phase = 1 ) then begin if( curcost > eps ) then begin done:= true; result:= infeas; writeln('problem is infeasible') end else begin if ( (numpivots <> 1 ) and ( numpivots mod 10 <> 0 ) ) then writeln('pivot ', numpivots:4, ' cost= ', curcost:12); writeln('phase 1 successfully completed'); changephase end end { if phase = 1 } else begin if ( (numpivots <> 1 ) and ( numpivots mod 10 <> 0 ) ) then writeln('pivot ', numpivots:4, ' cost= ', curcost:12); writeln('phase 2 successfully completed'); done:= true; result:= opt end end; { while } if( (curcost <= lowlim) and (phase = 2) ) then begin if ( (numpivots <> 1 ) and ( numpivots mod 10 <> 0 ) ) then writeln('pivot ', numpivots:4, ' cost= ', curcost:12); result:= unbound; writeln('problem is unbounded') end; if ( numpivots >= maxpivots ) then begin writeln('...termination: maximum number of pivots exceeded'); result:= toomanypivots end; if result = opt then begin writeln('optimal solution reached'); writeln('cost =', -carry[-1,-1]:10:6); for i:= 0 to m do writeln('x(', basis[i]:4, ')= ', carry[i,-1]:10:6) end end. smlsharp-1.2.0/src/ml-yacc/examples/pascal/test/c2.p0000644 000000000000000000000007112050661606022342 0ustar00rootroot0000000 0000000 program p(input,output); begin if x=0 then x := 1 end. smlsharp-1.2.0/src/ml-yacc/examples/pascal/test/README0000644 000000000000000000000020412050661606022533 0ustar00rootroot0000000 0000000 Test files for the error-correcting parser. Files beginning with c are correct. Those beginning with t have simple syntax errors. smlsharp-1.2.0/src/ml-yacc/examples/pascal/test/t1.p0000644 000000000000000000002000212050661606022356 0ustar00rootroot0000000 0000000 junk simplex(input, output); { two-phase simplex algorithm: version Feb. 24, 1988 } { copyright K. Steiglitz } { Computer Science Dept. } { Princeton University 08544 } { ken@princeton.edu } var maxpivots = 1000; { maximum no. of pivots } large = 1.0e+31; { large number used in search for minimum cost column } lowlim = -1.0e+31; { large negative number to test for unboundedness } mmax = 32; { max. no. of rows } ncolmax = 50; { max. no. of columns allowed in tableau } eps = 1.0e-8; { for testing for zero } const done, unbounded, optimal: boolean; { flags for simplex } result: (toomanycols, unbound, infeas, toomanypivots, opt); m: 1..mmax; { no. of rows - 1, the rows are numbered 0..m } numpivots: integer; { pivot count } pivotcol, pivotrow: integer; { pivot column and row } pivotel: real; { pivot element } cbar: real; { price when searching for entering column } carry: array[-1..mmax, -1..mmax] of real; { inverse-basis matrix of the revised simplex method } phase: 1..2; { phase } price: array[0..mmax] of real; { shadow prices = row -1 of carry = -dual variables } basis: array[0..mmax] of integer; { basis columns, negative integers artificial } ncol: 1..ncolmax; { number of columns } tab: array[0..mmax, 1..ncolmax] of real; { tableau } lhs: array[0..mmax] of real; { left-hand-side } d: array[1..ncolmax] of real; { current cost vector } c: array[1..ncolmax] of real; { cost vector in original problem } curcol: array[-1..mmax] of real; { current column } curcost: real; { current cost } i, col, row: integer; { miscellaneous variables } procedure columnsearch; { looks for favorable column to enter basis. returns lowest cost and its column number, or turns on the flag optimal } var i , col : integer; tempcost: real; { minimum cost, temporary cost of column } begin { columnsearch } for i:= 0 to m do price[i]:= -carry[-1, i]; { set up price vector } optimal:= false; cbar:= large; pivotcol:= 0; for col:= 1 to ncol do begin tempcost:= d[col]; for i:= 0 to m do tempcost:= tempcost - price[i]*tab[i, col]; if( cbar > tempcost ) then begin cbar:= tempcost; pivotcol:= col end end; { for col } if ( cbar > -eps ) then optimal:= true end; { columnsearch } procedure rowsearch; { looks for pivot row. returns pivot row number, or turns on the flag unbounded } var i, j: integer; ratio, minratio: real; { ratio and minimum ratio for ratio test } begin { rowsearch } for i:= 0 to m do { generate column } begin curcol[i]:= 0.0; { current column = B inverse * original col. } for j:= 0 to m do curcol[i]:= curcol[i] + carry[i, j]*tab[j, pivotcol] end; curcol[-1]:= cbar; { first element in current column } pivotrow:= -1; minratio:= large; for i:= 0 to m do { ratio test } begin if( curcol[i] > eps ) then begin ratio:= carry[i, -1]/curcol[i]; if( minratio > ratio ) then { favorable row } begin minratio:= ratio; pivotrow:= i; pivotel:= curcol[i] end else { break tie with max pivot } if ( (minratio = ratio) and (pivotel < curcol[i]) ) then begin pivotrow:= i; pivotel:= curcol[i] end end { curcol > eps } end; { for i } if ( pivotrow = -1 ) then unbounded:= true { nothing found } else unbounded:= false end; { rowsearch } procedure pivot; { pivots } var i, j: integer; begin { pivot } basis[pivotrow]:= pivotcol; for j:= -1 to m do carry[pivotrow, j]:= carry[pivotrow, j]/pivotel; for i:= -1 to m do if( i<> pivotrow ) then for j:= -1 to m do carry[i, j]:= carry[i, j] - carry[pivotrow, j]*curcol[i]; curcost:= -carry[-1, -1] end; { pivot } procedure changephase; { changes phase from 1 to 2, by switching to original cost vector } var i, j, b: integer; begin { changephase } phase:= 2; for i:= 0 to m do if( basis[i] <= 0 ) then writeln( '...artificial basis element ', basis[i]:5, ' remains in basis after phase 1'); for j:= 1 to ncol do d[j]:= c[j]; { switch to original cost vector } for j:= -1 to m do begin carry[-1, j]:= 0.0; for i:= 0 to m do begin b:= basis[i]; { ignore artificial basis elements that are } if( b >= 1 ) then { still in basis } carry[-1, j]:= carry[-1, j] - c[b]*carry[i,j]; end { for i } end; { for j } curcost:= -carry[-1, -1] end; { changephase } procedure setup; { sets up test problem, lhs = tab*x, x >= 0, min c*x } { nrow = number of rows; ncol = number of cols } { tab = tableau; lhs = constants } var i, j, nrow: integer; begin { setup } readln(nrow); { read number of rows } readln(ncol); { read number of columns } m:= nrow - 1; { rows are numbered 0..m } for j:= 1 to ncol do read(c[j]); { cost vector } for i:= 0 to m do begin read(lhs[i]); { left-hand-side } for j:= 1 to ncol do read(tab[i, j]); { tableau } end; done:= false; { initialize carry matrix, etc. } phase:= 1; for i:= -1 to m do for j:= -1 to mmax do carry[i, j]:= 0.0; for i:= 0 to m do carry[i, i]:= 1.0; { artificial basis } for i:= 0 to m do begin carry[i, -1]:= lhs[i]; { -1 col of carry = left-hand-side } carry[-1, -1]:= carry[-1, -1] - lhs[i] { - initial cost } end; curcost:= -carry[-1, -1]; for i:= 0 to m do basis[i]:= -i; { initial, artificial basis } if( ncol <= ncolmax ) then { check number of columns } for col:= 1 to ncol do { initialize cost vector for phase 1 } begin d[col]:= 0.0; for row:= 0 to m do d[col]:= d[col] - tab[row, col] end else begin writeln('...termination: too many columns for storage'); done:= true; result:= toomanycols end; numpivots:= 0; end; { setup } begin { simplex } setup; while( (numpivots < maxpivots) and (not done) and ( (curcost > lowlim) or (phase = 1) ) ) do begin columnsearch; if( not optimal ) then begin { not optimal } rowsearch; if( unbounded ) then begin done:= true; result:= unbound; writeln('problem is unbounded') end else begin pivot; numpivots:= numpivots + 1; if ( (numpivots = 1 ) or ( numpivots mod 10 = 0 ) ) then writeln('pivot ', numpivots:4, ' cost= ', curcost:12) end end { not optimal } else { optimal } if( phase = 1 ) then begin if( curcost > eps ) then begin done:= true; result:= infeas; writeln('problem is infeasible') end else begin if ( (numpivots <> 1 ) and ( numpivots mod 10 <> 0 ) ) then writeln('pivot ', numpivots:4, ' cost= ', curcost:12); writeln('phase 1 successfully completed'); changephase end end { if phase = 1 } else begin if ( (numpivots <> 1 ) and ( numpivots mod 10 <> 0 ) ) then writeln('pivot ', numpivots:4, ' cost= ', curcost:12); writeln('phase 2 successfully completed'); done:= true; result:= opt end end; { while } if(((curcost <= lowlim) and (phase = 2) ) then begin if ( (numpivots <> 1 ) and ( numpivots mod 10 <> 0 ) ) then writeln('pivot ', numpivots:4, ' cost= ', curcost:12); result:= unbound; writeln('problem is unbounded') end; if ( numpivots >= maxpivots ) then begin writeln('...termination: maximum number of pivots exceeded'); result:= toomanypivots, end; if result = opt then begin writeln('optimal solution reached'); writeln('cost =', -carry[-1,-1]:10:6); for i:= 0 to m do writeln('x(', basis[i]:4, ')= ', carry[i,-1]:10:6) end. smlsharp-1.2.0/src/ml-yacc/examples/pascal/test/t2.p0000644 000000000000000000000007412050661606022366 0ustar00rootroot0000000 0000000 program p(input,output); begin if x := 0 then x := 1 end. smlsharp-1.2.0/src/ml-yacc/examples/pascal/test/t3.p0000644 000000000000000000000017112050661606022365 0ustar00rootroot0000000 0000000 program p(input,output); function topsort(var x: order, var y : sorted, x : integer); begin end; begin x:= 1 end. smlsharp-1.2.0/src/ml-yacc/examples/pascal/test/t4.p0000644 000000000000000000000013312050661606022364 0ustar00rootroot0000000 0000000 program p(input,output); var l,n: real; var x, nonprime,prime: ; begin var end. smlsharp-1.2.0/src/ml-yacc/examples/pascal/test/t5.p0000644 000000000000000000000014312050661606022366 0ustar00rootroot0000000 0000000 program p(input,output) begin writeln(' '; 9, 'x'; 10, 'm'; 9, '[x]'; 9,'approx x]'; 19, end. smlsharp-1.2.0/src/ml-yacc/examples/pascal/test/t6.p0000644 000000000000000000000066412050661606022377 0ustar00rootroot0000000 0000000 program this (output) procedure addcor; var bins,start,i,last : integer; level : real; begin bins := trunc((r1+r2)*maxcor); if bins < 1 then bins := 1; start := round(d*maxcor) - bins div 2; level := mm/bins; last := start+bins; if last>maxcor then last := maxcor; corfarray[start] := corfarray[start]-level; corfarray[last] := corfarray[last]+level; end; smlsharp-1.2.0/src/ml-yacc/examples/pascal/test/t7.p0000644 000000000000000000000012012050661606022363 0ustar00rootroot0000000 0000000 program p(input,otput); begin for i := 1 to maxelements do y[i] := 0; end. smlsharp-1.2.0/src/ml-yacc/INSTALL0000644 000000000000000000000112512050661606016647 0ustar00rootroot0000000 0000000 Installation instructions for ML-Yacc ------------------------------------- ML-Yacc will normally be automatically installed as part of the SML/NJ system by the SML/NJ installer. To install by hand (e.g., if you make your own modifications), run the ./build script in this directory and then move the file src/ml-yacc.$ARCH-$OS to the heap-file directory. Running ./build requires a properly functioning installation of SML/NJ. If you make modifications to lexer or parser, be sure to also have properly functioning instances of ml-lex and ml-yacc installed before you run ./build. smlsharp-1.2.0/src/ml-yacc/lib0000755 000000000000000000000000012050661606016306 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/ml-yacc/lib/base.sig0000644 000000000000000000002166312050661606020013 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi *) (* base.sig: Base signature file for SML-Yacc. This file contains signatures that must be loaded before any of the files produced by ML-Yacc are loaded *) (* STREAM: signature for a lazy stream.*) signature STREAM = sig type tok type stream val streamify : (unit -> tok) -> stream val cons : tok * stream -> stream val get : stream -> tok * stream end (* LR_TABLE: signature for an LR Table. The list of actions and gotos passed to mkLrTable must be ordered by state number. The values for state 0 are the first in the list, the values for state 1 are next, etc. *) signature LR_TABLE = sig datatype ('a,'b) pairlist = EMPTY | PAIR of 'a * 'b * ('a,'b) pairlist datatype state = STATE of int datatype term = T of int datatype nonterm = NT of int datatype action = SHIFT of state | REDUCE of int | ACCEPT | ERROR type table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto of state * nonterm val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end (* TOKEN: signature revealing the internal structure of a token. This signature TOKEN distinct from the signature {parser name}_TOKENS produced by ML-Yacc. The {parser name}_TOKENS structures contain some types and functions to construct tokens from values and positions. The representation of token was very carefully chosen here to allow the polymorphic parser to work without knowing the types of semantic values or line numbers. This has had an impact on the TOKENS structure produced by SML-Yacc, which is a structure parameter to lexer functors. We would like to have some type 'a token which functions to construct tokens would create. A constructor function for a integer token might be INT: int * 'a * 'a -> 'a token. This is not possible because we need to have tokens with the representation given below for the polymorphic parser. Thus our constructur functions for tokens have the form: INT: int * 'a * 'a -> (svalue,'a) token This in turn has had an impact on the signature that lexers for SML-Yacc must match and the types that a user must declare in the user declarations section of lexers. *) (* 2012-9-24: ohori ('a,'b) token => token 'a => svalue 'b => pos *) signature TOKEN = sig type svalue type pos structure LrTable : LR_TABLE datatype token = TOKEN of LrTable.term * (svalue * pos * pos) val sameToken : token * token -> bool end (* LR_PARSER: signature for a polymorphic LR parser *) (* 2012-9-24: ohori type pos added, which is needed in deining Token type svalue added, which is needed in deining Token type arg added and changed 'arg => arg eliminated type parameters in token) and changed accordingly: (('a,'b) token => token 'a => Token.svalue 'b => Token.pos *) signature LR_PARSER = sig type arg type pos type svalue structure LrTable : LR_TABLE structure Stream: STREAM structure Token : TOKEN sharing LrTable = Token.LrTable exception ParseError val parse : {table : LrTable.table, lexer : Stream.stream, arg: arg, saction : int * Token.pos * (LrTable.state * (Token.svalue * Token.pos * Token.pos)) list * arg -> LrTable.nonterm * (Token.svalue * Token.pos * Token.pos) * ((LrTable.state *(Token.svalue * Token.pos * Token.pos)) list), void : Token.svalue, ec : { is_keyword : LrTable.term -> bool, noShift : LrTable.term -> bool, preferred_change : (LrTable.term list * LrTable.term list) list, errtermvalue : LrTable.term -> Token.svalue, showTerminal : LrTable.term -> string, terms: LrTable.term list, error : string * Token.pos * Token.pos -> unit }, lookahead : int (* max amount of lookahead used in *) (* error correction *) } -> Token.svalue * Stream.stream end (* LEXER: a signature that most lexers produced for use with SML-Yacc's output will match. The user is responsible for declaring type token, type pos, and type svalue in the UserDeclarations section of a lexer. Note that type token is abstract in the lexer. This allows SML-Yacc to create a TOKENS signature for use with lexers produced by ML-Lex that treats the type token abstractly. Lexers that are functors parametrized by a Tokens structure matching a TOKENS signature cannot examine the structure of tokens. *) (* 2012-9-24: ohori ('a,'b) token => token *) signature LEXER = sig structure UserDeclarations : sig type pos type svalue type token end val makeLexer : (int -> string) -> unit -> UserDeclarations.token end (* ARG_LEXER: the %arg option of ML-Lex allows users to produce lexers which also take an argument before yielding a function from unit to a token *) (* 2012-9-24: ohori ('a,'b) token => token *) signature ARG_LEXER = sig structure UserDeclarations : sig type token type pos type svalue type arg end val makeLexer : (int -> string) -> UserDeclarations.arg -> unit -> UserDeclarations.token end (* PARSER_DATA: the signature of ParserData structures in {parser name}LrValsFun produced by SML-Yacc. All such structures match this signature. The {parser name}LrValsFun produces a structure which contains all the values except for the lexer needed to call the polymorphic parser mentioned before. *) signature PARSER_DATA = sig (* the type of line numbers *) type pos (* the type of semantic values *) type svalue (* the type of the user-supplied argument to the parser *) type arg (* the intended type of the result of the parser. This value is produced by applying extract from the structure Actions to the final semantic value resultiing from a parse. *) type result structure LrTable : LR_TABLE structure Token : TOKEN sharing Token.LrTable = LrTable (* structure Actions contains the functions which mantain the semantic values stack in the parser. Void is used to provide a default value for the semantic stack. *) structure Actions : sig val actions : int * pos * (LrTable.state * (svalue * pos * pos)) list * arg-> LrTable.nonterm * (svalue * pos * pos) * ((LrTable.state *(svalue * pos * pos)) list) val void : svalue val extract : svalue -> result end (* structure EC contains information used to improve error recovery in an error-correcting parser *) structure EC : sig val is_keyword : LrTable.term -> bool val noShift : LrTable.term -> bool val preferred_change : (LrTable.term list * LrTable.term list) list val errtermvalue : LrTable.term -> svalue val showTerminal : LrTable.term -> string val terms: LrTable.term list end (* table is the LR table for the parser *) val table : LrTable.table end (* signature PARSER is the signature that most user parsers created by SML-Yacc will match. *) (* 2012-9-24: ohori (svalue,pos) Token.token => token *) signature PARSER = sig structure Token : TOKEN structure Stream : STREAM exception ParseError (* type pos is the type of line numbers *) type pos (* type result is the type of the result from the parser *) type result (* the type of the user-supplied argument to the parser *) type arg (* type svalue is the type of semantic values for the semantic value stack *) type svalue (* val makeLexer is used to create a stream of tokens for the parser *) val makeLexer : (int -> string) -> Stream.stream (* val parse takes a stream of tokens and a function to print errors and returns a value of type result and a stream containing the unused tokens *) val parse : int * Stream.stream * (string * pos * pos -> unit) * arg -> result * Stream.stream val sameToken : Token.token * Token.token -> bool end (* signature ARG_PARSER is the signature that will be matched by parsers whose lexer takes an additional argument. *) (* 2012-9-24: ohori (svalue,pos) Token.token => token *) signature ARG_PARSER = sig structure Token : TOKEN structure Stream : STREAM exception ParseError type arg type lexarg type pos type result type svalue val makeLexer : (int -> string) -> lexarg -> Stream.stream val parse : int * Stream.stream * (string * pos * pos -> unit) * arg -> result * Stream.stream val sameToken : Token.token * Token.token -> bool end smlsharp-1.2.0/src/ml-yacc/lib/lrtable.smi0000644 000000000000000000000164712050661606020534 0ustar00rootroot0000000 0000000 _require "../../basis.smi" _require "base.sig" structure LrTable = struct datatype ('a, 'b) pairlist = EMPTY | PAIR of 'a * 'b * ('a, 'b) pairlist datatype state = STATE of int datatype term = T of int datatype nonterm = NT of int datatype action = SHIFT of state | REDUCE of int | ACCEPT | ERROR type table (= boxed) val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term, action) pairlist * action val describeGoto : table -> state -> (nonterm, state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto of state * nonterm val mkLrTable : {actions : ((term, action) pairlist * action) array, gotos : (nonterm, state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end smlsharp-1.2.0/src/ml-yacc/lib/lrtable.sml0000644 000000000000000000000366012050661606020534 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi *) structure LrTable : LR_TABLE = struct open Array List infix 9 sub datatype ('a,'b) pairlist = EMPTY | PAIR of 'a * 'b * ('a,'b) pairlist datatype term = T of int datatype nonterm = NT of int datatype state = STATE of int datatype action = SHIFT of state | REDUCE of int (* rulenum from grammar *) | ACCEPT | ERROR exception Goto of state * nonterm type table = {states: int, rules : int,initialState: state, action: ((term,action) pairlist * action) array, goto : (nonterm,state) pairlist array} val numStates = fn ({states,...} : table) => states val numRules = fn ({rules,...} : table) => rules val describeActions = fn ({action,...} : table) => fn (STATE s) => action sub s val describeGoto = fn ({goto,...} : table) => fn (STATE s) => goto sub s fun findTerm (T term,row,default) = let fun find (PAIR (T key,data,r)) = if key < term then find r else if key=term then data else default | find EMPTY = default in find row end fun findNonterm (NT nt,row) = let fun find (PAIR (NT key,data,r)) = if key < nt then find r else if key=nt then SOME data else NONE | find EMPTY = NONE in find row end val action = fn ({action,...} : table) => fn (STATE state,term) => let val (row,default) = action sub state in findTerm(term,row,default) end val goto = fn ({goto,...} : table) => fn (a as (STATE state,nonterm)) => case findNonterm(nonterm,goto sub state) of SOME state => state | NONE => raise (Goto a) val initialState = fn ({initialState,...} : table) => initialState val mkLrTable = fn {actions,gotos,initialState,numStates,numRules} => ({action=actions,goto=gotos, states=numStates, rules=numRules, initialState=initialState} : table) end; smlsharp-1.2.0/src/ml-yacc/lib/parser2.smi0000644 000000000000000000000357312050661606020465 0ustar00rootroot0000000 0000000 _require "../../basis.smi" _require "base.sig" _require "stream.smi" _require "lrtable.smi" (* 2012-9-24: ohori This is the top-level library structure. This is changed to a functor that takes type pos type svalue type arg changed 'arg => arg eliminated type parameters in token and changed accordingly: (('a,'b) token => token 'a => Token.svalue 'b => Token.pos *) functor LrParserFun (A : sig type arg type pos type svalue end) = struct type arg = A.arg type pos = A.pos type svalue = A.svalue structure LrTable = LrTable structure Token = struct type svalue = A.svalue type pos = A.pos structure LrTable = LrTable datatype token = TOKEN of LrTable.term * (svalue * pos * pos) val sameToken : token * token -> bool end structure Stream = struct type tok = Token.token type stream (= boxed) val streamify : (unit -> tok) -> stream val cons : tok * stream -> stream val get : stream -> tok * stream end exception ParseError val parse : {table : LrTable.table, lexer : Stream.stream, arg: arg, saction : int * Token.pos * (LrTable.state * (Token.svalue * Token.pos * Token.pos)) list * arg -> LrTable.nonterm * (Token.svalue * Token.pos * Token.pos) * (LrTable.state * (Token.svalue * Token.pos * Token.pos)) list, void : Token.svalue, ec : {is_keyword : LrTable.term -> bool, noShift : LrTable.term -> bool, preferred_change : (LrTable.term list * LrTable.term list) list, errtermvalue : LrTable.term -> Token.svalue, showTerminal : LrTable.term -> string, terms: LrTable.term list, error : string * Token.pos * Token.pos -> unit}, lookahead : int} -> Token.svalue * Stream.stream end smlsharp-1.2.0/src/ml-yacc/lib/parser2.sml0000644 000000000000000000004706712050661606020476 0ustar00rootroot0000000 0000000 (* Modified by Katsuhiro Ueno on 2011-Nov-30 to port ml-yacc to SML#. *) (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi *) (* parser.sml: This is a parser driver for LR tables with an error-recovery routine added to it. The routine used is described in detail in this article: 'A Practical Method for LR and LL Syntactic Error Diagnosis and Recovery', by M. Burke and G. Fisher, ACM Transactions on Programming Langauges and Systems, Vol. 9, No. 2, April 1987, pp. 164-197. This program is an implementation is the partial, deferred method discussed in the article. The algorithm and data structures used in the program are described below. This program assumes that all semantic actions are delayed. A semantic action should produce a function from unit -> value instead of producing the normal value. The parser returns the semantic value on the top of the stack when accept is encountered. The user can deconstruct this value and apply the unit -> value function in it to get the answer. It also assumes that the lexer is a lazy stream. Data Structures: ---------------- * The parser: The state stack has the type (state * (semantic value * line # * line #)) list The parser keeps a queue of (state stack * lexer pair). A lexer pair consists of a terminal * value pair and a lexer. This allows the parser to reconstruct the states for terminals to the left of a syntax error, and attempt to make error corrections there. The queue consists of a pair of lists (x,y). New additions to the queue are cons'ed onto y. The first element of x is the top of the queue. If x is nil, then y is reversed and used in place of x. Algorithm: ---------- * The steady-state parser: This parser keeps the length of the queue of state stacks at a steady state by always removing an element from the front when another element is placed on the end. It has these arguments: stack: current stack queue: value of the queue lexPair ((terminal,value),lex stream) When SHIFT is encountered, the state to shift to and the value are are pushed onto the state stack. The state stack and lexPair are placed on the queue. The front element of the queue is removed. When REDUCTION is encountered, the rule is applied to the current stack to yield a triple (nonterm,value,new stack). A new stack is formed by adding (goto(top state of stack,nonterm),value) to the stack. When ACCEPT is encountered, the top value from the stack and the lexer are returned. When an ERROR is encountered, fixError is called. FixError takes the arguments to the parser, fixes the error if possible and returns a new set of arguments. * The distance-parser: This parser includes an additional argument distance. It pushes elements on the queue until it has parsed distance tokens, or an ACCEPT or ERROR occurs. It returns a stack, lexer, the number of tokens left unparsed, a queue, and an action option. *) signature FIFO = sig type entry type queue val empty : queue exception Empty val get : queue -> entry * queue val put : entry * queue -> queue end (* drt (12/15/89) -- the functor should be used in development work, but it wastes space in the release version. functor ParserGen(structure LrTable : LR_TABLE structure Stream : STREAM) : LR_PARSER = *) (* (* Ueno (2011-Nov-30): The signature constraint to LrParser should be transparent since SML# interface file syntax avoids problematic replications of exceptions and types under opaque constraints. *) structure LrParser :> LR_PARSER = *) (* 2012-9-24: ohori This is the top-level library structure. This is changed to a functor that takes type pos type svalue type arg changed 'arg => arg eliminated type parameters in token and changed accordingly: (('a,'b) token => token 'a => Token.svalue 'b => Token.pos *) functor LrParserFun(type arg type pos type svalue) : LR_PARSER = struct type arg = arg type pos = pos type svalue = svalue structure LrTable = LrTable fun eqT (LrTable.T i, LrTable.T i') = i = i' structure Token : TOKEN = struct type pos = pos type svalue = svalue structure LrTable = LrTable datatype token = TOKEN of LrTable.term * (svalue * pos * pos) val sameToken = fn (TOKEN(t,_) : token,TOKEN(t',_): token) => eqT (t,t') end structure Stream = StreamFun(type tok = Token.token) open LrTable open Token val DEBUG1 = false val DEBUG2 = false exception ParseError exception ParseImpossible of int type elem = (state * (svalue * pos * pos)) type stack = elem list type lexv = token type lexpair = lexv * Stream.stream structure Fifo :> FIFO where type entry = stack * lexpair = struct type entry = stack * lexpair type queue = (entry list * entry list) val empty = (nil,nil) exception Empty fun get(a::x, y) = (a, (x,y)) | get(nil, nil) = raise Empty | get(nil, y) = get(rev y, nil) fun put(a,(x,y)) = (x,a::y) end type distanceParse = lexpair * stack * Fifo.queue * int -> lexpair * stack * Fifo.queue * int * action option (* ('a, 'b) ecRecord => ecRecord 'a => svalue 'b => pos *) type ecRecord = {is_keyword : term -> bool, preferred_change : (term list * term list) list, error : string * pos * pos -> unit, errtermvalue : term -> svalue, terms : term list, showTerminal : term -> string, noShift : term -> bool} local val print = fn s => TextIO.output(TextIO.stdOut,s) val println = fn s => (print s; print "\n") val showState = fn (STATE s) => "STATE " ^ (Int.toString s) in fun printStack(stack: stack, n: int) = case stack of (state,_) :: rest => (print("\t" ^ Int.toString n ^ ": "); println(showState state); printStack(rest, n+1)) | nil => () fun prAction showTerminal (stack as (state,_) :: _, next as (TOKEN (term,_),_), action) = (println "Parse: state stack:"; printStack(stack, 0); print(" state=" ^ showState state ^ " next=" ^ showTerminal term ^ " action=" ); case action of SHIFT state => println ("SHIFT " ^ (showState state)) | REDUCE i => println ("REDUCE " ^ (Int.toString i)) | ERROR => println "ERROR" | ACCEPT => println "ACCEPT") | prAction _ (_,_,action) = () end (* ssParse: parser which maintains the queue of (state * lexvalues) in a steady-state. It takes a table, showTerminal function, saction function, and fixError function. It parses until an ACCEPT is encountered, or an exception is raised. When an error is encountered, fixError is called with the arguments of parseStep (lexv,stack,and queue). It returns the lexv, and a new stack and queue adjusted so that the lexv can be parsed *) val ssParse = fn (table,showTerminal,saction,fixError,arg) => let val prAction = prAction showTerminal val action = LrTable.action table val goto = LrTable.goto table fun parseStep(args as (lexPair as (TOKEN (terminal, value as (_,leftPos,_)), lexer ), stack as (state,_) :: _, queue)) = let val nextAction = action (state,terminal) val _ = if DEBUG1 then prAction(stack,lexPair,nextAction) else () in case nextAction of SHIFT s => let val newStack = (s,value) :: stack val newLexPair = Stream.get lexer val (_,newQueue) =Fifo.get(Fifo.put((newStack,newLexPair), queue)) in parseStep(newLexPair,(s,value)::stack,newQueue) end | REDUCE i => (case saction(i,leftPos,stack,arg) of (nonterm,value,stack as (state,_) :: _) => parseStep(lexPair,(goto(state,nonterm),value)::stack, queue) | _ => raise (ParseImpossible 197)) | ERROR => parseStep(fixError args) | ACCEPT => (case stack of (_,(topvalue,_,_)) :: _ => let val (token,restLexer) = lexPair in (topvalue,Stream.cons(token,restLexer)) end | _ => raise (ParseImpossible 202)) end | parseStep _ = raise (ParseImpossible 204) in parseStep end (* distanceParse: parse until n tokens are shifted, or accept or error are encountered. Takes a table, showTerminal function, and semantic action function. Returns a parser which takes a lexPair (lex result * lexer), a state stack, a queue, and a distance (must be > 0) to parse. The parser returns a new lex-value, a stack with the nth token shifted on top, a queue, a distance, and action option. *) val distanceParse = fn (table,showTerminal,saction,arg) => let val prAction = prAction showTerminal val action = LrTable.action table val goto = LrTable.goto table fun parseStep(lexPair,stack,queue,0) = (lexPair,stack,queue,0,NONE) | parseStep(lexPair as (TOKEN (terminal, value as (_,leftPos,_)), lexer ), stack as (state,_) :: _, queue,distance) = let val nextAction = action(state,terminal) val _ = if DEBUG1 then prAction(stack,lexPair,nextAction) else () in case nextAction of SHIFT s => let val newStack = (s,value) :: stack val newLexPair = Stream.get lexer in parseStep(newLexPair,(s,value)::stack, Fifo.put((newStack,newLexPair),queue),distance-1) end | REDUCE i => (case saction(i,leftPos,stack,arg) of (nonterm,value,stack as (state,_) :: _) => parseStep(lexPair,(goto(state,nonterm),value)::stack, queue,distance) | _ => raise (ParseImpossible 240)) | ERROR => (lexPair,stack,queue,distance,SOME nextAction) | ACCEPT => (lexPair,stack,queue,distance,SOME nextAction) end | parseStep _ = raise (ParseImpossible 242) in parseStep : distanceParse end (* mkFixError: function to create fixError function which adjusts parser state so that parse may continue in the presence of an error *) fun mkFixError({is_keyword,terms,errtermvalue, preferred_change,noShift, showTerminal,error,...} : ecRecord, distanceParse : distanceParse, minAdvance,maxAdvance) (lexv as (TOKEN (term,value as (_,leftPos,_)),_),stack,queue) = let val _ = if DEBUG2 then error("syntax error found at " ^ (showTerminal term), leftPos,leftPos) else () fun tokAt(t,p) = TOKEN(t,(errtermvalue t,p,p)) val minDelta = 3 (* pull all the state * lexv elements from the queue *) val stateList = let fun f q = let val (elem,newQueue) = Fifo.get q in elem :: (f newQueue) end handle Fifo.Empty => nil in f queue end (* now number elements of stateList, giving distance from error token *) val (_, numStateList) = List.foldr (fn (a,(num,r)) => (num+1,(a,num)::r)) (0, []) stateList (* Represent the set of potential changes as a linked list. Values of datatype Change hold information about a potential change. oper = oper to be applied pos = the # of the element in stateList that would be altered. distance = the number of tokens beyond the error token which the change allows us to parse. new = new terminal * value pair at that point orig = original terminal * value pair at the point being changed. *) datatype change = CHANGE of {pos : int, distance : int, leftPos: pos, rightPos: pos, new : lexv list, orig : lexv list} val showTerms = concat o map (fn TOKEN(t,_) => " " ^ showTerminal t) val printChange = fn c => let val CHANGE {distance,new,orig,pos,...} = c in (print ("{distance= " ^ (Int.toString distance)); print (",orig ="); print(showTerms orig); print (",new ="); print(showTerms new); print (",pos= " ^ (Int.toString pos)); print "}\n") end val printChangeList = app printChange (* parse: given a lexPair, a stack, and the distance from the error token, return the distance past the error token that we are able to parse.*) fun parse (lexPair,stack,queuePos : int) = case distanceParse(lexPair,stack,Fifo.empty,queuePos+maxAdvance+1) of (_,_,_,distance,SOME ACCEPT) => if maxAdvance-distance-1 >= 0 then maxAdvance else maxAdvance-distance-1 | (_,_,_,distance,_) => maxAdvance - distance - 1 (* catList: concatenate results of scanning list *) fun catList l f = List.foldr (fn(a,r)=> f a @ r) [] l fun keywordsDelta new = if List.exists (fn(TOKEN(t,_))=>is_keyword t) new then minDelta else 0 fun tryChange{lex,stack,pos,leftPos,rightPos,orig,new} = let val lex' = List.foldr (fn (t',p)=>(t',Stream.cons p)) lex new val distance = parse(lex',stack,pos+length new-length orig) in if distance >= minAdvance + keywordsDelta new then [CHANGE{pos=pos,leftPos=leftPos,rightPos=rightPos, distance=distance,orig=orig,new=new}] else [] end (* tryDelete: Try to delete n terminals. Return single-element [success] or nil. Do not delete unshiftable terminals. *) fun tryDelete n ((stack,lexPair as (TOKEN(term,(_,l,r)),_)),qPos) = let fun del(0,accum,left,right,lexPair) = tryChange{lex=lexPair,stack=stack, pos=qPos,leftPos=left,rightPos=right, orig=rev accum, new=[]} | del(n,accum,left,right,(tok as TOKEN(term,(_,_,r)),lexer)) = if noShift term then [] else del(n-1,tok::accum,left,r,Stream.get lexer) in del(n,[],l,r,lexPair) end (* tryInsert: try to insert tokens before the current terminal; return a list of the successes *) fun tryInsert((stack,lexPair as (TOKEN(_,(_,l,_)),_)),queuePos) = catList terms (fn t => tryChange{lex=lexPair,stack=stack, pos=queuePos,orig=[],new=[tokAt(t,l)], leftPos=l,rightPos=l}) (* trySubst: try to substitute tokens for the current terminal; return a list of the successes *) fun trySubst ((stack,lexPair as (orig as TOKEN (term,(_,l,r)),lexer)), queuePos) = if noShift term then [] else catList terms (fn t => tryChange{lex=Stream.get lexer,stack=stack, pos=queuePos, leftPos=l,rightPos=r,orig=[orig], new=[tokAt(t,r)]}) (* do_delete(toks,lexPair) tries to delete tokens "toks" from "lexPair". If it succeeds, returns SOME(toks',l,r,lp), where toks' is the actual tokens (with positions and values) deleted, (l,r) are the (leftmost,rightmost) position of toks', lp is what remains of the stream after deletion *) fun do_delete(nil,lp as (TOKEN(_,(_,l,_)),_)) = SOME(nil,l,l,lp) | do_delete([t],(tok as TOKEN(t',(_,l,r)),lp')) = if eqT (t, t') then SOME([tok],l,r,Stream.get lp') else NONE | do_delete(t::rest,(tok as TOKEN(t',(_,l,r)),lp')) = if eqT (t,t') then case do_delete(rest,Stream.get lp') of SOME(deleted,l',r',lp'') => SOME(tok::deleted,l,r',lp'') | NONE => NONE else NONE fun tryPreferred((stack,lexPair),queuePos) = catList preferred_change (fn (delete,insert) => if List.exists noShift delete then [] (* should give warning at parser-generation time *) else case do_delete(delete,lexPair) of SOME(deleted,l,r,lp) => tryChange{lex=lp,stack=stack,pos=queuePos, leftPos=l,rightPos=r,orig=deleted, new=map (fn t=>(tokAt(t,r))) insert} | NONE => []) val changes = catList numStateList tryPreferred @ catList numStateList tryInsert @ catList numStateList trySubst @ catList numStateList (tryDelete 1) @ catList numStateList (tryDelete 2) @ catList numStateList (tryDelete 3) val findMaxDist = fn l => foldr (fn (CHANGE {distance,...},high) => Int.max(distance,high)) 0 l (* maxDist: max distance past error taken that we could parse *) val maxDist = findMaxDist changes (* remove changes which did not parse maxDist tokens past the error token *) val changes = catList changes (fn(c as CHANGE{distance,...}) => if distance=maxDist then [c] else []) in case changes of (l as change :: _) => let fun print_msg (CHANGE {new,orig,leftPos,rightPos,...}) = let val s = case (orig,new) of (_::_,[]) => "deleting " ^ (showTerms orig) | ([],_::_) => "inserting " ^ (showTerms new) | _ => "replacing " ^ (showTerms orig) ^ " with " ^ (showTerms new) in error ("syntax error: " ^ s,leftPos,rightPos) end val _ = (if length l > 1 andalso DEBUG2 then (print "multiple fixes possible; could fix it by:\n"; app print_msg l; print "chosen correction:\n") else (); print_msg change) (* findNth: find nth queue entry from the error entry. Returns the Nth queue entry and the portion of the queue from the beginning to the nth-1 entry. The error entry is at the end of the queue. Examples: queue = a b c d e findNth 0 = (e,a b c d) findNth 1 = (d,a b c) *) val findNth = fn n => let fun f (h::t,0) = (h,rev t) | f (h::t,n) = f(t,n-1) | f (nil,_) = let exception FindNth in raise FindNth end in f (rev stateList,n) end val CHANGE {pos,orig,new,...} = change val (last,queueFront) = findNth pos val (stack,lexPair) = last val lp1 = foldl(fn (_,(_,r)) => Stream.get r) lexPair orig val lp2 = foldr(fn(t,r)=>(t,Stream.cons r)) lp1 new val restQueue = Fifo.put((stack,lp2), foldl Fifo.put Fifo.empty queueFront) val (lexPair,stack,queue,_,_) = distanceParse(lp2,stack,restQueue,pos) in (lexPair,stack,queue) end | nil => (error("syntax error found at " ^ (showTerminal term), leftPos,leftPos); raise ParseError) end val parse = fn {arg:arg, table:table, lexer: Stream.stream, saction: int * pos * (state * (svalue * pos * pos)) list * arg -> nonterm * (svalue * pos * pos) * (state * (svalue * pos * pos)) list, void:svalue, lookahead:int, ec=ec as {showTerminal,...} : ecRecord} => let val distance = 15 (* defer distance tokens *) val minAdvance = 1 (* must parse at least 1 token past error *) val maxAdvance = Int.max(lookahead,0)(* max distance for parse check *) val lexPair = Stream.get lexer val (TOKEN (_,(_,leftPos,_)),_) = lexPair val startStack = [(initialState table,(void,leftPos,leftPos))] val startQueue = Fifo.put((startStack,lexPair),Fifo.empty) val distanceParse = distanceParse(table,showTerminal,saction,arg) val fixError = mkFixError(ec,distanceParse,minAdvance,maxAdvance) val ssParse = ssParse(table,showTerminal,saction,fixError,arg) fun loop (lexPair,stack,queue,_,SOME ACCEPT) = ssParse(lexPair,stack,queue) | loop (lexPair,stack,queue,0,_) = ssParse(lexPair,stack,queue) | loop (lexPair,stack,queue,distance,SOME ERROR) = let val (lexPair,stack,queue) = fixError(lexPair,stack,queue) in loop (distanceParse(lexPair,stack,queue,distance)) end | loop _ = let exception ParseInternal in raise ParseInternal end in loop (distanceParse(lexPair,startStack,startQueue,distance)) end end; smlsharp-1.2.0/src/ml-yacc/lib/stream.smi0000644 000000000000000000000040012050661606020364 0ustar00rootroot0000000 0000000 _require "../../basis.smi" _require "base.sig" functor StreamFun(A: sig type tok end) = struct type tok = A.tok type stream (= boxed) val streamify : (unit -> tok) -> stream val cons : tok * stream -> stream val get : stream -> tok * stream end smlsharp-1.2.0/src/ml-yacc/lib/stream.sml0000644 000000000000000000000106512050661606020377 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi *) (* Stream: a structure implementing a lazy stream. The signature STREAM is found in base.sig *) functor StreamFun(A: sig type tok end) :> STREAM where type tok = A.tok = struct type tok = A.tok datatype str = EVAL of tok * str ref | UNEVAL of (unit->tok) type stream = str ref fun get(ref(EVAL t)) = t | get(s as ref(UNEVAL f)) = let val t = (f(), ref(UNEVAL f)) in s := EVAL t; t end fun streamify f = ref(UNEVAL f) fun cons(a,s) = ref(EVAL(a,s)) end; smlsharp-1.2.0/src/ml-yacc/README0000644 000000000000000000000176412050661606016507 0ustar00rootroot0000000 0000000 Copyright (c) 1989, 1990, 1991 Andrew W. Appel and David R. Tarditi Jr. This directory contains ML-Yacc, an LALR parser generator for Standard ML. ML-Yacc is distributed subject to the terms of the accompanying ML-Yacc copyright notice, license, and disclaimer in the file COPYRIGHT. Files of interest (those marked with a * must be built by the person installing ML-Yacc): README - this file INSTALL - installation instructions. COPYRIGHT - this software is distributed subject to the terms of this file. lib - implementation of the ML-Yacc library (aka $/ml-yacc-lib.cm); this library is used by both by applications and by ML-Yacc itself (because ML-Yacc IS an ML-Yacc application) src - source code for the parser-generator part of ML-Yacc. doc - documentation for ML-Yacc. Please read this before using ML-Yacc examples - sample parsers built with ML-Yacc build - script that invokes ../../bin/ml-build to construct the stand-alone version of ML-Yacc smlsharp-1.2.0/src/ml-yacc/README.smlsharp0000644 000000000000000000000135512050661606020333 0ustar00rootroot0000000 0000000 This is a ported version of ml-yacc from SML/NJ 110.73 for SML#. * 2012-1-13 ohori %footer added for defuncteringing ml.grm.sml * 2012-9-24: ohori. Made Token monomorphic. To do this, * In lib/parser2.sml: LrParser is now a functor LrParserFun that takes arg, pos, and svalue. * xx.grm.sml generates a structure where ParserData contain LrParser specialized to this parser. * 2012-9-24: ohori. %decompose of string and %blockSize of int added. If %decompose is defined (ignoring its value) then yacc.sml decomposes the acction table to a sequence of functions of size specified in %blockSize nnn * yacc.grm must be compied with ml-yacc/lib with ml-yacc/smlyacc. For this bootstrap purpose we must keen ml-yacc dir. smlsharp-1.2.0/src/ml-yacc/src0000755 000000000000000000000000012050661606016327 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/ml-yacc/src/absyn.sig0000644 000000000000000000000155612050661606020235 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi *) signature ABSYN = sig datatype exp = EVAR of string | EAPP of exp * exp | ETUPLE of exp list | EINT of int | FN of pat * exp | LET of decl list * exp | UNIT | SEQ of exp * exp | CODE of string and pat = PVAR of string | PAPP of string * pat | PTUPLE of pat list | PLIST of pat list * pat option | PINT of int | WILD | AS of string * pat and decl = VB of pat * exp and rule = RULE of pat * exp val printRule : ((string -> unit) * (string -> unit)) -> rule -> unit end smlsharp-1.2.0/src/ml-yacc/src/absyn.smi0000644 000000000000000000000114112050661606020231 0ustar00rootroot0000000 0000000 _require "../../basis.smi" _require "absyn.sig" structure Absyn = struct datatype exp = EVAR of string | EAPP of exp * exp | ETUPLE of exp list | EINT of int | FN of pat * exp | LET of decl list * exp | UNIT | SEQ of exp * exp | CODE of string and pat = PVAR of string | PAPP of string * pat | PTUPLE of pat list | PLIST of pat list * pat option | PINT of int | WILD | AS of string * pat and decl = VB of pat * exp and rule = RULE of pat * exp val printRule : ((string -> unit) * (string -> unit)) -> rule -> unit end smlsharp-1.2.0/src/ml-yacc/src/absyn.sml0000644 000000000000000000001261112050661606020240 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1991 Andrew W. Appel, David R. Tarditi *) structure Absyn : ABSYN = struct datatype exp = CODE of string | EAPP of exp * exp | EINT of int | ETUPLE of exp list | EVAR of string | FN of pat * exp | LET of decl list * exp | SEQ of exp * exp | UNIT and pat = PVAR of string | PAPP of string * pat | PINT of int | PLIST of pat list * pat option | PTUPLE of pat list | WILD | AS of string * pat and decl = VB of pat * exp and rule = RULE of pat * exp fun idchar #"'" = true | idchar #"_" = true | idchar c = Char.isAlpha c orelse Char.isDigit c fun code_to_ids s = let fun g(nil,r) = r | g(a as (h::t),r) = if Char.isAlpha h then f(t,[h],r) else g(t,r) and f(nil,accum,r)= implode(rev accum)::r | f(a as (h::t),accum,r) = if idchar h then f(t,h::accum,r) else g(a,implode (rev accum) :: r) in g(explode s,nil) end val simplifyRule : rule -> rule = fn (RULE(p,e)) => let val used : (string -> bool) = let fun f(CODE s) = code_to_ids s | f(EAPP(a,b)) = f a @ f b | f(ETUPLE l) = List.concat (map f l) | f(EVAR s) = [s] | f(FN(_,e)) = f e | f(LET(dl,e)) = (List.concat (map (fn VB(_,e) => f e) dl)) @ f e | f(SEQ(a,b)) = f a @ f b | f _ = nil val identifiers = f e in fn s => List.exists (fn a=>a=s) identifiers end val simplifyPat : pat -> pat = let fun f a = case a of (PVAR s) => if used s then a else WILD | (PAPP(s,pat)) => (case f pat of WILD => WILD | pat' => PAPP(s,pat')) | (PLIST (l, topt)) => let val l' = map f l val topt' = Option.map f topt fun notWild WILD = false | notWild _ = true in case topt' of SOME WILD => if List.exists notWild l' then PLIST (l', topt') else WILD | _ => PLIST (l', topt') end | (PTUPLE l) => let val l' = map f l in if List.exists(fn WILD=>false | _ => true) l' then PTUPLE l' else WILD end | (AS(a,b)) => if used a then case f b of WILD => PVAR a | b' => AS(a,b') else f b | _ => a in f end val simplifyExp : exp -> exp = let fun f(EAPP(a,b)) = EAPP(f a,f b) | f(ETUPLE l) = ETUPLE(map f l) | f(FN(p,e)) = FN(simplifyPat p,f e) | f(LET(dl,e)) = LET(map (fn VB(p,e) => VB(simplifyPat p,f e)) dl, f e) | f(SEQ(a,b)) = SEQ(f a,f b) | f a = a in f end in RULE(simplifyPat p,simplifyExp e) end fun printRule (say : string -> unit, sayln:string -> unit) r = let fun flat (a, []) = rev a | flat (a, SEQ (e1, e2) :: el) = flat (a, e1 :: e2 :: el) | flat (a, e :: el) = flat (e :: a, el) fun pl (lb, rb, c, f, [], a) = " " :: lb :: rb :: a | pl (lb, rb, c, f, h :: t, a) = " " :: lb :: f (h, foldr (fn (x, a) => c :: f (x, a)) (rb :: a) t) fun pe (CODE c, a) = " (" :: c :: ")" :: a | pe (EAPP (x, y as (EAPP _)), a) = pe (x, " (" :: pe (y, ")" :: a)) | pe (EAPP (x, y), a) = pe (x, pe (y, a)) | pe (EINT i, a) = " " :: Int.toString i :: a | pe (ETUPLE l, a) = pl ("(", ")", ",", pe, l, a) | pe (EVAR v, a) = " " :: v :: a | pe (FN (p, b), a) = " (fn" :: pp (p, " =>" :: pe (b, ")" :: a)) | pe (LET ([], b), a) = pe (b, a) | pe (LET (dl, b), a) = let fun pr (VB (p, e), a) = " val " :: pp (p, " =" :: pe (e, "\n" :: a)) in " let" :: foldr pr (" in" :: pe (b, "\nend" :: a)) dl end | pe (SEQ (e1, e2), a) = pl ("(", ")", ";", pe, flat ([], [e1, e2]), a) | pe (UNIT, a) = " ()" :: a and pp (PVAR v, a) = " " :: v :: a | pp (PAPP (x, y as PAPP _), a) = " " :: x :: " (" :: pp (y, ")" :: a) | pp (PAPP (x, y), a) = " " :: x :: pp (y, a) | pp (PINT i, a) = " " :: Int.toString i :: a | pp (PLIST (l, NONE), a) = pl ("[", "]", ",", pp, l, a) | pp (PLIST (l, SOME t), a) = " (" :: foldr (fn (x, a) => pp (x, " ::" :: a)) (pp (t, ")" :: a)) l | pp (PTUPLE l, a) = pl ("(", ")", ",", pp, l, a) | pp (WILD, a) = " _" :: a | pp (AS (v, PVAR v'), a) = " (" :: v :: " as " :: v' :: ")" :: a | pp (AS (v, p), a) = " (" :: v :: " as (" :: pp (p, "))" :: a) fun out "\n" = sayln "" | out s = say s in case simplifyRule r of RULE (p, e) => app out (pp (p, " =>" :: pe (e, ["\n"]))) end end smlsharp-1.2.0/src/ml-yacc/src/core.smi0000644 000000000000000000000606112050661606020053 0ustar00rootroot0000000 0000000 _require "../../basis.smi" _require "../../ml-yacc/lib/base.sig" _require "utils.smi" _require "utils.sig" _require "sigs.sml" _require "grammar.smi" structure Core = struct structure Grammar = struct datatype term = datatype IntGrammar.Grammar.term datatype nonterm = datatype IntGrammar.Grammar.nonterm datatype symbol = datatype IntGrammar.Grammar.symbol datatype grammar = datatype IntGrammar.Grammar.grammar end structure IntGrammar = struct structure Grammar = struct datatype term = datatype IntGrammar.Grammar.term datatype nonterm = datatype IntGrammar.Grammar.nonterm datatype symbol = datatype IntGrammar.Grammar.symbol datatype grammar = datatype IntGrammar.Grammar.grammar end structure SymbolAssoc = struct type 'a table = 'a IntGrammar.SymbolAssoc.table type key = IntGrammar.SymbolAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc = struct type 'a table = 'a IntGrammar.NontermAssoc.table type key = IntGrammar.NontermAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end datatype rule = datatype IntGrammar.rule val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string)*(Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end datatype item = ITEM of {rule: IntGrammar.rule, dot: int, rhsAfter: Grammar.symbol list} val eqItem : item * item -> bool val gtItem : item * item -> bool val insert : item * item list -> item list val union : item list * item list -> item list datatype core = CORE of item list * int val gtCore : core * core -> bool val eqCore : core * core -> bool val prItem : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> item -> unit val prCore : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> core -> unit end smlsharp-1.2.0/src/ml-yacc/src/core.sml0000644 000000000000000000000420512050661606020054 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi *) (* 2012-3-21 ohori defuncterized used only in mklrtable.sml as structure Core = mkCore(structure IntGrammar = IntGrammar) *) structure Core : CORE = struct open IntGrammar open Grammar structure IntGrammar = IntGrammar structure Grammar = Grammar datatype item = ITEM of { rule : rule, dot : int, rhsAfter : symbol list } val eqItem = fn (ITEM{rule=RULE{num=n,...},dot=d,...}, ITEM{rule=RULE{num=m,...},dot=e,...}) => n=m andalso d=e val gtItem = fn (ITEM{rule=RULE{num=n,...},dot=d,...}, ITEM{rule=RULE{num=m,...},dot=e,...}) => n>m orelse (n=m andalso d>e) structure ItemList = ListOrdSet (struct type elem = item val eq = eqItem val gt = gtItem end) open ItemList datatype core = CORE of item list * int val gtCore = fn (CORE (a,_),CORE (b,_)) => ItemList.set_gt(a,b) val eqCore = fn (CORE (a,_),CORE (b,_)) => ItemList.set_eq(a,b) (* functions for printing and debugging *) val prItem = fn (symbolToString,nontermToString,print) => let val printInt = print o (Int.toString : int -> string) val prSymbol = print o symbolToString val prNonterm = print o nontermToString fun showRest nil = () | showRest (h::t) = (prSymbol h; print " "; showRest t) fun showRhs (l,0) = (print ". "; showRest l) | showRhs (nil,_) = () | showRhs (h::t,n) = (prSymbol h; print " "; showRhs(t,n-1)) in fn (ITEM {rule=RULE {lhs,rhs,rulenum,num,...}, dot,rhsAfter,...}) => (prNonterm lhs; print " : "; showRhs(rhs,dot); case rhsAfter of nil => (print " (reduce by rule "; printInt rulenum; print ")") | _ => (); if DEBUG then (print " (num "; printInt num; print ")") else ()) end val prCore = fn a as (_,_,print) => let val prItem = prItem a in fn (CORE (items,state)) => (print "state "; print (Int.toString state); print ":\n\n"; app (fn i => (print "\t"; prItem i; print "\n")) items; print "\n") end end smlsharp-1.2.0/src/ml-yacc/src/coreutils.smi0000644 000000000000000000001322112050661606021130 0ustar00rootroot0000000 0000000 _require "../../basis.smi" _require "../../ml-yacc/lib/base.sig" _require "utils.smi" _require "utils.sig" _require "sigs.sml" _require "core.smi" structure CoreUtils = struct structure Grammar = struct datatype term = datatype Core.IntGrammar.Grammar.term datatype nonterm = datatype Core.IntGrammar.Grammar.nonterm datatype symbol = datatype Core.IntGrammar.Grammar.symbol datatype grammar = datatype Core.IntGrammar.Grammar.grammar end structure IntGrammar = struct structure Grammar = struct datatype term = datatype Core.IntGrammar.Grammar.term datatype nonterm = datatype Core.IntGrammar.Grammar.nonterm datatype symbol = datatype Core.IntGrammar.Grammar.symbol datatype grammar = datatype Core.IntGrammar.Grammar.grammar end structure SymbolAssoc = struct type 'a table = 'a Core.IntGrammar.SymbolAssoc.table type key = Core.IntGrammar.SymbolAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc = struct type 'a table = 'a Core.IntGrammar.NontermAssoc.table type key = Core.IntGrammar.NontermAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end datatype rule = datatype Core.IntGrammar.rule val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string)*(Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end structure Core = struct structure Grammar = struct datatype term = datatype Grammar.term datatype nonterm = datatype Grammar.nonterm datatype symbol = datatype Grammar.symbol datatype grammar = datatype Grammar.grammar end structure IntGrammar = struct structure Grammar = struct datatype term = datatype Grammar.term datatype nonterm = datatype Grammar.nonterm datatype symbol = datatype Grammar.symbol datatype grammar = datatype Grammar.grammar end structure SymbolAssoc = struct type 'a table = 'a IntGrammar.SymbolAssoc.table type key = IntGrammar.SymbolAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc = struct type 'a table = 'a IntGrammar.NontermAssoc.table type key = IntGrammar.NontermAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end datatype rule = datatype IntGrammar.rule val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string)*(Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end datatype item = datatype Core.item val eqItem : item * item -> bool val gtItem : item * item -> bool val insert : item * item list -> item list val union : item list * item list -> item list datatype core = datatype Core.core val gtCore : core * core -> bool val eqCore : core * core -> bool val prItem : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> item -> unit val prCore : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> core -> unit end val mkFuncs : Grammar.grammar -> {produces: Grammar.nonterm -> IntGrammar.rule list, shifts: Core.core -> (Grammar.symbol * Core.item list) list, rules: IntGrammar.rule list, epsProds : Core.core -> IntGrammar.rule list} end smlsharp-1.2.0/src/ml-yacc/src/coreutils.sml0000644 000000000000000000002041012050661606021131 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi *) (* 2012-3-21 ohori defuncterized used only in mklrtable.sml as structure CoreUtils = mkCoreUtils(structure IntGrammar = IntGrammar structure Core = Core) functor mkCoreUtils(structure Core : CORE) : CORE_UTILS = *) structure CoreUtils : CORE_UTILS = struct open Array List infix 9 sub val DEBUG = true structure Core = Core structure IntGrammar = Core.IntGrammar structure Grammar = IntGrammar.Grammar open Grammar IntGrammar Core structure Assoc = SymbolAssoc structure NtList = ListOrdSet (struct type elem = nonterm val eq = eqNonterm val gt = gtNonterm end) val mkFuncs = fn (GRAMMAR {rules,terms,nonterms,...}) => let val derives=array(nonterms,nil : rule list) (* sort rules by their lhs nonterminal by placing them in an array indexed in their lhs nonterminal *) val _ = let val f = fn {lhs=lhs as (NT n), rhs, precedence,rulenum} => let val rule=RULE{lhs=lhs,rhs=rhs,precedence=precedence, rulenum=rulenum,num=0} in update(derives,n,rule::(derives sub n)) end in app f rules end (* renumber rules so that rule numbers increase monotonically with the number of their lhs nonterminal, and so that rules are numbered sequentially. **Functions below assume that this number is true**, i.e. productions for nonterm i are numbered from j to k, productions for nonterm i+1 are numbered from k+1 to m, and productions for nonterm 0 start at 0 *) val _ = let val f = fn (RULE{lhs,rhs,precedence,rulenum,num}, (l,i)) => (RULE{lhs=lhs,rhs=rhs, precedence=precedence, rulenum=rulenum, num=i}::l,i+1) fun g(i,num) = if i if DEBUG andalso (n<0 orelse n>=nonterms) then let exception Produces of int in raise (Produces n) end else derives sub n val memoize = fn f => let fun loop i = if i = nonterms then nil else f (NT i) :: (loop (i+1)) val data = Array.fromList(loop 0) in fn (NT i) => data sub i end (* compute nonterminals which must be added to a closure when a given nonterminal is added, i.e all nonterminals C for each nonterminal A such that A =*=> Cx *) val nontermClosure = let val collectNonterms = fn n => List.foldr (fn (r,l) => case r of RULE {rhs=NONTERM n :: _,...} => NtList.insert(n,l) | _ => l) NtList.empty (produces n) val closureNonterm = fn n => NtList.closure(NtList.singleton n, collectNonterms) in memoize closureNonterm end (* ntShifts: Take the items produced by a nonterminal, and sort them by their first symbol. For each first symbol, make sure the item list associated with the symbol is sorted also. ** This function assumes that the item list returned by produces is sorted ** Create a table of item lists keyed by symbols. Scan the list of items produced by a nonterminal, and insert those with a first symbol on to the beginning of the item list for that symbol, creating a list if necessary. Since produces returns an item list that is already in order, the list for each symbol will also end up in order. *) fun sortItems nt = let fun add_item (a as RULE{rhs=symbol::rest,...},r) = let val item = ITEM{rule=a,dot=1,rhsAfter=rest} in Assoc.insert((symbol,case Assoc.find (symbol,r) of SOME l => item::l | NONE => [item]),r) end | add_item (_,r) = r in List.foldr add_item Assoc.empty (produces nt) end val ntShifts = memoize sortItems (* getNonterms: get the nonterminals with a . before them in a core. Returns a list of nonterminals in ascending order *) fun getNonterms l = List.foldr (fn (ITEM {rhsAfter=NONTERM sym ::_, ...},r) => NtList.insert(sym,r) | (_,r) => r) [] l (* closureNonterms: compute the nonterminals that would have a . before them in the closure of the core. Returns a list of nonterminals in ascending order *) fun closureNonterms a = let val nonterms = getNonterms a in List.foldr (fn (nt,r) => NtList.union(nontermClosure nt,r)) nonterms nonterms end (* shifts: compute the core sets that result from shift/gotoing on the closure of a kernal set. The items in core sets are sorted, of course. (1) compute the core sets that result just from items added through the closure operation. (2) then add the shift/gotos on kernal items. We can do (1) the following way. Keep a table which for each shift/goto symbol gives the list of items that result from shifting or gotoing on the symbol. Compute the nonterminals that would have dots before them in the closure of the kernal set. For each of these nonterminals, we already have an item list in sorted order for each possible shift symbol. Scan the nonterminal list from back to front. For each nonterminal, prepend the shift/goto list for each shift symbol to the list already in the table. We end up with the list of items in correct order for each shift/goto symbol. We have kept the item lists in order, scanned the nonterminals from back to front (=> that the items end up in ascending order), and never had any duplicate items (each item is derived from only one nonterminal). *) fun shifts (CORE (itemList,_)) = let (* mergeShiftItems: add an item list for a shift/goto symbol to the table *) fun mergeShiftItems (args as ((k,l),r)) = case Assoc.find(k,r) of NONE => Assoc.insert args | SOME old => Assoc.insert ((k,l@old),r) (* mergeItems: add all items derived from a nonterminal to the table. We've kept these items sorted by their shift/goto symbol (the first symbol on their rhs) *) fun mergeItems (n,r) = Assoc.fold mergeShiftItems (ntShifts n) r (* nonterms: a list of nonterminals that are in a core after the closure operation *) val nonterms = closureNonterms itemList (* now create a table which for each shift/goto symbol gives the sorted list of closure items which would result from first taking all the closure items and then sorting them by the shift/goto symbols *) val newsets = List.foldr mergeItems Assoc.empty nonterms (* finally prepare to insert the kernal items of a core *) fun insertItem ((k,i),r) = case (Assoc.find(k,r)) of NONE => Assoc.insert((k,[i]),r) | SOME l => Assoc.insert((k,Core.insert(i,l)),r) fun shiftCores(ITEM{rule,dot,rhsAfter=symbol::rest},r) = insertItem((symbol, ITEM{rule=rule,dot=dot+1,rhsAfter=rest}),r) | shiftCores(_,r) = r (* insert the kernal items of a core *) val newsets = List.foldr shiftCores newsets itemList in Assoc.make_list newsets end (* nontermEpsProds: returns a list of epsilon productions produced by a nonterminal sorted by rule number. ** Depends on produces returning an ordered list **. It does not alter the order in which the rules were returned by produces; it only removes non-epsilon productions *) val nontermEpsProds = let val f = fn nt => List.foldr (fn (rule as RULE {rhs=nil,...},results) => rule :: results | (_,results) => results) [] (produces nt) in memoize f end (* epsProds: take a core and compute a list of epsilon productions for it sorted by rule number. ** Depends on closureNonterms returning a list of nonterminals sorted by nonterminal #, rule numbers increasing monotonically with their lhs production #, and nontermEpsProds returning an ordered item list for each production *) fun epsProds (CORE (itemList,state)) = let val prods = map nontermEpsProds (closureNonterms itemList) in List.concat prods end in {produces=produces,shifts=shifts,rules=rules,epsProds=epsProds} end end smlsharp-1.2.0/src/ml-yacc/src/export-yacc.smi0000644 000000000000000000000022112050661606021351 0ustar00rootroot0000000 0000000 _require "../../basis.smi" _require "yacc.smi" structure ExportParseGen = struct val parseGen : string * string list -> OS.Process.status end smlsharp-1.2.0/src/ml-yacc/src/export-yacc.sml0000644 000000000000000000000354112050661606021364 0ustar00rootroot0000000 0000000 (* Modified by Katsuhiro Ueno on 2011-Nov-25 to port ml-yacc to SML#. *) (* export-yacc.sml * * ML-Yacc Parser Generator (c) 1991 Andrew W. Appel, David R. Tarditi *) (* 2012-8-19 ohori. Type annotation added to parseGen *) structure ExportParseGen : sig val parseGen : (string * string list) -> OS.Process.status end = struct fun err msg = TextIO.output (TextIO.stdErr, msg) exception Interrupt; (* This function applies operation to (). If it handles an interrupt signal (Control-C), it raises the exception Interrupt. Example: (handleInterrupt foo) handle Interrupt => print "Bang!\n" *) fun handleInterrupt (operation : unit -> unit) = (* (* Ueno (2011-11-25): SML# does not have Signals and callcc. *) let exception Done val old'handler = Signals.inqHandler(Signals.sigINT) fun reset'handler () = Signals.setHandler(Signals.sigINT, old'handler) in (SMLofNJ.Cont.callcc (fn k => (Signals.setHandler(Signals.sigINT, Signals.HANDLER(fn _ => k)); operation (); raise Done)); err ("\n--- Interrupt ml-yacc ---\n"); raise Interrupt) handle Done => (reset'handler ()) | exn => (reset'handler (); raise exn) end *) operation () val exit = OS.Process.exit (* 2012 ohori: type annotation added *) fun parseGen (_:string, argv:string list) : OS.Process.status = let fun parse_gen () = case argv of [file] => (ParseGen.parseGen file; exit OS.Process.success) | _ => (err("Usage: ml-yacc filename\n"); exit OS.Process.failure) in (handleInterrupt parse_gen; OS.Process.success) handle Interrupt => OS.Process.failure | ex => (err (String.concat ["? ml-yacc: uncaught exception ", General.exnMessage ex, "\n"]); OS.Process.failure) end end smlsharp-1.2.0/src/ml-yacc/src/FILES0000644 000000000000000000000200312050661606017166 0ustar00rootroot0000000 0000000 Base files; used by all parsers generated by ML-Yacc, included ML-Yacc's own parser. ../lib/base.sig ../lib/stream.sml ../lib/lrtable.sml ../lib/join.sml ../lib/parser2.sml Signatures and parser for ML-Yacc. utils.sig sigs.sml hdr.sml yacc.grm.sig yacc.grm.sml yacc.lex.sml parse.sml LR table generator: base definitions: grammar.sml LR(0) graph generation: intgrammar.sml core.sml coreutils.sml graph.sml LALR(1) table generation: look.sml lalr.sml mklrtable.sml modules to print out table structure: mkprstruct.sml shrink.sml and verbose file: verbose.sml Rest of ML-Yacc: Signature and module to handle abstract syntax for actions and remove unused variable bindings from the abstract syntax: absyn.sig absyn.sml module to check specification for errors, create grammar from specification, have appropriate files printed out, and print out semantic actions for the parser: yacc.sml module to hook everything together: link.sml smlsharp-1.2.0/src/ml-yacc/src/grammar.smi0000644 000000000000000000000546312050661606020556 0ustar00rootroot0000000 0000000 _require "../../basis.smi" _require "../../ml-yacc/lib/base.sig" _require "../../ml-yacc/lib/lrtable.smi" _require "utils.smi" _require "utils.sig" _require "sigs.sml" structure Grammar = struct datatype term = datatype LrTable.term datatype nonterm = datatype LrTable.nonterm datatype symbol = TERM of term | NONTERM of nonterm datatype grammar = GRAMMAR of {rules: {lhs : nonterm, rhs : symbol list, precedence : int option, rulenum : int} list, terms: int, nonterms: int, start : nonterm, eop : term list, noshift : term list, precedence : term -> int option, termToString : term -> string, nontermToString : nonterm -> string} end structure IntGrammar = struct structure Grammar = struct datatype term = datatype Grammar.term datatype nonterm = datatype Grammar.nonterm datatype symbol = datatype Grammar.symbol datatype grammar = datatype Grammar.grammar end structure SymbolAssoc = struct type 'a table (= boxed) type key = Grammar.symbol val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc = struct type 'a table (= boxed) type key = Grammar.nonterm val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end datatype rule = RULE of {lhs : Grammar.nonterm, rhs : Grammar.symbol list, num : int, rulenum : int, precedence : int option} val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end smlsharp-1.2.0/src/ml-yacc/src/grammar.sml0000644 000000000000000000000541412050661606020555 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi *) structure Grammar : GRAMMAR = struct (* define types term and nonterm using those in LrTable datatype term = T of int datatype nonterm = NT of int *) open LrTable datatype symbol = TERM of term | NONTERM of nonterm datatype grammar = GRAMMAR of {rules: {lhs: nonterm, rhs: symbol list, precedence: int option, rulenum: int} list, noshift : term list, eop : term list, terms: int, nonterms: int, start : nonterm, precedence : term -> int option, termToString : term -> string, nontermToString : nonterm -> string} end structure IntGrammar : INTGRAMMAR = struct structure Grammar = Grammar open Grammar datatype rule = RULE of {lhs: nonterm, rhs: symbol list, num: int,(* internal # assigned by coreutils *) rulenum: int, precedence: int option} val eqTerm : term * term -> bool = (op =) val gtTerm : term * term -> bool = fn (T i,T j) => i>j val eqNonterm : nonterm * nonterm -> bool = (op =) val gtNonterm : nonterm * nonterm -> bool = fn (NT i,NT j) => i>j val eqSymbol : symbol * symbol -> bool = (op =) val gtSymbol = fn (TERM (T i),TERM (T j)) => i>j | (NONTERM (NT i),NONTERM (NT j)) => i>j | (TERM _,NONTERM _) => false | (NONTERM _,TERM _) => true structure SymbolAssoc = Table(type key = symbol val gt = gtSymbol) structure NontermAssoc = Table(type key = nonterm val gt = gtNonterm) val DEBUG = false val prRule = fn (a as symbolToString,nontermToString,print) => let val printSymbol = print o symbolToString fun printRhs (h::t) = (printSymbol h; print " "; printRhs t) | printRhs nil = () in fn (RULE {lhs,rhs,num,rulenum,precedence,...}) => ((print o nontermToString) lhs; print " : "; printRhs rhs; if DEBUG then (print " num = "; print (Int.toString num); print " rulenum = "; print (Int.toString rulenum); print " precedence = "; case precedence of NONE => print " none" | (SOME i) => print (Int.toString i); ()) else ()) end val prGrammar = fn (a as (symbolToString,nontermToString,print)) => fn (GRAMMAR {rules,terms,nonterms,start,...}) => let val printRule = let val prRule = prRule a in fn {lhs,rhs,precedence,rulenum} => (prRule (RULE {lhs=lhs,rhs=rhs,num=0, rulenum=rulenum, precedence=precedence}); print "\n") end in print "grammar = \n"; List.app printRule rules; print "\n"; print (" terms = " ^ (Int.toString terms) ^ " nonterms = " ^ (Int.toString nonterms) ^ " start = "); (print o nontermToString) start; () end end smlsharp-1.2.0/src/ml-yacc/src/graph.smi0000644 000000000000000000001416512050661606020230 0ustar00rootroot0000000 0000000 _require "../../basis.smi" _require "../../ml-yacc/lib/base.sig" _require "utils.smi" _require "utils.sig" _require "sigs.sml" _require "grammar.smi" _require "core.smi" _require "coreutils.smi" structure Graph = struct structure Grammar = struct datatype term = datatype IntGrammar.Grammar.term datatype nonterm = datatype IntGrammar.Grammar.nonterm datatype symbol = datatype IntGrammar.Grammar.symbol datatype grammar = datatype IntGrammar.Grammar.grammar end structure IntGrammar = struct structure Grammar = struct datatype term = datatype IntGrammar.Grammar.term datatype nonterm = datatype IntGrammar.Grammar.nonterm datatype symbol = datatype IntGrammar.Grammar.symbol datatype grammar = datatype IntGrammar.Grammar.grammar end structure SymbolAssoc = struct type 'a table = 'a IntGrammar.SymbolAssoc.table type key = IntGrammar.SymbolAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc = struct type 'a table = 'a IntGrammar.NontermAssoc.table type key = IntGrammar.NontermAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end datatype rule = datatype IntGrammar.rule val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string)*(Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end structure Core = struct structure Grammar = struct datatype term = datatype Grammar.term datatype nonterm = datatype Grammar.nonterm datatype symbol = datatype Grammar.symbol datatype grammar = datatype Grammar.grammar end structure IntGrammar = struct structure Grammar = struct datatype term = datatype Grammar.term datatype nonterm = datatype Grammar.nonterm datatype symbol = datatype Grammar.symbol datatype grammar = datatype Grammar.grammar end structure SymbolAssoc = struct type 'a table = 'a IntGrammar.SymbolAssoc.table type key = IntGrammar.SymbolAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc = struct type 'a table = 'a IntGrammar.NontermAssoc.table type key = IntGrammar.NontermAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end datatype rule = datatype IntGrammar.rule val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string)*(Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end datatype item = datatype Core.item val eqItem : item * item -> bool val gtItem : item * item -> bool val insert : item * item list -> item list val union : item list * item list -> item list datatype core = datatype Core.core val gtCore : core * core -> bool val eqCore : core * core -> bool val prItem : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> item -> unit val prCore : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> core -> unit end type graph = {edges: {edge:IntGrammar.Grammar.symbol, to:Core.core} list array, nodes: Core.core list, nodeArray : Core.core array} val edges : Core.core * graph -> {edge:Grammar.symbol,to:Core.core} list val nodes : graph -> Core.core list val shift : graph -> int * Grammar.symbol -> int (* int = state # *) val core : graph -> int -> Core.core (* get core for a state *) val mkGraph : Grammar.grammar -> {graph : graph, produces : Grammar.nonterm -> IntGrammar.rule list, rules : IntGrammar.rule list, epsProds: Core.core -> IntGrammar.rule list} val prGraph: (Grammar.symbol -> string)*(Grammar.nonterm -> string) * (string -> unit) -> graph -> unit end smlsharp-1.2.0/src/ml-yacc/src/graph.sml0000644 000000000000000000000645712050661606020240 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi *) (* 2012-3-21 ohori defuncterized used only in mklrtable.sml as structure Graph = mkGraph(structure IntGrammar = IntGrammar structure Core = Core structure CoreUtils = CoreUtils) functor mkGraph(structure IntGrammar : INTGRAMMAR structure Core : CORE structure CoreUtils : CORE_UTILS sharing IntGrammar = Core.IntGrammar = CoreUtils.IntGrammar sharing CoreUtils.Core = Core ) : LRGRAPH = *) structure Graph : LRGRAPH = struct open Array List infix 9 sub structure Core = Core structure Grammar = IntGrammar.Grammar structure IntGrammar = IntGrammar open Core Core.Grammar CoreUtils IntGrammar structure NodeSet = RbOrdSet (struct type elem = core val eq = eqCore val gt = gtCore end) open NodeSet exception Shift of int * symbol type graph = {edges: {edge:symbol,to:core} list array, nodes: core list,nodeArray : core array} val edges = fn (CORE (_,i),{edges,...}:graph) => edges sub i val nodes = fn ({nodes,...} : graph) => nodes val shift = fn ({edges,nodes,...} : graph) => fn a as (i,sym) => let fun find nil = raise (Shift a) | find ({edge,to=CORE (_,state)} :: r) = if gtSymbol(sym,edge) then find r else if eqSymbol(edge,sym) then state else raise (Shift a) in find (edges sub i) end val core = fn ({nodeArray,...} : graph) => fn i => nodeArray sub i val mkGraph = fn (g as (GRAMMAR {start,...})) => let val {shifts,produces,rules,epsProds} = CoreUtils.mkFuncs g fun add_goto ((symbol,a),(nodes,edges,future,num)) = case find(CORE (a,0),nodes) of NONE => let val core =CORE (a,num) val edge = {edge=symbol,to=core} in (insert(core,nodes),edge::edges, core::future,num+1) end | (SOME c) => let val edge={edge=symbol,to=c} in (nodes,edge::edges,future,num) end fun f (nodes,node_list,edge_list,nil,nil,num) = let val nodes=rev node_list in {nodes=nodes, edges=Array.fromList (rev edge_list), nodeArray = Array.fromList nodes } end | f (nodes,node_list,edge_list,nil,y,num) = f (nodes,node_list,edge_list,rev y,nil,num) | f (nodes,node_list,edge_list,h::t,y,num) = let val (nodes,edges,future,num) = List.foldr add_goto (nodes,[],y,num) (shifts h) in f (nodes,h::node_list, edges::edge_list,t,future,num) end in {graph= let val makeItem = fn (r as (RULE {rhs,...})) => ITEM{rule=r,dot=0,rhsAfter=rhs} val initialItemList = map makeItem (produces start) val orderedItemList = List.foldr Core.insert [] initialItemList val initial = CORE (orderedItemList,0) in f(empty,nil,nil,[initial],nil,1) end, produces=produces, rules=rules, epsProds=epsProds} end val prGraph = fn a as (nontermToString,termToString,print) => fn g => let val printCore = prCore a val printSymbol = print o nontermToString val nodes = nodes g val printEdges = fn n => List.app (fn {edge,to=CORE (_,state)} => (print "\tshift on "; printSymbol edge; print " to "; print (Int.toString state); print "\n")) (edges (n,g)) in List.app (fn c => (printCore c; print "\n"; printEdges c)) nodes end end smlsharp-1.2.0/src/ml-yacc/src/hdr.smi0000644 000000000000000000000403612050661606017700 0ustar00rootroot0000000 0000000 _require "../../basis.smi" _require "../../ml-yacc/lib/base.sig" _require "utils.sig" _require "sigs.sml" structure Header = struct type pos = int val lineno : pos ref val text : string list ref type inputSource = {name : string, errStream : TextIO.outstream, inStream : TextIO.instream, errorOccurred : bool ref} val newSource : string * TextIO.instream * TextIO.outstream -> inputSource val error : inputSource -> pos -> string -> unit val warn : inputSource -> pos -> string -> unit val errorOccurred : inputSource -> unit -> bool datatype symbol = SYMBOL of string * pos val symbolName : symbol -> string val symbolPos : symbol -> pos val symbolMake : string * int -> symbol type ty = string val tyName : ty -> string val tyMake : string -> ty datatype prec = LEFT | RIGHT | NONASSOC datatype control = NODEFAULT | VERBOSE | PARSER_NAME of symbol | FUNCTOR of string | FOOTER of string | DECOMPOSE of string | BLOCKSIZE of string | START_SYM of symbol | NSHIFT of symbol list | POS of string | PURE | PARSE_ARG of string * string | TOKEN_SIG_INFO of string datatype rule = RULE of {lhs : symbol, rhs : symbol list, code : string, prec : symbol option} datatype declData = DECL of {eop : symbol list, keyword : symbol list, nonterm : (symbol * ty option) list option, prec : (prec * (symbol list)) list, change: (symbol list * symbol list) list, term : (symbol * ty option) list option, control : control list, value : (symbol * string) list} val join_decls : declData * declData * inputSource * pos -> declData type parseResult = string * declData * rule list val getResult : parseResult -> string * declData * rule list end smlsharp-1.2.0/src/ml-yacc/src/hdr.sml0000644 000000000000000000001005212050661606017676 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi *) (* 2012-03-21 ohori Defuncteringing. *) (* functor HeaderFun () : HEADER = *) structure Header : HEADER = struct val DEBUG = true type pos = int val lineno = ref 0 val text = ref (nil: string list) type inputSource = {name : string, errStream : TextIO.outstream, inStream : TextIO.instream, errorOccurred : bool ref} val newSource = fn (s : string,i : TextIO.instream ,errs : TextIO.outstream) => {name=s,errStream=errs,inStream=i, errorOccurred = ref false} val errorOccurred = fn (s : inputSource) =>fn () => !(#errorOccurred s) val pr = fn out : TextIO.outstream => fn s : string => TextIO.output(out,s) val error = fn {name,errStream, errorOccurred,...} : inputSource => let val pr = pr errStream in fn l : pos => fn msg : string => (pr name; pr ", line "; pr (Int.toString l); pr ": Error: "; pr msg; pr "\n"; errorOccurred := true) end val warn = fn {name,errStream, errorOccurred,...} : inputSource => let val pr = pr errStream in fn l : pos => fn msg : string => (pr name; pr ", line "; pr (Int.toString l); pr ": Warning: "; pr msg; pr "\n") end datatype prec = LEFT | RIGHT | NONASSOC datatype symbol = SYMBOL of string * pos val symbolName = fn SYMBOL(s,_) => s val symbolPos = fn SYMBOL(_,p) => p val symbolMake = fn sp => SYMBOL sp type ty = string val tyName = fn (i:string) => i val tyMake = fn (i:string) => i datatype control = NODEFAULT | VERBOSE | PARSER_NAME of symbol | FUNCTOR of string | FOOTER of string | DECOMPOSE of string | BLOCKSIZE of string | START_SYM of symbol | NSHIFT of symbol list | POS of string | PURE | PARSE_ARG of string * string | TOKEN_SIG_INFO of string datatype declData = DECL of {eop : symbol list, keyword : symbol list, nonterm : (symbol*ty option) list option, prec : (prec * (symbol list)) list, change: (symbol list * symbol list) list, term : (symbol* ty option) list option, control : control list, value : (symbol * string) list} type rhsData = {rhs:symbol list,code:string, prec:symbol option} list datatype rule = RULE of {lhs : symbol, rhs : symbol list, code : string, prec : symbol option} type parseResult = string * declData * rule list val getResult = fn (p:parseResult) => p fun join_decls (DECL {eop=e,control=c,keyword=k,nonterm=n,prec, change=su,term=t,value=v}:declData, DECL {eop=e',control=c',keyword=k',nonterm=n',prec=prec', change=su',term=t',value=v'} : declData, inputSource,pos) = let val ignore = fn s => (warn inputSource pos ("ignoring duplicate " ^ s ^ " declaration")) val join = fn (e,NONE,NONE) => NONE | (e,NONE,a) => a | (e,a,NONE) => a | (e,a,b) => (ignore e; a) fun mergeControl (nil,a) = [a] | mergeControl (l as h::t,a) = case (h,a) of (PARSER_NAME _,PARSER_NAME n1) => (ignore "%name"; l) | (FUNCTOR _,FUNCTOR _) => (ignore "%header"; l) | (FOOTER _,FOOTER _) => (ignore "%footer"; l) | (DECOMPOSE _,DECOMPOSE _) => (ignore "%decompose"; l) | (BLOCKSIZE _,BLOCKSIZE _) => (ignore "%blockSize"; l) | (PARSE_ARG _,PARSE_ARG _) => (ignore "%arg"; l) | (START_SYM _,START_SYM s) => (ignore "%start"; l) | (POS _,POS _) => (ignore "%pos"; l) | (TOKEN_SIG_INFO _, TOKEN_SIG_INFO _) => (ignore "%token_sig_info"; l) | (NSHIFT a,NSHIFT b) => (NSHIFT (a@b)::t) | _ => h :: mergeControl(t,a) fun loop (nil,r) = r | loop (h::t,r) = loop(t,mergeControl(r,h)) in DECL {eop=e@e',control=loop(c',c),keyword=k'@k, nonterm=join("%nonterm",n,n'), prec=prec@prec', change=su@su', term=join("%term",t,t'),value=v@v'} : declData end end (* structure Header = HeaderFun() *) smlsharp-1.2.0/src/ml-yacc/src/lalr.smi0000644 000000000000000000003032712050661606020057 0ustar00rootroot0000000 0000000 _require "../../basis.smi" _require "../../ml-yacc/lib/base.sig" _require "utils.smi" _require "utils.sig" _require "sigs.sml" _require "grammar.smi" _require "core.smi" _require "coreutils.smi" _require "graph.smi" _require "look.smi" structure Lalr = struct structure Grammar = struct datatype term = datatype IntGrammar.Grammar.term datatype nonterm = datatype IntGrammar.Grammar.nonterm datatype symbol = datatype IntGrammar.Grammar.symbol datatype grammar = datatype IntGrammar.Grammar.grammar end structure IntGrammar = struct structure Grammar = struct datatype term = datatype IntGrammar.Grammar.term datatype nonterm = datatype IntGrammar.Grammar.nonterm datatype symbol = datatype IntGrammar.Grammar.symbol datatype grammar = datatype IntGrammar.Grammar.grammar end structure SymbolAssoc = struct type 'a table = 'a IntGrammar.SymbolAssoc.table type key = IntGrammar.SymbolAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc = struct type 'a table = 'a IntGrammar.NontermAssoc.table type key = IntGrammar.NontermAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end datatype rule = datatype IntGrammar.rule val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string)*(Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end structure Core = struct structure Grammar = struct datatype term = datatype Grammar.term datatype nonterm = datatype Grammar.nonterm datatype symbol = datatype Grammar.symbol datatype grammar = datatype Grammar.grammar end structure IntGrammar = struct structure Grammar = struct datatype term = datatype Grammar.term datatype nonterm = datatype Grammar.nonterm datatype symbol = datatype Grammar.symbol datatype grammar = datatype Grammar.grammar end structure SymbolAssoc = struct type 'a table = 'a IntGrammar.SymbolAssoc.table type key = IntGrammar.SymbolAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc = struct type 'a table = 'a IntGrammar.NontermAssoc.table type key = IntGrammar.NontermAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end datatype rule = datatype IntGrammar.rule val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string)*(Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end datatype item = datatype Core.item val eqItem : item * item -> bool val gtItem : item * item -> bool val insert : item * item list -> item list val union : item list * item list -> item list datatype core = datatype Core.core val gtCore : core * core -> bool val eqCore : core * core -> bool val prItem : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> item -> unit val prCore : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> core -> unit end structure Graph = struct structure Grammar = struct datatype term = datatype Grammar.term datatype nonterm = datatype Grammar.nonterm datatype symbol = datatype Grammar.symbol datatype grammar = datatype Grammar.grammar end structure IntGrammar = struct structure Grammar = struct datatype term = datatype Grammar.term datatype nonterm = datatype Grammar.nonterm datatype symbol = datatype Grammar.symbol datatype grammar = datatype Grammar.grammar end structure SymbolAssoc = struct type 'a table = 'a IntGrammar.SymbolAssoc.table type key = IntGrammar.SymbolAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc = struct type 'a table = 'a IntGrammar.NontermAssoc.table type key = IntGrammar.NontermAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end datatype rule = datatype IntGrammar.rule val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string)*(Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end structure Core = struct structure Grammar = struct datatype term = datatype Grammar.term datatype nonterm = datatype Grammar.nonterm datatype symbol = datatype Grammar.symbol datatype grammar = datatype Grammar.grammar end structure IntGrammar = struct structure Grammar = struct datatype term = datatype Grammar.term datatype nonterm = datatype Grammar.nonterm datatype symbol = datatype Grammar.symbol datatype grammar = datatype Grammar.grammar end structure SymbolAssoc = struct type 'a table = 'a IntGrammar.SymbolAssoc.table type key = IntGrammar.SymbolAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc = struct type 'a table = 'a IntGrammar.NontermAssoc.table type key = IntGrammar.NontermAssoc.key val size : 'a table -> int val empty : 'a table val exists : (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end datatype rule = datatype IntGrammar.rule val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string)*(Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end datatype item = datatype Core.item val eqItem : item * item -> bool val gtItem : item * item -> bool val insert : item * item list -> item list val union : item list * item list -> item list datatype core = datatype Core.core val gtCore : core * core -> bool val eqCore : core * core -> bool val prItem : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> item -> unit val prCore : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> core -> unit end type graph = Graph.graph val edges : Core.core * graph -> {edge:Grammar.symbol,to:Core.core} list val nodes : graph -> Core.core list val shift : graph -> int * Grammar.symbol -> int (* int = state # *) val core : graph -> int -> Core.core (* get core for a state *) val mkGraph : Grammar.grammar -> {graph : graph, produces : Grammar.nonterm -> IntGrammar.rule list, rules : IntGrammar.rule list, epsProds: Core.core -> IntGrammar.rule list} val prGraph: (Grammar.symbol -> string)*(Grammar.nonterm -> string) * (string -> unit) -> graph -> unit end datatype lcore = LCORE of (Core.item * Grammar.term list) list * int val addLookahead : {graph : Graph.graph, first : Grammar.symbol list -> Grammar.term list, eop : Grammar.term list, nonterms : int, nullable: Grammar.nonterm -> bool, produces : Grammar.nonterm -> IntGrammar.rule list, rules : IntGrammar.rule list, epsProds : Core.core -> IntGrammar.rule list, print : string -> unit, termToString : Grammar.term -> string, nontermToString : Grammar.nonterm -> string} -> lcore list val prLcore : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (Grammar.term -> string) * (string -> unit) -> lcore -> unit end smlsharp-1.2.0/src/ml-yacc/src/lalr.sml0000644 000000000000000000003471012050661606020062 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi *) (* 2012-3-21 ohori defunctorized *) (* used in mklrtable.sml as structure Lalr = mkLalr(structure IntGrammar = IntGrammar structure Core = Core structure Graph = Graph structure Look = Look) functor mkLalr ( structure IntGrammar : INTGRAMMAR structure Core : CORE structure Graph : LRGRAPH structure Look: LOOK sharing Graph.Core = Core sharing Graph.IntGrammar = Core.IntGrammar = Look.IntGrammar = IntGrammar) : LALR_GRAPH = *) structure Lalr : LALR_GRAPH = struct open Array List infix 9 sub open IntGrammar.Grammar IntGrammar Core Graph Look structure Graph = Graph structure Core = Core structure Grammar = IntGrammar.Grammar structure IntGrammar = IntGrammar datatype tmpcore = TMPCORE of (item * term list ref) list * int datatype lcore = LCORE of (item * term list) list * int val prLcore = fn a as (SymbolToString,nontermToString,termToString,print) => let val printItem = prItem (SymbolToString,nontermToString,print) val printLookahead = prLook(termToString,print) in fn (LCORE (items,state)) => (print "\n"; print "state "; print (Int.toString state); print " :\n\n"; List.app (fn (item,lookahead) => (print "{"; printItem item; print ","; printLookahead lookahead; print "}\n")) items) end exception Lalr of int structure ItemList = ListOrdSet (struct type elem = item * term list ref val eq = fn ((a,_:term list ref),(b,_:term list ref)) => eqItem(a,b) val gt = fn ((a,_:term list ref),(b,_:term list ref)) => gtItem(a,b) end) structure NontermSet = ListOrdSet (struct type elem = nonterm val gt = gtNonterm val eq = eqNonterm end) (* NTL: nonterms with lookahead *) structure NTL = RbOrdSet (struct type elem = nonterm * term list val gt = fn ((i,_:term list),(j,_:term list)) => gtNonterm(i,j) val eq = fn ((i,_:term list),(j,_:term list)) => eqNonterm(i,j) end) val DEBUG = false val addLookahead = fn {graph,nullable,first,eop, rules,produces,nonterms,epsProds, print,termToString,nontermToString} => let val eop = Look.make_set eop val symbolToString = fn (TERM t) => termToString t | (NONTERM t) => nontermToString t val print = if DEBUG then print else fn _ => () val prLook = if DEBUG then prLook (termToString,print) else fn _ => () val prNonterm = print o nontermToString val prRule = if DEBUG then prRule(symbolToString,nontermToString,print) else fn _ => () val printInt = print o (Int.toString : int -> string) val printItem = prItem(symbolToString,nontermToString,print) (* look_pos: position in the rhs of a rule at which we should start placing lookahead ref cells, i.e. the minimum place at which A -> x .B y, where B is a nonterminal and y =*=> epsilon, or A -> x. is true. Positions are given by the number of symbols before the place. The place before the first symbol is 0, etc. *) val look_pos = let val positions = array(length rules,0) (* rule_pos: calculate place in the rhs of a rule at which we should start placing lookahead ref cells *) fun rule_pos (RULE {rhs,...}) = case (rev rhs) of nil => 0 | (TERM t) :: r => length rhs | (NONTERM n :: r) => let (* f assumes that everything after n in the * rule has proven to be nullable so far. * Remember that the rhs has been reversed, * implying that this is true initially *) (* A -> .z t B y, where y is nullable *) fun f (b, (r as (TERM _ :: _))) = length r (* A -> .z B C y *) | f (c, (NONTERM b :: r)) = if nullable c then f (b, r) else length r + 1 (* A -> .B y, where y is nullable *) | f (_, []) = 0 in f (n, r) end val check_rule = fn (rule as RULE {num,...}) => let val pos = rule_pos rule in (print "look_pos: "; prRule rule; print " = "; printInt pos; print "\n"; update(positions,num,rule_pos rule)) end in app check_rule rules; fn RULE{num,...} => (positions sub num) end (* rest_is_null: true for items of the form A -> x .B y, where y is nullable *) val rest_is_null = fn (ITEM{rule,dot, rhsAfter=NONTERM _ :: _}) => dot >= (look_pos rule) | _ => false (* map core to a new core including only items of the form A -> x. or A -> x. B y, where y =*=> epsilon. It also adds epsilon productions to the core. Each item is given a ref cell to hold the lookahead nonterminals for it.*) val map_core = let val f = fn (item as ITEM {rhsAfter=nil,...},r) => (item,ref nil) :: r | (item,r) => if (rest_is_null item) then (item,ref nil)::r else r in fn (c as CORE (items,state)) => let val epsItems = map (fn rule=>(ITEM{rule=rule,dot=0,rhsAfter=nil}, ref (nil : term list)) ) (epsProds c) in TMPCORE(ItemList.union(List.foldr f [] items,epsItems),state) end end val new_nodes = map map_core (nodes graph) exception Find (* findRef: state * item -> lookahead ref cell for item *) val findRef = let val states = Array.fromList new_nodes val dummy = ref nil in fn (state,item) => let val TMPCORE (l,_) = states sub state in case ItemList.find((item,dummy),l) of SOME (_,look_ref) => look_ref | NONE => (print "find failed: state "; printInt state; print "\nitem =\n"; printItem item; print "\nactual items =\n"; app (fn (i,_) => (printItem i; print "\n")) l; raise Find) end end (* findRuleRefs: state -> rule -> lookahead refs for rule. *) val findRuleRefs = let val shift = shift graph in fn state => (* handle epsilon productions *) fn (rule as RULE {rhs=nil,...}) => [findRef(state,ITEM{rule=rule,dot=0,rhsAfter=nil})] | (rule as RULE {rhs=sym::rest,...}) => let val pos = Int.max(look_pos rule,1) fun scan'(state,nil,pos,result) = findRef(state,ITEM{rule=rule, dot=pos, rhsAfter=nil}) :: result | scan'(state,rhs as sym::rest,pos,result) = scan'(shift(state,sym), rest, pos+1, findRef(state,ITEM{rule=rule, dot=pos, rhsAfter=rhs})::result) (* find first item of the form A -> x .B y, where y =*=> epsilon and x is not epsilon, or A -> x. use scan' to pick up all refs after this point *) fun scan(state,nil,_) = [findRef(state,ITEM{rule=rule,dot=pos,rhsAfter=nil})] | scan(state,rhs,0) = scan'(state,rhs,pos,nil) | scan(state,sym::rest,place) = scan(shift(state,sym),rest,place-1) in scan(shift(state,sym),rest,pos-1) end end (* function to compute for some nonterminal n the set of nonterminals A added through the closure of nonterminal n such that n =c*=> .A x, where x is nullable *) val nonterms_w_null = fn nt => let val collect_nonterms = fn n => List.foldr (fn (rule as RULE {rhs=rhs as NONTERM n :: _,...},r) => (case (rest_is_null(ITEM {dot=0,rhsAfter=rhs,rule=rule})) of true => n :: r | false => r) | (_,r) => r) [] (produces n) fun dfs(a as (n,r)) = if (NontermSet.exists a) then r else List.foldr dfs (NontermSet.insert(n,r)) (collect_nonterms n) in dfs(nt,NontermSet.empty) end val nonterms_w_null = let val data = array(nonterms,NontermSet.empty) fun f n = if n=nonterms then () else (update(data,n,nonterms_w_null (NT n)); f (n+1)) in (f 0; fn (NT nt) => data sub nt) end (* look_info: for some nonterminal n the set of nonterms A added through the closure of the nonterminal such that n =c+=> .Ax and the lookahead accumlated for each nonterm A *) val look_info = fn nt => let val collect_nonterms = fn n => List.foldr (fn (RULE {rhs=NONTERM n :: t,...},r) => (case NTL.find ((n,nil),r) of SOME (key,data) => NTL.insert((n,Look.union(data,first t)),r) | NONE => NTL.insert ((n,first t),r)) | (_,r) => r) NTL.empty (produces n) fun dfs(a as ((key1,data1),r)) = case (NTL.find a) of SOME (_,data2) => NTL.insert((key1,Look.union(data1,data2)),r) | NONE => NTL.fold dfs (collect_nonterms key1) (NTL.insert a) in dfs((nt,nil),NTL.empty) end val look_info = if not DEBUG then look_info else fn nt => (print "look_info of "; prNonterm nt; print "=\n"; let val info = look_info nt in (NTL.app (fn (nt,lookahead) => (prNonterm nt; print ": "; prLook lookahead; print "\n\n")) info; info) end) (* prop_look: propagate lookaheads for nonterms added in the closure of a nonterm. Lookaheads must be propagated from each nonterminal m to all nonterminals { n | m =c+=> nx, where x=*=>epsilon} *) val prop_look = fn ntl => let val upd_lookhd = fn new_look => fn (nt,r) => case NTL.find ((nt,new_look),r) of SOME (_,old_look) => NTL.insert((nt, Look.union(new_look,old_look)),r) | NONE => raise (Lalr 241) val upd_nonterm = fn ((nt,look),r) => NontermSet.fold (upd_lookhd look) (nonterms_w_null nt) r in NTL.fold upd_nonterm ntl ntl end val prop_look = if not DEBUG then prop_look else fn ntl => (print "prop_look =\n"; let val info = prop_look ntl in (NTL.app (fn (nt,lookahead) => (prNonterm nt; print ": "; prLook lookahead; print "\n\n")) info; info) end) (* now put the information from these functions together. Create a function which takes a nonterminal n and returns a list of triplets of (a nonterm added through closure, the lookahead for the nonterm, whether the nonterm should include the lookahead for the nonterminal whose closure is being taken (i.e. first(y) for an item j of the form A -> x .n y and lookahead(j) if y =*=> epsilon) *) val closure_nonterms = let val data = array(nonterms,nil: (nonterm * term list * bool) list) val do_nonterm = fn i => let val nonterms_followed_by_null = nonterms_w_null i val nonterms_added_through_closure = NTL.make_list (prop_look (look_info i)) val result = map (fn (nt,l) => (nt,l,NontermSet.exists (nt,nonterms_followed_by_null)) ) nonterms_added_through_closure in if DEBUG then (print "closure_nonterms = "; prNonterm i; print "\n"; app (fn (nt,look,nullable) => (prNonterm nt; print ":"; prLook look; case nullable of false => print "(false)\n" | true => print "(true)\n")) result; print "\n") else (); result end fun f i = if i=nonterms then () else (update(data,i,do_nonterm (NT i)); f (i+1)) val _ = f 0 in fn (NT i) => data sub i end (* add_nonterm_lookahead: Add lookahead to all completion items for rules added when the closure of a given nonterm in some state is taken. It returns a list of lookahead refs to which the given nonterm's lookahead should be propagated. For each rule, it must trace the shift/gotos in the LR(0) graph to find all items of the form A-> x .B y where y =*=> epsilon or A -> x. *) val add_nonterm_lookahead = fn (nt,state) => let val f = fn ((nt,lookahead,nullable),r) => let val refs = map (findRuleRefs state) (produces nt) val refs = List.concat refs val _ = app (fn r => r := (Look.union (!r,lookahead))) refs in if nullable then refs @ r else r end in List.foldr f [] (closure_nonterms nt) end (* scan_core: Scan a core for all items of the form A -> x .B y. Applies add_nonterm_lookahead to each such B, and then merges first(y) into the list of refs returned by add_nonterm_lookahead. It returns a list of ref * ref list for all the items where y =*=> epsilon *) val scan_core = fn (CORE (l,state)) => let fun f ((item as ITEM{rhsAfter= NONTERM b :: y, dot,rule})::t,r) = (case (add_nonterm_lookahead(b,state)) of nil => r | l => let val first_y = first y val newr = if dot >= (look_pos rule) then (findRef(state,item),l)::r else r in (app (fn r => r := Look.union(!r,first_y)) l; f (t,newr)) end) | f (_ :: t,r) = f (t,r) | f (nil,r) = r in f (l,nil) end (* add end-of-parse symbols to set of items consisting of all items immediately derived from the start symbol *) val add_eop = fn (c as CORE (l,state),eop) => let fun f (item as ITEM {rule,dot,...}) = let val refs = findRuleRefs state rule in (* first take care of kernal items. Add the end-of-parse symbols to the lookahead sets for these items. Epsilon productions of the start symbol do not need to be handled specially because they will be in the kernal also *) app (fn r => r := Look.union(!r,eop)) refs; (* now take care of closure items. These are all nonterminals C which have a derivation S =+=> .C x, where x is nullable *) if dot >= (look_pos rule) then case item of ITEM{rhsAfter=NONTERM b :: _,...} => (case add_nonterm_lookahead(b,state) of nil => () | l => app (fn r => r := Look.union(!r,eop)) l) | _ => () else () end in app f l end val iterate = fn l => let fun f lookahead (nil,done) = done | f lookahead (h::t,done) = let val old = !h in h := Look.union (old,lookahead); if (length (!h)) <> (length old) then f lookahead (t,false) else f lookahead(t,done) end fun g ((from,to)::rest,done) = let val new_done = f (!from) (to,done) in g (rest,new_done) end | g (nil,done) = done fun loop true = () | loop false = loop (g (l,true)) in loop false end val lookahead = List.concat (map scan_core (nodes graph)) (* used to scan the item list of a TMPCORE and remove the items not being reduced *) val create_lcore_list = fn ((item as ITEM {rhsAfter=nil,...},ref l),r) => (item,l) :: r | (_,r) => r in add_eop(Graph.core graph 0,eop); iterate lookahead; map (fn (TMPCORE (l,state)) => LCORE (List.foldr create_lcore_list [] l, state)) new_nodes end end smlsharp-1.2.0/src/ml-yacc/src/look.smi0000644 000000000000000000000561412050661606020072 0ustar00rootroot0000000 0000000 _require "../../basis.smi" _require "../../ml-yacc/lib/base.sig" _require "utils.smi" _require "utils.sig" _require "sigs.sml" _require "grammar.smi" structure Look = struct structure Grammar = struct datatype term = datatype IntGrammar.Grammar.term datatype nonterm = datatype IntGrammar.Grammar.nonterm datatype symbol = datatype IntGrammar.Grammar.symbol datatype grammar = datatype IntGrammar.Grammar.grammar end structure IntGrammar = struct structure Grammar = struct datatype term = datatype IntGrammar.Grammar.term datatype nonterm = datatype IntGrammar.Grammar.nonterm datatype symbol = datatype IntGrammar.Grammar.symbol datatype grammar = datatype IntGrammar.Grammar.grammar end structure SymbolAssoc = struct type 'a table = 'a IntGrammar.SymbolAssoc.table type key = IntGrammar.SymbolAssoc.key val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end structure NontermAssoc = struct type 'a table = 'a IntGrammar.NontermAssoc.table type key = IntGrammar.NontermAssoc.key val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end datatype rule = datatype IntGrammar.rule val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end val union : Grammar.term list * Grammar.term list -> Grammar.term list val make_set : Grammar.term list -> Grammar.term list val mkFuncs : {rules : IntGrammar.rule list, nonterms : int, produces : Grammar.nonterm -> IntGrammar.rule list} -> {nullable: Grammar.nonterm -> bool, first : Grammar.symbol list -> Grammar.term list} val prLook : (Grammar.term -> string) * (string -> unit) -> Grammar.term list -> unit end smlsharp-1.2.0/src/ml-yacc/src/look.sml0000644 000000000000000000001225112050661606020070 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi *) (* 2012-3-21 ohori defunctorized *) (* used in mklrtable.sml as structure Look = mkLook(structure IntGrammar = IntGrammar) functor mkLook (structure IntGrammar : INTGRAMMAR) : LOOK = *) structure Look : LOOK = struct open Array List infix 9 sub structure Grammar = IntGrammar.Grammar structure IntGrammar = IntGrammar open Grammar IntGrammar structure TermSet = ListOrdSet (struct type elem = term val eq = eqTerm val gt = gtTerm end) val union = TermSet.union val make_set = TermSet.make_set val prLook = fn (termToString:term->string,print:string -> unit) => let val printTerm = print o termToString fun f nil = print " " | f (a :: b) = (printTerm a; print " "; f b) in f end structure NontermSet = ListOrdSet (struct type elem = nonterm val eq = eqNonterm val gt = gtNonterm end) val mkFuncs = fn {rules : rule list, nonterms : int, produces : nonterm -> rule list} => let (* nullable: create a function which tells if a nonterminal is nullable or not. Method: Keep an array of booleans. The nth entry is true if NT i is nullable. If is false if we don't know whether NT i is nullable. Keep a list of rules whose remaining rhs we must prove to be null. First, scan the list of rules and remove those rules whose rhs contains a terminal. These rules are not nullable. Now iterate through the rules that were left: (1) if there is no remaining rhs we have proved that the rule is nullable, mark the nonterminal for the rule as nullable (2) if the first element of the remaining rhs is nullable, place the rule back on the list with the rest of the rhs (3) if we don't know whether the nonterminal is nullable, place it back on the list (4) repeat until the list does not change. We have found all the possible nullable rules. *) val nullable = let fun add_rule (RULE { lhs, rhs, ... }, r) = let fun addNT (TERM _, _) = NONE | addNT (_, NONE) = NONE | addNT (NONTERM (NT i), SOME ntlist) = SOME (i :: ntlist) in case foldr addNT (SOME []) rhs of NONE => r | SOME ntlist => (lhs, ntlist) :: r end val items = List.foldr add_rule [] rules val nullable = array(nonterms,false) fun f ((NT i,nil),(l,_)) = (update(nullable,i,true); (l,true)) | f (a as (lhs,(h::t)),(l,change)) = (case (nullable sub h) of false => (a::l,change) | true => ((lhs,t)::l,true)) fun prove(l,true) = prove(List.foldr f (nil,false) l) | prove(_,false) = () in (prove(items,true); fn (NT i) => nullable sub i) end (* scanRhs : look at a list of symbols, scanning past nullable nonterminals, applying addSymbol to the symbols scanned *) fun scanRhs addSymbol = let fun f (nil,result) = result | f ((sym as NONTERM nt) :: rest,result) = if nullable nt then f (rest,addSymbol(sym,result)) else addSymbol(sym,result) | f ((sym as TERM _) :: _,result) = addSymbol(sym,result) in f end (* accumulate: look at the start of the right-hand-sides of rules, looking past nullable nonterminals, applying addObj to the visible symbols. *) fun accumulate(rules, empty, addObj) = List.foldr (fn (RULE {rhs,...},r) =>(scanRhs addObj) (rhs,r)) empty rules val nontermMemo = fn f => let val lookup = array(nonterms,nil) fun g i = if i=nonterms then () else (update(lookup,i,f (NT i)); g (i+1)) in (g 0; fn (NT j) => lookup sub j) end (* first1: the FIRST set of a nonterminal in the grammar. Only looks at other terminals, but it is clever enough to move past nullable nonterminals at the start of a production. *) fun first1 nt = accumulate(produces nt, TermSet.empty, fn (TERM t, set) => TermSet.insert (t,set) | (_, set) => set) val first1 = nontermMemo(first1) (* starters1: given a nonterminal "nt", return the set of nonterminals which can start its productions. Looks past nullables, but doesn't recurse *) fun starters1 nt = accumulate(produces nt, nil, fn (NONTERM nt, set) => NontermSet.insert(nt,set) | (_, set) => set) val starters1 = nontermMemo(starters1) (* first: maps a nonterminal to its first-set. Get all the starters of the nonterminal, get the first1 terminal set of each of these, union the whole lot together *) fun first nt = List.foldr (fn (a,r) => TermSet.union(r,first1 a)) [] (NontermSet.closure (NontermSet.singleton nt, starters1)) val first = nontermMemo(first) (* prefix: all possible terminals starting a symbol list *) fun prefix symbols = scanRhs (fn (TERM t,r) => TermSet.insert(t,r) | (NONTERM nt,r) => TermSet.union(first nt,r)) (symbols,nil) fun nullable_string ((TERM t) :: r) = false | nullable_string ((NONTERM nt) :: r) = (case (nullable nt) of true => nullable_string r | f => f) | nullable_string nil = true in {nullable = nullable, first = prefix} end end smlsharp-1.2.0/src/ml-yacc/src/mklrtable.smi0000644 000000000000000000000611412050661606021077 0ustar00rootroot0000000 0000000 _require "../../basis.smi" _require "../../ml-yacc/lib/base.sig" _require "../../ml-yacc/lib/lrtable.smi" _require "utils.smi" _require "core.smi" _require "coreutils.smi" _require "graph.smi" _require "grammar.smi" _require "look.smi" _require "lalr.smi" _require "utils.sig" _require "sigs.sml" structure MakeTable = struct structure Grammar = struct datatype term = datatype IntGrammar.Grammar.term datatype nonterm = datatype IntGrammar.Grammar.nonterm datatype symbol = datatype IntGrammar.Grammar.symbol datatype grammar = datatype IntGrammar.Grammar.grammar end structure Errs = struct structure LrTable = struct datatype pairlist = datatype LrTable.pairlist datatype state = datatype LrTable.state datatype term = datatype LrTable.term datatype nonterm = datatype LrTable.nonterm datatype action = datatype LrTable.action type table = LrTable.table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto = LrTable.Goto val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end datatype err = RR of LrTable.term * LrTable.state * int * int | SR of LrTable.term * LrTable.state * int | NS of LrTable.term * int | NOT_REDUCED of int | START of int val summary : err list -> {rr : int, sr: int, not_reduced : int, start : int,nonshift : int} val printSummary : (string -> unit) -> err list -> unit end structure LrTable = struct datatype pairlist = datatype LrTable.pairlist datatype state = datatype LrTable.state datatype term = datatype LrTable.term datatype nonterm = datatype LrTable.nonterm datatype action = datatype LrTable.action type table = LrTable.table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto = LrTable.Goto val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end val mkTable : Grammar.grammar * bool -> LrTable.table * (LrTable.state -> Errs.err list) * ((string -> unit) -> LrTable.state -> unit) * Errs.err list end smlsharp-1.2.0/src/ml-yacc/src/mklrtable.sml0000644 000000000000000000003203512050661606021103 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi *) (* 2012-3-21 ohori defunctorized. *) (* in yacc.sml structure MakeTable = mkMakeLrTable(structure IntGrammar =IntGrammar structure LrTable = LrTable) functor mkMakeLrTable (structure IntGrammar : INTGRAMMAR structure LrTable : LR_TABLE sharing type LrTable.term = IntGrammar.Grammar.term sharing type LrTable.nonterm = IntGrammar.Grammar.nonterm ) : MAKE_LR_TABLE = *) structure MakeTable = struct open Array List infix 9 sub (* structure Core = mkCore(structure IntGrammar = IntGrammar) structure CoreUtils = mkCoreUtils(structure IntGrammar = IntGrammar structure Core = Core) structure Graph = mkGraph(structure IntGrammar = IntGrammar structure Core = Core structure CoreUtils = CoreUtils) *) (* structure Look = mkLook(structure IntGrammar = IntGrammar) structure Lalr = mkLalr(structure IntGrammar = IntGrammar structure Core = Core structure Graph = Graph structure Look = Look) *) structure LrTable = LrTable structure IntGrammar = IntGrammar structure Grammar = IntGrammar.Grammar structure GotoList = ListOrdSet (struct type elem = Grammar.nonterm * LrTable.state val eq = fn ((Grammar.NT a,_:LrTable.state),(Grammar.NT b,_:LrTable.state)) => a=b val gt = fn ((Grammar.NT a,_:LrTable.state),(Grammar.NT b,_:LrTable.state)) => a>b end) structure Errs : LR_ERRS = struct structure LrTable = LrTable datatype err = RR of LrTable.term * LrTable.state * int * int | SR of LrTable.term * LrTable.state * int | NOT_REDUCED of int | NS of LrTable.term * int | START of int val summary = fn l => let val numRR = ref 0 val numSR = ref 0 val numSTART = ref 0 val numNOT_REDUCED = ref 0 val numNS = ref 0 fun loop (h::t) = (case h of RR _ => numRR := !numRR+1 | SR _ => numSR := !numSR+1 | START _ => numSTART := !numSTART+1 | NOT_REDUCED _ => numNOT_REDUCED := !numNOT_REDUCED+1 | NS _ => numNS := !numNS+1; loop t) | loop nil = {rr = !numRR, sr = !numSR, start = !numSTART, not_reduced = !numNOT_REDUCED, nonshift = !numNS} in loop l end val printSummary = fn say => fn l => let val {rr,sr,start, not_reduced,nonshift} = summary l val say_plural = fn (i,s) => (say (Int.toString i); say " "; case i of 1 => (say s) | _ => (say s; say "s")) val say_error = fn (args as (i,s)) => case i of 0 => () | i => (say_plural args; say "\n") in say_error(rr,"reduce/reduce conflict"); say_error(sr,"shift/reduce conflict"); if nonshift<>0 then (say "non-shiftable terminal used on the rhs of "; say_plural(start,"rule"); say "\n") else (); if start<>0 then (say "start symbol used on the rhs of "; say_plural(start,"rule"); say "\n") else (); if not_reduced<>0 then (say_plural(not_reduced,"rule"); say " not reduced\n") else () end end open IntGrammar Grammar Errs LrTable Core (* rules for resolving conflicts: shift/reduce: If either the terminal or the rule has no precedence, a shift/reduce conflict is reported. A shift is chosen for the table. If both have precedences, the action with the higher precedence is chosen. If the precedences are equal, neither the shift nor the reduce is chosen. reduce/reduce: A reduce/reduce conflict is reported. The lowest numbered rule is chosen for reduction. *) (* method for filling tables - first compute the reductions called for in a state, then add the shifts for the state to this information. How to compute the reductions: A reduction initially is given as an item and a lookahead set calling for reduction by that item. The first reduction is mapped to a list of terminal * rule pairs. Each additional reduction is then merged into this list and reduce/reduce conflicts are resolved according to the rule given. Missed Errors: This method misses some reduce/reduce conflicts that exist because some reductions are removed from the list before conflicting reductions can be compared against them. All reduce/reduce conflicts, however, can be generated given a list of the reduce/reduce conflicts generated by this method. This can be done by taking the transitive closure of the relation given by the list. If reduce/reduce (a,b) and reduce/reduce (b,c) are true, then reduce/reduce (a,c) is true. The relation is symmetric and transitive. Adding shifts: Finally scan the list merging in shifts and resolving conflicts according to the rule given. Missed Shift/Reduce Errors: Some errors may be missed by this method because some reductions were removed as the result of reduce/reduce conflicts. For a shift/reduce conflict of term a, reduction by rule n, shift/reduce conficts exist for all rules y such that reduce/reduce (x,y) or reduce/reduce (y,x) is true. *) fun unREDUCE (REDUCE num) = num | unREDUCE _ = raise Fail "bug: unexpected action (expected REDUCE)" val mergeReduces = let val merge = fn state => let fun f (j as (pair1 as (T t1,action1)) :: r1, k as (pair2 as (T t2,action2)) :: r2,result,errs) = if t1 < t2 then f(r1,k,pair1::result,errs) else if t1 > t2 then f(j,r2,pair2::result,errs) else let val num1 = unREDUCE action1 val num2 = unREDUCE action2 val errs = RR(T t1,state,num1,num2) :: errs val action = if num1 < num2 then pair1 else pair2 in f(r1,r2,action::result,errs) end | f (nil,nil,result,errs) = (rev result,errs) | f (pair1::r,nil,result,errs) = f(r,nil,pair1::result,errs) | f (nil,pair2 :: r,result,errs) = f(nil,r,pair2::result,errs) in f end in fn state => fn ((ITEM {rule=RULE {rulenum,...},...}, lookahead), (reduces,errs)) => let val action = REDUCE rulenum val actions = map (fn a=>(a,action)) lookahead in case reduces of nil => (actions,errs) | _ => merge state (reduces,actions,nil,errs) end end val computeActions = fn (rules,precedence,graph,defaultReductions) => let val rulePrec = let val precData = array(length rules,NONE : int option) in app (fn RULE {rulenum=r,precedence=p,...} => update(precData,r,p)) rules; fn i => precData sub i end fun mergeShifts(state,shifts,nil) = (shifts,nil) | mergeShifts(state,nil,reduces) = (reduces,nil) | mergeShifts(state,shifts,reduces) = let fun f(shifts as (pair1 as (T t1,_)) :: r1, reduces as (pair2 as (T t2,action)) :: r2, result,errs) = if t1 < t2 then f(r1,reduces,pair1 :: result,errs) else if t1 > t2 then f(shifts,r2,pair2 :: result,errs) else let val rulenum = unREDUCE action val (term1,_) = pair1 in case (precedence term1,rulePrec rulenum) of (SOME i,SOME j) => if i>j then f(r1,r2,pair1 :: result,errs) else if j>i then f(r1,r2,pair2 :: result,errs) else f(r1,r2,(T t1, ERROR)::result,errs) | (_,_) => f(r1,r2,pair1 :: result, SR (term1,state,rulenum)::errs) end | f (nil,nil,result,errs) = (rev result,errs) | f (nil,h::t,result,errs) = f (nil,t,h::result,errs) | f (h::t,nil,result,errs) = f (t,nil,h::result,errs) in f(shifts,reduces,nil,nil) end fun mapCore ({edge=symbol,to=CORE (_,state)}::r,shifts,gotos) = (case symbol of (TERM t) => mapCore (r,(t,SHIFT(STATE state))::shifts,gotos) | (NONTERM nt) => mapCore(r,shifts,(nt,STATE state)::gotos) ) | mapCore (nil,shifts,gotos) = (rev shifts,rev gotos) fun pruneError ((_,ERROR)::rest) = pruneError rest | pruneError (a::rest) = a :: pruneError rest | pruneError nil = nil in fn (Lalr.LCORE (reduceItems,state),c as CORE (shiftItems,state')) => if DEBUG andalso (state <> state') then let exception MkTable in raise MkTable end else let val (shifts,gotos) = mapCore (Graph.edges(c,graph),nil,nil) val tableState = STATE state in case reduceItems of nil => ((shifts,ERROR),gotos,nil) | h :: nil => let val (ITEM {rule=RULE {rulenum,...},...}, l) = h val (reduces,_) = mergeReduces tableState (h,(nil,nil)) val (actions,errs) = mergeShifts(tableState, shifts,reduces) val actions' = pruneError actions val (actions,default) = let fun hasReduce (nil,actions) = (rev actions,REDUCE rulenum) | hasReduce ((a as (_,SHIFT _)) :: r,actions) = hasReduce(r,a::actions) | hasReduce (_ :: r,actions) = hasReduce(r,actions) fun loop (nil,actions) = (rev actions,ERROR) | loop ((a as (_,SHIFT _)) :: r,actions) = loop(r,a::actions) | loop ((a as (_,REDUCE _)) :: r,actions) = hasReduce(r,actions) | loop (_ :: r,actions) = loop(r,actions) in if defaultReductions andalso length actions = length actions' then loop(actions,nil) else (actions',ERROR) end in ((actions,default), gotos,errs) end | l => let val (reduces,errs1) = List.foldr (mergeReduces tableState) (nil,nil) l val (actions,errs2) = mergeShifts(tableState,shifts,reduces) in ((pruneError actions,ERROR),gotos,errs1@errs2) end end end val mkTable = fn (grammar as GRAMMAR{rules,terms,nonterms,start, precedence,termToString,noshift, nontermToString,eop},defaultReductions) => let val symbolToString = fn (TERM t) => termToString t | (NONTERM nt) => nontermToString nt val {rules,graph,produces,epsProds,...} = Graph.mkGraph grammar val {nullable,first} = Look.mkFuncs{rules=rules,produces=produces,nonterms=nonterms} val lcores = Lalr.addLookahead {graph=graph, nullable=nullable, produces=produces, eop=eop, nonterms=nonterms, first=first, rules=rules, epsProds=epsProds, print=(fn s=>TextIO.output(TextIO.stdOut,s)), termToString = termToString, nontermToString = nontermToString} fun zip (h::t,h'::t') = (h,h') :: zip(t,t') | zip (nil,nil) = nil | zip _ = let exception MkTable in raise MkTable end fun unzip l = let fun f ((a,b,c)::r,j,k,l) = f(r,a::j,b::k,c::l) | f (nil,j,k,l) = (rev j,rev k,rev l) in f(l,nil,nil,nil) end val (actions,gotos,errs) = let val doState = computeActions(rules,precedence,graph, defaultReductions) in unzip (map doState (zip(lcores,Graph.nodes graph))) end (* add goto from state 0 to a new state. The new state has accept actions for all of the end-of-parse symbols *) val (actions,gotos,errs) = case gotos of nil => (actions,gotos,errs) | h :: t => let val newStateActions = (map (fn t => (t,ACCEPT)) (Look.make_set eop),ERROR) val state0Goto = GotoList.insert((start,STATE (length actions)),h) in (actions @ [newStateActions], state0Goto :: (t @ [nil]), errs @ [nil]) end val startErrs = List.foldr (fn (RULE {rhs,rulenum,...},r) => if (exists (fn NONTERM a => a=start | _ => false) rhs) then START rulenum :: r else r) [] rules val nonshiftErrs = List.foldr (fn (RULE {rhs,rulenum,...},r) => (List.foldr (fn (nonshift,r) => if (exists (fn TERM a => a=nonshift | _ => false) rhs) then NS(nonshift,rulenum) :: r else r) r noshift) ) [] rules val notReduced = let val ruleReduced = array(length rules,false) val test = fn REDUCE i => update(ruleReduced,i,true) | _ => () val _ = app (fn (actions,default) => (app (fn (_,r) => test r) actions; test default) ) actions; fun scan (i,r) = if i >= 0 then scan(i-1, if ruleReduced sub i then r else NOT_REDUCED i :: r) else r in scan(Array.length ruleReduced-1,nil) end handle Subscript => (if DEBUG then print "rules not numbered correctly!" else (); nil) val numstates = length actions val allErrs = startErrs @ notReduced @ nonshiftErrs @ (List.concat errs) fun convert_to_pairlist(nil : ('a * 'b) list): ('a,'b) pairlist = EMPTY | convert_to_pairlist ((a,b) :: r) = PAIR(a,b,convert_to_pairlist r) in (mkLrTable {actions=Array.fromList(map (fn (a,b) => (convert_to_pairlist a,b)) actions), gotos=Array.fromList (map convert_to_pairlist gotos), numRules=length rules,numStates=length actions, initialState=STATE 0}, let val errArray = Array.fromList errs in fn (STATE state) => errArray sub state end, fn print => let val printCore = prCore(symbolToString,nontermToString,print) val core = Graph.core graph in fn STATE state => printCore (if state=(numstates-1) then Core.CORE (nil,state) else (core state)) end, allErrs) end end smlsharp-1.2.0/src/ml-yacc/src/mkprstruct.smi0000644 000000000000000000000245212050661606021341 0ustar00rootroot0000000 0000000 _require "../../basis.smi" _require "../../ml-yacc/lib/base.sig" _require "../../ml-yacc/lib/lrtable.smi" _require "utils.sig" _require "sigs.sml" _require "mklrtable.smi" _require "shrink.smi" structure PrintStruct = struct structure LrTable = struct datatype pairlist = datatype LrTable.pairlist datatype state = datatype LrTable.state datatype term = datatype LrTable.term datatype nonterm = datatype LrTable.nonterm datatype action = datatype LrTable.action type table = LrTable.table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto = ShrinkLrTable.LrTable.Goto val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end val makeStruct : {table : LrTable.table, name : string, print: string -> unit, verbose : bool} -> int end smlsharp-1.2.0/src/ml-yacc/src/mkprstruct.sml0000644 000000000000000000001534712050661606021353 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi *) (* 2012-3-21 ohori defuncterized yacc.sml is the only user as structure PrintStruct = mkPrintStruct(structure LrTable = MakeTable.LrTable (structure LrTable : LR_TABLE structure ShrinkLrTable : SHRINK_LR_TABLE sharing LrTable = ShrinkLrTable.LrTable) *) local structure LrTable = MakeTable.LrTable in structure PrintStruct : PRINT_STRUCT = struct open Array List infix 9 sub structure LrTable = LrTable open ShrinkLrTable LrTable (* lineLength = approximately the largest number of characters to allow on a line when printing out an encode string *) val lineLength = 72 (* maxLength = length of a table entry. All table entries are encoded using two 16-bit integers, one for the terminal number and the other for the entry. Each integer is printed as two characters (low byte, high byte), using the ML ascii escape sequence. We need 4 characters for each escape sequence and 16 characters for each entry *) val maxLength = 16 (* number of entries we can fit on a row *) val numEntries = lineLength div maxLength (* convert integer between 0 and 255 to the three character ascii decimal escape sequence for it *) val chr = let val lookup = Array.array(256,"\000") val intToString = fn i => if i>=100 then "\\" ^ (Int.toString i) else if i>=10 then "\\0" ^ (Int.toString i) else "\\00" ^ (Int.toString i) fun loop n = if n=256 then () else (Array.update(lookup,n,intToString n); loop (n+1)) in loop 0; fn i => lookup sub i end val makeStruct = fn {table,name,print,verbose} => let val states = numStates table val rules = numRules table fun printPairList (prEntry : 'a * 'b -> unit) l = let fun f (EMPTY,_) = () | f (PAIR(a,b,r),count) = if count >= numEntries then (print "\\\n\\"; prEntry(a,b); f(r,1)) else (prEntry(a,b); f(r,(count+1))) in f(l,0) end val printList : ('a -> unit) -> 'a list -> unit = fn prEntry => fn l => let fun f (nil,_) = () | f (a :: r,count) = if count >= numEntries then (print "\\\n\\"; prEntry a; f(r,1)) else (prEntry a; f(r,count+1)) in f(l,0) end val prEnd = fn _ => print "\\000\\000\\\n\\" fun printPairRow prEntry = let val printEntries = printPairList prEntry in fn l => (printEntries l; prEnd()) end fun printPairRowWithDefault (prEntry,prDefault) = let val f = printPairRow prEntry in fn (l,default) => (prDefault default; f l) end fun printTable (printRow,count) = (print "\"\\\n\\"; let fun f i = if i=count then () else (printRow i; f (i+1)) in f 0 end; print"\"\n") val printChar = print o chr (* print an integer between 0 and 2^16-1 as a 2-byte character, with the low byte first *) val printInt = fn i => (printChar (i mod 256); printChar (i div 256)) (* encode actions as integers: ACCEPT => 0 ERROR => 1 SHIFT i => 2 + i REDUCE rulenum => numstates+2+rulenum *) val printAction = fn (REDUCE rulenum) => printInt (rulenum+states+2) | (SHIFT (STATE i)) => printInt (i+2) | ACCEPT => printInt 0 | ERROR => printInt 1 val printTermAction = fn (T t,action) => (printInt (t+1); printAction action) val printGoto = fn (NT n,STATE s) => (printInt (n+1); printInt s) val ((rowCount,rowNumbers,actionRows),entries)= shrinkActionList(table,verbose) val getActionRow = let val a = Array.fromList actionRows in fn i => a sub i end val printGotoRow : int -> unit = let val f = printPairRow printGoto val g = describeGoto table in fn i => f (g (STATE i)) end val printActionRow = let val f = printPairRowWithDefault(printTermAction,printAction) in fn i => f (getActionRow i) end in print "val "; print name; print "="; print "let val actionRows =\n"; printTable(printActionRow,rowCount); print "val actionRowNumbers =\n\""; printList (fn i => printInt i) rowNumbers; print "\"\n"; print "val gotoT =\n"; printTable(printGotoRow,states); print "val numstates = "; print (Int.toString states); print "\nval numrules = "; print (Int.toString rules); print "\n\ \val s = ref \"\" and index = ref 0\n\ \val string_to_int = fn () => \n\ \let val i = !index\n\ \in index := i+2; Char.ord(String.sub(!s,i)) + Char.ord(String.sub(!s,i+1)) * 256\n\ \end\n\ \val string_to_list = fn s' =>\n\ \ let val len = String.size s'\n\ \ fun f () =\n\ \ if !index < len then string_to_int() :: f()\n\ \ else nil\n\ \ in index := 0; s := s'; f ()\n\ \ end\n\ \val string_to_pairlist = fn (conv_key,conv_entry) =>\n\ \ let fun f () =\n\ \ case string_to_int()\n\ \ of 0 => EMPTY\n\ \ | n => PAIR(conv_key (n-1),conv_entry (string_to_int()),f())\n\ \ in f\n\ \ end\n\ \val string_to_pairlist_default = fn (conv_key,conv_entry) =>\n\ \ let val conv_row = string_to_pairlist(conv_key,conv_entry)\n\ \ in fn () =>\n\ \ let val default = conv_entry(string_to_int())\n\ \ val row = conv_row()\n\ \ in (row,default)\n\ \ end\n\ \ end\n\ \val string_to_table = fn (convert_row,s') =>\n\ \ let val len = String.size s'\n\ \ fun f ()=\n\ \ if !index < len then convert_row() :: f()\n\ \ else nil\n\ \ in (s := s'; index := 0; f ())\n\ \ end\n\ \local\n\ \ val memo = Array.array(numstates+numrules,ERROR)\n\ \ val _ =let fun g i=(Array.update(memo,i,REDUCE(i-numstates)); g(i+1))\n\ \ fun f i =\n\ \ if i=numstates then g i\n\ \ else (Array.update(memo,i,SHIFT (STATE i)); f (i+1))\n\ \ in f 0 handle Subscript => ()\n\ \ end\n\ \in\n\ \val entry_to_action = fn 0 => ACCEPT | 1 => ERROR | j => Array.sub(memo,(j-2))\n\ \end\n\ \val gotoT=Array.fromList(string_to_table(string_to_pairlist(NT,STATE),gotoT))\n\ \val actionRows=string_to_table(string_to_pairlist_default(T,entry_to_action),actionRows)\n\ \val actionRowNumbers = string_to_list actionRowNumbers\n\ \val actionT = let val actionRowLookUp=\n\ \let val a=Array.fromList(actionRows) in fn i=>Array.sub(a,i) end\n\ \in Array.fromList(map actionRowLookUp actionRowNumbers)\n\ \end\n\ \in LrTable.mkLrTable {actions=actionT,gotos=gotoT,numRules=numrules,\n\ \numStates=numstates,initialState=STATE "; print (Int.toString ((fn (STATE i) => i) (initialState table))); print "}\nend\n"; entries end end end smlsharp-1.2.0/src/ml-yacc/src/ml-yacc.cm0000644 000000000000000000000226012050661606020254 0ustar00rootroot0000000 0000000 (* Modified by Katsuhiro Ueno on 2011-Nov-25 to port ml-yacc to SML#. *) Library structure ExportParseGen is # if defined (NEW_CM) $/basis.cm $/ml-yacc-lib.cm # else ../lib/ml-yacc-lib.cm # endif (* (* Ueno (2011-11-25): rearranged for MLton. *) sigs.sml utils.sig *) utils.sig sigs.sml hdr.sml (* Ueno (2011-11-25): added the following condition for MLton. *) #if defined(SMLNJ_VERSION) (* During installation we rely on pre-generated files * to avoid certain chicken-and-egg problems. *) #if defined(NO_ML_YACC) yacc.grm.sig yacc.grm.sml #else yacc.grm #endif (* During installation we rely on pre-generated files * to avoid certain chicken-and-egg problems. *) #if defined(NO_ML_LEX) yacc.lex.sml #else yacc.lex #endif #else (* for MLton *) yacc.grm.sig yacc.grm.sml yacc.lex.sml #endif (* SMLNJ_VERSION *) parse.sml utils.sml grammar.sml core.sml coreutils.sml graph.sml look.sml lalr.sml mklrtable.sml mkprstruct.sml shrink.sml verbose.sml absyn.sig absyn.sml yacc.sml link.sml export-yacc.sml (* Ueno (2011-11-25): added the following for SML# and MLton. *) #if defined(SMLNJ_VERSION) #else ml-yacc.sml #endif smlsharp-1.2.0/src/ml-yacc/src/ml-yacc.smi0000644 000000000000000000000006612050661606020447 0ustar00rootroot0000000 0000000 _require "../../basis.smi" _require "export-yacc.smi" smlsharp-1.2.0/src/ml-yacc/src/ml-yacc.sml0000755 000000000000000000000016612050661606020456 0ustar00rootroot0000000 0000000 val status = ExportParseGen.parseGen (CommandLine.name (), CommandLine.arguments ()); val () = OS.Process.exit status smlsharp-1.2.0/src/ml-yacc/src/parse.smi0000644 000000000000000000000244512050661606020237 0ustar00rootroot0000000 0000000 _require "../../basis.smi" _require "../../ml-yacc/lib/base.sig" _require "../../ml-yacc/lib/parser2.smi" _require "utils.sig" _require "sigs.sml" _require "hdr.smi" _require "yacc.lex.smi" _require "yacc.grm.smi" structure ParseGenParser = struct structure Header = struct type pos = Header.pos val lineno : pos ref val text : string list ref type inputSource = Header.inputSource val newSource : string * TextIO.instream * TextIO.outstream -> inputSource val error : inputSource -> pos -> string -> unit val warn : inputSource -> pos -> string -> unit val errorOccurred : inputSource -> unit -> bool datatype symbol = datatype Header.symbol val symbolName : symbol -> string val symbolPos : symbol -> pos val symbolMake : string * int -> symbol type ty = Header.ty val tyName : ty -> string val tyMake : string -> ty datatype prec = datatype Header.prec datatype control = datatype Header.control datatype rule = datatype Header.rule datatype declData = datatype Header.declData val join_decls : declData * declData * inputSource * pos -> declData type parseResult = Header.parseResult val getResult : parseResult -> string * declData * rule list end val parse : string -> Header.parseResult * Header.inputSource end smlsharp-1.2.0/src/ml-yacc/src/parse.sml0000644 000000000000000000000424612050661606020243 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi *) (* 2012-3-21 ohori defuncterized yacc.sml is the only user as structure ParseGenParser = ParseGenParserFun(structure Parser = Parser structure Header = Header) *) local structure Lex = LexMLYACC structure ParserData = LrVals.ParserData structure LrParser = ParserData.LrParser (* structure Parser = JoinWithArg(structure Lex=Lex structure ParserData = LrVals.ParserData structure LrParser= LrParser) *) structure Parser = struct structure Token = ParserData.Token structure Stream = LrParser.Stream exception ParseError = LrParser.ParseError type arg = ParserData.arg type lexarg = Lex.UserDeclarations.arg type pos = ParserData.pos type result = ParserData.result type svalue = ParserData.svalue val makeLexer = fn s => fn arg => LrParser.Stream.streamify (Lex.makeLexer s arg) val parse = fn (lookahead,lexer,error,arg) => (fn (a,b) => (ParserData.Actions.extract a,b)) (LrParser.parse {table = ParserData.table, lexer=lexer, lookahead=lookahead, saction = ParserData.Actions.actions, arg=arg, void= ParserData.Actions.void, ec = {is_keyword = ParserData.EC.is_keyword, noShift = ParserData.EC.noShift, preferred_change = ParserData.EC.preferred_change, errtermvalue = ParserData.EC.errtermvalue, error=error, showTerminal = ParserData.EC.showTerminal, terms = ParserData.EC.terms}} ) val sameToken = Token.sameToken end in structure ParseGenParser : PARSE_GEN_PARSER = struct structure Header = Header val parse = fn file => let val in_str = TextIO.openIn file val source = Header.newSource(file,in_str,TextIO.stdOut) val error = fn (s : string,i:int,_) => Header.error source i s val stream = Parser.makeLexer (fn i => (TextIO.inputN(in_str,i))) source val (result,_) = (Header.lineno := 1; Header.text := nil; Parser.parse(15,stream,error,source)) in (TextIO.closeIn in_str; (result,source)) end end end smlsharp-1.2.0/src/ml-yacc/src/README0000644 000000000000000000000016112050661606017264 0ustar00rootroot0000000 0000000 These are the sources for the parser-generator part of ML-Yacc. The file FILES explains what each file contains. smlsharp-1.2.0/src/ml-yacc/src/shrink.smi0000644 000000000000000000000250312050661606020416 0ustar00rootroot0000000 0000000 _require "../../basis.smi" _require "../../ml-yacc/lib/base.sig" _require "../../ml-yacc/lib/lrtable.smi" _require "utils.sig" _require "sigs.sml" _require "mklrtable.smi" structure ShrinkLrTable = struct structure LrTable = struct datatype pairlist = datatype LrTable.pairlist datatype state = datatype LrTable.state datatype term = datatype LrTable.term datatype nonterm = datatype LrTable.nonterm datatype action = datatype LrTable.action type table = LrTable.table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto = LrTable.Goto val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end val shrinkActionList : LrTable.table * bool -> (int * int list * ((LrTable.term,LrTable.action) LrTable.pairlist * LrTable.action) list) * int end smlsharp-1.2.0/src/ml-yacc/src/shrink.sml0000644 000000000000000000001712212050661606020424 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1991 Andrew W. Appel, David R. Tarditi *) signature SORT_ARG = sig type entry val gt : entry * entry -> bool end signature SORT = sig type entry val sort : entry list -> entry list end signature EQUIV_ARG = sig type entry val gt : entry * entry -> bool val eq : entry * entry -> bool end signature EQUIV = sig type entry (* equivalences: take a list of entries and divides them into equivalence classes numbered 0 to n-1. It returns a triple consisting of: * the number of equivalence classes * a list which maps each original entry to an equivalence class. The nth entry in this list gives the equivalence class for the nth entry in the original entry list. * a list which maps equivalence classes to some representative element. The nth entry in this list is an element from the nth equivalence class *) val equivalences : entry list -> (int * int list * entry list) end (* An O(n lg n) merge sort routine *) functor MergeSortFun(A : SORT_ARG) : SORT = struct type entry = A.entry (* sort: an O(n lg n) merge sort routine. We create a list of lists and then merge these lists in passes until only one list is left.*) fun sort nil = nil | sort l = let (* merge: merge two lists *) fun merge (l as a::at,r as b::bt) = if A.gt(a,b) then b :: merge(l,bt) else a :: merge(at,r) | merge (l,nil) = l | merge (nil,r) = r (* scan: merge pairs of lists on a list of lists. Reduces the number of lists by about 1/2 *) fun scan (a :: b :: rest) = merge(a,b) :: scan rest | scan l = l (* loop: calls scan on a list of lists until only one list is left. It terminates only if the list of lists is nonempty. (The pattern match for sort ensures this.) *) fun loop (a :: nil) = a | loop l = loop (scan l) in loop (map (fn a => [a]) l) end end (* an O(n lg n) routine for placing items in equivalence classes *) functor EquivFun(A : EQUIV_ARG) : EQUIV = struct open Array List infix 9 sub (* Our algorithm for finding equivalence class is simple. The basic idea is to sort the entries and place duplicates entries in the same equivalence class. Let the original entry list be E. We map E to a list of a pairs consisting of the entry and its position in E, where the positions are numbered 0 to n-1. Call this list of pairs EP. We then sort EP on the original entries. The second elements in the pairs now specify a permutation that will return us to EP. We then scan the sorted list to create a list R of representative entries, a list P of integers which permutes the sorted list back to the original list and a list SE of integers which gives the equivalence class for the nth entry in the sorted list . We then return the length of R, R, and the list that results from permuting SE by P. *) type entry = A.entry val gt = fn ((a,_):A.entry * int,(b,_):A.entry * int) => A.gt(a,b) structure Sort = MergeSortFun(type entry = A.entry * int val gt = gt) val assignIndex = fn l => let fun loop (index,nil) = nil | loop (index,h :: t) = (h,index) :: loop(index+1,t) in loop (0,l) end local fun loop ((e,_) :: t, prev, class, R , SE) = if A.eq(e,prev) then loop(t,e,class,R, class :: SE) else loop(t,e,class+1,e :: R, (class + 1) :: SE) | loop (nil,_,_,R,SE) = (rev R, rev SE) in val createEquivalences = fn nil => (nil,nil) | (e,_) :: t => loop(t, e, 0, [e],[0]) end val inversePermute = fn permutation => fn nil => nil | l as h :: _ => let val result = array(length l,h) fun loop (elem :: r, dest :: s) = (update(result,dest,elem); loop(r,s)) | loop _ = () fun listofarray i = if i < Array.length result then (result sub i) :: listofarray (i+1) else nil in loop (l,permutation); listofarray 0 end fun makePermutation x = map (fn (_,b) => b) x val equivalences = fn l => let val EP = assignIndex l val sorted = Sort.sort EP val P = makePermutation sorted val (R, SE) = createEquivalences sorted in (length R, inversePermute P SE, R) end val _ = "done\n" end (* 2012-3-21 ohori defuncterized functor ShrinkLrTableFun(structure LrTable : LR_TABLE) : SHRINK_LR_TABLE = *) structure ShrinkLrTable : SHRINK_LR_TABLE = struct structure LrTable = LrTable open LrTable val gtAction = fn (a,b) => case a of SHIFT (STATE s) => (case b of SHIFT (STATE s') => s>s' | _ => true) | REDUCE i => (case b of SHIFT _ => false | REDUCE i' => i>i' | _ => true) | ACCEPT => (case b of ERROR => true | _ => false) | ERROR => false structure ActionEntryList = struct type entry = (term, action) pairlist * action local fun eqlist (EMPTY, EMPTY) = true | eqlist (PAIR (T t,d,r),PAIR(T t',d',r')) = t=t' andalso d=d' andalso eqlist(r,r') | eqlist _ = false fun gtlist (PAIR _,EMPTY) = true | gtlist (PAIR(T t,d,r),PAIR(T t',d',r')) = t>t' orelse (t=t' andalso (gtAction(d,d') orelse (d=d' andalso gtlist(r,r')))) | gtlist _ = false in fun eq ((l,a): entry, (l',a'): entry) = a = a' andalso eqlist (l,l') fun gt ((l,a): entry, (l',a'): entry) = gtAction(a,a') orelse (a=a' andalso gtlist(l,l')) end end (* structure GotoEntryList = struct type entry = (nonterm,state) pairlist val rec eq = fn (EMPTY,EMPTY) => true | (PAIR (t,d,r),PAIR(t',d',r')) => t=t' andalso d=d' andalso eq(r,r') | _ => false val rec gt = fn (PAIR _,EMPTY) => true | (PAIR(NT t,STATE d,r),PAIR(NT t',STATE d',r')) => t>t' orelse (t=t' andalso (d>d' orelse (d=d' andalso gt(r,r')))) | _ => false end *) structure EquivActionList = EquivFun(ActionEntryList) val states = fn max => let fun f i=if i int = fn l => let fun g(EMPTY,len) = len | g(PAIR(_,_,r),len) = g(r,len+1) in g(l,0) end val size : (('a,'b) pairlist * 'c) list -> int = fn l => let val c = ref 0 in (app (fn (row,_) => c := !c + length row) l; !c) end val shrinkActionList = fn (table,verbose) => case EquivActionList.equivalences (map (describeActions table) (states (numStates table))) of result as (_,_,l) => (result,if verbose then size l else 0) end smlsharp-1.2.0/src/ml-yacc/src/sigs.sml0000644 000000000000000000002653212050661606020100 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989, 1991 Andrew W. Appel, David R. Tarditi *) signature HEADER = sig type pos = int val lineno : pos ref val text : string list ref type inputSource val newSource : string * TextIO.instream * TextIO.outstream -> inputSource val error : inputSource -> pos -> string -> unit val warn : inputSource -> pos -> string -> unit val errorOccurred : inputSource -> unit -> bool datatype symbol = SYMBOL of string * pos val symbolName : symbol -> string val symbolPos : symbol -> pos val symbolMake : string * int -> symbol type ty val tyName : ty -> string val tyMake : string -> ty (* associativities: each kind of associativity is assigned a unique integer *) datatype prec = LEFT | RIGHT | NONASSOC datatype control = NODEFAULT | VERBOSE | PARSER_NAME of symbol | FUNCTOR of string | FOOTER of string | DECOMPOSE of string | BLOCKSIZE of string | START_SYM of symbol | NSHIFT of symbol list | POS of string | PURE | PARSE_ARG of string * string | TOKEN_SIG_INFO of string datatype rule = RULE of {lhs : symbol, rhs : symbol list, code : string, prec : symbol option} datatype declData = DECL of {eop : symbol list, keyword : symbol list, nonterm : (symbol * ty option) list option, prec : (prec * (symbol list)) list, change: (symbol list * symbol list) list, term : (symbol * ty option) list option, control : control list, value : (symbol * string) list} val join_decls : declData * declData * inputSource * pos -> declData type parseResult val getResult : parseResult -> string * declData * rule list end; signature PARSE_GEN_PARSER = sig structure Header : HEADER val parse : string -> Header.parseResult * Header.inputSource end; signature PARSE_GEN = sig val parseGen : string -> unit end; signature GRAMMAR = sig datatype term = T of int datatype nonterm = NT of int datatype symbol = TERM of term | NONTERM of nonterm (* grammar: terminals should be numbered from 0 to terms-1, nonterminals should be numbered from 0 to nonterms-1, rules should be numbered between 0 and (length rules) - 1, higher precedence binds tighter, start nonterminal should not occur on the rhs of any rule *) datatype grammar = GRAMMAR of {rules: {lhs : nonterm, rhs : symbol list, precedence : int option, rulenum : int } list, terms: int, nonterms: int, start : nonterm, eop : term list, noshift : term list, precedence : term -> int option, termToString : term -> string, nontermToString : nonterm -> string} end (* signature for internal version of grammar *) signature INTGRAMMAR = sig structure Grammar : GRAMMAR structure SymbolAssoc : TABLE structure NontermAssoc : TABLE sharing type SymbolAssoc.key = Grammar.symbol sharing type NontermAssoc.key = Grammar.nonterm datatype rule = RULE of {lhs : Grammar.nonterm, rhs : Grammar.symbol list, (* internal number of rule - convenient for producing LR graph *) num : int, rulenum : int, precedence : int option} val gtTerm : Grammar.term * Grammar.term -> bool val eqTerm : Grammar.term * Grammar.term -> bool val gtNonterm : Grammar.nonterm * Grammar.nonterm -> bool val eqNonterm : Grammar.nonterm * Grammar.nonterm -> bool val gtSymbol : Grammar.symbol * Grammar.symbol -> bool val eqSymbol : Grammar.symbol * Grammar.symbol -> bool (* Debugging information will be generated only if DEBUG is true. *) val DEBUG : bool val prRule : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> 'b) -> rule -> unit val prGrammar : (Grammar.symbol -> string)*(Grammar.nonterm -> string) * (string -> unit) -> Grammar.grammar -> unit end signature CORE = sig structure Grammar : GRAMMAR structure IntGrammar : INTGRAMMAR sharing Grammar = IntGrammar.Grammar datatype item = ITEM of { rule : IntGrammar.rule, dot : int, (* rhsAfter: The portion of the rhs of a rule that lies after the dot *) rhsAfter: Grammar.symbol list } (* eqItem and gtItem compare items *) val eqItem : item * item -> bool val gtItem : item * item -> bool (* functions for maintaining ordered item lists *) val insert : item * item list -> item list val union : item list * item list -> item list (* core: a set of items. It is represented by an ordered list of items. The list is in ascending order The rule numbers and the positions of the dots are used to order the items. *) datatype core = CORE of item list * int (* state # *) (* gtCore and eqCore compare the lists of items *) val gtCore : core * core -> bool val eqCore : core * core -> bool (* functions for debugging *) val prItem : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> item -> unit val prCore : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (string -> unit) -> core -> unit end signature CORE_UTILS = sig structure Grammar : GRAMMAR structure IntGrammar : INTGRAMMAR structure Core : CORE sharing Grammar = IntGrammar.Grammar = Core.Grammar sharing IntGrammar = Core.IntGrammar (* mkFuncs: create functions for the set of productions derived from a nonterminal, the cores that result from shift/gotos from a core, and return a list of rules *) val mkFuncs : Grammar.grammar -> { produces : Grammar.nonterm -> IntGrammar.rule list, (* shifts: take a core and compute all the cores that result from shifts/gotos on symbols *) shifts : Core.core -> (Grammar.symbol*Core.item list) list, rules: IntGrammar.rule list, (* epsProds: take a core compute epsilon productions for it *) epsProds : Core.core -> IntGrammar.rule list} end signature LRGRAPH = sig structure Grammar : GRAMMAR structure IntGrammar : INTGRAMMAR structure Core : CORE sharing Grammar = IntGrammar.Grammar = Core.Grammar sharing IntGrammar = Core.IntGrammar type graph val edges : Core.core * graph -> {edge:Grammar.symbol,to:Core.core} list val nodes : graph -> Core.core list val shift : graph -> int * Grammar.symbol -> int (* int = state # *) val core : graph -> int -> Core.core (* get core for a state *) (* mkGraph: compute the LR(0) sets of items *) val mkGraph : Grammar.grammar -> {graph : graph, produces : Grammar.nonterm -> IntGrammar.rule list, rules : IntGrammar.rule list, epsProds: Core.core -> IntGrammar.rule list} val prGraph: (Grammar.symbol -> string)*(Grammar.nonterm -> string) * (string -> unit) -> graph -> unit end signature LOOK = sig structure Grammar : GRAMMAR structure IntGrammar : INTGRAMMAR sharing Grammar = IntGrammar.Grammar val union : Grammar.term list * Grammar.term list -> Grammar.term list val make_set : Grammar.term list -> Grammar.term list val mkFuncs : {rules : IntGrammar.rule list, nonterms : int, produces : Grammar.nonterm -> IntGrammar.rule list} -> {nullable: Grammar.nonterm -> bool, first : Grammar.symbol list -> Grammar.term list} val prLook : (Grammar.term -> string) * (string -> unit) -> Grammar.term list -> unit end signature LALR_GRAPH = sig structure Grammar : GRAMMAR structure IntGrammar : INTGRAMMAR structure Core : CORE structure Graph : LRGRAPH sharing Grammar = IntGrammar.Grammar = Core.Grammar = Graph.Grammar sharing IntGrammar = Core.IntGrammar = Graph.IntGrammar sharing Core = Graph.Core datatype lcore = LCORE of (Core.item * Grammar.term list) list * int val addLookahead : {graph : Graph.graph, first : Grammar.symbol list -> Grammar.term list, eop : Grammar.term list, nonterms : int, nullable: Grammar.nonterm -> bool, produces : Grammar.nonterm -> IntGrammar.rule list, rules : IntGrammar.rule list, epsProds : Core.core -> IntGrammar.rule list, print : string -> unit, (* for debugging *) termToString : Grammar.term -> string, nontermToString : Grammar.nonterm -> string} -> lcore list val prLcore : (Grammar.symbol -> string) * (Grammar.nonterm -> string) * (Grammar.term -> string) * (string -> unit) -> lcore -> unit end (* LR_ERRS: errors found while constructing an LR table *) signature LR_ERRS = sig structure LrTable : LR_TABLE (* RR = reduce/reduce, SR = shift/reduce NS: non-shiftable terminal found on the rhs of a rule NOT_REDUCED n: rule number n was not reduced START n : start symbol found on the rhs of rule n *) datatype err = RR of LrTable.term * LrTable.state * int * int | SR of LrTable.term * LrTable.state * int | NS of LrTable.term * int | NOT_REDUCED of int | START of int val summary : err list -> {rr : int, sr: int, not_reduced : int, start : int,nonshift : int} val printSummary : (string -> unit) -> err list -> unit end (* PRINT_STRUCT: prints a structure which includes a value 'table' and a structure Table whose signature matches LR_TABLE. The table in the printed structure will contain the same information as the one passed to printStruct, although the representation may be different. It returns the number of entries left in the table after compaction.*) signature PRINT_STRUCT = sig structure LrTable : LR_TABLE val makeStruct : {table : LrTable.table, name : string, print: string -> unit, verbose : bool } -> int end (* VERBOSE: signature for a structure which takes a table and creates a verbose description of it *) signature VERBOSE = sig structure Errs : LR_ERRS val printVerbose : {table : Errs.LrTable.table, entries : int, termToString : Errs.LrTable.term -> string, nontermToString : Errs.LrTable.nonterm -> string, stateErrs : Errs.LrTable.state -> Errs.err list, errs : Errs.err list, print: string -> unit, printCores : (string -> unit) -> Errs.LrTable.state -> unit, printRule : (string -> unit) -> int -> unit} -> unit end (* MAKE_LR_TABLE: signature for a structure which includes a structure matching the signature LR_TABLE and a function which maps grammars to tables *) signature MAKE_LR_TABLE = sig structure Grammar : GRAMMAR structure Errs : LR_ERRS structure LrTable : LR_TABLE sharing Errs.LrTable = LrTable sharing type LrTable.term = Grammar.term sharing type LrTable.nonterm = Grammar.nonterm (* boolean value determines whether default reductions will be used. If it is true, reductions will be used. *) val mkTable : Grammar.grammar * bool -> LrTable.table * (LrTable.state -> Errs.err list) * (* errors in a state *) ((string -> unit) -> LrTable.state -> unit) * Errs.err list (* list of all errors *) end; (* SHRINK_LR_TABLE: finds unique action entry rows in the action table for the LR parser *) signature SHRINK_LR_TABLE = sig (* Takes an action table represented as a list of action rows. It returns the number of unique rows left in the action table, a list of integers which maps each original row to a unique row, and a list of unique rows *) structure LrTable : LR_TABLE val shrinkActionList : LrTable.table * bool -> (int * int list * ((LrTable.term,LrTable.action) LrTable.pairlist * LrTable.action) list) * int end smlsharp-1.2.0/src/ml-yacc/src/utils.sig0000644 000000000000000000000323612050661606020256 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi *) signature ORDSET = sig type set type elem exception Select_arb val app : (elem -> unit) -> set -> unit and card: set -> int and closure: set * (elem -> set) -> set and difference: set * set -> set and elem_eq: (elem * elem -> bool) and elem_gt : (elem * elem -> bool) and empty: set and exists: (elem * set) -> bool and find : (elem * set) -> elem option and fold: ((elem * 'b) -> 'b) -> set -> 'b -> 'b and insert: (elem * set) -> set and is_empty: set -> bool and make_list: set -> elem list and make_set: (elem list -> set) and partition: (elem -> bool) -> (set -> set * set) and remove: (elem * set) -> set and revfold: ((elem * 'b) -> 'b) -> set -> 'b -> 'b and select_arb: set -> elem and set_eq: (set * set) -> bool and set_gt: (set * set) -> bool and singleton: (elem -> set) and union: set * set -> set end signature TABLE = sig type 'a table type key val size : 'a table -> int val empty: 'a table val exists: (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end signature HASH = sig type table type elem val size : table -> int val add : elem * table -> table val find : elem * table -> int option val exists : elem * table -> bool val empty : table end; smlsharp-1.2.0/src/ml-yacc/src/utils.smi0000644 000000000000000000000533512050661606020266 0ustar00rootroot0000000 0000000 _require "../../basis.smi" _require "utils.sig" functor ListOrdSet( B : sig type elem val gt : elem * elem -> bool val eq : elem * elem -> bool end ) = struct type set = B.elem list type elem = B.elem exception Select_arb val app : (elem -> unit) -> set -> unit val card : set -> int val closure : set * (elem -> set) -> set val difference : set * set -> set val elem_eq : elem * elem -> bool val elem_gt : elem * elem -> bool val empty : set val exists : elem * set -> bool val find : elem * set -> elem option val fold : (elem * 'b -> 'b) -> set -> 'b -> 'b val insert : elem * set -> set val is_empty : set -> bool val make_list : set -> elem list val make_set : elem list -> set val partition : (elem -> bool) -> set -> set * set val remove : elem * set -> set val revfold : (elem * 'b -> 'b) -> set -> 'b -> 'b val select_arb : set -> elem val set_eq : set * set -> bool val set_gt : set * set -> bool val singleton : elem -> set val union : set * set -> set end functor RbOrdSet ( B : sig type elem val eq : elem * elem -> bool val gt : elem * elem -> bool end ) = struct type set (= boxed) type elem = B.elem exception Select_arb val app : (elem -> unit) -> set -> unit val card : set -> int val closure : set * (elem -> set) -> set val difference : set * set -> set val elem_eq : elem * elem -> bool val elem_gt : elem * elem -> bool val empty : set val exists : elem * set -> bool val find : elem * set -> elem option val fold : (elem * 'b -> 'b) -> set -> 'b -> 'b val insert : elem * set -> set val is_empty : set -> bool val make_list : set -> elem list val make_set : elem list -> set val partition : (elem -> bool) -> set -> set * set val remove : elem * set -> set val revfold : (elem * 'b -> 'b) -> set -> 'b -> 'b val select_arb : set -> elem val set_eq : set * set -> bool val set_gt : set * set -> bool val singleton : elem -> set val union : set * set -> set end functor Table ( B : sig type key val gt : key * key -> bool end ) = struct type 'a table (= boxed) type key = B.key val size : 'a table -> int val empty : 'a table val exists : key * 'a table -> bool val find : key * 'a table -> 'a option val insert : (key * 'a) * 'a table -> 'a table val make_table : (key * 'a) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end functor Hash( B : sig type elem val gt : elem * elem -> bool end ) = struct type table (= boxed) type elem = B.elem val size : table -> int val add : elem * table -> table val find : elem * table -> int option val exists : elem * table -> bool val empty : table end smlsharp-1.2.0/src/ml-yacc/src/utils.sml0000644 000000000000000000003314512050661606020271 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi *) (* Implementation of ordered sets using ordered lists and red-black trees. The code for red-black trees was originally written by Norris Boyd, which was modified for use here. *) (* ordered sets implemented using ordered lists. Upper bound running times for functions implemented here: app = O(n) card = O(n) closure = O(n^2) difference = O(n+m), where n,m = the size of the two sets used here. empty = O(1) exists = O(n) find = O(n) fold = O(n) insert = O(n) is_empty = O(1) make_list = O(1) make_set = O(n^2) partition = O(n) remove = O(n) revfold = O(n) select_arb = O(1) set_eq = O(n), where n = the cardinality of the smaller set set_gt = O(n), ditto singleton = O(1) union = O(n+m) *) functor ListOrdSet(B : sig type elem val gt : elem * elem -> bool val eq : elem * elem -> bool end ) : ORDSET = struct type elem = B.elem val elem_gt = B.gt val elem_eq = B.eq type set = elem list exception Select_arb val empty : set = nil val insert = fn (key,s) => let fun f (l as (h::t)) = if elem_gt(key,h) then h::(f t) else if elem_eq(key,h) then key::t else key::l | f nil = [key] in f s end val select_arb : set -> elem = fn nil => raise Select_arb | a::b => a val exists = fn (key,s) => let fun f (h::t) = if elem_gt(key,h) then f t else elem_eq(h,key) | f nil = false in f s end val find = fn (key,s) => let fun f (h::t) = if elem_gt(key,h) then f t else if elem_eq(h,key) then SOME h else NONE | f nil = NONE in f s end fun 'a revfold (f:elem * 'a -> 'a) (lst:set) init = List.foldl f init lst fun 'a fold (f:elem * 'a -> 'a) (lst:set) (init:'a) = List.foldr f init lst val app : (elem -> unit) -> set -> unit = List.app fun set_eq(h::t,h'::t') = (case elem_eq(h,h') of true => set_eq(t,t') | a => a) | set_eq(nil,nil) = true | set_eq _ = false fun set_gt(h::t,h'::t') = (case elem_gt(h,h') of false => (case (elem_eq(h,h')) of true => set_gt(t,t') | a => a) | a => a) | set_gt(_::_,nil) = true | set_gt _ = false fun union(a as (h::t),b as (h'::t')) = if elem_gt(h',h) then h::union(t,b) else if elem_eq(h,h') then h::union(t,t') else h'::union(a,t') | union(nil,s) = s | union(s,nil) = s val make_list = fn (s:set) => s val is_empty : set -> bool = fn nil => true | _ => false val make_set = fn l => List.foldr insert [] l val partition = fn f => fn s => fold (fn (e,(yes,no)) => if (f e) then (e::yes,no) else (e::no,yes)) s (nil,nil) val remove = fn (e,s) => let fun f (l as (h::t)) = if elem_gt(h,e) then l else if elem_eq(h,e) then t else h::(f t) | f nil = nil in f s end (* difference: X-Y *) fun difference (nil,_) = nil | difference (r,nil) = r | difference (a as (h::t),b as (h'::t')) = if elem_gt (h',h) then h::difference(t,b) else if elem_eq(h',h) then difference(t,t') else difference(a,t') fun singleton (X:elem) : set = [X] fun card(S:set) : int = fold (fn (a,count) => count+1) S 0 local fun closure'(from, f, result) = if is_empty from then result else let val (more,result) = fold (fn (a,(more',result')) => let val more = f a val new = difference(more,result) in (union(more',new),union(result',new)) end) from (empty,result) in closure'(more,f,result) end in fun closure(start, f) = closure'(start, f, start) end val _ = "done.\n" end (* ordered set implemented using red-black trees: Upper bound running time of the functions below: app: O(n) card: O(n) closure: O(n^2 ln n) difference: O(n ln n) empty: O(1) exists: O(ln n) find: O(ln n) fold: O(n) insert: O(ln n) is_empty: O(1) make_list: O(n) make_set: O(n ln n) partition: O(n ln n) remove: O(n ln n) revfold: O(n) select_arb: O(1) set_eq: O(n) set_gt: O(n) singleton: O(1) union: O(n ln n) *) functor RbOrdSet (B : sig type elem val eq : (elem*elem) -> bool val gt : (elem*elem) -> bool end ) : ORDSET = struct val _ = "initializing RbOrdSet functror ..." type elem = B.elem val elem_gt = B.gt val elem_eq = B.eq datatype Color = RED | BLACK abstype set = EMPTY | TREE of (B.elem * Color * set * set) with exception Select_arb val empty = EMPTY fun insert(key,t) = let fun f EMPTY = TREE(key,RED,EMPTY,EMPTY) | f (TREE(k,BLACK,l,r)) = if elem_gt (key,k) then case f r of r as TREE(rk,RED, rl as TREE(rlk,RED,rll,rlr),rr) => (case l of TREE(lk,RED,ll,lr) => TREE(k,RED,TREE(lk,BLACK,ll,lr), TREE(rk,BLACK,rl,rr)) | _ => TREE(rlk,BLACK,TREE(k,RED,l,rll), TREE(rk,RED,rlr,rr))) | r as TREE(rk,RED,rl, rr as TREE(rrk,RED,rrl,rrr)) => (case l of TREE(lk,RED,ll,lr) => TREE(k,RED,TREE(lk,BLACK,ll,lr), TREE(rk,BLACK,rl,rr)) | _ => TREE(rk,BLACK,TREE(k,RED,l,rl),rr)) | r => TREE(k,BLACK,l,r) else if elem_gt(k,key) then case f l of l as TREE(lk,RED,ll, lr as TREE(lrk,RED,lrl,lrr)) => (case r of TREE(rk,RED,rl,rr) => TREE(k,RED,TREE(lk,BLACK,ll,lr), TREE(rk,BLACK,rl,rr)) | _ => TREE(lrk,BLACK,TREE(lk,RED,ll,lrl), TREE(k,RED,lrr,r))) | l as TREE(lk,RED, ll as TREE(llk,RED,lll,llr), lr) => (case r of TREE(rk,RED,rl,rr) => TREE(k,RED,TREE(lk,BLACK,ll,lr), TREE(rk,BLACK,rl,rr)) | _ => TREE(lk,BLACK,ll,TREE(k,RED,lr,r))) | l => TREE(k,BLACK,l,r) else TREE(key,BLACK,l,r) | f (TREE(k,RED,l,r)) = if elem_gt(key,k) then TREE(k,RED,l, f r) else if elem_gt(k,key) then TREE(k,RED, f l, r) else TREE(key,RED,l,r) in case f t of TREE(k,RED, l as TREE(_,RED,_,_), r) => TREE(k,BLACK,l,r) | TREE(k,RED, l, r as TREE(_,RED,_,_)) => TREE(k,BLACK,l,r) | t => t end fun select_arb (TREE(k,_,l,r)) = k | select_arb EMPTY = raise Select_arb fun exists(key,t) = let fun look EMPTY = false | look (TREE(k,_,l,r)) = if elem_gt(k,key) then look l else if elem_gt(key,k) then look r else true in look t end fun find(key,t) = let fun look EMPTY = NONE | look (TREE(k,_,l,r)) = if elem_gt(k,key) then look l else if elem_gt(key,k) then look r else SOME k in look t end fun revfold f t start = let fun scan (EMPTY,value) = value | scan (TREE(k,_,l,r),value) = scan(r,f(k,scan(l,value))) in scan(t,start) end fun fold f t start = let fun scan(EMPTY,value) = value | scan(TREE(k,_,l,r),value) = scan(l,f(k,scan(r,value))) in scan(t,start) end fun app (f:elem -> unit) (t:set) = let fun scan EMPTY = () | scan(TREE(k,_,l,r)) = (scan l; f k; scan r) in scan t end (* equal_tree : test if two trees are equal. Two trees are equal if the set of leaves are equal *) fun set_eq (tree1 as (TREE _),tree2 as (TREE _)) = let datatype pos = L | R | M exception Done fun getvalue(stack as ((a,position)::b)) = (case a of (TREE(k,_,l,r)) => (case position of L => getvalue ((l,L)::(a,M)::b) | M => (k,case r of EMPTY => b | _ => (a,R)::b) | R => getvalue ((r,L)::b) ) | EMPTY => getvalue b ) | getvalue(nil) = raise Done fun f (nil,nil) = true | f (s1 as (_ :: _),s2 as (_ :: _ )) = let val (v1,news1) = getvalue s1 and (v2,news2) = getvalue s2 in (elem_eq(v1,v2)) andalso f(news1,news2) end | f _ = false in f ((tree1,L)::nil,(tree2,L)::nil) handle Done => false end | set_eq (EMPTY,EMPTY) = true | set_eq _ = false (* gt_tree : Test if tree1 is greater than tree 2 *) fun set_gt (tree1,tree2) = let datatype pos = L | R | M exception Done fun getvalue(stack as ((a,position)::b)) = (case a of (TREE(k,_,l,r)) => (case position of L => getvalue ((l,L)::(a,M)::b) | M => (k,case r of EMPTY => b | _ => (a,R)::b) | R => getvalue ((r,L)::b) ) | EMPTY => getvalue b ) | getvalue(nil) = raise Done fun f (nil,nil) = false | f (s1 as (_ :: _),s2 as (_ :: _ )) = let val (v1,news1) = getvalue s1 and (v2,news2) = getvalue s2 in (elem_gt(v1,v2)) orelse (elem_eq(v1,v2) andalso f(news1,news2)) end | f (_,nil) = true | f (nil,_) = false in f ((tree1,L)::nil,(tree2,L)::nil) handle Done => false end fun is_empty S = (let val _ = select_arb S in false end handle Select_arb => true) fun make_list S = fold (op ::) S nil fun make_set l = List.foldr insert empty l fun partition F S = fold (fn (a,(Yes,No)) => if F(a) then (insert(a,Yes),No) else (Yes,insert(a,No))) S (empty,empty) fun remove(X, XSet) = let val (YSet, _) = partition (fn a => not (elem_eq (X, a))) XSet in YSet end fun difference(Xs, Ys) = fold (fn (p as (a,Xs')) => if exists(a,Ys) then Xs' else insert p) Xs empty fun singleton X = insert(X,empty) fun card(S) = fold (fn (_,count) => count+1) S 0 fun union(Xs,Ys)= fold insert Ys Xs local fun closure'(from, f, result) = if is_empty from then result else let val (more,result) = fold (fn (a,(more',result')) => let val more = f a val new = difference(more,result) in (union(more',new),union(result',new)) end) from (empty,result) in closure'(more,f,result) end in fun closure(start, f) = closure'(start, f, start) end end val _ = "done.\n" end (* In utils.sig signature TABLE = sig type 'a table type key val size : 'a table -> int val empty: 'a table val exists: (key * 'a table) -> bool val find : (key * 'a table) -> 'a option val insert: ((key * 'a) * 'a table) -> 'a table val make_table : (key * 'a ) list -> 'a table val make_list : 'a table -> (key * 'a) list val fold : ((key * 'a) * 'b -> 'b) -> 'a table -> 'b -> 'b end *) functor Table (B : sig type key val gt : (key * key) -> bool end ) : TABLE = struct val _ = "initializing Table functror ..." datatype Color = RED | BLACK type key = B.key abstype 'a table = EMPTY | TREE of ((B.key * 'a ) * Color * 'a table * 'a table) with val empty = EMPTY fun insert(elem as (key,data),t) = let val key_gt = fn (a,_) => B.gt(key,a) val key_lt = fn (a,_) => B.gt(a,key) fun f EMPTY = TREE(elem,RED,EMPTY,EMPTY) | f (TREE(k,BLACK,l,r)) = if key_gt k then case f r of r as TREE(rk,RED, rl as TREE(rlk,RED,rll,rlr),rr) => (case l of TREE(lk,RED,ll,lr) => TREE(k,RED,TREE(lk,BLACK,ll,lr), TREE(rk,BLACK,rl,rr)) | _ => TREE(rlk,BLACK,TREE(k,RED,l,rll), TREE(rk,RED,rlr,rr))) | r as TREE(rk,RED,rl, rr as TREE(rrk,RED,rrl,rrr)) => (case l of TREE(lk,RED,ll,lr) => TREE(k,RED,TREE(lk,BLACK,ll,lr), TREE(rk,BLACK,rl,rr)) | _ => TREE(rk,BLACK,TREE(k,RED,l,rl),rr)) | r => TREE(k,BLACK,l,r) else if key_lt k then case f l of l as TREE(lk,RED,ll, lr as TREE(lrk,RED,lrl,lrr)) => (case r of TREE(rk,RED,rl,rr) => TREE(k,RED,TREE(lk,BLACK,ll,lr), TREE(rk,BLACK,rl,rr)) | _ => TREE(lrk,BLACK,TREE(lk,RED,ll,lrl), TREE(k,RED,lrr,r))) | l as TREE(lk,RED, ll as TREE(llk,RED,lll,llr), lr) => (case r of TREE(rk,RED,rl,rr) => TREE(k,RED,TREE(lk,BLACK,ll,lr), TREE(rk,BLACK,rl,rr)) | _ => TREE(lk,BLACK,ll,TREE(k,RED,lr,r))) | l => TREE(k,BLACK,l,r) else TREE(elem,BLACK,l,r) | f (TREE(k,RED,l,r)) = if key_gt k then TREE(k,RED,l, f r) else if key_lt k then TREE(k,RED, f l, r) else TREE(elem,RED,l,r) in case f t of TREE(k,RED, l as TREE(_,RED,_,_), r) => TREE(k,BLACK,l,r) | TREE(k,RED, l, r as TREE(_,RED,_,_)) => TREE(k,BLACK,l,r) | t => t end fun exists(key,t) = let fun look EMPTY = false | look (TREE((k,_),_,l,r)) = if B.gt(k,key) then look l else if B.gt(key,k) then look r else true in look t end fun find(key,t) = let fun look EMPTY = NONE | look (TREE((k,data),_,l,r)) = if B.gt(k,key) then look l else if B.gt(key,k) then look r else SOME data in look t end fun fold f t start = let fun scan(EMPTY,value) = value | scan(TREE(k,_,l,r),value) = scan(l,f(k,scan(r,value))) in scan(t,start) end fun make_table l = List.foldr insert empty l fun size S = fold (fn (_,count) => count+1) S 0 fun make_list table = fold (op ::) table nil end val _ = "done.\n" end; (* assumes that a functor Table with signature TABLE from table.sml is in the environment *) (* In utils.sig signature HASH = sig type table type elem val size : table -> int val add : elem * table -> table val find : elem * table -> int option val exists : elem * table -> bool val empty : table end *) (* hash: creates a hash table of size n which assigns each distinct member a unique integer between 0 and n-1 *) functor Hash(B : sig type elem val gt : elem * elem -> bool end) : HASH = struct val _ = "initializing Hash functror ..." type elem=B.elem structure HashTable = Table(type key=B.elem val gt = B.gt) type table = {count : int, table : int HashTable.table} val empty : table = {count=0,table=HashTable.empty} val size = fn ({count,table}:table) => count val add = fn (e,{count,table}) => {count=count+1,table=HashTable.insert((e,count),table)} val find = fn (e:elem,{table,count}:table) => HashTable.find(e,table) val exists = fn (e:elem,{table,count}:table) => HashTable.exists(e,table) end smlsharp-1.2.0/src/ml-yacc/src/verbose.smi0000644 000000000000000000000360412050661606020570 0ustar00rootroot0000000 0000000 _require "../../basis.smi" _require "../../ml-yacc/lib/base.sig" _require "mklrtable.smi" _require "utils.sig" _require "sigs.sml" structure Verbose = struct structure Errs = struct structure LrTable = struct datatype pairlist = datatype MakeTable.Errs.LrTable.pairlist datatype state = datatype MakeTable.Errs.LrTable.state datatype term = datatype MakeTable.Errs.LrTable.term datatype nonterm = datatype MakeTable.Errs.LrTable.nonterm datatype action = datatype MakeTable.Errs.LrTable.action type table = MakeTable.Errs.LrTable.table val numStates : table -> int val numRules : table -> int val describeActions : table -> state -> (term,action) pairlist * action val describeGoto : table -> state -> (nonterm,state) pairlist val action : table -> state * term -> action val goto : table -> state * nonterm -> state val initialState : table -> state exception Goto = MakeTable.Errs.LrTable.Goto val mkLrTable : {actions : ((term,action) pairlist * action) array, gotos : (nonterm,state) pairlist array, numStates : int, numRules : int, initialState : state} -> table end datatype err = datatype MakeTable.Errs.err val summary : err list -> {rr : int, sr: int, not_reduced : int, start : int,nonshift : int} val printSummary : (string -> unit) -> err list -> unit end val printVerbose : {table : Errs.LrTable.table, entries : int, termToString : Errs.LrTable.term -> string, nontermToString : Errs.LrTable.nonterm -> string, stateErrs : Errs.LrTable.state -> Errs.err list, errs : Errs.err list, print: string -> unit, printCores : (string -> unit) -> Errs.LrTable.state -> unit, printRule : (string -> unit) -> int -> unit} -> unit end smlsharp-1.2.0/src/ml-yacc/src/verbose.sml0000644 000000000000000000001125212050661606020571 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi *) (* 2012-3-21 ohori defuncterized yacc.sml is the only user as structure Verbose = mkVerbose() *) local structure Errs = MakeTable.Errs in structure Verbose : VERBOSE = struct structure Errs = Errs open Errs Errs.LrTable val mkPrintAction = fn print => let val printInt = print o (Int.toString : int -> string) in fn (SHIFT (STATE i)) => (print "\tshift "; printInt i; print "\n") | (REDUCE rulenum) => (print "\treduce by rule "; printInt rulenum; print "\n") | ACCEPT => print "\taccept\n" | ERROR => print "\terror\n" end val mkPrintGoto = fn (printNonterm,print) => let val printInt = print o (Int.toString : int -> string) in fn (nonterm,STATE i) => (print "\t"; printNonterm nonterm; print "\tgoto "; printInt i; print "\n") end val mkPrintTermAction = fn (printTerm,print) => let val printAction = mkPrintAction print in fn (term,action) => (print "\t"; printTerm term; printAction action) end val mkPrintGoto = fn (printNonterm,print) => fn (nonterm,STATE i) => let val printInt = print o (Int.toString : int -> string) in (print "\t"; printNonterm nonterm; print "\tgoto "; printInt i; print "\n") end val mkPrintError = fn (printTerm,printRule,print) => let val printInt = print o (Int.toString : int -> string) val printState = fn STATE s => (print " state "; printInt s) in fn (RR (term,state,r1,r2)) => (print "error: "; printState state; print ": reduce/reduce conflict between rule "; printInt r1; print " and rule "; printInt r2; print " on "; printTerm term; print "\n") | (SR (term,state,r1)) => (print "error: "; printState state; print ": shift/reduce conflict "; print "(shift "; printTerm term; print ", reduce by rule "; printInt r1; print ")\n") | NOT_REDUCED i => (print "warning: rule <"; printRule i; print "> will never be reduced\n") | START i => (print "warning: start symbol appears on the rhs of "; print "<"; printRule i; print ">\n") | NS (term,i) => (print "warning: non-shiftable terminal "; printTerm term; print "appears on the rhs of "; print "<"; printRule i; print ">\n") end structure PairList : sig val app : ('a * 'b -> unit) -> ('a,'b) pairlist -> unit val length : ('a,'b) pairlist -> int end = struct val ('a, 'b) app = fn (f:'a*'b -> unit) => let fun g EMPTY = () | g (PAIR(a,b,r)) = (f(a,b); g r) in g end val length = fn l => let fun g(EMPTY,len) = len | g(PAIR(_,_,r),len) = g(r,len+1) in g(l,0) end end val printVerbose = fn {termToString,nontermToString,table,stateErrs,entries:int, print, printRule : (string -> unit) -> int -> unit, errs, printCores} => let val printTerm = print o termToString val printNonterm = print o nontermToString val printCore = printCores print val printTermAction = mkPrintTermAction(printTerm,print) val printAction = mkPrintAction print val printGoto = mkPrintGoto(printNonterm,print) val printError = mkPrintError(printTerm, printRule print, print) val gotos = LrTable.describeGoto table val actions = LrTable.describeActions table val states = numStates table val gotoTableSize = ref 0 val actionTableSize = ref 0 val _ = if length errs > 0 then (printSummary print errs; print "\n"; app printError errs) else () fun loop i = if i=states then () else let val s = STATE i in (app printError (stateErrs s); print "\n"; printCore s : unit; let val (actionList,default) = actions s val gotoList = gotos s in (PairList.app printTermAction actionList; print "\n"; PairList.app printGoto gotoList; print "\n"; print "\t."; printAction default; print "\n"; gotoTableSize:=(!gotoTableSize)+ PairList.length gotoList; actionTableSize := (!actionTableSize) + PairList.length actionList + 1 ) end; loop (i+1)) end in loop 0; print (Int.toString entries ^ " of " ^ Int.toString (!actionTableSize)^ " action table entries left after compaction\n"); print (Int.toString (!gotoTableSize)^ " goto table entries\n") end end end smlsharp-1.2.0/src/ml-yacc/src/yacc.grm0000644 000000000000000000001563712050661606020050 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi *) (* parser for the ML parser generator *) (* 2012-1-13 ohori %footer added for defuncteringing ml.grm.sml *) open Header %% %verbose %name Mlyacc %eop EOF %noshift EOF %right ARROW %left ASTERISK %pos int %term ARROW | ASTERISK | BLOCK | BAR | CHANGE | COLON | COMMA | DELIMITER | EOF | FOR | HEADER of string | ID of string*int | IDDOT of string | PERCENT_HEADER | PERCENT_FOOTER | PERCENT_DECOMPOSE | PERCENT_BLOCKSIZE | INT of string | KEYWORD | LBRACE | LPAREN | NAME | NODEFAULT | NONTERM | NOSHIFT | OF | PERCENT_EOP | PERCENT_PURE | PERCENT_POS | PERCENT_ARG | PERCENT_TOKEN_SIG_INFO | PREC of Header.prec | PREC_TAG | PREFER | PROG of string | RBRACE | RPAREN | SUBST | START | TERM | TYVAR of string | VERBOSE | VALUE | UNKNOWN of string | BOGUS_VALUE %nonterm BEGIN of string * Header.declData * (Header.rule list) | CONSTR_LIST of (Header.symbol * Header.ty option) list | ID_LIST of Header.symbol list | LABEL of string | MPC_DECL of Header.declData | MPC_DECLS of Header.declData | QUAL_ID of string | RECORD_LIST of string | RHS_LIST of {rhs:Header.symbol list,code:string, prec:Header.symbol option} list | G_RULE of Header.rule list | G_RULE_LIST of Header.rule list | G_RULE_PREC of Header.symbol option | SUBST_DECL of (Header.symbol list * Header.symbol list) list | SUBST_DEC of (Header.symbol list * Header.symbol list) | CHANGE_DECL of (Header.symbol list * Header.symbol list) list | CHANGE_DEC of (Header.symbol list * Header.symbol list) | TY of string %header (structure LrVals ) %footer () %arg (inputSource) : Header.inputSource %% BEGIN : HEADER MPC_DECLS DELIMITER G_RULE_LIST (HEADER,MPC_DECLS,rev G_RULE_LIST) MPC_DECLS : MPC_DECLS MPC_DECL (join_decls(MPC_DECLS,MPC_DECL,inputSource,MPC_DECLleft)) MPC_DECLS: (DECL {prec=nil,nonterm=NONE,term=NONE,eop=nil,control=nil, keyword=nil,change=nil, value=nil}) MPC_DECL: TERM CONSTR_LIST (DECL { prec=nil,nonterm=NONE, term = SOME CONSTR_LIST, eop =nil,control=nil, change=nil,keyword=nil, value=nil}) | NONTERM CONSTR_LIST (DECL { prec=nil,control=nil,nonterm= SOME CONSTR_LIST, term = NONE, eop=nil,change=nil,keyword=nil, value=nil}) | PREC ID_LIST (DECL {prec= [(PREC,ID_LIST)],control=nil, nonterm=NONE,term=NONE,eop=nil,change=nil, keyword=nil,value=nil}) | START ID (DECL {prec=nil,control=[START_SYM (symbolMake ID)],nonterm=NONE, term = NONE, eop = nil,change=nil,keyword=nil, value=nil}) | PERCENT_EOP ID_LIST (DECL {prec=nil,control=nil,nonterm=NONE,term=NONE, eop=ID_LIST, change=nil,keyword=nil, value=nil}) | KEYWORD ID_LIST (DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil, change=nil,keyword=ID_LIST, value=nil}) | PREFER ID_LIST (DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil, change=map (fn i=>([],[i])) ID_LIST,keyword=nil, value=nil}) | CHANGE CHANGE_DECL (DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil, change=CHANGE_DECL,keyword=nil, value=nil}) | SUBST SUBST_DECL (DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil, change=SUBST_DECL,keyword=nil, value=nil}) | NOSHIFT ID_LIST (DECL {prec=nil,control=[NSHIFT ID_LIST],nonterm=NONE,term=NONE, eop=nil,change=nil,keyword=nil, value=nil}) | PERCENT_HEADER PROG (DECL {prec=nil,control=[FUNCTOR PROG],nonterm=NONE,term=NONE, eop=nil,change=nil,keyword=nil, value=nil}) | PERCENT_FOOTER PROG (DECL {prec=nil,control=[FOOTER PROG],nonterm=NONE,term=NONE, eop=nil,change=nil,keyword=nil, value=nil}) | PERCENT_DECOMPOSE PROG (DECL {prec=nil,control=[DECOMPOSE PROG],nonterm=NONE,term=NONE, eop=nil,change=nil,keyword=nil, value=nil}) | PERCENT_BLOCKSIZE PROG (DECL {prec=nil,control=[BLOCKSIZE PROG],nonterm=NONE,term=NONE, eop=nil,change=nil,keyword=nil, value=nil}) | PERCENT_TOKEN_SIG_INFO PROG (DECL {prec=nil,control=[TOKEN_SIG_INFO PROG], nonterm=NONE,term=NONE, eop=nil,change=nil,keyword=nil, value=nil}) | NAME ID (DECL {prec=nil,control=[PARSER_NAME (symbolMake ID)], nonterm=NONE,term=NONE, eop=nil,change=nil,keyword=nil, value=nil}) | PERCENT_ARG PROG COLON TY (DECL {prec=nil,control=[PARSE_ARG(PROG,TY)],nonterm=NONE, term=NONE,eop=nil,change=nil,keyword=nil, value=nil}) | VERBOSE (DECL {prec=nil,control=[Header.VERBOSE], nonterm=NONE,term=NONE,eop=nil, change=nil,keyword=nil, value=nil}) | NODEFAULT (DECL {prec=nil,control=[Header.NODEFAULT], nonterm=NONE,term=NONE,eop=nil, change=nil,keyword=nil, value=nil}) | PERCENT_PURE (DECL {prec=nil,control=[Header.PURE], nonterm=NONE,term=NONE,eop=nil, change=nil,keyword=nil, value=nil}) | PERCENT_POS TY (DECL {prec=nil,control=[Header.POS TY], nonterm=NONE,term=NONE,eop=nil, change=nil,keyword=nil, value=nil}) | VALUE ID PROG (DECL {prec=nil,control=nil, nonterm=NONE,term=NONE,eop=nil, change=nil,keyword=nil, value=[(symbolMake ID,PROG)]}) CHANGE_DECL : CHANGE_DEC BAR CHANGE_DECL (CHANGE_DEC :: CHANGE_DECL) | CHANGE_DEC ([CHANGE_DEC]) CHANGE_DEC : ID_LIST ARROW ID_LIST (ID_LIST1, ID_LIST2) SUBST_DECL : SUBST_DEC BAR SUBST_DECL (SUBST_DEC :: SUBST_DECL) | SUBST_DEC ([SUBST_DEC]) SUBST_DEC: ID FOR ID ([symbolMake ID2],[symbolMake ID1]) CONSTR_LIST : CONSTR_LIST BAR ID OF TY ((symbolMake ID,SOME (tyMake TY))::CONSTR_LIST) | CONSTR_LIST BAR ID ((symbolMake ID,NONE)::CONSTR_LIST) | ID OF TY ([(symbolMake ID,SOME (tyMake TY))]) | ID ([(symbolMake ID,NONE)]) G_RULE : ID COLON RHS_LIST (map (fn {rhs,code,prec} => Header.RULE {lhs=symbolMake ID,rhs=rhs, code=code,prec=prec}) RHS_LIST) G_RULE_LIST: G_RULE_LIST G_RULE (G_RULE@G_RULE_LIST) | G_RULE (G_RULE) ID_LIST : ID ID_LIST (symbolMake ID :: ID_LIST) | (nil) RHS_LIST : ID_LIST G_RULE_PREC PROG ([{rhs=ID_LIST,code=PROG,prec=G_RULE_PREC}]) | RHS_LIST BAR ID_LIST G_RULE_PREC PROG ({rhs=ID_LIST,code=PROG,prec=G_RULE_PREC}::RHS_LIST) TY : TYVAR (TYVAR) | LBRACE RECORD_LIST RBRACE ("{ "^RECORD_LIST^" } ") | LBRACE RBRACE ("{}") | PROG (" ( "^PROG^" ) ") | TY QUAL_ID (TY^" "^QUAL_ID) | QUAL_ID (QUAL_ID) | TY ASTERISK TY (TY1^"*"^TY2) | TY ARROW TY (TY1 ^ " -> " ^ TY2) RECORD_LIST : RECORD_LIST COMMA LABEL COLON TY (RECORD_LIST^","^LABEL^":"^TY) | LABEL COLON TY (LABEL^":"^TY) QUAL_ID : ID ((fn (a,_) => a) ID) | IDDOT QUAL_ID (IDDOT^QUAL_ID) LABEL : ID ((fn (a,_) => a) ID) | INT (INT) G_RULE_PREC : PREC_TAG ID (SOME (symbolMake ID)) G_RULE_PREC : (NONE) smlsharp-1.2.0/src/ml-yacc/src/yacc.grm.sig0000644 000000000000000000000350212050661606020615 0ustar00rootroot0000000 0000000 signature Mlyacc_TOKENS = sig type pos type token type svalue val BOGUS_VALUE: pos * pos -> token val UNKNOWN: (string) * pos * pos -> token val VALUE: pos * pos -> token val VERBOSE: pos * pos -> token val TYVAR: (string) * pos * pos -> token val TERM: pos * pos -> token val START: pos * pos -> token val SUBST: pos * pos -> token val RPAREN: pos * pos -> token val RBRACE: pos * pos -> token val PROG: (string) * pos * pos -> token val PREFER: pos * pos -> token val PREC_TAG: pos * pos -> token val PREC: (Header.prec) * pos * pos -> token val PERCENT_TOKEN_SIG_INFO: pos * pos -> token val PERCENT_ARG: pos * pos -> token val PERCENT_POS: pos * pos -> token val PERCENT_PURE: pos * pos -> token val PERCENT_EOP: pos * pos -> token val OF: pos * pos -> token val NOSHIFT: pos * pos -> token val NONTERM: pos * pos -> token val NODEFAULT: pos * pos -> token val NAME: pos * pos -> token val LPAREN: pos * pos -> token val LBRACE: pos * pos -> token val KEYWORD: pos * pos -> token val INT: (string) * pos * pos -> token val PERCENT_BLOCKSIZE: pos * pos -> token val PERCENT_DECOMPOSE: pos * pos -> token val PERCENT_FOOTER: pos * pos -> token val PERCENT_HEADER: pos * pos -> token val IDDOT: (string) * pos * pos -> token val ID: (string*int) * pos * pos -> token val HEADER: (string) * pos * pos -> token val FOR: pos * pos -> token val EOF: pos * pos -> token val DELIMITER: pos * pos -> token val COMMA: pos * pos -> token val COLON: pos * pos -> token val CHANGE: pos * pos -> token val BAR: pos * pos -> token val BLOCK: pos * pos -> token val ASTERISK: pos * pos -> token val ARROW: pos * pos -> token end signature Mlyacc_LRVALS= sig structure Tokens : Mlyacc_TOKENS structure ParserData:PARSER_DATA sharing type ParserData.Token.token = Tokens.token sharing type ParserData.svalue = Tokens.svalue end smlsharp-1.2.0/src/ml-yacc/src/yacc.grm.smi0000644 000000000000000000000621612050661606020630 0ustar00rootroot0000000 0000000 _require "../../basis.smi" _require "../../ml-yacc/lib/base.sig" _require "../../ml-yacc/lib/parser2.smi" _require "utils.sig" _require "sigs.sml" _require "hdr.smi" _require "yacc.grm.sig" structure LrVals = struct structure ParserData = struct type pos = int type svalue (= boxed) type arg = Header.inputSource type result = string * Header.declData * (Header.rule list) structure ParserArg = struct type pos = pos type svalue = svalue type arg = arg end structure LrParser = LrParserFun(ParserArg) structure Token = LrParser.Token structure LrTable = LrParser.LrTable structure Actions = struct val actions : int * pos * (LrTable.state * (svalue * pos * pos)) list * arg -> LrTable.nonterm * (svalue * pos * pos) * (LrTable.state *(svalue * pos * pos)) list val void : svalue val extract : svalue -> result end structure EC = struct val is_keyword : LrTable.term -> bool val noShift : LrTable.term -> bool val preferred_change : (LrTable.term list * LrTable.term list) list val errtermvalue : LrTable.term -> svalue val showTerminal : LrTable.term -> string val terms: LrTable.term list end val table : LrTable.table end structure Tokens = struct type pos = ParserData.pos type svalue = ParserData.svalue type token = ParserData.Token.token val BOGUS_VALUE : pos * pos -> token val UNKNOWN : string * pos * pos -> token val VALUE : pos * pos -> token val VERBOSE : pos * pos -> token val TYVAR : string * pos * pos -> token val TERM : pos * pos -> token val START : pos * pos -> token val SUBST : pos * pos -> token val RPAREN : pos * pos -> token val RBRACE : pos * pos -> token val PROG : string * pos * pos -> token val PREFER : pos * pos -> token val PREC_TAG : pos * pos -> token val PREC : Header.prec * pos * pos -> token val PERCENT_TOKEN_SIG_INFO : pos * pos -> token val PERCENT_ARG : pos * pos -> token val PERCENT_POS : pos * pos -> token val PERCENT_PURE : pos * pos -> token val PERCENT_EOP : pos * pos -> token val OF : pos * pos -> token val NOSHIFT : pos * pos -> token val NONTERM : pos * pos -> token val NODEFAULT : pos * pos -> token val NAME : pos * pos -> token val LPAREN : pos * pos -> token val LBRACE : pos * pos -> token val KEYWORD : pos * pos -> token val INT : string * pos * pos -> token val PERCENT_BLOCKSIZE: pos * pos -> token val PERCENT_DECOMPOSE: pos * pos -> token val PERCENT_FOOTER : pos * pos -> token val PERCENT_HEADER : pos * pos -> token val IDDOT : string * pos * pos -> token val ID : (string * int) * pos * pos -> token val HEADER : string * pos * pos -> token val FOR : pos * pos -> token val EOF : pos * pos -> token val DELIMITER : pos * pos -> token val COMMA : pos * pos -> token val COLON : pos * pos -> token val CHANGE : pos * pos -> token val BAR : pos * pos -> token val BLOCK : pos * pos -> token val ASTERISK : pos * pos -> token val ARROW : pos * pos -> token end end smlsharp-1.2.0/src/ml-yacc/src/yacc.grm.sml0000644 000000000000000000011242512050661606020633 0ustar00rootroot0000000 0000000 structure LrVals = struct structure ParserData= struct structure Header = struct (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi *) (* parser for the ML parser generator *) (* 2012-1-13 ohori %footer added for defuncteringing ml.grm.sml *) open Header end local open Header in type pos = int type arg = Header.inputSource structure MlyValue = struct datatype svalue = VOID | ntVOID of unit -> unit | UNKNOWN of unit -> (string) | TYVAR of unit -> (string) | PROG of unit -> (string) | PREC of unit -> (Header.prec) | INT of unit -> (string) | IDDOT of unit -> (string) | ID of unit -> (string*int) | HEADER of unit -> (string) | TY of unit -> (string) | CHANGE_DEC of unit -> ( ( Header.symbol list * Header.symbol list ) ) | CHANGE_DECL of unit -> ( ( Header.symbol list * Header.symbol list ) list) | SUBST_DEC of unit -> ( ( Header.symbol list * Header.symbol list ) ) | SUBST_DECL of unit -> ( ( Header.symbol list * Header.symbol list ) list) | G_RULE_PREC of unit -> (Header.symbol option) | G_RULE_LIST of unit -> (Header.rule list) | G_RULE of unit -> (Header.rule list) | RHS_LIST of unit -> ({ rhs:Header.symbol list,code:string,prec:Header.symbol option } list) | RECORD_LIST of unit -> (string) | QUAL_ID of unit -> (string) | MPC_DECLS of unit -> (Header.declData) | MPC_DECL of unit -> (Header.declData) | LABEL of unit -> (string) | ID_LIST of unit -> (Header.symbol list) | CONSTR_LIST of unit -> ( ( Header.symbol * Header.ty option ) list) | BEGIN of unit -> (string*Header.declData* ( Header.rule list ) ) end type svalue = MlyValue.svalue type result = string*Header.declData* ( Header.rule list ) end structure ParserArg = struct type pos = pos type svalue = svalue type arg = arg end structure LrParser = LrParserFun(ParserArg) structure Token = LrParser.Token structure LrTable = LrParser.LrTable local open LrTable in val table=let val actionRows = "\ \\001\000\001\000\082\000\000\000\ \\001\000\005\000\028\000\008\000\027\000\014\000\026\000\015\000\025\000\ \\016\000\024\000\017\000\023\000\019\000\022\000\022\000\021\000\ \\023\000\020\000\024\000\019\000\025\000\018\000\027\000\017\000\ \\028\000\016\000\029\000\015\000\030\000\014\000\031\000\013\000\ \\032\000\012\000\034\000\011\000\038\000\010\000\039\000\009\000\ \\040\000\008\000\042\000\007\000\043\000\006\000\000\000\ \\001\000\006\000\069\000\000\000\ \\001\000\006\000\080\000\000\000\ \\001\000\006\000\092\000\000\000\ \\001\000\006\000\104\000\000\000\ \\001\000\007\000\091\000\036\000\090\000\000\000\ \\001\000\009\000\000\000\000\000\ \\001\000\010\000\067\000\000\000\ \\001\000\011\000\003\000\000\000\ \\001\000\012\000\029\000\000\000\ \\001\000\012\000\031\000\000\000\ \\001\000\012\000\032\000\000\000\ \\001\000\012\000\035\000\000\000\ \\001\000\012\000\047\000\013\000\046\000\000\000\ \\001\000\012\000\047\000\013\000\046\000\020\000\045\000\035\000\044\000\ \\041\000\043\000\000\000\ \\001\000\012\000\051\000\000\000\ \\001\000\012\000\059\000\000\000\ \\001\000\012\000\077\000\018\000\076\000\000\000\ \\001\000\012\000\077\000\018\000\076\000\036\000\075\000\000\000\ \\001\000\012\000\083\000\000\000\ \\001\000\012\000\086\000\000\000\ \\001\000\012\000\107\000\000\000\ \\001\000\035\000\039\000\000\000\ \\001\000\035\000\040\000\000\000\ \\001\000\035\000\053\000\000\000\ \\001\000\035\000\054\000\000\000\ \\001\000\035\000\055\000\000\000\ \\001\000\035\000\056\000\000\000\ \\001\000\035\000\063\000\000\000\ \\001\000\035\000\106\000\000\000\ \\001\000\035\000\110\000\000\000\ \\112\000\012\000\059\000\000\000\ \\113\000\000\000\ \\114\000\000\000\ \\115\000\004\000\064\000\000\000\ \\116\000\004\000\064\000\000\000\ \\117\000\000\000\ \\118\000\000\000\ \\119\000\000\000\ \\120\000\000\000\ \\121\000\000\000\ \\122\000\000\000\ \\123\000\000\000\ \\124\000\000\000\ \\125\000\000\000\ \\126\000\000\000\ \\127\000\000\000\ \\128\000\000\000\ \\129\000\000\000\ \\130\000\000\000\ \\131\000\001\000\072\000\002\000\071\000\012\000\047\000\013\000\046\000\000\000\ \\132\000\000\000\ \\133\000\000\000\ \\134\000\000\000\ \\135\000\001\000\072\000\002\000\071\000\012\000\047\000\013\000\046\000\000\000\ \\136\000\000\000\ \\137\000\000\000\ \\138\000\004\000\081\000\000\000\ \\139\000\000\000\ \\140\000\000\000\ \\141\000\004\000\066\000\000\000\ \\142\000\000\000\ \\143\000\001\000\072\000\002\000\071\000\012\000\047\000\013\000\046\000\000\000\ \\144\000\026\000\097\000\000\000\ \\145\000\001\000\072\000\002\000\071\000\012\000\047\000\013\000\046\000\000\000\ \\146\000\026\000\065\000\000\000\ \\147\000\004\000\100\000\000\000\ \\148\000\000\000\ \\149\000\000\000\ \\150\000\000\000\ \\151\000\012\000\037\000\000\000\ \\152\000\000\000\ \\153\000\000\000\ \\154\000\000\000\ \\155\000\000\000\ \\156\000\000\000\ \\157\000\000\000\ \\158\000\000\000\ \\159\000\000\000\ \\160\000\012\000\047\000\013\000\046\000\000\000\ \\161\000\001\000\072\000\002\000\071\000\012\000\047\000\013\000\046\000\000\000\ \\162\000\001\000\072\000\002\000\071\000\012\000\047\000\013\000\046\000\000\000\ \\163\000\001\000\072\000\002\000\071\000\012\000\047\000\013\000\046\000\000\000\ \\164\000\000\000\ \\165\000\000\000\ \\166\000\000\000\ \\167\000\000\000\ \\168\000\000\000\ \\169\000\033\000\102\000\000\000\ \" val actionRowNumbers = "\009\000\034\000\001\000\033\000\ \\010\000\052\000\011\000\012\000\ \\013\000\071\000\071\000\023\000\ \\024\000\015\000\054\000\071\000\ \\071\000\011\000\053\000\016\000\ \\071\000\025\000\026\000\027\000\ \\028\000\017\000\071\000\029\000\ \\035\000\066\000\038\000\061\000\ \\043\000\008\000\041\000\071\000\ \\037\000\049\000\002\000\055\000\ \\079\000\074\000\077\000\019\000\ \\014\000\084\000\039\000\044\000\ \\036\000\050\000\040\000\048\000\ \\047\000\046\000\045\000\032\000\ \\069\000\003\000\058\000\042\000\ \\000\000\056\000\020\000\015\000\ \\013\000\021\000\070\000\015\000\ \\078\000\015\000\015\000\006\000\ \\004\000\076\000\087\000\086\000\ \\085\000\068\000\071\000\071\000\ \\071\000\064\000\065\000\060\000\ \\062\000\051\000\080\000\081\000\ \\075\000\018\000\015\000\067\000\ \\089\000\057\000\059\000\015\000\ \\005\000\083\000\071\000\030\000\ \\022\000\063\000\015\000\089\000\ \\072\000\088\000\082\000\031\000\ \\073\000\007\000" val gotoT = "\ \\001\000\109\000\000\000\ \\006\000\002\000\000\000\ \\005\000\003\000\000\000\ \\000\000\ \\000\000\ \\000\000\ \\002\000\028\000\000\000\ \\000\000\ \\013\000\032\000\014\000\031\000\000\000\ \\003\000\034\000\000\000\ \\003\000\036\000\000\000\ \\000\000\ \\000\000\ \\007\000\040\000\017\000\039\000\000\000\ \\000\000\ \\003\000\046\000\000\000\ \\003\000\047\000\000\000\ \\002\000\048\000\000\000\ \\000\000\ \\000\000\ \\003\000\050\000\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\010\000\056\000\011\000\055\000\000\000\ \\003\000\060\000\015\000\059\000\016\000\058\000\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\003\000\066\000\000\000\ \\000\000\ \\000\000\ \\000\000\ \\007\000\068\000\000\000\ \\000\000\ \\000\000\ \\000\000\ \\004\000\072\000\008\000\071\000\000\000\ \\007\000\076\000\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\010\000\077\000\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\007\000\040\000\017\000\082\000\000\000\ \\013\000\083\000\014\000\031\000\000\000\ \\000\000\ \\000\000\ \\007\000\040\000\017\000\085\000\000\000\ \\000\000\ \\007\000\040\000\017\000\086\000\000\000\ \\007\000\040\000\017\000\087\000\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\000\000\ \\003\000\092\000\009\000\091\000\000\000\ \\003\000\060\000\015\000\093\000\016\000\058\000\000\000\ \\003\000\094\000\000\000\ \\000\000\ \\007\000\068\000\000\000\ \\000\000\ \\000\000\ \\007\000\068\000\000\000\ \\007\000\068\000\000\000\ \\007\000\068\000\000\000\ \\000\000\ \\004\000\096\000\000\000\ \\007\000\040\000\017\000\097\000\000\000\ \\000\000\ \\012\000\099\000\000\000\ \\000\000\ \\000\000\ \\007\000\040\000\017\000\101\000\000\000\ \\000\000\ \\007\000\068\000\000\000\ \\003\000\103\000\000\000\ \\000\000\ \\000\000\ \\007\000\068\000\000\000\ \\007\000\040\000\017\000\106\000\000\000\ \\012\000\107\000\000\000\ \\000\000\ \\000\000\ \\007\000\068\000\000\000\ \\000\000\ \\000\000\ \\000\000\ \" val numstates = 110 val numrules = 58 val s = ref "" and index = ref 0 val string_to_int = fn () => let val i = !index in index := i+2; Char.ord(String.sub(!s,i)) + Char.ord(String.sub(!s,i+1)) * 256 end val string_to_list = fn s' => let val len = String.size s' fun f () = if !index < len then string_to_int() :: f() else nil in index := 0; s := s'; f () end val string_to_pairlist = fn (conv_key,conv_entry) => let fun f () = case string_to_int() of 0 => EMPTY | n => PAIR(conv_key (n-1),conv_entry (string_to_int()),f()) in f end val string_to_pairlist_default = fn (conv_key,conv_entry) => let val conv_row = string_to_pairlist(conv_key,conv_entry) in fn () => let val default = conv_entry(string_to_int()) val row = conv_row() in (row,default) end end val string_to_table = fn (convert_row,s') => let val len = String.size s' fun f ()= if !index < len then convert_row() :: f() else nil in (s := s'; index := 0; f ()) end local val memo = Array.array(numstates+numrules,ERROR) val _ =let fun g i=(Array.update(memo,i,REDUCE(i-numstates)); g(i+1)) fun f i = if i=numstates then g i else (Array.update(memo,i,SHIFT (STATE i)); f (i+1)) in f 0 handle Subscript => () end in val entry_to_action = fn 0 => ACCEPT | 1 => ERROR | j => Array.sub(memo,(j-2)) end val gotoT=Array.fromList(string_to_table(string_to_pairlist(NT,STATE),gotoT)) val actionRows=string_to_table(string_to_pairlist_default(T,entry_to_action),actionRows) val actionRowNumbers = string_to_list actionRowNumbers val actionT = let val actionRowLookUp= let val a=Array.fromList(actionRows) in fn i=>Array.sub(a,i) end in Array.fromList(map actionRowLookUp actionRowNumbers) end in LrTable.mkLrTable {actions=actionT,gotos=gotoT,numRules=numrules, numStates=numstates,initialState=STATE 0} end end structure EC= struct open LrTable infix 5 $$ fun x $$ y = y::x val is_keyword = fn _ => false val preferred_change : (term list * term list) list = nil val noShift = fn (T 8) => true | _ => false val showTerminal = fn (T 0) => "ARROW" | (T 1) => "ASTERISK" | (T 2) => "BLOCK" | (T 3) => "BAR" | (T 4) => "CHANGE" | (T 5) => "COLON" | (T 6) => "COMMA" | (T 7) => "DELIMITER" | (T 8) => "EOF" | (T 9) => "FOR" | (T 10) => "HEADER" | (T 11) => "ID" | (T 12) => "IDDOT" | (T 13) => "PERCENT_HEADER" | (T 14) => "PERCENT_FOOTER" | (T 15) => "PERCENT_DECOMPOSE" | (T 16) => "PERCENT_BLOCKSIZE" | (T 17) => "INT" | (T 18) => "KEYWORD" | (T 19) => "LBRACE" | (T 20) => "LPAREN" | (T 21) => "NAME" | (T 22) => "NODEFAULT" | (T 23) => "NONTERM" | (T 24) => "NOSHIFT" | (T 25) => "OF" | (T 26) => "PERCENT_EOP" | (T 27) => "PERCENT_PURE" | (T 28) => "PERCENT_POS" | (T 29) => "PERCENT_ARG" | (T 30) => "PERCENT_TOKEN_SIG_INFO" | (T 31) => "PREC" | (T 32) => "PREC_TAG" | (T 33) => "PREFER" | (T 34) => "PROG" | (T 35) => "RBRACE" | (T 36) => "RPAREN" | (T 37) => "SUBST" | (T 38) => "START" | (T 39) => "TERM" | (T 40) => "TYVAR" | (T 41) => "VERBOSE" | (T 42) => "VALUE" | (T 43) => "UNKNOWN" | (T 44) => "BOGUS_VALUE" | _ => "bogus-term" local open Header in val errtermvalue= fn _ => MlyValue.VOID end val terms : term list = nil $$ (T 44) $$ (T 42) $$ (T 41) $$ (T 39) $$ (T 38) $$ (T 37) $$ (T 36) $$ (T 35) $$ (T 33) $$ (T 32) $$ (T 30) $$ (T 29) $$ (T 28) $$ (T 27) $$ (T 26) $$ (T 25) $$ (T 24) $$ (T 23) $$ (T 22) $$ (T 21) $$ (T 20) $$ (T 19) $$ (T 18) $$ (T 16) $$ (T 15) $$ (T 14) $$ (T 13) $$ (T 9) $$ (T 8) $$ (T 7) $$ (T 6) $$ (T 5) $$ (T 4) $$ (T 3) $$ (T 2) $$ (T 1) $$ (T 0)end structure Actions = struct exception mlyAction of int local open Header in fun actionFun1 (i392:int,defaultPos:pos,stack:(LrTable.state * (svalue * pos * pos)) list, (inputSource):arg) = case (i392, stack) of ( 0, ( ( _, ( MlyValue.G_RULE_LIST G_RULE_LIST1, _, G_RULE_LIST1right )) :: _ :: ( _, ( MlyValue.MPC_DECLS MPC_DECLS1, _, _)) :: ( _, ( MlyValue.HEADER HEADER1, HEADER1left, _)) :: rest671)) => let val result = MlyValue.BEGIN (fn _ => let val (HEADER as HEADER1) = HEADER1 () val (MPC_DECLS as MPC_DECLS1) = MPC_DECLS1 () val (G_RULE_LIST as G_RULE_LIST1) = G_RULE_LIST1 () in (HEADER,MPC_DECLS,rev G_RULE_LIST) end) in ( LrTable.NT 0, ( result, HEADER1left, G_RULE_LIST1right), rest671 ) end | ( 1, ( ( _, ( MlyValue.MPC_DECL MPC_DECL1, MPC_DECLleft, MPC_DECL1right)) :: ( _, ( MlyValue.MPC_DECLS MPC_DECLS1, MPC_DECLS1left, _)) :: rest671)) => let val result = MlyValue.MPC_DECLS (fn _ => let val (MPC_DECLS as MPC_DECLS1) = MPC_DECLS1 () val (MPC_DECL as MPC_DECL1) = MPC_DECL1 () in (join_decls(MPC_DECLS,MPC_DECL,inputSource,MPC_DECLleft)) end) in ( LrTable.NT 5, ( result, MPC_DECLS1left, MPC_DECL1right), rest671 ) end | ( 2, ( rest671)) => let val result = MlyValue.MPC_DECLS (fn _ => ( DECL {prec=nil,nonterm=NONE,term=NONE,eop=nil,control=nil, keyword=nil,change=nil, value=nil} )) in ( LrTable.NT 5, ( result, defaultPos, defaultPos), rest671) end | ( 3, ( ( _, ( MlyValue.CONSTR_LIST CONSTR_LIST1, _, CONSTR_LIST1right)) :: ( _, ( _, TERM1left, _)) :: rest671)) => let val result = MlyValue.MPC_DECL (fn _ => let val (CONSTR_LIST as CONSTR_LIST1) = CONSTR_LIST1 () in ( DECL { prec=nil,nonterm=NONE, term = SOME CONSTR_LIST, eop =nil,control=nil, change=nil,keyword=nil, value=nil} ) end) in ( LrTable.NT 4, ( result, TERM1left, CONSTR_LIST1right), rest671) end | ( 4, ( ( _, ( MlyValue.CONSTR_LIST CONSTR_LIST1, _, CONSTR_LIST1right)) :: ( _, ( _, NONTERM1left, _)) :: rest671)) => let val result = MlyValue.MPC_DECL (fn _ => let val (CONSTR_LIST as CONSTR_LIST1) = CONSTR_LIST1 () in ( DECL { prec=nil,control=nil,nonterm= SOME CONSTR_LIST, term = NONE, eop=nil,change=nil,keyword=nil, value=nil} ) end) in ( LrTable.NT 4, ( result, NONTERM1left, CONSTR_LIST1right), rest671) end | ( 5, ( ( _, ( MlyValue.ID_LIST ID_LIST1, _, ID_LIST1right)) :: ( _, ( MlyValue.PREC PREC1, PREC1left, _)) :: rest671)) => let val result = MlyValue.MPC_DECL (fn _ => let val (PREC as PREC1) = PREC1 () val (ID_LIST as ID_LIST1) = ID_LIST1 () in ( DECL {prec= [(PREC,ID_LIST)],control=nil, nonterm=NONE,term=NONE,eop=nil,change=nil, keyword=nil,value=nil} ) end) in ( LrTable.NT 4, ( result, PREC1left, ID_LIST1right), rest671) end | ( 6, ( ( _, ( MlyValue.ID ID1, _, ID1right)) :: ( _, ( _, START1left, _)) :: rest671)) => let val result = MlyValue.MPC_DECL (fn _ => let val (ID as ID1) = ID1 () in ( DECL {prec=nil,control=[START_SYM (symbolMake ID)],nonterm=NONE, term = NONE, eop = nil,change=nil,keyword=nil, value=nil} ) end) in ( LrTable.NT 4, ( result, START1left, ID1right), rest671) end | ( 7, ( ( _, ( MlyValue.ID_LIST ID_LIST1, _, ID_LIST1right)) :: ( _, ( _, PERCENT_EOP1left, _)) :: rest671)) => let val result = MlyValue.MPC_DECL (fn _ => let val (ID_LIST as ID_LIST1) = ID_LIST1 () in ( DECL {prec=nil,control=nil,nonterm=NONE,term=NONE, eop=ID_LIST, change=nil,keyword=nil, value=nil} ) end) in ( LrTable.NT 4, ( result, PERCENT_EOP1left, ID_LIST1right), rest671) end | ( 8, ( ( _, ( MlyValue.ID_LIST ID_LIST1, _, ID_LIST1right)) :: ( _, ( _, KEYWORD1left, _)) :: rest671)) => let val result = MlyValue.MPC_DECL (fn _ => let val (ID_LIST as ID_LIST1) = ID_LIST1 () in ( DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil, change=nil,keyword=ID_LIST, value=nil} ) end) in ( LrTable.NT 4, ( result, KEYWORD1left, ID_LIST1right), rest671) end | ( 9, ( ( _, ( MlyValue.ID_LIST ID_LIST1, _, ID_LIST1right)) :: ( _, ( _, PREFER1left, _)) :: rest671)) => let val result = MlyValue.MPC_DECL (fn _ => let val (ID_LIST as ID_LIST1) = ID_LIST1 () in ( DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil, change=map (fn i=>([],[i])) ID_LIST,keyword=nil, value=nil} ) end) in ( LrTable.NT 4, ( result, PREFER1left, ID_LIST1right), rest671) end | ( 10, ( ( _, ( MlyValue.CHANGE_DECL CHANGE_DECL1, _, CHANGE_DECL1right)) :: ( _, ( _, CHANGE1left, _)) :: rest671)) => let val result = MlyValue.MPC_DECL (fn _ => let val (CHANGE_DECL as CHANGE_DECL1) = CHANGE_DECL1 () in ( DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil, change=CHANGE_DECL,keyword=nil, value=nil} ) end) in ( LrTable.NT 4, ( result, CHANGE1left, CHANGE_DECL1right), rest671 ) end | ( 11, ( ( _, ( MlyValue.SUBST_DECL SUBST_DECL1, _, SUBST_DECL1right )) :: ( _, ( _, SUBST1left, _)) :: rest671)) => let val result = MlyValue.MPC_DECL (fn _ => let val (SUBST_DECL as SUBST_DECL1) = SUBST_DECL1 () in ( DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil, change=SUBST_DECL,keyword=nil, value=nil} ) end) in ( LrTable.NT 4, ( result, SUBST1left, SUBST_DECL1right), rest671) end | ( 12, ( ( _, ( MlyValue.ID_LIST ID_LIST1, _, ID_LIST1right)) :: ( _ , ( _, NOSHIFT1left, _)) :: rest671)) => let val result = MlyValue.MPC_DECL (fn _ => let val (ID_LIST as ID_LIST1) = ID_LIST1 () in ( DECL {prec=nil,control=[NSHIFT ID_LIST],nonterm=NONE,term=NONE, eop=nil,change=nil,keyword=nil, value=nil} ) end) in ( LrTable.NT 4, ( result, NOSHIFT1left, ID_LIST1right), rest671) end | ( 13, ( ( _, ( MlyValue.PROG PROG1, _, PROG1right)) :: ( _, ( _, PERCENT_HEADER1left, _)) :: rest671)) => let val result = MlyValue.MPC_DECL (fn _ => let val (PROG as PROG1) = PROG1 () in ( DECL {prec=nil,control=[FUNCTOR PROG],nonterm=NONE,term=NONE, eop=nil,change=nil,keyword=nil, value=nil} ) end) in ( LrTable.NT 4, ( result, PERCENT_HEADER1left, PROG1right), rest671) end | ( 14, ( ( _, ( MlyValue.PROG PROG1, _, PROG1right)) :: ( _, ( _, PERCENT_FOOTER1left, _)) :: rest671)) => let val result = MlyValue.MPC_DECL (fn _ => let val (PROG as PROG1) = PROG1 () in ( DECL {prec=nil,control=[FOOTER PROG],nonterm=NONE,term=NONE, eop=nil,change=nil,keyword=nil, value=nil} ) end) in ( LrTable.NT 4, ( result, PERCENT_FOOTER1left, PROG1right), rest671) end | ( 15, ( ( _, ( MlyValue.PROG PROG1, _, PROG1right)) :: ( _, ( _, PERCENT_DECOMPOSE1left, _)) :: rest671)) => let val result = MlyValue.MPC_DECL (fn _ => let val (PROG as PROG1) = PROG1 () in ( DECL {prec=nil,control=[DECOMPOSE PROG],nonterm=NONE,term=NONE, eop=nil,change=nil,keyword=nil, value=nil} ) end) in ( LrTable.NT 4, ( result, PERCENT_DECOMPOSE1left, PROG1right), rest671) end | ( 16, ( ( _, ( MlyValue.PROG PROG1, _, PROG1right)) :: ( _, ( _, PERCENT_BLOCKSIZE1left, _)) :: rest671)) => let val result = MlyValue.MPC_DECL (fn _ => let val (PROG as PROG1) = PROG1 () in ( DECL {prec=nil,control=[BLOCKSIZE PROG],nonterm=NONE,term=NONE, eop=nil,change=nil,keyword=nil, value=nil} ) end) in ( LrTable.NT 4, ( result, PERCENT_BLOCKSIZE1left, PROG1right), rest671) end | ( 17, ( ( _, ( MlyValue.PROG PROG1, _, PROG1right)) :: ( _, ( _, PERCENT_TOKEN_SIG_INFO1left, _)) :: rest671)) => let val result = MlyValue.MPC_DECL (fn _ => let val (PROG as PROG1) = PROG1 () in ( DECL {prec=nil,control=[TOKEN_SIG_INFO PROG], nonterm=NONE,term=NONE, eop=nil,change=nil,keyword=nil, value=nil} ) end) in ( LrTable.NT 4, ( result, PERCENT_TOKEN_SIG_INFO1left, PROG1right) , rest671) end | ( 18, ( ( _, ( MlyValue.ID ID1, _, ID1right)) :: ( _, ( _, NAME1left, _)) :: rest671)) => let val result = MlyValue.MPC_DECL (fn _ => let val (ID as ID1) = ID1 () in ( DECL {prec=nil,control=[PARSER_NAME (symbolMake ID)], nonterm=NONE,term=NONE, eop=nil,change=nil,keyword=nil, value=nil} ) end) in ( LrTable.NT 4, ( result, NAME1left, ID1right), rest671) end | ( 19, ( ( _, ( MlyValue.TY TY1, _, TY1right)) :: _ :: ( _, ( MlyValue.PROG PROG1, _, _)) :: ( _, ( _, PERCENT_ARG1left, _)) :: rest671)) => let val result = MlyValue.MPC_DECL (fn _ => let val ( PROG as PROG1) = PROG1 () val (TY as TY1) = TY1 () in ( DECL {prec=nil,control=[PARSE_ARG(PROG,TY)],nonterm=NONE, term=NONE,eop=nil,change=nil,keyword=nil, value=nil} ) end) in ( LrTable.NT 4, ( result, PERCENT_ARG1left, TY1right), rest671) end | ( 20, ( ( _, ( _, VERBOSE1left, VERBOSE1right)) :: rest671)) => let val result = MlyValue.MPC_DECL (fn _ => ( DECL {prec=nil,control=[Header.VERBOSE], nonterm=NONE,term=NONE,eop=nil, change=nil,keyword=nil, value=nil} )) in ( LrTable.NT 4, ( result, VERBOSE1left, VERBOSE1right), rest671) end | ( 21, ( ( _, ( _, NODEFAULT1left, NODEFAULT1right)) :: rest671)) => let val result = MlyValue.MPC_DECL (fn _ => ( DECL {prec=nil,control=[Header.NODEFAULT], nonterm=NONE,term=NONE,eop=nil, change=nil,keyword=nil, value=nil} )) in ( LrTable.NT 4, ( result, NODEFAULT1left, NODEFAULT1right), rest671) end | ( 22, ( ( _, ( _, PERCENT_PURE1left, PERCENT_PURE1right)) :: rest671)) => let val result = MlyValue.MPC_DECL (fn _ => ( DECL {prec=nil,control=[Header.PURE], nonterm=NONE,term=NONE,eop=nil, change=nil,keyword=nil, value=nil} )) in ( LrTable.NT 4, ( result, PERCENT_PURE1left, PERCENT_PURE1right), rest671) end | ( 23, ( ( _, ( MlyValue.TY TY1, _, TY1right)) :: ( _, ( _, PERCENT_POS1left, _)) :: rest671)) => let val result = MlyValue.MPC_DECL (fn _ => let val (TY as TY1) = TY1 () in ( DECL {prec=nil,control=[Header.POS TY], nonterm=NONE,term=NONE,eop=nil, change=nil,keyword=nil, value=nil} ) end) in ( LrTable.NT 4, ( result, PERCENT_POS1left, TY1right), rest671) end | ( 24, ( ( _, ( MlyValue.PROG PROG1, _, PROG1right)) :: ( _, ( MlyValue.ID ID1, _, _)) :: ( _, ( _, VALUE1left, _)) :: rest671)) => let val result = MlyValue.MPC_DECL (fn _ => let val (ID as ID1) = ID1 () val (PROG as PROG1) = PROG1 () in ( DECL {prec=nil,control=nil, nonterm=NONE,term=NONE,eop=nil, change=nil,keyword=nil, value=[(symbolMake ID,PROG)]} ) end) in ( LrTable.NT 4, ( result, VALUE1left, PROG1right), rest671) end | ( 25, ( ( _, ( MlyValue.CHANGE_DECL CHANGE_DECL1, _, CHANGE_DECL1right)) :: _ :: ( _, ( MlyValue.CHANGE_DEC CHANGE_DEC1, CHANGE_DEC1left, _)) :: rest671)) => let val result = MlyValue.CHANGE_DECL (fn _ => let val (CHANGE_DEC as CHANGE_DEC1) = CHANGE_DEC1 () val (CHANGE_DECL as CHANGE_DECL1) = CHANGE_DECL1 () in (CHANGE_DEC :: CHANGE_DECL) end) in ( LrTable.NT 14, ( result, CHANGE_DEC1left, CHANGE_DECL1right), rest671) end | ( 26, ( ( _, ( MlyValue.CHANGE_DEC CHANGE_DEC1, CHANGE_DEC1left, CHANGE_DEC1right)) :: rest671)) => let val result = MlyValue.CHANGE_DECL (fn _ => let val (CHANGE_DEC as CHANGE_DEC1) = CHANGE_DEC1 () in ([CHANGE_DEC]) end) in ( LrTable.NT 14, ( result, CHANGE_DEC1left, CHANGE_DEC1right), rest671) end | ( 27, ( ( _, ( MlyValue.ID_LIST ID_LIST2, _, ID_LIST2right)) :: _ :: ( _, ( MlyValue.ID_LIST ID_LIST1, ID_LIST1left, _)) :: rest671)) => let val result = MlyValue.CHANGE_DEC (fn _ => let val ID_LIST1 = ID_LIST1 () val ID_LIST2 = ID_LIST2 () in (ID_LIST1, ID_LIST2) end) in ( LrTable.NT 15, ( result, ID_LIST1left, ID_LIST2right), rest671) end | ( 28, ( ( _, ( MlyValue.SUBST_DECL SUBST_DECL1, _, SUBST_DECL1right )) :: _ :: ( _, ( MlyValue.SUBST_DEC SUBST_DEC1, SUBST_DEC1left, _)) :: rest671)) => let val result = MlyValue.SUBST_DECL (fn _ => let val (SUBST_DEC as SUBST_DEC1) = SUBST_DEC1 () val (SUBST_DECL as SUBST_DECL1) = SUBST_DECL1 () in (SUBST_DEC :: SUBST_DECL) end) in ( LrTable.NT 12, ( result, SUBST_DEC1left, SUBST_DECL1right), rest671) end | ( 29, ( ( _, ( MlyValue.SUBST_DEC SUBST_DEC1, SUBST_DEC1left, SUBST_DEC1right)) :: rest671)) => let val result = MlyValue.SUBST_DECL (fn _ => let val (SUBST_DEC as SUBST_DEC1) = SUBST_DEC1 () in ([SUBST_DEC]) end) in ( LrTable.NT 12, ( result, SUBST_DEC1left, SUBST_DEC1right), rest671) end | ( 30, ( ( _, ( MlyValue.ID ID2, _, ID2right)) :: _ :: ( _, ( MlyValue.ID ID1, ID1left, _)) :: rest671)) => let val result = MlyValue.SUBST_DEC (fn _ => let val ID1 = ID1 () val ID2 = ID2 () in ([symbolMake ID2],[symbolMake ID1]) end) in ( LrTable.NT 13, ( result, ID1left, ID2right), rest671) end | ( 31, ( ( _, ( MlyValue.TY TY1, _, TY1right)) :: _ :: ( _, ( MlyValue.ID ID1, _, _)) :: _ :: ( _, ( MlyValue.CONSTR_LIST CONSTR_LIST1, CONSTR_LIST1left, _)) :: rest671)) => let val result = MlyValue.CONSTR_LIST (fn _ => let val (CONSTR_LIST as CONSTR_LIST1) = CONSTR_LIST1 () val (ID as ID1) = ID1 () val (TY as TY1) = TY1 () in ((symbolMake ID,SOME (tyMake TY))::CONSTR_LIST) end) in ( LrTable.NT 1, ( result, CONSTR_LIST1left, TY1right), rest671) end | ( 32, ( ( _, ( MlyValue.ID ID1, _, ID1right)) :: _ :: ( _, ( MlyValue.CONSTR_LIST CONSTR_LIST1, CONSTR_LIST1left, _)) :: rest671)) => let val result = MlyValue.CONSTR_LIST (fn _ => let val ( CONSTR_LIST as CONSTR_LIST1) = CONSTR_LIST1 () val (ID as ID1) = ID1 () in ((symbolMake ID,NONE)::CONSTR_LIST) end) in ( LrTable.NT 1, ( result, CONSTR_LIST1left, ID1right), rest671) end | ( 33, ( ( _, ( MlyValue.TY TY1, _, TY1right)) :: _ :: ( _, ( MlyValue.ID ID1, ID1left, _)) :: rest671)) => let val result = MlyValue.CONSTR_LIST (fn _ => let val (ID as ID1) = ID1 () val (TY as TY1) = TY1 () in ([(symbolMake ID,SOME (tyMake TY))]) end) in ( LrTable.NT 1, ( result, ID1left, TY1right), rest671) end | ( 34, ( ( _, ( MlyValue.ID ID1, ID1left, ID1right)) :: rest671)) => let val result = MlyValue.CONSTR_LIST (fn _ => let val (ID as ID1) = ID1 () in ([(symbolMake ID,NONE)]) end) in ( LrTable.NT 1, ( result, ID1left, ID1right), rest671) end | ( 35, ( ( _, ( MlyValue.RHS_LIST RHS_LIST1, _, RHS_LIST1right)) :: _ :: ( _, ( MlyValue.ID ID1, ID1left, _)) :: rest671)) => let val result = MlyValue.G_RULE (fn _ => let val (ID as ID1) = ID1 () val (RHS_LIST as RHS_LIST1) = RHS_LIST1 () in ( map (fn {rhs,code,prec} => Header.RULE {lhs=symbolMake ID,rhs=rhs, code=code,prec=prec}) RHS_LIST ) end) in ( LrTable.NT 9, ( result, ID1left, RHS_LIST1right), rest671) end | ( 36, ( ( _, ( MlyValue.G_RULE G_RULE1, _, G_RULE1right)) :: ( _, ( MlyValue.G_RULE_LIST G_RULE_LIST1, G_RULE_LIST1left, _)) :: rest671)) => let val result = MlyValue.G_RULE_LIST (fn _ => let val ( G_RULE_LIST as G_RULE_LIST1) = G_RULE_LIST1 () val (G_RULE as G_RULE1) = G_RULE1 () in (G_RULE@G_RULE_LIST) end) in ( LrTable.NT 10, ( result, G_RULE_LIST1left, G_RULE1right), rest671) end | ( 37, ( ( _, ( MlyValue.G_RULE G_RULE1, G_RULE1left, G_RULE1right)) :: rest671)) => let val result = MlyValue.G_RULE_LIST (fn _ => let val (G_RULE as G_RULE1) = G_RULE1 () in (G_RULE) end) in ( LrTable.NT 10, ( result, G_RULE1left, G_RULE1right), rest671) end | ( 38, ( ( _, ( MlyValue.ID_LIST ID_LIST1, _, ID_LIST1right)) :: ( _ , ( MlyValue.ID ID1, ID1left, _)) :: rest671)) => let val result = MlyValue.ID_LIST (fn _ => let val (ID as ID1) = ID1 () val (ID_LIST as ID_LIST1) = ID_LIST1 () in (symbolMake ID :: ID_LIST) end) in ( LrTable.NT 2, ( result, ID1left, ID_LIST1right), rest671) end | ( 39, ( rest671)) => let val result = MlyValue.ID_LIST (fn _ => ( nil)) in ( LrTable.NT 2, ( result, defaultPos, defaultPos), rest671) end | ( 40, ( ( _, ( MlyValue.PROG PROG1, _, PROG1right)) :: ( _, ( MlyValue.G_RULE_PREC G_RULE_PREC1, _, _)) :: ( _, ( MlyValue.ID_LIST ID_LIST1, ID_LIST1left, _)) :: rest671)) => let val result = MlyValue.RHS_LIST (fn _ => let val (ID_LIST as ID_LIST1) = ID_LIST1 () val (G_RULE_PREC as G_RULE_PREC1) = G_RULE_PREC1 () val (PROG as PROG1) = PROG1 () in ([{rhs=ID_LIST,code=PROG,prec=G_RULE_PREC}]) end) in ( LrTable.NT 8, ( result, ID_LIST1left, PROG1right), rest671) end | ( 41, ( ( _, ( MlyValue.PROG PROG1, _, PROG1right)) :: ( _, ( MlyValue.G_RULE_PREC G_RULE_PREC1, _, _)) :: ( _, ( MlyValue.ID_LIST ID_LIST1, _, _)) :: _ :: ( _, ( MlyValue.RHS_LIST RHS_LIST1, RHS_LIST1left, _)) :: rest671)) => let val result = MlyValue.RHS_LIST (fn _ => let val (RHS_LIST as RHS_LIST1) = RHS_LIST1 () val (ID_LIST as ID_LIST1) = ID_LIST1 () val (G_RULE_PREC as G_RULE_PREC1) = G_RULE_PREC1 () val (PROG as PROG1) = PROG1 () in ({rhs=ID_LIST,code=PROG,prec=G_RULE_PREC}::RHS_LIST) end) in ( LrTable.NT 8, ( result, RHS_LIST1left, PROG1right), rest671) end | ( 42, ( ( _, ( MlyValue.TYVAR TYVAR1, TYVAR1left, TYVAR1right)) :: rest671)) => let val result = MlyValue.TY (fn _ => let val (TYVAR as TYVAR1) = TYVAR1 () in (TYVAR) end) in ( LrTable.NT 16, ( result, TYVAR1left, TYVAR1right), rest671) end | ( 43, ( ( _, ( _, _, RBRACE1right)) :: ( _, ( MlyValue.RECORD_LIST RECORD_LIST1, _, _)) :: ( _, ( _, LBRACE1left, _)) :: rest671)) => let val result = MlyValue.TY (fn _ => let val (RECORD_LIST as RECORD_LIST1) = RECORD_LIST1 () in ("{ "^RECORD_LIST^" } ") end) in ( LrTable.NT 16, ( result, LBRACE1left, RBRACE1right), rest671) end | ( 44, ( ( _, ( _, _, RBRACE1right)) :: ( _, ( _, LBRACE1left, _)) :: rest671)) => let val result = MlyValue.TY (fn _ => ("{}")) in ( LrTable.NT 16, ( result, LBRACE1left, RBRACE1right), rest671) end | ( 45, ( ( _, ( MlyValue.PROG PROG1, PROG1left, PROG1right)) :: rest671)) => let val result = MlyValue.TY (fn _ => let val (PROG as PROG1) = PROG1 () in (" ( "^PROG^" ) ") end) in ( LrTable.NT 16, ( result, PROG1left, PROG1right), rest671) end | ( 46, ( ( _, ( MlyValue.QUAL_ID QUAL_ID1, _, QUAL_ID1right)) :: ( _ , ( MlyValue.TY TY1, TY1left, _)) :: rest671)) => let val result = MlyValue.TY (fn _ => let val (TY as TY1) = TY1 () val (QUAL_ID as QUAL_ID1) = QUAL_ID1 () in (TY^" "^QUAL_ID) end) in ( LrTable.NT 16, ( result, TY1left, QUAL_ID1right), rest671) end | ( 47, ( ( _, ( MlyValue.QUAL_ID QUAL_ID1, QUAL_ID1left, QUAL_ID1right)) :: rest671)) => let val result = MlyValue.TY (fn _ => let val (QUAL_ID as QUAL_ID1) = QUAL_ID1 () in (QUAL_ID) end) in ( LrTable.NT 16, ( result, QUAL_ID1left, QUAL_ID1right), rest671) end | ( 48, ( ( _, ( MlyValue.TY TY2, _, TY2right)) :: _ :: ( _, ( MlyValue.TY TY1, TY1left, _)) :: rest671)) => let val result = MlyValue.TY (fn _ => let val TY1 = TY1 () val TY2 = TY2 () in (TY1^"*"^TY2) end) in ( LrTable.NT 16, ( result, TY1left, TY2right), rest671) end | ( 49, ( ( _, ( MlyValue.TY TY2, _, TY2right)) :: _ :: ( _, ( MlyValue.TY TY1, TY1left, _)) :: rest671)) => let val result = MlyValue.TY (fn _ => let val TY1 = TY1 () val TY2 = TY2 () in (TY1 ^ " -> " ^ TY2) end) in ( LrTable.NT 16, ( result, TY1left, TY2right), rest671) end | ( 50, ( ( _, ( MlyValue.TY TY1, _, TY1right)) :: _ :: ( _, ( MlyValue.LABEL LABEL1, _, _)) :: _ :: ( _, ( MlyValue.RECORD_LIST RECORD_LIST1, RECORD_LIST1left, _)) :: rest671)) => let val result = MlyValue.RECORD_LIST (fn _ => let val (RECORD_LIST as RECORD_LIST1) = RECORD_LIST1 () val (LABEL as LABEL1) = LABEL1 () val (TY as TY1) = TY1 () in (RECORD_LIST^","^LABEL^":"^TY) end) in ( LrTable.NT 7, ( result, RECORD_LIST1left, TY1right), rest671) end | ( 51, ( ( _, ( MlyValue.TY TY1, _, TY1right)) :: _ :: ( _, ( MlyValue.LABEL LABEL1, LABEL1left, _)) :: rest671)) => let val result = MlyValue.RECORD_LIST (fn _ => let val (LABEL as LABEL1) = LABEL1 () val (TY as TY1) = TY1 () in (LABEL^":"^TY) end) in ( LrTable.NT 7, ( result, LABEL1left, TY1right), rest671) end | ( 52, ( ( _, ( MlyValue.ID ID1, ID1left, ID1right)) :: rest671)) => let val result = MlyValue.QUAL_ID (fn _ => let val (ID as ID1) = ID1 () in ((fn (a,_) => a) ID) end) in ( LrTable.NT 6, ( result, ID1left, ID1right), rest671) end | ( 53, ( ( _, ( MlyValue.QUAL_ID QUAL_ID1, _, QUAL_ID1right)) :: ( _ , ( MlyValue.IDDOT IDDOT1, IDDOT1left, _)) :: rest671)) => let val result = MlyValue.QUAL_ID (fn _ => let val (IDDOT as IDDOT1) = IDDOT1 () val (QUAL_ID as QUAL_ID1) = QUAL_ID1 () in (IDDOT^QUAL_ID) end) in ( LrTable.NT 6, ( result, IDDOT1left, QUAL_ID1right), rest671) end | ( 54, ( ( _, ( MlyValue.ID ID1, ID1left, ID1right)) :: rest671)) => let val result = MlyValue.LABEL (fn _ => let val (ID as ID1) = ID1 () in ((fn (a,_) => a) ID) end) in ( LrTable.NT 3, ( result, ID1left, ID1right), rest671) end | ( 55, ( ( _, ( MlyValue.INT INT1, INT1left, INT1right)) :: rest671) ) => let val result = MlyValue.LABEL (fn _ => let val (INT as INT1) = INT1 () in (INT) end) in ( LrTable.NT 3, ( result, INT1left, INT1right), rest671) end | ( 56, ( ( _, ( MlyValue.ID ID1, _, ID1right)) :: ( _, ( _, PREC_TAG1left, _)) :: rest671)) => let val result = MlyValue.G_RULE_PREC (fn _ => let val (ID as ID1) = ID1 () in (SOME (symbolMake ID)) end) in ( LrTable.NT 11, ( result, PREC_TAG1left, ID1right), rest671) end | ( 57, ( rest671)) => let val result = MlyValue.G_RULE_PREC (fn _ => (NONE)) in ( LrTable.NT 11, ( result, defaultPos, defaultPos), rest671) end | _ => raise (mlyAction i392) val actions = actionFun1 end val void = MlyValue.VOID val extract = fn a => (fn MlyValue.BEGIN x => x | _ => let exception ParseInternal in raise ParseInternal end) a () end end structure Token = ParserData.LrParser.Token structure Tokens : Mlyacc_TOKENS = struct type svalue = ParserData.svalue type pos = ParserData.pos type token = ParserData.Token.token fun ARROW (p1,p2) = Token.TOKEN (ParserData.LrTable.T 0,( ParserData.MlyValue.VOID,p1,p2)) fun ASTERISK (p1,p2) = Token.TOKEN (ParserData.LrTable.T 1,( ParserData.MlyValue.VOID,p1,p2)) fun BLOCK (p1,p2) = Token.TOKEN (ParserData.LrTable.T 2,( ParserData.MlyValue.VOID,p1,p2)) fun BAR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 3,( ParserData.MlyValue.VOID,p1,p2)) fun CHANGE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 4,( ParserData.MlyValue.VOID,p1,p2)) fun COLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 5,( ParserData.MlyValue.VOID,p1,p2)) fun COMMA (p1,p2) = Token.TOKEN (ParserData.LrTable.T 6,( ParserData.MlyValue.VOID,p1,p2)) fun DELIMITER (p1,p2) = Token.TOKEN (ParserData.LrTable.T 7,( ParserData.MlyValue.VOID,p1,p2)) fun EOF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 8,( ParserData.MlyValue.VOID,p1,p2)) fun FOR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 9,( ParserData.MlyValue.VOID,p1,p2)) fun HEADER (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 10,( ParserData.MlyValue.HEADER (fn () => i),p1,p2)) fun ID (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 11,( ParserData.MlyValue.ID (fn () => i),p1,p2)) fun IDDOT (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 12,( ParserData.MlyValue.IDDOT (fn () => i),p1,p2)) fun PERCENT_HEADER (p1,p2) = Token.TOKEN (ParserData.LrTable.T 13,( ParserData.MlyValue.VOID,p1,p2)) fun PERCENT_FOOTER (p1,p2) = Token.TOKEN (ParserData.LrTable.T 14,( ParserData.MlyValue.VOID,p1,p2)) fun PERCENT_DECOMPOSE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 15,( ParserData.MlyValue.VOID,p1,p2)) fun PERCENT_BLOCKSIZE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 16,( ParserData.MlyValue.VOID,p1,p2)) fun INT (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 17,( ParserData.MlyValue.INT (fn () => i),p1,p2)) fun KEYWORD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 18,( ParserData.MlyValue.VOID,p1,p2)) fun LBRACE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 19,( ParserData.MlyValue.VOID,p1,p2)) fun LPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 20,( ParserData.MlyValue.VOID,p1,p2)) fun NAME (p1,p2) = Token.TOKEN (ParserData.LrTable.T 21,( ParserData.MlyValue.VOID,p1,p2)) fun NODEFAULT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 22,( ParserData.MlyValue.VOID,p1,p2)) fun NONTERM (p1,p2) = Token.TOKEN (ParserData.LrTable.T 23,( ParserData.MlyValue.VOID,p1,p2)) fun NOSHIFT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 24,( ParserData.MlyValue.VOID,p1,p2)) fun OF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 25,( ParserData.MlyValue.VOID,p1,p2)) fun PERCENT_EOP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 26,( ParserData.MlyValue.VOID,p1,p2)) fun PERCENT_PURE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 27,( ParserData.MlyValue.VOID,p1,p2)) fun PERCENT_POS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 28,( ParserData.MlyValue.VOID,p1,p2)) fun PERCENT_ARG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 29,( ParserData.MlyValue.VOID,p1,p2)) fun PERCENT_TOKEN_SIG_INFO (p1,p2) = Token.TOKEN ( ParserData.LrTable.T 30,(ParserData.MlyValue.VOID,p1,p2)) fun PREC (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 31,( ParserData.MlyValue.PREC (fn () => i),p1,p2)) fun PREC_TAG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 32,( ParserData.MlyValue.VOID,p1,p2)) fun PREFER (p1,p2) = Token.TOKEN (ParserData.LrTable.T 33,( ParserData.MlyValue.VOID,p1,p2)) fun PROG (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 34,( ParserData.MlyValue.PROG (fn () => i),p1,p2)) fun RBRACE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 35,( ParserData.MlyValue.VOID,p1,p2)) fun RPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 36,( ParserData.MlyValue.VOID,p1,p2)) fun SUBST (p1,p2) = Token.TOKEN (ParserData.LrTable.T 37,( ParserData.MlyValue.VOID,p1,p2)) fun START (p1,p2) = Token.TOKEN (ParserData.LrTable.T 38,( ParserData.MlyValue.VOID,p1,p2)) fun TERM (p1,p2) = Token.TOKEN (ParserData.LrTable.T 39,( ParserData.MlyValue.VOID,p1,p2)) fun TYVAR (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 40,( ParserData.MlyValue.TYVAR (fn () => i),p1,p2)) fun VERBOSE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 41,( ParserData.MlyValue.VOID,p1,p2)) fun VALUE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 42,( ParserData.MlyValue.VOID,p1,p2)) fun UNKNOWN (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 43,( ParserData.MlyValue.UNKNOWN (fn () => i),p1,p2)) fun BOGUS_VALUE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 44,( ParserData.MlyValue.VOID,p1,p2)) end end smlsharp-1.2.0/src/ml-yacc/src/yacc.lex0000644 000000000000000000001132112050661606020035 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi yacc.lex: Lexer specification 2012-1-13 ohori %footer added for defuncteringing ml.grm.sml *) structure Tokens = LrVals.Tokens type svalue = Tokens.svalue type pos = int type token = Tokens.token type lexresult = token type lexarg = Header.inputSource type arg = lexarg open Tokens val error = Header.error val lineno = Header.lineno val text = Header.text val pcount = ref 0 val commentLevel = ref 0 val actionstart = ref 0 val eof = fn i => (if (!pcount)>0 then error i (!actionstart) " eof encountered in action beginning here !" else (); EOF(!lineno,!lineno)) val Add = fn s => (text := s::(!text)) local val dict = [("%prec",PREC_TAG), ("%term",TERM), ("%nonterm",NONTERM), ("%eop",PERCENT_EOP), ("%start",START), ("%prefer",PREFER), ("%subst",SUBST), ("%change",CHANGE), ("%keyword",KEYWORD), ("%name",NAME), ("%verbose",VERBOSE), ("%nodefault",NODEFAULT), ("%value",VALUE), ("%noshift",NOSHIFT), ("%header",PERCENT_HEADER), ("%footer",PERCENT_FOOTER), ("%decompose",PERCENT_DECOMPOSE), ("%blocksize",PERCENT_BLOCKSIZE), ("%pure",PERCENT_PURE), ("%token_sig_info",PERCENT_TOKEN_SIG_INFO), ("%arg",PERCENT_ARG), ("%pos",PERCENT_POS)] in fun lookup (s,left,right) = let fun f ((a,d)::b) = if a=s then d(left,right) else f b | f nil = UNKNOWN(s,left,right) in f dict end end fun inc (ri as ref i) = (ri := i+1) fun dec (ri as ref i) = (ri := i-1) %% %header ( structure LexMLYACC ); %arg (inputSource); %s A CODE F COMMENT STRING EMPTYCOMMENT; ws = [\t\ ]+; eol=("\n"|"\013\n"|"\013"); idchars = [A-Za-z_'0-9]; id=[A-Za-z]{idchars}*; tyvar="'"{idchars}*; qualid ={id}"."; %% "(*" => (Add yytext; YYBEGIN COMMENT; commentLevel := 1; continue(); YYBEGIN INITIAL; continue());
"(*" => (YYBEGIN EMPTYCOMMENT; commentLevel := 1; continue()); "(*" => (Add yytext; YYBEGIN COMMENT; commentLevel := 1; continue(); YYBEGIN CODE; continue()); [^(%\013\n]+ => (Add yytext; continue()); "%%" => (YYBEGIN A; HEADER (concat (rev (!text)),!lineno,!lineno)); {eol} => (Add yytext; inc lineno; continue()); . => (Add yytext; continue()); {eol} => (inc lineno; continue ()); {ws}+ => (continue()); of => (OF(!lineno,!lineno)); for => (FOR(!lineno,!lineno)); "{" => (LBRACE(!lineno,!lineno)); "}" => (RBRACE(!lineno,!lineno)); "," => (COMMA(!lineno,!lineno)); "*" => (ASTERISK(!lineno,!lineno)); "->" => (ARROW(!lineno,!lineno)); "%left" => (PREC(Header.LEFT,!lineno,!lineno)); "%right" => (PREC(Header.RIGHT,!lineno,!lineno)); "%nonassoc" => (PREC(Header.NONASSOC,!lineno,!lineno)); "%"[a-z_]+ => (lookup(yytext,!lineno,!lineno)); {tyvar} => (TYVAR(yytext,!lineno,!lineno)); {qualid} => (IDDOT(yytext,!lineno,!lineno)); [0-9]+ => (INT (yytext,!lineno,!lineno)); "%%" => (DELIMITER(!lineno,!lineno)); ":" => (COLON(!lineno,!lineno)); "|" => (BAR(!lineno,!lineno)); {id} => (ID ((yytext,!lineno),!lineno,!lineno)); "(" => (pcount := 1; actionstart := (!lineno); text := nil; YYBEGIN CODE; continue() before YYBEGIN A); . => (UNKNOWN(yytext,!lineno,!lineno)); "(" => (inc pcount; Add yytext; continue()); ")" => (dec pcount; if !pcount = 0 then PROG (concat (rev (!text)),!lineno,!lineno) else (Add yytext; continue())); "\"" => (Add yytext; YYBEGIN STRING; continue()); [^()"\n\013]+ => (Add yytext; continue()); [(*)] => (Add yytext; continue()); "*)" => (Add yytext; dec commentLevel; if !commentLevel=0 then BOGUS_VALUE(!lineno,!lineno) else continue() ); "(*" => (Add yytext; inc commentLevel; continue()); [^*()\n\013]+ => (Add yytext; continue()); [(*)] => (continue()); "*)" => (dec commentLevel; if !commentLevel=0 then YYBEGIN A else (); continue ()); "(*" => (inc commentLevel; continue()); [^*()\n\013]+ => (continue()); "\"" => (Add yytext; YYBEGIN CODE; continue()); \\ => (Add yytext; continue()); {eol} => (Add yytext; error inputSource (!lineno) "unclosed string"; inc lineno; YYBEGIN CODE; continue()); [^"\\\n\013]+ => (Add yytext; continue()); \\\" => (Add yytext; continue()); \\{eol} => (Add yytext; inc lineno; YYBEGIN F; continue()); \\[\ \t] => (Add yytext; YYBEGIN F; continue()); {ws} => (Add yytext; continue()); \\ => (Add yytext; YYBEGIN STRING; continue()); . => (Add yytext; error inputSource (!lineno) "unclosed string"; YYBEGIN CODE; continue()); smlsharp-1.2.0/src/ml-yacc/src/yacc.lex.smi0000644 000000000000000000000106212050661606020625 0ustar00rootroot0000000 0000000 _require "../../basis.smi" _require "../../ml-yacc/lib/base.sig" _require "../../ml-yacc/lib/lrtable.smi" _require "../../ml-yacc/lib/parser2.smi" _require "utils.sig" _require "sigs.sml" _require "hdr.smi" _require "yacc.grm.sig" _require "yacc.grm.smi" structure LexMLYACC = struct structure UserDeclarations = struct type token = LrVals.Tokens.token type pos = int type svalue = LrVals.Tokens.svalue type arg = Header.inputSource end val makeLexer : (int -> string) -> UserDeclarations.arg -> unit -> UserDeclarations.token end smlsharp-1.2.0/src/ml-yacc/src/yacc.lex.sml0000755 000000000000000000011633212050661606020642 0ustar00rootroot0000000 0000000 structure LexMLYACC = struct structure UserDeclarations = struct (* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi yacc.lex: Lexer specification 2012-1-13 ohori %footer added for defuncteringing ml.grm.sml *) structure Tokens = LrVals.Tokens type svalue = Tokens.svalue type pos = int type token = Tokens.token type lexresult = token type lexarg = Header.inputSource type arg = lexarg open Tokens val error = Header.error val lineno = Header.lineno val text = Header.text val pcount = ref 0 val commentLevel = ref 0 val actionstart = ref 0 val eof = fn i => (if (!pcount)>0 then error i (!actionstart) " eof encountered in action beginning here !" else (); EOF(!lineno,!lineno)) val Add = fn s => (text := s::(!text)) local val dict = [("%prec",PREC_TAG), ("%term",TERM), ("%nonterm",NONTERM), ("%eop",PERCENT_EOP), ("%start",START), ("%prefer",PREFER), ("%subst",SUBST), ("%change",CHANGE), ("%keyword",KEYWORD), ("%name",NAME), ("%verbose",VERBOSE), ("%nodefault",NODEFAULT), ("%value",VALUE), ("%noshift",NOSHIFT), ("%header",PERCENT_HEADER), ("%footer",PERCENT_FOOTER), ("%decompose",PERCENT_DECOMPOSE), ("%blocksize",PERCENT_BLOCKSIZE), ("%pure",PERCENT_PURE), ("%token_sig_info",PERCENT_TOKEN_SIG_INFO), ("%arg",PERCENT_ARG), ("%pos",PERCENT_POS)] in fun lookup (s,left,right) = let fun f ((a,d)::b) = if a=s then d(left,right) else f b | f nil = UNKNOWN(s,left,right) in f dict end end fun inc (ri as ref i) = (ri := i+1) fun dec (ri as ref i) = (ri := i-1) end (* end of user routines *) exception LexError (* raised if illegal leaf action tried *) structure Internal = struct datatype yyfinstate = N of int type statedata = {fin : yyfinstate list, trans: string} (* transition & final state table *) val tab = let val s = [ (0, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" ), (1, "\015\015\015\015\015\015\015\015\015\015\022\015\015\021\015\015\ \\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\ \\015\015\015\015\015\019\015\015\017\015\015\015\015\015\015\015\ \\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\ \\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\ \\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\ \\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\ \\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\ \\015" ), (3, "\023\023\023\023\023\023\023\023\023\066\069\023\023\068\023\023\ \\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\ \\066\023\023\023\023\046\023\044\042\023\041\023\040\038\023\023\ \\036\036\036\036\036\036\036\036\036\036\035\023\023\023\023\023\ \\023\027\027\027\027\027\027\027\027\027\027\027\027\027\027\027\ \\027\027\027\027\027\027\027\027\027\027\027\023\023\023\023\023\ \\023\027\027\027\027\027\032\027\027\027\027\027\027\027\027\030\ \\027\027\027\027\027\027\027\027\027\027\027\026\025\024\023\023\ \\023" ), (5, "\070\070\070\070\070\070\070\070\070\070\022\070\070\075\070\070\ \\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\ \\070\070\074\070\070\070\070\070\072\071\070\070\070\070\070\070\ \\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\ \\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\ \\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\ \\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\ \\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\ \\070" ), (7, "\076\076\076\076\076\076\076\076\076\078\022\076\076\080\076\076\ \\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\ \\078\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\ \\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\ \\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\ \\076\076\076\076\076\076\076\076\076\076\076\076\077\076\076\076\ \\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\ \\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\ \\076" ), (9, "\081\081\081\081\081\081\081\081\081\081\022\081\081\075\081\081\ \\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\ \\081\081\081\081\081\081\081\081\085\084\082\081\081\081\081\081\ \\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\ \\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\ \\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\ \\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\ \\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\ \\081" ), (11, "\087\087\087\087\087\087\087\087\087\087\095\087\087\094\087\087\ \\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\ \\087\087\093\087\087\087\087\087\087\087\087\087\087\087\087\087\ \\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\ \\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\ \\087\087\087\087\087\087\087\087\087\087\087\087\088\087\087\087\ \\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\ \\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\ \\087" ), (13, "\096\096\096\096\096\096\096\096\096\096\022\096\096\075\096\096\ \\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\ \\096\096\096\096\096\096\096\096\100\099\097\096\096\096\096\096\ \\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\ \\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\ \\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\ \\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\ \\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\ \\096" ), (15, "\016\016\016\016\016\016\016\016\016\016\000\016\016\000\016\016\ \\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\ \\016\016\016\016\016\000\016\016\000\016\016\016\016\016\016\016\ \\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\ \\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\ \\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\ \\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\ \\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\ \\016" ), (17, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\018\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" ), (19, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" ), (21, "\000\000\000\000\000\000\000\000\000\000\022\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" ), (27, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\028\000\000\000\000\000\000\029\000\ \\028\028\028\028\028\028\028\028\028\028\000\000\000\000\000\000\ \\000\028\028\028\028\028\028\028\028\028\028\028\028\028\028\028\ \\028\028\028\028\028\028\028\028\028\028\028\000\000\000\000\028\ \\000\028\028\028\028\028\028\028\028\028\028\028\028\028\028\028\ \\028\028\028\028\028\028\028\028\028\028\028\000\000\000\000\000\ \\000" ), (30, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\028\000\000\000\000\000\000\029\000\ \\028\028\028\028\028\028\028\028\028\028\000\000\000\000\000\000\ \\000\028\028\028\028\028\028\028\028\028\028\028\028\028\028\028\ \\028\028\028\028\028\028\028\028\028\028\028\000\000\000\000\028\ \\000\028\028\028\028\028\031\028\028\028\028\028\028\028\028\028\ \\028\028\028\028\028\028\028\028\028\028\028\000\000\000\000\000\ \\000" ), (32, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\028\000\000\000\000\000\000\029\000\ \\028\028\028\028\028\028\028\028\028\028\000\000\000\000\000\000\ \\000\028\028\028\028\028\028\028\028\028\028\028\028\028\028\028\ \\028\028\028\028\028\028\028\028\028\028\028\000\000\000\000\028\ \\000\028\028\028\028\028\028\028\028\028\028\028\028\028\028\033\ \\028\028\028\028\028\028\028\028\028\028\028\000\000\000\000\000\ \\000" ), (33, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\028\000\000\000\000\000\000\029\000\ \\028\028\028\028\028\028\028\028\028\028\000\000\000\000\000\000\ \\000\028\028\028\028\028\028\028\028\028\028\028\028\028\028\028\ \\028\028\028\028\028\028\028\028\028\028\028\000\000\000\000\028\ \\000\028\028\028\028\028\028\028\028\028\028\028\028\028\028\028\ \\028\028\034\028\028\028\028\028\028\028\028\000\000\000\000\000\ \\000" ), (36, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\037\037\037\037\037\037\037\037\037\037\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" ), (38, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\039\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" ), (42, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\043\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" ), (44, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\045\000\000\000\000\000\000\000\000\ \\045\045\045\045\045\045\045\045\045\045\000\000\000\000\000\000\ \\000\045\045\045\045\045\045\045\045\045\045\045\045\045\045\045\ \\045\045\045\045\045\045\045\045\045\045\045\000\000\000\000\045\ \\000\045\045\045\045\045\045\045\045\045\045\045\045\045\045\045\ \\045\045\045\045\045\045\045\045\045\045\045\000\000\000\000\000\ \\000" ), (46, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\065\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\ \\000\047\047\047\047\047\047\047\047\047\047\047\061\047\053\047\ \\047\047\048\047\047\047\047\047\047\047\047\000\000\000\000\000\ \\000" ), (47, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\ \\000\047\047\047\047\047\047\047\047\047\047\047\047\047\047\047\ \\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\ \\000" ), (48, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\ \\000\047\047\047\047\047\047\047\047\049\047\047\047\047\047\047\ \\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\ \\000" ), (49, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\ \\000\047\047\047\047\047\047\050\047\047\047\047\047\047\047\047\ \\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\ \\000" ), (50, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\ \\000\047\047\047\047\047\047\047\051\047\047\047\047\047\047\047\ \\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\ \\000" ), (51, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\ \\000\047\047\047\047\047\047\047\047\047\047\047\047\047\047\047\ \\047\047\047\047\052\047\047\047\047\047\047\000\000\000\000\000\ \\000" ), (53, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\ \\000\047\047\047\047\047\047\047\047\047\047\047\047\047\047\054\ \\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\ \\000" ), (54, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\ \\000\047\047\047\047\047\047\047\047\047\047\047\047\047\055\047\ \\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\ \\000" ), (55, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\ \\000\056\047\047\047\047\047\047\047\047\047\047\047\047\047\047\ \\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\ \\000" ), (56, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\ \\000\047\047\047\047\047\047\047\047\047\047\047\047\047\047\047\ \\047\047\047\057\047\047\047\047\047\047\047\000\000\000\000\000\ \\000" ), (57, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\ \\000\047\047\047\047\047\047\047\047\047\047\047\047\047\047\047\ \\047\047\047\058\047\047\047\047\047\047\047\000\000\000\000\000\ \\000" ), (58, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\ \\000\047\047\047\047\047\047\047\047\047\047\047\047\047\047\059\ \\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\ \\000" ), (59, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\ \\000\047\047\060\047\047\047\047\047\047\047\047\047\047\047\047\ \\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\ \\000" ), (61, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\ \\000\047\047\047\047\062\047\047\047\047\047\047\047\047\047\047\ \\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\ \\000" ), (62, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\ \\000\047\047\047\047\047\063\047\047\047\047\047\047\047\047\047\ \\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\ \\000" ), (63, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\ \\000\047\047\047\047\047\047\047\047\047\047\047\047\047\047\047\ \\047\047\047\047\064\047\047\047\047\047\047\000\000\000\000\000\ \\000" ), (66, "\000\000\000\000\000\000\000\000\000\067\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\067\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" ), (68, "\000\000\000\000\000\000\000\000\000\000\069\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" ), (70, "\070\070\070\070\070\070\070\070\070\070\000\070\070\000\070\070\ \\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\ \\070\070\000\070\070\070\070\070\000\000\070\070\070\070\070\070\ \\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\ \\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\ \\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\ \\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\ \\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\ \\070" ), (72, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\073\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" ), (78, "\000\000\000\000\000\000\000\000\000\079\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\079\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" ), (81, "\081\081\081\081\081\081\081\081\081\081\000\081\081\000\081\081\ \\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\ \\081\081\081\081\081\081\081\081\000\000\000\081\081\081\081\081\ \\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\ \\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\ \\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\ \\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\ \\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\ \\081" ), (82, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\083\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" ), (85, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\086\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" ), (87, "\087\087\087\087\087\087\087\087\087\087\000\087\087\000\087\087\ \\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\ \\087\087\000\087\087\087\087\087\087\087\087\087\087\087\087\087\ \\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\ \\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\ \\087\087\087\087\087\087\087\087\087\087\087\087\000\087\087\087\ \\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\ \\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\ \\087" ), (88, "\000\000\000\000\000\000\000\000\000\090\092\000\000\091\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\090\000\089\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" ), (91, "\000\000\000\000\000\000\000\000\000\000\092\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" ), (94, "\000\000\000\000\000\000\000\000\000\000\095\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" ), (96, "\096\096\096\096\096\096\096\096\096\096\000\096\096\000\096\096\ \\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\ \\096\096\096\096\096\096\096\096\000\000\000\096\096\096\096\096\ \\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\ \\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\ \\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\ \\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\ \\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\ \\096" ), (97, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\098\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" ), (100, "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\101\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \\000" ), (0, "")] fun f x = x val s = map f (rev (tl (rev s))) exception LexHackingError fun look ((j,x)::r, i: int) = if i = j then x else look(r, i) | look ([], i) = raise LexHackingError fun g {fin=x, trans=i} = {fin=x, trans=look(s,i)} in Vector.fromList(map g [{fin = [], trans = 0}, {fin = [], trans = 1}, {fin = [], trans = 1}, {fin = [], trans = 3}, {fin = [], trans = 3}, {fin = [], trans = 5}, {fin = [], trans = 5}, {fin = [], trans = 7}, {fin = [], trans = 7}, {fin = [], trans = 9}, {fin = [], trans = 9}, {fin = [], trans = 11}, {fin = [], trans = 11}, {fin = [], trans = 13}, {fin = [], trans = 13}, {fin = [(N 11),(N 21)], trans = 15}, {fin = [(N 11)], trans = 15}, {fin = [(N 21)], trans = 17}, {fin = [(N 2)], trans = 0}, {fin = [(N 21)], trans = 19}, {fin = [(N 14)], trans = 0}, {fin = [(N 19),(N 21)], trans = 21}, {fin = [(N 19)], trans = 0}, {fin = [(N 100)], trans = 0}, {fin = [(N 42),(N 100)], trans = 0}, {fin = [(N 93),(N 100)], trans = 0}, {fin = [(N 40),(N 100)], trans = 0}, {fin = [(N 96),(N 100)], trans = 27}, {fin = [(N 96)], trans = 27}, {fin = [(N 83)], trans = 0}, {fin = [(N 96),(N 100)], trans = 30}, {fin = [(N 34),(N 96)], trans = 27}, {fin = [(N 96),(N 100)], trans = 32}, {fin = [(N 96)], trans = 33}, {fin = [(N 38),(N 96)], trans = 27}, {fin = [(N 91),(N 100)], trans = 0}, {fin = [(N 86),(N 100)], trans = 36}, {fin = [(N 86)], trans = 36}, {fin = [(N 100)], trans = 38}, {fin = [(N 49)], trans = 0}, {fin = [(N 44),(N 100)], trans = 0}, {fin = [(N 46),(N 100)], trans = 0}, {fin = [(N 98),(N 100)], trans = 42}, {fin = [(N 5)], trans = 0}, {fin = [(N 79),(N 100)], trans = 44}, {fin = [(N 79)], trans = 44}, {fin = [(N 100)], trans = 46}, {fin = [(N 76)], trans = 47}, {fin = [(N 76)], trans = 48}, {fin = [(N 76)], trans = 49}, {fin = [(N 76)], trans = 50}, {fin = [(N 76)], trans = 51}, {fin = [(N 62),(N 76)], trans = 47}, {fin = [(N 76)], trans = 53}, {fin = [(N 76)], trans = 54}, {fin = [(N 76)], trans = 55}, {fin = [(N 76)], trans = 56}, {fin = [(N 76)], trans = 57}, {fin = [(N 76)], trans = 58}, {fin = [(N 76)], trans = 59}, {fin = [(N 72),(N 76)], trans = 47}, {fin = [(N 76)], trans = 61}, {fin = [(N 76)], trans = 62}, {fin = [(N 76)], trans = 63}, {fin = [(N 55),(N 76)], trans = 47}, {fin = [(N 89)], trans = 0}, {fin = [(N 31),(N 100)], trans = 66}, {fin = [(N 31)], trans = 66}, {fin = [(N 26),(N 100)], trans = 68}, {fin = [(N 26)], trans = 0}, {fin = [(N 109)], trans = 70}, {fin = [(N 104)], trans = 0}, {fin = [(N 102)], trans = 72}, {fin = [(N 8)], trans = 0}, {fin = [(N 106)], trans = 0}, {fin = [(N 19)], trans = 21}, {fin = [(N 162)], trans = 0}, {fin = [(N 160),(N 162)], trans = 0}, {fin = [(N 158),(N 162)], trans = 78}, {fin = [(N 158)], trans = 78}, {fin = [(N 19),(N 162)], trans = 21}, {fin = [(N 120)], trans = 81}, {fin = [(N 111)], trans = 82}, {fin = [(N 114)], trans = 0}, {fin = [(N 111)], trans = 0}, {fin = [(N 111)], trans = 85}, {fin = [(N 117)], trans = 0}, {fin = [(N 143)], trans = 87}, {fin = [(N 135)], trans = 88}, {fin = [(N 146)], trans = 0}, {fin = [(N 155)], trans = 0}, {fin = [(N 152)], trans = 91}, {fin = [(N 152)], trans = 0}, {fin = [(N 133)], trans = 0}, {fin = [(N 140)], trans = 94}, {fin = [(N 140)], trans = 0}, {fin = [(N 131)], trans = 96}, {fin = [(N 122)], trans = 97}, {fin = [(N 125)], trans = 0}, {fin = [(N 122)], trans = 0}, {fin = [(N 122)], trans = 100}, {fin = [(N 128)], trans = 0}]) end structure StartStates = struct datatype yystartstate = STARTSTATE of int (* start state definitions *) val A = STARTSTATE 3; val CODE = STARTSTATE 5; val COMMENT = STARTSTATE 9; val EMPTYCOMMENT = STARTSTATE 13; val F = STARTSTATE 7; val INITIAL = STARTSTATE 1; val STRING = STARTSTATE 11; end type result = UserDeclarations.lexresult exception LexerError (* raised if illegal leaf action tried *) end fun makeLexer yyinput = let val yygone0= ~1 val yyb = ref "\n" (* buffer *) val yybl = ref 1 (*buffer length *) val yybufpos = ref 1 (* location of next character to use *) val yygone = ref yygone0 (* position in file of beginning of buffer *) val yydone = ref false (* eof found yet? *) val yybegin = ref 1 (*Current 'start state' for lexer *) val YYBEGIN = fn (Internal.StartStates.STARTSTATE x) => yybegin := x fun lex (yyarg as (inputSource)) = let fun continue() : Internal.result = let fun scan (s,AcceptingLeaves : Internal.yyfinstate list list,l,i0) = let fun action (i,nil) = raise LexError | action (i,nil::l) = action (i-1,l) | action (i,(node::acts)::l) = case node of Internal.N yyk => (let fun yymktext() = substring(!yyb,i0,i-i0) val yypos = i0+ !yygone open UserDeclarations Internal.StartStates in (yybufpos := i; case yyk of (* Application actions *) 100 => let val yytext=yymktext() in UNKNOWN(yytext,!lineno,!lineno) end | 102 => let val yytext=yymktext() in inc pcount; Add yytext; continue() end | 104 => let val yytext=yymktext() in dec pcount; if !pcount = 0 then PROG (concat (rev (!text)),!lineno,!lineno) else (Add yytext; continue()) end | 106 => let val yytext=yymktext() in Add yytext; YYBEGIN STRING; continue() end | 109 => let val yytext=yymktext() in Add yytext; continue() end | 11 => let val yytext=yymktext() in Add yytext; continue() end | 111 => let val yytext=yymktext() in Add yytext; continue() end | 114 => let val yytext=yymktext() in Add yytext; dec commentLevel; if !commentLevel=0 then BOGUS_VALUE(!lineno,!lineno) else continue() end | 117 => let val yytext=yymktext() in Add yytext; inc commentLevel; continue() end | 120 => let val yytext=yymktext() in Add yytext; continue() end | 122 => let val yytext=yymktext() in continue() end | 125 => let val yytext=yymktext() in dec commentLevel; if !commentLevel=0 then YYBEGIN A else (); continue () end | 128 => let val yytext=yymktext() in inc commentLevel; continue() end | 131 => let val yytext=yymktext() in continue() end | 133 => let val yytext=yymktext() in Add yytext; YYBEGIN CODE; continue() end | 135 => let val yytext=yymktext() in Add yytext; continue() end | 14 => let val yytext=yymktext() in YYBEGIN A; HEADER (concat (rev (!text)),!lineno,!lineno) end | 140 => let val yytext=yymktext() in Add yytext; error inputSource (!lineno) "unclosed string"; inc lineno; YYBEGIN CODE; continue() end | 143 => let val yytext=yymktext() in Add yytext; continue() end | 146 => let val yytext=yymktext() in Add yytext; continue() end | 152 => let val yytext=yymktext() in Add yytext; inc lineno; YYBEGIN F; continue() end | 155 => let val yytext=yymktext() in Add yytext; YYBEGIN F; continue() end | 158 => let val yytext=yymktext() in Add yytext; continue() end | 160 => let val yytext=yymktext() in Add yytext; YYBEGIN STRING; continue() end | 162 => let val yytext=yymktext() in Add yytext; error inputSource (!lineno) "unclosed string"; YYBEGIN CODE; continue() end | 19 => let val yytext=yymktext() in Add yytext; inc lineno; continue() end | 2 => let val yytext=yymktext() in Add yytext; YYBEGIN COMMENT; commentLevel := 1; continue(); YYBEGIN INITIAL; continue() end | 21 => let val yytext=yymktext() in Add yytext; continue() end | 26 => let val yytext=yymktext() in inc lineno; continue () end | 31 => let val yytext=yymktext() in continue() end | 34 => let val yytext=yymktext() in OF(!lineno,!lineno) end | 38 => let val yytext=yymktext() in FOR(!lineno,!lineno) end | 40 => let val yytext=yymktext() in LBRACE(!lineno,!lineno) end | 42 => let val yytext=yymktext() in RBRACE(!lineno,!lineno) end | 44 => let val yytext=yymktext() in COMMA(!lineno,!lineno) end | 46 => let val yytext=yymktext() in ASTERISK(!lineno,!lineno) end | 49 => let val yytext=yymktext() in ARROW(!lineno,!lineno) end | 5 => let val yytext=yymktext() in YYBEGIN EMPTYCOMMENT; commentLevel := 1; continue() end | 55 => let val yytext=yymktext() in PREC(Header.LEFT,!lineno,!lineno) end | 62 => let val yytext=yymktext() in PREC(Header.RIGHT,!lineno,!lineno) end | 72 => let val yytext=yymktext() in PREC(Header.NONASSOC,!lineno,!lineno) end | 76 => let val yytext=yymktext() in lookup(yytext,!lineno,!lineno) end | 79 => let val yytext=yymktext() in TYVAR(yytext,!lineno,!lineno) end | 8 => let val yytext=yymktext() in Add yytext; YYBEGIN COMMENT; commentLevel := 1; continue(); YYBEGIN CODE; continue() end | 83 => let val yytext=yymktext() in IDDOT(yytext,!lineno,!lineno) end | 86 => let val yytext=yymktext() in INT (yytext,!lineno,!lineno) end | 89 => let val yytext=yymktext() in DELIMITER(!lineno,!lineno) end | 91 => let val yytext=yymktext() in COLON(!lineno,!lineno) end | 93 => let val yytext=yymktext() in BAR(!lineno,!lineno) end | 96 => let val yytext=yymktext() in ID ((yytext,!lineno),!lineno,!lineno) end | 98 => let val yytext=yymktext() in pcount := 1; actionstart := (!lineno); text := nil; YYBEGIN CODE; continue() before YYBEGIN A end | _ => raise Internal.LexerError ) end ) val {fin,trans} = Vector.sub(Internal.tab, s) val NewAcceptingLeaves = fin::AcceptingLeaves in if l = !yybl then if trans = #trans(Vector.sub(Internal.tab,0)) then action(l,NewAcceptingLeaves ) else let val newchars= if !yydone then "" else yyinput 1024 in if (size newchars)=0 then (yydone := true; if (l=i0) then UserDeclarations.eof yyarg else action(l,NewAcceptingLeaves)) else (if i0=l then yyb := newchars else yyb := substring(!yyb,i0,l-i0)^newchars; yygone := !yygone+i0; yybl := size (!yyb); scan (s,AcceptingLeaves,l-i0,0)) end else let val NewChar = Char.ord(CharVector.sub(!yyb,l)) val NewChar = if NewChar<128 then NewChar else 128 val NewState = Char.ord(CharVector.sub(trans,NewChar)) in if NewState=0 then action(l,NewAcceptingLeaves) else scan(NewState,NewAcceptingLeaves,l+1,i0) end end (* val start= if substring(!yyb,!yybufpos-1,1)="\n" then !yybegin+1 else !yybegin *) in scan(!yybegin (* start *),nil,!yybufpos,!yybufpos) end in continue end in lex end end smlsharp-1.2.0/src/ml-yacc/src/yacc.smi0000644 000000000000000000000101312050661606020032 0ustar00rootroot0000000 0000000 _require "../../basis.smi" _require "../../ml-yacc/lib/base.sig" _require "../../ml-yacc/lib/lrtable.smi" _require "../../ml-yacc/lib/parser2.smi" _require "absyn.sig" _require "absyn.smi" _require "grammar.smi" _require "hdr.smi" _require "mklrtable.smi" _require "mkprstruct.smi" _require "parse.smi" _require "shrink.smi" _require "utils.sig" _require "sigs.sml" _require "utils.smi" _require "yacc.grm.smi" _require "yacc.lex.smi" _require "verbose.smi" structure ParseGen = struct val parseGen : string -> unit end smlsharp-1.2.0/src/ml-yacc/src/yacc.sml0000644 000000000000000000010004112050661606020036 0ustar00rootroot0000000 0000000 (* ML-Yacc Parser Generator (c) 1989, 1990 Andrew W. Appel, David R. Tarditi *) (* 2012-3-12 ohori defunctorize. link.sml and yacc.sml *) structure ParseGen : PARSE_GEN = struct open Array List infix 9 sub structure Grammar = MakeTable.Grammar structure Header = ParseGenParser.Header open Header Grammar (* approx. maximum length of a line *) val lineLength = 70 (* record type describing names of structures in the program being generated *) datatype names = NAMES of {miscStruct : string, (* Misc{n} struct name *) tableStruct : string, (* LR table structure *) tokenStruct : string, (* Tokens{n} struct name *) actionsStruct : string, (* Actions structure *) valueStruct: string, (* semantic value structure *) ecStruct : string, (* error correction structure *) arg: string, (* user argument for parser *) tokenSig : string, (* TOKENS{n} signature *) miscSig :string, (* Signature for Misc structure *) dataStruct:string, (* name of structure in Misc *) (* which holds parser data *) dataSig:string (* signature for this structure *) } val DEBUG = true exception Semantic (* common functions and values used in printing out program *) datatype values = VALS of {say : string -> unit, saydot : string -> unit, sayln : string -> unit, pureActions: bool, pos_type : string, arg_type : string, ntvoid : string, termvoid : string, start : Grammar.nonterm, hasType : Grammar.symbol -> bool, (* actual (user) name of terminal *) termToString : Grammar.term -> string, symbolToString : Grammar.symbol -> string, (* type symbol comes from the HDR structure, and is now abstract *) term : (Header.symbol * ty option) list, nonterm : (Header.symbol * ty option) list, terms : Grammar.term list, (* tokenInfo is the user inserted spec in the *_TOKEN sig*) tokenInfo : string option} structure SymbolHash = Hash(type elem = string val gt = (op >) : string*string -> bool) structure TermTable = Table(type key = Grammar.term val gt = fn (T i,T j) => i > j) structure SymbolTable = Table( type key = Grammar.symbol val gt = fn (TERM(T i),TERM(T j)) => i>j | (NONTERM(NT i),NONTERM(NT j)) => i>j | (NONTERM _,TERM _) => true | (TERM _,NONTERM _) => false) (* printTypes: function to print the following types in the LrValues structure and a structure containing the datatype svalue: type svalue -- it holds semantic values on the parse stack type pos -- the type of line numbers type result -- the type of the value that results from the parse The type svalue is set equal to the datatype svalue declared in the structure named by valueStruct. The datatype svalue is declared inside the structure named by valueStruct to deal with the scope of constructors. *) val printTypes = fn (VALS {say,sayln,term,nonterm,symbolToString,pos_type, arg_type, termvoid,ntvoid,saydot,hasType,start, pureActions,...}, NAMES {valueStruct,...},symbolType) => let val prConstr = fn (symbol,SOME s) => say (" | " ^ (symbolName symbol) ^ " of " ^ (if pureActions then "" else "unit -> ") ^ " (" ^ tyName s ^ ")" ) | _ => () in sayln "local open Header in"; sayln ("type pos = " ^ pos_type); sayln ("type arg = " ^ arg_type); sayln ("structure " ^ valueStruct ^ " = "); sayln "struct"; say ("datatype svalue = " ^ termvoid ^ " | " ^ ntvoid ^ " of" ^ (if pureActions then "" else " unit -> ") ^ " unit"); app prConstr term; app prConstr nonterm; sayln "\nend"; sayln ("type svalue = " ^ valueStruct ^ ".svalue"); say "type result = "; case symbolType (NONTERM start) of NONE => sayln "unit" | SOME t => (say (tyName t); sayln ""); sayln "end" end (* function to print Tokens{n} structure *) val printTokenStruct = fn (VALS {say, sayln, termToString, hasType,termvoid,terms, pureActions,tokenInfo,...}, NAMES {miscStruct,tableStruct,valueStruct, tokenStruct,tokenSig,dataStruct,...}) => (sayln ("structure " ^ tokenStruct ^ " : " ^ tokenSig ^ " ="); sayln "struct"; (case tokenInfo of NONE => () | _ => sayln ("open "^dataStruct^".Header")); sayln ("type svalue = " ^ dataStruct ^ ".svalue"); sayln ("type pos = " ^ dataStruct ^ ".pos"); sayln ("type token = " ^ dataStruct ^ ".Token.token"); let val f = fn term as T i => (say "fun "; say (termToString term); say " ("; if (hasType (TERM term)) then say "i," else (); say "p1,p2) = Token.TOKEN ("; say (dataStruct ^ "." ^ tableStruct ^ ".T "); say (Int.toString i); say ",("; say (dataStruct ^ "." ^ valueStruct ^ "."); if (hasType (TERM term)) then (say (termToString term); if pureActions then say " i" else say " (fn () => i)") else say termvoid; say ","; sayln "p1,p2))") in app f terms end; sayln "end") (* function to print signatures out - takes print function which does not need to insert line breaks *) val printSigs = fn (VALS {term,tokenInfo,...}, NAMES {tokenSig,tokenStruct,miscSig, dataStruct, dataSig, ...}, say) => say ("signature " ^ tokenSig ^ " =\nsig\n"^ (case tokenInfo of NONE => "" | SOME s => (s^"\n"))^ "type pos\ntype token\ntype svalue\n" ^ (List.foldr (fn ((s,ty),r) => String.concat [ "val ", symbolName s, (case ty of NONE => ": " | SOME l => ": (" ^ (tyName l) ^ ") * "), " pos * pos -> token\n", r]) "" term) ^ "end\nsignature " ^ miscSig ^ "=\nsig\nstructure Tokens : " ^ tokenSig ^ "\nstructure " ^ dataStruct ^ ":" ^ dataSig ^ "\nsharing type " ^ dataStruct ^ ".Token.token = Tokens.token\nsharing type " ^ dataStruct ^ ".svalue = Tokens.svalue\nend\n") (* function to print structure for error correction *) val printEC = fn (keyword : term list, preferred_change : (term list * term list) list, noshift : term list, value : (term * string) list, VALS {termToString, say,sayln,terms,saydot,hasType, termvoid,pureActions,...}, NAMES {ecStruct,tableStruct,valueStruct,...}) => let val sayterm = fn (T i) => (say "(T "; say (Int.toString i); say ")") val printBoolCase = fn ( l : term list) => (say "fn "; app (fn t => (sayterm t; say " => true"; say " | ")) l; sayln "_ => false") val printTermList = fn (l : term list) => (sayln "nil"; app (fn t => (say " $$ "; sayterm t)) (rev l)) fun printChange () = (sayln "val preferred_change : (term list * term list) list = "; app (fn (d,i) => (say"("; printTermList d; say ","; printTermList i; sayln ")::" ) ) preferred_change; sayln "nil") val printErrValues = fn (l : (term * string) list) => (sayln "local open Header in"; sayln "val errtermvalue="; say "fn "; app (fn (t,s) => (sayterm t; say " => "; saydot valueStruct; say (termToString t); say "("; if pureActions then () else say "fn () => "; say "("; say s; say "))"; sayln " | " ) ) l; say "_ => "; say (valueStruct ^ "."); sayln termvoid; sayln "end") val printNames = fn () => let val f = fn term => ( sayterm term; say " => "; sayln (String.concat["\"", termToString term, "\""]); say " | ") in (sayln "val showTerminal ="; say "fn "; app f terms; sayln "_ => \"bogus-term\"") end val ecTerms = List.foldr (fn (t,r) => if hasType (TERM t) orelse exists (fn (a,_)=>a=t) value then r else t::r) [] terms in say "structure "; say ecStruct; sayln "="; sayln "struct"; say "open "; sayln tableStruct; sayln "infix 5 $$"; sayln "fun x $$ y = y::x"; sayln "val is_keyword ="; printBoolCase keyword; printChange(); sayln "val noShift = "; printBoolCase noshift; printNames (); printErrValues value; say "val terms : term list = "; printTermList ecTerms; sayln "end" end val make_parser = fn ((header, DECL {eop,change,keyword,nonterm,prec, term, control,value} : declData, rules : rule list),spec,error : pos -> string -> unit, wasError : unit -> bool) => let val verbose = List.exists (fn VERBOSE=>true | _ => false) control val defaultReductions = not (List.exists (fn NODEFAULT=>true | _ => false) control) val pos_type = let fun f nil = NONE | f ((POS s)::r) = SOME s | f (_::r) = f r in f control end val start = let fun f nil = NONE | f ((START_SYM s)::r) = SOME s | f (_::r) = f r in f control end val name = let fun f nil = NONE | f ((PARSER_NAME s)::r) = SOME s | f (_::r) = f r in f control end val header_decl = let fun f nil = NONE | f ((FUNCTOR s)::r) = SOME s | f (_::r) = f r in f control end val footer_decl = let fun f nil = NONE | f ((FOOTER s)::r) = SOME s | f (_::r) = f r in f control end val decompose_decl = let fun f nil = NONE | f ((DECOMPOSE s)::r) = SOME s | f (_::r) = f r in f control end val blockSize_decl = let fun f nil = NONE | f ((BLOCKSIZE s)::r) = SOME s | f (_::r) = f r in f control end val token_sig_info_decl = let fun f nil = NONE | f ((TOKEN_SIG_INFO s)::_) = SOME s | f (_::r) = f r in f control end val arg_decl = let fun f nil = ("()","unit") | f ((PARSE_ARG s)::r) = s | f (_::r) = f r in f control end val noshift = let fun f nil = nil | f ((NSHIFT s)::r) = s | f (_::r) = f r in f control end val pureActions = let fun f nil = false | f ((PURE)::r) = true | f (_::r) = f r in f control end val term = case term of NONE => (error 1 "missing %term definition"; nil) | SOME l => l val nonterm = case nonterm of NONE => (error 1 "missing %nonterm definition"; nil) | SOME l => l val pos_type = case pos_type of NONE => (error 1 "missing %pos definition"; "") | SOME l => l (* 2012-9-30 ohori: printAction is moved in make_parser to acces "%decompose" and "%blockSize" that are parsed in make_parser below to decompose_decl and blockSize_decl. *) val printAction = fn (rules, VALS {hasType,say,sayln,termvoid,ntvoid, symbolToString,saydot,start,pureActions,...}, NAMES {actionsStruct,valueStruct,tableStruct,arg,...}) => let val printAbsynRule = Absyn.printRule(say,sayln) val is_nonterm = fn (NONTERM i) => true | _ => false val numberRhs = fn r => List.foldl (fn (e,(r,table)) => let val num = case SymbolTable.find(e,table) of SOME i => i | NONE => 1 in ((e,num,hasType e orelse is_nonterm e)::r, SymbolTable.insert((e,num+1),table)) end) (nil,SymbolTable.empty) r val saySym = symbolToString val printCase = fn (i:int, r as {lhs=lhs as (NT lhsNum),prec, rhs,code,rulenum}) => (* mkToken: Build an argument *) let open Absyn val mkToken = fn (sym,num : int,typed) => let val symString = symbolToString sym val symNum = symString ^ (Int.toString num) in PTUPLE [WILD, PTUPLE[if not (hasType sym) then (if is_nonterm sym then PAPP(valueStruct^"."^ntvoid, PVAR symNum) else WILD) else PAPP(valueStruct^"."^symString, if num=1 andalso pureActions then AS(symNum,PVAR symString) else PVAR symNum), if num=1 then AS(symString^"left", PVAR(symNum^"left")) else PVAR(symNum^"left"), if num=1 then AS(symString^"right", PVAR(symNum^"right")) else PVAR(symNum^"right")] ] end val numberedRhs = #1 (numberRhs rhs) (* construct case pattern *) val pat = PTUPLE[PINT i,PLIST(map mkToken numberedRhs, SOME (PVAR "rest671"))] (* remove terminals in argument list w/o types *) val argsWithTypes = List.foldr (fn ((_,_,false),r) => r | (s as (_,_,true),r) => s::r) nil numberedRhs (* construct case body *) val defaultPos = EVAR "defaultPos" val resultexp = EVAR "result" val resultpat = PVAR "result" val code = CODE code val rest = EVAR "rest671" val body = LET([VB(resultpat, EAPP(EVAR(valueStruct^"."^ (if hasType (NONTERM lhs) then saySym(NONTERM lhs) else ntvoid)), if pureActions then code else if argsWithTypes=nil then FN(WILD,code) else FN(WILD, let val body = LET(map (fn (sym,num:int,_) => let val symString = symbolToString sym val symNum = symString ^ Int.toString num in VB(if num=1 then AS(symString,PVAR symNum) else PVAR symNum, EAPP(EVAR symNum,UNIT)) end) (rev argsWithTypes), code) in if hasType (NONTERM lhs) then body else SEQ(body,UNIT) end))) ], ETUPLE[EAPP(EVAR(tableStruct^".NT"),EINT(lhsNum)), case rhs of nil => ETUPLE[resultexp,defaultPos,defaultPos] | r =>let val (rsym,rnum,_) = hd(numberedRhs) val (lsym,lnum,_) = hd(rev numberedRhs) in ETUPLE[resultexp, EVAR (symbolToString lsym ^ Int.toString lnum ^ "left"), EVAR (symbolToString rsym ^ Int.toString rnum ^ "right")] end, rest]) in printAbsynRule (RULE(pat,body)) end local fun take blockSize L = let fun take' 0 (blockRev, rest) = (List.rev blockRev, rest) | take' n (blockRev, nil) = (List.rev blockRev, nil) | take' n (blockRev, rest) = take' (n - 1) (hd rest :: blockRev, tl rest) in take' blockSize (nil,L) end fun decompose blockSize L = case blockSize of NONE => [L] | SOME blockSize => let fun decomp L decomposedRev = let val (next, rest) = take blockSize L val decomposedRev = next::decomposedRev in case rest of nil => List.rev decomposedRev | _ => decomp rest decomposedRev end in decomp L nil end fun decomposeRules (namePrefix, blockSize, rules) = let val rulesList = decompose blockSize rules val lastIndex = List.length rulesList val (_, decoposedRulesList) = foldl (fn (rules, (funIndex, decoposedRulesList)) => let val funName = namePrefix ^ Int.toString funIndex val continueOpt = if funIndex = lastIndex then NONE else SOME (namePrefix ^ Int.toString (funIndex + 1)) in (funIndex + 1, {funName=funName, rules = rules, continue = continueOpt } ::decoposedRulesList) end ) (1, nil) rulesList in decoposedRulesList end in (* 2012-9-30 ohori: Here we deconpose the action cases in a sequence of function applies *) val argTuple = "(i392, defaultPos, stack," ^ arg ^ ")" fun mkContinue NONE = sayln "_ => raise (mlyAction i392)" | mkContinue (SOME s) = sayln ("_ => (" ^ s ^ argTuple ^ ")") fun mkFun {rules, funName, continue} = (sayln ("fun " ^ funName); sayln " (i392:int,defaultPos:pos,stack:(LrTable.state * (svalue * pos * pos)) list,"; say " ("; say arg; sayln "):arg) ="; sayln " case (i392, stack) of "; app (fn (rule as {rulenum,...}) => (printCase(rulenum,rule); say "| ")) rules; mkContinue continue ) val funPrefix = "actionFun" val firstFun = "actionFun1" val blockSize = case decompose_decl of NONE => Int.maxInt | SOME _ => (case blockSize_decl of NONE => Int.maxInt | SOME n => Int.fromString n) val rulesList = decomposeRules (funPrefix, blockSize, rules) end (* end local *) in say "structure "; say actionsStruct; sayln " ="; sayln "struct "; sayln "exception mlyAction of int"; sayln "local open Header in"; app mkFun rulesList; sayln ("val actions = " ^ firstFun); sayln "end"; say "val void = "; saydot valueStruct; sayln termvoid; say "val extract = "; say "fn a => (fn "; saydot valueStruct; if hasType (NONTERM start) then say (symbolToString (NONTERM start)) else say "ntVOID"; sayln " x => x"; sayln "| _ => let exception ParseInternal"; say "\tin raise ParseInternal end) a "; sayln (if pureActions then "" else "()"); sayln "end" end (* the end of printAction *) val termHash = List.foldr (fn ((symbol,_),table) => let val name = symbolName symbol in if SymbolHash.exists(name,table) then (error (symbolPos symbol) ("duplicate definition of " ^ name ^ " in %term"); table) else SymbolHash.add(name,table) end) SymbolHash.empty term val isTerm = fn name => SymbolHash.exists(name,termHash) val symbolHash = List.foldr (fn ((symbol,_),table) => let val name = symbolName symbol in if SymbolHash.exists(name,table) then (error (symbolPos symbol) (if isTerm name then name ^ " is defined as a terminal and a nonterminal" else "duplicate definition of " ^ name ^ " in %nonterm"); table) else SymbolHash.add(name,table) end) termHash nonterm fun makeUniqueId s = if SymbolHash.exists(s,symbolHash) then makeUniqueId (s ^ "'") else s val _ = if wasError() then raise Semantic else () val numTerms = SymbolHash.size termHash val numNonterms = SymbolHash.size symbolHash - numTerms val symError = fn sym => fn err => fn symbol => error (symbolPos symbol) (symbolName symbol^" in "^err^" is not defined as a " ^ sym) val termNum : string -> Header.symbol -> term = let val termError = symError "terminal" in fn stmt => let val stmtError = termError stmt in fn symbol => case SymbolHash.find(symbolName symbol,symbolHash) of NONE => (stmtError symbol; T ~1) | SOME i => T (if i Header.symbol -> nonterm = let val nontermError = symError "nonterminal" in fn stmt => let val stmtError = nontermError stmt in fn symbol => case SymbolHash.find(symbolName symbol,symbolHash) of NONE => (stmtError symbol; NT ~1) | SOME i => if i>=numTerms then NT (i-numTerms) else (stmtError symbol;NT ~1) end end val symbolNum : string -> Header.symbol -> Grammar.symbol = let val symbolError = symError "symbol" in fn stmt => let val stmtError = symbolError stmt in fn symbol => case SymbolHash.find(symbolName symbol,symbolHash) of NONE => (stmtError symbol; NONTERM (NT ~1)) | SOME i => if i>=numTerms then NONTERM(NT (i-numTerms)) else TERM(T i) end end (* map all symbols in the following values to terminals and check that the symbols are defined as terminals: eop : symbol list keyword: symbol list prec: (lexvalue * (symbol list)) list change: (symbol list * symbol list) list *) val eop = map (termNum "%eop") eop val keyword = map (termNum "%keyword") keyword val prec = map (fn (a,l) => (a,case a of LEFT => map (termNum "%left") l | RIGHT => map (termNum "%right") l | NONASSOC => map (termNum "%nonassoc") l )) prec val change = let val mapTerm = termNum "%prefer, %subst, or %change" in map (fn (a,b) => (map mapTerm a, map mapTerm b)) change end val noshift = map (termNum "%noshift") noshift val value = let val mapTerm = termNum "%value" in map (fn (a,b) => (mapTerm a,b)) value end val (rules,_) = let val symbolNum = symbolNum "rule" val nontermNum = nontermNum "rule" val termNum = termNum "%prec tag" in List.foldr (fn (RULE {lhs,rhs,code,prec},(l,n)) => ( {lhs=nontermNum lhs,rhs=map symbolNum rhs, code=code,prec=case prec of NONE => NONE | SOME t => SOME (termNum t), rulenum=n}::l,n-1)) (nil,length rules-1) rules end val _ = if wasError() then raise Semantic else () (* termToString: map terminals back to strings *) val termToString = let val data = array(numTerms,"") val unmap = fn (symbol,_) => let val name = symbolName symbol in update(data, case SymbolHash.find(name,symbolHash) of SOME i => i | NONE => raise Fail "termToString", name) end val _ = app unmap term in fn T i => if DEBUG andalso (i<0 orelse i>=numTerms) then "bogus-num" ^ (Int.toString i) else data sub i end val nontermToString = let val data = array(numNonterms,"") val unmap = fn (symbol,_) => let val name = symbolName symbol in update(data, case SymbolHash.find(name,symbolHash) of SOME i => i-numTerms | NONE => raise Fail "nontermToString", name) end val _ = app unmap nonterm in fn NT i => if DEBUG andalso (i<0 orelse i>=numNonterms) then "bogus-num" ^ (Int.toString i) else data sub i end (* create functions mapping terminals to precedence numbers and rules to precedence numbers. Precedence statements are listed in order of ascending (tighter binding) precedence in the specification. We receive a list composed of pairs containing the kind of precedence (left,right, or assoc) and a list of terminals associated with that precedence. The list has the same order as the corresponding declarations did in the specification. Internally, a tighter binding has a higher precedence number. We give precedences using multiples of 3: p+2 = right associative (force shift of symbol) p+1 = precedence for rule p = left associative (force reduction of rule) Nonassociative terminals are given also given a precedence of p+1. The table generator detects when the associativity of a nonassociative terminal is being used to resolve a shift/reduce conflict by checking if the precedences of the rule and the terminal are equal. A rule is given the precedence of its rightmost terminal *) val termPrec = let val precData = array(numTerms, NONE : int option) val addPrec = fn termPrec => fn term as (T i) => case precData sub i of SOME _ => error 1 ("multiple precedences specified for terminal " ^ (termToString term)) | NONE => update(precData,i,termPrec) val termPrec = fn ((LEFT,_) ,i) => i | ((RIGHT,_),i) => i+2 | ((NONASSOC,l),i) => i+1 val _ = List.foldl (fn (args as ((_,l),i)) => (app (addPrec (SOME (termPrec args))) l; i+3)) 0 prec in fn (T i) => if DEBUG andalso (i < 0 orelse i >= numTerms) then NONE else precData sub i end val elimAssoc = fn i => (i - (i mod 3) + 1) val rulePrec = let fun findRightTerm (nil,r) = r | findRightTerm (TERM t :: tail,r) = findRightTerm(tail,SOME t) | findRightTerm (_ :: tail,r) = findRightTerm(tail,r) in fn rhs => case findRightTerm(rhs,NONE) of NONE => NONE | SOME term => case termPrec term of SOME i => SOME (elimAssoc i) | a => a end val grammarRules = let val conv = fn {lhs,rhs,code,prec,rulenum} => {lhs=lhs,rhs =rhs,precedence= case prec of SOME t => (case termPrec t of SOME i => SOME(elimAssoc i) | a => a) | _ => rulePrec rhs, rulenum=rulenum} in map conv rules end (* get start symbol *) val start = case start of NONE => #lhs (hd grammarRules) | SOME name => nontermNum "%start" name val symbolType = let val data = array(numTerms+numNonterms,NONE : ty option) fun unmap (symbol,ty) = update(data, case SymbolHash.find(symbolName symbol,symbolHash) of SOME i => i | NONE => raise Fail "symbolType", ty) val _ = (app unmap term; app unmap nonterm) in fn NONTERM(NT i) => if DEBUG andalso (i<0 orelse i>=numNonterms) then NONE else data sub (i+numTerms) | TERM (T i) => if DEBUG andalso (i<0 orelse i>=numTerms) then NONE else data sub i end val symbolToString = fn NONTERM i => nontermToString i | TERM i => termToString i val grammar = GRAMMAR {rules=grammarRules, terms=numTerms,nonterms=numNonterms, eop = eop, start=start,noshift=noshift, termToString = termToString, nontermToString = nontermToString, precedence = termPrec} val name' = case name of NONE => "" | SOME s => symbolName s val names = NAMES {miscStruct=name' ^ "LrValsFun", valueStruct="MlyValue", tableStruct="LrTable", tokenStruct="Tokens", actionsStruct="Actions", ecStruct="EC", arg= #1 arg_decl, tokenSig = name' ^ "_TOKENS", miscSig = name' ^ "_LRVALS", dataStruct = "ParserData", dataSig = "PARSER_DATA"} val (table,stateErrs,corePrint,errs) = MakeTable.mkTable(grammar,defaultReductions) val entries = ref 0 (* save number of action table entries here *) in let val result = TextIO.openOut (spec ^ ".sml") val sigs = TextIO.openOut (spec ^ ".sig") val pos = ref 0 val pr = fn s => TextIO.output(result,s) val say = fn s => let val l = String.size s val newPos = (!pos) + l in if newPos > lineLength then (pr "\n"; pos := l) else (pos := newPos); pr s end val saydot = fn s => (say (s ^ ".")) val sayln = fn t => (pr t; pr "\n"; pos := 0) val termvoid = makeUniqueId "VOID" val ntvoid = makeUniqueId "ntVOID" val hasType = fn s => case symbolType s of NONE => false | _ => true val terms = let fun f n = if n=numTerms then nil else (T n) :: f(n+1) in f 0 end val values = VALS {say=say,sayln=sayln,saydot=saydot, termvoid=termvoid, ntvoid = ntvoid, hasType=hasType, pos_type = pos_type, arg_type = #2 arg_decl, start=start,pureActions=pureActions, termToString=termToString, symbolToString=symbolToString,term=term, nonterm=nonterm,terms=terms, tokenInfo=token_sig_info_decl} val (NAMES {miscStruct,tableStruct,dataStruct,tokenSig,tokenStruct,dataSig,...}) = names in case header_decl of NONE => (say "functor "; say miscStruct; sayln "(structure Token : TOKEN)"; say " : sig structure "; say dataStruct; say " : "; sayln dataSig; say " structure "; say tokenStruct; say " : "; sayln tokenSig; sayln " end") | SOME s => say s; sayln " = "; sayln "struct"; sayln ("structure " ^ dataStruct ^ "="); sayln "struct"; sayln "structure Header = "; sayln "struct"; sayln header; sayln "end"; printTypes(values,names,symbolType); sayln "structure ParserArg = struct type pos = pos type svalue = svalue type arg = arg end"; sayln "structure LrParser = LrParserFun(ParserArg)"; sayln "structure Token = LrParser.Token"; sayln "structure LrTable = LrParser.LrTable"; sayln "local open LrTable in "; entries := PrintStruct.makeStruct{table=table,print=pr, name = "table", verbose=verbose}; sayln "end"; printEC (keyword,change,noshift,value,values,names); printAction(rules,values,names); sayln "end"; sayln ("structure Token = " ^ dataStruct ^ ".LrParser.Token"); printTokenStruct(values,names); sayln "end"; case footer_decl of SOME s => sayln s | NONE => (); printSigs(values,names,fn s => TextIO.output(sigs,s)); TextIO.closeOut sigs; TextIO.closeOut result; MakeTable.Errs.printSummary (fn s => TextIO.output(TextIO.stdOut,s)) errs end; if verbose then let val f = TextIO.openOut (spec ^ ".desc") val say = fn s=> TextIO.output(f,s) val printRule = let val rules = Array.fromList grammarRules in fn say => let val prRule = fn {lhs,rhs,precedence,rulenum} => ((say o nontermToString) lhs; say " : "; app (fn s => (say (symbolToString s); say " ")) rhs) in fn i => prRule (rules sub i) end end in Verbose.printVerbose {termToString=termToString,nontermToString=nontermToString, table=table, stateErrs=stateErrs,errs = errs,entries = !entries, print=say, printCores=corePrint,printRule=printRule}; TextIO.closeOut f end else () end val parseGen = fn spec => let val (result,inputSource) = ParseGenParser.parse spec in make_parser(getResult result,spec,Header.error inputSource, errorOccurred inputSource) end end smlsharp-1.2.0/src/ml-yacc/tool0000755 000000000000000000000000012050661606016515 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/ml-yacc/tool/ext.sml0000644 000000000000000000000061712050661606020115 0ustar00rootroot0000000 0000000 (* ext.sml * * Plugin for registering classifiers. * * Copyright (c) 2007 by The Fellowship of SML/NJ * * Author: Matthias Blume (blume@tti-c.org) *) structure YaccGrmExt = struct local val suffixes = ["grm", "y"] val class = "mlyacc" fun sfx s = Tools.registerClassifier (Tools.stdSfxClassifier { sfx = s, class = class }) in val _ = app sfx suffixes end end smlsharp-1.2.0/src/ml-yacc/tool/grm-ext.cm0000644 000000000000000000000031412050661606020476 0ustar00rootroot0000000 0000000 (* * Plugin for registering the "grm" classifier. * * (C) 2007 The Fellowship of SML/NJ * * Author: Matthias Blume (blume@tti-c.org) *) Library structure YaccGrmExt is $smlnj/cm/tools.cm ext.sml smlsharp-1.2.0/src/ml-yacc/tool/mlyacc-tool.cm0000644 000000000000000000000032712050661606021342 0ustar00rootroot0000000 0000000 (* * The plugin library for ML-Yacc. * * (C) 2000 Lucent Technologies, Bell Laboratories * * Author: Matthias Blume (blume@kurims.kyoto-u.ac.jp) *) Library structure YaccTool is $smlnj/cm/tools.cm tool.sml smlsharp-1.2.0/src/ml-yacc/tool/tool.sml0000644 000000000000000000000162012050661606020265 0ustar00rootroot0000000 0000000 (* * Running ML-Yacc from CM. * * (C) 1999 Lucent Technologies, Bell Laboratories * * Author: Matthias Blume (blume@kurims.kyoto-u.ac.jp) *) structure YaccTool = struct local val tool = "ML-Yacc" val kw_sigopts = "sigoptions" val kw_smlopts = "smloptions" val kwl = [kw_sigopts, kw_smlopts] (* This is a bit clumsy because we call parseOptions twice. * However, this is not really such a big deal in practice... *) fun get kw NONE = NONE | get kw (SOME opts) = #matches (Tools.parseOptions { tool = tool, keywords = kwl, options = opts }) kw in val _ = Tools.registerStdShellCmdTool { tool = tool, class = "mlyacc", cmdStdPath = fn () => ("ml-yacc", []), template = NONE, extensionStyle = Tools.EXTEND [("sig", SOME "sml", get kw_sigopts), ("sml", SOME "sml", get kw_smlopts)], dflopts = [] } end end smlsharp-1.2.0/src/ml-yacc-lib.smi0000644 000000000000000000000020412050661606017071 0ustar00rootroot0000000 0000000 include "ml-yacc/lib/base.sig" include "ml-yacc/lib/lrtable.smi" include "ml-yacc/lib/stream.smi" include "ml-yacc/lib/parser2.smi" smlsharp-1.2.0/src/prelude.smi0000644 000000000000000000000034312050661606016444 0ustar00rootroot0000000 0000000 include "basis.smi" include "ml-yacc-lib.smi" include "smlformat-lib.smi" (* include "smlnj-lib.smi" *) include "ffi.smi" include "sql.smi" include "reifiedterm/main/ReifiedTerm.ppg.smi" include "unix-utils/main/UnixUtils.smi" smlsharp-1.2.0/src/reifiedterm0000755 000000000000000000000000012050661606016512 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/reifiedterm/main0000755 000000000000000000000000012050661606017436 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/reifiedterm/main/ReflectionControl.smi0000644 000000000000000000000026412050661606023664 0ustar00rootroot0000000 0000000 _require "../../smlformat-lib.smi" structure ReflectionControl = struct val max : int val ellipsis : SMLFormat.FormatExpression.expression list val printWidth : int ref end smlsharp-1.2.0/src/reifiedterm/main/ReflectionControl.sml0000644 000000000000000000000043612050661606023670 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2012- Tohoku University. * @author Atsushi Ohori *) structure ReflectionControl = struct (* max number of elements in lists and arrays to be printed *) val max = 20 val ellipsis = [SMLFormat.FormatExpression.Term (3, "...")] val printWidth = ref 80 end smlsharp-1.2.0/src/reifiedterm/main/ReifiedTerm.ppg0000644 000000000000000000002144212050661606022427 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2012- Tohoku University. * @author Atsushi Ohori *) structure ReifiedTerm = struct (*% *) type path = (*% @format(name names) names(name)(".") *) string list (*% @formatter(int) TermPrintUtils.format_int @formatter(string) TermPrintUtils.format_string @formatter(label) TermPrintUtils.format_label @formatter(real) TermPrintUtils.format_real @formatter(char) TermPrintUtils.format_char @formatter(Word8.word) TermPrintUtils.format_word8 @formatter(Real32.real) TermPrintUtils.format_real32 @formatter(LabelEnv.map) TermPrintUtils.formatLmap @formatter(list) TermPrintUtils.formatElements @formatter(lazyArray) TermPrintUtils.format_lazyArray @formatter(IntInf.int) TermPrintUtils.format_IntInf *) datatype reifiedTerm = (*% @format(int) int *) INTtyRep of int | (*% @format(int) int *) INTINFtyRep of IntInf.int | (*% @format(bool) bool *) BOOLtyRep of bool | (*% @format(word) word *) WORDtyRep of word | (*% @format(word) word *) WORD8tyRep of Word8.word | (*% @format(char) char *) CHARtyRep of char | (*% @format(string) string *) STRINGtyRep of string | (*% @format(real) real *) REALtyRep of real | (*% @format(real) real *) REAL32tyRep of Real32.real | (*% @format "()" *) UNITtyRep | (*% @format "fn" *) FUNtyRep | (*% @format(field terms) { "{" 2[1 terms(field)(","+1)] 1 "}" } @format:field(name:label * term) { name + "=" + term } *) RECORDtyRep of (string * reifiedTerm) list | (*% @format(field terms) { "(" { 2[1 terms(field)(","+1)] } 1 ")" } *) TUPLEtyRep of reifiedTerm list | (*% @format(term terms) { "[" 2[1 terms(term)(","+1)] 1 "]" } *) LISTtyRep of reifiedTerm list | (*% @format(term * lazyArray:lazyArray) { "<" 2[1 lazyArray(term)(","+1)] 1 ">" } *) ARRAYtyRep of reifiedTerm * (int -> reifiedTerm list * bool) | (*% @format "exn" *) EXNtyRep | (*% @format "ptr" *) PTRtyRep | (*% @format(string) "_" *) CONSTRUCTtyRep of string | (*% @format "_" *) UNPRINTABLERep | (*% @format "" *) BUILTINRep fun makeArrayTerm (reifyFun:'a -> reifiedTerm) (array:'a array) = let val dummyTerm = UNPRINTABLERep fun makeTerm (max:int) = let fun take i j = if i = j then nil else Array.sub(array, i) :: take (i + 1) j val size = Array.length array val (ellipsis, max) = if max > size then (false, size) else (true, max) val list = take 0 max val list = map reifyFun list in (list, ellipsis) end in ARRAYtyRep (dummyTerm, makeTerm) end fun makeListTerm (reifyFun:'a -> reifiedTerm) (list:'a list) = LISTtyRep (map reifyFun list) fun makeRecordTerm (reifyFun: (string * 'a) -> string * reifiedTerm) (list:(string * 'a) list) = RECORDtyRep (map reifyFun list) fun makeTupleTerm (reifyFun:'a -> reifiedTerm) (list:'a list) = TUPLEtyRep (map reifyFun list) fun makeFieldTerm (label:string) (field:reifiedTerm) = (label, field) fun makeConsField (h:string*reifiedTerm) (t:(string*reifiedTerm) list) = h::t val fieldNil = (nil:(string*reifiedTerm) list) fun makeConsTerm (h:reifiedTerm) (t: reifiedTerm list) = h::t val reifiedTermNil = (nil:reifiedTerm list) fun ifMultilines (nl, sp) s = if List.length (String.fields (fn x => x = #"\n") s) > 1 orelse String.size s > 60 then nl else sp (*% @formatter(option) TermPrintUtils.formatPrependedOpt @formatter(makeLines) TermPrintUtils.makeLines @formatter(ifMultilines) ifMultilines *) datatype idstatus = (*% @format({name, term, ty}) {2[ "val" + name + "=" + term ty:ifMultilines()(\n,+) ":" + {ty:makeLines} ] } *) EXVAR of {name:string, term:reifiedTerm, ty:string} | (*% @format({name, ty:ty opt}) {"exception" + name opt(ty:makeLines)(+"of"+)} *) EXEXN of {name:string, ty:string option} | (*% @format({name, path}) {"exception" + name + "=" + path} *) EXEXNREP of {name:string, path:string} fun makeEXVAR (name:string) (term:reifiedTerm) (ty:string) = EXVAR {name=name, term=term, ty=ty} fun makeEXEXN (name:string) (ty:string) = let val tyOpt = case ty of "" => NONE | _ => SOME ty in EXEXN {name=name, ty=tyOpt} end fun makeEXEXNREP (name:string) (path:string) = EXEXNREP {name=name, path=path} (*% @formatter(makeLines) TermPrintUtils.makeLines *) type tstr = (*% @format(name * def:makeLines) def *) string * string fun makeTstr (name:string) (def:string) = (name, def) (*% @formatter(ifCons) TermPrintUtils.formatIfCons *) type varE = (*% @format(var vars) vars(var)(\n) *) idstatus list val idstatusNil = (nil:idstatus list) fun idstatusCons (h:idstatus) (t:idstatus list) = h :: t (*% *) type tyE = (*% @format(ty tys) tys(ty)(\n) *) tstr list val tstrNil = (nil:tstr list) fun tstrCons (h:tstr) (t:tstr list) = h :: t fun ifNonEmptyTyEVarE (varE,exp) tyE = if null(tyE) orelse null(varE) then nil else exp fun ifNonEmptyTyEVarEStrE (varE,tyE,exp) strs = if null(strs) orelse null(varE) andalso null(tyE) then nil else exp fun ifNonEmptyEnv (env, exp) _ = if null(env) then nil else exp @ env (*% @formatter(ifCons) TermPrintUtils.formatIfCons @formatter(ifNonEmptyTyEVarE) ifNonEmptyTyEVarE @formatter(ifNonEmptyTyEVarEStrE) ifNonEmptyTyEVarEStrE @formatter(ifNonEmptyEnv) ifNonEmptyEnv *) datatype env = (*% @format({varE, tyE, strE:str strs}) tyE tyE:ifNonEmptyTyEVarE()(varE,\n) varE strs:ifNonEmptyTyEVarEStrE()(varE,tyE,\n) strs(str)(\n) *) ENV of {varE:varE, tyE:tyE, strE:strentry list} withtype strentry = (*% @format(name*env) "structure" + name + "=" 2[ \n "struct" 2[ env:ifNonEmptyEnv()(env,\n) ] \n "end" ] *) string * env fun makeENV (varE:varE) (tyE:tyE) (strE:strentry list) = ENV{varE=varE, tyE=tyE, strE=strE} fun makeStrentry (name:string) (env:env) = (name, env) val strentryNil = (nil:strentry list) fun strentryCons (h:strentry) (t:strentry list) = h :: t (*% @formatter(ifCons) TermPrintUtils.formatIfCons *) type funE = (*% @format(functor functors) functors(functor)(\n) *) string list val stringNil = (nil:string list) fun stringCons (h:string) (t:string list) = h :: t (*% *) type sigentry = (*% @format(name * sige) "signature" + name + "=" 2[ \n "sig" 2[sige] \n "end" ] *) string * string (*% @formatter(ifCons) TermPrintUtils.formatIfCons *) type sigE = (*% @format(sigdef sigdefs) sigdefs(sigdef)(\n) *) sigentry list fun makeSigentry (name:string) (sige:string) = (name, sige) val sigentryNil = (nil: sigentry list) fun sigentryCons (h:sigentry) (t:sigentry list) = h :: t fun printEnv (env,nl) string = if String.size string = 0 then if null(env) then nil else env @ nl else if null(env) then nl else nl @ env @ nl (*% @formatter(printEnv) printEnv @formatter(ifCons) TermPrintUtils.formatIfCons *) type topEnv = (*% @format({Env, FunE, SigE}) FunE FunE:ifCons()(\n) SigE SigE:printEnv()(Env,\n) *) {Env:env, FunE:funE, SigE:string} fun makeReifiedTopenv (env:env) (funE:funE) (sigE:string) = {Env=env, FunE=funE, SigE=sigE} fun printTopEnv topEnv = print (TermPrintUtils.prettyPrint (format_topEnv topEnv)) end smlsharp-1.2.0/src/reifiedterm/main/ReifiedTerm.ppg.smi0000644 000000000000000000001005012050661606023207 0ustar00rootroot0000000 0000000 _require "../../basis/main/Int.smi" _require "../../basis/main/IntInf.smi" _require "../../basis/main/Word8.smi" _require "../../basis/main/Real32.smi" _require "../../basis/main/List.smi" _require "../../basis/main/String.smi" _require "../../basis/main/Array.smi" _require "../../basis/main/binary-op.smi" _require "../../basis/main/TextIO.smi" _require "TermPrintUtils.ppg.smi" _require "../../smlformat-lib.smi" _require "../../compiler-utils/env/main/LabelEnv.smi" structure ReifiedTerm = struct type path = string list val format_path : string list -> SMLFormat.FormatExpression.expression list datatype reifiedTerm = ARRAYtyRep of reifiedTerm * (int -> reifiedTerm list * bool) | CHARtyRep of char | CONSTRUCTtyRep of string | EXNtyRep | FUNtyRep | INTINFtyRep of IntInf.int | INTtyRep of int | BOOLtyRep of bool | LISTtyRep of reifiedTerm list | PTRtyRep | REAL32tyRep of Real32.real | REALtyRep of real | RECORDtyRep of (string * reifiedTerm) list | TUPLEtyRep of reifiedTerm list | STRINGtyRep of string | UNITtyRep | UNPRINTABLERep | BUILTINRep | WORD8tyRep of Word8.word | WORDtyRep of word val format_reifiedTerm : reifiedTerm -> SMLFormat.FormatExpression.expression list val makeArrayTerm : ('a -> reifiedTerm) -> 'a array -> reifiedTerm val makeListTerm : ('a -> reifiedTerm) -> 'a list -> reifiedTerm val makeTupleTerm : ('a -> reifiedTerm) -> 'a list -> reifiedTerm val makeConsTerm : reifiedTerm -> reifiedTerm list -> reifiedTerm list val makeFieldTerm : string -> reifiedTerm -> string * reifiedTerm val makeConsField : string * reifiedTerm -> (string * reifiedTerm) list -> (string * reifiedTerm) list val fieldNil : (string * reifiedTerm) list val reifiedTermNil : reifiedTerm list datatype idstatus = EXEXN of {name:string, ty:string option} | EXEXNREP of {name:string, path:string} | EXVAR of {name:string, term:reifiedTerm, ty:string} val format_idstatus : idstatus -> SMLFormat.FormatExpression.expression list val makeEXVAR : string -> reifiedTerm -> string -> idstatus val makeEXEXN : string -> string -> idstatus val makeEXEXNREP : string -> string -> idstatus type tstr = string * string val format_tstr : string * string -> SMLFormat.FormatExpression.expression list val makeTstr : string -> string -> string * string type varE = idstatus list val format_varE : idstatus list -> SMLFormat.FormatExpression.expression list val idstatusNil : idstatus list val idstatusCons : idstatus -> idstatus list -> idstatus list type tyE = tstr list val format_tyE : (string * string) list -> SMLFormat.FormatExpression.expression list val tstrNil : tstr list val tstrCons : tstr -> tstr list -> tstr list datatype env = ENV of {strE:(string * env) list, tyE:tyE, varE:varE} type strentry = string * env val format_env : env -> SMLFormat.FormatExpression.expression list val format_strentry : strentry -> SMLFormat.FormatExpression.expression list val makeENV : varE -> tyE -> (strentry list) -> env val makeStrentry : string -> env -> string * env val strentryNil : strentry list val strentryCons : strentry -> strentry list -> strentry list type funE = string list val format_funE : string list -> SMLFormat.FormatExpression.expression list val stringNil : string list val stringCons : string -> string list -> string list type sigentry = string * string val format_sigentry : string * string -> SMLFormat.FormatExpression.expression list type sigE = sigentry list val format_sigE : (string * string) list -> SMLFormat.FormatExpression.expression list val makeSigentry : string -> string -> string * string val sigentryNil : sigentry list val sigentryCons : sigentry -> sigentry list -> sigentry list type topEnv = {Env:env, FunE:funE, SigE:string} val format_topEnv : topEnv -> SMLFormat.FormatExpression.expression list val makeReifiedTopenv : env -> funE -> string -> {Env:env, FunE:funE, SigE:string} val printTopEnv : topEnv -> unit end smlsharp-1.2.0/src/reifiedterm/main/TermPrintUtils.ppg0000644 000000000000000000001162412050661606023176 0ustar00rootroot0000000 0000000 (** * @copyright (c) 2012- Tohoku University. * @author Atsushi Ohori *) structure TermPrintUtils = struct local structure FE = SMLFormat.FormatExpression structure C = ReflectionControl val spaceIndicator = FE.Indicator{space = true, newline = NONE} fun makeToken s = [FE.Term (String.size s, s)] in type format = SMLFormat.FormatExpression.expression list fun makeLines s = let val fields = String.fields (fn x => x = #"\n") s val termList = foldr (fn (s, nil) => FE.Term(String.size s, s)::nil | (s,termList) => FE.Term(String.size s, s) :: FE.Newline :: termList ) nil fields in termList end fun format_int int = let val text = Int.toString int in makeToken text end (* ?? *) fun format_real real = let val text = Real.fmt (StringCvt.GEN NONE) real in makeToken text end fun format_string string = let val text = "\""^ (String.toString string) ^ "\"" in makeToken text end fun format_label string = let val text = String.toString string in makeToken text end (* ?? *) fun format_char char = let val text = "#" ^ "\"" ^ Char.toString char ^ "\"" in makeToken text end fun format_int32 int = let val text = Int32.toString int in makeToken text end (* ?? *) fun format_real32 int = let val text = Real32.toString int in makeToken text end (* ?? *) fun format_word32 word = let val text = Word32.toString word in makeToken text end (* ?? *) fun format_word8 word = let val text = Word8.toString word in makeToken text end (* ?? *) fun format_IntInf int = let val text = IntInf.toString int in makeToken text end (* list format with bound and ellipsis *) fun formatElements (elementFormatter, separator) list = let val count = List.length list val (list, ellipsis) = if count > C.max then (List.take(list, C.max), true) else (list, false) in if ellipsis then (SMLFormat.BasicFormatters.format_list (elementFormatter, separator) list) @ C.ellipsis else SMLFormat.BasicFormatters.format_list (elementFormatter, separator) list end fun format_lazyArray (elementFormatter, separator) lazyFn = let val (list, ellipsis) = lazyFn C.max in if ellipsis then (SMLFormat.BasicFormatters.format_list (elementFormatter, separator) list) @ C.ellipsis else SMLFormat.BasicFormatters.format_list (elementFormatter, separator) list end (*% @params(bindsep,itemsep) @formatter(formatElements) formatElements *) type 'a record = (*% @format(field fields:formatElements) "{" 2[1 fields(field)(itemsep)] 1 "}" @format:field(label * elem) label bindsep elem *) (string * 'a) list (*% @params(itemsep) @formatter(formatElements) formatElements *) type 'a tuple = (*% @format(field fields:formatElements) "(" 1[1 fields(field)(itemsep)] 1 ")" @format:field(label * exp) exp *) (string * 'a) list fun formatSMLRecord (elementFormatter,bindsep,itemsep) L = let fun isNumeric n nil = true | isNumeric n ((l,_)::tail) = (case Int.fromString l of SOME k => if k = n then isNumeric (n+1) tail else false | _ => false) in if isNumeric 1 L then format_tuple(elementFormatter,itemsep) L else format_record(elementFormatter,bindsep,itemsep) L end fun formatLmap (elementFormatter,bindsep,itemsep) smap = let val L = LabelEnv.listItemsi smap in formatSMLRecord (elementFormatter,bindsep,itemsep) L end fun formatPrependedOpt (formatter, prefixIfSome) = fn NONE => [FE.Term (0, "")] | SOME value => prefixIfSome @ (formatter value) (* this is a copy for TermFormat ToDo: we should put all the generic formatter function in the lib2. The current TermFormat contain compiler specific formatters for boundTypeVars. *) fun formatIfCons exp nil = nil | formatIfCons exp _ = exp (* this is a copy from Control *) fun prettyPrint expressions = let val ppgenParameter = [SMLFormat.Columns (!ReflectionControl.printWidth)] in SMLFormat.prettyPrint ppgenParameter expressions end end end smlsharp-1.2.0/src/reifiedterm/main/TermPrintUtils.ppg.smi0000644 000000000000000000000360012050661606023760 0ustar00rootroot0000000 0000000 _require "../../basis/main/Int.smi" _require "../../basis/main/IntInf.smi" _require "../../basis/main/Word.smi" _require "../../basis/main/Word8.smi" _require "../../basis/main/Real32.smi" _require "../../basis/main/List.smi" _require "../../basis/main/Char.smi" _require "../../basis/main/String.smi" _require "../../basis/main/StringCvt.smi" _require "../../basis/main/Real.smi" _require "../../basis/main/binary-op.smi" _require "../../basis/main/TextIO.smi" _require "ReflectionControl.smi" _require "../../smlformat-lib.smi" _require "../../compiler-utils/env/main/LabelEnv.smi" structure TermPrintUtils = struct type format = SMLFormat.FormatExpression.expression list val makeLines : string -> format val format_int : int -> format val format_real : real -> format val format_string : string -> format val format_label : string -> format val format_char : char -> format val format_int32 : Int32.int -> format val format_real32 : Real32.real -> format val format_word32 : Word32.word -> format val format_word8 : Word8.word -> format val format_IntInf : IntInf.int -> format val formatElements : 'a SMLFormat.BasicFormatters.formatter * format -> 'a list -> format val format_lazyArray : 'a SMLFormat.BasicFormatters.formatter * format -> (int -> 'a list * bool) -> format type 'a record = (string * 'a) list val format_record : ('a -> format) * format * format -> (string * 'a) list -> format type 'a tuple = (string * 'a) list val format_tuple : ('a -> format) * format -> ('b * 'a) list -> format val formatSMLRecord : ('a -> format) * format * format -> (string * 'a) list -> format val formatLmap : ('a -> format) * format * format -> 'a LabelEnv.map -> format val formatPrependedOpt : ('a -> format) * format -> 'a option -> format val formatIfCons : format -> 'a list -> format val prettyPrint : format -> string end smlsharp-1.2.0/src/runtime0000755 000000000000000000000000012050661606015676 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/runtime/alloctest.c0000644 000000000000000000000116512050661606020116 0ustar00rootroot0000000 0000000 #include #include "src/runtime/smlsharp.h" #include "src/runtime/frame.h" #include "src/runtime/timer.h" void SMLmain () { int ret; void *dummy_frame[3]; int i; sml_timer_t b1,b2; sml_time_t t; volatile int n; FRAME_HEADER(&dummy_frame[1]) = 0; sml_control_start(&dummy_frame[1]); sml_timer_now(b1); for (i = 0; i < 0x10000000; i++) { void *p = sml_alloc(12, &dummy_frame[1]); *(volatile int*)p = 1; //n = *(int*)p; } sml_timer_now(b2); sml_timer_dif(b1,b2,t); printf(TIMEFMT" sec\n", TIMEARG(t)); sml_control_finish(&dummy_frame[1]); return ret; } smlsharp-1.2.0/src/runtime/cdecl.h0000644 000000000000000000000473612050661606017212 0ustar00rootroot0000000 0000000 /** * cdecl.h * @copyright (c) 2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: cdecl.h,v 1.3 2008/02/12 09:51:40 katsu Exp $ */ #ifndef SMLSHARP__CDECL_H__ #define SMLSHARP__CDECL_H__ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #if 0 #if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L /* __func__ is a part of C99 specification */ #elif defined __GNUC__ && __GNUC__ >= 2 #define __func__ __extension__ __FUNCTION__ #else #define __func__ "(unknown)" #endif #endif #if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L #define RESTRICT restrict #elif defined __GNUC__ && __GNUC__ >= 3 #define RESTRICT __restrict__ #else #define RESTRICT #endif #if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L #define INLINE inline #elif defined __GNUC__ && __GNUC__ >= 2 #define INLINE __inline__ #else #define INLINE #endif /* GNU C extensions */ #ifndef GCC_VERSION #ifdef __GNUC__ #define GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__) #else #define GCC_VERSION 0 #endif #endif /* GCC_VERSION */ #if GCC_VERSION >= 2096 #define ATTR_MALLOC __attribute__((malloc)) #else #define ATTR_MALLOC #endif #if GCC_VERSION >= 3000 #define ATTR_PURE __attribute__((pure)) #else #define ATTR_PURE #endif #if GCC_VERSION >= 3003 #define ATTR_NONNULL(n) __attribute__((nonnull(n))) #else #define ATTR_NONNULL(n) #endif #ifdef __GNUC__ #define ATTR_PRINTF(m,n) __attribute__((format(printf,m,n))) ATTR_NONNULL(m) #endif #ifdef __GNUC__ #define ATTR_NORETURN __attribute__((noreturn)) #endif #ifdef __GNUC__ #define ATTR_UNUSED __attribute__((unused)) #endif #ifdef __GNUC__ /* Boland fastcall; %eax, %edx, %ecx */ #define PRIMITIVE __attribute__((regparm(3))) #else /* Microsoft fastcall; %ecx, %edx */ /* #define PRIMITIVE __attribute__((fastcall)) */ #define PRIMITIVE #endif /* the number of elements of an array. */ #define arraysize(a) (sizeof(a) / sizeof(a[0])) /* ALIGNSIZE(x,y) : round up x to the multiple of y. */ #define ALIGNSIZE(x,y) (((x) + (y) - 1) - ((x) + (y) - 1) % (y)) /* the most conservative memory alignment. * It should be differed for each architecture. */ #ifndef MAXALIGN union alignment__ { char c; short s; int i; long n; float f; double d; long double x; void *p; }; #define MAXALIGN (sizeof(union alignment__)) #endif /* FILELINE : ":" for debug */ #define FILELINE__(x,y) x":"#y #define FILELINE_(x,y) FILELINE__(x,y) #define FILELINE FILELINE_(__FILE__, __LINE__) #endif /* SMLSHARP__CDECL_H__ */ smlsharp-1.2.0/src/runtime/control.c0000644 000000000000000000003400012050661606017576 0ustar00rootroot0000000 0000000 /* * frame.c * @copyright (c) 2007-2010, Tohoku University. * @author UENO Katsuhiro */ #include #include #include #include #ifdef MULTITHREAD #include #endif /* MULTITHREAD */ #include "smlsharp.h" #include "object.h" #include "frame.h" #include "objspace.h" #include "heap.h" #include "control.h" struct sml_control { void *frame_stack_top; void *frame_stack_bottom; void *current_handler; void *heap; enum {RUNNING, SUSPENDED, STOPPED_BY_STW} state; jmp_buf *exn_jmpbuf; /* longjmp if uncaught exception error */ sml_obstack_t *tmp_root; /* temporary root slots of GC. */ struct sml_control *prev, *next; /* for double-linked list */ #ifdef DEBUG const char *giant_lock_at; /* request GIANT_LOCK here. */ #endif /* DEBUG */ }; static struct sml_control *control_blocks; #ifdef MULTITHREAD static pthread_key_t control_key; #else static struct sml_control *global_control; #endif /* MULTITHREAD */ static struct sml_control * get_current_control() { #ifdef MULTITHREAD return pthread_getspecific(control_key); #else return global_control; #endif /* MULTITHREAD */ } static void set_current_control(struct sml_control *control) { #ifdef MULTITHREAD pthread_setspecific(control_key, control); #else global_control = control; #endif /* MULTITHREAD */ } /* the giant lock */ #ifdef MULTITHREAD static pthread_mutex_t giant_lock_mutex; static volatile unsigned int stop_the_world_flag; volatile unsigned int sml_check_gc_flag; static pthread_cond_t control_state_changed_cond; #ifdef DEBUG int sml_giant_locked() { return get_current_control()->giant_lock_at != NULL; } int sml_is_no_thread() { return control_blocks == NULL; } #endif /* DEBUG */ void #ifdef DEBUG sml_giant_lock(void *frame_pointer, const char *lock_at) #else sml_giant_lock(void *frame_pointer) #endif /* DEBUG */ { struct sml_control *control; int err ATTR_UNUSED; ASSERT(get_current_control() != NULL); #ifdef DEBUG ASSERT(lock_at); get_current_control()->giant_lock_at = lock_at; #endif /* DEBUG */ err = pthread_mutex_lock(&giant_lock_mutex); ASSERT(err == 0); if (!stop_the_world_flag) return; DBG(("STOP THE WORLD RECEIVED: %p", pthread_self())); if (frame_pointer) sml_save_frame_pointer(frame_pointer); control = get_current_control(); sml_heap_thread_stw_hook(control->heap); control->state = STOPPED_BY_STW; pthread_cond_broadcast(&control_state_changed_cond); do { pthread_cond_wait(&control_state_changed_cond, &giant_lock_mutex); } while (stop_the_world_flag); control->state = RUNNING; } void sml_giant_unlock() { int err ATTR_UNUSED; err = pthread_mutex_unlock(&giant_lock_mutex); #ifdef DEBUG get_current_control()->giant_lock_at = NULL; #endif /* DEBUG */ ASSERT(err == 0); } static int is_the_world_stopped() { struct sml_control *control; ASSERT(GIANT_LOCKED()); for (control = control_blocks; control; control = control->prev) { if (control->state == RUNNING) return 0; } return 1; } void sml_stop_the_world() { struct sml_control *control, *c; ASSERT(GIANT_LOCKED()); ASSERT(get_current_control() != NULL); stop_the_world_flag = 1; sml_check_gc_flag = 1; DBG(("STOP THE WORLD: %p", pthread_self())); control = get_current_control(); sml_heap_thread_stw_hook(control->heap); control->state = STOPPED_BY_STW; while (!is_the_world_stopped()) { pthread_cond_wait(&control_state_changed_cond, &giant_lock_mutex); } for (c = control_blocks; c; c = c->prev) { if (c->state == SUSPENDED) sml_heap_thread_stw_hook(c->heap); } control->state = RUNNING; DBG(("STOP THE WORLD COMPLETE: %p", pthread_self())); } void sml_run_the_world() { ASSERT(GIANT_LOCKED()); stop_the_world_flag = 0; sml_check_gc_flag = 0; pthread_cond_broadcast(&control_state_changed_cond); DBG(("RUN THE WORLD : %p", pthread_self())); } #endif /* MULTITHREAD */ #ifdef MULTITHREAD /* GIANT_LOCK without stop-the-world */ #define GIANT_LOCK_LIGHT() do { \ int err ATTR_UNUSED; \ err = pthread_mutex_lock(&giant_lock_mutex); \ ASSERT(err == 0); \ } while (0) #define GIANT_UNLOCK_LIGHT() do { \ int err ATTR_UNUSED; \ err = pthread_cond_broadcast(&control_state_changed_cond); \ ASSERT(err == 0); \ err = pthread_mutex_unlock(&giant_lock_mutex); \ ASSERT(err == 0); \ } while (0) #else #define GIANT_LOCK_LIGHT() ((void)0) #define GIANT_UNLOCK_LIGHT() ((void)0) #endif /* MULTITHREAD */ #ifdef MULTITHREAD SML_PRIMITIVE void sml_check_gc(void *frame_pointer) { GIANT_LOCK(frame_pointer); GIANT_UNLOCK(); } #endif /* MULTITHREAD */ static void attach_control(struct sml_control *control) { /* do not use GIANT_LOCK in order to prevent stop-the-world */ GIANT_LOCK_LIGHT(); control->prev = control_blocks; control->next = NULL; if (control->prev) control->prev->next = control; control_blocks = control; GIANT_UNLOCK_LIGHT(); } static void detach_control(struct sml_control *control) { /* do not use GIANT_LOCK in order to prevent stop-the-world */ GIANT_LOCK_LIGHT(); if (control->prev) control->prev->next = control->next; if (control->next) control->next->prev = control->prev; else control_blocks = control->prev; GIANT_UNLOCK_LIGHT(); } static void control_finalize(void *control_ptr); void sml_control_init() { #ifdef MULTITHREAD int ret; #ifdef DEBUG pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK); #endif /* DEBUG */ ret = pthread_key_create(&control_key, control_finalize); if (ret != 0) sml_sysfatal("pthread_key_create failed"); #ifdef DEBUG if (pthread_mutex_init(&giant_lock_mutex, &attr) != 0) sml_sysfatal("pthread_mutex_init failed"); pthread_mutexattr_destroy(&attr); #else if (pthread_mutex_init(&giant_lock_mutex, NULL) != 0) sml_sysfatal("pthread_mutex_init failed"); #endif /* DEBUG */ if (pthread_cond_init(&control_state_changed_cond, NULL) != 0) sml_sysfatal("pthread_cond_init failed"); #endif /* MULTITHREAD */ } void sml_control_free() { #ifdef MULTITHREAD /* FIXME: wait until all SML threads are finished. */ pthread_cond_destroy(&control_state_changed_cond); pthread_mutex_destroy(&giant_lock_mutex); pthread_key_delete(control_key); #endif /* MULTITHREAD */ } SML_PRIMITIVE void sml_control_start(void *frame_pointer) { struct sml_control *control = get_current_control(); if (control == NULL) { control = xmalloc(sizeof(struct sml_control)); control->frame_stack_top = frame_pointer; control->frame_stack_bottom = frame_pointer; control->current_handler = NULL; control->state = RUNNING; control->heap = NULL; control->exn_jmpbuf = NULL; control->tmp_root = NULL; #ifdef DEBUG control->giant_lock_at = NULL; #endif /* DEBUG */ control->heap = sml_heap_thread_init(); set_current_control(control); attach_control(control); DBG(("START NEW THREAD : %p %u", pthread_self(), sml_num_threads())); } else { FRAME_HEADER(frame_pointer) |= FRAME_FLAG_SKIP; FRAME_EXTRA(frame_pointer) = (uintptr_t)control->frame_stack_top; control->frame_stack_top = frame_pointer; control->state = RUNNING; } } static void control_finalize(void *control_ptr) { struct sml_control *control = control_ptr; if (control == NULL) return; detach_control(control); sml_heap_thread_free(control->heap); sml_obstack_free(&control->tmp_root, NULL); free(control); set_current_control(NULL); } SML_PRIMITIVE void sml_control_finish(void *frame_pointer) { struct sml_control *control = get_current_control(); if (control->frame_stack_bottom == frame_pointer) { DBG(("FINISH THREAD : %p %u", pthread_self(), sml_num_threads())); control_finalize(control); } else { ASSERT(FRAME_HEADER(frame_pointer) & FRAME_FLAG_SKIP); control->frame_stack_top = (void*)FRAME_EXTRA(frame_pointer); } } /* * prepares new "num_slots" pointer slots which are part of root set of garbage * collection, and returns the address of array of the new pointer slots. * These pointer slots are available until sml_pop_tmp_rootset() is called. * Returned address is only available in the same thread. */ void ** sml_push_tmp_rootset(size_t num_slots) { struct sml_control *control = get_current_control(); void **ret; unsigned int i; ret = sml_obstack_alloc(&control->tmp_root, sizeof(void*) * num_slots); for (i = 0; i < num_slots; i++) ret[i] = NULL; return ret; } /* * releases last pointer slots allocated by sml_push_tmp_rootset() * in the same thread. */ void sml_pop_tmp_rootset(void **slots) { struct sml_control *control = get_current_control(); sml_obstack_free(&control->tmp_root, slots); } SML_PRIMITIVE void sml_save_frame_pointer(void *p) { get_current_control()->frame_stack_top = p; } void * sml_load_frame_pointer() { return get_current_control()->frame_stack_top; } void * sml_current_thread_heap() { return get_current_control()->heap; } SML_PRIMITIVE void sml_push_handler(void *handler) { /* The detail of structure of handler is platform-dependent except * that runtime may use *(void**)handler for handler chain. */ struct sml_control *control = get_current_control(); *((void**)handler) = control->current_handler; /* assume that this assignment is atomic so that asynchronous signal * may raise an exception. */ control->current_handler = handler; /*DBG(("ip=%p from %p", ((void**)handler)[1], __builtin_return_address(0)));*/ } SML_PRIMITIVE void * sml_pop_handler(void *exn) { struct sml_control *control = get_current_control(); void *handler = control->current_handler; void *prev; jmp_buf *buf; if (handler == NULL) { /* uncaught exception */ buf = control->exn_jmpbuf; control_finalize(control); if (buf) { longjmp(*buf, 1); } else { sml_error(0, "uncaught exception: %s", sml_exn_name(exn)); abort(); } } prev = *((void**)handler); /* assume that this assignment is atomic so that asynchronous signal * may raise an exception. */ control->current_handler = prev; /*DBG(("ip=%p from %p", ((void**)handler)[1], __builtin_return_address (0)));*/ return handler; } static void frame_enum_ptr(void *frame_info, void (*trace)(void **)) { void **boxed; unsigned int *sizes, *bitmaps, num_generics, num_boxed; unsigned int i, j, num_slots; ptrdiff_t offset; char *generic; num_boxed = FRAME_NUM_BOXED(frame_info); num_generics = FRAME_NUM_GENERIC(frame_info); boxed = FRAME_BOXED_PART(frame_info); for (i = 0; i < num_boxed; i++) { if (*boxed) trace(boxed); boxed++; } offset = (char*)boxed - (char*)frame_info; offset = ALIGNSIZE(offset, sizeof(unsigned int)); sizes = (unsigned int *)(frame_info + offset); bitmaps = sizes + num_generics; generic = frame_info; for (i = 0; i < num_generics; i++) { num_slots = sizes[i]; if (BITMAP_BIT(bitmaps, i) == TAG_UNBOXED) { generic -= num_slots * SIZEOF_GENERIC; } else { for (j = 0; j < num_slots; j++) { generic -= SIZEOF_GENERIC; trace((void**)generic); } } } } static void stack_enum_ptr(void (*trace)(void **), enum sml_gc_mode mode, void *frame_stack_top, void *frame_stack_bottom) { void *fp = frame_stack_top; uintptr_t header; intptr_t offset; for (;;) { header = FRAME_HEADER(fp); #ifdef DEBUG if (mode != TRY_MAJOR) #endif /* DEBUG */ FRAME_HEADER(fp) = header | FRAME_FLAG_VISITED; offset = FRAME_INFO_OFFSET(header); if (offset != 0) frame_enum_ptr((char*)fp + offset, trace); /* When MINOR tracing, we need to trace not only unvisited * frames but also the first frame of visited frames since * the first frame may be modified by ML code from the * previous frame tracing. */ if (mode == MINOR && (header & FRAME_FLAG_VISITED)) { DBG(("%p: visited frame.", fp)); break; } if (fp == frame_stack_bottom) break; if (header & FRAME_FLAG_SKIP) fp = (void*)FRAME_EXTRA(fp); else fp = FRAME_NEXT(fp); } DBG(("frame end")); } int sml_protect(void (*func)(void *), void *data) { struct sml_control *control = get_current_control(); jmp_buf *prev, buf; int ret, need_finish = 0; void *dummy_frame[3]; if (control == NULL) { FRAME_HEADER(&dummy_frame[1]) = 0; sml_control_start(&dummy_frame[1]); control = get_current_control(); need_finish = 1; } prev = control->exn_jmpbuf; control->exn_jmpbuf = &buf; ret = setjmp(buf); if (ret == 0) func(data); control->exn_jmpbuf = prev; if (need_finish) sml_control_finish(&dummy_frame[1]); return ret; } struct enum_ptr_cls { void (*trace)(void **); enum sml_gc_mode mode; }; static void tmp_root_enum_ptr(void *start, void *end, void *data) { const struct enum_ptr_cls *cls = data; void (*trace)(void **) = cls->trace; void **i; for (i = start; i < (void**)end; i++) trace(i); } void sml_control_enum_ptr(void (*trace)(void **), enum sml_gc_mode mode) { struct sml_control *control; struct enum_ptr_cls arg = {trace, mode}; ASSERT(GIANT_LOCKED()); for (control = control_blocks; control; control = control->prev) { stack_enum_ptr(trace, mode, control->frame_stack_top, control->frame_stack_bottom); sml_obstack_enum_chunk(control->tmp_root, tmp_root_enum_ptr, &arg); } } /* for debug */ unsigned int sml_num_threads() { struct sml_control *control; unsigned int count = 0; /* do not use GIANT_LOCK in order to prevent stop-the-world */ GIANT_LOCK_LIGHT(); for (control = control_blocks; control; control = control->prev) count++; GIANT_UNLOCK_LIGHT(); return count; } SML_PRIMITIVE void sml_state_suspend() { int err ATTR_UNUSED; /* no need to check STW since this thread is to be suspended. */ GIANT_LOCK_LIGHT(); get_current_control()->state = SUSPENDED; GIANT_UNLOCK_LIGHT(); } SML_PRIMITIVE void sml_state_running() { GIANT_LOCK(NULL); get_current_control()->state = RUNNING; GIANT_UNLOCK(); } /* for debug */ void sml_control_dump() { struct sml_control *control; for (control = control_blocks; control; control = control->prev) { sml_notice("%p: stack=(%p, %p), heap=%p, state=%d" #ifdef DEBUG " lock_at=%s" #endif /* DEBUG */ , control, control->frame_stack_top, control->frame_stack_bottom, control->heap, control->state #ifdef DEBUG , control->giant_lock_at ? control->giant_lock_at : "(none)" #endif /* DEBUG */ ); } } smlsharp-1.2.0/src/runtime/control.h0000644 000000000000000000000067112050661606017612 0ustar00rootroot0000000 0000000 /* * control.h * @copyright (c) 2010, Tohoku University. * @author UENO Katsuhiro */ #ifndef SMLSHARP__CONTROL_H__ #define SMLSHARP__CONTROL_H__ #include "objspace.h" void sml_control_init(void); void sml_control_free(void); void sml_control_enum_ptr(void (*callback)(void **), enum sml_gc_mode mode); unsigned int sml_num_threads(void); #ifdef DEBUG int sml_is_no_thread(void); #endif /* DEBUG */ #endif /* SMLSHARP__CONTROL_H__ */ smlsharp-1.2.0/src/runtime/error.c0000644 000000000000000000000565112050661606017261 0ustar00rootroot0000000 0000000 /** * error.c * @copyright (c) 2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: error.c,v 1.4 2008/01/23 08:20:07 katsu Exp $ */ #include #include #include #include #include #include "smlsharp.h" #ifdef DEBUG #define DEFAULT_VERBOSE_LEVEL MSG_NOTICE #else #define DEFAULT_VERBOSE_LEVEL MSG_WARN #endif /* DEBUG */ static unsigned int verbose_level = DEFAULT_VERBOSE_LEVEL; static FILE *(*msg_start)(enum sml_msg_level) = NULL; static void (*msg_end)(FILE *, enum sml_msg_level) = NULL; void sml_set_verbose(enum sml_msg_level level) { verbose_level = level; } void sml_msg_set_hook(FILE *(*start_hook)(enum sml_msg_level), void (*end_hook)(FILE *f, enum sml_msg_level)) { msg_start = start_hook; msg_end = end_hook; } #define MSG_START(t) (msg_start ? msg_start(t) : stderr) #define MSG_END(f,t) (msg_end ? msg_end(f,t) : (void)0) static void print_syserror(enum sml_msg_level level, int err, const char *format, va_list args) { FILE *out; if (verbose_level < level) return; out = MSG_START(level); vfprintf(out, format, args); if (err > 0) fprintf(out, "%s\n", strerror(err)); else if (err == 0) fprintf(out, ": Success\n"); else fprintf(out, ": Failed (%d)\n", err); fflush(out); MSG_END(out, level); } static void print_error(enum sml_msg_level level, int err, const char *format, va_list args) { FILE *out; if (verbose_level < level) return; if (err != 0) { print_syserror(level, err, format, args); return; } out = MSG_START(level); vfprintf(out, format, args); fputs("\n", out); fflush(out); MSG_END(out, level); } void sml_fatal(int err, const char *format, ...) { va_list args; va_start(args, format); print_error(MSG_FATAL, err, format, args); va_end(args); abort(); } void sml_error(int err, const char *format, ...) { va_list args; va_start(args, format); print_error(MSG_ERROR, err, format, args); va_end(args); } void sml_warn(int err, const char *format, ...) { va_list args; va_start(args, format); print_error(MSG_WARN, err, format, args); va_end(args); } void sml_notice(const char *format, ...) { va_list args; va_start(args, format); print_error(MSG_NOTICE, 0, format, args); va_end(args); } void sml_sysfatal(const char *format, ...) { va_list args; va_start(args, format); print_syserror(MSG_FATAL, errno, format, args); va_end(args); abort(); } void sml_syserror(const char *format, ...) { va_list args; va_start(args, format); print_syserror(MSG_ERROR, errno, format, args); va_end(args); } void sml_syswarn(const char *format, ...) { va_list args; va_start(args, format); print_syserror(MSG_WARN, errno, format, args); va_end(args); } void sml_debug(const char *format, ...) { va_list args; FILE *out; if (verbose_level < MSG_DEBUG) return; va_start(args, format); out = MSG_START(MSG_DEBUG); vfprintf(out, format, args); MSG_END(out, MSG_DEBUG); va_end(args); } smlsharp-1.2.0/src/runtime/exn.c0000644 000000000000000000000631112050661606016714 0ustar00rootroot0000000 0000000 /** * exn.c * @copyright (c) 2007-2009, Tohoku University. * @author UENO Katsuhiro * @version $Id: $ */ #include #include "smlsharp.h" #include "object.h" /* ToDo: * We should replace this hand-defining exns with a source file for * BuiltinContextCore.smi */ #define HEAD(n) OBJ_HEADER_WORD(OBJTYPE_UNBOXED_VECTOR, n) #define DECLARE_EXNNAME(name) \ static const struct { unsigned int head; char body[sizeof(#name)]; } \ exnname_##name = \ { OBJ_HEADER_WORD(OBJTYPE_UNBOXED_VECTOR, sizeof(#name)), \ #name } DECLARE_EXNNAME(Bind); DECLARE_EXNNAME(Match); DECLARE_EXNNAME(Subscript); DECLARE_EXNNAME(Size); DECLARE_EXNNAME(Overflow); DECLARE_EXNNAME(Div); DECLARE_EXNNAME(Domain); DECLARE_EXNNAME(Fail); DECLARE_EXNNAME(Chr); DECLARE_EXNNAME(Span); DECLARE_EXNNAME(Empty); DECLARE_EXNNAME(Option); DECLARE_EXNNAME(MatchCompBug); /* * Current implementation of objspace does not check the object headers of * objects placed at outside of the ML heap. While an exception tag is a * BOXED pointer, any code produced by SML# compiler only uses the address * of exception tag objects and does not access to their headers and * contents. Hence, we can omit the object headers of statically allocated * builtin exception tags. */ /* * Compiler assumes that the implementation type of exception tag * is "string ref". */ struct sml_exntag { void *string; }; /* statically allocated exception tags. */ const struct sml_exntag sml_exntag_Bind = {&exnname_Bind.body}; const struct sml_exntag sml_exntag_Match = {&exnname_Match.body}; const struct sml_exntag sml_exntag_Subscript = {&exnname_Subscript.body}; const struct sml_exntag sml_exntag_Size = {&exnname_Size.body}; const struct sml_exntag sml_exntag_Overflow = {&exnname_Overflow.body}; const struct sml_exntag sml_exntag_Div = {&exnname_Div.body}; const struct sml_exntag sml_exntag_Domain = {&exnname_Domain.body}; const struct sml_exntag sml_exntag_Fail = {&exnname_Fail.body}; const struct sml_exntag sml_exntag_MatchCompBug = {&exnname_MatchCompBug.body}; const struct sml_exntag sml_exntag_Empty = {&exnname_Empty.body}; const struct sml_exntag sml_exntag_Chr = {&exnname_Chr.body}; const struct sml_exntag sml_exntag_Span = {&exnname_Span.body}; const struct sml_exntag sml_exntag_Option = {&exnname_Option.body}; /* global variables holding exception tags. */ const void *SML4Bind = &sml_exntag_Bind; const void *SML5Match = &sml_exntag_Match; const void *SML9Subscript = &sml_exntag_Subscript; const void *SML4Size = &sml_exntag_Size; const void *SML8Overflow = &sml_exntag_Overflow; const void *SML3Div = &sml_exntag_Div; const void *SML6Domain = &sml_exntag_Domain; const void *SML4Fail = &sml_exntag_Fail; const void *SML8SMLSharp12MatchCompBugE = &sml_exntag_MatchCompBug; const void *SML5Empty = &sml_exntag_Empty; const void *SML3Chr = &sml_exntag_Chr; const void *SML4Span = &sml_exntag_Span; const void *SML6Option = &sml_exntag_Option; const char * sml_exn_name(void *exnobj) { /* An exception object is a record whose first field is a pointer * to a heap-allocated exception tag object. * The type of exception tags is "string ref". */ return **(void***)exnobj; } /* for debug */ void sml_matchcomp_bug() { sml_error(0, "match compiler bug"); abort(); } smlsharp-1.2.0/src/runtime/frame.h0000644 000000000000000000001425412050661606017226 0ustar00rootroot0000000 0000000 /* * frame.h - SML# stack frame format * @copyright (c) 2009-2010, Tohoku University. * @author UENO Katsuhiro */ #ifndef SMLSHARP__FRAME_H__ #define SMLSHARP__FRAME_H__ /* * See also FrameLayout.sml. * * Frame pointer points the address of memory holding previous frame pointer. * The next (in the direction of stack growing) word of the previous frame * pointer holds the frame header. If the header indicates that there is * an extra word, then the extra word appears at the next of the header. * The size of both the header and the extra word is same as the size of * pointers on the target platform. * * For example, on a 32-bit architecture whose the stack grows down * (x86 etc.), * [fp + 0] is previous frame pointer, and * [fp - 4] is the relative address of frame info word. * [fp - 8] is for the extra word of frame header. * * Frame Stack Chain: * : : * | | * +==========+ current frame begin * | | * +--------+ : : * | header |-------------->|frame info| * +--------+ : : * fp --->| prev | | | * +--|-----+ +==========+ current frame end * | | | * | : : * | | | * | +==========+ previous frame begin * | | | * | +--------+ : : * | | header |------->|frame info| * | +--------+ : : * +-->| prev | | | * +---|----+ +==========+ previous frame end * | | | * : : : * * header: * 31 2 1 0 * +--------------------------------+----+----+ * | info-offset |next| gc | * +--------------------------------+----+----+ * MSB LSB * * info-offset holds the high 30 bit of the offset of frame info of this * frame from the frame pointer. Low 2 bit is always 0. * If info-offset is 0, this frame has no frame info and thus there is no * boxed or generic slot in this frame. * If the pointer size is larger than 32 bit, info-offset field is * expanded to the pointer size. * * If next bit is 1, the header has an extra word which holds the address * of previous ML frame. (this is used to skip C frames between two ML * frames due to callback functions.) * * gc bit is reserved for non-moving gc. It must be 0 for new frames. * If the root-set enumerator meets this frame during pointer enumeration, * the gc bit is set to 1. * * To make sure that we may use last 2 bits for the flags, the frame info * must be aligned at the address of multiple of 4. * * frame info: * 31 16 15 0 * +--------------------+--------------------+ * | num boxed slots | num bitmap bits | * +--------------------+--------------------+ * * The size of frame info is same as the size of pointers on the target * platform. If the pointer size is larger than 32 bit, then padding bits * must be added to the most significant side of the frame info. * * Structure of Frame: * * addr * | : : * | +---------------+ [align in frameAlign] <------- offset origin * | | pre-offset | * | +===============+ ================== beginning of frame * | | | * | +---------------+ [align in frameAlign] * | | slots of tN | generic slot 0 of tN * | | : | : * | +---------------+ [align in frameAlign] * | : : * | +---------------+ [align in frameAlign] * | | slots of t1 | generic slot 0 of t1 * | : : : * | +---------------+ [align in frameAlign] * | | slots of t0 | generic slot 0 of t0 * | | | generic slot 1 of t0 * | : : : * | +---------------+ [align in frameAlign] <---- pointed by the header * | | frame info | * | +---------------+ [align in unsigned int] * | | | * | +---------------+ [align in void*] * | | boxed part | * | : : * | | | * | +---------------+ [align in void*] * | | | * | +---------------+ [align in unsigned int] * | | sizes | number of slots of t0 * | | | number of slots of t1 * | : : : * | | | number of slots of t(N-1) * | +---------------+ [align in unsigned int] * | | bitmaps | bitmap of (t0-t31) * | : : : * | | | bitmap of (t(N-32)-t(N-1)) * | +---------------+ [align in unsigned int] * | | unboxed part | * | | | * | | | * | : : * | | | * | +===============+ ================== end of frame * | | post-offset | * | +---------------+ [align in frameAlign] * | : : * v */ #ifdef STACK_GROWSUP #define FRAME_HEADER(fp) (*(uintptr_t*)((void**)(fp) + 1)) #define FRAME_EXTRA(fp) (*(uintptr_t*)((void**)(fp) + 2)) #else #define FRAME_HEADER(fp) (*(uintptr_t*)((void**)(fp) - 1)) #define FRAME_EXTRA(fp) (*(uintptr_t*)((void**)(fp) - 2)) #endif #define FRAME_NEXT(fp) (((void**)(fp))[0]) #define FRAME_FLAG_VISITED 0x1 #define FRAME_FLAG_SKIP 0x2 #define FRAME_OFFSET_MASK (~(uintptr_t)0x3) #define FRAME_INFO_OFFSET(header) ((intptr_t)((header) & FRAME_OFFSET_MASK)) #define FRAME_SKIP_NEXT(header) ((void*)((header) & FRAME_OFFSET_MASK)) #define FRAME_NUM_BOXED(info) (((unsigned int*)(info))[0] >> 16) #define FRAME_NUM_GENERIC(info) (((unsigned int*)(info))[0] & 0xffff) #define FRAME_BOXED_PART(info) \ ((void*)((char*)(info) + ALIGNSIZE(sizeof(unsigned int), \ sizeof(void*)))) #ifndef SIZEOF_GENERIC #define SIZEOF_GENERIC MAXALIGN #endif #endif /* SMLSHARP__FRAME_H__ */ smlsharp-1.2.0/src/runtime/gcstat.rb0000644 000000000000000000001615012050661606017572 0ustar00rootroot0000000 0000000 require 'yaml' require 'pp' class Hash def add_vector(v) ret = dup v.each { |colname,value| if key? colname then ret[colname] += value else ret[colname] = value end } ret end def add_table(v) ret = dup v.each { |rowname,row| if key? rowname then ret[rowname] = ret[rowname].add_vector row else ret[rowname] = row end } ret end end class GCStat class HashDelegate def initialize(hash, override = {}) @__hash__ = hash @override = override end def [](*args, &block) @__hash__.[](*args, &block) end def method_missing(m) @override.fetch(m) { @__hash__[m.to_s] } end end class << self private :new end def initialize @counters = {} @init = {} @finish = {} end def self.load(filename, &block) File.open(filename) { |f| parse(f, &block) } end def self.parse(src) init = nil last = nil YAML.load_documents(src) do |doc| event = doc['event'] ov = {} log = HashDelegate.new(doc, ov) if event == 'init' then bins = doc['config'].keys.sort ov[:bins] = bins count = (doc['counters'] || {}).inject({}) { |h,(k,v)| v = v.inject({}) { |c,i| c.update(i => 0) } if k == 'heap' then bins.each { |i| h[i] = v } else h[k] = v end h } ov[:count] = count init = log else count = doc['count'] || {} ov[:count] = init.count.add_table(count) end heap = doc['heap'] || {} init.bins.each { |i| heap[i] = [] unless heap.key? i } ov[:heap] = heap ov[:gc?] = (event == 'start gc' || event == 'end gc') ov[:init] = init yield log last = log end last end end if $0 == __FILE__ then benchinfo = {} ARGV.each do |filename| total_alloc_log = [] bin_alloc_log = [] bin_usage_log = {} heap_usage_log = [] gc_behaviour_log = [] gc_time_log = [] count = {} finish = GCStat.load(filename) do |log| count = count.add_table(log.count) gc_signal = log.gc? ? log.init.heap_size : nil sum = 0 count_total = log.init.counters['heap'].map { |colname| x = log.init.bins.inject(0) { |z,rowname| z += count[rowname][colname] } sum += x x } total_alloc_log.push([log.time, sum] + count_total) count_bins = log.init.bins.map { |rowname| count[rowname].inject(0) { |z,(colname,value)| z += value } } bin_alloc_log.push([log.time] + count_bins) heap_all = log.init.stack_size || 0 heap_area = 0 heap_used = 0 heap_filled = 0 heap_count = 0 log.init.bins.each { |slotsize| arenas = log.heap[slotsize] bin_all = 0 bin_area = 0 bin_used = 0 bin_filled = 0 bin_count = 0 arenas.each { |arena| bin_all += log.init.config[slotsize]['size'] bin_area += slotsize * log.init.config[slotsize]['num_slots'] bin_used += slotsize * arena['count'] bin_filled += arena['filled'] bin_count += arena['count'] } bin_usage_log[slotsize] = [] unless bin_usage_log.key? slotsize bin_usage_log[slotsize].push [log.time, gc_signal, bin_all, bin_area, bin_used, bin_filled] heap_all += bin_all heap_area += bin_area heap_used += bin_used heap_filled += bin_filled heap_count += bin_count } heap_usage_log.push [log.time, gc_signal, heap_all, heap_area, heap_used, heap_filled] if log.event == 'end gc' then gc_behaviour_log.push [log.time, heap_count, log.push, log.trace] gc_time_log.push [log.time, log.duration, log.clear_time] end end init = finish.init basename = File.basename(filename, '.log') File.open(basename + "_heap.csv", "w") { |f| f.puts "Time,GC signal,All,Total,Consumed,Filled" heap_usage_log.each { |i| f.puts i.join(',') } } init.bins.each { |i| File.open(basename + "_#{i}.csv", "w") { |f| f.puts "Time,GC signal,All,Total,Consumed,Filled" bin_usage_log[i].each { |i| f.puts i.join(',') } } } File.open(basename + '_gc.csv', 'w') { |f| f.puts "Time,Lives,Push,Trace" f.puts "0,0,0,0" gc_behaviour_log.each { |i| f.puts i.join(',') } } File.open(basename + '_alloc.csv', 'w') { |f| f.puts "Time,Total,#{init.counters['heap'].join(',')}" total_alloc_log.each { |i| f.puts i.join(',') } } File.open(basename + '_alloc_size.csv', 'w') { |f| f.puts "Time,#{init.bins.join(',')}" bin_alloc_log.each { |i| f.puts i.join(',') } } info = {} info['num_samples'] = heap_usage_log.size info['limit'] = heap_usage_log[300][0] if heap_usage_log.size > 300 if finish.event == 'finish' then time_summary = %''+ %''+ %''+ %''+ %''+ %''+ %''+ %''+ %''+ %''+ %''+ %''+ %'
num samples#{heap_usage_log.size}
exec time#{"%.6f" % finish["exec time"]} sec
gc time#{"%.6f" % finish["gc time"]} sec
gc count#{finish["gc count"]}
avg gc time#{"%.6f" % (finish["gc time"] / finish["gc count"].to_f) } sec
clear time#{"%.6f" % finish["clear time"]} sec
avg clear time#{"%.6f" % (finish["clear time"] / finish["gc count"].to_f) } sec
' else time_summary = %''+ %''+ %''+ %''+ %'
num samples#{heap_usage_log.size}
exec timeABORTED (#{finish.event})
' end info['timeHTML'] = %'"#{time_summary.gsub(/"/, '\\\\\\&')}"' config_html = %''+ %''+ %'#{if init.stack_size then %`" else "" end}'+ %''+ %''+ %''+ %''+ %''+ %'' p config_html init.bins.each { |i| config_html << %''<< %''<< %''<< %''<< %''<< %'' } config_html << '
heap size#{init.heap_size} bytes
stack size#{stack_size} bytes` %"
slot sizewhole size [bytes]num slotsbitmap size [bytes]
#{i}#{init.config[i]["size"]}#{init.config[i]["num_slots"]}#{init.config[i]["bitmap_size"]}
' info['configHTML'] = %'"#{config_html.gsub(/"/, '\\\\\\&')}"' info['gc_count'] = gc_behaviour_log.size benchinfo[basename] = info p total_alloc_log.last p count.inject(0){|z,(k,v)| if k == 'barrier' then z else v.inject(z) { |z,(k,v)| z += v} end } p finish['total alloc count'] end puts "var benchInfo = {#{benchinfo.map { |key,info| %'"#{key}": {#{info.map{ |k,v| %'"#{k}": #{v}' }.join(',')}}' }.join(',')}}" end smlsharp-1.2.0/src/runtime/heap.h0000644 000000000000000000000433212050661606017045 0ustar00rootroot0000000 0000000 /* * heap.h * @copyright (c) 2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: heap.h,v 1.11 2008/12/10 03:23:23 katsu Exp $ */ #ifndef SMLSHARP__HEAP_H__ #define SMLSHARP__HEAP_H__ /* * In order to prevent name conflict, the name of all global symbols * defined in heap mangenement implementation must be started with * "sml_heap_", and so do macros with "HEAP_". */ /* * initialize the global heap. * min_size : hint of minimum and initial heap size in bytes. * max_size : hint of maximum heap size in bytes. * Implementation should allocate "size" bytes in total for initial heap. */ void sml_heap_init(size_t min_size, size_t max_size); /* * finalize the global heap. */ void sml_heap_free(void); /* * setup thread-local heap of current thread. * It returns a pointer to thread-local heap structure. * NOTE: At the timing calling this function, thread management functions * such as sml_save_frame_pointer, sml_current_thread_heap, GIANT_LOCK, * and so on, is not available. */ void *sml_heap_thread_init(void); /* * finalize the thread-local heap of current thread. */ void sml_heap_thread_free(void *thread_heap); /* * this function is called when a mutator thread is to be suspended * due to stop-the-world. * Note that this function is called for every thread-local storage, * not for every mutator. If the mutator A is already suspended at STW * signal, another running thread may call this function with A's data. */ #ifdef MULTITHREAD void sml_heap_thread_stw_hook(void *data); #endif /* MULTITHREAD */ /* * Forcely start garbage collection. */ void sml_heap_gc(void); /* * allocate an arbitrary heap object of current thread. */ SML_PRIMITIVE void *sml_alloc(unsigned int objsize, void *frame_pointer); /* * update a pointer field of "obj" indicated by "writeaddr" with "new_value". * The heap implementation may perform additional tasks to keep track of * pointer updates. * * This function will be called with objects at both inside and outside * of heap. If "writeaddr" and/or "objaddr" is not in any heap, heap * implementation must call sml_global_barrier after update. */ SML_PRIMITIVE void sml_write(void *obj, void **writeaddr, void *new_value); #endif /* SMLSHARP__HEAP_H__ */ smlsharp-1.2.0/src/runtime/heap_bitmap.c0000644 000000000000000000021014612050661606020376 0ustar00rootroot0000000 0000000 /* * heap_bitmap.c * @copyright (c) 2010, Tohoku University. * @author UENO Katsuhiro * @author Yudai Asai * @version $Id: $ */ #include #include #include #include #include #ifdef MULTITHREAD #include #endif /* MULTITHREAD */ #ifdef HAVE_CONFIG_H #include "config.h" #endif /* HAVE_CONFIG_H */ #if !defined(HAVE_CONFIG_H) || defined(HAVE_SYS_MMAN_H) #include #endif /* HAVE_SYS_MMAN_H */ #ifdef MINGW32 #include #undef OBJ_BITMAP #endif /* MINGW32 */ #include "smlsharp.h" #include "object.h" #include "objspace.h" #include "heap.h" /*#define SURVIVAL_CHECK*/ /*#define GCSTAT*/ /*#define GCTIME*/ /*#define NULL_IS_NOT_ZERO*/ #define MINOR_GC /*#define CONFIGURABLE_MINOR_COUNT*/ /*#define DEBUG_USE_MMAP */ #ifdef MULTITHREAD /* ToDo: generational collection with multithread support is not confirmed. */ #undef MINOR_GC #endif /* MULTITHREAD */ #ifdef GCSTAT #define GCTIME #endif /* GCSTAT */ #if defined GCSTAT || defined GCTIME #include #include #include "timer.h" #endif /* GCSTAT || GCTIME */ /* bit pointer */ struct bitptr { unsigned int *ptr; unsigned int mask; }; typedef struct bitptr bitptr_t; #define BITPTR_WORDBITS ((unsigned int)(sizeof(unsigned int) * CHAR_BIT)) #define BITPTR_INIT(b,p,n) \ ((b).ptr = (p) + (n) / BITPTR_WORDBITS, \ (b).mask = 1 << ((n) % BITPTR_WORDBITS)) #define BITPTR_TEST(b) (*(b).ptr & (b).mask) #define BITPTR_SET(b) (*(b).ptr |= (b).mask) #define BITPTR_CLEAR(b) (*(b).ptr &= ~(b).mask) #define BITPTR_WORD(b) (*(b).ptr) #define BITPTR_WORDINDEX(b,p) ((b).ptr - (p)) #define BITPTR_EQUAL(b1,b2) \ ((b1).ptr == (b2).ptr && (b1).mask == (b2).mask) /* BITPTR_NEXT: find 0 bit in current word after and including * pointed bit. */ #define BITPTR_NEXT(b) do { \ unsigned int tmp__ = *(b).ptr | ((b).mask - 1U); \ (b).mask = (tmp__ + 1U) & ~tmp__; \ } while (0) #define BITPTR_NEXT_FAILED(b) ((b).mask == 0) #define BITPTR_NEXT2(b,dst) do { \ unsigned int tmp__ = *(b).ptr | ((b).mask - 1U); \ dst = (tmp__ + 1U) & ~tmp__; \ } while (0) static NOINLINE bitptr_t bitptr_linear_search(unsigned int *start, const unsigned int *limit) { bitptr_t b = {start, 0}; while (b.ptr < limit) { b.mask = (*b.ptr + 1) & ~*b.ptr; if (b.mask) break; b.ptr++; } return b; } #if defined(__GNUC__) && !defined(NOASM) && defined(HOST_CPU_i386) #define BITPTR_INC(b) do { \ unsigned int tmp__; \ __asm__ ("xorl\t%0, %0\n\t" \ "roll\t%1\n\t" \ "rcll\t%0" \ : "=&r" (tmp__), "+r" ((b).mask)); \ (b).ptr += tmp__; \ } while (0) #else #define BITPTR_INC(b) \ (((b).mask <<= 1) ? (void)0 : (void)((b).mask = 1, (b).ptr++)) #endif /* !NOASM */ #if defined(__GNUC__) && !defined(NOASM) && defined(HOST_CPU_i386) #define bsr(x) ({ \ unsigned int tmp__; \ ASSERT((x) > 0); \ __asm__ ("bsrl\t%1, %0" : "=r" (tmp__) : "r" ((unsigned int)(x))); \ tmp__; \ }) #define bsf(x) ({ \ unsigned int tmp__; \ ASSERT((x) > 0); \ __asm__ ("bsfl\t%1, %0" : "=r" (tmp__) : "r" ((unsigned int)(x))); \ tmp__; \ }) #elif defined(SIZEOF_INT) && (SIZEOF_INT == 4) static inline unsigned int bsr(unsigned int m) { unsigned int x, n = 0; ASSERT(m > 0); x = m >> 16; if (x != 0) n += 16, m = x; x = m >> 8; if (x != 0) n += 8, m = x; x = m >> 4; if (x != 0) n += 4, m = x; x = m >> 2; if (x != 0) n += 2, m = x; return n + (m >> 1); } static inline unsigned int bsf(unsigned int m) { unsigned int x, n = 31; ASSERT(m > 0); x = m << 16; if (x != 0) n -= 16, m = x; x = m << 8; if (x != 0) n -= 8, m = x; x = m << 4; if (x != 0) n -= 4, m = x; x = m << 2; if (x != 0) n -= 2, m = x; x = m << 1; if (x != 0) n -= 1; return n; } #else static inline unsigned int bsr(unsigned int m) { unsigned int x, n = 0, c = BITPTR_WORDBITS / 2; ASSERT(m > 0); do { x = m >> c; if (x != 0) n += c, m = x; c >>= 1; } while (c > 1); return n + (m >> 1); } static inline unsigned int bsf(unsigned int m) { unsigned int x, n = 31, c = BITPTR_WORDBITS / 2; ASSERT(m > 0); do { x = m << c; if (x != 0) n -= c, m = x; c >>= 1; } while (c > 0); return n; } #endif /* NOASM */ /* BITPTR_INDEX: bit index of 'b' counting from first bit of 'base'. */ #define BITPTR_INDEX(b,p) \ (((b).ptr - (p)) * BITPTR_WORDBITS + bsf((b).mask)) #define CEIL_LOG2(x) \ (bsr((x) - 1) + 1) /* segments */ #ifndef SEGMENT_SIZE_LOG2 #define SEGMENT_SIZE_LOG2 17 /* 128k */ #endif /* SEGMENT_SIZE_LOG2 */ #define SEGMENT_SIZE (1U << SEGMENT_SIZE_LOG2) #ifndef SEG_RANK #define SEG_RANK 3 #endif /* SEG_RANK */ #define BLOCKSIZE_MIN_LOG2 3U /* 2^3 = 8 */ #define BLOCKSIZE_MIN (1U << BLOCKSIZE_MIN_LOG2) #define BLOCKSIZE_MAX_LOG2 12U /* 2^4 = 16 */ #define BLOCKSIZE_MAX (1U << BLOCKSIZE_MAX_LOG2) #ifdef MINOR_GC #ifndef DEFAULT_MINOR_THRESHOLD_RATIO #define DEFAULT_MINOR_THRESHOLD_RATIO 0.5 #endif /* MINOR_THRESHOLD_RATIO */ static double minor_threshold_ratio = DEFAULT_MINOR_THRESHOLD_RATIO; #ifdef CONFIGURABLE_MINOR_COUNT #define MINOR_COUNT minor_count static unsigned int minor_count = 0; #else #ifndef MINOR_COUNT #define MINOR_COUNT 0 /* must be a positive number. 0 means infinity */ #endif /* MINOR_COUNT */ #endif /* CONFIGURABLE_MINOR_COUNT */ #endif /* MINOR_GC */ struct segment_layout { size_t blocksize; size_t bitmap_offset[SEG_RANK]; size_t bitmap_limit[SEG_RANK]; unsigned int bitmap_sentinel[SEG_RANK]; size_t bitmap_size; size_t stack_offset; size_t stack_limit; size_t block_offset; size_t num_blocks; #ifdef MINOR_GC size_t minor_threshold; #endif /* MINOR_GC */ }; struct segment { struct segment *next; unsigned int live_count; struct stack_slot { void *next_obj; } *stack; char *block_base; const struct segment_layout *layout; unsigned int blocksize_log2; }; /* * segment layout: * * 00000 +--------------------------+ * | struct segment | * +--------------------------+ SEG_BITMAP_BASE0 (aligned in MAXALIGN) * | bitmap(0) | ^ * : : | about N bits + sentinel * | | V * +--------------------------+ SEG_BITMAP_BASE1 * | bitmap(1) | ^ * : : | about N/32 bits + sentinel * | | V * +--------------------------+ SEG_BITMAP_BASE2 * : : * +--------------------------+ SEG_BITMAP_BASEn * | bitmap(n) | about N/32^n bits + sentinel * | | * +--------------------------+ SEG_STACK_BASE * | stack area | ^ * | | | N pointers * | | v * +--------------------------+ SEG_BLOCK_BASE (aligned in MAXALIGN) * | obj block area | ^ * | | | N blocks * | | v * +--------------------------+ * : : * 80000 +--------------------------+ * * N-th bit of bitmap(0) indicates whether N-th block is used (1) or not (0). * N-th bit of bitmap(n) indicates whether N-th word of bitmap(n-1) is * filled (1) or not (0). */ #define CEIL(x,y) ((((x) + (y) - 1) / (y)) * (y)) #define BITS_TO_WORDS(n) (((n) + BITPTR_WORDBITS - 1) / BITPTR_WORDBITS) #define WORDS_TO_BITS(n) ((n) * BITPTR_WORDBITS) #define WORDS_TO_BYTES(n) ((n) * sizeof(unsigned int)) #define SEG_INITIAL_OFFSET CEIL(sizeof(struct segment), MAXALIGN) #define SEG_BITMAP0_OFFSET SEG_INITIAL_OFFSET static struct segment_layout segment_layout[BLOCKSIZE_MAX_LOG2 + 1]; #ifdef DEBUG static void dump_layout() { unsigned int i, j; const struct segment_layout *l; unsigned long total; for (i = BLOCKSIZE_MIN_LOG2; i <= BLOCKSIZE_MAX_LOG2; i++) { l = &segment_layout[i]; total = l->block_offset + l->num_blocks * l->blocksize; sml_notice("---"); sml_notice("blocksize: %lu", (unsigned long)l->blocksize); sml_notice("bitmap0 offset: %lu", (unsigned long)SEG_BITMAP0_OFFSET); for (j = 0; j < SEG_RANK; j++) { sml_notice("bitmap%u limit: %lu", j, (unsigned long)l->bitmap_limit[j]); sml_notice("bitmap%u sentinel: %08x", j, l->bitmap_sentinel[j]); } sml_notice("bitmap size: %lu", (unsigned long)l->bitmap_size); sml_notice("stack offset: %lu", (unsigned long)l->stack_offset); sml_notice("stack limit: %lu", (unsigned long)l->stack_limit); sml_notice("block offset: %lu", (unsigned long)l->block_offset); sml_notice("num blocks: %lu", (unsigned long)l->num_blocks); sml_notice("total size: %lu", total); } } #endif /* DEBUG */ static void calc_layout(unsigned int blocksize_log2) { struct segment_layout *layout; unsigned int num_blocks, i; double estimate_bits; layout = &segment_layout[blocksize_log2]; layout->blocksize = 1 << blocksize_log2; estimate_bits = 1.0; for (i = 0; i < SEG_RANK; i++) estimate_bits = 1.0 + estimate_bits / (double)BITPTR_WORDBITS; num_blocks = (double)(SEGMENT_SIZE - SEG_INITIAL_OFFSET) / (layout->blocksize + estimate_bits / CHAR_BIT + sizeof(void*)); for (;;) { unsigned int filled, bitmap_start, num_bits, stack_size, i; unsigned int bitmap_words, sentinel_bits; filled = SEG_BITMAP0_OFFSET; bitmap_start = filled; num_bits = num_blocks; sentinel_bits = 1; for (i = 0; i < SEG_RANK; i++) { layout->bitmap_offset[i] = filled; bitmap_words = BITS_TO_WORDS(num_bits + sentinel_bits); sentinel_bits = WORDS_TO_BITS(bitmap_words) - num_bits; layout->bitmap_sentinel[i] = ~0U << (BITPTR_WORDBITS - sentinel_bits); filled += WORDS_TO_BYTES(bitmap_words); layout->bitmap_limit[i] = filled; num_bits = BITS_TO_WORDS(num_bits); sentinel_bits = 1 + sentinel_bits / BITPTR_WORDBITS; } /* aligning bitmap_size in MAXALIGN makes memset faster. * It is safe since stack area is bigger than MAXALIGN * and memset never reach both object header and * content. */ layout->bitmap_size = CEIL(filled - bitmap_start, MAXALIGN); filled = CEIL(filled, sizeof(void*)); layout->stack_offset = filled; stack_size = num_blocks * sizeof(struct stack_slot); layout->stack_limit = filled + stack_size; filled += stack_size; filled = CEIL(filled + OBJ_HEADER_SIZE, MAXALIGN); layout->block_offset = filled; filled += num_blocks * layout->blocksize; ASSERT(bitmap_start + layout->bitmap_size < layout->block_offset - OBJ_HEADER_SIZE); if (filled <= SEGMENT_SIZE) break; num_blocks--; } layout->num_blocks = num_blocks; #ifdef MINOR_GC layout->minor_threshold = (double)layout->num_blocks * minor_threshold_ratio; #endif /* MINOR_GC */ } static void init_segment_layout() { unsigned int i; /* segment_layout[0] is used for fresh segments. */ segment_layout[0].blocksize = 0; for (i = 0; i < SEG_RANK; i++) { segment_layout[0].bitmap_offset[i] = SEG_BITMAP0_OFFSET; segment_layout[0].bitmap_limit[i] = SEGMENT_SIZE; segment_layout[0].bitmap_sentinel[i] = 0; } segment_layout[0].bitmap_size = SEGMENT_SIZE - SEG_BITMAP0_OFFSET; segment_layout[0].stack_offset = SEGMENT_SIZE; segment_layout[0].stack_limit = SEGMENT_SIZE; segment_layout[0].block_offset = SEGMENT_SIZE; segment_layout[0].num_blocks = 0; for (i = BLOCKSIZE_MIN_LOG2; i <= BLOCKSIZE_MAX_LOG2; i++) calc_layout(i); #ifdef DEBUG dump_layout(); #endif /* DEBUG */ } #define ADD_OFFSET(p,n) ((void*)((char*)(p) + (n))) #define BITMAP0_BASE(seg) \ ((unsigned int*)ADD_OFFSET(seg, SEG_BITMAP0_OFFSET)) #define BITMAP_BASE(seg, level) \ ((unsigned int*) \ ADD_OFFSET(seg, (seg)->layout->bitmap_offset[level])) #define BITMAP_LIMIT_3(seg, layout, level) \ ((unsigned int*)ADD_OFFSET(seg, (layout)->bitmap_limit[level])) #define BITMAP_LIMIT(seg, level) \ BITMAP_LIMIT_3(seg, (seg)->layout, level) #define BITMAP_SENTINEL(seg, level) \ ((seg)->layout->bitmap_sentinel[level]) #define BLOCK_BASE(seg) ((seg)->block_base) #define BLOCK_SIZE(seg) (1U << (seg)->blocksize_log2) /* sub heaps */ struct subheap { struct segment *seglist; /* list of segments */ struct segment **unreserved; /* head of unreserved segs on seglist */ #ifdef MINOR_GC unsigned int minor_count; struct segment **minor_space; /* head of minor space on seglist */ #endif /* MINOR_GC */ }; /* allocation pointers */ /* * Since allocation pointers are frequently accessed, * they should be small so that they can stay in cache as long as possible. * And, in order for fast offset computation, sizeof(struct alloc_ptr) * should be power of 2. */ struct alloc_ptr { bitptr_t freebit; char *free; unsigned int blocksize_bytes; }; union alloc_ptr_set { struct alloc_ptr alloc_ptr[BLOCKSIZE_MAX_LOG2 + 1]; #ifdef MULTITHREAD /* alloc_ptr[0] is not used. We use there as a pointer member. */ union alloc_ptr_set *next; #endif /* MULTITHREAD */ }; static const unsigned int dummy_bitmap = ~0U; static const bitptr_t dummy_bitptr = { (unsigned int *)&dummy_bitmap, 1 }; #ifdef MULTITHREAD static union alloc_ptr_set *global_free_ptr_list; #define ALLOC_PTR_SET() ((union alloc_ptr_set *)sml_current_thread_heap()) #else static union alloc_ptr_set global_alloc_ptr_set; #define ALLOC_PTR_SET() (&global_alloc_ptr_set) #endif /* MULTITHREAD */ struct subheap global_subheaps[BLOCKSIZE_MAX_LOG2 + 1]; static struct { struct segment *freelist; void *begin, *end; unsigned int min_num_segments, max_num_segments, num_committed; unsigned int extend_step; unsigned int *bitmap; } heap_space; #define IS_IN_HEAP(p) \ ((char*)heap_space.begin <= (char*)(p) \ && (char*)(p) < (char*)heap_space.end) #define ALLOC_PTR_TO_BLOCKSIZE_LOG2(ptr) \ (ASSERT \ (BLOCKSIZE_MIN_LOG2 <= \ (unsigned)((ptr) - &ALLOC_PTR_SET()->alloc_ptr[0]) \ && (unsigned)((ptr) - &ALLOC_PTR_SET()->alloc_ptr[0]) \ <= BLOCKSIZE_MAX_LOG2), \ (unsigned)((ptr) - &ALLOC_PTR_SET()->alloc_ptr[0])) /* bit pointer is suitable for computing segment address. * bit pointer always points to the address in the middle of segments. */ #define ALLOC_PTR_TO_SEGMENT(ptr) \ (ASSERT(IS_IN_HEAP((ptr)->freebit.ptr)), \ ((struct segment*) \ (((uintptr_t)(ptr)->freebit.ptr) & ~(SEGMENT_SIZE - 1U)))) #define OBJ_TO_SEGMENT(objaddr) \ (ASSERT(IS_IN_HEAP(objaddr)), \ ((struct segment*)((uintptr_t)(objaddr) & ~(SEGMENT_SIZE - 1U)))) #define OBJ_TO_INDEX(seg, objaddr) \ (ASSERT(OBJ_TO_SEGMENT(objaddr) == (seg)), \ ASSERT((char*)(objaddr) >= (seg)->block_base), \ ASSERT((char*)(objaddr) \ < (seg)->block_base + ((seg)->layout->num_blocks \ << (seg)->blocksize_log2)), \ ((size_t)((char*)(objaddr) - (seg)->block_base) \ >> (seg)->blocksize_log2)) /* for debug */ struct segment *obj_to_segment(void *obj) {return OBJ_TO_SEGMENT(obj);} size_t obj_to_index(void *obj) { struct segment *seg = OBJ_TO_SEGMENT(obj); return OBJ_TO_INDEX(seg, obj); } unsigned int obj_to_bit(void *obj) { struct segment *seg = OBJ_TO_SEGMENT(obj); size_t index = OBJ_TO_INDEX(seg, obj); bitptr_t b; BITPTR_INIT(b, BITMAP0_BASE(seg), index); return BITPTR_TEST(b); } struct stack_slot *obj_to_stack(void *obj) { struct segment *seg = OBJ_TO_SEGMENT(obj); size_t index = OBJ_TO_INDEX(seg, obj); return seg->stack + index; } #ifdef MULTITHREAD static pthread_mutex_t free_ptr_list_lock = PTHREAD_MUTEX_INITIALIZER; #define PUSH_FREE_PTR_LIST(ptr) do { \ pthread_mutex_lock(&free_ptr_list_lock); \ ptr->next = global_free_ptr_list; \ global_free_ptr_list = ptr; \ pthread_mutex_unlock(&free_ptr_list_lock); \ } while (0) #define POP_FREE_PTR_LIST(ptr) do { \ pthread_mutex_lock(&free_ptr_list_lock); \ ptr = global_free_ptr_list; \ if (ptr) global_free_ptr_list = ptr->next; \ pthread_mutex_unlock(&free_ptr_list_lock); \ } while (0) #define CLEAR_FREE_PTR_LIST(ptr) do { \ pthread_mutex_lock(&free_ptr_list_lock); \ ptr = global_free_ptr_list; \ global_free_ptr_list = NULL; \ pthread_mutex_unlock(&free_ptr_list_lock); \ } while (0) #endif /* MULTITHREAD */ #ifdef MULTITHREAD #if defined(__GNUC__) && !defined(NOASM) && defined(HOST_CPU_i386) #define FREELIST_NEXT(freelist, seg) do { \ struct segment *new__ ATTR_UNUSED; \ __asm__ volatile ("movl %0, %1\n" \ "1:\n\t" \ "testl %1, %1\n\t" \ "je 1f\n\t" \ "movl (%1), %2\n\t" \ "lock; cmpxchgl %2, %0\n\t" \ "jne 1b\n" \ "1:" \ : "+m" (freelist), "=&a" (seg), "=&r" (new__) \ :: "memory"); \ } while (0) #define UNRESERVED_NEXT(unreserved, seg) do { \ __asm__ volatile ("movl %0, %%eax\n" \ "1:\n\t" \ "movl (%%eax), %1\n\t" \ "testl %1, %1\n\t" \ "je 1f\n\t" \ "lock; cmpxchgl %1, %0\n\t" \ "jne 1b\n" \ "1:" \ : "+m" (unreserved), "=&r" (seg) \ :: "eax", "memory"); \ } while (0) #define UNRESERVED_APPEND(unreserved, seg) do { \ struct segment *next__ ATTR_UNUSED; \ __asm__ volatile ("1:\n\t" \ "movl %0, %%eax\n\t" \ "movl (%%eax), %1\n\t" \ "testl %1, %1\n\t" \ "je 2f\n\t" \ "lock; cmpxchgl %1, %0\n\t" \ "jmp 1b\n" \ "2:\n\t" \ "movl %%eax, %1\n\t" \ "xorl %%eax, %%eax\n\t" \ "lock; cmpxchgl %2, (%1)\n\t" \ "jne 1b\n\t" \ "movl %1, %%eax\n\t" \ "lock; cmpxchgl %2, %0" \ : "+m" (unreserved), "=&r" (next__) \ : "r" (seg) : "eax", "memory"); \ } while (0) #else static pthread_mutex_t heap_space_lock = PTHREAD_MUTEX_INITIALIZER; #define FREELIST_NEXT(freelist, seg) do { \ pthread_mutex_lock(&heap_space_lock); \ seg = freelist; \ if (seg) freelist = seg->next; \ pthread_mutex_unlock(&heap_space_lock); \ } while (0) #define UNRESERVED_NEXT(unreserved, seg) do { \ pthread_mutex_lock(&heap_space_lock); \ seg = *unreserved; \ if (seg) unreserved = &seg->next; \ pthread_mutex_unlock(&heap_space_lock); \ } while (0) #define UNRESERVED_APPEND(unreserved, seg) do { \ pthread_mutex_lock(&heap_space_lock); \ *unreserved = seg; \ unreserved = &seg->next; \ pthread_mutex_unlock(&heap_space_lock); \ } while (0) #endif /* !NOASM */ #else /* MULTITHREAD */ #define UNRESERVED_NEXT(unreserved, seg) do { \ seg = *unreserved; \ if (seg) unreserved = &seg->next; \ } while (0) #define FREELIST_NEXT(freelist, seg) do { \ seg = freelist; \ if (seg) freelist = seg->next; \ } while (0) #define UNRESERVED_APPEND(unreserved, seg) do { \ *unreserved = seg; \ unreserved = &seg->next; \ } while (0) #endif /* MULTITHREAD */ #if defined GCSTAT || defined GCTIME static struct { FILE *file; size_t probe_threshold; unsigned int verbose; unsigned int initial_num_segments; sml_timer_t exec_begin, exec_end; sml_time_t exec_time; struct gcstat_gc { unsigned int count; sml_time_t total_time; sml_time_t clear_time; unsigned long total_clear_bytes; unsigned long total_trace_count; unsigned long total_push_count; } gc; #ifdef MINOR_GC struct gcstat_gc minor_gc; #endif /* MINOR_GC */ unsigned long total_alloc_count; double last_probe_time; double probe_interval; struct { unsigned int trigger; struct { unsigned int fast[BLOCKSIZE_MAX_LOG2 + 1]; unsigned int next[BLOCKSIZE_MAX_LOG2 + 1]; unsigned int find[BLOCKSIZE_MAX_LOG2 + 1]; unsigned int new[BLOCKSIZE_MAX_LOG2 + 1]; unsigned int malloc; } alloc_count; #ifdef MINOR_GC struct { unsigned int called; unsigned int barriered; } barrier_count; #endif /* MINOR_GC */ unsigned int trace_count; unsigned int push_count; size_t alloc_bytes; size_t clear_bytes; } last; } gcstat; #define clear_last_counts() \ (memset(&gcstat.last, 0, sizeof(gcstat.last))) #define GCSTAT_VERBOSE_GC 10 #define GCSTAT_VERBOSE_COUNT 20 #define GCSTAT_VERBOSE_HEAP 30 #define GCSTAT_VERBOSE_PROBE 40 #define GCSTAT_VERBOSE_MAX 100 static void (*stat_notice)(const char *format, ...) ATTR_PRINTF(1, 2) = sml_notice; #if defined GCSTAT static void gcstat_print(const char *fmt, ...) { va_list args; va_start(args, fmt); vfprintf(gcstat.file, fmt, args); fputs("\n", gcstat.file); va_end(args); } static void print_alloc_count() { unsigned int i; if (gcstat.verbose < GCSTAT_VERBOSE_COUNT) return; stat_notice("count:"); for (i = BLOCKSIZE_MIN_LOG2; i <= BLOCKSIZE_MAX_LOG2; i++) { if (gcstat.last.alloc_count.fast[i] != 0 || gcstat.last.alloc_count.next[i] != 0 || gcstat.last.alloc_count.find[i] != 0 || gcstat.last.alloc_count.new[i] != 0) stat_notice(" %u: {fast: %u, next: %u, find: %u," " new: %u}", 1U << i, gcstat.last.alloc_count.fast[i], gcstat.last.alloc_count.next[i], gcstat.last.alloc_count.find[i], gcstat.last.alloc_count.new[i]); } if (gcstat.last.alloc_count.malloc > 0) stat_notice(" other: {malloc: %u}", gcstat.last.alloc_count.malloc); #ifdef MINOR_GC if (gcstat.last.barrier_count.called > 0 || gcstat.last.barrier_count.barriered > 0) { stat_notice(" barrier: {called: %u, barriered: %u}", gcstat.last.barrier_count.called, gcstat.last.barrier_count.barriered); } #endif /* MINOR_GC */ } #endif /* GCSTAT */ #endif /* GCSTAT || GCTIME */ /* for debug or GCSTAT */ static size_t segment_filled(struct segment *seg, size_t filled_index, size_t *ret_bytes) { unsigned int i; bitptr_t b; char *p = BLOCK_BASE(seg); size_t filled = 0, count = 0; const size_t blocksize = BLOCK_SIZE(seg); BITPTR_INIT(b, BITMAP0_BASE(seg), 0); for (i = 0; i < seg->layout->num_blocks; i++) { if (i < filled_index || BITPTR_TEST(b)) { ASSERT(OBJ_TOTAL_SIZE(p) <= blocksize); count++; filled += OBJ_TOTAL_SIZE(p); } BITPTR_INC(b); p += blocksize; } if (ret_bytes) *ret_bytes = filled; return count; } #ifdef DEBUG static void scribble_segment(struct segment *seg, size_t filled_index) { unsigned int i; bitptr_t b; char *p = BLOCK_BASE(seg); BITPTR_INIT(b, BITMAP0_BASE(seg), 0); for (i = 0; i < seg->layout->num_blocks; i++) { size_t objsize = ((i < filled_index || BITPTR_TEST(b)) ? OBJ_TOTAL_SIZE(p) : 0); memset(p - OBJ_HEADER_SIZE + objsize, 0x55, BLOCK_SIZE(seg) - objsize); BITPTR_INC(b); p += BLOCK_SIZE(seg); } } static void scribble_subheaps() { unsigned int i; struct segment *seg; for (i = BLOCKSIZE_MIN_LOG2; i <= BLOCKSIZE_MAX_LOG2; i++) { for (seg = global_subheaps[i].seglist; seg; seg = seg->next) /* assume that bitmaps exactly indicate * the liveness of blocks. */ scribble_segment(seg, 0); } } static size_t check_segment_consistent(struct segment *seg, size_t filled_index) { bitptr_t b; unsigned int i, *p; size_t index, count, filled; const struct segment_layout *layout; ASSERT(BLOCKSIZE_MIN_LOG2 <= seg->blocksize_log2 && seg->blocksize_log2 <= BLOCKSIZE_MAX_LOG2); /* check alignment */ ASSERT((uintptr_t)seg & ~(SEGMENT_SIZE - 1U)); /* check layout */ layout = &segment_layout[seg->blocksize_log2]; ASSERT(seg->layout == layout); ASSERT(seg->stack == ADD_OFFSET(seg, layout->stack_offset)); ASSERT(seg->block_base == ADD_OFFSET(seg, layout->block_offset)); /* stack area must be filled with NULL. */ for (i = 0; i < layout->num_blocks; i++) ASSERT(seg->stack[i].next_obj == NULL); /* check sentinel bits */ index = layout->num_blocks; BITPTR_INIT(b, BITMAP0_BASE(seg), index); ASSERT(BITPTR_TEST(b)); BITPTR_NEXT(b); ASSERT(BITPTR_NEXT_FAILED(b)); for (i = 1; i < SEG_RANK; i++) { index = index / BITPTR_WORDBITS + 1; BITPTR_INIT(b, BITMAP_BASE(seg, i), index); ASSERT(BITPTR_TEST(b)); BITPTR_NEXT(b); ASSERT(BITPTR_NEXT_FAILED(b)); } /* check bitmap tree */ for (i = 0; i < SEG_RANK - 1; i++) { for (p = BITMAP_BASE(seg,i); p < BITMAP_LIMIT(seg,i); p++) { BITPTR_INIT(b, BITMAP_BASE(seg, i + 1), p - BITMAP_BASE(seg, i)); ASSERT((*p == ~0U) == (BITPTR_TEST(b) != 0)); } } /* check all objecst are valid. */ count = segment_filled(seg, filled_index, &filled); ASSERT(count <= layout->num_blocks); ASSERT(filled <= (layout->num_blocks << seg->blocksize_log2)); /* check live_count */ ASSERT(count == seg->live_count); return count; } static void check_ptr_consistent(struct alloc_ptr *ptr) { size_t index; unsigned int i; struct segment *seg, *s; /* if freebit is equal to dummy, ptr points no segment. */ ASSERT((!ptr->free && BITPTR_EQUAL(ptr->freebit, dummy_bitptr)) || (ptr->free && !BITPTR_EQUAL(ptr->freebit, dummy_bitptr))); if (ptr->free == NULL) return; seg = ALLOC_PTR_TO_SEGMENT(ptr); i = seg->blocksize_log2; /* block size must be equal between ptr and segment. */ ASSERT(ptr->blocksize_bytes == 1 << i); /* segment is in seglist of the subheap. */ for (s = global_subheaps[i].seglist; s; s = s->next) if (s == seg) break; ASSERT(s == seg); /* free pointer boundary check */ ASSERT(BLOCK_BASE(seg) <= ptr->free && ptr->free < (BLOCK_BASE(seg) + (seg->layout->num_blocks << i))); ASSERT(BITMAP0_BASE(seg) <= ptr->freebit.ptr && ptr->freebit.ptr < BITMAP_LIMIT(seg, 0)); /* correspondence between free and freebit */ index = BITPTR_INDEX(ptr->freebit, BITMAP0_BASE(seg)); ASSERT(index == OBJ_TO_INDEX(seg, ptr->free)); } static void check_subheap_consistent(struct subheap *subheap, unsigned int blocksize_log2) { struct segment *seg, *s, **p; size_t count; int num_segments, unreserved_start; #ifdef MINOR_GC int minor_start; #endif /* MINOR_GC */ /* check subheap->unreserved consistent */ num_segments = 0; unreserved_start = -1; for (p = &subheap->seglist; *p; p = &(*p)->next) { if (p == subheap->unreserved) { ASSERT(unreserved_start == -1); unreserved_start = num_segments; } num_segments++; } if (subheap->unreserved == p) unreserved_start = num_segments; ASSERT(unreserved_start >= 0); #ifdef MINOR_GC /* check subheap->minor_space consistent */ num_segments = 0; minor_start = -1; for (p = &subheap->seglist; *p; p = &(*p)->next) { if (p == subheap->minor_space) { ASSERT(minor_start == -1); minor_start = num_segments; } num_segments++; } if (subheap->minor_space == p) minor_start = num_segments; ASSERT(minor_start >= 0 && minor_start <= unreserved_start); #if defined CONFIGURABLE_MINOR_COUNT || MINOR_COUNT > 0 ASSERT(subheap->minor_count <= MINOR_COUNT); #endif /* MINOR_COUNT */ #endif /* MINOR_GC */ /* check each segment consistent */ for (seg = subheap->seglist; seg; seg = seg->next) { ASSERT(seg->blocksize_log2 == blocksize_log2); /* assume that bitmaps exactly indicate * the liveness of blocks. */ count = check_segment_consistent(seg, 0); /*count = check_segment_consistent(seg, SEGMENT_SIZE);*/ /*ASSERT(!reserved || count == seg->layout->num_blocks);*/ /* seg is not in the free list. */ for (s = heap_space.freelist; s; s = s->next) ASSERT(s != seg); } } static void check_heap_consistent() { unsigned int i; for (i = BLOCKSIZE_MIN_LOG2; i <= BLOCKSIZE_MAX_LOG2; i++) { check_subheap_consistent(&global_subheaps[i], i); check_ptr_consistent(&ALLOC_PTR_SET()->alloc_ptr[i]); } } #endif /* DEBUG */ #ifdef GCSTAT struct occupancy_accum { unsigned int total_objects; unsigned int total_object_bytes; unsigned int total_blocks; unsigned int total_block_bytes; }; static void print_segment_occupancy(struct segment *seg, size_t filled_index, struct subheap *subheap, struct occupancy_accum *a) { size_t count, filled; count = segment_filled(seg, filled_index, &filled); stat_notice(" - {bytes: %lu, blocks: %lu}%s", (unsigned long)filled, (unsigned long)count, (&seg->next == subheap->unreserved) ? " # ^^^" #ifdef MINOR_GC : (seg == *subheap->minor_space) ? " # ---" #endif /* MINOR_GC */ : ""); a->total_objects += count; a->total_object_bytes += filled; a->total_blocks += seg->layout->num_blocks; a->total_block_bytes += count << seg->blocksize_log2; } static void print_subheap_occupancy(struct subheap *subheap, unsigned int blocksize_log2, struct occupancy_accum *a) { struct segment *seg; #ifdef MINOR_GC size_t filled = SEGMENT_SIZE; #else size_t filled = 0; #endif /* MINOR_GC */ filled = SEGMENT_SIZE; for (seg = subheap->seglist; seg; seg = seg->next) { #ifdef MINOR_GC if (seg == *subheap->minor_space) filled = SEGMENT_SIZE; #endif /* MINOR_GC */ if (seg == *subheap->unreserved) filled = 0; else if (&seg->next == subheap->unreserved) { struct alloc_ptr *ptr; ptr = &ALLOC_PTR_SET()->alloc_ptr[blocksize_log2]; filled = BITPTR_INDEX(ptr->freebit, BITMAP0_BASE(seg)); } print_segment_occupancy(seg, filled, subheap, a); } } static void print_heap_occupancy() { unsigned int i; struct subheap *subheap; struct occupancy_accum a = {0, 0, 0, 0}; if (gcstat.verbose < GCSTAT_VERBOSE_HEAP) return; stat_notice("heap:"); for (i = BLOCKSIZE_MIN_LOG2; i <= BLOCKSIZE_MAX_LOG2; i++) { subheap = &global_subheaps[i]; if (subheap->seglist) { stat_notice(" %u:", 1U << i); print_subheap_occupancy(subheap, i, &a); } } stat_notice(" # using %u / %u blocks, %u / %u / %u bytes, occ %.2f %%", a.total_objects, a.total_blocks, a.total_object_bytes, a.total_block_bytes, heap_space.num_committed * SEGMENT_SIZE, (double)a.total_object_bytes / ((double)heap_space.num_committed * SEGMENT_SIZE) * 100.0); } #endif /* GCSTAT */ /* for debug */ static void dump_segment_list(struct segment *seg, struct segment *cur) { size_t filled, count; while (seg) { count = segment_filled(seg, 0, &filled); sml_debug(" segment %p:%s\n", seg, seg == cur ? " UNRESERVED" : ""); sml_debug(" blocksize = %u, " "%lu blocks, %lu blocks used, %lu bytes filled\n", BLOCK_SIZE(seg), (unsigned long)seg->layout->num_blocks, (unsigned long)count, (unsigned long)filled); seg = seg->next; } } /* for debug */ void sml_heap_dump() { unsigned int i; struct subheap *subheap; struct alloc_ptr *ptr; struct segment *seg; for (i = BLOCKSIZE_MIN_LOG2; i <= BLOCKSIZE_MAX_LOG2; i++) { subheap = &global_subheaps[i]; ptr = &ALLOC_PTR_SET()->alloc_ptr[i]; if (BITPTR_EQUAL(ptr->freebit, dummy_bitptr)) { sml_debug("ptr[%u] (%u): dummy bitptr\n", i, ptr->blocksize_bytes); } else { seg = ALLOC_PTR_TO_SEGMENT(ptr); sml_debug("ptr[%u] (%u): free=%p, bit %u\n", i, ptr->blocksize_bytes, ptr->free, BITPTR_INDEX(ptr->freebit, BITMAP0_BASE(seg))); } sml_debug(" segments:\n"); dump_segment_list(subheap->seglist, *subheap->unreserved); } sml_debug("freelist:\n"); dump_segment_list(heap_space.freelist, NULL); } static void set_alloc_ptr(struct alloc_ptr *ptr, struct segment *seg) { if (seg) { ptr->free = BLOCK_BASE(seg); BITPTR_INIT(ptr->freebit, BITMAP0_BASE(seg), 0); } else { ptr->free = NULL; ptr->freebit = dummy_bitptr; } } static void clear_bitmap(struct segment *seg) { unsigned int i; #ifdef DEBUG for (i = seg->layout->bitmap_limit[SEG_RANK - 1]; i < SEG_BITMAP0_OFFSET + seg->layout->bitmap_size; i++) ASSERT(*(unsigned char*)ADD_OFFSET(seg, i) == 0); #endif /* DEBUG */ memset(BITMAP0_BASE(seg), 0, seg->layout->bitmap_size); #ifdef GCSTAT gcstat.last.clear_bytes += seg->layout->bitmap_size; #endif /* GCSTAT */ for (i = 0; i < SEG_RANK; i++) BITMAP_LIMIT(seg, i)[-1] = BITMAP_SENTINEL(seg, i); seg->live_count = 0; } static void clear_all_bitmaps() { unsigned int i; struct segment *seg; for (i = BLOCKSIZE_MIN_LOG2; i <= BLOCKSIZE_MAX_LOG2; i++) { for (seg = global_subheaps[i].seglist; seg; seg = seg->next) clear_bitmap(seg); } } static void init_segment(struct segment *seg, unsigned int blocksize_log2) { const struct segment_layout *layout; unsigned int i; void *old_limit, *new_limit; ASSERT(BLOCKSIZE_MIN_LOG2 <= blocksize_log2 && blocksize_log2 <= BLOCKSIZE_MAX_LOG2); /* if seg is already initialized, do nothing. */ if (seg->blocksize_log2 == blocksize_log2) { ASSERT(check_segment_consistent(seg, 0) == 0); return; } layout = &segment_layout[blocksize_log2]; /* * bitmap and stack area are cleared except bitmap sentinels. * Under this assumption, we initialize bitmap and stack area * with accessing least memory. */ #if defined NULL_IS_NOT_ZERO old_limit = BITMAP_LIMIT(seg, SEG_RANK - 1); new_limit = BITMAP_LIMIT_L(seg, layout, SEG_RANK - 1); #else old_limit = ADD_OFFSET(seg, seg->layout->stack_limit); new_limit = ADD_OFFSET(seg, layout->stack_limit); #endif /* NULL_IS_NOT_ZERO */ if ((char*)new_limit > (char*)old_limit) memset(old_limit, 0, (char*)new_limit - (char*)old_limit); /* clear old sentinel */ for (i = 0; i < SEG_RANK; i++) BITMAP_LIMIT(seg, i)[-1] = 0; /* set new sentinel */ for (i = 0; i < SEG_RANK; i++) BITMAP_LIMIT_3(seg,layout,i)[-1] = layout->bitmap_sentinel[i]; seg->blocksize_log2 = blocksize_log2; seg->layout = layout; seg->stack = ADD_OFFSET(seg, layout->stack_offset); seg->block_base = ADD_OFFSET(seg, layout->block_offset); seg->next = NULL; #ifdef NULL_IS_NOT_ZERO for (i = 0; i < layout->num_blocks; i++) seg->stack[i] = NULL; #endif /* NULL_IS_NOT_ZERO */ ASSERT(check_segment_consistent(seg, 0) == 0); } #ifdef MINGW32 #define GetPageSize() (64 * 1024) #define ReservePageError NULL #define ReservePage(addr, size) \ VirtualAlloc(addr, size, MEM_RESERVE, PAGE_NOACCESS) #define ReleasePage(addr, size) \ VirtualFree(addr, size, MEM_RELEASE) #define CommitPage(addr, size) \ VirtualAlloc(addr, size, MEM_COMMIT, PAGE_EXECUTE_READWRITE) #define UncommitPage(addr, size) \ VirtualFree(addr, size, MEM_DECOMMIT) #else #define GetPageSize() getpagesize() #define ReservePageError ((void*)-1) #define ReservePage(addr, size) \ mmap(addr, size, PROT_NONE, MAP_ANON | MAP_PRIVATE, -1, 0) #define ReleasePage(addr, size) \ munmap(addr, size) #define CommitPage(addr, size) \ mprotect(addr, size, PROT_READ | PROT_WRITE) #define UncommitPage(addr, size) \ mmap(addr, size, PROT_NONE, MAP_ANON | MAP_PRIVATE | MAP_FIXED, -1, 0) #endif /* MINGW32 */ #if defined(DEBUG) && defined(DEBUG_USE_MMAP) #define HEAP_BEGIN_ADDR (void*)0x2000000 #else #define HEAP_BEGIN_ADDR NULL #endif /* DEBUG && DEBUG_USE_MMAP */ static void extend_heap(unsigned int count) { unsigned int i; struct segment *first, *seg, **seg_p; bitptr_t b; BITPTR_INIT(b, heap_space.bitmap, 0); seg = heap_space.begin; count = heap_space.min_num_segments; seg_p = &first; for (i = 0; count > 0 && i < heap_space.max_num_segments; i++) { if (!BITPTR_TEST(b)) { CommitPage(seg, SEGMENT_SIZE); seg->layout = &segment_layout[0]; *seg_p = seg; seg_p = &seg->next; BITPTR_SET(b); count--; heap_space.num_committed++; DBG(("extend: %p (%d) %d", seg, i, heap_space.num_committed)); } BITPTR_INC(b); seg = (struct segment *)((char*)seg + SEGMENT_SIZE); } *seg_p = heap_space.freelist; heap_space.freelist = first; } static void init_heap_space(size_t min_size, size_t max_size) { size_t pagesize, alloc_size, reserve_size, freesize_pre, freesize_post; unsigned int min_num_segments, max_num_segments, bitmap_bits; void *p; pagesize = GetPageSize(); if (SEGMENT_SIZE % pagesize != 0) sml_fatal(0, "SEGMENT_SIZE is not aligned in page size."); alloc_size = ALIGNSIZE(min_size, SEGMENT_SIZE); reserve_size = ALIGNSIZE(max_size, SEGMENT_SIZE); if (alloc_size < SEGMENT_SIZE) alloc_size = SEGMENT_SIZE; if (reserve_size < alloc_size) reserve_size = alloc_size; min_num_segments = alloc_size / SEGMENT_SIZE; max_num_segments = reserve_size / SEGMENT_SIZE; p = ReservePage(HEAP_BEGIN_ADDR, SEGMENT_SIZE + reserve_size); if (p == ReservePageError) sml_fatal(0, "failed to alloc virtual memory."); freesize_post = (uintptr_t)p & (SEGMENT_SIZE - 1); if (freesize_post == 0) { ReleasePage(p + reserve_size, SEGMENT_SIZE); } else { freesize_pre = SEGMENT_SIZE - freesize_post; ReleasePage(p, freesize_pre); p = (char*)p + freesize_pre; ReleasePage(p + reserve_size, freesize_post); } heap_space.begin = p; heap_space.end = (char*)p + reserve_size; heap_space.min_num_segments = min_num_segments; heap_space.max_num_segments = max_num_segments; heap_space.num_committed = 0; heap_space.extend_step = min_num_segments > 0 ? min_num_segments : 1; bitmap_bits = ALIGNSIZE(max_num_segments, BITPTR_WORDBITS); heap_space.bitmap = xmalloc(bitmap_bits / CHAR_BIT); memset(heap_space.bitmap, 0, bitmap_bits / CHAR_BIT); extend_heap(min_num_segments); #ifdef GCSTAT gcstat.initial_num_segments = min_num_segments; #endif /* GCSTAT */ } static void init_subheaps() { unsigned int i; struct subheap *subheap; for (i = BLOCKSIZE_MIN_LOG2; i <= BLOCKSIZE_MAX_LOG2; i++) { subheap = &global_subheaps[i]; subheap->seglist = NULL; subheap->unreserved = &subheap->seglist; #ifdef MINOR_GC #if defined CONFIGURABLE_MINOR_COUNT || MINOR_COUNT > 0 subheap->minor_count = MINOR_COUNT; #endif /* MINOR_COUNT */ subheap->minor_space = &subheap->seglist; #endif /* MINOR_GC */ } } static struct segment * new_segment() { struct segment *seg; FREELIST_NEXT(heap_space.freelist, seg); if (seg == NULL) return NULL; seg->next = NULL; #ifdef DEBUG memset(ADD_OFFSET(seg, seg->layout->block_offset), 0x55, SEGMENT_SIZE - seg->layout->block_offset); #endif /* DEBUG */ return seg; } static void free_segment(struct segment *seg) { bitptr_t b; unsigned int index; index = ((char*)seg - (char*)heap_space.begin) / SEGMENT_SIZE; BITPTR_INIT(b, heap_space.bitmap, index); ASSERT(BITPTR_TEST(b)); BITPTR_CLEAR(b); UncommitPage(seg, SEGMENT_SIZE); heap_space.num_committed--; DBG(("free_segment: %p (%d) %d\n", seg, index, heap_space.num_committed)); } static void shrink_heap(unsigned int count) { struct segment *seg; while (heap_space.num_committed > heap_space.min_num_segments && count > 0) { seg = heap_space.freelist; if (seg == NULL) break; heap_space.freelist = seg->next; free_segment(seg); heap_space.num_committed--; count--; } } static void init_alloc_ptr_set(union alloc_ptr_set *ptr_set) { unsigned int i; for (i = BLOCKSIZE_MIN_LOG2; i <= BLOCKSIZE_MAX_LOG2; i++) { ptr_set->alloc_ptr[i].blocksize_bytes = 1U << i; set_alloc_ptr(&ptr_set->alloc_ptr[i], NULL); } #ifdef MULTITHREAD ptr_set->next = NULL; #endif /* MULTITHREAD */ } #ifdef MULTITHREAD static union alloc_ptr_set * new_alloc_ptr_set() { union alloc_ptr_set *ptr_set; POP_FREE_PTR_LIST(ptr_set); if (ptr_set != NULL) { ptr_set->next = NULL; return ptr_set; } ptr_set = xmalloc(sizeof(union alloc_ptr_set)); init_alloc_ptr_set(ptr_set); return ptr_set; } static void free_alloc_ptr_set(union alloc_ptr_set *ptr_set) { // ToDo:: LOCK ASSERT(ptr_set != NULL); PUSH_FREE_PTR_LIST(ptr_set); } static void destroy_free_ptr_list() { union alloc_ptr_set *freelist, *ptr_set; CLEAR_FREE_PTR_LIST(freelist); while (freelist) { ptr_set = freelist->next; free(freelist); freelist = ptr_set; } } #endif /* MULTITHREAD */ void sml_heap_init(size_t min_size, size_t max_size) { #if defined GCSTAT || defined MINOR_GC const char *env; #endif /* GCSTAT || MINOR_GC */ #ifdef GCSTAT unsigned int i; env = getenv("SMLSHARP_GCSTAT_FILE"); if (env) { gcstat.file = fopen(env, "w"); if (gcstat.file == NULL) { perror("sml_heap_init"); abort(); } stat_notice = gcstat_print; } env = getenv("SMLSHARP_GCSTAT_VERBOSE"); if (env) gcstat.verbose = strtol(env, NULL, 10); else gcstat.verbose = GCSTAT_VERBOSE_MAX; env = getenv("SMLSHARP_GCSTAT_PROBE"); if (env) { if (env[0] != '\0' && env[strlen(env)-1] == 's') { gcstat.probe_interval = strtod(env, NULL); } else { gcstat.probe_threshold = strtol(env, NULL, 10); } if (gcstat.probe_threshold == 0) gcstat.probe_threshold = min_size; } else { gcstat.probe_threshold = SEGMENT_SIZE * 4; } #endif /* GCSTAT */ #ifdef MINOR_GC env = getenv("SMLSHARP_GC_FILLRATIO"); if (env) minor_threshold_ratio = strtod(env, NULL); #endif /* MINOR_GC */ #if defined MINOR_GC && defined CONFIGURABLE_MINOR_COUNT env = getenv("SMLSHARP_GC_MINORCOUNT"); if (env) { if (env[0] != '\0' && env[strlen(env)-1] == '%') { minor_count = strtod(env, NULL) / 100.0 * min_size / SEGMENT_SIZE; } else { minor_count = strtol(env, NULL, 10); } } stat_notice("minor_count : %u", minor_count); #endif /* MINOR_GC && CONFIGURABLE_MINOR_COUNT */ #ifdef GCTIME sml_timer_now(gcstat.exec_begin); #endif /* GCTIME */ init_segment_layout(); init_heap_space(min_size, max_size); init_subheaps(); #ifndef MULTITHREAD init_alloc_ptr_set(ALLOC_PTR_SET()); #endif /* MULTITHREAD */ #ifdef GCSTAT stat_notice("---"); stat_notice("event: init"); stat_notice("time: 0.0"); stat_notice("initial_num_segments: %u", gcstat.initial_num_segments); stat_notice("heap_size: %u", SEGMENT_SIZE * gcstat.initial_num_segments); stat_notice("config:"); for (i = BLOCKSIZE_MIN_LOG2; i <= BLOCKSIZE_MAX_LOG2; i++) stat_notice(" %u: {size: %lu, num_blocks: %lu, " "bitmap_size: %lu}", 1U << i, (unsigned long)SEGMENT_SIZE, (unsigned long)segment_layout[i].num_blocks, (unsigned long)segment_layout[i].bitmap_size); stat_notice("counters:"); stat_notice(" heap: [fast, find, next, new]"); stat_notice(" other: [malloc]"); #ifdef MINOR_GC stat_notice(" barrier: [called, barriered]"); #endif /* MINOR_GC */ print_heap_occupancy(); #endif /* GCSTAT */ } void sml_heap_free() { #if defined GCTIME && defined MINOR_GC sml_time_t t; #endif /* GCTIME && MINOR_GC */ #ifdef MULTITHREAD destroy_free_ptr_list(); #endif /* MULTITHREAD */ ReleasePage(heap_space.begin, (char*)heap_space.end - (char*)heap_space.begin); #ifdef GCTIME sml_timer_now(gcstat.exec_end); sml_timer_dif(gcstat.exec_begin, gcstat.exec_end, gcstat.exec_time); #endif /* GCTIME */ #if defined GCSTAT || defined GCTIME #ifdef GCSTAT stat_notice("---"); stat_notice("event: finish"); stat_notice("time: "TIMEFMT, TIMEARG(gcstat.exec_time)); print_alloc_count(); #endif /* GCSTAT */ stat_notice("exec time : "TIMEFMT" #sec", TIMEARG(gcstat.exec_time)); #ifndef MINOR_GC stat_notice("gc count : %u #times", gcstat.gc.count); stat_notice("gc time : "TIMEFMT" #sec (%4.2f%%), avg: %.6f sec", TIMEARG(gcstat.gc.total_time), TIMEFLOAT(gcstat.gc.total_time) / TIMEFLOAT(gcstat.exec_time) * 100.0f, TIMEFLOAT(gcstat.gc.total_time) / (double)gcstat.gc.count); #else t = gcstat.gc.total_time; sml_time_accum(gcstat.minor_gc.total_time, t); stat_notice("gc count : %u #times", gcstat.gc.count + gcstat.minor_gc.count); stat_notice("gc time : "TIMEFMT" #sec (%4.2f%%), avg: %.6f sec", TIMEARG(t), TIMEFLOAT(t) / TIMEFLOAT(gcstat.exec_time) * 100.0f, TIMEFLOAT(t) / (double)(gcstat.gc.count + gcstat.minor_gc.count)); stat_notice("major count : %u #times", gcstat.gc.count); stat_notice("major time : "TIMEFMT" #sec (%4.2f%%), avg: %.6f sec", TIMEARG(gcstat.gc.total_time), TIMEFLOAT(gcstat.gc.total_time) / TIMEFLOAT(gcstat.exec_time) * 100.0f, TIMEFLOAT(gcstat.gc.total_time) / (double)gcstat.gc.count); stat_notice("minor count : %u #times", gcstat.minor_gc.count); stat_notice("minor time : "TIMEFMT" #sec (%4.2f%%), avg: %.6f sec", TIMEARG(gcstat.minor_gc.total_time), TIMEFLOAT(gcstat.minor_gc.total_time) / TIMEFLOAT(gcstat.exec_time) * 100.0f, TIMEFLOAT(gcstat.minor_gc.total_time) / (double)gcstat.minor_gc.count); #endif /* MINOR_GC */ #ifdef GCSTAT stat_notice("clear time : "TIMEFMT" #sec (%4.2f%%), avg: %.6f sec", TIMEARG(gcstat.gc.clear_time), TIMEFLOAT(gcstat.gc.clear_time) / TIMEFLOAT(gcstat.gc.total_time) * 100.0f, TIMEFLOAT(gcstat.gc.clear_time) / (double)gcstat.gc.count); stat_notice("total clear bytes :%10lu #bytes, avg:%8.2f bytes", gcstat.gc.total_clear_bytes, (double)gcstat.gc.total_clear_bytes / (double)gcstat.gc.count); stat_notice("total push count :%10lu #times, avg:%8.2f times", gcstat.gc.total_push_count, (double)gcstat.gc.total_push_count / (double)gcstat.gc.count); stat_notice("total trace count :%10lu #times, avg:%8.2f times", gcstat.gc.total_trace_count, (double)gcstat.gc.total_trace_count / (double)gcstat.gc.count); #ifdef MINOR_GC stat_notice("minor push count :%10lu #times, avg:%8.2f times", gcstat.minor_gc.total_push_count, (double)gcstat.minor_gc.total_push_count / (double)gcstat.minor_gc.count); stat_notice("minor trace count :%10lu #times, avg:%8.2f times", gcstat.minor_gc.total_trace_count, (double)gcstat.minor_gc.total_trace_count / (double)gcstat.minor_gc.count); #endif /* MINOR_GC */ stat_notice("total alloc count :%10lu #times", gcstat.total_alloc_count); if (gcstat.file) fclose(gcstat.file); #endif /* GCSTAT */ #endif /* GCSTAT || GCTIME */ } void * sml_heap_thread_init() { #ifdef MULTITHREAD return new_alloc_ptr_set(); #else return NULL; #endif /* MULTITHREAD */ } void sml_heap_thread_free(void *data ATTR_UNUSED) { #ifdef MULTITHREAD union alloc_ptr_set *ptr_set = (union alloc_ptr_set *)data; free_alloc_ptr_set(ptr_set); #endif /* MULTITHREAD */ } #ifdef MULTITHREAD void sml_heap_thread_stw_hook(void *data) { unsigned int i; union alloc_ptr_set *ptr_set = data; for (i = BLOCKSIZE_MIN_LOG2; i <= BLOCKSIZE_MAX_LOG2; i++) set_alloc_ptr(&ptr_set->alloc_ptr[i], NULL); } #endif /* MULTITHREAD */ static unsigned int stack_last; static void *stack_top = &stack_last; void stacklist(){ void *obj = stack_top; while (obj != &stack_last) { sml_notice("%p", obj); obj = obj_to_stack(obj)->next_obj; } } #ifdef GCSTAT #define GCSTAT_PUSH_COUNT() (gcstat.last.push_count++) #else #define GCSTAT_PUSH_COUNT() #endif /* GCSTAT */ #define OBJ_HAS_NO_POINTER(obj) \ (!(OBJ_TYPE(obj) & OBJTYPE_BOXED) \ || (OBJ_TYPE(obj) == OBJTYPE_RECORD \ && OBJ_BITMAP(obj)[0] == 0 \ && OBJ_NUM_BITMAPS(obj) == 1)) #if SEG_RANK == 3 #define MARKBIT(b, index, seg) do { \ ASSERT(BITPTR_INDEX((b), BITMAP0_BASE(seg)) == index); \ (seg)->live_count++; \ BITPTR_SET(b); \ if (~BITPTR_WORD(b) == 0U) { \ unsigned int index__ = (index) / BITPTR_WORDBITS; \ BITPTR_INIT(b, BITMAP_BASE(seg, 1), index__); \ BITPTR_SET(b); \ if (~BITPTR_WORD(b) == 0U) { \ index__ /= BITPTR_WORDBITS; \ BITPTR_INIT(b, BITMAP_BASE(seg, 2), index__); \ BITPTR_SET(b); \ } \ } \ } while(0) #else #define MARKBIT(b, index, seg) do { \ unsigned int index__ = (index); \ ASSERT(BITPTR_INDEX((b), BITMAP0_BASE(seg)) == index__); \ (seg)->live_count++; \ BITPTR_SET(b); \ if (~BITPTR_WORD(b) == 0U) { \ unsigned int i__; \ for(i__ = 1; i__ < SEG_RANK; i__++) { \ bitptr_t b__; \ index__ /= BITPTR_WORDBITS; \ BITPTR_INIT(b__, BITMAP_BASE(seg, i__), \ index__); \ BITPTR_SET(b__); \ if (~BITPTR_WORD(b__) != 0U) \ break; \ } \ } \ } while (0) #endif /* SEG_RANK == 3 */ #define STACK_IS_EMPTY() (stack_top == &stack_last) #define STACK_TOP() (stack_top == &stack_last ? NULL : stack_top) #define STACK_PUSH(obj, seg, index) do { \ GCSTAT_PUSH_COUNT(); \ ASSERT(OBJ_TO_SEGMENT(obj) == seg); \ ASSERT(OBJ_TO_INDEX(OBJ_TO_SEGMENT(obj), obj) == index); \ ASSERT((seg)->stack[index].next_obj == NULL); \ (seg)->stack[index].next_obj = stack_top, stack_top = (obj); \ } while (0) #define STACK_POP(topobj) do { \ struct segment *seg__ = OBJ_TO_SEGMENT(topobj); \ unsigned int index__ = OBJ_TO_INDEX(seg__, topobj); \ stack_top = seg__->stack[index__].next_obj; \ seg__->stack[index__].next_obj = NULL; \ } while (0) #ifdef MINOR_GC static void flush_stack() { void *obj; while ((obj = STACK_TOP())) STACK_POP(obj); } #endif /* MINOR_GC */ #ifdef MINOR_GC SML_PRIMITIVE void sml_write(void *objaddr, void **writeaddr, void *new_value) { struct segment *seg; size_t index; bitptr_t b; void *obj; *writeaddr = new_value; DBG(("objaddr=%p, writeaddr=%p (%p)", objaddr, writeaddr, *writeaddr)); #ifdef GCSTAT gcstat.last.barrier_count.called++; #endif /* GCSTAT */ if (!IS_IN_HEAP(writeaddr)) { sml_global_barrier(writeaddr, objaddr); if (!IS_IN_HEAP(new_value)) return; GIANT_LOCK(NULL); seg = OBJ_TO_SEGMENT(new_value); index = OBJ_TO_INDEX(seg, new_value); BITPTR_INIT(b, BITMAP0_BASE(seg), index); if (BITPTR_TEST(b)) { GIANT_UNLOCK(); return; } /* obj is young and is referenced from outside of heap. * it must be either marked or barriered. */ #ifdef GCSTAT gcstat.last.barrier_count.barriered++; #endif /* GCSTAT */ DBG(("BARRIER: %p", new_value)); MARKBIT(b, index, seg); STACK_PUSH(new_value, seg, index); GIANT_UNLOCK(); } else { GIANT_LOCK(NULL); /* objaddr is destructively updated. * if it is marked, it must be barriered. */ seg = OBJ_TO_SEGMENT(objaddr); index = OBJ_TO_INDEX(seg, objaddr); BITPTR_INIT(b, BITMAP0_BASE(seg), index); if (!BITPTR_TEST(b) || seg->stack[index].next_obj != NULL) { GIANT_UNLOCK(); return; } #ifdef GCSTAT gcstat.last.barrier_count.barriered++; #endif /* GCSTAT */ DBG(("BARRIER: %p", objaddr)); STACK_PUSH(objaddr, seg, index); GIANT_UNLOCK(); } } #else /* MINOR_GC */ SML_PRIMITIVE void sml_write(void *objaddr, void **writeaddr, void *new_value) { *writeaddr = new_value; if (!IS_IN_HEAP(writeaddr)) sml_global_barrier(writeaddr, objaddr); } #endif /* MINOR_GC */ static void push(void **block) { void *obj = *block; struct segment *seg; size_t index; bitptr_t b; if (!IS_IN_HEAP(obj)) { DBG(("%p at %p outside", obj, block)); if (obj != NULL) sml_trace_ptr(obj); return; } #ifdef GCSTAT gcstat.last.trace_count++; #endif /* GCSTAT */ seg = OBJ_TO_SEGMENT(obj); index = OBJ_TO_INDEX(seg, obj); BITPTR_INIT(b, BITMAP0_BASE(seg), index); if (BITPTR_TEST(b)) { DBG(("already marked: %p", obj)); return; } MARKBIT(b, index, seg); DBG(("MARK: %p", obj)); if (OBJ_HAS_NO_POINTER(obj)) { DBG(("EARLYMARK: %p", obj)); return; } STACK_PUSH(obj, seg, index); DBG(("PUSH: %p", obj)); } #ifdef MINOR_GC static void pop() { void *obj; while ((obj = STACK_TOP())) { DBG(("POP: %p", obj)); STACK_POP(obj); sml_obj_enum_ptr(obj, push); } } #endif /* MINOR_GC */ static void mark(void **block) { void *obj = *block; struct segment *seg; size_t index; bitptr_t b; ASSERT(STACK_TOP() == NULL); if (!IS_IN_HEAP(obj)) { DBG(("%p at %p outside", obj, block)); if (obj != NULL) sml_trace_ptr(obj); return; } #ifdef GCSTAT gcstat.last.trace_count++; #endif /* GCSTAT */ seg = OBJ_TO_SEGMENT(obj); index = OBJ_TO_INDEX(seg, obj); BITPTR_INIT(b, BITMAP0_BASE(seg), index); if (BITPTR_TEST(b)) { DBG(("already marked: %p", obj)); return; } MARKBIT(b, index, seg); DBG(("MARK: %p", obj)); if (OBJ_HAS_NO_POINTER(obj)) { DBG(("EARLYMARK: %p", obj)); return; } for (;;) { sml_obj_enum_ptr(obj, push); if (STACK_IS_EMPTY()) { DBG(("MARK END")); break; } obj = stack_top; STACK_POP(obj); DBG(("POP: %p", obj)); } } static void sweep() { unsigned int i; struct subheap *subheap; struct segment *seg; struct segment **filled_tail; struct segment *unfilled, **unfilled_tail; struct segment *free, **free_tail; ASSERT(GIANT_LOCKED()); /* * The order of segments in a sub-heap and the free list may be * significant for performace. * * Segments in the list should be ordered in allocation time order. * By keeping this order, mutator always tries to find a free block * at first from long-alived segments, which have long-life objects. * This storategy is good to gather long-life objects in one segment * as many as possible. * * Segments in the free list should be sorted by previous block size. * Smaller block size segment has larger bitmap, and any bitmap in * the free list are already cleared by collector. * By recycling smaller block size segment at first, we can avoid * memset of segment initialization as many as possible. */ free = NULL, free_tail = &free; for (i = BLOCKSIZE_MIN_LOG2; i <= BLOCKSIZE_MAX_LOG2; i++) { subheap = &global_subheaps[i]; filled_tail = &subheap->seglist; unfilled = NULL, unfilled_tail = &unfilled; for (seg = subheap->seglist; seg; seg = seg->next) { if (seg->live_count == seg->layout->num_blocks) { *filled_tail = seg; filled_tail = &seg->next; } else if (seg->live_count > 0) { *unfilled_tail = seg; unfilled_tail = &seg->next; } else { *free_tail = seg; free_tail = &seg->next; } } *filled_tail = unfilled; *unfilled_tail = NULL; subheap->unreserved = filled_tail; #ifdef MINOR_GC #if defined CONFIGURABLE_MINOR_COUNT || MINOR_COUNT > 0 subheap->minor_count = MINOR_COUNT; #endif /* MINOR_COUNT */ subheap->minor_space = subheap->unreserved; #endif /* MINOR_GC */ #ifndef MULTITHREAD set_alloc_ptr(&ALLOC_PTR_SET()->alloc_ptr[i], NULL); #endif /* MULTITHREAD */ } *free_tail = heap_space.freelist; heap_space.freelist = free; } #ifdef MINOR_GC static void sweep_minor() { unsigned int i; struct subheap *subheap; struct segment *seg; struct segment **filled_tail; struct segment *unfilled, **unfilled_tail; struct segment *free, **free_tail; ASSERT(GIANT_LOCKED()); free = NULL, free_tail = &free; for (i = BLOCKSIZE_MIN_LOG2; i <= BLOCKSIZE_MAX_LOG2; i++) { subheap = &global_subheaps[i]; /* initial filled_tail is different from sweep() */ filled_tail = subheap->minor_space; unfilled = NULL, unfilled_tail = &unfilled; for (seg = *subheap->minor_space; seg; seg = seg->next) { /* filled condition is different from sweep() */ if (seg->live_count >= seg->layout->minor_threshold) { *filled_tail = seg; filled_tail = &seg->next; } else if (seg->live_count > 0) { *unfilled_tail = seg; unfilled_tail = &seg->next; } else { *free_tail = seg; free_tail = &seg->next; } } *filled_tail = unfilled; *unfilled_tail = NULL; subheap->unreserved = filled_tail; #if defined CONFIGURABLE_MINOR_COUNT || MINOR_COUNT > 0 subheap->minor_count = MINOR_COUNT; #endif /* MINOR_COUNT */ subheap->minor_space = subheap->unreserved; #ifndef MULTITHREAD set_alloc_ptr(&ALLOC_PTR_SET()->alloc_ptr[i], NULL); #endif /* MULTITHREAD */ } *free_tail = heap_space.freelist; heap_space.freelist = free; } #endif /* MINOR_GC */ #if defined DEBUG && defined SURVIVAL_CHECK #include "splay.h" static struct { sml_obstack_t *nodes; sml_obstack_t *stack; sml_tree_t set; void *parent; } survival_check; static void * survive_alloc(size_t n) { return sml_obstack_alloc(&survival_check.nodes, n); } static int survive_cmp(void *x, void *y) { uintptr_t m = (uintptr_t)((void**)x)[0], n = (uintptr_t)((void**)y)[0]; if (m < n) return -1; else if (m > n) return 1; else return 0; } static void survive_trace(void **block) { void *key; void **p; if (*block == NULL) return; key = *block; if (sml_tree_find(&survival_check.set, &key) != NULL) return; p = survive_alloc(sizeof(void *) * 3); p[0] = *block, p[1] = survival_check.parent, p[2] = block; sml_tree_insert(&survival_check.set, p); p = sml_obstack_extend(&survival_check.stack, sizeof(void*)); *p = *block; } static void init_check_survival() { void **p; survival_check.nodes = NULL; survival_check.stack = NULL; survival_check.set.root = NULL; survival_check.set.cmp = survive_cmp; survival_check.set.alloc = survive_alloc; survival_check.set.free = NULL; survival_check.parent = NULL; sml_rootset_enum_ptr(survive_trace, TRY_MAJOR); while (survival_check.stack && sml_obstack_object_size(survival_check.stack) > 0) { p = (void**)sml_obstack_next_free(survival_check.stack) - 1; survival_check.parent = *p; sml_obstack_shrink(&survival_check.stack, p); sml_obj_enum_ptr(survival_check.parent, survive_trace); } sml_obstack_free(&survival_check.stack, NULL); } static unsigned int check_alive(struct segment *seg) { unsigned int i, bittest, livetest, count = 0; bitptr_t b; char *p; void *key; BITPTR_INIT(b, BITMAP0_BASE(seg), 0); p = BLOCK_BASE(seg); for (i = 0; i < seg->layout->num_blocks; i++) { bittest = (BITPTR_TEST(b) != 0); key = p; livetest = (sml_tree_find(&survival_check.set, &key) != NULL); ASSERT(bittest >= livetest); /* live but not marked! */ if (bittest > livetest) { DBG(("%p is not alive but marked", p)); count++; } BITPTR_INC(b); p += BLOCK_SIZE(seg); } return count; } static void check_survival() { unsigned int i, count = 0; struct segment *seg; for (i = BLOCKSIZE_MIN_LOG2; i <= BLOCKSIZE_MAX_LOG2; i++) { for (seg = global_subheaps[i].seglist; seg; seg = seg->next) count += check_alive(seg); } if (count > 0) sml_warn(0, "%u objects are not alive but marked.", count); sml_obstack_free(&survival_check.nodes, NULL); sml_obstack_free(&survival_check.stack, NULL); } /* for debugger */ void survival_ancestors(void *obj) { void **v; while (obj) { v = sml_tree_find(&survival_check.set, &obj); if (v == NULL) { sml_notice("*** abort ***"); return; } sml_notice("%p (= *%p)", v[0], v[2]); obj = v[1]; } } #endif /* DEBUG && SURVIVAL_CHECK */ static void do_gc(enum sml_gc_mode mode) { #ifdef GCSTAT sml_time_t cleartime, t; sml_timer_t b_cleared; #endif /* GCSTAT */ #ifdef GCTIME sml_timer_t b_start, b_end; sml_time_t gctime; struct gcstat_gc *gcstat_gc = &gcstat.gc; #ifdef MINOR_GC if (mode == MINOR) gcstat_gc = &gcstat.minor_gc; #endif /* MINOR_GC */ #endif /* GCTIME */ STOP_THE_WORLD(); #ifdef GCSTAT if (gcstat.verbose >= GCSTAT_VERBOSE_COUNT) { stat_notice("---"); stat_notice("event: start gc"); #ifdef MINOR_GC stat_notice("gc_type: %s", mode == MINOR ? "MINOR" : "MAJOR"); #endif /* MINOR_GC */ if (gcstat.last.trigger) stat_notice("trigger: %u", 1U << gcstat.last.trigger); print_alloc_count(); print_heap_occupancy(); } clear_last_counts(); #endif /* GCSTAT */ #if defined DEBUG && defined SURVIVAL_CHECK init_check_survival(); #endif /* DEBUG && SURVIVAL_CHECK */ DBG(("start gc")); #ifdef GCTIME gcstat_gc->count++; sml_timer_now(b_start); #endif /* GCTIME */ #ifdef MINOR_GC if (mode != MINOR) { flush_stack(); #endif /* MINOR_GC */ clear_all_bitmaps(); #ifdef MULTITHREAD destroy_free_ptr_list(); #endif /* MULTITHREAD */ #ifdef MINOR_GC } #endif /* MINOR_GC */ #ifdef GCSTAT sml_timer_now(b_cleared); #endif /* GCSTAT */ #ifdef MINOR_GC if (mode == MINOR) pop(); #endif /* MINOR_GC */ sml_rootset_enum_ptr(mark, mode); sml_malloc_pop_and_mark(mark, mode); #ifndef FAIR_COMPARISON /* check finalization */ sml_check_finalizer(mark, mode); #endif /* FAIR_COMPARISON */ #ifdef MINOR_GC if (mode == MINOR) sweep_minor(); else { #endif /* MINOR_GC */ sweep(); shrink_heap(1); #ifdef MINOR_GC } #endif /* MINOR_GC */ /* sweep malloc heap */ sml_malloc_sweep(mode); #ifdef GCTIME sml_timer_now(b_end); #endif /* GCTIME */ DBG(("gc finished.")); #ifdef DEBUG check_heap_consistent(); #if defined SURVIVAL_CHECK check_survival(); #endif /* SURVIVAL_CHECK */ scribble_subheaps(); #endif /* DEBUG */ #ifdef GCTIME sml_timer_dif(b_start, b_end, gctime); sml_time_accum(gctime, gcstat_gc->total_time); #endif /* GCTIME */ #ifdef GCSTAT #ifdef MINOR_GC if (mode != MINOR) { #endif /* MINOR_GC */ sml_timer_dif(b_start, b_cleared, cleartime); sml_time_accum(cleartime, gcstat_gc->clear_time); gcstat_gc->total_clear_bytes += gcstat.last.clear_bytes; #ifdef MINOR_GC } #endif /* MINOR_GC */ gcstat_gc->total_push_count += gcstat.last.push_count; gcstat_gc->total_trace_count += gcstat.last.trace_count; if (gcstat.verbose >= GCSTAT_VERBOSE_GC) { sml_timer_dif(gcstat.exec_begin, b_start, t); stat_notice("time: "TIMEFMT, TIMEARG(t)); stat_notice("---"); stat_notice("event: end gc"); #ifdef MINOR_GC stat_notice("gc_type: %s", mode == MINOR ? "MINOR" : "MAJOR"); #endif /* MINOR_GC */ sml_timer_dif(gcstat.exec_begin, b_end, t); stat_notice("time: "TIMEFMT, TIMEARG(t)); gcstat.last_probe_time = TIMEFLOAT(t); stat_notice("duration: "TIMEFMT, TIMEARG(gctime)); #ifdef MINOR_GC if (mode != MINOR) { #endif /* MINOR_GC */ stat_notice("clear_time: "TIMEFMT, TIMEARG(cleartime)); stat_notice("clear_bytes: %lu", gcstat.last.clear_bytes); #ifdef MINOR_GC } #endif /* MINOR_GC */ stat_notice("push: %u", gcstat.last.push_count); stat_notice("trace: %u", gcstat.last.trace_count); print_heap_occupancy(); } #endif /* GCSTAT */ RUN_THE_WORLD(); } void sml_heap_gc() { GIANT_LOCK(NULL); do_gc(MAJOR); GIANT_UNLOCK(); #ifndef FAIR_COMPARISON sml_run_finalizer(NULL); #endif /* FAIR_COMPARISON */ } #ifdef DEBUG static int check_newobj(void *obj) { struct alloc_ptr *ptr; struct segment *seg; size_t index; bitptr_t b, b2; unsigned int i; seg = OBJ_TO_SEGMENT(obj); ptr = &ALLOC_PTR_SET()->alloc_ptr[seg->blocksize_log2]; /* new object must belong to current segment. */ ASSERT(ALLOC_PTR_TO_SEGMENT(ptr) == seg); /* bit pointer boundary check */ ASSERT(BITMAP0_BASE(seg) <= ptr->freebit.ptr && ptr->freebit.ptr < BITMAP_LIMIT(seg, 0)); /* check index */ index = OBJ_TO_INDEX(seg, obj); ASSERT(BLOCK_BASE(seg) + (index << seg->blocksize_log2) == (char*)obj); /* object address boundary check */ ASSERT(index < seg->layout->num_blocks); /* bitmap check */ BITPTR_INIT(b, BITMAP0_BASE(seg), index); ASSERT(!BITPTR_TEST(b)); /* bitmap tree check */ for (i = 1; i < SEG_RANK; i++) { index /= BITPTR_WORDBITS; BITPTR_INIT(b2, BITMAP_BASE(seg, i), index); ASSERT((BITPTR_WORD(b) == ~0U) == (BITPTR_TEST(b2) != 0)); b2 = b; } return 1; } #endif /* DEBUG */ #ifdef GCSTAT static void gcstat_alloc_count(size_t offset, size_t size) { sml_timer_t b; sml_time_t t; gcstat.last.alloc_bytes += size; ((unsigned int*)&gcstat.last)[offset]++; if (gcstat.verbose < GCSTAT_VERBOSE_PROBE) return; sml_timer_now(b); sml_timer_dif(gcstat.exec_begin, b, t); if (gcstat.probe_interval > 0) { double f = TIMEFLOAT(t); if (gcstat.last_probe_time + gcstat.probe_interval > f) return; gcstat.last_probe_time = f; } else { if (gcstat.last.alloc_bytes < gcstat.probe_threshold) return; } stat_notice("---"); stat_notice("event: probe"); stat_notice("time: "TIMEFMT, TIMEARG(t)); print_alloc_count(); print_heap_occupancy(); clear_last_counts(); } #define GCSTAT_ALLOC_COUNT(counter, offset, size) \ gcstat_alloc_count((unsigned int*)&gcstat.last.alloc_count.counter \ - (unsigned int*)&gcstat.last + (offset), size) #define GCSTAT_TRIGGER(slogsize_log2) \ (gcstat.last.trigger = (blocksize_log2)) #define GCSTAT_COUNT_MOVE(counter1, counter2) \ (gcstat.last.alloc_count.counter1--, \ gcstat.last.alloc_count.counter2++) #else #define GCSTAT_ALLOC_COUNT(counter, offset, size) #define GCSTAT_TRIGGER(slogsize_log2) #define GCSTAT_COUNT_MOVE(counter1, counter2) #endif /* GCSTAT */ static NOINLINE void * find_bitmap(struct alloc_ptr *ptr) { unsigned int index; struct segment *seg; bitptr_t b = ptr->freebit; void *obj; #if SEG_RANK == 3 unsigned int *base0, *base1, *base2, *limit, *p; ASSERT(ptr->freebit.ptr != &dummy_bitmap); seg = ALLOC_PTR_TO_SEGMENT(ptr); base0 = BITMAP_BASE(seg, 0); BITPTR_NEXT(b); if (BITPTR_NEXT_FAILED(b)) { index = BITPTR_WORDINDEX(b, base0) + 1; base1 = BITMAP_BASE(seg, 1); BITPTR_INIT(b, base1, index); BITPTR_NEXT(b); if (BITPTR_NEXT_FAILED(b)) { index = BITPTR_WORDINDEX(b, base1) + 1; base2 = BITMAP_BASE(seg, 2); BITPTR_INIT(b, base2, index); BITPTR_NEXT(b); if (BITPTR_NEXT_FAILED(b)) { p = &BITPTR_WORD(b) + 1; limit = BITMAP_LIMIT(seg, SEG_RANK - 1); b = bitptr_linear_search(p, limit); if (BITPTR_NEXT_FAILED(b)) return NULL; } index = BITPTR_INDEX(b, base2); BITPTR_INIT(b, base1 + index, 0); BITPTR_NEXT(b); ASSERT(!BITPTR_NEXT_FAILED(b)); } index = BITPTR_INDEX(b, base1); BITPTR_INIT(b, base0 + index, 0); BITPTR_NEXT(b); ASSERT(!BITPTR_NEXT_FAILED(b)); } index = BITPTR_INDEX(b, base0); #else unsigned int i, *base, *limit, *p; ASSERT(ptr->freebit.ptr != &dummy_bitmap); seg = ALLOC_PTR_TO_SEGMENT(ptr); BITPTR_NEXT(b); base = BITMAP0_BASE(seg); if (BITPTR_NEXT_FAILED(b)) { for (i = 1;; i++) { if (i >= SEG_RANK) { p = &BITPTR_WORD(b) + 1; limit = BITMAP_LIMIT(seg, SEG_RANK - 1); b = bitptr_linear_search(p, limit); if (BITPTR_NEXT_FAILED(b)) return NULL; i = SEG_RANK - 1; break; } index = BITPTR_WORDINDEX(b, base) + 1; base = BITMAP_BASE(seg, i); BITPTR_INIT(b, base, index); BITPTR_NEXT(b); if (!BITPTR_NEXT_FAILED(b)) break; } do { index = BITPTR_INDEX(b, base); base = BITMAP_BASE(seg, --i); BITPTR_INIT(b, base + index, 0); BITPTR_NEXT(b); ASSERT(!BITPTR_NEXT_FAILED(b)); } while (i > 0); } index = BITPTR_INDEX(b, base); #endif /* SEG_RANK == 3 */ obj = BLOCK_BASE(seg) + (index << seg->blocksize_log2); ASSERT(OBJ_TO_SEGMENT(obj) == seg); GCSTAT_ALLOC_COUNT(find, seg->blocksize_log2, ptr->blocksize_bytes); BITPTR_INC(b); ptr->freebit = b; ptr->free = (char*)obj + ptr->blocksize_bytes; return obj; } static NOINLINE void * find_segment(struct alloc_ptr *ptr) { unsigned int blocksize_log2 = ALLOC_PTR_TO_BLOCKSIZE_LOG2(ptr); struct segment *seg; struct subheap *subheap = &global_subheaps[blocksize_log2]; void *obj; ASSERT(BLOCKSIZE_MIN_LOG2 <= blocksize_log2 && blocksize_log2 <= BLOCKSIZE_MAX_LOG2); #ifdef MINOR_GC #if defined CONFIGURABLE_MINOR_COUNT if (minor_count > 0 && subheap->minor_count-- == 0) return NULL; #elif MINOR_COUNT > 0 if (subheap->minor_count-- == 0) return NULL; #endif /* MINOR_COUNT > 0 */ #endif /* MINOR_GC */ UNRESERVED_NEXT(subheap->unreserved, seg); if (seg) { /* seg have at least one free block. */ set_alloc_ptr(ptr, seg); obj = find_bitmap(ptr); ASSERT(obj != NULL); GCSTAT_COUNT_MOVE(find[blocksize_log2], next[blocksize_log2]); return obj; } seg = new_segment(); if (seg) { init_segment(seg, blocksize_log2); UNRESERVED_APPEND(subheap->unreserved, seg); set_alloc_ptr(ptr, seg); ASSERT(!BITPTR_TEST(ptr->freebit)); GCSTAT_ALLOC_COUNT(new, blocksize_log2, ptr->blocksize_bytes); BITPTR_INC(ptr->freebit); obj = ptr->free; ptr->free += ptr->blocksize_bytes; return obj; } return NULL; } static NOINLINE void * fast_find_bitmap(struct alloc_ptr *ptr, unsigned int newmask) { unsigned int index; struct segment *seg = ALLOC_PTR_TO_SEGMENT(ptr); char *obj; ptr->freebit.mask = newmask; index = BITPTR_INDEX(ptr->freebit, BITMAP0_BASE(seg)); obj = BLOCK_BASE(seg) + (index << seg->blocksize_log2); BITPTR_INC(ptr->freebit); ptr->free = obj + ptr->blocksize_bytes; ASSERT(check_newobj(obj)); OBJ_HEADER(obj) = 0; return obj; } SML_PRIMITIVE void * sml_alloc(unsigned int objsize, void *frame_pointer) { size_t alloc_size; unsigned int blocksize_log2; struct alloc_ptr *ptr; void *obj; #ifdef GCSTAT gcstat.total_alloc_count++; #endif /* GCSTAT */ /* ensure that alloc_size is at least BLOCKSIZE_MIN. */ alloc_size = ALIGNSIZE(OBJ_HEADER_SIZE + objsize, BLOCKSIZE_MIN); if (alloc_size > BLOCKSIZE_MAX) { GCSTAT_ALLOC_COUNT(malloc, 0, alloc_size); sml_save_frame_pointer(frame_pointer); return sml_obj_malloc(alloc_size); } blocksize_log2 = CEIL_LOG2(alloc_size); ASSERT(BLOCKSIZE_MIN_LOG2 <= blocksize_log2 && blocksize_log2 <= BLOCKSIZE_MAX_LOG2); ptr = &ALLOC_PTR_SET()->alloc_ptr[blocksize_log2]; if (!BITPTR_TEST(ptr->freebit)) { GCSTAT_ALLOC_COUNT(fast, blocksize_log2, alloc_size); BITPTR_INC(ptr->freebit); obj = ptr->free; ptr->free += ptr->blocksize_bytes; goto alloced; } if (ptr->free != NULL) { unsigned int newmask; BITPTR_NEXT2(ptr->freebit, newmask); if (newmask != 0) { GCSTAT_ALLOC_COUNT(next, blocksize_log2, alloc_size); return fast_find_bitmap(ptr, newmask); } } sml_save_frame_pointer(frame_pointer); if (ptr->free != NULL) { obj = find_bitmap(ptr); if (obj) goto alloced; } obj = find_segment(ptr); if (obj) goto alloced; GIANT_LOCK(NULL); #ifdef MULTITHREAD obj = find_segment(ptr); if (obj) goto alloced_unlock; #endif /* MULTITHREAD */ #ifdef MINOR_GC GCSTAT_TRIGGER(blocksize_log2); do_gc(MINOR); obj = find_segment(ptr); if (obj) goto alloced_unlock; #endif /* MINOR_GC */ GCSTAT_TRIGGER(blocksize_log2); do_gc(MAJOR); obj = find_segment(ptr); if (obj) goto alloced_major; #ifndef FAIR_COMPARISON extend_heap(heap_space.extend_step); #endif /* FAIR_COMPARISON */ obj = find_segment(ptr); if (obj) goto alloced_major; #ifdef GCSTAT stat_notice("---"); stat_notice("event: error"); stat_notice("heap exceeded: intented to allocate %u bytes.", ptr->blocksize_bytes); if (gcstat.file) fclose(gcstat.file); #endif /* GCSTAT */ sml_fatal(0, "heap exceeded: intended to allocate %u bytes.", ptr->blocksize_bytes); alloced_major: ASSERT(check_newobj(obj)); GIANT_UNLOCK(); #ifndef FAIR_COMPARISON /* NOTE: sml_run_finalizer may cause garbage collection. */ obj = sml_run_finalizer(obj); #endif /* FAIR_COMPARISON */ goto finished; #if defined MULTITHREAD || defined MINOR_GC alloced_unlock: GIANT_UNLOCK(); #endif /* MULTITHREAD || MINOR_GC */ alloced: ASSERT(check_newobj(obj)); finished: #ifndef FAIR_COMPARISON OBJ_HEADER(obj) = 0; #endif /* FAIR_COMPARISON */ return obj; } smlsharp-1.2.0/src/runtime/heap_cheney.c0000644 000000000000000000004352712050661606020404 0ustar00rootroot0000000 0000000 /* * heap_cheney.c * @copyright (c) 2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: heap.c,v 1.10 2008/12/10 03:23:23 katsu Exp $ */ #include #include #include /*#define DEBUG_USE_MMAP*/ #if defined(DEBUG) && defined(DEBUG_USE_MMAP) #ifdef HAVE_CONFIG_H #include "config.h" #endif /* HAVE_CONFIG_H */ #if !defined(HAVE_CONFIG_H) || defined(HAVE_SYS_MMAN_H) #include #endif /* HAVE_SYS_MMAN_H */ #endif /* DEBUG && DEBUG_USE_MMAP */ #include "smlsharp.h" #include "object.h" #include "objspace.h" #include "heap.h" /*#define GCSTAT*/ /*#define GCTIME*/ #ifdef GCSTAT #define GCTIME #endif /* GCSTAT */ #if defined GCSTAT || defined GCTIME #include #include #include "timer.h" #endif /* GCSTAT || GCTIME */ #if defined GCSTAT || defined GCTIME static struct { FILE *file; size_t probe_threshold; unsigned int verbose; unsigned int count; sml_timer_t exec_begin, exec_end; sml_time_t exec_time; struct gcstat_gc { unsigned int count; sml_time_t total_time; unsigned long total_copy_bytes; unsigned long total_copy_count; unsigned long total_forward_count; } gc; struct { unsigned int trigger; unsigned int alloc_count; unsigned int forward_count; unsigned int copy_count; size_t alloc_bytes; size_t copy_bytes; } last; } gcstat; #define clear_last_counts() \ (memset(&gcstat.last, 0, sizeof(gcstat.last))) #define GCSTAT_VERBOSE_GC 10 #define GCSTAT_VERBOSE_COUNT 20 #define GCSTAT_VERBOSE_HEAP 30 #define GCSTAT_VERBOSE_PROBE 40 #define GCSTAT_VERBOSE_MAX 100 static void (*stat_notice)(const char *format, ...) ATTR_PRINTF(1, 2) = sml_notice; #ifdef GCSTAT static void gcstat_print(const char *fmt, ...) { va_list args; va_start(args, fmt); vfprintf(gcstat.file, fmt, args); fputs("\n", gcstat.file); va_end(args); } static void print_alloc_count() { if (gcstat.verbose < GCSTAT_VERBOSE_COUNT) return; stat_notice("count:"); if (gcstat.last.alloc_count != 0 || gcstat.last.alloc_bytes != 0) stat_notice(" from: {alloc: %u}", gcstat.last.alloc_count); } #endif /* GCSTAT */ #endif /* GCSTAT || GCTIME */ #ifdef GCSTAT #define GCSTAT_FORWARD_COUNT() (gcstat.last.forward_count++) #define GCSTAT_COPY_COUNT(size) \ (gcstat.last.copy_count++, gcstat.last.copy_bytes += (size)) #define GCSTAT_TRIGGER(size) (gcstat.last.trigger = (size)) #else #define GCSTAT_FORWARD_COUNT() #define GCSTAT_COPY_COUNT(size) #define GCSTAT_TRIGGER(size) #endif /* GCSTAT */ /* * Heap Space Layout: * * INITIAL_OFFSET * <--> * +----+--------------------------------+ * | | | * +----+--------------------------------+ * ^ ^ ^ ^ * base | free limit * | * start address of free. * * Allocation: * * heap_space.free always points to the free space for the next object. * inc must be aligned in MAXALIGN, i.e., rounded by HEAP_ROUND_SIZE. * * h : size of object header * size : total object size intended to be allocated. * inc = HEAP_ROUND_SIZE(size) * * |<---------------- inc ----------------->| * | | * | |<----------------- inc ---------------->| * | | | | * |<------------ size ------------>| | | * | | | | | * |<-h->| | |<-h->| * | | | | | * | MAXALIGN | | MAXALIGN * HEAP v v * -----+-----+--------------------------+-------+-----+---------- * |head1| obj1 | | | * -----+-----+--------------------------+-------+-----+---------- * ^ ^ * prev new * free free */ struct heap_space { char *free; char *limit; char *base; }; extern struct heap_space sml_heap_from_space; #define INITIAL_OFFSET ALIGNSIZE(OBJ_HEADER_SIZE, MAXALIGN) #define GC_FORWARDED_FLAG OBJ_GC1_MASK #define OBJ_FORWARDED OBJ_GC1 #define OBJ_FORWARD_PTR(obj) (*(void**)(obj)) #define IS_IN_HEAP_SPACE(heap_space, ptr) \ ((heap_space).base <= (char*)(ptr) \ && (char*)(ptr) < (heap_space).limit) /* For each object, its size must be enough to hold one forwarded pointer. */ #define HEAP_ALLOC_SIZE_MIN (OBJ_HEADER_SIZE + sizeof(void*)) #ifdef FAIR_COMPARISON #define HEAP_ROUND_SIZE(sz) \ ALIGNSIZE(sz, ALIGNSIZE(HEAP_ALLOC_SIZE_MIN, 8)) #else #define HEAP_ROUND_SIZE(sz) \ ALIGNSIZE(sz, ALIGNSIZE(HEAP_ALLOC_SIZE_MIN, MAXALIGN)) #endif /* FAIR_COMPARISON */ struct heap_space sml_heap_from_space = {0, 0, 0}; static struct heap_space sml_heap_to_space = {0, 0, 0}; static void heap_space_alloc(struct heap_space *heap, size_t size) { size_t pagesize = getpagesize(); size_t allocsize; void *page; allocsize = ALIGNSIZE(size, pagesize); #if defined(DEBUG) && defined(DEBUG_USE_MMAP) { static void *base = (void*)0x2000000; page = mmap(base, allocsize, PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE, -1, 0); base = (char*)base + 0x2000000; if (page == (void*)-1) sml_sysfatal("mmap"); } #else page = xmalloc(allocsize); #endif /* DEBUG && DEBUG_USE_MMAP */ heap->base = page; heap->limit = page + allocsize; } #if defined(DEBUG) && defined(DEBUG_USE_MMAP) static void heap_space_protect(struct heap_space *heap) { mprotect(heap->base, heap->limit - heap->base, 0); } static void heap_space_unprotect(struct heap_space *heap) { mprotect(heap->base, heap->limit - heap->base, PROT_READ | PROT_WRITE); } #else #define heap_space_protect(heap) ((void)0) #define heap_space_unprotect(heap) ((void)0) #endif /* DEBUG && DEBUG_USE_MMAP */ static void heap_space_swap() { struct heap_space tmp_space; tmp_space = sml_heap_from_space; sml_heap_from_space = sml_heap_to_space; sml_heap_to_space = tmp_space; } static void heap_space_free(struct heap_space *heap) { #if defined(DEBUG) && defined(DEBUG_USE_MMAP) munmap(heap->base, heap->limit - heap->base); #else free(heap->base); #endif /* DEBUG && DEBUG_USE_MMAP */ } static void heap_space_clear(struct heap_space *heap) { heap->free = heap->base + INITIAL_OFFSET; ASSERT(heap->free < heap->limit); #ifdef DEBUG memset(heap->base, 0x77, heap->limit - heap->base); #endif } static void heap_space_init(struct heap_space *heap, size_t size) { if (size < INITIAL_OFFSET) size = INITIAL_OFFSET; heap_space_alloc(heap, size); heap_space_clear(heap); } #define HEAP_START(h) ((h).base + INITIAL_OFFSET) #define HEAP_USED(h) ((size_t)((h).free - (h).base)) #define HEAP_REST(h) ((size_t)((h).limit - (h).free)) #define HEAP_TOTAL(h) ((size_t)((h).limit - HEAP_START(h))) #ifdef GCSTAT static size_t heap_filled(struct heap_space *heap, size_t *ret_bytes) { char *p = HEAP_START(*heap); size_t filled = 0, count = 0; while (p < heap->free) { count++; filled += OBJ_TOTAL_SIZE(p); p += HEAP_ROUND_SIZE(OBJ_TOTAL_SIZE(p)); } if (ret_bytes) *ret_bytes = filled; return count; } static void print_heap_occupancy() { size_t count, filled; if (gcstat.verbose < GCSTAT_VERBOSE_HEAP) return; stat_notice("heap:"); count = heap_filled(&sml_heap_to_space, &filled); stat_notice(" to:"); stat_notice(" - {filled: %lu, count: %lu, used: %lu}", (unsigned long)filled, (unsigned long)count, (unsigned long)HEAP_USED(sml_heap_to_space)); count = heap_filled(&sml_heap_from_space, &filled); stat_notice(" from:"); stat_notice(" - {filled: %lu, count: %lu, used: %lu}", (unsigned long)filled, (unsigned long)count, (unsigned long)HEAP_USED(sml_heap_from_space)); stat_notice(" # using %lu blocks, %lu / %lu bytes, occ %.2f %%", (unsigned long)count, (unsigned long)filled, (unsigned long) (sml_heap_to_space.limit - sml_heap_to_space.base) + (sml_heap_from_space.limit - sml_heap_from_space.base), (double)filled / ((sml_heap_to_space.limit - sml_heap_to_space.base) + (sml_heap_from_space.limit - sml_heap_from_space.base)) * 100.0); } #endif /* GCSTAT */ /* for debug */ void sml_heap_dump() { char *cur; unsigned int size, allocsize; sml_debug("from space : %p - %p\n", HEAP_START(sml_heap_from_space), sml_heap_from_space.limit); cur = HEAP_START(sml_heap_from_space); while (cur < sml_heap_from_space.free) { size = OBJ_TOTAL_SIZE(cur); allocsize = HEAP_ROUND_SIZE(size); sml_debug("%p : type=%08x, size=%u, total=%u, alloc=%u\n", cur, OBJ_TYPE(cur), OBJ_SIZE(cur), size, allocsize); cur += allocsize; } } void sml_heap_init(size_t size, size_t max_size ATTR_UNUSED) { size_t space_size; #ifdef GCSTAT const char *env; env = getenv("SMLSHARP_GCSTAT_FILE"); if (env) { gcstat.file = fopen(env, "w"); if (gcstat.file == NULL) { perror("sml_heap_init"); abort(); } stat_notice = gcstat_print; } env = getenv("SMLSHARP_GCSTAT_VERBOSE"); if (env) gcstat.verbose = strtol(env, NULL, 10); else gcstat.verbose = GCSTAT_VERBOSE_MAX; env = getenv("SMLSHARP_GCSTAT_PROBE"); if (env) { gcstat.probe_threshold = strtol(env, NULL, 10); if (gcstat.probe_threshold == 0) gcstat.probe_threshold = size; } else { gcstat.probe_threshold = 2 * 1024 * 1024; } #endif /* GCSTAT */ #ifdef GCTIME sml_timer_now(gcstat.exec_begin); #endif /* GCTIME */ space_size = size / 2; heap_space_init(&sml_heap_from_space, space_size); heap_space_init(&sml_heap_to_space, space_size); #ifdef GCSTAT stat_notice("---"); stat_notice("event: init"); stat_notice("time: 0.0"); stat_notice("heap_size: %lu", (unsigned long)size); stat_notice("config:"); stat_notice(" from: {size: %lu}", (unsigned long)HEAP_TOTAL(sml_heap_from_space)); stat_notice(" to: {size: %lu}", (unsigned long)HEAP_TOTAL(sml_heap_to_space)); stat_notice("counters:"); stat_notice(" heap: [alloc]"); print_heap_occupancy(); #endif /* GCSTAT */ } void sml_heap_free() { heap_space_free(&sml_heap_from_space); heap_space_free(&sml_heap_to_space); #ifdef GCTIME sml_timer_now(gcstat.exec_end); sml_timer_dif(gcstat.exec_begin, gcstat.exec_end, gcstat.exec_time); #endif /* GCTIME */ #if defined GCSTAT || defined GCTIME #ifdef GCSTAT stat_notice("---"); stat_notice("event: finish"); stat_notice("time: "TIMEFMT, TIMEARG(gcstat.exec_time)); print_alloc_count(); #endif /* GCSTAT */ stat_notice("exec time : "TIMEFMT" #sec", TIMEARG(gcstat.exec_time)); stat_notice("gc count : %u #times", gcstat.gc.count); stat_notice("gc time : "TIMEFMT" #sec (%4.2f%%), avg: %.6f sec", TIMEARG(gcstat.gc.total_time), TIMEFLOAT(gcstat.gc.total_time) / TIMEFLOAT(gcstat.exec_time) * 100.0f, TIMEFLOAT(gcstat.gc.total_time) / (double)gcstat.gc.count); #ifdef GCSTAT stat_notice("total copy bytes :%10lu #bytes, avg:%8.2f bytes", gcstat.gc.total_copy_bytes, (double)gcstat.gc.total_copy_bytes / (double)gcstat.gc.count); stat_notice("total copy count :%10lu #times, avg:%8.2f times", gcstat.gc.total_copy_count, (double)gcstat.gc.total_copy_count / (double)gcstat.gc.count); stat_notice("total forward count :%10lu #times, avg:%8.2f times", gcstat.gc.total_forward_count, (double)gcstat.gc.total_forward_count / (double)gcstat.gc.count); if (gcstat.file) fclose(gcstat.file); #endif /* GCSTAT */ #endif /* GCSTAT || GCTIME */ } void * sml_heap_thread_init() { return NULL; } void sml_heap_thread_free(void *heap ATTR_UNUSED) { } #ifdef MULTITHREAD void sml_heap_thread_stw_hook(void *data ATTR_UNUSED) { } #endif /* MULTITHREAD */ SML_PRIMITIVE void sml_write(void *objaddr, void **writeaddr, void *new_value) { *writeaddr = new_value; if (IS_IN_HEAP_SPACE(sml_heap_from_space, writeaddr)) return; ASSERT(!IS_IN_HEAP_SPACE(sml_heap_to_space, writeaddr)); ASSERT(!IS_IN_HEAP_SPACE(sml_heap_to_space, *writeaddr)); /* remember the writeaddr as a root pointer which is outside * of the heap. */ sml_global_barrier(writeaddr, objaddr); } static void forward(void **slot) { void *obj = *slot; size_t obj_size, alloc_size; void *newobj; if (!IS_IN_HEAP_SPACE(sml_heap_from_space, obj)) { DBG(("%p at %p outside", obj, slot)); ASSERT(!IS_IN_HEAP_SPACE(sml_heap_to_space, obj)); if (obj != NULL) sml_trace_ptr(obj); return; } if (OBJ_FORWARDED(obj)) { *slot = OBJ_FORWARD_PTR(obj); GCSTAT_FORWARD_COUNT(); DBG(("%p at %p forward -> %p", obj, slot, *slot)); return; } obj_size = OBJ_TOTAL_SIZE(obj); alloc_size = HEAP_ROUND_SIZE(obj_size); ASSERT(HEAP_REST(sml_heap_to_space) >= alloc_size); newobj = sml_heap_to_space.free; sml_heap_to_space.free += alloc_size; memcpy(&OBJ_HEADER(newobj), &OBJ_HEADER(obj), obj_size); GCSTAT_COPY_COUNT(obj_size); DBG(("%p at %p copy -> %p (%lu/%lu)", obj, slot, newobj, (unsigned long)obj_size, (unsigned long)alloc_size)); OBJ_HEADER(obj) |= GC_FORWARDED_FLAG; OBJ_FORWARD_PTR(obj) = newobj; *slot = newobj; } #define forward_children(obj) sml_obj_enum_ptr(obj, forward) static void forward_region(void *start) { char *cur = start; DBG(("%p - %p", start, sml_heap_to_space.free)); while (cur < sml_heap_to_space.free) { forward_children(cur); cur += HEAP_ROUND_SIZE(OBJ_TOTAL_SIZE(cur)); } } static void forward_deep(void **slot) { void *cur = sml_heap_to_space.free; forward(slot); forward_region(cur); } static void do_gc(void) { #ifdef GCTIME sml_timer_t b_start, b_end; sml_time_t gctime; #endif /* GCTIME */ #ifdef GCSTAT sml_time_t t; #endif /* GCSTAT */ STOP_THE_WORLD(); #ifdef GCSTAT if (gcstat.verbose >= GCSTAT_VERBOSE_COUNT) { stat_notice("---"); stat_notice("event: start gc"); stat_notice("trigger: %u", gcstat.last.trigger); print_alloc_count(); print_heap_occupancy(); } clear_last_counts(); #endif /* GCSTAT */ #ifdef GCTIME gcstat.gc.count++; sml_timer_now(b_start); #endif /* GCTIME */ heap_space_unprotect(&sml_heap_to_space); DBG(("start gc (%lu/%lu used) %p -> %p", (unsigned long)HEAP_USED(sml_heap_from_space), (unsigned long)HEAP_TOTAL(sml_heap_from_space), sml_heap_from_space.base, sml_heap_to_space.base)); sml_rootset_enum_ptr(forward, MAJOR); DBG(("copying root completed")); /* forward objects which are reachable from live objects. */ forward_region(HEAP_START(sml_heap_to_space)); sml_malloc_pop_and_mark(forward_deep, MAJOR); #ifndef FAIR_COMPARISON /* check finalization */ sml_check_finalizer(forward_deep, MAJOR); #endif /* FAIR_COMPARISON */ /* clear from-space, and swap two spaces. */ heap_space_clear(&sml_heap_from_space); heap_space_swap(); heap_space_protect(&sml_heap_to_space); /* sweep malloc heap */ sml_malloc_sweep(MAJOR); DBG(("gc finished. remain %lu bytes", (unsigned long)HEAP_USED(sml_heap_from_space))); #ifdef GCTIME sml_timer_now(b_end); #endif /* GCTIME */ #ifdef GCTIME sml_timer_dif(b_start, b_end, gctime); sml_time_accum(gctime, gcstat.gc.total_time); #endif /* GCTIME */ #ifdef GCSTAT gcstat.gc.total_copy_bytes += gcstat.last.copy_bytes; gcstat.gc.total_copy_count += gcstat.last.copy_count; gcstat.gc.total_forward_count += gcstat.last.forward_count; if (gcstat.verbose >= GCSTAT_VERBOSE_GC) { sml_timer_dif(gcstat.exec_begin, b_start, t); stat_notice("time: "TIMEFMT, TIMEARG(t)); stat_notice("---"); stat_notice("event: end gc"); sml_timer_dif(gcstat.exec_begin, b_end, t); stat_notice("time: "TIMEFMT, TIMEARG(t)); stat_notice("duration: "TIMEFMT, TIMEARG(gctime)); stat_notice("copy: %u", gcstat.last.copy_count); stat_notice("forward: %u", gcstat.last.forward_count); stat_notice("copy_bytes: %lu", (unsigned long)gcstat.last.copy_bytes); print_heap_occupancy(); } #endif /* GCSTAT */ RUN_THE_WORLD(); } void sml_heap_gc(void) { GIANT_LOCK(NULL); do_gc(); GIANT_UNLOCK(); #ifndef FAIR_COMPARISON sml_run_finalizer(NULL); #endif /* FAIR_COMPARISON */ } #ifdef GCSTAT static void sml_heap_alloced(size_t size) { sml_timer_t b; sml_time_t t; gcstat.last.alloc_bytes += size; if (gcstat.last.alloc_bytes > gcstat.probe_threshold && gcstat.verbose >= GCSTAT_VERBOSE_PROBE) { sml_timer_now(b); sml_timer_dif(gcstat.exec_begin, b, t); stat_notice("---"); stat_notice("event: probe"); stat_notice("time: "TIMEFMT, TIMEARG(t)); print_alloc_count(); print_heap_occupancy(); clear_last_counts(); } gcstat.last.alloc_count++; } #endif /* GCSTAT */ static NOINLINE void * slow_alloc(size_t obj_size) { void *obj; GCSTAT_TRIGGER(obj_size); do_gc(); if (HEAP_REST(sml_heap_from_space) >= obj_size) { obj = sml_heap_from_space.free; sml_heap_from_space.free += obj_size; #ifdef GC_STAT sml_heap_alloced(obj_size); #endif /* GC_STAT */ } else { #ifdef GCSTAT stat_notice("---"); stat_notice("event: error"); stat_notice("heap exceeded: intented to allocate %lu bytes.", (unsigned long)obj_size); if (gcstat.file) fclose(gcstat.file); #endif /* GCSTAT */ sml_fatal(0, "heap exceeded: intended to allocate %lu bytes.", (unsigned long)obj_size); } GIANT_UNLOCK(); #ifndef FAIR_COMPARISON obj = sml_run_finalizer(obj); #endif /* FAIR_COMPARISON */ return obj; } SML_PRIMITIVE void * sml_alloc(unsigned int objsize, void *frame_pointer) { /* objsize = payload_size + bitmap_size */ void *obj; size_t inc = HEAP_ROUND_SIZE(OBJ_HEADER_SIZE + objsize); #ifdef FAIR_COMPARISON if (inc > 4096) { sml_save_frame_pointer(frame_pointer); return sml_obj_malloc(inc); } #endif /* FAIR_COMPARISON */ GIANT_LOCK(frame_pointer); obj = sml_heap_from_space.free; if ((size_t)(sml_heap_from_space.limit - (char*)obj) >= inc) { sml_heap_from_space.free += inc; #ifdef GC_STAT sml_heap_alloced(inc); #endif /* GC_STAT */ GIANT_UNLOCK(); } else { sml_save_frame_pointer(frame_pointer); obj = slow_alloc(inc); } #ifndef FAIR_COMPARISON OBJ_HEADER(obj) = 0; #endif /* FAIR_COMPARISON */ return obj; } smlsharp-1.2.0/src/runtime/heap_malloc.c0000644 000000000000000000000216312050661606020367 0ustar00rootroot0000000 0000000 /* * heap_malloc.c - use malloc heap as a main heap. (for test use) * @copyright (c) 2010, Tohoku University. * @author UENO Katsuhiro */ #include "smlsharp.h" #include "objspace.h" #include "heap.h" void sml_heap_init(size_t size ATTR_UNUSED, size_t max_size ATTR_UNUSED) { } void sml_heap_free() { } void * sml_heap_thread_init() { return NULL; } void sml_heap_thread_free(void *heap ATTR_UNUSED) { } #ifdef MULTITHREAD void sml_heap_thread_stw_hook(void *data ATTR_UNUSED) { } #endif /* MULTITHREAD */ static void trace(void **slot) { sml_trace_ptr(*slot); } void sml_heap_gc() { GIANT_LOCK(NULL); STOP_THE_WORLD(); sml_rootset_enum_ptr(trace, MAJOR); sml_malloc_pop_and_mark(trace, MAJOR); sml_check_finalizer(trace, MAJOR); sml_malloc_sweep(MAJOR); RUN_THE_WORLD(); GIANT_UNLOCK(); sml_run_finalizer(NULL); } SML_PRIMITIVE void * sml_alloc(unsigned int objsize, void *frame_pointer) { sml_save_frame_pointer(frame_pointer); return sml_obj_malloc(objsize); } SML_PRIMITIVE void sml_write(void *objaddr, void **writeaddr, void *new_value) { *writeaddr = new_value; sml_global_barrier(writeaddr, objaddr); } smlsharp-1.2.0/src/runtime/heap_otomo.c0000644 000000000000000000012027712050661606020264 0ustar00rootroot0000000 0000000 /* * heap_otomo.c * @copyright (c) 2010, Tohoku University. * @author OTOMO Toshiaki * @version $Id: $ */ #include #include #include #include #include "smlsharp.h" #include "object.h" #include "objspace.h" #include "heap.h" #include "heap_otomo.h" #ifdef GCSTAT #define GCTIME #endif /* GCSTAT */ #if defined GCSTAT || defined GCTIME #include #include #include "timer.h" static struct { FILE *file; size_t probe_threshold; unsigned int verbose; sml_timer_t exec_begin, exec_end; sml_time_t exec_time; struct gcstat_gc { unsigned int count; sml_time_t total_time; sml_time_t clear_time; unsigned long total_clear_bytes; unsigned long total_trace_count; unsigned long total_push_count; } gc; struct { unsigned int trigger; struct { unsigned int fast[THE_NUMBER_OF_FIXED_BLOCK]; unsigned int find[THE_NUMBER_OF_FIXED_BLOCK]; unsigned int malloc; } alloc_count; unsigned int trace_count; unsigned int push_count; size_t alloc_bytes; size_t clear_bytes; } last; } gcstat; #define clear_last_counts() \ (memset(&gcstat.last, 0, sizeof(gcstat.last))) #define GCSTAT_VERBOSE_GC 10 #define GCSTAT_VERBOSE_COUNT 20 #define GCSTAT_VERBOSE_HEAP 30 #define GCSTAT_VERBOSE_PROBE 40 #define GCSTAT_VERBOSE_MAX 100 static void (*stat_notice)(const char *format, ...) ATTR_PRINTF(1, 2) = sml_notice; #if defined GCSTAT static void gcstat_print(const char *fmt, ...) { va_list args; va_start(args, fmt); vfprintf(gcstat.file, fmt, args); fputs("\n", gcstat.file); va_end(args); } static void print_alloc_count() { unsigned int i; if (gcstat.verbose < GCSTAT_VERBOSE_COUNT) return; stat_notice("count:"); for (i = 0; i < THE_NUMBER_OF_FIXED_BLOCK; i++) { if (gcstat.last.alloc_count.fast[i] != 0 || gcstat.last.alloc_count.find[i] != 0) stat_notice(" %lu: {fast: %u, find: %u}", (unsigned long)bitmap_info[i].block_size_bytes, gcstat.last.alloc_count.fast[i], gcstat.last.alloc_count.find[i]); } if (gcstat.last.alloc_count.malloc > 0) stat_notice(" other: {malloc: %u}", gcstat.last.alloc_count.malloc); } #endif /* GCSTAT */ #endif /* GCSTAT || GCTIME */ #define ALIGN ALIGNSIZE #define BITMAP_TYPE (sizeof(unsigned int)) #define SENTINEL BITMAP_TYPE #define CAL_BLOCK_COUNTS(total,size) \ (unsigned int)(total / (size + sizeof(void *) + 0.13)) #define CAL_TOTAL_SIZE(_bitmap_size, _block_counts, _block_size) \ ((_block_counts) * (_block_size) + \ ALIGN((_bitmap_size) + OBJ_HEADER_SIZE, MAXALIGN)) #define CAL_BITMAP_SIZE(_block_counts) \ (BITMAP_ROUND(_block_counts) * BITMAP_TYPE + \ (((_block_counts) & 0x01f)? 0 : SENTINEL)) #define CAL_BITMAP_SENTINEL_MASK(_block_counts) \ (0xffffffff << ((_block_counts) & 0x01f)) #define BITMAP_ROUND(sz) ((sz + 31) >> 5) struct bitmap_info_space bitmap_info[THE_NUMBER_OF_FIXED_BLOCK]; static struct heap_bitmap_space major_heap = {0,0,0}; struct marking_stack_space { void **top; void **bottom; void *limit; unsigned int size; }; static struct marking_stack_space marking_stack = {0,0,0,0}; const size_t block_size[THE_NUMBER_OF_FIXED_BLOCK][2] = { {8,3},{16,4},{32,5},{64,6},{128,7},{256,8}, {512,9},{1024,10},{2048,11},{4096,12} }; static struct heap_layout{ size_t block_counts; size_t bitmap_size[MAX_BITMAP_RANK+1]; unsigned int sentinel_mask[MAX_BITMAP_RANK+1]; size_t bitmap_and_tree_size; int rank; size_t total_size; }heap_layout[THE_NUMBER_OF_FIXED_BLOCK]={0}; #ifdef PRINT_ALLOC_TIME #include #include #include #define getRusage(tt_) do{ \ struct rusage t_; \ struct timeval tv_; \ getrusage(RUSAGE_SELF,&t_); \ tv_ = t_.ru_utime; \ (tt_) = (tv_.tv_sec + (double)(tv_.tv_usec) * 1e-6); \ }while(0) FILE *fp_at; size_t count_flag=0, count_alloc=0, count_alloc_another=0, count_gc=0, count_outside=0, count_not_mark=0, count_call_mark=0, live_max = 0, live_min = 0x7fffffff, live_all = 0, live_tmp = 0, arranged = 0; #ifdef GC_TIME int tmp_mark=0,tmp_alloc=0; #endif /* GC_TIME */ double all_time_bit_clear = 0.0, all_time_gc = 0.0, init_time = 0.0; void print_heap_layout(){ int i,j; fprintf(fp_at,"****** major heap layout ******\n"); fprintf(fp_at,"major heap base=%p, limit=%p, size=%u\n", major_heap.base,major_heap.limit,major_heap.size); fprintf(fp_at,"+++ bitmap address (upon termination) +++\n"); for(i=0;iblock_size_bytes, (bitmap_info+i)->block_size_log,(bitmap_info+i)->rank); fprintf(fp_at,"rate = %0.3f,block_counts=%u, bitmap_and_tree=%u, total=%u\n", print_info[i].rate, heap_layout[i].block_counts, heap_layout[i].bitmap_and_tree_size, heap_layout[i].total_size); fprintf(fp_at,"bitmap_size=%u",heap_layout[i].bitmap_size[0]); for(j=1;jbase); for(j=0;jtree[j]); fprintf(fp_at,"end=%p\n",(bitmap_info+i)->end); fprintf(fp_at," bitmap.cur=%p, bitmap.mask=%x\n",j,(bitmap_info+i)->bitmap.cur,j,(bitmap_info+i)->bitmap.mask); fprintf(fp_at,"obj_base=%p, next_obj=%p\n", (bitmap_info+i)->obj_base,(bitmap_info+i)->next_obj); fprintf(fp_at,"\n"); } fprintf(fp_at,"+++ marking stack +++\n"); fprintf(fp_at,"marking stack bottom=%p, top=%p, limit=%p, size=%u\n", marking_stack.bottom,marking_stack.top, marking_stack.limit,marking_stack.size); fprintf(fp_at,"*********************************\n"); } static void print_info_init() { int i,j; for(i=0;i> 1 & 0x55555555); \ (_bits) = ((_bits) & 0x33333333) + ((_bits) >> 2 & 0x33333333); \ (_bits) = ((_bits) & 0x0f0f0f0f) + ((_bits) >> 4 & 0x0f0f0f0f); \ (_bits) = ((_bits) & 0x00ff00ff) + ((_bits) >> 8 & 0x00ff00ff); \ (_bits) = ((_bits) & 0x0000ffff) + ((_bits) >>16 & 0x0000ffff); \ }while(0) #define IS_IN_HEAP_SPACE(ptr) \ ((char*)major_heap.base <= (char*)(ptr) \ && (char*)(ptr) < (char*)major_heap.limit) void heap_layout_init(size_t size) { int i,j; size_t tmp,tmp2; double rate[THE_NUMBER_OF_FIXED_BLOCK] = {0.15,0.25,0.25,0.15,0.05,0.05,0.025,0.025,0.025,0.025}; char *s,*e; long n; s = getenv("SMLSHARP_HEAPLAYOUT"); if(s) for(i=0;i 0) rate[i] = (double)n / 1000.0; #ifdef PRINT_ALLOC_TIME print_info[i].rate = rate[i]; #endif /* PRINT_ALLOC_TIME */ s++; } #ifdef PRINT_ALLOC_TIME else { for(i=0;(i>=5; j++; heap_layout[i].rank++; }while((tmp2 > 0)&&(heap_layout[i].rank < MAX_BITMAP_RANK)); heap_layout[i].total_size = CAL_TOTAL_SIZE(heap_layout[i].bitmap_and_tree_size, heap_layout[i].block_counts,block_size[i][0]); } } void bitmap_clear(struct bitmap_info_space *b_info,unsigned int index) { #ifndef NOT_CLEAR_BITMAP /* clear bitmap */ memset(b_info->base,0,heap_layout[index].bitmap_and_tree_size); #ifdef GCSTAT gcstat.last.clear_bytes += heap_layout[index].bitmap_and_tree_size; #endif /* GCSTAT */ #endif /* NOT_CLEAR_BITMAP */ /* clear bitptr */ CLEAR_BITPTR(b_info->bitmap, b_info->base); b_info->next_obj = b_info->obj_base; #ifdef UPPER b_info->alloc_bitmap_info = b_info; #endif /* UPPER */ int i; for(i=0;irank;i++) ((unsigned int *)b_info->tree[i])[-1] = heap_layout[index].sentinel_mask[i]; ((unsigned int *)b_info->end)[-1] = heap_layout[index].sentinel_mask[i]; } static void all_bitmaps_space_clear() { unsigned int i; for(i=0;iobj_base; bitptr b, b_end = b_info->bitmap; if (b_end.mask == 0) b_end.mask = ~0U; CLEAR_BITPTR(b, b_info->base); while (p < end) { if (b.cur < b_end.cur || (b.cur == b_end.cur && b.mask < b_end.mask) || TEST_BITPTR(b)) count++, filled += OBJ_TOTAL_SIZE(p); SUCC_BITPTR(b); p += b_info->block_size_bytes; } stat_notice(" %lu:", (unsigned long)b_info->block_size_bytes); stat_notice(" - {filled: %lu, count: %u, used: %u}", filled, count, count << bitmap_info[i].block_size_log); } } #endif /* GCSTAT */ static void heap_space_clear() { major_heap.limit = (char *)major_heap.base + major_heap.size; ASSERT(major_heap.base < major_heap.limit); } void * sml_heap_thread_init() { return NULL; } void sml_heap_thread_free(void *data ATTR_UNUSED) { } void sml_heap_init(size_t size, size_t max_size ATTR_UNUSED) { #ifdef PRINT_ALLOC_TIME arranged = size; double st; getRusage(st); #endif /* PRINT_ALLOC_TIME */ void *stack_bottom; #ifdef GCSTAT { const char *env; env = getenv("SMLSHARP_GCSTAT_FILE"); if (env) { gcstat.file = fopen(env, "w"); if (gcstat.file == NULL) { perror("sml_heap_init"); abort(); } stat_notice = gcstat_print; } env = getenv("SMLSHARP_GCSTAT_VERBOSE"); if (env) gcstat.verbose = strtol(env, NULL, 10); else gcstat.verbose = GCSTAT_VERBOSE_MAX; env = getenv("SMLSHARP_GCSTAT_PROBE"); if (env) { gcstat.probe_threshold = strtol(env, NULL, 10); if (gcstat.probe_threshold == 0) gcstat.probe_threshold = size; } else { gcstat.probe_threshold = 2 * 1024 * 1024; } } #endif /* GCSTAT */ #ifdef GCTIME sml_timer_now(gcstat.exec_begin); #endif /* GCTIME */ major_heap.base = xmalloc(size); major_heap.size = size; heap_space_clear(); stack_bottom = make_bitmap_information(size); if((char *)marking_stack_init(stack_bottom) >= (char *)major_heap.limit) sml_fatal(0,"heap size over"); DBG(("heap space init %p %p %u",major_heap.base,major_heap.limit,major_heap.size)); #ifdef PRINT_ALLOC_TIME double en; getRusage(en); init_time = (en - st); fp_at = stderr; if(fp_at == NULL) sml_fatal(0,"can not open print alloc file"); print_info_init(); #endif /* PRINT_ALLOC_TIME */ #ifdef GCSTAT { unsigned int i; stat_notice("---"); stat_notice("event: init"); stat_notice("time: 0.0"); stat_notice("heap_size: %lu", (unsigned long)size); stat_notice("config:"); for (i = 0; i < THE_NUMBER_OF_FIXED_BLOCK; i++) stat_notice(" %lu: {size: %lu, num_slots: %lu, bitmap_size: %lu}", (unsigned long)bitmap_info[i].block_size_bytes, (unsigned long)heap_layout[i].total_size, (unsigned long)heap_layout[i].block_counts, (unsigned long)heap_layout[i].bitmap_and_tree_size); stat_notice("stack_size: %lu", (unsigned long)marking_stack.size); stat_notice("counters:"); stat_notice(" heap: [fast, find, next, new]"); stat_notice(" other: [malloc]"); print_heap_occupancy(); } #endif /* GCSTAT */ } void sml_heap_free() { #ifdef PRINT_ALLOC_TIME print_and_close_file(); #endif /* PRINT_ALLOC_TIME */ free(major_heap.base); #ifdef GCTIME sml_timer_now(gcstat.exec_end); sml_timer_dif(gcstat.exec_begin, gcstat.exec_end, gcstat.exec_time); #endif /* GCTIME */ #if defined GCSTAT || defined GCTIME #ifdef GCSTAT stat_notice("---"); stat_notice("event: finish"); stat_notice("time: "TIMEFMT, TIMEARG(gcstat.exec_time)); print_alloc_count(); #endif /* GCSTAT */ stat_notice("exec time : "TIMEFMT" #sec", TIMEARG(gcstat.exec_time)); stat_notice("gc count : %u #times", gcstat.gc.count); stat_notice("gc time : "TIMEFMT" #sec (%4.2f%%)", TIMEARG(gcstat.gc.total_time), TIMEFLOAT(gcstat.gc.total_time) / TIMEFLOAT(gcstat.exec_time) * 100.0f); stat_notice("avg gc time : %.6f #sec", TIMEFLOAT(gcstat.gc.total_time) / (double)gcstat.gc.count); //#ifdef GCSTAT stat_notice("clear time : "TIMEFMT" #sec (%4.2f%%)", TIMEARG(gcstat.gc.clear_time), TIMEFLOAT(gcstat.gc.clear_time) / TIMEFLOAT(gcstat.gc.total_time) * 100.0f); stat_notice("avg clear time : %.6f #sec", TIMEFLOAT(gcstat.gc.clear_time) / (double)gcstat.gc.count); #ifdef GCSTAT if (gcstat.file) fclose(gcstat.file); #endif /* GCSTAT */ #endif /* GCSTAT || GCTIME */ } #ifdef MULTITHREAD void sml_heap_thread_stw_hook(void *data ATTR_UNUSED) { } #endif /* MULTITHREAD */ #define mark_children(obj) sml_obj_enum_ptr(obj, mark) #define FROM_HEAP_TO_BITMAP(info,p) \ ((unsigned int)((char *)(p) - ((char *)(info)->obj_base)) \ >> (info)->block_size_log) #ifdef PRINT_ALLOC_TIME /* * 64_obj_base * *<* / *>=* \ * 16 256 * / \ / \ * 8 32 128 4096 * / \ / \ / \ / \ * *out* *8* *16* *32* *64* *128* 1024 heap_limit * / \ / \ * 512 2048 *4096* *out* * / \ / \ * *256* *512* *1024* *2048* * */ #define MAPPING_HEAP_MARK(obj_,b_info_,slot,OUTSIDE) \ do{ \ if((obj_) < bitmap_info[3].obj_base) { \ if((obj_) < bitmap_info[1].obj_base) { \ if((obj_) < bitmap_info[0].obj_base) { \ count_outside++; \ DBG(("%p at %p outside", (obj_), slot)); \ OUTSIDE(obj_); \ } else \ (b_info_) = bitmap_info; \ } else { \ if((obj_) < bitmap_info[2].obj_base) \ (b_info_) = bitmap_info + 1; \ else (b_info_) = bitmap_info + 2; \ } \ } else { \ if((obj_) < bitmap_info[5].obj_base) { \ if((obj_) < bitmap_info[4].obj_base) \ (b_info_) = bitmap_info + 3; \ else (b_info_) = bitmap_info + 4; \ } else { \ if((obj_) < bitmap_info[9].obj_base) { \ if((obj_) < bitmap_info[7].obj_base) { \ if((obj_) < bitmap_info[6].obj_base) \ (b_info_) = bitmap_info + 5; \ else (b_info_) = bitmap_info + 6; \ } else { \ if((obj_) < bitmap_info[8].obj_base) \ (b_info_) = bitmap_info + 7; \ else (b_info_) = bitmap_info + 8; \ } \ } else { \ if((obj_) < major_heap.limit) \ (b_info_) = bitmap_info + 9; \ else { \ count_outside++; \ DBG(("%p at %p outside", (obj_), slot)); \ OUTSIDE(obj_); \ } \ } \ } \ } \ }while(0) #else /* PRINT_ALLOC_TIME */ #define MAPPING_HEAP_MARK(obj_,b_info_,slot,OUTSIDE) \ do{ \ if((obj_) < bitmap_info[3].obj_base) { \ if((obj_) < bitmap_info[1].obj_base) { \ if((obj_) < bitmap_info[0].obj_base) { \ DBG(("%p at %p outside", (obj_), slot)); \ OUTSIDE(obj_); \ } else \ (b_info_) = bitmap_info; \ } else { \ if((obj_) < bitmap_info[2].obj_base) \ (b_info_) = bitmap_info + 1; \ else (b_info_) = bitmap_info + 2; \ } \ } else { \ if((obj_) < bitmap_info[5].obj_base) { \ if((obj_) < bitmap_info[4].obj_base) \ (b_info_) = bitmap_info + 3; \ else (b_info_) = bitmap_info + 4; \ } else { \ if((obj_) < bitmap_info[9].obj_base) { \ if((obj_) < bitmap_info[7].obj_base) { \ if((obj_) < bitmap_info[6].obj_base) \ (b_info_) = bitmap_info + 5; \ else (b_info_) = bitmap_info + 6; \ } else { \ if((obj_) < bitmap_info[8].obj_base) \ (b_info_) = bitmap_info + 7; \ else (b_info_) = bitmap_info + 8; \ } \ } else { \ if((obj_) < (void *)marking_stack.bottom) \ (b_info_) = bitmap_info + 9; \ else { \ DBG(("%p at %p outside", (obj_), slot)); \ OUTSIDE(obj_); \ } \ } \ } \ } \ }while(0) #endif /* PRINT_ALLOC_TIME */ int sml_heap_check_obj(void*obj) { struct bitmap_info_space *b_info; #define OUTSIDE(obj) return 0; MAPPING_HEAP_MARK(obj,b_info,&obj,OUTSIDE); #undef OUTSIDE if (obj < b_info->obj_base) { DBG(("obj %p < obj_base %p", obj, b_info->obj_base)); return 0; } if(b_info != (bitmap_info + (THE_NUMBER_OF_FIXED_BLOCK-1))) { if (obj >= (b_info + 1)->base) { DBG(("obj %p >= (next block size).base%p", obj, (b_info + 1)->base)); return 0; } } else { if (obj >= (void *)marking_stack.bottom) { DBG(("obj %p >= marking_stack.bottom %p", obj, marking_stack.bottom)); return 0; } } return 1; } static int is_marked(void *obj) { struct bitmap_info_space *b_info; unsigned int tmp,tmp_index; unsigned int *tmp_bitmap; #define OUTSIDE(obj) return 0 MAPPING_HEAP_MARK(obj,b_info,&obj,OUTSIDE); #undef OUTSIDE tmp = FROM_HEAP_TO_BITMAP(b_info,obj); tmp_index = tmp >> 5; tmp_bitmap = (unsigned int *)b_info->base + tmp_index; tmp = (unsigned int)0x01 << (tmp & 0x0000001f); return (*tmp_bitmap & tmp); } static void mark(void **slot); static void trace_outside(void *obj) { if (obj != NULL) sml_trace_ptr(obj); } static void mark(void **slot) { struct bitmap_info_space *b_info; unsigned int obj_size, alloc_size; unsigned int tmp,tmp_index; unsigned int *tmp_bitmap; void *obj = *slot; #ifdef PRINT_ALLOC_TIME count_call_mark++; #endif /* PRINT_ALLOC_TIME */ #define OUTSIDE(obj) do{trace_outside(obj); return;}while(0) MAPPING_HEAP_MARK(obj,b_info,slot,OUTSIDE); #undef OUTSIDE //marked check and mark tmp = FROM_HEAP_TO_BITMAP(b_info,obj); tmp_index = tmp >> 5; tmp_bitmap = (unsigned int *)b_info->base + tmp_index; tmp = (unsigned int)0x01 << (tmp & 0x0000001f); #ifdef GCSTAT gcstat.last.trace_count++; #endif /* GCSTAT */ if(*tmp_bitmap & tmp) { DBG(("%p at %p already marked", obj, slot)); #ifdef PRINT_ALLOC_TIME count_not_mark++; #endif /* PRINT_ALLOC_TIME */ return; } *tmp_bitmap |= tmp; //mark //tree check unsigned int i; for(i=0;(*tmp_bitmap == 0xffffffff)&&(i < b_info->rank);i++){ tmp = ((unsigned int)0x01 << (tmp_index & 0x0000001f)); tmp_index >>= 5; tmp_bitmap = (unsigned int *)b_info->tree[i] + tmp_index; *tmp_bitmap |= tmp; } DBG(("%p at %p mark (%"PRIuMAX", %"PRIuMAX")", obj, slot, (intmax_t)obj_size, (intmax_t)alloc_size)); #ifdef PRINT_ALLOC_TIME print_info[b_info - bitmap_info].count_mark++; live_tmp += HEAP_ROUND_SIZE(OBJ_TOTAL_SIZE(obj)); #endif /* PRINT_ALLOC_TIME */ /* STACK_PUSH */ (*(marking_stack.top)) = obj; marking_stack.top++; #ifdef GCSTAT gcstat.last.push_count++; #endif /* GCSTAT */ } static void mark_all(void **slot) { mark(*slot); /* STACK POP */ while (marking_stack.bottom != marking_stack.top){ marking_stack.top--; mark_children((*(marking_stack.top))); } } static void bitmap_dump(struct bitmap_info_space *b_info) { unsigned int *tmp = (unsigned int *)b_info->base; sml_debug("bitmap dump start %p %u\n",b_info,b_info->block_size_log); while((char *)tmp < (char *)b_info->tree[0]) { sml_debug("%x",*tmp); tmp++; } sml_debug("tree dump\n"); while((char *)tmp < (char *)b_info->end) { sml_debug("%x",*tmp); tmp++; } sml_debug("bitmap dump end\n"); return; } static void all_bitmaps_dump() { unsigned int i; for(i=0;i= GCSTAT_VERBOSE_COUNT) { stat_notice("---"); stat_notice("event: start gc"); if (gcstat.last.trigger) stat_notice("trigger: %u", gcstat.last.trigger); print_alloc_count(); print_heap_occupancy(); } clear_last_counts(); #endif /* GCSTAT */ DBG(("start gc")); #ifdef GCTIME gcstat.gc.count++; sml_timer_now(b_start); #endif /* GCTIME */ #ifdef PRINT_ALLOC_TIME live_tmp = 0; count_gc++; double st; getRusage(st); #endif /* PRINT_ALLOC_TIME */ all_bitmaps_space_clear(); #ifdef GCTIME//GCSTAT sml_timer_now(b_cleared); #endif /* GCSTAT */ #ifdef PRINT_ALLOC_TIME double en; getRusage(en); all_time_bit_clear += (en - st); #endif /* PRINT_ALLOC_TIME */ /* mark root objects */ sml_rootset_enum_ptr(mark, MAJOR); DBG(("marking root objects completed")); /* STACK POP */ while (marking_stack.bottom != marking_stack.top){ marking_stack.top--; mark_children((*(marking_stack.top))); } sml_malloc_pop_and_mark(mark_all, MAJOR); DBG(("marking completed")); #ifdef CHECK clear_heap(); #endif /* CHECK */ #ifndef FAIR_COMPARISON /* check finalization */ sml_check_finalizer(mark_all, MAJOR); #endif /* FAIR_COMPARISON */ /* sweep malloc heap */ sml_malloc_sweep(MAJOR); #ifdef GCTIME sml_timer_now(b_end); #endif /* GCTIME */ DBG(("gc finished.")); #ifdef GCTIME sml_timer_dif(b_start, b_end, gctime); sml_time_accum(gctime, gcstat.gc.total_time); sml_timer_dif(b_start, b_cleared, cleartime); sml_time_accum(cleartime, gcstat.gc.clear_time); #endif #ifdef GCSTAT if (gcstat.verbose >= GCSTAT_VERBOSE_GC) { sml_timer_dif(gcstat.exec_begin, b_start, t); stat_notice("time: "TIMEFMT, TIMEARG(t)); stat_notice("---"); stat_notice("event: end gc"); sml_timer_dif(gcstat.exec_begin, b_end, t); stat_notice("time: "TIMEFMT, TIMEARG(t)); stat_notice("duration: "TIMEFMT, TIMEARG(gctime)); stat_notice("clear_time: "TIMEFMT, TIMEARG(cleartime)); stat_notice("clear_bytes: %lu", gcstat.last.clear_bytes); stat_notice("push: %u", gcstat.last.push_count); stat_notice("trace: %u", gcstat.last.trace_count); print_heap_occupancy(); } #endif /* GCSTAT */ #ifdef PRINT_ALLOC_TIME if(live_tmp > live_max) live_max = live_tmp; if(live_tmp < live_min) live_min = live_tmp; live_all += live_tmp; unsigned int i; for(i=0;i print_info[i].max_live) print_info[i].max_live = ((print_info[i].count_mark - print_info[i].tmp_mark) * print_info[i].block_size); print_info[i].tmp_mark=print_info[i].count_mark; } #endif /* PRINT_ALLOC_TIME */ #ifndef FAIR_COMPARISON /* start finalizers */ sml_run_finalizer(NULL); #endif /* FAIR_COMPARISON */ } #ifdef GCSTAT static void gcstat_alloc_count(unsigned int *counter, size_t size) { sml_timer_t b; sml_time_t t; gcstat.last.alloc_bytes += size; if (gcstat.last.alloc_bytes > gcstat.probe_threshold && gcstat.verbose >= GCSTAT_VERBOSE_PROBE) { sml_timer_now(b); sml_timer_dif(gcstat.exec_begin, b, t); stat_notice("---"); stat_notice("event: probe"); stat_notice("time: "TIMEFMT, TIMEARG(t)); print_alloc_count(); print_heap_occupancy(); clear_last_counts(); } (*counter)++; } void sml_heap_fast_alloced(struct bitmap_info_space *b_info) { gcstat_alloc_count(&gcstat.last.alloc_count.fast[b_info - bitmap_info], b_info->block_size_bytes); } void sml_heap_find_alloced(struct bitmap_info_space *b_info) { gcstat_alloc_count(&gcstat.last.alloc_count.find[b_info - bitmap_info], b_info->block_size_bytes); } void sml_heap_malloced(size_t size) { gcstat_alloc_count(&gcstat.last.alloc_count.malloc, size); } #endif /* GCSTAT */ int search_bitptr(struct bitmap_info_space *b_info) { #ifdef PRINT_ALLOC_TIME count_flag=0; #endif /* PRINT_ALLOC_TIME */ NEXT_AND_SET_BITPTR(b_info->bitmap); if(b_info->bitmap.mask == 0x0) { bitptr node; ALIGN_BITPTR(node,b_info->tree[0],b_info->bitmap,b_info->base); #ifdef PRINT_ALLOC_TIME count_flag = 1; #endif /* PRINT_ALLOC_TIME */ if(node.mask == 0x0) { if(b_info->rank == 1) return -1; bitptr node2; ALIGN_BITPTR(node2,b_info->tree[1],node,b_info->tree[0]); #ifdef PRINT_ALLOC_TIME count_flag = 2; #endif /* PRINT_ALLOC_TIME */ if(node2.mask == 0x0) { if(b_info->rank == 2) return -1; bitptr node3; ALIGN_BITPTR(node3,b_info->tree[2],node2,b_info->tree[1]); #ifdef PRINT_ALLOC_TIME count_flag = 3; #endif /* PRINT_ALLOC_TIME */ if(node3.mask == 0x0) { if(b_info->rank == 3) return -1; bitptr node4; ALIGN_BITPTR(node4,b_info->tree[3],node3,b_info->tree[2]); #ifdef PRINT_ALLOC_TIME count_flag = 4; #endif /* PRINT_ALLOC_TIME */ if(node4.mask == 0x0) { if(b_info->rank == 4) return -1; bitptr node5; ALIGN_BITPTR(node5,b_info->tree[4],node4,b_info->tree[3]); #ifdef PRINT_ALLOC_TIME count_flag = 5; #endif /* PRINT_ALLOC_TIME */ while(node5.mask == 0x0) //rank==5 { node5.cur++; if((char *)(node5.cur) >= (char *)(b_info->end)) return -1; NEXT_BITPTR(node5.mask,*(node5.cur)); } UPDATE_BITPTR(node4,b_info->tree[3],node5,b_info->tree[4]); } UPDATE_BITPTR(node3,b_info->tree[2],node4,b_info->tree[3]); } UPDATE_BITPTR(node2,b_info->tree[1],node3,b_info->tree[2]); } UPDATE_BITPTR(node,b_info->tree[0],node2,b_info->tree[1]); } UPDATE_BITPTR(b_info->bitmap,b_info->base,node,b_info->tree[0]); } #ifdef PRINT_ALLOC_TIME print_info[b_info - bitmap_info].count_search[count_flag + 1]++; #endif /* PRINT_ALLOC_TIME */ unsigned int tmp = b_info->bitmap.mask - 1; COUNT_BITS(tmp); b_info->next_obj = (char *)(b_info->obj_base) + ((((b_info->bitmap.cur - (unsigned int *)b_info->base) << 5) + tmp) << b_info->block_size_log); return 0; } void * heap_alloc(size_t alloc_size) { struct bitmap_info_space *b_info; void *obj; if(alloc_size > MAX_BLOCK_SIZE){ #ifdef PRINT_ALLOC_TIME obj = sml_obj_malloc(alloc_size); if(obj != NULL) { count_alloc++; count_alloc_another++; } return obj; #else /* PRINT_ALLOC_TIME */ #ifdef GCSTAT sml_heap_malloced(alloc_size); #endif /* GCSTAT */ return sml_obj_malloc(alloc_size); #endif /* PRINT_ALLOC_TIME */ } b_info = MAPPING_HEAP_ALLOC(alloc_size); #ifdef GCSTAT if(!TEST_BITPTR(b_info->bitmap)) sml_heap_fast_alloced(b_info); #endif /* GCSTAT */ if(TEST_BITPTR(b_info->bitmap)){ if(search_bitptr(b_info) == -1) return NULL; #ifdef GCSTAT sml_heap_find_alloced(b_info); #endif /* GCSTAT */ } #ifdef PRINT_ALLOC_TIME else{ print_info[b_info - bitmap_info].count_search[0]++; } print_info[b_info - bitmap_info].count_alloc++; count_alloc++; #endif /* PRINT_ALLOC_TIME */ obj = b_info->next_obj; DBG(("find %u %p %x %p",alloc_size,b_info->bitmap.cur,b_info->bitmap.mask,obj)); b_info->next_obj = (char *)(b_info->next_obj) + b_info->block_size_bytes; //SET_BITPTR(b_info->bitmap); SUCC_BITPTR(b_info->bitmap); return obj; } #ifdef UPPER #define MAPPING_HEAP_ALLOC_WITHOUT_UPPER(size_) \ ((size_ <= 16) ? \ ((size_ <= 8) ? bitmap_info : bitmap_info + 1 ) \ : ((size_ <= 32) ? bitmap_info + 2 \ : ((size_ <= 256) ? \ ((size_ <= 64) ? bitmap_info + 3 \ : ((size_ <= 128) ? bitmap_info + 4 : bitmap_info + 5 )) \ : ((size_ <= 1024) ? \ ((size_ <= 512) ? bitmap_info + 6 : bitmap_info + 7 ) \ : ((size_ <= 2048) ? bitmap_info + 8 : bitmap_info + 9))))) void * heap_alloc_with_upper(size_t alloc_size) { struct bitmap_info_space *b_info; void *obj; if(alloc_size > MAX_BLOCK_SIZE){ #ifdef PRINT_ALLOC_TIME obj = sml_obj_malloc(alloc_size); if(obj != NULL) { count_alloc++; count_alloc_another++; } return obj; #else /* PRINT_ALLOC_TIME */ return sml_obj_malloc(alloc_size); #endif /* PRINT_ALLOC_TIME */ } b_info = MAPPING_HEAP_ALLOC_WITHOUT_UPPER(alloc_size); while((bitmap_info + THE_NUMBER_OF_FIXED_BLOCK) > b_info) { #ifdef PRINT_ALLOC_TIME void * tmp_cur; unsigned int tmp_mask; tmp_cur = b_info->bitmap.cur; tmp_mask = b_info->bitmap.mask; #endif if((TEST_BITPTR(b_info->bitmap))&&(search_bitptr(b_info) == -1)) { b_info->alloc_bitmap_info++; b_info = b_info->alloc_bitmap_info; DBG(("upper %p %u",b_info,b_info->block_size_bytes)); } else { #ifdef PRINT_ALLOC_TIME if((tmp_cur == b_info->bitmap.cur)&&(tmp_mask == b_info->bitmap.mask)) print_info[b_info - bitmap_info].count_search[0]++; print_info[b_info - bitmap_info].count_alloc++; count_alloc++; #endif /* PRINT_ALLOC_TIME */ obj = b_info->next_obj; DBG(("find %u %p %x %p",alloc_size,b_info->bitmap.cur,b_info->bitmap.mask,obj)); b_info->next_obj = (char *)(b_info->next_obj) + b_info->block_size_bytes; //SET_BITPTR(b_info->bitmap); SUCC_BITPTR(b_info->bitmap); return obj; } } return NULL; } #endif /* UPPER */ void * sml_heap_slow_alloc(size_t alloc_size) { void *obj; #ifdef PRINT_ALLOC_TIME int i; for(i=0;i= alloc_size) { print_info[i].count_gc++; break; } } #ifdef GC_TIME tmp_mark = count_call_mark - count_not_mark - count_outside; #endif /* GC_TIME */ double st; getRusage(st); #endif /* PRINT_ALLOC_TIME */ #ifdef GCSTAT { struct bitmap_info_space *b_info = MAPPING_HEAP_ALLOC(alloc_size); gcstat.last.trigger = b_info->block_size_bytes; } #endif /* GCSTAT */ sml_heap_gc(); #ifdef PRINT_ALLOC_TIME double en; getRusage(en); all_time_gc += (en - st); #ifdef GC_TIME fprintf(fp_at,"gc %f mark %u live %u alloc %u invoke_size %u\n", (en - st), (count_call_mark - count_not_mark - count_outside)-tmp_mark, live_tmp,count_alloc - tmp_alloc, alloc_size); tmp_alloc = count_alloc; #endif /* GC_TIME */ #endif /* PRINT_ALLOC_TIME */ #ifndef UPPER obj = heap_alloc(alloc_size); #else /* UPPER */ obj = heap_alloc_with_upper(alloc_size); #endif /* UPPER */ if (obj == NULL) { DBG(("alloc failed")); #ifdef GCSTAT stat_notice("---"); stat_notice("event: error"); stat_notice("heap exceeded: intented to allocate %lu bytes.", (unsigned long)alloc_size); if (gcstat.file) fclose(gcstat.file); #endif /* GCSTAT */ sml_fatal(0, "heap exceeded: intended to allocate %"PRIuMAX" bytes", (intmax_t)alloc_size); } return obj; } SML_PRIMITIVE void sml_write(void *objaddr, void **writeaddr, void *new_value) { *writeaddr = new_value; #ifndef NOT_CLEAR_BITMAP if (IS_IN_HEAP_SPACE(writeaddr)) return; /* remember the writeaddr as a root pointer which is outside * of the heap. */ sml_global_barrier(writeaddr, objaddr); #else /* NOT_CLEAR_BITMAP */ struct bitmap_info_space *b_info; unsigned int obj_size, alloc_size; unsigned int tmp,tmp_index; unsigned int *tmp_bitmap; void *obj = *writeaddr; if (!(IS_IN_HEAP_SPACE(writeaddr))) sml_global_barrier(writeaddr, objaddr); #ifdef PRINT_ALLOC_TIME count_call_mark++; #endif /* PRINT_ALLOC_TIME */ #define OUTSIDE(obj) do{trace_outside(obj); return;}while(0) MAPPING_HEAP_MARK(obj,b_info,NULL,OUTSIDE); #undef OUTSIDE //marked check and mark tmp = FROM_HEAP_TO_BITMAP(b_info,obj); tmp_index = tmp >> 5; tmp_bitmap = (unsigned int *)b_info->base + tmp_index; tmp = (unsigned int)0x01 << (tmp & 0x0000001f); if(*tmp_bitmap & tmp) { DBG(("%p at %p already marked", obj, NULL)); #ifdef PRINT_ALLOC_TIME count_not_mark++; #endif /* PRINT_ALLOC_TIME */ return; } *tmp_bitmap |= tmp; //mark //tree check unsigned int i; for(i=0;(*tmp_bitmap == 0xffffffff)&&(i < b_info->rank);i++){ tmp = ((unsigned int)0x01 << (tmp_index & 0x0000001f)); tmp_index >>= 5; tmp_bitmap = (unsigned int *)b_info->tree[i] + tmp_index; *tmp_bitmap |= tmp; } DBG(("%p at %p mark (%"PRIuMAX", %"PRIuMAX")", obj, NULL, (intmax_t)obj_size, (intmax_t)alloc_size)); #ifdef PRINT_ALLOC_TIME print_info[b_info - bitmap_info].count_mark++; live_tmp += HEAP_ROUND_SIZE(OBJ_TOTAL_SIZE(obj)); #endif /* PRINT_ALLOC_TIME */ /* STACK_PUSH */ (*(marking_stack.top)) = obj; marking_stack.top++; #endif /* NOT_CLEAR_BITMAP */ } SML_PRIMITIVE void * sml_alloc(unsigned int objsize, void *frame_pointer) { /* objsize = payload_size + bitmap_size */ void *obj; size_t inc = HEAP_ROUND_SIZE(OBJ_HEADER_SIZE + objsize); GIANT_LOCK(frame_pointer); HEAP_FAST_ALLOC(obj, inc, (sml_save_frame_pointer(frame_pointer), sml_heap_slow_alloc(inc))); GIANT_UNLOCK(); OBJ_HEADER(obj) = 0; return obj; } smlsharp-1.2.0/src/runtime/heap_otomo.h0000644 000000000000000000002060212050661606020260 0ustar00rootroot0000000 0000000 #ifndef SMLSHARP__HEAP_OTOMO_H__ #define SMLSHARP__HEAP_OTOMO_H__ struct _bitptr{ unsigned int *cur; unsigned int mask; }; typedef struct _bitptr bitptr; #define THE_NUMBER_OF_FIXED_BLOCK 10 #define MAX_BITMAP_RANK 5 struct bitmap_info_space { #ifdef UPPER struct bitmap_info_space *alloc_bitmap_info; #endif /* UPPER */ bitptr bitmap; void *next_obj; void *base; void *end; void *tree[MAX_BITMAP_RANK]; int rank; void *obj_base; size_t block_size_log; size_t block_size_bytes; }; extern struct bitmap_info_space bitmap_info[THE_NUMBER_OF_FIXED_BLOCK]; struct heap_bitmap_space { void *base; void *limit; unsigned int size; }; /* Heap Space Layout: * * <----------- size ----------------> * +------------+---------+-----+-----------+---------------+ * |size 16 heap| size 32 | ... | size 8192 | stack area | * +------------+---------+-----+-----------+---------------+ * ^ ^ ^ * base (marking_stack.bottom) limit * */ /* Size X Heap Space Layout: * * HEADER_SIZE + OFFSET * <----- bitmap_size ----> <-> * +-------------+---------+---------+--------+---+---------------------+ * |bitmap leaf | tree[0] | tree[1] | ...... | | | * +-------------+---------+---------+--------+---+---------------------+ * ^ ^ ^ ^ ^ ^ ^ * base tree[0] tree[1] tree[2] end obj_base (next size base) * */ //extern struct heap_bitmap_space major_heap; #define CLEAR_BITPTR(bp,start) \ do{ \ (bp).mask = 0x01; \ (bp).cur = (start); \ }while(0) //#define SET_BITPTR(bp) ((*((bp).cur)) |= ((bp).mask)) #define TEST_BITPTR(bp) ((*((bp).cur)) & ((bp).mask)) #define SUCC_BITPTR(bp) \ do{ \ ((bp).mask) <<= 1; \ if((bp).mask == 0){ \ ((bp).cur)++; \ (bp).mask = 0x01; \ } \ }while(0); #define NEXT_BITPTR(mask,bitmap) ((mask) = ((~(bitmap)) & ((bitmap) + 1))) #define NEXT_AND_SET_BITPTR(bp) \ do{ \ unsigned int tmp = (*(bp.cur)) | ((bp).mask | ((bp).mask - 1)); \ NEXT_BITPTR((bp).mask,tmp); \ }while(0) // ALIGN with NEXT_AND_SET #define ALIGN_BITPTR(bp_h,base_h,bp_l,base_l) \ do{ \ unsigned int _tmp = ((bp_l).cur) - (unsigned int *)(base_l); \ (bp_h).cur = (unsigned int *)(base_h) + (_tmp >> 5); \ _tmp = (unsigned int)0x01 << (_tmp & 0x01f); \ _tmp = *((bp_h).cur) | (_tmp | (_tmp- 1)); \ NEXT_BITPTR((bp_h).mask,_tmp); \ }while(0) // UPDATE with NEXT #define UPDATE_BITPTR(bp_l,base_l,bp_u,base_u) \ do{ \ unsigned int _res = (bp_u).mask - 1; \ COUNT_BITS(_res); \ (bp_l).cur = (unsigned int *)(base_l) + \ (((bp_u).cur - (unsigned int *)(base_u)) << 5) + _res; \ NEXT_BITPTR((bp_l).mask,*((bp_l).cur)); \ }while(0) #define ALLOC_SIZE_MIN (OBJ_HEADER_SIZE + sizeof(void*)) //#define HEAP_ROUND_SIZE(sz) ALIGN(sz,ALIGN(ALLOC_SIZE_MIN, MAXALIGN)) #define HEAP_ROUND_SIZE(sz) (sz) //#define HEAP_ROUND_BLOCK_SIZE(sz,bsz) ALIGN(sz,bsz) int sml_heap_check_obj(void*); #ifdef PRINT_ALLOC_TIME struct print_info_space { unsigned int block_size; int rank; int count_alloc; int count_search[MAX_BITMAP_RANK+2]; int count_gc; int count_mark; int tmp_mark; int max_live; unsigned int total_size; double rate; }; struct print_info_space print_info[THE_NUMBER_OF_FIXED_BLOCK]; #endif /* PRINT_ALLOC_TIME */ //#define MIN_BLOCK_SIZE 8 #define MAX_BLOCK_SIZE 4096 //void *heap_alloc(size_t alloc_size); int search_bitptr(struct bitmap_info_space *b_info); /* * 16 * *<=* / *>* \ * 8 32 * / \ / \ * *8* *16* *32* 256 * / \ * 64 1024 * / \ / \ * *64* 128 512 2048 * / \ / \ / \ * *128* *256* *512* *1024* *2048* *4096* */ #ifndef UPPER #define MAPPING_HEAP_ALLOC(size_) \ ((size_ <= 16) ? \ ((size_ <= 8) ? bitmap_info : bitmap_info + 1 ) \ : ((size_ <= 32) ? bitmap_info + 2 \ : ((size_ <= 256) ? \ ((size_ <= 64) ? bitmap_info + 3 \ : ((size_ <= 128) ? bitmap_info + 4 : bitmap_info + 5 )) \ : ((size_ <= 1024) ? \ ((size_ <= 512) ? bitmap_info + 6 : bitmap_info + 7 ) \ : ((size_ <= 2048) ? bitmap_info + 8 : bitmap_info + 9))))) #else /* UPPER */ #define MAPPING_HEAP_ALLOC(size_) \ ((size_ <= 16) ? \ ((size_ <= 8) ? (bitmap_info)->alloc_bitmap_info \ : (bitmap_info+1)->alloc_bitmap_info) \ : ((size_ <= 32) ? (bitmap_info+2)->alloc_bitmap_info \ : ((size_ <= 256) ? \ ((size_ <= 64) ? (bitmap_info+3)->alloc_bitmap_info \ : ((size_ <= 128) ? (bitmap_info+4)->alloc_bitmap_info \ : (bitmap_info+5)->alloc_bitmap_info)) \ : ((size_ <= 1024) ? \ ((size_ <= 512) ? (bitmap_info+6)->alloc_bitmap_info \ : (bitmap_info+7)->alloc_bitmap_info) \ : ((size_ <= 2048) ? (bitmap_info+8)->alloc_bitmap_info \ : (bitmap_info+9)->alloc_bitmap_info))))) #endif /* UPPER */ #ifdef GCSTAT void sml_heap_fast_alloced(struct bitmap_info_space *); void sml_heap_find_alloced(struct bitmap_info_space *); void sml_heap_malloced(size_t); #define HEAP_IFGCSTAT(e) e #else #define HEAP_IFGCSTAT(e) #endif /* GCSTAT */ #ifdef PRINT_ALLOC_TIME extern size_t count_alloc,count_alloc_another; #define HEAP_FAST_ALLOC(obj__,size_,IFFAIL) \ do{ \ struct bitmap_info_space *b_info; \ \ /* ifdef PRINT_ALLOC_TIME */ \ void* tmp_cur; \ unsigned int tmp_mask; \ \ if(size_ > MAX_BLOCK_SIZE) { \ obj__ = sml_obj_malloc(size_); \ if(obj__ != NULL) { \ count_alloc++; \ count_alloc_another++; \ } \ } else { \ b_info = MAPPING_HEAP_ALLOC(size_); \ \ /* ifdef PRINT_ALLOC_TIME */ \ tmp_cur = b_info->bitmap.cur; \ tmp_mask = b_info->bitmap.mask; \ \ if((TEST_BITPTR(b_info->bitmap)) && \ (search_bitptr(b_info) == -1)) obj__ = IFFAIL; \ else { \ /* ifdef PRINT_ALLOC_TIME */ \ if((tmp_cur == b_info->bitmap.cur)&& \ (tmp_mask == b_info->bitmap.mask)) \ print_info[b_info - bitmap_info].count_search[0]++; \ \ print_info[b_info - bitmap_info].count_alloc++; \ count_alloc++; \ \ obj__ = b_info->next_obj; \ DBG(("find %u %p %x %p",size_, \ b_info->bitmap.cur,b_info->bitmap.mask,obj__)); \ \ b_info->next_obj = (char *)(b_info->next_obj) \ + b_info->block_size_bytes; \ /* SET_BITPTR(b_info->bitmap);*/ \ SUCC_BITPTR(b_info->bitmap); \ } \ ASSERT(sml_heap_check_obj(obj__)); \ } \ }while(0) #else /* PRINT_ALLOC_TIME */ #define HEAP_FAST_ALLOC(obj__,size_,IFFAIL) \ do{ \ struct bitmap_info_space *b_info; \ \ if(size_ > MAX_BLOCK_SIZE) { \ HEAP_IFGCSTAT(sml_heap_malloced(size_)); \ obj__ = sml_obj_malloc(size_); \ } else { \ HEAP_IFGCSTAT(unsigned int testbit__); \ b_info = MAPPING_HEAP_ALLOC(size_); \ \ HEAP_IFGCSTAT(testbit__ = TEST_BITPTR(b_info->bitmap)); \ if((TEST_BITPTR(b_info->bitmap)) && \ (search_bitptr(b_info) == -1)) obj__ = IFFAIL; \ else { \ HEAP_IFGCSTAT(testbit__ ? sml_heap_find_alloced(b_info) \ : sml_heap_fast_alloced(b_info)); \ obj__ = b_info->next_obj; \ DBG(("find %u %p %x %p",size_, \ b_info->bitmap.cur,b_info->bitmap.mask,obj__)); \ \ b_info->next_obj = (char *)(b_info->next_obj) \ + b_info->block_size_bytes; \ /* SET_BITPTR(b_info->bitmap); */ \ SUCC_BITPTR(b_info->bitmap); \ } \ ASSERT(sml_heap_check_obj(obj__)); \ } \ }while(0) #endif /* PRINT_ALLOC_TIME */ #endif /* SMLSHARP__HEAP_OTOMO_H */ smlsharp-1.2.0/src/runtime/heap_reppy.c0000644 000000000000000000007054012050661606020263 0ustar00rootroot0000000 0000000 /* * heap_reppy.c * @copyright (c) 2010, Tohoku University. * @author OTOMO Toshiaki * @author UENO Katsuhiro * * An implementation of generational copying GC described in * J. H. Reppy. * A high-performance garbage collector for Standard ML. * Technical report, AT&T Bell Laboratories Technical Memo, 1994. */ #include #include #include #include #if 0 #ifdef HAVE_CONFIG_H #include "config.h" #endif /* HAVE_CONFIG_H */ #if defined(HAVE_CONFIG_H) && defined(HAVE_SYS_MMAN_H) #include #endif /* HAVE_SYS_MMAN_H */ #endif #include #include "smlsharp.h" #include "object.h" #include "objspace.h" #include "heap.h" /*#define GCTIME*/ #ifdef GCSTAT #define GCTIME #endif /* GCSTAT */ #ifndef NUM_GENERATIONS #define NUM_GENERATIONS 5 #endif /* NUM_GENERATIONS */ #if defined GCSTAT || defined GCTIME #include #include #include "timer.h" #endif /* GCSTAT || GCTIME */ #if defined GCSTAT || defined GCTIME static struct { FILE *file; size_t probe_threshold; unsigned int verbose; unsigned int count; sml_timer_t exec_begin, exec_end; sml_time_t exec_time; struct gcstat_gc { unsigned int count; sml_time_t total_time; unsigned long total_copy_bytes; unsigned long total_copy_count; unsigned long total_forward_count; unsigned long total_promote_count; } gc; struct gcstat_gc minor_gc[NUM_GENERATIONS]; struct { unsigned int trigger; unsigned int alloc_count; struct { unsigned int called; unsigned int barriered; unsigned int already_barriered; } barrier_count; unsigned int forward_count; unsigned int copy_count; unsigned int promote_count; size_t alloc_bytes; size_t copy_bytes; } last; } gcstat; #define clear_last_counts() \ (memset(&gcstat.last, 0, sizeof(gcstat.last))) #define GCSTAT_VERBOSE_GC 10 #define GCSTAT_VERBOSE_COUNT 20 #define GCSTAT_VERBOSE_HEAP 30 #define GCSTAT_VERBOSE_PROBE 40 #define GCSTAT_VERBOSE_MAX 100 static void (*stat_notice)(const char *format, ...) ATTR_PRINTF(1, 2) = sml_notice; #ifdef GCSTAT static void gcstat_print(const char *fmt, ...) { va_list args; va_start(args, fmt); vfprintf(gcstat.file, fmt, args); fputs("\n", gcstat.file); va_end(args); } static void print_alloc_count() { if (gcstat.verbose < GCSTAT_VERBOSE_COUNT) return; stat_notice("count:"); if (gcstat.last.alloc_count != 0 || gcstat.last.alloc_bytes != 0) stat_notice(" from: {alloc: %u}", gcstat.last.alloc_count); if (gcstat.last.barrier_count.called > 0 || gcstat.last.barrier_count.barriered > 0) { stat_notice(" barrier: {called: %u, barriered: %u, already: %u}", gcstat.last.barrier_count.called, gcstat.last.barrier_count.barriered, gcstat.last.barrier_count.already_barriered ); } } #endif /* GCSTAT */ #endif /* GCSTAT || GCTIME */ #ifdef GCSTAT #define GCSTAT_PROMOTE_COUNT() (gcstat.last.promote_count++) #define GCSTAT_FORWARD_COUNT() (gcstat.last.forward_count++) #define GCSTAT_COPY_COUNT(size) \ (gcstat.last.copy_count++, gcstat.last.copy_bytes += (size)) #define GCSTAT_TRIGGER(size) (gcstat.last.trigger = (size)) #else #define GCSTAT_PROMOTE_COUNT() #define GCSTAT_FORWARD_COUNT() #define GCSTAT_COPY_COUNT(size) #define GCSTAT_TRIGGER(size) #endif /* GCSTAT */ struct heap_all_space { char *base; char *end; size_t all_size; size_t each_size; }; extern struct heap_all_space sml_heap_space; /* * Heap Space Layout: * * INITIAL_OFFSET * <--> * +----+------+--------------------------+------------+------+ * | | | | | | * +----+------+--------------------------+------------+------+ * ^ ^ ^ ^ ^ ^ ^ * base | | free limit top end * | water_mark(start address of free.) * start address of free(init). */ #define DEFAULT_REMEMBERSIZE (4 * 1024) struct heap_space { char *free; char *limit; char *water_mark; void ***top; char *base; char *end; }; extern struct heap_space sml_heap_from_space[NUM_GENERATIONS]; /* * Allocation: * * heap_space.free always points to the free space for the next object. * inc must be aligned in MAXALIGN, i.e., rounded by HEAP_ROUND_SIZE. * * h : size of object header * size : total object size intended to be allocated. * inc = HEAP_ROUND_SIZE(size) * * |<---------------- inc ----------------->| * | | * | |<----------------- inc ---------------->| * | | | | * |<------------ size ------------>| | | * | | | | | * |<-h->| | |<-h->| * | | | | | * | MAXALIGN | | MAXALIGN * HEAP v v * -----+-----+--------------------------+-------+-----+---------- * |head1| obj1 | | | * -----+-----+--------------------------+-------+-----+---------- * ^ ^ * prev new * free free */ /* For each object, its size must be enough to hold one forwarded pointer. */ #define HEAP_ALLOC_SIZE_MIN (OBJ_HEADER_SIZE + sizeof(void*)) #ifdef FAIR_COMPARISON #define HEAP_ROUND_SIZE(sz) \ ALIGNSIZE(sz, ALIGNSIZE(HEAP_ALLOC_SIZE_MIN, 8)) #else #define HEAP_ROUND_SIZE(sz) \ ALIGNSIZE(sz, ALIGNSIZE(HEAP_ALLOC_SIZE_MIN, MAXALIGN)) #endif /* FAIR_COMPARISON */ #define INITIAL_OFFSET ALIGNSIZE(OBJ_HEADER_SIZE, MAXALIGN) #define REMEMBER_FLAG OBJ_GC2_MASK #define OBJ_REMEMBERED OBJ_GC2 #define GC_FORWARDED_FLAG OBJ_GC1_MASK #define OBJ_FORWARDED OBJ_GC1 #define OBJ_FORWARD_PTR(obj) (*(void**)(obj)) #define IS_IN_SML_HEAP_SPACE(ptr) \ (sml_heap_space.base <= (char*)(ptr) \ && (char*)(ptr) < sml_heap_space.end) #define IS_IN_HEAP_SPACE(heap_space, ptr) \ ((heap_space).base <= (char*)(ptr) \ && (char*)(ptr) < (heap_space).limit) #define HOW_OLD(ptr) \ ((size_t)((char*)(ptr) - sml_heap_space.base) \ / sml_heap_space.each_size) #ifdef DEBUG int how_old(void *ptr) { return HOW_OLD(ptr); } #endif /* DEBUG */ #ifdef DEBUG static void heap_space_protect(struct heap_space *heap) { mprotect(heap->base, heap->end - heap->base, 0); } static void heap_space_unprotect(struct heap_space *heap) { mprotect(heap->base, heap->end - heap->base, PROT_READ | PROT_WRITE); } #else #define heap_space_protect(heap) ((void)0) #define heap_space_unprotect(heap) ((void)0) #endif /* DEBUG */ int search_rememberset(struct heap_space *heap,void**write) { void ***p; for(p=heap->top + 1;(char*)pend;p++) if(*p == write) return 1; return 0; } #define REMEMBERSET_PUSH(h,p) do{ \ if((char*)((h).top) > (h).limit) { \ *((h).top) = (p); \ (h).top = (h).top - 1;\ } else sml_fatal(0,"rememberset is over"); \ }while(0) struct heap_all_space sml_heap_space = {0,0,0,0}; struct heap_space sml_heap_from_space[NUM_GENERATIONS]; static struct heap_space sml_heap_to_space[NUM_GENERATIONS]; static size_t gc_level = 0; /* thread-local information */ struct sml_heap_thread { int dummy; }; #define HEAP_START(h) ((h).base + INITIAL_OFFSET) #define HEAP_USED(h) ((size_t)((h).free - (h).base)) #define HEAP_REST(h) ((size_t)((h).limit - (h).free)) #define HEAP_TOTAL(h) ((size_t)((h).limit - HEAP_START((h)))) #define HEAP_OLDER_OBJ(h) ((size_t)((h).water_mark - (h).base)) #ifdef GCSTAT static size_t heap_filled(struct heap_space *heap, size_t *ret_bytes) { char *p = HEAP_START(*heap); size_t filled = 0, count = 0; while (p < heap->free) { count++; filled += OBJ_TOTAL_SIZE(p); p += HEAP_ROUND_SIZE(OBJ_TOTAL_SIZE(p)); } if (ret_bytes) *ret_bytes = filled; return count; } static void print_heap_occupancy() { size_t count, filled; unsigned int i; if (gcstat.verbose < GCSTAT_VERBOSE_HEAP) return; stat_notice("heap:"); for(i=0;ifree = heap->base + INITIAL_OFFSET; heap->top = (void***)(heap->end - sizeof(void **)); heap->water_mark = heap->free; ASSERT(heap->free < heap->limit); ASSERT(heap->limit <= (char*)heap->top); #ifdef DEBUG memset(heap->base, 0x55, heap->end - heap->base); #endif } static void heap_space_init(struct heap_space *heap, size_t size, char *base, size_t rememberset_size) { heap->base = base; heap->end = (char*)heap->base + size; heap->limit = (char*)heap->end - rememberset_size; heap_space_clear(heap); } void sml_heap_init(size_t size, size_t maxsize ATTR_UNUSED) { int i; char *next_heap; size_t each_heap_size; size_t space_size; #ifdef GCSTAT const char *env; env = getenv("SMLSHARP_GCSTAT_FILE"); if (env) { gcstat.file = fopen(env, "w"); if (gcstat.file == NULL) { perror("sml_heap_init"); abort(); } stat_notice = gcstat_print; } env = getenv("SMLSHARP_GCSTAT_VERBOSE"); if (env) gcstat.verbose = strtol(env, NULL, 10); else gcstat.verbose = GCSTAT_VERBOSE_MAX; env = getenv("SMLSHARP_GCSTAT_PROBE"); if (env) { gcstat.probe_threshold = strtol(env, NULL, 10); if (gcstat.probe_threshold == 0) gcstat.probe_threshold = size; } else { gcstat.probe_threshold = 2 * 1024 * 1024; } #endif /* GCSTAT */ #ifdef GCTIME sml_timer_now(gcstat.exec_begin); #endif /* GCTIME */ char*s; long n; size_t rememberset_size = DEFAULT_REMEMBERSIZE; s = getenv("SMLSHARP_REMEMBERSIZE"); if (s) { n = strtol(s, NULL, 10); if (n > 0) rememberset_size = n; } rememberset_size = ALIGNSIZE(rememberset_size,sizeof(void**)); if(size < ((INITIAL_OFFSET + rememberset_size) * NUM_GENERATIONS * 2)) space_size = INITIAL_OFFSET * NUM_GENERATIONS * 2; else space_size = size; heap_space_alloc(space_size); each_heap_size = sml_heap_space.each_size / 2; next_heap = sml_heap_space.base; for(i=0;idummy = 0; return th; } void sml_heap_thread_free(void *p ATTR_UNUSED) { free(p); } SML_PRIMITIVE void sml_write(void *objaddr, void **writeaddr, void *new_value) { unsigned int slot_age, obj_age; #ifdef GCSTAT gcstat.last.barrier_count.called++; #endif /* GCSTAT */ *writeaddr = new_value; if(IS_IN_SML_HEAP_SPACE(writeaddr)) { if (IS_IN_SML_HEAP_SPACE(*writeaddr)) { slot_age = HOW_OLD(writeaddr); obj_age = HOW_OLD(*writeaddr); ASSERT(IS_IN_HEAP_SPACE(sml_heap_from_space[slot_age],writeaddr)); ASSERT(IS_IN_HEAP_SPACE(sml_heap_from_space[obj_age],*writeaddr)); if(slot_age > obj_age) { if(search_rememberset(sml_heap_from_space + obj_age,writeaddr) == 0) { #ifdef GCSTAT gcstat.last.barrier_count.barriered++; #endif /* GCSTAT */ REMEMBERSET_PUSH(sml_heap_from_space[obj_age],writeaddr); ASSERT(search_rememberset(sml_heap_from_space + obj_age,writeaddr)); } #ifdef GCSTAT else gcstat.last.barrier_count.already_barriered++; #endif /* GCSTAT */ } } } else sml_global_barrier(writeaddr, objaddr); } #if 0 static int obj_forwarded(void *obj) { return IS_IN_SML_HEAP_SPACE(obj) && OBJ_FORWARDED(obj); } #endif /* 0 */ static void forward(void **slot) { void *obj = *slot; size_t obj_size, alloc_size; unsigned int obj_age; void *newobj; if (!IS_IN_SML_HEAP_SPACE(obj)) { DBG(("%p at %p outside", obj, slot)); if (obj != NULL) sml_trace_ptr(obj); return; } obj_age = HOW_OLD(obj); if(obj_age > gc_level) return; if (OBJ_FORWARDED(obj)) { *slot = OBJ_FORWARD_PTR(obj); GCSTAT_FORWARD_COUNT(); DBG(("%p at %p forward -> %p", obj, slot, *slot)); return; } obj_size = OBJ_TOTAL_SIZE(obj); alloc_size = HEAP_ROUND_SIZE(obj_size); ASSERT(IS_IN_HEAP_SPACE(sml_heap_from_space[obj_age],obj)); ASSERT(sml_heap_to_space[obj_age].free >= (sml_heap_to_space[obj_age].base + INITIAL_OFFSET)); if(((char*)obj < sml_heap_from_space[obj_age].water_mark) && (obj_age < (NUM_GENERATIONS - 1))){ if((obj_age+1) > gc_level) { ASSERT(HEAP_REST(sml_heap_from_space[obj_age+1]) >= alloc_size); newobj = sml_heap_from_space[obj_age+1].free; sml_heap_from_space[obj_age+1].free += alloc_size; GCSTAT_PROMOTE_COUNT(); } else { newobj = sml_heap_to_space[obj_age+1].free; if((size_t)(sml_heap_to_space[obj_age+1].limit - (char*)newobj) < alloc_size) { ASSERT(HEAP_REST(sml_heap_to_space[obj_age]) >= alloc_size); newobj = sml_heap_to_space[obj_age].free; sml_heap_to_space[obj_age].free += alloc_size; } else { sml_heap_to_space[obj_age+1].free += alloc_size; GCSTAT_PROMOTE_COUNT(); } } } else { if(HEAP_REST(sml_heap_to_space[obj_age]) < alloc_size) sml_fatal(0,"heap is over"); newobj = sml_heap_to_space[obj_age].free; sml_heap_to_space[obj_age].free += alloc_size; } memcpy(&OBJ_HEADER(newobj), &OBJ_HEADER(obj), obj_size); /*size_t count; char tmp; for(count=0;count<=obj_size;count++) { tmp = *((char*)&OBJ_HEADER(obj)+count); *((char*)&OBJ_HEADER(newobj)+count)= tmp; }*/ GCSTAT_COPY_COUNT(obj_size); DBG(("%p at %p copy -> %p (%lu/%lu)", obj, slot, newobj, (unsigned long)obj_size, (unsigned long)alloc_size)); OBJ_HEADER(obj) |= GC_FORWARDED_FLAG; OBJ_FORWARD_PTR(obj) = newobj; *slot = newobj; } #define forward_children(obj) sml_obj_enum_ptr(obj, forward) #if 0 /* toDo */ static void forward_region(void *start,unsigned int age) { char *cur = start; DBG(("%p - %p", start, sml_heap_to_space[age].free)); while ((char*)cur < sml_heap_to_space[age].free) { forward_children(cur); cur += HEAP_ROUND_SIZE(OBJ_TOTAL_SIZE(cur)); } } /* toDo */ static void forward_deep(void **slot, void *data ATTR_UNUSED) { int i; for(i=gc_level;i>=0;i--){ void *cur = sml_heap_to_space[i].free; forward(slot); forward_region(cur,i); } } static const sml_trace_cls forward_deep_fn = forward_deep; #define forward_deep_cls ((sml_trace_cls*)&forward_deep_fn) #endif /* 0 */ static void forward2(void **slot) { unsigned int slot_age,obj_age; forward(slot); slot_age = HOW_OLD(slot); obj_age = HOW_OLD(*slot); if(slot_age > obj_age) REMEMBERSET_PUSH(sml_heap_to_space[obj_age],slot); } #define forward_children2(obj) sml_obj_enum_ptr(obj, forward2) static void nop(void **x ATTR_UNUSED) { /* no operation */ } static void do_gc(enum sml_gc_mode mode) { int i; void ***trace; unsigned int slot_age,obj_age; char *scan_start[NUM_GENERATIONS]; #ifdef GCTIME sml_timer_t b_start, b_end; sml_time_t gctime; #endif /* GCTIME */ #ifdef GCSTAT sml_time_t t; #endif /* GCSTAT */ STOP_THE_WORLD(); #ifdef GCSTAT if (gcstat.verbose >= GCSTAT_VERBOSE_COUNT) { stat_notice("---"); stat_notice("event: start gc"); stat_notice("trigger: %u", gcstat.last.trigger); print_alloc_count(); print_heap_occupancy(); } clear_last_counts(); #endif /* GCSTAT */ #ifdef GCTIME sml_timer_now(b_start); #endif /* GCTIME */ /* DBG(("start gc (%lu/%lu used) %p -> %p", (unsigned long)HEAP_USED(sml_heap_from_space), (unsigned long)HEAP_TOTAL(sml_heap_from_space), sml_heap_from_space.base, sml_heap_to_space.base)); */ if(mode == MINOR) { heap_space_unprotect(&sml_heap_to_space[0]); gc_level = 0; while((gc_level < (NUM_GENERATIONS-1)) && (HEAP_REST(sml_heap_from_space[gc_level+1]) <= HEAP_OLDER_OBJ(sml_heap_from_space[gc_level]))) { heap_space_unprotect(sml_heap_to_space + gc_level + 1); gc_level++; } if(gc_level < NUM_GENERATIONS-1) scan_start[gc_level+1] = sml_heap_from_space[gc_level+1].free; } else { gc_level = NUM_GENERATIONS-1; #ifdef DEBUG for(i=0;i=0;i--){ trace = (void***)sml_heap_from_space[i].end - 1; while((char*)trace > (char*)sml_heap_from_space[i].top) { slot_age = HOW_OLD(*trace); if((slot_age > gc_level) && (HOW_OLD(**trace) == i)){ forward(*trace); obj_age = HOW_OLD(**trace); if(i != obj_age) { ASSERT(obj_age == i+1); if(obj_age <= gc_level) REMEMBERSET_PUSH( sml_heap_to_space[obj_age], *trace); else { if((obj_age < NUM_GENERATIONS -1) && (search_rememberset(sml_heap_from_space + obj_age,*trace) == 0)) { REMEMBERSET_PUSH(sml_heap_from_space[obj_age],*trace); ASSERT(search_rememberset(sml_heap_from_space + obj_age,*trace)); } } } else REMEMBERSET_PUSH(sml_heap_to_space[i],*trace); } trace--; } } /* All pointer slots must be updated even if this is minor GC */ sml_rootset_enum_ptr(forward, MAJOR); if (gc_level < NUM_GENERATIONS - 1) { /* ignore remembered malloc objects but visit all pointers * in all malloc objects. */ sml_malloc_pop_and_mark(nop, MINOR); sml_malloc_enum_ptr(forward); } DBG(("copying root completed")); char *cur; /* forward objects which are reachable from live objects. */ unsigned int finish = 1; for(i=0;i<=gc_level;i++) scan_start[i] = HEAP_START(sml_heap_to_space[i]); do{ finish = 1; /* promoteã—ãŸã“ã¨ã«ã‚ˆã£ã¦gcã®å¯¾è±¡ã¨ãªã£ã¦ã„ãªã„from領域ã«ç§»å‹•ã™ã‚‹objãŒã‚る. ãれらをscanã™ã‚‹ï¼Ž */ if(gc_level < NUM_GENERATIONS -1) { if(scan_start[gc_level+1] != sml_heap_from_space[gc_level+1].free) { cur = scan_start[gc_level+1]; while ((char*)cur < sml_heap_from_space[gc_level+1].free) { forward_children2(cur); cur += HEAP_ROUND_SIZE(OBJ_TOTAL_SIZE(cur)); } finish = 0; scan_start[gc_level+1] = sml_heap_from_space[gc_level+1].free; } } for(i=gc_level;i>=0;i--){ if(scan_start[i] != sml_heap_to_space[i].free) { cur = scan_start[i]; while ((char*)cur < sml_heap_to_space[i].free) { forward_children2(cur); cur += HEAP_ROUND_SIZE(OBJ_TOTAL_SIZE(cur)); } finish = 0; scan_start[i] = sml_heap_to_space[i].free; } } finish &= !sml_malloc_pop_and_mark(forward, gc_level < NUM_GENERATIONS - 1 ? MINOR : MAJOR); }while(finish == 0); #ifndef FAIR_COMPARISON /* check finalization */ //toDo //sml_check_finalizer(MAJOR, obj_forwarded, forward_deep_cls); #endif /* FAIR_COMPARISON */ /* clear from-space, and swap two spaces. */ for(i=0;i<=gc_level;i++) { heap_space_clear(&sml_heap_from_space[i]); heap_space_swap(i); heap_space_protect(sml_heap_to_space + i); } #ifdef DEBUG if(gc_level < (NUM_GENERATIONS - 1)) { heap_space_protect(sml_heap_to_space + gc_level + 1); } #endif /* DEBUG */ for(i=0;i<=(gc_level+1);i++) sml_heap_from_space[i].water_mark = sml_heap_from_space[i].free; /* sweep malloc heap */ if(gc_level == (NUM_GENERATIONS - 1)) sml_malloc_sweep(MAJOR); DBG(("gc finished. remain %lu bytes", (unsigned long)HEAP_USED(sml_heap_from_space[0]))); #ifdef GCTIME sml_timer_now(b_end); #endif /* GCTIME */ RUN_THE_WORLD(); #ifdef GCTIME sml_timer_dif(b_start, b_end, gctime); sml_time_accum(gctime, gcstat.minor_gc[gc_level].total_time); #endif /* GCTIME */ #ifdef GCSTAT gcstat.gc.total_copy_bytes += gcstat.last.copy_bytes; gcstat.gc.total_copy_count += gcstat.last.copy_count; gcstat.gc.total_forward_count += gcstat.last.forward_count; gcstat.gc.total_promote_count += gcstat.last.promote_count; if (gcstat.verbose >= GCSTAT_VERBOSE_GC) { sml_timer_dif(gcstat.exec_begin, b_start, t); stat_notice("time: "TIMEFMT, TIMEARG(t)); stat_notice("---"); stat_notice("event: end gc"); stat_notice("gc_level: %u",gc_level); sml_timer_dif(gcstat.exec_begin, b_end, t); stat_notice("time: "TIMEFMT, TIMEARG(t)); stat_notice("duration: "TIMEFMT, TIMEARG(gctime)); stat_notice("copy: %u", gcstat.last.copy_count); stat_notice("forward: %u", gcstat.last.forward_count); stat_notice("copy_bytes: %lu", (unsigned long)gcstat.last.copy_bytes); stat_notice("promote: %u", gcstat.last.forward_count); print_heap_occupancy(); } #endif /* GCSTAT */ #ifndef FAIR_COMPARISON /* start finalizers */ //sml_run_finalizer(); #endif /* FAIR_COMPARISON */ } void sml_heap_gc(void) { do_gc(MAJOR); } #ifdef GCSTAT void sml_heap_alloced(size_t size) { sml_timer_t b; sml_time_t t; gcstat.last.alloc_bytes += size; if (gcstat.last.alloc_bytes > gcstat.probe_threshold && gcstat.verbose >= GCSTAT_VERBOSE_PROBE) { sml_timer_now(b); sml_timer_dif(gcstat.exec_begin, b, t); stat_notice("---"); stat_notice("event: probe"); stat_notice("time: "TIMEFMT, TIMEARG(t)); print_alloc_count(); print_heap_occupancy(); clear_last_counts(); } gcstat.last.alloc_count++; } #endif /* GCSTAT */ #if 0 void heap_print(int flag) { size_t i; if(flag == 0) fprintf(stderr,"\n initial \n"); else if(flag == 0) fprintf(stderr,"\n before gc\n"); else fprintf(stderr,"\n after gc\n"); fprintf(stderr,"\n*****************************\n"); fprintf(stderr,"sml_heap_space base=%p, end=%p, all_size=%u, each_heap_size=%u\n", sml_heap_space.base,sml_heap_space.end, sml_heap_space.all_size,sml_heap_space.each_size); for(i=0;i= obj_size) { obj = sml_heap_from_space[0].free; sml_heap_from_space[0].free += obj_size; #ifdef GC_STAT sml_heap_alloced(obj_size); #endif /* GC_STAT */ } else { #ifdef GCSTAT stat_notice("---"); stat_notice("event: error"); stat_notice("heap exceeded: intented to allocate %lu bytes.", (unsigned long)obj_size); if (gcstat.file) fclose(gcstat.file); #endif /* GCSTAT */ sml_fatal(0, "heap exceeded: intended to allocate %lu bytes.", (unsigned long)obj_size); } GIANT_UNLOCK(); return obj; } SML_PRIMITIVE void * sml_alloc(unsigned int objsize, void *frame_pointer) { /* objsize = payload_size + bitmap_size */ void *obj; size_t inc = HEAP_ROUND_SIZE(OBJ_HEADER_SIZE + objsize); #ifdef FAIR_COMPARISON if (inc > 4096) { sml_save_frame_pointer(frame_pointer); return sml_obj_malloc(inc); } #endif /* FAIR_COMPARISON */ GIANT_LOCK(frame_pointer); obj = sml_heap_from_space[0].free; if ((size_t)(sml_heap_from_space[0].limit - (char*)obj) >= inc) { sml_heap_from_space[0].free += inc; #ifdef GC_STAT sml_heap_alloced(inc); #endif /* GC_STAT */ GIANT_UNLOCK(); } else { sml_save_frame_pointer(frame_pointer); obj = slow_alloc(inc); } #ifndef FAIR_COMPARISON OBJ_HEADER(obj) = 0; #endif /* FAIR_COMPARISON */ return obj; } smlsharp-1.2.0/src/runtime/init.c0000644 000000000000000000000316012050661606017064 0ustar00rootroot0000000 0000000 /** * init.c * @copyright (c) 2007-2009, Tohoku University. * @author UENO Katsuhiro * @version $Id: $ */ #include #include "smlsharp.h" #include "objspace.h" #include "control.h" #include "heap.h" int sml_argc; char **sml_argv; #define DEFAULT_HEAPSIZE_MIN (32 * 1024 * 1024) #define DEFAULT_HEAPSIZE_MAX (256 * 1024 * 1024) static size_t parse_size(const char *src, char **next) { char *p; long n; double f; size_t r; n = strtol(src, &p, 10); if (n < 0) p = (char*)src; f = (*p == '.') ? strtod(p, &p) : 0.0; switch (*p) { case 'G': p++; r = 1024 * 1024 * 1024; break; case 'M': p++; r = 1024 * 1024; break; case 'k': p++; r = 1024; break; default: r = 1; } if (next) *next = p; return r * n + r * f; } static void parse_heapsize(const char *src, size_t *min_ret, size_t *max_ret) { char *p; size_t min, max; min = parse_size(src, &p); if (p == src) min = *min_ret; if (*p == ':') max = parse_size(p + 1, &p); else max = min; if (max < min) max = min; if (*p == '\0' && p > src) *min_ret = min, *max_ret = max; } void sml_init(int argc, char **argv) { char *s; size_t heapsize_min, heapsize_max; sml_argc = argc; sml_argv = argv; heapsize_min = DEFAULT_HEAPSIZE_MIN; heapsize_max = DEFAULT_HEAPSIZE_MAX; s = getenv("SMLSHARP_HEAPSIZE"); if (s) parse_heapsize(s, &heapsize_min, &heapsize_max); s = getenv("SMLSHARP_VERBOSE"); if (s) sml_set_verbose(strtol(s, NULL, 10)); sml_control_init(); sml_heap_init(heapsize_min, heapsize_max); sml_objspace_init(); } void sml_finish() { sml_objspace_free(); sml_heap_free(); sml_control_free(); } smlsharp-1.2.0/src/runtime/intinf.h0000644 000000000000000000000414512050661606017421 0ustar00rootroot0000000 0000000 /** * intinf.h * @copyright (c) 2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: intinf.h,v 1.2 2008/02/08 05:17:57 katsu Exp $ */ #ifndef SMLSHARP__INTINF_H__ #define SMLSHARP__INTINF_H__ #include struct sml_intinf { mpz_t value; }; #define sml_intinf_init(v) mpz_init((v)->value) #define sml_intinf_clear(v) mpz_clear((v)->value) #define sml_intinf_set(v,s) mpz_set((v)->value, (s)->value) #define sml_intinf_set_str(v,s,b) mpz_set_str((v)->value, (s), (b)) #define sml_intinf_set_si(v,n) mpz_set_si((v)->value, (n)) #define sml_intinf_set_ui(v,n) mpz_set_ui((v)->value, (n)) #define sml_intinf_size(v,b) mpz_sizeinbase((v)->value, (b)) #define sml_intinf_fmt(v,b) mpz_get_str(NULL, (b), (v)->value) #define sml_intinf_get_si(v) mpz_get_si((v)->value) #define sml_intinf_get_ui(v) mpz_get_ui((v)->value) #define sml_intinf_abs(z,x) mpz_abs((z)->value, (x)->value) #define sml_intinf_add(z,x,y) mpz_add((z)->value, (x)->value, (y)->value) #define sml_intinf_sub(z,x,y) mpz_sub((z)->value, (x)->value, (y)->value) #define sml_intinf_neg(z,x) mpz_neg((z)->value, (x)->value) #define sml_intinf_mul(z,x,y) mpz_mul((z)->value, (x)->value, (y)->value) #define sml_intinf_div(z,x,y) mpz_fdiv_q((z)->value, (x)->value, (y)->value) #define sml_intinf_mod(z,x,y) mpz_fdiv_r((z)->value, (x)->value, (y)->value) #define sml_intinf_quot(z,x,y) mpz_tdiv_q((z)->value, (x)->value, (y)->value) #define sml_intinf_rem(z,x,y) mpz_tdiv_r((z)->value, (x)->value, (y)->value) #define sml_intinf_ior(z,x,y) mpz_ior((z)->value, (x)->value, (y)->value) #define sml_intinf_xor(z,x,y) mpz_xor((z)->value, (x)->value, (y)->value) #define sml_intinf_and(z,x,y) mpz_and((z)->value, (x)->value, (y)->value) #define sml_intinf_com(z,x) mpz_com((z)->value, (x)->value) #define sml_intinf_pow(z,x,y) mpz_pow_ui((z)->value, (x)->value, (y)) #define sml_intinf_log2(z) (mpz_sizeinbase((z)->value, 2) - 1) #define sml_intinf_cmp(x,y) mpz_cmp((x)->value, (y)->value) #define sml_intinf_sign(x) mpz_sgn((x)->value) #endif /* SMLSHARP__INTINF_H__ */ smlsharp-1.2.0/src/runtime/livestat.rb0000644 000000000000000000000342012050661606020134 0ustar00rootroot0000000 0000000 #!/usr/bin/ruby require 'gcstat' class Array def sum inject(0) { |z,i| z += i } end def avg sum.to_f / size end end print < #include "smlsharp.h" /* entry point of SML# object file. */ void SMLmain(void); int main(int argc, char **argv) { sml_init(argc, argv); #if 0 __asm__ volatile ("movl $0xaa55aa55, %%eax\n\t" "subl $0x4000, %%esp\n\t" "movl %%esp, %%edi\n\t" "movl $0x4000, %%ecx\n\t" "cld\n\t" "rep\n\t" "stosb\n\t" "addl $0x4000, %%esp\n\t" : : : "edi", "eax", "ecx", "cc", "memory"); #endif SMLmain(); sml_finish(); return 0; } smlsharp-1.2.0/src/runtime/netlib0000755 000000000000000000000000012050661606017153 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/runtime/netlib/dtoa.c0000644 000000000000000000025305012050661606020332 0ustar00rootroot0000000 0000000 /**************************************************************** * * The author of this software is David M. Gay. * * Copyright (c) 1991, 2000, 2001 by Lucent Technologies. * * Permission to use, copy, modify, and distribute this software for any * purpose without fee is hereby granted, provided that this entire notice * is included in all copies of any software which is or includes a copy * or modification of this software and in all copies of the supporting * documentation for such software. * * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED * WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR LUCENT MAKES ANY * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. * ***************************************************************/ /* Please send bug reports to David M. Gay (dmg at acm dot org, * with " at " changed at "@" and " dot " changed to "."). */ /* On a machine with IEEE extended-precision registers, it is * necessary to specify double-precision (53-bit) rounding precision * before invoking strtod or dtoa. If the machine uses (the equivalent * of) Intel 80x87 arithmetic, the call * _control87(PC_53, MCW_PC); * does this with many compilers. Whether this or another call is * appropriate depends on the compiler; for this to work, it may be * necessary to #include "float.h" or another system-dependent header * file. */ /* strtod for IEEE-, VAX-, and IBM-arithmetic machines. * * This strtod returns a nearest machine number to the input decimal * string (or sets errno to ERANGE). With IEEE arithmetic, ties are * broken by the IEEE round-even rule. Otherwise ties are broken by * biased rounding (add half and chop). * * Inspired loosely by William D. Clinger's paper "How to Read Floating * Point Numbers Accurately" [Proc. ACM SIGPLAN '90, pp. 92-101]. * * Modifications: * * 1. We only require IEEE, IBM, or VAX double-precision * arithmetic (not IEEE double-extended). * 2. We get by with floating-point arithmetic in a case that * Clinger missed -- when we're computing d * 10^n * for a small integer d and the integer n is not too * much larger than 22 (the maximum integer k for which * we can represent 10^k exactly), we may be able to * compute (d*10^k) * 10^(e-k) with just one roundoff. * 3. Rather than a bit-at-a-time adjustment of the binary * result in the hard case, we use floating-point * arithmetic to determine the adjustment to within * one bit; only in really hard cases do we need to * compute a second residual. * 4. Because of 3., we don't need a large table of powers of 10 * for ten-to-e (just some small tables, e.g. of 10^k * for 0 <= k <= 22). */ /* * #define IEEE_8087 for IEEE-arithmetic machines where the least * significant byte has the lowest address. * #define IEEE_MC68k for IEEE-arithmetic machines where the most * significant byte has the lowest address. * #define Long int on machines with 32-bit ints and 64-bit longs. * #define IBM for IBM mainframe-style floating-point arithmetic. * #define VAX for VAX-style floating-point arithmetic (D_floating). * #define No_leftright to omit left-right logic in fast floating-point * computation of dtoa. * #define Honor_FLT_ROUNDS if FLT_ROUNDS can assume the values 2 or 3 * and strtod and dtoa should round accordingly. Unless Trust_FLT_ROUNDS * is also #defined, fegetround() will be queried for the rounding mode. * Note that both FLT_ROUNDS and fegetround() are specified by the C99 * standard (and are specified to be consistent, with fesetround() * affecting the value of FLT_ROUNDS), but that some (Linux) systems * do not work correctly in this regard, so using fegetround() is more * portable than using FLT_FOUNDS directly. * #define Check_FLT_ROUNDS if FLT_ROUNDS can assume the values 2 or 3 * and Honor_FLT_ROUNDS is not #defined. * #define RND_PRODQUOT to use rnd_prod and rnd_quot (assembly routines * that use extended-precision instructions to compute rounded * products and quotients) with IBM. * #define ROUND_BIASED for IEEE-format with biased rounding. * #define Inaccurate_Divide for IEEE-format with correctly rounded * products but inaccurate quotients, e.g., for Intel i860. * #define NO_LONG_LONG on machines that do not have a "long long" * integer type (of >= 64 bits). On such machines, you can * #define Just_16 to store 16 bits per 32-bit Long when doing * high-precision integer arithmetic. Whether this speeds things * up or slows things down depends on the machine and the number * being converted. If long long is available and the name is * something other than "long long", #define Llong to be the name, * and if "unsigned Llong" does not work as an unsigned version of * Llong, #define #ULLong to be the corresponding unsigned type. * #define KR_headers for old-style C function headers. * #define Bad_float_h if your system lacks a float.h or if it does not * define some or all of DBL_DIG, DBL_MAX_10_EXP, DBL_MAX_EXP, * FLT_RADIX, FLT_ROUNDS, and DBL_MAX. * #define MALLOC your_malloc, where your_malloc(n) acts like malloc(n) * if memory is available and otherwise does something you deem * appropriate. If MALLOC is undefined, malloc will be invoked * directly -- and assumed always to succeed. Similarly, if you * want something other than the system's free() to be called to * recycle memory acquired from MALLOC, #define FREE to be the * name of the alternate routine. (FREE or free is only called in * pathological cases, e.g., in a dtoa call after a dtoa return in * mode 3 with thousands of digits requested.) * #define Omit_Private_Memory to omit logic (added Jan. 1998) for making * memory allocations from a private pool of memory when possible. * When used, the private pool is PRIVATE_MEM bytes long: 2304 bytes, * unless #defined to be a different length. This default length * suffices to get rid of MALLOC calls except for unusual cases, * such as decimal-to-binary conversion of a very long string of * digits. The longest string dtoa can return is about 751 bytes * long. For conversions by strtod of strings of 800 digits and * all dtoa conversions in single-threaded executions with 8-byte * pointers, PRIVATE_MEM >= 7400 appears to suffice; with 4-byte * pointers, PRIVATE_MEM >= 7112 appears adequate. * #define NO_INFNAN_CHECK if you do not wish to have INFNAN_CHECK * #defined automatically on IEEE systems. On such systems, * when INFNAN_CHECK is #defined, strtod checks * for Infinity and NaN (case insensitively). On some systems * (e.g., some HP systems), it may be necessary to #define NAN_WORD0 * appropriately -- to the most significant word of a quiet NaN. * (On HP Series 700/800 machines, -DNAN_WORD0=0x7ff40000 works.) * When INFNAN_CHECK is #defined and No_Hex_NaN is not #defined, * strtod also accepts (case insensitively) strings of the form * NaN(x), where x is a string of hexadecimal digits and spaces; * if there is only one string of hexadecimal digits, it is taken * for the 52 fraction bits of the resulting NaN; if there are two * or more strings of hex digits, the first is for the high 20 bits, * the second and subsequent for the low 32 bits, with intervening * white space ignored; but if this results in none of the 52 * fraction bits being on (an IEEE Infinity symbol), then NAN_WORD0 * and NAN_WORD1 are used instead. * #define MULTIPLE_THREADS if the system offers preemptively scheduled * multiple threads. In this case, you must provide (or suitably * #define) two locks, acquired by ACQUIRE_DTOA_LOCK(n) and freed * by FREE_DTOA_LOCK(n) for n = 0 or 1. (The second lock, accessed * in pow5mult, ensures lazy evaluation of only one copy of high * powers of 5; omitting this lock would introduce a small * probability of wasting memory, but would otherwise be harmless.) * You must also invoke freedtoa(s) to free the value s returned by * dtoa. You may do so whether or not MULTIPLE_THREADS is #defined. * #define NO_IEEE_Scale to disable new (Feb. 1997) logic in strtod that * avoids underflows on inputs whose result does not underflow. * If you #define NO_IEEE_Scale on a machine that uses IEEE-format * floating-point numbers and flushes underflows to zero rather * than implementing gradual underflow, then you must also #define * Sudden_Underflow. * #define USE_LOCALE to use the current locale's decimal_point value. * #define SET_INEXACT if IEEE arithmetic is being used and extra * computation should be done to set the inexact flag when the * result is inexact and avoid setting inexact when the result * is exact. In this case, dtoa.c must be compiled in * an environment, perhaps provided by #include "dtoa.c" in a * suitable wrapper, that defines two functions, * int get_inexact(void); * void clear_inexact(void); * such that get_inexact() returns a nonzero value if the * inexact bit is already set, and clear_inexact() sets the * inexact bit to 0. When SET_INEXACT is #defined, strtod * also does extra computations to set the underflow and overflow * flags when appropriate (i.e., when the result is tiny and * inexact or when it is a numeric value rounded to +-infinity). * #define NO_ERRNO if strtod should not assign errno = ERANGE when * the result overflows to +-Infinity or underflows to 0. * #define NO_HEX_FP to omit recognition of hexadecimal floating-point * values by strtod. * #define NO_STRTOD_BIGCOMP (on IEEE-arithmetic systems only for now) * to disable logic for "fast" testing of very long input strings * to strtod. This testing proceeds by initially truncating the * input string, then if necessary comparing the whole string with * a decimal expansion to decide close cases. This logic is only * used for input more than STRTOD_DIGLIM digits long (default 40). */ #ifndef Long #define Long long #endif #ifndef ULong typedef unsigned Long ULong; #endif #ifdef DEBUG #include "stdio.h" #define Bug(x) {fprintf(stderr, "%s\n", x); exit(1);} #endif #include "stdlib.h" #include "string.h" #ifdef USE_LOCALE #include "locale.h" #endif #ifdef Honor_FLT_ROUNDS #ifndef Trust_FLT_ROUNDS #include #endif #endif #ifdef MALLOC #ifdef KR_headers extern char *MALLOC(); #else extern void *MALLOC(size_t); #endif #else #define MALLOC malloc #endif #ifndef Omit_Private_Memory #ifndef PRIVATE_MEM #define PRIVATE_MEM 2304 #endif #define PRIVATE_mem ((PRIVATE_MEM+sizeof(double)-1)/sizeof(double)) static double private_mem[PRIVATE_mem], *pmem_next = private_mem; #endif #undef IEEE_Arith #undef Avoid_Underflow #ifdef IEEE_MC68k #define IEEE_Arith #endif #ifdef IEEE_8087 #define IEEE_Arith #endif #ifdef IEEE_Arith #ifndef NO_INFNAN_CHECK #undef INFNAN_CHECK #define INFNAN_CHECK #endif #else #undef INFNAN_CHECK #define NO_STRTOD_BIGCOMP #endif #include "errno.h" #ifdef Bad_float_h #ifdef IEEE_Arith #define DBL_DIG 15 #define DBL_MAX_10_EXP 308 #define DBL_MAX_EXP 1024 #define FLT_RADIX 2 #endif /*IEEE_Arith*/ #ifdef IBM #define DBL_DIG 16 #define DBL_MAX_10_EXP 75 #define DBL_MAX_EXP 63 #define FLT_RADIX 16 #define DBL_MAX 7.2370055773322621e+75 #endif #ifdef VAX #define DBL_DIG 16 #define DBL_MAX_10_EXP 38 #define DBL_MAX_EXP 127 #define FLT_RADIX 2 #define DBL_MAX 1.7014118346046923e+38 #endif #ifndef LONG_MAX #define LONG_MAX 2147483647 #endif #else /* ifndef Bad_float_h */ #include "float.h" #endif /* Bad_float_h */ #ifndef __MATH_H__ #include "math.h" #endif /******** ADDED FOR SMLSHARP BEGIN ********/ /* here is the only difference from the original version. */ #define dtoa sml_dtoa #define freedtoa sml_freedtoa #define strtod sml_strtod #define gethex sml_gethex /******** ADDED FOR SMLSHARP END ********/ #ifdef __cplusplus extern "C" { #endif #ifndef CONST #ifdef KR_headers #define CONST /* blank */ #else #define CONST const #endif #endif #if defined(IEEE_8087) + defined(IEEE_MC68k) + defined(VAX) + defined(IBM) != 1 Exactly one of IEEE_8087, IEEE_MC68k, VAX, or IBM should be defined. #endif typedef union { double d; ULong L[2]; } U; #ifdef IEEE_8087 #define word0(x) (x)->L[1] #define word1(x) (x)->L[0] #else #define word0(x) (x)->L[0] #define word1(x) (x)->L[1] #endif #define dval(x) (x)->d #ifndef STRTOD_DIGLIM #define STRTOD_DIGLIM 40 #endif #ifdef DIGLIM_DEBUG extern int strtod_diglim; #else #define strtod_diglim STRTOD_DIGLIM #endif /* The following definition of Storeinc is appropriate for MIPS processors. * An alternative that might be better on some machines is * #define Storeinc(a,b,c) (*a++ = b << 16 | c & 0xffff) */ #if defined(IEEE_8087) + defined(VAX) #define Storeinc(a,b,c) (((unsigned short *)a)[1] = (unsigned short)b, \ ((unsigned short *)a)[0] = (unsigned short)c, a++) #else #define Storeinc(a,b,c) (((unsigned short *)a)[0] = (unsigned short)b, \ ((unsigned short *)a)[1] = (unsigned short)c, a++) #endif /* #define P DBL_MANT_DIG */ /* Ten_pmax = floor(P*log(2)/log(5)) */ /* Bletch = (highest power of 2 < DBL_MAX_10_EXP) / 16 */ /* Quick_max = floor((P-1)*log(FLT_RADIX)/log(10) - 1) */ /* Int_max = floor(P*log(FLT_RADIX)/log(10) - 1) */ #ifdef IEEE_Arith #define Exp_shift 20 #define Exp_shift1 20 #define Exp_msk1 0x100000 #define Exp_msk11 0x100000 #define Exp_mask 0x7ff00000 #define P 53 #define Nbits 53 #define Bias 1023 #define Emax 1023 #define Emin (-1022) #define Exp_1 0x3ff00000 #define Exp_11 0x3ff00000 #define Ebits 11 #define Frac_mask 0xfffff #define Frac_mask1 0xfffff #define Ten_pmax 22 #define Bletch 0x10 #define Bndry_mask 0xfffff #define Bndry_mask1 0xfffff #define LSB 1 #define Sign_bit 0x80000000 #define Log2P 1 #define Tiny0 0 #define Tiny1 1 #define Quick_max 14 #define Int_max 14 #ifndef NO_IEEE_Scale #define Avoid_Underflow #ifdef Flush_Denorm /* debugging option */ #undef Sudden_Underflow #endif #endif #ifndef Flt_Rounds #ifdef FLT_ROUNDS #define Flt_Rounds FLT_ROUNDS #else #define Flt_Rounds 1 #endif #endif /*Flt_Rounds*/ #ifdef Honor_FLT_ROUNDS #undef Check_FLT_ROUNDS #define Check_FLT_ROUNDS #else #define Rounding Flt_Rounds #endif #else /* ifndef IEEE_Arith */ #undef Check_FLT_ROUNDS #undef Honor_FLT_ROUNDS #undef SET_INEXACT #undef Sudden_Underflow #define Sudden_Underflow #ifdef IBM #undef Flt_Rounds #define Flt_Rounds 0 #define Exp_shift 24 #define Exp_shift1 24 #define Exp_msk1 0x1000000 #define Exp_msk11 0x1000000 #define Exp_mask 0x7f000000 #define P 14 #define Nbits 56 #define Bias 65 #define Emax 248 #define Emin (-260) #define Exp_1 0x41000000 #define Exp_11 0x41000000 #define Ebits 8 /* exponent has 7 bits, but 8 is the right value in b2d */ #define Frac_mask 0xffffff #define Frac_mask1 0xffffff #define Bletch 4 #define Ten_pmax 22 #define Bndry_mask 0xefffff #define Bndry_mask1 0xffffff #define LSB 1 #define Sign_bit 0x80000000 #define Log2P 4 #define Tiny0 0x100000 #define Tiny1 0 #define Quick_max 14 #define Int_max 15 #else /* VAX */ #undef Flt_Rounds #define Flt_Rounds 1 #define Exp_shift 23 #define Exp_shift1 7 #define Exp_msk1 0x80 #define Exp_msk11 0x800000 #define Exp_mask 0x7f80 #define P 56 #define Nbits 56 #define Bias 129 #define Emax 126 #define Emin (-129) #define Exp_1 0x40800000 #define Exp_11 0x4080 #define Ebits 8 #define Frac_mask 0x7fffff #define Frac_mask1 0xffff007f #define Ten_pmax 24 #define Bletch 2 #define Bndry_mask 0xffff007f #define Bndry_mask1 0xffff007f #define LSB 0x10000 #define Sign_bit 0x8000 #define Log2P 1 #define Tiny0 0x80 #define Tiny1 0 #define Quick_max 15 #define Int_max 15 #endif /* IBM, VAX */ #endif /* IEEE_Arith */ #ifndef IEEE_Arith #define ROUND_BIASED #endif #ifdef RND_PRODQUOT #define rounded_product(a,b) a = rnd_prod(a, b) #define rounded_quotient(a,b) a = rnd_quot(a, b) #ifdef KR_headers extern double rnd_prod(), rnd_quot(); #else extern double rnd_prod(double, double), rnd_quot(double, double); #endif #else #define rounded_product(a,b) a *= b #define rounded_quotient(a,b) a /= b #endif #define Big0 (Frac_mask1 | Exp_msk1*(DBL_MAX_EXP+Bias-1)) #define Big1 0xffffffff #ifndef Pack_32 #define Pack_32 #endif typedef struct BCinfo BCinfo; struct BCinfo { int dp0, dp1, dplen, dsign, e0, inexact, nd, nd0, rounding, scale, uflchk; }; #ifdef KR_headers #define FFFFFFFF ((((unsigned long)0xffff)<<16)|(unsigned long)0xffff) #else #define FFFFFFFF 0xffffffffUL #endif #ifdef NO_LONG_LONG #undef ULLong #ifdef Just_16 #undef Pack_32 /* When Pack_32 is not defined, we store 16 bits per 32-bit Long. * This makes some inner loops simpler and sometimes saves work * during multiplications, but it often seems to make things slightly * slower. Hence the default is now to store 32 bits per Long. */ #endif #else /* long long available */ #ifndef Llong #define Llong long long #endif #ifndef ULLong #define ULLong unsigned Llong #endif #endif /* NO_LONG_LONG */ #ifndef MULTIPLE_THREADS #define ACQUIRE_DTOA_LOCK(n) /*nothing*/ #define FREE_DTOA_LOCK(n) /*nothing*/ #endif #define Kmax 7 #ifdef __cplusplus extern "C" double strtod(const char *s00, char **se); extern "C" char *dtoa(double d, int mode, int ndigits, int *decpt, int *sign, char **rve); #endif struct Bigint { struct Bigint *next; int k, maxwds, sign, wds; ULong x[1]; }; typedef struct Bigint Bigint; static Bigint *freelist[Kmax+1]; static Bigint * Balloc #ifdef KR_headers (k) int k; #else (int k) #endif { int x; Bigint *rv; #ifndef Omit_Private_Memory unsigned int len; #endif ACQUIRE_DTOA_LOCK(0); /* The k > Kmax case does not need ACQUIRE_DTOA_LOCK(0), */ /* but this case seems very unlikely. */ if (k <= Kmax && (rv = freelist[k])) freelist[k] = rv->next; else { x = 1 << k; #ifdef Omit_Private_Memory rv = (Bigint *)MALLOC(sizeof(Bigint) + (x-1)*sizeof(ULong)); #else len = (sizeof(Bigint) + (x-1)*sizeof(ULong) + sizeof(double) - 1) /sizeof(double); if (k <= Kmax && pmem_next - private_mem + len <= PRIVATE_mem) { rv = (Bigint*)pmem_next; pmem_next += len; } else rv = (Bigint*)MALLOC(len*sizeof(double)); #endif rv->k = k; rv->maxwds = x; } FREE_DTOA_LOCK(0); rv->sign = rv->wds = 0; return rv; } static void Bfree #ifdef KR_headers (v) Bigint *v; #else (Bigint *v) #endif { if (v) { if (v->k > Kmax) #ifdef FREE FREE((void*)v); #else free((void*)v); #endif else { ACQUIRE_DTOA_LOCK(0); v->next = freelist[v->k]; freelist[v->k] = v; FREE_DTOA_LOCK(0); } } } #define Bcopy(x,y) memcpy((char *)&x->sign, (char *)&y->sign, \ y->wds*sizeof(Long) + 2*sizeof(int)) static Bigint * multadd #ifdef KR_headers (b, m, a) Bigint *b; int m, a; #else (Bigint *b, int m, int a) /* multiply by m and add a */ #endif { int i, wds; #ifdef ULLong ULong *x; ULLong carry, y; #else ULong carry, *x, y; #ifdef Pack_32 ULong xi, z; #endif #endif Bigint *b1; wds = b->wds; x = b->x; i = 0; carry = a; do { #ifdef ULLong y = *x * (ULLong)m + carry; carry = y >> 32; *x++ = y & FFFFFFFF; #else #ifdef Pack_32 xi = *x; y = (xi & 0xffff) * m + carry; z = (xi >> 16) * m + (y >> 16); carry = z >> 16; *x++ = (z << 16) + (y & 0xffff); #else y = *x * m + carry; carry = y >> 16; *x++ = y & 0xffff; #endif #endif } while(++i < wds); if (carry) { if (wds >= b->maxwds) { b1 = Balloc(b->k+1); Bcopy(b1, b); Bfree(b); b = b1; } b->x[wds++] = carry; b->wds = wds; } return b; } static Bigint * s2b #ifdef KR_headers (s, nd0, nd, y9, dplen) CONST char *s; int nd0, nd, dplen; ULong y9; #else (CONST char *s, int nd0, int nd, ULong y9, int dplen) #endif { Bigint *b; int i, k; Long x, y; x = (nd + 8) / 9; for(k = 0, y = 1; x > y; y <<= 1, k++) ; #ifdef Pack_32 b = Balloc(k); b->x[0] = y9; b->wds = 1; #else b = Balloc(k+1); b->x[0] = y9 & 0xffff; b->wds = (b->x[1] = y9 >> 16) ? 2 : 1; #endif i = 9; if (9 < nd0) { s += 9; do b = multadd(b, 10, *s++ - '0'); while(++i < nd0); s += dplen; } else s += dplen + 9; for(; i < nd; i++) b = multadd(b, 10, *s++ - '0'); return b; } static int hi0bits #ifdef KR_headers (x) ULong x; #else (ULong x) #endif { int k = 0; if (!(x & 0xffff0000)) { k = 16; x <<= 16; } if (!(x & 0xff000000)) { k += 8; x <<= 8; } if (!(x & 0xf0000000)) { k += 4; x <<= 4; } if (!(x & 0xc0000000)) { k += 2; x <<= 2; } if (!(x & 0x80000000)) { k++; if (!(x & 0x40000000)) return 32; } return k; } static int lo0bits #ifdef KR_headers (y) ULong *y; #else (ULong *y) #endif { int k; ULong x = *y; if (x & 7) { if (x & 1) return 0; if (x & 2) { *y = x >> 1; return 1; } *y = x >> 2; return 2; } k = 0; if (!(x & 0xffff)) { k = 16; x >>= 16; } if (!(x & 0xff)) { k += 8; x >>= 8; } if (!(x & 0xf)) { k += 4; x >>= 4; } if (!(x & 0x3)) { k += 2; x >>= 2; } if (!(x & 1)) { k++; x >>= 1; if (!x) return 32; } *y = x; return k; } static Bigint * i2b #ifdef KR_headers (i) int i; #else (int i) #endif { Bigint *b; b = Balloc(1); b->x[0] = i; b->wds = 1; return b; } static Bigint * mult #ifdef KR_headers (a, b) Bigint *a, *b; #else (Bigint *a, Bigint *b) #endif { Bigint *c; int k, wa, wb, wc; ULong *x, *xa, *xae, *xb, *xbe, *xc, *xc0; ULong y; #ifdef ULLong ULLong carry, z; #else ULong carry, z; #ifdef Pack_32 ULong z2; #endif #endif if (a->wds < b->wds) { c = a; a = b; b = c; } k = a->k; wa = a->wds; wb = b->wds; wc = wa + wb; if (wc > a->maxwds) k++; c = Balloc(k); for(x = c->x, xa = x + wc; x < xa; x++) *x = 0; xa = a->x; xae = xa + wa; xb = b->x; xbe = xb + wb; xc0 = c->x; #ifdef ULLong for(; xb < xbe; xc0++) { if ((y = *xb++)) { x = xa; xc = xc0; carry = 0; do { z = *x++ * (ULLong)y + *xc + carry; carry = z >> 32; *xc++ = z & FFFFFFFF; } while(x < xae); *xc = carry; } } #else #ifdef Pack_32 for(; xb < xbe; xb++, xc0++) { if (y = *xb & 0xffff) { x = xa; xc = xc0; carry = 0; do { z = (*x & 0xffff) * y + (*xc & 0xffff) + carry; carry = z >> 16; z2 = (*x++ >> 16) * y + (*xc >> 16) + carry; carry = z2 >> 16; Storeinc(xc, z2, z); } while(x < xae); *xc = carry; } if (y = *xb >> 16) { x = xa; xc = xc0; carry = 0; z2 = *xc; do { z = (*x & 0xffff) * y + (*xc >> 16) + carry; carry = z >> 16; Storeinc(xc, z, z2); z2 = (*x++ >> 16) * y + (*xc & 0xffff) + carry; carry = z2 >> 16; } while(x < xae); *xc = z2; } } #else for(; xb < xbe; xc0++) { if (y = *xb++) { x = xa; xc = xc0; carry = 0; do { z = *x++ * y + *xc + carry; carry = z >> 16; *xc++ = z & 0xffff; } while(x < xae); *xc = carry; } } #endif #endif for(xc0 = c->x, xc = xc0 + wc; wc > 0 && !*--xc; --wc) ; c->wds = wc; return c; } static Bigint *p5s; static Bigint * pow5mult #ifdef KR_headers (b, k) Bigint *b; int k; #else (Bigint *b, int k) #endif { Bigint *b1, *p5, *p51; int i; static int p05[3] = { 5, 25, 125 }; if ((i = k & 3)) b = multadd(b, p05[i-1], 0); if (!(k >>= 2)) return b; if (!(p5 = p5s)) { /* first time */ #ifdef MULTIPLE_THREADS ACQUIRE_DTOA_LOCK(1); if (!(p5 = p5s)) { p5 = p5s = i2b(625); p5->next = 0; } FREE_DTOA_LOCK(1); #else p5 = p5s = i2b(625); p5->next = 0; #endif } for(;;) { if (k & 1) { b1 = mult(b, p5); Bfree(b); b = b1; } if (!(k >>= 1)) break; if (!(p51 = p5->next)) { #ifdef MULTIPLE_THREADS ACQUIRE_DTOA_LOCK(1); if (!(p51 = p5->next)) { p51 = p5->next = mult(p5,p5); p51->next = 0; } FREE_DTOA_LOCK(1); #else p51 = p5->next = mult(p5,p5); p51->next = 0; #endif } p5 = p51; } return b; } static Bigint * lshift #ifdef KR_headers (b, k) Bigint *b; int k; #else (Bigint *b, int k) #endif { int i, k1, n, n1; Bigint *b1; ULong *x, *x1, *xe, z; #ifdef Pack_32 n = k >> 5; #else n = k >> 4; #endif k1 = b->k; n1 = n + b->wds + 1; for(i = b->maxwds; n1 > i; i <<= 1) k1++; b1 = Balloc(k1); x1 = b1->x; for(i = 0; i < n; i++) *x1++ = 0; x = b->x; xe = x + b->wds; #ifdef Pack_32 if (k &= 0x1f) { k1 = 32 - k; z = 0; do { *x1++ = *x << k | z; z = *x++ >> k1; } while(x < xe); if ((*x1 = z)) ++n1; } #else if (k &= 0xf) { k1 = 16 - k; z = 0; do { *x1++ = *x << k & 0xffff | z; z = *x++ >> k1; } while(x < xe); if (*x1 = z) ++n1; } #endif else do *x1++ = *x++; while(x < xe); b1->wds = n1 - 1; Bfree(b); return b1; } static int cmp #ifdef KR_headers (a, b) Bigint *a, *b; #else (Bigint *a, Bigint *b) #endif { ULong *xa, *xa0, *xb, *xb0; int i, j; i = a->wds; j = b->wds; #ifdef DEBUG if (i > 1 && !a->x[i-1]) Bug("cmp called with a->x[a->wds-1] == 0"); if (j > 1 && !b->x[j-1]) Bug("cmp called with b->x[b->wds-1] == 0"); #endif if (i -= j) return i; xa0 = a->x; xa = xa0 + j; xb0 = b->x; xb = xb0 + j; for(;;) { if (*--xa != *--xb) return *xa < *xb ? -1 : 1; if (xa <= xa0) break; } return 0; } static Bigint * diff #ifdef KR_headers (a, b) Bigint *a, *b; #else (Bigint *a, Bigint *b) #endif { Bigint *c; int i, wa, wb; ULong *xa, *xae, *xb, *xbe, *xc; #ifdef ULLong ULLong borrow, y; #else ULong borrow, y; #ifdef Pack_32 ULong z; #endif #endif i = cmp(a,b); if (!i) { c = Balloc(0); c->wds = 1; c->x[0] = 0; return c; } if (i < 0) { c = a; a = b; b = c; i = 1; } else i = 0; c = Balloc(a->k); c->sign = i; wa = a->wds; xa = a->x; xae = xa + wa; wb = b->wds; xb = b->x; xbe = xb + wb; xc = c->x; borrow = 0; #ifdef ULLong do { y = (ULLong)*xa++ - *xb++ - borrow; borrow = y >> 32 & (ULong)1; *xc++ = y & FFFFFFFF; } while(xb < xbe); while(xa < xae) { y = *xa++ - borrow; borrow = y >> 32 & (ULong)1; *xc++ = y & FFFFFFFF; } #else #ifdef Pack_32 do { y = (*xa & 0xffff) - (*xb & 0xffff) - borrow; borrow = (y & 0x10000) >> 16; z = (*xa++ >> 16) - (*xb++ >> 16) - borrow; borrow = (z & 0x10000) >> 16; Storeinc(xc, z, y); } while(xb < xbe); while(xa < xae) { y = (*xa & 0xffff) - borrow; borrow = (y & 0x10000) >> 16; z = (*xa++ >> 16) - borrow; borrow = (z & 0x10000) >> 16; Storeinc(xc, z, y); } #else do { y = *xa++ - *xb++ - borrow; borrow = (y & 0x10000) >> 16; *xc++ = y & 0xffff; } while(xb < xbe); while(xa < xae) { y = *xa++ - borrow; borrow = (y & 0x10000) >> 16; *xc++ = y & 0xffff; } #endif #endif while(!*--xc) wa--; c->wds = wa; return c; } static double ulp #ifdef KR_headers (x) U *x; #else (U *x) #endif { Long L; U u; L = (word0(x) & Exp_mask) - (P-1)*Exp_msk1; #ifndef Avoid_Underflow #ifndef Sudden_Underflow if (L > 0) { #endif #endif #ifdef IBM L |= Exp_msk1 >> 4; #endif word0(&u) = L; word1(&u) = 0; #ifndef Avoid_Underflow #ifndef Sudden_Underflow } else { L = -L >> Exp_shift; if (L < Exp_shift) { word0(&u) = 0x80000 >> L; word1(&u) = 0; } else { word0(&u) = 0; L -= Exp_shift; word1(&u) = L >= 31 ? 1 : 1 << 31 - L; } } #endif #endif return dval(&u); } static double b2d #ifdef KR_headers (a, e) Bigint *a; int *e; #else (Bigint *a, int *e) #endif { ULong *xa, *xa0, w, y, z; int k; U d; #ifdef VAX ULong d0, d1; #else #define d0 word0(&d) #define d1 word1(&d) #endif xa0 = a->x; xa = xa0 + a->wds; y = *--xa; #ifdef DEBUG if (!y) Bug("zero y in b2d"); #endif k = hi0bits(y); *e = 32 - k; #ifdef Pack_32 if (k < Ebits) { d0 = Exp_1 | y >> (Ebits - k); w = xa > xa0 ? *--xa : 0; d1 = y << ((32-Ebits) + k) | w >> (Ebits - k); goto ret_d; } z = xa > xa0 ? *--xa : 0; if (k -= Ebits) { d0 = Exp_1 | y << k | z >> (32 - k); y = xa > xa0 ? *--xa : 0; d1 = z << k | y >> (32 - k); } else { d0 = Exp_1 | y; d1 = z; } #else if (k < Ebits + 16) { z = xa > xa0 ? *--xa : 0; d0 = Exp_1 | y << k - Ebits | z >> Ebits + 16 - k; w = xa > xa0 ? *--xa : 0; y = xa > xa0 ? *--xa : 0; d1 = z << k + 16 - Ebits | w << k - Ebits | y >> 16 + Ebits - k; goto ret_d; } z = xa > xa0 ? *--xa : 0; w = xa > xa0 ? *--xa : 0; k -= Ebits + 16; d0 = Exp_1 | y << k + 16 | z << k | w >> 16 - k; y = xa > xa0 ? *--xa : 0; d1 = w << k + 16 | y << k; #endif ret_d: #ifdef VAX word0(&d) = d0 >> 16 | d0 << 16; word1(&d) = d1 >> 16 | d1 << 16; #else #undef d0 #undef d1 #endif return dval(&d); } static Bigint * d2b #ifdef KR_headers (d, e, bits) U *d; int *e, *bits; #else (U *d, int *e, int *bits) #endif { Bigint *b; int de, k; ULong *x, y, z; #ifndef Sudden_Underflow int i; #endif #ifdef VAX ULong d0, d1; d0 = word0(d) >> 16 | word0(d) << 16; d1 = word1(d) >> 16 | word1(d) << 16; #else #define d0 word0(d) #define d1 word1(d) #endif #ifdef Pack_32 b = Balloc(1); #else b = Balloc(2); #endif x = b->x; z = d0 & Frac_mask; d0 &= 0x7fffffff; /* clear sign bit, which we ignore */ #ifdef Sudden_Underflow de = (int)(d0 >> Exp_shift); #ifndef IBM z |= Exp_msk11; #endif #else if ((de = (int)(d0 >> Exp_shift))) z |= Exp_msk1; #endif #ifdef Pack_32 if ((y = d1)) { if ((k = lo0bits(&y))) { x[0] = y | z << (32 - k); z >>= k; } else x[0] = y; #ifndef Sudden_Underflow i = #endif b->wds = (x[1] = z) ? 2 : 1; } else { k = lo0bits(&z); x[0] = z; #ifndef Sudden_Underflow i = #endif b->wds = 1; k += 32; } #else if (y = d1) { if (k = lo0bits(&y)) if (k >= 16) { x[0] = y | z << 32 - k & 0xffff; x[1] = z >> k - 16 & 0xffff; x[2] = z >> k; i = 2; } else { x[0] = y & 0xffff; x[1] = y >> 16 | z << 16 - k & 0xffff; x[2] = z >> k & 0xffff; x[3] = z >> k+16; i = 3; } else { x[0] = y & 0xffff; x[1] = y >> 16; x[2] = z & 0xffff; x[3] = z >> 16; i = 3; } } else { #ifdef DEBUG if (!z) Bug("Zero passed to d2b"); #endif k = lo0bits(&z); if (k >= 16) { x[0] = z; i = 0; } else { x[0] = z & 0xffff; x[1] = z >> 16; i = 1; } k += 32; } while(!x[i]) --i; b->wds = i + 1; #endif #ifndef Sudden_Underflow if (de) { #endif #ifdef IBM *e = (de - Bias - (P-1) << 2) + k; *bits = 4*P + 8 - k - hi0bits(word0(d) & Frac_mask); #else *e = de - Bias - (P-1) + k; *bits = P - k; #endif #ifndef Sudden_Underflow } else { *e = de - Bias - (P-1) + 1 + k; #ifdef Pack_32 *bits = 32*i - hi0bits(x[i-1]); #else *bits = (i+2)*16 - hi0bits(x[i]); #endif } #endif return b; } #undef d0 #undef d1 static double ratio #ifdef KR_headers (a, b) Bigint *a, *b; #else (Bigint *a, Bigint *b) #endif { U da, db; int k, ka, kb; dval(&da) = b2d(a, &ka); dval(&db) = b2d(b, &kb); #ifdef Pack_32 k = ka - kb + 32*(a->wds - b->wds); #else k = ka - kb + 16*(a->wds - b->wds); #endif #ifdef IBM if (k > 0) { word0(&da) += (k >> 2)*Exp_msk1; if (k &= 3) dval(&da) *= 1 << k; } else { k = -k; word0(&db) += (k >> 2)*Exp_msk1; if (k &= 3) dval(&db) *= 1 << k; } #else if (k > 0) word0(&da) += k*Exp_msk1; else { k = -k; word0(&db) += k*Exp_msk1; } #endif return dval(&da) / dval(&db); } static CONST double tens[] = { 1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, 1e22 #ifdef VAX , 1e23, 1e24 #endif }; static CONST double #ifdef IEEE_Arith bigtens[] = { 1e16, 1e32, 1e64, 1e128, 1e256 }; static CONST double tinytens[] = { 1e-16, 1e-32, 1e-64, 1e-128, #ifdef Avoid_Underflow 9007199254740992.*9007199254740992.e-256 /* = 2^106 * 1e-256 */ #else 1e-256 #endif }; /* The factor of 2^53 in tinytens[4] helps us avoid setting the underflow */ /* flag unnecessarily. It leads to a song and dance at the end of strtod. */ #define Scale_Bit 0x10 #define n_bigtens 5 #else #ifdef IBM bigtens[] = { 1e16, 1e32, 1e64 }; static CONST double tinytens[] = { 1e-16, 1e-32, 1e-64 }; #define n_bigtens 3 #else bigtens[] = { 1e16, 1e32 }; static CONST double tinytens[] = { 1e-16, 1e-32 }; #define n_bigtens 2 #endif #endif #undef Need_Hexdig #ifdef INFNAN_CHECK #ifndef No_Hex_NaN #define Need_Hexdig #endif #endif #ifndef Need_Hexdig #ifndef NO_HEX_FP #define Need_Hexdig #endif #endif #ifdef Need_Hexdig /*{*/ static unsigned char hexdig[256]; static void #ifdef KR_headers htinit(h, s, inc) unsigned char *h; unsigned char *s; int inc; #else htinit(unsigned char *h, unsigned char *s, int inc) #endif { int i, j; for(i = 0; (j = s[i]) !=0; i++) h[j] = i + inc; } static void #ifdef KR_headers hexdig_init() #else hexdig_init(void) #endif { #define USC (unsigned char *) htinit(hexdig, USC "0123456789", 0x10); htinit(hexdig, USC "abcdef", 0x10 + 10); htinit(hexdig, USC "ABCDEF", 0x10 + 10); } #endif /* } Need_Hexdig */ #ifdef INFNAN_CHECK #ifndef NAN_WORD0 #define NAN_WORD0 0x7ff80000 #endif #ifndef NAN_WORD1 #define NAN_WORD1 0 #endif static int match #ifdef KR_headers (sp, t) char **sp, *t; #else (CONST char **sp, char *t) #endif { int c, d; CONST char *s = *sp; while((d = *t++)) { if ((c = *++s) >= 'A' && c <= 'Z') c += 'a' - 'A'; if (c != d) return 0; } *sp = s + 1; return 1; } #ifndef No_Hex_NaN static void hexnan #ifdef KR_headers (rvp, sp) U *rvp; CONST char **sp; #else (U *rvp, CONST char **sp) #endif { ULong c, x[2]; CONST char *s; int c1, havedig, udx0, xshift; if (!hexdig['0']) hexdig_init(); x[0] = x[1] = 0; havedig = xshift = 0; udx0 = 1; s = *sp; /* allow optional initial 0x or 0X */ while((c = *(CONST unsigned char*)(s+1)) && c <= ' ') ++s; if (s[1] == '0' && (s[2] == 'x' || s[2] == 'X')) s += 2; while((c = *(CONST unsigned char*)++s)) { if ((c1 = hexdig[c])) c = c1 & 0xf; else if (c <= ' ') { if (udx0 && havedig) { udx0 = 0; xshift = 1; } continue; } #ifdef GDTOA_NON_PEDANTIC_NANCHECK else if (/*(*/ c == ')' && havedig) { *sp = s + 1; break; } else return; /* invalid form: don't change *sp */ #else else { do { if (/*(*/ c == ')') { *sp = s + 1; break; } } while((c = *++s)); break; } #endif havedig = 1; if (xshift) { xshift = 0; x[0] = x[1]; x[1] = 0; } if (udx0) x[0] = (x[0] << 4) | (x[1] >> 28); x[1] = (x[1] << 4) | c; } if ((x[0] &= 0xfffff) || x[1]) { word0(rvp) = Exp_mask | x[0]; word1(rvp) = x[1]; } } #endif /*No_Hex_NaN*/ #endif /* INFNAN_CHECK */ #ifdef Pack_32 #define ULbits 32 #define kshift 5 #define kmask 31 #else #define ULbits 16 #define kshift 4 #define kmask 15 #endif #ifndef NO_HEX_FP /*{*/ static void #ifdef KR_headers rshift(b, k) Bigint *b; int k; #else rshift(Bigint *b, int k) #endif { ULong *x, *x1, *xe, y; int n; x = x1 = b->x; n = k >> kshift; if (n < b->wds) { xe = x + b->wds; x += n; if (k &= kmask) { n = 32 - k; y = *x++ >> k; while(x < xe) { *x1++ = (y | (*x << n)) & 0xffffffff; y = *x++ >> k; } if ((*x1 = y) !=0) x1++; } else while(x < xe) *x1++ = *x++; } if ((b->wds = x1 - b->x) == 0) b->x[0] = 0; } static ULong #ifdef KR_headers any_on(b, k) Bigint *b; int k; #else any_on(Bigint *b, int k) #endif { int n, nwds; ULong *x, *x0, x1, x2; x = b->x; nwds = b->wds; n = k >> kshift; if (n > nwds) n = nwds; else if (n < nwds && (k &= kmask)) { x1 = x2 = x[n]; x1 >>= k; x1 <<= k; if (x1 != x2) return 1; } x0 = x; x += n; while(x > x0) if (*--x) return 1; return 0; } enum { /* rounding values: same as FLT_ROUNDS */ Round_zero = 0, Round_near = 1, Round_up = 2, Round_down = 3 }; static Bigint * #ifdef KR_headers increment(b) Bigint *b; #else increment(Bigint *b) #endif { ULong *x, *xe; Bigint *b1; x = b->x; xe = x + b->wds; do { if (*x < (ULong)0xffffffffL) { ++*x; return b; } *x++ = 0; } while(x < xe); { if (b->wds >= b->maxwds) { b1 = Balloc(b->k+1); Bcopy(b1,b); Bfree(b); b = b1; } b->x[b->wds++] = 1; } return b; } void #ifdef KR_headers gethex(sp, rvp, rounding, sign) CONST char **sp; U *rvp; int rounding, sign; #else gethex( CONST char **sp, U *rvp, int rounding, int sign) #endif { Bigint *b; CONST unsigned char *decpt, *s0, *s, *s1; Long e, e1; ULong L, lostbits, *x; int big, denorm, esign, havedig, k, n, nbits, up, zret; #ifdef IBM int j; #endif enum { #ifdef IEEE_Arith /*{{*/ emax = 0x7fe - Bias - P + 1, emin = Emin - P + 1 #else /*}{*/ emin = Emin - P, #ifdef VAX emax = 0x7ff - Bias - P + 1 #endif #ifdef IBM emax = 0x7f - Bias - P #endif #endif /*}}*/ }; #ifdef USE_LOCALE int i; #ifdef NO_LOCALE_CACHE const unsigned char *decimalpoint = (unsigned char*) localeconv()->decimal_point; #else const unsigned char *decimalpoint; static unsigned char *decimalpoint_cache; if (!(s0 = decimalpoint_cache)) { s0 = (unsigned char*)localeconv()->decimal_point; if ((decimalpoint_cache = (unsigned char*) MALLOC(strlen((CONST char*)s0) + 1))) { strcpy((char*)decimalpoint_cache, (CONST char*)s0); s0 = decimalpoint_cache; } } decimalpoint = s0; #endif #endif if (!hexdig['0']) hexdig_init(); havedig = 0; s0 = *(CONST unsigned char **)sp + 2; while(s0[havedig] == '0') havedig++; s0 += havedig; s = s0; decpt = 0; zret = 0; e = 0; if (hexdig[*s]) havedig++; else { zret = 1; #ifdef USE_LOCALE for(i = 0; decimalpoint[i]; ++i) { if (s[i] != decimalpoint[i]) goto pcheck; } decpt = s += i; #else if (*s != '.') goto pcheck; decpt = ++s; #endif if (!hexdig[*s]) goto pcheck; while(*s == '0') s++; if (hexdig[*s]) zret = 0; havedig = 1; s0 = s; } while(hexdig[*s]) s++; #ifdef USE_LOCALE if (*s == *decimalpoint && !decpt) { for(i = 1; decimalpoint[i]; ++i) { if (s[i] != decimalpoint[i]) goto pcheck; } decpt = s += i; #else if (*s == '.' && !decpt) { decpt = ++s; #endif while(hexdig[*s]) s++; }/*}*/ if (decpt) e = -(((Long)(s-decpt)) << 2); pcheck: s1 = s; big = esign = 0; switch(*s) { case 'p': case 'P': switch(*++s) { case '-': esign = 1; /* no break */ case '+': s++; } if ((n = hexdig[*s]) == 0 || n > 0x19) { s = s1; break; } e1 = n - 0x10; while((n = hexdig[*++s]) !=0 && n <= 0x19) { if (e1 & 0xf8000000) big = 1; e1 = 10*e1 + n - 0x10; } if (esign) e1 = -e1; e += e1; } *sp = (char*)s; if (!havedig) *sp = (char*)s0 - 1; if (zret) goto retz1; if (big) { if (esign) { #ifdef IEEE_Arith switch(rounding) { case Round_up: if (sign) break; goto ret_tiny; case Round_down: if (!sign) break; goto ret_tiny; } #endif goto retz; #ifdef IEEE_Arith ret_tiny: #ifndef NO_ERRNO errno = ERANGE; #endif word0(rvp) = 0; word1(rvp) = 1; return; #endif /* IEEE_Arith */ } switch(rounding) { case Round_near: goto ovfl1; case Round_up: if (!sign) goto ovfl1; goto ret_big; case Round_down: if (sign) goto ovfl1; goto ret_big; } ret_big: word0(rvp) = Big0; word1(rvp) = Big1; return; } n = s1 - s0 - 1; for(k = 0; n > (1 << (kshift-2)) - 1; n >>= 1) k++; b = Balloc(k); x = b->x; n = 0; L = 0; #ifdef USE_LOCALE for(i = 0; decimalpoint[i+1]; ++i); #endif while(s1 > s0) { #ifdef USE_LOCALE if (*--s1 == decimalpoint[i]) { s1 -= i; continue; } #else if (*--s1 == '.') continue; #endif if (n == ULbits) { *x++ = L; L = 0; n = 0; } L |= (hexdig[*s1] & 0x0f) << n; n += 4; } *x++ = L; b->wds = n = x - b->x; n = ULbits*n - hi0bits(L); nbits = Nbits; lostbits = 0; x = b->x; if (n > nbits) { n -= nbits; if (any_on(b,n)) { lostbits = 1; k = n - 1; if (x[k>>kshift] & 1 << (k & kmask)) { lostbits = 2; if (k > 0 && any_on(b,k)) lostbits = 3; } } rshift(b, n); e += n; } else if (n < nbits) { n = nbits - n; b = lshift(b, n); e -= n; x = b->x; } if (e > Emax) { ovfl: Bfree(b); ovfl1: #ifndef NO_ERRNO errno = ERANGE; #endif word0(rvp) = Exp_mask; word1(rvp) = 0; return; } denorm = 0; if (e < emin) { denorm = 1; n = emin - e; if (n >= nbits) { #ifdef IEEE_Arith /*{*/ switch (rounding) { case Round_near: if (n == nbits && (n < 2 || any_on(b,n-1))) goto ret_tiny; break; case Round_up: if (!sign) goto ret_tiny; break; case Round_down: if (sign) goto ret_tiny; } #endif /* } IEEE_Arith */ Bfree(b); retz: #ifndef NO_ERRNO errno = ERANGE; #endif retz1: rvp->d = 0.; return; } k = n - 1; if (lostbits) lostbits = 1; else if (k > 0) lostbits = any_on(b,k); if (x[k>>kshift] & 1 << (k & kmask)) lostbits |= 2; nbits -= n; rshift(b,n); e = emin; } if (lostbits) { up = 0; switch(rounding) { case Round_zero: break; case Round_near: if (lostbits & 2 && (lostbits & 1) | (x[0] & 1)) up = 1; break; case Round_up: up = 1 - sign; break; case Round_down: up = sign; } if (up) { k = b->wds; b = increment(b); x = b->x; if (denorm) { #if 0 if (nbits == Nbits - 1 && x[nbits >> kshift] & 1 << (nbits & kmask)) denorm = 0; /* not currently used */ #endif } else if (b->wds > k || ((n = nbits & kmask) !=0 && hi0bits(x[k-1]) < 32-n)) { rshift(b,1); if (++e > Emax) goto ovfl; } } } #ifdef IEEE_Arith if (denorm) word0(rvp) = b->wds > 1 ? b->x[1] & ~0x100000 : 0; else word0(rvp) = (b->x[1] & ~0x100000) | ((e + 0x3ff + 52) << 20); word1(rvp) = b->x[0]; #endif #ifdef IBM if ((j = e & 3)) { k = b->x[0] & ((1 << j) - 1); rshift(b,j); if (k) { switch(rounding) { case Round_up: if (!sign) increment(b); break; case Round_down: if (sign) increment(b); break; case Round_near: j = 1 << (j-1); if (k & j && ((k & (j-1)) | lostbits)) increment(b); } } } e >>= 2; word0(rvp) = b->x[1] | ((e + 65 + 13) << 24); word1(rvp) = b->x[0]; #endif #ifdef VAX /* The next two lines ignore swap of low- and high-order 2 bytes. */ /* word0(rvp) = (b->x[1] & ~0x800000) | ((e + 129 + 55) << 23); */ /* word1(rvp) = b->x[0]; */ word0(rvp) = ((b->x[1] & ~0x800000) >> 16) | ((e + 129 + 55) << 7) | (b->x[1] << 16); word1(rvp) = (b->x[0] >> 16) | (b->x[0] << 16); #endif Bfree(b); } #endif /*!NO_HEX_FP}*/ static int #ifdef KR_headers dshift(b, p2) Bigint *b; int p2; #else dshift(Bigint *b, int p2) #endif { int rv = hi0bits(b->x[b->wds-1]) - 4; if (p2 > 0) rv -= p2; return rv & kmask; } static int quorem #ifdef KR_headers (b, S) Bigint *b, *S; #else (Bigint *b, Bigint *S) #endif { int n; ULong *bx, *bxe, q, *sx, *sxe; #ifdef ULLong ULLong borrow, carry, y, ys; #else ULong borrow, carry, y, ys; #ifdef Pack_32 ULong si, z, zs; #endif #endif n = S->wds; #ifdef DEBUG /*debug*/ if (b->wds > n) /*debug*/ Bug("oversize b in quorem"); #endif if (b->wds < n) return 0; sx = S->x; sxe = sx + --n; bx = b->x; bxe = bx + n; q = *bxe / (*sxe + 1); /* ensure q <= true quotient */ #ifdef DEBUG #ifdef NO_STRTOD_BIGCOMP /*debug*/ if (q > 9) #else /* An oversized q is possible when quorem is called from bigcomp and */ /* the input is near, e.g., twice the smallest denormalized number. */ /*debug*/ if (q > 15) #endif /*debug*/ Bug("oversized quotient in quorem"); #endif if (q) { borrow = 0; carry = 0; do { #ifdef ULLong ys = *sx++ * (ULLong)q + carry; carry = ys >> 32; y = *bx - (ys & FFFFFFFF) - borrow; borrow = y >> 32 & (ULong)1; *bx++ = y & FFFFFFFF; #else #ifdef Pack_32 si = *sx++; ys = (si & 0xffff) * q + carry; zs = (si >> 16) * q + (ys >> 16); carry = zs >> 16; y = (*bx & 0xffff) - (ys & 0xffff) - borrow; borrow = (y & 0x10000) >> 16; z = (*bx >> 16) - (zs & 0xffff) - borrow; borrow = (z & 0x10000) >> 16; Storeinc(bx, z, y); #else ys = *sx++ * q + carry; carry = ys >> 16; y = *bx - (ys & 0xffff) - borrow; borrow = (y & 0x10000) >> 16; *bx++ = y & 0xffff; #endif #endif } while(sx <= sxe); if (!*bxe) { bx = b->x; while(--bxe > bx && !*bxe) --n; b->wds = n; } } if (cmp(b, S) >= 0) { q++; borrow = 0; carry = 0; bx = b->x; sx = S->x; do { #ifdef ULLong ys = *sx++ + carry; carry = ys >> 32; y = *bx - (ys & FFFFFFFF) - borrow; borrow = y >> 32 & (ULong)1; *bx++ = y & FFFFFFFF; #else #ifdef Pack_32 si = *sx++; ys = (si & 0xffff) + carry; zs = (si >> 16) + (ys >> 16); carry = zs >> 16; y = (*bx & 0xffff) - (ys & 0xffff) - borrow; borrow = (y & 0x10000) >> 16; z = (*bx >> 16) - (zs & 0xffff) - borrow; borrow = (z & 0x10000) >> 16; Storeinc(bx, z, y); #else ys = *sx++ + carry; carry = ys >> 16; y = *bx - (ys & 0xffff) - borrow; borrow = (y & 0x10000) >> 16; *bx++ = y & 0xffff; #endif #endif } while(sx <= sxe); bx = b->x; bxe = bx + n; if (!*bxe) { while(--bxe > bx && !*bxe) --n; b->wds = n; } } return q; } #if defined(Avoid_Underflow) || !defined(NO_STRTOD_BIGCOMP) /*{*/ static double sulp #ifdef KR_headers (x, bc) U *x; BCinfo *bc; #else (U *x, BCinfo *bc) #endif { U u; double rv; int i; rv = ulp(x); if (!bc->scale || (i = 2*P + 1 - ((word0(x) & Exp_mask) >> Exp_shift)) <= 0) return rv; /* Is there an example where i <= 0 ? */ word0(&u) = Exp_1 + (i << Exp_shift); word1(&u) = 0; return rv * u.d; } #endif /*}*/ #ifndef NO_STRTOD_BIGCOMP static void bigcomp #ifdef KR_headers (rv, s0, bc) U *rv; CONST char *s0; BCinfo *bc; #else (U *rv, CONST char *s0, BCinfo *bc) #endif { Bigint *b, *d; int b2, bbits, d2, dd, dig, dsign, i, j, nd, nd0, p2, p5, speccase; dsign = bc->dsign; nd = bc->nd; nd0 = bc->nd0; p5 = nd + bc->e0 - 1; speccase = 0; #ifndef Sudden_Underflow if (rv->d == 0.) { /* special case: value near underflow-to-zero */ /* threshold was rounded to zero */ b = i2b(1); p2 = Emin - P + 1; bbits = 1; #ifdef Avoid_Underflow word0(rv) = (P+2) << Exp_shift; #else word1(rv) = 1; #endif i = 0; #ifdef Honor_FLT_ROUNDS if (bc->rounding == 1) #endif { speccase = 1; --p2; dsign = 0; goto have_i; } } else #endif b = d2b(rv, &p2, &bbits); #ifdef Avoid_Underflow p2 -= bc->scale; #endif /* floor(log2(rv)) == bbits - 1 + p2 */ /* Check for denormal case. */ i = P - bbits; if (i > (j = P - Emin - 1 + p2)) { #ifdef Sudden_Underflow Bfree(b); b = i2b(1); p2 = Emin; i = P - 1; #ifdef Avoid_Underflow word0(rv) = (1 + bc->scale) << Exp_shift; #else word0(rv) = Exp_msk1; #endif word1(rv) = 0; #else i = j; #endif } #ifdef Honor_FLT_ROUNDS if (bc->rounding != 1) { if (i > 0) b = lshift(b, i); if (dsign) b = increment(b); } else #endif { b = lshift(b, ++i); b->x[0] |= 1; } #ifndef Sudden_Underflow have_i: #endif p2 -= p5 + i; d = i2b(1); /* Arrange for convenient computation of quotients: * shift left if necessary so divisor has 4 leading 0 bits. */ if (p5 > 0) d = pow5mult(d, p5); else if (p5 < 0) b = pow5mult(b, -p5); if (p2 > 0) { b2 = p2; d2 = 0; } else { b2 = 0; d2 = -p2; } i = dshift(d, d2); if ((b2 += i) > 0) b = lshift(b, b2); if ((d2 += i) > 0) d = lshift(d, d2); /* Now b/d = exactly half-way between the two floating-point values */ /* on either side of the input string. Compute first digit of b/d. */ if (!(dig = quorem(b,d))) { b = multadd(b, 10, 0); /* very unlikely */ dig = quorem(b,d); } /* Compare b/d with s0 */ for(i = 0; i < nd0; ) { if ((dd = s0[i++] - '0' - dig)) goto ret; if (!b->x[0] && b->wds == 1) { if (i < nd) dd = 1; goto ret; } b = multadd(b, 10, 0); dig = quorem(b,d); } for(j = bc->dp1; i++ < nd;) { if ((dd = s0[j++] - '0' - dig)) goto ret; if (!b->x[0] && b->wds == 1) { if (i < nd) dd = 1; goto ret; } b = multadd(b, 10, 0); dig = quorem(b,d); } if (b->x[0] || b->wds > 1) dd = -1; ret: Bfree(b); Bfree(d); #ifdef Honor_FLT_ROUNDS if (bc->rounding != 1) { if (dd < 0) { if (bc->rounding == 0) { if (!dsign) goto retlow1; } else if (dsign) goto rethi1; } else if (dd > 0) { if (bc->rounding == 0) { if (dsign) goto rethi1; goto ret1; } if (!dsign) goto rethi1; dval(rv) += 2.*sulp(rv,bc); } else { bc->inexact = 0; if (dsign) goto rethi1; } } else #endif if (speccase) { if (dd <= 0) rv->d = 0.; } else if (dd < 0) { if (!dsign) /* does not happen for round-near */ retlow1: dval(rv) -= sulp(rv,bc); } else if (dd > 0) { if (dsign) { rethi1: dval(rv) += sulp(rv,bc); } } else { /* Exact half-way case: apply round-even rule. */ if ((j = ((word0(rv) & Exp_mask) >> Exp_shift) - bc->scale) <= 0) { i = 1 - j; if (i <= 31) { if (word1(rv) & (0x1 << i)) goto odd; } else if (word0(rv) & (0x1 << (i-32))) goto odd; } else if (word1(rv) & 1) { odd: if (dsign) goto rethi1; goto retlow1; } } #ifdef Honor_FLT_ROUNDS ret1: #endif return; } #endif /* NO_STRTOD_BIGCOMP */ double strtod #ifdef KR_headers (s00, se) CONST char *s00; char **se; #else (CONST char *s00, char **se) #endif { int bb2, bb5, bbe, bd2, bd5, bbbits, bs2, c, e, e1; int esign, i, j, k, nd, nd0, nf, nz, nz0, nz1, sign; CONST char *s, *s0, *s1; double aadj, aadj1; Long L; U aadj2, adj, rv, rv0; ULong y, z; BCinfo bc; Bigint *bb, *bb1, *bd, *bd0, *bs, *delta; #ifdef Avoid_Underflow ULong Lsb, Lsb1; #endif #ifdef SET_INEXACT int oldinexact; #endif #ifndef NO_STRTOD_BIGCOMP int req_bigcomp = 0; #endif #ifdef Honor_FLT_ROUNDS /*{*/ #ifdef Trust_FLT_ROUNDS /*{{ only define this if FLT_ROUNDS really works! */ bc.rounding = Flt_Rounds; #else /*}{*/ bc.rounding = 1; switch(fegetround()) { case FE_TOWARDZERO: bc.rounding = 0; break; case FE_UPWARD: bc.rounding = 2; break; case FE_DOWNWARD: bc.rounding = 3; } #endif /*}}*/ #endif /*}*/ #ifdef USE_LOCALE CONST char *s2; #endif sign = nz0 = nz1 = nz = bc.dplen = bc.uflchk = 0; dval(&rv) = 0.; for(s = s00;;s++) switch(*s) { case '-': sign = 1; /* no break */ case '+': if (*++s) goto break2; /* no break */ case 0: goto ret0; case '\t': case '\n': case '\v': case '\f': case '\r': case ' ': continue; default: goto break2; } break2: if (*s == '0') { #ifndef NO_HEX_FP /*{*/ switch(s[1]) { case 'x': case 'X': #ifdef Honor_FLT_ROUNDS gethex(&s, &rv, bc.rounding, sign); #else gethex(&s, &rv, 1, sign); #endif goto ret; } #endif /*}*/ nz0 = 1; while(*++s == '0') ; if (!*s) goto ret; } s0 = s; y = z = 0; for(nd = nf = 0; (c = *s) >= '0' && c <= '9'; nd++, s++) if (nd < 9) y = 10*y + c - '0'; else if (nd < 16) z = 10*z + c - '0'; nd0 = nd; bc.dp0 = bc.dp1 = s - s0; for(s1 = s; s1 > s0 && *--s1 == '0'; ) ++nz1; #ifdef USE_LOCALE s1 = localeconv()->decimal_point; if (c == *s1) { c = '.'; if (*++s1) { s2 = s; for(;;) { if (*++s2 != *s1) { c = 0; break; } if (!*++s1) { s = s2; break; } } } } #endif if (c == '.') { c = *++s; bc.dp1 = s - s0; bc.dplen = bc.dp1 - bc.dp0; if (!nd) { for(; c == '0'; c = *++s) nz++; if (c > '0' && c <= '9') { bc.dp0 = s0 - s; bc.dp1 = bc.dp0 + bc.dplen; s0 = s; nf += nz; nz = 0; goto have_dig; } goto dig_done; } for(; c >= '0' && c <= '9'; c = *++s) { have_dig: nz++; if (c -= '0') { nf += nz; for(i = 1; i < nz; i++) if (nd++ < 9) y *= 10; else if (nd <= DBL_DIG + 1) z *= 10; if (nd++ < 9) y = 10*y + c; else if (nd <= DBL_DIG + 1) z = 10*z + c; nz = nz1 = 0; } } } dig_done: e = 0; if (c == 'e' || c == 'E') { if (!nd && !nz && !nz0) { goto ret0; } s00 = s; esign = 0; switch(c = *++s) { case '-': esign = 1; case '+': c = *++s; } if (c >= '0' && c <= '9') { while(c == '0') c = *++s; if (c > '0' && c <= '9') { L = c - '0'; s1 = s; while((c = *++s) >= '0' && c <= '9') L = 10*L + c - '0'; if (s - s1 > 8 || L > 19999) /* Avoid confusion from exponents * so large that e might overflow. */ e = 19999; /* safe for 16 bit ints */ else e = (int)L; if (esign) e = -e; } else e = 0; } else s = s00; } if (!nd) { if (!nz && !nz0) { #ifdef INFNAN_CHECK /* Check for Nan and Infinity */ if (!bc.dplen) switch(c) { case 'i': case 'I': if (match(&s,"nf")) { --s; if (!match(&s,"inity")) ++s; word0(&rv) = 0x7ff00000; word1(&rv) = 0; goto ret; } break; case 'n': case 'N': if (match(&s, "an")) { word0(&rv) = NAN_WORD0; word1(&rv) = NAN_WORD1; #ifndef No_Hex_NaN if (*s == '(') /*)*/ hexnan(&rv, &s); #endif goto ret; } } #endif /* INFNAN_CHECK */ ret0: s = s00; sign = 0; } goto ret; } bc.e0 = e1 = e -= nf; /* Now we have nd0 digits, starting at s0, followed by a * decimal point, followed by nd-nd0 digits. The number we're * after is the integer represented by those digits times * 10**e */ if (!nd0) nd0 = nd; k = nd < DBL_DIG + 1 ? nd : DBL_DIG + 1; dval(&rv) = y; if (k > 9) { #ifdef SET_INEXACT if (k > DBL_DIG) oldinexact = get_inexact(); #endif dval(&rv) = tens[k - 9] * dval(&rv) + z; } bd0 = 0; if (nd <= DBL_DIG #ifndef RND_PRODQUOT #ifndef Honor_FLT_ROUNDS && Flt_Rounds == 1 #endif #endif ) { if (!e) goto ret; if (e > 0) { if (e <= Ten_pmax) { #ifdef VAX goto vax_ovfl_check; #else #ifdef Honor_FLT_ROUNDS /* round correctly FLT_ROUNDS = 2 or 3 */ if (sign) { rv.d = -rv.d; sign = 0; } #endif /* rv = */ rounded_product(dval(&rv), tens[e]); goto ret; #endif } i = DBL_DIG - nd; if (e <= Ten_pmax + i) { /* A fancier test would sometimes let us do * this for larger i values. */ #ifdef Honor_FLT_ROUNDS /* round correctly FLT_ROUNDS = 2 or 3 */ if (sign) { rv.d = -rv.d; sign = 0; } #endif e -= i; dval(&rv) *= tens[i]; #ifdef VAX /* VAX exponent range is so narrow we must * worry about overflow here... */ vax_ovfl_check: word0(&rv) -= P*Exp_msk1; /* rv = */ rounded_product(dval(&rv), tens[e]); if ((word0(&rv) & Exp_mask) > Exp_msk1*(DBL_MAX_EXP+Bias-1-P)) goto ovfl; word0(&rv) += P*Exp_msk1; #else /* rv = */ rounded_product(dval(&rv), tens[e]); #endif goto ret; } } #ifndef Inaccurate_Divide else if (e >= -Ten_pmax) { #ifdef Honor_FLT_ROUNDS /* round correctly FLT_ROUNDS = 2 or 3 */ if (sign) { rv.d = -rv.d; sign = 0; } #endif /* rv = */ rounded_quotient(dval(&rv), tens[-e]); goto ret; } #endif } e1 += nd - k; #ifdef IEEE_Arith #ifdef SET_INEXACT bc.inexact = 1; if (k <= DBL_DIG) oldinexact = get_inexact(); #endif #ifdef Avoid_Underflow bc.scale = 0; #endif #ifdef Honor_FLT_ROUNDS if (bc.rounding >= 2) { if (sign) bc.rounding = bc.rounding == 2 ? 0 : 2; else if (bc.rounding != 2) bc.rounding = 0; } #endif #endif /*IEEE_Arith*/ /* Get starting approximation = rv * 10**e1 */ if (e1 > 0) { if ((i = e1 & 15)) dval(&rv) *= tens[i]; if (e1 &= ~15) { if (e1 > DBL_MAX_10_EXP) { ovfl: /* Can't trust HUGE_VAL */ #ifdef IEEE_Arith #ifdef Honor_FLT_ROUNDS switch(bc.rounding) { case 0: /* toward 0 */ case 3: /* toward -infinity */ word0(&rv) = Big0; word1(&rv) = Big1; break; default: word0(&rv) = Exp_mask; word1(&rv) = 0; } #else /*Honor_FLT_ROUNDS*/ word0(&rv) = Exp_mask; word1(&rv) = 0; #endif /*Honor_FLT_ROUNDS*/ #ifdef SET_INEXACT /* set overflow bit */ dval(&rv0) = 1e300; dval(&rv0) *= dval(&rv0); #endif #else /*IEEE_Arith*/ word0(&rv) = Big0; word1(&rv) = Big1; #endif /*IEEE_Arith*/ range_err: if (bd0) { Bfree(bb); Bfree(bd); Bfree(bs); Bfree(bd0); Bfree(delta); } #ifndef NO_ERRNO errno = ERANGE; #endif goto ret; } e1 >>= 4; for(j = 0; e1 > 1; j++, e1 >>= 1) if (e1 & 1) dval(&rv) *= bigtens[j]; /* The last multiplication could overflow. */ word0(&rv) -= P*Exp_msk1; dval(&rv) *= bigtens[j]; if ((z = word0(&rv) & Exp_mask) > Exp_msk1*(DBL_MAX_EXP+Bias-P)) goto ovfl; if (z > Exp_msk1*(DBL_MAX_EXP+Bias-1-P)) { /* set to largest number */ /* (Can't trust DBL_MAX) */ word0(&rv) = Big0; word1(&rv) = Big1; } else word0(&rv) += P*Exp_msk1; } } else if (e1 < 0) { e1 = -e1; if ((i = e1 & 15)) dval(&rv) /= tens[i]; if (e1 >>= 4) { if (e1 >= 1 << n_bigtens) goto undfl; #ifdef Avoid_Underflow if (e1 & Scale_Bit) bc.scale = 2*P; for(j = 0; e1 > 0; j++, e1 >>= 1) if (e1 & 1) dval(&rv) *= tinytens[j]; if (bc.scale && (j = 2*P + 1 - ((word0(&rv) & Exp_mask) >> Exp_shift)) > 0) { /* scaled rv is denormal; clear j low bits */ if (j >= 32) { if (j > 54) goto undfl; word1(&rv) = 0; if (j >= 53) word0(&rv) = (P+2)*Exp_msk1; else word0(&rv) &= 0xffffffff << (j-32); } else word1(&rv) &= 0xffffffff << j; } #else for(j = 0; e1 > 1; j++, e1 >>= 1) if (e1 & 1) dval(&rv) *= tinytens[j]; /* The last multiplication could underflow. */ dval(&rv0) = dval(&rv); dval(&rv) *= tinytens[j]; if (!dval(&rv)) { dval(&rv) = 2.*dval(&rv0); dval(&rv) *= tinytens[j]; #endif if (!dval(&rv)) { undfl: dval(&rv) = 0.; goto range_err; } #ifndef Avoid_Underflow word0(&rv) = Tiny0; word1(&rv) = Tiny1; /* The refinement below will clean * this approximation up. */ } #endif } } /* Now the hard part -- adjusting rv to the correct value.*/ /* Put digits into bd: true value = bd * 10^e */ bc.nd = nd - nz1; #ifndef NO_STRTOD_BIGCOMP bc.nd0 = nd0; /* Only needed if nd > strtod_diglim, but done here */ /* to silence an erroneous warning about bc.nd0 */ /* possibly not being initialized. */ if (nd > strtod_diglim) { /* ASSERT(strtod_diglim >= 18); 18 == one more than the */ /* minimum number of decimal digits to distinguish double values */ /* in IEEE arithmetic. */ i = j = 18; if (i > nd0) j += bc.dplen; for(;;) { if (--j < bc.dp1 && j >= bc.dp0) j = bc.dp0 - 1; if (s0[j] != '0') break; --i; } e += nd - i; nd = i; if (nd0 > nd) nd0 = nd; if (nd < 9) { /* must recompute y */ y = 0; for(i = 0; i < nd0; ++i) y = 10*y + s0[i] - '0'; for(j = bc.dp1; i < nd; ++i) y = 10*y + s0[j++] - '0'; } } #endif bd0 = s2b(s0, nd0, nd, y, bc.dplen); for(;;) { bd = Balloc(bd0->k); Bcopy(bd, bd0); bb = d2b(&rv, &bbe, &bbbits); /* rv = bb * 2^bbe */ bs = i2b(1); if (e >= 0) { bb2 = bb5 = 0; bd2 = bd5 = e; } else { bb2 = bb5 = -e; bd2 = bd5 = 0; } if (bbe >= 0) bb2 += bbe; else bd2 -= bbe; bs2 = bb2; #ifdef Honor_FLT_ROUNDS if (bc.rounding != 1) bs2++; #endif #ifdef Avoid_Underflow Lsb = LSB; Lsb1 = 0; j = bbe - bc.scale; i = j + bbbits - 1; /* logb(rv) */ j = P + 1 - bbbits; if (i < Emin) { /* denormal */ i = Emin - i; j -= i; if (i < 32) Lsb <<= i; else if (i < 52) Lsb1 = Lsb << (i-32); else Lsb1 = Exp_mask; } #else /*Avoid_Underflow*/ #ifdef Sudden_Underflow #ifdef IBM j = 1 + 4*P - 3 - bbbits + ((bbe + bbbits - 1) & 3); #else j = P + 1 - bbbits; #endif #else /*Sudden_Underflow*/ j = bbe; i = j + bbbits - 1; /* logb(rv) */ if (i < Emin) /* denormal */ j += P - Emin; else j = P + 1 - bbbits; #endif /*Sudden_Underflow*/ #endif /*Avoid_Underflow*/ bb2 += j; bd2 += j; #ifdef Avoid_Underflow bd2 += bc.scale; #endif i = bb2 < bd2 ? bb2 : bd2; if (i > bs2) i = bs2; if (i > 0) { bb2 -= i; bd2 -= i; bs2 -= i; } if (bb5 > 0) { bs = pow5mult(bs, bb5); bb1 = mult(bs, bb); Bfree(bb); bb = bb1; } if (bb2 > 0) bb = lshift(bb, bb2); if (bd5 > 0) bd = pow5mult(bd, bd5); if (bd2 > 0) bd = lshift(bd, bd2); if (bs2 > 0) bs = lshift(bs, bs2); delta = diff(bb, bd); bc.dsign = delta->sign; delta->sign = 0; i = cmp(delta, bs); #ifndef NO_STRTOD_BIGCOMP /*{*/ if (bc.nd > nd && i <= 0) { if (bc.dsign) { /* Must use bigcomp(). */ req_bigcomp = 1; break; } #ifdef Honor_FLT_ROUNDS if (bc.rounding != 1) { if (i < 0) { req_bigcomp = 1; break; } } else #endif i = -1; /* Discarded digits make delta smaller. */ } #endif /*}*/ #ifdef Honor_FLT_ROUNDS /*{*/ if (bc.rounding != 1) { if (i < 0) { /* Error is less than an ulp */ if (!delta->x[0] && delta->wds <= 1) { /* exact */ #ifdef SET_INEXACT bc.inexact = 0; #endif break; } if (bc.rounding) { if (bc.dsign) { adj.d = 1.; goto apply_adj; } } else if (!bc.dsign) { adj.d = -1.; if (!word1(&rv) && !(word0(&rv) & Frac_mask)) { y = word0(&rv) & Exp_mask; #ifdef Avoid_Underflow if (!bc.scale || y > 2*P*Exp_msk1) #else if (y) #endif { delta = lshift(delta,Log2P); if (cmp(delta, bs) <= 0) adj.d = -0.5; } } apply_adj: #ifdef Avoid_Underflow /*{*/ if (bc.scale && (y = word0(&rv) & Exp_mask) <= 2*P*Exp_msk1) word0(&adj) += (2*P+1)*Exp_msk1 - y; #else #ifdef Sudden_Underflow if ((word0(&rv) & Exp_mask) <= P*Exp_msk1) { word0(&rv) += P*Exp_msk1; dval(&rv) += adj.d*ulp(dval(&rv)); word0(&rv) -= P*Exp_msk1; } else #endif /*Sudden_Underflow*/ #endif /*Avoid_Underflow}*/ dval(&rv) += adj.d*ulp(&rv); } break; } adj.d = ratio(delta, bs); if (adj.d < 1.) adj.d = 1.; if (adj.d <= 0x7ffffffe) { /* adj = rounding ? ceil(adj) : floor(adj); */ y = adj.d; if (y != adj.d) { if (!((bc.rounding>>1) ^ bc.dsign)) y++; adj.d = y; } } #ifdef Avoid_Underflow /*{*/ if (bc.scale && (y = word0(&rv) & Exp_mask) <= 2*P*Exp_msk1) word0(&adj) += (2*P+1)*Exp_msk1 - y; #else #ifdef Sudden_Underflow if ((word0(&rv) & Exp_mask) <= P*Exp_msk1) { word0(&rv) += P*Exp_msk1; adj.d *= ulp(dval(&rv)); if (bc.dsign) dval(&rv) += adj.d; else dval(&rv) -= adj.d; word0(&rv) -= P*Exp_msk1; goto cont; } #endif /*Sudden_Underflow*/ #endif /*Avoid_Underflow}*/ adj.d *= ulp(&rv); if (bc.dsign) { if (word0(&rv) == Big0 && word1(&rv) == Big1) goto ovfl; dval(&rv) += adj.d; } else dval(&rv) -= adj.d; goto cont; } #endif /*}Honor_FLT_ROUNDS*/ if (i < 0) { /* Error is less than half an ulp -- check for * special case of mantissa a power of two. */ if (bc.dsign || word1(&rv) || word0(&rv) & Bndry_mask #ifdef IEEE_Arith /*{*/ #ifdef Avoid_Underflow || (word0(&rv) & Exp_mask) <= (2*P+1)*Exp_msk1 #else || (word0(&rv) & Exp_mask) <= Exp_msk1 #endif #endif /*}*/ ) { #ifdef SET_INEXACT if (!delta->x[0] && delta->wds <= 1) bc.inexact = 0; #endif break; } if (!delta->x[0] && delta->wds <= 1) { /* exact result */ #ifdef SET_INEXACT bc.inexact = 0; #endif break; } delta = lshift(delta,Log2P); if (cmp(delta, bs) > 0) goto drop_down; break; } if (i == 0) { /* exactly half-way between */ if (bc.dsign) { if ((word0(&rv) & Bndry_mask1) == Bndry_mask1 && word1(&rv) == ( #ifdef Avoid_Underflow (bc.scale && (y = word0(&rv) & Exp_mask) <= 2*P*Exp_msk1) ? (0xffffffff & (0xffffffff << (2*P+1-(y>>Exp_shift)))) : #endif 0xffffffff)) { /*boundary case -- increment exponent*/ if (word0(&rv) == Big0 && word1(&rv) == Big1) goto ovfl; word0(&rv) = (word0(&rv) & Exp_mask) + Exp_msk1 #ifdef IBM | Exp_msk1 >> 4 #endif ; word1(&rv) = 0; #ifdef Avoid_Underflow bc.dsign = 0; #endif break; } } else if (!(word0(&rv) & Bndry_mask) && !word1(&rv)) { drop_down: /* boundary case -- decrement exponent */ #ifdef Sudden_Underflow /*{{*/ L = word0(&rv) & Exp_mask; #ifdef IBM if (L < Exp_msk1) #else #ifdef Avoid_Underflow if (L <= (bc.scale ? (2*P+1)*Exp_msk1 : Exp_msk1)) #else if (L <= Exp_msk1) #endif /*Avoid_Underflow*/ #endif /*IBM*/ { if (bc.nd >nd) { bc.uflchk = 1; break; } goto undfl; } L -= Exp_msk1; #else /*Sudden_Underflow}{*/ #ifdef Avoid_Underflow if (bc.scale) { L = word0(&rv) & Exp_mask; if (L <= (2*P+1)*Exp_msk1) { if (L > (P+2)*Exp_msk1) /* round even ==> */ /* accept rv */ break; /* rv = smallest denormal */ if (bc.nd >nd) { bc.uflchk = 1; break; } goto undfl; } } #endif /*Avoid_Underflow*/ L = (word0(&rv) & Exp_mask) - Exp_msk1; #endif /*Sudden_Underflow}}*/ word0(&rv) = L | Bndry_mask1; word1(&rv) = 0xffffffff; #ifdef IBM goto cont; #else #ifndef NO_STRTOD_BIGCOMP if (bc.nd > nd) goto cont; #endif break; #endif } #ifndef ROUND_BIASED #ifdef Avoid_Underflow if (Lsb1) { if (!(word0(&rv) & Lsb1)) break; } else if (!(word1(&rv) & Lsb)) break; #else if (!(word1(&rv) & LSB)) break; #endif #endif if (bc.dsign) #ifdef Avoid_Underflow dval(&rv) += sulp(&rv, &bc); #else dval(&rv) += ulp(&rv); #endif #ifndef ROUND_BIASED else { #ifdef Avoid_Underflow dval(&rv) -= sulp(&rv, &bc); #else dval(&rv) -= ulp(&rv); #endif #ifndef Sudden_Underflow if (!dval(&rv)) { if (bc.nd >nd) { bc.uflchk = 1; break; } goto undfl; } #endif } #ifdef Avoid_Underflow bc.dsign = 1 - bc.dsign; #endif #endif break; } if ((aadj = ratio(delta, bs)) <= 2.) { if (bc.dsign) aadj = aadj1 = 1.; else if (word1(&rv) || word0(&rv) & Bndry_mask) { #ifndef Sudden_Underflow if (word1(&rv) == Tiny1 && !word0(&rv)) { if (bc.nd >nd) { bc.uflchk = 1; break; } goto undfl; } #endif aadj = 1.; aadj1 = -1.; } else { /* special case -- power of FLT_RADIX to be */ /* rounded down... */ if (aadj < 2./FLT_RADIX) aadj = 1./FLT_RADIX; else aadj *= 0.5; aadj1 = -aadj; } } else { aadj *= 0.5; aadj1 = bc.dsign ? aadj : -aadj; #ifdef Check_FLT_ROUNDS switch(bc.rounding) { case 2: /* towards +infinity */ aadj1 -= 0.5; break; case 0: /* towards 0 */ case 3: /* towards -infinity */ aadj1 += 0.5; } #else if (Flt_Rounds == 0) aadj1 += 0.5; #endif /*Check_FLT_ROUNDS*/ } y = word0(&rv) & Exp_mask; /* Check for overflow */ if (y == Exp_msk1*(DBL_MAX_EXP+Bias-1)) { dval(&rv0) = dval(&rv); word0(&rv) -= P*Exp_msk1; adj.d = aadj1 * ulp(&rv); dval(&rv) += adj.d; if ((word0(&rv) & Exp_mask) >= Exp_msk1*(DBL_MAX_EXP+Bias-P)) { if (word0(&rv0) == Big0 && word1(&rv0) == Big1) goto ovfl; word0(&rv) = Big0; word1(&rv) = Big1; goto cont; } else word0(&rv) += P*Exp_msk1; } else { #ifdef Avoid_Underflow if (bc.scale && y <= 2*P*Exp_msk1) { if (aadj <= 0x7fffffff) { if ((z = aadj) <= 0) z = 1; aadj = z; aadj1 = bc.dsign ? aadj : -aadj; } dval(&aadj2) = aadj1; word0(&aadj2) += (2*P+1)*Exp_msk1 - y; aadj1 = dval(&aadj2); adj.d = aadj1 * ulp(&rv); dval(&rv) += adj.d; if (rv.d == 0.) #ifdef NO_STRTOD_BIGCOMP goto undfl; #else { if (bc.nd > nd) bc.dsign = 1; break; } #endif } else { adj.d = aadj1 * ulp(&rv); dval(&rv) += adj.d; } #else #ifdef Sudden_Underflow if ((word0(&rv) & Exp_mask) <= P*Exp_msk1) { dval(&rv0) = dval(&rv); word0(&rv) += P*Exp_msk1; adj.d = aadj1 * ulp(&rv); dval(&rv) += adj.d; #ifdef IBM if ((word0(&rv) & Exp_mask) < P*Exp_msk1) #else if ((word0(&rv) & Exp_mask) <= P*Exp_msk1) #endif { if (word0(&rv0) == Tiny0 && word1(&rv0) == Tiny1) { if (bc.nd >nd) { bc.uflchk = 1; break; } goto undfl; } word0(&rv) = Tiny0; word1(&rv) = Tiny1; goto cont; } else word0(&rv) -= P*Exp_msk1; } else { adj.d = aadj1 * ulp(&rv); dval(&rv) += adj.d; } #else /*Sudden_Underflow*/ /* Compute adj so that the IEEE rounding rules will * correctly round rv + adj in some half-way cases. * If rv * ulp(rv) is denormalized (i.e., * y <= (P-1)*Exp_msk1), we must adjust aadj to avoid * trouble from bits lost to denormalization; * example: 1.2e-307 . */ if (y <= (P-1)*Exp_msk1 && aadj > 1.) { aadj1 = (double)(int)(aadj + 0.5); if (!bc.dsign) aadj1 = -aadj1; } adj.d = aadj1 * ulp(&rv); dval(&rv) += adj.d; #endif /*Sudden_Underflow*/ #endif /*Avoid_Underflow*/ } z = word0(&rv) & Exp_mask; #ifndef SET_INEXACT if (bc.nd == nd) { #ifdef Avoid_Underflow if (!bc.scale) #endif if (y == z) { /* Can we stop now? */ L = (Long)aadj; aadj -= L; /* The tolerances below are conservative. */ if (bc.dsign || word1(&rv) || word0(&rv) & Bndry_mask) { if (aadj < .4999999 || aadj > .5000001) break; } else if (aadj < .4999999/FLT_RADIX) break; } } #endif cont: Bfree(bb); Bfree(bd); Bfree(bs); Bfree(delta); } Bfree(bb); Bfree(bd); Bfree(bs); Bfree(bd0); Bfree(delta); #ifndef NO_STRTOD_BIGCOMP if (req_bigcomp) { bd0 = 0; bc.e0 += nz1; bigcomp(&rv, s0, &bc); y = word0(&rv) & Exp_mask; if (y == Exp_mask) goto ovfl; if (y == 0 && rv.d == 0.) goto undfl; } #endif #ifdef SET_INEXACT if (bc.inexact) { if (!oldinexact) { word0(&rv0) = Exp_1 + (70 << Exp_shift); word1(&rv0) = 0; dval(&rv0) += 1.; } } else if (!oldinexact) clear_inexact(); #endif #ifdef Avoid_Underflow if (bc.scale) { word0(&rv0) = Exp_1 - 2*P*Exp_msk1; word1(&rv0) = 0; dval(&rv) *= dval(&rv0); #ifndef NO_ERRNO /* try to avoid the bug of testing an 8087 register value */ #ifdef IEEE_Arith if (!(word0(&rv) & Exp_mask)) #else if (word0(&rv) == 0 && word1(&rv) == 0) #endif errno = ERANGE; #endif } #endif /* Avoid_Underflow */ #ifdef SET_INEXACT if (bc.inexact && !(word0(&rv) & Exp_mask)) { /* set underflow bit */ dval(&rv0) = 1e-300; dval(&rv0) *= dval(&rv0); } #endif ret: if (se) *se = (char *)s; return sign ? -dval(&rv) : dval(&rv); } #ifndef MULTIPLE_THREADS static char *dtoa_result; #endif static char * #ifdef KR_headers rv_alloc(i) int i; #else rv_alloc(int i) #endif { int j, k, *r; j = sizeof(ULong); for(k = 0; sizeof(Bigint) - sizeof(ULong) - sizeof(int) + j <= i; j <<= 1) k++; r = (int*)Balloc(k); *r = k; return #ifndef MULTIPLE_THREADS dtoa_result = #endif (char *)(r+1); } static char * #ifdef KR_headers nrv_alloc(s, rve, n) char *s, **rve; int n; #else nrv_alloc(char *s, char **rve, int n) #endif { char *rv, *t; t = rv = rv_alloc(n); while((*t = *s++)) t++; if (rve) *rve = t; return rv; } /* freedtoa(s) must be used to free values s returned by dtoa * when MULTIPLE_THREADS is #defined. It should be used in all cases, * but for consistency with earlier versions of dtoa, it is optional * when MULTIPLE_THREADS is not defined. */ void #ifdef KR_headers freedtoa(s) char *s; #else freedtoa(char *s) #endif { Bigint *b = (Bigint *)((int *)s - 1); b->maxwds = 1 << (b->k = *(int*)b); Bfree(b); #ifndef MULTIPLE_THREADS if (s == dtoa_result) dtoa_result = 0; #endif } /* dtoa for IEEE arithmetic (dmg): convert double to ASCII string. * * Inspired by "How to Print Floating-Point Numbers Accurately" by * Guy L. Steele, Jr. and Jon L. White [Proc. ACM SIGPLAN '90, pp. 112-126]. * * Modifications: * 1. Rather than iterating, we use a simple numeric overestimate * to determine k = floor(log10(d)). We scale relevant * quantities using O(log2(k)) rather than O(k) multiplications. * 2. For some modes > 2 (corresponding to ecvt and fcvt), we don't * try to generate digits strictly left to right. Instead, we * compute with fewer bits and propagate the carry if necessary * when rounding the final digit up. This is often faster. * 3. Under the assumption that input will be rounded nearest, * mode 0 renders 1e23 as 1e23 rather than 9.999999999999999e22. * That is, we allow equality in stopping tests when the * round-nearest rule will give the same floating-point value * as would satisfaction of the stopping test with strict * inequality. * 4. We remove common factors of powers of 2 from relevant * quantities. * 5. When converting floating-point integers less than 1e16, * we use floating-point arithmetic rather than resorting * to multiple-precision integers. * 6. When asked to produce fewer than 15 digits, we first try * to get by with floating-point arithmetic; we resort to * multiple-precision integer arithmetic only if we cannot * guarantee that the floating-point calculation has given * the correctly rounded result. For k requested digits and * "uniformly" distributed input, the probability is * something like 10^(k-15) that we must resort to the Long * calculation. */ char * dtoa #ifdef KR_headers (dd, mode, ndigits, decpt, sign, rve) double dd; int mode, ndigits, *decpt, *sign; char **rve; #else (double dd, int mode, int ndigits, int *decpt, int *sign, char **rve) #endif { /* Arguments ndigits, decpt, sign are similar to those of ecvt and fcvt; trailing zeros are suppressed from the returned string. If not null, *rve is set to point to the end of the return value. If d is +-Infinity or NaN, then *decpt is set to 9999. mode: 0 ==> shortest string that yields d when read in and rounded to nearest. 1 ==> like 0, but with Steele & White stopping rule; e.g. with IEEE P754 arithmetic , mode 0 gives 1e23 whereas mode 1 gives 9.999999999999999e22. 2 ==> max(1,ndigits) significant digits. This gives a return value similar to that of ecvt, except that trailing zeros are suppressed. 3 ==> through ndigits past the decimal point. This gives a return value similar to that from fcvt, except that trailing zeros are suppressed, and ndigits can be negative. 4,5 ==> similar to 2 and 3, respectively, but (in round-nearest mode) with the tests of mode 0 to possibly return a shorter string that rounds to d. With IEEE arithmetic and compilation with -DHonor_FLT_ROUNDS, modes 4 and 5 behave the same as modes 2 and 3 when FLT_ROUNDS != 1. 6-9 ==> Debugging modes similar to mode - 4: don't try fast floating-point estimate (if applicable). Values of mode other than 0-9 are treated as mode 0. Sufficient space is allocated to the return value to hold the suppressed trailing zeros. */ int bbits, b2, b5, be, dig, i, ieps, ilim, ilim0, ilim1, j, j1, k, k0, k_check, leftright, m2, m5, s2, s5, spec_case, try_quick; Long L; #ifndef Sudden_Underflow int denorm; ULong x; #endif Bigint *b, *b1, *delta, *mlo, *mhi, *S; U d2, eps, u; double ds; char *s, *s0; #ifdef SET_INEXACT int inexact, oldinexact; #endif #ifdef Honor_FLT_ROUNDS /*{*/ int Rounding; #ifdef Trust_FLT_ROUNDS /*{{ only define this if FLT_ROUNDS really works! */ Rounding = Flt_Rounds; #else /*}{*/ Rounding = 1; switch(fegetround()) { case FE_TOWARDZERO: Rounding = 0; break; case FE_UPWARD: Rounding = 2; break; case FE_DOWNWARD: Rounding = 3; } #endif /*}}*/ #endif /*}*/ #ifndef MULTIPLE_THREADS if (dtoa_result) { freedtoa(dtoa_result); dtoa_result = 0; } #endif u.d = dd; if (word0(&u) & Sign_bit) { /* set sign for everything, including 0's and NaNs */ *sign = 1; word0(&u) &= ~Sign_bit; /* clear sign bit */ } else *sign = 0; #if defined(IEEE_Arith) + defined(VAX) #ifdef IEEE_Arith if ((word0(&u) & Exp_mask) == Exp_mask) #else if (word0(&u) == 0x8000) #endif { /* Infinity or NaN */ *decpt = 9999; #ifdef IEEE_Arith if (!word1(&u) && !(word0(&u) & 0xfffff)) return nrv_alloc("Infinity", rve, 8); #endif return nrv_alloc("NaN", rve, 3); } #endif #ifdef IBM dval(&u) += 0; /* normalize */ #endif if (!dval(&u)) { *decpt = 1; return nrv_alloc("0", rve, 1); } #ifdef SET_INEXACT try_quick = oldinexact = get_inexact(); inexact = 1; #endif #ifdef Honor_FLT_ROUNDS if (Rounding >= 2) { if (*sign) Rounding = Rounding == 2 ? 0 : 2; else if (Rounding != 2) Rounding = 0; } #endif b = d2b(&u, &be, &bbits); #ifdef Sudden_Underflow i = (int)(word0(&u) >> Exp_shift1 & (Exp_mask>>Exp_shift1)); #else if ((i = (int)(word0(&u) >> Exp_shift1 & (Exp_mask>>Exp_shift1)))) { #endif dval(&d2) = dval(&u); word0(&d2) &= Frac_mask1; word0(&d2) |= Exp_11; #ifdef IBM if (j = 11 - hi0bits(word0(&d2) & Frac_mask)) dval(&d2) /= 1 << j; #endif /* log(x) ~=~ log(1.5) + (x-1.5)/1.5 * log10(x) = log(x) / log(10) * ~=~ log(1.5)/log(10) + (x-1.5)/(1.5*log(10)) * log10(d) = (i-Bias)*log(2)/log(10) + log10(d2) * * This suggests computing an approximation k to log10(d) by * * k = (i - Bias)*0.301029995663981 * + ( (d2-1.5)*0.289529654602168 + 0.176091259055681 ); * * We want k to be too large rather than too small. * The error in the first-order Taylor series approximation * is in our favor, so we just round up the constant enough * to compensate for any error in the multiplication of * (i - Bias) by 0.301029995663981; since |i - Bias| <= 1077, * and 1077 * 0.30103 * 2^-52 ~=~ 7.2e-14, * adding 1e-13 to the constant term more than suffices. * Hence we adjust the constant term to 0.1760912590558. * (We could get a more accurate k by invoking log10, * but this is probably not worthwhile.) */ i -= Bias; #ifdef IBM i <<= 2; i += j; #endif #ifndef Sudden_Underflow denorm = 0; } else { /* d is denormalized */ i = bbits + be + (Bias + (P-1) - 1); x = i > 32 ? word0(&u) << (64 - i) | word1(&u) >> (i - 32) : word1(&u) << (32 - i); dval(&d2) = x; word0(&d2) -= 31*Exp_msk1; /* adjust exponent */ i -= (Bias + (P-1) - 1) + 1; denorm = 1; } #endif ds = (dval(&d2)-1.5)*0.289529654602168 + 0.1760912590558 + i*0.301029995663981; k = (int)ds; if (ds < 0. && ds != k) k--; /* want k = floor(ds) */ k_check = 1; if (k >= 0 && k <= Ten_pmax) { if (dval(&u) < tens[k]) k--; k_check = 0; } j = bbits - i - 1; if (j >= 0) { b2 = 0; s2 = j; } else { b2 = -j; s2 = 0; } if (k >= 0) { b5 = 0; s5 = k; s2 += k; } else { b2 -= k; b5 = -k; s5 = 0; } if (mode < 0 || mode > 9) mode = 0; #ifndef SET_INEXACT #ifdef Check_FLT_ROUNDS try_quick = Rounding == 1; #else try_quick = 1; #endif #endif /*SET_INEXACT*/ if (mode > 5) { mode -= 4; try_quick = 0; } leftright = 1; ilim = ilim1 = -1; /* Values for cases 0 and 1; done here to */ /* silence erroneous "gcc -Wall" warning. */ switch(mode) { case 0: case 1: i = 18; ndigits = 0; break; case 2: leftright = 0; /* no break */ case 4: if (ndigits <= 0) ndigits = 1; ilim = ilim1 = i = ndigits; break; case 3: leftright = 0; /* no break */ case 5: i = ndigits + k + 1; ilim = i; ilim1 = i - 1; if (i <= 0) i = 1; } s = s0 = rv_alloc(i); #ifdef Honor_FLT_ROUNDS if (mode > 1 && Rounding != 1) leftright = 0; #endif if (ilim >= 0 && ilim <= Quick_max && try_quick) { /* Try to get by with floating-point arithmetic. */ i = 0; dval(&d2) = dval(&u); k0 = k; ilim0 = ilim; ieps = 2; /* conservative */ if (k > 0) { ds = tens[k&0xf]; j = k >> 4; if (j & Bletch) { /* prevent overflows */ j &= Bletch - 1; dval(&u) /= bigtens[n_bigtens-1]; ieps++; } for(; j; j >>= 1, i++) if (j & 1) { ieps++; ds *= bigtens[i]; } dval(&u) /= ds; } else if ((j1 = -k)) { dval(&u) *= tens[j1 & 0xf]; for(j = j1 >> 4; j; j >>= 1, i++) if (j & 1) { ieps++; dval(&u) *= bigtens[i]; } } if (k_check && dval(&u) < 1. && ilim > 0) { if (ilim1 <= 0) goto fast_failed; ilim = ilim1; k--; dval(&u) *= 10.; ieps++; } dval(&eps) = ieps*dval(&u) + 7.; word0(&eps) -= (P-1)*Exp_msk1; if (ilim == 0) { S = mhi = 0; dval(&u) -= 5.; if (dval(&u) > dval(&eps)) goto one_digit; if (dval(&u) < -dval(&eps)) goto no_digits; goto fast_failed; } #ifndef No_leftright if (leftright) { /* Use Steele & White method of only * generating digits needed. */ dval(&eps) = 0.5/tens[ilim-1] - dval(&eps); for(i = 0;;) { L = dval(&u); dval(&u) -= L; *s++ = '0' + (int)L; if (dval(&u) < dval(&eps)) goto ret1; if (1. - dval(&u) < dval(&eps)) goto bump_up; if (++i >= ilim) break; dval(&eps) *= 10.; dval(&u) *= 10.; } } else { #endif /* Generate ilim digits, then fix them up. */ dval(&eps) *= tens[ilim-1]; for(i = 1;; i++, dval(&u) *= 10.) { L = (Long)(dval(&u)); if (!(dval(&u) -= L)) ilim = i; *s++ = '0' + (int)L; if (i == ilim) { if (dval(&u) > 0.5 + dval(&eps)) goto bump_up; else if (dval(&u) < 0.5 - dval(&eps)) { while(*--s == '0'); s++; goto ret1; } break; } } #ifndef No_leftright } #endif fast_failed: s = s0; dval(&u) = dval(&d2); k = k0; ilim = ilim0; } /* Do we have a "small" integer? */ if (be >= 0 && k <= Int_max) { /* Yes. */ ds = tens[k]; if (ndigits < 0 && ilim <= 0) { S = mhi = 0; if (ilim < 0 || dval(&u) <= 5*ds) goto no_digits; goto one_digit; } for(i = 1;; i++, dval(&u) *= 10.) { L = (Long)(dval(&u) / ds); dval(&u) -= L*ds; #ifdef Check_FLT_ROUNDS /* If FLT_ROUNDS == 2, L will usually be high by 1 */ if (dval(&u) < 0) { L--; dval(&u) += ds; } #endif *s++ = '0' + (int)L; if (!dval(&u)) { #ifdef SET_INEXACT inexact = 0; #endif break; } if (i == ilim) { #ifdef Honor_FLT_ROUNDS if (mode > 1) switch(Rounding) { case 0: goto ret1; case 2: goto bump_up; } #endif dval(&u) += dval(&u); #ifdef ROUND_BIASED if (dval(&u) >= ds) #else if (dval(&u) > ds || (dval(&u) == ds && L & 1)) #endif { bump_up: while(*--s == '9') if (s == s0) { k++; *s = '0'; break; } ++*s++; } break; } } goto ret1; } m2 = b2; m5 = b5; mhi = mlo = 0; if (leftright) { i = #ifndef Sudden_Underflow denorm ? be + (Bias + (P-1) - 1 + 1) : #endif #ifdef IBM 1 + 4*P - 3 - bbits + ((bbits + be - 1) & 3); #else 1 + P - bbits; #endif b2 += i; s2 += i; mhi = i2b(1); } if (m2 > 0 && s2 > 0) { i = m2 < s2 ? m2 : s2; b2 -= i; m2 -= i; s2 -= i; } if (b5 > 0) { if (leftright) { if (m5 > 0) { mhi = pow5mult(mhi, m5); b1 = mult(mhi, b); Bfree(b); b = b1; } if ((j = b5 - m5)) b = pow5mult(b, j); } else b = pow5mult(b, b5); } S = i2b(1); if (s5 > 0) S = pow5mult(S, s5); /* Check for special case that d is a normalized power of 2. */ spec_case = 0; if ((mode < 2 || leftright) #ifdef Honor_FLT_ROUNDS && Rounding == 1 #endif ) { if (!word1(&u) && !(word0(&u) & Bndry_mask) #ifndef Sudden_Underflow && word0(&u) & (Exp_mask & ~Exp_msk1) #endif ) { /* The special case */ b2 += Log2P; s2 += Log2P; spec_case = 1; } } /* Arrange for convenient computation of quotients: * shift left if necessary so divisor has 4 leading 0 bits. * * Perhaps we should just compute leading 28 bits of S once * and for all and pass them and a shift to quorem, so it * can do shifts and ors to compute the numerator for q. */ i = dshift(S, s2); b2 += i; m2 += i; s2 += i; if (b2 > 0) b = lshift(b, b2); if (s2 > 0) S = lshift(S, s2); if (k_check) { if (cmp(b,S) < 0) { k--; b = multadd(b, 10, 0); /* we botched the k estimate */ if (leftright) mhi = multadd(mhi, 10, 0); ilim = ilim1; } } if (ilim <= 0 && (mode == 3 || mode == 5)) { if (ilim < 0 || cmp(b,S = multadd(S,5,0)) <= 0) { /* no digits, fcvt style */ no_digits: k = -1 - ndigits; goto ret; } one_digit: *s++ = '1'; k++; goto ret; } if (leftright) { if (m2 > 0) mhi = lshift(mhi, m2); /* Compute mlo -- check for special case * that d is a normalized power of 2. */ mlo = mhi; if (spec_case) { mhi = Balloc(mhi->k); Bcopy(mhi, mlo); mhi = lshift(mhi, Log2P); } for(i = 1;;i++) { dig = quorem(b,S) + '0'; /* Do we yet have the shortest decimal string * that will round to d? */ j = cmp(b, mlo); delta = diff(S, mhi); j1 = delta->sign ? 1 : cmp(b, delta); Bfree(delta); #ifndef ROUND_BIASED if (j1 == 0 && mode != 1 && !(word1(&u) & 1) #ifdef Honor_FLT_ROUNDS && Rounding >= 1 #endif ) { if (dig == '9') goto round_9_up; if (j > 0) dig++; #ifdef SET_INEXACT else if (!b->x[0] && b->wds <= 1) inexact = 0; #endif *s++ = dig; goto ret; } #endif if (j < 0 || (j == 0 && mode != 1 #ifndef ROUND_BIASED && !(word1(&u) & 1) #endif )) { if (!b->x[0] && b->wds <= 1) { #ifdef SET_INEXACT inexact = 0; #endif goto accept_dig; } #ifdef Honor_FLT_ROUNDS if (mode > 1) switch(Rounding) { case 0: goto accept_dig; case 2: goto keep_dig; } #endif /*Honor_FLT_ROUNDS*/ if (j1 > 0) { b = lshift(b, 1); j1 = cmp(b, S); #ifdef ROUND_BIASED if (j1 >= 0 /*)*/ #else if ((j1 > 0 || (j1 == 0 && dig & 1)) #endif && dig++ == '9') goto round_9_up; } accept_dig: *s++ = dig; goto ret; } if (j1 > 0) { #ifdef Honor_FLT_ROUNDS if (!Rounding) goto accept_dig; #endif if (dig == '9') { /* possible if i == 1 */ round_9_up: *s++ = '9'; goto roundoff; } *s++ = dig + 1; goto ret; } #ifdef Honor_FLT_ROUNDS keep_dig: #endif *s++ = dig; if (i == ilim) break; b = multadd(b, 10, 0); if (mlo == mhi) mlo = mhi = multadd(mhi, 10, 0); else { mlo = multadd(mlo, 10, 0); mhi = multadd(mhi, 10, 0); } } } else for(i = 1;; i++) { *s++ = dig = quorem(b,S) + '0'; if (!b->x[0] && b->wds <= 1) { #ifdef SET_INEXACT inexact = 0; #endif goto ret; } if (i >= ilim) break; b = multadd(b, 10, 0); } /* Round off last digit */ #ifdef Honor_FLT_ROUNDS switch(Rounding) { case 0: goto trimzeros; case 2: goto roundoff; } #endif b = lshift(b, 1); j = cmp(b, S); #ifdef ROUND_BIASED if (j >= 0) #else if (j > 0 || (j == 0 && dig & 1)) #endif { roundoff: while(*--s == '9') if (s == s0) { k++; *s++ = '1'; goto ret; } ++*s++; } else { #ifdef Honor_FLT_ROUNDS trimzeros: #endif while(*--s == '0'); s++; } ret: Bfree(S); if (mhi) { if (mlo && mlo != mhi) Bfree(mlo); Bfree(mhi); } ret1: #ifdef SET_INEXACT if (inexact) { if (!oldinexact) { word0(&u) = Exp_1 + (70 << Exp_shift); word1(&u) = 0; dval(&u) += 1.; } } else if (!oldinexact) clear_inexact(); #endif Bfree(b); *s = 0; *decpt = k + 1; if (rve) *rve = s; return s0; } #ifdef __cplusplus } #endif smlsharp-1.2.0/src/runtime/object.c0000644 000000000000000000001722312050661606017374 0ustar00rootroot0000000 0000000 /* * object.c * @copyright (c) 2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: value.c,v 1.5 2008/02/05 08:54:35 katsu Exp $ */ #include #include #include #include "smlsharp.h" #include "intinf.h" #include "object.h" #include "objspace.h" #include "heap.h" /* for debug */ static void obj_dump__(int indent, void *obj) { unsigned int i; unsigned int *bitmap; void **field = obj; char *buf; if (obj == NULL) { sml_debug("%*sNULL\n", indent, ""); return; } switch (OBJ_TYPE(obj)) { case OBJTYPE_UNBOXED_ARRAY: case OBJTYPE_UNBOXED_VECTOR: sml_debug("%*s%p:%u:%s\n", indent, "", obj, OBJ_SIZE(obj), (OBJ_TYPE(obj) == OBJTYPE_UNBOXED_ARRAY) ? "UNBOXED_ARRAY" : "UNBOXED_VECTOR"); for (i = 0; i < OBJ_SIZE(obj) / sizeof(unsigned int); i++) sml_debug("%*s0x%08x\n", indent + 2, "", ((unsigned int *)field)[i]); for (i = i * sizeof(unsigned int); i < OBJ_SIZE(obj); i++) sml_debug("%*s0x%02x\n", indent + 2, "", ((unsigned char*)field)[i]); break; case OBJTYPE_BOXED_ARRAY: case OBJTYPE_BOXED_VECTOR: sml_debug("%*s%p:%u:%s\n", indent, "", obj, OBJ_SIZE(obj), (OBJ_TYPE(obj) == OBJTYPE_BOXED_ARRAY) ? "BOXED_ARRAY" : "BOXED_VECTOR"); for (i = 0; i < OBJ_SIZE(obj) / sizeof(void*); i++) obj_dump__(indent + 2, field[i]); for (i = i * sizeof(void*); i < OBJ_SIZE(obj); i++) sml_debug("%*s0x%02x\n", indent + 2, "", ((char*)field)[i]); break; case OBJTYPE_RECORD: sml_debug("%*s%p:%u:RECORD\n", indent, "", obj, OBJ_SIZE(obj)); bitmap = OBJ_BITMAP(obj); for (i = 0; i < OBJ_SIZE(obj) / sizeof(void*); i++) { if (BITMAP_BIT(bitmap, i) != TAG_UNBOXED) obj_dump__(indent + 2, field[i]); else sml_debug("%*s%p\n", indent + 2, "", field[i]); } break; case OBJTYPE_INTINF: buf = sml_intinf_fmt((sml_intinf_t*)obj, 10); sml_debug("%*s%p:%u:INTINF: %s\n", indent, "", obj, OBJ_SIZE(obj), buf); free(buf); break; default: sml_debug("%*s%p:%u:unknown type %u", indent, "", obj, OBJ_SIZE(obj), OBJ_TYPE(obj)); break; } } void sml_obj_dump(void *obj) { obj_dump__(0, obj); } int sml_obj_equal(void *obj1, void *obj2) { unsigned int i, tag; unsigned int *bitmap1, *bitmap2; void **p1, **p2; if (obj1 == obj2) return 1; if (obj1 == NULL || obj2 == NULL) return 0; if (OBJ_SIZE(obj1) != OBJ_SIZE(obj2)) return 0; if (OBJ_TYPE(obj1) != OBJ_TYPE(obj2)) { if (OBJ_TYPE(obj1) == OBJTYPE_RECORD) { void *tmp = obj1; obj1 = obj2, obj2 = tmp; } else if (OBJ_TYPE(obj2) != OBJTYPE_RECORD) return 0; if (OBJ_TYPE(obj1) == OBJTYPE_UNBOXED_VECTOR) tag = TAG_UNBOXED; else if (OBJ_TYPE(obj1) == OBJTYPE_BOXED_VECTOR) tag = TAG_BOXED; else return 0; ASSERT(OBJ_SIZE(obj2) % sizeof(void*) == 0); bitmap2 = OBJ_BITMAP(obj2); for (i = 0; i < OBJ_SIZE(obj2) / sizeof(void*); i++) { if (BITMAP_BIT(bitmap2, i) != tag) return 0; } } switch (OBJ_TYPE(obj1)) { case OBJTYPE_UNBOXED_ARRAY: case OBJTYPE_BOXED_ARRAY: return 0; case OBJTYPE_UNBOXED_VECTOR: return memcmp(obj1, obj2, OBJ_SIZE(obj1)) == 0; case OBJTYPE_BOXED_VECTOR: p1 = obj1; p2 = obj2; ASSERT(OBJ_SIZE(obj1) % sizeof(void*) == 0); for (i = 0; i < OBJ_SIZE(obj1) / sizeof(void*); i++) { if (!sml_obj_equal(p1[i], p2[i])) return 0; } return 1; case OBJTYPE_INTINF: return sml_intinf_cmp((sml_intinf_t*)obj1, (sml_intinf_t*)obj2) == 0; case OBJTYPE_RECORD: bitmap1 = OBJ_BITMAP(obj1); bitmap2 = OBJ_BITMAP(obj2); p1 = obj1; p2 = obj2; ASSERT(OBJ_NUM_BITMAPS(obj1) == OBJ_NUM_BITMAPS(obj2)); ASSERT(OBJ_SIZE(obj1) % sizeof(void*) == 0); for (i = 0; i < OBJ_NUM_BITMAPS(obj1); i++) { if (bitmap1[i] != bitmap2[i]) return 0; } for (i = 0; i < OBJ_SIZE(obj1) / sizeof(void*); i++) { if (BITMAP_BIT(bitmap1, i) == TAG_UNBOXED) { if (p1[i] != p2[i]) return 0; } else { if (!sml_obj_equal(p1[i], p2[i])) return 0; } } return 1; default: sml_fatal(0, "BUG: invalid object type : %d", OBJ_TYPE(obj1)); } } void * sml_obj_dup(void *obj) { void **slot, *newobj; size_t obj_size; switch (OBJ_TYPE(obj)) { case OBJTYPE_UNBOXED_ARRAY: case OBJTYPE_BOXED_ARRAY: case OBJTYPE_UNBOXED_VECTOR: case OBJTYPE_BOXED_VECTOR: obj_size = OBJ_SIZE(obj); slot = sml_push_tmp_rootset(1); *slot = obj; newobj = sml_obj_alloc(OBJ_TYPE(obj), obj_size); memcpy(newobj, *slot, obj_size); sml_pop_tmp_rootset(slot); return newobj; case OBJTYPE_RECORD: obj_size = OBJ_SIZE(obj); slot = sml_push_tmp_rootset(1); *slot = obj; newobj = sml_record_alloc(obj_size); memcpy(newobj, *slot, obj_size + SIZEOF_BITMAP * OBJ_BITMAPS_LEN(obj_size)); sml_pop_tmp_rootset(slot); return newobj; case OBJTYPE_INTINF: newobj = sml_intinf_new(); sml_intinf_set((sml_intinf_t*)newobj, (sml_intinf_t*)obj); return newobj; default: sml_fatal(0, "BUG: invalid object type : %d", OBJ_TYPE(obj)); } } void sml_obj_enum_ptr(void *obj, void (*trace)(void **)) { unsigned int i, size; unsigned int *bitmaps; size = OBJ_SIZE(obj); /* DBG(("%p: size=%lu, type=%08x", obj, (unsigned long)OBJ_SIZE(obj), (unsigned int)OBJ_TYPE(obj))); */ switch (OBJ_TYPE(obj)) { case OBJTYPE_UNBOXED_ARRAY: case OBJTYPE_UNBOXED_VECTOR: case OBJTYPE_INTINF: break; case OBJTYPE_BOXED_ARRAY: case OBJTYPE_BOXED_VECTOR: for (i = 0; i < OBJ_SIZE(obj) / sizeof(void*); i++) trace((void**)obj + i); break; case OBJTYPE_RECORD: bitmaps = OBJ_BITMAP(obj); for (i = 0; i < OBJ_SIZE(obj) / sizeof(void*); i++) { if (BITMAP_BIT(bitmaps, i) != TAG_UNBOXED) trace((void**)obj + i); } break; default: sml_fatal(0, "BUG: invalid object type : %d", OBJ_TYPE(obj)); } } void * sml_obj_alloc(unsigned int objtype, size_t payload_size) { void *obj; ASSERT(((unsigned int)payload_size & OBJ_SIZE_MASK) == payload_size); obj = sml_alloc(payload_size, sml_load_frame_pointer()); OBJ_HEADER(obj) = OBJ_HEADER_WORD(objtype, payload_size); ASSERT(OBJ_SIZE(obj) == payload_size); ASSERT(OBJ_TYPE(obj) == OBJTYPE_UNBOXED_VECTOR || OBJ_TYPE(obj) == OBJTYPE_BOXED_VECTOR || OBJ_TYPE(obj) == OBJTYPE_UNBOXED_ARRAY || OBJ_TYPE(obj) == OBJTYPE_BOXED_ARRAY || OBJ_TYPE(obj) == OBJTYPE_INTINF); ASSERT(OBJ_GC1(obj) == 0 && OBJ_GC2(obj) == 0); return obj; } void * sml_record_alloc(size_t payload_size) { void *obj; size_t bitmap_size; ASSERT(((unsigned int)payload_size & OBJ_SIZE_MASK) == payload_size); payload_size = ALIGNSIZE(payload_size, sizeof(void*)); bitmap_size = OBJ_BITMAPS_LEN(payload_size) * SIZEOF_BITMAP; obj = sml_alloc(payload_size + bitmap_size, sml_load_frame_pointer()); OBJ_HEADER(obj) = OBJ_HEADER_WORD(OBJTYPE_RECORD, payload_size); ASSERT(OBJ_SIZE(obj) == payload_size); ASSERT(OBJ_TYPE(obj) == OBJTYPE_RECORD); ASSERT(OBJ_GC1(obj) == 0 && OBJ_GC2(obj) == 0); return obj; } char * sml_str_alloc(size_t len) { char *obj; obj = sml_obj_alloc(OBJTYPE_UNBOXED_VECTOR, len + 1); obj[len] = '\0'; return obj; } char * sml_str_new2(const char *str, size_t len) { char *obj; obj = sml_obj_alloc(OBJTYPE_UNBOXED_VECTOR, len + 1); memcpy(obj, str, len); obj[len] = '\0'; return obj; } char * sml_str_new(const char *str) { return sml_str_new2(str, strlen(str)); } static void intinf_free(void *obj) { sml_intinf_clear((sml_intinf_t*)obj); } sml_intinf_t * sml_intinf_new() { sml_intinf_t *obj; obj = sml_obj_malloc(sizeof(sml_intinf_t)); OBJ_HEADER(obj) = OBJ_HEADER_WORD(OBJTYPE_INTINF, sizeof(sml_intinf_t)); sml_set_finalizer(obj, intinf_free); sml_intinf_init(obj); return obj; } SML_PRIMITIVE void * sml_obj_empty() { static const unsigned int emptyobj[2] = {OBJTYPE_UNBOXED_VECTOR, 0}; return (void*)&emptyobj[1]; } smlsharp-1.2.0/src/runtime/object.h0000644 000000000000000000001036612050661606017402 0ustar00rootroot0000000 0000000 /* * object.h - SML# heap object format * @copyright (c) 2007, Tohoku University. * @author UENO Katsuhiro * @version $Id: value.h,v 1.6 2008/02/05 08:54:35 katsu Exp $ */ #ifndef SMLSHARP__OBJECT_H__ #define SMLSHARP__OBJECT_H__ #include /* * size of a bitmap word in heap objects and stack frames. */ #define SIZEOF_BITMAP sizeof(unsigned int) #define BITMAP_NUM_BITS (SIZEOF_BITMAP * CHAR_BIT) #define BITMAP_BIT(bitmaps, index) \ (((bitmaps)[(index) / BITMAP_NUM_BITS] >> ((index) % BITMAP_NUM_BITS)) \ & 0x1) #define TAG_UNBOXED 0 #define TAG_BOXED 1 #define BITMAP_WORD(offset) \ ((unsigned int)(1U << ((offset) / sizeof(void*)))) /* * Object format: * * +------+-----------------------------------+---------------+ * |header| payload | bitmap | *--+------+-----------------------------------+---------------+--> addr * ^ * | * objptr * * header (unsigned int) : * Header of the object. See below. * objptr (void*) : * The pointer indicating the object. * This pointer is always aligned for arbitrary type. * payload : * Payload data of the object. * Payload may be either * - arbitrary data, * - array of heap object pointers, * - arbitrary data with bitmap, or * - intinf. * bitmap (unsigned int[]) : * bitmap indicating the position of pointers in payload. * (exists only if header.type == OBJTYPE_RECORD) * * Heap object header: * * Heap object header is an "unsigned int" value placed at * (objptr - sizeof(unsigned int)). * we assume that sizeof(unsigned int) >= 4. * * MSB LSB * +--------+------+-------------------------------+ * | type | gc | size | * +--------+------+-------------------------------+ * 31 28 27 26 25 0 * * equality pointer_detection * OBJTYPE_UNBOXED_VECTOR obj_equal no pointer * OBJTYPE_BOXED_VECTOR obj_equal pointer array * OBJTYPE_UNBOXED_ARRAY pointer_equal no pointer * OBJTYPE_BOXED_ARRAY pointer_equal pointer array * OBJTYPE_RECORD obj_equal bitmap * OBJTYPE_INTINF intinf_equal no pointer * * gc: Flags for garbage collector. * Allocator must be set 0 to these bits. * * size: The size of payload part of the object. */ #define OBJ_HEADER_SIZE sizeof(unsigned int) #define OBJ_TYPE_MASK (~0U << 28) #define OBJ_GC1_MASK (1U << 26) #define OBJ_GC2_MASK (1U << 27) #define OBJ_SIZE_MASK (~(OBJ_TYPE_MASK | OBJ_GC1_MASK | OBJ_GC2_MASK)) #define OBJTYPE_UNBOXED (0U << 28) #define OBJTYPE_BOXED (1U << 28) #define OBJTYPE_VECTOR (0x0U << 29) #define OBJTYPE_ARRAY (0x1U << 29) #define OBJTYPE_UNBOXED_VECTOR (OBJTYPE_VECTOR | OBJTYPE_UNBOXED) #define OBJTYPE_BOXED_VECTOR (OBJTYPE_VECTOR | OBJTYPE_BOXED) #define OBJTYPE_UNBOXED_ARRAY (OBJTYPE_ARRAY | OBJTYPE_UNBOXED) #define OBJTYPE_BOXED_ARRAY (OBJTYPE_ARRAY | OBJTYPE_BOXED) #define OBJTYPE_RECORD ((0x2U << 29) | OBJTYPE_BOXED) #define OBJTYPE_INTINF ((0x3U << 29) | OBJTYPE_UNBOXED) #define OBJ_DUMMY_HEADER 0 /* valid header for dummy object */ #define OBJ_HEADER_WORD(objtype, size) \ ((unsigned int)(objtype) | (unsigned int)(size)) #define OBJ_HEADER(obj) (*(unsigned int*)((char*)(obj) - sizeof(unsigned int))) #define OBJ_TYPE(obj) (OBJ_HEADER(obj) & OBJ_TYPE_MASK) #define OBJ_SIZE(obj) (OBJ_HEADER(obj) & OBJ_SIZE_MASK) #define OBJ_GC1(obj) (OBJ_HEADER(obj) & OBJ_GC1_MASK) #define OBJ_GC2(obj) (OBJ_HEADER(obj) & OBJ_GC2_MASK) #define OBJ_BITMAP(obj) ((unsigned int*)((char*)(obj) + OBJ_SIZE(obj))) /* note that object has bitmap only when OBJ_TYPE == OBJTYPE_RECORD. */ #define OBJ_BITMAPS_LEN(payload_size) \ (((payload_size) / sizeof(void*) + BITMAP_NUM_BITS - 1) \ / BITMAP_NUM_BITS) #define OBJ_NUM_BITMAPS(obj) OBJ_BITMAPS_LEN(OBJ_SIZE(obj)) #define OBJ_TOTAL_SIZE(obj) \ (OBJ_HEADER_SIZE + \ OBJ_SIZE(obj) + (OBJ_TYPE(obj) == OBJTYPE_RECORD \ ? OBJ_NUM_BITMAPS(obj) * SIZEOF_BITMAP : 0)) /* payload of string object includes a sentinel ('\0') */ #define OBJ_STR_SIZE(obj) ((size_t)(OBJ_SIZE(obj) - 1)) #endif /* SMLSHARP__OBJECT_H__ */ smlsharp-1.2.0/src/runtime/objspace.c0000644 000000000000000000003257612050661606017724 0ustar00rootroot0000000 0000000 /* * objspace.c - common heap management features. * @copyright (c) 2010, Tohoku University. * @author UENO Katsuhiro * @version $Id: value.c,v 1.5 2008/02/05 08:54:35 katsu Exp $ */ #include #include #ifdef MULTITHREAD #include #endif /* MULTITHREAD */ #include "smlsharp.h" #include "object.h" #include "control.h" #include "objspace.h" #include "splay.h" /* tree node allocator for persistent trees. */ static sml_obstack_t *persistent_node_obstack = NULL; static void *persistent_node_alloc(size_t size); /* barriered slot */ static int voidp_cmp(void *, void *); static sml_tree_t global_barrier = SML_TREE_INITIALIZER(voidp_cmp, persistent_node_alloc, NULL); /* callback closures */ static int callback_cmp(void *, void *); static sml_tree_t callback_closures = SML_TREE_INITIALIZER(callback_cmp, persistent_node_alloc, NULL); struct callback_item { void *closure; void *entry; void *env; /* ML object. global_barrier keeps track here. */ struct callback_item *next; }; /* malloc heap */ static sml_tree_t malloc_heap = SML_TREE_INITIALIZER(voidp_cmp, xmalloc, free); static size_t malloc_count; struct malloc_obj_header { struct malloc_obj_header *next; /* next object in the stack */ unsigned int flags; }; #define MALLOC_FLAG_REMEMBER 0x1 #define MALLOC_FLAG_TRACED 0x2 /* top of mark stack. * mark stark is used not only for collection but also remembered set for * the next minor collection. */ static struct malloc_obj_header *malloc_stack_top = NULL; #define MALLOC_PADDING \ ALIGNSIZE(sizeof(struct malloc_obj_header) + OBJ_HEADER_SIZE, MAXALIGN) #define MALLOC_HEAD(objptr) \ ((struct malloc_obj_header*)((char*)(objptr) - MALLOC_PADDING)) #define MALLOC_BODY(headptr) \ ((void*)((char*)(headptr) + MALLOC_PADDING)) #define MALLOC_LIMIT (1024 * 1024 * 4) /* finalizer */ struct finalizer { struct finalizer *next; /* for linked list */ void *obj; void (*finalizer)(void *); int active; /* true = requested to run the finalizer. */ }; static int finalizer_cmp(void *, void *); static sml_tree_t finalizer_set = SML_TREE_INITIALIZER(finalizer_cmp, xmalloc, free); static struct finalizer *active_finalizers; static void * persistent_node_alloc(size_t size) { return sml_obstack_alloc(&persistent_node_obstack, size); } static void dump_malloc(void *item, void *data ATTR_UNUSED) { sml_notice("%p (flags=%08x, size=%lu)", item, MALLOC_HEAD(item)->flags, (unsigned long)OBJ_SIZE(item)); } static void dump_finalizer(void *item, void *data ATTR_UNUSED) { struct finalizer *final = item; sml_notice("active=%d, obj=%p, fn=%p", final->active, final->obj, final->finalizer); } static void dump_callback(void *item, void *data ATTR_UNUSED) { struct callback_item *cls = item; while (cls) { sml_notice("closure=%p, entry=%p, env=%p", cls->closure, cls->entry, cls->env); cls = cls->next; } } static void dump_barrier(void *item, void *data ATTR_UNUSED) { sml_notice("%p -> %p", item, *(void**)item); } /* for debug */ void sml_objspace_dump() { struct malloc_obj_header *p; sml_notice("malloc :"); sml_tree_each(&malloc_heap, dump_malloc, NULL); sml_notice("finalizers :"); sml_tree_each(&finalizer_set, dump_finalizer, NULL); sml_notice("callbacks :"); sml_tree_each(&callback_closures, dump_callback, NULL); sml_notice("barriered :"); sml_tree_each(&global_barrier, dump_barrier, NULL); sml_notice("mark stack :"); for (p = malloc_stack_top; p; p = p->next) dump_malloc(MALLOC_BODY(p), NULL); } static int voidp_cmp(void *x, void *y) { uintptr_t m = (uintptr_t)x, n = (uintptr_t)y; if (m < n) return -1; else if (m > n) return 1; else return 0; } void sml_objspace_init(void) { } static void finalize_heap(void *data ATTR_UNUSED) { #ifndef FAIR_COMPARISON /* To run finalizers forcely, invoke GC with empty root set. */ while (finalizer_set.root != NULL) sml_heap_gc(); #endif /* FAIR_COMPARISON */ GIANT_LOCK(NULL); sml_malloc_sweep(MAJOR); /* free all malloc'ed objects */ GIANT_UNLOCK(); } void sml_objspace_free(void) { ASSERT(sml_num_threads() == 0); callback_closures.root = NULL; global_barrier.root = NULL; sml_obstack_free(&persistent_node_obstack, NULL); sml_protect(finalize_heap, NULL); } /* malloc heap */ void * sml_obj_malloc(size_t objsize) { /* objsize = payload_size + bitmap_size */ struct malloc_obj_header *head; void *obj; size_t alloc_size; GIANT_LOCK(NULL); if (malloc_count > MALLOC_LIMIT) { GIANT_UNLOCK(); sml_heap_gc(); GIANT_LOCK(NULL); } alloc_size = MALLOC_PADDING + objsize; head = xmalloc(alloc_size); obj = MALLOC_BODY(head); sml_tree_insert(&malloc_heap, obj); malloc_count += alloc_size; /* if the new object is an immutable object such as record, ML * object pointer may be stored without write barrier during * initialization of the new object. */ head->next = malloc_stack_top; malloc_stack_top = head; head->flags = MALLOC_FLAG_REMEMBER; GIANT_UNLOCK(); OBJ_HEADER(obj) = 0; return obj; } void sml_trace_ptr(void *obj) { ASSERT(GIANT_LOCKED()); if (sml_tree_find(&malloc_heap, obj)) { struct malloc_obj_header *head = MALLOC_HEAD(obj); ASSERT(head->flags != 0 || head->next == NULL); if (head->flags == 0) { head->next = malloc_stack_top; malloc_stack_top = head; } head->flags |= MALLOC_FLAG_TRACED; } } static void malloc_barrier(void *obj) { struct malloc_obj_header *head = MALLOC_HEAD(obj); ASSERT(GIANT_LOCKED()); ASSERT(head->flags == MALLOC_FLAG_REMEMBER || (head->flags == 0 && head->next == NULL)); if (head->flags == 0) { head->flags |= MALLOC_FLAG_REMEMBER; head->next = malloc_stack_top; malloc_stack_top = head; } } int sml_malloc_pop_and_mark(void (*trace)(void **), enum sml_gc_mode mode) { struct malloc_obj_header *head; int found = 0; ASSERT(GIANT_LOCKED()); if (mode == MINOR) { /* check only remembered set */ while (malloc_stack_top) { head = malloc_stack_top; malloc_stack_top = malloc_stack_top->next; if (head->flags & MALLOC_FLAG_REMEMBER) { sml_obj_enum_ptr(MALLOC_BODY(head), trace); found = 1; } head->next = NULL; head->flags = 0; } } else { /* check only traced objects */ while (malloc_stack_top) { head = malloc_stack_top; malloc_stack_top = malloc_stack_top->next; head->next = NULL; if (head->flags & MALLOC_FLAG_TRACED) { sml_obj_enum_ptr(MALLOC_BODY(head), trace); found = 1; } else { head->flags = 0; } } } return found; } static int malloc_heap_sweep(void *item) { void **obj = item; struct malloc_obj_header *head = MALLOC_HEAD(obj); ASSERT(GIANT_LOCKED()); ASSERT(head->next == NULL); if (head->flags == 0) { /* unmarked */ free(head); return 1; } else { head->flags = 0; /* clear mark */ return 0; } } void sml_malloc_sweep(enum sml_gc_mode mode) { ASSERT(GIANT_LOCKED()); ASSERT(malloc_stack_top == NULL); if (mode == MINOR) return; sml_tree_reject(&malloc_heap, malloc_heap_sweep); malloc_count = 0; } static void each_malloc(void *item, void *data) { void (**trace)(void **) = data; sml_obj_enum_ptr(item, *trace); } void sml_malloc_enum_ptr(void (*trace)(void **)) { sml_tree_each(&malloc_heap, each_malloc, &trace); } /* root set management */ static void each_barrier(void *item, void *data) { void (**trace)(void **) = data; void **addr = item; (*trace)(addr); } void sml_rootset_enum_ptr(void (*trace)(void **), enum sml_gc_mode mode) { ASSERT(GIANT_LOCKED()); if (mode != MINOR) { /* global_barrier includes every addresses in * callback_closures where holds an ML object. */ sml_tree_each(&global_barrier, each_barrier, &trace); } sml_control_enum_ptr(trace, mode); } /* global barrier */ void sml_global_barrier(void **writeaddr, void *obj) { /* FIXME: GIANT_LOCK may cause stop-the-world GC. * obj and writeaddr may be moved due to GC. */ GIANT_LOCK(NULL); /* check whether obj is in malloc heap. */ if (sml_tree_find(&malloc_heap, obj)) { malloc_barrier(obj); } else { /* There is a reference to an ML object from outside. * remember the writeaddr as a root set. */ sml_tree_insert(&global_barrier, writeaddr); } GIANT_UNLOCK(); } /* finalizer */ static int finalizer_cmp(void *x, void *y) { struct finalizer *final1 = x; struct finalizer *final2 = y; return voidp_cmp(final1->obj, final2->obj); } void sml_set_finalizer(void *obj, void (*finalizer)(void *)) { struct finalizer *final, key; void **slot; /* NOTE: GIANT_LOCK may cause stop-the-world GC. * To avoid for obj to be collected, store the obj to the root set. */ slot = sml_push_tmp_rootset(1); *slot = obj; GIANT_LOCK(NULL); key.obj = *slot; sml_pop_tmp_rootset(slot); if (finalizer == NULL) { sml_tree_delete(&finalizer_set, &key); return; } final = sml_tree_find(&finalizer_set, &key); if (final == NULL) { ASSERT(sml_tree_find(&malloc_heap, obj)); final = xmalloc(sizeof(struct finalizer)); final->active = 0; final->obj = obj; sml_tree_insert(&finalizer_set, final); } /* obj is a malloc'ed object. No need to call write barrier. */ ASSERT(final->active == 0); final->finalizer = finalizer; GIANT_UNLOCK(); } static void each_check_finalizer(void *item, void *data) { void (**p_trace_rec)(void **) = data; void (*trace_rec)(void **) = *p_trace_rec; struct finalizer *final = item; if (final->finalizer == NULL) return; if (MALLOC_HEAD(final->obj)->flags & MALLOC_FLAG_TRACED) { DBG(("%p: survived", final->obj)); return; } /* Save all descendants of the finalizable object. * If the object itself is forwarded during this process, * there is a cyclic dependency. If so, we discard its * finalizer in order to prevent inconsistency. */ for(;;) { sml_obj_enum_ptr(final->obj, trace_rec); if (malloc_stack_top == NULL) break; sml_malloc_pop_and_mark(trace_rec, MAJOR); } if (MALLOC_HEAD(final->obj)->flags & MALLOC_FLAG_TRACED) { sml_warn(0, "%p : circular finalizer detected." " The finalizer is discarded to prevent" " inconsistency.", final->obj); final->finalizer = NULL; } } static int each_activate_finalizer(void *item) { struct finalizer *final = item; if (final->finalizer == NULL) return 1; if (!(MALLOC_HEAD(final->obj)->flags & MALLOC_FLAG_TRACED)) { DBG(("%p: activated", final->obj)); final->active = 1; MALLOC_HEAD(final->obj)->flags |= MALLOC_FLAG_TRACED; } else { final->active = 0; } return 0; } void sml_check_finalizer(void (*trace_rec)(void **), enum sml_gc_mode mode) { ASSERT(GIANT_LOCKED()); if (mode == MINOR) return; sml_tree_each(&finalizer_set, each_check_finalizer, &trace_rec); sml_tree_reject(&finalizer_set, each_activate_finalizer); } static int each_run_finalizer(void *item) { struct finalizer *final = item; if (final->active) { final->next = active_finalizers; active_finalizers = final; return 1; } return 0; } void * sml_run_finalizer(void *reserved_obj) { struct finalizer *final, *next; void **slot = NULL; /* During execution of finalizers, garbage collection may occur * and eventually the new object allocated by the caller of * sml_run_finalizer may be lost. To protect the new object from * garbage collection, we put the new object to root set. */ if (reserved_obj) { slot = sml_push_tmp_rootset(1); *slot = reserved_obj; OBJ_HEADER(reserved_obj) = OBJ_DUMMY_HEADER; } GIANT_LOCK(NULL); /* If there is at least one active finalizer, do nothing. */ if (active_finalizers != NULL) goto finished; sml_tree_reject(&finalizer_set, each_run_finalizer); GIANT_UNLOCK(); DBG(("run finalizer")); for (final = active_finalizers; final; final = next) { next = final->next; if (final->finalizer) { DBG(("start finalizer for %p", final->obj)); final->finalizer(final->obj); } free(final); } DBG(("finished")); GIANT_LOCK(NULL); active_finalizers = NULL; finished: GIANT_UNLOCK(); if (slot) { reserved_obj = *slot; sml_pop_tmp_rootset(slot); } return reserved_obj; } /**** callback closures ****/ static int callback_cmp(void *x, void *y) { struct callback_item *item1 = x, *item2 = y; return voidp_cmp(item1->entry, item2->entry); } SML_PRIMITIVE void * sml_alloc_callback(unsigned int objsize, void *codeaddr, void *envobj) { /* NOTE: returned object may be stored an ML object pointer * without write barrier. sml_alloc_callback need to add * the resulting object to remembered set so that such an * ML pointer may be traced by the next minor collection. */ struct callback_item key, *item, *prev; key.entry = codeaddr; /* FIXME: GIANT_LOCK may cause stop-the-world GC. * envobj may be moved due to GC. */ GIANT_LOCK(NULL); prev = sml_tree_find(&callback_closures, &key); if (prev != NULL) { /* if a same closure is already created, return it. */ for (item = prev; item; item = item->next) { if (sml_obj_equal(envobj, item->env)) { malloc_barrier(item->closure); GIANT_UNLOCK(); return item->closure; } } } /* using persistent_node_alloc is safe under the assumption that * sizeof(struct callback_item) == sizeof(struct sml_tree_node). */ item = persistent_node_alloc(sizeof(struct callback_item)); item->entry = codeaddr; item->next = prev; item->env = envobj; item->closure = NULL; sml_tree_insert(&callback_closures, item); /* remember callback item as a part of root set. */ sml_tree_insert(&global_barrier, &item->env); sml_tree_insert(&global_barrier, &item->closure); GIANT_UNLOCK(); /* assume that malloc returns memory with executable permission. */ item->closure = sml_obj_malloc(objsize); return item->closure; } smlsharp-1.2.0/src/runtime/objspace.h0000644 000000000000000000000703012050661606017714 0ustar00rootroot0000000 0000000 /* * objspace.h * @copyright (c) 2010, Tohoku University. * @author UENO Katsuhiro * @version $Id: value.c,v 1.5 2008/02/05 08:54:35 katsu Exp $ */ #ifndef SMLSHARP__OBJSPACE_H__ #define SMLSHARP__OBJSPACE_H__ /* * rootset enumeration mode. * - MAJOR means enumerating all. * - MINOR means enumerating only new ones. */ enum sml_gc_mode { MINOR, MAJOR #ifdef DEBUG ,TRY_MAJOR /* same as MAJOR but dry run */ #endif /* DEBUG */ }; /* * initialize object space management. */ void sml_objspace_init(void); /* * finalize object space management. */ void sml_objspace_free(void); /* * enumerate pointer slots in root set. */ void sml_rootset_enum_ptr(void (*callback)(void **), enum sml_gc_mode); /* * allocate an ML object by malloc. * malloc'ed objects are managed by mark-and-sweep collector. * objsize: allocation size except object header in bytes. */ void *sml_obj_malloc(size_t objsize); /* * write barrier for global memory. * writeaddr : write address. * objaddr : address of object including writeaddr. * * Write barrier must call this function if writeadr is not in heap. */ void sml_global_barrier(void **writeaddr, void *objaddr); /* * trace pointer which is outside of heap. * ptr: pointer to be traced. * * Garbage collector must call this function when it meets an ML object * pointer at outside of its heap. * If ptr is NULL, garbage collector is not needed to call this function. */ void sml_trace_ptr(void *ptr); /* * pop and mark malloc'ed objects until mark stack of malloc heap becomes * empty. * * Garbage collector must call this function at tracing phase. * Before leaving tracing phase, make sure that the mark stack of malloc heap * is empty. * It returns true if there is some malloc'ed object poped. */ int sml_malloc_pop_and_mark(void (*trace)(void **), enum sml_gc_mode mode); /* * sweep malloc'ed objects. * * Garbage collector must call this function at collection phase. */ void sml_malloc_sweep(enum sml_gc_mode); /* * enumerate pointers in all malloc'ed objects. */ void sml_malloc_enum_ptr(void (*trace)(void **)); /* * register a finalizer function for an malloc'ed object. * obj : malloc'ed object which is related to the finalizer. * finalizer : finalizer function. This function is invoked when the object * is to be freed. */ void sml_set_finalizer(void *obj, void (*finalizer)(void *obj)); /* * Check whether each finalizer-related object is traced at the last live * object tracing and activate finalizer functions if the object is not * traced. * trace_rec : trace given object and its descendants in the heap. * * Garbage collector must call this function between tracing phase and * collection phase. */ void sml_check_finalizer(void (*trace_rec)(void **), enum sml_gc_mode mode); /* * Execute finalizers which are activated by sml_check_finalizer. * reserved_obj : an uninitialized object to be saved from garbage collection. * * Garbage collector must call this function after garbage collection is * finished. * * Note that sml_run_finalizer may run ML code, so object allocation and * garbage collection may occur. Hence after calling sml_check_finalizer, * heap may be full. If an allocation function calls this function, allocate * a new object before calling this function and pass the new object to this * function as reserved_obj. This function protects the new object from * garbage collection and ensures that the new object is live even after * finalizer execution. */ void *sml_run_finalizer(void *reserved_obj); #endif /* SMLSHARP__OBJSPACE_H__ */ smlsharp-1.2.0/src/runtime/obstack.c0000644 000000000000000000001326312050661606017554 0ustar00rootroot0000000 0000000 /** * obstack.c - naive obstack implementation * @copyright (c) 2007-2009, Tohoku University. * @author UENO Katsuhiro * @version $Id: $ */ #include #include #include "smlsharp.h" #if 1 void * xmalloc(size_t size) { void *p = malloc(size); if (p == NULL) sml_sysfatal("malloc"); return p; } void * xrealloc(void *p, size_t size) { p = realloc(p, size); if (p == NULL) sml_sysfatal("realloc"); return p; } #endif #if 0 #include #include #include #include #define PAGEHEAD(p) ((void*)(((uintptr_t)(p)-sizeof(size_t)) \ & ~(uintptr_t)(getpagesize() - 1))) #undef xmalloc #undef xrealloc #undef free void * xmalloc(size_t size) { void *page, *p; size_t allocsize; size_t pagesize = getpagesize(); allocsize = ALIGNSIZE(size + sizeof(size_t), pagesize) + pagesize; page = mmap(NULL, allocsize, PROT_READ|PROT_WRITE, MAP_ANON|MAP_PRIVATE, -1, 0); if (page == (void*)-1) sml_sysfatal("mmap"); mprotect(page + allocsize - pagesize, pagesize, 0); p = page + allocsize - pagesize - size; if (PAGEHEAD(p) != page) sml_fatal(0, "xmalloc"); *(size_t*)page = size; //sml_debug("xmalloc: %p (%p:%u)\n", p, page, (unsigned int)size); return p; } void xfree(void *p) { void *page; size_t size, allocsize; if (!p) return; page = PAGEHEAD(p); size = *(size_t*)page; allocsize = ALIGNSIZE(size + sizeof(size_t), getpagesize()); mprotect(page, allocsize, 0); //sml_debug("xfree: %p (%p:%u)\n", p, page, (unsigned int)size); } #define free(x) xfree(x) void * xrealloc(void *p, size_t size) { void *p2; size_t oldsize; p2 = xmalloc(size); if (p) { oldsize = *(size_t*)PAGEHEAD(p); memcpy(p2, p, oldsize < size ? oldsize : size); xfree(p); } return p2; } #endif struct sml_obstack { struct sml_obstack *next; char *start, *end; char *free, *base; }; /* assume that libc consumes 8 bytes for memory management. */ #define MINCHUNKSIZE 248 static void chunk_alloc(sml_obstack_t **obstack, size_t objsize) { size_t head_size, chunk_size; sml_obstack_t *newchunk; head_size = ALIGNSIZE(sizeof(struct sml_obstack), objsize); chunk_size = objsize + head_size; chunk_size = ALIGNSIZE(chunk_size, MINCHUNKSIZE); newchunk = xmalloc(chunk_size); newchunk->next = *obstack; newchunk->start = (char*)newchunk + head_size; newchunk->end = (char*)newchunk + chunk_size; newchunk->free = newchunk->start; newchunk->base = newchunk->start; *obstack = newchunk; } static void chunk_realloc(sml_obstack_t **obstack, size_t inc) { size_t head_size, chunk_size, free_offset, base_offset; sml_obstack_t *chunk = *obstack; sml_obstack_t *newchunk; head_size = chunk->start - (char*)chunk; chunk_size = head_size + (chunk->free - chunk->start) + inc; chunk_size = ALIGNSIZE(chunk_size, MINCHUNKSIZE); free_offset = chunk->free - (char*)chunk; base_offset = chunk->base - (char*)chunk; newchunk = xrealloc(chunk, chunk_size); newchunk->start = (char*)newchunk + head_size; newchunk->end = (char*)newchunk + chunk_size; newchunk->free = (char*)newchunk + free_offset; newchunk->base = (char*)newchunk + base_offset; *obstack = newchunk; } void sml_obstack_blank(sml_obstack_t **obstack, size_t size) { sml_obstack_t *chunk = *obstack; if (chunk == NULL || (size_t)(chunk->end - chunk->free) < size) { if (chunk == NULL || chunk->base == chunk->free) chunk_alloc(obstack, size); else chunk_realloc(obstack, size); chunk = *obstack; } chunk->free += size; } void * sml_obstack_extend(sml_obstack_t **obstack, size_t size) { sml_obstack_blank(obstack, size); return (*obstack)->free - size; } void sml_obstack_shrink(sml_obstack_t **obstack, void *p) { ASSERT((*obstack)->base <= (char*)p && (char*)p <= (*obstack)->free); (*obstack)->free = p; if ((*obstack)->end - (*obstack)->free > MINCHUNKSIZE) chunk_realloc(obstack, 0); } void * sml_obstack_finish(sml_obstack_t *obstack) { void *dst = obstack->base; obstack->base = obstack->free; return dst; } void * sml_obstack_base(sml_obstack_t *obstack) { return obstack->base; } void * sml_obstack_next_free(sml_obstack_t *obstack) { return obstack->free; } size_t sml_obstack_object_size(sml_obstack_t *obstack) { return obstack->free - obstack->base; } void sml_obstack_align(sml_obstack_t **obstack, size_t size) { size_t offset; if (*obstack) { offset = (*obstack)->base - (char*)(*obstack); sml_obstack_blank(obstack, ALIGNSIZE(offset, size) - offset); (*obstack)->base = (*obstack)->free; } } void * sml_obstack_alloc(sml_obstack_t **obstack, size_t size) { sml_obstack_blank(obstack, size); return sml_obstack_finish(*obstack); } /* * ptr must be either NULL or the address of an object allocated in * the obstack. * If ptr is NULL, the whole of obstack is freed. * Otherwise, every object allocated in objstack since ptr is freed. */ void sml_obstack_free(sml_obstack_t **obstack, void *ptr) { struct sml_obstack *chunk, *next; chunk = *obstack; while (chunk) { if (chunk->start <= (char*)ptr && (char*)ptr <= chunk->free) { chunk->free = ptr; chunk->base = ptr; *obstack = chunk; return; } next = chunk->next; free(chunk); chunk = next; } if (ptr != NULL) sml_fatal(0, "BUG: obstack_free: invalid pointer: %p %p", (void*)*obstack, ptr); *obstack = NULL; } void sml_obstack_enum_chunk(sml_obstack_t *obstack, void (*enumfunc)(void *start, void *end, void *data), void *data) { while (obstack) { enumfunc(obstack->start, obstack->free, data); obstack = obstack->next; } } int sml_obstack_is_empty(sml_obstack_t *obstack) { return (obstack->start == obstack->base && obstack->base == obstack->free && obstack->next == NULL); } smlsharp-1.2.0/src/runtime/prim.c0000644 000000000000000000011766012050661606017103 0ustar00rootroot0000000 0000000 /** * prim.c * @copyright (c) 2007-2010, Tohoku University. * @author UENO Katsuhiro * @version $Id: prim.c,v 1.12 2008/12/11 10:22:51 katsu Exp $ */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef HAVE_CONFIG_H #include "config.h" #endif /* HAVE_CONFIG_H */ #ifdef HAVE_CONFIG_H #if !HAVE_DECL_FPCLASSIFY && !HAVE_DECL_ISINF #include #endif /* HAVE_DECL_ISINF */ #endif /* HAVE_CONFIG_H */ #if !defined(HAVE_CONFIG_H) || defined(HAVE_SYS_TIMES_H) #include #endif /* HAVE_SYS_TIMES_H */ #if defined(HAVE_CONFIG_H) && !defined(HAVE_UTIMES) && defined(HAVE_UTIME_H) #include #endif /* HAVE_UTIME_H */ #if !defined(HAVE_CONFIG_H) || defined(HAVE_POLL_H) #include #endif /* HAVE_POLL_H */ #if !defined(HAVE_CONFIG_H) || defined(HAVE_DLFCN_H) #include #endif /* HAVE_DLFCN_H */ #ifdef MINGW32 #include #undef OBJ_BITMAP #endif /* MINGW32 */ #if defined(HAVE_CONFIG_H) && defined(HAVE_IEEEFP_H) #include #endif /* HAVE_IEEEFP_H */ #include "smlsharp.h" #include "intinf.h" #include "object.h" #include "prim.h" #ifdef HAVE_CONFIG_H #ifndef HAVE_CEILF float ceilf(float x) { return ceil(x); } #endif /* HAVE_CEILF */ #ifndef HAVE_FLOORF float floorf(float x) { return floor(x); } #endif /* HAVE_FLOORF */ #ifndef HAVE_ROUNDF float roundf(float x) { return round(x); } #endif /* HAVE_ROUNDF */ #ifndef HAVE_LDEXPF float ldexpf(float x, int n) { return ldexp(x, n); } #endif /* HAVE_LDEXPF */ #ifndef HAVE_FREXPF float frexpf(float x, int *n) { return frexp(x, n); } #endif /* HAVE_FREXPF */ #ifndef HAVE_MODFF float modff(float x, float *i) { double n, y; y = modf(x, &n); *i = n; return y; } #endif /* HAVE_MODFF */ #if !HAVE_DECL_SIGNBIT #define signbit__(t, x) \ (((x) > 0.0##t) ? 0 : ((x) < 0.0##t) ? 1 : (1.0##t / x < 0.0##t)) #define signbit(x) \ ((sizeof(x) == sizeof(float)) ? signbit__(f, x) : \ (sizeof(x) == sizeof(double)) ? signbit__(, x) : signbit__(l, x)) #endif /* HAVE_DECL_SIGNBIT */ #ifndef HAVE_COPYSIGN double copysign(double x, double y) { return (signbit(x) == signbit(y)) ? x : -x; } #endif /* HAVE_COPYSIGN */ #ifndef HAVE_COPYSIGNF float copysignf(float x, float y) { return (signbit(x) == signbit(y)) ? x : -x; } #endif /* HAVE_COPYSIGNF */ #ifndef HAVE_NEXTAFTER double nextafter(double x, double y) { /* ToDo: stub */ sml_fatal(0, "nextafter is not implemented"); } #endif /* HAVE_NEXTAFTER */ #ifndef HAVE_NEXTAFTERF float nextafter(float x, float y) { /* ToDo: stub */ sml_fatal(0, "nextafterf is not implemented"); } #endif /* HAVE_NEXTAFTERF */ #if HAVE_DECL_FPCLASSIFY #define HAVE_FPCLASSIFY 1 #endif #if !defined(HAVE_FPCLASS) && !defined(HAVE_FPCLASSIFY) #if !HAVE_DECL_ISNORMAL #define isnormal(x) (1) /* always normal */ #endif /* HAVE_DECL_ISNORMAL */ #if !HAVE_DECL_ISNAN static int ne_(double x, double y) { return x == y; } static int ne_f(float x, float y) { return x == y; } static int ne_l(long double x, long double y) { return x == y; } #define isnan(x) \ ((sizeof(x) == sizeof(float)) ? !ne_f(x, x) : \ (sizeof(x) == sizeof(double)) ? !ne_(x, x) : !ne_l(x, x)) #endif /* HAVE_DECL_ISNAN */ #if !HAVE_DECL_ISINF #ifdef HAVE_FINITE #define isinf(x) (!finite(x) && !isnan(x)) #else #define isinf__(p, x) ((x) < -p##_MAX || (x) > p##_MAX) #define isinf(x) \ ((sizeof(x) == sizeof(float)) ? isinf__(FLT, x) : \ (sizeof(x) == sizeof(double)) ? isinf_(DBL, x) : isinf_l(LDBL, x)) #endif /* HAVE_FINITE */ #endif /* HAVE_DECL_ISINF */ #define iszero(x) \ ((sizeof(x) == sizeof(float)) ? (x) == 0.0f : \ (sizeof(x) == sizeof(double)) ? (x) == 0.0 : (x) == 0.0l) #endif /* HAVE_FPCLASSIFY */ #endif /* HAVE_CONFIG_H */ #if defined(MINGW32) void * dlopen(const char *libname, int mode ATTR_UNUSED) { HMODULE handle = LoadLibrary(libname); return (void*)handle; } char * dlerror() { DWORD n; static char buf[128]; n = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), buf, sizeof(buf) / sizeof(buf[0]), NULL); return buf; } void * dlsym(void *handle, const char *symbol) { FARPROC proc = GetProcAddress((HMODULE)handle, symbol); return (void*)proc; } int dlclose(void *handle) { BOOL ret = FreeLibrary((HMODULE)handle); return ret ? 0 : -1; } #elif defined(HAVE_CONFIG_H) && !defined(HAVE_DLOPEN) void * dlopen(const char *libname) { return NULL; } const char * dlerror() { return "dynamic linking is not supported"; } void * dlsym(void *handle, const char *symbol) { return NULL; } int dlclose(void *handle) { return 0; } #endif /* MINGW32 || HAVE_DLOPEN */ #if defined(MINGW32) unsigned int sleep(unsigned int seconds) { DWORD sec = seconds; const DWORD max = ((DWORD)-1) / 1000; if (sec > max) { sleep(sec - max); sec = max; } Sleep(sec * 1000); return 0; } #elif defined(HAVE_CONFIG_H) && !defined(HAVE_SLEEP) unsigned int sleep(unsigned int seconds) { return seconds; } #endif /* HAVE_SLEEP */ /* On some systems, fesetround and fegetround are provided as inline * functions, not as library functions. The Basis Library requires * that they are library functions since it imports them to ML by the * _import feature. */ int prim_fesetround(int x) { #if !defined(HAVE_FESETROUND) && !HAVE_DECL_FESETROUND /* ToDo: stub */ sml_fatal(0, "fesetround is not implemented"); #else return fesetround(x); #endif /* !HAVE_FESETROUND */ } int prim_fegetround() { #if !defined(HAVE_FEGETROUND) && !HAVE_DECL_FEGETROUND /* ToDo: stub */ sml_fatal(0, "fegetround is not implemented"); #else return fegetround(); #endif /* !HAVE_FEGETROUND */ } int prim_String_size(const char *str) { /* used for not only CharVector but CharArray */ ASSERT(OBJ_TYPE(str) == OBJTYPE_UNBOXED_VECTOR || OBJ_TYPE(str) == OBJTYPE_UNBOXED_ARRAY); return OBJ_STR_SIZE(str); } void prim_String_update(char *str, int index, char ch) { /* used for not only CharVector but CharArray */ ASSERT(OBJ_TYPE(str) == OBJTYPE_UNBOXED_ARRAY || OBJ_TYPE(str) == OBJTYPE_UNBOXED_VECTOR); ASSERT(index >= 0 && (size_t)index < OBJ_STR_SIZE(str)); str[index] = ch; } char prim_String_sub(const char *str, int n) { /* used for not only CharVector but CharArray */ ASSERT(OBJ_TYPE(str) == OBJTYPE_UNBOXED_ARRAY || OBJ_TYPE(str) == OBJTYPE_UNBOXED_VECTOR); ASSERT(n >= 0 && (size_t)n < OBJ_STR_SIZE(str)); return str[n]; } STRING prim_String_substring(const char *str, int beg, int len) { ASSERT(OBJ_TYPE(str) == OBJTYPE_UNBOXED_VECTOR); ASSERT(beg >= 0 && len >= 0); ASSERT((size_t)(beg + len) <= OBJ_STR_SIZE(str)); return sml_str_new2(&str[beg], len); } int prim_String_cmp(const char *str1, const char *str2) { int len1, len2, len, cmp; ASSERT(OBJ_TYPE(str1) == OBJTYPE_UNBOXED_VECTOR); ASSERT(OBJ_TYPE(str2) == OBJTYPE_UNBOXED_VECTOR); len1 = OBJ_STR_SIZE(str1); len2 = OBJ_STR_SIZE(str2); len = len1 < len2 ? len1 : len2; cmp = memcmp(str1, str2, len1); if (cmp == 0) { /* this is OK because both len1 and len2 are signed integer * but never negative. */ return len1 - len2; } return cmp; } STRING prim_String_allocateMutableNoInit(unsigned int len) { char *obj = sml_obj_alloc(OBJTYPE_UNBOXED_ARRAY, len + 1); obj[len] = '\0'; return obj; } STRING prim_String_allocateImmutableNoInit(unsigned int len) { char *obj = sml_obj_alloc(OBJTYPE_UNBOXED_VECTOR, len + 1); obj[len] = '\0'; return obj; } STRING prim_String_allocateMutable(int len, char ch) { void *obj; ASSERT(len >= 0); obj = prim_String_allocateMutableNoInit(len); memset(obj, ch, len); return obj; } STRING prim_String_allocateImmutable(int len, char ch) { void *obj; ASSERT(len >= 0); obj = prim_String_allocateImmutableNoInit(len); memset(obj, ch, len); return obj; } void prim_String_copy(const char *src, int si, char *dst, int di, int len) { /* used for not only CharVector but CharArray */ ASSERT(OBJ_TYPE(src) == OBJTYPE_UNBOXED_ARRAY || OBJ_TYPE(src) == OBJTYPE_UNBOXED_VECTOR); ASSERT(OBJ_TYPE(dst) == OBJTYPE_UNBOXED_ARRAY || OBJ_TYPE(dst) == OBJTYPE_UNBOXED_VECTOR); ASSERT(len >= 0); ASSERT(si >= 0 && (size_t)(si + len) <= OBJ_STR_SIZE(src)); ASSERT(di >= 0 && (size_t)(di + len) <= OBJ_STR_SIZE(dst)); memcpy(dst + di, src + si, len); } static unsigned int fmt(unsigned int value, unsigned int radix, char *buf, unsigned int index) { const char digit[] = "0123456789ABCDEF"; if (value == 0) { buf[--index] = '0'; return index; } while (value > 0) { buf[--index] = digit[value % radix]; value /= radix; } return index; } static STRING fmt_int(int value, unsigned int radix) { char buf[sizeof(unsigned int) * CHAR_BIT + sizeof("~")]; unsigned int i = sizeof(buf); unsigned int n; /* assume that |INT_MIN| <= UINT_MAX */ n = (value < 0) ? 0U - (unsigned int)value : (unsigned int)value; i = fmt(n, radix, buf, i); if (value < 0) buf[--i] = '~'; return sml_str_new2(&buf[i], sizeof(buf) - i); } static STRING fmt_word(unsigned int value, unsigned int radix) { char buf[sizeof(unsigned int) * CHAR_BIT + sizeof("")]; unsigned int i = sizeof(buf); i = fmt(value, radix, buf, i); return sml_str_new2(&buf[i], sizeof(buf) - i); } STRING prim_Int_toString(int value) { return fmt_int(value, 10); } STRING prim_Word_toString(unsigned int value) { return fmt_word(value, 16); } #define IEEEREAL_CLASS_SNAN 1 /* signaling NaN */ #define IEEEREAL_CLASS_QNAN 2 /* quiet NaN */ #define IEEEREAL_CLASS_INF 3 /* infinity */ #define IEEEREAL_CLASS_ZERO 4 /* zero */ #define IEEEREAL_CLASS_DENORM 5 /* denormal */ #define IEEEREAL_CLASS_NORM 6 /* normal */ #define IEEEREAL_CLASS_UNKNOWN 0 #if !defined(HAVE_CONFIG_H) || defined(HAVE_FPCLASSIFY) #define FPCLASS(d) \ switch (fpclassify(d)) { \ case FP_INFINITE: \ return signbit(d) ? -IEEEREAL_CLASS_INF \ : IEEEREAL_CLASS_INF; \ case FP_NAN: \ return signbit(d) ? -IEEEREAL_CLASS_QNAN \ : IEEEREAL_CLASS_QNAN; \ case FP_NORMAL: \ return signbit(d) ? -IEEEREAL_CLASS_NORM \ : IEEEREAL_CLASS_NORM; \ case FP_SUBNORMAL: \ return signbit(d) ? -IEEEREAL_CLASS_DENORM \ : IEEEREAL_CLASS_DENORM; \ case FP_ZERO: \ return signbit(d) ? -IEEEREAL_CLASS_ZERO \ : IEEEREAL_CLASS_ZERO; \ default: \ return IEEEREAL_CLASS_UNKNOWN; \ } #elif defined(HAVE_FPCLASS) #define FPCLASS(d) \ switch(fpclass(d)) { \ case FP_SNAN: \ return signbit(d) ? -IEEEREAL_CLASS_SNAN \ : IEEEREAL_CLASS_SNAN; \ case FP_QNAN: \ return signbit(d) ? -IEEEREAL_CLASS_QNAN \ : IEEEREAL_CLASS_QNAN; \ case FP_NINF: \ return -IEEEREAL_CLASS_INF; \ case FP_PINF: \ return IEEEREAL_CLASS_INF; \ case FP_NDENORM: \ return -IEEEREAL_CLASS_DENORM; \ case FP_PDENORM: \ return IEEEREAL_CLASS_DENORM; \ case FP_NZERO: \ return -IEEEREAL_CLASS_ZERO; \ case FP_PZERO: \ return IEEEREAL_CLASS_ZERO; \ case FP_NNORM: \ return -IEEEREAL_CLASS_NORM; \ case FP_PNORM: \ return IEEEREAL_CLASS_NORM; \ default: \ return IEEEREAL_CLASS_UNKNOWN; \ } #else #define FPCLASS(d) \ if (iszero(d)) \ return signbit(d) ? -IEEEREAL_CLASS_ZERO \ : IEEEREAL_CLASS_ZERO; \ else if (isinf(d)) \ return signbit(d) ? -IEEEREAL_CLASS_INF \ : IEEEREAL_CLASS_INF; \ else if (isnan(d)) \ return signbit(d) ? -IEEEREAL_CLASS_QNAN \ : IEEEREAL_CLASS_QNAN; \ else if (!isnormal(d)) \ return signbit(d) ? -IEEEREAL_CLASS_DENORM \ : IEEEREAL_CLASS_DENORM; \ else \ return signbit(d) ? -IEEEREAL_CLASS_NORM \ : IEEEREAL_CLASS_NORM; #endif /* HAVE_FPCLASSIFY */ int prim_Real_class(double d) { FPCLASS(d); } int prim_Float_class(float f) { FPCLASS(f); } STRING prim_IntInf_toString(sml_intinf_t *n) { char *buf, *ret; ASSERT(OBJ_TYPE(n) == OBJTYPE_INTINF); buf = sml_intinf_fmt(n, 10); ret = sml_str_new(buf); free(buf); return ret; } int prim_IntInf_toInt(sml_intinf_t *obj) { ASSERT(OBJ_TYPE(obj) == OBJTYPE_INTINF); return sml_intinf_get_si(obj); } unsigned int prim_IntInf_toWord(sml_intinf_t *obj) { unsigned long n; ASSERT(OBJ_TYPE(obj) == OBJTYPE_INTINF); /* mpz_get_ui(op) returns least significant bits of absolute value * of "op" but this primitive requires to return least significant * bits of 2's complement form of "op". So we take 2's complement * of the return value of mpz_get_ui if "op" is negative. */ n = sml_intinf_get_ui(obj); if (sml_intinf_sign(obj) < 0) n = ~n + 1; return n; } sml_intinf_t * prim_IntInf_fromInt(int x) { sml_intinf_t *n = sml_intinf_new(); sml_intinf_set_si(n, x); return n; } sml_intinf_t * prim_IntInf_fromWord(unsigned int x) { sml_intinf_t *n = sml_intinf_new(); sml_intinf_set_ui(n, x); return n; } sml_intinf_t * prim_IntInf_load(const char *src) { sml_intinf_t *n = sml_intinf_new(); sml_intinf_set_str(n, src, 10); return n; } sml_intinf_t * prim_IntInf_abs(sml_intinf_t *x) { sml_intinf_t xv, *z; ASSERT(OBJ_TYPE(x) == OBJTYPE_INTINF); xv = *x; /* rescue from garbage collector */ z = sml_intinf_new(); sml_intinf_abs(z, &xv); return z; } sml_intinf_t * prim_IntInf_add(sml_intinf_t *x, sml_intinf_t *y) { sml_intinf_t xv, yv, *z; ASSERT(OBJ_TYPE(x) == OBJTYPE_INTINF); ASSERT(OBJ_TYPE(y) == OBJTYPE_INTINF); xv = *x, yv = *y; /* rescue from garbage collector */ z = sml_intinf_new(); sml_intinf_add(z, &xv, &yv); return z; } sml_intinf_t * prim_IntInf_sub(sml_intinf_t *x, sml_intinf_t *y) { sml_intinf_t xv, yv, *z; ASSERT(OBJ_TYPE(x) == OBJTYPE_INTINF); ASSERT(OBJ_TYPE(y) == OBJTYPE_INTINF); xv = *x, yv = *y; /* rescue from garbage collector */ z = sml_intinf_new(); sml_intinf_sub(z, &xv, &yv); return z; } sml_intinf_t * prim_IntInf_neg(sml_intinf_t *x) { sml_intinf_t xv, *z; ASSERT(OBJ_TYPE(x) == OBJTYPE_INTINF); xv = *x; /* rescue from garbage collector */ z = sml_intinf_new(); sml_intinf_neg(z, &xv); return z; } sml_intinf_t * prim_IntInf_mul(sml_intinf_t *x, sml_intinf_t *y) { sml_intinf_t xv, yv, *z; ASSERT(OBJ_TYPE(x) == OBJTYPE_INTINF); ASSERT(OBJ_TYPE(y) == OBJTYPE_INTINF); xv = *x, yv = *y; /* rescue from garbage collector */ z = sml_intinf_new(); sml_intinf_mul(z, &xv, &yv); return z; } sml_intinf_t * prim_IntInf_div(sml_intinf_t *x, sml_intinf_t *y) { sml_intinf_t xv, yv, *z; ASSERT(OBJ_TYPE(x) == OBJTYPE_INTINF); ASSERT(OBJ_TYPE(y) == OBJTYPE_INTINF); xv = *x, yv = *y; /* rescue from garbage collector */ z = sml_intinf_new(); sml_intinf_div(z, &xv, &yv); return z; } sml_intinf_t * prim_IntInf_mod(sml_intinf_t *x, sml_intinf_t *y) { sml_intinf_t xv, yv, *z; ASSERT(OBJ_TYPE(x) == OBJTYPE_INTINF); ASSERT(OBJ_TYPE(y) == OBJTYPE_INTINF); xv = *x, yv = *y; /* rescue from garbage collector */ z = sml_intinf_new(); sml_intinf_mod(z, &xv, &yv); return z; } sml_intinf_t * prim_IntInf_quot(sml_intinf_t *x, sml_intinf_t *y) { sml_intinf_t xv, yv, *z; ASSERT(OBJ_TYPE(x) == OBJTYPE_INTINF); ASSERT(OBJ_TYPE(y) == OBJTYPE_INTINF); xv = *x, yv = *y; /* rescue from garbage collector */ z = sml_intinf_new(); sml_intinf_quot(z, &xv, &yv); return z; } sml_intinf_t * prim_IntInf_rem(sml_intinf_t *x, sml_intinf_t *y) { sml_intinf_t xv, yv, *z; ASSERT(OBJ_TYPE(x) == OBJTYPE_INTINF); ASSERT(OBJ_TYPE(y) == OBJTYPE_INTINF); xv = *x, yv = *y; /* rescue from garbage collector */ z = sml_intinf_new(); sml_intinf_rem(z, &xv, &yv); return z; } int prim_IntInf_cmp(sml_intinf_t *x, sml_intinf_t *y) { ASSERT(OBJ_TYPE(x) == OBJTYPE_INTINF); ASSERT(OBJ_TYPE(y) == OBJTYPE_INTINF); return sml_intinf_cmp(x, y); } sml_intinf_t * prim_IntInf_orb(sml_intinf_t *x, sml_intinf_t *y) { sml_intinf_t xv, yv, *z; ASSERT(OBJ_TYPE(x) == OBJTYPE_INTINF); ASSERT(OBJ_TYPE(y) == OBJTYPE_INTINF); xv = *x, yv = *y; /* rescue from garbage collector */ z = sml_intinf_new(); sml_intinf_ior(z, &xv, &yv); return z; } sml_intinf_t * prim_IntInf_xorb(sml_intinf_t *x, sml_intinf_t *y) { sml_intinf_t xv, yv, *z; ASSERT(OBJ_TYPE(x) == OBJTYPE_INTINF); ASSERT(OBJ_TYPE(y) == OBJTYPE_INTINF); xv = *x, yv = *y; /* rescue from garbage collector */ z = sml_intinf_new(); sml_intinf_xor(z, &xv, &yv); return z; } sml_intinf_t * prim_IntInf_andb(sml_intinf_t *x, sml_intinf_t *y) { sml_intinf_t xv, yv, *z; ASSERT(OBJ_TYPE(x) == OBJTYPE_INTINF); ASSERT(OBJ_TYPE(y) == OBJTYPE_INTINF); xv = *x, yv = *y; /* rescue from garbage collector */ z = sml_intinf_new(); sml_intinf_and(z, &xv, &yv); return z; } sml_intinf_t * prim_IntInf_notb(sml_intinf_t *x) { sml_intinf_t xv, *z; ASSERT(OBJ_TYPE(x) == OBJTYPE_INTINF); xv = *x; /* rescue from garbage collector */ z = sml_intinf_new(); sml_intinf_com(z, &xv); return z; } sml_intinf_t * prim_IntInf_pow(sml_intinf_t *x, int e) { sml_intinf_t xv, *z; ASSERT(OBJ_TYPE(x) == OBJTYPE_INTINF); ASSERT(e >= 0); xv = *x; /* rescue from garbage collector */ z = sml_intinf_new(); sml_intinf_pow(z, &xv, e); return z; } int prim_IntInf_log2(sml_intinf_t *x) { sml_intinf_t xv; ASSERT(OBJ_TYPE(x) == OBJTYPE_INTINF); xv = *x; /* rescue from garbage collector */ return sml_intinf_log2(&xv); } int prim_Time_gettimeofday(int *ret) { struct timeval tv; int err; ASSERT(OBJ_TYPE(ret) == OBJTYPE_UNBOXED_ARRAY); ASSERT(OBJ_SIZE(ret) >= sizeof(int) * 2); err = gettimeofday(&tv, NULL); ret[0] = tv.tv_sec; ret[1] = tv.tv_usec; return err; } int prim_Timer_getTimes(int *ret) { #ifdef HAVE_TIMES struct tms tms; static long clocks_per_sec = 0; clock_t clk; ASSERT(OBJ_TYPE(ret) == OBJTYPE_UNBOXED_ARRAY); ASSERT(OBJ_SIZE(ret) >= sizeof(int) * 6); if (clocks_per_sec == 0) clocks_per_sec = sysconf(_SC_CLK_TCK); clk = times(&tms); ret[0] = tms.tms_stime / clocks_per_sec; ret[1] = (tms.tms_stime % clocks_per_sec) * 1000000 / clocks_per_sec; ret[2] = tms.tms_utime / clocks_per_sec; ret[3] = (tms.tms_utime % clocks_per_sec) * 1000000 / clocks_per_sec; /* FIXME: do we put GC time still here? */ ret[4] = 0; /* GC seconds */ ret[5] = 0; /* GC microseconds */ return (clk == (clock_t)-1 ? -1 : 0); #else struct timeval tv; int err; ASSERT(OBJ_TYPE(ret) == OBJTYPE_UNBOXED_ARRAY); ASSERT(OBJ_SIZE(ret) >= sizeof(int) * 6); err = gettimeofday(&tv, NULL); ret[0] = 0; /* sys seconds */ ret[1] = 0; /* sys microseconds */ ret[2] = tv.tv_sec; ret[3] = tv.tv_usec; /* FIXME: do we put GC time still here? */ ret[4] = 0; /* GC seconds */ ret[5] = 0; /* GC microseconds */ return err; #endif /* HAVE_TIMES */ } unsigned int prim_Date_strfTime(char *buf, unsigned int maxsize, const char *format, int sec, int min, int hour, int mday, int month, int year, int wday, int yday, int isdst) { struct tm tm; tm.tm_sec = sec; tm.tm_min = min; tm.tm_hour = hour; tm.tm_mday = mday; tm.tm_mon = month; tm.tm_year = year; tm.tm_wday = wday; tm.tm_yday = yday; tm.tm_isdst = isdst; return strftime(buf, maxsize, format, &tm); } char * prim_Date_ascTime(int sec, int min, int hour, int mday, int month, int year, int wday, int yday, int isdst) { struct tm tm; tm.tm_sec = sec; tm.tm_min = min; tm.tm_hour = hour; tm.tm_mday = mday; tm.tm_mon = month; tm.tm_year = year; tm.tm_wday = wday; tm.tm_yday = yday; tm.tm_isdst = isdst; return asctime(&tm); } int prim_Date_mkTime(int sec, int min, int hour, int mday, int month, int year, int wday, int yday, int isdst) { struct tm tm; tm.tm_sec = sec; tm.tm_min = min; tm.tm_hour = hour; tm.tm_mday = mday; tm.tm_mon = month; tm.tm_year = year; tm.tm_wday = wday; tm.tm_yday = yday; tm.tm_isdst = isdst; return mktime(&tm); } int prim_Date_localTime(int time, int *ret) { time_t t = time; struct tm *tm = localtime(&t); if (tm == NULL) return -1; ret[0] = tm->tm_sec; ret[1] = tm->tm_min; ret[2] = tm->tm_hour; ret[3] = tm->tm_mday; ret[4] = tm->tm_mon; ret[5] = tm->tm_year; ret[6] = tm->tm_wday; ret[7] = tm->tm_yday; ret[8] = tm->tm_isdst; return 0; } int prim_Date_gmTime(int time, int *ret) { time_t t = time; struct tm *tm = gmtime(&t); if (tm == NULL) return -1; ret[0] = tm->tm_sec; ret[1] = tm->tm_min; ret[2] = tm->tm_hour; ret[3] = tm->tm_mday; ret[4] = tm->tm_mon; ret[5] = tm->tm_year; ret[6] = tm->tm_wday; ret[7] = tm->tm_yday; ret[8] = tm->tm_isdst; return 0; } double prim_Pack_packReal64Little(unsigned char byte0, unsigned char byte1, unsigned char byte2, unsigned char byte3, unsigned char byte4, unsigned char byte5, unsigned char byte6, unsigned char byte7) { double result; #ifdef WORDS_BIGENDIAN char src[8] = {byte7, byte6, byte5, byte4, byte3, byte2, byte1, byte0}; #else char src[8] = {byte0, byte1, byte2, byte3, byte4, byte5, byte6, byte7}; #endif /* WORDS_BIGENDIAN */ memcpy(&result, src, sizeof(double) < 8 ? sizeof(double) : 8); return result; } double prim_Pack_packReal64Big(unsigned char byte0, unsigned char byte1, unsigned char byte2, unsigned char byte3, unsigned char byte4, unsigned char byte5, unsigned char byte6, unsigned char byte7) { double result; #ifdef WORDS_BIGENDIAN char src[8] = {byte0, byte1, byte2, byte3, byte4, byte5, byte6, byte7}; #else char src[8] = {byte7, byte6, byte5, byte4, byte3, byte2, byte1, byte0}; #endif /* WORDS_BIGENDIAN */ memcpy(&result, src, sizeof(double) < 8 ? sizeof(double) : 8); return result; } void prim_Pack_unpackReal64Little(double d, unsigned char *buf) { #ifdef WORDS_BIGENDIAN size_t i, len = sizeof(double) < 8 ? sizeof(double) : 8; for (i = 0; i < len; i++) buf[i] = ((unsigned char *)&d)[len - i - 1]; #else memcpy(buf, &d, sizeof(double) < 8 ? sizeof(double) : 8); #endif /* WORDS_BIGENDIAN */ } void prim_Pack_packReal32Little(unsigned char byte0, unsigned char byte1, unsigned char byte2, unsigned char byte3, float *ret) { #ifdef WORDS_BIGENDIAN char src[4] = {byte3, byte2, byte1, byte0}; #else char src[4] = {byte0, byte1, byte2, byte3}; #endif /* WORDS_BIGENDIAN */ memcpy(ret, src, sizeof(float) < 4 ? sizeof(float) : 4); } void prim_Pack_packReal32Big(unsigned char byte0, unsigned char byte1, unsigned char byte2, unsigned char byte3, float *ret) { #ifdef WORDS_BIGENDIAN char src[4] = {byte0, byte1, byte2, byte3}; #else char src[4] = {byte3, byte2, byte1, byte0}; #endif /* WORDS_BIGENDIAN */ memcpy(ret, src, sizeof(float) < 4 ? sizeof(float) : 4); } void prim_Pack_unpackReal32Little(float d, unsigned char *buf) { #ifdef WORDS_BIGENDIAN size_t i, len = sizeof(float) < 4 ? sizeof(float) : 4; for (i = 0; i < len; i++) buf[i] = ((unsigned char *)&d)[len - i - 1]; #else memcpy(buf, &d, sizeof(float) < 4 ? sizeof(float) : 4); #endif /* WORDS_BIGENDIAN */ } /* HERE */ int prim_StandardC_errno() { return errno; } int prim_cconst_int(const char *name) { #ifdef HAVE_DLOPEN if (strcmp(name, "RTLD_LAZY") == 0) return RTLD_LAZY; if (strcmp(name, "RTLD_NOW") == 0) return RTLD_NOW; if (strcmp(name, "RTLD_GLOBAL") == 0) return RTLD_GLOBAL; if (strcmp(name, "RTLD_LOCAL") == 0) return RTLD_LOCAL; #endif /* HAVE_DLOPEN */ if (strcmp(name, "SEEK_SET") == 0) return SEEK_SET; if (strcmp(name, "SEEK_CUR") == 0) return SEEK_CUR; #ifdef FE_TONEAREST if (strcmp(name, "FE_TONEAREST") == 0) return FE_TONEAREST; #endif /* FE_TONEAREST */ #ifdef FE_DOWNWARD if (strcmp(name, "FE_DOWNWARD") == 0) return FE_DOWNWARD; #endif /* FE_DOWNWARD */ #ifdef FE_UPWARD if (strcmp(name, "FE_UPWARD") == 0) return FE_UPWARD; #endif /* FE_UPWARD */ #ifdef FE_TOWARDZERO if (strcmp(name, "FE_TOWARDZERO") == 0) return FE_TOWARDZERO; #endif /* FE_TOWARDZERO */ return 0; } static struct { int errnum; const char *name; } sys_errors[] = { #ifdef EACCES {EACCES, "acces"}, #endif #ifdef EAGAIN {EAGAIN, "again"}, #endif #ifdef EBADF {EBADF, "badf"}, #endif #ifdef EBADMSG {EBADMSG, "badmsg"}, #endif #ifdef EBUSY {EBUSY, "busy"}, #endif #ifdef ECANCELED {ECANCELED, "canceled"}, #endif #ifdef ECHILD {ECHILD, "child"}, #endif #ifdef EDEADLK {EDEADLK, "deadlk"}, #endif #ifdef EDOM {EDOM, "dom"}, #endif #ifdef EEXIST {EEXIST, "exist"}, #endif #ifdef EFAULT {EFAULT, "fault"}, #endif #ifdef EFBIG {EFBIG, "fbig"}, #endif #ifdef EINPROGRESS {EINPROGRESS, "inprogress"}, #endif #ifdef EINTR {EINTR, "intr"}, #endif #ifdef EINVAL {EINVAL, "inval"}, #endif #ifdef EIO {EIO, "io"}, #endif #ifdef EISDIR {EISDIR, "isdir"}, #endif #ifdef ELOOP {ELOOP, "loop"}, #endif #ifdef EMFILE {EMFILE, "mfile"}, #endif #ifdef EMLINK {EMLINK, "mlink"}, #endif #ifdef EMSGSIZE {EMSGSIZE, "msgsize"}, #endif #ifdef ENAMETOOLONG {ENAMETOOLONG, "nametoolong"}, #endif #ifdef ENFILE {ENFILE, "nfile"}, #endif #ifdef ENODEV {ENODEV, "nodev"}, #endif #ifdef ENOENT {ENOENT, "noent"}, #endif #ifdef ENOEXEC {ENOEXEC, "noexec"}, #endif #ifdef ENOLCK {ENOLCK, "nolck"}, #endif #ifdef ENOMEM {ENOMEM, "nomem"}, #endif #ifdef ENOSPC {ENOSPC, "nospc"}, #endif #ifdef ENOSYS {ENOSYS, "nosys"}, #endif #ifdef ENOTDIR {ENOTDIR, "notdir"}, #endif #ifdef ENOTEMPTY {ENOTEMPTY, "notempty"}, #endif #ifdef ENOTSUP {ENOTSUP, "notsup"}, #endif #ifdef ENOTTY {ENOTTY, "notty"}, #endif #ifdef ENXIO {ENXIO, "nxio"}, #endif #ifdef EPERM {EPERM, "perm"}, #endif #ifdef EPIPE {EPIPE, "pipe"}, #endif #ifdef ERANGE {ERANGE, "range"}, #endif #ifdef EROFS {EROFS, "rofs"}, #endif #ifdef ESPIPE {ESPIPE, "spipe"}, #endif #ifdef ESRCH {ESRCH, "srch"}, #endif #ifdef E2BIG {E2BIG, "toobig"}, #endif #ifdef EXDEV {EXDEV, "xdev"}, #endif }; STRING prim_GenericOS_errorName(int errnum) { unsigned int i; const char *name = NULL; for (i = 0; i < arraysize(sys_errors); i++) { if (sys_errors[i].errnum == errnum) { name = sys_errors[i].name; break; } } if (name == NULL) return fmt_int(errnum, 10); else return sml_str_new(name); } int prim_GenericOS_syserror(const char *errorname) { unsigned int i; int errnum = -1; ASSERT(OBJ_TYPE(errorname) == OBJTYPE_UNBOXED_VECTOR); /* errorname[0] always exists due to existence of sentinel. */ if (isdigit(errorname[0])) return atoi(errorname); for (i = 0; i < arraysize(sys_errors); i++) { if (strcmp(errorname, sys_errors[i].name) == 0) { errnum = sys_errors[i].errnum; break; } } return errnum; } void prim_GenericOS_exit(int status) { /* FIXME: finalization is needed? */ #ifdef HAVE_INTERACTIVE_MODE if (interactive_mode) return interact_prim_exit(status); #endif /* HAVE_INTERACTIVE_MODE */ exit(status); } static void puts_posix(int fd, const char *buf, size_t len) { ssize_t n; while (len > 0) { n = write(fd, buf, len); if (n < 0) { if (errno == EINTR) continue; /* give up. */ return; } buf += n; len -= n; } } void prim_print(const char *str) { ASSERT(OBJ_TYPE(str) == OBJTYPE_UNBOXED_VECTOR); #ifdef HAVE_INTERACTIVE_MODE if (interactive_mode) { interact_prim_print(str); return; } #endif /* HAVE_INTERACTIVE_MODE */ puts_posix(1, str, OBJ_STR_SIZE(str)); } #if 0 void prim_printerr(const char *str) { ASSERT(OBJ_TYPE(str) == OBJTYPE_UNBOXED_VECTOR); #ifdef HAVE_INTERACTIVE_MODE if (interactive_mode) { interact_prim_printerr(str); return; } #endif /* HAVE_INTERACTIVE_MODE */ puts_posix(2, str, OBJ_STR_SIZE(str)); } #endif int prim_GenericOS_open(const char *filename, const char *fmode) { const char *str; int flags, subflags; ASSERT(OBJ_TYPE(filename) == OBJTYPE_UNBOXED_VECTOR); ASSERT(OBJ_TYPE(fmode) == OBJTYPE_UNBOXED_VECTOR); str = fmode; switch (*(str++)) { case 'r': flags = O_RDONLY, subflags = 0; break; case 'w': flags = O_WRONLY, subflags = O_TRUNC | O_CREAT; break; case 'a': flags = O_WRONLY, subflags = O_APPEND | O_CREAT; break; default: errno = EINVAL; return -1; } if (*str == 'b') { #ifdef O_BINARY subflags |= O_BINARY; #endif str++; } if (*str == '+') { flags = O_RDWR; str++; } #ifdef O_BINARY if (*str == 'b') subflags |= O_BINARY; #endif return open(filename, flags | subflags, 0777); } int prim_GenericOS_read(int fd, char *buf, unsigned int offset, unsigned int len) { ASSERT(OBJ_TYPE(buf) == OBJTYPE_UNBOXED_ARRAY); ASSERT(offset + len <= OBJ_SIZE(buf)); #ifdef HAVE_INTERACTIVE_MODE if (interactive_mode && fd == 0) return interact_prim_read(fd, buf, offset, len); #endif /* HAVE_INTERACTIVE_MODE */ return read(fd, buf + offset, len); } int prim_GenericOS_write(int fd, const char *buf, unsigned int offset, unsigned int len) { ASSERT(OBJ_TYPE(buf) == OBJTYPE_UNBOXED_ARRAY || OBJ_TYPE(buf) == OBJTYPE_UNBOXED_VECTOR); ASSERT(offset + len <= OBJ_SIZE(buf)); #ifdef HAVE_INTERACTIVE_MODE if (interactive_mode && fd == 0) return interact_prim_write(fd, buf, offset, len); #endif /* HAVE_INTERACTIVE_MODE */ return write(fd, buf + offset, len); } int prim_GenericOS_lseek(int fd, /*off_t*/ int offset, int whence) { return lseek(fd, offset, whence); } #define ML_S_IFIFO 0x1000 #define ML_S_IFCHR 0x2000 #define ML_S_IFDIR 0x4000 #define ML_S_IFBLK 0x6000 #define ML_S_IFREG 0x8000 #define ML_S_IFLNK 0xa000 #define ML_S_IFSOCK 0xc000 #define ML_S_ISUID 0x0800 #define ML_S_ISGID 0x0400 #define ML_S_ISVTX 0x0200 #define ML_S_IRUSR 0x0100 #define ML_S_IWUSR 0x0080 #define ML_S_IXUSR 0x0040 #define ML_S_IFMT 0xf000 #ifndef S_IFLNK #define S_IFLNK 0 #endif /* S_IFLNK */ #ifndef S_IFSOCK #define S_IFSOCK 0 #endif /* S_IFSOCK */ #ifndef S_ISUID #define S_ISUID 0 #endif /* S_ISUID */ #ifndef S_ISGID #define S_ISGID 0 #endif /* S_ISGID */ #ifndef S_ISVTX #define S_ISVTX 0 #endif /* S_ISVTX */ static void set_stat(struct stat *st, unsigned int *ret) { ASSERT(OBJ_TYPE(ret) == OBJTYPE_UNBOXED_ARRAY); ASSERT(OBJ_SIZE(ret) >= sizeof(unsigned int) * 6); ret[0] = st->st_dev; ret[1] = st->st_ino; ret[3] = st->st_atime; ret[4] = st->st_mtime; ret[5] = st->st_size; #if S_IFIFO == ML_S_IFIFO \ && S_IFCHR == ML_S_IFCHR \ && S_IFDIR == ML_S_IFDIR \ && S_IFBLK == ML_S_IFBLK \ && S_IFREG == ML_S_IFREG \ && S_IFLNK == ML_S_IFLNK \ && S_IFSOCK == ML_S_IFSOCK \ && S_ISUID == ML_S_ISUID \ && S_ISGID == ML_S_ISGID \ && S_ISVTX == ML_S_ISVTX \ && S_IRUSR == ML_S_IRUSR \ && S_IWUSR == ML_S_IWUSR \ && S_IXUSR == ML_S_IXUSR ret[2] = st->st_mode; #else { unsigned int mode = 0; mode |= (st->st_mode & S_IFIFO) ? ML_S_IFIFO : 0; mode |= (st->st_mode & S_IFCHR) ? ML_S_IFCHR : 0; mode |= (st->st_mode & S_IFDIR) ? ML_S_IFDIR : 0; mode |= (st->st_mode & S_IFBLK) ? ML_S_IFBLK : 0; mode |= (st->st_mode & S_IFREG) ? ML_S_IFREG : 0; mode |= (st->st_mode & S_IFLNK) ? ML_S_IFLNK : 0; mode |= (st->st_mode & S_IFSOCK) ? ML_S_IFSOCK : 0; mode |= (st->st_mode & S_ISUID) ? ML_S_ISUID : 0; mode |= (st->st_mode & S_ISGID) ? ML_S_ISGID : 0; mode |= (st->st_mode & S_ISVTX) ? ML_S_ISVTX : 0; mode |= (st->st_mode & S_IRUSR) ? ML_S_IRUSR : 0; mode |= (st->st_mode & S_IWUSR) ? ML_S_IWUSR : 0; mode |= (st->st_mode & S_IXUSR) ? ML_S_IXUSR : 0; ret[2] = mode; } #endif } int prim_GenericOS_fstat(int fd, unsigned int *ret) { int err; struct stat st; err = fstat(fd, &st); if (err == 0) set_stat(&st, ret); return err; } int prim_GenericOS_stat(const char *filename, unsigned int *ret) { int err; struct stat st; err = stat(filename, &st); if (err == 0) set_stat(&st, ret); return err; } int prim_GenericOS_utime(const char *filename, unsigned int atime, unsigned int mtime) { #if !defined(HAVE_CONFIG_H) || defined(HAVE_UTIMES) struct timeval times[2]; /* FIXME: untested */ ASSERT(OBJ_TYPE(filename) == OBJTYPE_UNBOXED_VECTOR); times[0].tv_sec = atime; times[0].tv_usec = 0; times[1].tv_sec = mtime; times[1].tv_usec = 0; return utimes(filename, times); #elif defined(HAVE_CONFIG_H) && defined(HAVE_UTIME) struct utimbuf ut; ut.actime = atime; ut.modtime = mtime; return utime(filename, &ut); #else errno = EIO; return -1; #endif /* HAVE_UTIMES */ } STRING prim_GenericOS_readlink(const char *filename) { #if !defined(HAVE_CONFIG_H) || defined(HAVE_READLINK) char buf[128], *p; ssize_t n, len; void *obj; ASSERT(OBJ_TYPE(filename) == OBJTYPE_UNBOXED_VECTOR); n = readlink(filename, buf, sizeof(buf)); if (n < 0) return NULL; if ((size_t)n < sizeof(buf)) return sml_str_new2(buf, n); p = NULL; for (len = sizeof(buf); n >= len; len *= 2) { p = xrealloc(p, len); n = readlink(filename, buf, len); } if (n < 0) { free(p); return NULL; } obj = sml_str_new2(buf, n); free(p); return obj; #else errno = EIO; return NULL; #endif /* HAVE_READLINK */ } int prim_GenericOS_chdir(const char *dirname) { ASSERT(OBJ_TYPE(dirname) == OBJTYPE_UNBOXED_VECTOR); #ifdef HAVE_INTERACTIVE_MODE if (interactive_mode) return interact_prim_chdir(dirname); #endif return chdir(dirname); } int prim_GenericOS_mkdir(const char *dirname, /*mode_t*/ int mode) { ASSERT(OBJ_TYPE(dirname) == OBJTYPE_UNBOXED_VECTOR); #ifdef MINGW32 return _mkdir(dirname); #else return mkdir(dirname, mode); #endif /* MINGW32 */ } char * prim_GenericOS_getcwd() { size_t size = 256; char *pwd = xmalloc(size); while (getcwd(pwd, size) == NULL) { if (errno != ERANGE) { free(pwd); return NULL; } size += 256; pwd = xrealloc(pwd, size); } return pwd; } /*DIR**/ void * prim_GenericOS_opendir(const char *dirname) { ASSERT(OBJ_TYPE(dirname) == OBJTYPE_UNBOXED_VECTOR); return opendir(dirname); } char * prim_GenericOS_readdir(/*DIR**/ void *dirhandle) { struct dirent *ent; ent = readdir(dirhandle); if (ent == NULL) return NULL; return ent->d_name; } void prim_GenericOS_rewinddir(/*DIR**/ void *dirhandle) { return rewinddir(dirhandle); } /*DIR**/ int prim_GenericOS_closedir(/*DIR**/ void *dirhandle) { return closedir(dirhandle); } #define SML_POLLIN 1U #define SML_POLLOUT 2U #define SML_POLLPRI 4U int prim_GenericOS_poll(int *fdary, unsigned int *evary, int timeout_sec, int timeout_usec) { #if (defined(HAVE_CONFIG_H) && defined(HAVE_SELECT)) || !defined(MINGW32) || !defined(HAVE_CONFIG_H) fd_set infds, outfds, prifds; struct timeval timeout; unsigned int i; int nfds, err; /* FIXME: untested */ ASSERT(OBJ_TYPE(fdary) == OBJTYPE_UNBOXED_ARRAY); ASSERT(OBJ_TYPE(evary) == OBJTYPE_UNBOXED_ARRAY); ASSERT(OBJ_SIZE(fdary) == OBJ_SIZE(evary)); FD_ZERO(&infds); FD_ZERO(&outfds); FD_ZERO(&prifds); nfds = 0; for (i = 0; i < OBJ_SIZE(fdary) / sizeof(int); i++) { int fd = ((int*)fdary)[i], setfd = 0; unsigned int ev = ((unsigned int*)evary)[i]; if (ev & SML_POLLIN) { setfd = fd; FD_SET(fd, &infds); } if (ev & SML_POLLOUT) { setfd = fd; FD_SET(fd, &outfds); } if (ev & SML_POLLPRI) { setfd = fd; FD_SET(fd, &prifds); } nfds = (nfds > setfd) ? nfds : setfd; } nfds++; if (timeout_sec < 0 || timeout_usec < 0) { err = select(nfds, &infds, &outfds, &prifds, NULL); } else { timeout.tv_sec = timeout_sec; timeout.tv_usec = timeout_usec; err = select(nfds, &infds, &outfds, &prifds, &timeout); } if (err < 0) return err; for (i = 0; i < OBJ_SIZE(evary) / sizeof(unsigned int); i++) { unsigned int ev = 0; if (!FD_ISSET(((int*)fdary)[i], &infds)) ev |= SML_POLLIN; if (!FD_ISSET(((int*)fdary)[i], &outfds)) ev |= SML_POLLOUT; if (!FD_ISSET(((int*)fdary)[i], &prifds)) ev |= SML_POLLPRI; ((unsigned int*)evary)[i] = ev; } return err; #elif defined(HAVE_POLL) struct pollfd *fds; nfds_t nfds, i; int err; /* FIXME: untested */ ASSERT(OBJ_TYPE(fdary) == OBJTYPE_UNBOXED_ARRAY); ASSERT(OBJ_TYPE(evary) == OBJTYPE_UNBOXED_ARRAY); ASSERT(OBJ_SIZE(fdary) == OBJ_SIZE(evary)); nfds = OBJ_SIZE(fdary) / sizeof(int); fds = xmalloc(nfds * sizeof(struct pollfd)); for (i = 0; i < nfds; i++) { unsigned int ev = ((unsigned int*)evary)[i]; fds[i].fd = ((int*)fdary)[i]; fds[i].events = 0; if (ev & SML_POLLIN) fds[i].events |= POLLIN; if (ev & SML_POLLOUT) fds[i].events |= POLLOUT; if (ev & SML_POLLPRI) fds[i].events |= POLLPRI; } if (timeout_sec < 0 || timeout_usec < 0) { err = poll(fds, nfds, -1); } else { /* ToDo: overflow check is needed? */ int timeout = timeout_sec * 1000 + timeout_usec / 1000; err = poll(fds, nfds, timeout); } if (err < 0) return err; for (i = 0; i < nfds; i++) { unsigned int ev = 0; if (fds[i].revents & POLLIN) ev |= SML_POLLIN; if (fds[i].revents & POLLOUT) ev |= SML_POLLOUT; if (fds[i].revents & POLLPRI) ev |= SML_POLLPRI; ((unsigned int*)evary)[i] = ev; } return err; #else errno = EIO; return -1; #endif /* HAVE_SELECT | HAVE_POLL */ } int prim_Platform_isBigEndian() { #ifdef WORDS_BIGENDIAN return 1; #else return 0; #endif /* WORDS_BIGENDIAN */ } STRING prim_Platform_getPlatform() { #ifdef SMLSHARP_PLATFORM return sml_str_new(SMLSHARP_PLATFORM); #else return sml_str_new(""); /* dummy */ #endif /* SMLSHARP_PLATFORM */ } void prim_CopyMemory(void *dst, unsigned int doff, const void *src, unsigned int soff, unsigned int len, unsigned int tag) { void **writeaddr, **srcaddr; unsigned int i; ASSERT((tag == TAG_UNBOXED && (OBJ_TYPE(dst) == OBJTYPE_UNBOXED_ARRAY || OBJ_TYPE(dst) == OBJTYPE_UNBOXED_VECTOR)) || (tag == TAG_BOXED && (OBJ_TYPE(dst) == OBJTYPE_BOXED_ARRAY || OBJ_TYPE(dst) == OBJTYPE_BOXED_VECTOR))); ASSERT((tag == TAG_UNBOXED && (OBJ_TYPE(src) == OBJTYPE_UNBOXED_ARRAY || OBJ_TYPE(src) == OBJTYPE_UNBOXED_VECTOR)) || (tag == TAG_BOXED && (OBJ_TYPE(src) == OBJTYPE_BOXED_ARRAY || OBJ_TYPE(src) == OBJTYPE_BOXED_VECTOR))); ASSERT(doff + len <= OBJ_SIZE(dst)); ASSERT(soff + len <= OBJ_SIZE(src)); if (tag == TAG_UNBOXED) { memmove((char*)dst + doff, (char*)src + soff, len); } else if (src != dst || doff < soff) { writeaddr = (void**)((char*)dst + doff); srcaddr = (void**)((char*)src + soff); for (i = 0; i < len / sizeof(void*); i++) sml_write(dst, writeaddr++, *(srcaddr++)); } else { writeaddr = (void**)((char*)dst + doff + len); srcaddr = (void**)((char*)src + soff + len); for (i = 0; i < len / sizeof(void*); i++) sml_write(dst, --writeaddr, *(--srcaddr)); } } int prim_UnmanagedMemory_subInt(void *p) { return *(int*)p; } double prim_UnmanagedMemory_subReal(void *p) { return *(double*)p; } unsigned int prim_UnmanagedMemory_subWord(void *p) { return *(unsigned int*)p; } unsigned char prim_UnmanagedMemory_subByte(void *p) { return *(unsigned char*)p; } void * prim_UnmanagedMemory_subPtr(void *p) { return *(void**)p; } STRING prim_UnmanagedMemory_import(void *ptr, unsigned int len) { return sml_str_new2(ptr, len); } void * prim_UnmanagedMemory_export(const char *str, unsigned int offset, unsigned int size) { void *p; ASSERT(OBJ_TYPE(str) == OBJTYPE_UNBOXED_VECTOR || OBJ_TYPE(str) == OBJTYPE_UNBOXED_ARRAY); ASSERT(offset < OBJ_STR_SIZE(str) && size < OBJ_STR_SIZE(str) - offset); p = xmalloc(size); memcpy(p, str + offset, size); return p; } int prim_UnmanagedString_size(void *ptr) { return strlen(ptr); } void prim_UnmanagedMemory_updateByte(void *address, unsigned char value) { *(unsigned char*)address = value; } void prim_UnmanagedMemory_updateWord(void *address, unsigned int value) { *(unsigned int *)address = value; } void prim_UnmanagedMemory_updateInt(void *address, int value) { *(int *)address = value; } void prim_UnmanagedMemory_updateReal(void *address, double value) { *(double *)address = value; } void prim_UnmanagedMemory_updatePtr(void *address, void *value) { *(void **)address = value; } int prim_CommandLine_argc() { extern int sml_argc; return sml_argc; } char ** prim_CommandLine_argv(int index) { extern char **sml_argv; return sml_argv; } void * prim_xmalloc(/*size_t*/ int size) { return xmalloc(size); } STRING prim_executable_path() { #ifdef MINGW32 char path[256+1], *p; size_t len; void *obj; GetModuleFileName(NULL, path, sizeof(path)); path[sizeof(path) - 1] = '\0'; for (p = path, len = 0; *p; p++, len++) { if (*p == '\\') *p = '/'; } obj = sml_obj_alloc(OBJTYPE_UNBOXED_VECTOR, len + 1); memcpy(obj, path, len + 1); return obj; #else char *obj = sml_obj_alloc(OBJTYPE_UNBOXED_VECTOR, 1); obj[0] = '\0'; return obj; #endif /* MINGW32 */ } STRING prim_tmpName() { #ifdef MINGW32 char path[MAX_PATH + 1], name[MAX_PATH + 1]; char *buf; DWORD ret1; UINT ret2; ret1 = GetTempPath(sizeof(path), path); if (ret1 == 0) return sml_str_new(""); ret2 = GetTempFileName(path, "tmp", 0, name); if (ret2 == 0) return sml_str_new(""); return sml_str_new(name); #elif defined(HAVE_MKSTEMP) char *buf = sml_str_new("/tmp/tmp.XXXXXX"); int fd = mkstemp(buf); if (fd == -1) { return sml_str_new(""); } else { close(fd); return buf; } #else return sml_str_new(tmpnam(NULL)); #endif /* MINGW32 || HAVE_MKSTEMP */ } smlsharp-1.2.0/src/runtime/prim.h0000644 000000000000000000001715212050661606017103 0ustar00rootroot0000000 0000000 /** * prim.h * @copyright (c) 2007-2010, Tohoku University. * @author UENO Katsuhiro * @version $Id: prim.h,v 1.1 2007/12/17 12:11:16 katsu Exp $ */ #ifndef SMLSHARP__PRIM_H__ #define SMLSHARP__PRIM_H__ #include #include #include #include #include #if !defined(HAVE_CONFIG_H) || defined(HAVE_DLFCN_H) #include #endif /* HAVE_DLFCN_H */ #if !defined(HAVE_CONFIG_H) || defined(HAVE_FENV_H) #include #endif /* HAVE_FENV_H */ /* * Correspondence between ML types and C types: * ML type C type * int int * char char * Word8.word unsigned char * real double * Real32.real float * unit ptr void * * char ptr char * * IntInf.int sml_intinf_t * * string STRING */ typedef char *STRING; #ifndef SMLSHARP__SMLSHARP_H__ struct sml_intinf; typedef struct sml_intinf sml_intinf_t; #endif /* SMLSHARP__SMLSHARP_H__ */ /* compiler builtin primitives */ int prim_fesetround(int x); int prim_fegetround(void); int prim_String_cmp(const char *, const char *); int prim_IntInf_cmp(sml_intinf_t *, sml_intinf_t *); sml_intinf_t * prim_IntInf_load(const char *); void prim_CopyMemory(void *, unsigned int, const void *, unsigned int, unsigned int, unsigned int); STRING prim_String_allocateMutable(int, char); STRING prim_String_allocateImmutable(int, char); void prim_String_copy(const char *, int, char *, int, int); int prim_String_size(const char *); char prim_String_sub(const char *, int); void prim_String_update(char *, int, char); sml_intinf_t * prim_IntInf_abs(sml_intinf_t *); sml_intinf_t * prim_IntInf_add(sml_intinf_t *, sml_intinf_t *); sml_intinf_t * prim_IntInf_div(sml_intinf_t *, sml_intinf_t *); sml_intinf_t * prim_IntInf_mod(sml_intinf_t *, sml_intinf_t *); sml_intinf_t * prim_IntInf_mul(sml_intinf_t *, sml_intinf_t *); sml_intinf_t * prim_IntInf_neg(sml_intinf_t *); sml_intinf_t * prim_IntInf_sub(sml_intinf_t *, sml_intinf_t *); int prim_UnmanagedMemory_subInt(void *ptr); double prim_UnmanagedMemory_subReal(void *ptr); unsigned int prim_UnmanagedMemory_subWord(void *ptr); unsigned char prim_UnmanagedMemory_subByte(void *ptr); void *prim_UnmanagedMemory_subPtr(void *p); /* for basis library implementation */ STRING prim_Int_toString(int); STRING prim_IntInf_toString(sml_intinf_t *); int prim_IntInf_toInt(sml_intinf_t *); unsigned int prim_IntInf_toWord(sml_intinf_t *); sml_intinf_t *prim_IntInf_fromInt(int); sml_intinf_t *prim_IntInf_fromWord(unsigned int); sml_intinf_t *prim_IntInf_quot(sml_intinf_t *, sml_intinf_t *); sml_intinf_t *prim_IntInf_rem(sml_intinf_t *, sml_intinf_t *); sml_intinf_t *prim_IntInf_pow(sml_intinf_t *, int); int prim_IntInf_log2(sml_intinf_t *); sml_intinf_t *prim_IntInf_orb(sml_intinf_t *, sml_intinf_t *); sml_intinf_t *prim_IntInf_xorb(sml_intinf_t *, sml_intinf_t *); sml_intinf_t *prim_IntInf_andb(sml_intinf_t *, sml_intinf_t *); sml_intinf_t *prim_IntInf_notb(sml_intinf_t *); STRING prim_Word_toString(unsigned int); int prim_Real_class(double); int prim_Float_class(float); void *prim_ya_String_allocateImmutableNoInit(unsigned int); void *prim_ya_String_allocateMutableNoInit(unsigned int); STRING prim_String_substring(const char *, int, int); void prim_print(const char *); void prim_GenericOS_exit(int); int prim_GenericOS_open(const char *, const char *); int prim_GenericOS_read(int, char *, unsigned int, unsigned int); int prim_GenericOS_write(int, const char *, unsigned int, unsigned int); int prim_GenericOS_fstat(int, unsigned int[]); int prim_GenericOS_stat(const char *, unsigned int[]); int prim_GenericOS_lseek(int, int, int); int prim_GenericOS_utime(const char *, unsigned int, unsigned int); STRING prim_GenericOS_readlink(const char *); int prim_GenericOS_chdir(const char *); int prim_GenericOS_mkdir(const char *, int); STRING prim_GenericOS_getcwd(void); void *prim_GenericOS_opendir(const char *); STRING prim_GenericOS_readdir(void *); void prim_GenericOS_rewinddir(void *); int prim_GenericOS_closedir(void *); int prim_GEnericOS_poll(int[], unsigned int[], int, int); STRING prim_GenericOS_errorName(int); int prim_GenericOS_syserror(const char *); int prim_Time_gettimeofday(int[]); int prim_Timer_getTimes(int[]); unsigned int prim_Date_strfTime(char *, unsigned int, const char *, int, int, int, int, int, int, int, int, int); char *prim_Date_ascTime(int, int, int, int, int, int, int, int, int); int prim_Date_mkTime(int, int, int, int, int, int, int, int, int); int prim_Date_localTime(int, int[]); int prim_Date_gmTime(int, int[]); double Pack_packReal64Little(unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char); double prim_Pack_packReal64Big(unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char); void prim_Pack_unpackReal64Little(double, unsigned char *); void prim_Pack_packReal32Little(unsigned char, unsigned char, unsigned char, unsigned char, float *); void prim_Pack_packReal32Big(unsigned char, unsigned char, unsigned char, unsigned char, float *); void prim_Pack_unpackReal32Little(float, unsigned char *); STRING prim_UnmanagedMemory_import(void *, unsigned int); void *prim_UnmanagedMemory_export(const char *, unsigned int, unsigned int); int prim_UnmanagedString_size(void *); void prim_UnmanagedMemory_updateByte(void *, unsigned char); void prim_UnmanagedMemory_updateWord(void *, unsigned int); void prim_UnmanagedMemory_updateInt(void *, int); void prim_UnmanagedMemory_updateReal(void *, double); void prim_UnmanagedMemory_updatePtr(void *, void *); int prim_StandardC_errno(void); int prim_Platform_isBigEndian(void); STRING prim_Platform_getPlatform(void); int prim_CommandLine_argc(void); char **prim_CommandLine_argv(int); void *prim_xmalloc(int size); STRING prim_executable_path(void); STRING prim_tmpName(void); int prim_cconst_int(const char *); STRING sml_str_new(const char *); /* netlib dtoa */ double sml_strtod(const char *, char **); char *sml_dtoa(double, int, int, int *, int *, char **); void sml_freedtoa(char *); /* standard C library functions for basis library implementation */ /* we redeclare them here in order to check whether each type we assume * actually matches to C library function type. */ /* ANSI */ /* math.h */ double ldexp(double, int); double sqrt(double); double sin(double); double cos(double); double tan(double); double asin(double); double acos(double); double atan(double); double atan2(double, double); double exp(double); double pow(double, double); double log(double); double log10(double); double sinh(double); double cosh(double); double tanh(double); double floor(double x); double ceil(double x); double round(double x); double modf(double, double *); double frexp(double, int *); /* string.h */ char *strerror(int); /* stdlib.h */ char *getenv(const char *); void free(void *); int system(const char *); /* stdio.h */ int remove(const char *); int rename(const char *, const char *); /* C99 */ /* math.h */ double copysign(double, double); float copysignf(float, float); float ceilf(float); float floorf(float); float roundf(float); float ldexpf(float, int); float frexpf(float, int *); float modff(float, float *); double nextafter(double, double); float nextafterf(float, float); /* POSIX */ /* unistd.h */ unsigned int sleep(unsigned int); /* effect */ int close(int); /* effect */ int rmdir(const char *); /* effect */ /* dlfcn.h */ void *dlopen(const char *, int); /* effect */ char *dlerror(void); /* effect */ int dlclose(void *); /* effect */ void *dlsym(void *, const char *); /* effect */ #endif /* SMLSHARP__PRIM_H__ */ smlsharp-1.2.0/src/runtime/smlsharp.h0000644 000000000000000000002432212050661606017762 0ustar00rootroot0000000 0000000 /** * smlsharp.h - SML# runtime implemenatation * @copyright (c) 2007-2009, Tohoku University. * @author UENO Katsuhiro * @version $Id: $ */ #ifndef SMLSHARP__SMLSHARP_H__ #define SMLSHARP__SMLSHARP_H__ #include /* FILELINE : ":()" for debug */ #if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L #define __func__ __func__ #elif defined __GNUC__ && __GNUC__ >= 2 #define __func__ __extension__ __FUNCTION__ #else #define __func__ "(unknown)" #endif #define FILELINE__(x,y) x":"#y #define FILELINE_(x,y) FILELINE__(x,y) #define FILELINE FILELINE_(__FILE__, __LINE__) #if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L #define restrict restrict #elif defined __GNUC__ && __GNUC__ >= 3 #define restrict __restrict__ #else #define restrict #endif #if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L #define inline inline #elif defined __GNUC__ && __GNUC__ >= 2 #define inline __inline__ #else #define inline #endif #if defined __GNUC__ && __GNUC__ >= 2 #define NOINLINE __attribute__((noinline)) #else #define NOINLINE #endif /* GNU C extensions */ #ifndef GCC_VERSION #ifdef __GNUC__ #define GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__) #endif #endif /* GCC_VERSION */ #if defined(__GNUC__) && GCC_VERSION >= 2096 #define ATTR_MALLOC __attribute__((malloc)) #else #define ATTR_MALLOC #endif #if defined(__GNUC__) && GCC_VERSION >= 3000 #define ATTR_PURE __attribute__((pure)) #else #define ATTR_PURE #endif #if defined(__GNUC__) && GCC_VERSION >= 3003 #define ATTR_NONNULL(n) __attribute__((nonnull(n))) #else #define ATTR_NONNULL(n) #endif #if defined(__GNUC__) #define ATTR_PRINTF(m,n) __attribute__((format(printf,m,n))) ATTR_NONNULL(m) #endif #if defined(__GNUC__) #define ATTR_NORETURN __attribute__((noreturn)) #endif #if defined(__GNUC__) #define ATTR_UNUSED __attribute__((unused)) #endif #if defined(__GNUC__) /* Boland fastcall; %eax, %edx, %ecx */ #define SML_PRIMITIVE __attribute__((regparm(3))) #else /* Microsoft fastcall; %ecx, %edx */ /* #define SML_PRIMITIVE __attribute__((fastcall)) */ #define SML_PRIMITIVE #endif /* the number of elements of an array. */ #define arraysize(a) (sizeof(a) / sizeof(a[0])) /* ALIGNSIZE(x,y) : round up x to the multiple of y. */ #define ALIGNSIZE(x,y) (((x) + (y) - 1) - ((x) + (y) - 1) % (y)) /* the most conservative memory alignment. * It should be differed for each architecture. */ #ifndef MAXALIGN union sml__alignment__ { char c; short s; int i; long n; float f; double d; long double x; void *p; }; #define MAXALIGN (sizeof(union sml__alignment__)) #endif /* * print fatal error message and abort the program. * err : error status describing why this error happened. * (0: no error status, positive: system errno, negative: runtime error) * format, ... : standard output format (same as printf) */ void sml_fatal(int err, const char *format, ...) ATTR_PRINTF(2, 3) ATTR_NORETURN; /* * print error message. */ void sml_error(int err, const char *format, ...) ATTR_PRINTF(2, 3); /* * print warning message. */ void sml_warn(int err, const char *format, ...) ATTR_PRINTF(2, 3); /* * print fatal error message with system error status and abort the program. */ void sml_sysfatal(const char *format, ...) ATTR_PRINTF(1, 2) ATTR_NORETURN; /* * print error message with system error status. */ void sml_syserror(const char *format, ...) ATTR_PRINTF(1, 2); /* * print warning message with system error status. */ void sml_syswarn(const char *format, ...) ATTR_PRINTF(1, 2); /* * print notice message. */ void sml_notice(const char *format, ...) ATTR_PRINTF(1, 2); /* * print debug message. */ void sml_debug(const char *format, ...) ATTR_PRINTF(1, 2); /* * DBG((format, ...)); * print debug message. * * ASSERT(cond); * abort the program if cond is not satisfied. * * FATAL((err, format, ...)); * print fatal error message with position and abort the program. * * DBG and ASSERT are enabled only if the program is compiled in debug mode. */ #if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L #define DEBUG__(fmt, ...) \ sml_debug("%s:%d:%s: "fmt"\n", __FILE__,__LINE__,__func__,__VA_ARGS__) #define DEBUG_(args) DEBUG__ args #define FATAL__(err, fmt, ...) \ sml_fatal(err, "%s:%d:%s: "fmt, __FILE__,__LINE__,__func__,__VA_ARGS__) #define FATAL(args) FATAL__ args #elif defined __GNUC__ #define DEBUG__(fmt, args...) \ sml_debug("%s:%d:%s: "fmt"\n", __FILE__,__LINE__,__func__,##args) #define DEBUG_(args) DEBUG__ args #define FATAL__(err, fmt, args...) \ sml_fatal(err, "%s:%d:%s: "fmt, __FILE__,__LINE__,__func__,##args) #define FATAL(args) FATAL__ args #else #define DEBUG_(args) \ ((void)sml_debug("%s:%d: ", __FILE__,__LINE__), \ (void)sml_debug args, \ (void)sml_debug("\n")) #define FATAL(args) (sml_fatal args) #endif #ifdef DEBUG #define DBG(args) DEBUG_(args) #else #define DBG(args) #endif /* DEBUG */ #if defined DEBUG || defined ENABLE_ASSERT #define ASSERT(expr) \ ((expr) ? (void)0 : (void)FATAL((0, "assertion failed: %s", #expr))) #else #define ASSERT(expr) ((void)0) #endif /* ENABLE_ASSERT */ /* * for internal use. */ enum sml_msg_level { MSG_FATAL, MSG_ERROR, MSG_WARN, MSG_NOTICE, MSG_DEBUG }; void sml_set_verbose(enum sml_msg_level level); #if 0 void sml_msg_set_hook(FILE *(*start_hook)(enum sml_msg_level level), void (*end_hook)(FILE *f, enum sml_msg_level level)); #endif /* * safe malloc and realloc. */ void *xmalloc(size_t size) ATTR_MALLOC; void *xrealloc(void *p, size_t size) ATTR_MALLOC; #if 0 void xfree(void *); #define free xfree #ifdef DEBUG void *sml_xmem_debug(void *p, const char *prefix, const char *pos); #define xmalloc(x) xmem_debug(xmalloc(x), "xmalloc", FILELINE) #define xrealloc(x) xmem_debug(xrealloc(x), "xrealloc", FILELINE) #define free(x) xmem_debug(x, "free", FILELINE) #endif #endif /* * naive obstack implementation. * Note that this implementation doesn't take care of object alignemnt. */ typedef struct sml_obstack sml_obstack_t; void sml_obstack_blank(sml_obstack_t **obstack, size_t size); void *sml_obstack_finish(sml_obstack_t *obstack); void *sml_obstack_base(sml_obstack_t *obstack); void *sml_obstack_next_free(sml_obstack_t *obstack); size_t sml_obstack_object_size(sml_obstack_t *obstack); void *sml_obstack_alloc(sml_obstack_t **obstack, size_t size); void sml_obstack_free(sml_obstack_t **obstack, void *ptr); void sml_obstack_align(sml_obstack_t **obstack, size_t size); /* use obstack growing object as extensible array */ void *sml_obstack_extend(sml_obstack_t **obstack, size_t size); void sml_obstack_shrink(sml_obstack_t **obstack, void *p); /* enumerate chunks in obstack */ void sml_obstack_enum_chunk(sml_obstack_t *obstack, void (*f)(void *start, void *end, void *data), void *data); int sml_obstack_is_empty(sml_obstack_t *obstack); /* * giant lock of SML# runtime */ #ifdef MULTITHREAD #ifdef DEBUG void sml_giant_lock(void *frame_pointer, const char *lock_at); #else void sml_giant_lock(void *frame_pointer); #endif /* DEBUG */ void sml_giant_unlock(void); void sml_stop_the_world(void); void sml_run_the_world(void); #ifdef DEBUG int sml_giant_locked(void); #define GIANT_LOCKED() sml_giant_locked() #define GIANT_LOCK(fp) sml_giant_lock(fp, FILELINE) #else #define GIANT_LOCKED() 0 #define GIANT_LOCK(fp) sml_giant_lock(fp) #endif /* DEBUG */ #define GIANT_UNLOCK() sml_giant_unlock() #define STOP_THE_WORLD() sml_stop_the_world() #define RUN_THE_WORLD() sml_run_the_world() #else /* MULTITHREAD */ #define GIANT_LOCKED() 1 #define GIANT_LOCK(fp) ((void)0) #define GIANT_UNLOCK() ((void)0) #define STOP_THE_WORLD() ((void)0) #define RUN_THE_WORLD() ((void)0) #endif /* MULTITHREAD */ #ifdef MULTITHREAD volatile unsigned int sml_check_gc_flag; SML_PRIMITIVE void sml_check_gc(void *frame_pointer); #endif /* MULTITHREAD */ /* * SML# heap object management */ struct sml_intinf; typedef struct sml_intinf sml_intinf_t; int sml_obj_equal(void *obj1, void *obj2); void *sml_obj_dup(void *obj); void sml_obj_enum_ptr(void *obj, void (*callback)(void **)); void *sml_obj_alloc(unsigned int objtype, size_t payload_size); void *sml_record_alloc(size_t payload_size); char *sml_str_alloc(size_t len); char *sml_str_new(const char *str); char *sml_str_new2(const char *str, size_t len); sml_intinf_t *sml_intinf_new(void); SML_PRIMITIVE void *sml_alloc(unsigned int objsize, void *frame_pointer); SML_PRIMITIVE void *sml_alloc_callback(unsigned int objsize, void *codeaddr, void *envaddr); SML_PRIMITIVE void *sml_obj_empty(void); SML_PRIMITIVE void sml_write(void *objaddr, void **writeaddr, void *new_value); void sml_heap_gc(void); /* temporally root slots for C code */ void **sml_push_tmp_rootset(size_t num_slots); void sml_pop_tmp_rootset(void **slots); /* * execution context */ void *sml_load_frame_pointer(void); SML_PRIMITIVE void sml_save_frame_pointer(void *p); void *sml_current_thread_heap(void); /* called when SML code is started. */ SML_PRIMITIVE void sml_control_start(void *frame_pointer); /* called when SML code is successfully finished. */ SML_PRIMITIVE void sml_control_finish(void *frame_pointer); SML_PRIMITIVE void sml_state_suspend(void); SML_PRIMITIVE void sml_state_running(void); /* * exception support */ SML_PRIMITIVE void sml_push_handler(void *); SML_PRIMITIVE void *sml_pop_handler(void *exn); int sml_protect(void (*func)(void *), void *data); struct sml_exntag; extern const struct sml_exntag sml_exntag_Bind; extern const struct sml_exntag sml_exntag_Match; extern const struct sml_exntag sml_exntag_Subscript; extern const struct sml_exntag sml_exntag_Size; extern const struct sml_exntag sml_exntag_Overflow; extern const struct sml_exntag sml_exntag_Div; extern const struct sml_exntag sml_exntag_Domain; extern const struct sml_exntag sml_exntag_Fail; extern const struct sml_exntag sml_exntag_MatchCompBug; const void *SML4Bind; const void *SML5Match; const void *SML9Subscript; const void *SML4Size; const void *SML8Overflow; const void *SML3Div; const void *SML6Domain; const void *SML4Fail; const void *SMLN2OS6SysErrE; const void *SMLN8SMLSharp12MatchCompBugE; const char *sml_exn_name(void *exnobj); void sml_matchcomp_bug(void) ATTR_NORETURN; /* * Initialize and finalize SML# runtime */ void sml_init(int argc, char **argv); void sml_finish(void); #endif /* SMLSHARP__SMLSHARP_H__ */ smlsharp-1.2.0/src/runtime/splay.c0000644 000000000000000000001776012050661606017264 0ustar00rootroot0000000 0000000 /* * splay.c - splay tree implementation * @copyright (c) 2009-2010, Tohoku University. * @author UENO Katsuhiro */ #include #include #include "smlsharp.h" #include "splay.h" enum { RIGHT, LEFT }; /* sign bit of compare result */ #define OPP(dir) ((int)((unsigned int)(dir) ^ 1)) #define DIR(cmp) (cmp < 0 ? LEFT : RIGHT) struct sml_tree_node { struct sml_tree_node *child[2]; void *item; void *next; /* for tree traversal */ }; typedef int (*cmp_fn)(void *, void *); static void node_dump(struct sml_tree_node *node, int indent) { if (node == NULL) return; node_dump(node->child[LEFT], indent + 2); fprintf(stderr, "%*s%d\n", indent, "", (int)node->item); node_dump(node->child[RIGHT], indent + 2); } /* for debug */ void sml_tree_dump(struct sml_tree_node *node) { node_dump(node, 0); } /* for debug */ unsigned int sml_tree_height(struct sml_tree_node *node) { int m, n; if (node == NULL) return 0; m = sml_tree_height(node->child[LEFT]); n = sml_tree_height(node->child[RIGHT]); return (m > n ? m : n) + 1; } /* for debug */ unsigned int sml_tree_count(struct sml_tree_node *node) { int m, n; if (node == NULL) return 0; m = sml_tree_count(node->child[LEFT]); n = sml_tree_count(node->child[RIGHT]); return m + n + 1; } /* * Top-down splaying. * * Let a,b,c,... be nodes. * Let A,B,C,... be trees. * nil denotes an empty tree. * T[n][L][R] is tree context where n is the root node, [L] and [R] are * the hole in the left and right sub-tree of n, respectively. * E[n][L][R] is empty tree context such that * n * E[n][L][R] = / \ * L R * * Splaying operation by key k moves a node whose key is k to * root by the splaying operations. * * We describe the splaying operations through transformation rules * of SPLAY term; * * SPLAY_k(A, E[][][]) --*--> T[a][B][C] * * where k is a key and A is a non-empty binary search tree. * After splaying operation, key of root node of resulting tree * T[a][B][C] is equal to k if there is the node a in tree A such * that key of a is k. * * Invaliant: * For any SPLAY_k(A, T[][][]), let n be a node whose key is k, * T[n][nil][nil] is a binary search tree. * * Found: * a * SPLAY_k( / \ , T[][][] ) if k = a.key * B C * * ---> T[a][B][C] * * Left Not Found: * a * SPLAY_k( / \ , T[][][] ) if k < a.key * nil C * * ---> T[a][nil][C] * * Left Zig: * a * / \ * SPLAY_k( b C , T[][][] ) if k < a.key and cannot apply other rules * / \ * A B * b a * ---> SPLAY_k( / \ , T[][][ / \ ] ) * A B [] C * * Left Zig-Zig: * a * / \ * SPLAY_k( b C , T[][][] ) if k < b.key < a.key and A != nil * / \ * A B * b * / \ * ---> SPLAY_k( A a , T[][][] ) (right rotation) * / \ * B C * b * / \ * ---> SPLAY_k( A , T[][][ [] a ] ) (left zig) * / \ * B C * * If k < b.key < a.key but A == nil, one Left Zig will be applied and * then splaying will be finished with Left Not Found rule. This is * equivalent to terminating after right rotation step of Zig-Zig rule. * * Right rules are vice versa. */ static int splay(cmp_fn cmp, struct sml_tree_node **root, void *item) { struct sml_tree_node *child[2], **hole[2]; struct sml_tree_node *node = *root; struct sml_tree_node *tmp; int n, dir; if (node == NULL) return 1; hole[RIGHT] = &child[RIGHT]; hole[LEFT] = &child[LEFT]; n = cmp(item, node->item); while (n != 0) { dir = DIR(n); if (node->child[dir] == NULL) break; n = cmp(item, node->child[dir]->item); if (n != 0 && DIR(n) == dir) { /* zig-zig: rotation */ tmp = node->child[dir]; node->child[dir] = node->child[dir]->child[OPP(dir)]; tmp->child[OPP(dir)] = node; node = tmp; if (node->child[dir] == NULL) break; n = cmp(item, node->child[dir]->item); } *hole[OPP(dir)] = node; hole[OPP(dir)] = &node->child[dir]; node = node->child[dir]; } *hole[RIGHT] = node->child[RIGHT]; *hole[LEFT] = node->child[LEFT]; node->child[RIGHT] = child[RIGHT]; node->child[LEFT] = child[LEFT]; *root = node; return n; } void * sml_tree_find(sml_tree_t *tree, void *item) { int n = splay(tree->cmp, &tree->root, item); return (n == 0) ? tree->root->item : NULL; } void sml_tree_insert(sml_tree_t *tree, void *item) { struct sml_tree_node *node; int n, dir; n = splay(tree->cmp, &tree->root, item); if (n == 0) { tree->root->item = item; return; } node = tree->alloc(sizeof(struct sml_tree_node)); node->item = item; dir = DIR(n); node->child[OPP(dir)] = tree->root; if (tree->root) { node->child[dir] = tree->root->child[dir]; tree->root->child[dir] = NULL; } else { node->child[dir] = NULL; } tree->root = node; } static struct sml_tree_node * delete_root(cmp_fn cmp, struct sml_tree_node *root) { struct sml_tree_node *newroot; if (root->child[LEFT] == NULL) { newroot = root->child[RIGHT]; } else { newroot = root->child[LEFT]; if (root->child[RIGHT] != NULL) { splay(cmp, &newroot, root->item); ASSERT(newroot->child[RIGHT] == NULL); newroot->child[RIGHT] = root->child[RIGHT]; } } return newroot; } void * sml_tree_delete(sml_tree_t *tree, void *item) { struct sml_tree_node *node; void *ret; int n; n = splay(tree->cmp, &tree->root, item); if (n != 0) return NULL; ret = tree->root->item; node = tree->root; tree->root = delete_root(tree->cmp, tree->root); if (tree->free) tree->free(node); return ret; } void sml_tree_reject(sml_tree_t *tree, int(*f)(void *attr)) { cmp_fn cmp = tree->cmp; void (*free)(void *) = tree->free; struct sml_tree_node *node, *new, **cur, **top; if (tree->root == NULL) return; tree->root->next = NULL; top = &tree->root; do { cur = top; node = *cur; top = node->next; while (f(node->item)) { new = delete_root(cmp, node); *cur = new; if (free) free(node); node = new; if (node == NULL) break; } if (node) { if (node->child[RIGHT]) { node->child[RIGHT]->next = top; top = &node->child[RIGHT]; } if (node->child[LEFT]) { node->child[LEFT]->next = top; top = &node->child[LEFT]; } } } while (top); } #define TRAVERSE_NEXT(top, new) do { \ new = top->next; \ if (top->child[RIGHT]) \ top->child[RIGHT]->next = new, new = top->child[RIGHT]; \ if (top->child[LEFT]) \ top->child[LEFT]->next = new, new = top->child[LEFT]; \ } while (0) void sml_tree_delete_all(sml_tree_t *tree) { void (*free)(void *) = tree->free; struct sml_tree_node *top, *next; if (free && tree->root) { tree->root->next = NULL; for (top = tree->root; top; top = next) { TRAVERSE_NEXT(top, next); free(top); } } tree->root = NULL; } void sml_tree_each(sml_tree_t *tree, void (*f)(void *, void *), void *data) { struct sml_tree_node *top, *next; if (!tree->root) return; tree->root->next = NULL; for (top = tree->root; top; top = next) { TRAVERSE_NEXT(top, next); f(top->item, data); } } #if 0 int cmp(void *a, void *b) { if ((int)a < (int)b) return -1; else if ((int) a > (int)b) return 1; else return 0; } int main() { sml_tree_t tree; void *value; int i; int data[8] = {53, 30, 0, 16, 38, 3, 57, 94}; tree.root = NULL; tree.cmp = cmp; tree.alloc = malloc; tree.free = free; for (i = 0; i < 8; i++) { sml_tree_insert(&tree, (void*)data[i]); printf("insert %d\n", data[i]); sml_tree_dump(tree.root); } for (i = 0; i < 8; i++) { value = sml_tree_find(&tree, (void*)data[i]); printf("find %d : %d\n", data[i], (int)value); sml_tree_dump(tree.root); } for (i = 0; i < 8; i++) { value = sml_tree_delete(&tree, (void*)data[i]); printf("delete %d : %d\n", data[i], (int)value); sml_tree_dump(tree.root); } return 0; } #endif smlsharp-1.2.0/src/runtime/splay.h0000644 000000000000000000000152612050661606017262 0ustar00rootroot0000000 0000000 /* * splay.h - splay tree implementation * @copyright (c) 2009-2010, Tohoku University. * @author UENO Katsuhiro */ #ifndef SMLSHARP__SPLAY_H__ #define SMLSHARP__SPLAY_H__ struct sml_tree { struct sml_tree_node *root; int (*cmp)(void *item1, void *item2); void *(*alloc)(size_t); /* for node allocation */ void (*free)(void *); /* for node releasing */ }; typedef struct sml_tree sml_tree_t; #define SML_TREE_INITIALIZER(cmp, alloc, free) {NULL, cmp, alloc, free} void *sml_tree_find(sml_tree_t *tree, void *item); void sml_tree_insert(sml_tree_t *tree, void *item); void *sml_tree_delete(sml_tree_t *tree, void *item); void sml_tree_delete_all(sml_tree_t *tree); void sml_tree_reject(sml_tree_t *tree, int (*f)(void *item)); void sml_tree_each(sml_tree_t *tree, void (*f)(void *item, void *), void*); #endif /* SMLSHARP__SPLAY_H__ */ smlsharp-1.2.0/src/runtime/timer.h0000644 000000000000000000001315112050661606017247 0ustar00rootroot0000000 0000000 /* * timer.h - benchmark timer * @copyright (c) 2010, Tohoku University. * @author UENO Katsuhiro * @version $Id: $ */ #ifndef SMLSHARP__TIMER_H__ #define SMLSHARP__TIMER_H__ #ifdef HAVE_CONFIG_H #include "config.h" #endif /* HAVE_CONFIG_H */ #ifndef HAVE_CONFIG_H #define HAVE_GETTIMEOFDAY #endif /* !HAVE_CONFIG_H */ #if defined HAVE_CLOCK_GETTIME && HAVE_DECL_CLOCK_PROCESS_CPUTIME_ID #include typedef struct timespec sml_timer_t; #define sml_timer_now(timer) clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &(timer)) struct sml_time { long sec, nsec; }; typedef struct sml_time sml_time_t; #define TIMEINIT { 0, 0 } #define TIMEFMT "%ld.%09ld" #define TIMEARG(time) (time).sec, (time).nsec #define TIMEFLOAT(time) ((time).sec + (time).nsec / 1000000000.f) #define sml_timer_dif(timer1, timer2, time) do { \ (time).sec = (timer2).tv_sec - (timer1).tv_sec; \ (time).nsec = (timer2).tv_nsec - (timer1).tv_nsec; \ if ((time).nsec < 0) (time).nsec += 1000000000, (time).sec--; \ } while (0) #define sml_timer_accum(timer1, timer2, time) do { \ (time).sec += (timer2).tv_sec - (timer1).tv_sec; \ (time).nsec += (timer2).tv_nsec - (timer1).tv_nsec; \ if ((time).nsec < 0) \ (time).nsec += 1000000000, (time).sec--; \ else if ((time).nsec > 1000000000) \ (time).nsec -= 1000000000, (time).sec++; \ } while (0) #define sml_time_accum(time1, time) do { \ (time).sec += (time1).sec; \ (time).nsec += (time1).nsec; \ if ((time).nsec > 1000000000) (time).nsec -= 1000000000, (time).sec++; \ } while (0) #elif defined HAVE_GETTIMEOFDAY #include typedef struct timeval sml_timer_t; #define sml_timer_now(timer) gettimeofday(&(timer), NULL) struct sml_time { long sec, usec; }; typedef struct sml_time sml_time_t; #define TIMEINIT { 0, 0 } #define TIMEFMT "%ld.%06ld" #define TIMEARG(time) (time).sec, (time).usec #define TIMEFLOAT(time) ((time).sec + (time).usec / 1000000.f) #define sml_timer_dif(timer1, timer2, time) do { \ (time).sec = (timer2).tv_sec - (timer1).tv_sec; \ (time).usec = (timer2).tv_usec - (timer1).tv_usec; \ if ((time).usec < 0) (time).usec += 1000000, (time).sec--; \ } while (0) #define sml_timer_accum(timer1, timer2, time) do { \ (time).sec += (timer2).tv_sec - (timer1).tv_sec; \ (time).usec += (timer2).tv_usec - (timer1).tv_usec; \ if ((time).usec < 0) (time).usec += 1000000, (time).sec--; \ else if ((time).usec > 1000000) (time).usec -= 1000000, (time).sec++; \ } while (0) #define sml_time_accum(time1, time) do { \ (time).sec += (time1).sec; \ (time).usec += (time1).usec; \ if ((time).usec > 1000000) (time).usec -= 1000000, (time).sec++; \ } while (0) #elif defined HAVE_GETRUSAGE #include typedef struct rusage sml_timer_t; #define sml_timer_now(timer) getrusage(RUSAGE_SELF, &(timer)) struct sml_time { long sec, usec; }; typedef struct sml_time sml_time_t; #define TIMEINIT { 0, 0 } #define TIMEFMT "%ld.%06ld" #define TIMEARG(time) (time).sec, (time).usec #define TIMEFLOAT(time) ((time).sec + (time).usec / 1000000.f) #define sml_timer_dif(timer1, timer2, time) do { \ (time).sec = (timer2).ru_utime.tv_sec - (timer1).ru_utime.tv_sec; \ (time).usec = (timer2).ru_utime.tv_usec - (timer1).ru_utime.tv_usec; \ if ((time).usec < 0) (time).usec += 1000000, (time).sec--; \ } while (0) #define sml_timer_accum(timer1, timer2, time) do { \ (time).sec += (timer2).ru_utime.tv_sec - (timer1).ru_utime.tv_sec; \ (time).usec += (timer2).ru_utime.tv_usec - (timer1).ru_utime.tv_usec; \ if ((time).usec < 0) (time).usec += 1000000, (time).sec--; \ else if ((time).usec > 1000000) (time).usec -= 1000000, (time).sec++; \ } while (0) #define sml_time_accum(time1, time) do { \ (time).sec += (time1).sec; \ (time).usec += (time1).usec; \ if ((time).usec > 1000000) (time).usec -= 1000000, (time).sec++; \ } while (0) #elif defined HAVE_TIMES #include #include typedef struct tms sml_timer_t; #define sml_timer_now(timer) times(&(timer)) typedef clock_t sml_time_t; #define TIMEINIT 0 #define TIMEFMT "%.3f" #define TIMEARG(time) TIMEFLOAT(time) #define TIMEFLOAT(time) ((double)(time) / sysconf(_SC_CLK_TCK)) #define sml_timer_dif(timer1, timer2, time) \ ((time) = (timer2).tms_utime - (timer1).tms_utime) #define sml_timer_accum(timer1, timer2, time) \ ((time) += (timer2).tms_utime - (timer1).tms_utime) #define sml_time_accum(time1, time) \ ((time) += (time1)) #else #include typedef clock_t sml_timer_t; #define sml_timer_now(timer) ((timer) = clock()) typedef clock_t sml_time_t; #define TIMEINIT 0 #define TIMEFMT "%.3f" #define TIMEARG(time) TIMEFLOAT(time) #define TIMEFLOAT(time) ((double)(time) / CLOCKS_PER_SEC) #define sml_timer_dif(timer1, timer2, time) ((time) = (timer2) - (timer1)) #define sml_timer_accum(timer1, timer2, time) ((time) += (timer2) - (timer1)) #define sml_time_accum(time1, time) ((time) += (time1)) #endif /* HAVE_CLOCK_GETTIME */ #endif /* SMLSHARP__TIMER_H__ */ #if 0 #include int fib(int n) { if (n == 0) return 1; if (n == 1) return 1; return fib(n-1) + fib(n-2); } int main() { sml_timer_t b1, b2; sml_time_t t1, t2, t3 = TIMEINIT, t4 = TIMEINIT; sml_timer_now(b1); fib(35); sml_timer_now(b2); sml_timer_dif(b1, b2, t1); sml_timer_accum(b1, b2, t3); sml_time_accum(t1, t4); printf("t1 = "TIMEFMT" sec\n", TIMEARG(t1)); sml_timer_now(b1); fib(40); sml_timer_now(b2); sml_timer_dif(b1, b2, t2); sml_timer_accum(b1, b2, t3); sml_time_accum(t2, t4); printf("t2 = "TIMEFMT" sec\n", TIMEARG(t2)); printf("timer_accum(t1 + t2) = "TIMEFMT" sec\n", TIMEARG(t3)); printf("time_accum(t1 + t2) = "TIMEFMT" sec\n", TIMEARG(t4)); printf("TIMEFLOAT(t3) = %.8f\n", TIMEFLOAT(t3)); return 0; } #endif smlsharp-1.2.0/src/smlformat0000755 000000000000000000000000012050661606016217 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/smlformat/doc0000755 000000000000000000000000012050661606016764 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/smlformat/doc/OVERVIEW_en.txt0000644 000000000000000000022262112050661606021541 0ustar00rootroot0000000 0000000 SMLFormat: Pretty Printer for Standard ML @author YAMATODANI Kiyoshi @version $Id: OVERVIEW_en.txt,v 1.9 2008/08/10 13:44:01 kiyoshiy Exp $ ======================================== 1. SMLFormat The SMLFormat consists of the two components: * smlformat * formatlib ==================== 1.1. smlformat The smlformat is a stand-alone tool. The inputs to the smlformat are the SML source files which contain type/datatype declarations. The type/datatype declarations might be annotated with the special comments which specifies the format to use to print values of that types. These special comments are called the format comment. The smlformat analyses the type/datatype declarations and their format comments, and generates the SML code of functions called the 'formatter'. The formatter for the type t is a function which receives value of the type t and returns the intermediate representation to pretty-print the value. That intermediate representation is called the format expression. -------(Absyn.ppg)----------------------------------------------- structure Absyn = struct (*% *) datatype exp = (*% * @format(const * loc) {const} *) EXPCONSTANT of constant * loc | (*% * @format(cond * ifTrue * ifFalse * loc) * N0{ "if" 2[ +d {cond} ] * +1 "then" 2[ +d {ifTrue} ] * +1 "else" 2[ +d {ifFalse} ] } *) EXPIF of exp * exp * exp * loc | (*% * @format(exp * rule rules * loc) * N0{ "case" 2[+d {exp}] 2[+1 "of" ]+ {rules(rule)(~2[ +1 "|"] +)} } * @format:rule(pat * exp) {{pat} + "=>" +1 {exp}} *) EXPCASE of exp * (pat * exp) list * loc : end ----------------------------------------------------------------- When given the Absyn.ppg, the smlformat inserts the definition of the formatters into the content of the input and generates a SML source file. -------(Absyn.ppg.sml)------------------------------------------- structure Absyn = struct (*% *) datatype exp = : fun format_exp x = ... end ----------------------------------------------------------------- This format_exp has the following type: val format_exp : exp -> FormatExpression.expression list Command options smlformat command accepts are as follows. --stdout writes the result source code to standard output instead of .ppg.sml file.. --with-line-directive insert line directives into the result source code to indicate to SML compiler the position of the code which follows the directive. ==================== 1.2. formatlib The formatlib provides the SMLFormat structure. The SMLFormat structure implements the prettyPrint function. The prettyPrint function receives the format expressions and other parameters including the number of columns, and outputs the string representation of the format expressions which is formatted to fit within the specified number of columns. The prettyPrint function has following type: val prettyPrint : PrinterParameter.printerParameter -> FormatExpression.expression list -> string By using the formatters which the smlformat generated and SMLFormat.prettyPrint, the 'expression' of the Absyn.exp type can be pretty-printed as follows: print (SMLFormat.prettyPrint {newlineString = "\n", spaceString = " ", columns = 60} (Absyn.format_exp expression)) 60 columns is specified there. The output is as follows: 123456789012345678901234567890123456789012345678901234567890 ------------------------------------------------------------ let val exn = getException context val message = case exn of SystemError => "SystemError" | UserError msg => "User:" ^ msg ^ ( concatWith "\n" ( map (frameToString context) (getFrames context) ) ) in raise Error message end By changing the format specification in the format comment, the output is changed as follows: 123456789012345678901234567890123456789012345678901234567890 ------------------------------------------------------------ let val exn = getException context val message = case exn of SystemError => "SystemError" | UserError msg => "User:" ^ msg ^ ( concatWith "\n" ( map (frameToString context) (getFrames context) ) ) in raise Error message end ======================================== 2. Format expression ==================== 2.1. notation We write the translation of a list of format expressions 'exp1 ... expn' with the number of columns 'col' into the string 'text' as: exp1 ... expn col=> text The number of columns may be omitted. exp1 ... expn => text ==================== 2.2. String literal String literals which are enclosed by double quote characters are output as is. "jugemu" => jugemu Sequence of string literals is output concatenated. "jugemu" "jugemu" => jugemujugemu Use the string literal " " to insert white spaces. "jugemu" " " "jugemu" " " "gokounosurikire" => jugemu jugemu gokounosurikire You can find that string literals " " and spaces between expressions are confusing. ==================== 2.3. Space indicator Instead of the string literal " ", the space indicator '+' can be used to insert white space. "jugemu" + "jugemu" + "gokounosurikire" => jugemu jugemu gokounosurikire ==================== 2.4. Newline indicator The output is not multilined even if the total of length of string exceeds the specified number of columns. "jugemu" + "jugemu" + "gokounosurikire" + "kaijarisuigyono" 40=> jugemu jugemu gokounosurikire kaijarisuigyono ---------------------------------------- 1234567890123456789012345678901234567890 The newline indicators specify where to insert newlines. The priority should be specified with the newline indicatros by the integer equal to or more than one. Less number means higher priority. The output is not affected if it is not needed to multiline. "jugemu" 2 "jugemu" 1 "gokounosurikire" 2 "kaijarisuigyono" 50=> jugemujugemugokounosurikirekaijarisuigyono -------------------------------------------------- 12345678901234567890123456789012345678901234567890 If the output does not fit within the specified number of columns, the output is multilined at the newline indicators with higher priority. "jugemu" 2 "jugemu" 1 "gokounosurikire" 2 "kaijarisuigyono" 40=> jugemujugemu gokounosurikirekaijarisuigyono ---------------------------------------- 1234567890123456789012345678901234567890 A newline is inserted at the second indicator because the indicators with priority 1 have preference over the indicators with prirotiy 2. If a newline should be inserted at some of the indicators of the same priority, newlines are inserted at all the indicators of that priority. "jugemu" 2 "jugemu" 1 "gokounosurikire" 2 "kaijarisuigyono" 20=> jugemu jugemu gokounosurikire kaijarisuigyono -------------------- 12345678901234567890 This example contains a newline indcator of prirority 1 and two newline indicators of prirority 2. If 20 is specified as the number of columns, a newline should be inserted at the indicator of priority 1 firstly. Moreover, it is needed to insert newline at the latter of indicators of priority 2, so newlines are inserted at both indicators of priority 2 although it is not needed to insert newline at the former of them. To put it more precisely, whether or not to insert newline at a newline indicator N whose priority is n is decided as follows. 1) If newline is to be inserted at some newline indicator whose priority is less or equal to n, newline is inserted at N also. 2) Assumed that F and B are newline indicators which are the nearest to the N among newline indicators which has higer priority than n and that the F is at the left to the N and the B is at the right of N. A newline is inserted at the N if W < L which are defined as follows. L = the number of columns required to output format expressions between F and B without breaking newlines. W = the specified number of columns minus the column position just after F in a case that a newline is inserted at the F For example, F N B ... 1 "abc" +3 "def" 4 "ghi" +3 "jkl" 2 ... <--------------------------------> The L equals to 14 (= 3 + 1 + 3 + 0 + 3 + 1 + 3) columns which is required to output the format expressions between F and B without inserting newlines. And if newline is inserted at the F, the next line starts at the first column, it means that the W equals to the specified number of columns. As the result, if the specified number of columns is less than 14, it is required to start a newline at the N. 3) Otherwise, no newline is inserted at the indicator. NOTE: If a string literal in format expression contains "\n", the output will start a newline at that position. But the behavior of the SMLFormat is undefined if some string literal in format expression contains any formatting character such as "\n" or "\t". ========== 2.4.1. combination of space indicator and newline indicator Space indicators and newline indicators can be used in combination. A white space is output if there is no need to insert newline at a combined indicator. "jugemu" +2 "jugemu" +1 "gokounosurikire" +2 "kaijarisuigyono" 50=> jugemu jugemu gokounosurikire kaijarisuigyono -------------------------------------------------- 12345678901234567890123456789012345678901234567890 If there is needed to insert newline at a combined indicator, white space is not output and a newline is inserted. "jugemu" +2 "jugemu" +1 "gokounosurikire" +2 "kaijarisuigyono" 40=> jugemu jugemu gokounosurikire kaijarisuigyono ---------------------------------------- 1234567890123456789012345678901234567890 NOTE: Space indicator and newline indicator must be glued without any space between them. If there is any space between space indicator and newline indicator, they are processed independently and a space is output always. NOTE: A string literal " " outputs a space always regardless of needs to insert newline. "jugemu" +2 "jugemu" " "1 "gokounosurikire" +2 "kaijarisuigyono" 40=> jugemu jugemu gokounosurikire kaijarisuigyono ---------------------------------------- 1234567890123456789012345678901234567890 There is output a white space at the end of the first line of the above output. ========== 2.4.2. deferred newline indicator So far, priority is specified for each newline indicators. There can be newline indicators with no priority. Newline indicator without priority is called 'deferred newline indicator'. Newline indicator with priority specified is called 'preferred newline indicator'. Deferred newline indicator is written as 'd'. Newline is inserted at deferred indicator only when the output does not fit within the specified number of columns even though newlines are inserted at all preferred newline indicators. "jugemu" +d "jugemu" +1 "gokounosurikire" +2 "kaijarisuigyono" 30=> jugemu jugemu gokounosurikire kaijarisuigyono ------------------------------ 123456789012345678901234567890 In this example, newlines are inserted at the preferred indicators, but not inserted at the deferred indicator. When less number of columns is specified, newline is inserted at deferred indicator also. "jugemu" +d "jugemu" +1 "gokounosurikire" +2 "kaijarisuigyono" 10=> jugemu jugemu gokounosurikire kaijarisuigyono ---------- 1234567890 ========== 2.4.3. independence of deferred newline indicators As described above, if a newline is needed at some newline indicator of a priority, newlines are inserted at all newline indicators of the same or higher priority. Therefore, in the following example, because insertion of a newline at the last deferred indicator is needed, newlines are inserted at all indicators including the indicator of priority 2 even though the strings surrounding that indicator fit within the specified number of columns. "jugemu" +2 "jugemu" +1 "gokounosurikire" +d "kaijarisuigyono" 30=> jugemu jugemu gokounosurikire kaijarisuigyono ------------------------------ 123456789012345678901234567890 The relative preference is not defined between deferred newline indicators. Therefore, in the following example, a newline is inserted at the third deferred indicator, but not inserted at the first deferred indicator because the strings surrounding it fit within the columns. "jugemu" +d "jugemu" +1 "gokounosurikire" +d "kaijarisuigyono" 30=> jugemu jugemu gokounosurikire kaijarisuigyono ------------------------------ 123456789012345678901234567890 ========== 2.5. indent stack The width of indent of newline at newline indicators can be specified by a '[' following a integer number. ']' undoes the effect of the last '['. "jugemu" +2 "jugemu" 5[ +1 "gokounosurikire" ] +2 "kaijarisuigyono" 40=> jugemu jugemu gokounosurikire kaijarisuigyono ---------------------------------------- 1234567890123456789012345678901234567890 In the above example, because 5 is specified as the indent width just before the second newline indicator, the second line in the output is indented by 5 columns. In the next example, the indent width at the third indicator is 0, which is the default indent width, because of the ']' undoes just before that indicator. "jugemu" +2 "jugemu" 5[ +1 "gokounosurikire" ] +2 "kaijarisuigyono" 30=> jugemu jugemu gokounosurikire kaijarisuigyono ------------------------------ 123456789012345678901234567890 If the expression is modified so that the indent width specification is undone after the third newline indicator, the output becomes as following. "jugemu" +2 "jugemu" 5[ +1 "gokounosurikire" +2 "kaijarisuigyono"] 30=> jugemu jugemu gokounosurikire kaijarisuigyono ------------------------------ 123456789012345678901234567890 Indent width is managed as stack. A '[' indicates to push a indent width onto the indent stack, and a ']' indicates to pop a top element out of the indent stack. The indent width at a newline indicator equals to the sum of the elements held in the indent stack at the indicator. "jugemu" +2 "jugemu" 5[ +1 "gokounosurikire" 3[ +2 "kaijarisuigyono"]]; 30=> jugemu jugemu gokounosurikire kaijarisuigyono ------------------------------ 123456789012345678901234567890 In the above example, the indent width at the third indicator is 8 columns which equals to the sum of 3 and 5. "jugemu" 3[ +1 "jugemu" 5[ +2 "gokounosurikire" 3[ +3 "kaijarisuigyono"]]] 30=> jugemu jugemu gokounosurikire kaijarisuigyono ------------------------------ 123456789012345678901234567890 In the above example, the indent width at the third indicator is 11 columns which equals to the sum of 3, 5 and 3. Width of indent stack can be specified by a negative integer. "jugemu" +2 "jugemu" 5[ +1 "gokounosurikire" ~3[ +2 "kaijarisuigyono"]]; 30=> jugemu jugemu gokounosurikire kaijarisuigyono ------------------------------ 123456789012345678901234567890 In this examle, the width of indent at the third indicator is 2 which equals to the sum of 5 and -3. NOTE: If the sum of indent width at some indicator is less than zero, an error is thrown. For example, in the next expression the indent width at the third indicator is -2 which is the sum of 3 and -5, which results an error thrown. "jugemu" +2 "jugemu" 3[ +1 "gokounosurikire" ~5[ +2 "kaijarisuigyono"]]; ==================== 2.6. Guard So far, priorities of all newline indicators belong to a global scope. Guards separate scopes of priorities. An guard is specified by enclosing an sequence of format expressions by '{' and '}'. {"jugemu" +2 "jugemu"} +1 {"gokounosurikire" +2 "kaijarisuigyono"} NOTE: An '[' and its corresponding ']' must belong to the same guard. The next expression is invalid. {"jugemu" 2[ +2 "jugemu"} +1 {"gokounosurikire" ] +2 "kaijarisuigyono"} ========== 2.6.1. nest of guards When guards are nested, indicators in the enclosing guards have higer priority than indicators in the enclosed guards. {{"jugemu" +1 "jugemu"} +1 "gokounosurikire" +2 "kaijarisuigyono"} 30=> jugemu jugemu gokounosurikire kaijarisuigyono ------------------------------ 123456789012345678901234567890 Although the first indicator is specified the priority 1, it has less priority than the indicator in the outer guard. Therefore, no newline is inserted at the first indicator while newlines are inserted at the two indicators of priority 1 and 2 in the outer guard. Relative preference is not defined between a deferred indicator in the outer guard and a deferred indicator in the inner guard. {"jugemu" +d "jugemu" +1 {"gokounosurikire" +1 "kaijarisuigyono"}} 30=> jugemu jugemu gokounosurikire kaijarisuigyono ------------------------------ 123456789012345678901234567890 ========== 2.6.2. Separated guards Relative preference is not defined between indicators in guards which are not included in each other. {"jugemu" +2 "jugemu"} +1 {"gokounosurikire" +2 "kaijarisuigyono"} 30=> jugemu jugemu gokounosurikire kaijarisuigyono ------------------------------ 123456789012345678901234567890 The first indicator and the third belong to different guards which are not nested each other. Therefore, a newline is inserted at the third indicator while not inserted at the first indicator. ========== 2.6.3. Guard and base column To be precise, the width of indent at newline indicator is equal to the sum of the base column and the elements pushed in the indent stack within the inner most guard enclosing the indicator. The base column is 0 if the indicator is not in a guard. The base column of a guard is the column position at the beginning (= '{') of the guard. "jugemu" + { "jugemu" 5[ +1 "gokounosurikire" ] ~3[ +1 "kaijarisuigyono" ]} 30=> jugemu jugemu gokounosurikire kaijarisuigyono ------------------------------ 123456789012345678901234567890 In the above example, the guard starts at the left of the second "jugemu" which begins at the 8 columns. Therefore, the base column of the guard is 8. Indent width at the indicators within the guard are equal to 13 (= 8 + 5) and 5 (= 8 + -3). In the next example, an element is pushed/popped onto the indent stack before/after the guard. "jugemu" 3[ +1 { "jugemu" 5[ +1 "gokounosurikire"] ~3[ +1 "kaijarisuigyono"]}] 30=> jugemu jugemu gokounosurikire kaijarisuigyono ------------------------------ 123456789012345678901234567890 In this example, because the guard starts just after the indent at the first newline indicator, the base column of the guard is 4. The indent width at two newline indicators within the guard are 9 (= 4 + 5) and 1 (= 4 + -3) respectively. ==================== 2.7. Constant newline A constant newline is notated as a backslash followed by a character 'n'. A constant newline is almost a syntax sugar. A constant newline can be thought as a newline indicator of preferred priority of higher precedence than any other newline indicators, followed by a long sequence of null characters which occupies no column when printed. "jugemu" \n "jugemu" 20=> jugemu jugemu -------------------- 12345678901234567890 In this example, the line is broken even though it can be formatted in the specified width 20. "jugemu" 1 { 4[ "jugemu" +2 "gokounosurikire" \n "kaijarisuigyono" ] } 50=> jugemu jugemu gokounosurikire kaijarisuigyono -------------------------------------------------- 12345678901234567890123456789012345678901234567890 In this example, newline is inserted at all newline indicators at upper level than the inner most guard enclosing the constant newline. And, the line is indented at the constant newline according to the indent stack as usual newline indicator. ======================================== 3. Assoc indicator The main aim of the SMLFormat is to support to implement pretty-printing of the parse tree in programming language processors. Many programming languages define their rule about the association of elements in programs in addition to the production rules so that the hierarchy structure of program elements can be described precisely in the text form of source code. In order to generate outputs conforming to the association rule of the programming languages, the SMLFormat introduces the assoc indicator which indicates associativity between elements of guards. An assoc indicator is specified by the direction and strength of associativity at the just front of the start mark of guards ('{') as following: L10{ "map" + "getContents" + "documents" } R5{ "first" + "::" + "second" + "::" + "others" } N0{ "if" + "matched" +1 "then" + "Matched" +1 "else" + "Fail" } 'L' means that elements in the guard are grouped with left associativity, and 'R' means right associativity. 'N' means that elements are grouped but the direction of association is not considered. The strength of associativity is specified by an integer. Larger integer indicates stronger associativity. The associativity between elements of a guard is defined by these two components:the direction and the strength. ==================== 3.1. protection of guard When generating outputs, the SMLFormat encloses guards with which an assoc indicator is specified by parentheses if necessary. ========== 3.1.1. comparison of associativity of nested guards For example, assumed that associativity of the add operator and the subtract operator are 'L1' and 'L2' respectively, an arithmetic expression can be formatted into an format expression as follows: L2{ L1{ "x" "+" "y" } + "*" + L1{ "v" + "w" }} The output of this format expression should not be as: x + y * v + w but should be as: (x + y) * (v + w) The SMLFormat decides whether or not to enclose an guard with parentheses by comparison of the associativity of elements in the guard and the associativity of elements in the upper guard which surrounds that guard. That is, we assume that the guard P surrounds another guard C and that the associativities of the C and the P are S and T respectively. If the S is 'weaker' than the T, the C should be enclosed by parentheses to prevent association of elements of the C with elements of P. ========== 3.1.2. the assoc direction and position in the guard To decide whether or not to enclose a guard with parentheses, in addition to the comparison of associativities of nested guards, the position of the inner guard within the outer guard must be considered. For example, assumed that the associativity of function applications is 'L10', nested function application can be formatted into the following format expression: L10{ L10{ "f" + "x" } + L10{ "g" + "y" }} The output of this format expression should not be: f x g y but should be: (f x) (g y) Moreover, because the direction of associativity is left, the parentheses enclosing the left application can be removed: f x (g y) but the parentheses enclosing the right application cannot be removed. Similarly, assumued that the associativity of the type constructor '->' is 'R1', an function type expression can be formatted as: R1{ R1{ "t1" + "->" + "t2" } + "->" + R1{ "s1" + "->" + "s2" }} and the output of this should not be: t1 -> t2 -> s1 -> s2 but should be: (t1 -> t2) -> (s1 -> s2) moreover, should be: (t1 -> t2) -> s1 -> s2 ==================== 3.2. elimination of assoc indicator The SMLFormat translates guards with assoc indicators into guards without assoc indicators as follows. Wheter or not to enclose a guard is decided by comparison of the associativity inherited from outer guards and the associativity specified with the guard. ========== 3.2.1. associativity inheritance Assumed that the associativity inherited from outer guards is S and that e is an format expression. The associativity to be inherited to the elements of e is decided as follows: Case e = T{ exp1 ... expk } Case T = Ln 'Ln' is inherited to the leftmost of guards or string literals in exp1 ... expk. 'Nn' is inherited to other elements in e. Case T = Rn 'Rn' is inherited to the rightmost of guards or string literals in exp1 ... expk. 'Nn' is inherited to other elements in e. Case T = Nn 'Nn' is inherited to each element of exp1 ... expk. Case e = {exp1 ... expk} Case S = Ln 'Ln' is inherited to the leftmost of guards or string literals in exp1 ... expk. 'Nn' is inherited to other elements in e. Case S = Rn 'Rn' is inherited to the rightmost of guards or string literals in exp1 ... expk. 'Nn' is inherited to other elements in e. Case S = Nn 'Nn' is inherited to each element of exp1 ... expk. Otherwise There is no associativity inheritance because the e has no sub elements. ========== 3.2.2. '<' relation on associativities The '<' relation on associativities is defined as: An < Bm, if n < m (A,B are L,R or N) Ln < Nn Rn < Nn p < q, if p < r and r < q and '<>' is defined as: p <> q == ((p = Ln and q = Rn) or (p = Rn and q = Ln)) ========== 3.2.3. enclosing a guard Assumed that the associativity inherited from the outer guard is S and that the associativity specified with the inner guard is T, the necessity of enclosing the inner guard with parentheses is decided as follows: a) If S < T or S = T, enclosing is not needed. b) Otherwise, that is, T < S or S <> T, the guard is enclosed. ========== 3.2.4. examples Assumed that the inherited associativity is S, eliminating assoc indicators in format expression e and obtaining e' is written as: S | e => e' Below is translations of three format expressions appeared above. In these examples, the initial associativity to be inherited is 'N0'. ===== Ex.1 L2{ L1{ "x" "+" "y" } + "*" + L1{ "v" + "w" } } L1 < L2 L1 < N2 -------------------------- -------------------------- L2| L1{"x" "+" "y"} N2| L1{"v" "+" "w"} | => "(" {"x" + "y"} ")" | => "(" {"v" + "w"} ")" N0 < L2 ----------------------------------------------------------------- N0| L2{L1{"x" "+" "y"} + "*" + L1{"v" + "w"}} | => {"(" {"x" + "y"} ")" + "*" + "(" {"v" + "w"} ")"} ===== Ex.2 L10{ L10{ "f" + "x" } + L10{ "g" + "y" } } L10 = L10 L10 < N10 ------------------- --------------------------- L10| L10{"f" + "x"} N10| L10{"g" + "y"} | => {"f" + "x"} | => "(" {"g" + "y"} ")" N0 < L10 ------------------------------------------------------------ N0| L10{L10{"f" + "x"} + L10{"g" + "y"}} | => {{"f" + "x"} + "(" {"g" + "y"} ")"} ===== Ex.3 R1{ R1{ "t1" + "->" + t2" } + "->" + R1{ "s1" + "->" + "s2" } } R1 < N1 R1 = R1 ------------------------------- --------------------------- N1| R1{"t1" + "->" + t2"} R1| R1{"s1" + "->" + "s2"} | => "(" {"t1" + "->" + t2"} ")" | => {"s1" + "->" + "s2"} N0 < R1 ------------------------------------------------------------------------- N0| R1{R1{"t1" + "->" + t2"} + "->" + R1{"s1" + "->" + "s2"}} | => {"(" {"t1" + "->" + t2"} ")" + "->" + {"s1" + "->" + "s2"}} ========== 3.2.5. cut With respect to expressions enclosed by keywords or special symbols such as let expression, tuple expression and record expression of SML, it is redundunt to enclose them with parentheses. With the assoc indicator described above, there is no way to specify appropriate associativity for these expressions. For example, let encode the next SML expression into format expression. f (g x, y) --(*) In SML, function application expression has stronger associativity than other expressions. Therfore, assumed that exp1 and exp2 are function expression and argument expression respectively, function application expression can be encoded in the following format expression. L10{ exp1 + exp2 } Next, a tuple expression can be encoded as the following format expression: N0{ "(" exp1 "," + ... "," + expn ")" } So, the SML expression (*) is encoded as: L10{ "f" + N0{ "(" L10{ "g" + "x" } "," + "y"")" } } The output of this format expression is: N0 < L10 --------------------------------- N0| L10{ "g" + "x" } => "g" + "x" ------------------------------------------ N0| "(" L10{ "g" + "x" } "," + "y" ")" | => "(" "g" + "x" "," + "y" ")" N0 < N10 ---------------------------------------------------- N10| N0{ "(" L10{ "g" + "x" } "," + "y"")" } L10| "f" => "f" | => "(" "(" "g" + "x" "," + "y" ")" ")" ------------------------------------------------------------------ N0| L10{ "f" + N0{ "(" L10{ "g" + "x" } "," + "y"")" } } | => "f" + "(" "(" "g" + "x" "," + "y" ")" ")" The result is below, the tuple expression is enclosed redundunt parentheses. f ((g x, y)) This is because the associativity of tuple expression is weaker thane the associativity of function application. Then, raise the associativity of tuple expressions to 'N10': N10{ "(" exp1 "," + ... "," + expn ")" } Now, the format expression encoding the SML expression (*) is L10{ "f" + N10{ "(" L10{ "g" + "x" } "," + "y"")" } } and the output is L10 < N10 ------------------------------------------ N10| L10{ "g" + "x" } => "(" "g" + "x" ")" ------------------------------------------ N10| "(" L10{ "g" + "x" } "," + "y" ")" | => "(" "(" "g" + "x" ")" "," + "y" ")" --------------------------------------------- N10| N10{ "(" L10{ "g" + "x" } "," + "y"")" } L10| "f" => "f" | => "(" "(" "g" + "x" ")" "," + "y" ")" --------------------------------------------------------------- N0| L10{ "f" + N10{ "(" L10{ "g" + "x" } "," + "y"")" } } | => "f" + "(" "(" "g" + "x" ")" "," + "y" ")" In this output, the function application in the tuple expression is enclosed with parentheses redunduntly. f ((g x), y) This is because the associativity specified with a guard is compared to the associativity inherited from the outer guard and to the associativities specified with the inner guards nested in the guard. To solve this problem, the 'cut' attribute can be specified with assoc indicators. This attribute has effect to cut the associativity inheritance from the outer guards, which means that the associativity of the guard is compared to the associativities of inner guards only. The cut attribute can be specified by the '!' just before assoc indicators. Guards which have assoc indicators with cut attribute are not enclosed with parentheses regardless of the associativity of upper guards. With the cut attribute, tuple expressions of SML can be encoded as follows. !N0{ "(" exp1 "," + ... "," + expn ")" } The SML expression (*) is encoded in format expression as follows: L10{ "f" + !N0{ "(" L10{ "g" + "x" } "," + "y"")" } } The output is N0 < L10 --------------------------------- N0| L10{ "g" + "x" } => "g" + "x" ------------------------------------------ N0| "(" L10{ "g" + "x" } "," + "y" ")" | => "(" "g" + "x" "," + "y" ")" --------------------------------------------- N10| !N0{ "(" L10{ "g" + "x" } "," + "y"")" } L10| "f" => "f" | => "(" "g" + "x" "," + "y" ")" --------------------------------------------------------------- N0| L10{ "f" + !N0{ "(" L10{ "g" + "x" } "," + "y"")" } } | => "f" + "(" "g" + "x" "," + "y" ")" then, the result is: f (g x, y) there is no redundunt parentheses. ======================================== 4. formatter generation Given special comments annotated with type/datatype declarations, the smlformat generates SML code of formatter functions. ==================== 4.1. basic formatters The BasicFormatters structure provides predefined formatters for basic types such as int, string and other types defined in SML Basis Library. For example, the format_int is a formatter for the int type, the format_string is for the string type. ==================== 4.2. format comment for type declaration Let define the 'number' type by following type declaration type number = int and define a formatter for this type. To make the smlformat generate formatter, the declaration is annotated with comments as follows: (*% *) type number = (*% * @format(value) "123" *) int The directives to the smlformat is described in comments enclosed with "(*%" and "*)". These comments are called 'format comment'. Format comments just before the 'type' keyword are called 'type declaration header comment'. Format comments following '=' are called 'defining type expression comments'. ========== 4.2.1. type declaration header comment To let the smlformat generate formatters for a type, type declaration header comment is required. In the above example, the type declaration header comment is empty. ========== 4.2.2. defining type expression comment In type expression comment, a format tag must be specified. Syntax of format tags is: "@format(" typepat ")" template ... template 'typepat' is patterns on type expression, we call them type pattern. 'template' is format templates. Format templates specify the format to be used to pretty-print values of the type annotated. Syntax of format templates is a superset of the syntax of format expression. ========== 4.2.3. generation of formatter For the above 'number' type, the smlformat generates following SML code of formatter. For purposes of illustration, between "<<" and ">>" is mixture of format expression and SML expression. fun format_number x = case x of value => << "123" >> ==================== 4.3. format comment for datatype declaration A format comment for datatype declaration consist of a type declaration header comment and defining type expression comments for each value constructors. (*% *) datatype maybeNumber = (*% @format(value) "456" *) SomeNumber of number | (*% @format "none" *) NotNumber In format tag, a type pattern matched with the type expression of argument of value constructor and templates must be specified. In format tag for value constructors which require no argument, type pattern must not be specified. The smlformat generates following formatter for the above 'maybeNumber'. fun format_maybeNumber x = case x of SomeNumber value => << "456" >> | NotNumber => << "none" >> ==================== 4.4. type pattern From type patterns in format tags, the smlformat generates SML code which executes pattern match with values of the defined type. By matching the type pattern with the type expression, the SMLFormat identifies type expressions corresponding with identifiers occurring in type pattern. Identifiers occurring in type pattern can be used in format templates. The smlformat translates identifiers occurring in format templates into a SML code which builds format expression encoding values bound to that identifier in runtime. That is, an identifier in format templates indicates to expand corresponding template which is specified with the declaration of the type matched with the identifier. We call occurring of identifiers in format templates 'template instantiation'. Using template instantiation, the above format comment for the 'number' type can be modified as follows. (*% *) type number = (*% @format(value) value *) int The smlformat genearates below formatter for this type. fun format_number x = case x of value => << format_int(value) >> By matching type expression and type pattern, the smlformat finds that the the 'int' type corresponds with the identifier 'value', so the occurrings of the identifier 'value' in the format template is translated to SML expression which invoke 'format_int' which is the formatter for the 'int' type. The declaration of the 'maybeNumber' type can be modified also, as follows. (*% *) datatype maybeNumber = (*% @format(value) value *) SomeNumber of number | (*% @format "none" *) NotNumber fun format_maybeNumber x = case x of SomeNumber value => << format_number(value) >> | NotNumber => << "none" >> ========== 4.4.1. identifier type pattern An identifier can be used as a type pattern which can be matched with any type expression. ========== 4.4.2. tuple type pattern For tuple type expression, type pattern as follow can be specified. (*% *) type region = (*% @format(left * right) "left=" left + "right=" right *) int * int The smlformat genrates following formatter for the 'region' type. fun format_region x = case x of (left, right) => << "left=" format_int(left) + "right=" format_int(right) >> ========== 4.4.3. record type pattern For record type expression, type pattern can be specified also. (*% *) type range = (*% @format({min : minimum, max}) minimum + "<->" + max *) {min : int, max : int} The smlformat generates following formatter for the 'range' type. fun format_range x = case x of {min = minimum, max} => << format_int(minimum) + "<->" + format_int(max) >> ========== 4.4.4. value constructor with argument The smlformat can generate formatters for value constructors which require an argument. (*% *) datatype 'a maybe = (*% @format(value) value *) Something of 'a | (*% @format "none" *) Nothing The formatter which the smlformat generates for this 'maybe' type requires a formatter for the type variable 'a' as an argument. It is called 'formatter argument'. fun format_maybe format_'a x = case x of Something value => << format_'a(value) >> | Nothing => << "none" >> For types which use this 'maybe' type in their defining type expressions, format comments can be specified as follows. (*% *) type maybeString = (*% @format(str tycon) tycon(str) *) string maybe A type pattern for type constructor application takes the form as typepat ID In the above example, the type constructor 'maybe' matches with the identifier 'tycon' in type pattern, and the 'string' type matches with the identifier 'str'. In format templates, an identifier which matches with type constructor should be applied to identifier which matches with type expression which is the argument to that constructor. In the above example, the identifier 'tycon' is applied to the identifier 'str' in the format template. The formatter which the smlformat generates for the 'maybeString' calls the 'format_maybe' with the 'format_string' as the first argument. fun format_maybeString x = case x of tycon => << (format_maybe format_string tycon) >> ========== 4.4.5. wildcard type pattern A underscore '_' can be used as wildcard. (*% *) type wildCard = (*% @format(_ * n) n *) (bool * int) A wildcard type pattern '_' is translated into wildcard term pattern. fun format_wildCard x = case x of (_, n) => << format_int(n) >> ========== 4.4.6. quoted identifier and label Identifier and field labels of 'd' and numeral characters have to be quoted by single-quotation, or they are interpreted newline indicators. (*% *) type quotedFields = (*% @format({'d' : fd, '1' : f1}) fd f1 *) {d : int, 1 : bool} The smlformat generates the following formatter. fun format_quotedFields x = case x of {d = fd, 1 = f1} => << format_int(fd) format_bool(f1) >> ========== 4.4.7. additional argument Formatter can require additional arguments besides the value to be formatted and formatter arguments. (*% * @params (label) *) type 'a anyLabeled = (*% @format(value) label ":" value *) 'a Additional arguments are specified in the type header comment with "@params" tag. When multiple additional arguments are required, write as (*% * @params (p1, ..., pk) *) or (*% * @params (p1) * : * @params (pk) *) Additional arguments can be used in format templates. Additional arugments occurring in format templates are translated into parameter variables which are bound to arguments passed from caller of the formatter in runtime. The smlformat generates the following formatter for the 'anyLabeled' type. fun format_anyLabeled (format_'a, label) x = case x of value => << label ":" format_'a(value) >> If the formatter for a type constructor 'T' requires additional arguments, identifiers in format template matching with the 'T' should be applied to additional arguments besides formatter arguments. Any templates can be passed as additional arguments. If a formatter requires 'j' formatter arguments and 'k' additional arguments, occurences of the identifier 'ID' matching with the formatter should take the form as follows: ID(inst1, ..., instj)(temp1, ..., tempk) If the formatter requires no additional argument, the second tuple can be omitted. ID(inst1, ..., instj) If the formatter requires some additional arguments and no formatter argument, the first tuple cannot be omitted. ID()(temp1, ..., tempk) NOTE: Because the smlformat cannot determine the type of formatter invoked, formatter arguments and additional arguments must be separated explicitly. In format comments for type declarations which use the 'anyLabeled' in their defining type expression, additional arguments should be passed as follows: (*% *) type intLabeled = (*% @format(num tycon) tycon(num)("INT") *) int anyLabeled The following formatter is generated. fun format_intLabeled x = case x of tycon => << format_anyLabeled (format_int, "INT") tycon >> ==================== 4.5. formal definition We present the formal definition of formatter generation described above. ========== 4.5.1. environment A formatter environment F is a function from a set of names of type constructors to a set of formatter names. A type environment T is a function from a set of identifiers to types. A additional argument names P is a set of names of additional arguments. ========== 4.5.2. translation of format templates We write for the translation from a format template 'temp' to a mixture 'exp' of format expressions and SML expressions under F, T and P as follows: F,T,P | temp ==> exp Rules of translation of format templates are following: (STRING) F,T,P | "string" ==> "string" (INDICATOR) F,T,P | sp ==> sp (INDSTART) F,T,P | ind[ ==> ind[ (INDEND) F,T,P | ] ==> ] (SEQ) F,T,P | templ1 ==> exp1 F,T,P | templ2 ==> exp2 -------------------------------------------------- F,T,P | templ1 templ2 ==> exp1 exp2 (GUARD) F,T,P | temp ==> exp --------------------------- F,T,P | { temp } ==> { exp } (INST1) T(ID) = (t1,...,tj) t T(ID1) = t1 ... T(IDj) = tj F(t) = f F(t1) = f1 ... F(tj) = fj F,T,P | temp1 ==> exp1 : F,T,P | tempk ==> expk ------------------------------------------------------- F,| ID(ID1,...,IDj)(temp1,..., tempk) T,| ==> P | f(f1, ..., fj, exp1, ... , expk)(ID) iThis rule generates a function application in SML code.) (INST2) T(ID) = t F(t) = f -------------------------- F,T,P | ID ==> f(ID) iThis rule generates a function application in SML code.) (INST3) P = P'+{ID} --------------------- F,T,P | ID ==> ID iThis rule generates a function application in SML code.) ========== 4.5.3. generation of body of formatter We write for the generation of SML expression 'e' from a format tag and a variable name 'x' and a type expression 'te' under F and P as follows: F,P | @format(typepat) template, x, te ==> e This means that 'x' is a variable which is bound to a value to be formatted, that 'te' is the type of 'x' and that the format tag specifies the format for the 'te'. Below are rules for the case where 'te' is a tuple type expression or type constructor application. The rule for record type expression is similar. Atom types such as 'int' or 'string' are considered type constructor application with no arguments. (TUPLEtype) dom(F) includes {t1,...,tj} T = {ID1:t1, ..., IDj:tj} F,T,P | temp => e ------------------------------------------------- F,| @format(ID1 * ... * IDj) temp, P | x, (t1 * ... * tj) | ==> case x of (ID1,...,IDj) => e (TYCONAPPtype) dom(F) includes {t,t1,...,tj} T = {ID:(t1,...,tj)t, ID1:t1, ..., IDj:tj} F,T,P | temp => e -------------------------------------------------- F,| @format((ID1, ..., IDj) ID) temp, P | x, (t1, ..., tj) t | ==> case x of ID => e ========== 4.5.4. generation of formatter Using above rules, we present rules of generation of a formatter definition and new formatter environment F' from a type declaration or a datatype declaration under F. We assume here that only single type constructor is defined in a type/datatype declaration. Of course, the SMLFormat supports formatter generation from type/datatype declarations where multiple type constructors are defined connected by 'and' keyword, described later. (TYPEdec) x,f1,...,fj are fresh variables F' = F+{t:format_t} F'' = F'+{'a1:f1, ..., 'aj:fj} P = {b1,...,bk} F'',P | formattag,x,t ==> e ------------------------------------------------------- F | (*% @formatparams (b1,...,bk) *) | type ('a1,...,'aj) t = | (*% formattag *) t | ==> | fun format_t(f1,...,fj,b1,...,bk) x = e, | F' (DATATYPEdec) x,x1,...,xj,f1,...,fj are fresh variables F' = F+{t:format_t} F'' = F'+{'a1:f1, ..., 'aj:fj} P = {b1, ..., bk} F'',P | formattag1,x1,t1 ==> e1 : F'',P | formattagj,xj,tj ==> ej ----------------------------------------------------- F | (*% @formatparams (b1,...,bk) *) | datatype ('a1,...,'aj) t = | (*% formattag1 *) D1 of t1 | | ... | | (*% formattagj *) Dj of tj | ==> | fun format_t(f1,...,fj,b1,...,bk) x = | case x of D1 x1 => e1 | ... | Dj xj => ej, | F' The rule for the case where the value constructor takes no argument is omitted. ==================== 4.6. compound type pattern In the above description, every arguments to type constructors and elements of tuple/record type expressions are single identifiers. The SMLFormat can generate formatters for more compound type expression. ========== 4.6.1. type pattern for nested type expression Format tag for type expression which contains nested type constructor applications, that is, type constructor applications whose argument is also a type constructor application, can be specified. (*% *) type maybeLabeledInt = (*% * @format(num may any) any(may(num))("INT") *) int maybe anyLabeled The formatter generated for this 'maybeLabeledInt' is as follows: fun format_maybeLabledInt x = case x of any => << format_anyLabeled (format_maybe format_int, "INT") any >> Format tag for type expression which includes tupe/record type expressions whose elements include tuple, record or type constructor application can be specified also. The defining type expression of the following 'maybeRange' contains a record type expression which has a type constructor application in its elements. (*% *) type maybeRange = (*% * @format({min : min minMaybe, max : max maxMaybe}) * minMaybe(min) "<->" maxMaybe(max) *) {min : int maybe, max : int maybe} fun format_maybeRange x = case x of {min = minMaybe, max = maxMaybe} => << (format_maybe format_int minMaybe) "<->" (format_maybe format_int maxMaybe) >> ========== 4.6.2. matching of compound type expression and identifier In the above examples, identifiers in type patterns are matched only with atom types such as 'int' and 'string' or type constructor names such as 'maybe'. When an identifier is matched with compound type expression such as record type expression or type constructor application, there is no way to specify the format of values bound to the identifier. For example, consider the following type declaration. (*% *) type labeledRange = (*% * @format(range any) any(range) <== ??? *) {min : int, max : int} anyLabeled A record type expression is matched with the identifier 'range', but there is no way to specify the format for the record value and pass that format to the formatter of 'anyLabeled'. To avoid this restriction, we can split the declaration into a type declaration and a datatype declaration as follows: type range = {min : int, max : int} type labeledRange = range anyLabeled But this is not smart. ========== 4.6.3. local format tag To the above problem, the SMLFormat provides a solution. In this solution, an identifier which matches with compound type expression is considered as an temporary name given to the compound type expression and the format specification of that type expression can be described in another format tag. We call these format tag 'local format tag', which means that these tags specify the format of type expression which is given local temporary name. On the other hand, we call format tags for defining type expression 'primary format tag'. Local format tag is written as "@format:"ID "(" typepat ")" template ... template (No space is allowed between '@format:" and ID.) Using local format tag, the above declaration of 'labeledRange' type can be rewritten as follows: (*% *) type labeledRange = (*% * @format(range any) any(range)("Range:") * @format:range({min : min, max : max}) * "(min =" + min "," + "max =" + max ")" *) {min : int, max : int} anyLabeled From matching of the type pattern in the primary format tag range any and the defining type expression {min : int, max : int} anyLabeled the smlformat determines the type of 'range' to be a record {min : int, max : int}. And the local tag following the primary tag indicates that the identifier 'range' is a name given to type expressions which matches with the type pattern {min : min, max : max} Put these together, the smlformat considers that a temporary type 'range' is declared locally as: type range = {min : int, max : int} and that the identifier 'range' occuring in the primary format tag has the type 'range'. Then the smlformat generates a formatter for the 'range' type from this local format tag. The smlformat generates following formatter. fun format_labeledRange x = let fun format_range x = case x of {min = min, max = max} => << "(min =" + format_int(min) "," + "max =" + format_int(max) ")" >> in case x of any => format_anyLabeled (format_range, "Range:") any end Similarly, for the below 'tree' type, format comment can be specified by using local format tag. (*% *) datatype tree = (*% @format(num) num *) Leaf of int | (*% * @format(child children) "{" children(child)(", ") "}" * @format:child({child, label}) label "=" child *) Node of {child : tree, label : string} list The following formatter is generated. fun format_tree x = case x of Leaf x => case x of num => << (format_int num) >> | Node x => let fun format_child x = case x of {child, label} => << (format_string label) "=" (format_tree child) >> in case x of children => << "{" (format_list(format_child, ", ") children) "}" >> end Local format tags can be used for specifying format of nested type constructor application. The above declaration of 'maybeLabeledInt' can be rewritten as follows: (*% *) type maybeLabeledInt = (*% * @format(maybeNum any) any(maybeNum)("INT") * @format:maybeNum(num may) may(num) *) int maybe anyLabeled The following formatter is generated. fun format_maybeLabledInt x = case x of any => let fun format_maybeNum x = case x of may => format_maybe format_int may in << format_anyLabeled (format_maybeNum, "INT") any >> end NOTE: Format tags must be ordered as described below. The primary tag must be ahead of local format tags. If format tags in a format comment for a defining type expression are specified in the following order @format( typepat0 ) ... @format:ID1( typepat1 ) ... : @format:IDk( typepatk ) ... each IDi (1 <= i <= k) must occur somewhere in typepat0 ... typepat(i-1). ==================== 4.7. custom formatter For each type/datatype declarations, at most one format comment can be specified. And for primitive types and types defined in third-party library , format comment cannot be specified. You can instruct the smlformat to generate formatter which uses hand coded formatters instead of formatters generated from format comment. These hand coded formatters are called 'custom formatter'. For example, assume that a hand-coded formatter which formats word value in binary notation is defined in 'MyFormatters' structure, we want to use this instead of 'BasicFormatters.format_word'. fun myformat_binary x = << "0b" (Word.fmt StringCvt.BIN x) >> To use this formatter in a format comment of a type/datatype declaration, following tag should be used in declaration header comment. @formatter(ID) qid This tag declares 'ID' as temporary type name, and indicates that 'qid' is used as formatter for this type. The syntax of 'qid' is as follows. qid ::= ID | ID "." qid Then, the identifiers in defining type expression comment can be annotated with these custom formatters to be used to format the values bound to these identifiers. Custom formatters can be specified in type pattern, or in format templates. Example. (*% * @formatter(binary) MyFormatters.myformat_binary *) type file = (*% * @format({name, flags : flags:binary}) * "{name=" name "," + "flags=" flags "}" *) {name : string, flags : word} Or (*% * @formatter(binary) MyFormatters.myformat_binary *) type file = (*% * @format({name, flags}) * "{name=" name "," + "flags=" flags:binary "}" *) {name : string, flags : word} The formatter for this 'file' type is generated as follows. fun format_file x = case x of {name, flags} => << "{name=" (format_string name) "," + "flags=" (MyFormatters.myformat_binary flags) "}" >> ==================== 4.8. formal definition The formal definition is extented to include nested type pattern, local format tag and custom formatter. ========== 4.8.1. pattern match The translation rule t <=> tp ==> T denotes a translation from type 't' and type pattern 'tp' to type environment 'T'. (IDmatch) t <=> ID ==> {ID:t} (TypedIDmatch) t <=> ID1 : ID2 ==> {ID1:ID2} (TYCONAPPmatch) t1 <=> p1 ==> T1 ... tj <=> pj ==> Tj ---------------------------------------- (t1, ..., tj) t <=> (p1, ..., pj) ID ==> T1+...+Tj+{ID:(t1, ..., tj) t} (TypedTYCONAPPmatch) t1 <=> p1 ==> T1 ... tj <=> pj ==> Tj ---------------------------------------- (t1, ..., tj) t <=> (p1, ..., pj) ID1 : ID2 ==> T1+...+Tj+{ID1:(t1, ..., tj) ID2} (TUPLEmatch) t1 <=> p1 ==> T1 ... tj <=> pj ==> Tj ------------------------------------------- (t1, ..., tj) <=> (p1,... pj) ==> T1+...+Tj ========== 4.8.2. generation of SML pattern The rule typat --> expat denotes a generation of pattern 'expat' in SML from type pattern 'typat'. (IDpat) ID --> ID (TypedIDpat) ID1 : ID2 --> ID1 (TYCONAPPpat) (tp, ..., tp) ID --> ID (TypedTYCONAPPpat) (tp, ..., tp) ID1 : ID2 --> ID1 (TUPLEpat) tp1 --> pat1 ... tpj --> patj ---------------------------------------- (tp1 * ... * tpj) --> (pat1, ..., patj) ========== 4.8.3. translation of format templates The rule INST1 is modified, and two rules TypedINST1 and TypedINST2 are added. (INST1) T(ID) = (t1,...,tj) t F(t) = f F,T,P | inst1 ARG==> f1 : F,T,P | instj ARG==> fj F,T,P | temp1 ==> exp1 : F,T,P | tempk ==> expk ----------------------------------------------- F,| ID(inst1,...,instj)(temp1,..., tempk) T,| ==> P | f(f1, ..., fj, exp1, ... , expk)(ID) (TypedINST1) F(ID2) = f F,T,P | inst1 ARG==> f1 : F,T,P | instj ARG==> fj F,T,P | temp1 ==> exp1 : F,T,P | tempk ==> expk ----------------------------------------------- F,| ID1:ID2(inst1,...,instj)(temp1,..., tempk) T,| ==> P | f(f1, ..., fj, exp1, ... , expk)(ID1) (TypedINST2) F(ID2) = f -------------------------- F,T,P | ID1:ID2 ==> f(ID1) The TypedINST1 and TypedINST2 use translation rules from a template instantiation to a name of formatter defined as: F,T,P | inst ARG==> formatter (INST1-ARG) T(ID) = (t1,...,tj) t F(t) = f F,T,P | inst1 ARG==> f1 : F,T,P | instj ARG==> fj F,T,P | temp1 ==> exp1 : F,T,P | tempk ==> expk -------------------------------------------- F,| ID(inst1,...,instj)(temp1,..., tempk) T,| ARG==> P | f(f1, ..., fj, exp1, ... , expk) (TypedINST1-ARG) F(ID2) = f F,T,P | inst1 ARG==> f1 : F,T,P | instj ARG==> fj F,T,P | temp1 ==> exp1 : F,T,P | tempk ==> expk ----------------------------------------------- F,| ID1:ID2(inst1,...,instj)(temp1,..., tempk) T,| ARG==> P | f(f1, ..., fj, exp1, ... , expk) (INST2-ARG) T(ID) = t F(t) = f --------------------- F,T,P | ID ARG==> f (TypedINST2-ARG) F(ID2) = f ------------------------------- F,T,P | ID1:ID2 ARG==> f(ID1) ========== 4.8.4. generation of body of formatter The TUPLEtype and the TYCONAPPtype are integrated into the following rule. (TYPEtype) t <=> typepat ==> T T(ID1) <=> typepat1 ==> T1 (T+T1)(ID2) <=> typepat2 ==> T2 : (T+T1+...+Tj-1)(IDj) <=> typepatj ==> Tj Fj = F (* register formatters for alias type *) Fj-1 = Fj+{IDj:fj} : F1 = F2+{ID2:f2} F0 = F1+{ID1:f1} T' = T+{ID1:ID1,...,IDj:IDj} (* overwrites entries for alias type *) T1' = T1+{ID2:ID2,...,IDj:IDj} : Tj' = Tj F0,T',P | templates ==> exp (* generate exps for templates *) F1,T1',P | templates1 ==> exp1 : Fj,Tj',P | templatesj ==> expj typepat --> pat typepat1 --> pat1 : typepatj --> patj ----------------------------------------------------- F, | @format(typepat) templates P | @format:ID1(typepat1) templates1 | : | @format:IDj(typepatj) templatesj | x, t | | ==> | | case x of pat => let fun fj patj = expj | : | fun f1 pat1 = exp1 | in exp end ========== 4.8.5. generation of formatter The TYPEdec and the DATATYPEdec are extended to incorporate custom formatter tag in declaration header comment. Both TYPEdec and DATATYPEdec add formatters specified by custom formatter tag into the formatter environment used in generating SML code of formatter for defining type expression (TYPEdec) x,f1,...,fj are fresh names F' = F+{t:format_t} F'' = F'+{'a1:f1, ..., 'aj:fj}+{ID1:qid1, ..., IDn:qidn} P = {b1,...,bk} F'',P | formattag,x,t ==> e ------------------------------------------------------- F | (*% | @formatparams (b1,...,bk) | @formatter(ID1) qid1 | : | @formatter(IDn) qidn | *) | type ('a1,...,'aj) t = | (*% formattag *) t | ==> | fun format_t(f1,...,fj,b1,...,bk) x = e, | F' (DATATYPEdec) x,x1,...,xj,f1,...,fj are fresh names F' = F+{t:format_t} F'' = F'+{'a1:f1, ..., 'aj:fj}+{ID1:qid1, ..., IDn:qidn} P = {b1, ..., bk} F'',P | formattag1,x1,t1 ==> e1 : F'',P | formattagj,xj,tj ==> ej ----------------------------------------------------- F | (*% | @formatparams (b1,...,bk) | @formatter(ID1) qid1 | : | @formatter(IDn) qidn | *) | datatype ('a1,...,'aj) t = | (*% formattag1 *) D1 of t1 | | ... | | (*% formattagj *) Dj of tj | ==> | fun format_t(f1,...,fj,b1,...,bk) x = | case x of D1 x1 => e1 | ... | Dj xj => ej, | F' ==================== 4.9. generation of default formatter tags If a declaration header comment is specified in a type/datatype declaration but some of the defining type expressions in the declaration has no defining type expression comment, the smlformat auto-generates format tags for that defining type expression. This auto generated format tag is called 'default format tag'. And formatters are generated from this format comment. For example, assume the type 'maybe' is declared as follows. (*% *) datatype 'a maybe = Something of 'a | (*% @format "none" *) Nothing The smlformat generates following default format tag and generates formatter from this tag. (*% *) datatype 'a maybe = (*% @format(x1) {"Something" + {x1}} *) Something of 'a | (*% @format "none" *) Nothing Formatters generated from default format tags format values into the form in which these values are written in SML source code. For example, a record value {name = "YAMADA", age = 20} of the type {name : string, age : int} is formatted into {name = "YAMADA", age = 20} and a int list [1, 3, 5] is formatted into [1, 3, 5] Generation rules of default format tags are presented below. These rules indicate generation of a primary format tag and 'j' local format tags from type expression 't' as following. t => (typat, temps), {(id1, typat1, temps1), ..., (idj, typatj, tempsj)} The primary tag consists of type pattern 'typat' and a list 'temps' of format templates. Each local format tag consists of a identifier 'idN', a type pattern 'typatN' and a list 'tempsN' of format template. (ATOMdeftags) x is fresh name --------------- ID => (x, x), {} (TUPLEdeftags) x1,...,xj are fresh names t1 => ((typat1, temp1), L1) : tj => ((typatj, tempj), Lj) --------------------------------------------------------- t1 * ... * tj => ((x1, ..., xj), "(" x1 "," ... "," xj ")"), {(x1, typat1, temp1), ..., (xj, typatj, tempj)}+L1+...+Lj (RECORDdeftags) x1,...,xj are fresh names t1 => ((typat1, temp1), L1) : tj => ((typatj, tempj), Lj) ----------------------------------------------------------------------- {ID1:t1, ..., IDj:tj} => ({ID1=x1, ..., IDj=xj}, "{" "ID1" "=" x1 "," ... "," "IDj" "=" xj "}"), {(x1, typat1, temp1), ..., (xj, typatj, tempj)}+L1+...+Lj (TYCONAPPdeftags) x1,...,xj are fresh names t1 => ((typat1, temp1), L1) : tj => ((typatj, tempj), Lj) --------------------------------------------------------- (t1, ..., tj) ID => ((x1, ..., xj) x, x(x1, ..., xj)), {(x1, typat1, temp1), ..., (xj, typatj, tempj)}+L1+...+Lj A following dedicated rule is applied if the 't' is an application of the type constructor 'List.list' because the 'BasicFormatters.format_list' which is the formatter for the 'list' type requires an additional argument. (listAPPdeftags) x1,...,xj are fresh names t1 => ((typat1, temp1), L1) : tj => ((typatj, tempj), Lj) --------------------------------------------------------- (t1, ..., tj) list => ((x1, ..., xj) x, "[" x(x1, ..., xj)(",") "]"), {(x1, typat1, temp1), ..., (xj, typatj, tempj)}+L1+...+Lj Similarly, if the 't' is a application of type constructor 'Array.array' and 'Vector.vector', dedicated rules are applied. If the 't' is a functional type, a fixed string literal is output. (funAPPdeftags) x is a fresh name. -------------- t1 -> t2 => (x, "<>"), {} For defining type expression in type declarations, the primary format tag generated by these rules are used as is. For defining type expressions in datatype declarations, the primary format tag generated by these rules are modified so that name of value constructor is prepended to the list of format template. ==================== 4.10. type declarations ========== 4.10.1. mutual recursive datatype For datatypes declared in a datatype declaration and connected by 'and' keyword, formatter function definitions connected by 'and' keyword are generated. ========== 4.10.2. withtype Format comment can be specified for declarations using 'withtype' keyword. (*% *) datatype tree = (*% @format(num) num *) Leaf of int | (*% @format(child children) "{" children(child)(", ") "}" *) Node of node list withtype node = (*% @format({child, label}) label "=" child *) {child : tree, label : string} Formatters like following are generated. fun format_tree x = case x of Leaf x => case x of num => << (format_int num) >> | Node x => case x of children => << "{" (format_list(format_node, ", ") children) "}" >> and format_node x = case x of {child, label} => << (format_string label) "=" (format_tree child) >> ========== 4.10.3. abstype Format comment can be specified for declarations using 'abstype' keyword. (*% *) abstype set = (*% @format(element elements) "{" elements(element)(", ") "}" *) SET of element list withtype element = (*% @format(value) value *) string with fun create () = ... fun addTo (v, set) = ... fun isMemberOf (v, set) = ... end Code of formatters for the abstype are inserted within that declaration. (*% *) abstype set = (*% @format(element elements) "{" elements(element)(", ") "}" *) SET of element list withtype element = (*% @format(value) value *) string with fun format_set x = ... and format_element x = ... fun create () = ... fun addTo (v, set) = ... fun isMemberOf (v, set) = ... end ==================== 4.10.4 datatype replication For datatypes declared by replication in the form: datatype s = datatype M.t formatters can be specified as follows. (*% * @formatter(Absyn.region) Absyn.format_region *) datatype region = datatype Absyn.region ==================== 4.12. exception delcaration Format comment can be specified for exception declarations. (*% *) exception (*% * @format({fileName, line : leftLine, col : leftCol} * * {line : rightLine, col : rightCol, ...} * * message) * fileName ":" leftLine "." leftCol "-" rightLine "." rightCol ":" message *) ParseError of {fileName:string, line:int, col:int} * {fileName:string, line:int, col:int} * string Since the exn type is extensible, formatter generated for an exception is different than those for datatype and type declarations as follows. local fun format x = case x of ParseError ( {fileName, line = leftLine, col = leftCol}, {line = rightLine, col = rightCol, ...}, message ) => << (format_string fileName) ":" (format_int leftLine) "." (format_int leftCol) "-" (format_int rightLine) "." (format_int rightCol) ":" message >> | _ => (!SMLFormat.BasicFormatters.format_exn_Ref) x val _ = SMLFormat.BasicFormatters.format_exn_Ref := format in end The "format_exn_Ref" and "format_exn" are defined in the "BasicFormatters" structure. val format_exn_Ref = ref (fn exn => let val text = General.exnMessage exn in [FE.Term (size text, text)] end) fun format_exn exn = !format_exn_Ref exn NOTE: The current version of SMLFormat constrains formatter generation for exception declaration in the two points. 1, "prefix" tag described below is not allowed for "exception" declaration. 2, format comment can not be specified for exception definition in the form: exception E1 = E2 ==================== 4.12. prefix tag By using "prefix" tag, multiple formatters can be generated for a type/datatype. A prefix tag requires a string parameter. This parameter is used as prefix of name of the generated formatter. (*% * @prefix summary *) (*% * @prefix detail *) type address = (*% * @prefix summary * @format({zip, state, city}) state *) (*% * @prefix detail * @format({zip, state, city}) * "zip=" zip ",state=" state ",city=" city *) {zip : string, state : string, city : string} For this 'address' type, following two formatter are generated. fun summaryaddress x = case x of {zip, state, city} => << format_string state >> fun detailaddress x = case x of {zip, state, city} => << "zip=" (format_string zip) ",state=" (format_string state) ",city=" (format_string city) >> The prefix tag specifies the namespace to which the generated formatter belongs. In the body of a formatter generated from a format comment, only formatters generated from format comments specified with the same prefix can be called if other formatters are not specified explicitly by the "formatter" tags. (by way of exception, the formatters defined in the BasicFormatters, such as format_string and format_int, can be called from any formatter.) (*% * @prefix detail *) type customer = (*% * @prefix detail * @prefix({name, address, tel}) * "name=" name ",address=" address ",tel=" tel *) {name : string, address : address, tel : string} As follows, the formatter generated for this 'customer' invokes the formatter generated for the "address" whose prefix is "detail". fun detailcustomer x = case x of {name, address, tel} => << "name=" (format_string name) ",address=" (detailaddress address) ",tel=" (format_string tel) >> In order to call a formatter whose prefix is not the same as that of the calling formatter, the "formatter" tag can be used. If no "prefix" tag is specified in a format comment, "format_" is considered to be specified as the prefix. Similarly, multiple formatters can be generated for datatypes by using "prefix" tag. (*% * @prefix formatPlain *) (*% * @prefix formatHTML *) datatype block = (*% * @prefix formatPlain * @format(text) text *) (*% * @prefix formatHTML * @format(text) text *) Text of string | (*% * @prefix formatPlain * @format(block) block *) (*% * @prefix formatHTML * @format(block) "" block "" *) Bold of block Following formatters are generated. fun formatPlainblock x = case x of Text text => << format_string text >> | Bold block => << formatPlainblock block >> fun formatHTMLblock x = case x of Text text => << format_string text >> | Bold block => << "" formatHTMLblock block "" >> ======================================== smlsharp-1.2.0/src/smlformat/doc/OVERVIEW_ja.txt0000644 000000000000000000020553212050661606021533 0ustar00rootroot0000000 0000000 SMLFormat: Pretty Printer for Standard ML @author YAMATODANI Kiyoshi @version $Id: OVERVIEW_ja.txt,v 1.9 2008/08/10 13:44:01 kiyoshiy Exp $ ======================================== 1. SMLFormat SMLFormat‚ÍŽŸ‚Ì“ñ‚‚©‚ç\¬‚³‚ê‚éB * smlformat * formatlib ==================== 1.1. smlformat smlformat‚Í’P“ƂŎg—p‚·‚éƒc[ƒ‹‚Å‚ ‚éB smlformat‚Ö‚Ì“ü—Í‚Ítype/datatype錾‚ðŠÜ‚ÞSMLƒ\[ƒXƒtƒ@ƒCƒ‹(*.ppg)‚Å‚ ‚éB ‚±‚Ìtype/datatype錾‚É‚ÍA‚»‚ÌŒ^‚Ì’l‚ð•¶Žš—ñ‰»‚µ‚Äo—Í‚·‚éÛ‚Ì‘Ž®‚ðA“ÁŽê‚ȃRƒƒ“ƒgŒ`Ž®‚ÅŽw’è‚·‚éB‚±‚̃Rƒƒ“ƒg‚ðƒtƒH[ƒ}ƒbƒgƒRƒƒ“ƒg(format comment)‚ƌĂÔB smlformat‚ÍAtype/datatype錾‚ƃtƒH[ƒ}ƒbƒgƒRƒƒ“ƒg‚Æ‚ð‰ðÍ‚µAƒtƒH[ƒ}ƒbƒ^(formatter)‚ƌĂԊ֔‚ÌSMLƒR[ƒh‚𶬂·‚éB ‚ ‚éŒ^t‚ɑ΂µ‚ͬ‚³‚ê‚éƒtƒH[ƒ}ƒbƒ^‚ÍAŒ^t‚Ì’l‚ðŽó‚¯Žæ‚èA‚»‚Ì’l‚ð®Œ`o—Í‚·‚邽‚߂̒†ŠÔ•\Œ»‚ð•Ô‚·ŠÖ”‚Å‚ ‚éB‚±‚Ì’†ŠÔ•\Œ»‚ðƒtƒH[ƒ}ƒbƒgŽ®(format expression)‚ƌĂÔB -------(Absyn.ppg)----------------------------------------------- structure Absyn = struct (*% *) datatype exp = (*% * @format(const * loc) {const} *) EXPCONSTANT of constant * loc | (*% * @format(cond * ifTrue * ifFalse * loc) * N0{ "if" 2[ +d {cond} ] * +1 "then" 2[ +d {ifTrue} ] * +1 "else" 2[ +d {ifFalse} ] } *) EXPIF of exp * exp * exp * loc | (*% * @format(exp * rule rules * loc) * N0{ "case" 2[+d {exp}] 2[+1 "of" ]+ {rules(rule)(~2[ +1 "|"] +)} } * @format:rule(pat * exp) {{pat} + "=>" +1 {exp}} *) EXPCASE of exp * (pat * exp) list * loc : end ----------------------------------------------------------------- Absyn.ppg‚ð“ü—͂Ƃµ‚Ä—^‚¦‚邯Asmlformat‚͂‚¬‚̂悤‚É“ü—̓tƒ@ƒCƒ‹‚Ì“à—e‚ɃtƒH[ƒ}ƒbƒ^‚Ì’è‹`‚ð‘}“ü‚µ‚ÄSMLƒtƒ@ƒCƒ‹‚𶬂·‚éB -------(Absyn.ppg.sml)------------------------------------------- structure Absyn = struct (*% *) datatype exp = : fun format_exp x = ... end ----------------------------------------------------------------- ‚±‚Ìformat_exp‚͂‚¬‚ÌŒ^‚ðŽ‚ÂB val format_exp : exp -> FormatExpression.expression list smlformatƒRƒ}ƒ“ƒh‚ÍŽŸ‚̃Rƒ}ƒ“ƒhƒIƒvƒVƒ‡ƒ“‚ðŽó‚¯Žæ‚éB --stdout .ppg.smlƒtƒ@ƒCƒ‹‚ɑւí‚è•W€o—͂Ɍ‹‰Ê‚̃R[ƒh‚ð‘‚«o‚·B --with-line-directive ƒR[ƒh‚̈ʒu‚ðSMLƒRƒ“ƒpƒCƒ‰‚ÉŽwަ‚·‚és”Ô†ƒfƒBƒŒƒNƒeƒBƒu‚𠌋‰Ê‚̃R[ƒh‚É‘}“ü‚·‚éB ==================== 1.2. formatlib formatlib‚ÍASMLFormatƒXƒgƒ‰ƒNƒ`ƒƒ‚ð’ñ‹Ÿ‚·‚éB SMLFormatƒXƒgƒ‰ƒNƒ`ƒƒ‚ÍAprettyPrintŠÖ”‚ðŽÀ‘•‚·‚éB prettyPrintŠÖ”‚ÍAƒtƒH[ƒ}ƒbƒgŽ®‚Æo—ÍŒ…”‚ðˆø”‚Æ‚µ‚Ď󂯎æ‚èAƒtƒH[ƒ}ƒbƒgŽ®‚̃eƒLƒXƒg•\Œ»‚ðAŒ…”‚ɂȂé‚ׂ­Žû‚܂邿‚¤‚É®Œ`‚µ‚Äo—Í‚·‚éB prettyPrintŠÖ”‚͂‚¬‚ÌŒ^‚ðŽ‚ÂB val prettyPrint : PrinterParameter.printerParameter -> FormatExpression.expression list -> string smlformat‚ª¶¬‚µ‚½ƒtƒH[ƒ}ƒbƒ^‚ÆSMLFormat.prettyPrint‚ð—p‚¢‚ÄA‚‚¬‚̂悤‚ÉAbsyn.expŒ^‚ÌŽ®expression‚Ì’l‚ð®Œ`o—Í‚·‚邱‚Æ‚ª‚Å‚«‚éB print (SMLFormat.prettyPrint {newlineString = "\n", spaceString = " ", columns = 60} (Absyn.format_exp expression)) ‚±‚±‚ł͌…”‚Æ‚µ‚Ä60Œ…‚ðŽw’肵‚Ä‚¢‚éB ‚½‚Æ‚¦‚΂‚¬‚̂悤‚Éo—Í‚³‚ê‚éB 123456789012345678901234567890123456789012345678901234567890 ------------------------------------------------------------ let val exn = getException context val message = case exn of SystemError => "SystemError" | UserError msg => "User:" ^ msg ^ ( concatWith "\n" ( map (frameToString context) (getFrames context) ) ) in raise Error message end ƒtƒH[ƒ}ƒbƒgƒRƒƒ“ƒg‚Å‚Ì‘Ž®Žw’è‚ð•ÏX‚·‚邱‚Ƃɂæ‚èA‚½‚Æ‚¦‚ÎŽŸ‚̂悤‚Éo—ÍŒ`Ž®‚ð’²®‚·‚邱‚Æ‚ª‚Å‚«‚éB 123456789012345678901234567890123456789012345678901234567890 ------------------------------------------------------------ let val exn = getException context val message = case exn of SystemError => "SystemError" | UserError msg => "User:" ^ msg ^ ( concatWith "\n" ( map (frameToString context) (getFrames context) ) ) in raise Error message end ======================================== 2. ƒtƒH[ƒ}ƒbƒgŽ® ==================== 2.1. ‹L–@ Œ…”col‚ƃtƒH[ƒ}ƒbƒgŽ®‚Ì—ñ exp1 ... expn ‚ð“ü—͂Ƃµ‚ÄA •¶Žš—ñ text ‚ɕϊ·‚·‚邱‚Æ‚ð exp1 ... expn col=> text ‚Æ•\‹L‚·‚éB Œ…”‚ÍÈ—ª‚·‚éê‡‚à‚ ‚éB exp1 ... expn => text ==================== 2.2. •¶Žš—ñ’è” “ñdˆø—p•„‚ň͂܂ꂽ•¶Žš—ñ’蔂͂»‚̂܂Üo—Í‚³‚ê‚éB "jugemu" => jugemu ˜A‘±‚·‚é•¶Žš—ñ’蔂͘AŒ‹‚µ‚Äo—Í‚³‚ê‚éB "jugemu" "jugemu" => jugemujugemu ŠÔ‚É‹ó”’‚ð‹²‚Ý‚½‚¢ê‡‚ÍA•¶Žš—ñ’è”" "‚ðŽg—p‚·‚éB "jugemu" " " "jugemu" " " "gokounosurikire" => jugemu jugemu gokounosurikire ‚±‚Ì—á‚Å•ª‚©‚邿‚¤‚ÉA" "‚ÍŽ®ŠÔ‚̋󔒂Ǝ¯•Ê‚µ‚É‚­‚¢B ==================== 2.3. ‹ó”’ŽwަŽq " "‚Ì‚©‚í‚è‚ɋ󔒎wަŽq(space indicator)'+'‚ðŽg—p‚·‚邱‚Æ‚ª‚Å‚«‚éB "jugemu" + "jugemu" + "gokounosurikire" => jugemu jugemu gokounosurikire ==================== 2.4. ‰üsŽwަŽq •¶Žš—ñ’·‚̇Œv‚ªŽw’茅”‚ð’´‚¦‚éꇂào—͉͂üs‚³‚ê‚È‚¢B "jugemu" + "jugemu" + "gokounosurikire" + "kaijarisuigyono" 40=> jugemu jugemu gokounosurikire kaijarisuigyono ---------------------------------------- 1234567890123456789012345678901234567890 ‰üsŽwަŽq(newline indicator)‚É‚æ‚èA‰üs‚·‚ׂ«ˆÊ’u‚ðŽw’è‚·‚邱‚Æ‚ª‚Å‚«‚éB ‰üsŽwަŽq‚É‚ÍA1ˆÈã‚Ì”’l‚Å—D懈ʂðŽw’è‚·‚éB”‚̬‚³‚¢‚Ù‚¤‚ª—Dæ“x‚ª‚‚¢B ‰üs‚Ì•K—v‚ª‚È‚¢ê‡A‰üsŽwަŽq‚Ío—Í“à—e‚ɉe‹¿‚µ‚È‚¢B "jugemu" 2 "jugemu" 1 "gokounosurikire" 2 "kaijarisuigyono" 50=> jugemujugemugokounosurikirekaijarisuigyono -------------------------------------------------- 12345678901234567890123456789012345678901234567890 o—Í“à—e‚ªŒ…”‚ÉŽû‚Ü‚ç‚È‚¢ê‡A—Dæ“x‚Ì‚‚¢‰üsŽwަŽq‚©‚燂ɉüs‚³‚ê‚éB "jugemu" 2 "jugemu" 1 "gokounosurikire" 2 "kaijarisuigyono" 40=> jugemujugemu gokounosurikirekaijarisuigyono ---------------------------------------- 1234567890123456789012345678901234567890 —Dæ“x2‚æ‚è—Dæ“x1‚ª—D悳‚ê‚é‚Ì‚ÅA‚Ü‚¸A“ñ”Ԗڂ̉üsŽwަŽq‚ʼnüs‚³‚ê‚éB “¯‚¶—Dæ“x‚ðŽ‚Â‰üsŽwަŽq‚ÍA‚»‚Ì‚¤‚¿‚Ì‚¢‚¸‚ê‚©‚̈ʒu‚ʼnüs‚·‚é•K—v‚ª‚ ‚éê‡A‚»‚Ì‚·‚ׂĂ̈ʒu‚ʼnüs‚³‚ê‚éB "jugemu" 2 "jugemu" 1 "gokounosurikire" 2 "kaijarisuigyono" 20=> jugemu jugemu gokounosurikire kaijarisuigyono -------------------- 12345678901234567890 ‚±‚Ì—á‚Å‚ÍA—Dæ“x1‚ð‚à‚‰üsŽw’èŽq‚ª‚ЂƂ‚ÆA—Dæ“x2‚ð‚à‚“ñ‚‚̉üsŽwަŽq‚ªŠÜ‚Ü‚ê‚Ä‚¢‚éBŒ…”‚ª20‚Å‚ ‚éê‡A‚Ü‚¸—Dæ“x1‚̉üsŽw’èŽq‚ʼnüs‚·‚é•K—v‚ª‚ ‚éB‚³‚ç‚ÉA—Dæ“x2‚̉üsŽw’èŽq‚Ì‚¤‚¿Aʼn‚ÌŽwަŽq‚ł͉üs‚·‚é•K—v‚ª‚È‚¢‚ªA‚à‚¤‚ЂƂ‚̉üsŽwަŽq‚ł͉üs‚Ì•K—v‚ª‚ ‚éB‚±‚Ì‚½‚ßA—¼•û‚̉üsŽwަŽq‚̈ʒu‚ʼnüs‚³‚ê‚éB Œµ–§‚É‚ÍA—Dæ“x‚ðn‚Æ‚·‚é‰üsŽw’èŽqN‚̈ʒu‚ʼnüs‚·‚ׂ«‚©‚Ç‚¤‚©‚ð‚‚¬‚̂悤‚ÉŒˆ’è‚·‚éB 1) n‚Æ“™‚µ‚¢‚ ‚é‚¢‚Ín‚æ‚è’á‚¢—Dæ“x‚̉üsŽw’èŽq‚ʼnüs‚·‚éꇂ͉üs‚·‚éB 2) —Dæ“x‚ªn‚æ‚è‚‚¢‰üsŽw’èŽq‚Ì‚¤‚¿N‚Ì‘O•û‚¨‚æ‚ÑŒã•û‚Å’¼‹ß‚Ì“ñ‚‚̎w’èŽq‚ðF‚ÆB‚Æ‚·‚éB‚‚¬‚Ì“ñ‚‚̔’l‚k‚ÆW‚ð”äŠr‚µAW < L ‚ƂȂéꇂ͉üs‚·‚éB L = F‚ÆB‚Ƃɋ²‚܂ꂽƒtƒH[ƒ}ƒbƒgŽ®‚Ì—ñ‚ð‰üs‚¹‚¸‚Éo—Í‚·‚邽‚߂ɕK—v‚ÈŒ…” W = F‚̈ʒu‚ʼnüs‚µ‚½‚Ɖ¼’肵‚½ê‡‚ÌF‚Ì’¼Œã‚̃Jƒ‰ƒ€ˆÊ’u‚©‚çAŽw’茅”‚܂ł̌…” F N B ... 1 "abc" +3 "def" 4 "ghi" +3 "jkl" 2 ... <--------------------------------> F‚ÆB‚ɂ͂³‚܂ꂽƒtƒH[ƒ}ƒbƒgŽ®‚ð‰üs‚È‚µ‚Åo—Í‚·‚é‚É‚Í 14(= 3 + 1 + 3 + 0 + 3 + 1 + 3)Œ…•K—v‚Å‚ ‚éB‚Ü‚½AF‚ʼnüs‚·‚邯A‚»‚Ì’¼Œã‚͈êƒJƒ‰ƒ€–Ú‚©‚ço—Í‚ªŠJŽn‚³‚ê‚éB‚‚܂èAF‚Ì’¼Œã‚ł̃Jƒ‰ƒ€ˆÊ’u‚©‚çŽw’茅”‚܂ł̌…”‚ÍAŽw’茅”‚É“™‚µ‚¢B‚µ‚½‚ª‚Á‚ÄAŽw’茅”‚ª14Œ…‚æ‚è­‚È‚¢ê‡‚É‚ÍN‚ł̉üs‚ª•K—v‚ɂȂéBŒã‚Åà–¾‚·‚邿‚¤‚ÉAF‚Ì’¼Œã‚̃Jƒ‰ƒ€ˆÊ’u‚Í•K‚¸‚µ‚à‘æˆêƒJƒ‰ƒ€‚Å‚ ‚邯‚ÍŒÀ‚ç‚È‚¢B 3) ˆÈã‚Ì‚¢‚¸‚ê‚É‚àŠY“–‚µ‚È‚¢ê‡A‰üs‚µ‚È‚¢B ’ˆÓF•¶Žš—ñ’蔓à‚É"\n"‚ðŽg—p‚·‚ê‚Îí‚É‚»‚̈ʒu‚ʼnüs‚³‚ê‚邪AŒ»Ý‚ÌSMLFormat‚Í•¶Žš—ñ’蔓à‚ɉüs•¶Žš‚»‚Ì‘¼ƒ^ƒu•¶Žš‚È‚Ç‚Ì‘Ž®•¶Žš‚ðŠÜ‚߂邱‚Æ‚ð”F‚߂Ă¢‚È‚¢B ========== 2.4.1. ‹ó”’ŽwަŽq‚ƉüsŽwަŽq ‹ó”’ŽwަŽq‚ƉüsŽwަŽq‚Í‘g‚݇‚킹‚ÄŽg—p‚·‚邱‚Æ‚ª‚Å‚«‚éB‚±‚Ìê‡A‰üs‚Ì•K—v‚ª‚È‚¢‚È‚ç‚Î‹ó”’ˆê•¶Žš‚ªo—Í‚³‚ê‚éB "jugemu" +2 "jugemu" +1 "gokounosurikire" +2 "kaijarisuigyono" 50=> jugemu jugemu gokounosurikire kaijarisuigyono -------------------------------------------------- 12345678901234567890123456789012345678901234567890 ‰üs‚Ì•K—v‚ª‚ ‚éꇂÍA‹ó”’‚ðo—Í‚¹‚¸‚É‚»‚̈ʒu‚ʼnüs‚·‚éB "jugemu" +2 "jugemu" +1 "gokounosurikire" +2 "kaijarisuigyono" 40=> jugemu jugemu gokounosurikire kaijarisuigyono ---------------------------------------- 1234567890123456789012345678901234567890 ’ˆÓFã‹L‚ÌŒø‰Ê‚ð—LŒø‚É‚·‚é‚É‚ÍA‹ó”’•¶Žš‚Ɖüs•¶Žš‚𑱂¯‚ÄŽw’肵‚È‚¯‚ê‚΂Ȃç‚È‚¢B‹ó”’ŽwަŽq‚ƉüsŽwަŽq‚ÌŠÔ‚É‹ó”’‚ð‹²‚Þ‚Æ‚»‚ꂼ‚êŒÂ•ʂɉðŽß‚³‚êA‹ó”’ŽwަŽq‚͂‚˂ɋ󔒕¶Žš‚ðo—Í‚·‚éB ’ˆÓF•¶Žš—ñ’è”" "‚ðŽg—p‚µ‚½ê‡‚ɂ͉üs‚Ì—L–³‚É‚©‚©‚í‚炸í‚É‹ó”’ˆê•¶Žš‚ªo—Í‚³‚ê‚éB "jugemu" +2 "jugemu" " "1 "gokounosurikire" +2 "kaijarisuigyono" 40=> jugemu jugemu gokounosurikire kaijarisuigyono ---------------------------------------- 1234567890123456789012345678901234567890 •ª‚©‚è‚É‚­‚¢‚ªAo—ÍŒ‹‰Ê‚̈ês–Ú‚Ìs––‚É‚Í‹ó”’ˆê•¶Žš‚ªo—Í‚³‚ê‚Ä‚¢‚éB ========== 2.4.2. —òŒã‰üsŽwަŽq ‚±‚ê‚܂ł̉üsŽwަŽq‚É‚ÍA‚·‚ׂėDæ“x‚ðŽw’肵‚½B —Dæ“x‚ðŽw’肵‚È‚¢‰üsŽwަŽq‚ðŽg—p‚·‚邱‚Æ‚à‚Å‚«‚éB ‚±‚ê‚ð—òŒã‰üsŽwަŽq(deferred newline indicator)‚ƌĂÔB ‚±‚ê‚܂ł̗Dæ“x‚ðŽw’è‚·‚é‰üsŽwަŽq‚ð—Dæ‰üsŽwަŽq(preferred newline indicator)‚ƌĂÔB —òŒã‰üsŽwަŽq‚Í'd'‚Æ•\‹L‚·‚éB ‚·‚ׂĂ̗Dæ‰üsŽwަŽq‚̈ʒu‚ʼnüs‚µ‚Ä‚àŽw’茅”‚𒴉߂·‚éꇂɌÀ‚èA—òŒã‰üsŽwަŽq‚ªŽw’肳‚ꂽˆÊ’u‚ʼnüs‚³‚ê‚éB "jugemu" +d "jugemu" +1 "gokounosurikire" +2 "kaijarisuigyono" 30=> jugemu jugemu gokounosurikire kaijarisuigyono ------------------------------ 123456789012345678901234567890 ‚±‚Ì—á‚Å‚ÍA—Dæ‰üsŽwަŽq‚ł͉üs‚³‚ê‚Ä‚¢‚邪A—òŒã‰üsŽwަŽq‚ł͉üs‚³‚ê‚È‚¢B ‚³‚ç‚ɬ‚³‚ÈŒ…”‚ðŽw’è‚·‚邯—òŒã‰üsŽwަŽq‚̈ʒu‚Å‚à‰üs‚³‚ê‚éB "jugemu" +d "jugemu" +1 "gokounosurikire" +2 "kaijarisuigyono" 10=> jugemu jugemu gokounosurikire kaijarisuigyono ---------- 1234567890 ========== 2.4.3. —òŒã‰üsŽwަŽqŠÔ‚ÌŠÖŒW ‘O‚Éq‚ׂ½‚悤‚ÉA‚ ‚é‰üsŽwަŽq‚ʼnüs‚Ì•K—v‚ª‚ ‚éê‡A‚»‚ê‚Æ“¯‚¶‚©A‚»‚ê‚æ‚è‚‚¢—Dæ“x‚̉üsŽwަŽq‚Ì‚·‚ׂĂʼnüs‚³‚ê‚éB‚µ‚½‚ª‚Á‚ÄAŽŸ‚Ì—á‚Å‚ÍA—Dæ“x2‚̉üsŽwަŽq‚ʼnüs‚·‚é•K—v‚ª‚È‚¢‚É‚à‚©‚©‚í‚炸AÅŒã‚Ì—òŒã‰üsŽwަŽq‚ʼnüs‚Ì•K—v‚ª‚ ‚邽‚ßA‚·‚ׂẲüsŽwަŽq‚ʼnüs‚³‚ê‚éB "jugemu" +2 "jugemu" +1 "gokounosurikire" +d "kaijarisuigyono" 30=> jugemu jugemu gokounosurikire kaijarisuigyono ------------------------------ 123456789012345678901234567890 ‚½‚¾‚µA—òŒã‰üsŽwަŽq‚ÌŠÔ‚Å‚ÍA—Dæ“x‚Ì—D—ò‚Í’è‹`‚³‚ê‚È‚¢B‚µ‚½‚ª‚Á‚ÄA‚‚¬‚Ì—á‚Å‚ÍAŽO”Ô–Ú‚Ì—òŒã‰üsŽwަŽq‚ł͉üs‚·‚邪Aʼn‚Ì—òŒã‰üsŽwަŽq‚ł͕K—v‚ª‚È‚¢‚½‚߉üs‚µ‚È‚¢B "jugemu" +d "jugemu" +1 "gokounosurikire" +d "kaijarisuigyono" 30=> jugemu jugemu gokounosurikire kaijarisuigyono ------------------------------ 123456789012345678901234567890 ========== 2.5. ƒCƒ“ƒfƒ“ƒgƒXƒ^ƒbƒN ‰üsŽwަŽq‚ʼnüs‚·‚éÛ‚Ìs“ªƒCƒ“ƒfƒ“ƒg•‚ðAƒCƒ“ƒfƒ“ƒg•‚Æ’¼Œã‚Ì'['‚ÅŽw’è‚·‚邱‚Æ‚ª‚Å‚«‚éB']'‚É‚æ‚èAƒCƒ“ƒfƒ“ƒg•Žw’è‚̓Lƒƒƒ“ƒZƒ‹‚³‚ê‚éB "jugemu" +2 "jugemu" 5[ +1 "gokounosurikire" ] +2 "kaijarisuigyono" 40=> jugemu jugemu gokounosurikire kaijarisuigyono ---------------------------------------- 1234567890123456789012345678901234567890 2”Ԗڂ̉üsŽwަŽq‚Ì’¼‘O‚ŃCƒ“ƒfƒ“ƒg•5‚ªŽw’肳‚ê‚Ä‚¢‚邽‚ßAo—ÍŒ‹‰Ê‚Ì“ñs–Ú‚Ìs“ª‚ª5Œ…ƒCƒ“ƒfƒ“ƒg‚³‚ê‚Ä‚¢‚éB 3”Ԗڂ̉üsŽwަŽq‚Å‚ÍA’¼‘O‚ɃCƒ“ƒfƒ“ƒg•‚ÌŽw’è‚ªŽæ‚èÁ‚³‚ê‚邽‚ßA‰üs‚·‚éۂ̃Cƒ“ƒfƒ“ƒg•‚̓fƒtƒHƒ‹ƒg‚Ì0‚ƂȂéB "jugemu" +2 "jugemu" 5[ +1 "gokounosurikire" ] +2 "kaijarisuigyono" 30=> jugemu jugemu gokounosurikire kaijarisuigyono ------------------------------ 123456789012345678901234567890 ƒCƒ“ƒfƒ“ƒg•Žw’è‚ð3”Ԗڂ̉üsŽwަŽq‚ÌŒã‚ë‚ÅŽæ‚èÁ‚·‚悤•ÏX‚·‚邯Ao—ÍŒ‹‰Ê‚͂‚¬‚̂悤‚ɂȂéB "jugemu" +2 "jugemu" 5[ +1 "gokounosurikire" +2 "kaijarisuigyono"] 30=> jugemu jugemu gokounosurikire kaijarisuigyono ------------------------------ 123456789012345678901234567890 ƒCƒ“ƒfƒ“ƒg•‚̓Xƒ^ƒbƒNó‚ÉŠÇ—‚³‚ê‚éB '['‚ÍAƒCƒ“ƒfƒ“ƒgƒXƒ^ƒbƒN‚Ìæ“ª‚ɃCƒ“ƒfƒ“ƒg•‚ðƒvƒbƒVƒ…‚·‚邱‚Æ‚ðŽwަ‚µA']'‚ÍAƒCƒ“ƒfƒ“ƒgƒXƒ^ƒbƒN‚Ìæ“ª—v‘f‚ðƒ|ƒbƒv‚·‚邱‚Æ‚ðŽwަ‚·‚éB ‚ ‚é‰üsŽwަŽq‚ʼnüs‚·‚éۂ̃Cƒ“ƒfƒ“ƒg•‚ÍA‚»‚ÌŽž“_‚ŃCƒ“ƒfƒ“ƒgƒXƒ^ƒbƒN‚Éς܂ê‚Ä‚¢‚éƒCƒ“ƒfƒ“ƒg•‚̇Œv’l‚É‚æ‚茈’肳‚ê‚éB "jugemu" +2 "jugemu" 5[ +1 "gokounosurikire" 3[ +2 "kaijarisuigyono"]]; 30=> jugemu jugemu gokounosurikire kaijarisuigyono ------------------------------ 123456789012345678901234567890 ‚±‚Ì—á‚Å‚ÍAŽO”Ԗڂ̉üsŽwަŽq‚̈ʒu‚ʼnüs‚·‚éꇂ̃Cƒ“ƒfƒ“ƒg•‚Í3 + 5 = 8Œ…‚ƂȂéB "jugemu" 3[ +1 "jugemu" 5[ +2 "gokounosurikire" 3[ +3 "kaijarisuigyono"]]] 30=> jugemu jugemu gokounosurikire kaijarisuigyono ------------------------------ 123456789012345678901234567890 ‚±‚ÌŽ®‚Ì3”Ԗڂ̉üsŽwަŽq‚ʼnüs‚·‚éۂ̃Cƒ“ƒfƒ“ƒg•‚ÍA3 + 5 + 3 = 11Œ…‚ƂȂéB ƒCƒ“ƒfƒ“ƒg•‚ɂ͕‰”‚ðŽw’è‚·‚邱‚Æ‚à‚Å‚«‚éB "jugemu" +2 "jugemu" 5[ +1 "gokounosurikire" ~3[ +2 "kaijarisuigyono"]]; 30=> jugemu jugemu gokounosurikire kaijarisuigyono ------------------------------ 123456789012345678901234567890 ‚±‚Ì—á‚Å‚ÍAŽO”Ԗڂ̉üsŽwަŽq‚ł̃Cƒ“ƒfƒ“ƒg•‚Í5 + (-3) = 2Œ…‚ƂȂéB ’ˆÓFƒCƒ“ƒfƒ“ƒg•‚̇Œv‚ª0‚æ‚謂³‚­‚È‚éê‡AƒGƒ‰[‚ƂȂéB ‚½‚Æ‚¦‚ÎA‚‚¬‚̃tƒH[ƒ}ƒbƒgŽ®‚ł͎O”Ԗڂ̉üsŽwަŽq‚ʼnüs‚·‚éꇂɃCƒ“ƒfƒ“ƒg•‚ª 3 + (-5) = -2 ‚ƂȂ邽‚߃Gƒ‰[‚ƂȂéB "jugemu" +2 "jugemu" 3[ +1 "gokounosurikire" ~5[ +2 "kaijarisuigyono"]]; ==================== 2.6. ƒK[ƒh ˆÈã‚Å‚ÍA‚·‚ׂẲüsŽwަŽq‚Ì—Dæ“x‚ªƒOƒ[ƒoƒ‹ƒXƒR[ƒv‚ð‹¤—L‚µ‚Ä‚¢‚½B ƒK[ƒh(guard)‚ð—p‚¢‚邯A—Dæ“x‚̃XƒR[ƒv‚𕪊„‚µ‚½‚èƒlƒXƒg‚·‚邱‚Æ‚ª‚Å‚«‚éB ƒK[ƒh‚ÍAƒtƒH[ƒ}ƒbƒgŽ®‚Ì—ñ‚ð"{"‚Æ"}"‚ň͂ނ±‚ƂŒè‹`‚·‚éB {"jugemu" +2 "jugemu"} +1 {"gokounosurikire" +2 "kaijarisuigyono"} ’ˆÓFƒCƒ“ƒfƒ“ƒgƒXƒ^ƒbƒN‚̑Ήž‚·‚éƒvƒbƒVƒ…‚ƃ|ƒbƒv‚ªˆÙ‚È‚éƒK[ƒh‚É‘®‚µ‚Ă͂Ȃç‚È‚¢B ‚½‚Æ‚¦‚ÎŽŸ‚̃tƒH[ƒ}ƒbƒgŽ®‚ͳ‚µ‚­‚È‚¢B {"jugemu" 2[ +2 "jugemu"} +1 {"gokounosurikire" ] +2 "kaijarisuigyono"} ========== 2.6.1. ƒK[ƒh‚̃lƒXƒg ƒK[ƒh‚ðƒlƒXƒg‚³‚¹‚½ê‡AˆÍ‚Þ‘¤‚̃K[ƒh‚É‘®‚·‚é‰üsŽwަŽq‚ÍAˆÍ‚Ü‚ê‚鑤‚̉üsŽwަŽq‚æ‚è‚‚¢—Dæ“x‚ðŽ‚ÂB {{"jugemu" +1 "jugemu"} +1 "gokounosurikire" +2 "kaijarisuigyono"} 30=> jugemu jugemu gokounosurikire kaijarisuigyono ------------------------------ 123456789012345678901234567890 ã‚Ì—á‚Å‚ÍAʼn‚̉üsŽwަŽq‚Í—Dæ“x1‚ðŽw’肳‚ê‚Ä‚¢‚邪AŠO‘¤‚̃K[ƒh‚É‘®‚·‚é‰üsŽwަŽq‚æ‚è—Dæ“x‚ª’á‚¢B‚±‚Ì‚½‚ßAŠO‘¤‚̃K[ƒh‚É‘®‚·‚é—Dæ“x1‚¨‚æ‚Ñ2‚̉üsŽwަŽq‚ʼnüs‚³‚ê‚Ä‚¢‚é‚É‚à‚©‚©‚í‚炸A“à‘¤‚̃K[ƒh‚̉üsŽwަŽq‚ʼnüs‚³‚ê‚Ä‚¢‚È‚¢B ŠO‘¤‚̃K[ƒh‚É‘®‚·‚é—òŒã‰üsŽwަŽq‚ÆA“à‘¤‚̃K[ƒh‚É‘®‚·‚é—Dæ‰üsŽwަŽq‚Ƃ̊ԂɂÍA—DæŠÖŒW‚ð‹K’肵‚Ä‚¢‚È‚¢B {"jugemu" +d "jugemu" +1 {"gokounosurikire" +1 "kaijarisuigyono"}} 30=> jugemu jugemu gokounosurikire kaijarisuigyono ------------------------------ 123456789012345678901234567890 ========== 2.6.2. ƒK[ƒh‚Ì•ªŠ„ •ïŠÜŠÖŒW‚ɂȂ¢ƒK[ƒhŠÔ‚Å‚ÍA‚»‚ê‚ç‚Ɋ܂܂ê‚é‰üsŽwަŽq‚ÌŠÔ‚É—Dæ“x‚Ì—D—òŠÖŒW‚Í’è‹`‚³‚ê‚È‚¢B {"jugemu" +2 "jugemu"} +1 {"gokounosurikire" +2 "kaijarisuigyono"} 30=> jugemu jugemu gokounosurikire kaijarisuigyono ------------------------------ 123456789012345678901234567890 ʼn‚̉üsŽwަŽq‚ÆŽO”Ԗڂ̉üsŽwަŽq‚͕ʂ̃K[ƒh‚É‘®‚µ‚Ä‚¢‚éB ‚µ‚½‚ª‚Á‚ÄAŽO”Ԗڂ̉üsŽwަŽq‚ʼnüs‚µ‚Ä‚¢‚邪Aʼn‚̉üsŽwަŽq‚ł͕K—v‚ª‚È‚¢‚½‚߉üs‚µ‚Ä‚¢‚È‚¢B ========== 2.6.3. ƒK[ƒh‚ƊJƒ‰ƒ€ ‰üsŽwަŽq‚ł̉üsŒã‚Ìæ“ªƒJƒ‰ƒ€‚ÍA³Šm‚É‚ÍAŠî€ƒJƒ‰ƒ€(base column)‚ÆAƒK[ƒh“à‚ŃCƒ“ƒfƒ“ƒgƒXƒ^ƒbƒN‚ɃvƒbƒVƒ…‚³‚ꂽƒCƒ“ƒfƒ“ƒg•‚̇Œv‚Æ‚ð‰ÁŽZ‚µ‚½’l‚É‚æ‚茈’肳‚ê‚éB ƒK[ƒh‚Ɉ͂܂ê‚Ä‚¢‚È‚¢ê‡AŠî€ƒJƒ‰ƒ€‚Í0‚Å‚ ‚éB ƒK[ƒh‚ªŠJŽn‚³‚ê‚邯AƒK[ƒh‚ªŠJŽn‚³‚ꂽƒJƒ‰ƒ€ˆÊ’u‚ªƒK[ƒh“à‚̊Jƒ‰ƒ€‚ƂȂéB "jugemu" + { "jugemu" 5[ +1 "gokounosurikire" ] ~3[ +1 "kaijarisuigyono" ]} 30=> jugemu jugemu gokounosurikire kaijarisuigyono ------------------------------ 123456789012345678901234567890 ‚±‚Ì—á‚Å‚ÍA“à‘¤‚̃K[ƒh‚Í“ñ”Ô–Ú‚Ì"jugemu"‚ÌŠJŽnˆÊ’uA‚·‚Ȃ킿8Œ…–Ú‚©‚çŠJŽn‚³‚ê‚éB‚µ‚½‚ª‚Á‚ÄAƒK[ƒh“à‚̊Jƒ‰ƒ€‚Í8‚ƂȂéBƒK[ƒh“à‚̉üsŽwަŽq‚ʼnüs‚·‚éê‡‚Ìæ“ªƒJƒ‰ƒ€‚ÍA‚»‚ꂼ‚êA8 + 5 = 13, 8 + (-3) = 5‚ƂȂéB ‚‚¬‚Ì—á‚Å‚ÍAƒK[ƒh‚Ì‘OŒã‚ŃCƒ“ƒfƒ“ƒgƒXƒ^ƒbƒN‚ªƒvƒbƒVƒ…Eƒ|ƒbƒv‚³‚ê‚Ä‚¢‚éB "jugemu" 3[ +1 { "jugemu" 5[ +1 "gokounosurikire"] ~3[ +1 "kaijarisuigyono"]}] 30=> jugemu jugemu gokounosurikire kaijarisuigyono ------------------------------ 123456789012345678901234567890 ‚±‚Ìê‡AƒK[ƒh‚Íʼn‚̉üsŽwަŽq‚É‚æ‚é‰üs‚ƃCƒ“ƒfƒ“ƒg‚Ì’¼Œã‚©‚çŠJŽn‚³‚êAƒK[ƒh“à‚̊Jƒ‰ƒ€‚Í4‚ƂȂéBƒK[ƒh“à‚̉üsŽwަŽq‚ʼnüs‚·‚éê‡‚Ìæ“ªƒJƒ‰ƒ€‚ÍA‚»‚ꂼ‚ê4 + 5 = 9, 4 + (-3) = 1‚ƂȂéB ==================== 2.7. ‰üs’è” ‰üs’蔂̓oƒbƒNƒXƒ‰ƒbƒVƒ…‚Æ'n'‚Å•\‹L‚·‚éB ‰üs’蔂̓Vƒ“ƒ^ƒbƒNƒXƒVƒ…ƒK[‚Æ‚¢‚Á‚Ă悢B ‰üs’蔂ÍA‘¼‚Ì‚¢‚¸‚ê‚̉üsŽwަŽq‚æ‚è‚à‚‚¢—Dæ“x‚ð‚à‚‰üsŽwަŽq‚ÆA‚»‚ê‚ɂ‚­ƒkƒ‹•¶Žš‚Ì’·‘å‚È—ñ‚Ƃ݂邱‚Æ‚ª‚Å‚«‚éB "jugemu" \n "jugemu" 20=> jugemu jugemu -------------------- 12345678901234567890 ‚±‚Ì—á‚Å‚ÍAŽw’肳‚ꂽ20•¶Žš‚̈ês‚Åo—͂ł«‚é‚É‚à‚©‚©‚í‚炸A‰üs‚³‚ê‚Ä‚¢‚éB "jugemu" 1 { 4[ "jugemu" +2 "gokounosurikire" \n "kaijarisuigyono" ] } 50=> jugemu jugemu gokounosurikire kaijarisuigyono -------------------------------------------------- 12345678901234567890123456789012345678901234567890 ‚±‚Ì—á‚ÉŒ©‚ç‚ê‚邿‚¤‚ÉA‰üs’蔂ðÅ‚à“à‘¤‚ň͂ރK[ƒh‚æ‚èãˆÊ‚Ɉʒu‚·‚é‚·‚ׂẲüsŽwަŽq‚̉ӊ‚ʼnüs‚³‚ê‚éB ‚Ü‚½A‰üs’蔂ł̉üs‚ÍA‘¼‚̉üsŽwަŽq‚Æ“¯—l‚ÉAƒCƒ“ƒfƒ“ƒgƒXƒ^ƒbƒN‚É‚µ‚½‚ª‚Á‚ăCƒ“ƒfƒ“ƒg‚³‚ê‚éB ======================================== 3. Œ‹‡ŽwަŽq SMLFormat‚ÍAƒvƒƒOƒ‰ƒ~ƒ“ƒOŒ¾Œêˆ—Œn‚ł̉ðÍ\•¶–؂̃eƒLƒXƒg•\Œ»o—͈—‚ÌŽÀ‘••â•‚ðŽå—v‚È–Ú“I‚Æ‚·‚éB ‘½‚­‚̃vƒƒOƒ‰ƒ~ƒ“ƒOŒ¾Œê‚ÍAƒvƒƒOƒ‰ƒ€—v‘f‚ÌeŽqŠÖŒW‚ðƒ\[ƒXƒR[ƒh‚̃eƒLƒXƒg‚ų‚µ‚­•\Œ»‚Å‚«‚邿‚¤A\•¶—v‘fŠÔ‚̶¬‹K‘¥‚ɉÁ‚¦‚ÄŒ‹‡‹K‘¥‚ð’è‹`‚µ‚Ä‚¢‚éB SMLFormat‚ÍAƒtƒH[ƒ}ƒbƒgŽ®‚Ìo—ÍŒ‹‰Ê‚ɃvƒƒOƒ‰ƒ~ƒ“ƒOŒ¾Œê‚ÌŒ‹‡‹K‘¥‚𔽉f‚·‚邽‚߂ɃtƒH[ƒ}ƒbƒgŽ®ŠÔ‚ÌŒ‹‡—Í‚ð•\‚·Œ‹‡ŽwަŽq(assoc indicator)‚𓱓ü‚·‚éB Œ‹‡ŽwަŽq‚ÍAƒK[ƒhŠJŽn‹L†("{")‚Ì’¼‘O‚ÉŒ‹‡‚Ì•ûŒü‚Æ‹­“x‚ðŽŸ‚Ì‚æ‚¤‚É‹Lq‚µ‚ÄŽw’è‚·‚éB L10{ "map" + "getContents" + "documents" } R5{ "first" + "::" + "second" + "::" + "others" } N0{ "if" + "matched" +1 "then" + "Matched" +1 "else" + "Fail" } 'L'‚̓K[ƒh“à‚Ì—v‘fŠÔ‚ª¶Œ‹‡‚Å‚ ‚邱‚Æ‚ðŽwަ‚·‚éB “¯—l‚ÉA'R'‚͉EŒ‹‡‚Å‚ ‚邱‚Æ‚ðŽwަ‚·‚éB 'N'‚ÍŒ‹‡•ûŒü‚ðl—¶‚µ‚È‚¢‚±‚Æ‚ðŽwަ‚·‚éB Œ‹‡‹­“x‚Í”’l‚ÅŽw’肵A‚æ‚è‘å‚«‚È”’l‚ª‚æ‚è‹­‚¢Œ‹‡‹­“x‚ð•\‚·B ƒK[ƒh“à—v‘fŠÔ‚ÌŒ‹‡—͂͌‹‡•ûŒü‚ÆŒ‹‡‹­“x‚Ì—¼•û‚©‚猈’肳‚ê‚éB ==================== 3.1. ƒK[ƒh‚̕یì SMLFormat‚ÍAŒ‹‡ŽwަŽq‚ªŽw’肳‚ꂽƒK[ƒh‚ðA•K—v‚ɉž‚¶‚ÄŠ‡ŒÊ‚ň͂ÞB ========== 3.1.1. eŽqƒK[ƒh‚ÌŒ‹‡—͂̔äŠr ‚½‚Æ‚¦‚ÎA‰ÁŽZ‰‰ŽZ‚ÌŒ‹‡—Í‚ðL1AæŽZ‰‰ŽZ‚ÌŒ‹‡—Í‚ðL2‚Æ‚µAŽZpŽ®‚ð‚‚¬‚̂悤‚ȃtƒH[ƒ}ƒbƒgŽ®‚Å•\‚·B L2{ L1{ "x" "+" "y" } + "*" + L1{ "v" + "w" }} ‚±‚̃tƒH[ƒ}ƒbƒgŽ®‚Ìo—ÍŒ‹‰Ê‚ÍA x + y * v + w ‚ł͂Ȃ­A (x + y) * (v + w) ‚Æ‚·‚ׂ«‚Å‚ ‚éB SMLFormat‚ÍAƒK[ƒh“à—v‘fŠÔ‚ÌŒ‹‡—Í‚ÆA‚»‚̃K[ƒh‚ð—v‘f‚Æ‚µ‚ÄŠÜ‚ÞãˆÊƒK[ƒh“à‚Ì—v‘fŠÔŒ‹‡—Í‚ð”äŠr‚µ‚ÄAƒK[ƒh‚ðŠ‡ŒÊ‚ÅˆÍ‚Þ‚×‚«‚©Œˆ’è‚·‚éB ‚‚܂èAƒK[ƒhC‚ÌŒ‹‡—Í‚ðS‚Æ‚µAC‚ðŠO‚©‚çˆÍ‚ÞƒK[ƒhP‚ÌŒ‹‡—Í‚ðT‚Æ‚·‚邯AS‚ªT‚æ‚è‚àuŽã‚¢v‚È‚ç‚ÎAC“à‚Ì—v‘f‚ªAP“à‚ÅC‚É—×Ú‚·‚é—v‘f‚ÆŒ‹‡‚·‚é‚Ì‚ð–h‚®‚½‚ßC‚ðŠ‡ŒÊ‚ÅˆÍ‚Þ•K—v‚ª‚ ‚éB ========== 3.1.2. Œ‹‡•ûŒü‚ƈʒuŠÖŒW ƒK[ƒh‚ðŠ‡ŒÊ‚ÅˆÍ‚Þ‚×‚«‚©”»’è‚·‚邽‚߂ɂÍAeŽqŠÖŒW‚É‚ ‚éƒK[ƒh‚ÌŒ‹‡—ÍŠÔ‚Ì‹­ŽãŠÖŒW‚ɉÁ‚¦‚ÄAeƒK[ƒh’†‚ł̎qƒK[ƒh‚̈ʒu‚ðl—¶‚É“ü‚ê‚È‚¯‚ê‚΂ç‚È‚¢B ‚½‚Æ‚¦‚ÎAŠÖ”“K—p‚ÌŒ‹‡—Í‚ðL10‚Æ‚µA“ñd‚ɃlƒXƒg‚µ‚½ŠÖ”“K—pŽ®‚ð‚‚¬‚̃tƒH[ƒ}ƒbƒgŽ®‚Å•\‚·B L10{ L10{ "f" + "x" } + L10{ "g" + "y" }} ‚±‚̃tƒH[ƒ}ƒbƒgŽ®‚Ìo—ÍŒ‹‰Ê‚Í f x g y ‚ł͂Ȃ­ (f x) (g y) ‚Æ‚·‚ׂ«‚Å‚ ‚éB ‚³‚ç‚ÉA¶Œ‹‡‚Å‚ ‚邱‚Æ‚©‚çA¶‘¤‚ÌŠÖ”“K—p‚ðˆÍ‚ÞŠ‡ŒÊ‚ðŽæ‚èœ‚¢‚Ä f x (g y) ‚Æ‚·‚邱‚Æ‚ª‚Å‚«‚éB‚µ‚©‚µA‰E‘¤‚ÌŠÖ”“K—p‚ðˆÍ‚ÞŠ‡ŒÊ‚ÍÈ—ª‚Å‚«‚È‚¢B “¯—l‚ÉAŠÖ”Œ^‚ð\¬‚·‚éŒ^\¬Žq'->'‚ÌŒ‹‡—Í‚ðR1‚Æ‚·‚邯AƒtƒH[ƒ}ƒbƒgŽ® R1{ R1{ "t1" + "->" + "t2" } + "->" + R1{ "s1" + "->" + "s2" }} ‚Ìo—ÍŒ‹‰Ê‚Í t1 -> t2 -> s1 -> s2 ‚ł͂Ȃ­ (t1 -> t2) -> (s1 -> s2) ‚³‚ç‚É (t1 -> t2) -> s1 -> s2 ‚Æ‚·‚ׂ«‚Å‚ ‚éB ==================== 3.2. Œ‹‡ŽwަŽq‚Ìœ‹Ž SMLFormat‚ÍAˆÈ‰º‚Éà–¾‚·‚éŽè‡‚É‚µ‚½‚ª‚Á‚ÄAƒtƒH[ƒ}ƒbƒgŽ®’†‚ÌŒ‹‡ŽwަŽq•t‚«ƒK[ƒh‚ðAŒ‹‡ŽwަŽq‚ðŽ‚½‚È‚¢ƒK[ƒh‚ÆA•K—v‚È‚ç‚΃K[ƒh‚ðˆÍ‚ÞŠ‡ŒÊ‚ɕϊ·‚·‚éB ЇŒÊ‚É‚æ‚éˆÍ‚¢ž‚݂̗v•s—v‚ÍAãˆÊƒK[ƒh‚©‚çuŒp³v‚·‚錋‡—Í‚ÆAƒK[ƒh‚ÉŽw’肳‚ꂽŒ‹‡—͂Ƃ̔äŠr‚É‚æ‚Á‚ÄŒˆ’è‚·‚éB ========== 3.2.1. Œp³‚·‚錋‡—Í ãˆÊƒK[ƒh‚©‚çŒp³‚³‚ꂽŒ‹‡—Í‚ðS‚Æ‚µAƒtƒH[ƒ}ƒbƒgŽ®‚ðe‚Æ‚·‚éB e‚ÌŽq—v‘f‚ɑ΂µ‚ÄŒp³‚·‚錋‡—Í‚ð‚‚¬‚̂悤‚ÉŒˆ’è‚·‚éB e = T{ exp1 ... expk }‚Ìê‡ T = Ln ‚Å‚ ‚éê‡ exp1 ... expk ’†‚̃K[ƒh‚Ü‚½‚Í•¶Žš—ñ’蔂̂¤‚¿Å‚ංɈʒu‚·‚鎮 ‚ɑ΂µ‚ÄLn‚ðŒp³‚·‚éB ‚»‚Ì‘¼‚Ì—v‘f‚ɑ΂µ‚Ä‚Í Nn ‚ðŒp³‚·‚éB T = Rn ‚Å‚ ‚éê‡ exp1 ... expk ’†‚̃K[ƒh‚Ü‚½‚Í•¶Žš—ñ’蔂̂¤‚¿Å‚à‰E‚Ɉʒu‚·‚鎮 ‚ɑ΂µ‚ÄRn‚ðŒp³‚·‚éB ‚»‚Ì‘¼‚Ì—v‘f‚ɑ΂µ‚Ä‚Í Nn ‚ðŒp³‚·‚éB T = Nn ‚Å‚ ‚éê‡ exp1 ... expk ‚Ì‚»‚ꂼ‚ê‚ɑ΂µ‚Ä Nn ‚ðŒp³‚·‚éB e = {exp1 ... expk}‚Ìê‡ S = Ln ‚Å‚ ‚éê‡ exp1 ... expk ’†‚̃K[ƒh‚Ü‚½‚Í•¶Žš—ñ’蔂̂¤‚¿Å‚ංɈʒu‚·‚鎮 ‚ɑ΂µ‚ÄLn‚ðŒp³‚·‚éB ‚»‚Ì‘¼‚Ì—v‘f‚ɑ΂µ‚Ä‚Í Nn ‚ðŒp³‚·‚éB S = Rn ‚Å‚ ‚éê‡ exp1 ... expk ’†‚̃K[ƒh‚Ü‚½‚Í•¶Žš—ñ’蔂̂¤‚¿Å‚à‰E‚Ɉʒu‚·‚鎮 ‚ɑ΂µ‚ÄRn‚ðŒp³‚·‚éB ‚»‚Ì‘¼‚Ì—v‘f‚ɑ΂µ‚Ä‚Í Nn ‚ðŒp³‚·‚éB S = Nn ‚Å‚ ‚éê‡ exp1 ... expk ‚Ì‚»‚ꂼ‚ê‚ɑ΂µ‚Ä Nn ‚ðŒp³‚·‚éB ‚»‚Ì‘¼‚Ìê‡ e‚ÍŽq—v‘f‚ð‚à‚½‚È‚¢‚̂Ō‹‡—͂̌p³‚Í•s—vB ========== 3.2.2. Œ‹‡ŽwަŽq‚Ì'<'ŠÖŒW Œ‹‡ŽwަŽqã‚ł̓ñ€ŠÖŒW'<'‚ðŽŸ‚Ì‚æ‚¤‚É’è‹`‚·‚éB An < Bm, if n < m (A,B are L,R or N) Ln < Nn Rn < Nn p < q, if p < r and r < q ‚Ü‚½A p <> q == ((p = Ln and q = Rn) or (p = Rn and q = Ln)) ‚Æ’è‹`‚·‚éB ========== 3.2.3. ƒK[ƒh‚̕یì ãˆÊƒK[ƒh‚©‚çŒp³‚³‚ꂽŒ‹‡—Í‚ðSA‰ºˆÊƒK[ƒh‚ÉŽw’肳‚ꂽŒ‹‡ŽwަŽq‚ÌŒ‹‡—Í‚ðT‚Æ‚·‚邯A‰ºˆÊƒK[ƒh‚ðˆÍ‚ÞŠ‡ŒÊ‚Ì•K—v«‚ð‚‚¬‚̂悤‚É”»’f‚·‚éB a) S < T ‚Ü‚½‚Í S = T ‚È‚ç‚ÎAƒK[ƒh‚ðˆÍ‚ÞŠ‡ŒÊ‚Í•s—vB b) ‚»‚Ì‘¼A‚·‚Ȃ킿 T < S ‚Ü‚½‚Í S <> T ‚Å‚ ‚éê‡AƒK[ƒh‚ðŠ‡ŒÊ‚ÅˆÍ‚ÞB ========== 3.2.4. •ÏŠ·—á ãˆÊƒK[ƒh‚©‚çŒp³‚µ‚½Œ‹‡—Í‚ðS‚Æ‚µAŒ‹‡ŽwަŽq‚ðƒtƒH[ƒ}ƒbƒgŽ®e‚©‚çŽæ‚蜂¢‚ÄV‚½‚ÉŽ®e'‚𓾂邱‚Æ‚ð S | e => e' ‚Æ•\‹L‚·‚éB æ‚É‚ ‚°‚½ŽO‚‚̃tƒH[ƒ}ƒbƒgŽ®‚̕ϊ·Žè‡‚ðŽ¦‚·B Œp³‚·‚錋‡—͂̉Šú’l‚Æ‚µ‚ÄN0‚ð—p‚¢‚éB ===== —á‚P L2{ L1{ "x" "+" "y" } + "*" + L1{ "v" + "w" } } L1 < L2 L1 < N2 -------------------------- -------------------------- L2| L1{"x" "+" "y"} N2| L1{"v" "+" "w"} | => "(" {"x" + "y"} ")" | => "(" {"v" + "w"} ")" N0 < L2 ----------------------------------------------------------------- N0| L2{L1{"x" "+" "y"} + "*" + L1{"v" + "w"}} | => {"(" {"x" + "y"} ")" + "*" + "(" {"v" + "w"} ")"} ===== —á‚Q L10{ L10{ "f" + "x" } + L10{ "g" + "y" } } L10 = L10 L10 < N10 ------------------- --------------------------- L10| L10{"f" + "x"} N10| L10{"g" + "y"} | => {"f" + "x"} | => "(" {"g" + "y"} ")" N0 < L10 ------------------------------------------------------------ N0| L10{L10{"f" + "x"} + L10{"g" + "y"}} | => {{"f" + "x"} + "(" {"g" + "y"} ")"} ===== —á‚R R1{ R1{ "t1" + "->" + t2" } + "->" + R1{ "s1" + "->" + "s2" } } R1 < N1 R1 = R1 ------------------------------- --------------------------- N1| R1{"t1" + "->" + t2"} R1| R1{"s1" + "->" + "s2"} | => "(" {"t1" + "->" + t2"} ")" | => {"s1" + "->" + "s2"} N0 < R1 ------------------------------------------------------------------------- N0| R1{R1{"t1" + "->" + t2"} + "->" + R1{"s1" + "->" + "s2"}} | => {"(" {"t1" + "->" + t2"} ")" + "->" + {"s1" + "->" + "s2"}} ========== 3.2.5. cut SML‚ÌletŽ®‚âtupleŽ®AƒŒƒR[ƒhŽ®‚̂悤‚É‘OŒã‚ðƒL[ƒ[ƒh‚â“ÁŽê‹L†‚ň͂܂ê‚Ä‚¢‚鎮‚ÍA‚»‚ÌŽ®‚ª’u‚©‚ê‚Ä‚¢‚é•¶–¬‚É‚©‚©‚í‚炸AƒJƒbƒR‚ň͂ޕK—v‚ª‚È‚¢B ‚µ‚©‚µA‘Oq‚ÌŒ‹‡ŽwަŽq‚ł͂±‚̂悤‚ÈꇂɓK؂Ȍ‹‡“x‚ðŽw’è‚·‚邱‚Æ‚ª‚Å‚«‚È‚¢B —á‚Æ‚µ‚ÄA‚‚¬‚ÌSML‚ÌŽ®‚ðƒtƒH[ƒ}ƒbƒgŽ®‚Å‚ ‚ç‚í‚·‚±‚Æ‚ðl‚¦‚éB f (g x, y) --(*) SML‚ł͊֔“K—pŽ®‚Í‘¼‚ÌŽ®‚æ‚è‚‚¢Œ‹‡“x‚ð‚à‚ÂB ‚µ‚½‚ª‚Á‚ÄAexp1, exp2‚ð‚»‚ê‚¼‚êŠÖ”Ž®‚ƈø”Ž®‚ð•\‚·ƒtƒH[ƒ}ƒbƒgŽ®‚Æ‚·‚邯AŠÖ”“K—pŽ®‚ÍŽŸ‚̂悤‚ȃtƒH[ƒ}ƒbƒgŽ®‚Å•\‚·‚±‚Æ‚ª‚Å‚«‚éB L10{ exp1 + exp2 } ‚‚¬‚ÉAtupleŽ®‚ð N0{ "(" exp1 "," + ... "," + expn ")" } ‚Å‚ ‚ç‚í‚·‚±‚Ƃɂ·‚éB ‚·‚邯AŽ®(*)‚ð‚ ‚ç‚í‚·ƒtƒH[ƒ}ƒbƒgŽ®‚Í L10{ "f" + N0{ "(" L10{ "g" + "x" } "," + "y"")" } } ‚ƂȂéB‚±‚̃tƒH[ƒ}ƒbƒgŽ®‚ðo—Í‚·‚邯A N0 < L10 --------------------------------- N0| L10{ "g" + "x" } => "g" + "x" ------------------------------------------ N0| "(" L10{ "g" + "x" } "," + "y" ")" | => "(" "g" + "x" "," + "y" ")" N0 < N10 ---------------------------------------------------- N10| N0{ "(" L10{ "g" + "x" } "," + "y"")" } L10| "f" => "f" | => "(" "(" "g" + "x" "," + "y" ")" ")" ------------------------------------------------------------------ N0| L10{ "f" + N0{ "(" L10{ "g" + "x" } "," + "y"")" } } | => "f" + "(" "(" "g" + "x" "," + "y" ")" ")" ‚‚¬‚̂悤‚ÉtupleŽ®‚ªç’·‚ȃJƒbƒR‚ň͂܂ê‚Ä‚µ‚Ü‚¤B f ((g x, y)) ‚±‚ê‚ÍtupleŽ®‚ÌŒ‹‡“x‚ªŠÖ”“K—pŽ®‚ÌŒ‹‡“x‚æ‚èŽã‚¢‚½‚߂ł ‚éB ‚»‚±‚ÅAtupleŽ®‚Ì\¬—v‘f‚ÌŒ‹‡“x‚ðN10‚Éã‚°‚Ä N10{ "(" exp1 "," + ... "," + expn ")" } ‚Æ‚·‚éBŽ®(*)‚ð‚ ‚ç‚í‚·ƒtƒH[ƒ}ƒbƒgŽ®‚Í L10{ "f" + N10{ "(" L10{ "g" + "x" } "," + "y"")" } } ‚ƂȂèA‚±‚ê‚ðo—Í‚·‚邯A L10 < N10 ------------------------------------------ N10| L10{ "g" + "x" } => "(" "g" + "x" ")" ------------------------------------------ N10| "(" L10{ "g" + "x" } "," + "y" ")" | => "(" "(" "g" + "x" ")" "," + "y" ")" --------------------------------------------- N10| N10{ "(" L10{ "g" + "x" } "," + "y"")" } L10| "f" => "f" | => "(" "(" "g" + "x" ")" "," + "y" ")" --------------------------------------------------------------- N0| L10{ "f" + N10{ "(" L10{ "g" + "x" } "," + "y"")" } } | => "f" + "(" "(" "g" + "x" ")" "," + "y" ")" ‚É‚æ‚èAtuple“à‚ÌŠÖ”“K—pŽ®‚ªƒJƒbƒR‚ň͂܂ê‚Ä‚µ‚Ü‚¤B f ((g x), y) ‚±‚Ì–â‘è‚ÍAƒK[ƒh‚ÉŽw’肳‚ꂽŒ‹‡—Í‚ªAãˆÊƒK[ƒh‚©‚çŒp³‚·‚錋‡—͂ƉºˆÊƒK[ƒh‚ÉŽw’肳‚ꂽŒ‹‡—̗͂¼ŽÒ‚Æ”äŠr‚³‚ê‚邱‚ƂɌ´ˆö‚ª‚ ‚éB ‚±‚ê‚ð‰ðŒˆ‚·‚邽‚ßAŒ‹‡ŽwަŽq‚ðŠg’£‚µAãˆÊƒK[ƒh‚©‚ç‚ÌŒ‹‡—͂̌p³‚ðŽÕ’f(cut)‚µAƒK[ƒh‚ÌŒ‹‡—Í‚ð‰ºˆÊƒK[ƒh‚ÌŒ‹‡—͂Ƃ̂ݔäŠr‚·‚邱‚Æ‚ðŽwަ‚Å‚«‚邿‚¤‚É‚·‚éB 擪‚ð"!"‚Æ‚·‚錋‡ŽwަŽq‚ðcut•t‚«Œ‹‡ŽwަŽq‚ƌĂÑA‚±‚ÌŽwަŽq‚ªŽw’肳‚ꂽƒK[ƒh‚ÍãˆÊƒK[ƒh‚ÌŒ‹‡—͂ɂ©‚©‚í‚炸AЇŒÊ‚ň͂܂ê‚È‚¢‚à‚̂Ƃ·‚éB ‚±‚ê‚ð—p‚¢‚ÄAtupleŽ®‚ð‚ ‚ç‚í‚·ƒtƒH[ƒ}ƒbƒgŽ®‚ð !N0{ "(" exp1 "," + ... "," + expn ")" } ‚Æ‚·‚éB Ž®(*)‚ð‚ ‚ç‚í‚·ƒtƒH[ƒ}ƒbƒgŽ®‚Í L10{ "f" + !N0{ "(" L10{ "g" + "x" } "," + "y"")" } } ‚ƂȂèA‚±‚ê‚ðo—Í‚µ‚½Œ‹‰Ê‚ÍA N0 < L10 --------------------------------- N0| L10{ "g" + "x" } => "g" + "x" ------------------------------------------ N0| "(" L10{ "g" + "x" } "," + "y" ")" | => "(" "g" + "x" "," + "y" ")" --------------------------------------------- N10| !N0{ "(" L10{ "g" + "x" } "," + "y"")" } L10| "f" => "f" | => "(" "g" + "x" "," + "y" ")" --------------------------------------------------------------- N0| L10{ "f" + !N0{ "(" L10{ "g" + "x" } "," + "y"")" } } | => "f" + "(" "g" + "x" "," + "y" ")" ‚É‚æ‚èA f (g x, y) ‚ƂȂèA•s•K—v‚ÈŠ‡ŒÊ‚ª‘}“ü‚³‚ê‚È‚¢B ======================================== 4. ƒtƒH[ƒ}ƒbƒ^¶¬ SMLFormat‚ÍAtype錾‚¨‚æ‚Ñdatatype錾‚É—^‚¦‚ç‚ꂽƒRƒƒ“ƒg‚©‚çƒtƒH[ƒ}ƒbƒ^ŠÖ”ƒR[ƒh‚𶬂·‚éB ==================== 4.1. Šî–{ƒtƒH[ƒ}ƒbƒ^ŠÖ” int‚âstring‚ȂǑg‚Ýž‚Ý‚ ‚é‚¢‚ÍSML Basis Library‚Å’ñ‹Ÿ‚³‚ê‚éŠî–{“I‚ÈŒ^‚ɑ΂µ‚Ä‚ÍA‚ ‚ç‚©‚¶‚ßBasicFormattersƒXƒgƒ‰ƒNƒ`ƒƒ‚ɃtƒH[ƒ}ƒbƒ^ŠÖ”‚ª—pˆÓ‚³‚ê‚Ä‚¢‚éB ‚½‚Æ‚¦‚ÎintŒ^‚ɑ΂µ‚Ä‚Íformat_intAstringŒ^‚ɑ΂µ‚Ä‚Íformat_string‚ª—pˆÓ‚³‚ê‚Ä‚¢‚éB ==================== 4.2. type錾‚ɑ΂·‚éƒtƒH[ƒ}ƒbƒgƒRƒƒ“ƒg ‚‚¬‚̂悤‚Ètype錾 type number = int ‚ÅnumberŒ^‚ð’è‹`‚µA‚±‚ÌŒ^‚̃tƒH[ƒ}ƒbƒ^‚ð’è‹`‚µ‚½‚¢B SMLFormat‚ɃtƒH[ƒ}ƒbƒ^‚𶬂³‚¹‚邽‚߂ɂÍA‚‚¬‚̂悤‚ɃRƒƒ“ƒg‚Å’Žß‚ð—^‚¦‚éB (*% *) type number = (*% * @format(value) "123" *) int SMLFormat‚ɑ΂·‚éŽwަ‚ÍA"(*%"‚Æ"*)"‚ň͂܂ꂽƒRƒƒ“ƒg‚É‹Lq‚·‚éB ‚±‚ê‚ðƒtƒH[ƒ}ƒbƒgƒRƒƒ“ƒg‚ƌĂÔB type錾‚ɑ΂·‚éƒtƒH[ƒ}ƒbƒgƒRƒƒ“ƒg‚ðŒ^錾ƒwƒbƒ_ƒRƒƒ“ƒgA'='‚̉E•Ó‚ÌŒ^Ž®‚ɑ΂·‚éƒtƒH[ƒ}ƒbƒgƒRƒƒ“ƒg‚ð’è‹`Œ^Ž®ƒRƒƒ“ƒg‚ƌĂÔB ‚±‚ê‚ç‚̃tƒH[ƒ}ƒbƒgƒRƒƒ“ƒg‚ÍAtypeƒL[ƒ[ƒh‚¨‚æ‚ÑŒ^Ž®i‚±‚ÌꇂÍ"int"j‚Ì’¼‘O‚É”z’u‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢B ========== 4.2.1. Œ^錾ƒwƒbƒ_ƒRƒƒ“ƒg type錾‚ɑ΂·‚éƒtƒH[ƒ}ƒbƒ^‚𶬂³‚¹‚邽‚߂ɂ͌^錾ƒwƒbƒ_ƒRƒƒ“ƒg‚ª•K—v‚Å‚ ‚éB ‚±‚Ì—á‚ł͌^錾ƒwƒbƒ_ƒRƒƒ“ƒg‚ɉ½‚à‹Lq‚·‚é•K—v‚͂Ȃ¢‚̂ŋó‚̃Rƒƒ“ƒg‚ð—^‚¦‚éB ========== 4.2.2. ’è‹`Œ^Ž®ƒRƒƒ“ƒg ’è‹`Œ^Ž®ƒwƒbƒ_ƒRƒƒ“ƒg‚É‚ÍAƒtƒH[ƒ}ƒbƒgƒ^ƒO‚ð‚ЂƂ‹Lq‚·‚éB ƒtƒH[ƒ}ƒbƒgƒ^ƒO‚͈ȉº‚ÌŒ`Ž®‚ð‚Æ‚éB "@format(" typepat ")" template ... template typepat‚É‚ÍAŒ^Ž®‚ɑ΂·‚éƒpƒ^[ƒ“‚ð‹Lq‚·‚éB‚±‚ê‚ðƒ^ƒCƒvƒpƒ^[ƒ“‚ƌĂÔB template‚É‚ÍAƒtƒH[ƒ}ƒbƒgƒeƒ“ƒvƒŒ[ƒg‚ð‹Lq‚·‚éB ƒtƒH[ƒ}ƒbƒgƒeƒ“ƒvƒŒ[ƒg‚ÍAƒRƒƒ“ƒg‘ÎÛ‚ÌŒ^‚Ì’l‚ðƒeƒLƒXƒgo—Í‚·‚éÛ‚Ì‘Ž®‚ðŽw’è‚·‚éB ƒtƒH[ƒ}ƒbƒgƒeƒ“ƒvƒŒ[ƒg‚Ì\•¶‹K‘¥‚̓tƒH[ƒ}ƒbƒgŽ®‚Ì\•¶‹K‘¥‚ð•ïŠÜ‚·‚é‚Ì‚ÅAƒtƒH[ƒ}ƒbƒgŽ®‚ð‚»‚Ì‚Ü‚ÜƒtƒH[ƒ}ƒbƒgƒeƒ“ƒvƒŒ[ƒg‚Æ‚µ‚Ä‹Lq‚Å‚«‚éB ========== 4.2.3. ƒtƒH[ƒ}ƒbƒ^‚̶¬ numberŒ^‚ɑ΂µ‚ÄSMLFormat‚͂‚¬‚̂悤‚ȃtƒH[ƒ}ƒbƒ^ƒR[ƒh‚𶬂·‚éB à–¾‚Ì‚½‚ßA"<<"‚Æ">>"‚ň͂܂ꂽ•”•ª‚ɂ̓tƒH[ƒ}ƒbƒgŽ®‚ÆSMLŽ®‚ð¬Ý‚µ‚Ä‹Lq‚µ‚Ä‚¢‚éBSMLFormat‚ª¶¬‚·‚éŽÀۂ̃R[ƒh‚Å‚ÍA‚±‚Ì•”•ª‚Í FormatExpression.expression list ‚𶬂·‚éB fun format_number x = case x of value => << "123" >> ==================== 4.3. datatype錾‚ɑ΂·‚éƒtƒH[ƒ}ƒbƒgƒRƒƒ“ƒg datatype錾‚ɑ΂·‚éƒtƒH[ƒ}ƒbƒgƒRƒƒ“ƒg‚ÍAŒ^錾ƒwƒbƒ_ƒRƒƒ“ƒg‚ÆAŠe’l\¬Žq‚ɑ΂·‚é’è‹`Œ^Ž®ƒRƒƒ“ƒg‚©‚ç\¬‚³‚ê‚éB (*% *) datatype maybeNumber = (*% @format(value) "456" *) SomeNumber of number | (*% @format "none" *) NotNumber ’è‹`Œ^Ž®ƒRƒƒ“ƒg‚̃tƒH[ƒ}ƒbƒgƒ^ƒO‚É‚ÍA’l\¬Žq‚Ì‚Æ‚éˆø”‚ÌŒ^Ž®‚ɑ΂·‚éƒ^ƒCƒvƒpƒ^[ƒ“‚ÆAƒeƒ“ƒvƒŒ[ƒg‚ð‹Lq‚·‚éB ˆø”‚ð‚Æ‚ç‚È‚¢’l\¬Žq‚ɑ΂·‚éƒtƒH[ƒ}ƒbƒgƒ^ƒO‚Å‚ÍAƒ^ƒCƒvƒpƒ^[ƒ“‚Í•s—v‚Å‚ ‚éB SMLFormat‚ÍAmaybeNumber‚ɑ΂µ‚¬‚̃tƒH[ƒ}ƒbƒ^‚𶬂·‚éB fun format_maybeNumber x = case x of SomeNumber value => << "456" >> | NotNumber => << "none" >> ==================== 4.4. ƒ^ƒCƒvƒpƒ^[ƒ“ SMLFormat‚ÍAƒtƒH[ƒ}ƒbƒgƒ^ƒO’†‚̃^ƒCƒvƒpƒ^[ƒ“‚©‚çA’è‹`Œ^Ž®‚Ì’l‚Ƃ̃pƒ^[ƒ“ƒ}ƒbƒ`‚ð‚¨‚±‚È‚¤ƒR[ƒh‚𶬂·‚éB ‚Ü‚½AŒ^Ž®‚ƃ^ƒCƒvƒpƒ^[ƒ“‚Æ‚ÌÆ‡‚É‚æ‚èAƒ^ƒCƒvƒpƒ^[ƒ“’†‚ÌŽ¯•ÊŽq‚ɑΉž‚·‚éŒ^‚ª”»’è‚Å‚«‚éB ƒ^ƒCƒvƒpƒ^[ƒ“’†‚ÉŒ»‚ê‚鎯•ÊŽq‚ÍAƒtƒH[ƒ}ƒbƒgƒeƒ“ƒvƒŒ[ƒg’†‚ÅŽg—p‚·‚邱‚Æ‚ª‚Å‚«‚éB ƒtƒH[ƒ}ƒbƒgƒeƒ“ƒvƒŒ[ƒg’†‚ÌŽ¯•ÊŽq‚ÍAŽÀsŽž‚É‚»‚ÌŽ¯•ÊŽq‚É‘©”›‚³‚ê‚é’l‚̃tƒH[ƒ}ƒbƒgŽ®•\Œ»‚𶬂·‚éƒR[ƒh‚ɕϊ·‚³‚ê‚éB ‚‚܂èAƒeƒ“ƒvƒŒ[ƒg’†‚ÉŒ»‚ê‚鎯•ÊŽq‚ÍA‚»‚ê‚ɑΉž‚·‚éŒ^‚ɑ΂µ‚Ä’è‹`‚³‚ê‚Ä‚¢‚éƒeƒ“ƒvƒŒ[ƒg‚ð‚»‚ÌˆÊ’u‚É“WŠJ‚·‚邱‚Æ‚É‘Š“–‚·‚éB‚±‚Ì‚½‚ßAƒeƒ“ƒvƒŒ[ƒg’†‚ÌŽ¯•ÊŽq‚ÌoŒ»‚ðAƒeƒ“ƒvƒŒ[ƒgƒCƒ“ƒXƒ^ƒ“ƒVƒG[ƒVƒ‡ƒ“(template instantiation)‚ƌĂÔB ƒeƒ“ƒvƒŒ[ƒgƒCƒ“ƒXƒ^ƒ“ƒVƒG[ƒVƒ‡ƒ“‚ðŽg—p‚µ‚ÄAnumberŒ^‚ɑ΂·‚éƒtƒH[ƒ}ƒbƒgƒRƒƒ“ƒg‚ð‚‚¬‚̂悤‚É•ÏX‚·‚éB (*% *) type number = (*% @format(value) value *) int SMLFormat‚͂‚¬‚̃tƒH[ƒ}ƒbƒ^‚𶬂·‚éB fun format_number x = case x of value => << format_int(value) >> Œ^Ž®‚ƃ^ƒCƒvƒpƒ^[ƒ“‚ÌÆ‡‚É‚æ‚莯•ÊŽqvalue‚ɂ͌^Ž®int‚ª‘Ήž‚·‚é‚Ì‚ÅAƒeƒ“ƒvƒŒ[ƒg’†‚ÉoŒ»‚·‚鎯•ÊŽqvalue‚ÍAintŒ^‚̃tƒH[ƒ}ƒbƒ^(format_int)‚ðŒÄ‚Ño‚·ƒR[ƒh‚ɕϊ·‚³‚ê‚éB maybeNumber‚à“¯—l‚É•ÏX‚·‚éB (*% *) datatype maybeNumber = (*% @format(value) value *) SomeNumber of number | (*% @format "none" *) NotNumber fun format_maybeNumber x = case x of SomeNumber value => << format_number(value) >> | NotNumber => << "none" >> ========== 4.4.1. ޝ•ÊŽqŒ^Ž®ƒpƒ^[ƒ“ ޝ•ÊŽq‚Í‚¢‚¸‚ê‚ÌŒ^Ž®‚Æ‚àƒ}ƒbƒ`‚·‚éƒ^ƒCƒvƒpƒ^[ƒ“‚Æ‚µ‚ÄŽg—p‚Å‚«‚éB ========== 4.4.2. tupleŒ^Ž®ƒpƒ^[ƒ“ tupleŒ^Ž®‚ɑ΂µ‚Ä‚ÍA‚‚¬‚̂悤‚Ƀ^ƒCƒvƒpƒ^[ƒ“‚ðŽw’è‚·‚邱‚Æ‚ª‚Å‚«‚éB (*% *) type region = (*% @format(left * right) "left=" left + "right=" right *) int * int SMLFormat‚ÍAregionŒ^‚ɑ΂µ‚¬‚̃tƒH[ƒ}ƒbƒ^‚𶬂·‚éB fun format_region x = case x of (left, right) => << "left=" format_int(left) + "right=" format_int(right) >> ========== 4.4.3. ƒŒƒR[ƒhŒ^Ž®ƒpƒ^[ƒ“ ƒŒƒR[ƒhŒ^Ž®‚ɂ‚¢‚Ä‚à“¯—l‚Å‚ ‚éB (*% *) type range = (*% @format({min : minimum, max}) minimum + "<->" + max *) {min : int, max : int} SMLFormat‚ÍArangeŒ^‚ɑ΂µ‚¬‚̃tƒH[ƒ}ƒbƒ^‚𶬂·‚éB fun format_range x = case x of {min = minimum, max} => << format_int(minimum) + "<->" + format_int(max) >> ========== 4.4.4. ˆø”‚ð‚Æ‚éŒ^\¬Žq SMLFormat‚ÍAlist‚̂悤‚Ɉø”‚ð‚Æ‚éŒ^\¬Žq‚ɑ΂µ‚Ä‚àƒtƒH[ƒ}ƒbƒ^‚𶬂ł«‚éB (*% *) datatype 'a maybe = (*% @format(value) value *) Something of 'a | (*% @format "none" *) Nothing ‚±‚Ìmaybe‚ɑ΂µ‚ÄSMLFormat‚ª¶¬‚·‚éƒtƒH[ƒ}ƒbƒ^‚ÍAŒ^•Ï”'a‚ɑ΂·‚éƒtƒH[ƒ}ƒbƒ^‚ðˆø”‚ɂƂéB‚±‚ê‚ðƒtƒH[ƒ}ƒbƒ^ˆø”‚ƌĂÔB fun format_maybe format_'a x = case x of Something value => << format_'a(value) >> | Nothing => << "none" >> ‚±‚Ìmaybe‚ð“K—p‚µ‚½Œ^Ž®‚ɑ΂·‚éƒtƒH[ƒ}ƒbƒgƒRƒƒ“ƒg‚͂‚¬‚̂悤‚É‹Lq‚·‚éB (*% *) type maybeString = (*% @format(str tycon) tycon(str) *) string maybe Œ^\¬Žq“K—p‚ɑ΂·‚éƒ^ƒCƒvƒpƒ^[ƒ“‚ÍA typepat ID ‚Æ‚¢‚¤Œ`‚ð‚Æ‚éB ‚±‚Ì—á‚Å‚ÍAޝ•ÊŽqtycon‚ɂ͌^\¬Žqmaybe‚ªƒ}ƒbƒ`‚µAƒpƒ^[ƒ“str‚ɂ͌^Ž®string‚ªƒ}ƒbƒ`‚·‚éB ƒeƒ“ƒvƒŒ[ƒg’†‚Å‚ÍAŒ^\¬Žq‚Ƀ}ƒbƒ`‚·‚鎯•ÊŽq‚ւ̈ø”‚ÉAŒ^\¬Žq‚ւ̈ø”‚Ƀ}ƒbƒ`‚·‚鎯•ÊŽq‚ð—^‚¦‚éŒ`Ž®‚Å‹Lq‚·‚éB ‚±‚Ì—á‚Å‚ÍAtycon‚ւ̈ø”‚Æ‚µ‚Ästr‚ð—^‚¦‚éŒ`Ž®‚ƂȂéB •â‘«F’è‹`Œ^Ž®‚ð‚Ý‚ê‚ÎAޝ•ÊŽqtycon‚Ƀ}ƒbƒ`‚·‚émaybe‚É‚Ístring‚ªˆø”‚Æ‚µ‚Ä—^‚¦‚ç‚ê‚Ä‚¢‚邱‚Ƃ͖¾‚ç‚©‚Å‚ ‚éB‚µ‚½‚ª‚Á‚ÄAƒeƒ“ƒvƒŒ[ƒg’†‚Å tycon(str) ‚̂悤‚Étycon‚ɑ΂·‚éˆø”str‚àŽw’è‚·‚é‚Ì‚Íç’·‚Å‚ ‚邿‚¤‚ÉŽv‚¦‚éB ‚µ‚©‚µA‚±‚ê‚ÍA‚‚¬‚Éà–¾‚·‚é’ljÁˆø”‚𓱓ü‚µ‚½Œ‹‰ÊA’ljÁˆø”‚ª‚ǂ̎¯•ÊŽq‚É—^‚¦‚ç‚ê‚é‚à‚Ì‚©‘Ήž‚𖾂炩‚É‚·‚é•K—v‚ª¶‚¶‚½‚½‚߂̧–ñ‚Å‚ ‚éB maybeString‚ɑ΂·‚éƒtƒH[ƒ}ƒbƒ^‚ÍA‚‚¬‚̂悤‚Éformat_maybe‚Ì‘æˆêˆø”‚Æ‚µ‚Äformat_string‚ð—^‚¦‚éB fun format_maybeString x = case x of tycon => << (format_maybe format_string tycon) >> ========== 4.4.5. ƒƒCƒ‹ƒhƒJ[ƒhŒ^Ž®ƒpƒ^[ƒ“ '_'‚ðƒƒCƒ‹ƒhƒJ[ƒh‚Æ‚µ‚ÄŽg‚¤‚±‚Æ‚ª‚Å‚«‚éB (*% *) type wildCard = (*% @format(_ * n) n *) (bool * int) ƒƒCƒ‹ƒhƒJ[ƒhŒ^Ž®ƒpƒ^[ƒ“‚ÍAƒ^[ƒ€‚ɑ΂·‚郃Cƒ‹ƒhƒJ[ƒhƒpƒ^[ƒ“‚ɕϊ·‚³‚ê‚éB fun format_wildCard x = case x of (_, n) => << format_int(n) >> ========== 4.4.6. ˆø—p•„•t‚«Ž¯•ÊŽqAƒ‰ƒxƒ‹ ޝ•ÊŽq‚⃉ƒxƒ‹‚ª'd'‚ ‚é‚¢‚Í”Žš‚Å‚ ‚éê‡A‰üsŽwަŽq‚Æ‚µ‚ĉðŽß‚³‚ê‚邱‚Æ‚ð–h‚®‚½‚ßAˆêdˆø—p•„‚ň͂܂Ȃ¯‚ê‚΂Ȃç‚È‚¢B (*% *) type quotedFields = (*% @format({'d' : fd, '1' : f1}) fd f1 *) {d : int, 1 : bool} smlformat‚ÍŽŸ‚̃tƒH[ƒ}ƒbƒ^‚𶬂·‚éB fun format_quotedFields x = case x of {d = fd, 1 = f1} => << format_int(fd) format_bool(f1) >> ========== 4.4.7. ’ljÁˆø” ƒtƒH[ƒ}ƒbƒ^‚ÍAƒtƒH[ƒ}ƒbƒg‘ÎÛ‚Ì’l‚âƒtƒH[ƒ}ƒbƒ^ˆø”‚̂ق©‚ɒljÁˆø”‚ð‚Æ‚é‚±‚Æ‚ª‚Å‚«‚éB (*% * @params (label) *) type 'a anyLabeled = (*% @format(value) label ":" value *) 'a ’ljÁˆø”‚Ì–¼‘O‚ÍAŒ^錾ƒwƒbƒ_ƒRƒƒ“ƒg‚É"@params"ƒ^ƒO‚ÅŽw’è‚·‚éB ’ljÁˆø”‚ª•¡”•K—v‚Èê‡A (*% * @params (p1, ..., pk) *) ‚ ‚é‚¢‚Í (*% * @params (p1) * : * @params (pk) *) ‚̂悤‚É‹Lq‚·‚éB ’ljÁˆø”‚̓eƒ“ƒvƒŒ[ƒg’†‚ÅŽg—p‚Å‚«‚éB ƒeƒ“ƒvƒŒ[ƒg’†‚ÉoŒ»‚·‚é’ljÁˆø”–¼‚ÍAŽÀsŽž‚É‚ÍAƒtƒH[ƒ}ƒbƒ^‚ɑ΂µ‚ČĂÑo‚µ‘¤‚©‚ç“n‚³‚ê‚éƒtƒH[ƒ}ƒbƒgƒeƒ“ƒvƒŒ[ƒg‚É’u‚«Š·‚¦‚ç‚ê‚éB anyLabeled‚ɑ΂µ‚ÄASMLFormat‚͂‚¬‚̃tƒH[ƒ}ƒbƒ^‚𶬂·‚éB fun format_anyLabeled (format_'a, label) x = case x of value => << label ":" format_'a(value) >> Œ^\¬ŽqT‚̃tƒH[ƒ}ƒbƒ^‚ª’ljÁˆø”‚ð‚Æ‚éê‡AT‚Ƀ}ƒbƒ`‚·‚鎯•ÊŽq‚ðƒeƒ“ƒvƒŒ[ƒg’†‚ÅŽg—p‚·‚éÛ‚É‚ÍAƒtƒH[ƒ}ƒbƒ^ˆø”‚Ƃ͕ʂÉA’ljÁˆø”‚àŽw’肵‚È‚¯‚ê‚΂Ȃç‚È‚¢B ”CˆÓ‚̃eƒ“ƒvƒŒ[ƒg‚ð’ljÁˆø”‚Å“n‚·‚±‚Æ‚ª‚Å‚«‚éB ƒtƒH[ƒ}ƒbƒ^‚ªjŒÂ‚̃tƒH[ƒ}ƒbƒ^ˆø”‚ÆkŒÂ‚̒ljÁˆø”‚ð‚Æ‚éê‡A‚‚¬‚Ì\•¶‚ðŽg—p‚·‚éB ID(inst1, ..., instj)(temp1, ..., tempk) ƒtƒH[ƒ}ƒbƒ^‚ª’ljÁˆø”‚ð‚Æ‚ç‚È‚¢ê‡AŒã‚ë‚ÌŠ‡ŒÊ‚Í•s—v‚Å‚ ‚éB ID(inst1, ..., instj) ƒtƒH[ƒ}ƒbƒ^‚ªƒtƒH[ƒ}ƒbƒ^ˆø”‚ð‚Æ‚ç‚¸A’ljÁˆø”‚ð‚Æ‚éꇂÍA ID()(temp1, ..., tempk) ‚Æ‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢B ’ˆÓFSMLFormat‚͌ĂÑo‚·ƒtƒH[ƒ}ƒbƒ^‚ÌŒ^‚ð”»’è‚Å‚«‚È‚¢‚Ì‚ÅAƒvƒƒOƒ‰ƒ}‚ªŒÄ‚Ño‚µ‘¤‚̃R[ƒhã‚ŃtƒH[ƒ}ƒbƒ^ˆø”‚ƒljÁˆø”‚ð•ʂ̊‡ŒÊ‚É•ª‚¯‚邱‚Ƃɂæ‚èA‚±‚ê‚ç‚ð‹æ•Ê‚Å‚«‚邿‚¤‚É‚·‚éB ‚½‚Æ‚¦‚ÎanyLabeled‚ðŽg—p‚·‚鑤‚͂‚¬‚̂悤‚ɒljÁˆø”‚ð“n‚·B (*% *) type intLabeled = (*% @format(num tycon) tycon(num)("INT") *) int anyLabeled ‚‚¬‚̂悤‚ȃtƒH[ƒ}ƒbƒ^‚ª¶¬‚³‚ê‚éB fun format_intLabeled x = case x of tycon => << format_anyLabeled (format_int, "INT") tycon >> ’ˆÓFSMLFormat‚̓tƒH[ƒ}ƒbƒ^‚ª—v‹‚·‚é’ljÁˆø”‚ªƒeƒ“ƒvƒŒ[ƒg’†‚ÅŽw’肳‚ê‚Ä‚¢‚È‚­‚Ä‚àƒGƒ‰[‚Æ‚µ‚È‚¢BSMLFormat‚ª¶¬‚µ‚½ƒR[ƒh‚ðƒRƒ“ƒpƒCƒ‹‚·‚éۂɃGƒ‰[‚ƂȂé‚Í‚¸‚Å‚ ‚éB ==================== 4.5. Œ`Ž®“I’è‹` ‚±‚±‚ÅA‚±‚ê‚܂łÉà–¾‚µ‚½ƒtƒH[ƒ}ƒbƒ^¶¬‚ÌŒ`Ž®“I‚È’è‹`‚ðŽ¦‚·B ========== 4.5.1. ŠÂ‹« ƒtƒH[ƒ}ƒbƒ^ŠÂ‹« F ‚ðŒ^\¬Žq–¼‚©‚çƒtƒH[ƒ}ƒbƒ^ŠÖ”–¼‚ւ̃}ƒbƒv‚Æ‚·‚éBi'int'‚â'string'‚Ȃǂ͈ø”ƒ[ƒŒÂ‚ÌŒ^\¬Žq‚Ƃ݂Ȃ·Bj Œ^ŠÂ‹« T ‚ðŽ¯•ÊŽq‚©‚çŒ^‚ւ̃}ƒbƒv‚Æ‚·‚éB ’ljÁˆø”W‡ P ‚ð’ljÁˆø”–¼‚ÌW‡‚Æ‚·‚éB ========== 4.5.2. ƒtƒH[ƒ}ƒbƒgƒeƒ“ƒvƒŒ[ƒg•ÏŠ· F,T,P‚Ì‚à‚Æ‚ŃtƒH[ƒ}ƒbƒgƒeƒ“ƒvƒŒ[ƒgtemp ‚©‚çƒtƒH[ƒ}ƒbƒgŽ®‚ÆSMLŽ®‚̬¬exp ‚𓾂邱‚Æ‚ð‚‚¬‚̂悤‚É‘‚­B F,T,P | temp ==> exp Šeƒeƒ“ƒvƒŒ[ƒg‚ɑ΂·‚é‹K‘¥‚ðˆÈ‰º‚ÉŽ¦‚·B (STRING) F,T,P | "string" ==> "string" (INDICATOR) F,T,P | sp ==> sp (INDSTART) F,T,P | ind[ ==> ind[ (INDEND) F,T,P | ] ==> ] (SEQ) F,T,P | templ1 ==> exp1 F,T,P | templ2 ==> exp2 -------------------------------------------------- F,T,P | templ1 templ2 ==> exp1 exp2 (GUARD) F,T,P | temp ==> exp --------------------------- F,T,P | { temp } ==> { exp } (INST1) T(ID) = (t1,...,tj) t T(ID1) = t1 ... T(IDj) = tj F(t) = f F(t1) = f1 ... F(tj) = fj F,T,P | temp1 ==> exp1 : F,T,P | tempk ==> expk ------------------------------------------------------- F,| ID(ID1,...,IDj)(temp1,..., tempk) T,| ==> P | f(f1, ..., fj, exp1, ... , expk)(ID) i‚±‚Ì‹K‘¥‚Ŷ¬‚³‚ê‚é‚Ì‚ÍSML‚ÌŠÖ”“K—pŽ®‚Å‚ ‚éBj (INST2) T(ID) = t F(t) = f -------------------------- F,T,P | ID ==> f(ID) i‚±‚Ì‹K‘¥‚Ŷ¬‚³‚ê‚é‚Ì‚ÍSML‚ÌŠÖ”“K—pŽ®‚Å‚ ‚éBj (INST3) P = P'+{ID} --------------------- F,T,P | ID ==> ID i‚±‚Ì‹K‘¥‚Ŷ¬‚³‚ê‚é‚Ì‚ÍSML‚Ì•Ï”Ž®‚Å‚ ‚éBj ========== 4.5.3. ƒtƒH[ƒ}ƒbƒ^–{‘̶̂¬ ‚‚¬‚ÉAF,P‚Ì‚à‚Æ‚ŃtƒH[ƒ}ƒbƒgƒ^ƒO‚ƕϔ–¼ x‚¨‚æ‚ÑŒ^Ž® te‚©‚çASMLŽ®e‚𓾂é•ÏŠ·‚ð F,P | @format(typepat) template, x, te ==> e ‚Æ‘‚­B ‚±‚Ì‹K‘¥‚̈Ӗ¡‚ÍAx‚̓tƒH[ƒ}ƒbƒg‘ÎÛ‚Ì’l‚ð•ÛŽ‚·‚é•Ï”‚Å‚ ‚èAx‚ÌŒ^‚ªteAƒtƒH[ƒ}ƒbƒgƒ^ƒO‚Íte‚ɑ΂·‚鑎®‚ðŽwަ‚·‚é‚à‚̂ł ‚éB te‚ªtupleŒ^Ž®‚Ü‚½‚ÍŒ^\¬Žq“K—pŒ^Ž®‚Å‚ ‚éꇂɂ‚¢‚Ă̋K‘¥‚ðŽ¦‚·B ƒŒƒR[ƒhŒ^Ž®‚ɂ‚¢‚Ä‚ÍÈ—ª‚·‚éB 'int'‚â'string'‚Ȃǂ̊î–{Œ^‚͈ø”ƒ[ƒŒÂ‚ÌŒ^\¬Žq“K—pŒ^Ž®‚Æ‚µ‚Ĉµ‚¤B (TUPLEtype) dom(F) includes {t1,...,tj} T = {ID1:t1, ..., IDj:tj} F,T,P | temp => e ------------------------------------------------- F,| @format(ID1 * ... * IDj) temp, P | x, (t1 * ... * tj) | ==> case x of (ID1,...,IDj) => e (TYCONAPPtype) dom(F) includes {t,t1,...,tj} T = {ID:(t1,...,tj)t, ID1:t1, ..., IDj:tj} F,T,P | temp => e -------------------------------------------------- F,| @format((ID1, ..., IDj) ID) temp, P | x, (t1, ..., tj) t | ==> case x of ID => e ========== 4.5.4. ƒtƒH[ƒ}ƒbƒ^‚̶¬ ˆÈã‚ð—p‚¢‚ÄAF‚Ì‚à‚Æ‚ÅASML‚Ìtype錾‚¨‚æ‚Ñdatatype錾‚©‚çAƒtƒH[ƒ}ƒbƒ^ŠÖ”‚̃R[ƒh‚ÆV‚½‚ȃtƒH[ƒ}ƒbƒ^ŠÂ‹«F'‚𓾂éŽè‡‚ðŽŸ‚Ì‹K‘¥‚ÅŽ¦‚·B ‚±‚±‚Å‚ÍA‚ЂƂ‚̌^\¬Žq‚¾‚¯‚ªtype錾‚¨‚æ‚Ñdatatype錾‚Å’è‹`‚³‚ê‚é‚à‚̂Ƃ·‚éB i'and'‚É‚æ‚Á‚Ä•¡”‚ÌŒ^–¼‚ª˜A‘±‚µ‚Ä’è‹`‚³‚ê‚éꇂɑΉž‚·‚é‚̂͗eˆÕ‚Å‚ ‚éBj (TYPEdec) x,f1,...,fj are fresh variables F' = F+{t:format_t} F'' = F'+{'a1:f1, ..., 'aj:fj} P = {b1,...,bk} F'',P | formattag,x,t ==> e ------------------------------------------------------- F | (*% @formatparams (b1,...,bk) *) | type ('a1,...,'aj) t = | (*% formattag *) t | ==> | fun format_t(f1,...,fj,b1,...,bk) x = e, | F' (DATATYPEdec) x,x1,...,xj,f1,...,fj are fresh variables F' = F+{t:format_t} F'' = F'+{'a1:f1, ..., 'aj:fj} P = {b1, ..., bk} F'',P | formattag1,x1,t1 ==> e1 : F'',P | formattagj,xj,tj ==> ej ----------------------------------------------------- F | (*% @formatparams (b1,...,bk) *) | datatype ('a1,...,'aj) t = | (*% formattag1 *) D1 of t1 | | ... | | (*% formattagj *) Dj of tj | ==> | fun format_t(f1,...,fj,b1,...,bk) x = | case x of D1 x1 => e1 | ... | Dj xj => ej, | F' ’l\¬Žq‚ªˆø”‚ð‚Æ‚ç‚È‚¢ê‡‚ÉŠÖ‚µ‚Ä‚ÍÈ—ª‚·‚éB ==================== 4.6. •¡ŽG‚ȃpƒ^[ƒ“ ‚±‚ê‚܂łɎ¦‚µ‚½—á‚Å‚ÍAŒ^\¬Žq‚ւ̈ø”AtupleŒ^Ž®‚⃌ƒR[ƒhŒ^Ž®‚Ì—v‘f‚ÌŒ^‚Í‚¢‚¸‚ê‚à‚ЂƂ‚̎¯•ÊŽq‚݂̂©‚笂é’Pƒ‚È‚à‚̂ł ‚Á‚½B SMLFormat‚ÍA‚æ‚è•¡ŽG‚ÈŒ^Ž®‚ðˆµ‚¤‚±‚Æ‚à‚Å‚«‚éB ========== 4.6.1. ƒlƒXƒg‚µ‚½Œ^Ž®‚ɑ΂·‚éƒpƒ^[ƒ“ ‚Ü‚¸AƒlƒXƒg‚µ‚½Œ^\¬Žq“K—pŒ^Ž®A‚‚܂èŒ^\¬Žq‚̈ø”‚ª‚³‚ç‚ÉŒ^\¬Žq“K—pŽ®‚Å‚ ‚éŒ^Ž®‚ɑ΂·‚éƒtƒH[ƒ}ƒbƒ^‚à’è‹`‚Å‚«‚éB (*% *) type maybeLabeledInt = (*% * @format(num may any) any(may(num))("INT") *) int maybe anyLabeled maybeLabeledInt‚̃tƒH[ƒ}ƒbƒ^‚͂‚¬‚̂Ƃ¨‚èB fun format_maybeLabledInt x = case x of any => << format_anyLabeled (format_maybe format_int, "INT") any >> tupleŒ^Ž®‚¨‚æ‚уŒƒR[ƒhŒ^Ž®‚Ì—v‘f‚ªAtupleŒ^Ž®‚ ‚é‚¢‚̓ŒƒR[ƒhŒ^Ž®AŒ^\¬Žq“K—pŒ^Ž®‚Å‚ ‚éꇂàƒtƒH[ƒ}ƒbƒ^‚ð’è‹`‰Â”\‚Å‚ ‚éB ‚‚¬‚ÌmaybeRange‚ÍAƒŒƒR[ƒhŒ^Ž®‚Ì—v‘f‚ÉŒ^\¬Žq“K—pŒ^Ž®‚ªŒ»‚ê‚é—á‚Å‚ ‚éB (*% *) type maybeRange = (*% * @format({min : min minMaybe, max : max maxMaybe}) * minMaybe(min) "<->" maxMaybe(max) *) {min : int maybe, max : int maybe} fun format_maybeRange x = case x of {min = minMaybe, max = maxMaybe} => << (format_maybe format_int minMaybe) "<->" (format_maybe format_int maxMaybe) >> ========== 4.6.2. •¡‡Œ^Ž®‚ÆŽ¯•ÊŽq‚Ƃ̃}ƒbƒ` ‚±‚ê‚܂ł̗á‚Å‚ÍAƒ^ƒCƒvƒpƒ^[ƒ“’†‚ÌŽ¯•ÊŽq‚ÍAƇ‘ÎÛ‚ÌŒ^Ž®’†‚Ìint‚âstring‚Ȃǂ̒PƒŒ^‚âmaybe‚Ȃǂ̌^\¬Žq–¼‚Ƃ̂݃}ƒbƒ`‚µ‚Ä‚¢‚½B ƒtƒH[ƒ}ƒbƒgƒeƒ“ƒvƒŒ[ƒg‚Ì\•¶‚Å‚ÍAޝ•ÊŽq‚ɃŒƒR[ƒhŒ^Ž®‚âŒ^\¬Žq“K—pŒ^Ž®‚ȂǕ¡‡Œ^Ž®‚ªƒ}ƒbƒ`‚µ‚½ê‡‚ÉA‚»‚̃tƒH[ƒ}ƒbƒg•û–@‚ð‹Lq‚·‚邱‚Æ‚ª‚Å‚«‚È‚¢B —á‚Æ‚µ‚ÄA‚‚¬‚Ìtype錾‚ɑ΂µ‚ătƒH[ƒ}ƒbƒ^‚ð’è‹`‚·‚邱‚Æ‚ðl‚¦‚éB (*% *) type labeledRange = (*% * @format(range any) any(range) <== ??? *) {min : int, max : int} anyLabeled ޝ•ÊŽqrange‚ɃŒƒR[ƒhŒ^Ž®‚ªƒ}ƒbƒ`‚·‚邪A‚±‚̃ŒƒR[ƒhŒ^‚Ì’l‚ɑ΂·‚éƒtƒH[ƒ}ƒbƒg•û–@‚ð‹Lq‚µA‚»‚ê‚ðanyLabeled‚̃tƒH[ƒ}ƒbƒ^‚É“n‚·Žè’i‚ª‚È‚¢B ‚±‚̧–ñ‚ð‰ñ”ð‚·‚é•û–@‚Æ‚µ‚Ä‚ÍA‚‚¬‚̂悤‚É•¡”‚Ìtype/datatype錾‚É•ªŠ„‚·‚邱‚Æ‚ªl‚¦‚ç‚ê‚éB type range = {min : int, max : int} type labeledRange = range anyLabeled ‚µ‚©‚µA‚±‚Ì•û–@‚͔ώG‚Å‚ ‚éB ========== 4.6.3. ƒ[ƒJƒ‹ƒtƒH[ƒ}ƒbƒgƒ^ƒO ã‹L‚Ì–â‘è‚ɑ΂µ‚ÄASMLFormat‚Å‚ÍA•¡‡Œ^Ž®‚Ƀ}ƒbƒ`‚·‚鎯•ÊŽq‚ðA‚»‚Ì•¡‡Œ^Ž®‚ɑ΂µ‚Ĉꎞ“I‚É—^‚¦‚ç‚ꂽŒ^–¼‚Æ‚µ‚Ĉµ‚¢A‚»‚ÌŒ^‚ɑ΂·‚éƒtƒH[ƒ}ƒbƒgŽw’è‚ðA’è‹`Œ^Ž®ƒRƒƒ“ƒg’†‚̕ʂ̃tƒH[ƒ}ƒbƒgƒ^ƒO‚Å’è‹`‚Å‚«‚邿‚¤‚É‚µ‚Ä‚¢‚éB ‚±‚̃tƒH[ƒ}ƒbƒgƒ^ƒO‚ðAƒ[ƒJƒ‹‚ÉŒ^‚ð錾‚µA‚»‚ê‚ɑ΂·‚éƒtƒH[ƒ}ƒbƒg‚ð‹Lq‚·‚邯‚¢‚¤ˆÓ–¡‚ÅAƒ[ƒJƒ‹ƒtƒH[ƒ}ƒbƒgƒ^ƒO‚ƌĂÔB ƒ[ƒJƒ‹ƒtƒH[ƒ}ƒbƒgƒ^ƒO‚ɑ΂µ‚ÄA’è‹`Œ^Ž®‚ɑ΂·‚éƒtƒH[ƒ}ƒbƒgƒ^ƒO‚ðƒvƒ‰ƒCƒ}ƒŠƒtƒH[ƒ}ƒbƒgƒ^ƒO‚ƌĂÔB ƒ[ƒJƒ‹ƒtƒH[ƒ}ƒbƒgƒ^ƒO‚ÍA "@format:"ID "(" typepat ")" template ... template ‚Æ‚¢‚¤Œ`Ž®‚Å‹Lq‚·‚éBi"@format:"‚ÆID‚ÌŠÔ‚É‚Í‹ó”’‚ð‹²‚ñ‚ł͂Ȃç‚È‚¢Bj ƒ[ƒJƒ‹ƒtƒH[ƒ}ƒbƒgƒ^ƒO‚ð—p‚¢‚ÄA‚³‚«‚Ù‚Ç‚ÌlabeledRange‚ɑ΂µ‚ÄA‚‚¬‚̂悤‚ɃtƒH[ƒ}ƒbƒgƒRƒƒ“ƒg‚ð‹Lq‚Å‚«‚éB (*% *) type labeledRange = (*% * @format(range any) any(range)("Range:") * @format:range({min : min, max : max}) * "(min =" + min "," + "max =" + max ")" *) {min : int, max : int} anyLabeled SMLFormat‚ÍAƒvƒ‰ƒCƒ}ƒŠƒtƒH[ƒ}ƒbƒgƒ^ƒO‚̃^ƒCƒvƒpƒ^[ƒ“ range any ‚Æ’è‹`Œ^Ž® {min : int, max : int} anyLabeled ‚Ƃ̃pƒ^[ƒ“ƒ}ƒbƒ`‚©‚çAޝ•ÊŽqrange‚ªŒ^{min : int, max : int}‚ð‚à‚‚Ɣ»’è‚·‚éB ‚Ü‚½A‚»‚̉º‚̃[ƒJƒ‹ƒtƒH[ƒ}ƒbƒgƒ^ƒO‚ÍAޝ•ÊŽqrange‚ðAƒ^ƒCƒvƒpƒ^[ƒ“ {min : min, max : max} ‚ƃ}ƒbƒ`‚·‚éŒ^Ž®‚ðŽw‚·–¼‘O‚Æ‚µ‚Ĉµ‚¤‚±‚Æ‚ðŽwަ‚·‚éB SMLFormat‚ÍA‚±‚ê‚ç‚𑇂µ‚ÄAƒ[ƒJƒ‹‚Ɉȉº‚̂悤‚É錾‚³‚ꂽ‚à‚̂Ƃ݂Ȃ·B type range = {min : int, max : int} ‚»‚µ‚ÄAƒvƒ‰ƒCƒ}ƒŠƒtƒH[ƒ}ƒbƒgƒ^ƒO’†‚ÌŽ¯•ÊŽqrange‚ªrangeŒ^‚ð‚à‚‚à‚̂Ƃµ‚Ĉµ‚¢ArangeŒ^‚ɑ΂·‚éƒtƒH[ƒ}ƒbƒ^‚ðƒ[ƒJƒ‹ƒtƒH[ƒ}ƒbƒgƒ^ƒO‚©‚綬‚·‚éB SMLFormat‚ÍA‚±‚̃tƒH[ƒ}ƒbƒgƒRƒƒ“ƒg‚©‚ç‚‚¬‚̃tƒH[ƒ}ƒbƒ^ŠÖ”‚𶬂·‚éB fun format_labeledRange x = let fun format_range x = case x of {min = min, max = max} => << "(min =" + format_int(min) "," + "max =" + format_int(max) ")" >> in case x of any => format_anyLabeled (format_range, "Range:") any end “¯—l‚ÉA‚‚¬‚ÌtreeŒ^‚É‚àƒ[ƒJƒ‹ƒtƒH[ƒ}ƒbƒgƒ^ƒO‚ðŽg—p‚µ‚ătƒH[ƒ}ƒbƒgƒRƒƒ“ƒg‚ð‹Lq‚·‚邱‚Æ‚ª‚Å‚«‚éB (*% *) datatype tree = (*% @format(num) num *) Leaf of int | (*% * @format(child children) "{" children(child)(", ") "}" * @format:child({child, label}) label "=" child *) Node of {child : tree, label : string} list ‚‚¬‚̃tƒH[ƒ}ƒbƒ^‚ª¶¬‚³‚ê‚éB fun format_tree x = case x of Leaf x => case x of num => << (format_int num) >> | Node x => let fun format_child x = case x of {child, label} => << (format_string label) "=" (format_tree child) >> in case x of children => << "{" (format_list(format_child, ", ") children) "}" >> end ƒlƒXƒg‚µ‚½Œ^\¬Žq“K—pŒ^Ž®‚ɂ‚¢‚Ä‚à“¯—l‚Ƀ[ƒJƒ‹ƒtƒH[ƒ}ƒbƒgƒ^ƒO‚ðŽg—p‚·‚邱‚Æ‚ª‚Å‚«‚éBæ‚Ù‚Ç‚ÌmaybeLabeledInt‚ðˆÈ‰º‚̂悤‚É‘‚«’¼‚·‚±‚Æ‚ª‚Å‚«‚éB (*% *) type maybeLabeledInt = (*% * @format(maybeNum any) any(maybeNum)("INT") * @format:maybeNum(num may) may(num) *) int maybe anyLabeled ‚‚¬‚̃tƒH[ƒ}ƒbƒ^‚ª¶¬‚³‚ê‚éB fun format_maybeLabledInt x = case x of any => let fun format_maybeNum x = case x of may => format_maybe format_int may in << format_anyLabeled (format_maybeNum, "INT") any >> end ’ˆÓFƒtƒH[ƒ}ƒbƒgƒ^ƒO‚ÍA•À‚ׂ釘‚ÉŠÖ‚µ‚¬‚̧–ñ‚É‚µ‚½‚ª‚í‚È‚¯‚ê‚΂Ȃç‚È‚¢B ‚ ‚é’è‹`Œ^Ž®‚ɑ΂·‚éƒtƒH[ƒ}ƒbƒgƒRƒƒ“ƒg‚ÅAƒtƒH[ƒ}ƒbƒgƒ^ƒO‚ª @format( typepat0 ) ... @format:ID1( typepat1 ) ... : @format:IDk( typepatk ) ... ‚̇‚É•À‚ñ‚Å‚¢‚邯‚«AIDi (1 <= i <= k)‚ÍAtypepat0 ... typepat(i-1)‚Ì‚¢‚¸‚ê‚©‚ÉoŒ»‚µ‚ĂȂ¯‚ê‚΂Ȃç‚È‚¢B ‚Æ‚­‚ÉAƒvƒ‰ƒCƒ}ƒŠƒtƒH[ƒ}ƒbƒgƒ^ƒO‚ðƒ[ƒJƒ‹ƒtƒH[ƒ}ƒbƒgƒ^ƒO‚æ‚èæ‚É‹Lq‚·‚邱‚Æ‚ª•K—v‚Å‚ ‚éB ==================== 4.7. ƒJƒXƒ^ƒ€ƒtƒH[ƒ}ƒbƒ^ ƒtƒH[ƒ}ƒbƒgƒRƒƒ“ƒg‚ÍA‚»‚ꂼ‚ê‚Ìtype/datatype錾‚ɂ‚¢‚Ĉê‰ñ‚µ‚©‹Lq‚Å‚«‚È‚¢B‚Ü‚½Aint‚âstring‚ȂǃVƒXƒeƒ€‚⃉ƒCƒuƒ‰ƒŠ‚Å’è‹`‚³‚ê‚Ä‚¢‚éŒ^‚ɑ΂µ‚ătƒH[ƒ}ƒbƒgƒRƒƒ“ƒg‚ð‹Lq‚·‚邱‚Æ‚à‚Å‚«‚È‚¢B SMLFormat‚ÍA‚ ‚éŒ^‚ɑ΂µ‚Ä‚·‚łɒè‹`‚³‚ê‚Ä‚¢‚éƒtƒH[ƒ}ƒbƒ^‚ɑւ¦‚ĕʂ̃tƒH[ƒ}ƒbƒ^‚ðŽg—p‚µ‚½‚èAƒVƒXƒeƒ€‚⃉ƒCƒuƒ‰ƒŠ‚ȂǂŒè‹`‚³‚ê‚Ä‚¢‚éŒ^‚ɑ΂·‚éƒtƒH[ƒ}ƒbƒ^‚ðŽw’è‚·‚éŽè’i‚ð—pˆÓ‚µ‚Ä‚¢‚éB‚±‚ê‚ðƒJƒXƒ^ƒ€ƒtƒH[ƒ}ƒbƒ^‚ƌĂÔB ‚½‚Æ‚¦‚ÎAword’l‚ð2i•\‹L‚ŃtƒH[ƒ}ƒbƒg‚·‚éƒtƒH[ƒ}ƒbƒ^‚ðMyFormattersƒXƒgƒ‰ƒNƒ`ƒƒ‚É’è‹`‚µABasicFormatters.format_word‚ɑւ¦‚Ĉꕔ‚Å‚±‚ê‚ðŽg—p‚µ‚½‚¢‚Æ‚·‚éB fun myformat_binary x = << "0b" (Word.fmt StringCvt.BIN x) >> ‚ ‚étype/datatype錾‚̃tƒH[ƒ}ƒbƒgƒRƒƒ“ƒg’†‚ŃJƒXƒ^ƒ€ƒtƒH[ƒ}ƒbƒ^‚ðŽg—p‚·‚é‚É‚ÍA錾ƒwƒbƒ_ƒRƒƒ“ƒg’†‚ɂ‚¬‚̃^ƒO‚ð—p‚¢‚ÄŽw’è‚·‚éB @formatter(ID) qid ‚±‚̃^ƒO‚ÍAID‚ð‹[Ž—“I‚ÈŒ^–¼‚Æ‚µ‚Ä錾‚µA‚±‚ÌŒ^‚ɑ΂·‚éƒtƒH[ƒ}ƒbƒ^‚Æ‚µ‚Äqid‚ªŽw‚·ŠÖ”‚ðŽg—p‚·‚邱‚Æ‚ðŽwަ‚·‚éB ‚È‚¨Aqid‚͂‚¬‚̶¬‹K‘¥‚É‚µ‚½‚ª‚¤B qid ::= ID | ID "." qid ‚»‚µ‚ÄA’è‹`Œ^Ž®ƒRƒƒ“ƒg’†‚ÅAޝ•ÊŽq‚ɑ΂µ‚ÄŽg—p‚·‚éƒJƒXƒ^ƒ€ƒtƒH[ƒ}ƒbƒ^‚ðŽw’è‚·‚éBƒ^ƒCƒvƒpƒ^[ƒ“’†‚ÅŽw’è‚·‚é•û–@‚ÆAƒeƒ“ƒvƒŒ[ƒg’†‚ÅŽw’è‚·‚é•û–@‚Ì“ñ’Ê‚è‚ÅŽw’è‚Å‚«‚éB —á‚ðŽ¦‚·B (*% * @formatter(binary) MyFormatters.myformat_binary *) type file = (*% * @format({name, flags : flags:binary}) * "{name=" name "," + "flags=" flags "}" *) {name : string, flags : word} ‚ ‚é‚¢‚͂‚¬‚̂悤‚É‚à‘‚¯‚éB (*% * @formatter(binary) MyFormatters.myformat_binary *) type file = (*% * @format({name, flags}) * "{name=" name "," + "flags=" flags:binary "}" *) {name : string, flags : word} ‚±‚ÌfileŒ^‚ɑ΂µ‚ÄA‚‚¬‚̃tƒH[ƒ}ƒbƒ^‚ª¶¬‚³‚ê‚éB fun format_file x = case x of {name, flags} => << "{name=" (format_string name) "," + "flags=" (MyFormatters.myformat_binary flags) "}" >> ==================== 4.8. Œ`Ž®“I’è‹` ƒlƒXƒg‚µ‚½ƒ^ƒCƒvƒpƒ^[ƒ“Aƒ[ƒJƒ‹ƒtƒH[ƒ}ƒbƒgƒ^ƒOAƒJƒXƒ^ƒ€ƒtƒH[ƒ}ƒbƒ^‚ðƒTƒ|[ƒg‚·‚邽‚ßAŒ`Ž®“I’è‹`‚ðŠg’£‚·‚éB ========== 4.8.1. ƒpƒ^[ƒ“ƒ}ƒbƒ` ‚Ü‚¸AŒ^Ž®t‚ƃ^ƒCƒvƒpƒ^[ƒ“tp‚©‚çŒ^ŠÂ‹«T‚𓾂é‹K‘¥ t <=> tp ==> T ‚ð’è‹`‚·‚éB (IDmatch) t <=> ID ==> {ID:t} (TypedIDmatch) t <=> ID1 : ID2 ==> {ID1:ID2} (TYCONAPPmatch) t1 <=> p1 ==> T1 ... tj <=> pj ==> Tj ---------------------------------------- (t1, ..., tj) t <=> (p1, ..., pj) ID ==> T1+...+Tj+{ID:(t1, ..., tj) t} (TypedTYCONAPPmatch) t1 <=> p1 ==> T1 ... tj <=> pj ==> Tj ---------------------------------------- (t1, ..., tj) t <=> (p1, ..., pj) ID1 : ID2 ==> T1+...+Tj+{ID1:(t1, ..., tj) ID2} (TUPLEmatch) t1 <=> p1 ==> T1 ... tj <=> pj ==> Tj ------------------------------------------- (t1, ..., tj) <=> (p1,... pj) ==> T1+...+Tj ========== 4.8.2. SMLƒpƒ^[ƒ“‚̶¬ ‚‚¬‚ÉAƒ^ƒCƒvƒpƒ^[ƒ“typat‚©‚çASML‚̃pƒ^[ƒ“expat‚𓾂é‹K‘¥ typat --> expat ‚ðŽ¦‚·B (IDpat) ID --> ID (TypedIDpat) ID1 : ID2 --> ID1 (TYCONAPPpat) (tp, ..., tp) ID --> ID (TypedTYCONAPPpat) (tp, ..., tp) ID1 : ID2 --> ID1 (TUPLEpat) tp1 --> pat1 ... tpj --> patj ---------------------------------------- (tp1 * ... * tpj) --> (pat1, ..., patj) ========== 4.8.3. ƒtƒH[ƒ}ƒbƒgƒeƒ“ƒvƒŒ[ƒg•ÏŠ· INST1‚ðC³‚·‚邯‚Æ‚à‚ÉATypedINST1ATypedINST2‚ð’ljÁ‚·‚éB (INST1) T(ID) = (t1,...,tj) t F(t) = f F,T,P | inst1 ARG==> f1 : F,T,P | instj ARG==> fj F,T,P | temp1 ==> exp1 : F,T,P | tempk ==> expk ----------------------------------------------- F,| ID(inst1,...,instj)(temp1,..., tempk) T,| ==> P | f(f1, ..., fj, exp1, ... , expk)(ID) (TypedINST1) F(ID2) = f F,T,P | inst1 ARG==> f1 : F,T,P | instj ARG==> fj F,T,P | temp1 ==> exp1 : F,T,P | tempk ==> expk ----------------------------------------------- F,| ID1:ID2(inst1,...,instj)(temp1,..., tempk) T,| ==> P | f(f1, ..., fj, exp1, ... , expk)(ID1) (TypedINST2) F(ID2) = f -------------------------- F,T,P | ID1:ID2 ==> f(ID1) INST1‚ÆTypedINST1‚ÍAƒeƒ“ƒvƒŒ[ƒgƒCƒ“ƒXƒ^ƒ“ƒVƒG[ƒVƒ‡ƒ“‚©‚çƒtƒH[ƒ}ƒbƒ^ŠÖ”–¼‚ւ̕ϊ· F,T,P | inst ARG==> formatter ‚ð—p‚¢‚éB‚±‚̕ϊ·‚͂‚¬‚ÌŽl‹K‘¥‚©‚笂éB (INST1-ARG) T(ID) = (t1,...,tj) t F(t) = f F,T,P | inst1 ARG==> f1 : F,T,P | instj ARG==> fj F,T,P | temp1 ==> exp1 : F,T,P | tempk ==> expk -------------------------------------------- F,| ID(inst1,...,instj)(temp1,..., tempk) T,| ARG==> P | f(f1, ..., fj, exp1, ... , expk) (TypedINST1-ARG) F(ID2) = f F,T,P | inst1 ARG==> f1 : F,T,P | instj ARG==> fj F,T,P | temp1 ==> exp1 : F,T,P | tempk ==> expk ----------------------------------------------- F,| ID1:ID2(inst1,...,instj)(temp1,..., tempk) T,| ARG==> P | f(f1, ..., fj, exp1, ... , expk) (INST2-ARG) T(ID) = t F(t) = f --------------------- F,T,P | ID ARG==> f (TypedINST2-ARG) F(ID2) = f ------------------------------- F,T,P | ID1:ID2 ARG==> f(ID1) ========== 4.8.4. ƒtƒH[ƒ}ƒbƒ^–{‘̶̂¬ ˆÈã‚ð—p‚¢‚邯A‘O‚ÉŽ¦‚µ‚½(TUPLEtype)‚Æ(TYCONAPPtype)‚͂‚¬‚Ì‹K‘¥‚É“‡‚Å‚«‚éB (TYPEtype) t <=> typepat ==> T T(ID1) <=> typepat1 ==> T1 (T+T1)(ID2) <=> typepat2 ==> T2 : (T+T1+...+Tj-1)(IDj) <=> typepatj ==> Tj Fj = F (* register formatters for alias type *) Fj-1 = Fj+{IDj:fj} : F1 = F2+{ID2:f2} F0 = F1+{ID1:f1} T' = T+{ID1:ID1,...,IDj:IDj} (* overwrites entries for alias type *) T1' = T1+{ID2:ID2,...,IDj:IDj} : Tj' = Tj F0,T',P | templates ==> exp (* generate exps for templates *) F1,T1',P | templates1 ==> exp1 : Fj,Tj',P | templatesj ==> expj typepat --> pat typepat1 --> pat1 : typepatj --> patj ----------------------------------------------------- F, | @format(typepat) templates P | @format:ID1(typepat1) templates1 | : | @format:IDj(typepatj) templatesj | x, t | | ==> | | case x of pat => let fun fj patj = expj | : | fun f1 pat1 = exp1 | in exp end ========== 4.8.5. ƒtƒH[ƒ}ƒbƒ^‚̶¬ TYPEdec‚ÆDATATYPEdec‚ðA錾ƒwƒbƒ_ƒRƒƒ“ƒg‚ł̃JƒXƒ^ƒ€ƒtƒH[ƒ}ƒbƒ^ƒ^ƒO‚ɑΉž‚µ‚ÄŠg’£‚·‚éB TYPEdec,DATATYPEdec‚Ì‚¢‚¸‚ê‚àA’è‹`Œ^Ž®‚ɑ΂·‚éƒtƒH[ƒ}ƒbƒ^ƒR[ƒh‚𶬂·‚éÛ‚ÉŽg—p‚·‚éƒtƒH[ƒ}ƒbƒ^ŠÂ‹«‚ÉAƒJƒXƒ^ƒ€ƒtƒH[ƒ}ƒbƒ^ƒ^ƒO‚ÅŽw’肳‚ꂽƒtƒH[ƒ}ƒbƒ^‚ð‰Á‚¦‚éB (TYPEdec) x,f1,...,fj are fresh names F' = F+{t:format_t} F'' = F'+{'a1:f1, ..., 'aj:fj}+{ID1:qid1, ..., IDn:qidn} P = {b1,...,bk} F'',P | formattag,x,t ==> e ------------------------------------------------------- F | (*% | @formatparams (b1,...,bk) | @formatter(ID1) qid1 | : | @formatter(IDn) qidn | *) | type ('a1,...,'aj) t = | (*% formattag *) t | ==> | fun format_t(f1,...,fj,b1,...,bk) x = e, | F' (DATATYPEdec) x,x1,...,xj,f1,...,fj are fresh names F' = F+{t:format_t} F'' = F'+{'a1:f1, ..., 'aj:fj}+{ID1:qid1, ..., IDn:qidn} P = {b1, ..., bk} F'',P | formattag1,x1,t1 ==> e1 : F'',P | formattagj,xj,tj ==> ej ----------------------------------------------------- F | (*% | @formatparams (b1,...,bk) | @formatter(ID1) qid1 | : | @formatter(IDn) qidn | *) | datatype ('a1,...,'aj) t = | (*% formattag1 *) D1 of t1 | | ... | | (*% formattagj *) Dj of tj | ==> | fun format_t(f1,...,fj,b1,...,bk) x = | case x of D1 x1 => e1 | ... | Dj xj => ej, | F' ==================== 4.9. ƒfƒtƒHƒ‹ƒgƒtƒH[ƒ}ƒbƒgƒ^ƒO¶¬ Œ^錾ƒwƒbƒ_ƒRƒƒ“ƒg‚ªŽw’肳‚ê‚Ä‚¢‚é‚É‚à‚©‚©‚í‚炸A‚ ‚é’è‹`Œ^Ž®‚É’è‹`Œ^Ž®ƒRƒƒ“ƒg‚ªŽw’肳‚ê‚Ä‚¢‚È‚¢ê‡ASMLFormat‚Í‚»‚Ì’è‹`Œ^Ž®‚ɑ΂µ‚ătƒH[ƒ}ƒbƒgƒ^ƒO‚ðŽ©“®¶¬‚·‚éB‚±‚ê‚ðƒfƒtƒHƒ‹ƒgƒtƒH[ƒ}ƒbƒgƒ^ƒO‚ƌĂÔB‚»‚µ‚ÄA‚»‚̃^ƒO‚ð‚à‚Æ‚ÉAƒvƒƒOƒ‰ƒ}‚ª–¾Ž¦“I‚Ƀ^ƒO‚ðŽw’肵‚½ê‡‚Æ“¯—l‚ÉAƒtƒH[ƒ}ƒbƒ^ƒR[ƒh‚𶬂·‚éB ‚½‚Æ‚¦‚ÎA‚‚¬‚̂悤‚ÉŒ^\¬Žqmaybe‚ª’è‹`‚³‚ê‚Ä‚¢‚éê‡ (*% *) datatype 'a maybe = Something of 'a | (*% @format "none" *) Nothing SMLFormat‚ÍA’l\¬ŽqSomething‚ɑ΂µ‚¬‚̂悤‚ȃfƒtƒHƒ‹ƒgƒtƒH[ƒ}ƒbƒgƒ^ƒO‚𶬂µ‚½‚¤‚¦‚ŃtƒH[ƒ}ƒbƒ^ƒR[ƒh‚𶬂·‚éB (*% *) datatype 'a maybe = (*% @format(x1) {"Something" + {x1}} *) Something of 'a | (*% @format "none" *) Nothing ƒfƒtƒHƒ‹ƒgƒtƒH[ƒ}ƒbƒgƒ^ƒO‚É‚æ‚Á‚ͬ‚³‚ê‚éƒtƒH[ƒ}ƒbƒ^‚ÍAƒtƒH[ƒ}ƒbƒg‘ÎÛ‚Ì’l‚ðASML‚̃\[ƒXƒR[ƒhã‚Å‹Lq‚·‚éꇂƓ¯—l‚ÌŒ`Ž®‚ɃtƒH[ƒ}ƒbƒg‚·‚éB ‚½‚Æ‚¦‚Î {name : string, age : int} Œ^‚Ì’l {name = "YAMADA", age = 20} ‚ð {name = "YAMADA", age = 20} ‚Æo—Í‚µAint listŒ^‚Ì’l [1, 3, 5] ‚ð [1, 3, 5] ‚Æo—Í‚·‚éB ƒfƒtƒHƒ‹ƒgƒtƒH[ƒ}ƒbƒgƒ^ƒO‚̶¬‹K‘¥‚ðˆÈ‰º‚ÉŽ¦‚·B ‚±‚Ì‹K‘¥‚ÍAŒ^Ž®t‚©‚çA‚ЂƂ‚̃vƒ‰ƒCƒ}ƒŠƒtƒH[ƒ}ƒbƒgƒ^ƒO‚ÆjŒÂ‚̃[ƒJƒ‹ƒtƒH[ƒ}ƒbƒgƒ^ƒO‚ÌƒŠƒXƒg‚𶬂·‚邱‚Æ‚ð t => (typat, temps), {(id1, typat1, temps1), ..., (idj, typatj, tempsj)} ‚̂悤‚É•\‹L‚·‚éB ƒvƒ‰ƒCƒ}ƒŠƒ^ƒO‚̓^ƒCƒvƒpƒ^[ƒ“typat‚ƃeƒ“ƒvƒŒ[ƒg—ñtemps‚©‚ç\¬‚³‚ê‚éB ƒ[ƒJƒ‹ƒtƒH[ƒ}ƒbƒgƒ^ƒO‚ÍAޝ•ÊŽqAƒ^ƒCƒvƒpƒ^[ƒ“Aƒeƒ“ƒvƒŒ[ƒg—ñ‚©‚ç\¬‚³‚ê‚éB (ATOMdeftags) x is fresh name --------------- ID => (x, x), {} (TUPLEdeftags) x1,...,xj are fresh names t1 => ((typat1, temp1), L1) : tj => ((typatj, tempj), Lj) --------------------------------------------------------- t1 * ... * tj => ((x1, ..., xj), "(" x1 "," ... "," xj ")"), {(x1, typat1, temp1), ..., (xj, typatj, tempj)}+L1+...+Lj (RECORDdeftags) x1,...,xj are fresh names t1 => ((typat1, temp1), L1) : tj => ((typatj, tempj), Lj) ----------------------------------------------------------------------- {ID1:t1, ..., IDj:tj} => ({ID1=x1, ..., IDj=xj}, "{" "ID1" "=" x1 "," ... "," "IDj" "=" xj "}"), {(x1, typat1, temp1), ..., (xj, typatj, tempj)}+L1+...+Lj (TYCONAPPdeftags) x1,...,xj are fresh names t1 => ((typat1, temp1), L1) : tj => ((typatj, tempj), Lj) --------------------------------------------------------- (t1, ..., tj) ID => ((x1, ..., xj) x, x(x1, ..., xj)), {(x1, typat1, temp1), ..., (xj, typatj, tempj)}+L1+...+Lj t‚ªList.list‚ð“K—p‚·‚éŒ^\¬Žq“K—pŒ^Ž®‚Å‚ ‚éꇂÍA’ljÁˆø”‚ðlist—p‚̃tƒH[ƒ}ƒbƒ^(BasicFormatters.format_list)‚É“n‚·•K—v‚ª‚ ‚é‚̂ŋK‘¥‚ð•Ê‚ÉÝ‚¯‚éB (listAPPdeftags) x1,...,xj are fresh names t1 => ((typat1, temp1), L1) : tj => ((typatj, tempj), Lj) --------------------------------------------------------- (t1, ..., tj) list => ((x1, ..., xj) x, "[" x(x1, ..., xj)(",") "]"), {(x1, typat1, temp1), ..., (xj, typatj, tempj)}+L1+...+Lj t‚ªArray.array‚âVector.vector‚ð“K—p‚·‚éŒ^\¬Žq“K—pŒ^Ž®‚Å‚ ‚éê‡‚à“¯—l‚Å‚ ‚éB t‚ªŠÖ”Œ^‚Å‚ ‚éꇂÍA’l‚ðƒpƒ^[ƒ“ƒ}ƒbƒ`‚É‚æ‚Á‚Ä‚»‚êˆÈã‰ðÍ‚·‚邱‚Æ‚ª‚Å‚«‚È‚¢‚Ì‚ÅAŒÅ’è‚Ì•¶Žš—ñ’蔂ðo—Í‚·‚éB (funAPPdeftags) x is a fresh name. -------------- t1 -> t2 => (x, "<>"), {} type錾’†‚Ì’è‹`Œ^Ž®‚ɂ‚¢‚Ä‚ÍAˆÈã‚Ì‹K‘¥‚Å“¾‚ç‚ê‚éƒvƒ‰ƒCƒ}ƒŠƒtƒH[ƒ}ƒbƒgƒ^ƒO‚ð‚»‚Ì‚Ü‚ÜŽg—p‚·‚éB datatype錾’†‚Ì’è‹`Œ^Ž®‚ɂ‚¢‚Ä‚ÍAˆÈã‚Ì‹K‘¥‚Å“¾‚ç‚ê‚éƒvƒ‰ƒCƒ}ƒŠƒtƒH[ƒ}ƒbƒgƒ^ƒO‚̃eƒ“ƒvƒŒ[ƒg—ñ‚Ìæ“ª‚ÉA’l\¬Žq‚Ì–¼‘O‚ð‘}“ü‚µ‚½‚¤‚¦‚ÅŽg—p‚·‚éB ==================== 4.10. Œ^錾 ========== 4.10.1. ‘ŠŒÝÄ‹A‚·‚édatatype ‚ЂƂ‚Ìdatatype錾’†‚Åand‚É‚æ‚è˜AŒ‹‚³‚ê‚Ä錾‚³‚ꂽ•¡”‚̃f[ƒ^Œ^‚ɑ΂µ‚Ä‚ÍA‘ŠŒÝŽQÆ‚·‚éƒtƒH[ƒ}ƒbƒ^ƒR[ƒh‚ª¶¬‚³‚ê‚éB ========== 4.10.2. withtype withtype‚ð—p‚¢‚½Œ^錾‚ɑ΂µ‚Ä‚àƒtƒH[ƒ}ƒbƒgƒRƒƒ“ƒg‚ð‹Lq‚Å‚«‚éB (*% *) datatype tree = (*% @format(num) num *) Leaf of int | (*% @format(child children) "{" children(child)(", ") "}" *) Node of node list withtype node = (*% @format({child, label}) label "=" child *) {child : tree, label : string} ‚‚¬‚̃tƒH[ƒ}ƒbƒ^‚ª¶¬‚³‚ê‚éB fun format_tree x = case x of Leaf x => case x of num => << (format_int num) >> | Node x => case x of children => << "{" (format_list(format_node, ", ") children) "}" >> and format_node x = case x of {child, label} => << (format_string label) "=" (format_tree child) >> ========== 4.10.3. abstype abstype‚É‚½‚¢‚µ‚Ä‚àƒtƒH[ƒ}ƒbƒgƒRƒƒ“ƒg‚ð‹Lq‚Å‚«‚éB (*% *) abstype set = (*% @format(element elements) "{" elements(element)(", ") "}" *) SET of element list withtype element = (*% @format(value) value *) string with fun create () = ... fun addTo (v, set) = ... fun isMemberOf (v, set) = ... end ‚±‚ê‚܂łɂ݂½Œ^錾‚ł̓tƒH[ƒ}ƒbƒ^ƒR[ƒh‚Í錾‚Ì’¼Œã‚ɶ¬‚³‚ê‚Ä‚¢‚½‚ªAabstype‚ɑ΂µ‚Ă̓tƒH[ƒ}ƒbƒ^ƒR[ƒh‚͂‚¬‚̂悤‚É錾“à•”‚ɶ¬‚³‚ê‚éB (*% *) abstype set = (*% @format(element elements) "{" elements(element)(", ") "}" *) SET of element list withtype element = (*% @format(value) value *) string with fun format_set x = ... and format_element x = ... fun create () = ... fun addTo (v, set) = ... fun isMemberOf (v, set) = ... end ==================== 4.10.4 datatype replication datatype s = datatype M.t ‚ÌŒ`Ž®‚Å’è‹`‚³‚ê‚éƒf[ƒ^Œ^‚ɂ‚¢‚Ä‚ÍA‚‚¬‚̂悤‚ɃtƒH[ƒ}ƒbƒ^‚ðŽw’è‚·‚éB (*% * @formatter(Absyn.region) Absyn.format_region *) datatype region = datatype Absyn.region ==================== 4.12. exception錾 —áŠO\¬Žq‚ɑ΂µ‚Ä‚àƒtƒH[ƒ}ƒbƒgƒRƒƒ“ƒg‚ð‹Lq‚Å‚«‚éB (*% *) exception (*% * @format({fileName, line : leftLine, col : leftCol} * * {line : rightLine, col : rightCol, ...} * * message) * fileName ":" leftLine "." leftCol "-" rightLine "." rightCol ":" message *) ParseError of {fileName:string, line:int, col:int} * {fileName:string, line:int, col:int} * string —áŠO\¬Žq‚ªŠg’£‰Â”\‚Å‚ ‚邽‚ßA—áŠO\¬Žq‚ɑ΂µ‚ͬ‚³‚ê‚éƒtƒH[ƒ}ƒbƒ^‚ÍAˆÈ‰º‚̂悤‚ÉAdatatype錾‚âtype錾‚ɑ΂µ‚ͬ‚³‚ê‚éƒtƒH[ƒ}ƒbƒ^‚Ƃ͈قȂéB local fun format x = case x of ParseError ( {fileName, line = leftLine, col = leftCol}, {line = rightLine, col = rightCol, ...}, message ) => << (format_string fileName) ":" (format_int leftLine) "." (format_int leftCol) "-" (format_int rightLine) "." (format_int rightCol) ":" message >> | _ => (!SMLFormat.BasicFormatters.format_exn_Ref) x val _ = SMLFormat.BasicFormatters.format_exn_Ref := format in end format_exn_Ref‚¨‚æ‚Ñformat_exn‚ÍABasicFormattersƒXƒgƒ‰ƒNƒ`ƒƒ‚ɂ‚¬‚̂悤‚É’è‹`‚³‚ê‚Ä‚¢‚éB val format_exn_Ref = ref (fn exn => let val text = General.exnMessage exn in [FE.Term (size text, text)] end) fun format_exn exn = !format_exn_Ref exn ’ˆÓ: Œ»Ý‚ÌSMLFormat‚ÌŽÀ‘•‚ÍA—áŠO錾‚ɑ΂·‚éƒtƒH[ƒ}ƒbƒ^¶¬‚ɂ‚¢‚ÄAˆÈ‰º‚Ì“ñ“_‚ÉŠÖ‚µ‚ħŒÀ‚ðÝ‚¯‚Ä‚¢‚éB 1, Œãq‚Ì"prefix"ƒ^ƒO‚ð—áŠO錾‚ɑ΂µ‚ÄŽw’è‚Å‚«‚È‚¢B 2, ŽŸ‚ÌŒ`Ž®‚Ì—áŠO’è‹`‚ɑ΂µ‚ătƒH[ƒ}ƒbƒgƒRƒƒ“ƒg‚ðŽw’è‚·‚邱‚Ƃ͂ł«‚È‚¢B exception E1 = E2 ==================== 4.12. prefixƒ^ƒO prefixƒ^ƒO‚ð—p‚¢‚邯A‚ЂƂ‚Ìtype/datatype錾‚ɑ΂µ‚Ä•¡”‚̃tƒH[ƒ}ƒbƒ^‚ðŽ©“®¶¬‚·‚邱‚Æ‚ª‚Å‚«‚éB prefixƒ^ƒO‚Í•¶Žš—ñˆê‚‚ðƒpƒ‰ƒ[ƒ^‚ÉŽæ‚éB‚±‚̃pƒ‰ƒ[ƒ^‚Ͷ¬‚³‚ê‚éƒtƒH[ƒ}ƒbƒ^‚Ì–¼‘O‚̃vƒŒƒtƒBƒNƒX‚Æ‚µ‚ÄŽg—p‚³‚ê‚éB (*% * @prefix summary *) (*% * @prefix detail *) type address = (*% * @prefix summary * @format({zip, state, city}) state *) (*% * @prefix detail * @format({zip, state, city}) * "zip=" zip ",state=" state ",city=" city *) {zip : string, state : string, city : string} ‚±‚Ìaddress‚ɑ΂µ‚ÄA‚‚¬‚Ì“ñ‚‚̃tƒH[ƒ}ƒbƒ^‚ª¶¬‚³‚ê‚éB fun summaryaddress x = case x of {zip, state, city} => << format_string state >> fun detailaddress x = case x of {zip, state, city} => << "zip=" (format_string zip) ",state=" (format_string state) ",city=" (format_string city) >> prefixƒ^ƒO‚Í–¼‘O‹óŠÔ‚ðŽw’è‚·‚éˆÓ–¡‚à‚à‚ÂB ‚ ‚éƒtƒH[ƒ}ƒbƒ^‚©‚ç‚ÍA“¯‚¶ƒvƒŒƒtƒBƒNƒX‚ðŽw’肳‚ꂽƒtƒH[ƒ}ƒbƒgƒRƒƒ“ƒg‚©‚綬‚³‚ꂽƒtƒH[ƒ}ƒbƒ^‚݂̂ðŒÄ‚Ño‚·‚±‚Æ‚ª‚Å‚«‚éB i—áŠO‚Æ‚µ‚ÄAformat_string‚âformat_int‚È‚ÇBasicFormatters‚Å錾‚³‚ê‚Ä‚¢‚éƒtƒH[ƒ}ƒbƒ^‚Í‚¢‚¸‚ê‚̃tƒH[ƒ}ƒbƒ^‚©‚ç‚àŒÄ‚Ño‚·‚±‚Æ‚ª‚Å‚«‚éBj (*% * @prefix detail *) type customer = (*% * @prefix detail * @prefix({name, address, tel}) * "name=" name ",address=" address ",tel=" tel *) {name : string, address : address, tel : string} ˆÈ‰º‚̂悤‚ÉA‚±‚Ìcustomer‚ɑ΂µ‚ͬ‚³‚ê‚éƒtƒH[ƒ}ƒbƒ^‚ÍAaddress‚ɑ΂µ‚ͬ‚³‚ꂽƒtƒH[ƒ}ƒbƒ^‚Ì‚¤‚¿Aprefix‚ðdetail‚Æ‚·‚éƒtƒH[ƒ}ƒbƒ^‚ð“à•”‚ŌĂÑo‚·B fun detailcustomer x = case x of {name, address, tel} => << "name=" (format_string name) ",address=" (detailaddress address) ",tel=" (format_string tel) >> ˆÙ‚È‚éprefix‚ðŽw’肳‚ꂽƒtƒH[ƒ}ƒbƒ^‚ðŒÄ‚Ño‚·‚É‚ÍAformatterƒ^ƒO‚ðŽg—p‚·‚éB prefixƒ^ƒO‚ªŽw’肳‚ê‚Ä‚¢‚È‚¢ê‡‚ÍA"format_"‚ªƒvƒŒƒtƒBƒNƒX‚ÉŽw’肳‚ꂽ‚à‚̂Ƃ݂Ȃ·B datatype‚ɂ‚¢‚Ä‚à“¯—l‚Éprefixƒ^ƒO‚ð—p‚¢‚Ä•¡”‚̃tƒH[ƒ}ƒbƒ^‚𶬂ł«‚éB (*% * @prefix formatPlain *) (*% * @prefix formatHTML *) datatype block = (*% * @prefix formatPlain * @format(text) text *) (*% * @prefix formatHTML * @format(text) text *) Text of string | (*% * @prefix formatPlain * @format(block) block *) (*% * @prefix formatHTML * @format(block) "" block "" *) Bold of block ‚‚¬‚̃tƒH[ƒ}ƒbƒ^‚ª¶¬‚³‚ê‚éB fun formatPlainblock x = case x of Text text => << format_string text >> | Bold block => << formatPlainblock block >> fun formatHTMLblock x = case x of Text text => << format_string text >> | Bold block => << "" formatHTMLblock block "" >> ======================================== smlsharp-1.2.0/src/smlformat/doc/PPAlgorithm.txt0000644 000000000000000000000717412050661606022003 0ustar00rootroot0000000 0000000 SMLFormat format algorithm. @author YAMATODANI Kiyoshi @version $Id: PPAlgorithm.txt,v 1.2 2006/02/07 12:49:33 kiyoshiy Exp $ This document describes about format algorithm adopted by the SMLFormat. Target of this algorithm is a text which is semantically tree-structured, including program texts of C and ML. This algorithm is based on the policy: a semantically upper structure should be made explicit on the face of the text than its lower structures. More specifically, line-breaks and indentations should be used to emphasize upper structure than its lower structures. A source text is represented by a string tree of which each of leaf is annotated with a string. The algorithm takes two arguments of a string tree and the number of columns. It translates a string tree into a string, separated by line breaks if it requires more than the specified columns to print in one line. An example string tree is shown below. In this figure, '*' denotes an internal node. This tree has 4 leaves of "abc", "def", "ghi" and "jkl". +-- "abc" | | +-- "def" *--+-- *--+ | +-- "ghi" | +-- "jkl" This algorithm traverses the tree twice. The first path calculates, for each node, the length of the string obtained by concatenation of all leaves under the node. The example tree is translated into the following. The top node is annotated with 12, which is the length of "abcdefghijkl". +-- "abc" (3) | | +-- "def" (3) * (12)--+-- * (6)--+ | +-- "ghi" (3) | +-- "jkl" (3) The second path decides, for each node, about whether its sub-nodes are separated into multiple lines or not, by comparing the calculated string length and the number of columns. If the annotated length is less than or equal to the number of columns, sub-nodes are concatenated and printed in one line with prefixed indentation. Otherwise, sub-nodes are printed separately in multiple lines with indentation which is extended by white spaces. Assume that the specified number of columns is 8, and the unit of indent extension is 2. Initial status is as follows. indent = "" columns = 8 +-- "abc" (3) | | +-- "def" (3) * (12)--+-- * (6)--+ | +-- "ghi" (3) | +-- "jkl" (3) First, because the length of top node is 12, which is more than the columns, sub-nodes of the top node are printed in separated lines. And each line is prefixed with an indentation unit (= 2), so, the number of columns is now 6 (= 8 - 2). We now have three trees, and the columns is 6 for each of them. indent = " " columns = 6 "abc" (3) indent = " " columns = 6 +-- "def" (3) * (6)--+ +-- "ghi" (3) indent = " " columns = 6 "jkl" (3) For every of them, the length of its top node is less than or equal to the columns. Therefore, each tree is printed in one line. By concatenating the prefix indent and all leaves in a tree, we obtain three lines of strings. abc defghi jkl ==================== The SimpleTreePP structure defined in "SimpleTreePP.sml" implements this algorithm. structure SimpleTreePP : sig datatype tree = Leaf of string | Node of tree list val pp : int -> tree -> string end Eample usage. -------------------- - use "SimpleTreePP.sml"; - open SimpleTreePP; - val tree = Node[Leaf "abc", Node([Leaf "def", Leaf "ghi"]), Leaf "jkl"]; - fun ppTree columns = app (fn s => print (s ^ "\n")) (pp columns tree); - ppTree 12; abcdefghijkl - ppTree 11; abc defghi jkl - ppTree 8; abc defghi jkl - ppTree 7; abc def ghi jkl -------------------- smlsharp-1.2.0/src/smlformat/doc/SimpleTreePP.sml0000644 000000000000000000000516012050661606022073 0ustar00rootroot0000000 0000000 (** * a simple pretty printer of tree structure to describe * the algorithm used by the SMLPP pplib. * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. * @version $Id: SimpleTreePP.sml,v 1.1 2005/10/12 11:41:10 kiyoshiy Exp $ *) structure SimpleTreePP : sig (** tree of strings *) datatype tree = Node of tree list | Leaf of string (** pretty printer. * @args columns tree * @arg columns the number of columns * @arg tree the tree to be printed *) val pp : int -> tree -> string list end = struct val indentUnit = " " datatype tree = Node of tree list | Leaf of string datatype sizedTree = (** annotated with the number of columns required to print * sub trees in one line. *) NodeS of sizedTree list * int | LeafS of string fun getLeaf (NodeS(subTrees, _)) = List.concat(map getLeaf subTrees) | getLeaf (LeafS string) = [string] (** * calculates the length of a string obtained by concatenation * of leaves below the tree. *) fun calcSize tree = case tree of Node subTrees => let val (newSubTrees, length) = foldr (fn (subTree, (newSubTrees, sumOfLength)) => let val (length, newSubTree) = calcSize subTree in (newSubTree :: newSubTrees, length + sumOfLength) end) ([], 0) subTrees in (length, NodeS (newSubTrees, length)) end | Leaf string => let val length = size string in (length, LeafS string) end (** * If the string obtained by concatenation of all leaves * under the tree can be printed within the specified columns, * this function prints it in one line. * Otherwise, subtrees are printed in separated lines with * indent extended. *) fun printTree indent columns (NodeS (subTrees, length)) = if length <= columns then let val allLeavesString = concat (List.concat(map getLeaf subTrees)) in [indent ^ allLeavesString] end else let val newIndent = indent ^ indentUnit val newColumns = columns - size indentUnit in List.concat(map (printTree newIndent newColumns) subTrees) end | printTree indent columns (LeafS string) = [indent ^ string] fun pp columns tree = let val (_, sizedTree) = calcSize tree in printTree "" columns sizedTree end end; smlsharp-1.2.0/src/smlformat/doc/test0000755 000000000000000000000000012050661606017743 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/smlformat/doc/test/help-doc.html0000644 000000000000000000000446012050661606022407 0ustar00rootroot0000000 0000000 Help
Overview  Index  Help 

How This API Document Is Organized

This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.

Overview

Module

Each module, nested module has its own separate page. Each of these pages has three sections consisting of a module description, summary tables, and detailed member descriptions:

  • Module declaration
  • All Known Implementing Modules
  • Module description

  • Nested Module Summary
  • Type Summary
  • Datatype Summary
  • DataConstructor Summary
  • Value Summary
  • Exception Summary

  • Type Detail
  • Datatype Detail
  • DataConstructor Detail
  • Value Detail
  • Exception Detail
Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.

Index

The Index contains an alphabetic list of all modules, types, datatypes, data constructors, values and exceptions.


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/index-all.html0000644 000000000000000000012244312050661606022573 0ustar00rootroot0000000 0000000 Index
Overview  Index  Help 
A B F I M P S T U

A

Assert - structure SMLPPTest0010.Assert
Assert - structure SMLPPTest0009.Assert
Assert - structure SMLPPTest0008.Assert
Assert - structure SMLPPTest0007.Assert
Assert - structure SMLPPTest0006.Assert
Assert - structure SMLPPTest0005.Assert
Assert - structure SMLPPTest0004.Assert
Assert - structure BasicFormattersTest0001.Assert
Assert - structure SMLPPTest0002.Assert
Assert - structure SMLPPTest0003.Assert
Assert - structure PrinterParameterTest0001.Assert
Assert - structure PrinterParameterTest0002.Assert
Assert - structure SMLPPTest0001.Assert
assertAssoc - Value in SMLPPTest0010
assertAssoc - Value in SMLPPTest0009
assertAssoc - Value in SMLPPTest0008
assertEqualAssoc - Value in SMLPPTestUtil
assertEqualFormatExpression - Value in SMLPPTestUtil
assertEqualFormatExpressionList - Value in SMLPPTestUtil
assertEqualPriority - Value in SMLPPTestUtil

B

BasicFormattersTest0001 - structure BasicFormattersTest0001
           test cases of formatters defined in BasicFormatters.
BF - structure BasicFormattersTest0001.BF

F

FE - structure SMLPPTest0010.FE
FE - structure SMLPPTest0009.FE
FE - structure SMLPPTest0008.FE
FE - structure SMLPPTest0007.FE
FE - structure SMLPPTest0006.FE
FE - structure SMLPPTest0005.FE
FE - structure SMLPPTest0004.FE
FE - structure BasicFormattersTest0001.FE
FE - structure BasicFormattersTest0001.FE
FE - structure SMLPPTest0002.FE
FE - structure SMLPPTest0003.FE
FE - structure PrinterParameterTest0001.FE
FE - structure PrinterParameterTest0002.FE
FE - structure SMLPPTest0001.FE

I

ind_1 - Value in SMLPPTest0003
ind_2 - Value in SMLPPTest0003
ind_s - Value in SMLPPTest0007
ind_s1 - Value in SMLPPTest0007
ind_s1 - Value in SMLPPTest0006
ind_s1 - Value in SMLPPTest0005
ind_s1 - Value in SMLPPTest0004
ind_s2 - Value in SMLPPTest0007
ind_s2 - Value in SMLPPTest0006
ind_s2 - Value in SMLPPTest0005
ind_s2 - Value in SMLPPTest0004
ind_sd - Value in SMLPPTest0007
ind_sd - Value in SMLPPTest0006
ind_sd - Value in SMLPPTest0005

M

makeExpression - Value in SMLPPTest0010
makeExpression - Value in SMLPPTest0009
makeExpression - Value in SMLPPTest0008

P

PP - structure SMLPPTest0010.PP
PP - structure SMLPPTest0009.PP
PP - structure SMLPPTest0008.PP
PP - structure SMLPPTest0007.PP
PP - structure SMLPPTest0006.PP
PP - structure SMLPPTest0005.PP
PP - structure SMLPPTest0004.PP
PP - structure SMLPPTest0002.PP
PP - structure SMLPPTest0003.PP
PP - structure PrinterParameterTest0001.PP
PP - structure PrinterParameterTest0002.PP
PP - structure SMLPPTest0001.PP
prettyPrint - Value in SMLPPTest0010
prettyPrint - Value in SMLPPTest0009
prettyPrint - Value in SMLPPTest0008
prettyPrint - Value in SMLPPTest0007
prettyPrint - Value in SMLPPTest0006
prettyPrint - Value in SMLPPTest0005
prettyPrint - Value in SMLPPTest0004
prettyPrint - Value in SMLPPTest0002
prettyPrint - Value in SMLPPTest0003
prettyPrint - Value in SMLPPTest0001
PrinterParameterTest0001 - structure PrinterParameterTest0001
           verify that the SMLPP treats the newlineString field in PrinterParameter.parameter properly.
PrinterParameterTest0002 - structure PrinterParameterTest0002
           verify that the SMLPP treats the spaceString field in PrinterParameter.parameter properly.

S

SMLPPTest0001 - structure SMLPPTest0001
           test cases for pretty-printing of terms.
SMLPPTest0002 - structure SMLPPTest0002
           test cases for pretty-printing of space indicators.
SMLPPTest0003 - structure SMLPPTest0003
           test cases for pretty-printing of newline indicators.
SMLPPTest0004 - structure SMLPPTest0004
           test cases for pretty-printing of space-newline indicators.
SMLPPTest0005 - structure SMLPPTest0005
           test cases for pretty-printing of deferred newline indicators.
SMLPPTest0006 - structure SMLPPTest0006
           test cases for pretty-printing of expressions with indent width indicators.
SMLPPTest0007 - structure SMLPPTest0007
           test cases for pretty-printing of expressions included within guards.
SMLPPTest0008 - structure SMLPPTest0008
           test cases examining the relation between the associativity indicators of two guards one of which is nested within the other.
SMLPPTest0009 - structure SMLPPTest0009
           verify that the SMLPP treats the left/right most element in guards properly in inheriting associativity from the guards to their elements.
SMLPPTest0010 - structure SMLPPTest0010
           verify the inheritance of associativity when the expressions contains three nested guards.
SMLPPTestUtil - structure SMLPPTestUtil
suite - Value in SMLPPTest0010
suite - Value in SMLPPTest0009
suite - Value in SMLPPTest0008
suite - Value in SMLPPTest0007
suite - Value in SMLPPTest0006
suite - Value in SMLPPTest0005
suite - Value in SMLPPTest0004
suite - Value in BasicFormattersTest0001
suite - Value in SMLPPTest0002
suite - Value in SMLPPTest0003
suite - Value in PrinterParameterTest0001
suite - Value in PrinterParameterTest0002
suite - Value in SMLPPTest0001

T

Test - structure SMLPPTest0010.Test
Test - structure SMLPPTest0009.Test
Test - structure SMLPPTest0008.Test
Test - structure SMLPPTest0007.Test
Test - structure SMLPPTest0006.Test
Test - structure SMLPPTest0005.Test
Test - structure SMLPPTest0004.Test
Test - structure BasicFormattersTest0001.Test
Test - structure SMLPPTest0002.Test
test - Value in TestMain
Test - structure SMLPPTest0003.Test
Test - structure PrinterParameterTest0001.Test
Test - structure PrinterParameterTest0002.Test
Test - structure SMLPPTest0001.Test
testAssoc0001 - Value in SMLPPTest0010
testAssoc0002 - Value in SMLPPTest0010
testAssoc0003 - Value in SMLPPTest0010
testAssoc0004 - Value in SMLPPTest0010
testAssoc0005 - Value in SMLPPTest0010
testAssoc0006 - Value in SMLPPTest0010
testAssoc0007 - Value in SMLPPTest0010
testAssoc0008 - Value in SMLPPTest0010
testAssoc00L1 - Value in SMLPPTest0009
testAssoc00L2 - Value in SMLPPTest0009
testAssoc00L3 - Value in SMLPPTest0009
testAssoc00L4 - Value in SMLPPTest0009
testAssoc00N1 - Value in SMLPPTest0009
testAssoc00N2 - Value in SMLPPTest0009
testAssoc00N3 - Value in SMLPPTest0009
testAssoc00N4 - Value in SMLPPTest0009
testAssoc00R1 - Value in SMLPPTest0009
testAssoc00R2 - Value in SMLPPTest0009
testAssoc00R3 - Value in SMLPPTest0009
testAssoc00R4 - Value in SMLPPTest0009
testAssoc0101 - Value in SMLPPTest0010
testAssoc0102 - Value in SMLPPTest0010
testAssoc0103 - Value in SMLPPTest0010
testAssoc0104 - Value in SMLPPTest0010
testAssoc0105 - Value in SMLPPTest0010
testAssoc0106 - Value in SMLPPTest0010
testAssoc0107 - Value in SMLPPTest0010
testAssoc0108 - Value in SMLPPTest0010
testAssoc0LL1 - Value in SMLPPTest0008
testAssoc0LL2 - Value in SMLPPTest0008
testAssoc0LL3 - Value in SMLPPTest0008
testAssoc0LN1 - Value in SMLPPTest0008
testAssoc0LN2 - Value in SMLPPTest0008
testAssoc0LN3 - Value in SMLPPTest0008
testAssoc0LR1 - Value in SMLPPTest0008
testAssoc0LR2 - Value in SMLPPTest0008
testAssoc0LR3 - Value in SMLPPTest0008
testAssoc0NL1 - Value in SMLPPTest0008
testAssoc0NL2 - Value in SMLPPTest0008
testAssoc0NL3 - Value in SMLPPTest0008
testAssoc0NN1 - Value in SMLPPTest0008
testAssoc0NN2 - Value in SMLPPTest0008
testAssoc0NN3 - Value in SMLPPTest0008
testAssoc0NR1 - Value in SMLPPTest0008
testAssoc0NR2 - Value in SMLPPTest0008
testAssoc0NR3 - Value in SMLPPTest0008
testAssoc0RL1 - Value in SMLPPTest0008
testAssoc0RL2 - Value in SMLPPTest0008
testAssoc0RL3 - Value in SMLPPTest0008
testAssoc0RN1 - Value in SMLPPTest0008
testAssoc0RN2 - Value in SMLPPTest0008
testAssoc0RN3 - Value in SMLPPTest0008
testAssoc0RR1 - Value in SMLPPTest0008
testAssoc0RR2 - Value in SMLPPTest0008
testAssoc0RR3 - Value in SMLPPTest0008
TESTASSOC_ASSOCSTRENGTH - Value in SMLPPTest0009
TESTASSOC_COLUMNS - Value in SMLPPTest0010
TESTASSOC_COLUMNS - Value in SMLPPTest0009
TESTASSOC_COLUMNS - Value in SMLPPTest0008
testDeferredIndicator0001 - Value in SMLPPTest0005
testDeferredIndicator0002 - Value in SMLPPTest0005
testDeferredIndicator0003 - Value in SMLPPTest0005
testDeferredIndicator0004 - Value in SMLPPTest0005
Testee - structure SMLPPTest0010.Testee
Testee - structure SMLPPTest0009.Testee
Testee - structure SMLPPTest0008.Testee
Testee - structure SMLPPTest0007.Testee
Testee - structure SMLPPTest0006.Testee
Testee - structure SMLPPTest0005.Testee
Testee - structure SMLPPTest0004.Testee
Testee - structure SMLPPTest0002.Testee
Testee - structure SMLPPTest0003.Testee
Testee - structure SMLPPTest0001.Testee
testFormatArray0001 - Value in BasicFormattersTest0001
testFormatArray0002 - Value in BasicFormattersTest0001
testFormatArray0003 - Value in BasicFormattersTest0001
testFormatBool0001 - Value in BasicFormattersTest0001
testFormatBool0002 - Value in BasicFormattersTest0001
testFormatChar0001 - Value in BasicFormattersTest0001
testFormatInt0001 - Value in BasicFormattersTest0001
testFormatInt0002 - Value in BasicFormattersTest0001
testFormatInt0003 - Value in BasicFormattersTest0001
testFormatList0001 - Value in BasicFormattersTest0001
testFormatList0002 - Value in BasicFormattersTest0001
testFormatList0003 - Value in BasicFormattersTest0001
testFormatOption0001 - Value in BasicFormattersTest0001
testFormatOption0002 - Value in BasicFormattersTest0001
testFormatOrder0001 - Value in BasicFormattersTest0001
testFormatOrder0002 - Value in BasicFormattersTest0001
testFormatOrder0003 - Value in BasicFormattersTest0001
testFormatReal0001 - Value in BasicFormattersTest0001
testFormatReal0002 - Value in BasicFormattersTest0001
testFormatReal0003 - Value in BasicFormattersTest0001
testFormatRef0001 - Value in BasicFormattersTest0001
testFormatString0001 - Value in BasicFormattersTest0001
testFormatString0002 - Value in BasicFormattersTest0001
testFormatString0003 - Value in BasicFormattersTest0001
testFormatSubstring0001 - Value in BasicFormattersTest0001
testFormatSubstring0002 - Value in BasicFormattersTest0001
testFormatSubstring0003 - Value in BasicFormattersTest0001
testFormatUnit0001 - Value in BasicFormattersTest0001
testFormatVector0001 - Value in BasicFormattersTest0001
testFormatVector0002 - Value in BasicFormattersTest0001
testFormatVector0003 - Value in BasicFormattersTest0001
testFormatWord0001 - Value in BasicFormattersTest0001
testFormatWord0002 - Value in BasicFormattersTest0001
testGuard0001 - Value in SMLPPTest0007
testGuard0002 - Value in SMLPPTest0007
testGuard0003 - Value in SMLPPTest0007
testGuard0004 - Value in SMLPPTest0007
testGuard0005 - Value in SMLPPTest0007
testIndent0001 - Value in SMLPPTest0006
testIndent0002 - Value in SMLPPTest0006
testIndent0003 - Value in SMLPPTest0006
testIndent0004 - Value in SMLPPTest0006
testIndent0005 - Value in SMLPPTest0006
TestMain - structure TestMain
testNewlineIndicator0001 - Value in SMLPPTest0003
testNewlineIndicator0002 - Value in SMLPPTest0003
testNewlineIndicator0003 - Value in SMLPPTest0003
testNewlineIndicator0004 - Value in SMLPPTest0003
TESTNEWLINEINDICATOR_EXPRESSION - Value in SMLPPTest0003
testNewlineString0001 - Value in PrinterParameterTest0001
testNewlineString0002 - Value in PrinterParameterTest0001
testSpaceIndicator0001 - Value in SMLPPTest0002
testSpaceNewlineIndicator0001 - Value in SMLPPTest0004
testSpaceNewlineIndicator0002 - Value in SMLPPTest0004
testSpaceNewlineIndicator0003 - Value in SMLPPTest0004
testSpaceNewlineIndicator0004 - Value in SMLPPTest0004
TESTSPACENEWLINEINDICATOR_EXPRESSION - Value in SMLPPTest0004
testSpaceString0001 - Value in PrinterParameterTest0002
testSpaceString0002 - Value in PrinterParameterTest0002
testTerm0001 - Value in SMLPPTest0001
testTerm0002 - Value in SMLPPTest0001
testTerm0003 - Value in SMLPPTest0001

U

U - structure BasicFormattersTest0001.U

Overview  Index  Help 
A B F I M P S T U smlsharp-1.2.0/src/smlformat/doc/test/index.html0000644 000000000000000000000060012050661606022013 0ustar00rootroot0000000 0000000 SML documentation <H2>Frame Alert</H2> <P> This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. smlsharp-1.2.0/src/smlformat/doc/test/module-list0000644 000000000000000000001234612050661606022211 0ustar00rootroot0000000 0000000 structure SMLPPTest0001{ structure Assert{ } structure Test{ } structure Testee{ } structure FE{ } structure PP{ } val prettyPrint val testTerm0001 val testTerm0002 val testTerm0003 val suite } structure PrinterParameterTest0002{ structure Assert{ } structure Test{ } structure FE{ } structure PP{ } val testSpaceString0001 val testSpaceString0002 val suite } structure PrinterParameterTest0001{ structure Assert{ } structure Test{ } structure FE{ } structure PP{ } val testNewlineString0001 val testNewlineString0002 val suite } structure SMLPPTestUtil{ val assertEqualAssoc val assertEqualPriority val assertEqualFormatExpression val assertEqualFormatExpressionList } structure SMLPPTest0003{ structure Assert{ } structure Test{ } structure Testee{ } structure FE{ } structure PP{ } val prettyPrint val ind_1 val ind_2 val TESTNEWLINEINDICATOR_EXPRESSION val testNewlineIndicator0001 val testNewlineIndicator0002 val testNewlineIndicator0003 val testNewlineIndicator0004 val suite } structure TestMain{ val test } structure SMLPPTest0002{ structure Assert{ } structure Test{ } structure Testee{ } structure FE{ } structure PP{ } val prettyPrint val testSpaceIndicator0001 val suite } structure BasicFormattersTest0001{ structure Assert{ } structure Test{ } structure U{ val assertEqualAssoc val assertEqualPriority val assertEqualFormatExpression val assertEqualFormatExpressionList } structure FE{ } structure FE{ } structure BF{ } val testFormatUnit0001 val testFormatInt0001 val testFormatInt0002 val testFormatInt0003 val testFormatWord0001 val testFormatWord0002 val testFormatReal0001 val testFormatReal0002 val testFormatReal0003 val testFormatChar0001 val testFormatString0001 val testFormatString0002 val testFormatString0003 val testFormatSubstring0001 val testFormatSubstring0002 val testFormatSubstring0003 val testFormatArray0001 val testFormatArray0002 val testFormatArray0003 val testFormatVector0001 val testFormatVector0002 val testFormatVector0003 val testFormatRef0001 val testFormatBool0001 val testFormatBool0002 val testFormatOption0001 val testFormatOption0002 val testFormatOrder0001 val testFormatOrder0002 val testFormatOrder0003 val testFormatList0001 val testFormatList0002 val testFormatList0003 val suite } structure SMLPPTest0004{ structure Assert{ } structure Test{ } structure Testee{ } structure FE{ } structure PP{ } val prettyPrint val ind_s1 val ind_s2 val TESTSPACENEWLINEINDICATOR_EXPRESSION val testSpaceNewlineIndicator0001 val testSpaceNewlineIndicator0002 val testSpaceNewlineIndicator0003 val testSpaceNewlineIndicator0004 val suite } structure SMLPPTest0005{ structure Assert{ } structure Test{ } structure Testee{ } structure FE{ } structure PP{ } val prettyPrint val ind_s1 val ind_s2 val ind_sd val testDeferredIndicator0001 val testDeferredIndicator0002 val testDeferredIndicator0003 val testDeferredIndicator0004 val suite } structure SMLPPTest0006{ structure Assert{ } structure Test{ } structure Testee{ } structure FE{ } structure PP{ } val prettyPrint val ind_s1 val ind_s2 val ind_sd val testIndent0001 val testIndent0002 val testIndent0003 val testIndent0004 val testIndent0005 val suite } structure SMLPPTest0007{ structure Assert{ } structure Test{ } structure Testee{ } structure FE{ } structure PP{ } val prettyPrint val ind_s val ind_s1 val ind_s2 val ind_sd val testGuard0001 val testGuard0002 val testGuard0003 val testGuard0004 val testGuard0005 val suite } structure SMLPPTest0008{ structure Assert{ } structure Test{ } structure Testee{ } structure FE{ } structure PP{ } val TESTASSOC_COLUMNS val prettyPrint val makeExpression val assertAssoc val testAssoc0LL1 val testAssoc0LL2 val testAssoc0LL3 val testAssoc0LN1 val testAssoc0LN2 val testAssoc0LN3 val testAssoc0LR1 val testAssoc0LR2 val testAssoc0LR3 val testAssoc0NL1 val testAssoc0NL2 val testAssoc0NL3 val testAssoc0NN1 val testAssoc0NN2 val testAssoc0NN3 val testAssoc0NR1 val testAssoc0NR2 val testAssoc0NR3 val testAssoc0RL1 val testAssoc0RL2 val testAssoc0RL3 val testAssoc0RN1 val testAssoc0RN2 val testAssoc0RN3 val testAssoc0RR1 val testAssoc0RR2 val testAssoc0RR3 val suite } structure SMLPPTest0009{ structure Assert{ } structure Test{ } structure Testee{ } structure FE{ } structure PP{ } val TESTASSOC_COLUMNS val prettyPrint val TESTASSOC_ASSOCSTRENGTH val makeExpression val assertAssoc val testAssoc00L1 val testAssoc00L2 val testAssoc00L3 val testAssoc00L4 val testAssoc00N1 val testAssoc00N2 val testAssoc00N3 val testAssoc00N4 val testAssoc00R1 val testAssoc00R2 val testAssoc00R3 val testAssoc00R4 val suite } structure SMLPPTest0010{ structure Assert{ } structure Test{ } structure Testee{ } structure FE{ } structure PP{ } val TESTASSOC_COLUMNS val prettyPrint val makeExpression val assertAssoc val testAssoc0001 val testAssoc0002 val testAssoc0003 val testAssoc0004 val testAssoc0005 val testAssoc0006 val testAssoc0007 val testAssoc0008 val testAssoc0101 val testAssoc0102 val testAssoc0103 val testAssoc0104 val testAssoc0105 val testAssoc0106 val testAssoc0107 val testAssoc0108 val suite } smlsharp-1.2.0/src/smlformat/doc/test/modules.html0000644 000000000000000000000264012050661606022362 0ustar00rootroot0000000 0000000
Overview

Structures
BasicFormattersTest0001
PrinterParameterTest0001
PrinterParameterTest0002
SMLPPTest0001
SMLPPTest0002
SMLPPTest0003
SMLPPTest0004
SMLPPTest0005
SMLPPTest0006
SMLPPTest0007
SMLPPTest0008
SMLPPTest0009
SMLPPTest0010
SMLPPTestUtil
TestMain

smlsharp-1.2.0/src/smlformat/doc/test/overview-summary.html0000644 000000000000000000001112412050661606024250 0ustar00rootroot0000000 0000000 Overview
Overview  Index  Help 

Overview

   
Inner Structure summary

structure BasicFormattersTest0001
           test cases of formatters defined in BasicFormatters.

structure PrinterParameterTest0001
           verify that the SMLPP treats the newlineString field in PrinterParameter.parameter properly.

structure PrinterParameterTest0002
           verify that the SMLPP treats the spaceString field in PrinterParameter.parameter properly.

structure SMLPPTest0001
           test cases for pretty-printing of terms.

structure SMLPPTest0002
           test cases for pretty-printing of space indicators.

structure SMLPPTest0003
           test cases for pretty-printing of newline indicators.

structure SMLPPTest0004
           test cases for pretty-printing of space-newline indicators.

structure SMLPPTest0005
           test cases for pretty-printing of deferred newline indicators.

structure SMLPPTest0006
           test cases for pretty-printing of expressions with indent width indicators.

structure SMLPPTest0007
           test cases for pretty-printing of expressions included within guards.

structure SMLPPTest0008
           test cases examining the relation between the associativity indicators of two guards one of which is nested within the other.

structure SMLPPTest0009
           verify that the SMLPP treats the left/right most element in guards properly in inheriting associativity from the guards to their elements.

structure SMLPPTest0010
           verify the inheritance of associativity when the expressions contains three nested guards.

structure SMLPPTestUtil

structure TestMain

             

         


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrBasicFormattersTest0001-StrAssert.html0000644 000000000000000000000241012050661606027557 0ustar00rootroot0000000 0000000 BasicFormattersTest0001.Assert
Overview  Index  Help 

BasicFormattersTest0001.Assert

Enclosing Modules:

BasicFormattersTest0001


structure Assert = SMLUnit.Assert


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrBasicFormattersTest0001-StrBF.html0000644 000000000000000000000237712050661606026621 0ustar00rootroot0000000 0000000 BasicFormattersTest0001.BF
Overview  Index  Help 

BasicFormattersTest0001.BF

Enclosing Modules:

BasicFormattersTest0001


structure BF = SMLPP.BasicFormatters


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrBasicFormattersTest0001-StrFE.html0000644 000000000000000000000240012050661606026607 0ustar00rootroot0000000 0000000 BasicFormattersTest0001.FE
Overview  Index  Help 

BasicFormattersTest0001.FE

Enclosing Modules:

BasicFormattersTest0001


structure FE = SMLPP.FormatExpression


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrBasicFormattersTest0001-StrTest.html0000644 000000000000000000000237612050661606027250 0ustar00rootroot0000000 0000000 BasicFormattersTest0001.Test
Overview  Index  Help 

BasicFormattersTest0001.Test

Enclosing Modules:

BasicFormattersTest0001


structure Test = SMLUnit.Test


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrBasicFormattersTest0001-StrU.html0000644 000000000000000000000242712050661606026532 0ustar00rootroot0000000 0000000 BasicFormattersTest0001.U
Overview  Index  Help 

BasicFormattersTest0001.U

Enclosing Modules:

BasicFormattersTest0001


structure U = SMLPPTestUtil


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrBasicFormattersTest0001.html0000644 000000000000000000002752112050661606025641 0ustar00rootroot0000000 0000000 BasicFormattersTest0001
Overview  Index  Help 

BasicFormattersTest0001


structure BasicFormattersTest0001 =
struct
  structure Assert = SMLUnit.Assert
  structure Test = SMLUnit.Test
  structure U = SMLPPTestUtil
  structure FE = SMLPP.FormatExpression
  structure FE = SMLPP.FormatExpression
  structure BF = SMLPP.BasicFormatters
  val testFormatUnit0001
  val testFormatInt0001
  val testFormatInt0002
  val testFormatInt0003
  val testFormatWord0001
  val testFormatWord0002
  val testFormatReal0001
  val testFormatReal0002
  val testFormatReal0003
  val testFormatChar0001
  val testFormatString0001
  val testFormatString0002
  val testFormatString0003
  val testFormatSubstring0001
  val testFormatSubstring0002
  val testFormatSubstring0003
  val testFormatArray0001
  val testFormatArray0002
  val testFormatArray0003
  val testFormatVector0001
  val testFormatVector0002
  val testFormatVector0003
  val testFormatRef0001
  val testFormatBool0001
  val testFormatBool0002
  val testFormatOption0001
  val testFormatOption0002
  val testFormatOrder0001
  val testFormatOrder0002
  val testFormatOrder0003
  val testFormatList0001
  val testFormatList0002
  val testFormatList0003
  val suite
end

test cases of formatters defined in BasicFormatters.
Test cases matrix
casevalue to be formatted
FormatUnit0001()
FormatInt0001~123456
FormatInt00020
FormatInt0003123456
FormatWord00010w0
FormatWord00020wx123456
FormatReal0001~123.456
FormatReal00020.0
FormatReal0003123.456
FormatChar0001#"a"
FormatString0001"abc"
FormatString0002""
FormatString0003"a"
FormatSubstring0001"abc"
FormatSubstring0002""
FormatSubstring0003"a"
FormatExn0001(omitted)
FormatArray0001["a", "b", "c"]
FormatArray0002[]
FormatArray0003["a"]
FormatVector0001["a", "b", "c"]
FormatVector0002[]
FormatVector0003["a"]
FormatRef0001ref ()
FormatBool0001true
FormatBool0002false
FormatOption0001SOME ()
FormatOption0002NONE
FormatOrder0001LESS
FormatOrder0002EQUAL
FormatOrder0003GREATER
FormatList0001["a", "b", "c"]
FormatList0002[]
FormatList0003["a"]

       
Value detail

testFormatUnit0001

val testFormatUnit0001


testFormatInt0001

val testFormatInt0001


testFormatInt0002

val testFormatInt0002


testFormatInt0003

val testFormatInt0003


testFormatWord0001

val testFormatWord0001


testFormatWord0002

val testFormatWord0002


testFormatReal0001

val testFormatReal0001


testFormatReal0002

val testFormatReal0002


testFormatReal0003

val testFormatReal0003


testFormatChar0001

val testFormatChar0001


testFormatString0001

val testFormatString0001


testFormatString0002

val testFormatString0002


testFormatString0003

val testFormatString0003


testFormatSubstring0001

val testFormatSubstring0001


testFormatSubstring0002

val testFormatSubstring0002


testFormatSubstring0003

val testFormatSubstring0003


testFormatArray0001

val testFormatArray0001


testFormatArray0002

val testFormatArray0002


testFormatArray0003

val testFormatArray0003


testFormatVector0001

val testFormatVector0001


testFormatVector0002

val testFormatVector0002


testFormatVector0003

val testFormatVector0003


testFormatRef0001

val testFormatRef0001


testFormatBool0001

val testFormatBool0001


testFormatBool0002

val testFormatBool0002


testFormatOption0001

val testFormatOption0001


testFormatOption0002

val testFormatOption0002


testFormatOrder0001

val testFormatOrder0001


testFormatOrder0002

val testFormatOrder0002


testFormatOrder0003

val testFormatOrder0003


testFormatList0001

val testFormatList0001


testFormatList0002

val testFormatList0002


testFormatList0003

val testFormatList0003


suite

val suite

 


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrPrinterParameterTest0001-StrAssert.html0000644 000000000000000000000241512050661606027760 0ustar00rootroot0000000 0000000 PrinterParameterTest0001.Assert
Overview  Index  Help 

PrinterParameterTest0001.Assert

Enclosing Modules:

PrinterParameterTest0001


structure Assert = SMLUnit.Assert


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrPrinterParameterTest0001-StrFE.html0000644 000000000000000000000240512050661606027010 0ustar00rootroot0000000 0000000 PrinterParameterTest0001.FE
Overview  Index  Help 

PrinterParameterTest0001.FE

Enclosing Modules:

PrinterParameterTest0001


structure FE = SMLPP.FormatExpression


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrPrinterParameterTest0001-StrPP.html0000644 000000000000000000000240512050661606027035 0ustar00rootroot0000000 0000000 PrinterParameterTest0001.PP
Overview  Index  Help 

PrinterParameterTest0001.PP

Enclosing Modules:

PrinterParameterTest0001


structure PP = SMLPP.PrinterParameter


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrPrinterParameterTest0001-StrTest.html0000644 000000000000000000000240312050661606027433 0ustar00rootroot0000000 0000000 PrinterParameterTest0001.Test
Overview  Index  Help 

PrinterParameterTest0001.Test

Enclosing Modules:

PrinterParameterTest0001


structure Test = SMLUnit.Test


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrPrinterParameterTest0001.html0000644 000000000000000000000546012050661606026033 0ustar00rootroot0000000 0000000 PrinterParameterTest0001
Overview  Index  Help 

PrinterParameterTest0001


structure PrinterParameterTest0001 =
struct
  structure Assert = SMLUnit.Assert
  structure Test = SMLUnit.Test
  structure FE = SMLPP.FormatExpression
  structure PP = SMLPP.PrinterParameter
  val testNewlineString0001
  val testNewlineString0002
  val suite
end

verify that the SMLPP treats the newlineString field in PrinterParameter.parameter properly.
Test cases matrix
casenewlineString
NewlineString0001\n
NewlineString0002<BR>

       
Value detail

testNewlineString0001

val testNewlineString0001


testNewlineString0002

val testNewlineString0002


suite

val suite

 


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrPrinterParameterTest0002-StrAssert.html0000644 000000000000000000000241512050661606027761 0ustar00rootroot0000000 0000000 PrinterParameterTest0002.Assert
Overview  Index  Help 

PrinterParameterTest0002.Assert

Enclosing Modules:

PrinterParameterTest0002


structure Assert = SMLUnit.Assert


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrPrinterParameterTest0002-StrFE.html0000644 000000000000000000000240512050661606027011 0ustar00rootroot0000000 0000000 PrinterParameterTest0002.FE
Overview  Index  Help 

PrinterParameterTest0002.FE

Enclosing Modules:

PrinterParameterTest0002


structure FE = SMLPP.FormatExpression


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrPrinterParameterTest0002-StrPP.html0000644 000000000000000000000240512050661606027036 0ustar00rootroot0000000 0000000 PrinterParameterTest0002.PP
Overview  Index  Help 

PrinterParameterTest0002.PP

Enclosing Modules:

PrinterParameterTest0002


structure PP = SMLPP.PrinterParameter


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrPrinterParameterTest0002-StrTest.html0000644 000000000000000000000240312050661606027434 0ustar00rootroot0000000 0000000 PrinterParameterTest0002.Test
Overview  Index  Help 

PrinterParameterTest0002.Test

Enclosing Modules:

PrinterParameterTest0002


structure Test = SMLUnit.Test


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrPrinterParameterTest0002.html0000644 000000000000000000000543012050661606026031 0ustar00rootroot0000000 0000000 PrinterParameterTest0002
Overview  Index  Help 

PrinterParameterTest0002


structure PrinterParameterTest0002 =
struct
  structure Assert = SMLUnit.Assert
  structure Test = SMLUnit.Test
  structure FE = SMLPP.FormatExpression
  structure PP = SMLPP.PrinterParameter
  val testSpaceString0001
  val testSpaceString0002
  val suite
end

verify that the SMLPP treats the spaceString field in PrinterParameter.parameter properly.
Test cases matrix
casespaceString
SpaceString0001 
SpaceString0002&nbsp;

       
Value detail

testSpaceString0001

val testSpaceString0001


testSpaceString0002

val testSpaceString0002


suite

val suite

 


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0001-StrAssert.html0000644 000000000000000000000232612050661606025370 0ustar00rootroot0000000 0000000 SMLPPTest0001.Assert
Overview  Index  Help 

SMLPPTest0001.Assert

Enclosing Modules:

SMLPPTest0001


structure Assert = SMLUnit.Assert


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0001-StrFE.html0000644 000000000000000000000231712050661606024421 0ustar00rootroot0000000 0000000 SMLPPTest0001.FE
Overview  Index  Help 

SMLPPTest0001.FE

Enclosing Modules:

SMLPPTest0001


structure FE = Testee.FormatExpression


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0001-StrPP.html0000644 000000000000000000000231712050661606024446 0ustar00rootroot0000000 0000000 SMLPPTest0001.PP
Overview  Index  Help 

SMLPPTest0001.PP

Enclosing Modules:

SMLPPTest0001


structure PP = Testee.PrinterParameter


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0001-StrTest.html0000644 000000000000000000000231412050661606025043 0ustar00rootroot0000000 0000000 SMLPPTest0001.Test
Overview  Index  Help 

SMLPPTest0001.Test

Enclosing Modules:

SMLPPTest0001


structure Test = SMLUnit.Test


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0001-StrTestee.html0000644 000000000000000000000231512050661606025356 0ustar00rootroot0000000 0000000 SMLPPTest0001.Testee
Overview  Index  Help 

SMLPPTest0001.Testee

Enclosing Modules:

SMLPPTest0001


structure Testee = SMLPP


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0001.html0000644 000000000000000000000607712050661606023447 0ustar00rootroot0000000 0000000 SMLPPTest0001
Overview  Index  Help 

SMLPPTest0001


structure SMLPPTest0001 =
struct
  structure Assert = SMLUnit.Assert
  structure Test = SMLUnit.Test
  structure Testee = SMLPP
  structure FE = Testee.FormatExpression
  structure PP = Testee.PrinterParameter
  val prettyPrint
  val testTerm0001
  val testTerm0002
  val testTerm0003
  val suite
end

test cases for pretty-printing of terms.
Test cases matrix
casedescription
Term0001single term
Term0002sequence of terms
Term0003including spaces as terms

       
Value detail

prettyPrint

val prettyPrint


testTerm0001

val testTerm0001


testTerm0002

val testTerm0002


testTerm0003

val testTerm0003


suite

val suite

 


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0002-StrAssert.html0000644 000000000000000000000232612050661606025371 0ustar00rootroot0000000 0000000 SMLPPTest0002.Assert
Overview  Index  Help 

SMLPPTest0002.Assert

Enclosing Modules:

SMLPPTest0002


structure Assert = SMLUnit.Assert


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0002-StrFE.html0000644 000000000000000000000231712050661606024422 0ustar00rootroot0000000 0000000 SMLPPTest0002.FE
Overview  Index  Help 

SMLPPTest0002.FE

Enclosing Modules:

SMLPPTest0002


structure FE = Testee.FormatExpression


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0002-StrPP.html0000644 000000000000000000000231712050661606024447 0ustar00rootroot0000000 0000000 SMLPPTest0002.PP
Overview  Index  Help 

SMLPPTest0002.PP

Enclosing Modules:

SMLPPTest0002


structure PP = Testee.PrinterParameter


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0002-StrTest.html0000644 000000000000000000000231412050661606025044 0ustar00rootroot0000000 0000000 SMLPPTest0002.Test
Overview  Index  Help 

SMLPPTest0002.Test

Enclosing Modules:

SMLPPTest0002


structure Test = SMLUnit.Test


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0002-StrTestee.html0000644 000000000000000000000231512050661606025357 0ustar00rootroot0000000 0000000 SMLPPTest0002.Testee
Overview  Index  Help 

SMLPPTest0002.Testee

Enclosing Modules:

SMLPPTest0002


structure Testee = SMLPP


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0002.html0000644 000000000000000000000523012050661606023436 0ustar00rootroot0000000 0000000 SMLPPTest0002
Overview  Index  Help 

SMLPPTest0002


structure SMLPPTest0002 =
struct
  structure Assert = SMLUnit.Assert
  structure Test = SMLUnit.Test
  structure Testee = SMLPP
  structure FE = Testee.FormatExpression
  structure PP = Testee.PrinterParameter
  val prettyPrint
  val testSpaceIndicator0001
  val suite
end

test cases for pretty-printing of space indicators.
Test cases matrix
casedescription
SpaceIndicator0001including space indicator

       
Value detail

prettyPrint

val prettyPrint


testSpaceIndicator0001

val testSpaceIndicator0001


suite

val suite

 


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0003-StrAssert.html0000644 000000000000000000000232612050661606025372 0ustar00rootroot0000000 0000000 SMLPPTest0003.Assert
Overview  Index  Help 

SMLPPTest0003.Assert

Enclosing Modules:

SMLPPTest0003


structure Assert = SMLUnit.Assert


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0003-StrFE.html0000644 000000000000000000000231712050661606024423 0ustar00rootroot0000000 0000000 SMLPPTest0003.FE
Overview  Index  Help 

SMLPPTest0003.FE

Enclosing Modules:

SMLPPTest0003


structure FE = Testee.FormatExpression


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0003-StrPP.html0000644 000000000000000000000231712050661606024450 0ustar00rootroot0000000 0000000 SMLPPTest0003.PP
Overview  Index  Help 

SMLPPTest0003.PP

Enclosing Modules:

SMLPPTest0003


structure PP = Testee.PrinterParameter


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0003-StrTest.html0000644 000000000000000000000231412050661606025045 0ustar00rootroot0000000 0000000 SMLPPTest0003.Test
Overview  Index  Help 

SMLPPTest0003.Test

Enclosing Modules:

SMLPPTest0003


structure Test = SMLUnit.Test


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0003-StrTestee.html0000644 000000000000000000000231512050661606025360 0ustar00rootroot0000000 0000000 SMLPPTest0003.Testee
Overview  Index  Help 

SMLPPTest0003.Testee

Enclosing Modules:

SMLPPTest0003


structure Testee = SMLPP


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0003.html0000644 000000000000000000001123512050661606023441 0ustar00rootroot0000000 0000000 SMLPPTest0003
Overview  Index  Help 

SMLPPTest0003


structure SMLPPTest0003 =
struct
  structure Assert = SMLUnit.Assert
  structure Test = SMLUnit.Test
  structure Testee = SMLPP
  structure FE = Testee.FormatExpression
  structure PP = Testee.PrinterParameter
  val prettyPrint
  val ind_1
  val ind_2
  val TESTNEWLINEINDICATOR_EXPRESSION
  val testNewlineIndicator0001
  val testNewlineIndicator0002
  val testNewlineIndicator0003
  val testNewlineIndicator0004
  val suite
end

test cases for pretty-printing of newline indicators.

These cases pretty-print expressions which contain newline indicators.

Test cases matrix
casedescription
NewlineIndicator0001 specifies the minimum number of columns which does not require to insert newline at any of indicators.
NewlineIndicator0002 specifies the maximum number of columns which requires to insert newline at the highest of indicators
NewlineIndicator0003 specifies the minimum number of columns which causes to insert newline at the highest of indicators
NewlineIndicator0004 specifies the maximum number of columns which causes to insert newline at all of indicators

       
Value detail

prettyPrint

val prettyPrint


ind_1

val ind_1


ind_2

val ind_2


TESTNEWLINEINDICATOR_EXPRESSION

val TESTNEWLINEINDICATOR_EXPRESSION


testNewlineIndicator0001

val testNewlineIndicator0001


testNewlineIndicator0002

val testNewlineIndicator0002


testNewlineIndicator0003

val testNewlineIndicator0003


testNewlineIndicator0004

val testNewlineIndicator0004


suite

val suite

 


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0004-StrAssert.html0000644 000000000000000000000232612050661606025373 0ustar00rootroot0000000 0000000 SMLPPTest0004.Assert
Overview  Index  Help 

SMLPPTest0004.Assert

Enclosing Modules:

SMLPPTest0004


structure Assert = SMLUnit.Assert


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0004-StrFE.html0000644 000000000000000000000231712050661606024424 0ustar00rootroot0000000 0000000 SMLPPTest0004.FE
Overview  Index  Help 

SMLPPTest0004.FE

Enclosing Modules:

SMLPPTest0004


structure FE = Testee.FormatExpression


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0004-StrPP.html0000644 000000000000000000000231712050661606024451 0ustar00rootroot0000000 0000000 SMLPPTest0004.PP
Overview  Index  Help 

SMLPPTest0004.PP

Enclosing Modules:

SMLPPTest0004


structure PP = Testee.PrinterParameter


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0004-StrTest.html0000644 000000000000000000000231412050661606025046 0ustar00rootroot0000000 0000000 SMLPPTest0004.Test
Overview  Index  Help 

SMLPPTest0004.Test

Enclosing Modules:

SMLPPTest0004


structure Test = SMLUnit.Test


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0004-StrTestee.html0000644 000000000000000000000231512050661606025361 0ustar00rootroot0000000 0000000 SMLPPTest0004.Testee
Overview  Index  Help 

SMLPPTest0004.Testee

Enclosing Modules:

SMLPPTest0004


structure Testee = SMLPP


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0004.html0000644 000000000000000000001153512050661606023445 0ustar00rootroot0000000 0000000 SMLPPTest0004
Overview  Index  Help 

SMLPPTest0004


structure SMLPPTest0004 =
struct
  structure Assert = SMLUnit.Assert
  structure Test = SMLUnit.Test
  structure Testee = SMLPP
  structure FE = Testee.FormatExpression
  structure PP = Testee.PrinterParameter
  val prettyPrint
  val ind_s1
  val ind_s2
  val TESTSPACENEWLINEINDICATOR_EXPRESSION
  val testSpaceNewlineIndicator0001
  val testSpaceNewlineIndicator0002
  val testSpaceNewlineIndicator0003
  val testSpaceNewlineIndicator0004
  val suite
end

test cases for pretty-printing of space-newline indicators.

These cases pretty-print expressions which contain indicators which indicate both space and newline.

Test cases matrix
casedescription
SpaceNewlineIndicator0001 specifies the minimum number of columns which does not require to insert newline at any of indicators.
SpaceNewlineIndicator0002 specifies the maximum number of columns which requires to insert newline at the highest of indicators
SpaceNewlineIndicator0003 specifies the minimum number of columns which causes to insert newline at the highest of indicators
SpaceNewlineIndicator0004 specifies the maximum number of columns which causes to insert newline at all of indicators

       
Value detail

prettyPrint

val prettyPrint


ind_s1

val ind_s1


ind_s2

val ind_s2


TESTSPACENEWLINEINDICATOR_EXPRESSION

val TESTSPACENEWLINEINDICATOR_EXPRESSION


testSpaceNewlineIndicator0001

val testSpaceNewlineIndicator0001


testSpaceNewlineIndicator0002

val testSpaceNewlineIndicator0002


testSpaceNewlineIndicator0003

val testSpaceNewlineIndicator0003


testSpaceNewlineIndicator0004

val testSpaceNewlineIndicator0004


suite

val suite

 


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0005-StrAssert.html0000644 000000000000000000000232612050661606025374 0ustar00rootroot0000000 0000000 SMLPPTest0005.Assert
Overview  Index  Help 

SMLPPTest0005.Assert

Enclosing Modules:

SMLPPTest0005


structure Assert = SMLUnit.Assert


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0005-StrFE.html0000644 000000000000000000000231712050661606024425 0ustar00rootroot0000000 0000000 SMLPPTest0005.FE
Overview  Index  Help 

SMLPPTest0005.FE

Enclosing Modules:

SMLPPTest0005


structure FE = Testee.FormatExpression


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0005-StrPP.html0000644 000000000000000000000231712050661606024452 0ustar00rootroot0000000 0000000 SMLPPTest0005.PP
Overview  Index  Help 

SMLPPTest0005.PP

Enclosing Modules:

SMLPPTest0005


structure PP = Testee.PrinterParameter


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0005-StrTest.html0000644 000000000000000000000231412050661606025047 0ustar00rootroot0000000 0000000 SMLPPTest0005.Test
Overview  Index  Help 

SMLPPTest0005.Test

Enclosing Modules:

SMLPPTest0005


structure Test = SMLUnit.Test


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0005-StrTestee.html0000644 000000000000000000000231512050661606025362 0ustar00rootroot0000000 0000000 SMLPPTest0005.Testee
Overview  Index  Help 

SMLPPTest0005.Testee

Enclosing Modules:

SMLPPTest0005


structure Testee = SMLPP


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0005.html0000644 000000000000000000001135412050661606023445 0ustar00rootroot0000000 0000000 SMLPPTest0005
Overview  Index  Help 

SMLPPTest0005


structure SMLPPTest0005 =
struct
  structure Assert = SMLUnit.Assert
  structure Test = SMLUnit.Test
  structure Testee = SMLPP
  structure FE = Testee.FormatExpression
  structure PP = Testee.PrinterParameter
  val prettyPrint
  val ind_s1
  val ind_s2
  val ind_sd
  val testDeferredIndicator0001
  val testDeferredIndicator0002
  val testDeferredIndicator0003
  val testDeferredIndicator0004
  val suite
end

test cases for pretty-printing of deferred newline indicators.

These cases pretty-print expressions which contain deferred newline indicators.

Test cases matrix
casedescription
DeferredIndicator0001 specifies the minimum number of columns which do not require to insert newline at deferred indicators
DeferredIndicator0002 specifies the minimum number of columns which requires to insert newline at deferred indicators
DeferredIndicator0003 including deferred newline indicator and requiring to insert newline at it, which causes to insert newline at the preferred indicator where would be not required to insert newline if the deffered indicator is not included.
DeferredIndicator0004 including deferred multiple newline indicators and requiring to insert at one of them but not required at the other.

       
Value detail

prettyPrint

val prettyPrint


ind_s1

val ind_s1


ind_s2

val ind_s2


ind_sd

val ind_sd


testDeferredIndicator0001

val testDeferredIndicator0001


testDeferredIndicator0002

val testDeferredIndicator0002


testDeferredIndicator0003

val testDeferredIndicator0003


testDeferredIndicator0004

val testDeferredIndicator0004


suite

val suite

 


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0006-StrAssert.html0000644 000000000000000000000232612050661606025375 0ustar00rootroot0000000 0000000 SMLPPTest0006.Assert
Overview  Index  Help 

SMLPPTest0006.Assert

Enclosing Modules:

SMLPPTest0006


structure Assert = SMLUnit.Assert


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0006-StrFE.html0000644 000000000000000000000231712050661606024426 0ustar00rootroot0000000 0000000 SMLPPTest0006.FE
Overview  Index  Help 

SMLPPTest0006.FE

Enclosing Modules:

SMLPPTest0006


structure FE = Testee.FormatExpression


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0006-StrPP.html0000644 000000000000000000000231712050661606024453 0ustar00rootroot0000000 0000000 SMLPPTest0006.PP
Overview  Index  Help 

SMLPPTest0006.PP

Enclosing Modules:

SMLPPTest0006


structure PP = Testee.PrinterParameter


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0006-StrTest.html0000644 000000000000000000000231412050661606025050 0ustar00rootroot0000000 0000000 SMLPPTest0006.Test
Overview  Index  Help 

SMLPPTest0006.Test

Enclosing Modules:

SMLPPTest0006


structure Test = SMLUnit.Test


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0006-StrTestee.html0000644 000000000000000000000231512050661606025363 0ustar00rootroot0000000 0000000 SMLPPTest0006.Testee
Overview  Index  Help 

SMLPPTest0006.Testee

Enclosing Modules:

SMLPPTest0006


structure Testee = SMLPP


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0006.html0000644 000000000000000000001063012050661606023442 0ustar00rootroot0000000 0000000 SMLPPTest0006
Overview  Index  Help 

SMLPPTest0006


structure SMLPPTest0006 =
struct
  structure Assert = SMLUnit.Assert
  structure Test = SMLUnit.Test
  structure Testee = SMLPP
  structure FE = Testee.FormatExpression
  structure PP = Testee.PrinterParameter
  val prettyPrint
  val ind_s1
  val ind_s2
  val ind_sd
  val testIndent0001
  val testIndent0002
  val testIndent0003
  val testIndent0004
  val testIndent0005
  val suite
end

test cases for pretty-printing of expressions with indent width indicators.
Test cases matrix
casedescription
Indent0001 including single indent, but not required to insert newline
Indent0002 including single indent and required to insert newline at indicators within the indent region.
Indent0003 including multiple newline indicators within an indent region
Indent0004including nested indent indicator
Indent0005 including indent indicator whose indent width is negative integer

       
Value detail

prettyPrint

val prettyPrint


ind_s1

val ind_s1


ind_s2

val ind_s2


ind_sd

val ind_sd


testIndent0001

val testIndent0001


testIndent0002

val testIndent0002


testIndent0003

val testIndent0003


testIndent0004

val testIndent0004


testIndent0005

val testIndent0005


suite

val suite

 


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0007-StrAssert.html0000644 000000000000000000000232612050661606025376 0ustar00rootroot0000000 0000000 SMLPPTest0007.Assert
Overview  Index  Help 

SMLPPTest0007.Assert

Enclosing Modules:

SMLPPTest0007


structure Assert = SMLUnit.Assert


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0007-StrFE.html0000644 000000000000000000000231712050661606024427 0ustar00rootroot0000000 0000000 SMLPPTest0007.FE
Overview  Index  Help 

SMLPPTest0007.FE

Enclosing Modules:

SMLPPTest0007


structure FE = Testee.FormatExpression


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0007-StrPP.html0000644 000000000000000000000231712050661606024454 0ustar00rootroot0000000 0000000 SMLPPTest0007.PP
Overview  Index  Help 

SMLPPTest0007.PP

Enclosing Modules:

SMLPPTest0007


structure PP = Testee.PrinterParameter


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0007-StrTest.html0000644 000000000000000000000231412050661606025051 0ustar00rootroot0000000 0000000 SMLPPTest0007.Test
Overview  Index  Help 

SMLPPTest0007.Test

Enclosing Modules:

SMLPPTest0007


structure Test = SMLUnit.Test


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0007-StrTestee.html0000644 000000000000000000000231512050661606025364 0ustar00rootroot0000000 0000000 SMLPPTest0007.Testee
Overview  Index  Help 

SMLPPTest0007.Testee

Enclosing Modules:

SMLPPTest0007


structure Testee = SMLPP


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0007.html0000644 000000000000000000001145212050661606023446 0ustar00rootroot0000000 0000000 SMLPPTest0007
Overview  Index  Help 

SMLPPTest0007


structure SMLPPTest0007 =
struct
  structure Assert = SMLUnit.Assert
  structure Test = SMLUnit.Test
  structure Testee = SMLPP
  structure FE = Testee.FormatExpression
  structure PP = Testee.PrinterParameter
  val prettyPrint
  val ind_s
  val ind_s1
  val ind_s2
  val ind_sd
  val testGuard0001
  val testGuard0002
  val testGuard0003
  val testGuard0004
  val testGuard0005
  val suite
end

test cases for pretty-printing of expressions included within guards.
Test cases matrix
casedescription
Guard0001 including twe nested guards, the outer one contains a newline indicator whose priority is higher than a newline indicator in the inner one. Specifies the minimum number of columns which do not require to insert newline at indicator within the inner guard.
Guard0002 including two nested guards, the outer one contains a deferred newline indicator and the inner guard contains a preferred newline indicator.
Guard0003 including two nested guards whose ranges do not overlap
Guard0004 including a guard whose base column is higher than zero.
Guard0005 including a guard which is included within a indent region

       
Value detail

prettyPrint

val prettyPrint


ind_s

val ind_s


ind_s1

val ind_s1


ind_s2

val ind_s2


ind_sd

val ind_sd


testGuard0001

val testGuard0001


testGuard0002

val testGuard0002


testGuard0003

val testGuard0003


testGuard0004

val testGuard0004


testGuard0005

val testGuard0005


suite

val suite

 


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0008-StrAssert.html0000644 000000000000000000000232612050661606025377 0ustar00rootroot0000000 0000000 SMLPPTest0008.Assert
Overview  Index  Help 

SMLPPTest0008.Assert

Enclosing Modules:

SMLPPTest0008


structure Assert = SMLUnit.Assert


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0008-StrFE.html0000644 000000000000000000000231712050661606024430 0ustar00rootroot0000000 0000000 SMLPPTest0008.FE
Overview  Index  Help 

SMLPPTest0008.FE

Enclosing Modules:

SMLPPTest0008


structure FE = Testee.FormatExpression


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0008-StrPP.html0000644 000000000000000000000231712050661606024455 0ustar00rootroot0000000 0000000 SMLPPTest0008.PP
Overview  Index  Help 

SMLPPTest0008.PP

Enclosing Modules:

SMLPPTest0008


structure PP = Testee.PrinterParameter


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0008-StrTest.html0000644 000000000000000000000231412050661606025052 0ustar00rootroot0000000 0000000 SMLPPTest0008.Test
Overview  Index  Help 

SMLPPTest0008.Test

Enclosing Modules:

SMLPPTest0008


structure Test = SMLUnit.Test


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0008-StrTestee.html0000644 000000000000000000000231512050661606025365 0ustar00rootroot0000000 0000000 SMLPPTest0008.Testee
Overview  Index  Help 

SMLPPTest0008.Testee

Enclosing Modules:

SMLPPTest0008


structure Testee = SMLPP


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0008.html0000644 000000000000000000002207112050661606023446 0ustar00rootroot0000000 0000000 SMLPPTest0008
Overview  Index  Help 

SMLPPTest0008


structure SMLPPTest0008 =
struct
  structure Assert = SMLUnit.Assert
  structure Test = SMLUnit.Test
  structure Testee = SMLPP
  structure FE = Testee.FormatExpression
  structure PP = Testee.PrinterParameter
  val TESTASSOC_COLUMNS
  val prettyPrint
  val makeExpression
  val assertAssoc
  val testAssoc0LL1
  val testAssoc0LL2
  val testAssoc0LL3
  val testAssoc0LN1
  val testAssoc0LN2
  val testAssoc0LN3
  val testAssoc0LR1
  val testAssoc0LR2
  val testAssoc0LR3
  val testAssoc0NL1
  val testAssoc0NL2
  val testAssoc0NL3
  val testAssoc0NN1
  val testAssoc0NN2
  val testAssoc0NN3
  val testAssoc0NR1
  val testAssoc0NR2
  val testAssoc0NR3
  val testAssoc0RL1
  val testAssoc0RL2
  val testAssoc0RL3
  val testAssoc0RN1
  val testAssoc0RN2
  val testAssoc0RN3
  val testAssoc0RR1
  val testAssoc0RR2
  val testAssoc0RR3
  val suite
end

test cases examining the relation between the associativity indicators of two guards one of which is nested within the other.

These cases pretty-print expressions of the form as follows:

 cm{ dn{ ... } ... dn{ ... } }
 
c, d denotes assoc direction(L, R, N), and m, n denotes assoc strength (integer value).

Test cases matrix
case direction(inner) direction(outer) relation R of strength(inner R outer)
0LL1LL<
0LL2=
0LL3>
0LN1N<
0LN2=
0LN3>
0LR1R<
0LR2=
0LR3>

       
Value detail

TESTASSOC_COLUMNS

val TESTASSOC_COLUMNS


prettyPrint

val prettyPrint


makeExpression

val makeExpression


assertAssoc

val assertAssoc


testAssoc0LL1

val testAssoc0LL1


testAssoc0LL2

val testAssoc0LL2


testAssoc0LL3

val testAssoc0LL3


testAssoc0LN1

val testAssoc0LN1


testAssoc0LN2

val testAssoc0LN2


testAssoc0LN3

val testAssoc0LN3


testAssoc0LR1

val testAssoc0LR1


testAssoc0LR2

val testAssoc0LR2


testAssoc0LR3

val testAssoc0LR3


testAssoc0NL1

val testAssoc0NL1


testAssoc0NL2

val testAssoc0NL2


testAssoc0NL3

val testAssoc0NL3


testAssoc0NN1

val testAssoc0NN1


testAssoc0NN2

val testAssoc0NN2


testAssoc0NN3

val testAssoc0NN3


testAssoc0NR1

val testAssoc0NR1


testAssoc0NR2

val testAssoc0NR2


testAssoc0NR3

val testAssoc0NR3


testAssoc0RL1

val testAssoc0RL1


testAssoc0RL2

val testAssoc0RL2


testAssoc0RL3

val testAssoc0RL3


testAssoc0RN1

val testAssoc0RN1


testAssoc0RN2

val testAssoc0RN2


testAssoc0RN3

val testAssoc0RN3


testAssoc0RR1

val testAssoc0RR1


testAssoc0RR2

val testAssoc0RR2


testAssoc0RR3

val testAssoc0RR3


suite

val suite

 


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0009-StrAssert.html0000644 000000000000000000000232612050661606025400 0ustar00rootroot0000000 0000000 SMLPPTest0009.Assert
Overview  Index  Help 

SMLPPTest0009.Assert

Enclosing Modules:

SMLPPTest0009


structure Assert = SMLUnit.Assert


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0009-StrFE.html0000644 000000000000000000000231712050661606024431 0ustar00rootroot0000000 0000000 SMLPPTest0009.FE
Overview  Index  Help 

SMLPPTest0009.FE

Enclosing Modules:

SMLPPTest0009


structure FE = Testee.FormatExpression


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0009-StrPP.html0000644 000000000000000000000231712050661606024456 0ustar00rootroot0000000 0000000 SMLPPTest0009.PP
Overview  Index  Help 

SMLPPTest0009.PP

Enclosing Modules:

SMLPPTest0009


structure PP = Testee.PrinterParameter


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0009-StrTest.html0000644 000000000000000000000231412050661606025053 0ustar00rootroot0000000 0000000 SMLPPTest0009.Test
Overview  Index  Help 

SMLPPTest0009.Test

Enclosing Modules:

SMLPPTest0009


structure Test = SMLUnit.Test


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0009-StrTestee.html0000644 000000000000000000000231512050661606025366 0ustar00rootroot0000000 0000000 SMLPPTest0009.Testee
Overview  Index  Help 

SMLPPTest0009.Testee

Enclosing Modules:

SMLPPTest0009


structure Testee = SMLPP


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0009.html0000644 000000000000000000001555612050661606023461 0ustar00rootroot0000000 0000000 SMLPPTest0009
Overview  Index  Help 

SMLPPTest0009


structure SMLPPTest0009 =
struct
  structure Assert = SMLUnit.Assert
  structure Test = SMLUnit.Test
  structure Testee = SMLPP
  structure FE = Testee.FormatExpression
  structure PP = Testee.PrinterParameter
  val TESTASSOC_COLUMNS
  val prettyPrint
  val TESTASSOC_ASSOCSTRENGTH
  val makeExpression
  val assertAssoc
  val testAssoc00L1
  val testAssoc00L2
  val testAssoc00L3
  val testAssoc00L4
  val testAssoc00N1
  val testAssoc00N2
  val testAssoc00N3
  val testAssoc00N4
  val testAssoc00R1
  val testAssoc00R2
  val testAssoc00R3
  val testAssoc00R4
  val suite
end

verify that the SMLPP treats the left/right most element in guards properly in inheriting associativity from the guards to their elements.

These cases pretty-print expressions of the form as follows:

 cm{ eL Lm{ ... } ... Rm{ ... } eR }
 
c denotes assoc direction(L, N, R), and m denotes assoc strength (integer value).

If eL or eR is not Term or Guard, it should be ignored in the inheritance of associativity.

Test cases matrix
case direction(c) left-most of inner(eL) right-most of inner(eR)
00L1LTermTerm
00L2GuardGuard
00L3IndicatorIndicator
00L4StartOfIndentEndOfIndent
00N1NTermTerm
00N2GuardGuard
00N3IndicatorIndicator
00N4StartOfIndentEndOfIndent
00R1RTermTerm
00R2GuardGuard
00R3IndicatorIndicator
00R4StartOfIndentEndOfIndent

       
Value detail

TESTASSOC_COLUMNS

val TESTASSOC_COLUMNS


prettyPrint

val prettyPrint


TESTASSOC_ASSOCSTRENGTH

val TESTASSOC_ASSOCSTRENGTH


makeExpression

val makeExpression


assertAssoc

val assertAssoc


testAssoc00L1

val testAssoc00L1


testAssoc00L2

val testAssoc00L2


testAssoc00L3

val testAssoc00L3


testAssoc00L4

val testAssoc00L4


testAssoc00N1

val testAssoc00N1


testAssoc00N2

val testAssoc00N2


testAssoc00N3

val testAssoc00N3


testAssoc00N4

val testAssoc00N4


testAssoc00R1

val testAssoc00R1


testAssoc00R2

val testAssoc00R2


testAssoc00R3

val testAssoc00R3


testAssoc00R4

val testAssoc00R4


suite

val suite

 


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0010-StrAssert.html0000644 000000000000000000000232612050661606025370 0ustar00rootroot0000000 0000000 SMLPPTest0010.Assert
Overview  Index  Help 

SMLPPTest0010.Assert

Enclosing Modules:

SMLPPTest0010


structure Assert = SMLUnit.Assert


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0010-StrFE.html0000644 000000000000000000000231712050661606024421 0ustar00rootroot0000000 0000000 SMLPPTest0010.FE
Overview  Index  Help 

SMLPPTest0010.FE

Enclosing Modules:

SMLPPTest0010


structure FE = Testee.FormatExpression


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0010-StrPP.html0000644 000000000000000000000231712050661606024446 0ustar00rootroot0000000 0000000 SMLPPTest0010.PP
Overview  Index  Help 

SMLPPTest0010.PP

Enclosing Modules:

SMLPPTest0010


structure PP = Testee.PrinterParameter


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0010-StrTest.html0000644 000000000000000000000231412050661606025043 0ustar00rootroot0000000 0000000 SMLPPTest0010.Test
Overview  Index  Help 

SMLPPTest0010.Test

Enclosing Modules:

SMLPPTest0010


structure Test = SMLUnit.Test


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0010-StrTestee.html0000644 000000000000000000000231512050661606025356 0ustar00rootroot0000000 0000000 SMLPPTest0010.Testee
Overview  Index  Help 

SMLPPTest0010.Testee

Enclosing Modules:

SMLPPTest0010


structure Testee = SMLPP


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTest0010.html0000644 000000000000000000001717712050661606023452 0ustar00rootroot0000000 0000000 SMLPPTest0010
Overview  Index  Help 

SMLPPTest0010


structure SMLPPTest0010 =
struct
  structure Assert = SMLUnit.Assert
  structure Test = SMLUnit.Test
  structure Testee = SMLPP
  structure FE = Testee.FormatExpression
  structure PP = Testee.PrinterParameter
  val TESTASSOC_COLUMNS
  val prettyPrint
  val makeExpression
  val assertAssoc
  val testAssoc0001
  val testAssoc0002
  val testAssoc0003
  val testAssoc0004
  val testAssoc0005
  val testAssoc0006
  val testAssoc0007
  val testAssoc0008
  val testAssoc0101
  val testAssoc0102
  val testAssoc0103
  val testAssoc0104
  val testAssoc0105
  val testAssoc0106
  val testAssoc0107
  val testAssoc0108
  val suite
end

verify the inheritance of associativity when the expressions contains three nested guards.

These cases pretty-print expressions of the form as follows:

 c{ d{ e{ ... } } ... d{ e{ ... } } }
 
c, d, e denotes assoc indicators.

variation of cut attribute of assoc indicator of the middle guard:

  • without cut
  • with cut

variation of strength of assoc indicators:

  • (1) c < d < e
  • (2) c < e < d
  • (3) d < c < e
  • (4) d < e < c
  • (5) e < c < d
  • (6) e < d < c
  • (7) c < e (the middle guard has no assoc)
  • (8) e < c (the middle guard has no assoc)
Test cases matrix
case cut attribute strength of assoc indicators
0001without cut1
00022
00033
00044
00055
00066
00077
00088
0101with cut1
01022
01033
01044
01055
01066
01077
01088

       
Value detail

TESTASSOC_COLUMNS

val TESTASSOC_COLUMNS


prettyPrint

val prettyPrint


makeExpression

val makeExpression


assertAssoc

val assertAssoc


testAssoc0001

val testAssoc0001


testAssoc0002

val testAssoc0002


testAssoc0003

val testAssoc0003


testAssoc0004

val testAssoc0004


testAssoc0005

val testAssoc0005


testAssoc0006

val testAssoc0006


testAssoc0007

val testAssoc0007


testAssoc0008

val testAssoc0008


testAssoc0101

val testAssoc0101


testAssoc0102

val testAssoc0102


testAssoc0103

val testAssoc0103


testAssoc0104

val testAssoc0104


testAssoc0105

val testAssoc0105


testAssoc0106

val testAssoc0106


testAssoc0107

val testAssoc0107


testAssoc0108

val testAssoc0108


suite

val suite

 


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrSMLPPTestUtil.html0000644 000000000000000000000440212050661606023772 0ustar00rootroot0000000 0000000 SMLPPTestUtil
Overview  Index  Help 

SMLPPTestUtil


structure SMLPPTestUtil =
struct
  val assertEqualAssoc
  val assertEqualPriority
  val assertEqualFormatExpression
  val assertEqualFormatExpressionList
end

       
Value detail

assertEqualAssoc

val assertEqualAssoc


assertEqualPriority

val assertEqualPriority


assertEqualFormatExpression

val assertEqualFormatExpression


assertEqualFormatExpressionList

val assertEqualFormatExpressionList

 


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/doc/test/StrTestMain.html0000644 000000000000000000000264712050661606023136 0ustar00rootroot0000000 0000000 TestMain
Overview  Index  Help 

TestMain


structure TestMain = struct open SMLUnit.Test val test end

       
Value detail

test

val test

 


Overview  Index  Help 
smlsharp-1.2.0/src/smlformat/example0000755 000000000000000000000000012050661606017652 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/smlformat/example/CMIntegration0000755 000000000000000000000000012050661606022355 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/smlformat/example/CMIntegration/Main.sml0000644 000000000000000000000043412050661606024036 0ustar00rootroot0000000 0000000 (** * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. *) structure Main = struct val _ = CM.mkusefile; val tree = Tree.Node(Tree.Leaf 1, Tree.Node(Tree.Leaf 2, Tree.Leaf 3)) fun main () = Tree.format_tree (SMLPP.BasicFormatters.format_int) tree endsmlsharp-1.2.0/src/smlformat/example/CMIntegration/sources.cm0000644 000000000000000000000045412050661606024443 0ustar00rootroot0000000 0000000 (* * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. *) Group is (* #if defined(NEW_CM) $/basis_compat.cm #endif *) $/basis.cm ../../smlformatlib.cm #if (defined(structure PPGSourceTool)) Tree.ppg:ppg #else Tree.ppg.sml #endif Main.sml smlsharp-1.2.0/src/smlformat/example/CMIntegration/Tree.ppg0000644 000000000000000000000051312050661606024042 0ustar00rootroot0000000 0000000 (* -*- sml -*- *) structure Tree = struct (*% *) datatype 'a tree = (*% * @format(value) "L" value *) Leaf of 'a | (*% * @format(lelem left * relem right) {"N(" left(lelem) "," +1 right(relem) ")"} *) Node of 'a tree * 'a tree end smlsharp-1.2.0/src/smlformat/example/FormatExpressionParser0000755 000000000000000000000000012050661606024337 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/smlformat/example/FormatExpressionParser/Ast.sml0000644 000000000000000000000043312050661606025662 0ustar00rootroot0000000 0000000 (** * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. *) structure Ast = struct datatype command = EXIT | PRINT of SMLFormat.FormatExpression.expression list | SET of string * string | USE of string endsmlsharp-1.2.0/src/smlformat/example/FormatExpressionParser/Lexer.lex0000644 000000000000000000002045512050661606026215 0ustar00rootroot0000000 0000000 (* -*- sml-lex -*- * ml.lex * Copyright 1989 by AT&T Bell Laboratories *) type svalue = Tokens.svalue type ('a,'b) token = ('a,'b) Tokens.token type pos = {fileName:string, line:int, col:int} type lexresult = (svalue,pos) Tokens.token type arg = { columns : int ref, space : string ref, newline : string ref, guardLeft : string ref, guardRight : string ref, maxDepthOfGuards : int option ref, maxWidthOfGuards : int option ref, cutOverTail : bool ref, comLevel : int ref, doFirstLinePrompt : bool ref, error : (string * pos * pos) -> unit, fileName:string, linePos:int ref (* file position at the last nl *), ln:int ref, (* current line number *) promptMode:bool, stream:TextIO.instream, stringBuf:string list ref, stringStart:pos ref, stringType:bool ref, verbose : bool ref } fun currentPos (p,n,arg:arg) = {fileName = #fileName arg,line = !(#ln arg), col=p - !(#linePos arg) + n} fun left (p,arg) = currentPos(p,0,arg) fun right (p,s,arg) = currentPos(p,s,arg) fun addString (buf,s) = buf := s::(!buf) fun addChar (buf,s) = buf := Char.toString s::(!buf) fun makeString (buf) = concat (rev (!buf)) before buf := nil val eof = fn s => Tokens.EOF (left(0,s),right(0,0,s)) local fun cvt radix (s, i) = #1(valOf(Int.scan radix Substring.getc (Substring.triml i (Substring.full s)))) in val atoi = cvt StringCvt.DEC val xtoi = cvt StringCvt.HEX end (* local *) fun inc (ri as ref i) = (ri := i+1) fun dec (ri as ref i) = (ri := i-1) %% %reject %s A FC S F Q AQ L LL LLC LLCQ; %header (functor FormatExpressionLexFun(structure Tokens : FormatExpression_TOKENS)); %arg (args as { columns, space, newline, guardLeft, guardRight, maxDepthOfGuards, maxWidthOfGuards, cutOverTail, comLevel, doFirstLinePrompt, error, fileName, linePos, ln, promptMode, stream, stringBuf, stringStart, stringType, verbose } : { columns : int ref, space : string ref, newline : string ref, guardLeft : string ref, guardRight : string ref, maxDepthOfGuards : int option ref, maxWidthOfGuards : int option ref, cutOverTail : bool ref, comLevel : int ref, doFirstLinePrompt : bool ref, error : (string * {fileName:string, line:int, col:int} * {fileName:string, line:int, col:int}) -> unit, fileName:string, linePos:int ref (* file position at the last nl *), ln:int ref, (* current line number *) promptMode:bool, stream:TextIO.instream, stringBuf:string list ref, stringStart:{fileName:string, line:int, col:int} ref, stringType:bool ref, verbose : bool ref }); idchars=[A-Za-z'_0-9]; id=[A-Za-z]{idchars}*; ws=("\012"|[\t\ ])*; nrws=("\012"|[\t\ ])+; eol=("\013\010"|"\010"|"\013"); some_sym=[!%&$+/:<=>?@~|#*]|\-|\^; sym={some_sym}|"\\"; quote="`"; full_sym={sym}|{quote}; num=[0-9]+; frac="."{num}; exp=[eE](~?){num}; real=(~?)(({num}{frac}?{exp})|({num}{frac}{exp}?)); hexnum=[0-9a-fA-F]+; %% {eol} => (ln := !ln + 1; linePos := yypos; continue()); exit => (Tokens.EXIT(left(yypos,args), right(yypos,size yytext,args))); print => (Tokens.PRINT(left(yypos, args), right(yypos,size yytext,args))); set => (Tokens.SET(left(yypos, args), right(yypos,size yytext,args))); use => (Tokens.USE(left(yypos, args), right(yypos,size yytext,args))); \" => (stringBuf := [""]; stringStart := left(yypos,args); stringType := true; YYBEGIN S; continue()); "\\n" => (Tokens.NEWLINE(left(yypos, args), right(yypos,size yytext,args))); ("~")?{num}"[" => (Tokens.STARTOFINDENT(atoi(yytext, 0), left(yypos,args), right(yypos,size yytext,args))); "+" => (Tokens.FORMATINDICATOR({space = true, newline = NONE}, left(yypos,args),right(yypos,size yytext,args))); "+"?("d"|{num}) => (let val space = String.sub (yytext, 0) = #"+" val priorityText = if space then String.extract (yytext, 1, NONE) else yytext val priority = if priorityText = "d" then SMLFormat.FormatExpression.Deferred else SMLFormat.FormatExpression.Preferred (atoi(priorityText, 0)) val indicatorArg = {space = space, newline = SOME{priority = priority}} in Tokens.FORMATINDICATOR (indicatorArg, left(yypos,args), right(yypos,size yytext, args)) end); "!"?[LRN]("~")?{num} => (let val (cut, directionCharPos, numStartPos) = if #"!" = String.sub (yytext, 0) then (true, 1, 2) else (false, 0, 1) val direction = case String.sub (yytext, directionCharPos) of #"L" => SMLFormat.FormatExpression.Left | #"R" => SMLFormat.FormatExpression.Right | #"N" => SMLFormat.FormatExpression.Neutral val strength = atoi (yytext, numStartPos) in Tokens.ASSOCINDICATOR ({ cut = cut, direction = direction, strength = strength }, left(yypos,args), right(yypos,size yytext,args)) end); ";" => (Tokens.SEMICOLON(left(yypos,args),right(yypos,size yytext,args))); "{" => (Tokens.LBRACE(left(yypos,args),right(yypos,1,args))); "}" => (Tokens.RBRACE(left(yypos,args),right(yypos,1,args))); "]" => (Tokens.RBRACKET(left(yypos,args),right(yypos,1,args))); {id} => (Tokens.ID(yytext,left(yypos,args),right(yypos,size yytext,args))); {ws} => (continue()); . => (error ("ml lexer: bad character:"^yytext, left(yypos, args), right(yypos,1,args)) ; continue()); "(*" => (YYBEGIN A; comLevel := 1; continue()); "(*" => (comLevel := !comLevel + 1; continue()); "*)" => (comLevel := !comLevel - 1; if !comLevel=0 then YYBEGIN INITIAL else (); continue()); . => (continue()); \" => (let val s = makeString stringBuf val s = if size s <> 1 andalso not(!stringType) then (error ("character constant not length 1", left(yypos, args), right(yypos,1,args)); substring(s^"x",0,1)) else s val t = (s,!stringStart,right(yypos,1,args)) in YYBEGIN INITIAL; Tokens.STRING t end); {eol} => (error ("unclosed string",left(yypos,args),right(yypos,1,args)); YYBEGIN INITIAL; Tokens.STRING(makeString stringBuf,!stringStart,right(yypos,1,args))); \\{eol} => (ln := !ln + 1; linePos := yypos; error ("unclosed string", left(yypos,args),right(yypos,1,args)); continue()); \\{ws} => (error ("unclosed string",left(yypos,args),right(yypos,1,args)); continue()); \\a => (addString(stringBuf, "\007"); continue()); \\b => (addString(stringBuf, "\008"); continue()); \\f => (addString(stringBuf, "\012"); continue()); \\n => (addString(stringBuf, "\010"); continue()); \\r => (addString(stringBuf, "\013"); continue()); \\t => (addString(stringBuf, "\009"); continue()); \\v => (addString(stringBuf, "\011"); continue()); \\\\ => (addString(stringBuf, "\\"); continue()); \\\" => (addString(stringBuf, "\""); continue()); \\\^[@-_] => (addChar(stringBuf, Char.chr(Char.ord(String.sub(yytext,2))-Char.ord #"@")); continue()); \\\^. => (error ("illegal control escape; must be one of \ \@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_", left(yypos,args),right(yypos,2,args)); continue()); \\[0-9]{3} => (let val x = Char.ord(String.sub(yytext,1))*100 +Char.ord(String.sub(yytext,2))*10 +Char.ord(String.sub(yytext,3)) -((Char.ord #"0")*111) in (if x>255 then error ("illegal ascii escape",left(yypos,args),right(yypos,1,args)) else addChar(stringBuf, Char.chr x); continue()) end); \\ => (error ("illegal string escape",left(yypos,args),right(yypos,1,args)); continue()); [\000-\031] => (error ("illegal non-printing character in string",left(yypos,args),right(yypos,1,args)); continue()); ({idchars}|{some_sym}|\[|\]|\(|\)|{quote}|[,.;^{}])+|. => (addString(stringBuf,yytext); continue()); smlsharp-1.2.0/src/smlformat/example/FormatExpressionParser/load.sml0000644 000000000000000000000031512050661606026051 0ustar00rootroot0000000 0000000 (* * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. *) use "../../pplib/main/load.sml"; use "Ast.sml"; use "Lexer.lex.sml"; use "Parser.grm.sig"; use "Parser.grm.sml"; use "Main.sml"; smlsharp-1.2.0/src/smlformat/example/FormatExpressionParser/Main.sml0000644 000000000000000000002601112050661606026017 0ustar00rootroot0000000 0000000 (** * SMLPP example: Format expression parser * * YAMATODANI Kiyoshi * * Original is: * Copyright 2001 * Atsushi Ohori * JAIST, Ishikawa Japan. *) structure Main = struct (***************************************************************************) structure FormatExpressionLrVals = FormatExpressionLrValsFun(structure Token = LrParser.Token) structure FormatExpressionLex = FormatExpressionLexFun(structure Tokens = FormatExpressionLrVals.Tokens) structure FormatExpressionParser= JoinWithArg(structure ParserData = FormatExpressionLrVals.ParserData structure Lex=FormatExpressionLex structure LrParser=LrParser) structure PP = SMLFormat.PrinterParameter (***************************************************************************) type pos = {fileName : string, line : int, col : int} type lexarg = { columns : int ref, space : string ref, newline : string ref, guardLeft : string ref, guardRight : string ref, maxDepthOfGuards : int option ref, maxWidthOfGuards : int option ref, cutOverTail : bool ref, comLevel : int ref, doFirstLinePrompt : bool ref, error : (string * pos * pos) -> unit, fileName : string, linePos : int ref , ln : int ref, promptMode : bool, stream : TextIO.instream, stringBuf : string list ref, stringStart : pos ref, stringType : bool ref, verbose : bool ref } (***************************************************************************) exception EndOfParse exception ParseError (***************************************************************************) val firstLinePrompt = "->" val secondLinePrompt = ">>" (***************************************************************************) fun makeScale length = let fun append index (lineChars, scaleChars) = if index = length + 1 then (String.implode lineChars) ^ "\n" ^ (String.implode(List.rev scaleChars)) else append (index + 1) ( (#"-" :: lineChars), (String.sub (Int.toString (index mod 10), 0) :: scaleChars) ) in append 1 ([], []) end fun printError ( message, {fileName, line = lineBegin, col = colBegin}, {fileName = _, line = lineEnd, col = colEnd} ) = (TextIO.output ( TextIO.stdOut, String.concat [ fileName, ":", Int.toString lineBegin, ".", Int.toString colBegin, "-", Int.toString lineEnd, ".", Int.toString colEnd, " ", message, "\n" ] ); raise ParseError) fun flush(arg:lexarg) = ( #comLevel arg := 0; #doFirstLinePrompt arg := true; #linePos arg := 0; #ln arg := 1; #stringBuf arg := nil; #stringStart arg := {fileName = #fileName (!(#stringStart arg)), line = 0, col = 0}; #stringType arg := true ) fun processInput arg = let local val dummyLocation = ( {fileName = "", line = 0, col = 0}, {fileName = "", line = 0, col = 0} ) val dummyEOF = FormatExpressionLrVals.Tokens.EOF dummyLocation val dummySEMICOLON = FormatExpressionLrVals.Tokens.SEMICOLON dummyLocation in fun oneParse lexer = let val _ = #doFirstLinePrompt arg := true val (nextToken, lexer') = FormatExpressionParser.Stream.get lexer in if FormatExpressionParser.sameToken(nextToken, dummyEOF) then raise EndOfParse else if FormatExpressionParser.sameToken(nextToken, dummySEMICOLON) then oneParse lexer' else FormatExpressionParser.parse(0, lexer, printError, ()) end end fun loop lexer = let val (result, lexer') = oneParse lexer in case result of Ast.SET(item, value) => (case item of "columns" => (case Int.fromString value of SOME width => (#columns arg) := width | NONE => print "columns must be integer.\n"; loop lexer') | "cutovertail" => (case value of "true" => (#cutOverTail arg) := true | "false" => (#cutOverTail arg) := false | _ => print "cutovertail must be true or false.\n"; loop lexer') | "space" => (#space arg := value; loop lexer') | "newline" => (#newline arg := value; loop lexer') | "guardleft" => (#guardLeft arg := value; loop lexer') | "guardright" => (#guardRight arg := value; loop lexer') | "depth" => (case value of "-" => (#maxDepthOfGuards arg := NONE; loop lexer') | _ => (case Int.fromString value of SOME d => #maxDepthOfGuards arg := SOME d | NONE => print "depth must be integer or '-'.\n"; loop lexer')) | "width" => (case value of "-" => (#maxWidthOfGuards arg := NONE; loop lexer') | _ => (case Int.fromString value of SOME d => #maxWidthOfGuards arg := SOME d | NONE => print "width must be integer or '-'.\n"; loop lexer')) | "verbose" => (case value of "true" => (#verbose arg) := true | "false" => (#verbose arg) := false | _ => print "verbose must be true or false.\n"; loop lexer') | _ => (print ("unknown option:" ^ item ^ ".\n"); loop lexer')) | Ast.EXIT => () | Ast.USE sourceFileName => (let val arg = { columns = ref (!(#columns arg)), space = ref (!(#space arg)), newline = ref (!(#newline arg)), guardLeft = ref (!(#guardLeft arg)), guardRight = ref (!(#guardRight arg)), maxDepthOfGuards = ref (!(#maxDepthOfGuards arg)), maxWidthOfGuards = ref (!(#maxWidthOfGuards arg)), cutOverTail = ref (!(#cutOverTail arg)), comLevel = ref 0, doFirstLinePrompt = ref true, error = #error arg, fileName = sourceFileName, promptMode = false, stream = TextIO.openIn sourceFileName, linePos = ref 0, ln = ref 1, stringBuf = ref nil : string list ref, stringStart = ref {fileName = sourceFileName, line = 0, col = 0}, stringType = ref true, verbose = ref (!(#verbose arg)) } : lexarg in processInput arg end handle EndOfParse => loop lexer' | IO.Io detail => let val message = case (#cause detail) of OS.SysErr (s, SOME err) => "GenLex error: use clause ignored. " ^ (OS.errorMsg err) ^ " : " ^ (#name detail) | _ => "IO error " ^ (#function detail) ^ " " ^ (#name detail) in TextIO.output(TextIO.stdOut, message ^ "\n"); TextIO.flushOut TextIO.stdOut; loop lexer' end) | Ast.PRINT (expressions) => let val parameter = [ SMLFormat.Columns(!(#columns arg)), SMLFormat.Newline(!(#newline arg)), SMLFormat.Space(!(#space arg)), SMLFormat.GuardLeft(!(#guardLeft arg)), SMLFormat.GuardRight(!(#guardRight arg)), SMLFormat.MaxDepthOfGuards(!(#maxDepthOfGuards arg)), SMLFormat.MaxWidthOfGuards(!(#maxWidthOfGuards arg)), SMLFormat.CutOverTail(!(#cutOverTail arg)) ] in print (SMLFormat.prettyPrint parameter expressions) handle SMLFormat.Fail message => print (message ^ "\n"); print "\n"; if !(#verbose arg) then print (makeScale (!(#columns arg)) ^ "\n") else (); loop lexer' end end fun getLine length = ( if #promptMode arg then if !(#doFirstLinePrompt arg) then ( #doFirstLinePrompt arg := false; print firstLinePrompt; TextIO.flushOut TextIO.stdOut ) else ( print secondLinePrompt; TextIO.flushOut TextIO.stdOut ) else (); case TextIO.inputLine (#stream arg) of NONE => "" | SOME s => s ) val lexer = FormatExpressionParser.makeLexer getLine arg in (loop lexer) handle ParseError => (flush arg; processInput arg) end fun main () = let val initialSource = { columns = ref 40, space = ref PP.defaultSpace, newline = ref PP.defaultNewline, guardLeft = ref PP.defaultGuardLeft, guardRight = ref PP.defaultGuardRight, maxDepthOfGuards = ref NONE, maxWidthOfGuards = ref NONE, cutOverTail = ref false, comLevel=ref 0, doFirstLinePrompt = ref true, error = printError, fileName="stdIn", stream=TextIO.stdIn, linePos= ref 1, ln = ref 1, promptMode = true, stringBuf = ref nil : string list ref, stringStart = ref {fileName = "stdIn", line = 0, col = 0}, stringType = ref true, verbose = ref false } : lexarg in processInput initialSource handle EndOfParse => () end end smlsharp-1.2.0/src/smlformat/example/FormatExpressionParser/OverviewSample.txt0000644 000000000000000000000475612050661606030143 0ustar00rootroot0000000 0000000 (* 2.2 *) print "jugemu"; print "jugemu" "jugemu"; print "jugemu" " " "jugemu" " " "gokounosurikire"; (* 2.3 *) print "jugemu" + "jugemu" + "gokounosurikire"; (* 2.4 *) set columns "40"; print "jugemu" + "jugemu" + "gokounosurikire" + "kaijarisuigyono"; set columns "50"; print "jugemu" 2 "jugemu" 1 "gokounosurikire" 2 "kaijarisuigyono"; set columns "40"; print "jugemu" 2 "jugemu" 1 "gokounosurikire" 2 "kaijarisuigyono"; set columns "20"; print "jugemu" 2 "jugemu" 1 "gokounosurikire" 2 "kaijarisuigyono"; (* 2.4.1 *) set columns "50"; print "jugemu" +2 "jugemu" +1 "gokounosurikire" +2 "kaijarisuigyono"; set columns "40"; print "jugemu" +2 "jugemu" +1 "gokounosurikire" +2 "kaijarisuigyono"; print "jugemu" +2 "jugemu" " "1 "gokounosurikire" +2 "kaijarisuigyono"; (* 2.4.2 *) set columns "30"; print "jugemu" +d "jugemu" +1 "gokounosurikire" +2 "kaijarisuigyono"; set columns "10"; print "jugemu" +d "jugemu" +1 "gokounosurikire" +2 "kaijarisuigyono"; (* 2.4.3 *) set columns "30"; print "jugemu" +2 "jugemu" +1 "gokounosurikire" +d "kaijarisuigyono"; print "jugemu" +d "jugemu" +1 "gokounosurikire" +d "kaijarisuigyono"; (* 2.5 *) set columns "40"; print "jugemu" +2 "jugemu" 5[ +1 "gokounosurikire" ] +2 "kaijarisuigyono"; set columns "30"; print "jugemu" +2 "jugemu" 5[ +1 "gokounosurikire" ] +2 "kaijarisuigyono"; print "jugemu" +2 "jugemu" 5[ +1 "gokounosurikire" +2 "kaijarisuigyono"]; print "jugemu" +2 "jugemu" 5[ +1 "gokounosurikire" 3[ +2 "kaijarisuigyono"]]; print "jugemu" 3[ +1 "jugemu" 5[ +2 "gokounosurikire" 3[ +3 "kaijarisuigyono"]]]; print "jugemu" +2 "jugemu" 5[ +1 "gokounosurikire" ~3[ +2 "kaijarisuigyono"]]; (* 2.6.1 *) set columns "30"; print {{"jugemu" +1 "jugemu"} +1 "gokounosurikire" +2 "kaijarisuigyono"}; print {"jugemu" +d "jugemu" +1 {"gokounosurikire" +1 "kaijarisuigyono"}}; (* 2.6.2 *) set columns "30"; print {"jugemu" +2 "jugemu"} +1 {"gokounosurikire" +2 "kaijarisuigyono"}; (* 2.6.3 *) set columns "30"; print "jugemu" + { "jugemu" 5[ +1 "gokounosurikire" ] ~3[ +1 "kaijarisuigyono" ]}; print "jugemu" 3[ +1 { "jugemu" 5[ +1 "gokounosurikire"] ~3[ +1 "kaijarisuigyono"]}]; (* 2.7 *) set columns "20"; print "jugemu" \n "jugemu"; set columns "50"; print "jugemu" 1 { 4[ "jugemu" +2 "gokounosurikire" \n "kaijarisuigyono" ] }; (* 3.2.4 *) print L2{ L1{ "x" "+" "y" } + "*" + L1{ "v" + "w" } }; print L10{ L10{ "f" + "x" } + L10{ "g" + "y" } }; print R1{ R1{ "t1" + "->" + "t2" } + "->" + R1{ "s1" + "->" + "s2" } }; (* 3.2.5 *) print L10{ "f" + !N0{ "(" L10{ "g" + "x" } "," + "y"")" } };smlsharp-1.2.0/src/smlformat/example/FormatExpressionParser/Parser.grm0000644 000000000000000000000317512050661606026367 0ustar00rootroot0000000 0000000 (* * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. *) open SMLFormat.FormatExpression %% %term EOF | STRING of string | ID of string | SEMICOLON | LBRACE | LBRACKET | LPAREN | RBRACE | RBRACKET | RPAREN | EXIT | USE | PRINT | SET | NEWLINE | FORMATINDICATOR of { space : bool, newline : {priority : SMLFormat.FormatExpression.priority} option } | ASSOCINDICATOR of { cut : bool, strength : int, direction : SMLFormat.FormatExpression.assocDirection } | STARTOFINDENT of int %nonterm command of Ast.command | expressions of expression list | expression of expression %verbose %pos {fileName:string, line:int, col:int} %start command %eop EOF SEMICOLON %noshift EOF %name FormatExpression %value STRING ("") %% command: EXIT (Ast.EXIT) | PRINT expressions (Ast.PRINT(expressions)) | USE STRING (Ast.USE(STRING)) | SET ID STRING (Ast.SET(ID, STRING)) expressions: expression expressions (expression :: expressions) | ([]) expression: STRING (Term (size STRING, STRING)) | ASSOCINDICATOR LBRACE expressions RBRACE (Guard(SOME(ASSOCINDICATOR), expressions)) | LBRACE expressions RBRACE (Guard(NONE, expressions)) | FORMATINDICATOR (Indicator FORMATINDICATOR) | STARTOFINDENT (StartOfIndent STARTOFINDENT) | RBRACKET (EndOfIndent) | NEWLINE (Newline) smlsharp-1.2.0/src/smlformat/example/FormatExpressionParser/README.txt0000644 000000000000000000000144112050661606026114 0ustar00rootroot0000000 0000000 SMLPPG sample: FormatExpression parser Running. 1) change the working directory. $ cd example/FormatExpressionParser 2) start sml. $ sml-cm 3) make the sample. - CM.make(); 4) run the main function. - Main.main(); 5) The prompt '->' will be displayed. Input format expressions. The formatted text representation of the expression you input will be printed. ->print "123" 2[ 1 "456" 3[ 1 "789"] "abc" 2[ 1 "def"]]; 123 456 789abc def 6) By "use" command, expressions in a file is loaded. - use "SampleInput.txt" 7) Some options are supported to change behavior of the parser. the column width can be changed by 'columns' command. - set columns "80"; to exit session. - exit; =============================================================================== smlsharp-1.2.0/src/smlformat/example/FormatExpressionParser/SampleInput.txt0000644 000000000000000000000402012050661606027414 0ustar00rootroot0000000 0000000 print "jugemu"; print "jugemu" "jugemu"; print "jugemu" " " "jugemu" " " "gokounosurikire"; print "jugemu" + "jugemu" + "gokounosurikire"; set columns "40"; print "jugemu" + "jugemu" + "gokounosurikire" + "kaijarisuigyono"; set columns "50"; print "jugemu" 2 "jugemu" 1 "gokounosurikire" 2 "kaijarisuigyono"; set columns "40"; print "jugemu" 2 "jugemu" 1 "gokounosurikire" 2 "kaijarisuigyono"; set columns "20"; print "jugemu" 2 "jugemu" 1 "gokounosurikire" 2 "kaijarisuigyono"; set columns "50"; print "jugemu" +2 "jugemu" +1 "gokounosurikire" +2 "kaijarisuigyono"; set columns "40"; print "jugemu" +2 "jugemu" +1 "gokounosurikire" +2 "kaijarisuigyono"; print "jugemu" +2 "jugemu" " "1 "gokounosurikire" +2 "kaijarisuigyono"; set columns "30"; print "jugemu" +d "jugemu" +1 "gokounosurikire" +2 "kaijarisuigyono"; set columns "10"; print "jugemu" +d "jugemu" +1 "gokounosurikire" +2 "kaijarisuigyono"; set columns "30"; print "jugemu" +2 "jugemu" +1 "gokounosurikire" +d "kaijarisuigyono"; print "jugemu" +d "jugemu" +1 "gokounosurikire" +d "kaijarisuigyono"; set columns "40"; print "jugemu" +2 "jugemu" 5[ +1 "gokounosurikire" ] +2 "kaijarisuigyono"; set columns "30"; print "jugemu" +2 "jugemu" 5[ +1 "gokounosurikire" ] +2 "kaijarisuigyono"; print "jugemu" +2 "jugemu" 5[ +1 "gokounosurikire" 3[ +2 "kaijarisuigyono"]]; print "jugemu" 3[ +1 "jugemu" 5[ +2 "gokounosurikire" 3[ +3 "kaijarisuigyono"]]]; print "jugemu" +2 "jugemu" 5[ +1 "gokounosurikire" ~3[ +2 "kaijarisuigyono"]]; print "jugemu" + { "jugemu" 5[ 1 "gokounosurikire" ] ~3[ 1 "kaijarisuigyono" ]}; print "jugemu" 3[ +d { "jugemu" 5[ 1 "gokounosurikire"] ~3[ 1 "kaijarisuigyono"]}]; print "jugemu" 3[ +d { "jugemu" 5[ 1 "gokounosurikire" ~3[ 2 "kaijarisuigyono"]]}]; set columns "42"; print "jugemu" 3[ 1 "jugemu" 2[ 2 "gokounosurikire" 3 "kaijarisuigyono" ]]; print "gokounosurikire" 3[ {"kaijarisuigyono" 2[ 2 "jugemu" 1 "jugemu" ]}]; set columns "29"; print "gokounosurikire" 3[ 3 "kaijarisuigyono" 2[ 1 "jugemu" 2 "jugemu" ]]; print L10{ "f" + !N0{ "(" L10{ "g" + "x" } "," + "y" ")" }}; smlsharp-1.2.0/src/smlformat/example/FormatExpressionParser/sources.cm0000644 000000000000000000000056312050661606026426 0ustar00rootroot0000000 0000000 (* * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. *) Group is (* to build this example, see ../../README.txt *) (* #if defined(NEW_CM) $/basis_compat.cm #endif *) $/basis.cm #if defined(NEW_CM) $/ml-yacc-lib.cm #else ml-yacc-lib.cm #endif ../../smlformatlib.cm Ast.sml Lexer.lex Parser.grm Main.sml smlsharp-1.2.0/src/smlformat/example/MLParser0000755 000000000000000000000000012050661606021337 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/smlformat/example/MLParser/Absyn.ppg0000644 000000000000000000002564412050661606023215 0ustar00rootroot0000000 0000000 (* -*- sml -*- * syntax for the Core ML * * Copyright 2001 * Atsushi Ohori * JAIST Language project * JAIST, Ishikawa Japan. *) structure Absyn = struct (***************************************************************************) type pos = {fileName:string, line:int, col:int} type loc = pos * pos val nopos = {fileName="none", line=0,col=0} val noloc = ({fileName="none", line=0,col=0},{fileName="none", line=0,col=0}) (*% *) exception (*% * @format({fileName, line : leftLine, col : leftCol} * * {line : rightLine, col : rightCol, ...} * * message) * fileName ":" leftLine "." leftCol "-" rightLine "." rightCol ":" message *) ParseError of {fileName:string, line:int, col:int} * {fileName:string, line:int, col:int} * string (*% *) datatype constant = (*% * @format(value * loc) value *) INTCONST of int * loc | (*% * @format(value * loc) "\"" value "\"" *) STRING of string * loc | (*% * @format(value * loc) value *) REAL of string * loc (*% *) datatype ty = (*% * @format(id * loc) id *) TYID of string * loc | (*% * @format(field fields * loc) * !N0{ "{" 2[ 1 fields(field)("," +1) ] 1 "}" } * @format:field(label * ty) {label} +d ":" +d {ty} *) TYRECORD of (string * ty) list * loc | (*% * @format(arg args * tycon * loc) * !N0{ "(" args(arg)("," + ) ")" +d tycon } *) TYCONSTRUCTION of ty list * string * loc | (*% * @format(elem elems * loc) N2{ d elems(elem)( + "*" +d ) } * @format:elem(elem) N3{elem} *) TYTUPLE of ty list * loc | (*% * @format(dom * result * loc) R1{ {dom} +d "->" 2[ +1 {result} ] } *) TYFUN of ty * ty * loc local fun formatPrependedOpt (formatter, prefixIfSome) = fn NONE => [SMLFormat.FormatExpression.Term (0, "")] | SOME value => prefixIfSome @ (formatter value) fun formatBinaryChoice (ifTrue, ifFalse) value = if value then ifTrue else ifFalse fun formatListWithEnclosure (elementFormatter, separator, prefixIfNotNull, suffixIfNotNull) = fn [] => [SMLFormat.FormatExpression.Term (0, "")] | list => prefixIfNotNull @ (SMLFormat.BasicFormatters.format_list (elementFormatter, separator) list) @ suffixIfNotNull in (*% * @formatter(prependedOpt) formatPrependedOpt *) datatype pat = (*% * @format(loc) "_" *) PATWILD of loc | (*% * @format(cons * loc) cons *) PATCONSTANT of constant * loc | (*% * @format(b * id * loc) id *) PATID of bool * string * loc | (*% * @format(b * field fields * loc) * {"{" 2[ 1 fields(field)( "," +1) ] 1 "}"} *) PATRECORD of bool * patrow list * loc | (*% * @format(pat pats * loc) {"(" 2[ 1 pats(pat)("," +1) ] 1 ")"} *) PATTUPLE of pat list * loc | (*% * @format(elem elems * loc) * {"[" 2[ 1 elems(elem)("," +1) ] 1 "]"} *) PATLIST of pat list * loc | (*% * @format(pat pats * loc) R1{d pats(pat)( +d) } *) PATAPPLY of pat list * loc | (*% * @format(pat * ty * loc) {pat} + ":" +d {ty} *) PATTYPED of pat * ty * loc | (*% * @format(pat1 * pat2 * loc) {pat1} +d "as" +d {pat2} *) PATLAYERED of pat * pat * loc and patrow = (*% * @format(label * pat * loc) {label} +d "=" +2 {pat} *) PATROWPAT of string * pat * loc | (*% * @format(label * ty opt1:prependedOpt * pat opt2:prependedOpt * loc) * {label} {opt1(ty)(+d ":" +)}{opt2(pat)(+d "as" +)} *) PATROWVAR of string * (ty option) * (pat option) * loc (*% * @formatter(prependedOpt) formatPrependedOpt * @formatter(binaryChoice) formatBinaryChoice * @formatter(enclosedList) formatListWithEnclosure *) datatype exp = (*% * @format(const * loc) {const} *) EXPCONSTANT of constant * loc | (*% * @format(id * loc) {id} *) EXPID of string * loc | (*% * @format(id * loc) {id} *) EXPOPID of string * loc | (*% * @format(field fields * loc) * !N0{ "{" 2[ 1 fields(field)( "," +1) ] 1 "}" } * @format:field(label * exp) {{label} +d "=" +2 {exp}} *) EXPRECORD of (string * exp) list * loc | (*% * @format(selector * loc) "#"{selector} *) EXPRECORD_SELECTOR of string * loc | (*% * @format(field fields * loc) * !N0{ "(" 2[ 1 fields(field)("," +1) ] 1 ")" } *) EXPTUPLE of exp list * loc | (*% * @format(elem elems * loc) * !N0{ "[" 2[ 1 elems(elem)("," +1) ] 1 "]" } *) EXPLIST of exp list * loc | (*% * @format(exp exps * loc) * !N0{ "(" 2[ 1 exps(exp)(";" +1) ] 1 ")" } *) EXPSEQ of exp list * loc | (*% * @format(exp exps * loc) L10{ d exps(exp)( +d) } *) EXPAPP of exp list * loc | (*% * @format(exp * ty * loc) N0{ {exp} + ":" +1 {ty} } *) EXPTYPED of exp * ty * loc | (*% * @format(left * right * loc) N3{{left} +d "andalso" +1 {right}} *) EXPCONJUNCTION of exp * exp * loc | (*% * @format(left * right * loc) N2{{left} +d "orelse" +1 {right}} *) EXPDISJUNCTION of exp * exp * loc | (*% * @format(exp * rule rules * loc) * N0{{exp} +1 "handle" +d rules(rule)( ~2[ +1 "|"] +)} * @format:rule(pat * exp) {pat} + "=>" +1 {exp} *) EXPHANDLE of exp * (pat * exp) list * loc | (*% * @format(exp * loc) N0{ "raise" +d {exp} } *) EXPRAISE of exp * loc | (*% * @format(cond * ifTrue * ifFalse * loc) * !N0{ "if" 2[ +d {cond} ] * +1 "then" 2[ +d {ifTrue} ] * +1 "else" 2[ +d {ifFalse} ] } *) EXPIF of exp * exp * exp * loc | (*% * @format(cond * body * loc) * N0{ "while" 2[ +d {cond} ] +1 "do" 2[ +d {body} ] } *) EXPWHILE of exp * exp * loc | (*% * @format(exp * rule rules * loc) * N0{ "case" 2[ +d {exp} ] 2[ +1 "of" ]+ {rules(rule)(~2[ +1 "|" ]+)}} * @format:rule(pat * exp) {{pat} + "=>" +1 {exp}} *) EXPCASE of exp * (pat * exp) list * loc | (*% * @format(rule rules * loc) N0{ "fn" + {rules(rule)(~2[ +1 "|"] +)} } * @format:rule(pat * exp) {pat} + "=>" +1 {exp} *) EXPFN of (pat * exp) list * loc | (*% * @format(dec decs * exp exps * loc) * !N0{ {"let" 2[ +1 decs(dec)( +1) ]} +1 * {"in" 2[ +2 exps(exp)( +3 ) ] +2 * "end"} } *) EXPLET of dec list * exp list * loc and dec = (*% * @format(var vars:enclosedList * bind binds * loc) * "val" {vars(var)("," +, + "(", ")")} + * {binds(bind)(~4[ +1 "and"] +)} * @format:bind(pat * exp) {pat} +d "=" +2 {exp} *) DECVAL of string list * (pat * exp) list * loc | (*% * @format(var vars:enclosedList * bind binds * loc) * "val" {vars(var)("," +, + "(", ")")} +d * "rec" +d {binds(bind)(~4[ +1 "and"] +)} * @format:bind(pat * exp) {pat} +d "=" +2 {exp} *) DECREC of string list * (pat * exp) list * loc | (*% * @format(var vars:enclosedList * rules binds * loc) * "fun" {vars(var)("," +, + "(", ")")} + * {binds(rules)(~4[ +1 "and"] +)} * @format:rules(rule rules) {rules(rule)(~2[ +1 "|"] +)} * @format:rule(b:binaryChoice * name * pat pats * exp) * {{b()("op" +, "")} {name} +d pats(pat)(+d) +d "=" +1 {exp}} *) DECFUN of string list * (bool * string * pat list * exp) list list * loc | (*% * @format(bind binds * loc) "type" + {binds(bind)(~4[ +1 "and"] +)} * @format:bind(tyvar tyvars:enclosedList * name * ty) * {tyvars(tyvar)("," +, "(", ")" +)} {name} +d "=" +2 {ty} *) DECTYPE of (string list * string * ty) list * loc | (*% * @format(bind binds * loc) * "datatype" + {binds(bind)(~4[ +1 "and" ] +)} * @format:bind(tyvar tyvars:enclosedList * tycon * valcon valcons) * {tyvars(tyvar)("," +, "(", ")" +) {tycon} + "=" +1 * {valcons(valcon)(~2[ +1 "|" ] +)}} * @format:valcon(b:binaryChoice * name * ty option:prependedOpt) * {b()("op" +, "")} {name} {option(ty)(~2[ +d "of" ] +)} *) DECDATATYPE of (string list * string * (bool * string * ty option) list) list * loc | (*% * @format(left * right * loc) {left} +d "=" +1 {right} *) REPLICATEDAT of string * string * loc | (*% * @format(exc excs * loc) "exception" + {excs(exc)(~4[ +1 "and" ]+)} * @format:exc(b * name * ty option:prependedOpt) * {name} {option(ty)(+d "of" +)} *) EXDECL of (bool * string * ty option) list * loc | (*% * @format(b1 * left * b2 * right * loc) * "exception" + {left} +d "=" +2 {right} *) EXREP of bool * string * bool * string * loc | (*% * @format(localdec localdecs * dec decs * loc) * "local" 2[ +2 localdecs(localdec)(+d) ] +1 * "in" 2[ +2 decs(dec)(+3) ] +2 * "end" *) LOCALDEC of dec list * dec list * loc | (*% * @format(int * name names * loc) * "infix" +d {int} +d names(name)(+d) *) INFXDEC of int * string list * loc | (*% * @format(int * name names * loc) * "infixr" +d {int} +d names(name)(+d) *) INFXRDEC of int * string list * loc | (*% * @format(name names * loc) "nonfix" +d names(name)(+d) *) NONFXDEC of string list * loc end (*% *) datatype parseresult = (*% * @format(dec decs * loc) 1 decs(dec)(+1) *) DECS of dec list * loc | (*% * @format(file) "use" + {file} *) USE of string | (*% * @format(item * value) "set" + item + "=" + value *) SET of string * string | (*% * @format "exit" *) EXIT end smlsharp-1.2.0/src/smlformat/example/MLParser/AbsynUseDefault.ppg0000644 000000000000000000000656612050661606025201 0ustar00rootroot0000000 0000000 (* -*- sml -*- * syntax for the Core ML * * Copyright 2001 * Atsushi Ohori * JAIST Language project * JAIST, Ishikawa Japan. *) structure Absyn = struct (***************************************************************************) (*% *) type pos = {fileName:string, line:int, col:int} (*% *) type loc = pos * pos val nopos = {fileName="none", line=0,col=0} val noloc = ({fileName="none", line=0,col=0},{fileName="none", line=0,col=0}) (*% *) datatype constant = INTCONST of int * loc | STRING of string * loc | REAL of string * loc (*% *) datatype ty = TYID of string * loc | TYRECORD of (string * ty) list * loc | TYCONSTRUCTION of ty list * string * loc | TYTUPLE of ty list * loc | TYFUN of ty * ty * loc local fun formatPrependedOpt (formatter, prefixIfSome) = fn NONE => [FormatExpression.Term ""] | SOME value => prefixIfSome @ (formatter value) fun formatBinaryChoice (ifTrue, ifFalse) value = if value then ifTrue else ifFalse fun formatListWithEnclosure (elementFormatter, separator, prefixIfNotNull, suffixIfNotNull) = fn [] => [FormatExpression.Term ""] | list => prefixIfNotNull @ (BasicFormatters.format_list (elementFormatter, separator) list) @ suffixIfNotNull in (*% *) datatype pat = PATWILD of loc | PATCONSTANT of constant * loc | PATID of bool * string * loc | PATRECORD of bool * patrow list * loc | PATTUPLE of pat list * loc | PATLIST of pat list * loc | PATAPPLY of pat list * loc | PATTYPED of pat * ty * loc | PATLAYERED of pat * pat * loc and patrow = PATROWPAT of string * pat * loc | PATROWVAR of string * (ty option) * (pat option) * loc (*% *) datatype exp = EXPCONSTANT of constant * loc | EXPID of string * loc | EXPOPID of string * loc | EXPRECORD of (string * exp) list * loc | EXPRECORD_SELECTOR of string * loc | EXPTUPLE of exp list * loc | EXPLIST of exp list * loc | EXPSEQ of exp list * loc | EXPAPP of exp list * loc | EXPTYPED of exp * ty * loc | EXPCONJUNCTION of exp * exp * loc | EXPDISJUNCTION of exp * exp * loc | EXPHANDLE of exp * (pat * exp) list * loc | EXPRAISE of exp * loc | EXPIF of exp * exp * exp * loc | EXPWHILE of exp * exp * loc | EXPCASE of exp * (pat * exp) list * loc | EXPFN of (pat * exp) list * loc | EXPLET of dec list * exp list * loc and dec = DECVAL of string list * (pat * exp) list * loc | DECREC of string list * (pat * exp) list * loc | DECFUN of string list * (bool * string * pat list * exp) list list * loc | DECTYPE of (string list * string * ty) list * loc | DECDATATYPE of (string list * string * (bool * string * ty option) list) list * loc | REPLICATEDAT of string * string * loc | EXDECL of (bool * string * ty option) list * loc | EXREP of bool * string * bool * string * loc | LOCALDEC of dec list * dec list * loc | INFXDEC of int * string list * loc | INFXRDEC of int * string list * loc | NONFXDEC of string list * loc end (*% *) datatype parseresult = DECS of dec list * loc | USE of string | SET of string * string | EXIT end smlsharp-1.2.0/src/smlformat/example/MLParser/Main.sml0000644 000000000000000000002112712050661606023022 0ustar00rootroot0000000 0000000 (** * SMLFormat example: core ML parser * * YAMATODANI Kiyoshi * * Original is: * Copyright 2001 * Atsushi Ohori * JAIST, Ishikawa Japan. *) structure Main = struct (***************************************************************************) structure CoreMLLrVals = CoreMLLrValsFun(structure Token = LrParser.Token) structure CoreMLLex = CoreMLLexFun(structure Tokens = CoreMLLrVals.Tokens) structure CoreMLParser = JoinWithArg(structure ParserData = CoreMLLrVals.ParserData structure Lex=CoreMLLex structure LrParser=LrParser) (***************************************************************************) type pos = {fileName : string, line : int, col : int} type lexarg = { columns : int ref, comLevel : int ref, doFirstLinePrompt : bool ref, error : (string * pos * pos) -> unit, fileName : string, linePos : int ref , ln : int ref, promptMode : bool, stream : TextIO.instream, stringBuf : string list ref, stringStart : pos ref, stringType : bool ref, verbose : bool ref } (***************************************************************************) exception EndOfParse (***************************************************************************) val firstLinePrompt = "->" val secondLinePrompt = ">>" (***************************************************************************) fun printFormat columns formatExpressions = let val parameter = [SMLFormat.PrinterParameter.Columns columns] in print (SMLFormat.prettyPrint parameter formatExpressions) end fun makeScale length = let fun append index (lineChars, scaleChars) = if index = length + 1 then (String.implode lineChars) ^ "\n" ^ (String.implode(List.rev scaleChars)) else append (index + 1) ( (#"-" :: lineChars), (String.sub (Int.toString (index mod 10), 0) :: scaleChars) ) in append 1 ([], []) end fun printError (message, left, right) = raise Absyn.ParseError (left, right, message) fun flush(arg:lexarg) = ( #comLevel arg := 0; #doFirstLinePrompt arg := true; #linePos arg := 0; #ln arg := 1; #stringBuf arg := nil; #stringStart arg := {fileName = #fileName (!(#stringStart arg)), line = 0, col = 0}; #stringType arg := true ) fun processInput arg = let local val dummyLocation = ( {fileName = "", line = 0, col = 0}, {fileName = "", line = 0, col = 0} ) val dummyEOF = CoreMLLrVals.Tokens.EOF dummyLocation val dummySEMICOLON = CoreMLLrVals.Tokens.SEMICOLON dummyLocation in fun oneParse lexer = let val _ = #doFirstLinePrompt arg := true val (nextToken, lexer') = CoreMLParser.Stream.get lexer in if CoreMLParser.sameToken(nextToken, dummyEOF) then raise EndOfParse else if CoreMLParser.sameToken(nextToken, dummySEMICOLON) then oneParse lexer' else CoreMLParser.parse(0, lexer, printError, ()) end end fun loop lexer = let val (result, lexer') = oneParse lexer in case result of Absyn.SET(item, value) => (case item of "columns" => ( case Int.fromString value of SOME width => (#columns arg) := width | NONE => print "columns must be integer.\n"; loop lexer' ) | "verbose" => ( case value of "true" => (#verbose arg) := true | "false" => (#verbose arg) := false | _ => print "verbose must be true or false.\n"; loop lexer' ) | _ => (print ("unknown option:" ^ item ^ ".\n"); loop lexer')) | Absyn.EXIT => () | Absyn.USE sourceFileName => (let val arg = { columns = ref (!(#columns arg)), comLevel = ref 0, doFirstLinePrompt = ref true, error = #error arg, fileName = sourceFileName, promptMode = false, stream = TextIO.openIn sourceFileName, linePos = ref 0, ln = ref 1, stringBuf = ref nil : string list ref, stringStart = ref {fileName = sourceFileName, line = 0, col = 0}, stringType = ref true, verbose = ref (!(#verbose arg)) } : lexarg in processInput arg end handle EndOfParse => loop lexer' | IO.Io detail => let val message = case (#cause detail) of OS.SysErr (s, SOME err) => "GenLex error: use clause ignored. " ^ (OS.errorMsg err) ^ " : " ^ (#name detail) | _ => "IO error " ^ (#function detail) ^ " " ^ (#name detail) in TextIO.output(TextIO.stdOut, message ^ "\n"); TextIO.flushOut TextIO.stdOut; loop lexer' end) | res as (Absyn.DECS (dec, loc)) => let val formatExpressions = Absyn.format_parseresult res in if !(#verbose arg) then ( print "FormatExpression:\n"; app (fn e => print ((SMLFormat.FormatExpression.toString e) ^ " ")) formatExpressions; print "\n"; print "Formatted Code:\n" ) else (); printFormat (!(#columns arg)) formatExpressions; print "\n"; if !(#verbose arg) then print (makeScale (!(#columns arg)) ^ "\n") else (); loop lexer' end end fun getLine length = ( if #promptMode arg then if !(#doFirstLinePrompt arg) then ( #doFirstLinePrompt arg := false; print firstLinePrompt; TextIO.flushOut TextIO.stdOut ) else ( print secondLinePrompt; TextIO.flushOut TextIO.stdOut ) else (); Option.getOpt(TextIO.inputLine (#stream arg), "") ) val lexer = CoreMLParser.makeLexer getLine arg in (loop lexer) handle (exn as Absyn.ParseError _) => ( printFormat (!(#columns arg)) (SMLFormat.BasicFormatters.format_exn exn); print "\n"; flush arg; processInput arg ) | exn => ( printFormat (!(#columns arg)) (SMLFormat.BasicFormatters.format_exn exn); print "\n"; raise exn ) end fun main () = let val initialSource = { columns = ref 40, comLevel=ref 0, doFirstLinePrompt = ref true, error = printError, fileName="stdIn", stream=TextIO.stdIn, linePos= ref 1, ln = ref 1, promptMode = true, stringBuf = ref nil : string list ref, stringStart = ref {fileName = "stdIn", line = 0, col = 0}, stringType = ref true, verbose = ref false } : lexarg; in processInput initialSource handle EndOfParse => () end end smlsharp-1.2.0/src/smlformat/example/MLParser/ml.grm0000644 000000000000000000003166112050661606022544 0ustar00rootroot0000000 0000000 (* a grammar for the raw symtax of core ML * Copyright 2001 * Atsushi Ohori & Kiyoshi Yamatodani * JAIST Programming Language Project * JAIST, Ishikawa Japan. *) %% %eop EOF SEMICOLON (* %pos declares the type of positions for terminals. Each symbol has an associated left and right position. *) %pos {fileName:string, line:int, col:int} %term EOF | AMPERSAND | AND | ANDALSO | ARROW | AS | ASTERISK | AT | BACKQUOTE | BACKSLASH | BANG | BAR | CASE | CHAR of string | COLON | COMMA | DALLOR | DARROW | DASH | DATATYPE | DO | ELSE | END | EQ | EXCEPTION | FN | FUN | HANDLE | HASH | HAT | ID of string | IF | IN | INFIX | INFIXR | INT of int | LANGLE | LBRACE | LBRACKET | LET | LOCAL | LPAREN | NONFIX | OF | OP | ORELSE | PERIOD | PERIODS | PERSENT | PLUS | QUESTION | QUOTE | RAISE | RANGLE | REC | RBRACE | RBRACKET | REAL of string | RPAREN | SEMICOLON | SLASH | SPECIAL of string | STRING of string | THEN | TILDE | TYPE | TYVAR of string | UNDERBAR | USE | VAL | WHILE (* special for this example. *) | SET | EXIT %nonterm optop of bool | optty of Absyn.ty option | expid of string | atexp of Absyn.exp | constant of Absyn.constant | exprow of (string * Absyn.exp) list | expseq_comma of Absyn.exp list | expseq_semicolon of Absyn.exp list | appexp of Absyn.exp list | exp of Absyn.exp | match of (Absyn.pat * Absyn.exp) list | mrule of Absyn.pat * Absyn.exp | atpat of Absyn.pat | apppat of Absyn.pat list | pat of Absyn.pat | fields of bool * (Absyn.patrow list) | followpatrow of Absyn.patrow list | optaspat of Absyn.pat option | patseq_comma of Absyn.pat list | ty of Absyn.ty | ty0 of Absyn.ty | ty1 of Absyn.ty | tycon of string | atty of Absyn.ty | tyseq_comma of Absyn.ty list | tyseq of Absyn.ty list | tyrow of (string * Absyn.ty) list | tytuple of Absyn.ty list | start of Absyn.parseresult | tyvarseq of string list | tyvarseq_comma of string list | dec of Absyn.dec | decs of Absyn.dec list | decseq_semicolon of Absyn.dec list | valbind of (Absyn.pat * Absyn.exp) list | fvalbind of (bool * string * Absyn.pat list * Absyn.exp) list list | frule of bool * string * Absyn.pat list * Absyn.exp | frules of (bool * string * Absyn.pat list * Absyn.exp) list | typbind of (string list * string * Absyn.ty) list | datbind of (string list * string * (bool * string * Absyn.ty option) list) list | combind of (bool * string * Absyn.ty option) list | condec of bool * string * Absyn.ty option | exbind of (bool * string * Absyn.ty option) list | idseq of string list | label of string %name CoreML %right ARROW %right AND %right DARROW %left DO %left ELSE %left RAISE %right HANDLE %left ORELSE %left ANDALSO %right AS %left COLON %noshift EOF %verbose %start start %% start : decs (Absyn.DECS(decs,(decsleft,decsright))) | exp (Absyn.DECS([Absyn.DECVAL(nil,[(Absyn.PATID(false,"it",(Absyn.nopos,Absyn.nopos)), exp)],(expleft,expright))],(Absyn.nopos,Absyn.nopos))) | USE STRING (Absyn.USE(STRING)) | SET ID INT (Absyn.SET(ID, Int.toString INT)) | SET ID STRING (Absyn.SET(ID, STRING)) | EXIT (Absyn.EXIT) (****************** constant ***************************) constant : INT (Absyn.INTCONST(INT,(INTleft,INTright))) | STRING (Absyn.STRING(STRING,(STRINGleft,STRINGright))) | REAL (Absyn.REAL(REAL,(REALleft,REALright))) (* end of constant *) (**************** expression ***************************) expid : ID (ID) | EQ ("=") | ASTERISK ("*") atexp : constant (Absyn.EXPCONSTANT(constant,(constantleft,constantright))) | expid (Absyn.EXPID(expid,(expidleft,expidright))) | OP expid (Absyn.EXPOPID(expid,(OPleft,expidright))) | LBRACE exprow RBRACE (Absyn.EXPRECORD(exprow,(LBRACEleft,RBRACEright))) | HASH ID (Absyn.EXPRECORD_SELECTOR(ID,(HASHleft,IDright))) | HASH INT (Absyn.EXPRECORD_SELECTOR(Int.toString INT,(HASHleft,INTright))) | LPAREN RPAREN (Absyn.EXPTUPLE([],(LPARENleft,RPARENright))) | LPAREN expseq_comma RPAREN (Absyn.EXPTUPLE(expseq_comma,(LPARENleft,RPARENright))) | LBRACKET RBRACKET (Absyn.EXPLIST([],(LBRACKETleft,RBRACKETright))) | LBRACKET exp RBRACKET (Absyn.EXPLIST([exp],(LBRACKETleft,RBRACKETright))) | LBRACKET expseq_comma RBRACKET (Absyn.EXPLIST(expseq_comma,(LBRACKETleft,RBRACKETright))) | LPAREN exp SEMICOLON expseq_semicolon RPAREN (Absyn.EXPSEQ(exp :: expseq_semicolon,(LPARENleft,RPARENright))) | LET decseq_semicolon IN expseq_semicolon END (Absyn.EXPLET(decseq_semicolon,expseq_semicolon,(LETleft,ENDright))) | LPAREN exp RPAREN (exp) label : ID (ID) | INT (Int.toString INT) (* equal or more than 1 *) exprow : label EQ exp ([(label,exp)]) | exprow COMMA label EQ exp (exprow @ [(label,exp)]) (* equal or more than 2 exps *) expseq_comma : exp COMMA exp ([exp1,exp2]) | expseq_comma COMMA exp (expseq_comma @ [exp]) (* equal or more than 1 exps *) expseq_semicolon : exp ([exp]) | expseq_semicolon SEMICOLON exp (expseq_semicolon @ [exp]) appexp : atexp atexp ([atexp1, atexp2]) | appexp atexp (appexp@[atexp]) exp : appexp (Absyn.EXPAPP(appexp,(appexpleft,appexpright))) | atexp (atexp) | exp COLON ty (Absyn.EXPTYPED(exp,ty,(expleft,tyright))) | exp ANDALSO exp (Absyn.EXPCONJUNCTION(exp1,exp2,(exp1left,exp2right))) | exp ORELSE exp (Absyn.EXPDISJUNCTION(exp1,exp2,(exp1left,exp2right))) | exp HANDLE match (Absyn.EXPHANDLE(exp,match,(expleft,matchright))) | RAISE exp (Absyn.EXPRAISE(exp,(RAISEleft,expright))) | IF exp THEN exp ELSE exp (Absyn.EXPIF(exp1,exp2,exp3,(IFleft,exp3right))) | WHILE exp DO exp (Absyn.EXPWHILE(exp1,exp2,(WHILEleft,exp2right))) | CASE exp OF match (Absyn.EXPCASE(exp,match,(CASEleft,matchright))) | FN match (Absyn.EXPFN(match,(FNleft,matchright))) (* match : mrule ([mrule]) | mrule BAR match (mrule::match) mrule : pat DARROW exp ((pat,exp)) match : mrule ([mrule]) | mrulebar match (mrulebar::match) mrule : pat DARROW exp ((pat,exp)) mrulebar : pat DARROW exp BAR ((pat,exp)) It seems that the core ML's "|" has inherent problem, which coincides with my experience. I have been bothered by the "|" in combination with case, fn, and handle. *) match : pat DARROW exp ([(pat,exp)]) | pat DARROW exp BAR match ((pat,exp)::match) (* end of expression *) (*************************** dec ********************************) decs : dec ([dec]) | dec decs (dec::decs) decseq_semicolon : dec ([dec]) | dec SEMICOLON decseq_semicolon (dec::decseq_semicolon) | dec decseq_semicolon (dec::decseq_semicolon) dec : VAL valbind (Absyn.DECVAL(nil,valbind,(VALleft,valbindright))) | VAL tyvarseq valbind (Absyn.DECVAL(tyvarseq,valbind,(VALleft,valbindright))) | VAL REC valbind (Absyn.DECREC(nil,valbind,(VALleft,valbindright))) | VAL REC tyvarseq valbind (Absyn.DECREC(tyvarseq,valbind,(VALleft,valbindright))) | FUN fvalbind (Absyn.DECFUN(nil,fvalbind,(FUNleft,fvalbindright))) | FUN tyvarseq fvalbind (Absyn.DECFUN(tyvarseq,fvalbind,(FUNleft,fvalbindright))) | TYPE typbind (Absyn.DECTYPE(typbind,(TYPEleft,typbindright))) | DATATYPE datbind (Absyn.DECDATATYPE(datbind,(DATATYPEleft,datbindright))) | DATATYPE tycon EQ DATATYPE tycon (Absyn.REPLICATEDAT(tycon1, tycon2,(DATATYPEleft,tycon2right))) | EXCEPTION ID EQ ID (Absyn.EXREP(false,ID,false,ID,(ID1left,ID2right))) | EXCEPTION OP ID EQ ID (Absyn.EXREP(true,ID,false,ID,(ID1left,ID2right))) | EXCEPTION OP ID EQ OP ID (Absyn.EXREP(true,ID,true,ID,(ID1left,ID2right))) | EXCEPTION exbind (Absyn.EXDECL(exbind,(EXCEPTIONleft,exbindright))) | LOCAL decseq_semicolon IN decseq_semicolon END (Absyn.LOCALDEC(decseq_semicolon1,decseq_semicolon2,(LOCALleft,ENDright))) | INFIX INT idseq (Absyn.INFXDEC(INT,idseq,(INFIXleft,idseqright))) | INFIXR INT idseq (Absyn.INFXRDEC(INT,idseq,(INFIXRleft,idseqright))) | NONFIX idseq (Absyn.NONFXDEC(idseq,(NONFIXleft,idseqright))) idseq : ID ([ID]) | ID idseq (ID::idseq) typbind : tycon EQ ty ([(nil,tycon,ty)]) | tyvarseq tycon EQ ty ([(tyvarseq,tycon,ty)]) | tycon EQ ty AND typbind ((nil,tycon,ty)::typbind) | tyvarseq tycon EQ ty AND typbind ((tyvarseq,tycon,ty)::typbind) datbind : tycon EQ combind ([(nil,tycon,combind)]) | tyvarseq tycon EQ combind ([(tyvarseq,tycon,combind)]) | tycon EQ combind AND datbind ((nil,tycon,combind)::datbind) | tyvarseq tycon EQ combind AND datbind ((tyvarseq,tycon,combind)::datbind) combind : condec ([condec]) | condec BAR combind (condec::combind) condec : tycon ((false,tycon,NONE)) | OP tycon ((true,tycon,NONE)) | tycon OF ty ((false,tycon,SOME ty)) | OP tycon OF ty ((true,tycon,SOME ty)) exbind : condec ([condec]) | condec AND exbind (condec::exbind) tyvarseq : TYVAR ([TYVAR]) | LPAREN tyvarseq_comma RPAREN (tyvarseq_comma) tyvarseq_comma : TYVAR COMMA TYVAR ([TYVAR1,TYVAR2]) | TYVAR COMMA tyvarseq_comma (TYVAR::tyvarseq_comma) valbind : pat EQ exp ([(pat,exp)]) | pat EQ exp AND valbind ((pat,exp)::valbind) fvalbind : frules ([frules]) | frules AND fvalbind (frules::fvalbind) frules : frule ([frule]) | frule BAR frules (frule::frules) frule : ID apppat EQ exp ((false,ID,apppat,exp)) | OP ID apppat EQ exp ((true,ID,apppat,exp)) (***************** pattern ***********************) atpat : UNDERBAR (Absyn.PATWILD((UNDERBARleft,UNDERBARright))) | ID (Absyn.PATID(false,ID,(IDleft,IDright))) | OP ID (Absyn.PATID(true,ID,(IDleft,IDright))) | constant (Absyn.PATCONSTANT (constant,(constantleft,constantright))) | LBRACE fields RBRACE (Absyn.PATRECORD(#1 fields,#2 fields,(LBRACEleft,RBRACEright))) | LPAREN RPAREN (Absyn.PATTUPLE([],(LPARENleft,RPARENright))) | LPAREN patseq_comma RPAREN (Absyn.PATTUPLE(patseq_comma,(LPARENleft,RPARENright))) | LBRACKET RBRACKET (Absyn.PATLIST([],(LBRACKETleft,RBRACKETright))) | LBRACKET pat RBRACKET (Absyn.PATLIST([pat],(LBRACKETleft,RBRACKETright))) | LBRACKET patseq_comma RBRACKET (Absyn.PATLIST(patseq_comma,(LBRACKETleft,RBRACKETright))) | LPAREN pat RPAREN (pat) apppat : atpat ([atpat]) | apppat atpat (apppat@[atpat]) pat : apppat (case apppat of [x] => x | _ => Absyn.PATAPPLY(apppat,(apppatleft,apppatright))) | pat COLON ty (Absyn.PATTYPED(pat,ty,(patleft,tyright))) | pat AS pat (Absyn.PATLAYERED(pat1,pat2,(pat1left,pat2right))) optty : COLON ty (SOME(ty)) | (NONE) fields : ((false,nil)) | label EQ pat ((false,[Absyn.PATROWPAT(label,pat,(labelleft,patright))])) | label optty optaspat ((false,[Absyn.PATROWVAR(label,optty,optaspat,(labelleft,optaspatright))])) | PERIODS ((true,nil)) | label EQ pat COMMA fields ((#1 fields,Absyn.PATROWPAT(label,pat,(labelleft,patright))::(#2 fields))) | label optty optaspat COMMA fields ((#1 fields,Absyn.PATROWVAR(label,optty,optaspat,(labelleft,optaspatright))::(#2 fields))) optaspat : (NONE) | AS pat (SOME(pat)) patseq_comma : pat COMMA pat ([pat1,pat2]) | patseq_comma COMMA pat (patseq_comma @ [pat]) (* end of pattern *) (**************** types *********************) tycon : ID (ID) tyrow : ID COLON ty ([(ID,ty)]) | ID COLON ty COMMA tyrow ((ID,ty)::tyrow) ty0 : TYVAR (Absyn.TYID(TYVAR,(TYVARleft,TYVARright))) | LBRACE tyrow RBRACE (Absyn.TYRECORD(tyrow,(LBRACEleft,RBRACEright))) | LPAREN ty RPAREN (ty) | ID (Absyn.TYID(ID, (IDleft, IDright))) (* check the following *) tyseq : ty1 ([ty1]) | LPAREN tyseq_comma RPAREN (tyseq_comma) (* | (nil) *) tyseq_comma : ty COMMA ty ([ty1,ty2]) | ty COMMA tyseq_comma (ty::tyseq_comma) ty1 : ty0 (ty0) | tyseq ID (Absyn.TYCONSTRUCTION(tyseq,ID,(tyseqleft,IDright))) tytuple : ty1 ASTERISK tytuple (ty1::tytuple) | ty1 ASTERISK ty1 ([ty11,ty12]) ty : ty ARROW ty (Absyn.TYFUN(ty1,ty2,(ty1left,ty2right))) | tytuple (Absyn.TYTUPLE(tytuple,(tytupleleft,tytupleright))) | ty1 (ty1) (**************** end of types *********************) smlsharp-1.2.0/src/smlformat/example/MLParser/ml.lex0000644 000000000000000000002507712050661606022553 0ustar00rootroot0000000 0000000 (* -*- sml-lex -*- * lexical structures of Core ML * the part of constant specifications is based on * that of the SML New Jersye implementation * Copyright 2001 * Atsushi Ohori * JAIST, Ishikawa Japan. *) structure Tokens = Tokens type svalue = Tokens.svalue type ('a,'b) token = ('a,'b) Tokens.token type pos = {fileName:string, line:int, col:int} type lexresult= (svalue,pos) token type arg = { columns : int ref, comLevel : int ref, doFirstLinePrompt : bool ref, error : (string * pos * pos) -> unit, fileName:string, linePos:int ref (* file position at the last nl *), ln:int ref, (* current line number *) promptMode:bool, stream:TextIO.instream, stringBuf:string list ref, stringStart:pos ref, stringType:bool ref, verbose : bool ref } fun currentPos (p,n,arg:arg) = {fileName = #fileName arg,line = !(#ln arg), col=p - !(#linePos arg) + n} fun left (p,arg) = currentPos(p,0,arg) fun right (p,s,arg) = currentPos(p,s,arg) fun addString (buf,s) = buf := s::(!buf) fun addChar (buf,s) = buf := Char.toString s::(!buf) fun makeString (buf) = concat (rev (!buf)) before buf := nil val eof = fn s => Tokens.EOF (left(0,s),right(0,0,s)) local fun cvt radix (s, i) = #1(valOf(Int.scan radix Substring.getc (Substring.triml i (Substring.full s)))) in val atoi = cvt StringCvt.DEC val xtoi = cvt StringCvt.HEX end (* local *) %% %s A S F; %header (functor CoreMLLexFun(structure Tokens: CoreML_TOKENS)); %arg (args as { columns, comLevel, doFirstLinePrompt, error, fileName, linePos, ln, promptMode, stream, stringBuf, stringStart, stringType, verbose } : { columns : int ref, comLevel : int ref, doFirstLinePrompt : bool ref, error : (string * {fileName:string, line:int, col:int} * {fileName:string, line:int, col:int}) -> unit, fileName:string, linePos:int ref (* file position at the last nl *), ln:int ref, (* current line number *) promptMode:bool, stream:TextIO.instream, stringBuf:string list ref, stringStart:{fileName:string, line:int, col:int} ref, stringType:bool ref, verbose : bool ref }); quote="'"; underscore="\_"; alpha=[A-Za-z]; digit=[0-9]; idchars={alpha}|{digit}|{quote}|{underscore}; id={alpha}{idchars}*; ws=("\012"|[\t\ ])*; eol=("\013\010"|"\010"|"\013"); sym=[!%&$+/:<=>?@~|#*\\]|\-|\^; symbol={sym}|\\; num=[0-9]+; frac="."{num}; exp=[eE](~?){num}; real=(~?)(({num}{frac}?{exp})|({num}{frac}{exp}?)); hexnum=[0-9a-fA-F]+; %% {ws} => (continue()); {eol} => (ln := !ln + 1; linePos := yypos; continue ()); "andalso" => (Tokens.ANDALSO (left(yypos,args),right(yypos,7,args))); "and" => (Tokens.AND (left(yypos,args),right(yypos,3,args))); "as" => (Tokens.AS (left(yypos,args),right(yypos,2,args))); "case" => (Tokens.CASE (left(yypos,args),right(yypos,4,args))); "datatype" => (Tokens.DATATYPE (left(yypos,args),right(yypos,1,args))); "do" => (Tokens.DO (left(yypos,args),right(yypos,1,args))); "else" => (Tokens.ELSE (left(yypos,args),right(yypos,1,args))); "end" => (Tokens.END (left(yypos,args),right(yypos,1,args))); "exception" => (Tokens.EXCEPTION (left(yypos,args),right(yypos,1,args))); "fn" => (Tokens.FN (left(yypos,args),right(yypos,1,args))); "fun" => (Tokens.FUN (left(yypos,args),right(yypos,1,args))); "handle" => (Tokens.HANDLE (left(yypos,args),right(yypos,1,args))); "if" => (Tokens.IF (left(yypos,args),right(yypos,1,args))); "in" => (Tokens.IN (left(yypos,args),right(yypos,1,args))); "infix" => (Tokens.INFIX (left(yypos,args),right(yypos,1,args))); "infixr" => (Tokens.INFIXR (left(yypos,args),right(yypos,1,args))); "nonfix" => (Tokens.NONFIX (left(yypos,args),right(yypos,1,args))); "let" => (Tokens.LET (left(yypos,args),right(yypos,1,args))); "local" => (Tokens.LOCAL (left(yypos,args),right(yypos,1,args))); "of" => (Tokens.OF (left(yypos,args),right(yypos,1,args))); "op" => (Tokens.OP (left(yypos,args),right(yypos,1,args))); "orelse" => (Tokens.ORELSE (left(yypos,args),right(yypos,1,args))); "raise" => (Tokens.RAISE (left(yypos,args),right(yypos,1,args))); "rec" => (Tokens.REC (left(yypos,args),right(yypos,1,args))); "then" => (Tokens.THEN (left(yypos,args),right(yypos,1,args))); "type" => (Tokens.TYPE (left(yypos,args),right(yypos,1,args))); "use" => (Tokens.USE (left(yypos,args),right(yypos,1,args))); "set" => (Tokens.SET (left(yypos,args),right(yypos,1,args))); "exit" => (Tokens.EXIT(left(yypos,args),right(yypos,1,args))); "val" => (Tokens.VAL (left(yypos,args),right(yypos,1,args))); "while" => (Tokens.WHILE (left(yypos,args),right(yypos,1,args))); "*" => (Tokens.ASTERISK(left(yypos,args),right(yypos,1,args))); "#" => (Tokens.HASH(left(yypos,args),right(yypos,1,args))); "(" => (Tokens.LPAREN(left(yypos,args),right(yypos,1,args))); ")" => (Tokens.RPAREN(left(yypos,args),right(yypos,1,args))); "," => (Tokens.COMMA(left(yypos,args),right(yypos,1,args))); "->" => (Tokens.ARROW (left(yypos,args),right(yypos,2,args))); "." => (Tokens.PERIOD (left(yypos,args),right(yypos,1,args))); "..." => (Tokens.PERIODS (left(yypos,args),right(yypos,3,args))); ":" => (Tokens.COLON(left(yypos,args),right(yypos,1,args))); ";" => (Tokens.SEMICOLON(left(yypos,args),right(yypos,1,args))); "=" => (Tokens.EQ(left(yypos,args),right(yypos,1,args))); "=>" => (Tokens.DARROW (left(yypos,args),right(yypos,1,args))); "[" => (Tokens.LBRACKET(left(yypos,args),right(yypos,1,args))); "]" => (Tokens.RBRACKET(left(yypos,args),right(yypos,1,args))); "_" => (Tokens.UNDERBAR(left(yypos,args),right(yypos,1,args))); "{" => (Tokens.LBRACE(left(yypos,args),right(yypos,1,args))); "|" => (Tokens.BAR(left(yypos,args),right(yypos,1,args))); "}" => (Tokens.RBRACE(left(yypos,args),right(yypos,1,args))); "'"{id} => (Tokens.TYVAR(yytext,left(yypos,args),right(yypos,String.size yytext,args))); {id} => (Tokens.ID( yytext,left(yypos,args),right(yypos,String.size yytext,args))); {num} => (Tokens.INT(atoi(yytext, 0),left(yypos,args),right(yypos,String.size yytext,args))); ~{num} => (Tokens.INT(atoi(yytext, 0),left(yypos,args),right(yypos,String.size yytext,args))); {symbol}+ => (Tokens.ID(yytext,left(yypos,args),right(yypos,String.size yytext,args))); {real} => (Tokens.REAL(yytext,left(yypos,args),right(yypos,String.size yytext,args))); "0x"{hexnum} => (Tokens.INT(xtoi(yytext, 2),left(yypos,args),right(yypos,String.size yytext,args))); "~0x"{hexnum} => (Tokens.INT(~(xtoi(yytext, 3)),left(yypos,args),right(yypos,String.size yytext,args))); \" => (stringBuf := nil; stringStart := left(yypos,args) ; stringType := true; YYBEGIN S; continue()); \#\" => (stringBuf := nil; stringStart := left(yypos,args) ; stringType := false; YYBEGIN S; continue()); "(*" => (YYBEGIN A; comLevel := 1; continue()); "*)" => (error ("unmatched close comment",left(yypos,args),right(yypos,1,args)); continue()); \h => (error ("non-Ascii character",left(yypos,args),right(yypos,1,args)); continue()); . => (error ("illegal token",left(yypos,args),right(yypos,1,args)); continue()); "(*" => (comLevel := !comLevel + 1; continue()); {eol} => (#ln args := !(#ln args) + 1; #linePos args := yypos; continue ()); "*)" => (comLevel := !comLevel - 1; if !comLevel=0 then YYBEGIN INITIAL else (); continue()); . => (continue()); \" => (let val s = makeString stringBuf val s = if size s <> 1 andalso not(!stringType) then (error ("character constant not length 1", left(yypos,args),right(yypos,1,args)); s) else s val t = (s,!stringStart,right(yypos,1,args)) in YYBEGIN INITIAL; if !stringType then Tokens.STRING t else Tokens.CHAR t end); {eol} => (error ("unclosed string",left(yypos,args),right(yypos,1,args)); ln := !ln + 1; linePos := yypos; YYBEGIN INITIAL; Tokens.STRING(makeString stringBuf,!stringStart,right(yypos,1,args))); \\{eol} => (ln := !ln + 1; linePos := yypos; YYBEGIN F; continue()); \\{ws} => (YYBEGIN F; continue()); \\a => (addString(stringBuf, "\\a"(*"\007"*)); continue()); \\b => (addString(stringBuf, "\\b"(*"\008"*)); continue()); \\f => (addString(stringBuf, "\\f"(*"\012"*)); continue()); \\n => (addString(stringBuf, "\\n"(*"\010"*)); continue()); \\r => (addString(stringBuf, "\\r"(*"\013"*)); continue()); \\t => (addString(stringBuf, "\\t"(*"\009"*)); continue()); \\v => (addString(stringBuf, "\\v"(*"\011"*)); continue()); \\\\ => (addString(stringBuf, "\\\\"(*"\\"*)); continue()); \\\" => (addString(stringBuf, "\\\""(*"\""*)); continue()); \\\^[@-_] => (addChar(stringBuf, Char.chr(Char.ord(String.sub(yytext,2))-Char.ord #"@")); continue()); \\\^. => (error("illegal control escape; must be one of \ \@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_",left(yypos,args),right(yypos,1,args)); continue()); \\[0-9]{3} => (let val x = Char.ord(String.sub(yytext,1))*100 +Char.ord(String.sub(yytext,2))*10 +Char.ord(String.sub(yytext,3)) -((Char.ord #"0")*111) in (if x>255 then (error ("illegal ascii escape",left(yypos,args),right(yypos,1,args))) else addChar(stringBuf, Char.chr x); continue()) end); \\ => (error ("illegal string escape",left(yypos,args),right(yypos,1,args)); continue()); [\000-\031] => (error ("illegal non-printing character in string",left(yypos,args),right(yypos,1,args)); continue()); ({idchars}|{sym}|\[|\]|\(|\)|{quote}|[,.;^{}])+|. => (addString(stringBuf,yytext); continue()); {eol} => (ln := !ln + 1; linePos := yypos; continue()); {ws} => (continue()); \\ => (YYBEGIN S; continue()); . => (error ("unclosed string",left(yypos,args),right(yypos,1,args)); YYBEGIN INITIAL; Tokens.STRING(makeString stringBuf,!stringStart,right(yypos,1,args))); . => (Tokens.SPECIAL(yytext,left(yypos,args),right(yypos,1,args))); smlsharp-1.2.0/src/smlformat/example/MLParser/README.txt0000644 000000000000000000000271212050661606023116 0ustar00rootroot0000000 0000000 SMLFormat sample: Core ML parser Running. 1) make SMLFormat at the package root directory $ make 2) generate formatter $ ./bin/smlformat example/MLParser/Absyn.ppg 3) change the working directory. $ cd example/MLParser 4) start sml. $ sml-cm 5) make the sample. - CM.make(); 6) run the main function. - Main.main(); 7) The prompt '->' will be displayed. Input some ML code. (Only core syntax is supported.) The code you input will be printed. The text is formatted to fit within 40(default) colums. -> case x = 1 of SOME(NONE x) => x + 1 * 2 | {x = 1, y, z} => let val a = 1 in f(g(h)) end; Formatted Code: val it = case x = 1 of SOME NONE x => x + 1 * 2 | {x = 1, y : as , z : as } => let val a = 1 in f (g h) end ->fun f x = 1 | f (1, 2, 3) = {a = 1, s ="abcdefghijkmlllll"} | f (a, b) = a; Formatted Code: fun f x = 1 | f (1, 2, 3) = {a = 1, s = "abcdefghijkmlllll"} | f (a, b) = a -> 8) By "use" command, expressions in a file is loaded. - use "SampleInput.txt" 9) Some options are supported to change behavior of the parser. the column width can be changed by 'columns' command. - set columns 80; if 'verbose' option is set, the format expression is displayed. - set verbose "true"; to reset 'verbose' option. - set verbose "false"; to exit session. - exit; 10) The session finishes by ^C. =============================================================================== smlsharp-1.2.0/src/smlformat/example/MLParser/SampleInput.txt0000644 000000000000000000000064112050661606024421 0ustar00rootroot0000000 0000000 (* -*- sml -*- *) case x = 1 of SOME(NONE x) => x + 1 * 2 | {x = 1, y, z} => let val a = 1 in f(g(h)) end; fun f x = 1 | f (1, 2, 3) = {a = 1, s ="abcdefghijkmlllll"} | f (a, b) = a; val {a : int, B as b, C as c : short, d} = {a = 1, b = 2, c = 3, d =4}; datatype ('a, 'b) dt = A | B of ('a * int) list | op C | op D of {e : {f : int}, g : string}; fun ('a, 'b) f x = 1 | f (op D (a, b)) = 3 | f {c, d, e: int} = 4; smlsharp-1.2.0/src/smlformat/example/MLParser/sources.cm0000644 000000000000000000000063612050661606023427 0ustar00rootroot0000000 0000000 (* * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. *) Group is (* to build this example, see ../../README.txt *) (* #if defined(NEW_CM) $/basis_compat.cm #endif *) $/basis.cm #if defined(NEW_CM) $/ml-yacc-lib.cm #else ml-yacc-lib.cm #endif ../../smlformatlib.cm (* Absyn.ppg:ppg *) Absyn.ppg.sml (* AbsynUseDefault.ppg:ppg *) ml.lex ml.grm Main.sml smlsharp-1.2.0/src/smlformat/example/Overview0000755 000000000000000000000000012050661606021460 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/smlformat/example/Overview/Examples.ppg0000644 000000000000000000001737512050661606024042 0ustar00rootroot0000000 0000000 (* -*- sml -*- *) structure Examples = struct structure Sec4_2 = struct (* 4.2. *) (*% *) type number = (*% * @format(value) "123" *) int end structure Sec4_3 = struct (* 4.3. *) open Sec4_2 (*% *) datatype maybeNumber = (*% @format(value) "456" *) SomeNumber of number | (*% @format "none" *) NotNumber end structure Sec4_4 = struct (* 4.4. *) open Sec4_2 (*% *) type number = (*% @format(value) value *) int (*% *) datatype maybeNumber = (*% @format(value) value *) SomeNumber of number | (*% @format "none" *) NotNumber end structure Sec4_4_2 = struct (* 4.4.2. *) (*% *) type region = (*% @format(left * right) "left=" left + "right=" right *) int * int end structure Sec4_4_3 = struct (* 4.4.3. *) (*% *) type range = (*% @format({min : minimum, max}) minimum + "<->" + max *) {min : int, max : int} end structure Sec4_4_4 = struct (* 4.4.4. *) (*% *) datatype 'a maybe = (* @format(value) value *) Something of 'a | (*% @format "none" *) Nothing (*% *) type maybenum = (*% @format(num tycon) tycon(num) *) int maybe end structure Sec4_4_5 = struct (* 4.4.5. *) (*% *) type wildCard = (*% @format(_ * n) n *) (bool * int) end structure Sec4_4_6 = struct (* 4.4.6. *) (*% *) type quotedFields = (*% @format({'d' : fd, '1' : f1}) fd f1 *) {d : int, 1 : bool} end structure Sec4_4_7 = struct (* 4.4.7. *) (*% * @params (label) *) type 'a anyLabeled = (*% @format(value) label ":" value *) 'a (*% *) type anynumLabeled = (*% @format(num tycon) tycon(num)("INT") *) int anyLabeled end structure Sec4_6_1 = struct (* 4.6.1. *) open Sec4_4_4 open Sec4_4_7 (*% *) type maybeLabeledInt = (*% * @format(num may any) any(may(num))("INT") *) int maybe anyLabeled (*% *) type maybeRange = (*% * @format({min : min minMaybe, max : max maxMaybe}) * minMaybe(min) "<->" maxMaybe(max) *) {min : int maybe, max : int maybe} end structure Sec4_6_3 = struct (* 4.6.3. *) open Sec4_4_4 open Sec4_4_7 (*% *) type labeledRange = (*% * @format(range any) any(range)("Range:") * @format:range({min : min, max : max}) * "(min =" + min "," + "max =" + max ")" *) {min : int, max : int} anyLabeled (*% *) type maybeLabeledInt = (*% * @format(maybeNum any) any(maybeNum)("INT") * @format:maybeNum(num may) may(num) *) int maybe anyLabeled end structure Sec4_7 = struct (* 4.7. *) structure MyFormatters = struct local structure FE = SMLFormat.FormatExpression in fun format_binary x = let val text = Word.fmt StringCvt.BIN x in [FE.Term (2, "0b"), FE.Term (size text, text)] end end end (*% * @formatter(binary) MyFormatters.format_binary *) type file = (*% * @format({name, flags : flags:binary}) * "{name=" name "," + "flags=" flags "}" *) {name : string, flags : word} (*% * @formatter(binary) MyFormatters.format_binary *) type file2 = (*% * @format({name, flags}) * "{name=" name "," + "flags=" flags:binary "}" *) {name : string, flags : word} end structure Sec4_10_1 = struct (* 4.10.1 *) end structure Sec4_10_2 = struct (* 4.10.2 *) (*% *) datatype tree = (*% @format(num) num *) Leaf of int | (*% @format(child children) "{" children(child)(", ") "}" *) Node of node list withtype node = (*% @format({child, label}) label "=" child *) {child : tree, label : string} end structure Sec4_10_3 = struct (* 4.10.3 *) (*% *) abstype set = (*% * @format(element elements) "{" elements(element)(", ") "}" *) SET of element list withtype element = (*% @format(value) value *) string with fun create () = SET [] fun addTo (element, SET set) = SET(element :: set) fun isMemberOf (value, SET set) = List.exists (fn element => element = value) set end end structure Sec4_11 = struct (* 4.11. *) (*% *) exception (*% * @format({fileName, line : leftLine, col : leftCol} * * {line : rightLine, col : rightCol, ...} * * message) * fileName ":" leftLine "." leftCol "-" rightLine "." rightCol ":" message *) ParseError of {fileName:string, line:int, col:int} * {fileName:string, line:int, col:int} * string end structure Sec4_12 = struct (* 4.12. *) (*% * @prefix summary *) (*% * @prefix detail *) type address = (*% * @prefix summary * @format({zip, state, city}) state *) (*% * @prefix detail * @format({zip, state, city}) * "zip=" zip ",state=" state ",city=" city *) {zip : string, state : string, city : string} (*% * @prefix detail *) type customer = (*% * @prefix detail * @format({name, address, tel}) * "name=" name ",address=" address ",tel=" tel *) {name : string, address : address, tel : string} (*% * @prefix formatPlain *) (*% * @prefix formatHTML *) datatype block = (*% * @prefix formatPlain * @format(text) text *) (*% * @prefix formatHTML * @format(text) text *) Text of string | (*% * @prefix formatPlain * @format(block) block *) (*% * @prefix formatHTML * @format(block) "" block "" *) Bold of block end structure Sec4_13 = struct (*% * @destination "(* FORMAT_TY *)" * @header "and" * @formatter(polyTy) format_polyTy * @params(env) *) datatype ty = (*% @format(name) name *) Var of string | (*% @format(polyTy:polyTy) polyTy()(env) *) PolyTy of {tyvars : string list, body : ty} local structure FE = SMLFormat.FormatExpression in fun format_polyTy [env] {tyvars, body} = let val tyFormat = format_ty [env] body val tyVarsFormat = map (fn tv => FE.Term(size tv + 1, tv ^ ",")) tyvars in (FE.Term (1, "[")) :: tyVarsFormat @ tyFormat @ [(FE.Term (1, "]"))] end (* FORMAT_TY *) end end end; smlsharp-1.2.0/src/smlformat/example/Overview/sources.cm0000644 000000000000000000000050012050661606023536 0ustar00rootroot0000000 0000000 (* * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. *) Group is (* to build this example, see ../../README.txt *) (* #if defined(NEW_CM) $/basis_compat.cm #endif *) $/basis.cm ../../smlformatlib.cm Examples.ppg.sml Types.ppg.sml (* Examples.ppg:ppg Types.ppg:ppg *) smlsharp-1.2.0/src/smlformat/example/Overview/Types.ppg0000644 000000000000000000000042712050661606023356 0ustar00rootroot0000000 0000000 (* -*- sml -*- *) structure Types = struct (* default formatter *) (*% *) type inttuple = int * int (*% *) type intrecord = {left : int, right : int} (*% *) type intoption = int option (*% *) type intlist = int list (*% *) type intfun = int -> int endsmlsharp-1.2.0/src/smlformat/formatlib0000755 000000000000000000000000012050661606020176 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/smlformat/formatlib/main0000755 000000000000000000000000012050661606021122 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/smlformat/formatlib/main/AssocResolver.smi0000644 000000000000000000000046412050661606024511 0ustar00rootroot0000000 0000000 _require "../../../basis/main/List.smi" _require "FormatExpression.smi" _require "PrinterParameter.smi" _require "../../../basis/main/binary-op.smi" structure AssocResolver = struct val resolve : PrinterParameter.parameterRecord -> FormatExpression.expression -> FormatExpression.expression end smlsharp-1.2.0/src/smlformat/formatlib/main/AssocResolver.sml0000644 000000000000000000001502012050661606024506 0ustar00rootroot0000000 0000000 (** * This module eliminates assoc indicators or replaces them with parentheses * if necessary. * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. * @version $Id: PreProcessor.sml,v 1.7 2010/02/09 07:53:18 katsu Exp $ *) structure AssocResolver = struct (***************************************************************************) structure FE = FormatExpression (***************************************************************************) (** * remove assoc indicators from symbol. * Parentheses are inserted instead if necessary. *) fun resolve (parameter : PrinterParameter.parameterRecord) symbol = let (** * compare two assocs. *

* The weakThan relation('<') on assocs is defined as follows: *

    *
  • An < Bm if n < m (A,B is L,R or N)
  • *
  • Ln < Nn
  • *
  • Rn < Nn
  • *
  • p < q, if p < r and r < q
  • *
*

* @params (left, right) * @param left a assoc to be compared. * @param right another assoc to be compared. * @return true if left < right *) fun weakThan (left : FE.assoc, right : FE.assoc) = if #strength left < #strength right then true else if #strength left = #strength right then case (#direction left, #direction right) of (FE.Left, FE.Neutral) => true | (FE.Right, FE.Neutral) => true | _ => false else false (** * enclose symbols in a pair of parentheses. * @params symbols * @param symbols a list of format expressions * @return the symbols enclosed in a pair of parentheses. *) fun encloseSymbols symbols = [ FE.Term (1, #guardLeft parameter), FE.StartOfIndent 1 (* FE.Indicator { space = false, newline = SOME {priority = FE.Preferred 1} } *) ] @ symbols @ [ (* FE.EndOfIndent, FE.Indicator { space = false, newline = SOME {priority = FE.Preferred 1} }, *) FE.Term (1, #guardRight parameter), FE.EndOfIndent ] (** * visit format expressions to remove assoc indicators and insert * parentheses if needed. * @params enclosingAssoc symbol * @param enclosingAssoc the assoc of the assoc indicator * which enclose this symbol. * @param symbol the format expression to be visited. * @return a symbol which contains no assoc indicator. *) fun visit enclosingAssoc (FE.Guard (enclosedAssocOpt, symbols)) = let (* the assoc to inherit to the (first) children *) val inheritToFirstAssoc as {cut, strength, direction} = case enclosedAssocOpt of NONE => enclosingAssoc | SOME(enclosedAssoc) => enclosedAssoc (* the assoc to inherit to the other children *) val inheritToOtherAssoc = {cut = cut, strength = strength, direction = FE.Neutral} (** * Visit the children with specified assoc to inherit. * * To the first Term of Guard, toFirstChild is * passed. * The toFirstChild is passed also to the * FormatIndicator/EndOfIndent children between the head of list * and the first Term/Guard, although the passed assocs are * ignored in these visit. * To children after the first Term/Guard child, * toOther is passed. *) fun visitList (toFirstChild, toOther) children = let fun scan _ [] visited = List.rev visited | scan toInherit (head::others) visited = let val visited' = (visit toInherit head) :: visited in case head of (* switch the assoc to pass to children. *) FE.Guard _ => scan toOther others visited' | FE.Term _ => scan toOther others visited' | _ => scan toInherit others visited' end in scan toFirstChild children [] end val newSymbols = case direction of FE.Left => (* pass Ln to the left-most child Term/Guard, * Nn to the other following it. *) visitList (inheritToFirstAssoc, inheritToOtherAssoc) symbols | FE.Right => (* pass Rn to the right-most child Term/Guard, * Nn to the other following it. *) List.rev (visitList (inheritToFirstAssoc, inheritToOtherAssoc) (List.rev symbols)) | _ => List.map (visit inheritToFirstAssoc) symbols val newSymbols = List.concat newSymbols in [ case enclosedAssocOpt of NONE => FE.Guard (NONE, newSymbols) | SOME {cut = true, ...} => FE.Guard (NONE, newSymbols) | SOME enclosedAssoc => if weakThan (enclosingAssoc, enclosedAssoc) orelse enclosingAssoc = enclosedAssoc then FE.Guard (NONE, newSymbols) else FE.Guard (NONE, encloseSymbols newSymbols) ] end | visit enclosing symbol = [symbol] in case visit {cut = true, strength = ~1, direction = FE.Neutral} symbol of [symbol] => symbol | symbols => FE.Guard(NONE, symbols) end (***************************************************************************) endsmlsharp-1.2.0/src/smlformat/formatlib/main/BASIC_FORMATTERS.sig0000644 000000000000000000000456112050661606024302 0ustar00rootroot0000000 0000000 (** * This signature provides the specifications of formatters for the standard * types. * * When you add a new formatter in this signature, it is required to update * the "../generator/BasicFormattersEnv.sml" to register the name of the new * formatter to the formatters environment. * * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. * @version $Id: BASIC_FORMATTERS.sig,v 1.1 2006/02/07 12:51:51 kiyoshiy Exp $ *) signature BASIC_FORMATTERS = sig (***************************************************************************) (** format expression *) type expression (** * formatter for a type T receives a value of the type T and returns * a list of format expressions of the string representation of the value. *) type 'a formatter = 'a -> expression list (***************************************************************************) (** the formatter for unit type. *) val format_unit : General.unit formatter (** the formatter for int type. *) val format_int : Int.int formatter (** the formatter for word type. *) val format_word : Word.word formatter (** the formatter for real type. *) val format_real : Real.real formatter (** the formatter for char type. *) val format_char : Char.char formatter (** the formatter for string type. *) val format_string : String.string formatter (** the formatter for substring type. *) val format_substring : Substring.substring formatter (** the formatter for exn type. *) val format_exn : General.exn formatter val format_exn_Ref : General.exn formatter ref (** the formatter for array type. *) val format_array : ('a formatter * expression list) -> 'a Array.array formatter (** the formatter for vector type. *) val format_vector : ('a formatter * expression list) -> 'a Vector.vector formatter (** the formatter for ref type. *) val format_ref : 'a formatter -> 'a ref formatter (** the formatter for bool type. *) val format_bool : bool formatter (** the formatter for option type. *) val format_option : 'a formatter -> 'a Option.option formatter (** the formatter for order type. *) val format_order : General.order formatter (** the formatter for list type. *) val format_list : ('a formatter * expression list) -> 'a list formatter (***************************************************************************) endsmlsharp-1.2.0/src/smlformat/formatlib/main/BasicFormatters.smi0000644 000000000000000000000305112050661606025002 0ustar00rootroot0000000 0000000 _require "../../../basis/main/String.smi" _require "../../../basis/main/Word.smi" _require "../../../basis/main/Int.smi" _require "../../../basis/main/Real.smi" _require "../../../basis/main/Char.smi" _require "../../../basis/main/Substring.smi" _require "../../../basis/main/Array.smi" _require "../../../basis/main/Vector.smi" _require "../../../basis/main/Bool.smi" _require "../../../basis/main/Option.smi" _require "../../../basis/main/General.smi" _require "../../../basis/main/List.smi" _require "../../../basis/main/binary-op.smi" _require "BASIC_FORMATTERS.sig" _require "FormatExpression.smi" structure BasicFormatters = struct type expression = FormatExpression.expression type 'a formatter = 'a -> expression list val format_unit : General.unit formatter val format_int : Int.int formatter val format_word : Word.word formatter val format_real : Real.real formatter val format_char : Char.char formatter val format_string : String.string formatter val format_substring : Substring.substring formatter val format_exn : General.exn formatter val format_exn_Ref : General.exn formatter ref val format_array : ('a formatter * expression list) -> 'a Array.array formatter val format_vector : ('a formatter * expression list) -> 'a Vector.vector formatter val format_ref : 'a formatter -> 'a ref formatter val format_bool : bool formatter val format_option : 'a formatter -> 'a Option.option formatter val format_order : General.order formatter val format_list : ('a formatter * expression list) -> 'a list formatter end smlsharp-1.2.0/src/smlformat/formatlib/main/BasicFormatters.sml0000644 000000000000000000001057312050661606025014 0ustar00rootroot0000000 0000000 (** * This module provides formatters for the standard types. * * When you add a new formatter in this structure, it is required to update * the "../generator/BasicFormattersEnv.sml" to register the name of the new * formatter to the formatters environment. * * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. * @version $Id: BasicFormatters.sml,v 1.3 2008/02/28 13:08:30 kiyoshiy Exp $ *) structure BasicFormatters : BASIC_FORMATTERS = struct (***************************************************************************) structure FE = FormatExpression type expression = FE.expression type 'a formatter = 'a -> expression list (***************************************************************************) fun format_unit () = [FE.Term (2, "()")] fun format_int int = let val text = Int.toString int in [FE.Term (size text, text)] end fun format_word word = let val text = "0x" ^ Word.toString word in [FE.Term (size text, text)] end fun format_real real = let val text = Real.toString real in [FE.Term (size text, text)] end fun format_char char = let val text = Char.toString char in [FE.Term (size text, text)] end fun format_string string = [FE.Term (size string, string)] fun format_substring substring = [FE.Term (Substring.size substring, Substring.string substring)] val format_exn_Ref = ref (fn exn => let val text = General.exnMessage exn in [FE.Term (size text, text)] end) fun format_exn exn = !format_exn_Ref exn fun format_array (elementFormatter, separator) array = (* This function can be implemented by using Array.foldri. * But, the signature of Array.fordri differs depending on Basis version. * In order to compile both on SML/NJ and on SML#, we do not use * Array.foldri. * For the same reason, the format_vector is implemented without using * Vector.foldri. *) let fun scan index expressions = let val expression = elementFormatter (Array.sub (array, index)) in if 0 = index then expression @ expressions else scan (index - 1) (separator @ expression @ expressions) end in case Array.length array of 0 => [] | arraySize => scan (arraySize - 1) [] end (* Array.foldri (fn (index, element, expressions) => let val expression = elementFormatter element in if 0 = index then expression @ expressions else separator @ expression @ expressions end) [] (array, 0, NONE) *) fun format_vector (elementFormatter, separator) vector = let fun scan index expressions = let val expression = elementFormatter (Vector.sub (vector, index)) in if 0 = index then expression @ expressions else scan (index - 1) (separator @ expression @ expressions) end in case Vector.length vector of 0 => [] | vectorSize => scan (vectorSize - 1) [] end (* Vector.foldri (fn (index, element, expressions) => let val expression = elementFormatter element in if 0 = index then expression @ expressions else separator @ expression @ expressions end) [] (vector, 0, NONE) *) fun format_ref elementFormatter (ref value) = elementFormatter value fun format_bool bool = let val text = Bool.toString bool in [FE.Term (size text, text)] end fun format_option elementFormatter value = case value of Option.NONE => [FE.Term (0, "")] | Option.SOME value => elementFormatter value fun format_order order = case order of General.LESS => [FE.Term (4, "LESS")] | General.EQUAL => [FE.Term (5, "EQUAL")] | General.GREATER => [FE.Term (7, "GREATER")] fun format_list (elementFormatter, separator) [] = [] | format_list (elementFormatter, separator) values = let fun format [] = [] | format [value] = elementFormatter value | format (head::tail) = (elementFormatter head) @ separator @ (format tail) in format values end (***************************************************************************) endsmlsharp-1.2.0/src/smlformat/formatlib/main/FORMAT_EXPRESSION.sig0000644 000000000000000000001070512050661606024457 0ustar00rootroot0000000 0000000 (** * Types and operations of represents format expressions. * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. * @version $Id: FORMAT_EXPRESSION.sig,v 1.4 2008/02/28 13:08:30 kiyoshiy Exp $ *) signature FORMAT_EXPRESSION = sig (***************************************************************************) (** * priority of newline indicators. *) datatype priority = (** preferred priority of the specified priority *) Preferred of int | (** deferred priority *) Deferred (** * direction of the associativity between elements in guards *) datatype assocDirection = (** indicates left associativity *) Left | (** indicates right associativity *) Right | (** indicates non-directional associativity *) Neutral (** * the associativity between elements in guards. *) type assoc = { (** * true if the inheritance of associativity from the upper guard * is cut. *) cut : bool, (** the strength of the association. *) strength : int, (** the direction of the association. *) direction : assocDirection } (** * format expressions *) datatype expression = (** string literal. * The 'columns' is not always equal to the size of 'text'. * For example, a HTML code snip * "<a ref=http://www.jaist.ac.jp>JAIST</a>" is encoded * as * Term(5, "<a ref=http://www.jaist.ac.jp>JAIST</a>"). * The 'columns' is 5 which is the length of the text 'JAIST' to be * displayed. * @params (columns, text) * @param columns the number of columns which the text occupies in * the displayed form * @param text the text to be output which may include escape * sequence to encode the form to be displayed *) Term of (int * string) | (** always break line here. *) Newline | (** * scope of indicator's priority (with assoc indicator) * @params (assoc, expressions) * @param assoc the associativity between the expressions * @param expressions the elements of the guard *) Guard of (assoc option) * (expression list) | (** format indicator *) Indicator of { (** true if a whitespace should be inserted here. *) space : bool, (** NONE if newline indicator is not specified. *) newline : { (** priority to insert a newline *) priority : priority } option } | (** * push a indent on the indent stack * @params width * @param width colums of indent *) StartOfIndent of int | (** pop a indent out of the indent stack *) EndOfIndent (***************************************************************************) (** * compare two priorities. * @params (left, right) * @param left a priority * @param right another priority * @return true if the left is higher priority than * the right *) val isHigherThan : priority * priority -> bool (** * make a string representation of the assoc. * @params assoc * @param assoc a assoc * @return the string representation of the assoc *) val assocToString : assoc -> string (** * make a string representation of the priority. * @params priority * @param priority a priority * @return the string representation of the priority *) val priorityToString : priority -> string (** * make a string representation of the expression. * @params expression * @param expression a expression * @return the string representation of the expression *) val toString : expression -> string (** * parse format expression list. *

* Any character follows a back slash is interpreted as is. * Especially, a sequence of ['\', '"'] is interpreted as a character '"'. *

*) val parse : (char, 'a) StringCvt.reader -> (expression list, 'a) StringCvt.reader (***************************************************************************) end smlsharp-1.2.0/src/smlformat/formatlib/main/FormatExpression.smi0000644 000000000000000000000245012050661606025224 0ustar00rootroot0000000 0000000 _require "../../../basis/main/Option.smi" _require "../../../basis/main/String.smi" _require "../../../basis/main/Int.smi" _require "../../../basis/main/StringCvt.smi" _require "../../../basis/main/Char.smi" _require "../../../basis/main/List.smi" _require "../../../basis/main/binary-op.smi" _require "../../../smlnj-lib/Util/parser-comb.smi" _require "FORMAT_EXPRESSION.sig" _require "FormatExpressionTypes.smi" structure FormatExpression = struct datatype priority = Preferred of int | Deferred datatype assocDirection = Left | Right | Neutral type assoc = { cut : bool, strength : int, direction : assocDirection } datatype expression = Term of (int * string) | Newline | Guard of (assoc option) * (expression list) | Indicator of { space : bool, newline : { priority : priority } option } | StartOfIndent of int | EndOfIndent val isHigherThan : priority * priority -> bool val assocToString : assoc -> string val priorityToString : priority -> string val toString : expression -> string val parse : (char, 'a) StringCvt.reader -> (expression list, 'a) StringCvt.reader end smlsharp-1.2.0/src/smlformat/formatlib/main/FormatExpression.sml0000644 000000000000000000001247412050661606025236 0ustar00rootroot0000000 0000000 (** * This module defines types which represents format expressions and operators * on them. * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. * @version $Id: FormatExpression.sml,v 1.4 2008/02/28 13:08:30 kiyoshiy Exp $ *) structure FormatExpression : FORMAT_EXPRESSION = struct (***************************************************************************) open FormatExpressionTypes (***************************************************************************) fun isHigherThan (_, Deferred) = true | isHigherThan (Deferred, _) = false | isHigherThan (Preferred left, Preferred right) = left < right fun assocToString {cut, strength, direction} = let val directionText = case direction of Left => "L" | Right => "R" | Neutral => "N" in (if cut then "!" else "") ^ directionText ^ (Int.toString strength) end fun priorityToString (Preferred priority) = Int.toString priority | priorityToString Deferred = "d" fun toString (Term (columns, text)) = "\"" ^ text ^ "\"" | toString Newline = "\\n" | toString (Guard(assocOpt, expressions)) = (case assocOpt of NONE => "{" | SOME assoc => (assocToString assoc) ^ "{") ^ (concat (map (fn exp => (toString exp) ^ " ") expressions)) ^ "}" | toString (Indicator{space, newline}) = (if space then "+" else "") ^ (case newline of NONE => "" | SOME{priority} => priorityToString priority) | toString (StartOfIndent indent) = Int.toString indent ^ "[" | toString EndOfIndent = "]" local structure PC = ParserComb fun escapedChar getc stream = PC.or ( PC.wrap ( PC.seq(PC.char #"\\", PC.eatChar (fn _ => true)), fn (_, ch) => implode [#"\\", ch] ), PC.wrap(PC.eatChar (fn ch => ch <> #"\""), fn ch => str ch) ) getc stream fun string getc stream = PC.seqWith (fn (_, (cs, _)) => let val s = concat cs in Term(size s, s) end) (PC.char #"\"", PC.seq(PC.zeroOrMore escapedChar, PC.char #"\"")) getc stream (* "\\n" *) fun newline getc stream = PC.wrap (PC.string "\\n", fn _ => Newline) getc stream (* * "!"?[LRN]("~")?{num} *) fun assocIndicator getc stream = PC.seqWith (fn (cutOpt, (direction, strength)) => { cut = isSome cutOpt, direction = direction, strength = strength }) ( PC.option(PC.char #"!"), PC.seq ( PC.or' [ PC.bind(PC.char #"L", fn _ => PC.result Left) , PC.bind(PC.char #"R", fn _ => PC.result Right) , PC.bind(PC.char #"N", fn _ => PC.result Neutral) ], Int.scan StringCvt.DEC ) ) getc stream (* {associndicator}?"{"{expressions}"}" *) fun guard getc stream = PC.seqWith (fn (assocOpt, (_, (exps, _))) => Guard (assocOpt, exps)) ( PC.option assocIndicator, PC.seq (PC.char #"{", PC.seq (expressions, PC.char #"}")) ) getc stream (* "~"?{num}"[" *) and startOfIndent getc stream = PC.wrap ( PC.seq (Int.scan StringCvt.DEC, PC.char #"["), fn (level, _) => StartOfIndent level ) getc stream (* "]" *) and endOfIndent getc stream = PC.wrap (PC.char #"]", fn _ => EndOfIndent) getc stream (* "d"|{num} *) and priority getc stream = PC.or ( PC.wrap (PC.char #"d", fn _ => Deferred), PC.wrap (Int.scan StringCvt.DEC, fn n => Preferred n) ) getc stream (* "+"?{priority}|"+" *) and indicator getc stream = PC.or ( PC.seqWith (fn (spaceOpt, priority) => Indicator { space = isSome spaceOpt, newline = SOME{priority = priority} }) (PC.option (PC.char #"+"), priority), PC.wrap ( PC.char #"+", fn _ => Indicator {space = true, newline = NONE} ) ) getc stream and expression getc stream = PC.or' [ string, newline, guard, startOfIndent, endOfIndent, indicator ] getc stream and expressions getc stream = PC.seqWith #1 ( PC.skipBefore Char.isSpace (PC.oneOrMore (PC.skipBefore Char.isSpace expression)), PC.zeroOrMore (PC.eatChar Char.isSpace) ) getc stream in fun parse getc stream = expressions getc stream end (***************************************************************************) endsmlsharp-1.2.0/src/smlformat/formatlib/main/FormatExpressionTypes.smi0000644 000000000000000000000077012050661606026254 0ustar00rootroot0000000 0000000 structure FormatExpressionTypes = struct datatype priority = Preferred of int | Deferred datatype assocDirection = Left | Right | Neutral type assoc = {cut : bool, strength : int, direction : assocDirection} datatype expression = Term of (int * string) | Newline | Guard of (assoc option) * (expression list) | Indicator of {space : bool, newline : {priority : priority} option} | StartOfIndent of int | EndOfIndent end smlsharp-1.2.0/src/smlformat/formatlib/main/FormatExpressionTypes.sml0000755 000000000000000000000175512050661606026266 0ustar00rootroot0000000 0000000 (** * This module defines types which represents format expressions. * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. * @version $Id: FormatExpressionTypes.sml,v 1.1 2008/02/28 13:08:30 kiyoshiy Exp $ *) structure FormatExpressionTypes = struct (***************************************************************************) datatype priority = Preferred of int | Deferred datatype assocDirection = Left | Right | Neutral type assoc = {cut : bool, strength : int, direction : assocDirection} datatype expression = Term of (int * string) | Newline | Guard of (assoc option) * (expression list) | Indicator of { space : bool, newline : { priority : priority } option } | StartOfIndent of int | EndOfIndent (***************************************************************************) end; smlsharp-1.2.0/src/smlformat/formatlib/main/PreProcessedExpression.smi0000644 000000000000000000000125412050661606026373 0ustar00rootroot0000000 0000000 _require "../../../basis/main/binary-op.smi" structure PreProcessedExpression = struct datatype priority = Preferred of int | Deferred type environmentEntry = { requiredColumns : int, newline : bool ref, priority : priority } type environment = environmentEntry list datatype expression = Term of (int * string) | List of {expressions : expression list, environment : environment} | Indicator of {space : bool, newline : bool ref} | DeferredIndicator of {space : bool, requiredColumns : int ref} | StartOfIndent of int | EndOfIndent val isHigherThan : priority * priority -> bool end smlsharp-1.2.0/src/smlformat/formatlib/main/PreProcessedExpression.sml0000644 000000000000000000000556412050661606026406 0ustar00rootroot0000000 0000000 (** * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. * @version $Id: FORMAT_EXPRESSION_TYPES.sig,v 1.1 2008/02/28 13:08:30 kiyoshiy Exp $ *) structure PreProcessedExpression = struct (** * This is a duplication of FormatExpression.priority. *) datatype priority = (** preferred priority of the specified priority *) Preferred of int | (** deferred priority *) Deferred (** * The entry which contains the information needed to decide to begin * newlines at the newline indicators. * The preferred indicators of the same priority share a entry. * Separate entries are generated for each deferred indicators. *) type environmentEntry = { (** * the number of columns required to print the text without inserting * newlines at the indicators of the priority. *) requiredColumns : int, (** * indicates whether to begin a newline at the all indicators of * the priority *) newline : bool ref, (** the priority *) priority : priority } type environment = environmentEntry list datatype expression = (** the term string literal *) Term of (int * string) | (** non terminal *) List of { (** the list of expressions *) expressions : expression list, (** * the environment consisting of entries for preferred indicators. *) environment : environment } | (** the format indicators *) Indicator of { (** true if the space indicator is specified. *) space : bool, (** become true if a newline should begin at this indicator. *) newline : bool ref } | (** the format indicators with deferred newline priority *) DeferredIndicator of { (** true if the space indicator is specified. *) space : bool, (** * the number of columns required to print the text without * inserting newlines at this indicator. * NOTE: The type of this field is reference in order to keep * efficiency of implementation of the preprocessor. * The prettyprinter never modifies this fields. *) requiredColumns : int ref } | (** the width of indent. *) StartOfIndent of int | (** the end of indent scope *) EndOfIndent fun isHigherThan (_, Deferred) = true | isHigherThan (Deferred, _) = false | isHigherThan (Preferred left, Preferred right) = left < right end; smlsharp-1.2.0/src/smlformat/formatlib/main/PreProcessor.smi0000644 000000000000000000000556512050661606024354 0ustar00rootroot0000000 0000000 _require "../../../basis/main/Bool.smi" _require "../../../basis/main/String.smi" _require "../../../basis/main/Int.smi" _require "../../../basis/main/List.smi" _require "../../../basis/main/Option.smi" _require "../../../basis/main/General.smi" _require "../../../basis/main/binary-op.smi" _require "FormatExpression.smi" _require "PreProcessedExpression.smi" _require "PrinterParameter.smi" structure PreProcessor = struct exception Fail of string exception UnMatchEndOfIndent of string type context = { totalIndent : int, indentStack : int list, countOfEndOfIndent : int, charsAfterNewline : int ref } val MAX_PRIORITY : int val NEWLINE_PRIORITY : int val MAX_USER_PRIORITY : int val ++ : int * int -> int structure Environment = struct type entry = { priority : FormatExpression.priority, newline : bool ref, total : int, max : int, subTotal : int } type environment = (entry list * FormatExpression.priority) val addTotal : int -> entry -> entry val setTotal : int -> entry -> entry val addSubTotal : int -> entry -> entry val setSubTotal : int -> entry -> entry val create : unit -> { priority : FormatExpression.priority, newline : bool ref, total : int , max : int, subTotal : int } list * FormatExpression.priority val getEntry : environment -> int -> FormatExpression.priority -> entry * (entry list * FormatExpression.priority) val map : ('a -> 'b) -> 'a list * 'c -> 'b list * 'c val removeEntry : entry list * 'a -> FormatExpression.priority -> entry option * (entry list * 'a) val getEntries : 'a * 'b -> 'a val getLastPriority : environment -> FormatExpression.priority val setLastPriority : environment -> FormatExpression.priority -> environment val entryToString : {max:int, newline:bool ref, priority:FormatExpression.priority, subTotal:int, total:int} -> string val toString : {max:int, newline:bool ref, priority:FormatExpression.priority, subTotal:int, total:int} list * FormatExpression.priority -> string end val calculate : PrinterParameter.parameterRecord -> Environment.entry list * FormatExpression.priority -> context -> FormatExpression.expression -> (Environment.entry list * FormatExpression.priority) * context * PreProcessedExpression.expression val preProcess : PrinterParameter.parameterRecord -> FormatExpression.expression -> PreProcessedExpression.expression end smlsharp-1.2.0/src/smlformat/formatlib/main/PreProcessor.sml0000644 000000000000000000005351312050661606024353 0ustar00rootroot0000000 0000000 (** * This module translates FormatExpression.expression into * PreProcessedExpression.expression. * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. * @version $Id: PreProcessor.sml,v 1.7 2010/02/09 07:53:18 katsu Exp $ *) structure PreProcessor = struct (***************************************************************************) structure FE = FormatExpression structure PE = PreProcessedExpression (***************************************************************************) (** * raised when any error occurs. * @params message * @param message the error message *) exception Fail of string (***************************************************************************) (** the exception raised when the EndOfIndent with no matched * FormatIndicator is found. * @params message * @param message the error message *) exception UnMatchEndOfIndent of string (***************************************************************************) (** * global shared information. *

* The context is passed from the beginning to the end of the format * expression list beyond guards. *

*) type context = { (** the current indent width. equals to sum of stack. *) totalIndent : int, (** stack of indent width. pushed by each scope *) indentStack : int list, (** for error message *) countOfEndOfIndent : int, (** the number of chars between adjacent newline indicators (maybe across start/end of guard. *) charsAfterNewline : int ref } (***************************************************************************) val MAX_PRIORITY = ~1 (** the priority of the Newline format expression. *) val NEWLINE_PRIORITY = 0 (** the highest priority that user can specify. *) val MAX_USER_PRIORITY = 1 infix 6 ++ (** addition of two integers. * This operator clamps the result to the maxInt if Overflow occurs. *) fun x ++ y = if SOME x = Int.maxInt then x else (x + y) handle Overflow => valOf Int.maxInt (** * shared information within a guard. *

* The environment is passed from the beginning to the end of the guard. * It is not shared between different guards. *

*) structure Environment = struct (*************************************************************************) (** * Environment has an entry for each priority. *

* For example, assume the following format expression. *

     * 1 "abc" 2 "def" 3 "ghi" 1 "jkl" 2 "mno"
     * 
* At the end of this expresssion, the entry of priority 2 has the * following field values. *
     *  {
     *    total = 6,
     *    max = 9,
     *    subTotal = 3,
     *      :
     *  }
     * 
* The 'total' field is used to calculate the 'max' field. * The 'max' field is used to calculate the number of columns required to * print the strings without inserting newlines at the indicators of this * priority. * The 'subTotal' field is used to as the initial 'total' field for * indicators of lower priority than this priority. *

*) type entry = { (** this entry records the counters for indicators of this * priority. *) priority : FE.priority, (** indicates whether to insert newlines at the positions of * indicators of this priority. *) newline : bool ref, (** the number of characters after the last indicator whose priority * is higher than the priority of this entry. The indent width at * that indicator is included. *) total : int, (** the maximum of the number of characters between * indicators of the higer priority than this priority. * This is equal to the maximum number which the 'total' field of * this entry has reached ever. *) max : int, (** The number of characters after the last indicator of this * priority. The indent width at that indicator is included in * this value. This field is used as the initial value of the * 'total' field for the entries of the lower priority than this * entry.*) subTotal : int } type environment = (entry list * FE.priority) (*************************************************************************) (** * increments 'total' field of an entry. * 'max' filed must be updated if necessary. *) fun addTotal increment (entry : entry) = let val newTotal = #total entry ++ increment in { priority = #priority entry, newline = #newline entry, total = newTotal, max = Int.max(#max entry, newTotal), subTotal = #subTotal entry } : entry end (** * reset 'total' field of an entry. * 'max' filed must be updated if necessary. *) fun setTotal newTotal (entry : entry) = { priority = #priority entry, newline = #newline entry, total = newTotal, max = Int.max(#max entry, newTotal), subTotal = #subTotal entry } : entry (** * increments 'subTotal' field of an entry. *) fun addSubTotal increment (entry : entry) = { priority = #priority entry, newline = #newline entry, total = #total entry, max = #max entry, subTotal = #subTotal entry ++ increment } : entry (** * reset 'subTotal' field of an entry. *) fun setSubTotal newSubTotal (entry : entry) = { priority = #priority entry, newline = #newline entry, total = #total entry, max = #max entry, subTotal = newSubTotal } : entry (** create new environment * @return new environment. *) fun create () = ( [ { priority = FE.Preferred MAX_PRIORITY, newline = ref false, total = 0, max = 0, subTotal = 0 } ], FE.Preferred MAX_PRIORITY ) (** * get or create the entry of the specified priority in the environment. * @params environment currentIndentWidth priority * @param environment the environment * @param currentIndentWidth width of the indent to be used as the initial * value of the subtotal of the new entry. * @param priority the priority of the entry to get or create. * @return the entry of the specified priority, or the new entry if it is * not found. *) fun getEntry ((E, last) : environment) currentIndentWidth priority = let (** * Search the entry of the specified priority. * If not found, 'find' adds a new entry whose the 'total' and * 'max' field are copied from the entry of the least priority among * the entries of higher priority than the specified priority. * @params (entries, scanned, maxOfLower, higerEntry) * @param entries the entries to be scanned * @param scanned the already scanned entries * @param maxOfLower the maximum value among the values of 'max' * fields of entries of lower priority than the specified * priority. * @param higherEntry the entry whose priority is higher than the * specified priority. * @return a pair of the entry for the specified entry and the * environment which may not be equal to the initial env (E). *) fun find ((entry : entry) :: entries, scanned, maxOfLower, higherEntry) = if (#priority entry) = priority then (entry, E) else let val newHigherEntry = if FE.isHigherThan (#priority entry, priority) andalso (higherEntry = NONE orelse FE.isHigherThan (#priority (valOf higherEntry), #priority entry)) then SOME entry else higherEntry val newMaxOfLower = if FE.isHigherThan (priority, #priority entry) andalso maxOfLower < #max entry then #max entry else maxOfLower in find (entries, entry :: scanned, newMaxOfLower, newHigherEntry) end | find ([], scanned, maxOfLower, SOME ({subTotal, ...} : entry)) = let val newMax = Int.max (maxOfLower, subTotal) val newEntry = { priority = priority, newline = ref false, total = subTotal, max = newMax, subTotal = currentIndentWidth } in (newEntry, newEntry :: scanned) end | find ([], _, _, NONE) = raise Fail ("entry of the priority " ^ (FE.priorityToString priority) ^ " is not found.") in case find (E, [], 0, NONE) of (entry, newE) => (entry, (newE, last)) end (** * apply the function to the entries in the environment. * @params function environment * @param function the function to apply * @param environment the environment * @return the list of return values by the application of the function * to the entries of the environment. *) fun map f (E, last) = (List.map f E, last) (** remove the entry of the specified priority from the environment. * @params env priority * @param env the environment * @param priority the priority of the entry to remove * @return the removed entry(NONE if not found) and the new environment. *) fun removeEntry (E, last) priority = let fun find ([] : entry list, scanned) = (NONE, scanned) | find ((entry as {priority = p, ...}) :: entries, scanned) = if p = priority then (SOME entry, scanned @ entries) else find (entries, entry :: scanned) in case find (E, []) of (entryOpt, newE) => (entryOpt, (newE, last)) end fun getEntries (E, _) = E fun getLastPriority ((_, last) : environment) = last fun setLastPriority ((E, _) : environment) last = (E, last) : environment fun entryToString {priority, newline, total, max, subTotal} = "{priority=" ^ FE.priorityToString priority ^ ",newline=" ^ Bool.toString (!newline) ^ ",total=" ^ Int.toString total ^ ",max=" ^ Int.toString max ^ ",subTotal=" ^ Int.toString subTotal ^ "}" fun toString (entries, priority) = "[" ^ String.concatWith "," (List.map entryToString entries) ^ "," ^ FE.priorityToString priority ^ "]" end structure E = Environment (***************************************************************************) (** * calculates the length of the string and updates environment. *

*

    *
  • calculates the column width which is required to display the * string representation of the expression in one line.
  • *
  • updates the ENV by updating or inserting entries in the passed ENV. *
  • *
*

* @params parameter ENV context expression * @param parameter parameters to control the printer * @param ENV the environment which records counters for each newline * priorities. * @param context the information about indents. * @param expression a format expression. * @return a triple-tuple: *
    *
  • updated ENV
  • *
  • updated context
  • *
  • the expression of PrettyPrinter.expression
  • *
*) fun calculate (parameter : PrinterParameter.parameterRecord) ENV (context : context) (FE.Term (columns, text)) = let val scanner = (E.addTotal columns) o (E.addSubTotal columns) val newENV = E.map scanner ENV val _ = #charsAfterNewline context := !(#charsAfterNewline context) ++ columns in (newENV, context, PE.Term (columns, text)) end | calculate parameter ENV context (FE.StartOfIndent indent) = ( ENV, { totalIndent = (#totalIndent context) ++ indent, indentStack = indent :: (#indentStack context), countOfEndOfIndent = #countOfEndOfIndent context, charsAfterNewline = #charsAfterNewline context }, PE.StartOfIndent indent ) | calculate parameter ENV context (FE.Indicator {space, newline = SOME newline}) = let val textLen = if space then 1 else 0 fun scanner (entry : E.entry) = let val (newTotal, newSubTotal) = if FE.isHigherThan (#priority newline, #priority entry) then (* updates entries for lower priorities than the current indicator. *) ( #totalIndent context, #totalIndent context ) else (* treats this indicator as a whitespace for higher or equal priorities than the current indicator. *) ( (#total entry) ++ textLen, if (#priority newline) = (#priority entry) then #totalIndent context else (#subTotal entry) ++ textLen ) in (* returns the entry of which the 'total' and 'subTotal' fields * are updated. *) ((E.setTotal newTotal) o (E.setSubTotal newSubTotal)) entry end val newENV = E.setLastPriority (E.map scanner ENV) (#priority newline) val newContext = { totalIndent = #totalIndent context, indentStack = #indentStack context, countOfEndOfIndent = #countOfEndOfIndent context, charsAfterNewline = ref textLen } in case #priority newline of FE.Preferred _ => let (* The current indent width is passed as the second argument. This will be ignored if a entry for this priority is already contained in the newENV. *) val (newENVEntry, newENV) = E.getEntry newENV (#totalIndent context) (#priority newline) in ( newENV, newContext, PE.Indicator {space = space, newline = #newline newENVEntry} ) end | FE.Deferred => ( newENV, newContext, PE.DeferredIndicator {space = space, requiredColumns = #charsAfterNewline newContext} ) end | calculate parameter ENV context (FE.Indicator {space, newline = NONE}) = if space then calculate parameter ENV context (FE.Term (1, #spaceString parameter)) else calculate parameter ENV context (FE.Term (0, "")) (* exception ? *) | calculate parameter ENV context (FE.Guard (NONE, expressions)) = let val guard = FE.Indicator { space = false, newline = SOME {priority = FE.Preferred MAX_PRIORITY} } (* calculates for inner expressions. * A 'guard' indicator of MAX_PRIORITY is appended to the inner * expressions. * After the calculation, the sum of lengths of inner expressions is * obtained in the entry of this MAX_PRIORITY. *) val { ENV = innerENV, context = innerContext, result } = foldl (fn (expression, {ENV, context, result}) => let val (newENV, newContext, newExpression) = calculate parameter ENV context expression in { ENV = newENV, context = newContext, result = newExpression :: result (* in reverse order *) } end) { ENV = E.create (), context = { totalIndent = 0, indentStack = [0], countOfEndOfIndent = #countOfEndOfIndent context, charsAfterNewline = #charsAfterNewline context }, result = [] } (expressions @ [guard]) (* append guard *) (* separate the guard entry and the others *) val (guardEntry, innerENV) = E.removeEntry innerENV (FE.Preferred MAX_PRIORITY) (* add the total size of inner expressions to each entries of outer env. The total length of this list is stored in the total field of the guard. *) val totalSize = #total (valOf guardEntry) val scanner = (E.addTotal totalSize) o (E.addSubTotal totalSize) val newEnv = E.map scanner ENV (* translate ENVs of inner to formatEnvironment *) fun translateENVEntry (srcEntry : E.entry) = { requiredColumns = #max srcEntry, newline = #newline srcEntry, priority = case #priority srcEntry of FE.Preferred n => PE.Preferred n | FE.Deferred => PE.Deferred } val newExpression = PE.List { expressions = List.rev (tl result), (* remove the guard *) environment = E.getEntries (E.map translateENVEntry innerENV) } in ( newEnv, { totalIndent = #totalIndent context, indentStack = #indentStack context, countOfEndOfIndent = #countOfEndOfIndent innerContext, charsAfterNewline = #charsAfterNewline innerContext }, newExpression ) end | calculate parameter ENV context (FE.Guard (SOME _, expressions)) = raise Fail "a bug: There is an assoc indicator unremoved." | calculate parameter ENV ({indentStack = [_], countOfEndOfIndent, ...} : context) FE.EndOfIndent = (* The indent stack contains only one element (= dummy element). *) raise UnMatchEndOfIndent ("unmatch EndOfIndent(" ^ Int.toString (countOfEndOfIndent + 1) ^ ")") | calculate parameter ENV ({indentStack = [], countOfEndOfIndent, ...} : context) FE.EndOfIndent = (* The indent stack contains no element. This case is impossible. It is a bug if occurs. *) raise UnMatchEndOfIndent ("unmatch EndOfIndent(" ^ Int.toString (countOfEndOfIndent + 1) ^ ")") | calculate parameter ENV { totalIndent, indentStack = topIndent :: remains, countOfEndOfIndent, charsAfterNewline } FE.EndOfIndent = ( ENV, { totalIndent = totalIndent - topIndent, indentStack = remains, countOfEndOfIndent = countOfEndOfIndent + 1, charsAfterNewline = charsAfterNewline }, PE.EndOfIndent ) | calculate parameter ENV context FE.Newline = let fun scanner (entry : E.entry) = if #priority entry = FE.Preferred MAX_PRIORITY then (* change the 'total' field of the entry of MAX_PRIORITY to very * large number, so that, in formatted string, line is broken at * all newline indicators in all guards enclosing the current * guard. *) E.setTotal (valOf Int.maxInt) entry else if #priority entry = FE.Preferred NEWLINE_PRIORITY then entry else (* reset entries of all newline indicators of other priorities. *) (E.setTotal (#totalIndent context) o E.setSubTotal (#totalIndent context)) entry val newENV = E.map scanner ENV (* generates an entry of NEWLINE_PRIORITY if necessary. *) val (_, newENV) = E.getEntry newENV (#totalIndent context) (FE.Preferred NEWLINE_PRIORITY) in (newENV, context, PE.Indicator {space = false, newline = ref true}) end (***************************************************************************) (** * translates a FormatExpression.expression into a PrettyPrinter.expression. * @params parameter expression * @param parameter parameters which control the printer * @param expression a format expression * @return a PrettyPrinter.expression translated from the expression. *) fun preProcess parameter expression = let val initialENV = E.create () val initialContext = { totalIndent = 0, indentStack = [0], countOfEndOfIndent = 0, charsAfterNewline = ref 0 } in #3 (calculate parameter initialENV initialContext expression) end (***************************************************************************) end; smlsharp-1.2.0/src/smlformat/formatlib/main/PrettyPrinter.smi0000644 000000000000000000000102712050661606024546 0ustar00rootroot0000000 0000000 _require "../../../basis/main/String.smi" _require "../../../basis/main/List.smi" _require "../../../basis/main/General.smi" _require "../../../basis/main/binary-op.smi" _require "FormatExpression.smi" _require "PreProcessedExpression.smi" _require "PrinterParameter.smi" structure PrettyPrinter = struct exception UnMatchEndOfIndent exception IndentUnderFlow of int val sort : ('a * 'a -> bool) -> 'a list -> 'a list val format : PrinterParameter.parameterRecord -> PreProcessedExpression.expression -> string end smlsharp-1.2.0/src/smlformat/formatlib/main/PrettyPrinter.sml0000644 000000000000000000002626512050661606024564 0ustar00rootroot0000000 0000000 (** * This module translates the expressions into a text representation which fits * within the specified column width. * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. * @version $Id: PrettyPrinter.sml,v 1.5 2008/02/28 13:08:30 kiyoshiy Exp $ *) structure PrettyPrinter = struct (***************************************************************************) structure FE = FormatExpression structure PE = PreProcessedExpression structure PP = PrinterParameter (***************************************************************************) (** the exception raised when the EndOfIndent with no matched * FormatIndicator is found. *) exception UnMatchEndOfIndent (** * the exception raised when the specified indent offset plus the current * indent is less than 0. * @params offset * @param offset the indent offset which causes the indent underflow. *) exception IndentUnderFlow of int (***************************************************************************) (** * sorts a list * @params comparator list * @param comparator a function which compares two elements in the list. * When applied to (left, right), it must return true if left < right. * @param list the list to be sorted. * @return the sorted list *) fun sort isBefore list = let fun insert (element, []) = [element] | insert (element, (head :: tail)) = if isBefore (element, head) then (element :: head :: tail) else head :: (insert (element, tail)) in foldl insert [] list end (****************************************) (** * translates the expression into a text representation which fits within * the specified column width. *

* This function tries to insert newline characters so that the text can * fit within the specified column width, but it may exceed the specified * column width if the column width is too small. *

* @params parameter expression * @param parameter parameters which control the printer * @param expression the expression to be translated. * @return the text representation of the expression. *) fun format (parameters : PP.parameterRecord) = let val initialCols = #columns parameters val spaceString = #spaceString parameters val newlineString = #newlineString parameters val cutOverTail = #cutOverTail parameters datatype line = Unclosed of string | Closed of string | Truncated of string type context = { (** the number of remaining columns. *) cols : int, (** line list in reversed order. *) lines : line list, indentString : string, indentWidth : int, indentStack : int list } (** * extends or shrink a indent * @params indentString currentIndentWidth diff * @param indentString a string of seqeunce of whitespaces. * @param currentIndentWidth the current indent width * @param diff the number of charactes by which extend or shrink * the indent. * @return the indent text which is extended by diff characters * if diff > 0, or shrinked by diff characters if diff < 0. * @exception IndentUnderFlow when addition of the size of indent and * the diff is less than 0. *) fun extendIndent (indentString : string) currentIndentWidth diff = if 0 = diff then indentString else let val newIndentSize = currentIndentWidth + diff in if newIndentSize < 0 then raise IndentUnderFlow diff else String.concat (List.tabulate (newIndentSize, fn _ => spaceString)) end (** creates a string of specified number of whitespaces. * @params size * @param size the number of whitespace characters * @return a string consisted of the size whitespaces. *) fun makeIndent size = String.concat (List.tabulate (size, fn _ => spaceString)) fun checkOverTail ifNotOver string = let val sizeOfString = size string in if cutOverTail andalso initialCols < sizeOfString then Truncated (if initialCols < 2 orelse sizeOfString < 2 then ".." else String.substring (string, 0, initialCols - 2) ^ "..") else ifNotOver string end fun appendToLine text (Unclosed line :: lines') = let val str = line ^ text in (checkOverTail Unclosed str) :: lines' end | appendToLine text (lines as (Truncated _ :: _)) = lines | appendToLine text lines = (Unclosed text) :: lines fun closeLine (Unclosed line :: lines) = (checkOverTail Closed line) :: lines | closeLine (Truncated line :: lines) = (Closed line) :: lines | closeLine lines = (Closed "") :: lines fun linesToString ({lines, ...} : context) = let val strings = map (fn (Closed s) => s ^ newlineString | (Truncated s) => s ^ newlineString | (Unclosed s) => s) (List.rev lines) (* lines are in reversed order. *) in String.concat strings end fun visit canMultiline (context : context) (PE.Term (columns, text)) = { cols = (#cols context) - columns, lines = appendToLine text (#lines context), indentString = #indentString context, indentWidth = #indentWidth context, indentStack = #indentStack context } | visit canMultiline context (PE.List { expressions, environment = unsortedEnvironment }) = let (* sort environment entries in descending order of the priority *) val environment = sort (fn (left, right) => PE.isHigherThan (#priority left, #priority right)) unsortedEnvironment (* Decide whether to begin a new line at preferred indicators. Decisions are made for the higher priority before for the lower priority. ( The 'environment' has been sorted in descending order by the above code. ) The result 'allPreferredMultiLined' is true if newlines begin at the all preferred indicators. *) val allPreferredMultiLined = foldl (fn ({requiredColumns, newline, priority, ...}, multilined) => (* the 'multilined' is true if newlines begin at the all preferred indicators in the enclosing guards and the higher preferred indicators in this guard. *) ( newline := (multilined andalso (#cols context) < requiredColumns); ! newline )) canMultiline environment val newContext = foldl (fn (expression, context) => visit allPreferredMultiLined context expression) { cols = #cols context, lines = #lines context, indentString = makeIndent (initialCols - (#cols context)), indentWidth = (initialCols - (#cols context)), indentStack = [] } expressions in { cols = #cols newContext, (* from newContext *) lines = #lines newContext, indentString = #indentString context, indentWidth = #indentWidth context, indentStack = #indentStack context } end | visit canMultiline context (PE.StartOfIndent indent) = let val newIndentStack = indent :: (#indentStack context) val newIndentWidth = #indentWidth context + indent val newIndentString = extendIndent (#indentString context) (#indentWidth context) indent in { cols = #cols context, lines = #lines context, indentString = newIndentString, indentWidth = newIndentWidth, indentStack = newIndentStack } end | visit canMultiline context (PE.Indicator {space, newline}) = if ! newline then let val newCols = initialCols - (#indentWidth context) in { cols = newCols, lines = appendToLine (#indentString context) (closeLine (#lines context)), indentString = #indentString context, indentWidth = #indentWidth context, indentStack = #indentStack context } end else if space then visit canMultiline context (PE.Term (1, spaceString)) else context | visit canMultiline context (PE.DeferredIndicator{space, requiredColumns}) = if canMultiline andalso (#cols context) < (!requiredColumns) then let val newCols = initialCols - (#indentWidth context) in { cols = newCols, lines = appendToLine (#indentString context) (closeLine (#lines context)), indentString = #indentString context, indentWidth = #indentWidth context, indentStack = #indentStack context } end else if space then visit canMultiline context (PE.Term (1, spaceString)) else context | visit _ context PE.EndOfIndent = case #indentStack context of [] => raise UnMatchEndOfIndent | (indent :: newIndentStack) => let val newIndentString = extendIndent (#indentString context) (#indentWidth context) (~indent) val newIndentWidth = #indentWidth context - indent in { cols = #cols context, lines = #lines context, indentString = newIndentString, indentWidth = newIndentWidth, indentStack = newIndentStack } end in linesToString o (visit true { cols = initialCols, lines = [], indentString = "", indentWidth = 0, indentStack = [] }) end (***************************************************************************) endsmlsharp-1.2.0/src/smlformat/formatlib/main/PRINTER_PARAMETER.sig0000644 000000000000000000000510312050661606024427 0ustar00rootroot0000000 0000000 (** * parameter for pretty-printer. * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. * @version $Id: PRINTER_PARAMETER.sig,v 1.4 2007/06/18 13:30:43 kiyoshiy Exp $ *) signature PRINTER_PARAMETER = sig (***************************************************************************) (** Its value is "\n". *) val defaultNewline : string (** Its value is " ". *) val defaultSpace : string (** Its value is 80. *) val defaultColumns : int (** Its value is "(". *) val defaultGuardLeft : string (** Its value is ")". *) val defaultGuardRight : string (** Its value is NONE. *) val defaultMaxDepthOfGuards : int option (** Its value is NONE. *) val defaultMaxWidthOfGuards : int option (** Its value is false. *) val defaultCutOverTail : bool datatype parameter = (** a string used to begin a new line. * For example, "\n" or "<br>". *) Newline of string | (** a string used to insert a space. * For example, " " or "&nbsp;". * The specified string is considered to occupy 1 column in the * formatted output. *) Space of string | (** the desired number of columns in which the output is formatted. *) Columns of int | (** a string to be used to enclose at the left side of Guard. * For example, "(" or "[". * The specified string is considered to occupy 1 column in the * formatted output. *) GuardLeft of string | (** a string to be used to enclose at the right side of Guard. * For example, ")" or "]". * The specified string is considered to occupy 1 column in the * formatted output. *) GuardRight of string | (** specifies the maximum depth of nests of Guards to be formatted. * Guards nested at deeper than specified are discarded. * If NONE, Guards at every depth are formatted. *) MaxDepthOfGuards of int option | (** specifies the maximum elements of Guards to be formatted. * Only first elements of specified number are formatted. * If NONE, all of elements of Guards are formatted. *) MaxWidthOfGuards of int option | (** specifies whether to truncate tail-characters of each line * if they over the specified number of columns. *) CutOverTail of bool (***************************************************************************) endsmlsharp-1.2.0/src/smlformat/formatlib/main/PrinterParameter.smi0000644 000000000000000000000233612050661606025203 0ustar00rootroot0000000 0000000 _require "../../../basis/main/List.smi" structure PrinterParameter = struct datatype parameter = Newline of string | Space of string | Columns of int | GuardLeft of string | GuardRight of string | MaxDepthOfGuards of int option | MaxWidthOfGuards of int option | CutOverTail of bool val defaultNewline : string val defaultSpace : string val defaultColumns : int val defaultGuardLeft : string val defaultGuardRight : string val defaultMaxDepthOfGuards : 'a option val defaultMaxWidthOfGuards : 'a option val defaultCutOverTail : bool type parameterRecord = { newlineString : string, spaceString : string, columns : int, guardLeft : string, guardRight : string, maxDepthOfGuards : int option, maxWidthOfGuards : int option, cutOverTail : bool } val convert : parameter list -> { newlineString : string, spaceString : string, columns : int, guardLeft : string, guardRight : string, maxDepthOfGuards : int option, maxWidthOfGuards : int option, cutOverTail : bool } end smlsharp-1.2.0/src/smlformat/formatlib/main/PrinterParameter.sml0000644 000000000000000000000651312050661606025207 0ustar00rootroot0000000 0000000 (** * parameter for pretty-printer. * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. * @version $Id: PrinterParameter.sml,v 1.4 2007/06/18 13:30:43 kiyoshiy Exp $ *) structure PrinterParameter = struct (***************************************************************************) datatype parameter = Newline of string | Space of string | Columns of int | GuardLeft of string | GuardRight of string | MaxDepthOfGuards of int option | MaxWidthOfGuards of int option | CutOverTail of bool val defaultNewline = "\n" val defaultSpace = " " val defaultColumns = 80 val defaultGuardLeft = "(" val defaultGuardRight = ")" val defaultMaxDepthOfGuards = NONE val defaultMaxWidthOfGuards = NONE val defaultCutOverTail = false type parameterRecord = { newlineString : string, spaceString : string, columns : int, guardLeft : string, guardRight : string, maxDepthOfGuards : int option, maxWidthOfGuards : int option, cutOverTail : bool } (***************************************************************************) fun convert parameterList = let val ( spaceString, guardLeft, guardRight, maxDepthOfGuards, maxWidthOfGuards ) = List.foldl (fn (param, (space, left, right, depth, width)) => case param of Space s => (s, left, right, depth, width) | GuardLeft s => (space, s, right, depth, width) | GuardRight s => (space, left, s, depth, width) | MaxDepthOfGuards no => (space, left, right, no, width) | MaxWidthOfGuards no => (space, left, right, depth, no) | _ => (space, left, right, depth, width)) ( defaultSpace, defaultGuardLeft, defaultGuardRight, defaultMaxDepthOfGuards, defaultMaxWidthOfGuards ) parameterList val (columns, spaceString, newlineString, cutOverTail) = List.foldl (fn (param, (cols, space, newline, cuttail)) => case param of Newline s => (cols, space, s, cuttail) | Space s => (cols, s, newline, cuttail) | Columns n => (n, space, newline, cuttail) | CutOverTail b => (cols, space, newline, b) | _ => (cols, space, newline, cuttail)) ( defaultColumns, defaultSpace, defaultNewline, defaultCutOverTail ) parameterList in { newlineString = newlineString, spaceString = spaceString, columns = columns, guardLeft = guardLeft, guardRight = guardRight, maxDepthOfGuards = maxDepthOfGuards, maxWidthOfGuards = maxWidthOfGuards, cutOverTail = cutOverTail } end (***************************************************************************) endsmlsharp-1.2.0/src/smlformat/formatlib/main/SMLFORMAT.sig0000644 000000000000000000000337612050661606023262 0ustar00rootroot0000000 0000000 (** * Pretty-printer library for Standard ML. * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. * @version $Id: SMLFORMAT.sig,v 1.3 2008/03/01 00:51:27 kiyoshiy Exp $ *) signature SMLFORMAT = sig (***************************************************************************) structure FormatExpression : FORMAT_EXPRESSION structure PrinterParameter : PRINTER_PARAMETER structure BasicFormatters : BASIC_FORMATTERS sharing type FormatExpression.expression = BasicFormatters.expression (***************************************************************************) datatype parameter = datatype PrinterParameter.parameter (***************************************************************************) (** * raised when any error occurs. * @params message * @param message the error message *) exception Fail of string (***************************************************************************) (** * verbosity of trace message. * No trace is output if 0. *) val traceLevel : int ref (** * translates the format expressions into a text representation which * fits within the specified column width. *

* This function tries to insert newline characters so that the text can * fit within the specified column width, but it may exceed the specified * column width if the column width is too small. *

* @params parameter expressions * @param parameter parameters which control the printer * @param expressions a list of format expressions. * @return the text representation of the expressions *) val prettyPrint : parameter list -> FormatExpression.expression list -> string (***************************************************************************) endsmlsharp-1.2.0/src/smlformat/formatlib/main/SMLFormat.smi0000644 000000000000000000000234612050661606023524 0ustar00rootroot0000000 0000000 _require "../../../basis/main/Char.smi" _require "../../../basis/main/Word.smi" _require "../../../basis/main/Array.smi" _require "../../../basis/main/Real.smi" _require "../../../basis/main/Vector.smi" _require "../../../basis/main/StringCvt.smi" _require "../../../basis/main/Option.smi" _require "../../../basis/main/General.smi" _require "../../../basis/main/Int.smi" _require "../../../basis/main/String.smi" _require "../../../basis/main/Substring.smi" _require "../../../basis/main/TextIO.smi" _require "../../../basis/main/binary-op.smi" _require "FormatExpression.smi" _require "FORMAT_EXPRESSION.sig" _require "AssocResolver.smi" _require "PrettyPrinter.smi" _require "PrinterParameter.smi" _require "PRINTER_PARAMETER.sig" _require "Truncator.smi" _require "PreProcessor.smi" _require "BasicFormatters.smi" _require "BASIC_FORMATTERS.sig" _require "SMLFORMAT.sig" structure SMLFormat = struct structure FormatExpression = FormatExpression structure PrinterParameter = PrinterParameter structure BasicFormatters = BasicFormatters datatype parameter = datatype PrinterParameter.parameter exception Fail of string val traceLevel : int ref val prettyPrint : parameter list -> FormatExpression.expression list -> string end smlsharp-1.2.0/src/smlformat/formatlib/main/SMLFormat.sml0000755 000000000000000000000446212050661606023533 0ustar00rootroot0000000 0000000 (** * Pretty-printer library for Standard ML. * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. * @version $Id: SMLFormat.sml,v 1.4 2008/02/28 13:08:30 kiyoshiy Exp $ *) (* 2012-11-5 ohori deleted signature constraint. With the constraint, one cannot specify structure replication in the interface file, since signature constraint in general generate code and therefore cannot be identical to the original. Also, for the top-level file with smi specificatinon, signature constraint is not important. *) structure SMLFormat (* : SMLFORMAT *) = struct (***************************************************************************) structure FormatExpression = FormatExpression structure PrinterParameter = PrinterParameter structure BasicFormatters = BasicFormatters (***************************************************************************) datatype parameter = datatype PrinterParameter.parameter (***************************************************************************) exception Fail of string (***************************************************************************) val traceLevel = ref 0 fun trace phase f arg = if !traceLevel = 0 then f arg else ( print ("[SMLFormat] begin " ^ phase ^ "\n"); f arg before print ("[SMLFormat] end " ^ phase ^ "\n") ) fun prettyPrint parameters expressions = let val parameter = PrinterParameter.convert parameters in (trace "pretty-print" (PrettyPrinter.format parameter) o trace "preprocess" (PreProcessor.preProcess parameter) o trace "assocResolve" (AssocResolver.resolve parameter) o trace "truncate" (Truncator.truncate parameter)) (FormatExpression.Guard(NONE, expressions)) end handle PreProcessor.Fail message => raise Fail ("in preprocess:" ^ message) | PreProcessor.UnMatchEndOfIndent message => raise Fail message | PrettyPrinter.UnMatchEndOfIndent => raise Fail "unmatched EndOfIndent" | PrettyPrinter.IndentUnderFlow indent => raise Fail ("indent underflow(" ^ Int.toString indent ^ ")") (***************************************************************************) end; smlsharp-1.2.0/src/smlformat/formatlib/main/Truncator.smi0000644 000000000000000000000046312050661606023677 0ustar00rootroot0000000 0000000 _require "../../../basis/main/List.smi" _require "../../../basis/main/binary-op.smi" _require "FormatExpression.smi" _require "PrinterParameter.smi" structure Truncator = struct val truncate : PrinterParameter.parameterRecord -> FormatExpression.expression -> FormatExpression.expression end smlsharp-1.2.0/src/smlformat/formatlib/main/Truncator.sml0000644 000000000000000000000515012050661606023700 0ustar00rootroot0000000 0000000 (** * This module truncates symbols beyond the depth and width of Guards * specified by user parameter. * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. * @version $Id: PreProcessor.sml,v 1.7 2010/02/09 07:53:18 katsu Exp $ *) structure Truncator = struct (***************************************************************************) structure FE = FormatExpression (***************************************************************************) local val elision = (* FE.Term (3, "...") *) FE.Guard ( NONE, [ FE.Indicator {space = true, newline = SOME{priority = FE.Deferred}}, FE.Term (3, "...") ] ) in (** * truncates symbols beyond the depth and width of Guards specified by * maxDepthOfGuards and maxWidthOfGuards parameters. *) fun truncate {maxDepthOfGuards = NONE, maxWidthOfGuards = NONE, ...} symbol = symbol | truncate (parameter : PrinterParameter.parameterRecord) symbol = let val isCutOffDepth = case #maxDepthOfGuards parameter of NONE => (fn _ => false) | SOME depth => (fn d => depth <= d) fun keepSymbol (FE.StartOfIndent _) = true | keepSymbol FE.EndOfIndent = true | keepSymbol _ = false fun takeHead _ accum [] = List.rev accum | takeHead 0 accum symbols = (List.rev accum) @ elision :: (List.filter keepSymbol symbols) | takeHead w accum ((symbol as FE.Term _) :: symbols) = takeHead (w - 1) (symbol :: accum) symbols | takeHead w accum ((symbol as FE.Guard _) :: symbols) = takeHead (w - 1) (symbol :: accum) symbols | takeHead w accum (symbol :: symbols) = takeHead w (symbol :: accum) symbols fun visit depth (FE.Guard (enclosedAssocOpt, symbols)) = if isCutOffDepth depth then elision else let val symbols' = map (visit (depth + 1)) (case #maxWidthOfGuards parameter of NONE => symbols | SOME width => takeHead width [] symbols) in FE.Guard (enclosedAssocOpt, symbols') end | visit depth symbol = symbol in visit 0 symbol end end (***************************************************************************) end;smlsharp-1.2.0/src/smlformat/formatlib/smldoc.cfg0000644 000000000000000000000054712050661606022225 0ustar00rootroot0000000 0000000 --directory=../doc/api/ --hidebysig --verbose --author --contributor --copyright --version --header=SMLFormat --footer=SMLFormat:\ Pretty-Printer\ library\ for\ SML --doctitle=SMLFormat:\ Pretty-Printer\ library\ for\ SML main/FORMAT_EXPRESSION.sig main/PRINTER_PARAMETER.sig main/BASIC_FORMATTERS.sig main/SMLFORMAT.sig main/SMLFormat.sml smlsharp-1.2.0/src/smlformat/formatlib/test0000755 000000000000000000000000012050661606021155 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/smlformat/formatlib/test/BasicFormattersTest0001.sml0000644 000000000000000000003752612050661606026217 0ustar00rootroot0000000 0000000 (** * test cases of formatters defined in BasicFormatters. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Test cases matrix
casevalue to be formatted
FormatUnit0001()
FormatInt0001~123456
FormatInt00020
FormatInt0003123456
FormatWord00010w0
FormatWord00020wx123456
FormatReal0001~123.456
FormatReal00020.0
FormatReal0003123.456
FormatChar0001#"a"
FormatString0001"abc"
FormatString0002""
FormatString0003"a"
FormatSubstring0001"abc"
FormatSubstring0002""
FormatSubstring0003"a"
FormatExn0001(omitted)
FormatArray0001["a", "b", "c"]
FormatArray0002[]
FormatArray0003["a"]
FormatVector0001["a", "b", "c"]
FormatVector0002[]
FormatVector0003["a"]
FormatRef0001ref ()
FormatBool0001true
FormatBool0002false
FormatOption0001SOME ()
FormatOption0002NONE
FormatOrder0001LESS
FormatOrder0002EQUAL
FormatOrder0003GREATER
FormatList0001["a", "b", "c"]
FormatList0002[]
FormatList0003["a"]
* * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. *) structure BasicFormattersTest0001 = struct (***************************************************************************) structure Assert = SMLUnit.Assert structure Test = SMLUnit.Test structure U = SMLFormatTestUtil structure FE = SMLFormat.FormatExpression structure FE = SMLFormat.FormatExpression structure BF = SMLFormat.BasicFormatters (***************************************************************************) local val TESTFORMATUNIT0001_VALUE = () val TESTFORMATUNIT0001_EXPECTED = [FE.Term(2, "()")] in fun testFormatUnit0001 () = ( U.assertEqualFormatExpressionList TESTFORMATUNIT0001_EXPECTED (BF.format_unit TESTFORMATUNIT0001_VALUE); () ) end (********************) local val TESTFORMATINT0001_VALUE = ~123456 val TESTFORMATINT0001_EXPECTED = [FE.Term(7, "~123456")] in fun testFormatInt0001 () = ( U.assertEqualFormatExpressionList TESTFORMATINT0001_EXPECTED (BF.format_int TESTFORMATINT0001_VALUE); () ) end local val TESTFORMATINT0002_VALUE = 0 val TESTFORMATINT0002_EXPECTED = [FE.Term(1, "0")] in fun testFormatInt0002 () = ( U.assertEqualFormatExpressionList TESTFORMATINT0002_EXPECTED (BF.format_int TESTFORMATINT0002_VALUE); () ) end local val TESTFORMATINT0003_VALUE = 123456 val TESTFORMATINT0003_EXPECTED = [FE.Term(6, "123456")] in fun testFormatInt0003 () = ( U.assertEqualFormatExpressionList TESTFORMATINT0003_EXPECTED (BF.format_int TESTFORMATINT0003_VALUE); () ) end (********************) local val TESTFORMATWORD0001_VALUE = 0w0 val TESTFORMATWORD0001_EXPECTED = [FE.Term(3, "0x0")] in fun testFormatWord0001 () = ( U.assertEqualFormatExpressionList TESTFORMATWORD0001_EXPECTED (BF.format_word TESTFORMATWORD0001_VALUE); () ) end local val TESTFORMATWORD0002_VALUE = 0wx123456 val TESTFORMATWORD0002_EXPECTED = [FE.Term(8, "0x123456")] in fun testFormatWord0002 () = ( U.assertEqualFormatExpressionList TESTFORMATWORD0002_EXPECTED (BF.format_word TESTFORMATWORD0002_VALUE); () ) end (********************) local val TESTFORMATREAL0001_VALUE = ~123.456 val TESTFORMATREAL0001_EXPECTED = [FE.Term(8, "~123.456")] in fun testFormatReal0001 () = ( U.assertEqualFormatExpressionList TESTFORMATREAL0001_EXPECTED (BF.format_real TESTFORMATREAL0001_VALUE); () ) end local val TESTFORMATREAL0002_VALUE = 0.0 val TESTFORMATREAL0002_EXPECTED = [FE.Term(3, "0.0")] in fun testFormatReal0002 () = ( U.assertEqualFormatExpressionList TESTFORMATREAL0002_EXPECTED (BF.format_real TESTFORMATREAL0002_VALUE); () ) end local val TESTFORMATREAL0003_VALUE = 123.456 val TESTFORMATREAL0003_EXPECTED = [FE.Term(7, "123.456")] in fun testFormatReal0003 () = ( U.assertEqualFormatExpressionList TESTFORMATREAL0003_EXPECTED (BF.format_real TESTFORMATREAL0003_VALUE); () ) end (********************) local val TESTFORMATCHAR0001_VALUE = #"a" val TESTFORMATCHAR0001_EXPECTED = [FE.Term(1, "a")] in fun testFormatChar0001 () = ( U.assertEqualFormatExpressionList TESTFORMATCHAR0001_EXPECTED (BF.format_char TESTFORMATCHAR0001_VALUE); () ) end (********************) local val TESTFORMATSTRING0001_VALUE = "abc" val TESTFORMATSTRING0001_EXPECTED = [FE.Term(3, "abc")] in fun testFormatString0001 () = ( U.assertEqualFormatExpressionList TESTFORMATSTRING0001_EXPECTED (BF.format_string TESTFORMATSTRING0001_VALUE); () ) end local val TESTFORMATSTRING0002_VALUE = "" val TESTFORMATSTRING0002_EXPECTED = [FE.Term(0, "")] in fun testFormatString0002 () = ( U.assertEqualFormatExpressionList TESTFORMATSTRING0002_EXPECTED (BF.format_string TESTFORMATSTRING0002_VALUE); () ) end local val TESTFORMATSTRING0003_VALUE = "a" val TESTFORMATSTRING0003_EXPECTED = [FE.Term(1, "a")] in fun testFormatString0003 () = ( U.assertEqualFormatExpressionList TESTFORMATSTRING0003_EXPECTED (BF.format_string TESTFORMATSTRING0003_VALUE); () ) end (********************) local val TESTFORMATSUBSTRING0001_VALUE = Substring.full "abc" val TESTFORMATSUBSTRING0001_EXPECTED = [FE.Term(3, "abc")] in fun testFormatSubstring0001 () = ( U.assertEqualFormatExpressionList TESTFORMATSUBSTRING0001_EXPECTED (BF.format_substring TESTFORMATSUBSTRING0001_VALUE); () ) end local val TESTFORMATSUBSTRING0002_VALUE = Substring.full "" val TESTFORMATSUBSTRING0002_EXPECTED = [FE.Term(0, "")] in fun testFormatSubstring0002 () = ( U.assertEqualFormatExpressionList TESTFORMATSUBSTRING0002_EXPECTED (BF.format_substring TESTFORMATSUBSTRING0002_VALUE); () ) end local val TESTFORMATSUBSTRING0003_VALUE = Substring.full "a" val TESTFORMATSUBSTRING0003_EXPECTED = [FE.Term(1, "a")] in fun testFormatSubstring0003 () = ( U.assertEqualFormatExpressionList TESTFORMATSUBSTRING0003_EXPECTED (BF.format_substring TESTFORMATSUBSTRING0003_VALUE); () ) end (********************) local val TESTFORMATARRAY0001_VALUE = Array.fromList ["a", "b", "c"] val TESTFORMATARRAY0001_EXPECTED = [ FE.Term(1, "a"), FE.Term(1, ":"), FE.Term(1, "b"), FE.Term(1, ":"), FE.Term(1, "c") ] in fun testFormatArray0001 () = ( U.assertEqualFormatExpressionList TESTFORMATARRAY0001_EXPECTED (BF.format_array (BF.format_string, [FE.Term(1, ":")]) TESTFORMATARRAY0001_VALUE); () ) end local val TESTFORMATARRAY0002_VALUE = Array.fromList [] val TESTFORMATARRAY0002_EXPECTED = [] in fun testFormatArray0002 () = ( U.assertEqualFormatExpressionList TESTFORMATARRAY0002_EXPECTED (BF.format_array (BF.format_string, [FE.Term(1, ":")]) TESTFORMATARRAY0002_VALUE); () ) end local val TESTFORMATARRAY0003_VALUE = Array.fromList ["a"] val TESTFORMATARRAY0003_EXPECTED = [FE.Term(1, "a")] in fun testFormatArray0003 () = ( U.assertEqualFormatExpressionList TESTFORMATARRAY0003_EXPECTED (BF.format_array (BF.format_string, [FE.Term(1, ":")]) TESTFORMATARRAY0003_VALUE); () ) end (********************) local val TESTFORMATVECTOR0001_VALUE = Vector.fromList ["a", "b", "c"] val TESTFORMATVECTOR0001_EXPECTED = [ FE.Term(1, "a"), FE.Term(1, ":"), FE.Term(1, "b"), FE.Term(1, ":"), FE.Term(1, "c") ] in fun testFormatVector0001 () = ( U.assertEqualFormatExpressionList TESTFORMATVECTOR0001_EXPECTED (BF.format_vector (BF.format_string, [FE.Term(1, ":")]) TESTFORMATVECTOR0001_VALUE); () ) end local val TESTFORMATVECTOR0002_VALUE = Vector.fromList [] val TESTFORMATVECTOR0002_EXPECTED = [] in fun testFormatVector0002 () = ( U.assertEqualFormatExpressionList TESTFORMATVECTOR0002_EXPECTED (BF.format_vector (BF.format_string, [FE.Term(1, ":")]) TESTFORMATVECTOR0002_VALUE); () ) end local val TESTFORMATVECTOR0003_VALUE = Vector.fromList ["a"] val TESTFORMATVECTOR0003_EXPECTED = [FE.Term(1, "a")] in fun testFormatVector0003 () = ( U.assertEqualFormatExpressionList TESTFORMATVECTOR0003_EXPECTED (BF.format_vector (BF.format_string, [FE.Term(1, ":")]) TESTFORMATVECTOR0003_VALUE); () ) end (********************) local val TESTFORMATREF0001_VALUE = ref () val TESTFORMATREF0001_EXPECTED = [FE.Term(2, "()")] in fun testFormatRef0001 () = ( U.assertEqualFormatExpressionList TESTFORMATREF0001_EXPECTED (BF.format_ref BF.format_unit TESTFORMATREF0001_VALUE); () ) end (********************) local val TESTFORMATBOOL0001_VALUE = true val TESTFORMATBOOL0001_EXPECTED = [FE.Term(4, "true")] in fun testFormatBool0001 () = ( U.assertEqualFormatExpressionList TESTFORMATBOOL0001_EXPECTED (BF.format_bool TESTFORMATBOOL0001_VALUE); () ) end local val TESTFORMATBOOL0002_VALUE = false val TESTFORMATBOOL0002_EXPECTED = [FE.Term(5, "false")] in fun testFormatBool0002 () = ( U.assertEqualFormatExpressionList TESTFORMATBOOL0002_EXPECTED (BF.format_bool TESTFORMATBOOL0002_VALUE); () ) end (********************) local val TESTFORMATOPTION0001_VALUE = SOME () val TESTFORMATOPTION0001_EXPECTED = [FE.Term(2, "()")] in fun testFormatOption0001 () = ( U.assertEqualFormatExpressionList TESTFORMATOPTION0001_EXPECTED (BF.format_option BF.format_unit TESTFORMATOPTION0001_VALUE); () ) end local val TESTFORMATOPTION0002_VALUE = NONE val TESTFORMATOPTION0002_EXPECTED = [FE.Term(0, "")] in fun testFormatOption0002 () = ( U.assertEqualFormatExpressionList TESTFORMATOPTION0002_EXPECTED (BF.format_option BF.format_unit TESTFORMATOPTION0002_VALUE); () ) end (********************) local val TESTFORMATORDER0001_VALUE = LESS val TESTFORMATORDER0001_EXPECTED = [FE.Term(4, "LESS")] in fun testFormatOrder0001 () = ( U.assertEqualFormatExpressionList TESTFORMATORDER0001_EXPECTED (BF.format_order TESTFORMATORDER0001_VALUE); () ) end local val TESTFORMATORDER0002_VALUE = EQUAL val TESTFORMATORDER0002_EXPECTED = [FE.Term(5, "EQUAL")] in fun testFormatOrder0002 () = ( U.assertEqualFormatExpressionList TESTFORMATORDER0002_EXPECTED (BF.format_order TESTFORMATORDER0002_VALUE); () ) end local val TESTFORMATORDER0003_VALUE = GREATER val TESTFORMATORDER0003_EXPECTED = [FE.Term(7, "GREATER")] in fun testFormatOrder0003 () = ( U.assertEqualFormatExpressionList TESTFORMATORDER0003_EXPECTED (BF.format_order TESTFORMATORDER0003_VALUE); () ) end (********************) local val TESTFORMATLIST0001_VALUE = ["a", "b", "c"] val TESTFORMATLIST0001_EXPECTED = [ FE.Term(1, "a"), FE.Term(1, ":"), FE.Term(1, "b"), FE.Term(1, ":"), FE.Term(1, "c") ] in fun testFormatList0001 () = ( U.assertEqualFormatExpressionList TESTFORMATLIST0001_EXPECTED (BF.format_list (BF.format_string, [FE.Term(1, ":")]) TESTFORMATLIST0001_VALUE); () ) end local val TESTFORMATLIST0002_VALUE = [] val TESTFORMATLIST0002_EXPECTED = [] in fun testFormatList0002 () = ( U.assertEqualFormatExpressionList TESTFORMATLIST0002_EXPECTED (BF.format_list (BF.format_string, [FE.Term(1, ":")]) TESTFORMATLIST0002_VALUE); () ) end local val TESTFORMATLIST0003_VALUE = ["a"] val TESTFORMATLIST0003_EXPECTED = [FE.Term(1, "a")] in fun testFormatList0003 () = ( U.assertEqualFormatExpressionList TESTFORMATLIST0003_EXPECTED (BF.format_list (BF.format_string, [FE.Term(1, ":")]) TESTFORMATLIST0003_VALUE); () ) end (***************************************************************************) fun suite () = Test.labelTests [ ("testFormatUnit0001", testFormatUnit0001), ("testFormatInt0001", testFormatInt0001), ("testFormatInt0002", testFormatInt0002), ("testFormatInt0003", testFormatInt0003), ("testFormatWord0001", testFormatWord0001), ("testFormatWord0002", testFormatWord0002), ("testFormatReal0001", testFormatReal0001), ("testFormatReal0002", testFormatReal0002), ("testFormatReal0003", testFormatReal0003), ("testFormatChar0001", testFormatChar0001), ("testFormatString0001", testFormatString0001), ("testFormatString0002", testFormatString0002), ("testFormatString0003", testFormatString0003), ("testFormatSubstring0001", testFormatSubstring0001), ("testFormatSubstring0002", testFormatSubstring0002), ("testFormatSubstring0003", testFormatSubstring0003), ("testFormatArray0001", testFormatArray0001), ("testFormatArray0002", testFormatArray0002), ("testFormatArray0003", testFormatArray0003), ("testFormatVector0001", testFormatVector0001), ("testFormatVector0002", testFormatVector0002), ("testFormatVector0003", testFormatVector0003), ("testFormatRef0001", testFormatRef0001), ("testFormatBool0001", testFormatBool0001), ("testFormatBool0002", testFormatBool0002), ("testFormatOption0001", testFormatOption0001), ("testFormatOption0002", testFormatOption0002), ("testFormatOrder0001", testFormatOrder0001), ("testFormatOrder0002", testFormatOrder0002), ("testFormatOrder0003", testFormatOrder0003), ("testFormatList0001", testFormatList0001), ("testFormatList0002", testFormatList0002), ("testFormatList0003", testFormatList0003) ] (***************************************************************************) endsmlsharp-1.2.0/src/smlformat/formatlib/test/PPLibTest.sml0000644 000000000000000000000225612050661606023564 0ustar00rootroot0000000 0000000 (** * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. *) structure PPLibTest = struct open SMLUnit.Test fun suite () = TestList [ TestLabel("SMLFormatTest0001", SMLFormatTest0001.suite ()), TestLabel("SMLFormatTest0002", SMLFormatTest0002.suite ()), TestLabel("SMLFormatTest0003", SMLFormatTest0003.suite ()), TestLabel("SMLFormatTest0004", SMLFormatTest0004.suite ()), TestLabel("SMLFormatTest0005", SMLFormatTest0005.suite ()), TestLabel("SMLFormatTest0006", SMLFormatTest0006.suite ()), TestLabel("SMLFormatTest0007", SMLFormatTest0007.suite ()), TestLabel("SMLFormatTest0008", SMLFormatTest0008.suite ()), TestLabel("SMLFormatTest0009", SMLFormatTest0009.suite ()), TestLabel("SMLFormatTest0010", SMLFormatTest0010.suite ()), TestLabel("SMLFormatTest0011", SMLFormatTest0011.suite ()), TestLabel ("PrinterParameterTest0001", PrinterParameterTest0001.suite()), TestLabel ("PrinterParameterTest0002", PrinterParameterTest0002.suite()), TestLabel ("BasicFormattersTest0001", BasicFormattersTest0001.suite ()) ] endsmlsharp-1.2.0/src/smlformat/formatlib/test/PrinterParameterTest0001.sml0000644 000000000000000000000525412050661606026404 0ustar00rootroot0000000 0000000 (** * verify that the SMLFormat treats the newlineString field in * PrinterParameter.parameter properly. * * * * * * *
Test cases matrix
casenewlineString
NewlineString0001\n
NewlineString0002<BR>
* * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. *) structure PrinterParameterTest0001 = struct (***************************************************************************) structure Assert = SMLUnit.Assert structure Test = SMLUnit.Test structure FE = SMLFormat.FormatExpression structure PP = SMLFormat.PrinterParameter (***************************************************************************) local val TESTNEWLINESTRING0001_COLUMNS = 9 val TESTNEWLINESTRING0001_NEWLINESTRING = "\n" val TESTNEWLINESTRING0001_EXPRESSION = [ FE.Term(5, "12345"), FE.Indicator {space = false, newline = SOME{priority = FE.Preferred 1}}, FE.Term(5, "67890") ] val TESTNEWLINESTRING0001_EXPECTED = "12345\n67890" in fun testNewlineString0001 () = ( Assert.assertEqualString TESTNEWLINESTRING0001_EXPECTED (SMLFormat.prettyPrint [ SMLFormat.Newline TESTNEWLINESTRING0001_NEWLINESTRING, SMLFormat.Space " ", SMLFormat.Columns TESTNEWLINESTRING0001_COLUMNS ] TESTNEWLINESTRING0001_EXPRESSION); () ) end local val TESTNEWLINESTRING0002_COLUMNS = 9 val TESTNEWLINESTRING0002_NEWLINESTRING = "
" val TESTNEWLINESTRING0002_EXPRESSION = [ FE.Term(5, "12345"), FE.Indicator {space = false, newline = SOME{priority = FE.Preferred 1}}, FE.Term(5, "67890") ] val TESTNEWLINESTRING0002_EXPECTED = "12345
67890" in fun testNewlineString0002 () = ( Assert.assertEqualString TESTNEWLINESTRING0002_EXPECTED (SMLFormat.prettyPrint [ SMLFormat.Newline TESTNEWLINESTRING0002_NEWLINESTRING, SMLFormat.Space " ", SMLFormat.Columns TESTNEWLINESTRING0002_COLUMNS ] TESTNEWLINESTRING0002_EXPRESSION); () ) end (***************************************************************************) fun suite () = Test.labelTests [ ("testNewlineString0001", testNewlineString0001), ("testNewlineString0002", testNewlineString0002) ] (***************************************************************************) endsmlsharp-1.2.0/src/smlformat/formatlib/test/PrinterParameterTest0002.sml0000644 000000000000000000000504412050661606026402 0ustar00rootroot0000000 0000000 (** * verify that the SMLFormat treats the spaceString field in * PrinterParameter.parameter properly. * * * * * * *
Test cases matrix
casespaceString
SpaceString0001 
SpaceString0002&nbsp;
* * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. *) structure PrinterParameterTest0002 = struct (***************************************************************************) structure Assert = SMLUnit.Assert structure Test = SMLUnit.Test structure FE = SMLFormat.FormatExpression structure PP = SMLFormat.PrinterParameter (***************************************************************************) local val TESTSPACESTRING0001_COLUMNS = 10 val TESTSPACESTRING0001_SPACESTRING = " " val TESTSPACESTRING0001_EXPRESSION = [ FE.Term(5, "12345"), FE.Indicator{space = true, newline = NONE}, FE.Term(5, "67890") ] val TESTSPACESTRING0001_EXPECTED = "12345 67890" in fun testSpaceString0001 () = ( Assert.assertEqualString TESTSPACESTRING0001_EXPECTED (SMLFormat.prettyPrint [ SMLFormat.Newline "\n", SMLFormat.Space TESTSPACESTRING0001_SPACESTRING, SMLFormat.Columns TESTSPACESTRING0001_COLUMNS ] TESTSPACESTRING0001_EXPRESSION); () ) end local val TESTSPACESTRING0002_COLUMNS = 11 val TESTSPACESTRING0002_SPACESTRING = " " val TESTSPACESTRING0002_EXPRESSION = [ FE.Term(5, "12345"), FE.Indicator{space = true, newline = NONE}, FE.Term(5, "67890") ] val TESTSPACESTRING0002_EXPECTED = "12345 67890" in fun testSpaceString0002 () = ( Assert.assertEqualString TESTSPACESTRING0002_EXPECTED (SMLFormat.prettyPrint [ SMLFormat.Newline "\n", SMLFormat.Space TESTSPACESTRING0002_SPACESTRING, SMLFormat.Columns TESTSPACESTRING0002_COLUMNS ] TESTSPACESTRING0002_EXPRESSION); () ) end (***************************************************************************) fun suite () = Test.labelTests [ ("testSpaceString0001", testSpaceString0001), ("testSpaceString0002", testSpaceString0002) ] (***************************************************************************) endsmlsharp-1.2.0/src/smlformat/formatlib/test/SMLFormatTest0001.sml0000644 000000000000000000000513312050661606024720 0ustar00rootroot0000000 0000000 (** * test cases for pretty-printing of terms. * * * * * * * *
Test cases matrix
casedescription
Term0001single term
Term0002sequence of terms
Term0003including spaces as terms
* * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. *) structure SMLFormatTest0001 = struct (***************************************************************************) structure Assert = SMLUnit.Assert structure Test = SMLUnit.Test structure Testee = SMLFormat structure FE = Testee.FormatExpression structure PP = Testee.PrinterParameter (***************************************************************************) fun prettyPrint columns expressions = SMLFormat.prettyPrint [ SMLFormat.Newline "\n", SMLFormat.Space " ", SMLFormat.Columns columns ] expressions (****************************************) local val TESTTERM0001_COLUMNS = 10 val TESTTERM0001_EXPRESSION = [FE.Term(6, "jugemu")] val TESTTERM0001_EXPECTED = "jugemu" in fun testTerm0001 () = ( Assert.assertEqualString TESTTERM0001_EXPECTED (prettyPrint TESTTERM0001_COLUMNS TESTTERM0001_EXPRESSION); () ) end local val TESTTERM0002_COLUMNS = 10 val TESTTERM0002_EXPRESSION = [FE.Term(6, "jugemu"), FE.Term(6, "jugemu")] val TESTTERM0002_EXPECTED = "jugemujugemu" in fun testTerm0002 () = ( Assert.assertEqualString TESTTERM0002_EXPECTED (prettyPrint TESTTERM0002_COLUMNS TESTTERM0002_EXPRESSION); () ) end local val TESTTERM0003_COLUMNS = 10 val TESTTERM0003_EXPRESSION = [FE.Term(6, "jugemu"), FE.Term(1, " "), FE.Term(6, "jugemu"), FE.Term(1, " "), FE.Term(15, "gokounosurikire")] val TESTTERM0003_EXPECTED = "jugemu jugemu gokounosurikire" in fun testTerm0003 () = ( Assert.assertEqualString TESTTERM0003_EXPECTED (prettyPrint TESTTERM0003_COLUMNS TESTTERM0003_EXPRESSION); () ) end (***************************************************************************) fun suite () = Test.labelTests [ ("testTerm0001", testTerm0001), ("testTerm0002", testTerm0002), ("testTerm0003", testTerm0003) ] (***************************************************************************) endsmlsharp-1.2.0/src/smlformat/formatlib/test/SMLFormatTest0002.sml0000644 000000000000000000000351412050661606024722 0ustar00rootroot0000000 0000000 (** * test cases for pretty-printing of space indicators. * * * * * *
Test cases matrix
casedescription
SpaceIndicator0001including space indicator
* * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. *) structure SMLFormatTest0002 = struct (***************************************************************************) structure Assert = SMLUnit.Assert structure Test = SMLUnit.Test structure Testee = SMLFormat structure FE = Testee.FormatExpression structure PP = Testee.PrinterParameter (***************************************************************************) fun prettyPrint columns expressions = SMLFormat.prettyPrint [ SMLFormat.Newline "\n", SMLFormat.Space " ", SMLFormat.Columns columns ] expressions (****************************************) local val ind_s = FE.Indicator{space = true, newline = NONE} val TESTSPACEINDICATOR0001_COLUMNS = 10 val TESTSPACEINDICATOR0001_EXPRESSION = [FE.Term(6, "jugemu"), ind_s, FE.Term(6, "jugemu"), ind_s, FE.Term(15, "gokounosurikire")] val TESTSPACEINDICATOR0001_EXPECTED = "jugemu jugemu gokounosurikire" in fun testSpaceIndicator0001 () = ( Assert.assertEqualString TESTSPACEINDICATOR0001_EXPECTED (prettyPrint TESTSPACEINDICATOR0001_COLUMNS TESTSPACEINDICATOR0001_EXPRESSION); () ) end (***************************************************************************) fun suite () = Test.labelTests [ ("testSpaceIndicator0001", testSpaceIndicator0001) ] (***************************************************************************) endsmlsharp-1.2.0/src/smlformat/formatlib/test/SMLFormatTest0003.sml0000644 000000000000000000001032512050661606024721 0ustar00rootroot0000000 0000000 (** * test cases for pretty-printing of newline indicators. *

* These cases pretty-print expressions which contain newline indicators. *

* * * * * * * * * * * * * * * * * * * * *
Test cases matrix
casedescription
NewlineIndicator0001specifies the minimum number of columns which does not require to * insert newline at any of indicators.
NewlineIndicator0002specifies the maximum number of columns which requires to insert * newline at the highest of indicators
NewlineIndicator0003specifies the minimum number of columns which causes to insert newline * at the highest of indicators
NewlineIndicator0004specifies the maximum number of columns which causes to insert newline * at all of indicators
* * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. *) structure SMLFormatTest0003 = struct (***************************************************************************) structure Assert = SMLUnit.Assert structure Test = SMLUnit.Test structure Testee = SMLFormat structure FE = Testee.FormatExpression structure PP = Testee.PrinterParameter (***************************************************************************) fun prettyPrint columns expressions = SMLFormat.prettyPrint [ SMLFormat.Newline "\n", SMLFormat.Space " ", SMLFormat.Columns columns ] expressions (****************************************) val ind_1 = FE.Indicator{space = false, newline = SOME{priority = FE.Preferred 1}} val ind_2 = FE.Indicator{space = false, newline = SOME{priority = FE.Preferred 2}} (****************************************) val TESTNEWLINEINDICATOR_EXPRESSION = [FE.Term(6, "jugemu"), ind_2, FE.Term(6, "jugemu"), ind_1, FE.Term(15, "gokounosurikire"), ind_2, FE.Term(15, "kaijarisuigyono")] local val TESTNEWLINEINDICATOR0001_COLUMNS = 6 + 6 + 15 + 15 val TESTNEWLINEINDICATOR0001_EXPECTED = "jugemujugemugokounosurikirekaijarisuigyono" in fun testNewlineIndicator0001 () = ( Assert.assertEqualString TESTNEWLINEINDICATOR0001_EXPECTED (prettyPrint TESTNEWLINEINDICATOR0001_COLUMNS TESTNEWLINEINDICATOR_EXPRESSION); () ) end local val TESTNEWLINEINDICATOR0002_COLUMNS = (6 + 6 + 15 + 15) - 1 val TESTNEWLINEINDICATOR0002_EXPECTED = "jugemujugemu\ngokounosurikirekaijarisuigyono" in fun testNewlineIndicator0002 () = ( Assert.assertEqualString TESTNEWLINEINDICATOR0002_EXPECTED (prettyPrint TESTNEWLINEINDICATOR0002_COLUMNS TESTNEWLINEINDICATOR_EXPRESSION); () ) end local val TESTNEWLINEINDICATOR0003_COLUMNS = 15 + 15 val TESTNEWLINEINDICATOR0003_EXPECTED = "jugemujugemu\ngokounosurikirekaijarisuigyono" in fun testNewlineIndicator0003 () = ( Assert.assertEqualString TESTNEWLINEINDICATOR0003_EXPECTED (prettyPrint TESTNEWLINEINDICATOR0003_COLUMNS TESTNEWLINEINDICATOR_EXPRESSION); () ) end local val TESTNEWLINEINDICATOR0004_COLUMNS = (15 + 15) - 1 val TESTNEWLINEINDICATOR0004_EXPECTED = "jugemu\njugemu\ngokounosurikire\nkaijarisuigyono" in fun testNewlineIndicator0004 () = ( Assert.assertEqualString TESTNEWLINEINDICATOR0004_EXPECTED (prettyPrint TESTNEWLINEINDICATOR0004_COLUMNS TESTNEWLINEINDICATOR_EXPRESSION); () ) end (***************************************************************************) fun suite () = Test.labelTests [ ("testNewlineIndicator0001", testNewlineIndicator0001), ("testNewlineIndicator0002", testNewlineIndicator0002), ("testNewlineIndicator0003", testNewlineIndicator0003), ("testNewlineIndicator0004", testNewlineIndicator0004) ] (***************************************************************************) endsmlsharp-1.2.0/src/smlformat/formatlib/test/SMLFormatTest0004.sml0000644 000000000000000000001075112050661606024725 0ustar00rootroot0000000 0000000 (** * test cases for pretty-printing of space-newline indicators. *

* These cases pretty-print expressions which contain indicators which indicate * both space and newline. *

* * * * * * * * * * * * * * * * * * * * *
Test cases matrix
casedescription
SpaceNewlineIndicator0001specifies the minimum number of columns which does not require to * insert newline at any of indicators.
SpaceNewlineIndicator0002specifies the maximum number of columns which requires to insert * newline at the highest of indicators
SpaceNewlineIndicator0003specifies the minimum number of columns which causes to insert newline * at the highest of indicators
SpaceNewlineIndicator0004specifies the maximum number of columns which causes to insert newline * at all of indicators
* * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. *) structure SMLFormatTest0004 = struct (***************************************************************************) structure Assert = SMLUnit.Assert structure Test = SMLUnit.Test structure Testee = SMLFormat structure FE = Testee.FormatExpression structure PP = Testee.PrinterParameter (***************************************************************************) fun prettyPrint columns expressions = SMLFormat.prettyPrint [ SMLFormat.Newline "\n", SMLFormat.Space " ", SMLFormat.Columns columns ] expressions (****************************************) val ind_s1 = FE.Indicator{space = true, newline = SOME{priority = FE.Preferred 1}} val ind_s2 = FE.Indicator{space = true, newline = SOME{priority = FE.Preferred 2}} (****************************************) val TESTSPACENEWLINEINDICATOR_EXPRESSION = [FE.Term(6, "jugemu"), ind_s2, FE.Term(6, "jugemu"), ind_s1, FE.Term(15, "gokounosurikire"), ind_s2, FE.Term(15, "kaijarisuigyono")] local val TESTSPACENEWLINEINDICATOR0001_COLUMNS = 6 + 1 + 6 + 1 + 15 + 1 + 15 val TESTSPACENEWLINEINDICATOR0001_EXPECTED = "jugemu jugemu gokounosurikire kaijarisuigyono" in fun testSpaceNewlineIndicator0001 () = ( Assert.assertEqualString TESTSPACENEWLINEINDICATOR0001_EXPECTED (prettyPrint TESTSPACENEWLINEINDICATOR0001_COLUMNS TESTSPACENEWLINEINDICATOR_EXPRESSION); () ) end local val TESTSPACENEWLINEINDICATOR0002_COLUMNS = (6 + 1 + 6 + 1 + 15 + 1 + 15) - 1 val TESTSPACENEWLINEINDICATOR0002_EXPECTED = "jugemu jugemu\ngokounosurikire kaijarisuigyono" in fun testSpaceNewlineIndicator0002 () = ( Assert.assertEqualString TESTSPACENEWLINEINDICATOR0002_EXPECTED (prettyPrint TESTSPACENEWLINEINDICATOR0002_COLUMNS TESTSPACENEWLINEINDICATOR_EXPRESSION); () ) end local val TESTSPACENEWLINEINDICATOR0003_COLUMNS = (15 + 1 + 15) val TESTSPACENEWLINEINDICATOR0003_EXPECTED = "jugemu jugemu\ngokounosurikire kaijarisuigyono" in fun testSpaceNewlineIndicator0003 () = ( Assert.assertEqualString TESTSPACENEWLINEINDICATOR0003_EXPECTED (prettyPrint TESTSPACENEWLINEINDICATOR0003_COLUMNS TESTSPACENEWLINEINDICATOR_EXPRESSION); () ) end local val TESTSPACENEWLINEINDICATOR0004_COLUMNS = (15 + 1 + 15) - 1 val TESTSPACENEWLINEINDICATOR0004_EXPECTED = "jugemu\njugemu\ngokounosurikire\nkaijarisuigyono" in fun testSpaceNewlineIndicator0004 () = ( Assert.assertEqualString TESTSPACENEWLINEINDICATOR0004_EXPECTED (prettyPrint TESTSPACENEWLINEINDICATOR0004_COLUMNS TESTSPACENEWLINEINDICATOR_EXPRESSION); () ) end (***************************************************************************) fun suite () = Test.labelTests [ ("testSpaceNewlineIndicator0001", testSpaceNewlineIndicator0001), ("testSpaceNewlineIndicator0002", testSpaceNewlineIndicator0002), ("testSpaceNewlineIndicator0003", testSpaceNewlineIndicator0003), ("testSpaceNewlineIndicator0004", testSpaceNewlineIndicator0004) ] (***************************************************************************) endsmlsharp-1.2.0/src/smlformat/formatlib/test/SMLFormatTest0005.sml0000644 000000000000000000001227412050661606024730 0ustar00rootroot0000000 0000000 (** * test cases for pretty-printing of deferred newline indicators. *

* These cases pretty-print expressions which contain deferred newline * indicators. *

* * * * * * * * * * * * * * * * * * * * *
Test cases matrix
casedescription
DeferredIndicator0001specifies the minimum number of columns which do not require to insert * newline at deferred indicators
DeferredIndicator0002specifies the minimum number of columns which requires to insert * newline at deferred indicators
DeferredIndicator0003including deferred newline indicator and requiring to insert * newline at it, which causes to insert newline at the preferred * indicator where would be not required to insert newline if the * deffered indicator is not included.
DeferredIndicator0004including deferred multiple newline indicators and requiring to insert * at one of them but not required at the other.
* * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. *) structure SMLFormatTest0005 = struct (***************************************************************************) structure Assert = SMLUnit.Assert structure Test = SMLUnit.Test structure Testee = SMLFormat structure FE = Testee.FormatExpression structure PP = Testee.PrinterParameter (***************************************************************************) fun prettyPrint columns expressions = SMLFormat.prettyPrint [ SMLFormat.Newline "\n", SMLFormat.Space " ", SMLFormat.Columns columns ] expressions (****************************************) val ind_s1 = FE.Indicator{space = true, newline = SOME{priority = FE.Preferred 1}} val ind_s2 = FE.Indicator{space = true, newline = SOME{priority = FE.Preferred 2}} val ind_sd = FE.Indicator{space = true, newline = SOME{priority = FE.Deferred}} (****************************************) local val TESTDEFERREDINDICATOR0001_EXPRESSION = [FE.Term(6, "jugemu"), ind_sd, FE.Term(6, "jugemu"), ind_s1, FE.Term(15, "gokounosurikire"), ind_s2, FE.Term(15, "kaijarisuigyono")] val TESTDEFERREDINDICATOR0001_COLUMNS = 6 + 1 + 6 val TESTDEFERREDINDICATOR0001_EXPECTED = "jugemu jugemu\ngokounosurikire\nkaijarisuigyono" in fun testDeferredIndicator0001 () = ( Assert.assertEqualString TESTDEFERREDINDICATOR0001_EXPECTED (prettyPrint TESTDEFERREDINDICATOR0001_COLUMNS TESTDEFERREDINDICATOR0001_EXPRESSION); () ) end local val TESTDEFERREDINDICATOR0002_EXPRESSION = [FE.Term(6, "jugemu"), ind_sd, FE.Term(6, "jugemu"), ind_s1, FE.Term(15, "gokounosurikire"), ind_s2, FE.Term(15, "kaijarisuigyono")] val TESTDEFERREDINDICATOR0002_COLUMNS = (6 + 1 + 6) - 1 val TESTDEFERREDINDICATOR0002_EXPECTED = "jugemu\njugemu\ngokounosurikire\nkaijarisuigyono" in fun testDeferredIndicator0002 () = ( Assert.assertEqualString TESTDEFERREDINDICATOR0002_EXPECTED (prettyPrint TESTDEFERREDINDICATOR0002_COLUMNS TESTDEFERREDINDICATOR0002_EXPRESSION); () ) end local val TESTDEFERREDINDICATOR0003_EXPRESSION = [FE.Term(6, "jugemu"), ind_s2, FE.Term(6, "jugemu"), ind_s1, FE.Term(15, "gokounosurikire"), ind_sd, FE.Term(15, "kaijarisuigyono")] val TESTDEFERREDINDICATOR0003_COLUMNS = (15 + 1 + 15) - 1 val TESTDEFERREDINDICATOR0003_EXPECTED = "jugemu\njugemu\ngokounosurikire\nkaijarisuigyono" in fun testDeferredIndicator0003 () = ( Assert.assertEqualString TESTDEFERREDINDICATOR0003_EXPECTED (prettyPrint TESTDEFERREDINDICATOR0003_COLUMNS TESTDEFERREDINDICATOR0003_EXPRESSION); () ) end local val TESTDEFERREDINDICATOR0004_EXPRESSION = [FE.Term(6, "jugemu"), ind_sd, FE.Term(6, "jugemu"), ind_s1, FE.Term(15, "gokounosurikire"), ind_sd, FE.Term(15, "kaijarisuigyono")] val TESTDEFERREDINDICATOR0004_COLUMNS = (15 + 1 + 15) - 1 val TESTDEFERREDINDICATOR0004_EXPECTED = "jugemu jugemu\ngokounosurikire\nkaijarisuigyono" in fun testDeferredIndicator0004 () = ( Assert.assertEqualString TESTDEFERREDINDICATOR0004_EXPECTED (prettyPrint TESTDEFERREDINDICATOR0004_COLUMNS TESTDEFERREDINDICATOR0004_EXPRESSION); () ) end (***************************************************************************) fun suite () = Test.labelTests [ ("testDeferredIndicator0001", testDeferredIndicator0001), ("testDeferredIndicator0002", testDeferredIndicator0002), ("testDeferredIndicator0003", testDeferredIndicator0003), ("testDeferredIndicator0004", testDeferredIndicator0004) ] (***************************************************************************) endsmlsharp-1.2.0/src/smlformat/formatlib/test/SMLFormatTest0006.sml0000644 000000000000000000001225212050661606024725 0ustar00rootroot0000000 0000000 (** * test cases for pretty-printing of expressions with indent width indicators. * * * * * * * * * * * * * * * * * * * * * * * *
Test cases matrix
casedescription
Indent0001including single indent, but not required to insert newline
Indent0002including single indent and required to insert newline at indicators * within the indent region.
Indent0003including multiple newline indicators within an indent region
Indent0004including nested indent indicator
Indent0005including indent indicator whose indent width is negative integer
* * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. *) structure SMLFormatTest0006 = struct (***************************************************************************) structure Assert = SMLUnit.Assert structure Test = SMLUnit.Test structure Testee = SMLFormat structure FE = Testee.FormatExpression structure PP = Testee.PrinterParameter (***************************************************************************) fun prettyPrint columns expressions = SMLFormat.prettyPrint [ SMLFormat.Newline "\n", SMLFormat.Space " ", SMLFormat.Columns columns ] expressions (****************************************) val ind_s1 = FE.Indicator{space = true, newline = SOME{priority = FE.Preferred 1}} val ind_s2 = FE.Indicator{space = true, newline = SOME{priority = FE.Preferred 2}} val ind_sd = FE.Indicator{space = true, newline = SOME{priority = FE.Deferred}} (****************************************) local val TESTINDENT_EXPRESSION = [FE.Term(6, "jugemu"), ind_s2, FE.Term(6, "jugemu"), FE.StartOfIndent 5, ind_s1, FE.Term(15, "gokounosurikire"), FE.EndOfIndent, ind_s2, FE.Term(15, "kaijarisuigyono")] in local val TESTINDENT0001_COLUMNS = 6 + 1 + 6 + 1 + 15 + 1 + 15 val TESTINDENT0001_EXPECTED = "jugemu jugemu gokounosurikire kaijarisuigyono" in fun testIndent0001 () = ( Assert.assertEqualString TESTINDENT0001_EXPECTED (prettyPrint TESTINDENT0001_COLUMNS TESTINDENT_EXPRESSION); () ) end local val TESTINDENT0002_COLUMNS = (6 + 1 + 6 + 1 + 15 + 1 + 15) - 1 val TESTINDENT0002_EXPECTED = "jugemu jugemu\n gokounosurikire kaijarisuigyono" in fun testIndent0002 () = ( Assert.assertEqualString TESTINDENT0002_EXPECTED (prettyPrint TESTINDENT0002_COLUMNS TESTINDENT_EXPRESSION); () ) end end local val TESTINDENT0003_EXPRESSION = [FE.Term(6, "jugemu"), ind_s2, FE.Term(6, "jugemu"), FE.StartOfIndent 5, ind_s1, FE.Term(15, "gokounosurikire"), ind_s2, FE.Term(15, "kaijarisuigyono"), FE.EndOfIndent] val TESTINDENT0003_COLUMNS = (15 + 1 + 15) - 1 val TESTINDENT0003_EXPECTED = "jugemu\njugemu\n gokounosurikire\n kaijarisuigyono" in fun testIndent0003 () = ( Assert.assertEqualString TESTINDENT0003_EXPECTED (prettyPrint TESTINDENT0003_COLUMNS TESTINDENT0003_EXPRESSION); () ) end local val TESTINDENT0004_EXPRESSION = [FE.Term(6, "jugemu"), ind_s2, FE.Term(6, "jugemu"), FE.StartOfIndent 5, ind_s1, FE.Term(15, "gokounosurikire"), FE.StartOfIndent 3, ind_s2, FE.Term(15, "kaijarisuigyono"), FE.EndOfIndent, FE.EndOfIndent] val TESTINDENT0004_COLUMNS = (15 + 1 + 15) - 1 val TESTINDENT0004_EXPECTED = "jugemu\njugemu\n gokounosurikire\n kaijarisuigyono" in fun testIndent0004 () = ( Assert.assertEqualString TESTINDENT0004_EXPECTED (prettyPrint TESTINDENT0004_COLUMNS TESTINDENT0004_EXPRESSION); () ) end local val TESTINDENT0005_EXPRESSION = [FE.Term(6, "jugemu"), ind_s2, FE.Term(6, "jugemu"), FE.StartOfIndent 5, ind_s1, FE.Term(15, "gokounosurikire"), FE.StartOfIndent ~3, ind_s2, FE.Term(15, "kaijarisuigyono"), FE.EndOfIndent, FE.EndOfIndent] val TESTINDENT0005_COLUMNS = (15 + 1 + 15) - 1 val TESTINDENT0005_EXPECTED = "jugemu\njugemu\n gokounosurikire\n kaijarisuigyono" in fun testIndent0005 () = ( Assert.assertEqualString TESTINDENT0005_EXPECTED (prettyPrint TESTINDENT0005_COLUMNS TESTINDENT0005_EXPRESSION); () ) end (***************************************************************************) fun suite () = Test.labelTests [ ("testIndent0001", testIndent0001), ("testIndent0002", testIndent0002), ("testIndent0003", testIndent0003), ("testIndent0004", testIndent0004), ("testIndent0005", testIndent0005) ] (***************************************************************************) endsmlsharp-1.2.0/src/smlformat/formatlib/test/SMLFormatTest0007.sml0000644 000000000000000000001511112050661606024723 0ustar00rootroot0000000 0000000 (** * test cases for pretty-printing of expressions included within guards. * * * * * * * * * * * * * * * * * * * * * * * * *
Test cases matrix
casedescription
Guard0001including twe nested guards, the outer one contains a newline * indicator whose priority is higher than a newline indicator in the * inner one. Specifies the minimum number of columns which do not require * to insert newline at indicator within the inner guard.
Guard0002including two nested guards, the outer one contains a deferred newline * indicator and the inner guard contains a preferred newline indicator. *
Guard0003including two nested guards whose ranges do not overlap
Guard0004including a guard whose base column is higher than zero.
Guard0005including a guard which is included within a indent region
* * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. *) structure SMLFormatTest0007 = struct (***************************************************************************) structure Assert = SMLUnit.Assert structure Test = SMLUnit.Test structure Testee = SMLFormat structure FE = Testee.FormatExpression structure PP = Testee.PrinterParameter (***************************************************************************) fun prettyPrint columns expressions = SMLFormat.prettyPrint [ SMLFormat.Newline "\n", SMLFormat.Space " ", SMLFormat.Columns columns ] expressions (****************************************) val ind_s = FE.Indicator{space = true, newline = NONE} val ind_s1 = FE.Indicator{space = true, newline = SOME{priority = FE.Preferred 1}} val ind_s2 = FE.Indicator{space = true, newline = SOME{priority = FE.Preferred 2}} val ind_sd = FE.Indicator{space = true, newline = SOME{priority = FE.Deferred}} (****************************************) local val TESTGUARD0001_EXPRESSION = [FE.Guard ( NONE, [ FE.Guard (NONE, [FE.Term(6, "jugemu"), ind_s1, FE.Term(6, "jugemu")]), ind_s1, FE.Term(15, "gokounosurikire"), ind_s2, FE.Term(15, "kaijarisuigyono") ] )] val TESTGUARD0001_COLUMNS = 6 + 1 + 6 val TESTGUARD0001_EXPECTED = "jugemu jugemu\ngokounosurikire\nkaijarisuigyono" in fun testGuard0001 () = ( Assert.assertEqualString TESTGUARD0001_EXPECTED (prettyPrint TESTGUARD0001_COLUMNS TESTGUARD0001_EXPRESSION); () ) end local val TESTGUARD0002_EXPRESSION = [FE.Guard ( NONE, [ FE.Term(6, "jugemu"), ind_sd, FE.Term(6, "jugemu"), ind_s1, FE.Guard (NONE, [ FE.Term(15, "gokounosurikire"), ind_s1, FE.Term(15, "kaijarisuigyono") ]) ] )] val TESTGUARD0002_COLUMNS = 6 + 1 + 6 val TESTGUARD0002_EXPECTED = "jugemu jugemu\ngokounosurikire\nkaijarisuigyono" in fun testGuard0002 () = ( Assert.assertEqualString TESTGUARD0002_EXPECTED (prettyPrint TESTGUARD0002_COLUMNS TESTGUARD0002_EXPRESSION); () ) end local val TESTGUARD0003_EXPRESSION = [FE.Guard ( NONE, [ FE.Guard (NONE, [FE.Term(6, "jugemu"), ind_s2, FE.Term(6, "jugemu")]), ind_s1, FE.Guard (NONE, [ FE.Term(15, "gokounosurikire"), ind_s2, FE.Term(15, "kaijarisuigyono") ]) ] )] val TESTGUARD0003_COLUMNS = 6 + 1 + 6 val TESTGUARD0003_EXPECTED = "jugemu jugemu\ngokounosurikire\nkaijarisuigyono" in fun testGuard0003 () = ( Assert.assertEqualString TESTGUARD0003_EXPECTED (prettyPrint TESTGUARD0003_COLUMNS TESTGUARD0003_EXPRESSION); () ) end local val TESTGUARD0004_EXPRESSION = [FE.Guard ( NONE, [ FE.Term(6, "jugemu"), ind_s, FE.Guard (NONE, [ FE.Term(6, "jugemu"), FE.StartOfIndent 5, ind_s1, FE.Term(15, "gokounosurikire"), FE.EndOfIndent, FE.StartOfIndent ~3, ind_s1, FE.Term(15, "kaijarisuigyono"), FE.EndOfIndent ]) ] )] val TESTGUARD0004_COLUMNS = (6 + 1 + 6 + 1 + 15 + 1 + 15) - 1 val TESTGUARD0004_EXPECTED = "jugemu jugemu\n gokounosurikire\n kaijarisuigyono" in fun testGuard0004 () = ( Assert.assertEqualString TESTGUARD0004_EXPECTED (prettyPrint TESTGUARD0004_COLUMNS TESTGUARD0004_EXPRESSION); () ) end local val TESTGUARD0005_EXPRESSION = [FE.Guard ( NONE, [ FE.Term(6, "jugemu"), FE.StartOfIndent 3, ind_s1, FE.Guard (NONE, [ FE.Term(6, "jugemu"), FE.StartOfIndent 5, ind_s1, FE.Term(15, "gokounosurikire"), FE.EndOfIndent, FE.StartOfIndent ~3, ind_s1, FE.Term(15, "kaijarisuigyono"), FE.EndOfIndent ]), FE.EndOfIndent ] )] val TESTGUARD0005_COLUMNS = 3 + (6 + 1 + 15 + 1 + 15) - 1 val TESTGUARD0005_EXPECTED = "jugemu\n jugemu\n gokounosurikire\nkaijarisuigyono" in fun testGuard0005 () = ( Assert.assertEqualString TESTGUARD0005_EXPECTED (prettyPrint TESTGUARD0005_COLUMNS TESTGUARD0005_EXPRESSION); () ) end (***************************************************************************) fun suite () = Test.labelTests [ ("testGuard0001", testGuard0001), ("testGuard0002", testGuard0002), ("testGuard0003", testGuard0003), ("testGuard0004", testGuard0004), ("testGuard0005", testGuard0005) ] (***************************************************************************) endsmlsharp-1.2.0/src/smlformat/formatlib/test/SMLFormatTest0008.sml0000644 000000000000000000002437112050661606024734 0ustar00rootroot0000000 0000000 (** * test cases examining the relation between the associativity indicators * of two guards one of which is nested within the other. *

* These cases pretty-print expressions of the form as follows: *

 * cm{ dn{ ... } ... dn{ ... } }
 * 
* c, d denotes assoc direction(L, R, N), and m, n * denotes assoc strength (integer value). *

* * * * * * * * * * * * * * * * * * * * *
Test cases matrix
casedirection(inner)direction(outer)relation R of strength(inner R outer)
0LL1LL<
0LL2=
0LL3>
0LN1N<
0LN2=
0LN3>
0LR1R<
0LR2=
0LR3>
* * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. *) structure SMLFormatTest0008 = struct (***************************************************************************) structure Assert = SMLUnit.Assert structure Test = SMLUnit.Test structure Testee = SMLFormat structure FE = Testee.FormatExpression structure PP = Testee.PrinterParameter (***************************************************************************) val TESTASSOC_COLUMNS = 10 fun prettyPrint expressions = SMLFormat.prettyPrint [ SMLFormat.Newline "\n", SMLFormat.Space " ", SMLFormat.Columns TESTASSOC_COLUMNS ] expressions fun makeExpression (outerDirection, outerStrength) (innerDirection, innerStrength) = let val outerAssoc = {cut = false, strength = outerStrength, direction = outerDirection} val innerAssoc = {cut = false, strength = innerStrength, direction = innerDirection} in [FE.Guard ( SOME outerAssoc, [ FE.Guard(SOME innerAssoc, [FE.Term(1, "1")]), FE.Guard(SOME innerAssoc, [FE.Term(1, "2")]), FE.Guard(SOME innerAssoc, [FE.Term(1, "3")]) ] )] end fun assertAssoc expected expression = (Assert.assertEqualString expected (prettyPrint expression); ()) (****************************************) local val TESTASSOC0LL1_EXPRESSION = makeExpression (FE.Left, 5) (FE.Left, 10) val TESTASSOC0LL1_EXPECTED = "123" in fun testAssoc0LL1 () = assertAssoc TESTASSOC0LL1_EXPECTED TESTASSOC0LL1_EXPRESSION end local val TESTASSOC0LL2_EXPRESSION = makeExpression (FE.Left, 5) (FE.Left, 5) val TESTASSOC0LL2_EXPECTED = "1(2)(3)" in fun testAssoc0LL2 () = assertAssoc TESTASSOC0LL2_EXPECTED TESTASSOC0LL2_EXPRESSION end local val TESTASSOC0LL3_EXPRESSION = makeExpression (FE.Left, 10) (FE.Left, 5) val TESTASSOC0LL3_EXPECTED = "(1)(2)(3)" in fun testAssoc0LL3 () = assertAssoc TESTASSOC0LL3_EXPECTED TESTASSOC0LL3_EXPRESSION end (********************) local val TESTASSOC0LN1_EXPRESSION = makeExpression (FE.Left, 5) (FE.Neutral, 10) val TESTASSOC0LN1_EXPECTED = "123" in fun testAssoc0LN1 () = assertAssoc TESTASSOC0LN1_EXPECTED TESTASSOC0LN1_EXPRESSION end local val TESTASSOC0LN2_EXPRESSION = makeExpression (FE.Left, 5) (FE.Neutral, 5) val TESTASSOC0LN2_EXPECTED = "123" in fun testAssoc0LN2 () = assertAssoc TESTASSOC0LN2_EXPECTED TESTASSOC0LN2_EXPRESSION end local val TESTASSOC0LN3_EXPRESSION = makeExpression (FE.Left, 10) (FE.Neutral, 5) val TESTASSOC0LN3_EXPECTED = "(1)(2)(3)" in fun testAssoc0LN3 () = assertAssoc TESTASSOC0LN3_EXPECTED TESTASSOC0LN3_EXPRESSION end (********************) local val TESTASSOC0LR1_EXPRESSION = makeExpression (FE.Left, 5) (FE.Right, 10) val TESTASSOC0LR1_EXPECTED = "123" in fun testAssoc0LR1 () = assertAssoc TESTASSOC0LR1_EXPECTED TESTASSOC0LR1_EXPRESSION end local val TESTASSOC0LR2_EXPRESSION = makeExpression (FE.Left, 5) (FE.Right, 5) val TESTASSOC0LR2_EXPECTED = "(1)(2)(3)" in fun testAssoc0LR2 () = assertAssoc TESTASSOC0LR2_EXPECTED TESTASSOC0LR2_EXPRESSION end local val TESTASSOC0LR3_EXPRESSION = makeExpression (FE.Left, 10) (FE.Right, 5) val TESTASSOC0LR3_EXPECTED = "(1)(2)(3)" in fun testAssoc0LR3 () = assertAssoc TESTASSOC0LR3_EXPECTED TESTASSOC0LR3_EXPRESSION end (****************************************) local val TESTASSOC0NL1_EXPRESSION = makeExpression (FE.Neutral, 5) (FE.Left, 10) val TESTASSOC0NL1_EXPECTED = "123" in fun testAssoc0NL1 () = assertAssoc TESTASSOC0NL1_EXPECTED TESTASSOC0NL1_EXPRESSION end local val TESTASSOC0NL2_EXPRESSION = makeExpression (FE.Neutral, 5) (FE.Left, 5) val TESTASSOC0NL2_EXPECTED = "(1)(2)(3)" in fun testAssoc0NL2 () = assertAssoc TESTASSOC0NL2_EXPECTED TESTASSOC0NL2_EXPRESSION end local val TESTASSOC0NL3_EXPRESSION = makeExpression (FE.Neutral, 10) (FE.Left, 5) val TESTASSOC0NL3_EXPECTED = "(1)(2)(3)" in fun testAssoc0NL3 () = assertAssoc TESTASSOC0NL3_EXPECTED TESTASSOC0NL3_EXPRESSION end (********************) local val TESTASSOC0NN1_EXPRESSION = makeExpression (FE.Neutral, 5) (FE.Neutral, 10) val TESTASSOC0NN1_EXPECTED = "123" in fun testAssoc0NN1 () = assertAssoc TESTASSOC0NN1_EXPECTED TESTASSOC0NN1_EXPRESSION end local val TESTASSOC0NN2_EXPRESSION = makeExpression (FE.Neutral, 5) (FE.Neutral, 5) val TESTASSOC0NN2_EXPECTED = "123" in fun testAssoc0NN2 () = assertAssoc TESTASSOC0NN2_EXPECTED TESTASSOC0NN2_EXPRESSION end local val TESTASSOC0NN3_EXPRESSION = makeExpression (FE.Neutral, 10) (FE.Neutral, 5) val TESTASSOC0NN3_EXPECTED = "(1)(2)(3)" in fun testAssoc0NN3 () = assertAssoc TESTASSOC0NN3_EXPECTED TESTASSOC0NN3_EXPRESSION end (********************) local val TESTASSOC0NR1_EXPRESSION = makeExpression (FE.Neutral, 5) (FE.Right, 10) val TESTASSOC0NR1_EXPECTED = "123" in fun testAssoc0NR1 () = assertAssoc TESTASSOC0NR1_EXPECTED TESTASSOC0NR1_EXPRESSION end local val TESTASSOC0NR2_EXPRESSION = makeExpression (FE.Neutral, 5) (FE.Right, 5) val TESTASSOC0NR2_EXPECTED = "(1)(2)(3)" in fun testAssoc0NR2 () = assertAssoc TESTASSOC0NR2_EXPECTED TESTASSOC0NR2_EXPRESSION end local val TESTASSOC0NR3_EXPRESSION = makeExpression (FE.Neutral, 10) (FE.Right, 5) val TESTASSOC0NR3_EXPECTED = "(1)(2)(3)" in fun testAssoc0NR3 () = assertAssoc TESTASSOC0NR3_EXPECTED TESTASSOC0NR3_EXPRESSION end (****************************************) local val TESTASSOC0RL1_EXPRESSION = makeExpression (FE.Right, 5) (FE.Left, 10) val TESTASSOC0RL1_EXPECTED = "123" in fun testAssoc0RL1 () = assertAssoc TESTASSOC0RL1_EXPECTED TESTASSOC0RL1_EXPRESSION end local val TESTASSOC0RL2_EXPRESSION = makeExpression (FE.Right, 5) (FE.Left, 5) val TESTASSOC0RL2_EXPECTED = "(1)(2)(3)" in fun testAssoc0RL2 () = assertAssoc TESTASSOC0RL2_EXPECTED TESTASSOC0RL2_EXPRESSION end local val TESTASSOC0RL3_EXPRESSION = makeExpression (FE.Right, 10) (FE.Left, 5) val TESTASSOC0RL3_EXPECTED = "(1)(2)(3)" in fun testAssoc0RL3 () = assertAssoc TESTASSOC0RL3_EXPECTED TESTASSOC0RL3_EXPRESSION end (********************) local val TESTASSOC0RN1_EXPRESSION = makeExpression (FE.Right, 5) (FE.Neutral, 10) val TESTASSOC0RN1_EXPECTED = "123" in fun testAssoc0RN1 () = assertAssoc TESTASSOC0RN1_EXPECTED TESTASSOC0RN1_EXPRESSION end local val TESTASSOC0RN2_EXPRESSION = makeExpression (FE.Right, 5) (FE.Neutral, 5) val TESTASSOC0RN2_EXPECTED = "123" in fun testAssoc0RN2 () = assertAssoc TESTASSOC0RN2_EXPECTED TESTASSOC0RN2_EXPRESSION end local val TESTASSOC0RN3_EXPRESSION = makeExpression (FE.Right, 10) (FE.Neutral, 5) val TESTASSOC0RN3_EXPECTED = "(1)(2)(3)" in fun testAssoc0RN3 () = assertAssoc TESTASSOC0RN3_EXPECTED TESTASSOC0RN3_EXPRESSION end (********************) local val TESTASSOC0RR1_EXPRESSION = makeExpression (FE.Right, 5) (FE.Right, 10) val TESTASSOC0RR1_EXPECTED = "123" in fun testAssoc0RR1 () = assertAssoc TESTASSOC0RR1_EXPECTED TESTASSOC0RR1_EXPRESSION end local val TESTASSOC0RR2_EXPRESSION = makeExpression (FE.Right, 5) (FE.Right, 5) val TESTASSOC0RR2_EXPECTED = "(1)(2)3" in fun testAssoc0RR2 () = assertAssoc TESTASSOC0RR2_EXPECTED TESTASSOC0RR2_EXPRESSION end local val TESTASSOC0RR3_EXPRESSION = makeExpression (FE.Right, 10) (FE.Right, 5) val TESTASSOC0RR3_EXPECTED = "(1)(2)(3)" in fun testAssoc0RR3 () = assertAssoc TESTASSOC0RR3_EXPECTED TESTASSOC0RR3_EXPRESSION end (***************************************************************************) fun suite () = Test.labelTests [ ("testAssoc0LL1", testAssoc0LL1), ("testAssoc0LL2", testAssoc0LL2), ("testAssoc0LL3", testAssoc0LL3), ("testAssoc0LN1", testAssoc0LN1), ("testAssoc0LN2", testAssoc0LN2), ("testAssoc0LN3", testAssoc0LN3), ("testAssoc0LR1", testAssoc0LR1), ("testAssoc0LR2", testAssoc0LR2), ("testAssoc0LR3", testAssoc0LR3), ("testAssoc0NL1", testAssoc0NL1), ("testAssoc0NL2", testAssoc0NL2), ("testAssoc0NL3", testAssoc0NL3), ("testAssoc0NN1", testAssoc0NN1), ("testAssoc0NN2", testAssoc0NN2), ("testAssoc0NN3", testAssoc0NN3), ("testAssoc0NR1", testAssoc0NR1), ("testAssoc0NR2", testAssoc0NR2), ("testAssoc0NR3", testAssoc0NR3), ("testAssoc0RL1", testAssoc0RL1), ("testAssoc0RL2", testAssoc0RL2), ("testAssoc0RL3", testAssoc0RL3), ("testAssoc0RN1", testAssoc0RN1), ("testAssoc0RN2", testAssoc0RN2), ("testAssoc0RN3", testAssoc0RN3), ("testAssoc0RR1", testAssoc0RR1), ("testAssoc0RR2", testAssoc0RR2), ("testAssoc0RR3", testAssoc0RR3) ] (***************************************************************************) endsmlsharp-1.2.0/src/smlformat/formatlib/test/SMLFormatTest0009.sml0000644 000000000000000000002100012050661606024717 0ustar00rootroot0000000 0000000 (** * verify that the SMLFormat treats the left/right most element in guards properly * in inheriting associativity from the guards to their elements. *

* These cases pretty-print expressions of the form as follows: *

 * cm{ eL Lm{ ... } ... Rm{ ... } eR }
 * 
* c denotes assoc direction(L, N, R), and m * denotes assoc strength (integer value). *

*

* If eL or eR is not Term or Guard, * it should be ignored in the inheritance of associativity. *

* * * * * * * * * * * * * * * * * * * * * * * * *
Test cases matrix
casedirection(c)left-most of inner(eL)right-most of inner(eR)
00L1LTermTerm
00L2GuardGuard
00L3IndicatorIndicator
00L4StartOfIndentEndOfIndent
00N1NTermTerm
00N2GuardGuard
00N3IndicatorIndicator
00N4StartOfIndentEndOfIndent
00R1RTermTerm
00R2GuardGuard
00R3IndicatorIndicator
00R4StartOfIndentEndOfIndent
* * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. *) structure SMLFormatTest0009 = struct (***************************************************************************) structure Assert = SMLUnit.Assert structure Test = SMLUnit.Test structure Testee = SMLFormat structure FE = Testee.FormatExpression structure PP = Testee.PrinterParameter (***************************************************************************) val TESTASSOC_COLUMNS = 10 fun prettyPrint expressions = SMLFormat.prettyPrint [ SMLFormat.Newline "\n", SMLFormat.Space " ", SMLFormat.Columns TESTASSOC_COLUMNS ] expressions val TESTASSOC_ASSOCSTRENGTH = 5 fun makeExpression direction leftMost rightMost = let val outerAssoc = { cut = false, strength = TESTASSOC_ASSOCSTRENGTH, direction = direction } val leftAssoc = { cut = false, strength = TESTASSOC_ASSOCSTRENGTH, direction = FE.Left } val rightAssoc = { cut = false, strength = TESTASSOC_ASSOCSTRENGTH, direction = FE.Right } in [FE.Guard ( SOME outerAssoc, [ leftMost, FE.Guard(SOME leftAssoc, [FE.Term(1, "L")]), FE.Guard(SOME rightAssoc, [FE.Term(1, "R")]), rightMost ] )] end fun assertAssoc expected expression = (Assert.assertEqualString expected (prettyPrint expression); ()) (****************************************) local val TESTASSOC00L1_EXPRESSION = makeExpression FE.Left (FE.Term(1, "1")) (FE.Term(1, "2")) val TESTASSOC00L1_EXPECTED = "1(L)(R)2" in fun testAssoc00L1 () = assertAssoc TESTASSOC00L1_EXPECTED TESTASSOC00L1_EXPRESSION end local val TESTASSOC00L2_EXPRESSION = makeExpression FE.Left (FE.Guard (SOME { cut = false, strength = TESTASSOC_ASSOCSTRENGTH, direction = FE.Left }, [FE.Term(1, "1")])) (FE.Guard (SOME { cut = false, strength = TESTASSOC_ASSOCSTRENGTH, direction = FE.Right }, [FE.Term(1, "2")])) val TESTASSOC00L2_EXPECTED = "1(L)(R)(2)" in fun testAssoc00L2 () = assertAssoc TESTASSOC00L2_EXPECTED TESTASSOC00L2_EXPRESSION end local val TESTASSOC00L3_EXPRESSION = makeExpression FE.Left (FE.Indicator{space = false, newline = SOME{priority = FE.Deferred}}) (FE.Indicator{space = false, newline = SOME{priority = FE.Deferred}}) val TESTASSOC00L3_EXPECTED = "L(R)" in fun testAssoc00L3 () = assertAssoc TESTASSOC00L3_EXPECTED TESTASSOC00L3_EXPRESSION end local val TESTASSOC00L4_EXPRESSION = makeExpression FE.Left (FE.StartOfIndent 1) FE.EndOfIndent val TESTASSOC00L4_EXPECTED = "L(R)" in fun testAssoc00L4 () = assertAssoc TESTASSOC00L4_EXPECTED TESTASSOC00L4_EXPRESSION end (****************************************) local val TESTASSOC00N1_EXPRESSION = makeExpression FE.Neutral (FE.Term(1, "1")) (FE.Term(1, "2")) val TESTASSOC00N1_EXPECTED = "1(L)(R)2" in fun testAssoc00N1 () = assertAssoc TESTASSOC00N1_EXPECTED TESTASSOC00N1_EXPRESSION end local val TESTASSOC00N2_EXPRESSION = makeExpression FE.Neutral (FE.Guard (SOME { cut = false, strength = TESTASSOC_ASSOCSTRENGTH, direction = FE.Left }, [FE.Term(1, "1")])) (FE.Guard (SOME { cut = false, strength = TESTASSOC_ASSOCSTRENGTH, direction = FE.Right }, [FE.Term(1, "2")])) val TESTASSOC00N2_EXPECTED = "(1)(L)(R)(2)" in fun testAssoc00N2 () = assertAssoc TESTASSOC00N2_EXPECTED TESTASSOC00N2_EXPRESSION end local val TESTASSOC00N3_EXPRESSION = makeExpression FE.Neutral (FE.Indicator{space = false, newline = SOME{priority = FE.Deferred}}) (FE.Indicator{space = false, newline = SOME{priority = FE.Deferred}}) val TESTASSOC00N3_EXPECTED = "(L)(R)" in fun testAssoc00N3 () = assertAssoc TESTASSOC00N3_EXPECTED TESTASSOC00N3_EXPRESSION end local val TESTASSOC00N4_EXPRESSION = makeExpression FE.Neutral (FE.StartOfIndent 1) FE.EndOfIndent val TESTASSOC00N4_EXPECTED = "(L)(R)" in fun testAssoc00N4 () = assertAssoc TESTASSOC00N4_EXPECTED TESTASSOC00N4_EXPRESSION end (****************************************) local val TESTASSOC00R1_EXPRESSION = makeExpression FE.Right (FE.Term(1, "1")) (FE.Term(1, "2")) val TESTASSOC00R1_EXPECTED = "1(L)(R)2" in fun testAssoc00R1 () = assertAssoc TESTASSOC00R1_EXPECTED TESTASSOC00R1_EXPRESSION end local val TESTASSOC00R2_EXPRESSION = makeExpression FE.Right (FE.Guard (SOME { cut = false, strength = TESTASSOC_ASSOCSTRENGTH, direction = FE.Left }, [FE.Term(1, "1")])) (FE.Guard (SOME { cut = false, strength = TESTASSOC_ASSOCSTRENGTH, direction = FE.Right }, [FE.Term(1, "2")])) val TESTASSOC00R2_EXPECTED = "(1)(L)(R)2" in fun testAssoc00R2 () = assertAssoc TESTASSOC00R2_EXPECTED TESTASSOC00R2_EXPRESSION end local val TESTASSOC00R3_EXPRESSION = makeExpression FE.Right (FE.Indicator{space = false, newline = SOME{priority = FE.Deferred}}) (FE.Indicator{space = false, newline = SOME{priority = FE.Deferred}}) val TESTASSOC00R3_EXPECTED = "(L)R" in fun testAssoc00R3 () = assertAssoc TESTASSOC00R3_EXPECTED TESTASSOC00R3_EXPRESSION end local val TESTASSOC00R4_EXPRESSION = makeExpression FE.Right (FE.StartOfIndent 1) FE.EndOfIndent val TESTASSOC00R4_EXPECTED = "(L)R" in fun testAssoc00R4 () = assertAssoc TESTASSOC00R4_EXPECTED TESTASSOC00R4_EXPRESSION end (***************************************************************************) fun suite () = Test.labelTests [ ("testAssoc00L1", testAssoc00L1), ("testAssoc00L2", testAssoc00L2), ("testAssoc00L3", testAssoc00L3), ("testAssoc00L4", testAssoc00L4), ("testAssoc00N1", testAssoc00N1), ("testAssoc00N2", testAssoc00N2), ("testAssoc00N3", testAssoc00N3), ("testAssoc00N4", testAssoc00N4), ("testAssoc00R1", testAssoc00R1), ("testAssoc00R2", testAssoc00R2), ("testAssoc00R3", testAssoc00R3), ("testAssoc00R4", testAssoc00R4) ] (***************************************************************************) endsmlsharp-1.2.0/src/smlformat/formatlib/test/SMLFormatTest0010.sml0000644 000000000000000000002144112050661606024720 0ustar00rootroot0000000 0000000 (** * verify the inheritance of associativity when the expressions contains * three nested guards. *

* These cases pretty-print expressions of the form as follows: *

 * c{ d{ e{ ... } } ... d{ e{ ... } } }
 * 
* c, d, e denotes assoc indicators. *

* *

* variation of cut attribute of assoc indicator of the middle guard: *

*
    *
  • without cut
  • *
  • with cut
  • *
* *

variation of strength of assoc indicators:

*
    *
  • (1) c < d < e
  • *
  • (2) c < e < d
  • *
  • (3) d < c < e
  • *
  • (4) d < e < c
  • *
  • (5) e < c < d
  • *
  • (6) e < d < c
  • *
  • (7) c < e (the middle guard has no assoc)
  • *
  • (8) e < c (the middle guard has no assoc)
  • *
* * * * * * * * * * * * * * * * * * * * * * * * * *
Test cases matrix
casecut attributestrength of assoc indicators
0001without cut1
00022
00033
00044
00055
00066
00077
00088
0101with cut1
01022
01033
01044
01055
01066
01077
01088
* * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. *) structure SMLFormatTest0010 = struct (***************************************************************************) structure Assert = SMLUnit.Assert structure Test = SMLUnit.Test structure Testee = SMLFormat structure FE = Testee.FormatExpression structure PP = Testee.PrinterParameter (***************************************************************************) val TESTASSOC_COLUMNS = 10 fun prettyPrint expressions = SMLFormat.prettyPrint [ SMLFormat.Newline "\n", SMLFormat.Space " ", SMLFormat.Columns TESTASSOC_COLUMNS ] expressions fun makeExpression (outerStrength, middleCutStrengthOpt, innerStrength) = let val outerAssoc = {cut = false, strength = outerStrength, direction = FE.Neutral} val middleAssocOpt = case middleCutStrengthOpt of SOME (middleCut, middleStrength) => SOME { cut = middleCut, strength = middleStrength, direction = FE.Neutral } | NONE => NONE val innerAssoc = {cut = false, strength = innerStrength, direction = FE.Neutral} in [FE.Guard ( SOME outerAssoc, [ FE.Guard (middleAssocOpt, [ FE.Guard(SOME innerAssoc, [FE.Term(1, "1")]), FE.Guard(SOME innerAssoc, [FE.Term(1, "2")]), FE.Guard(SOME innerAssoc, [FE.Term(1, "3")]) ]), FE.Guard (middleAssocOpt, [ FE.Guard(SOME innerAssoc, [FE.Term(1, "4")]), FE.Guard(SOME innerAssoc, [FE.Term(1, "5")]), FE.Guard(SOME innerAssoc, [FE.Term(1, "6")]) ]), FE.Guard (middleAssocOpt, [ FE.Guard(SOME innerAssoc, [FE.Term(1, "7")]), FE.Guard(SOME innerAssoc, [FE.Term(1, "8")]), FE.Guard(SOME innerAssoc, [FE.Term(1, "9")]) ]) ] )] end fun assertAssoc expected expression = (Assert.assertEqualString expected (prettyPrint expression); ()) (****************************************) local val TESTASSOC0001_EXPRESSION = makeExpression (0, SOME (false, 5), 10) val TESTASSOC0001_EXPECTED = "123456789" in fun testAssoc0001 () = assertAssoc TESTASSOC0001_EXPECTED TESTASSOC0001_EXPRESSION end local val TESTASSOC0002_EXPRESSION = makeExpression (0, SOME (false, 10), 5) val TESTASSOC0002_EXPECTED = "(1)(2)(3)(4)(5)(6)(7)(8)(9)" in fun testAssoc0002 () = assertAssoc TESTASSOC0002_EXPECTED TESTASSOC0002_EXPRESSION end local val TESTASSOC0003_EXPRESSION = makeExpression (5, SOME (false, 0), 10) val TESTASSOC0003_EXPECTED = "(123)(456)(789)" in fun testAssoc0003 () = assertAssoc TESTASSOC0003_EXPECTED TESTASSOC0003_EXPRESSION end local val TESTASSOC0004_EXPRESSION = makeExpression (10, SOME (false, 0), 5) val TESTASSOC0004_EXPECTED = "(123)(456)(789)" in fun testAssoc0004 () = assertAssoc TESTASSOC0004_EXPECTED TESTASSOC0004_EXPRESSION end local val TESTASSOC0005_EXPRESSION = makeExpression (5, SOME (false, 10), 0) val TESTASSOC0005_EXPECTED = "(1)(2)(3)(4)(5)(6)(7)(8)(9)" in fun testAssoc0005 () = assertAssoc TESTASSOC0005_EXPECTED TESTASSOC0005_EXPRESSION end local val TESTASSOC0006_EXPRESSION = makeExpression (10, SOME (false, 5), 0) val TESTASSOC0006_EXPECTED = "((1)(2)(3))((4)(5)(6))((7)(8)(9))" in fun testAssoc0006 () = assertAssoc TESTASSOC0006_EXPECTED TESTASSOC0006_EXPRESSION end local val TESTASSOC0007_EXPRESSION = makeExpression (0, NONE, 10) val TESTASSOC0007_EXPECTED = "123456789" in fun testAssoc0007 () = assertAssoc TESTASSOC0007_EXPECTED TESTASSOC0007_EXPRESSION end local val TESTASSOC0008_EXPRESSION = makeExpression (10, NONE, 0) val TESTASSOC0008_EXPECTED = "(1)(2)(3)(4)(5)(6)(7)(8)(9)" in fun testAssoc0008 () = assertAssoc TESTASSOC0008_EXPECTED TESTASSOC0008_EXPRESSION end (********************) local val TESTASSOC0101_EXPRESSION = makeExpression (0, SOME (true, 5), 10) val TESTASSOC0101_EXPECTED = "123456789" in fun testAssoc0101 () = assertAssoc TESTASSOC0101_EXPECTED TESTASSOC0101_EXPRESSION end local val TESTASSOC0102_EXPRESSION = makeExpression (0, SOME (true, 10), 5) val TESTASSOC0102_EXPECTED = "(1)(2)(3)(4)(5)(6)(7)(8)(9)" in fun testAssoc0102 () = assertAssoc TESTASSOC0102_EXPECTED TESTASSOC0102_EXPRESSION end local val TESTASSOC0103_EXPRESSION = makeExpression (5, SOME (true, 0), 10) val TESTASSOC0103_EXPECTED = "123456789" in fun testAssoc0103 () = assertAssoc TESTASSOC0103_EXPECTED TESTASSOC0103_EXPRESSION end local val TESTASSOC0104_EXPRESSION = makeExpression (10, SOME (true, 0), 5) val TESTASSOC0104_EXPECTED = "123456789" in fun testAssoc0104 () = assertAssoc TESTASSOC0104_EXPECTED TESTASSOC0104_EXPRESSION end local val TESTASSOC0105_EXPRESSION = makeExpression (5, SOME (true, 10), 0) val TESTASSOC0105_EXPECTED = "(1)(2)(3)(4)(5)(6)(7)(8)(9)" in fun testAssoc0105 () = assertAssoc TESTASSOC0105_EXPECTED TESTASSOC0105_EXPRESSION end local val TESTASSOC0106_EXPRESSION = makeExpression (10, SOME (true, 5), 0) val TESTASSOC0106_EXPECTED = "(1)(2)(3)(4)(5)(6)(7)(8)(9)" in fun testAssoc0106 () = assertAssoc TESTASSOC0106_EXPECTED TESTASSOC0106_EXPRESSION end local val TESTASSOC0107_EXPRESSION = makeExpression (0, NONE, 10) val TESTASSOC0107_EXPECTED = "123456789" in fun testAssoc0107 () = assertAssoc TESTASSOC0107_EXPECTED TESTASSOC0107_EXPRESSION end local val TESTASSOC0108_EXPRESSION = makeExpression (10, NONE, 0) val TESTASSOC0108_EXPECTED = "(1)(2)(3)(4)(5)(6)(7)(8)(9)" in fun testAssoc0108 () = assertAssoc TESTASSOC0108_EXPECTED TESTASSOC0108_EXPRESSION end (***************************************************************************) fun suite () = Test.labelTests [ ("testAssoc0001", testAssoc0001), ("testAssoc0002", testAssoc0002), ("testAssoc0003", testAssoc0003), ("testAssoc0004", testAssoc0004), ("testAssoc0005", testAssoc0005), ("testAssoc0006", testAssoc0006), ("testAssoc0007", testAssoc0007), ("testAssoc0008", testAssoc0008), ("testAssoc0101", testAssoc0101), ("testAssoc0102", testAssoc0102), ("testAssoc0103", testAssoc0103), ("testAssoc0104", testAssoc0104), ("testAssoc0105", testAssoc0105), ("testAssoc0106", testAssoc0106), ("testAssoc0107", testAssoc0107), ("testAssoc0108", testAssoc0108) ] (***************************************************************************) endsmlsharp-1.2.0/src/smlformat/formatlib/test/SMLFormatTest0011.sml0000644 000000000000000000002332012050661606024717 0ustar00rootroot0000000 0000000 (** * test cases examining the relation between newline indicators across nested * guards. * *

* These test cases examine that an indicator has higher priority than * indicators which occur in inner guards, and that a newline is inserted * at outer indicators if a newline is inserted at inner indicators. *

*

* Following cases are examined with 3 columns specified. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
No.format expressionexpected output
001
"a" 2 "b" 1 {"cd" 1 "e"}
 *ab
 *cde
002
"a" 2 "b" 1 {"cd" 1 "ef"}
 *a
 *b
 *cd
 *ef
003
"a" 2 "b" 1 {"cd" d "ef"}
 *a
 *b
 *cd
 *ef
004
"a" 2 "b" 1 {"cd" 1 "e" 2 "f"}
 *a
 *b
 *cd
 *ef
101
"a" 2 "b" 1 {"cd" 1 "e"} "f"
 *ab
 *cdef
102
"a" 2 "b" 1 {"cd" 1 "e"} 1 "f"
 *ab
 *cde
 *f
103
"a" 2 "b" 1 {"cd" 1 "e"} 2 "f"
 *a
 *b
 *cde
 *f
104
"a" 2 "b" 1 {"cd" 1 "e"} 3 "f"
 *a
 *b
 *cde
 *f
105
"a" 2 "b" 1 {"cd" 1 "e"} d "f"
 *a
 *b
 *cde
 *f
* * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. *) structure SMLFormatTest0011 = struct (***************************************************************************) structure Assert = SMLUnit.Assert structure Test = SMLUnit.Test structure Testee = SMLFormat structure E = Testee.FormatExpression structure PP = Testee.PrinterParameter (***************************************************************************) fun prettyPrint columns expressions = SMLFormat.prettyPrint [ SMLFormat.Newline "\n", SMLFormat.Space " ", SMLFormat.Columns columns ] expressions (****************************************) val ind_s = E.Indicator{space = true, newline = NONE} val ind_s1 = E.Indicator{space = true, newline = SOME{priority = E.Preferred 1}} val ind_s2 = E.Indicator{space = true, newline = SOME{priority = E.Preferred 2}} val ind_sd = E.Indicator{space = true, newline = SOME{priority = E.Deferred}} val ind_1 = E.Indicator{space = false, newline = SOME{priority = E.Preferred 1}} val ind_2 = E.Indicator{space = false, newline = SOME{priority = E.Preferred 2}} val ind_3 = E.Indicator{space = false, newline = SOME{priority = E.Preferred 3}} val ind_d = E.Indicator{space = false, newline = SOME{priority = E.Deferred}} (****************************************) local val TESTGUARD0001_EXPRESSION = [E.Guard ( NONE, [ E.Term(1, "a"), ind_2, E.Term(1, "b"), ind_1, E.Guard (NONE, [E.Term(2, "cd"), ind_1, E.Term(1, "e")]) ] )] val TESTGUARD0001_COLUMNS = 3 val TESTGUARD0001_EXPECTED = "ab\ncde" in fun testGuard0001 () = ( Assert.assertEqualString TESTGUARD0001_EXPECTED (prettyPrint TESTGUARD0001_COLUMNS TESTGUARD0001_EXPRESSION); () ) end local val TESTGUARD0002_EXPRESSION = [E.Guard ( NONE, [ E.Term(1, "a"), ind_2, E.Term(1, "b"), ind_1, E.Guard (NONE, [E.Term(2, "cd"), ind_1, E.Term(2, "ef")]) ] )] val TESTGUARD0002_COLUMNS = 3 val TESTGUARD0002_EXPECTED = "a\nb\ncd\nef" in fun testGuard0002 () = ( Assert.assertEqualString TESTGUARD0002_EXPECTED (prettyPrint TESTGUARD0002_COLUMNS TESTGUARD0002_EXPRESSION); () ) end local val TESTGUARD0003_EXPRESSION = [E.Guard ( NONE, [ E.Term(1, "a"), ind_2, E.Term(1, "b"), ind_1, E.Guard (NONE, [E.Term(2, "cd"), ind_d, E.Term(2, "ef")]) ] )] val TESTGUARD0003_COLUMNS = 3 val TESTGUARD0003_EXPECTED = "a\nb\ncd\nef" in fun testGuard0003 () = ( Assert.assertEqualString TESTGUARD0003_EXPECTED (prettyPrint TESTGUARD0003_COLUMNS TESTGUARD0003_EXPRESSION); () ) end local val TESTGUARD0004_EXPRESSION = [E.Guard ( NONE, [ E.Term(1, "a"), ind_2, E.Term(1, "b"), ind_1, E.Guard (NONE, [E.Term(2, "cd"), ind_1, E.Term(1, "e"), ind_2, E.Term(1, "f")]) ] )] val TESTGUARD0004_COLUMNS = 3 val TESTGUARD0004_EXPECTED = "a\nb\ncd\nef" in fun testGuard0004 () = ( Assert.assertEqualString TESTGUARD0004_EXPECTED (prettyPrint TESTGUARD0004_COLUMNS TESTGUARD0004_EXPRESSION); () ) end local val TESTGUARD0101_EXPRESSION = [E.Guard ( NONE, [ E.Term(1, "a"), ind_2, E.Term(1, "b"), ind_1, E.Guard (NONE, [E.Term(2, "cd"), ind_1, E.Term(1, "e")]), E.Term(1, "f") ] )] val TESTGUARD0101_COLUMNS = 3 val TESTGUARD0101_EXPECTED = "ab\ncdef" in fun testGuard0101 () = ( Assert.assertEqualString TESTGUARD0101_EXPECTED (prettyPrint TESTGUARD0101_COLUMNS TESTGUARD0101_EXPRESSION); () ) end local val TESTGUARD0102_EXPRESSION = [E.Guard ( NONE, [ E.Term(1, "a"), ind_2, E.Term(1, "b"), ind_1, E.Guard (NONE, [E.Term(2, "cd"), ind_1, E.Term(1, "e")]), ind_1, E.Term(1, "f") ] )] val TESTGUARD0102_COLUMNS = 3 val TESTGUARD0102_EXPECTED = "ab\ncde\nf" in fun testGuard0102 () = ( Assert.assertEqualString TESTGUARD0102_EXPECTED (prettyPrint TESTGUARD0102_COLUMNS TESTGUARD0102_EXPRESSION); () ) end local val TESTGUARD0103_EXPRESSION = [E.Guard ( NONE, [ E.Term(1, "a"), ind_2, E.Term(1, "b"), ind_1, E.Guard (NONE, [E.Term(2, "cd"), ind_1, E.Term(1, "e")]), ind_2, E.Term(1, "f") ] )] val TESTGUARD0103_COLUMNS = 3 val TESTGUARD0103_EXPECTED = "a\nb\ncde\nf" in fun testGuard0103 () = ( Assert.assertEqualString TESTGUARD0103_EXPECTED (prettyPrint TESTGUARD0103_COLUMNS TESTGUARD0103_EXPRESSION); () ) end local val TESTGUARD0104_EXPRESSION = [E.Guard ( NONE, [ E.Term(1, "a"), ind_2, E.Term(1, "b"), ind_1, E.Guard (NONE, [E.Term(2, "cd"), ind_1, E.Term(1, "e")]), ind_3, E.Term(1, "f") ] )] val TESTGUARD0104_COLUMNS = 3 val TESTGUARD0104_EXPECTED = "a\nb\ncde\nf" in fun testGuard0104 () = ( Assert.assertEqualString TESTGUARD0104_EXPECTED (prettyPrint TESTGUARD0104_COLUMNS TESTGUARD0104_EXPRESSION); () ) end local val TESTGUARD0105_EXPRESSION = [E.Guard ( NONE, [ E.Term(1, "a"), ind_2, E.Term(1, "b"), ind_1, E.Guard (NONE, [E.Term(2, "cd"), ind_1, E.Term(1, "e")]), ind_d, E.Term(1, "f") ] )] val TESTGUARD0105_COLUMNS = 3 val TESTGUARD0105_EXPECTED = "a\nb\ncde\nf" in fun testGuard0105 () = ( Assert.assertEqualString TESTGUARD0105_EXPECTED (prettyPrint TESTGUARD0105_COLUMNS TESTGUARD0105_EXPRESSION); () ) end (***************************************************************************) fun suite () = Test.labelTests [ ("testGuard0001", testGuard0001), ("testGuard0002", testGuard0002), ("testGuard0003", testGuard0003), ("testGuard0004", testGuard0004), ("testGuard0101", testGuard0101), ("testGuard0102", testGuard0102), ("testGuard0103", testGuard0103), ("testGuard0104", testGuard0104), ("testGuard0105", testGuard0105) ] (***************************************************************************) endsmlsharp-1.2.0/src/smlformat/formatlib/test/SMLFormatTestUtil.sml0000644 000000000000000000000470012050661606025254 0ustar00rootroot0000000 0000000 (** * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. *) structure SMLFormatTestUtil = struct local structure FE = SMLFormat.FormatExpression structure Assert = SMLUnit.Assert open Assert in val assertEqualAssoc = assertEqual (fn (left, right) => left = right) FE.assocToString val assertEqualPriority = assertEqual (fn (left, right) => left = right) FE.priorityToString fun assertEqualFormatExpression (FE.Term argLeft) (FE.Term argRight) = (assertEqual2Tuple(assertEqualInt, assertEqualString) argLeft argRight handle Fail(NotEqualFailure(textLeft, textRight)) => failByNotEqual("Term " ^ textLeft, "Term " ^ textRight)) | assertEqualFormatExpression (FE.Guard argLeft) (FE.Guard argRight) = ((assertEqual2Tuple ( assertEqualOption assertEqualAssoc, assertEqualList assertEqualFormatExpression ) argLeft argRight) handle Fail(NotEqualFailure(textLeft, textRight)) => failByNotEqual("Guard " ^ textLeft, "Guard " ^ textRight)) | assertEqualFormatExpression (FE.Indicator argLeft) (FE.Indicator argRight) = ( (assertEqualBool (#space argLeft) (#space argRight)) handle Fail(NotEqualFailure(textLeft, textRight)) => failByNotEqual ("Indicator{space = " ^ textLeft, "Indicator{space = " ^ textRight); (assertEqualOption (fn {priority = leftPriority} => fn {priority = rightPriority} => assertEqualPriority leftPriority rightPriority) (#newline argLeft) (#newline argRight)) handle Fail(NotEqualFailure(textLeft, textRight)) => failByNotEqual ("Indicator{newline = " ^ textLeft, "Indicator{newline = " ^ textRight) ) | assertEqualFormatExpression (FE.StartOfIndent argLeft) (FE.StartOfIndent argRight) = (assertEqualInt argLeft argRight handle Fail(NotEqualFailure(textLeft, textRight)) => failByNotEqual ("StartOfIndent " ^ textLeft, "StartOfIndent " ^ textRight)) | assertEqualFormatExpression FE.EndOfIndent FE.EndOfIndent = () | assertEqualFormatExpression left right = failByNotEqual(FE.toString left, FE.toString right) val assertEqualFormatExpressionList = assertEqualList assertEqualFormatExpression end endsmlsharp-1.2.0/src/smlformat/formatlib/test/sources.cm0000644 000000000000000000000126312050661606023242 0ustar00rootroot0000000 0000000 (* * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. *) Group is $/basis.cm ../main/sources.cm ../../../SMLUnit/smlunitlib.cm SMLFormatTestUtil.sml SMLFormatTest0001.sml SMLFormatTest0002.sml SMLFormatTest0003.sml SMLFormatTest0004.sml SMLFormatTest0005.sml SMLFormatTest0006.sml SMLFormatTest0007.sml SMLFormatTest0008.sml SMLFormatTest0009.sml SMLFormatTest0010.sml SMLFormatTest0011.sml PrinterParameterTest0001.sml PrinterParameterTest0002.sml BasicFormattersTest0001.sml PPLibTest.sml TestMain.sml smlsharp-1.2.0/src/smlformat/formatlib/test/TestMain.sml0000644 000000000000000000000037112050661606023476 0ustar00rootroot0000000 0000000 (** * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. *) structure TestMain = struct fun test () = let val tests = PPLibTest.suite() in SMLUnit.TextUITestRunner.runTest {output = TextIO.stdOut} tests end endsmlsharp-1.2.0/src/smlformat/generator0000755 000000000000000000000000012050661606020205 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/smlformat/generator/main0000755 000000000000000000000000012050661606021131 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/smlformat/generator/main/AST.sig0000644 000000000000000000002120312050661606022341 0ustar00rootroot0000000 0000000 (** * Abstract syntax tree. * * @author Copyright 1992 by AT&T Bell Laboratories * @author YAMATODANI Kiyoshi * @version $Id: AST.sig,v 1.5 2006/01/24 17:57:44 katsuu Exp $ *) signature AST = sig datatype fixity = INfix of int | INfixR of int | NONfix (* to mark positions in files *) type srcpos (* = int *) type region (* = srcpos * srcpos *) (** symbolic path (SymPath.spath) *) type path datatype 'a sigConst = NoSig | Transparent of 'a | Opaque of 'a (** declaration header format comment *) type headerFormatComment = { (** destination anchor *) destinationOpt : string option, (** custom formatters *) formatters : (string * string) list, (** header of generated function *) funHeaderOpt : string option, (** additional parameter names *) params : string list, (** ditto format comments (EXPERIMENTAL EXTENSION by Ueno) *) ditto : string list, (** prefix of formatter name *) prefix : string } type innerHeaderFormatComment = { (** custom formatters *) formatters : (string * string) list, (** additional parameter names *) params : string list, (** prefix of formatter name *) prefix : string option } (** defining type expression format comment *) type definingFormatComment = { (** prefix of formatter name *) prefix : string, (** primary tag *) primaryTag : FormatTemplate.formattag, (** list of local tags *) localTags : FormatTemplate.formattag list } (** EXPRESSIONS *) type exp = unit (** RULE for case functions and exception handler *) datatype rule = Rule of {pat:pat,exp:exp} (** PATTERN *) and pat = (** empty pattern *) WildPat | (** variable pattern *) VarPat of path | (** integer *) IntPat of int | (** word int *) WordPat of int | (** string *) StringPat of string | (** char *) CharPat of string | (** record *) RecordPat of {def:(string * pat) list, flexibility:bool} | (** [list,in,square,brackets] *) ListPat of pat list | (** tuple *) TuplePat of pat list | (** patterns prior to fixity parsing *) FlatAppPat of pat list | (** application *) AppPat of {constr:pat,argument:pat} | (** constraint *) ConstraintPat of {pattern:pat,constraint:ty} | (** as expressions *) LayeredPat of {varPat:pat,expPat:pat} | (** vector pattern *) VectorPat of pat list | (** mark a pattern *) MarkPat of pat * region | (** or-pattern *) OrPat of pat list (** STRUCTURE EXPRESSION *) and strexp = (** variable structure *) VarStr of path | (** defined structure *) BaseStr of dec | (** signature constrained *) ConstrainedStr of strexp * sigexp sigConst | (** application (external) *) AppStr of path * (strexp * bool) list | (** application (internal) *) AppStrI of path * (strexp * bool) list | (** let in structure *) LetStr of dec * strexp | (** mark *) MarkStr of strexp * region (** FUNCTOR EXPRESSION *) and fctexp = (** functor variable *) VarFct of path * fsigexp sigConst | (** definition of a functor *) BaseFct of { params : (string option * sigexp) list, body : strexp, constraint : sigexp sigConst } | LetFct of dec * fctexp | (** application *) AppFct of path * (strexp * bool) list * fsigexp sigConst | (** mark *) MarkFct of fctexp * region (** WHERE SPEC *) and wherespec = WhType of string list * tyvar list * ty | WhStruct of string list * string list (** SIGNATURE EXPRESSION *) and sigexp = (** signature variable *) VarSig of string | (** sig augmented with where spec *) AugSig of sigexp * wherespec list | (** defined signature *) BaseSig of spec list | (** mark *) MarkSig of sigexp * region (** FUNCTOR SIGNATURE EXPRESSION *) and fsigexp = (** funsig variable *) VarFsig of string | (** defined funsig *) BaseFsig of {param: (string option * sigexp) list, result:sigexp} | (** mark a funsig *) MarkFsig of fsigexp * region (** SPECIFICATION FOR SIGNATURE DEFINITIONS *) and spec = (** structure *) StrSpec of (string * sigexp * path option) list | (** type *) TycSpec of ((string * tyvar list * ty option) list * bool) | (** functor *) FctSpec of (string * fsigexp) list | (** value *) ValSpec of (string * ty) list | (** datatype *) DataSpec of {datatycs: db list, withtycs: tb list} | (** exception *) ExceSpec of (string * ty option) list | (** structure sharing *) ShareStrSpec of path list | (** type sharing *) ShareTycSpec of path list | (** include specif *) IncludeSpec of sigexp | (** mark a spec *) MarkSpec of spec * region (** DECLARATIONS (let and structure) *) and dec = (** values *) ValDec of (vb list * tyvar list) | (** recursive values *) ValrecDec of (rvb list * tyvar list) | (** recurs functions *) FunDec of (fb list * tyvar list) | (** type dec *) TypeDec of {formatComments : headerFormatComment list, tbs : tb list} | (** datatype dec *) DatatypeDec of { formatComments : headerFormatComment list, datatycs: db list, withtycs: tb list } | (** abstract type *) AbstypeDec of { formatComments : headerFormatComment list, abstycs: db list, withtycs: tb list, bodyBeginPos : srcpos, body: dec } | (** exception *) ExceptionDec of {formatComments : headerFormatComment list, ebs : eb list} | (** structure *) StrDec of strb list | (** abstract struct *) AbsDec of strb list | (** functor *) FctDec of fctb list | (** signature *) SigDec of sigb list | (** funsig *) FsigDec of fsigb list | (** local dec *) LocalDec of dec * dec | (** sequence of dec *) SeqDec of dec list | (** open structures *) OpenDec of path list | (** overloading (internal) *) OvldDec of string * ty * exp list | (** fixity *) FixDec of {fixity: fixity, ops: string list} | (** mark a dec *) MarkDec of dec * region (** VALUE BINDINGS *) and vb = Vb of {pat:pat, exp:exp, lazyp:bool} | MarkVb of vb * region (** RECURSIVE VALUE BINDINGS *) and rvb = Rvb of {var:string, exp:exp, resultty: ty option, lazyp: bool} | MarkRvb of rvb * region (** RECURSIVE FUNCTIONS BINDINGS *) and fb = Fb of (clause list * bool) | MarkFb of fb * region (** CLAUSE: a definition for a single pattern in a function binding *) and clause = Clause of {pats: pat list, resultty: ty option, exp:exp} (** TYPE BINDING *) and tb = Tb of { tyConName : string, ty : ty, tyvars : tyvar list, formatComments : definingFormatComment list, innerHeaderFormatComments: innerHeaderFormatComment list } | MarkTb of tb * region (** DATATYPE BINDING *) and db = Db of {tyConName : string, tyvars : tyvar list, rhs : dbrhs, lazyp: bool, innerHeaderFormatComments: innerHeaderFormatComment list} | MarkDb of db * region (** DATATYPE BINDING RIGHT HAND SIDE *) and dbrhs = Constrs of { formatComments : definingFormatComment list, valConName : string, argTypeOpt : ty option } list | Repl of string list (** EXCEPTION BINDING *) and eb = (** Exception definition *) EbGen of { formatComments : definingFormatComment list, innerHeaderFormatComments: innerHeaderFormatComment list, exn: string, etype: ty option } | (** defined by equality *) EbDef of { formatComments : definingFormatComment list, innerHeaderFormatComments: innerHeaderFormatComment list, exn: string, edef: path } | MarkEb of eb * region (** STRUCTURE BINDING *) and strb = Strb of {name: string,def: strexp,constraint: sigexp sigConst} | MarkStrb of strb * region (** FUNCTOR BINDING *) and fctb = Fctb of {name: string,def: fctexp} | MarkFctb of fctb * region (** SIGNATURE BINDING *) and sigb = Sigb of {name: string,def: sigexp} | MarkSigb of sigb * region (** FUNSIG BINDING *) and fsigb = Fsigb of {name: string,def: fsigexp} | MarkFsigb of fsigb * region (** TYPE VARIABLE *) and tyvar = Tyv of string | MarkTyv of tyvar * region (** TYPES *) and ty = (** type variable *) VarTy of tyvar | (** type constructor *) ConTy of string list * ty list | (** record *) RecordTy of (string * ty) list | (** tuple *) TupleTy of ty list | (** mark type *) MarkTy of ty * region val DefaultFormatterPrefix : string end (* signature AST *) smlsharp-1.2.0/src/smlformat/generator/main/Ast.smi0000644 000000000000000000001335412050661606022457 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "FormatTemplate.smi" _require "AST.sig" structure Ast = struct datatype fixity = INfix of int | INfixR of int | NONfix type srcpos = int type region = int * int type path = string list datatype 'a sigConst = NoSig | Transparent of 'a | Opaque of 'a type headerFormatComment = { destinationOpt : string option, formatters : (string * string) list, funHeaderOpt : string option, params : string list, ditto : string list, prefix : string } type innerHeaderFormatComment = { formatters : (string * string) list, params : string list, prefix : string option } type definingFormatComment = { prefix : string, primaryTag : FormatTemplate.formattag, localTags : FormatTemplate.formattag list } type exp = unit datatype rule = Rule of {pat:pat,exp:exp} and pat = WildPat | VarPat of path | IntPat of int | WordPat of int | StringPat of string | CharPat of string | RecordPat of {def:(string * pat) list, flexibility:bool} | ListPat of pat list | TuplePat of pat list | FlatAppPat of pat list | AppPat of {constr:pat,argument:pat} | ConstraintPat of {pattern:pat,constraint:ty} | LayeredPat of {varPat:pat,expPat:pat} | VectorPat of pat list | MarkPat of pat * region | OrPat of pat list and strexp = VarStr of path | BaseStr of dec | ConstrainedStr of strexp * sigexp sigConst | AppStr of path * (strexp * bool) list | AppStrI of path * (strexp * bool) list | LetStr of dec * strexp | MarkStr of strexp * region and fctexp = VarFct of path * fsigexp sigConst | BaseFct of { params : (string option * sigexp) list, body : strexp, constraint : sigexp sigConst } | LetFct of dec * fctexp | AppFct of path * (strexp * bool) list * fsigexp sigConst | MarkFct of fctexp * region and wherespec = WhType of string list * tyvar list * ty | WhStruct of string list * string list and sigexp = VarSig of string | AugSig of sigexp * wherespec list | BaseSig of spec list | MarkSig of sigexp * region and fsigexp = VarFsig of string | BaseFsig of {param: (string option * sigexp) list, result:sigexp} | MarkFsig of fsigexp * region and spec = StrSpec of (string * sigexp * path option) list | TycSpec of ((string * tyvar list * ty option) list * bool) | FctSpec of (string * fsigexp) list | ValSpec of (string * ty) list | DataSpec of {datatycs: db list, withtycs: tb list} | ExceSpec of (string * ty option) list | ShareStrSpec of path list | ShareTycSpec of path list | IncludeSpec of sigexp | MarkSpec of spec * region and dec = ValDec of (vb list * tyvar list) | ValrecDec of (rvb list * tyvar list) | FunDec of (fb list * tyvar list) | TypeDec of {formatComments : headerFormatComment list, tbs : tb list} | DatatypeDec of { formatComments : headerFormatComment list, datatycs: db list, withtycs: tb list } | AbstypeDec of { formatComments : headerFormatComment list, abstycs: db list, withtycs: tb list, bodyBeginPos : srcpos, body: dec } | ExceptionDec of {formatComments : headerFormatComment list, ebs : eb list} | StrDec of strb list | AbsDec of strb list | FctDec of fctb list | SigDec of sigb list | FsigDec of fsigb list | LocalDec of dec * dec | SeqDec of dec list | OpenDec of path list | OvldDec of string * ty * exp list | FixDec of {fixity: fixity, ops: string list} | MarkDec of dec * region and vb = Vb of {pat:pat, exp:exp, lazyp:bool} | MarkVb of vb * region and rvb = Rvb of {var:string, exp:exp, resultty: ty option, lazyp: bool} | MarkRvb of rvb * region and fb = Fb of (clause list * bool) | MarkFb of fb * region and clause = Clause of {pats: pat list, resultty: ty option, exp:exp} and tb = Tb of { tyConName : string, ty : ty, tyvars : tyvar list, formatComments : definingFormatComment list, innerHeaderFormatComments: innerHeaderFormatComment list } | MarkTb of tb * region and db = Db of {tyConName : string, tyvars : tyvar list, rhs : dbrhs, lazyp: bool, innerHeaderFormatComments: innerHeaderFormatComment list} | MarkDb of db * region and dbrhs = Constrs of { formatComments : definingFormatComment list, valConName : string, argTypeOpt : ty option } list | Repl of string list and eb = EbGen of { formatComments : definingFormatComment list, innerHeaderFormatComments: innerHeaderFormatComment list, exn: string, etype: ty option } | EbDef of { formatComments : definingFormatComment list, innerHeaderFormatComments: innerHeaderFormatComment list, exn: string, edef: path } | MarkEb of eb * region and strb = Strb of {name: string,def: strexp,constraint: sigexp sigConst} | MarkStrb of strb * region and fctb = Fctb of {name: string,def: fctexp} | MarkFctb of fctb * region and sigb = Sigb of {name: string,def: sigexp} | MarkSigb of sigb * region and fsigb = Fsigb of {name: string,def: fsigexp} | MarkFsigb of fsigb * region and tyvar = Tyv of string | MarkTyv of tyvar * region and ty = VarTy of tyvar | ConTy of string list * ty list | RecordTy of (string * ty) list | TupleTy of ty list | MarkTy of ty * region val DefaultFormatterPrefix : string end smlsharp-1.2.0/src/smlformat/generator/main/Ast.sml0000644 000000000000000000002147712050661606022467 0ustar00rootroot0000000 0000000 (** * Abstract syntax tree. * * @author Copyright 1992 by AT&T Bell Laboratories * @author YAMATODANI Kiyoshi * @version $Id: Ast.sml,v 1.5 2006/01/24 17:57:44 katsuu Exp $ *) structure Ast : AST = struct datatype fixity = INfix of int | INfixR of int | NONfix (* to mark positions in files *) type srcpos = int (* character position from beginning of stream (base 0) *) type region = srcpos * srcpos (* start and end position of region *) (* symbolic path (Modules.spath) *) type path = string list datatype 'a sigConst = NoSig | Transparent of 'a | Opaque of 'a (** declaration header format comment *) type headerFormatComment = { (** destination anchor *) destinationOpt : string option, (** custom formatters *) formatters : (string * string) list, (** header of generated function *) funHeaderOpt : string option, (** additional parameter names *) params : string list, (** ditto format comments (EXPERIMENTAL EXTENSION by Ueno) *) ditto : string list, (** prefix of formatter name *) prefix : string } type innerHeaderFormatComment = { (** custom formatters *) formatters : (string * string) list, (** additional parameter names *) params : string list, (** prefix of formatter name *) prefix : string option } (** defining type expression format comment *) type definingFormatComment = { (** prefix of formatter name *) prefix : string, (** primary tag *) primaryTag : FormatTemplate.formattag, (** list of local tags *) localTags : FormatTemplate.formattag list } (** EXPRESSIONS *) type exp = unit (** RULE for case functions and exception handler *) datatype rule = Rule of {pat:pat,exp:exp} (** PATTERN *) and pat = (** empty pattern *) WildPat | (** variable pattern *) VarPat of path | (** integer *) IntPat of int | (** word int *) WordPat of int | (** string *) StringPat of string | (** char *) CharPat of string | (** record *) RecordPat of {def:(string * pat) list, flexibility:bool} | (** [list,in,square,brackets] *) ListPat of pat list | (** tuple *) TuplePat of pat list | (** patterns prior to fixity parsing *) FlatAppPat of pat list | (** application *) AppPat of {constr:pat,argument:pat} | (** constraint *) ConstraintPat of {pattern:pat,constraint:ty} | (** as expressions *) LayeredPat of {varPat:pat,expPat:pat} | (** vector pattern *) VectorPat of pat list | (** mark a pattern *) MarkPat of pat * region | (** or-pattern *) OrPat of pat list (** STRUCTURE EXPRESSION *) and strexp = (** variable structure *) VarStr of path | (** defined structure *) BaseStr of dec | (** signature constrained *) ConstrainedStr of strexp * sigexp sigConst | (** application (external) *) AppStr of path * (strexp * bool) list | (** application (internal) *) AppStrI of path * (strexp * bool) list | (** let in structure *) LetStr of dec * strexp | (** mark *) MarkStr of strexp * region (** FUNCTOR EXPRESSION *) and fctexp = (** functor variable *) VarFct of path * fsigexp sigConst | (** definition of a functor *) BaseFct of { params : (string option * sigexp) list, body : strexp, constraint : sigexp sigConst } | LetFct of dec * fctexp | (** application *) AppFct of path * (strexp * bool) list * fsigexp sigConst | (** mark *) MarkFct of fctexp * region (** WHERE SPEC *) and wherespec = WhType of string list * tyvar list * ty | WhStruct of string list * string list (** SIGNATURE EXPRESSION *) and sigexp = (** signature variable *) VarSig of string | (** sig augmented with where spec *) AugSig of sigexp * wherespec list | (** defined signature *) BaseSig of spec list | (** mark *) MarkSig of sigexp * region (** FUNCTOR SIGNATURE EXPRESSION *) and fsigexp = (** funsig variable *) VarFsig of string | (** defined funsig *) BaseFsig of {param: (string option * sigexp) list, result:sigexp} | (** mark a funsig *) MarkFsig of fsigexp * region (** SPECIFICATION FOR SIGNATURE DEFINITIONS *) and spec = (** structure *) StrSpec of (string * sigexp * path option) list | (** type *) TycSpec of ((string * tyvar list * ty option) list * bool) | (** functor *) FctSpec of (string * fsigexp) list | (** value *) ValSpec of (string * ty) list | (** datatype *) DataSpec of {datatycs: db list, withtycs: tb list} | (** exception *) ExceSpec of (string * ty option) list | (** structure sharing *) ShareStrSpec of path list | (** type sharing *) ShareTycSpec of path list | (** include specif *) IncludeSpec of sigexp | (** mark a spec *) MarkSpec of spec * region (** DECLARATIONS (let and structure) *) and dec = (** values *) ValDec of (vb list * tyvar list) | (** recursive values *) ValrecDec of (rvb list * tyvar list) | (** recurs functions *) FunDec of (fb list * tyvar list) | (** type dec *) TypeDec of {formatComments : headerFormatComment list, tbs : tb list} | (** datatype dec *) DatatypeDec of { formatComments : headerFormatComment list, datatycs: db list, withtycs: tb list } | (** abstract type *) AbstypeDec of { formatComments : headerFormatComment list, abstycs: db list, withtycs: tb list, bodyBeginPos : srcpos, body: dec } | (** exception *) ExceptionDec of {formatComments : headerFormatComment list, ebs : eb list} | (** structure *) StrDec of strb list | (** abstract struct *) AbsDec of strb list | (** functor *) FctDec of fctb list | (** signature *) SigDec of sigb list | (** funsig *) FsigDec of fsigb list | (** local dec *) LocalDec of dec * dec | (** sequence of dec *) SeqDec of dec list | (** open structures *) OpenDec of path list | (** overloading (internal) *) OvldDec of string * ty * exp list | (** fixity *) FixDec of {fixity: fixity, ops: string list} | (** mark a dec *) MarkDec of dec * region (** VALUE BINDINGS *) and vb = Vb of {pat:pat, exp:exp, lazyp:bool} | MarkVb of vb * region (** RECURSIVE VALUE BINDINGS *) and rvb = Rvb of {var:string, exp:exp, resultty: ty option, lazyp: bool} | MarkRvb of rvb * region (** RECURSIVE FUNCTIONS BINDINGS *) and fb = Fb of (clause list * bool) | MarkFb of fb * region (** CLAUSE: a definition for a single pattern in a function binding *) and clause = Clause of {pats: pat list, resultty: ty option, exp:exp} (** TYPE BINDING *) and tb = Tb of { tyConName : string, ty : ty, tyvars : tyvar list, formatComments : definingFormatComment list, innerHeaderFormatComments: innerHeaderFormatComment list } | MarkTb of tb * region (** DATATYPE BINDING *) and db = Db of {tyConName : string, tyvars : tyvar list, rhs : dbrhs, lazyp: bool, innerHeaderFormatComments: innerHeaderFormatComment list} | MarkDb of db * region (** DATATYPE BINDING RIGHT HAND SIDE *) and dbrhs = Constrs of { formatComments : definingFormatComment list, valConName : string, argTypeOpt : ty option } list | Repl of string list (** EXCEPTION BINDING *) and eb = (** Exception definition *) EbGen of { formatComments : definingFormatComment list, innerHeaderFormatComments: innerHeaderFormatComment list, exn: string, etype: ty option } | (** defined by equality *) EbDef of { formatComments : definingFormatComment list, innerHeaderFormatComments: innerHeaderFormatComment list, exn: string, edef: path } | MarkEb of eb * region (** STRUCTURE BINDING *) and strb = Strb of {name: string,def: strexp,constraint: sigexp sigConst} | MarkStrb of strb * region (** FUNCTOR BINDING *) and fctb = Fctb of {name: string,def: fctexp} | MarkFctb of fctb * region (** SIGNATURE BINDING *) and sigb = Sigb of {name: string,def: sigexp} | MarkSigb of sigb * region (** FUNSIG BINDING *) and fsigb = Fsigb of {name: string,def: fsigexp} | MarkFsigb of fsigb * region (** TYPE VARIABLE *) and tyvar = Tyv of string | MarkTyv of tyvar * region (** TYPES *) and ty = (** type variable *) VarTy of tyvar | (** type constructor *) ConTy of string list * ty list | (** record *) RecordTy of (string * ty) list | (** tuple *) TupleTy of ty list | (** mark type *) MarkTy of ty * region (** used as the prefix of formatter name if no @prefix tag is declared. *) val DefaultFormatterPrefix = "format_" end (* structure Ast *) smlsharp-1.2.0/src/smlformat/generator/main/ASTUTIL.sig0000644 000000000000000000000130112050661606023034 0ustar00rootroot0000000 0000000 (** * Utilities manipulating abstract syntax tree. * * @author Copyright 1992 by AT&T Bell Laboratories * @author YAMATODANI Kiyoshi * @version $Id: ASTUTIL.sig,v 1.2 2004/10/20 02:50:56 kiyoshiy Exp $ *) signature ASTUTIL = sig (* BUILDS VARIOUS CONSTRUCTIONS *) val makeSEQdec : Ast.dec * Ast.dec -> Ast.dec val layered : Ast.pat * Ast.pat -> Ast.pat (* SYMBOLS *) val arrowTycon : string val bogusID : string val exnID : string val symArg : string val itsym : string list val unitExp : Ast.exp val unitPat : Ast.pat (* QUOTES *) val QuoteExp : string -> Ast.exp val AntiquoteExp : Ast.exp -> Ast.exp end (* signature ASTUTIL *) smlsharp-1.2.0/src/smlformat/generator/main/AstUtil.smi0000644 000000000000000000000066612050661606023317 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "Ast.smi" _require "ASTUTIL.sig" structure AstUtil = struct val makeSEQdec : Ast.dec * Ast.dec -> Ast.dec val layered : Ast.pat * Ast.pat -> Ast.pat val arrowTycon : string val bogusID : string val exnID : string val symArg : string val itsym : string list val unitExp : Ast.exp val unitPat : Ast.pat val QuoteExp : string -> Ast.exp val AntiquoteExp : Ast.exp -> Ast.exp end smlsharp-1.2.0/src/smlformat/generator/main/AstUtil.sml0000644 000000000000000000000367012050661606023320 0ustar00rootroot0000000 0000000 (** * Utilities manipulating abstract syntax tree. * * @author Copyright 1992 by AT&T Bell Laboratories * @author YAMATODANI Kiyoshi * @version $Id: AstUtil.sml,v 1.3 2005/12/06 06:55:30 kiyoshiy Exp $ *) structure AstUtil:ASTUTIL = struct open Ast val unitPat = RecordPat{def=nil,flexibility=false} val unitExp = () val trueDcon = ["true"] val falseDcon = ["false"] val quoteDcon = ["SMLofNJ", "QUOTE"] val antiquoteDcon = ["SMLofNJ", "ANTIQUOTE"] val arrowTycon = "->" val exnID = "exn" val bogusID = "BOGUS" val symArg = "" val itsym = ["it"] (* layered patterns *) fun lay3 ((x as VarPat _), y) = LayeredPat{varPat=x,expPat=y} | lay3 (ConstraintPat{pattern,constraint}, y) = (case lay3 (pattern,y) of LayeredPat{varPat,expPat} => LayeredPat{varPat=varPat, expPat=ConstraintPat{pattern=expPat, constraint=constraint}} | pat => pat) | lay3 (MarkPat(x,_),y) = lay3 (x,y) | lay3 (FlatAppPat[x],y) = y | lay3 (x,y) = y fun lay2 (ConstraintPat{pattern,constraint}, y) = (case lay2 (pattern,y) of LayeredPat{varPat,expPat} => LayeredPat{varPat=varPat, expPat=ConstraintPat{pattern=expPat, constraint=constraint}} | pat => pat) | lay2 (MarkPat(x,_),y) = lay2 (x,y) | lay2 (FlatAppPat[item],y) = lay3(item,y) | lay2 p = lay3 p fun lay (ConstraintPat{pattern,constraint}, y) = (case lay2 (pattern,y) of LayeredPat{varPat,expPat} => LayeredPat{varPat=varPat, expPat=ConstraintPat{pattern=expPat, constraint=constraint}} | pat => pat) | lay (MarkPat(x,_),y) = lay (x,y) | lay p = lay2 p val layered = lay (* sequence of declarations *) fun makeSEQdec (SeqDec a, SeqDec b) = SeqDec(a@b) | makeSEQdec (SeqDec a, b) = SeqDec(a@[b]) | makeSEQdec (a, SeqDec b) = SeqDec(a::b) | makeSEQdec (a,b) = SeqDec[a,b] fun QuoteExp (s:string) = () fun AntiquoteExp (e:exp) = () end (* structure *) smlsharp-1.2.0/src/smlformat/generator/main/BasicFormattersEnv.smi0000644 000000000000000000000024612050661606025465 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "FormatterGenerator.smi" structure BasicFormattersEnv = struct val basicFormattersEnv : FormatterGenerator.formatterEnv end smlsharp-1.2.0/src/smlformat/generator/main/BasicFormattersEnv.sml0000644 000000000000000000000460012050661606025466 0ustar00rootroot0000000 0000000 (** * This module provides a formatter environment consisting of entries for * basic types. * * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. * @version $Id: BasicFormattersEnv.sml,v 1.3 2006/02/07 12:49:33 kiyoshiy Exp $ *) structure BasicFormattersEnv = struct (***************************************************************************) local structure FG = FormatterGenerator in (** * a formatter environment consisting of entries for basic types. * Registered in this environment are all types which are defined in * SMLBasis library and are specified to be available at top level. *) val basicFormattersEnv = let val basicFormattersStructureName = "SMLFormat.BasicFormatters" val entries = [ ("unit", "format_unit"), ("General.unit", "format_unit"), ("int", "format_int"), ("Int.int", "format_int"), ("word", "format_word"), ("Word.word", "format_word"), ("real", "format_real"), ("Real.real", "format_real"), ("char", "format_char"), ("Char.char", "format_char"), ("string", "format_string"), ("String.string", "format_string"), ("substring", "format_substring"), ("Substring.substring", "format_substring"), ("exn", "format_exn"), ("General.exn", "format_exn"), ("array", "format_array"), ("Array.array", "format_array"), ("vector", "format_vector"), ("Vector.vector", "format_vector"), ("ref", "format_ref"), ("bool", "format_bool"), ("option", "format_option"), ("Option.option", "format_option"), ("order", "format_order"), ("General.order", "format_order"), ("list", "format_list"), ("List.list", "format_list") ] in foldr (fn ((tyConName, formatterName), F) => let val formatterFQN = basicFormattersStructureName ^ "." ^ formatterName in FG.addToFormatterEnv F (NONE, tyConName, formatterFQN) end) FG.initialFormatterEnv entries end end (***************************************************************************) endsmlsharp-1.2.0/src/smlformat/generator/main/call-main.smi0000755 000000000000000000000006212050661606023560 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "Main.smi" smlsharp-1.2.0/src/smlformat/generator/main/call-main.sml0000755 000000000000000000000014712050661606023567 0ustar00rootroot0000000 0000000 val status = Main.main (CommandLine.name (), CommandLine.arguments ()) val () = OS.Process.exit status smlsharp-1.2.0/src/smlformat/generator/main/Constants_MLton.smi0000644 000000000000000000000010212050661606025000 0ustar00rootroot0000000 0000000 structure Constants = struct val INITIAL_POS_OF_LEXER : int end smlsharp-1.2.0/src/smlformat/generator/main/Constants_MLton.sml0000755 000000000000000000000021612050661606025014 0ustar00rootroot0000000 0000000 (** * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. *) structure Constants = struct val INITIAL_POS_OF_LEXER = 0 endsmlsharp-1.2.0/src/smlformat/generator/main/ErrorQueue.smi0000644 000000000000000000000037312050661606024023 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" structure ErrorQueue = struct datatype errorInfo = Error of exn | Warning of string val errors : errorInfo list ref val initialize : 'a -> unit val add : errorInfo -> unit val getAll : 'a -> errorInfo list end smlsharp-1.2.0/src/smlformat/generator/main/ErrorQueue.sml0000755 000000000000000000000064312050661606024031 0ustar00rootroot0000000 0000000 (** * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. * @version $Id: ErrorQueue.sml,v 1.1 2006/12/31 07:44:52 kiyoshiy Exp $ *) structure ErrorQueue = struct datatype errorInfo = Error of exn | Warning of string val errors = ref ([] : errorInfo list) fun initialize _ = errors := [] fun add error = errors := (error :: !errors) fun getAll _ = rev (!errors) end smlsharp-1.2.0/src/smlformat/generator/main/FormatTemplate.smi0000644 000000000000000000000212712050661606024650 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" structure FormatTemplate = struct type srcpos = int type region = srcpos * srcpos datatype priority = Deferred | Preferred of int datatype assocDirection = Left | Neutral | Right type assoc = {cut:bool, direction:assocDirection, strength:int} type id = string datatype template = EndOfIndent | Guard of assoc option * template list | Indicator of {newline:{priority:priority} option, space:bool} | Instance of instance | MarkTemplate of template * region | Newline | StartOfIndent of int | Term of string and instance = App of id * id option * instance list * template list list | Atom of id * id option | MarkInstance of instance * region datatype typepat = MarkTyPat of typepat * region | RecordTyPat of (string * typepat) list * bool | TupleTyPat of typepat list | TyConTyPat of id * typepat list | TypedTyConTyPat of id * typepat list * id | TypedVarTyPat of id * id | VarTyPat of id | WildTyPat type formattag = {id:id option, templates:template list, typepat:typepat} end smlsharp-1.2.0/src/smlformat/generator/main/FormatTemplate.sml0000644 000000000000000000000626212050661606024657 0ustar00rootroot0000000 0000000 (** * definition of format template * * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. * @version $Id: FormatTemplate.sml,v 1.6 2007/06/30 11:04:42 kiyoshiy Exp $ *) structure FormatTemplate = struct (***************************************************************************) (* to mark positions in files *) type srcpos = int (* character position from beginning of stream (base 0) *) type region = srcpos * srcpos (* start and end position of region *) (** * priority of newline indicators. *) datatype priority = (** preferred priority of the specified priority *) Preferred of int | (** deferred priority *) Deferred (** * direction of the associativity between elements in guards *) datatype assocDirection = (** indicates left associativity *) Left | (** indicates right associativity *) Right | (** indicates non-directional associativity *) Neutral (** * the associativity between elements in guards. *) type assoc = { (** * true if the inheritance of associativity from the upper guard * is cut. *) cut : bool, (** the strength of the association. *) strength : int, (** the direction of the association. *) direction : assocDirection } type id = string (** * format templates *) datatype template = (** literal *) Term of string | (** alwasy newline *) Newline | (** guard *) Guard of (assoc option) * (template list) | (** space/newline indicator *) Indicator of { space : bool, newline : {priority : priority} option } | (** indent push *) StartOfIndent of int | (** indent pop *) EndOfIndent | (** template instantiation *) Instance of instance | (** mark a template *) MarkTemplate of template * region (** template instantiation *) and instance = (** instantiation with no argument *) Atom of id * id option | (** instantiation with arguments *) App of id * id option* (instance list) * (template list list) | (** mark a instance *) MarkInstance of instance * region (** type patterns *) datatype typepat = (** id *) VarTyPat of id | (** id with custom formatter specified *) TypedVarTyPat of id * id | (** dont-care pattern *) WildTyPat | (** record *) RecordTyPat of (string * typepat) list * (** if flexible, true *) bool | (** tuple *) TupleTyPat of typepat list | (** type constructor application *) TyConTyPat of id * (typepat list) | (** type constructor application with custom formatter specified *) TypedTyConTyPat of id * (typepat list) * id | (** mark a typepat *) MarkTyPat of typepat * region (** * format tag *) type formattag = {id : id option, typepat : typepat, templates : template list} (***************************************************************************) end smlsharp-1.2.0/src/smlformat/generator/main/FORMATTER_GENERATOR.sig0000644 000000000000000000001011412050661606024662 0ustar00rootroot0000000 0000000 (** * Specfication of modules which generate formatters for type declarations. * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. * @version $Id: FORMATTER_GENERATOR.sig,v 1.5 2004/10/20 02:50:56 kiyoshiy Exp $ *) signature FORMATTER_GENERATOR = sig (***************************************************************************) (** formatter environment. *) type formatterEnv (***************************************************************************) (** an exception raised in formatter genration * @params (cause, region) * @param cause the cause of this error * @param region the location where this error is found *) exception GenerationError of string * (int * int) (***************************************************************************) (** empty formatter environment which fails on any search. *) val initialFormatterEnv : formatterEnv (** * adds an entry to the formatter environment. *

* This function registers a name of the formatter by which values of the * type built by the type constructor 'tyConName' should be formatted in * the namespace indicated by the 'prefixOpt'. *

* If the 'prefixOpt' is NONE, the formatter can be called * from any namespace. Otherwise, that is, if the 'prefixOpt' is * SOME p, the formatter is registered locally in the namespace * indicated by the p. *

* @params F (prefixOpt, tyConName, formatterName) * @param F formatter environment * @param prefixOpt NONE if the formatter to be added does not belong * to any namespace. * @param tyConName the name of type constructor * @param formatterName the name of formatter * @return a formatter environment extended with the new entry. *) val addToFormatterEnv : formatterEnv -> string option * string * string -> formatterEnv (** * generates SML code of the formatter for a datatype declaration. * * @params formatterEnv (regionOpt, dec) * @param formatterEnv the formatter environment * @param regionOpt the region of the declaration * @param dec the datatype declaration * @return a pair of *
    *
  • a list of pairs of
      *
    • destination of generated code
    • *
    • SML code text of the formatters for the type
    • *
  • *
  • the new formatter environment extended with the generated * formatters.
  • *
*) val generateForDataTypeDec : formatterEnv -> (Ast.region option * Ast.dec) -> ((string option * string) list * formatterEnv) (** * generates SML code of the formatter for a type declaration. * * @params formatterEnv (regionOpt, dec) * @param formatterEnv the formatter environment * @param regionOpt the region of the declaration * @param dec the type declaration * @return a pair of *
    *
  • a list of pairs of
      *
    • destination of generated code
    • *
    • SML code text of the formatters for the type
    • *
  • *
  • the new formatter environment extended with the generated * formatters.
  • *
*) val generateForTypeDec : formatterEnv -> (Ast.region option * Ast.dec) -> ((string option * string) list * formatterEnv) (** * generates SML code of the formatter for a exception declaration. * * @params formatterEnv (regionOpt, dec) * @param formatterEnv the formatter environment * @param regionOpt the region of the declaration * @param dec the type declaration * @return a pair of *
    *
  • a list of pairs of
      *
    • destination of generated code
    • *
    • SML code text of the formatters for the exception
    • *
  • *
  • the new formatter environment extended with the generated * formatters.
  • *
*) val generateForExceptionDec : formatterEnv -> (Ast.region option * Ast.dec) -> ((string option * string) list * formatterEnv) (***************************************************************************) end smlsharp-1.2.0/src/smlformat/generator/main/FormatterGenerator.smi0000644 000000000000000000000146312050661606025540 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "Utility.smi" _require "Ast.smi" _require "FormatTemplate.smi" _require "FORMATTER_GENERATOR.sig" structure FormatterGenerator = struct type formatterEnv (= boxed) exception GenerationError of string * (int * int) val initialFormatterEnv : formatterEnv val addToFormatterEnv : formatterEnv -> string option * string * string -> formatterEnv val generateForDataTypeDec : formatterEnv -> Ast.region option * Ast.dec -> (string option * string) list * formatterEnv val generateForTypeDec : formatterEnv -> Ast.region option * Ast.dec -> (string option * string) list * formatterEnv val generateForExceptionDec : formatterEnv -> Ast.region option * Ast.dec -> (string option * string) list * formatterEnv end smlsharp-1.2.0/src/smlformat/generator/main/FormatterGenerator.sml0000644 000000000000000000017323612050661606025553 0ustar00rootroot0000000 0000000 (** * This module generates formatter code for types. * @author YAMATODANI Kiyoshi * @author Atsushi Ohori (refactored) * @copyright 2010, Tohoku University. * @version $Id: FormatterGenerator.sml,v 1.17 2007/06/30 11:04:42 kiyoshiy Exp $ *) structure FormatterGenerator : FORMATTER_GENERATOR = struct (***************************************************************************) open FormatTemplate structure U = Utility (***************************************************************************) datatype listElement = LIST of string list | ATOM of string type expList = listElement list fun normalize expList = foldr (fn (L, nil) => [L] | (LIST codeList1, LIST codeList2::rest) => LIST (codeList1@codeList2)::rest | (L,rest) => L::rest ) nil expList fun serialize nil = "nil" | serialize [ATOM s] = s | serialize (elem::L) = let val code = serialize L in case elem of LIST codeList => (U.interleaveString "::" codeList) ^ "::" ^ code | ATOM s => s ^ "@" ^ code end fun expListToCode L = serialize (normalize L) fun serializeExpElement E = case E of LIST codeList => (U.interleaveString "::" codeList) ^ ":: nil" | ATOM s => s (** cause of error raised by formatter genration *) datatype errorCause = (** no formatter for the specified type is included in the * formatter environment. *) FormatterOfTypeNotFound of string * string | (** The identifier is not included in the type environment. *) TypeOfIDNotFound of string | (** type pattern and defining type expression do not match. *) UnMatchPatternAndType of string | (** conflict in additional parameters, local formatter names, * IDs in type pattern *) NameConflict of string | (** unimplemented feature is required. *) Unimplemented of string | (** An ID in a custom format tag conflicts with type name or * datatype name. *) CustomFormatNameConflict of string | (** error about @ditto (EXPERIMENTAL EXTENSION by Ueno) *) DittoError of string (***************************************************************************) (** an exception raised in formatter genration *) exception GenerationError of string * (int * int) exception InternalError of errorCause (***************************************************************************) (** used as the prefix of name of generated formatters. *) val prefixOfLocalFormatterName = "format'_" (** used as the header of generated function code. *) val DefaultFunctionHeader = "fun" (** name of the structure which defined format expression type. *) val structureNameOfFormatExpression = "SMLFormat.FormatExpression" (** name of the structure which defined formatters for basic types. *) val structureNameOfBasicFormatters = "SMLFormat.BasicFormatters" (** used as prefix of name of elements of format expression. *) val prefixOfFormatExpressionName = structureNameOfFormatExpression ^ "." val DefaultFormatterExnRefName = structureNameOfBasicFormatters ^ ".format_exn_Ref" (** newline literal *) val newline = "\n" (** with space, no newline *) val spaceIndicator = Indicator{space = true, newline = NONE} (** no space, newline priority 1 *) val ns_1_Indicator = Indicator {space = false, newline = SOME{priority = Preferred 1}} (** with space, newline priority 1 *) val s_1_Indicator = Indicator {space = true, newline = SOME{priority = Preferred 1}} (** with space, deferred newline priority *) val s_d_Indicator = Indicator {space = true, newline = SOME{priority = Deferred}} (** used to group tyCon and its argument type expressions *) val assocOfTyConApp = {cut = false, strength = 10, direction = Left} val unknownRegion = (~1, ~1) (***************************************************************************) (** * get a message describing the cause of exceptions raised by this module. * @params errorCause * @param errorCause the exception raised by this module. * @return a message which describes the detail of the exception. *) fun getErrorCauseMessage errorCause = case errorCause of FormatterOfTypeNotFound (prefix, name) => if prefix = Ast.DefaultFormatterPrefix then "formatter of type not found: " ^ name else "formatter of type for prefix `" ^ prefix ^ "' not found: " ^ name | TypeOfIDNotFound name => "type of ID not found:" ^ name | UnMatchPatternAndType message => "pattern and type do not match:" ^ message | NameConflict name => "name conflicts:" ^ name | Unimplemented message => "unimplemented:" ^ message | CustomFormatNameConflict name => "custom format tag conflicts with tyCon name:" ^ name | DittoError message => message (** * translates an error into a GenerationError *) fun translateError (error, region) = case error of InternalError cause => GenerationError(getErrorCauseMessage cause, region) | GenerationError _ => error | otherError => GenerationError(General.exnMessage otherError, region) (** raised if two lists the zipEq receives are not equal length. * This exception is local. It should not be raised out of the SMLFormat lib. *) exception UnequalLengths (** * ListPair.zip plus length check. * @params (left, right) * @param left the list * @param right the another list * @return zipped list * @throws UnequalLengths if the left and right are not equal length. *) fun zipEq ([], _::_) = raise UnequalLengths | zipEq (_::_, []) = raise UnequalLengths | zipEq ([], []) = [] | zipEq (leftHead::leftTail, rightHead::rightTail) = (leftHead, rightHead) :: (zipEq (leftTail, rightTail)) (** * translate characters to be escaped into escape sequence. * @params string * @param string a string which may include characters to be escaped. * @return escaped string *) fun escapeString string = let fun escapeChar char = case char of #"\a" => [#"a", #"\\"] | #"\b" => [#"b", #"\\"] | #"\f" => [#"f", #"\\"] | #"\n" => [#"n", #"\\"] | #"\r" => [#"r", #"\\"] | #"\t" => [#"t", #"\\"] | #"\v" => [#"v", #"\\"] | #"\\" => [#"\\", #"\\"] | #"\"" => [#"\"", #"\\"] | _ => [char] fun escape [] chars = List.rev chars | escape (head::tail) chars = escape tail ((escapeChar head) @ chars) val escapedString = String.implode (escape (String.explode string) []) in escapedString end (****************************************) (** * get the name of a type variable. * @params ty * @param ty this must be an Ast.Tyv which might be wrapped in Ast.MarkTyv. * @return the name of the type variable *) fun getTyVarName (Ast.Tyv name) = name | getTyVarName (Ast.MarkTyv (tyv, _)) = getTyVarName tyv (** * get the name of the type constructor used to build a type expression. * @params ty * @param ty this must be an Ast.VarTy or Ast.ConTy which might be wrapped * in As.MarkTy * @return the name of the type constructor *) fun getTyConName ty = case ty of Ast.VarTy tv => getTyVarName tv | Ast.ConTy (ids, _) => U.interleaveString "." ids | Ast.MarkTy (ty, _) => getTyConName ty | _ => raise Fail "Bug: non VarTy or ConTy to getTyConName" (****************************************) (** * type of formatter environment. * @params (prefixOpt, tyExp) * @param prefixOpt namespace indicated by prefix * @param tyExp this must be a type variable or a constructor application. * @return name of the formatter by which values of the tyExp should be * formatted. *) type formatterEnv = (string * Ast.ty) -> string (** * empty formatter environment which fails on any search. *) val initialFormatterEnv : formatterEnv = fn (prefix, ty) => raise InternalError(FormatterOfTypeNotFound(prefix, getTyConName ty)) (** * adds an entry to the formatter environment. *

* This function registers a name of the formatter by which values of the * type built by the type constructor 'tyConName' should be formatted in * the namespace indicated by the 'prefixOpt'. *

* If the 'prefixOpt' is NONE, the formatter can be called * from any namespace. Otherwise, that is, if the 'prefixOpt' is * SOME p, the formatter is registered locally in the namespace * indicated by the p. *

* @params F (prefixOpt, tyConName, formatterName) * @param F formatter environment * @param prefixOpt NONE if the formatter to be added does not belong * to any namespace. * @param tyConName the name of type constructor * @param formatterName the name of formatter * @return a formatter environment extended with the new entry. *) fun addToFormatterEnv (F : formatterEnv) (NONE, tyconName, f) = (fn (prefix, ty) => if getTyConName ty = tyconName then f else F (prefix, ty)) | addToFormatterEnv (F : formatterEnv) (SOME prefix, tyconName, f) = (fn (prefix', ty) => if prefix = prefix' andalso getTyConName ty = tyconName then f else F (prefix', ty)) (** * append two formatter environments. * @params (left, right) * @param left the formatter environment to be explored first. * @param right the formatter environment to be explored when search in * the left fails. * @return a new formatter environment *) fun appendFormatterEnv ((F1 : formatterEnv), (F2 : formatterEnv)) = fn prefixAndTy => ((F1 prefixAndTy) handle InternalError(FormatterOfTypeNotFound _) => F2 prefixAndTy) (********************) (** * type of type environment. * @params id * @param id an identifier * @return the type expression bound to the id. *) type typeEnv = string -> Ast.ty (** empty type environment *) val initialTypeEnv : typeEnv = fn id => raise InternalError(TypeOfIDNotFound id) (** * adds a new entry to the type environment. * @params T (id, ty) * @param T the type environment to which the new entry is added. * @param id identifier * @param ty the type expression bound to the id * @return a new type environment. *) fun addToTypeEnv (T : typeEnv) (id, ty) = fn name => if name = id then ty else T name (********************) (** * type of additional parameter set * @params name * @param name the parameter name * @return true if the name is contained in the set. *) type parameterSet = string -> bool (** empty parameter set *) val initialParameterSet : parameterSet = fn paramName => false (** * adds a name of parameter to the parameter set. * @params P name * @param P the parameter set * @param name the name of parameter to be added * @return a new parameter set *) fun addToParameterSet (P : parameterSet) paramName = fn name => (name = paramName orelse P name) (********************) (** * generates an unique name which does not conflict with any name in params. *) fun generateUniqueName prefix params = let fun generate n = let val name = prefix ^ Int.toString n in if List.exists (fn x => x = name) params then generate (n + 1) else name end in generate 0 end (****************************************) (** * translates a format template into SML code. * @params (F, T, P, prefix) isDefault template * @param F the formatter environment * @param T the type environment * @param P the additional parameter set * @param prefix the prefix indicating the current namespace * @param isDefault true if this template is generated for default formatter * @param template a format template to be translated * @return a text of SML code which generates format expression * instantiated from the template. *) fun translateTemplate (F : formatterEnv, T : typeEnv, P : parameterSet, prefix : string) : bool -> template -> listElement = let fun codeOfIndicator {space, newline} = let val newlineCode = case newline of NONE => "NONE" | SOME{priority} => let val priorityCode = case priority of Preferred int => prefixOfFormatExpressionName ^ "Preferred" ^ "(" ^ Int.toString int ^ ")" | Deferred => prefixOfFormatExpressionName ^ "Deferred" in "SOME{" ^ "priority = " ^ priorityCode ^ "}" end in "{" ^ "space = " ^ Bool.toString space ^ ", " ^ "newline = " ^ newlineCode ^ "}" end fun codeOfAssoc NONE = "NONE" | codeOfAssoc (SOME{cut, strength, direction}) = let val directionCode = prefixOfFormatExpressionName ^ (case direction of Left => "Left" | Right => "Right" | Neutral => "Neutral") in "SOME{" ^ "cut = " ^ Bool.toString cut ^ ", " ^ "strength = " ^ Int.toString strength ^ ", " ^ "direction = " ^ directionCode ^ "}" end fun translate isDefault template = case template of Term arg => let val code = prefixOfFormatExpressionName ^ "Term" ^ "(" ^ (Int.toString (size arg)) ^ ","^ "\"" ^ (escapeString arg) ^ "\")" in LIST [code] end | Newline => let val code = prefixOfFormatExpressionName ^ "Newline" in LIST [code] end | Guard (assoc, templates) => let val templateCodes = map (translate isDefault) templates val templateCode = expListToCode templateCodes val assocCode = codeOfAssoc assoc val code = prefixOfFormatExpressionName ^ "Guard (" ^ assocCode ^ ", " ^ templateCode ^ " )" in LIST[code] end | Indicator arg => let val code = prefixOfFormatExpressionName ^ "Indicator" ^ "(" ^ (codeOfIndicator arg) ^ ")" in LIST[code] end | StartOfIndent indent => let val code = prefixOfFormatExpressionName ^ "StartOfIndent" ^ "(" ^ Int.toString indent ^ ")" in LIST[code] end | EndOfIndent => let val code = prefixOfFormatExpressionName ^ "EndOfIndent" in LIST[code] end | Instance instance => let val code = codeOfInstantiation false isDefault instance in ATOM code end | MarkTemplate(template, region) => (translate isDefault template handle error => raise translateError(error, region)) and codeOfInstantiation isArgPosition isDefault instance = (case instance of (Atom (id, tyid)) => ((* first, try formatting by using bound formatter *) let val formatter = case tyid of NONE => F (prefix, T(id)) | SOME tyid => F (prefix, Ast.VarTy(Ast.Tyv tyid)) in if isArgPosition then formatter else formatter ^ "(" ^ id ^ ")" end (* When any error occurs, check whether additional parameter * of the same name is declared. *) handle exn as (InternalError _) => if P(id) then id else raise exn) | (App(id, tyid, instances, templates)) => let val formatter = (case tyid of NONE => F(prefix, T(id)) | SOME tyid => F(prefix, Ast.VarTy(Ast.Tyv tyid))) handle exn as (InternalError _) => if P(id) then id else raise exn val instanceCodes = map (codeOfInstantiation true isDefault) instances val templateCodes = map (fn templates => let val expList = map (translate isDefault) templates in "(" ^ expListToCode expList ^ ")" end ) templates in formatter ^ "(" ^ (U.interleaveString "," (instanceCodes @ templateCodes)) ^ ")" ^ (if isArgPosition then "" else id) end | (MarkInstance(instance, region)) => (codeOfInstantiation isArgPosition isDefault instance handle error => raise (translateError(error, region)))) handle exn as (InternalError _) => if isDefault then if isArgPosition then "(fn _ => " ^ "[" ^ prefixOfFormatExpressionName ^ "Term(1, \"?\")" ^ "]" ^ ")" else "[" ^ prefixOfFormatExpressionName ^ "Term(1, \"?\")]" else raise exn fun generate isDefault template = let val expElememt = translate isDefault template val code = serializeExpElement expElememt in code end in translate end (** * pattern match of a type expression and a type pattern. * @params T (ty, typat) * @param T type environment * @param ty a type expression * @param typat a type pattern * @return a new type environment extended by the bindings generated by * pattern match. *) fun matchTyPat T (ty, (VarTyPat id)) = addToTypeEnv T (id, ty) | matchTyPat T (ty, WildTyPat) = T | matchTyPat T (ty, (TypedVarTyPat (id, typeID))) = (* ignore ty *) addToTypeEnv T (id, Ast.VarTy (Ast.Tyv typeID)) | matchTyPat T (Ast.RecordTy fieldTypes, RecordTyPat(fieldPats, flexible)) = foldl (fn ((label, typat), T) => case List.find (fn fieldType => #1 fieldType = label) fieldTypes of NONE => raise InternalError (UnMatchPatternAndType("label " ^ label ^ " not found")) | SOME(_, ty) => matchTyPat T (ty, typat)) T fieldPats | matchTyPat T (Ast.TupleTy tys, TupleTyPat typats) = (foldl (fn (pair, T) => matchTyPat T pair) T (zipEq (tys, typats)) handle UnequalLengths => raise InternalError (UnMatchPatternAndType("the number of elements mismatch."))) | matchTyPat T (ty as Ast.ConTy(_, tys), TyConTyPat(id, typats)) = (foldl (fn (pair, T) => matchTyPat T pair) (addToTypeEnv T (id, ty)) (zipEq (tys, typats)) handle UnequalLengths => raise InternalError (UnMatchPatternAndType("the number of arguments mismatch."))) | matchTyPat T (ty as Ast.ConTy(_, tys), TypedTyConTyPat(id, typats, typeID)) = (foldl (fn (pair, T) => matchTyPat T pair) (addToTypeEnv T (id, Ast.VarTy (Ast.Tyv typeID))) (zipEq (tys, typats)) handle UnequalLengths => raise InternalError (UnMatchPatternAndType("the number of arguments mismatch."))) | matchTyPat T (Ast.MarkTy(ty, _), typat) = matchTyPat T (ty, typat) | matchTyPat T (ty, MarkTyPat(typat, region)) = (matchTyPat T (ty, typat) handle error => raise (translateError(error, region))) | matchTyPat T _ = raise InternalError(UnMatchPatternAndType "type and pattern unmatch") (** * translates a type pattern to a pattern on expression. * @params tyPat * @param tyPat a type pattern * @return a text of SML code of pattern *) fun translateTyPatToExpPat (VarTyPat id) = id | translateTyPatToExpPat WildTyPat = "_" | translateTyPatToExpPat (TypedVarTyPat (id, _)) = id | translateTyPatToExpPat (RecordTyPat(fieldPats, flexible)) = "{" ^ (U.interleaveString ", " ((map (fn(label, typat) => label ^ " = " ^ (translateTyPatToExpPat typat)) fieldPats) @ (if flexible then ["..."] else []))) ^ "}" | translateTyPatToExpPat (TupleTyPat typats) = "(" ^ (U.interleaveString ", " (map translateTyPatToExpPat typats)) ^ ")" | translateTyPatToExpPat (TyConTyPat(id, typats)) = id | translateTyPatToExpPat (TypedTyConTyPat(id, typats, _)) = id | translateTyPatToExpPat (MarkTyPat(typat, _)) = translateTyPatToExpPat typat (** * translates a type and a format comment into SML code. * @params (F, T, P, prefix) (primaryTag, localTags, isDefault, id, ty) * @param F the formatter environment * @param T the type environment * @param P the additional parameter set * @param prefix the prefix indicating the current namespace * @param primaryTag the primary format tag * @param localTags the local format tags * @param isDefault true if formatTags are generated by default * @param id the name of the variable to which the value to be formatted * would be bound. * @param ty type expression * @return a text of SML code which generates a list of format expressions * which encode the value bound to the id according to * the format tags. *) fun translateType (F, P, prefix) ( formatTag : formattag, localFormatTags : formattag list, isDefault, id, ty ) = let fun encloseInList strings = "(List.concat[" ^ (U.interleaveString ",\n " strings) ^ "])" val T = matchTyPat initialTypeEnv (ty, #typepat formatTag) val (T,Ts) = let val TTS = List.rev (foldl (fn ({id = SOME(id), typepat, ...}, Ts as (T::_)) => (matchTyPat T (T(id), typepat)) :: Ts | _ => raise Fail "Bug: NONE of id in localFormatTags" ) [T] localFormatTags) in case TTS of T::TS => (T, TS) | _ => raise Fail "Bug: impossible" end val formatterNames = map (fn {id = SOME(id), ...} => prefixOfLocalFormatterName ^ id | _ => raise Fail "Bug: NONE id in localFomatTags" ) localFormatTags val (F0,Fs) = let val F0Fs = foldr (fn (({id = SOME(id), ...}, formatterName), Fs as (F::_)) => (addToFormatterEnv F (SOME prefix, id, formatterName)) :: Fs | _ => raise Fail "Bug: NONE id in localFomatTags" ) [F] (zipEq (localFormatTags, formatterNames)) in case F0Fs of F0::Fs => (F0, Fs) | _ => raise Fail "Bug: nil F0Fs" end val (T',Ts') = let fun addAllIdsToTypeEnv T ids = foldr (fn(id, T) => addToTypeEnv T (id, Ast.VarTy (Ast.Tyv id))) T ids val T'Ts' = (List.rev o #2) (foldl (fn (T, ([], Ts)) => ([], T :: Ts) | (T, (ids, Ts)) => (tl ids, (addAllIdsToTypeEnv T ids) :: Ts)) (map (fn {id=SOME(id),...} => id | _ => raise Fail "Bug: NONE id in localFomatTags" ) localFormatTags, []) (T::Ts)) in case T'Ts' of T'::Ts' => (T',Ts') | _ => raise Fail "Bug: nil T'sTs'" end val expList = map (translateTemplate (F0, T', P, prefix) isDefault) (#templates formatTag) val exp = expListToCode expList (* val exp = encloseInList (map (translateTemplate (F0, T', P, prefix) isDefault) (#templates formatTag)) *) val exps = map (fn ((F, T), {templates, ...}) => let val expList = map (translateTemplate (F, T, P, prefix) isDefault) templates val exp = expListToCode expList in exp (* encloseInList (map (translateTemplate (F, T, P, prefix) isDefault) templates) *) end ) (zipEq (zipEq (Fs, Ts'), localFormatTags)) val pat = translateTyPatToExpPat (#typepat formatTag) val pats = map (fn {typepat, ...} => translateTyPatToExpPat typepat) localFormatTags val funs = List.rev (* formatter for inner most localtag is defined first.*) (map (fn (formatterName, (pat, exp)) => "fun " ^ formatterName ^ " " ^ pat ^ " = " ^ exp ^ " ") (zipEq (formatterNames, zipEq (pats, exps)))) in case funs of nil => "case " ^ id ^ " of " ^ pat ^ " => " ^ newline ^ exp | _ => "case " ^ id ^ " of " ^ pat ^ " => " ^ newline ^ "let " ^ (U.interleaveString newline funs) ^ newline ^ "in " ^ exp ^ " end" end (****************************************) (** * generates default format tags for a type expression. * @params ty * @param ty a type expression * @return a pair of a primary format tag and a list of local format tags. *) fun generateDefaultFormatTags ty = let local val idSeed = ref 0 in fun getNewID () = (idSeed := !idSeed + 1; "x" ^ (Int.toString (!idSeed))) end fun tyconIsList ty = case getTyConName ty of "list" => true | "List.list" => true | _ => false fun generate ty = case ty of Ast.VarTy (tv) => let val varName = getNewID () in ( { id = NONE, typepat = VarTyPat varName, templates = [Guard(NONE, [Instance(Atom(varName, NONE))])] }, [] ) end | Ast.ConTy (["->"], [t1, t2]) => let val varName = getNewID () val templates = [Term "<>"] in ( { id = NONE, typepat = VarTyPat varName, templates = templates }, [] ) end | Ast.ConTy (qid, []) => let val varName = getNewID () val template = Instance(Atom(varName, NONE)) val templates = case qid of ["string"] => [Term "\"", template, Term "\""] | ["String", "string"] => [Term "\"", template, Term "\""] | _ => [template] in ( { id = NONE, typepat = VarTyPat varName, templates = [Guard(NONE, templates)] }, [] ) end | Ast.ConTy (qid, argTypes) => let val tyconVarName = getNewID() val idTypePairs = map (fn ty => (getNewID(), ty)) argTypes val localTags = List.concat (map (fn (id, argType) => let val ({typepat, templates, ...}, localTags) = generate argType in { id = SOME id, typepat = typepat, templates = templates } :: localTags end) idTypePairs) val typePat = TyConTyPat (tyconVarName, map (fn (id, _) => VarTyPat id) idTypePairs) val inst = Instance (App ( tyconVarName, NONE, map (fn (id, _) => Atom (id, NONE)) idTypePairs, if tyconIsList ty then [[Term ",", s_1_Indicator]] else [] )) val templates = [Guard ( NONE, if tyconIsList ty then [ Term "[", StartOfIndent 2, ns_1_Indicator, inst, EndOfIndent, ns_1_Indicator, Term "]" ] else [inst] )] in ( {id = NONE, typepat = typePat, templates = templates}, localTags ) end | Ast.RecordTy fields => let val labelVarTyTuples = map (fn (label, ty) => (label, getNewID(), ty)) fields val localTags = List.concat (map (fn (label, id, ty) => let val (typepat, templates, localTags) = case generate ty of ({id = NONE, typepat, templates}, localTags) => (typepat, templates, localTags) | _ => raise Fail "Bug: non NONE id of generate ty" in { id = SOME id, typepat = typepat, templates = templates } :: localTags end) labelVarTyTuples) val typePat = RecordTyPat ( map (fn (label, id, _) => (label, VarTyPat id)) labelVarTyTuples, false ) val templateRows = if List.null labelVarTyTuples then [] else List.rev (foldl (fn ((label, id, _), fieldTemps) => (Guard ( NONE, [ (Term label), s_d_Indicator, (Term "="), s_1_Indicator, Guard(NONE, [Instance(Atom (id, NONE))]) ] ):: s_1_Indicator:: (Term ","):: fieldTemps)) (case hd labelVarTyTuples of (label, id, _) => [ Guard ( NONE, [ Term label, s_d_Indicator, Term ("="), s_1_Indicator, (Guard(NONE, [Instance(Atom(id, NONE))])) ] ) ]) (tl labelVarTyTuples)) in ( { id = NONE, typepat = typePat, templates = [Guard ( NONE, [Term "{", StartOfIndent 2, ns_1_Indicator] @ templateRows @ [EndOfIndent, ns_1_Indicator, Term "}"] )] }, localTags ) end | Ast.TupleTy types => let val varTyTuples = map (fn ty => (getNewID(), ty)) types val localTags = List.concat (map (fn (id, ty) => let val (typepat, templates, localTags) = case generate ty of ({id = NONE, typepat, templates}, localTags) => (typepat, templates, localTags) | _ => raise Fail "Bug: non NONE id of generate ty" in { id = SOME id, typepat = typepat, templates = templates } :: localTags end) varTyTuples) val typePat = TupleTyPat (map (fn (id, _) => VarTyPat id) varTyTuples) val templateRows = if List.null varTyTuples then [] else List.rev (foldl (fn ((id, _), temps) => (Guard(NONE, [Instance(Atom (id, NONE))])):: s_1_Indicator:: (Term ","):: temps) (case hd varTyTuples of (id, _) => [Guard(NONE, [Instance(Atom(id, NONE))])]) (tl varTyTuples)) in ( { id = NONE, typepat = typePat, templates = [Guard ( NONE, [Term "(", StartOfIndent 2, ns_1_Indicator] @ templateRows @ [EndOfIndent, ns_1_Indicator, Term ")"] )] }, localTags ) end | Ast.MarkTy (ty, _) => generate ty in generate ty end (****************************************) fun findOneOf nil eq l = NONE | findOneOf (h::t) eq l = case List.find (eq h) l of x as SOME _ => x | NONE => findOneOf t eq l (** * generates a SML code which formats a value built by the specified * value constructor. * @params * (F, T, P, prefix, ditto) * argVar {formatComments, valConName, argTypeOpt} * @param F the formatter environment * @param T the type environment * @param P the additional parameter set * @param prefix the prefix indicating the current namespace * @param list of ditto prefixes (EXPERIMENTAL EXTENSION by Ueno) * @param argVar the name of variable which is bound to the argument to the * value constructor if the constructor takes an argument. * @param formatComments a list of defining format comments * @param valConName the name of the value constructor * @param argTypeOpt SOME ty if the value constructor requires * an argument of the type ty. * @return a text of SML code which generates a list of format expressions * which encode the value constructed by the valConName. *) fun generateForValConBind (F, P, prefix, ditto) argVarName {formatComments, valConName, argTypeOpt} = let fun isSamePrefix prefix (formatComment : Ast.definingFormatComment) = #prefix formatComment = prefix in case findOneOf (prefix::ditto) isSamePrefix formatComments of SOME {primaryTag, localTags, ...} => (case argTypeOpt of NONE => let fun encloseInList strings = "(List.concat[" ^ (U.interleaveString ", " strings) ^ "])" val expList = map (translateTemplate (F, initialTypeEnv, P, prefix) false) (#templates primaryTag) val exp = expListToCode expList in exp (* encloseInList (map (translateTemplate (F, initialTypeEnv, P, prefix) false) (#templates primaryTag)) *) end | SOME ty => translateType (F, P, prefix) (primaryTag, localTags, false, argVarName, ty)) | NONE => (* generate default formatter *) case argTypeOpt of NONE => "[" ^ prefixOfFormatExpressionName ^ "Term" ^ "(" ^ (Int.toString(size valConName)) ^ ", \"" ^ valConName ^ "\"" ^ ")" ^ "]" | SOME ty => let val ({id, typepat, templates}, localFormatTags) = generateDefaultFormatTags ty val formatTag = { id = id, typepat = typepat, templates = [Guard ( SOME assocOfTyConApp, Term(valConName) :: s_1_Indicator :: templates )] } in translateType (F, P, prefix) (formatTag, localFormatTags, true, argVarName, ty) end end (** * generates a SML code of body of formatter for the datatype binding. * @params (F, P, prefix, ditto) (formatterName, datatypeDef) * @param F the formatter environment * @param P the additional parameter set * @param prefix the prefix indicating the current namespace * @param list of ditto prefixes (EXPERIMENTAL EXTENSION by Ueno) * @param formatterName the name of formatter to generate * @param datatypeDef an AST node of the datatype definition generated by * the parser. * @return a text of SML code of formatter *) fun generateForDataTypeBind (F, formatParams, prefix, ditto) ( formatterName, {tyConName, tyvars, rhs = Ast.Constrs valconBinds, lazyp, innerHeaderFormatComments : Ast.innerHeaderFormatComment list} ) = let val localParams = List.concat (map #params innerHeaderFormatComments) val params = case localParams of nil => formatParams | _ => localParams val varNameForValConArg = generateUniqueName "x" params val varNameForFormatterArg = generateUniqueName "y" params val tyvarNames = map getTyVarName tyvars val formatterNames = map (fn tyvarName => prefixOfLocalFormatterName ^ tyvarName) tyvarNames val F' = foldl (fn ((tyvarName, formatterName), F) => addToFormatterEnv F (SOME prefix, tyvarName, formatterName)) F (zipEq (tyvarNames, formatterNames)) val P = foldl (fn (param, P) => addToParameterSet P param) initialParameterSet params val exps = map (generateForValConBind (F', P, prefix, ditto) varNameForValConArg) valconBinds val rules = map (fn ({valConName, argTypeOpt, ...}, exp) => valConName ^ (case argTypeOpt of NONE => "" | SOME ty => " " ^ varNameForValConArg ^ " ") ^ " => (" ^ exp ^ ")") (zipEq (valconBinds, exps)) in formatterName ^ (if (null formatterNames) andalso (null params) then " " else "(" ^ (U.interleaveString ", " (formatterNames @ params)) ^ ")") ^ " " ^ varNameForFormatterArg ^ " = " ^ "case " ^ varNameForFormatterArg ^ " of " ^ newline ^ (U.interleaveString (newline ^ " | ") rules) ^ newline end | generateForDataTypeBind (F, params, prefix, ditto) ( formatterName, {tyConName, tyvars, rhs = Ast.Repl replTyConName, lazyp, ...} ) = let val formatterOfRepl = F (prefix, Ast.ConTy(replTyConName, [])) in (* tyvars must be null, otherwise SML compiler would complain error. *) formatterName ^ " x = " ^ formatterOfRepl ^ " x" end (** * generates a SML code of body of formatter for a type binding. * @params (F, P, prefix, ditto) (formatterName, typeDef) * @param F the formatter environment * @param P the additional parameter set * @param prefix the prefix indicating the current namespace * @param list of ditto prefixes (EXPERIMENTAL EXTENSION by Ueno) * @param formatterName the name of formatter to generate * @param typeDef an AST node of the type definition generated by the parser. * @return a text of SML code of formatter *) fun generateForTypeBind (F, formatParams, prefix, ditto) (formatterName, {tyConName, tyvars, ty, formatComments, innerHeaderFormatComments : Ast.innerHeaderFormatComment list}) = let val localParams = List.concat (map #params innerHeaderFormatComments) val formatParams = case localParams of nil => formatParams | _ => localParams fun isSamePrefix prefix (formatComment : Ast.definingFormatComment) = #prefix formatComment = prefix val ((primaryTag, localTags), isDefault) = case findOneOf (prefix::ditto) isSamePrefix formatComments of NONE => (generateDefaultFormatTags ty, true) | SOME {primaryTag, localTags, ...} => ((primaryTag, localTags), false) val varNameForArg = generateUniqueName "x" formatParams val tyvarNames = map getTyVarName tyvars val formatterNames = map (fn tyvarName => prefixOfLocalFormatterName ^ tyvarName) tyvarNames val F' = foldl (fn ((tyvarName, formatterName), F) => addToFormatterEnv F (SOME prefix, tyvarName, formatterName)) F (zipEq (tyvarNames, formatterNames)) val P = foldl (fn (param, P) => addToParameterSet P param) initialParameterSet formatParams val exp = translateType (F', P, prefix) (primaryTag, localTags, isDefault, varNameForArg, ty) in formatterName ^ (if (null formatterNames) andalso (null formatParams) then " " else "(" ^ (U.interleaveString ", " (formatterNames @ formatParams)) ^ ")") ^ " " ^ varNameForArg ^ " = " ^ newline ^ exp ^ newline end (** * generates a SML code of body of formatter for the exception binding. * @params (F, P, prefix, ditto) formatterRefName exceptionDef * @param F the formatter environment * @param P the additional parameter set * @param prefix the prefix indicating the current namespace * @param ditto list of super-prefixes (EXPERIMENTAL EXTENSION by Ueno) * @param formatterRefName the name of formatter to generate * @param exceptionDef an AST node of the exception definition generated by * the parser. * @return a text of SML code of formatter *) fun generateForExceptionBind (F, formatParams, prefix, ditto) formatterRefName (Ast.EbGen {formatComments, exn, etype, innerHeaderFormatComments : Ast.innerHeaderFormatComment list}) = let val localParams = List.concat (map #params innerHeaderFormatComments) val params = case localParams of nil => formatParams | _ => localParams val formatExnName = F(prefix, Ast.ConTy(["exn"], [])) val varNameForValConArg = generateUniqueName "x" params val varNameForFormatterArg = generateUniqueName "y" params val P = foldl (fn (param, P) => addToParameterSet P param) initialParameterSet params val exp = generateForValConBind (F, P, prefix, ditto) varNameForValConArg { formatComments = formatComments, valConName = exn, argTypeOpt = etype } val rule = exn ^ (case etype of NONE => "" | SOME ty => " " ^ varNameForValConArg ^ " ") ^ " => (" ^ exp ^ ")" val paramsList = if (null params) then " " else "(" ^ (U.interleaveString ", " params) ^ ")" in "local val prev_format = !" ^ formatterRefName ^ newline ^ "fun format " ^ paramsList ^ " " ^ varNameForFormatterArg ^ " = " ^ "case " ^ varNameForFormatterArg ^ " of " ^ newline ^ rule ^ newline ^ " | _ => prev_format " ^ varNameForFormatterArg ^ newline ^ "val _ = " ^ formatterRefName ^ " := format " ^ newline ^ "in end" ^ newline end | generateForExceptionBind (F, params, prefix, ditto) formatterRefName (Ast.EbDef{formatComments, exn, edef, innerHeaderFormatComments}) = (* formatter is not generated for EbDef *) if null formatComments andalso null innerHeaderFormatComments then "" else raise InternalError (Unimplemented "format comment for exception definition using other exception.") | generateForExceptionBind _ _ _ = raise Fail "Bug: illeagal param to generateForExceptionBind" (****************************************) (** * unwrap Ast.Tb. * @params tb * @param tb Ast.tb * @return an Ast.Tb *) fun getTb (Ast.MarkTb (tb, _)) = getTb tb | getTb (Ast.Tb tb) = tb (** * unwrap Ast.Db. * @params db * @param db Ast.db * @return an Ast.Db *) fun getDb (Ast.MarkDb (db, _)) = getDb db | getDb (Ast.Db db) = db (** * unwrap Ast.Eb. * @params eb * @param eb Ast.eb * @return an Ast.Eb *) fun getEb (Ast.MarkEb (eb, _)) = getEb eb | getEb eb = eb fun wrapInStructureAlias declaration = declaration (* fun wrapInStructureAlias declaration = "local structure " ^ aliasOfFormatExpressionStructure ^ " = " ^ structureNameOfFormatExpression ^ newline ^ " in " ^ declaration ^ " end " ^ newline *) (** * resolve ditto references. (EXPERIMENTAL EXTENSION by Ueno) * @params formatComments * @param formatComments * @return formatComments with complete list of ancestor prefixes and * inherited formatters. *) fun resolveDitto (formatComments : Ast.headerFormatComment list) = let fun error msg = raise InternalError(DittoError(msg)) fun find prefix = case List.find (fn {prefix=p,...} => p = prefix) formatComments of SOME x => x | NONE => error ("undefined prefix `"^prefix^"'") fun copyFormatters (fmt as {formatters, ditto, ...} : Ast.headerFormatComment) = { destinationOpt = #destinationOpt fmt, funHeaderOpt = #funHeaderOpt fmt, params = #params fmt, ditto = ditto, prefix = #prefix fmt, formatters = foldl (fn (prefix, z) => #formatters (find prefix) @ z) formatters ditto } : Ast.headerFormatComment val modified = ref false val newFormatComments = map (fn fmt as {ditto = nil, ...} => fmt | fmt as {prefix, ditto, ...} => case #ditto (find (List.last ditto)) of nil => fmt | l => case List.find (fn p => p = prefix) l of SOME _ => error ("ditto chain is looped: "^prefix) | NONE => (modified := true; { destinationOpt = #destinationOpt fmt, formatters = #formatters fmt, funHeaderOpt = #funHeaderOpt fmt, params = #params fmt, ditto = ditto @ l, prefix = prefix } : Ast.headerFormatComment)) formatComments in if !modified then resolveDitto newFormatComments else map copyFormatters newFormatComments end (** * generates SML code of the formatter for a datatype declaration. * * @params formatterEnv (regionOpt, dec) * @param formatterEnv the formatter environment * @param regionOpt the region of the dec * @param dec the datatype declaration * @return a pair of *
    *
  • a list of pairs of
      *
    • destination of generated code
    • *
    • SML code text of the formatters for the type
    • *
  • *
  • the new formatter environment extended with the generated * formatters.
  • *
*) fun generateForDataTypeDec F (regionOpt, Ast.DatatypeDec (decInfo as {formatComments, ...})) = (let val datatypeBinds = map getDb (#datatycs decInfo) val typeBinds = map getTb (#withtycs decInfo) val datatypeNames = map #tyConName datatypeBinds val typeNames = map #tyConName typeBinds fun isConflictWithTyConName name = List.exists (fn tyConName => name = tyConName) datatypeNames orelse List.exists (fn tyConName => name = tyConName) typeNames fun generate ( {destinationOpt, funHeaderOpt, formatters, params, prefix, ditto} : Ast.headerFormatComment, (formatterCodes, F) ) = let val funHeader = case funHeaderOpt of NONE => DefaultFunctionHeader | SOME header => header (* F' = local formatters + previously defined formatters *) val F' = foldl (fn ((typeName, formatterName), F) => if isConflictWithTyConName typeName then raise InternalError(CustomFormatNameConflict typeName) else addToFormatterEnv F (SOME prefix, typeName, formatterName)) F formatters (* build a formatter env which holds current defined formatters. *) val datatypeFormatterNames = map (fn tyConName => prefix ^ tyConName) datatypeNames val typeFormatterNames = map (fn tyConName => prefix ^ tyConName) typeNames (* F'' contains current defined formatters only. *) val F'' = foldl (fn ((tyConName, formatterName), F) => addToFormatterEnv F (SOME prefix, tyConName, formatterName)) initialFormatterEnv ((zipEq (datatypeNames, datatypeFormatterNames)) @ (zipEq (typeNames, typeFormatterNames))) (* F''' = current defined formatters * + local formatters * + previously defined formatters. *) val F''' = appendFormatterEnv (F'', F') (* generate codes of formatters for each datatype bindings. *) val tyconFormatters = (map (generateForDataTypeBind (F''', params, prefix, ditto)) (zipEq (datatypeFormatterNames, datatypeBinds))) @ (map (generateForTypeBind (F''', params, prefix, ditto)) (zipEq (typeFormatterNames, typeBinds))) in ( formatterCodes @ [( destinationOpt, wrapInStructureAlias (funHeader ^ " " ^ (U.interleaveString " \nand " tyconFormatters)) )], appendFormatterEnv (F'', F) (* excludes local formatters *) ) end val formatComments = resolveDitto formatComments in (* process left to right *) foldl generate ([], F) formatComments end handle error => raise (translateError ( error, if isSome regionOpt then valOf regionOpt else unknownRegion )) ) | generateForDataTypeDec _ _ = raise Fail "Bug: illeagal param to generateForDataTypeDec" (** * generates SML code of the formatter for a type declaration. * * @params formatterEnv (regionOpt, dec) * @param formatterEnv the formatter environment * @param regionOpt the region of the dec * @param dec the type declaration * @return a pair of *
    *
  • a list of pairs of
      *
    • destination of generated code
    • *
    • SML code text of the formatters for the type
    • *
  • *
  • the new formatter environment extended with the generated * formatters.
  • *
*) fun generateForTypeDec F (regionOpt, Ast.TypeDec {formatComments, tbs}) = (let val typeBinds = map getTb tbs val typeNames = map #tyConName typeBinds fun isConflictWithTyConName name = List.exists (fn tyConName => name = tyConName) typeNames fun generate ( {destinationOpt, funHeaderOpt, formatters, params, prefix, ditto} : Ast.headerFormatComment, (formatterCodes, F) ) = let val funHeader = case funHeaderOpt of NONE => DefaultFunctionHeader | SOME header => header (* F' = local formatters + previously defined formatters *) val F' = foldl (fn ((typeName, formatterName), F) => if isConflictWithTyConName typeName then raise InternalError(CustomFormatNameConflict typeName) else addToFormatterEnv F (SOME prefix, typeName, formatterName)) F formatters (* build a formatter env consisting of current defined * formatters.*) val formatterNames = map (fn name => prefix ^ name) typeNames val F'' = (* F'' contain only current defined formatters *) foldl (fn ((tyConName, formatterName), F) => addToFormatterEnv F (SOME prefix, tyConName, formatterName)) initialFormatterEnv (zipEq (typeNames, formatterNames)) (* F''' = current defined formatters * + local formatters * + previously defined formatters. *) val F''' = appendFormatterEnv (F'', F') (* generate codes of formatters for each type bindings. *) val tyconFormatters = map (generateForTypeBind (F''', params, prefix, ditto)) (zipEq (formatterNames, typeBinds)) in ( formatterCodes @ [( destinationOpt, wrapInStructureAlias (funHeader ^ " " ^ (U.interleaveString " \nand " tyconFormatters)) )], appendFormatterEnv (F'', F) (* excludes local formatters *) ) end val formatComments = resolveDitto formatComments in foldl generate ([], F) formatComments end handle error => raise (translateError ( error, if isSome regionOpt then valOf regionOpt else unknownRegion )) ) | generateForTypeDec _ _ = raise Fail "Bug: illeagal param to generateForTypeDec" (** * generates SML code of the formatter for a exception declaration. * * @params formatterEnv (regionOpt, dec) * @param formatterEnv the formatter environment * @param regionOpt the region of the dec * @param dec the exception declaration * @return a pair of *
    *
  • a list of pairs of
      *
    • destination of generated code
    • *
    • SML code text of the formatters for the exception
    • *
  • *
  • the new formatter environment extended with the generated * formatters.
  • *
*) fun generateForExceptionDec F (regionOpt, Ast.ExceptionDec {formatComments, ebs}) = (let val exceptionBinds = map getEb ebs fun generate ( {destinationOpt, funHeaderOpt, formatters, params, prefix, ditto} : Ast.headerFormatComment, (formatterCodes, F) ) = let val prefix = if prefix = Ast.DefaultFormatterPrefix then prefix else raise InternalError (Unimplemented "prefix for exception formatter.") val _ = case funHeaderOpt of NONE => DefaultFunctionHeader | SOME header => raise InternalError (Unimplemented "funheader for exception formatter.") (* F' = local formatters + previously defined formatters *) val F' = foldl (fn ((typeName, formatterName), F) => addToFormatterEnv F (SOME prefix, typeName, formatterName)) F formatters val formatterExnRefName = DefaultFormatterExnRefName (* generate codes of formatters for each type bindings. *) val exceptionFormatters = map (generateForExceptionBind (F', params, prefix, ditto) formatterExnRefName) exceptionBinds in ( formatterCodes @ [( destinationOpt, wrapInStructureAlias (U.interleaveString " \n " exceptionFormatters) )], F (* exclude local formatters. *) ) end val formatComments = resolveDitto formatComments in foldl generate ([], F) formatComments end handle error => raise translateError(error, Option.getOpt(regionOpt, unknownRegion)) ) | generateForExceptionDec _ _ = raise Fail "Bug: illeagal param to generateForExceptionDec" (***************************************************************************) end smlsharp-1.2.0/src/smlformat/generator/main/Main.smi0000644 000000000000000000000025312050661606022606 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "FormatterGenerator.smi" _require "PPGMain.smi" structure Main = struct val main : string * string list -> OS.Process.status end smlsharp-1.2.0/src/smlformat/generator/main/Main.sml0000644 000000000000000000000571412050661606022620 0ustar00rootroot0000000 0000000 (** * The entry point to smlformat for invocation as a standalone command. * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. * @version $Id: Main.sml,v 1.8 2008/08/10 13:44:01 kiyoshiy Exp $ *) structure Main = struct (***************************************************************************) local structure FG = FormatterGenerator in fun main(programName:string, commandLineArgs:string list) = let (* ToDo : use GetOpt library to process commandline arguments. *) val (options, sourceFileNames) = List.partition (String.isPrefix "--") commandLineArgs (* NOTE: Following code is not efficient, but we assume here * that so many command options are not given. *) val toStandardOut = List.exists (fn option => option = "--stdout") options val withLineDirective = List.exists (fn option => option = "--with-line-directive") options val (openOut, closeOut, removeOut) = if toStandardOut then (fn _ => TextIO.stdOut, fn _ => (), fn _ => ()) else ( fn sourceFileName => TextIO.openOut (sourceFileName ^ ".sml"), TextIO.closeOut, fn sourceFileName => OS.FileSys.remove (sourceFileName ^ ".sml") ) val _ = if List.null sourceFileNames then raise Fail "filename is required." else () in app (fn sourceFileName => let val sourceStream = TextIO.openIn sourceFileName in let val outputStream = openOut sourceFileName in PPGMain.main { sourceFileName = sourceFileName, sourceStream = sourceStream, destinationStream = outputStream, withLineDirective = withLineDirective } handle error => (closeOut outputStream; removeOut sourceFileName; raise error); closeOut outputStream end handle error => (TextIO.closeIn sourceStream; raise error); TextIO.closeIn sourceStream end) sourceFileNames; OS.Process.success end handle e => let val errorMessages = case e of PPGMain.Error messages => messages | _ => [General.exnMessage e] in ( app (fn message => print (message ^ "\n")) errorMessages; (* app (fn history => print (" " ^ history ^ "\n")) (SMLofNJ.exnHistory e); *) OS.Process.failure ) end end (***************************************************************************) end smlsharp-1.2.0/src/smlformat/generator/main/ml.grm0000644 000000000000000000011505712050661606022340 0ustar00rootroot0000000 0000000 (* ml.grm * * Copyright 1989,1992 by AT&T Bell Laboratories *) (* 2012-3-22 ohori defuncterized The only use is in MLParser as structure MLLrVals = MLLrValsFun(structure Token = LrParser.Token) added header and footer *) open Ast AstUtil FormatTemplate fun markexp (e, _, _) = e fun markdec(d as MarkDec _, _,_) = d | markdec(d,left,right) = MarkDec(d,(left,right)) fun marktypepat (p as MarkTyPat _, _, _) = p | marktypepat (p, left, right) = MarkTyPat(p, (left, right)) fun marktemplate (t as MarkTemplate _, _, _) = t | marktemplate (t, left, right) = MarkTemplate(t, (left, right)) fun markinstance (i as MarkInstance _, _, _) = i | markinstance (i, left, right) = MarkInstance(i, (left, right)) fun qidToString [id] = id | qidToString (head::tail) = head ^ "." ^ (qidToString tail) | qidToString _ = raise Fail "BUG:nil to qudToString" %% %decompose (true) %blocksize (40) %term EOF | SEMICOLON | ID of string | TYVAR of string | INT of int | INT0 of int | WORD of int | REAL of string | STRING of string | CHAR of string | ABSTYPE | AND | ARROW | AS | BAR | CASE | DATATYPE | DOTDOTDOT | ELSE | END | EQUALOP | EQTYPE | EXCEPTION | DO | DOT | DARROW | FN | FUN | FUNCTOR | HANDLE | HASH | IF | IN | INCLUDE | INFIX | INFIXR | LAZY | LET | LOCAL | NONFIX | OF | OP | OPEN | OVERLOAD | RAISE | REC | SHARING | SIG | SIGNATURE | STRUCT | STRUCTURE | THEN | TYPE | VAL | WHERE | WHILE | WILD | WITH | WITHTYPE (* SML# extensions *) | ATOM | BOXED | CAST | CDECL | DOUBLE | EXPORT | EXTERNAL | FFIAPPLY | IMPORT | SIZEOF | STDCALL | USEOBJ | ASTERISK | COLON | COLONGT | COMMA | LBRACE | LBRACKET | LPAREN | RBRACE | RBRACKET | RPAREN | ORELSE | ANDALSO | FUNSIG | VECTORSTART | BEGINQ | ENDQ of string | OBJL of string | AQID of string | FORMATCOMMENTSTART | FORMATCOMMENTEND | DITTOTAG | PREFIXTAG | FORMATTERTAG | FORMATPARAMSTAG | DESTINATIONTAG | HEADERTAG | FORMATTAG | LOCALFORMATTAG of string | NEWLINE | STARTOFINDENT of int | FORMATINDICATOR of { space : bool, newline : {priority : FormatTemplate.priority} option } | ASSOCINDICATOR of {cut : bool, strength : int, direction : FormatTemplate.assocDirection} %nonterm ident of string | id of string | int of int | op_op of unit | qid of string list | selector of string | tycon of string list | tlabel of (string * ty) | tlabels of (string * ty) list | ty' of ty | tuple_ty of ty list | ty of ty | ty0_pc of ty list | match of rule list | rule of rule | elabel of (string * exp) | elabels of (string * exp) list | exp_ps of exp list | exp of exp | app_exp of exp list | aexp of exp | exp_list of exp list | exp_2c of exp list | quote of exp list | ot_list of exp list | pat of pat | apat of pat | apat' of pat | plabel of (string * pat) | plabels of ((string * pat) list * bool) | pat_2c of pat list | pat_list of pat list | or_pat_list of pat list | vb of vb list | constraint of ty option | rvb of rvb list | fb' of clause list | fb of fb list | apats of pat list | clause of clause | tb of tb list | tyvars of tyvar list | tyvarseq of tyvar list | tyvar_pc of tyvar list | db of db list | dbrhs of dbrhs | constrs of { valConName:string, argTypeOpt:ty option, formatComments: definingFormatComment list } list | constr of { valConName:string, argTypeOpt:ty option, formatComments: definingFormatComment list } | ebs of eb list | eb of eb | qid_p of string list list | fixity of fixity | ldec of dec | exp_pa of exp list | ldecs of dec | ops of string list | spec_s of spec list | spec of spec list | idents of spec list | strspec of (string * sigexp * path option) list | fctspec of (string * fsigexp) list | tyspec of (string * tyvar list * ty option) list | valspec of (string * ty) list | exnspec of (string * ty option) list | sharespec of spec list | patheqn of string list list | whspec of wherespec list | sign of sigexp | sigconstraint_op of sigexp sigConst | fsigconstraint_op of fsigexp sigConst | sigb of sigb list | fsigb of fsigb list | fsig of fsigexp | str of strexp | arg_fct of (strexp * bool) list | strdec of dec | strdecs of dec | sdec of dec | sdecs of dec | sdecs' of dec | strb of strb list | fparam of string option * sigexp | fparamList of (string option * sigexp) list | fctb of fctb list | fct_exp of fsigexp sigConst -> fctexp | interdec of dec (* SML# extensions *) | cconv of unit | ffiApplyArg of unit | ffiApplyArgs of unit | ffiApplyArgSeq of unit | ffityrow of unit | ffityseq of unit | ffiArgs of unit | ffiContyArg of unit | ffiAtty of unit | ffitupleseq of unit | ffiTupleTy of unit | ffiFunArg of unit | ffiFunty of unit | fficconv of unit | ffity of unit (* SMLFormat extension *) | header_format_comment_list of headerFormatComment list | header_format_specs of headerFormatComment | inner_header_format_comment_list of innerHeaderFormatComment list | inner_header_format_specs of innerHeaderFormatComment | inner_header_format_spec of innerHeaderFormatComment | ditto_spec of string | prefix_spec of string | prefix_spec_opt of string | formatter_spec of string * string | formatparams_spec of string list | formatparam_list of string list | destination_spec of string | funheader_spec of string | defining_format_comment of definingFormatComment | defining_format_comment_list of definingFormatComment list | defining_format_comment_list_with_inners of innerHeaderFormatComment list * definingFormatComment list | formattag of formattag | localformattags of formattag list | localformattag of formattag | typepat of typepat | typepat' of typepat | tuple_typepat of typepat list | typepat_rows of (string * typepat) list * bool | typepat_field of string * typepat | atypepat of typepat | atypepat_list of typepat list | templates of template list | template of template | inst of instance | opt_typed of string option | insts of instance list | templates_comma_list of template list list %verbose %pos int %start interdec %eop EOF SEMICOLON %noshift EOF %nonassoc WITHTYPE %right AND %right ARROW %right DARROW %left DO %left ELSE %left RAISE %right HANDLE %right ORELSE %right ANDALSO %right AS %left COLON %name ML %keyword ABSTYPE AND AS CASE DATATYPE DOTDOTDOT ELSE END EQTYPE EXCEPTION DO DARROW FN FUN FUNCTOR HANDLE IF IN INCLUDE INFIX INFIXR LAZY LET LOCAL NONFIX OF OP OPEN OVERLOAD RAISE REC SHARING SIG SIGNATURE STRUCT STRUCTURE THEN TYPE VAL WHILE WHERE WITH WITHTYPE ORELSE ANDALSO %change -> VAL | -> THEN | -> ELSE | -> LPAREN | -> SEMICOLON | DARROW -> EQUALOP | EQUALOP -> DARROW | AND -> ANDALSO | COLON -> OF | SEMICOLON -> COMMA | COMMA -> SEMICOLON | -> IN ID END | -> ELSE ID %value ID ("BOGUS") %value TYVAR ("BOGUS") %value INT (1) %value INT0 (0) %value WORD (0) %value REAL ("0.0") %value STRING ("") %value CHAR ("a") %header (structure MLLrVals) %footer () %% int : INT (INT) | INT0 (INT0) id : ID (ID) | ASTERISK ("*") ident : ID (ID) | ASTERISK ("*") | EQUALOP ("=") op_op : OP () | () qid : ID DOT qid (ID :: qid) | ident ([ident]) selector: id (id) | INT (Int.toString INT) tycon : ID DOT tycon (ID :: tycon) | ID ([ID]) tlabel : selector COLON ty (selector, ty ) tlabels : tlabel COMMA tlabels (tlabel :: tlabels) | tlabel ([tlabel]) ty' : TYVAR (MarkTy (VarTy(Tyv(TYVAR)), (TYVARleft, TYVARright))) | LBRACE tlabels RBRACE (MarkTy(RecordTy tlabels, (LBRACEleft, RBRACEright))) | LBRACE RBRACE (RecordTy []) | LPAREN ty0_pc RPAREN tycon (MarkTy(ConTy(tycon, ty0_pc), (tyconleft, tyconright))) | LPAREN ty RPAREN (ty) | ty' tycon (MarkTy(ConTy(tycon, [ty']), (tyconleft, tyconright))) | tycon (MarkTy(ConTy(tycon, []), (tyconleft, tyconright))) tuple_ty : ty' ASTERISK tuple_ty (ty' :: tuple_ty) | ty' ASTERISK ty' ([ty'1, ty'2]) ty : tuple_ty (TupleTy(tuple_ty)) | ty ARROW ty (ConTy([arrowTycon], [ty1, ty2])) | ty' (ty') ty0_pc : ty COMMA ty ([ty1, ty2]) | ty COMMA ty0_pc (ty :: ty0_pc) match : rule ([rule]) | rule BAR match (rule :: match) rule : pat DARROW exp (Rule{pat = pat, exp = markexp(exp, expleft, expright)}) (* EXPRESSIONS *) elabel : selector EQUALOP exp (selector, exp) elabels : elabel COMMA elabels (elabel :: elabels) | elabel ([elabel]) exp_ps : exp ([exp]) | exp SEMICOLON exp_ps (exp :: exp_ps) exp : exp HANDLE match () | exp ORELSE exp () | exp ANDALSO exp () | exp COLON ty () | app_exp () | FN match () | CASE exp OF match () | WHILE exp DO exp () | IF exp THEN exp ELSE exp () | RAISE exp () (* SML# extension *) | exp COLON IMPORT ffity () | FFIAPPLY cconv aexp LPAREN ffiApplyArgs RPAREN COLON ffity () app_exp : aexp ([]) | aexp app_exp ([]) aexp : ident () |OP ident () | ID DOT qid () | int () | WORD () | REAL () | STRING () | CHAR () | HASH selector () | LBRACE elabels RBRACE () | LBRACE RBRACE () | LPAREN RPAREN () | LPAREN exp_ps RPAREN () | LPAREN exp_2c RPAREN () | LBRACKET exp_list RBRACKET () | LBRACKET RBRACKET () | VECTORSTART exp_list RBRACKET () | VECTORSTART RBRACKET () | LET ldecs IN exp_ps END () | AQID () | quote () quote : BEGINQ ENDQ ([]) | BEGINQ ot_list ENDQ ([]) ot_list : OBJL aexp ([]) | OBJL aexp ot_list ([]) exp_2c : exp COMMA exp_2c (exp :: exp_2c) | exp COMMA exp ([exp1, exp2]) exp_list : exp ([exp]) | exp COMMA exp_list (exp :: exp_list) pat : pat AS pat (layered(pat1, pat2)) | pat COLON ty (ConstraintPat{pattern=pat, constraint=ty}) | apats (FlatAppPat apats) apat : apat' (apat') | LPAREN pat RPAREN (pat) | id (VarPat [id]) | LPAREN RPAREN (unitPat) | LPAREN pat COMMA pat_list RPAREN (TuplePat(pat :: pat_list)) | LPAREN pat BAR or_pat_list RPAREN (OrPat(pat :: or_pat_list)) apat' : OP ident (VarPat [ident]) | ID DOT qid (VarPat (ID :: qid)) | int (IntPat int) | WORD (WordPat WORD) | STRING (StringPat STRING) | CHAR (CharPat CHAR) | WILD (WildPat) | LBRACKET RBRACKET (ListPat nil) | LBRACKET pat_list RBRACKET (ListPat pat_list) | VECTORSTART RBRACKET (VectorPat nil) | VECTORSTART pat_list RBRACKET (VectorPat pat_list) | LBRACE RBRACE (unitPat) | LBRACE plabels RBRACE (let val (d, f) = plabels in MarkPat (RecordPat{def = d, flexibility = f}, (LBRACEleft, RBRACEright)) end) plabel : selector EQUALOP pat ((selector, pat)) | ID (ID, VarPat [ID]) | ID AS pat (ID, LayeredPat{varPat = VarPat [ID], expPat = pat}) | ID COLON ty (ID, ConstraintPat{pattern = VarPat [ID], constraint = ty}) | ID COLON ty AS pat ( ID, LayeredPat { varPat = ConstraintPat{pattern = VarPat [ID], constraint = ty}, expPat=pat } ) plabels : plabel COMMA plabels (let val (a, (b, fx)) = (plabel, plabels) in (a :: b, fx) end) | plabel ([plabel], false) | DOTDOTDOT (nil, true) pat_list : pat ([pat]) | pat COMMA pat_list (pat :: pat_list) or_pat_list : pat ([pat]) | pat BAR or_pat_list (pat :: or_pat_list) vb : vb AND vb (vb1 @ vb2) | LAZY pat EQUALOP exp ([MarkVb(Vb{exp = exp, pat = pat, lazyp = true}, (patleft, expright))]) | pat EQUALOP exp ([MarkVb(Vb{exp = exp, pat = pat, lazyp = false}, (patleft, expright))]) constraint : (NONE) | COLON ty (SOME ty) rvb : id constraint EQUALOP exp ([ MarkRvb ( Rvb{var = id, resultty = constraint, exp = exp, lazyp = false}, (idleft, expright) ) ]) | OP id constraint EQUALOP exp ([ MarkRvb ( Rvb{var = id, resultty = constraint, exp = exp, lazyp = false}, (OPleft, expright) ) ]) | rvb AND rvb (rvb1 @ rvb2) | LAZY id constraint EQUALOP exp ([ MarkRvb ( Rvb{var = id, resultty = constraint, exp = exp, lazyp = true}, (idleft, expright) ) ]) | LAZY OP id constraint EQUALOP exp ([ MarkRvb ( Rvb{var = id, resultty = constraint, exp = exp, lazyp = true}, (OPleft, expright) ) ]) fb' : clause ([clause]) | clause BAR fb' (clause :: fb') fb : fb' ([MarkFb(Fb(fb', false), (fb'left, fb'right))]) | LAZY fb' ([MarkFb(Fb(fb', true), (fb'left, fb'right))]) | fb' AND fb (MarkFb(Fb(fb', false), (fb'left, fb'right)) :: fb) | LAZY fb' AND fb (MarkFb(Fb(fb', true), (fb'left, fb'right)) :: fb) apats : apat ([apat]) | apat apats (apat :: apats) clause : apats constraint EQUALOP exp (Clause { pats = apats, resultty = constraint, exp = markexp(exp, expleft, expright) }) tb : inner_header_format_comment_list tyvars ID EQUALOP defining_format_comment_list ty ([ MarkTb ( Tb { tyvars = tyvars, tyConName = ID, ty = ty, formatComments = defining_format_comment_list, innerHeaderFormatComments = inner_header_format_comment_list }, (tyleft, tyright) ) ]) | tb AND tb (tb1 @ tb2) tyvars : TYVAR ([MarkTyv(Tyv(TYVAR), (TYVARleft, TYVARright))]) | LPAREN tyvar_pc RPAREN (tyvar_pc) | (nil) tyvarseq : TYVAR ([MarkTyv(Tyv(TYVAR), (TYVARleft, TYVARright))]) | LPAREN tyvar_pc RPAREN (tyvar_pc) tyvar_pc : TYVAR ([MarkTyv(Tyv(TYVAR), (TYVARleft, TYVARright))]) | TYVAR COMMA tyvar_pc (MarkTyv(Tyv(TYVAR), (TYVARleft, TYVARright)) :: tyvar_pc) db : db AND db (db1 @ db2) | inner_header_format_comment_list tyvars ident EQUALOP dbrhs ([Db{tyConName = ident, tyvars = tyvars, rhs = dbrhs, lazyp = false, innerHeaderFormatComments = inner_header_format_comment_list }]) | inner_header_format_comment_list LAZY tyvars ident EQUALOP dbrhs ([Db{tyConName = ident, tyvars = tyvars, rhs = dbrhs, lazyp = true, innerHeaderFormatComments = inner_header_format_comment_list }]) dbrhs : constrs (Constrs constrs) | DATATYPE tycon (Repl tycon) constrs : constr ([constr]) | constr BAR constrs (constr :: constrs) constr : defining_format_comment_list op_op ident ({ formatComments = defining_format_comment_list, valConName = ident, argTypeOpt = NONE }) | defining_format_comment_list op_op ident OF ty ({ formatComments = defining_format_comment_list, valConName = ident, argTypeOpt = SOME ty }) ebs : eb ([eb]) | eb AND ebs (eb :: ebs) eb : defining_format_comment_list_with_inners op_op ident ( EbGen { formatComments = #2 defining_format_comment_list_with_inners, innerHeaderFormatComments = #1 defining_format_comment_list_with_inners, exn = (ident), etype = NONE } ) | defining_format_comment_list_with_inners op_op ident OF ty ( EbGen { formatComments = #2 defining_format_comment_list_with_inners, innerHeaderFormatComments = #1 defining_format_comment_list_with_inners, exn = (ident), etype = SOME ty } ) | defining_format_comment_list_with_inners op_op ident EQUALOP qid ( EbDef { formatComments = #2 defining_format_comment_list_with_inners, innerHeaderFormatComments = #1 defining_format_comment_list_with_inners, exn = ident, edef = qid } ) qid_p : qid ([qid]) | qid qid_p (qid :: qid_p) fixity : INFIX (INfix 0) | INFIX int (INfix int) | INFIXR (INfixR 0) | INFIXR int (INfixR int) | NONFIX (NONfix) ldec : VAL vb (ValDec(vb, nil)) | VAL tyvarseq vb (ValDec(vb, tyvarseq)) | VAL REC rvb (ValrecDec(rvb, nil)) | VAL REC tyvarseq rvb (ValrecDec(rvb, tyvarseq)) | FUN fb (FunDec(fb, nil)) | FUN tyvarseq fb (FunDec(fb, tyvarseq)) | header_format_comment_list TYPE tb (TypeDec {formatComments = header_format_comment_list, tbs = tb}) | header_format_comment_list DATATYPE db (DatatypeDec { formatComments = header_format_comment_list, datatycs = db, withtycs = [] }) | header_format_comment_list DATATYPE db WITHTYPE tb (DatatypeDec { formatComments = header_format_comment_list, datatycs = db, withtycs = tb }) | header_format_comment_list ABSTYPE db WITH ldecs END (AbstypeDec { formatComments = header_format_comment_list, abstycs = db, withtycs = [], bodyBeginPos = WITHright, body = ldecs }) | header_format_comment_list ABSTYPE db WITHTYPE tb WITH ldecs END (AbstypeDec { formatComments = header_format_comment_list, abstycs = db, withtycs = tb, bodyBeginPos = WITHright, body = ldecs }) | header_format_comment_list EXCEPTION ebs (ExceptionDec {formatComments = header_format_comment_list, ebs = ebs}) | OPEN qid_p (OpenDec qid_p) | fixity ops (FixDec{fixity = fixity, ops = ops}) | OVERLOAD ident COLON ty AS exp_pa (OvldDec(ident, ty, exp_pa)) exp_pa : exp ([exp]) | exp AND exp_pa (exp :: exp_pa) ldecs : (SeqDec nil) | ldec ldecs (makeSEQdec (markdec(ldec, ldecleft, ldecright), ldecs)) | SEMICOLON ldecs (ldecs) | LOCAL ldecs IN ldecs END ldecs (makeSEQdec ( markdec ( LocalDec ( markdec(ldecs1, ldecs1left, ldecs1right), markdec(ldecs2, ldecs2left, ldecs2right) ), LOCALleft, ENDright ), ldecs3 )) ops : ident ([ident]) | ident ops (ident :: ops) spec_s : ([]) | spec spec_s (spec @ spec_s) | SEMICOLON spec_s (spec_s) spec : STRUCTURE strspec ([StrSpec strspec]) | FUNCTOR fctspec ([FctSpec fctspec]) | DATATYPE db ([DataSpec{datatycs = db, withtycs = nil}]) | DATATYPE db WITHTYPE tb ([DataSpec{datatycs = db, withtycs = tb}]) | TYPE tyspec ([TycSpec(tyspec, false)]) | EQTYPE tyspec ([TycSpec(tyspec, true)]) | VAL valspec ([ValSpec valspec]) | EXCEPTION exnspec ([ExceSpec exnspec]) | SHARING sharespec (sharespec) | INCLUDE sign ([IncludeSpec sign]) | INCLUDE ident idents (IncludeSpec(VarSig(ident)) :: idents) idents : ident ([IncludeSpec(VarSig(ident))]) | ident idents (IncludeSpec(VarSig(ident)) :: idents) strspec : strspec AND strspec (strspec1 @ strspec2) | ident COLON sign ([(ident, sign, NONE)]) | ident COLON sign EQUALOP qid ([(ident, sign, SOME(qid))]) fctspec : fctspec AND fctspec (fctspec1 @ fctspec2) | ident fsig ([(ident, fsig)]) tyspec : tyspec AND tyspec (tyspec1 @ tyspec2) | tyvars ID ([(ID, tyvars, NONE)]) | tyvars ID EQUALOP ty ([(ID, tyvars, SOME ty)]) valspec : valspec AND valspec (valspec1 @ valspec2) | op_op ident COLON ty ([(ident, ty)]) exnspec : exnspec AND exnspec (exnspec1 @ exnspec2) | ident ([(ident, NONE)]) | ident OF ty ([(ident, SOME ty)]) sharespec : sharespec AND sharespec (sharespec1 @ sharespec2) | TYPE patheqn ([MarkSpec(ShareTycSpec(patheqn), (patheqnleft, patheqnright))]) | patheqn ([MarkSpec(ShareStrSpec(patheqn),(patheqnleft, patheqnright))]) patheqn : qid EQUALOP qid ([qid1, qid2]) | qid EQUALOP patheqn (qid :: patheqn) whspec : whspec AND whspec (whspec1 @ whspec2) | TYPE tyvars qid EQUALOP ty ([WhType(qid, tyvars, ty)]) | qid EQUALOP qid ([WhStruct(qid1, qid2)]) sign : ident (MarkSig(VarSig(ident), (identleft,identright))) | SIG spec_s END (MarkSig(BaseSig(spec_s), (spec_sleft, spec_sright))) | sign WHERE whspec (MarkSig(AugSig(sign, whspec), (signleft, whspecright))) sigconstraint_op : (NoSig) | COLON sign (Transparent(sign)) | COLONGT sign (Opaque(sign)) fsigconstraint_op : (NoSig) | COLON ident (Transparent(VarFsig (ident))) | COLONGT ident (Opaque(VarFsig (ident))) sigb : sigb AND sigb (sigb1 @ sigb2) | ident EQUALOP sign ([Sigb{name = ident, def = sign}]) fsigb : fsigb AND fsigb (fsigb1 @ fsigb2) | ident fparamList EQUALOP sign ([ Fsigb {name = ident, def = BaseFsig{param = fparamList, result = sign}} ]) fsig : COLON ident (VarFsig (ident)) | fparamList COLON sign (BaseFsig{param = fparamList, result = sign}) str : qid ((MarkStr(VarStr(qid), (qidleft, qidright)))) | STRUCT strdecs END (MarkStr(BaseStr strdecs, (STRUCTleft, ENDright))) | qid arg_fct (MarkStr(AppStr(qid, arg_fct), (qidleft, arg_fctright))) | LET strdecs IN str END (MarkStr(LetStr(strdecs, str), (LETleft, ENDright))) | str COLON sign (MarkStr(ConstrainedStr(str, Transparent sign), (strleft, signright))) | str COLONGT sign (MarkStr(ConstrainedStr(str, Opaque sign), (strleft, signright))) arg_fct : LPAREN strdecs RPAREN arg_fct ((MarkStr(BaseStr strdecs, (strdecsleft, strdecsright)), false) :: arg_fct) | LPAREN str RPAREN arg_fct ((str, true) :: arg_fct) | LPAREN str RPAREN ([(str, true)]) | LPAREN strdecs RPAREN ([(MarkStr(BaseStr strdecs, (strdecsleft, strdecsright)), false)]) strdecs : strdec strdecs (makeSEQdec (markdec(strdec, strdecleft, strdecright), strdecs)) | SEMICOLON strdecs (strdecs) | (SeqDec[]) sdecs : sdec sdecs (makeSEQdec (markdec(sdec, sdecleft, sdecright), sdecs)) | SEMICOLON sdecs (sdecs) | (SeqDec[]) sdecs' : sdec sdecs' (makeSEQdec (markdec(sdec, sdecleft, sdecright), sdecs')) | sdec (markdec(sdec, sdecleft, sdecright)) strdec : STRUCTURE strb (StrDec strb) | FUNCTOR fctb (FctDec fctb) | LOCAL strdecs IN strdecs END (LocalDec ( markdec(strdecs1, strdecs1left, strdecs1right), markdec(strdecs2,strdecs2left,strdecs2right) )) | ldec (markdec(ldec, ldecleft, ldecright)) sdec : STRUCTURE strb (StrDec strb) | SIGNATURE sigb (SigDec sigb) | FUNSIG fsigb (FsigDec fsigb) | FUNCTOR fctb (FctDec fctb) | LOCAL sdecs IN sdecs END (LocalDec ( markdec(sdecs1, sdecs1left, sdecs1right), markdec(sdecs2, sdecs2left, sdecs2right) )) | ldec (markdec(ldec, ldecleft, ldecright)) strb : ident sigconstraint_op EQUALOP str ([ MarkStrb ( Strb{name = ident, def = str, constraint = sigconstraint_op}, (identleft, strright) ) ]) | strb AND strb (strb1 @ strb2) fparam : ID COLON sign ((SOME(ID), sign)) | spec_s ((NONE, MarkSig(BaseSig(spec_s), (spec_sleft, spec_sright)))) fparamList : LPAREN fparam RPAREN ([fparam]) | LPAREN fparam RPAREN fparamList (fparam :: fparamList) fctb : ident fparamList sigconstraint_op EQUALOP str ([ MarkFctb ( Fctb { name = ident, def = BaseFct {params = fparamList, body=str, constraint = sigconstraint_op} }, (identleft, strright) ) ]) | ident fsigconstraint_op EQUALOP fct_exp ([ MarkFctb ( Fctb{name = ident, def = fct_exp (fsigconstraint_op)}, (identleft, fct_expright) ) ]) | fctb AND fctb (fctb1 @ fctb2) fct_exp : qid (fn constraint => VarFct(qid, constraint)) | qid arg_fct (fn constraint => MarkFct (AppFct(qid, arg_fct,constraint), (qidleft, arg_fctright))) | LET strdecs IN fct_exp END (fn constraint => MarkFct (LetFct(strdecs, fct_exp constraint), (LETleft, ENDright))) interdec : sdecs' (markdec(sdecs', sdecs'left, sdecs'right)) | exp (markdec ( ValDec([Vb{exp = exp, pat = VarPat itsym, lazyp = false}], nil), expleft, expright )) (*****************************************************************************) (* SML# specific rules. *) cconv : () | fficconv () (*********** foreign function interface *************) ffiApplyArg : app_exp COLON ffity () | SIZEOF LPAREN ty RPAREN () | SIZEOF LPAREN ty RPAREN ASTERISK aexp () ffiApplyArgSeq : ffiApplyArg () | ffiApplyArg COMMA ffiApplyArgSeq () ffiApplyArgs : () | ffiApplyArgSeq () (* FFI type representation *) ffityrow : ID COLON ffity () | ID COLON ffity COMMA ffityrow () ffityseq : ffity COMMA ffity () | ffity COMMA ffityseq () ffiArgs : ffiAtty () | LPAREN ffityseq RPAREN () ffiContyArg : () | ffiArgs () ffiAtty : LPAREN ffity RPAREN () | TYVAR () | ffiContyArg tycon () | LBRACE ffityrow RBRACE () | LBRACE RBRACE () ffitupleseq : ffiAtty ASTERISK ffiAtty () | ffiAtty ASTERISK ffitupleseq () ffiTupleTy : ffitupleseq () ffiFunArg : LPAREN RPAREN () | ffiArgs () | ffiTupleTy () ffiFunty : ffiFunArg ARROW ffity () | fficconv ffiFunArg ARROW ffity () fficconv : CDECL () | STDCALL () ffity : ffiAtty () | ffiFunty () | ffiTupleTy () (*****************************************************************************) (* SMLFormat specific rules. *) header_format_comment_list : ([]) | FORMATCOMMENTSTART header_format_specs FORMATCOMMENTEND header_format_comment_list (header_format_specs :: header_format_comment_list) header_format_specs : ({ destinationOpt = NONE, funHeaderOpt = NONE, formatters = [], params = [], ditto = [], prefix = Ast.DefaultFormatterPrefix }) | ditto_spec header_format_specs ({ destinationOpt = #destinationOpt header_format_specs, funHeaderOpt = #funHeaderOpt header_format_specs, formatters = #formatters header_format_specs, params = #params header_format_specs, ditto = [ditto_spec], prefix = #prefix header_format_specs }) | prefix_spec header_format_specs ({ destinationOpt = #destinationOpt header_format_specs, funHeaderOpt = #funHeaderOpt header_format_specs, formatters = #formatters header_format_specs, params = #params header_format_specs, ditto = #ditto header_format_specs, prefix = prefix_spec }) | formatter_spec header_format_specs ({ destinationOpt = #destinationOpt header_format_specs, funHeaderOpt = #funHeaderOpt header_format_specs, formatters = formatter_spec :: (#formatters header_format_specs), params = #params header_format_specs, ditto = #ditto header_format_specs, prefix = #prefix header_format_specs }) | formatparams_spec header_format_specs ({ destinationOpt = #destinationOpt header_format_specs, funHeaderOpt = #funHeaderOpt header_format_specs, formatters = #formatters header_format_specs, params = formatparams_spec @ (#params header_format_specs), ditto = #ditto header_format_specs, prefix = #prefix header_format_specs }) | destination_spec header_format_specs ({ destinationOpt = SOME destination_spec, funHeaderOpt = #funHeaderOpt header_format_specs, formatters = #formatters header_format_specs, params = #params header_format_specs, ditto = #ditto header_format_specs, prefix = #prefix header_format_specs }) | funheader_spec header_format_specs ({ destinationOpt = #destinationOpt header_format_specs, funHeaderOpt = SOME funheader_spec, formatters = #formatters header_format_specs, params = #params header_format_specs, ditto = #ditto header_format_specs, prefix = #prefix header_format_specs }) inner_header_format_comment_list : (* none *) ([]) | FORMATCOMMENTSTART inner_header_format_specs FORMATCOMMENTEND inner_header_format_comment_list (inner_header_format_specs :: inner_header_format_comment_list) | FORMATCOMMENTSTART FORMATCOMMENTEND inner_header_format_comment_list (inner_header_format_comment_list) inner_header_format_specs : inner_header_format_spec (inner_header_format_spec) | inner_header_format_spec inner_header_format_specs ({ formatters = #formatters inner_header_format_spec @ #formatters inner_header_format_specs, params = #params inner_header_format_spec @ #params inner_header_format_specs, prefix = case #prefix inner_header_format_spec of SOME x => SOME x | NONE => #prefix inner_header_format_specs }) inner_header_format_spec : formatparams_spec ({ formatters = nil, params = formatparams_spec, prefix = NONE }) (* FIXME: These tags will be enabled. | prefix_spec ({ formatters = nil, params = nil, prefix = SOME prefix_spec }) | formatter_spec ({ formatters = [formatter_spec], params = nil, prefix = NONE }) *) prefix_spec : PREFIXTAG ID (ID) ditto_spec : DITTOTAG ID (ID) prefix_spec_opt : (Ast.DefaultFormatterPrefix) | prefix_spec (prefix_spec) formatter_spec : FORMATTERTAG LPAREN qid RPAREN qid (qidToString qid1, qidToString qid2) formatparams_spec : FORMATPARAMSTAG LPAREN formatparam_list RPAREN (formatparam_list) formatparam_list : ID ([ID]) | ID COMMA formatparam_list (ID :: formatparam_list) destination_spec : DESTINATIONTAG STRING (STRING) funheader_spec : HEADERTAG STRING (STRING) defining_format_comment : FORMATCOMMENTSTART prefix_spec_opt formattag localformattags FORMATCOMMENTEND ({ prefix = prefix_spec_opt, primaryTag = formattag, localTags = localformattags }) defining_format_comment_list : ([]) | defining_format_comment_list defining_format_comment (defining_format_comment_list @ [defining_format_comment]) | defining_format_comment_list FORMATCOMMENTSTART FORMATCOMMENTEND (defining_format_comment_list) | defining_format_comment_list FORMATCOMMENTSTART prefix_spec_opt DITTOTAG FORMATCOMMENTEND (let val {primaryTag, localTags, ...} = List.last defining_format_comment_list in defining_format_comment_list @ [{ prefix = prefix_spec_opt, primaryTag = primaryTag, localTags = localTags }] end handle Empty => defining_format_comment_list) defining_format_comment_list_with_inners : (* none *) ((nil, nil)) | FORMATCOMMENTSTART inner_header_format_specs FORMATCOMMENTEND defining_format_comment_list_with_inners ( (inner_header_format_specs :: #1 defining_format_comment_list_with_inners, #2 defining_format_comment_list_with_inners) ) | defining_format_comment defining_format_comment_list_with_inners ( (#1 defining_format_comment_list_with_inners, defining_format_comment :: #2 defining_format_comment_list_with_inners) ) | FORMATCOMMENTSTART FORMATCOMMENTEND defining_format_comment_list_with_inners (defining_format_comment_list_with_inners) formattag : FORMATTAG LPAREN typepat RPAREN templates ({id = NONE, typepat = typepat, templates = templates}) | FORMATTAG templates (* typepat is dummy *) ({id = NONE, typepat = VarTyPat "_", templates = templates}) localformattags : ([]) | localformattag localformattags (localformattag :: localformattags) localformattag : LOCALFORMATTAG LPAREN typepat RPAREN templates ({ id = SOME(LOCALFORMATTAG), typepat = typepat, templates = templates }) typepat : tuple_typepat (marktypepat (TupleTyPat tuple_typepat, tuple_typepatleft, tuple_typepatright)) | typepat' (typepat') tuple_typepat : typepat' ASTERISK tuple_typepat (typepat' :: tuple_typepat) | typepat' ASTERISK typepat' ([typepat'1, typepat'2]) typepat' : LBRACE typepat_rows RBRACE (marktypepat(RecordTyPat typepat_rows, LBRACEleft, RBRACEright)) | LBRACE RBRACE (marktypepat(RecordTyPat ([], false), LBRACEleft, RBRACEright)) | LPAREN typepat RPAREN (marktypepat(typepat, LPARENleft, RPARENright)) | atypepat (marktypepat(atypepat, atypepatleft, atypepatright)) atypepat : LPAREN atypepat_list RPAREN ID (TyConTyPat(ID, atypepat_list)) | LPAREN atypepat_list RPAREN ID COLON ID (TypedTyConTyPat(ID1, atypepat_list, ID2)) | atypepat ID (TyConTyPat(ID, [atypepat])) | atypepat ID COLON ID (TypedTyConTyPat(ID1, [atypepat], ID2)) | ID (VarTyPat ID) | ID COLON ID (TypedVarTyPat (ID1, ID2)) | WILD (WildTyPat) atypepat_list : atypepat COMMA atypepat_list (atypepat :: atypepat_list) | atypepat COMMA atypepat ([atypepat1, atypepat2]) typepat_rows : typepat_field COMMA typepat_rows (typepat_field :: (#1 typepat_rows), #2 typepat_rows) | typepat_field ([typepat_field], false) | DOTDOTDOT ([], true) typepat_field : selector (selector, (VarTyPat selector)) | selector COLON typepat (selector, typepat) templates : template templates (template :: templates) | STARTOFINDENT templates RBRACKET templates (marktemplate ( StartOfIndent STARTOFINDENT, STARTOFINDENTleft, STARTOFINDENTright ) :: templates1 @ [marktemplate (EndOfIndent, RBRACKETleft, RBRACKETright)] @ templates2) | ([]) template : STRING (marktemplate(Term STRING, STRINGleft, STRINGright)) | NEWLINE (marktemplate(Newline, NEWLINEleft, NEWLINEright)) | ASSOCINDICATOR LBRACE templates RBRACE (marktemplate ( Guard(SOME(ASSOCINDICATOR), templates), ASSOCINDICATORleft, RBRACEright )) | LBRACE templates RBRACE (marktemplate(Guard(NONE, templates), LBRACEleft, RBRACEright)) | FORMATINDICATOR (marktemplate ( Indicator FORMATINDICATOR, FORMATINDICATORleft, FORMATINDICATORright )) | inst (marktemplate(Instance inst, instleft, instright)) inst : ID opt_typed (markinstance(Atom (ID, opt_typed), IDleft, opt_typedright)) | ID opt_typed LPAREN insts RPAREN LPAREN templates_comma_list RPAREN (markinstance (App(ID, opt_typed, insts, templates_comma_list),IDleft, RPARENright)) | ID opt_typed LPAREN RPAREN LPAREN templates_comma_list RPAREN (markinstance (App(ID, opt_typed, [], templates_comma_list), IDleft, RPARENright)) | ID opt_typed LPAREN insts RPAREN (markinstance(App(ID, opt_typed, insts, []), IDleft, RPARENright)) | ID opt_typed LPAREN RPAREN (markinstance(App(ID, opt_typed, [], []), IDleft, RPARENright)) opt_typed : (NONE) | COLON ID (SOME(ID)) insts : inst COMMA insts (inst :: insts) | inst ([inst]) templates_comma_list : templates COMMA templates_comma_list (templates :: templates_comma_list) | templates ([templates]) smlsharp-1.2.0/src/smlformat/generator/main/ml.grm.smi0000644 000000000000000000001651012050661606023121 0ustar00rootroot0000000 0000000 _require "../../../basis/main/StringCvt.smi" _require "../../../basis/main/List.smi" _require "../../../basis/main/String.smi" _require "../../../basis/main/Char.smi" _require "../../../basis/main/Array.smi" _require "../../../basis/main/ListPair.smi" _require "../../../basis/main/Int.smi" _require "../../../basis/main/General.smi" _require "../../../basis/main/binary-op.smi" (* _require "../../../basis.smi" *) _require "../../../ml-yacc-lib.smi" _require "Ast.smi" _require "AstUtil.smi" _require "FormatTemplate.smi" _require "ml.grm.sig" structure MLLrVals = struct structure ParserData = struct type pos = int type svalue (= boxed) type arg = unit type result = Ast.dec structure LrParser = struct type arg = arg type pos = pos type svalue = svalue structure LrTable = LrTable structure Token = struct type svalue = svalue type pos = pos structure LrTable = LrTable datatype token = TOKEN of LrTable.term * (svalue * pos * pos) val sameToken : token * token -> bool end structure Stream = struct type tok = Token.token type stream (= boxed) val streamify : (unit -> tok) -> stream val cons : tok * stream -> stream val get : stream -> tok * stream end exception ParseError val parse : {table : LrTable.table, lexer : Stream.stream, arg: arg, saction : int * Token.pos * (LrTable.state * (Token.svalue * Token.pos * Token.pos)) list * arg -> LrTable.nonterm * (Token.svalue * Token.pos * Token.pos) * (LrTable.state * (Token.svalue * Token.pos * Token.pos)) list, void : Token.svalue, ec : {is_keyword : LrTable.term -> bool, noShift : LrTable.term -> bool, preferred_change : (LrTable.term list * LrTable.term list) list, errtermvalue : LrTable.term -> Token.svalue, showTerminal : LrTable.term -> string, terms: LrTable.term list, error : string * Token.pos * Token.pos -> unit}, lookahead : int} -> Token.svalue * Stream.stream end structure Token = LrParser.Token structure LrTable = LrParser.LrTable structure Actions = struct val actions : int * pos * (LrTable.state * (svalue * pos * pos)) list * arg -> LrTable.nonterm * (svalue * pos * pos) * (LrTable.state *(svalue * pos * pos)) list val void : svalue val extract : svalue -> result end structure EC = struct val is_keyword : LrTable.term -> bool val noShift : LrTable.term -> bool val preferred_change : (LrTable.term list * LrTable.term list) list val errtermvalue : LrTable.term -> svalue val showTerminal : LrTable.term -> string val terms: LrTable.term list end val table : LrTable.table end structure Tokens = struct type pos = ParserData.pos type svalue = ParserData.svalue type token = ParserData.Token.token val ASSOCINDICATOR : {cut:bool, direction: FormatTemplate.assocDirection, strength:int} * pos * pos -> token val FORMATINDICATOR : {newline:{priority: FormatTemplate.priority} option, space:bool} * pos * pos -> token val STARTOFINDENT : int * pos * pos -> token val NEWLINE : pos * pos -> token val LOCALFORMATTAG : string * pos * pos -> token val FORMATTAG : pos * pos -> token val HEADERTAG : pos * pos -> token val DESTINATIONTAG : pos * pos -> token val FORMATPARAMSTAG : pos * pos -> token val FORMATTERTAG : pos * pos -> token val PREFIXTAG : pos * pos -> token val DITTOTAG : pos * pos -> token val FORMATCOMMENTEND : pos * pos -> token val FORMATCOMMENTSTART : pos * pos -> token val AQID : string * pos * pos -> token val OBJL : string * pos * pos -> token val ENDQ : string * pos * pos -> token val BEGINQ : pos * pos -> token val VECTORSTART : pos * pos -> token val FUNSIG : pos * pos -> token val ANDALSO : pos * pos -> token val ORELSE : pos * pos -> token val RPAREN : pos * pos -> token val RBRACKET : pos * pos -> token val RBRACE : pos * pos -> token val LPAREN : pos * pos -> token val LBRACKET : pos * pos -> token val LBRACE : pos * pos -> token val COMMA : pos * pos -> token val COLONGT : pos * pos -> token val COLON : pos * pos -> token val ASTERISK : pos * pos -> token val USEOBJ : pos * pos -> token val STDCALL : pos * pos -> token val SIZEOF : pos * pos -> token val IMPORT : pos * pos -> token val FFIAPPLY : pos * pos -> token val EXTERNAL : pos * pos -> token val EXPORT : pos * pos -> token val DOUBLE : pos * pos -> token val CDECL : pos * pos -> token val CAST : pos * pos -> token val BOXED : pos * pos -> token val ATOM : pos * pos -> token val WITHTYPE : pos * pos -> token val WITH : pos * pos -> token val WILD : pos * pos -> token val WHILE : pos * pos -> token val WHERE : pos * pos -> token val VAL : pos * pos -> token val TYPE : pos * pos -> token val THEN : pos * pos -> token val STRUCTURE : pos * pos -> token val STRUCT : pos * pos -> token val SIGNATURE : pos * pos -> token val SIG : pos * pos -> token val SHARING : pos * pos -> token val REC : pos * pos -> token val RAISE : pos * pos -> token val OVERLOAD : pos * pos -> token val OPEN : pos * pos -> token val OP : pos * pos -> token val OF : pos * pos -> token val NONFIX : pos * pos -> token val LOCAL : pos * pos -> token val LET : pos * pos -> token val LAZY : pos * pos -> token val INFIXR : pos * pos -> token val INFIX : pos * pos -> token val INCLUDE : pos * pos -> token val IN : pos * pos -> token val IF : pos * pos -> token val HASH : pos * pos -> token val HANDLE : pos * pos -> token val FUNCTOR : pos * pos -> token val FUN : pos * pos -> token val FN : pos * pos -> token val DARROW : pos * pos -> token val DOT : pos * pos -> token val DO : pos * pos -> token val EXCEPTION : pos * pos -> token val EQTYPE : pos * pos -> token val EQUALOP : pos * pos -> token val END : pos * pos -> token val ELSE : pos * pos -> token val DOTDOTDOT : pos * pos -> token val DATATYPE : pos * pos -> token val CASE : pos * pos -> token val BAR : pos * pos -> token val AS : pos * pos -> token val ARROW : pos * pos -> token val AND : pos * pos -> token val ABSTYPE : pos * pos -> token val CHAR : string * pos * pos -> token val STRING : string * pos * pos -> token val REAL : string * pos * pos -> token val WORD : int * pos * pos -> token val INT0 : int * pos * pos -> token val INT : int * pos * pos -> token val TYVAR : string * pos * pos -> token val ID : string * pos * pos -> token val SEMICOLON : pos * pos -> token val EOF : pos * pos -> token end end smlsharp-1.2.0/src/smlformat/generator/main/ml.lex0000644 000000000000000000003244012050661606022335 0ustar00rootroot0000000 0000000 (* -*- sml-lex -*- * ml.lex * Copyright 1989 by AT&T Bell Laboratories *) structure Tokens = MLLrVals.Tokens type svalue = Tokens.svalue type pos = Tokens.pos type lexresult = Tokens.token type lexarg = { brack_stack : pos ref list ref, comLevel : int ref, currentLineNumber : int ref, error : (string * pos * pos) -> unit, inFormatComment : bool ref, lineMap : (int * (pos * pos)) list ref, lastNewLinePos : pos ref, stream : TextIO.instream, stringBuf : string list ref, stringStart : pos ref, stringType : bool ref } type arg = lexarg type token = MLLrVals.Tokens.token fun newline (arg:arg) yypos = (#lineMap arg := (!(#currentLineNumber arg), (!(#lastNewLinePos arg) + 1, yypos)):: (!(#lineMap arg)); #currentLineNumber arg := !(#currentLineNumber arg) + 1; #lastNewLinePos arg := yypos) val eof = fn ({comLevel, error, stringStart, lastNewLinePos, ...}:arg) => let val pos = Int.max(!stringStart+2, !lastNewLinePos) in if 0 < !comLevel then error ("unclosed comment", !stringStart, pos) else (); Tokens.EOF(pos,pos) end fun addString (stringBuf,s:string) = stringBuf := s :: (!stringBuf) fun addChar (stringBuf, c:char) = addString(stringBuf, String.str c) fun makeString stringBuf = (concat(rev(!stringBuf)) before stringBuf := nil) local fun cvt radix (s, i) = #1(valOf(Int.scan radix Substring.getc (Substring.triml i (Substring.full s)))) in val atoi = cvt StringCvt.DEC val xtoi = cvt StringCvt.HEX end (* local *) fun inc (ri as ref i) = (ri := i+1) fun dec (ri as ref i) = (ri := i-1) %% %reject %s A FC FCC S F Q AQ L LL LLC LLCQ; %header ( structure MLLex : ARG_LEXER ); %arg (arg as { brack_stack, comLevel, currentLineNumber, error, inFormatComment, lineMap, lastNewLinePos, stream, stringBuf, stringStart, stringType }); idchars=[A-Za-z'_0-9]; id=[A-Za-z]{idchars}*; ws=("\012"|[\t\ ])*; nrws=("\012"|[\t\ ])+; eol=("\013\010"|"\010"|"\013"); some_sym=[!%&$+/:<=>?@~|#*]|\-|\^; sym={some_sym}|"\\"; quote="`"; full_sym={sym}|{quote}; num=[0-9]+; positive=[1-9][0-9]*; frac="."{num}; exp=[eE](~?){num}; real=(~?)(({num}{frac}?{exp})|({num}{frac}{exp}?)); hexnum=[0-9a-fA-F]+; %% {ws} => (continue()); {eol} => (newline arg yypos; continue()); "_overload" => (REJECT()); "_atom" => (Tokens.ATOM(yypos,yypos+5)); "_boxed" => (Tokens.BOXED(yypos,yypos+6)); "_cast" => (Tokens.CAST(yypos,yypos+5)); "_cdecl" => (Tokens.CDECL(yypos,yypos+6)); "_double" => (Tokens.DOUBLE(yypos,yypos+7)); "_export" => (Tokens.EXPORT(yypos,yypos+7)); "_external" => (Tokens.EXTERNAL(yypos,yypos+9)); "_ffiapply" => (Tokens.FFIAPPLY(yypos,yypos+9)); "_import" => (Tokens.IMPORT(yypos,yypos+7)); "_sizeof" => (Tokens.SIZEOF(yypos,yypos+7)); "_stdcall" => (Tokens.STDCALL(yypos,yypos+8)); "_useobj" => (Tokens.USEOBJ(yypos,yypos+7)); "_" => (Tokens.WILD(yypos,yypos+1)); "," => (Tokens.COMMA(yypos,yypos+1)); "{" => (Tokens.LBRACE(yypos,yypos+1)); "}" => (Tokens.RBRACE(yypos,yypos+1)); "[" => (Tokens.LBRACKET(yypos,yypos+1)); "#[" => (Tokens.VECTORSTART(yypos,yypos+1)); "]" => (Tokens.RBRACKET(yypos,yypos+1)); ";" => (Tokens.SEMICOLON(yypos,yypos+1)); "(" => (if (null(!brack_stack)) then () else inc (hd (!brack_stack)); Tokens.LPAREN(yypos,yypos+1)); ")" => (if (null(!brack_stack)) then () else if (!(hd (!brack_stack)) = 1) then ( brack_stack := tl (!brack_stack); stringBuf := []; YYBEGIN Q) else dec (hd (!brack_stack)); Tokens.RPAREN(yypos,yypos+1)); "..." => (Tokens.DOTDOTDOT(yypos,yypos+3)); "." => (Tokens.DOT(yypos,yypos+1)); "'"("'"?)("_"|{num})?{id} => (TokenTable.checkTyvar(yytext,yypos)); {id} => (TokenTable.checkId(yytext, yypos)); {full_sym}+ => (TokenTable.checkSymId(yytext,yypos)); {sym}+ => (TokenTable.checkSymId(yytext,yypos)); {quote} => (error("quotation implementation error", yypos, yypos+1); Tokens.BEGINQ(yypos,yypos+1)); {real} => (Tokens.REAL(yytext,yypos,yypos+size yytext)); [1-9][0-9]* => (Tokens.INT(atoi(yytext, 0),yypos,yypos+size yytext)); {num} => (Tokens.INT0(atoi(yytext, 0),yypos,yypos+size yytext)); ~{num} => (Tokens.INT0(atoi(yytext, 0),yypos,yypos+size yytext)); "0x"{hexnum} => (Tokens.INT0(xtoi(yytext, 2),yypos,yypos+size yytext)); "~0x"{hexnum} => (Tokens.INT0(Int.~(xtoi(yytext, 3)),yypos,yypos+size yytext)); "0w"{num} => (Tokens.WORD(atoi(yytext, 2),yypos,yypos+size yytext)); "0wx"{hexnum} => (Tokens.WORD(xtoi(yytext, 3),yypos,yypos+size yytext)); \" => (stringBuf := [""]; stringStart := yypos; stringType := true; YYBEGIN S; continue()); \#\" => (stringBuf := [""]; stringStart := yypos; stringType := false; YYBEGIN S; continue()); "(*" => (YYBEGIN A; stringStart := yypos; comLevel := 1; continue()); "(*%" => (YYBEGIN FC; inFormatComment := true; stringStart := yypos; comLevel := 1; Tokens.FORMATCOMMENTSTART(yypos, yypos+size yytext)); "*)" => (error("unmatched close comment", yypos,yypos+1); continue()); \h => (error ("non-Ascii character", yypos,yypos); continue()); . => (error ("illegal token", yypos,yypos); continue()); "(*" => (YYBEGIN FCC; inc comLevel; continue()); "(*" => (inc comLevel; continue()); {eol} => (newline arg yypos; continue()); {eol} => (newline arg yypos; continue());
"*)" => (dec comLevel; if !comLevel=0 then (inFormatComment := false; YYBEGIN INITIAL) else (); continue()); "*)" => (dec comLevel; if !comLevel=1 then YYBEGIN FC else (); continue()); "*)" => (dec comLevel; if !comLevel=0 then (inFormatComment := false; YYBEGIN INITIAL; Tokens.FORMATCOMMENTEND(yypos,yypos+size yytext)) else continue()); . => (continue()); ^{ws}*"*)" => (dec comLevel; if !comLevel=0 then (inFormatComment := false; YYBEGIN INITIAL; Tokens.FORMATCOMMENTEND(yypos,yypos+size yytext)) else continue()); ^{ws}*"*" => (continue()); \" => (stringBuf := [""]; stringStart := yypos; stringType := true; YYBEGIN S; continue()); "@ditto" => (Tokens.DITTOTAG(yypos,yypos+size yytext)); "@prefix" => (Tokens.PREFIXTAG(yypos,yypos+size yytext)); "@formatter" => (Tokens.FORMATTERTAG(yypos,yypos+size yytext)); "@params" => (Tokens.FORMATPARAMSTAG(yypos,yypos+size yytext)); "@destination" => (Tokens.DESTINATIONTAG(yypos,yypos+size yytext)); "@header" => (Tokens.HEADERTAG(yypos,yypos+size yytext)); "@format" => (Tokens.FORMATTAG(yypos,yypos+size yytext)); "@format:"{id} => (Tokens.LOCALFORMATTAG(String.extract (yytext, 8, NONE),yypos,yypos+size yytext)); "\\n" => (Tokens.NEWLINE(yypos,yypos+size yytext)); ("~")?{num}"[" => (Tokens.STARTOFINDENT(atoi(yytext, 0), yypos, yypos+size yytext)); "+" => (Tokens.FORMATINDICATOR({space = true, newline = NONE}, yypos,yypos+size yytext)); "+"?("d"|{positive}) => (let val space = String.sub (yytext, 0) = #"+" val priorityText = if space then String.extract (yytext, 1, NONE) else yytext val priority = if priorityText = "d" then FormatTemplate.Deferred else FormatTemplate.Preferred (atoi(priorityText, 0)) val indicatorArg = {space = space, newline = SOME{priority = priority}} in Tokens.FORMATINDICATOR (indicatorArg, yypos, yypos+size yytext) end); "!"?[LRN]("~")?{num} => (let val (cut, directionCharPos, numStartPos) = if #"!" = String.sub (yytext, 0) then (true, 1, 2) else (false, 0, 1) val direction = case String.sub (yytext, directionCharPos) of #"L" => FormatTemplate.Left | #"R" => FormatTemplate.Right | #"N" => FormatTemplate.Neutral | _ => raise Fail "BUG: illeagal direction" val strength = atoi (yytext, numStartPos) in Tokens.ASSOCINDICATOR ({ cut = cut, strength = strength, direction = direction }, yypos, yypos+size yytext) end); {id} => (Tokens.ID(yytext,yypos,yypos+size yytext)); "'"({id}|{num})"'" => (Tokens.ID(String.substring(yytext,1,(size yytext)-2), yypos, yypos+size yytext)); "*" => (Tokens.ASTERISK(yypos,yypos+size yytext)); ":" => (Tokens.COLON(yypos,yypos+size yytext)); "," => (Tokens.COMMA(yypos,yypos+1)); "..." => (Tokens.DOTDOTDOT(yypos,yypos+3)); "." => (Tokens.DOT(yypos,yypos+1)); "{" => (Tokens.LBRACE(yypos,yypos+1)); "}" => (Tokens.RBRACE(yypos,yypos+1)); "]" => (Tokens.RBRACKET(yypos,yypos+1)); "(" => (Tokens.LPAREN(yypos,yypos+1)); ")" => (Tokens.RPAREN(yypos,yypos+1)); "_" => (Tokens.WILD(yypos,yypos+size yytext)); {ws} => (continue()); {eol} => (newline arg yypos; continue()); . => (error("ml lexer: bad character in format comment:"^yytext, yypos,yypos+1); continue()); \" => (let val s = makeString stringBuf val s = if size s <> 1 andalso not(!stringType) then (error("character constant not length 1", !stringStart,yypos); substring(s^"x",0,1)) else s val t = (s,!stringStart,yypos+1) in if !inFormatComment then YYBEGIN FC else YYBEGIN INITIAL; if !stringType then Tokens.STRING t else Tokens.CHAR t end); {eol} => (error ("unclosed string", !stringStart, yypos); newline arg yypos; YYBEGIN INITIAL; Tokens.STRING(makeString stringBuf,!stringStart,yypos)); \\{eol} => (newline arg (yypos+1); YYBEGIN F; continue()); \\{ws} => (YYBEGIN F; continue()); \\a => (addString(stringBuf, "\007"); continue()); \\b => (addString(stringBuf, "\008"); continue()); \\f => (addString(stringBuf, "\012"); continue()); \\n => (addString(stringBuf, "\010"); continue()); \\r => (addString(stringBuf, "\013"); continue()); \\t => (addString(stringBuf, "\009"); continue()); \\v => (addString(stringBuf, "\011"); continue()); \\\\ => (addString(stringBuf, "\\"); continue()); \\\" => (addString(stringBuf, "\""); continue()); \\\^[@-_] => (addChar(stringBuf, Char.chr(Char.ord(String.sub(yytext,2))-Char.ord #"@")); continue()); \\\^. => (error("illegal control escape; must be one of \ \@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_", yypos,yypos+2); continue()); \\[0-9]{3} => (let val x = Char.ord(String.sub(yytext,1))*100 +Char.ord(String.sub(yytext,2))*10 +Char.ord(String.sub(yytext,3)) -((Char.ord #"0")*111) in (if x>255 then error ("illegal ascii escape", yypos, yypos+4) else addChar(stringBuf, Char.chr x); continue()) end); \\ => (error ("illegal string escape", yypos, yypos+1); continue()); [\000-\031] => (error ("illegal non-printing character in string", yypos,yypos+1); continue()); ({idchars}|{some_sym}|\[|\]|\(|\)|{quote}|[,.;^{}])+|. => (addString(stringBuf,yytext); continue()); {eol} => (newline arg yypos; continue()); {ws} => (continue()); \\ => (YYBEGIN S; stringStart := yypos; continue()); . => (error ("unclosed string", !stringStart,yypos); YYBEGIN INITIAL; Tokens.STRING(makeString stringBuf,!stringStart,yypos+1)); "^`" => (addString(stringBuf, "`"); continue()); "^^" => (addString(stringBuf, "^"); continue()); "^" => (YYBEGIN AQ; let val x = makeString stringBuf in Tokens.OBJL(x,yypos,yypos+(size x)) end); "`" => ((* a closing quote *) YYBEGIN INITIAL; let val x = makeString stringBuf in Tokens.ENDQ(x,yypos,yypos+(size x)) end); {eol} => (newline arg yypos; addString(stringBuf,"\n"); continue()); . => (addString(stringBuf,yytext); continue()); {eol} => (newline arg yypos; continue()); {ws} => (continue()); {id} => (YYBEGIN Q; Tokens.AQID(yytext, yypos,yypos+(size yytext))); {sym}+ => (YYBEGIN Q; Tokens.AQID(yytext, yypos,yypos+(size yytext))); "(" => (YYBEGIN INITIAL; brack_stack := ((ref 1)::(!brack_stack)); Tokens.LPAREN(yypos,yypos+1)); . => (error ("ml lexer: bad character after antiquote "^yytext, yypos,yypos+1); Tokens.AQID("",yypos,yypos)); smlsharp-1.2.0/src/smlformat/generator/main/ml.lex.smi0000644 000000000000000000000162612050661606023126 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../ml-yacc-lib.smi" _require "FormatTemplate.smi" _require "TokenTable.smi" _require "ml.grm.sig" _require "ml.grm.smi" structure MLLex = struct structure UserDeclarations = struct type token = MLLrVals.Tokens.token type pos = MLLrVals.Tokens.pos type svalue = MLLrVals.Tokens.svalue type arg = { brack_stack : pos ref list ref, comLevel : int ref, currentLineNumber : int ref, error : (string * pos * pos) -> unit, inFormatComment : bool ref, lineMap : (int * (pos * pos)) list ref, lastNewLinePos : int ref, stream : TextIO.instream, stringBuf : string list ref, stringStart : pos ref, stringType : bool ref } end val makeLexer : (int -> string) -> UserDeclarations.arg -> unit -> UserDeclarations.token end smlsharp-1.2.0/src/smlformat/generator/main/MLPARSER.sig0000644 000000000000000000000226112050661606023142 0ustar00rootroot0000000 0000000 (** * parser of SML source code. * * @author 2001 Lucent Technologies, Bell Labs * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. * @version $Id: MLPARSER.sig,v 1.3 2004/10/20 02:50:56 kiyoshiy Exp $ *) signature MLPARSER = sig (***************************************************************************) (** * exception when any error in parse is found. *) exception ParseError of string (***************************************************************************) (** * parse a SML source file. * * @params (fileName, stream) * @param fileName the name of source file * @param stream the source stream of SML code * @return a pair of a list of declarations and a function which maps * the character position of its range to its line number and column * position in the line. * @exception ParseError if any error occurs in parsing. *) val parse : (string * TextIO.instream) -> (Ast.dec list * (int -> (int * int))) val getErrorMessage : string -> (int -> (int * int)) -> (string * (int * int)) -> string (***************************************************************************) end smlsharp-1.2.0/src/smlformat/generator/main/MLParser.smi0000644 000000000000000000000060412050661606023407 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../ml-yacc-lib.smi" _require "Ast.smi" _require "ml.grm.smi" _require "ml.lex.smi" _require "MLPARSER.sig" structure MLParser = struct exception ParseError of string val parse : string * TextIO.instream -> Ast.dec list * (int -> int * int) val getErrorMessage : string -> (int -> int * int) -> string * (int * int) -> string end smlsharp-1.2.0/src/smlformat/generator/main/MLParser.sml0000644 000000000000000000001345712050661606023424 0ustar00rootroot0000000 0000000 (** * implementation of SML source code parser. * * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. * @version $Id: MLParser.sml,v 1.6 2008/08/10 12:54:32 kiyoshiy Exp $ *) (* 2012-3-22 ohori defuncterized 1 inlined joinWith 2 parser-gen creates MLLrVals *) structure MLParser : MLPARSER = struct (* structure MLLrVals = MLLrValsFun(structure Token = LrParser.Token) *) structure ParserData = MLLrVals.ParserData structure MLParser : ARG_PARSER = struct structure Token = ParserData.Token structure LrParser = ParserData.LrParser structure Stream = LrParser.Stream exception ParseError = LrParser.ParseError type arg = ParserData.arg type lexarg = MLLex.UserDeclarations.arg type pos = ParserData.pos type result = ParserData.result type svalue = ParserData.svalue val makeLexer = fn s => fn arg => LrParser.Stream.streamify (MLLex.makeLexer s arg) val parse = fn (lookahead,lexer,error,arg) => (fn (a,b) => (ParserData.Actions.extract a,b)) (LrParser.parse {table = ParserData.table, lexer=lexer, lookahead=lookahead, saction = ParserData.Actions.actions, arg=arg, void= ParserData.Actions.void, ec = {is_keyword = ParserData.EC.is_keyword, noShift = ParserData.EC.noShift, preferred_change = ParserData.EC.preferred_change, errtermvalue = ParserData.EC.errtermvalue, error=error, showTerminal = ParserData.EC.showTerminal, terms = ParserData.EC.terms}} ) (* 2012-8-19 ohori: type annotation added. val sameToken = Token.sameToken *) fun sameToken (tokenPair: Token.token * Token.token) = Token.sameToken tokenPair end (***************************************************************************) exception EndOfParse exception ParseError of string (***************************************************************************) fun posToLocation (lineMap, lastNewLinePos, currentLineNumber) pos = let fun inRegion (_, (leftPos, rightPos)) = leftPos <= pos andalso pos <= rightPos in if !lastNewLinePos < pos then (!currentLineNumber, pos - !lastNewLinePos) else case List.find inRegion (!lineMap) of NONE => (~1, pos) (* ToDo : error message. *) | SOME(lineCount, (leftPos, _)) => (lineCount, pos - leftPos) end (* 2012-8-19 ohori: type annotation added *) fun getErrorMessage (fileName:string) (posToLocation: int -> int * int) (message:string, (beginPos:int, endPos:int)) = let val (beginLine, beginCol) = posToLocation beginPos val (endLine, endCol) = posToLocation endPos val errorMessage = String.concat [ fileName, ":", Int.toString beginLine, ".", Int.toString beginCol, "-", Int.toString endLine, ".", Int.toString endCol, " ", message ] in errorMessage end (****************************************) fun parse (fileName, sourceStream) = let type pos = int type lexarg = { brack_stack : int ref list ref, comLevel : int ref, currentLineNumber : int ref, error : (string * int * int) -> unit, inFormatComment : bool ref, lineMap : (int * (int * int)) list ref, lastNewLinePos : int ref, stream : TextIO.instream, stringBuf : string list ref, stringStart : pos ref, stringType : bool ref } local val lineMap = ref [] val currentLineNumber = ref 1 val lastNewLinePos = ref 0 in val posToLocation = posToLocation (lineMap, lastNewLinePos, currentLineNumber) fun onParseError (message, left, right) = let val fullMessage = getErrorMessage fileName posToLocation (message, (left, right)) in raise ParseError fullMessage end val initialArg = { brack_stack = ref [], comLevel = ref 0, currentLineNumber = currentLineNumber, error = onParseError, inFormatComment = ref false, stream = sourceStream, lineMap = lineMap, lastNewLinePos = lastNewLinePos, stringBuf = ref nil : string list ref, stringStart = ref 0, stringType = ref true } : lexarg end local val dummyEOF = MLLrVals.Tokens.EOF (0, 0) val dummySEMICOLON = MLLrVals.Tokens.SEMICOLON (0, 0) in fun oneParse lexer = let val (nextToken, lexer') = MLParser.Stream.get lexer in if MLParser.sameToken(nextToken, dummyEOF) then raise EndOfParse else if MLParser.sameToken(nextToken, dummySEMICOLON) then oneParse lexer' else MLParser.parse(0, lexer, onParseError, ()) end end fun untilEOF lexer results = let val (ast, lexer') = oneParse lexer in untilEOF lexer' (ast :: results) end handle EndOfParse => List.rev results fun getLine length = case TextIO.inputLine sourceStream of SOME x => x | NONE => "" val asts = untilEOF (MLParser.makeLexer getLine initialArg) [] in (asts, posToLocation) end (***************************************************************************) end smlsharp-1.2.0/src/smlformat/generator/main/PPGMain.smi0000644 000000000000000000000073312050661606023160 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "Utility.smi" _require "ErrorQueue.smi" _require "Ast.smi" _require "Constants_MLton.smi" _require "MLParser.smi" _require "FormatterGenerator.smi" _require "BasicFormattersEnv.smi" structure PPGMain = struct exception Error of string list val main : { sourceFileName : string, sourceStream : TextIO.instream, destinationStream : TextIO.outstream, withLineDirective : bool } -> unit end smlsharp-1.2.0/src/smlformat/generator/main/PPGMain.sml0000644 000000000000000000003216712050661606023171 0ustar00rootroot0000000 0000000 (** * top level module of smlformat. *

* The tasks of this module are *

    *
  • parses the source code
  • *
  • generates codes of formatters
  • *
  • outputs codes into a destination stream
  • *
*

* @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. * @version $Id: PPGMain.sml,v 1.14 2008/08/10 13:44:01 kiyoshiy Exp $ *) structure PPGMain : sig exception Error of string list val main : { sourceFileName : string, sourceStream : TextIO.instream, destinationStream : TextIO.outstream, withLineDirective : bool } -> unit end = struct (***************************************************************************) structure EQ = ErrorQueue structure FG = FormatterGenerator structure U = Utility (***************************************************************************) exception Error of string list (***************************************************************************) (** * get the offset of the end of region. * @params region * @param region a region gotten from ML-lex. * @return offset of the end of the region from the beginning of the source * code *) fun regionToEndPos (SOME((left, right) : Ast.region)) = SOME(right) | regionToEndPos NONE = NONE (** * adjust the position which ML-lex gives into the correct position *

* The 'yypos' generated by ML-lex equals to the actual offset from the * start of source code plus 2. (This is a bug of ML-lex ?) *

*) fun adjustLexPos lexpos = lexpos - Constants.INITIAL_POS_OF_LEXER (****************************************) (** * generates formatter codes for a declaration. * @params formatterEnv (regionOpt, dec) * @param formatterEnv the formatterEnv which contains previously defined * formatters. * @param regionOpt option of the region of the dec in the source code. * @param dec a declaration * @return a pair of *
    *
  • an updated formatterEnv
  • *
  • a list of pairs of *
      *
    • the position where to insert the generated formatter code. *
    • *
    • the generated code of formatter
    • *
    *
  • *
*) fun generateForDec F (regionOpt, dec) = (case dec of Ast.DatatypeDec {formatComments = _::_, ...} => let val (codes, F') = FG.generateForDataTypeDec F (regionOpt, dec) in (F', [(regionToEndPos regionOpt, codes)]) end | Ast.TypeDec {formatComments = _::_, ...} => let val (codes, F') = FG.generateForTypeDec F (regionOpt, dec) in (F', [(regionToEndPos regionOpt, codes)]) end | Ast.AbstypeDec { formatComments = formatComments as _::_, abstycs, withtycs, bodyBeginPos, body } => let val datatypeDec = Ast.DatatypeDec { formatComments = formatComments, datatycs = abstycs, withtycs = withtycs } val (codes, F') = FG.generateForDataTypeDec F (regionOpt, datatypeDec) in (F', [(SOME bodyBeginPos, codes)]) end | Ast.LocalDec (localDec, globalDec) => let val (F', codesForLocalDec) = generateForDec F (NONE, localDec) val (F'', codesForGlobalDec) = generateForDec F' (NONE, globalDec) val F''' = F'' (* ToDo : F'' = F + globalDec *) in (F''', codesForLocalDec @ codesForGlobalDec) end | Ast.SeqDec decs => foldl (fn (dec, (F, codes)) => let val (F', codes') = generateForDec F (NONE, dec) in (F', codes @ codes') end) (F, []) decs | Ast.StrDec structureBinds => let fun getStructureBind (regionOpt, Ast.Strb bind) = (regionOpt, bind) | getStructureBind (_, Ast.MarkStrb (bind, region)) = getStructureBind (SOME region, bind) in foldl (fn (bind, (F, codes)) => let val (regionOpt, {def, ...}) = getStructureBind (NONE, bind) val (F', codes') = generateForStructure F (regionOpt, def) in (F', codes @ codes') end) (F, []) structureBinds end | Ast.FctDec functorBinds => let fun getFunctorBind (regionOpt, Ast.Fctb bind) = (regionOpt, bind) | getFunctorBind (_, Ast.MarkFctb (bind, region)) = getFunctorBind (SOME region, bind) in foldl (fn (bind, (F, codes)) => let val (regionOpt, {def, ...}) = getFunctorBind (NONE, bind) val (F', codes') = generateForFunctor F (regionOpt, def) in (F', codes @ codes') end) (F, []) functorBinds end | Ast.MarkDec (dec, region) => generateForDec F (SOME region, dec) | Ast.ExceptionDec {formatComments = _::_, ...} => let val (codes, F') = FG.generateForExceptionDec F (regionOpt, dec) in (F', [(regionToEndPos regionOpt, codes)]) end | _ => (F, [])) handle exn as FG.GenerationError _ => (EQ.add (EQ.Error exn); (F, [])) (** * generates formatter codes for a structure. * @params formatterEnv (region, strexp) * @param formatterEnv the formatterEnv which contains previously defined * formatters. * @param region the region of the structure expression in the source code. * @param strexp the structure expression * @return a pair of *
    *
  • an updated formatterEnv
  • *
  • a list of pairs of *
      *
    • the region of declaration for which a formatter is generated *
    • *
    • the generated code of formatter
    • *
    *
  • *
*) and generateForStructure F (regionOpt, Ast.BaseStr dec) = generateForDec F (regionOpt, dec) | generateForStructure F (regionOpt, Ast.LetStr(dec, str)) = let val (F', codesForDec) = generateForDec F (NONE, dec) val (F'', codesForStr) = generateForStructure F' (NONE, str) in (F'', codesForDec @ codesForStr) end | generateForStructure F (_, Ast.MarkStr(strexp, region)) = generateForStructure F (SOME region, strexp) | generateForStructure F _ = (F, []) and generateForFunctor F (regionOpt, Ast.BaseFct {body,...}) = generateForStructure F (regionOpt, body) | generateForFunctor F (regionOpt, Ast.LetFct(dec, str)) = let val (F', codesForDec) = generateForDec F (NONE, dec) val (F'', codesForFct) = generateForFunctor F' (NONE, str) in (F'', codesForDec @ codesForFct) end | generateForFunctor F (_, Ast.MarkFct(fctexp, region)) = generateForFunctor F (SOME region, fctexp) | generateForFunctor F _ = (F, []) (****************************************) (** * generates a file which contains codes of formatters for the type/datatype * defined in the souce file. * * @params * {sourceFileName, sourceStream, destinationStream, withLineDirective} * @param sourceFileName name of the SML source file which contains * type/datatype declarations annotated with format comments. * @param sourceStream the stream of SML source code * @param destinationStream the stream to which the generated code is emit * @param withLineDirective if true, line directives should be inserted in * the result code to point positions in the original source code. * @return unit *) fun main {sourceFileName, sourceStream, destinationStream, withLineDirective} = let (* the all contents of source stream is pulled out here, * because the source code is scanned twice in the following process. *) val sourceCode = TextIO.inputAll sourceStream (* parse *) val (decs, posToLocation) = MLParser.parse (sourceFileName, TextIO.openString sourceCode) handle MLParser.ParseError message => raise Error [message] (* generates formatters *) val F = BasicFormattersEnv.basicFormattersEnv val _ = ErrorQueue.initialize () val (F, codes) = (foldl (fn(dec, (F, codes)) => let val (F, codes') = generateForDec F (NONE, dec) in (F, codes @ codes') end) (F, []) decs) val _ = case ErrorQueue.getAll () of [] => () | errors => let fun toString (EQ.Error(FG.GenerationError(message, region))) = MLParser.getErrorMessage sourceFileName posToLocation (message, region) | toString (EQ.Error exn) = raise Fail ("BUG: unknown exception:" ^ exnMessage exn) | toString _ = raise Fail "BUG: impossible exception" val messages = map toString errors in raise Error messages end local (* collect formatters for which the destination tag is specified. *) val customPositionCodes = foldl (fn ((_, codes), accum) => (List.filter (fn (SOME _, _) => true | _ => false) codes) @ accum) [] codes in (** * replaces anchor strings in the text with codes of formatters. * @params text * @param text a string in which anchor strings may be included * @return a new string *) fun replaceFormatters text = foldl (fn ((SOME anchor, code), text) => let val (_, newText) = U.replaceString anchor code text in newText end | _ => raise Fail "BUG: NONE of anchor text" ) text customPositionCodes end (** * outputs source code in which generated formatters are inserted at * appropriate location. * @params sourceStream readChars position texts codes * @param sourceStream the stream from which source code is read. * @param readChars the number of chars which have been read from * the source stream so far. * @param position current position * @param texts intermediate result of merge of source code and * generated code. They are in reversed order. * @param codes a list of codes of generated formatters * @return source code in which generated codes are inserted * at appropriate positions. *) fun merge sourceStream readChars pos texts = fn [] => rev ((TextIO.inputAll sourceStream) :: texts) | ((NONE, _) :: _) => raise Fail "BUG: cannot fix the location to insert a code." | ((SOME insertPosition, codes)::tail) => let val toCopy = (adjustLexPos insertPosition) - readChars val input = TextIO.inputN (sourceStream, toCopy) (* get pos at the end of input. *) val pos as (line, col) = CharVector.foldl (fn (c, (line, col)) => case c of #"\n" => (line + 1, 1) | _ => (line, col + 1)) pos input (* This line directive points at the end of input. *) val directive = if withLineDirective then String.concat ["(*#line ", Int.toString line, ".", Int.toString col, " \"", sourceFileName, "\"*)"] else "" val generatedCode = String.concat (U.interleave "\n" (map (fn (_, code) => code) (List.filter (fn (NONE, _) => true | _ => false) codes))) (* new texts are prepended. they are reversed at last. *) val newTexts = directive :: generatedCode :: (input ^ "\n") :: texts in merge sourceStream (readChars + toCopy) pos newTexts tail end val merged = merge (TextIO.openString sourceCode) 0 (1, 1) [] codes val replaced = map replaceFormatters merged in app (fn text => TextIO.output (destinationStream, text)) replaced end (***************************************************************************) end; smlsharp-1.2.0/src/smlformat/generator/main/TokenTable.smi0000644 000000000000000000000061012050661606023747 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" _require "../../../ml-yacc-lib.smi" _require "FormatTemplate.smi" _require "ml.grm.sig" _require "ml.grm.smi" structure TokenTable = struct val checkId : string * MLLrVals.Tokens.pos -> MLLrVals.Tokens.token val checkSymId : string * MLLrVals.Tokens.pos -> MLLrVals.Tokens.token val checkTyvar : string * MLLrVals.Tokens.pos -> MLLrVals.Tokens.token end smlsharp-1.2.0/src/smlformat/generator/main/TokenTable.sml0000644 000000000000000000001002012050661606023746 0ustar00rootroot0000000 0000000 (** * hash table for token recognition * @author COPYRIGHT (c) 1996 Bell Laboratories. * @author YAMATODANI Kiyoshi * @version $Id: TokenTable.sml,v 1.4 2006/12/31 07:44:27 kiyoshiy Exp $ *) local structure Tokens = MLLrVals.Tokens in structure TokenTable : sig val checkId : (string * Tokens.pos) -> Tokens.token val checkSymId : (string * Tokens.pos) -> Tokens.token val checkTyvar : (string * Tokens.pos) -> Tokens.token end = struct exception NotToken val symIdTbl = [ ("*" , fn yypos => Tokens.ASTERISK(yypos,yypos+1)), ("|" , fn yypos => Tokens.BAR(yypos,yypos+1)), (":" , fn yypos => Tokens.COLON(yypos,yypos+1)), (":>" , fn yypos => Tokens.COLONGT(yypos,yypos+1)), ("=" , fn yypos => Tokens.EQUALOP(yypos,yypos+1)), ("#" , fn yypos => Tokens.HASH(yypos,yypos+1)), ("->" , fn yypos => Tokens.ARROW(yypos,yypos+2)), ("=>" , fn yypos => Tokens.DARROW(yypos,yypos+2)) ] val idTbl = [ ("and" , fn yypos => Tokens.AND(yypos,yypos+3)), ("abstype" , fn yypos => Tokens.ABSTYPE(yypos,yypos+7)), ("as" , fn yypos => Tokens.AS(yypos,yypos+2)), ("case" , fn yypos => Tokens.CASE(yypos,yypos+4)), ("datatype" , fn yypos => Tokens.DATATYPE(yypos,yypos+8)), ("else" , fn yypos => Tokens.ELSE(yypos,yypos+4)), ("end" , fn yypos => Tokens.END(yypos,yypos+3)), ("eqtype" , fn yypos => Tokens.EQTYPE(yypos,yypos+6)), ("exception", fn yypos => Tokens.EXCEPTION(yypos,yypos+9)), ("do" , fn yypos => Tokens.DO(yypos,yypos+2)), ("fn" , fn yypos => Tokens.FN(yypos,yypos+2)), ("fun" , fn yypos => Tokens.FUN(yypos,yypos+3)), ("functor" , fn yypos => Tokens.FUNCTOR(yypos,yypos+7)), ("funsig" , fn yypos => Tokens.FUNSIG(yypos,yypos+7)), ("handle" , fn yypos => Tokens.HANDLE(yypos,yypos+6)), ("if" , fn yypos => Tokens.IF(yypos,yypos+2)), ("in" , fn yypos => Tokens.IN(yypos,yypos+2)), ("include" , fn yypos => Tokens.INCLUDE(yypos,yypos+7)), ("infix" , fn yypos => Tokens.INFIX(yypos,yypos+5)), ("infixr" , fn yypos => Tokens.INFIXR(yypos,yypos+6)), (* ("lazy" , fn yypos => Tokens.LAZY(yypos,yypos+4)), *) ("let" , fn yypos => Tokens.LET(yypos,yypos+3)), ("local" , fn yypos => Tokens.LOCAL(yypos,yypos+5)), ("nonfix" , fn yypos => Tokens.NONFIX(yypos,yypos+6)), ("of" , fn yypos => Tokens.OF(yypos,yypos+2)), ("op" , fn yypos => Tokens.OP(yypos,yypos+2)), ("open" , fn yypos => Tokens.OPEN(yypos,yypos+4)), (* ("overload" , fn yypos => Tokens.OVERLOAD(yypos,yypos+8)), *) ("raise" , fn yypos => Tokens.RAISE(yypos,yypos+5)), ("rec" , fn yypos => Tokens.REC(yypos,yypos+3)), ("sharing" , fn yypos => Tokens.SHARING(yypos,yypos+7)), ("sig" , fn yypos => Tokens.SIG(yypos,yypos+3)), ("signature", fn yypos => Tokens.SIGNATURE(yypos,yypos+9)), ("struct" , fn yypos => Tokens.STRUCT(yypos,yypos+6)), ("structure", fn yypos => Tokens.STRUCTURE(yypos,yypos+9)), ("then" , fn yypos => Tokens.THEN(yypos,yypos+4)), ("type" , fn yypos => Tokens.TYPE(yypos,yypos+4)), ("val" , fn yypos => Tokens.VAL(yypos,yypos+3)), ("where" , fn yypos => Tokens.WHERE(yypos,yypos+5)), ("while" , fn yypos => Tokens.WHILE(yypos,yypos+5)), ("with" , fn yypos => Tokens.WITH(yypos,yypos+4)), ("withtype" , fn yypos => Tokens.WITHTYPE(yypos,yypos+8)), ("orelse" , fn yypos => Tokens.ORELSE(yypos,yypos+6)), ("andalso" , fn yypos => Tokens.ANDALSO(yypos,yypos+7)) ] (* look-up an identifier. If the symbol is found, the corresponding token is * generated with the position of its begining. Otherwise it is a regular *) fun checkId (str, yypos) = let fun mkId () = Tokens.ID(str, yypos, yypos+size(str)) in case List.find (fn (s,_)=> s = str) idTbl of NONE => mkId() | SOME(_, tokFn) => tokFn yypos end fun checkSymId (str, yypos) = case List.find (fn(s,_)=>s=str) symIdTbl of SOME(_, tokFn) => tokFn yypos | NONE => Tokens.ID(str, yypos, yypos+size(str)) fun checkTyvar (str, yypos) = Tokens.TYVAR (str,yypos,yypos+size (str)) end end smlsharp-1.2.0/src/smlformat/generator/main/Utility.smi0000644 000000000000000000000126112050661606023365 0ustar00rootroot0000000 0000000 _require "../../../basis.smi" structure Utility = struct val interleave : 'a -> 'a list -> 'a list val interleaveString : string -> string list -> string val isPrefixOf : ''a list * ''a list -> bool val splitLast : 'a list -> 'a list * 'a val sort : ('a * 'a -> bool) -> 'a list -> 'a list val satisfyAny : ('a -> bool) list -> 'a -> bool val satisfyAll : ('a -> bool) list -> 'a -> bool val compareStringNoCase : string * string -> order exception MissingEscapedChar val tokenizeString : (char -> bool) -> string -> string list val replaceString : string -> string -> string -> int * string val replaceFile : (string * string) list -> string * string -> unit end smlsharp-1.2.0/src/smlformat/generator/main/Utility.sml0000644 000000000000000000002143612050661606023376 0ustar00rootroot0000000 0000000 (** * Utility functions independent of the specific applications. * * @author YAMATODANI Kiyoshi * @copyright 2010, Tohoku University. * @version $Id: Utility.sml,v 1.2 2004/10/20 02:50:57 kiyoshiy Exp $ *) structure Utility = struct (***************************************************************************) (** * interleave elements of a list with separators. * @params separator list * @param separator the separator * @param list the list * @return the list interleaved with separators *) fun interleave separator [] = [] | interleave separator strings = (rev (foldl (fn (string, strings) => string :: separator :: strings) [hd strings] (tl strings))) (** * Concat strings with separator. *

* String.concatWith in the SMLBasis library provides * the same functionality, but this function is not implemented by some * version of SML/NJ. *

* * @params separator strings * @param separator the separator * @param string the list of string * @return the concatenation of the strings using the separator *) fun interleaveString separator strings = String.concat (interleave separator strings) (** * indicates whether a list is a prefix of another list. * @params (left, right) * @param left left list * @param right right list * @return true if the left is a prefix of the * right. *) fun isPrefixOf ([], right) = true | isPrefixOf (_, []) = false | isPrefixOf (left::leftTail, right::rightTail) = left = right andalso isPrefixOf (leftTail, rightTail) (** * split a list into a pair of the elements but the last element and * the last element. *

* Example: *

splitLast [1, 2, 3, 4]
* returns *
([1, 2, 3], 4)
* * @params list * @param list a list * @return a pair of first n-1 elements and the last element if the * list has n elements. *) fun splitLast list = (List.take (list, List.length list - 1), List.last list) (** * sorts a list. *

* ToDo : use efficient algorithm. *

* @params comparator list * @param comparator a function which compares two elements in the list. * When applied to (left, right), it must return true if left < right. * @param list the list to be sorted. * @return the sorted list *) fun sort isBefore list = let fun insert (element, []) = [element] | insert (element, (head :: tail)) = if isBefore (element, head) then (element :: head :: tail) else head :: (insert (element, tail)) in foldl insert [] list end (** * build a predicator which is a disjunction of predicators. * @params conditions value * @param conditions a list of predicator whose type is 'a -> bool * * @param value the value to be examined. * @return true if any of conditions returns true when applied to the * value. *) fun satisfyAny conditions value = let fun f [] = false | f (condition::conditions) = if condition value then true else f conditions in f conditions end (** * build a predicator which is a conjunction of predicators. * @params conditions value * @param conditions a list of predicator whose type is 'a -> bool * * @param value the value to be examined. * @return true if all of conditions return true when applied to the * value. *) fun satisfyAll conditions value = let fun f [] = true | f (condition::conditions) = if condition value then f conditions else false in f conditions end (** * case-insensitive version of String.collate * @params (left, right) * @param left left string * @param right right string * @return order *) fun compareStringNoCase (left, right) = String.collate (fn (left, right) => Char.compare(Char.toUpper left, Char.toUpper right)) (left, right) (** * raised by the tokenizeString if the string ends with * a unescaped backslash. *) exception MissingEscapedChar (** * break a string into tokens (with escape interpretation facility). *

* Example: *

 tokenizeString Char.isSpace " --header=Generated\\ by\\ SMLDoc\\ 1.0 foo.sml "
   * 
* returns *
["--header=Generated by SMLDoc 1.0","foo.sml"]
   * 
* A charcter following a backslash is treated as an ordinary char. * @params isDelimiter string * @param isDelimiter a function which receive a character and returns true * if it is a delimiter char. * @param string a string * @exception MissingEscapedChar if the string ends a backslash which is * not escaped by preceding another backslash. *) fun tokenizeString isDelimiter string = let fun inDelimiter [] tokens = tokens | inDelimiter (c::chars) tokens = if isDelimiter c then inDelimiter chars tokens else (* NOTE : * If we write here as follows, * inToken chars [c] tokens * a token which begins with a '\' is not processed properly. * So, the 'c' is passed to 'inToken' and be checked again there. *) inToken (c::chars) [] tokens and inToken [] currentToken tokens = currentToken :: tokens | inToken [#"\\"] currentToken tokens = raise MissingEscapedChar | inToken (#"\\"::c::chars) currentToken tokens = inToken chars (c::currentToken) tokens | inToken (c::chars) currentToken tokens = if isDelimiter c then inDelimiter chars (currentToken::tokens) else inToken chars (c::currentToken) tokens in List.rev(map (implode o List.rev) (inDelimiter (explode string) [])) end local structure SS = Substring in (** * replaces string. *

* example: *

   * - Utility.replaceString "foo" "bar" "fooboofooboofoo";
   * val it = (3,"barboobarboobar") : int * string
   * 
*

* @params oldString newString string * @param oldString the string to be replaced * @param newString the string to be inserted * @return a pair of
    *
  • the number of replace performed
  • *
  • the string in which occurrences of oldString are * replaced with newString
  • *
*) fun replaceString oldString newString string = let val replacedCount = ref 0 val oldStringSize = String.size oldString val newSubstring = SS.extract (newString, 0, NONE) fun replace (substring, substrings) = let val (prefix, suffix) = SS.position oldString substring in if SS.size suffix = 0 then (prefix :: substrings) else ( replacedCount := (!replacedCount) + 1; replace ( SS.triml oldStringSize suffix, newSubstring :: prefix :: substrings ) ) end val resultString = SS.concat (rev (replace (SS.extract (string, 0, NONE), []))) in (!replacedCount, resultString) end (** * replaces strings in the contents of a file. * This function reads the contents of the source file and replaces the * occurrences of the first element of a pair in the * keyValuePairs with the second element of that pair. * The result of replace is output to the destination file. * * @params keyValuePairs (srcFileName, destFileName) * @param keyValuePairs a list of pairs of oldString and newString * @param srcFileName the name of source file * @param destFileName the name of destination file * @return unit *) fun replaceFile keyValuePairs (srcFileName, destFileName) = let val inStream = TextIO.openIn srcFileName in let val outStream = TextIO.openOut destFileName in let val newText = foldl (fn ((key, newString), text) => let val (_, resultText) = replaceString key newString text in resultText end) (TextIO.inputAll inStream) keyValuePairs val _ = TextIO.output (outStream, newText) in TextIO.closeOut outStream; TextIO.closeIn inStream end handle e => (TextIO.closeOut outStream; raise e) end handle e => (TextIO.closeIn inStream; raise e) end end (***************************************************************************) endsmlsharp-1.2.0/src/smlformat/README.txt0000644 000000000000000000000630712050661606020002 0ustar00rootroot0000000 0000000 SMLFormat (Pretty Printer for SML) @author YAMATODANI Kiyoshi @version $Id: README.txt,v 1.8 2007/04/12 05:50:27 kiyoshiy Exp $ This directory contains SMLFormat. This software has been developed as a part of the SML# project. It is distributed under the BSD-style SMLSharp license, which is included in the file LICENSE in this directory. For the details of SML# project, consult the web page at: http://www.pllab.riec.tohoku.ac.jp/smlsharp/ The SMLFormat consists of two components: formatlib (Pretty Printer library for SML) smlformat (Pretty Printer Generator for SML) The formatlib provides modules for pretty-printing of data structures. These modules define (a) the type of 'format expression' which is an intermediate code to format data into string (b) the functions which translate a format expression into its textual representation with indented and multilined as appropriate. The smlformat is a SML source code processor. It analyses SML source codes annotated with special comments which specify how to format values of the types by the format expressions. And it generates definitions of functions which translate data structures into its representation in the format expression. ======================================== Directories generator/ The formatter generator. It generates SML code of function definition which translates SML values into the intermediate form (= 'FormatExpression'). formatlib/ The pretty-printer library. The FormatExpression which the formatter function generates is translated into a text by this library. example/ MLParser/ A parser of SML core syntax. It prints the formatted representation of the SML code you input. FormatExpressionParser/ A parse of format expressions. It prints the formatted representation of the format expression you input. ======================================== Build 1) configure Specify the directory where SMLUnit is installed. $ ./configure --with-smlunit=/home/kiyoshiy/IMLProject/SMLUnit the directory path must be an absolute path. --with-smlunit is optional. If you won't run unit tests, simply: $ ./configure 2) invoke make command $ make 3) a batch file "smlformat" and a heap image file are generated in the bin directory. If you want to move the heap image file to other place, you have to edit "smlformat" command to use the new location of the heap image file. And, if you want to move this package to other location, sources.cm must be at the top of the install directory. Other packages, including SMLDoc and SML#, assume that this file is there. ======================================== Unit test of formatlib 1) configure with --with-smlunit specified. 2) cd formatlib/test. $ cd formatlib/test 3) start sml session. $ sml 4) compile project - CM.make(); 5) run test runner - TestMain.test(); ...................................................................................................................... tests = 118, failures = 0, errors = 0 Failures: Errors: val it = () : unit =============================================================================== smlsharp-1.2.0/src/smlformat-lib.smi0000644 000000000000000000000006112050661606017551 0ustar00rootroot0000000 0000000 include "smlformat/formatlib/main/SMLFormat.smi" smlsharp-1.2.0/src/smlnj0000755 000000000000000000000000012050661606015336 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/smlnj/Basis0000755 000000000000000000000000012050661606016377 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/smlnj/Basis/internal-timer.smi0000644 000000000000000000000176412050661606022132 0ustar00rootroot0000000 0000000 _require "../../basis/main/Time.smi" _require "../../basis/main/SMLSharpRuntime.smi" _require "../../basis/main/Int.smi" _require "../../basis/main/IntInf.smi" _require "../../basis/main/General.smi" _require "../../basis/main/TIMER.sig" structure SMLSharpSMLNJ_InternalTimer = struct datatype cpu_timer = CPUT of {nongc : { usr : Time.time, sys : Time.time }, gc : { usr : Time.time, sys : Time.time }} datatype real_timer = RealT of Time.time val startCPUTimer : unit -> cpu_timer val checkCPUTimes : cpu_timer -> {nongc : {usr : Time.time, sys : Time.time}, gc : {usr : Time.time, sys : Time.time}} val checkCPUTimer : cpu_timer -> {usr : Time.time, sys : Time.time} val checkGCTime : cpu_timer -> Time.time val totalCPUTimer : unit -> cpu_timer val startRealTimer : unit -> real_timer val checkRealTimer : real_timer -> Time.time val totalRealTimer : unit -> real_timer val resetTimers : unit -> unit end smlsharp-1.2.0/src/smlnj/Basis/internal-timer.sml0000644 000000000000000000000570212050661606022131 0ustar00rootroot0000000 0000000 _interface "internal-timer.smi" infix 7 * infix 6 + infix 4 = val op + = LargeInt.+ val op * = LargeInt.* structure CInterface = struct val getTimes = _import "prim_Timer_getTimes" : __attribute__((no_callback)) int array -> int fun c_function (_:string) (_:string) () = let val buf = SMLSharp.PrimArray.allocArray 6 val err = getTimes buf in if err = 0 then () else raise SMLSharpRuntime.OS_SysErr (); (SMLSharp.PrimArray.sub (buf, 0), (* sys sec *) SMLSharp.PrimArray.sub (buf, 1), (* sys msec *) SMLSharp.PrimArray.sub (buf, 2), (* usr sec *) SMLSharp.PrimArray.sub (buf, 3), (* usr msec *) SMLSharp.PrimArray.sub (buf, 4), (* gc sec *) SMLSharp.PrimArray.sub (buf, 5)) (* gc msec *) end end structure PreBasis = struct type time = Time.time end structure IntImp = Int structure Int32Imp = Int structure TimeImp = Time (* internal-timer.sml * * COPYRIGHT (c) 1995 AT&T Bell Laboratories. * *) (* structure InternalTimer : sig include TIMER val resetTimers : unit -> unit end = struct *) structure SMLSharpSMLNJ_InternalTimer = struct structure PB = PreBasis structure Int = IntImp structure Int32 = Int32Imp structure Time = TimeImp type time = { usr: PB.time, sys: PB.time } datatype cpu_timer = CPUT of { nongc: time, gc: time } datatype real_timer = RealT of PB.time local val gettime' : unit -> (Int32.int * int * Int32.int * int * Int32.int * int) = CInterface.c_function "SMLNJ-Time" "gettime" fun mkTime (s, us) = (* Time.fromMicroseconds (1000000 * Int32.toLarge s + Int.toLarge us) *) Time.fromMicroseconds (LargeInt.fromInt 1000000 * Int32.toLarge s + Int.toLarge us) in fun getTime () = let val (ts, tu, ss, su, gs, gu) = gettime' () in { nongc = { usr = mkTime (ts, tu), sys = mkTime (ss, su) }, gc = { usr = mkTime (gs, gu), sys = Time.zeroTime } } end end (* local *) fun startCPUTimer () = CPUT (getTime()) fun startRealTimer () = RealT (Time.now ()) local val initCPUTime = ref (startCPUTimer ()) val initRealTime = ref (startRealTimer ()) in fun totalCPUTimer () = !initCPUTime fun totalRealTimer () = !initRealTime fun resetTimers () = (initCPUTime := startCPUTimer (); initRealTime := startRealTimer ()) end (* local *) local infix -- ++ fun usop timeop (t: time, t': time) = { usr = timeop (#usr t, #usr t'), sys = timeop (#sys t, #sys t') } val op -- = usop Time.- val op ++ = usop Time.+ in fun checkCPUTimes (CPUT t) = let val t' = getTime () in { nongc = #nongc t' -- #nongc t, gc = #gc t' -- #gc t } end fun checkCPUTimer tmr = let val t = checkCPUTimes tmr in #nongc t ++ #gc t end fun checkGCTime (CPUT t) = Time.- (#usr (#gc (getTime ())), #usr (#gc t)) end (* local *) fun checkRealTimer (RealT t) = Time.-(Time.now(), t) end (* InternalTimer *) smlsharp-1.2.0/src/smlnj/Basis/IO0000755 000000000000000000000000012050661606016706 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/smlnj/Basis/IO/bin-io.smi0000644 000000000000000000000741312050661606020661 0ustar00rootroot0000000 0000000 _require "../../../basis/main/General.smi" _require "../../../basis/main/Int.smi" _require "../../../basis/main/Word8.smi" _require "../../../basis/main/Word8Vector.smi" _require "../../../basis/main/Word8VectorSlice.smi" _require "../../../basis/main/Word8Array.smi" _require "../../../basis/main/IO.smi" _require "clean-io.smi" _require "../Unix/posix-bin-prim-io.smi" structure SMLSharpSMLNJ_BinIO = struct structure StreamIO = struct type elem = SMLSharp.Word8.word type vector = Word8Vector.vector type reader = SMLSharpSMLNJ_PosixBinPrimIO.PrimIO.reader type writer = SMLSharpSMLNJ_PosixBinPrimIO.PrimIO.writer type pos = SMLSharpSMLNJ_PosixBinPrimIO.PrimIO.pos datatype instream = ISTRM of in_buffer * int and in_buffer = IBUF of {basePos : pos option, more : more ref, data : vector, info : info} and more = MORE of in_buffer | EOS of in_buffer | NOMORE | TERMINATED and info = INFO of {reader : reader, readVec : int -> vector, readVecNB : (int -> vector) option, closed : bool ref, getPos : unit -> pos option, tail : more ref ref, cleanTag : SMLSharpSMLNJ_CleanIO.tag} datatype outstream = OSTRM of {buf : Word8Array.array, pos : int ref, closed : bool ref, bufferMode : IO.buffer_mode ref, writer : writer, writeArr : Word8ArraySlice.slice -> unit, writeVec : Word8VectorSlice.slice -> unit, cleanTag : SMLSharpSMLNJ_CleanIO.tag} datatype out_pos = OUTP of {pos : pos, strm : outstream} val input : instream -> vector * instream val input1 : instream -> (elem * instream) option val inputN : instream * int -> vector * instream val inputAll : instream -> vector * instream val canInput : instream * int -> int option val closeIn : instream -> unit val endOfStream : instream -> bool val output : outstream * vector -> unit val output1 : outstream * elem -> unit val flushOut : outstream -> unit val closeOut : outstream -> unit val mkInstream : reader * vector -> instream val getReader : instream -> reader * vector val filePosIn : instream -> pos val setBufferMode : outstream * IO.buffer_mode -> unit val getBufferMode : outstream -> IO.buffer_mode val mkOutstream : writer * IO.buffer_mode -> outstream val getWriter : outstream -> writer * IO.buffer_mode val getPosOut : outstream -> out_pos val setPosOut : out_pos -> outstream val filePosOut : out_pos -> pos end type vector = StreamIO.vector type elem = StreamIO.elem type instream = StreamIO.instream ref type outstream = StreamIO.outstream ref val input : instream -> vector val input1 : instream -> elem option val inputN : instream * int -> vector val inputAll : instream -> vector val canInput : instream * int -> int option val lookahead : instream -> elem option val closeIn : instream -> unit val endOfStream : instream -> bool val output : outstream * vector -> unit val output1 : outstream * elem -> unit val flushOut : outstream -> unit val closeOut : outstream -> unit val mkInstream : StreamIO.instream -> instream val getInstream : instream -> StreamIO.instream val setInstream : instream * StreamIO.instream -> unit val mkOutstream : StreamIO.outstream -> outstream val getOutstream : outstream -> StreamIO.outstream val setOutstream : outstream * StreamIO.outstream -> unit val getPosOut : outstream -> StreamIO.out_pos val setPosOut : outstream * StreamIO.out_pos -> unit val openIn : string -> instream val openOut : string -> outstream val openAppend : string -> outstream end smlsharp-1.2.0/src/smlnj/Basis/IO/bin-io.sml0000644 000000000000000000004666012050661606020673 0ustar00rootroot0000000 0000000 _interface "bin-io.smi" infix 7 * infix 6 + - infixr 5 :: infix 4 = >= < val op * = SMLSharp.Int.mul val op + = SMLSharp.Int.add val op - = SMLSharp.Int.sub val op >= = SMLSharp.Int.gteq val op < = SMLSharp.Int.lt structure CleanIO = SMLSharpSMLNJ_CleanIO (* bin-io-fn.sml * * COPYRIGHT (c) 1995 AT&T Bell Laboratories. * * QUESTION: what operations should raise exceptions when the stream is * closed? * *) local structure OSPrimIO = SMLSharpSMLNJ_PosixBinPrimIO structure PIO = OSPrimIO.PrimIO structure A = Word8Array structure AS = Word8ArraySlice structure V = Word8Vector structure VS = Word8VectorSlice structure Pos = Position (* an element for initializing buffers *) val someElem = (0w0 : Word8.word) (** Fast, but unsafe version (from Word8Vector) ** val vecSub = InlineT.Word8Vector.sub val arrUpdate = InlineT.Word8Array.update (* fast vector extract operation. This should never be called with * a length of 0. *) fun vecExtract (v, base, optLen) = let val len = V.length v fun newVec n = let val newV = Assembly.A.create_s n fun fill i = if (i < n) then ( InlineT.Word8Vector.update(newV, i, vecSub(v, base+i)); fill(i+1)) else () in fill 0; newV end in case (base, optLen) of (0, NONE) => v | (_, NONE) => newVec (len - base) | (_, SOME n) => newVec n (* end case *) end **) val vecExtract = VS.vector o VS.slice val vecSub = V.sub val arrUpdate = A.update val empty = V.fromList[] in structure SMLSharpSMLNJ_BinIO = struct structure StreamIO = struct type vector = V.vector type elem = V.elem type reader = PIO.reader type writer = PIO.writer type pos = PIO.pos (*** Functional input streams *** ** We represent an instream by a pointer to a buffer and an offset ** into the buffer. The buffers are chained by the "more" field from ** the beginning of the stream towards the end. If the "more" field ** is EOS, then it refers to an empty buffer (consuming the EOF marker ** involves moving the stream from immeditaly in front of the EOS to ** to the empty buffer). A "more" field of TERMINATED marks a ** terminated stream. We also have the invariant that the "tail" ** field of the "info" structure points to a more ref that is either ** NOMORE or TERMINATED. **) datatype instream = ISTRM of (in_buffer * int) and in_buffer = IBUF of { basePos : pos option, more : more ref, data : vector, info : info } and more = MORE of in_buffer (* forward link to additional data *) | EOS of in_buffer (* End of stream marker *) | NOMORE (* placeholder for forward link *) | TERMINATED (* termination of the stream *) and info = INFO of { reader : reader, readVec : int -> vector, readVecNB : (int -> vector) option, closed : bool ref, getPos : unit -> pos option, tail : more ref ref, (* points to the more cell of the last buffer *) cleanTag : CleanIO.tag } fun infoOfIBuf (IBUF{info, ...}) = info fun chunkSzOfIBuf buf = let val INFO{reader=PIO.RD{chunkSize, ...}, ...} = infoOfIBuf buf in chunkSize end fun readVec (IBUF{info=INFO{readVec=f, ...}, ...}) = f fun inputExn (INFO{reader=PIO.RD{name, ...}, ...}, mlOp, exn) = raise IO.Io{function=mlOp, name=name, cause=exn} (* this exception is raised by readVecNB in the blocking case *) exception WouldBlock fun extendStream (readFn, mlOp, buf as IBUF{more, info, ...}) = (let val INFO{getPos, tail, ...} = info val basePos = getPos() val chunk = readFn (chunkSzOfIBuf buf) val newMore = ref NOMORE val buf' = IBUF{ basePos = basePos, data = chunk, more = newMore, info = info } val next = if (V.length chunk = 0) then EOS buf' else MORE buf' in more := next; tail := newMore; next end handle ex => inputExn(info, mlOp, ex)) fun getBuffer (readFn, mlOp) (buf as IBUF{more, info, ...}) = ( case !more of TERMINATED => (EOS buf) | NOMORE => extendStream (readFn, mlOp, buf) | more => more (* end case *)) (* read a chunk that is at least the specified size *) fun readChunk buf = let val INFO{readVec, reader=PIO.RD{chunkSize, ...}, ...} = infoOfIBuf buf in case (chunkSize - 1) of 0 => (fn n => readVec n) | k => (* round up to next multiple of chunkSize *) (fn n => readVec(Int.quot((n+k), chunkSize) * chunkSize)) (* end case *) end fun generalizedInput getBuf = let fun get (ISTRM(buf as IBUF{data, ...}, pos)) = let val len = V.length data in if (pos < len) then (vecExtract(data, pos, NONE), ISTRM(buf, len)) else (case (getBuf buf) of (EOS buf) => (empty, ISTRM(buf, 0)) | (MORE rest) => get (ISTRM(rest, 0)) | _ => raise Fail "bogus getBuf" (* end case *)) end in get end (* terminate an input stream *) fun terminate (INFO{tail, cleanTag, ...}) = (case !tail of (m as ref NOMORE) => ( CleanIO.removeCleaner cleanTag; m := TERMINATED) | (m as ref TERMINATED) => () | _ => raise Match (* shut up compiler *) (* end case *)) fun input (strm as ISTRM(buf, _)) = generalizedInput (getBuffer (readVec buf, "input")) strm fun input1 (ISTRM(buf, pos)) = let val IBUF{data, more, ...} = buf in if (pos < V.length data) then SOME(vecSub(data, pos), ISTRM(buf, pos+1)) else (case !more of (MORE buf) => input1 (ISTRM(buf, 0)) | (EOS _) => NONE | NOMORE => ( case extendStream (readVec buf, "input1", buf) of (MORE rest) => input1 (ISTRM(rest, 0)) | _ => NONE (* end case *)) | TERMINATED => NONE (* end case *)) end fun inputN (ISTRM(buf, pos), n) = let fun join (item, (list, strm)) = (item::list, strm) fun inputList (buf as IBUF{data, ...}, i, n) = let val len = V.length data val remain = len-i in if (remain >= n) then ([vecExtract(data, i, SOME n)], ISTRM(buf, i+n)) else join ( vecExtract(data, i, NONE), nextBuf(buf, n-remain)) end and nextBuf (buf as IBUF{more, data, ...}, n) = (case !more of (MORE buf) => inputList (buf, 0, n) | (EOS buf) => ([], ISTRM(buf, 0)) | NOMORE => ( case extendStream (readVec buf, "inputN", buf) of (MORE rest) => inputList (rest, 0, n) | _ => ([], ISTRM(buf, V.length data)) (* end case *)) | TERMINATED => ([], ISTRM(buf, V.length data)) (* end case *)) val (data, strm) = inputList (buf, pos, n) in (V.concat data, strm) end fun inputAll (strm as ISTRM(buf, _)) = let val INFO{reader=PIO.RD{avail, ...}, ...} = infoOfIBuf buf (* Read a chunk that is as large as the available input. *) fun bigChunk _ = let val delta = (case avail() of NONE => chunkSzOfIBuf buf | (SOME n) => n (* end case *)) in readChunk buf delta end val bigInput = generalizedInput (getBuffer (bigChunk, "inputAll")) fun loop (v, strm) = if (V.length v = 0) then ([], strm) else let val (l, strm') = loop(bigInput strm) in (v :: l, strm') end val (data, strm') = loop (bigInput strm) in (V.concat data, strm') end (* Return SOME k, if k <= amount characters can be read without blocking. *) fun canInput (strm as ISTRM(buf, pos), amount) = let val readVecNB = (case buf of (IBUF{info as INFO{readVecNB=NONE, ...}, ...}) => inputExn(info, "canInput", IO.NonblockingNotSupported) | (IBUF{info=INFO{readVecNB=SOME f, ...}, ...}) => f (* end case *)) fun tryInput (buf as IBUF{data, ...}, i, n) = let val len = V.length data val remain = len - i in if (remain >= n) then SOME n else nextBuf (buf, n - remain) end and nextBuf (IBUF{more, ...}, n) = (case !more of (MORE buf) => tryInput (buf, 0, n) | (EOS _) => SOME(amount - n) | TERMINATED => SOME(amount - n) | NOMORE => (( case extendStream (readVecNB, "canInput", buf) of (MORE b) => tryInput (b, 0, n) | _ => SOME(amount - n) (* end case *)) handle IO.Io{cause=WouldBlock, ...} => SOME(amount - n)) (* end case *)) in if (amount < 0) then raise Size else tryInput (buf, pos, amount) end fun closeIn (ISTRM(buf, _)) = (case (infoOfIBuf buf) of INFO{closed=ref true, ...} => () | (info as INFO{closed, reader=PIO.RD{close, ...}, ...}) => ( terminate info; closed := true; close() handle ex => inputExn(info, "closeIn", ex)) (* end case *)) fun endOfStream (ISTRM(buf, pos)) = (case buf of (IBUF{more=ref(MORE _), ...}) => false | (IBUF{more, data, info=INFO{closed, ...}, ...}) => if (pos = V.length data) then (case (!more, !closed) of (NOMORE, false) => ( case extendStream (readVec buf, "endOfStream", buf) of (EOS _) => true | _ => false (* end case *)) | _ => true (* end case *)) else false (* end case *)) fun mkInstream (reader, data) = let val PIO.RD{readVec, readVecNB, getPos, setPos, ...} = reader val readVec' = (case readVec of NONE => (fn _ => raise IO.BlockingNotSupported) | (SOME f) => f (* end case *)) val readVecNB' = (case readVecNB of NONE => NONE | (SOME f) => SOME(fn arg => case (f arg) of (SOME x) => x | NONE => raise WouldBlock (* end case *)) (* end case *)) val getPos = (case (getPos, setPos) of (SOME f, SOME _) => (fn () => SOME(f())) | _ => (fn () => NONE) (* end case *)) val more = ref NOMORE val closedFlg = ref false val tag = CleanIO.addCleaner { init = fn () => (closedFlg := true), flush = fn () => (), close = fn () => (closedFlg := true) } val info = INFO{ reader=reader, readVec=readVec', readVecNB=readVecNB', closed = closedFlg, getPos = getPos, tail = ref more, cleanTag = tag } (** What should we do about the position when there is initial data?? **) (** Suggestion: When building a stream with supplied initial data, ** nothing can be said about the positions inside that initial ** data (who knows where that data even came from!). **) val basePos = if (V.length data = 0) then getPos() else NONE in ISTRM( IBUF{basePos = basePos, data = data, info = info, more = more}, 0) end fun getReader (ISTRM(buf, pos)) = let val IBUF{data, info as INFO{reader, ...}, more, ...} = buf fun getData (MORE(IBUF{data, more, ...})) = data :: getData(!more) | getData _ = [] in terminate info; if (pos < V.length data) then ( reader, V.concat(vecExtract(data, pos, NONE) :: getData(!more)) ) else (reader, V.concat(getData(!more))) end (* Get the underlying file position of a stream *) fun filePosIn (ISTRM(buf, pos)) = (case buf of IBUF{basePos=NONE, info, ...} => inputExn (info, "filePosIn", IO.RandomAccessNotSupported) | IBUF{basePos=SOME b, info, ...} => Position.+(b, Position.fromInt pos) (* end case *)) (*** Output streams ***) datatype outstream = OSTRM of { buf : A.array, pos : int ref, closed : bool ref, bufferMode : IO.buffer_mode ref, writer : writer, writeArr : AS.slice -> unit, writeVec : VS.slice -> unit, cleanTag : CleanIO.tag } fun outputExn (OSTRM{writer=PIO.WR{name, ...}, ...}, mlOp, exn) = raise IO.Io{function=mlOp, name=name, cause=exn} fun isClosedOut (strm as OSTRM{closed=ref true, ...}, mlOp) = outputExn (strm, mlOp, IO.ClosedStream) | isClosedOut _ = () fun flushBuffer (strm as OSTRM{buf, pos, writeArr, ...}, mlOp) = ( case !pos of 0 => () | n => (( writeArr (AS.slice (buf, 0, SOME n)); pos := 0) handle ex => outputExn (strm, mlOp, ex)) (* end case *)) fun output (strm as OSTRM os, v) = let val _ = isClosedOut (strm, "output") val {buf, pos, bufferMode, ...} = os fun flush () = flushBuffer (strm, "output") fun flushAll () = (#writeArr os (AS.full buf) handle ex => outputExn (strm, "output", ex)) fun writeDirect () = ( case !pos of 0 => () | n => (#writeArr os (AS.slice (buf, 0, SOME n)); pos := 0) (* end case *); #writeVec os (VS.full v)) handle ex => outputExn (strm, "output", ex) fun insert copyVec = let val bufLen = A.length buf val dataLen = V.length v in if (dataLen >= bufLen) then writeDirect() else let val i = !pos val avail = bufLen - i in if (avail < dataLen) then ( copyVec(v, 0, avail, buf, i); flushAll(); copyVec(v, avail, dataLen-avail, buf, 0); pos := dataLen-avail) else ( copyVec(v, 0, dataLen, buf, i); pos := i + dataLen; if (avail = dataLen) then flush() else ()) end end in case !bufferMode of IO.NO_BUF => writeDirect () | _ => let fun copyVec (src, srcI, srcLen, dst, dstI) = AS.copyVec { src = VS.slice (src, srcI, SOME srcLen), dst = dst, di = dstI } in insert copyVec end (* end case *) end fun output1 (strm as OSTRM{buf, pos, bufferMode, writeArr, ...}, elem) = ( isClosedOut (strm, "output1"); case !bufferMode of IO.NO_BUF => ( arrUpdate (buf, 0, elem); writeArr (AS.slice (buf, 0, SOME 1)) handle ex => outputExn (strm, "output1", ex)) | _ => let val i = !pos val i' = i+1 in arrUpdate (buf, i, elem); pos := i'; if (i' = A.length buf) then flushBuffer (strm, "output1") else () end (* end case *)) fun flushOut strm = ( flushBuffer (strm, "flushOut")) fun closeOut (strm as OSTRM{writer=PIO.WR{close, ...}, closed, cleanTag, ...}) = if !closed then () else ( flushBuffer (strm, "closeOut"); closed := true; CleanIO.removeCleaner cleanTag; close()) fun mkOutstream (wr as PIO.WR{chunkSize, writeArr, writeVec, ...}, mode) = let fun iterate (f, size, subslice) = let fun lp sl = if size sl = 0 then () else let val n = f sl in lp (subslice (sl, n, NONE)) end in lp end val writeArr' = (case writeArr of NONE => (fn _ => raise IO.BlockingNotSupported) | (SOME f) => iterate (f, AS.length, AS.subslice) (* end case *)) val writeVec' = (case writeVec of NONE => (fn _ => raise IO.BlockingNotSupported) | (SOME f) => iterate (f, VS.length, VS.subslice) (* end case *)) (* install a dummy cleaner *) val tag = CleanIO.addCleaner { init = fn () => (), flush = fn () => (), close = fn () => () } val strm = OSTRM{ buf = A.array(chunkSize, someElem), pos = ref 0, closed = ref false, bufferMode = ref mode, writer = wr, writeArr = writeArr', writeVec = writeVec', cleanTag = tag } in CleanIO.rebindCleaner (tag, { init = fn () => closeOut strm, flush = fn () => flushOut strm, close = fn () => closeOut strm }); strm end fun getWriter (strm as OSTRM{writer, bufferMode, ...}) = ( flushBuffer (strm, "getWriter"); (writer, !bufferMode)) (** Position operations on outstreams **) datatype out_pos = OUTP of { pos : PIO.pos, strm : outstream } fun getPosOut (strm as OSTRM{writer, ...}) = ( flushBuffer (strm, "getPosOut"); case writer of PIO.WR{getPos=SOME f, ...} => ( OUTP{pos = f(), strm = strm} handle ex => outputExn(strm, "getPosOut", ex)) | _ => outputExn(strm, "getPosOut", IO.RandomAccessNotSupported) (* end case *)) fun filePosOut (OUTP{pos, strm}) = ( isClosedOut (strm, "filePosOut"); pos) fun setPosOut (OUTP{pos, strm as OSTRM{writer, ...}}) = ( isClosedOut (strm, "setPosOut"); case writer of PIO.WR{setPos=SOME f, ...} => ( (* (f pos) *) (f pos; strm) handle ex => outputExn(strm, "setPosOut", ex)) | _ => outputExn(strm, "getPosOut", IO.RandomAccessNotSupported) (* end case *)) fun setBufferMode (strm as OSTRM{bufferMode, ...}, IO.NO_BUF) = ( flushBuffer (strm, "setBufferMode"); bufferMode := IO.NO_BUF) | setBufferMode (strm as OSTRM{bufferMode, ...}, mode) = ( isClosedOut (strm, "setBufferMode"); bufferMode := mode) fun getBufferMode (strm as OSTRM{bufferMode, ...}) = ( isClosedOut (strm, "getBufferMode"); !bufferMode) end (* StreamIO *) type vector = V.vector type elem = V.elem type instream = StreamIO.instream ref type outstream = StreamIO.outstream ref (** Input operations **) fun input strm = let val (v, strm') = StreamIO.input(!strm) in strm := strm'; v end fun input1 strm = (case StreamIO.input1(!strm) of NONE => NONE | (SOME(elem, strm')) => (strm := strm'; SOME elem) (* end case *)) fun inputN (strm, n) = let val (v, strm') = StreamIO.inputN (!strm, n) in strm := strm'; v end fun inputAll (strm : instream) = let val (v, s) = StreamIO.inputAll(!strm) in strm := s; v end fun canInput (strm, n) = StreamIO.canInput (!strm, n) fun lookahead (strm : instream) = (case StreamIO.input1(!strm) of NONE => NONE | (SOME(elem, _)) => SOME elem (* end case *)) fun closeIn strm = let val (s as StreamIO.ISTRM(buf as StreamIO.IBUF{data, ...}, _)) = !strm (* find the end of the stream *) fun findEOS (StreamIO.IBUF{more=ref(StreamIO.MORE buf), ...}) = findEOS buf | findEOS (StreamIO.IBUF{more=ref(StreamIO.EOS buf), ...}) = findEOS buf | findEOS (buf as StreamIO.IBUF{data, ...}) = StreamIO.ISTRM(buf, V.length data) in StreamIO.closeIn s; strm := findEOS buf end fun endOfStream strm = StreamIO.endOfStream(! strm) (** Output operations **) fun output (strm, v) = StreamIO.output(!strm, v) fun output1 (strm, c) = StreamIO.output1(!strm, c) fun flushOut strm = StreamIO.flushOut(!strm) fun closeOut strm = StreamIO.closeOut(!strm) fun getPosOut strm = StreamIO.getPosOut(!strm) fun setPosOut (strm, p as StreamIO.OUTP{strm=strm', ...}) = ( (* strm := strm'; StreamIO.setPosOut p) *) strm := strm'; StreamIO.setPosOut p; ()) fun mkInstream (strm : StreamIO.instream) = ref strm fun getInstream (strm : instream) = !strm fun setInstream (strm : instream, strm') = strm := strm' fun mkOutstream (strm : StreamIO.outstream) = ref strm fun getOutstream (strm : outstream) = !strm fun setOutstream (strm : outstream, strm') = strm := strm' (** Open files **) fun openIn fname = mkInstream(StreamIO.mkInstream(OSPrimIO.openRd fname, empty)) handle ex => raise IO.Io{function="openIn", name=fname, cause=ex} fun openOut fname = mkOutstream(StreamIO.mkOutstream(OSPrimIO.openWr fname, IO.BLOCK_BUF)) handle ex => raise IO.Io{function="openOut", name=fname, cause=ex} fun openAppend fname = mkOutstream(StreamIO.mkOutstream(OSPrimIO.openApp fname, IO.NO_BUF)) handle ex => raise IO.Io{function="openAppend", name=fname, cause=ex} end (* BinIOFn *) end (* local *) smlsharp-1.2.0/src/smlnj/Basis/IO/clean-io.smi0000644 000000000000000000000101112050661606021157 0ustar00rootroot0000000 0000000 _require "../../../basis/main/General.smi" _require "../NJ/cleanup.smi" structure SMLSharpSMLNJ_CleanIO = struct type tag (= boxed) val osInitHook : (unit -> unit) ref val stdStrmHook : (unit -> unit) ref val addCleaner : {init : unit -> unit, flush : unit -> unit, close : unit -> unit} -> tag val rebindCleaner : tag * {init : unit -> unit, flush : unit -> unit, close : unit -> unit} -> unit val removeCleaner : tag -> unit end smlsharp-1.2.0/src/smlnj/Basis/IO/clean-io.sml0000644 000000000000000000000624412050661606021177 0ustar00rootroot0000000 0000000 _interface "clean-io.smi" infixr 5 :: infix 4 = structure CleanUp = SMLSharpSMLNJ_CleanUp (* clean-io.sml * * COPYRIGHT (c) 1996 AT&T Research. * * This module keeps track of open I/O streams, and handles the proper * cleaning of them. * * NOTE: there is currently a problem with removing the cleaners for streams * that get dropped by the application, but the system limit on open files * will limit this. * *) (* structure CleanIO :> sig *) structure SMLSharpSMLNJ_CleanIO :> sig type tag val osInitHook : (unit -> unit) ref (* this function gets invoked as the first action during the IO * initialization. It is meant to support any OS specific initialization * that might be necessary. *) val stdStrmHook : (unit -> unit) ref (* this function is defined in TextIOFn, and is called after the osHook, * but before the per-stream init functions. It is used to rebuild the * standard streams. *) val addCleaner : { init : unit -> unit, (* called AtInit and AtInitFn *) flush : unit -> unit, (* called AtExportML *) close : unit -> unit (* called AtExit and AtExportFn *) } -> tag val rebindCleaner : (tag * { init : unit -> unit, (* called AtInit and AtInitFn *) flush : unit -> unit, (* called AtExportML *) close : unit -> unit (* called AtExit and AtExportFn *) })-> unit val removeCleaner : tag -> unit end = struct type tag = unit ref type cleaner = { tag : tag, (* unique ID for this cleaner *) init : unit -> unit, (* called AtInit and AtInitFn *) flush : unit -> unit, (* called AtExportML *) close : unit -> unit (* called AtExit and AtExportFn *) } val osInitHook = ref(fn () => ()) val stdStrmHook = ref(fn () => ()) val cleaners = ref ([] : cleaner list) fun addCleaner {init, flush, close} = let val tag = ref() val cleanerRec = {tag = tag, init = init, flush = flush, close = close} in cleaners := cleanerRec :: !cleaners; tag end fun getTag ({tag, ...} : cleaner) = tag fun rebindCleaner (t, {init, flush, close}) = let fun f [] = raise Fail "rebindCleaner: tag not found" | f (x :: r) = let val t' = getTag x in if (t' = t) then {tag=t, init=init, flush=flush, close=close} :: r else x :: f r end in cleaners := f (! cleaners) end fun removeCleaner t = let fun f [] = [] (* should we raise an exception here? *) | f (x :: r) = if (getTag x = t) then r else x :: f r in cleaners := f (! cleaners) end fun doClean selFn = let fun doit [] = () | doit (x::r) = (((selFn x)()) handle _ => (); doit r) in doit (! cleaners) end structure C = CleanUp fun cleanUp (C.AtExportML) = doClean #flush (* | cleanUp (C.AtExportFn | C.AtExit) = doClean #close *) | cleanUp (C.AtExportFn) = doClean #close | cleanUp (C.AtExit) = doClean #close (* | cleanUp (C.AtInit | C.AtInitFn) = ( *) | cleanUp (C.AtInit) = ( (!osInitHook)(); (!stdStrmHook)(); doClean #init) | cleanUp (C.AtInitFn) = ( (!osInitHook)(); (!stdStrmHook)(); doClean #init) val _ = C.addCleaner ("IO", C.atAll, cleanUp) end (* CleanIO *) smlsharp-1.2.0/src/smlnj/Basis/IO/os-prim-io.sig0000644 000000000000000000000131612050661606021465 0ustar00rootroot0000000 0000000 include "../../../basis/main/PRIM_IO.sig" (* os-prim-io.sig * * COPYRIGHT (c) 1995 AT&T Bell Laboratories. * * This is an interface to a PrimIO structure augmented with OS specific * functions to create readers and writers. * *) signature OS_PRIM_IO = sig structure PrimIO : PRIM_IO type file_desc val openRd : string -> PrimIO.reader val openWr : string -> PrimIO.writer val openApp : string -> PrimIO.writer val mkReader : { fd : file_desc, name : string, initBlkMode : bool } -> PrimIO.reader val mkWriter: { fd : file_desc, name : string, appendMode : bool, initBlkMode : bool, chunkSize : int } -> PrimIO.writer end smlsharp-1.2.0/src/smlnj/Basis/IO/prim-io-bin.smi0000644 000000000000000000000426212050661606021625 0ustar00rootroot0000000 0000000 _require "../../../basis/main/OS.smi" _require "../../../basis/main/Option.smi" _require "../../../basis/main/IO.smi" _require "../../../basis/main/Int.smi" _require "../../../basis/main/General.smi" _require "../../../basis/main/PRIM_IO.sig" _require "../../../basis/main/Word8.smi" _require "../../../basis/main/Word8Vector.smi" _require "../../../basis/main/Word8VectorSlice.smi" _require "../../../basis/main/Word8Array.smi" structure BinPrimIO = struct type elem = Word8Vector.elem type vector = Word8Vector.vector type vector_slice = Word8VectorSlice.slice type array = Word8Array.array type array_slice = Word8ArraySlice.slice type pos = Position.int val compare : pos * pos -> order datatype reader = RD of {name : string, chunkSize : int, readVec : (int -> vector) option, readArr : (array_slice -> int) option, readVecNB : (int -> vector option) option, readArrNB : (array_slice -> int option) option, block : (unit -> unit) option, canInput : (unit -> bool) option, avail : unit -> int option, getPos : (unit -> pos) option, setPos : (pos -> unit) option, endPos : (unit -> pos) option, verifyPos : (unit -> pos) option, close : unit -> unit, ioDesc : OS.IO.iodesc option} datatype writer = WR of {name : string, chunkSize : int, writeVec : (vector_slice -> int) option, writeArr : (array_slice -> int) option, writeVecNB : (vector_slice -> int option) option, writeArrNB : (array_slice -> int option) option, block : (unit -> unit) option, canOutput : (unit -> bool) option, getPos : (unit -> pos) option, setPos : (pos -> unit) option, endPos : (unit -> pos) option, verifyPos : (unit -> pos) option, close : unit -> unit, ioDesc : OS.IO.iodesc option} val openVector : vector -> reader val nullRd : unit -> reader val nullWr : unit -> writer val augmentReader : reader -> reader val augmentWriter : writer -> writer end smlsharp-1.2.0/src/smlnj/Basis/IO/prim-io-bin.sml0000644 000000000000000000002325312050661606021631 0ustar00rootroot0000000 0000000 _interface "prim-io-bin.smi" (* prim-io-fn.sml * * COPYRIGHT (c) 1995 AT&T Bell Laboratories. * *) local infix 6 + - val op + = SMLSharp.Int.add val op - = SMLSharp.Int.sub structure Int31Imp = Int structure Vector = Word8Vector structure Array = Word8Array structure VectorSlice = Word8VectorSlice structure ArraySlice = Word8ArraySlice val someElem = (0w0 : Word8.word) type pos = Position.int val compare = Position.compare in structure BinPrimIO :> PRIM_IO where type elem = Vector.elem where type vector = Vector.vector where type vector_slice = VectorSlice.slice where type array = Array.array where type array_slice = ArraySlice.slice where type pos = pos = struct structure A = Array structure AS = ArraySlice structure V = Vector structure VS = VectorSlice type elem = A.elem type vector = V.vector type vector_slice = VS.slice type array = A.array type array_slice = AS.slice type pos = pos val compare = compare datatype reader = RD of { name : string, chunkSize : int, readVec : (int -> vector) option, readArr : (array_slice -> int) option, readVecNB : (int -> vector option) option, readArrNB : (array_slice -> int option) option, block : (unit -> unit) option, canInput : (unit -> bool) option, avail : unit -> int option, getPos : (unit -> pos) option, setPos : (pos -> unit) option, endPos : (unit -> pos) option, verifyPos : (unit -> pos) option, close : unit -> unit, ioDesc : OS.IO.iodesc option } datatype writer = WR of { name : string, chunkSize : int, writeVec : (vector_slice -> int) option, writeArr : (array_slice -> int) option, writeVecNB : (vector_slice -> int option) option, writeArrNB : (array_slice -> int option) option, block : (unit -> unit) option, canOutput : (unit -> bool) option, getPos : (unit -> pos) option, setPos : (pos -> unit) option, endPos : (unit -> pos) option, verifyPos : (unit -> pos) option, close : unit -> unit, ioDesc : OS.IO.iodesc option } fun blockingOperation (f, block) x = (block (); Option.valOf (f x)) fun nonblockingOperation (read, canInput) x = if (canInput()) then SOME(read x) else NONE fun augmentReader (RD rd) = let fun readaToReadv reada n = let val a = A.array(n, someElem) val n = reada (AS.full a) in AS.vector (AS.slice (a, 0, SOME n)) end fun readaToReadvNB readaNB n = let val a = A.array(n, someElem) in case readaNB (AS.full a) of SOME n' => SOME(AS.vector (AS.slice(a, 0, SOME n'))) | NONE => NONE (* end case *) end fun readvToReada readv asl = let val (a, start, nelems) = AS.base asl val v = readv nelems val len = V.length v in A.copyVec {dst=a, di=start, src=v}; len end fun readvToReadaNB readvNB asl = let val (a, start, nelems) = AS.base asl in case readvNB nelems of SOME v => let val len = V.length v in A.copyVec {dst=a, di=start, src=v}; SOME len end | NONE => NONE (* end case *) end val readVec' = (case rd of {readVec=SOME f, ...} => SOME f | {readArr=SOME f, ...} => SOME(readaToReadv f) | {readVecNB=SOME f, block=SOME b, ...} => SOME(blockingOperation (f, b)) | {readArrNB=SOME f, block=SOME b, ...} => SOME(blockingOperation (readaToReadvNB f, b)) | _ => NONE (* end case *)) val readArr' = (case rd of {readArr=SOME f, ...} => SOME f | {readVec=SOME f, ...} => SOME(readvToReada f) | {readArrNB=SOME f, block=SOME b, ...} => SOME(blockingOperation(f, b)) | {readVecNB=SOME f,block=SOME b, ...} => SOME(blockingOperation(readvToReadaNB f, b)) | _ => NONE (* end case *)) val readVecNB' = (case rd of {readVecNB=SOME f, ...} => SOME f | {readArrNB=SOME f, ...} => SOME(readaToReadvNB f) | {readVec=SOME f, canInput=SOME can, ...} => SOME(nonblockingOperation(f, can)) | {readArr=SOME f, canInput=SOME can, ...} => SOME(nonblockingOperation(readaToReadv f, can)) | _ => NONE (* end case *)) val readArrNB' = (case rd of {readArrNB=SOME f, ...} => SOME f | {readVecNB=SOME f, ...} => SOME(readvToReadaNB f) | {readArr=SOME f, canInput=SOME can, ...} => SOME(nonblockingOperation (f, can)) | {readVec=SOME f, canInput=SOME can, ...} => SOME(nonblockingOperation (readvToReada f, can)) | _ => NONE (* end case *)) in RD{ name= #name rd, chunkSize= #chunkSize rd, readVec=readVec', readArr=readArr', readVecNB=readVecNB', readArrNB=readArrNB', block= #block rd, canInput = #canInput rd, avail = #avail rd, getPos = #getPos rd, setPos = #setPos rd, endPos = #endPos rd, verifyPos = #verifyPos rd, close= #close rd, ioDesc= #ioDesc rd } end fun augmentWriter (WR wr) = let fun writevToWritea writev asl = writev (VS.full (AS.vector asl)) fun writeaToWritev writea vsl = case VS.length vsl of 0 => 0 | n => let val a = A.array (n, VS.sub (vsl, 0)) in AS.copyVec { src = VS.subslice (vsl, 1, NONE), dst = a, di = 1 }; writea (AS.full a) end fun writeaToWritevNB writeaNB vsl = case VS.length vsl of 0 => SOME 0 | n => let val a = A.array (n, VS.sub (vsl, 0)) in AS.copyVec { src = VS.subslice (vsl, 1, NONE), dst = a, di = 1 }; writeaNB (AS.full a) end val writeVec' = (case wr of {writeVec=SOME f, ...} => SOME f | {writeArr=SOME f, ...} => SOME(writeaToWritev f) | {writeVecNB=SOME f, block=SOME b, ...} => SOME(fn i => (b(); Option.valOf(f i))) | {writeArrNB=SOME f, block=SOME b, ...} => SOME(fn x => (b(); writeaToWritev (Option.valOf o f) x)) | _ => NONE (* end case *)) val writeArr' = (case wr of {writeArr=SOME f, ...} => SOME f | {writeVec=SOME f, ...} => SOME(writevToWritea f) | {writeArrNB=SOME f, block=SOME b, ...} => SOME(blockingOperation (f, b)) | {writeVecNB=SOME f,block=SOME b, ...} => SOME(blockingOperation (writevToWritea f, b)) | _ => NONE (* end case *)) val writeVecNB' = (case wr of {writeVecNB=SOME f, ...} => SOME f | {writeArrNB=SOME f, ...} => SOME(writeaToWritevNB f) | {writeVec=SOME f, canOutput=SOME can, ...} => SOME(nonblockingOperation (f, can)) | {writeArr=SOME f, canOutput=SOME can, ...} => SOME(nonblockingOperation (writeaToWritev f, can)) | _ => NONE (* end case *)) val writeArrNB' = (case wr of {writeArrNB=SOME f, ...} => SOME f | {writeVecNB=SOME f, ...} => SOME(writevToWritea f) | {writeArr=SOME f, canOutput=SOME can, ...} => SOME(nonblockingOperation (f, can)) | {writeVec=SOME f, canOutput=SOME can, ...} => SOME(nonblockingOperation (writevToWritea f, can)) | _ => NONE (* end case *)) in WR{ name= #name wr, chunkSize= #chunkSize wr, writeVec=writeVec', writeArr=writeArr', writeVecNB=writeVecNB', writeArrNB=writeArrNB', block= #block wr, canOutput = #canOutput wr, getPos = #getPos wr, setPos = #setPos wr, endPos = #endPos wr, verifyPos = #verifyPos wr, close= #close wr, ioDesc= #ioDesc wr } end fun openVector v = let val pos = ref 0 val closed = ref false fun checkClosed () = if !closed then raise IO.ClosedStream else () val len = V.length v fun avail () = len - !pos fun readV n = let val p = !pos val m = Int31Imp.min (n, len - p) in checkClosed (); pos := p + m; VS.vector (VS.slice (v, p, SOME m)) end fun readA asl = let val p = !pos val (buf, i, n) = AS.base asl val m = Int31Imp.min (n, len - p) in checkClosed (); pos := p + m; AS.copyVec { src = VS.slice (v, p, SOME m), dst = buf, di = i }; m end fun checked k () = (checkClosed (); k) in (* random access not supported because pos type is abstract *) RD { name = "", chunkSize = len, readVec = SOME readV, readArr = SOME readA, readVecNB = SOME (SOME o readV), readArrNB = SOME (SOME o readA), block = SOME checkClosed, canInput = SOME (checked true), avail = SOME o avail, getPos = NONE, setPos = NONE, endPos = NONE, verifyPos = NONE, close = fn () => closed := true, ioDesc = NONE } end fun nullRd () = let val closed = ref false fun checkClosed () = if !closed then raise IO.ClosedStream else () fun checked k _ = (checkClosed (); k) in RD { name = "", chunkSize = 1, readVec = SOME (checked (V.fromList [])), readArr = SOME (checked 0), readVecNB = SOME (checked (SOME (V.fromList []))), readArrNB = SOME (checked (SOME 0)), block = SOME checkClosed, canInput = SOME (checked true), avail = fn () => SOME 0, getPos = NONE, setPos = NONE, endPos = NONE, verifyPos = NONE, close = fn () => closed := true, ioDesc = NONE } end fun nullWr () = let val closed = ref false fun checkClosed () = if !closed then raise IO.ClosedStream else () fun checked k () = k fun writeVec vsl = (checkClosed (); VS.length vsl) fun writeArr asl = (checkClosed (); AS.length asl) in WR { name = "", chunkSize = 1, writeVec = SOME writeVec, writeArr = SOME writeArr, writeVecNB = SOME (SOME o writeVec), writeArrNB = SOME (SOME o writeArr), block = SOME checkClosed, canOutput = SOME (checked true), getPos = NONE, setPos = NONE, endPos = NONE, verifyPos = NONE, close = fn () => closed := true, ioDesc = NONE } end end (* PrimIO *) end (* local *) smlsharp-1.2.0/src/smlnj/Basis/IO/prim-io-text.smi0000644 000000000000000000000420212050661606022033 0ustar00rootroot0000000 0000000 _require "../../../basis/main/OS.smi" _require "../../../basis/main/Option.smi" _require "../../../basis/main/IO.smi" _require "../../../basis/main/Int.smi" _require "../../../basis/main/General.smi" _require "../../../basis/main/PRIM_IO.sig" _require "../../../basis/main/CharVector.smi" _require "../../../basis/main/CharVectorSlice.smi" _require "../../../basis/main/CharArray.smi" structure TextPrimIO = struct type elem = CharVector.elem type vector = CharVector.vector type vector_slice = CharVectorSlice.slice type array = CharArray.array type array_slice = CharArraySlice.slice type pos = Position.int val compare : pos * pos -> order datatype reader = RD of {name : string, chunkSize : int, readVec : (int -> vector) option, readArr : (array_slice -> int) option, readVecNB : (int -> vector option) option, readArrNB : (array_slice -> int option) option, block : (unit -> unit) option, canInput : (unit -> bool) option, avail : unit -> int option, getPos : (unit -> pos) option, setPos : (pos -> unit) option, endPos : (unit -> pos) option, verifyPos : (unit -> pos) option, close : unit -> unit, ioDesc : OS.IO.iodesc option} datatype writer = WR of {name : string, chunkSize : int, writeVec : (vector_slice -> int) option, writeArr : (array_slice -> int) option, writeVecNB : (vector_slice -> int option) option, writeArrNB : (array_slice -> int option) option, block : (unit -> unit) option, canOutput : (unit -> bool) option, getPos : (unit -> pos) option, setPos : (pos -> unit) option, endPos : (unit -> pos) option, verifyPos : (unit -> pos) option, close : unit -> unit, ioDesc : OS.IO.iodesc option} val openVector : vector -> reader val nullRd : unit -> reader val nullWr : unit -> writer val augmentReader : reader -> reader val augmentWriter : writer -> writer end smlsharp-1.2.0/src/smlnj/Basis/IO/prim-io-text.sml0000644 000000000000000000002326012050661606022043 0ustar00rootroot0000000 0000000 _interface "prim-io-text.smi" (* prim-io-fn.sml * * COPYRIGHT (c) 1995 AT&T Bell Laboratories. * *) local infix 6 + - val op + = SMLSharp.Int.add val op - = SMLSharp.Int.sub structure Int31Imp = Int structure Vector = CharVector structure Array = CharArray structure VectorSlice = CharVectorSlice structure ArraySlice = CharArraySlice val someElem = #"\000" type pos = Position.int val compare = Position.compare in structure TextPrimIO :> PRIM_IO where type elem = Vector.elem where type vector = Vector.vector where type vector_slice = VectorSlice.slice where type array = Array.array where type array_slice = ArraySlice.slice where type pos = pos = struct structure A = Array structure AS = ArraySlice structure V = Vector structure VS = VectorSlice type elem = A.elem type vector = V.vector type vector_slice = VS.slice type array = A.array type array_slice = AS.slice type pos = pos val compare = compare datatype reader = RD of { name : string, chunkSize : int, readVec : (int -> vector) option, readArr : (array_slice -> int) option, readVecNB : (int -> vector option) option, readArrNB : (array_slice -> int option) option, block : (unit -> unit) option, canInput : (unit -> bool) option, avail : unit -> int option, getPos : (unit -> pos) option, setPos : (pos -> unit) option, endPos : (unit -> pos) option, verifyPos : (unit -> pos) option, close : unit -> unit, ioDesc : OS.IO.iodesc option } datatype writer = WR of { name : string, chunkSize : int, writeVec : (vector_slice -> int) option, writeArr : (array_slice -> int) option, writeVecNB : (vector_slice -> int option) option, writeArrNB : (array_slice -> int option) option, block : (unit -> unit) option, canOutput : (unit -> bool) option, getPos : (unit -> pos) option, setPos : (pos -> unit) option, endPos : (unit -> pos) option, verifyPos : (unit -> pos) option, close : unit -> unit, ioDesc : OS.IO.iodesc option } fun blockingOperation (f, block) x = (block (); Option.valOf (f x)) fun nonblockingOperation (read, canInput) x = if (canInput()) then SOME(read x) else NONE fun augmentReader (RD rd) = let fun readaToReadv reada n = let val a = A.array(n, someElem) val n = reada (AS.full a) in AS.vector (AS.slice (a, 0, SOME n)) end fun readaToReadvNB readaNB n = let val a = A.array(n, someElem) in case readaNB (AS.full a) of SOME n' => SOME(AS.vector (AS.slice(a, 0, SOME n'))) | NONE => NONE (* end case *) end fun readvToReada readv asl = let val (a, start, nelems) = AS.base asl val v = readv nelems val len = V.length v in A.copyVec {dst=a, di=start, src=v}; len end fun readvToReadaNB readvNB asl = let val (a, start, nelems) = AS.base asl in case readvNB nelems of SOME v => let val len = V.length v in A.copyVec {dst=a, di=start, src=v}; SOME len end | NONE => NONE (* end case *) end val readVec' = (case rd of {readVec=SOME f, ...} => SOME f | {readArr=SOME f, ...} => SOME(readaToReadv f) | {readVecNB=SOME f, block=SOME b, ...} => SOME(blockingOperation (f, b)) | {readArrNB=SOME f, block=SOME b, ...} => SOME(blockingOperation (readaToReadvNB f, b)) | _ => NONE (* end case *)) val readArr' = (case rd of {readArr=SOME f, ...} => SOME f | {readVec=SOME f, ...} => SOME(readvToReada f) | {readArrNB=SOME f, block=SOME b, ...} => SOME(blockingOperation(f, b)) | {readVecNB=SOME f,block=SOME b, ...} => SOME(blockingOperation(readvToReadaNB f, b)) | _ => NONE (* end case *)) val readVecNB' = (case rd of {readVecNB=SOME f, ...} => SOME f | {readArrNB=SOME f, ...} => SOME(readaToReadvNB f) | {readVec=SOME f, canInput=SOME can, ...} => SOME(nonblockingOperation(f, can)) | {readArr=SOME f, canInput=SOME can, ...} => SOME(nonblockingOperation(readaToReadv f, can)) | _ => NONE (* end case *)) val readArrNB' = (case rd of {readArrNB=SOME f, ...} => SOME f | {readVecNB=SOME f, ...} => SOME(readvToReadaNB f) | {readArr=SOME f, canInput=SOME can, ...} => SOME(nonblockingOperation (f, can)) | {readVec=SOME f, canInput=SOME can, ...} => SOME(nonblockingOperation (readvToReada f, can)) | _ => NONE (* end case *)) in RD{ name= #name rd, chunkSize= #chunkSize rd, readVec=readVec', readArr=readArr', readVecNB=readVecNB', readArrNB=readArrNB', block= #block rd, canInput = #canInput rd, avail = #avail rd, getPos = #getPos rd, setPos = #setPos rd, endPos = #endPos rd, verifyPos = #verifyPos rd, close= #close rd, ioDesc= #ioDesc rd } end fun augmentWriter (WR wr) = let fun writevToWritea writev asl = writev (VS.full (AS.vector asl)) fun writeaToWritev writea vsl = case VS.length vsl of 0 => 0 | n => let val a = A.array (n, VS.sub (vsl, 0)) in AS.copyVec { src = VS.subslice (vsl, 1, NONE), dst = a, di = 1 }; writea (AS.full a) end fun writeaToWritevNB writeaNB vsl = case VS.length vsl of 0 => SOME 0 | n => let val a = A.array (n, VS.sub (vsl, 0)) in AS.copyVec { src = VS.subslice (vsl, 1, NONE), dst = a, di = 1 }; writeaNB (AS.full a) end val writeVec' = (case wr of {writeVec=SOME f, ...} => SOME f | {writeArr=SOME f, ...} => SOME(writeaToWritev f) | {writeVecNB=SOME f, block=SOME b, ...} => SOME(fn i => (b(); Option.valOf(f i))) | {writeArrNB=SOME f, block=SOME b, ...} => SOME(fn x => (b(); writeaToWritev (Option.valOf o f) x)) | _ => NONE (* end case *)) val writeArr' = (case wr of {writeArr=SOME f, ...} => SOME f | {writeVec=SOME f, ...} => SOME(writevToWritea f) | {writeArrNB=SOME f, block=SOME b, ...} => SOME(blockingOperation (f, b)) | {writeVecNB=SOME f,block=SOME b, ...} => SOME(blockingOperation (writevToWritea f, b)) | _ => NONE (* end case *)) val writeVecNB' = (case wr of {writeVecNB=SOME f, ...} => SOME f | {writeArrNB=SOME f, ...} => SOME(writeaToWritevNB f) | {writeVec=SOME f, canOutput=SOME can, ...} => SOME(nonblockingOperation (f, can)) | {writeArr=SOME f, canOutput=SOME can, ...} => SOME(nonblockingOperation (writeaToWritev f, can)) | _ => NONE (* end case *)) val writeArrNB' = (case wr of {writeArrNB=SOME f, ...} => SOME f | {writeVecNB=SOME f, ...} => SOME(writevToWritea f) | {writeArr=SOME f, canOutput=SOME can, ...} => SOME(nonblockingOperation (f, can)) | {writeVec=SOME f, canOutput=SOME can, ...} => SOME(nonblockingOperation (writevToWritea f, can)) | _ => NONE (* end case *)) in WR{ name= #name wr, chunkSize= #chunkSize wr, writeVec=writeVec', writeArr=writeArr', writeVecNB=writeVecNB', writeArrNB=writeArrNB', block= #block wr, canOutput = #canOutput wr, getPos = #getPos wr, setPos = #setPos wr, endPos = #endPos wr, verifyPos = #verifyPos wr, close= #close wr, ioDesc= #ioDesc wr } end fun openVector v = let val pos = ref 0 val closed = ref false fun checkClosed () = if !closed then raise IO.ClosedStream else () val len = V.length v fun avail () = len - !pos fun readV n = let val p = !pos val m = Int31Imp.min (n, len - p) in checkClosed (); pos := p + m; VS.vector (VS.slice (v, p, SOME m)) end fun readA asl = let val p = !pos val (buf, i, n) = AS.base asl val m = Int31Imp.min (n, len - p) in checkClosed (); pos := p + m; AS.copyVec { src = VS.slice (v, p, SOME m), dst = buf, di = i }; m end fun checked k () = (checkClosed (); k) in (* random access not supported because pos type is abstract *) RD { name = "", chunkSize = len, readVec = SOME readV, readArr = SOME readA, readVecNB = SOME (SOME o readV), readArrNB = SOME (SOME o readA), block = SOME checkClosed, canInput = SOME (checked true), avail = SOME o avail, getPos = NONE, setPos = NONE, endPos = NONE, verifyPos = NONE, close = fn () => closed := true, ioDesc = NONE } end fun nullRd () = let val closed = ref false fun checkClosed () = if !closed then raise IO.ClosedStream else () fun checked k _ = (checkClosed (); k) in RD { name = "", chunkSize = 1, readVec = SOME (checked (V.fromList [])), readArr = SOME (checked 0), readVecNB = SOME (checked (SOME (V.fromList []))), readArrNB = SOME (checked (SOME 0)), block = SOME checkClosed, canInput = SOME (checked true), avail = fn () => SOME 0, getPos = NONE, setPos = NONE, endPos = NONE, verifyPos = NONE, close = fn () => closed := true, ioDesc = NONE } end fun nullWr () = let val closed = ref false fun checkClosed () = if !closed then raise IO.ClosedStream else () fun checked k () = k fun writeVec vsl = (checkClosed (); VS.length vsl) fun writeArr asl = (checkClosed (); AS.length asl) in WR { name = "", chunkSize = 1, writeVec = SOME writeVec, writeArr = SOME writeArr, writeVecNB = SOME (SOME o writeVec), writeArrNB = SOME (SOME o writeArr), block = SOME checkClosed, canOutput = SOME (checked true), getPos = NONE, setPos = NONE, endPos = NONE, verifyPos = NONE, close = fn () => closed := true, ioDesc = NONE } end end (* PrimIO *) end (* local *) smlsharp-1.2.0/src/smlnj/Basis/IO/text-io.smi0000644 000000000000000000001113712050661606021073 0ustar00rootroot0000000 0000000 _require "../../../basis/main/General.smi" _require "../../../basis/main/StringCvt.smi" _require "../../../basis/main/Option.smi" _require "../../../basis/main/Int.smi" _require "../../../basis/main/IO.smi" _require "../../../basis/main/CharVector.smi" _require "../../../basis/main/CharVectorSlice.smi" _require "../../../basis/main/CharArray.smi" _require "../../../basis/main/String.smi" _require "../../../basis/main/Substring.smi" _require "../IO/prim-io-text.smi" _require "../IO/clean-io.smi" _require "../IO/os-prim-io.sig" _require "../Unix/posix-text-prim-io.smi" structure SMLSharpSMLNJ_TextIO = struct structure StreamIO = struct type elem = SMLSharpSMLNJ_PosixTextPrimIO.PrimIO.elem type vector = SMLSharpSMLNJ_PosixTextPrimIO.PrimIO.vector type reader = SMLSharpSMLNJ_PosixTextPrimIO.PrimIO.reader type writer = SMLSharpSMLNJ_PosixTextPrimIO.PrimIO.writer type pos = SMLSharpSMLNJ_PosixTextPrimIO.PrimIO.pos datatype instream = ISTRM of in_buffer * int and in_buffer = IBUF of {basePos : pos option, more : more ref, data : vector, info : info} and more = MORE of in_buffer | EOS of in_buffer | NOMORE | TERMINATED and info = INFO of {reader : reader, readVec : int -> vector, readVecNB : (int -> vector) option, closed : bool ref, getPos : unit -> pos option, tail : more ref ref, cleanTag : SMLSharpSMLNJ_CleanIO.tag} datatype outstream = OSTRM of {buf : CharArray.array, pos : int ref, closed : bool ref, bufferMode : IO.buffer_mode ref, writer : writer, writeArr : CharArraySlice.slice -> unit, writeVec : CharVectorSlice.slice -> unit, cleanTag : SMLSharpSMLNJ_CleanIO.tag} datatype out_pos = OUTP of {pos : pos, strm : outstream} val input : instream -> vector * instream val input1 : instream -> (elem * instream) option val inputN : instream * int -> vector * instream val inputAll : instream -> vector * instream val canInput : instream * int -> int option val closeIn : instream -> unit val endOfStream : instream -> bool val output : outstream * vector -> unit val output1 : outstream * elem -> unit val flushOut : outstream -> unit val closeOut : outstream -> unit val mkInstream : reader * vector -> instream val getReader : instream -> reader * vector val filePosIn : instream -> pos val setBufferMode : outstream * IO.buffer_mode -> unit val getBufferMode : outstream -> IO.buffer_mode val mkOutstream : writer * IO.buffer_mode -> outstream val getWriter : outstream -> writer * IO.buffer_mode val getPosOut : outstream -> out_pos val setPosOut : out_pos -> outstream val filePosOut : out_pos -> pos val inputLine : instream -> (string * instream) option val outputSubstr : outstream * substring -> unit end type vector = StreamIO.vector type elem = StreamIO.elem type instream = StreamIO.instream ref type outstream = StreamIO.outstream ref val input : instream -> vector val input1 : instream -> elem option val inputN : instream * int -> vector val inputAll : instream -> vector val canInput : instream * int -> int option val lookahead : instream -> elem option val closeIn : instream -> unit val endOfStream : instream -> bool val output : outstream * vector -> unit val output1 : outstream * elem -> unit val flushOut : outstream -> unit val closeOut : outstream -> unit val mkInstream : StreamIO.instream -> instream val getInstream : instream -> StreamIO.instream val setInstream : instream * StreamIO.instream -> unit val mkOutstream : StreamIO.outstream -> outstream val getOutstream : outstream -> StreamIO.outstream val setOutstream : outstream * StreamIO.outstream -> unit val getPosOut : outstream -> StreamIO.out_pos val setPosOut : outstream * StreamIO.out_pos -> unit val inputLine : instream -> string option val outputSubstr : outstream * substring -> unit val openIn : string -> instream val openOut : string -> outstream val openAppend : string -> outstream val openString : string -> instream val stdIn : instream val stdOut : outstream val stdErr : outstream val print : string -> unit val scanStream : ((SMLSharp.Char.char, StreamIO.instream) StringCvt.reader -> ('a, StreamIO.instream) StringCvt.reader) -> instream -> 'a option end smlsharp-1.2.0/src/smlnj/Basis/IO/text-io.sml0000644 000000000000000000007415312050661606021105 0ustar00rootroot0000000 0000000 _interface "text-io.smi" infix 7 * infix 6 + - infixr 5 :: infix 4 = >= < val op * = SMLSharp.Int.mul val op + = SMLSharp.Int.add val op - = SMLSharp.Int.sub val op >= = SMLSharp.Int.gteq val op < = SMLSharp.Int.lt structure CleanIO = SMLSharpSMLNJ_CleanIO signature TEXT_IO = sig structure StreamIO : sig type elem type vector type reader type writer type pos datatype instream = ISTRM of in_buffer * int and in_buffer = IBUF of {basePos : pos option, more : more ref, data : vector, info : info} and more = MORE of in_buffer | EOS of in_buffer | NOMORE | TERMINATED and info = INFO of {reader : reader, readVec : int -> vector, readVecNB : (int -> vector) option, closed : bool ref, getPos : unit -> pos option, tail : more ref ref, cleanTag : SMLSharpSMLNJ_CleanIO.tag} datatype outstream = OSTRM of {buf : CharArray.array, pos : int ref, closed : bool ref, bufferMode : IO.buffer_mode ref, writer : writer, writeArr : CharArraySlice.slice -> unit, writeVec : CharVectorSlice.slice -> unit, cleanTag : SMLSharpSMLNJ_CleanIO.tag} datatype out_pos = OUTP of {pos : pos, strm : outstream} val input : instream -> vector * instream val input1 : instream -> (elem * instream) option val inputN : instream * int -> vector * instream val inputAll : instream -> vector * instream val canInput : instream * int -> int option val closeIn : instream -> unit val endOfStream : instream -> bool val output : outstream * vector -> unit val output1 : outstream * elem -> unit val flushOut : outstream -> unit val closeOut : outstream -> unit val mkInstream : reader * vector -> instream val getReader : instream -> reader * vector val filePosIn : instream -> pos val setBufferMode : outstream * IO.buffer_mode -> unit val getBufferMode : outstream -> IO.buffer_mode val mkOutstream : writer * IO.buffer_mode -> outstream val getWriter : outstream -> writer * IO.buffer_mode val getPosOut : outstream -> out_pos val setPosOut : out_pos -> outstream val filePosOut : out_pos -> pos val inputLine : instream -> (string * instream) option val outputSubstr : outstream * substring -> unit end type vector = StreamIO.vector type elem = StreamIO.elem type instream type outstream val input : instream -> vector val input1 : instream -> elem option val inputN : instream * int -> vector val inputAll : instream -> vector val canInput : instream * int -> int option val lookahead : instream -> elem option val closeIn : instream -> unit val endOfStream : instream -> bool val output : outstream * vector -> unit val output1 : outstream * elem -> unit val flushOut : outstream -> unit val closeOut : outstream -> unit val mkInstream : StreamIO.instream -> instream val getInstream : instream -> StreamIO.instream val setInstream : instream * StreamIO.instream -> unit val mkOutstream : StreamIO.outstream -> outstream val getOutstream : outstream -> StreamIO.outstream val setOutstream : outstream * StreamIO.outstream -> unit val getPosOut : outstream -> StreamIO.out_pos val setPosOut : outstream * StreamIO.out_pos -> unit val inputLine : instream -> string option val outputSubstr : outstream * substring -> unit val openIn : string -> instream val openOut : string -> outstream val openAppend : string -> outstream val openString : string -> instream val stdIn : instream val stdOut : outstream val stdErr : outstream val print : string -> unit val scanStream : ((SMLSharp.Char.char, StreamIO.instream) StringCvt.reader -> ('a, StreamIO.instream) StringCvt.reader) -> instream -> 'a option end (* text-io-fn.sml * * COPYRIGHT (c) 1995 AT&T Bell Laboratories. * * QUESTION: what operations should raise exceptions when the stream is * closed? * *) local structure OSPrimIO = SMLSharpSMLNJ_PosixTextPrimIO in structure SMLSharpSMLNJ_TextIO : TEXT_IO = struct structure PIO = OSPrimIO.PrimIO structure A = CharArray structure V = CharVector structure AS = CharArraySlice structure VS = CharVectorSlice (* an element for initializing buffers *) val someElem = #"\000" (** Fast, but unsafe version (from CharVector) ** val vecSub = InlineT.CharVector.sub val arrUpdate = InlineT.CharArray.update (* fast vector extract operation. This should never be called with * a length of 0. *) fun vecExtract (v, base, optLen) = let val len = V.length v fun newVec n = let val newV = Assembly.A.create_s n fun fill i = if (i < n) then ( InlineT.CharVector.update(newV, i, vecSub(v, base+i)); fill(i+1)) else () in fill 0; newV end in case (base, optLen) of (0, NONE) => v | (_, NONE) => newVec (len - base) | (_, SOME n) => newVec n (* end case *) end **) val vecExtract = VS.vector o VS.slice val vecSub = V.sub val arrUpdate = A.update val substringBase = Substring.base val empty = "" structure StreamIO = struct type vector = V.vector type elem = V.elem type reader = PIO.reader type writer = PIO.writer type pos = PIO.pos (*** Functional input streams *** ** We represent an instream by a pointer to a buffer and an offset ** into the buffer. The buffers are chained by the "more" field from ** the beginning of the stream towards the end. If the "more" field ** is EOS, then it refers to an empty buffer (consuming the EOF marker ** involves moving the stream from immeditaly in front of the EOS to ** to the empty buffer). A "more" field of TERMINATED marks a ** terminated stream. We also have the invariant that the "tail" ** field of the "info" structure points to a more ref that is either ** NOMORE or TERMINATED. **) datatype instream = ISTRM of (in_buffer * int) and in_buffer = IBUF of { basePos : pos option, more : more ref, data : vector, info : info } and more = MORE of in_buffer (* forward link to additional data *) | EOS of in_buffer (* End of stream marker *) | NOMORE (* placeholder for forward link *) | TERMINATED (* termination of the stream *) and info = INFO of { reader : reader, readVec : int -> vector, readVecNB : (int -> vector) option, closed : bool ref, getPos : unit -> pos option, tail : more ref ref, (* points to the more cell of the last buffer *) cleanTag : CleanIO.tag } fun infoOfIBuf (IBUF{info, ...}) = info fun chunkSzOfIBuf buf = let val INFO{reader=PIO.RD{chunkSize, ...}, ...} = infoOfIBuf buf in chunkSize end fun readVec (IBUF{info=INFO{readVec=f, ...}, ...}) = f fun inputExn (INFO{reader=PIO.RD{name, ...}, ...}, mlOp, exn) = raise IO.Io{function=mlOp, name=name, cause=exn} (* this exception is raised by readVecNB in the blocking case *) exception WouldBlock fun extendStream (readFn, mlOp, buf as IBUF{more, info, ...}) = (let val INFO{getPos, tail, ...} = info val basePos = getPos() val chunk = readFn (chunkSzOfIBuf buf) val newMore = ref NOMORE val buf' = IBUF{ basePos = basePos, data = chunk, more = newMore, info = info } val next = if (V.length chunk = 0) then EOS buf' else MORE buf' in more := next; tail := newMore; next end handle ex => inputExn(info, mlOp, ex)) fun getBuffer (readFn, mlOp) (buf as IBUF{more, info, ...}) = ( case !more of TERMINATED => (EOS buf) | NOMORE => extendStream (readFn, mlOp, buf) | more => more (* end case *)) (* read a chunk that is at least the specified size *) fun readChunk buf = let val INFO{readVec, reader=PIO.RD{chunkSize, ...}, ...} = infoOfIBuf buf in case (chunkSize - 1) of 0 => (fn n => readVec n) | k => (* round up to next multiple of chunkSize *) (fn n => readVec(Int.quot((n+k), chunkSize) * chunkSize)) (* end case *) end fun generalizedInput getBuf = let fun get (ISTRM(buf as IBUF{data, ...}, pos)) = let val len = V.length data in if (pos < len) then (vecExtract(data, pos, NONE), ISTRM(buf, len)) else (case (getBuf buf) of (EOS buf) => (empty, ISTRM(buf, 0)) | (MORE rest) => get (ISTRM(rest, 0)) | _ => raise Fail "bogus getBuf" (* end case *)) end in get end (* terminate an input stream *) fun terminate (INFO{tail, cleanTag, ...}) = (case !tail of (m as ref NOMORE) => ( CleanIO.removeCleaner cleanTag; m := TERMINATED) | (m as ref TERMINATED) => () | _ => raise Match (* shut up compiler *) (* end case *)) fun input (strm as ISTRM(buf, _)) = generalizedInput (getBuffer (readVec buf, "input")) strm fun input1 (ISTRM(buf, pos)) = let val IBUF{data, more, ...} = buf in if (pos < V.length data) then SOME(vecSub(data, pos), ISTRM(buf, pos+1)) else (case !more of (MORE buf) => input1 (ISTRM(buf, 0)) | (EOS _) => NONE | NOMORE => ( case extendStream (readVec buf, "input1", buf) of (MORE rest) => input1 (ISTRM(rest, 0)) | _ => NONE (* end case *)) | TERMINATED => NONE (* end case *)) end fun inputN (ISTRM(buf, pos), n) = let fun join (item, (list, strm)) = (item::list, strm) fun inputList (buf as IBUF{data, ...}, i, n) = let val len = V.length data val remain = len-i in if (remain >= n) then ([vecExtract(data, i, SOME n)], ISTRM(buf, i+n)) else join ( vecExtract(data, i, NONE), nextBuf(buf, n-remain)) end and nextBuf (buf as IBUF{more, data, ...}, n) = (case !more of (MORE buf) => inputList (buf, 0, n) | (EOS buf) => ([], ISTRM(buf, 0)) | NOMORE => ( case extendStream (readVec buf, "inputN", buf) of (MORE rest) => inputList (rest, 0, n) | _ => ([], ISTRM(buf, V.length data)) (* end case *)) | TERMINATED => ([], ISTRM(buf, V.length data)) (* end case *)) val (data, strm) = inputList (buf, pos, n) in (V.concat data, strm) end fun inputAll (strm as ISTRM(buf, _)) = let val INFO{reader=PIO.RD{avail, ...}, ...} = infoOfIBuf buf (* Read a chunk that is as large as the available input. Note * that for systems that use CR-LF for #"\n", the size will be * too large, but this should be okay. *) fun bigChunk _ = let val delta = (case avail() of NONE => chunkSzOfIBuf buf | (SOME n) => n (* end case *)) in readChunk buf delta end val bigInput = generalizedInput (getBuffer (bigChunk, "inputAll")) fun loop (v, strm) = if (V.length v = 0) then ([], strm) else let val (l, strm') = loop(bigInput strm) in (v :: l, strm') end val (data, strm') = loop (bigInput strm) in (V.concat data, strm') end (* Return SOME k, if k <= amount characters can be read without blocking. *) fun canInput (strm as ISTRM(buf, pos), amount) = let val readVecNB = (case buf of (IBUF{info as INFO{readVecNB=NONE, ...}, ...}) => inputExn(info, "canInput", IO.NonblockingNotSupported) | (IBUF{info=INFO{readVecNB=SOME f, ...}, ...}) => f (* end case *)) fun tryInput (buf as IBUF{data, ...}, i, n) = let val len = V.length data val remain = len - i in if (remain >= n) then SOME n else nextBuf (buf, n - remain) end and nextBuf (IBUF{more, ...}, n) = (case !more of (MORE buf) => tryInput (buf, 0, n) | (EOS _) => SOME(amount - n) | TERMINATED => SOME(amount - n) | NOMORE => (( case extendStream (readVecNB, "canInput", buf) of (MORE b) => tryInput (b, 0, n) | _ => SOME(amount - n) (* end case *)) handle IO.Io{cause=WouldBlock, ...} => SOME(amount - n)) (* end case *)) in if (amount < 0) then raise Size else tryInput (buf, pos, amount) end fun closeIn (ISTRM(buf, _)) = (case (infoOfIBuf buf) of INFO{closed=ref true, ...} => () | (info as INFO{closed, reader=PIO.RD{close, ...}, ...}) => ( terminate info; closed := true; close() handle ex => inputExn(info, "closeIn", ex)) (* end case *)) fun endOfStream (ISTRM(buf, pos)) = (case buf of (IBUF{more=ref(MORE _), ...}) => false | (IBUF{more, data, info=INFO{closed, ...}, ...}) => if (pos = V.length data) then (case (!more, !closed) of (NOMORE, false) => ( case extendStream (readVec buf, "endOfStream", buf) of (EOS _) => true | _ => false (* end case *)) | _ => true (* end case *)) else false (* end case *)) fun mkInstream (reader, data) = let val PIO.RD{readVec, readVecNB, getPos, setPos, ...} = reader val readVec' = (case readVec of NONE => (fn _ => raise IO.BlockingNotSupported) | (SOME f) => f (* end case *)) val readVecNB' = (case readVecNB of NONE => NONE | (SOME f) => SOME(fn arg => case (f arg) of (SOME x) => x | NONE => raise WouldBlock (* end case *)) (* end case *)) val getPos = (case (getPos, setPos) of (SOME f, SOME _) => (fn () => SOME(f())) | _ => (fn () => NONE) (* end case *)) val more = ref NOMORE val closedFlg = ref false val tag = CleanIO.addCleaner { init = fn () => (closedFlg := true), flush = fn () => (), close = fn () => (closedFlg := true) } val info = INFO{ reader=reader, readVec=readVec', readVecNB=readVecNB', closed = closedFlg, getPos = getPos, tail = ref more, cleanTag = tag } (** What should we do about the position when there is initial data?? **) (** Suggestion: When building a stream with supplied initial data, ** nothing can be said about the positions inside that initial ** data (who knows where that data even came from!). **) val basePos = if (V.length data = 0) then getPos() else NONE in ISTRM( IBUF{basePos = basePos, data = data, info = info, more = more}, 0) end fun getReader (ISTRM(buf, pos)) = let val IBUF{data, info as INFO{reader, ...}, more, ...} = buf fun getData (MORE(IBUF{data, more, ...})) = data :: getData(!more) | getData _ = [] in terminate info; if (pos < V.length data) then ( reader, V.concat(vecExtract(data, pos, NONE) :: getData(!more)) ) else (reader, V.concat(getData(!more))) end (* Get the underlying file position of a stream *) fun filePosIn (ISTRM(buf, pos)) = (case buf of IBUF{basePos=NONE, info, ...} => inputExn (info, "filePosIn", IO.RandomAccessNotSupported) | IBUF{basePos=SOME base, info, ...} => let val INFO{reader=PIO.RD rd, readVec, ...} = info in case (#getPos rd, #setPos rd) of (SOME getPos, SOME setPos) => let val tmpPos = getPos() fun readN 0 = () | readN n = (case V.length(readVec n) of 0 => inputExn ( info, "filePosIn", Fail "bogus position") | k => readN(n-k) (* end case *)) in setPos base; readN pos; getPos () before setPos tmpPos end | _ => raise Fail "filePosIn: impossible" (* end case *) end (* end case *)) (** Text stream specific operations **) fun inputLine (ISTRM(buf as IBUF{data, more, ...}, pos)) = let fun join (item, (list, strm)) = (item::list, strm) fun nextBuf (buf as IBUF{more, data, ...}) = let fun last () = (["\n"], ISTRM(buf, V.length data)) in case !more of (MORE buf) => scanData (buf, 0) | (EOS buf) => last () | NOMORE => ( case extendStream (readVec buf, "inputLine", buf) of (EOS _) => last () | (MORE rest) => scanData (rest, 0) | _ => raise Match (* shut up compiler *) (* end case *)) | TERMINATED => last () (* end case *) end and scanData (buf as IBUF{data, more, ...}, i) = let val len = V.length data fun scan j = if (j = len) then join(vecExtract(data, i, NONE), nextBuf buf) else if (vecSub(data, j) = #"\n") then ([vecExtract(data, i, SOME(j+1-i))], ISTRM(buf, j+1)) else scan (j+1) in scan i end val (data, strm) = if (V.length data = pos) then (case getBuffer (readVec buf, "inputLine") buf of (EOS buf) => ([""], ISTRM(buf, 0)) | _ => nextBuf buf (* end case *)) else scanData (buf, pos) val res_v = V.concat data in if V.length res_v = 0 then NONE else SOME (res_v, strm) end (*** Output streams ***) datatype outstream = OSTRM of { buf : A.array, pos : int ref, closed : bool ref, bufferMode : IO.buffer_mode ref, writer : writer, writeArr : AS.slice -> unit, writeVec : VS.slice -> unit, cleanTag : CleanIO.tag } fun outputExn (OSTRM{writer=PIO.WR{name, ...}, ...}, mlOp, exn) = raise IO.Io{function=mlOp, name=name, cause=exn} fun isNL #"\n" = true | isNL _ = false fun isClosedOut (strm as OSTRM{closed=ref true, ...}, mlOp) = outputExn (strm, mlOp, IO.ClosedStream) | isClosedOut _ = () fun flushBuffer (strm as OSTRM{buf, pos, writeArr, ...}, mlOp) = ( case !pos of 0 => () | n => ((writeArr (AS.slice (buf, 0, SOME n)); pos := 0) handle ex => outputExn (strm, mlOp, ex)) (* end case *)) (* A version of copyVec that checks for newlines, while it is copying. * This is used for LINE_BUF output of strings and substrings. *) fun lineBufCopyVec (src, srcI, srcLen, dst, dstI) = let val stop = srcI+srcLen fun cpy (srcI, dstI, lb) = if (srcI < stop) then let val c = vecSub(src, srcI) in arrUpdate (dst, dstI, c); cpy (srcI+1, dstI+1, lb orelse isNL c) end else lb in cpy (srcI, dstI, false) end (* a version of copyVec for BLOCK_BUF output of strings and substrings. *) fun blockBufCopyVec (src, srcI, srcLen, dst, dstI) = (AS.copyVec { src = VS.slice (src, srcI, SOME srcLen), dst = dst, di = dstI }; false) fun output (strm as OSTRM os, v) = let val _ = isClosedOut (strm, "output") val {buf, pos, bufferMode, ...} = os fun flush () = flushBuffer (strm, "output") fun writeDirect () = ( case !pos of 0 => () | n => (#writeArr os (AS.slice (buf, 0, SOME n)); pos := 0) (* end case *); #writeVec os (VS.full v)) handle ex => outputExn (strm, "output", ex) fun insert copyVec = let val bufLen = A.length buf val dataLen = V.length v in if (dataLen >= bufLen) then writeDirect() else let val i = !pos val avail = bufLen - i in if (avail < dataLen) then let val _ = AS.copyVec { src=VS.slice(v,0,SOME avail), dst=buf, di=i } val _ = #writeArr os (AS.full buf) handle ex => ( pos := bufLen; outputExn (strm, "output", ex)) val needsFlush = copyVec(v, avail, dataLen-avail, buf, 0) in pos := dataLen-avail; if needsFlush then flush() else () end else let val needsFlush = copyVec(v, 0, dataLen, buf, i) in pos := i + dataLen; if (needsFlush orelse (avail = dataLen)) then flush() else () end end end in case !bufferMode of IO.NO_BUF => writeDirect () | IO.LINE_BUF => insert lineBufCopyVec | IO.BLOCK_BUF => insert blockBufCopyVec (* end case *) end fun output1 (strm as OSTRM{buf, pos, bufferMode, writeArr, ...}, elem) = ( isClosedOut (strm, "output1"); case !bufferMode of IO.NO_BUF => ( arrUpdate (buf, 0, elem); writeArr (AS.slice (buf, 0, SOME 1)) handle ex => outputExn (strm, "output1", ex)) | IO.LINE_BUF => let val i = !pos val i' = i+1 in arrUpdate (buf, i, elem); pos := i'; if ((i' = A.length buf) orelse (isNL elem)) then flushBuffer (strm, "output1") else () end | IO.BLOCK_BUF => let val i = !pos val i' = i+1 in arrUpdate (buf, i, elem); pos := i'; if (i' = A.length buf) then flushBuffer (strm, "output1") else () end (* end case *)) fun flushOut strm = ( flushBuffer (strm, "flushOut")) fun closeOut (strm as OSTRM{writer=PIO.WR{close, ...}, closed, cleanTag, ...}) = if !closed then () else ( flushBuffer (strm, "closeOut"); closed := true; CleanIO.removeCleaner cleanTag; close()) fun mkOutstream (wr as PIO.WR{chunkSize, writeArr, writeVec, ...}, mode) = let fun iterate (f, size, subslice) sl = let fun lp sl = if size sl = 0 then () else let val n = f sl in lp (subslice (sl, n, NONE)) end in lp sl end val writeArr' = (case writeArr of NONE => (fn _ => raise IO.BlockingNotSupported) | (SOME f) => iterate (f, AS.length, AS.subslice) (* end case *)) val writeVec' = (case writeVec of NONE => (fn _ => raise IO.BlockingNotSupported) | (SOME f) => iterate (f, VS.length, VS.subslice) (* end case *)) (* install a dummy cleaner *) val tag = CleanIO.addCleaner { init = fn () => (), flush = fn () => (), close = fn () => () } val strm = OSTRM{ buf = A.array(chunkSize, someElem), pos = ref 0, closed = ref false, bufferMode = ref mode, writer = wr, writeArr = writeArr', writeVec = writeVec', cleanTag = tag } in CleanIO.rebindCleaner (tag, { init = fn () => closeOut strm, flush = fn () => flushOut strm, close = fn () => closeOut strm }); strm end fun getWriter (strm as OSTRM{writer, bufferMode, ...}) = ( flushBuffer (strm, "getWriter"); (writer, !bufferMode)) (** Position operations on outstreams **) datatype out_pos = OUTP of { pos : PIO.pos, strm : outstream } fun getPosOut (strm as OSTRM{writer, ...}) = ( flushBuffer (strm, "getPosOut"); case writer of PIO.WR{getPos=SOME f, ...} => ( OUTP{pos = f(), strm = strm} handle ex => outputExn(strm, "getPosOut", ex)) | _ => outputExn(strm, "getPosOut", IO.RandomAccessNotSupported) (* end case *)) fun filePosOut (OUTP{pos, strm}) = ( isClosedOut (strm, "filePosOut"); pos) fun setPosOut (OUTP{pos, strm as OSTRM{writer, ...}}) = ( isClosedOut (strm, "setPosOut"); case writer of PIO.WR{setPos=SOME f, ...} => ( (* (f pos) *) (f pos; strm) handle ex => outputExn(strm, "setPosOut", ex)) | _ => outputExn(strm, "getPosOut", IO.RandomAccessNotSupported) (* end case *)) (** Text stream specific operations **) fun outputSubstr (strm as OSTRM os, ss) = let val _ = isClosedOut (strm, "outputSubstr") val (v, dataStart, dataLen) = substringBase ss val {buf, pos, bufferMode, ...} = os val bufLen = A.length buf fun flush () = flushBuffer (strm, "outputSubstr") fun writeDirect () = ( case !pos of 0 => () | n => (#writeArr os (AS.slice (buf, 0, SOME n)); pos := 0) (* end case *); #writeVec os (VS.slice (v, dataStart, SOME dataLen))) handle ex => outputExn (strm, "outputSubstr", ex) fun insert copyVec = let val bufLen = A.length buf in if (dataLen >= bufLen) then writeDirect() else let val i = !pos val avail = bufLen - i in if (avail < dataLen) then let val _ = AS.copyVec { src = VS.slice (v,dataStart,SOME avail), dst = buf, di = i } val _ = #writeArr os (AS.full buf) handle ex => ( pos := bufLen; outputExn (strm, "outputSubstr", ex)) val needsFlush = copyVec(v, dataStart+avail, dataLen-avail, buf, 0) in pos := dataLen-avail; if needsFlush then flush() else () end else let val needsFlush = copyVec(v, dataStart, dataLen, buf, i) in pos := i + dataLen; if (needsFlush orelse (avail = dataLen)) then flush() else () end end end in case !bufferMode of IO.NO_BUF => writeDirect() | IO.LINE_BUF => insert lineBufCopyVec | IO.BLOCK_BUF => insert blockBufCopyVec (* end case *) end fun setBufferMode (strm as OSTRM{bufferMode, ...}, IO.NO_BUF) = ( flushBuffer (strm, "setBufferMode"); bufferMode := IO.NO_BUF) | setBufferMode (strm as OSTRM{bufferMode, ...}, mode) = ( isClosedOut (strm, "setBufferMode"); bufferMode := mode) fun getBufferMode (strm as OSTRM{bufferMode, ...}) = ( isClosedOut (strm, "getBufferMode"); !bufferMode) end (* StreamIO *) type vector = V.vector type elem = V.elem type instream = StreamIO.instream ref type outstream = StreamIO.outstream ref (** Input operations **) fun input strm = let val (v, strm') = StreamIO.input(!strm) in strm := strm'; v end fun input1 strm = (case StreamIO.input1(!strm) of NONE => NONE | (SOME(elem, strm')) => (strm := strm'; SOME elem) (* end case *)) fun inputN (strm, n) = let val (v, strm') = StreamIO.inputN (!strm, n) in strm := strm'; v end fun inputAll (strm : instream) = let val (v, s) = StreamIO.inputAll(!strm) in strm := s; v end fun canInput (strm, n) = StreamIO.canInput (!strm, n) fun lookahead (strm : instream) = (case StreamIO.input1(!strm) of NONE => NONE | (SOME(elem, _)) => SOME elem (* end case *)) fun closeIn strm = let val (s as StreamIO.ISTRM(buf as StreamIO.IBUF{data, ...}, _)) = !strm (* find the end of the stream *) fun findEOS (StreamIO.IBUF{more=ref(StreamIO.MORE buf), ...}) = findEOS buf | findEOS (StreamIO.IBUF{more=ref(StreamIO.EOS buf), ...}) = findEOS buf | findEOS (buf as StreamIO.IBUF{data, ...}) = StreamIO.ISTRM(buf, V.length data) in StreamIO.closeIn s; strm := findEOS buf end fun endOfStream strm = StreamIO.endOfStream(! strm) (** Output operations **) fun output (strm, v) = StreamIO.output(!strm, v) fun output1 (strm, c) = StreamIO.output1(!strm, c) fun flushOut strm = StreamIO.flushOut(!strm) fun closeOut strm = StreamIO.closeOut(!strm) fun getPosOut strm = StreamIO.getPosOut(!strm) fun setPosOut (strm, p as StreamIO.OUTP{strm=strm', ...}) = ( (* strm := strm'; StreamIO.setPosOut p) *) strm := strm'; StreamIO.setPosOut p; ()) fun mkInstream (strm : StreamIO.instream) = ref strm fun getInstream (strm : instream) = !strm fun setInstream (strm : instream, strm') = strm := strm' fun mkOutstream (strm : StreamIO.outstream) = ref strm fun getOutstream (strm : outstream) = !strm fun setOutstream (strm : outstream, strm') = strm := strm' (* figure out the proper buffering mode for a given writer *) fun bufferMode (PIO.WR{ioDesc=NONE, ...}) = IO.BLOCK_BUF | bufferMode (PIO.WR{ioDesc=SOME iod, ...}) = if (OS.IO.kind iod = OS.IO.Kind.tty) then IO.LINE_BUF else IO.BLOCK_BUF (** Open files **) fun openIn fname = mkInstream(StreamIO.mkInstream(OSPrimIO.openRd fname, empty)) handle ex => raise IO.Io{function="openIn", name=fname, cause=ex} fun openOut fname = let val wr = OSPrimIO.openWr fname in mkOutstream (StreamIO.mkOutstream (wr, bufferMode wr)) end handle ex => raise IO.Io{function="openOut", name=fname, cause=ex} fun openAppend fname = mkOutstream(StreamIO.mkOutstream(OSPrimIO.openApp fname, IO.NO_BUF)) handle ex => raise IO.Io{function="openAppend", name=fname, cause=ex} (** Text stream specific operations **) fun inputLine strm = Option.map (fn (v, s) => (strm := s; v)) (StreamIO.inputLine (!strm)) fun outputSubstr (strm, ss) = StreamIO.outputSubstr (!strm, ss) fun openString src = mkInstream(StreamIO.mkInstream(OSPrimIO.strReader src, empty)) handle ex => raise IO.Io{function="openIn", name="", cause=ex} (* the standard streams *) local structure SIO = StreamIO fun mkStdIn () = let val (strm as SIO.ISTRM(SIO.IBUF{info=SIO.INFO{cleanTag, ...}, ...}, _)) = SIO.mkInstream(OSPrimIO.stdIn(), empty) in CleanIO.rebindCleaner (cleanTag, { init = fn () => (), flush = fn () => (), close = fn () => () }); strm end fun mkStdOut () = let val wr = OSPrimIO.stdOut() val (strm as SIO.OSTRM{cleanTag, ...}) = SIO.mkOutstream(wr, bufferMode wr) in CleanIO.rebindCleaner (cleanTag, { init = fn () => (), flush = fn () => SIO.flushOut strm, close = fn () => SIO.flushOut strm }); strm end fun mkStdErr () = let val (strm as SIO.OSTRM{cleanTag, ...}) = SIO.mkOutstream(OSPrimIO.stdErr(), IO.NO_BUF) in CleanIO.rebindCleaner (cleanTag, { init = fn () => (), flush = fn () => SIO.flushOut strm, close = fn () => SIO.flushOut strm }); strm end in val stdIn = mkInstream(mkStdIn()) val stdOut = mkOutstream(mkStdOut()) val stdErr = mkOutstream(mkStdErr()) (* Establish a hook function to rebuild the I/O stack *) val _ = CleanIO.stdStrmHook := (fn () => ( setInstream (stdIn, mkStdIn()); setOutstream (stdOut, mkStdOut()); setOutstream (stdErr, mkStdErr()))) end (* local *) fun print s = (output (stdOut, s); flushOut stdOut) fun scanStream scanFn = let val scan = scanFn StreamIO.input1 fun doit strm = let val instrm = getInstream strm in case scan instrm of NONE => NONE | SOME(item, instrm') => ( setInstream(strm, instrm'); SOME item) (* end case *) end in doit end end (* TextIOFn *) end (* local *) smlsharp-1.2.0/src/smlnj/Basis/NJ0000755 000000000000000000000000012050661606016706 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/smlnj/Basis/NJ/cleanup.sig0000644 000000000000000000000225712050661606021126 0ustar00rootroot0000000 0000000 (* cleanup.sig * * COPYRIGHT (c) 1995 AT&T Bell Laboratories. * * This provides a mechanism for registering actions that should be performed * at initialization or termination time. We define five distinct contexts * for a hook: * * AtExportML just prior to exporting a heap image (exportML). * AtExportFn exit because of exportFn. * AtExit normal program exit. * AtInit initialization of a program that was generated by exportML. * AtInitFn initialization of a program that was generated by exportFn. * *) signature CLEAN_UP = sig datatype when = AtExportML | AtExportFn | AtExit | AtInit | AtInitFn val atAll : when list (* at all times *) val addCleaner : (string * when list * (when -> unit)) -> (when list * (when -> unit)) option (* add the named cleaner. This returns the previous definition, or NONE. *) val removeCleaner : string -> (when list * (when -> unit)) option (* remove and return the named cleaner; return NONE if it is not found *) val clean : when -> unit (* perform the clean-up actions for the specified time. This function * should only be called if you really know what you are doing!! *) end (* CLEAN_UP *) smlsharp-1.2.0/src/smlnj/Basis/NJ/cleanup.smi0000644 000000000000000000000071112050661606021125 0ustar00rootroot0000000 0000000 _require "../../../basis/main/General.smi" _require "../../../basis/main/List.smi" _require "cleanup.sig" structure SMLSharpSMLNJ_CleanUp = struct datatype when = AtExportML | AtExportFn | AtExit | AtInit | AtInitFn val atAll : when list val addCleaner : (string * when list * (when -> unit)) -> (when list * (when -> unit)) option val removeCleaner : string -> (when list * (when -> unit)) option val clean : when -> unit end smlsharp-1.2.0/src/smlnj/Basis/NJ/cleanup.sml0000644 000000000000000000000612712050661606021137 0ustar00rootroot0000000 0000000 _interface "cleanup.smi" infix 4 = (* cleanup.sml * * COPYRIGHT (c) 1995 AT&T Bell Laboratories. * * This provides a mechanism for registering actions that should be performed * at initialization or termination time. We define five distinct contexts * for a hook: * * AtExportML just prior to exporting a heap image (exportML). * AtExportFn exit because of exportFn. * AtExit normal program exit. * AtInit initialization of a program that was generated by exportML. * AtInitFn initialization of a program that was generated by exportFn. * *) (* structure CleanUp : CLEAN_UP = *) structure SMLSharpSMLNJ_CleanUp : CLEAN_UP = struct datatype when = AtExportML | AtExportFn | AtExit | AtInit | AtInitFn val atAll = [AtExportML, AtExportFn, AtExit, AtInit, AtInitFn] val hooks = ref ([] : (string * when list * (when -> unit)) list) (* return the list of hooks that apply at when. *) fun filter when = let fun f [] = [] | f ((item as (_, whenLst, _))::r) = if (List.exists when whenLst) then item :: (f r) else (f r) in f (!hooks) end (* apply the clean-up function for the given time. In some cases, this * causes the list of hooks to be redefined. * NOTE: we reverse the order of application at initialization time. *) fun clean when = let val cleanFns = (case when (* of (AtInit | AtInitFn) => List.rev (filter (fn w => (w = when))) *) of AtInit => List.rev (filter (fn w => (w = when))) | AtInitFn => List.rev (filter (fn w => (w = when))) | _ => filter (fn w => (w = when)) (* end case *)) (* fun exportFnPred (AtInitFn | AtExit) = true *) fun exportFnPred AtInitFn = true | exportFnPred AtExit = true | exportFnPred _ = false fun initFnPred AtExit = true | initFnPred _ = false in (* remove uneccesary clean-up routines *) case when of AtExportFn => hooks := filter exportFnPred | AtInitFn => hooks := filter initFnPred | _ => () (* end case *); (* now apply the clean-up routines *) List.app (fn (_, _, f) => (f when) handle _ => ()) cleanFns end (* find and remove the named hook from the hook list; return the hook * and the new hook list; if the named hook doesn't exist, then return NONE. *) fun removeHook name = let fun remove [] = NONE | remove ((hook as (name', whenLst, cleanFn)) :: r) = if (name = name') then SOME((whenLst, cleanFn), r) else (case (remove r) of NONE => NONE | SOME(hook', r') => SOME(hook', hook::r') (* end case *)) in remove (! hooks) end (* add the named cleaner. This returns the previous definition, or NONE. *) fun addCleaner (arg as (name, _, _)) = (case (removeHook name) of NONE => (hooks := arg :: !hooks; NONE) | (SOME(oldHook, hookLst)) => ( hooks := arg :: hookLst; SOME oldHook) (* end case *)) (* remove and return the named cleaner; return NONE if it is not found *) fun removeCleaner name = (case (removeHook name) of NONE => NONE | (SOME(oldHook, hookLst)) => ( hooks := hookLst; SOME oldHook) (* end case *)) end (* CleanUp *) smlsharp-1.2.0/src/smlnj/Basis/OS0000755 000000000000000000000000012050661606016720 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/smlnj/Basis/OS/os-path-fn.smi0000644 000000000000000000000370012050661606021465 0ustar00rootroot0000000 0000000 _require "../../../basis/main/List.smi" _require "../../../basis/main/Bool.smi" _require "../../../basis/main/CharVector.smi" _require "../../../basis/main/String.smi" _require "../../../basis/main/Substring.smi" _require "../../../basis/main/OS_PATH.sig" functor SMLSharpSMLNJ_OS_PathFn (OSPathBase : sig exception Path datatype arc_kind = Null | Parent | Current | Arc of string val classify : string -> arc_kind val parentArc : string val currentArc : string val validArc : string -> bool val validVolume : bool * Substring.substring -> bool val splitVolPath : string -> bool * Substring.substring * Substring.substring val joinVolPath : bool * string * string -> string val arcSepChar : char val sameVol : string * string -> bool end) = struct exception Path = OSPathBase.Path exception InvalidArc val parentArc : string val currentArc : string val fromString : string -> {isAbs : bool, vol : string, arcs : string list} val toString : {isAbs : bool, vol : string, arcs : string list} -> string val validVolume : {isAbs : bool, vol : string} -> bool val getVolume : string -> string val getParent : string -> string val splitDirFile : string -> {dir : string, file : string} val joinDirFile : {dir : string, file : string} -> string val dir : string -> string val file : string -> string val splitBaseExt : string -> {base : string, ext : string option} val joinBaseExt : {base : string, ext : string option} -> string val base : string -> string val ext : string -> string option val mkCanonical : string -> string val isCanonical : string -> bool val mkAbsolute : {path : string, relativeTo : string} -> string val mkRelative : {path : string, relativeTo : string} -> string val isAbsolute : string -> bool val isRelative : string -> bool val isRoot : string -> bool val concat : string * string -> string val fromUnixPath : string -> string val toUnixPath : string -> string end smlsharp-1.2.0/src/smlnj/Basis/OS/os-path-fn.sml0000644 000000000000000000002123612050661606021474 0ustar00rootroot0000000 0000000 _interface "os-path-fn.smi" infixr 5 :: infix 4 = <> <= infix 3 o fun op <> (x:char, y) = if x = y then false else true val op <= = SMLSharp.Int.lteq fun op o (f, g) = fn x => f (g x) (* os-path-fn.sml * * COPYRIGHT (c) 2007 The Fellowship of SML/NJ (http://smlnj.org) * All rights reserved. * * A functorized implementation of the OS.Path structure. * * NOTE: these operations are currently not very efficient, since they * explode the path into its volume and arcs. A better implementation * would work "in situ." * *) (* local structure String = StringImp in functor OS_PathFn (OSPathBase : sig *) functor SMLSharpSMLNJ_OS_PathFn (OSPathBase : sig exception Path datatype arc_kind = Null | Parent | Current | Arc of string val classify : string -> arc_kind val parentArc : string val currentArc : string val validArc : string -> bool val validVolume : (bool * Substring.substring) -> bool val splitVolPath : string -> (bool * Substring.substring * Substring.substring) (* Split a string into the volume part and arcs part and note whether it * is absolute. * Note: it is guaranteed that this is never called with "". *) val joinVolPath : (bool * string * string) -> string (* join a volume and path; raise Path on invalid volumes *) val arcSepChar : char (* the character used to separate arcs (e.g., #"/" on UNIX) *) val sameVol : string * string -> bool end) : OS_PATH = struct structure P = OSPathBase structure SS = Substring exception Path = P.Path exception InvalidArc (* check an arc to see if it is valid and raise InvalidArc if not *) fun checkArc arc = if P.validArc arc then arc else raise InvalidArc val arcSepStr = String.str P.arcSepChar val parentArc = P.parentArc val currentArc = P.currentArc (* concatArcs is like List.@, except that a trailing empty arc in the * first argument is dropped. *) fun concatArcs ([], al2) = al2 | concatArcs ([""], al2) = al2 | concatArcs (a::al1, al2) = a :: concatArcs(al1, al2) fun validVolume {isAbs, vol} = P.validVolume(isAbs, SS.full vol) fun fromString "" = {isAbs = false, vol = "", arcs = []} | fromString p = let val fields = SS.fields (fn c => (c = P.arcSepChar)) val (isAbs, vol, rest) = P.splitVolPath p in { isAbs = isAbs, vol = SS.string vol, arcs = List.map SS.string (fields rest) } end fun toString {isAbs=false, vol, arcs="" :: _} = raise Path | toString {isAbs, vol, arcs} = let fun f [] = [""] | f [a] = [checkArc a] | f (a :: al) = (checkArc a) :: arcSepStr :: (f al) in if validVolume{isAbs=isAbs, vol=vol} then String.concat(P.joinVolPath(isAbs, vol, "") :: f arcs) else raise Path end fun getVolume p = #vol(fromString p) fun getParent p = let fun getParent' [] = [parentArc] | getParent' [a] = (case (P.classify a) of P.Current => [parentArc] | P.Parent => [parentArc, parentArc] | P.Null => [parentArc] | _ => [] (* end case *)) | getParent' (a :: al) = a :: getParent' al in case (fromString p) of {isAbs=true, vol, arcs=[""]} => p | {isAbs=true, vol, arcs} => toString{isAbs = true, vol = vol, arcs = getParent' arcs} | {isAbs=false, vol, arcs} => (case (getParent' arcs) of [] => toString{isAbs=false, vol=vol, arcs=[currentArc]} | al' => toString{isAbs=false, vol=vol, arcs=al'} (* end case *)) (* end case *) end fun splitDirFile p = let val {isAbs, vol, arcs} = fromString p fun split [] = ([], "") | split [f] = ([], f) | split (a :: al) = let val (d, f) = split al in (a :: d, f) end fun split' p = let val (d, f) = split p in {dir=toString{isAbs=isAbs, vol=vol, arcs=d}, file=f} end in split' arcs end fun joinDirFile {dir="", file} = checkArc file | joinDirFile {dir, file} = let val {isAbs, vol, arcs} = fromString dir in toString {isAbs=isAbs, vol=vol, arcs = concatArcs(arcs, [checkArc file])} end fun dir p = #dir(splitDirFile p) fun file p = #file(splitDirFile p) fun splitBaseExt p = let val {dir, file} = splitDirFile p val (file', ext') = SS.splitr (fn c => c <> #".") (SS.full file) val fileLen = SS.size file' val (file, ext) = if (fileLen <= 1) orelse (SS.isEmpty ext') then (file, NONE) else (SS.string(SS.trimr 1 file'), SOME(SS.string ext')) in {base = joinDirFile{dir=dir, file=file}, ext = ext} end fun joinBaseExt {base, ext=NONE} = base | joinBaseExt {base, ext=SOME ""} = base | joinBaseExt {base, ext=SOME ext} = let val {dir, file} = splitDirFile base in joinDirFile{dir=dir, file=String.concat[file, ".", ext]} end fun base p = #base(splitBaseExt p) fun ext p = #ext(splitBaseExt p) fun mkCanonical "" = currentArc | mkCanonical p = let fun scanArcs ([], []) = [P.Current] | scanArcs (l, []) = List.rev l | scanArcs ([], [""]) = [P.Null] | scanArcs (l, a::al) = (case (P.classify a) of P.Null => scanArcs(l, al) | P.Current => scanArcs(l, al) | P.Parent => (case l of (P.Arc _ :: r) => scanArcs(r, al) | _ => scanArcs(P.Parent::l, al) (* end case *)) | a' => scanArcs(a' :: l, al) (* end case *)) fun scanPath relPath = scanArcs([], relPath) fun mkArc (P.Arc a) = a | mkArc (P.Parent) = parentArc | mkArc _ = raise Fail "mkCanonical: impossible" fun filterArcs (true, P.Parent::r) = filterArcs (true, r) | filterArcs (true, []) = [""] | filterArcs (true, [P.Null]) = [""] | filterArcs (true, [P.Current]) = [""] | filterArcs (false, [P.Current]) = [currentArc] | filterArcs (_, al) = List.map mkArc al val {isAbs, vol, arcs} = fromString p in toString{ isAbs=isAbs, vol=vol, arcs=filterArcs(isAbs, scanPath arcs) } end fun isCanonical p = (p = mkCanonical p) fun isAbsolute p = #isAbs(fromString p) fun isRelative p = Bool.not(#isAbs(fromString p)) fun mkAbsolute {path, relativeTo} = ( case (fromString path, fromString relativeTo) of (_, {isAbs=false, ...}) => raise Path | ({isAbs=true, ...}, _) => path | ({vol=v1, arcs=al1, ...}, {vol=v2, arcs=al2, ...}) => let fun mkCanon vol = mkCanonical(toString{ isAbs=true, vol=vol, arcs=List.@(al2, al1) }) in if P.sameVol (v1, v2) then mkCanon v1 else if (v1 = "") then mkCanon v2 else if (v2 = "") then mkCanon v1 else raise Path end (* end case *)) fun mkRelative {path, relativeTo} = if (isAbsolute relativeTo) then if (isRelative path) then path else let val {vol=v1, arcs=al1, ...} = fromString path val {vol=v2, arcs=al2, ...} = fromString(mkCanonical relativeTo) fun strip (l, []) = mkArcs l | strip ([], l) = dotDot([], l) | strip (l1 as (x1::r1), l2 as (x2::r2)) = if (x1 = x2) then strip (r1, r2) else dotDot (l1, l2) and dotDot (al, []) = al | dotDot (al, _::r) = dotDot(parentArc :: al, r) and mkArcs [] = [currentArc] | mkArcs al = al in if not (P.sameVol (v1, v2)) then raise Path else (case (al1, al2) of ([""], [""]) => currentArc | ([""], _) => toString{isAbs=false, vol="", arcs=dotDot([], al2)} | _ => toString{isAbs=false, vol="", arcs=strip(al1, al2)} (* end case *)) end else raise Path fun isRoot path = (case (fromString path) of {isAbs=true, arcs=[""], ...} => true | _ => false (* end case *)) fun concat (p1, p2) = (case (fromString p1, fromString p2) of (_, {isAbs=true, ...}) => raise Path | ({isAbs, vol=v1, arcs=al1}, {vol=v2, arcs=al2, ...}) => if P.sameVol (v2, "") orelse P.sameVol (v1, v2) then toString{isAbs=isAbs, vol=v1, arcs=concatArcs(al1, al2)} else raise Path (* end case *)) local fun fromUnixPath' up = let fun tr "." = P.currentArc | tr ".." = P.parentArc | tr arc = checkArc arc in case String.fields (fn c => c = #"/") up of "" :: arcs => { isAbs = true, vol = "", arcs = map tr arcs } | arcs => { isAbs = false, vol = "", arcs = map tr arcs } end fun toUnixPath' { isAbs, vol = "", arcs } = let fun tr arc = if arc = P.currentArc then "." else if arc = P.parentArc then ".." else if CharVector.exists (fn #"/" => true | _ => false) arc then raise InvalidArc else arc in String.concatWith "/" (if isAbs then "" :: arcs else arcs) end | toUnixPath' _ = raise Path in val fromUnixPath = toString o fromUnixPath' val toUnixPath = toUnixPath' o fromString end (* local *) end (* end *) smlsharp-1.2.0/src/smlnj/Basis/Posix0000755 000000000000000000000000012050661606017501 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/smlnj/Basis/Posix/posix-io.smi0000644 000000000000000000000304312050661606022041 0ustar00rootroot0000000 0000000 _require "../../../basis/main/General.smi" _require "../../../basis/main/IO.smi" _require "../../../basis/main/Int.smi" _require "../../../basis/main/Word.smi" _require "../../../basis/main/CharVector.smi" _require "../../../basis/main/CharVectorSlice.smi" _require "../../../basis/main/CharArray.smi" _require "../../../basis/main/Word8Vector.smi" _require "../../../basis/main/Word8VectorSlice.smi" _require "../../../basis/main/Word8Array.smi" _require "../../../basis/main/StringBase.smi" _require "../../../basis/main/String.smi" _require "../../../basis/main/Substring.smi" _require "../../../basis/main/Byte.smi" _require "../../../basis/main/SMLSharpOSFileSys.smi" _require "../../../basis/main/SMLSharpRuntime.smi" _require "../IO/prim-io-bin.smi" _require "../IO/prim-io-text.smi" structure SMLSharpSMLNJ_POSIX_IO = struct type file_desc = SMLSharpOSFileSys.file_desc val openf : string * string -> file_desc val stdin : file_desc val stdout : file_desc val stderr : file_desc val mkTextReader : {fd : file_desc, name : string, initBlkMode : bool} -> TextPrimIO.reader val mkTextWriter : {fd : file_desc, name : string, initBlkMode : bool, appendMode : bool, chunkSize : int} -> TextPrimIO.writer val mkBinReader : {fd : file_desc, name : string, initBlkMode : bool} -> BinPrimIO.reader val mkBinWriter : {fd : file_desc, name : string, initBlkMode : bool, appendMode : bool, chunkSize : int} -> BinPrimIO.writer end smlsharp-1.2.0/src/smlnj/Basis/Posix/posix-io.sml0000644 000000000000000000003104212050661606022044 0ustar00rootroot0000000 0000000 _interface "posix-io.smi" infix 6 - infix 4 < = infix 3 := val op - = Position.- val op < = SMLSharp.Int.lt structure SysWordImp = Word structure SysInt = Int structure IntImp = Int structure PositionImp = Position structure POSIX_Error = struct val again = case SMLSharpRuntime.syserror "again" of SOME x => x | NONE => raise Fail "" end structure Assembly = SMLSharpRuntime structure InlineT = struct fun cast x = _cast(x : CharArray.array) : Word8Array.array end structure POSIX_FileSys = struct open SMLSharpOSFileSys val fdToIOD = SMLSharpOSFileSys.IODesc val lseek = lseek end (* posix-io.sml * * COPYRIGHT (c) 1995 AT&T Bell Laboratories. * * Structure for POSIX 1003.1 primitive I/O operations * *) (* 2012-8-19 ohori type annotations added to mkReader and mkWriter *) local structure SysWord = SysWordImp structure Int = IntImp structure Position = PositionImp in (* structure POSIX_IO = *) structure SMLSharpSMLNJ_POSIX_IO = struct structure FS = POSIX_FileSys (* structure OM : sig datatype open_mode = O_RDONLY | O_WRONLY | O_RDWR end = FS open OM *) open FS type word = SysWord.word type s_int = SysInt.int val ++ = SysWord.orb val & = SysWord.andb infix ++ & (* fun cfun x = CInterface.c_function "POSIX-IO" x val osval : string -> s_int = cfun "osval" val w_osval = SysWord.fromInt o osval *) fun fail (fct,msg) = raise Fail ("POSIX_IO."^fct^": "^msg) (* type file_desc = FS.file_desc type pid = POSIX_Process.pid val pipe' : unit -> s_int * s_int = cfun "pipe" fun pipe () = let val (ifd, ofd) = pipe' () in {infd = FS.fd ifd, outfd = FS.fd ofd} end val dup' : s_int -> s_int = cfun "dup" val dup2' : s_int * s_int -> unit = cfun "dup2" fun dup fd = FS.fd(dup' (FS.intOf fd)) fun dup2 {old, new} = dup2'(FS.intOf old, FS.intOf new) val close' : s_int -> unit = cfun "close" fun close fd = close' (FS.intOf fd) val read' : int * int -> Word8Vector.vector = cfun "read" val readbuf' : int * Word8Array.array * int * int -> int = cfun "readbuf" fun readArr (fd, asl) = let val (buf, i, len) = Word8ArraySlice.base asl in readbuf' (FS.intOf fd, buf, len, i) end fun readVec (fd,cnt) = if cnt < 0 then raise Size else read'(FS.intOf fd, cnt) val writevec' : (int * Word8Vector.vector * int * int) -> int = cfun "writebuf" val writearr' : (int * Word8Array.array * int * int) -> int = cfun "writebuf" fun writeArr (fd, asl) = let val (buf, i, len) = Word8ArraySlice.base asl in writearr' (FS.intOf fd, buf, len, i) end fun writeVec (fd, vsl) = let val (buf, i, len) = Word8VectorSlice.base vsl in writevec' (FS.intOf fd, buf, len, i) end datatype whence = SEEK_SET | SEEK_CUR | SEEK_END val seek_set = osval "SEEK_SET" val seek_cur = osval "SEEK_CUR" val seek_end = osval "SEEK_END" fun whToWord SEEK_SET = seek_set | whToWord SEEK_CUR = seek_cur | whToWord SEEK_END = seek_end fun whFromWord wh = if wh = seek_set then SEEK_SET else if wh = seek_cur then SEEK_CUR else if wh = seek_end then SEEK_END else fail ("whFromWord","unknown whence "^(Int.toString wh)) structure FD = struct local structure BF = BitFlagsFn () in open BF end val cloexec = fromWord (w_osval "cloexec") end structure O = struct local structure BF = BitFlagsFn () in open BF end val append = fromWord (w_osval "append") val dsync = fromWord (w_osval "dsync") val nonblock = fromWord (w_osval "nonblock") val rsync = fromWord (w_osval "rsync") val sync = fromWord (w_osval "sync") end val fcntl_d : s_int * s_int -> s_int = cfun "fcntl_d" val fcntl_gfd : s_int -> word = cfun "fcntl_gfd" val fcntl_sfd : (s_int * word) -> unit = cfun "fcntl_sfd" val fcntl_gfl : s_int -> (word * word) = cfun "fcntl_gfl" val fcntl_sfl : (s_int * word) -> unit = cfun "fcntl_sfl" fun dupfd {old, base} = FS.fd (fcntl_d (FS.intOf old, FS.intOf base)) fun getfd fd = FD.fromWord (fcntl_gfd (FS.intOf fd)) fun setfd (fd, fl) = fcntl_sfd(FS.intOf fd, FD.toWord fl) fun getfl fd = let val (sts, omode) = fcntl_gfl (FS.intOf fd) in (O.fromWord sts, FS.omodeFromWord omode) end fun setfl (fd, sts) = fcntl_sfl (FS.intOf fd, O.toWord sts) datatype lock_type = F_RDLCK | F_WRLCK | F_UNLCK structure FLock = struct datatype flock = FLOCK of { ltype : lock_type, whence : whence, start : Position.int, len : Position.int, pid : pid option } fun flock fv = FLOCK fv fun ltype (FLOCK fv) = #ltype fv fun whence (FLOCK fv) = #whence fv fun start (FLOCK fv) = #start fv fun len (FLOCK fv) = #len fv fun pid (FLOCK fv) = #pid fv end type flock_rep = s_int * s_int * Int31.int * Int31.int * s_int val fcntl_l : s_int * s_int * flock_rep -> flock_rep = cfun "fcntl_l" val f_getlk = osval "F_GETLK" val f_setlk = osval "F_SETLK" val f_setlkw = osval "F_SETLKW" val f_rdlck = osval "F_RDLCK" val f_wrlck = osval "F_WRLCK" val f_unlck = osval "F_UNLCK" fun flockToRep (FLock.FLOCK{ltype,whence,start,len,...}) = let fun ltypeOf F_RDLCK = f_rdlck | ltypeOf F_WRLCK = f_wrlck | ltypeOf F_UNLCK = f_unlck in (ltypeOf ltype,whToWord whence, start, len, 0) end fun flockFromRep (usepid,(ltype,whence,start,len,pid)) = let fun ltypeOf ltype = if ltype = f_rdlck then F_RDLCK else if ltype = f_wrlck then F_WRLCK else if ltype = f_unlck then F_UNLCK else fail ("flockFromRep","unknown lock type "^(Int.toString ltype)) in FLock.FLOCK { ltype = ltypeOf ltype, whence = whFromWord whence, start = start, len = len, pid = if usepid then SOME(POSIX_Process.PID pid) else NONE } end fun getlk (fd, flock) = flockFromRep(true,fcntl_l(FS.intOf fd,f_getlk,flockToRep flock)) fun setlk (fd, flock) = flockFromRep(false,fcntl_l(FS.intOf fd,f_setlk,flockToRep flock)) fun setlkw (fd, flock) = flockFromRep(false,fcntl_l(FS.intOf fd,f_setlkw,flockToRep flock)) val lseek' : s_int * Int31.int * s_int -> Int31.int = cfun "lseek" fun lseek (fd,offset,whence) = lseek'(FS.intOf fd,offset, whToWord whence) val fsync' : s_int -> unit = cfun "fsync" fun fsync fd = fsync' (FS.intOf fd) *) (* * Making readers and writers... * (code lifted from posix-bin-prim-io.sml and posix-text-prim-io.sml) *) fun announce s x y = ( (*print "Posix: "; print (s:string); print "\n"; *) x y) val bufferSzB = 4096 fun isRegFile fd = FS.ST.isReg(FS.fstat fd) fun posFns (closed, fd) = if isRegFile fd then let val pos = ref (Position.fromInt 0) fun getPos () = !pos fun setPos p = (if !closed then raise IO.ClosedStream else (); pos := announce "lseek" lseek (fd, p, SEEK_SET)) fun endPos () = (if !closed then raise IO.ClosedStream else (); FS.ST.size(announce "fstat" FS.fstat fd)) fun verifyPos () = let val curPos = lseek (fd, Position.fromInt 0, SEEK_CUR) in pos := curPos; curPos end in ignore (verifyPos ()); { pos = pos, getPos = SOME getPos, setPos = SOME setPos, endPos = SOME endPos, verifyPos = SOME verifyPos } end else { pos = ref (Position.fromInt 0), getPos = NONE, setPos = NONE, endPos = NONE, verifyPos = NONE } (* 2012-8-19 ohori type annotations added *) fun mkReader { mkRD, cvtVec, cvtArrSlice } { fd:int, name:string, initBlkMode:bool } = let val closed = ref false val {pos, getPos, setPos, endPos, verifyPos} = posFns (closed, fd) (* val blocking = ref initBlkMode fun blockingOn () = (setfl(fd, O.flags[]); blocking := true) fun blockingOff () = (setfl(fd, O.nonblock); blocking := false) *) fun incPos k = pos := Position.+(!pos, Position.fromInt k) fun r_readVec n = let val v = announce "read" readVec(fd, n) in incPos (Word8Vector.length v); cvtVec v end fun r_readArr arg = let val k = announce "readBuf" readArr(fd, cvtArrSlice arg) in incPos k; k end fun blockWrap f x = (if !closed then raise IO.ClosedStream else (); (* if !blocking then () else blockingOn(); *) f x) (* fun noBlockWrap f x = (if !closed then raise IO.ClosedStream else (); if !blocking then blockingOff() else (); ((* try *) SOME (f x) handle (e as Assembly.SysErr(_, SOME cause)) => if cause = POSIX_Error.again then NONE else raise e (* end try *))) *) fun r_close () = if !closed then () else (closed:=true; announce "close" close fd) val isReg = isRegFile fd fun avail () = if !closed then SOME 0 else if isReg then SOME(Position.toInt (FS.ST.size(FS.fstat fd) - !pos)) else NONE in mkRD { name = name, chunkSize = bufferSzB, readVec = SOME (blockWrap r_readVec), readArr = SOME (blockWrap r_readArr), (* readVecNB = SOME (noBlockWrap r_readVec), readArrNB = SOME (noBlockWrap r_readArr), *) readVecNB = NONE, readArrNB = NONE, block = NONE, canInput = NONE, avail = avail, getPos = getPos, setPos = setPos, endPos = endPos, verifyPos = verifyPos, close = r_close, ioDesc = SOME (FS.fdToIOD fd) } end (* 2012-8-19 ohori type annotations added *) fun mkWriter { mkWR, cvtVecSlice, cvtArrSlice } { fd:int, name:string, initBlkMode:bool, appendMode:bool, chunkSize:int } = let val closed = ref false val {pos, getPos, setPos, endPos, verifyPos} = posFns (closed, fd) fun incPos k = (pos := Position.+(!pos, Position.fromInt k); k) (* val blocking = ref initBlkMode val appendFS = O.flags(if appendMode then [O.append] else nil) fun updateStatus() = let val flgs = if !blocking then appendFS else O.flags[O.nonblock, appendFS] in announce "setfl" setfl(fd, flgs) end *) fun ensureOpen () = if !closed then raise IO.ClosedStream else () (* fun ensureBlock (x) = if !blocking = x then () else (blocking := x; updateStatus()) *) fun writeVec' (fd, s) = writeVec (fd, cvtVecSlice s) fun writeArr' (fd, s) = writeArr (fd, cvtArrSlice s) fun putV x = incPos (announce "writeVec" writeVec' x) fun putA x = incPos (announce "writeArr" writeArr' x) fun write (put, block) arg = (ensureOpen(); (* ensureBlock block; *) put(fd, arg)) fun handleBlock writer arg = SOME (writer arg) handle (e as Assembly.SysErr(_, SOME cause)) => if cause = POSIX_Error.again then NONE else raise e fun w_close () = if !closed then () else (closed:=true; announce "close" close fd) in mkWR { name = name, chunkSize = chunkSize, writeVec = SOME(write(putV,true)), writeArr = SOME(write(putA,true)), writeVecNB = SOME(handleBlock(write(putV,false))), writeArrNB = SOME(handleBlock(write(putA,false))), block = NONE, canOutput = NONE, getPos = getPos, setPos = setPos, endPos = endPos, verifyPos = verifyPos, ioDesc = SOME (FS.fdToIOD fd), close = w_close } end local fun c2w_vs cvs = let val (cv, s, l) = CharVectorSlice.base cvs val wv = Byte.stringToBytes cv in Word8VectorSlice.slice (wv, s, SOME l) end (* hack!!! This only works because CharArray.array and * Word8Array.array are really the same internally. *) val c2w_a : CharArray.array -> Word8Array.array = InlineT.cast fun c2w_as cas = let val (ca, s, l) = CharArraySlice.base cas val wa = c2w_a ca in Word8ArraySlice.slice (wa, s, SOME l) end in val mkBinReader = mkReader { mkRD = BinPrimIO.RD, cvtVec = fn v => v, cvtArrSlice = fn s => s } val mkTextReader = mkReader { mkRD = TextPrimIO.RD, cvtVec = Byte.bytesToString, cvtArrSlice = c2w_as } val mkBinWriter = mkWriter { mkWR = BinPrimIO.WR, cvtVecSlice = fn s => s, cvtArrSlice = fn s => s } val mkTextWriter = mkWriter { mkWR = TextPrimIO.WR, cvtVecSlice = c2w_vs, cvtArrSlice = c2w_as } end (* local *) end (* structure POSIX_IO *) end smlsharp-1.2.0/src/smlnj/Basis/Unix0000755 000000000000000000000000012050661606017322 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/smlnj/Basis/Unix/os-filesys.smi0000644 000000000000000000000251612050661606022214 0ustar00rootroot0000000 0000000 _require "../../../basis/main/SMLSharpRuntime.smi" _require "../../../basis/main/SMLSharpOSFileSys.smi" _require "../../../basis/main/Int.smi" _require "../../../basis/main/Word.smi" _require "../../../basis/main/General.smi" _require "../../../basis/main/List.smi" _require "../../../basis/main/Time.smi" _require "../Unix/os-path.smi" structure SMLSharpSMLNJ_OS_FileSys = struct type dirstream = SMLSharpOSFileSys.dirstream val openDir : string -> dirstream val readDir : dirstream -> string option val rewindDir : dirstream -> unit val closeDir : dirstream -> unit val chDir : string -> unit val getDir : unit -> string val mkDir : string -> unit val rmDir : string -> unit val isDir : string -> bool val isLink : string -> bool val readLink : string -> string val fullPath : string -> string val realPath : string -> string val modTime : string -> Time.time val fileSize : string -> Position.int val setTime : string * Time.time option -> unit val remove : string -> unit val rename : {old : string, new : string} -> unit datatype access_mode = A_READ | A_WRITE | A_EXEC val access : string * access_mode list -> bool val tmpName : unit -> string datatype file_id = FID of {dev : word, ino : word} val fileId : string -> file_id val hash : file_id -> word val compare : file_id * file_id -> order end smlsharp-1.2.0/src/smlnj/Basis/Unix/os-filesys.sml0000644 000000000000000000001126712050661606022222 0ustar00rootroot0000000 0000000 _interface "os-filesys.smi" infix 6 - val op - = SMLSharp.Int.sub structure SysWordImp = Word structure WordImp = Word structure Assembly = SMLSharpRuntime structure OS_Path = SMLSharpSMLNJ_OS_Path structure Posix = struct structure FileSys = struct open SMLSharpOSFileSys structure S = struct datatype t = irwxu | irwxg | irwxo (* dummy *) fun flags (_:t list) = 0x1ff : int (* 0777 *) end fun inoToWord x = x : word val devToWord = inoToWord end end structure CInterface = struct fun c_function (_:string) (_:string) = SMLSharpOSFileSys.tmpName end (* os-filesys.sml * * COPYRIGHT (c) 1995 AT&T Bell Laboratories. * * The Posix implementation of the generic file system interface. * *) local structure SysWord = SysWordImp structure Word = WordImp in (* structure OS_FileSys : OS_FILE_SYS = *) structure SMLSharpSMLNJ_OS_FileSys = struct structure P_FSys = Posix.FileSys val sysWordToWord = Word.fromLargeWord o SysWord.toLargeWord type dirstream = P_FSys.dirstream val openDir = P_FSys.opendir val readDir = P_FSys.readdir val rewindDir = P_FSys.rewinddir val closeDir = P_FSys.closedir val chDir = P_FSys.chdir val getDir = P_FSys.getcwd local structure S = P_FSys.S val mode777 = S.flags[S.irwxu, S.irwxg, S.irwxo] in fun mkDir path = P_FSys.mkdir(path, mode777) end val rmDir = P_FSys.rmdir val isDir = P_FSys.ST.isDir o P_FSys.stat val isLink = P_FSys.ST.isLink o P_FSys.lstat val readLink = P_FSys.readlink (* the maximum number of links allowed *) val maxLinks = 64 structure P = OS_Path (* A UNIX specific implementation of fullPath *) fun fullPath p = let val oldCWD = getDir() fun mkPath pathFromRoot = P.toString{isAbs=true, vol="", arcs=List.rev pathFromRoot} fun walkPath (0, _, _) = raise Assembly.SysErr("too many links", NONE) | walkPath (n, pathFromRoot, []) = mkPath pathFromRoot | walkPath (n, pathFromRoot, ""::al) = walkPath (n, pathFromRoot, al) | walkPath (n, pathFromRoot, "."::al) = walkPath (n, pathFromRoot, al) | walkPath (n, [], ".."::al) = walkPath (n, [], al) | walkPath (n, _::r, ".."::al) = ( chDir ".."; walkPath (n, r, al)) | walkPath (n, pathFromRoot, [arc]) = if (isLink arc) then expandLink (n, pathFromRoot, arc, []) else mkPath (arc::pathFromRoot) | walkPath (n, pathFromRoot, arc::al) = if (isLink arc) then expandLink (n, pathFromRoot, arc, al) else (chDir arc; walkPath (n, arc::pathFromRoot, al)) and expandLink (n, pathFromRoot, link, rest) = ( case (P.fromString(readLink link)) of {isAbs=false, arcs, ...} => walkPath (n-1, pathFromRoot, List.@(arcs, rest)) | {isAbs=true, arcs, ...} => gotoRoot (n-1, List.@(arcs, rest)) (* end case *)) and gotoRoot (n, arcs) = ( chDir "/"; walkPath (n, [], arcs)) fun computeFullPath arcs = (gotoRoot(maxLinks, arcs) before chDir oldCWD) handle ex => (chDir oldCWD; raise ex) in case (P.fromString p) of {isAbs=false, arcs, ...} => let val {arcs=arcs', ...} = P.fromString(oldCWD) in computeFullPath (List.@(arcs', arcs)) end | {isAbs=true, arcs, ...} => computeFullPath arcs (* end case *) end fun realPath p = if (P.isAbsolute p) then fullPath p else P.mkRelative {path=fullPath p, relativeTo=fullPath(getDir())} val fileSize = P_FSys.ST.size o P_FSys.stat val modTime = P_FSys.ST.mtime o P_FSys.stat fun setTime (path, NONE) = P_FSys.utime(path, NONE) | setTime (path, SOME t) = P_FSys.utime(path, SOME{actime=t, modtime=t}) val remove = P_FSys.unlink val rename = P_FSys.rename structure A : sig datatype access_mode = A_READ | A_WRITE | A_EXEC end = Posix.FileSys open A fun access (path, al) = let fun cvt A_READ = P_FSys.A_READ | cvt A_WRITE = P_FSys.A_WRITE | cvt A_EXEC = P_FSys.A_EXEC in P_FSys.access (path, List.map cvt al) end val tmpName : unit -> string = CInterface.c_function "POSIX-OS" "tmpname" datatype file_id = FID of {dev : SysWord.word, ino : SysWord.word} fun fileId fname = let val st = P_FSys.stat fname in FID{ dev = P_FSys.devToWord(P_FSys.ST.dev st), ino = P_FSys.inoToWord(P_FSys.ST.ino st) } end fun hash (FID{dev, ino}) = sysWordToWord( SysWord.+(SysWord.<<(dev, 0w16), ino)) fun compare (FID{dev=d1, ino=i1}, FID{dev=d2, ino=i2}) = if (SysWord.<(d1, d2)) then General.LESS else if (SysWord.>(d1, d2)) then General.GREATER else if (SysWord.<(i1, i2)) then General.LESS else if (SysWord.>(i1, i2)) then General.GREATER else General.EQUAL end end smlsharp-1.2.0/src/smlnj/Basis/Unix/os-io.smi0000644 000000000000000000000243612050661606021146 0ustar00rootroot0000000 0000000 _require "../../../basis/main/General.smi" _require "../../../basis/main/Int.smi" _require "../../../basis/main/IntInf.smi" _require "../../../basis/main/Word.smi" _require "../../../basis/main/Time.smi" _require "../../../basis/main/List.smi" _require "../../../basis/main/ListPair.smi" _require "../../../basis/main/SMLSharpOSFileSys.smi" _require "../../../basis/main/OS_IO.sig" structure SMLSharpSMLNJ_OS_IO = struct type iodesc = SMLSharpOSFileSys.iodesc val hash : iodesc -> word val compare : iodesc * iodesc -> order eqtype iodesc_kind (= boxed) val kind : iodesc -> iodesc_kind structure Kind = struct val file : iodesc_kind val dir : iodesc_kind val symlink : iodesc_kind val tty : iodesc_kind val pipe : iodesc_kind val socket : iodesc_kind val device : iodesc_kind end eqtype poll_desc (= boxed) type poll_info (= boxed) val pollDesc : iodesc -> poll_desc option val pollToIODesc : poll_desc -> iodesc exception Poll val pollIn : poll_desc -> poll_desc val pollOut : poll_desc -> poll_desc val pollPri : poll_desc -> poll_desc val poll : poll_desc list * Time.time option -> poll_info list val isIn : poll_info -> bool val isOut : poll_info -> bool val isPri : poll_info -> bool val infoToPollDesc : poll_info -> poll_desc end smlsharp-1.2.0/src/smlnj/Basis/Unix/os-io.sml0000644 000000000000000000001372012050661606021147 0ustar00rootroot0000000 0000000 _interface "os-io.smi" infix 6 + infix 4 <> = >= val op + = SMLSharp.Int.add val op >= = SMLSharp.Int.gteq fun op <> (x:word,y) = if x = y then false else true structure SysWordImp = Word structure WordImp = Word structure Int32Imp = Int structure Int32 = Int structure IntImp = Int structure TimeImp = Time structure IntInfImp = struct open LargeInt fun divMod (x, y) = let val y = LargeInt.fromInt y in (LargeInt.div (x, y), LargeInt.mod (x, y)) end end structure OS = struct structure IO = SMLSharpOSFileSys end structure Posix = struct structure FileSys = struct val wordToFD = SMLSharp.Word.toIntX open SMLSharpOSFileSys end end structure CInterface = struct val prim_poll = _import "prim_GenericOS_poll" : __attribute__((no_callback)) (int array, word array, int, int) -> int fun unzipFDSet (fdset : (int * word) list) = let val len = List.length fdset val fds = SMLSharp.PrimArray.allocArray len val evs = SMLSharp.PrimArray.allocArray len fun loop (i, nil) = () | loop (i, (fd,ev)::t) = (SMLSharp.PrimArray.update (fds, i, fd); SMLSharp.PrimArray.update (evs, i, ev); loop (i + 1, t)) in loop (0, fdset); (fds, evs) end fun zipFDSet (fdset, evset) = let val len = SMLSharp.PrimArray.length fdset fun loop (i, z) = if i >= len then rev z else let val ev = SMLSharp.PrimArray.sub (evset, i) : word val fd = SMLSharp.PrimArray.sub (fdset, i) : int val z = if ev = 0w0 then z else (fd, ev) :: z in loop (i + 1, z) end in loop (0, nil) end fun poll (fdset, timeout) = let val (sec, usec) = case timeout of SOME (sec, usec) => (sec, usec) | NONE => (~1, ~1) val (fdset, evset) = unzipFDSet fdset val err = prim_poll (fdset, evset, sec, usec) in zipFDSet (fdset, evset) end fun c_function (_:string) (_:string) = poll end (* os-io.sml * * COPYRIGHT (c) 1995 AT&T Bell Laboratories. * * NOTE: this interface has been proposed, but not yet adopted by the * Standard basis committee. * *) local structure Word = WordImp structure Int32 = Int32Imp structure Int = IntImp structure SysWord = SysWordImp in (* structure OS_IO : OS_IO = *) structure SMLSharpSMLNJ_OS_IO :> OS_IO where type iodesc = SMLSharpOSFileSys.iodesc = struct (* an iodesc is an abstract descriptor for an OS object that * supports I/O (e.g., file, tty device, socket, ...). *) type iodesc = OS.IO.iodesc datatype iodesc_kind = K of string (* return a hash value for the I/O descriptor. *) fun hash (OS.IO.IODesc fd) = Word.fromInt fd (* compare two I/O descriptors *) fun compare (OS.IO.IODesc fd1, OS.IO.IODesc fd2) = Int.compare(fd1, fd2) structure Kind = struct val file = K "FILE" val dir = K "DIR" val symlink = K "LINK" val tty = K "TTY" val pipe = K "PIPE" val socket = K "SOCK" val device = K "DEV" end (* return the kind of I/O descriptor *) fun kind (OS.IO.IODesc fd) = let val fd = Posix.FileSys.wordToFD(SysWord.fromInt fd) val stat = Posix.FileSys.fstat fd in if (Posix.FileSys.ST.isReg stat) then Kind.file else if (Posix.FileSys.ST.isDir stat) then Kind.dir else if (Posix.FileSys.ST.isChr stat) then Kind.tty else if (Posix.FileSys.ST.isBlk stat) then Kind.device (* ?? *) else if (Posix.FileSys.ST.isLink stat) then Kind.symlink else if (Posix.FileSys.ST.isFIFO stat) then Kind.pipe else if (Posix.FileSys.ST.isSock stat) then Kind.socket else K "UNKNOWN" end type poll_flags = {rd : bool, wr : bool, pri : bool} datatype poll_desc = PollDesc of (iodesc * poll_flags) datatype poll_info = PollInfo of (iodesc * poll_flags) (* create a polling operation on the given descriptor; note that * not all I/O devices support polling, but for the time being, we * don't test for this. *) fun pollDesc iod = SOME(PollDesc(iod, {rd=false, wr=false, pri=false})) (* return the I/O descriptor that is being polled *) fun pollToIODesc (PollDesc(iod, _)) = iod exception Poll (* set polling events; if the polling operation is not appropriate * for the underlying I/O device, then the Poll exception is raised. *) fun pollIn (PollDesc(iod, {rd, wr, pri})) = PollDesc(iod, {rd=true, wr=wr, pri=pri}) fun pollOut (PollDesc(iod, {rd, wr, pri})) = PollDesc(iod, {rd=rd, wr=true, pri=pri}) fun pollPri (PollDesc(iod, {rd, wr, pri})) = PollDesc(iod, {rd=rd, wr=wr, pri=true}) (* polling function *) local val poll' : ((int * word) list * (Int32.int * int) option) -> (int * word) list = CInterface.c_function "POSIX-OS" "poll" fun join (false, _, w) = w | join (true, b, w) = Word.orb(w, b) fun test (w, b) = (Word.andb(w, b) <> 0w0) val rdBit = 0w1 and wrBit = 0w2 and priBit = 0w4 fun fromPollDesc (PollDesc(OS.IO.IODesc fd, {rd, wr, pri})) = ( fd, join (rd, rdBit, join (wr, wrBit, join (pri, priBit, 0w0))) ) fun toPollInfo (fd, w) = PollInfo(OS.IO.IODesc fd, { rd = test(w, rdBit), wr = test(w, wrBit), pri = test(w, priBit) }) in fun poll (pds, timeOut) = let val timeOut = (case timeOut of SOME t => let val usec = TimeImp.toMicroseconds t val (sec, usec) = IntInfImp.divMod (usec, 1000000) in SOME (Int32.fromLarge sec, Int.fromLarge usec) end | NONE => NONE (* end case *)) val info = poll' (List.map fromPollDesc pds, timeOut) in List.map toPollInfo info end end (* local *) (* check for conditions *) fun isIn (PollInfo(_, flgs)) = #rd flgs fun isOut (PollInfo(_, flgs)) = #wr flgs fun isPri (PollInfo(_, flgs)) = #pri flgs fun infoToPollDesc (PollInfo arg) = PollDesc arg end (* OS_IO *) end smlsharp-1.2.0/src/smlnj/Basis/Unix/os-path.smi0000644 000000000000000000000306312050661606021470 0ustar00rootroot0000000 0000000 _require "../OS/os-path-fn.smi" _require "../../../basis/main/Char.smi" _require "../../../basis/main/List.smi" _require "../../../basis/main/Bool.smi" _require "../../../basis/main/General.smi" _require "../../../basis/main/CharVector.smi" _require "../../../basis/main/String.smi" _require "../../../basis/main/Substring.smi" _require "../../../basis/main/OS_PATH.sig" structure SMLSharpSMLNJ_OS_Path = struct exception Path exception InvalidArc val parentArc : string val currentArc : string val fromString : string -> {isAbs : bool, vol : string, arcs : string list} val toString : {isAbs : bool, vol : string, arcs : string list} -> string val validVolume : {isAbs : bool, vol : string} -> bool val getVolume : string -> string val getParent : string -> string val splitDirFile : string -> {dir : string, file : string} val joinDirFile : {dir : string, file : string} -> string val dir : string -> string val file : string -> string val splitBaseExt : string -> {base : string, ext : string option} val joinBaseExt : {base : string, ext : string option} -> string val base : string -> string val ext : string -> string option val mkCanonical : string -> string val isCanonical : string -> bool val mkAbsolute : {path : string, relativeTo : string} -> string val mkRelative : {path : string, relativeTo : string} -> string val isAbsolute : string -> bool val isRelative : string -> bool val isRoot : string -> bool val concat : string * string -> string val fromUnixPath : string -> string val toUnixPath : string -> string end smlsharp-1.2.0/src/smlnj/Basis/Unix/os-path.sml0000644 000000000000000000000433212050661606021473 0ustar00rootroot0000000 0000000 _interface "os-path.smi" infix 4 <= <> = val op <= = SMLSharp.Int.lteq fun op <> (x:char,y) = if x = y then false else true structure InlineT = struct structure CharVector = CharVector end (* ToDo: Yamatodani's OSPathOperations includes Windows path support. fun trPath path = String.translate (fn #"\\" => "/" | c => String.str c) path val volSS = Substring.full "" fun splitVolPath s = let val ss = SS.full (trPath s) val volSS = Substring.full "" in if (SS.sub(ss, 0) = #"/") then (true, volSS, Substring.triml 1 ss) else if (2 < SS.size ss) andalso (SS.sub(ss, 1) = #":") then let val (volSS, pathSS) = SS.splitAt (ss, 2) in (true, volSS, pathSS) end else (false, volSS, ss) end fun joinVolPath (true, "", "") = "/" | joinVolPath (true, "", s) = "/" ^ s | joinVolPath (false, "", s) = s + | joinVolPath (true, vol, s) = vol ^ "/" ^ s | joinVolPath _ = raise Path (* invalid volume *) *) (* os-path.sml * * COPYRIGHT (c) 2007 The Fellowship of SML/NJ (http://smlnj.org) * All rights reserved. * * This is the UNIX implementation of the generic OS.Path structure. *) (* structure OS_Path = OS_PathFn ( *) structure SMLSharpSMLNJ_OS_Path = SMLSharpSMLNJ_OS_PathFn ( struct exception Path datatype arc_kind = Null | Parent | Current | Arc of string fun classify "" = Null | classify "." = Current | classify ".." = Parent | classify a = Arc a val parentArc = ".." val currentArc = "." fun validArc arc = let fun ok #"/" = false | ok c = Char.isPrint c in CharVector.all ok arc end fun validVolume (_:bool, vol:substring)= Substring.isEmpty vol val volSS = Substring.full "" (* Note: we are guaranteed that this is never called with "" *) fun splitVolPath s = if (InlineT.CharVector.sub(s, 0) = #"/") then (true, volSS, Substring.triml 1 (Substring.full s)) else (false, volSS, Substring.full s) fun joinVolPath (true, "", "") = "/" | joinVolPath (true, "", s) = "/" ^ s | joinVolPath (false, "", s) = s | joinVolPath _ = raise Path (* invalid volume *) val arcSepChar = #"/" fun sameVol (v1, v2: string) = v1 = v2 end); smlsharp-1.2.0/src/smlnj/Basis/Unix/posix-bin-prim-io.smi0000644 000000000000000000000254512050661606023403 0ustar00rootroot0000000 0000000 _require "../../../basis/main/Int.smi" _require "../../../basis/main/OS.smi" _require "../../../basis/main/Word8Vector.smi" _require "../../../basis/main/SMLSharpOSFileSys.smi" _require "../IO/prim-io-bin.smi" _require "../IO/os-prim-io.sig" _require "../Posix/posix-io.smi" structure SMLSharpSMLNJ_PosixBinPrimIO = struct structure PrimIO = struct type elem = BinPrimIO.elem type vector = BinPrimIO.vector type vector_slice = BinPrimIO.vector_slice type array = BinPrimIO.array type array_slice = BinPrimIO.array_slice type pos = BinPrimIO.pos val compare : pos * pos -> order datatype reader = datatype BinPrimIO.reader datatype writer = datatype BinPrimIO.writer val openVector : vector -> reader val nullRd : unit -> reader val nullWr : unit -> writer val augmentReader : reader -> reader val augmentWriter : writer -> writer end type file_desc = SMLSharpSMLNJ_POSIX_IO.file_desc val openRd : string -> PrimIO.reader val openWr : string -> PrimIO.writer val openApp : string -> PrimIO.writer val mkReader : {fd : file_desc, name : string, initBlkMode : bool} -> PrimIO.reader val mkWriter: {fd : file_desc, name : string, appendMode : bool, initBlkMode : bool, chunkSize : int} -> PrimIO.writer end smlsharp-1.2.0/src/smlnj/Basis/Unix/posix-bin-prim-io.sml0000644 000000000000000000000371012050661606023401 0ustar00rootroot0000000 0000000 _interface "posix-bin-prim-io.smi" structure OSImp = OS structure PositionImp = Position structure Posix = struct structure FileSys = SMLSharpSMLNJ_POSIX_IO structure IO = SMLSharpSMLNJ_POSIX_IO end (* posix-bin-prim-io.sml * * COPYRIGHT (c) 1995 AT&T Bell Laboratories. * * This implements the UNIX version of the OS specific binary primitive * IO structure. The Text IO version is implemented by a trivial translation * of these operations (see posix-text-prim-io.sml). * *) local structure Position = PositionImp structure OS = OSImp in (* structure PosixBinPrimIO : OS_PRIM_IO = *) structure SMLSharpSMLNJ_PosixBinPrimIO : OS_PRIM_IO = struct structure PrimIO = BinPrimIO structure Vec = Word8Vector structure PF = Posix.FileSys structure PIO = Posix.IO type file_desc = PF.file_desc val toFPI = Position.fromInt fun announce s x y = ( (*print "Posix: "; print (s:string); print "\n"; *) x y) val bufferSzB = 4096 val mkReader = PIO.mkBinReader val mkWriter = PIO.mkBinWriter fun openRd name = mkReader{ (* fd = announce "openf" PF.openf(name,PIO.O_RDONLY,PF.O.flags[]), *) fd = PIO.openf (name, "rb"), name = name, initBlkMode = true } (* val standardMode = PF.S.flags[ (* mode 0666 *) PF.S.irusr, PF.S.iwusr, PF.S.irgrp, PF.S.iwgrp, PF.S.iroth, PF.S.iwoth ] fun createFile (name, mode, flags) = announce "createf" PF.createf(name, mode, flags, standardMode) *) fun openWr name = mkWriter{ (* fd=createFile(name, PIO.O_WRONLY, PF.O.trunc), *) fd=PIO.openf (name, "wb"), name=name, initBlkMode=true, appendMode=false, chunkSize=bufferSzB } fun openApp name = mkWriter{ (* fd = createFile(name, PIO.O_WRONLY, PF.O.append), *) fd = PIO.openf (name, "ab"), name = name, initBlkMode = true, appendMode = true, chunkSize = bufferSzB } end (* PosixBinPrimIO *) end smlsharp-1.2.0/src/smlnj/Basis/Unix/posix-text-prim-io.smi0000644 000000000000000000000324012050661606023610 0ustar00rootroot0000000 0000000 _require "../../../basis/main/General.smi" _require "../../../basis/main/Int.smi" _require "../../../basis/main/SMLSharpOSFileSys.smi" _require "../../../basis/main/IO.smi" _require "../../../basis/main/String.smi" _require "../../../basis/main/CharArray.smi" _require "../../../basis/main/CharVector.smi" _require "../../../basis/main/CharVectorSlice.smi" _require "../IO/os-prim-io.sig" _require "../IO/prim-io-text.smi" _require "../Posix/posix-io.smi" structure SMLSharpSMLNJ_PosixTextPrimIO = struct structure PrimIO = struct type elem = TextPrimIO.elem type vector = TextPrimIO.vector type vector_slice = TextPrimIO.vector_slice type array = TextPrimIO.array type array_slice = TextPrimIO.array_slice type pos = TextPrimIO.pos val compare : pos * pos -> order datatype reader = datatype TextPrimIO.reader datatype writer = datatype TextPrimIO.writer val openVector : vector -> reader val nullRd : unit -> reader val nullWr : unit -> writer val augmentReader : reader -> reader val augmentWriter : writer -> writer end type file_desc = SMLSharpSMLNJ_POSIX_IO.file_desc val openRd : string -> PrimIO.reader val openWr : string -> PrimIO.writer val openApp : string -> PrimIO.writer val mkReader : {fd : file_desc, name : string, initBlkMode : bool} -> PrimIO.reader val mkWriter: {fd : file_desc, name : string, appendMode : bool, initBlkMode : bool, chunkSize : int} -> PrimIO.writer val stdIn : unit -> PrimIO.reader val stdOut : unit -> PrimIO.writer val stdErr : unit -> PrimIO.writer val strReader : string -> PrimIO.reader end smlsharp-1.2.0/src/smlnj/Basis/Unix/posix-text-prim-io.sml0000644 000000000000000000001057712050661606023626 0ustar00rootroot0000000 0000000 _interface "posix-text-prim-io.smi" infix 7 * infix 6 + - infixr 5 :: infix 4 = < > infix 3 := val op + = SMLSharp.Int.add val op - = SMLSharp.Int.sub val op > = Position.> val op < = Position.< structure StringImp = String structure IntImp = Int structure PositionImp = Position structure PosixBinPrimIO = struct end (* dummy *) structure Posix = struct structure FileSys = SMLSharpSMLNJ_POSIX_IO structure IO = SMLSharpSMLNJ_POSIX_IO end (* posix-text-prim-io.sml * * COPYRIGHT (c) 1995 AT&T Bell Laboratories. * * This implements the UNIX version of the OS specific text primitive * IO structure. It is implemented by a trivial translation of the * binary operations (see posix-bin-prim-io.sml). * *) local structure String = StringImp structure Int = IntImp structure Position = PositionImp in (* structure PosixTextPrimIO : sig *) structure SMLSharpSMLNJ_PosixTextPrimIO : sig include OS_PRIM_IO val stdIn : unit -> PrimIO.reader val stdOut : unit -> PrimIO.writer val stdErr : unit -> PrimIO.writer val strReader : string -> PrimIO.reader end = struct structure PF = Posix.FileSys structure PIO = Posix.IO structure BinPrimIO = PosixBinPrimIO structure PrimIO = TextPrimIO type file_desc = PF.file_desc val bufferSzB = 4096 val mkReader = PIO.mkTextReader val mkWriter = PIO.mkTextWriter fun announce s x y = ( (*print "Posix: "; print (s:string); print "\n"; *) x y) fun openRd name = (* mkReader { fd = announce "openf" PF.openf (name, PIO.O_RDONLY, PF.O.flags []), *) mkReader { fd = PIO.openf (name, "r"), name = name, initBlkMode = true } (* val standardMode = PF.S.flags[ (* mode 0666 *) PF.S.irusr, PF.S.iwusr, PF.S.irgrp, PF.S.iwgrp, PF.S.iroth, PF.S.iwoth ] fun createFile (name, mode, flags) = announce "createf" PF.createf (name, mode, flags, standardMode) *) fun openWr name = (* mkWriter { fd = createFile (name, PIO.O_WRONLY, PF.O.trunc), *) mkWriter { fd = PIO.openf (name, "w"), name = name, initBlkMode = true, appendMode = false, chunkSize = bufferSzB } fun openApp name = (* mkWriter { fd = createFile (name, PIO.O_WRONLY, PF.O.append), *) mkWriter { fd = PIO.openf (name, "a"), name = name, initBlkMode = true, appendMode = true, chunkSize = bufferSzB } fun stdIn () = mkReader{ fd = PF.stdin, name = "", initBlkMode = true (* Bug! Should check! *) } fun stdOut () = mkWriter{ fd = PF.stdout, name = "", initBlkMode = true (* Bug! Should check! *), appendMode = false (* Bug! Should check! *), chunkSize = bufferSzB } fun stdErr () = mkWriter{ fd = PF.stderr, name = "", initBlkMode = true, (* Bug! Should check! *) appendMode = false, (* Bug! Should check! *) chunkSize = bufferSzB } fun strReader src = let val pos = ref 0 val closed = ref false fun checkClosed () = if !closed then raise IO.ClosedStream else () val len = String.size src val plen = Position.fromInt len fun avail () = len - !pos fun readV n = let val p = !pos val m = Int.min(n, len-p) in checkClosed (); pos := p+m; (** NOTE: could use unchecked operations here **) String.substring (src, p, m) end fun readA asl = let val p = !pos val (buf, i, n) = CharArraySlice.base asl val m = Int.min(n, len-p) in checkClosed (); pos := p+m; CharArraySlice.copyVec { src = CharVectorSlice.slice (src, p, SOME m), dst = buf, di = i }; m end fun getPos () = (checkClosed(); Position.fromInt (!pos)) fun setPos p = (checkClosed (); (* if p < 0 orelse p > plen then raise Subscript *) if p < Position.fromInt 0 orelse p > plen then raise Subscript else pos := Position.toInt p) in PrimIO.RD{ name = "", chunkSize = len, readVec = SOME(readV), readArr = SOME(readA), readVecNB = SOME(SOME o readV), readArrNB = SOME(SOME o readA), block = SOME(checkClosed), canInput = SOME(fn () => (checkClosed(); true)), avail = SOME o avail, getPos = SOME getPos, setPos = SOME setPos, endPos = SOME(fn () => (checkClosed(); plen)), verifyPos = SOME getPos, close = fn () => closed := true, ioDesc = NONE } end end (* PosixTextPrimIO *) end smlsharp-1.2.0/src/smlnj-lib0000755 000000000000000000000000012050661606016102 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/smlnj-lib/CHANGES0000644 000000000000000000004657112050661606017171 0ustar00rootroot0000000 0000000 This is a list of changes to the SML/NJ Library; the version numbers correspond to SML/NJ releases. -------------------------------------------------------------------------------- [2011-04-12] Modified the implementation of GetOpt.usageInfo so that if the help string has embedded newlines, then the extra lines are properly indented. [2011-04-10] Changed the interface of JSONStreamParser to support both parsing files and TextIO.instreams. [2011-03-16] Added findExe function to PathUtil module. [2010-03-09] Fixed bug in hashed cons library (bug #55). [2009-05-13] Added array iterators to DynamicArray module. [2009-03-15] Added support for the interval syntax to the AWK RE syntax parser (this syntax was not part of the original version of AWK, but is supported by modern variants and the POSIX standard). [2008-10-03] Improved the error messages in the JSON parser. [2008-06-11] Added support for begin marks to Thompson engine. [2008-05-12] Added parsing support to JSON library. [2008-04-18] First commit of JSON Library. Printing works, but parsing still needs to be implemented. [2008-03-18] Committed a major overhaul of the RegExp library. There is now a new engine that implements Ken Thompson's RE matching algorithm. The result type of the RE matches has also been simplified by removing an unecessary option type. NOTE: the new RE engine is not complete in that it does not yet support begin/end marks. [2007-12-13] Also added list' and listg' which are parameterized over the delimiter- and separator strings used for formatting lists. (The default for "list" and "listg" is the usual "[" ", " "]".) [2007-12-13] Added "elem" function as an inverse to "glue" to FormatComb module. This makes writing extensions possible. Also added "list" and "option" combinators for formatting list- and option types. [2007-11-02] A collection of bug fixes for machine.sml in the Reactive library. (Thanks to Timothy Bourke) [2007-05-15] Made the UnixPath.path_list type concrete (= string list). [2007-04-24] Added next function to Fifo and Queue modules. [2007-02-15] Removed vestigial IntInf and INT_INF definitions. [2007-02-14] Changed the representation type of UTF8.wchar from Word32.word to word. Also added the UTF8.maxCodePoint value. [2007-01-30] Added the lookup function to the ORD_MAP interface. [2007-01-30] Added the fromList function to the ORD_SET interface. For the red-black tree and list based implementations, this operation is linear for ordered inputs. [2007-01-28] Added UTF8 signature and structure. [2005-11-07] Internal change: replaced uses of the depreciated Substring.all with the Substring.full [2005-11-05] Tweaking of the interval set API. Added iterators on items and changed the iterators on intervals to have a "Int" suffix. Changed addInterval to addInt, changed list to intervals. Added the items function. [2005-10-31] Fixed a bug in IntervalSetFn().intersect. [2005-10-25] Added interval sets to utility library (signatures INTERVAL_DOMAIN and INTERVAL_SET, and functor IntervalSetFn). [2005-08-04] Renamed graph-scc.sml to graph-scc-fn.sml. [2005-07-23] Fix PP library to export ANSITermDev, ANSITermPP, PPDescFn, and PP_DESC. Also add nbSpace to PP_DESC signature. [2005-07-12] Added ANSITermDev device that uses ANSI terminal display attributes and added a ANSITermPP for pretty printing to such a device. [2005-07-06] Added ANSITerm structure, which provides support for ANSI terminal display attributes (e.g., red text). [2005-07-06] Refactored the pretty printing library. The declarative way to construct pretty-printing descriptions now sits on top of the PP_STREAM interface. Also removed "onNewline" function, which was not implemented. [2005-05-05] Added singleton function to MONO_PRIORITYQ interface. [2005-05-04] Added the "join" combinator to ParserComb. [2005-03-21] Fixed a bug in GetOpt.getOpt. The argument processing functions for ReqArg and OptArg, and the embedding function for ReturnInOrder were getting applied to all arguments, even past a "--". [2005-02-11] Added Atom.same and Atom.lexCompare to the Atom structure. Eventually, Atom.sameAtom will be removed. [2004-12-15] Change HashString.hashString' to hashSubstring. [2004-12-09] Added two simple statistics modules: * RealOrderStats implements selection of arbitrary order statistics as well as the median of an array of reals in randomized linear time. * UnivariateStats implements mean, variance, standard and average deviation, skew, kurtosis, and median of a univariate sample (i.e., a set of reals). [2004-11-29] Added HashString.hashString' for substrings. Hand-inlined CharVector.fold into HashString for efficiency. Modified atom.sml so that Atom.atom' first tries to find an existing atom before turning its argument into a string. [-blume] [2003-09-03] Minor modifications to random.sml due to changes to some Basis interfaces (slices). Significant surgery on bit-array.sml to make it compile with new signature MONO_ARRAY. This will require further cleanup in the future. [2003-08-28] Made compilation of int-inf* conditional. (The Basis now has a spec-conforming implementation of IntInf, so the one here is no longer needed.) [-blume] [2003-07-31] Added getDevice function to PP_STREAM signature. [2003-05-27] Avoid poly-eq in Util/parser-comb.sml. [2003-05-22] More cleanup (all in the name of eliminating incomplete matches): - in HTML/html-attrs-fn.sml: fill in missing patterns in two case expressions - in HTML/html-gram: rewrote function groupDefListContents to avoid the (unnecessary) incomplete match - in PP/devices/html-dev.sml: made the implementation of popStyle agree with the comment above it (popStyle on an empty stack is supposed to be a nop) - in PP/src/pp-stream-fn.sml: function setSize: handle case of an empty scanStk - in Util/prime-sizes.sml: raise Fail exceptions instead of Match exceptions when reaching the end of a list (Perhaps this should eventually be rewritten using an on-demand prime-number generator that kicks when needed.) [2003-05-22] Cleanup logic in Scan.scanf function. [2002-10-03] Fixed bug in formating reals with the %g format. [2002-06-18] Fixed a bug in MatchTree.nth (regexp library). Thanks to Sami Nopanen. [2002-05-20] Fixed bug in IntInf module: scanning of hex literals was not handling "0x" prefixes. [2002-05-20] Added ControlUtil module and stringControls function. [2002-05-17] Added tyName field to ValueSyntax exception in Controls module and path field to registry tree in ControlRegistry module. [2002-05-17] Added == and != operators to INT_INF interface. These are a placeholder until IntInf moves into the SML/NJ compiler. [2002-05-16] Added mergeWith function to ORD_MAP interface. [2002-05-15] Revised Controls library. [2002-04-17] Added Matthias Blume's implementation of Danvey-style format combinators to the Util library. [2002-03-14] Merged in Matthias Blume's Controls library. Warning: the API to this library is likely to change as we get some experience with it. [2002-03-11] Added consR1 .. consR5 functions to HashCons library. These can be used to hash-cons record types. [2002-02-21] Fixed infinite loop in LeftPriorityQFn.fromList when given a singleton list as input (Chris Okasaki provided the fix). [2002-02-12] Added implementation of priority queues to Util library (using Okasaki's leftist-tree implementation). [2001-10-19] Added new HashCons library. [2001-10-19] Added PrimeSizes module to Util library. [2001-09-27] Fixed bug in UnixEnv module (reported by Leunga). [2001-05-05] Added addrToString function to SockUtil module in INet library. [2001-05-04] Modified GraphSCC module to support a list of roots (Blume). The old interface still works, but will be dropped when we move to the new Util library. [2001-04-06] Added partition function to ORD_SET interface. [2001-04-05] Added hasProps function to PropList module. [2001-03-16] Minor bug fix in GetOpt: don't pad the help string, since it causes line wraps when one of the help lines is longer than the screen width. It was also unneccesary. [2001-02-23] Added inDomain function to the various kinds of hash tables. [2001-02-22] Fixed bug in {Int,Word}RedBlackMapFn.insert (bug 1591). [2000-12-13] Added the bit operations to the IntInf module (Leung). [2000-11-17] Added where clause to GraphSCCFn result signature (Blume). [2000-10-20] Made the result signature of the RegExpFn functor be opaque. [2000-09-28] SML/NJ 110.0.7 release. [2000-09-02] Added Word versions of hash tables (WordHashTable), finite maps (WordRedBlackMap), and sets (WordRedBlackSet). [2000-09-02] fixed bug in Format module (infinity caused infinite loop). [2000-07-19] added anchored paths in CM files for NEW_CM. [2000-06-30] added implementation of LWORD in Format module. [2000-05-16] Fixed bug in dfa-engine.sml (bug number 1559). [2000-05-08] Added setFn to PList.newProp return type. [2000-05-05] Added sameHolder function to PropList module. [2000-04-05] Fixed a bug in the filter/filteri hash table functions: the number of items in the table was not being recomputed. [2000-04-04] Added modify and modifyi iterators to hash tables. [2000-03-28] Added anchorLink style to HTMLDev structure in PP/devices. [1999-12-03] Added IntHashTable structure to Util library; this structure is a specialization of hash tables to integer keys. [1999-12-03] Added default cases to avoid "match not exhaustive" warnings. [1999-12-03] Added GraphSCCFn functor to Util library, which implements a strongly-connected components algorithm on directed graphs (written by Matthias Blume). [1999-11-10] Fixed a benign type error in RegExp/BackEnd/fsm.sml that was exposed by the previous change. [1999-11-7] Made the result signatures of ListSetFn and ListMapFn opaque. [1999-11-1] Fixed bug in PP/devices/sources.cm under new CM (missing smlnj-lib.cm). [1999-10-20] Fixed bug in RedBlack trees (the linear time construction of trees from ordered sequences was producing backwards trees). [1999-10-18] Changed UREF signature so that union, unify, and link operations now return a boolean. [1999-10-18] Added peekFn to PropList.newProp return result. [1999-10-14] Added TextIOPP structure to pp-lib.cm (it was not being exported). [1999-09-21] Changed the getOpt API. Errors are now reported using a callback and both usage and getOpt take records as arguments. Also changed the NoArg descriptor to take a function so that imperative argument processing can be supported. [1999-09-20] Changed CM files to be compatible with both the old (110.0.x) and new (110.20+) versions of CM. [1999-09-17] Added PropList:PROP_LIST structure. This structure implements property lists using Stephen Weeks's technique. [1999-09-17] Improved the red-black tree implementations with linear-time union, intersection, difference, and filter operations. Also reimplemented the delete function in a way that does not require an extra constructor. [1999-09-09] Added Red-Black-Tree implementation of sets and maps. Two new functors (RedBlackMapFn and RedBlackSetFn) and four new structures (IntRedBlackMap, IntRedBlackSet, AtomIntRedBlackMap, and IntRedBlackSet). Also added aliases AtomMap and AtomSet that for the RB implementations. [1999-09-03] Added missing support for WORD and WORD8 format items to Format structure. Still need to handle LWORD items!! [1999-08-17] Added DynamicArray:DYNAMIC_ARRAY structure. [1999-07-06] Added declarative representation of pretty-printing to PPStreamFn. This replaces the PPDescFn and PP_DESC components (which were not implemented anyway). [1999-07-02] Moved SockUtil structure into a new INet library. Also split out the Unix-specific socket operations into a UnixSockUtil module. (Sockets are now supported on Win32). [1999-06-17] Added listKeys function to ORD_MAP API. [1999-06-14] Added Riccardo Pucella's GetOpt structure to Util library. [1999-06-14] Added singleton and inDomain functions to ORD_MAP API. [1999-06-02] Merged in some bug fixes from the compiler's version of the IntInf structure. [1999-05-05] Fixed a couple of bugs in the PP library having to do with nesting absolute and relative indentations. [1999-04-21] Added a way to pass control information to a PP device via the PP stream (function control in PP_STREAM). [1999-04-16] Added better style support to the HTML PP device. [1998-09-04] Added isEmpty predicate and first fucntion to ORD_MAP signature (and to implementations). [1998-06-23] Fixed a bug in ParserComb.bind (reported by Andrew Kennedy). -------------------------------------------------------------------------------- [1998-04-15] 110 --> 110.5 -------------------------- There is now a regular expression library (mostly implemented by Riccardo Pucella). The implementation separates front-ends (which specify the syntax of REs) from back-ends (which implement the matching algorithms). Currently, we support AWK syntax as the only front-end and two different back-ends. Added an implementation of the SML/NJ PP API to the pretty-printer examples. Fixed a bug in the IntInf structure with scanning strings of the form "1+2". Also did some clean-up of the code. -------------------------------------------------------------------------------- [1997-12-07] 109.32 --> 110 --------------------------- Added the function add' to the ORD_SET signature and the function insert' to the ORD_MAP signature. These functions fit the pattern of the fold functions. (110 patch 3) Added the IntInf:INT_INF structure to the Util library. This is a subset of the optional IntInf structure defined by the SML'97 basis. Changed the Rand structure to use words as seeds and results. This also fixes bug 1047. (110 patch 3) Added a clear operation to the Queue and various hash table structures. Changed the ListFormat.formatList to ListFormat.fmt and ListFormat.scanList to ListFormat.scan. Added the function ListFormat.listToString. Updated the HTML library to the final 3.2 specification. This involved adding a new BODY element type (with attributes). Also, removed the header/footer arguments to the pretty-printer (they were a gross hack). Added PathUtil structure to Util library. This is a more general version of the old UnixPath module. -------------------------------------------------------------------------------- [1997-10-01] 109.31 --> 109.32 ------------------------------ Changed the type of the exec instruction in the Reactive library. -------------------------------------------------------------------------------- [1997-09-09] 109.30 --> 109.31 ------------------------------ Added the Reactive library, which supports reactive scripting. This is a first cut, and hasn't been extensively tested. Changed the names of SockUtil.sock{Recv,Send}* to SockUtil.{recv,send}* (since the sock prefix was redundant). Added some bug fixes to IntListSet that had previously been added to the ListSetFn implementation. -------------------------------------------------------------------------------- [1997-07-17] 109.29 --> 109.30 ------------------------------ Added a missing case to {ListSetFn,IntListSet}.isSubset. The bug fix for unionWith was broken. I think I've got it right this time. -------------------------------------------------------------------------------- [1997-07-17] 109.29 --> 109.30 ------------------------------ Fixed a bug in the binary-tree and splay-tree implementations of the unionWith[i] and intersectWith[i] functions. The bug caused the order of arguments to the merging function to be wrong in some cases. Fixed uses of System.Unsafe. Removed Array2:ARRAY2 from Util library, since the basis now defines these. Added MonoArrayFn functor for easy creation of monomorphic array structures. Added Atom.atom' operation for turning substrings into atoms. -------------------------------------------------------------------------------- [1997-06-13] 109.28 --> 109.29 ------------------------------ Added collate operation to ORD_MAP signature. Added compare operation to ORD_SET signature. Changed the type of and intersectWith[i] in the ORD_MAP signature to be more general. Changed the type of the map function in the ORD_SET signature to return a new set (instead of a list). -------------------------------------------------------------------------------- [1997-05-22] 109.27 --> 109.28 ------------------------------ Changed various sharing constraints to "where type" definitions to compile in SML'97. Added AtomBinaryMap and AtomBinarySet structures to Util library. -------------------------------------------------------------------------------- [1997-03-03] 109.25.1 --> 109.25.2 ---------------------------------- Changed Util/time-limit.sml to reflect new location of callcc/throw. -------------------------------------------------------------------------------- [1997-02-25] 109.25 --> 109.25.1 -------------------------------- Added a bunch of new operations to the ordered map modules (BinaryMapFn, IntBinaryMap, ListMapFn, IntListFn, and SplayMapFn). The new operations are: val unionWith : ('a * 'a -> 'a) -> ('a map * 'a map) -> 'a map val unionWithi : (Key.ord_key * 'a * 'a -> 'a) -> ('a map * 'a map) -> 'a map val intersectWith : ('a * 'a -> 'a) -> ('a map * 'a map) -> 'a map val intersectWithi : (Key.ord_key * 'a * 'a -> 'a) -> ('a map * 'a map) -> 'a map val filter : ('a -> bool) -> 'a map -> 'a map val filteri : (Key.ord_key * 'a -> bool) -> 'a map -> 'a map val mapPartial : ('a -> 'b option) -> 'a map -> 'b map val mapPartiali : (Key.ord_key * 'a -> 'b option) -> 'a map -> 'b map Added IOUtil : IO_UTIL structure to the Util library. This provides support for dynamically rebinding stdIn and stdOut. Added KeywordFn functor to the Util library. This provides support for implementing scanners, where keyword recognition is done outside the basic lexical analysis. Fixed several bugs in the ListSetFn functor. -------------------------------------------------------------------------------- [1997-01-10] 109.23 --> 109.24 ------------------------------ Changed the HASH_TABLE, MONO_HASH_TABLE, MONO_HASH2_TABLE, and ORD_MAP interfaces to provide two forms of the listItems function. listItemsi returns a list of (key, value) pairs and listItems returns just the values. The previous version of listItems was like listItemsi. Added a missing case for BASEFONT in CheckHTMLFn.check. -------------------------------------------------------------------------------- [1996-12-07] 109.21.1 --> 109.22 -------------------------------- Changed the MONO_DYNAMIC_ARRAY signature to make array an eqtype (also changed the implementation of DynamicArrayFn). Fixed a bug in Array2.column -------------------------------------------------------------------------------- [1996-10-18] 109.19 --> 109.20 ------------------------------ Added functions for sending/receiving strings over TCP sockets to the SockUtil structure. Fixed a bug with reading on a closed socket in SockUtil.sockRecvVec Fixed a bug in the implementation of the intersection operation in binary sets (BinarySetFn and IntBinarySet). -------------------------------------------------------------------------------- [1996-10-01] 109.18 --> 109.19 ------------------------------ Updated the HTML library to the August 21 version of the 3.2 DTD. Added html-defaults.sml to the HTML Library. Added Parsing combinators to the Util library. Added Socket utilities to the Unix library. smlsharp-1.2.0/src/smlnj-lib/LICENSE0000644 000000000000000000000205612050661606017171 0ustar00rootroot0000000 0000000 STANDARD ML OF NEW JERSEY COPYRIGHT NOTICE, LICENSE AND DISCLAIMER. Copyright (c) 1989-2002 by Lucent Technologies Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the name of Lucent Technologies, Bell Labs or any Lucent entity not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. Lucent disclaims all warranties with regard to this software, including all implied warranties of merchantability and fitness. In no event shall Lucent be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use or performance of this software. smlsharp-1.2.0/src/smlnj-lib/README0000644 000000000000000000000246112050661606017044 0ustar00rootroot0000000 0000000 This is the SML/NJ Library. It is free software distributed under the SML/NJ system's license (see the LICENSE file for details). The library is organized as a collection of CM libraries. Here is a roadmap of the library structure: Directory Sources File Description ------------------------------------------------- Util smlnj-lib.cm This is the general utility library. Controls controls-lib.cm This is a library of support code for managing application controls. HashCons hash-cons-lib.cm This is a library supporting hash-consing of data structures and efficient sets and maps using hash-consed keys. HTML html-lib.cm This library provides parsing and pretty printing of HTML (Version 3.2). INet inet-lib.cm Networking utilities (for both Unix and Windows). PP pp-lib.cm Pretty-printing library. Reactive reactive-lib.cm A low-level reactive scripting library. RegExp regexp-lib.cm Regular-expression library. Unix unix-lib.cm Unix specific utilities. The first column is the source directory, the second gives the library sources file alias (to be used in your application's sources.cm file), and the third column gives a brief description. Look at the Doc dicrectory and at the README files in the individual subdirectories for more documentation. smlsharp-1.2.0/src/smlnj-lib/Util0000755 000000000000000000000000012050661606017017 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/smlnj-lib/Util/binary-map-fn.smi0000644 000000000000000000000452512050661606022256 0ustar00rootroot0000000 0000000 _require "../../basis/main/List.smi" _require "../../basis/main/binary-op.smi" _require "lib-base.smi" _require "ord-key-sig.sml" _require "ord-map-sig.sml" functor BinaryMapFn ( K : sig type ord_key val compare : ord_key * ord_key -> order end ) = struct structure Key = struct type ord_key = K.ord_key val compare : ord_key * ord_key -> order end type 'a map (= boxed) val empty : 'a map val isEmpty : 'a map -> bool val singleton : Key.ord_key * 'a -> 'a map val insert : 'a map * Key.ord_key * 'a -> 'a map val insert' : (Key.ord_key * 'a) * 'a map -> 'a map val find : 'a map * Key.ord_key -> 'a option val lookup : 'a map * Key.ord_key -> 'a val inDomain : 'a map * Key.ord_key -> bool val remove : 'a map * Key.ord_key -> 'a map * 'a val first : 'a map -> 'a option val firsti : 'a map -> (Key.ord_key * 'a) option val numItems : 'a map -> int val listItems : 'a map -> 'a list val listItemsi : 'a map -> (Key.ord_key * 'a) list val listKeys : 'a map -> Key.ord_key list val collate : ('a * 'a -> order) -> 'a map * 'a map -> order val unionWith : ('a * 'a -> 'a) -> 'a map * 'a map -> 'a map val unionWithi : (Key.ord_key * 'a * 'a -> 'a) -> 'a map * 'a map -> 'a map val intersectWith : ('a * 'b -> 'c) -> 'a map * 'b map -> 'c map val intersectWithi : (Key.ord_key * 'a * 'b -> 'c) -> 'a map * 'b map -> 'c map val mergeWith : ('a option * 'b option -> 'c option) -> 'a map * 'b map -> 'c map val mergeWithi : (Key.ord_key * 'a option * 'b option -> 'c option) -> 'a map * 'b map -> 'c map val app : ('a -> unit) -> 'a map -> unit val appi : (Key.ord_key * 'a -> unit) -> 'a map -> unit val map : ('a -> 'b) -> 'a map -> 'b map val mapi : (Key.ord_key * 'a -> 'b) -> 'a map -> 'b map val foldl : ('a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldli : (Key.ord_key * 'a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldr : ('a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldri : (Key.ord_key * 'a * 'b -> 'b) -> 'b -> 'a map -> 'b val filter : ('a -> bool) -> 'a map -> 'a map val filteri : (Key.ord_key * 'a -> bool) -> 'a map -> 'a map val mapPartial : ('a -> 'b option) -> 'a map -> 'b map val mapPartiali : (Key.ord_key * 'a -> 'b option) -> 'a map -> 'b map val insertWith : ('a -> unit) -> 'a map * Key.ord_key * 'a -> 'a map end smlsharp-1.2.0/src/smlnj-lib/Util/binary-map-fn.sml0000644 000000000000000000003432112050661606022256 0ustar00rootroot0000000 0000000 (* binary-map-fn.sml * * COPYRIGHT (c) 1993 by AT&T Bell Laboratories. See COPYRIGHT file for details. * * This code was adapted from Stephen Adams' binary tree implementation * of applicative integer sets. * * Copyright 1992 Stephen Adams. * * This software may be used freely provided that: * 1. This copyright notice is attached to any copy, derived work, * or work including all or part of this software. * 2. Any derived work must contain a prominent notice stating that * it has been altered from the original. * * * Name(s): Stephen Adams. * Department, Institution: Electronics & Computer Science, * University of Southampton * Address: Electronics & Computer Science * University of Southampton * Southampton SO9 5NH * Great Britian * E-mail: sra@ecs.soton.ac.uk * * Comments: * * 1. The implementation is based on Binary search trees of Bounded * Balance, similar to Nievergelt & Reingold, SIAM J. Computing * 2(1), March 1973. The main advantage of these trees is that * they keep the size of the tree in the node, giving a constant * time size operation. * * 2. The bounded balance criterion is simpler than N&R's alpha. * Simply, one subtree must not have more than `weight' times as * many elements as the opposite subtree. Rebalancing is * guaranteed to reinstate the criterion for weight>2.23, but * the occasional incorrect behaviour for weight=2 is not * detrimental to performance. * *) (* Modification made by Atsushi Ohori, 2011-09-12. This file contain one extra function insertWith after insrt' for optimization. *) (* functor BinaryMapFn (K : ORD_KEY) : ORD_MAP = *) functor BinaryMapFn (K : ORD_KEY) : sig include ORD_MAP val insertWith : ('a -> unit) -> 'a map * Key.ord_key * 'a -> 'a map (* Insert an item with invoking a function when there is an old item.*) end = struct structure Key = K (* ** val weight = 3 ** fun wt i = weight * i *) fun wt (i : int) = i + i + i datatype 'a map = E | T of { key : K.ord_key, value : 'a, cnt : int, left : 'a map, right : 'a map } val empty = E fun isEmpty E = true | isEmpty _ = false fun numItems E = 0 | numItems (T{cnt,...}) = cnt (* return the first item in the map (or NONE if it is empty) *) fun first E = NONE | first (T{value, left=E, ...}) = SOME value | first (T{left, ...}) = first left (* return the first item in the map and its key (or NONE if it is empty) *) fun firsti E = NONE | firsti (T{key, value, left=E, ...}) = SOME(key, value) | firsti (T{left, ...}) = firsti left local fun N(k,v,E,E) = T{key=k,value=v,cnt=1,left=E,right=E} | N(k,v,E,r as T n) = T{key=k,value=v,cnt=1+(#cnt n),left=E,right=r} | N(k,v,l as T n,E) = T{key=k,value=v,cnt=1+(#cnt n),left=l,right=E} | N(k,v,l as T n,r as T n') = T{key=k,value=v,cnt=1+(#cnt n)+(#cnt n'),left=l,right=r} fun single_L (a,av,x,T{key=b,value=bv,left=y,right=z,...}) = N(b,bv,N(a,av,x,y),z) | single_L _ = raise Match fun single_R (b,bv,T{key=a,value=av,left=x,right=y,...},z) = N(a,av,x,N(b,bv,y,z)) | single_R _ = raise Match fun double_L (a,av,w,T{key=c,value=cv,left=T{key=b,value=bv,left=x,right=y,...},right=z,...}) = N(b,bv,N(a,av,w,x),N(c,cv,y,z)) | double_L _ = raise Match fun double_R (c,cv,T{key=a,value=av,left=w,right=T{key=b,value=bv,left=x,right=y,...},...},z) = N(b,bv,N(a,av,w,x),N(c,cv,y,z)) | double_R _ = raise Match fun T' (k,v,E,E) = T{key=k,value=v,cnt=1,left=E,right=E} | T' (k,v,E,r as T{right=E,left=E,...}) = T{key=k,value=v,cnt=2,left=E,right=r} | T' (k,v,l as T{right=E,left=E,...},E) = T{key=k,value=v,cnt=2,left=l,right=E} | T' (p as (_,_,E,T{left=T _,right=E,...})) = double_L p | T' (p as (_,_,T{left=E,right=T _,...},E)) = double_R p (* these cases almost never happen with small weight*) | T' (p as (_,_,E,T{left=T{cnt=ln,...},right=T{cnt=rn,...},...})) = if ln < rn then single_L p else double_L p | T' (p as (_,_,T{left=T{cnt=ln,...},right=T{cnt=rn,...},...},E)) = if ln > rn then single_R p else double_R p | T' (p as (_,_,E,T{left=E,...})) = single_L p | T' (p as (_,_,T{right=E,...},E)) = single_R p | T' (p as (k,v,l as T{cnt=ln,left=ll,right=lr,...}, r as T{cnt=rn,left=rl,right=rr,...})) = if rn >= wt ln then (*right is too big*) let val rln = numItems rl val rrn = numItems rr in if rln < rrn then single_L p else double_L p end else if ln >= wt rn then (*left is too big*) let val lln = numItems ll val lrn = numItems lr in if lrn < lln then single_R p else double_R p end else T{key=k,value=v,cnt=ln+rn+1,left=l,right=r} local fun min (T{left=E,key,value,...}) = (key,value) | min (T{left,...}) = min left | min _ = raise Match fun delmin (T{left=E,right,...}) = right | delmin (T{key,value,left,right,...}) = T'(key,value,delmin left,right) | delmin _ = raise Match in fun delete' (E,r) = r | delete' (l,E) = l | delete' (l,r) = let val (mink,minv) = min r in T'(mink,minv,l,delmin r) end end in fun mkDict () = E fun singleton (x,v) = T{key=x,value=v,cnt=1,left=E,right=E} fun insert (E,x,v) = T{key=x,value=v,cnt=1,left=E,right=E} | insert (T(set as {key,left,right,value,...}),x,v) = case K.compare (key,x) of GREATER => T'(key,value,insert(left,x,v),right) | LESS => T'(key,value,left,insert(right,x,v)) | _ => T{key=x,value=v,left=left,right=right,cnt= #cnt set} fun insert' ((k, x), m) = insert(m, k, x) (* Added the following function by Atsushi Ohori for optimization. *) fun 'a insertWith (f : 'a -> unit) (E,x,v) = T{key=x,value=v,cnt=1,left=E,right=E} | insertWith f (T(set as {key,left,right,value,...}),x,v) = case K.compare (key,x) of GREATER => T'(key,value,insert(left,x,v),right) | LESS => T'(key,value,left,insert(right,x,v)) | _ => (f value; T{key=x,value=v,left=left,right=right,cnt= #cnt set}) (* The end of the addition. *) fun inDomain (set, x) = let fun mem E = false | mem (T(n as {key,left,right,...})) = (case K.compare (x,key) of GREATER => mem right | EQUAL => true | LESS => mem left (* end case *)) in mem set end fun find (set, x) = let fun mem E = NONE | mem (T(n as {key,left,right,...})) = (case K.compare (x,key) of GREATER => mem right | EQUAL => SOME(#value n) | LESS => mem left (* end case *)) in mem set end fun lookup (set, x) = let fun mem E = raise LibBase.NotFound | mem (T(n as {key,left,right,...})) = (case K.compare (x,key) of GREATER => mem right | EQUAL => #value n | LESS => mem left (* end case *)) in mem set end fun remove (E,x) = raise LibBase.NotFound | remove (set as T{key,left,right,value,...},x) = ( case K.compare (key,x) of GREATER => let val (left', v) = remove(left, x) in (T'(key, value, left', right), v) end | LESS => let val (right', v) = remove (right, x) in (T'(key, value, left, right'), v) end | _ => (delete'(left,right),value) (* end case *)) fun listItems d = let fun d2l (E, l) = l | d2l (T{key,value,left,right,...}, l) = d2l(left, value::(d2l(right,l))) in d2l (d,[]) end fun listItemsi d = let fun d2l (E, l) = l | d2l (T{key,value,left,right,...}, l) = d2l(left, (key,value)::(d2l(right,l))) in d2l (d,[]) end fun listKeys d = let fun d2l (E, l) = l | d2l (T{key,left,right,...}, l) = d2l(left, key::(d2l(right,l))) in d2l (d,[]) end local fun next ((t as T{right, ...})::rest) = (t, left(right, rest)) | next _ = (E, []) and left (E, rest) = rest | left (t as T{left=l, ...}, rest) = left(l, t::rest) in fun 'a collate (cmpRng: 'a * 'a -> order) (s1, s2) = let fun cmp (t1, t2) = (case (next t1, next t2) of ((E, _), (E, _)) => EQUAL | ((E, _), _) => LESS | (_, (E, _)) => GREATER | ((T{key=x1, value=y1, ...}, r1), (T{key=x2, value=y2, ...}, r2)) => ( case Key.compare(x1, x2) of EQUAL => (case cmpRng(y1, y2) of EQUAL => cmp (r1, r2) | order => order (* end case *)) | order => order (* end case *)) (* end case *)) in cmp (left(s1, []), left(s2, [])) end end (* local *) fun 'a appi (f:K.ord_key * 'a -> unit) d = let fun app' E = () | app' (T{key,value,left,right,...}) = ( app' left; f(key, value); app' right) in app' d end fun 'a app (f:'a -> unit) d = let fun app' E = () | app' (T{value,left,right,...}) = ( app' left; f value; app' right) in app' d end fun mapi f d = let fun map' E = E | map' (T{key,value,left,right,cnt}) = let val left' = map' left val value' = f(key, value) val right' = map' right in T{cnt=cnt, key=key, value=value', left = left', right = right'} end in map' d end fun map f d = mapi (fn (_, x) => f x) d fun foldli f init d = let fun fold (E, v) = v | fold (T{key,value,left,right,...}, v) = fold (right, f(key, value, fold(left, v))) in fold (d, init) end fun foldl f init d = foldli (fn (_, v, accum) => f (v, accum)) init d fun foldri f init d = let fun fold (E,v) = v | fold (T{key,value,left,right,...},v) = fold (left, f(key, value, fold(right, v))) in fold (d, init) end fun foldr f init d = foldri (fn (_, v, accum) => f (v, accum)) init d (** To be implemented ** val filter : ('a -> bool) -> 'a map -> 'a map val filteri : (Key.ord_key * 'a -> bool) -> 'a map -> 'a map **) end (* local *) (* the following are generic implementations of the unionWith, intersectWith, * and mergeWith operetions. These should be specialized for the internal * representations at some point. *) fun unionWith f (m1, m2) = let fun ins f (key, x, m) = (case find(m, key) of NONE => insert(m, key, x) | (SOME x') => insert(m, key, f(x, x')) (* end case *)) in if (numItems m1 > numItems m2) then foldli (ins (fn (a, b) => f (b, a))) m1 m2 else foldli (ins f) m2 m1 end fun unionWithi f (m1, m2) = let fun ins f (key, x, m) = (case find(m, key) of NONE => insert(m, key, x) | (SOME x') => insert(m, key, f(key, x, x')) (* end case *)) in if (numItems m1 > numItems m2) then foldli (ins (fn (k, a, b) => f (k, b, a))) m1 m2 else foldli (ins f) m2 m1 end fun ('a, 'b,'c) intersectWith (f: 'a*'b -> 'c) (m1, m2) = let (* iterate over the elements of m1, checking for membership in m2 *) fun intersect f (m1, m2) = let fun ins (key, x, m) = (case find(m2, key) of NONE => m | (SOME x') => insert(m, key, f(x, x')) (* end case *)) in foldli ins empty m1 end in if (numItems m1 > numItems m2) then intersect f (m1, m2) else intersect (fn (a, b) => f(b, a)) (m2, m1) end fun ('a, 'b, 'c) intersectWithi (f:K.ord_key * 'a * 'b -> 'c) (m1, m2) = let (* iterate over the elements of m1, checking for membership in m2 *) fun intersect f (m1, m2) = let fun ins (key, x, m) = (case find(m2, key) of NONE => m | (SOME x') => insert(m, key, f(key, x, x')) (* end case *)) in foldli ins empty m1 end in if (numItems m1 > numItems m2) then intersect f (m1, m2) else intersect (fn (k, a, b) => f(k, b, a)) (m2, m1) end fun mergeWith f (m1, m2) = let fun merge ([], [], m) = m | merge ((k1, x1)::r1, [], m) = mergef (k1, SOME x1, NONE, r1, [], m) | merge ([], (k2, x2)::r2, m) = mergef (k2, NONE, SOME x2, [], r2, m) | merge (m1 as ((k1, x1)::r1), m2 as ((k2, x2)::r2), m) = ( case Key.compare (k1, k2) of LESS => mergef (k1, SOME x1, NONE, r1, m2, m) | EQUAL => mergef (k1, SOME x1, SOME x2, r1, r2, m) | GREATER => mergef (k2, NONE, SOME x2, m1, r2, m) (* end case *)) and mergef (k, x1, x2, r1, r2, m) = (case f (x1, x2) of NONE => merge (r1, r2, m) | SOME y => merge (r1, r2, insert(m, k, y)) (* end case *)) in merge (listItemsi m1, listItemsi m2, empty) end fun mergeWithi f (m1, m2) = let fun merge ([], [], m) = m | merge ((k1, x1)::r1, [], m) = mergef (k1, SOME x1, NONE, r1, [], m) | merge ([], (k2, x2)::r2, m) = mergef (k2, NONE, SOME x2, [], r2, m) | merge (m1 as ((k1, x1)::r1), m2 as ((k2, x2)::r2), m) = ( case Key.compare (k1, k2) of LESS => mergef (k1, SOME x1, NONE, r1, m2, m) | EQUAL => mergef (k1, SOME x1, SOME x2, r1, r2, m) | GREATER => mergef (k2, NONE, SOME x2, m1, r2, m) (* end case *)) and mergef (k, x1, x2, r1, r2, m) = (case f (k, x1, x2) of NONE => merge (r1, r2, m) | SOME y => merge (r1, r2, insert(m, k, y)) (* end case *)) in merge (listItemsi m1, listItemsi m2, empty) end (* this is a generic implementation of filter. It should * be specialized to the data-structure at some point. *) fun filter predFn m = let fun f (key, item, m) = if predFn item then insert(m, key, item) else m in foldli f empty m end fun filteri predFn m = let fun f (key, item, m) = if predFn(key, item) then insert(m, key, item) else m in foldli f empty m end (* this is a generic implementation of mapPartial. It should * be specialized to the data-structure at some point. *) fun mapPartial f m = let fun g (key, item, m) = (case f item of NONE => m | (SOME item') => insert(m, key, item') (* end case *)) in foldli g empty m end fun mapPartiali f m = let fun g (key, item, m) = (case f(key, item) of NONE => m | (SOME item') => insert(m, key, item') (* end case *)) in foldli g empty m end end (* functor BinaryMapFn *) smlsharp-1.2.0/src/smlnj-lib/Util/binary-set-fn.smi0000644 000000000000000000000251012050661606022264 0ustar00rootroot0000000 0000000 _require "../../basis/main/List.smi" _require "../../basis/main/binary-op.smi" _require "lib-base.smi" _require "ord-key-sig.sml" _require "ord-set-sig.sml" functor BinarySetFn ( K : sig type ord_key val compare : ord_key * ord_key -> order end ) = struct structure Key = struct type ord_key = K.ord_key val compare : ord_key * ord_key -> order end type item = Key.ord_key type set (= boxed) val empty : set val singleton : item -> set val fromList : item list -> set val add : set * item -> set val add' : item * set -> set val addList : set * item list -> set val delete : set * item -> set val member : set * item -> bool val isEmpty : set -> bool val equal : set * set -> bool val compare : set * set -> order val isSubset : set * set -> bool val numItems : set -> int val listItems : set -> item list val union : set * set -> set val intersection : set * set -> set val difference : set * set -> set val map : (item -> item) -> set -> set val app : (item -> unit) -> set -> unit val foldl : (item * 'a -> 'a) -> 'a -> set -> 'a val foldr : (item * 'a -> 'a) -> 'a -> set -> 'a val partition : (item -> bool) -> set -> set * set val filter : (item -> bool) -> set -> set val exists : (item -> bool) -> set -> bool val find : (item -> bool) -> set -> item option end smlsharp-1.2.0/src/smlnj-lib/Util/binary-set-fn.sml0000644 000000000000000000003307312050661606022277 0ustar00rootroot0000000 0000000 (* binary-set-fn.sml * * COPYRIGHT (c) 1993 by AT&T Bell Laboratories. See COPYRIGHT file for details. * * This code was adapted from Stephen Adams' binary tree implementation * of applicative integer sets. * * Copyright 1992 Stephen Adams. * * This software may be used freely provided that: * 1. This copyright notice is attached to any copy, derived work, * or work including all or part of this software. * 2. Any derived work must contain a prominent notice stating that * it has been altered from the original. * * Name(s): Stephen Adams. * Department, Institution: Electronics & Computer Science, * University of Southampton * Address: Electronics & Computer Science * University of Southampton * Southampton SO9 5NH * Great Britian * E-mail: sra@ecs.soton.ac.uk * * Comments: * * 1. The implementation is based on Binary search trees of Bounded * Balance, similar to Nievergelt & Reingold, SIAM J. Computing * 2(1), March 1973. The main advantage of these trees is that * they keep the size of the tree in the node, giving a constant * time size operation. * * 2. The bounded balance criterion is simpler than N&R's alpha. * Simply, one subtree must not have more than `weight' times as * many elements as the opposite subtree. Rebalancing is * guaranteed to reinstate the criterion for weight>2.23, but * the occasional incorrect behaviour for weight=2 is not * detrimental to performance. * * 3. There are two implementations of union. The default, * hedge_union, is much more complex and usually 20% faster. I * am not sure that the performance increase warrants the * complexity (and time it took to write), but I am leaving it * in for the competition. It is derived from the original * union by replacing the split_lt(gt) operations with a lazy * version. The `obvious' version is called old_union. * * 4. Most time is spent in T', the rebalancing constructor. If my * understanding of the output of * in the sml batch * compiler is correct then the code produced by NJSML 0.75 * (sparc) for the final case is very disappointing. Most * invocations fall through to this case and most of these cases * fall to the else part, i.e. the plain contructor, * T(v,ln+rn+1,l,r). The poor code allocates a 16 word vector * and saves lots of registers into it. In the common case it * then retrieves a few of the registers and allocates the 5 * word T node. The values that it retrieves were live in * registers before the massive save. * * Modified to functor to support general ordered values *) functor BinarySetFn (K : ORD_KEY) : ORD_SET = struct structure Key = K type item = K.ord_key datatype set = E | T of { elt : item, cnt : int, left : set, right : set } fun numItems E = 0 | numItems (T{cnt,...}) = cnt fun isEmpty E = true | isEmpty _ = false fun mkT(v,n,l,r) = T{elt=v,cnt=n,left=l,right=r} (* N(v,l,r) = T(v,1+numItems(l)+numItems(r),l,r) *) fun N(v,E,E) = mkT(v,1,E,E) | N(v,E,r as T{cnt=n,...}) = mkT(v,n+1,E,r) | N(v,l as T{cnt=n,...}, E) = mkT(v,n+1,l,E) | N(v,l as T{cnt=n,...}, r as T{cnt=m,...}) = mkT(v,n+m+1,l,r) fun single_L (a,x,T{elt=b,left=y,right=z,...}) = N(b,N(a,x,y),z) | single_L _ = raise Match fun single_R (b,T{elt=a,left=x,right=y,...},z) = N(a,x,N(b,y,z)) | single_R _ = raise Match fun double_L (a,w,T{elt=c,left=T{elt=b,left=x,right=y,...},right=z,...}) = N(b,N(a,w,x),N(c,y,z)) | double_L _ = raise Match fun double_R (c,T{elt=a,left=w,right=T{elt=b,left=x,right=y,...},...},z) = N(b,N(a,w,x),N(c,y,z)) | double_R _ = raise Match (* ** val weight = 3 ** fun wt i = weight * i *) fun wt (i : int) = i + i + i fun T' (v,E,E) = mkT(v,1,E,E) | T' (v,E,r as T{left=E,right=E,...}) = mkT(v,2,E,r) | T' (v,l as T{left=E,right=E,...},E) = mkT(v,2,l,E) | T' (p as (_,E,T{left=T _,right=E,...})) = double_L p | T' (p as (_,T{left=E,right=T _,...},E)) = double_R p (* these cases almost never happen with small weight*) | T' (p as (_,E,T{left=T{cnt=ln,...},right=T{cnt=rn,...},...})) = if lnrn then single_R p else double_R p | T' (p as (_,E,T{left=E,...})) = single_L p | T' (p as (_,T{right=E,...},E)) = single_R p | T' (p as (v,l as T{elt=lv,cnt=ln,left=ll,right=lr}, r as T{elt=rv,cnt=rn,left=rl,right=rr})) = if rn >= wt ln (*right is too big*) then let val rln = numItems rl val rrn = numItems rr in if rln < rrn then single_L p else double_L p end else if ln >= wt rn (*left is too big*) then let val lln = numItems ll val lrn = numItems lr in if lrn < lln then single_R p else double_R p end else mkT(v,ln+rn+1,l,r) fun add (E,x) = mkT(x,1,E,E) | add (set as T{elt=v,left=l,right=r,cnt},x) = case K.compare(x,v) of LESS => T'(v,add(l,x),r) | GREATER => T'(v,l,add(r,x)) | EQUAL => mkT(x,cnt,l,r) fun add' (s, x) = add(x, s) fun concat3 (E,v,r) = add(r,v) | concat3 (l,v,E) = add(l,v) | concat3 (l as T{elt=v1,cnt=n1,left=l1,right=r1}, v, r as T{elt=v2,cnt=n2,left=l2,right=r2}) = if wt n1 < n2 then T'(v2,concat3(l,v,l2),r2) else if wt n2 < n1 then T'(v1,l1,concat3(r1,v,r)) else N(v,l,r) fun split_lt (E,x) = E | split_lt (T{elt=v,left=l,right=r,...},x) = case K.compare(v,x) of GREATER => split_lt(l,x) | LESS => concat3(l,v,split_lt(r,x)) | _ => l fun split_gt (E,x) = E | split_gt (T{elt=v,left=l,right=r,...},x) = case K.compare(v,x) of LESS => split_gt(r,x) | GREATER => concat3(split_gt(l,x),v,r) | _ => r fun min (T{elt=v,left=E,...}) = v | min (T{left=l,...}) = min l | min _ = raise Match fun delmin (T{left=E,right=r,...}) = r | delmin (T{elt=v,left=l,right=r,...}) = T'(v,delmin l,r) | delmin _ = raise Match fun delete' (E,r) = r | delete' (l,E) = l | delete' (l,r) = T'(min r,l,delmin r) fun concat (E, s) = s | concat (s, E) = s | concat (t1 as T{elt=v1,cnt=n1,left=l1,right=r1}, t2 as T{elt=v2,cnt=n2,left=l2,right=r2}) = if wt n1 < n2 then T'(v2,concat(t1,l2),r2) else if wt n2 < n1 then T'(v1,l1,concat(r1,t2)) else T'(min t2,t1, delmin t2) local fun trim (lo,hi,E) = E | trim (lo,hi,s as T{elt=v,left=l,right=r,...}) = if K.compare(v,lo) = GREATER then if K.compare(v,hi) = LESS then s else trim(lo,hi,l) else trim(lo,hi,r) fun uni_bd (s,E,_,_) = s | uni_bd (E,T{elt=v,left=l,right=r,...},lo,hi) = concat3(split_gt(l,lo),v,split_lt(r,hi)) | uni_bd (T{elt=v,left=l1,right=r1,...}, s2 as T{elt=v2,left=l2,right=r2,...},lo,hi) = concat3(uni_bd(l1,trim(lo,v,s2),lo,v), v, uni_bd(r1,trim(v,hi,s2),v,hi)) (* inv: lo < v < hi *) (* all the other versions of uni and trim are * specializations of the above two functions with * lo=-infinity and/or hi=+infinity *) fun trim_lo (_, E) = E | trim_lo (lo,s as T{elt=v,right=r,...}) = case K.compare(v,lo) of GREATER => s | _ => trim_lo(lo,r) fun trim_hi (_, E) = E | trim_hi (hi,s as T{elt=v,left=l,...}) = case K.compare(v,hi) of LESS => s | _ => trim_hi(hi,l) fun uni_hi (s,E,_) = s | uni_hi (E,T{elt=v,left=l,right=r,...},hi) = concat3(l,v,split_lt(r,hi)) | uni_hi (T{elt=v,left=l1,right=r1,...}, s2 as T{elt=v2,left=l2,right=r2,...},hi) = concat3(uni_hi(l1,trim_hi(v,s2),v),v,uni_bd(r1,trim(v,hi,s2),v,hi)) fun uni_lo (s,E,_) = s | uni_lo (E,T{elt=v,left=l,right=r,...},lo) = concat3(split_gt(l,lo),v,r) | uni_lo (T{elt=v,left=l1,right=r1,...}, s2 as T{elt=v2,left=l2,right=r2,...},lo) = concat3(uni_bd(l1,trim(lo,v,s2),lo,v),v,uni_lo(r1,trim_lo(v,s2),v)) fun uni (s,E) = s | uni (E,s) = s | uni (T{elt=v,left=l1,right=r1,...}, s2 as T{elt=v2,left=l2,right=r2,...}) = concat3(uni_hi(l1,trim_hi(v,s2),v), v, uni_lo(r1,trim_lo(v,s2),v)) in val hedge_union = uni end (* The old_union version is about 20% slower than * hedge_union in most cases *) fun old_union (E,s2) = s2 | old_union (s1,E) = s1 | old_union (T{elt=v,left=l,right=r,...},s2) = let val l2 = split_lt(s2,v) val r2 = split_gt(s2,v) in concat3(old_union(l,l2),v,old_union(r,r2)) end val empty = E fun singleton x = T{elt=x,cnt=1,left=E,right=E} fun addList (s,l) = List.foldl (fn (i,s) => add(s,i)) s l fun fromList l = addList (E, l) val add = add fun member (set, x) = let fun pk E = false | pk (T{elt=v, left=l, right=r, ...}) = ( case K.compare(x,v) of LESS => pk l | EQUAL => true | GREATER => pk r (* end case *)) in pk set end local (* true if every item in t is in t' *) fun treeIn (t,t') = let fun isIn E = true | isIn (T{elt,left=E,right=E,...}) = member(t',elt) | isIn (T{elt,left,right=E,...}) = member(t',elt) andalso isIn left | isIn (T{elt,left=E,right,...}) = member(t',elt) andalso isIn right | isIn (T{elt,left,right,...}) = member(t',elt) andalso isIn left andalso isIn right in isIn t end in fun isSubset (E,_) = true | isSubset (_,E) = false | isSubset (t as T{cnt=n,...},t' as T{cnt=n',...}) = (n<=n') andalso treeIn (t,t') fun equal (E,E) = true | equal (t as T{cnt=n,...},t' as T{cnt=n',...}) = (n=n') andalso treeIn (t,t') | equal _ = false end local fun next ((t as T{right, ...})::rest) = (t, left(right, rest)) | next _ = (E, []) and left (E, rest) = rest | left (t as T{left=l, ...}, rest) = left(l, t::rest) in fun compare (s1, s2) = let fun cmp (t1, t2) = (case (next t1, next t2) of ((E, _), (E, _)) => EQUAL | ((E, _), _) => LESS | (_, (E, _)) => GREATER | ((T{elt=e1, ...}, r1), (T{elt=e2, ...}, r2)) => ( case Key.compare(e1, e2) of EQUAL => cmp (r1, r2) | order => order (* end case *)) (* end case *)) in cmp (left(s1, []), left(s2, [])) end end fun delete (E,x) = raise LibBase.NotFound | delete (set as T{elt=v,left=l,right=r,...},x) = case K.compare(x,v) of LESS => T'(v,delete(l,x),r) | GREATER => T'(v,l,delete(r,x)) | _ => delete'(l,r) val union = hedge_union fun intersection (E, _) = E | intersection (_, E) = E | intersection (s, T{elt=v,left=l,right=r,...}) = let val l2 = split_lt(s,v) val r2 = split_gt(s,v) in if member(s,v) then concat3(intersection(l2,l),v,intersection(r2,r)) else concat(intersection(l2,l),intersection(r2,r)) end fun difference (E,s) = E | difference (s,E) = s | difference (s, T{elt=v,left=l,right=r,...}) = let val l2 = split_lt(s,v) val r2 = split_gt(s,v) in concat(difference(l2,l),difference(r2,r)) end fun map f set = let fun map'(acc, E) = acc | map'(acc, T{elt,left,right,...}) = map' (add (map' (acc, left), f elt), right) in map' (E, set) end fun app (apf:item -> unit) = let fun apply E = () | apply (T{elt,left,right,...}) = (apply left;apf elt; apply right) in apply end fun foldl f b set = let fun foldf (E, b) = b | foldf (T{elt,left,right,...}, b) = foldf (right, f(elt, foldf (left, b))) in foldf (set, b) end fun foldr f b set = let fun foldf (E, b) = b | foldf (T{elt,left,right,...}, b) = foldf (left, f(elt, foldf (right, b))) in foldf (set, b) end fun listItems set = foldr (op::) [] set fun filter pred set = foldl (fn (item, s) => if (pred item) then add(s, item) else s) empty set fun partition pred set = foldl (fn (item, (s1, s2)) => if (pred item) then (add(s1, item), s2) else (s1, add(s2, item)) ) (empty, empty) set fun find p E = NONE | find p (T{elt,left,right,...}) = (case find p left of NONE => if (p elt) then SOME elt else find p right | a => a (* end case *)) fun exists p E = false | exists p (T{elt, left, right,...}) = (exists p left) orelse (p elt) orelse (exists p right) end (* BinarySetFn *) smlsharp-1.2.0/src/smlnj-lib/Util/lib-base-sig.sml0000644 000000000000000000000115212050661606022050 0ustar00rootroot0000000 0000000 (* lib-base-sig.sml * * COPYRIGHT (c) 1993 by AT&T Bell Laboratories. See COPYRIGHT file for details. *) signature LIB_BASE = sig exception Unimplemented of string (* raised to report unimplemented features *) exception Impossible of string (* raised to report internal errors *) exception NotFound (* raised by searching operations *) val failure : {module : string, func : string, msg : string} -> 'a (* raise the exception Fail with a standard format message. *) val version : {date : string, system : string, version_id : int list} val banner : string end (* LIB_BASE *) smlsharp-1.2.0/src/smlnj-lib/Util/lib-base.smi0000644 000000000000000000000067312050661606021274 0ustar00rootroot0000000 0000000 _require "../../basis/main/Int.smi" _require "../../basis/main/List.smi" _require "../../basis/main/String.smi" _require "lib-base-sig.sml" structure LibBase = struct exception Unimplemented of string exception Impossible of string exception NotFound val failure : {module : string, func : string, msg : string} -> 'a val version : {date : string, system : string, version_id : int list} val banner : string end smlsharp-1.2.0/src/smlnj-lib/Util/lib-base.sml0000644 000000000000000000000162012050661606021270 0ustar00rootroot0000000 0000000 (* lib-base.sml * * COPYRIGHT (c) 1993 by AT&T Bell Laboratories. See COPYRIGHT file for details. *) structure LibBase : LIB_BASE = struct (* raised to report unimplemented features *) exception Unimplemented of string (* raised to report internal errors *) exception Impossible of string (* raised by searching operations *) exception NotFound (* raise the exception Fail with a standard format message. *) fun failure {module, func, msg} = raise (Fail(concat[module, ".", func, ": ", msg])) val version = { date = "June 1, 1996", system = "SML/NJ Library", version_id = [1, 0] } fun f ([], l) = l | f ([x : int], l) = (Int.toString x)::l | f (x::r, l) = (Int.toString x) :: "." :: f(r, l) val banner = concat ( #system version :: ", Version " :: f (#version_id version, [", ", #date version])) end (* LibBase *) smlsharp-1.2.0/src/smlnj-lib/Util/ord-key-sig.sml0000644 000000000000000000000040412050661606021743 0ustar00rootroot0000000 0000000 (* ord-key-sig.sml * * COPYRIGHT (c) 1993 by AT&T Bell Laboratories. See COPYRIGHT file for details. * * Abstract linearly ordered keys. * *) signature ORD_KEY = sig type ord_key val compare : ord_key * ord_key -> order end (* ORD_KEY *) smlsharp-1.2.0/src/smlnj-lib/Util/ord-map-sig.sml0000644 000000000000000000001023612050661606021734 0ustar00rootroot0000000 0000000 (* ord-map-sig.sml * * COPYRIGHT (c) 1996 by AT&T Research. See COPYRIGHT file for details. * * Abstract signature of an applicative-style finite maps (dictionaries) * structure over ordered monomorphic keys. *) signature ORD_MAP = sig structure Key : ORD_KEY type 'a map val empty : 'a map (* The empty map *) val isEmpty : 'a map -> bool (* Return true if and only if the map is empty *) val singleton : (Key.ord_key * 'a) -> 'a map (* return the specified singleton map *) val insert : 'a map * Key.ord_key * 'a -> 'a map val insert' : ((Key.ord_key * 'a) * 'a map) -> 'a map (* Insert an item. *) val find : 'a map * Key.ord_key -> 'a option (* Look for an item, return NONE if the item doesn't exist *) val lookup : 'a map * Key.ord_key -> 'a (* look for an item, raise the NotFound exception if it doesn't exist *) val inDomain : ('a map * Key.ord_key) -> bool (* return true, if the key is in the domain of the map *) val remove : 'a map * Key.ord_key -> 'a map * 'a (* Remove an item, returning new map and value removed. * Raises LibBase.NotFound if not found. *) val first : 'a map -> 'a option val firsti : 'a map -> (Key.ord_key * 'a) option (* return the first item in the map (or NONE if it is empty) *) val numItems : 'a map -> int (* Return the number of items in the map *) val listItems : 'a map -> 'a list val listItemsi : 'a map -> (Key.ord_key * 'a) list (* Return an ordered list of the items (and their keys) in the map. *) val listKeys : 'a map -> Key.ord_key list (* return an ordered list of the keys in the map. *) val collate : ('a * 'a -> order) -> ('a map * 'a map) -> order (* given an ordering on the map's range, return an ordering * on the map. *) val unionWith : ('a * 'a -> 'a) -> ('a map * 'a map) -> 'a map val unionWithi : (Key.ord_key * 'a * 'a -> 'a) -> ('a map * 'a map) -> 'a map (* return a map whose domain is the union of the domains of the two input * maps, using the supplied function to define the map on elements that * are in both domains. *) val intersectWith : ('a * 'b -> 'c) -> ('a map * 'b map) -> 'c map val intersectWithi : (Key.ord_key * 'a * 'b -> 'c) -> ('a map * 'b map) -> 'c map (* return a map whose domain is the intersection of the domains of the * two input maps, using the supplied function to define the range. *) val mergeWith : ('a option * 'b option -> 'c option) -> ('a map * 'b map) -> 'c map val mergeWithi : (Key.ord_key * 'a option * 'b option -> 'c option) -> ('a map * 'b map) -> 'c map (* merge two maps using the given function to control the merge. For * each key k in the union of the two maps domains, the function * is applied to the image of the key under the map. If the function * returns SOME y, then (k, y) is added to the resulting map. *) val app : ('a -> unit) -> 'a map -> unit val appi : ((Key.ord_key * 'a) -> unit) -> 'a map -> unit (* Apply a function to the entries of the map in map order. *) val map : ('a -> 'b) -> 'a map -> 'b map val mapi : (Key.ord_key * 'a -> 'b) -> 'a map -> 'b map (* Create a new map by applying a map function to the * name/value pairs in the map. *) val foldl : ('a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldli : (Key.ord_key * 'a * 'b -> 'b) -> 'b -> 'a map -> 'b (* Apply a folding function to the entries of the map * in increasing map order. *) val foldr : ('a * 'b -> 'b) -> 'b -> 'a map -> 'b val foldri : (Key.ord_key * 'a * 'b -> 'b) -> 'b -> 'a map -> 'b (* Apply a folding function to the entries of the map * in decreasing map order. *) val filter : ('a -> bool) -> 'a map -> 'a map val filteri : (Key.ord_key * 'a -> bool) -> 'a map -> 'a map (* Filter out those elements of the map that do not satisfy the * predicate. The filtering is done in increasing map order. *) val mapPartial : ('a -> 'b option) -> 'a map -> 'b map val mapPartiali : (Key.ord_key * 'a -> 'b option) -> 'a map -> 'b map (* map a partial function over the elements of a map in increasing * map order. *) end (* ORD_MAP *) smlsharp-1.2.0/src/smlnj-lib/Util/ord-set-sig.sml0000644 000000000000000000000445012050661606021753 0ustar00rootroot0000000 0000000 (* ordset-sig.sml * * COPYRIGHT (c) 1993 by AT&T Bell Laboratories. See COPYRIGHT file for details. * * Signature for a set of values with an order relation. *) signature ORD_SET = sig structure Key : ORD_KEY type item = Key.ord_key type set val empty : set (* The empty set *) val singleton : item -> set (* Create a singleton set *) val fromList : item list -> set (* create a set from a list of items *) val add : set * item -> set val add' : (item * set) -> set (* Insert an item. *) val addList : set * item list -> set (* Insert items from list. *) val delete : set * item -> set (* Remove an item. Raise NotFound if not found. *) val member : set * item -> bool (* Return true if and only if item is an element in the set *) val isEmpty : set -> bool (* Return true if and only if the set is empty *) val equal : (set * set) -> bool (* Return true if and only if the two sets are equal *) val compare : (set * set) -> order (* does a lexical comparison of two sets *) val isSubset : (set * set) -> bool (* Return true if and only if the first set is a subset of the second *) val numItems : set -> int (* Return the number of items in the table *) val listItems : set -> item list (* Return an ordered list of the items in the set *) val union : set * set -> set (* Union *) val intersection : set * set -> set (* Intersection *) val difference : set * set -> set (* Difference *) val map : (item -> item) -> set -> set (* Create a new set by applying a map function to the elements * of the set. *) val app : (item -> unit) -> set -> unit (* Apply a function to the entries of the set * in increasing order *) val foldl : (item * 'b -> 'b) -> 'b -> set -> 'b (* Apply a folding function to the entries of the set * in increasing order *) val foldr : (item * 'b -> 'b) -> 'b -> set -> 'b (* Apply a folding function to the entries of the set * in decreasing order *) val partition : (item -> bool) -> set -> (set * set) val filter : (item -> bool) -> set -> set val exists : (item -> bool) -> set -> bool val find : (item -> bool) -> set -> item option end (* ORD_SET *) smlsharp-1.2.0/src/smlnj-lib/Util/parser-comb-sig.sml0000644 000000000000000000000370212050661606022607 0ustar00rootroot0000000 0000000 (* parser-comb-sig.sml * * COPYRIGHT (c) 1996 AT&T Research. * * Parser combinators over readers. These are modeled after the Haskell * combinators of Hutton and Meijer. The main difference is that they * return a single result, instead of a list of results. This means that * "or" is a committed choice; once one branch succeeds, the others will not * be enabled. While this is somewhat limiting, for many applications it * will not be a problem. For more substantial parsing problems, one should * use ML-Yacc and/or ML-Lex. *) signature PARSER_COMB = sig type ('a, 'strm) parser = (char, 'strm) StringCvt.reader -> ('a, 'strm) StringCvt.reader val result : 'a -> ('a, 'strm) parser val failure : ('a, 'strm) parser val wrap : (('a, 'strm) parser * ('a -> 'b)) -> ('b, 'strm) parser val seq : (('a, 'strm) parser * ('b, 'strm) parser) -> (('a * 'b), 'strm) parser val seqWith : (('a * 'b) -> 'c) -> (('a, 'strm) parser * ('b, 'strm) parser) -> ('c, 'strm) parser val bind : (('a, 'strm) parser * ('a -> ('b, 'strm) parser)) -> ('b, 'strm) parser val eatChar : (char -> bool) -> (char, 'strm) parser val char : char -> (char, 'strm) parser val string : string -> (string, 'strm) parser val skipBefore : (char -> bool) -> ('a, 'strm) parser -> ('a, 'strm) parser val or : (('a, 'strm) parser * ('a, 'strm) parser) -> ('a, 'strm) parser val or' : ('a, 'strm) parser list -> ('a, 'strm) parser val zeroOrMore : ('a, 'strm) parser -> ('a list, 'strm) parser val oneOrMore : ('a, 'strm) parser -> ('a list, 'strm) parser val option : ('a, 'strm) parser -> ('a option, 'strm) parser val join : ('a option, 'strm) parser -> ('a, 'strm) parser val token : (char -> bool) -> (string, 'strm) parser (* parse a token consisting of characters satisfying the predicate. * If this succeeds, then the resulting string is guaranteed to be * non-empty. *) end; smlsharp-1.2.0/src/smlnj-lib/Util/parser-comb.smi0000644 000000000000000000000267312050661606022032 0ustar00rootroot0000000 0000000 _require "../../basis/main/String.smi" _require "../../basis/main/Substring.smi" _require "../../basis/main/StringCvt.smi" _require "../../basis/main/List.smi" _require "../../basis/main/binary-op.smi" _require "parser-comb-sig.sml" structure ParserComb = struct type ('a, 'strm) parser = (char, 'strm) StringCvt.reader -> ('a, 'strm) StringCvt.reader val result : 'a -> ('a, 'strm) parser val failure : ('a, 'strm) parser val wrap : (('a, 'strm) parser * ('a -> 'b)) -> ('b, 'strm) parser val seq : (('a, 'strm) parser * ('b, 'strm) parser) -> (('a * 'b), 'strm) parser val seqWith : (('a * 'b) -> 'c) -> (('a, 'strm) parser * ('b, 'strm) parser) -> ('c, 'strm) parser val bind : (('a, 'strm) parser * ('a -> ('b, 'strm) parser)) -> ('b, 'strm) parser val eatChar : (char -> bool) -> (char, 'strm) parser val char : char -> (char, 'strm) parser val string : string -> (string, 'strm) parser val skipBefore : (char -> bool) -> ('a, 'strm) parser -> ('a, 'strm) parser val or : (('a, 'strm) parser * ('a, 'strm) parser) -> ('a, 'strm) parser val or' : ('a, 'strm) parser list -> ('a, 'strm) parser val zeroOrMore : ('a, 'strm) parser -> ('a list, 'strm) parser val oneOrMore : ('a, 'strm) parser -> ('a list, 'strm) parser val option : ('a, 'strm) parser -> ('a option, 'strm) parser val join : ('a option, 'strm) parser -> ('a, 'strm) parser val token : (char -> bool) -> (string, 'strm) parser end smlsharp-1.2.0/src/smlnj-lib/Util/parser-comb.sml0000644 000000000000000000000644312050661606022034 0ustar00rootroot0000000 0000000 (* parser-comb-sig.sml * * COPYRIGHT (c) 1996 AT&T Research. * * Parser combinators over readers. These are modeled after the Haskell * combinators of Hutton and Meijer. The main difference is that they * return a single result, instead of a list of results. This means that * "or" is a committed choice; once one branch succeeds, the others will not * be enabled. While this is somewhat limiting, for many applications it * will not be a problem. For more substantial parsing problems, one should * use ML-Yacc and/or ML-Lex. *) structure ParserComb : PARSER_COMB = struct structure SC = StringCvt type ('a, 'strm) parser = (char, 'strm) SC.reader -> ('a, 'strm) SC.reader fun result v getc strm = SOME(v, strm) fun failure getc strm = NONE fun wrap (p, f) getc strm = (case (p getc strm) of NONE => NONE | (SOME(x, strm)) => SOME(f x, strm) (* end case *)) fun seqWith f (p1, p2) getc strm = (case (p1 getc strm) of SOME(t1, strm1) => (case (p2 getc strm1) of SOME(t2, strm2) => SOME(f(t1, t2), strm2) | NONE => NONE (* end case *)) | NONE => NONE (* end case *)) fun seq (p1, p2) = seqWith (fn x => x) (p1, p2) fun bind (p1, p2') getc strm = (case (p1 getc strm) of SOME(t1, strm1) => p2' t1 getc strm1 | NONE => NONE (* end case *)) fun eatChar pred getc strm = (case getc strm of (res as SOME(c, strm')) => if (pred c) then res else NONE | _ => NONE (* end case *)) fun char (c: char) = eatChar (fn c' => (c = c')) fun string s getc strm = let fun eat (ss, strm) = (case (Substring.getc ss, getc strm) of (SOME(c1, ss'), SOME(c2, strm')) => if (c1 = c2) then eat(ss', strm') else NONE | (NONE, _) => SOME(s, strm) | _ => NONE (* end case *)) in eat (Substring.full s, strm) end fun skipBefore pred p getc strm = let fun skip' strm = (case getc strm of NONE => NONE | SOME(c, strm') => if (pred c) then skip' strm' else p getc strm (* end case *)) in skip' strm end fun or (p1, p2) getc strm = (case (p1 getc strm) of NONE => (case (p2 getc strm) of NONE => NONE | res => res (* end case *)) | res => res (* end case *)) fun or' l getc strm = let fun tryNext [] = NONE | tryNext (p::r) = (case (p getc strm) of NONE => tryNext r | res => res (* end case *)) in tryNext l end fun zeroOrMore p getc strm = let val p = p getc fun parse (l, strm) = (case (p strm) of (SOME(item, strm)) => parse (item::l, strm) | NONE => SOME(rev l, strm) (* end case *)) in parse ([], strm) end fun oneOrMore p getc strm = (case (zeroOrMore p getc strm) of (res as (SOME(_::_, _))) => res | _ => NONE (* end case *)) fun option p getc strm = (case (p getc strm) of SOME(x, strm) => SOME(SOME x, strm) | NONE => SOME(NONE, strm) (* end case *)) fun join p = bind (p, fn (SOME x) => result x | NONE => failure) (* parse a token consisting of characters satisfying the predicate. * If this succeeds, then the resulting string is guaranteed to be * non-empty. *) fun token pred getc strm = (case (zeroOrMore (eatChar pred) getc strm) of (SOME(res as _::_, strm)) => SOME(implode res, strm) | _ => NONE (* end case *)) end; smlsharp-1.2.0/src/sql0000755 000000000000000000000000012050661606015012 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/sql/main0000755 000000000000000000000000012050661606015736 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/sql/main/Backend.smi0000644 000000000000000000000026412050661606020060 0ustar00rootroot0000000 0000000 _require "PGSQLBackend.smi" structure SMLSharp_SQL_Backend = SMLSharp_SQL_PGSQLBackend (* _require "MySQLBackend.smi" structure SMLSharp_SQL_Backend = SMLSharp_SQL_MySQLBackend *) smlsharp-1.2.0/src/sql/main/Backend.sml0000644 000000000000000000000017412050661606020063 0ustar00rootroot0000000 0000000 structure SMLSharp_SQL_Backend = SMLSharp_SQL_PGSQLBackend (* structure SMLSharp_SQL_Backend = SMLSharp_SQL_MySQLBackend *) smlsharp-1.2.0/src/sql/main/KeyValuePair.smi0000644 000000000000000000000043112050661606021066 0ustar00rootroot0000000 0000000 _require "../../basis.smi" structure SMLSharp_SQL_KeyValuePair = struct type pairs = (string * string) list exception ParseError val parse : string -> pairs val find : pairs * string -> string option val findExcept : string list -> pairs -> (string * string) option end smlsharp-1.2.0/src/sql/main/KeyValuePair.sml0000644 000000000000000000000672312050661606021103 0ustar00rootroot0000000 0000000 (** * Key-value pair parser * @author UENO Katsuhiro * @copyright (c) 2010, Tohoku University. *) structure SMLSharp_SQL_KeyValuePair : sig type pairs = (string * string) list exception ParseError val parse : string -> pairs val find : pairs * string -> string option val findExcept : string list -> pairs -> (string * string) option end = struct type pairs = (string * string) list exception ParseError (* * server description is a space-separated list of key value pairs of * the form: * ::= * * ::= (space) = (space) * ::= (string) * ::= * | ' (|space)* ' * ::= (alphabet) | \\ | \' *) fun scanRepeat get src = case get src of NONE => (nil, src) | SOME (h, src) => let val (t, src) = scanRepeat get src in (h::t, src) end fun scanString getc src = let val (chars, src) = scanRepeat getc src in (String.implode chars, src) end fun scanValueChar getc src = case getc src of SOME (#"\\", src) => (case getc src of SOME (c, src) => SOME (c, src) | NONE => NONE) | SOME (#"'", src) => NONE | SOME (c, src) => if Char.isSpace c then NONE else SOME (c, src) | NONE => NONE fun scanValueCharQuoted getc src = case scanValueChar getc src of SOME (c, src) => SOME (c, src) | NONE => case getc src of SOME (c, src) => if Char.isSpace c then SOME (c, src) else NONE | NONE => NONE fun scanValue getc src = case getc src of SOME (#"'", src) => let val (ret, src) = scanString (scanValueCharQuoted getc) src in case getc src of SOME (#"'", src) => SOME (ret, src) | _ => NONE end | SOME _ => SOME (scanString (scanValueChar getc) src) | NONE => NONE fun scanKeyChar getc src = case getc src of SOME (#"_", src) => SOME (#"_", src) | SOME (c, src) => if Char.isAlphaNum c then SOME (c, src) else NONE | NONE => NONE fun scanKey getc src = let val (key, src) = scanString (scanKeyChar getc) src in if size key > 0 then SOME (key, src) else NONE end fun skipSpace getc src = case getc src of SOME (c, src') => if Char.isSpace c then skipSpace getc src' else src | NONE => src fun scanPair getc src = case scanKey getc (skipSpace getc src) of NONE => NONE | SOME (key, src) => case getc (skipSpace getc src) of SOME (#"=", src) => (case scanValue getc (skipSpace getc src) of SOME (value, src) => SOME ((key, value), src) | NONE => NONE) | _ => NONE fun scanPairList getc src = scanRepeat (scanPair getc) src fun endOfSource getc src = case getc (skipSpace getc src) of NONE => true | SOME _ => false fun parse src = let val src = Substring.full src val (pairs, src) = scanPairList Substring.getc src in if endOfSource Substring.getc src then pairs else raise ParseError end fun find (pairs:pairs, key) = case List.find (fn (k,v) => k = key) pairs of SOME (_, value) => SOME value | NONE => NONE fun findExcept keys (pairs:pairs) = List.find (fn (k,v) => not (List.exists (fn s => s = k) keys)) pairs end smlsharp-1.2.0/src/sql/main/MySQL.smi0000644 000000000000000000000156312050661606017501 0ustar00rootroot0000000 0000000 _require "../../basis.smi" _require "../../config/main/Config.smi" _require "../../ffi.smi" structure SMLSharp_SQL_MySQL = struct type MYSQL = unit ptr type MYSQL_RES = unit ptr type MYSQL_ROW = unit ptr ptr type my_ulonglong = int val mysql_init : unit -> MYSQL -> MYSQL val mysql_real_connect : unit -> (MYSQL * string * string * string * string * int * unit ptr * int) -> MYSQL val mysql_errno : unit -> MYSQL -> int val mysql_error : unit -> MYSQL -> char ptr val mysql_query : unit -> (MYSQL * string) -> int val mysql_store_result : unit -> MYSQL -> MYSQL_RES val mysql_fetch_row : unit -> MYSQL_RES -> MYSQL_ROW val mysql_free_result : unit -> MYSQL -> unit val mysql_data_seek : unit -> (MYSQL_RES * my_ulonglong) -> unit val mysql_close : unit -> MYSQL -> unit val mysql_num_rows : unit -> MYSQL_RES -> my_ulonglong end smlsharp-1.2.0/src/sql/main/MySQL.sml0000644 000000000000000000000727012050661606017505 0ustar00rootroot0000000 0000000 (** * importing MySQL C API * @author SATO Hiroyuki * @author UENO Katsuhiro * @copyright (c) 2010, Tohoku University. *) structure SMLSharp_SQL_MySQL :> sig type MYSQL = unit ptr type MYSQL_RES = unit ptr type MYSQL_ROW = unit ptr ptr type my_ulonglong = int val mysql_init : unit -> MYSQL -> MYSQL val mysql_real_connect : unit -> (MYSQL * string * string * string * string * int * unit ptr * int) -> MYSQL val mysql_errno : unit -> MYSQL -> int val mysql_error : unit -> MYSQL -> char ptr val mysql_query : unit -> (MYSQL * string) -> int val mysql_store_result : unit -> MYSQL -> MYSQL_RES val mysql_fetch_row : unit -> MYSQL_RES -> MYSQL_ROW val mysql_free_result : unit -> MYSQL -> unit val mysql_data_seek : unit -> (MYSQL_RES * my_ulonglong) -> unit val mysql_close : unit -> MYSQL -> unit val mysql_num_rows : unit -> MYSQL_RES -> my_ulonglong end = struct fun lazy f = let val r = ref NONE in fn () => case !r of SOME x => x | NONE => let val x = f () in r := SOME x; x end end (* TODO: platform independent *) val lib = lazy (fn _ => DynamicLink.dlopen (case OS.Process.getEnv "SMLSHARP_LIBMYSQLCLIENT" of NONE => "libmysqlclient.16." ^ SMLSharp_Config.DLLEXT () | SOME x => x)) type MYSQL = unit ptr type MYSQL_RES = unit ptr type MYSQL_ROW = unit ptr ptr type my_ulonglong = int (* 64bit int *) type MYSQL_ROW_OFFSET = int fun find s = DynamicLink.dlsym(lib (), s) val mysql_init = lazy (fn _ => find "mysql_init" : _import (MYSQL) -> MYSQL) val mysql_real_connect = lazy (fn _ => find "mysql_real_connect" : _import (MYSQL, string, string, string, string, int, unit ptr, int) -> MYSQL) val mysql_errno = lazy (fn _ => find "mysql_errno" :_import (MYSQL) -> int) val mysql_error = lazy (fn _ => find "mysql_error" : _import (MYSQL) -> char ptr) val mysql_query = lazy (fn _ => find "mysql_query" :_import (MYSQL, string) -> int) val mysql_store_result = lazy (fn _ => find "mysql_store_result" :_import (MYSQL) -> MYSQL_RES) val mysql_use_result = lazy (fn _ => find "mysql_use_result" :_import (MYSQL) -> MYSQL_RES) val mysql_fetch_row = lazy (fn _ => find "mysql_fetch_row" : _import (MYSQL_RES) -> MYSQL_ROW) val mysql_free_result = lazy (fn _ => find "mysql_free_result" :_import (MYSQL_RES) -> ()) val mysql_close = lazy (fn _ => find "mysql_close" :_import (MYSQL) -> ()) (* mysql_data_seek takes a 64 bit integer as an argument. * Since current SML# does not support 64 bit integer, * we assume x86 calling convention and use sequential two * 32 bit integers to pass a 64 bit integer. High word of * the 64 bit integer is always set to 0. *) val mysql_data_seek = lazy (fn _ => let val mysql_data_seek = find "mysql_data_seek" : _import (MYSQL_RES,int (*lo*) ,int (*hi*) ) -> () in fn (x, y) => mysql_data_seek (x, y, 0) end) (* mysql_num_rows returns a 64 bit interger but SML# does not * support it. We assume x86 calling convention to receive a * lower 32 bit of the 64 bit integer. *) val mysql_num_rows = lazy (fn _ => find "mysql_num_rows" :_import (MYSQL_RES) -> my_ulonglong) end smlsharp-1.2.0/src/sql/main/MySQLBackend.smi0000644 000000000000000000000207012050661606020743 0ustar00rootroot0000000 0000000 _require "../../basis.smi" _require "MySQL.smi" _require "KeyValuePair.smi" _require "../../basis/main/SMLSharpRuntime.smi" _require "SQLBACKEND.sig" structure SMLSharp_SQL_MySQLBackend = struct type conn = unit ptr type res = unit ptr type sqltype (= string) exception Exec of string exception Connect of string exception Format val eof : res * int -> bool val execQuery : conn * string -> res val closeConn : conn -> unit val closeRel : res -> unit val numOfRows : res -> int val getDatabaseSchema : conn -> (string * {colname: string, typename: sqltype, isnull: bool} list) list val connect : string -> conn val getInt : res * int * int -> int option val getWord : res * int * int -> word option val getReal : res * int * int -> real option val getString : res * int * int -> string option val getChar : res * int * int -> char option val getBool : res * int * int -> bool option val translateType : sqltype -> string option end smlsharp-1.2.0/src/sql/main/MySQLBackend.sml0000644 000000000000000000001675512050661606020765 0ustar00rootroot0000000 0000000 (** * MySQL support for SML# * @author SATO Hiroyuki * @copyright (c) 2010, Tohoku University. *) structure SMLSharp_SQL_MySQLBackend :> SMLSharp_SQL_SQLBACKEND = struct structure MySQL = SMLSharp_SQL_MySQL structure KeyValuePair = SMLSharp_SQL_KeyValuePair type conn = MySQL.MYSQL type res = MySQL.MYSQL_RES type sqltype = string exception Exec of string exception Connect of string exception Format fun eof (r,rowIndex)= rowIndex >= (MySQL.mysql_num_rows () r) fun execQuery (mysql, queryString) = let val r = MySQL.mysql_query () (mysql, queryString) in if r = 0 then MySQL.mysql_store_result () mysql else raise Exec (Int.toString (MySQL.mysql_errno () mysql) ^ ": " ^ SMLSharpRuntime.str_new (MySQL.mysql_error () mysql) ^"\n") end fun closeConn conn = (MySQL.mysql_close () conn; ()) fun closeRel r = (MySQL.mysql_free_result () r; ()) fun numOfRows r = MySQL.mysql_num_rows () r fun getValue convFn (result, rowIndex:int, colIndex:int) = let val _ = MySQL.mysql_data_seek () (result,rowIndex) val row = MySQL.mysql_fetch_row () result val value = SMLSharp.Pointer.deref_ptr (SMLSharp.Pointer.advance (row, colIndex)) in if value = _NULL then NONE else case convFn (SMLSharpRuntime.str_new (SMLSharp.Pointer.fromUnitPtr value)) of SOME x => SOME x | NONE => raise Format end fun readInt x = Int.fromString x fun readWord x = StringCvt.scanString (Word.scan StringCvt.DEC) x fun readReal x = Real.fromString x fun readString (x:string) = SOME x fun readChar x = SOME (String.sub (x, 0)) handle Subscript => NONE fun readBool x = (print x; raise Exec "MySQL does'nt support boolean") fun getInt x = getValue readInt x fun getWord x = getValue readWord x fun getReal x = getValue readReal x fun getString x = getValue readString x fun getChar x = getValue readChar x fun getBool x = getValue readBool x local fun evalQuery (query, fetchFn, conn) = let val r = execQuery (conn, query) val tuples = List.tabulate (numOfRows r, fn i => fetchFn i r) handle e => (closeRel r; raise e) in closeRel r; tuples end fun readIsnull x = case x of "NO" => false | "YES" => true | _ => raise Format fun nonnull (SOME x) = x | nonnull NONE = raise Format fun getTableSchema conn {tabname, dbname} = let val query = "SELECT column_name,is_nullable,data_type \ \FROM information_schema.schemata, \ \information_schema.columns \ \WHERE columns.table_name = '" ^ tabname ^ "' \ \AND schemata.schema_name = '" ^ dbname ^ "' \ \ORDER BY columns.column_name" fun fetchFn r conn = {colname = nonnull (getString (conn, r, 0)), isnull = readIsnull (valOf (getString (conn, r, 1))) handle Option => raise Format, typename = nonnull (getString (conn, r, 2))} in (tabname, evalQuery (query, fetchFn, conn)) end in fun getDatabaseSchema conn = let val query = "SELECT tables.table_name, tables.table_schema \ \FROM information_schema.tables" fun fetchFn r conn = {tabname = nonnull (getString (conn, r, 0)), dbname = nonnull (getString (conn, r, 1))} val tableDBList = evalQuery (query, fetchFn, conn) in map (getTableSchema conn) tableDBList end end (* local *) local fun find (pairs, key, default) = case KeyValuePair.find (pairs, key) of SOME value => value | NONE => default fun findInt (pairs, key, default) = case KeyValuePair.find (pairs, key) of NONE => default | SOME value => case Int.fromString value of SOME x => x | NONE => raise Connect (key ^ " requires integer") (* * Avaliable keys for connection information: * key type description * -------------------------------------------------------------- * host string hostname of MySQL server * port int port number of MySQL server * user string user name of the connection * password string password to connect the server * dbname string database name (required) * unix_socket string filename of UNIX socket to be connected * flags int flags for protocol *) val availableKeys = ["host", "port", "user", "password", "dbname", "unix_socket", "flags"] fun real_connect mysql connInfo = let val pairs = KeyValuePair.parse connInfo handle KeyValuePair.ParseError => raise Connect "syntax error in server string" val _ = case KeyValuePair.findExcept availableKeys pairs of SOME (key, _) => raise Connect ("invalid keyword: " ^ key) | NONE => () val host = find (pairs, "host", "localhost") val user = find (pairs, "user", "") val password = find (pairs, "password", "") val dbname = case KeyValuePair.find (pairs, "dbname") of SOME x => x | NONE => raise Connect "dbname is required" val port = findInt (pairs, "port", 0) val unix_socket = case KeyValuePair.find (pairs, "unix_socket") of SOME x => raise Connect "unix_socket is not supported" | NONE => _NULL val flags = findInt (pairs, "flags", 0) in MySQL.mysql_real_connect () (mysql, host, user, password, dbname, port, unix_socket, flags) end in fun connect connInfo = let val mysql = MySQL.mysql_init () _NULL in if mysql = _NULL then raise Connect "mysql_init failed" else let val conn = real_connect mysql connInfo in if conn = _NULL then raise Connect (SMLSharpRuntime.str_new (MySQL.mysql_error () mysql) ^ " (errno:" ^ Int.toString (MySQL.mysql_errno () mysql) ^ ")") else conn end end end (* local *) (* TODO: how to deal with time, date, binary,blob... *) fun translateType dbTypeName = case dbTypeName of "tinyint" => SOME "int" | "smallint" => SOME "int" | "mediumint" => SOME "int" | "int" => SOME "int" | "bigint" => NONE | "float" => SOME "real" | "double" => SOME "real" | "date" => NONE | "datetime" => NONE | "timestamp" => NONE | "time" => NONE | "year2" => NONE | "year4" => NONE | "varchar" => SOME "string" | "char" => NONE | "binary" => NONE | "varbinary" => NONE | "tinytext" => SOME "string" | "text" => SOME "string" | "mediumtext" => NONE | "longtext" => NONE | "tinyblob" => NONE | "blob" => NONE | "mediumblob" =>NONE | "longblob" => NONE | "enum" => NONE | "set" => NONE | "bool" => NONE | _ => NONE end smlsharp-1.2.0/src/sql/main/PGSQL.smi0000644 000000000000000000000273712050661606017426 0ustar00rootroot0000000 0000000 _require "../../basis.smi" _require "../../basis/main/SMLSharpRuntime.smi" _require "../../config/main/Config.smi" _require "../../ffi.smi" structure SMLSharp_SQL_PGSQL = struct type conn = unit ptr type result = unit ptr eqtype status (= int) eqtype resultStatus (= int) val CONNECTION_OK : status val CONNECTION_BAD : status val PGRES_EMPTY_QUERY : resultStatus val PGRES_COMMAND_OK : resultStatus val PGRES_TUPLES_OK : resultStatus val PGRES_COPY_OUT : resultStatus val PGRES_COPY_IN : resultStatus val PGRES_BAD_RESPONSE : resultStatus val PGRES_NONFATAL_ERROR : resultStatus val PGRES_FATAL_ERROR : resultStatus val PQconnectdb : unit -> string -> conn val PQstatus : unit -> conn -> status val PQfinish : unit -> conn -> unit val PQexec : unit -> (conn * string) -> result val PQgetvalue : unit -> (result * int * int) -> Word8.word ptr val PQgetlength : unit -> (result * int * int) -> int val PQgetisnull : unit -> (result * int * int) -> bool val PQntuples : unit -> result -> int val PQnfields : unit -> result -> int val PQresultStatus : unit -> result -> resultStatus val PQerrorMessage : unit -> conn -> char ptr val PQresultErrorMessage : unit -> result -> char ptr val PQdb : unit -> conn -> char ptr val PQuser : unit -> conn -> char ptr val PQclear : unit -> result -> unit val getErrorMessage : conn -> string val getResErrorMessage : result -> string val getDBname : conn -> string val getDBuser : conn -> string end smlsharp-1.2.0/src/sql/main/PGSQL.sml0000644 000000000000000000001107412050661606017423 0ustar00rootroot0000000 0000000 (** * PostgreSQL support for SML# * @author UENO Katsuhiro * @author ENDO hiroki * @copyright (c) 2009, 2010, Tohoku University. *) structure SMLSharp_SQL_PGSQL :> sig type conn = unit ptr type result = unit ptr eqtype status eqtype resultStatus val CONNECTION_OK : status val CONNECTION_BAD : status val PGRES_EMPTY_QUERY : resultStatus val PGRES_COMMAND_OK : resultStatus val PGRES_TUPLES_OK : resultStatus val PGRES_COPY_OUT : resultStatus val PGRES_COPY_IN : resultStatus val PGRES_BAD_RESPONSE : resultStatus val PGRES_NONFATAL_ERROR : resultStatus val PGRES_FATAL_ERROR : resultStatus val PQconnectdb : unit -> string -> conn val PQstatus : unit -> conn -> status val PQfinish : unit -> conn -> unit val PQexec : unit -> (conn * string) -> result val PQgetvalue : unit -> (result * int * int) -> Word8.word ptr val PQgetlength : unit -> (result * int * int) -> int val PQgetisnull : unit -> (result * int * int) -> bool val PQntuples : unit -> result -> int val PQnfields : unit -> result -> int val PQresultStatus : unit -> result -> resultStatus val PQerrorMessage : unit -> conn -> char ptr val PQresultErrorMessage : unit -> result -> char ptr val PQdb : unit -> conn -> char ptr val PQuser : unit -> conn -> char ptr val PQclear : unit -> result -> unit val getErrorMessage : conn -> string val getResErrorMessage : result -> string val getDBname : conn -> string val getDBuser : conn -> string end = struct fun lazy f = let val r = ref NONE in fn () => case !r of SOME x => x | NONE => let val x = f () in r := SOME x; x end end (* ToDo: platform independent *) val lib = lazy (fn _ => DynamicLink.dlopen (case OS.Process.getEnv "SMLSHARP_LIBPQ" of NONE => "libpq.5." ^ SMLSharp_Config.DLLEXT () | SOME x => x)) type conn = unit ptr type result = unit ptr type status = int type resultStatus = int val CONNECTION_OK = 0 val CONNECTION_BAD = 1 val PGRES_EMPTY_QUERY = 0 val PGRES_COMMAND_OK = 1 val PGRES_TUPLES_OK = 2 val PGRES_COPY_OUT = 3 val PGRES_COPY_IN = 4 val PGRES_BAD_RESPONSE = 5 val PGRES_NONFATAL_ERROR = 6 val PGRES_FATAL_ERROR = 7 val PQconnectdb = lazy (fn _ => DynamicLink.dlsym (lib (), "PQconnectdb") : _import string -> unit ptr) val PQstatus = lazy (fn _ => DynamicLink.dlsym (lib (), "PQstatus") : _import unit ptr -> int) val PQfinish = lazy (fn _ => DynamicLink.dlsym (lib (), "PQfinish") : _import unit ptr -> unit) val PQexec = lazy (fn _ => DynamicLink.dlsym (lib (), "PQexec") : _import (unit ptr, string) -> unit ptr) val PQgetvalue = lazy (fn _ => DynamicLink.dlsym (lib (), "PQgetvalue") : _import (unit ptr, int, int) -> Word8.word ptr) val PQgetlength = lazy (fn _ => DynamicLink.dlsym (lib (), "PQgetlength") : _import (unit ptr, int, int) -> int) val PQgetisnull = lazy (fn _ => DynamicLink.dlsym (lib (), "PQgetisnull") : _import (unit ptr, int, int) -> bool) val PQntuples = lazy (fn _ => DynamicLink.dlsym (lib (), "PQntuples") : _import unit ptr -> int) val PQnfields = lazy (fn _ => DynamicLink.dlsym (lib (), "PQnfields") : _import unit ptr -> int) val PQresultStatus = lazy (fn _ => DynamicLink.dlsym (lib (), "PQresultStatus") : _import unit ptr -> int) val PQerrorMessage = lazy (fn _ => DynamicLink.dlsym (lib (), "PQerrorMessage") : _import unit ptr -> char ptr) val PQresultErrorMessage = lazy (fn _ => DynamicLink.dlsym (lib (), "PQresultErrorMessage") : _import unit ptr -> char ptr) val PQdb = lazy (fn _ => DynamicLink.dlsym (lib (), "PQdb") : _import unit ptr -> char ptr) val PQuser = lazy (fn _ => DynamicLink.dlsym (lib (), "PQuser") : _import unit ptr -> char ptr) val PQclear = lazy (fn _ => DynamicLink.dlsym (lib (), "PQclear") : _import unit ptr -> unit) fun getErrorMessage conn = SMLSharpRuntime.str_new (PQerrorMessage () conn) fun getResErrorMessage res = SMLSharpRuntime.str_new (PQresultErrorMessage () res) fun getDBname conn = SMLSharpRuntime.str_new (PQdb () conn) fun getDBuser conn = SMLSharpRuntime.str_new (PQuser () conn) end smlsharp-1.2.0/src/sql/main/PGSQLBackend.smi0000644 000000000000000000000202212050661606020661 0ustar00rootroot0000000 0000000 _require "../../basis.smi" _require "PGSQL.smi" _require "SQLBACKEND.sig" _require "../../ffi/main/Pointer.smi" structure SMLSharp_SQL_PGSQLBackend = struct type conn = unit ptr type res = unit ptr type sqltype (= string) exception Exec of string exception Connect of string exception Format val eof : res * int -> bool val execQuery : conn * string -> res val closeConn : conn -> unit val closeRel : res -> unit val numOfRows : res -> int val getDatabaseSchema : conn -> (string * {colname: string, typename: sqltype, isnull: bool} list) list val connect : string -> conn val getInt : res * int * int -> int option val getWord : res * int * int -> word option val getReal : res * int * int -> real option val getString : res * int * int -> string option val getChar : res * int * int -> char option val getBool : res * int * int -> bool option val translateType : sqltype -> string option end smlsharp-1.2.0/src/sql/main/PGSQLBackend.sml0000644 000000000000000000001177712050661606020705 0ustar00rootroot0000000 0000000 (** * PostgreSQL support for SML# * @author SATO Hiroyuki * @author UENO Katsuhiro * @copyright (c) 2010, Tohoku University. *) structure SMLSharp_SQL_PGSQLBackend :> SMLSharp_SQL_SQLBACKEND = struct structure PGSQL = SMLSharp_SQL_PGSQL type conn = PGSQL.conn type res = PGSQL.result type sqltype = string exception Exec of string exception Connect of string exception Format fun eof (result,rowIndex) = rowIndex >= PGSQL.PQntuples () result fun execQuery (conn, queryString) = let val r = PGSQL.PQexec () (conn, queryString) val s = if r = _NULL then PGSQL.PGRES_FATAL_ERROR else PGSQL.PQresultStatus () r in if s = PGSQL.PGRES_COMMAND_OK orelse s = PGSQL.PGRES_TUPLES_OK then r else raise Exec (if r = _NULL then "NULL" else (PGSQL.PQclear () r; PGSQL.getErrorMessage conn)) end fun closeConn conn = (PGSQL.PQfinish () conn; ()) fun closeRel r = (PGSQL.PQclear () r; ()) fun numOfRows r = PGSQL.PQntuples () r fun connect connInfo = let val conn = PGSQL.PQconnectdb () connInfo in if conn = _NULL orelse PGSQL.PQstatus () conn <> PGSQL.CONNECTION_OK then raise Connect (if conn = _NULL then "NULL" else PGSQL.getErrorMessage conn) else conn end fun getValue convFn (result:unit ptr, rowIndex:int, colIndex:int) = if PGSQL.PQgetisnull () (result, rowIndex, colIndex) then NONE else let val p = PGSQL.PQgetvalue () (result, rowIndex, colIndex) val len = PGSQL.PQgetlength () (result, rowIndex, colIndex) val s = Byte.bytesToString (Pointer.importBytes (p, len)) in case convFn s of SOME x => SOME x | NONE => raise Format end fun readInt x = Int.fromString x fun readWord x = StringCvt.scanString (Word.scan StringCvt.DEC) x fun readReal x = Real.fromString x fun readString (x:string) = SOME x fun readChar x = SOME (String.sub (x, 0)) handle Subscript => NONE (* The boolean output conversion function of PostgreSQL-9.0.3, boolout, * returns "t" or "f". * The boolean input conversion function of PostgreSQL-9.0.3, boolin, * accepts prefixes of "true"/"false", "TRUE"/"FALSE", "yes"/"no", * "YES"/"NO" and complete "ON"/"OFF", "1"/"0". * We respected the former, and made readBool accept only "t" and "f". * See postgresql-version/src/backend/utils/adt/bool.c. *) fun readBool x = case x of "t" => SOME true | "f" => SOME false | _ => raise Format fun getInt x = getValue readInt x fun getWord x = getValue readWord x fun getReal x = getValue readReal x fun getString x = getValue readString x fun getChar x = getValue readChar x fun getBool x = getValue readBool x local fun evalQuery (query, fetchFn, conn) = let val r = execQuery (conn, query) val tuples = List.tabulate (numOfRows r, fn i => fetchFn i r) handle e => (closeRel r; raise e) in closeRel r; tuples end fun nonnull (SOME x) = x | nonnull NONE = raise Format fun getTableSchema conn {relname, oid} = let val query = "SELECT pg_attribute.attname, \ \pg_attribute.attnotnull,pg_type.typname \ \FROM pg_class, pg_attribute, pg_type \ \WHERE pg_class.oid = " ^ oid ^ " \ \AND pg_class.oid = pg_attribute.attrelid \ \AND pg_attribute.attnum > 0 \ \AND pg_attribute.atttypid = pg_type.oid \ \ORDER BY pg_attribute.attname" fun fetchFn r conn = {colname = nonnull (getString (conn, r, 0)), isnull = not (nonnull (getBool (conn, r, 1))) handle Option => raise Format, typename = nonnull (getString (conn, r, 2))} in (relname, evalQuery (query, fetchFn, conn)) end in fun getDatabaseSchema conn = let val query = "SELECT pg_class.relname, pg_class.oid \ \FROM pg_namespace, pg_class \ \WHERE pg_namespace.oid = pg_class.relnamespace \ \AND pg_namespace.nspname = 'public' \ \AND pg_class.relkind = 'r' \ \ORDER BY pg_class.relname" fun fetchFn r conn = {relname = nonnull (getString (conn, r, 0)), oid = nonnull (getString (conn, r, 1))} val relOIDList = evalQuery (query, fetchFn, conn) in map (getTableSchema conn) relOIDList end end (* local *) fun translateType dbTypeName = case dbTypeName of "int4" => SOME "int" | "float4" => SOME "float" | "float8" => SOME "real" | "text" => SOME "string" | "varchar" => SOME "string" | "bool" => SOME "bool" | _ => NONE end smlsharp-1.2.0/src/sql/main/SQL.smi0000644 000000000000000000002512712050661606017175 0ustar00rootroot0000000 0000000 _require "SQLPrim.smi" _require "SQLUtils.smi" structure SQL = struct type 'a server = 'a SMLSharp_SQL_Prim.server type ('a,'b) value = ('a,'b) SMLSharp_SQL_Prim.value type 'a conn = 'a SMLSharp_SQL_Prim.conn type ('a,'b) db = ('a,'b) SMLSharp_SQL_Prim.db type ('a,'b) table = ('a,'b) SMLSharp_SQL_Prim.table type ('a,'b) row = ('a,'b) SMLSharp_SQL_Prim.row type 'a query = 'a SMLSharp_SQL_Prim.query type command = SMLSharp_SQL_Prim.command type 'a rel = 'a SMLSharp_SQL_Prim.rel type result = SMLSharp_SQL_Prim.result exception Type = SMLSharp_SQL_Prim.Type exception Format = SMLSharp_SQL_Prim.Format exception Exec = SMLSharp_SQL_Prim.Exec exception Connect = SMLSharp_SQL_Prim.Connect exception Link = SMLSharp_SQL_Prim.Link val connect : 'a server -> 'a conn val fetch : 'a rel -> ('a * 'a rel) option val closeConn : 'a conn -> unit val closeRel : 'a rel -> unit val subquery : (('a,'b) db -> 'c query) -> ('a,'b) db -> ('c,'b) table val exists : (('a,'b) db -> 'c query) -> ('a,'b) db -> (bool option, 'b) value val Some : ('a, 'b) value -> ('a option, 'b) value val Null : ('a option, 'b) value val queryString : (('a,'b) db -> 'c query) -> 'a server -> string val commandString : (('a,'b) db -> command) -> 'a server -> string val + = case 'a in ('a, 'b) value * ('a, 'b) value -> ('a, 'b) value of int => SMLSharp_SQL_Prim.add_int | word => SMLSharp_SQL_Prim.add_word | real => SMLSharp_SQL_Prim.add_real | 'c option => case 'c in ('c option, 'b) value * ('c option, 'b) value -> ('c option, 'b) value of int => SMLSharp_SQL_Prim.add_intOption | word => SMLSharp_SQL_Prim.add_wordOption | real => SMLSharp_SQL_Prim.add_realOption val - = case 'a in ('a, 'b) value * ('a, 'b) value -> ('a, 'b) value of int => SMLSharp_SQL_Prim.sub_int | word => SMLSharp_SQL_Prim.sub_word | real => SMLSharp_SQL_Prim.sub_real | 'c option => case 'c in ('c option, 'b) value * ('c option, 'b) value -> ('c option, 'b) value of int => SMLSharp_SQL_Prim.sub_intOption | word => SMLSharp_SQL_Prim.sub_wordOption | real => SMLSharp_SQL_Prim.sub_realOption val * = case 'a in ('a, 'b) value * ('a, 'b) value -> ('a, 'b) value of int => SMLSharp_SQL_Prim.mul_int | word => SMLSharp_SQL_Prim.mul_word | real => SMLSharp_SQL_Prim.mul_real | 'c option => case 'c in ('c option, 'b) value * ('c option, 'b) value -> ('c option, 'b) value of int => SMLSharp_SQL_Prim.mul_intOption | word => SMLSharp_SQL_Prim.mul_wordOption | real => SMLSharp_SQL_Prim.mul_realOption val / = case 'a in ('a, 'b) value * ('a, 'b) value -> ('a, 'b) value of int => SMLSharp_SQL_Prim.div_int | word => SMLSharp_SQL_Prim.div_word | real => SMLSharp_SQL_Prim.div_real | 'c option => case 'c in ('c option, 'b) value * ('c option, 'b) value -> ('c option, 'b) value of int => SMLSharp_SQL_Prim.div_intOption | word => SMLSharp_SQL_Prim.div_wordOption | real => SMLSharp_SQL_Prim.div_realOption val div = case 'a in ('a, 'b) value * ('a, 'b) value -> ('a, 'b) value of int => SMLSharp_SQL_Prim.div_int | word => SMLSharp_SQL_Prim.div_word | 'c option => case 'c in ('c option, 'b) value * ('c option, 'b) value -> ('c option, 'b) value of int => SMLSharp_SQL_Prim.div_intOption | word => SMLSharp_SQL_Prim.div_wordOption val mod = case 'a in ('a, 'b) value * ('a, 'b) value -> ('a, 'b) value of int => SMLSharp_SQL_Prim.mod_int | word => SMLSharp_SQL_Prim.mod_word | 'c option => case 'c in ('c option, 'b) value * ('c option, 'b) value -> ('c option, 'b) value of int => SMLSharp_SQL_Prim.mod_intOption | word => SMLSharp_SQL_Prim.mod_wordOption val neg = case 'a in ('a, 'b) value -> ('a, 'b) value of int => SMLSharp_SQL_Prim.neg_int | word => SMLSharp_SQL_Prim.neg_real | 'c option => case 'c in ('c option, 'b) value * ('c option, 'b) value -> ('c option, 'b) value of int => SMLSharp_SQL_Prim.neg_intOption | word => SMLSharp_SQL_Prim.neg_realOption val abs = case 'a in ('a, 'b) value -> ('a, 'b) value of int => SMLSharp_SQL_Prim.abs_int | word => SMLSharp_SQL_Prim.abs_real | 'c option => case 'c in ('c option, 'b) value * ('c option, 'b) value -> ('c option, 'b) value of int => SMLSharp_SQL_Prim.abs_intOption | word => SMLSharp_SQL_Prim.abs_realOption val < = case 'a in ('a, 'b) value * ('a, 'b) value -> (bool option, 'b) value of int => SMLSharp_SQL_Prim.lt_int | word => SMLSharp_SQL_Prim.lt_word | char => SMLSharp_SQL_Prim.lt_char | string => SMLSharp_SQL_Prim.lt_string | real => SMLSharp_SQL_Prim.lt_real | 'c option => case 'c in ('c option, 'b) value * ('c option, 'b) value -> (bool option, 'b) value of int => SMLSharp_SQL_Prim.lt_intOption | word => SMLSharp_SQL_Prim.lt_wordOption | char => SMLSharp_SQL_Prim.lt_charOption | bool => SMLSharp_SQL_Prim.lt_boolOption | string => SMLSharp_SQL_Prim.lt_stringOption | real => SMLSharp_SQL_Prim.lt_realOption val <= = case 'a in ('a, 'b) value * ('a, 'b) value -> (bool option, 'b) value of int => SMLSharp_SQL_Prim.le_int | word => SMLSharp_SQL_Prim.le_word | char => SMLSharp_SQL_Prim.le_char | string => SMLSharp_SQL_Prim.le_string | real => SMLSharp_SQL_Prim.le_real | 'c option => case 'c in ('c option, 'b) value * ('c option, 'b) value -> (bool option, 'b) value of int => SMLSharp_SQL_Prim.le_intOption | word => SMLSharp_SQL_Prim.le_wordOption | char => SMLSharp_SQL_Prim.le_charOption | bool => SMLSharp_SQL_Prim.le_boolOption | string => SMLSharp_SQL_Prim.le_stringOption | real => SMLSharp_SQL_Prim.le_realOption val > = case 'a in ('a, 'b) value * ('a, 'b) value -> (bool option, 'b) value of int => SMLSharp_SQL_Prim.gt_int | word => SMLSharp_SQL_Prim.gt_word | char => SMLSharp_SQL_Prim.gt_char | string => SMLSharp_SQL_Prim.gt_string | real => SMLSharp_SQL_Prim.gt_real | 'c option => case 'c in ('c option, 'b) value * ('c option, 'b) value -> (bool option, 'b) value of int => SMLSharp_SQL_Prim.gt_intOption | word => SMLSharp_SQL_Prim.gt_wordOption | char => SMLSharp_SQL_Prim.gt_charOption | bool => SMLSharp_SQL_Prim.gt_boolOption | string => SMLSharp_SQL_Prim.gt_stringOption | real => SMLSharp_SQL_Prim.gt_realOption val >= = case 'a in ('a, 'b) value * ('a, 'b) value -> (bool option, 'b) value of int => SMLSharp_SQL_Prim.ge_int | word => SMLSharp_SQL_Prim.ge_word | char => SMLSharp_SQL_Prim.ge_char | string => SMLSharp_SQL_Prim.ge_string | real => SMLSharp_SQL_Prim.ge_real | 'c option => case 'c in ('c option, 'b) value * ('c option, 'b) value -> (bool option, 'b) value of int => SMLSharp_SQL_Prim.ge_intOption | word => SMLSharp_SQL_Prim.ge_wordOption | char => SMLSharp_SQL_Prim.ge_charOption | bool => SMLSharp_SQL_Prim.ge_boolOption | string => SMLSharp_SQL_Prim.ge_stringOption | real => SMLSharp_SQL_Prim.ge_realOption val == = case 'a in ('a, 'b) value * ('a, 'b) value -> (bool option, 'b) value of int => SMLSharp_SQL_Prim.eq_int | word => SMLSharp_SQL_Prim.eq_word | char => SMLSharp_SQL_Prim.eq_char | string => SMLSharp_SQL_Prim.eq_string | real => SMLSharp_SQL_Prim.eq_real | 'c option => case 'c in ('c option, 'b) value * ('c option, 'b) value -> (bool option, 'b) value of int => SMLSharp_SQL_Prim.eq_intOption | word => SMLSharp_SQL_Prim.eq_wordOption | char => SMLSharp_SQL_Prim.eq_charOption | bool => SMLSharp_SQL_Prim.eq_boolOption | string => SMLSharp_SQL_Prim.eq_stringOption | real => SMLSharp_SQL_Prim.eq_realOption val <> = case 'a in ('a, 'b) value * ('a, 'b) value -> (bool option, 'b) value of int => SMLSharp_SQL_Prim.neq_int | word => SMLSharp_SQL_Prim.neq_word | char => SMLSharp_SQL_Prim.neq_char | string => SMLSharp_SQL_Prim.neq_string | real => SMLSharp_SQL_Prim.neq_real | 'c option => case 'c in ('c option, 'b) value * ('c option, 'b) value -> (bool option, 'b) value of int => SMLSharp_SQL_Prim.neq_intOption | word => SMLSharp_SQL_Prim.neq_wordOption | char => SMLSharp_SQL_Prim.neq_charOption | bool => SMLSharp_SQL_Prim.neq_boolOption | string => SMLSharp_SQL_Prim.neq_stringOption | real => SMLSharp_SQL_Prim.neq_realOption val ^ : (string, 'a) value * (string, 'a) value -> (string, 'a) value val andAlso : (bool option, 'a) value * (bool option, 'a) value -> (bool option, 'a) value val orElse : (bool option, 'a) value * (bool option, 'a) value -> (bool option, 'a) value val not : (bool option, 'a) value -> (bool option, 'a) value val isNull : ('a option, 'a) value -> (bool option, 'a) value val isNotNull : ('a option, 'a) value -> (bool option, 'a) value val toSQL = case 'a in 'a -> ('a, 'b) value of int => SMLSharp_SQL_Prim.toSQL_int | word => SMLSharp_SQL_Prim.toSQL_word | char => SMLSharp_SQL_Prim.toSQL_char | string => SMLSharp_SQL_Prim.toSQL_string | real => SMLSharp_SQL_Prim.toSQL_real | 'c option => case 'c in 'c option -> ('c option, 'b) value of int => SMLSharp_SQL_Prim.toSQL_intOption | word => SMLSharp_SQL_Prim.toSQL_wordOption | char => SMLSharp_SQL_Prim.toSQL_charOption | bool => SMLSharp_SQL_Prim.toSQL_boolOption | string => SMLSharp_SQL_Prim.toSQL_stringOption | real => SMLSharp_SQL_Prim.toSQL_realOption exception NotOne = SMLSharp_SQL_Utils.NotOne val fetchAll : 'a rel -> 'a list val fetchOne : 'a rel -> 'a end smlsharp-1.2.0/src/sql/main/SQL.sml0000644 000000000000000000000034512050661606017173 0ustar00rootroot0000000 0000000 (** * SQL support for SML# * @author UENO Katsuhiro * @author ENDO hiroki * @copyright (c) 2009, 2010, Tohoku University. *) structure SQL = struct open SMLSharp_SQL_Prim val op ^ = strcat open SMLSharp_SQL_Utils end smlsharp-1.2.0/src/sql/main/SQLBACKEND.sig0000644 000000000000000000000211312050661606020125 0ustar00rootroot0000000 0000000 (** * common interface for database backends. * @author SATO Hiroyuki * @copyright (c) 2010, Tohoku University. *) signature SMLSharp_SQL_SQLBACKEND = sig (* Compilar requres that both conn and res are unit ptr. *) type conn = unit ptr type res = unit ptr type sqltype exception Exec of string exception Connect of string exception Format val eof : res * int -> bool val execQuery : conn * string -> res val closeConn : conn -> unit val closeRel : res -> unit val numOfRows : res -> int val getDatabaseSchema : conn -> (string * {colname: string, typename: sqltype, isnull: bool} list) list val connect : string -> conn val getInt : res * int * int -> int option val getWord : res * int * int -> word option val getReal : res * int * int -> real option val getString : res * int * int -> string option val getChar : res * int * int -> char option val getBool : res * int * int -> bool option val translateType : sqltype -> string option end smlsharp-1.2.0/src/sql/main/SQLPrim.smi0000644 000000000000000000003775312050661606020035 0ustar00rootroot0000000 0000000 _require "../../basis.smi" _require "Backend.smi" structure SMLSharp_SQL_Prim = struct datatype server = datatype SMLSharp.SQL.server datatype dbi = datatype SMLSharp.SQL.dbi datatype value = datatype SMLSharp.SQL.value datatype conn = datatype SMLSharp.SQL.conn datatype db = datatype SMLSharp.SQL.db datatype table = datatype SMLSharp.SQL.table datatype row = datatype SMLSharp.SQL.row datatype result = datatype SMLSharp.SQL.result datatype rel = datatype SMLSharp.SQL.rel datatype query = datatype SMLSharp.SQL.query datatype command = datatype SMLSharp.SQL.command (* datatype 'a conn = CONN of unit ptr * 'a datatype ('a,'b) db = DB of 'a * 'b dbi datatype ('a,'b) table = TABLE of (string * 'b dbi) * 'a datatype ('a,'b) row = ROW of (string * 'b dbi) * 'a datatype result = RESULT of unit ptr * int datatype 'a rel = REL of result * (result -> 'a) datatype 'a query = QUERY of string * 'a * (result -> 'a) datatype command = COMMAND of string *) exception Type of string exception Format = SMLSharp_SQL_Backend.Format exception Exec of string exception Connect of string exception Link of string val connect : 'a server -> 'a conn val eval : 'a dbi * (('b, 'a) db -> 'c query) -> 'b conn -> 'c rel val exec : 'a dbi * (('b, 'a) db -> command) -> 'b conn -> unit val fetch : 'a rel -> ('a * 'a rel) option val closeConn : 'a conn -> unit val closeRel : 'a rel -> unit val subquery : (('a,'b) db -> 'c query) -> ('a,'b) db -> ('c,'b) table val exists : (('a,'b) db -> 'c query) -> ('a,'b) db -> (bool option, 'b) value val queryString : (('a,'b) db -> 'c query) -> 'a server -> string val commandString : (('a,'b) db -> command) -> 'a server -> string val Some : ('a, 'b) value -> ('a option, 'b) value val Null : ('a option, 'b) value val concatDot : (string * 'a) * string -> string * 'a val concatQuery : (string * 'a) list -> string val add_int : (int, 'a) value * (int, 'a) value -> (int, 'a) value val add_word : (word, 'a) value * (word, 'a) value -> (word, 'a) value val add_real : (real, 'a) value * (real, 'a) value -> (real, 'a) value val add_intOption : (int option, 'a) value * (int option, 'a) value -> (int option, 'a) value val add_wordOption : (word option, 'a) value * (word option, 'a) value -> (word option, 'a) value val add_realOption : (real option, 'a) value * (real option, 'a) value -> (real option, 'a) value val sub_int : (int, 'a) value * (int, 'a) value -> (int, 'a) value val sub_word : (word, 'a) value * (word, 'a) value -> (word, 'a) value val sub_real : (real, 'a) value * (real, 'a) value -> (real, 'a) value val sub_intOption : (int option, 'a) value * (int option, 'a) value -> (int option, 'a) value val sub_wordOption : (word option, 'a) value * (word option, 'a) value -> (word option, 'a) value val sub_realOption : (real option, 'a) value * (real option, 'a) value -> (real option, 'a) value val mul_int : (int, 'a) value * (int, 'a) value -> (int, 'a) value val mul_word : (word, 'a) value * (word, 'a) value -> (word, 'a) value val mul_real : (real, 'a) value * (real, 'a) value -> (real, 'a) value val mul_intOption : (int option, 'a) value * (int option, 'a) value -> (int option, 'a) value val mul_wordOption : (word option, 'a) value * (word option, 'a) value -> (word option, 'a) value val mul_realOption : (real option, 'a) value * (real option, 'a) value -> (real option, 'a) value val div_int : (int, 'a) value * (int, 'a) value -> (int, 'a) value val div_word : (word, 'a) value * (word, 'a) value -> (word, 'a) value val div_real : (real, 'a) value * (real, 'a) value -> (real, 'a) value val div_intOption : (int option, 'a) value * (int option, 'a) value -> (int option, 'a) value val div_wordOption : (word option, 'a) value * (word option, 'a) value -> (word option, 'a) value val div_realOption : (real option, 'a) value * (real option, 'a) value -> (real option, 'a) value val mod_int : (int, 'a) value * (int, 'a) value -> (int, 'a) value val mod_word : (word, 'a) value * (word, 'a) value -> (word, 'a) value val mod_intOption : (int option, 'a) value * (int option, 'a) value -> (int option, 'a) value val mod_wordOption : (word option, 'a) value * (word option, 'a) value -> (word option, 'a) value val neg_int : (int, 'a) value -> (int, 'a) value val neg_real : (real, 'a) value -> (real, 'a) value val neg_intOption : (int option, 'a) value -> (int option, 'a) value val neg_realOption : (real option, 'a) value -> (real option, 'a) value val abs_int : (int, 'a) value -> (int, 'a) value val abs_real : (real, 'a) value -> (real, 'a) value val abs_intOption : (int option, 'a) value -> (int option, 'a) value val abs_realOption : (real option, 'a) value -> (real option, 'a) value val lt_int : (int, 'a) value * (int, 'a) value -> (bool option, 'a) value val lt_word : (word, 'a) value * (word, 'a) value -> (bool option, 'a) value val lt_char : (char, 'a) value * (char, 'a) value -> (bool option, 'a) value val lt_string : (string, 'a) value * (string, 'a) value -> (bool option, 'a) value val lt_real : (real, 'a) value * (real, 'a) value -> (bool option, 'a) value val lt_intOption : (int option, 'a) value * (int option, 'a) value -> (bool option, 'a) value val lt_wordOption : (word option, 'a) value * (word option, 'a) value -> (bool option, 'a) value val lt_charOption : (char option, 'a) value * (char option, 'a) value -> (bool option, 'a) value val lt_boolOption : (bool option, 'a) value * (bool option, 'a) value -> (bool option, 'a) value val lt_stringOption : (string option, 'a) value * (string option, 'a) value -> (bool option, 'a) value val lt_realOption : (real option, 'a) value * (real option, 'a) value -> (bool option, 'a) value val le_int : (int, 'a) value * (int, 'a) value -> (bool option, 'a) value val le_word : (word, 'a) value * (word, 'a) value -> (bool option, 'a) value val le_char : (char, 'a) value * (char, 'a) value -> (bool option, 'a) value val le_string : (string, 'a) value * (string, 'a) value -> (bool option, 'a) value val le_real : (real, 'a) value * (real, 'a) value -> (bool option, 'a) value val le_intOption : (int option, 'a) value * (int option, 'a) value -> (bool option, 'a) value val le_wordOption : (word option, 'a) value * (word option, 'a) value -> (bool option, 'a) value val le_charOption : (char option, 'a) value * (char option, 'a) value -> (bool option, 'a) value val le_boolOption : (bool option, 'a) value * (bool option, 'a) value -> (bool option, 'a) value val le_stringOption : (string option, 'a) value * (string option, 'a) value -> (bool option, 'a) value val le_realOption : (real option, 'a) value * (real option, 'a) value -> (bool option, 'a) value val gt_int : (int, 'a) value * (int, 'a) value -> (bool option, 'a) value val gt_word : (word, 'a) value * (word, 'a) value -> (bool option, 'a) value val gt_char : (char, 'a) value * (char, 'a) value -> (bool option, 'a) value val gt_string : (string, 'a) value * (string, 'a) value -> (bool option, 'a) value val gt_real : (real, 'a) value * (real, 'a) value -> (bool option, 'a) value val gt_intOption : (int option, 'a) value * (int option, 'a) value -> (bool option, 'a) value val gt_wordOption : (word option, 'a) value * (word option, 'a) value -> (bool option, 'a) value val gt_charOption : (char option, 'a) value * (char option, 'a) value -> (bool option, 'a) value val gt_boolOption : (bool option, 'a) value * (bool option, 'a) value -> (bool option, 'a) value val gt_stringOption : (string option, 'a) value * (string option, 'a) value -> (bool option, 'a) value val gt_realOption : (real option, 'a) value * (real option, 'a) value -> (bool option, 'a) value val ge_int : (int, 'a) value * (int, 'a) value -> (bool option, 'a) value val ge_word : (word, 'a) value * (word, 'a) value -> (bool option, 'a) value val ge_char : (char, 'a) value * (char, 'a) value -> (bool option, 'a) value val ge_string : (string, 'a) value * (string, 'a) value -> (bool option, 'a) value val ge_real : (real, 'a) value * (real, 'a) value -> (bool option, 'a) value val ge_intOption : (int option, 'a) value * (int option, 'a) value -> (bool option, 'a) value val ge_wordOption : (word option, 'a) value * (word option, 'a) value -> (bool option, 'a) value val ge_charOption : (char option, 'a) value * (char option, 'a) value -> (bool option, 'a) value val ge_boolOption : (bool option, 'a) value * (bool option, 'a) value -> (bool option, 'a) value val ge_stringOption : (string option, 'a) value * (string option, 'a) value -> (bool option, 'a) value val ge_realOption : (real option, 'a) value * (real option, 'a) value -> (bool option, 'a) value val eq_int : (int, 'a) value * (int, 'a) value -> (bool option, 'a) value val eq_word : (word, 'a) value * (word, 'a) value -> (bool option, 'a) value val eq_char : (char, 'a) value * (char, 'a) value -> (bool option, 'a) value val eq_string : (string, 'a) value * (string, 'a) value -> (bool option, 'a) value val eq_real : (real, 'a) value * (real, 'a) value -> (bool option, 'a) value val eq_intOption : (int option, 'a) value * (int option, 'a) value -> (bool option, 'a) value val eq_wordOption : (word option, 'a) value * (word option, 'a) value -> (bool option, 'a) value val eq_charOption : (char option, 'a) value * (char option, 'a) value -> (bool option, 'a) value val eq_boolOption : (bool option, 'a) value * (bool option, 'a) value -> (bool option, 'a) value val eq_stringOption : (string option, 'a) value * (string option, 'a) value -> (bool option, 'a) value val eq_realOption : (real option, 'a) value * (real option, 'a) value -> (bool option, 'a) value val neq_int : (int, 'a) value * (int, 'a) value -> (bool option, 'a) value val neq_word : (word, 'a) value * (word, 'a) value -> (bool option, 'a) value val neq_char : (char, 'a) value * (char, 'a) value -> (bool option, 'a) value val neq_string : (string, 'a) value * (string, 'a) value -> (bool option, 'a) value val neq_real : (real, 'a) value * (real, 'a) value -> (bool option, 'a) value val neq_intOption : (int option, 'a) value * (int option, 'a) value -> (bool option, 'a) value val neq_wordOption : (word option, 'a) value * (word option, 'a) value -> (bool option, 'a) value val neq_charOption : (char option, 'a) value * (char option, 'a) value -> (bool option, 'a) value val neq_boolOption : (bool option, 'a) value * (bool option, 'a) value -> (bool option, 'a) value val neq_stringOption : (string option, 'a) value * (string option, 'a) value -> (bool option, 'a) value val neq_realOption : (real option, 'a) value * (real option, 'a) value -> (bool option, 'a) value val strcat : (string, 'a) value * (string, 'a) value -> (string, 'a) value val andAlso : (bool option, 'a) value * (bool option, 'a) value -> (bool option, 'a) value val orElse : (bool option, 'a) value * (bool option, 'a) value -> (bool option, 'a) value val not : (bool option, 'a) value -> (bool option, 'a) value val isNull : ('a option, 'a) value -> (bool option, 'a) value val isNotNull : ('a option, 'a) value -> (bool option, 'a) value val toSQL_int : int -> (int, 'a) value val toSQL_word : word -> (word, 'a) value val toSQL_char : char -> (char, 'a) value val toSQL_string : string -> (string, 'a) value val toSQL_real : real -> (real, 'a) value val toSQL_intOption : int option -> (int option, 'a) value val toSQL_wordOption : word option -> (word option, 'a) value val toSQL_boolOption : bool option -> (bool option, 'a) value val toSQL_charOption : char option -> (char option, 'a) value val toSQL_stringOption : string option -> (string option, 'a) value val toSQL_realOption : real option -> (real option, 'a) value val fromSQL_int : int * result * int -> int val fromSQL_word : int * result * word -> word val fromSQL_char : int * result * char -> char val fromSQL_string : int * result * string -> string val fromSQL_real : int * result * real -> real val fromSQL_intOption : int * result * int option -> int option val fromSQL_wordOption : int * result * word option -> word option val fromSQL_charOption : int * result * char option -> char option val fromSQL_boolOption : int * result * bool option -> bool option val fromSQL_stringOption : int * result * string option -> string option val fromSQL_realOption : int * result * real option -> real option val default_int : unit -> (int, 'a) value val default_word : unit -> (word, 'a) value val default_char : unit -> (char, 'a) value val default_string : unit -> (string, 'a) value val default_real : unit -> (real, 'a) value val default_intOption : unit -> (int option, 'a) value val default_wordOption : unit -> (word option, 'a) value val default_charOption : unit -> (char option, 'a) value val default_boolOption : unit -> (bool option, 'a) value val default_stringOption : unit -> (string option, 'a) value val default_realOption : unit -> (real option, 'a) value val default = case 'a in unit -> ('a, 'b) value of int => default_int | word => default_word | char => default_char | string => default_string | real => default_real | 'c option => case 'c in unit -> ('c option, 'b) value of int => default_intOption | word => default_wordOption | char => default_charOption | bool => default_boolOption | string => default_stringOption | real => default_realOption val fromSQL = case 'a in int * result * 'a -> 'a of int => fromSQL_int | word => fromSQL_word | char => fromSQL_char | string => fromSQL_string | real => fromSQL_real | 'c option => case 'c in int * result * 'c option -> 'c option of int => fromSQL_intOption | word => fromSQL_wordOption | char => fromSQL_charOption | bool => fromSQL_boolOption | string => fromSQL_stringOption | real => fromSQL_realOption (* val op + = '_SQL_add' val op - = '_SQL_sub' val op * = '_SQL_mul' val op div = '_SQL_div' val op mod = '_SQL_mod' val op / = '_SQL_divr' val op ~ = '_SQL_neg' val op abs = '_SQL_abs' val op < = '_SQL_lt' val op <= = '_SQL_le' val op > = '_SQL_gt' val op >= = '_SQL_ge' val op == = '_SQL_eq' val op <> = '_SQL_neq' val op ^ = strcat val toSQL = '_SQL_toSQL' val fromSQL = '_SQL_fromSQL' *) (* val + = case 'a in ('a, 'b) value * ('a, 'b) value -> ('a, 'b) value of int => add_int | word => add_word | real => add_real | 'c option => case 'd in ('c option, 'b) value * ('c option, 'b) value -> ('c option, 'b) value of int => add_intOption word => add_wordOption real => add_realOption *) end smlsharp-1.2.0/src/sql/main/SQLPrim.sml0000644 000000000000000000007554412050661606020040 0ustar00rootroot0000000 0000000 (** * SQL support for SML# * @author UENO Katsuhiro * @author ENDO hiroki * @author SATO Hirohuki * @copyright (c) 2009, 2010, Tohoku University. *) structure SMLSharp_SQL_Prim = struct structure Backend = SMLSharp_SQL_Backend datatype server = datatype SMLSharp.SQL.server datatype dbi = datatype SMLSharp.SQL.dbi datatype value = datatype SMLSharp.SQL.value datatype conn = datatype SMLSharp.SQL.conn datatype db = datatype SMLSharp.SQL.db datatype table = datatype SMLSharp.SQL.table datatype row = datatype SMLSharp.SQL.row datatype result = datatype SMLSharp.SQL.result datatype rel = datatype SMLSharp.SQL.rel datatype query = datatype SMLSharp.SQL.query datatype command = datatype SMLSharp.SQL.command (* datatype 'a conn = CONN of unit ptr * 'a datatype ('a,'b) db = DB of 'a * 'b dbi datatype ('a,'b) table = TABLE of (string * 'b dbi) * 'a datatype ('a,'b) row = ROW of (string * 'b dbi) * 'a datatype result = RESULT of unit ptr * int datatype 'a rel = REL of result * (result -> 'a) datatype 'a query = QUERY of string * 'a * (result -> 'a) datatype command = COMMAND of string *) exception Type of string exception Format = Backend.Format exception Exec of string exception Connect of string exception Link of string fun eof (RESULT (result, rowIndex)) = Backend.eof (result,rowIndex) fun next (RESULT (result, rowIndex)) = RESULT (result, rowIndex + 1) fun fetch (REL (result, fetchFn)) = if eof result then NONE else SOME (fetchFn result, REL (next result, fetchFn)) fun closeConn (CONN (conn, _)) = Backend.closeConn conn fun closeRel (REL (RESULT (r, _), _)) = Backend.closeRel r fun eval (dbi, queryFn) (CONN (conn, witness)) = let val QUERY (query, witness, fetchFn) = queryFn (DB (witness, dbi)) val r = Backend.execQuery (conn, query) in REL (RESULT (r, 0), fetchFn) end fun exec (dbi, commandFn) (CONN (conn, witness)) = let val COMMAND query = commandFn (DB (witness, dbi)) val r = Backend.execQuery (conn, query) in closeRel (REL (RESULT (r, 0), fn x => x)); () end fun subquery queryFn (db as DB (_, dbi)) = let val QUERY (query, queryWitness, fetchFn) = queryFn db in TABLE (("(" ^ query ^ ")", dbi), queryWitness) end fun exists queryFn (db as DB (_, dbi)) = let val QUERY (query, queryWitness, fetchFn) = queryFn db in VALUE (("(exists (" ^ query ^ "))", dbi), SOME true) end fun queryString queryFn (SERVER (_, _, witness)) = let val QUERY (query, witness, fetchFn) = queryFn (DB (witness, DBI)) in query end fun commandString commandFn (SERVER (_, _, witness)) = let val COMMAND query = commandFn (DB (witness, DBI)) in query end local type column = {colname: string, isnull: bool, typename: string} type sqlcolumn = {colname: string, isnull: bool, typename: Backend.sqltype} type table = string * column list type schema = table list fun columnType ({isnull, typename, ...}:column) = typename ^ (if isnull then " option" else "") fun columnTypeSQL ({isnull, typename, ...}:sqlcolumn) = valOf (Backend.translateType typename) ^ (if isnull then " option" else "") handle Option => raise Connect "The type is not supported" fun isSameName (col1:column) (col2:sqlcolumn) = #colname col1 = #colname col2 fun isSameNameSQL (col1:sqlcolumn) (col2:column) = #colname col1 = #colname col2 fun matchColumn ({colname=name1, isnull=isnull1, typename=ty1}:column, {colname=name2, isnull=isnull2, typename=ty2}:sqlcolumn) = name1 = name2 andalso isnull1 = isnull2 andalso SOME ty1 = Backend.translateType ty2 fun unifyColumns (tableName, expectColumns, actualColumns) = ( app (fn expect => case List.find (isSameName expect) actualColumns of NONE => raise Link ("column `" ^ #colname expect ^ "' of table `" ^ tableName ^ "' is not found.") | SOME actual => if matchColumn (expect, actual) then () else raise Link ("type mismatch of column `" ^ #colname expect ^ "' of table `" ^ tableName ^ "': expected `" ^ columnType expect ^ "', but actual `" ^ columnTypeSQL actual ^ "'")) expectColumns; app (fn actual => case List.find (isSameNameSQL actual) expectColumns of NONE => raise Link ("table `" ^ tableName ^ "' has column `" ^ #colname actual ^ "' but not declared.") | SOME _ => ()) actualColumns ) fun unifySchema (expectSchema, actualSchema) = app (fn (tableName, expectColumns) => case List.find (fn (n,_) => n = tableName) actualSchema of SOME (_, actualColumns) => unifyColumns (tableName, expectColumns, actualColumns) | NONE => raise Link ("table `" ^ tableName ^ "' is not found.")) expectSchema in fun link (conn, schema) = unifySchema (schema, (Backend.getDatabaseSchema conn)) handle Backend.Connect msg => raise Connect msg end (* local *) fun connect (SERVER (connInfo, schema, witness)) = let val conn = Backend.connect connInfo handle Backend.Connect msg => raise Connect msg val e = (link (conn, schema); NONE) handle e => SOME e in case e of NONE => CONN (conn, witness) | SOME e => (closeConn (CONN (conn, witness)); raise e) end fun Some (VALUE (x, y)) = VALUE (x, SOME y) val Null = VALUE (("NULL", DBI), NONE) fun concatDot ((x:string, y:'a), z:string) : string * 'a = (case x of "" => z | _ => x ^ "." ^ z, y) fun concatQuery (x:(string * 'a) list) : string = case x of nil => "" | (h,_)::t => h ^ concatQuery t local fun op1 (oper, (x1,i), w) = VALUE (("(" ^ oper ^ x1 ^ ")", i), w) fun op1post ((x1,i), oper, w) = VALUE (("(" ^ x1 ^ oper ^ ")", i), w) fun op2 ((x1,i1:'a dbi), oper2, (x2,i2:'a dbi), w) = VALUE (("(" ^ x1 ^ " " ^ oper2 ^ " " ^ x2 ^ ")", i1), w) in fun add_int (VALUE(x1, w1) : (int,'a) value, VALUE(x2, w2) : (int,'a) value) : (int,'a) value = op2 (x1, "+", x2, w1) fun add_word (VALUE(x1, w1) : (word,'a) value, VALUE(x2, w2) : (word,'a) value) : (word,'a) value = op2 (x1, "+", x2, w1) fun add_real (VALUE(x1, w1) : (real,'a) value, VALUE(x2, w2) : (real,'a) value) : (real,'a) value = op2 (x1, "+", x2, w1) fun add_intOption (VALUE(x1, w1) : (int option,'a) value, VALUE(x2, w2) : (int option,'a) value) : (int option,'a) value = op2 (x1, "+", x2, w1) fun add_wordOption (VALUE(x1, w1) : (word option,'a) value, VALUE(x2, w2) : (word option,'a) value) : (word option,'a) value = op2 (x1, "+", x2, w1) fun add_realOption (VALUE(x1, w1) : (real option,'a) value, VALUE(x2, w2) : (real option,'a) value) : (real option,'a) value = op2 (x1, "+", x2, w1) fun sub_int (VALUE(x1, w1) : (int,'a) value, VALUE(x2, w2) : (int,'a) value) : (int,'a) value = op2 (x1, "-", x2, w1) fun sub_word (VALUE(x1, w1) : (word,'a) value, VALUE(x2, w2) : (word,'a) value) : (word,'a) value = op2 (x1, "-", x2, w1) fun sub_real (VALUE(x1, w1) : (real,'a) value, VALUE(x2, w2) : (real,'a) value) : (real,'a) value = op2 (x1, "-", x2, w1) fun sub_intOption (VALUE(x1, w1) : (int option,'a) value, VALUE(x2, w2) : (int option,'a) value) : (int option,'a) value = op2 (x1, "-", x2, w1) fun sub_wordOption (VALUE(x1, w1) : (word option,'a) value, VALUE(x2, w2) : (word option,'a) value) : (word option,'a) value = op2 (x1, "-", x2, w1) fun sub_realOption (VALUE(x1, w1) : (real option,'a) value, VALUE(x2, w2) : (real option,'a) value) : (real option,'a) value = op2 (x1, "-", x2, w1) fun mul_int (VALUE(x1, w1) : (int,'a) value, VALUE(x2, w2) : (int,'a) value) : (int,'a) value = op2 (x1, "*", x2, w1) fun mul_word (VALUE(x1, w1) : (word,'a) value, VALUE(x2, w2) : (word,'a) value) : (word,'a) value = op2 (x1, "*", x2, w1) fun mul_real (VALUE(x1, w1) : (real,'a) value, VALUE(x2, w2) : (real,'a) value) : (real,'a) value = op2 (x1, "*", x2, w1) fun mul_intOption (VALUE(x1, w1) : (int option,'a) value, VALUE(x2, w2) : (int option,'a) value) : (int option,'a) value = op2 (x1, "*", x2, w1) fun mul_wordOption (VALUE(x1, w1) : (word option,'a) value, VALUE(x2, w2) : (word option,'a) value) : (word option,'a) value = op2 (x1, "*", x2, w1) fun mul_realOption (VALUE(x1, w1) : (real option,'a) value, VALUE(x2, w2) : (real option,'a) value) : (real option,'a) value = op2 (x1, "*", x2, w1) fun div_int (VALUE(x1, w1) : (int,'a) value, VALUE(x2, w2) : (int,'a) value) : (int,'a) value = op2 (x1, "/", x2, w1) fun div_word (VALUE(x1, w1) : (word,'a) value, VALUE(x2, w2) : (word,'a) value) : (word,'a) value = op2 (x1, "/", x2, w1) fun div_real (VALUE(x1, w1) : (real,'a) value, VALUE(x2, w2) : (real,'a) value) : (real,'a) value = op2 (x1, "/", x2, w1) fun div_intOption (VALUE(x1, w1) : (int option,'a) value, VALUE(x2, w2) : (int option,'a) value) : (int option,'a) value = op2 (x1, "/", x2, w1) fun div_wordOption (VALUE(x1, w1) : (word option,'a) value, VALUE(x2, w2) : (word option,'a) value) : (word option,'a) value = op2 (x1, "/", x2, w1) fun div_realOption (VALUE(x1, w1) : (real option,'a) value, VALUE(x2, w2) : (real option,'a) value) : (real option,'a) value = op2 (x1, "/", x2, w1) fun mod_int (VALUE(x1, w1) : (int,'a) value, VALUE(x2, w2) : (int,'a) value) : (int,'a) value = op2 (x1, "%", x2, w1) fun mod_word (VALUE(x1, w1) : (word,'a) value, VALUE(x2, w2) : (word,'a) value) : (word,'a) value = op2 (x1, "%", x2, w1) fun mod_intOption (VALUE(x1, w1) : (int option,'a) value, VALUE(x2, w2) : (int option,'a) value) : (int option,'a) value = op2 (x1, "%", x2, w1) fun mod_wordOption (VALUE(x1, w1) : (word option,'a) value, VALUE(x2, w2) : (word option,'a) value) : (word option,'a) value = op2 (x1, "%", x2, w1) fun neg_int (VALUE(x1, w1) : (int,'a) value) : (int,'a) value = op1 ("-", x1, w1) fun neg_real (VALUE(x1, w1) : (real,'a) value) : (real,'a) value = op1 ("-", x1, w1) fun neg_intOption (VALUE(x1, w1) : (int option,'a) value) : (int option,'a) value = op1 ("-", x1, w1) fun neg_realOption (VALUE(x1, w1) : (real option,'a) value) : (real option,'a) value = op1 ("-", x1, w1) fun abs_int (VALUE(x1, w1) : (int,'a) value) : (int,'a) value = op1 ("@", x1, w1) fun abs_real (VALUE(x1, w1) : (real,'a) value) : (real,'a) value = op1 ("@", x1, w1) fun abs_intOption (VALUE(x1, w1) : (int option,'a) value) : (int option,'a) value = op1 ("@", x1, w1) fun abs_realOption (VALUE(x1, w1) : (real option,'a) value) : (real option,'a) value = op1 ("@", x1, w1) fun lt_int (VALUE(x1, w1) : (int,'a) value, VALUE(x2, w2) : (int,'a) value) : (bool option,'a) value = op2 (x1, "<", x2, SOME true) fun lt_word (VALUE(x1, w1) : (word,'a) value, VALUE(x2, w2) : (word,'a) value) : (bool option,'a) value = op2 (x1, "<", x2, SOME true) fun lt_char (VALUE(x1, w1) : (char,'a) value, VALUE(x2, w2) : (char,'a) value) : (bool option,'a) value = op2 (x1, "<", x2, SOME true) fun lt_string (VALUE(x1, w1) : (string,'a) value, VALUE(x2, w2) : (string,'a) value) : (bool option,'a) value = op2 (x1, "<", x2, SOME true) fun lt_real (VALUE(x1, w1) : (real,'a) value, VALUE(x2, w2) : (real,'a) value) : (bool option,'a) value = op2 (x1, "<", x2, SOME true) fun lt_intOption (VALUE(x1, w1) : (int option,'a) value, VALUE(x2, w2) : (int option,'a) value) : (bool option,'a) value = op2 (x1, "<", x2, SOME true) fun lt_wordOption (VALUE(x1, w1) : (word option,'a) value, VALUE(x2, w2) : (word option,'a) value) : (bool option,'a) value = op2 (x1, "<", x2, SOME true) fun lt_charOption (VALUE(x1, w1) : (char option,'a) value, VALUE(x2, w2) : (char option,'a) value) : (bool option,'a) value = op2 (x1, "<", x2, SOME true) fun lt_boolOption (VALUE(x1, w1) : (bool option,'a) value, VALUE(x2, w2) : (bool option,'a) value) : (bool option,'a) value = op2 (x1, "<", x2, SOME true) fun lt_stringOption (VALUE(x1, w1) : (string option,'a) value, VALUE(x2, w2) : (string option,'a) value) : (bool option,'a) value = op2 (x1, "<", x2, SOME true) fun lt_realOption (VALUE(x1, w1) : (real option,'a) value, VALUE(x2, w2) : (real option,'a) value) : (bool option,'a) value = op2 (x1, "<", x2, SOME true) fun le_int (VALUE(x1, w1) : (int,'a) value, VALUE(x2, w2) : (int,'a) value) : (bool option,'a) value = op2 (x1, "<=", x2, SOME true) fun le_word (VALUE(x1, w1) : (word,'a) value, VALUE(x2, w2) : (word,'a) value) : (bool option,'a) value = op2 (x1, "<=", x2, SOME true) fun le_char (VALUE(x1, w1) : (char,'a) value, VALUE(x2, w2) : (char,'a) value) : (bool option,'a) value = op2 (x1, "<=", x2, SOME true) fun le_string (VALUE(x1, w1) : (string,'a) value, VALUE(x2, w2) : (string,'a) value) : (bool option,'a) value = op2 (x1, "<=", x2, SOME true) fun le_real (VALUE(x1, w1) : (real,'a) value, VALUE(x2, w2) : (real,'a) value) : (bool option,'a) value = op2 (x1, "<=", x2, SOME true) fun le_intOption (VALUE(x1, w1) : (int option,'a) value, VALUE(x2, w2) : (int option,'a) value) : (bool option,'a) value = op2 (x1, "<=", x2, SOME true) fun le_wordOption (VALUE(x1, w1) : (word option,'a) value, VALUE(x2, w2) : (word option,'a) value) : (bool option,'a) value = op2 (x1, "<=", x2, SOME true) fun le_charOption (VALUE(x1, w1) : (char option,'a) value, VALUE(x2, w2) : (char option,'a) value) : (bool option,'a) value = op2 (x1, "<=", x2, SOME true) fun le_boolOption (VALUE(x1, w1) : (bool option,'a) value, VALUE(x2, w2) : (bool option,'a) value) : (bool option,'a) value = op2 (x1, "<=", x2, SOME true) fun le_stringOption (VALUE(x1, w1) : (string option,'a) value, VALUE(x2, w2) : (string option,'a) value) : (bool option,'a) value = op2 (x1, "<=", x2, SOME true) fun le_realOption (VALUE(x1, w1) : (real option,'a) value, VALUE(x2, w2) : (real option,'a) value) : (bool option,'a) value = op2 (x1, "<=", x2, SOME true) fun gt_int (VALUE(x1, w1) : (int,'a) value, VALUE(x2, w2) : (int,'a) value) : (bool option,'a) value = op2 (x1, ">", x2, SOME true) fun gt_word (VALUE(x1, w1) : (word,'a) value, VALUE(x2, w2) : (word,'a) value) : (bool option,'a) value = op2 (x1, ">", x2, SOME true) fun gt_char (VALUE(x1, w1) : (char,'a) value, VALUE(x2, w2) : (char,'a) value) : (bool option,'a) value = op2 (x1, ">", x2, SOME true) fun gt_string (VALUE(x1, w1) : (string,'a) value, VALUE(x2, w2) : (string,'a) value) : (bool option,'a) value = op2 (x1, ">", x2, SOME true) fun gt_real (VALUE(x1, w1) : (real,'a) value, VALUE(x2, w2) : (real,'a) value) : (bool option,'a) value = op2 (x1, ">", x2, SOME true) fun gt_intOption (VALUE(x1, w1) : (int option,'a) value, VALUE(x2, w2) : (int option,'a) value) : (bool option,'a) value = op2 (x1, ">", x2, SOME true) fun gt_wordOption (VALUE(x1, w1) : (word option,'a) value, VALUE(x2, w2) : (word option,'a) value) : (bool option,'a) value = op2 (x1, ">", x2, SOME true) fun gt_charOption (VALUE(x1, w1) : (char option,'a) value, VALUE(x2, w2) : (char option,'a) value) : (bool option,'a) value = op2 (x1, ">", x2, SOME true) fun gt_boolOption (VALUE(x1, w1) : (bool option,'a) value, VALUE(x2, w2) : (bool option,'a) value) : (bool option,'a) value = op2 (x1, ">", x2, SOME true) fun gt_stringOption (VALUE(x1, w1) : (string option,'a) value, VALUE(x2, w2) : (string option,'a) value) : (bool option,'a) value = op2 (x1, ">", x2, SOME true) fun gt_realOption (VALUE(x1, w1) : (real option,'a) value, VALUE(x2, w2) : (real option,'a) value) : (bool option,'a) value = op2 (x1, ">", x2, SOME true) fun ge_int (VALUE(x1, w1) : (int,'a) value, VALUE(x2, w2) : (int,'a) value) : (bool option,'a) value = op2 (x1, ">=", x2, SOME true) fun ge_word (VALUE(x1, w1) : (word,'a) value, VALUE(x2, w2) : (word,'a) value) : (bool option,'a) value = op2 (x1, ">=", x2, SOME true) fun ge_char (VALUE(x1, w1) : (char,'a) value, VALUE(x2, w2) : (char,'a) value) : (bool option,'a) value = op2 (x1, ">=", x2, SOME true) fun ge_string (VALUE(x1, w1) : (string,'a) value, VALUE(x2, w2) : (string,'a) value) : (bool option,'a) value = op2 (x1, ">=", x2, SOME true) fun ge_real (VALUE(x1, w1) : (real,'a) value, VALUE(x2, w2) : (real,'a) value) : (bool option,'a) value = op2 (x1, ">=", x2, SOME true) fun ge_intOption (VALUE(x1, w1) : (int option,'a) value, VALUE(x2, w2) : (int option,'a) value) : (bool option,'a) value = op2 (x1, ">=", x2, SOME true) fun ge_wordOption (VALUE(x1, w1) : (word option,'a) value, VALUE(x2, w2) : (word option,'a) value) : (bool option,'a) value = op2 (x1, ">=", x2, SOME true) fun ge_charOption (VALUE(x1, w1) : (char option,'a) value, VALUE(x2, w2) : (char option,'a) value) : (bool option,'a) value = op2 (x1, ">=", x2, SOME true) fun ge_boolOption (VALUE(x1, w1) : (bool option,'a) value, VALUE(x2, w2) : (bool option,'a) value) : (bool option,'a) value = op2 (x1, ">=", x2, SOME true) fun ge_stringOption (VALUE(x1, w1) : (string option,'a) value, VALUE(x2, w2) : (string option,'a) value) : (bool option,'a) value = op2 (x1, ">=", x2, SOME true) fun ge_realOption (VALUE(x1, w1) : (real option,'a) value, VALUE(x2, w2) : (real option,'a) value) : (bool option,'a) value = op2 (x1, ">=", x2, SOME true) fun eq_int (VALUE(x1, w1) : (int,'a) value, VALUE(x2, w2) : (int,'a) value) : (bool option,'a) value = op2 (x1, "=", x2, SOME true) fun eq_word (VALUE(x1, w1) : (word,'a) value, VALUE(x2, w2) : (word,'a) value) : (bool option,'a) value = op2 (x1, "=", x2, SOME true) fun eq_char (VALUE(x1, w1) : (char,'a) value, VALUE(x2, w2) : (char,'a) value) : (bool option,'a) value = op2 (x1, "=", x2, SOME true) fun eq_string (VALUE(x1, w1) : (string,'a) value, VALUE(x2, w2) : (string,'a) value) : (bool option,'a) value = op2 (x1, "=", x2, SOME true) fun eq_real (VALUE(x1, w1) : (real,'a) value, VALUE(x2, w2) : (real,'a) value) : (bool option,'a) value = op2 (x1, "=", x2, SOME true) fun eq_intOption (VALUE(x1, w1) : (int option,'a) value, VALUE(x2, w2) : (int option,'a) value) : (bool option,'a) value = op2 (x1, "=", x2, SOME true) fun eq_wordOption (VALUE(x1, w1) : (word option,'a) value, VALUE(x2, w2) : (word option,'a) value) : (bool option,'a) value = op2 (x1, "=", x2, SOME true) fun eq_charOption (VALUE(x1, w1) : (char option,'a) value, VALUE(x2, w2) : (char option,'a) value) : (bool option,'a) value = op2 (x1, "=", x2, SOME true) fun eq_boolOption (VALUE(x1, w1) : (bool option,'a) value, VALUE(x2, w2) : (bool option,'a) value) : (bool option,'a) value = op2 (x1, "=", x2, SOME true) fun eq_stringOption (VALUE(x1, w1) : (string option,'a) value, VALUE(x2, w2) : (string option,'a) value) : (bool option,'a) value = op2 (x1, "=", x2, SOME true) fun eq_realOption (VALUE(x1, w1) : (real option,'a) value, VALUE(x2, w2) : (real option,'a) value) : (bool option,'a) value = op2 (x1, "=", x2, SOME true) fun neq_int (VALUE(x1, w1) : (int,'a) value, VALUE(x2, w2) : (int,'a) value) : (bool option,'a) value = op2 (x1, "<>", x2, SOME true) fun neq_word (VALUE(x1, w1) : (word,'a) value, VALUE(x2, w2) : (word,'a) value) : (bool option,'a) value = op2 (x1, "<>", x2, SOME true) fun neq_char (VALUE(x1, w1) : (char,'a) value, VALUE(x2, w2) : (char,'a) value) : (bool option,'a) value = op2 (x1, "<>", x2, SOME true) fun neq_string (VALUE(x1, w1) : (string,'a) value, VALUE(x2, w2) : (string,'a) value) : (bool option,'a) value = op2 (x1, "<>", x2, SOME true) fun neq_real (VALUE(x1, w1) : (real,'a) value, VALUE(x2, w2) : (real,'a) value) : (bool option,'a) value = op2 (x1, "<>", x2, SOME true) fun neq_intOption (VALUE(x1, w1) : (int option,'a) value, VALUE(x2, w2) : (int option,'a) value) : (bool option,'a) value = op2 (x1, "<>", x2, SOME true) fun neq_wordOption (VALUE(x1, w1) : (word option,'a) value, VALUE(x2, w2) : (word option,'a) value) : (bool option,'a) value = op2 (x1, "<>", x2, SOME true) fun neq_charOption (VALUE(x1, w1) : (char option,'a) value, VALUE(x2, w2) : (char option,'a) value) : (bool option,'a) value = op2 (x1, "<>", x2, SOME true) fun neq_boolOption (VALUE(x1, w1) : (bool option,'a) value, VALUE(x2, w2) : (bool option,'a) value) : (bool option,'a) value = op2 (x1, "<>", x2, SOME true) fun neq_stringOption (VALUE(x1, w1) : (string option,'a) value, VALUE(x2, w2) : (string option,'a) value) : (bool option,'a) value = op2 (x1, "<>", x2, SOME true) fun neq_realOption (VALUE(x1, w1) : (real option,'a) value, VALUE(x2, w2) : (real option,'a) value) : (bool option,'a) value = op2 (x1, "<>", x2, SOME true) fun strcat (VALUE(x1, w1) : (string,'a) value, VALUE(x2, w2) : (string,'a) value) : (string,'a) value = op2 (x1, "||", x2, "") fun andAlso (VALUE(x1, w1) : (bool option, 'a) value, VALUE(x2, w2) : (bool option, 'a) value) : (bool option, 'a) value = op2 (x1, "and", x2, w1) fun orElse (VALUE(x1, w1) : (bool option, 'a) value, VALUE(x2, w2) : (bool option, 'a) value) : (bool option, 'a) value = op2 (x1, "or", x2, w1) fun not (VALUE(x1, w1) : (bool option, 'a) value) = op1 ("not", x1, w1) fun isNull (VALUE(x1, w1) : ('a option, 'a) value) : (bool option, 'a) value = op1post (x1, " is null", NONE) fun isNotNull (VALUE(x1, w1) : ('a option, 'a) value) : (bool option, 'a) value = op1post (x1, " is not null", NONE) end (* local *) local fun sqlInt x = Int.toString x fun sqlWord x = Word.fmt StringCvt.DEC x fun sqlReal x = String.translate (fn #"~" => "-" | x => str x) (Real.fmt StringCvt.EXACT x) fun sqlString x = "'" ^ String.translate (fn #"'" => "''" | x => str x) x ^ "'" fun sqlChar x = sqlString (str x) fun sqlBool true = "t" | sqlBool false = "f" fun nullValue x = VALUE (("NULL", DBI), x) in fun toSQL_int (x:int) : (int, 'a) value = VALUE ((sqlInt x, DBI), x) fun toSQL_word (x:word) : (word, 'a) value = VALUE ((sqlWord x, DBI), x) fun toSQL_char (x:char) : (char, 'a) value = VALUE ((sqlChar x, DBI), x) fun toSQL_string (x:string) : (string, 'a) value = VALUE ((sqlString x, DBI), x) fun toSQL_real (x:real) : (real, 'a) value = VALUE ((sqlReal x, DBI), x) fun toSQL_intOption (x:int option) : (int option, 'a) value = case x of SOME y => VALUE ((sqlInt y, DBI), x) | NONE => nullValue x fun toSQL_wordOption (x:word option) : (word option, 'a) value = case x of SOME y => VALUE ((sqlWord y, DBI), x) | NONE => nullValue x fun toSQL_boolOption (x:bool option) : (bool option, 'a) value = case x of SOME y => VALUE ((sqlBool y, DBI), x) | NONE => nullValue x fun toSQL_charOption (x:char option) : (char option, 'a) value = case x of SOME y => VALUE ((sqlChar y, DBI), x) | NONE => nullValue x fun toSQL_stringOption (x:string option) : (string option, 'a) value = case x of SOME y => VALUE ((sqlString y, DBI), x) | NONE => nullValue x fun toSQL_realOption (x:real option) : (real option, 'a) value = case x of SOME y => VALUE ((sqlReal y, DBI), x) | NONE => nullValue x end (* local *) local fun nonnull (SOME x) = x | nonnull NONE = raise Format in fun fromSQL_int (col, RESULT (r, row), _:int) = nonnull (Backend.getInt (r, row, col)) fun fromSQL_word (col, RESULT (r, row), _:word) = nonnull (Backend.getWord (r, row, col)) fun fromSQL_char (col, RESULT (r, row), _:char) = nonnull (Backend.getChar (r, row, col)) fun fromSQL_real (col, RESULT (r, row), _:real) = nonnull (Backend.getReal (r, row, col)) fun fromSQL_intOption (col, RESULT (r, row), _:int option) = Backend.getInt (r, row, col) fun fromSQL_wordOption (col, RESULT (r, row), _:word option) = Backend.getWord (r, row, col) fun fromSQL_charOption (col, RESULT (r, row), _:char option) = Backend.getChar (r, row, col) fun fromSQL_boolOption (col, RESULT (r, row), _:bool option) = Backend.getBool (r, row, col) fun fromSQL_stringOption (col, RESULT (r, row), _:string option) = Backend.getString (r, row, col) fun fromSQL_realOption (col, RESULT (r, row), _:real option) = Backend.getReal (r, row, col) fun fromSQL_string (col, RESULT (r, row), _:string) = nonnull (Backend.getString (r, row, col)) end (* local *) (* fun fromSQL_int (col:int, r:result, _:int) : int = SMLSharp.SQLImpl.fromSQL_int (col, r) fun fromSQL_word (col:int, r:result, _:word) : word = SMLSharp.SQLImpl.fromSQL_word (col, r) fun fromSQL_char (col:int, r:result, _:char) : char = SMLSharp.SQLImpl.fromSQL_char (col, r) fun fromSQL_string (col:int, r:result, _:string) : string = SMLSharp.SQLImpl.fromSQL_string (col, r) fun fromSQL_real (col:int, r:result, _:real) : real = SMLSharp.SQLImpl.fromSQL_real (col, r) fun fromSQL_intOption (col:int, r:result, _:int option) : int option = SMLSharp.SQLImpl.fromSQL_intOption (col, r) fun fromSQL_wordOption (col:int, r:result, _:word option) : word option = SMLSharp.SQLImpl.fromSQL_wordOption (col, r) fun fromSQL_charOption (col:int, r:result, _:char option) : char option = SMLSharp.SQLImpl.fromSQL_charOption (col, r) fun fromSQL_boolOption (col:int, r:result, _:bool option) : bool option = SMLSharp.SQLImpl.fromSQL_boolOption (col, r) fun fromSQL_stringOption (col:int, r:result, _:string option) : string option = SMLSharp.SQLImpl.fromSQL_stringOption (col, r) fun fromSQL_realOption (col:int, r:result, _:real option) : real option = SMLSharp.SQLImpl.fromSQL_realOption (col, r) *) fun default_int () : (int, 'a) value = VALUE (("DEFAULT", DBI), 0) fun default_word () : (word, 'a) value = VALUE (("DEFAULT", DBI), 0w0) fun default_char () : (char, 'a) value = VALUE (("DEFAULT", DBI), #"\000") fun default_string () : (string, 'a) value = VALUE (("DEFAULT", DBI), "") fun default_real () : (real, 'a) value = VALUE (("DEFAULT", DBI), 0.0) fun default_intOption () : (int option, 'a) value = VALUE (("DEFAULT", DBI), SOME 0) fun default_wordOption () : (word option, 'a) value = VALUE (("DEFAULT", DBI), SOME 0w0) fun default_charOption () : (char option, 'a) value = VALUE (("DEFAULT", DBI), SOME #"\000") fun default_boolOption () : (bool option, 'a) value = VALUE (("DEFAULT", DBI), SOME true) fun default_stringOption () : (string option, 'a) value = VALUE (("DEFAULT", DBI), SOME "") fun default_realOption () : (real option, 'a) value = VALUE (("DEFAULT", DBI), SOME 0.0) end smlsharp-1.2.0/src/sql/main/SQLUtils.smi0000644 000000000000000000000032512050661606020207 0ustar00rootroot0000000 0000000 _require "../../basis.smi" _require "SQLPrim.smi" structure SMLSharp_SQL_Utils = struct exception NotOne val fetchAll : 'a SMLSharp_SQL_Prim.rel -> 'a list val fetchOne : 'a SMLSharp_SQL_Prim.rel -> 'a end smlsharp-1.2.0/src/sql/main/SQLUtils.sml0000644 000000000000000000000123412050661606020212 0ustar00rootroot0000000 0000000 (** * SQL support for SML# * @author UENO Katsuhiro * @author ENDO hiroki * @copyright (c) 2009, 2010, Tohoku University. *) structure SMLSharp_SQL_Utils : sig exception NotOne val fetchAll : 'a SMLSharp_SQL_Prim.rel -> 'a list val fetchOne : 'a SMLSharp_SQL_Prim.rel -> 'a end = struct exception NotOne fun fetchAll rel = case SMLSharp_SQL_Prim.fetch rel of NONE => nil | SOME (r, rel) => r :: fetchAll rel fun fetchOne rel = case SMLSharp_SQL_Prim.fetch rel of NONE => raise NotOne | SOME (r, rel) => case SMLSharp_SQL_Prim.fetch rel of NONE => r | SOME _ => raise NotOne end smlsharp-1.2.0/src/sql.smi0000644 000000000000000000000015012050661606015577 0ustar00rootroot0000000 0000000 include "sql/main/SQLPrim.smi" (* for internal usage *) include "sql/main/SQL.smi" (* for user *) smlsharp-1.2.0/src/unix-utils0000755 000000000000000000000000012050661606016334 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/unix-utils/main0000755 000000000000000000000000012050661606017260 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/src/unix-utils/main/UnixUtils.smi0000644 000000000000000000000040712050661606022016 0ustar00rootroot0000000 0000000 _require "../../basis.smi" structure UnixUtils = struct val cd : string -> unit val pwd : unit -> string val exit : unit -> unit val ls : string -> unit end val cd : string -> unit val pwd : unit -> string val exit : unit -> unit val ls : string -> unit smlsharp-1.2.0/src/unix-utils/main/UnixUtils.sml0000644 000000000000000000000241112050661606022016 0ustar00rootroot0000000 0000000 structure UnixUtils = struct local structure F = OS.FileSys in fun cd s = F.chDir s fun pwd () = F.getDir () fun exit () = OS.Process.terminate OS.Process.success : unit fun ls dir = if F.isDir dir then let val d = F.openDir dir fun printFileInDir s = let val path = dir ^ "/" ^ s val s = if F.isDir path then s ^ "/" else if F.access (path, [F.A_EXEC]) then s ^ "*" else s in print (s ^ "\n") end fun readDir () = let fun readList listRev = let val s = F.readDir d in case s of NONE => listRev | SOME s => readList (s::listRev) end val listRev = readList nil in List.rev listRev end val _ = List.app printFileInDir (readDir ()) val _ = F.closeDir d in () end else let val s = if F.access (dir, [F.A_EXEC]) then dir ^ "*" else dir in (print s; print "\n") end end end open UnixUtils smlsharp-1.2.0/stage0.mk0000644 000000000000000000000574412050661606015231 0ustar00rootroot0000000 0000000 GEN_CM = \ gencm () { \ echo "$$1" \ | awk '{gsub(" ","\n");print}' \ | sed '\,^src/basis/,d;\,^src/smlnj/,d;s,^src/,../src/,' \ | awk 'BEGIN{print "Group is";\ print "\043if defined(SMLNJ_VERSION)";\ print "$$/basis.cm";\ print "\043endif"}\ NR==1{s="\043if defined(SMLNJ_VERSION)\n\043else\n"\ $$0"\n\043endif\n";next}\ {s=$$0"\n"s}\ END{print s}'; \ }; gencm MAKESML_SMLNJ = \ makesml () { \ heap="$$1_h.$(SMLNJ_HEAP_SUFFIX)"; \ rm -f "$heap"; \ { echo "structure SMLofNJ_ = SMLofNJ;"; \ echo "CM.make \"$$1.cm\";"; \ echo "SMLofNJ_.exportFn (\"$$1_h\", $$2)"; \ } | $(SMLNJ) || exit $$?; \ heap="$$1_h.$(SMLNJ_HEAP_SUFFIX)"; \ test -f "$$heap" || exit $$?; \ case '$(SMLNJ_HEAP_SUFFIX)' in \ *win32*) \ sml=`echo '$(SMLNJ)' | sed 's,^cmd /c "\(.*\)"$$,\1,'`; \ awk 'BEGIN{ \ print"\043!/bin/sh";\ print"cmd /c '"'$$sml @SMLload=$$heap '"'\"$$*\""}' > "$$1"; \ ;; \ *cygwin*) \ awk 'BEGIN{ \ print"\043!/bin/sh";\ print"SMLNJ_CYGWIN_RUNTIME=1";\ print"export SMLNJ_CYGWIN_RUNTIME";\ print"$(SMLNJ) @SMLload='"$$heap"' \"$$@\""}' > "$$1"; \ chmod +x "$$1"; \ ;; \ *) \ awk 'BEGIN{ \ print"\043!/bin/sh";\ print"$(SMLNJ) @SMLload='"$$heap"' \"$$@\""}' > "$$1"; \ chmod +x "$$1"; \ ;; \ esac; \ }; makesml MAKESML_MLTON = \ makesml () { '$(MLTON)' -verbose 2 -output "$$1" "$$1.cm"; }; makesml MAKESML = false stage0/smllex.cm: stage0.mk files.mk $(GEN_CM) '$(MLLEX_SOURCES)' > $@ stage0/smlyacc.cm: stage0.mk files.mk $(GEN_CM) '$(MLYACC_SOURCES)' > $@ stage0/smlformat.cm: stage0.mk files.mk $(GEN_CM) '$(SMLFORMAT_SOURCES)' > $@ stage0/smlsharp.cm: stage0.mk files.mk $(GEN_CM) '$(MINISMLSHARP_SOURCES)' \ | awk '/src\/sql/{next}\ /src\/ffi/{next}\ {sub("RunLoop\\.sml$$","RunLoop_dummy.sml");\ sub("ExecutablePath\\.sml$$","ExecutablePath_dummy.sml");\ print}\ /basis.cm$$/{\ print"../src/compiler/compat/main/Real32_compat.sml";\ print"../src/compiler/compat/main/IEEEReal_compat.sml"}'\ > $@ stage0/smllex: stage0/smllex.cm $(MLLEX_SOURCES) $(MAKESML) stage0/smllex ExportLexGen.lexGen stage0/smlyacc: stage0/smlyacc.cm $(MLYACC_SOURCES) $(MAKESML) stage0/smlyacc ExportParseGen.parseGen stage0/smlformat: stage0/smlformat.cm $(SMLFORMAT_SOURCES) $(MAKESML) stage0/smlformat Main.main stage0/smlsharp: stage0/smlsharp.cm $(MINISMLSHARP_SOURCES) $(MAKESML) stage0/smlsharp Main.main stage0: PHONY -mkdir stage0 $(MAKE) \ MAKESML='$$(MAKESML_$(STAGE0_COMPILER))' \ MLLEX=stage0/smllex \ MLYACC=stage0/smlyacc \ SMLFORMAT=stage0/smlformat \ stage0/smlsharp @echo @echo "***" @echo "*** Building stage 0 compiler is completed. Do \`make'." @echo "***" smlsharp-1.2.0/stamp-h.in0000644 000000000000000000000001212050661606015375 0ustar00rootroot0000000 0000000 timestamp smlsharp-1.2.0/test0000755 000000000000000000000000012050661606014403 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/test/bin0000755 000000000000000000000000012050661606015153 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/test/bin/runonetest.sh0000755 000000000000000000000425212050661606020002 0ustar00rootroot0000000 0000000 #!/bin/sh set +x # A script for running one test # $Id: runonetest.sh,v 1.13 2008/01/16 07:28:45 kiyoshiy Exp $ # # Example: # ./runonetest.sh -html -usebasis -d D:/tmp/imltest coresml datatype001.sml # Do not use backslash as path separator. # # If you configured SML# at a directory other than iml3/SMLSharp/, you have to # specify TOP_BUILDDIR environment. # $ env TOP_BUILDDIR=/home/yamato/iml3/SMLSharp/release ./runonetest.sh ... USAGE="usage: $0 {-html|-text|-remote|-emulator|-usebasis}* [-d dir] testset testfilename" if test $# -lt 2; then echo ${USAGE} exit 1 fi ############################################################################### TOP_BUILDDIR=${TOP_BUILDDIR:-${PWD}/../../} TESTSDIR=../tests/ ############################################################################### PRINTER=HTML RUNTIME=ML # use default prelude (non Basis) PRELUDE="" while true do case $1 in "-html") PRINTER="HTML" shift;; "-text") PRINTER="Text" shift;; "-remote") RUNTIME="Remote" shift;; "-emulator") RUNTIME="ML" shift;; "-minimum") PRELUDE=../../src/lib/minimum.sml shift;; "-usebasis") PRELUDE=../../src/lib/prelude.sml shift;; *) break;; esac done MAIN="${PRINTER}${RUNTIME}Main" case $1 in "-d") shift RESULTDIR=$1 shift ;; *) RESULTDIR=./$1 ;; esac mkdir ${RESULTDIR} TESTSET=$1 if test -z "${TESTSET}"; then echo ${USAGE} exit 1 fi shift TESTFILES=$* if test -z "${TESTFILES}"; then echo ${USAGE} exit 1 fi for TESTFILE in ${TESTFILES};do SOURCEPATHS="${SOURCEPATHS} ,\"${TESTSDIR}${TESTSET}/tests/${TESTFILE}\"" done EXPECTEDDIR=${TESTSDIR}${TESTSET}/outputs ############################################################################### case `uname` in CYGWIN*) HEAPIMAGE_SUFFIX=.x86-win32 SML=sml.bat ;; *) HEAPIMAGE_SUFFIX= SML=sml esac ############################################################################### script="OS.FileSys.chDir \"../../bin\"; ${MAIN}.main(\"imltest\", [\"${PRELUDE}\",\"${EXPECTEDDIR}\",\"${RESULTDIR}\" ${SOURCEPATHS}]);" (cd ../driver/main && exec $SHELL ${TOP_BUILDDIR}/mksmlheap --exec "$script") smlsharp-1.2.0/test/bin/runtest.sh0000755 000000000000000000000374412050661606017305 0ustar00rootroot0000000 0000000 #!/bin/sh # A script for running through test # $Id: runtest.sh,v 1.19 2008/01/16 07:28:45 kiyoshiy Exp $ # # Example: # $ ./runtest.sh -html -usebasis -d D:/tmp/imltest coresml # Do not use backslash as path separator. # # If you configured SML# at a directory other than iml3/SMLSharp/, you have to # specify TOP_BUILDDIR environment. # $ env TOP_BUILDDIR=/home/yamato/iml3/SMLSharp/release ./runtest.sh ... USAGE="usage: $0 {-html|-text|-remote|-emulator|-usebasis}* [-d dir] testset" if test $# -lt 2; then echo ${USAGE} exit 1 fi ############################################################################### TOP_BUILDDIR=${TOP_BUILDDIR:-${PWD}/../../} TESTSDIR=../tests/ ############################################################################### PRINTER=HTML RUNTIME=ML # use default prelude (non Basis) PRELUDE="" while true do case $1 in "-html") PRINTER="HTML" shift;; "-text") PRINTER="Text" shift;; "-remote") RUNTIME="Remote" shift;; "-emulator") RUNTIME="ML" shift;; "-minimum") PRELUDE=../../src/lib/minimum.sml shift;; "-usebasis") PRELUDE=../../src/lib/prelude.sml shift;; *) break;; esac done MAIN="${PRINTER}${RUNTIME}Main" case $1 in "-d") shift RESULTDIR=$1 shift ;; *) RESULTDIR=./$1 ;; esac mkdir ${RESULTDIR} TESTSET=$1 if test -z "${TESTSET}"; then echo ${USAGE} exit 1 fi SOURCEDIR=${TESTSDIR}${TESTSET}/tests EXPECTEDDIR=${TESTSDIR}${TESTSET}/outputs ############################################################################### case `uname` in CYGWIN*) HEAPIMAGE_SUFFIX=.x86-win32 SML=sml.bat ;; *) HEAPIMAGE_SUFFIX= SML=sml esac ############################################################################### script="OS.FileSys.chDir \"../../bin\"; ${MAIN}.main (\"imltest\", [\"${PRELUDE}\",\"${EXPECTEDDIR}\",\"${RESULTDIR}\",\"${SOURCEDIR}\"]);" (cd ../driver/main && exec $SHELL ${TOP_BUILDDIR}/mksmlheap --exec "$script") smlsharp-1.2.0/test/driver0000755 000000000000000000000000012050661606015676 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/test/driver/main0000755 000000000000000000000000012050661606016622 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/test/driver/main/Diff.sml0000644 000000000000000000002207312050661606020272 0ustar00rootroot0000000 0000000 (** * compare two sequences and calculate their differences. * * @author UENO Katsuhiro * @version $Id: Diff.sml,v 1.1 2005/12/13 16:43:52 katsuu Exp $ *) structure Diff : sig datatype ('a,'b) edit = ADD of 'b | DEL of 'a | KEEP of 'a val diff : ('a * 'b -> bool) -> 'a list * 'b list -> ('a,'b) edit list end = struct infix 9 == (** * An edit operation from 'a to 'b. * * ADD and DEL means insertion and deletion respectively, * KEEP means no edit operation (i.e. just keep original one.) *) datatype ('a,'b) edit = ADD of 'b | DEL of 'a | KEEP of 'a (** * An editgraph. * * This program assumes that each member of fromList and toList puts * onto horizontal and vertical axis of an editgraph left to right * and up to bottom, respectively. * So a horizontal edge in a editgraph corresponds to a deletion, * and a vertical edge corresponds to an insertion. *) type ('a,'b) editgraph = 'a list * 'b list (* fromList * toList *) (** * A path from source to a grid point in a editgraph. * * First element is a path from source to the grid point, and * another one is sub-editgraph which will be visited from there. *) type ('a,'b) path = ('a,'b) edit list (* sequence from source to here (reversed) *) * ('a,'b) editgraph (* sub-editgraph which will be visited from here *) fun snake (op ==) (path, graph as (from::fromList, to::toList)) = if from == to then snake (op ==) (KEEP from :: path, (fromList, toList)) else (path, graph) | snake (op ==) x = x fun add (path, (fromList, to::toList)) = (ADD to :: path, (fromList, toList)) | add x = x fun del (path, (from::fromList, toList)) = (DEL from :: path, (fromList, toList)) | del x = x fun sink (path, (nil, nil)) = true | sink _ = false fun rest (path, (fromList, toList)) = length fromList fun path (path, (fromList, toList)) = rev path fun walkLeft path = let fun walk (walked as (p as (path, (from::fromList, toList)))::_) = walk ((DEL from :: path, (fromList, toList)) :: walked) | walk walked = walked in walk [path] end fun walkDown path = let fun walk (walked as (p as (path, (fromList, to::toList)))::_) = walk ((ADD to :: path, (fromList, toList)) :: walked) | walk walked = walked in walk [path] end fun distance l = length ((List.filter (fn (KEEP _) => false | _ => true) l)) fun shorter (l1, l2) = if distance l2 < distance l1 then l2 else l1 fun shorter3 (l1, l2, l3) = shorter (shorter (l1, l2), l3) (** * An implementation of naive diff algorithm. * * Calculate the shortest path from source for every grid point in a * editgraph. *) fun naiveDiff (op ==) (fromList, toList) = let val initialPaths = foldl (fn (from, paths) => (DEL from :: hd paths) :: paths) [nil] fromList val fromList = rev fromList fun nextPaths f (fromList as _::fromList') (prevPaths as _::prevPaths') = let val paths = nextPaths f fromList' prevPaths' in f (fromList, prevPaths, paths) :: paths end | nextPaths f fromList prevPaths = f (fromList, prevPaths, nil) :: nil val finalPaths = foldl (fn (to, prevPaths) => nextPaths (fn (from::_, prev::prevLeft::_, left::_) => if from == to then shorter3 (DEL from :: left, ADD to :: prev, KEEP from :: prevLeft) else shorter (ADD to :: prev, DEL from :: left) | (_, prev::_, nil) => ADD to :: prev | _ => raise Match) fromList prevPaths) initialPaths toList in rev (hd finalPaths) end (** * An implementation of O(ND) algorithm. * * @see E. W. Myers, "An O(ND) difference algorithm and its variations," * Algorithmica, 1 (1986), pp.251--266. *) fun ondDiff (op ==) (fromList, toList) = let val snake = snake (op ==) fun next leftDiag rightDiag = snake (if rest rightDiag < rest leftDiag then add rightDiag else del leftDiag) fun search (prevDiags as (leftMost as (_,(_,_::_)))::_) = let val diag = snake (add leftMost) in if sink diag then path diag else search2 prevDiags [diag] end | search prevDiags = search2 prevDiags nil and search2 (left::(prevDiags as right::_)) nextDiags = let val diag = next left right in if sink diag then path diag else search2 prevDiags (diag :: nextDiags) end | search2 ((rightMost as (_,(_::_,_)))::prevDiags) nextDiags = let val diag = snake (del rightMost) in if sink diag then path diag else search2 prevDiags (diag :: nextDiags) end | search2 ((rightMost as (_,(nil,_)))::prevDiags) nextDiags = if sink rightMost then path rightMost else search2 prevDiags nextDiags | search2 nil nextDiags = search (rev nextDiags) in search [snake (nil, (fromList, toList))] end (** * An implementation of O(NP) algorithm. * * @see S. Wu, U. Manber, G. Myers, W. Miller, "An O(NP) Sequence * Comparison Algorithm," Information Processing Letters archive, * Volume 35 Issue 6, September 1990, pp.317--323. *) fun onpDiff (op ==) (fromList, toList) = let val snake = snake (op ==) fun next leftDiag rightDiag = snake (if rest rightDiag < rest leftDiag then add rightDiag else del leftDiag) fun searchLeft ((leftMost as (_,(_,nil)))::prevDiags) nil = searchLeft prevDiags nil | searchLeft (leftMost::prevDiags) nil = searchLeft prevDiags [snake (add leftMost)] | searchLeft (right::prevDiags) (nextDiags as left::_) = searchLeft prevDiags (next left right :: nextDiags) | searchLeft nil nextDiags = nextDiags fun searchRight ((rightMost as (_,(nil,_)))::prevDiags) nil = searchRight prevDiags nil | searchRight (rightMost::prevDiags) nil = searchRight prevDiags [snake (del rightMost)] | searchRight (left::prevDiags) (nextDiags as right::_) = searchRight prevDiags (next left right :: nextDiags) | searchRight nil nextDiags = nextDiags fun search leftDiags deltaDiag rightDiags = if sink deltaDiag then path deltaDiag else let val leftDiags = rev (deltaDiag :: leftDiags) val rightDiags = rev (deltaDiag :: rightDiags) val nextLeftDiags = searchLeft leftDiags nil val nextRightDiags = searchRight rightDiags nil val nextDeltaDiags = case (nextLeftDiags, nextRightDiags) of (left::_, right::_) => next left right | (left::_, nil) => del left | (nil, right::_) => add right | (nil, nil) => deltaDiag in search nextLeftDiags nextDeltaDiags nextRightDiags end val sourceDiag = snake (nil, (fromList, toList)) fun makeInitialDiags (_::leftDiags) (_::rightDiags) = makeInitialDiags leftDiags rightDiags | makeInitialDiags nil (right::rightDiags) = (rightDiags @ [sourceDiag], right, nil) | makeInitialDiags (left::leftDiags) nil = (nil, left, leftDiags @ [sourceDiag]) | makeInitialDiags nil nil = (nil, sourceDiag, nil) val (leftDiags, deltaDiag, rightDiags) = makeInitialDiags (walkDown (add sourceDiag)) (walkLeft (del sourceDiag)) in search leftDiags (snake deltaDiag) rightDiags end (** * compares two lists and returns descriptions of their differences. * In other words, calculates the shortest edit sequence from * 'a list to 'b list. * * @params eq (from, to) * @param eq returns true if two arguments are equal. * @param from sequence before editing. * @param to sequence after editing. *) (* * export only one, the most efficient implementation. * Any other implementations are just for example :) *) val diff = onpDiff end smlsharp-1.2.0/test/driver/main/HTMLResultPrinter.sml0000644 000000000000000000001665512050661606022742 0ustar00rootroot0000000 0000000 (** * * @author YAMATODANI Kiyoshi * @author UENO Katsuhiro * @version $Id: HTMLResultPrinter.sml,v 1.14 2007/12/15 07:27:50 kiyoshiy Exp $ *) structure HTMLResultPrinter : RESULT_PRINTER = struct (***************************************************************************) structure TT = TestTypes structure PU = PathUtility (***************************************************************************) type context = {directory : string} (***************************************************************************) fun initialize {directory} = ({directory = directory} : context) fun finalize _ = () fun printTo (channel : ChannelTypes.OutputChannel) text = #print channel text fun makeHTMLFilePath resultDirectory sourcePath = let val {dir, file} = PU.splitDirFile sourcePath val {base, ext} = PU.splitBaseExt file in {dir = resultDirectory, file = base ^ ".html"} end fun stringToVector s = Byte.stringToBytes s fun vectorToString v = Byte.bytesToString v fun escape s = String.translate (fn #"<" => "<" | #">" => ">" | #"\"" => """ | #"&" => "&" | c => str c) s local fun splitLine s = map Substring.string (Substring.fields (fn x => x = #"\n") (Substring.full s)) fun deleteSpace s = implode (List.filter (fn c => not (Char.isSpace c)) (explode s)) fun prepare str = map (fn x => (deleteSpace x, x)) (splitLine str) fun compare ((x,_),(y,_)) = x = y fun del x = "" ^ x ^ "\n" fun ins x = "" ^ x ^ "\n" fun keep x = x ^ "\n" in fun diff print (expected, output) = let val (expected, output) = foldr (fn (Diff.DEL (_,x),(el,ol)) => (del x :: el, ol) | (Diff.ADD (_,x),(el,ol)) => (el, ins x :: ol) | (Diff.KEEP(_,x),(el,ol)) => (keep x :: el, keep x :: ol)) (nil, nil) (Diff.diff compare (prepare expected, prepare output)) in (concat expected, concat output) end end fun makeCasePage resultChannel ({sourcePath, isSameContents, source, output, expected, exceptions} : TT.caseResult) = let fun makeTXTFilePath sourcePath = let val {dir, file} = PU.splitDirFile sourcePath val {base, ext} = PU.splitBaseExt file in {dir = "/tmp", file = base ^ ".out"} end val txtPath = makeTXTFilePath sourcePath val txtChannel = FileChannel.openOut{fileName = PU.joinDirFile txtPath} val _ = #sendVector txtChannel output val _ = #close txtChannel () val print = printTo resultChannel val printBin = #sendVector resultChannel fun printException exn = ( print (escape (exnMessage exn) ^ "\n"); app (fn line => print (escape line ^ "\n")) (SMLofNJ.exnHistory exn); print "\n" ) fun printExceptions () = if List.null exceptions then () else ( print ("

exceptions

\n"); print "
\n";
              app printException exceptions;
              print "
\n"; print "
\n" ) fun printPart (title, content) = ( print ("

" ^ title ^ "

\n"); print "
\n";
            print content;
            print "
\n"; print "
\n" ) fun printPartHalf (dir, title, content) = ( print ("
\n"); print ("

" ^ title ^ "

\n"); print "
\n";
            print content;
            print "
\n"; print "
\n" ) val source = escape (vectorToString source) val expected = escape (vectorToString expected) val output = escape (vectorToString output) val (expected, output) = diff print (expected, output) in print "\n"; print ("

" ^ sourcePath ^ "

\n"); printExceptions (); printPart ("source", source); printPartHalf ("left", "expected", expected); print "
\n"; printPartHalf ("right", "output", output); print "
\n"; print "" end fun printCase (context as {directory, ...} : context) (result as {sourcePath, isSameContents, source, output, expected, exceptions} : TT.caseResult) = let val pagePath as {file = pageFileName, ...} = makeHTMLFilePath directory sourcePath val pageChannel = FileChannel.openOut{fileName = PU.joinDirFile pagePath} in makeCasePage pageChannel result handle exn => (#close pageChannel (); raise exn); #close pageChannel (); context end fun printCaseResultEntry directory resultChannel (result as {sourcePath, isSameContents, source, output, expected, exceptions} : TT.caseResult) = let val print = printTo resultChannel val casePagePath as {file = casePageFileName, ...} = makeHTMLFilePath directory sourcePath in print "\n"; print ("" ^ "
" ^ sourcePath ^ "" ^ "\n"); print ("" ^ (if isSameContents then "pass" else "fail") ^ "\n"); print "\n" end fun printStatics resultChannel results = let val print = printTo resultChannel fun summary ({isSameContents, ...} : TT.caseResult, (pass, fail)) = if isSameContents then (pass + 1, fail) else (pass, fail + 1) val (pass, fail) = foldl summary (0, 0) results in print "

\n"; print (Date.toString(Date.fromTimeLocal(Time.now ())) ^ "
\n"); print ("pass: " ^ Int.toString pass ^ "
\n"); print ("fail: " ^ Int.toString fail ^ "
\n"); print "

\n" end fun printMessages resultPageChannel messages = let val print = printTo resultPageChannel in print "

\n"; app (fn message => (print message; print "\n
")) messages; print "

\n" end fun printSummary (context as {directory} : context) {messages, results} = let val resultPageChannel = FileChannel.openOut {fileName = PU.joinDirFile{dir = directory, file = "index.html"}} val print = printTo resultPageChannel in ( print "\n"; printStatics resultPageChannel results; printMessages resultPageChannel messages; print "\n"; app (printCaseResultEntry directory resultPageChannel) results; print "
\n"; print "\n" ) handle exn => (#close resultPageChannel (); raise exn); #close resultPageChannel (); context end (***************************************************************************) end smlsharp-1.2.0/test/driver/main/Main.sml0000644 000000000000000000000516612050661606020312 0ustar00rootroot0000000 0000000 (** * * @author YAMATODANI Kiyoshi * @version $Id: Main.sml,v 1.9 2007/01/26 09:33:15 kiyoshiy Exp $ *) functor Main(structure Printer : RESULT_PRINTER structure SessionMaker : SESSION_MAKER) = struct (***************************************************************************) structure C = Control structure Driver = TestDriver( structure TestCaseRunner = TestCaseRunner(SessionMaker) structure Printer = Printer ) (***************************************************************************) val libdir = SMLSharpConfiguration.LibDirectory val minimumPreludePath = libdir ^ "/" ^ SMLSharpConfiguration.MinimumPreludeFileName val PreludePath = libdir ^ "/" ^ SMLSharpConfiguration.PreludeFileName val compiledPreludePath = libdir ^ "/" ^ SMLSharpConfiguration.CompiledPreludeFileName val USAGE = "prelude expectedDirectory resultDirectory sourcePath1 ..." fun isSuffix (string, suffix) = let val stringlen = size string val suffixlen = size suffix in suffixlen <= stringlen andalso suffix = String.substring (string, stringlen - suffixlen, suffixlen) end fun main (_, prelude :: expectedDirectory :: resultDirectory :: sourcePaths) = ( GlobalCounters.stop() handle exn => raise exn; print ("prelude = [" ^ prelude ^ "]\n"); Control.switchTrace := false; C.setControlOptions "IML_" OS.Process.getEnv; VM.instTrace := false; VM.stateTrace := false; VM.heapTrace := false; Driver.runTests { prelude = if prelude = "" then compiledPreludePath else prelude, isCompiledPrelude = prelude = "" orelse isSuffix(prelude, "smc"), sourcePaths = sourcePaths, expectedDirectory = expectedDirectory, resultDirectory = resultDirectory }; OS.Process.success ) | main _ = (print USAGE; OS.Process.failure) (***************************************************************************) end structure TextMLMain = Main(structure Printer = TextResultPrinter structure SessionMaker = SessionMaker_ML) structure TextRemoteMain = Main(structure Printer = TextResultPrinter structure SessionMaker = SessionMaker_Remote) structure HTMLMLMain = Main(structure Printer = HTMLResultPrinter structure SessionMaker = SessionMaker_ML) structure HTMLRemoteMain = Main(structure Printer = HTMLResultPrinter structure SessionMaker = SessionMaker_Remote) smlsharp-1.2.0/test/driver/main/RESULT_PRINTER.sig0000644 000000000000000000000153712050661606021634 0ustar00rootroot0000000 0000000 (** * print test result into channel. * @author YAMATODANI Kiyoshi * @version $Id: RESULT_PRINTER.sig,v 1.3 2005/06/11 02:16:34 kiyoshiy Exp $ *) signature RESULT_PRINTER = sig (***************************************************************************) type context (***************************************************************************) val initialize : { (** the diretcory where formatted to be emitted.*) directory : string } -> context val finalize : context -> unit val printCase : context -> TestTypes.caseResult -> context val printSummary : context -> { (** general message *) messages : string list, (** list of test case results *) results : TestTypes.caseResult list } -> context (***************************************************************************) endsmlsharp-1.2.0/test/driver/main/RuntimeProxyFactory_General.sml0000644 000000000000000000000047512050661606025076 0ustar00rootroot0000000 0000000 structure RuntimeProxyFactory = struct val name = "General" val runtimePath = Configuration.RuntimePath val port = 12345; fun createInstance () = NetworkRuntimeProxy.initialize { runtimePath = runtimePath, arguments = [], port = 12345 } end smlsharp-1.2.0/test/driver/main/RuntimeProxyFactory_Unix.sml0000644 000000000000000000000043012050661606024433 0ustar00rootroot0000000 0000000 structure RuntimeProxyFactory = struct val name = "Unix" (* relative path from test/bin. *) val runtimePath = SMLSharpConfiguration.RuntimePath fun createInstance () = UnixProcessRuntimeProxy.initialize {runtimePath = runtimePath, arguments = []} end smlsharp-1.2.0/test/driver/main/SESSION_MAKER.sig0000644 000000000000000000000106712050661606021453 0ustar00rootroot0000000 0000000 (** * This module abstracts a session with a runtime. * * @author YAMATODANI Kiyoshi * @version $Id: SESSION_MAKER.sig,v 1.1 2005/06/15 03:10:22 kiyoshiy Exp $ *) signature SESSION_MAKER = sig (***************************************************************************) val openSession : { STDIN : ChannelTypes.InputChannel, STDOUT : ChannelTypes.OutputChannel, STDERR : ChannelTypes.OutputChannel } -> SessionTypes.Session (***************************************************************************) end; smlsharp-1.2.0/test/driver/main/SessionMaker_ML.sml0000644 000000000000000000000246112050661606022414 0ustar00rootroot0000000 0000000 (** * This module abstracts a session with a VM emulator written in SML. * * @author YAMATODANI Kiyoshi * @version $Id: SessionMaker_ML.sml,v 1.4 2005/10/24 07:28:26 kiyoshiy Exp $ *) structure SessionMaker_ML : SESSION_MAKER = struct (***************************************************************************) fun openSession {STDIN, STDOUT, STDERR} = let (* initialize virtual machine *) val heapSize = 0w100000 : BasicTypes.UInt32 val frameStackSize = 0w10000 : BasicTypes.UInt32 val handlerStackSize = 0w10000 : BasicTypes.UInt32 val globalCount = 0w10000 : BasicTypes.UInt32 val VM = VM.initialize { name = "VMEmulatorTestDriver", arguments = [], heapSize = heapSize, frameStackSize = frameStackSize, handlerStackSize = handlerStackSize, globalCount = globalCount, standardInput = STDIN, standardOutput = STDOUT, standardError = STDOUT, primitives = PrimitiveTable.map, debuggerOpt = NONE } val session = VMSession.openSession {VM = VM} in session end (***************************************************************************) end; smlsharp-1.2.0/test/driver/main/SessionMaker_Remote.sml0000644 000000000000000000000175612050661606023345 0ustar00rootroot0000000 0000000 (** * This module abstracts a session with a runtime executed in a remote process. * * @author YAMATODANI Kiyoshi * @version $Id: SessionMaker_Remote.sml,v 1.2 2005/06/17 01:30:20 kiyoshiy Exp $ *) structure SessionMaker_Remote : SESSION_MAKER = struct (***************************************************************************) fun openSession {STDIN, STDOUT, STDERR} = let val proxy = RuntimeProxyFactory.createInstance () val sessionParameter = { terminalInputChannel = STDIN, terminalOutputChannel = STDOUT, terminalErrorChannel = STDERR, runtimeProxy = proxy } val session = InteractiveSession.openSession sessionParameter in { execute = #execute session, close = fn arg => (#close session arg; #release proxy ()) } : SessionTypes.Session end (***************************************************************************) endsmlsharp-1.2.0/test/driver/main/sources.cm0000644 000000000000000000000213012050661606020701 0ustar00rootroot0000000 0000000 Group structure HTMLRemoteMain structure HTMLMLMain structure TextRemoteMain structure TextMLMain is $/basis.cm ../../../../smlnj-lib/Util/smlnj-lib.cm ../../../src/configuration/sources.cm ../../../src/compiler/toplevel/sources.cm ../../../src/compiler/session/sources.cm ../../../src/compiler/vm/sources.cm ../../../src/compiler/util/sources.cm ../../../src/compiler/pickle/sources.cm ../../../src/compiler/env/sources.cm ../../../src/compiler/name/sources.cm ../../../src/compiler/systemdef/sources.cm ../../../src/compiler/control/sources.cm Diff.sml TestTypes.sml RESULT_PRINTER.sig SESSION_MAKER.sig SessionMaker_ML.sml #if defined(structure Posix) RuntimeProxyFactory_Unix.sml #else RuntimeProxyFactory_General.sml #endif SessionMaker_Remote.sml TEST_CASE_RUNNER.sig TestCaseRunner.sml TEST_DRIVER.sig TestDriver.sml TextResultPrinter.sml HTMLResultPrinter.sml Main.sml smlsharp-1.2.0/test/driver/main/TEST_CASE_RUNNER.sig0000644 000000000000000000000116712050661606022055 0ustar00rootroot0000000 0000000 (** * * @author YAMATODANI Kiyoshi * @version $Id: TEST_CASE_RUNNER.sig,v 1.2 2007/01/26 09:33:15 kiyoshiy Exp $ *) signature TEST_CASE_RUNNER = sig (***************************************************************************) val runCase : { preludeFileName : string, preludeChannel : ChannelTypes.InputChannel, isCompiledPrelude : bool, sourceFileName : string, sourceChannel : ChannelTypes.InputChannel, resultChannel : ChannelTypes.OutputChannel } -> unit (***************************************************************************) end smlsharp-1.2.0/test/driver/main/TEST_DRIVER.sig0000644 000000000000000000000212512050661606021237 0ustar00rootroot0000000 0000000 (** * * @author YAMATODANI Kiyoshi * @version $Id: TEST_DRIVER.sig,v 1.2 2007/01/26 09:33:15 kiyoshiy Exp $ *) signature TEST_DRIVER = sig (***************************************************************************) (** * run test cases and emit results to file. * @params {prelude, sourcePaths, resultDirectory, expectedDirectory} * @param prelude path of source file which defines preludes. * @param sourcePaths list of paths of a directory where source files are or * a .sml file. All files in the directory is executed if * directory is specified. * @param expectedDirectory path of directory where files of expected * outputs are. * @param resultDirectory path of directory where results are output. * @return unit *) val runTests : { prelude : string, isCompiledPrelude : bool, sourcePaths : string list, expectedDirectory : string, resultDirectory : string } -> unit (***************************************************************************) end smlsharp-1.2.0/test/driver/main/TestCaseRunner.sml0000644 000000000000000000001244212050661606022326 0ustar00rootroot0000000 0000000 (** * * @author YAMATODANI Kiyoshi * @version $Id: TestCaseRunner.sml,v 1.27 2008/03/11 08:53:57 katsu Exp $ *) functor TestCaseRunner(SessionMaker : SESSION_MAKER) : TEST_CASE_RUNNER = struct (***************************************************************************) structure PU = PathUtility (***************************************************************************) fun getDirectory path = case PU.splitDirFile path of {dir, ...} => dir fun compilePrelude (parameter : Top.sysParam) preludePath preludeChannel = let (* val (context, compileUnitStamp) = Top.initialize () *) val (context, compileUnitStamp) = Top.initializeContextAndCompileUnitStamp () val preludeDir = getDirectory preludePath val currentSwitchTrace = !Control.switchTrace val currentPrintBinds = !Control.printBinds val _ = Control.switchTrace := false; val _ = Control.printBinds := false; val (success, newContextAndCompileUnitStamp) = Top.run context compileUnitStamp parameter { interactionMode = Top.Prelude, initialSourceChannel = preludeChannel, initialSourceName = preludePath, getBaseDirectory = fn () => preludeDir } handle e => ( #close preludeChannel (); Control.switchTrace := currentSwitchTrace; Control.printBinds := currentPrintBinds; raise e ); val _ = Control.switchTrace := currentSwitchTrace; val _ = Control.printBinds := currentPrintBinds; in newContextAndCompileUnitStamp end fun resumePrelude (parameter : Top.sysParam) preludePath preludeChannel = let val reader = { getByte = fn () => case #receive preludeChannel () of SOME byte => byte | NONE => raise Fail "unexpected EOF of library", getPos = #getPos preludeChannel, seek = #seek preludeChannel } val _ = print "restoring static environment..." val contextAndCompileUnitStamp = Top.unpickle (Pickle.makeInstream reader) handle exn => raise Fail ("malformed compiled code:" ^ exnMessage exn) val _ = print "done\n" val session = #session parameter fun execute () = case StandAloneSession.loadExecutable preludeChannel of SOME executable => (#execute session executable; execute ()) | NONE => () val _ = print "restoring dynamic environment..." val _ = execute () val _ = print "done\n" in contextAndCompileUnitStamp end fun runCase { preludeFileName, preludeChannel, isCompiledPrelude, sourceFileName, sourceChannel, resultChannel : ChannelTypes.OutputChannel } = let val _ = print ("source = [" ^ sourceFileName ^ "]\n"); val ignoreOutput = ref true fun switchFun selector channel arg = if !ignoreOutput then () else (selector channel) arg val switchOutputChannel = { send = switchFun #send resultChannel, sendArray = switchFun #sendArray resultChannel, sendVector = switchFun #sendVector resultChannel, getPos = if !ignoreOutput then NONE else (#getPos resultChannel), seek = if !ignoreOutput then NONE else (#seek resultChannel), print = switchFun #print resultChannel, flush = switchFun #flush resultChannel, close = switchFun #close resultChannel } : ChannelTypes.OutputChannel val session = SessionMaker.openSession { STDIN = TextIOChannel.openIn{inStream = TextIO.stdIn}, STDOUT = switchOutputChannel, STDERR = switchOutputChannel } val initializeParameter = { session = session, standardOutput = resultChannel, (* no output expected. *) standardError = resultChannel, loadPathList = ["."], getVariable = OS.Process.getEnv } in let val (context, compileUnitStamp) = (if isCompiledPrelude then resumePrelude else compilePrelude) initializeParameter preludeFileName preludeChannel in Control.printBinds := true; ignoreOutput := false; Top.run context compileUnitStamp initializeParameter { interactionMode = Top.NonInteractive {stopOnError = false}, initialSourceChannel = sourceChannel, initialSourceName = sourceFileName, getBaseDirectory = fn () => getDirectory sourceFileName }; #close session (); () end handle exn => (#close session (); raise exn) end (***************************************************************************) end smlsharp-1.2.0/test/driver/main/TestDriver.sml0000644 000000000000000000001711412050661606021515 0ustar00rootroot0000000 0000000 (** * * @author YAMATODANI Kiyoshi * @version $Id: TestDriver.sml,v 1.19 2007/09/20 09:05:53 matsu Exp $ *) functor TestDriver( structure TestCaseRunner : TEST_CASE_RUNNER structure Printer : RESULT_PRINTER ) : TEST_DRIVER = struct (***************************************************************************) structure CU = ChannelUtility structure PU = PathUtility structure TT = TestTypes (***************************************************************************) (** ensure finalizer is executed *) fun finally arg userFunction finalizer = ((userFunction arg) before (finalizer arg)) handle e => (finalizer arg; raise e) fun zip3 (lefts, mids, rights) = let fun collect ([], [], []) results = List.rev results | collect (left :: lefts, mid :: mids, right :: rights) results = collect (lefts, mids, rights) ((left, mid, right) :: results) | collect _ _ = raise Fail "zip3: unequal length" in collect (lefts, mids, rights) [] end fun skipWS (channel : ChannelTypes.InputChannel) = if #isEOF channel () then NONE else case #receive channel () of SOME byte => if Char.isSpace(Char.chr(Word8.toInt byte)) then skipWS channel else SOME byte | NONE => NONE fun compareChannelContents (left : ChannelTypes.InputChannel, right : ChannelTypes.InputChannel) = case (skipWS left, skipWS right) of (SOME leftByte, SOME rightByte) => if leftByte = rightByte then compareChannelContents (left, right) else false | (NONE, NONE) => true | _ => false fun closeOutputChannel (channel : ChannelTypes.OutputChannel) = #close channel () fun closeInputChannel (channel : ChannelTypes.InputChannel) = #close channel () (****************************************) fun runOneCase (preludePath, isCompiledPrelude, sourcePath, expectedPath) = let val sourceVector = finally (FileChannel.openIn {fileName = sourcePath}) CU.getAll closeInputChannel val expectedVector = finally (FileChannel.openIn {fileName = expectedPath}) CU.getAll closeInputChannel val resultArrayOptRef = ref (SOME (Word8Array.fromList [])) val exceptionsRef = ref ([] : exn list) val _ = (finally (FileChannel.openIn {fileName = sourcePath}) (fn sourceChannel => finally (ByteArrayChannel.openOut {buffer = resultArrayOptRef}) (fn resultChannel => finally (FileChannel.openIn {fileName = preludePath}) (fn preludeChannel => TestCaseRunner.runCase { preludeFileName = preludePath, preludeChannel = preludeChannel, isCompiledPrelude = isCompiledPrelude, sourceFileName = sourcePath, sourceChannel = sourceChannel, resultChannel = resultChannel }) closeInputChannel) closeOutputChannel) closeInputChannel) (* handle error => raise error *) handle error => exceptionsRef := (error :: (!exceptionsRef)) val resultArray = valOf(!resultArrayOptRef) (* ToDo : comparison should be done in ResultPrinter, not here ?? *) val isSameContents = finally (ByteArrayChannel.openIn {buffer = resultArray}) (fn resultChannel => finally (ByteVectorChannel.openIn {buffer = expectedVector}) (fn expectedChannel => compareChannelContents (resultChannel, expectedChannel)) closeInputChannel) closeInputChannel in { sourcePath = sourcePath, isSameContents = isSameContents, source = sourceVector, output = Word8ArraySlice.vector (Word8ArraySlice.slice (resultArray, 0, NONE)), expected = expectedVector, exceptions = ! exceptionsRef } : TT.caseResult end fun isSourceFile fileName = case PU.splitBaseExt fileName of {ext = SOME "sml", ...} => true | _ => false fun collectSourcePathNamePairs sourcePath = let val (sourceDirectory, sourceNames) = if OS.FileSys.isDir sourcePath then (* files in dir *) let val sourceNames = PU.collectFilesInDir isSourceFile sourcePath val map = foldr (fn (name, map) => SEnv.insert (map, name, name)) SEnv.empty sourceNames val sortedSourceNames = SEnv.listItems map in (sourcePath, sortedSourceNames) end else (* single file. *) if isSourceFile sourcePath then let val {dir, file} = PU.splitDirFile sourcePath in (dir, [file]) end else raise Fail ("not directory nor .sml file:" ^ sourcePath) in map (fn sourceName => {dir = sourceDirectory, file = sourceName}) sourceNames end fun runTests { prelude, isCompiledPrelude, sourcePaths, expectedDirectory, resultDirectory } = let val _ = print ("prelude = [" ^ prelude ^ "]\n") val _ = print ("isCompildePrelude = [" ^ Bool.toString isCompiledPrelude ^ "]\n") val printerContext = Printer.initialize {directory = resultDirectory} val messagesRef = ref ([] : string list) fun replaceExt ext fileName = case PU.splitBaseExt fileName of {base, ...} => PU.joinBaseExt{base = base, ext = SOME ext} val sourceDirNames = List.concat(map collectSourcePathNamePairs sourcePaths) val (printerContext, resultOptsRev) = foldl (fn (sourceDirFile as {file, ...}, (printerContext, resultOpts)) => let val sourcePath = PU.joinDirFile sourceDirFile val expectedPath = PU.joinDirFile {dir = expectedDirectory, file = replaceExt "out" file} val result = runOneCase (prelude, isCompiledPrelude, sourcePath, expectedPath) val printerContext = Printer.printCase printerContext result in (printerContext, SOME result :: resultOpts) end handle error as IO.Io _ => ( messagesRef := (exnMessage error) :: (!messagesRef); (printerContext, NONE :: resultOpts) )) (printerContext, []) sourceDirNames val results = List.rev(List.map valOf (List.filter isSome resultOptsRev)) in Printer.printSummary printerContext { messages = List.rev (!messagesRef), results = results }; Printer.finalize printerContext end (***************************************************************************) end smlsharp-1.2.0/test/driver/main/TestTypes.sml0000644 000000000000000000000105512050661606021363 0ustar00rootroot0000000 0000000 (** * * @author YAMATODANI Kiyoshi * @version $Id: TestTypes.sml,v 1.3 2007/02/19 14:11:56 kiyoshiy Exp $ *) structure TestTypes = struct (***************************************************************************) type caseResult = { sourcePath : string, isSameContents : bool, source : Word8Vector.vector, output : Word8Vector.vector, expected : Word8Vector.vector, exceptions : exn list } (***************************************************************************) endsmlsharp-1.2.0/test/driver/main/TextResultPrinter.sml0000644 000000000000000000000507012050661606023107 0ustar00rootroot0000000 0000000 (** * * @author YAMATODANI Kiyoshi * @version $Id: TextResultPrinter.sml,v 1.8 2007/12/15 07:27:50 kiyoshiy Exp $ *) structure TextResultPrinter : RESULT_PRINTER = struct (***************************************************************************) structure TT = TestTypes structure PU = PathUtility (***************************************************************************) type context = ChannelTypes.OutputChannel (***************************************************************************) fun printTo (channel : ChannelTypes.OutputChannel) text = #print channel text val subSectionSeparator = "\n------------------------------------------------------------\n" val sectionSeparator = "\n============================================================\n" fun initialize {directory} = let val resultChannel = FileChannel.openOut {fileName = PU.joinDirFile{dir = directory, file = "result.txt"}} in resultChannel end fun finalize (resultChannel : context) = #close resultChannel () fun printCase (resultChannel : context) ({sourcePath, isSameContents, source, output, expected, exceptions} : TT.caseResult) = let val print = printTo resultChannel in app print [sourcePath, " : ", if isSameContents then "pass" else "fail", "\n"]; if false = isSameContents then ( print subSectionSeparator; print "SOURCE:\n"; #sendVector resultChannel source; print subSectionSeparator; print "OUTPUT:\n"; #sendVector resultChannel output; print sectionSeparator ) else (); resultChannel end fun printSummary (resultChannel : context) {messages, results : TT.caseResult list} = let val cases = List.length results val successes = List.length (List.filter (fn result => #isSameContents result) results) val fails = cases - successes in printTo resultChannel ("cases:" ^ Int.toString cases ^ ", " ^ "success:" ^ Int.toString successes ^ ", " ^ "fail:" ^ Int.toString fails); printTo resultChannel sectionSeparator; app (fn message => printTo resultChannel (message ^ "\n")) messages; printTo resultChannel sectionSeparator; resultChannel end (***************************************************************************) endsmlsharp-1.2.0/test/original_README0000644 000000000000000000001116512050661606017232 0ustar00rootroot0000000 0000000 SML/NJ Regression Testing ========================= This directoy contains regression test suites and shell scripts for running them. There are 5 active test suites, found in the directories: coresml core SML tests (based on tests from Peter Sestoft) typing type checking modules modules bugs bug tests basis Basis tests (based on tests from Peter Sestoft) [Note: filesys] (the sixth directory, "printing", is not currently active). Each test suite directory contains two subdirectories tests source files for tests outputs corresponding output files [Note: output variants] and a file openbugs that lists test files with known problems in the current version of SML/NJ (i.e. known regression failures). [Note!: basis/tests setup] Scripts: bin/testml.sh - performs tests in a suite bin/process.sh - generates report of results bin/dotest.sh - combines testml.sh and process.sh bin/doallseq.sh - performs all suites one after another bin/doallpar.sh - performs all suites in parallel Normally one will execute one of dotest.sh, doallseq.sh. or doallpar.sh. The scripts are designed not to interfere with one another, so that test suites can be executed concurrently on a given architecture, and also on multiple machines (or varying architectures) sharing the file system containing this directory. For a particular architecture and operating system, arch-os, bin/testml.sh produces a file /LOG.arch-os and a directory /bad.arch-os. process.sh then produces a file /RESULTS.arch-os. Before running a regression test suite, any old copies of these files and directories should be removed (if not, the scripts will complain). -------------------------------------------------------------------- bin/dotest.sh [-diff] [-sml ] - run tests in the name of the test suite to be run (coresml, typing, etc). -sml : the sml command to be used (e.g. "/usr/local/sml/bin/sml"). If this option is not supplied, the value of shell variable SML is used instead, and if that is not defined, the default command name "/usr/local/sml/bin/sml" is used. -diff this option causes the diff between the test output and the corresponding reference output (in /outputs) to be used in the RESULT file, overriding the default behavior, which is to include the old and new outputs in full. -------------------------------------------------------------------- bin/doallseq.sh [-sml ] - run all suites sequentially bin/doallpar.sh [-sml ] - run all suites in parallel -sml : the sml command to be used (e.g. "/usr/local/sml/bin/sml"). If this option is not supplied, the value of shell variable SML is used instead, and if that is not defined, the default command name "/usr/local/sml/bin/sml" is used. -------------------------------------------------------------------- Example: (with the testing directory as current working directory) rm -rf bugs/LOG.sparc-solaris bugs/bad.sparc-solaris bugs/RESULTS.sparc-solaris (or just rm -rf bugs/*.sparc-solaris) bin/dotest.sh bugs -diff -sml /usr/local/sml/110/bin/sml Then review the bugs/RESULTS.sparc-solaris file to see if there are any discrepancies, which could be unexpected failures or bug fixes. -------------------------------------------------------------------- Notes ----- [filesys] The test basis/tests/filesys.sml is sensitive to file permissions and may produce spurious failures ("EXN" instead of "OK") if the tester is not the owner of the files in basis/tests. [basis/tests setup] After you have created tests directory (say by checking out from the Yale CVS repository), be sure to read the instructions in tests/basis/tests/README. This file explains how to set up some symbolic and hard links needed by the filesys.sml test. [output variants] There are actually two versions of the outputs directory for each test suite. These are named outputs.pre-110.5 outputs.post-110.5 The first of these should be used for testing versions before 110.5, while the second should be used for versions >= 110.5. Before running any of the test scripts, output should be defined as a symbolic link to one of these two directories. E.g. if testing 110.0.6, in each test suite directory do: rm outputs ln -s outputs.pre-110.5 outputs The reason for the two versions of outputs is that printing changed with 110.5 and there is an extra blank line at the end of each output file. Authors: Dave MacQueen , Lal George smlsharp-1.2.0/test/README0000644 000000000000000000000206212050661606015342 0ustar00rootroot0000000 0000000 Compiler Test Suite This directoy contains regression test suites and shell scripts for running them. There are 4 active test suites, found in the directories: coresml core SML tests (based on tests from Peter Sestoft) modules modules bugs bug tests basis Basis tests Each test suite directory contains two subdirectories tests source files for tests outputs corresponding output files ======================================== The driver is in the driver directory. To run the test, follow this procedure: To run one test suite: $ cd bin/ $ ./runtest.sh -html coresml To run one test case: $ cd bin/ $ ./runonetest.sh -html coresml abstype001.sml If you configured SML# at a directory other than iml3/SMLSharp/, you have to specify TOP_BUILDDIR environment. $ env TOP_BUILDDIR=/home/yamato/iml3/SMLSharp/release ./runtest.sh ... ======================================== This test suit is originally a product of the SML/NJ developer team. The original README document is "original_README" in this directory. smlsharp-1.2.0/test/tests0000755 000000000000000000000000012050661606015545 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/test/tests/basis0000755 000000000000000000000000012050661606016646 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/test/tests/basis/outputs0000755 000000000000000000000000012050661606020371 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/test/tests/basis/outputs/Array001.out0000644 000000000000000000001424612050661606022507 0ustar00rootroot0000000 0000000 val L2A = fn : ['a .'a list -> 'a Array.array] val L2V = fn : ['a .'a list -> 'a Vector.vector] val S2A = fn : string -> char Array.array val A2L = fn : ['a .'a Array.array -> 'a list] val V2L = fn : ['a .'a Vector.vector -> 'a list] val array_0i = [] : int list val array_0r = [] : real list val array_0ii = [] : (int * int) list val array_1i = [1] : int list val array_1r = [1.23] : real list val array_1ii = [(1,2)] : (int * int) list val array_2i = [1,1] : int list val array_2r = [1.23,1.23] : real list val array_2ii = [(1,2),(1,2)] : (int * int) list val array_m1i = [999] : int list val fromList_0i = [] : int list val fromList_0r = [] : real list val fromList_0ii = [] : (int * int) list val fromList_1i = [1] : int list val fromList_1r = [1.23] : real list val fromList_1ii = [(1,2)] : (int * int) list val fromList_2i = [1,2] : int list val fromList_2r = [1.23,2.34] : real list val fromList_2ii = [(1,2),(3,4)] : (int * int) list val tabulateFun = fn : ['a .'a -> 'a] val tabulate0 = [] : int list val tabulate1 = [0] : int list val tabulate2 = [0,1] : int list val tabulatem1 = [999] : int list val length1 = 0 : int val length2 = 1 : int val length3 = 2 : int val sub00 = 1 : int val sub0m1 = 1 : int val sub01 = 1 : int val sub10 = 1 : int val sub11 = 1 : int val sub1m1 = 1 : int val sub20 = 1 : int val sub21 = 2 : int val sub22 = 3 : int val testUpdate = fn : ['a .'a Array.array * int * 'a -> 'a list] val update00 = [1] : int list val update0m1 = [1] : int list val update01 = [1] : int list val update10 = [9] : int list val update11 = [999] : int list val update1m1 = [999] : int list val update20 = [9,2] : int list val update21 = [1,9] : int list val update22 = [999] : int list val vector_0 = [] : int list val vector_1 = [1] : int list val vector_2 = [1,2] : int list val testCopy = fn : ['a .'a Array.array * 'a Array.array * int -> 'a list * 'a list] val copy_0_3_0 = ([],[9,8,7]) : int list * int list val copy_1_3_0 = ([1],[1,8,7]) : int list * int list val copy_2_3_0 = ([1,2],[1,2,7]) : int list * int list val copy_3_0_0 = ([~1],[~1]) : int list * int list val copy_3_1_0 = ([~1],[~1]) : int list * int list val copy_3_2_0 = ([~1],[~1]) : int list * int list val copy_3_3_0 = ([1,2,3],[1,2,3]) : int list * int list val copy_3_4_0 = ([1,2,3],[1,2,3,6]) : int list * int list val copy_3_4_m1 = ([~1],[~1]) : int list * int list val copy_3_4_0 = ([1,2,3],[1,2,3,6]) : int list * int list val copy_3_4_1 = ([1,2,3],[9,1,2,3]) : int list * int list val copy_3_4_2 = ([~1],[~1]) : int list * int list val testCopyVec = fn : ['a .'a Vector.vector * 'a Array.array * int -> 'a list * 'a list] val copyVec_0_3_0 = ([],[9,8,7]) : int list * int list val copyVec_1_3_0 = ([1],[1,8,7]) : int list * int list val copyVec_2_3_0 = ([1,2],[1,2,7]) : int list * int list val copyVec_3_0_0 = ([~1],[~1]) : int list * int list val copyVec_3_1_0 = ([~1],[~1]) : int list * int list val copyVec_3_2_0 = ([~1],[~1]) : int list * int list val copyVec_3_3_0 = ([1,2,3],[1,2,3]) : int list * int list val copyVec_3_4_0 = ([1,2,3],[1,2,3,6]) : int list * int list val copyVec_3_4_m1 = ([~1],[~1]) : int list * int list val copyVec_3_4_0 = ([1,2,3],[1,2,3,6]) : int list * int list val copyVec_3_4_1 = ([1,2,3],[9,1,2,3]) : int list * int list val copyVec_3_4_2 = ([~1],[~1]) : int list * int list val appiFun = fn : int * char -> unit val appi_0 = SOME () : unit option 0aval appi_1 = SOME () : unit option 0a1bval appi_2 = SOME () : unit option val appFun = fn : string -> unit val app0 = () : unit aval app1 = () : unit abval app2 = () : unit abcval app3 = () : unit val modifyiFun = fn : int * char -> Char.char val testModifyi = fn : char Array.array -> char list val modifyi_0 = [] : char list 0val modifyi_1 = [#"A"] : char list 01val modifyi_2 = [#"A",#"B"] : char list val modifyFun = fn : int -> int val testModify = fn : int Array.array -> int list val modify0 = [] : int list 1val modify1 = [2] : int list 12val modify2 = [2,3] : int list 123val modify3 = [2,3,4] : int list val foldliFun = fn : ['a .int * 'a * 'a list -> 'a list] val foldli_0 = [] : char list 0val foldli_1 = [#"a"] : char list 01val foldli_2 = [#"b",#"a"] : char list val foldlFun = fn : ['a .'a * 'a list -> 'a list] val foldl0 = [] : int list val foldl1 = [1] : int list val foldl2 = [2,1] : int list val foldl3 = [3,2,1] : int list val foldriFun = fn : ['a .int * 'a * 'a list -> 'a list] val foldri_0 = [] : char list 0val foldri_1 = [#"a"] : char list 10val foldri_2 = [#"a",#"b"] : char list val foldrFun = fn : ['a .'a * 'a list -> 'a list] val foldr0 = [] : int list val foldr1 = [1] : int list val foldr2 = [1,2] : int list val foldr3 = [1,2,3] : int list val findiFun = fn : int * char -> bool val findi_0 = NONE : (int * char) option 0val findi_1F = NONE : (int * char) option 0val findi_1T = SOME (0,#"x") : (int * char) option 01val findi_2F = NONE : (int * char) option 01val findi_2T1 = SOME (1,#"x") : (int * char) option 0val findi_2T2 = SOME (0,#"x") : (int * char) option 0val findi_2T3 = SOME (0,#"x") : (int * char) option val findFun = fn : char -> bool val find_0 = NONE : char option aval find_1F = NONE : char option xval find_1T = SOME #"x" : char option abval find_2F = NONE : char option axval find_2T1 = SOME #"x" : char option xval find_2T2 = SOME #"x" : char option xval find_2T3 = SOME #"x" : char option val existsFun = fn : char -> bool val exists_0 = false : bool aval exists_1F = false : bool xval exists_1T = true : bool abval exists_2F = false : bool axval exists_2T1 = true : bool xval exists_2T2 = true : bool xval exists_2T3 = true : bool val allFun = fn : char -> bool val all_0 = true : bool aval all_1F = false : bool xval all_1T = true : bool aval all_2F1 = false : bool aval all_2F2 = false : bool xaval all_2F3 = false : bool xxval all_2T = true : bool val collateFun = fn : int * int -> General.order val collate00 = EQUAL : order val collate01 = LESS : order val collate10 = GREATER : order val collate11L = LESS : order val collate11E = EQUAL : order val collate11G = GREATER : order val collate12L = LESS : order val collate12G = GREATER : order val collate21L = LESS : order val collate21G = GREATER : order val collate22L1 = LESS : order val collate22L2 = LESS : order val collate22E = EQUAL : order val collate22G1 = GREATER : order val collate22G2 = GREATER : order smlsharp-1.2.0/test/tests/basis/outputs/ArraySlice001.out0000644 000000000000000000000475512050661606023473 0ustar00rootroot0000000 0000000 structure AS : ARRAY_SLICE structure A : ARRAY structure VS : VECTOR_SLICE structure V : VECTOR val Ints2AS = fn : int list -> int AS.slice val Ints2VS = fn : int list -> int VS.slice val S2AS = fn : string -> char AS.slice val AS2L = fn : ['a .'a AS.slice -> 'a list] val VS2L = fn : ['a .'a VS.slice -> 'a list] val V2L = fn : ['a .'a A.array -> 'a list] val L2V = fn : ['a .'a list -> 'a Vector.vector] val A2L = fn : ['a .'a Array.array -> 'a list] val L2A = fn : ['a .'a list -> 'a Array.array] val makeArray = fn : int -> int A.array val testUpdate = fn : int * int * int * int -> int list * int list val update_0_0_0_0 = ([999],[999]) : int list * int list val update_1_0_1_0 = ( [9], [9] ) : int list * int list val update_1_0_1_1 = ( [999], [999] ) : int list * int list val update_5_1_3_m1 = ([999],[999]) : int list * int list val update_5_1_3_0 = ( [0,9,2,3,4], [9,2,3] ) : int list * int list val update_5_1_3_2 = ([0,1,2,9,4],[1,2,9]) : int list * int list val update_5_1_3_3 = ( [999], [999] ) : int list * int list val testCopy = fn : int AS.slice * int Array.array * int -> int list * int list val copy_0_3_0 = ([],[9,8,7]) : int list * int list val copy_1_3_0 = ([1],[1,8,7]) : int list * int list val copy_2_3_0 = ([1,2],[1,2,7]) : int list * int list val copy_3_0_0 = ([~1],[~1]) : int list * int list val copy_3_1_0 = ([~1],[~1]) : int list * int list val copy_3_2_0 = ([~1],[~1]) : int list * int list val copy_3_3_0 = ([1,2,3],[1,2,3]) : int list * int list val copy_3_4_0 = ([1,2,3],[1,2,3,6]) : int list * int list val copy_3_4_m1 = ([~1],[~1]) : int list * int list val copy_3_4_0 = ([1,2,3],[1,2,3,6]) : int list * int list val copy_3_4_1 = ([1,2,3],[9,1,2,3]) : int list * int list val copy_3_4_2 = ([~1],[~1]) : int list * int list val testCopyVec = fn : int VS.slice * int Array.array * int -> int list * int list val copyVec_0_3_0 = ([],[9,8,7]) : int list * int list val copyVec_1_3_0 = ([1],[1,8,7]) : int list * int list val copyVec_2_3_0 = ([1,2],[1,2,7]) : int list * int list val copyVec_3_0_0 = ([~1],[~1]) : int list * int list val copyVec_3_1_0 = ([~1],[~1]) : int list * int list val copyVec_3_2_0 = ([~1],[~1]) : int list * int list val copyVec_3_3_0 = ([1,2,3],[1,2,3]) : int list * int list val copyVec_3_4_0 = ([1,2,3],[1,2,3,6]) : int list * int list val copyVec_3_4_m1 = ([~1],[~1]) : int list * int list val copyVec_3_4_0 = ([1,2,3],[1,2,3,6]) : int list * int list val copyVec_3_4_1 = ([1,2,3],[9,1,2,3]) : int list * int list val copyVec_3_4_2 = ([~1],[~1]) : int list * int list smlsharp-1.2.0/test/tests/basis/outputs/Bool001.out0000644 000000000000000000000222412050661606022315 0ustar00rootroot0000000 0000000 val not_true = false : Bool.bool val not_false = true : Bool.bool val fromString_empty = NONE : Bool.bool option val fromString_true = SOME true : Bool.bool option val fromString_false = SOME false : Bool.bool option val fromString_space_true = SOME true : Bool.bool option val fromString_TRUE = NONE : Bool.bool option val fromString_FALSE = NONE : Bool.bool option val fromString_true_trailer = SOME true : Bool.bool option val checkScanResult = fn : ['a. ('a * Substring.substring) option -> ('a * Substring.string) option] val checkScan = fn : string -> (Bool.bool * Substring.string) option val scan_empty = NONE : (Bool.bool * Substring.string) option val scan_true = SOME (true, "") : (Bool.bool * Substring.string) option val scan_false = SOME (false, "") : (Bool.bool * Substring.string) option val scan_space_true = SOME (true, "") : (Bool.bool * Substring.string) option val scan_TRUE = NONE : (Bool.bool * Substring.string) option val scan_FALSE = NONE : (Bool.bool * Substring.string) option val scan_true_trailer = SOME (true, "false") : (Bool.bool * Substring.string) option val toString_true = "true" : string val toString_false = "false" : string smlsharp-1.2.0/test/tests/basis/outputs/Byte001.out0000644 000000000000000000000240412050661606022325 0ustar00rootroot0000000 0000000 structure AS : MONO_ARRAY_SLICE structure A : MONO_ARRAY structure VS : MONO_VECTOR_SLICE structure V : MONO_VECTOR val L2AS = fn : byte list -> AS.slice val L2VS = fn : byte list -> VS.slice val AS2L = fn : AS.slice -> byte list val VS2L = fn : VS.slice -> byte list val V2L = fn : V.vector -> byte list val L2V = fn : V.elem list -> V.vector val A2L = fn : A.array -> byte list val L2A = fn : A.elem list -> A.array val makeArray = fn : int -> A.array val byteToChar_1 = #"a" : char val charToByte_1 = 0wx61 : Word8.word val bytesToString_0 = "" : string val bytesToString_1 = "a" : string val stringToBytes_0 = [] : byte list val stringToBytes_1 = [0wx61] : byte list val unpackStringVec_0 = "" : string val unpackStringVec_1 = "a" : string val unpackString_0 = "" : string val unpackString_1 = "a" : string val testPackString = fn : int * int * string -> byte list val packString_000 = [] : byte list val packString_3m11 = [0wx9] : byte list val packString_301 = [0wx61,0wx1,0wx2] : byte list val packString_311 = [0wx0,0wx61,0wx2] : byte list val packString_321 = [0wx0,0wx1,0wx61] : byte list val packString_331 = [0wx9] : byte list val packString_302 = [0wx61,0wx62,0wx2] : byte list val packString_312 = [0wx0,0wx61,0wx62] : byte list val packString_322 = [0wx9] : byte listsmlsharp-1.2.0/test/tests/basis/outputs/Char001.out0000644 000000000000000000001632312050661606022304 0ustar00rootroot0000000 0000000 val minChar0 = true : bool val maxChar0 = true : bool val maxOrd0 = true : bool val ord0 = 0 : int val ord1 = 1 : int val chr064 = #"@" : Char.char val chr_minus = #"a" : Char.char val chr_max = #"a" : Char.char val succ_A = #"B" : Char.char val succ_min = #"\^A" : Char.char val succ_max = #"a" : Char.char val pred_A = #"@" : Char.char val pred_min = #"a" : Char.char val pred_max = #"\254" : Char.char val lt_lt = true : bool val lt_eq = false : bool val lt_gt = false : bool val lteq_lt = true : bool val lteq_eq = true : bool val lteq_gt = false : bool val gt_lt = false : bool val gt_eq = false : bool val gt_gt = true : bool val gteq_lt = false : bool val gteq_eq = true : bool val gteq_gt = true : bool val compare_lt = LESS : order val compare_eq = EQUAL : order val compare_gt = GREATER : order val contains_null = false : bool val contains_f = false : bool val contains_t = true : bool val contains_ff = false : bool val contains_ft = true : bool val contains_tf = true : bool val contains_ftf = true : bool val contains_tft = true : bool val notContains_null = true : bool val notContains_f = true : bool val notContains_t = false : bool val notContains_ff = true : bool val notContains_ft = false : bool val notContains_tf = false : bool val notContains_ftf = false : bool val notContains_tft = false : bool val toLower_A = #"a" : Char.char val toLower_Z = #"z" : Char.char val toLower_a = #"a" : Char.char val toLower_z = #"z" : Char.char val toLower_AT = #"@" : Char.char val toLower_LQ = #"[" : Char.char val toLower_BQ = #"`" : Char.char val toLower_LB = #"{" : Char.char val toUpper_A = #"A" : Char.char val toUpper_Z = #"Z" : Char.char val toUpper_a = #"A" : Char.char val toUpper_z = #"Z" : Char.char val toUpper_AT = #"@" : Char.char val toUpper_LQ = #"[" : Char.char val toUpper_BQ = #"`" : Char.char val toUpper_LB = #"{" : Char.char val isAlpha_A = true : bool val isAlpha_Z = true : bool val isAlpha_a = true : bool val isAlpha_z = true : bool val isAlpha_0 = false : bool val isAlpha_9 = false : bool val isAlpha_F = true : bool val isAlpha_AT = false : bool val isAlpha_LQ = false : bool val isAlpha_BQ = false : bool val isAlpha_LB = false : bool val fromString_empty = NONE : Char.char option val fromString_A = SOME #"A" : Char.char option val fromString_ABC = SOME #"A" : Char.char option val fromString_alert = SOME #"\a" : Char.char option val fromString_backspace = SOME #"\b" : Char.char option val fromString_tab = SOME #"\t" : Char.char option val fromString_linefeed = SOME #"\n" : Char.char option val fromString_vtab = SOME #"\v" : Char.char option val fromString_formfeed = SOME #"\f" : Char.char option val fromString_return = SOME #"\r" : Char.char option val fromString_backslash = SOME #"\\" : Char.char option val fromString_dquote = SOME #"\"" : Char.char option val fromString_ctrl064 = SOME #"\^@" : Char.char option val fromString_ctrl095 = SOME #"\^_" : Char.char option val fromString_dec000 = SOME #"\^@" : Char.char option val fromString_dec255 = SOME #"\255" : Char.char option val fromString_multiBySpace = SOME #"d" : Char.char option val fromString_multiByTab = SOME #"d" : Char.char option val fromString_multiByNewline = SOME #"d" : Char.char option val fromString_multiByFormfeed = SOME #"d" : Char.char option val fromString_invalidEscape = NONE : Char.char option val scanTest = fn : string -> (Char.char * char list) option val scan_empty = NONE : (Char.char * char list) option val scan_A = SOME (#"A", []) : (Char.char * char list) option val scan_ABC = SOME (#"A", [#"B", #"C"]) : (Char.char * char list) option val scan_alert = SOME (#"\a", []) : (Char.char * char list) option val scan_backspace = SOME (#"\b", []) : (Char.char * char list) option val scan_tab = SOME (#"\t", []) : (Char.char * char list) option val scan_linefeed = SOME (#"\n", []) : (Char.char * char list) option val scan_vtab = SOME (#"\v", []) : (Char.char * char list) option val scan_formfeed = SOME (#"\f", []) : (Char.char * char list) option val scan_return = SOME (#"\r", []) : (Char.char * char list) option val scan_backslash = SOME (#"\\", []) : (Char.char * char list) option val scan_dquote = SOME (#"\"", []) : (Char.char * char list) option val scan_ctrl064 = SOME (#"\^@", []) : (Char.char * char list) option val scan_ctrl095 = SOME (#"\^_", []) : (Char.char * char list) option val scan_dec000 = SOME (#"\^@", []) : (Char.char * char list) option val scan_dec255 = SOME (#"\255", []) : (Char.char * char list) option val scan_multiBySpace = SOME (#"d", [#"e", #"f"]) : (Char.char * char list) option val scan_multiByTab = SOME (#"d", [#"e", #"f"]) : (Char.char * char list) option val scan_multiByNewline = SOME (#"d", [#"e", #"f"]) : (Char.char * char list) option val scan_multiByFormfeed = SOME (#"d", [#"e", #"f"]) : (Char.char * char list) option val scan_invalidEscape = NONE : (Char.char * char list) option val toString_A = "A" : String.string val toString_alert = "\\a" : String.string val toString_backspace = "\\b" : String.string val toString_tab = "\\t" : String.string val toString_linefeed = "\\n" : String.string val toString_vtab = "\\v" : String.string val toString_formfeed = "\\f" : String.string val toString_return = "\\r" : String.string val toString_backslash = "\\\\" : String.string val toString_dquote = "\\\"" : String.string val toString_ctrl064 = "\\^@" : String.string val toString_ctrl095 = "\\^_" : String.string val toString_dec000 = "\\^@" : String.string val toString_dec255 = "\\255" : String.string val toCString_A = "A" : String.string val toCString_alert = "\\a" : String.string val toCString_backspace = "\\b" : String.string val toCString_tab = "\\t" : String.string val toCString_linefeed = "\\n" : String.string val toCString_vtab = "\\v" : String.string val toCString_formfeed = "\\f" : String.string val toCString_return = "\\r" : String.string val toCString_backslash = "\\\\" : String.string val toCString_dquote = "\\\"" : String.string val toCString_squote = "\\'" : String.string val toCString_question = "\\?" : String.string val toCString_ctrl064 = "\\000" : String.string val toCString_ctrl095 = "\\037" : String.string val toCString_dec000 = "\\000" : String.string val toCString_dec255 = "\\377" : String.string val fromCString_empty = NONE : Char.char option val fromCString_A = SOME #"A" : Char.char option val fromCString_ABC = SOME #"A" : Char.char option val fromCString_alert = SOME #"\a" : Char.char option val fromCString_backspace = SOME #"\b" : Char.char option val fromCString_tab = SOME #"\t" : Char.char option val fromCString_linefeed = SOME #"\n" : Char.char option val fromCString_vtab = SOME #"\v" : Char.char option val fromCString_formfeed = SOME #"\f" : Char.char option val fromCString_return = SOME #"\r" : Char.char option val fromCString_backslash = SOME #"\\" : Char.char option val fromCString_dquote = SOME #"\"" : Char.char option val fromCString_squote = SOME #"'" : Char.char option val fromCString_question = SOME #"?" : Char.char option val fromCString_ctrl064 = SOME #"\^@" : Char.char option val fromCString_ctrl095 = SOME #"\^_" : Char.char option val fromCString_oct000 = SOME #"\^@" : Char.char option val fromCString_oct101 = SOME #"A" : Char.char option val fromCString_hex00 = SOME #"\^@" : Char.char option val fromCString_hex7e = SOME #"~" : Char.char option val fromCString_hex7E = SOME #"~" : Char.char option smlsharp-1.2.0/test/tests/basis/outputs/CharArray001.out0000644 000000000000000000001507012050661606023301 0ustar00rootroot0000000 0000000 val L2A = fn : CharArray.elem list -> CharArray.array val L2V = fn : CharVector.elem list -> CharVector.vector val S2A = fn : string -> CharArray.array val A2L = fn : CharArray.array -> char list val V2L = fn : string -> char list val array_0i = [] : char list val array_1i = [#"a"] : char list val array_2i = [#"a", #"a"] : char list val array_m1i = [#"X"] : char list val fromList_0i = [] : char list val fromList_1i = [#"a"] : char list val fromList_2i = [#"a", #"b"] : char list val tabulateFun = fn : int -> Char.char val tabulate0 = [] : char list val tabulate1 = [#"\^@"] : char list val tabulate2 = [#"\^@", #"\^A"] : char list val tabulatem1 = [#"X"] : char list val length1 = 0 : int val length2 = 1 : int val length3 = 2 : int val sub00 = #"X" : CharArray.elem val sub0m1 = #"X" : CharArray.elem val sub01 = #"X" : CharArray.elem val sub10 = #"a" : CharArray.elem val sub11 = #"X" : CharArray.elem val sub1m1 = #"X" : CharArray.elem val sub20 = #"a" : CharArray.elem val sub21 = #"b" : CharArray.elem val sub22 = #"X" : CharArray.elem val testUpdate = fn : CharArray.array * int * char -> char list val update00 = [#"a"] : char list val update0m1 = [#"a"] : char list val update01 = [#"a"] : char list val update10 = [#"A"] : char list val update11 = [#"X"] : char list val update1m1 = [#"X"] : char list val update20 = [#"A", #"b"] : char list val update21 = [#"a", #"A"] : char list val update22 = [#"X"] : char list val vector_0 = "" : CharArray.vector val vector_1 = "a" : CharArray.vector val vector_2 = "ab" : CharArray.vector val testCopy = fn : CharArray.array * CharArray.array * int -> char list * char list val copy_0_3_0 = ([], [#"z", #"y", #"x"]) : char list * char list val copy_1_3_0 = ([#"a"], [#"a", #"y", #"x"]) : char list * char list val copy_2_3_0 = ([#"a", #"b"], [#"a", #"b", #"x"]) : char list * char list val copy_3_0_0 = ([#"X"], [#"X"]) : char list * char list val copy_3_1_0 = ([#"X"], [#"X"]) : char list * char list val copy_3_2_0 = ([#"X"], [#"X"]) : char list * char list val copy_3_3_0 = ([#"a", #"b", #"c"], [#"a", #"b", #"c"]) : char list * char list val copy_3_4_0 = ([#"a", #"b", #"c"], [#"a", #"b", #"c", #"w"]) : char list * char list val copy_3_4_m1 = ([#"X"], [#"X"]) : char list * char list val copy_3_4_0 = ([#"a", #"b", #"c"], [#"a", #"b", #"c", #"w"]) : char list * char list val copy_3_4_1 = ([#"a", #"b", #"c"], [#"z", #"a", #"b", #"c"]) : char list * char list val copy_3_4_2 = ([#"X"], [#"X"]) : char list * char list val testCopyVec = fn : string * CharArray.array * int -> char list * char list val copyVec_0_3_0 = ([], [#"z", #"y", #"x"]) : char list * char list val copyVec_1_3_0 = ([#"a"], [#"a", #"y", #"x"]) : char list * char list val copyVec_2_3_0 = ([#"a", #"b"], [#"a", #"b", #"x"]) : char list * char list val copyVec_3_0_0 = ([#"X"], [#"X"]) : char list * char list val copyVec_3_1_0 = ([#"X"], [#"X"]) : char list * char list val copyVec_3_2_0 = ([#"X"], [#"X"]) : char list * char list val copyVec_3_3_0 = ([#"a", #"b", #"c"], [#"a", #"b", #"c"]) : char list * char list val copyVec_3_4_0 = ([#"a", #"b", #"c"], [#"a", #"b", #"c", #"w"]) : char list * char list val copyVec_3_4_m1 = ([#"X"], [#"X"]) : char list * char list val copyVec_3_4_0 = ([#"a", #"b", #"c"], [#"a", #"b", #"c", #"w"]) : char list * char list val copyVec_3_4_1 = ([#"a", #"b", #"c"], [#"z", #"a", #"b", #"c"]) : char list * char list val copyVec_3_4_2 = ([#"X"], [#"X"]) : char list * char list val appiFun = fn : int * char -> unit val appi_0 = SOME () : unit option 0aval appi_1 = SOME () : unit option 0a1bval appi_2 = SOME () : unit option val appFun = fn : char -> unit val app0 = () : unit aval app1 = () : unit abval app2 = () : unit abcval app3 = () : unit val modifyiFun = fn : int * char -> Char.char val testModifyi = fn : CharArray.array -> char list val modifyi_0 = [] : char list 0val modifyi_1 = [#"A"] : char list 01val modifyi_2 = [#"A", #"B"] : char list val modifyFun = fn : char -> Char.char val testModify = fn : CharArray.array -> char list val modify0 = [] : char list aval modify1 = [#"A"] : char list abval modify2 = [#"A", #"B"] : char list abcval modify3 = [#"A", #"B", #"C"] : char list val foldliFun = fn : ['a. int * 'a * 'a list -> 'a list] val foldli_0 = [] : char list 0val foldli_1 = [#"a"] : char list 01val foldli_2 = [#"b", #"a"] : char list val foldlFun = fn : ['a. 'a * 'a list -> 'a list] val foldl0 = [] : char list val foldl1 = [#"a"] : char list val foldl2 = [#"b", #"a"] : char list val foldl3 = [#"c", #"b", #"a"] : char list val foldriFun = fn : ['a. int * 'a * 'a list -> 'a list] val foldri_0 = [] : char list 0val foldri_1 = [#"a"] : char list 10val foldri_2 = [#"a", #"b"] : char list val foldrFun = fn : ['a. 'a * 'a list -> 'a list] val foldr0 = [] : char list val foldr1 = [#"a"] : char list val foldr2 = [#"a", #"b"] : char list val foldr3 = [#"a", #"b", #"c"] : char list val findiFun = fn : int * char -> bool val findi_0 = NONE : (int * CharArray.elem) option 0val findi_1F = NONE : (int * CharArray.elem) option 0val findi_1T = SOME (0, #"x") : (int * CharArray.elem) option 01val findi_2F = NONE : (int * CharArray.elem) option 01val findi_2T1 = SOME (1, #"x") : (int * CharArray.elem) option 0val findi_2T2 = SOME (0, #"x") : (int * CharArray.elem) option 0val findi_2T3 = SOME (0, #"x") : (int * CharArray.elem) option val findFun = fn : char -> bool val find_0 = NONE : CharArray.elem option aval find_1F = NONE : CharArray.elem option xval find_1T = SOME #"x" : CharArray.elem option abval find_2F = NONE : CharArray.elem option axval find_2T1 = SOME #"x" : CharArray.elem option xval find_2T2 = SOME #"x" : CharArray.elem option xval find_2T3 = SOME #"x" : CharArray.elem option val existsFun = fn : char -> bool val exists_0 = false : bool aval exists_1F = false : bool xval exists_1T = true : bool abval exists_2F = false : bool axval exists_2T1 = true : bool xval exists_2T2 = true : bool xval exists_2T3 = true : bool val allFun = fn : char -> bool val all_0 = true : bool aval all_1F = false : bool xval all_1T = true : bool aval all_2F1 = false : bool aval all_2F2 = false : bool xaval all_2F3 = false : bool xxval all_2T = true : bool val collateFun = fn : char * char -> General.order val collate00 = EQUAL : order val collate01 = LESS : order val collate10 = GREATER : order val collate11L = LESS : order val collate11E = EQUAL : order val collate11G = GREATER : order val collate12L = LESS : order val collate12G = GREATER : order val collate21L = LESS : order val collate21G = GREATER : order val collate22L1 = LESS : order val collate22L2 = LESS : order val collate22E = EQUAL : order val collate22G1 = GREATER : order val collate22G2 = GREATER : order smlsharp-1.2.0/test/tests/basis/outputs/CharVector001.out0000644 000000000000000000001106312050661606023463 0ustar00rootroot0000000 0000000 val fromList_0 = "" : CharVector.vector val fromList_1 = "a" : CharVector.vector val fromList_2 = "ab" : CharVector.vector val tabulateFun = fn : int -> Char.char val tabulate0 = "" : CharVector.vector val tabulate1 = "a" : CharVector.vector val tabulate2 = "ab" : CharVector.vector val tabulatem1 = "XXX" : CharVector.vector val length1 = 0 : int val length2 = 1 : int val length3 = 2 : int val sub00 = #"x" : CharVector.elem val sub0m1 = #"x" : CharVector.elem val sub01 = #"x" : CharVector.elem val sub10 = #"a" : CharVector.elem val sub11 = #"x" : CharVector.elem val sub1m1 = #"x" : CharVector.elem val sub20 = #"a" : CharVector.elem val sub21 = #"b" : CharVector.elem val sub22 = #"x" : CharVector.elem val concat0 = "" : CharVector.vector val concat10 = "" : CharVector.vector val concat200 = "" : CharVector.vector val concat11 = "a" : CharVector.vector val concat201 = "a" : CharVector.vector val concat210 = "a" : CharVector.vector val concat211 = "ab" : CharVector.vector val concat222 = "abcd" : CharVector.vector val concat3303 = "abcxyz" : CharVector.vector val concat3333 = "abcdefghi" : CharVector.vector val testUpdate = fn : string * int * char -> string * string val update00 = ("","") : string * string val update0m1 = ("","") : string * string val update01 = ("","") : string * string val update10 = ("a","x") : string * string val update11 = ("b","b") : string * string val update1m1 = ("b","b") : string * string val update20 = ("ab","xb") : string * string val update21 = ("ab","ax") : string * string val update22 = ("ab","ab") : string * string val appiFun = fn : int * char -> unit val appi_0 = () : unit 0aval appi_1 = () : unit 0a1bval appi_2 = () : unit val appFun = fn : char -> unit val app0 = () : unit aval app1 = () : unit abval app2 = () : unit abcval app3 = () : unit val mapiFun = fn : ['a .int * 'a -> 'a] val mapi_0 = "" : CharVector.vector 0val mapi_1 = "a" : CharVector.vector 01val mapi_2 = "ab" : CharVector.vector val mapFun = fn : char -> Char.char val map0 = "" : CharVector.vector aval map1 = "A" : CharVector.vector abval map2 = "AB" : CharVector.vector abcval map3 = "ABC" : CharVector.vector val foldliFun = fn : int * char * char list -> char list val foldli_0 = [] : char list 0val foldli_1 = [#"a"] : char list 01val foldli_2 = [#"b",#"a"] : char list val foldlFun = fn : char * char list -> char list val foldl0 = [] : char list val foldl1 = [#"a"] : char list val foldl2 = [#"b",#"a"] : char list val foldl3 = [#"c",#"b",#"a"] : char list val foldriFun = fn : int * char * char list -> char list val foldri_0 = [] : char list 0val foldri_1 = [#"a"] : char list 10val foldri_2 = [#"a",#"b"] : char list val foldrFun = fn : char * char list -> char list val foldr0 = [] : char list val foldr1 = [#"a"] : char list val foldr2 = [#"a",#"b"] : char list val foldr3 = [#"a",#"b",#"c"] : char list val findiFun = fn : int * char -> bool val findi_0 = NONE : (int * CharVector.elem) option 0val findi_1F = NONE : (int * CharVector.elem) option 0val findi_1T = SOME (0,#"x") : (int * CharVector.elem) option 01val findi_2F = NONE : (int * CharVector.elem) option 01val findi_2T1 = SOME (1,#"x") : (int * CharVector.elem) option 0val findi_2T2 = SOME (0,#"x") : (int * CharVector.elem) option 0val findi_2T3 = SOME (0,#"x") : (int * CharVector.elem) option val findFun = fn : char -> bool val find_0 = NONE : CharVector.elem option aval find_1F = NONE : CharVector.elem option xval find_1T = SOME #"x" : CharVector.elem option abval find_2F = NONE : CharVector.elem option axval find_2T1 = SOME #"x" : CharVector.elem option xval find_2T2 = SOME #"x" : CharVector.elem option xval find_2T3 = SOME #"x" : CharVector.elem option val existsFun = fn : char -> bool val exists_0 = false : bool aval exists_1F = false : bool xval exists_1T = true : bool abval exists_2F = false : bool axval exists_2T1 = true : bool xval exists_2T2 = true : bool xval exists_2T3 = true : bool val allFun = fn : char -> bool val all_0 = true : bool aval all_1F = false : bool xval all_1T = true : bool aval all_2F1 = false : bool aval all_2F2 = false : bool xaval all_2F3 = false : bool xxval all_2T = true : bool val collateFun = fn : char * char -> General.order val collate00 = EQUAL : order val collate01 = LESS : order val collate10 = GREATER : order val collate11L = LESS : order val collate11E = EQUAL : order val collate11G = GREATER : order val collate12L = LESS : order val collate12G = GREATER : order val collate21L = LESS : order val collate21G = GREATER : order val collate22L1 = LESS : order val collate22L2 = LESS : order val collate22E = EQUAL : order val collate22G1 = GREATER : order val collate22G2 = GREATER : order smlsharp-1.2.0/test/tests/basis/outputs/General001.out0000644 000000000000000000000205412050661606023000 0ustar00rootroot0000000 0000000 val refMonoUnboxed1 = ref 100 : int ref val derefMonoUnboxed1 = 100 : int val refMonoBoxed1 = ref (1,2) : (int * int) ref val derefMonoBoxed1 = (1,2) : int * int ../tests/basis/tests/General001.sml:8.1-8.30 Warning: dummy type variable(s) X0 are introduced due to value restriction val refPoly1 = ref fn : (X0 -> X0) ref val derefPoly1 = fn : X0 -> X0 val refMonoUnboxed2 = ref 200 : int ref val x = () : General.unit val refMonoBoxed2 = ref (2,3) : (int * int) ref val x = () : General.unit ../tests/basis/tests/General001.sml:15.1-15.35 Warning: dummy type variable(s) X0 are introduced due to value restriction val refPoly2 = ref fn : (X0 -> int * X0) ref ../tests/basis/tests/General001.sml:16.9-16.47 Error: operator and operand don't agree operator domain: (X0 -> int * X0) ref * (X0 -> int * X0) operand: (X0 -> int * X0) ref * ('A -> 'C#{int, largeInt} * 'A) val f1 = fn : int -> int val f2 = fn : int -> int val comp1 = 201 : int val beforeRef1 = ref 1 : int ref val before1 = () : unit val x = ref 20 : int ref val ignore1 = () : General.unit smlsharp-1.2.0/test/tests/basis/outputs/IEEEReal001.out0000644 000000000000000000001437312050661606022745 0ustar00rootroot0000000 0000000 val makeDec = fn : IEEEReal.float_class * bool * int list * int -> IEEEReal.decimal_approx val roundingMode_TO_NEAREST = TO_NEAREST : IEEEReal.rounding_mode val roundingMode_TO_NEGINF = TO_NEGINF : IEEEReal.rounding_mode val roundingMode_TO_POSINF = TO_POSINF : IEEEReal.rounding_mode val roundingMode_TO_ZERO = TO_ZERO : IEEEReal.rounding_mode val toString_NAN_QUIET = "nan" : string val toString_NAN_SIGNALLING = "nan" : string val toString_POS_INF = "inf" : string val toString_NEG_INF = "~inf" : string val toString_POS_ZERO = "0.0" : string val toString_NEG_ZERO = "~0.0" : string val toString_NORMAL_P_0_0 = "0.0" : string val toString_NORMAL_P_1_0 = "0.1" : string val toString_NORMAL_P_1_1 = "0.1E1" : string val toString_NORMAL_P_1_2 = "0.1E2" : string val toString_NORMAL_P_1_m1 = "0.1E~1" : string val toString_NORMAL_P_1_m2 = "0.1E~2" : string val toString_NORMAL_P_2_0 = "0.12" : string val toString_NORMAL_P_2_1 = "0.12E1" : string val toString_NORMAL_P_2_2 = "0.12E2" : string val toString_NORMAL_P_2_3 = "0.12E3" : string val toString_NORMAL_P_n_m1 = "0.12E~1" : string val toString_NORMAL_P_n_m2 = "0.12E~2" : string val toString_NORMAL_P_n_m3 = "0.12E~3" : string val toString_NORMAL_N_0_0 = "~0.0" : string val toString_NORMAL_N_1_0 = "~0.1" : string val toString_NORMAL_N_1_1 = "~0.1E1" : string val toString_NORMAL_N_1_2 = "~0.1E2" : string val toString_NORMAL_N_1_m1 = "~0.1E~1" : string val toString_NORMAL_N_1_m2 = "~0.1E~2" : string val toString_NORMAL_N_2_0 = "~0.12" : string val toString_NORMAL_N_2_1 = "~0.12E1" : string val toString_NORMAL_N_2_2 = "~0.12E2" : string val toString_NORMAL_N_2_3 = "~0.12E3" : string val toString_NORMAL_N_n_m1 = "~0.12E~1" : string val toString_NORMAL_N_n_m2 = "~0.12E~2" : string val toString_NORMAL_N_n_m3 = "~0.12E~3" : string val fromString_n_inf = SOME {digits = [], exp = 0, kind = INF, sign = false} : IEEEReal.decimal_approx option val fromString_p_inf = SOME {digits = [], exp = 0, kind = INF, sign = false} : IEEEReal.decimal_approx option val fromString_m_inf = SOME {digits = [], exp = 0, kind = INF, sign = true} : IEEEReal.decimal_approx option val fromString_t_inf = SOME {digits = [], exp = 0, kind = INF, sign = true} : IEEEReal.decimal_approx option val fromString_n_infinity = SOME {digits = [], exp = 0, kind = INF, sign = false} : IEEEReal.decimal_approx option val fromString_p_infinity = SOME {digits = [], exp = 0, kind = INF, sign = false} : IEEEReal.decimal_approx option val fromString_m_infinity = SOME {digits = [], exp = 0, kind = INF, sign = true} : IEEEReal.decimal_approx option val fromString_t_infinity = SOME {digits = [], exp = 0, kind = INF, sign = true} : IEEEReal.decimal_approx option val fromString_n_nan = SOME {digits = [], exp = 0, kind = NAN QUIET, sign = false} : IEEEReal.decimal_approx option val fromString_p_nan = SOME {digits = [], exp = 0, kind = NAN QUIET, sign = false} : IEEEReal.decimal_approx option val fromString_m_nan = SOME {digits = [], exp = 0, kind = NAN QUIET, sign = true} : IEEEReal.decimal_approx option val fromString_t_nan = SOME {digits = [], exp = 0, kind = NAN QUIET, sign = true} : IEEEReal.decimal_approx option val fromString_n_0e = SOME {digits = [], exp = 0, kind = ZERO, sign = false} : IEEEReal.decimal_approx option val fromString_n_0E = SOME {digits = [], exp = 0, kind = ZERO, sign = false} : IEEEReal.decimal_approx option val fromString_01 = SOME {digits = [1], exp = 1, kind = NORMAL, sign = false} : IEEEReal.decimal_approx option val fromString_012 = SOME {digits = [1, 2], exp = 2, kind = NORMAL, sign = false} : IEEEReal.decimal_approx option val fromString_0 = SOME {digits = [], exp = 0, kind = ZERO, sign = false} : IEEEReal.decimal_approx option val fromString_1 = SOME {digits = [1], exp = 0, kind = NORMAL, sign = false} : IEEEReal.decimal_approx option val fromString_0120 = SOME {digits = [1, 2], exp = ~1, kind = NORMAL, sign = false} : IEEEReal.decimal_approx option val fromString_0_0 = SOME {digits = [], exp = 0, kind = ZERO, sign = false} : IEEEReal.decimal_approx option val fromString_0_1 = SOME {digits = [1], exp = 0, kind = NORMAL, sign = false} : IEEEReal.decimal_approx option val fromString_1_0 = SOME {digits = [1], exp = 1, kind = NORMAL, sign = false} : IEEEReal.decimal_approx option val fromString_0_0120 = SOME {digits = [1, 2], exp = ~1, kind = NORMAL, sign = false} : IEEEReal.decimal_approx option val fromString_0120_0 = SOME {digits = [1, 2, 0], exp = 3, kind = NORMAL, sign = false} : IEEEReal.decimal_approx option val fromString_0120_0120 = SOME {digits = [1, 2, 0, 0, 1, 2], exp = 3, kind = NORMAL, sign = false} : IEEEReal.decimal_approx option val fromString_0_0_0 = SOME {digits = [], exp = 0, kind = ZERO, sign = false} : IEEEReal.decimal_approx option val fromString_0120_0120_1 = SOME {digits = [1, 2, 0, 0, 1, 2], exp = 4, kind = NORMAL, sign = false} : IEEEReal.decimal_approx option val fromString_0120_0120_p1 = SOME {digits = [1, 2, 0, 0, 1, 2], exp = 4, kind = NORMAL, sign = false} : IEEEReal.decimal_approx option val fromString_0120_0120_m1 = SOME {digits = [1, 2, 0, 0, 1, 2], exp = 2, kind = NORMAL, sign = false} : IEEEReal.decimal_approx option val fromString_0120_0120_t1 = SOME {digits = [1, 2, 0, 0, 1, 2], exp = 2, kind = NORMAL, sign = false} : IEEEReal.decimal_approx option val fromString_p_0 = SOME {digits = [], exp = 0, kind = ZERO, sign = false} : IEEEReal.decimal_approx option val fromString_m_0 = SOME {digits = [], exp = 0, kind = ZERO, sign = true} : IEEEReal.decimal_approx option val fromString_t_0 = SOME {digits = [], exp = 0, kind = ZERO, sign = true} : IEEEReal.decimal_approx option val fromString_p_0120_0120_t1 = SOME {digits = [1, 2, 0, 0, 1, 2], exp = 2, kind = NORMAL, sign = false} : IEEEReal.decimal_approx option val fromString_m_0120_0120_t1 = SOME {digits = [1, 2, 0, 0, 1, 2], exp = 2, kind = NORMAL, sign = true} : IEEEReal.decimal_approx option val fromString_t_0120_0120_t1 = SOME {digits = [1, 2, 0, 0, 1, 2], exp = 2, kind = NORMAL, sign = true} : IEEEReal.decimal_approx option val fromString_ws_p_0120_0120_t1 = SOME {digits = [1, 2, 0, 0, 1, 2], exp = 2, kind = NORMAL, sign = false} : IEEEReal.decimal_approx option smlsharp-1.2.0/test/tests/basis/outputs/Int001.out0000644 000000000000000000002530212050661606022156 0ustar00rootroot0000000 0000000 val tilda_m = 1 : Int.int val tilda_z = 0 : Int.int val tilda_p = ~1 : Int.int val mul_mm = 6 : Int.int val mul_mp = ~6 : Int.int val mul_pm = ~6 : Int.int val mul_pp = 6 : Int.int val mul_zp = 0 : Int.int val mul_pz = 0 : Int.int val mul_zz = 0 : Int.int val div_mm = 2 : Int.int val div_mp = ~3 : Int.int val div_pm = ~3 : Int.int val div_pp = 2 : Int.int val div_zp = 0 : Int.int val mod_mm = ~2 : Int.int val mod_mp = 1 : Int.int val mod_pm = ~1 : Int.int val mod_pp = 2 : Int.int val mod_zp = 0 : Int.int val quot_mm = 2 : Int.int val quot_mp = ~2 : Int.int val quot_pm = ~2 : Int.int val quot_pp = 2 : Int.int val quot_zp = 0 : Int.int val rem_mm = ~2 : Int.int val rem_mp = ~2 : Int.int val rem_pm = 2 : Int.int val rem_pp = 2 : Int.int val rem_zp = 0 : Int.int val add_mm = ~11 : Int.int val add_mp = ~5 : Int.int val add_pm = 5 : Int.int val add_pp = 11 : Int.int val add_zp = 3 : Int.int val add_pz = 8 : Int.int val add_zz = 0 : Int.int val sub_mm = ~5 : Int.int val sub_mp = ~11 : Int.int val sub_pm = 11 : Int.int val sub_pp = 5 : Int.int val sub_zp = ~3 : Int.int val sub_pz = 8 : Int.int val sub_zz = 0 : Int.int val compare_mmL = LESS : order val compare_mmE = EQUAL : order val compare_mmG = GREATER : order val compare_mp = LESS : order val compare_pm = GREATER : order val compare_ppL = LESS : order val compare_ppE = EQUAL : order val compare_ppG = GREATER : order val compare_zp = LESS : order val compare_pz = GREATER : order val compare_zz = EQUAL : order val gt_mmL = false : bool val gt_mmE = false : bool val gt_mmG = true : bool val gt_mp = false : bool val gt_pm = true : bool val gt_ppL = false : bool val gt_ppE = false : bool val gt_ppG = true : bool val gt_zp = false : bool val gt_pz = true : bool val gt_zz = false : bool val ge_mmL = false : bool val ge_mmE = true : bool val ge_mmG = true : bool val ge_mp = false : bool val ge_pm = true : bool val ge_ppL = false : bool val ge_ppE = true : bool val ge_ppG = true : bool val ge_zp = false : bool val ge_pz = true : bool val ge_zz = true : bool val lt_mmL = true : bool val lt_mmE = false : bool val lt_mmG = false : bool val lt_mp = true : bool val lt_pm = false : bool val lt_ppL = true : bool val lt_ppE = false : bool val lt_ppG = false : bool val lt_zp = true : bool val lt_pz = false : bool val lt_zz = false : bool val le_mmL = true : bool val le_mmE = true : bool val le_mmG = false : bool val le_mp = true : bool val le_pm = false : bool val le_ppL = true : bool val le_ppE = true : bool val le_ppG = false : bool val le_zp = true : bool val le_pz = false : bool val le_zz = true : bool val abs_m = 1 : Int.int val abs_z = 0 : Int.int val abs_p = 1 : Int.int val min_mmL = ~8 : Int.int val min_mmE = ~8 : Int.int val min_mmG = ~8 : Int.int val min_mp = ~8 : Int.int val min_pm = ~3 : Int.int val min_ppL = 3 : Int.int val min_ppE = 8 : Int.int val min_ppG = 3 : Int.int val min_zp = 0 : Int.int val min_pz = 0 : Int.int val min_zz = 0 : Int.int val max_mmL = ~3 : Int.int val max_mmE = ~8 : Int.int val max_mmG = ~3 : Int.int val max_mp = 3 : Int.int val max_pm = 8 : Int.int val max_ppL = 8 : Int.int val max_ppE = 8 : Int.int val max_ppG = 8 : Int.int val max_zp = 3 : Int.int val max_pz = 8 : Int.int val max_zz = 0 : Int.int val sign_m = ~1 : Int.int val sign_z = 0 : Int.int val sign_p = 1 : Int.int val sameSign_mm = true : bool val sameSign_mz = false : bool val sameSign_mp = false : bool val sameSign_zm = false : bool val sameSign_zz = true : bool val sameSign_zp = false : bool val sameSign_pm = false : bool val sameSign_pz = false : bool val sameSign_pp = true : bool val fmt_bin_m1 = "~1" : string val fmt_bin_m2 = "~1111011" : string val fmt_bin_z = "0" : string val fmt_bin_p1 = "1" : string val fmt_bin_p2 = "1111011" : string val fmt_oct_m1 = "~1" : string val fmt_oct_m2 = "~173" : string val fmt_oct_z = "0" : string val fmt_oct_p1 = "1" : string val fmt_oct_p2 = "173" : string val fmt_dec_m1 = "~1" : string val fmt_dec_m2 = "~123" : string val fmt_dec_z = "0" : string val fmt_dec_p1 = "1" : string val fmt_dec_p2 = "123" : string val fmt_hex_m1 = "~1" : string val fmt_hex_m2 = "~7B" : string val fmt_hex_z = "0" : string val fmt_hex_p1 = "1" : string val fmt_hex_p2 = "7B" : string val toString_m1 = "~1" : string val toString_m2 = "~123" : string val toString_z = "0" : string val toString_p1 = "1" : string val toString_p2 = "123" : string val fromString_null = NONE : Int.int option val fromString_nonum = NONE : Int.int option val fromString_m1 = SOME ~1 : Int.int option val fromString_m12 = SOME ~1 : Int.int option val fromString_m2 = SOME ~123 : Int.int option val fromString_m22 = SOME ~123 : Int.int option val fromString_z1 = SOME 0 : Int.int option val fromString_z12 = SOME 0 : Int.int option val fromString_z12 = SOME 0 : Int.int option val fromString_p1 = SOME 1 : Int.int option val fromString_p12 = SOME 1 : Int.int option val fromString_p2 = SOME 123 : Int.int option val fromString_p22 = SOME 123 : Int.int option val reader = fn : ['a.'a list -> ('a * 'a list) option] val scan = fn : StringCvt.radix -> string -> (Int.int * char list) option val scan_bin_null = NONE : (Int.int * char list) option val scan_bin_0 = SOME (0,[]) : (Int.int * char list) option val scan_bin_01 = SOME (0,[]) : (Int.int * char list) option val scan_bin_p0 = SOME (0,[]) : (Int.int * char list) option val scan_bin_t0 = SOME (0,[]) : (Int.int * char list) option val scan_bin_m0 = SOME (0,[]) : (Int.int * char list) option val scan_bin_t1 = SOME (~1,[]) : (Int.int * char list) option val scan_bin_t1b = SOME (~1,[#"a",#"b",#"c"]) : (Int.int * char list) option val scan_bin_t1c = SOME (~1,[]) : (Int.int * char list) option val scan_bin_m1 = SOME (~1,[]) : (Int.int * char list) option val scan_bin_m1b = SOME (~1,[#"a",#"b",#"c"]) : (Int.int * char list) option val scan_bin_m1c = SOME (~1,[]) : (Int.int * char list) option val scan_bin_p1 = SOME (1,[]) : (Int.int * char list) option val scan_bin_p1b = SOME (1,[#"a",#"b",#"c"]) : (Int.int * char list) option val scan_bin_p1c = SOME (1,[]) : (Int.int * char list) option val scan_bin_1 = SOME (1,[]) : (Int.int * char list) option val scan_bin_1b = SOME (1,[#"a",#"b",#"c"]) : (Int.int * char list) option val scan_bin_1c = SOME (1,[]) : (Int.int * char list) option val scan_oct_null = NONE : (Int.int * char list) option val scan_oct_0 = SOME (0,[]) : (Int.int * char list) option val scan_oct_01 = SOME (0,[]) : (Int.int * char list) option val scan_oct_p0 = SOME (0,[]) : (Int.int * char list) option val scan_oct_t0 = SOME (0,[]) : (Int.int * char list) option val scan_oct_m0 = SOME (0,[]) : (Int.int * char list) option val scan_oct_t1 = SOME (~83,[]) : (Int.int * char list) option val scan_oct_t1b = SOME (~83,[#"8",#"9",#"a"]) : (Int.int * char list) option val scan_oct_t1c = SOME (~83,[]) : (Int.int * char list) option val scan_oct_m1 = SOME (~83,[]) : (Int.int * char list) option val scan_oct_m1b = SOME (~83,[#"8",#"9",#"a"]) : (Int.int * char list) option val scan_oct_m1c = SOME (~83,[]) : (Int.int * char list) option val scan_oct_p1 = SOME (83,[]) : (Int.int * char list) option val scan_oct_p1b = SOME (83,[#"8",#"9",#"a"]) : (Int.int * char list) option val scan_oct_p1c = SOME (83,[]) : (Int.int * char list) option val scan_oct_1 = SOME (83,[]) : (Int.int * char list) option val scan_oct_1b = SOME (83,[#"8",#"9",#"a"]) : (Int.int * char list) option val scan_oct_1c = SOME (83,[]) : (Int.int * char list) option val scan_dec_null = NONE : (Int.int * char list) option val scan_dec_0 = SOME (0,[]) : (Int.int * char list) option val scan_dec_01 = SOME (0,[]) : (Int.int * char list) option val scan_dec_p0 = SOME (0,[]) : (Int.int * char list) option val scan_dec_t0 = SOME (0,[]) : (Int.int * char list) option val scan_dec_m0 = SOME (0,[]) : (Int.int * char list) option val scan_dec_t1 = SOME (~123,[]) : (Int.int * char list) option val scan_dec_t1b = SOME (~12389,[#"a"]) : (Int.int * char list) option val scan_dec_t1c = SOME (~123,[]) : (Int.int * char list) option val scan_dec_m1 = SOME (~123,[]) : (Int.int * char list) option val scan_dec_m1b = SOME (~12389,[#"a"]) : (Int.int * char list) option val scan_dec_m1c = SOME (~123,[]) : (Int.int * char list) option val scan_dec_p1 = SOME (123,[]) : (Int.int * char list) option val scan_dec_p1b = SOME (12389,[#"a"]) : (Int.int * char list) option val scan_dec_p1c = SOME (123,[]) : (Int.int * char list) option val scan_dec_1 = SOME (123,[]) : (Int.int * char list) option val scan_dec_1b = SOME (12389,[#"a"]) : (Int.int * char list) option val scan_dec_1c = SOME (123,[]) : (Int.int * char list) option val scan_hex_null = NONE : (Int.int * char list) option val scan_hex_head1 = SOME (0,[#"x",#" "]) : (Int.int * char list) option val scan_hex_head2 = SOME (0,[#"X",#" "]) : (Int.int * char list) option val scan_hex_0 = SOME (0,[]) : (Int.int * char list) option val scan_hex_01 = SOME (0,[]) : (Int.int * char list) option val scan_hex_0h1 = SOME (0,[]) : (Int.int * char list) option val scan_hex_0h2 = SOME (0,[]) : (Int.int * char list) option val scan_hex_p0 = SOME (0,[]) : (Int.int * char list) option val scan_hex_p0h1 = SOME (0,[]) : (Int.int * char list) option val scan_hex_p0h2 = SOME (0,[]) : (Int.int * char list) option val scan_hex_t0 = SOME (0,[]) : (Int.int * char list) option val scan_hex_m0 = SOME (0,[]) : (Int.int * char list) option val scan_hex_t1 = SOME (~291,[]) : (Int.int * char list) option val scan_hex_t1b = SOME (~1223423,[#"G",#"g"]) : (Int.int * char list) option val scan_hex_t1b_h1 = SOME (~1223423, [#"G",#"g"]) : (Int.int * char list) option val scan_hex_t1b_h2 = SOME (~1223423, [#"G",#"g"]) : (Int.int * char list) option val scan_hex_t1c = SOME (~291,[]) : (Int.int * char list) option val scan_hex_m1 = SOME (~291,[]) : (Int.int * char list) option val scan_hex_m1b = SOME (~1223423,[#"G",#"g"]) : (Int.int * char list) option val scan_hex_m1b_h1 = SOME (~1223423, [#"G",#"g"]) : (Int.int * char list) option val scan_hex_m1b_h2 = SOME (~1223423, [#"G",#"g"]) : (Int.int * char list) option val scan_hex_m1c = SOME (~291,[]) : (Int.int * char list) option val scan_hex_p1 = SOME (291,[]) : (Int.int * char list) option val scan_hex_p1b = SOME (1223423,[#"G",#"g"]) : (Int.int * char list) option val scan_hex_p1b_h1 = SOME (1223423,[#"G",#"g"]) : (Int.int * char list) option val scan_hex_p1b_h2 = SOME (1223423,[#"G",#"g"]) : (Int.int * char list) option val scan_hex_p1c = SOME (291,[]) : (Int.int * char list) option val scan_hex_1 = SOME (291,[]) : (Int.int * char list) option val scan_hex_1b = SOME (1223423,[#"G",#"g"]) : (Int.int * char list) option val scan_hex_1b_h1 = SOME (1223423,[#"G",#"g"]) : (Int.int * char list) option val scan_hex_1b_h2 = SOME (1223423,[#"G",#"g"]) : (Int.int * char list) option val scan_hex_1c = SOME (291,[]) : (Int.int * char list) option val scan_skipWS1 = SOME (123,[]) : (Int.int * char list) option val scan_skipWS2 = SOME (123,[]) : (Int.int * char list) option smlsharp-1.2.0/test/tests/basis/outputs/IntInf001.out0000755 000000000000000000003075212050661606022623 0ustar00rootroot0000000 0000000 val tilda_m = 1 : IntInf.int val tilda_z = 0 : IntInf.int val tilda_p = ~1 : IntInf.int val mul_mm = 6 : IntInf.int val mul_mp = ~6 : IntInf.int val mul_pm = ~6 : IntInf.int val mul_pp = 6 : IntInf.int val mul_zp = 0 : IntInf.int val mul_pz = 0 : IntInf.int val mul_zz = 0 : IntInf.int val mul_c1_f = fn : largeInt -> largeInt val mul_c1 = 6 : largeInt val mul_c2_f = fn : largeInt -> largeInt val mul_c2 = 20 : largeInt val div_mm = 2 : IntInf.int val div_mp = ~3 : IntInf.int val div_pm = ~3 : IntInf.int val div_pp = 2 : IntInf.int val div_zp = 0 : IntInf.int val div_c1_f = fn : largeInt -> largeInt val div_c1 = 0 : largeInt val div_c2_f = fn : largeInt -> largeInt val div_c2 = 1 : largeInt val mod_mm = ~2 : IntInf.int val mod_mp = 1 : IntInf.int val mod_pm = ~1 : IntInf.int val mod_pp = 2 : IntInf.int val mod_zp = 0 : IntInf.int val mod_c1_f = fn : largeInt -> largeInt val mod_c1 = 2 : largeInt val mod_c2_f = fn : largeInt -> largeInt val mod_c2 = 1 : largeInt val quot_mm = 2 : IntInf.int val quot_mp = ~2 : IntInf.int val quot_pm = ~2 : IntInf.int val quot_pp = 2 : IntInf.int val quot_zp = 0 : IntInf.int val rem_mm = ~2 : IntInf.int val rem_mp = ~2 : IntInf.int val rem_pm = 2 : IntInf.int val rem_pp = 2 : IntInf.int val rem_zp = 0 : IntInf.int val add_mm = ~11 : IntInf.int val add_mp = ~5 : IntInf.int val add_pm = 5 : IntInf.int val add_pp = 11 : IntInf.int val add_zp = 3 : IntInf.int val add_pz = 8 : IntInf.int val add_zz = 0 : IntInf.int val add_c1_f = fn : largeInt -> largeInt val add_c1 = 5 : largeInt val add_c2_f = fn : largeInt -> largeInt val add_c2 = 9 : largeInt val sub_mm = ~5 : IntInf.int val sub_mp = ~11 : IntInf.int val sub_pm = 11 : IntInf.int val sub_pp = 5 : IntInf.int val sub_zp = ~3 : IntInf.int val sub_pz = 8 : IntInf.int val sub_zz = 0 : IntInf.int val sub_c1_f = fn : largeInt -> largeInt val sub_c1 = ~1 : largeInt val sub_c2_f = fn : largeInt -> largeInt val sub_c2 = 1 : largeInt val compare_mmL = LESS : order val compare_mmE = EQUAL : order val compare_mmG = GREATER : order val compare_mp = LESS : order val compare_pm = GREATER : order val compare_ppL = LESS : order val compare_ppE = EQUAL : order val compare_ppG = GREATER : order val compare_zp = LESS : order val compare_pz = GREATER : order val compare_zz = EQUAL : order val gt_mmL = false : bool val gt_mmE = false : bool val gt_mmG = true : bool val gt_mp = false : bool val gt_pm = true : bool val gt_ppL = false : bool val gt_ppE = false : bool val gt_ppG = true : bool val gt_zp = false : bool val gt_pz = true : bool val gt_zz = false : bool val gt_c1_f = fn : largeInt -> bool val gt_c1 = false : bool val gt_c2_f = fn : largeInt -> bool val gt_c2 = true : bool val ge_mmL = false : bool val ge_mmE = true : bool val ge_mmG = true : bool val ge_mp = false : bool val ge_pm = true : bool val ge_ppL = false : bool val ge_ppE = true : bool val ge_ppG = true : bool val ge_zp = false : bool val ge_pz = true : bool val ge_zz = true : bool val ge_c1_f = fn : largeInt -> bool val ge_c1 = false : bool val ge_c2_f = fn : largeInt -> bool val ge_c2 = true : bool val lt_mmL = true : bool val lt_mmE = false : bool val lt_mmG = false : bool val lt_mp = true : bool val lt_pm = false : bool val lt_ppL = true : bool val lt_ppE = false : bool val lt_ppG = false : bool val lt_zp = true : bool val lt_pz = false : bool val lt_zz = false : bool val lt_c1_f = fn : largeInt -> bool val lt_c1 = true : bool val lt_c2_f = fn : largeInt -> bool val lt_c2 = false : bool val le_mmL = true : bool val le_mmE = true : bool val le_mmG = false : bool val le_mp = true : bool val le_pm = false : bool val le_ppL = true : bool val le_ppE = true : bool val le_ppG = false : bool val le_zp = true : bool val le_pz = false : bool val le_zz = true : bool val le_c1_f = fn : largeInt -> bool val le_c1 = true : bool val le_c2_f = fn : largeInt -> bool val le_c2 = false : bool val abs_m = 1 : IntInf.int val abs_z = 0 : IntInf.int val abs_p = 1 : IntInf.int val min_mmL = ~8 : IntInf.int val min_mmE = ~8 : IntInf.int val min_mmG = ~8 : IntInf.int val min_mp = ~8 : IntInf.int val min_pm = ~3 : IntInf.int val min_ppL = 3 : IntInf.int val min_ppE = 8 : IntInf.int val min_ppG = 3 : IntInf.int val min_zp = 0 : IntInf.int val min_pz = 0 : IntInf.int val min_zz = 0 : IntInf.int val max_mmL = ~3 : IntInf.int val max_mmE = ~8 : IntInf.int val max_mmG = ~3 : IntInf.int val max_mp = 3 : IntInf.int val max_pm = 8 : IntInf.int val max_ppL = 8 : IntInf.int val max_ppE = 8 : IntInf.int val max_ppG = 8 : IntInf.int val max_zp = 3 : IntInf.int val max_pz = 8 : IntInf.int val max_zz = 0 : IntInf.int val sign_m = ~1 : Int.int val sign_z = 0 : Int.int val sign_p = 1 : Int.int val sameSign_mm = true : bool val sameSign_mz = false : bool val sameSign_mp = false : bool val sameSign_zm = false : bool val sameSign_zz = true : bool val sameSign_zp = false : bool val sameSign_pm = false : bool val sameSign_pz = false : bool val sameSign_pp = true : bool val fmt_bin_m1 = "~1" : string val fmt_bin_m2 = "~1111011" : string val fmt_bin_z = "0" : string val fmt_bin_p1 = "1" : string val fmt_bin_p2 = "1111011" : string val fmt_oct_m1 = "~1" : string val fmt_oct_m2 = "~173" : string val fmt_oct_z = "0" : string val fmt_oct_p1 = "1" : string val fmt_oct_p2 = "173" : string val fmt_dec_m1 = "~1" : string val fmt_dec_m2 = "~123" : string val fmt_dec_z = "0" : string val fmt_dec_p1 = "1" : string val fmt_dec_p2 = "123" : string val fmt_hex_m1 = "~1" : string val fmt_hex_m2 = "~7B" : string val fmt_hex_z = "0" : string val fmt_hex_p1 = "1" : string val fmt_hex_p2 = "7B" : string val toString_m1 = "~1" : string val toString_m2 = "~123" : string val toString_z = "0" : string val toString_p1 = "1" : string val toString_p2 = "123" : string val fromString_null = NONE : IntInf.int option val fromString_nonum = NONE : IntInf.int option val fromString_m1 = SOME ~1 : IntInf.int option val fromString_m12 = SOME ~1 : IntInf.int option val fromString_m2 = SOME ~123 : IntInf.int option val fromString_m22 = SOME ~123 : IntInf.int option val fromString_z1 = SOME 0 : IntInf.int option val fromString_z12 = SOME 0 : IntInf.int option val fromString_z12 = SOME 0 : IntInf.int option val fromString_p1 = SOME 1 : IntInf.int option val fromString_p12 = SOME 1 : IntInf.int option val fromString_p2 = SOME 123 : IntInf.int option val fromString_p22 = SOME 123 : IntInf.int option val reader = fn : ['a.'a list -> ('a * 'a list) option] val scan = fn : StringCvt.radix -> string -> (IntInf.int * char list) option val scan_bin_null = NONE : (IntInf.int * char list) option val scan_bin_0 = SOME (0,[]) : (IntInf.int * char list) option val scan_bin_01 = SOME (0,[]) : (IntInf.int * char list) option val scan_bin_p0 = SOME (0,[]) : (IntInf.int * char list) option val scan_bin_t0 = SOME (0,[]) : (IntInf.int * char list) option val scan_bin_m0 = SOME (0,[]) : (IntInf.int * char list) option val scan_bin_t1 = SOME (~1,[]) : (IntInf.int * char list) option val scan_bin_t1b = SOME (~1, [#"a", #"b", #"c"]) : (IntInf.int * char list) option val scan_bin_t1c = SOME (~1,[]) : (IntInf.int * char list) option val scan_bin_m1 = SOME (~1,[]) : (IntInf.int * char list) option val scan_bin_m1b = SOME (~1, [#"a", #"b", #"c"]) : (IntInf.int * char list) option val scan_bin_m1c = SOME (~1,[]) : (IntInf.int * char list) option val scan_bin_p1 = SOME (1,[]) : (IntInf.int * char list) option val scan_bin_p1b = SOME (1, [#"a", #"b", #"c"]) : (IntInf.int * char list) option val scan_bin_p1c = SOME (1,[]) : (IntInf.int * char list) option val scan_bin_1 = SOME (1,[]) : (IntInf.int * char list) option val scan_bin_1b = SOME (1,[#"a",#"b",#"c"]) : (IntInf.int * char list) option val scan_bin_1c = SOME (1,[]) : (IntInf.int * char list) option val scan_oct_null = NONE : (IntInf.int * char list) option val scan_oct_0 = SOME (0,[]) : (IntInf.int * char list) option val scan_oct_01 = SOME (0,[]) : (IntInf.int * char list) option val scan_oct_p0 = SOME (0,[]) : (IntInf.int * char list) option val scan_oct_t0 = SOME (0,[]) : (IntInf.int * char list) option val scan_oct_m0 = SOME (0,[]) : (IntInf.int * char list) option val scan_oct_t1 = SOME (~83,[]) : (IntInf.int * char list) option val scan_oct_t1b = SOME (~83, [#"8", #"9", #"a"]) : (IntInf.int * char list) option val scan_oct_t1c = SOME (~83,[]) : (IntInf.int * char list) option val scan_oct_m1 = SOME (~83,[]) : (IntInf.int * char list) option val scan_oct_m1b = SOME (~83, [#"8", #"9", #"a"]) : (IntInf.int * char list) option val scan_oct_m1c = SOME (~83,[]) : (IntInf.int * char list) option val scan_oct_p1 = SOME (83,[]) : (IntInf.int * char list) option val scan_oct_p1b = SOME (83, [#"8", #"9", #"a"]) : (IntInf.int * char list) option val scan_oct_p1c = SOME (83,[]) : (IntInf.int * char list) option val scan_oct_1 = SOME (83,[]) : (IntInf.int * char list) option val scan_oct_1b = SOME (83, [#"8", #"9", #"a"]) : (IntInf.int * char list) option val scan_oct_1c = SOME (83,[]) : (IntInf.int * char list) option val scan_dec_null = NONE : (IntInf.int * char list) option val scan_dec_0 = SOME (0,[]) : (IntInf.int * char list) option val scan_dec_01 = SOME (0,[]) : (IntInf.int * char list) option val scan_dec_p0 = SOME (0,[]) : (IntInf.int * char list) option val scan_dec_t0 = SOME (0,[]) : (IntInf.int * char list) option val scan_dec_m0 = SOME (0,[]) : (IntInf.int * char list) option val scan_dec_t1 = SOME (~123,[]) : (IntInf.int * char list) option val scan_dec_t1b = SOME (~12389,[#"a"]) : (IntInf.int * char list) option val scan_dec_t1c = SOME (~123,[]) : (IntInf.int * char list) option val scan_dec_m1 = SOME (~123,[]) : (IntInf.int * char list) option val scan_dec_m1b = SOME (~12389,[#"a"]) : (IntInf.int * char list) option val scan_dec_m1c = SOME (~123,[]) : (IntInf.int * char list) option val scan_dec_p1 = SOME (123,[]) : (IntInf.int * char list) option val scan_dec_p1b = SOME (12389,[#"a"]) : (IntInf.int * char list) option val scan_dec_p1c = SOME (123,[]) : (IntInf.int * char list) option val scan_dec_1 = SOME (123,[]) : (IntInf.int * char list) option val scan_dec_1b = SOME (12389,[#"a"]) : (IntInf.int * char list) option val scan_dec_1c = SOME (123,[]) : (IntInf.int * char list) option val scan_hex_null = NONE : (IntInf.int * char list) option val scan_hex_head1 = SOME (0,[#"x",#" "]) : (IntInf.int * char list) option val scan_hex_head2 = SOME (0,[#"X",#" "]) : (IntInf.int * char list) option val scan_hex_0 = SOME (0,[]) : (IntInf.int * char list) option val scan_hex_01 = SOME (0,[]) : (IntInf.int * char list) option val scan_hex_0h1 = SOME (0,[]) : (IntInf.int * char list) option val scan_hex_0h2 = SOME (0,[]) : (IntInf.int * char list) option val scan_hex_p0 = SOME (0,[]) : (IntInf.int * char list) option val scan_hex_p0h1 = SOME (0,[]) : (IntInf.int * char list) option val scan_hex_p0h2 = SOME (0,[]) : (IntInf.int * char list) option val scan_hex_t0 = SOME (0,[]) : (IntInf.int * char list) option val scan_hex_m0 = SOME (0,[]) : (IntInf.int * char list) option val scan_hex_t1 = SOME (~291,[]) : (IntInf.int * char list) option val scan_hex_t1b = SOME (~1223423, [#"G", #"g"]) : (IntInf.int * char list) option val scan_hex_t1b_h1 = SOME (~1223423, [#"G",#"g"]) : (IntInf.int * char list) option val scan_hex_t1b_h2 = SOME (~1223423, [#"G",#"g"]) : (IntInf.int * char list) option val scan_hex_t1c = SOME (~291,[]) : (IntInf.int * char list) option val scan_hex_m1 = SOME (~291,[]) : (IntInf.int * char list) option val scan_hex_m1b = SOME (~1223423, [#"G", #"g"]) : (IntInf.int * char list) option val scan_hex_m1b_h1 = SOME (~1223423, [#"G",#"g"]) : (IntInf.int * char list) option val scan_hex_m1b_h2 = SOME (~1223423, [#"G",#"g"]) : (IntInf.int * char list) option val scan_hex_m1c = SOME (~291,[]) : (IntInf.int * char list) option val scan_hex_p1 = SOME (291,[]) : (IntInf.int * char list) option val scan_hex_p1b = SOME (1223423, [#"G", #"g"]) : (IntInf.int * char list) option val scan_hex_p1b_h1 = SOME (1223423, [#"G", #"g"]) : (IntInf.int * char list) option val scan_hex_p1b_h2 = SOME (1223423, [#"G", #"g"]) : (IntInf.int * char list) option val scan_hex_p1c = SOME (291,[]) : (IntInf.int * char list) option val scan_hex_1 = SOME (291,[]) : (IntInf.int * char list) option val scan_hex_1b = SOME (1223423,[#"G",#"g"]) : (IntInf.int * char list) option val scan_hex_1b_h1 = SOME (1223423, [#"G", #"g"]) : (IntInf.int * char list) option val scan_hex_1b_h2 = SOME (1223423, [#"G", #"g"]) : (IntInf.int * char list) option val scan_hex_1c = SOME (291,[]) : (IntInf.int * char list) option val scan_skipWS1 = SOME (123,[]) : (IntInf.int * char list) option val scan_skipWS2 = SOME (123,[]) : (IntInf.int * char list) option smlsharp-1.2.0/test/tests/basis/outputs/List001.out0000644 000000000000000000001342712050661606022344 0ustar00rootroot0000000 0000000 val null1 = true : bool val null2 = false : bool val length1 = 0 : int val length2 = 1 : int val length3 = 2 : int val append1 = [] : int List.list val append2 = [1] : int List.list val append3 = [1] : int List.list val append4 = [1,2] : int List.list val append5 = [1,2] : int List.list val append6 = [1,2] : int List.list val append7 = [1,2,2] : int List.list val append8 = [1,2,2,3] : int List.list val append9 = [1,2,3] : int List.list val hd1 = 1 : int val hd2 = 1 : int val hd3 = 1 : int val tl1 = [1] : int List.list val tl2 = [] : int List.list val tl3 = [2] : int List.list val last1 = 1 : int val last2 = 1 : int val last3 = 2 : int val getItem1 = NONE : (int * int List.list) Option.option val getItem2 = SOME (1,[]) : (int * int List.list) Option.option val getItem3 = SOME (1,[2]) : (int * int List.list) Option.option val nth00 = 1 : int val nth0m1 = 1 : int val nth01 = 1 : int val nth10 = 1 : int val nth11 = 1 : int val nth1m1 = 1 : int val nth20 = 1 : int val nth21 = 2 : int val nth22 = 3 : int val take00 = [] : int List.list val take0m1 = [3] : int List.list val take01 = [3] : int List.list val take10 = [] : int List.list val take11 = [2] : int List.list val take1m1 = [3] : int List.list val take12 = [3] : int List.list val take20 = [] : int List.list val take21 = [1] : int List.list val take22 = [1,2] : int List.list val take23 = [3] : int List.list val drop00 = [] : int List.list val drop0m1 = [3] : int List.list val drop01 = [3] : int List.list val drop10 = [1] : int List.list val drop11 = [] : int List.list val drop1m1 = [3] : int List.list val drop12 = [3] : int List.list val drop20 = [1,2] : int List.list val drop21 = [2] : int List.list val drop22 = [] : int List.list val drop23 = [3] : int List.list val rev0 = [] : int List.list val rev1 = [1] : int List.list val rev2 = [2,1] : int List.list val rev3 = [3,2,1] : int List.list val concat0 = [] : int List.list val concat10 = [] : int List.list val concat200 = [] : int List.list val concat11 = [1] : int List.list val concat201 = [1] : int List.list val concat210 = [1] : int List.list val concat211 = [1,2] : int List.list val concat222 = [1,2,3,4] : int List.list val concat3303 = [1,2,3,7,8,9] : int List.list val concat3333 = [1,2,3,4,5,6,7,8,9] : int List.list val revAppend00 = [] : int List.list val revAppend01 = [1] : int List.list val revAppend10 = [1] : int List.list val revAppend11 = [1,2] : int List.list val revAppend20 = [2,1] : int List.list val revAppend02 = [1,2] : int List.list val revAppend22 = [2,1,3,4] : int List.list val revAppend33 = [3,2,1,4,5,6] : int List.list val appFun = fn : string -> unit val app0 = () : unit aval app1 = () : unit abval app2 = () : unit abcval app3 = () : unit val mapFun = fn : int -> int val map0 = [] : int List.list val map1 = [2] : int List.list val map2 = [2,3] : int List.list val map3 = [2,3,4] : int List.list val mapPartialFun = fn : int -> int option val mapPartial0 = [] : int List.list val mapPartial10 = [] : int List.list val mapPartial11 = [1] : int List.list val mapPartial200 = [] : int List.list val mapPartial201 = [1] : int List.list val mapPartial210 = [1] : int List.list val mapPartial211 = [1,2] : int List.list val mapPartial3010 = [1] : int List.list val mapPartial3101 = [1,2] : int List.list val mapPartial3111 = [1,2,3] : int List.list val findFun = fn : int -> bool val find0 = NONE : int Option.option val find10 = NONE : int Option.option val find11 = SOME 0 : int Option.option val find200 = NONE : int Option.option val find201 = SOME 2 : int Option.option val find210 = SOME 0 : int Option.option val find211 = SOME 2 : int Option.option val find3101 = SOME 2 : int Option.option val find3010 = SOME 2 : int Option.option val find3111 = SOME 2 : int Option.option val filterFun = fn : int -> bool val filter0 = [] : int List.list val filter10 = [] : int List.list val filter11 = [0] : int List.list val filter200 = [] : int List.list val filter201 = [2] : int List.list val filter210 = [0] : int List.list val filter211 = [2,4] : int List.list val filter3101 = [2,4] : int List.list val filter3010 = [2] : int List.list val filter3111 = [2,4,6] : int List.list val partitionFun = fn : int -> bool val partition0 = ([],[]) : int List.list * int List.list val partition10 = ([],[1]) : int List.list * int List.list val partition11 = ([0],[]) : int List.list * int List.list val partition200 = ([],[1,3]) : int List.list * int List.list val partition201 = ([2],[1]) : int List.list * int List.list val partition210 = ([0],[1]) : int List.list * int List.list val partition211 = ([2,4],[]) : int List.list * int List.list val partition3101 = ([2,4],[1]) : int List.list * int List.list val partition3010 = ([2],[1,3]) : int List.list * int List.list val partition3111 = ([2,4,6],[]) : int List.list * int List.list val foldlFun = fn : ['a.'a * 'a list -> 'a list] val foldl0 = [] : int list val foldl1 = [1] : int list val foldl2 = [2,1] : int list val foldl3 = [3,2,1] : int list val foldrFun = fn : ['a.'a * 'a list -> 'a list] val foldr0 = [] : int list val foldr1 = [1] : int list val foldr2 = [1,2] : int list val foldr3 = [1,2,3] : int list val existsFun = fn : int -> bool val exists0 = false : bool val exists10 = false : bool val exists11 = true : bool val exists200 = false : bool val exists201 = true : bool val exists210 = true : bool val exists211 = true : bool val exists3101 = true : bool val exists3010 = true : bool val exists3111 = true : bool val allFun = fn : int -> bool val all0 = true : bool val all10 = false : bool val all11 = true : bool val all200 = false : bool val all201 = false : bool val all210 = false : bool val all211 = true : bool val all3101 = false : bool val all3010 = false : bool val all3111 = true : bool val tabulateFun = fn : ['a.'a -> 'a] val tabulate0 = [] : int List.list val tabulate1 = [0] : int List.list val tabulate2 = [0,1] : int List.list val tabulatem1 = [999] : int List.list smlsharp-1.2.0/test/tests/basis/outputs/ListPair001.out0000644 000000000000000000000540712050661606023157 0ustar00rootroot0000000 0000000 val zip00 = [] : (string * int) list val zip01 = [] : (string * int) list val zip10 = [] : (string * int) list val zip11 = [("a",1)] : (string * int) list val zip12 = [("a",1)] : (string * int) list val zip21 = [("a",1)] : (string * int) list val zip22 = [("a",1),("b",2)] : (string * int) list val zip33 = [("a",1),("b",2),("c",3)] : (string * int) list val unzip0 = ([],[]) : string list * int list val unzip1 = (["a"],[1]) : string list * int list val unzip2 = (["a","b"],[1,2]) : string list * int list val appFun = fn : string * string -> unit val app00 = () : unit val app01 = () : unit val app10 = () : unit axval app11 = () : unit axval app12 = () : unit axval app21 = () : unit axbyval app22 = () : unit axbyczval app33 = () : unit val mapFun = fn : int * int -> int val map00 = [] : int list val map01 = [] : int list val map10 = [] : int list val map11 = [14] : int list val map12 = [14] : int list val map21 = [14] : int list val map22 = [14,24] : int list val map33 = [14,24,36] : int list val foldlFun = fn : ['a.'a * 'a * 'a list -> 'a list] val foldl00 = [] : int list val foldl01 = [] : int list val foldl10 = [] : int list val foldl11 = [1,7] : int list val foldl12 = [1,7] : int list val foldl21 = [1,7] : int list val foldl22 = [2,8,1,7] : int list val foldl33 = [3,9,2,8,1,7] : int list val foldrFun = fn : ['a.'a * 'a * 'a list -> 'a list] val foldr00 = [] : int list val foldr01 = [] : int list val foldr10 = [] : int list val foldr11 = [1,7] : int list val foldr12 = [1,7] : int list val foldr21 = [1,7] : int list val foldr22 = [1,7,2,8] : int list val foldr33 = [1,7,2,8,3,9] : int list val existsFun = fn : int * int -> bool val exists00 = false : bool val exists01__f = false : bool val exists01__t = false : bool val exists10_f_ = false : bool val exists10_t_ = false : bool val exists11_f_f = false : bool val exists11_f_t = false : bool val exists11_t_t = true : bool val exists12_f_ff = false : bool val exists12_f_tf = false : bool val exists12_t_tf = true : bool val exists21_ff_f = false : bool val exists21_ff_t = false : bool val exists21_tf_f = false : bool val exists21_tf_t = true : bool val exists22_ff = false : bool val exists22_ft = true : bool val exists22_tf = true : bool val exists22_tt = true : bool val allFun = fn : int * int -> bool val all00 = true : bool val all01__f = true : bool val all01__t = true : bool val all10_f_ = true : bool val all10_t_ = true : bool val all11_f_f = false : bool val all11_f_t = false : bool val all11_t_t = true : bool val all12_f_ff = false : bool val all12_f_tf = false : bool val all12_t_tf = true : bool val all21_ff_f = false : bool val all21_ff_t = false : bool val all21_tf_f = false : bool val all21_tf_t = true : bool val all22_ff = false : bool val all22_ft = false : bool val all22_tf = false : bool val all22_tt = true : bool smlsharp-1.2.0/test/tests/basis/outputs/Math001.out0000644 000000000000000000000113212050661606022310 0ustar00rootroot0000000 0000000 val sqrt001 = 1.10905365064 : Math.real val sin001 = 0.942488801932 : Math.real val cos001 = 0.334237727125 : Math.real val tan001 = 2.81981573427 : Math.real val asin001 = 0.123312275192 : Math.real val acos001 = 1.4474840516 : Math.real val atan001 = 0.888173774378 : Math.real val atan2001 = 0.48394938786 : Math.real val exp001 = 3.42122953629 : Math.real val pow001 = 1.62322215169 : Math.real val ln001 = 0.207014169384 : Math.real val log10001 = 0.0899051114394 : Math.real val sinh001 = 1.5644684793 : Math.real val cosh001 = 1.85676105699 : Math.real val tanh001 = 0.842579325659 : Math.real smlsharp-1.2.0/test/tests/basis/outputs/Option001.out0000644 000000000000000000000215212050661606022672 0ustar00rootroot0000000 0000000 val getOpt1 = 2 : int val getOpt2 = 1 : int val isSome1 = false : bool val isSome2 = true : bool val valOf1 = 2 : int val valOf2 = 1 : int val filterFun = fn : int -> bool val filter1 = SOME 1 : int Option.option val filter2 = NONE : int Option.option val join1 = NONE : int Option.option val join2 = NONE : int Option.option val join3 = SOME 1 : int Option.option val mapFun = fn : int -> int * int val map1 = NONE : (int * int) Option.option val map2 = SOME (2,1) : (int * int) Option.option val mapPartialFun = fn : bool -> int Option.option val mapPartial1 = NONE : int Option.option val mapPartial2 = SOME 1 : int Option.option val mapPartial3 = NONE : int Option.option val composeFun1 = fn : ['a.'a -> 'a * int] val composeFun2 = fn : bool -> int Option.option val compose1 = SOME (1,1) : (int * int) Option.option val compose2 = NONE : (int * int) Option.option val composePartialFun1 = fn : int -> bool Option.option val composePartialFun2 = fn : int -> int Option.option val composePartial1 = NONE : bool Option.option val composePartial2 = SOME true : bool Option.option val composePartial3 = NONE : bool Option.option smlsharp-1.2.0/test/tests/basis/outputs/Real001.out0000644 000000000000000000001213712050661606022311 0ustar00rootroot0000000 0000000 val abs_0 = 0.0 : Real.real val abs_p = 1.23 : Real.real val abs_m = 1.23 : Real.real val min_0_0 = 0.0 : Real.real val min_p_p_l = 1.23 : Real.real val min_p_p_g = 1.23 : Real.real val min_m_m_l = ~2.34 : Real.real val min_m_m_g = ~2.34 : Real.real val min_m_p = ~2.34 : Real.real val min_p_m = ~2.34 : Real.real val max_0_0 = 0.0 : Real.real val max_p_p_l = 2.34 : Real.real val max_p_p_g = 2.34 : Real.real val max_m_m_l = ~1.23 : Real.real val max_m_m_g = ~1.23 : Real.real val max_m_p = 1.23 : Real.real val max_p_m = 1.23 : Real.real val sign_0 = 0 : int val sign_p = 1 : int val sign_m = ~1 : int val signBit_0 = false : bool val signBit_p = false : bool val signBit_m = true : bool val sameSign_0_0 = true : bool val sameSign_p_p = true : bool val sameSign_m_m = true : bool val sameSign_m_p = false : bool val sameSign_p_m = false : bool val copySign_0_0 = 0.0 : Real.real val copySign_p_p = 1.23 : Real.real val copySign_m_m = ~2.34 : Real.real val copySign_m_p = 2.34 : Real.real val copySign_p_m = ~1.23 : Real.real val compare_0_0 = EQUAL : order val compare_p_p_l = LESS : order val compare_p_p_g = GREATER : order val compare_p_p_e = EQUAL : order val compare_m_m_l = LESS : order val compare_m_m_g = GREATER : order val compare_m_m_e = EQUAL : order val compare_m_p = LESS : order val compare_p_m = GREATER : order val compareReal_0_0 = EQUAL : IEEEReal.real_order val compareReal_p_p_l = LESS : IEEEReal.real_order val compareReal_p_p_g = GREATER : IEEEReal.real_order val compareReal_p_p_e = EQUAL : IEEEReal.real_order val compareReal_m_m_l = LESS : IEEEReal.real_order val compareReal_m_m_g = GREATER : IEEEReal.real_order val compareReal_m_m_e = EQUAL : IEEEReal.real_order val compareReal_m_p = LESS : IEEEReal.real_order val compareReal_p_m = GREATER : IEEEReal.real_order val testBinComp = fn : Real.real * Real.real -> bool * bool * bool * bool val binComp_0_0 = (false,true,false,true) : bool * bool * bool * bool val binComp_p_p_l = (true,true,false,false) : bool * bool * bool * bool val binComp_p_p_g = (false,false,true,true) : bool * bool * bool * bool val binComp_p_p_e = (false,true,false,true) : bool * bool * bool * bool val binComp_m_m_l = (true,true,false,false) : bool * bool * bool * bool val binComp_m_m_g = (false,false,true,true) : bool * bool * bool * bool val binComp_m_m_e = (false,true,false,true) : bool * bool * bool * bool val binComp_m_p = (true,true,false,false) : bool * bool * bool * bool val binComp_p_m = (false,false,true,true) : bool * bool * bool * bool val testIEEEEq = fn : Real.real * Real.real -> bool * bool * bool * bool val IEEEEqOp_0_0 = (true,false,true,false) : bool * bool * bool * bool val IEEEEqOp_p_p_l = (false,true,false,false) : bool * bool * bool * bool val IEEEEqOp_p_p_g = (false,true,false,false) : bool * bool * bool * bool val IEEEEqOp_p_p_e = (true,false,true,false) : bool * bool * bool * bool val IEEEEqOp_m_m_l = (false,true,false,false) : bool * bool * bool * bool val IEEEEqOp_m_m_g = (false,true,false,false) : bool * bool * bool * bool val IEEEEqOp_m_m_e = (true,false,true,false) : bool * bool * bool * bool val IEEEEqOp_m_p = (false,true,false,false) : bool * bool * bool * bool val IEEEEqOp_p_m = (false,true,false,false) : bool * bool * bool * bool val isFinite_0 = true : bool val isFinite_n = true : bool val isNan_0 = false : bool val isNan_n = false : bool val isNormal_0 = false : bool val isNormal_n = true : bool val toManExp_0 = {exp=~1022,man=0.0} : {exp:int, man:Real.real} val toManExp_p = {exp=7,man=0.9645} : {exp:int, man:Real.real} val toManExp_m = {exp=7,man=~0.9645} : {exp:int, man:Real.real} val fromManExp_p_p = 196.8 : Real.real val fromManExp_p_m = 0.76875 : Real.real val fromManExp_m_p = ~196.8 : Real.real val fromManExp_m_m = ~0.76875 : Real.real val split_0 = {frac=0.0,whole=0.0} : {frac:Real.real, whole:Real.real} val split_p = {frac=0.456,whole=123.0} : {frac:Real.real, whole:Real.real} val split_m = {frac=~0.456,whole=~123.0} : {frac:Real.real, whole:Real.real} val realMod_0 = 0.0 : Real.real val realMod_p = 0.456 : Real.real val realMod_m = ~0.456 : Real.real val floor_0 = 0 : int val floor_1_4 = 1 : int val floor_1_5 = 1 : int val floor_m1_4 = ~2 : int val floor_m1_5 = ~2 : int val ceil_0 = 0 : int val ceil_1_4 = 2 : int val ceil_1_5 = 2 : int val ceil_m1_4 = ~1 : int val ceil_m1_5 = ~1 : int val trunc_0 = 0 : int val trunc_1_4 = 1 : int val trunc_1_5 = 1 : int val trunc_m1_4 = ~1 : int val trunc_m1_5 = ~1 : int val round_0 = 0 : int val round_1_4 = 1 : int val round_1_5 = 2 : int val round_m1_4 = ~1 : int val round_m1_5 = ~2 : int val realFloor_0 = 0.0 : Real.real val realFloor_1_4 = 1.0 : Real.real val realFloor_1_5 = 1.0 : Real.real val realFloor_m1_4 = ~2.0 : Real.real val realFloor_m1_5 = ~2.0 : Real.real val realCeil_0 = 0.0 : Real.real val realCeil_1_4 = 2.0 : Real.real val realCeil_1_5 = 2.0 : Real.real val realCeil_m1_4 = ~1.0 : Real.real val realCeil_m1_5 = ~1.0 : Real.real val realTrunc_0 = 0.0 : Real.real val realTrunc_1_4 = 1.0 : Real.real val realTrunc_1_5 = 1.0 : Real.real val realTrunc_m1_4 = ~1.0 : Real.real val realTrunc_m1_5 = ~1.0 : Real.real stdIn:168.19-168.33 Error: unbound variable or constructor: Real.realRound in path Real.realRound - smlsharp-1.2.0/test/tests/basis/outputs/Real32001.out0000644 000000000000000000001221012050661606022446 0ustar00rootroot0000000 0000000 - val abs_0 = 0.0 : Real32.real val abs_p = 1.23 : Real32.real val abs_m = 1.23 : Real32.real val min_0_0 = 0.0 : Real32.real val min_p_p_l = 1.23 : Real32.real val min_p_p_g = 1.23 : Real32.real val min_m_m_l = ~2.34 : Real32.real val min_m_m_g = ~2.34 : Real32.real val min_m_p = ~2.34 : Real32.real val min_p_m = ~2.34 : Real32.real val max_0_0 = 0.0 : Real32.real val max_p_p_l = 2.34 : Real32.real val max_p_p_g = 2.34 : Real32.real val max_m_m_l = ~1.23 : Real32.real val max_m_m_g = ~1.23 : Real32.real val max_m_p = 1.23 : Real32.real val max_p_m = 1.23 : Real32.real val sign_0 = 0 : int val sign_p = 1 : int val sign_m = ~1 : int val signBit_0 = false : bool val signBit_p = false : bool val signBit_m = true : bool val sameSign_0_0 = true : bool val sameSign_p_p = true : bool val sameSign_m_m = true : bool val sameSign_m_p = false : bool val sameSign_p_m = false : bool val copySign_0_0 = 0.0 : Real32.real val copySign_p_p = 1.23 : Real32.real val copySign_m_m = ~2.34 : Real32.real val copySign_m_p = 2.34 : Real32.real val copySign_p_m = ~1.23 : Real32.real val compare_0_0 = EQUAL : order val compare_p_p_l = LESS : order val compare_p_p_g = GREATER : order val compare_p_p_e = EQUAL : order val compare_m_m_l = LESS : order val compare_m_m_g = GREATER : order val compare_m_m_e = EQUAL : order val compare_m_p = LESS : order val compare_p_m = GREATER : order val compareReal_0_0 = EQUAL : IEEEReal.real_order val compareReal_p_p_l = LESS : IEEEReal.real_order val compareReal_p_p_g = GREATER : IEEEReal.real_order val compareReal_p_p_e = EQUAL : IEEEReal.real_order val compareReal_m_m_l = LESS : IEEEReal.real_order val compareReal_m_m_g = GREATER : IEEEReal.real_order val compareReal_m_m_e = EQUAL : IEEEReal.real_order val compareReal_m_p = LESS : IEEEReal.real_order val compareReal_p_m = GREATER : IEEEReal.real_order val testBinComp = fn : Real32.real * real -> bool * bool * bool * bool val binComp_0_0 = (false,true,false,true) : bool * bool * bool * bool val binComp_p_p_l = (true,true,false,false) : bool * bool * bool * bool val binComp_p_p_g = (false,false,true,true) : bool * bool * bool * bool val binComp_p_p_e = (false,true,false,true) : bool * bool * bool * bool val binComp_m_m_l = (true,true,false,false) : bool * bool * bool * bool val binComp_m_m_g = (false,false,true,true) : bool * bool * bool * bool val binComp_m_m_e = (false,true,false,true) : bool * bool * bool * bool val binComp_m_p = (true,true,false,false) : bool * bool * bool * bool val binComp_p_m = (false,false,true,true) : bool * bool * bool * bool val testIEEEEq = fn : Real32.real * real -> bool * bool * bool * bool val IEEEEqOp_0_0 = (true,false,true,false) : bool * bool * bool * bool val IEEEEqOp_p_p_l = (false,true,false,false) : bool * bool * bool * bool val IEEEEqOp_p_p_g = (false,true,false,false) : bool * bool * bool * bool val IEEEEqOp_p_p_e = (true,false,true,false) : bool * bool * bool * bool val IEEEEqOp_m_m_l = (false,true,false,false) : bool * bool * bool * bool val IEEEEqOp_m_m_g = (false,true,false,false) : bool * bool * bool * bool val IEEEEqOp_m_m_e = (true,false,true,false) : bool * bool * bool * bool val IEEEEqOp_m_p = (false,true,false,false) : bool * bool * bool * bool val IEEEEqOp_p_m = (false,true,false,false) : bool * bool * bool * bool val isFinite_0 = true : bool val isFinite_n = true : bool val isNan_0 = false : bool val isNan_n = false : bool val isNormal_0 = false : bool val isNormal_n = true : bool val toManExp_0 = {exp=~1022,man=0.0} : {exp:int, man:real} val toManExp_p = {exp=7,man=0.9645} : {exp:int, man:real} val toManExp_m = {exp=7,man=~0.9645} : {exp:int, man:real} val fromManExp_p_p = 196.8 : Real32.real val fromManExp_p_m = 0.76875 : Real32.real val fromManExp_m_p = ~196.8 : Real32.real val fromManExp_m_m = ~0.76875 : Real32.real val split_0 = {frac=0.0,whole=0.0} : {frac:real, whole:real} val split_p = {frac=0.456,whole=123.0} : {frac:real, whole:real} val split_m = {frac=~0.456,whole=~123.0} : {frac:real, whole:real} val realMod_0 = 0.0 : Real32.real val realMod_p = 0.456 : Real32.real val realMod_m = ~0.456 : Real32.real val floor_0 = 0 : int val floor_1_4 = 1 : int val floor_1_5 = 1 : int val floor_m1_4 = ~2 : int val floor_m1_5 = ~2 : int val ceil_0 = 0 : int val ceil_1_4 = 2 : int val ceil_1_5 = 2 : int val ceil_m1_4 = ~1 : int val ceil_m1_5 = ~1 : int val trunc_0 = 0 : int val trunc_1_4 = 1 : int val trunc_1_5 = 1 : int val trunc_m1_4 = ~1 : int val trunc_m1_5 = ~1 : int val round_0 = 0 : int val round_1_4 = 1 : int val round_1_5 = 2 : int val round_m1_4 = ~1 : int val round_m1_5 = ~2 : int val realFloor_0 = 0.0 : Real32.real val realFloor_1_4 = 1.0 : Real32.real val realFloor_1_5 = 1.0 : Real32.real val realFloor_m1_4 = ~2.0 : Real32.real val realFloor_m1_5 = ~2.0 : Real32.real val realCeil_0 = 0.0 : Real32.real val realCeil_1_4 = 2.0 : Real32.real val realCeil_1_5 = 2.0 : Real32.real val realCeil_m1_4 = ~1.0 : Real32.real val realCeil_m1_5 = ~1.0 : Real32.real val realTrunc_0 = 0.0 : Real32.real val realTrunc_1_4 = 1.0 : Real32.real val realTrunc_1_5 = 1.0 : Real32.real val realTrunc_m1_4 = ~1.0 : Real32.real val realTrunc_m1_5 = ~1.0 : Real32.real stdIn:168.19-168.33 Error: unbound variable or constructor: Real32.realRound in path Real.realRound - smlsharp-1.2.0/test/tests/basis/outputs/RealArray001.out0000644 000000000000000000000114112050661606023301 0ustar00rootroot0000000 0000000 - val L2A = fn : int list -> Real64Array.array val L2V = fn : int list -> Real64Vector.vector val A2L = fn : Real64Array.array -> int list val V2L = fn : Real64Vector.vector -> int list val array_0i = [] : int list val array_1i = [1] : int list val array_2i = [1,1] : int list val array_m1i = [9] : int list stdIn:39.48-39.57 Error: unbound type constructor: word in path Real.word - stdIn:2.10 Error: syntax error found at RPAREN - stdIn:2.9-41.7 Error: operator and operand don't agree [equality type required] operator domain: ''Z * ''Z operand: real * real in expression: value = 9.9 - smlsharp-1.2.0/test/tests/basis/outputs/RealVector001.out0000644 000000000000000000000042012050661606023464 0ustar00rootroot0000000 0000000 - val L2V = fn : int list -> Real64Vector.vector val V2L = fn : Real64Vector.vector -> int list stdIn:26.49-26.58 Error: unbound type constructor: word in path Real.word - stdIn:1.1 Error: unbound variable or constructor: n - stdIn:1.1 Error: syntax error found at DOT - smlsharp-1.2.0/test/tests/basis/outputs/String001.out0000644 000000000000000000001470112050661606022673 0ustar00rootroot0000000 0000000 val size_0 = 0 : int val size_1 = 1 : int val size_2 = 2 : int val sub_0_0 = #"E" : String.char val sub_1_m1 = #"E" : String.char val sub_1_0 = #"a" : String.char val sub_1_1 = #"E" : String.char val sub_2_m1 = #"E" : String.char val sub_2_0 = #"a" : String.char val sub_2_1 = #"b" : String.char val sub_2_2 = #"E" : String.char val extract_0_0_N = "" : String.string val extract_0_0_0 = "" : String.string val extract_1_0_N = "a" : String.string val extract_1_0_0 = "" : String.string val extract_1_0_1 = "a" : String.string val extract_1_1_N = "" : String.string val extract_1_1_0 = "" : String.string val extract_2_0_N = "ab" : String.string val extract_2_0_0 = "" : String.string val extract_2_0_1 = "a" : String.string val extract_2_0_2 = "ab" : String.string val extract_2_1_N = "b" : String.string val extract_2_1_0 = "" : String.string val extract_2_1_1 = "b" : String.string val extract_2_2_N = "" : String.string val extract_2_2_0 = "" : String.string val extract_2_m1_N = "x" : String.string val extract_2_3_N = "x" : String.string val extract_2_m1_0 = "x" : String.string val extract_2_0_m1 = "x" : String.string val extract_2_1_2 = "x" : String.string val substring_0_0_0 = "" : String.string val substring_1_0_0 = "" : String.string val substring_1_0_1 = "a" : String.string val substring_1_1_0 = "" : String.string val substring_2_0_0 = "" : String.string val substring_2_0_1 = "a" : String.string val substring_2_0_2 = "ab" : String.string val substring_2_1_0 = "" : String.string val substring_2_1_1 = "b" : String.string val substring_2_2_0 = "" : String.string val substring_2_m1_0 = "x" : String.string val substring_2_0_m1 = "x" : String.string val substring_2_1_2 = "x" : String.string val concat2_0_0 = "" : String.string val concat2_0_1 = "a" : String.string val concat2_1_0 = "a" : String.string val concat2_1_1 = "ab" : String.string val concat2_1_2 = "abc" : String.string val concat2_2_2 = "abbc" : String.string val concat_0 = "" : String.string val concat_1 = "ab" : String.string val concat_2_diff = "aba" : String.string val concat_2_same = "abab" : String.string val concat_2_02 = "ab" : String.string val concat_2_20 = "ab" : String.string val concat_3_202 = "abab" : String.string val concat_3_212 = "abaab" : String.string val implode_0 = "" : String.string val implode_1 = "a" : String.string val implode_2 = "ab" : String.string val implode_3 = "abc" : String.string val explode_0 = [] : String.char list val explode_1 = [#"a"] : String.char list val explode_2 = [#"a",#"b"] : String.char list val explode_3 = [#"a",#"b",#"c"] : String.char list val mapFun = fn : char -> char val map0 = "" : String.string val map1 = "x" : String.string val map2 = "xx" : String.string val translateFun = fn : char -> String.string val translate0 = "" : String.string bbval translate1 = "bb" : String.string bbccval translate2 = "bbcc" : String.string val tokensFun = fn : char -> bool val tokens_empty = [] : String.string list val tokens_00 = [] : String.string list val tokens_01 = ["b"] : String.string list val tokens_10 = ["b"] : String.string list val tokens_11 = ["b","c"] : String.string list val tokens_000 = [] : String.string list val tokens_001 = ["b"] : String.string list val tokens_010 = ["b"] : String.string list val tokens_011 = ["b","c"] : String.string list val tokens_100 = ["b"] : String.string list val tokens_101 = ["b","c"] : String.string list val tokens_110 = ["b","c"] : String.string list val tokens_111 = ["b","c","d"] : String.string list val tokens_222 = ["bc","de","fg"] : String.string list val fieldsFun = fn : char -> bool val fields_empty = [""] : String.string list val fields_00 = ["",""] : String.string list val fields_01 = ["","b"] : String.string list val fields_10 = ["b",""] : String.string list val fields_11 = ["b","c"] : String.string list val fields_000 = ["","",""] : String.string list val fields_001 = ["","","b"] : String.string list val fields_010 = ["","b",""] : String.string list val fields_011 = ["","b","c"] : String.string list val fields_100 = ["b","",""] : String.string list val fields_101 = ["b","","c"] : String.string list val fields_110 = ["b","c",""] : String.string list val fields_111 = ["b","c","d"] : String.string list val fields_222 = ["bc","de","fg"] : String.string list val isPrefix_0_0 = true : bool val isPrefix_1_0 = false : bool val isPrefix_0_1 = true : bool val isPrefix_1_1t = true : bool val isPrefix_1_1f = false : bool val isPrefix_1_2t = true : bool val isPrefix_1_2f = false : bool val isPrefix_2_2t = true : bool val isPrefix_2_2f = false : bool val isPrefix_2_3t = true : bool val isPrefix_2_3f = false : bool val isPrefix_3_3t = true : bool val isPrefix_3_3f = false : bool val isSuffix_0_0 = true : bool val isSuffix_1_0 = false : bool val isSuffix_0_1 = true : bool val isSuffix_1_1t = true : bool val isSuffix_1_1f = false : bool val isSuffix_1_2t = true : bool val isSuffix_1_2f = false : bool val isSuffix_2_2t = true : bool val isSuffix_2_2f = false : bool val isSuffix_2_3t = true : bool val isSuffix_2_3f = false : bool val isSuffix_3_3t = true : bool val isSuffix_3_3f = false : bool val isSubstring_0_0 = true : bool val isSubstring_1_0 = false : bool val isSubstring_0_1 = true : bool val isSubstring_1_1t = true : bool val isSubstring_1_1f = false : bool val isSubstring_1_2t1 = true : bool val isSubstring_1_2t2 = true : bool val isSubstring_1_2f = false : bool val isSubstring_2_2t = true : bool val isSubstring_2_2f = false : bool val isSubstring_2_3t1 = true : bool val isSubstring_2_3t2 = true : bool val isSubstring_2_3f = false : bool val isSubstring_3_3t = true : bool val isSubstring_3_3f = false : bool val compare_0_0 = EQUAL : order val compare_0_1 = LESS : order val compare_1_0 = GREATER : order val compare_1_1_lt = LESS : order val compare_1_1_eq = EQUAL : order val compare_1_1_gt = GREATER : order val compare_1_2_lt = LESS : order val compare_1_2_gt = LESS : order val compare_2_1_lt = LESS : order val compare_2_1_gt = GREATER : order val compare_2_2_lt = LESS : order val compare_2_2_eq = EQUAL : order val compare_2_2_gt = GREATER : order val collateFun = fn : char * char -> General.order val collate_0_0 = EQUAL : order val collate_0_1 = LESS : order val collate_1_0 = GREATER : order val collate_1_1_lt = GREATER : order val collate_1_1_eq = EQUAL : order val collate_1_1_gt = LESS : order val collate_1_2_lt = GREATER : order val collate_1_2_gt = LESS : order val collate_2_1_lt = GREATER : order val collate_2_1_gt = GREATER : order val collate_2_2_lt = GREATER : order val collate_2_2_eq = EQUAL : order val collate_2_2_gt = LESS : order smlsharp-1.2.0/test/tests/basis/outputs/StringCvt001.out0000644 000000000000000000000442212050661606023347 0ustar00rootroot0000000 0000000 val reader = fn : ['a.'a list -> ('a * 'a list) option] val padLeft0 = "xx" : string val padLeft1 = "xx" : string val padLeft2 = "xx" : string val padLeft3 = "axx" : string val padLeft4 = "aaxx" : string val padRight0 = "xx" : string val padRight1 = "xx" : string val padRight2 = "xx" : string val padRight3 = "xxa" : string val padRight4 = "xxaa" : string val splitlFun = fn : char -> bool val splitl0 = ("",[]) : string * char list val splitl10 = ("",[#"x"]) : string * char list val splitl11 = ("a",[]) : string * char list val splitl200 = ("",[#"x",#"y"]) : string * char list val splitl201 = ("",[#"x",#"a"]) : string * char list val splitl210 = ("a",[#"y"]) : string * char list val splitl211 = ("ab",[]) : string * char list val splitl3000 = ("",[#"x",#"y",#"z"]) : string * char list val splitl3001 = ("",[#"x",#"y",#"a"]) : string * char list val splitl3010 = ("",[#"x",#"a",#"z"]) : string * char list val splitl3100 = ("a",[#"y",#"z"]) : string * char list val splitl3110 = ("ab",[#"z"]) : string * char list val splitl3111 = ("abc",[]) : string * char list val takelFun = fn : char -> bool val takel0 = "" : string val takel10 = "" : string val takel11 = "a" : string val takel200 = "" : string val takel201 = "" : string val takel210 = "a" : string val takel211 = "ab" : string val takel3000 = "" : string val takel3001 = "" : string val takel3010 = "" : string val takel3100 = "a" : string val takel3110 = "ab" : string val takel3111 = "abc" : string val droplFun = fn : char -> bool val dropl0 = [] : char list val dropl10 = [#"x"] : char list val dropl11 = [] : char list val dropl200 = [#"x",#"y"] : char list val dropl201 = [#"x",#"a"] : char list val dropl210 = [#"y"] : char list val dropl211 = [] : char list val dropl3000 = [#"x",#"y",#"z"] : char list val dropl3001 = [#"x",#"y",#"a"] : char list val dropl3010 = [#"x",#"a",#"z"] : char list val dropl3100 = [#"y",#"z"] : char list val dropl3110 = [#"z"] : char list val dropl3111 = [] : char list val skipWS0 = [] : char list val skipWS1 = [#"a"] : char list val skipWS2 = [#"a"] : char list val scanStringFun = fn : ['a,'b,'c.('a -> ('c * 'b) option) -> 'a -> (('c * 'c) * 'b) option] val scanString0 = NONE : (char * char) option val scanString1 = SOME (#"a",#"a") : (char * char) option val scanString2 = SOME (#"a",#"a") : (char * char) option smlsharp-1.2.0/test/tests/basis/outputs/Substring001.out0000644 000000000000000000011244112050661606023405 0ustar00rootroot0000000 0000000 val ss_0 = - : Substring.substring val ss_1 = - : Substring.substring val ss_2 = - : Substring.substring val checkSS = fn : Substring.substring -> ((Substring.string * int * int) * Substring.string) option val check2SS = fn : Substring.substring * Substring.substring -> ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val checkSSs = fn : Substring.substring list -> ((Substring.string * int * int) * Substring.string) list val extract_0_0_N = SOME (("", 0, 0), "") : ((Substring.string * int * int) * Substring.string) option val extract_0_0_0 = SOME (("", 0, 0), "") : ((Substring.string * int * int) * Substring.string) option val extract_1_0_N = SOME (("a", 0, 1), "a") : ((Substring.string * int * int) * Substring.string) option val extract_1_0_0 = SOME (("a", 0, 0), "") : ((Substring.string * int * int) * Substring.string) option val extract_1_0_1 = SOME (("a", 0, 1), "a") : ((Substring.string * int * int) * Substring.string) option val extract_1_1_N = SOME (("a", 1, 0), "") : ((Substring.string * int * int) * Substring.string) option val extract_1_1_0 = SOME (("a", 1, 0), "") : ((Substring.string * int * int) * Substring.string) option val extract_2_0_N = SOME (("ab", 0, 2), "ab") : ((Substring.string * int * int) * Substring.string) option val extract_2_0_0 = SOME (("ab", 0, 0), "") : ((Substring.string * int * int) * Substring.string) option val extract_2_0_1 = SOME (("ab", 0, 1), "a") : ((Substring.string * int * int) * Substring.string) option val extract_2_0_2 = SOME (("ab", 0, 2), "ab") : ((Substring.string * int * int) * Substring.string) option val extract_2_1_N = SOME (("ab", 1, 1), "b") : ((Substring.string * int * int) * Substring.string) option val extract_2_1_0 = SOME (("ab", 1, 0), "") : ((Substring.string * int * int) * Substring.string) option val extract_2_1_1 = SOME (("ab", 1, 1), "b") : ((Substring.string * int * int) * Substring.string) option val extract_2_2_N = SOME (("ab", 2, 0), "") : ((Substring.string * int * int) * Substring.string) option val extract_2_2_0 = SOME (("ab", 2, 0), "") : ((Substring.string * int * int) * Substring.string) option val extract_2_m1_N = NONE : ((Substring.string * int * int) * Substring.string) option val extract_2_3_N = NONE : ((Substring.string * int * int) * Substring.string) option val extract_2_m1_0 = NONE : ((Substring.string * int * int) * Substring.string) option val extract_2_0_m1 = NONE : ((Substring.string * int * int) * Substring.string) option val extract_2_1_2 = NONE : ((Substring.string * int * int) * Substring.string) option val substring_0_0_0 = SOME (("", 0, 0), "") : ((Substring.string * int * int) * Substring.string) option val substring_1_0_0 = SOME (("a", 0, 0), "") : ((Substring.string * int * int) * Substring.string) option val substring_1_0_1 = SOME (("a", 0, 1), "a") : ((Substring.string * int * int) * Substring.string) option val substring_1_1_0 = SOME (("a", 1, 0), "") : ((Substring.string * int * int) * Substring.string) option val substring_2_0_0 = SOME (("ab", 0, 0), "") : ((Substring.string * int * int) * Substring.string) option val substring_2_0_1 = SOME (("ab", 0, 1), "a") : ((Substring.string * int * int) * Substring.string) option val substring_2_0_2 = SOME (("ab", 0, 2), "ab") : ((Substring.string * int * int) * Substring.string) option val substring_2_1_0 = SOME (("ab", 1, 0), "") : ((Substring.string * int * int) * Substring.string) option val substring_2_1_1 = SOME (("ab", 1, 1), "b") : ((Substring.string * int * int) * Substring.string) option val substring_2_2_0 = SOME (("ab", 2, 0), "") : ((Substring.string * int * int) * Substring.string) option val substring_2_m1_0 = NONE : ((Substring.string * int * int) * Substring.string) option val substring_2_0_m1 = NONE : ((Substring.string * int * int) * Substring.string) option val substring_2_1_2 = NONE : ((Substring.string * int * int) * Substring.string) option val full_empty = SOME (("", 0, 0), "") : ((Substring.string * int * int) * Substring.string) option val full_1 = SOME (("a", 0, 1), "a") : ((Substring.string * int * int) * Substring.string) option val full_2 = SOME (("ab", 0, 2), "ab") : ((Substring.string * int * int) * Substring.string) option val full_10 = SOME (("abcdefghij", 0, 10), "abcdefghij") : ((Substring.string * int * int) * Substring.string) option val isEmpty_0 = true : bool val isEmpty_1_0_N = false : bool val isEmpty_1_0_0 = true : bool val isEmpty_1_0_1 = false : bool val isEmpty_1_1_N = true : bool val getc_0 = NONE : (Substring.char * Substring.substring) option val getc_1_0_N = SOME (#"a", -) : (Substring.char * Substring.substring) option val getc_1_0_0 = NONE : (Substring.char * Substring.substring) option val getc_1_0_1 = SOME (#"a", -) : (Substring.char * Substring.substring) option val getc_1_1_N = NONE : (Substring.char * Substring.substring) option val first_0 = NONE : Substring.char option val first_1_0_N = SOME #"a" : Substring.char option val first_1_0_0 = NONE : Substring.char option val first_1_0_1 = SOME #"a" : Substring.char option val first_1_1_N = NONE : Substring.char option val triml_0_0 = SOME (("", 0, 0), "") : ((Substring.string * int * int) * Substring.string) option val triml_1_0 = SOME (("", 0, 0), "") : ((Substring.string * int * int) * Substring.string) option val triml_0_1 = SOME (("abc", 1, 1), "b") : ((Substring.string * int * int) * Substring.string) option val triml_1_1 = SOME (("abc", 2, 0), "") : ((Substring.string * int * int) * Substring.string) option val triml_2_1 = SOME (("abc", 2, 0), "") : ((Substring.string * int * int) * Substring.string) option val triml_0_2 = SOME (("abcd", 1, 2), "bc") : ((Substring.string * int * int) * Substring.string) option val triml_1_2 = SOME (("abcd", 2, 1), "c") : ((Substring.string * int * int) * Substring.string) option val triml_2_2 = SOME (("abcd", 3, 0), "") : ((Substring.string * int * int) * Substring.string) option val triml_3_2 = SOME (("abcd", 3, 0), "") : ((Substring.string * int * int) * Substring.string) option val triml_m1 = NONE : (Substring.substring -> Substring.substring) option val trimr_0_0 = SOME (("", 0, 0), "") : ((Substring.string * int * int) * Substring.string) option val trimr_1_0 = SOME (("", 0, 0), "") : ((Substring.string * int * int) * Substring.string) option val trimr_0_1 = SOME (("abc", 1, 1), "b") : ((Substring.string * int * int) * Substring.string) option val trimr_1_1 = SOME (("abc", 1, 0), "") : ((Substring.string * int * int) * Substring.string) option val trimr_2_1 = SOME (("abc", 1, 0), "") : ((Substring.string * int * int) * Substring.string) option val trimr_0_2 = SOME (("abcd", 1, 2), "bc") : ((Substring.string * int * int) * Substring.string) option val trimr_1_2 = SOME (("abcd", 1, 1), "b") : ((Substring.string * int * int) * Substring.string) option val trimr_2_2 = SOME (("abcd", 1, 0), "") : ((Substring.string * int * int) * Substring.string) option val trimr_3_2 = SOME (("abcd", 1, 0), "") : ((Substring.string * int * int) * Substring.string) option val trimr_m1 = NONE : (Substring.substring -> Substring.substring) option val slice_0_0_N = SOME (("abc", 1, 0), "") : ((Substring.string * int * int) * Substring.string) option val slice_0_0_0 = SOME (("abc", 1, 0), "") : ((Substring.string * int * int) * Substring.string) option val slice_1_0_N = SOME (("abc", 1, 1), "b") : ((Substring.string * int * int) * Substring.string) option val slice_1_0_0 = SOME (("abc", 1, 0), "") : ((Substring.string * int * int) * Substring.string) option val slice_1_0_1 = SOME (("abc", 1, 1), "b") : ((Substring.string * int * int) * Substring.string) option val slice_1_1_N = SOME (("abc", 2, 0), "") : ((Substring.string * int * int) * Substring.string) option val slice_1_1_0 = SOME (("abc", 2, 0), "") : ((Substring.string * int * int) * Substring.string) option val slice_2_0_N = SOME (("abcd", 1, 2), "bc") : ((Substring.string * int * int) * Substring.string) option val slice_2_0_0 = SOME (("abcd", 1, 0), "") : ((Substring.string * int * int) * Substring.string) option val slice_2_0_1 = SOME (("abcd", 1, 1), "b") : ((Substring.string * int * int) * Substring.string) option val slice_2_0_2 = SOME (("abcd", 1, 2), "bc") : ((Substring.string * int * int) * Substring.string) option val slice_2_1_N = SOME (("abcd", 2, 1), "c") : ((Substring.string * int * int) * Substring.string) option val slice_2_1_0 = SOME (("abcd", 2, 0), "") : ((Substring.string * int * int) * Substring.string) option val slice_2_1_1 = SOME (("abcd", 2, 1), "c") : ((Substring.string * int * int) * Substring.string) option val slice_2_2_N = SOME (("abcd", 3, 0), "") : ((Substring.string * int * int) * Substring.string) option val slice_2_2_0 = SOME (("abcd", 3, 0), "") : ((Substring.string * int * int) * Substring.string) option val slice_2_m1_N = NONE : ((Substring.string * int * int) * Substring.string) option val slice_2_3_N = NONE : ((Substring.string * int * int) * Substring.string) option val slice_2_m1_0 = NONE : ((Substring.string * int * int) * Substring.string) option val slice_2_0_m1 = NONE : ((Substring.string * int * int) * Substring.string) option val slice_2_1_2 = NONE : ((Substring.string * int * int) * Substring.string) option val sub_0_0 = #"E" : Substring.char val sub_1_m1 = #"E" : Substring.char val sub_1_0 = #"b" : Substring.char val sub_1_1 = #"E" : Substring.char val sub_2_m1 = #"E" : Substring.char val sub_2_0 = #"b" : Substring.char val sub_2_1 = #"c" : Substring.char val sub_2_2 = #"E" : Substring.char val size_0 = 0 : int val size_1 = 1 : int val size_2 = 2 : int val concat_0 = "" : Substring.string val concat_1 = "bc" : Substring.string val concat_2_diff = "bcb" : Substring.string val concat_2_same = "bcbc" : Substring.string val concat_2_02 = "bc" : Substring.string val concat_2_20 = "bc" : Substring.string val concat_3_202 = "bcbc" : Substring.string val concat_3_212 = "bcbbc" : Substring.string val explode_0_0_0 = [] : Substring.char list val explode_1_0_0 = [] : Substring.char list val explode_1_0_1 = [#"a"] : Substring.char list val explode_1_1_0 = [] : Substring.char list val explode_2_0_0 = [] : Substring.char list val explode_2_0_1 = [#"a"] : Substring.char list val explode_2_0_2 = [#"a", #"b"] : Substring.char list val explode_2_1_0 = [] : Substring.char list val explode_2_1_1 = [#"b"] : Substring.char list val explode_2_2_0 = [] : Substring.char list val isPrefix_0_0 = true : bool val isPrefix_1_0 = false : bool val isPrefix_0_1 = true : bool val isPrefix_1_1t = true : bool val isPrefix_1_1f = false : bool val isPrefix_1_2t = true : bool val isPrefix_1_2f = false : bool val isPrefix_2_2t = true : bool val isPrefix_2_2f = false : bool val isPrefix_2_3t = true : bool val isPrefix_2_3f = false : bool val isPrefix_3_3t = true : bool val isPrefix_3_3f = false : bool val compare_0_0 = EQUAL : order val compare_0_1 = LESS : order val compare_1_0 = GREATER : order val compare_1_1_lt = LESS : order val compare_1_1_eq = EQUAL : order val compare_1_1_gt = GREATER : order val compare_1_2_lt = LESS : order val compare_1_2_gt = LESS : order val compare_2_1_lt = LESS : order val compare_2_1_gt = GREATER : order val compare_2_2_lt = LESS : order val compare_2_2_eq = EQUAL : order val compare_2_2_gt = GREATER : order val collateFun = fn : char * char -> General.order val collate_0_0 = EQUAL : order val collate_0_1 = LESS : order val collate_1_0 = GREATER : order val collate_1_1_lt = GREATER : order val collate_1_1_eq = EQUAL : order val collate_1_1_gt = LESS : order val collate_1_2_lt = GREATER : order val collate_1_2_gt = LESS : order val collate_2_1_lt = GREATER : order val collate_2_1_gt = GREATER : order val collate_2_2_lt = GREATER : order val collate_2_2_eq = EQUAL : order val collate_2_2_gt = LESS : order val splitFun = fn : char -> bool val splitl_0 = SOME (("", 0, 0), "", ("", 0, 0), "") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitl_1_f = SOME (("abc", 1, 0), "", ("abc", 1, 1), "b") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitl_1_t = SOME (("aAc", 1, 1), "A", ("aAc", 2, 0), "") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitl_2_f = SOME (("abcd", 1, 0), "", ("abcd", 1, 2), "bc") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitl_2_0 = SOME (("aAcd", 1, 1), "A", ("aAcd", 2, 1), "c") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitl_2_1 = SOME (("aaAd", 1, 0), "", ("aaAd", 1, 2), "aA") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitl_3_f = SOME (("abcde", 1, 0), "", ("abcde", 1, 3), "bcd") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitl_3_0 = SOME (("aAcAe", 1, 1), "A", ("aAcAe", 2, 2), "cA") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitl_3_1 = SOME (("abAAe", 1, 0), "", ("abAAe", 1, 3), "bAA") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitl_3_2 = SOME (("abcAe", 1, 0), "", ("abcAe", 1, 3), "bcA") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitr_0 = SOME (("", 0, 0), "", ("", 0, 0), "") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitr_1_f = SOME (("abc", 1, 1), "b", ("abc", 2, 0), "") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitr_1_t = SOME (("aAc", 1, 0), "", ("aAc", 1, 1), "A") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitr_2_f = SOME (("abcd", 1, 2), "bc", ("abcd", 3, 0), "") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitr_2_0 = SOME (("aAcd", 1, 2), "Ac", ("aAcd", 3, 0), "") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitr_2_1 = SOME (("aaAd", 1, 1), "a", ("aaAd", 2, 1), "A") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitr_3_f = SOME (("abcde", 1, 3), "bcd", ("abcde", 4, 0), "") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitr_3_0 = SOME (("aAcAe", 1, 2), "Ac", ("aAcAe", 3, 1), "A") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitr_3_1 = SOME (("abAAe", 1, 1), "b", ("abAAe", 2, 2), "AA") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitr_3_2 = SOME (("abcAe", 1, 2), "bc", ("abcAe", 3, 1), "A") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitAt_0_0 = SOME (("", 0, 0), "", ("", 0, 0), "") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitAt_0_m1 = NONE : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitAt_0_1 = NONE : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitAt_1_0 = SOME (("abc", 1, 0), "", ("abc", 1, 1), "b") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitAt_1_1 = SOME (("abc", 1, 1), "b", ("abc", 2, 0), "") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitAt_1_2 = NONE : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitAt_1_m1 = NONE : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitAt_2_0 = SOME (("abcd", 1, 0), "", ("abcd", 1, 2), "bc") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitAt_2_1 = SOME (("abcd", 1, 1), "b", ("abcd", 2, 1), "c") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitAt_2_2 = SOME (("abcd", 1, 2), "bc", ("abcd", 3, 0), "") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitAt_2_3 = NONE : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitAt_2_m1 = NONE : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitAt_3_0 = SOME (("abcde", 1, 0), "", ("abcde", 1, 3), "bcd") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitAt_3_1 = SOME (("abcde", 1, 1), "b", ("abcde", 2, 2), "cd") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitAt_3_2 = SOME (("abcde", 1, 2), "bc", ("abcde", 3, 1), "d") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitAt_3_3 = SOME (("abcde", 1, 3), "bcd", ("abcde", 4, 0), "") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitAt_3_4 = NONE : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val splitAt_3_m1 = NONE : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val dropFun = fn : char -> bool val dropl_0 = SOME (("", 0, 0), "") : ((Substring.string * int * int) * Substring.string) option val dropl_1_f = SOME (("abc", 1, 1), "b") : ((Substring.string * int * int) * Substring.string) option val dropl_1_t = SOME (("aAc", 2, 0), "") : ((Substring.string * int * int) * Substring.string) option val dropl_2_f = SOME (("abcd", 1, 2), "bc") : ((Substring.string * int * int) * Substring.string) option val dropl_2_0 = SOME (("aAcd", 2, 1), "c") : ((Substring.string * int * int) * Substring.string) option val dropl_2_1 = SOME (("aaAd", 1, 2), "aA") : ((Substring.string * int * int) * Substring.string) option val dropl_3_f = SOME (("abcde", 1, 3), "bcd") : ((Substring.string * int * int) * Substring.string) option val dropl_3_0 = SOME (("aAcAe", 2, 2), "cA") : ((Substring.string * int * int) * Substring.string) option val dropl_3_1 = SOME (("abAAe", 1, 3), "bAA") : ((Substring.string * int * int) * Substring.string) option val dropl_3_2 = SOME (("abcAe", 1, 3), "bcA") : ((Substring.string * int * int) * Substring.string) option val dropr_0 = SOME (("", 0, 0), "") : ((Substring.string * int * int) * Substring.string) option val dropr_1_f = SOME (("abc", 1, 1), "b") : ((Substring.string * int * int) * Substring.string) option val dropr_1_t = SOME (("aAc", 1, 0), "") : ((Substring.string * int * int) * Substring.string) option val dropr_2_f = SOME (("abcd", 1, 2), "bc") : ((Substring.string * int * int) * Substring.string) option val dropr_2_0 = SOME (("aAcd", 1, 2), "Ac") : ((Substring.string * int * int) * Substring.string) option val dropr_2_1 = SOME (("aaAd", 1, 1), "a") : ((Substring.string * int * int) * Substring.string) option val dropr_3_f = SOME (("abcde", 1, 3), "bcd") : ((Substring.string * int * int) * Substring.string) option val dropr_3_0 = SOME (("aAcAe", 1, 2), "Ac") : ((Substring.string * int * int) * Substring.string) option val dropr_3_1 = SOME (("abAAe", 1, 1), "b") : ((Substring.string * int * int) * Substring.string) option val dropr_3_2 = SOME (("abcAe", 1, 2), "bc") : ((Substring.string * int * int) * Substring.string) option val takeFun = fn : char -> bool val takel_0 = SOME (("", 0, 0), "") : ((Substring.string * int * int) * Substring.string) option val takel_1_f = SOME (("abc", 1, 0), "") : ((Substring.string * int * int) * Substring.string) option val takel_1_t = SOME (("aAc", 1, 1), "A") : ((Substring.string * int * int) * Substring.string) option val takel_2_f = SOME (("abcd", 1, 0), "") : ((Substring.string * int * int) * Substring.string) option val takel_2_0 = SOME (("aAcd", 1, 1), "A") : ((Substring.string * int * int) * Substring.string) option val takel_2_1 = SOME (("aaAd", 1, 0), "") : ((Substring.string * int * int) * Substring.string) option val takel_3_f = SOME (("abcde", 1, 0), "") : ((Substring.string * int * int) * Substring.string) option val takel_3_0 = SOME (("aAcAe", 1, 1), "A") : ((Substring.string * int * int) * Substring.string) option val takel_3_1 = SOME (("abAAe", 1, 0), "") : ((Substring.string * int * int) * Substring.string) option val takel_3_2 = SOME (("abcAe", 1, 0), "") : ((Substring.string * int * int) * Substring.string) option val taker_0 = SOME (("", 0, 0), "") : ((Substring.string * int * int) * Substring.string) option val taker_1_f = SOME (("abc", 2, 0), "") : ((Substring.string * int * int) * Substring.string) option val taker_1_t = SOME (("aAc", 1, 1), "A") : ((Substring.string * int * int) * Substring.string) option val taker_2_f = SOME (("abcd", 3, 0), "") : ((Substring.string * int * int) * Substring.string) option val taker_2_0 = SOME (("aAcd", 3, 0), "") : ((Substring.string * int * int) * Substring.string) option val taker_2_1 = SOME (("aaAd", 2, 1), "A") : ((Substring.string * int * int) * Substring.string) option val taker_3_f = SOME (("abcde", 4, 0), "") : ((Substring.string * int * int) * Substring.string) option val taker_3_0 = SOME (("aAcAe", 3, 1), "A") : ((Substring.string * int * int) * Substring.string) option val taker_3_1 = SOME (("abAAe", 2, 2), "AA") : ((Substring.string * int * int) * Substring.string) option val taker_3_2 = SOME (("abcAe", 3, 1), "A") : ((Substring.string * int * int) * Substring.string) option val position_0_0 = SOME (("abc", 1, 0), "", ("abc", 1, 0), "") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val position_0_1 = SOME (("abc", 1, 0), "", ("abc", 1, 1), "b") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val position_1_1_m1 = SOME (("abc", 1, 1), "b", ("abc", 2, 0), "") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val position_1_1_1 = SOME (("abc", 1, 1), "b", ("abc", 2, 0), "") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val position_1_1_0t = SOME (("abc", 1, 0), "", ("abc", 1, 1), "b") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val position_1_2_m1 = SOME (("abcd", 1, 2), "bc", ("abcd", 3, 0), "") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val position_1_2_0 = SOME (("abcd", 1, 0), "", ("abcd", 1, 2), "bc") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val position_1_2_1 = SOME (("abcd", 1, 1), "b", ("abcd", 2, 1), "c") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val position_1_2_2 = SOME (("abcd", 1, 2), "bc", ("abcd", 3, 0), "") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val position_2_1_f1 = SOME (("abc", 1, 1), "b", ("abc", 2, 0), "") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val position_2_1_f2 = SOME (("abc", 1, 1), "b", ("abc", 2, 0), "") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val position_2_2_m1 = SOME (("abcd", 1, 2), "bc", ("abcd", 3, 0), "") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val position_2_2_0 = SOME (("abcd", 1, 0), "", ("abcd", 1, 2), "bc") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val position_2_2_1 = SOME (("abcd", 1, 2), "bc", ("abcd", 3, 0), "") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val position_2_2_2 = SOME (("abcd", 1, 2), "bc", ("abcd", 3, 0), "") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val position_2_3_m1 = SOME (("abcdef", 1, 3), "bcd", ("abcdef", 4, 0), "") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val position_2_3_0 = SOME (("abcdef", 1, 0), "", ("abcdef", 1, 3), "bcd") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val position_2_3_1 = SOME (("abcdef", 1, 1), "b", ("abcdef", 2, 2), "cd") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val position_2_3_2 = SOME (("abcdef", 1, 3), "bcd", ("abcdef", 4, 0), "") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val position_2_3_3 = SOME (("abcdef", 1, 3), "bcd", ("abcdef", 4, 0), "") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val position_longest = SOME (("abcdbcf", 1, 0), "", ("abcdbcf", 1, 5), "bcdbc") : ((Substring.string * int * int) * Substring.string * (Substring.string * int * int) * Substring.string) option val makeSpanSS = fn : string -> int * int -> int * int -> ((Substring.string * int * int) * Substring.string) option val span_0_0_A_A = SOME (("abcde", 1, 2), "bc") : ((Substring.string * int * int) * Substring.string) option val span_1_1_A_A = SOME (("abcde", 1, 3), "bcd") : ((Substring.string * int * int) * Substring.string) option val span_1_1_B_B = SOME (("abcde", 1, 1), "b") : ((Substring.string * int * int) * Substring.string) option val span_1_1_E_E = NONE : ((Substring.string * int * int) * Substring.string) option val span_1_2_A_A = SOME (("abcde", 1, 4), "bcde") : ((Substring.string * int * int) * Substring.string) option val span_1_2_B_B = SOME (("abcde", 1, 2), "bc") : ((Substring.string * int * int) * Substring.string) option val span_1_2_D_D = SOME (("abcde", 2, 1), "c") : ((Substring.string * int * int) * Substring.string) option val span_1_2_E_E = SOME (("abcde", 3, 0), "") : ((Substring.string * int * int) * Substring.string) option val span_2_1_A_A = SOME (("abcde", 1, 3), "bcd") : ((Substring.string * int * int) * Substring.string) option val span_2_1_A_B = SOME (("abcde", 1, 2), "bc") : ((Substring.string * int * int) * Substring.string) option val span_2_1_B_E = SOME (("abcde", 1, 1), "b") : ((Substring.string * int * int) * Substring.string) option val span_2_1_E_E = SOME (("abcde", 2, 0), "") : ((Substring.string * int * int) * Substring.string) option val span_2_2_A_A = SOME (("abcdef", 1, 4), "bcde") : ((Substring.string * int * int) * Substring.string) option val span_2_2_A_B = SOME (("abcdef", 1, 3), "bcd") : ((Substring.string * int * int) * Substring.string) option val span_2_2_B_D = SOME (("abcdef", 1, 2), "bc") : ((Substring.string * int * int) * Substring.string) option val span_2_2_D_E = SOME (("abcdef", 2, 1), "c") : ((Substring.string * int * int) * Substring.string) option val span_2_2_E_E = SOME (("abcdef", 3, 0), "") : ((Substring.string * int * int) * Substring.string) option val span_3_1_A_A = SOME (("abcdef", 1, 4), "bcde") : ((Substring.string * int * int) * Substring.string) option val span_3_1_A_B = SOME (("abcdef", 1, 3), "bcd") : ((Substring.string * int * int) * Substring.string) option val span_3_1_A_E = SOME (("abcdef", 1, 2), "bc") : ((Substring.string * int * int) * Substring.string) option val span_3_1_B_E = SOME (("abcdef", 1, 1), "b") : ((Substring.string * int * int) * Substring.string) option val span_3_1_E_E = SOME (("abcdef", 2, 0), "") : ((Substring.string * int * int) * Substring.string) option val span_3_2_A_A = SOME (("abcdefg", 1, 5), "bcdef") : ((Substring.string * int * int) * Substring.string) option val span_3_2_A_B = SOME (("abcdefg", 1, 4), "bcde") : ((Substring.string * int * int) * Substring.string) option val span_3_2_A_D = SOME (("abcdefg", 1, 3), "bcd") : ((Substring.string * int * int) * Substring.string) option val span_3_2_B_E = SOME (("abcdefg", 1, 2), "bc") : ((Substring.string * int * int) * Substring.string) option val span_3_2_D_E = SOME (("abcdefg", 2, 1), "c") : ((Substring.string * int * int) * Substring.string) option val span_3_2_E_E = SOME (("abcdefg", 2, 1), "c") : ((Substring.string * int * int) * Substring.string) option val span_3_3_A_A = SOME (("abcdefgh", 1, 6), "bcdefg") : ((Substring.string * int * int) * Substring.string) option val span_3_3_A_B = SOME (("abcdefgh", 1, 5), "bcdef") : ((Substring.string * int * int) * Substring.string) option val span_3_3_A_C = SOME (("abcdefgh", 1, 4), "bcde") : ((Substring.string * int * int) * Substring.string) option val span_3_3_B_D = SOME (("abcdefgh", 1, 3), "bcd") : ((Substring.string * int * int) * Substring.string) option val span_3_3_C_E = SOME (("abcdefgh", 2, 2), "cd") : ((Substring.string * int * int) * Substring.string) option val span_3_3_D_E = SOME (("abcdefgh", 3, 1), "d") : ((Substring.string * int * int) * Substring.string) option val span_3_3_E_E = SOME (("abcdefgh", 4, 0), "") : ((Substring.string * int * int) * Substring.string) option val span_2_3_A_A = SOME (("abcdefg", 1, 5), "bcdef") : ((Substring.string * int * int) * Substring.string) option val span_2_3_A_B = SOME (("abcdefg", 1, 4), "bcde") : ((Substring.string * int * int) * Substring.string) option val span_2_3_B_C = SOME (("abcdefg", 1, 3), "bcd") : ((Substring.string * int * int) * Substring.string) option val span_2_3_C_D = SOME (("abcdefg", 2, 2), "cd") : ((Substring.string * int * int) * Substring.string) option val span_2_3_D_E = SOME (("abcdefg", 3, 1), "d") : ((Substring.string * int * int) * Substring.string) option val span_2_3_E_E = SOME (("abcdefg", 4, 0), "") : ((Substring.string * int * int) * Substring.string) option val span_3_3_A_A_2 = SOME (("abcdefghi", 1, 7), "bcdefgh") : ((Substring.string * int * int) * Substring.string) option val translateFun = fn : char -> string val translate0 = "" : Substring.string bbval translate1 = "bb" : Substring.string bbccval translate2 = "bbcc" : Substring.string val tokensFun = fn : char -> bool val tokens_empty = [] : ((Substring.string * int * int) * Substring.string) list val tokens_00 = [] : ((Substring.string * int * int) * Substring.string) list val tokens_01 = [(("a|bc", 2, 1), "b")] : ((Substring.string * int * int) * Substring.string) list val tokens_10 = [(("ab|c", 1, 1), "b")] : ((Substring.string * int * int) * Substring.string) list val tokens_11 = [(("ab|cd", 1, 1), "b"), (("ab|cd", 3, 1), "c")] : ((Substring.string * int * int) * Substring.string) list val tokens_000 = [] : ((Substring.string * int * int) * Substring.string) list val tokens_001 = [(("a||bc", 3, 1), "b")] : ((Substring.string * int * int) * Substring.string) list val tokens_010 = [(("a|b|c", 2, 1), "b")] : ((Substring.string * int * int) * Substring.string) list val tokens_011 = [(("a|b|cd", 2, 1), "b"), (("a|b|cd", 4, 1), "c")] : ((Substring.string * int * int) * Substring.string) list val tokens_100 = [(("ab||c", 1, 1), "b")] : ((Substring.string * int * int) * Substring.string) list val tokens_101 = [(("ab||cd", 1, 1), "b"), (("ab||cd", 4, 1), "c")] : ((Substring.string * int * int) * Substring.string) list val tokens_110 = [(("ab|c|d", 1, 1), "b"), (("ab|c|d", 3, 1), "c")] : ((Substring.string * int * int) * Substring.string) list val tokens_111 = [ (("ab|c|de", 1, 1), "b"), (("ab|c|de", 3, 1), "c"), (("ab|c|de", 5, 1), "d") ] : ((Substring.string * int * int) * Substring.string) list val tokens_222 = [ (("abc|de|fgh", 1, 2), "bc"), (("abc|de|fgh", 4, 2), "de"), (("abc|de|fgh", 7, 2), "fg") ] : ((Substring.string * int * int) * Substring.string) list val fieldsFun = fn : char -> bool val fields_empty = [(("abc", 1, 0), "")] : ((Substring.string * int * int) * Substring.string) list val fields_00 = [(("a|b", 1, 0), ""), (("a|b", 2, 0), "")] : ((Substring.string * int * int) * Substring.string) list val fields_01 = [(("a|bc", 1, 0), ""), (("a|bc", 2, 1), "b")] : ((Substring.string * int * int) * Substring.string) list val fields_10 = [(("ab|c", 1, 1), "b"), (("ab|c", 3, 0), "")] : ((Substring.string * int * int) * Substring.string) list val fields_11 = [(("ab|cd", 1, 1), "b"), (("ab|cd", 3, 1), "c")] : ((Substring.string * int * int) * Substring.string) list val fields_000 = [(("a||b", 1, 0), ""), (("a||b", 2, 0), ""), (("a||b", 3, 0), "")] : ((Substring.string * int * int) * Substring.string) list val fields_001 = [(("a||bc", 1, 0), ""), (("a||bc", 2, 0), ""), (("a||bc", 3, 1), "b")] : ((Substring.string * int * int) * Substring.string) list val fields_010 = [(("a|b|c", 1, 0), ""), (("a|b|c", 2, 1), "b"), (("a|b|c", 4, 0), "")] : ((Substring.string * int * int) * Substring.string) list val fields_011 = [(("a|b|cd", 1, 0), ""), (("a|b|cd", 2, 1), "b"), (("a|b|cd", 4, 1), "c")] : ((Substring.string * int * int) * Substring.string) list val fields_100 = [(("ab||c", 1, 1), "b"), (("ab||c", 3, 0), ""), (("ab||c", 4, 0), "")] : ((Substring.string * int * int) * Substring.string) list val fields_101 = [(("ab||cd", 1, 1), "b"), (("ab||cd", 3, 0), ""), (("ab||cd", 4, 1), "c")] : ((Substring.string * int * int) * Substring.string) list val fields_110 = [(("ab|c|d", 1, 1), "b"), (("ab|c|d", 3, 1), "c"), (("ab|c|d", 5, 0), "")] : ((Substring.string * int * int) * Substring.string) list val fields_111 = [ (("ab|c|de", 1, 1), "b"), (("ab|c|de", 3, 1), "c"), (("ab|c|de", 5, 1), "d") ] : ((Substring.string * int * int) * Substring.string) list val fields_222 = [ (("abc|de|fgh", 1, 2), "bc"), (("abc|de|fgh", 4, 2), "de"), (("abc|de|fgh", 7, 2), "fg") ] : ((Substring.string * int * int) * Substring.string) list val foldlFun = fn : char * char list -> char list val foldl_0 = [] : char list bval foldl_1 = [#"b"] : char list bcval foldl_2 = [#"c", #"b"] : char list bcdval foldl_3 = [#"d", #"c", #"b"] : char list val foldrFun = fn : char * char list -> char list val foldr_0 = [] : char list bval foldr_1 = [#"b"] : char list cbval foldr_2 = [#"b", #"c"] : char list dcbval foldr_3 = [#"b", #"c", #"d"] : char list val appFun = fn : char -> unit val app0 = () : unit bbval app1 = () : unit bbccval app2 = () : unit smlsharp-1.2.0/test/tests/basis/outputs/Time001.out0000644 000000000000000000001147012050661606022323 0ustar00rootroot0000000 0000000 val toInt = fn : time -> LargeInt.int val fromReal_0 = 0 : LargeInt.int val fromReal_p = 12339999 : LargeInt.int val fromReal_m = ~12339999 : LargeInt.int val toReal_0 = 0 : real val toReal_p = 12.339999 : real val toReal_m = ~12.339999 : real val fromSeconds_0 = 0 : LargeInt.int val fromSeconds_p = 123000000 : LargeInt.int val fromSeconds_m = ~123000000 : LargeInt.int val toSeconds_0 = 0 : LargeInt.int val toSeconds_p = 123 : LargeInt.int val toSeconds_m = ~123 : LargeInt.int val fromMilliseconds_0 = 0 : LargeInt.int val fromMilliseconds_p1 = 123000 : LargeInt.int val fromMilliseconds_p2 = 123456000 : LargeInt.int val fromMilliseconds_p3 = 123456789 : LargeInt.int val toMicroseconds_0 = 0 : LargeInt.int val toMicroseconds_p1 = 123 : LargeInt.int val toMicroseconds_p2 = 123456 : LargeInt.int val toMicroseconds_p3 = 123456789 : LargeInt.int val fromMicroseconds_0 = 0 : LargeInt.int val fromMicroseconds_p1 = 123 : LargeInt.int val fromMicroseconds_p2 = 123456 : LargeInt.int val fromMicroseconds_p3 = 123456789 : LargeInt.int val toMicroseconds_0 = 0 : LargeInt.int val toMicroseconds_p1 = 123 : LargeInt.int val toMicroseconds_p2 = 123456 : LargeInt.int val toMicroseconds_p3 = 123456789 : LargeInt.int val testBinArithOp = fn : (time * time -> time) -> int * int * int * int -> LargeInt.int val testAdd = fn : int * int * int * int -> LargeInt.int val add_00_00 = 0 : LargeInt.int val add_11_22 = 3000003 : LargeInt.int val add_NroundUp = 3999999 : LargeInt.int val add_roundUp = 4000000 : LargeInt.int val testSub = fn : int * int * int * int -> LargeInt.int val sub_00_00 = 0 : LargeInt.int val sub_11_22 = 1000001 : LargeInt.int val sub_NroundDown = 1000001 : LargeInt.int val sub_NroundDown = 1000000 : LargeInt.int val sub_roundDown = 999999 : LargeInt.int val testBinCompare = fn : ['a .(time * time -> 'a) -> int * int * int * int -> 'a option] val testCompare = fn : int * int * int * int -> order option val compare_E_0 = SOME EQUAL : order option val compare_E_p = SOME EQUAL : order option val compare_L_0 = SOME LESS : order option val compare_L_1 = SOME LESS : order option val compare_G_0 = SOME GREATER : order option val compare_G_1 = SOME GREATER : order option val testLess = fn : int * int * int * int -> bool option val less_0 = SOME false : bool option val less_t1 = SOME true : bool option val less_t2 = SOME true : bool option val less_t3 = SOME true : bool option val less_f1 = SOME false : bool option val less_f2 = SOME false : bool option val less_f3 = SOME false : bool option val testLessEq = fn : int * int * int * int -> bool option val lessEq_0 = SOME true : bool option val lessEq_t1 = SOME true : bool option val lessEq_t2 = SOME true : bool option val lessEq_t3 = SOME true : bool option val lessEq_t4 = SOME true : bool option val lessEq_f1 = SOME false : bool option val lessEq_f2 = SOME false : bool option val testGreater = fn : int * int * int * int -> bool option val greater_0 = SOME false : bool option val greater_t1 = SOME true : bool option val greater_t2 = SOME true : bool option val greater_f1 = SOME false : bool option val greater_f2 = SOME false : bool option val greater_f3 = SOME false : bool option val greater_f4 = SOME false : bool option val testGreaterEq = fn : int * int * int * int -> bool option val greaterEq_0 = SOME true : bool option val greaterEq_t1 = SOME true : bool option val greaterEq_t2 = SOME true : bool option val greaterEq_t3 = SOME true : bool option val greaterEq_f1 = SOME false : bool option val greaterEq_f2 = SOME false : bool option val greaterEq_f3 = SOME false : bool option val toString_0 = "0.000" : string val toString_1 = "123456789.000" : string val testFromString = fn : string -> int Option.option val fromString_0 = SOME 0 : int Option.option val fromString_n_1_0 = SOME 1000000 : int Option.option val fromString_n_1_1 = SOME 1200000 : int Option.option val fromString_n_3_3 = SOME 123321000 : int Option.option val fromString_n_0_1 = SOME 100000 : int Option.option val fromString_n_0_3 = SOME 321000 : int Option.option val fromString_p_3_3 = SOME 123321000 : int Option.option val fromString_t_3_3 = SOME ~123321000 : int Option.option val fromString_m_3_3 = SOME ~123321000 : int Option.option val fmt_0_n = "123" : string val fmt_0_d = "444" : string val fmt_0_u = "556" : string val fmt_1_n = "123.5" : string val fmt_1_d = "444.4" : string val fmt_1_u = "555.6" : string val fmt_2_n = "123.46" : string val fmt_2_d = "444.44" : string val fmt_2_u = "555.56" : string val fmt_3_n = "123.457" : string val fmt_3_d = "444.444" : string val fmt_3_u = "555.556" : string val fmt_4_n = "123.4568" : string val fmt_4_d = "444.4444" : string val fmt_4_u = "555.5556" : string val fmt_5_n = "123.45679" : string val fmt_5_d = "444.44444" : string val fmt_5_u = "555.55556" : string val fmt_6_n = "123.456789" : string val fmt_6_d = "444.444444" : string val fmt_6_u = "555.555555" : string smlsharp-1.2.0/test/tests/basis/outputs/Vector001.out0000644 000000000000000000001102212050661606022660 0ustar00rootroot0000000 0000000 val L2V = fn : ['a .'a list -> 'a Vector.vector] val S2V = fn : string -> char Vector.vector val V2L = fn : ['a .'a Vector.vector -> 'a list] val fromList_0i = [] : int list val fromList_0r = [] : real list val fromList_0ii = [] : (int * int) list val fromList_1i = [1] : int list val fromList_1r = [1.23] : real list val fromList_1ii = [(1,2)] : (int * int) list val fromList_2i = [1,2] : int list val fromList_2r = [1.23,2.34] : real list val fromList_2ii = [(1,2),(3,4)] : (int * int) list val tabulateFun = fn : ['a .'a -> 'a] val tabulate0 = [] : int list val tabulate1 = [0] : int list val tabulate2 = [0,1] : int list val tabulatem1 = [999] : int list val length1 = 0 : int val length2 = 1 : int val length3 = 2 : int val sub00 = 1 : int val sub0m1 = 1 : int val sub01 = 1 : int val sub10 = 1 : int val sub11 = 1 : int val sub1m1 = 1 : int val sub20 = 1 : int val sub21 = 2 : int val sub22 = 3 : int val testUpdate = fn : ['a .'a Vector.vector * int * 'a -> 'a list * 'a list] val update00 = ([],[]) : int list * int list val update0m1 = ([],[]) : int list * int list val update01 = ([],[]) : int list * int list val update10 = ([1],[9]) : int list * int list val update11 = ([2],[2]) : int list * int list val update1m1 = ([2],[2]) : int list * int list val update20 = ([1,2],[9,2]) : int list * int list val update21 = ([1,2],[1,9]) : int list * int list val update22 = ([1,2],[1,2]) : int list * int list val concat0 = [] : int list val concat10 = [] : int list val concat200 = [] : int list val concat11 = [1] : int list val concat201 = [1] : int list val concat210 = [1] : int list val concat211 = [1,2] : int list val concat222 = [1,2,3,4] : int list val concat3303 = [1,2,3,7,8,9] : int list val concat3333 = [1,2,3,4,5,6,7,8,9] : int list val mapiFun = fn : ['a .int * 'a -> 'a] val mapi_0 = [] : char list 0val mapi_1 = [#"a"] : char list 01val mapi_2 = [#"a",#"b"] : char list val mapFun = fn : int -> int val map0 = [] : int list 1val map1 = [2] : int list 12val map2 = [2,3] : int list 123val map3 = [2,3,4] : int list val appiFun = fn : int * char -> unit val appi_0 = SOME () : unit option 0aval appi_1 = SOME () : unit option 0a1bval appi_2 = SOME () : unit option val appFun = fn : string -> unit val app0 = () : unit aval app1 = () : unit abval app2 = () : unit abcval app3 = () : unit val foldliFun = fn : ['a .int * 'a * 'a list -> 'a list] val foldli_0 = [] : char list 0val foldli_1 = [#"a"] : char list 01val foldli_2 = [#"b",#"a"] : char list val foldlFun = fn : ['a .'a * 'a list -> 'a list] val foldl0 = [] : int list val foldl1 = [1] : int list val foldl2 = [2,1] : int list val foldl3 = [3,2,1] : int list val foldriFun = fn : ['a .int * 'a * 'a list -> 'a list] val foldri_0 = [] : char list 0val foldri_1 = [#"a"] : char list 10val foldri_2 = [#"a",#"b"] : char list val foldrFun = fn : ['a .'a * 'a list -> 'a list] val foldr0 = [] : int list val foldr1 = [1] : int list val foldr2 = [1,2] : int list val foldr3 = [1,2,3] : int list val findiFun = fn : int * char -> bool val findi_0 = NONE : (int * char) option 0val findi_1F = NONE : (int * char) option 0val findi_1T = SOME (0,#"x") : (int * char) option 01val findi_2F = NONE : (int * char) option 01val findi_2T1 = SOME (1,#"x") : (int * char) option 0val findi_2T2 = SOME (0,#"x") : (int * char) option 0val findi_2T3 = SOME (0,#"x") : (int * char) option val findFun = fn : char -> bool val find_0 = NONE : char option aval find_1F = NONE : char option xval find_1T = SOME #"x" : char option abval find_2F = NONE : char option axval find_2T1 = SOME #"x" : char option xval find_2T2 = SOME #"x" : char option xval find_2T3 = SOME #"x" : char option val existsFun = fn : char -> bool val exists_0 = false : bool aval exists_1F = false : bool xval exists_1T = true : bool abval exists_2F = false : bool axval exists_2T1 = true : bool xval exists_2T2 = true : bool xval exists_2T3 = true : bool val allFun = fn : char -> bool val all_0 = true : bool aval all_1F = false : bool xval all_1T = true : bool aval all_2F1 = false : bool aval all_2F2 = false : bool xaval all_2F3 = false : bool xxval all_2T = true : bool val collateFun = fn : int * int -> General.order val collate00 = EQUAL : order val collate01 = LESS : order val collate10 = GREATER : order val collate11L = LESS : order val collate11E = EQUAL : order val collate11G = GREATER : order val collate12L = LESS : order val collate12G = GREATER : order val collate21L = LESS : order val collate21G = GREATER : order val collate22L1 = LESS : order val collate22L2 = LESS : order val collate22E = EQUAL : order val collate22G1 = GREATER : order val collate22G2 = GREATER : order smlsharp-1.2.0/test/tests/basis/outputs/VectorSlice001.out0000644 000000000000000000001345712050661606023656 0ustar00rootroot0000000 0000000 structure VS : VECTOR_SLICE structure V : VECTOR val Ints2VS = fn : int list -> int VS.slice val S2VS = fn : string -> char VS.slice val VS2L = fn : ['a .'a VS.slice -> 'a list] val V2L = fn : ['a .'a V.vector -> 'a list] val makeVector = fn : int -> int V.vector val length1 = 0 : int val length2 = 1 : int val length3 = 2 : int val sub00 = 1 : int val sub0m1 = 1 : int val sub01 = 1 : int val sub10 = 1 : int val sub11 = 1 : int val sub1m1 = 1 : int val sub20 = 1 : int val sub21 = 2 : int val sub22 = 3 : int val full_0 = [] : int list val full_1 = [1] : int list val full_2 = [1,2] : int list val testSlice = fn : int * int * int option -> int list val slice_0_0_N = [] : int list val slice_1_0_N = [0] : int list val slice_1_0_0 = [] : int list val slice_1_0_1 = [0] : int list val slice_1_0_2 = [0] : int list val slice_1_1_N = [] : int list val slice_1_1_0 = [] : int list val slice_1_1_1 = [999] : int list val slice_1_2_N = [999] : int list val slice_2_0_N = [0,1] : int list val slice_2_0_0 = [] : int list val slice_2_0_2 = [0,1] : int list val slice_2_0_3 = [999] : int list val slice_2_1_N = [1] : int list val slice_2_1_0 = [] : int list val slice_2_1_1 = [1] : int list val slice_2_1_2 = [999] : int list val slice_2_2_N = [] : int list val slice_2_2_0 = [] : int list val slice_2_2_1 = [999] : int list val testSubslice = fn : int * int * int * int * int option -> int list val subslice_5_1_3_0_N = [1,2,3] : int list val subslice_5_1_3_0_3 = [1,2,3] : int list val subslice_5_1_3_1_N = [2,3] : int list val subslice_5_1_3_1_0 = [] : int list val subslice_5_1_3_1_1 = [2] : int list val subslice_5_1_3_1_3 = [999] : int list val subslice_5_1_3_2_N = [3] : int list val subslice_5_1_3_2_1 = [2] : int list val testBase = fn : int * int * int -> int list * int * int val base_0_0_0 = ([],0,0) : int list * int * int val base_2_0_0 = ([0,1],0,0) : int list * int * int val base_2_0_1 = ([0,1],0,1) : int list * int * int val base_2_1_1 = ([0,1],1,1) : int list * int * int val testVector = fn : int * int * int -> int list val vector_0_0_0 = [] : int list val vector_2_0_0 = [] : int list val vector_2_0_1 = [0] : int list val vector_2_1_1 = [1] : int list val concat0 = [] : int list val concat10 = [] : int list val concat200 = [] : int list val concat11 = [1] : int list val concat201 = [1] : int list val concat210 = [1] : int list val concat211 = [1,2] : int list val concat222 = [1,2,3,4] : int list val concat3303 = [1,2,3,7,8,9] : int list val concat3333 = [1,2,3,4,5,6,7,8,9] : int list val isEmpty_0 = true : bool val isEmpty_1 = false : bool val testGetItem = fn : int * int * int -> int * int list val getItem_0_0_0 = (999,[999]) : int * int list val getItem_1_0_0 = (999,[999]) : int * int list val getItem_1_0_1 = (0,[]) : int * int list val getItem_1_1_0 = (999,[999]) : int * int list val getItem_2_0_0 = (999,[999]) : int * int list val getItem_2_0_1 = (0,[]) : int * int list val getItem_2_0_2 = (0,[1]) : int * int list val getItem_2_1_0 = (999,[999]) : int * int list val getItem_2_1_1 = (1,[]) : int * int list val getItem_2_2_0 = (999,[999]) : int * int list val mapiFun = fn : ['a .int * 'a -> 'a] val mapi_0 = [] : char list 0val mapi_1 = [#"a"] : char list 01val mapi_2 = [#"a",#"b"] : char list val mapFun = fn : int -> int val map0 = [] : int list 1val map1 = [2] : int list 12val map2 = [2,3] : int list 123val map3 = [2,3,4] : int list val appiFun = fn : int * char -> unit val appi_0 = SOME () : unit option 0aval appi_1 = SOME () : unit option 0a1bval appi_2 = SOME () : unit option val appFun = fn : char -> unit val app0 = () : unit aval app1 = () : unit abval app2 = () : unit abcval app3 = () : unit val foldliFun = fn : ['a .int * 'a * 'a list -> 'a list] val foldli_0 = [] : char list 0val foldli_1 = [#"a"] : char list 01val foldli_2 = [#"b",#"a"] : char list val foldlFun = fn : ['a .'a * 'a list -> 'a list] val foldl0 = [] : int list val foldl1 = [1] : int list val foldl2 = [2,1] : int list val foldl3 = [3,2,1] : int list val foldriFun = fn : ['a .int * 'a * 'a list -> 'a list] val foldri_0 = [] : char list 0val foldri_1 = [#"a"] : char list 10val foldri_2 = [#"a",#"b"] : char list val foldrFun = fn : ['a .'a * 'a list -> 'a list] val foldr0 = [] : int list val foldr1 = [1] : int list val foldr2 = [1,2] : int list val foldr3 = [1,2,3] : int list val findiFun = fn : int * int -> bool val findi_0 = NONE : (int * int) option 0val findi_1F = NONE : (int * int) option 0val findi_1T = SOME ( 0, 9 ) : (int * int) option 01val findi_2F = NONE : (int * int) option 01val findi_2T1 = SOME ( 1, 9 ) : (int * int) option 0val findi_2T2 = SOME ( 0, 9 ) : (int * int) option 0val findi_2T3 = SOME ( 0, 9 ) : (int * int) option val findFun = fn : int -> bool val find_0 = NONE : int option 1val find_1F = NONE : int option 9val find_1T = SOME 9 : int option 12val find_2F = NONE : int option 19val find_2T1 = SOME 9 : int option 9val find_2T2 = SOME 9 : int option 9val find_2T3 = SOME 9 : int option val existsFun = fn : int -> bool val exists_0 = false : bool 1val exists_1F = false : bool 9val exists_1T = true : bool 12val exists_2F = false : bool 19val exists_2T1 = true : bool 9val exists_2T2 = true : bool 9val exists_2T3 = true : bool val allFun = fn : int -> bool val all_0 = true : bool 1val all_1F = false : bool 9val all_1T = true : bool 1val all_2F1 = false : bool 1val all_2F2 = false : bool 91val all_2F3 = false : bool 99val all_2T = true : bool val collateFun = fn : int * int -> General.order val collate00 = EQUAL : order val collate01 = LESS : order val collate10 = GREATER : order val collate11L = LESS : order val collate11E = EQUAL : order val collate11G = GREATER : order val collate12L = LESS : order val collate12G = GREATER : order val collate21L = LESS : order val collate21G = GREATER : order val collate22L1 = LESS : order val collate22L2 = LESS : order val collate22E = EQUAL : order val collate22G1 = GREATER : order val collate22G2 = GREATER : order smlsharp-1.2.0/test/tests/basis/outputs/Word001.out0000644 000000000000000000001714412050661606022344 0ustar00rootroot0000000 0000000 val maxWord = 0wxffffffff : Word.word val toLargeWord_0 = 0wx0 : LargeWord.word val toLargeWord_123 = 0wx123 : LargeWord.word val toLargeWord_7FFFFFFF = 0wx7fffffff : LargeWord.word val toLargeWordX_0 = 0wx0 : LargeWord.word val toLargeWordX_123 = 0wx123 : LargeWord.word val toLargeWordX_7FFFFFFF = 0wx7fffffff : LargeWord.word val fromLargeWord_0 = 0wx0 : Word.word val fromLargeWord_123 = 0wx7b : Word.word val fromLargeWord_7FFFFFFF = 0wx7fffffff : Word.word val fromLargeWord_FFFFFFFF = 0wxffffffff : Word.word val toLargeInt_0 = 0 : LargeInt.int val toLargeInt_7FFFFFFF = 2147483647 : LargeInt.int val toLargeInt_FFFFFFFF = 1 : LargeInt.int val toLargeIntX_0 = 0 : LargeInt.int val toLargeIntX_7FFFFFFF = 2147483647 : LargeInt.int val toLargeIntX_FFFFFFFF = ~1 : LargeInt.int val fromLargeInt_0 = 0wx0 : Word.word val fromLargeInt_123 = 0wx7b : Word.word val fromLargeInt_m123 = 0wxffffff85 : Word.word val fromLargeInt_7FFFFFFF = 0wx7fffffff : Word.word val fromLargeInt_FFFFFFFF = 0wxffffffff : Word.word val orb_0_0 = 0wx0 : Word.word val orb_F0_0F = 0wxff : Word.word val orb_0F_0F = 0wxf : Word.word val xorb_0_0 = 0wx0 : Word.word val xorb_F0_0F = 0wxff : Word.word val xorb_0F_0F = 0wx0 : Word.word val andb_0_0 = 0wx0 : Word.word val andb_F0_0F = 0wx0 : Word.word val andb_0F_0F = 0wxf : Word.word val notb_0 = 0wxffffffff : Word.word val notb_F0 = 0wxffffff0f : Word.word val leftShift_0_0 = 0wx0 : Word.word val leftShift_1_0 = 0wx1 : Word.word val leftShift_1_1 = 0wx2 : Word.word val leftShift_1_2 = 0wx4 : Word.word val leftShift_1_max_m1 = 0wx80000000 : Word.word val leftShift_1_max = 0wx0 : Word.word val leftShift_FF_1 = 0wx1fe : Word.word val leftShift_FF_2 = 0wx3fc : Word.word val leftShift_FF_max_m1 = 0wx80000000 : Word.word val leftShift_FF_max = 0wx0 : Word.word val logicalRightShift_0_0 = 0wx0 : Word.word val logicalRightShift_1_0 = 0wx1 : Word.word val logicalRightShift_1_1 = 0wx0 : Word.word val logicalRightShift_2_1 = 0wx1 : Word.word val logicalRightShift_max_1 = 0wx7fffffff : Word.word val logicalRightShift_max_max_m1 = 0wx1 : Word.word val logicalRightShift_max_max = 0wx0 : Word.word val arithmeticRightShift_0_0 = 0wx0 : Word.word val arithmeticRightShift_1_0 = 0wx1 : Word.word val arithmeticRightShift_1_1 = 0wx0 : Word.word val arithmeticRightShift_2_1 = 0wx1 : Word.word val arithmeticRightShift_max_1 = 0wxffffffff : Word.word val arithmeticRightShift_max_max_m1 = 0wxffffffff : Word.word val arithmeticRightShift_max_max = 0wxffffffff : Word.word val add_pp = 0wxb : Word.word val add_zp = 0wx3 : Word.word val add_pz = 0wx8 : Word.word val add_zz = 0wx0 : Word.word val sub_pp = 0wx5 : Word.word val sub_zp = 0wxfffffffd : Word.word val sub_pz = 0wx8 : Word.word val sub_zz = 0wx0 : Word.word val mul_pp = 0wx6 : Word.word val mul_zp = 0wx0 : Word.word val mul_pz = 0wx0 : Word.word val mul_zz = 0wx0 : Word.word val div_pp = 0wx2 : Word.word val div_zp = 0wx0 : Word.word val mod_pp = 0wx2 : Word.word val mod_zp = 0wx0 : Word.word val compare_ppL = LESS : order val compare_ppE = EQUAL : order val compare_ppG = GREATER : order val compare_zp = LESS : order val compare_pz = GREATER : order val compare_zz = EQUAL : order val gt_ppL = false : bool val gt_ppE = false : bool val gt_ppG = true : bool val gt_zp = false : bool val gt_pz = true : bool val gt_zz = false : bool val ge_ppL = false : bool val ge_ppE = true : bool val ge_ppG = true : bool val ge_zp = false : bool val ge_pz = true : bool val ge_zz = true : bool val lt_ppL = true : bool val lt_ppE = false : bool val lt_ppG = false : bool val lt_zp = true : bool val lt_pz = false : bool val lt_zz = false : bool val le_ppL = true : bool val le_ppE = true : bool val le_ppG = false : bool val le_zp = true : bool val le_pz = false : bool val le_zz = true : bool val min_ppL = 0wx3 : Word.word val min_ppE = 0wx8 : Word.word val min_ppG = 0wx3 : Word.word val min_zp = 0wx0 : Word.word val min_pz = 0wx0 : Word.word val min_zz = 0wx0 : Word.word val max_ppL = 0wx8 : Word.word val max_ppE = 0wx8 : Word.word val max_ppG = 0wx8 : Word.word val max_zp = 0wx3 : Word.word val max_pz = 0wx8 : Word.word val max_zz = 0wx0 : Word.word val fmt_bin_z = "0" : string val fmt_bin_p1 = "1" : string val fmt_bin_p2 = "1111011" : string val fmt_oct_z = "0" : string val fmt_oct_p1 = "1" : string val fmt_oct_p2 = "173" : string val fmt_dec_z = "0" : string val fmt_dec_p1 = "1" : string val fmt_dec_p2 = "123" : string val fmt_hex_z = "0" : string val fmt_hex_p1 = "1" : string val fmt_hex_p2 = "7B" : string val toString_z = "0" : string val toString_p1 = "1" : string val toString_p2 = "7B" : string val fromString_null = NONE : Word.word option val fromString_nonum = NONE : Word.word option val fromString_z1 = SOME 0wx0 : Word.word option val fromString_z2 = SOME 0wx0 : Word.word option val fromString_z12 = SOME 0wx0 : Word.word option val fromString_p1 = SOME 0wx1abc : Word.word option val fromString_p12 = SOME 0wx1abc : Word.word option val fromString_p2 = SOME 0wx123abc : Word.word option val fromString_p22 = SOME 0wx123abc : Word.word option val reader = fn : ['a .'a list -> ('a * 'a list) option] val scan = fn : StringCvt.radix -> string -> (Word.word * char list) option val scan_bin_null = NONE : (Word.word * char list) option val scan_bin_0 = SOME (0wx0,[]) : (Word.word * char list) option val scan_bin_01 = SOME (0wx0,[]) : (Word.word * char list) option val scan_bin_1 = SOME (0wx1,[]) : (Word.word * char list) option val scan_bin_1b = SOME (0wx1,[#"a",#"b",#"c",#"g",#"h",#"i"]) : (Word.word * char list) option val scan_bin_1c = SOME (0wx1,[]) : (Word.word * char list) option val scan_oct_null = NONE : (Word.word * char list) option val scan_oct_0 = SOME (0wx0,[]) : (Word.word * char list) option val scan_oct_01 = SOME (0wx0,[]) : (Word.word * char list) option val scan_oct_1 = SOME (0wx53,[]) : (Word.word * char list) option val scan_oct_1b = SOME (0wx53,[#"8",#"9",#"a"]) : (Word.word * char list) option val scan_oct_1c = SOME (0wx53,[]) : (Word.word * char list) option val scan_dec_null = NONE : (Word.word * char list) option val scan_dec_0 = SOME (0wx0,[]) : (Word.word * char list) option val scan_dec_01 = SOME (0wx0,[]) : (Word.word * char list) option val scan_dec_1 = SOME (0wx7b,[]) : (Word.word * char list) option val scan_dec_1b = SOME (0wx3065,[#"a"]) : (Word.word * char list) option val scan_dec_1c = SOME (0wx7b,[]) : (Word.word * char list) option val scan_hex_null = NONE : (Word.word * char list) option val scan_hex_head1 = NONE : (Word.word * char list) option val scan_hex_head2 = NONE : (Word.word * char list) option val scan_hex_head3 = NONE : (Word.word * char list) option val scan_hex_head4 = NONE : (Word.word * char list) option val scan_hex_0 = SOME (0wx0,[]) : (Word.word * char list) option val scan_hex_01 = SOME (0wx0,[]) : (Word.word * char list) option val scan_hex_0h1 = SOME (0wx0,[]) : (Word.word * char list) option val scan_hex_0h2 = SOME (0wx0,[]) : (Word.word * char list) option val scan_hex_0h3 = SOME (0wx0,[]) : (Word.word * char list) option val scan_hex_0h4 = SOME (0wx0,[]) : (Word.word * char list) option val scan_hex_1 = SOME (0wx123,[]) : (Word.word * char list) option val scan_hex_1b = SOME (0wx12aaff,[#"G",#"g"]) : (Word.word * char list) option val scan_hex_1b_h1 = SOME (0wx12aaff,[#"G",#"g"]) : (Word.word * char list) option val scan_hex_1b_h2 = SOME (0wx12aaff,[#"G",#"g"]) : (Word.word * char list) option val scan_hex_1b_h3 = SOME (0wx12aaff,[#"G",#"g"]) : (Word.word * char list) option val scan_hex_1b_h4 = SOME (0wx12aaff,[#"G",#"g"]) : (Word.word * char list) option val scan_hex_1c = SOME (0wx123,[]) : (Word.word * char list) option val scan_skipWS1 = SOME (0wx7b,[]) : (Word.word * char list) option val scan_skipWS2 = SOME (0wx7b,[]) : (Word.word * char list) option smlsharp-1.2.0/test/tests/basis/outputs/Word8Array001.out0000644 000000000000000000001373412050661606023434 0ustar00rootroot0000000 0000000 val L2A = fn : int list -> Word8Array.array val L2V = fn : int list -> Word8Vector.vector val A2L = fn : Word8Array.array -> int list val V2L = fn : Word8Vector.vector -> int list val array_0i = [] : int list val array_1i = [1] : int list val array_2i = [1,1] : int list val array_m1i = [9] : int list val fromList_0i = [] : int list val fromList_1i = [1] : int list val fromList_2i = [1,2] : int list val tabulateFun = fn : int -> Word8.word val tabulate0 = [] : int list val tabulate1 = [0] : int list val tabulate2 = [0,1] : int list val tabulatem1 = [9] : int list val length1 = 0 : int val length2 = 1 : int val length3 = 2 : int val sub00 = 0wx9 : Word8Array.elem val sub0m1 = 0wx9 : Word8Array.elem val sub01 = 0wx9 : Word8Array.elem val sub10 = 0wx1 : Word8Array.elem val sub11 = 0wx9 : Word8Array.elem val sub1m1 = 0wx9 : Word8Array.elem val sub20 = 0wx1 : Word8Array.elem val sub21 = 0wx2 : Word8Array.elem val sub22 = 0wx9 : Word8Array.elem val testUpdate = fn : Word8Array.array * int * int -> int list val update00 = [1] : int list val update0m1 = [1] : int list val update01 = [1] : int list val update10 = [1] : int list val update11 = [9] : int list val update1m1 = [9] : int list val update20 = [1,2] : int list val update21 = [1,1] : int list val update22 = [9] : int list val vector_0 = - : Word8Array.vector val vector_1 = - : Word8Array.vector val vector_2 = - : Word8Array.vector val testCopy = fn : Word8Array.array * Word8Array.array * int -> int list * int list val copy_0_3_0 = ([],[7,8,9]) : int list * int list val copy_1_3_0 = ([1],[1,8,9]) : int list * int list val copy_2_3_0 = ([1,2],[1,2,9]) : int list * int list val copy_3_0_0 = ([9],[9]) : int list * int list val copy_3_1_0 = ([9],[9]) : int list * int list val copy_3_2_0 = ([9],[9]) : int list * int list val copy_3_3_0 = ([1,2,3],[1,2,3]) : int list * int list val copy_3_4_0 = ([1,2,3],[1,2,3,6]) : int list * int list val copy_3_4_m1 = ([9],[9]) : int list * int list val copy_3_4_0 = ([1,2,3],[1,2,3,6]) : int list * int list val copy_3_4_1 = ([1,2,3],[7,1,2,3]) : int list * int list val copy_3_4_2 = ([9],[9]) : int list * int list val testCopyVec = fn : Word8Vector.vector * Word8Array.array * int -> int list * int list val copyVec_0_3_0 = ([],[7,8,9]) : int list * int list val copyVec_1_3_0 = ([1],[1,8,9]) : int list * int list val copyVec_2_3_0 = ([1,2],[1,2,9]) : int list * int list val copyVec_3_0_0 = ([9],[9]) : int list * int list val copyVec_3_1_0 = ([9],[9]) : int list * int list val copyVec_3_2_0 = ([9],[9]) : int list * int list val copyVec_3_3_0 = ([1,2,3],[1,2,3]) : int list * int list val copyVec_3_4_0 = ([1,2,3],[1,2,3,6]) : int list * int list val copyVec_3_4_m1 = ([9],[9]) : int list * int list val copyVec_3_4_0 = ([1,2,3],[1,2,3,6]) : int list * int list val copyVec_3_4_1 = ([1,2,3],[7,1,2,3]) : int list * int list val copyVec_3_4_2 = ([9],[9]) : int list * int list val appiFun = fn : int * byte -> unit val appi_0 = SOME () : unit option 01val appi_1 = SOME () : unit option 0112val appi_2 = SOME () : unit option val appFun = fn : byte -> unit val app0 = () : unit 1val app1 = () : unit 12val app2 = () : unit 123val app3 = () : unit val modifyiFun = fn : int * byte -> Word8.word val testModifyi = fn : Word8Array.array -> int list val modifyi_0 = [] : int list 0val modifyi_1 = [10] : int list 01val modifyi_2 = [10,20] : int list val modifyFun = fn : byte -> Word8.word val testModify = fn : Word8Array.array -> int list val modify0 = [] : int list 1val modify1 = [10] : int list 12val modify2 = [10,20] : int list 123val modify3 = [10,20,30] : int list val foldliFun = fn : ['a .int * 'a * 'a list -> 'a list] val foldli_0 = [] : byte list 0val foldli_1 = [0wx1] : byte list 01val foldli_2 = [0wx2,0wx1] : byte list val foldlFun = fn : ['a .'a * 'a list -> 'a list] val foldl0 = [] : byte list val foldl1 = [0wx1] : byte list val foldl2 = [0wx2,0wx1] : byte list val foldl3 = [0wx3,0wx2,0wx1] : byte list val foldriFun = fn : ['a .int * 'a * 'a list -> 'a list] val foldri_0 = [] : byte list 0val foldri_1 = [0wx1] : byte list 10val foldri_2 = [0wx1,0wx2] : byte list val foldrFun = fn : ['a .'a * 'a list -> 'a list] val foldr0 = [] : byte list val foldr1 = [0wx1] : byte list val foldr2 = [0wx1,0wx2] : byte list val foldr3 = [0wx1,0wx2,0wx3] : byte list val findiFun = fn : int * byte -> bool val findi_0 = NONE : (int * Word8Array.elem) option 0val findi_1F = NONE : (int * Word8Array.elem) option 0val findi_1T = SOME (0,0wx9) : (int * Word8Array.elem) option 01val findi_2F = NONE : (int * Word8Array.elem) option 01val findi_2T1 = SOME (1,0wx9) : (int * Word8Array.elem) option 0val findi_2T2 = SOME (0,0wx9) : (int * Word8Array.elem) option 0val findi_2T3 = SOME (0,0wx9) : (int * Word8Array.elem) option val findFun = fn : byte -> bool val find_0 = NONE : Word8Array.elem option 1val find_1F = NONE : Word8Array.elem option 9val find_1T = SOME 0wx9 : Word8Array.elem option 12val find_2F = NONE : Word8Array.elem option 19val find_2T1 = SOME 0wx9 : Word8Array.elem option 9val find_2T2 = SOME 0wx9 : Word8Array.elem option 9val find_2T3 = SOME 0wx9 : Word8Array.elem option val existsFun = fn : byte -> bool val exists_0 = false : bool 1val exists_1F = false : bool 9val exists_1T = true : bool 12val exists_2F = false : bool 19val exists_2T1 = true : bool 9val exists_2T2 = true : bool 9val exists_2T3 = true : bool val allFun = fn : byte -> bool val all_0 = true : bool 1val all_1F = false : bool 9val all_1T = true : bool 1val all_2F1 = false : bool 1val all_2F2 = false : bool 91val all_2F3 = false : bool 99val all_2T = true : bool val collateFun = fn : Word8.word * byte -> General.order val collate00 = EQUAL : order val collate01 = LESS : order val collate10 = GREATER : order val collate11L = LESS : order val collate11E = EQUAL : order val collate11G = GREATER : order val collate12L = LESS : order val collate12G = GREATER : order val collate21L = LESS : order val collate21G = GREATER : order val collate22L1 = LESS : order val collate22L2 = LESS : order val collate22E = EQUAL : order val collate22G1 = GREATER : order val collate22G2 = GREATER : order smlsharp-1.2.0/test/tests/basis/outputs/Word8ArraySlice001.out0000644 000000000000000000000545312050661606024413 0ustar00rootroot0000000 0000000 structure AS : MONO_ARRAY_SLICE structure A : MONO_ARRAY structure VS : MONO_VECTOR_SLICE structure V : MONO_VECTOR val Words2AS = fn : byte list -> AS.slice val Words2VS = fn : byte list -> VS.slice val AS2L = fn : AS.slice -> byte list val VS2L = fn : VS.slice -> byte list val V2L = fn : A.array -> byte list val L2V = fn : V.elem list -> V.vector val A2L = fn : A.array -> byte list val L2A = fn : A.elem list -> A.array val makeArray = fn : int -> A.array val testUpdate = fn : int * int * int * int -> byte list * byte list val update_0_0_0_0 = ([0wx63],[0wx63]) : byte list * byte list val update_1_0_1_0 = ( [0wx9], [0wx9] ) : byte list * byte list val update_1_0_1_1 = ( [0wx63], [0wx63] ) : byte list * byte list val update_5_1_3_m1 = ([0wx63],[0wx63]) : byte list * byte list val update_5_1_3_0 = ( [0wx0,0wx9,0wx2,0wx3,0wx4], [0wx9,0wx2,0wx3] ) : byte list * byte list val update_5_1_3_2 = ([0wx0,0wx1,0wx2,0wx9,0wx4],[0wx1,0wx2,0wx9]) : byte list * byte list val update_5_1_3_3 = ( [0wx63], [0wx63] ) : byte list * byte list val testCopy = fn : AS.slice * A.array * int -> byte list * byte list val copy_0_3_0 = ([],[0wx9,0wx8,0wx7]) : byte list * byte list val copy_1_3_0 = ([0wx1],[0wx1,0wx8,0wx7]) : byte list * byte list val copy_2_3_0 = ([0wx1,0wx2],[0wx1,0wx2,0wx7]) : byte list * byte list val copy_3_0_0 = ([0wx63],[0wx63]) : byte list * byte list val copy_3_1_0 = ([0wx63],[0wx63]) : byte list * byte list val copy_3_2_0 = ([0wx63],[0wx63]) : byte list * byte list val copy_3_3_0 = ([0wx1,0wx2,0wx3],[0wx1,0wx2,0wx3]) : byte list * byte list val copy_3_4_0 = ([0wx1,0wx2,0wx3],[0wx1,0wx2,0wx3,0wx6]) : byte list * byte list val copy_3_4_m1 = ([0wx63],[0wx63]) : byte list * byte list val copy_3_4_0 = ([0wx1,0wx2,0wx3],[0wx1,0wx2,0wx3,0wx6]) : byte list * byte list val copy_3_4_1 = ([0wx1,0wx2,0wx3],[0wx9,0wx1,0wx2,0wx3]) : byte list * byte list val copy_3_4_2 = ([0wx63],[0wx63]) : byte list * byte list val testCopyVec = fn : VS.slice * A.array * int -> byte list * byte list val copyVec_0_3_0 = ([],[0wx9,0wx8,0wx7]) : byte list * byte list val copyVec_1_3_0 = ([0wx1],[0wx1,0wx8,0wx7]) : byte list * byte list val copyVec_2_3_0 = ([0wx1,0wx2],[0wx1,0wx2,0wx7]) : byte list * byte list val copyVec_3_0_0 = ([0wx63],[0wx63]) : byte list * byte list val copyVec_3_1_0 = ([0wx63],[0wx63]) : byte list * byte list val copyVec_3_2_0 = ([0wx63],[0wx63]) : byte list * byte list val copyVec_3_3_0 = ([0wx1,0wx2,0wx3],[0wx1,0wx2,0wx3]) : byte list * byte list val copyVec_3_4_0 = ([0wx1,0wx2,0wx3],[0wx1,0wx2,0wx3,0wx6]) : byte list * byte list val copyVec_3_4_m1 = ([0wx63],[0wx63]) : byte list * byte list val copyVec_3_4_0 = ([0wx1,0wx2,0wx3],[0wx1,0wx2,0wx3,0wx6]) : byte list * byte list val copyVec_3_4_1 = ([0wx1,0wx2,0wx3],[0wx9,0wx1,0wx2,0wx3]) : byte list * byte list val copyVec_3_4_2 = ([0wx63],[0wx63]) : byte list * byte list smlsharp-1.2.0/test/tests/basis/outputs/Word8Vector001.out0000644 000000000000000000001105112050661606023606 0ustar00rootroot0000000 0000000 val L2V = fn : int list -> Word8Vector.vector val V2L = fn : Word8Vector.vector -> int list val fromList_0i = [] : int list val fromList_1i = [1] : int list val fromList_2i = [1,2] : int list val tabulateFun = fn : int -> Word8.word val tabulate0 = [] : int list val tabulate1 = [0] : int list val tabulate2 = [0,1] : int list val tabulatem1 = [9] : int list val length1 = 0 : int val length2 = 1 : int val length3 = 2 : int val sub00 = 0wx9 : Word8Vector.elem val sub0m1 = 0wx9 : Word8Vector.elem val sub01 = 0wx9 : Word8Vector.elem val sub10 = 0wx1 : Word8Vector.elem val sub11 = 0wx9 : Word8Vector.elem val sub1m1 = 0wx9 : Word8Vector.elem val sub20 = 0wx1 : Word8Vector.elem val sub21 = 0wx2 : Word8Vector.elem val sub22 = 0wx9 : Word8Vector.elem val concat0 = - : Word8Vector.vector val concat10 = - : Word8Vector.vector val concat200 = - : Word8Vector.vector val concat11 = - : Word8Vector.vector val concat201 = - : Word8Vector.vector val concat210 = - : Word8Vector.vector val concat211 = - : Word8Vector.vector val concat222 = - : Word8Vector.vector val concat3303 = - : Word8Vector.vector val concat3333 = - : Word8Vector.vector val testUpdate = fn : Word8Vector.vector * int * int -> int list val update00 = [] : int list val update0m1 = [] : int list val update01 = [] : int list val update10 = [1] : int list val update11 = [2] : int list val update1m1 = [2] : int list val update20 = [1,2] : int list val update21 = [1,2] : int list val update22 = [1,2] : int list val appiFun = fn : int * byte -> unit val appi_0 = SOME () : unit option 01val appi_1 = SOME () : unit option 0112val appi_2 = SOME () : unit option val appFun = fn : byte -> unit val app0 = () : unit 1val app1 = () : unit 12val app2 = () : unit 123val app3 = () : unit val mapiFun = fn : int * byte -> Word8.word val mapi_0 = SOME - : Word8Vector.vector option 0val mapi_1 = SOME - : Word8Vector.vector option 01val mapi_2 = SOME - : Word8Vector.vector option val mapFun = fn : byte -> byte val map0 = - : Word8Vector.vector 1val map1 = - : Word8Vector.vector 12val map2 = - : Word8Vector.vector 123val map3 = - : Word8Vector.vector val foldliFun = fn : ['a .int * 'a * 'a list -> 'a list] val foldli_0 = [] : byte list 0val foldli_1 = [0wx1] : byte list 01val foldli_2 = [0wx2,0wx1] : byte list val foldlFun = fn : ['a .'a * 'a list -> 'a list] val foldl0 = [] : byte list val foldl1 = [0wx1] : byte list val foldl2 = [0wx2,0wx1] : byte list val foldl3 = [0wx3,0wx2,0wx1] : byte list val foldriFun = fn : ['a .int * 'a * 'a list -> 'a list] val foldri_0 = [] : byte list 0val foldri_1 = [0wx1] : byte list 10val foldri_2 = [0wx1,0wx2] : byte list val foldrFun = fn : ['a .'a * 'a list -> 'a list] val foldr0 = [] : byte list val foldr1 = [0wx1] : byte list val foldr2 = [0wx1,0wx2] : byte list val foldr3 = [0wx1,0wx2,0wx3] : byte list val findiFun = fn : int * byte -> bool val findi_0 = NONE : (int * Word8Vector.elem) option 0val findi_1F = NONE : (int * Word8Vector.elem) option 0val findi_1T = SOME (0,0wx9) : (int * Word8Vector.elem) option 01val findi_2F = NONE : (int * Word8Vector.elem) option 01val findi_2T1 = SOME (1,0wx9) : (int * Word8Vector.elem) option 0val findi_2T2 = SOME (0,0wx9) : (int * Word8Vector.elem) option 0val findi_2T3 = SOME (0,0wx9) : (int * Word8Vector.elem) option val findFun = fn : byte -> bool val find_0 = NONE : Word8Vector.elem option 1val find_1F = NONE : Word8Vector.elem option 9val find_1T = SOME 0wx9 : Word8Vector.elem option 12val find_2F = NONE : Word8Vector.elem option 19val find_2T1 = SOME 0wx9 : Word8Vector.elem option 9val find_2T2 = SOME 0wx9 : Word8Vector.elem option 9val find_2T3 = SOME 0wx9 : Word8Vector.elem option val existsFun = fn : byte -> bool val exists_0 = false : bool 1val exists_1F = false : bool 9val exists_1T = true : bool 12val exists_2F = false : bool 19val exists_2T1 = true : bool 9val exists_2T2 = true : bool 9val exists_2T3 = true : bool val allFun = fn : byte -> bool val all_0 = true : bool 1val all_1F = false : bool 9val all_1T = true : bool 1val all_2F1 = false : bool 1val all_2F2 = false : bool 91val all_2F3 = false : bool 99val all_2T = true : bool val collateFun = fn : Word8.word * byte -> General.order val collate00 = EQUAL : order val collate01 = LESS : order val collate10 = GREATER : order val collate11L = LESS : order val collate11E = EQUAL : order val collate11G = GREATER : order val collate12L = LESS : order val collate12G = GREATER : order val collate21L = LESS : order val collate21G = GREATER : order val collate22L1 = LESS : order val collate22L2 = LESS : order val collate22E = EQUAL : order val collate22G1 = GREATER : order val collate22G2 = GREATER : order smlsharp-1.2.0/test/tests/basis/outputs/Word8VectorSlice001.out0000644 000000000000000000001437012050661606024575 0ustar00rootroot0000000 0000000 structure VS : MONO_VECTOR_SLICE structure V : MONO_VECTOR val Words2VS = fn : byte list -> VS.slice val VS2L = fn : VS.slice -> byte list val V2L = fn : V.vector -> byte list val makeVector = fn : int -> V.vector val length1 = 0 : int val length2 = 1 : int val length3 = 2 : int val sub00 = 0wx1 : VS.elem val sub0m1 = 0wx1 : VS.elem val sub01 = 0wx1 : VS.elem val sub10 = 0wx1 : VS.elem val sub11 = 0wx1 : VS.elem val sub1m1 = 0wx1 : VS.elem val sub20 = 0wx1 : VS.elem val sub21 = 0wx2 : VS.elem val sub22 = 0wx3 : VS.elem val full_0 = [] : byte list val full_1 = [0wx1] : byte list val full_2 = [0wx1,0wx2] : byte list val testSlice = fn : int * int * int option -> byte list val slice_0_0_N = [] : byte list val slice_1_0_N = [0wx0] : byte list val slice_1_0_0 = [] : byte list val slice_1_0_1 = [0wx0] : byte list val slice_1_0_2 = [0wx0] : byte list val slice_1_1_N = [] : byte list val slice_1_1_0 = [] : byte list val slice_1_1_1 = [0wx63] : byte list val slice_1_2_N = [0wx63] : byte list val slice_2_0_N = [0wx0,0wx1] : byte list val slice_2_0_0 = [] : byte list val slice_2_0_2 = [0wx0,0wx1] : byte list val slice_2_0_3 = [0wx63] : byte list val slice_2_1_N = [0wx1] : byte list val slice_2_1_0 = [] : byte list val slice_2_1_1 = [0wx1] : byte list val slice_2_1_2 = [0wx63] : byte list val slice_2_2_N = [] : byte list val slice_2_2_0 = [] : byte list val slice_2_2_1 = [0wx63] : byte list val testSubslice = fn : int * int * int * int * int option -> byte list val subslice_5_1_3_0_N = [0wx1,0wx2,0wx3] : byte list val subslice_5_1_3_0_3 = [0wx1,0wx2,0wx3] : byte list val subslice_5_1_3_1_N = [0wx2,0wx3] : byte list val subslice_5_1_3_1_0 = [] : byte list val subslice_5_1_3_1_1 = [0wx2] : byte list val subslice_5_1_3_1_3 = [0wx63] : byte list val subslice_5_1_3_2_N = [0wx3] : byte list val subslice_5_1_3_2_1 = [0wx2] : byte list val testBase = fn : int * int * int -> byte list * int * int val base_0_0_0 = ([],0,0) : byte list * int * int val base_2_0_0 = ([0wx0,0wx1],0,0) : byte list * int * int val base_2_0_1 = ([0wx0,0wx1],0,1) : byte list * int * int val base_2_1_1 = ([0wx0,0wx1],1,1) : byte list * int * int val testVector = fn : int * int * int -> byte list val vector_0_0_0 = [] : byte list val vector_2_0_0 = [] : byte list val vector_2_0_1 = [0wx0] : byte list val vector_2_1_1 = [0wx1] : byte list val concat0 = [] : byte list val concat10 = [] : byte list val concat200 = [] : byte list val concat11 = [0wx1] : byte list val concat201 = [0wx1] : byte list val concat210 = [0wx1] : byte list val concat211 = [0wx1,0wx2] : byte list val concat222 = [0wx1,0wx2,0wx3,0wx4] : byte list val concat3303 = [0wx1,0wx2,0wx3,0wx7,0wx8,0wx9] : byte list val concat3333 = [0wx1,0wx2,0wx3,0wx4,0wx5,0wx6,0wx7,0wx8,0wx9] : byte list val isEmpty_0 = true : bool val isEmpty_1 = false : bool val testGetItem = fn : int * int * int -> byte * byte list val getItem_0_0_0 = (0wx63,[0wx63]) : byte * byte list val getItem_1_0_0 = (0wx63,[0wx63]) : byte * byte list val getItem_1_0_1 = (0wx0,[]) : byte * byte list val getItem_1_1_0 = (0wx63,[0wx63]) : byte * byte list val getItem_2_0_0 = (0wx63,[0wx63]) : byte * byte list val getItem_2_0_1 = (0wx0,[]) : byte * byte list val getItem_2_0_2 = (0wx0,[0wx1]) : byte * byte list val getItem_2_1_0 = (0wx63,[0wx63]) : byte * byte list val getItem_2_1_1 = (0wx1,[]) : byte * byte list val getItem_2_2_0 = (0wx63,[0wx63]) : byte * byte list val mapiFun = fn : ['a .int * 'a -> 'a] val mapi_0 = [] : byte list 0val mapi_1 = [0wx0] : byte list 01val mapi_2 = [0wx0,0wx1] : byte list val mapFun = fn : byte -> byte val map0 = [] : byte list 1val map1 = [0wx2] : byte list 12val map2 = [0wx2,0wx3] : byte list 123val map3 = [0wx2,0wx3,0wx4] : byte list val appiFun = fn : int * byte -> unit val appi_0 = SOME () : unit option 00val appi_1 = SOME () : unit option 0011val appi_2 = SOME () : unit option val appFun = fn : byte -> unit val app0 = () : unit 0val app1 = () : unit 01val app2 = () : unit 012val app3 = () : unit val foldliFun = fn : ['a .int * 'a * 'a list -> 'a list] val foldli_0 = [] : byte list 0val foldli_1 = [0wx0] : byte list 01val foldli_2 = [0wx1,0wx0] : byte list val foldlFun = fn : ['a .'a * 'a list -> 'a list] val foldl0 = [] : byte list val foldl1 = [0wx1] : byte list val foldl2 = [0wx2,0wx1] : byte list val foldl3 = [0wx3,0wx2,0wx1] : byte list val foldriFun = fn : ['a .int * 'a * 'a list -> 'a list] val foldri_0 = [] : byte list 0val foldri_1 = [0wx0] : byte list 10val foldri_2 = [0wx0,0wx1] : byte list val foldrFun = fn : ['a .'a * 'a list -> 'a list] val foldr0 = [] : byte list val foldr1 = [0wx1] : byte list val foldr2 = [0wx1,0wx2] : byte list val foldr3 = [0wx1,0wx2,0wx3] : byte list val findiFun = fn : int * byte -> bool val findi_0 = NONE : (int * VS.elem) option 0val findi_1F = NONE : (int * VS.elem) option 0val findi_1T = SOME ( 0, 0wx9 ) : (int * VS.elem) option 01val findi_2F = NONE : (int * VS.elem) option 01val findi_2T1 = SOME ( 1, 0wx9 ) : (int * VS.elem) option 0val findi_2T2 = SOME ( 0, 0wx9 ) : (int * VS.elem) option 0val findi_2T3 = SOME ( 0, 0wx9 ) : (int * VS.elem) option val findFun = fn : byte -> bool val find_0 = NONE : VS.elem option 1val find_1F = NONE : VS.elem option 9val find_1T = SOME 0wx9 : VS.elem option 12val find_2F = NONE : VS.elem option 19val find_2T1 = SOME 0wx9 : VS.elem option 9val find_2T2 = SOME 0wx9 : VS.elem option 9val find_2T3 = SOME 0wx9 : VS.elem option val existsFun = fn : byte -> bool val exists_0 = false : bool 1val exists_1F = false : bool 9val exists_1T = true : bool 12val exists_2F = false : bool 19val exists_2T1 = true : bool 9val exists_2T2 = true : bool 9val exists_2T3 = true : bool val allFun = fn : byte -> bool val all_0 = true : bool 1val all_1F = false : bool 9val all_1T = true : bool 1val all_2F1 = false : bool 1val all_2F2 = false : bool 91val all_2F3 = false : bool 99val all_2T = true : bool val collateFun = fn : byte * byte -> General.order val collate00 = EQUAL : order val collate01 = LESS : order val collate10 = GREATER : order val collate11L = LESS : order val collate11E = EQUAL : order val collate11G = GREATER : order val collate12L = LESS : order val collate12G = GREATER : order val collate21L = LESS : order val collate21G = GREATER : order val collate22L1 = LESS : order val collate22L2 = LESS : order val collate22E = EQUAL : order val collate22G1 = GREATER : order val collate22G2 = GREATER : order smlsharp-1.2.0/test/tests/basis/tests0000755 000000000000000000000000012050661606020010 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/test/tests/basis/tests/Array001.sml0000644 000000000000000000002476712050661606022123 0ustar00rootroot0000000 0000000 (* test cases for Array structure. *) fun L2A list = Array.fromList list; fun L2V list = Vector.fromList list; fun S2A string = L2A (String.explode string); fun A2L array = let val length = Array.length array fun scan ~1 accum = accum | scan n accum = scan (n - 1) (Array.sub(array, n) :: accum) in scan (length - 1) [] end; fun V2L vector = let val length = Vector.length vector fun scan ~1 accum = accum | scan n accum = scan (n - 1) (Vector.sub(vector, n) :: accum) in scan (length - 1) [] end; val array_0i = A2L(Array.array(0, 1)); val array_0r = A2L(Array.array(0, 1.23)); val array_0ii = A2L(Array.array(0, (1, 2))); val array_1i = A2L(Array.array(1, 1)); val array_1r = A2L(Array.array(1, 1.23)); val array_1ii = A2L(Array.array(1, (1, 2))); val array_2i = A2L(Array.array(2, 1)); val array_2r = A2L(Array.array(2, 1.23)); val array_2ii = A2L(Array.array(2, (1, 2))); val array_m1i = A2L(Array.array(~1, 1)) handle General.Size => [999]; val fromList_0i = A2L(Array.fromList ([] : int list)); val fromList_0r = A2L(Array.fromList ([] : real list)); val fromList_0ii = A2L(Array.fromList ([] : (int * int) list)); val fromList_1i = A2L(Array.fromList [1]); val fromList_1r = A2L(Array.fromList [1.23]); val fromList_1ii = A2L(Array.fromList [(1, 2)]); val fromList_2i = A2L(Array.fromList [1, 2]); val fromList_2r = A2L(Array.fromList [1.23, 2.34]); val fromList_2ii = A2L(Array.fromList [(1, 2), (3, 4)]); val tabulateFun = fn x => x; val tabulate0 = A2L(Array.tabulate (0, tabulateFun)); val tabulate1 = A2L(Array.tabulate (1, tabulateFun)); val tabulate2 = A2L(Array.tabulate (2, tabulateFun)); val tabulatem1 = A2L(Array.tabulate (~1, tabulateFun)) handle General.Size => [999]; val length1 = Array.length (L2A[]); val length2 = Array.length (L2A[1]); val length3 = Array.length (L2A[1, 2]); val sub00 = Array.sub ((L2A[]), 0) handle General.Subscript => 1; val sub0m1 = Array.sub ((L2A[]), ~1) handle General.Subscript => 1; val sub01 = Array.sub ((L2A[]), 1) handle General.Subscript => 1; val sub10 = Array.sub ((L2A[1]), 0); val sub11 = Array.sub ((L2A[2]), 1) handle General.Subscript => 1; val sub1m1 = Array.sub ((L2A[2]), ~1) handle General.Subscript => 1; val sub20 = Array.sub ((L2A[1, 2]), 0); val sub21 = Array.sub ((L2A[1, 2]), 1); val sub22 = Array.sub ((L2A[1, 2]), 2) handle General.Subscript => 3; (********************) fun testUpdate (array, index, newValue) = (Array.update(array, index, newValue); A2L(array)); val update00 = testUpdate ((L2A[]), 0, 9) handle General.Subscript => [1]; val update0m1 = testUpdate ((L2A[]), ~1, 9) handle General.Subscript => [1]; val update01 = testUpdate ((L2A[]), 1, 9) handle General.Subscript => [1]; val update10 = testUpdate ((L2A[1]), 0, 9); val update11 = testUpdate ((L2A[2]), 1, 9) handle General.Subscript => [999]; val update1m1 = testUpdate ((L2A[2]), ~1, 9) handle General.Subscript => [999]; val update20 = testUpdate ((L2A[1, 2]), 0, 9); val update21 = testUpdate ((L2A[1, 2]), 1, 9); val update22 = testUpdate ((L2A[1, 2]), 2, 9) handle General.Subscript => [999]; (********************) val vector_0 = V2L(Array.vector (L2A([] : int list))); val vector_1 = V2L(Array.vector (L2A[1])); val vector_2 = V2L(Array.vector (L2A[1, 2])); (********************) fun testCopy (src, dst, di) = (Array.copy {src = src, dst = dst, di = di}; (A2L src, A2L dst)); (* variation of length of src array *) val copy_0_3_0 = testCopy(L2A[], L2A[9, 8, 7], 0); val copy_1_3_0 = testCopy(L2A[1], L2A[9, 8, 7], 0); val copy_2_3_0 = testCopy(L2A[1, 2], L2A[9, 8, 7], 0); (* variation of length of dst array *) val copy_3_0_0 = testCopy(L2A[1, 2, 3], L2A[], 0) handle Subscript => ([~1], [~1]); val copy_3_1_0 = testCopy(L2A[1, 2, 3], L2A[9], 0) handle Subscript => ([~1], [~1]); val copy_3_2_0 = testCopy(L2A[1, 2, 3], L2A[9, 8], 0) handle Subscript => ([~1], [~1]); val copy_3_3_0 = testCopy(L2A[1, 2, 3], L2A[9, 8, 7], 0); val copy_3_4_0 = testCopy(L2A[1, 2, 3], L2A[9, 8, 7, 6], 0); (* variation of di *) val copy_3_4_m1 = testCopy(L2A[1, 2, 3], L2A[9, 8, 7, 6], ~1) handle Subscript => ([~1], [~1]); val copy_3_4_0 = testCopy(L2A[1, 2, 3], L2A[9, 8, 7, 6], 0); val copy_3_4_1 = testCopy(L2A[1, 2, 3], L2A[9, 8, 7, 6], 1); val copy_3_4_2 = testCopy(L2A[1, 2, 3], L2A[9, 8, 7, 6], 2) handle Subscript => ([~1], [~1]); (********************) fun testCopyVec (src, dst, di) = (Array.copyVec {src = src, dst = dst, di = di}; (V2L src, A2L dst)); (* variation of length of src array *) val copyVec_0_3_0 = testCopyVec(L2V[], L2A[9, 8, 7], 0); val copyVec_1_3_0 = testCopyVec(L2V[1], L2A[9, 8, 7], 0); val copyVec_2_3_0 = testCopyVec(L2V[1, 2], L2A[9, 8, 7], 0); (* variation of length of dst array *) val copyVec_3_0_0 = testCopyVec(L2V[1, 2, 3], L2A[], 0) handle Subscript => ([~1], [~1]); val copyVec_3_1_0 = testCopyVec(L2V[1, 2, 3], L2A[9], 0) handle Subscript => ([~1], [~1]); val copyVec_3_2_0 = testCopyVec(L2V[1, 2, 3], L2A[9, 8], 0) handle Subscript => ([~1], [~1]); val copyVec_3_3_0 = testCopyVec(L2V[1, 2, 3], L2A[9, 8, 7], 0); val copyVec_3_4_0 = testCopyVec(L2V[1, 2, 3], L2A[9, 8, 7, 6], 0); (* variation of di *) val copyVec_3_4_m1 = testCopyVec(L2V[1, 2, 3], L2A[9, 8, 7, 6], ~1) handle Subscript => ([~1], [~1]); val copyVec_3_4_0 = testCopyVec(L2V[1, 2, 3], L2A[9, 8, 7, 6], 0); val copyVec_3_4_1 = testCopyVec(L2V[1, 2, 3], L2A[9, 8, 7, 6], 1); val copyVec_3_4_2 = testCopyVec(L2V[1, 2, 3], L2A[9, 8, 7, 6], 2) handle Subscript => ([~1], [~1]); (********************) val appiFun = fn (index, ch) => (print(Int.toString index); print(Char.toString ch)); val appi_0 = SOME(Array.appi appiFun (S2A"")); val appi_1 = SOME(Array.appi appiFun (S2A"a")); val appi_2 = SOME(Array.appi appiFun (S2A"ab")); (********************) val appFun = fn x => print x; val app0 = Array.app appFun (L2A[]); val app1 = Array.app appFun (L2A["a"]); val app2 = Array.app appFun (L2A["a", "b"]); val app3 = Array.app appFun (L2A["a", "b", "c"]); (********************) val modifyiFun = fn (index, ch) => (print(Int.toString index); Char.toUpper ch); fun testModifyi array = (Array.modifyi modifyiFun array; A2L array); (* safe cases *) val modifyi_0 = testModifyi (S2A""); val modifyi_1 = testModifyi (S2A"a"); val modifyi_2 = testModifyi (S2A"ab"); (********************) val modifyFun = fn x => (print(Int.toString x); x + 1); fun testModify array = (Array.modify modifyFun array; A2L array); val modify0 = testModify (L2A[]); val modify1 = testModify (L2A[1]); val modify2 = testModify (L2A[1, 2]); val modify3 = testModify (L2A[1, 2, 3]); (********************) val foldliFun = fn (index, ch, accum) => (print(Int.toString index); ch :: accum); val foldli_0 = Array.foldli foldliFun [] (S2A""); val foldli_1 = Array.foldli foldliFun [] (S2A"a"); val foldli_2 = Array.foldli foldliFun [] (S2A"ab"); (********************) val foldlFun = fn (x, xs) => x :: xs; val foldl0 = Array.foldl foldlFun [] ((L2A[]) : int Array.array); val foldl1 = Array.foldl foldlFun [] (L2A[1]); val foldl2 = Array.foldl foldlFun [] (L2A[1, 2]); val foldl3 = Array.foldl foldlFun [] (L2A[1, 2, 3]); (********************) val foldriFun = fn (index, ch, accum) => (print(Int.toString index); ch :: accum); (* safe cases *) val foldri_0 = Array.foldri foldriFun [] (S2A""); val foldri_1 = Array.foldri foldriFun [] (S2A"a"); val foldri_2 = Array.foldri foldriFun [] (S2A"ab"); (********************) val foldrFun = fn (x, xs) => x :: xs; val foldr0 = Array.foldr foldrFun [] ((L2A[]) : int Array.array); val foldr1 = Array.foldr foldrFun [] (L2A[1]); val foldr2 = Array.foldr foldrFun [] (L2A[1, 2]); val foldr3 = Array.foldr foldrFun [] (L2A[1, 2, 3]); (********************) val findiFun = fn (index, value) => (print (Int.toString index); value = #"x"); val findi_0 = Array.findi findiFun (L2A[]); val findi_1F = Array.findi findiFun (L2A[#"a"]); val findi_1T = Array.findi findiFun (L2A[#"x"]); val findi_2F = Array.findi findiFun (L2A[#"a", #"b"]); val findi_2T1 = Array.findi findiFun (L2A[#"a", #"x"]); val findi_2T2 = Array.findi findiFun (L2A[#"x", #"a"]); val findi_2T3 = Array.findi findiFun (L2A[#"x", #"x"]); (********************) val findFun = fn value => (print (Char.toString value); value = #"x"); val find_0 = Array.find findFun (L2A[]); val find_1F = Array.find findFun (L2A[#"a"]); val find_1T = Array.find findFun (L2A[#"x"]); val find_2F = Array.find findFun (L2A[#"a", #"b"]); val find_2T1 = Array.find findFun (L2A[#"a", #"x"]); val find_2T2 = Array.find findFun (L2A[#"x", #"a"]); val find_2T3 = Array.find findFun (L2A[#"x", #"x"]); (********************) val existsFun = fn value => (print (Char.toString value); value = #"x"); val exists_0 = Array.exists existsFun (L2A[]); val exists_1F = Array.exists existsFun (L2A[#"a"]); val exists_1T = Array.exists existsFun (L2A[#"x"]); val exists_2F = Array.exists existsFun (L2A[#"a", #"b"]); val exists_2T1 = Array.exists existsFun (L2A[#"a", #"x"]); val exists_2T2 = Array.exists existsFun (L2A[#"x", #"a"]); val exists_2T3 = Array.exists existsFun (L2A[#"x", #"x"]); (********************) val allFun = fn value => (print (Char.toString value); value = #"x"); val all_0 = Array.all allFun (L2A[]); val all_1F = Array.all allFun (L2A[#"a"]); val all_1T = Array.all allFun (L2A[#"x"]); val all_2F1 = Array.all allFun (L2A[#"a", #"b"]); val all_2F2 = Array.all allFun (L2A[#"a", #"x"]); val all_2F3 = Array.all allFun (L2A[#"x", #"a"]); val all_2T = Array.all allFun (L2A[#"x", #"x"]); (********************) val collateFun = fn (x, y) => if x < y then General.LESS else if x = y then General.EQUAL else General.GREATER; val collate00 = Array.collate collateFun ((L2A[]), (L2A[])); val collate01 = Array.collate collateFun ((L2A[]), (L2A[1])); val collate10 = Array.collate collateFun ((L2A[1]), (L2A[0])); val collate11L = Array.collate collateFun ((L2A[1]), (L2A[2])); val collate11E = Array.collate collateFun ((L2A[1]), (L2A[1])); val collate11G = Array.collate collateFun ((L2A[2]), (L2A[1])); val collate12L = Array.collate collateFun ((L2A[1]), (L2A[1, 2])); val collate12G = Array.collate collateFun ((L2A[2]), (L2A[1, 2])); val collate21L = Array.collate collateFun ((L2A[1, 2]), (L2A[2])); val collate21G = Array.collate collateFun ((L2A[1, 2]), (L2A[1])); val collate22L1 = Array.collate collateFun ((L2A[2, 1]), (L2A[3, 1])); val collate22L2 = Array.collate collateFun ((L2A[1, 2]), (L2A[1, 3])); val collate22E = Array.collate collateFun ((L2A[1, 2]), (L2A[1, 2])); val collate22G1 = Array.collate collateFun ((L2A[3, 1]), (L2A[2, 1])); val collate22G2 = Array.collate collateFun ((L2A[1, 3]), (L2A[1, 2])); smlsharp-1.2.0/test/tests/basis/tests/ArraySlice001.sml0000644 000000000000000000001013012050661606023056 0ustar00rootroot0000000 0000000 (* test cases for ArraySlice structure. *) structure AS : ARRAY_SLICE = ArraySlice; structure A : ARRAY = Array; structure VS : VECTOR_SLICE = VectorSlice; structure V : VECTOR = Vector; fun Ints2AS list = let val array = A.fromList (999 :: list @ [888]) in AS.slice(array, 1, SOME(length list)) end; fun Ints2VS list = let val vector = V.fromList (999 :: list @ [888]) in VS.slice(vector, 1, SOME(length list)) end; fun S2AS string = let val array = A.fromList (#"X" :: (String.explode string) @ [#"Y"]) in AS.slice(array, 1, SOME(size string)) end; fun AS2L array = let val length = AS.length array fun scan ~1 accum = accum | scan n accum = scan (n - 1) (AS.sub(array, n) :: accum) in scan (length - 1) [] end; fun VS2L vector = let val length = VS.length vector fun scan ~1 accum = accum | scan n accum = scan (n - 1) (VS.sub(vector, n) :: accum) in scan (length - 1) [] end; fun V2L array = let val length = A.length array fun scan ~1 accum = accum | scan n accum = scan (n - 1) (A.sub(array, n) :: accum) in scan (length - 1) [] end; fun L2V list = Vector.fromList list; fun A2L array = let val length = Array.length array fun scan ~1 accum = accum | scan n accum = scan (n - 1) (Array.sub(array, n) :: accum) in scan (length - 1) [] end; fun L2A list = Array.fromList list; fun makeArray length = A.tabulate (length, fn index => index) (********************) fun testUpdate(srcArrayLength, start, length, index) = let val array = makeArray srcArrayLength val slice = AS.slice (array, start, SOME length) in AS.update(slice, index, 9); (A2L array, AS2L slice) end handle General.Subscript => ([999], [999]); val update_0_0_0_0 = testUpdate(0, 0, 0, 0); val update_1_0_1_0 = testUpdate(1, 0, 1, 0); val update_1_0_1_1 = testUpdate(1, 0, 1, 1); val update_5_1_3_m1 = testUpdate(5, 1, 3, ~1); val update_5_1_3_0 = testUpdate(5, 1, 3, 0); val update_5_1_3_2 = testUpdate(5, 1, 3, 2); val update_5_1_3_3 = testUpdate(5, 1, 3, 3); (********************) fun testCopy (src, dst, di) = (AS.copy {src = src, dst = dst, di = di}; (AS2L src, A2L dst)) handle Subscript => ([~1], [~1]); (* variation of length of src array *) val copy_0_3_0 = testCopy(Ints2AS[], L2A[9, 8, 7], 0); val copy_1_3_0 = testCopy(Ints2AS[1], L2A[9, 8, 7], 0); val copy_2_3_0 = testCopy(Ints2AS[1, 2], L2A[9, 8, 7], 0); (* variation of length of dst array *) val copy_3_0_0 = testCopy(Ints2AS[1, 2, 3], L2A[], 0); val copy_3_1_0 = testCopy(Ints2AS[1, 2, 3], L2A[9], 0); val copy_3_2_0 = testCopy(Ints2AS[1, 2, 3], L2A[9, 8], 0); val copy_3_3_0 = testCopy(Ints2AS[1, 2, 3], L2A[9, 8, 7], 0); val copy_3_4_0 = testCopy(Ints2AS[1, 2, 3], L2A[9, 8, 7, 6], 0); (* variation of di *) val copy_3_4_m1 = testCopy(Ints2AS[1, 2, 3], L2A[9, 8, 7, 6], ~1); val copy_3_4_0 = testCopy(Ints2AS[1, 2, 3], L2A[9, 8, 7, 6], 0); val copy_3_4_1 = testCopy(Ints2AS[1, 2, 3], L2A[9, 8, 7, 6], 1); val copy_3_4_2 = testCopy(Ints2AS[1, 2, 3], L2A[9, 8, 7, 6], 2); (********************) fun testCopyVec (src, dst, di) = (AS.copyVec {src = src, dst = dst, di = di}; (VS2L src, A2L dst)) handle Subscript => ([~1], [~1]); (* variation of length of src array *) val copyVec_0_3_0 = testCopyVec(Ints2VS[], L2A[9, 8, 7], 0); val copyVec_1_3_0 = testCopyVec(Ints2VS[1], L2A[9, 8, 7], 0); val copyVec_2_3_0 = testCopyVec(Ints2VS[1, 2], L2A[9, 8, 7], 0); (* variation of length of dst array *) val copyVec_3_0_0 = testCopyVec(Ints2VS[1, 2, 3], L2A[], 0); val copyVec_3_1_0 = testCopyVec(Ints2VS[1, 2, 3], L2A[9], 0); val copyVec_3_2_0 = testCopyVec(Ints2VS[1, 2, 3], L2A[9, 8], 0); val copyVec_3_3_0 = testCopyVec(Ints2VS[1, 2, 3], L2A[9, 8, 7], 0); val copyVec_3_4_0 = testCopyVec(Ints2VS[1, 2, 3], L2A[9, 8, 7, 6], 0); (* variation of di *) val copyVec_3_4_m1 = testCopyVec(Ints2VS[1, 2, 3], L2A[9, 8, 7, 6], ~1); val copyVec_3_4_0 = testCopyVec(Ints2VS[1, 2, 3], L2A[9, 8, 7, 6], 0); val copyVec_3_4_1 = testCopyVec(Ints2VS[1, 2, 3], L2A[9, 8, 7, 6], 1); val copyVec_3_4_2 = testCopyVec(Ints2VS[1, 2, 3], L2A[9, 8, 7, 6], 2); smlsharp-1.2.0/test/tests/basis/tests/Bool001.sml0000644 000000000000000000000201212050661606021713 0ustar00rootroot0000000 0000000 (* test cases for Bool structure. *) val not_true = Bool.not Bool.true; val not_false = Bool.not Bool.false; val fromString_empty = Bool.fromString ""; val fromString_true = Bool.fromString "true"; val fromString_false = Bool.fromString "false"; val fromString_space_true = Bool.fromString " \t\ntrue"; val fromString_TRUE = Bool.fromString "TRUE"; val fromString_FALSE = Bool.fromString "FALSE"; val fromString_true_trailer = Bool.fromString "truefalse"; fun checkScanResult NONE = NONE | checkScanResult (SOME(result, substring)) = SOME(result, Substring.string substring); fun checkScan string = checkScanResult(Bool.scan Substring.getc (Substring.full string)); val scan_empty = checkScan ""; val scan_true = checkScan "true"; val scan_false = checkScan "false"; val scan_space_true = checkScan " \t\ntrue"; val scan_TRUE = checkScan "TRUE"; val scan_FALSE = checkScan "FALSE"; val scan_true_trailer = checkScan "truefalse"; val toString_true = Bool.toString Bool.true; val toString_false = Bool.toString Bool.false; smlsharp-1.2.0/test/tests/basis/tests/Byte001.sml0000644 000000000000000000000513712050661606021736 0ustar00rootroot0000000 0000000 (* test cases for Byte structure. *) structure AS : MONO_ARRAY_SLICE = Word8ArraySlice; structure A : MONO_ARRAY = Word8Array; structure VS : MONO_VECTOR_SLICE = Word8VectorSlice; structure V : MONO_VECTOR = Word8Vector; fun L2AS list = let val array = A.fromList (0w99 :: list @ [0w88]) in AS.slice(array, 1, SOME(length list)) end; fun L2VS list = let val vector = V.fromList (0w99 :: list @ [0w88]) in VS.slice(vector, 1, SOME(length list)) end; fun AS2L array = let val length = AS.length array fun scan ~1 accum = accum | scan n accum = scan (n - 1) (AS.sub(array, n) :: accum) in scan (length - 1) [] end; fun VS2L vector = let val length = VS.length vector fun scan ~1 accum = accum | scan n accum = scan (n - 1) (VS.sub(vector, n) :: accum) in scan (length - 1) [] end; fun V2L vector = let val length = V.length vector fun scan ~1 accum = accum | scan n accum = scan (n - 1) (V.sub(vector, n) :: accum) in scan (length - 1) [] end; fun L2V list = V.fromList list; fun A2L array = let val length = A.length array fun scan ~1 accum = accum | scan n accum = scan (n - 1) (A.sub(array, n) :: accum) in scan (length - 1) [] end; fun L2A list = A.fromList list; fun makeArray length = A.tabulate (length, fn index => Word8.fromInt index) (**********) val byteToChar_1 = Byte.byteToChar (0w97); (**********) val charToByte_1 = Byte.charToByte #"a"; (**********) val bytesToString_0 = Byte.bytesToString (L2V []); val bytesToString_1 = Byte.bytesToString (L2V [0w97]); (**********) val stringToBytes_0 = V2L(Byte.stringToBytes ""); val stringToBytes_1 = V2L(Byte.stringToBytes "a"); (**********) val unpackStringVec_0 = Byte.unpackStringVec (L2VS []); val unpackStringVec_1 = Byte.unpackStringVec (L2VS [0w97]); (**********) val unpackString_0 = Byte.unpackString (L2AS []); val unpackString_1 = Byte.unpackString (L2AS [0w97]); (**********) fun testPackString (arraySize, start, string) = let val array = makeArray arraySize in Byte.packString (array, start, Substring.full string); A2L array end handle Subscript => [0w9]; val packString_000 = testPackString (0, 0, ""); val packString_3m11 = testPackString (3, ~1, "a"); val packString_301 = testPackString (3, 0, "a"); val packString_311 = testPackString (3, 1, "a"); val packString_321 = testPackString (3, 2, "a"); val packString_331 = testPackString (3, 3, "a"); val packString_302 = testPackString (3, 0, "ab"); val packString_312 = testPackString (3, 1, "ab"); val packString_322 = testPackString (3, 2, "ab"); smlsharp-1.2.0/test/tests/basis/tests/Char001.sml0000644 000000000000000000001755612050661606021720 0ustar00rootroot0000000 0000000 (* test cases for Char structure. *) val minChar0 = Char.minChar = (Char.chr 0); val maxChar0 = Char.maxChar = (Char.chr Char.maxOrd); val maxOrd0 = Char.maxOrd = (Char.ord Char.maxChar); val ord0 = Char.ord #"\000"; val ord1 = Char.ord #"\001"; val chr064 = Char.chr 64; val chr_minus = (Char.chr ~1) handle General.Chr => #"a"; val chr_max = (Char.chr (Char.maxOrd + 1)) handle General.Chr => #"a"; val succ_A = Char.succ #"A"; val succ_min = Char.succ Char.minChar; val succ_max = (Char.succ Char.maxChar) handle General.Chr => #"a"; val pred_A = Char.pred #"A"; val pred_min = (Char.pred Char.minChar) handle General.Chr => #"a"; val pred_max = Char.pred Char.maxChar; val lt_lt = Char.< (#"a", #"b"); val lt_eq = Char.< (#"a", #"a"); val lt_gt = Char.< (#"b", #"a"); val lteq_lt = Char.<= (#"a", #"b"); val lteq_eq = Char.<= (#"a", #"a"); val lteq_gt = Char.<= (#"b", #"a"); val gt_lt = Char.> (#"a", #"b"); val gt_eq = Char.> (#"a", #"a"); val gt_gt = Char.> (#"b", #"a"); val gteq_lt = Char.>= (#"a", #"b"); val gteq_eq = Char.>= (#"a", #"a"); val gteq_gt = Char.>= (#"b", #"a"); val compare_lt = Char.compare (#"a", #"b"); val compare_eq = Char.compare (#"a", #"a"); val compare_gt = Char.compare (#"b", #"a"); val contains_null = Char.contains "" #"a"; val contains_f = Char.contains "x" #"a"; val contains_t = Char.contains "a" #"a"; val contains_ff = Char.contains "xy" #"a"; val contains_ft = Char.contains "xa" #"a"; val contains_tf = Char.contains "ax" #"a"; val contains_ftf = Char.contains "xay" #"a"; val contains_tft = Char.contains "axa" #"a"; val notContains_null = Char.notContains "" #"a"; val notContains_f = Char.notContains "x" #"a"; val notContains_t = Char.notContains "a" #"a"; val notContains_ff = Char.notContains "xy" #"a"; val notContains_ft = Char.notContains "xa" #"a"; val notContains_tf = Char.notContains "ax" #"a"; val notContains_ftf = Char.notContains "xay" #"a"; val notContains_tft = Char.notContains "axa" #"a"; val toLower_A = Char.toLower #"A";(* 065 *) val toLower_Z = Char.toLower #"Z";(* 090 *) val toLower_a = Char.toLower #"a";(* 097 *) val toLower_z = Char.toLower #"z";(* 122 *) val toLower_AT = Char.toLower #"@";(* @ = 064 *) val toLower_LQ = Char.toLower #"[";(* [ = 091 *) val toLower_BQ = Char.toLower #"`";(* ` = 096 *) val toLower_LB = Char.toLower #"{";(* { = 123 *) val toUpper_A = Char.toUpper #"A";(* 065 *) val toUpper_Z = Char.toUpper #"Z";(* 090 *) val toUpper_a = Char.toUpper #"a";(* 097 *) val toUpper_z = Char.toUpper #"z";(* 122 *) val toUpper_AT = Char.toUpper #"@";(* @ = 064 *) val toUpper_LQ = Char.toUpper #"[";(* [ = 091 *) val toUpper_BQ = Char.toUpper #"`";(* ` = 096 *) val toUpper_LB = Char.toUpper #"{";(* { = 123 *) val isAlpha_A = Char.isAlpha #"A";(* 065 *) val isAlpha_Z = Char.isAlpha #"Z";(* 090 *) val isAlpha_a = Char.isAlpha #"a";(* 097 *) val isAlpha_z = Char.isAlpha #"z";(* 122 *) val isAlpha_0 = Char.isAlpha #"0"; val isAlpha_9 = Char.isAlpha #"9"; val isAlpha_F = Char.isAlpha #"F"; val isAlpha_AT = Char.isAlpha #"@";(* @ = 064 *) val isAlpha_LQ = Char.isAlpha #"[";(* [ = 091 *) val isAlpha_BQ = Char.isAlpha #"`";(* ` = 096 *) val isAlpha_LB = Char.isAlpha #"{";(* { = 123 *) (* ToDo : test of other functions (isALphaNum, isAscii, ...) *) val fromString_empty = Char.fromString ""; val fromString_A = Char.fromString "A"; val fromString_ABC = Char.fromString "ABC"; val fromString_alert = Char.fromString "\\a"; val fromString_backspace = Char.fromString "\\b"; val fromString_tab = Char.fromString "\\t"; val fromString_linefeed = Char.fromString "\\n"; val fromString_vtab = Char.fromString "\\v"; val fromString_formfeed = Char.fromString "\\f"; val fromString_return = Char.fromString "\\r"; val fromString_backslash = Char.fromString "\\\\"; val fromString_dquote = Char.fromString "\\\""; val fromString_ctrl064 = Char.fromString "\\^@"; val fromString_ctrl095 = Char.fromString "\\^_"; val fromString_dec000 = Char.fromString "\\000"; val fromString_dec255 = Char.fromString "\\255"; (* val fromString_hex0000 = Char.fromString "\\u0000"; val fromString_hex007e = Char.fromString "\\u007e";(* ~ *) val fromString_hex007E = Char.fromString "\\u007E"; *) val fromString_multiBySpace = Char.fromString "\\ \\def"; val fromString_multiByTab = Char.fromString "\\\t\\def"; val fromString_multiByNewline = Char.fromString "\\\n\\def"; val fromString_multiByFormfeed = Char.fromString "\\\f\\def"; val fromString_invalidEscape = Char.fromString "\\q"; fun scanTest string = Char.scan (fn [] => NONE | (head :: tail) => SOME(head, tail)) (explode string); val scan_empty = scanTest ""; val scan_A = scanTest "A"; val scan_ABC = scanTest "ABC"; val scan_alert = scanTest "\\a"; val scan_backspace = scanTest "\\b"; val scan_tab = scanTest "\\t"; val scan_linefeed = scanTest "\\n"; val scan_vtab = scanTest "\\v"; val scan_formfeed = scanTest "\\f"; val scan_return = scanTest "\\r"; val scan_backslash = scanTest "\\\\"; val scan_dquote = scanTest "\\\""; val scan_ctrl064 = scanTest "\\^@"; val scan_ctrl095 = scanTest "\\^_"; val scan_dec000 = scanTest "\\000"; val scan_dec255 = scanTest "\\255"; (* val scan_hex0000 = scanTest "\\u0000"; val scan_hex007e = scanTest "\\u007e";(* ~ *) val scan_hex007E = scanTest "\\u007E"; *) val scan_multiBySpace = scanTest "\\ \\def"; val scan_multiByTab = scanTest "\\\t\\def"; val scan_multiByNewline = scanTest "\\\n\\def"; val scan_multiByFormfeed = scanTest "\\\f\\def"; val scan_invalidEscape = scanTest "\\q"; val toString_A = Char.toString #"A"; val toString_alert = Char.toString #"\a"; val toString_backspace = Char.toString #"\b"; val toString_tab = Char.toString #"\t"; val toString_linefeed = Char.toString #"\n"; val toString_vtab = Char.toString #"\v"; val toString_formfeed = Char.toString #"\f"; val toString_return = Char.toString #"\r"; val toString_backslash = Char.toString #"\\"; val toString_dquote = Char.toString #"\""; val toString_ctrl064 = Char.toString #"\^@"; val toString_ctrl095 = Char.toString #"\^_"; val toString_dec000 = Char.toString #"\000"; val toString_dec255 = Char.toString #"\255"; (* val toString_hex0000 = Char.toString #"\u0000"; val toString_hex007e = Char.toString #"\u007e";(* ~ *) val toString_hex007E = Char.toString #"\u007E"; *) val toCString_A = Char.toCString #"A"; val toCString_alert = Char.toCString #"\a"; val toCString_backspace = Char.toCString #"\b"; val toCString_tab = Char.toCString #"\t"; val toCString_linefeed = Char.toCString #"\n"; val toCString_vtab = Char.toCString #"\v"; val toCString_formfeed = Char.toCString #"\f"; val toCString_return = Char.toCString #"\r"; val toCString_backslash = Char.toCString #"\\"; val toCString_dquote = Char.toCString #"\""; val toCString_squote = Char.toCString #"'"; val toCString_question = Char.toCString #"?"; val toCString_ctrl064 = Char.toCString #"\^@"; val toCString_ctrl095 = Char.toCString #"\^_"; val toCString_dec000 = Char.toCString #"\000"; val toCString_dec255 = Char.toCString #"\255"; val fromCString_empty = Char.fromCString ""; val fromCString_A = Char.fromCString "A"; val fromCString_ABC = Char.fromCString "ABC"; val fromCString_alert = Char.fromCString "\\a"; val fromCString_backspace = Char.fromCString "\\b"; val fromCString_tab = Char.fromCString "\\t"; val fromCString_linefeed = Char.fromCString "\\n"; val fromCString_vtab = Char.fromCString "\\v"; val fromCString_formfeed = Char.fromCString "\\f"; val fromCString_return = Char.fromCString "\\r"; val fromCString_backslash = Char.fromCString "\\\\"; val fromCString_dquote = Char.fromCString "\\\""; val fromCString_squote = Char.fromCString "\\'"; val fromCString_question = Char.fromCString "\\?"; val fromCString_ctrl064 = Char.fromCString "\\^@"; val fromCString_ctrl095 = Char.fromCString "\\^_"; val fromCString_oct000 = Char.fromCString "\\000"; val fromCString_oct101 = Char.fromCString "\\101";(* 0x41 = A *) val fromCString_hex00 = Char.fromCString "\\x00"; val fromCString_hex7e = Char.fromCString "\\x7e";(* ~ *) val fromCString_hex7E = Char.fromCString "\\x7E"; smlsharp-1.2.0/test/tests/basis/tests/CharArray001.sml0000644 000000000000000000002627712050661606022717 0ustar00rootroot0000000 0000000 (* test cases for Array structure. *) fun L2A list = CharArray.fromList list; fun L2V list = CharVector.fromList list; fun S2A string = L2A (String.explode string); fun A2L array = let val length = CharArray.length array fun scan ~1 accum = accum | scan n accum = scan (n - 1) (CharArray.sub(array, n) :: accum) in scan (length - 1) [] : char list end; fun V2L vector = let val length = CharVector.length vector fun scan ~1 accum = accum | scan n accum = scan (n - 1) (CharVector.sub(vector, n) :: accum) in scan (length - 1) [] : char list end; val array_0i = A2L(CharArray.array(0, #"a")); val array_1i = A2L(CharArray.array(1, #"a")); val array_2i = A2L(CharArray.array(2, #"a")); val array_m1i = A2L(CharArray.array(~1, #"a")) handle General.Size => [#"X"]; val fromList_0i = A2L(CharArray.fromList ([] : char list)); val fromList_1i = A2L(CharArray.fromList [#"a"]); val fromList_2i = A2L(CharArray.fromList [#"a", #"b"]); val tabulateFun = fn x => Char.chr x; val tabulate0 = A2L(CharArray.tabulate (0, tabulateFun)); val tabulate1 = A2L(CharArray.tabulate (1, tabulateFun)); val tabulate2 = A2L(CharArray.tabulate (2, tabulateFun)); val tabulatem1 = A2L(CharArray.tabulate (~1, tabulateFun)) handle General.Size => [#"X"]; val length1 = CharArray.length (L2A[]); val length2 = CharArray.length (L2A[#"A"]); val length3 = CharArray.length (L2A[#"A", #"B"]); val sub00 = CharArray.sub ((L2A[]), 0) handle General.Subscript => #"X"; val sub0m1 = CharArray.sub ((L2A[]), ~1) handle General.Subscript => #"X"; val sub01 = CharArray.sub ((L2A[]), 1) handle General.Subscript => #"X"; val sub10 = CharArray.sub ((L2A[#"a"]), 0); val sub11 = CharArray.sub ((L2A[#"b"]), 1) handle General.Subscript => #"X"; val sub1m1 = CharArray.sub ((L2A[#"b"]), ~1) handle General.Subscript => #"X"; val sub20 = CharArray.sub ((L2A[#"a", #"b"]), 0); val sub21 = CharArray.sub ((L2A[#"a", #"b"]), 1); val sub22 = CharArray.sub ((L2A[#"a", #"b"]), 2) handle General.Subscript => #"X"; (********************) fun testUpdate (array, index, newValue) = (CharArray.update(array, index, newValue); A2L(array)); val update00 = testUpdate ((L2A[]), 0, #"A") handle General.Subscript => [#"a"]; val update0m1 = testUpdate ((L2A[]), ~1, #"A") handle General.Subscript => [#"a"]; val update01 = testUpdate ((L2A[]), 1, #"A") handle General.Subscript => [#"a"]; val update10 = testUpdate ((L2A[#"a"]), 0, #"A"); val update11 = testUpdate ((L2A[#"b"]), 1, #"A") handle General.Subscript => [#"X"]; val update1m1 = testUpdate ((L2A[#"b"]), ~1, #"A") handle General.Subscript => [#"X"]; val update20 = testUpdate ((L2A[#"a", #"b"]), 0, #"A"); val update21 = testUpdate ((L2A[#"a", #"b"]), 1, #"A"); val update22 = testUpdate ((L2A[#"a", #"b"]), 2, #"A") handle General.Subscript => [#"X"]; (********************) val vector_0 = CharArray.vector (L2A[]); val vector_1 = CharArray.vector (L2A[#"a"]); val vector_2 = CharArray.vector (L2A[#"a", #"b"]); (********************) fun testCopy (src, dst, di) = (CharArray.copy {src = src, dst = dst, di = di}; (A2L src, A2L dst)); (* variation of length of src array *) val copy_0_3_0 = testCopy(L2A[], L2A[#"z", #"y", #"x"], 0); val copy_1_3_0 = testCopy(L2A[#"a"], L2A[#"z", #"y", #"x"], 0); val copy_2_3_0 = testCopy(L2A[#"a", #"b"], L2A[#"z", #"y", #"x"], 0); (* variation of length of dst array *) val copy_3_0_0 = testCopy(L2A[#"a", #"b", #"c"], L2A[], 0) handle Subscript => ([#"X"], [#"X"]); val copy_3_1_0 = testCopy(L2A[#"a", #"b", #"c"], L2A[#"z"], 0) handle Subscript => ([#"X"], [#"X"]); val copy_3_2_0 = testCopy(L2A[#"a", #"b", #"c"], L2A[#"z", #"y"], 0) handle Subscript => ([#"X"], [#"X"]); val copy_3_3_0 = testCopy(L2A[#"a", #"b", #"c"], L2A[#"z", #"y", #"x"], 0); val copy_3_4_0 = testCopy(L2A[#"a", #"b", #"c"], L2A[#"z", #"y", #"x", #"w"], 0); (* variation of di *) val copy_3_4_m1 = testCopy(L2A[#"a", #"b", #"c"], L2A[#"z", #"y", #"x", #"w"], ~1) handle Subscript => ([#"X"], [#"X"]); val copy_3_4_0 = testCopy(L2A[#"a", #"b", #"c"], L2A[#"z", #"y", #"x", #"w"], 0); val copy_3_4_1 = testCopy(L2A[#"a", #"b", #"c"], L2A[#"z", #"y", #"x", #"w"], 1); val copy_3_4_2 = testCopy(L2A[#"a", #"b", #"c"], L2A[#"z", #"y", #"x", #"w"], 2) handle Subscript => ([#"X"], [#"X"]); (********************) fun testCopyVec (src, dst, di) = (CharArray.copyVec {src = src, dst = dst, di = di}; (V2L src, A2L dst)); (* variation of length of src array *) val copyVec_0_3_0 = testCopyVec(L2V[], L2A[#"z", #"y", #"x"], 0); val copyVec_1_3_0 = testCopyVec(L2V[#"a"], L2A[#"z", #"y", #"x"], 0); val copyVec_2_3_0 = testCopyVec(L2V[#"a", #"b"], L2A[#"z", #"y", #"x"], 0); (* variation of length of dst array *) val copyVec_3_0_0 = testCopyVec(L2V[#"a", #"b", #"c"], L2A[], 0) handle Subscript => ([#"X"], [#"X"]); val copyVec_3_1_0 = testCopyVec(L2V[#"a", #"b", #"c"], L2A[#"z"], 0) handle Subscript => ([#"X"], [#"X"]); val copyVec_3_2_0 = testCopyVec(L2V[#"a", #"b", #"c"], L2A[#"z", #"y"], 0) handle Subscript => ([#"X"], [#"X"]); val copyVec_3_3_0 = testCopyVec(L2V[#"a", #"b", #"c"], L2A[#"z", #"y", #"x"], 0); val copyVec_3_4_0 = testCopyVec (L2V[#"a", #"b", #"c"], L2A[#"z", #"y", #"x", #"w"], 0); (* variation of di *) val copyVec_3_4_m1 = testCopyVec (L2V[#"a", #"b", #"c"], L2A[#"z", #"y", #"x", #"w"], ~1) handle Subscript => ([#"X"], [#"X"]); val copyVec_3_4_0 = testCopyVec (L2V[#"a", #"b", #"c"], L2A[#"z", #"y", #"x", #"w"], 0); val copyVec_3_4_1 = testCopyVec (L2V[#"a", #"b", #"c"], L2A[#"z", #"y", #"x", #"w"], 1); val copyVec_3_4_2 = testCopyVec(L2V[#"a", #"b", #"c"], L2A[#"z", #"y", #"x", #"w"], 2) handle Subscript => ([#"X"], [#"X"]); (********************) val appiFun = fn (index, ch) => (print(Int.toString index); print(Char.toString ch)); (* safe cases *) val appi_0 = SOME(CharArray.appi appiFun (S2A"")); val appi_1 = SOME(CharArray.appi appiFun (S2A"a")); val appi_2 = SOME(CharArray.appi appiFun (S2A"ab")); (********************) val appFun = fn x => print (Char.toString x); val app0 = CharArray.app appFun (L2A[]); val app1 = CharArray.app appFun (L2A[#"a"]); val app2 = CharArray.app appFun (L2A[#"a", #"b"]); val app3 = CharArray.app appFun (L2A[#"a", #"b", #"c"]); (********************) val modifyiFun = fn (index, ch) => (print(Int.toString index); Char.toUpper ch); fun testModifyi array =(CharArray.modifyi modifyiFun array; A2L array); val modifyi_0 = testModifyi (S2A""); val modifyi_1 = testModifyi (S2A"a"); val modifyi_2 = testModifyi (S2A"ab"); (********************) val modifyFun = fn x => (print(Char.toString x); Char.toUpper x); fun testModify array = (CharArray.modify modifyFun array; A2L array); val modify0 = testModify (L2A[]); val modify1 = testModify (L2A[#"a"]); val modify2 = testModify (L2A[#"a", #"b"]); val modify3 = testModify (L2A[#"a", #"b", #"c"]); (********************) val foldliFun = fn (index, ch, accum) => (print(Int.toString index); ch :: accum); val foldli_0 = CharArray.foldli foldliFun [] (S2A""); val foldli_1 = CharArray.foldli foldliFun [] (S2A"a"); val foldli_2 = CharArray.foldli foldliFun [] (S2A"ab"); (********************) val foldlFun = fn (x, xs) => x :: xs; val foldl0 = CharArray.foldl foldlFun [] ((L2A[]) : CharArray.array); val foldl1 = CharArray.foldl foldlFun [] (L2A[#"a"]); val foldl2 = CharArray.foldl foldlFun [] (L2A[#"a", #"b"]); val foldl3 = CharArray.foldl foldlFun [] (L2A[#"a", #"b", #"c"]); (********************) val foldriFun = fn (index, ch, accum) => (print(Int.toString index); ch :: accum); val foldri_0 = CharArray.foldri foldriFun [] (S2A""); val foldri_1 = CharArray.foldri foldriFun [] (S2A"a"); val foldri_2 = CharArray.foldri foldriFun [] (S2A"ab"); (********************) val foldrFun = fn (x, xs) => x :: xs; val foldr0 = CharArray.foldr foldrFun [] ((L2A[]) : CharArray.array); val foldr1 = CharArray.foldr foldrFun [] (L2A[#"a"]); val foldr2 = CharArray.foldr foldrFun [] (L2A[#"a", #"b"]); val foldr3 = CharArray.foldr foldrFun [] (L2A[#"a", #"b", #"c"]); (********************) val findiFun = fn (index, value) => (print (Int.toString index); value = #"x"); val findi_0 = CharArray.findi findiFun (L2A[]); val findi_1F = CharArray.findi findiFun (L2A[#"a"]); val findi_1T = CharArray.findi findiFun (L2A[#"x"]); val findi_2F = CharArray.findi findiFun (L2A[#"a", #"b"]); val findi_2T1 = CharArray.findi findiFun (L2A[#"a", #"x"]); val findi_2T2 = CharArray.findi findiFun (L2A[#"x", #"a"]); val findi_2T3 = CharArray.findi findiFun (L2A[#"x", #"x"]); (********************) val findFun = fn value => (print (Char.toString value); value = #"x"); val find_0 = CharArray.find findFun (L2A[]); val find_1F = CharArray.find findFun (L2A[#"a"]); val find_1T = CharArray.find findFun (L2A[#"x"]); val find_2F = CharArray.find findFun (L2A[#"a", #"b"]); val find_2T1 = CharArray.find findFun (L2A[#"a", #"x"]); val find_2T2 = CharArray.find findFun (L2A[#"x", #"a"]); val find_2T3 = CharArray.find findFun (L2A[#"x", #"x"]); (********************) val existsFun = fn value => (print (Char.toString value); value = #"x"); val exists_0 = CharArray.exists existsFun (L2A[]); val exists_1F = CharArray.exists existsFun (L2A[#"a"]); val exists_1T = CharArray.exists existsFun (L2A[#"x"]); val exists_2F = CharArray.exists existsFun (L2A[#"a", #"b"]); val exists_2T1 = CharArray.exists existsFun (L2A[#"a", #"x"]); val exists_2T2 = CharArray.exists existsFun (L2A[#"x", #"a"]); val exists_2T3 = CharArray.exists existsFun (L2A[#"x", #"x"]); (********************) val allFun = fn value => (print (Char.toString value); value = #"x"); val all_0 = CharArray.all allFun (L2A[]); val all_1F = CharArray.all allFun (L2A[#"a"]); val all_1T = CharArray.all allFun (L2A[#"x"]); val all_2F1 = CharArray.all allFun (L2A[#"a", #"b"]); val all_2F2 = CharArray.all allFun (L2A[#"a", #"x"]); val all_2F3 = CharArray.all allFun (L2A[#"x", #"a"]); val all_2T = CharArray.all allFun (L2A[#"x", #"x"]); (********************) val collateFun = fn (x : char, y) => if x < y then General.LESS else if x = y then General.EQUAL else General.GREATER; val collate00 = CharArray.collate collateFun ((L2A[]), (L2A[])); val collate01 = CharArray.collate collateFun ((L2A[]), (L2A[#"a"])); val collate10 = CharArray.collate collateFun ((L2A[#"a"]), (L2A[])); val collate11L = CharArray.collate collateFun ((L2A[#"a"]), (L2A[#"b"])); val collate11E = CharArray.collate collateFun ((L2A[#"a"]), (L2A[#"a"])); val collate11G = CharArray.collate collateFun ((L2A[#"b"]), (L2A[#"a"])); val collate12L = CharArray.collate collateFun ((L2A[#"a"]), (L2A[#"a", #"b"])); val collate12G = CharArray.collate collateFun ((L2A[#"b"]), (L2A[#"a", #"b"])); val collate21L = CharArray.collate collateFun ((L2A[#"a", #"b"]), (L2A[#"b"])); val collate21G = CharArray.collate collateFun ((L2A[#"a", #"b"]), (L2A[#"a"])); val collate22L1 = CharArray.collate collateFun ((L2A[#"a", #"b"]), (L2A[#"c", #"b"])); val collate22L2 = CharArray.collate collateFun ((L2A[#"a", #"b"]), (L2A[#"a", #"c"])); val collate22E = CharArray.collate collateFun ((L2A[#"a", #"b"]), (L2A[#"a", #"b"])); val collate22G1 = CharArray.collate collateFun ((L2A[#"c", #"a"]), (L2A[#"b", #"a"])); val collate22G2 = CharArray.collate collateFun ((L2A[#"a", #"c"]), (L2A[#"a", #"b"])); smlsharp-1.2.0/test/tests/basis/tests/CharVector001.sml0000644 000000000000000000001620112050661606023065 0ustar00rootroot0000000 0000000 (* test cases for Vector structure. *) val fromList_0 = CharVector.fromList ([] : char list); val fromList_1 = CharVector.fromList [#"a"]; val fromList_2 = CharVector.fromList [#"a", #"b"]; val tabulateFun = fn x => (Char.chr (Char.ord #"a" + x)); val tabulate0 = CharVector.tabulate (0, tabulateFun); val tabulate1 = CharVector.tabulate (1, tabulateFun); val tabulate2 = CharVector.tabulate (2, tabulateFun); val tabulatem1 = CharVector.tabulate (~1, tabulateFun) handle General.Size => "XXX"; val length1 = CharVector.length ""; val length2 = CharVector.length "a"; val length3 = CharVector.length "ab"; val sub00 = CharVector.sub ("", 0) handle General.Subscript => #"x"; val sub0m1 = CharVector.sub ("", ~1) handle General.Subscript => #"x"; val sub01 = CharVector.sub ("", 1) handle General.Subscript => #"x"; val sub10 = CharVector.sub ("a", 0); val sub11 = CharVector.sub ("a", 1) handle General.Subscript => #"x"; val sub1m1 = CharVector.sub ("a", ~1) handle General.Subscript => #"x"; val sub20 = CharVector.sub ("ab", 0); val sub21 = CharVector.sub ("ab", 1); val sub22 = CharVector.sub ("ab", 2) handle General.Subscript => #"x"; (********************) val concat0 = CharVector.concat ([] : CharVector.vector List.list); val concat10 = CharVector.concat ([""] : CharVector.vector List.list); val concat200 = CharVector.concat (["", ""] : CharVector.vector List.list); val concat11 = CharVector.concat ["a"]; val concat201 = CharVector.concat ["", "a"]; val concat210 = CharVector.concat ["a", ""]; val concat211 = CharVector.concat ["a", "b"]; val concat222 = CharVector.concat ["ab", "cd"]; val concat3303 = CharVector.concat ["abc", "", "xyz"]; val concat3333 = CharVector.concat ["abc", "def", "ghi"]; (********************) fun testUpdate (vector, index, newValue) = let val newVector = CharVector.update(vector, index, newValue) in (vector : string, newVector : string) end; val update00 = testUpdate ("", 0, #"x") handle General.Subscript => ("a", "a"); val update0m1 = testUpdate ("", ~1, #"x") handle General.Subscript => ("a", "a"); val update01 = testUpdate ("", 1, #"x") handle General.Subscript => ("a", "a"); val update10 = testUpdate ("a", 0, #"x"); val update11 = testUpdate ("b", 1, #"x") handle General.Subscript => ("X", "X"); val update1m1 = testUpdate ("b", ~1, #"x") handle General.Subscript => ("X", "X"); val update20 = testUpdate ("ab", 0, #"x"); val update21 = testUpdate ("ab", 1, #"x"); val update22 = testUpdate ("ab", 2, #"x") handle General.Subscript => ("X", "X"); (********************) val appiFun = fn (index, ch) => (print(Int.toString index); print(Char.toString ch)); val appi_0 = CharVector.appi appiFun ""; val appi_1 = CharVector.appi appiFun "a"; val appi_2 = CharVector.appi appiFun "ab"; (********************) val appFun = fn x => print(Char.toString x); val app0 = CharVector.app appFun ""; val app1 = CharVector.app appFun "a"; val app2 = CharVector.app appFun "ab"; val app3 = CharVector.app appFun "abc"; (********************) val mapiFun = fn (index, ch) => (print(Int.toString index); ch); val mapi_0 = CharVector.mapi mapiFun ""; val mapi_1 = CharVector.mapi mapiFun "a"; val mapi_2 = CharVector.mapi mapiFun "ab"; (********************) val mapFun = fn x => (print(Char.toString x); Char.toUpper x); val map0 = CharVector.map mapFun ""; val map1 = CharVector.map mapFun "a"; val map2 = CharVector.map mapFun "ab"; val map3 = CharVector.map mapFun "abc"; (********************) val foldliFun = fn (index, ch, accum) => (print(Int.toString index); ch :: accum : char list); val foldli_0 = CharVector.foldli foldliFun [] ""; val foldli_1 = CharVector.foldli foldliFun [] "a"; val foldli_2 = CharVector.foldli foldliFun [] "ab"; (********************) val foldlFun = fn (x, xs) => x :: xs : char list; val foldl0 = CharVector.foldl foldlFun [] ""; val foldl1 = CharVector.foldl foldlFun [] "a"; val foldl2 = CharVector.foldl foldlFun [] "ab"; val foldl3 = CharVector.foldl foldlFun [] "abc"; (********************) val foldriFun = fn (index, ch, accum) => (print(Int.toString index); ch :: accum : char list); val foldri_0 = CharVector.foldri foldriFun [] ""; val foldri_1 = CharVector.foldri foldriFun [] "a"; val foldri_2 = CharVector.foldri foldriFun [] "ab"; (********************) val foldrFun = fn (x, xs) => x :: xs : char list; val foldr0 = CharVector.foldr foldrFun [] ""; val foldr1 = CharVector.foldr foldrFun [] "a"; val foldr2 = CharVector.foldr foldrFun [] "ab"; val foldr3 = CharVector.foldr foldrFun [] "abc"; (********************) val findiFun = fn (index, value) => (print (Int.toString index); value = #"x"); val findi_0 = CharVector.findi findiFun ""; val findi_1F = CharVector.findi findiFun "a"; val findi_1T = CharVector.findi findiFun "x"; val findi_2F = CharVector.findi findiFun "ab"; val findi_2T1 = CharVector.findi findiFun "ax"; val findi_2T2 = CharVector.findi findiFun "xa"; val findi_2T3 = CharVector.findi findiFun "xx"; (********************) val findFun = fn value => (print (Char.toString value); value = #"x"); val find_0 = CharVector.find findFun ""; val find_1F = CharVector.find findFun "a"; val find_1T = CharVector.find findFun "x"; val find_2F = CharVector.find findFun "ab"; val find_2T1 = CharVector.find findFun "ax"; val find_2T2 = CharVector.find findFun "xa"; val find_2T3 = CharVector.find findFun "xx"; (********************) val existsFun = fn value => (print (Char.toString value); value = #"x"); val exists_0 = CharVector.exists existsFun ""; val exists_1F = CharVector.exists existsFun "a"; val exists_1T = CharVector.exists existsFun "x"; val exists_2F = CharVector.exists existsFun "ab"; val exists_2T1 = CharVector.exists existsFun "ax"; val exists_2T2 = CharVector.exists existsFun "xa"; val exists_2T3 = CharVector.exists existsFun "xx"; (********************) val allFun = fn value => (print (Char.toString value); value = #"x"); val all_0 = CharVector.all allFun ""; val all_1F = CharVector.all allFun "a"; val all_1T = CharVector.all allFun "x"; val all_2F1 = CharVector.all allFun "ab"; val all_2F2 = CharVector.all allFun "ax"; val all_2F3 = CharVector.all allFun "xa"; val all_2T = CharVector.all allFun "xx"; (********************) val collateFun = fn (x : char, y) => if x < y then General.LESS else if x = y then General.EQUAL else General.GREATER; val collate00 = CharVector.collate collateFun ("", ""); val collate01 = CharVector.collate collateFun ("", "b"); val collate10 = CharVector.collate collateFun ("b", "a"); val collate11L = CharVector.collate collateFun ("b", "c"); val collate11E = CharVector.collate collateFun ("b", "b"); val collate11G = CharVector.collate collateFun ("c", "b"); val collate12L = CharVector.collate collateFun ("b", "bc"); val collate12G = CharVector.collate collateFun ("c", "bc"); val collate21L = CharVector.collate collateFun ("bc", "c"); val collate21G = CharVector.collate collateFun ("bc", "b"); val collate22L1 = CharVector.collate collateFun ("cb", "db"); val collate22L2 = CharVector.collate collateFun ("bc", "bd"); val collate22E = CharVector.collate collateFun ("bc", "bc"); val collate22G1 = CharVector.collate collateFun ("db", "cb"); val collate22G2 = CharVector.collate collateFun ("bd", "bc"); smlsharp-1.2.0/test/tests/basis/tests/General001.sml0000644 000000000000000000000141112050661606022377 0ustar00rootroot0000000 0000000 (* test case for General structure. *) val refMonoUnboxed1 = ref 100; val derefMonoUnboxed1 = General.! refMonoUnboxed1; val refMonoBoxed1 = ref (1, 2); val derefMonoBoxed1 = General.! refMonoBoxed1; val refPoly1 = ref (fn x => x); val derefPoly1 = General.! refPoly1; val refMonoUnboxed2 = ref 200; val x = General.:= (refMonoUnboxed2, 400); val refMonoBoxed2 = ref (2, 3); val x = General.:= (refMonoBoxed2, (4, 6)); val refPoly2 = ref (fn x => (0, x)); val x = General.:= (refPoly2, (fn x => (1, x))); val f1 = fn x => x + 1; val f2 = fn x => x * 100; val comp1 = (General.o (f1, f2)) 2; val beforeRef1 = ref 1; val before1 = General.before (beforeRef1 := (!beforeRef1 + 1), beforeRef1 := (!beforeRef1 * 10)); val x = beforeRef1; val ignore1 = General.ignore 1; smlsharp-1.2.0/test/tests/basis/tests/IEEEReal001.sml0000644 000000000000000000001406612050661606022347 0ustar00rootroot0000000 0000000 (* test cases for IEEEReal structure. *) fun makeDec (kind, sign, digits, exp) = {kind = kind, sign = sign, digits = digits, exp = exp} : IEEEReal.decimal_approx; (********************) val roundingMode_TO_NEAREST = (IEEEReal.setRoundingMode IEEEReal.TO_NEAREST; IEEEReal.getRoundingMode()); val roundingMode_TO_NEGINF = (IEEEReal.setRoundingMode IEEEReal.TO_NEGINF; IEEEReal.getRoundingMode ()); val roundingMode_TO_POSINF = (IEEEReal.setRoundingMode IEEEReal.TO_POSINF; IEEEReal.getRoundingMode ()); val roundingMode_TO_ZERO = (IEEEReal.setRoundingMode IEEEReal.TO_ZERO; IEEEReal.getRoundingMode ()); (********************) val toString_NAN_QUIET = IEEEReal.toString(makeDec (IEEEReal.NAN(IEEEReal.QUIET), false, [], 0)); val toString_NAN_SIGNALLING = IEEEReal.toString (makeDec (IEEEReal.NAN(IEEEReal.SIGNALLING), false, [], 0)); val toString_POS_INF = IEEEReal.toString(makeDec (IEEEReal.INF, false, [], 0)); val toString_NEG_INF = IEEEReal.toString(makeDec (IEEEReal.INF, true, [], 0)); val toString_POS_ZERO = IEEEReal.toString(makeDec (IEEEReal.ZERO, false, [], 0)); val toString_NEG_ZERO = IEEEReal.toString(makeDec (IEEEReal.ZERO, true, [], 0)); val toString_NORMAL_P_0_0 = IEEEReal.toString(makeDec (IEEEReal.NORMAL, false, [0], 0)); val toString_NORMAL_P_1_0 = IEEEReal.toString(makeDec (IEEEReal.NORMAL, false, [1], 0)); val toString_NORMAL_P_1_1 = IEEEReal.toString(makeDec (IEEEReal.NORMAL, false, [1], 1)); val toString_NORMAL_P_1_2 = IEEEReal.toString(makeDec (IEEEReal.NORMAL, false, [1], 2)); val toString_NORMAL_P_1_m1 = IEEEReal.toString(makeDec (IEEEReal.NORMAL, false, [1], ~1)); val toString_NORMAL_P_1_m2 = IEEEReal.toString(makeDec (IEEEReal.NORMAL, false, [1], ~2)); val toString_NORMAL_P_2_0 = IEEEReal.toString(makeDec (IEEEReal.NORMAL, false, [1, 2], 0)); val toString_NORMAL_P_2_1 = IEEEReal.toString(makeDec (IEEEReal.NORMAL, false, [1, 2], 1)); val toString_NORMAL_P_2_2 = IEEEReal.toString(makeDec (IEEEReal.NORMAL, false, [1, 2], 2)); val toString_NORMAL_P_2_3 = IEEEReal.toString(makeDec (IEEEReal.NORMAL, false, [1, 2], 3)); val toString_NORMAL_P_n_m1 = IEEEReal.toString(makeDec (IEEEReal.NORMAL, false, [1, 2], ~1)); val toString_NORMAL_P_n_m2 = IEEEReal.toString(makeDec (IEEEReal.NORMAL, false, [1, 2], ~2)); val toString_NORMAL_P_n_m3 = IEEEReal.toString(makeDec (IEEEReal.NORMAL, false, [1, 2], ~3)); (**********) val toString_NORMAL_N_0_0 = IEEEReal.toString(makeDec (IEEEReal.NORMAL, true, [0], 0)); val toString_NORMAL_N_1_0 = IEEEReal.toString(makeDec (IEEEReal.NORMAL, true, [1], 0)); val toString_NORMAL_N_1_1 = IEEEReal.toString(makeDec (IEEEReal.NORMAL, true, [1], 1)); val toString_NORMAL_N_1_2 = IEEEReal.toString(makeDec (IEEEReal.NORMAL, true, [1], 2)); val toString_NORMAL_N_1_m1 = IEEEReal.toString(makeDec (IEEEReal.NORMAL, true, [1], ~1)); val toString_NORMAL_N_1_m2 = IEEEReal.toString(makeDec (IEEEReal.NORMAL, true, [1], ~2)); val toString_NORMAL_N_2_0 = IEEEReal.toString(makeDec (IEEEReal.NORMAL, true, [1, 2], 0)); val toString_NORMAL_N_2_1 = IEEEReal.toString(makeDec (IEEEReal.NORMAL, true, [1, 2], 1)); val toString_NORMAL_N_2_2 = IEEEReal.toString(makeDec (IEEEReal.NORMAL, true, [1, 2], 2)); val toString_NORMAL_N_2_3 = IEEEReal.toString(makeDec (IEEEReal.NORMAL, true, [1, 2], 3)); val toString_NORMAL_N_n_m1 = IEEEReal.toString(makeDec (IEEEReal.NORMAL, true, [1, 2], ~1)); val toString_NORMAL_N_n_m2 = IEEEReal.toString(makeDec (IEEEReal.NORMAL, true, [1, 2], ~2)); val toString_NORMAL_N_n_m3 = IEEEReal.toString(makeDec (IEEEReal.NORMAL, true, [1, 2], ~3)); (********************) val fromString_n_inf = IEEEReal.fromString "inf"; val fromString_p_inf = IEEEReal.fromString "+inf"; val fromString_m_inf = IEEEReal.fromString "-inf"; val fromString_t_inf = IEEEReal.fromString "~inf"; val fromString_n_infinity = IEEEReal.fromString "infinity"; val fromString_p_infinity = IEEEReal.fromString "+infinity"; val fromString_m_infinity = IEEEReal.fromString "-infinity"; val fromString_t_infinity = IEEEReal.fromString "~infinity"; val fromString_n_nan = IEEEReal.fromString "nan"; val fromString_p_nan = IEEEReal.fromString "+nan"; val fromString_m_nan = IEEEReal.fromString "-nan"; val fromString_t_nan = IEEEReal.fromString "~nan"; (* The fromString must parse the following regular expression. [+~-]?([0-9]+.[0-9]+? | .[0-9]+)(e | E)[+~-]?[0-9]+? *) (* test of integer part [+~-]?[0-9]+.(e|E) *) val fromString_n_0e = IEEEReal.fromString "0.e"; val fromString_n_0E = IEEEReal.fromString "0.E"; val fromString_01 = IEEEReal.fromString "01."; val fromString_012 = IEEEReal.fromString "012."; (* test of fraction part [+~-]?.[0-9]+(e|E) *) val fromString_0 = IEEEReal.fromString ".0e0"; val fromString_1 = IEEEReal.fromString ".1e"; val fromString_0120 = IEEEReal.fromString ".0120e"; (* test of integer+fraction part [+~-]?[0-9]+.[0-9]+(e|E) *) val fromString_0_0 = IEEEReal.fromString "0.0e"; val fromString_0_1 = IEEEReal.fromString "0.1e"; val fromString_1_0 = IEEEReal.fromString "1.0e"; val fromString_0_0120 = IEEEReal.fromString "0.0120e"; val fromString_0120_0 = IEEEReal.fromString "0120.0e"; val fromString_0120_0120 = IEEEReal.fromString "0120.0120e"; (* test of exp part [+~-]?[0-9]+.[0-9]+(e|E)[+~-]?[0-9]+ *) val fromString_0_0_0 = IEEEReal.fromString "0.0e0"; val fromString_0120_0120_1 = IEEEReal.fromString "0120.0120e1"; val fromString_0120_0120_p1 = IEEEReal.fromString "0120.0120e+1"; val fromString_0120_0120_m1 = IEEEReal.fromString "0120.0120e-1"; val fromString_0120_0120_t1 = IEEEReal.fromString "0120.0120e~1"; (* test of sign part *) val fromString_p_0 = IEEEReal.fromString "+0.E"; val fromString_m_0 = IEEEReal.fromString "-0.E"; val fromString_t_0 = IEEEReal.fromString "~0.E"; val fromString_p_0120_0120_t1 = IEEEReal.fromString "+0120.0120e~1"; val fromString_m_0120_0120_t1 = IEEEReal.fromString "-0120.0120e~1"; val fromString_t_0120_0120_t1 = IEEEReal.fromString "~0120.0120e~1"; (* test of leading white spaces and trailers *) val fromString_ws_p_0120_0120_t1 = IEEEReal.fromString " +0120.0120e~1abc"; smlsharp-1.2.0/test/tests/basis/tests/Int001.sml0000644 000000000000000000002426512050661606021570 0ustar00rootroot0000000 0000000 (* test cases for Int structure. *) val tilda_m = Int.~ (0 - 1); val tilda_z = Int.~ (1 - 1); val tilda_p = Int.~ (0 + 1); val mul_mm = Int.* (~2, ~3); val mul_mp = Int.* (~2, 3); val mul_pm = Int.* (2, ~3); val mul_pp = Int.* (2, 3); val mul_zp = Int.* (0, 3); val mul_pz = Int.* (3, 0); val mul_zz = Int.* (0, 0); val div_mm = Int.div (~8, ~3); val div_mp = Int.div (~8, 3); val div_pm = Int.div (8, ~3); val div_pp = Int.div (8, 3); val div_zp = Int.div (0, 3); (* val div_pz = (Int.div (8, 0)) handle General.Div => 1; val div_zz = (Int.div (0, 0)) handle General.Div => 1; *) val mod_mm = Int.mod (~8, ~3); val mod_mp = Int.mod (~8, 3); val mod_pm = Int.mod (8, ~3); val mod_pp = Int.mod (8, 3); val mod_zp = Int.mod (0, 3); (* val mod_pz = (Int.mod (8, 0)) handle General.Div => 1; val mod_zz = (Int.mod (0, 0)) handle General.Div => 1; *) val quot_mm = Int.quot (~8, ~3); val quot_mp = Int.quot (~8, 3); val quot_pm = Int.quot (8, ~3); val quot_pp = Int.quot (8, 3); val quot_zp = Int.quot (0, 3); (* val quot_pz = (Int.quot (8, 0)) handle General.Div => 1; val quot_zz = (Int.quot (0, 0)) handle General.Div => 1; *) val rem_mm = Int.rem (~8, ~3); val rem_mp = Int.rem (~8, 3); val rem_pm = Int.rem (8, ~3); val rem_pp = Int.rem (8, 3); val rem_zp = Int.rem (0, 3); (* val rem_pz = (Int.rem (8, 0)) handle General.Div => 1; val rem_zz = (Int.rem (0, 0)) handle General.Div => 1; *) val add_mm = Int.+ (~8, ~3); val add_mp = Int.+ (~8, 3); val add_pm = Int.+ (8, ~3); val add_pp = Int.+ (8, 3); val add_zp = Int.+ (0, 3); val add_pz = Int.+ (8, 0); val add_zz = Int.+ (0, 0); val sub_mm = Int.- (~8, ~3); val sub_mp = Int.- (~8, 3); val sub_pm = Int.- (8, ~3); val sub_pp = Int.- (8, 3); val sub_zp = Int.- (0, 3); val sub_pz = Int.- (8, 0); val sub_zz = Int.- (0, 0); val compare_mmL = Int.compare (~8, ~3); val compare_mmE = Int.compare (~8, ~8); val compare_mmG = Int.compare (~3, ~8); val compare_mp = Int.compare (~8, 3); val compare_pm = Int.compare (8, ~3); val compare_ppL = Int.compare (3, 8); val compare_ppE = Int.compare (8, 8); val compare_ppG = Int.compare (8, 3); val compare_zp = Int.compare (0, 3); val compare_pz = Int.compare (8, 0); val compare_zz = Int.compare (0, 0); val gt_mmL = Int.> (~8, ~3); val gt_mmE = Int.> (~8, ~8); val gt_mmG = Int.> (~3, ~8); val gt_mp = Int.> (~8, 3); val gt_pm = Int.> (8, ~3); val gt_ppL = Int.> (3, 8); val gt_ppE = Int.> (8, 8); val gt_ppG = Int.> (8, 3); val gt_zp = Int.> (0, 3); val gt_pz = Int.> (8, 0); val gt_zz = Int.> (0, 0); val ge_mmL = Int.>= (~8, ~3); val ge_mmE = Int.>= (~8, ~8); val ge_mmG = Int.>= (~3, ~8); val ge_mp = Int.>= (~8, 3); val ge_pm = Int.>= (8, ~3); val ge_ppL = Int.>= (3, 8); val ge_ppE = Int.>= (8, 8); val ge_ppG = Int.>= (8, 3); val ge_zp = Int.>= (0, 3); val ge_pz = Int.>= (8, 0); val ge_zz = Int.>= (0, 0); val lt_mmL = Int.< (~8, ~3); val lt_mmE = Int.< (~8, ~8); val lt_mmG = Int.< (~3, ~8); val lt_mp = Int.< (~8, 3); val lt_pm = Int.< (8, ~3); val lt_ppL = Int.< (3, 8); val lt_ppE = Int.< (8, 8); val lt_ppG = Int.< (8, 3); val lt_zp = Int.< (0, 3); val lt_pz = Int.< (8, 0); val lt_zz = Int.< (0, 0); val le_mmL = Int.<= (~8, ~3); val le_mmE = Int.<= (~8, ~8); val le_mmG = Int.<= (~3, ~8); val le_mp = Int.<= (~8, 3); val le_pm = Int.<= (8, ~3); val le_ppL = Int.<= (3, 8); val le_ppE = Int.<= (8, 8); val le_ppG = Int.<= (8, 3); val le_zp = Int.<= (0, 3); val le_pz = Int.<= (8, 0); val le_zz = Int.<= (0, 0); val abs_m = Int.abs (0 - 1); val abs_z = Int.abs 0; val abs_p = Int.abs 1; val min_mmL = Int.min (~8, ~3); val min_mmE = Int.min (~8, ~8); val min_mmG = Int.min (~3, ~8); val min_mp = Int.min (~8, 3); val min_pm = Int.min (8, ~3); val min_ppL = Int.min (3, 8); val min_ppE = Int.min (8, 8); val min_ppG = Int.min (8, 3); val min_zp = Int.min (0, 3); val min_pz = Int.min (8, 0); val min_zz = Int.min (0, 0); val max_mmL = Int.max (~8, ~3); val max_mmE = Int.max (~8, ~8); val max_mmG = Int.max (~3, ~8); val max_mp = Int.max (~8, 3); val max_pm = Int.max (8, ~3); val max_ppL = Int.max (3, 8); val max_ppE = Int.max (8, 8); val max_ppG = Int.max (8, 3); val max_zp = Int.max (0, 3); val max_pz = Int.max (8, 0); val max_zz = Int.max (0, 0); val sign_m = Int.sign (0 - 1); val sign_z = Int.sign 0; val sign_p = Int.sign 1; val sameSign_mm = Int.sameSign (~1, ~2); val sameSign_mz = Int.sameSign (~1, 0); val sameSign_mp = Int.sameSign (~1, 2); val sameSign_zm = Int.sameSign (0, ~2); val sameSign_zz = Int.sameSign (0, 0); val sameSign_zp = Int.sameSign (0, 2); val sameSign_pm = Int.sameSign (1, ~2); val sameSign_pz = Int.sameSign (1, 0); val sameSign_pp = Int.sameSign (1, 2); val fmt_bin_m1 = Int.fmt StringCvt.BIN ~1; val fmt_bin_m2 = Int.fmt StringCvt.BIN ~123; val fmt_bin_z = Int.fmt StringCvt.BIN 0; val fmt_bin_p1 = Int.fmt StringCvt.BIN 1; val fmt_bin_p2 = Int.fmt StringCvt.BIN 123; val fmt_oct_m1 = Int.fmt StringCvt.OCT ~1; val fmt_oct_m2 = Int.fmt StringCvt.OCT ~123; val fmt_oct_z = Int.fmt StringCvt.OCT 0; val fmt_oct_p1 = Int.fmt StringCvt.OCT 1; val fmt_oct_p2 = Int.fmt StringCvt.OCT 123; val fmt_dec_m1 = Int.fmt StringCvt.DEC ~1; val fmt_dec_m2 = Int.fmt StringCvt.DEC ~123; val fmt_dec_z = Int.fmt StringCvt.DEC 0; val fmt_dec_p1 = Int.fmt StringCvt.DEC 1; val fmt_dec_p2 = Int.fmt StringCvt.DEC 123; val fmt_hex_m1 = Int.fmt StringCvt.HEX ~1; val fmt_hex_m2 = Int.fmt StringCvt.HEX ~123; val fmt_hex_z = Int.fmt StringCvt.HEX 0; val fmt_hex_p1 = Int.fmt StringCvt.HEX 1; val fmt_hex_p2 = Int.fmt StringCvt.HEX 123; val toString_m1 = Int.toString ~1; val toString_m2 = Int.toString ~123; val toString_z = Int.toString 0; val toString_p1 = Int.toString 1; val toString_p2 = Int.toString 123; val fromString_null = Int.fromString ""; val fromString_nonum = Int.fromString "abc123def"; val fromString_m1 = Int.fromString "~1"; val fromString_m12 = Int.fromString "~1abc"; val fromString_m2 = Int.fromString "~123"; val fromString_m22 = Int.fromString "~123abc"; val fromString_z1 = Int.fromString "0"; val fromString_z12 = Int.fromString "00"; val fromString_z12 = Int.fromString "00abc"; val fromString_p1 = Int.fromString "1"; val fromString_p12 = Int.fromString "1abc"; val fromString_p2 = Int.fromString "123"; val fromString_p22 = Int.fromString "123abc"; fun reader [] = NONE | reader (head :: tail) = SOME(head, tail); fun scan radix string = Int.scan radix reader (explode string); val scan_bin_null = scan StringCvt.BIN ""; val scan_bin_0 = scan StringCvt.BIN "0"; val scan_bin_01 = scan StringCvt.BIN "00"; val scan_bin_p0 = scan StringCvt.BIN "+0"; val scan_bin_t0 = scan StringCvt.BIN "~0"; val scan_bin_m0 = scan StringCvt.BIN "-0"; val scan_bin_t1 = scan StringCvt.BIN "~1"; val scan_bin_t1b = scan StringCvt.BIN "~1abc"; val scan_bin_t1c = scan StringCvt.BIN "~01"; val scan_bin_m1 = scan StringCvt.BIN "-1"; val scan_bin_m1b = scan StringCvt.BIN "-1abc"; val scan_bin_m1c = scan StringCvt.BIN "-01"; val scan_bin_p1 = scan StringCvt.BIN "+1"; val scan_bin_p1b = scan StringCvt.BIN "+1abc"; val scan_bin_p1c = scan StringCvt.BIN "+01"; val scan_bin_1 = scan StringCvt.BIN "1"; val scan_bin_1b = scan StringCvt.BIN "1abc"; val scan_bin_1c = scan StringCvt.BIN "01"; val scan_oct_null = scan StringCvt.OCT ""; val scan_oct_0 = scan StringCvt.OCT "0"; val scan_oct_01 = scan StringCvt.OCT "00"; val scan_oct_p0 = scan StringCvt.OCT "+0"; val scan_oct_t0 = scan StringCvt.OCT "~0"; val scan_oct_m0 = scan StringCvt.OCT "-0"; val scan_oct_t1 = scan StringCvt.OCT "~123"; val scan_oct_t1b = scan StringCvt.OCT "~12389a"; val scan_oct_t1c = scan StringCvt.OCT "~0123"; val scan_oct_m1 = scan StringCvt.OCT "-123"; val scan_oct_m1b = scan StringCvt.OCT "-12389a"; val scan_oct_m1c = scan StringCvt.OCT "-0123"; val scan_oct_p1 = scan StringCvt.OCT "+123"; val scan_oct_p1b = scan StringCvt.OCT "+12389a"; val scan_oct_p1c = scan StringCvt.OCT "+0123"; val scan_oct_1 = scan StringCvt.OCT "123"; val scan_oct_1b = scan StringCvt.OCT "12389a"; val scan_oct_1c = scan StringCvt.OCT "0123"; val scan_dec_null = scan StringCvt.DEC ""; val scan_dec_0 = scan StringCvt.DEC "0"; val scan_dec_01 = scan StringCvt.DEC "00"; val scan_dec_p0 = scan StringCvt.DEC "+0"; val scan_dec_t0 = scan StringCvt.DEC "~0"; val scan_dec_m0 = scan StringCvt.DEC "-0"; val scan_dec_t1 = scan StringCvt.DEC "~123"; val scan_dec_t1b = scan StringCvt.DEC "~12389a"; val scan_dec_t1c = scan StringCvt.DEC "~0123"; val scan_dec_m1 = scan StringCvt.DEC "-123"; val scan_dec_m1b = scan StringCvt.DEC "-12389a"; val scan_dec_m1c = scan StringCvt.DEC "-0123"; val scan_dec_p1 = scan StringCvt.DEC "+123"; val scan_dec_p1b = scan StringCvt.DEC "+12389a"; val scan_dec_p1c = scan StringCvt.DEC "+0123"; val scan_dec_1 = scan StringCvt.DEC "123"; val scan_dec_1b = scan StringCvt.DEC "12389a"; val scan_dec_1c = scan StringCvt.DEC "0123"; val scan_hex_null = scan StringCvt.HEX ""; val scan_hex_head1 = scan StringCvt.HEX "0x "; val scan_hex_head2 = scan StringCvt.HEX "0X "; val scan_hex_0 = scan StringCvt.HEX "0"; val scan_hex_01 = scan StringCvt.HEX "00"; val scan_hex_0h1 = scan StringCvt.HEX "0x0"; val scan_hex_0h2 = scan StringCvt.HEX "0X0"; val scan_hex_p0 = scan StringCvt.HEX "+0"; val scan_hex_p0h1 = scan StringCvt.HEX "+0x0"; val scan_hex_p0h2 = scan StringCvt.HEX "+0X0"; val scan_hex_t0 = scan StringCvt.HEX "~0"; val scan_hex_m0 = scan StringCvt.HEX "-0"; val scan_hex_t1 = scan StringCvt.HEX "~123"; val scan_hex_t1b = scan StringCvt.HEX "~12AaFfGg"; val scan_hex_t1b_h1 = scan StringCvt.HEX "~0x12AaFfGg"; val scan_hex_t1b_h2 = scan StringCvt.HEX "~0X12AaFfGg"; val scan_hex_t1c = scan StringCvt.HEX "~0123"; val scan_hex_m1 = scan StringCvt.HEX "-123"; val scan_hex_m1b = scan StringCvt.HEX "-12AaFfGg"; val scan_hex_m1b_h1 = scan StringCvt.HEX "-0x12AaFfGg"; val scan_hex_m1b_h2 = scan StringCvt.HEX "-0X12AaFfGg"; val scan_hex_m1c = scan StringCvt.HEX "-0123"; val scan_hex_p1 = scan StringCvt.HEX "+123"; val scan_hex_p1b = scan StringCvt.HEX "+12AaFfGg"; val scan_hex_p1b_h1 = scan StringCvt.HEX "+0x12AaFfGg"; val scan_hex_p1b_h2 = scan StringCvt.HEX "+0X12AaFfGg"; val scan_hex_p1c = scan StringCvt.HEX "+0123"; val scan_hex_1 = scan StringCvt.HEX "123"; val scan_hex_1b = scan StringCvt.HEX "12AaFfGg"; val scan_hex_1b_h1 = scan StringCvt.HEX "0x12AaFfGg"; val scan_hex_1b_h2 = scan StringCvt.HEX "0X12AaFfGg"; val scan_hex_1c = scan StringCvt.HEX "0123"; val scan_skipWS1 = scan StringCvt.DEC " 123"; val scan_skipWS2 = scan StringCvt.DEC "\t\n\v\f\r123"; smlsharp-1.2.0/test/tests/basis/tests/IntInf001.sml0000755 000000000000000000002751712050661606022233 0ustar00rootroot0000000 0000000 (* test cases for Int structure. *) val tilda_m = IntInf.~ (0 - 1); val tilda_z = IntInf.~ (1 - 1); val tilda_p = IntInf.~ (0 + 1); val mul_mm = IntInf.* (~2, ~3); val mul_mp = IntInf.* (~2, 3); val mul_pm = IntInf.* (2, ~3); val mul_pp = IntInf.* (2, 3); val mul_zp = IntInf.* (0, 3); val mul_pz = IntInf.* (3, 0); val mul_zz = IntInf.* (0, 0); fun mul_c1_f x = (2 : IntInf.int) * x; val mul_c1 = mul_c1_f 3; fun mul_c2_f x = x * (4 : IntInf.int); val mul_c2 = mul_c2_f 5; val div_mm = IntInf.div (~8, ~3); val div_mp = IntInf.div (~8, 3); val div_pm = IntInf.div (8, ~3); val div_pp = IntInf.div (8, 3); val div_zp = IntInf.div (0, 3); (* val div_pz = (IntInf.div (8, 0)) handle General.Div => 1; val div_zz = (IntInf.div (0, 0)) handle General.Div => 1; *) fun div_c1_f x = (2 : IntInf.int) div x; val div_c1 = div_c1_f 3; fun div_c2_f x = x div (4 : IntInf.int); val div_c2 = div_c2_f 5; val mod_mm = IntInf.mod (~8, ~3); val mod_mp = IntInf.mod (~8, 3); val mod_pm = IntInf.mod (8, ~3); val mod_pp = IntInf.mod (8, 3); val mod_zp = IntInf.mod (0, 3); (* val mod_pz = (IntInf.mod (8, 0)) handle General.Div => 1; val mod_zz = (IntInf.mod (0, 0)) handle General.Div => 1; *) fun mod_c1_f x = (2 : IntInf.int) mod x; val mod_c1 = mod_c1_f 3; fun mod_c2_f x = x mod (4 : IntInf.int); val mod_c2 = mod_c2_f 5; val quot_mm = IntInf.quot (~8, ~3); val quot_mp = IntInf.quot (~8, 3); val quot_pm = IntInf.quot (8, ~3); val quot_pp = IntInf.quot (8, 3); val quot_zp = IntInf.quot (0, 3); (* val quot_pz = (IntInf.quot (8, 0)) handle General.Div => 1; val quot_zz = (IntInf.quot (0, 0)) handle General.Div => 1; *) val rem_mm = IntInf.rem (~8, ~3); val rem_mp = IntInf.rem (~8, 3); val rem_pm = IntInf.rem (8, ~3); val rem_pp = IntInf.rem (8, 3); val rem_zp = IntInf.rem (0, 3); (* val rem_pz = (IntInf.rem (8, 0)) handle General.Div => 1; val rem_zz = (IntInf.rem (0, 0)) handle General.Div => 1; *) val add_mm = IntInf.+ (~8, ~3); val add_mp = IntInf.+ (~8, 3); val add_pm = IntInf.+ (8, ~3); val add_pp = IntInf.+ (8, 3); val add_zp = IntInf.+ (0, 3); val add_pz = IntInf.+ (8, 0); val add_zz = IntInf.+ (0, 0); fun add_c1_f x = (2 : IntInf.int) + x; val add_c1 = add_c1_f 3; fun add_c2_f x = x + (4 : IntInf.int); val add_c2 = add_c2_f 5; val sub_mm = IntInf.- (~8, ~3); val sub_mp = IntInf.- (~8, 3); val sub_pm = IntInf.- (8, ~3); val sub_pp = IntInf.- (8, 3); val sub_zp = IntInf.- (0, 3); val sub_pz = IntInf.- (8, 0); val sub_zz = IntInf.- (0, 0); fun sub_c1_f x = (2 : IntInf.int) - x; val sub_c1 = sub_c1_f 3; fun sub_c2_f x = x - (4 : IntInf.int); val sub_c2 = sub_c2_f 5; val compare_mmL = IntInf.compare (~8, ~3); val compare_mmE = IntInf.compare (~8, ~8); val compare_mmG = IntInf.compare (~3, ~8); val compare_mp = IntInf.compare (~8, 3); val compare_pm = IntInf.compare (8, ~3); val compare_ppL = IntInf.compare (3, 8); val compare_ppE = IntInf.compare (8, 8); val compare_ppG = IntInf.compare (8, 3); val compare_zp = IntInf.compare (0, 3); val compare_pz = IntInf.compare (8, 0); val compare_zz = IntInf.compare (0, 0); val gt_mmL = IntInf.> (~8, ~3); val gt_mmE = IntInf.> (~8, ~8); val gt_mmG = IntInf.> (~3, ~8); val gt_mp = IntInf.> (~8, 3); val gt_pm = IntInf.> (8, ~3); val gt_ppL = IntInf.> (3, 8); val gt_ppE = IntInf.> (8, 8); val gt_ppG = IntInf.> (8, 3); val gt_zp = IntInf.> (0, 3); val gt_pz = IntInf.> (8, 0); val gt_zz = IntInf.> (0, 0); fun gt_c1_f x = (2 : IntInf.int) > x; val gt_c1 = gt_c1_f 3; fun gt_c2_f x = x > (4 : IntInf.int); val gt_c2 = gt_c2_f 5; val ge_mmL = IntInf.>= (~8, ~3); val ge_mmE = IntInf.>= (~8, ~8); val ge_mmG = IntInf.>= (~3, ~8); val ge_mp = IntInf.>= (~8, 3); val ge_pm = IntInf.>= (8, ~3); val ge_ppL = IntInf.>= (3, 8); val ge_ppE = IntInf.>= (8, 8); val ge_ppG = IntInf.>= (8, 3); val ge_zp = IntInf.>= (0, 3); val ge_pz = IntInf.>= (8, 0); val ge_zz = IntInf.>= (0, 0); fun ge_c1_f x = (2 : IntInf.int) >= x; val ge_c1 = ge_c1_f 3; fun ge_c2_f x = x >= (4 : IntInf.int); val ge_c2 = ge_c2_f 5; val lt_mmL = IntInf.< (~8, ~3); val lt_mmE = IntInf.< (~8, ~8); val lt_mmG = IntInf.< (~3, ~8); val lt_mp = IntInf.< (~8, 3); val lt_pm = IntInf.< (8, ~3); val lt_ppL = IntInf.< (3, 8); val lt_ppE = IntInf.< (8, 8); val lt_ppG = IntInf.< (8, 3); val lt_zp = IntInf.< (0, 3); val lt_pz = IntInf.< (8, 0); val lt_zz = IntInf.< (0, 0); fun lt_c1_f x = (2 : IntInf.int) < x; val lt_c1 = lt_c1_f 3; fun lt_c2_f x = x < (4 : IntInf.int); val lt_c2 = lt_c2_f 5; val le_mmL = IntInf.<= (~8, ~3); val le_mmE = IntInf.<= (~8, ~8); val le_mmG = IntInf.<= (~3, ~8); val le_mp = IntInf.<= (~8, 3); val le_pm = IntInf.<= (8, ~3); val le_ppL = IntInf.<= (3, 8); val le_ppE = IntInf.<= (8, 8); val le_ppG = IntInf.<= (8, 3); val le_zp = IntInf.<= (0, 3); val le_pz = IntInf.<= (8, 0); val le_zz = IntInf.<= (0, 0); fun le_c1_f x = (2 : IntInf.int) <= x; val le_c1 = le_c1_f 3; fun le_c2_f x = x <= (4 : IntInf.int); val le_c2 = le_c2_f 5; val abs_m = IntInf.abs (0 - 1); val abs_z = IntInf.abs 0; val abs_p = IntInf.abs 1; val min_mmL = IntInf.min (~8, ~3); val min_mmE = IntInf.min (~8, ~8); val min_mmG = IntInf.min (~3, ~8); val min_mp = IntInf.min (~8, 3); val min_pm = IntInf.min (8, ~3); val min_ppL = IntInf.min (3, 8); val min_ppE = IntInf.min (8, 8); val min_ppG = IntInf.min (8, 3); val min_zp = IntInf.min (0, 3); val min_pz = IntInf.min (8, 0); val min_zz = IntInf.min (0, 0); val max_mmL = IntInf.max (~8, ~3); val max_mmE = IntInf.max (~8, ~8); val max_mmG = IntInf.max (~3, ~8); val max_mp = IntInf.max (~8, 3); val max_pm = IntInf.max (8, ~3); val max_ppL = IntInf.max (3, 8); val max_ppE = IntInf.max (8, 8); val max_ppG = IntInf.max (8, 3); val max_zp = IntInf.max (0, 3); val max_pz = IntInf.max (8, 0); val max_zz = IntInf.max (0, 0); val sign_m = IntInf.sign (0 - 1); val sign_z = IntInf.sign 0; val sign_p = IntInf.sign 1; val sameSign_mm = IntInf.sameSign (~1, ~2); val sameSign_mz = IntInf.sameSign (~1, 0); val sameSign_mp = IntInf.sameSign (~1, 2); val sameSign_zm = IntInf.sameSign (0, ~2); val sameSign_zz = IntInf.sameSign (0, 0); val sameSign_zp = IntInf.sameSign (0, 2); val sameSign_pm = IntInf.sameSign (1, ~2); val sameSign_pz = IntInf.sameSign (1, 0); val sameSign_pp = IntInf.sameSign (1, 2); val fmt_bin_m1 = IntInf.fmt StringCvt.BIN ~1; val fmt_bin_m2 = IntInf.fmt StringCvt.BIN ~123; val fmt_bin_z = IntInf.fmt StringCvt.BIN 0; val fmt_bin_p1 = IntInf.fmt StringCvt.BIN 1; val fmt_bin_p2 = IntInf.fmt StringCvt.BIN 123; val fmt_oct_m1 = IntInf.fmt StringCvt.OCT ~1; val fmt_oct_m2 = IntInf.fmt StringCvt.OCT ~123; val fmt_oct_z = IntInf.fmt StringCvt.OCT 0; val fmt_oct_p1 = IntInf.fmt StringCvt.OCT 1; val fmt_oct_p2 = IntInf.fmt StringCvt.OCT 123; val fmt_dec_m1 = IntInf.fmt StringCvt.DEC ~1; val fmt_dec_m2 = IntInf.fmt StringCvt.DEC ~123; val fmt_dec_z = IntInf.fmt StringCvt.DEC 0; val fmt_dec_p1 = IntInf.fmt StringCvt.DEC 1; val fmt_dec_p2 = IntInf.fmt StringCvt.DEC 123; val fmt_hex_m1 = IntInf.fmt StringCvt.HEX ~1; val fmt_hex_m2 = IntInf.fmt StringCvt.HEX ~123; val fmt_hex_z = IntInf.fmt StringCvt.HEX 0; val fmt_hex_p1 = IntInf.fmt StringCvt.HEX 1; val fmt_hex_p2 = IntInf.fmt StringCvt.HEX 123; val toString_m1 = IntInf.toString ~1; val toString_m2 = IntInf.toString ~123; val toString_z = IntInf.toString 0; val toString_p1 = IntInf.toString 1; val toString_p2 = IntInf.toString 123; val fromString_null = IntInf.fromString ""; val fromString_nonum = IntInf.fromString "abc123def"; val fromString_m1 = IntInf.fromString "~1"; val fromString_m12 = IntInf.fromString "~1abc"; val fromString_m2 = IntInf.fromString "~123"; val fromString_m22 = IntInf.fromString "~123abc"; val fromString_z1 = IntInf.fromString "0"; val fromString_z12 = IntInf.fromString "00"; val fromString_z12 = IntInf.fromString "00abc"; val fromString_p1 = IntInf.fromString "1"; val fromString_p12 = IntInf.fromString "1abc"; val fromString_p2 = IntInf.fromString "123"; val fromString_p22 = IntInf.fromString "123abc"; fun reader [] = NONE | reader (head :: tail) = SOME(head, tail); fun scan radix string = IntInf.scan radix reader (explode string); val scan_bin_null = scan StringCvt.BIN ""; val scan_bin_0 = scan StringCvt.BIN "0"; val scan_bin_01 = scan StringCvt.BIN "00"; val scan_bin_p0 = scan StringCvt.BIN "+0"; val scan_bin_t0 = scan StringCvt.BIN "~0"; val scan_bin_m0 = scan StringCvt.BIN "-0"; val scan_bin_t1 = scan StringCvt.BIN "~1"; val scan_bin_t1b = scan StringCvt.BIN "~1abc"; val scan_bin_t1c = scan StringCvt.BIN "~01"; val scan_bin_m1 = scan StringCvt.BIN "-1"; val scan_bin_m1b = scan StringCvt.BIN "-1abc"; val scan_bin_m1c = scan StringCvt.BIN "-01"; val scan_bin_p1 = scan StringCvt.BIN "+1"; val scan_bin_p1b = scan StringCvt.BIN "+1abc"; val scan_bin_p1c = scan StringCvt.BIN "+01"; val scan_bin_1 = scan StringCvt.BIN "1"; val scan_bin_1b = scan StringCvt.BIN "1abc"; val scan_bin_1c = scan StringCvt.BIN "01"; val scan_oct_null = scan StringCvt.OCT ""; val scan_oct_0 = scan StringCvt.OCT "0"; val scan_oct_01 = scan StringCvt.OCT "00"; val scan_oct_p0 = scan StringCvt.OCT "+0"; val scan_oct_t0 = scan StringCvt.OCT "~0"; val scan_oct_m0 = scan StringCvt.OCT "-0"; val scan_oct_t1 = scan StringCvt.OCT "~123"; val scan_oct_t1b = scan StringCvt.OCT "~12389a"; val scan_oct_t1c = scan StringCvt.OCT "~0123"; val scan_oct_m1 = scan StringCvt.OCT "-123"; val scan_oct_m1b = scan StringCvt.OCT "-12389a"; val scan_oct_m1c = scan StringCvt.OCT "-0123"; val scan_oct_p1 = scan StringCvt.OCT "+123"; val scan_oct_p1b = scan StringCvt.OCT "+12389a"; val scan_oct_p1c = scan StringCvt.OCT "+0123"; val scan_oct_1 = scan StringCvt.OCT "123"; val scan_oct_1b = scan StringCvt.OCT "12389a"; val scan_oct_1c = scan StringCvt.OCT "0123"; val scan_dec_null = scan StringCvt.DEC ""; val scan_dec_0 = scan StringCvt.DEC "0"; val scan_dec_01 = scan StringCvt.DEC "00"; val scan_dec_p0 = scan StringCvt.DEC "+0"; val scan_dec_t0 = scan StringCvt.DEC "~0"; val scan_dec_m0 = scan StringCvt.DEC "-0"; val scan_dec_t1 = scan StringCvt.DEC "~123"; val scan_dec_t1b = scan StringCvt.DEC "~12389a"; val scan_dec_t1c = scan StringCvt.DEC "~0123"; val scan_dec_m1 = scan StringCvt.DEC "-123"; val scan_dec_m1b = scan StringCvt.DEC "-12389a"; val scan_dec_m1c = scan StringCvt.DEC "-0123"; val scan_dec_p1 = scan StringCvt.DEC "+123"; val scan_dec_p1b = scan StringCvt.DEC "+12389a"; val scan_dec_p1c = scan StringCvt.DEC "+0123"; val scan_dec_1 = scan StringCvt.DEC "123"; val scan_dec_1b = scan StringCvt.DEC "12389a"; val scan_dec_1c = scan StringCvt.DEC "0123"; val scan_hex_null = scan StringCvt.HEX ""; val scan_hex_head1 = scan StringCvt.HEX "0x "; val scan_hex_head2 = scan StringCvt.HEX "0X "; val scan_hex_0 = scan StringCvt.HEX "0"; val scan_hex_01 = scan StringCvt.HEX "00"; val scan_hex_0h1 = scan StringCvt.HEX "0x0"; val scan_hex_0h2 = scan StringCvt.HEX "0X0"; val scan_hex_p0 = scan StringCvt.HEX "+0"; val scan_hex_p0h1 = scan StringCvt.HEX "+0x0"; val scan_hex_p0h2 = scan StringCvt.HEX "+0X0"; val scan_hex_t0 = scan StringCvt.HEX "~0"; val scan_hex_m0 = scan StringCvt.HEX "-0"; val scan_hex_t1 = scan StringCvt.HEX "~123"; val scan_hex_t1b = scan StringCvt.HEX "~12AaFfGg"; val scan_hex_t1b_h1 = scan StringCvt.HEX "~0x12AaFfGg"; val scan_hex_t1b_h2 = scan StringCvt.HEX "~0X12AaFfGg"; val scan_hex_t1c = scan StringCvt.HEX "~0123"; val scan_hex_m1 = scan StringCvt.HEX "-123"; val scan_hex_m1b = scan StringCvt.HEX "-12AaFfGg"; val scan_hex_m1b_h1 = scan StringCvt.HEX "-0x12AaFfGg"; val scan_hex_m1b_h2 = scan StringCvt.HEX "-0X12AaFfGg"; val scan_hex_m1c = scan StringCvt.HEX "-0123"; val scan_hex_p1 = scan StringCvt.HEX "+123"; val scan_hex_p1b = scan StringCvt.HEX "+12AaFfGg"; val scan_hex_p1b_h1 = scan StringCvt.HEX "+0x12AaFfGg"; val scan_hex_p1b_h2 = scan StringCvt.HEX "+0X12AaFfGg"; val scan_hex_p1c = scan StringCvt.HEX "+0123"; val scan_hex_1 = scan StringCvt.HEX "123"; val scan_hex_1b = scan StringCvt.HEX "12AaFfGg"; val scan_hex_1b_h1 = scan StringCvt.HEX "0x12AaFfGg"; val scan_hex_1b_h2 = scan StringCvt.HEX "0X12AaFfGg"; val scan_hex_1c = scan StringCvt.HEX "0123"; val scan_skipWS1 = scan StringCvt.DEC " 123"; val scan_skipWS2 = scan StringCvt.DEC "\t\n\v\f\r123"; smlsharp-1.2.0/test/tests/basis/tests/List001.sml0000644 000000000000000000002070612050661606021745 0ustar00rootroot0000000 0000000 (* test cases for List structure. *) val null1 = List.null ([] : int List.list); val null2 = List.null [1]; val length1 = List.length []; val length2 = List.length [1]; val length3 = List.length [1, 2]; val append1 = List.@ ([], [] : int List.list); val append2 = List.@ ([1], []); val append3 = List.@ ([], [1]); val append4 = List.@ ([1, 2], []); val append5 = List.@ ([], [1, 2]); val append6 = List.@ ([1], [2]); val append7 = List.@ ([1, 2], [2]); val append8 = List.@ ([1, 2], [2, 3]); val append9 = List.@ ([1], [2, 3]); val hd1 = List.hd [] handle List.Empty => 1; val hd2 = List.hd [1]; val hd3 = List.hd [1, 2]; val tl1 = List.tl [] handle List.Empty => [1]; val tl2 = List.tl [1]; val tl3 = List.tl [1, 2]; val last1 = List.last [] handle List.Empty => 1; val last2 = List.last [1]; val last3 = List.last [1, 2]; val getItem1 = List.getItem ([] : int List.list); val getItem2 = List.getItem [1]; val getItem3 = List.getItem [1, 2]; val nth00 = List.nth ([], 0) handle General.Subscript => 1; val nth0m1 = List.nth ([], ~1) handle General.Subscript => 1; val nth01 = List.nth ([], 1) handle General.Subscript => 1; val nth10 = List.nth ([1], 0); val nth11 = List.nth ([2], 1) handle General.Subscript => 1; val nth1m1 = List.nth ([2], ~1) handle General.Subscript => 1; val nth20 = List.nth ([1, 2], 0); val nth21 = List.nth ([1, 2], 1); val nth22 = List.nth ([1, 2], 2) handle General.Subscript => 3; val take00 = List.take ([] : int List.list, 0); val take0m1 = List.take ([], ~1) handle General.Subscript => [3]; val take01 = List.take ([], 1) handle General.Subscript => [3]; val take10 = List.take ([1], 0); val take11 = List.take ([2], 1); val take1m1 = List.take ([2], ~1) handle General.Subscript => [3]; val take12 = List.take ([2], 2) handle General.Subscript => [3]; val take20 = List.take ([1, 2], 0); val take21 = List.take ([1, 2], 1); val take22 = List.take ([1, 2], 2); val take23 = List.take ([1, 2], 3) handle General.Subscript => [3]; val drop00 = List.drop ([] : int List.list, 0); val drop0m1 = List.drop ([], ~1) handle General.Subscript => [3]; val drop01 = List.drop ([], 1) handle General.Subscript => [3]; val drop10 = List.drop ([1], 0); val drop11 = List.drop ([2], 1); val drop1m1 = List.drop ([2], ~1) handle General.Subscript => [3]; val drop12 = List.drop ([2], 2) handle General.Subscript => [3]; val drop20 = List.drop ([1, 2], 0); val drop21 = List.drop ([1, 2], 1); val drop22 = List.drop ([1, 2], 2); val drop23 = List.drop ([1, 2], 3) handle General.Subscript => [3]; val rev0 = List.rev ([] : int List.list); val rev1 = List.rev [1]; val rev2 = List.rev [1, 2]; val rev3 = List.rev [1, 2, 3]; val concat0 = List.concat ([] : int List.list List.list); val concat10 = List.concat ([[]] : int List.list List.list); val concat200 = List.concat ([[], []] : int List.list List.list) val concat11 = List.concat [[1]]; val concat201 = List.concat [[], [1]]; val concat210 = List.concat [[1], []]; val concat211 = List.concat [[1], [2]]; val concat222 = List.concat [[1, 2], [3, 4]]; val concat3303 = List.concat [[1, 2, 3], [], [7, 8, 9]]; val concat3333 = List.concat [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; val revAppend00 = List.revAppend ([], [] : int List.list); val revAppend01 = List.revAppend ([], [1]); val revAppend10 = List.revAppend ([1], []); val revAppend11 = List.revAppend ([1], [2]); val revAppend20 = List.revAppend ([1, 2], []); val revAppend02 = List.revAppend ([], [1, 2]); val revAppend22 = List.revAppend ([1, 2], [3, 4]); val revAppend33 = List.revAppend ([1, 2, 3], [4, 5, 6]); val appFun = fn x => print x; val app0 = List.app appFun []; val app1 = List.app appFun ["a"]; val app2 = List.app appFun ["a", "b"]; val app3 = List.app appFun ["a", "b", "c"]; val mapFun = fn x => x + 1; val map0 = List.map mapFun []; val map1 = List.map mapFun [1]; val map2 = List.map mapFun [1, 2]; val map3 = List.map mapFun [1, 2, 3]; val mapPartialFun = fn x => if 0 < x then SOME x else NONE; val mapPartial0 = List.mapPartial mapPartialFun []; val mapPartial10 = List.mapPartial mapPartialFun [0]; val mapPartial11 = List.mapPartial mapPartialFun [1]; val mapPartial200 = List.mapPartial mapPartialFun [0, 0]; val mapPartial201 = List.mapPartial mapPartialFun [0, 1]; val mapPartial210 = List.mapPartial mapPartialFun [1, 0]; val mapPartial211 = List.mapPartial mapPartialFun [1, 2]; val mapPartial3010 = List.mapPartial mapPartialFun [0, 1, 0]; val mapPartial3101 = List.mapPartial mapPartialFun [1, 0, 2]; val mapPartial3111 = List.mapPartial mapPartialFun [1, 2, 3]; val findFun = fn x => (x mod 2) = 0; val find0 = List.find findFun []; val find10 = List.find findFun [1]; val find11 = List.find findFun [0]; val find200 = List.find findFun [1, 3]; val find201 = List.find findFun [1, 2]; val find210 = List.find findFun [0, 1]; val find211 = List.find findFun [2, 4]; val find3101 = List.find findFun [2, 1, 4]; val find3010 = List.find findFun [1, 2, 3]; val find3111 = List.find findFun [2, 4, 6]; val filterFun = fn x => (x mod 2) = 0; val filter0 = List.filter filterFun []; val filter10 = List.filter filterFun [1]; val filter11 = List.filter filterFun [0]; val filter200 = List.filter filterFun [1, 3]; val filter201 = List.filter filterFun [1, 2]; val filter210 = List.filter filterFun [0, 1]; val filter211 = List.filter filterFun [2, 4]; val filter3101 = List.filter filterFun [2, 1, 4]; val filter3010 = List.filter filterFun [1, 2, 3]; val filter3111 = List.filter filterFun [2, 4, 6]; val partitionFun = fn x => (x mod 2) = 0; val partition0 = List.partition partitionFun []; val partition10 = List.partition partitionFun [1]; val partition11 = List.partition partitionFun [0]; val partition200 = List.partition partitionFun [1, 3]; val partition201 = List.partition partitionFun [1, 2]; val partition210 = List.partition partitionFun [0, 1]; val partition211 = List.partition partitionFun [2, 4]; val partition3101 = List.partition partitionFun [2, 1, 4]; val partition3010 = List.partition partitionFun [1, 2, 3]; val partition3111 = List.partition partitionFun [2, 4, 6]; val foldlFun = fn (x, xs) => x :: xs; val foldl0 = List.foldl foldlFun [] ([] : int list); val foldl1 = List.foldl foldlFun [] [1]; val foldl2 = List.foldl foldlFun [] [1, 2]; val foldl3 = List.foldl foldlFun [] [1, 2, 3]; val foldrFun = fn (x, xs) => x :: xs; val foldr0 = List.foldr foldrFun [] ([] : int list); val foldr1 = List.foldr foldrFun [] [1]; val foldr2 = List.foldr foldrFun [] [1, 2]; val foldr3 = List.foldr foldrFun [] [1, 2, 3]; val existsFun = fn x => (x mod 2) = 0; val exists0 = List.exists existsFun []; val exists10 = List.exists existsFun [1]; val exists11 = List.exists existsFun [0]; val exists200 = List.exists existsFun [1, 3]; val exists201 = List.exists existsFun [1, 2]; val exists210 = List.exists existsFun [0, 1]; val exists211 = List.exists existsFun [2, 4]; val exists3101 = List.exists existsFun [2, 1, 4]; val exists3010 = List.exists existsFun [1, 2, 3]; val exists3111 = List.exists existsFun [2, 4, 6]; val allFun = fn x => (x mod 2) = 0; val all0 = List.all allFun []; val all10 = List.all allFun [1]; val all11 = List.all allFun [0]; val all200 = List.all allFun [1, 3]; val all201 = List.all allFun [1, 2]; val all210 = List.all allFun [0, 1]; val all211 = List.all allFun [2, 4]; val all3101 = List.all allFun [2, 1, 4]; val all3010 = List.all allFun [1, 2, 3]; val all3111 = List.all allFun [2, 4, 6]; val tabulateFun = fn x => x; val tabulate0 = List.tabulate (0, tabulateFun); val tabulate1 = List.tabulate (1, tabulateFun); val tabulate2 = List.tabulate (2, tabulateFun); val tabulatem1 = List.tabulate (~1, tabulateFun) handle General.Size => [999]; (* val collateFun = fn (x, y) => if x < y then General.LESS else if x = y then General.EQUAL else General.GREATER; val collate00 = List.collate collateFun ([], []); val collate01 = List.collate collateFun ([], [1]); val collate10 = List.collate collateFun ([1], [0]); val collate11L = List.collate collateFun ([1], [2]); val collate11E = List.collate collateFun ([1], [1]); val collate11G = List.collate collateFun ([2], [1]); val collate12L = List.collate collateFun ([1], [1, 2]); val collate12G = List.collate collateFun ([2], [1, 2]); val collate21L = List.collate collateFun ([1, 2], [2]); val collate21G = List.collate collateFun ([1, 2], [1]); val collate22L1 = List.collate collateFun ([2, 1], [3, 1]); val collate22L2 = List.collate collateFun ([1, 2], [1, 3]); val collate22E = List.collate collateFun ([1, 2], [1, 2]); val collate22G1 = List.collate collateFun ([3, 1], [2, 1]); val collate22G2 = List.collate collateFun ([1, 3], [1, 2]); *)smlsharp-1.2.0/test/tests/basis/tests/ListPair001.sml0000644 000000000000000000001104112050661606022551 0ustar00rootroot0000000 0000000 (* test cases for ListPair structure. *) val zip00 = ListPair.zip ([] : string list, [] : int list); val zip01 = ListPair.zip ([] : string list, [1]); val zip10 = ListPair.zip (["a"], [] : int list); val zip11 = ListPair.zip (["a"], [1]); val zip12 = ListPair.zip (["a"], [1, 2]); val zip21 = ListPair.zip (["a", "b"], [1]); val zip22 = ListPair.zip (["a", "b"], [1, 2]); val zip33 = ListPair.zip (["a", "b", "c"], [1, 2, 3]); val unzip0 = ListPair.unzip ([] : (string * int) list); val unzip1 = ListPair.unzip [("a", 1)]; val unzip2 = ListPair.unzip [("a", 1), ("b", 2)]; val appFun = fn (x, y) => print (x ^ y); val app00 = ListPair.app appFun ([], []); val app01 = ListPair.app appFun ([], ["x"]); val app10 = ListPair.app appFun (["a"], []); val app11 = ListPair.app appFun (["a"], ["x"]); val app12 = ListPair.app appFun (["a"], ["x", "y"]); val app21 = ListPair.app appFun (["a", "b"], ["x"]); val app22 = ListPair.app appFun (["a", "b"], ["x", "y"]); val app33 = ListPair.app appFun (["a", "b", "c"], ["x", "y", "z"]); val mapFun = fn (x, y) => (x + 1) * y; val map00 = ListPair.map mapFun ([], []); val map01 = ListPair.map mapFun ([], [7]); val map10 = ListPair.map mapFun ([1], []); val map11 = ListPair.map mapFun ([1], [7]); val map12 = ListPair.map mapFun ([1], [7, 8]); val map21 = ListPair.map mapFun ([1, 2], [7]); val map22 = ListPair.map mapFun ([1, 2], [7, 8]); val map33 = ListPair.map mapFun ([1, 2, 3], [7, 8, 9]); val foldlFun = fn (x, y, xs) => x :: y :: xs; val foldl00 = ListPair.foldl foldlFun [] ([] : int List.list, []); val foldl01 = ListPair.foldl foldlFun [] ([], [7]); val foldl10 = ListPair.foldl foldlFun [] ([1], []); val foldl11 = ListPair.foldl foldlFun [] ([1], [7]); val foldl12 = ListPair.foldl foldlFun [] ([1], [7, 8]); val foldl21 = ListPair.foldl foldlFun [] ([1, 2], [7]); val foldl22 = ListPair.foldl foldlFun [] ([1, 2], [7, 8]); val foldl33 = ListPair.foldl foldlFun [] ([1, 2, 3], [7, 8, 9]); val foldrFun = fn (x, y, xs) => x :: y :: xs; val foldr00 = ListPair.foldr foldrFun [] ([] : int List.list, []); val foldr01 = ListPair.foldr foldrFun [] ([], [7]); val foldr10 = ListPair.foldr foldrFun [] ([1], []); val foldr11 = ListPair.foldr foldrFun [] ([1], [7]); val foldr12 = ListPair.foldr foldrFun [] ([1], [7, 8]); val foldr21 = ListPair.foldr foldrFun [] ([1, 2], [7]); val foldr22 = ListPair.foldr foldrFun [] ([1, 2], [7, 8]); val foldr33 = ListPair.foldr foldrFun [] ([1, 2, 3], [7, 8, 9]); val existsFun = fn (x, y) => x mod 2 = 0 andalso y mod 3 = 0; val exists00 = ListPair.exists existsFun ([], []); val exists01__f = ListPair.exists existsFun ([], [7]); val exists01__t = ListPair.exists existsFun ([], [9]); val exists10_f_ = ListPair.exists existsFun ([1], []); val exists10_t_ = ListPair.exists existsFun ([2], []); val exists11_f_f = ListPair.exists existsFun ([1], [7]); val exists11_f_t = ListPair.exists existsFun ([1], [9]); val exists11_t_t = ListPair.exists existsFun ([2], [9]); val exists12_f_ff = ListPair.exists existsFun ([1], [7, 8]); val exists12_f_tf = ListPair.exists existsFun ([1], [9, 8]); val exists12_t_tf = ListPair.exists existsFun ([2], [9, 8]); val exists21_ff_f = ListPair.exists existsFun ([1, 3], [7]); val exists21_ff_t = ListPair.exists existsFun ([1, 3], [9]); val exists21_tf_f = ListPair.exists existsFun ([2, 3], [7]); val exists21_tf_t = ListPair.exists existsFun ([2, 3], [9]); val exists22_ff = ListPair.exists existsFun ([1, 3], [7, 8]); val exists22_ft = ListPair.exists existsFun ([1, 2], [7, 9]); val exists22_tf = ListPair.exists existsFun ([2, 3], [6, 8]); val exists22_tt = ListPair.exists existsFun ([2, 4], [6, 9]); val allFun = fn (x, y) => x mod 2 = 0 andalso y mod 3 = 0; val all00 = ListPair.all allFun ([], []); val all01__f = ListPair.all allFun ([], [7]); val all01__t = ListPair.all allFun ([], [9]); val all10_f_ = ListPair.all allFun ([1], []); val all10_t_ = ListPair.all allFun ([2], []); val all11_f_f = ListPair.all allFun ([1], [7]); val all11_f_t = ListPair.all allFun ([1], [9]); val all11_t_t = ListPair.all allFun ([2], [9]); val all12_f_ff = ListPair.all allFun ([1], [7, 8]); val all12_f_tf = ListPair.all allFun ([1], [9, 8]); val all12_t_tf = ListPair.all allFun ([2], [9, 8]); val all21_ff_f = ListPair.all allFun ([1, 3], [7]); val all21_ff_t = ListPair.all allFun ([1, 3], [9]); val all21_tf_f = ListPair.all allFun ([2, 3], [7]); val all21_tf_t = ListPair.all allFun ([2, 3], [9]); val all22_ff = ListPair.all allFun ([1, 3], [7, 8]); val all22_ft = ListPair.all allFun ([1, 2], [7, 9]); val all22_tf = ListPair.all allFun ([2, 3], [6, 8]); val all22_tt = ListPair.all allFun ([2, 4], [6, 9]); smlsharp-1.2.0/test/tests/basis/tests/Math001.sml0000644 000000000000000000000071212050661606021716 0ustar00rootroot0000000 0000000 val sqrt001 = Math.sqrt 1.23; val sin001 = Math.sin 1.23; val cos001 = Math.cos 1.23; val tan001 = Math.tan 1.23; val asin001 = Math.asin 0.123; val acos001 = Math.acos 0.123; val atan001 = Math.atan 1.23; val atan2001 = Math.atan2 (1.23, 2.34); val exp001 = Math.exp 1.23; val pow001 = Math.pow (1.23, 2.34); val ln001 = Math.ln 1.23; val log10001 = Math.log10 1.23; val sinh001 = Math.sinh 1.23; val cosh001 = Math.cosh 1.23; val tanh001 = Math.tanh 1.23; smlsharp-1.2.0/test/tests/basis/tests/Option001.sml0000644 000000000000000000000325712050661606022304 0ustar00rootroot0000000 0000000 (* test cases for Option structure. *) val getOpt1 = Option.getOpt (Option.NONE, 2); val getOpt2 = Option.getOpt (Option.SOME 1, 2); val isSome1 = Option.isSome (Option.NONE : int Option.option); val isSome2 = Option.isSome (Option.SOME 1); val valOf1 = Option.valOf Option.NONE handle Option.Option => 2; val valOf2 = Option.valOf (Option.SOME 1); fun filterFun x = x = 1; val filter1 = Option.filter filterFun 1; val filter2 = Option.filter filterFun 2; val join1 = Option.join (Option.NONE : int Option.option Option.option); val join2 = Option.join (Option.SOME (Option.NONE : int Option.option)); val join3 = Option.join (Option.SOME (Option.SOME 1)); fun mapFun x = (x + 1, 1); val map1 = Option.map mapFun Option.NONE; val map2 = Option.map mapFun (Option.SOME 1); val mapPartialFun = fn x => if x then Option.SOME 1 else Option.NONE; val mapPartial1 = Option.mapPartial mapPartialFun Option.NONE; val mapPartial2 = Option.mapPartial mapPartialFun (Option.SOME true); val mapPartial3 = Option.mapPartial mapPartialFun (Option.SOME false); val composeFun1 = fn x => (x, 1); val composeFun2 = fn x => if x then Option.SOME 1 else Option.NONE; val compose1 = Option.compose (composeFun1, composeFun2) true; val compose2 = Option.compose (composeFun1, composeFun2) false; fun composePartialFun1 x = if x = 0 then Option.SOME true else Option.NONE fun composePartialFun2 x = if 0 <= x then Option.SOME x else Option.NONE; val composePartial1 = Option.composePartial (composePartialFun1, composePartialFun2) ~1; val composePartial2 = Option.composePartial (composePartialFun1, composePartialFun2) 0; val composePartial3 = Option.composePartial (composePartialFun1, composePartialFun2) 1; smlsharp-1.2.0/test/tests/basis/tests/Real001.sml0000644 000000000000000000001423112050661606021711 0ustar00rootroot0000000 0000000 val abs_0 = Real.abs 0.0; val abs_p = Real.abs 1.23; val abs_m = Real.abs ~1.23; val min_0_0 = Real.min (0.0, 0.0); val min_p_p_l = Real.min (1.23, 2.34); val min_p_p_g = Real.min (2.34, 1.23); val min_m_m_l = Real.min (~2.34, ~1.23); val min_m_m_g = Real.min (~1.23, ~2.34); val min_m_p = Real.min (~2.34, 1.23); val min_p_m = Real.min (1.23, ~2.34); val max_0_0 = Real.max (0.0, 0.0); val max_p_p_l = Real.max (1.23, 2.34); val max_p_p_g = Real.max (2.34, 1.23); val max_m_m_l = Real.max (~2.34, ~1.23); val max_m_m_g = Real.max (~1.23, ~2.34); val max_m_p = Real.max (~2.34, 1.23); val max_p_m = Real.max (1.23, ~2.34); val sign_0 = Real.sign 0.0; val sign_p = Real.sign 1.23; val sign_m = Real.sign ~1.23; val signBit_0 = Real.signBit 0.0; val signBit_p = Real.signBit 1.23; val signBit_m = Real.signBit ~1.23; val sameSign_0_0 = Real.sameSign (0.0, 0.0); val sameSign_p_p = Real.sameSign (1.23, 2.34); val sameSign_m_m = Real.sameSign (~2.34, ~1.23); val sameSign_m_p = Real.sameSign (~2.34, 1.23); val sameSign_p_m = Real.sameSign (1.23, ~2.34); val copySign_0_0 = Real.copySign (0.0, 0.0); val copySign_p_p = Real.copySign (1.23, 2.34); val copySign_m_m = Real.copySign (~2.34, ~1.23); val copySign_m_p = Real.copySign (~2.34, 1.23); val copySign_p_m = Real.copySign (1.23, ~2.34); val compare_0_0 = Real.compare (0.0, 0.0); val compare_p_p_l = Real.compare (1.23, 2.34); val compare_p_p_g = Real.compare (2.34, 1.23); val compare_p_p_e = Real.compare (1.23, 1.23); val compare_m_m_l = Real.compare (~2.34, ~1.23); val compare_m_m_g = Real.compare (~1.23, ~2.34); val compare_m_m_e = Real.compare (~2.34, ~2.34); val compare_m_p = Real.compare (~2.34, 1.23); val compare_p_m = Real.compare (1.23, ~2.34); val compareReal_0_0 = Real.compareReal (0.0, 0.0); val compareReal_p_p_l = Real.compareReal (1.23, 2.34); val compareReal_p_p_g = Real.compareReal (2.34, 1.23); val compareReal_p_p_e = Real.compareReal (1.23, 1.23); val compareReal_m_m_l = Real.compareReal (~2.34, ~1.23); val compareReal_m_m_g = Real.compareReal (~1.23, ~2.34); val compareReal_m_m_e = Real.compareReal (~2.34, ~2.34); val compareReal_m_p = Real.compareReal (~2.34, 1.23); val compareReal_p_m = Real.compareReal (1.23, ~2.34); fun testBinComp args = (Real.< args, Real.<= args, Real.> args, Real.>= args); val binComp_0_0 = testBinComp (0.0, 0.0); val binComp_p_p_l = testBinComp (1.23, 2.34); val binComp_p_p_g = testBinComp (2.34, 1.23); val binComp_p_p_e = testBinComp (1.23, 1.23); val binComp_m_m_l = testBinComp (~2.34, ~1.23); val binComp_m_m_g = testBinComp (~1.23, ~2.34); val binComp_m_m_e = testBinComp (~2.34, ~2.34); val binComp_m_p = testBinComp (~2.34, 1.23); val binComp_p_m = testBinComp (1.23, ~2.34); fun testIEEEEq args = (Real.== args, Real.!= args, Real.?= args, Real.unordered args); val IEEEEqOp_0_0 = testIEEEEq (0.0, 0.0); val IEEEEqOp_p_p_l = testIEEEEq (1.23, 2.34); val IEEEEqOp_p_p_g = testIEEEEq (2.34, 1.23); val IEEEEqOp_p_p_e = testIEEEEq (1.23, 1.23); val IEEEEqOp_m_m_l = testIEEEEq (~2.34, ~1.23); val IEEEEqOp_m_m_g = testIEEEEq (~1.23, ~2.34); val IEEEEqOp_m_m_e = testIEEEEq (~2.34, ~2.34); val IEEEEqOp_m_p = testIEEEEq (~2.34, 1.23); val IEEEEqOp_p_m = testIEEEEq (1.23, ~2.34); val isFinite_0 = Real.isFinite 0.0; val isFinite_n = Real.isFinite 1.23; val isNan_0 = Real.isNan 0.0; val isNan_n = Real.isNan 1.23; val isNormal_0 = Real.isNormal 0.0; val isNormal_n = Real.isNormal 1.23; val toManExp_0 = Real.toManExp 0.0; val toManExp_p = Real.toManExp 123.456; val toManExp_m = Real.toManExp ~123.456; (* val fromManExp_0_0 = Real.fromManExp {man = 0.0, exp = 0}; *) val fromManExp_p_p = Real.fromManExp {man = 12.3, exp = 4}; val fromManExp_p_m = Real.fromManExp {man = 12.3, exp = ~4}; val fromManExp_m_p = Real.fromManExp {man = ~12.3, exp = 4}; val fromManExp_m_m = Real.fromManExp {man = ~12.3, exp = ~4}; val split_0 = Real.split 0.0; val split_p = Real.split 123.456; val split_m = Real.split ~123.456; val realMod_0 = Real.realMod 0.0; val realMod_p = Real.realMod 123.456; val realMod_m = Real.realMod ~123.456; val floor_0 = Real.floor 0.0; val floor_1_4 = Real.floor 1.4; val floor_1_5 = Real.floor 1.5; val floor_m1_4 = Real.floor ~1.4; val floor_m1_5 = Real.floor ~1.5; val ceil_0 = Real.ceil 0.0; val ceil_1_4 = Real.ceil 1.4; val ceil_1_5 = Real.ceil 1.5; val ceil_m1_4 = Real.ceil ~1.4; val ceil_m1_5 = Real.ceil ~1.5; val trunc_0 = Real.trunc 0.0; val trunc_1_4 = Real.trunc 1.4; val trunc_1_5 = Real.trunc 1.5; val trunc_m1_4 = Real.trunc ~1.4; val trunc_m1_5 = Real.trunc ~1.5; val round_0 = Real.round 0.0; val round_1_4 = Real.round 1.4; val round_1_5 = Real.round 1.5; val round_m1_4 = Real.round ~1.4; val round_m1_5 = Real.round ~1.5; val realFloor_0 = Real.realFloor 0.0; val realFloor_1_4 = Real.realFloor 1.4; val realFloor_1_5 = Real.realFloor 1.5; val realFloor_m1_4 = Real.realFloor ~1.4; val realFloor_m1_5 = Real.realFloor ~1.5; val realCeil_0 = Real.realCeil 0.0; val realCeil_1_4 = Real.realCeil 1.4; val realCeil_1_5 = Real.realCeil 1.5; val realCeil_m1_4 = Real.realCeil ~1.4; val realCeil_m1_5 = Real.realCeil ~1.5; val realTrunc_0 = Real.realTrunc 0.0; val realTrunc_1_4 = Real.realTrunc 1.4; val realTrunc_1_5 = Real.realTrunc 1.5; val realTrunc_m1_4 = Real.realTrunc ~1.4; val realTrunc_m1_5 = Real.realTrunc ~1.5; val realRound_0 = Real.realRound 0.0; val realRound_1_4 = Real.realRound 1.4; val realRound_1_5 = Real.realRound 1.5; val realRound_m1_4 = Real.realRound ~1.4; val realRound_m1_5 = Real.realRound ~1.5; val toString_m11 = Real.toString 0.00123456789; val toString_m12 = Real.toString 0.000123456789; val toString_m13 = Real.toString 0.0000123456789; val toString_11 = Real.toString 12345678900.0; val toString_12 = Real.toString 123456789000.0; val toString_13 = Real.toString 1234567890000.0; val fmt_FIX_1239_2 = Real.fmt (StringCvt.FIX (SOME 2)) 1.239; val fmt_FIX_1239_3 = Real.fmt (StringCvt.FIX (SOME 3)) 1.239; val fmt_FIX_1239_4 = Real.fmt (StringCvt.FIX (SOME 4)) 1.239; val fmt_FIX_1299_1 = Real.fmt (StringCvt.FIX (SOME 1)) 1.299; val fmt_FIX_1299_2 = Real.fmt (StringCvt.FIX (SOME 2)) 1.299; val fmt_FIX_1299_3 = Real.fmt (StringCvt.FIX (SOME 3)) 1.299; val fmt_FIX_19_0 = Real.fmt (StringCvt.FIX (SOME 0)) 1.9; val fmt_FIX_19_1 = Real.fmt (StringCvt.FIX (SOME 1)) 1.9; smlsharp-1.2.0/test/tests/basis/tests/Real32001.sml0000644 000000000000000000001464312050661606022065 0ustar00rootroot0000000 0000000 val abs_0 = Real32.abs 0.0; val abs_p = Real32.abs 1.23; val abs_m = Real32.abs ~1.23; val min_0_0 = Real32.min (0.0, 0.0); val min_p_p_l = Real32.min (1.23, 2.34); val min_p_p_g = Real32.min (2.34, 1.23); val min_m_m_l = Real32.min (~2.34, ~1.23); val min_m_m_g = Real32.min (~1.23, ~2.34); val min_m_p = Real32.min (~2.34, 1.23); val min_p_m = Real32.min (1.23, ~2.34); val max_0_0 = Real32.max (0.0, 0.0); val max_p_p_l = Real32.max (1.23, 2.34); val max_p_p_g = Real32.max (2.34, 1.23); val max_m_m_l = Real32.max (~2.34, ~1.23); val max_m_m_g = Real32.max (~1.23, ~2.34); val max_m_p = Real32.max (~2.34, 1.23); val max_p_m = Real32.max (1.23, ~2.34); val sign_0 = Real32.sign 0.0; val sign_p = Real32.sign 1.23; val sign_m = Real32.sign ~1.23; val signBit_0 = Real32.signBit 0.0; val signBit_p = Real32.signBit 1.23; val signBit_m = Real32.signBit ~1.23; val sameSign_0_0 = Real32.sameSign (0.0, 0.0); val sameSign_p_p = Real32.sameSign (1.23, 2.34); val sameSign_m_m = Real32.sameSign (~2.34, ~1.23); val sameSign_m_p = Real32.sameSign (~2.34, 1.23); val sameSign_p_m = Real32.sameSign (1.23, ~2.34); val copySign_0_0 = Real32.copySign (0.0, 0.0); val copySign_p_p = Real32.copySign (1.23, 2.34); val copySign_m_m = Real32.copySign (~2.34, ~1.23); val copySign_m_p = Real32.copySign (~2.34, 1.23); val copySign_p_m = Real32.copySign (1.23, ~2.34); val compare_0_0 = Real32.compare (0.0, 0.0); val compare_p_p_l = Real32.compare (1.23, 2.34); val compare_p_p_g = Real32.compare (2.34, 1.23); val compare_p_p_e = Real32.compare (1.23, 1.23); val compare_m_m_l = Real32.compare (~2.34, ~1.23); val compare_m_m_g = Real32.compare (~1.23, ~2.34); val compare_m_m_e = Real32.compare (~2.34, ~2.34); val compare_m_p = Real32.compare (~2.34, 1.23); val compare_p_m = Real32.compare (1.23, ~2.34); val compareReal_0_0 = Real32.compareReal (0.0, 0.0); val compareReal_p_p_l = Real32.compareReal (1.23, 2.34); val compareReal_p_p_g = Real32.compareReal (2.34, 1.23); val compareReal_p_p_e = Real32.compareReal (1.23, 1.23); val compareReal_m_m_l = Real32.compareReal (~2.34, ~1.23); val compareReal_m_m_g = Real32.compareReal (~1.23, ~2.34); val compareReal_m_m_e = Real32.compareReal (~2.34, ~2.34); val compareReal_m_p = Real32.compareReal (~2.34, 1.23); val compareReal_p_m = Real32.compareReal (1.23, ~2.34); fun testBinComp args = (Real32.< args, Real32.<= args, Real32.> args, Real32.>= args); val binComp_0_0 = testBinComp (0.0, 0.0); val binComp_p_p_l = testBinComp (1.23, 2.34); val binComp_p_p_g = testBinComp (2.34, 1.23); val binComp_p_p_e = testBinComp (1.23, 1.23); val binComp_m_m_l = testBinComp (~2.34, ~1.23); val binComp_m_m_g = testBinComp (~1.23, ~2.34); val binComp_m_m_e = testBinComp (~2.34, ~2.34); val binComp_m_p = testBinComp (~2.34, 1.23); val binComp_p_m = testBinComp (1.23, ~2.34); fun testIEEEEq args = (Real32.== args, Real32.!= args, Real32.?= args, Real32.unordered args); val IEEEEqOp_0_0 = testIEEEEq (0.0, 0.0); val IEEEEqOp_p_p_l = testIEEEEq (1.23, 2.34); val IEEEEqOp_p_p_g = testIEEEEq (2.34, 1.23); val IEEEEqOp_p_p_e = testIEEEEq (1.23, 1.23); val IEEEEqOp_m_m_l = testIEEEEq (~2.34, ~1.23); val IEEEEqOp_m_m_g = testIEEEEq (~1.23, ~2.34); val IEEEEqOp_m_m_e = testIEEEEq (~2.34, ~2.34); val IEEEEqOp_m_p = testIEEEEq (~2.34, 1.23); val IEEEEqOp_p_m = testIEEEEq (1.23, ~2.34); val isFinite_0 = Real32.isFinite 0.0; val isFinite_n = Real32.isFinite 1.23; val isNan_0 = Real32.isNan 0.0; val isNan_n = Real32.isNan 1.23; val isNormal_0 = Real32.isNormal 0.0; val isNormal_n = Real32.isNormal 1.23; val toManExp_0 = Real32.toManExp 0.0; val toManExp_p = Real32.toManExp 123.456; val toManExp_m = Real32.toManExp ~123.456; (* val fromManExp_0_0 = Real32.fromManExp {man = 0.0, exp = 0}; *) val fromManExp_p_p = Real32.fromManExp {man = 12.3, exp = 4}; val fromManExp_p_m = Real32.fromManExp {man = 12.3, exp = ~4}; val fromManExp_m_p = Real32.fromManExp {man = ~12.3, exp = 4}; val fromManExp_m_m = Real32.fromManExp {man = ~12.3, exp = ~4}; val split_0 = Real32.split 0.0; val split_p = Real32.split 123.456; val split_m = Real32.split ~123.456; val realMod_0 = Real32.realMod 0.0; val realMod_p = Real32.realMod 123.456; val realMod_m = Real32.realMod ~123.456; val floor_0 = Real32.floor 0.0; val floor_1_4 = Real32.floor 1.4; val floor_1_5 = Real32.floor 1.5; val floor_m1_4 = Real32.floor ~1.4; val floor_m1_5 = Real32.floor ~1.5; val ceil_0 = Real32.ceil 0.0; val ceil_1_4 = Real32.ceil 1.4; val ceil_1_5 = Real32.ceil 1.5; val ceil_m1_4 = Real32.ceil ~1.4; val ceil_m1_5 = Real32.ceil ~1.5; val trunc_0 = Real32.trunc 0.0; val trunc_1_4 = Real32.trunc 1.4; val trunc_1_5 = Real32.trunc 1.5; val trunc_m1_4 = Real32.trunc ~1.4; val trunc_m1_5 = Real32.trunc ~1.5; val round_0 = Real32.round 0.0; val round_1_4 = Real32.round 1.4; val round_1_5 = Real32.round 1.5; val round_m1_4 = Real32.round ~1.4; val round_m1_5 = Real32.round ~1.5; val realFloor_0 = Real32.realFloor 0.0; val realFloor_1_4 = Real32.realFloor 1.4; val realFloor_1_5 = Real32.realFloor 1.5; val realFloor_m1_4 = Real32.realFloor ~1.4; val realFloor_m1_5 = Real32.realFloor ~1.5; val realCeil_0 = Real32.realCeil 0.0; val realCeil_1_4 = Real32.realCeil 1.4; val realCeil_1_5 = Real32.realCeil 1.5; val realCeil_m1_4 = Real32.realCeil ~1.4; val realCeil_m1_5 = Real32.realCeil ~1.5; val realTrunc_0 = Real32.realTrunc 0.0; val realTrunc_1_4 = Real32.realTrunc 1.4; val realTrunc_1_5 = Real32.realTrunc 1.5; val realTrunc_m1_4 = Real32.realTrunc ~1.4; val realTrunc_m1_5 = Real32.realTrunc ~1.5; val realRound_0 = Real32.realRound 0.0; val realRound_1_4 = Real32.realRound 1.4; val realRound_1_5 = Real32.realRound 1.5; val realRound_m1_4 = Real32.realRound ~1.4; val realRound_m1_5 = Real32.realRound ~1.5; val toString_m11 = Real32.toString 0.00123456789; val toString_m12 = Real32.toString 0.000123456789; val toString_m13 = Real32.toString 0.0000123456789; val toString_11 = Real32.toString 12345678900.0; val toString_12 = Real32.toString 123456789000.0; val toString_13 = Real32.toString 1234567890000.0; val fmt_FIX_1239_2 = Real32.fmt (StringCvt.FIX (SOME 2)) 1.239; val fmt_FIX_1239_3 = Real32.fmt (StringCvt.FIX (SOME 3)) 1.239; val fmt_FIX_1239_4 = Real32.fmt (StringCvt.FIX (SOME 4)) 1.239; val fmt_FIX_1299_1 = Real32.fmt (StringCvt.FIX (SOME 1)) 1.299; val fmt_FIX_1299_2 = Real32.fmt (StringCvt.FIX (SOME 2)) 1.299; val fmt_FIX_1299_3 = Real32.fmt (StringCvt.FIX (SOME 3)) 1.299; val fmt_FIX_19_0 = Real32.fmt (StringCvt.FIX (SOME 0)) 1.9; val fmt_FIX_19_1 = Real32.fmt (StringCvt.FIX (SOME 1)) 1.9; smlsharp-1.2.0/test/tests/basis/tests/RealArray001.sml0000644 000000000000000000002441712050661606022717 0ustar00rootroot0000000 0000000 (* test cases for RealArray structure. *) fun L2A list = RealArray.fromList (map Real.fromInt list); fun L2V list = RealVector.fromList (map Real.fromInt list); fun A2L array = let val length = RealArray.length array fun scan ~1 accum = map Real.round accum | scan n accum = scan (n - 1) (RealArray.sub(array, n) :: accum) in scan (length - 1) [] : int list end; fun V2L vector = let val length = RealVector.length vector fun scan ~1 accum = map Real.round accum | scan n accum = scan (n - 1) (RealVector.sub(vector, n) :: accum) in scan (length - 1) [] : int list end; val array_0i = A2L(RealArray.array(0, 1.0)); val array_1i = A2L(RealArray.array(1, 1.0)); val array_2i = A2L(RealArray.array(2, 1.0)); val array_m1i = A2L(RealArray.array(~1, 1.0)) handle General.Size => [9]; val fromList_0i = A2L(RealArray.fromList ([] : real list)); val fromList_1i = A2L(RealArray.fromList [1.0]); val fromList_2i = A2L(RealArray.fromList [1.0, 2.0]); val tabulateFun = fn x => Real.fromInt x; val tabulate0 = A2L(RealArray.tabulate (0, tabulateFun)); val tabulate1 = A2L(RealArray.tabulate (1, tabulateFun)); val tabulate2 = A2L(RealArray.tabulate (2, tabulateFun)); val tabulatem1 = A2L(RealArray.tabulate (~1, tabulateFun)) handle General.Size => [9]; val length1 = RealArray.length (L2A[]); val length2 = RealArray.length (L2A[1]); val length3 = RealArray.length (L2A[1, 2]); val sub00 = RealArray.sub ((L2A[]), 0) handle General.Subscript => 9.9; val sub0m1 = RealArray.sub ((L2A[]), ~1) handle General.Subscript => 9.9; val sub01 = RealArray.sub ((L2A[]), 1) handle General.Subscript => 9.9; val sub10 = RealArray.sub ((L2A[1]), 0); val sub11 = RealArray.sub ((L2A[2]), 1) handle General.Subscript => 9.9; val sub1m1 = RealArray.sub ((L2A[2]), ~1) handle General.Subscript => 9.9; val sub20 = RealArray.sub ((L2A[1, 2]), 0); val sub21 = RealArray.sub ((L2A[1, 2]), 1); val sub22 = RealArray.sub ((L2A[1, 2]), 2) handle General.Subscript => 9.9; (********************) fun testUpdate (array, index, newValue) = (RealArray.update(array, index, Real.fromInt newValue); A2L(array)); val update00 = testUpdate ((L2A[]), 0, 1) handle General.Subscript => [1]; val update0m1 = testUpdate ((L2A[]), ~1, 1) handle General.Subscript => [1]; val update01 = testUpdate ((L2A[]), 1, 1) handle General.Subscript => [1]; val update10 = testUpdate ((L2A[1]), 0, 1); val update11 = testUpdate ((L2A[2]), 1, 1) handle General.Subscript => [9]; val update1m1 = testUpdate ((L2A[2]), ~1, 1) handle General.Subscript => [9]; val update20 = testUpdate ((L2A[1, 2]), 0, 1); val update21 = testUpdate ((L2A[1, 2]), 1, 1); val update22 = testUpdate ((L2A[1, 2]), 2, 1) handle General.Subscript => [9]; (********************) val vector_0 = RealArray.vector (L2A[]); val vector_1 = RealArray.vector (L2A[1]); val vector_2 = RealArray.vector (L2A[1, 2]); (********************) fun testCopy (src, dst, di) = (RealArray.copy {src = src, dst = dst, di = di}; (A2L src, A2L dst)); (* variation of length of src array *) val copy_0_3_0 = testCopy(L2A[], L2A[7, 8, 9], 0); val copy_1_3_0 = testCopy(L2A[1], L2A[7, 8, 9], 0); val copy_2_3_0 = testCopy(L2A[1, 2], L2A[7, 8, 9], 0); (* variation of length of dst array *) val copy_3_0_0 = testCopy(L2A[1, 2, 3], L2A[], 0) handle Subscript => ([9], [9]); val copy_3_1_0 = testCopy(L2A[1, 2, 3], L2A[7], 0) handle Subscript => ([9], [9]); val copy_3_2_0 = testCopy(L2A[1, 2, 3], L2A[7, 8], 0) handle Subscript => ([9], [9]); val copy_3_3_0 = testCopy(L2A[1, 2, 3], L2A[7, 8, 9], 0); val copy_3_4_0 = testCopy(L2A[1, 2, 3], L2A[7, 8, 9, 6], 0); (* variation of di *) val copy_3_4_m1 = testCopy(L2A[1, 2, 3], L2A[7, 8, 9, 6], ~1) handle Subscript => ([9], [9]); val copy_3_4_0 = testCopy(L2A[1, 2, 3], L2A[7, 8, 9, 6], 0); val copy_3_4_1 = testCopy(L2A[1, 2, 3], L2A[7, 8, 9, 6], 1); val copy_3_4_2 = testCopy(L2A[1, 2, 3], L2A[7, 8, 9, 6], 2) handle Subscript => ([9], [9]); (********************) fun testCopyVec (src, dst, di) = (RealArray.copyVec {src = src, dst = dst, di = di}; (V2L src, A2L dst)); (* variation of length of src array *) val copyVec_0_3_0 = testCopyVec(L2V[], L2A[7, 8, 9], 0); val copyVec_1_3_0 = testCopyVec(L2V[1], L2A[7, 8, 9], 0); val copyVec_2_3_0 = testCopyVec(L2V[1, 2], L2A[7, 8, 9], 0); (* variation of length of dst array *) val copyVec_3_0_0 = testCopyVec(L2V[1, 2, 3], L2A[], 0) handle Subscript => ([9], [9]); val copyVec_3_1_0 = testCopyVec(L2V[1, 2, 3], L2A[7], 0) handle Subscript => ([9], [9]); val copyVec_3_2_0 = testCopyVec(L2V[1, 2, 3], L2A[7, 8], 0) handle Subscript => ([9], [9]); val copyVec_3_3_0 = testCopyVec(L2V[1, 2, 3], L2A[7, 8, 9], 0); val copyVec_3_4_0 = testCopyVec (L2V[1, 2, 3], L2A[7, 8, 9, 6], 0); (* variation of di *) val copyVec_3_4_m1 = testCopyVec (L2V[1, 2, 3], L2A[7, 8, 9, 6], ~1) handle Subscript => ([9], [9]); val copyVec_3_4_0 = testCopyVec (L2V[1, 2, 3], L2A[7, 8, 9, 6], 0); val copyVec_3_4_1 = testCopyVec (L2V[1, 2, 3], L2A[7, 8, 9, 6], 1); val copyVec_3_4_2 = testCopyVec(L2V[1, 2, 3], L2A[7, 8, 9, 6], 2) handle Subscript => ([9], [9]); (********************) val appiFun = fn (index, n) => (print(Int.toString index); print(Real.toString n)); (* safe cases *) val appi_0 = SOME(RealArray.appi appiFun (L2A [])); val appi_1 = SOME(RealArray.appi appiFun (L2A [1])); val appi_2 = SOME(RealArray.appi appiFun (L2A [1, 2])); (********************) val appFun = fn x => print (Real.toString x); val app0 = RealArray.app appFun (L2A[]); val app1 = RealArray.app appFun (L2A[1]); val app2 = RealArray.app appFun (L2A[1, 2]); val app3 = RealArray.app appFun (L2A[1, 2, 3]); (********************) val modifyiFun = fn (index, n) => (print(Int.toString index); n * 10.0 : real); fun testModifyi array =(RealArray.modifyi modifyiFun array; A2L array); val modifyi_0 = testModifyi (L2A []); val modifyi_1 = testModifyi (L2A [1]); val modifyi_2 = testModifyi (L2A [1, 2]); (********************) val modifyFun = fn x => (print(Real.toString x); x * 10.0 : real); fun testModify array = (RealArray.modify modifyFun array; A2L array); val modify0 = testModify (L2A[]); val modify1 = testModify (L2A[1]); val modify2 = testModify (L2A[1, 2]); val modify3 = testModify (L2A[1, 2, 3]); (********************) val foldliFun = fn (index, ch, accum) => (print(Int.toString index); ch :: accum); val foldli_0 = RealArray.foldli foldliFun [] (L2A []); val foldli_1 = RealArray.foldli foldliFun [] (L2A [1]); val foldli_2 = RealArray.foldli foldliFun [] (L2A [1, 2]); (********************) val foldlFun = fn (x, xs) => x :: xs; val foldl0 = RealArray.foldl foldlFun [] ((L2A[]) : RealArray.array); val foldl1 = RealArray.foldl foldlFun [] (L2A[1]); val foldl2 = RealArray.foldl foldlFun [] (L2A[1, 2]); val foldl3 = RealArray.foldl foldlFun [] (L2A[1, 2, 3]); (********************) val foldriFun = fn (index, ch, accum) => (print(Int.toString index); ch :: accum); val foldri_0 = RealArray.foldri foldriFun [] (L2A []); val foldri_1 = RealArray.foldri foldriFun [] (L2A [1]); val foldri_2 = RealArray.foldri foldriFun [] (L2A [1, 2]); (********************) val foldrFun = fn (x, xs) => x :: xs; val foldr0 = RealArray.foldr foldrFun [] ((L2A[]) : RealArray.array); val foldr1 = RealArray.foldr foldrFun [] (L2A[1]); val foldr2 = RealArray.foldr foldrFun [] (L2A[1, 2]); val foldr3 = RealArray.foldr foldrFun [] (L2A[1, 2, 3]); (********************) val findiFun = fn (index, value) => (print (Int.toString index); 9.0 <= value); val findi_0 = RealArray.findi findiFun (L2A[]); val findi_1F = RealArray.findi findiFun (L2A[1]); val findi_1T = RealArray.findi findiFun (L2A[9]); val findi_2F = RealArray.findi findiFun (L2A[1, 2]); val findi_2T1 = RealArray.findi findiFun (L2A[1, 9]); val findi_2T2 = RealArray.findi findiFun (L2A[9, 1]); val findi_2T3 = RealArray.findi findiFun (L2A[9, 9]); (********************) val findFun = fn value => (print (Real.toString value); 9.0 <= value); val find_0 = RealArray.find findFun (L2A[]); val find_1F = RealArray.find findFun (L2A[1]); val find_1T = RealArray.find findFun (L2A[9]); val find_2F = RealArray.find findFun (L2A[1, 2]); val find_2T1 = RealArray.find findFun (L2A[1, 9]); val find_2T2 = RealArray.find findFun (L2A[9, 1]); val find_2T3 = RealArray.find findFun (L2A[9, 9]); (********************) val existsFun = fn value => (print (Real.toString value); 9.0 <= value); val exists_0 = RealArray.exists existsFun (L2A[]); val exists_1F = RealArray.exists existsFun (L2A[1]); val exists_1T = RealArray.exists existsFun (L2A[9]); val exists_2F = RealArray.exists existsFun (L2A[1, 2]); val exists_2T1 = RealArray.exists existsFun (L2A[1, 9]); val exists_2T2 = RealArray.exists existsFun (L2A[9, 1]); val exists_2T3 = RealArray.exists existsFun (L2A[9, 9]); (********************) val allFun = fn value => (print (Real.toString value); 9.0 <= value); val all_0 = RealArray.all allFun (L2A[]); val all_1F = RealArray.all allFun (L2A[1]); val all_1T = RealArray.all allFun (L2A[9]); val all_2F1 = RealArray.all allFun (L2A[1, 2]); val all_2F2 = RealArray.all allFun (L2A[1, 9]); val all_2F3 = RealArray.all allFun (L2A[9, 1]); val all_2T = RealArray.all allFun (L2A[9, 9]); (********************) val collateFun = fn (x : real, y) => if x < y then General.LESS else if x <= y andalso y <= x then General.EQUAL else General.GREATER; val collate00 = RealArray.collate collateFun ((L2A[]), (L2A[])); val collate01 = RealArray.collate collateFun ((L2A[]), (L2A[1])); val collate10 = RealArray.collate collateFun ((L2A[1]), (L2A[])); val collate11L = RealArray.collate collateFun ((L2A[1]), (L2A[2])); val collate11E = RealArray.collate collateFun ((L2A[1]), (L2A[1])); val collate11G = RealArray.collate collateFun ((L2A[2]), (L2A[1])); val collate12L = RealArray.collate collateFun ((L2A[1]), (L2A[1, 2])); val collate12G = RealArray.collate collateFun ((L2A[2]), (L2A[1, 2])); val collate21L = RealArray.collate collateFun ((L2A[1, 2]), (L2A[2])); val collate21G = RealArray.collate collateFun ((L2A[1, 2]), (L2A[1])); val collate22L1 = RealArray.collate collateFun ((L2A[1, 2]), (L2A[3, 2])); val collate22L2 = RealArray.collate collateFun ((L2A[1, 2]), (L2A[1, 3])); val collate22E = RealArray.collate collateFun ((L2A[1, 2]), (L2A[1, 2])); val collate22G1 = RealArray.collate collateFun ((L2A[3, 1]), (L2A[2, 1])); val collate22G2 = RealArray.collate collateFun ((L2A[1, 3]), (L2A[1, 2])); smlsharp-1.2.0/test/tests/basis/tests/RealVector001.sml0000644 000000000000000000002015512050661606023076 0ustar00rootroot0000000 0000000 (* test cases for RealVector structure. *) fun L2V list = RealVector.fromList (map Real.fromInt list); fun V2L vector = let val length = RealVector.length vector fun scan ~1 accum = map Real.round accum | scan n accum = scan (n - 1) (RealVector.sub(vector, n) :: accum) in scan (length - 1) [] : int list end; val fromList_0i = V2L(RealVector.fromList ([] : real list)); val fromList_1i = V2L(RealVector.fromList [1.0]); val fromList_2i = V2L(RealVector.fromList [1.0, 2.0]); val tabulateFun = fn x => Real.fromInt x; val tabulate0 = V2L(RealVector.tabulate (0, tabulateFun)); val tabulate1 = V2L(RealVector.tabulate (1, tabulateFun)); val tabulate2 = V2L(RealVector.tabulate (2, tabulateFun)); val tabulatem1 = V2L(RealVector.tabulate (~1, tabulateFun)) handle General.Size => [9]; val length1 = RealVector.length (L2V[]); val length2 = RealVector.length (L2V[1]); val length3 = RealVector.length (L2V[1, 2]); val sub00 = RealVector.sub ((L2V[]), 0) handle General.Subscript => 9.9; val sub0m1 = RealVector.sub ((L2V[]), ~1) handle General.Subscript => 9.9; val sub01 = RealVector.sub ((L2V[]), 1) handle General.Subscript => 9.9; val sub10 = RealVector.sub ((L2V[1]), 0); val sub11 = RealVector.sub ((L2V[2]), 1) handle General.Subscript => 9.9; val sub1m1 = RealVector.sub ((L2V[2]), ~1) handle General.Subscript => 9.9; val sub20 = RealVector.sub ((L2V[1, 2]), 0); val sub21 = RealVector.sub ((L2V[1, 2]), 1); val sub22 = RealVector.sub ((L2V[1, 2]), 2) handle General.Subscript => 9.9; (********************) val concat0 = RealVector.concat ([] : RealVector.vector List.list); val concat10 = RealVector.concat ([L2V[]] : RealVector.vector List.list); val concat200 = RealVector.concat ([L2V[], L2V[]] : RealVector.vector List.list); val concat11 = RealVector.concat [L2V[1]]; val concat201 = RealVector.concat [L2V[], L2V[1]]; val concat210 = RealVector.concat [L2V[1], L2V[]]; val concat211 = RealVector.concat [L2V[1], L2V[2]]; val concat222 = RealVector.concat [L2V[1,2], L2V[3,4]]; val concat3303 = RealVector.concat [L2V[1,2,3], L2V[], L2V[7,8,9]]; val concat3333 = RealVector.concat [L2V[1,2,3], L2V[4,5,6], L2V[7,8,9]]; (********************) fun testUpdate (vector, index, newValue) = (RealVector.update(vector, index, Real.fromInt newValue); V2L(vector)); val update00 = testUpdate ((L2V[]), 0, 1) handle General.Subscript => [1]; val update0m1 = testUpdate ((L2V[]), ~1, 1) handle General.Subscript => [1]; val update01 = testUpdate ((L2V[]), 1, 1) handle General.Subscript => [1]; val update10 = testUpdate ((L2V[1]), 0, 1); val update11 = testUpdate ((L2V[2]), 1, 1) handle General.Subscript => [9]; val update1m1 = testUpdate ((L2V[2]), ~1, 1) handle General.Subscript => [9]; val update20 = testUpdate ((L2V[1, 2]), 0, 1); val update21 = testUpdate ((L2V[1, 2]), 1, 1); val update22 = testUpdate ((L2V[1, 2]), 2, 1) handle General.Subscript => [9]; (********************) val appiFun = fn (index, n) => (print(Int.toString index); print(Real.toString n)); (* safe cases *) val appi_0 = SOME(RealVector.appi appiFun (L2V [])); val appi_1 = SOME(RealVector.appi appiFun (L2V [1])); val appi_2 = SOME(RealVector.appi appiFun (L2V [1, 2])); (********************) val appFun = fn x => print (Real.toString x); val app0 = RealVector.app appFun (L2V[]); val app1 = RealVector.app appFun (L2V[1]); val app2 = RealVector.app appFun (L2V[1, 2]); val app3 = RealVector.app appFun (L2V[1, 2, 3]); (********************) val mapiFun = fn (index, n) => (print(Int.toString index); n * 10.0 : real); (* safe cases *) val mapi_0 = SOME(RealVector.mapi mapiFun (L2V [])); val mapi_1 = SOME(RealVector.mapi mapiFun (L2V [1])); val mapi_2 = SOME(RealVector.mapi mapiFun (L2V [1, 2])); (********************) val mapFun = fn x => (print (Real.toString x); x * 10.0); val map0 = RealVector.map mapFun (L2V[]); val map1 = RealVector.map mapFun (L2V[1]); val map2 = RealVector.map mapFun (L2V[1, 2]); val map3 = RealVector.map mapFun (L2V[1, 2, 3]); (********************) val foldliFun = fn (index, ch, accum) => (print(Int.toString index); ch :: accum); val foldli_0 = RealVector.foldli foldliFun [] (L2V []); val foldli_1 = RealVector.foldli foldliFun [] (L2V [1]); val foldli_2 = RealVector.foldli foldliFun [] (L2V [1, 2]); (********************) val foldlFun = fn (x, xs) => x :: xs; val foldl0 = RealVector.foldl foldlFun [] ((L2V[]) : RealVector.vector); val foldl1 = RealVector.foldl foldlFun [] (L2V[1]); val foldl2 = RealVector.foldl foldlFun [] (L2V[1, 2]); val foldl3 = RealVector.foldl foldlFun [] (L2V[1, 2, 3]); (********************) val foldriFun = fn (index, ch, accum) => (print(Int.toString index); ch :: accum); val foldri_0 = RealVector.foldri foldriFun [] (L2V []); val foldri_1 = RealVector.foldri foldriFun [] (L2V [1]); val foldri_2 = RealVector.foldri foldriFun [] (L2V [1, 2]); (********************) val foldrFun = fn (x, xs) => x :: xs; val foldr0 = RealVector.foldr foldrFun [] ((L2V[]) : RealVector.vector); val foldr1 = RealVector.foldr foldrFun [] (L2V[1]); val foldr2 = RealVector.foldr foldrFun [] (L2V[1, 2]); val foldr3 = RealVector.foldr foldrFun [] (L2V[1, 2, 3]); (********************) val findiFun = fn (index, value) => (print (Int.toString index); (value <= 9.0) andalso (9.0 <= value)); val findi_0 = RealVector.findi findiFun (L2V[]); val findi_1F = RealVector.findi findiFun (L2V[1]); val findi_1T = RealVector.findi findiFun (L2V[9]); val findi_2F = RealVector.findi findiFun (L2V[1, 2]); val findi_2T1 = RealVector.findi findiFun (L2V[1, 9]); val findi_2T2 = RealVector.findi findiFun (L2V[9, 1]); val findi_2T3 = RealVector.findi findiFun (L2V[9, 9]); (********************) val findFun = fn value => (print (Real.toString value); 9.0 <= value); val find_0 = RealVector.find findFun (L2V[]); val find_1F = RealVector.find findFun (L2V[1]); val find_1T = RealVector.find findFun (L2V[9]); val find_2F = RealVector.find findFun (L2V[1, 2]); val find_2T1 = RealVector.find findFun (L2V[1, 9]); val find_2T2 = RealVector.find findFun (L2V[9, 1]); val find_2T3 = RealVector.find findFun (L2V[9, 9]); (********************) val existsFun = fn value => (print (Real.toString value); 9.0 <= value); val exists_0 = RealVector.exists existsFun (L2V[]); val exists_1F = RealVector.exists existsFun (L2V[1]); val exists_1T = RealVector.exists existsFun (L2V[9]); val exists_2F = RealVector.exists existsFun (L2V[1, 2]); val exists_2T1 = RealVector.exists existsFun (L2V[1, 9]); val exists_2T2 = RealVector.exists existsFun (L2V[9, 1]); val exists_2T3 = RealVector.exists existsFun (L2V[9, 9]); (********************) val allFun = fn value => (print (Real.toString value); 9.0 <= value); val all_0 = RealVector.all allFun (L2V[]); val all_1F = RealVector.all allFun (L2V[1]); val all_1T = RealVector.all allFun (L2V[9]); val all_2F1 = RealVector.all allFun (L2V[1, 2]); val all_2F2 = RealVector.all allFun (L2V[1, 9]); val all_2F3 = RealVector.all allFun (L2V[9, 1]); val all_2T = RealVector.all allFun (L2V[9, 9]); (********************) val collateFun = fn (x : real, y) => if x < y then General.LESS else if x <= y andalso y <= x then General.EQUAL else General.GREATER; val collate00 = RealVector.collate collateFun ((L2V[]), (L2V[])); val collate01 = RealVector.collate collateFun ((L2V[]), (L2V[1])); val collate10 = RealVector.collate collateFun ((L2V[1]), (L2V[])); val collate11L = RealVector.collate collateFun ((L2V[1]), (L2V[2])); val collate11E = RealVector.collate collateFun ((L2V[1]), (L2V[1])); val collate11G = RealVector.collate collateFun ((L2V[2]), (L2V[1])); val collate12L = RealVector.collate collateFun ((L2V[1]), (L2V[1, 2])); val collate12G = RealVector.collate collateFun ((L2V[2]), (L2V[1, 2])); val collate21L = RealVector.collate collateFun ((L2V[1, 2]), (L2V[2])); val collate21G = RealVector.collate collateFun ((L2V[1, 2]), (L2V[1])); val collate22L1 = RealVector.collate collateFun ((L2V[1, 2]), (L2V[3, 2])); val collate22L2 = RealVector.collate collateFun ((L2V[1, 2]), (L2V[1, 3])); val collate22E = RealVector.collate collateFun ((L2V[1, 2]), (L2V[1, 2])); val collate22G1 = RealVector.collate collateFun ((L2V[3, 1]), (L2V[2, 1])); val collate22G2 = RealVector.collate collateFun ((L2V[1, 3]), (L2V[1, 2])); smlsharp-1.2.0/test/tests/basis/tests/String001.sml0000644 000000000000000000002226312050661606022300 0ustar00rootroot0000000 0000000 (* test cases for String structure. *) (********************) val size_0 = String.size ""; val size_1 = String.size "a"; val size_2 = String.size "ab"; (********************) val sub_0_0 = String.sub("", 0) handle Subscript => #"E"; val sub_1_m1 = String.sub("a", ~1) handle Subscript => #"E";; val sub_1_0 = String.sub("a", 0); val sub_1_1 = String.sub("a", 1) handle Subscript => #"E"; val sub_2_m1 = String.sub("ab", ~1) handle Subscript => #"E";; val sub_2_0 = String.sub("ab", 0); val sub_2_1 = String.sub("ab", 1); val sub_2_2 = String.sub("ab", 2) handle Subscript => #"E"; (********************) (* safe cases *) val extract_0_0_N = String.extract("", 0, NONE); val extract_0_0_0 = String.extract("", 0, SOME 0); val extract_1_0_N = String.extract("a", 0, NONE); val extract_1_0_0 = String.extract("a", 0, SOME 0); val extract_1_0_1 = String.extract("a", 0, SOME 1); val extract_1_1_N = String.extract("a", 1, NONE); val extract_1_1_0 = String.extract("a", 1, SOME 0); val extract_2_0_N = String.extract("ab", 0, NONE); val extract_2_0_0 = String.extract("ab", 0, SOME 0); val extract_2_0_1 = String.extract("ab", 0, SOME 1); val extract_2_0_2 = String.extract("ab", 0, SOME 2); val extract_2_1_N = String.extract("ab", 1, NONE); val extract_2_1_0 = String.extract("ab", 1, SOME 0); val extract_2_1_1 = String.extract("ab", 1, SOME 1); val extract_2_2_N = String.extract("ab", 2, NONE); val extract_2_2_0 = String.extract("ab", 2, SOME 0); (* error cases *) val extract_2_m1_N = (String.extract("ab", ~1, NONE)) handle Subscript => "x"; val extract_2_3_N = (String.extract("ab", 3, NONE)) handle Subscript => "x"; val extract_2_m1_0 = (String.extract("ab", ~1, SOME 0)) handle Subscript => "x"; val extract_2_0_m1 = (String.extract("ab", ~1, SOME ~1)) handle Subscript => "x"; val extract_2_1_2 = (String.extract("ab", 1, SOME 2)) handle Subscript => "x"; (********************) (* safe cases *) val substring_0_0_0 = String.substring("", 0, 0); val substring_1_0_0 = String.substring("a", 0, 0); val substring_1_0_1 = String.substring("a", 0, 1); val substring_1_1_0 = String.substring("a", 1, 0); val substring_2_0_0 = String.substring("ab", 0, 0); val substring_2_0_1 = String.substring("ab", 0, 1); val substring_2_0_2 = String.substring("ab", 0, 2); val substring_2_1_0 = String.substring("ab", 1, 0); val substring_2_1_1 = String.substring("ab", 1, 1); val substring_2_2_0 = String.substring("ab", 2, 0); (* error cases *) val substring_2_m1_0 = (String.substring("ab", ~1, 0)) handle Subscript => "x"; val substring_2_0_m1 = (String.substring("ab", ~1, ~1)) handle Subscript => "x"; val substring_2_1_2 = (String.substring("ab", 1, 2)) handle Subscript => "x"; (********************) val concat2_0_0 = String.^ ("", ""); val concat2_0_1 = String.^ ("", "a"); val concat2_1_0 = String.^ ("a", ""); val concat2_1_1 = String.^ ("a", "b"); val concat2_1_2 = String.^ ("a", "bc"); val concat2_2_2 = String.^ ("ab", "bc"); (********************) val concat_0 = String.concat []; val concat_1 = String.concat ["ab"]; val concat_2_diff = String.concat ["ab", "a"]; val concat_2_same = String.concat ["ab", "ab"]; val concat_2_02 = String.concat ["", "ab"]; val concat_2_20 = String.concat ["ab", ""]; val concat_3_202 = String.concat ["ab", "", "ab"]; val concat_3_212 = String.concat ["ab", "a", "ab"]; (********************) (* ToDo : test String.str *) (********************) val implode_0 = String.implode []; val implode_1 = String.implode [#"a"]; val implode_2 = String.implode [#"a", #"b"]; val implode_3 = String.implode [#"a", #"b", #"c"]; (********************) val explode_0 = String.explode(""); val explode_1 = String.explode("a"); val explode_2 = String.explode("ab"); val explode_3 = String.explode("abc"); (********************) fun mapFun (ch : char) = #"x"; val map0 = String.map mapFun "" val map1 = String.map mapFun "b"; val map2 = String.map mapFun "bc"; (********************) fun translateFun ch = let val string = implode [ch, ch] in print string; string : String.string end; val translate0 = String.translate translateFun "" val translate1 = String.translate translateFun "b"; val translate2 = String.translate translateFun "bc"; (********************) fun tokensFun ch = ch = #"|"; val tokens_empty = String.tokens tokensFun ""; val tokens_00 = String.tokens tokensFun "|"; val tokens_01 = String.tokens tokensFun "|b"; val tokens_10 = String.tokens tokensFun "b|"; val tokens_11 = String.tokens tokensFun "b|c"; val tokens_000 = String.tokens tokensFun "||"; val tokens_001 = String.tokens tokensFun "||b"; val tokens_010 = String.tokens tokensFun "|b|"; val tokens_011 = String.tokens tokensFun "|b|c"; val tokens_100 = String.tokens tokensFun "b||"; val tokens_101 = String.tokens tokensFun "b||c"; val tokens_110 = String.tokens tokensFun "b|c|"; val tokens_111 = String.tokens tokensFun "b|c|d"; val tokens_222 = String.tokens tokensFun "bc|de|fg"; (********************) fun fieldsFun ch = ch = #"|"; val fields_empty = String.fields fieldsFun ""; val fields_00 = String.fields fieldsFun "|"; val fields_01 = String.fields fieldsFun "|b"; val fields_10 = String.fields fieldsFun "b|"; val fields_11 = String.fields fieldsFun "b|c"; val fields_000 = String.fields fieldsFun "||"; val fields_001 = String.fields fieldsFun "||b"; val fields_010 = String.fields fieldsFun "|b|"; val fields_011 = String.fields fieldsFun "|b|c"; val fields_100 = String.fields fieldsFun "b||"; val fields_101 = String.fields fieldsFun "b||c"; val fields_110 = String.fields fieldsFun "b|c|"; val fields_111 = String.fields fieldsFun "b|c|d"; val fields_222 = String.fields fieldsFun "bc|de|fg"; (********************) val isPrefix_0_0 = String.isPrefix "" ""; val isPrefix_1_0 = String.isPrefix "a" ""; val isPrefix_0_1 = String.isPrefix "" "b"; val isPrefix_1_1t = String.isPrefix "b" "b"; val isPrefix_1_1f = String.isPrefix "a" "b"; val isPrefix_1_2t = String.isPrefix "b" "bc"; val isPrefix_1_2f = String.isPrefix "a" "bc"; val isPrefix_2_2t = String.isPrefix "bc" "bc"; val isPrefix_2_2f = String.isPrefix "bd" "bc"; val isPrefix_2_3t = String.isPrefix "bc" "bcd"; val isPrefix_2_3f = String.isPrefix "bd" "bcd"; val isPrefix_3_3t = String.isPrefix "bcd" "bcd"; val isPrefix_3_3f = String.isPrefix "ccd" "bcd"; (********************) val isSuffix_0_0 = String.isSuffix "" ""; val isSuffix_1_0 = String.isSuffix "a" ""; val isSuffix_0_1 = String.isSuffix "" "b"; val isSuffix_1_1t = String.isSuffix "b" "b"; val isSuffix_1_1f = String.isSuffix "a" "b"; val isSuffix_1_2t = String.isSuffix "c" "bc"; val isSuffix_1_2f = String.isSuffix "a" "bc"; val isSuffix_2_2t = String.isSuffix "bc" "bc"; val isSuffix_2_2f = String.isSuffix "bd" "bc"; val isSuffix_2_3t = String.isSuffix "cd" "bcd"; val isSuffix_2_3f = String.isSuffix "bd" "bcd"; val isSuffix_3_3t = String.isSuffix "bcd" "bcd"; val isSuffix_3_3f = String.isSuffix "ccd" "bcd"; (********************) val isSubstring_0_0 = String.isSubstring "" ""; val isSubstring_1_0 = String.isSubstring "a" ""; val isSubstring_0_1 = String.isSubstring "" "b"; val isSubstring_1_1t = String.isSubstring "b" "b"; val isSubstring_1_1f = String.isSubstring "a" "b"; val isSubstring_1_2t1 = String.isSubstring "c" "bc"; val isSubstring_1_2t2 = String.isSubstring "b" "bc"; val isSubstring_1_2f = String.isSubstring "a" "bc"; val isSubstring_2_2t = String.isSubstring "bc" "bc"; val isSubstring_2_2f = String.isSubstring "bd" "bc"; val isSubstring_2_3t1 = String.isSubstring "bc" "bcd"; val isSubstring_2_3t2 = String.isSubstring "cd" "bcd"; val isSubstring_2_3f = String.isSubstring "bd" "bcd"; val isSubstring_3_3t = String.isSubstring "bcd" "bcd"; val isSubstring_3_3f = String.isSubstring "ccd" "bcd"; (********************) val compare_0_0 = String.compare ("", ""); val compare_0_1 = String.compare ("", "y"); val compare_1_0 = String.compare ("b", ""); val compare_1_1_lt = String.compare ("b", "y"); val compare_1_1_eq = String.compare ("b", "b"); val compare_1_1_gt = String.compare ("y", "b"); val compare_1_2_lt = String.compare ("b", "yz"); val compare_1_2_gt = String.compare ("y", "yc"); val compare_2_1_lt = String.compare ("bc", "y"); val compare_2_1_gt = String.compare ("bz", "b"); val compare_2_2_lt = String.compare ("bc", "yz"); val compare_2_2_eq = String.compare ("bc", "bc"); val compare_2_2_gt = String.compare ("yz", "bc"); (********************) (* reverse of Char.collate *) fun collateFun (left, right : char) = if left < right then General.GREATER else if left = right then General.EQUAL else General.LESS; val collate_0_0 = String.collate collateFun ("", ""); val collate_0_1 = String.collate collateFun ("", "y"); val collate_1_0 = String.collate collateFun ("b", ""); val collate_1_1_lt = String.collate collateFun ("b", "y"); val collate_1_1_eq = String.collate collateFun ("b", "b"); val collate_1_1_gt = String.collate collateFun ("y", "b"); val collate_1_2_lt = String.collate collateFun ("b", "yz"); val collate_1_2_gt = String.collate collateFun ("y", "yc"); val collate_2_1_lt = String.collate collateFun ("bc", "y"); val collate_2_1_gt = String.collate collateFun ("bz", "b"); val collate_2_2_lt = String.collate collateFun ("bc", "yz"); val collate_2_2_eq = String.collate collateFun ("bc", "bc"); val collate_2_2_gt = String.collate collateFun ("yz", "bc"); (* ToDo : toString, scan, fromString, toCString, fromCString *)smlsharp-1.2.0/test/tests/basis/tests/StringCvt001.sml0000644 000000000000000000000746312050661606022762 0ustar00rootroot0000000 0000000 (* test cases for StringCvt. *) val reader = fn [] => NONE | (head :: tail) => SOME(head, tail); val padLeft0 = StringCvt.padLeft #"a" 0 "xx"; val padLeft1 = StringCvt.padLeft #"a" 1 "xx"; val padLeft2 = StringCvt.padLeft #"a" 2 "xx"; val padLeft3 = StringCvt.padLeft #"a" 3 "xx"; val padLeft4 = StringCvt.padLeft #"a" 4 "xx"; val padRight0 = StringCvt.padRight #"a" 0 "xx"; val padRight1 = StringCvt.padRight #"a" 1 "xx"; val padRight2 = StringCvt.padRight #"a" 2 "xx"; val padRight3 = StringCvt.padRight #"a" 3 "xx"; val padRight4 = StringCvt.padRight #"a" 4 "xx"; fun splitlFun c = c = #"a" orelse c = #"b" orelse c = #"c"; val splitl0 = StringCvt.splitl splitlFun reader []; val splitl10 = StringCvt.splitl splitlFun reader [#"x"]; val splitl11 = StringCvt.splitl splitlFun reader [#"a"]; val splitl200 = StringCvt.splitl splitlFun reader [#"x", #"y"]; val splitl201 = StringCvt.splitl splitlFun reader [#"x", #"a"]; val splitl210 = StringCvt.splitl splitlFun reader [#"a", #"y"]; val splitl211 = StringCvt.splitl splitlFun reader [#"a", #"b"]; val splitl3000 = StringCvt.splitl splitlFun reader [#"x", #"y", #"z"]; val splitl3001 = StringCvt.splitl splitlFun reader [#"x", #"y", #"a"]; val splitl3010 = StringCvt.splitl splitlFun reader [#"x", #"a", #"z"]; val splitl3100 = StringCvt.splitl splitlFun reader [#"a", #"y", #"z"]; val splitl3110 = StringCvt.splitl splitlFun reader [#"a", #"b", #"z"]; val splitl3111 = StringCvt.splitl splitlFun reader [#"a", #"b", #"c"]; fun takelFun c = c = #"a" orelse c = #"b" orelse c = #"c"; val takel0 = StringCvt.takel takelFun reader []; val takel10 = StringCvt.takel takelFun reader [#"x"]; val takel11 = StringCvt.takel takelFun reader [#"a"]; val takel200 = StringCvt.takel takelFun reader [#"x", #"y"]; val takel201 = StringCvt.takel takelFun reader [#"x", #"a"]; val takel210 = StringCvt.takel takelFun reader [#"a", #"y"]; val takel211 = StringCvt.takel takelFun reader [#"a", #"b"]; val takel3000 = StringCvt.takel takelFun reader [#"x", #"y", #"z"]; val takel3001 = StringCvt.takel takelFun reader [#"x", #"y", #"a"]; val takel3010 = StringCvt.takel takelFun reader [#"x", #"a", #"z"]; val takel3100 = StringCvt.takel takelFun reader [#"a", #"y", #"z"]; val takel3110 = StringCvt.takel takelFun reader [#"a", #"b", #"z"]; val takel3111 = StringCvt.takel takelFun reader [#"a", #"b", #"c"]; fun droplFun c = c = #"a" orelse c = #"b" orelse c = #"c"; val dropl0 = StringCvt.dropl droplFun reader []; val dropl10 = StringCvt.dropl droplFun reader [#"x"]; val dropl11 = StringCvt.dropl droplFun reader [#"a"]; val dropl200 = StringCvt.dropl droplFun reader [#"x", #"y"]; val dropl201 = StringCvt.dropl droplFun reader [#"x", #"a"]; val dropl210 = StringCvt.dropl droplFun reader [#"a", #"y"]; val dropl211 = StringCvt.dropl droplFun reader [#"a", #"b"]; val dropl3000 = StringCvt.dropl droplFun reader [#"x", #"y", #"z"]; val dropl3001 = StringCvt.dropl droplFun reader [#"x", #"y", #"a"]; val dropl3010 = StringCvt.dropl droplFun reader [#"x", #"a", #"z"]; val dropl3100 = StringCvt.dropl droplFun reader [#"a", #"y", #"z"]; val dropl3110 = StringCvt.dropl droplFun reader [#"a", #"b", #"z"]; val dropl3111 = StringCvt.dropl droplFun reader [#"a", #"b", #"c"]; (* whitespace characters are space (032), newline(010), tab(009), carriage return(013), vertical tab(011), formfeed(012) *) val skipWS0 = StringCvt.skipWS reader []; val skipWS1 = StringCvt.skipWS reader [#"a"]; val skipWS2 = StringCvt.skipWS reader [#"\032", #"\010", #"\009", #"\013", #"\011", #"\012", #"a"]; val scanStringFun = fn reader => fn stream => case reader stream of NONE => NONE | SOME(ch, newStream) => SOME((ch, ch), newStream) val scanString0 = StringCvt.scanString scanStringFun ""; val scanString1 = StringCvt.scanString scanStringFun "a"; val scanString2 = StringCvt.scanString scanStringFun "ab"; smlsharp-1.2.0/test/tests/basis/tests/Substring001.sml0000644 000000000000000000007447312050661606023024 0ustar00rootroot0000000 0000000 (* test cases for Substring structure. *) val ss_0 = Substring.extract ("abc", 1, SOME 0) val ss_1 = Substring.extract ("abc", 1, SOME 1) val ss_2 = Substring.extract ("abcd", 1, SOME 2) fun checkSS substring = SOME(Substring.base substring, Substring.string substring); fun check2SS (left, right) = SOME ( Substring.base left, Substring.string left, Substring.base right, Substring.string right ); fun checkSSs substrings = map (fn substring => (Substring.base substring, Substring.string substring)) substrings; (********************) (* safe cases *) val extract_0_0_N = checkSS(Substring.extract("", 0, NONE)); val extract_0_0_0 = checkSS(Substring.extract("", 0, SOME 0)); val extract_1_0_N = checkSS(Substring.extract("a", 0, NONE)); val extract_1_0_0 = checkSS(Substring.extract("a", 0, SOME 0)); val extract_1_0_1 = checkSS(Substring.extract("a", 0, SOME 1)); val extract_1_1_N = checkSS(Substring.extract("a", 1, NONE)); val extract_1_1_0 = checkSS(Substring.extract("a", 1, SOME 0)); val extract_2_0_N = checkSS(Substring.extract("ab", 0, NONE)); val extract_2_0_0 = checkSS(Substring.extract("ab", 0, SOME 0)); val extract_2_0_1 = checkSS(Substring.extract("ab", 0, SOME 1)); val extract_2_0_2 = checkSS(Substring.extract("ab", 0, SOME 2)); val extract_2_1_N = checkSS(Substring.extract("ab", 1, NONE)); val extract_2_1_0 = checkSS(Substring.extract("ab", 1, SOME 0)); val extract_2_1_1 = checkSS(Substring.extract("ab", 1, SOME 1)); val extract_2_2_N = checkSS(Substring.extract("ab", 2, NONE)); val extract_2_2_0 = checkSS(Substring.extract("ab", 2, SOME 0)); (* error cases *) val extract_2_m1_N = checkSS(Substring.extract("ab", ~1, NONE)) handle Subscript => NONE; val extract_2_3_N = checkSS(Substring.extract("ab", 3, NONE)) handle Subscript => NONE; val extract_2_m1_0 = checkSS(Substring.extract("ab", ~1, SOME 0)) handle Subscript => NONE; val extract_2_0_m1 = checkSS(Substring.extract("ab", ~1, SOME ~1)) handle Subscript => NONE; val extract_2_1_2 = checkSS(Substring.extract("ab", 1, SOME 2)) handle Subscript => NONE; (********************) (* safe cases *) val substring_0_0_0 = checkSS(Substring.substring("", 0, 0)); val substring_1_0_0 = checkSS(Substring.substring("a", 0, 0)); val substring_1_0_1 = checkSS(Substring.substring("a", 0, 1)); val substring_1_1_0 = checkSS(Substring.substring("a", 1, 0)); val substring_2_0_0 = checkSS(Substring.substring("ab", 0, 0)); val substring_2_0_1 = checkSS(Substring.substring("ab", 0, 1)); val substring_2_0_2 = checkSS(Substring.substring("ab", 0, 2)); val substring_2_1_0 = checkSS(Substring.substring("ab", 1, 0)); val substring_2_1_1 = checkSS(Substring.substring("ab", 1, 1)); val substring_2_2_0 = checkSS(Substring.substring("ab", 2, 0)); (* error cases *) val substring_2_m1_0 = checkSS(Substring.substring("ab", ~1, 0)) handle Subscript => NONE; val substring_2_0_m1 = checkSS(Substring.substring("ab", ~1, ~1)) handle Subscript => NONE; val substring_2_1_2 = checkSS(Substring.substring("ab", 1, 2)) handle Subscript => NONE; (********************) val full_empty = checkSS(Substring.full ""); val full_1 = checkSS(Substring.full "a"); val full_2 = checkSS(Substring.full "ab"); val full_10 = checkSS(Substring.full "abcdefghij"); (********************) val isEmpty_0 = Substring.isEmpty(Substring.full ""); val isEmpty_1_0_N = Substring.isEmpty(Substring.extract("a", 0, NONE)); val isEmpty_1_0_0 = Substring.isEmpty(Substring.extract("a", 0, SOME 0)); val isEmpty_1_0_1 = Substring.isEmpty(Substring.extract("a", 0, SOME 1)); val isEmpty_1_1_N = Substring.isEmpty(Substring.extract("a", 1, NONE)); (********************) val getc_0 = Substring.getc(Substring.full ""); val getc_1_0_N = Substring.getc(Substring.extract("a", 0, NONE)); val getc_1_0_0 = Substring.getc(Substring.extract("a", 0, SOME 0)); val getc_1_0_1 = Substring.getc(Substring.extract("a", 0, SOME 1)); val getc_1_1_N = Substring.getc(Substring.extract("a", 1, NONE)); (********************) val first_0 = Substring.first(Substring.full ""); val first_1_0_N = Substring.first(Substring.extract("a", 0, NONE)); val first_1_0_0 = Substring.first(Substring.extract("a", 0, SOME 0)); val first_1_0_1 = Substring.first(Substring.extract("a", 0, SOME 1)); val first_1_1_N = Substring.first(Substring.extract("a", 1, NONE)); (********************) val triml_0_0 = checkSS(Substring.triml 0 (Substring.full "")); val triml_1_0 = checkSS(Substring.triml 1 (Substring.full ""));(* safe *) val triml_0_1 = checkSS(Substring.triml 0 (Substring.substring("abc", 1, 1))); val triml_1_1 = checkSS(Substring.triml 1 (Substring.substring("abc", 1, 1))); val triml_2_1 = checkSS(Substring.triml 2 (Substring.substring("abc", 1, 1))); val triml_0_2 = checkSS(Substring.triml 0 (Substring.substring("abcd", 1, 2))); val triml_1_2 = checkSS(Substring.triml 1 (Substring.substring("abcd", 1, 2))); val triml_2_2 = checkSS(Substring.triml 2 (Substring.substring("abcd", 1, 2))); val triml_3_2 = checkSS(Substring.triml 3 (Substring.substring("abcd", 1, 2))); (* error case *) val triml_m1 = SOME(Substring.triml ~1) handle Subscript => NONE; (********************) val trimr_0_0 = checkSS(Substring.trimr 0 (Substring.full "")); val trimr_1_0 = checkSS(Substring.trimr 1 (Substring.full ""));(* safe *) val trimr_0_1 = checkSS(Substring.trimr 0 (Substring.substring("abc", 1, 1))); val trimr_1_1 = checkSS(Substring.trimr 1 (Substring.substring("abc", 1, 1))); val trimr_2_1 = checkSS(Substring.trimr 2 (Substring.substring("abc", 1, 1))); val trimr_0_2 = checkSS(Substring.trimr 0 (Substring.substring("abcd", 1, 2))); val trimr_1_2 = checkSS(Substring.trimr 1 (Substring.substring("abcd", 1, 2))); val trimr_2_2 = checkSS(Substring.trimr 2 (Substring.substring("abcd", 1, 2))); val trimr_3_2 = checkSS(Substring.trimr 3 (Substring.substring("abcd", 1, 2))); (* error case *) val trimr_m1 = SOME(Substring.trimr ~1) handle Subscript => NONE; (********************) (* safe cases *) val slice_0_0_N = checkSS(Substring.slice(ss_0, 0, NONE)); val slice_0_0_0 = checkSS(Substring.slice(ss_0, 0, SOME 0)); val slice_1_0_N = checkSS(Substring.slice(ss_1, 0, NONE)); val slice_1_0_0 = checkSS(Substring.slice(ss_1, 0, SOME 0)); val slice_1_0_1 = checkSS(Substring.slice(ss_1, 0, SOME 1)); val slice_1_1_N = checkSS(Substring.slice(ss_1, 1, NONE)); val slice_1_1_0 = checkSS(Substring.slice(ss_1, 1, SOME 0)); val slice_2_0_N = checkSS(Substring.slice(ss_2, 0, NONE)); val slice_2_0_0 = checkSS(Substring.slice(ss_2, 0, SOME 0)); val slice_2_0_1 = checkSS(Substring.slice(ss_2, 0, SOME 1)); val slice_2_0_2 = checkSS(Substring.slice(ss_2, 0, SOME 2)); val slice_2_1_N = checkSS(Substring.slice(ss_2, 1, NONE)); val slice_2_1_0 = checkSS(Substring.slice(ss_2, 1, SOME 0)); val slice_2_1_1 = checkSS(Substring.slice(ss_2, 1, SOME 1)); val slice_2_2_N = checkSS(Substring.slice(ss_2, 2, NONE)); val slice_2_2_0 = checkSS(Substring.slice(ss_2, 2, SOME 0)); (* error cases *) val slice_2_m1_N = checkSS(Substring.slice(ss_2, ~1, NONE)) handle Subscript => NONE; val slice_2_3_N = checkSS(Substring.slice(ss_2, 3, NONE)) handle Subscript => NONE; val slice_2_m1_0 = checkSS(Substring.slice(ss_2, ~1, SOME 0)) handle Subscript => NONE; val slice_2_0_m1 = checkSS(Substring.slice(ss_2, ~1, SOME ~1)) handle Subscript => NONE; val slice_2_1_2 = checkSS(Substring.slice(ss_2, 1, SOME 2)) handle Subscript => NONE; (********************) val sub_0_0 = Substring.sub(ss_0, 0) handle Subscript => #"E"; val sub_1_m1 = Substring.sub(ss_1, ~1) handle Subscript => #"E";; val sub_1_0 = Substring.sub(ss_1, 0); val sub_1_1 = Substring.sub(ss_1, 1) handle Subscript => #"E"; val sub_2_m1 = Substring.sub(ss_2, ~1) handle Subscript => #"E";; val sub_2_0 = Substring.sub(ss_2, 0); val sub_2_1 = Substring.sub(ss_2, 1); val sub_2_2 = Substring.sub(ss_2, 2) handle Subscript => #"E"; (********************) val size_0 = Substring.size ss_0; val size_1 = Substring.size ss_1; val size_2 = Substring.size ss_2; (********************) val concat_0 = Substring.concat []; val concat_1 = Substring.concat [ss_2]; val concat_2_diff = Substring.concat [ss_2, ss_1]; val concat_2_same = Substring.concat [ss_2, ss_2]; val concat_2_02 = Substring.concat [ss_0, ss_2]; val concat_2_20 = Substring.concat [ss_2, ss_0]; val concat_3_202 = Substring.concat [ss_2, ss_0, ss_2]; val concat_3_212 = Substring.concat [ss_2, ss_1, ss_2]; (********************) val explode_0_0_0 = Substring.explode(Substring.substring("", 0, 0)); val explode_1_0_0 = Substring.explode(Substring.substring("a", 0, 0)); val explode_1_0_1 = Substring.explode(Substring.substring("a", 0, 1)); val explode_1_1_0 = Substring.explode(Substring.substring("a", 1, 0)); val explode_2_0_0 = Substring.explode(Substring.substring("ab", 0, 0)); val explode_2_0_1 = Substring.explode(Substring.substring("ab", 0, 1)); val explode_2_0_2 = Substring.explode(Substring.substring("ab", 0, 2)); val explode_2_1_0 = Substring.explode(Substring.substring("ab", 1, 0)); val explode_2_1_1 = Substring.explode(Substring.substring("ab", 1, 1)); val explode_2_2_0 = Substring.explode(Substring.substring("ab", 2, 0)); (********************) val isPrefix_0_0 = Substring.isPrefix "" ss_0; val isPrefix_1_0 = Substring.isPrefix "a" ss_0; val isPrefix_0_1 = Substring.isPrefix "" (Substring.extract("abc", 1, SOME 1)); val isPrefix_1_1t = Substring.isPrefix "b" (Substring.extract("abc", 1, SOME 1)); val isPrefix_1_1f = Substring.isPrefix "a" (Substring.extract("abc", 1, SOME 1)); val isPrefix_1_2t = Substring.isPrefix "b" (Substring.extract("abc", 1, SOME 2)); val isPrefix_1_2f = Substring.isPrefix "a" (Substring.extract("abc", 1, SOME 2)); val isPrefix_2_2t = Substring.isPrefix "bc" (Substring.extract("abc", 1, SOME 2)); val isPrefix_2_2f = Substring.isPrefix "bd" (Substring.extract("abc", 1, SOME 2)); val isPrefix_2_3t = Substring.isPrefix "bc" (Substring.extract("abcde", 1, SOME 3)); val isPrefix_2_3f = Substring.isPrefix "bd" (Substring.extract("abcde", 1, SOME 3)); val isPrefix_3_3t = Substring.isPrefix "bcd" (Substring.extract("abcde", 1, SOME 3)); val isPrefix_3_3f = Substring.isPrefix "ccd" (Substring.extract("abcde", 1, SOME 3)); (********************) val compare_0_0 = Substring.compare (Substring.extract("abc", 1, SOME 0), Substring.extract("xyz", 1, SOME 0)); val compare_0_1 = Substring.compare (Substring.extract("abc", 1, SOME 0), Substring.extract("xyz", 1, SOME 1)); val compare_1_0 = Substring.compare (Substring.extract("abc", 1, SOME 1), Substring.extract("xyz", 1, SOME 0)); val compare_1_1_lt = Substring.compare (Substring.extract("abc", 1, SOME 1), Substring.extract("xyz", 1, SOME 1)); val compare_1_1_eq = Substring.compare (Substring.extract("abc", 1, SOME 1), Substring.extract("xbz", 1, SOME 1)); val compare_1_1_gt = Substring.compare (Substring.extract("xyz", 1, SOME 1), Substring.extract("abc", 1, SOME 1)); val compare_1_2_lt = Substring.compare (Substring.extract("abc", 1, SOME 1), Substring.extract("xyz", 1, SOME 2)); val compare_1_2_gt = Substring.compare (Substring.extract("xyz", 1, SOME 1), Substring.extract("ayc", 1, SOME 2)); val compare_2_1_lt = Substring.compare (Substring.extract("abc", 1, SOME 2), Substring.extract("xyz", 1, SOME 1)); val compare_2_1_gt = Substring.compare (Substring.extract("xbz", 1, SOME 2), Substring.extract("abc", 1, SOME 1)); val compare_2_2_lt = Substring.compare (Substring.extract("abc", 1, SOME 2), Substring.extract("xyz", 1, SOME 2)); val compare_2_2_eq = Substring.compare (Substring.extract("abc", 1, SOME 2), Substring.extract("xbc", 1, SOME 2)); val compare_2_2_gt = Substring.compare (Substring.extract("xyz", 1, SOME 2), Substring.extract("abc", 1, SOME 2)); (********************) (* reverse of Char.collate *) fun collateFun (left, right : char) = if left < right then General.GREATER else if left = right then General.EQUAL else General.LESS; val collate_0_0 = Substring.collate collateFun (Substring.extract("abc", 1, SOME 0), Substring.extract("xyz", 1, SOME 0)); val collate_0_1 = Substring.collate collateFun (Substring.extract("abc", 1, SOME 0), Substring.extract("xyz", 1, SOME 1)); val collate_1_0 = Substring.collate collateFun (Substring.extract("abc", 1, SOME 1), Substring.extract("xyz", 1, SOME 0)); val collate_1_1_lt = Substring.collate collateFun (Substring.extract("abc", 1, SOME 1), Substring.extract("xyz", 1, SOME 1)); val collate_1_1_eq = Substring.collate collateFun (Substring.extract("abc", 1, SOME 1), Substring.extract("xbz", 1, SOME 1)); val collate_1_1_gt = Substring.collate collateFun (Substring.extract("xyz", 1, SOME 1), Substring.extract("abc", 1, SOME 1)); val collate_1_2_lt = Substring.collate collateFun (Substring.extract("abc", 1, SOME 1), Substring.extract("xyz", 1, SOME 2)); val collate_1_2_gt = Substring.collate collateFun (Substring.extract("xyz", 1, SOME 1), Substring.extract("ayc", 1, SOME 2)); val collate_2_1_lt = Substring.collate collateFun (Substring.extract("abc", 1, SOME 2), Substring.extract("xyz", 1, SOME 1)); val collate_2_1_gt = Substring.collate collateFun (Substring.extract("xbz", 1, SOME 2), Substring.extract("abc", 1, SOME 1)); val collate_2_2_lt = Substring.collate collateFun (Substring.extract("abc", 1, SOME 2), Substring.extract("xyz", 1, SOME 2)); val collate_2_2_eq = Substring.collate collateFun (Substring.extract("abc", 1, SOME 2), Substring.extract("xbc", 1, SOME 2)); val collate_2_2_gt = Substring.collate collateFun (Substring.extract("xyz", 1, SOME 2), Substring.extract("abc", 1, SOME 2)); (********************) fun splitFun char = char = #"A"; val splitl_0 = check2SS(Substring.splitl splitFun (Substring.full "")); val splitl_1_f = check2SS(Substring.splitl splitFun (Substring.substring ("abc", 1, 1))); val splitl_1_t = check2SS(Substring.splitl splitFun (Substring.substring ("aAc", 1, 1))); val splitl_2_f = check2SS(Substring.splitl splitFun (Substring.substring ("abcd", 1, 2))); val splitl_2_0 = check2SS(Substring.splitl splitFun (Substring.substring ("aAcd", 1, 2))); val splitl_2_1 = check2SS(Substring.splitl splitFun (Substring.substring ("aaAd", 1, 2))); val splitl_3_f = check2SS(Substring.splitl splitFun (Substring.substring ("abcde", 1, 3))); val splitl_3_0 = check2SS(Substring.splitl splitFun (Substring.substring ("aAcAe", 1, 3))); val splitl_3_1 = check2SS(Substring.splitl splitFun (Substring.substring ("abAAe", 1, 3))); val splitl_3_2 = check2SS(Substring.splitl splitFun (Substring.substring ("abcAe", 1, 3))); val splitr_0 = check2SS(Substring.splitr splitFun (Substring.full "")); val splitr_1_f = check2SS(Substring.splitr splitFun (Substring.substring ("abc", 1, 1))); val splitr_1_t = check2SS(Substring.splitr splitFun (Substring.substring ("aAc", 1, 1))); val splitr_2_f = check2SS(Substring.splitr splitFun (Substring.substring ("abcd", 1, 2))); val splitr_2_0 = check2SS(Substring.splitr splitFun (Substring.substring ("aAcd", 1, 2))); val splitr_2_1 = check2SS(Substring.splitr splitFun (Substring.substring ("aaAd", 1, 2))); val splitr_3_f = check2SS(Substring.splitr splitFun (Substring.substring ("abcde", 1, 3))); val splitr_3_0 = check2SS(Substring.splitr splitFun (Substring.substring ("aAcAe", 1, 3))); val splitr_3_1 = check2SS(Substring.splitr splitFun (Substring.substring ("abAAe", 1, 3))); val splitr_3_2 = check2SS(Substring.splitr splitFun (Substring.substring ("abcAe", 1, 3))); (********************) val splitAt_0_0 = check2SS(Substring.splitAt(Substring.full "", 0)); val splitAt_0_m1 = check2SS(Substring.splitAt(Substring.full "", ~1)) handle General.Subscript => NONE; val splitAt_0_1 = check2SS(Substring.splitAt(Substring.full "", 1)) handle General.Subscript => NONE; val splitAt_1_0 = check2SS(Substring.splitAt(Substring.substring ("abc", 1, 1), 0)); val splitAt_1_1 = check2SS(Substring.splitAt(Substring.substring ("abc", 1, 1), 1)); val splitAt_1_2 = check2SS(Substring.splitAt(Substring.substring ("abc", 1, 1), 2)) handle General.Subscript => NONE; val splitAt_1_m1 = check2SS(Substring.splitAt(Substring.substring ("abc", 1, 1), ~1)) handle General.Subscript => NONE; val splitAt_2_0 = check2SS(Substring.splitAt(Substring.substring ("abcd", 1, 2), 0)); val splitAt_2_1 = check2SS(Substring.splitAt(Substring.substring ("abcd", 1, 2), 1)); val splitAt_2_2 = check2SS(Substring.splitAt(Substring.substring ("abcd", 1, 2), 2)); val splitAt_2_3 = check2SS(Substring.splitAt(Substring.substring ("abcd", 1, 2), 3)) handle General.Subscript => NONE; val splitAt_2_m1 = check2SS(Substring.splitAt(Substring.substring ("abcd", 1, 2), ~1)) handle General.Subscript => NONE; val splitAt_3_0 = check2SS(Substring.splitAt(Substring.substring ("abcde", 1, 3), 0)); val splitAt_3_1 = check2SS(Substring.splitAt(Substring.substring ("abcde", 1, 3), 1)); val splitAt_3_2 = check2SS(Substring.splitAt(Substring.substring ("abcde", 1, 3), 2)); val splitAt_3_3 = check2SS(Substring.splitAt(Substring.substring ("abcde", 1, 3), 3)); val splitAt_3_4 = check2SS(Substring.splitAt(Substring.substring ("abcde", 1, 3), 4)) handle General.Subscript => NONE; val splitAt_3_m1 = check2SS(Substring.splitAt(Substring.substring ("abcde", 1, 3), ~1)) handle General.Subscript => NONE; (********************) val dropFun = splitFun; val dropl_0 = checkSS(Substring.dropl dropFun (Substring.full "")); val dropl_1_f = checkSS(Substring.dropl dropFun (Substring.substring ("abc", 1, 1))); val dropl_1_t = checkSS(Substring.dropl dropFun (Substring.substring ("aAc", 1, 1))); val dropl_2_f = checkSS(Substring.dropl dropFun (Substring.substring ("abcd", 1, 2))); val dropl_2_0 = checkSS(Substring.dropl dropFun (Substring.substring ("aAcd", 1, 2))); val dropl_2_1 = checkSS(Substring.dropl dropFun (Substring.substring ("aaAd", 1, 2))); val dropl_3_f = checkSS(Substring.dropl dropFun (Substring.substring ("abcde", 1, 3))); val dropl_3_0 = checkSS(Substring.dropl dropFun (Substring.substring ("aAcAe", 1, 3))); val dropl_3_1 = checkSS(Substring.dropl dropFun (Substring.substring ("abAAe", 1, 3))); val dropl_3_2 = checkSS(Substring.dropl dropFun (Substring.substring ("abcAe", 1, 3))); val dropr_0 = checkSS(Substring.dropr dropFun (Substring.full "")); val dropr_1_f = checkSS(Substring.dropr dropFun (Substring.substring ("abc", 1, 1))); val dropr_1_t = checkSS(Substring.dropr dropFun (Substring.substring ("aAc", 1, 1))); val dropr_2_f = checkSS(Substring.dropr dropFun (Substring.substring ("abcd", 1, 2))); val dropr_2_0 = checkSS(Substring.dropr dropFun (Substring.substring ("aAcd", 1, 2))); val dropr_2_1 = checkSS(Substring.dropr dropFun (Substring.substring ("aaAd", 1, 2))); val dropr_3_f = checkSS(Substring.dropr dropFun (Substring.substring ("abcde", 1, 3))); val dropr_3_0 = checkSS(Substring.dropr dropFun (Substring.substring ("aAcAe", 1, 3))); val dropr_3_1 = checkSS(Substring.dropr dropFun (Substring.substring ("abAAe", 1, 3))); val dropr_3_2 = checkSS(Substring.dropr dropFun (Substring.substring ("abcAe", 1, 3))); (********************) val takeFun = splitFun; val takel_0 = checkSS(Substring.takel takeFun (Substring.full "")); val takel_1_f = checkSS(Substring.takel takeFun (Substring.substring ("abc", 1, 1))); val takel_1_t = checkSS(Substring.takel takeFun (Substring.substring ("aAc", 1, 1))); val takel_2_f = checkSS(Substring.takel takeFun (Substring.substring ("abcd", 1, 2))); val takel_2_0 = checkSS(Substring.takel takeFun (Substring.substring ("aAcd", 1, 2))); val takel_2_1 = checkSS(Substring.takel takeFun (Substring.substring ("aaAd", 1, 2))); val takel_3_f = checkSS(Substring.takel takeFun (Substring.substring ("abcde", 1, 3))); val takel_3_0 = checkSS(Substring.takel takeFun (Substring.substring ("aAcAe", 1, 3))); val takel_3_1 = checkSS(Substring.takel takeFun (Substring.substring ("abAAe", 1, 3))); val takel_3_2 = checkSS(Substring.takel takeFun (Substring.substring ("abcAe", 1, 3))); val taker_0 = checkSS(Substring.taker takeFun (Substring.full "")); val taker_1_f = checkSS(Substring.taker takeFun (Substring.substring ("abc", 1, 1))); val taker_1_t = checkSS(Substring.taker takeFun (Substring.substring ("aAc", 1, 1))); val taker_2_f = checkSS(Substring.taker takeFun (Substring.substring ("abcd", 1, 2))); val taker_2_0 = checkSS(Substring.taker takeFun (Substring.substring ("aAcd", 1, 2))); val taker_2_1 = checkSS(Substring.taker takeFun (Substring.substring ("aaAd", 1, 2))); val taker_3_f = checkSS(Substring.taker takeFun (Substring.substring ("abcde", 1, 3))); val taker_3_0 = checkSS(Substring.taker takeFun (Substring.substring ("aAcAe", 1, 3))); val taker_3_1 = checkSS(Substring.taker takeFun (Substring.substring ("abAAe", 1, 3))); val taker_3_2 = checkSS(Substring.taker takeFun (Substring.substring ("abcAe", 1, 3))); (********************) val position_0_0 = check2SS(Substring.position "" ss_0); val position_0_1 = check2SS(Substring.position "" (Substring.substring ("abc", 1, 1))); val position_1_1_m1 = check2SS(Substring.position "a" (Substring.substring ("abc", 1, 1))); val position_1_1_1 = check2SS(Substring.position "c" (Substring.substring ("abc", 1, 1))); val position_1_1_0t = check2SS(Substring.position "b" (Substring.substring ("abc", 1, 1))); val position_1_2_m1 = check2SS(Substring.position "a" (Substring.substring ("abcd", 1, 2))); val position_1_2_0 = check2SS(Substring.position "b" (Substring.substring ("abcd", 1, 2))); val position_1_2_1 = check2SS(Substring.position "c" (Substring.substring ("abcd", 1, 2))); val position_1_2_2 = check2SS(Substring.position "d" (Substring.substring ("abcd", 1, 2))); val position_2_1_f1 = check2SS(Substring.position "ab" (Substring.substring ("abc", 1, 1))); val position_2_1_f2 = check2SS(Substring.position "bc" (Substring.substring ("abc", 1, 1))); val position_2_2_m1 = check2SS(Substring.position "ab" (Substring.substring ("abcd", 1, 2))); val position_2_2_0 = check2SS(Substring.position "bc" (Substring.substring ("abcd", 1, 2))); val position_2_2_1 = check2SS(Substring.position "cd" (Substring.substring ("abcd", 1, 2))); val position_2_2_2 = check2SS(Substring.position "de" (Substring.substring ("abcd", 1, 2))); val position_2_3_m1 = check2SS(Substring.position "ab" (Substring.substring ("abcdef", 1, 3))); val position_2_3_0 = check2SS(Substring.position "bc" (Substring.substring ("abcdef", 1, 3))); val position_2_3_1 = check2SS(Substring.position "cd" (Substring.substring ("abcdef", 1, 3))); val position_2_3_2 = check2SS(Substring.position "de" (Substring.substring ("abcdef", 1, 3))); val position_2_3_3 = check2SS(Substring.position "ef" (Substring.substring ("abcdef", 1, 3))); (* the 'position' must search the longest suffix. *) val position_longest = check2SS(Substring.position "bc" (Substring.substring ("abcdbcf", 1, 5))); (********************) fun makeSpanSS string (leftStart, leftLength) (rightStart, rightLength) = let val left = Substring.substring (string, leftStart, leftLength) val right = Substring.substring (string, rightStart, rightLength) in checkSS (Substring.span (left, right)) end; (* (ls, le): the start index and the end index of left substring. (rs, re): the start index and the end index of right substring. There are 6 cases in the relation between the ls and the right substring. (A) ls < rs, (B) ls = rs, (C) rs < ls < re, (D) ls = re, (E) re < ls And, same relations between the le and the right substring. Some combinations are not considered because they are impossible. *) val span_0_0_A_A = makeSpanSS "abcde" (1, 0) (3, 0); val span_1_1_A_A = makeSpanSS "abcde" (1, 1) (3, 1); val span_1_1_B_B = makeSpanSS "abcde" (1, 1) (1, 1); val span_1_1_E_E = makeSpanSS "abcde" (3, 1) (1, 1) handle General.Span => NONE; val span_1_2_A_A = makeSpanSS "abcde" (1, 1) (3, 2); val span_1_2_B_B = makeSpanSS "abcde" (1, 1) (1, 2); val span_1_2_D_D = makeSpanSS "abcde" (2, 1) (1, 2); val span_1_2_E_E = makeSpanSS "abcde" (3, 1) (1, 2) handle General.Span => NONE; val span_2_1_A_A = makeSpanSS "abcde" (1, 2) (3, 1); val span_2_1_A_B = makeSpanSS "abcde" (1, 2) (2, 1); val span_2_1_B_E = makeSpanSS "abcde" (1, 2) (1, 1); val span_2_1_E_E = makeSpanSS "abcde" (2, 2) (1, 1) handle General.Span => NONE; val span_2_2_A_A = makeSpanSS "abcdef" (1, 2) (3, 2); val span_2_2_A_B = makeSpanSS "abcdef" (1, 2) (2, 2); val span_2_2_B_D = makeSpanSS "abcdef" (1, 2) (1, 2); val span_2_2_D_E = makeSpanSS "abcdef" (2, 2) (1, 2); val span_2_2_E_E = makeSpanSS "abcdef" (3, 2) (1, 2) handle General.Span => NONE; val span_3_1_A_A = makeSpanSS "abcdef" (1, 3) (4, 1); val span_3_1_A_B = makeSpanSS "abcdef" (1, 3) (3, 1); val span_3_1_A_E = makeSpanSS "abcdef" (1, 3) (2, 1); val span_3_1_B_E = makeSpanSS "abcdef" (1, 3) (1, 1); val span_3_1_E_E = makeSpanSS "abcdef" (2, 3) (1, 1) handle General.Span => NONE; val span_3_2_A_A = makeSpanSS "abcdefg" (1, 3) (4, 2); val span_3_2_A_B = makeSpanSS "abcdefg" (1, 3) (3, 2); val span_3_2_A_D = makeSpanSS "abcdefg" (1, 3) (2, 2); val span_3_2_B_E = makeSpanSS "abcdefg" (1, 3) (1, 2); val span_3_2_D_E = makeSpanSS "abcdefg" (2, 3) (1, 2); val span_3_2_E_E = makeSpanSS "abcdefg" (2, 3) (1, 2) handle General.Span => NONE; val span_3_3_A_A = makeSpanSS "abcdefgh" (1, 3) (4, 3); val span_3_3_A_B = makeSpanSS "abcdefgh" (1, 3) (3, 3); val span_3_3_A_C = makeSpanSS "abcdefgh" (1, 3) (2, 3); val span_3_3_B_D = makeSpanSS "abcdefgh" (1, 3) (1, 3); val span_3_3_C_E = makeSpanSS "abcdefgh" (2, 3) (1, 3); val span_3_3_D_E = makeSpanSS "abcdefgh" (3, 3) (1, 3); val span_3_3_E_E = makeSpanSS "abcdefgh" (4, 3) (1, 3) handle General.Span => NONE;; val span_2_3_A_A = makeSpanSS "abcdefg" (1, 2) (3, 3); val span_2_3_A_B = makeSpanSS "abcdefg" (1, 2) (2, 3); val span_2_3_B_C = makeSpanSS "abcdefg" (1, 2) (1, 3); val span_2_3_C_D = makeSpanSS "abcdefg" (2, 2) (1, 3); val span_2_3_D_E = makeSpanSS "abcdefg" (3, 2) (1, 3); val span_2_3_E_E = makeSpanSS "abcdefg" (4, 2) (1, 3) handle General.Span => NONE;; (* le + 1 < rs *) val span_3_3_A_A_2 = makeSpanSS "abcdefghi" (1, 3) (5, 3); (********************) fun translateFun ch = let val string = implode [ch, ch] in print string; string end; val translate0 = Substring.translate translateFun (Substring.substring ("abc", 1, 0)); val translate1 = Substring.translate translateFun (Substring.substring ("abc", 1, 1)); val translate2 = Substring.translate translateFun (Substring.substring ("abcd", 1, 2)); (********************) fun tokensFun ch = ch = #"|"; val tokens_empty = checkSSs(Substring.tokens tokensFun (Substring.substring ("abc", 1, 0))); val tokens_00 = checkSSs(Substring.tokens tokensFun (Substring.substring ("a|b", 1, 1))); val tokens_01 = checkSSs(Substring.tokens tokensFun (Substring.substring ("a|bc", 1, 2))); val tokens_10 = checkSSs(Substring.tokens tokensFun (Substring.substring ("ab|c", 1, 2))); val tokens_11 = checkSSs(Substring.tokens tokensFun (Substring.substring ("ab|cd", 1, 3))); val tokens_000 = checkSSs(Substring.tokens tokensFun (Substring.substring ("a||b", 1, 2))); val tokens_001 = checkSSs(Substring.tokens tokensFun (Substring.substring ("a||bc", 1, 3))); val tokens_010 = checkSSs(Substring.tokens tokensFun (Substring.substring ("a|b|c", 1, 3))); val tokens_011 = checkSSs (Substring.tokens tokensFun (Substring.substring ("a|b|cd", 1, 4))); val tokens_100 = checkSSs (Substring.tokens tokensFun (Substring.substring ("ab||c", 1, 3))); val tokens_101 = checkSSs (Substring.tokens tokensFun (Substring.substring ("ab||cd", 1, 4))); val tokens_110 = checkSSs (Substring.tokens tokensFun (Substring.substring ("ab|c|d", 1, 4))); val tokens_111 = checkSSs (Substring.tokens tokensFun (Substring.substring ("ab|c|de", 1, 5))); val tokens_222 = checkSSs (Substring.tokens tokensFun (Substring.substring ("abc|de|fgh", 1, 8))); (********************) fun fieldsFun ch = ch = #"|"; val fields_empty = checkSSs(Substring.fields fieldsFun (Substring.substring ("abc", 1, 0))); val fields_00 = checkSSs(Substring.fields fieldsFun (Substring.substring ("a|b", 1, 1))); val fields_01 = checkSSs(Substring.fields fieldsFun (Substring.substring ("a|bc", 1, 2))); val fields_10 = checkSSs(Substring.fields fieldsFun (Substring.substring ("ab|c", 1, 2))); val fields_11 = checkSSs(Substring.fields fieldsFun (Substring.substring ("ab|cd", 1, 3))); val fields_000 = checkSSs(Substring.fields fieldsFun (Substring.substring ("a||b", 1, 2))); val fields_001 = checkSSs(Substring.fields fieldsFun (Substring.substring ("a||bc", 1, 3))); val fields_010 = checkSSs(Substring.fields fieldsFun (Substring.substring ("a|b|c", 1, 3))); val fields_011 = checkSSs (Substring.fields fieldsFun (Substring.substring ("a|b|cd", 1, 4))); val fields_100 = checkSSs (Substring.fields fieldsFun (Substring.substring ("ab||c", 1, 3))); val fields_101 = checkSSs (Substring.fields fieldsFun (Substring.substring ("ab||cd", 1, 4))); val fields_110 = checkSSs (Substring.fields fieldsFun (Substring.substring ("ab|c|d", 1, 4))); val fields_111 = checkSSs (Substring.fields fieldsFun (Substring.substring ("ab|c|de", 1, 5))); val fields_222 = checkSSs (Substring.fields fieldsFun (Substring.substring ("abc|de|fgh", 1, 8))); (********************) fun foldlFun (ch, accum) = (print (implode [ch]); ch :: accum); val foldl_0 = Substring.foldl foldlFun [] (Substring.substring("abc", 1, 0)); val foldl_1 = Substring.foldl foldlFun [] (Substring.substring("abc", 1, 1)); val foldl_2 = Substring.foldl foldlFun [] (Substring.substring("abcd", 1, 2)); val foldl_3 = Substring.foldl foldlFun [] (Substring.substring("abcde", 1, 3)); (********************) fun foldrFun (ch, accum) = (print (implode [ch]); ch :: accum); val foldr_0 = Substring.foldr foldrFun [] (Substring.substring("abc", 1, 0)); val foldr_1 = Substring.foldr foldrFun [] (Substring.substring("abc", 1, 1)); val foldr_2 = Substring.foldr foldrFun [] (Substring.substring("abcd", 1, 2)); val foldr_3 = Substring.foldr foldrFun [] (Substring.substring("abcde", 1, 3)); (********************) fun appFun ch = let val string = implode [ch, ch] in print string end; val app0 = Substring.app appFun (Substring.substring ("abc", 1, 0)); val app1 = Substring.app appFun (Substring.substring ("abc", 1, 1)); val app2 = Substring.app appFun (Substring.substring ("abcd", 1, 2)); smlsharp-1.2.0/test/tests/basis/tests/Time001.sml0000644 000000000000000000002122612050661606021726 0ustar00rootroot0000000 0000000 fun toInt time = Time.toMicroseconds time handle Overflow => 999; val fromReal_0 = toInt(Time.fromReal 0.0); val fromReal_p = toInt(Time.fromReal 12.34); val fromReal_m = toInt(Time.fromReal ~12.34) handle Time.Time => 999; val toReal_0 = Time.toReal (Time.fromReal 0.0); val toReal_p = Time.toReal (Time.fromReal 12.34); val toReal_m = Time.toReal (Time.fromReal ~12.34) handle Time.Time => 9.99; val fromSeconds_0 = toInt(Time.fromSeconds 0); val fromSeconds_p = toInt(Time.fromSeconds 123); val fromSeconds_m = toInt(Time.fromSeconds ~123) handle Time.Time => 999; val toSeconds_0 = Time.toSeconds(Time.fromSeconds 0); val toSeconds_p = Time.toSeconds(Time.fromSeconds 123); val toSeconds_m = Time.toSeconds(Time.fromSeconds ~123) handle Time.Time => 999; val fromMilliseconds_0 = toInt(Time.fromMilliseconds 0); val fromMilliseconds_p1 = toInt(Time.fromMilliseconds 123); val fromMilliseconds_p2 = toInt(Time.fromMilliseconds 123456); val fromMilliseconds_p3 = toInt(Time.fromMilliseconds 123456789); (* val fromMilliseconds_m1 = toInt(Time.fromMilliseconds ~123) handle Time.Time => 999; val fromMilliseconds_m2 = toInt(Time.fromMilliseconds ~123456) handle Time.Time => 999; val fromMilliseconds_m3 = toInt(Time.fromMilliseconds ~123456789) handle Time.Time => 999; *) val toMicroseconds_0 = Time.toMicroseconds(Time.fromMicroseconds 0); val toMicroseconds_p1 = Time.toMicroseconds(Time.fromMicroseconds 123); val toMicroseconds_p2 = Time.toMicroseconds(Time.fromMicroseconds 123456); val toMicroseconds_p3 = Time.toMicroseconds(Time.fromMicroseconds 123456789); (* val toMicroseconds_m1 = Time.toMicroseconds(Time.fromMicroseconds ~123) handle Time.Time => 999; val toMicroseconds_m2 = Time.toMicroseconds(Time.fromMicroseconds ~123456) handle Time.Time => 999; val toMicroseconds_m3 = Time.toMicroseconds(Time.fromMicroseconds ~123456789) handle Time.Time => 999; *) val fromMicroseconds_0 = toInt(Time.fromMicroseconds 0); val fromMicroseconds_p1 = toInt(Time.fromMicroseconds 123); val fromMicroseconds_p2 = toInt(Time.fromMicroseconds 123456); val fromMicroseconds_p3 = toInt(Time.fromMicroseconds 123456789); (* val fromMicroseconds_m1 = toInt(Time.fromMicroseconds ~123) handle Time.Time => 999; val fromMicroseconds_m2 = toInt(Time.fromMicroseconds ~123456) handle Time.Time => 999; val fromMicroseconds_m3 = toInt(Time.fromMicroseconds ~123456789) handle Time.Time => 999; *) val toMicroseconds_0 = Time.toMicroseconds(Time.fromMicroseconds 0); val toMicroseconds_p1 = Time.toMicroseconds(Time.fromMicroseconds 123); val toMicroseconds_p2 = Time.toMicroseconds(Time.fromMicroseconds 123456); val toMicroseconds_p3 = Time.toMicroseconds(Time.fromMicroseconds 123456789); (* val toMicroseconds_m1 = Time.toMicroseconds(Time.fromMicroseconds ~123) handle Time.Time => 999; val toMicroseconds_m2 = Time.toMicroseconds(Time.fromMicroseconds ~123456) handle Time.Time => 999; val toMicroseconds_m3 = Time.toMicroseconds(Time.fromMicroseconds ~123456789) handle Time.Time => 999; *) (* val fromNanoseconds_0 = toInt(Time.fromNanoseconds 0); val fromNanoseconds_p1 = toInt(Time.fromNanoseconds 123); val fromNanoseconds_p2 = toInt(Time.fromNanoseconds 123456); val fromNanoseconds_p3 = toInt(Time.fromNanoseconds 123456789); val fromNanoseconds_m1 = toInt(Time.fromNanoseconds ~123) handle Time.Time => 999; val fromNanoseconds_m2 = toInt(Time.fromNanoseconds ~123456) handle Time.Time => 999; val fromNanoseconds_m3 = toInt(Time.fromNanoseconds ~123456789) handle Time.Time => 999; val toNanoseconds_0 = Time.toNanoseconds(Time.fromNanoseconds 0); val toNanoseconds_p1 = Time.toNanoseconds(Time.fromNanoseconds 123); val toNanoseconds_p2 = Time.toNanoseconds(Time.fromNanoseconds 123456); val toNanoseconds_p3 = Time.toNanoseconds(Time.fromNanoseconds 123456789); val toNanoseconds_m1 = Time.toNanoseconds(Time.fromNanoseconds ~123) handle Time.Time => 999; val toNanoseconds_m2 = Time.toNanoseconds(Time.fromNanoseconds ~123456) handle Time.Time => 999; val toNanoseconds_m3 = Time.toNanoseconds(Time.fromNanoseconds ~123456789) handle Time.Time => 999; *) fun testBinArithOp operator (sec1, usec1, sec2, usec2) = let val t1 = Time.fromMicroseconds (sec1 * 1000000 + usec1) val t2 = Time.fromMicroseconds (sec2 * 1000000 + usec2) val t = operator (t1, t2) in Time.toMicroseconds t end handle Time.Time => 999; val testAdd = testBinArithOp Time.+; val add_00_00 = testAdd(0, 0, 0, 0); val add_11_22 = testAdd(1, 1, 2, 2); val add_NroundUp = testAdd(1, 500000, 2, 499999); (* no round up *) val add_roundUp = testAdd(1, 500000, 2, 500000); (* round up *) val testSub = testBinArithOp Time.-; val sub_00_00 = testSub(0, 0, 0, 0); val sub_11_22 = testSub(2, 2, 1, 1); val sub_NroundDown = testSub(2, 500000, 1, 499999); (* no round down *) val sub_NroundDown = testSub(2, 500000, 1, 500000); (* no round down *) val sub_roundDown = testSub(2, 499999, 1, 500000); (* round down *) fun testBinCompare comparator (sec1, usec1, sec2, usec2) = let val t1 = Time.fromMicroseconds (sec1 * 1000000 + usec1) val t2 = Time.fromMicroseconds (sec2 * 1000000 + usec2) in SOME(comparator (t1, t2)) end handle Time.Time => NONE; val testCompare = testBinCompare Time.compare; val compare_E_0 = testCompare (0, 0, 0, 0); val compare_E_p = testCompare (1, 123, 1, 123); val compare_L_0 = testCompare (0, 0, 1, 0); val compare_L_1 = testCompare (1, 0, 1, 1); val compare_G_0 = testCompare (1, 0, 0, 0); val compare_G_1 = testCompare (1, 1, 1, 0); val testLess = testBinCompare Time.<; val less_0 = testLess (0, 0, 0, 0); val less_t1 = testLess (0, 0, 1, 0); val less_t2 = testLess (0, 0, 0, 1); val less_t3 = testLess (0, 2, 1, 0); val less_f1 = testLess (1, 0, 0, 0); val less_f2 = testLess (1, 0, 0, 2); val less_f3 = testLess (1, 2, 1, 2); val testLessEq = testBinCompare Time.<=; val lessEq_0 = testLessEq (0, 0, 0, 0); val lessEq_t1 = testLessEq (0, 0, 1, 0); val lessEq_t2 = testLessEq (0, 0, 0, 1); val lessEq_t3 = testLessEq (0, 2, 1, 0); val lessEq_t4 = testLessEq (1, 2, 1, 2); val lessEq_f1 = testLessEq (1, 0, 0, 0); val lessEq_f2 = testLessEq (1, 0, 0, 2); val testGreater = testBinCompare Time.>; val greater_0 = testGreater (0, 0, 0, 0); val greater_t1 = testGreater (1, 0, 0, 0); val greater_t2 = testGreater (1, 0, 0, 2); val greater_f1 = testGreater (0, 0, 1, 0); val greater_f2 = testGreater (0, 0, 0, 1); val greater_f3 = testGreater (0, 2, 1, 0); val greater_f4 = testGreater (1, 2, 1, 2); val testGreaterEq = testBinCompare Time.>=; val greaterEq_0 = testGreaterEq (0, 0, 0, 0); val greaterEq_t1 = testGreaterEq (1, 0, 0, 0); val greaterEq_t2 = testGreaterEq (1, 0, 0, 2); val greaterEq_t3 = testGreaterEq (1, 2, 1, 2); val greaterEq_f1 = testGreaterEq (0, 0, 1, 0); val greaterEq_f2 = testGreaterEq (0, 0, 0, 1); val greaterEq_f3 = testGreaterEq (0, 2, 1, 0); val toString_0 = Time.toString Time.zeroTime; val toString_1 = Time.toString (Time.fromSeconds 123456789); fun testFromString arg = Option.map Time.toMicroseconds (Time.fromString arg); val fromString_0 = testFromString "0"; val fromString_n_1_0 = testFromString "1";(* no sign, 1 number, no fraction *) val fromString_n_1_1 = testFromString "1.2"; val fromString_n_3_3 = testFromString "123.321"; val fromString_n_0_1 = testFromString ".1"; val fromString_n_0_3 = testFromString ".321"; val fromString_p_3_3 = testFromString "+123.321"; val fromString_t_3_3 = testFromString "~123.321"; val fromString_m_3_3 = testFromString "-123.321"; val fmt_0_n = Time.fmt 0 (Time.fromMicroseconds 123456789); val fmt_0_d = Time.fmt 0 (Time.fromMicroseconds 444444444); val fmt_0_u = Time.fmt 0 (Time.fromMicroseconds 555555555); val fmt_1_n = Time.fmt 1 (Time.fromMicroseconds 123456789); val fmt_1_d = Time.fmt 1 (Time.fromMicroseconds 444444444); val fmt_1_u = Time.fmt 1 (Time.fromMicroseconds 555555555); val fmt_2_n = Time.fmt 2 (Time.fromMicroseconds 123456789); val fmt_2_d = Time.fmt 2 (Time.fromMicroseconds 444444444); val fmt_2_u = Time.fmt 2 (Time.fromMicroseconds 555555555); val fmt_3_n = Time.fmt 3 (Time.fromMicroseconds 123456789); val fmt_3_d = Time.fmt 3 (Time.fromMicroseconds 444444444); val fmt_3_u = Time.fmt 3 (Time.fromMicroseconds 555555555); val fmt_4_n = Time.fmt 4 (Time.fromMicroseconds 123456789); val fmt_4_d = Time.fmt 4 (Time.fromMicroseconds 444444444); val fmt_4_u = Time.fmt 4 (Time.fromMicroseconds 555555555); val fmt_5_n = Time.fmt 5 (Time.fromMicroseconds 123456789); val fmt_5_d = Time.fmt 5 (Time.fromMicroseconds 444444444); val fmt_5_u = Time.fmt 5 (Time.fromMicroseconds 555555555); val fmt_6_n = Time.fmt 6 (Time.fromMicroseconds 123456789); val fmt_6_d = Time.fmt 6 (Time.fromMicroseconds 444444444); val fmt_6_u = Time.fmt 6 (Time.fromMicroseconds 555555555); smlsharp-1.2.0/test/tests/basis/tests/Vector001.sml0000644 000000000000000000002035212050661606022271 0ustar00rootroot0000000 0000000 (* test cases for Vector structure. *) fun L2V list = Vector.fromList list; fun S2V string = L2V (String.explode string); fun V2L vector = let val length = Vector.length vector fun scan ~1 accum = accum | scan n accum = scan (n - 1) (Vector.sub(vector, n) :: accum) in scan (length - 1) [] end; val fromList_0i = V2L(Vector.fromList ([] : int list)); val fromList_0r = V2L(Vector.fromList ([] : real list)); val fromList_0ii = V2L(Vector.fromList ([] : (int * int) list)); val fromList_1i = V2L(Vector.fromList [1]); val fromList_1r = V2L(Vector.fromList [1.23]); val fromList_1ii = V2L(Vector.fromList [(1, 2)]); val fromList_2i = V2L(Vector.fromList [1, 2]); val fromList_2r = V2L(Vector.fromList [1.23, 2.34]); val fromList_2ii = V2L(Vector.fromList [(1, 2), (3, 4)]); val tabulateFun = fn x => x; val tabulate0 = V2L(Vector.tabulate (0, tabulateFun)); val tabulate1 = V2L(Vector.tabulate (1, tabulateFun)); val tabulate2 = V2L(Vector.tabulate (2, tabulateFun)); val tabulatem1 = V2L(Vector.tabulate (~1, tabulateFun)) handle General.Size => [999]; val length1 = Vector.length (L2V[]); val length2 = Vector.length (L2V[1]); val length3 = Vector.length (L2V[1, 2]); val sub00 = Vector.sub ((L2V[]), 0) handle General.Subscript => 1; val sub0m1 = Vector.sub ((L2V[]), ~1) handle General.Subscript => 1; val sub01 = Vector.sub ((L2V[]), 1) handle General.Subscript => 1; val sub10 = Vector.sub ((L2V[1]), 0); val sub11 = Vector.sub ((L2V[2]), 1) handle General.Subscript => 1; val sub1m1 = Vector.sub ((L2V[2]), ~1) handle General.Subscript => 1; val sub20 = Vector.sub ((L2V[1, 2]), 0); val sub21 = Vector.sub ((L2V[1, 2]), 1); val sub22 = Vector.sub ((L2V[1, 2]), 2) handle General.Subscript => 3; (********************) fun testUpdate (vector, index, newValue) = let val newVector = Vector.update(vector, index, newValue) in (V2L(vector), V2L(newVector)) end; val update00 = testUpdate ((L2V[]), 0, 9) handle General.Subscript => ([1], [1]); val update0m1 = testUpdate ((L2V[]), ~1, 9) handle General.Subscript => ([1], [1]); val update01 = testUpdate ((L2V[]), 1, 9) handle General.Subscript => ([1], [1]); val update10 = testUpdate ((L2V[1]), 0, 9); val update11 = testUpdate ((L2V[2]), 1, 9) handle General.Subscript => ([999], [999]); val update1m1 = testUpdate ((L2V[2]), ~1, 9) handle General.Subscript => ([999], [999]); val update20 = testUpdate ((L2V[1, 2]), 0, 9); val update21 = testUpdate ((L2V[1, 2]), 1, 9); val update22 = testUpdate ((L2V[1, 2]), 2, 9) handle General.Subscript => ([999], [999]); (********************) val concat0 = V2L(Vector.concat ([] : int Vector.vector List.list)); val concat10 = V2L(Vector.concat ([(L2V[])] : int Vector.vector List.list)); val concat200 = V2L(Vector.concat (([(L2V[]), (L2V[])]) : int Vector.vector List.list)); val concat11 = V2L(Vector.concat ([(L2V[1])])); val concat201 = V2L(Vector.concat ([(L2V[]), (L2V[1])])); val concat210 = V2L(Vector.concat ([(L2V[1]), (L2V[])])); val concat211 = V2L(Vector.concat ([(L2V[1]), (L2V[2])])); val concat222 = V2L(Vector.concat ([(L2V[1, 2]), (L2V[3, 4])])); val concat3303 = V2L(Vector.concat ([(L2V[1, 2, 3]), (L2V[]), (L2V[7, 8, 9])])); val concat3333 = V2L(Vector.concat ([(L2V[1, 2, 3]), (L2V[4, 5, 6]), (L2V[7, 8, 9])])); (********************) val mapiFun = fn (index, ch) => (print(Int.toString index); ch); val mapi_0 = V2L(Vector.mapi mapiFun (S2V"")); val mapi_1 = V2L(Vector.mapi mapiFun (S2V"a")); val mapi_2 = V2L(Vector.mapi mapiFun (S2V"ab")); (********************) val mapFun = fn x => (print(Int.toString x); x + 1); val map0 = V2L(Vector.map mapFun (L2V[])); val map1 = V2L(Vector.map mapFun (L2V[1])); val map2 = V2L(Vector.map mapFun (L2V[1, 2])); val map3 = V2L(Vector.map mapFun (L2V[1, 2, 3])); (********************) val appiFun = fn (index, ch) => (print(Int.toString index); print(Char.toString ch)); val appi_0 = SOME(Vector.appi appiFun (S2V"")); val appi_1 = SOME(Vector.appi appiFun (S2V"a")); val appi_2 = SOME(Vector.appi appiFun (S2V"ab")); (********************) val appFun = fn x => print x; val app0 = Vector.app appFun (L2V[]); val app1 = Vector.app appFun (L2V["a"]); val app2 = Vector.app appFun (L2V["a", "b"]); val app3 = Vector.app appFun (L2V["a", "b", "c"]); (********************) val foldliFun = fn (index, ch, accum) => (print(Int.toString index); ch :: accum); val foldli_0 = Vector.foldli foldliFun [] (S2V""); val foldli_1 = Vector.foldli foldliFun [] (S2V"a"); val foldli_2 = Vector.foldli foldliFun [] (S2V"ab"); (********************) val foldlFun = fn (x, xs) => x :: xs; val foldl0 = Vector.foldl foldlFun [] ((L2V[]) : int Vector.vector); val foldl1 = Vector.foldl foldlFun [] (L2V[1]); val foldl2 = Vector.foldl foldlFun [] (L2V[1, 2]); val foldl3 = Vector.foldl foldlFun [] (L2V[1, 2, 3]); (********************) val foldriFun = fn (index, ch, accum) => (print(Int.toString index); ch :: accum); val foldri_0 = Vector.foldri foldriFun [] (S2V""); val foldri_1 = Vector.foldri foldriFun [] (S2V"a"); val foldri_2 = Vector.foldri foldriFun [] (S2V"ab"); (********************) val foldrFun = fn (x, xs) => x :: xs; val foldr0 = Vector.foldr foldrFun [] ((L2V[]) : int Vector.vector); val foldr1 = Vector.foldr foldrFun [] (L2V[1]); val foldr2 = Vector.foldr foldrFun [] (L2V[1, 2]); val foldr3 = Vector.foldr foldrFun [] (L2V[1, 2, 3]); (********************) val findiFun = fn (index, value) => (print (Int.toString index); value = #"x"); val findi_0 = Vector.findi findiFun (L2V[]); val findi_1F = Vector.findi findiFun (L2V[#"a"]); val findi_1T = Vector.findi findiFun (L2V[#"x"]); val findi_2F = Vector.findi findiFun (L2V[#"a", #"b"]); val findi_2T1 = Vector.findi findiFun (L2V[#"a", #"x"]); val findi_2T2 = Vector.findi findiFun (L2V[#"x", #"a"]); val findi_2T3 = Vector.findi findiFun (L2V[#"x", #"x"]); (********************) val findFun = fn value => (print (Char.toString value); value = #"x"); val find_0 = Vector.find findFun (L2V[]); val find_1F = Vector.find findFun (L2V[#"a"]); val find_1T = Vector.find findFun (L2V[#"x"]); val find_2F = Vector.find findFun (L2V[#"a", #"b"]); val find_2T1 = Vector.find findFun (L2V[#"a", #"x"]); val find_2T2 = Vector.find findFun (L2V[#"x", #"a"]); val find_2T3 = Vector.find findFun (L2V[#"x", #"x"]); (********************) val existsFun = fn value => (print (Char.toString value); value = #"x"); val exists_0 = Vector.exists existsFun (L2V[]); val exists_1F = Vector.exists existsFun (L2V[#"a"]); val exists_1T = Vector.exists existsFun (L2V[#"x"]); val exists_2F = Vector.exists existsFun (L2V[#"a", #"b"]); val exists_2T1 = Vector.exists existsFun (L2V[#"a", #"x"]); val exists_2T2 = Vector.exists existsFun (L2V[#"x", #"a"]); val exists_2T3 = Vector.exists existsFun (L2V[#"x", #"x"]); (********************) val allFun = fn value => (print (Char.toString value); value = #"x"); val all_0 = Vector.all allFun (L2V[]); val all_1F = Vector.all allFun (L2V[#"a"]); val all_1T = Vector.all allFun (L2V[#"x"]); val all_2F1 = Vector.all allFun (L2V[#"a", #"b"]); val all_2F2 = Vector.all allFun (L2V[#"a", #"x"]); val all_2F3 = Vector.all allFun (L2V[#"x", #"a"]); val all_2T = Vector.all allFun (L2V[#"x", #"x"]); (********************) val collateFun = fn (x, y) => if x < y then General.LESS else if x = y then General.EQUAL else General.GREATER; val collate00 = Vector.collate collateFun ((L2V[]), (L2V[])); val collate01 = Vector.collate collateFun ((L2V[]), (L2V[1])); val collate10 = Vector.collate collateFun ((L2V[1]), (L2V[0])); val collate11L = Vector.collate collateFun ((L2V[1]), (L2V[2])); val collate11E = Vector.collate collateFun ((L2V[1]), (L2V[1])); val collate11G = Vector.collate collateFun ((L2V[2]), (L2V[1])); val collate12L = Vector.collate collateFun ((L2V[1]), (L2V[1, 2])); val collate12G = Vector.collate collateFun ((L2V[2]), (L2V[1, 2])); val collate21L = Vector.collate collateFun ((L2V[1, 2]), (L2V[2])); val collate21G = Vector.collate collateFun ((L2V[1, 2]), (L2V[1])); val collate22L1 = Vector.collate collateFun ((L2V[2, 1]), (L2V[3, 1])); val collate22L2 = Vector.collate collateFun ((L2V[1, 2]), (L2V[1, 3])); val collate22E = Vector.collate collateFun ((L2V[1, 2]), (L2V[1, 2])); val collate22G1 = Vector.collate collateFun ((L2V[3, 1]), (L2V[2, 1])); val collate22G2 = Vector.collate collateFun ((L2V[1, 3]), (L2V[1, 2])); smlsharp-1.2.0/test/tests/basis/tests/VectorSlice001.sml0000644 000000000000000000002561112050661606023254 0ustar00rootroot0000000 0000000 (* test cases for VectorSlice structure. *) structure VS : VECTOR_SLICE = VectorSlice; structure V : VECTOR = Vector; fun Ints2VS list = let val vector = V.fromList (999 :: list @ [888]) in VS.slice(vector, 1, SOME(length list)) end; fun S2VS string = let val vector = V.fromList (#"X" :: (String.explode string) @ [#"Y"]) in VS.slice(vector, 1, SOME(size string)) end; fun VS2L vector = let val length = VS.length vector fun scan ~1 accum = accum | scan n accum = scan (n - 1) (VS.sub(vector, n) :: accum) in scan (length - 1) [] end; fun V2L vector = let val length = V.length vector fun scan ~1 accum = accum | scan n accum = scan (n - 1) (V.sub(vector, n) :: accum) in scan (length - 1) [] end; fun makeVector length = V.tabulate (length, fn index => index) (********************) val length1 = VS.length (Ints2VS[]); val length2 = VS.length (Ints2VS[1]); val length3 = VS.length (Ints2VS[1, 2]); (********************) val sub00 = VS.sub ((Ints2VS[]), 0) handle General.Subscript => 1; val sub0m1 = VS.sub ((Ints2VS[]), ~1) handle General.Subscript => 1; val sub01 = VS.sub ((Ints2VS[]), 1) handle General.Subscript => 1; val sub10 = VS.sub ((Ints2VS[1]), 0); val sub11 = VS.sub ((Ints2VS[2]), 1) handle General.Subscript => 1; val sub1m1 = VS.sub ((Ints2VS[2]), ~1) handle General.Subscript => 1; val sub20 = VS.sub ((Ints2VS[1, 2]), 0); val sub21 = VS.sub ((Ints2VS[1, 2]), 1); val sub22 = VS.sub ((Ints2VS[1, 2]), 2) handle General.Subscript => 3; (********************) val full_0 = VS2L(VS.full(V.fromList ([] : int list))); val full_1 = VS2L(VS.full(V.fromList ([1]))); val full_2 = VS2L(VS.full(V.fromList ([1, 2]))); (********************) fun testSlice (srcVectorLength, start, lengthOpt) = let val srcVector = makeVector srcVectorLength in VS2L(VS.slice(srcVector, start, lengthOpt)) end; val slice_0_0_N = testSlice(0, 0, NONE); val slice_1_0_N = testSlice(1, 0, NONE); val slice_1_0_0 = testSlice(1, 0, SOME 0); val slice_1_0_1 = testSlice(1, 0, SOME 1); val slice_1_0_2 = testSlice(1, 0, SOME 1) handle General.Subscript => [999]; val slice_1_1_N = testSlice(1, 1, NONE); val slice_1_1_0 = testSlice(1, 1, SOME 0); val slice_1_1_1 = testSlice(1, 1, SOME 1) handle General.Subscript => [999]; val slice_1_2_N = testSlice(1, 2, NONE) handle General.Subscript => [999]; val slice_2_0_N = testSlice(2, 0, NONE); val slice_2_0_0 = testSlice(2, 0, SOME 0); val slice_2_0_2 = testSlice(2, 0, SOME 2); val slice_2_0_3 = testSlice(2, 0, SOME 3) handle General.Subscript => [999]; val slice_2_1_N = testSlice(2, 1, NONE); val slice_2_1_0 = testSlice(2, 1, SOME 0); val slice_2_1_1 = testSlice(2, 1, SOME 1); val slice_2_1_2 = testSlice(2, 1, SOME 2) handle General.Subscript => [999]; val slice_2_2_N = testSlice(2, 2, NONE); val slice_2_2_0 = testSlice(2, 2, SOME 0); val slice_2_2_1 = testSlice(2, 2, SOME 1) handle General.Subscript => [999]; (********************) fun testSubslice(srcVectorLength, start1, length1, start2, lengthOpt2) = let val srcVector = makeVector srcVectorLength val slice1 = VS.slice(srcVector, start1, SOME length1) val slice2 = VS.subslice(slice1, start2, lengthOpt2) in VS2L(slice2) end; val subslice_5_1_3_0_N = testSubslice(5, 1, 3, 0, NONE); val subslice_5_1_3_0_3 = testSubslice(5, 1, 3, 0, SOME 3); val subslice_5_1_3_1_N = testSubslice(5, 1, 3, 1, NONE); val subslice_5_1_3_1_0 = testSubslice(5, 1, 3, 1, SOME 0); val subslice_5_1_3_1_1 = testSubslice(5, 1, 3, 1, SOME 1); val subslice_5_1_3_1_3 = testSubslice(5, 1, 3, 1, SOME 3) handle General.Subscript => [999]; val subslice_5_1_3_2_N = testSubslice(5, 1, 3, 2, NONE); val subslice_5_1_3_2_1 = testSubslice(5, 1, 3, 1, SOME 1); (********************) fun testBase(srcVectorLength, start, length) = let val srcVector = makeVector srcVectorLength val slice = VS.slice(srcVector, start, SOME length) in case VS.base(slice) of (vector, s, len) => (V2L vector, s, len) end; val base_0_0_0 = testBase(0, 0, 0); val base_2_0_0 = testBase(2, 0, 0); val base_2_0_1 = testBase(2, 0, 1); val base_2_1_1 = testBase(2, 1, 1); (********************) fun testVector(srcVectorLength, start, length) = let val srcVector = makeVector srcVectorLength val slice = VS.slice(srcVector, start, SOME length) in V2L(VS.vector(slice)) end; val vector_0_0_0 = testVector(0, 0, 0); val vector_2_0_0 = testVector(2, 0, 0); val vector_2_0_1 = testVector(2, 0, 1); val vector_2_1_1 = testVector(2, 1, 1); (********************) val concat0 = V2L(VS.concat ([] : int VS.slice List.list)); val concat10 = V2L(VS.concat ([(Ints2VS[])] : int VS.slice List.list)); val concat200 = V2L(VS.concat (([(Ints2VS[]), (Ints2VS[])]) : int VS.slice List.list)); val concat11 = V2L(VS.concat ([(Ints2VS[1])])); val concat201 = V2L(VS.concat ([(Ints2VS[]), (Ints2VS[1])])); val concat210 = V2L(VS.concat ([(Ints2VS[1]), (Ints2VS[])])); val concat211 = V2L(VS.concat ([(Ints2VS[1]), (Ints2VS[2])])); val concat222 = V2L(VS.concat ([(Ints2VS[1, 2]), (Ints2VS[3, 4])])); val concat3303 = V2L(VS.concat ([(Ints2VS[1, 2, 3]), (Ints2VS[]), (Ints2VS[7, 8, 9])])); val concat3333 = V2L (VS.concat ([(Ints2VS[1, 2, 3]), (Ints2VS[4, 5, 6]), (Ints2VS[7, 8, 9])])); (********************) val isEmpty_0 = VS.isEmpty (Ints2VS []); val isEmpty_1 = VS.isEmpty (Ints2VS [1]); (********************) fun testGetItem (srcVectorLength, start, length) = let val srcVector = makeVector srcVectorLength in case VS.getItem(VS.slice(srcVector, start, SOME length)) of NONE => (999, [999]) | SOME(value, newSlice) => (value, VS2L newSlice) end; val getItem_0_0_0 = testGetItem(0, 0, 0); val getItem_1_0_0 = testGetItem(1, 0, 0); val getItem_1_0_1 = testGetItem(1, 0, 1); val getItem_1_1_0 = testGetItem(1, 1, 0); val getItem_2_0_0 = testGetItem(2, 0, 0); val getItem_2_0_1 = testGetItem(2, 0, 1); val getItem_2_0_2 = testGetItem(2, 0, 2); val getItem_2_1_0 = testGetItem(2, 1, 0); val getItem_2_1_1 = testGetItem(2, 1, 1); val getItem_2_2_0 = testGetItem(2, 2, 0); (********************) val mapiFun = fn (index, ch) => (print(Int.toString index); ch); val mapi_0 = V2L(VS.mapi mapiFun (S2VS"")); val mapi_1 = V2L(VS.mapi mapiFun (S2VS"a")); val mapi_2 = V2L(VS.mapi mapiFun (S2VS"ab")); (********************) val mapFun = fn x => (print(Int.toString x); x + 1); val map0 = V2L(VS.map mapFun (Ints2VS[])); val map1 = V2L(VS.map mapFun (Ints2VS[1])); val map2 = V2L(VS.map mapFun (Ints2VS[1, 2])); val map3 = V2L(VS.map mapFun (Ints2VS[1, 2, 3])); (********************) val appiFun = fn (index, ch) => (print(Int.toString index); print(Char.toString ch)); val appi_0 = SOME(VS.appi appiFun (S2VS"")); val appi_1 = SOME(VS.appi appiFun (S2VS"a")); val appi_2 = SOME(VS.appi appiFun (S2VS"ab")); (********************) val appFun = fn x => print (Char.toString x); val app0 = VS.app appFun (S2VS ""); val app1 = VS.app appFun (S2VS "a"); val app2 = VS.app appFun (S2VS "ab"); val app3 = VS.app appFun (S2VS "abc"); (********************) val foldliFun = fn (index, ch, accum) => (print(Int.toString index); ch :: accum); val foldli_0 = VS.foldli foldliFun [] (S2VS""); val foldli_1 = VS.foldli foldliFun [] (S2VS"a"); val foldli_2 = VS.foldli foldliFun [] (S2VS"ab"); (********************) val foldlFun = fn (x, xs) => x :: xs; val foldl0 = VS.foldl foldlFun [] ((Ints2VS[]) : int VS.slice); val foldl1 = VS.foldl foldlFun [] (Ints2VS[1]); val foldl2 = VS.foldl foldlFun [] (Ints2VS[1, 2]); val foldl3 = VS.foldl foldlFun [] (Ints2VS[1, 2, 3]); (********************) val foldriFun = fn (index, ch, accum) => (print(Int.toString index); ch :: accum); val foldri_0 = VS.foldri foldriFun [] (S2VS""); val foldri_1 = VS.foldri foldriFun [] (S2VS"a"); val foldri_2 = VS.foldri foldriFun [] (S2VS"ab"); (********************) val foldrFun = fn (x, xs) => x :: xs; val foldr0 = VS.foldr foldrFun [] ((Ints2VS[]) : int VS.slice); val foldr1 = VS.foldr foldrFun [] (Ints2VS[1]); val foldr2 = VS.foldr foldrFun [] (Ints2VS[1, 2]); val foldr3 = VS.foldr foldrFun [] (Ints2VS[1, 2, 3]); (********************) val findiFun = fn (index, value) => (print (Int.toString index); value = 9); val findi_0 = VS.findi findiFun (Ints2VS[]); val findi_1F = VS.findi findiFun (Ints2VS[1]); val findi_1T = VS.findi findiFun (Ints2VS[9]); val findi_2F = VS.findi findiFun (Ints2VS[1, 2]); val findi_2T1 = VS.findi findiFun (Ints2VS[1, 9]); val findi_2T2 = VS.findi findiFun (Ints2VS[9, 1]); val findi_2T3 = VS.findi findiFun (Ints2VS[9, 9]); (********************) val findFun = fn value => (print (Int.toString value); value = 9); val find_0 = VS.find findFun (Ints2VS[]); val find_1F = VS.find findFun (Ints2VS[1]); val find_1T = VS.find findFun (Ints2VS[9]); val find_2F = VS.find findFun (Ints2VS[1, 2]); val find_2T1 = VS.find findFun (Ints2VS[1, 9]); val find_2T2 = VS.find findFun (Ints2VS[9, 1]); val find_2T3 = VS.find findFun (Ints2VS[9, 9]); (********************) val existsFun = fn value => (print (Int.toString value); value = 9); val exists_0 = VS.exists existsFun (Ints2VS[]); val exists_1F = VS.exists existsFun (Ints2VS[1]); val exists_1T = VS.exists existsFun (Ints2VS[9]); val exists_2F = VS.exists existsFun (Ints2VS[1, 2]); val exists_2T1 = VS.exists existsFun (Ints2VS[1, 9]); val exists_2T2 = VS.exists existsFun (Ints2VS[9, 1]); val exists_2T3 = VS.exists existsFun (Ints2VS[9, 9]); (********************) val allFun = fn value => (print (Int.toString value); value = 9); val all_0 = VS.all allFun (Ints2VS[]); val all_1F = VS.all allFun (Ints2VS[1]); val all_1T = VS.all allFun (Ints2VS[9]); val all_2F1 = VS.all allFun (Ints2VS[1, 2]); val all_2F2 = VS.all allFun (Ints2VS[1, 9]); val all_2F3 = VS.all allFun (Ints2VS[9, 1]); val all_2T = VS.all allFun (Ints2VS[9, 9]); (********************) val collateFun = fn (x, y) => if x < y then General.LESS else if x = y then General.EQUAL else General.GREATER; val collate00 = VS.collate collateFun ((Ints2VS[]), (Ints2VS[])); val collate01 = VS.collate collateFun ((Ints2VS[]), (Ints2VS[1])); val collate10 = VS.collate collateFun ((Ints2VS[1]), (Ints2VS[0])); val collate11L = VS.collate collateFun ((Ints2VS[1]), (Ints2VS[2])); val collate11E = VS.collate collateFun ((Ints2VS[1]), (Ints2VS[1])); val collate11G = VS.collate collateFun ((Ints2VS[2]), (Ints2VS[1])); val collate12L = VS.collate collateFun ((Ints2VS[1]), (Ints2VS[1, 2])); val collate12G = VS.collate collateFun ((Ints2VS[2]), (Ints2VS[1, 2])); val collate21L = VS.collate collateFun ((Ints2VS[1, 2]), (Ints2VS[2])); val collate21G = VS.collate collateFun ((Ints2VS[1, 2]), (Ints2VS[1])); val collate22L1 = VS.collate collateFun ((Ints2VS[2, 1]), (Ints2VS[3, 1])); val collate22L2 = VS.collate collateFun ((Ints2VS[1, 2]), (Ints2VS[1, 3])); val collate22E = VS.collate collateFun ((Ints2VS[1, 2]), (Ints2VS[1, 2])); val collate22G1 = VS.collate collateFun ((Ints2VS[3, 1]), (Ints2VS[2, 1])); val collate22G2 = VS.collate collateFun ((Ints2VS[1, 3]), (Ints2VS[1, 2])); smlsharp-1.2.0/test/tests/basis/tests/Word001.sml0000644 000000000000000000002024212050661606021740 0ustar00rootroot0000000 0000000 (* test cases for Int structure. *) val maxWord = Word.fromLargeWord (0wxFFFFFFFF : LargeWord.word); val toLargeWord_0 = Word.toLargeWord 0w0; val toLargeWord_123 = Word.toLargeWord 0wx123; val toLargeWord_7FFFFFFF = Word.toLargeWord 0wx7FFFFFFF; val toLargeWordX_0 = Word.toLargeWordX 0w0; val toLargeWordX_123 = Word.toLargeWordX 0wx123; val toLargeWordX_7FFFFFFF = Word.toLargeWordX 0wx7FFFFFFF; val fromLargeWord_0 = Word.fromLargeWord 0w0; val fromLargeWord_123 = Word.fromLargeWord 0w123; val fromLargeWord_7FFFFFFF = Word.fromLargeWord 0wx7FFFFFFF; val fromLargeWord_FFFFFFFF = Word.fromLargeWord (0wxFFFFFFFF : LargeWord.word); val toLargeInt_0 = Word.toLargeInt 0w0; val toLargeInt_7FFFFFFF = Word.toLargeInt 0wx7FFFFFFF; val toLargeInt_FFFFFFFF = (Word.toLargeInt (Word.fromLargeWord (0wxFFFFFFFF : LargeWord.word))) handle General.Overflow => 1; val toLargeIntX_0 = Word.toLargeIntX 0w0; val toLargeIntX_7FFFFFFF = Word.toLargeIntX 0wx7FFFFFFF; val toLargeIntX_FFFFFFFF = Word.toLargeIntX (Word.fromLargeWord (0wxFFFFFFFF : LargeWord.word)); val fromLargeInt_0 = Word.fromLargeInt 0; val fromLargeInt_123 = Word.fromLargeInt 123; val fromLargeInt_m123 = Word.fromLargeInt ~123; val fromLargeInt_7FFFFFFF = Word.fromLargeInt (0x7FFFFFFF : LargeInt.int); val fromLargeInt_FFFFFFFF = Word.fromLargeInt (~1 : LargeInt.int); val orb_0_0 = Word.orb (0w0, 0w0); val orb_F0_0F = Word.orb (0wxF0, 0wx0F); val orb_0F_0F = Word.orb (0wx0F, 0wx0F); val xorb_0_0 = Word.xorb (0w0, 0w0); val xorb_F0_0F = Word.xorb (0wxF0, 0wx0F); val xorb_0F_0F = Word.xorb (0wx0F, 0wx0F); val andb_0_0 = Word.andb (0w0, 0w0); val andb_F0_0F = Word.andb (0wxF0, 0wx0F); val andb_0F_0F = Word.andb (0wx0F, 0wx0F); val notb_0 = Word.notb 0w0; val notb_F0 = Word.notb 0wxF0; val leftShift_0_0 = Word.<< (0w0, 0w0); val leftShift_1_0 = Word.<< (0w1, 0w0); val leftShift_1_1 = Word.<< (0w1, 0w1); val leftShift_1_2 = Word.<< (0w1, 0w2); val leftShift_1_max_m1 = Word.<< (0w1, Word.fromInt(Word.wordSize - 1)); val leftShift_1_max = Word.<< (0w1, Word.fromInt Word.wordSize); val leftShift_FF_1 = Word.<< (0wxFF, 0w1); val leftShift_FF_2 = Word.<< (0wxFF, 0w2); val leftShift_FF_max_m1 = Word.<< (0wxFF, Word.fromInt(Word.wordSize - 1)); val leftShift_FF_max = Word.<< (0wxFF, Word.fromInt Word.wordSize); val logicalRightShift_0_0 = Word.>> (0w0, 0w0); val logicalRightShift_1_0 = Word.>> (0w1, 0w0); val logicalRightShift_1_1 = Word.>> (0w1, 0w1); val logicalRightShift_2_1 = Word.>> (0w2, 0w1); val logicalRightShift_max_1 = Word.>> (maxWord, 0w1); val logicalRightShift_max_max_m1 = Word.>> (maxWord, Word.fromInt(Word.wordSize - 1)); val logicalRightShift_max_max = Word.>> (maxWord, Word.fromInt Word.wordSize); val arithmeticRightShift_0_0 = Word.~>> (0w0, 0w0); val arithmeticRightShift_1_0 = Word.~>> (0w1, 0w0); val arithmeticRightShift_1_1 = Word.~>> (0w1, 0w1); val arithmeticRightShift_2_1 = Word.~>> (0w2, 0w1); val arithmeticRightShift_max_1 = Word.~>> (maxWord, 0w1); val arithmeticRightShift_max_max_m1 = Word.~>> (maxWord, Word.fromInt(Word.wordSize - 1)); val arithmeticRightShift_max_max = Word.~>> (maxWord, Word.fromInt Word.wordSize); val add_pp = Word.+ (0w8, 0w3); val add_zp = Word.+ (0w0, 0w3); val add_pz = Word.+ (0w8, 0w0); val add_zz = Word.+ (0w0, 0w0); val sub_pp = Word.- (0w8, 0w3); val sub_zp = Word.- (0w0, 0w3); val sub_pz = Word.- (0w8, 0w0); val sub_zz = Word.- (0w0, 0w0); val mul_pp = Word.* (0w2, 0w3); val mul_zp = Word.* (0w0, 0w3); val mul_pz = Word.* (0w3, 0w0); val mul_zz = Word.* (0w0, 0w0); val div_pp = Word.div (0w8, 0w3); val div_zp = Word.div (0w0, 0w3); (* val div_pz = (Word.div (0w8, 0w0)) handle General.Div => 1; val div_zz = (Word.div (0w0, 0w0)) handle General.Div => 1; *) val mod_pp = Word.mod (0w8, 0w3); val mod_zp = Word.mod (0w0, 0w3); (* val mod_pz = (Word.mod (0w8, 0w0)) handle General.Div => 1; val mod_zz = (Word.mod (0w0, 0w0)) handle General.Div => 1; *) val compare_ppL = Word.compare (0w3, 0w8); val compare_ppE = Word.compare (0w8, 0w8); val compare_ppG = Word.compare (0w8, 0w3); val compare_zp = Word.compare (0w0, 0w3); val compare_pz = Word.compare (0w8, 0w0); val compare_zz = Word.compare (0w0, 0w0); val gt_ppL = Word.> (0w3, 0w8); val gt_ppE = Word.> (0w8, 0w8); val gt_ppG = Word.> (0w8, 0w3); val gt_zp = Word.> (0w0, 0w3); val gt_pz = Word.> (0w8, 0w0); val gt_zz = Word.> (0w0, 0w0); val ge_ppL = Word.>= (0w3, 0w8); val ge_ppE = Word.>= (0w8, 0w8); val ge_ppG = Word.>= (0w8, 0w3); val ge_zp = Word.>= (0w0, 0w3); val ge_pz = Word.>= (0w8, 0w0); val ge_zz = Word.>= (0w0, 0w0); val lt_ppL = Word.< (0w3, 0w8); val lt_ppE = Word.< (0w8, 0w8); val lt_ppG = Word.< (0w8, 0w3); val lt_zp = Word.< (0w0, 0w3); val lt_pz = Word.< (0w8, 0w0); val lt_zz = Word.< (0w0, 0w0); val le_ppL = Word.<= (0w3, 0w8); val le_ppE = Word.<= (0w8, 0w8); val le_ppG = Word.<= (0w8, 0w3); val le_zp = Word.<= (0w0, 0w3); val le_pz = Word.<= (0w8, 0w0); val le_zz = Word.<= (0w0, 0w0); val min_ppL = Word.min (0w3, 0w8); val min_ppE = Word.min (0w8, 0w8); val min_ppG = Word.min (0w8, 0w3); val min_zp = Word.min (0w0, 0w3); val min_pz = Word.min (0w8, 0w0); val min_zz = Word.min (0w0, 0w0); val max_ppL = Word.max (0w3, 0w8); val max_ppE = Word.max (0w8, 0w8); val max_ppG = Word.max (0w8, 0w3); val max_zp = Word.max (0w0, 0w3); val max_pz = Word.max (0w8, 0w0); val max_zz = Word.max (0w0, 0w0); val fmt_bin_z = Word.fmt StringCvt.BIN 0w0; val fmt_bin_p1 = Word.fmt StringCvt.BIN 0w1; val fmt_bin_p2 = Word.fmt StringCvt.BIN 0w123; val fmt_oct_z = Word.fmt StringCvt.OCT 0w0; val fmt_oct_p1 = Word.fmt StringCvt.OCT 0w1 val fmt_oct_p2 = Word.fmt StringCvt.OCT 0w123; val fmt_dec_z = Word.fmt StringCvt.DEC 0w0; val fmt_dec_p1 = Word.fmt StringCvt.DEC 0w1 val fmt_dec_p2 = Word.fmt StringCvt.DEC 0w123; val fmt_hex_z = Word.fmt StringCvt.HEX 0w0; val fmt_hex_p1 = Word.fmt StringCvt.HEX 0w1 val fmt_hex_p2 = Word.fmt StringCvt.HEX 0w123; val toString_z = Word.toString 0w0; val toString_p1 = Word.toString 0w1 val toString_p2 = Word.toString 0w123; val fromString_null = Word.fromString ""; val fromString_nonum = Word.fromString "ghi123def"; val fromString_z1 = Word.fromString "0"; val fromString_z2 = Word.fromString "0w00"; val fromString_z12 = Word.fromString "0ghi"; val fromString_p1 = Word.fromString "1abc"; val fromString_p12 = Word.fromString "0wx1abcghi"; val fromString_p2 = Word.fromString "123abc"; val fromString_p22 = Word.fromString "0wx123abcghi"; fun reader [] = NONE | reader (head :: tail) = SOME(head, tail); fun scan radix string = Word.scan radix reader (explode string); val scan_bin_null = scan StringCvt.BIN ""; val scan_bin_0 = scan StringCvt.BIN "0"; val scan_bin_01 = scan StringCvt.BIN "0w00"; val scan_bin_1 = scan StringCvt.BIN "1"; val scan_bin_1b = scan StringCvt.BIN "0w1abcghi"; val scan_bin_1c = scan StringCvt.BIN "01"; val scan_oct_null = scan StringCvt.OCT ""; val scan_oct_0 = scan StringCvt.OCT "0"; val scan_oct_01 = scan StringCvt.OCT "0w00"; val scan_oct_1 = scan StringCvt.OCT "123"; val scan_oct_1b = scan StringCvt.OCT "0w12389a"; val scan_oct_1c = scan StringCvt.OCT "0123"; val scan_dec_null = scan StringCvt.DEC ""; val scan_dec_0 = scan StringCvt.DEC "0"; val scan_dec_01 = scan StringCvt.DEC "0w00"; val scan_dec_1 = scan StringCvt.DEC "123"; val scan_dec_1b = scan StringCvt.DEC "0w12389a"; val scan_dec_1c = scan StringCvt.DEC "0123"; val scan_hex_null = scan StringCvt.HEX ""; val scan_hex_head1 = scan StringCvt.HEX "0wx "; val scan_hex_head2 = scan StringCvt.HEX "0wX "; val scan_hex_head3 = scan StringCvt.HEX "0x "; val scan_hex_head4 = scan StringCvt.HEX "0X "; val scan_hex_0 = scan StringCvt.HEX "0"; val scan_hex_01 = scan StringCvt.HEX "00"; val scan_hex_0h1 = scan StringCvt.HEX "0wx0"; val scan_hex_0h2 = scan StringCvt.HEX "0wX0"; val scan_hex_0h3 = scan StringCvt.HEX "0x0"; val scan_hex_0h4 = scan StringCvt.HEX "0X0"; val scan_hex_1 = scan StringCvt.HEX "123"; val scan_hex_1b = scan StringCvt.HEX "12AaFfGg"; val scan_hex_1b_h1 = scan StringCvt.HEX "0wx12AaFfGg"; val scan_hex_1b_h2 = scan StringCvt.HEX "0wX12AaFfGg"; val scan_hex_1b_h3 = scan StringCvt.HEX "0x12AaFfGg"; val scan_hex_1b_h4 = scan StringCvt.HEX "0X12AaFfGg"; val scan_hex_1c = scan StringCvt.HEX "0123"; val scan_skipWS1 = scan StringCvt.DEC " 123"; val scan_skipWS2 = scan StringCvt.DEC "\t\n\v\f\r123"; smlsharp-1.2.0/test/tests/basis/tests/Word8Array001.sml0000644 000000000000000000002462612050661606023041 0ustar00rootroot0000000 0000000 (* test cases for Word8Array structure. *) fun L2A list = Word8Array.fromList (map Word8.fromInt list); fun L2V list = Word8Vector.fromList (map Word8.fromInt list); fun A2L array = let val length = Word8Array.length array fun scan ~1 accum = map Word8.toInt accum | scan n accum = scan (n - 1) (Word8Array.sub(array, n) :: accum) in scan (length - 1) [] : int list end; fun V2L vector = let val length = Word8Vector.length vector fun scan ~1 accum = map Word8.toInt accum | scan n accum = scan (n - 1) (Word8Vector.sub(vector, n) :: accum) in scan (length - 1) [] : int list end; val array_0i = A2L(Word8Array.array(0, 0w1)); val array_1i = A2L(Word8Array.array(1, 0w1)); val array_2i = A2L(Word8Array.array(2, 0w1)); val array_m1i = A2L(Word8Array.array(~1, 0w1)) handle General.Size => [9]; val fromList_0i = A2L(Word8Array.fromList ([] : Word8.word list)); val fromList_1i = A2L(Word8Array.fromList [0w1]); val fromList_2i = A2L(Word8Array.fromList [0w1, 0w2]); val tabulateFun = fn x => Word8.fromInt x; val tabulate0 = A2L(Word8Array.tabulate (0, tabulateFun)); val tabulate1 = A2L(Word8Array.tabulate (1, tabulateFun)); val tabulate2 = A2L(Word8Array.tabulate (2, tabulateFun)); val tabulatem1 = A2L(Word8Array.tabulate (~1, tabulateFun)) handle General.Size => [9]; val length1 = Word8Array.length (L2A[]); val length2 = Word8Array.length (L2A[1]); val length3 = Word8Array.length (L2A[1, 2]); val sub00 = Word8Array.sub ((L2A[]), 0) handle General.Subscript => 0w9; val sub0m1 = Word8Array.sub ((L2A[]), ~1) handle General.Subscript => 0w9; val sub01 = Word8Array.sub ((L2A[]), 1) handle General.Subscript => 0w9; val sub10 = Word8Array.sub ((L2A[1]), 0); val sub11 = Word8Array.sub ((L2A[2]), 1) handle General.Subscript => 0w9; val sub1m1 = Word8Array.sub ((L2A[2]), ~1) handle General.Subscript => 0w9; val sub20 = Word8Array.sub ((L2A[1, 2]), 0); val sub21 = Word8Array.sub ((L2A[1, 2]), 1); val sub22 = Word8Array.sub ((L2A[1, 2]), 2) handle General.Subscript => 0w9; (********************) fun testUpdate (array, index, newValue) = (Word8Array.update(array, index, Word8.fromInt newValue); A2L(array)); val update00 = testUpdate ((L2A[]), 0, 1) handle General.Subscript => [1]; val update0m1 = testUpdate ((L2A[]), ~1, 1) handle General.Subscript => [1]; val update01 = testUpdate ((L2A[]), 1, 1) handle General.Subscript => [1]; val update10 = testUpdate ((L2A[1]), 0, 1); val update11 = testUpdate ((L2A[2]), 1, 1) handle General.Subscript => [9]; val update1m1 = testUpdate ((L2A[2]), ~1, 1) handle General.Subscript => [9]; val update20 = testUpdate ((L2A[1, 2]), 0, 1); val update21 = testUpdate ((L2A[1, 2]), 1, 1); val update22 = testUpdate ((L2A[1, 2]), 2, 1) handle General.Subscript => [9]; (********************) val vector_0 = Word8Array.vector (L2A[]); val vector_1 = Word8Array.vector (L2A[1]); val vector_2 = Word8Array.vector (L2A[1, 2]); (********************) fun testCopy (src, dst, di) = (Word8Array.copy {src = src, dst = dst, di = di}; (A2L src, A2L dst)); (* variation of length of src array *) val copy_0_3_0 = testCopy(L2A[], L2A[7, 8, 9], 0); val copy_1_3_0 = testCopy(L2A[1], L2A[7, 8, 9], 0); val copy_2_3_0 = testCopy(L2A[1, 2], L2A[7, 8, 9], 0); (* variation of length of dst array *) val copy_3_0_0 = testCopy(L2A[1, 2, 3], L2A[], 0) handle Subscript => ([9], [9]); val copy_3_1_0 = testCopy(L2A[1, 2, 3], L2A[7], 0) handle Subscript => ([9], [9]); val copy_3_2_0 = testCopy(L2A[1, 2, 3], L2A[7, 8], 0) handle Subscript => ([9], [9]); val copy_3_3_0 = testCopy(L2A[1, 2, 3], L2A[7, 8, 9], 0); val copy_3_4_0 = testCopy(L2A[1, 2, 3], L2A[7, 8, 9, 6], 0); (* variation of di *) val copy_3_4_m1 = testCopy(L2A[1, 2, 3], L2A[7, 8, 9, 6], ~1) handle Subscript => ([9], [9]); val copy_3_4_0 = testCopy(L2A[1, 2, 3], L2A[7, 8, 9, 6], 0); val copy_3_4_1 = testCopy(L2A[1, 2, 3], L2A[7, 8, 9, 6], 1); val copy_3_4_2 = testCopy(L2A[1, 2, 3], L2A[7, 8, 9, 6], 2) handle Subscript => ([9], [9]); (********************) fun testCopyVec (src, dst, di) = (Word8Array.copyVec {src = src, dst = dst, di = di}; (V2L src, A2L dst)); (* variation of length of src array *) val copyVec_0_3_0 = testCopyVec(L2V[], L2A[7, 8, 9], 0); val copyVec_1_3_0 = testCopyVec(L2V[1], L2A[7, 8, 9], 0); val copyVec_2_3_0 = testCopyVec(L2V[1, 2], L2A[7, 8, 9], 0); (* variation of length of dst array *) val copyVec_3_0_0 = testCopyVec(L2V[1, 2, 3], L2A[], 0) handle Subscript => ([9], [9]); val copyVec_3_1_0 = testCopyVec(L2V[1, 2, 3], L2A[7], 0) handle Subscript => ([9], [9]); val copyVec_3_2_0 = testCopyVec(L2V[1, 2, 3], L2A[7, 8], 0) handle Subscript => ([9], [9]); val copyVec_3_3_0 = testCopyVec(L2V[1, 2, 3], L2A[7, 8, 9], 0); val copyVec_3_4_0 = testCopyVec (L2V[1, 2, 3], L2A[7, 8, 9, 6], 0); (* variation of di *) val copyVec_3_4_m1 = testCopyVec (L2V[1, 2, 3], L2A[7, 8, 9, 6], ~1) handle Subscript => ([9], [9]); val copyVec_3_4_0 = testCopyVec (L2V[1, 2, 3], L2A[7, 8, 9, 6], 0); val copyVec_3_4_1 = testCopyVec (L2V[1, 2, 3], L2A[7, 8, 9, 6], 1); val copyVec_3_4_2 = testCopyVec(L2V[1, 2, 3], L2A[7, 8, 9, 6], 2) handle Subscript => ([9], [9]); (********************) val appiFun = fn (index, n) => (print(Int.toString index); print(Word8.toString n)); (* safe cases *) val appi_0 = SOME(Word8Array.appi appiFun (L2A [])); val appi_1 = SOME(Word8Array.appi appiFun (L2A [1])); val appi_2 = SOME(Word8Array.appi appiFun (L2A [1, 2])); (********************) val appFun = fn x => print (Word8.toString x); val app0 = Word8Array.app appFun (L2A[]); val app1 = Word8Array.app appFun (L2A[1]); val app2 = Word8Array.app appFun (L2A[1, 2]); val app3 = Word8Array.app appFun (L2A[1, 2, 3]); (********************) val modifyiFun = fn (index, n) => (print(Int.toString index); n * 0w10 : Word8.word); fun testModifyi array =(Word8Array.modifyi modifyiFun array; A2L array); val modifyi_0 = testModifyi (L2A []); val modifyi_1 = testModifyi (L2A [1]); val modifyi_2 = testModifyi (L2A [1, 2]); (********************) val modifyFun = fn x => (print(Word8.toString x); x * 0w10 : Word8.word); fun testModify array = (Word8Array.modify modifyFun array; A2L array); val modify0 = testModify (L2A[]); val modify1 = testModify (L2A[1]); val modify2 = testModify (L2A[1, 2]); val modify3 = testModify (L2A[1, 2, 3]); (********************) val foldliFun = fn (index, ch, accum) => (print(Int.toString index); ch :: accum); val foldli_0 = Word8Array.foldli foldliFun [] (L2A []); val foldli_1 = Word8Array.foldli foldliFun [] (L2A [1]); val foldli_2 = Word8Array.foldli foldliFun [] (L2A [1, 2]); (********************) val foldlFun = fn (x, xs) => x :: xs; val foldl0 = Word8Array.foldl foldlFun [] ((L2A[]) : Word8Array.array); val foldl1 = Word8Array.foldl foldlFun [] (L2A[1]); val foldl2 = Word8Array.foldl foldlFun [] (L2A[1, 2]); val foldl3 = Word8Array.foldl foldlFun [] (L2A[1, 2, 3]); (********************) val foldriFun = fn (index, ch, accum) => (print(Int.toString index); ch :: accum); val foldri_0 = Word8Array.foldri foldriFun [] (L2A []); val foldri_1 = Word8Array.foldri foldriFun [] (L2A [1]); val foldri_2 = Word8Array.foldri foldriFun [] (L2A [1, 2]); (********************) val foldrFun = fn (x, xs) => x :: xs; val foldr0 = Word8Array.foldr foldrFun [] ((L2A[]) : Word8Array.array); val foldr1 = Word8Array.foldr foldrFun [] (L2A[1]); val foldr2 = Word8Array.foldr foldrFun [] (L2A[1, 2]); val foldr3 = Word8Array.foldr foldrFun [] (L2A[1, 2, 3]); (********************) val findiFun = fn (index, value) => (print (Int.toString index); value = (0w9 : Word8.word)); val findi_0 = Word8Array.findi findiFun (L2A[]); val findi_1F = Word8Array.findi findiFun (L2A[1]); val findi_1T = Word8Array.findi findiFun (L2A[9]); val findi_2F = Word8Array.findi findiFun (L2A[1, 2]); val findi_2T1 = Word8Array.findi findiFun (L2A[1, 9]); val findi_2T2 = Word8Array.findi findiFun (L2A[9, 1]); val findi_2T3 = Word8Array.findi findiFun (L2A[9, 9]); (********************) val findFun = fn value => (print (Word8.toString value); value = 0w9); val find_0 = Word8Array.find findFun (L2A[]); val find_1F = Word8Array.find findFun (L2A[1]); val find_1T = Word8Array.find findFun (L2A[9]); val find_2F = Word8Array.find findFun (L2A[1, 2]); val find_2T1 = Word8Array.find findFun (L2A[1, 9]); val find_2T2 = Word8Array.find findFun (L2A[9, 1]); val find_2T3 = Word8Array.find findFun (L2A[9, 9]); (********************) val existsFun = fn value => (print (Word8.toString value); value = 0w9); val exists_0 = Word8Array.exists existsFun (L2A[]); val exists_1F = Word8Array.exists existsFun (L2A[1]); val exists_1T = Word8Array.exists existsFun (L2A[9]); val exists_2F = Word8Array.exists existsFun (L2A[1, 2]); val exists_2T1 = Word8Array.exists existsFun (L2A[1, 9]); val exists_2T2 = Word8Array.exists existsFun (L2A[9, 1]); val exists_2T3 = Word8Array.exists existsFun (L2A[9, 9]); (********************) val allFun = fn value => (print (Word8.toString value); value = 0w9); val all_0 = Word8Array.all allFun (L2A[]); val all_1F = Word8Array.all allFun (L2A[1]); val all_1T = Word8Array.all allFun (L2A[9]); val all_2F1 = Word8Array.all allFun (L2A[1, 2]); val all_2F2 = Word8Array.all allFun (L2A[1, 9]); val all_2F3 = Word8Array.all allFun (L2A[9, 1]); val all_2T = Word8Array.all allFun (L2A[9, 9]); (********************) val collateFun = fn (x : Word8.word, y) => if x < y then General.LESS else if x = y then General.EQUAL else General.GREATER; val collate00 = Word8Array.collate collateFun ((L2A[]), (L2A[])); val collate01 = Word8Array.collate collateFun ((L2A[]), (L2A[1])); val collate10 = Word8Array.collate collateFun ((L2A[1]), (L2A[])); val collate11L = Word8Array.collate collateFun ((L2A[1]), (L2A[2])); val collate11E = Word8Array.collate collateFun ((L2A[1]), (L2A[1])); val collate11G = Word8Array.collate collateFun ((L2A[2]), (L2A[1])); val collate12L = Word8Array.collate collateFun ((L2A[1]), (L2A[1, 2])); val collate12G = Word8Array.collate collateFun ((L2A[2]), (L2A[1, 2])); val collate21L = Word8Array.collate collateFun ((L2A[1, 2]), (L2A[2])); val collate21G = Word8Array.collate collateFun ((L2A[1, 2]), (L2A[1])); val collate22L1 = Word8Array.collate collateFun ((L2A[1, 2]), (L2A[3, 2])); val collate22L2 = Word8Array.collate collateFun ((L2A[1, 2]), (L2A[1, 3])); val collate22E = Word8Array.collate collateFun ((L2A[1, 2]), (L2A[1, 2])); val collate22G1 = Word8Array.collate collateFun ((L2A[3, 1]), (L2A[2, 1])); val collate22G2 = Word8Array.collate collateFun ((L2A[1, 3]), (L2A[1, 2])); smlsharp-1.2.0/test/tests/basis/tests/Word8ArraySlice001.sml0000644 000000000000000000001047012050661606024011 0ustar00rootroot0000000 0000000 (* test cases for ArraySlice structure. *) structure AS : MONO_ARRAY_SLICE = Word8ArraySlice; structure A : MONO_ARRAY = Word8Array; structure VS : MONO_VECTOR_SLICE = Word8VectorSlice; structure V : MONO_VECTOR = Word8Vector; fun Words2AS list = let val array = A.fromList (0w99 :: list @ [0w88]) in AS.slice(array, 1, SOME(length list)) end; fun Words2VS list = let val vector = V.fromList (0w99 :: list @ [0w88]) in VS.slice(vector, 1, SOME(length list)) end; fun AS2L array = let val length = AS.length array fun scan ~1 accum = accum | scan n accum = scan (n - 1) (AS.sub(array, n) :: accum) in scan (length - 1) [] end; fun VS2L vector = let val length = VS.length vector fun scan ~1 accum = accum | scan n accum = scan (n - 1) (VS.sub(vector, n) :: accum) in scan (length - 1) [] end; fun V2L array = let val length = A.length array fun scan ~1 accum = accum | scan n accum = scan (n - 1) (A.sub(array, n) :: accum) in scan (length - 1) [] end; fun L2V list = V.fromList list; fun A2L array = let val length = A.length array fun scan ~1 accum = accum | scan n accum = scan (n - 1) (A.sub(array, n) :: accum) in scan (length - 1) [] end; fun L2A list = A.fromList list; fun makeArray length = A.tabulate (length, fn index => Word8.fromInt index) (********************) fun testUpdate(srcArrayLength, start, length, index) = let val array = makeArray srcArrayLength val slice = AS.slice (array, start, SOME length) in AS.update(slice, index, 0w9); (A2L array, AS2L slice) end handle General.Subscript => ([0w99], [0w99]); val update_0_0_0_0 = testUpdate(0, 0, 0, 0); val update_1_0_1_0 = testUpdate(1, 0, 1, 0); val update_1_0_1_1 = testUpdate(1, 0, 1, 1); val update_5_1_3_m1 = testUpdate(5, 1, 3, ~1); val update_5_1_3_0 = testUpdate(5, 1, 3, 0); val update_5_1_3_2 = testUpdate(5, 1, 3, 2); val update_5_1_3_3 = testUpdate(5, 1, 3, 3); (********************) fun testCopy (src, dst, di) = (AS.copy {src = src, dst = dst, di = di}; (AS2L src, A2L dst)) handle Subscript => ([0w99], [0w99]); (* variation of length of src array *) val copy_0_3_0 = testCopy(Words2AS[], L2A[0w9, 0w8, 0w7], 0); val copy_1_3_0 = testCopy(Words2AS[0w1], L2A[0w9, 0w8, 0w7], 0); val copy_2_3_0 = testCopy(Words2AS[0w1, 0w2], L2A[0w9, 0w8, 0w7], 0); (* variation of length of dst array *) val copy_3_0_0 = testCopy(Words2AS[0w1, 0w2, 0w3], L2A[], 0); val copy_3_1_0 = testCopy(Words2AS[0w1, 0w2, 0w3], L2A[0w9], 0); val copy_3_2_0 = testCopy(Words2AS[0w1, 0w2, 0w3], L2A[0w9, 0w8], 0); val copy_3_3_0 = testCopy(Words2AS[0w1, 0w2, 0w3], L2A[0w9, 0w8, 0w7], 0); val copy_3_4_0 = testCopy(Words2AS[0w1, 0w2, 0w3], L2A[0w9, 0w8, 0w7, 0w6], 0); (* variation of di *) val copy_3_4_m1 = testCopy(Words2AS[0w1, 0w2, 0w3], L2A[0w9, 0w8, 0w7, 0w6], ~1); val copy_3_4_0 = testCopy(Words2AS[0w1, 0w2, 0w3], L2A[0w9, 0w8, 0w7, 0w6], 0); val copy_3_4_1 = testCopy(Words2AS[0w1, 0w2, 0w3], L2A[0w9, 0w8, 0w7, 0w6], 1); val copy_3_4_2 = testCopy(Words2AS[0w1, 0w2, 0w3], L2A[0w9, 0w8, 0w7, 0w6], 2); (********************) fun testCopyVec (src, dst, di) = (AS.copyVec {src = src, dst = dst, di = di}; (VS2L src, A2L dst)) handle Subscript => ([0w99], [0w99]); (* variation of length of src array *) val copyVec_0_3_0 = testCopyVec(Words2VS[], L2A[0w9, 0w8, 0w7], 0); val copyVec_1_3_0 = testCopyVec(Words2VS[0w1], L2A[0w9, 0w8, 0w7], 0); val copyVec_2_3_0 = testCopyVec(Words2VS[0w1, 0w2], L2A[0w9, 0w8, 0w7], 0); (* variation of length of dst array *) val copyVec_3_0_0 = testCopyVec(Words2VS[0w1, 0w2, 0w3], L2A[], 0); val copyVec_3_1_0 = testCopyVec(Words2VS[0w1, 0w2, 0w3], L2A[0w9], 0); val copyVec_3_2_0 = testCopyVec(Words2VS[0w1, 0w2, 0w3], L2A[0w9, 0w8], 0); val copyVec_3_3_0 = testCopyVec(Words2VS[0w1, 0w2, 0w3], L2A[0w9, 0w8, 0w7], 0); val copyVec_3_4_0 = testCopyVec(Words2VS[0w1, 0w2, 0w3], L2A[0w9, 0w8, 0w7, 0w6], 0); (* variation of di *) val copyVec_3_4_m1 = testCopyVec(Words2VS[0w1, 0w2, 0w3], L2A[0w9, 0w8, 0w7, 0w6], ~1); val copyVec_3_4_0 = testCopyVec(Words2VS[0w1, 0w2, 0w3], L2A[0w9, 0w8, 0w7, 0w6], 0); val copyVec_3_4_1 = testCopyVec(Words2VS[0w1, 0w2, 0w3], L2A[0w9, 0w8, 0w7, 0w6], 1); val copyVec_3_4_2 = testCopyVec(Words2VS[0w1, 0w2, 0w3], L2A[0w9, 0w8, 0w7, 0w6], 2); smlsharp-1.2.0/test/tests/basis/tests/Word8Vector001.sml0000644 000000000000000000002033112050661606023212 0ustar00rootroot0000000 0000000 (* test cases for Word8Vector structure. *) fun L2V list = Word8Vector.fromList (map Word8.fromInt list); fun V2L vector = let val length = Word8Vector.length vector fun scan ~1 accum = map Word8.toInt accum | scan n accum = scan (n - 1) (Word8Vector.sub(vector, n) :: accum) in scan (length - 1) [] : int list end; val fromList_0i = V2L(Word8Vector.fromList ([] : Word8.word list)); val fromList_1i = V2L(Word8Vector.fromList [0w1]); val fromList_2i = V2L(Word8Vector.fromList [0w1, 0w2]); val tabulateFun = fn x => Word8.fromInt x; val tabulate0 = V2L(Word8Vector.tabulate (0, tabulateFun)); val tabulate1 = V2L(Word8Vector.tabulate (1, tabulateFun)); val tabulate2 = V2L(Word8Vector.tabulate (2, tabulateFun)); val tabulatem1 = V2L(Word8Vector.tabulate (~1, tabulateFun)) handle General.Size => [9]; val length1 = Word8Vector.length (L2V[]); val length2 = Word8Vector.length (L2V[1]); val length3 = Word8Vector.length (L2V[1, 2]); val sub00 = Word8Vector.sub ((L2V[]), 0) handle General.Subscript => 0w9; val sub0m1 = Word8Vector.sub ((L2V[]), ~1) handle General.Subscript => 0w9; val sub01 = Word8Vector.sub ((L2V[]), 1) handle General.Subscript => 0w9; val sub10 = Word8Vector.sub ((L2V[1]), 0); val sub11 = Word8Vector.sub ((L2V[2]), 1) handle General.Subscript => 0w9; val sub1m1 = Word8Vector.sub ((L2V[2]), ~1) handle General.Subscript => 0w9; val sub20 = Word8Vector.sub ((L2V[1, 2]), 0); val sub21 = Word8Vector.sub ((L2V[1, 2]), 1); val sub22 = Word8Vector.sub ((L2V[1, 2]), 2) handle General.Subscript => 0w9; (********************) val concat0 = Word8Vector.concat ([] : Word8Vector.vector List.list); val concat10 = Word8Vector.concat ([L2V[]] : Word8Vector.vector List.list); val concat200 = Word8Vector.concat ([L2V[], L2V[]] : Word8Vector.vector List.list); val concat11 = Word8Vector.concat [L2V[1]]; val concat201 = Word8Vector.concat [L2V[], L2V[1]]; val concat210 = Word8Vector.concat [L2V[1], L2V[]]; val concat211 = Word8Vector.concat [L2V[1], L2V[2]]; val concat222 = Word8Vector.concat [L2V[1,2], L2V[3,4]]; val concat3303 = Word8Vector.concat [L2V[1,2,3], L2V[], L2V[7,8,9]]; val concat3333 = Word8Vector.concat [L2V[1,2,3], L2V[4,5,6], L2V[7,8,9]]; (********************) fun testUpdate (vector, index, newValue) = (Word8Vector.update(vector, index, Word8.fromInt newValue); V2L(vector)); val update00 = testUpdate ((L2V[]), 0, 1) handle General.Subscript => [1]; val update0m1 = testUpdate ((L2V[]), ~1, 1) handle General.Subscript => [1]; val update01 = testUpdate ((L2V[]), 1, 1) handle General.Subscript => [1]; val update10 = testUpdate ((L2V[1]), 0, 1); val update11 = testUpdate ((L2V[2]), 1, 1) handle General.Subscript => [9]; val update1m1 = testUpdate ((L2V[2]), ~1, 1) handle General.Subscript => [9]; val update20 = testUpdate ((L2V[1, 2]), 0, 1); val update21 = testUpdate ((L2V[1, 2]), 1, 1); val update22 = testUpdate ((L2V[1, 2]), 2, 1) handle General.Subscript => [9]; (********************) val appiFun = fn (index, n) => (print(Int.toString index); print(Word8.toString n)); (* safe cases *) val appi_0 = SOME(Word8Vector.appi appiFun (L2V [])); val appi_1 = SOME(Word8Vector.appi appiFun (L2V [1])); val appi_2 = SOME(Word8Vector.appi appiFun (L2V [1, 2])); (********************) val appFun = fn x => print (Word8.toString x); val app0 = Word8Vector.app appFun (L2V[]); val app1 = Word8Vector.app appFun (L2V[1]); val app2 = Word8Vector.app appFun (L2V[1, 2]); val app3 = Word8Vector.app appFun (L2V[1, 2, 3]); (********************) val mapiFun = fn (index, n) => (print(Int.toString index); n * 0w10 : Word8.word); (* safe cases *) val mapi_0 = SOME(Word8Vector.mapi mapiFun (L2V [])); val mapi_1 = SOME(Word8Vector.mapi mapiFun (L2V [1])); val mapi_2 = SOME(Word8Vector.mapi mapiFun (L2V [1, 2])); (********************) val mapFun = fn x => (print (Word8.toString x); x * 0w10); val map0 = Word8Vector.map mapFun (L2V[]); val map1 = Word8Vector.map mapFun (L2V[1]); val map2 = Word8Vector.map mapFun (L2V[1, 2]); val map3 = Word8Vector.map mapFun (L2V[1, 2, 3]); (********************) val foldliFun = fn (index, ch, accum) => (print(Int.toString index); ch :: accum); val foldli_0 = Word8Vector.foldli foldliFun [] (L2V []); val foldli_1 = Word8Vector.foldli foldliFun [] (L2V [1]); val foldli_2 = Word8Vector.foldli foldliFun [] (L2V [1, 2]); (********************) val foldlFun = fn (x, xs) => x :: xs; val foldl0 = Word8Vector.foldl foldlFun [] ((L2V[]) : Word8Vector.vector); val foldl1 = Word8Vector.foldl foldlFun [] (L2V[1]); val foldl2 = Word8Vector.foldl foldlFun [] (L2V[1, 2]); val foldl3 = Word8Vector.foldl foldlFun [] (L2V[1, 2, 3]); (********************) val foldriFun = fn (index, ch, accum) => (print(Int.toString index); ch :: accum); val foldri_0 = Word8Vector.foldri foldriFun [] (L2V []); val foldri_1 = Word8Vector.foldri foldriFun [] (L2V [1]); val foldri_2 = Word8Vector.foldri foldriFun [] (L2V [1, 2]); (********************) val foldrFun = fn (x, xs) => x :: xs; val foldr0 = Word8Vector.foldr foldrFun [] ((L2V[]) : Word8Vector.vector); val foldr1 = Word8Vector.foldr foldrFun [] (L2V[1]); val foldr2 = Word8Vector.foldr foldrFun [] (L2V[1, 2]); val foldr3 = Word8Vector.foldr foldrFun [] (L2V[1, 2, 3]); (********************) val findiFun = fn (index, value) => (print (Int.toString index); value = (0w9 : Word8.word)); val findi_0 = Word8Vector.findi findiFun (L2V[]); val findi_1F = Word8Vector.findi findiFun (L2V[1]); val findi_1T = Word8Vector.findi findiFun (L2V[9]); val findi_2F = Word8Vector.findi findiFun (L2V[1, 2]); val findi_2T1 = Word8Vector.findi findiFun (L2V[1, 9]); val findi_2T2 = Word8Vector.findi findiFun (L2V[9, 1]); val findi_2T3 = Word8Vector.findi findiFun (L2V[9, 9]); (********************) val findFun = fn value => (print (Word8.toString value); value = 0w9); val find_0 = Word8Vector.find findFun (L2V[]); val find_1F = Word8Vector.find findFun (L2V[1]); val find_1T = Word8Vector.find findFun (L2V[9]); val find_2F = Word8Vector.find findFun (L2V[1, 2]); val find_2T1 = Word8Vector.find findFun (L2V[1, 9]); val find_2T2 = Word8Vector.find findFun (L2V[9, 1]); val find_2T3 = Word8Vector.find findFun (L2V[9, 9]); (********************) val existsFun = fn value => (print (Word8.toString value); value = 0w9); val exists_0 = Word8Vector.exists existsFun (L2V[]); val exists_1F = Word8Vector.exists existsFun (L2V[1]); val exists_1T = Word8Vector.exists existsFun (L2V[9]); val exists_2F = Word8Vector.exists existsFun (L2V[1, 2]); val exists_2T1 = Word8Vector.exists existsFun (L2V[1, 9]); val exists_2T2 = Word8Vector.exists existsFun (L2V[9, 1]); val exists_2T3 = Word8Vector.exists existsFun (L2V[9, 9]); (********************) val allFun = fn value => (print (Word8.toString value); value = 0w9); val all_0 = Word8Vector.all allFun (L2V[]); val all_1F = Word8Vector.all allFun (L2V[1]); val all_1T = Word8Vector.all allFun (L2V[9]); val all_2F1 = Word8Vector.all allFun (L2V[1, 2]); val all_2F2 = Word8Vector.all allFun (L2V[1, 9]); val all_2F3 = Word8Vector.all allFun (L2V[9, 1]); val all_2T = Word8Vector.all allFun (L2V[9, 9]); (********************) val collateFun = fn (x : Word8.word, y) => if x < y then General.LESS else if x = y then General.EQUAL else General.GREATER; val collate00 = Word8Vector.collate collateFun ((L2V[]), (L2V[])); val collate01 = Word8Vector.collate collateFun ((L2V[]), (L2V[1])); val collate10 = Word8Vector.collate collateFun ((L2V[1]), (L2V[])); val collate11L = Word8Vector.collate collateFun ((L2V[1]), (L2V[2])); val collate11E = Word8Vector.collate collateFun ((L2V[1]), (L2V[1])); val collate11G = Word8Vector.collate collateFun ((L2V[2]), (L2V[1])); val collate12L = Word8Vector.collate collateFun ((L2V[1]), (L2V[1, 2])); val collate12G = Word8Vector.collate collateFun ((L2V[2]), (L2V[1, 2])); val collate21L = Word8Vector.collate collateFun ((L2V[1, 2]), (L2V[2])); val collate21G = Word8Vector.collate collateFun ((L2V[1, 2]), (L2V[1])); val collate22L1 = Word8Vector.collate collateFun ((L2V[1, 2]), (L2V[3, 2])); val collate22L2 = Word8Vector.collate collateFun ((L2V[1, 2]), (L2V[1, 3])); val collate22E = Word8Vector.collate collateFun ((L2V[1, 2]), (L2V[1, 2])); val collate22G1 = Word8Vector.collate collateFun ((L2V[3, 1]), (L2V[2, 1])); val collate22G2 = Word8Vector.collate collateFun ((L2V[1, 3]), (L2V[1, 2])); smlsharp-1.2.0/test/tests/basis/tests/Word8VectorSlice001.sml0000644 000000000000000000002704212050661606024200 0ustar00rootroot0000000 0000000 (* test cases for Word8VectorSlice structure. *) structure VS : MONO_VECTOR_SLICE = Word8VectorSlice; structure V : MONO_VECTOR = Word8Vector; fun Words2VS list = let val vector = V.fromList (0w99 :: list @ [0w88]) in VS.slice(vector, 1, SOME(length list)) end; fun VS2L vector = let val length = VS.length vector fun scan ~1 accum = accum | scan n accum = scan (n - 1) (VS.sub(vector, n) :: accum) in scan (length - 1) [] end; fun V2L vector = let val length = V.length vector fun scan ~1 accum = accum | scan n accum = scan (n - 1) (V.sub(vector, n) :: accum) in scan (length - 1) [] end; fun makeVector length = V.tabulate (length, fn index => Word8.fromInt index) (********************) val length1 = VS.length (Words2VS[]); val length2 = VS.length (Words2VS[0w1]); val length3 = VS.length (Words2VS[0w1, 0w2]); (********************) val sub00 = VS.sub ((Words2VS[]), 0) handle General.Subscript => 0w1; val sub0m1 = VS.sub ((Words2VS[]), ~1) handle General.Subscript => 0w1; val sub01 = VS.sub ((Words2VS[]), 1) handle General.Subscript => 0w1; val sub10 = VS.sub ((Words2VS[0w1]), 0); val sub11 = VS.sub ((Words2VS[0w2]), 1) handle General.Subscript => 0w1; val sub1m1 = VS.sub ((Words2VS[0w2]), ~1) handle General.Subscript => 0w1; val sub20 = VS.sub ((Words2VS[0w1, 0w2]), 0); val sub21 = VS.sub ((Words2VS[0w1, 0w2]), 1); val sub22 = VS.sub ((Words2VS[0w1, 0w2]), 2) handle General.Subscript => 0w3; (********************) val full_0 = VS2L(VS.full(V.fromList ([] : Word8.word list))); val full_1 = VS2L(VS.full(V.fromList ([0w1]))); val full_2 = VS2L(VS.full(V.fromList ([0w1, 0w2]))); (********************) fun testSlice (srcVectorLength, start, lengthOpt) = let val srcVector = makeVector srcVectorLength in VS2L(VS.slice(srcVector, start, lengthOpt)) end; val slice_0_0_N = testSlice(0, 0, NONE); val slice_1_0_N = testSlice(1, 0, NONE); val slice_1_0_0 = testSlice(1, 0, SOME 0); val slice_1_0_1 = testSlice(1, 0, SOME 1); val slice_1_0_2 = testSlice(1, 0, SOME 1) handle General.Subscript => [0w99]; val slice_1_1_N = testSlice(1, 1, NONE); val slice_1_1_0 = testSlice(1, 1, SOME 0); val slice_1_1_1 = testSlice(1, 1, SOME 1) handle General.Subscript => [0w99]; val slice_1_2_N = testSlice(1, 2, NONE) handle General.Subscript => [0w99]; val slice_2_0_N = testSlice(2, 0, NONE); val slice_2_0_0 = testSlice(2, 0, SOME 0); val slice_2_0_2 = testSlice(2, 0, SOME 2); val slice_2_0_3 = testSlice(2, 0, SOME 3) handle General.Subscript => [0w99]; val slice_2_1_N = testSlice(2, 1, NONE); val slice_2_1_0 = testSlice(2, 1, SOME 0); val slice_2_1_1 = testSlice(2, 1, SOME 1); val slice_2_1_2 = testSlice(2, 1, SOME 2) handle General.Subscript => [0w99]; val slice_2_2_N = testSlice(2, 2, NONE); val slice_2_2_0 = testSlice(2, 2, SOME 0); val slice_2_2_1 = testSlice(2, 2, SOME 1) handle General.Subscript => [0w99]; (********************) fun testSubslice(srcVectorLength, start1, length1, start2, lengthOpt2) = let val srcVector = makeVector srcVectorLength val slice1 = VS.slice(srcVector, start1, SOME length1) val slice2 = VS.subslice(slice1, start2, lengthOpt2) in VS2L(slice2) end; val subslice_5_1_3_0_N = testSubslice(5, 1, 3, 0, NONE); val subslice_5_1_3_0_3 = testSubslice(5, 1, 3, 0, SOME 3); val subslice_5_1_3_1_N = testSubslice(5, 1, 3, 1, NONE); val subslice_5_1_3_1_0 = testSubslice(5, 1, 3, 1, SOME 0); val subslice_5_1_3_1_1 = testSubslice(5, 1, 3, 1, SOME 1); val subslice_5_1_3_1_3 = testSubslice(5, 1, 3, 1, SOME 3) handle General.Subscript => [0w99]; val subslice_5_1_3_2_N = testSubslice(5, 1, 3, 2, NONE); val subslice_5_1_3_2_1 = testSubslice(5, 1, 3, 1, SOME 1); (********************) fun testBase(srcVectorLength, start, length) = let val srcVector = makeVector srcVectorLength val slice = VS.slice(srcVector, start, SOME length) in case VS.base(slice) of (vector, s, len) => (V2L vector, s, len) end; val base_0_0_0 = testBase(0, 0, 0); val base_2_0_0 = testBase(2, 0, 0); val base_2_0_1 = testBase(2, 0, 1); val base_2_1_1 = testBase(2, 1, 1); (********************) fun testVector(srcVectorLength, start, length) = let val srcVector = makeVector srcVectorLength val slice = VS.slice(srcVector, start, SOME length) in V2L(VS.vector(slice)) end; val vector_0_0_0 = testVector(0, 0, 0); val vector_2_0_0 = testVector(2, 0, 0); val vector_2_0_1 = testVector(2, 0, 1); val vector_2_1_1 = testVector(2, 1, 1); (********************) val concat0 = V2L(VS.concat ([] : VS.slice List.list)); val concat10 = V2L(VS.concat ([(Words2VS[])] : VS.slice List.list)); val concat200 = V2L(VS.concat (([(Words2VS[]), (Words2VS[])]) : VS.slice List.list)); val concat11 = V2L(VS.concat ([(Words2VS[0w1])])); val concat201 = V2L(VS.concat ([(Words2VS[]), (Words2VS[0w1])])); val concat210 = V2L(VS.concat ([(Words2VS[0w1]), (Words2VS[])])); val concat211 = V2L(VS.concat ([(Words2VS[0w1]), (Words2VS[0w2])])); val concat222 = V2L(VS.concat ([(Words2VS[0w1, 0w2]), (Words2VS[0w3, 0w4])])); val concat3303 = V2L (VS.concat ([ (Words2VS[0w1, 0w2, 0w3]), (Words2VS[]), (Words2VS[0w7, 0w8, 0w9]) ])); val concat3333 = V2L (VS.concat ([ (Words2VS[0w1, 0w2, 0w3]), (Words2VS[0w4, 0w5, 0w6]), (Words2VS[0w7, 0w8, 0w9]) ])); (********************) val isEmpty_0 = VS.isEmpty (Words2VS []); val isEmpty_1 = VS.isEmpty (Words2VS [0w1]); (********************) fun testGetItem (srcVectorLength, start, length) = let val srcVector = makeVector srcVectorLength in case VS.getItem(VS.slice(srcVector, start, SOME length)) of NONE => (0w99, [0w99]) | SOME(value, newSlice) => (value, VS2L newSlice) end; val getItem_0_0_0 = testGetItem(0, 0, 0); val getItem_1_0_0 = testGetItem(1, 0, 0); val getItem_1_0_1 = testGetItem(1, 0, 1); val getItem_1_1_0 = testGetItem(1, 1, 0); val getItem_2_0_0 = testGetItem(2, 0, 0); val getItem_2_0_1 = testGetItem(2, 0, 1); val getItem_2_0_2 = testGetItem(2, 0, 2); val getItem_2_1_0 = testGetItem(2, 1, 0); val getItem_2_1_1 = testGetItem(2, 1, 1); val getItem_2_2_0 = testGetItem(2, 2, 0); (********************) val mapiFun = fn (index, value) => (print(Int.toString index); value); val mapi_0 = V2L(VS.mapi mapiFun (Words2VS [])); val mapi_1 = V2L(VS.mapi mapiFun (Words2VS [0w0])); val mapi_2 = V2L(VS.mapi mapiFun (Words2VS [0w0, 0w1])); (********************) val mapFun = fn x => (print(Word8.toString x); x + 0w1); val map0 = V2L(VS.map mapFun (Words2VS[])); val map1 = V2L(VS.map mapFun (Words2VS[0w1])); val map2 = V2L(VS.map mapFun (Words2VS[0w1, 0w2])); val map3 = V2L(VS.map mapFun (Words2VS[0w1, 0w2, 0w3])); (********************) val appiFun = fn (index, value) => (print(Int.toString index); print(Word8.toString value)); val appi_0 = SOME(VS.appi appiFun (Words2VS [])); val appi_1 = SOME(VS.appi appiFun (Words2VS [0w0])); val appi_2 = SOME(VS.appi appiFun (Words2VS [0w0, 0w1])); (********************) val appFun = fn x => print (Word8.toString x); val app0 = VS.app appFun (Words2VS []); val app1 = VS.app appFun (Words2VS [0w0]); val app2 = VS.app appFun (Words2VS [0w0, 0w1]); val app3 = VS.app appFun (Words2VS [0w0, 0w1, 0w2]); (********************) val foldliFun = fn (index, value, accum) => (print(Int.toString index); value :: accum); val foldli_0 = VS.foldli foldliFun [] (Words2VS []); val foldli_1 = VS.foldli foldliFun [] (Words2VS [0w0]); val foldli_2 = VS.foldli foldliFun [] (Words2VS [0w0, 0w1]); (********************) val foldlFun = fn (x, xs) => x :: xs; val foldl0 = VS.foldl foldlFun [] ((Words2VS[]) : VS.slice); val foldl1 = VS.foldl foldlFun [] (Words2VS[0w1]); val foldl2 = VS.foldl foldlFun [] (Words2VS[0w1, 0w2]); val foldl3 = VS.foldl foldlFun [] (Words2VS[0w1, 0w2, 0w3]); (********************) val foldriFun = fn (index, value, accum) => (print(Int.toString index); value :: accum); val foldri_0 = VS.foldri foldriFun [] (Words2VS []); val foldri_1 = VS.foldri foldriFun [] (Words2VS [0w0]); val foldri_2 = VS.foldri foldriFun [] (Words2VS [0w0, 0w1]); (********************) val foldrFun = fn (x, xs) => x :: xs; val foldr0 = VS.foldr foldrFun [] ((Words2VS[]) : VS.slice); val foldr1 = VS.foldr foldrFun [] (Words2VS[0w1]); val foldr2 = VS.foldr foldrFun [] (Words2VS[0w1, 0w2]); val foldr3 = VS.foldr foldrFun [] (Words2VS[0w1, 0w2, 0w3]); (********************) val findiFun = fn (index, value) => (print (Int.toString index); value = (0w9 : Word8.word)); val findi_0 = VS.findi findiFun (Words2VS[]); val findi_1F = VS.findi findiFun (Words2VS[0w1]); val findi_1T = VS.findi findiFun (Words2VS[0w9]); val findi_2F = VS.findi findiFun (Words2VS[0w1, 0w2]); val findi_2T1 = VS.findi findiFun (Words2VS[0w1, 0w9]); val findi_2T2 = VS.findi findiFun (Words2VS[0w9, 0w1]); val findi_2T3 = VS.findi findiFun (Words2VS[0w9, 0w9]); (********************) val findFun = fn value => (print (Word8.toString value); value = 0w9); val find_0 = VS.find findFun (Words2VS[]); val find_1F = VS.find findFun (Words2VS[0w1]); val find_1T = VS.find findFun (Words2VS[0w9]); val find_2F = VS.find findFun (Words2VS[0w1, 0w2]); val find_2T1 = VS.find findFun (Words2VS[0w1, 0w9]); val find_2T2 = VS.find findFun (Words2VS[0w9, 0w1]); val find_2T3 = VS.find findFun (Words2VS[0w9, 0w9]); (********************) val existsFun = fn value => (print (Word8.toString value); value = 0w9); val exists_0 = VS.exists existsFun (Words2VS[]); val exists_1F = VS.exists existsFun (Words2VS[0w1]); val exists_1T = VS.exists existsFun (Words2VS[0w9]); val exists_2F = VS.exists existsFun (Words2VS[0w1, 0w2]); val exists_2T1 = VS.exists existsFun (Words2VS[0w1, 0w9]); val exists_2T2 = VS.exists existsFun (Words2VS[0w9, 0w1]); val exists_2T3 = VS.exists existsFun (Words2VS[0w9, 0w9]); (********************) val allFun = fn value => (print (Word8.toString value); value = 0w9); val all_0 = VS.all allFun (Words2VS[]); val all_1F = VS.all allFun (Words2VS[0w1]); val all_1T = VS.all allFun (Words2VS[0w9]); val all_2F1 = VS.all allFun (Words2VS[0w1, 0w2]); val all_2F2 = VS.all allFun (Words2VS[0w1, 0w9]); val all_2F3 = VS.all allFun (Words2VS[0w9, 0w1]); val all_2T = VS.all allFun (Words2VS[0w9, 0w9]); (********************) val collateFun = fn (x, y) => if x < (y : Word8.word) then General.LESS else if x = y then General.EQUAL else General.GREATER; val collate00 = VS.collate collateFun ((Words2VS[]), (Words2VS[])); val collate01 = VS.collate collateFun ((Words2VS[]), (Words2VS[0w1])); val collate10 = VS.collate collateFun ((Words2VS[0w1]), (Words2VS[0w0])); val collate11L = VS.collate collateFun ((Words2VS[0w1]), (Words2VS[0w2])); val collate11E = VS.collate collateFun ((Words2VS[0w1]), (Words2VS[0w1])); val collate11G = VS.collate collateFun ((Words2VS[0w2]), (Words2VS[0w1])); val collate12L = VS.collate collateFun ((Words2VS[0w1]), (Words2VS[0w1, 0w2])); val collate12G = VS.collate collateFun ((Words2VS[0w2]), (Words2VS[0w1, 0w2])); val collate21L = VS.collate collateFun ((Words2VS[0w1, 0w2]), (Words2VS[0w2])); val collate21G = VS.collate collateFun ((Words2VS[0w1, 0w2]), (Words2VS[0w1])); val collate22L1 = VS.collate collateFun ((Words2VS[0w2, 0w1]), (Words2VS[0w3, 0w1])); val collate22L2 = VS.collate collateFun ((Words2VS[0w1, 0w2]), (Words2VS[0w1, 0w3])); val collate22E = VS.collate collateFun ((Words2VS[0w1, 0w2]), (Words2VS[0w1, 0w2])); val collate22G1 = VS.collate collateFun ((Words2VS[0w3, 0w1]), (Words2VS[0w2, 0w1])); val collate22G2 = VS.collate collateFun ((Words2VS[0w1, 0w3]), (Words2VS[0w1, 0w2])); smlsharp-1.2.0/test/tests/bugs0000755 000000000000000000000000012050661606016505 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/test/tests/bugs/outputs0000755 000000000000000000000000012050661606020230 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/test/tests/bugs/outputs/issue1.1.out0000644 000000000000000000000002112050661606022401 0ustar00rootroot0000000 0000000 val it = 1 : int smlsharp-1.2.0/test/tests/bugs/outputs/issue1.2.out0000644 000000000000000000000011512050661606022406 0ustar00rootroot0000000 0000000 val f = fn : string -> int val it = 1 : int val it = 2 : int val it = 3 : intsmlsharp-1.2.0/test/tests/bugs/outputs/issue10.1.out0000644 000000000000000000000024512050661606022471 0ustar00rootroot0000000 0000000 infix 0 f ../tests/bugs/tests/issue10.1.sml:2.5-2.5 Error: expression or pattern begins with infix identifier : f smlsharp-1.2.0/test/tests/bugs/outputs/issue10.2.out0000644 000000000000000000000015212050661606022467 0ustar00rootroot0000000 0000000 infix 0 f ../tests/bugs/tests/issue10.2.sml:2.5-2.5 Error: infix operator f used without "op" in fun dec smlsharp-1.2.0/test/tests/bugs/outputs/issue100.1.out0000644 000000000000000000000033012050661606022544 0ustar00rootroot0000000 0000000 structure A : sig datatype s con foo : s end structure B : sig datatype s con foo : s end val x = foo : B.s structure C : sig datatype t con bar : t end structure D : sig datatype t con bar : t end val y = bar : D.t smlsharp-1.2.0/test/tests/bugs/outputs/issue100.2.out0000644 000000000000000000000014312050661606022547 0ustar00rootroot0000000 0000000 structure S1 : sig type t = int end structure S2 : sig type t = int val y : t end val x = 2 : S2.t smlsharp-1.2.0/test/tests/bugs/outputs/issue101.1.out0000644 000000000000000000000015012050661606022545 0ustar00rootroot0000000 0000000 structure S1 : sig val x : int end val it = 1 : int structure S2 : sig val x : int end val it = 1 : int smlsharp-1.2.0/test/tests/bugs/outputs/issue102.1.out0000644 000000000000000000000012412050661606022547 0ustar00rootroot0000000 0000000 signature S = sig eqtype t end structure SEqRefTrans : S structure SEqRefOpaque : S smlsharp-1.2.0/test/tests/bugs/outputs/issue103.1.out0000644 000000000000000000000026012050661606022551 0ustar00rootroot0000000 0000000 signature S = sig datatype dt = D of int | E of string end ../tests/bugs/tests/issue103.1.sml:2.11-3.59 Error: Signature mismatch :Constructors F only occur in structure smlsharp-1.2.0/test/tests/bugs/outputs/issue104.1.out0000644 000000000000000000000025612050661606022557 0ustar00rootroot0000000 0000000 signature S = sig datatype dt = D of int | E of string end ../tests/bugs/tests/issue104.1.sml:2.11-6.3 Error: Signature mismatch :Constructors E only occur in signature smlsharp-1.2.0/test/tests/bugs/outputs/issue104.2.out0000644 000000000000000000000021312050661606022551 0ustar00rootroot0000000 0000000 signature S = sig exception E of int end ../tests/bugs/tests/issue104.2.sml:2.11-6.3 Error: data constructor required in signature: E smlsharp-1.2.0/test/tests/bugs/outputs/issue105.1.out0000644 000000000000000000000023512050661606022555 0ustar00rootroot0000000 0000000 datatype dt con D : dt signature S1 = sig datatype dt = datatype dt end ../tests/bugs/tests/issue105.1.sml:3.11-3.51 Error: Signature mismatch (tycon): dt smlsharp-1.2.0/test/tests/bugs/outputs/issue106.1.out0000644 000000000000000000000015312050661606022555 0ustar00rootroot0000000 0000000 signature SDatatype = sig structure S : sig datatype dt = D end end structure SDatatypeTrans : SDatatype smlsharp-1.2.0/test/tests/bugs/outputs/issue107.1.out0000644 000000000000000000000031712050661606022560 0ustar00rootroot0000000 0000000 signature S2 = sig type t1 type t2 sharing type t1 = t2 end ../tests/bugs/tests/issue107.1.sml:8.11-12.3 Error: Signature mismatch (tycon sharing): t1 t2 smlsharp-1.2.0/test/tests/bugs/outputs/issue108.1.out0000644 000000000000000000000024412050661606022560 0ustar00rootroot0000000 0000000 signature S0 = sig type t end ../tests/bugs/tests/issue108.1.sml:2.11-2.60 Error: Signature mismatch (arity): t smlsharp-1.2.0/test/tests/bugs/outputs/issue108.3.out0000644 000000000000000000000024512050661606022563 0ustar00rootroot0000000 0000000 signature S0 = sig type t end ../tests/bugs/tests/issue108.3.sml:2.11-2.73 Error: Signature mismatch (arity): t smlsharp-1.2.0/test/tests/bugs/outputs/issue109.1.out0000644 000000000000000000000011012050661606022551 0ustar00rootroot0000000 0000000 val id = fn : ['a.'a -> 'a] val vrecord = {a = fn} : {a:['a.'a -> 'a]} smlsharp-1.2.0/test/tests/bugs/outputs/issue110.1.out0000644 000000000000000000000034112050661606022547 0ustar00rootroot0000000 0000000 val id = fn : ['a.'a -> 'a] datatype 'a dt1 con D : ['a.int -> 'a dt1] ../tests/bugs/tests/issue110.1.sml:3.1-3.28 Warning: dummy type variable(s) X0 are introduced due to value restriction val vconstructed1 = D 2 : X0 dt1 smlsharp-1.2.0/test/tests/bugs/outputs/issue110.2.out0000644 000000000000000000000007612050661606022555 0ustar00rootroot0000000 0000000 val id = fn : ['a.'a -> 'a] val vtyped1 = fn : ['a.'a -> 'a] smlsharp-1.2.0/test/tests/bugs/outputs/issue111.1.out0000644 000000000000000000000053712050661606022557 0ustar00rootroot0000000 0000000 val id = fn : ['a.'a -> 'a] datatype 'a dt con D : ['a .'a -> 'a dt] val y = D fn : ['a. ('a -> 'a) dt] ../tests/bugs/tests/issue111.1.sml:4.1-4.11 Warning: dummy type variable(s) X0 are introduced due to value restriction val z = fn : X0 -> X0 smlsharp-1.2.0/test/tests/bugs/outputs/issue113.1.out0000644 000000000000000000000017012050661606022552 0ustar00rootroot0000000 0000000 val id = fn : ['a.'a -> 'a] datatype 'a dt con D : ['a.'a -> 'a dt] val it = 1 : int val it = 1 : int val it = 1 : int smlsharp-1.2.0/test/tests/bugs/outputs/issue114.1.out0000644 000000000000000000000012712050661606022555 0ustar00rootroot0000000 0000000 datatype 'a dt con D : ['a.'a -> 'a dt] val x = (D fn, 1) : ['a.('a -> int) dt] * int smlsharp-1.2.0/test/tests/bugs/outputs/issue114.2.out0000644 000000000000000000000062212050661606022556 0ustar00rootroot0000000 0000000 val id = fn : ['a.'a -> 'a] val a = fn : ['a.'a -> 'a] ../tests/bugs/tests/issue114.2.sml:3.1-3.12 Warning: dummy type variable(s) X0 are introduced due to value restriction val b = fn : X0 -> X0 val it = 1 : int ../tests/bugs/tests/issue114.2.sml:5.1-5.3 Error: operator and operand don't agree operator domain: X0 operand: 'A#{int, IntInf.int} smlsharp-1.2.0/test/tests/bugs/outputs/issue115.1.out0000644 000000000000000000000101712050661606022555 0ustar00rootroot0000000 0000000 signature SType = sig type t val x : t end structure SType : sig type t = int val x : int end structure STypeOpaque1 : SType structure STypeOpaque2 : SType ../tests/bugs/tests/issue115.1.sml:5.21-5.51 Error: operator and operand don't agree operator domain: ''A * ''A operand: STypeOpaque1.t * STypeOpaque2.t smlsharp-1.2.0/test/tests/bugs/outputs/issue116.1.out0000644 000000000000000000000036612050661606022564 0ustar00rootroot0000000 0000000 signature SIG = sig type t end structure STR : sig datatype t con E : t end structure STrans : SIG ../tests/bugs/tests/issue116.1.sml:4.15-4.22 Error: unbound variable or constructor: STrans.E smlsharp-1.2.0/test/tests/bugs/outputs/issue116.2.out0000644 000000000000000000000017712050661606022565 0ustar00rootroot0000000 0000000 signature S = sig val f : int -> int end structure S : sig val f : ['a .'a -> 'a] end structure T : S val it = fn : int -> int smlsharp-1.2.0/test/tests/bugs/outputs/issue117.1.out0000644 000000000000000000000012612050661606022557 0ustar00rootroot0000000 0000000 abstype t2 datatype t2 con E : real -> t2 val ax2 = E 1.23 : t2 val gx2 = E 1.23 : t2 smlsharp-1.2.0/test/tests/bugs/outputs/issue118.1.out0000644 000000000000000000000007712050661606022565 0ustar00rootroot0000000 0000000 datatype ''a dt con D : [''a .''a -> ''a dt] type 'a t = 'a dt smlsharp-1.2.0/test/tests/bugs/outputs/issue119.1.out0000644 000000000000000000000045612050661606022567 0ustar00rootroot0000000 0000000 datatype ''a dtEq con DEq : [''a .''a dtEq] con EEq : [''a .''a -> ''a dtEq] ../tests/bugs/tests/issue119.1.sml:2.19-2.23 Error: operator and operand don't agree operator domain: ''D operand: 'A(a) ../tests/bugs/tests/issue119.1.sml:2.1-2.23 Error: User type variable cannot be generalized: 'a smlsharp-1.2.0/test/tests/bugs/outputs/issue119.2.out0000644 000000000000000000000033312050661606022562 0ustar00rootroot0000000 0000000 datatype ''a dtEq con DEq : [''a .''a dtEq] con EEq : [''a .''a -> ''a dtEq] ../tests/bugs/tests/issue119.2.sml:2.1-2.8 Error: operator and operand don't agree operator domain: ''B operand: 'A#{real, Real32.real} smlsharp-1.2.0/test/tests/bugs/outputs/issue120.1.out0000644 000000000000000000000024412050661606022552 0ustar00rootroot0000000 0000000 signature S23 = sig eqtype s datatype t = D of real sharing type s = t end ../tests/bugs/tests/issue120.1.sml:7.11-7.66 Error: Signature mismatch (equality): t smlsharp-1.2.0/test/tests/bugs/outputs/issue121.1.out0000644 000000000000000000000011212050661606022545 0ustar00rootroot0000000 0000000 signature S = sig datatype dt = E end structure S1 : S val it = E : S1.dt smlsharp-1.2.0/test/tests/bugs/outputs/issue122.1.out0000644 000000000000000000000004212050661606022550 0ustar00rootroot0000000 0000000 exception E : exn val x = E : exn smlsharp-1.2.0/test/tests/bugs/outputs/issue122.3.out0000644 000000000000000000000023612050661606022557 0ustar00rootroot0000000 0000000 structure S : sig exception E : exn end val f = fn : exn -> unit OKval it = () : unit signature S = sig exception E end structure S1 : S OKval it = () : unit smlsharp-1.2.0/test/tests/bugs/outputs/issue123.1.out0000644 000000000000000000000002412050661606022551 0ustar00rootroot0000000 0000000 val x = Match : exn smlsharp-1.2.0/test/tests/bugs/outputs/issue124.2.out0000644 000000000000000000000011212050661606022551 0ustar00rootroot0000000 0000000 signature S = sig type ('a,'b) reader = 'b -> 'a * 'b end structure S : S smlsharp-1.2.0/test/tests/bugs/outputs/issue125.1.out0000644 000000000000000000000013712050661606022560 0ustar00rootroot0000000 0000000 signature S = sig type s structure T : sig type t end sharing type s = T.t end smlsharp-1.2.0/test/tests/bugs/outputs/issue125.2.out0000644 000000000000000000000016712050661606022564 0ustar00rootroot0000000 0000000 signature S = sig structure S : sig type s end structure T : sig type t end sharing type S.s = T.t end smlsharp-1.2.0/test/tests/bugs/outputs/issue126.1.out0000644 000000000000000000000011212050661606022552 0ustar00rootroot0000000 0000000 structure S : sig datatype dt1 con D : dt1 datatype dt2 con D : dt2 end smlsharp-1.2.0/test/tests/bugs/outputs/issue127.1.out0000644 000000000000000000000003512050661606022557 0ustar00rootroot0000000 0000000 val minChar = #"\^@" : char smlsharp-1.2.0/test/tests/bugs/outputs/issue129.1.out0000644 000000000000000000000022712050661606022564 0ustar00rootroot0000000 0000000 signature S = sig val f : 'a -> 'a -> 'a end structure S : sig val f : ['a .'a -> ['b .'b -> 'b]] end val x = 2 : int structure S1 : S val y = 2 : int smlsharp-1.2.0/test/tests/bugs/outputs/issue129.2.out0000644 000000000000000000000027112050661606022564 0ustar00rootroot0000000 0000000 signature S = sig val f : ('a -> 'a) -> string end structure S : sig val f : ['a.'a -> string] end val g = fn : ['a.'a -> 'a] val x = "a" : string structure S1 : S val y = "a" : string smlsharp-1.2.0/test/tests/bugs/outputs/issue129.4.out0000644 000000000000000000000063512050661606022572 0ustar00rootroot0000000 0000000 structure Word : sig type word = word val toLargeWord : ['a .'a -> 'a] structure W : sig end end structure LargeWord : sig type word = word val toLargeWord : ['a .'a -> 'a] structure W : sig end end signature WORD = sig eqtype word val toLargeWord : word -> LargeWord.word end structure LargeWord : WORD structure Word : WORD where type word = word val toLargeWord_0 = 0wx0 : LargeWord.word smlsharp-1.2.0/test/tests/bugs/outputs/issue129.5.1.out0000644 000000000000000000000023512050661606022726 0ustar00rootroot0000000 0000000 signature S = sig val f : real -> real end functor F (S : sig end) : S structure P : sig end structure T : sig val f : real -> real end val x = 1.23 : real smlsharp-1.2.0/test/tests/bugs/outputs/issue129.5.2.out0000644 000000000000000000000025612050661606022732 0ustar00rootroot0000000 0000000 exception E : exn signature S = sig val f : real -> real end functor F (S : sig end) : S structure P : sig end structure T : sig val f : real -> real end val x = 0.0 : real smlsharp-1.2.0/test/tests/bugs/outputs/issue13.1.out0000644 000000000000000000000017412050661606022475 0ustar00rootroot0000000 0000000 val it = fn : int * int -> int val it = fn : int * int -> int val it = fn : int * int -> int val it = fn : int * int -> int smlsharp-1.2.0/test/tests/bugs/outputs/issue130.1.out0000644 000000000000000000000020212050661606022545 0ustar00rootroot0000000 0000000 signature SIG = sig datatype t = D end structure STR : SIG datatype t = datatype STR.t val f = fn : t -> bool val x = true : bool smlsharp-1.2.0/test/tests/bugs/outputs/issue131.1.out0000644 000000000000000000000004612050661606022554 0ustar00rootroot0000000 0000000 val f = fn : ['a#{a:int} .'a -> bool] smlsharp-1.2.0/test/tests/bugs/outputs/issue131.2.out0000644 000000000000000000000004612050661606022555 0ustar00rootroot0000000 0000000 val F = fn : ['a#{a:int} .'a -> bool] smlsharp-1.2.0/test/tests/bugs/outputs/issue132.1.out0000644 000000000000000000000060512050661606022556 0ustar00rootroot0000000 0000000 signature SUBSTRING = sig type substring eqtype string val all : string -> substring end structure Substring : sig type string = string type substring = string val all : string -> substring end val x = "abc" : Substring.substring structure Strans : SUBSTRING val y = "abc" : Strans.substring structure Sopaq : SUBSTRING where type string = string val z = - : Sopaq.substring smlsharp-1.2.0/test/tests/bugs/outputs/issue132.3.out0000644 000000000000000000000031612050661606022557 0ustar00rootroot0000000 0000000 signature SType = sig type t val x : t end structure PType : sig type t = real val x : real end functor FTypeOpaque (S : sig type t val x : t end) : SType structure STypeOpaque : sig type t val x : t end smlsharp-1.2.0/test/tests/bugs/outputs/issue133.1.out0000644 000000000000000000000006412050661606022556 0ustar00rootroot0000000 0000000 datatype t con D : t type s = t val f = fn : t -> s smlsharp-1.2.0/test/tests/bugs/outputs/issue134.1.out0000644 000000000000000000000007412050661606022560 0ustar00rootroot0000000 0000000 val id = fn : ['a .'a -> 'a] val x = fn : int * int -> int smlsharp-1.2.0/test/tests/bugs/outputs/issue135.1.out0000644 000000000000000000000003712050661606022560 0ustar00rootroot0000000 0000000 val n = 0wx7b : LargeWord.word smlsharp-1.2.0/test/tests/bugs/outputs/issue135.10.out0000644 000000000000000000000034512050661606022642 0ustar00rootroot0000000 0000000 structure S : sig type t end ../tests/bugs/tests/issue135.10.sml:2.9-2.15 Error: type and type annotation don't agree inferred type: 'A#{int, largeInt} type annotation: S.t smlsharp-1.2.0/test/tests/bugs/outputs/issue136.1.out0000644 000000000000000000000010312050661606022553 0ustar00rootroot0000000 0000000 datatype s con %% : int * int -> s val x = 1 : int val y = 2 : int smlsharp-1.2.0/test/tests/bugs/outputs/issue137.1.out0000644 000000000000000000000005112050661606022556 0ustar00rootroot0000000 0000000 structure S6 : sig type t val x : t end smlsharp-1.2.0/test/tests/bugs/outputs/issue137.2.out0000644 000000000000000000000006012050661606022557 0ustar00rootroot0000000 0000000 abstype t val x = - : t datatype s = datatype t smlsharp-1.2.0/test/tests/bugs/outputs/issue138.1.out0000644 000000000000000000000040612050661606022563 0ustar00rootroot0000000 0000000 signature S1 = sig structure S : sig type t datatype dt = D of t val x : dt end end signature S2 = sig type s include sig type t datatype dt = D of t val x : s * t * dt end val y : dt * t end signature S31 = sig type t datatype dt = D of t val x : t * dt end smlsharp-1.2.0/test/tests/bugs/outputs/issue139.1.out0000644 000000000000000000000050412050661606022563 0ustar00rootroot0000000 0000000 val id = fn : ['a.'a -> 'a] val f2 = fn : ['a. 'a -> ['b. 'b -> 'a * 'b]] val fRecord22 = fn : ['a,'b.'a -> ['c.'c -> {a: 'b -> 'b,b: 'a}*'c]] ../tests/bugs/tests/issue139.1.sml:4.1-4.33 Warning: dummy type variable(s) X0 are introduced due to value restriction val a = fn : X0 -> X0 val b = 1 : int val c = "a" : string smlsharp-1.2.0/test/tests/bugs/outputs/issue140.1.out0000644 000000000000000000000013312050661606022551 0ustar00rootroot0000000 0000000 val f = fn : ['a .'a -> ['b .'b -> 'a * 'b]] val g = fn : ['a .'a -> ['b .'b -> 'a * 'b]] smlsharp-1.2.0/test/tests/bugs/outputs/issue141.1.out0000644 000000000000000000000006612050661606022557 0ustar00rootroot0000000 0000000 signature S1 = sig type t1 = int type t2 = t1 end smlsharp-1.2.0/test/tests/bugs/outputs/issue142.1.out0000644 000000000000000000000012212050661606022551 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/issue142.1.sml:1.30-1.31 Error: unbound type constructor: t2 smlsharp-1.2.0/test/tests/bugs/outputs/issue144.1.out0000644 000000000000000000000024312050661606022557 0ustar00rootroot0000000 0000000 signature SIG = sig type t val x : t end structure STR : sig type t = string val x : string end structure SS : SIG structure SSTrans : SIG val x = "a" : SSTrans.t smlsharp-1.2.0/test/tests/bugs/outputs/issue145.1.out0000644 000000000000000000000016612050661606022564 0ustar00rootroot0000000 0000000 val f = fn : int -> int functor F (S : sig end) : sig val g : int -> int end structure S : sig val g : int -> int end smlsharp-1.2.0/test/tests/bugs/outputs/issue145.2.out0000644 000000000000000000000016612050661606022565 0ustar00rootroot0000000 0000000 val f = fn : int -> int functor F (S : sig end) : sig val g : int -> int end structure S : sig val g : int -> int end smlsharp-1.2.0/test/tests/bugs/outputs/issue145.3.out0000644 000000000000000000000016612050661606022566 0ustar00rootroot0000000 0000000 val f = fn : int -> int functor F (S : sig end) : sig val g : int -> int end structure S : sig val g : int -> int end smlsharp-1.2.0/test/tests/bugs/outputs/issue146.1.out0000644 000000000000000000000105112050661606022557 0ustar00rootroot0000000 0000000 structure P : sig type t = real end datatype 'a dt con D : ['a .'a -> 'a dt] functor F1 (S : sig type t end) : sig type t = S.t end structure S1 : sig type t = P.t end functor F2 (S : sig type t end) : sig type t = int dt * S.t end structure S2 : sig type t = int dt * P.t end functor F3 (S : sig type t end) : sig datatype 'a dt con D : ['a .'a -> 'a dt] type t = S.t dt end structure S3 : sig datatype 'a dt con D : ['a .'a -> 'a dt] type t = P.t dt end functor F4 (S : sig type t end) : sig type t = S.t dt end structure S4 : sig type t = P.t dt end smlsharp-1.2.0/test/tests/bugs/outputs/issue146.3.out0000644 000000000000000000000023212050661606022561 0ustar00rootroot0000000 0000000 signature S = sig type dt end structure P : sig type t = real end functor F ('X : sig type t end) : S structure T : sig datatype dt con D : P.t -> dt end smlsharp-1.2.0/test/tests/bugs/outputs/issue146.6.out0000644 000000000000000000000127212050661606022571 0ustar00rootroot0000000 0000000 functor MonoVectorBase (B : sig type elem type array val sub : array * int -> elem end) : sig val concat : ['a#{buffer: B.array option}.'a list -> unit] end ../tests/bugs/tests/issue146.6.sml:9.3-17.9 Warning: match nonexhaustive :: (vector, _) => ... ../tests/bugs/tests/issue146.6.sml:14.9-16.27 Warning: match nonexhaustive (0, _) => ... (_, SOME _) => ... structure Operations : sig type array = unit type elem = unit val sub : unit * int -> unit end structure UnitVector : sig val concat : ['a#{buffer:Operations.array option} .'a list -> unit] end smlsharp-1.2.0/test/tests/bugs/outputs/issue147.1.out0000644 000000000000000000000016012050661606022560 0ustar00rootroot0000000 0000000 datatype dt con D : dt ../tests/bugs/tests/issue147.1.sml:2.11-2.11 Error: unbound variable or constructor: y smlsharp-1.2.0/test/tests/bugs/outputs/issue148.1.out0000644 000000000000000000000027412050661606022567 0ustar00rootroot0000000 0000000 datatype 'a t122 con C : ['a .'a -> 'a t122] con D : ['a .'a * int -> 'a t122] val f = fn : ['a .('a -> string) -> 'a t122 -> string] val h = fn : string -> string val it = "foo" : string smlsharp-1.2.0/test/tests/bugs/outputs/issue149.1.out0000644 000000000000000000000016012050661606022562 0ustar00rootroot0000000 0000000 val f21 = fn : ['a#{n1:int, n2:int, n3:int} .'a -> int] val f22 = fn : ['a#{n1:int, n2:int, n3:int} .'a -> int] smlsharp-1.2.0/test/tests/bugs/outputs/issue15.1.out0000644 000000000000000000000007012050661606022472 0ustar00rootroot0000000 0000000 val g = fn : ['a.'a -> int] val f = fn : ['a.'a -> int] smlsharp-1.2.0/test/tests/bugs/outputs/issue150.1.out0000644 000000000000000000000045412050661606022560 0ustar00rootroot0000000 0000000 signature SIG = sig structure S : sig datatype dt = D end end structure P : sig end functor FTrans (S : sig end) : SIG structure STrans : sig structure S : sig datatype dt con D : dt end end functor FOpaque (S : sig end) : SIG structure SOpaque : sig structure S : sig datatype dt con D : dt end end smlsharp-1.2.0/test/tests/bugs/outputs/issue151.1.out0000644 000000000000000000000022412050661606022554 0ustar00rootroot0000000 0000000 datatype 'a dtNeq con DNeq : ['a .'a dtNeq] con ENeq : ['a .'a -> 'a dtNeq] val f = fn : ['a,'b.('a -> 'b) -> 'a dtNeq -> unit] val it = () : unit smlsharp-1.2.0/test/tests/bugs/outputs/issue152.1.out0000644 000000000000000000000033312050661606022556 0ustar00rootroot0000000 0000000 signature S23 = sig eqtype s datatype t con D : real -> t sharing type s = t end ../tests/bugs/tests/issue152.1.sml:7.11-7.66 Error: Signature mismatch (equality): s smlsharp-1.2.0/test/tests/bugs/outputs/issue153.1.out0000644 000000000000000000000014312050661606022556 0ustar00rootroot0000000 0000000 functor FVal (S : sig val x : int end) : sig val y : int end structure TVal : sig val y : int end smlsharp-1.2.0/test/tests/bugs/outputs/issue153.2.out0000644 000000000000000000000020112050661606022552 0ustar00rootroot0000000 0000000 functor FException (S : sig exception E : exn end) : sig exception F : exn end structure TException : sig exception F : exn end smlsharp-1.2.0/test/tests/bugs/outputs/issue153.4.out0000644 000000000000000000000017712050661606022570 0ustar00rootroot0000000 0000000 functor F (P : sig val x : int end) : sig val x : int end structure P : sig val x : int end structure T : sig val x : int end smlsharp-1.2.0/test/tests/bugs/outputs/issue154.1.out0000644 000000000000000000000014112050661606022555 0ustar00rootroot0000000 0000000 signature PSIG = sig type t end signature FSIG = sig type s end functor FTrans (S : PSIG) : FSIG smlsharp-1.2.0/test/tests/bugs/outputs/issue155.1.out0000644 000000000000000000000036612050661606022567 0ustar00rootroot0000000 0000000 functor F (S : sig exception E of real end) : sig exception F : real -> exn val f : ['a .real -> 'a] end structure P : sig exception E : real -> exn end structure T : sig exception F : real -> exn val f : ['a .real -> 'a] end val x = 1.23 : real smlsharp-1.2.0/test/tests/bugs/outputs/issue156.1.out0000644 000000000000000000000034112050661606022561 0ustar00rootroot0000000 0000000 functor F (P : sig type dt val x : dt end) : sig datatype dt con D : P.dt -> dt val x : dt end signature SIG = sig type dt val x : dt end structure T : SIG structure TBasic : sig datatype dt con D : T.dt -> dt val x : dt end smlsharp-1.2.0/test/tests/bugs/outputs/issue156.2.out0000644 000000000000000000000034112050661606022562 0ustar00rootroot0000000 0000000 functor F (P : sig type dt val x : dt end) : sig datatype dt con D : P.dt -> dt val x : dt end signature SIG = sig type dt val x : dt end structure T : SIG structure TBasic : sig datatype dt con D : T.dt -> dt val x : dt end smlsharp-1.2.0/test/tests/bugs/outputs/issue157.1.out0000644 000000000000000000000014512050661606022564 0ustar00rootroot0000000 0000000 signature PSIG = sig datatype dt = D end functor FTrans (S : PSIG) : sig datatype ds con D : ds end smlsharp-1.2.0/test/tests/bugs/outputs/issue157.3.out0000644 000000000000000000000016212050661606022565 0ustar00rootroot0000000 0000000 signature SDatatype = sig type et type ft end functor FDatatypeTrans ('X : sig datatype dt = D end) : SDatatype smlsharp-1.2.0/test/tests/bugs/outputs/issue157.4.out0000644 000000000000000000000042112050661606022564 0ustar00rootroot0000000 0000000 functor FStructure (S : sig structure T : sig datatype dt con D : dt end end) : sig structure T : sig datatype dt con D : dt end end structure TStructure : sig structure T : sig datatype dt con D : X?.T.dt end end structure SStructure : sig datatype dt con D : X?.T.dt end smlsharp-1.2.0/test/tests/bugs/outputs/issue158.1.out0000644 000000000000000000000030112050661606022557 0ustar00rootroot0000000 0000000 signature SIG = sig type t val x : t end functor F (S : sig type t val x : t end) : SIG structure P : sig type t = real val x : real end structure T : sig type t val x : t end val a = - : T.t smlsharp-1.2.0/test/tests/bugs/outputs/issue158.2.out0000644 000000000000000000000030012050661606022557 0ustar00rootroot0000000 0000000 signature SIG = sig type t val x : t end functor F (S : sig type t val x : t end) : SIG structure P : sig type t = real val x : real end structure T : sig type t val x : t end val a = - : T.t smlsharp-1.2.0/test/tests/bugs/outputs/issue159.1.out0000644 000000000000000000000007612050661606022571 0ustar00rootroot0000000 0000000 exception e72 : exn structure S72 : sig exception e : exn end smlsharp-1.2.0/test/tests/bugs/outputs/issue16.6.out0000644 000000000000000000000042312050661606022502 0ustar00rootroot0000000 0000000 datatype ''a dtEq con EEq : [''a. ''a -> ''a dtEq] ../tests/bugs/tests/issue16.6.sml:2.19-2.23 Error: operator and operand don't agree operator domain: ''D operand: 'A(a) ../tests/bugs/tests/issue16.6.sml:2.1-2.23 Error: User type variable cannot be generalized: 'a smlsharp-1.2.0/test/tests/bugs/outputs/issue160.1.out0000644 000000000000000000000061112050661606022554 0ustar00rootroot0000000 0000000 functor F (P : sig type dt val x : dt end) : sig datatype dt con D : P.dt -> dt val x : dt end signature SIG = sig type dt val x : dt end structure S : sig datatype dt con D : dt val x : dt end structure TTrans : sig datatype dt con D : S.dt -> dt val x : dt end val xTrans = D - : TTrans.dt structure TOpaque : sig datatype dt con D : S.dt -> dt val x : dt end val xOpaque = D - : TOpaque.dt smlsharp-1.2.0/test/tests/bugs/outputs/issue161.1.out0000644 000000000000000000000024012050661606022553 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/issue161.1.sml:1.24-1.25 Error: Inconsistent equality types in datatype declaration: a smlsharp-1.2.0/test/tests/bugs/outputs/issue161.3.out0000644 000000000000000000000010212050661606022552 0ustar00rootroot0000000 0000000 type 'a foo = 'a * 'a type 'a foo = 'a * 'a type 'a foo = 'a * 'a smlsharp-1.2.0/test/tests/bugs/outputs/issue162.1.out0000644 000000000000000000000001712050661606022556 0ustar00rootroot0000000 0000000 abstype 'a dt smlsharp-1.2.0/test/tests/bugs/outputs/issue163.1.out0000644 000000000000000000000030312050661606022555 0ustar00rootroot0000000 0000000 val f = fn : ['a.'a -> {a:'a, b:'a}] val g = fn : ['a,'b.{a:'b , b:'a} -> int] val h1 = fn : ['a.'a -> int] val h2 = fn : ['a.'a -> int] val h3 = fn : ['a.'a -> int] val h4 = fn : ['a.'a -> int] smlsharp-1.2.0/test/tests/bugs/outputs/issue164.1.out0000644 000000000000000000000133012050661606022557 0ustar00rootroot0000000 0000000 structure Vector : sig type 'a vector = int * int val fromList : ['a .'a list -> int * int] end structure Array : sig type 'a array = 'a Vector.vector type 'a vector = int * int val fromList : ['a .'a list -> int * int] end signature VECTOR = sig type 'a vector val fromList : ['a .'a list -> 'a vector] end signature ARRAY = sig type 'a array eqtype 'a vector val fromList : ['a .'a list -> 'a array] end structure S : sig structure V : VECTOR structure A : ARRAY sharing type V.vector = A.vector end structure Vector : sig type 'a vector val fromList : ['a .'a list -> 'a vector] end structure Array : sig type 'a array eqtype 'a vector val fromList : ['a .'a list -> 'a array] end smlsharp-1.2.0/test/tests/bugs/outputs/issue164.2.out0000644 000000000000000000000143112050661606022562 0ustar00rootroot0000000 0000000 structure Vector : sig type 'a vector = int * int val fromList : ['a .'a list -> int * int] end structure Array : sig type 'a array = 'a Vector.vector type 'a vector = int * int val fromList : ['a .'a list -> int * int] end signature VECTOR = sig type 'a vector val fromList : ['a .'a list -> 'a vector] end signature ARRAY = sig type 'a array eqtype 'a vector val fromList : ['a .'a list -> 'a array] end structure S : sig structure V : VECTOR structure A : ARRAY sharing type V.vector = A.vector end structure Vector : sig type 'a vector val fromList : ['a .'a list -> 'a vector] end structure Array : sig type 'a array eqtype 'a vector val fromList : ['a .'a list -> 'a array] end type 'a vector = 'a Vector.vector type 'a array = 'a Array.array smlsharp-1.2.0/test/tests/bugs/outputs/issue164.3.out0000644 000000000000000000000142312050661606022564 0ustar00rootroot0000000 0000000 structure Vector : sig type 'a vector = int * int val fromList : ['a .'a list -> int * int] end structure Array : sig type 'a array = 'a Vector.vector type 'a vector = int * int val fromList : ['a .'a list -> int * int] end signature VECTOR = sig type 'a vector val fromList : ['a .'a list -> 'a vector] end signature ARRAY = sig type 'a array eqtype 'a vector val fromList : ['a .'a list -> 'a array] end structure S : sig structure V : VECTOR structure A : ARRAY sharing type V.vector = A.vector end structure Vector : sig type 'a vector val fromList : ['a .'a list -> 'a vector] end structure Array : sig type 'a array eqtype 'a vector val fromList : ['a .'a list -> 'a array] end val vl = - : int Vector.vector val al = - : int Array.array smlsharp-1.2.0/test/tests/bugs/outputs/issue164.6.out0000644 000000000000000000000045312050661606022571 0ustar00rootroot0000000 0000000 structure STR : sig type t = int * int val f : int -> int * int end signature SIG = sig type t val f : int -> t end structure S : sig structure T1 : SIG structure T2 : SIG sharing type T1.t = T2.t end structure STR1 : sig type t val f : int -> t end structure STR2 : sig type t val f : int -> t end smlsharp-1.2.0/test/tests/bugs/outputs/issue165.1.out0000644 000000000000000000000006012050661606022557 0ustar00rootroot0000000 0000000 exception E : exn val f = fn : ['a .'a -> unit] smlsharp-1.2.0/test/tests/bugs/outputs/issue165.2.out0000644 000000000000000000000013312050661606022561 0ustar00rootroot0000000 0000000 exception E : exn val raiseE = fn : ['a .unit -> 'a] val xFree = 2 : int val it = 3 : int smlsharp-1.2.0/test/tests/bugs/outputs/issue166.1.out0000644 000000000000000000000040612050661606022564 0ustar00rootroot0000000 0000000 signature PSIG = sig type t val x : t end functor F (P : PSIG) : sig datatype dt con E : P.t -> dt val y : dt end structure S : sig datatype t con D : t val x : t end structure TOpaque : sig datatype dt con E : S.t -> dt val y : dt end val it = E - : TOpaque.dt smlsharp-1.2.0/test/tests/bugs/outputs/issue168.1.out0000644 000000000000000000000060012050661606022562 0ustar00rootroot0000000 0000000 val id = fn : ['a .'a -> 'a] ../tests/bugs/tests/issue168.1.sml:2.1-2.46 Warning: dummy type variable(s) X0 are introduced due to value restriction val fHanldePolyBodyPolyVar = fn : X0 -> X0 ../tests/bugs/tests/issue168.1.sml:3.30-3.53 Error: operator and operand don't agree operator domain: X0 operand: 'A#{int, IntInf.int} smlsharp-1.2.0/test/tests/bugs/outputs/issue168.2.out0000644 000000000000000000000060312050661606022566 0ustar00rootroot0000000 0000000 val id = fn : ['a .'a -> 'a] val a = fn : ['a .'a -> 'a] ../tests/bugs/tests/issue168.2.sml:3.1-3.12 Warning: dummy type variable(s) X0 are introduced due to value restriction val b = fn : X0 -> X0 ../tests/bugs/tests/issue168.2.sml:4.1-4.3 Error: operator and operand don't agree operator domain: X0 operand: 'A#{int, IntInf.int} smlsharp-1.2.0/test/tests/bugs/outputs/issue169.1.out0000644 000000000000000000000035212050661606022567 0ustar00rootroot0000000 0000000 functor F (S : sig datatype dt con D : dt end) : sig datatype et con D : et end structure TAnonymous : sig datatype dt con D : X?.dt end structure P : sig datatype dt con D : dt end structure TNamed : sig datatype dt con D : P.dt end smlsharp-1.2.0/test/tests/bugs/outputs/issue170.1.out0000644 000000000000000000000007612050661606022562 0ustar00rootroot0000000 0000000 signature SIG = sig type s type t = s end structure STR : SIG smlsharp-1.2.0/test/tests/bugs/outputs/issue171.1.out0000644 000000000000000000000034612050661606022563 0ustar00rootroot0000000 0000000 signature SIG1 = sig datatype dt = D end structure STR1 : sig datatype dt con D : dt end signature SIG2 = sig end structure STR2 : sig end signature SIG3 = sig structure STR1 : SIG1 structure STR2 : SIG2 end structure STR3 : SIG3 smlsharp-1.2.0/test/tests/bugs/outputs/issue172.1.out0000644 000000000000000000000047712050661606022571 0ustar00rootroot0000000 0000000 signature SIG1 = sig datatype dt = D end structure STR1 : sig datatype dt con D : dt end signature SIG2 = sig type dt type st = dt end structure STR2 : sig type dt = STR1.dt type st = dt end signature SIG3 = sig structure STR1 : SIG1 structure STR2 : SIG2 sharing type STR1.dt = STR2.dt end structure STR3 : SIG3 smlsharp-1.2.0/test/tests/bugs/outputs/issue175.1.out0000644 000000000000000000000044712050661606022571 0ustar00rootroot0000000 0000000 signature DICTIONARY = sig type (''key,'value) dict val create : unit -> (''a, 'b) dict end structure Dictionary : DICTIONARY open Dictionary ../tests/bugs/tests/issue175.1.sml:13.1-13.9 Warning: dummy type variable(s) X1, X0 are introduced due to value restriction val it = - : (X1, X0) dict smlsharp-1.2.0/test/tests/bugs/outputs/issue176.2.out0000644 000000000000000000000043212050661606022565 0ustar00rootroot0000000 0000000 functor MonoVectorBase (B : sig end) : sig val f : unit -> unit end functor MonoArrayBase (B : sig end) : sig val f : unit -> unit structure Vector : sig val f : unit -> unit end end structure UnitArray : sig val f : unit -> unit structure Vector : sig val f : unit -> unit end end smlsharp-1.2.0/test/tests/bugs/outputs/issue177.1.out0000644 000000000000000000000072412050661606022571 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/issue177.1.sml:1.1-1.20 Warning: match nonexhaustive SOME v => ... val get = fn : ['a .'a option -> 'a] functor MonoVectorBase (B : sig end) : sig val concat : ['a .'a option -> 'a] end functor MonoArrayBase (B : sig end) : sig structure Vector : sig val concat : ['a .'a option -> 'a] end end structure UnitArray : sig structure Vector : sig val concat : ['a .'a option -> 'a] end end smlsharp-1.2.0/test/tests/bugs/outputs/issue179.1.out0000644 000000000000000000000026612050661606022574 0ustar00rootroot0000000 0000000 signature STREAM = sig type 'xa stream val streamify : (unit -> '_a) -> '_a stream val cons : '_a * '_a stream -> '_a stream val get : '_a stream -> '_a * '_a stream end smlsharp-1.2.0/test/tests/bugs/outputs/issue18.1.out0000644 000000000000000000000027612050661606022505 0ustar00rootroot0000000 0000000 val a1 = {a = 1} : {a:int} val a2 = {a = {b = 2}} : {a:{b:int}} val it = 1 : int val it = {b = 2} : {b:int} val f = fn : ['a#{a: 'b},'b.'a -> 'b] val it = 1 : int val it = {b = 2} : {b:int} smlsharp-1.2.0/test/tests/bugs/outputs/issue180.1.out0000644 000000000000000000000007312050661606022560 0ustar00rootroot0000000 0000000 val x = [fn, fn] : ['a#{a: 'b,b: 'b},'b.('a -> 'b) list] smlsharp-1.2.0/test/tests/bugs/outputs/issue182.1.out0000644 000000000000000000000042412050661606022562 0ustar00rootroot0000000 0000000 datatype ''a dtEq con EEq : [''a .''a -> ''a dtEq] ../tests/bugs/tests/issue182.1.sml:2.19-2.23 Error: operator and operand don't agree operator domain: ''D operand: 'A(a) ../tests/bugs/tests/issue182.1.sml:2.1-2.23 Error: User type variable cannot be generalized: 'a smlsharp-1.2.0/test/tests/bugs/outputs/issue183.3.out0000644 000000000000000000000202412050661606022563 0ustar00rootroot0000000 0000000 signature LR_TABLE = sig datatype state = STATE of int datatype term = T of int datatype action = SHIFT of state | REDUCE of int | ACCEPT | ERROR type table = {x:int} val action : table -> state * term -> action end structure LrTable : LR_TABLE ../tests/bugs/tests/issue183.3.sml:34.7-34.51 Warning: match nonexhaustive LrParser.SHIFT state => ... structure LrParser : sig datatype action con ACCEPT : action con ERROR : action con REDUCE : int -> action con SHIFT : state -> action datatype state con STATE : int -> state type table = {x:int} datatype term con T : int -> term val action : table -> state * term -> action val prAction : action -> unit structure LrTable : sig datatype action con ACCEPT : action con ERROR : action con REDUCE : int -> action con SHIFT : state -> action datatype state con STATE : int -> state type table = {x:int} datatype term con T : int -> term val action : table -> state * term -> action end end smlsharp-1.2.0/test/tests/bugs/outputs/issue185.2.out0000644 000000000000000000000002112050661606022557 0ustar00rootroot0000000 0000000 val it = 3 : int smlsharp-1.2.0/test/tests/bugs/outputs/issue187.3.1.out0000644 000000000000000000000027412050661606022733 0ustar00rootroot0000000 0000000 type ('a, 'b) t = {m:'b , n:'a} signature SIG = sig val f : {y : ('a, 'b) t, z : 'b} -> 'b end structure STR : SIG val it = fn : ['a,'b.{y:('a, 'b) t , z:'b} -> 'b] val it = "b" : string smlsharp-1.2.0/test/tests/bugs/outputs/issue187.3.2.out0000644 000000000000000000000023412050661606022730 0ustar00rootroot0000000 0000000 type ('a, 'b) t = 'b * 'a signature SIG = sig val f : ('a, 'b) t -> 'b end structure STR : SIG val it = fn : ['a,'b.('a, 'b) t -> 'b] val it = "a" : string smlsharp-1.2.0/test/tests/bugs/outputs/issue189.1.out0000644 000000000000000000000013012050661606022563 0ustar00rootroot0000000 0000000 val slice = fn : ['a,'b.'b list * 'a -> unit] val subslice = fn : ['a .'a list -> unit] smlsharp-1.2.0/test/tests/bugs/outputs/issue19.1.out0000644 000000000000000000000004112050661606022474 0ustar00rootroot0000000 0000000 val escape = fn : char -> string smlsharp-1.2.0/test/tests/bugs/outputs/issue19.2.out0000644 000000000000000000000004212050661606022476 0ustar00rootroot0000000 0000000 val case_wordconst1 = true : bool smlsharp-1.2.0/test/tests/bugs/outputs/issue190.1.out0000644 000000000000000000000022712050661606022562 0ustar00rootroot0000000 0000000 signature STREAM_IO = sig type vector end ../tests/bugs/tests/issue190.1.sml:6.1-12.33 Error: rigid type in where type realisation:StreamIO.vector smlsharp-1.2.0/test/tests/bugs/outputs/issue191.1.out0000644 000000000000000000000013412050661606022560 0ustar00rootroot0000000 0000000 signature SIG = sig type t end functor FUN ('X : sig type s end) : SIG where type t = 'X.s smlsharp-1.2.0/test/tests/bugs/outputs/issue193.1.out0000644 000000000000000000000002612050661606022562 0ustar00rootroot0000000 0000000 structure S : sig end smlsharp-1.2.0/test/tests/bugs/outputs/issue194.1.out0000644 000000000000000000000046512050661606022572 0ustar00rootroot0000000 0000000 signature T = sig end ../tests/bugs/tests/issue194.1.sml:5.3-5.14 Warning: match nonexhaustive D => ... structure S1 : T ../tests/bugs/tests/issue194.1.sml:11.3-11.14 Warning: match nonexhaustive D => ... structure S2 : sig datatype dt con D : dt con E : dt val f : dt -> unit end smlsharp-1.2.0/test/tests/bugs/outputs/issue195.2.out0000644 000000000000000000000120212050661606022562 0ustar00rootroot0000000 0000000 type float = real type pt = float * float * float datatype nuc_specific con A : pt * pt * pt * pt * pt * pt * pt * pt -> nuc_specific con C : pt * pt * pt * pt * pt * pt -> nuc_specific con G : pt * pt * pt * pt * pt * pt * pt * pt * pt -> nuc_specific con U : pt * pt * pt * pt * pt -> nuc_specific val is_A = fn : ['a,'b,'c,'d,'e,'f,'g,'h,'i,'j,'k,'l,'m,'n,'o,'p,'q,'r,'s,'t,'u,'v,'w,'x,'y,'z,'aa,'ab,'ac. 'ac * 'ab * 'aa * 'z * 'y * 'x * 'w * 'v * 'u * 't * 's * 'r * 'q * 'p * 'o * 'n * 'm * 'l * 'k * 'j * 'i * 'h * 'g * 'f * 'e * 'd * 'c * 'b * 'a * nuc_specific -> bool] smlsharp-1.2.0/test/tests/bugs/outputs/issue196.1.out0000644 000000000000000000000003312050661606022563 0ustar00rootroot0000000 0000000 val f = fn : unit -> bool smlsharp-1.2.0/test/tests/bugs/outputs/issue198.1.out0000644 000000000000000000000026512050661606022574 0ustar00rootroot0000000 0000000 val mkWriter = fn : ['a .'a -> {name:'a , writeArr:unit , writeArrNB:unit}] val it = { name = "", writeArr = (), writeArrNB = () } : {name:string , writeArr:unit , writeArrNB:unit} smlsharp-1.2.0/test/tests/bugs/outputs/issue20.1.out0000644 000000000000000000000052212050661606022470 0ustar00rootroot0000000 0000000 issue20.1.temp:1.1-1.31 Warning: dummy type variable(s) X1, X0 are introduced due to value restriction val it = fn : X0 * X1 -> X0 * X1 issue20.1.temp:2.1-2.31 Warning: dummy type variable(s) X1, X0 are introduced due to value restriction val it = fn : X0 * X1 -> X0 * X1 smlsharp-1.2.0/test/tests/bugs/outputs/issue200.1.out0000644 000000000000000000000036112050661606022551 0ustar00rootroot0000000 0000000 val x = [fn, fn] : ['a#{a: 'b,b: 'b},'b.('a -> 'b) list] ../tests/bugs/tests/issue200.1.sml:2.1-2.44 Warning: dummy type variable(s) X0 are introduced due to value restriction val v1 = [fn,fn] : ({a:X0 , b:X0} -> X0) list val v2 = 1 : int smlsharp-1.2.0/test/tests/bugs/outputs/issue201.1.out0000644 000000000000000000000007612050661606022555 0ustar00rootroot0000000 0000000 val v2 = {a=1} : {a:int} val v3 = {a=1,b=2} : {a:int, b:int} smlsharp-1.2.0/test/tests/bugs/outputs/issue202.1.out0000644 000000000000000000000025112050661606022551 0ustar00rootroot0000000 0000000 functor TextIOFn ('X : sig end) : sig val input1 : unit -> char option end structure TextIO : sig val input1 : unit -> char option end val it = SOME #"a" : char option smlsharp-1.2.0/test/tests/bugs/outputs/issue203.1.out0000644 000000000000000000000013712050661606022555 0ustar00rootroot0000000 0000000 signature SIG = sig type t datatype dt = D of t end structure STR1 : SIG structure STR2 : SIG smlsharp-1.2.0/test/tests/bugs/outputs/issue204.1.out0000644 000000000000000000000031112050661606022550 0ustar00rootroot0000000 0000000 exception Domain : exn val fold = fn : ['a,'b.'b list*('b*'a -> 'a)*'a -> 'a] val foldOverSubsets = fn : ['a,'b,'c. 'b list*('b*bool*'a*'c*('c -> exn) -> 'a*'c)*'a*('a*'c -> 'c)*'c -> 'c] smlsharp-1.2.0/test/tests/bugs/outputs/issue205.2.out0000644 000000000000000000000042712050661606022562 0ustar00rootroot0000000 0000000 datatype t21 con C21 : int -> t21 datatype t22 con C22 : t21 -> t22 datatype t21 con C21 : t22 -> t21 datatype t22 con C22 : int -> t22 datatype t21 con C21 : t22 -> t21 datatype t22 con C22 : t21 -> t22 datatype t21 con C21 : t22 -> t21 datatype t22 con C22 : t21 * bool -> t22 smlsharp-1.2.0/test/tests/bugs/outputs/issue206.1.out0000644 000000000000000000000020612050661606022555 0ustar00rootroot0000000 0000000 signature T = sig end ../tests/bugs/tests/issue206.1.sml:5.3-5.14 Warning: match nonexhaustive D => ... structure S : T smlsharp-1.2.0/test/tests/bugs/outputs/issue207.2.out0000644 000000000000000000000052112050661606022557 0ustar00rootroot0000000 0000000 datatype ''a dt con D : [''a .''a -> ''a dt] val f_dt = fn : [''a,'b.(''a -> 'b) -> ''a dt -> 'b] val x = "abc" : string datatype 'a p con P : ['a .'a -> 'a p] val f_p = fn : ['a,'b.('a -> 'b) -> 'a p -> 'b] val x = "()" : string datatype 'a p con P : ['a .'a -> 'a p] val f_p = fn : ['a,'b.('a -> 'b) -> 'a p -> 'b] val x = "x" : stringsmlsharp-1.2.0/test/tests/bugs/outputs/issue208.1.out0000644 000000000000000000000012512050661606022557 0ustar00rootroot0000000 0000000 datatype ('a, 'b) t con A : ['a,'b.'b -> ('b, 'a) t] val x = A 1 : ['a .(int, 'a) t] smlsharp-1.2.0/test/tests/bugs/outputs/issue209.1.out0000644 000000000000000000000014112050661606022556 0ustar00rootroot0000000 0000000 datatype dt21 con D21 : int * real -> dt21 type t = int * real datatype dt21 con D21 : t -> dt21 smlsharp-1.2.0/test/tests/bugs/outputs/issue21.1.out0000644 000000000000000000000004012050661606022464 0ustar00rootroot0000000 0000000 val case_layered1 = true : bool smlsharp-1.2.0/test/tests/bugs/outputs/issue210.1.out0000644 000000000000000000000053712050661606022557 0ustar00rootroot0000000 0000000 functor F (P : sig type dt val x : dt val fmt : dt -> string end) : sig datatype dt con F : P.dt -> dt val fmt : dt -> string val x : dt end structure P : sig datatype dt con D : dt val fmt : dt -> string val x : dt end structure T2 : sig datatype dt con F : F.dt -> dt val fmt : dt -> string val x : dt end val x2 = F - : T2.dt val it = "D" : string smlsharp-1.2.0/test/tests/bugs/outputs/issue211.2.out0000644 000000000000000000000021612050661606022553 0ustar00rootroot0000000 0000000 functor F ('X : sig end) : sig val x : unit end structure P : sig end structure S1 : sig val x : unit end structure S2 : sig val x : unit end smlsharp-1.2.0/test/tests/bugs/outputs/issue212.1.out0000644 000000000000000000000021512050661606022552 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/issue212.1.sml:1.1-1.9 Error: can't find function arguments in clause smlsharp-1.2.0/test/tests/bugs/outputs/issue213.1.out0000644 000000000000000000000017612050661606022561 0ustar00rootroot0000000 0000000 val f = fn : ['a .'a -> int] structure STR1 : sig val f : real -> real end structure STR2 : sig end open STR2 val x = 1 : int smlsharp-1.2.0/test/tests/bugs/outputs/issue215.1.out0000644 000000000000000000000007412050661606022560 0ustar00rootroot0000000 0000000 - uncaught exception overflow raised at: - smlsharp-1.2.0/test/tests/bugs/outputs/issue216.1.out0000644 000000000000000000000002012050661606022550 0ustar00rootroot0000000 0000000 val x = 1 : int smlsharp-1.2.0/test/tests/bugs/outputs/issue218.1.out0000644 000000000000000000000056512050661606022570 0ustar00rootroot0000000 0000000 signature SIG = sig structure SIG1 : sigtype s end structure SIG2 : sig type t end sharing type SIG2.t = SIG1.s end functor F (P : SIG) : sig end structure S : sig structure SIG1 : sig type s = int end structure SIG2 : sig type t = int end end structure T : sig end structure SOpaque : SIG structure T : sig end structure STrans : SIG structure T : sig end smlsharp-1.2.0/test/tests/bugs/outputs/issue219.1.out0000644 000000000000000000000026412050661606022565 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/issue219.1.sml:1.9-1.13 Error: operator and operand don't agree operator domain: 'B#{int, IntInf.int, real, Real32.real} operand: 'A#{word, Word8.word} smlsharp-1.2.0/test/tests/bugs/outputs/issue224.1.out0000644 000000000000000000000030212050661606022552 0ustar00rootroot0000000 0000000 - stdIn:13.1-13.25 Warning: type vars not generalized because of value restriction are instantiated to dummy types (X1,X2,...) uncaught exception Fail: foo raised at: stdIn:13.15-13.25 - smlsharp-1.2.0/test/tests/bugs/outputs/issue227.1.out0000644 000000000000000000000025712050661606022566 0ustar00rootroot0000000 0000000 signature P = sig datatype t = D end signature Q = sig type t val f : t end signature S = sig structure P : P structure Q : Q sharing type P.t = Q.t end functor F (S : S) : Q smlsharp-1.2.0/test/tests/bugs/outputs/issue228.1.out0000644 000000000000000000000136312050661606022566 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/issue228.1.sml:3.1-5.19 Error: duplicate name in val rec: f ../tests/bugs/tests/issue228.1.sml:8.1-10.19 Error: duplicate name in val rec: f ../tests/bugs/tests/issue228.1.sml:13.1-16.19 Error: duplicate name in val rec: f ../tests/bugs/tests/issue228.1.sml:13.1-16.19 Error: duplicate name in val rec: g ../tests/bugs/tests/issue228.1.sml:22.1-24.13 Error: duplicate name in val rec: f ../tests/bugs/tests/issue228.1.sml:27.1-29.13 Error: duplicate name in val rec: f ../tests/bugs/tests/issue228.1.sml:32.1-34.11 Error: duplicate name in val rec: f ../tests/bugs/tests/issue228.1.sml:36.1-39.13 Error: duplicate name in val rec: f ../tests/bugs/tests/issue228.1.sml:36.1-39.13 Error: duplicate name in val rec: g smlsharp-1.2.0/test/tests/bugs/outputs/issue23.1.out0000644 000000000000000000000054412050661606022477 0ustar00rootroot0000000 0000000 val map_int = fn : (int -> int) -> int list -> int list val it = [1] : int list val map = fn : ['a,'b.('b -> 'a) -> 'b list -> 'a list] val it = [1] : int list val it = [1] : int list val map_argint = fn : ['a.(int -> 'a) -> int list -> 'a list] val it = [1] : int list val map_resint = fn : ['a.('a -> int) -> 'a list -> int list] val it = [1] : int list smlsharp-1.2.0/test/tests/bugs/outputs/issue230.1.out0000644 000000000000000000000013112050661606022547 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/issue230.1.sml:1.7-1.9 Error: duplicate variables in pattern(s): x smlsharp-1.2.0/test/tests/bugs/outputs/issue231.1.out0000644 000000000000000000000015612050661606022557 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/issue231.1.sml:1.1-1.27 Error: duplicate type parameter name in datatype declaration: a smlsharp-1.2.0/test/tests/bugs/outputs/issue233.1.out0000644 000000000000000000000030512050661606022555 0ustar00rootroot0000000 0000000 val it = "0.0" : string val it = "0.0" : string val it = "0.1" : string val it = "~0.1" : string val it = "10" : string val it = "~10" : string val it = "10.01" : string val it = "~10.01" : string smlsharp-1.2.0/test/tests/bugs/outputs/issue234.1.out0000644 000000000000000000000034512050661606022562 0ustar00rootroot0000000 0000000 signature SIG = sig datatype dt = T of int type t sharing type t = dt end structure STR : sig datatype dt con T : int -> dt type t = dt end functor FUN (STR : SIG) : sig type t = STR.dt end structure S : sig type t = STR.dt end smlsharp-1.2.0/test/tests/bugs/outputs/issue235.1.out0000644 000000000000000000000014612050661606022562 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/issue235.1.sml:1.5-1.5 Error: non-constructor applied to argument in pattern: _ smlsharp-1.2.0/test/tests/bugs/outputs/issue236.1.out0000644 000000000000000000000004112050661606022555 0ustar00rootroot0000000 0000000 val f = fn : ['a.{f:int} -> 'a] smlsharp-1.2.0/test/tests/bugs/outputs/issue237.1.out0000644 000000000000000000000034012050661606022560 0ustar00rootroot0000000 0000000 structure S : sig datatype dt1 con D1 : dt1 datatype dt2 con D2 : dt2 end datatype dt1 con D1 : dt1 datatype 'a dt2 con D2 : ['a .'a dt2] structure S : sig datatype dt1 con D1 : dt1 datatype 'a dt2 con D2 : ['a .'a dt2] end smlsharp-1.2.0/test/tests/bugs/outputs/issue238.1.out0000644 000000000000000000000040312050661606022561 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/issue238.1.sml:2.28-2.29 Error: unbound variable or constructor: << ../tests/bugs/tests/issue238.1.sml:2.13-2.31 Error: operator and operand don't agree operator domain: 'F -> 'H#{int, largeInt} -> 'K operand: 'D#{int, largeInt} smlsharp-1.2.0/test/tests/bugs/outputs/issue239.1.out0000644 000000000000000000000027312050661606022567 0ustar00rootroot0000000 0000000 val x = 0wx0 : byte val getbyte = fn : ['a .'a -> byte] ../tests/bugs/tests/issue239.1.sml:8.1-8.29 Warning: match nonexhaustive 0wx0 => ... val getbyte = fn : byte -> unit smlsharp-1.2.0/test/tests/bugs/outputs/issue24.1.out0000644 000000000000000000000031312050661606022472 0ustar00rootroot0000000 0000000 val until = fn : ['a,'b.('b -> bool) -> 'b list -> 'a list] ../tests/bugs/tests/issue24.1.sml:3.1-3.24 Warning: dummy type variable(s) X0 are introduced due to value restriction val it = [] : X0 list smlsharp-1.2.0/test/tests/bugs/outputs/issue240.1.out0000644 000000000000000000000010712050661606022553 0ustar00rootroot0000000 0000000 val f = fn : ['a .real -> int -> 'a -> string] val it = "" : string smlsharp-1.2.0/test/tests/bugs/outputs/issue241.1.out0000644 000000000000000000000010512050661606022552 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/issue241.1.sml:1.9-1.22 Error: too large constantsmlsharp-1.2.0/test/tests/bugs/outputs/issue242.1.out0000644 000000000000000000000007412050661606022560 0ustar00rootroot0000000 0000000 - uncaught exception overflow raised at: - smlsharp-1.2.0/test/tests/bugs/outputs/issue243.1.out0000755 000000000000000000000014712050661606022565 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/issue243.1.sml:1.5-1.5 Error: non-constructor applied to argument in pattern: 1 smlsharp-1.2.0/test/tests/bugs/outputs/issue246.1.out0000755 000000000000000000000027712050661606022574 0ustar00rootroot0000000 0000000 type 'a reader = 'a -> 'a option val f = fn : ['a .'a -> 'a option] val x = NONE : string option val it = 1 : int val f = fn : ['a .'a reader] val x = NONE : string option val it = 1 : int smlsharp-1.2.0/test/tests/bugs/outputs/issue247.1.out0000755 000000000000000000000016712050661606022573 0ustar00rootroot0000000 0000000 datatype 'a d con A : ['a .'a -> 'a d] con B : ['a .int d -> 'a d] val x = B ... : ['a .'a d] val x = B ... : real d smlsharp-1.2.0/test/tests/bugs/outputs/issue247.2.out0000755 000000000000000000000276012050661606022575 0ustar00rootroot0000000 0000000 datatype ('a, 'b) d12_1 con A12_1 : ['a,'b.('b, 'a) d12_1 -> ('b, 'a) d12_1] con B12_1 : ['a,'b.'b -> ('b, 'a) d12_1] val it = A12_1 (B12_1 1) : ['a .(int, 'a) d12_1] val it = A12_1 (B12_1 1.23) : ['a .(real, 'a) d12_1] datatype ('a, 'b) d12_2 con A12_2 : ['a,'b.('a, 'b) d12_2 -> ('b, 'a) d12_2] con B12_2 : ['a,'b.'b -> ('b, 'a) d12_2] val it = A12_2 ... : ['a .('a, int) d12_2] val it = A12_2 ... : ['a .('a, real) d12_2] datatype 'a d21_1 con A21_1 : ['a .'a e21_1 -> 'a d21_1] con B21_1 : ['a .'a -> 'a d21_1] datatype 'a e21_1 con C21_1 : ['a .'a d21_1 -> 'a e21_1] val it = C21_1 ... : int e21_1 datatype 'a d21_2 con A21_2 : ['a .'a e21_2 -> 'a d21_2] con B21_2 : ['a .'a -> 'a d21_2] datatype 'a e21_2 con C21_2 : ['a .int d21_2 -> 'a e21_2] val it = C21_2 ... : ['a .'a e21_2] datatype ('a, 'b) d22_1 con A22_1 : ['a,'b.('b, 'a) e22_1 -> ('b, 'a) d22_1] con B22_1 : ['a,'b.'b -> ('b, 'a) d22_1] datatype ('a, 'b) e22_1 con C22_1 : ['a,'b.('b, 'a) d22_1 -> ('b, 'a) e22_1] val it = C22_1 ... : ['a .(int, 'a) e22_1] datatype ('a, 'b) d22_2 con A22_2 : ['a,'b.('b, 'a) e22_2 -> ('b, 'a) d22_2] con B22_2 : ['a,'b.'b -> ('b, 'a) d22_2] datatype ('a, 'b) e22_2 con C22_2 : ['a,'b.('a, 'b) d22_2 -> ('b, 'a) e22_2] val it = C22_2 ... : ['a .(int, 'a) e22_2] datatype ('a, 'b) d22_3 con A22_3 : ['a,'b.('a, 'b) e22_3 -> ('b, 'a) d22_3] con B22_3 : ['a,'b.'b -> ('b, 'a) d22_3] datatype ('a, 'b) e22_3 con C22_3 : ['a,'b.('a, 'b) d22_3 -> ('b, 'a) e22_3] val it = C22_3 ... : ['a .('a, int) e22_3] smlsharp-1.2.0/test/tests/bugs/outputs/issue248.1.out0000755 000000000000000000000014612050661606022571 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/issue248.1.sml:1.5-1.5 Error: non-constructor applied to argument in pattern: _ smlsharp-1.2.0/test/tests/bugs/outputs/issue25.1.out0000644 000000000000000000000003012050661606022467 0ustar00rootroot0000000 0000000 val it = "#\"" : string smlsharp-1.2.0/test/tests/bugs/outputs/issue25.2.out0000644 000000000000000000000005112050661606022473 0ustar00rootroot0000000 0000000 val it = "\\n" : string val it = 2 : int smlsharp-1.2.0/test/tests/bugs/outputs/issue250.1.out0000755 000000000000000000000003312050661606022555 0ustar00rootroot0000000 0000000 val x = 0wx12345678 : byte smlsharp-1.2.0/test/tests/bugs/outputs/issue251.1.out0000755 000000000000000000000032412050661606022561 0ustar00rootroot0000000 0000000 val f = fn : ['a#{a: 'b,b: int -> int},'b.'a -> unit] val f = fn : ['a#{b:int -> int} .'a -> unit] val f = fn : ['a#{a: 'b,b: int -> int},'b.'a -> unit] val f = fn : ['a#{a: 'b,b: int -> 'c},'b,'c.'a -> unit] smlsharp-1.2.0/test/tests/bugs/outputs/issue256.1.out0000755 000000000000000000000051112050661606022564 0ustar00rootroot0000000 0000000 structure STR : sig datatype dt con D : dt con E : dt con F : dt val x : dt end signature SIG1 = sig datatype dt = D | E | F val x : dt end structure STR1 : SIG1 val r1 = true : bool signature SIG2 = sig datatype dt = E | F | D val x : dt end structure STR2 : SIG2 val r2 = true : bool structure STR3 : SIG2 val r3 = true : bool smlsharp-1.2.0/test/tests/bugs/outputs/issue257.1.out0000755 000000000000000000000013212050661606022564 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/issue257.1.sml:1.8-1.15 Error: pattern to left of AS must be variable smlsharp-1.2.0/test/tests/bugs/outputs/issue258.1.out0000755 000000000000000000000023312050661606022567 0ustar00rootroot0000000 0000000 val f = fn : ['a,'b.'b * 'a -> {a:'b , b:'a}] val g = fn : ['a#{a: 'b},'b.'a -> 'b] val cons = fn : ['a .'a * 'a list -> 'a list] val x = [1] : int list smlsharp-1.2.0/test/tests/bugs/outputs/issue26.1.out0000644 000000000000000000000007012050661606022474 0ustar00rootroot0000000 0000000 val g = fn : ['a.'a -> int] val f = fn : ['a.'a -> int] smlsharp-1.2.0/test/tests/bugs/outputs/issue260.2.out0000755 000000000000000000000044212050661606022563 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/issue260.2.sml:8.9-8.31 Warning: match nonexhaustive 1 => ... ../tests/bugs/tests/issue260.2.sml:11.9-11.33 Warning: match nonexhaustive 1 => ... ../tests/bugs/tests/issue260.2.sml:14.9-14.35 Warning: match nonexhaustive 1 => ... smlsharp-1.2.0/test/tests/bugs/outputs/issue27.1.out0000644 000000000000000000000002512050661606022475 0ustar00rootroot0000000 0000000 type r1 = {1 : bool} smlsharp-1.2.0/test/tests/bugs/outputs/issue277.1.out0000755 000000000000000000000016412050661606022573 0ustar00rootroot0000000 0000000 val f = fn : exn -> int exception E : exn Match uncaught exception stdIn:11.9-11.11 RuntimeError:ExecutionException smlsharp-1.2.0/test/tests/bugs/outputs/issue29.1.out0000644 000000000000000000000003712050661606022502 0ustar00rootroot0000000 0000000 val x = fn : ['a.'a -> 'a ref] smlsharp-1.2.0/test/tests/bugs/outputs/issue29.2.out0000644 000000000000000000000005712050661606022505 0ustar00rootroot0000000 0000000 val x = fn : ['a,'b.'a * 'b -> ('a * 'b) ref] smlsharp-1.2.0/test/tests/bugs/outputs/issue29.3.out0000644 000000000000000000000003512050661606022502 0ustar00rootroot0000000 0000000 val it = ref true : bool ref smlsharp-1.2.0/test/tests/bugs/outputs/issue33.1.out0000644 000000000000000000000002712050661606022474 0ustar00rootroot0000000 0000000 type 'a pair = 'a * 'a smlsharp-1.2.0/test/tests/bugs/outputs/issue34.1.out0000644 000000000000000000000007712050661606022502 0ustar00rootroot0000000 0000000 type ('a,'b) pair2 = 'a * 'a val y = (1,2) : (int, real) pair2 smlsharp-1.2.0/test/tests/bugs/outputs/issue37.1.out0000644 000000000000000000000007712050661606022505 0ustar00rootroot0000000 0000000 val y = 10 : int val z = 20 : int val x = (10, 20) : int * int smlsharp-1.2.0/test/tests/bugs/outputs/issue39.1.out0000644 000000000000000000000621112050661606022503 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/issue39.1.sml:2.10-2.37 Error: duplicate label in record:a ../tests/bugs/tests/issue39.1.sml:2.10-2.37 Error: duplicate label in record:b ../tests/bugs/tests/issue39.1.sml:5.13-5.40 Error: duplicate label in record pattern:a ../tests/bugs/tests/issue39.1.sml:5.13-5.40 Error: duplicate label in record pattern:b ../tests/bugs/tests/issue39.1.sml:6.8-6.35 Error: duplicate label in record pattern:a ../tests/bugs/tests/issue39.1.sml:6.8-6.35 Error: duplicate label in record pattern:b ../tests/bugs/tests/issue39.1.sml:9.32-9.72 Error: duplicate label in a record type:a ../tests/bugs/tests/issue39.1.sml:9.32-9.72 Error: duplicate label in a record type:b ../tests/bugs/tests/issue39.1.sml:11.27-11.67 Error: duplicate label in a record type:a ../tests/bugs/tests/issue39.1.sml:11.27-11.67 Error: duplicate label in a record type:b ../tests/bugs/tests/issue39.1.sml:12.23-12.63 Error: duplicate label in a record type:a ../tests/bugs/tests/issue39.1.sml:12.23-12.63 Error: duplicate label in a record type:b ../tests/bugs/tests/issue39.1.sml:13.11-13.51 Error: duplicate label in a record type:a ../tests/bugs/tests/issue39.1.sml:13.11-13.51 Error: duplicate label in a record type:b ../tests/bugs/tests/issue39.1.sml:14.21-14.61 Error: duplicate label in a record type:a ../tests/bugs/tests/issue39.1.sml:14.21-14.61 Error: duplicate label in a record type:b ../tests/bugs/tests/issue39.1.sml:15.17-15.57 Error: duplicate label in a record type:a ../tests/bugs/tests/issue39.1.sml:15.17-15.57 Error: duplicate label in a record type:b ../tests/bugs/tests/issue39.1.sml:16.28-16.68 Error: duplicate label in a record type:a ../tests/bugs/tests/issue39.1.sml:16.28-16.68 Error: duplicate label in a record type:b ../tests/bugs/tests/issue39.1.sml:17.12-17.52 Error: duplicate label in a record type:a ../tests/bugs/tests/issue39.1.sml:17.12-17.52 Error: duplicate label in a record type:b ../tests/bugs/tests/issue39.1.sml:18.13-18.53 Error: duplicate label in a record type:a ../tests/bugs/tests/issue39.1.sml:18.13-18.53 Error: duplicate label in a record type:b smlsharp-1.2.0/test/tests/bugs/outputs/issue43.1.out0000644 000000000000000000000021312050661606022472 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/issue43.1.sml:1.1-1.34 Error: bound expression in val rec must be fn smlsharp-1.2.0/test/tests/bugs/outputs/issue45.1.out0000644 000000000000000000000006312050661606022477 0ustar00rootroot0000000 0000000 val f = fn : ['a,'b,'c.('a -> 'c*'b) -> 'a -> 'c] smlsharp-1.2.0/test/tests/bugs/outputs/issue46.1.out0000644 000000000000000000000002012050661606022471 0ustar00rootroot0000000 0000000 val x = 1 : int smlsharp-1.2.0/test/tests/bugs/outputs/issue47.1.out0000644 000000000000000000000004412050661606022500 0ustar00rootroot0000000 0000000 val sub = fn : string * int -> char smlsharp-1.2.0/test/tests/bugs/outputs/issue48.1.out0000644 000000000000000000000006212050661606022501 0ustar00rootroot0000000 0000000 val f = fn : ['a,'b,'c.('a -> 'c*'b) -> 'a -> 'c] smlsharp-1.2.0/test/tests/bugs/outputs/issue51.1.out0000644 000000000000000000000004012050661606022467 0ustar00rootroot0000000 0000000 val x = 1 : int val x = 2 : int smlsharp-1.2.0/test/tests/bugs/outputs/issue51.2.out0000644 000000000000000000000005212050661606022473 0ustar00rootroot0000000 0000000 datatype t con D : t datatype t con D : t smlsharp-1.2.0/test/tests/bugs/outputs/issue53.1.out0000644 000000000000000000000006412050661606022477 0ustar00rootroot0000000 0000000 val f = fn : int -> int val f = fn : ['a .'a -> 'a] smlsharp-1.2.0/test/tests/bugs/outputs/issue54.1.out0000644 000000000000000000000017012050661606022476 0ustar00rootroot0000000 0000000 structure stacktran : sig datatype 'a list con Cons : ['a .'a * 'a list -> 'a list] con Nil : ['a .'a list] end smlsharp-1.2.0/test/tests/bugs/outputs/issue55.1.out0000644 000000000000000000000024012050661606022475 0ustar00rootroot0000000 0000000 structure S1 : sig datatype t con D : t end structure S2 : sig datatype t con D : t end val it = D : S2.t structure S3 : sig datatype t con D : t val x : t end smlsharp-1.2.0/test/tests/bugs/outputs/issue56.1.out0000644 000000000000000000000017112050661606022501 0ustar00rootroot0000000 0000000 datatype 'a foo con Foo : ['a. 'a -> 'a foo] datatype 'a bar con Bar : ['a. 'a foo -> 'a bar] val v1 = Bar ... : int bar smlsharp-1.2.0/test/tests/bugs/outputs/issue57.1.out0000644 000000000000000000000015112050661606022500 0ustar00rootroot0000000 0000000 structure S1 : sig datatype t con D : t end structure S2 : sig datatype t con D : t end val x = D : S2.t smlsharp-1.2.0/test/tests/bugs/outputs/issue57.2.out0000644 000000000000000000000013212050661606022500 0ustar00rootroot0000000 0000000 structure S : sig datatype t con D : t datatype u con C : t -> u end smlsharp-1.2.0/test/tests/bugs/outputs/issue58.1.out0000644 000000000000000000000035412050661606022506 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/issue58.1.sml:1.1-1.21 Warning: match nonexhaustive 0 => ... 1 => ... val f = fn : int -> int smlsharp-1.2.0/test/tests/bugs/outputs/issue61.1.out0000644 000000000000000000000014312050661606022474 0ustar00rootroot0000000 0000000 datatype t121 con C121 : t121 datatype 'a t122 con C122 : ['a.'a -> 'a t122] val it = C121 : t121 smlsharp-1.2.0/test/tests/bugs/outputs/issue61.2.out0000644 000000000000000000000055412050661606022503 0ustar00rootroot0000000 0000000 datatype 'a t121 con C121 : ['a.'a -> 'a t121] datatype 'a t122 con C122 : ['a.'a -> 'a t122] val it = C121 121 : int t121 datatype 'a t121 con C121 : ['a.'a t121] datatype 'a t122 con C122 : ['a.'a -> 'a t122] val it = C121 : ['a.'a t121] datatype 'a t121 con C121 : ['a.'a -> 'a t121] datatype 'a t122 con C122 : ['a.'a -> 'a t122] val it = C121 121 : int t121 smlsharp-1.2.0/test/tests/bugs/outputs/issue62.1.out0000644 000000000000000000000010012050661606022466 0ustar00rootroot0000000 0000000 exception R2 : exn exception R2 : bool -> exn exception E2 = R2 smlsharp-1.2.0/test/tests/bugs/outputs/issue63.1.out0000644 000000000000000000000005212050661606022475 0ustar00rootroot0000000 0000000 infix 0 ## val ## = fn : int * int -> int smlsharp-1.2.0/test/tests/bugs/outputs/issue64.1.out0000644 000000000000000000000006112050661606022476 0ustar00rootroot0000000 0000000 val ## = fn : int * int -> int val v1 = 5 : int smlsharp-1.2.0/test/tests/bugs/outputs/issue65.1.out0000644 000000000000000000000005712050661606022504 0ustar00rootroot0000000 0000000 val f2 = fn : {n1:int, n2:int, n3:int} -> int smlsharp-1.2.0/test/tests/bugs/outputs/issue65.2.out0000644 000000000000000000000007012050661606022500 0ustar00rootroot0000000 0000000 val f3 = fn : ['a,'b#{n1:int, n2:'a, n3:'a}.'b -> 'a] smlsharp-1.2.0/test/tests/bugs/outputs/issue66.1.out0000644 000000000000000000000006212050661606022501 0ustar00rootroot0000000 0000000 val v71 = ref (ref (1, 2)) : (int * int) ref ref smlsharp-1.2.0/test/tests/bugs/outputs/issue67.1.out0000644 000000000000000000000002412050661606022500 0ustar00rootroot0000000 0000000 val v2 = () : unit smlsharp-1.2.0/test/tests/bugs/outputs/issue68.1.out0000644 000000000000000000000006012050661606022501 0ustar00rootroot0000000 0000000 val v4 = fn : ['a .'a -> ['b .'b -> 'a * 'b]] smlsharp-1.2.0/test/tests/bugs/outputs/issue69.1.out0000644 000000000000000000000007612050661606022511 0ustar00rootroot0000000 0000000 val v131 = fn : ['a.'a -> 'a] val v132 = fn : ['a.'a -> 'a] smlsharp-1.2.0/test/tests/bugs/outputs/issue7.1.out0000644 000000000000000000000017212050661606022416 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/issue7.1.sml:1.1-1.17 Warning: match nonexhaustive {y=1} => ... val f = fn : {y:int} -> int smlsharp-1.2.0/test/tests/bugs/outputs/issue7.3.out0000644 000000000000000000000022612050661606022420 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/issue7.3.sml:1.29-1.30 Error: type and type annotation don't agree inferred type: 'B(b) list type annotation: 'A(a) list smlsharp-1.2.0/test/tests/bugs/outputs/issue7.4.out0000644 000000000000000000000021712050661606022421 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/issue7.4.sml:1.5-1.9 Warning: binding not exhaustive 2 => ... smlsharp-1.2.0/test/tests/bugs/outputs/issue70.1.out0000644 000000000000000000000032612050661606022477 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/issue70.1.sml:2.1-2.21 Error: only variable or typed variable pattern is allowed in val rec smlsharp-1.2.0/test/tests/bugs/outputs/issue71.1.out0000644 000000000000000000000122712050661606022501 0ustar00rootroot0000000 0000000 val v1 = fn : int -> int ../tests/bugs/tests/issue71.1.sml:2.1-2.57 Error: only variable or typed variable pattern is allowed in val rec ../tests/bugs/tests/issue71.1.sml:3.1-4.46 Error: only variable or typed variable pattern is allowed in val rec ../tests/bugs/tests/issue71.1.sml:5.1-5.57 Error: only variable or typed variable pattern is allowed in val rec smlsharp-1.2.0/test/tests/bugs/outputs/issue74.1.out0000644 000000000000000000000022112050661606022475 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/issue74.1.sml:1.21-1.24 Error: no real constant may occur in a pattern. smlsharp-1.2.0/test/tests/bugs/outputs/issue75.1.out0000644 000000000000000000000441112050661606022503 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/issue75.1.sml:3.11-3.14 Error: Binding reserved name: true ../tests/bugs/tests/issue75.1.sml:4.11-4.22 Error: Binding reserved name: false ../tests/bugs/tests/issue75.1.sml:5.11-5.13 Error: Binding reserved name: nil ../tests/bugs/tests/issue75.1.sml:6.11-6.12 Error: Binding reserved name: :: ../tests/bugs/tests/issue75.1.sml:7.11-7.13 Error: Binding reserved name: ref ../tests/bugs/tests/issue75.1.sml:8.11-8.12 Error: Binding reserved name: it ../tests/bugs/tests/issue75.1.sml:10.1-10.18 Error: Binding reserved name: true ../tests/bugs/tests/issue75.1.sml:11.1-11.19 Error: Binding reserved name: false ../tests/bugs/tests/issue75.1.sml:12.1-12.17 Error: Binding reserved name: nil ../tests/bugs/tests/issue75.1.sml:13.1-13.16 Error: Binding reserved name: :: ../tests/bugs/tests/issue75.1.sml:14.1-14.17 Error: Binding reserved name: ref ../tests/bugs/tests/issue75.1.sml:15.1-15.16 Error: Binding reserved name: it ../tests/bugs/tests/issue75.1.sml:19.5-19.8 Error: Binding reserved name: true ../tests/bugs/tests/issue75.1.sml:20.5-20.9 Error: Binding reserved name: false ../tests/bugs/tests/issue75.1.sml:21.5-21.7 Error: Binding reserved name: nil ../tests/bugs/tests/issue75.1.sml:22.5-22.6 Error: Binding reserved name: :: ../tests/bugs/tests/issue75.1.sml:23.5-23.7 Error: Binding reserved name: ref ../tests/bugs/tests/issue75.1.sml:25.6-25.10 Error: Binding reserved name: true ../tests/bugs/tests/issue75.1.sml:26.6-26.11 Error: Binding reserved name: false ../tests/bugs/tests/issue75.1.sml:27.6-27.9 Error: Binding reserved name: nil ../tests/bugs/tests/issue75.1.sml:28.6-28.8 Error: Binding reserved name: :: ../tests/bugs/tests/issue75.1.sml:29.6-29.9 Error: Binding reserved name: ref ../tests/bugs/tests/issue75.1.sml:31.6-31.20 Error: Binding reserved name: true ../tests/bugs/tests/issue75.1.sml:32.6-32.21 Error: Binding reserved name: false ../tests/bugs/tests/issue75.1.sml:33.6-33.19 Error: Binding reserved name: nil ../tests/bugs/tests/issue75.1.sml:34.6-34.18 Error: Binding reserved name: :: ../tests/bugs/tests/issue75.1.sml:35.6-35.19 Error: Binding reserved name: ref smlsharp-1.2.0/test/tests/bugs/outputs/issue77.1.out0000644 000000000000000000000002612050661606022503 0ustar00rootroot0000000 0000000 datatype t con D : t smlsharp-1.2.0/test/tests/bugs/outputs/issue78.1.out0000644 000000000000000000000004112050661606022501 0ustar00rootroot0000000 0000000 val it = ("a", 1) : string * int smlsharp-1.2.0/test/tests/bugs/outputs/issue78.2.out0000644 000000000000000000000005212050661606022504 0ustar00rootroot0000000 0000000 val it = (1, (1, 2)) : int * (int * int) smlsharp-1.2.0/test/tests/bugs/outputs/issue80.1.out0000644 000000000000000000000005512050661606022477 0ustar00rootroot0000000 0000000 abstype t2 val ax2 = - : t2 val gx2 = - : t2 smlsharp-1.2.0/test/tests/bugs/outputs/issue81.1.out0000644 000000000000000000000015012050661606022474 0ustar00rootroot0000000 0000000 structure S : sig val f : unit -> unit end structure S : sig val f : int -> unit end val it = () : unit smlsharp-1.2.0/test/tests/bugs/outputs/issue84.1.out0000644 000000000000000000000010212050661606022474 0ustar00rootroot0000000 0000000 datatype t con * : int * int -> t val x = 1 : int val y = 2 : int smlsharp-1.2.0/test/tests/bugs/outputs/issue85.1.out0000644 000000000000000000000006112050661606022501 0ustar00rootroot0000000 0000000 signature S = sig eqtype foo end structure S : S smlsharp-1.2.0/test/tests/bugs/outputs/issue86.1.out0000644 000000000000000000000022012050661606022477 0ustar00rootroot0000000 0000000 val f = fn : int -> int val it = 2 : int val f' = fn : int -> int val it = 2 : int type func = int -> int val f'' = fn : func val it = 2 : int smlsharp-1.2.0/test/tests/bugs/outputs/issue87.1.out0000644 000000000000000000000005212050661606022503 0ustar00rootroot0000000 0000000 type t = int datatype dt con D : t -> dt smlsharp-1.2.0/test/tests/bugs/outputs/issue88.1.out0000644 000000000000000000000015312050661606022506 0ustar00rootroot0000000 0000000 structure S : sig datatype dt con D : dt end structure T : sig datatype dt con D : dt end val x = D : T.dt smlsharp-1.2.0/test/tests/bugs/outputs/issue89.1.out0000644 000000000000000000000022212050661606022504 0ustar00rootroot0000000 0000000 structure S : sig val f : int -> int end structure T : sig val f : int -> int end structure S : sig val f : int * int -> int end val it = 2 : int smlsharp-1.2.0/test/tests/bugs/outputs/issue9.1.out0000644 000000000000000000000051612050661606022422 0ustar00rootroot0000000 0000000 issue9.1.temp:1.1-1.31 Warning: dummy type variable(s) X1, X0 are introduced due to value restriction val it = fn : X0 * X1 -> X0 * X1 issue9.1.temp:2.1-2.31 Warning: dummy type variable(s) X1, X0 are introduced due to value restriction val it = fn : X0 * X1 -> X0 * X1 smlsharp-1.2.0/test/tests/bugs/outputs/issue90.1.out0000644 000000000000000000000015212050661606022476 0ustar00rootroot0000000 0000000 structure Sval1 : sig val x : int * int end structure Sval2 : sig val x : int * int val y : int * int end smlsharp-1.2.0/test/tests/bugs/outputs/issue90.4.out0000644 000000000000000000000011612050661606022501 0ustar00rootroot0000000 0000000 structure S12 : sig datatype dt con D : dt val x : dt end val it = D : S12.dt smlsharp-1.2.0/test/tests/bugs/outputs/issue91.1.out0000644 000000000000000000000005512050661606022501 0ustar00rootroot0000000 0000000 datatype t2 = datatype t2 val v2 = C2 2 : t2 smlsharp-1.2.0/test/tests/bugs/outputs/issue91.2.out0000644 000000000000000000000035512050661606022505 0ustar00rootroot0000000 0000000 datatype dt1 = datatype dt1 val x1 = D1 : dt1 datatype dt22 = datatype dt2 val x2 = D2 : dt22 datatype dt = datatype dt31 val x = D31(1, "abc") : (int, string) dt datatype dt41 = datatype dt41 val x = D41 (1, "abc") : (int, string) dt41 smlsharp-1.2.0/test/tests/bugs/outputs/issue92.1.out0000644 000000000000000000000004612050661606022502 0ustar00rootroot0000000 0000000 signature S21 = sig type s type t end smlsharp-1.2.0/test/tests/bugs/outputs/issue93.1.out0000644 000000000000000000000011712050661606022502 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/issue93.1.sml:3.3-4.29 Error: duplicate specification: D smlsharp-1.2.0/test/tests/bugs/outputs/issue94.1.out0000644 000000000000000000000011712050661606022503 0ustar00rootroot0000000 0000000 datatype dt1 con D : dt1 signature S1 = sig datatype t = datatype dt1 end smlsharp-1.2.0/test/tests/bugs/outputs/issue95.1.out0000644 000000000000000000000020612050661606022503 0ustar00rootroot0000000 0000000 signature S13 = sig structure S : sig structure S : sig type t datatype dt con D : dt end val x : S.t val y : S.dt end end smlsharp-1.2.0/test/tests/bugs/outputs/issue96.1.out0000644 000000000000000000000055412050661606022512 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/issue96.1.sml:4.17-4.57 Error: equality type required for: S.dt ../tests/bugs/tests/issue96.1.sml:10.17-10.55 Error: equality type required for: S.t signature S221 = sig datatype s = D structure S : sig datatype t = E end where type t = s end signature S222 = sig datatype t = D structure S : sig datatype t = E end where type t = t end smlsharp-1.2.0/test/tests/bugs/outputs/issue97.1.out0000644 000000000000000000000020712050661606022506 0ustar00rootroot0000000 0000000 signature S23 = sig eqtype s datatype t = D of real sharing type s = t end signature S21 = sig eqtype s type t sharing type s = t end smlsharp-1.2.0/test/tests/bugs/outputs/issue98.1.out0000644 000000000000000000000007712050661606022514 0ustar00rootroot0000000 0000000 signature S11 = sig type s type t sharing type s = t end smlsharp-1.2.0/test/tests/bugs/outputs/issue99.1.out0000644 000000000000000000000013512050661606022510 0ustar00rootroot0000000 0000000 signature S31 = sig datatype s = D of real type t sharing type s = t end structure S31 : S31 smlsharp-1.2.0/test/tests/bugs/outputs/Ticket-11.1.out0000644 000000000000000000000006512050661606022642 0ustar00rootroot0000000 0000000 structure S : sig type 'a t val f : unit -> 'a t end smlsharp-1.2.0/test/tests/bugs/outputs/Ticket-12.1.out0000644 000000000000000000000017412050661606022644 0ustar00rootroot0000000 0000000 signature TEST = sig type 'a RList val empty : 'a RList end structure Test : TEST val list = [] : 'a Test.RList smlsharp-1.2.0/test/tests/bugs/outputs/Ticket-12.2.out0000644 000000000000000000000011512050661606022640 0ustar00rootroot0000000 0000000 structure X : sig type t = ?.X.dt val D : t end val y = D : X.t smlsharp-1.2.0/test/tests/bugs/outputs/Ticket-19.1.out0000644 000000000000000000000020212050661606022643 0ustar00rootroot0000000 0000000 signature SIG = sig type 'a t val x : 'a t val f_t : 'a t -> string end structure STR : SIG val x = C : 'a STR.t smlsharp-1.2.0/test/tests/bugs/outputs/Ticket-20.1.out0000644 000000000000000000000152312050661606022642 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/Ticket-20.1.sml:3.18-3.25 Error: operator and operand don't agree operator domain: 'ba::{int, IntInf.int} * 'ba::{int, IntInf.int} operand: 'ba::{int, IntInf.int} * 'y::{real, Real32.real} ../tests/bugs/tests/Ticket-20.1.sml:4.18-4.25 Error: operator and operand don't agree operator domain: 't::{int, IntInf.int} * 't::{int, IntInf.int} operand: 't::{int, IntInf.int} * 'r::{real, Real32.real} ../tests/bugs/tests/Ticket-20.1.sml:5.18-5.25 Error: operator and operand don't agree operator domain: 'm::{int, IntInf.int} * 'm::{int, IntInf.int} operand: 'm::{int, IntInf.int} * 'k::{real, Real32.real} ../tests/bugs/tests/Ticket-20.1.sml:6.18-6.25 Error: operator and operand don't agree operator domain: 'f::{int, IntInf.int} * 'f::{int, IntInf.int} operand: 'f::{int, IntInf.int} * 'd::{real, Real32.real} smlsharp-1.2.0/test/tests/bugs/outputs/Ticket-21.1.out0000644 000000000000000000000013612050661606022642 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/Ticket-21.1.sml:1.49-1.59 Error: not an interoperable type: Real32.realsmlsharp-1.2.0/test/tests/bugs/outputs/Ticket-22.1.out0000644 000000000000000000000003112050661606022635 0ustar00rootroot0000000 0000000 open Int val n = 1 : int smlsharp-1.2.0/test/tests/bugs/outputs/Ticket-23.1.out0000644 000000000000000000000014412050661606022643 0ustar00rootroot0000000 0000000 val f = fn : int -> int uncaught exception F raised at: stdIn:6.18-6.21 stdIn:7.39 smlsharp-1.2.0/test/tests/bugs/outputs/Ticket-25.1.out0000644 000000000000000000000010412050661606022641 0ustar00rootroot0000000 0000000 val maxUInt32 = 0wxffffffff : Word32.word val isEqual = true : bool smlsharp-1.2.0/test/tests/bugs/outputs/Ticket-26.1.out0000644 000000000000000000000042512050661606022650 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/Ticket-26.1.sml:1.47-1.47 Error: operator is not a function: 'a(a) ../tests/bugs/tests/Ticket-26.1.sml:1.52-1.52 Error: operator is not a function: 'a(a) ../tests/bugs/tests/Ticket-26.1.sml:1.1-1.61 Error: User type variable cannot be generalized: 'a smlsharp-1.2.0/test/tests/bugs/outputs/Ticket-28.1.out0000644 000000000000000000000033712050661606022654 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/Ticket-28.1.sml:1.1-1.18 Warning: dummy type variable(s) X0 are introduced due to value restriction Size uncaught exception ../tests/bugs/tests/Ticket-28.1.sml:1.1-1.18 RuntimeError:ExecutionException smlsharp-1.2.0/test/tests/bugs/outputs/Ticket-30.1.out0000644 000000000000000000000007212050661606022641 0ustar00rootroot0000000 0000000 val ninf64 = ~inf : real val ninf32 = ~inf : Real32.real smlsharp-1.2.0/test/tests/bugs/outputs/Ticket-30.3.out0000644 000000000000000000000003212050661606022637 0ustar00rootroot0000000 0000000 val ninf64 = ~inf : real smlsharp-1.2.0/test/tests/bugs/outputs/Ticket-32.1.out0000644 000000000000000000000003612050661606022643 0ustar00rootroot0000000 0000000 val imported = "hoge" : stringsmlsharp-1.2.0/test/tests/bugs/outputs/Ticket-32.3.out0000644 000000000000000000000002112050661606022637 0ustar00rootroot0000000 0000000 val sz = 4 : int smlsharp-1.2.0/test/tests/bugs/outputs/Ticket-36.1.out0000644 000000000000000000000022212050661606022644 0ustar00rootroot0000000 0000000 functor F (P : sig end) : sig structure S : sig datatype dt con D : dt end end structure Q : sig structure S : sig datatype dt con D : dt end end smlsharp-1.2.0/test/tests/bugs/outputs/Ticket-36.3.out0000644 000000000000000000000012612050661606022651 0ustar00rootroot0000000 0000000 structure S21 : sig datatype dt con D : dt end structure S21 : sig val x : S21.dt end smlsharp-1.2.0/test/tests/bugs/outputs/Ticket-37.1.out0000644 000000000000000000000027212050661606022652 0ustar00rootroot0000000 0000000 signature SIG = sig type dt end structure T : SIG functor F (P : sig type dt end) : sig datatype dt2 con D : P.dt -> dt2 end structure TBasic : sig datatype dt2 con D : T.dt -> dt2 end smlsharp-1.2.0/test/tests/bugs/outputs/Ticket-38.1.out0000644 000000000000000000000017212050661606022652 0ustar00rootroot0000000 0000000 signature SIG = sig structure S : sig type t val x : t end end structure STR : SIG structure T : sig type t val x : t end smlsharp-1.2.0/test/tests/bugs/outputs/Ticket-39.1.out0000644 000000000000000000000015012050661606022647 0ustar00rootroot0000000 0000000 ../tests/bugs/tests/Ticket-39.1.sml:1.5-1.5 Error: non-constructor applied to argument in pattern: _ smlsharp-1.2.0/test/tests/bugs/outputs/Ticket-41.1.out0000644 000000000000000000000011712050661606022643 0ustar00rootroot0000000 0000000 datatype t con X : real ref -> t val r = ref 1 : real ref val it = true : bool smlsharp-1.2.0/test/tests/bugs/outputs/Ticket-44.1.out0000644 000000000000000000000000012050661606022635 0ustar00rootroot0000000 0000000 smlsharp-1.2.0/test/tests/bugs/outputs/Ticket-48.1.out0000644 000000000000000000000036712050661606022661 0ustar00rootroot0000000 0000000 stdIn:1.2-1.5 Error: syntax error: deleting INT0 EQUALOP stdIn:1.6-1.10 Error: syntax error: deleting COMMA ID EQUALOP stdIn:1.10-1.13 Error: syntax error: deleting INT RBRACE SEMICOLON stdIn:2.1-2.6 Error: syntax error: deleting HASH INT ID smlsharp-1.2.0/test/tests/bugs/outputs/Ticket-49.1.out0000644 000000000000000000000005112050661606022650 0ustar00rootroot0000000 0000000 stdIn:1.11-1.14 Error: unclosed comment smlsharp-1.2.0/test/tests/bugs/outputs/Ticket-50.1.out0000644 000000000000000000000010112050661606022634 0ustar00rootroot0000000 0000000 stdIn:1.15-1.17 Error: unclosed string, character, or quotation smlsharp-1.2.0/test/tests/bugs/outputs/Ticket-51.1.out0000644 000000000000000000000007712050661606022651 0ustar00rootroot0000000 0000000 stdIn:1.6-1.9 Error: syntax error: deleting ASTERISK EQUALOP smlsharp-1.2.0/test/tests/bugs/outputs/Ticket-52.1.out0000644 000000000000000000000014712050661606022650 0ustar00rootroot0000000 0000000 val it = fn : ['a::{int, IntInf.int, real, Real32.real, word, Word8.word}. 'a * 'a -> 'a] smlsharp-1.2.0/test/tests/bugs/tests0000755 000000000000000000000000012050661606017647 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/test/tests/bugs/tests/issue1.1.sml0000644 000000000000000000000003712050661606022013 0ustar00rootroot0000000 0000000 case "a" of "a" => 1 | _ => 2; smlsharp-1.2.0/test/tests/bugs/tests/issue1.2.sml0000644 000000000000000000000007212050661606022013 0ustar00rootroot0000000 0000000 fun f "a" = 1 | f "b" = 2 | f _ = 3; f "a"; f "b"; f "c"; smlsharp-1.2.0/test/tests/bugs/tests/issue10.1.sml0000644 000000000000000000000002712050661606022072 0ustar00rootroot0000000 0000000 infix 0 f; val f = 1; smlsharp-1.2.0/test/tests/bugs/tests/issue10.2.sml0000644 000000000000000000000003412050661606022071 0ustar00rootroot0000000 0000000 infix 0 f; fun f (x,y) = 1; smlsharp-1.2.0/test/tests/bugs/tests/issue100.1.sml0000644 000000000000000000000026612050661606022157 0ustar00rootroot0000000 0000000 structure A = struct datatype s = foo end structure B = struct open A end; val x = B.foo; structure C = struct datatype t = bar end; structure D = struct open C end; val y = D.bar; smlsharp-1.2.0/test/tests/bugs/tests/issue100.2.sml0000644 000000000000000000000015312050661606022153 0ustar00rootroot0000000 0000000 structure S1 = struct type t = int end; structure S2 = struct open S1 val y = 1 : t end; val x : S2.t = 2; smlsharp-1.2.0/test/tests/bugs/tests/issue101.1.sml0000644 000000000000000000000022612050661606022154 0ustar00rootroot0000000 0000000 structure S1 = let structure S11 = struct val x = 1 end in S11 end; S1.x; local structure S21 = struct val x = 1 end in structure S2 = S21 end; S2.x; smlsharp-1.2.0/test/tests/bugs/tests/issue102.1.sml0000644 000000000000000000000026612050661606022161 0ustar00rootroot0000000 0000000 signature S = sig eqtype t end; structure SEqRefTrans : S = struct type t = (real ref * real) ref end; structure SEqRefOpaque :> S = struct type t = (real ref * real) ref end; smlsharp-1.2.0/test/tests/bugs/tests/issue103.1.sml0000644 000000000000000000000022112050661606022151 0ustar00rootroot0000000 0000000 signature S = sig datatype dt = D of int | E of string end; structure S1Trans : S = struct datatype dt = D of int | E of string | F of bool end; smlsharp-1.2.0/test/tests/bugs/tests/issue104.1.sml0000644 000000000000000000000022312050661606022154 0ustar00rootroot0000000 0000000 signature S = sig datatype dt = D of int | E of string end; structure S2Trans : S = struct datatype dt = D of int fun E string = D string end; smlsharp-1.2.0/test/tests/bugs/tests/issue104.2.sml0000644 000000000000000000000017312050661606022161 0ustar00rootroot0000000 0000000 signature S = sig exception E of int end; structure SVal1Trans : S = struct exception F val E = fn (x : int) => F end; smlsharp-1.2.0/test/tests/bugs/tests/issue105.1.sml0000644 000000000000000000000017012050661606022156 0ustar00rootroot0000000 0000000 datatype dt = D; signature S1 = sig datatype dt = datatype dt end; structure S1Trans : S1 = struct datatype dt = D end; smlsharp-1.2.0/test/tests/bugs/tests/issue106.1.sml0000644 000000000000000000000024212050661606022157 0ustar00rootroot0000000 0000000 signature SDatatype = sig structure S : sig datatype dt = D end end; structure SDatatypeTrans : SDatatype = struct structure S = struct datatype dt = D end end; smlsharp-1.2.0/test/tests/bugs/tests/issue107.1.sml0000644 000000000000000000000022512050661606022161 0ustar00rootroot0000000 0000000 signature S2 = sig type t1 type t2 sharing type t1 = t2 end; structure S2Trans : S2 = struct type t1 = int * int type t2 = int * bool end;smlsharp-1.2.0/test/tests/bugs/tests/issue108.1.sml0000644 000000000000000000000013412050661606022161 0ustar00rootroot0000000 0000000 signature S0 = sig type t end; structure S0typeTrans : S0 = struct type 'a t = int * 'a end;smlsharp-1.2.0/test/tests/bugs/tests/issue108.3.sml0000644 000000000000000000000015212050661606022163 0ustar00rootroot0000000 0000000 signature S0 = sig type t end; structure S0datatypeTrans : S0 = struct datatype 'a t = D of int * 'a end; smlsharp-1.2.0/test/tests/bugs/tests/issue109.1.sml0000644 000000000000000000000004612050661606022164 0ustar00rootroot0000000 0000000 fun id x = x; val vrecord = {a = id}; smlsharp-1.2.0/test/tests/bugs/tests/issue110.1.sml0000644 000000000000000000000011012050661606022144 0ustar00rootroot0000000 0000000 fun id x = x; datatype 'a dt1 = D of int; val vconstructed1 = D (id 2); smlsharp-1.2.0/test/tests/bugs/tests/issue110.2.sml0000644 000000000000000000000005312050661606022153 0ustar00rootroot0000000 0000000 fun id x = x; val vtyped1 = id : 'a -> 'a; smlsharp-1.2.0/test/tests/bugs/tests/issue111.1.sml0000644 000000000000000000000010312050661606022147 0ustar00rootroot0000000 0000000 fun id x = x; datatype 'a dt = D of 'a; val y = D id; val D z = y; smlsharp-1.2.0/test/tests/bugs/tests/issue113.1.sml0000644 000000000000000000000023512050661606022157 0ustar00rootroot0000000 0000000 fun id x = x; datatype 'a dt = D of 'a; let val y = id in y 1 end; let val y = case D 1 of _ => id in y 1 end; let val y = case D 1 of D _ => id in y 1 end; smlsharp-1.2.0/test/tests/bugs/tests/issue114.1.sml0000644 000000000000000000000006612050661606022162 0ustar00rootroot0000000 0000000 datatype 'a dt = D of 'a; val x = (D (fn x => 1), 1); smlsharp-1.2.0/test/tests/bugs/tests/issue114.2.sml0000644 000000000000000000000007112050661606022157 0ustar00rootroot0000000 0000000 fun id x = x; val a = fn x => x; val b = id a; a 1; b 1; smlsharp-1.2.0/test/tests/bugs/tests/issue115.1.sml0000644 000000000000000000000035012050661606022157 0ustar00rootroot0000000 0000000 signature SType = sig type t val x : t end; structure SType = struct type t = int val x = 1 end; structure STypeOpaque1 = SType :> SType; structure STypeOpaque2 = SType :> SType; val eqSTypeOpaque = STypeOpaque1.x = STypeOpaque2.x; smlsharp-1.2.0/test/tests/bugs/tests/issue116.1.sml0000644 000000000000000000000020112050661606022153 0ustar00rootroot0000000 0000000 signature SIG = sig type t end; structure STR = struct datatype t = E end; structure STrans = STR : SIG; val xSTrans = STrans.E; smlsharp-1.2.0/test/tests/bugs/tests/issue116.2.sml0000644 000000000000000000000016012050661606022160 0ustar00rootroot0000000 0000000 signature S = sig val f : int -> int end; structure S = struct val f = fn x => x end; structure T = S : S; T.f; smlsharp-1.2.0/test/tests/bugs/tests/issue117.1.sml0000644 000000000000000000000020212050661606022155 0ustar00rootroot0000000 0000000 abstype t2 = D of string with datatype t2 = E of real (* re-bind t2. *) val ax2 : t2 = E 1.23 end; val gx2 : t2 = ax2; smlsharp-1.2.0/test/tests/bugs/tests/issue118.1.sml0000644 000000000000000000000006112050661606022161 0ustar00rootroot0000000 0000000 datatype ''a dt = D of ''a; type ''a t = ''a dt; smlsharp-1.2.0/test/tests/bugs/tests/issue119.1.sml0000644 000000000000000000000010012050661606022154 0ustar00rootroot0000000 0000000 datatype ''a dtEq = DEq | EEq of ''a; fun h2 (x : 'a) = EEq x; smlsharp-1.2.0/test/tests/bugs/tests/issue119.2.sml0000644 000000000000000000000006012050661606022162 0ustar00rootroot0000000 0000000 datatype ''a dtEq = DEq | EEq of ''a; EEq 1.23; smlsharp-1.2.0/test/tests/bugs/tests/issue120.1.sml0000644 000000000000000000000022612050661606022155 0ustar00rootroot0000000 0000000 signature S23 = sig eqtype s datatype t = D of real sharing type s = t end; structure S23 : S23 = struct datatype t = D of real type s = t end; smlsharp-1.2.0/test/tests/bugs/tests/issue121.1.sml0000644 000000000000000000000013512050661606022155 0ustar00rootroot0000000 0000000 signature S = sig datatype dt = E end; structure S1 :> S = struct datatype dt = E end; S1.E; smlsharp-1.2.0/test/tests/bugs/tests/issue122.1.sml0000644 000000000000000000000003012050661606022150 0ustar00rootroot0000000 0000000 exception E; val x = E; smlsharp-1.2.0/test/tests/bugs/tests/issue122.3.sml0000644 000000000000000000000025612050661606022164 0ustar00rootroot0000000 0000000 structure S = struct exception E end; fun f S.E = print "OK" | f _ = print "WRONG"; f S.E; (* A *) signature S = sig exception E end; structure S1 = S : S; f S1.E; (* B *) smlsharp-1.2.0/test/tests/bugs/tests/issue123.1.sml0000644 000000000000000000000001712050661606022156 0ustar00rootroot0000000 0000000 val x = Match; smlsharp-1.2.0/test/tests/bugs/tests/issue124.2.sml0000644 000000000000000000000020412050661606022156 0ustar00rootroot0000000 0000000 signature S = sig type ('a, 'b) reader = 'b -> ('a * 'b) end; structure S : S = struct type ('a, 'b) reader = 'b -> ('a * 'b) end; smlsharp-1.2.0/test/tests/bugs/tests/issue125.1.sml0000644 000000000000000000000013112050661606022155 0ustar00rootroot0000000 0000000 signature S = sig type s structure T : sig type t end sharing type s = T.t end; smlsharp-1.2.0/test/tests/bugs/tests/issue125.2.sml0000644 000000000000000000000016112050661606022161 0ustar00rootroot0000000 0000000 signature S = sig structure S : sig type s end structure T : sig type t end sharing type S.s = T.t end; smlsharp-1.2.0/test/tests/bugs/tests/issue126.1.sml0000644 000000000000000000000010712050661606022161 0ustar00rootroot0000000 0000000 structure S = struct datatype dt1 = D datatype dt2 = datatype dt1 end; smlsharp-1.2.0/test/tests/bugs/tests/issue127.1.sml0000644 000000000000000000000002712050661606022163 0ustar00rootroot0000000 0000000 val minChar = #"\000"; smlsharp-1.2.0/test/tests/bugs/tests/issue129.1.sml0000644 000000000000000000000022412050661606022164 0ustar00rootroot0000000 0000000 signature S = sig val f : 'a -> 'a -> 'a end; structure S = struct fun f x y = y end; val x = S.f 1 2; structure S1 = S : S; val y = S1.f 1 2; smlsharp-1.2.0/test/tests/bugs/tests/issue129.2.sml0000644 000000000000000000000024212050661606022165 0ustar00rootroot0000000 0000000 signature S = sig val f : ('a -> 'a) -> string end; structure S = struct fun f x = "a" end; fun g x = x val x = S.f g; structure S1 = S : S; val y = S1.f g; smlsharp-1.2.0/test/tests/bugs/tests/issue129.4.sml0000644 000000000000000000000066412050661606022177 0ustar00rootroot0000000 0000000 structure Word = struct (* No error occurs if the next line is removed. *) structure W = struct end type word = word fun toLargeWord word = word end; structure LargeWord = Word; signature WORD = sig eqtype word val toLargeWord : word -> LargeWord.word end; structure LargeWord = Word :> WORD; structure Word = Word :> WORD where type word = word; val toLargeWord_0 = Word.toLargeWord 0w0; smlsharp-1.2.0/test/tests/bugs/tests/issue129.5.1.sml0000644 000000000000000000000024412050661606022331 0ustar00rootroot0000000 0000000 signature S = sig val f : real -> real end; functor F(S : sig end) : S = struct fun f r = r end; structure P = struct end; structure T = F(P); val x = (T.f 1.23); smlsharp-1.2.0/test/tests/bugs/tests/issue129.5.2.sml0000644 000000000000000000000030712050661606022332 0ustar00rootroot0000000 0000000 exception E; signature S = sig val f : real -> real end; functor F(S : sig end) : S = struct fun f r = raise E end; structure P = struct end; structure T = F(P); val x = (T.f 1.23) handle E => 0.0; smlsharp-1.2.0/test/tests/bugs/tests/issue13.1.sml0000644 000000000000000000000016512050661606022100 0ustar00rootroot0000000 0000000 fn (1, 1) => 1 | (x, y) => x + y; fn (1, 1) => 1 | (x, y) => x; fn (x, y) => x + y; fn (1, 1) => 1 | (x, y) => x + 1;smlsharp-1.2.0/test/tests/bugs/tests/issue130.1.sml0000644 000000000000000000000023112050661606022152 0ustar00rootroot0000000 0000000 signature SIG = sig datatype t = D end; structure STR :> SIG = struct datatype t = D end; datatype t = datatype STR.t; fun f D = true; val x = f STR.D; smlsharp-1.2.0/test/tests/bugs/tests/issue131.1.sml0000644 000000000000000000000005212050661606022154 0ustar00rootroot0000000 0000000 fun f r = if #a r = 1 then f r else true; smlsharp-1.2.0/test/tests/bugs/tests/issue131.2.sml0000644 000000000000000000000011712050661606022157 0ustar00rootroot0000000 0000000 fun F r = let fun f n = if #a r = n then f n else true in f 0 end; smlsharp-1.2.0/test/tests/bugs/tests/issue132.1.sml0000644 000000000000000000000073112050661606022161 0ustar00rootroot0000000 0000000 signature SUBSTRING = sig type substring eqtype string val all : string -> substring end; structure Substring = struct type string = string type substring = string fun all string = string : substring end; (* OK *) val x = Substring.all "abc"; (* OK *) structure Strans = Substring : SUBSTRING; val y = Strans.all "abc"; (* NG *) structure Sopaq = Substring :> SUBSTRING where type string = string; val z = Sopaq.all "abc"; smlsharp-1.2.0/test/tests/bugs/tests/issue132.3.sml0000644 000000000000000000000042512050661606022163 0ustar00rootroot0000000 0000000 signature SType = sig type t val x : t end; structure PType = struct type t = real val x = 1.23 end; functor FTypeOpaque(S : sig type t val x : t end) = struct type t = int datatype t = D of S.t val x = D(S.x) end :> SType; structure STypeOpaque = FTypeOpaque(PType); smlsharp-1.2.0/test/tests/bugs/tests/issue133.1.sml0000644 000000000000000000000005512050661606022161 0ustar00rootroot0000000 0000000 datatype t = D; type s = t; fun f x = x : s; smlsharp-1.2.0/test/tests/bugs/tests/issue134.1.sml0000644 000000000000000000000004312050661606022157 0ustar00rootroot0000000 0000000 fun id x = x; val x = id (op * ); smlsharp-1.2.0/test/tests/bugs/tests/issue135.1.sml0000644 000000000000000000000004012050661606022155 0ustar00rootroot0000000 0000000 val n = 0w123 : LargeWord.word; smlsharp-1.2.0/test/tests/bugs/tests/issue135.10.sml0000644 000000000000000000000011312050661606022236 0ustar00rootroot0000000 0000000 structure S :> sig type t end = struct type t = unit end; val x = 0 : S.t; smlsharp-1.2.0/test/tests/bugs/tests/issue136.1.sml0000644 000000000000000000000006712050661606022167 0ustar00rootroot0000000 0000000 datatype s = %% of int * int; val %%(x, y) = %%(1, 2); smlsharp-1.2.0/test/tests/bugs/tests/issue137.1.sml0000644 000000000000000000000007412050661606022166 0ustar00rootroot0000000 0000000 structure S6 = struct abstype t = D with val x = D end end; smlsharp-1.2.0/test/tests/bugs/tests/issue137.2.sml0000644 000000000000000000000007312050661606022166 0ustar00rootroot0000000 0000000 abstype t = D with val x = D end; datatype s = datatype t; smlsharp-1.2.0/test/tests/bugs/tests/issue138.1.sml0000644 000000000000000000000043212050661606022165 0ustar00rootroot0000000 0000000 signature S1 = sig structure S : sig type t datatype dt = D of t val x : dt end end; signature S2 = sig type s include sig type t datatype dt = D of t val x : s * t * dt end val y : dt * t end; signature S31 = sig type t datatype dt = D of t val x : t * dt end; smlsharp-1.2.0/test/tests/bugs/tests/issue139.1.sml0000644 000000000000000000000020512050661606022164 0ustar00rootroot0000000 0000000 fun id x = x; val f2 = fn (x : 'a) => fn y => (x, y); val fRecord22 = fn x => f2 {a = id, b = x}; val ({a, b}, c) = fRecord22 1 "a"; smlsharp-1.2.0/test/tests/bugs/tests/issue140.1.sml0000644 000000000000000000000006512050661606022160 0ustar00rootroot0000000 0000000 val f = fn x => fn y => (x, y); val g = fn x => f x; smlsharp-1.2.0/test/tests/bugs/tests/issue141.1.sml0000644 000000000000000000000006712050661606022163 0ustar00rootroot0000000 0000000 signature S1 = sig type t1 = int and t2 = t1 end; smlsharp-1.2.0/test/tests/bugs/tests/issue142.1.sml0000644 000000000000000000000007312050661606022161 0ustar00rootroot0000000 0000000 signature S3 = sig type t1 = t2 * int and t2 = string end; smlsharp-1.2.0/test/tests/bugs/tests/issue144.1.sml0000644 000000000000000000000025712050661606022167 0ustar00rootroot0000000 0000000 signature SIG = sig type t val x : t end; structure STR = struct type t = string val x = "a" end; structure SS = STR : SIG; structure SSTrans = STR : SIG; val x = SSTrans.x; smlsharp-1.2.0/test/tests/bugs/tests/issue145.1.sml0000644 000000000000000000000014012050661606022157 0ustar00rootroot0000000 0000000 fun f x = x + 1 functor F(S : sig end) = struct fun g x = f x end; structure S = F(struct end); smlsharp-1.2.0/test/tests/bugs/tests/issue145.2.sml0000644 000000000000000000000013712050661606022166 0ustar00rootroot0000000 0000000 fun f x = x + 1 functor F(S : sig end) = struct fun g x = f x end structure S = F(struct end); smlsharp-1.2.0/test/tests/bugs/tests/issue145.3.sml0000644 000000000000000000000013712050661606022167 0ustar00rootroot0000000 0000000 fun f x = x + 1; functor F(S : sig end) = struct fun g x = f x end structure S = F(struct end);smlsharp-1.2.0/test/tests/bugs/tests/issue146.1.sml0000644 000000000000000000000074412050661606022172 0ustar00rootroot0000000 0000000 structure P = struct type t = real end; datatype 'a dt = D of 'a; (* OK *) functor F1(S : sig type t end) = struct type t = S.t end; structure S1 = F1(P); (* OK *) functor F2(S : sig type t end) = struct type t = int dt * S.t end; structure S2 = F2(P); (* OK *) functor F3(S : sig type t end) = struct datatype 'a dt = D of 'a type t = S.t dt end; structure S3 = F3(P); (* NG *) functor F4(S : sig type t end) = struct type t = S.t dt end; structure S4 = F4(P); smlsharp-1.2.0/test/tests/bugs/tests/issue146.3.sml0000644 000000000000000000000022412050661606022165 0ustar00rootroot0000000 0000000 signature S = sig type dt end; structure P = struct type t = real end; functor F(type t) : S = struct datatype dt = D of t end; structure T = F(P); smlsharp-1.2.0/test/tests/bugs/tests/issue146.6.sml0000644 000000000000000000000107512050661606022175 0ustar00rootroot0000000 0000000 functor MonoVectorBase (B : sig type elem type array val sub : array * int -> elem end) = struct fun concat (vector :: _) = let val initialValueOpt = SOME(B.sub(valOf (#buffer vector), 0)) in case (0, initialValueOpt) of (0, _) => () | (_, SOME _) => () end end; structure Operations = struct type elem = unit type array = unit val sub = fn ((), n : int) => () end structure UnitVector = MonoVectorBase(Operations); smlsharp-1.2.0/test/tests/bugs/tests/issue147.1.sml0000644 000000000000000000000003712050661606022166 0ustar00rootroot0000000 0000000 datatype dt = D; val x = D(y); smlsharp-1.2.0/test/tests/bugs/tests/issue148.1.sml0000644 000000000000000000000023312050661606022165 0ustar00rootroot0000000 0000000 datatype 'x1 t122 = C of 'x1 | D of 'x1 * int; fun f g (C x) = "C" | f g (D x) = case x of (a, b) => (g a); fun h (x : string) = x; f h (D ("foo", 1)); smlsharp-1.2.0/test/tests/bugs/tests/issue149.1.sml0000644 000000000000000000000027112050661606022170 0ustar00rootroot0000000 0000000 fun f21 x = case x of {n1 = 1, n2, ...} => n2 + (f22 x) | {n2, n3, ...} => n3 and f22 x = case x of {n1 = 1, n2, ...} => n2 | {n2, n3, ...} => n3 + (f21 x); smlsharp-1.2.0/test/tests/bugs/tests/issue15.1.sml0000644 000000000000000000000003612050661606022077 0ustar00rootroot0000000 0000000 fun g x = f true and f x = 1; smlsharp-1.2.0/test/tests/bugs/tests/issue150.1.sml0000644 000000000000000000000051712050661606022163 0ustar00rootroot0000000 0000000 signature SIG = sig structure S : sig datatype dt = D end end; structure P = struct end; functor FTrans(S : sig end) = struct structure S = struct datatype dt = D end end : SIG; structure STrans = FTrans(P); functor FOpaque(S : sig end) = struct structure S = struct datatype dt = D end end :> SIG; structure SOpaque = FOpaque(P);smlsharp-1.2.0/test/tests/bugs/tests/issue151.1.sml0000644 000000000000000000000020112050661606022152 0ustar00rootroot0000000 0000000 datatype 'a dtNeq = DNeq | ENeq of 'a; fun f g x = case x of DNeq => () | ENeq v => (g v; ()); f (fn x => x * 1.0) (ENeq 1.23); smlsharp-1.2.0/test/tests/bugs/tests/issue152.1.sml0000644 000000000000000000000022712050661606022163 0ustar00rootroot0000000 0000000 signature S23 = sig eqtype s datatype t = D of real sharing type s = t end; structure S23 : S23 = struct datatype t = D of real type s = t end; smlsharp-1.2.0/test/tests/bugs/tests/issue153.1.sml0000644 000000000000000000000015612050661606022165 0ustar00rootroot0000000 0000000 functor FVal(S : sig val x : int end) = struct val y = S.x end; structure TVal = FVal(struct val x = 2 end); smlsharp-1.2.0/test/tests/bugs/tests/issue153.2.sml0000644 000000000000000000000020712050661606022163 0ustar00rootroot0000000 0000000 functor FException(S : sig exception E end) = struct exception F = S.E end; structure TException = FException(struct exception E end); smlsharp-1.2.0/test/tests/bugs/tests/issue153.4.sml0000644 000000000000000000000017412050661606022170 0ustar00rootroot0000000 0000000 functor F(P : sig val x : int end) = struct val x = P.x + 1 end; structure P = struct val x = 1 end; structure T = F(F(P)); smlsharp-1.2.0/test/tests/bugs/tests/issue154.1.sml0000644 000000000000000000000017512050661606022167 0ustar00rootroot0000000 0000000 signature PSIG = sig type t end; signature FSIG = sig type s end; functor FTrans(S : PSIG) : FSIG = struct type s = S.t end; smlsharp-1.2.0/test/tests/bugs/tests/issue155.1.sml0000644 000000000000000000000032112050661606022161 0ustar00rootroot0000000 0000000 functor F(S : sig exception E of real end) = struct exception F = S.E fun f r = raise S.E r end; structure P = struct exception E of real end; structure T = F(P); val x = (T.f 1.23) handle T.F r => r; smlsharp-1.2.0/test/tests/bugs/tests/issue156.1.sml0000644 000000000000000000000033712050661606022171 0ustar00rootroot0000000 0000000 functor F(P : sig type dt val x : dt end) = struct datatype dt = D of P.dt val x = D(P.x) end; signature SIG = sig type dt val x : dt end; structure T = struct datatype dt = D val x = D end :> SIG; structure TBasic = F(T); smlsharp-1.2.0/test/tests/bugs/tests/issue156.2.sml0000644 000000000000000000000033712050661606022172 0ustar00rootroot0000000 0000000 functor F(P : sig type dt val x : dt end) = struct datatype dt = D of P.dt val x = D(P.x) end; signature SIG = sig type dt val x : dt end; structure T = struct datatype dt = D val x = D end :> SIG; structure TBasic = F(T); smlsharp-1.2.0/test/tests/bugs/tests/issue157.1.sml0000644 000000000000000000000015612050661606022171 0ustar00rootroot0000000 0000000 signature PSIG = sig datatype dt = D end; functor FTrans(S : PSIG) = struct datatype ds = datatype S.dt end; smlsharp-1.2.0/test/tests/bugs/tests/issue157.3.sml0000644 000000000000000000000024212050661606022167 0ustar00rootroot0000000 0000000 signature SDatatype = sig type et type ft end; functor FDatatypeTrans(datatype dt = D) : SDatatype = struct datatype et = E of dt datatype ft = datatype dt end; smlsharp-1.2.0/test/tests/bugs/tests/issue157.4.sml0000644 000000000000000000000033112050661606022167 0ustar00rootroot0000000 0000000 functor FStructure (S : sig structure T : sig datatype dt = D end end) = struct structure T = S.T end; structure TStructure = FStructure(structure T = struct datatype dt = D end); structure SStructure = TStructure.T; smlsharp-1.2.0/test/tests/bugs/tests/issue158.1.sml0000644 000000000000000000000034512050661606022172 0ustar00rootroot0000000 0000000 signature SIG = sig type t val x : t end; functor F(S : sig type t val x : t end) = struct datatype t = D of S.t val x = D(S.x) end :> SIG; structure P = struct type t = real val x = 1.23 end; structure T = F(P); val a = T.x; smlsharp-1.2.0/test/tests/bugs/tests/issue158.2.sml0000644 000000000000000000000034512050661606022173 0ustar00rootroot0000000 0000000 signature SIG = sig type t val x : t end; functor F(S : sig type t val x : t end) = struct datatype t = D of S.t val x = D(S.x) end :> SIG; structure P = struct type t = real val x = 1.23 end; structure T = F(P); val a = T.x; smlsharp-1.2.0/test/tests/bugs/tests/issue159.1.sml0000644 000000000000000000000007512050661606022173 0ustar00rootroot0000000 0000000 exception e72; structure S72 = struct exception e = e72 end; smlsharp-1.2.0/test/tests/bugs/tests/issue16.6.sml0000644 000000000000000000000007112050661606022104 0ustar00rootroot0000000 0000000 datatype ''a dtEq = EEq of ''a; fun h2 (x : 'a) = EEq x; smlsharp-1.2.0/test/tests/bugs/tests/issue160.1.sml0000644 000000000000000000000047312050661606022165 0ustar00rootroot0000000 0000000 functor F(P : sig type dt val x : dt end) = struct datatype dt = D of P.dt val x = D(P.x) end; signature SIG = sig type dt val x : dt end; structure S = struct datatype dt = D val x = D end; structure TTrans = F(S : SIG); val xTrans = TTrans.x; structure TOpaque = F(S :> SIG); val xOpaque = TOpaque.x; smlsharp-1.2.0/test/tests/bugs/tests/issue161.1.sml0000644 000000000000000000000003312050661606022156 0ustar00rootroot0000000 0000000 datatype ''a dt = D of 'a; smlsharp-1.2.0/test/tests/bugs/tests/issue161.3.sml0000644 000000000000000000000011212050661606022156 0ustar00rootroot0000000 0000000 type ''a foo = 'a * 'a; type ''a foo = ''a * ''a; type 'a foo = ''a * 'a; smlsharp-1.2.0/test/tests/bugs/tests/issue162.1.sml0000644 000000000000000000000004212050661606022157 0ustar00rootroot0000000 0000000 abstype 'a dt = D of 'a with end; smlsharp-1.2.0/test/tests/bugs/tests/issue163.1.sml0000644 000000000000000000000044212050661606022164 0ustar00rootroot0000000 0000000 fun f x = {a = x, b = x}; fun g {a, b} = 1; (* OK *) fun h1 x = let val v = f x in g v end; (* OK *) fun h2 x = let val v as {a, b, ...} = f x in g v end; (* OK *) fun h3 x = let val v as {a, ...} = {a = x, b = x} in g v end; (* NG *) fun h4 x = let val v as {a, ...} = f x in g v end; smlsharp-1.2.0/test/tests/bugs/tests/issue164.1.sml0000644 000000000000000000000114712050661606022170 0ustar00rootroot0000000 0000000 structure Vector = struct type 'a vector = int * int fun 'a fromList (list : 'a list) = (1, 2); end; structure Array = struct type 'a array = 'a Vector.vector type 'a vector = 'a Vector.vector open Vector end; signature VECTOR = sig type 'a vector val fromList : 'a list -> 'a vector end; signature ARRAY = sig type 'a array eqtype 'a vector val fromList : 'a list -> 'a array end; structure S :> sig structure V : VECTOR structure A : ARRAY sharing type V.vector = A.vector end = struct structure V = Vector structure A = Array end; structure Vector = S.V; structure Array = S.A; smlsharp-1.2.0/test/tests/bugs/tests/issue164.2.sml0000644 000000000000000000000125312050661606022167 0ustar00rootroot0000000 0000000 structure Vector = struct type 'a vector = int * int fun 'a fromList (list : 'a list) = (1, 2); end; structure Array = struct type 'a array = 'a Vector.vector type 'a vector = 'a Vector.vector open Vector end; signature VECTOR = sig type 'a vector val fromList : 'a list -> 'a vector end; signature ARRAY = sig type 'a array eqtype 'a vector val fromList : 'a list -> 'a array end; structure S :> sig structure V : VECTOR structure A : ARRAY sharing type V.vector = A.vector end = struct structure V = Vector structure A = Array end; structure Vector = S.V; structure Array = S.A; type 'a vector = 'a Vector.vector; type 'a array = 'a Array.array; smlsharp-1.2.0/test/tests/bugs/tests/issue164.3.sml0000644 000000000000000000000124312050661606022167 0ustar00rootroot0000000 0000000 structure Vector = struct type 'a vector = int * int fun 'a fromList (list : 'a list) = (1, 2); end; structure Array = struct type 'a array = 'a Vector.vector type 'a vector = 'a Vector.vector open Vector end; signature VECTOR = sig type 'a vector val fromList : 'a list -> 'a vector end; signature ARRAY = sig type 'a array eqtype 'a vector val fromList : 'a list -> 'a array end; structure S :> sig structure V : VECTOR structure A : ARRAY sharing type V.vector = A.vector end = struct structure V = Vector structure A = Array end; structure Vector = S.V; structure Array = S.A; val vl = Vector.fromList [1]; val al = Array.fromList [1]; smlsharp-1.2.0/test/tests/bugs/tests/issue164.6.sml0000644 000000000000000000000050712050661606022174 0ustar00rootroot0000000 0000000 structure STR = struct type t = int * int fun f (x : int) = (x, x); end; signature SIG = sig type t val f : int -> t end; structure S :> sig structure T1 : SIG structure T2 : SIG sharing type T1.t = T2.t end = struct structure T1 = STR structure T2 = STR end; structure STR1 = S.T1; structure STR2 = S.T2; smlsharp-1.2.0/test/tests/bugs/tests/issue165.1.sml0000644 000000000000000000000005212050661606022163 0ustar00rootroot0000000 0000000 exception E; fun f _ = () handle E => (); smlsharp-1.2.0/test/tests/bugs/tests/issue165.2.sml0000644 000000000000000000000031112050661606022162 0ustar00rootroot0000000 0000000 exception E; fun raiseE () = raise E; val xFree = let fun outer () = let val vOuter = 2 in fn x => raiseE () handle E => vOuter end in outer () () end; xFree + 1; smlsharp-1.2.0/test/tests/bugs/tests/issue166.1.sml0000644 000000000000000000000032312050661606022165 0ustar00rootroot0000000 0000000 signature PSIG = sig type t val x : t end; functor F(P : PSIG) = struct datatype dt = E of P.t val y = E(P.x) end; structure S = struct datatype t = D val x = D end; structure TOpaque = F(S :> PSIG); TOpaque.y; smlsharp-1.2.0/test/tests/bugs/tests/issue168.1.sml0000644 000000000000000000000016612050661606022174 0ustar00rootroot0000000 0000000 fun id x = x; val fHanldePolyBodyPolyVar = id handle _ => id; val xHanldePolyBodyPolyVar = fHanldePolyBodyPolyVar 2; smlsharp-1.2.0/test/tests/bugs/tests/issue168.2.sml0000644 000000000000000000000006412050661606022172 0ustar00rootroot0000000 0000000 fun id x = x; val a = fn x => x; val b = id a; b 1; smlsharp-1.2.0/test/tests/bugs/tests/issue169.1.sml0000644 000000000000000000000031112050661606022165 0ustar00rootroot0000000 0000000 functor F(S : sig datatype dt = D end) = struct datatype et = datatype S.dt end; structure TAnonymous = F(datatype dt = D); structure P = struct datatype dt = D end; structure TNamed = F(P); smlsharp-1.2.0/test/tests/bugs/tests/issue170.1.sml0000644 000000000000000000000014512050661606022162 0ustar00rootroot0000000 0000000 signature SIG = sig type s type t = s end; structure STR : SIG = struct type s = int type t = s end; smlsharp-1.2.0/test/tests/bugs/tests/issue171.1.sml0000644 000000000000000000000045712050661606022171 0ustar00rootroot0000000 0000000 signature SIG1 = sig datatype dt = D end; structure STR1 = struct datatype dt = D end; signature SIG2 = sig end; structure STR2 = struct end; signature SIG3 = sig structure STR1 : SIG1 structure STR2 : SIG2 end; structure STR3 :> SIG3 = struct structure STR1 = STR1 structure STR2 = STR2 end; smlsharp-1.2.0/test/tests/bugs/tests/issue172.1.sml0000644 000000000000000000000060412050661606022164 0ustar00rootroot0000000 0000000 signature SIG1 = sig datatype dt = D end; structure STR1 = struct datatype dt = D end; signature SIG2 = sig type dt type st = dt end; structure STR2 = struct type dt = STR1.dt type st = dt end; signature SIG3 = sig structure STR1 : SIG1 structure STR2 : SIG2 sharing type STR1.dt = STR2.dt end; structure STR3 :> SIG3 = struct structure STR1 = STR1 structure STR2 = STR2 end; smlsharp-1.2.0/test/tests/bugs/tests/issue175.1.sml0000644 000000000000000000000042512050661606022170 0ustar00rootroot0000000 0000000 signature DICTIONARY = sig type (''key, 'value) dict val create : unit -> (''a, 'b) dict end; structure Dictionary :> DICTIONARY = struct datatype (''key, 'value) dict = Dict of (''key * 'value) list fun create () = Dict []; end; open Dictionary; create (); smlsharp-1.2.0/test/tests/bugs/tests/issue176.2.sml0000644 000000000000000000000041412050661606022170 0ustar00rootroot0000000 0000000 functor MonoVectorBase (B : sig end) = struct fun f () = () end; functor MonoArrayBase (B : sig end) = struct structure Vector = MonoVectorBase(B) open Vector end; local structure Operations = struct end in structure UnitArray = MonoArrayBase(Operations) end; smlsharp-1.2.0/test/tests/bugs/tests/issue177.1.sml0000644 000000000000000000000036412050661606022174 0ustar00rootroot0000000 0000000 fun get (SOME v) = v; functor MonoVectorBase (B : sig end) = struct fun concat vector = get vector end; functor MonoArrayBase (B : sig end) = struct structure Vector = MonoVectorBase(B) end; structure UnitArray = MonoArrayBase(struct end); smlsharp-1.2.0/test/tests/bugs/tests/issue179.1.sml0000644 000000000000000000000026312050661606022174 0ustar00rootroot0000000 0000000 signature STREAM = sig type 'xa stream val streamify : (unit -> '_a) -> '_a stream val cons : '_a * '_a stream -> '_a stream val get : '_a stream -> '_a * '_a stream end; smlsharp-1.2.0/test/tests/bugs/tests/issue18.1.sml0000644 000000000000000000000012412050661606022100 0ustar00rootroot0000000 0000000 val a1 = {a = 1}; val a2 = {a = {b = 2}}; #a a1; #a a2; fun f x = #a x; f a1; f a2; smlsharp-1.2.0/test/tests/bugs/tests/issue180.1.sml0000644 000000000000000000000002212050661606022155 0ustar00rootroot0000000 0000000 val x = [#a, #b]; smlsharp-1.2.0/test/tests/bugs/tests/issue182.1.sml0000644 000000000000000000000007112050661606022163 0ustar00rootroot0000000 0000000 datatype ''a dtEq = EEq of ''a; fun h2 (x : 'a) = EEq x; smlsharp-1.2.0/test/tests/bugs/tests/issue183.3.sml0000644 000000000000000000000146212050661606022173 0ustar00rootroot0000000 0000000 signature LR_TABLE = sig datatype state = STATE of int datatype term = T of int datatype action = SHIFT of state | REDUCE of int | ACCEPT | ERROR type table = {x : int} val action : table -> state * term -> action end; structure LrTable : LR_TABLE = struct datatype state = STATE of int datatype term = T of int datatype action = SHIFT of state | REDUCE of int | ACCEPT | ERROR type table = {x : int} val action = fn ({x,...} : table) => fn (STATE state,term : term) => ERROR end; structure LrParser = struct structure LrTable = LrTable open LrTable fun prAction action = case action of SHIFT state => print ("SHIFT") end; smlsharp-1.2.0/test/tests/bugs/tests/issue185.2.sml0000644 000000000000000000000006612050661606022173 0ustar00rootroot0000000 0000000 let local in val x = 1 end val y = 2 in 3 end; smlsharp-1.2.0/test/tests/bugs/tests/issue187.3.1.sml0000644 000000000000000000000034612050661606022336 0ustar00rootroot0000000 0000000 type ('a, 'b) t = {m : 'b, n : 'a}; signature SIG = sig val f : {y : ('a, 'b) t, z : 'b} -> 'b end; structure STR :> SIG = struct val f = fn {y as {m : 'a, n : 'b}, z : 'a} => z end; STR.f; STR.f {y = {m = "a", n = 1}, z = "b"}; smlsharp-1.2.0/test/tests/bugs/tests/issue187.3.2.sml0000644 000000000000000000000024012050661606022330 0ustar00rootroot0000000 0000000 type ('a, 'b) t = ('b * 'a); signature SIG = sig val f : ('a, 'b) t -> 'b end; structure STR :> SIG = struct val f = fn (m, n) => m end; STR.f; STR.f ("a", 1); smlsharp-1.2.0/test/tests/bugs/tests/issue189.1.sml0000644 000000000000000000000012712050661606022174 0ustar00rootroot0000000 0000000 fun 'a slice (vector : 'a list, start) = (); fun subslice vector = slice (vector, 0); smlsharp-1.2.0/test/tests/bugs/tests/issue19.1.sml0000644 000000000000000000000030112050661606022076 0ustar00rootroot0000000 0000000 fun escape #"\a" = "\\a" | escape #"\b" = "\\b" | escape #"\t" = "\\t" | escape #"\n" = "\\n" | escape #"\v" = "\\v" | escape #"\f" = "\\f" | escape #"\r" = "\\r" | escape c = "" smlsharp-1.2.0/test/tests/bugs/tests/issue19.2.sml0000644 000000000000000000000013612050661606022105 0ustar00rootroot0000000 0000000 val case_wordconst1 = case 0w1 of 0w0 => false | 0w1 => true | 0w2 => false | x => false; smlsharp-1.2.0/test/tests/bugs/tests/issue190.1.sml0000644 000000000000000000000034312050661606022164 0ustar00rootroot0000000 0000000 signature STREAM_IO = sig type vector end; signature IMPERATIVE_IO = sig type vector structure StreamIO : STREAM_IO sharing type vector = StreamIO.vector end where type vector = unit and type StreamIO.vector = unit; smlsharp-1.2.0/test/tests/bugs/tests/issue191.1.sml0000644 000000000000000000000014412050661606022164 0ustar00rootroot0000000 0000000 signature SIG = sig type t end; functor FUN(type s) : SIG where type t = s = struct type t = s end; smlsharp-1.2.0/test/tests/bugs/tests/issue193.1.sml0000644 000000000000000000000017212050661606022167 0ustar00rootroot0000000 0000000 structure S = let structure T = struct datatype t1 = D datatype t2 = datatype t1 end in struct end end; smlsharp-1.2.0/test/tests/bugs/tests/issue194.1.sml0000644 000000000000000000000023412050661606022167 0ustar00rootroot0000000 0000000 signature T = sig end; structure S1 : T = struct datatype dt = D | E fun f D = () end; structure S2 = struct datatype dt = D | E fun f D = () end; smlsharp-1.2.0/test/tests/bugs/tests/issue195.2.sml0000644 000000000000000000000062712050661606022177 0ustar00rootroot0000000 0000000 type float = real; type pt = float * float * float; datatype nuc_specific = A of pt*pt*pt*pt*pt*pt*pt*pt | C of pt*pt*pt*pt*pt*pt | G of pt*pt*pt*pt*pt*pt*pt*pt*pt | U of pt*pt*pt*pt*pt; fun is_A (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo, p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2', c3',h3',o3',n1,n3,c2,c4,c5,c6,A _) = true | is_A x = false; smlsharp-1.2.0/test/tests/bugs/tests/issue196.1.sml0000644 000000000000000000000011412050661606022166 0ustar00rootroot0000000 0000000 fun f () = let fun less x y = x < y in less 1.2 2.3 end; smlsharp-1.2.0/test/tests/bugs/tests/issue198.1.sml0000644 000000000000000000000023612050661606022175 0ustar00rootroot0000000 0000000 fun mkWriter name = { name = name, writeArr = (), writeArrNB = () }; mkWriter ""; smlsharp-1.2.0/test/tests/bugs/tests/issue20.1.sml0000644 000000000000000000000002612050661606022072 0ustar00rootroot0000000 0000000 use "issue20.1.temp"; smlsharp-1.2.0/test/tests/bugs/tests/issue20.1.temp0000644 000000000000000000000010212050661606022237 0ustar00rootroot0000000 0000000 (fn x => x) (fn (x,y) => (x,y)); (fn x => x) (fn (x,y) => (x,y)); smlsharp-1.2.0/test/tests/bugs/tests/issue200.1.sml0000644 000000000000000000000015412050661606022154 0ustar00rootroot0000000 0000000 val x = [#a, #b]; val v1 = case x of [x, y] => [x, y] | _ => x; val v2 = case x of [] => 0 | (_ :: _) => 1; smlsharp-1.2.0/test/tests/bugs/tests/issue201.1.sml0000644 000000000000000000000005212050661606022152 0ustar00rootroot0000000 0000000 val v2 = {a = 1} val v3 = {a = 1, b = 2}; smlsharp-1.2.0/test/tests/bugs/tests/issue202.1.sml0000644 000000000000000000000027612050661606022163 0ustar00rootroot0000000 0000000 functor TextIOFn () = struct fun input1 () = case SOME(#"a", ()) of NONE => NONE | SOME(elem, _) => SOME elem end; structure TextIO = TextIOFn (); TextIO.input1 (); smlsharp-1.2.0/test/tests/bugs/tests/issue203.1.sml0000644 000000000000000000000035612050661606022163 0ustar00rootroot0000000 0000000 signature SIG = sig type t datatype dt = D of t end; (* OK *) structure STR1 : SIG = struct type t = real datatype dt = D of real end; (* NG *) structure STR2 : SIG = struct type t = int datatype dt = D of int end; smlsharp-1.2.0/test/tests/bugs/tests/issue204.1.sml0000644 000000000000000000000142512050661606022162 0ustar00rootroot0000000 0000000 exception Domain; fun fold (lst, folder, state) = let fun loop (lst, state) = case lst of [] => state | first::rest => loop (rest, folder (first, state)) in loop (lst, state) end; fun 'a foldOverSubsets (universe, eFolder, eState, folder, state: 'a) = let exception fini of 'a fun f (first, rest, eState) (isinc, state) = let val (newEState, newState) = eFolder (first, isinc, eState, state, fini) in outer (rest, newEState, newState) end handle fini state => state and outer (universe, eState, state) = case universe of [] => folder (eState, state) | first::rest => let val f = f (first, rest, eState) in f (false, f (true, state)) end in outer (universe, eState, state) end; smlsharp-1.2.0/test/tests/bugs/tests/issue205.2.sml0000644 000000000000000000000066412050661606022170 0ustar00rootroot0000000 0000000 (* OK *) (* simplex backward dependency *) datatype t21 = C21 of int and t22 = C22 of t21; (* NG *) (* simplex forward dependency *) datatype t21 = C21 of t22 and t22 = C22 of int; (* NG *) (* mutual simple dependency *) (* Caution: type inferencer sticks. *) datatype t21 = C21 of t22 and t22 = C22 of t21; (* NG *) (* mutual dependency *) (* temporarily commented out *) datatype t21 = C21 of t22 and t22 = C22 of t21 * bool; smlsharp-1.2.0/test/tests/bugs/tests/issue206.1.sml0000644 000000000000000000000013212050661606022156 0ustar00rootroot0000000 0000000 signature T = sig end; structure S : T = struct datatype dt = D | E fun f D = () end; smlsharp-1.2.0/test/tests/bugs/tests/issue207.2.sml0000644 000000000000000000000050612050661606022165 0ustar00rootroot0000000 0000000 datatype ''a dt = D of ''a; fun f_dt f_a x = case x of D y => f_a y; val x = f_dt (fn {b} => b) (D {b = "abc"}); datatype 'a p = P of 'a; fun f_p f_a x = case x of P x => f_a x; val x = f_p (fn () => "()") (P ()); datatype 'a p = P of 'a; fun f_p f_a x = case x of P x => f_a x; val x = f_p (fn {x} => "x") (P {x = 111}); smlsharp-1.2.0/test/tests/bugs/tests/issue208.1.sml0000644 000000000000000000000005312050661606022162 0ustar00rootroot0000000 0000000 datatype ('a,'b) t = A of 'a; val x = A 1; smlsharp-1.2.0/test/tests/bugs/tests/issue209.1.sml0000644 000000000000000000000014512050661606022165 0ustar00rootroot0000000 0000000 (* OK *) datatype dt21 = D21 of int * real; (* NG *) type t = int * real; datatype dt21 = D21 of t; smlsharp-1.2.0/test/tests/bugs/tests/issue21.1.sml0000644 000000000000000000000007312050661606022075 0ustar00rootroot0000000 0000000 val case_layered1 = case 1 of x as 1 => true | x => false; smlsharp-1.2.0/test/tests/bugs/tests/issue210.1.sml0000644 000000000000000000000041512050661606022155 0ustar00rootroot0000000 0000000 functor F(P : sig type dt val x : dt val fmt : dt -> string end) = struct datatype dt = F of P.dt val x = F(P.x) fun fmt (F x) = P.fmt x end; structure P = struct datatype dt = D val x = D fun fmt D = "D" end; structure T2 = F(F(P)); val x2 = T2.x; T2.fmt x2; smlsharp-1.2.0/test/tests/bugs/tests/issue211.2.sml0000644 000000000000000000000020012050661606022147 0ustar00rootroot0000000 0000000 functor F () : sig val x : unit end = struct val x = () end structure P = struct end; structure S1 = F(P) structure S2 = F(P); smlsharp-1.2.0/test/tests/bugs/tests/issue212.1.sml0000644 000000000000000000000001312050661606022151 0ustar00rootroot0000000 0000000 fun x = 1; smlsharp-1.2.0/test/tests/bugs/tests/issue213.1.sml0000644 000000000000000000000020712050661606022157 0ustar00rootroot0000000 0000000 fun f x = 1; structure STR1 = struct fun f a = a + 1.2 end; structure STR2 : sig end = struct open STR1 end; open STR2; val x = f 1; smlsharp-1.2.0/test/tests/bugs/tests/issue215.1.sml0000644 000000000000000000000004112050661606022155 0ustar00rootroot0000000 0000000 val x = 1000000*1000000*1000000; smlsharp-1.2.0/test/tests/bugs/tests/issue216.1.sml0000644 000000000000000000000020112050661606022154 0ustar00rootroot0000000 0000000 (* NOTE: this test case should be checked without the case branch inline * optimization. *) val x = case 0 of 0 => 1 | n => 1; smlsharp-1.2.0/test/tests/bugs/tests/issue218.1.sml0000644 000000000000000000000065512050661606022173 0ustar00rootroot0000000 0000000 signature SIG = sig structure SIG1 : sig type s end structure SIG2 : sig type t end sharing type SIG2.t = SIG1.s end; functor F(P : SIG) = struct end; structure S = struct structure SIG1 = struct type s = int end structure SIG2 = struct type t = int end end; (* OK *) structure T = F(S); (* OK *) structure SOpaque :> SIG = S; structure T = F(SOpaque); (* NG *) structure STrans : SIG = S; structure T = F(STrans); smlsharp-1.2.0/test/tests/bugs/tests/issue219.1.sml0000644 000000000000000000000002012050661606022156 0ustar00rootroot0000000 0000000 val x = ~(0w1); smlsharp-1.2.0/test/tests/bugs/tests/issue224.1.sml0000644 000000000000000000000121112050661606022155 0ustar00rootroot0000000 0000000 (***** top level global *****) val x : int = raise Fail "foo"; local val x : int = raise Fail "foo" in val y = 1 end; (***** top level in structure *****) (* in global structure *) structure S = struct val x : int = raise Fail "foo" end; (* in local structure *) local structure S = struct val x : int = raise Fail "foo" end in val y = 1; end; (* in nested structure *) structure S = struct structure P = struct val x : int = raise Fail "foo" end end; (***** top level in functor *****) functor F(S : sig end) = struct val x : int = raise Fail "foo" end; structure FS = F(struct end); local structure FS = F(struct end) in val y = 1 end; smlsharp-1.2.0/test/tests/bugs/tests/issue227.1.sml0000644 000000000000000000000033412050661606022165 0ustar00rootroot0000000 0000000 signature P = sig datatype t = D end; signature Q = sig type t val f : t end; signature S = sig structure P : P structure Q : Q sharing type P.t = Q.t end functor F(S : S) = struct type t = S.P.t val f = S.Q.f end : Q; smlsharp-1.2.0/test/tests/bugs/tests/issue228.1.sml0000644 000000000000000000000116312050661606022167 0ustar00rootroot0000000 0000000 (** val rec declaration **) val rec f = fn x => x and f = fn x => g x and g = fn x => f x; (* bound in a typed pattern *) val rec f = fn x => x and f : int -> int = fn x => g x and g = fn x => f x; (* duplication of two names *) val rec f = fn x => x and g = fn x => f x and f = fn x => g x and g = fn x => f x; (** fun declaration **) (* mutual reference *) fun f x = g x and g x = f x and f x = f x; (* separated by VALREC optimizer. *) fun f x = x and f x = g x and g x = f x; (* separated by VALREC optimizer. *) fun f x = g x and g x = f x and f x = x; fun f x = g x and g x = f x and f x = g x and g x = f x; smlsharp-1.2.0/test/tests/bugs/tests/issue23.1.sml0000644 000000000000000000000077512050661606022110 0ustar00rootroot0000000 0000000 fun map_int f [] = [] | map_int f (hd :: tl) = ((f (hd : int)) : int) :: (map_int f tl); map_int (fn (x : int) => x) [1]; fun map f [] = [] | map f (hd :: tl) = (f hd) :: (map f tl); map (fn x => x) [1]; map (fn (x : int) => (x : int)) [1]; fun map_argint f [] = [] | map_argint f (hd :: tl) = (f (hd : int)) :: (map_argint f tl); map_argint (fn (x : int) => x) [1]; fun map_resint f [] = ([] : int list) | map_resint f (hd :: tl) = (f hd) :: (map_resint f tl); map_resint (fn (x : int) => x) [1]; smlsharp-1.2.0/test/tests/bugs/tests/issue230.1.sml0000644 000000000000000000000001712050661606022155 0ustar00rootroot0000000 0000000 fun f x x = x; smlsharp-1.2.0/test/tests/bugs/tests/issue231.1.sml0000644 000000000000000000000003512050661606022156 0ustar00rootroot0000000 0000000 datatype ('a,'a) hoge = int; smlsharp-1.2.0/test/tests/bugs/tests/issue233.1.sml0000644 000000000000000000000024212050661606022160 0ustar00rootroot0000000 0000000 Real.toString 0.0; Real.toString ~0.0; Real.toString 0.1; Real.toString ~0.1; Real.toString 10.0; Real.toString ~10.0; Real.toString 10.01; Real.toString ~10.01; smlsharp-1.2.0/test/tests/bugs/tests/issue234.1.sml0000644 000000000000000000000034712050661606022167 0ustar00rootroot0000000 0000000 signature SIG = sig datatype dt = T of int type t sharing type t = dt end; structure STR = struct datatype dt = T of int type t = dt end; functor FUN(STR : SIG) = struct type t = STR.dt end; structure S = FUN(STR); smlsharp-1.2.0/test/tests/bugs/tests/issue235.1.sml0000644 000000000000000000000001512050661606022160 0ustar00rootroot0000000 0000000 val _ x = 1; smlsharp-1.2.0/test/tests/bugs/tests/issue236.1.sml0000644 000000000000000000000003312050661606022161 0ustar00rootroot0000000 0000000 fun f {f = x} = f {f = 1}; smlsharp-1.2.0/test/tests/bugs/tests/issue237.1.sml0000644 000000000000000000000042212050661606022164 0ustar00rootroot0000000 0000000 (* OK -- monotype and in structure *) structure S = struct datatype dt1 = D1 and dt2 = D2 end; (* OK -- polytype and toplevel *) datatype dt1 = D1 and 'a dt2 = D2 (* NG -- polytype and in structure *) structure S = struct datatype dt1 = D1 and 'a dt2 = D2 end; smlsharp-1.2.0/test/tests/bugs/tests/issue238.1.sml0000644 000000000000000000000006512050661606022170 0ustar00rootroot0000000 0000000 fun getbyte 0 = () | getbyte b = getbyte (b << 1); smlsharp-1.2.0/test/tests/bugs/tests/issue239.1.sml0000644 000000000000000000000015612050661606022172 0ustar00rootroot0000000 0000000 (* OK *) val x = 0w0 : byte; (* OK *) fun getbyte x = (0w0 : byte); (* NG *) fun getbyte (0w0 : byte) = (); smlsharp-1.2.0/test/tests/bugs/tests/issue24.1.sml0000644 000000000000000000000015312050661606022077 0ustar00rootroot0000000 0000000 fun until f [] = [] | until f (hd :: tl) = if f hd then [] else until f tl; until (fn x => true) [1]; smlsharp-1.2.0/test/tests/bugs/tests/issue240.1.sml0000644 000000000000000000000010112050661606022150 0ustar00rootroot0000000 0000000 fun f real 0 s = "" | f real n s = f 0.0 (n - 1) s; f 0.0 1 [];smlsharp-1.2.0/test/tests/bugs/tests/issue241.1.sml0000644 000000000000000000000003012050661606022152 0ustar00rootroot0000000 0000000 val x = 11111111111111; smlsharp-1.2.0/test/tests/bugs/tests/issue242.1.sml0000644 000000000000000000000003712050661606022162 0ustar00rootroot0000000 0000000 val x = 10000 * 10000 * 10000; smlsharp-1.2.0/test/tests/bugs/tests/issue243.1.sml0000755 000000000000000000000001512050661606022162 0ustar00rootroot0000000 0000000 val 1 a = 1; smlsharp-1.2.0/test/tests/bugs/tests/issue246.1.sml0000755 000000000000000000000033312050661606022170 0ustar00rootroot0000000 0000000 type 'a reader = 'a -> 'a option; fun f (x:'a) = NONE : 'a option; val x = f "aaa"; case x of NONE => 1 | SOME _ => 2; (* safe *) val f = f: 'a reader; val x = f "aaa"; case x of NONE => 1 | SOME _ => 2; (* error *) smlsharp-1.2.0/test/tests/bugs/tests/issue247.1.sml0000755 000000000000000000000016412050661606022173 0ustar00rootroot0000000 0000000 datatype 'a d = A of 'a | B of int d; val x = B (A 1); (* safe case *) val x : real d = B (A 1); (* error case *) smlsharp-1.2.0/test/tests/bugs/tests/issue247.2.sml0000755 000000000000000000000203512050661606022173 0ustar00rootroot0000000 0000000 (* single recursive datatypes. *) (* arity of 2 type variables *) datatype ('a, 'b) d12_1 = A12_1 of ('a, 'b) d12_1 | B12_1 of 'a; A12_1(B12_1 1); A12_1(B12_1 1.23); datatype ('a, 'b) d12_2 = A12_2 of ('b, 'a) d12_2 | B12_2 of 'a; A12_2(B12_2 1); A12_2(B12_2 1.23); (* mutual recursive datatypes. *) (* arity of 1 type variable *) datatype 'a d21_1 = A21_1 of 'a e21_1 | B21_1 of 'a and 'a e21_1 = C21_1 of 'a d21_1; C21_1(A21_1(C21_1(B21_1 1))); datatype 'a d21_2 = A21_2 of 'a e21_2 | B21_2 of 'a and 'a e21_2 = C21_2 of int d21_2; C21_2(A21_2(C21_2(B21_2 1))); (* arity of 2 type variables *) datatype ('a, 'b) d22_1 = A22_1 of ('a, 'b) e22_1 | B22_1 of 'a and ('a, 'b) e22_1 = C22_1 of ('a, 'b) d22_1; C22_1(A22_1(C22_1(B22_1 1))); datatype ('a, 'b) d22_2 = A22_2 of ('a, 'b) e22_2 | B22_2 of 'a and ('a, 'b) e22_2 = C22_2 of ('b, 'a) d22_2; C22_2(A22_2(C22_2(B22_2 1))); datatype ('a, 'b) d22_3 = A22_3 of ('b, 'a) e22_3 | B22_3 of 'a and ('a, 'b) e22_3 = C22_3 of ('b, 'a) d22_3; C22_3(A22_3(C22_3(B22_3 1))); smlsharp-1.2.0/test/tests/bugs/tests/issue248.1.sml0000755 000000000000000000000001512050661606022167 0ustar00rootroot0000000 0000000 val _ x = 1; smlsharp-1.2.0/test/tests/bugs/tests/issue25.1.sml0000644 000000000000000000000000712050661606022076 0ustar00rootroot0000000 0000000 "#\""; smlsharp-1.2.0/test/tests/bugs/tests/issue25.2.sml0000644 000000000000000000000002312050661606022075 0ustar00rootroot0000000 0000000 "\\n"; size "\\n"; smlsharp-1.2.0/test/tests/bugs/tests/issue250.1.sml0000755 000000000000000000000003412050661606022161 0ustar00rootroot0000000 0000000 val x = 0wx12345678 : byte; smlsharp-1.2.0/test/tests/bugs/tests/issue251.1.sml0000755 000000000000000000000056112050661606022167 0ustar00rootroot0000000 0000000 fun f x = let fun f1 () = #a x fun f2 () = #b x 0 fun f3 () = (#b x 0) + 1 in () end; fun f x = let fun f2 () = #b x 0 fun f3 () = (#b x 0) + 1 in () end; fun f x = let fun f1 () = #a x fun f3 () = (#b x 0) + 1 in () end; fun f x = let fun f1 () = #a x fun f2 () = #b x 0 in () end; smlsharp-1.2.0/test/tests/bugs/tests/issue256.1.sml0000755 000000000000000000000057712050661606022203 0ustar00rootroot0000000 0000000 structure STR = struct datatype dt = D | E | F val x = E end; (* OK *) signature SIG1 = sig datatype dt = D | E | F val x : dt end; structure STR1 = STR : SIG1; val r1 = STR1.x = STR1.E; (* NG *) signature SIG2 = sig datatype dt = E | F | D val x : dt end; structure STR2 = STR : SIG2; val r2 = STR2.x = STR2.E; structure STR3 = STR : SIG2; val r3 = STR3.x = STR3.E; smlsharp-1.2.0/test/tests/bugs/tests/issue257.1.sml0000755 000000000000000000000002612050661606022171 0ustar00rootroot0000000 0000000 fun f (A.x as y) = y; smlsharp-1.2.0/test/tests/bugs/tests/issue258.1.sml0000755 000000000000000000000012112050661606022166 0ustar00rootroot0000000 0000000 fun f (a,b) = {a = a, b = b} fun g x = #a x val cons = op :: val x = cons(1,[]); smlsharp-1.2.0/test/tests/bugs/tests/issue26.1.sml0000644 000000000000000000000003612050661606022101 0ustar00rootroot0000000 0000000 fun g x = f true and f x = 1; smlsharp-1.2.0/test/tests/bugs/tests/issue260.2.sml0000755 000000000000000000000032712050661606022170 0ustar00rootroot0000000 0000000 (* OK *) val _ = ([[]], [[]]); (* OK *) val _ = case () of () => ([[]], [[]]); (* OK *) val _ = case 1 of 1 => ([], []); (* OK *) val _ = case 1 of 1 => ([], [[]]); (* NG *) val _ = case 1 of 1 => ([[]], [[]]); smlsharp-1.2.0/test/tests/bugs/tests/issue27.1.sml0000644 000000000000000000000002612050661606022101 0ustar00rootroot0000000 0000000 type r1 = {1 : bool}; smlsharp-1.2.0/test/tests/bugs/tests/issue277.1.sml0000755 000000000000000000000025312050661606022175 0ustar00rootroot0000000 0000000 fun f x = case x of Bind => 1 | Formatter _ => 2 | Match => 3 | MatchCompBug _ => 4 | SysErr _ => 5 | Fail _ => 6; exception E; val x = f E; smlsharp-1.2.0/test/tests/bugs/tests/issue29.1.sml0000644 000000000000000000000001512050661606022101 0ustar00rootroot0000000 0000000 val x = ref; smlsharp-1.2.0/test/tests/bugs/tests/issue29.2.sml0000644 000000000000000000000005012050661606022101 0ustar00rootroot0000000 0000000 val x : 'a * 'b -> ('a * 'b) ref = ref; smlsharp-1.2.0/test/tests/bugs/tests/issue29.3.sml0000644 000000000000000000000006512050661606022110 0ustar00rootroot0000000 0000000 let val f = fn x => ref x in f 3 ; f true end; smlsharp-1.2.0/test/tests/bugs/tests/issue33.1.sml0000644 000000000000000000000003012050661606022071 0ustar00rootroot0000000 0000000 type 'a pair = 'a * 'a; smlsharp-1.2.0/test/tests/bugs/tests/issue34.1.sml0000644 000000000000000000000010212050661606022072 0ustar00rootroot0000000 0000000 type ('a , 'b) pair2 = 'a * 'a; val y : (int,real) pair2 = (1,2); smlsharp-1.2.0/test/tests/bugs/tests/issue37.1.sml0000644 000000000000000000000003412050661606022101 0ustar00rootroot0000000 0000000 val x as (y, z) = (10, 20); smlsharp-1.2.0/test/tests/bugs/tests/issue39.1.sml0000644 000000000000000000000142112050661606022104 0ustar00rootroot0000000 0000000 (* expression *) val v1 = {a = 1, b = 4, a = 2, b = 3}; (* pattern *) val v2 = fn {a = 1, b = 4, a = 2, b = 3} => 1; fun f3 {a = 1, b = 4, a = 2, b = 3} = 1; (* type expression *) val v4 = fn x => case x of _ : {a : int, b : bool, a : string, b : char} => a; val v5 = fn x => case x of x : {a : int, b : bool, a : string, b : char} as y => y; val v6 = fn x => (x : {a : int, b : bool, a : string, b : char}); type t7 = {a : int, b : bool, a : string, b : char}; datatype t8 = D8 of {a : int, b : bool, a : string, b : char}; exception E9 of {a : int, b : bool, a : string, b : char}; fun f10 x = case x of {r : {a : int, b : bool, a : string, b : char}} => r; type t11 = {a : int, b : bool, a : string, b : char} * int; fun f12 x : {a : int, b : bool, a : string, b : char} = x; smlsharp-1.2.0/test/tests/bugs/tests/issue43.1.sml0000644 000000000000000000000004412050661606022077 0ustar00rootroot0000000 0000000 val rec f = (fn y => y)(fn x => x); smlsharp-1.2.0/test/tests/bugs/tests/issue45.1.sml0000644 000000000000000000000005312050661606022101 0ustar00rootroot0000000 0000000 fun f g x = let val (a, b) = g x in a end; smlsharp-1.2.0/test/tests/bugs/tests/issue46.10000755 000000000000000000000000012050661606021310 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/test/tests/bugs/tests/issue46.1/bar0000755 000000000000000000000000012050661606022054 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/test/tests/bugs/tests/issue46.1/bar/boo.sml0000644 000000000000000000000001312050661606023421 0ustar00rootroot0000000 0000000 val x = 1; smlsharp-1.2.0/test/tests/bugs/tests/issue46.1/foo.sml0000644 000000000000000000000002512050661606022664 0ustar00rootroot0000000 0000000 use "./bar/boo.sml"; smlsharp-1.2.0/test/tests/bugs/tests/issue46.1.sml0000644 000000000000000000000003112050661606022076 0ustar00rootroot0000000 0000000 use "issue46.1/foo.sml"; smlsharp-1.2.0/test/tests/bugs/tests/issue47.1.sml0000644 000000000000000000000002612050661606022103 0ustar00rootroot0000000 0000000 val sub = String_sub; smlsharp-1.2.0/test/tests/bugs/tests/issue48.1.sml0000644 000000000000000000000005312050661606022104 0ustar00rootroot0000000 0000000 fun f g x = let val (a, b) = g x in a end; smlsharp-1.2.0/test/tests/bugs/tests/issue51.1.sml0000644 000000000000000000000002512050661606022075 0ustar00rootroot0000000 0000000 val x = 1 val x = 2; smlsharp-1.2.0/test/tests/bugs/tests/issue51.2.sml0000644 000000000000000000000003712050661606022101 0ustar00rootroot0000000 0000000 datatype t = D datatype t = D; smlsharp-1.2.0/test/tests/bugs/tests/issue53.1.sml0000644 000000000000000000000003612050661606022101 0ustar00rootroot0000000 0000000 fun f x = x + 1; fun f x = x; smlsharp-1.2.0/test/tests/bugs/tests/issue54.1.sml0000644 000000000000000000000012412050661606022100 0ustar00rootroot0000000 0000000 structure stacktran = struct datatype 'a list = Nil | Cons of 'a * 'a list end smlsharp-1.2.0/test/tests/bugs/tests/issue55.1.sml0000644 000000000000000000000024612050661606022106 0ustar00rootroot0000000 0000000 structure S1 = struct datatype t = D end; structure S2 = struct datatype t = datatype S1.t end; S2.D; structure S3 = struct datatype t = datatype S1.t val x = D end; smlsharp-1.2.0/test/tests/bugs/tests/issue56.1.sml0000644 000000000000000000000011512050661606022102 0ustar00rootroot0000000 0000000 datatype 'a foo = Foo of 'a and 'b bar = Bar of 'b foo; val v1 = Bar(Foo 1); smlsharp-1.2.0/test/tests/bugs/tests/issue57.1.sml0000644 000000000000000000000015312050661606022105 0ustar00rootroot0000000 0000000 structure S1 = struct datatype t = D end structure S2 = struct datatype t = datatype S1.t end val x = S2.D smlsharp-1.2.0/test/tests/bugs/tests/issue57.2.sml0000644 000000000000000000000007512050661606022111 0ustar00rootroot0000000 0000000 structure S = struct datatype t = D datatype u = C of t end; smlsharp-1.2.0/test/tests/bugs/tests/issue58.1.sml0000644 000000000000000000000002712050661606022106 0ustar00rootroot0000000 0000000 fun f 0 = 1 | f 1 = 2; smlsharp-1.2.0/test/tests/bugs/tests/issue61.1.sml0000644 000000000000000000000006712050661606022104 0ustar00rootroot0000000 0000000 datatype t121 = C121 and 'x1 t122 = C122 of 'x1; C121; smlsharp-1.2.0/test/tests/bugs/tests/issue61.2.sml0000644 000000000000000000000031112050661606022075 0ustar00rootroot0000000 0000000 datatype 'x1 t121 = C121 of 'x1 and 'x2 t122 = C122 of 'x2; C121 121; datatype 'x1 t121 = C121 and 'x2 t122 = C122 of 'x2; C121; datatype 'x1 t121 = C121 of 'x1 and 'x2 t122 = C122 of 'x2; C121 121; smlsharp-1.2.0/test/tests/bugs/tests/issue62.1.sml0000644 000000000000000000000006012050661606022076 0ustar00rootroot0000000 0000000 exception R2; exception R2 of bool and E2 = R2; smlsharp-1.2.0/test/tests/bugs/tests/issue63.1.sml0000644 000000000000000000000004412050661606022101 0ustar00rootroot0000000 0000000 infix ##; fun x ## y : int = x - y; smlsharp-1.2.0/test/tests/bugs/tests/issue64.1.sml0000644 000000000000000000000012512050661606022102 0ustar00rootroot0000000 0000000 fun ## (x, y) = x + y; local infix 1 ## val lv1 = 1 ## 2 in val v1 = 2 ## 3 end; smlsharp-1.2.0/test/tests/bugs/tests/issue65.1.sml0000644 000000000000000000000011012050661606022075 0ustar00rootroot0000000 0000000 fun f2 x = case x of {n1 = 1, n2, ...} => n2 | {n1, n2, n3} => n2 + n3; smlsharp-1.2.0/test/tests/bugs/tests/issue65.2.sml0000644 000000000000000000000011012050661606022076 0ustar00rootroot0000000 0000000 fun f3 x = case x of {n1 = 1, n2, ...} => n2 | {n1, n2, n3, ...} => n3; smlsharp-1.2.0/test/tests/bugs/tests/issue66.1.sml0000644 000000000000000000000003412050661606022103 0ustar00rootroot0000000 0000000 val v71 = ref (ref (1, 2)); smlsharp-1.2.0/test/tests/bugs/tests/issue67.1.sml0000644 000000000000000000000002412050661606022103 0ustar00rootroot0000000 0000000 val v2 = () : unit; smlsharp-1.2.0/test/tests/bugs/tests/issue68.1.sml0000644 000000000000000000000005712050661606022112 0ustar00rootroot0000000 0000000 val ('x, 'y) v4 = fn x => fn y => (x : 'x, y); smlsharp-1.2.0/test/tests/bugs/tests/issue69.1.sml0000644 000000000000000000000007012050661606022106 0ustar00rootroot0000000 0000000 val 'x v131 = fn x : 'x => x and v132 = fn x : 'x => x; smlsharp-1.2.0/test/tests/bugs/tests/issue7.1.sml0000644 000000000000000000000002312050661606022014 0ustar00rootroot0000000 0000000 fun f {y = 1} = 1; smlsharp-1.2.0/test/tests/bugs/tests/issue7.3.sml0000644 000000000000000000000004012050661606022015 0ustar00rootroot0000000 0000000 val x : 'a list : 'b list = []; smlsharp-1.2.0/test/tests/bugs/tests/issue7.4.sml0000644 000000000000000000000001312050661606022016 0ustar00rootroot0000000 0000000 val 2 = 2; smlsharp-1.2.0/test/tests/bugs/tests/issue70.1.sml0000644 000000000000000000000011312050661606022074 0ustar00rootroot0000000 0000000 (* ToDo : this should be accepted or rejected ?? *) val rec _ = fn x => x; smlsharp-1.2.0/test/tests/bugs/tests/issue71.1.sml0000644 000000000000000000000041112050661606022076 0ustar00rootroot0000000 0000000 val rec v1 : int -> int = fn x => if 0 = x then 1 else v1 (x - 1); val rec v2 as y = fn x => if 0 = x then 2 else v2 (x - 1); val rec v3 : int -> int as y = fn x => if 0 = x then 3 else v3 (x - 1); val rec v4 as y = fn x => if 0 = x then 4 else v4 (x - 1); smlsharp-1.2.0/test/tests/bugs/tests/issue74.1.sml0000644 000000000000000000000005712050661606022107 0ustar00rootroot0000000 0000000 fun f x = case x of 1.23 => true | _ => false; smlsharp-1.2.0/test/tests/bugs/tests/issue75.1.sml0000644 000000000000000000000126112050661606022106 0ustar00rootroot0000000 0000000 (* true, false, nil, ::, ref, it may not be bound in exnbind and datbind. *) exception true; exception false of int; exception nil; exception ::; exception ref; exception it; datatype dt = true; datatype dt = false; datatype dt = nil; datatype dt = ::; datatype dt = ref; datatype dt = it; (* true, false, nil, ::, ref may not be bound in valbind. *) val true : int as x = 1; val false : int as x = 1; val nil : int as x = 1; val :: : int as x = 1; val ref : int as x = 1; val {true} = 1; val {false} = 1; val {nil} = 1; val {::} = 1; val {ref} = 1; val {true : int as x} = 1; val {false : int as x} = 1; val {nil : int as x} = 1; val {:: : int as x} = 1; val {ref : int as x} = 1; smlsharp-1.2.0/test/tests/bugs/tests/issue77.1.sml0000644 000000000000000000000003412050661606022105 0ustar00rootroot0000000 0000000 datatype t = D; val D = D; smlsharp-1.2.0/test/tests/bugs/tests/issue78.1.sml0000644 000000000000000000000006712050661606022114 0ustar00rootroot0000000 0000000 let val x = 1 in (let val x = "a" in x end,x) end; smlsharp-1.2.0/test/tests/bugs/tests/issue78.2.sml0000644 000000000000000000000006712050661606022115 0ustar00rootroot0000000 0000000 (let val x = 1 in x end, let val x = (1, 2) in x end); smlsharp-1.2.0/test/tests/bugs/tests/issue80.1.sml0000644 000000000000000000000011412050661606022076 0ustar00rootroot0000000 0000000 abstype t2 = D of string with val ax2 : t2 = D "b" end; val gx2 : t2 = ax2; smlsharp-1.2.0/test/tests/bugs/tests/issue81.1.sml0000644 000000000000000000000016612050661606022106 0ustar00rootroot0000000 0000000 structure S = struct fun f () = () end structure S = struct fun f x = if x = 0 then S.f () else f (x - 1) end; S.f 1; smlsharp-1.2.0/test/tests/bugs/tests/issue84.1.sml0000644 000000000000000000000022212050661606022102 0ustar00rootroot0000000 0000000 datatype t = * of int * int; val (x * y) = (1 * 2); (* '=' may not re-bound. datatype s = = of int * int; val (op = (x, y)) = (op = (1, 2)); *) smlsharp-1.2.0/test/tests/bugs/tests/issue85.1.sml0000644 000000000000000000000012012050661606022100 0ustar00rootroot0000000 0000000 signature S = sig eqtype foo end; structure S : S = struct type foo = unit end; smlsharp-1.2.0/test/tests/bugs/tests/issue86.1.sml0000644 000000000000000000000015012050661606022104 0ustar00rootroot0000000 0000000 fun f x = x + 1; f 1; val f' : int -> int = f; f' 1; type func = int -> int; val f'' : func = f; f'' 1; smlsharp-1.2.0/test/tests/bugs/tests/issue87.1.sml0000644 000000000000000000000004412050661606022107 0ustar00rootroot0000000 0000000 type t = int; datatype dt = D of t; smlsharp-1.2.0/test/tests/bugs/tests/issue88.1.sml0000644 000000000000000000000011712050661606022111 0ustar00rootroot0000000 0000000 structure S = struct datatype dt = D end; structure T = S; val x : T.dt = T.D; smlsharp-1.2.0/test/tests/bugs/tests/issue89.1.sml0000644 000000000000000000000016112050661606022111 0ustar00rootroot0000000 0000000 structure S = struct fun f x = x + 1 end; structure T = S; structure S = struct fun f (x, y) = x + y end; T.f 1; smlsharp-1.2.0/test/tests/bugs/tests/issue9.1.sml0000644 000000000000000000000002512050661606022020 0ustar00rootroot0000000 0000000 use "issue9.1.temp"; smlsharp-1.2.0/test/tests/bugs/tests/issue9.1.temp0000644 000000000000000000000010212050661606022166 0ustar00rootroot0000000 0000000 (fn x => x) (fn (x,y) => (x,y)); (fn x => x) (fn (x,y) => (x,y)); smlsharp-1.2.0/test/tests/bugs/tests/issue90.1.sml0000644 000000000000000000000014012050661606022076 0ustar00rootroot0000000 0000000 structure Sval1 = struct val x = (1, 2) end; structure Sval2 = struct open Sval1 val y = x end; smlsharp-1.2.0/test/tests/bugs/tests/issue90.4.sml0000644 000000000000000000000013312050661606022103 0ustar00rootroot0000000 0000000 local structure S = struct datatype dt = D val x = D end in structure S12 = S end; S12.x; smlsharp-1.2.0/test/tests/bugs/tests/issue91.1.sml0000644 000000000000000000000012612050661606022103 0ustar00rootroot0000000 0000000 local datatype t2 = C2 of int in datatype t2 = datatype t2 end; val v2 : t2 = C2 2; smlsharp-1.2.0/test/tests/bugs/tests/issue91.2.sml0000644 000000000000000000000063212050661606022106 0ustar00rootroot0000000 0000000 local datatype dt1 = D1 in datatype dt1 = datatype dt1 end; val x1 = D1; local datatype dt2 = D2 in datatype dt22 = datatype dt2 end; val x2 = D2; local datatype ('a, 'b) dt31 = D31 of 'a * 'b and 'c dt32 = D32 of 'c in datatype dt = datatype dt31 end; val x = D31(1, "abc"); local datatype ('a, 'b) dt41 = D41 of 'a * 'b and 'c dt42 = D42 of 'c in datatype dt41 = datatype dt41 end; val x = D41(1, "abc"); smlsharp-1.2.0/test/tests/bugs/tests/issue92.1.sml0000644 000000000000000000000004612050661606022105 0ustar00rootroot0000000 0000000 signature S21 = sig type s and t end; smlsharp-1.2.0/test/tests/bugs/tests/issue93.1.sml0000644 000000000000000000000011212050661606022100 0ustar00rootroot0000000 0000000 signature S1 = sig datatype dt1 = D datatype dt2 = datatype dt1 end; smlsharp-1.2.0/test/tests/bugs/tests/issue94.1.sml0000644 000000000000000000000010712050661606022105 0ustar00rootroot0000000 0000000 datatype dt1 = D; signature S1 = sig datatype t = datatype dt1 end; smlsharp-1.2.0/test/tests/bugs/tests/issue95.1.sml0000644 000000000000000000000022012050661606022102 0ustar00rootroot0000000 0000000 signature S13 = sig structure S : sig structure S : sig type t datatype dt = D end val x : S.t val y : S.dt end end; smlsharp-1.2.0/test/tests/bugs/tests/issue96.1.sml0000644 000000000000000000000060112050661606022106 0ustar00rootroot0000000 0000000 signature S211 = sig type t structure S : sig datatype dt = D end where type dt = t end; signature S212 = sig type t structure S : sig datatype t = D end where type t = t end; signature S221 = sig datatype s = D structure S : sig datatype t = E end where type t = s end; signature S222 = sig datatype t = D structure S : sig datatype t = E end where type t = t end; smlsharp-1.2.0/test/tests/bugs/tests/issue97.1.sml0000644 000000000000000000000022512050661606022111 0ustar00rootroot0000000 0000000 signature S23 = sig eqtype s datatype t = D of real sharing type s = t end; signature S21 = sig eqtype s type t sharing type s = t end; smlsharp-1.2.0/test/tests/bugs/tests/issue98.1.sml0000644 000000000000000000000010012050661606022102 0ustar00rootroot0000000 0000000 signature S11 = sig type s type t sharing type s = t end; smlsharp-1.2.0/test/tests/bugs/tests/issue99.1.sml0000644 000000000000000000000024212050661606022112 0ustar00rootroot0000000 0000000 signature S31 = sig datatype s = D of real type t sharing type s = t end; structure S31 : S31 = struct datatype s = D of real datatype t = datatype s end; smlsharp-1.2.0/test/tests/bugs/tests/Ticket-11.1.sml0000644 000000000000000000000016612050661606022247 0ustar00rootroot0000000 0000000 structure S : sig type 'a t val f : unit -> 'a t end = struct type 'a t = int fun f () = 1 : 'a t end smlsharp-1.2.0/test/tests/bugs/tests/Ticket-12.1.sml0000644 000000000000000000000035112050661606022244 0ustar00rootroot0000000 0000000 signature TEST = sig type 'a RList val empty : 'a RList end structure Test : TEST = struct datatype 'a Digit = Zero | One of 'a type 'a RList = 'a Digit list val empty = nil end val list = Test.empty; smlsharp-1.2.0/test/tests/bugs/tests/Ticket-12.2.sml0000644 000000000000000000000015512050661606022247 0ustar00rootroot0000000 0000000 structure X : sig type t val D : t end = struct datatype dt = D type t = dt end val y = X.D; smlsharp-1.2.0/test/tests/bugs/tests/Ticket-19.1.sml0000644 000000000000000000000035512050661606022257 0ustar00rootroot0000000 0000000 signature SIG = sig type 'a t val x : 'a t val f_t : 'a t -> string end; structure STR : SIG = struct datatype 'a dt = C fun f_dt C = "C" type 'a t = 'a dt val f_t = f_dt val x = C end val x = STR.x val _ = STR.f_t x; smlsharp-1.2.0/test/tests/bugs/tests/Ticket-20.1.sml0000644 000000000000000000000020512050661606022241 0ustar00rootroot0000000 0000000 val r = { f = fn x => 1 + 1.23, g = fn x => 1 + 1.23, h = fn x => 1 + 1.23, i = fn x => 1 + 1.23 }; smlsharp-1.2.0/test/tests/bugs/tests/Ticket-21.1.sml0000644 000000000000000000000007612050661606022250 0ustar00rootroot0000000 0000000 val f = UnmanagedMemory.NULL : _import (int) -> Real32.real; smlsharp-1.2.0/test/tests/bugs/tests/Ticket-22.1.sml0000644 000000000000000000000002712050661606022245 0ustar00rootroot0000000 0000000 open Int; val n = 1; smlsharp-1.2.0/test/tests/bugs/tests/Ticket-23.1.sml0000644 000000000000000000000022412050661606022245 0ustar00rootroot0000000 0000000 fun f x = let exception F of int in if x = 0 then raise F 0 else (f (x - 1)) handle F n => n end; f 1; smlsharp-1.2.0/test/tests/bugs/tests/Ticket-25.1.sml0000644 000000000000000000000015612050661606022253 0ustar00rootroot0000000 0000000 val maxUInt32 = Word32.fromLargeInt 0xFFFFFFFF; val isEqual = Word32.fromLargeInt 0xFFFFFFFF = 0wxFFFFFFFF; smlsharp-1.2.0/test/tests/bugs/tests/Ticket-26.1.sml0000644 000000000000000000000010012050661606022241 0ustar00rootroot0000000 0000000 val f = fn x => fn (y:'a) => fn z => fn w => (y z, y x, w:'a); smlsharp-1.2.0/test/tests/bugs/tests/Ticket-28.1.sml0000644 000000000000000000000002512050661606022251 0ustar00rootroot0000000 0000000 raise General.Size; smlsharp-1.2.0/test/tests/bugs/tests/Ticket-30.1.sml0000644 000000000000000000000010212050661606022236 0ustar00rootroot0000000 0000000 val ninf64 = ~1.0 / 0.0; val ninf32 = ~1.0 / 0.0 : Real32.real; smlsharp-1.2.0/test/tests/bugs/tests/Ticket-30.3.sml0000644 000000000000000000000003612050661606022246 0ustar00rootroot0000000 0000000 val ninf64 = ~1e308 - 1e308; smlsharp-1.2.0/test/tests/bugs/tests/Ticket-32.1.sml0000644 000000000000000000000016112050661606022245 0ustar00rootroot0000000 0000000 local val exported = UnmanagedString.export "hoge" in val imported = UnmanagedString.import exported end; smlsharp-1.2.0/test/tests/bugs/tests/Ticket-32.3.sml0000644 000000000000000000000031212050661606022245 0ustar00rootroot0000000 0000000 local val exported = UnmanagedString.export "hogehogehogehoge" val () = UnmanagedString.release exported val exported = UnmanagedString.export "hoge" in val sz = UnmanagedString.size exported end;smlsharp-1.2.0/test/tests/bugs/tests/Ticket-36.1.sml0000644 000000000000000000000015612050661606022255 0ustar00rootroot0000000 0000000 functor F(P : sig end) = struct structure S = struct datatype dt = D end end; structure Q = F(struct end); smlsharp-1.2.0/test/tests/bugs/tests/Ticket-36.3.sml0000644 000000000000000000000013012050661606022247 0ustar00rootroot0000000 0000000 structure S21 = struct datatype dt = D end; structure S21 = struct val x = S21.D end; smlsharp-1.2.0/test/tests/bugs/tests/Ticket-37.1.sml0000644 000000000000000000000026512050661606022257 0ustar00rootroot0000000 0000000 signature SIG = sig type dt end; structure T = struct datatype dt = D end :> SIG; functor F(P : sig type dt end) = struct datatype dt2 = D of P.dt end; structure TBasic = F(T); smlsharp-1.2.0/test/tests/bugs/tests/Ticket-38.1.sml0000644 000000000000000000000025612050661606022260 0ustar00rootroot0000000 0000000 signature SIG = sig structure S : sig type t val x : t end end; structure STR :> SIG = struct structure S = struct datatype t = D val x = D end end; structure T = STR.S; smlsharp-1.2.0/test/tests/bugs/tests/Ticket-39.1.sml0000644 000000000000000000000001612050661606022253 0ustar00rootroot0000000 0000000 val _ x = 1; smlsharp-1.2.0/test/tests/bugs/tests/Ticket-41.1.sml0000644 000000000000000000000007312050661606022247 0ustar00rootroot0000000 0000000 datatype t = X of real ref; val r = ref 1.0; X r = X r; smlsharp-1.2.0/test/tests/bugs/tests/Ticket-44.1.sml0000644 000000000000000000000006012050661606022246 0ustar00rootroot0000000 0000000 local val x = ref nil in val _ = x := [1] end; smlsharp-1.2.0/test/tests/bugs/tests/Ticket-48.1.sml0000644 000000000000000000000002612050661606022254 0ustar00rootroot0000000 0000000 {01=1, a=2}; #1 it; smlsharp-1.2.0/test/tests/bugs/tests/Ticket-49.1.sml0000644 000000000000000000000001612050661606022254 0ustar00rootroot0000000 0000000 val x = 1 (* smlsharp-1.2.0/test/tests/bugs/tests/Ticket-50.1.sml0000644 000000000000000000000002612050661606022245 0ustar00rootroot0000000 0000000 val x = print "hello\nsmlsharp-1.2.0/test/tests/bugs/tests/Ticket-51.1.sml0000644 000000000000000000000001712050661606022246 0ustar00rootroot0000000 0000000 type * = int; smlsharp-1.2.0/test/tests/bugs/tests/Ticket-52.1.sml0000644 000000000000000000000001112050661606022241 0ustar00rootroot0000000 0000000 (op *); smlsharp-1.2.0/test/tests/coresml0000755 000000000000000000000000012050661606017211 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/test/tests/coresml/outputs0000755 000000000000000000000000012050661606020734 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/test/tests/coresml/outputs/abstype001.out0000644 000000000000000000000023612050661606023435 0ustar00rootroot0000000 0000000 abstype t1 val v1 = - : t1 abstype 'a t2 val v2 = - : bool t2 abstype ('a, 'b) t3 val v3 = - : (int, bool) t3 abstype ('a, 'b) t4 val v4 = - : (int, bool) t4 smlsharp-1.2.0/test/tests/coresml/outputs/abstype002.out0000644 000000000000000000000015012050661606023431 0ustar00rootroot0000000 0000000 abstype t11 abstype t12 val v1 = (-, -) : t11 * t12 abstype t21 abstype t22 val v2 = (-, -) : t21 * t22 smlsharp-1.2.0/test/tests/coresml/outputs/abstype003.out0000644 000000000000000000000065012050661606023437 0ustar00rootroot0000000 0000000 abstype 'a t11 val v11 = - : bool t11 abstype 'a t121 val v121 = - : bool t121 abstype 'a t122 val v122 = (-, -) : bool t122 * string t122 abstype ('a, 'b) t211 val v211 = - : (bool, real) t211 abstype ('a, 'b) t212 val v212 = (-, -) : (bool, real) t212 * (int, string) t212 abstype ('a, 'b) t221 val v221 = - : (bool, real) t221 abstype ('a, 'b) t222 val v222 = (-, -) : (bool, real) t222 * (bool * real, real * bool) t222 smlsharp-1.2.0/test/tests/coresml/outputs/abstype004.out0000644 000000000000000000000027412050661606023442 0ustar00rootroot0000000 0000000 abstype 'a t121 abstype 'a t122 val v12 = (-, -) : bool t121 * real t122 abstype ('a, 'b) t221 abstype ('a, 'b) t222 val v22 = (-, -) : (bool, real) t221 * (bool * real, real * bool) t222 smlsharp-1.2.0/test/tests/coresml/outputs/abstype005.out0000644 000000000000000000000222412050661606023440 0ustar00rootroot0000000 0000000 abstype dt11nn1 type t11nn1 = int val dt11nn1 = - : dt11nn1 val t11nn1 = 1 : t11nn1 abstype dt11ny1 type t11ny1 = int * dt11ny1 val dt11ny1 = - : dt11ny1 val t11ny1 = (1, -) : t11ny1 abstype dt11yn1 type t11yn1 = int val dt11yn1 = - : dt11yn1 val t11yn1 = 1 : t11yn1 abstype dt11yy1 type t11yy1 = dt11yy1 * int val dt11yy1 = - : dt11yy1 val t11yy1 = (-, 1) : t11yy1 abstype dt22nn1 abstype dt22nn2 type t22nn1 = int type t22nn2 = int * int val dt22nn1 = - : dt22nn1 val dt22nn2 = - : dt22nn2 val t22nn1 = 1 : t22nn1 val t22nn2 = (2,3) : t22nn2 abstype dt22ny1 abstype dt22ny2 type t22ny1 = dt22ny1 * int type t22ny2 = int * int * dt22ny2 val dt22ny1 = - : dt22ny1 val dt22ny2 = - : dt22ny2 val t22ny1 = (-, 1) : t22ny1 val t22ny2 = (2, 3, -) : t22ny2 abstype dt22yn1 abstype dt22yn2 type t22yn1 = int type t22yn2 = int * int val dt22yn1 = fn : (int * int) * int -> dt22yn1 val dt22yn2 = fn : int * int -> dt22yn2 val t22yn1 = 1 : t22yn1 val t22yn2 = (2,3) : t22yn2 abstype dt22yy1 abstype dt22yy2 type t22yy1 = int * dt22yy2 type t22yy2 = int * int * dt22yy1 val dt22yy1 = - : dt22yy1 val dt22yy2 = - : dt22yy2 val t22yy1 = (4, -) : t22yy1 val t22yy2 = (5, 6, -) : t22yy2 smlsharp-1.2.0/test/tests/coresml/outputs/abstype006.out0000644 000000000000000000000020212050661606023433 0ustar00rootroot0000000 0000000 abstype dt111 type 'a t111 = 'a * bool val x111 = - : dt111 abstype dt112 type ('a,'b) t112 = 'a * bool * 'b val x112 = - : dt112 smlsharp-1.2.0/test/tests/coresml/outputs/abstype007.out0000644 000000000000000000000025512050661606023444 0ustar00rootroot0000000 0000000 abstype 'a dt111 type t111 = bool * (int * int) dt111 val x111 = (true, -) : t111 abstype ('a, 'b) dt112 type t112 = bool * (string,bool) dt112 val x112 = (false, -) : t112 smlsharp-1.2.0/test/tests/coresml/outputs/abstype008.out0000644 000000000000000000000041012050661606023436 0ustar00rootroot0000000 0000000 datatype dt1 con D : int -> dt1 abstype at1 val ax1 = - : at1 val gx1 = D 1 : dt1 datatype t2 con D : int -> t2 abstype t2 val ax2 = - : t2 val gx2 = - : t2 datatype t3 con D : int -> t3 abstype at3 type t3 = string * at3 val ax3 = - : at3 val gx3 = ("c", -) : t3 smlsharp-1.2.0/test/tests/coresml/outputs/abstype009.out0000644 000000000000000000000055512050661606023451 0ustar00rootroot0000000 0000000 datatype dt1 con D : int -> dt1 abstype at1 datatype t1 con D : bool -> t1 val ax1 = D true : t1 val gx1 = D false : t1 datatype t2 con D : int -> t2 abstype t2 datatype t2 con E : real -> t2 val ax2 = E 1.23 : t2 val gx2 = E 1.23 : t2 datatype t3 con D : int -> t3 abstype at3 type t3 = string * at3 type t3 = bool * at3 val ax3 = - : at3 val gx3 = (true, -) : t3 smlsharp-1.2.0/test/tests/coresml/outputs/aliasType001.out0000644 000000000000000000000060112050661606023715 0ustar00rootroot0000000 0000000 type t1 = int val x1 = 1 : t1 type t2 = int -> int val f21 = fn : int -> int val x21 = 2 : int val f22 = fn : t2 val x22 = 2 : int type 'a t3 = 'a -> 'a * 'a val f31 = fn : ['a .'a -> 'a * 'a] val x31 = (1, 1) : int * int val f32 = fn : int t3 val x32 = (2, 2) : int * int type t4 = {a:int , b:string} val f = fn : {a:int , b:string} -> int * string val x4 = (1, "abc") : int * string smlsharp-1.2.0/test/tests/coresml/outputs/aliasType002.out0000644 000000000000000000000030212050661606023714 0ustar00rootroot0000000 0000000 type t1 = int datatype dt1 con D : t1 -> dt1 val x1 = D 1 : dt1 type t21 = int type t22 = t21 * string val x2 = (2,"abc") : t22 type t3 = string exception E3 : t3 -> exn val x3 = E3 "xyz" : exn smlsharp-1.2.0/test/tests/coresml/outputs/andalso001.out0000644 000000000000000000000007712050661606023412 0ustar00rootroot0000000 0000000 exception E : exn val v1 = false : bool val v2 = false : bool smlsharp-1.2.0/test/tests/coresml/outputs/andalso002.out0000644 000000000000000000000006212050661606023405 0ustar00rootroot0000000 0000000 123val v1 = true : bool 1234val v2 = true : bool smlsharp-1.2.0/test/tests/coresml/outputs/andalso003.out0000644 000000000000000000000022012050661606023402 0ustar00rootroot0000000 0000000 12val v11 = true : bool 12val v12 = true : bool 124val v13 = true : bool 1val v21 = true : bool 13val v22 = true : bool 1val v23 = true : bool smlsharp-1.2.0/test/tests/coresml/outputs/application001.out0000644 000000000000000000000011512050661606024265 0ustar00rootroot0000000 0000000 val f1 = fn : int -> int val v1 = 2 : int val v2 = 2 : int val v3 = 1 : int smlsharp-1.2.0/test/tests/coresml/outputs/BigRecord001.out0000644 000000000000000000001550212050661606023630 0ustar00rootroot0000000 0000000 type rec40 = int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real type rec80 = int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real val topMono40 = ( 1, 2.2, 3, 4, 5.5, 6, 7.7, 8, 9, 10.1, 11, 12.12, 13, 14, 15.15, 16, 17.17, 18, 19, 20.2, 21, 22.22, 23, 24, 25.25, 26, 27.27, 28, 29, 30.3, 31, 32.32, 33, 34, 35.35, 36, 37.37, 38, 39, 40.4 ) : rec40 val topMono40_1 = 1 : int val topMono40_10 = 10.1 : real val topMono40_11 = 11 : int val topMono40_20 = 20.2 : real val topMono40_21 = 21 : int val topMono40_30 = 30.3 : real val topMono40_31 = 31 : int val topMono40_39 = 39 : int val topMono40_40 = 40.4 : real val topMono80 = ( 1, 2.2, 3, 4, 5.5, 6, 7.7, 8, 9, 10.1, 11, 12.12, 13, 14, 15.15, 16, 17.17, 18, 19, 20.2, 21, 22.22, 23, 24, 25.25, 26, 27.27, 28, 29, 30.3, 31, 32.32, 33, 34, 35.35, 36, 37.37, 38, 39, 40.4, 41, 42.42, 43, 44, 45.45, 46, 47.47, 48, 49, 50.5, 51, 52.52, 53, 54, 55.55, 56, 57.57, 58, 59, 60.6, 61, 62.62, 63, 64, 65.65, 66, 67.67, 68, 69, 70.7, 71, 72.72, 73, 74, 75.75, 76, 77.77, 78, 79, 80.8 ) : rec80 val topMono80_1 = 1 : int val topMono80_10 = 10.1 : real val topMono80_11 = 11 : int val topMono80_20 = 20.2 : real val topMono80_21 = 21 : int val topMono80_30 = 30.3 : real val topMono80_31 = 31 : int val topMono80_40 = 40.4 : real val topMono80_41 = 41 : int val topMono80_50 = 50.5 : real val topMono80_51 = 51 : int val topMono80_60 = 60.6 : real val topMono80_61 = 61 : int val topMono80_70 = 70.7 : real val topMono80_71 = 71 : int val topMono80_79 = 79 : int val topMono80_80 = 80.8 : real val funMono40 = fn : int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real -> rec40 val rFunMono40_1 = 1 : int val rFunMono40_10 = 10.1 : real val rFunMono40_11 = 11 : int val rFunMono40_20 = 20.2 : real val rFunMono40_21 = 21 : int val rFunMono40_30 = 30.3 : real val rFunMono40_31 = 31 : int val rFunMono40_39 = 39 : int val rFunMono40_40 = 40.4 : real val funMono80 = fn : int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real -> rec80 val rFunMono80_1 = 1 : int val rFunMono80_10 = 10.1 : real val rFunMono80_11 = 11 : int val rFunMono80_20 = 20.2 : real val rFunMono80_21 = 21 : int val rFunMono80_30 = 30.3 : real val rFunMono80_31 = 31 : int val rFunMono80_40 = 40.4 : real val rFunMono80_41 = 41 : int val rFunMono80_50 = 50.5 : real val rFunMono80_51 = 51 : int val rFunMono80_60 = 60.6 : real val rFunMono80_61 = 61 : int val rFunMono80_70 = 70.7 : real val rFunMono80_71 = 71 : int val rFunMono80_79 = 79 : int val rFunMono80_80 = 80.8 : real val ENVMono40 = fn : int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real -> ['a .'a -> rec40] val rENVMono40_1 = 1 : int val rENVMono40_10 = 10.1 : real val rENVMono40_11 = 11 : int val rENVMono40_20 = 20.2 : real val rENVMono40_21 = 21 : int val rENVMono40_30 = 30.3 : real val rENVMono40_31 = 31 : int val rENVMono40_39 = 39 : int val rENVMono40_40 = 40.4 : real val ENVMono80 = fn : int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real -> ['a .'a -> rec80] val rENVMono80_1 = 1 : int val rENVMono80_10 = 10.1 : real val rENVMono80_11 = 11 : int val rENVMono80_20 = 20.2 : real val rENVMono80_21 = 21 : int val rENVMono80_30 = 30.3 : real val rENVMono80_31 = 31 : int val rENVMono80_40 = 40.4 : real val rENVMono80_41 = 41 : int val rENVMono80_50 = 50.5 : real val rENVMono80_51 = 51 : int val rENVMono80_60 = 60.6 : real val rENVMono80_61 = 61 : int val rENVMono80_70 = 70.7 : real val rENVMono80_71 = 71 : int val rENVMono80_79 = 79 : int val rENVMono80_80 = 80.8 : real smlsharp-1.2.0/test/tests/coresml/outputs/BigRecord002.out0000644 000000000000000000005232312050661606023633 0ustar00rootroot0000000 0000000 val topPoly40 = ( 1, 2.2, 3, 4, 5.5, 6, 7.7, 8, 9, 10.1, 11, 12.12, 13, 14, 15.15, 16, 17.17, 18, 19, 20.2, 21, 22.22, 23, 24, 25.25, 26, 27.27, 28, 29, 30.3, 31, 32.32, 33, 34, 35.35, 36, 37.37, 38, 39, 40.4 ) : int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real val topPoly40_1 = 1 : int val topPoly40_10 = 10.1 : real val topPoly40_11 = 11 : int val topPoly40_20 = 20.2 : real val topPoly40_21 = 21 : int val topPoly40_30 = 30.3 : real val topPoly40_31 = 31 : int val topPoly40_39 = 39 : int val topPoly40_40 = 40.4 : real val topPoly80 = ( 1, 2.2, 3, 4, 5.5, 6, 7.7, 8, 9, 10.1, 11, 12.12, 13, 14, 15.15, 16, 17.17, 18, 19, 20.2, 21, 22.22, 23, 24, 25.25, 26, 27.27, 28, 29, 30.3, 31, 32.32, 33, 34, 35.35, 36, 37.37, 38, 39, 40.4, 41, 42.42, 43, 44, 45.45, 46, 47.47, 48, 49, 50.5, 51, 52.52, 53, 54, 55.55, 56, 57.57, 58, 59, 60.6, 61, 62.62, 63, 64, 65.65, 66, 67.67, 68, 69, 70.7, 71, 72.72, 73, 74, 75.75, 76, 77.77, 78, 79, 80.8 ) : int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real val topPoly80_1 = 1 : int val topPoly80_10 = 10.1 : real val topPoly80_11 = 11 : int val topPoly80_20 = 20.2 : real val topPoly80_21 = 21 : int val topPoly80_30 = 30.3 : real val topPoly80_31 = 31 : int val topPoly80_40 = 40.4 : real val topPoly80_41 = 41 : int val topPoly80_50 = 50.5 : real val topPoly80_51 = 51 : int val topPoly80_60 = 60.6 : real val topPoly80_61 = 61 : int val topPoly80_70 = 70.7 : real val topPoly80_71 = 71 : int val topPoly80_79 = 79 : int val topPoly80_80 = 80.8 : real val funPoly40_tv32 = fn : ['a,'b,'c,'d,'e,'f,'g,'h,'i,'j,'k,'l,'m,'n,'o,'p,'q,'r,'s,'t,'u,'v,'w,'x,'y,'z,'aa,'ab,'ac,'ad,'ae,'af,'ag,'ah,'ai,'aj,'ak,'al,'am,'an. 'an * 'am * 'al * 'ak * 'aj * 'ai * 'ah * 'ag * 'af * 'ae * 'ad * 'ac * 'ab * 'aa * 'z * 'y * 'x * 'w * 'v * 'u * 't * 's * 'r * 'q * 'p * 'o * 'n * 'm * 'l * 'k * 'j * 'i * 'h * 'g * 'f * 'e * 'd * 'c * 'b * 'a -> 'an * 'am * 'al * 'ak * 'aj * 'ai * 'ah * 'ag * 'af * 'ae * 'ad * 'ac * 'ab * 'aa * 'z * 'y * 'x * 'w * 'v * 'u * 't * 's * 'r * 'q * 'p * 'o * 'n * 'm * 'l * 'k * 'j * 'i * 'ab * 'aa * 'z * 'y * 'x * 'w * 'v * 'u] val rFunPoly40_tv32_1 = 1 : int val rFunPoly40_tv32_10 = 10.1 : real val rFunPoly40_tv32_11 = 11 : int val rFunPoly40_tv32_20 = 20.2 : real val rFunPoly40_tv32_21 = 21 : int val rFunPoly40_tv32_30 = 30.3 : real val rFunPoly40_tv32_31 = 31 : int val rFunPoly40_tv32_39 = 19 : int val rFunPoly40_tv32_40 = 20.2 : real BUG :too much record groups. ..\main\StackFrame.sml:127.24-127.61 ../tests/coresml/tests/BigRecord002.sml:126.28-126.41 Error: unbound variable or constructor: funPoly40_tv33 ../tests/coresml/tests/BigRecord002.sml:127.30-127.43 Error: unbound variable or constructor: funPoly40_tv33 ../tests/coresml/tests/BigRecord002.sml:128.30-128.43 Error: unbound variable or constructor: funPoly40_tv33 ../tests/coresml/tests/BigRecord002.sml:129.30-129.43 Error: unbound variable or constructor: funPoly40_tv33 ../tests/coresml/tests/BigRecord002.sml:130.30-130.43 Error: unbound variable or constructor: funPoly40_tv33 ../tests/coresml/tests/BigRecord002.sml:131.30-131.43 Error: unbound variable or constructor: funPoly40_tv33 ../tests/coresml/tests/BigRecord002.sml:132.30-132.43 Error: unbound variable or constructor: funPoly40_tv33 ../tests/coresml/tests/BigRecord002.sml:133.30-133.43 Error: unbound variable or constructor: funPoly40_tv33 ../tests/coresml/tests/BigRecord002.sml:134.30-134.43 Error: unbound variable or constructor: funPoly40_tv33 val funPoly80_tv32 = fn : ['a,'b,'c,'d,'e,'f,'g,'h,'i,'j,'k,'l,'m,'n,'o,'p,'q,'r,'s,'t,'u,'v,'w,'x,'y,'z,'aa,'ab,'ac,'ad,'ae,'af,'ag,'ah,'ai,'aj,'ak,'al,'am,'an,'ao,'ap,'aq,'ar,'as,'at,'au,'av,'aw,'ax,'ay,'az,'ba,'bb,'bc,'bd,'be,'bf,'bg,'bh,'bi,'bj,'bk,'bl,'bm,'bn,'bo,'bp,'bq,'br,'bs,'bt,'bu,'bv,'bw,'bx,'by,'bz,'ca,'cb. 'cb * 'ca * 'bz * 'by * 'bx * 'bw * 'bv * 'bu * 'bt * 'bs * 'br * 'bq * 'bp * 'bo * 'bn * 'bm * 'bl * 'bk * 'bj * 'bi * 'bh * 'bg * 'bf * 'be * 'bd * 'bc * 'bb * 'ba * 'az * 'ay * 'ax * 'aw * 'av * 'au * 'at * 'as * 'ar * 'aq * 'ap * 'ao * 'an * 'am * 'al * 'ak * 'aj * 'ai * 'ah * 'ag * 'af * 'ae * 'ad * 'ac * 'ab * 'aa * 'z * 'y * 'x * 'w * 'v * 'u * 't * 's * 'r * 'q * 'p * 'o * 'n * 'm * 'l * 'k * 'j * 'i * 'h * 'g * 'f * 'e * 'd * 'c * 'b * 'a -> 'cb * 'ca * 'bz * 'by * 'bx * 'bw * 'bv * 'bu * 'bt * 'bs * 'br * 'bq * 'bp * 'bo * 'bn * 'bm * 'bl * 'bk * 'bj * 'bi * 'bh * 'bg * 'bf * 'be * 'bd * 'bc * 'bb * 'ba * 'az * 'ay * 'ax * 'aw * 'bp * 'bo * 'bn * 'bm * 'bl * 'bk * 'bj * 'bi * 'cb * 'ca * 'bz * 'by * 'bx * 'bw * 'bv * 'bu * 'bt * 'bs * 'br * 'bq * 'bp * 'bo * 'bn * 'bm * 'bl * 'bk * 'bj * 'bi * 'bh * 'bg * 'bf * 'be * 'bd * 'bc * 'bb * 'ba * 'az * 'ay * 'ax * 'aw * 'bp * 'bo * 'bn * 'bm * 'bl * 'bk * 'bj * 'bi] val rFunPoly80_tv32_1 = 1 : int val rFunPoly80_tv32_10 = 10.1 : real val rFunPoly80_tv32_11 = 11 : int val rFunPoly80_tv32_20 = 20.2 : real val rFunPoly80_tv32_21 = 21 : int val rFunPoly80_tv32_30 = 30.3 : real val rFunPoly80_tv32_31 = 31 : int val rFunPoly80_tv32_40 = 20.2 : real val rFunPoly80_tv32_41 = 1 : int val rFunPoly80_tv32_50 = 10.1 : real val rFunPoly80_tv32_51 = 11 : int val rFunPoly80_tv32_60 = 20.2 : real val rFunPoly80_tv32_61 = 21 : int val rFunPoly80_tv32_70 = 30.3 : real val rFunPoly80_tv32_71 = 31 : int val rFunPoly80_tv32_79 = 19 : int val rFunPoly80_tv32_80 = 20.2 : real BUG :too much record groups. ..\main\StackFrame.sml:127.24-127.61 ../tests/coresml/tests/BigRecord002.sml:214.28-214.41 Error: unbound variable or constructor: funPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:215.30-215.43 Error: unbound variable or constructor: funPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:216.30-216.43 Error: unbound variable or constructor: funPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:217.30-217.43 Error: unbound variable or constructor: funPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:218.30-218.43 Error: unbound variable or constructor: funPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:219.30-219.43 Error: unbound variable or constructor: funPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:220.30-220.43 Error: unbound variable or constructor: funPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:221.30-221.43 Error: unbound variable or constructor: funPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:222.30-222.43 Error: unbound variable or constructor: funPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:223.30-223.43 Error: unbound variable or constructor: funPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:224.30-224.43 Error: unbound variable or constructor: funPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:225.30-225.43 Error: unbound variable or constructor: funPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:226.30-226.43 Error: unbound variable or constructor: funPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:227.30-227.43 Error: unbound variable or constructor: funPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:228.30-228.43 Error: unbound variable or constructor: funPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:229.30-229.43 Error: unbound variable or constructor: funPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:230.30-230.43 Error: unbound variable or constructor: funPoly80_tv33 val ENVPoly40_tv32 = fn : ['a,'b,'c,'d,'e,'f,'g,'h,'i,'j,'k,'l,'m,'n,'o,'p,'q,'r,'s,'t,'u,'v,'w,'x,'y,'z,'aa,'ab,'ac,'ad,'ae,'af,'ag,'ah,'ai,'aj,'ak,'al,'am,'an. 'an * 'am * 'al * 'ak * 'aj * 'ai * 'ah * 'ag * 'af * 'ae * 'ad * 'ac * 'ab * 'aa * 'z * 'y * 'x * 'w * 'v * 'u * 't * 's * 'r * 'q * 'p * 'o * 'n * 'm * 'l * 'k * 'j * 'i * 'h * 'g * 'f * 'e * 'd * 'c * 'b * 'a -> string -> 'an * 'am * 'al * 'ak * 'aj * 'ai * 'ah * 'ag * 'af * 'ae * 'ad * 'ac * 'ab * 'aa * 'z * 'y * 'x * 'w * 'v * 'u * 't * 's * 'r * 'q * 'p * 'o * 'n * 'm * 'l * 'k * 'j * 'i * 'ab * 'aa * 'z * 'y * 'x * 'w * 'v * 'u] val rENVPoly40_tv32_1 = 1 : int val rENVPoly40_tv32_10 = 10.1 : real val rENVPoly40_tv32_11 = 11 : int val rENVPoly40_tv32_20 = 20.2 : real val rENVPoly40_tv32_21 = 21 : int val rENVPoly40_tv32_30 = 30.3 : real val rENVPoly40_tv32_31 = 31 : int val rENVPoly40_tv32_39 = 19 : int val rENVPoly40_tv32_40 = 20.2 : real BUG :too much record groups. ..\main\StackFrame.sml:127.24-127.61 ../tests/coresml/tests/BigRecord002.sml:284.28-284.41 Error: unbound variable or constructor: ENVPoly40_tv33 ../tests/coresml/tests/BigRecord002.sml:285.30-285.43 Error: unbound variable or constructor: ENVPoly40_tv33 ../tests/coresml/tests/BigRecord002.sml:286.30-286.43 Error: unbound variable or constructor: ENVPoly40_tv33 ../tests/coresml/tests/BigRecord002.sml:287.30-287.43 Error: unbound variable or constructor: ENVPoly40_tv33 ../tests/coresml/tests/BigRecord002.sml:288.30-288.43 Error: unbound variable or constructor: ENVPoly40_tv33 ../tests/coresml/tests/BigRecord002.sml:289.30-289.43 Error: unbound variable or constructor: ENVPoly40_tv33 ../tests/coresml/tests/BigRecord002.sml:290.30-290.43 Error: unbound variable or constructor: ENVPoly40_tv33 ../tests/coresml/tests/BigRecord002.sml:291.30-291.43 Error: unbound variable or constructor: ENVPoly40_tv33 ../tests/coresml/tests/BigRecord002.sml:292.30-292.43 Error: unbound variable or constructor: ENVPoly40_tv33 val ENVPoly80_tv32 = fn : ['a,'b,'c,'d,'e,'f,'g,'h,'i,'j,'k,'l,'m,'n,'o,'p,'q,'r,'s,'t,'u,'v,'w,'x,'y,'z,'aa,'ab,'ac,'ad,'ae,'af,'ag,'ah,'ai,'aj,'ak,'al,'am,'an,'ao,'ap,'aq,'ar,'as,'at,'au,'av,'aw,'ax,'ay,'az,'ba,'bb,'bc,'bd,'be,'bf,'bg,'bh,'bi,'bj,'bk,'bl,'bm,'bn,'bo,'bp,'bq,'br,'bs,'bt,'bu,'bv,'bw,'bx,'by,'bz,'ca,'cb. 'cb * 'ca * 'bz * 'by * 'bx * 'bw * 'bv * 'bu * 'bt * 'bs * 'br * 'bq * 'bp * 'bo * 'bn * 'bm * 'bl * 'bk * 'bj * 'bi * 'bh * 'bg * 'bf * 'be * 'bd * 'bc * 'bb * 'ba * 'az * 'ay * 'ax * 'aw * 'av * 'au * 'at * 'as * 'ar * 'aq * 'ap * 'ao * 'an * 'am * 'al * 'ak * 'aj * 'ai * 'ah * 'ag * 'af * 'ae * 'ad * 'ac * 'ab * 'aa * 'z * 'y * 'x * 'w * 'v * 'u * 't * 's * 'r * 'q * 'p * 'o * 'n * 'm * 'l * 'k * 'j * 'i * 'h * 'g * 'f * 'e * 'd * 'c * 'b * 'a -> string -> 'cb * 'ca * 'bz * 'by * 'bx * 'bw * 'bv * 'bu * 'bt * 'bs * 'br * 'bq * 'bp * 'bo * 'bn * 'bm * 'bl * 'bk * 'bj * 'bi * 'bh * 'bg * 'bf * 'be * 'bd * 'bc * 'bb * 'ba * 'az * 'ay * 'ax * 'aw * 'bp * 'bo * 'bn * 'bm * 'bl * 'bk * 'bj * 'bi * 'cb * 'ca * 'bz * 'by * 'bx * 'bw * 'bv * 'bu * 'bt * 'bs * 'br * 'bq * 'bp * 'bo * 'bn * 'bm * 'bl * 'bk * 'bj * 'bi * 'bh * 'bg * 'bf * 'be * 'bd * 'bc * 'bb * 'ba * 'az * 'ay * 'ax * 'aw * 'bp * 'bo * 'bn * 'bm * 'bl * 'bk * 'bj * 'bi] val rENVPoly80_tv32_1 = 1 : int val rENVPoly80_tv32_10 = 10.1 : real val rENVPoly80_tv32_11 = 11 : int val rENVPoly80_tv32_20 = 20.2 : real val rENVPoly80_tv32_21 = 21 : int val rENVPoly80_tv32_30 = 30.3 : real val rENVPoly80_tv32_31 = 31 : int val rENVPoly80_tv32_40 = 20.2 : real val rENVPoly80_tv32_41 = 1 : int val rENVPoly80_tv32_50 = 10.1 : real val rENVPoly80_tv32_51 = 11 : int val rENVPoly80_tv32_60 = 20.2 : real val rENVPoly80_tv32_61 = 21 : int val rENVPoly80_tv32_70 = 30.3 : real val rENVPoly80_tv32_71 = 31 : int val rENVPoly80_tv32_79 = 19 : int val rENVPoly80_tv32_80 = 20.2 : real BUG :too much record groups. ..\main\StackFrame.sml:127.24-127.61 ../tests/coresml/tests/BigRecord002.sml:372.28-372.41 Error: unbound variable or constructor: ENVPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:373.30-373.43 Error: unbound variable or constructor: ENVPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:374.30-374.43 Error: unbound variable or constructor: ENVPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:375.30-375.43 Error: unbound variable or constructor: ENVPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:376.30-376.43 Error: unbound variable or constructor: ENVPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:377.30-377.43 Error: unbound variable or constructor: ENVPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:378.30-378.43 Error: unbound variable or constructor: ENVPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:379.30-379.43 Error: unbound variable or constructor: ENVPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:380.30-380.43 Error: unbound variable or constructor: ENVPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:381.30-381.43 Error: unbound variable or constructor: ENVPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:382.30-382.43 Error: unbound variable or constructor: ENVPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:383.30-383.43 Error: unbound variable or constructor: ENVPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:384.30-384.43 Error: unbound variable or constructor: ENVPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:385.30-385.43 Error: unbound variable or constructor: ENVPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:386.30-386.43 Error: unbound variable or constructor: ENVPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:387.30-387.43 Error: unbound variable or constructor: ENVPoly80_tv33 ../tests/coresml/tests/BigRecord002.sml:388.30-388.43 Error: unbound variable or constructor: ENVPoly80_tv33 smlsharp-1.2.0/test/tests/coresml/outputs/bindReservedName001.out0000644 000000000000000000000217412050661606025206 0ustar00rootroot0000000 0000000 ../tests/coresml/tests/bindReservedName001.sml:24.1-24.18 Error: Binding reserved name: true ../tests/coresml/tests/bindReservedName001.sml:25.1-25.19 Error: Binding reserved name: false ../tests/coresml/tests/bindReservedName001.sml:26.1-26.17 Error: Binding reserved name: nil ../tests/coresml/tests/bindReservedName001.sml:27.1-27.16 Error: Binding reserved name: :: ../tests/coresml/tests/bindReservedName001.sml:28.1-28.17 Error: Binding reserved name: ref ../tests/coresml/tests/bindReservedName001.sml:29.1-29.16 Error: Binding reserved name: it ../tests/coresml/tests/bindReservedName001.sml:31.11-31.14 Error: Binding reserved name: true ../tests/coresml/tests/bindReservedName001.sml:32.11-32.22 Error: Binding reserved name: false ../tests/coresml/tests/bindReservedName001.sml:33.11-33.13 Error: Binding reserved name: nil ../tests/coresml/tests/bindReservedName001.sml:34.11-34.12 Error: Binding reserved name: :: ../tests/coresml/tests/bindReservedName001.sml:35.11-35.13 Error: Binding reserved name: ref ../tests/coresml/tests/bindReservedName001.sml:36.11-36.12 Error: Binding reserved name: it smlsharp-1.2.0/test/tests/coresml/outputs/bindReservedName002.out0000644 000000000000000000000411212050661606025201 0ustar00rootroot0000000 0000000 ../tests/coresml/tests/bindReservedName002.sml:29.5-29.15 Warning: binding not exhaustive true => ... ../tests/coresml/tests/bindReservedName002.sml:30.5-30.17 Warning: binding not exhaustive false => ... ../tests/coresml/tests/bindReservedName002.sml:31.5-31.13 Warning: binding not exhaustive nil => ... ../tests/coresml/tests/bindReservedName002.sml:32.8-32.9 Error: data constructor :: used without argument in pattern ../tests/coresml/tests/bindReservedName002.sml:33.5-33.7 Error: data constructor ref used without argument in pattern ../tests/coresml/tests/bindReservedName002.sml:35.5-35.22 Warning: binding not exhaustive true => ... ../tests/coresml/tests/bindReservedName002.sml:36.5-36.24 Warning: binding not exhaustive false => ... ../tests/coresml/tests/bindReservedName002.sml:37.5-37.24 Warning: binding not exhaustive nil => ... ../tests/coresml/tests/bindReservedName002.sml:38.8-38.9 Error: data constructor :: used without argument in pattern ../tests/coresml/tests/bindReservedName002.sml:39.5-39.7 Error: data constructor ref used without argument in pattern ../tests/coresml/tests/bindReservedName002.sml:41.5-41.8 Error: Binding reserved name: true ../tests/coresml/tests/bindReservedName002.sml:42.5-42.9 Error: Binding reserved name: false ../tests/coresml/tests/bindReservedName002.sml:43.5-43.7 Error: Binding reserved name: nil ../tests/coresml/tests/bindReservedName002.sml:44.8-44.9 Error: Binding reserved name: :: ../tests/coresml/tests/bindReservedName002.sml:45.5-45.7 Error: Binding reserved name: ref ../tests/coresml/tests/bindReservedName002.sml:47.5-47.8 Error: Binding reserved name: true ../tests/coresml/tests/bindReservedName002.sml:48.5-48.9 Error: Binding reserved name: false ../tests/coresml/tests/bindReservedName002.sml:49.5-49.7 Error: Binding reserved name: nil ../tests/coresml/tests/bindReservedName002.sml:50.8-50.9 Error: Binding reserved name: :: ../tests/coresml/tests/bindReservedName002.sml:51.5-51.7 Error: Binding reserved name: ref smlsharp-1.2.0/test/tests/coresml/outputs/bindReservedName003.out0000644 000000000000000000000356112050661606025211 0ustar00rootroot0000000 0000000 ../tests/coresml/tests/bindReservedName003.sml:29.6-29.10 Error: Binding reserved name: true ../tests/coresml/tests/bindReservedName003.sml:30.6-30.11 Error: Binding reserved name: false ../tests/coresml/tests/bindReservedName003.sml:31.6-31.9 Error: Binding reserved name: nil ../tests/coresml/tests/bindReservedName003.sml:32.6-32.8 Error: Binding reserved name: :: ../tests/coresml/tests/bindReservedName003.sml:33.6-33.9 Error: Binding reserved name: ref ../tests/coresml/tests/bindReservedName003.sml:35.6-35.16 Error: Binding reserved name: true ../tests/coresml/tests/bindReservedName003.sml:36.6-36.17 Error: Binding reserved name: false ../tests/coresml/tests/bindReservedName003.sml:37.6-37.15 Error: Binding reserved name: nil ../tests/coresml/tests/bindReservedName003.sml:38.6-38.14 Error: Binding reserved name: :: ../tests/coresml/tests/bindReservedName003.sml:39.6-39.15 Error: Binding reserved name: ref ../tests/coresml/tests/bindReservedName003.sml:41.6-41.14 Error: Binding reserved name: true ../tests/coresml/tests/bindReservedName003.sml:42.6-42.15 Error: Binding reserved name: false ../tests/coresml/tests/bindReservedName003.sml:43.6-43.13 Error: Binding reserved name: nil ../tests/coresml/tests/bindReservedName003.sml:44.6-44.12 Error: Binding reserved name: :: ../tests/coresml/tests/bindReservedName003.sml:45.6-45.13 Error: Binding reserved name: ref ../tests/coresml/tests/bindReservedName003.sml:47.6-47.20 Error: Binding reserved name: true ../tests/coresml/tests/bindReservedName003.sml:48.6-48.21 Error: Binding reserved name: false ../tests/coresml/tests/bindReservedName003.sml:49.6-49.19 Error: Binding reserved name: nil ../tests/coresml/tests/bindReservedName003.sml:50.6-50.18 Error: Binding reserved name: :: ../tests/coresml/tests/bindReservedName003.sml:51.6-51.19 Error: Binding reserved name: ref smlsharp-1.2.0/test/tests/coresml/outputs/case001.out0000644 000000000000000000000060312050661606022677 0ustar00rootroot0000000 0000000 val case_intconst1 = true : bool val case_intvar = true : bool val case_intexp = true : bool val case_wordconst1 = true : bool val case_wordvar = true : bool val case_wordexp = true : bool val case_charconst1 = true : bool val case_charvar = true : bool val case_charexp = true : bool val case_stringconst1 = true : bool val case_stringvar = true : bool val case_stringexp = true : bool smlsharp-1.2.0/test/tests/coresml/outputs/case002.out0000644 000000000000000000000046612050661606022707 0ustar00rootroot0000000 0000000 val f = fn : ['a.'a -> 'a] val case_wild1 = true : bool val case_var1 = true : bool val case_const1 = true : bool val case_const2 = true : bool val case_const3 = true : bool val case_typed1 = true : bool val case_layered1 = true : bool val case_layeredtyped1 = true : bool val case_typedlayered1 = true : bool smlsharp-1.2.0/test/tests/coresml/outputs/constants001.out0000644 000000000000000000000100412050661606023774 0ustar00rootroot0000000 0000000 val plus_int = 1 : int val minus_int = ~1 : int val zero_int = 0 : int val plus_real = 1.1 : real val minus_real = ~1.1 : real val zero_real = 0.0 : real val plus_word = 0wx1 : word val zero_word = 0wx0 : word val plus_word16 = 0wxf : word val zero_word16 = 0wx0 : word val char1 = #"a" : char val char2 = #"\n" : char val char3 = #"\r" : char val char4 = #"\t" : char val str1 = "" : string val str2 = "a" : string val str3 = "ab" : string val str4 = "\n" : string val str5 = "\r" : string val str6 = "\t" : string smlsharp-1.2.0/test/tests/coresml/outputs/constants002.out0000644 000000000000000000000413212050661606024002 0ustar00rootroot0000000 0000000 val alert = (#"\a", "\a") : char * string val backspace = (#"\b", "\b") : char * string val horizontal_tab = (#"\t","\t") : char * string val newline = (#"\n","\n") : char * string val vertical_tab = (#"\v", "\v") : char * string val form_feed = (#"\f", "\f") : char * string val carriage_return = (#"\r", "\r") : char * string val ctrl0 = (#"\^@", "\^@") : char * string val ctrl1 = (#"\^A","\^A") : char * string val ctrl2 = (#"\^B","\^B") : char * string val ctrl3 = (#"\^C","\^C") : char * string val ctrl4 = (#"\^D","\^D") : char * string val ctrl5 = (#"\^E","\^E") : char * string val ctrl6 = (#"\^F","\^F") : char * string val ctrl7 = (#"\a", "\a") : char * string val ctrl8 = (#"\b", "\b") : char * string val ctrl9 = (#"\t","\t") : char * string val ctrl10 = (#"\n","\n") : char * string val ctrl11 = (#"\v", "\v") : char * string val ctrl12 = (#"\f", "\f") : char * string val ctrl13 = (#"\r", "\r") : char * string val ctrl14 = (#"\^N","\^N") : char * string val ctrl15 = (#"\^O","\^O") : char * string val ctrl16 = (#"\^P","\^P") : char * string val ctrl17 = (#"\^Q","\^Q") : char * string val ctrl18 = (#"\^R","\^R") : char * string val ctrl19 = (#"\^S","\^S") : char * string val ctrl20 = (#"\^T","\^T") : char * string val ctrl21 = (#"\^U","\^U") : char * string val ctrl22 = (#"\^V","\^V") : char * string val ctrl23 = (#"\^W","\^W") : char * string val ctrl24 = (#"\^X","\^X") : char * string val ctrl25 = (#"\^Y","\^Y") : char * string val ctrl26 = (#"\^Z","\^Z") : char * string val ctrl27 = (#"\^[", "\^[") : char * string val ctrl28 = (#"\^\", "\^\") : char * string val ctrl29 = (#"\^]", "\^]") : char * string val ctrl30 = (#"\^^", "\^^") : char * string val ctrl31 = (#"\^_", "\^_") : char * string val dec000 = true : bool val dec032 = true : bool val dec064 = true : bool val dec096 = true : bool val hex0000 = true : bool val hex0020 = true : bool val hex0040 = true : bool val hex0060 = true : bool val hex00FF = true : bool val doubleQuote = true : bool val backSlash = true : bool val multiBySpace = true : bool val multiByTab = true : bool val multiByNewline = true : bool val multiByFormfeed = true : bool smlsharp-1.2.0/test/tests/coresml/outputs/constructedType001.out0000644 000000000000000000000024212050661606025162 0ustar00rootroot0000000 0000000 type t1 = bool val v1 = true : t1 type 'a t2 = 'a * bool val v2 = (2,false) : int t2 type ('a,'b) t3 = 'a * 'b * bool val v3 = (3,"three",true) : (int,string) t3 smlsharp-1.2.0/test/tests/coresml/outputs/constructedType002.out0000644 000000000000000000000055312050661606025170 0ustar00rootroot0000000 0000000 type 'a t = 'a * bool type 'a t1 = ('a * bool) t val v1 = ((1,true),false) : int t1 type t2 = {x:int} t val v2 = ({x=2},false) : t2 type t3 = int t val v3 = (3,true) : t3 type t4 = int t t val v4 = ((4,true),false) : t4 type t5 = (int -> int) t val v5 = (fn,true) : t5 type 'a t6 = ('a -> 'a) t val v6 = (fn,true) : int t6 type t7 = int t val v7 = (7,false) : t7 smlsharp-1.2.0/test/tests/coresml/outputs/constructorApplication001.out0000644 000000000000000000000215312050661606026537 0ustar00rootroot0000000 0000000 datatype t con D : t datatype m_int con M_INT : int -> m_int val m_int = M_INT 1 : m_int datatype m_real con M_REAL : real -> m_real val m_real = M_REAL 1.23 : m_real datatype m_word con M_WORD : word -> m_word val m_word = M_WORD 0wx3 : m_word datatype m_char con M_CHAR : char -> m_char val m_char = M_CHAR #"a" : m_char datatype m_string con M_STRING : string -> m_string val m_string = M_STRING "abc" : m_string datatype m_unit con M_UNIT : unit -> m_unit val m_unit = M_UNIT () : m_unit datatype m_record con M_RECORD : {x:int} -> m_record val m_record = M_RECORD {x=999} : m_record datatype m_constructed con M_CONSTRUCTED : t -> m_constructed val m_constructed = M_CONSTRUCTED D : m_constructed datatype m_function con M_FUNCTION : (int -> int) -> m_function val m_function = M_FUNCTION fn : m_function datatype 'a p con P : ['a.'a -> 'a p] val p_int = P 1 : int p val p_real = P 1.23 : real p val p_word = P 0wx3 : word p val p_char = P #"a" : char p val p_string = P "abc" : string p val p_unit = P () : unit p val p_record = P {x=111} : {x:int} p val p_constructed = P D : t p val p_function = P fn : ['a .('a -> 'a) p] smlsharp-1.2.0/test/tests/coresml/outputs/datatype001.out0000644 000000000000000000000053412050661606023602 0ustar00rootroot0000000 0000000 datatype t1 con C1 : int -> t1 val v1 = C1 1 : t1 datatype 'a t2 con C2 : ['a. 'a * int -> 'a t2] val v2 = C2 (true, 2) : bool t2 datatype ('a, 'b) t3 con C3 : ['a, 'b. {a: 'a, b: 'b} -> ('a, 'b) t3] val v3 = C3 {a = 3, b = false} : (int, bool) t3 datatype ('a, 'b) t4 con C4 : ['a, 'b. {a: 'a} -> ('a, 'b) t4] val v4 = C4 {a = 3} : (int, bool) t4 smlsharp-1.2.0/test/tests/coresml/outputs/datatype002.out0000644 000000000000000000000034512050661606023603 0ustar00rootroot0000000 0000000 datatype t11 con C11 : int -> t11 datatype t12 con C12 : bool -> t12 val v1 = (C11 1,C12 true) : t11 * t12 datatype t21 con C21 : int -> t21 datatype t22 con C22 : t21 * bool -> t22 val v2 = (C21 1,C22 (C21 2,true)) : t21 * t22 smlsharp-1.2.0/test/tests/coresml/outputs/datatype003.out0000644 000000000000000000000221012050661606023575 0ustar00rootroot0000000 0000000 datatype 'a t11 con C11 : ['a. 'a * int -> 'a t11] val v11 = C11 (false, 1) : bool t11 datatype 'a t121 con C121 : ['a. 'a * ('a * int) -> 'a t121] val v121 = C121 (true, (false, 1)) : bool t121 datatype 'a t122 con C1221 : ['a. 'a -> 'a t122] con C1222 : ['a. 'a * int -> 'a t122] val v122 = (C1221 true, C1222 ("foo", 1)) : bool t122 * string t122 datatype ('a, 'b) t211 con C211 : ['a, 'b. 'a * ('b * int) -> ('a, 'b) t211] val v211 = C211 (true, (2.11, 211)) : (bool, real) t211 datatype ('a, 'b) t212 con C2121 : ['a, 'b. 'a * int -> ('a, 'b) t212] con C2122 : ['a, 'b. 'a * bool -> ('b, 'a) t212] val v212 = (C2121 (true, 2121), C2122 ("foo", false)) : (bool, real) t212 * (int, string) t212 datatype ('a, 'b) t221 con C221 : ['a, 'b. 'a * ('b * int) * 'b * ('a * int) -> ('a, 'b) t221] val v221 = C221 (true, (2.211, 2211), 2.212, (false, 2212)) : (bool, real) t221 datatype ('a, 'b) t222 con C2221 : ['a, 'b. 'a * ('b * int) -> ('a, 'b) t222] con C2222 : ['a, 'b. 'a * ('b * int) -> ('b, 'a) t222] val v222 = (C2221 (true, (2.211, 2221)), C2222 ((2.212, true), ((false, 2.213), 2222))) : (bool, real) t222 * (bool * real, real * bool) t222 smlsharp-1.2.0/test/tests/coresml/outputs/datatype004.out0000644 000000000000000000000071712050661606023610 0ustar00rootroot0000000 0000000 datatype 'a t121 con C121 : ['a. 'a * int -> 'a t121] datatype 'a t122 con C122 : ['a. int * 'a -> 'a t122] val v12 = (C121 (true, 121), C122 (122, 1.22)) : bool t121 * real t122 datatype ('a, 'b) t221 con C221 : ['a, 'b. 'a * int * 'b -> ('a, 'b) t221] datatype ('a, 'b) t222 con C222 : ['a, 'b. 'a * int * 'b -> ('b, 'a) t222] val v22 = (C221 (true, 221, 22.1), C222 ((22.2, true), 222, (false, 2.22))) : (bool, real) t221 * (bool * real, real * bool) t222 smlsharp-1.2.0/test/tests/coresml/outputs/datatype005.out0000644 000000000000000000000330212050661606023602 0ustar00rootroot0000000 0000000 datatype dt11nn1 con D11nn1 : dt11nn1 type t11nn1 = int val dt11nn1 = D11nn1 : dt11nn1 val t11nn1 = 1 : t11nn1 datatype dt11ny1 con D11ny1 : dt11ny1 type t11ny1 = int * dt11ny1 val dt11ny1 = D11ny1 : dt11ny1 val t11ny1 = (1,D11ny1) : t11ny1 datatype dt11yn1 con D11yn1 : int -> dt11yn1 type t11yn1 = int val dt11yn1 = D11yn1 1 : dt11yn1 val t11yn1 = 1 : t11yn1 datatype dt11yy1 con D11yy1 : dt11yy1 * int -> dt11yy1 con E11yy1 : dt11yy1 type t11yy1 = dt11yy1 * int val dt11yy1 = D11yy1 (E11yy1,1) : dt11yy1 val t11yy1 = (E11yy1,1) : t11yy1 datatype dt22nn1 con D22nn1 : dt22nn1 datatype dt22nn2 con D22nn2 : dt22nn2 type t22nn1 = int type t22nn2 = int * int val dt22nn1 = D22nn1 : dt22nn1 val dt22nn2 = D22nn2 : dt22nn2 val t22nn1 = 1 : t22nn1 val t22nn2 = (2,3) : t22nn2 datatype dt22ny1 con D22ny1 : dt22ny1 datatype dt22ny2 con D22ny2 : dt22ny2 type t22ny1 = dt22ny1 * int type t22ny2 = int * int * dt22ny2 val dt22ny1 = D22ny1 : dt22ny1 val dt22ny2 = D22ny2 : dt22ny2 val t22ny1 = (D22ny1,1) : t22ny1 val t22ny2 = (2,3,D22ny2) : t22ny2 datatype dt22yn1 con D22yn1 : (int * int) * int -> dt22yn1 datatype dt22yn2 con D22yn2 : int * int -> dt22yn2 type t22yn1 = int type t22yn2 = int * int val dt22yn1 = fn : (int * int) * int -> dt22yn1 val dt22yn2 = fn : int * int -> dt22yn2 val t22yn1 = 1 : t22yn1 val t22yn2 = (2,3) : t22yn2 datatype dt22yy1 con D22yy1 : (int * int * dt22yy1) * int -> dt22yy1 con E22yy1 : dt22yy1 datatype dt22yy2 con D22yy2 : (int * dt22yy2) * int -> dt22yy2 con E22yy2 : dt22yy2 type t22yy1 = int * dt22yy2 type t22yy2 = int * int * dt22yy1 val dt22yy1 = D22yy1 ((1,2,E22yy1),3) : dt22yy1 val dt22yy2 = D22yy2 ((2,E22yy2),3) : dt22yy2 val t22yy1 = (4,E22yy2) : t22yy1 val t22yy2 = (5,6,E22yy1) : t22yy2 smlsharp-1.2.0/test/tests/coresml/outputs/datatype006.out0000644 000000000000000000000045412050661606023610 0ustar00rootroot0000000 0000000 datatype dt111 con D111 : ((int * int) * bool) * int -> dt111 type 'a t111 = 'a * bool val x111 = D111 (((1,2),true),3) : dt111 datatype dt112 con D112 : ((int * int) * bool * (string * string)) * int -> dt112 type ('a,'b) t112 = 'a * bool * 'b val x112 = D112 (((1,2),true,("abc","xyz")),3) : dt112 smlsharp-1.2.0/test/tests/coresml/outputs/datatype007.out0000644 000000000000000000000045612050661606023613 0ustar00rootroot0000000 0000000 datatype 'a dt111 con D111 : ['a. int * 'a -> 'a dt111] type t111 = bool * (int * int) dt111 val x111 = (true, D111 (1, (2, 3))) : t111 datatype ('a, 'b) dt112 con D112 : ['a, 'b. int * 'a * 'b -> ('a, 'b) dt112] type t112 = bool * (string, bool) dt112 val x112 = (false, D112 (1, "abc", true)) : t112 smlsharp-1.2.0/test/tests/coresml/outputs/datatypeReplication001.out0000644 000000000000000000000016512050661606025774 0ustar00rootroot0000000 0000000 datatype t con C1 : int -> t datatype t1 = datatype t val v1 = C1 1 : t1 datatype t2 = datatype t val v2 = C2 2 : t2 smlsharp-1.2.0/test/tests/coresml/outputs/datatypeReplication002.out0000644 000000000000000000000017112050661606025772 0ustar00rootroot0000000 0000000 datatype t1 con C1 : int -> t1 datatype t1 = datatype t1 val v1 = C1 1 : t1 datatype t2 = datatype t2 val v2 = C2 2 : t2 smlsharp-1.2.0/test/tests/coresml/outputs/equal001.out0000644 000000000000000000000045712050661606023102 0ustar00rootroot0000000 0000000 val int1 = true : bool val int2 = false : bool val int3 = false : bool val word1 = true : bool val word2 = false : bool val char1 = true : bool val char2 = false : bool val string1 = true : bool val string2 = false : bool val string3 = true : bool val string4 = false : bool val string5 = false : bool smlsharp-1.2.0/test/tests/coresml/outputs/equal002.out0000644 000000000000000000000044512050661606023100 0ustar00rootroot0000000 0000000 val ref11 = true : bool val ref12 = false : bool val ref13 = true : bool val ref21 = true : bool val ref22 = false : bool val ref23 = true : bool val ref31 = true : bool val ref32 = false : bool val ref33 = true : bool val ref41 = true : bool val ref42 = false : bool val ref43 = true : bool smlsharp-1.2.0/test/tests/coresml/outputs/equal003.out0000644 000000000000000000000101212050661606023070 0ustar00rootroot0000000 0000000 val t11 = true : bool val t21 = true : bool val t22 = false : bool val t31 = true : bool val t32 = false : bool val t41 = true : bool val t42 = false : bool val t43 = false : bool val t44 = false : bool val t51 = true : bool val t52 = false : bool val t61 = true : bool val t62 = false : bool val t63 = false : bool val t66 = false : bool val t71 = true : bool val t72 = false : bool val t73 = false : bool val t74 = false : bool val t81 = true : bool val t82 = false : bool val t83 = false : bool val t84 = false : bool smlsharp-1.2.0/test/tests/coresml/outputs/equality001.out0000644 000000000000000000000205512050661606023624 0ustar00rootroot0000000 0000000 datatype ''a dt con D : [''a.''a -> ''a dt] type 'a tEqTypeVariable = 'a dt * int val vEqTypeVariable = (D true,1) : bool tEqTypeVariable type tEqRecord = {a:int, b:string} dt val vEqRecord = D {a=1,b="abc"} : tEqRecord datatype dtEqConstructed1 con DEqConstructed1 : dtEqConstructed1 type tEqConstructed1 = dtEqConstructed1 dt val vEqConstructed1 = D DEqConstructed1 : tEqConstructed1 datatype 'a dtEqConstructed2 con DdtEqConstructed2 : ['a.'a -> 'a dtEqConstructed2] type tEqConstructed2 = int dtEqConstructed2 dt val vEqConstructed2 = D (DdtEqConstructed2 1) : tEqConstructed2 type tEqRef = int ref dt val vEqRef = D (ref 1) : int ref dt type 'a tNonEqTypeVariable = 'a dt type tNonEqRecord = {a:real} dt datatype dtNonEqConstructed1 con DNonEqConstructed1 : dtNonEqConstructed1 con ENonEqConstructed1 : real -> dtNonEqConstructed1 type tNonEqConstructed1 = dtNonEqConstructed1 dt datatype 'a dtNonEqConstructed2 con DNonEqConstructed2 : ['a.'a -> 'a dtNonEqConstructed2] type tNonEqConstructed2 = real dtNonEqConstructed2 dt type tNonEqFunction = (int -> int) dt smlsharp-1.2.0/test/tests/coresml/outputs/equality002.out0000644 000000000000000000000331712050661606023627 0ustar00rootroot0000000 0000000 datatype 'a dtNeq con DNeq : ['a .'a dtNeq] con ENeq : ['a .'a -> 'a dtNeq] datatype ''a dtEq con DEq : [''a .''a dtEq] con EEq : [''a .''a -> ''a dtEq] val eq11 = true : bool ../tests/coresml/tests/equality002.sml:9.12-9.37 Error: operator and operand don't agree operator domain: ''B dtNeq * ''B dtNeq operand: ''B dtNeq * real dtNeq val eq21 = true : bool ../tests/coresml/tests/equality002.sml:12.18-12.34 Error: type and type annotation don't agree inferred type: ''A dtEq type annotation: real dtEq val v1 = ENeq 1.23 : real dtNeq ../tests/coresml/tests/equality002.sml:15.10-15.17 Error: operator and operand don't agree operator domain: ''B operand: 'A#{real, Real32.real} val f1 = fn : ['a .'a -> 'a dtNeq] val x11 = ENeq 1.23 : real dtNeq val f2 = fn : [''a .''a -> ''a dtEq] ../tests/coresml/tests/equality002.sml:20.11-20.17 Error: operator and operand don't agree operator domain: ''B operand: 'A#{real, Real32.real} val g1 = fn : [''a .''a -> ''a dtNeq] ../tests/coresml/tests/equality002.sml:23.11-23.17 Error: operator and operand don't agree operator domain: ''B operand: 'A#{real, Real32.real} val g2 = fn : [''a .''a -> ''a dtEq] ../tests/coresml/tests/equality002.sml:25.11-25.17 Error: operator and operand don't agree operator domain: ''B operand: 'A#{real, Real32.real} val h1 = fn : ['a .'a -> 'a dtNeq] val x31 = ENeq 1.23 : real dtNeq ../tests/coresml/tests/equality002.sml:29.19-29.23 Error: operator and operand don't agree operator domain: ''D operand: 'A(a) ../tests/coresml/tests/equality002.sml:29.1-29.23 Error: User type variable cannot be generalized: 'a ../tests/coresml/tests/equality002.sml:30.11-30.12 Error: unbound variable or constructor: h2 smlsharp-1.2.0/test/tests/coresml/outputs/equality003.out0000644 000000000000000000000205612050661606023627 0ustar00rootroot0000000 0000000 val f11 = fn : ['a .'a -> int] val x111 = 1 : int val x112 = 1 : int val f12 = fn : [''a .''a -> int] ../tests/coresml/tests/equality003.sml:9.12-9.19 Error: operator and operand don't agree operator domain: ''B operand: 'A#{real, Real32.real} val x122 = 1 : int val idEq = fn : [''a .''a -> ''a] ../tests/coresml/tests/equality003.sml:13.20-13.25 Error: operator and operand don't agree operator domain: ''D operand: 'A(a) ../tests/coresml/tests/equality003.sml:13.1-13.25 Error: User type variable cannot be generalized: 'a ../tests/coresml/tests/equality003.sml:14.12-14.14 Error: unbound variable or constructor: g11 ../tests/coresml/tests/equality003.sml:15.12-15.14 Error: unbound variable or constructor: g11 ../tests/coresml/tests/equality003.sml:16.12-16.14 Error: unbound variable or constructor: g11 val g12 = fn : [''a .''a -> ''a] val x221 = 1 : int ../tests/coresml/tests/equality003.sml:19.12-19.19 Error: operator and operand don't agree operator domain: ''B operand: 'A#{real, Real32.real} val x223 = ref 1.23 : real ref smlsharp-1.2.0/test/tests/coresml/outputs/exception001.out0000644 000000000000000000000012412050661606023760 0ustar00rootroot0000000 0000000 exception E1 : exn val v1 = E1 : exn exception E2 : int -> exn val v2 = E2 2 : exn smlsharp-1.2.0/test/tests/coresml/outputs/exception002.out0000644 000000000000000000000016212050661606023763 0ustar00rootroot0000000 0000000 exception E : exn exception E1 = E val v1 = E : exn exception E : int -> exn exception E2 = E val v2 = E 2 : exn smlsharp-1.2.0/test/tests/coresml/outputs/exception003.out0000644 000000000000000000000021112050661606023757 0ustar00rootroot0000000 0000000 exception E : exn exception E1 = E val v1 = E : exn exception E : exn exception E2 = E val v2 = E : exn exception E3 = E val v3 = E : exnsmlsharp-1.2.0/test/tests/coresml/outputs/exception004.out0000644 000000000000000000000044112050661606023765 0ustar00rootroot0000000 0000000 exception R1 : int -> exn exception E1 = R1 val v1 = R1 1 : exn exception R2 : int -> exn exception R2 : bool -> exn exception E2 = R2 val v2 = R2 2 : exn exception R3 : int -> exn exception E31 = R3 exception R3 : string -> exn exception E31 = R3 exception E32 = E31 val v3 = R3 3 : exn smlsharp-1.2.0/test/tests/coresml/outputs/expansive001.out0000644 000000000000000000000127412050661606023773 0ustar00rootroot0000000 0000000 val id = fn : ['a. 'a -> 'a] val vconstant1 = {a = fn, b = 1} : {a: ['a. 'a -> 'a], b: int} val vconstant2 = {a = fn, b = 2.34} : {a: ['a. 'a -> 'a], b: real} val vconstant3 = {a = fn, b = 0wx2} : {a: ['a. 'a -> 'a], b: word} val vconstant4 = {a = fn, b = #"x"} : {a: ['a. 'a -> 'a], b: char} val vconstant5 = {a = fn, b = "abc"} : {a: ['a. 'a -> 'a], b: string} val vvar1 = fn : ['a. 'a -> 'a] val fopvar1 = fn : ['a, 'b. 'a * 'b -> 'a * 'b] infix 0 fopvar1 val vopvar1 = fn : ['a, 'b. 'a * 'b -> 'a * 'b] val vrecord = {a = fn} : {a: ['a. 'a -> 'a]} datatype 'a dt1 con D : ['a. int -> 'a dt1] val vconstructed1 = D 1 : ['a. 'a dt1] val vtyped1 = fn : ['a. 'a -> 'a] val vfn1 = fn : ['a. 'a -> 'a] smlsharp-1.2.0/test/tests/coresml/outputs/expansive002.out0000644 000000000000000000000243112050661606023770 0ustar00rootroot0000000 0000000 val id = fn : ['a .'a -> 'a] val vrecord = {a = fn, b = 1} : {a:['a .'a -> 'a] , b:int} val vlet = fn : ['a .'a -> 'a] ../tests/coresml/tests/expansive002.sml:27.1-27.35 Warning: dummy type variable(s) X0 are introduced due to value restriction val vapp1 = fn : X0 -> X0 ../tests/coresml/tests/expansive002.sml:28.1-28.26 Warning: dummy type variable(s) X0 are introduced due to value restriction val vapp2 = fn : X0 -> X0 ../tests/coresml/tests/expansive002.sml:29.1-29.26 Warning: dummy type variable(s) X0 are introduced due to value restriction val vapp3 = fn : X0 -> X0 datatype 'a dt1 con D : ['a .int -> 'a dt1] ../tests/coresml/tests/expansive002.sml:32.1-32.28 Warning: dummy type variable(s) X0 are introduced due to value restriction val vconstructed1 = D 2 : X0 dt1 ../tests/coresml/tests/expansive002.sml:37.1-37.18 Warning: dummy type variable(s) X0 are introduced due to value restriction val vref1 = ref fn : (X0 -> X0) ref val vref2 = {a = fn, b = ref 1} : {a:['a .'a -> 'a] , b:int ref} ../tests/coresml/tests/expansive002.sml:43.1-43.31 Warning: dummy type variable(s) X0 are introduced due to value restriction val vhandle = fn : X0 -> X0 exception E : exn val vraise = fn : ['a .int -> 'a dt1] val vcase1 = fn : ['a .'a -> 'a] val vcase2 = (fn, 2) : ['a .'a -> 'a] * int smlsharp-1.2.0/test/tests/coresml/outputs/fieldSelect001.out0000644 000000000000000000000050412050661606024207 0ustar00rootroot0000000 0000000 val v1 = 1 : int val v2 = 2 : int val f3 = fn : {x:int , y:int} -> int val v3 = 3 : int val f4 = fn : ['a#{x: 'b},'b.'a -> 'b] val v41 = 4 : int val v42 = "foo" : string val f5 = fn : ['a .'a -> {x:'a , y:'a}] val v5 = 5 : int val f61 = fn : ['a#{x: 'b},'b.'a -> 'a] val f62 = fn : ['a#{x: 'b},'b.'a -> 'b] val v6 = 6 : int smlsharp-1.2.0/test/tests/coresml/outputs/fieldSelect002.out0000644 000000000000000000000102612050661606024210 0ustar00rootroot0000000 0000000 val f11 = fn : ['a#{x: 'b},'b.'a -> 'b] val v111 = 1 : int val v112 = "bar" : string val f12 = fn : ['a#{a: 'b},'b#{x: 'c},'c.'a -> 'c] val v121 = 2 : int val v122 = "foo" : string val f21 = fn : ['a#{x: 'b,y: 'c},'b,'c.'a -> 'b*'c] val v211 = (1, 2) : int * int val v212 = ("bar", "boo") : string * string val f22 = fn : ['a#{a: 'b,b: 'e},'b#{x: 'c,y: 'd},'c,'d,'e#{v: 'f,w: 'g},'f,'g. 'a -> 'c*'d*'f*'g] val v221 = (1, 2, 3, 4) : int * int * int * int val v222 = ("bar", "boo", 1.23, 2.34) : string * string * real * real smlsharp-1.2.0/test/tests/coresml/outputs/fn001.out0000644 000000000000000000000050512050661606022370 0ustar00rootroot0000000 0000000 val v111 = fn : int -> int val v112 = fn : int -> int -> int val v121 = fn : (int -> int) -> int val v122 = fn : (int -> int) -> int -> int val v211 = fn : ['a.'a -> 'a * bool] val v212 = fn : ['a.'a -> ['b.'b -> 'a * 'b]] val v221 = fn : ['a.(int -> 'a) -> 'a * bool] val v222 = fn : ['a.(int -> 'a) -> ['b.'b -> 'a * 'b]] smlsharp-1.2.0/test/tests/coresml/outputs/fun001.out0000644 000000000000000000000016712050661606022561 0ustar00rootroot0000000 0000000 val f11 = fn : int -> int val f12 = fn : int -> int val f21 = fn : int -> int -> int val f22 = fn : int -> int -> int smlsharp-1.2.0/test/tests/coresml/outputs/fun002.out0000644 000000000000000000000025512050661606022560 0ustar00rootroot0000000 0000000 val f11 = fn : int -> int -> int val f12 = fn : int -> int val v1 = (5,4) : int * int val f21 = fn : int -> int -> int val f22 = fn : int -> int val v2 = (4,3) : int * int smlsharp-1.2.0/test/tests/coresml/outputs/fun003.out0000644 000000000000000000000041112050661606022553 0ustar00rootroot0000000 0000000 val f1 = fn : int -> int -> bool val v1 = true : bool val f21 = fn : int -> int -> bool val v21 = (true,true) : bool * bool val f22 = fn : int -> int -> bool val v22 = (true,true) : bool * bool val f23 = fn : int -> int -> bool val v23 = (true,true) : bool * bool smlsharp-1.2.0/test/tests/coresml/outputs/functionType001.out0000644 000000000000000000000036712050661606024462 0ustar00rootroot0000000 0000000 type t11 = int -> int val v11 = fn : t11 type 'a t12 = int -> 'a exception E12 : int -> exn val v12 = fn : int t12 type 'a t21 = 'a -> int val v21 = fn : ['a .'a -> int] type ('a,'b) t22 = 'a -> 'b exception E22 : exn val v22 = fn : (int,int) t22 smlsharp-1.2.0/test/tests/coresml/outputs/handle001.out0000644 000000000000000000000015412050661606023220 0ustar00rootroot0000000 0000000 val v1 = 1 : int exception E : exn val v2 = 3 : int exception E1 : exn exception E2 : exn val v3 = 1 : int smlsharp-1.2.0/test/tests/coresml/outputs/handle002.out0000644 000000000000000000000060612050661606023223 0ustar00rootroot0000000 0000000 exception E : exn val raiseE = fn : ['a .unit -> 'a] val id = fn : ['a .'a -> 'a] datatype 'a dt con D : ['a .'a -> 'a dt] val vRecord = {a=1} : {a:int} val vLet = 1 : int val vArgTyConApp = D 1 : int dt val vTyConTyConApp = D 1 : int dt val vArgFunApp = 1 : int val vFunFunApp = 1 : int val vTyped = fn : int -> int val vHandle = 1 : int val vRaise = 1 : int val vFn = fn : ['a.'a -> 'a] smlsharp-1.2.0/test/tests/coresml/outputs/handle003.out0000644 000000000000000000000023612050661606023223 0ustar00rootroot0000000 0000000 exception E : exn val raiseE = fn : ['a .unit -> 'a] val vGlobal = 1 : int val xGlobal = 1 : int val xFree = 2 : int val xArg = 3 : int val xLocal = 4 : int smlsharp-1.2.0/test/tests/coresml/outputs/if001.out0000644 000000000000000000000021212050661606022356 0ustar00rootroot0000000 0000000 val f1 = fn : bool -> int val v1 = (1,2) : int * int exception E2 : int -> exn val f2 = fn : ['a. bool -> 'a] val v2 = (1,2) : int * int smlsharp-1.2.0/test/tests/coresml/outputs/infix001.out0000644 000000000000000000000054512050661606023106 0ustar00rootroot0000000 0000000 infix 0 %% val %% = fn : int * int -> int val v11 = ~1 : int val %% = fn : int * int -> int val v12 = 3 : int val %% = fn : int * int -> int val v21 = (2,5) : int * int val %% = fn : int * int -> int val v221 = (221,5) : int * int val %% = fn : int * int -> int val v222 = (222,~1) : int * int val %% = fn : int * int -> int val v223 = (223,6) : int * int smlsharp-1.2.0/test/tests/coresml/outputs/infix002.out0000644 000000000000000000000032012050661606023076 0ustar00rootroot0000000 0000000 infix 1 %% val %% = fn : int * int -> int val v1 = 2 : int val %% = fn : int -> int val v2 = 4 : int val %% = fn : int -> int -> int val v3 = ~1 : int val %% = fn : int -> int -> int -> int val v4 = 6 : int smlsharp-1.2.0/test/tests/coresml/outputs/infix003.out0000644 000000000000000000000012212050661606023077 0ustar00rootroot0000000 0000000 infix 1 $$ datatype t con $$ : int * int -> t val v11 = 3 : int val v22 = 5 : int smlsharp-1.2.0/test/tests/coresml/outputs/infix004.out0000644 000000000000000000000045112050661606023105 0ustar00rootroot0000000 0000000 infix 0 ## %% datatype t con %% : int * int -> t val ## = fn : int * int -> int val v1 = 3 : int val ## = fn : int * int -> int val v2 = ~1 : int val ## = fn : int * int -> int val v3 = 2 : int val ## = fn : int * int -> int -> int val v4 = 9 : int val ## = fn : t * int -> int val v5 = 12 : int smlsharp-1.2.0/test/tests/coresml/outputs/infix005.out0000644 000000000000000000001022612050661606023107 0ustar00rootroot0000000 0000000 val >> = fn : int * int -> int val ## = fn : int * int -> int val << = fn : int * int -> int val x1 = 2 : int val x2 = 3 : int val x3 = 5 : int val x4 = 7 : int infix 3 >> infix 2 ## infix 3 << val v11111 = ~10 : int infix 3 >> infix 2 ## infixr 3 << val v11112 = ~10 : int infix 3 >> infixr 2 ## infix 3 << val v11121 = ~10 : int infix 3 >> infixr 2 ## infixr 3 << val v11122 = ~10 : int infixr 3 >> infix 2 ## infix 3 << val v11211 = ~10 : int infixr 3 >> infix 2 ## infixr 3 << val v11212 = ~10 : int infixr 3 >> infixr 2 ## infix 3 << val v11221 = ~10 : int infixr 3 >> infixr 2 ## infixr 3 << val v11222 = ~10 : int infix 3 >> infix 2 ## infix 2 << val v12111 = 18 : int infix 3 >> infix 2 ## infixr 2 << val v12112 = 18 : int infix 3 >> infixr 2 ## infix 2 << val v12121 = 18 : int infix 3 >> infixr 2 ## infixr 2 << val v12122 = ~10 : int infixr 3 >> infix 2 ## infix 2 << val v12211 = 18 : int infixr 3 >> infix 2 ## infixr 2 << val v12212 = 18 : int infixr 3 >> infixr 2 ## infix 2 << val v12221 = 18 : int infixr 3 >> infixr 2 ## infixr 2 << val v12222 = ~10 : int infix 3 >> infix 2 ## infix 1 << val v13111 = 18 : int infix 3 >> infix 2 ## infixr 1 << val v13112 = 18 : int infix 3 >> infixr 2 ## infix 1 << val v13121 = 18 : int infix 3 >> infixr 2 ## infixr 1 << val v13122 = 18 : int infixr 3 >> infix 2 ## infix 1 << val v13211 = 18 : int infixr 3 >> infix 2 ## infixr 1 << val v13212 = 18 : int infixr 3 >> infixr 2 ## infix 1 << val v13221 = 18 : int infixr 3 >> infixr 2 ## infixr 1 << val v13222 = 18 : int infix 2 >> infix 2 ## infix 3 << val v21111 = ~10 : int infix 2 >> infix 2 ## infixr 3 << val v21112 = ~10 : int infix 2 >> infixr 2 ## infix 3 << val v21121 = ~10 : int infix 2 >> infixr 2 ## infixr 3 << val v21122 = ~10 : int infixr 2 >> infix 2 ## infix 3 << val v21211 = ~10 : int infixr 2 >> infix 2 ## infixr 3 << val v21212 = ~10 : int infixr 2 >> infixr 2 ## infix 3 << val v21221 = ~4 : int infixr 2 >> infixr 2 ## infixr 3 << val v21222 = ~4 : int infix 2 >> infix 2 ## infix 2 << val v22111 = 18 : int infix 2 >> infix 2 ## infixr 2 << val v22112 = 18 : int infix 2 >> infixr 2 ## infix 2 << val v22121 = 18 : int infix 2 >> infixr 2 ## infixr 2 << val v22122 = ~10 : int infixr 2 >> infix 2 ## infix 2 << val v22211 = 18 : int infixr 2 >> infix 2 ## infixr 2 << val v22212 = 18 : int infixr 2 >> infixr 2 ## infix 2 << val v22221 = 10 : int infixr 2 >> infixr 2 ## infixr 2 << val v22222 = ~4 : int infix 2 >> infix 2 ## infix 1 << val v23111 = 18 : int infix 2 >> infix 2 ## infixr 1 << val v23112 = 18 : int infix 2 >> infixr 2 ## infix 1 << val v23121 = 18 : int infix 2 >> infixr 2 ## infixr 1 << val v23122 = 18 : int infixr 2 >> infix 2 ## infix 1 << val v23211 = 18 : int infixr 2 >> infix 2 ## infixr 1 << val v23212 = 18 : int infixr 2 >> infixr 2 ## infix 1 << val v23221 = 10 : int infixr 2 >> infixr 2 ## infixr 1 << val v23222 = 10 : int infix 1 >> infix 2 ## infix 3 << val v31111 = ~4 : int infix 1 >> infix 2 ## infixr 3 << val v31112 = ~4 : int infix 1 >> infixr 2 ## infix 3 << val v31121 = ~4 : int infix 1 >> infixr 2 ## infixr 3 << val v31122 = ~4 : int infixr 1 >> infix 2 ## infix 3 << val v31211 = ~4 : int infixr 1 >> infix 2 ## infixr 3 << val v31212 = ~4 : int infixr 1 >> infixr 2 ## infix 3 << val v31221 = ~4 : int infixr 1 >> infixr 2 ## infixr 3 << val v31222 = ~4 : int infix 1 >> infix 2 ## infix 2 << val v32111 = 10 : int infix 1 >> infix 2 ## infixr 2 << val v32112 = 10 : int infix 1 >> infixr 2 ## infix 2 << val v32121 = 10 : int infix 1 >> infixr 2 ## infixr 2 << val v32122 = ~4 : int infixr 1 >> infix 2 ## infix 2 << val v32211 = 10 : int infixr 1 >> infix 2 ## infixr 2 << val v32212 = 10 : int infixr 1 >> infixr 2 ## infix 2 << val v32221 = 10 : int infixr 1 >> infixr 2 ## infixr 2 << val v32222 = ~4 : int infix 1 >> infix 2 ## infix 1 << val v33111 = 10 : int infix 1 >> infix 2 ## infixr 1 << val v33112 = 10 : int infix 1 >> infixr 2 ## infix 1 << val v33121 = 10 : int infix 1 >> infixr 2 ## infixr 1 << val v33122 = 10 : int infixr 1 >> infix 2 ## infix 1 << val v33211 = 10 : int infixr 1 >> infix 2 ## infixr 1 << val v33212 = 10 : int infixr 1 >> infixr 2 ## infix 1 << val v33221 = 10 : int infixr 1 >> infixr 2 ## infixr 1 << val v33222 = 10 : int smlsharp-1.2.0/test/tests/coresml/outputs/infix006.out0000644 000000000000000000000034712050661606023113 0ustar00rootroot0000000 0000000 datatype t con ## : int * int -> t val v1 = ## (2,3) : t val gv1 = ## (3,4) : t val v2 = ## (3,4) : t val gv2 = ## (3,4) : t infix 1 ## val v3 = ## (4, 5) : t val gv3 = ## (5, 6) : t val v4 = ## (5, 6) : t val gv4 = ## (6, 7) : t smlsharp-1.2.0/test/tests/coresml/outputs/infix007.out0000644 000000000000000000000213312050661606023107 0ustar00rootroot0000000 0000000 infix 1 P111 P112 P113 datatype t11 con P111 : int * int -> t11 con P112 : bool * bool -> t11 con P113 : string * string -> t11 val v11 = (P111 (1, 2), P112 (true, false), P113 ("foo", "bar")) : t11 * t11 * t11 infix 0 P121 P122 P123 datatype t12 con P121 : int * int -> t12 con P122 : bool * bool -> t12 con P123 : string * string -> t12 val v12 = (P121 (1, 2), P122 (true, false), P123 ("foo", "bar")) : t12 * t12 * t12 infixr 1 P211 P212 P213 datatype t21 con P211 : int * int -> t21 con P212 : bool * bool -> t21 con P213 : string * string -> t21 val v21 = (P211 (1, 2), P212 (true, false), P213 ("foo", "bar")) : t21 * t21 * t21 infixr 0 P221 P222 P223 datatype t22 con P221 : int * int -> t22 con P222 : bool * bool -> t22 con P223 : string * string -> t22 val v22 = (P221 (1, 2), P222 (true, false), P223 ("foo", "bar")) : t22 * t22 * t22 infix 0 P311 infix 0 P312 infix 0 P313 nonfix P311 P312 P313 datatype t31 con P311 : int * int -> t31 con P312 : bool * bool -> t31 con P313 : string * string -> t31 val v31 = (P311 (1, 2), P312 (true, false), P313 ("foo", "bar")) : t31 * t31 * t31 smlsharp-1.2.0/test/tests/coresml/outputs/infixPattern001.out0000644 000000000000000000000017712050661606024445 0ustar00rootroot0000000 0000000 datatype t con ## : int * int -> t infix 1 ## val f1 = fn : t -> int val v1 = 3 : int val f2 = fn : t -> int val v2 = 5 : int smlsharp-1.2.0/test/tests/coresml/outputs/infixPattern002.out0000644 000000000000000000004426412050661606024453 0ustar00rootroot0000000 0000000 ../tests/coresml/tests/infixPattern002.sml:50.22-50.71 Warning: match nonexhaustive ## (>> (x1, x2), << (x3, x4)) => ... datatype t con ## : t * t -> t con << : t * t -> t con >> : t * t -> t con N : int -> t infix 3 >> infix 2 ## infix 3 << val f11111 = fn : t -> t * t * t * t val v11111 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:56.22-56.71 Warning: match nonexhaustive ## (>> (x1, x2), << (x3, x4)) => ... infix 3 >> infix 2 ## infixr 3 << val f11112 = fn : t -> t * t * t * t val v11112 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:63.22-63.71 Warning: match nonexhaustive ## (>> (x1, x2), << (x3, x4)) => ... infix 3 >> infixr 2 ## infix 3 << val f11121 = fn : t -> t * t * t * t val v11121 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:70.22-70.71 Warning: match nonexhaustive ## (>> (x1, x2), << (x3, x4)) => ... infix 3 >> infixr 2 ## infixr 3 << val f11122 = fn : t -> t * t * t * t val v11122 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:77.22-77.71 Warning: match nonexhaustive ## (>> (x1, x2), << (x3, x4)) => ... infixr 3 >> infix 2 ## infix 3 << val f11211 = fn : t -> t * t * t * t val v11211 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:84.22-84.71 Warning: match nonexhaustive ## (>> (x1, x2), << (x3, x4)) => ... infixr 3 >> infix 2 ## infixr 3 << val f11212 = fn : t -> t * t * t * t val v11212 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:91.22-91.71 Warning: match nonexhaustive ## (>> (x1, x2), << (x3, x4)) => ... infixr 3 >> infixr 2 ## infix 3 << val f11221 = fn : t -> t * t * t * t val v11221 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:98.22-98.71 Warning: match nonexhaustive ## (>> (x1, x2), << (x3, x4)) => ... infixr 3 >> infixr 2 ## infixr 3 << val f11222 = fn : t -> t * t * t * t val v11222 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:108.22-108.71 Warning: match nonexhaustive << (## (>> (x1, x2), x3), x4) => ... infix 3 >> infix 2 ## infix 2 << val f12111 = fn : t -> t * t * t * t val v12111 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:115.22-115.71 Warning: match nonexhaustive << (## (>> (x1, x2), x3), x4) => ... infix 3 >> infix 2 ## infixr 2 << val f12112 = fn : t -> t * t * t * t val v12112 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:122.22-122.71 Warning: match nonexhaustive << (## (>> (x1, x2), x3), x4) => ... infix 3 >> infixr 2 ## infix 2 << val f12121 = fn : t -> t * t * t * t val v12121 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:129.22-129.71 Warning: match nonexhaustive ## (>> (x1, x2), << (x3, x4)) => ... infix 3 >> infixr 2 ## infixr 2 << val f12122 = fn : t -> t * t * t * t val v12122 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:136.22-136.71 Warning: match nonexhaustive << (## (>> (x1, x2), x3), x4) => ... infixr 3 >> infix 2 ## infix 2 << val f12211 = fn : t -> t * t * t * t val v12211 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:143.22-143.71 Warning: match nonexhaustive << (## (>> (x1, x2), x3), x4) => ... infixr 3 >> infix 2 ## infixr 2 << val f12212 = fn : t -> t * t * t * t val v12212 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:150.22-150.71 Warning: match nonexhaustive << (## (>> (x1, x2), x3), x4) => ... infixr 3 >> infixr 2 ## infix 2 << val f12221 = fn : t -> t * t * t * t val v12221 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:157.22-157.71 Warning: match nonexhaustive ## (>> (x1, x2), << (x3, x4)) => ... infixr 3 >> infixr 2 ## infixr 2 << val f12222 = fn : t -> t * t * t * t val v12222 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:167.22-167.71 Warning: match nonexhaustive << (## (>> (x1, x2), x3), x4) => ... infix 3 >> infix 2 ## infix 1 << val f13111 = fn : t -> t * t * t * t val v13111 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:174.22-174.71 Warning: match nonexhaustive << (## (>> (x1, x2), x3), x4) => ... infix 3 >> infix 2 ## infixr 1 << val f13112 = fn : t -> t * t * t * t val v13112 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:181.22-181.71 Warning: match nonexhaustive << (## (>> (x1, x2), x3), x4) => ... infix 3 >> infixr 2 ## infix 1 << val f13121 = fn : t -> t * t * t * t val v13121 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:188.22-188.71 Warning: match nonexhaustive << (## (>> (x1, x2), x3), x4) => ... infix 3 >> infixr 2 ## infixr 1 << val f13122 = fn : t -> t * t * t * t val v13122 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:195.22-195.71 Warning: match nonexhaustive << (## (>> (x1, x2), x3), x4) => ... infixr 3 >> infix 2 ## infix 1 << val f13211 = fn : t -> t * t * t * t val v13211 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:202.22-202.71 Warning: match nonexhaustive << (## (>> (x1, x2), x3), x4) => ... infixr 3 >> infix 2 ## infixr 1 << val f13212 = fn : t -> t * t * t * t val v13212 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:209.22-209.71 Warning: match nonexhaustive << (## (>> (x1, x2), x3), x4) => ... infixr 3 >> infixr 2 ## infix 1 << val f13221 = fn : t -> t * t * t * t val v13221 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:216.22-216.71 Warning: match nonexhaustive << (## (>> (x1, x2), x3), x4) => ... infixr 3 >> infixr 2 ## infixr 1 << val f13222 = fn : t -> t * t * t * t val v13222 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:226.22-226.71 Warning: match nonexhaustive ## (>> (x1, x2), << (x3, x4)) => ... infix 2 >> infix 2 ## infix 3 << val f21111 = fn : t -> t * t * t * t val v21111 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:233.22-233.71 Warning: match nonexhaustive ## (>> (x1, x2), << (x3, x4)) => ... infix 2 >> infix 2 ## infixr 3 << val f21112 = fn : t -> t * t * t * t val v21112 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:240.22-240.71 Warning: match nonexhaustive ## (>> (x1, x2), << (x3, x4)) => ... infix 2 >> infixr 2 ## infix 3 << val f21121 = fn : t -> t * t * t * t val v21121 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:247.22-247.71 Warning: match nonexhaustive ## (>> (x1, x2), << (x3, x4)) => ... infix 2 >> infixr 2 ## infixr 3 << val f21122 = fn : t -> t * t * t * t val v21122 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:254.22-254.71 Warning: match nonexhaustive ## (>> (x1, x2), << (x3, x4)) => ... infixr 2 >> infix 2 ## infix 3 << val f21211 = fn : t -> t * t * t * t val v21211 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:261.22-261.71 Warning: match nonexhaustive ## (>> (x1, x2), << (x3, x4)) => ... infixr 2 >> infix 2 ## infixr 3 << val f21212 = fn : t -> t * t * t * t val v21212 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:268.22-268.71 Warning: match nonexhaustive >> (x1, ## (x2, << (x3, x4))) => ... infixr 2 >> infixr 2 ## infix 3 << val f21221 = fn : t -> t * t * t * t val v21221 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:275.22-275.71 Warning: match nonexhaustive >> (x1, ## (x2, << (x3, x4))) => ... infixr 2 >> infixr 2 ## infixr 3 << val f21222 = fn : t -> t * t * t * t val v21222 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:285.22-285.71 Warning: match nonexhaustive << (## (>> (x1, x2), x3), x4) => ... infix 2 >> infix 2 ## infix 2 << val f22111 = fn : t -> t * t * t * t val v22111 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:292.22-292.71 Warning: match nonexhaustive << (## (>> (x1, x2), x3), x4) => ... infix 2 >> infix 2 ## infixr 2 << val f22112 = fn : t -> t * t * t * t val v22112 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:299.22-299.71 Warning: match nonexhaustive << (## (>> (x1, x2), x3), x4) => ... infix 2 >> infixr 2 ## infix 2 << val f22121 = fn : t -> t * t * t * t val v22121 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:306.22-306.71 Warning: match nonexhaustive ## (>> (x1, x2), << (x3, x4)) => ... infix 2 >> infixr 2 ## infixr 2 << val f22122 = fn : t -> t * t * t * t val v22122 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:313.22-313.71 Warning: match nonexhaustive << (## (>> (x1, x2), x3), x4) => ... infixr 2 >> infix 2 ## infix 2 << val f22211 = fn : t -> t * t * t * t val v22211 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:320.22-320.71 Warning: match nonexhaustive << (## (>> (x1, x2), x3), x4) => ... infixr 2 >> infix 2 ## infixr 2 << val f22212 = fn : t -> t * t * t * t val v22212 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:327.22-327.71 Warning: match nonexhaustive << (>> (x1, ## (x2, x3)), x4) => ... infixr 2 >> infixr 2 ## infix 2 << val f22221 = fn : t -> t * t * t * t val v22221 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:334.22-334.71 Warning: match nonexhaustive >> (x1, ## (x2, << (x3, x4))) => ... infixr 2 >> infixr 2 ## infixr 2 << val f22222 = fn : t -> t * t * t * t val v22222 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:344.22-344.71 Warning: match nonexhaustive << (## (>> (x1, x2), x3), x4) => ... infix 2 >> infix 2 ## infix 1 << val f23111 = fn : t -> t * t * t * t val v23111 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:351.22-351.71 Warning: match nonexhaustive << (## (>> (x1, x2), x3), x4) => ... infix 2 >> infix 2 ## infixr 1 << val f23112 = fn : t -> t * t * t * t val v23112 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:358.22-358.71 Warning: match nonexhaustive << (## (>> (x1, x2), x3), x4) => ... infix 2 >> infixr 2 ## infix 1 << val f23121 = fn : t -> t * t * t * t val v23121 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:365.22-365.71 Warning: match nonexhaustive << (## (>> (x1, x2), x3), x4) => ... infix 2 >> infixr 2 ## infixr 1 << val f23122 = fn : t -> t * t * t * t val v23122 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:372.22-372.71 Warning: match nonexhaustive << (## (>> (x1, x2), x3), x4) => ... infixr 2 >> infix 2 ## infix 1 << val f23211 = fn : t -> t * t * t * t val v23211 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:379.22-379.71 Warning: match nonexhaustive << (## (>> (x1, x2), x3), x4) => ... infixr 2 >> infix 2 ## infixr 1 << val f23212 = fn : t -> t * t * t * t val v23212 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:386.22-386.71 Warning: match nonexhaustive << (>> (x1, ## (x2, x3)), x4) => ... infixr 2 >> infixr 2 ## infix 1 << val f23221 = fn : t -> t * t * t * t val v23221 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:393.22-393.71 Warning: match nonexhaustive << (>> (x1, ## (x2, x3)), x4) => ... infixr 2 >> infixr 2 ## infixr 1 << val f23222 = fn : t -> t * t * t * t val v23222 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:403.22-403.71 Warning: match nonexhaustive >> (x1, ## (x2, << (x3, x4))) => ... infix 1 >> infix 2 ## infix 3 << val f31111 = fn : t -> t * t * t * t val v31111 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:410.22-410.71 Warning: match nonexhaustive >> (x1, ## (x2, << (x3, x4))) => ... infix 1 >> infix 2 ## infixr 3 << val f31112 = fn : t -> t * t * t * t val v31112 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:417.22-417.71 Warning: match nonexhaustive >> (x1, ## (x2, << (x3, x4))) => ... infix 1 >> infixr 2 ## infix 3 << val f31121 = fn : t -> t * t * t * t val v31121 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:424.22-424.71 Warning: match nonexhaustive >> (x1, ## (x2, << (x3, x4))) => ... infix 1 >> infixr 2 ## infixr 3 << val f31122 = fn : t -> t * t * t * t val v31122 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:431.22-431.71 Warning: match nonexhaustive >> (x1, ## (x2, << (x3, x4))) => ... infixr 1 >> infix 2 ## infix 3 << val f31211 = fn : t -> t * t * t * t val v31211 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:438.22-438.71 Warning: match nonexhaustive >> (x1, ## (x2, << (x3, x4))) => ... infixr 1 >> infix 2 ## infixr 3 << val f31212 = fn : t -> t * t * t * t val v31212 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:445.22-445.71 Warning: match nonexhaustive >> (x1, ## (x2, << (x3, x4))) => ... infixr 1 >> infixr 2 ## infix 3 << val f31221 = fn : t -> t * t * t * t val v31221 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:452.22-452.71 Warning: match nonexhaustive >> (x1, ## (x2, << (x3, x4))) => ... infixr 1 >> infixr 2 ## infixr 3 << val f31222 = fn : t -> t * t * t * t val v31222 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:462.22-462.71 Warning: match nonexhaustive >> (x1, << (## (x2, x3), x4)) => ... infix 1 >> infix 2 ## infix 2 << val f32111 = fn : t -> t * t * t * t val v32111 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:469.22-469.71 Warning: match nonexhaustive >> (x1, << (## (x2, x3), x4)) => ... infix 1 >> infix 2 ## infixr 2 << val f32112 = fn : t -> t * t * t * t val v32112 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:476.22-476.71 Warning: match nonexhaustive >> (x1, << (## (x2, x3), x4)) => ... infix 1 >> infixr 2 ## infix 2 << val f32121 = fn : t -> t * t * t * t val v32121 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:483.22-483.71 Warning: match nonexhaustive >> (x1, ## (x2, << (x3, x4))) => ... infix 1 >> infixr 2 ## infixr 2 << val f32122 = fn : t -> t * t * t * t val v32122 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:490.22-490.71 Warning: match nonexhaustive >> (x1, << (## (x2, x3), x4)) => ... infixr 1 >> infix 2 ## infix 2 << val f32211 = fn : t -> t * t * t * t val v32211 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:497.22-497.71 Warning: match nonexhaustive >> (x1, << (## (x2, x3), x4)) => ... infixr 1 >> infix 2 ## infixr 2 << val f32212 = fn : t -> t * t * t * t val v32212 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:504.22-504.71 Warning: match nonexhaustive >> (x1, << (## (x2, x3), x4)) => ... infixr 1 >> infixr 2 ## infix 2 << val f32221 = fn : t -> t * t * t * t val v32221 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:511.22-511.71 Warning: match nonexhaustive >> (x1, ## (x2, << (x3, x4))) => ... infixr 1 >> infixr 2 ## infixr 2 << val f32222 = fn : t -> t * t * t * t val v32222 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:521.22-521.71 Warning: match nonexhaustive << (>> (x1, ## (x2, x3)), x4) => ... infix 1 >> infix 2 ## infix 1 << val f33111 = fn : t -> t * t * t * t val v33111 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:528.22-528.71 Warning: match nonexhaustive << (>> (x1, ## (x2, x3)), x4) => ... infix 1 >> infix 2 ## infixr 1 << val f33112 = fn : t -> t * t * t * t val v33112 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:535.22-535.71 Warning: match nonexhaustive << (>> (x1, ## (x2, x3)), x4) => ... infix 1 >> infixr 2 ## infix 1 << val f33121 = fn : t -> t * t * t * t val v33121 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:542.22-542.71 Warning: match nonexhaustive << (>> (x1, ## (x2, x3)), x4) => ... infix 1 >> infixr 2 ## infixr 1 << val f33122 = fn : t -> t * t * t * t val v33122 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:549.22-549.71 Warning: match nonexhaustive << (>> (x1, ## (x2, x3)), x4) => ... infixr 1 >> infix 2 ## infix 1 << val f33211 = fn : t -> t * t * t * t val v33211 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:556.22-556.71 Warning: match nonexhaustive >> (x1, << (## (x2, x3), x4)) => ... infixr 1 >> infix 2 ## infixr 1 << val f33212 = fn : t -> t * t * t * t val v33212 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:563.22-563.71 Warning: match nonexhaustive << (>> (x1, ## (x2, x3)), x4) => ... infixr 1 >> infixr 2 ## infix 1 << val f33221 = fn : t -> t * t * t * t val v33221 = (N 1, N 2, N 3, N 4) : t * t * t * t ../tests/coresml/tests/infixPattern002.sml:570.22-570.71 Warning: match nonexhaustive >> (x1, << (## (x2, x3), x4)) => ... infixr 1 >> infixr 2 ## infixr 1 << val f33222 = fn : t -> t * t * t * t val v33222 = (N 1, N 2, N 3, N 4) : t * t * t * t smlsharp-1.2.0/test/tests/coresml/outputs/labelDuplication001.out0000644 000000000000000000000666512050661606025255 0ustar00rootroot0000000 0000000 ../tests/coresml/tests/labelDuplication001.sml:36.10-36.37 Error: duplicate label in record:a ../tests/coresml/tests/labelDuplication001.sml:36.10-36.37 Error: duplicate label in record:b ../tests/coresml/tests/labelDuplication001.sml:39.13-39.40 Error: duplicate label in record pattern:a ../tests/coresml/tests/labelDuplication001.sml:39.13-39.40 Error: duplicate label in record pattern:b ../tests/coresml/tests/labelDuplication001.sml:40.28-40.55 Error: duplicate label in record pattern:a ../tests/coresml/tests/labelDuplication001.sml:40.28-40.55 Error: duplicate label in record pattern:b ../tests/coresml/tests/labelDuplication001.sml:41.8-41.35 Error: duplicate label in record pattern:a ../tests/coresml/tests/labelDuplication001.sml:41.8-41.35 Error: duplicate label in record pattern:b ../tests/coresml/tests/labelDuplication001.sml:44.32-44.72 Error: duplicate label in a record type:a ../tests/coresml/tests/labelDuplication001.sml:44.32-44.72 Error: duplicate label in a record type:b ../tests/coresml/tests/labelDuplication001.sml:46.27-46.67 Error: duplicate label in a record type:a ../tests/coresml/tests/labelDuplication001.sml:46.27-46.67 Error: duplicate label in a record type:b ../tests/coresml/tests/labelDuplication001.sml:47.28-47.68 Error: duplicate label in a record type:a ../tests/coresml/tests/labelDuplication001.sml:47.28-47.68 Error: duplicate label in a record type:b ../tests/coresml/tests/labelDuplication001.sml:48.11-48.51 Error: duplicate label in a record type:a ../tests/coresml/tests/labelDuplication001.sml:48.11-48.51 Error: duplicate label in a record type:b ../tests/coresml/tests/labelDuplication001.sml:49.11-49.51 Error: duplicate label in a record type:a ../tests/coresml/tests/labelDuplication001.sml:49.11-49.51 Error: duplicate label in a record type:b ../tests/coresml/tests/labelDuplication001.sml:50.18-50.58 Error: duplicate label in a record type:a ../tests/coresml/tests/labelDuplication001.sml:50.18-50.58 Error: duplicate label in a record type:b ../tests/coresml/tests/labelDuplication001.sml:51.23-51.63 Error: duplicate label in a record type:a ../tests/coresml/tests/labelDuplication001.sml:51.23-51.63 Error: duplicate label in a record type:b ../tests/coresml/tests/labelDuplication001.sml:52.11-52.51 Error: duplicate label in a record type:a ../tests/coresml/tests/labelDuplication001.sml:52.11-52.51 Error: duplicate label in a record type:b ../tests/coresml/tests/labelDuplication001.sml:53.21-53.61 Error: duplicate label in a record type:a ../tests/coresml/tests/labelDuplication001.sml:53.21-53.61 Error: duplicate label in a record type:b ../tests/coresml/tests/labelDuplication001.sml:54.18-54.58 Error: duplicate label in a record type:a ../tests/coresml/tests/labelDuplication001.sml:54.18-54.58 Error: duplicate label in a record type:b ../tests/coresml/tests/labelDuplication001.sml:55.28-55.68 Error: duplicate label in a record type:a ../tests/coresml/tests/labelDuplication001.sml:55.28-55.68 Error: duplicate label in a record type:b ../tests/coresml/tests/labelDuplication001.sml:56.12-56.52 Error: duplicate label in a record type:a ../tests/coresml/tests/labelDuplication001.sml:56.12-56.52 Error: duplicate label in a record type:b ../tests/coresml/tests/labelDuplication001.sml:57.13-57.53 Error: duplicate label in a record type:a ../tests/coresml/tests/labelDuplication001.sml:57.13-57.53 Error: duplicate label in a record type:b smlsharp-1.2.0/test/tests/coresml/outputs/let001.out0000644 000000000000000000000042312050661606022550 0ustar00rootroot0000000 0000000 val x = true : bool val it = 3 : int type t = string val it = (1, false) : t datatype dt con C : int -> dt val it = - : hidden(dt) datatype dt con D : int -> dt datatype ds con D : int * bool -> ds val it = - : hidden(dt) exception F : int -> exn val it = F (3, false) : exn smlsharp-1.2.0/test/tests/coresml/outputs/list001.out0000644 000000000000000000000015212050661606022736 0ustar00rootroot0000000 0000000 val v1 = [] : ['a.'a list] val v2 = [1] : int list val v3 = [1,2] : int list val v4 = [1,2,3] : int list smlsharp-1.2.0/test/tests/coresml/outputs/listPattern001.out0000644 000000000000000000000030112050661606024270 0ustar00rootroot0000000 0000000 val f1 = fn : ['a.'a list -> int] val v1 = 1 : int val f2 = fn : int list -> int val v2 = 1 : int val f3 = fn : int list -> int val v3 = 3 : int val f4 = fn : int list -> int val v4 = 6 : int smlsharp-1.2.0/test/tests/coresml/outputs/local001.out0000644 000000000000000000000071012050661606023055 0ustar00rootroot0000000 0000000 val x1 = 1 : int val v11 = 1 : int val v12 = 3 : int type t2 = int val v21 = true : t2 val v22 = 1 : t2 datatype dt3 con C31 : int -> dt3 val v31 = 1 : int val v32 = C31 3 : dt3 datatype dt41 con C4 : int -> dt41 val v41 = 1 : int val v42 = C4 4 : dt41 exception E5 : int -> exn ../tests/coresml/tests/local001.sml:54.13-54.56 Warning: match nonexhaustive E5 (true ) => ... E5 (false ) => ... val v51 = 1 : int val v52 = E5 5 : exn smlsharp-1.2.0/test/tests/coresml/outputs/local002.out0000644 000000000000000000000015712050661606023063 0ustar00rootroot0000000 0000000 val v1 = 1 : int val v2 = 1 : int val v3 = (true,"foo") : bool * string val v4 = (true,"foo") : bool * string smlsharp-1.2.0/test/tests/coresml/outputs/local003.out0000644 000000000000000000000015212050661606023057 0ustar00rootroot0000000 0000000 val v2 = 2 : int val v31 = 3 : int val v32 = "three" : string val v41 = 4 : int val v42 = "four" : string smlsharp-1.2.0/test/tests/coresml/outputs/match001.out0000644 000000000000000000000041612050661606023062 0ustar00rootroot0000000 0000000 datatype dt1 con C1 : dt1 val f = fn : dt1 -> int val v1 = 1 : int val f = fn : ['a. 'a -> 'a] val v2 = 2 : int val f = fn : ['a. {a: 'a} -> 'a] val v3 = 3 : int val f = fn : ['a, 'b, 'c. 'a * 'b * 'c -> 'a] val v4 = 4 : int val f = fn : ['a. 'a -> 'a] val v5 = 5 : int smlsharp-1.2.0/test/tests/coresml/outputs/match002.out0000644 000000000000000000000070212050661606023061 0ustar00rootroot0000000 0000000 datatype dt1 con C1 : int -> dt1 val f = fn : dt1 -> int val v1 = 1 : int val f = fn : int -> int val v2 = 2 : int ../tests/coresml/tests/match002.sml:23.11-23.31 Warning: match nonexhaustive y as 3 => ... val f = fn : int -> int val v3 = 3 : int ../tests/coresml/tests/match002.sml:26.11-26.37 Warning: match nonexhaustive y as 4 => ... val f = fn : int -> int val v4 = 4 : int val f = fn : ['a. 'a -> 'a] val v5 = 5 : int smlsharp-1.2.0/test/tests/coresml/outputs/matches001.out0000644 000000000000000000000155112050661606023413 0ustar00rootroot0000000 0000000 ../tests/coresml/tests/matches001.sml:16.10-16.25 Warning: match nonexhaustive 1 => ... val v1 = 1 : int ../tests/coresml/tests/matches001.sml:18.11-18.35 Warning: match nonexhaustive 1 => ... 2 => ... val v21 = 1 : int ../tests/coresml/tests/matches001.sml:19.11-19.35 Warning: match nonexhaustive 1 => ... 2 => ... val v22 = 2 : int ../tests/coresml/tests/matches001.sml:21.11-21.44 Warning: match nonexhaustive 1 => ... 2 => ... 3 => ... val v31 = 1 : int ../tests/coresml/tests/matches001.sml:22.11-22.44 Warning: match nonexhaustive 1 => ... 2 => ... 3 => ... val v32 = 2 : int ../tests/coresml/tests/matches001.sml:23.11-23.44 Warning: match nonexhaustive 1 => ... 2 => ... 3 => ... val v33 = 3 : int smlsharp-1.2.0/test/tests/coresml/outputs/nameDuplication001.out0000644 000000000000000000000062112050661606025100 0ustar00rootroot0000000 0000000 ../tests/coresml/tests/nameDuplication001.sml:20.1-20.31 Error: Duplicate type name in type: t12 ../tests/coresml/tests/nameDuplication001.sml:22.1-22.46 Error: Duplicate type name in type: t13 ../tests/coresml/tests/nameDuplication001.sml:24.1-24.65 Error: Duplicate type name in type: t221 ../tests/coresml/tests/nameDuplication001.sml:24.1-24.65 Error: Duplicate type name in type: t222 smlsharp-1.2.0/test/tests/coresml/outputs/nameDuplication002.out0000644 000000000000000000000064112050661606025103 0ustar00rootroot0000000 0000000 ../tests/coresml/tests/nameDuplication002.sml:20.1-20.49 Error: Duplicate type name in datatype: t12 ../tests/coresml/tests/nameDuplication002.sml:22.1-22.71 Error: Duplicate type name in datatype: t13 ../tests/coresml/tests/nameDuplication002.sml:24.1-27.22 Error: Duplicate type name in datatype: t221 ../tests/coresml/tests/nameDuplication002.sml:24.1-27.22 Error: Duplicate type name in datatype: t222 smlsharp-1.2.0/test/tests/coresml/outputs/nameDuplication003.out0000644 000000000000000000000135112050661606025103 0ustar00rootroot0000000 0000000 exception e121a : exn ../tests/coresml/tests/nameDuplication003.sml:28.1-28.38 Error: Duplicate constructor name in exception: e121 ../tests/coresml/tests/nameDuplication003.sml:30.1-30.40 Error: Duplicate constructor name in exception: e122 exception e123a : exn exception e123b : exn ../tests/coresml/tests/nameDuplication003.sml:33.1-33.39 Error: Duplicate constructor name in exception: e123 ../tests/coresml/tests/nameDuplication003.sml:35.1-35.57 Error: Duplicate constructor name in exception: e132 ../tests/coresml/tests/nameDuplication003.sml:37.1-37.78 Error: Duplicate constructor name in exception: e2221 ../tests/coresml/tests/nameDuplication003.sml:37.1-37.78 Error: Duplicate constructor name in exception: e2222 smlsharp-1.2.0/test/tests/coresml/outputs/nameDuplication004.out0000644 000000000000000000000067312050661606025112 0ustar00rootroot0000000 0000000 ../tests/coresml/tests/nameDuplication004.sml:20.1-20.51 Error: Duplicate constructor name in datatype: D12 ../tests/coresml/tests/nameDuplication004.sml:22.1-22.74 Error: Duplicate constructor name in datatype: D13 ../tests/coresml/tests/nameDuplication004.sml:24.1-27.22 Error: Duplicate constructor name in datatype: D22 ../tests/coresml/tests/nameDuplication004.sml:24.1-27.22 Error: Duplicate constructor name in datatype: E22 smlsharp-1.2.0/test/tests/coresml/outputs/orelse001.out0000644 000000000000000000000007512050661606023260 0ustar00rootroot0000000 0000000 exception E : exn val v1 = true : bool val v2 = true : bool smlsharp-1.2.0/test/tests/coresml/outputs/orelse002.out0000644 000000000000000000000006412050661606023257 0ustar00rootroot0000000 0000000 123val v1 = false : bool 1234val v2 = false : bool smlsharp-1.2.0/test/tests/coresml/outputs/parenthetic001.out0000644 000000000000000000000017112050661606024272 0ustar00rootroot0000000 0000000 val v1 = 1 : int val x = true : bool val v2 = true : bool val v3 = () : unit val v4 = 1 : int val v5 = (1,2) : int * int smlsharp-1.2.0/test/tests/coresml/outputs/parentheticType001.out0000644 000000000000000000000050412050661606025134 0ustar00rootroot0000000 0000000 type 'a t1 = 'a val v1 = 1 : int t1 type t2 = {x:int} val v2 = {x=2} : t2 type t3 = int val v3 = 3 : t3 type ('a,'b) t41 = 'a * 'b * bool type t4 = (int,string) t41 val v4 = (4,"four",false) : t4 type t5 = int -> int val v5 = fn : t5 type ('a,'b) t61 = 'a * 'b * bool type t6 = (int,string) t61 val v6 = (6,"six",true) : t6 smlsharp-1.2.0/test/tests/coresml/outputs/patternRows001.out0000644 000000000000000000000024012050661606024311 0ustar00rootroot0000000 0000000 val f1 = fn : ['a.{n1:int, n2:'a} -> 'a] val v11 = 2 : int val v12 = 3 : int val f2 = fn : {n1:int, n2:int, n3:int} -> int val v21 = 2 : int val v22 = 7 : int smlsharp-1.2.0/test/tests/coresml/outputs/patternRows002.out0000644 000000000000000000000045512050661606024322 0ustar00rootroot0000000 0000000 val f1 = fn : ['a#{n1: int, n2: 'b, n3: 'b, n4: 'c}, 'b, 'c. 'a -> 'b] val v11 = 2 : int val v12 = 3 : int val f2 = fn : ['a#{n1: int, n2: 'b, n3: 'c}, 'b, 'c. 'a -> 'b] val v21 = 2 : int val v22 = 3 : int val f3 = fn : ['a#{n1: int, n2: 'b, n3: 'b}, 'b. 'a -> 'b] val v31 = 2 : int val v32 = 3 : int smlsharp-1.2.0/test/tests/coresml/outputs/patternRows003.out0000644 000000000000000000000050412050661606024316 0ustar00rootroot0000000 0000000 val f11 = fn : ['a. {a: 'a} -> 'a] val v11 = 11 : int val f12 = fn : ['a, 'b. {a: 'a * 'b} -> ('a * 'b) * 'a * 'b] val v12 = ((1, 2), 1, 2) : (int * int) * int * int val f21 = fn : {a: int} -> int val v21 = 21 : int val f22 = fn : {a: int * int} -> (int * int) * int * int val v22 = ((2, 2), 2, 2) : (int * int) * int * int smlsharp-1.2.0/test/tests/coresml/outputs/patternRows004.out0000644 000000000000000000000077412050661606024330 0ustar00rootroot0000000 0000000 val f1 = fn : ['a,'b#{n1:int, n2:'a, n3:'a}.'b -> 'a] val v11 = 3 : int val v12 = 11 : int val f21 = fn : ['a#{n1:int, n2:int, n3:int} .'a -> int] val f22 = fn : ['a#{n1:int, n2:int, n3:int} .'a -> int] val v21 = 6 : int val v22 = 11 : int val f3 = fn : ['a,'b#{n1:int, n2:'a, n3:'a}.'b -> ['c .'c -> 'a]] val v31 = 3 : int val v32 = 11 : int val f41 = fn : ['a,'b#{n1:int, n2:int, n3:int}.'b -> 'a -> int] val f42 = fn : ['a,'b#{n1:int, n2:int, n3:int}.'b -> 'a -> int] val v41 = 6 : int val v42 = 11 : int smlsharp-1.2.0/test/tests/coresml/outputs/primitives001.out0000644 000000000000000000000441012050661606024157 0ustar00rootroot0000000 0000000 val abs_int1 = 2 : int val abs_int2 = 2 : int val abs_real1 = 1.23 : real val abs_real2 = 1.23 : real val neg_int1 = ~2 : int val neg_int2 = 2 : int val neg_real1 = ~1.23 : real val neg_real2 = 1.23 : real val div_int = 2 : int val div_word = 0wx2 : word val mod_int = 1 : int val mod_word = 0wx1 : word val mul_int = 6 : int val mul_real = 2.76 : real val mul_word = 0wx6 : word val div_real = 2 : real val add_int = 3 : int val add_real = 4.6 : real val add_word = 0wx3 : word val sub_int = ~1 : int val sub_real = ~2.2 : real val sub_word = 0wx1 : word val sub_word2 = 0wxffffffff : word val lt_int1 = true : bool val lt_int2 = false : bool val lt_int3 = false : bool val lt_real1 = true : bool val lt_real2 = false : bool val lt_real3 = false : bool val lt_word1 = true : bool val lt_word2 = false : bool val lt_word3 = false : bool val lt_char1 = true : bool val lt_char2 = false : bool val lt_char3 = false : bool val lt_string1 = true : bool val lt_string2 = false : bool val lt_string3 = false : bool val gt_int1 = false : bool val gt_int2 = false : bool val gt_int3 = true : bool val gt_real1 = false : bool val gt_real2 = false : bool val gt_real3 = true : bool val gt_word1 = false : bool val gt_word2 = false : bool val gt_word3 = true : bool val gt_char1 = false : bool val gt_char2 = false : bool val gt_char3 = true : bool val gt_string1 = false : bool val gt_string2 = false : bool val gt_string3 = true : bool val lteq_int1 = true : bool val lteq_int2 = true : bool val lteq_int3 = false : bool val lteq_real1 = true : bool val lteq_real2 = true : bool val lteq_real3 = false : bool val lteq_word1 = true : bool val lteq_word2 = true : bool val lteq_word3 = false : bool val lteq_char1 = true : bool val lteq_char2 = true : bool val lteq_char3 = false : bool val lteq_string1 = true : bool val lteq_string2 = true : bool val lteq_string3 = false : bool val gteq_int1 = false : bool val gteq_int2 = true : bool val gteq_int3 = true : bool val gteq_real1 = false : bool val gteq_real2 = true : bool val gteq_real3 = true : bool val gteq_word1 = false : bool val gteq_word2 = true : bool val gteq_word3 = true : bool val gteq_char1 = false : bool val gteq_char2 = true : bool val gteq_char3 = true : bool val gteq_string1 = false : bool val gteq_string2 = true : bool val gteq_string3 = true : boolsmlsharp-1.2.0/test/tests/coresml/outputs/primitives002.out0000644 000000000000000000000160412050661606024162 0ustar00rootroot0000000 0000000 infix 8 P8 PR8 infix 7 P7 PR7 infix 6 P6 PR6 infix 5 P5 PR5 infix 4 P4 PR4 infix 3 P3 PR3 PNB3 val P8 = fn : int * int -> int val P7 = fn : int * int -> int val P6 = fn : int * int -> int val P5 = fn : int * int -> int val P4 = fn : int * int -> int val P3 = fn : int * int -> int val PR8 = fn : real * real -> real val PR7 = fn : real * real -> real val PR6 = fn : real * real -> real val PR5 = fn : real * real -> real val PR4 = fn : real * real -> real val PR3 = fn : real * real -> real val PNB3 = fn : int * bool -> int val n1 = 3 : int val n2 = 5 : int val n3 = 7 : int val n4 = 11 : int val r1 = 3.3 : real val r2 = 5.5 : real val r3 = 7.7 : real val r4 = 11.11 : real val div1 = 33 : int val mod1 = 88 : int val mul1 = 16863 : int val divReal1 = 3.81919848641 : real val plus1 = 1694 : int val sub1 = ~1582 : int val lt1 = 9 : int val gt1 = 15 : int val lteq1 = 9 : int val gteq1 = 15 : int smlsharp-1.2.0/test/tests/coresml/outputs/raise001.out0000644 000000000000000000000004512050661606023067 0ustar00rootroot0000000 0000000 exception E1 : exn val v1 = 1 : int smlsharp-1.2.0/test/tests/coresml/outputs/Rank1001.out0000644 000000000000000000000115512050661606022743 0ustar00rootroot0000000 0000000 val id = fn : ['a. 'a -> 'a] datatype 'a dt con D : ['a. 'a -> 'a dt] val vPolyGlobal = fn : ['a. 'a -> 'a] val vPolyExp = fn : ['a. 'a -> 'a] ../tests/coresml/tests/Rank1001.sml:27.1-27.39 Warning: dummy type variable(s) X0 are introduced due to value restriction val vPolyVarPattern = fn : X0 -> X0 ../tests/coresml/tests/Rank1001.sml:29.1-29.45 Warning: dummy type variable(s) X0 are introduced due to value restriction val vPolyConstPattern = fn : X0 -> X0 ../tests/coresml/tests/Rank1001.sml:31.1-31.47 Warning: dummy type variable(s) X0 are introduced due to value restriction val vPolyRecord = fn : X0 -> X0 smlsharp-1.2.0/test/tests/coresml/outputs/Rank1002.out0000644 000000000000000000000124312050661606022742 0ustar00rootroot0000000 0000000 val id = fn : ['a .'a -> 'a] datatype 'a dt con D : ['a .'a -> 'a dt] ../tests/coresml/tests/Rank1002.sml:19.45-19.51 Error: operator and operand don't agree operator domain: 'E#{int, IntInf.int} operand: string ../tests/coresml/tests/Rank1002.sml:21.51-21.57 Error: operator and operand don't agree operator domain: 'G#{int, IntInf.int} operand: string ../tests/coresml/tests/Rank1002.sml:23.53-23.59 Error: operator and operand don't agree operator domain: 'E#{int, IntInf.int} operand: string smlsharp-1.2.0/test/tests/coresml/outputs/Rank1003.out0000644 000000000000000000000154012050661606022743 0ustar00rootroot0000000 0000000 val id = fn : ['a .'a -> 'a] datatype 'a dt con D : ['a .'a dt] val fPolyVar1 = fn : ['a .'a -> ['b .'b -> 'b]] val xPolyVar1 = fn : ['a .'a -> 'a] val fPolyVar2 = fn : ['a .'a -> ['b .'b -> 'b] * 'a] val xPolyVar2 = (fn, (1, 2)) : ['a .'a -> 'a] * (int * int) val fPolyAbs1 = fn : ['a .'a -> ['b .'b -> 'b]] val xPolyAbs1 = fn : ['a .'a -> 'a] val fPolyAbs2 = fn : ['a .'a -> ['b .'b -> 'a * 'b]] val xPolyAbs2 = fn : ['a .'a -> (int * int) * 'a] val fRecord1 = fn : ['a .'a -> {a:['b .'b -> 'b]}] val xRecord1 = {a = fn} : {a:['a .'a -> 'a]} val fRecord2 = fn : ['a .'a -> {a:['b .'b -> 'b] , b:'a}] val xRecord2 = {a = fn, b = (1, 2)} : {a:['a .'a -> 'a] , b:int * int} val fPolyConst1 = fn : ['a .'a -> ['b .'b dt]] val xPolyConst1 = D : ['a .'a dt] val fPolyConst2 = fn : ['a .'a -> ['b .'b dt] * 'a] val xPolyConst2 = (D, (1, 2)) : ['a .'a dt] * (int * int) smlsharp-1.2.0/test/tests/coresml/outputs/Rank1004.out0000644 000000000000000000000062012050661606022742 0ustar00rootroot0000000 0000000 val id = fn : ['a .'a -> 'a] datatype 'a dt con D : ['a .'a dt] val rPolyVar = {a = fn} : {a:['a .'a -> 'a]} val xPolyVar = fn : ['a .'a -> 'a] val rPolyAbs = {a = fn} : {a:['a .'a -> 'a]} val xPolyAbs = fn : ['a .'a -> 'a] val rRecord = {a = {a = fn}} : {a:{a:['a .'a -> 'a]}} val xRecord = {a = fn} : {a:['a .'a -> 'a]} val rPolyConst = {a = D} : {a:['a .'a dt]} val xPolyConst = D : ['a .'a dt] smlsharp-1.2.0/test/tests/coresml/outputs/Rank1005.out0000644 000000000000000000000122312050661606022743 0ustar00rootroot0000000 0000000 val id = fn : ['a. 'a -> 'a] datatype 'a dt con D : ['a. 'a dt] con E : ['a. 'a -> 'a dt] val vPolyVar1 = fn : ['a. 'a -> 'a] val vPolyVar2 = (fn, fn) : ['a. 'a -> 'a] * ['a. 'a -> 'a] val vPolyAbs1 = fn : ['a. 'a -> 'a] val vPolyAbs2 = fn : ['a. 'a -> ['b. 'b -> 'b]] val vRecord1 = {a = fn} : {a: ['a. 'a -> 'a]} val vRecord2 = {a = (fn, fn), b = fn} : {a: ['a. 'a -> 'a] * ['a. 'a -> 'a], b: ['a. 'a -> 'a]} val vPolyConst1 = D : ['a. 'a dt] val vPolyConst2 = E D : ['a. 'a dt dt] val vLet1 = fn : ['a. 'a -> 'a] val vLet2 = ((fn, D), (E fn, (fn, D))) : (['a. 'a -> 'a] * ['a. 'a dt]) * (['a. ('a -> 'a) dt] * (['a. 'a -> 'a] * ['a. 'a dt])) smlsharp-1.2.0/test/tests/coresml/outputs/Rank1006.out0000644 000000000000000000000475012050661606022754 0ustar00rootroot0000000 0000000 val id = fn : ['a. 'a -> 'a] datatype 'a dt con D : ['a. 'a dt] val f1 = fn : ['a. 'a -> ['b. 'b -> 'b]] val f2 = fn : ['a. 'a -> ['b. 'b -> 'a * 'b]] val fPolyVar11 = fn : ['a. 'a -> 'a] val xPolyVar11 = 1 : int ../tests/coresml/tests/Rank1006.sml:32.1-32.22 Warning: dummy type variable(s) X0 are introduced due to value restriction val fPolyVar12 = fn : ['a. 'a -> (X0 -> X0) * 'a] val xPolyVar12 = (fn, 1) : (X0 -> X0) * int val fPolyVar21 = fn : ['a. 'a -> int * ['b. 'b -> 'b]] val xPolyVar21 = (1, fn) : int * ['a. 'a -> 'a] val fPolyVar22 = fn : ['a. 'a -> int * ['b. 'b -> 'a * 'b]] val xPolyVar22 = (1, fn) : int * ['a. 'a -> int * 'a] val fPolyAbs11 = fn : ['a. 'a -> 'a] val xPolyAbs11 = 1 : int ../tests/coresml/tests/Rank1006.sml:42.1-42.39 Warning: dummy type variable(s) X1, X0 are introduced due to value restriction val fPolyAbs12 = fn : ['a. 'a -> (X0 -> X1 -> X1) * 'a] val xPolyAbs12 = (fn, 1) : (X0 -> X1 -> X1) * int val fPolyAbs21 = fn : ['a. 'a -> 'a] val xPolyAbs21 = 1 : int ../tests/coresml/tests/Rank1006.sml:47.1-47.44 Warning: dummy type variable(s) X1, X0 are introduced due to value restriction val fPolyAbs22 = fn : ['a. 'a -> (X0 -> X1 -> X0 * X1) * 'a] val xPolyAbs22 = (fn, 1) : (X0 -> X1 -> X0 * X1) * int val fRecord11 = fn : ['a. 'a -> 'a] val xRecord11 = 1 : int ../tests/coresml/tests/Rank1006.sml:52.1-52.27 Warning: dummy type variable(s) X0 are introduced due to value restriction val fRecord12 = fn : ['a. 'a -> {a: X0 -> X0} * 'a] val xRecord12 = ({a = fn}, 1) : {a: X0 -> X0} * int val fRecord21 = fn : ['a. 'a -> ['b. 'b -> 'b]] val xRecord21 = "a" : string val fRecord22 = fn : ['a, 'b. 'a -> ['c. 'c -> {a: 'b -> 'b, b: 'a} * 'c]] ../tests/coresml/tests/Rank1006.sml:58.1-58.31 Warning: dummy type variable(s) X0 are introduced due to value restriction val xRecord22 = ({a = fn, b = 1}, "a") : {a: X0 -> X0, b: int} * string val fPolyConst11 = fn : ['a. 'a -> ['b. 'b -> 'b]] val xPolyConst11 = "a" : string val fPolyConst12 = fn : ['a, 'b. 'a -> ['c. 'c -> 'b dt * 'c]] ../tests/coresml/tests/Rank1006.sml:63.1-63.37 Warning: dummy type variable(s) X0 are introduced due to value restriction val xPolyConst12 = (D, "a") : X0 dt * string val fPolyConst21 = fn : ['a. 'a -> ['b. 'b -> 'b]] val xPolyConst21 = "a" : string val fPolyConst22 = fn : ['a, 'b. 'a -> ['c. 'c -> ('b dt * 'a) * 'c]] ../tests/coresml/tests/Rank1006.sml:68.1-68.37 Warning: dummy type variable(s) X0 are introduced due to value restriction val xPolyConst22 = ((D, 1), "a") : (X0 dt * int) * string smlsharp-1.2.0/test/tests/coresml/outputs/Rank1007.out0000644 000000000000000000000304412050661606022750 0ustar00rootroot0000000 0000000 val id = fn : ['a .'a -> 'a] val inc = fn : int -> int exception E : exn ../tests/coresml/tests/Rank1007.sml:25.1-25.49 Warning: dummy type variable(s) X0 are introduced due to value restriction val fHanldePolyBodyRaise = fn : X0 -> X0 ../tests/coresml/tests/Rank1007.sml:26.28-26.49 Error: operator and operand don't agree operator domain: X0 operand: 'A#{int, IntInf.int} ../tests/coresml/tests/Rank1007.sml:28.1-28.46 Warning: dummy type variable(s) X0 are introduced due to value restriction val fHanldePolyBodyPolyVar = fn : X0 -> X0 ../tests/coresml/tests/Rank1007.sml:29.30-29.53 Error: operator and operand don't agree operator domain: X0 operand: 'A#{int, IntInf.int} ../tests/coresml/tests/Rank1007.sml:31.1-31.55 Warning: dummy type variable(s) X0 are introduced due to value restriction val fHanldePolyBodyPolyExp = fn : X0 -> X0 ../tests/coresml/tests/Rank1007.sml:32.30-32.53 Error: operator and operand don't agree operator domain: X0 operand: 'A#{int, IntInf.int} val fHanldePolyBodyMonoExp = fn : int -> int val xHanldePolyBodyMonoExp = 5 : int val fHanldeMonoBodyRaise = fn : int -> int val xHanldeMonoBodyRaise = 2 : int val fHanldeMonoBodyPolyVar = fn : int -> int val xHanldeMonoBodyPolyVar = 3 : int val fHanldeMonoBodyPolyExp = fn : int -> int val xHanldeMonoBodyPolyExp = 4 : int val fHanldeMonoBodyMonoExp = fn : int -> int val xHanldeMonoBodyMonoExp = 5 : int smlsharp-1.2.0/test/tests/coresml/outputs/Rank1008.out0000644 000000000000000000002040712050661606022753 0ustar00rootroot0000000 0000000 val fPP11 = fn : ['a. 'a -> ['b. 'b -> 'a * 'b]] val xPP111 = ((1, "a"), ("a", 2)) : (int * string) * (string * int) val xPP112 = ((1, "a"), (1, (1, 2))) : (int * string) * (int * (int * int)) val fPP12 = fn : ['a. 'a -> ['b. 'b -> 'a * 'a]] val xPP121 = ((1, 1), ("a", "a")) : (int * int) * (string * string) val xPP122 = ((1, 1), (1, 1)) : (int * int) * (int * int) val fPP21 = fn : ['a. 'a -> ['b. 'b -> 'b * 'b]] val xPP211 = (("a", "a"), (2, 2)) : (string * string) * (int * int) val xPP212 = (("a", "a"), ((1, 2), (1, 2))) : (string * string) * ((int * int) * (int * int)) val fPP22 = fn : ['a. 'a -> ['b. 'b -> bool]] val xPP221 = (true, true) : bool * bool val xPP222 = (true, true) : bool * bool val fMP11 = fn : int -> ['a. 'a -> int * 'a] val xMP111 = ((1, "a"), (2, 1.23)) : (int * string) * (int * real) val xMP112 = ((1, "a"), (1, (1, 2))) : (int * string) * (int * (int * int)) val fMP12 = fn : int -> ['a. 'a -> int * int] val xMP121 = ((1, 1), (2, 2)) : (int * int) * (int * int) val xMP122 = ((1, 1), (1, 1)) : (int * int) * (int * int) val fMP21 = fn : ['a. 'a -> ['b. 'b -> 'b * 'b]] val xMP211 = (("a", "a"), (1.23, 1.23)) : (string * string) * (real * real) val xMP212 = (("a", "a"), ((1, 2), (1, 2))) : (string * string) * ((int * int) * (int * int)) val fMP22 = fn : int -> ['a. 'a -> bool] val xMP221 = (true, true) : bool * bool val xMP222 = (true, true) : bool * bool val fPM11 = fn : ['a. 'a -> int -> 'a * int] val xPM111 = (("a", 1), (true, 2)) : (string * int) * (bool * int) val fPM12 = fn : ['a. 'a -> int -> 'a * 'a] val xPM121 = (("a", "a"), (true, true)) : (string * string) * (bool * bool) val fPM21 = fn : ['a. 'a -> int -> int * int] val xPM211 = ((1, 1), (2, 2)) : (int * int) * (int * int) val fPM22 = fn : ['a. 'a -> int -> real] val xPM221 = (1.23, 1.23) : real * real val fPPP111 = fn : ['a. 'a -> ['b. 'b -> ['c. 'c -> 'a * 'b * 'c]]] val xPPP1111 = ((1, "a", true), (1.23, 2, "c")) : (int * string * bool) * (real * int * string) val xPPP1112 = ((1, 1, "a"), (1, true, (1, 2)), (1.23, true, "a"), (1.23, 1, (1, 2))) : (int * int * string) * (int * bool * (int * int)) * (real * bool * string) * (real * int * (int * int)) val fPPP112 = fn : ['a. 'a -> ['b. 'b -> ['c. 'c -> 'a * 'b]]] val xPPP1121 = ((1, "a"), (1.23, 2)) : (int * string) * (real * int) val xPPP1122 = ((1, 1), (1, true), (1.23, true), (1.23, 1)) : (int * int) * (int * bool) * (real * bool) * (real * int) val fPPP121 = fn : ['a. 'a -> ['b. 'b -> ['c. 'c -> 'a * 'c]]] val xPPP1211 = ((1, true), (1.23, "c")) : (int * bool) * (real * string) val xPPP1212 = ((1, "a"), (1, (1, 2)), (1.23, "a"), (1.23, (1, 2))) : (int * string) * (int * (int * int)) * (real * string) * (real * (int * int)) val fPPP122 = fn : ['a. 'a -> ['b. 'b -> ['c. 'c -> 'a * 'a]]] val xPPP1221 = ((1, 1), (1.23, 1.23)) : (int * int) * (real * real) val xPPP1222 = ((1, 1), (1, 1), (1.23, 1.23), (1.23, 1.23)) : (int * int) * (int * int) * (real * real) * (real * real) val fPPP211 = fn : ['a. 'a -> ['b. 'b -> ['c. 'c -> 'b * 'c]]] val xPPP2111 = (("a", true), (2, "c")) : (string * bool) * (int * string) val xPPP2112 = ((1, "a"), (true, (1, 2)), (true, "a"), (1, (1, 2))) : (int * string) * (bool * (int * int)) * (bool * string) * (int * (int * int)) val fPPP212 = fn : ['a. 'a -> ['b. 'b -> ['c. 'c -> 'b * 'b]]] val xPPP2121 = (("a", "a"), (2, 2)) : (string * string) * (int * int) val xPPP2122 = ((1, 1), (true, true), (true, true), (1, 1)) : (int * int) * (bool * bool) * (bool * bool) * (int * int) val fPPP221 = fn : ['a. 'a -> ['b. 'b -> ['c. 'c -> 'c * 'c]]] val xPPP2211 = ((true, true), ("c", "c")) : (bool * bool) * (string * string) val xPPP2212 = (("a", "a"), ((1, 2), (1, 2)), ("a", "a"), ((1, 2), (1, 2))) : (string * string) * ((int * int) * (int * int)) * (string * string) * ((int * int) * (int * int)) val fPPP222 = fn : ['a. 'a -> ['b. 'b -> ['c. 'c -> real]]] val xPPP2221 = (1.23, 1.23) : real * real val xPPP2222 = (1.23, 1.23, 1.23, 1.23) : real * real * real * real val fMMP111 = fn : int -> int -> ['a. 'a -> int * int * 'a] val xMMP1111 = ((2, 3, true), (3, 4, "c")) : (int * int * bool) * (int * int * string) val fMMP112 = fn : int -> int -> ['a. 'a -> int * int] val xMMP1121 = ((2, 3), (3, 4)) : (int * int) * (int * int) val fMMP121 = fn : int -> int -> ['a. 'a -> int * 'a] val xMMP1211 = ((2, true), (3, "c")) : (int * bool) * (int * string) val fMMP122 = fn : int -> int -> ['a. 'a -> int] val xMMP1221 = (2, 3) : int * int val fMMP211 = fn : int -> int -> ['a. 'a -> int * 'a] val xMMP2111 = ((3, true), (4, "c")) : (int * bool) * (int * string) val fMMP212 = fn : int -> int -> ['a. 'a -> int] val xMMP2121 = (3, 4) : int * int val fMMP221 = fn : int -> int -> ['a. 'a -> 'a] val xMMP2211 = (true, "c") : bool * string val fMMP222 = fn : int -> int -> ['a. 'a -> bool] val xMMP2221 = (true, true) : bool * bool val fMPP111 = fn : int -> ['a. 'a -> ['b. 'b -> int * 'a * 'b]] val xMPP1111 = ((2, 2, true), (3, 1.23, "c")) : (int * int * bool) * (int * real * string) val xMPP1112 = ((2, "a", 1.23), (2, "a", false), (2, true, 1.23), (2, true, false)) : (int * string * real) * (int * string * bool) * (int * bool * real) * (int * bool * bool) val fMPP112 = fn : int -> ['a. 'a -> ['b. 'b -> int * 'a]] val xMPP1121 = ((2, 2), (3, 1.23)) : (int * int) * (int * real) val xMPP1122 = ((2, "a"), (2, "a"), (2, true), (2, true)) : (int * string) * (int * string) * (int * bool) * (int * bool) val fMPP121 = fn : int -> ['a. 'a -> ['b. 'b -> int * 'b]] val xMPP1211 = ((2, true), (3, "c")) : (int * bool) * (int * string) val xMPP1212 = ((2, 1.23), (2, false), (2, 1.23), (2, false)) : (int * real) * (int * bool) * (int * real) * (int * bool) val fMPP122 = fn : int -> ['a. 'a -> ['b. 'b -> int]] val xMPP1221 = (2, 3) : int * int val xMPP1222 = (2, 2, 2, 2) : int * int * int * int val fMPP211 = fn : int -> ['a. 'a -> ['b. 'b -> 'a * 'b]] val xMPP2111 = ((2, true), (1.23, "c")) : (int * bool) * (real * string) val xMPP2112 = (("a", 1.23), ("a", false), (true, 1.23), (true, false)) : (string * real) * (string * bool) * (bool * real) * (bool * bool) val fMPP212 = fn : int -> ['a. 'a -> ['b. 'b -> 'a]] val xMPP2121 = (2, 1.23) : int * real val xMPP2122 = ("a", "a", true, true) : string * string * bool * bool val fMPP221 = fn : int -> ['a. 'a -> ['b. 'b -> 'b]] val xMPP2211 = (true, "c") : bool * string val xMPP2212 = (1.23, false, 1.23, false) : real * bool * real * bool val fMPP222 = fn : int -> ['a. 'a -> ['b. 'b -> bool]] val xMPP2221 = (true, true) : bool * bool val xMPP2222 = (true, true, true, true) : bool * bool * bool * bool val fPMP111 = fn : ['a. 'a -> int -> ['b. 'b -> 'a * int * 'b]] val xPMP1111 = ((1, 3, true), (1.23, 4, "c")) : (int * int * bool) * (real * int * string) val xPMP1112 = ((1, 3, 1.23), (1, 3, false), (1.23, 3, 1.23), (1.23, 3, false)) : (int * int * real) * (int * int * bool) * (real * int * real) * (real * int * bool) val fPMP112 = fn : ['a. 'a -> int -> ['b. 'b -> 'a * int]] val xPMP1121 = ((1, 3), (1.23, 4)) : (int * int) * (real * int) val xPMP1122 = ((1, 3), (1, 3), (1.23, 3), (1.23, 3)) : (int * int) * (int * int) * (real * int) * (real * int) val fPMP121 = fn : ['a. 'a -> int -> ['b. 'b -> 'a * 'b]] val xPMP1211 = ((1, true), (1.23, "c")) : (int * bool) * (real * string) val xPMP1212 = ((1, 1.23), (1, false), (1.23, 1.23), (1.23, false)) : (int * real) * (int * bool) * (real * real) * (real * bool) val fPMP122 = fn : ['a. 'a -> int -> ['b. 'b -> 'a]] val xPMP1221 = (1, 1.23) : int * real val xPMP1222 = (1, 1, 1.23, 1.23) : int * int * real * real val fPMP211 = fn : ['a. 'a -> int -> ['b. 'b -> int * 'b]] val xPMP2111 = ((3, true), (4, "c")) : (int * bool) * (int * string) val xPMP2112 = ((3, 1.23), (3, false), (3, 1.23), (3, false)) : (int * real) * (int * bool) * (int * real) * (int * bool) val fPMP212 = fn : ['a. 'a -> int -> ['b. 'b -> int]] val xPMP2121 = (3, 4) : int * int val xPMP2122 = (3, 3, 3, 3) : int * int * int * int val fPMP221 = fn : ['a. 'a -> int -> ['b. 'b -> 'b]] val xPMP2211 = (true, "c") : bool * string val xPMP2212 = (1.23, false, 1.23, false) : real * bool * real * bool val fPMP222 = fn : ['a. 'a -> int -> ['b. 'b -> bool]] val xPMP2221 = (true, true) : bool * bool val xPMP2222 = (true, true, true, true) : bool * bool * bool * bool smlsharp-1.2.0/test/tests/coresml/outputs/record001.out0000644 000000000000000000000012012050661606023234 0ustar00rootroot0000000 0000000 val v1 = () : unit val v2 = {a=1} : {a:int} val v3 = {a=1,b=2} : {a:int, b:int} smlsharp-1.2.0/test/tests/coresml/outputs/recordType001.out0000644 000000000000000000000035312050661606024106 0ustar00rootroot0000000 0000000 type t1 = unit val v1 = () : t1 type t2 = {x:int} val v2 = {x=2} : t2 type t3 = {a:int, z:bool} val v31 = {a=3,z=true} : t3 val v32 = {a=3,z=true} : t3 type t4 = {a:int, z:bool} val v41 = {a=4,z=true} : t4 val v42 = {a=4,z=true} : t4 smlsharp-1.2.0/test/tests/coresml/outputs/recordType002.out0000644 000000000000000000000062012050661606024104 0ustar00rootroot0000000 0000000 type 'a t1 = {x:'a} val v1 = {x=1} : int t1 type t2 = {x:{y:int}} val v2 = {x={y=2}} : t2 type t3 = {x:int} val v3 = {x=3} : t3 type 'a t41 = 'a * int type t4 = {x:bool t41} val v4 = {x=(true,4)} : t4 type t5 = {x:int -> int} val v5 = {x=fn} : {x:int -> int} type 'a t6 = {x:'a -> 'a * int} val v6 = {x = fn} : {x:['a.'a -> 'a * int]} type t7 = {x:int * bool} val v7 = {x=(7,false)} : {x:int * bool} smlsharp-1.2.0/test/tests/coresml/outputs/recordUpdate001.out0000644 000000000000000000000101012050661606024376 0ustar00rootroot0000000 0000000 val v1 = {a = 11, b = "bar"} : {a:int , b:string} val v2 = {a = 22, b = "baz"} : {a:int , b:string} val f3 = fn : ['a#{a:int, b:real} .'a -> 'a] val v3 = {a = 33, b = 3.33, c = 4} : {a:int , b:real , c:int} val v4 = {a = 44, b = "forty", c = 56.7} : {a:int , b:string , c:real} val f5 = fn : ['a#{a:int, b:real, c:string} .'a -> 'a] val v5 = ( {a = 55, b = 555, c = "five-five"}, {a = 55, b = 555, c = "five-five", d = true} ) : {a:int , b:real , c:string} * {a:int , b:real , c:string , d:bool} smlsharp-1.2.0/test/tests/coresml/outputs/recordUpdate002.out0000644 000000000000000000000016112050661606024405 0ustar00rootroot0000000 0000000 val v1 = {a = 11, b = 3} : {a:int , b:int} val v2 = {a = 22, b = false, c = "foo"} : {a:int , b:bool , c:string} smlsharp-1.2.0/test/tests/coresml/outputs/recursiveFunction001.out0000644 000000000000000000000266512050661606025513 0ustar00rootroot0000000 0000000 val intSelfTail = fn : int -> int val intSelfTail_x = 0 : int val intSelfNonTail = fn : int -> int val intSelfNonTail_x = 2 : int val intNonSelfTail_f = fn : int -> int val intNonSelfTail_g = fn : int -> int val intNonSelfTail_x = 1 : int val intNonSelfNonTail_f = fn : int -> int val intNonSelfNonTail_g = fn : int -> int val intNonSelfNonTail_x = 4 : int val realSelfTail = fn : real -> real val realSelfTail_x = 0.0 : real val realSelfNonTail = fn : real -> real val realSelfNonTail_x = 3 : real val realNonSelfTail_f = fn : real -> real val realNonSelfTail_g = fn : real -> real val realNonSelfTail_x = 0.0 : real val realNonSelfNonTail_f = fn : real -> real val realNonSelfNonTail_g = fn : real -> real val realNonSelfNonTail_x = 4 : real val polySelfTail = fn : ['a .('a -> bool) * ('a -> 'a) * 'a -> 'a] val polySelfTail_int = 0 : int val polySelfTail_real = ~1 : real val polySelfNonTail = fn : ['a .('a -> bool) * ('a -> 'a) * 'a -> 'a] val polySelfNonTail_int = ~3 : int val polySelfNonTail_real = ~5 : real val polyNonSelfTail_f = fn : ['a .('a -> bool) * ('a -> 'a) * 'a -> 'a] val polyNonSelfTail_g = fn : ['a .('a -> bool) * ('a -> 'a) * 'a -> 'a] val polyNonSelfTail_int = 0 : int val polyNonSelfTail_real = ~1 : real val polyNonSelfNonTail_f = fn : ['a .('a -> bool) * ('a -> 'a) * 'a -> 'a] val polyNonSelfNonTail_g = fn : ['a .('a -> bool) * ('a -> 'a) * 'a -> 'a] val polyNonSelfNonTail_int = ~2 : int val polyNonSelfNonTail_real = ~4 : real smlsharp-1.2.0/test/tests/coresml/outputs/recursiveFunction002.out0000644 000000000000000000000137412050661606025510 0ustar00rootroot0000000 0000000 val polySelfTail = fn : ['a. ('a -> bool) -> ('a -> 'a) -> ['b. 'b -> 'a -> 'b * 'a]] val polySelfTail_int_int = (1, 0) : int * int val polySelfTail_real_real = (1, ~1) : real * real val dummy = fn : ['a. 'a -> 'a] val polySelfNonTail = fn : ['a. ('a -> bool) -> ('a -> 'a) -> ['b. 'b -> 'a -> 'a]] val polySelfNonTail_int_int = ~3 : int val polySelfNonTail_real_real = ~5 : real val polyNonSelfTail = fn : ['a. ('a -> bool) -> ('a -> 'a) -> ['b. 'b -> 'a -> 'b * 'a]] val polyNonSelfTail_int_int = (1, 0) : int * int val polyNonSelfTail_real_real = (1.2, ~1) : real * real val polyNonSelfNonTail = fn : ['a. ('a -> bool) -> ('a -> 'a) -> ['b. 'b -> 'a -> 'a]] val polyNonSelfNonTail_int_int = ~2 : int val polyNonSelfNonTail_real_real = ~4 : real smlsharp-1.2.0/test/tests/coresml/outputs/ref001.out0000644 000000000000000000000074312050661606022545 0ustar00rootroot0000000 0000000 val v11 = ref 1 : int ref val v12 = 2 : int val v21 = ref 1.23 : real ref val v22 = 2.34 : real val v31 = ref 0wx1 : word ref val v32 = 0wx3 : word val v41 = ref #"a" : char ref val v42 = #"z" : char val v51 = ref "foo" : string ref val v52 = "bar" : string datatype t6 con C61 : int -> t6 con C62 : string -> t6 val v61 = ref (C61 6) : t6 ref val v62 = C62 "foo" : t6 val v71 = ref (ref (1,2)) : (int * int) ref ref val v72 = (2,3) : int * int val v73 = ref (3,4) : (int * int) ref smlsharp-1.2.0/test/tests/coresml/outputs/sequence001.out0000644 000000000000000000000006412050661606023575 0ustar00rootroot0000000 0000000 fooval v1 = true : bool foobarval v2 = true : bool smlsharp-1.2.0/test/tests/coresml/outputs/tuple001.out0000644 000000000000000000000064412050661606023122 0ustar00rootroot0000000 0000000 val f1 = fn : ['a .'a -> 'a * 'a] val v11 = (1, 1) : int * int val v12 = ("foo", "foo") : string * string val v2 = ({x = 1}, {y = 2}) : {x:int} * {y:int} val v31 = (1, 2) : int * int val v32 = ("foo", "bar") : string * string datatype 'a t4 con C4 : ['a .'a -> 'a t4] val v4 = (C4 1, C4 "foo") : int t4 * string t4 val v5 = (fn, fn) : (int -> int) * (int -> int) val v6 = (fn, fn) : ['a .'a -> 'a] * ['a .'a -> 'a * 'a] smlsharp-1.2.0/test/tests/coresml/outputs/tuplePattern001.out0000644 000000000000000000000127512050661606024461 0ustar00rootroot0000000 0000000 val f1 = fn : ['a,'b.'b * 'a -> 'b * 'a * int] val v11 = (1, 2, 1) : int * int * int val v12 = ("foo", "bar", 1) : string * string * int val f2 = fn : ['a,'b.{x:'b} * {y:'a} -> 'b * 'a] val v2 = (1, 2) : int * int val f3 = fn : int * int -> int val v3 = 3 : int datatype 'a t4 con C4 : ['a .'a -> 'a t4] val f4 = fn : ['a,'b.'b t4 * 'a t4 -> 'b * 'a] val v4 = (1, "foo") : int * string val f5 = fn : ['a,'b.(int -> 'a) * (int -> 'b) -> 'a * 'b] val v5 = (2, 1) : int * int val f6 = fn : ['a,'b,'c.('a -> 'b)*('a -> 'c) -> 'a -> 'b*'c] ../tests/coresml/tests/tuplePattern001.sml:35.1-35.39 Warning: dummy type variable(s) X0 are introduced due to value restriction val v6 = fn : X0 -> X0 * (X0 * X0) smlsharp-1.2.0/test/tests/coresml/outputs/tupleType001.out0000644 000000000000000000000025012050661606023755 0ustar00rootroot0000000 0000000 type t1 = int * int val v1 = (1,2) : int * int type 'a t21 = 'a * int type t2 = int * int t21 val v2 = (1,(2,3)) : t2 type t3 = int * int -> int * int val v3 = fn : t3 smlsharp-1.2.0/test/tests/coresml/outputs/type001.out0000644 000000000000000000000032012050661606022741 0ustar00rootroot0000000 0000000 type t1 = int val v1 = 1 : t1 type 'a t2 = 'a * int val v2 = (true,2) : bool t2 type ('a,'b) t3 = {a:'a , b:'b} val v3 = {a=3,b=false} : (int,bool) t3 type ('a,'b) t4 = {a:'a} val v4 = {a=3} : (int, bool) t4 smlsharp-1.2.0/test/tests/coresml/outputs/type002.out0000644 000000000000000000000023212050661606022744 0ustar00rootroot0000000 0000000 type t11 = int type t12 = bool val v1 = (1,true) : t11 * t12 type t21 = string type t21 = int type t22 = t21 * bool val v2 = (1,("foo",true)) : t21 * t22 smlsharp-1.2.0/test/tests/coresml/outputs/type003.out0000644 000000000000000000000047212050661606022753 0ustar00rootroot0000000 0000000 type 'a t11 = 'a * int val v11 = ("foo",2) : string t11 type 'a t12 = 'a * int * 'a val v12 = (true,12,false) : bool t12 type ('a,'b) t21 = 'a * int * 'b val v21 = (false,21,"bar") : (bool,string) t21 type ('a,'b) t22 = 'a * int * 'a * 'b * real * 'b val v22 = (true,22,false,"baz",1.23,"boo") : (bool,string) t22 smlsharp-1.2.0/test/tests/coresml/outputs/type004.out0000644 000000000000000000000045312050661606022753 0ustar00rootroot0000000 0000000 type 'a t121 = 'a * int type 'a t122 = int * 'a val v12 = ((true,121),(122,1.22)) : bool t121 * real t122 type ('a,'b) t221 = 'a * int * 'b type ('a,'b) t222 = 'b * int * 'a val v22 = ((true, 221, 22.1), ((22.2, true), 222, (false, 2.22))) : (bool, real) t221 * (bool * real, real * bool) t222 smlsharp-1.2.0/test/tests/coresml/outputs/type005.out0000644 000000000000000000000034012050661606022747 0ustar00rootroot0000000 0000000 type t21 = string * int type t22 = {a:t21, b:t21 * real} val v2 = {a=("a",1),b=(("b",2),2.345)} : t22 type t31 = {a:int, b:int -> int} type t32 = t31 list type t33 = t32 * string val v3 = ([{a=1,b=fn},{a=2,b=fn}],"x") : t33 smlsharp-1.2.0/test/tests/coresml/outputs/typed001.out0000644 000000000000000000000011312050661606023105 0ustar00rootroot0000000 0000000 val v1 = 1 : int type t = int val v2 = 1 : t type t = int val v3 = 1 : int smlsharp-1.2.0/test/tests/coresml/outputs/unitExpression001.out0000644 000000000000000000000007012050661606025021 0ustar00rootroot0000000 0000000 val v1 = () : unit val v2 = () : unit val v3 = 1 : int smlsharp-1.2.0/test/tests/coresml/outputs/unitPattern001.out0000644 000000000000000000000005412050661606024301 0ustar00rootroot0000000 0000000 val f1 = fn : unit -> int val v1 = 1 : int smlsharp-1.2.0/test/tests/coresml/outputs/val001.out0000644 000000000000000000000020412050661606022543 0ustar00rootroot0000000 0000000 val v1 = 1 : int val v2 = fn : ['a .'a -> 'a] val v3 = fn : ['a,'b.'a -> 'b -> 'a*'b] val v4 = fn : ['a .'a -> ['b .'b -> 'a * 'b]] smlsharp-1.2.0/test/tests/coresml/outputs/val002.out0000644 000000000000000000000015112050661606022545 0ustar00rootroot0000000 0000000 val v11 = 1 : int val v12 = 2 : int val v21 = 1 : int val v21 = true : bool val v22 = (3,1) : int * int smlsharp-1.2.0/test/tests/coresml/outputs/val003.out0000644 000000000000000000000052312050661606022551 0ustar00rootroot0000000 0000000 val v111 = fn : ['a.'a -> 'a] val v112 = 1 : int val v121 = 2 : int val v122 = fn : ['a.'a -> 'a] val v131 = fn : ['a.'a -> 'a] val v132 = fn : ['a.'a -> 'a] val v211 = fn : ['a.'a -> 'a] val v212 = fn : ['a.'a -> 'a] val v221 = fn : ['a.'a -> 'a] val v222 = fn : ['a.'a -> 'a] val v231 = fn : ['a.'a -> 'a] val v232 = fn : ['a.'a -> 'a] smlsharp-1.2.0/test/tests/coresml/outputs/val004.out0000644 000000000000000000000030012050661606022543 0ustar00rootroot0000000 0000000 val v11 = fn : int -> int val v11 = fn : ['a.'a -> 'a * int] val v12 = fn : ['a.'a -> int * 'a] val v21 = fn : int -> int val v21 = fn : ['a.'a -> 'a * int] val v22 = fn : ['a.'a -> int * 'a] smlsharp-1.2.0/test/tests/coresml/outputs/valueBindings001.out0000644 000000000000000000000050012050661606024552 0ustar00rootroot0000000 0000000 ../tests/coresml/tests/valueBindings001.sml:22.5-22.9 Warning: binding not exhaustive 2 => ... datatype dt3 con C3 : dt3 val v4 = 4 : int val w4 = 8 : int val v5 = 5 : int val y = "five" : string val w5 = 10 : int val v6 = 6 : int val y = "six" : string val w6 = 12 : int val v7 = 7 : int val w7 = 14 : int smlsharp-1.2.0/test/tests/coresml/outputs/valueBindings002.out0000644 000000000000000000000070212050661606024557 0ustar00rootroot0000000 0000000 datatype dt1 con C1 : int -> dt1 val v1 = 1 : int val w1 = 2 : int val v2 = 2 : int val w2 = 4 : int ../tests/coresml/tests/valueBindings002.sml:23.5-23.15 Warning: binding not exhaustive v3 as 3 => ... val v3 = 3 : int val w3 = 6 : int ../tests/coresml/tests/valueBindings002.sml:26.5-26.21 Warning: binding not exhaustive v4 as 4 => ... val v4 = 4 : int val w4 = 8 : int val y = 5 : int val v5 = 5 : int val w5 = 10 : int smlsharp-1.2.0/test/tests/coresml/outputs/valueBindingsRec001.out0000644 000000000000000000000032612050661606025212 0ustar00rootroot0000000 0000000 val v1 = fn : int -> int val w1 = 1 : int val v2 = fn : int -> int val w2 = 2 : int ../tests/coresml/tests/valueBindingsRec001.sml:22.1-22.21 Error: only variable or typed variable pattern is allowed in val rec smlsharp-1.2.0/test/tests/coresml/outputs/valueBindingsRec002.out0000644 000000000000000000000066012050661606025214 0ustar00rootroot0000000 0000000 val v1 = fn : int -> int val w1 = 1 : int ../tests/coresml/tests/valueBindingsRec002.sml:18.1-18.57 Error: only variable or typed variable pattern is allowed in val rec ../tests/coresml/tests/valueBindingsRec002.sml:20.1-20.70 Error: only variable or typed variable pattern is allowed in val rec ../tests/coresml/tests/valueBindingsRec002.sml:22.1-22.57 Error: only variable or typed variable pattern is allowed in val rec smlsharp-1.2.0/test/tests/coresml/outputs/valueBindingsRec003.out0000644 000000000000000000000172012050661606025213 0ustar00rootroot0000000 0000000 val v01 = fn : int -> int val w0 = 1 : int val v011 = fn : int -> int val v012 = fn : int -> int val w01 = (1,1) : int * int val v101 = fn : int -> int val v102 = fn : int -> int val w10 = (1,1) : int * int val v111 = fn : int -> int val v112 = fn : int -> int val w11 = (1,1) : int * int val v001 = fn : int -> int val v002 = fn : int -> int val w00 = (1,1) : int * int val v3331 = fn : int -> int val v3332 = fn : int -> int val v3333 = fn : int -> int val w333 = (1,1,1) : int * int * int val v1201 = fn : int -> int val v1202 = fn : int -> int val v1203 = fn : int -> int val w120 = (1,1,1) : int * int * int val v2011 = fn : int -> int val v2012 = fn : int -> int val v2013 = fn : int -> int val w201 = (1,1,1) : int * int * int val v0121 = fn : int -> int val v0122 = fn : int -> int val v0123 = fn : int -> int val w012 = (1,1,1) : int * int * int val v0001 = fn : int -> int val v0002 = fn : int -> int val v0003 = fn : int -> int val w000 = (1,1,1) : int * int * int smlsharp-1.2.0/test/tests/coresml/outputs/valueBindingsRec004.out0000644 000000000000000000000425612050661606025223 0ustar00rootroot0000000 0000000 val v01 = fn : int -> int val w0 = 1 : int val v011 = fn : int -> int val v012 = fn : int -> int val w01 = (1, 1) : int * int val v101 = fn : int -> int val v102 = fn : int -> int val w10 = (1, 1) : int * int val v111 = fn : int -> int val v112 = fn : int -> int val w11 = (1, 1) : int * int val v001 = fn : int -> int val v002 = fn : int -> int val w00 = (1, 1) : int * int val v3331 = fn : int -> int val v3332 = fn : int -> int val v3333 = fn : int -> int val w333 = (1, 1, 1) : int * int * int val v1201 = fn : int -> int val v1202 = fn : int -> int val v1203 = fn : int -> int val w120 = (1, 1, 1) : int * int * int val v2011 = fn : int -> int val v2012 = fn : int -> int val v2013 = fn : int -> int val w201 = (1, 1, 1) : int * int * int val v0121 = fn : int -> int val v0122 = fn : int -> int val v0123 = fn : int -> int val w012 = (1, 1, 1) : int * int * int val v0001 = fn : int -> int val v0002 = fn : int -> int val v0003 = fn : int -> int val w000 = (1, 1, 1) : int * int * int val v01 = fn : ['a.int * 'a -> int] val w0 = 1 : int val v011 = fn : ['a.int * 'a -> int] val v012 = fn : ['a .int * 'a -> int] val w01 = (1,1) : int * int val v101 = fn : ['a.int * 'a -> int] val v102 = fn : ['a .int * 'a -> int] val w10 = (1,1) : int * int val v111 = fn : ['a.int * 'a -> int] val v112 = fn : ['a .int * 'a -> int] val w11 = (1,1) : int * int val v001 = fn : ['a.int * 'a -> int] val v002 = fn : ['a .int * 'a -> int] val w00 = (1,1) : int * int val v3331 = fn : ['a.int * 'a -> int] val v3332 = fn : ['a .int * 'a -> int] val v3333 = fn : ['a .int * 'a -> int] val w333 = (1,1,1) : int * int * int val v1201 = fn : ['a.int * 'a -> int] val v1202 = fn : ['a .int * 'a -> int] val v1203 = fn : ['a .int * 'a -> int] val w120 = (1,1,1) : int * int * int val v2011 = fn : ['a.int * 'a -> int] val v2012 = fn : ['a .int * 'a -> int] val v2013 = fn : ['a .int * 'a -> int] val w201 = (1,1,1) : int * int * int val v0121 = fn : ['a.int * 'a -> int] val v0122 = fn : ['a .int * 'a -> int] val v0123 = fn : ['a .int * 'a -> int] val w012 = (1,1,1) : int * int * int val v0001 = fn : ['a.int * 'a -> int] val v0002 = fn : ['a .int * 'a -> int] val v0003 = fn : ['a .int * 'a -> int] val w000 = (1,1,1) : int * int * int smlsharp-1.2.0/test/tests/coresml/outputs/valueRestriction001.out0000644 000000000000000000000073212050661606025331 0ustar00rootroot0000000 0000000 datatype 'a dt con D : ['a .'a dt] val x1 = D : ['a .'a dt] ../tests/coresml/tests/valueRestriction001.sml:16.1-16.17 Warning: dummy type variable(s) X0 are introduced due to value restriction val x2 = D : X0 dt val f1 = fn : ['a .'a -> int] val f2 = fn : ['a .'a dt -> int] val r11 = 0 : int val r12 = 0 : int val r21 = 0 : int ../tests/coresml/tests/valueRestriction001.sml:25.11-25.15 Error: operator and operand don't agree operator domain: 'A dt operand: X0 dt smlsharp-1.2.0/test/tests/coresml/outputs/variable001.out0000644 000000000000000000000014012050661606023545 0ustar00rootroot0000000 0000000 val x = 1 : int val v1 = 1 : int val x = true : bool val v2 = true : bool val it = "a" : string smlsharp-1.2.0/test/tests/coresml/outputs/variableType001.out0000644 000000000000000000000016212050661606024413 0ustar00rootroot0000000 0000000 type 'a t1 = 'a val v1 = 1 : int t1 type 'a t2 = 'a val v2 = 2 : int t2 t2 type 'a t3 = 'a t2 val v3 = 3 : int t3 smlsharp-1.2.0/test/tests/coresml/outputs/while001.out0000644 000000000000000000000022612050661606023075 0ustar00rootroot0000000 0000000 val counter = ref 0 : int ref val buffer = ref [] : int list ref val it = () : unit val result = [10,9,8,7,6,5,4,3,2,1] : int list val it = () : unit smlsharp-1.2.0/test/tests/coresml/tests0000755 000000000000000000000000012050661606020353 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/test/tests/coresml/tests/abstype001.sml0000644 000000000000000000000102112050661606023031 0ustar00rootroot0000000 0000000 (* abstype declaration. rule 17, 28
  • the number of type variables
    • 0
    • 1
    • 2
    • 2, but one of them is not used in body
*) abstype t1 = C1 of int with val v1 = C1 1 end; abstype 'x t2 = C2 of 'x * int with val v2 : bool t2 = C2 (true, 2) end; abstype ('x, 'y) t3 = C3 of {a : 'x, b : 'y} with val v3 : (int, bool) t3 = C3 {a = 3, b = false} end; abstype ('x, 'y) t4 = C4 of {a : 'x} with val v4 : (int, bool) t4 = C4 {a = 3} end; smlsharp-1.2.0/test/tests/coresml/tests/abstype002.sml0000644 000000000000000000000066512050661606023047 0ustar00rootroot0000000 0000000 (* abstype declaration. rule 17, 28
  • the number of datbinds
    • 2
  • dependency between datbinds
    • none
    • yes
*) abstype t11 = C11 of int and t12 = C12 of bool with val v1 : (t11 * t12) = (C11 1, C12 true) end; abstype t21 = C21 of int and t22 = C22 of t21 * bool with val v2 : (t21 * t22) = (C21 1, C22 (C21 2, true)) end; smlsharp-1.2.0/test/tests/coresml/tests/abstype003.sml0000644 000000000000000000000265512050661606023051 0ustar00rootroot0000000 0000000 (* multiple occurrences of multiple type variables in abstype declaration. rule 17, 28
  • the number of type variables
    • 1
    • 2
  • the number of occurrence of a type variable
    • 1
    • 2
  • the number of data constructors
    • 1
    • 2
*) abstype 'x1 t11 = C11 of 'x1 * int with val v11 : bool t11 = C11 (false, 1) end; abstype 'x1 t121 = C121 of 'x1 * ('x1 * int) with val v121 : bool t121 = C121 (true, (false, 1)) end; abstype 'x1 t122 = C1221 of 'x1 | C1222 of 'x1 * int with val v122 : bool t122 * string t122 = (C1221 true, C1222 ("foo", 1)) end; abstype ('x1, 'x2) t211 = C211 of 'x1 * ('x2 * int) with val v211 : (bool, real) t211 = C211 (true, (2.11, 211)) end; abstype ('x1, 'x2) t212 = C2121 of 'x1 * int | C2122 of 'x2 * bool with val v212 : (bool, real) t212 * (int, string) t212 = (C2121 (true, 2121), C2122 ("foo", false)) end; abstype ('x1, 'x2) t221 = C221 of 'x1 * ('x2 * int) * 'x2 * ('x1 * int) with val v221 : (bool, real) t221 = C221 (true, (2.211, 2211), 2.212, (false, 2212)) end; abstype ('x1, 'x2) t222 = C2221 of 'x1 * ('x2 * int) | C2222 of 'x2 * ('x1 * int) with val v222 : (bool, real) t222 * (bool * real, real * bool) t222 = ( C2221 (true, (2.211, 2221)), C2222 ((2.212, true), ((false, 2.213), 2222)) ) end; smlsharp-1.2.0/test/tests/coresml/tests/abstype004.sml0000644 000000000000000000000127212050661606023044 0ustar00rootroot0000000 0000000 (* same type variables occur in multiple abstype bindings in abstype declaration. rule 17, 28
  • the number of type variables
    • 1
    • 2
  • the number of abstype bindings
    • 2
*) abstype 'x1 t121 = C121 of 'x1 * int and 'x1 t122 = C122 of int * 'x1 with val v12 : (bool t121 * real t122) = (C121(true, 121), C122(122, 1.22)) end; abstype ('x1, 'x2) t221 = C221 of 'x1 * int * 'x2 and ('x1, 'x2) t222 = C222 of 'x2 * int * 'x1 with val v22 : ((bool, real) t221 * ((bool * real), (real * bool)) t222) = (C221 (true, 221, 22.1), C222 ((22.2, true), 222, (false, 2.22))) end; smlsharp-1.2.0/test/tests/coresml/tests/abstype005.sml0000644 000000000000000000000372312050661606023050 0ustar00rootroot0000000 0000000 (* name resolution within a abstype declaration with "withtype".
  • the number of type constructors in abstype
    • 1
    • 2
  • the number of type constructors in withtype
    • 1
    • 2
  • name bound in withtype is used in abstype.
    • no
    • yes
  • name bound in abstype is used in withtype.
    • no
    • yes
*) abstype dt11nn1 = D11nn1 withtype t11nn1 = int with val dt11nn1 = D11nn1 val t11nn1 = 1 : t11nn1 end; abstype dt11ny1 = D11ny1 withtype t11ny1 = int * dt11ny1 with val dt11ny1 = D11ny1 val t11ny1 = (1, D11ny1) : t11ny1 end; abstype dt11yn1 = D11yn1 of t11yn1 withtype t11yn1 = int with val dt11yn1 = D11yn1 1 val t11yn1 = 1 : t11yn1 end; abstype dt11yy1 = D11yy1 of t11yy1 | E11yy1 withtype t11yy1 = dt11yy1 * int with val dt11yy1 = D11yy1(E11yy1, 1) val t11yy1 = (E11yy1, 1) : t11yy1 end; abstype dt22nn1 = D22nn1 and dt22nn2 = D22nn2 withtype t22nn1 = int and t22nn2 = int * int with val dt22nn1 = D22nn1 val dt22nn2 = D22nn2 val t22nn1 = 1 : t22nn1 val t22nn2 = (2, 3) : t22nn2 end; abstype dt22ny1 = D22ny1 and dt22ny2 = D22ny2 withtype t22ny1 = dt22ny1 * int and t22ny2 = int * int * dt22ny2 with val dt22ny1 = D22ny1 val dt22ny2 = D22ny2 val t22ny1 = (D22ny1, 1) : t22ny1 val t22ny2 = (2, 3, D22ny2) : t22ny2 end; abstype dt22yn1 = D22yn1 of t22yn2 * int and dt22yn2 = D22yn2 of t22yn1 * int withtype t22yn1 = int and t22yn2 = int * int with val dt22yn1 = D22yn1 val dt22yn2 = D22yn2 val t22yn1 = 1 : t22yn1 val t22yn2 = (2, 3) : t22yn2 end; abstype dt22yy1 = D22yy1 of t22yy2 * int | E22yy1 and dt22yy2 = D22yy2 of t22yy1 * int | E22yy2 withtype t22yy1 = int * dt22yy2 and t22yy2 = int * int * dt22yy1 with val dt22yy1 = D22yy1((1, 2, E22yy1), 3) val dt22yy2 = D22yy2((2, E22yy2), 3) val t22yy1 = (4, E22yy2) : t22yy1 val t22yy2 = (5, 6, E22yy1) : t22yy2 end; smlsharp-1.2.0/test/tests/coresml/tests/abstype006.sml0000644 000000000000000000000123512050661606023045 0ustar00rootroot0000000 0000000 (* type constructor application in a abstype declaration with "withtype".
  • the number of type constructors in abstype
    • 1
  • the number of type constructors in withtype
    • 1
  • arity of type constructors in withtype
    • 1
    • 2
*) abstype dt111 = D111 of (int * int) t111 * int withtype 'a t111 = 'a * bool with val x111 = D111(((1, 2), true), 3) end; abstype dt112 = D112 of (int * int, string * string) t112 * int withtype ('a, 'b) t112 = 'a * bool * 'b with val x112 = D112(((1, 2), true, ("abc", "xyz")), 3) end; smlsharp-1.2.0/test/tests/coresml/tests/abstype007.sml0000644 000000000000000000000122612050661606023046 0ustar00rootroot0000000 0000000 (* abstype constructor application in a abstype declaration with "withtype".
  • the number of type constructors in abstype
    • 1
  • the number of type constructors in withtype
    • 1
  • arity of type constructors in abstype
    • 1
    • 2
*) abstype 'a dt111 = D111 of int * 'a withtype t111 = bool * (int * int) dt111 with val x111 : t111 = (true, D111(1, (2, 3))) end; abstype ('a,'b) dt112 = D112 of int * 'a * 'b withtype t112 = bool * (string, bool) dt112 with val x112 : t112 = (false, D112(1, "abc", true)) end; smlsharp-1.2.0/test/tests/coresml/tests/abstype008.sml0000644 000000000000000000000106412050661606023047 0ustar00rootroot0000000 0000000 (* scope of abstype.
  • check items
    • data constructor is hidden.
    • type constructor is visible.
    • type name declared in "withtype" is visible.
*) datatype dt1 = D of int; abstype at1 = D of string with val ax1 : at1 = D "a" end; val gx1 = D 1; datatype t2 = D of int; abstype t2 = D of string with val ax2 : t2 = D "b" end; val gx2 : t2 = ax2; datatype t3 = D of int; abstype at3 = D of string withtype t3 = string * at3 with val ax3 : at3 = D "c" end; val gx3 : t3 = ("c", ax3); smlsharp-1.2.0/test/tests/coresml/tests/abstype009.sml0000644 000000000000000000000126512050661606023053 0ustar00rootroot0000000 0000000 (* Entities defined in the body of abstype should hide type and data constructors defined in abstype and withtype.
  • check items
    • data constructor
    • type constructor
    • type name declared in "withtype"
*) datatype dt1 = D of int; abstype at1 = D of string with datatype t1 = D of bool val ax1 = D true end; val gx1 = D false; datatype t2 = D of int; abstype t2 = D of string with datatype t2 = E of real val ax2 : t2 = E 1.23 end; val gx2 : t2 = ax2; datatype t3 = D of int; abstype at3 = D of string withtype t3 = string * at3 with type t3 = bool * at3 val ax3 : at3 = D "c" end; val gx3 : t3 = (true, ax3); smlsharp-1.2.0/test/tests/coresml/tests/aliasType001.sml0000644 000000000000000000000126112050661606023323 0ustar00rootroot0000000 0000000 (* use of alias type defined by a type declaration.
  • occurrence of alias type
    • typed expression
  • actual type
    • atomic type
    • monomorphic function type
    • polymorphic function type
    • record type
*) type t1 = int; val x1 : t1 = 1; type t2 = int -> int; fun f21 x = x + 1; val x21 = (f21 : t2) 1; val f22 = f21 : t2 val x22 = f22 1; type 'a t3 = 'a -> ('a * 'a); fun f31 x = (x, x); val x31 = (f31 : int t3) 1; val f32 = f31 : int t3; val x32 = f32 2; type t4 = {a : int, b : string}; fun f (x : t4) = (#a x, #b x); val x4 = f {a = 1, b = "abc"}; smlsharp-1.2.0/test/tests/coresml/tests/aliasType002.sml0000644 000000000000000000000063212050661606023325 0ustar00rootroot0000000 0000000 (* use of alias type defined by a type declaration.
  • occurrence of alias type
    • datatype declaration
    • type declaration
    • exception declaration
*) type t1 = int; datatype dt1 = D of t1; val x1 = D 1; type t21 = int; type t22 = t21 * string; val x2 : t22 = (2, "abc"); type t3 = string; exception E3 of t3; val x3 = E3 "xyz"; smlsharp-1.2.0/test/tests/coresml/tests/andalso001.sml0000644 000000000000000000000032612050661606023012 0ustar00rootroot0000000 0000000 (* andalso expression.
  • result of left argument
    • true
    • false
*) exception E; val v1 = 1 = 1 andalso false; val v2 = 1 = 2 andalso raise E; smlsharp-1.2.0/test/tests/coresml/tests/andalso002.sml0000644 000000000000000000000057512050661606023021 0ustar00rootroot0000000 0000000 (* left associative of andalso.
  • the number of repeated of andalso
    • 2
    • 3
*) val v1 = (print "1"; true) andalso (print "2"; true) andalso (print "3"; true); val v2 = (print "1"; true) andalso (print "2"; true) andalso (print "3"; true) andalso (print "4"; true); smlsharp-1.2.0/test/tests/coresml/tests/andalso003.sml0000644 000000000000000000000167612050661606023025 0ustar00rootroot0000000 0000000 (* precedence of andalso and orelse
  • order of conjunctions/disjunctions
    • andalso - orelse - andalso
    • orelse - andalso - orelse
*) val v11 = (print "1"; true) andalso (print "2"; true) orelse (print "3"; true) andalso (print "4"; true); val v12 = ((print "1"; true) andalso (print "2"; true)) orelse ((print "3"; true) andalso (print "4"; true)); val v13 = (print "1"; true) andalso ((print "2"; true) orelse (print "3"; true)) andalso (print "4"; true); val v21 = (print "1"; true) orelse (print "2"; true) andalso (print "3"; true) orelse (print "4"; true); val v22 = ((print "1"; true) orelse (print "2"; true)) andalso ((print "3"; true) orelse (print "4"; true)); val v23 = (print "1"; true) orelse ((print "2"; true) andalso (print "3"; true)) orelse (print "4"; true); smlsharp-1.2.0/test/tests/coresml/tests/application001.sml0000644 000000000000000000000063512050661606023677 0ustar00rootroot0000000 0000000 (* application expression. rule 8
  • type of called function
    • monotype
  • function expression
    • global bound
    • local bound
    • function expression
*) val f1 = fn x => x + 1; val v1 = f1 1; local val f2 = fn x => x + 1 in val v2 = f2 1 end; val v3 = (fn x => if x then 1 else 2) true; smlsharp-1.2.0/test/tests/coresml/tests/BigRecord001.sml0000644 000000000000000000002013512050661606023231 0ustar00rootroot0000000 0000000 (* creation of a record block which has many fields.
  • kind of record
    • top level record
    • a record built in a function
    • an ENV block which contains free variables in a function
  • type of record
    • mono type
*) (* type rec40 = int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real; type rec80 = int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real * int * real * int * int * real; (********************) val topMono40 = ( 1,2.2,3,4,5.5,6,7.7,8,9,10.10, 11,12.12,13,14,15.15,16,17.17,18,19,20.20, 21,22.22,23,24,25.25,26,27.27,28,29,30.30, 31,32.32,33,34,35.35,36,37.37,38,39,40.40 ) : rec40; val topMono40_1 = #1 topMono40; val topMono40_10 = #10 topMono40; val topMono40_11 = #11 topMono40; val topMono40_20 = #20 topMono40; val topMono40_21 = #21 topMono40; val topMono40_30 = #30 topMono40; val topMono40_31 = #31 topMono40; val topMono40_39 = #39 topMono40; val topMono40_40 = #40 topMono40; (********************) val topMono80 = ( 1,2.2,3,4,5.5,6,7.7,8,9,10.10, 11,12.12,13,14,15.15,16,17.17,18,19,20.20, 21,22.22,23,24,25.25,26,27.27,28,29,30.30, 31,32.32,33,34,35.35,36,37.37,38,39,40.40, 41,42.42,43,44,45.45,46,47.47,48,49,50.50, 51,52.52,53,54,55.55,56,57.57,58,59,60.60, 61,62.62,63,64,65.65,66,67.67,68,69,70.70, 71,72.72,73,74,75.75,76,77.77,78,79,80.80 ) : rec80; val topMono80_1 = #1 topMono80; val topMono80_10 = #10 topMono80; val topMono80_11 = #11 topMono80; val topMono80_20 = #20 topMono80; val topMono80_21 = #21 topMono80; val topMono80_30 = #30 topMono80; val topMono80_31 = #31 topMono80; val topMono80_40 = #40 topMono80; val topMono80_41 = #41 topMono80; val topMono80_50 = #50 topMono80; val topMono80_51 = #51 topMono80; val topMono80_60 = #60 topMono80; val topMono80_61 = #61 topMono80; val topMono80_70 = #70 topMono80; val topMono80_71 = #71 topMono80; val topMono80_79 = #79 topMono80; val topMono80_80 = #80 topMono80; (********************) fun funMono40 (( x01,x02,x03,x04,x05,x06,x07,x08,x09,x10, x11,x12,x13,x14,x15,x16,x17,x18,x19,x20, x21,x22,x23,x24,x25,x26,x27,x28,x29,x30, x31,x32,x33,x34,x35,x36,x37,x38,x39,x40 ) : rec40) = let val b = ( x01,x02,x03,x04,x05,x06,x07,x08,x09,x10, x11,x12,x13,x14,x15,x16,x17,x18,x19,x20, x21,x22,x23,x24,x25,x26,x27,x28,x29,x30, x31,x32,x33,x34,x35,x36,x37,x38,x39,x40 ) : rec40 in b end; val rFunMono40_1 = #1(funMono40 topMono40); val rFunMono40_10 = #10(funMono40 topMono40); val rFunMono40_11 = #11(funMono40 topMono40); val rFunMono40_20 = #20(funMono40 topMono40); val rFunMono40_21 = #21(funMono40 topMono40); val rFunMono40_30 = #30(funMono40 topMono40); val rFunMono40_31 = #31(funMono40 topMono40); val rFunMono40_39 = #39(funMono40 topMono40); val rFunMono40_40 = #40(funMono40 topMono40); (********************) fun funMono80 (( x01,x02,x03,x04,x05,x06,x07,x08,x09,x10, x11,x12,x13,x14,x15,x16,x17,x18,x19,x20, x21,x22,x23,x24,x25,x26,x27,x28,x29,x30, x31,x32,x33,x34,x35,x36,x37,x38,x39,x40, x41,x42,x43,x44,x45,x46,x47,x48,x49,x50, x51,x52,x53,x54,x55,x56,x57,x58,x59,x60, x61,x62,x63,x64,x65,x66,x67,x68,x69,x70, x71,x72,x73,x74,x75,x76,x77,x78,x79,x80 ) : rec80) = let val b = ( x01,x02,x03,x04,x05,x06,x07,x08,x09,x10, x11,x12,x13,x14,x15,x16,x17,x18,x19,x20, x21,x22,x23,x24,x25,x26,x27,x28,x29,x30, x31,x32,x33,x34,x35,x36,x37,x38,x39,x40, x41,x42,x43,x44,x45,x46,x47,x48,x49,x50, x51,x52,x53,x54,x55,x56,x57,x58,x59,x60, x61,x62,x63,x64,x65,x66,x67,x68,x69,x70, x71,x72,x73,x74,x75,x76,x77,x78,x79,x80 ) : rec80 in b end; val rFunMono80_1 = #1(funMono80 topMono80); val rFunMono80_10 = #10(funMono80 topMono80); val rFunMono80_11 = #11(funMono80 topMono80); val rFunMono80_20 = #20(funMono80 topMono80); val rFunMono80_21 = #21(funMono80 topMono80); val rFunMono80_30 = #30(funMono80 topMono80); val rFunMono80_31 = #31(funMono80 topMono80); val rFunMono80_40 = #40(funMono80 topMono80); val rFunMono80_41 = #41(funMono80 topMono80); val rFunMono80_50 = #50(funMono80 topMono80); val rFunMono80_51 = #51(funMono80 topMono80); val rFunMono80_60 = #60(funMono80 topMono80); val rFunMono80_61 = #61(funMono80 topMono80); val rFunMono80_70 = #70(funMono80 topMono80); val rFunMono80_71 = #71(funMono80 topMono80); val rFunMono80_79 = #79(funMono80 topMono80); val rFunMono80_80 = #80(funMono80 topMono80); (********************) fun ENVMono40 (( x01,x02,x03,x04,x05,x06,x07,x08,x09,x10, x11,x12,x13,x14,x15,x16,x17,x18,x19,x20, x21,x22,x23,x24,x25,x26,x27,x28,x29,x30, x31,x32,x33,x34,x35,x36,x37,x38,x39,x40 ) : rec40) = let fun inner x = ( x01,x02,x03,x04,x05,x06,x07,x08,x09,x10, x11,x12,x13,x14,x15,x16,x17,x18,x19,x20, x21,x22,x23,x24,x25,x26,x27,x28,x29,x30, x31,x32,x33,x34,x35,x36,x37,x38,x39,x40 ) : rec40 in inner end; val rENVMono40_1 = #1(ENVMono40 topMono40 "1"); val rENVMono40_10 = #10(ENVMono40 topMono40 "10"); val rENVMono40_11 = #11(ENVMono40 topMono40 "11"); val rENVMono40_20 = #20(ENVMono40 topMono40 "20"); val rENVMono40_21 = #21(ENVMono40 topMono40 "21"); val rENVMono40_30 = #30(ENVMono40 topMono40 "30"); val rENVMono40_31 = #31(ENVMono40 topMono40 "31"); val rENVMono40_39 = #39(ENVMono40 topMono40 "39"); val rENVMono40_40 = #40(ENVMono40 topMono40 "40"); (********************) fun ENVMono80 (( x01,x02,x03,x04,x05,x06,x07,x08,x09,x10, x11,x12,x13,x14,x15,x16,x17,x18,x19,x20, x21,x22,x23,x24,x25,x26,x27,x28,x29,x30, x31,x32,x33,x34,x35,x36,x37,x38,x39,x40, x41,x42,x43,x44,x45,x46,x47,x48,x49,x50, x51,x52,x53,x54,x55,x56,x57,x58,x59,x60, x61,x62,x63,x64,x65,x66,x67,x68,x69,x70, x71,x72,x73,x74,x75,x76,x77,x78,x79,x80 ) : rec80) = let fun inner x = ( x01,x02,x03,x04,x05,x06,x07,x08,x09,x10, x11,x12,x13,x14,x15,x16,x17,x18,x19,x20, x21,x22,x23,x24,x25,x26,x27,x28,x29,x30, x31,x32,x33,x34,x35,x36,x37,x38,x39,x40, x41,x42,x43,x44,x45,x46,x47,x48,x49,x50, x51,x52,x53,x54,x55,x56,x57,x58,x59,x60, x61,x62,x63,x64,x65,x66,x67,x68,x69,x70, x71,x72,x73,x74,x75,x76,x77,x78,x79,x80 ) : rec80 in inner end; val rENVMono80_1 = #1(ENVMono80 topMono80 "1"); val rENVMono80_10 = #10(ENVMono80 topMono80 "10"); val rENVMono80_11 = #11(ENVMono80 topMono80 "11"); val rENVMono80_20 = #20(ENVMono80 topMono80 "20"); val rENVMono80_21 = #21(ENVMono80 topMono80 "21"); val rENVMono80_30 = #30(ENVMono80 topMono80 "30"); val rENVMono80_31 = #31(ENVMono80 topMono80 "31"); val rENVMono80_40 = #40(ENVMono80 topMono80 "40"); val rENVMono80_41 = #41(ENVMono80 topMono80 "41"); val rENVMono80_50 = #50(ENVMono80 topMono80 "50"); val rENVMono80_51 = #51(ENVMono80 topMono80 "51"); val rENVMono80_60 = #60(ENVMono80 topMono80 "60"); val rENVMono80_61 = #61(ENVMono80 topMono80 "61"); val rENVMono80_70 = #70(ENVMono80 topMono80 "70"); val rENVMono80_71 = #71(ENVMono80 topMono80 "71"); val rENVMono80_79 = #79(ENVMono80 topMono80 "79"); val rENVMono80_80 = #80(ENVMono80 topMono80 "80"); *)smlsharp-1.2.0/test/tests/coresml/tests/BigRecord002.sml0000644 000000000000000000003356212050661606023242 0ustar00rootroot0000000 0000000 (* creation of a record block which has many fields.
  • kind of record
    • top level record
    • a record built in a function
    • an ENV block which contains free variables in a function
  • type of record
    • poly type
  • the number of type variables which are used to type some local variables as v : 'a.
    • 32 (safe case)
    • 33 (error case)
*) (********************) val topPoly40 = ( 1,2.2,3,4,5.5,6,7.7,8,9,10.10, 11,12.12,13,14,15.15,16,17.17,18,19,20.20, 21,22.22,23,24,25.25,26,27.27,28,29,30.30, 31,32.32,33,34,35.35,36,37.37,38,39,40.40 ); val topPoly40_1 = #1 topPoly40; val topPoly40_10 = #10 topPoly40; val topPoly40_11 = #11 topPoly40; val topPoly40_20 = #20 topPoly40; val topPoly40_21 = #21 topPoly40; val topPoly40_30 = #30 topPoly40; val topPoly40_31 = #31 topPoly40; val topPoly40_39 = #39 topPoly40; val topPoly40_40 = #40 topPoly40; (********************) val topPoly80 = ( 1,2.2,3,4,5.5,6,7.7,8,9,10.10, 11,12.12,13,14,15.15,16,17.17,18,19,20.20, 21,22.22,23,24,25.25,26,27.27,28,29,30.30, 31,32.32,33,34,35.35,36,37.37,38,39,40.40, 41,42.42,43,44,45.45,46,47.47,48,49,50.50, 51,52.52,53,54,55.55,56,57.57,58,59,60.60, 61,62.62,63,64,65.65,66,67.67,68,69,70.70, 71,72.72,73,74,75.75,76,77.77,78,79,80.80 ); val topPoly80_1 = #1 topPoly80; val topPoly80_10 = #10 topPoly80; val topPoly80_11 = #11 topPoly80; val topPoly80_20 = #20 topPoly80; val topPoly80_21 = #21 topPoly80; val topPoly80_30 = #30 topPoly80; val topPoly80_31 = #31 topPoly80; val topPoly80_40 = #40 topPoly80; val topPoly80_41 = #41 topPoly80; val topPoly80_50 = #50 topPoly80; val topPoly80_51 = #51 topPoly80; val topPoly80_60 = #60 topPoly80; val topPoly80_61 = #61 topPoly80; val topPoly80_70 = #70 topPoly80; val topPoly80_71 = #71 topPoly80; val topPoly80_79 = #79 topPoly80; val topPoly80_80 = #80 topPoly80; (********************) fun funPoly40_tv32 ( x01,x02,x03,x04,x05,x06,x07,x08,x09,x10, x11,x12,x13,x14,x15,x16,x17,x18,x19,x20, x21,x22,x23,x24,x25,x26,x27,x28,x29,x30, x31,x32,x33,x34,x35,x36,x37,x38,x39,x40 ) = let val b = ( x01,x02,x03,x04,x05,x06,x07,x08,x09,x10, x11,x12,x13,x14,x15,x16,x17,x18,x19,x20, x21,x22,x23,x24,x25,x26,x27,x28,x29,x30, x31,x32, x13,x14,x15,x16,x17,x18,x19,x20 ) in b end; val rFunPoly40_tv32_1 = #1(funPoly40_tv32 topPoly40); val rFunPoly40_tv32_10 = #10(funPoly40_tv32 topPoly40); val rFunPoly40_tv32_11 = #11(funPoly40_tv32 topPoly40); val rFunPoly40_tv32_20 = #20(funPoly40_tv32 topPoly40); val rFunPoly40_tv32_21 = #21(funPoly40_tv32 topPoly40); val rFunPoly40_tv32_30 = #30(funPoly40_tv32 topPoly40); val rFunPoly40_tv32_31 = #31(funPoly40_tv32 topPoly40); val rFunPoly40_tv32_39 = #39(funPoly40_tv32 topPoly40); val rFunPoly40_tv32_40 = #40(funPoly40_tv32 topPoly40); (********************) fun funPoly40_tv33 ( x01,x02,x03,x04,x05,x06,x07,x08,x09,x10, x11,x12,x13,x14,x15,x16,x17,x18,x19,x20, x21,x22,x23,x24,x25,x26,x27,x28,x29,x30, x31,x32,x33,x34,x35,x36,x37,x38,x39,x40 ) = let val b = ( x01,x02,x03,x04,x05,x06,x07,x08,x09,x10, x11,x12,x13,x14,x15,x16,x17,x18,x19,x20, x21,x22,x23,x24,x25,x26,x27,x28,x29,x30, x31,x32,x33, x14,x15,x16,x17,x18,x19,x20 ) in b end; val rFunPoly40_tv33_1 = #1(funPoly40_tv33 topPoly40); val rFunPoly40_tv33_10 = #10(funPoly40_tv33 topPoly40); val rFunPoly40_tv33_11 = #11(funPoly40_tv33 topPoly40); val rFunPoly40_tv33_20 = #20(funPoly40_tv33 topPoly40); val rFunPoly40_tv33_21 = #21(funPoly40_tv33 topPoly40); val rFunPoly40_tv33_30 = #30(funPoly40_tv33 topPoly40); val rFunPoly40_tv33_31 = #31(funPoly40_tv33 topPoly40); val rFunPoly40_tv33_39 = #39(funPoly40_tv33 topPoly40); val rFunPoly40_tv33_40 = #40(funPoly40_tv33 topPoly40); (********************) fun funPoly80_tv32 ( x01,x02,x03,x04,x05,x06,x07,x08,x09,x10, x11,x12,x13,x14,x15,x16,x17,x18,x19,x20, x21,x22,x23,x24,x25,x26,x27,x28,x29,x30, x31,x32,x33,x34,x35,x36,x37,x38,x39,x40, x41,x42,x43,x44,x45,x46,x47,x48,x49,x50, x51,x52,x53,x54,x55,x56,x57,x58,x59,x60, x61,x62,x63,x64,x65,x66,x67,x68,x69,x70, x71,x72,x73,x74,x75,x76,x77,x78,x79,x80 ) = let val b = ( x01,x02,x03,x04,x05,x06,x07,x08,x09,x10, x11,x12,x13,x14,x15,x16,x17,x18,x19,x20, x21,x22,x23,x24,x25,x26,x27,x28,x29,x30, x31,x32, x13,x14,x15,x16,x17,x18,x19,x20, x01,x02,x03,x04,x05,x06,x07,x08,x09,x10, x11,x12,x13,x14,x15,x16,x17,x18,x19,x20, x21,x22,x23,x24,x25,x26,x27,x28,x29,x30, x31,x32, x13,x14,x15,x16,x17,x18,x19,x20 ) in b end; val rFunPoly80_tv32_1 = #1(funPoly80_tv32 topPoly80); val rFunPoly80_tv32_10 = #10(funPoly80_tv32 topPoly80); val rFunPoly80_tv32_11 = #11(funPoly80_tv32 topPoly80); val rFunPoly80_tv32_20 = #20(funPoly80_tv32 topPoly80); val rFunPoly80_tv32_21 = #21(funPoly80_tv32 topPoly80); val rFunPoly80_tv32_30 = #30(funPoly80_tv32 topPoly80); val rFunPoly80_tv32_31 = #31(funPoly80_tv32 topPoly80); val rFunPoly80_tv32_40 = #40(funPoly80_tv32 topPoly80); val rFunPoly80_tv32_41 = #41(funPoly80_tv32 topPoly80); val rFunPoly80_tv32_50 = #50(funPoly80_tv32 topPoly80); val rFunPoly80_tv32_51 = #51(funPoly80_tv32 topPoly80); val rFunPoly80_tv32_60 = #60(funPoly80_tv32 topPoly80); val rFunPoly80_tv32_61 = #61(funPoly80_tv32 topPoly80); val rFunPoly80_tv32_70 = #70(funPoly80_tv32 topPoly80); val rFunPoly80_tv32_71 = #71(funPoly80_tv32 topPoly80); val rFunPoly80_tv32_79 = #79(funPoly80_tv32 topPoly80); val rFunPoly80_tv32_80 = #80(funPoly80_tv32 topPoly80); (********************) fun funPoly80_tv33 ( x01,x02,x03,x04,x05,x06,x07,x08,x09,x10, x11,x12,x13,x14,x15,x16,x17,x18,x19,x20, x21,x22,x23,x24,x25,x26,x27,x28,x29,x30, x31,x32,x33,x34,x35,x36,x37,x38,x39,x40, x41,x42,x43,x44,x45,x46,x47,x48,x49,x50, x51,x52,x53,x54,x55,x56,x57,x58,x59,x60, x61,x62,x63,x64,x65,x66,x67,x68,x69,x70, x71,x72,x73,x74,x75,x76,x77,x78,x79,x80 ) = let val b = ( x01,x02,x03,x04,x05,x06,x07,x08,x09,x10, x11,x12,x13,x14,x15,x16,x17,x18,x19,x20, x21,x22,x23,x24,x25,x26,x27,x28,x29,x30, x31,x32,x33, x14,x15,x16,x17,x18,x19,x20, x01,x02,x03,x04,x05,x06,x07,x08,x09,x10, x11,x12,x13,x14,x15,x16,x17,x18,x19,x20, x21,x22,x23,x24,x25,x26,x27,x28,x29,x30, x31,x32,x33, x14,x15,x16,x17,x18,x19,x20 ) in b end; val rFunPoly80_tv33_1 = #1(funPoly80_tv33 topPoly80); val rFunPoly80_tv33_10 = #10(funPoly80_tv33 topPoly80); val rFunPoly80_tv33_11 = #11(funPoly80_tv33 topPoly80); val rFunPoly80_tv33_20 = #20(funPoly80_tv33 topPoly80); val rFunPoly80_tv33_21 = #21(funPoly80_tv33 topPoly80); val rFunPoly80_tv33_30 = #30(funPoly80_tv33 topPoly80); val rFunPoly80_tv33_31 = #31(funPoly80_tv33 topPoly80); val rFunPoly80_tv33_40 = #40(funPoly80_tv33 topPoly80); val rFunPoly80_tv33_41 = #41(funPoly80_tv33 topPoly80); val rFunPoly80_tv33_50 = #50(funPoly80_tv33 topPoly80); val rFunPoly80_tv33_51 = #51(funPoly80_tv33 topPoly80); val rFunPoly80_tv33_60 = #60(funPoly80_tv33 topPoly80); val rFunPoly80_tv33_61 = #61(funPoly80_tv33 topPoly80); val rFunPoly80_tv33_70 = #70(funPoly80_tv33 topPoly80); val rFunPoly80_tv33_71 = #71(funPoly80_tv33 topPoly80); val rFunPoly80_tv33_79 = #79(funPoly80_tv33 topPoly80); val rFunPoly80_tv33_80 = #80(funPoly80_tv33 topPoly80); (********************) fun ENVPoly40_tv32 ( x01,x02,x03,x04,x05,x06,x07,x08,x09,x10, x11,x12,x13,x14,x15,x16,x17,x18,x19,x20, x21,x22,x23,x24,x25,x26,x27,x28,x29,x30, x31,x32,x33,x34,x35,x36,x37,x38,x39,x40 ) = let fun inner (x : string) = ( x01,x02,x03,x04,x05,x06,x07,x08,x09,x10, x11,x12,x13,x14,x15,x16,x17,x18,x19,x20, x21,x22,x23,x24,x25,x26,x27,x28,x29,x30, x31,x32, x13,x14,x15,x16,x17,x18,x19,x20 ) in inner end; val rENVPoly40_tv32_1 = #1(ENVPoly40_tv32 topPoly40 "1"); val rENVPoly40_tv32_10 = #10(ENVPoly40_tv32 topPoly40 "10"); val rENVPoly40_tv32_11 = #11(ENVPoly40_tv32 topPoly40 "11"); val rENVPoly40_tv32_20 = #20(ENVPoly40_tv32 topPoly40 "20"); val rENVPoly40_tv32_21 = #21(ENVPoly40_tv32 topPoly40 "21"); val rENVPoly40_tv32_30 = #30(ENVPoly40_tv32 topPoly40 "30"); val rENVPoly40_tv32_31 = #31(ENVPoly40_tv32 topPoly40 "31"); val rENVPoly40_tv32_39 = #39(ENVPoly40_tv32 topPoly40 "39"); val rENVPoly40_tv32_40 = #40(ENVPoly40_tv32 topPoly40 "40"); (********************) fun ENVPoly40_tv33 ( x01,x02,x03,x04,x05,x06,x07,x08,x09,x10, x11,x12,x13,x14,x15,x16,x17,x18,x19,x20, x21,x22,x23,x24,x25,x26,x27,x28,x29,x30, x31,x32,x33,x34,x35,x36,x37,x38,x39,x40 ) = let fun inner (x : string) = ( x01,x02,x03,x04,x05,x06,x07,x08,x09,x10, x11,x12,x13,x14,x15,x16,x17,x18,x19,x20, x21,x22,x23,x24,x25,x26,x27,x28,x29,x30, x31,x32,x33, x14,x15,x16,x17,x18,x19,x20 ) in inner end; val rENVPoly40_tv33_1 = #1(ENVPoly40_tv33 topPoly40 "1"); val rENVPoly40_tv33_10 = #10(ENVPoly40_tv33 topPoly40 "10"); val rENVPoly40_tv33_11 = #11(ENVPoly40_tv33 topPoly40 "11"); val rENVPoly40_tv33_20 = #20(ENVPoly40_tv33 topPoly40 "20"); val rENVPoly40_tv33_21 = #21(ENVPoly40_tv33 topPoly40 "21"); val rENVPoly40_tv33_30 = #30(ENVPoly40_tv33 topPoly40 "30"); val rENVPoly40_tv33_31 = #31(ENVPoly40_tv33 topPoly40 "31"); val rENVPoly40_tv33_39 = #39(ENVPoly40_tv33 topPoly40 "39"); val rENVPoly40_tv33_40 = #40(ENVPoly40_tv33 topPoly40 "40"); (********************) fun ENVPoly80_tv32 ( x01,x02,x03,x04,x05,x06,x07,x08,x09,x10, x11,x12,x13,x14,x15,x16,x17,x18,x19,x20, x21,x22,x23,x24,x25,x26,x27,x28,x29,x30, x31,x32,x33,x34,x35,x36,x37,x38,x39,x40, x41,x42,x43,x44,x45,x46,x47,x48,x49,x50, x51,x52,x53,x54,x55,x56,x57,x58,x59,x60, x61,x62,x63,x64,x65,x66,x67,x68,x69,x70, x71,x72,x73,x74,x75,x76,x77,x78,x79,x80 ) = let fun inner (x : string) = ( x01,x02,x03,x04,x05,x06,x07,x08,x09,x10, x11,x12,x13,x14,x15,x16,x17,x18,x19,x20, x21,x22,x23,x24,x25,x26,x27,x28,x29,x30, x31,x32, x13,x14,x15,x16,x17,x18,x19,x20, x01,x02,x03,x04,x05,x06,x07,x08,x09,x10, x11,x12,x13,x14,x15,x16,x17,x18,x19,x20, x21,x22,x23,x24,x25,x26,x27,x28,x29,x30, x31,x32, x13,x14,x15,x16,x17,x18,x19,x20 ) in inner end; val rENVPoly80_tv32_1 = #1(ENVPoly80_tv32 topPoly80 "1"); val rENVPoly80_tv32_10 = #10(ENVPoly80_tv32 topPoly80 "10"); val rENVPoly80_tv32_11 = #11(ENVPoly80_tv32 topPoly80 "11"); val rENVPoly80_tv32_20 = #20(ENVPoly80_tv32 topPoly80 "20"); val rENVPoly80_tv32_21 = #21(ENVPoly80_tv32 topPoly80 "21"); val rENVPoly80_tv32_30 = #30(ENVPoly80_tv32 topPoly80 "30"); val rENVPoly80_tv32_31 = #31(ENVPoly80_tv32 topPoly80 "31"); val rENVPoly80_tv32_40 = #40(ENVPoly80_tv32 topPoly80 "40"); val rENVPoly80_tv32_41 = #41(ENVPoly80_tv32 topPoly80 "41"); val rENVPoly80_tv32_50 = #50(ENVPoly80_tv32 topPoly80 "50"); val rENVPoly80_tv32_51 = #51(ENVPoly80_tv32 topPoly80 "51"); val rENVPoly80_tv32_60 = #60(ENVPoly80_tv32 topPoly80 "60"); val rENVPoly80_tv32_61 = #61(ENVPoly80_tv32 topPoly80 "61"); val rENVPoly80_tv32_70 = #70(ENVPoly80_tv32 topPoly80 "70"); val rENVPoly80_tv32_71 = #71(ENVPoly80_tv32 topPoly80 "71"); val rENVPoly80_tv32_79 = #79(ENVPoly80_tv32 topPoly80 "79"); val rENVPoly80_tv32_80 = #80(ENVPoly80_tv32 topPoly80 "80"); (********************) fun ENVPoly80_tv33 ( x01,x02,x03,x04,x05,x06,x07,x08,x09,x10, x11,x12,x13,x14,x15,x16,x17,x18,x19,x20, x21,x22,x23,x24,x25,x26,x27,x28,x29,x30, x31,x32,x33,x34,x35,x36,x37,x38,x39,x40, x41,x42,x43,x44,x45,x46,x47,x48,x49,x50, x51,x52,x53,x54,x55,x56,x57,x58,x59,x60, x61,x62,x63,x64,x65,x66,x67,x68,x69,x70, x71,x72,x73,x74,x75,x76,x77,x78,x79,x80 ) = let fun inner (x : string) = ( x01,x02,x03,x04,x05,x06,x07,x08,x09,x10, x11,x12,x13,x14,x15,x16,x17,x18,x19,x20, x21,x22,x23,x24,x25,x26,x27,x28,x29,x30, x31,x32,x33, x14,x15,x16,x17,x18,x19,x20, x01,x02,x03,x04,x05,x06,x07,x08,x09,x10, x11,x12,x13,x14,x15,x16,x17,x18,x19,x20, x21,x22,x23,x24,x25,x26,x27,x28,x29,x30, x31,x32,x33, x14,x15,x16,x17,x18,x19,x20 ) in inner end; val rENVPoly80_tv33_1 = #1(ENVPoly80_tv33 topPoly80 "1"); val rENVPoly80_tv33_10 = #10(ENVPoly80_tv33 topPoly80 "10"); val rENVPoly80_tv33_11 = #11(ENVPoly80_tv33 topPoly80 "11"); val rENVPoly80_tv33_20 = #20(ENVPoly80_tv33 topPoly80 "20"); val rENVPoly80_tv33_21 = #21(ENVPoly80_tv33 topPoly80 "21"); val rENVPoly80_tv33_30 = #30(ENVPoly80_tv33 topPoly80 "30"); val rENVPoly80_tv33_31 = #31(ENVPoly80_tv33 topPoly80 "31"); val rENVPoly80_tv33_40 = #40(ENVPoly80_tv33 topPoly80 "40"); val rENVPoly80_tv33_41 = #41(ENVPoly80_tv33 topPoly80 "41"); val rENVPoly80_tv33_50 = #50(ENVPoly80_tv33 topPoly80 "50"); val rENVPoly80_tv33_51 = #51(ENVPoly80_tv33 topPoly80 "51"); val rENVPoly80_tv33_60 = #60(ENVPoly80_tv33 topPoly80 "60"); val rENVPoly80_tv33_61 = #61(ENVPoly80_tv33 topPoly80 "61"); val rENVPoly80_tv33_70 = #70(ENVPoly80_tv33 topPoly80 "70"); val rENVPoly80_tv33_71 = #71(ENVPoly80_tv33 topPoly80 "71"); val rENVPoly80_tv33_79 = #79(ENVPoly80_tv33 topPoly80 "79"); val rENVPoly80_tv33_80 = #80(ENVPoly80_tv33 topPoly80 "80"); smlsharp-1.2.0/test/tests/coresml/tests/bindReservedName001.sml0000644 000000000000000000000107312050661606024606 0ustar00rootroot0000000 0000000 (* Reserved names may not be bound by constructor binding.
  • binding
    • data constructor bind
    • exception constructor bind
  • reserved name
    • true
    • false
    • nil
    • ::
    • ref
    • it
*) datatype dt = true; datatype dt = false; datatype dt = nil; datatype dt = ::; datatype dt = ref; datatype dt = it; exception true; exception false of int; exception nil; exception ::; exception ref; exception it; smlsharp-1.2.0/test/tests/coresml/tests/bindReservedName002.sml0000644 000000000000000000000175012050661606024611 0ustar00rootroot0000000 0000000 (* Reserved names may not be bound by id in pattern "id < : ty > < as pat >" in val binding.
  • optinal type annotation
    • no
    • yes
  • optinal layered pattern
    • no
    • yes
  • reserved name
    • true
    • false
    • nil
    • ::
    • ref
*) val true = true; val false = false; val nil = nil; val op :: = op ::; val ref = ref; val true : bool = true; val false : bool = false; val nil : int list = nil; val op :: : int * int list -> int list = fn (x, y) => x :: y; val ref : int -> int ref = fn x => ref x; val true as x = true; val false as x = false; val nil as x = nil; val op :: as x = op ::; val ref as x = ref; val true : bool as x = true; val false : bool as x = false; val nil : int list as x = nil; val op :: : int * int list -> int list as x = op ::; val ref : int -> int ref as x = ref; smlsharp-1.2.0/test/tests/coresml/tests/bindReservedName003.sml0000644 000000000000000000000204112050661606024604 0ustar00rootroot0000000 0000000 (* Reserved names may not be bound by id in pattern row of abbreviated form "label < : ty> < as pat >" in val binding.
  • optinal type annotation
    • no
    • yes
  • optinal layered pattern
    • no
    • yes
  • reserved name
    • true
    • false
    • nil
    • ::
    • ref
*) val {true} = {true = 1}; val {false} = {false = 1}; val {nil} = {nil = 1}; val {::} = {:: = 1}; val {ref} = {ref = 1}; val {true : int} = {true = 1}; val {false : int} = {false = 1}; val {nil : int} = {nil = 1}; val {:: : int} = {:: = 1}; val {ref : int} = {ref = 1}; val {true as x} = {true = 1}; val {false as x} = {false = 1}; val {nil as x} = {nil = 1}; val {:: as x} = {:: = 1}; val {ref as x} = {ref = 1}; val {true : int as x} = {true = 1}; val {false : int as x} = {fasle = 1}; val {nil : int as x} = {nil = 1}; val {:: : int as x} = {:: = 1}; val {ref : int as x} = {ref = 1}; smlsharp-1.2.0/test/tests/coresml/tests/case001.sml0000644 000000000000000000000406512050661606022310 0ustar00rootroot0000000 0000000 (* case expression whose target is base type.
  • type of target
    • int
    • word
    • char
    • string
  • target expression
    • constant
    • variable
    • other expression
*) (*****************************************************************************) val case_intconst1 = case 1 of 0 => false | 1 => true | 2 => false | x => false; local val int1 = 1 in val case_intvar = case int1 of 0 => false | 1 => true | 2 => false | x => false end; local val int1 = 1 in val case_intexp = case int1 + 1 of 1 => false | 2 => true | 3 => false | x => false end; (*****************************************************************************) val case_wordconst1 = case 0w1 of 0w0 => false | 0w1 => true | 0w2 => false | x => false; local val word1 = 0w1 in val case_wordvar = case word1 of 0w0 => false | 0w1 => true | 0w2 => false | x => false end; local val word1 = 0w1 in val case_wordexp = case word1 + 0w1 of 0w1 => false | 0w2 => true | 0w3 => false | x => false end; (*****************************************************************************) val case_charconst1 = case #"a" of #"z" => false | #"a" => true | #"b" => false | x => false; local val char1 = #"a" in val case_charvar = case char1 of #"z" => false | #"a" => true | #"b" => false | x => false end; local val f = fn x => #"b" in val case_charexp = case f #"a" of #"a" => false | #"b" => true | #"c" => false | x => false end; (*****************************************************************************) val case_stringconst1 = case "a" of "z" => false | "a" => true | "b" => false | x => false; local val string1 = "a" in val case_stringvar = case string1 of "z" => false | "a" => true | "b" => false | x => false end; local val f = fn x => "b" in val case_stringexp = case f "a" of "a" => false | "b" => true | "c" => false | x => false end; (*****************************************************************************) smlsharp-1.2.0/test/tests/coresml/tests/case002.sml0000644 000000000000000000000216412050661606022307 0ustar00rootroot0000000 0000000 (* case expression whose rule have only atom pattern.
  • pattern
    • a wild pattern only
    • a variable pattern only
    • a constant pattern only
    • a constant pattern and variable (= default) pattern
    • two constant patterns and variable (= default) pattern
    • a typed pattern
    • a layered "AS" pattern
    • a typed and layered pattern
*) (*****************************************************************************) fun f x = x; val case_wild1 = case (f 1) of _ => true; val case_var1 = case (f 1) of x => true; val case_const1 = case (f 1) of 1 => true | x => false; val case_const2 = case (f 1) of 0 => false | 1 => true | x => false; val case_const3 = case (f 1) of 0 => false | 1 => true | 2 => false | x => false; val case_typed1 = case (f 1) of 1 : int => true | x => false; val case_layered1 = case (f 1) of x as 1 => true | x => false; val case_layeredtyped1 = case (f 1) of x as (1 : int) => true | x => false; val case_typedlayered1 = case (f 1) of (x as 1) : int => true | x => false; smlsharp-1.2.0/test/tests/coresml/tests/constants001.sml0000644 000000000000000000000110512050661606023401 0ustar00rootroot0000000 0000000 (* constant expressions.
  • type of contents
    • int
    • real
    • word
    • char
    • string
*) val plus_int = 1; val minus_int = ~1; val zero_int = 0; val plus_real = 1.1; val minus_real = ~1.1; val zero_real = 0.0; val plus_word = 0w1; val zero_word = 0w0; val plus_word16 = 0wxF; val zero_word16 = 0wx0; val char1 = #"a"; val char2 = #"\n"; val char3 = #"\r"; val char4 = #"\t"; val str1 = ""; val str2 = "a"; val str3 = "ab"; val str4 = "\n"; val str5 = "\r"; val str6 = "\t"; smlsharp-1.2.0/test/tests/coresml/tests/constants002.sml0000644 000000000000000000000427612050661606023416 0ustar00rootroot0000000 0000000 (* character constants *) val alert = (#"\a", "\a"); val backspace = (#"\b", "\b"); val horizontal_tab = (#"\t", "\t"); val newline = (#"\n", "\n"); val vertical_tab = (#"\v", "\v"); val form_feed = (#"\f", "\f"); val carriage_return = (#"\r", "\r"); (* The below is generated by the following code. fun f num = let val encoded = Char.toString(Char.chr num) in "val ctrl" ^ (Int.toString num) ^ " = (#\"" ^ encoded ^ "\", \"" ^ encoded ^ "\");\n" end; List.tabulate (32, fn num => print (f num)); *) val ctrl0 = (#"\^@", "\^@"); val ctrl1 = (#"\^A", "\^A"); val ctrl2 = (#"\^B", "\^B"); val ctrl3 = (#"\^C", "\^C"); val ctrl4 = (#"\^D", "\^D"); val ctrl5 = (#"\^E", "\^E"); val ctrl6 = (#"\^F", "\^F"); val ctrl7 = (#"\^G", "\^G"); val ctrl8 = (#"\^H", "\^H"); val ctrl9 = (#"\^I", "\^I"); val ctrl10 = (#"\^J", "\^J"); val ctrl11 = (#"\^K", "\^K"); val ctrl12 = (#"\^L", "\^L"); val ctrl13 = (#"\^M", "\^M"); val ctrl14 = (#"\^N", "\^N"); val ctrl15 = (#"\^O", "\^O"); val ctrl16 = (#"\^P", "\^P"); val ctrl17 = (#"\^Q", "\^Q"); val ctrl18 = (#"\^R", "\^R"); val ctrl19 = (#"\^S", "\^S"); val ctrl20 = (#"\^T", "\^T"); val ctrl21 = (#"\^U", "\^U"); val ctrl22 = (#"\^V", "\^V"); val ctrl23 = (#"\^W", "\^W"); val ctrl24 = (#"\^X", "\^X"); val ctrl25 = (#"\^Y", "\^Y"); val ctrl26 = (#"\^Z", "\^Z"); val ctrl27 = (#"\^[", "\^["); val ctrl28 = (#"\^\", "\^\"); val ctrl29 = (#"\^]", "\^]"); val ctrl30 = (#"\^^", "\^^"); val ctrl31 = (#"\^_", "\^_"); val dec000 = (#"\000", "\000") = (#"\^@", "\^@"); val dec032 = (#"\032", "\032") = (#" ", " "); val dec064 = (#"\064", "\064") = (#"@", "@"); val dec096 = (#"\096", "\096") = (#"`", "`"); val hex0000 = (#"\u0000", "\u0000") = (#"\^@", "\^@"); val hex0020 = (#"\u0020", "\u0020") = (#" ", " "); val hex0040 = (#"\u0040", "\u0040") = (#"@", "@"); val hex0060 = (#"\u0060", "\u0060") = (#"`", "`"); val hex00FF = (#"\u00FF", "\u00FF") = (#"\255", "\255"); val doubleQuote = (#"\"", "\"") = (#"\034", "\034"); val backSlash = (#"\\", "\\") = (#"\092", "\092"); val multiBySpace = "abc\ \def" = "abcdef"; val multiByTab = "abc\ \def" = "abcdef"; val multiByNewline = "abc\ \def" = "abcdef"; val multiByFormfeed = "abc\ \def" = "abcdef"; smlsharp-1.2.0/test/tests/coresml/tests/constructedType001.sml0000644 000000000000000000000051712050661606024572 0ustar00rootroot0000000 0000000 (* type construction. rule 46
  • the number of type parameters
    • 0
    • 1
    • 2
*) type t1 = bool; val v1 : t1 = true; type 'a t2 = 'a * bool; val v2 : int t2 = (2, false); type ('a, 'b) t3 = 'a * 'b * bool; val v3 : (int, string) t3 = (3, "three", true); smlsharp-1.2.0/test/tests/coresml/tests/constructedType002.sml0000644 000000000000000000000135412050661606024573 0ustar00rootroot0000000 0000000 (* type construction. rule 46
  • applied type expression
    • type variable
    • record type
    • base type
    • applied type constructor
    • mono function type
    • poly function type
    • parenthetic type
*) type 'a t = 'a * bool; type 'a t1 = ('a * bool) t; val v1 : int t1 = ((1, true), false); type t2 = {x : int} t; val v2 : t2 = ({x = 2}, false); type t3 = int t; val v3 : t3 = (3, true); type t4 = (int t) t; val v4 : t4 = ((4, true), false); type t5 = (int -> int) t; val v5 : t5 = (fn x => x + 1, true); type 'a t6 = ('a -> 'a) t; val v6 : int t6 = (fn x => x + 1, true); type t7 = (int) t; val v7 : t7 = (7, false); smlsharp-1.2.0/test/tests/coresml/tests/constructorApplication001.sml0000644 000000000000000000000277612050661606026155 0ustar00rootroot0000000 0000000 (* constructor application expression with various argument. rule 8
  • the number of type constructor in a datatype declaration.
    • 1
  • the number of data constructor in a type constructor
    • 1
  • type of constructor
    • monotype
    • polytype
  • argument expression
    • int
    • real
    • word
    • char
    • string
    • unit
    • record
    • another constructor application
    • function
*) datatype t = D; datatype m_int = M_INT of int; val m_int = M_INT 1; datatype m_real = M_REAL of real; val m_real = M_REAL 1.23; datatype m_word = M_WORD of word; val m_word = M_WORD 0w3; datatype m_char = M_CHAR of char; val m_char = M_CHAR #"a"; datatype m_string = M_STRING of string; val m_string = M_STRING "abc"; datatype m_unit = M_UNIT of unit; val m_unit = M_UNIT (); datatype m_record = M_RECORD of {x : int}; val m_record = M_RECORD {x = 999}; datatype m_constructed = M_CONSTRUCTED of t; val m_constructed = M_CONSTRUCTED D; datatype m_function = M_FUNCTION of int -> int; val m_function = M_FUNCTION(fn x => x + 1); datatype 'a p = P of 'a val p_int = P 1; val p_real = P 1.23; val p_word = P 0w3; val p_char = P #"a"; val p_string = P "abc"; val p_unit = P (); val p_record = P {x = 111}; val p_constructed = P D; val p_function = P (fn x => x); smlsharp-1.2.0/test/tests/coresml/tests/datatype001.sml0000644 000000000000000000000076612050661606023214 0ustar00rootroot0000000 0000000 (* datatype declaration. rule 17, 28
  • the number of type variables
    • 0
    • 1
    • 2
    • 2, but one of them is not used in body
*) datatype t1 = C1 of int; val v1 = C1 1; datatype 'x t2 = C2 of 'x * int; val v2 : bool t2 = C2 (true, 2); datatype ('x, 'y) t3 = C3 of {a : 'x, b : 'y}; val v3 : (int, bool) t3 = C3 {a = 3, b = false}; datatype ('x, 'y) t4 = C4 of {a : 'x}; val v4 : (int, bool) t4 = C4 {a = 3}; smlsharp-1.2.0/test/tests/coresml/tests/datatype002.sml0000644 000000000000000000000065012050661606023205 0ustar00rootroot0000000 0000000 (* datatype declaration. rule 17, 28
  • the number of datbinds
    • 2
  • dependency between datbinds
    • none
    • yes
*) datatype t11 = C11 of int and t12 = C12 of bool; val v1 : (t11 * t12) = (C11 1, C12 true); datatype t21 = C21 of int and t22 = C22 of t21 * bool; val v2 : (t21 * t22) = (C21 1, C22 (C21 2, true)); smlsharp-1.2.0/test/tests/coresml/tests/datatype003.sml0000644 000000000000000000000260012050661606023203 0ustar00rootroot0000000 0000000 (* multiple occurrences of multiple type variables in datatype declaration. rule 17, 28
  • the number of type variables
    • 1
    • 2
  • the number of occurrence of a type variable
    • 1
    • 2
  • the number of data constructors
    • 1
    • 2
*) datatype 'x1 t11 = C11 of 'x1 * int; val v11 : bool t11 = C11 (false, 1); datatype 'x1 t121 = C121 of 'x1 * ('x1 * int); val v121 : bool t121 = C121 (true, (false, 1)); datatype 'x1 t122 = C1221 of 'x1 | C1222 of 'x1 * int; val v122 : bool t122 * string t122 = (C1221 true, C1222 ("foo", 1)); datatype ('x1, 'x2) t211 = C211 of 'x1 * ('x2 * int); val v211 : (bool, real) t211 = C211 (true, (2.11, 211)); datatype ('x1, 'x2) t212 = C2121 of 'x1 * int | C2122 of 'x2 * bool; val v212 : (bool, real) t212 * (int, string) t212 = (C2121 (true, 2121), C2122 ("foo", false)); datatype ('x1, 'x2) t221 = C221 of 'x1 * ('x2 * int) * 'x2 * ('x1 * int); val v221 : (bool, real) t221 = C221 (true, (2.211, 2211), 2.212, (false, 2212)); datatype ('x1, 'x2) t222 = C2221 of 'x1 * ('x2 * int) | C2222 of 'x2 * ('x1 * int); val v222 : (bool, real) t222 * (bool * real, real * bool) t222 = ( C2221 (true, (2.211, 2221)), C2222 ((2.212, true), ((false, 2.213), 2222)) ); smlsharp-1.2.0/test/tests/coresml/tests/datatype004.sml0000644 000000000000000000000124312050661606023206 0ustar00rootroot0000000 0000000 (* same type variables occur in multiple datatype bindings in datatype declaration. rule 17, 28
  • the number of type variables
    • 1
    • 2
  • the number of datatype bindings
    • 2
*) datatype 'x1 t121 = C121 of 'x1 * int and 'x1 t122 = C122 of int * 'x1; val v12 : (bool t121 * real t122) = (C121(true, 121), C122(122, 1.22)); datatype ('x1, 'x2) t221 = C221 of 'x1 * int * 'x2 and ('x1, 'x2) t222 = C222 of 'x2 * int * 'x1; val v22 : ((bool, real) t221 * ((bool * real), (real * bool)) t222) = (C221 (true, 221, 22.1), C222 ((22.2, true), 222, (false, 2.22))); smlsharp-1.2.0/test/tests/coresml/tests/datatype005.sml0000644 000000000000000000000365712050661606023222 0ustar00rootroot0000000 0000000 (* name resolution within a datatype declaration with "withtype".
  • the number of type constructors in datatype
    • 1
    • 2
  • the number of type constructors in withtype
    • 1
    • 2
  • name bound in withtype is used in datatype.
    • no
    • yes
  • name bound in datatype is used in withtype.
    • no
    • yes
*) datatype dt11nn1 = D11nn1 withtype t11nn1 = int; val dt11nn1 = D11nn1; val t11nn1 = 1 : t11nn1; datatype dt11ny1 = D11ny1 withtype t11ny1 = int * dt11ny1; val dt11ny1 = D11ny1; val t11ny1 = (1, D11ny1) : t11ny1; datatype dt11yn1 = D11yn1 of t11yn1 withtype t11yn1 = int; val dt11yn1 = D11yn1 1; val t11yn1 = 1 : t11yn1; datatype dt11yy1 = D11yy1 of t11yy1 | E11yy1 withtype t11yy1 = dt11yy1 * int; val dt11yy1 = D11yy1(E11yy1, 1); val t11yy1 = (E11yy1, 1) : t11yy1; datatype dt22nn1 = D22nn1 and dt22nn2 = D22nn2 withtype t22nn1 = int and t22nn2 = int * int; val dt22nn1 = D22nn1; val dt22nn2 = D22nn2; val t22nn1 = 1 : t22nn1; val t22nn2 = (2, 3) : t22nn2; datatype dt22ny1 = D22ny1 and dt22ny2 = D22ny2 withtype t22ny1 = dt22ny1 * int and t22ny2 = int * int * dt22ny2; val dt22ny1 = D22ny1; val dt22ny2 = D22ny2; val t22ny1 = (D22ny1, 1) : t22ny1; val t22ny2 = (2, 3, D22ny2) : t22ny2; datatype dt22yn1 = D22yn1 of t22yn2 * int and dt22yn2 = D22yn2 of t22yn1 * int withtype t22yn1 = int and t22yn2 = int * int; val dt22yn1 = D22yn1; val dt22yn2 = D22yn2; val t22yn1 = 1 : t22yn1; val t22yn2 = (2, 3) : t22yn2; datatype dt22yy1 = D22yy1 of t22yy2 * int | E22yy1 and dt22yy2 = D22yy2 of t22yy1 * int | E22yy2 withtype t22yy1 = int * dt22yy2 and t22yy2 = int * int * dt22yy1; val dt22yy1 = D22yy1((1, 2, E22yy1), 3); val dt22yy2 = D22yy2((2, E22yy2), 3); val t22yy1 = (4, E22yy2) : t22yy1; val t22yy2 = (5, 6, E22yy1) : t22yy2; smlsharp-1.2.0/test/tests/coresml/tests/datatype006.sml0000644 000000000000000000000122112050661606023204 0ustar00rootroot0000000 0000000 (* type constructor application in a datatype declaration with "withtype".
  • the number of type constructors in datatype
    • 1
  • the number of type constructors in withtype
    • 1
  • arity of type constructors in withtype
    • 1
    • 2
*) datatype dt111 = D111 of (int * int) t111 * int withtype 'a t111 = 'a * bool; val x111 = D111(((1, 2), true), 3); datatype dt112 = D112 of (int * int, string * string) t112 * int withtype ('a, 'b) t112 = 'a * bool * 'b; val x112 = D112(((1, 2), true, ("abc", "xyz")), 3); smlsharp-1.2.0/test/tests/coresml/tests/datatype007.sml0000644 000000000000000000000121312050661606023206 0ustar00rootroot0000000 0000000 (* datatype constructor application in a datatype declaration with "withtype".
  • the number of type constructors in datatype
    • 1
  • the number of type constructors in withtype
    • 1
  • arity of type constructors in datatype
    • 1
    • 2
*) datatype 'a dt111 = D111 of int * 'a withtype t111 = bool * (int * int) dt111; val x111 : t111 = (true, D111(1, (2, 3))); datatype ('a,'b) dt112 = D112 of int * 'a * 'b withtype t112 = bool * (string, bool) dt112 val x112 : t112 = (false, D112(1, "abc", true)); smlsharp-1.2.0/test/tests/coresml/tests/datatypeReplication001.sml0000644 000000000000000000000045512050661606025401 0ustar00rootroot0000000 0000000 (* datatype replication. rule 18
  • replicated datatype
    • global
    • local
*) datatype t = C1 of int; datatype t1 = datatype t; val v1 : t1 = C1 1; local datatype t = C2 of int in datatype t2 = datatype t end; val v2 : t2 = C2 2; smlsharp-1.2.0/test/tests/coresml/tests/datatypeReplication002.sml0000644 000000000000000000000047712050661606025406 0ustar00rootroot0000000 0000000 (* name scope of datatype replication. rule 18
  • replicated datatype
    • global
    • local
*) datatype t1 = C1 of int; datatype t1 = datatype t1; val v1 : t1 = C1 1; local datatype t2 = C2 of int in datatype t2 = datatype t2 end; val v2 : t2 = C2 2; smlsharp-1.2.0/test/tests/coresml/tests/equal001.sml0000644 000000000000000000000070012050661606022474 0ustar00rootroot0000000 0000000 (* equal operator for base types.
  • type
    • int
    • word
    • char
    • string
*) val int1 = 1 = 1; val int2 = 0 = 1; val int3 = 0 = ~1; val word1 = 0w1 = 0w1; val word2 = 0w0 = 0w1; val char1 = #"a" = #"a"; val char2 = #"a" = #"b"; val string1 = "a" = "a"; val string2 = "a" = "b"; val string3 = "" = ""; val string4 = "a" = ""; val string5 = "a" = "ab"; smlsharp-1.2.0/test/tests/coresml/tests/equal002.sml0000644 000000000000000000000145212050661606022502 0ustar00rootroot0000000 0000000 (* equal operator for ref type.
  • type of contents
    • eq base type (int)
    • noneq base type (real)
    • eq constructed type
    • noneq constructed type
*) local val r1 = ref 0 val r2 = ref 0 in val ref11 = r1 = r1; val ref12 = r1 = r2; val ref13 = (r1 := 1; r1 = r1); end; local val r1 = ref 1.23 val r2 = ref 1.23 in val ref21 = r1 = r1; val ref22 = r1 = r2; val ref23 = (r1 := 3.21; r1 = r1); end; local datatype t = D1 | D2 val r1 = ref D1 val r2 = ref D1 in val ref31 = r1 = r1; val ref32 = r1 = r2; val ref33 = (r1 := D2; r1 = r1); end; local datatype t = D1 | D2 | D3 of real val r1 = ref D1 val r2 = ref D1 in val ref41 = r1 = r1; val ref42 = r1 = r2; val ref43 = (r1 := D2; r1 = r1); end; smlsharp-1.2.0/test/tests/coresml/tests/equal003.sml0000644 000000000000000000000440712050661606022506 0ustar00rootroot0000000 0000000 (* equal operator for constructed type.
  • type of contents
    • constant constructor
    • constant constructor with multiple data constructor
    • monomorphic eq type constructor
    • monomorphic eq type constructor with multiple constructors
    • polymorphic eq type constructor
    • polymorphic eq type constructor with multiple constructors
    • monomorphic nested eq type constructor with multiple constructors
    • polymorphic nested eq type constructor with multiple constructors
*) local datatype t1 = D11; in val t11 = D11 = D11; end; local datatype t2 = D21 | D22; in val t21 = D21 = D21; val t22 = D21 = D22; end; local datatype t3 = D31 of int; in val t31 = (D31 0) = (D31 0); val t32 = (D31 0) = (D31 1); end; local datatype t4 = D41 of int | D42 of int; in val t41 = (D41 0) = (D41 0); (* same constructor, equal arg *) val t42 = (D41 0) = (D41 1); (* same constructor, dif arg *) val t43 = (D41 0) = (D42 0); (* dif constructor, equal arg *) val t44 = (D41 0) = (D42 1); (* dif constructor, dif arg *) end; local datatype 'a t5 = D51 of 'a; in val t51 = (D51 0) = (D51 0); val t52 = (D51 0) = (D51 1); end; local datatype 'a t6 = D61 of 'a | D62 of int; in val t61 = (D61 0) = (D61 0); (* same constructor, equal arg *) val t62 = (D61 0) = (D61 1); (* same constructor, dif arg *) val t63 = (D61 0) = (D62 0); (* dif constructor, equal arg *) val t66 = (D61 0) = (D62 1); (* dif constructor, dif arg *) end; local datatype t71 = D711 | D712 datatype t72 = D721 of t71 | D722 of t71; in val t71 = (D721 D711) = (D721 D711); (* same constructor, equal arg *) val t72 = (D721 D711) = (D721 D712); (* same constructor, dif arg *) val t73 = (D721 D711) = (D722 D711); (* dif constructor, equal arg *) val t74 = (D721 D711) = (D722 D712); (* dif constructor, dif arg *) end; local datatype t81 = D811 | D812 datatype 'a t82 = D821 of 'a | D822 of 'a; in val t81 = (D821 D811) = (D821 D811); (* same constructor, equal arg *) val t82 = (D821 D811) = (D821 D812); (* same constructor, dif arg *) val t83 = (D821 D811) = (D822 D811); (* dif constructor, equal arg *) val t84 = (D821 D811) = (D822 D812); (* dif constructor, dif arg *) end; smlsharp-1.2.0/test/tests/coresml/tests/equality001.sml0000644 000000000000000000000327712050661606023236 0ustar00rootroot0000000 0000000 (* equality check for argument types to type constructors.
    • equality type
      • type variable which admit equality
      • record type
      • constructed type
      • ref type
    • non equality type
      • type variable which does not admit equality
      • record type
      • constructed type
        • some argument type is not equality type.
        • the type constructor does not admit equality.
      • function type
*) datatype ''a dt = D of ''a; type ''a tEqTypeVariable = ''a dt * int; val vEqTypeVariable : bool tEqTypeVariable = (D true, 1); type tEqRecord = {a : int, b : string} dt; val vEqRecord : tEqRecord = D {a = 1, b = "abc"}; datatype dtEqConstructed1 = DEqConstructed1; type tEqConstructed1 = dtEqConstructed1 dt; val vEqConstructed1 : tEqConstructed1 = D DEqConstructed1; datatype 'a dtEqConstructed2 = DdtEqConstructed2 of 'a; type tEqConstructed2 = (int dtEqConstructed2) dt; val vEqConstructed2 : tEqConstructed2 = D (DdtEqConstructed2 1); type tEqRef = int ref dt; val vEqRef = D(ref 1); (****************************************) type 'a tNonEqTypeVariable = 'a dt; type tNonEqRecord = {a : real} dt; datatype dtNonEqConstructed1 = DNonEqConstructed1 | ENonEqConstructed1 of real; type tNonEqConstructed1 = dtNonEqConstructed1 dt; datatype 'a dtNonEqConstructed2 = DNonEqConstructed2 of 'a; type tNonEqConstructed2 = (real dtNonEqConstructed2) dt; type tNonEqFunction = (int -> int) dt; smlsharp-1.2.0/test/tests/coresml/tests/equality002.sml0000644 000000000000000000000105112050661606023223 0ustar00rootroot0000000 0000000 (* equality check of datatype used in expressions. *) datatype 'a dtNeq = DNeq | ENeq of 'a; datatype ''a dtEq = DEq | EEq of ''a; val eq11 = DNeq = DNeq; val eq12 = DNeq = (DNeq : real dtNeq); val eq21 = DEq = DEq; val eq22 = DEq = (DEq : real dtEq); val v1 = ENeq 1.23; val v2 = EEq 1.23; fun f1 x = ENeq x; val x11 = f1 1.23; fun f2 x = EEq x; val x12 = f2 1.23; fun g1 (x : ''a) = ENeq x; val x21 = g1 1.23; fun g2 (x : ''a) = EEq x; val x22 = g2 1.23; fun h1 (x : 'a) = ENeq x; val x31 = h1 1.23; fun h2 (x : 'a) = EEq x; val x32 = h2 1.23; smlsharp-1.2.0/test/tests/coresml/tests/equality003.sml0000644 000000000000000000000064212050661606023231 0ustar00rootroot0000000 0000000 (* equality check for type variable occuring in expressions. *) fun f11 (x : 'a) = 1; val x111 = f11 1.23; val x112 = f11 (ref 1.23); fun f12 (x : ''a) = 1; val x121 = f12 1.23; val x122 = f12 (ref 1.23); fun idEq (x : ''a) = x; fun g11 (x : 'a) = idEq x; val x211 = g11 1; val x212 = g11 1.23; val x213 = g11 (ref 1.23); fun g12 (x : ''a) = idEq x; val x221 = g12 1; val x222 = g12 1.23; val x223 = g12 (ref 1.23); smlsharp-1.2.0/test/tests/coresml/tests/exception001.sml0000644 000000000000000000000031312050661606023363 0ustar00rootroot0000000 0000000 (* exception declaration. rule 20, 30
  • with parameter
    • no
    • yes
*) exception E1; val v1 = E1; exception E2 of int; val v2 = E2 2; smlsharp-1.2.0/test/tests/coresml/tests/exception002.sml0000644 000000000000000000000037112050661606023370 0ustar00rootroot0000000 0000000 (* exception replication declaration. rule 20, 31
  • with parameter
    • no
    • yes
*) exception E; exception E1 = E; val v1 = E1; exception E of int; exception E2 = E; val v2 = E2 2; smlsharp-1.2.0/test/tests/coresml/tests/exception003.sml0000644 000000000000000000000053212050661606023370 0ustar00rootroot0000000 0000000 (* exception replication. rule 20, 31
  • replicated exception
    • global
    • global in the same compile unit
    • local
*) exception E; exception E1 = E; val v1 = E1; exception E exception E2 = E; val v2 = E2; local exception E in exception E3 = E end; val v3 = E3; smlsharp-1.2.0/test/tests/coresml/tests/exception004.sml0000644 000000000000000000000074712050661606023401 0ustar00rootroot0000000 0000000 (* exception replications in a same declaration. rule 20, 31
  • replicated exception
    • defined
    • replication
    • replication of exception defined in the same decalration
*) exception R1 of int; exception E1 = R1; val v1 = E1 1; exception R2 of int; exception R2 of bool and E2 = R2; val v2 = E2 2; exception R3 of int exception E31 = R3 exception R3 of string and E31 = R3 and E32 = E31; val v3 = E32 3; smlsharp-1.2.0/test/tests/coresml/tests/expansive001.sml0000644 000000000000000000000176212050661606023400 0ustar00rootroot0000000 0000000 (* non-expansive expressions is typed to polymorphic.
  • non-expansive expression
    • constants
    • variable
    • variable with "op" modifier
    • record every whose field is non-expansive
    • application of constructor to non-expansive
    • application of typed constructor to non-expansive
    • typed non-expansive
    • fn
*) fun id x = x; (* The following records should be expansive, because constant is * non-expansive. *) val vconstant1 = {a = id, b = 1}; val vconstant2 = {a = id, b = 2.34}; val vconstant3 = {a = id, b = 0w2}; val vconstant4 = {a = id, b = #"x"}; val vconstant5 = {a = id, b = "abc"}; val vvar1 = id; fun fopvar1 (x, y) = (x, y); infix fopvar1; val vopvar1 = op fopvar1; val vrecord = {a = id}; datatype 'a dt1 = D of int; val vconstructed1 = D 1; (* val vtypedconstructed1 = (D : int -> 'a dt1) 2; *) val vtyped1 = id : 'a -> 'a; val vfn1 = fn x => x; smlsharp-1.2.0/test/tests/coresml/tests/expansive002.sml0000644 000000000000000000000224112050661606023372 0ustar00rootroot0000000 0000000 (* An expression any of whose subexpression is expansive is typed to monomorphic. These cases are monomorphic typed in SML type system, but IML types them polymorphic.
  • expansive expression
    • record any of whose field is expansive
    • let expression
    • function application
    • application of constructor to expansive
    • application of typed constructor to expansive
    • application of "ref" constructor
    • typed expansive
    • handle expression
    • raise expression
    • case expression
*) fun id x = x; val vrecord = {a = id, b = id 1}; val vlet = let in id end; val vapp1 = (fn x => x) (fn x => x); val vapp2 = (fn x => x) id; val vapp3 = id (fn x => x); datatype 'a dt1 = D of int; val vconstructed1 = D (id 2); (* val vtypedconstructed1 = (D : int -> 'a dt1) 2; *) val vref1 = ref id; val vref2 = {a = id, b = ref 1}; (* val vtyped1 = id : 'a -> 'a; *) val vhandle = id handle e => id; exception E; val vraise = fn (x : int) => D (raise E); val vcase1 = case id 2 of x => id; val vcase2 = case 2 of x => (id, id 2); smlsharp-1.2.0/test/tests/coresml/tests/fieldSelect001.sml0000644 000000000000000000000126612050661606023620 0ustar00rootroot0000000 0000000 (* field selection expression.
  • the operand expression
    • record expression
    • tuple expression
    • variable of record type
    • variable of type variable of record kind
    • other expression of record type
    • other expression of type variable of record kind
*) val v1 = #x {x = 1, y = 2}; val v2 = #2 (1, 2); fun f3 (r : {x : int, y : int}) = #x r; val v3 = f3 {x = 3, y = 3}; fun f4 r = #x r; val v41 = f4 {x = 4, z = 5}; val v42 = f4 {a = "bar", x = "foo"}; fun f5 x = {x = x, y = x}; val v5 = #x (f5 5); fun f61 r = (#x r; r); fun f62 r = #x (f61 r); val v6 = f62 {x = 6}; smlsharp-1.2.0/test/tests/coresml/tests/fieldSelect002.sml0000644 000000000000000000000144312050661606023616 0ustar00rootroot0000000 0000000 (* polymorphic field selection expression.
  • the number of fields in the kind of the type variable
    • 1
    • 2
  • the numer of nest of kind of the type variable
    • 1
    • 2
*) fun f11 r = #x r; val v111 = f11 {x = 1, y = 2}; val v112 = f11 {a = "foo", x = "bar"}; fun f12 r = #x(#a r); val v121 = f12 {a = {x = 2, y = 3}, b = true}; val v122 = f12 {z = true, a = {x = "foo", y = "bar"}}; fun f21 r = (#x r, #y r); val v211 = f21 {x = 1, y = 2}; val v212 = f21 {a = "foo", x = "bar", y = "boo"}; fun f22 r = (#x (#a r), #y (#a r), #v (#b r), #w (#b r)); val v221 = f22 {a = {x = 1, y = 2}, b = {v = 3, w = 4}}; val v222 = f22 {a = {x = "bar", y = "boo"}, b = {v = 1.23, w = 2.34}}; smlsharp-1.2.0/test/tests/coresml/tests/fn001.sml0000644 000000000000000000000117712050661606022001 0ustar00rootroot0000000 0000000 (* fn expression. rule 12
  • type of expression
    1. monotype
    2. polytype
  • type of argument
    1. base type
    2. function type
  • type of result
    1. base type
    2. function type
*) val v111 = fn x => x + 1; val v112 = fn x => (fn y => x + y + 1); val v121 = fn x => (x 1) + 1; val v122 = fn x => fn y => (x 1) + y; val v211 = fn x => (x, true); val v212 = fn x => (fn y => (x, y)); val v221 = fn x => (x 1, true); val v222 = fn x => fn y => (x 1, y); smlsharp-1.2.0/test/tests/coresml/tests/fun001.sml0000644 000000000000000000000054512050661606022164 0ustar00rootroot0000000 0000000 (* fun declaration (derived form).
  • the number of parameters
    • 1
    • 2
  • the number of rules
    • 1
    • 2
*) fun f11 p1 = p1 + 1; fun f12 1 = 0 | f12 p1 = p1; fun f21 p1 p2 = p1 + p2; fun f22 1 p2 = 1 + p2 | f22 p1 p2 = p1 + p2; smlsharp-1.2.0/test/tests/coresml/tests/fun002.sml0000644 000000000000000000000071512050661606022164 0ustar00rootroot0000000 0000000 (* fun declaration (derived form).
  • the number of binds in the same declaration
    • 2
  • the number of rules
    • 1
    • 2
*) fun f11 x y = x + f12 y and f12 y = if y = 0 then 1 else f11 y (y - 1); val v1 = (f11 1 2, f12 2); fun f21 1 1 = 2 | f21 x y = x + f22 y and f22 1 = 1 | f22 y = if y = 0 then 1 else f21 y (y - 1); val v2 = (f21 1 2, f22 2); smlsharp-1.2.0/test/tests/coresml/tests/fun003.sml0000644 000000000000000000000125212050661606022162 0ustar00rootroot0000000 0000000 (* fun declration with type annotation
  • the number of binds in the same declaration
    • 1
  • the number of rules
    • 1
    • 2
  • type annotated rule
    • only the first
    • only the second
    • both of the first and the second
*) fun f1 x y : bool = x < y; val v1 = f1 1 2; fun f21 1 1 : bool = true | f21 x y = x < y; val v21 = (f21 1 1, f21 2 3); fun f22 1 1 = true | f22 x y : bool = x < y; val v22 = (f22 1 1, f22 2 3); fun f23 1 1 : bool = true | f23 x y : bool = x < y; val v23 = (f23 1 1, f23 2 3); smlsharp-1.2.0/test/tests/coresml/tests/functionType001.sml0000644 000000000000000000000101112050661606024050 0ustar00rootroot0000000 0000000 (* function type. rule 47
  • argument type
    • mono type
    • poly type
  • result type
    • mono type
    • poly type
*) type t11 = int -> int; val v11 : t11 = fn x => x + 11; type 'a t12 = int -> 'a; exception E12 of int; val v12 : int t12 = fn x => raise E12 x; type 'a t21 = 'a -> int; val 'a v21 : 'a t21 = fn x => 21; type ('a, 'b) t22 = 'a -> 'b; exception E22; val v22 : (int, int) t22 = fn x => x + 1; smlsharp-1.2.0/test/tests/coresml/tests/handle001.sml0000644 000000000000000000000061112050661606022621 0ustar00rootroot0000000 0000000 (* handle expression. rule 10
  • exception to be caught
    • no exception is raised
    • an exception raised and caught
    • an exception raised but not caught
*) val v1 = 1 handle e => 2; exception E; val v2 = (raise E) handle E => 3; exception E1; exception E2; val v3 = ((raise E1) handle E2 => 3) handle E1 => 1; smlsharp-1.2.0/test/tests/coresml/tests/handle002.sml0000644 000000000000000000000200612050661606022622 0ustar00rootroot0000000 0000000 (* "handle" expression which occurs at various locations.
  • location of "handle" expression
    • record expression
    • let expression
    • argument of tyCon application expression
    • tyCon of tyCon application expression
    • typed expression
    • handle expression
    • raise expression
    • fn expression
*) exception E; fun raiseE () = raise E; fun id x = x; datatype 'a dt = D of 'a; val vRecord = {a = raiseE () handle E => 1}; val vLet = let in raiseE () handle E => 1 end; val vArgTyConApp = D(raiseE () handle E => 1); val vTyConTyConApp = (raiseE () handle E => D) 1; val vArgFunApp = id (raiseE () handle E => 1); val vFunFunApp = (raiseE () handle E => id) 1; val vTyped = (raiseE () handle E => id) : int -> int; val vHandle = (raiseE () handle E => 1) handle E => 2; val vRaise = (raise (raiseE () handle E => raise E)) handle E => 1; val vFn = fn x => (raiseE () handle E => x); smlsharp-1.2.0/test/tests/coresml/tests/handle003.sml0000644 000000000000000000000146412050661606022632 0ustar00rootroot0000000 0000000 (* "handle" expression which refers to variables which are bound in various locations.
  • variable which is referred by a handler expression of a handle expression
    • global variable
    • free variable bound in a outer function body
    • function argument
    • local variable in a function body
*) exception E; fun raiseE () = raise E; val vGlobal = 1; val xGlobal = (raiseE ()) handle E => vGlobal; val xFree = let fun outer () = let val vOuter = 2 in fn x => raiseE () handle E => vOuter end in outer () () end; val xArg = let fun f vArg = (raiseE () handle E => vArg) in f 3 end; val xLocal = let fun f () = let val vLocal = 4 in raiseE () handle E => vLocal end in f () end; smlsharp-1.2.0/test/tests/coresml/tests/if001.sml0000644 000000000000000000000051312050661606021765 0ustar00rootroot0000000 0000000 (* if expression. *
  • result type
    • mono type
    • poly type
*) fun f1 x = if x then 1 else 2; val v1 = (f1 true, f1 false); exception E2 of int; fun f2 x = if x then raise E2 1 else raise E2 2; val v2 = ((f2 true) handle E2 n => n, (f2 false) handle E2 n => n); smlsharp-1.2.0/test/tests/coresml/tests/infix001.sml0000644 000000000000000000000111712050661606022505 0ustar00rootroot0000000 0000000 (* parse of infix fun declaration
  • the number of rules
    • 1
    • 2
  • use "op"
    • no
    • yes
*) infix 0 %%; fun x %% y = x - y; val v11 = 1 %% 2; fun op %% (x, y) = x + y; val v12 = 1 %% 2; fun 1 %% 2 = 2 | x %% y = x + y; val v21 = (1 %% 2, 2 %% 3); fun 1 %% 2 = 221 | op %% (x, y) = x + y; val v221 = (1 %% 2, 2 %% 3); fun op %% (1, 2) = 222 | x %% y = x - y; val v222 = (1 %% 2, 2 %% 3); fun op %% (1, 2) = 223 | op %% (x, y) = x * y; val v223 = (1 %% 2, 2 %% 3); smlsharp-1.2.0/test/tests/coresml/tests/infix002.sml0000644 000000000000000000000064212050661606022510 0ustar00rootroot0000000 0000000 (* fun declaration using infix id with "op" modifier.
  • parameters
    • a tuple
    • a non-tuple
    • two non-tuples
    • three non-tuples
*) infix 1 %%; fun op %% (x, y) = x * y; val v1 = 1 %% 2; fun op %% x = x + 1; val v2 = op %% 3; fun op %% x y = x - y; val v3 = op %% 2 3; fun op %% x y z = x + y + z; val v4 = op %% 1 2 3; smlsharp-1.2.0/test/tests/coresml/tests/infix003.sml0000644 000000000000000000000055512050661606022514 0ustar00rootroot0000000 0000000 (* infix data constructor.
  • infix application
    • yes
    • no
  • infix constructor pattern
    • yes
    • no
*) infix 1 $$; datatype t = $$ of int * int; val v11 = case 1 $$ 2 of x $$ y => x + y; val v22 = case op $$ (2, 3) of op $$ (x, y) => x + y;smlsharp-1.2.0/test/tests/coresml/tests/infix004.sml0000644 000000000000000000000127412050661606022514 0ustar00rootroot0000000 0000000 (* test infix fun declaration enclosed in parenthesis. see p64 in SML Definition.
  • infix id
    • non parnethetic, followed by "="
    • non parnethetic, followed by ":ty"
    • parnethetic, given two arguments
    • parnethetic, given three arguments
    • non parenthetic, but the left argument is parenthetic infix pattern
*) infix ## %%; datatype t = %% of int * int; fun x ## y = x + y; val v1 = 1 ## 2; fun x ## y : int = x - y; val v2 = 2 ## 3; fun (x ## y) = x * y; val v3 = 1 ## 2; fun (x ## y) z = x + y + z; val v4 = (2 ## 3) 4; fun (x %% y) ## z = x + y + z; val v5 = (3 %% 4) ## 5; smlsharp-1.2.0/test/tests/coresml/tests/infix005.sml0000644 000000000000000000001467712050661606022530 0ustar00rootroot0000000 0000000 (* handling precedence of infix ids.
  • precedence relation between left operator and middle operator
    • >
    • =
    • <
  • precedence relation between middle operator and right operator
    • >
    • =
    • <
  • infix direction of left operator
    • left
    • right
  • infix direction of middle operator
    • left
    • right
  • infix direction of right operator
    • left
    • right
*) fun >> (x, y) = x + y; fun ## (x, y) = x * y; fun << (x, y) = x - y; val (x1, x2, x3, x4) = (2, 3, 5, 7); (*****************************************************************************) (* left > mid < right *) infix 3 >> infix 2 ## infix 3 << val v11111 = x1 >> x2 ## x3 << x4; infix 3 >> infix 2 ## infixr 3 << val v11112 = x1 >> x2 ## x3 << x4; infix 3 >> infixr 2 ## infix 3 << val v11121 = x1 >> x2 ## x3 << x4; infix 3 >> infixr 2 ## infixr 3 << val v11122 = x1 >> x2 ## x3 << x4; infixr 3 >> infix 2 ## infix 3 << val v11211 = x1 >> x2 ## x3 << x4; infixr 3 >> infix 2 ## infixr 3 << val v11212 = x1 >> x2 ## x3 << x4; infixr 3 >> infixr 2 ## infix 3 << val v11221 = x1 >> x2 ## x3 << x4; infixr 3 >> infixr 2 ## infixr 3 << val v11222 = x1 >> x2 ## x3 << x4; (*****************************************) (* left > mid = right *) infix 3 >> infix 2 ## infix 2 << val v12111 = x1 >> x2 ## x3 << x4; infix 3 >> infix 2 ## infixr 2 << val v12112 = x1 >> x2 ## x3 << x4; infix 3 >> infixr 2 ## infix 2 << val v12121 = x1 >> x2 ## x3 << x4; infix 3 >> infixr 2 ## infixr 2 << val v12122 = x1 >> x2 ## x3 << x4; infixr 3 >> infix 2 ## infix 2 << val v12211 = x1 >> x2 ## x3 << x4; infixr 3 >> infix 2 ## infixr 2 << val v12212 = x1 >> x2 ## x3 << x4; infixr 3 >> infixr 2 ## infix 2 << val v12221 = x1 >> x2 ## x3 << x4; infixr 3 >> infixr 2 ## infixr 2 << val v12222 = x1 >> x2 ## x3 << x4; (*****************************************) (* left > mid > right *) infix 3 >> infix 2 ## infix 1 << val v13111 = x1 >> x2 ## x3 << x4; infix 3 >> infix 2 ## infixr 1 << val v13112 = x1 >> x2 ## x3 << x4; infix 3 >> infixr 2 ## infix 1 << val v13121 = x1 >> x2 ## x3 << x4; infix 3 >> infixr 2 ## infixr 1 << val v13122 = x1 >> x2 ## x3 << x4; infixr 3 >> infix 2 ## infix 1 << val v13211 = x1 >> x2 ## x3 << x4; infixr 3 >> infix 2 ## infixr 1 << val v13212 = x1 >> x2 ## x3 << x4; infixr 3 >> infixr 2 ## infix 1 << val v13221 = x1 >> x2 ## x3 << x4; infixr 3 >> infixr 2 ## infixr 1 << val v13222 = x1 >> x2 ## x3 << x4; (*****************************************************************************) (* left = mid < right *) infix 2 >> infix 2 ## infix 3 << val v21111 = x1 >> x2 ## x3 << x4; infix 2 >> infix 2 ## infixr 3 << val v21112 = x1 >> x2 ## x3 << x4; infix 2 >> infixr 2 ## infix 3 << val v21121 = x1 >> x2 ## x3 << x4; infix 2 >> infixr 2 ## infixr 3 << val v21122 = x1 >> x2 ## x3 << x4; infixr 2 >> infix 2 ## infix 3 << val v21211 = x1 >> x2 ## x3 << x4; infixr 2 >> infix 2 ## infixr 3 << val v21212 = x1 >> x2 ## x3 << x4; infixr 2 >> infixr 2 ## infix 3 << val v21221 = x1 >> x2 ## x3 << x4; infixr 2 >> infixr 2 ## infixr 3 << val v21222 = x1 >> x2 ## x3 << x4; (*****************************************) (* left = mid = right *) infix 2 >> infix 2 ## infix 2 << val v22111 = x1 >> x2 ## x3 << x4; infix 2 >> infix 2 ## infixr 2 << val v22112 = x1 >> x2 ## x3 << x4; infix 2 >> infixr 2 ## infix 2 << val v22121 = x1 >> x2 ## x3 << x4; infix 2 >> infixr 2 ## infixr 2 << val v22122 = x1 >> x2 ## x3 << x4; infixr 2 >> infix 2 ## infix 2 << val v22211 = x1 >> x2 ## x3 << x4; infixr 2 >> infix 2 ## infixr 2 << val v22212 = x1 >> x2 ## x3 << x4; infixr 2 >> infixr 2 ## infix 2 << val v22221 = x1 >> x2 ## x3 << x4; infixr 2 >> infixr 2 ## infixr 2 << val v22222 = x1 >> x2 ## x3 << x4; (*****************************************) (* left = mid > right *) infix 2 >> infix 2 ## infix 1 << val v23111 = x1 >> x2 ## x3 << x4; infix 2 >> infix 2 ## infixr 1 << val v23112 = x1 >> x2 ## x3 << x4; infix 2 >> infixr 2 ## infix 1 << val v23121 = x1 >> x2 ## x3 << x4; infix 2 >> infixr 2 ## infixr 1 << val v23122 = x1 >> x2 ## x3 << x4; infixr 2 >> infix 2 ## infix 1 << val v23211 = x1 >> x2 ## x3 << x4; infixr 2 >> infix 2 ## infixr 1 << val v23212 = x1 >> x2 ## x3 << x4; infixr 2 >> infixr 2 ## infix 1 << val v23221 = x1 >> x2 ## x3 << x4; infixr 2 >> infixr 2 ## infixr 1 << val v23222 = x1 >> x2 ## x3 << x4; (*****************************************************************************) (* left < mid < right *) infix 1 >> infix 2 ## infix 3 << val v31111 = x1 >> x2 ## x3 << x4; infix 1 >> infix 2 ## infixr 3 << val v31112 = x1 >> x2 ## x3 << x4; infix 1 >> infixr 2 ## infix 3 << val v31121 = x1 >> x2 ## x3 << x4; infix 1 >> infixr 2 ## infixr 3 << val v31122 = x1 >> x2 ## x3 << x4; infixr 1 >> infix 2 ## infix 3 << val v31211 = x1 >> x2 ## x3 << x4; infixr 1 >> infix 2 ## infixr 3 << val v31212 = x1 >> x2 ## x3 << x4; infixr 1 >> infixr 2 ## infix 3 << val v31221 = x1 >> x2 ## x3 << x4; infixr 1 >> infixr 2 ## infixr 3 << val v31222 = x1 >> x2 ## x3 << x4; (*****************************************) (* left < mid = right *) infix 1 >> infix 2 ## infix 2 << val v32111 = x1 >> x2 ## x3 << x4; infix 1 >> infix 2 ## infixr 2 << val v32112 = x1 >> x2 ## x3 << x4; infix 1 >> infixr 2 ## infix 2 << val v32121 = x1 >> x2 ## x3 << x4; infix 1 >> infixr 2 ## infixr 2 << val v32122 = x1 >> x2 ## x3 << x4; infixr 1 >> infix 2 ## infix 2 << val v32211 = x1 >> x2 ## x3 << x4; infixr 1 >> infix 2 ## infixr 2 << val v32212 = x1 >> x2 ## x3 << x4; infixr 1 >> infixr 2 ## infix 2 << val v32221 = x1 >> x2 ## x3 << x4; infixr 1 >> infixr 2 ## infixr 2 << val v32222 = x1 >> x2 ## x3 << x4; (*****************************************) (* left < mid > right *) infix 1 >> infix 2 ## infix 1 << val v33111 = x1 >> x2 ## x3 << x4; infix 1 >> infix 2 ## infixr 1 << val v33112 = x1 >> x2 ## x3 << x4; infix 1 >> infixr 2 ## infix 1 << val v33121 = x1 >> x2 ## x3 << x4; infix 1 >> infixr 2 ## infixr 1 << val v33122 = x1 >> x2 ## x3 << x4; infixr 1 >> infix 2 ## infix 1 << val v33211 = x1 >> x2 ## x3 << x4; infixr 1 >> infix 2 ## infixr 1 << val v33212 = x1 >> x2 ## x3 << x4; infixr 1 >> infixr 2 ## infix 1 << val v33221 = x1 >> x2 ## x3 << x4; infixr 1 >> infixr 2 ## infixr 1 << val v33222 = x1 >> x2 ## x3 << x4; smlsharp-1.2.0/test/tests/coresml/tests/infix006.sml0000644 000000000000000000000124112050661606022510 0ustar00rootroot0000000 0000000 (* scope of infix declaration. *
  • kind of local infix declaration
    • infix
    • nonfix
  • local or let
    • local
    • let
*) datatype t = ## of int * int; local infix 1 ## val lv1 = 1 ## 2 in val v1 = 2 ## 3 end; val gv1 = ## (3, 4); val v2 = let infix 1 ## val lv2 = 2 ## 3 in 3 ## 4 end; val gv2 = ## (3, 4); infix 1 ## local nonfix ## val lv3 = ## (3, 4) in val v3 = ## (4, 5) end; val gv3 = 5 ## 6; val v4 = let nonfix ## val lv4 = ## (4, 5) in ## (5, 6) end; val gv4 = 6 ## 7; smlsharp-1.2.0/test/tests/coresml/tests/infix007.sml0000644 000000000000000000000244512050661606022520 0ustar00rootroot0000000 0000000 (* multiple identities in a infix declaration.
  • the type of infix
    • infix
    • infixr
    • nonfix
  • the number of identities
    • 3
  • with precedence
    • yes
    • no
*) infix 1 P111 P112 P113; datatype t11 = P111 of int * int | P112 of bool * bool | P113 of string * string; val v11 = (1 P111 2, true P112 false, "foo" P113 "bar"); infix P121 P122 P123; datatype t12 = P121 of int * int | P122 of bool * bool | P123 of string * string; val v12 = (1 P121 2, true P122 false, "foo" P123 "bar"); infixr 1 P211 P212 P213; datatype t21 = P211 of int * int | P212 of bool * bool | P213 of string * string; val v21 = (1 P211 2, true P212 false, "foo" P213 "bar"); infixr P221 P222 P223; datatype t22 = P221 of int * int | P222 of bool * bool | P223 of string * string; val v22 = (1 P221 2, true P222 false, "foo" P223 "bar"); infix P311; infix P312; infix P313; nonfix P311 P312 P313; datatype t31 = P311 of int * int | P312 of bool * bool | P313 of string * string; val v31 = (P311 (1, 2), P312 (true, false), P313 ("foo", "bar")); smlsharp-1.2.0/test/tests/coresml/tests/infixPattern001.sml0000644 000000000000000000000056112050661606024045 0ustar00rootroot0000000 0000000 (* infix constructor pattern.
  • position of constructor pattern.
    • infix position
    • nonfix position with "op" modifier
*) datatype t = ## of int * int; infix 1 ##; fun f1 x = case x of x ## y => x + y; val v1 = f1 (1 ## 2); fun f2 x = case x of op ## (x, y) => x + y; val v2 = f2 (op ## (2, 3)); smlsharp-1.2.0/test/tests/coresml/tests/infixPattern002.sml0000644 000000000000000000003354112050661606024052 0ustar00rootroot0000000 0000000 (* handling precedence of infix constructor pattern.
  • precedence relation between left constructor and middle constructor
    • >
    • =
    • <
  • precedence relation between middle constructor and right constructor
    • >
    • =
    • <
  • infix direction of left constructor
    • left
    • right
  • infix direction of middle constructor
    • left
    • right
  • infix direction of right constructor
    • left
    • right
*) datatype t = >> of t * t | ## of t * t | << of t * t | N of int (*****************************************************************************) (* left > mid < right *) infix 3 >> infix 2 ## infix 3 << val f11111 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v11111 = f11111 (op ## (op >> (N 1, N 2), op << (N 3, N 4))); infix 3 >> infix 2 ## infixr 3 << val f11112 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v11112 = f11112 (op ## (op >> (N 1, N 2), op << (N 3, N 4))); infix 3 >> infixr 2 ## infix 3 << val f11121 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v11121 = f11121 (op ## (op >> (N 1, N 2), op << (N 3, N 4))); infix 3 >> infixr 2 ## infixr 3 << val f11122 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v11122 = f11121 (op ## (op >> (N 1, N 2), op << (N 3, N 4))); infixr 3 >> infix 2 ## infix 3 << val f11211 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v11211 = f11211 (op ## (op >> (N 1, N 2), op << (N 3, N 4))); infixr 3 >> infix 2 ## infixr 3 << val f11212 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v11212 = f11212 (op ## (op >> (N 1, N 2), op << (N 3, N 4))); infixr 3 >> infixr 2 ## infix 3 << val f11221 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v11221 = f11221 (op ## (op >> (N 1, N 2), op << (N 3, N 4))); infixr 3 >> infixr 2 ## infixr 3 << val f11222 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v11222 = f11222 (op ## (op >> (N 1, N 2), op << (N 3, N 4))); (*****************************************) (* left > mid = right *) infix 3 >> infix 2 ## infix 2 << val f12111 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v12111 = f12111 (op << (op ## (op >> (N 1, N 2), N 3), N 4)); infix 3 >> infix 2 ## infixr 2 << val f12112 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v12112 = f12112 (op << (op ## (op >> (N 1, N 2), N 3), N 4)); infix 3 >> infixr 2 ## infix 2 << val f12121 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v12121 = f12121 (op << (op ## (op >> (N 1, N 2), N 3), N 4)); infix 3 >> infixr 2 ## infixr 2 << val f12122 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v12122 = f12122 (op ## (op >> (N 1, N 2), op << (N 3, N 4))); infixr 3 >> infix 2 ## infix 2 << val f12211 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v12211 = f12211 (op << (op ## (op >> (N 1, N 2), N 3), N 4)); infixr 3 >> infix 2 ## infixr 2 << val f12212 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v12212 = f12212 (op << (op ## (op >> (N 1, N 2), N 3), N 4)); infixr 3 >> infixr 2 ## infix 2 << val f12221 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v12221 = f12221 (op << (op ## (op >> (N 1, N 2), N 3), N 4)); infixr 3 >> infixr 2 ## infixr 2 << val f12222 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v12222 = f12222 (op ## (op >> (N 1, N 2), op << (N 3, N 4))); (*****************************************) (* left > mid > right *) infix 3 >> infix 2 ## infix 1 << val f13111 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v13111 = f13111 (op << (op ## (op >> (N 1, N 2), N 3), N 4)); infix 3 >> infix 2 ## infixr 1 << val f13112 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v13112 = f13112 (op << (op ## (op >> (N 1, N 2), N 3), N 4)); infix 3 >> infixr 2 ## infix 1 << val f13121 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v13121 = f13121 (op << (op ## (op >> (N 1, N 2), N 3), N 4)); infix 3 >> infixr 2 ## infixr 1 << val f13122 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v13122 = f13122 (op << (op ## (op >> (N 1, N 2), N 3), N 4)); infixr 3 >> infix 2 ## infix 1 << val f13211 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v13211 = f13211 (op << (op ## (op >> (N 1, N 2), N 3), N 4)); infixr 3 >> infix 2 ## infixr 1 << val f13212 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v13212 = f13212 (op << (op ## (op >> (N 1, N 2), N 3), N 4)); infixr 3 >> infixr 2 ## infix 1 << val f13221 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v13221 = f13221 (op << (op ## (op >> (N 1, N 2), N 3), N 4)); infixr 3 >> infixr 2 ## infixr 1 << val f13222 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v13222 = f13222 (op << (op ## (op >> (N 1, N 2), N 3), N 4)); (*****************************************************************************) (* left = mid < right *) infix 2 >> infix 2 ## infix 3 << val f21111 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v21111 = f21111 (op ## (op >> (N 1, N 2), op << (N 3, N 4))); infix 2 >> infix 2 ## infixr 3 << val f21112 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v21112 = f21112 (op ## (op >> (N 1, N 2), op << (N 3, N 4))); infix 2 >> infixr 2 ## infix 3 << val f21121 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v21121 = f21121 (op ## (op >> (N 1, N 2), op << (N 3, N 4))); infix 2 >> infixr 2 ## infixr 3 << val f21122 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v21122 = f21122 (op ## (op >> (N 1, N 2), op << (N 3, N 4))); infixr 2 >> infix 2 ## infix 3 << val f21211 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v21211 = f21211 (op ## (op >> (N 1, N 2), op << (N 3, N 4))); infixr 2 >> infix 2 ## infixr 3 << val f21212 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v21212 = f21212 (op ## (op >> (N 1, N 2), op << (N 3, N 4))); infixr 2 >> infixr 2 ## infix 3 << val f21221 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v21221 = f21221 (op >> (N 1, op ## (N 2, op << (N 3, N 4)))); infixr 2 >> infixr 2 ## infixr 3 << val f21222 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v21222 = f21222 (op >> (N 1, op ## (N 2, op << (N 3, N 4)))); (*****************************************) (* left = mid = right *) infix 2 >> infix 2 ## infix 2 << val f22111 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v22111 = f22111 (op << (op ## (op >> (N 1, N 2), N 3), N 4)); infix 2 >> infix 2 ## infixr 2 << val f22112 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v22112 = f22112 (op << (op ## (op >> (N 1, N 2), N 3), N 4)); infix 2 >> infixr 2 ## infix 2 << val f22121 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v22121 = f22121 (op << (op ## (op >> (N 1, N 2), N 3), N 4)); infix 2 >> infixr 2 ## infixr 2 << val f22122 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v22122 = f22122 (op ## (op >> (N 1, N 2), op << (N 3, N 4))); infixr 2 >> infix 2 ## infix 2 << val f22211 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v22211 = f22211 (op << (op ## (op >> (N 1, N 2), N 3), N 4)); infixr 2 >> infix 2 ## infixr 2 << val f22212 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v22212 = f22212 (op << (op ## (op >> (N 1, N 2), N 3), N 4)); infixr 2 >> infixr 2 ## infix 2 << val f22221 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v22221 = f22221 (op << (op >> (N 1, op ## (N 2, N 3)), N 4)); infixr 2 >> infixr 2 ## infixr 2 << val f22222 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v22222 = f22222 (op >> (N 1, op ## (N 2, op << (N 3, N 4)))); (*****************************************) (* left = mid > right *) infix 2 >> infix 2 ## infix 1 << val f23111 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v23111 = f23111 (op << (op ## (op >> (N 1, N 2), N 3), N 4)); infix 2 >> infix 2 ## infixr 1 << val f23112 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v23112 = f23112 (op << (op ## (op >> (N 1, N 2), N 3), N 4)); infix 2 >> infixr 2 ## infix 1 << val f23121 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v23121 = f23121 (op << (op ## (op >> (N 1, N 2), N 3), N 4)); infix 2 >> infixr 2 ## infixr 1 << val f23122 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v23122 = f23122 (op << (op ## (op >> (N 1, N 2), N 3), N 4)); infixr 2 >> infix 2 ## infix 1 << val f23211 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v23211 = f23211 (op << (op ## (op >> (N 1, N 2), N 3), N 4)); infixr 2 >> infix 2 ## infixr 1 << val f23212 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v23212 = f23212 (op << (op ## (op >> (N 1, N 2), N 3), N 4)); infixr 2 >> infixr 2 ## infix 1 << val f23221 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v23221 = f22221 (op << (op >> (N 1, op ## (N 2, N 3)), N 4)); infixr 2 >> infixr 2 ## infixr 1 << val f23222 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v23222 = f23222 (op << (op >> (N 1, op ## (N 2, N 3)), N 4)); (*****************************************************************************) (* left < mid < right *) infix 1 >> infix 2 ## infix 3 << val f31111 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v31111 = f31111 (op >> (N 1, op ## (N 2, op << (N 3, N 4)))); infix 1 >> infix 2 ## infixr 3 << val f31112 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v31112 = f31112 (op >> (N 1, op ## (N 2, op << (N 3, N 4)))); infix 1 >> infixr 2 ## infix 3 << val f31121 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v31121 = f31121 (op >> (N 1, op ## (N 2, op << (N 3, N 4)))); infix 1 >> infixr 2 ## infixr 3 << val f31122 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v31122 = f31122 (op >> (N 1, op ## (N 2, op << (N 3, N 4)))); infixr 1 >> infix 2 ## infix 3 << val f31211 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v31211 = f31211 (op >> (N 1, op ## (N 2, op << (N 3, N 4)))); infixr 1 >> infix 2 ## infixr 3 << val f31212 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v31212 = f31212 (op >> (N 1, op ## (N 2, op << (N 3, N 4)))); infixr 1 >> infixr 2 ## infix 3 << val f31221 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v31221 = f31221 (op >> (N 1, op ## (N 2, op << (N 3, N 4)))); infixr 1 >> infixr 2 ## infixr 3 << val f31222 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v31222 = f31222 (op >> (N 1, op ## (N 2, op << (N 3, N 4)))); (*****************************************) (* left < mid = right *) infix 1 >> infix 2 ## infix 2 << val f32111 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v32111 = f32111 (op >> (N 1, op << (op ## (N 2, N 3), N 4))); infix 1 >> infix 2 ## infixr 2 << val f32112 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v32112 = f32112 (op >> (N 1, op << (op ## (N 2, N 3), N 4))); infix 1 >> infixr 2 ## infix 2 << val f32121 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v32121 = f32121 (op >> (N 1, op << (op ## (N 2, N 3), N 4))); infix 1 >> infixr 2 ## infixr 2 << val f32122 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v32122 = f32122 (op >> (N 1, op ## (N 2, op << (N 3, N 4)))); infixr 1 >> infix 2 ## infix 2 << val f32211 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v32211 = f32211 (op >> (N 1, op << (op ## (N 2, N 3), N 4))); infixr 1 >> infix 2 ## infixr 2 << val f32212 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v32212 = f32212 (op >> (N 1, op << (op ## (N 2, N 3), N 4))); infixr 1 >> infixr 2 ## infix 2 << val f32221 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v32221 = f32221 (op >> (N 1, op << (op ## (N 2, N 3), N 4))); infixr 1 >> infixr 2 ## infixr 2 << val f32222 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v32222 = f32222 (op >> (N 1, op ## (N 2, op << (N 3, N 4)))); (*****************************************) (* left < mid > right *) infix 1 >> infix 2 ## infix 1 << val f33111 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v33111 = f33111 (op << (op >> (N 1, op ## (N 2, N 3)), N 4)); infix 1 >> infix 2 ## infixr 1 << val f33112 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v33112 = f33112 (op << (op >> (N 1, op ## (N 2, N 3)), N 4)); infix 1 >> infixr 2 ## infix 1 << val f33121 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v33121 = f33121 (op << (op >> (N 1, op ## (N 2, N 3)), N 4)); infix 1 >> infixr 2 ## infixr 1 << val f33122 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v33122 = f33122 (op << (op >> (N 1, op ## (N 2, N 3)), N 4)); infixr 1 >> infix 2 ## infix 1 << val f33211 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v33211 = f33211 (op << (op >> (N 1, op ## (N 2, N 3)), N 4)); infixr 1 >> infix 2 ## infixr 1 << val f33212 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v33212 = f33212 (op >> (N 1, op << (op ## (N 2, N 3), N 4))); infixr 1 >> infixr 2 ## infix 1 << val f33221 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v33221 = f33221 (op << (op >> (N 1, op ## (N 2, N 3)), N 4)); infixr 1 >> infixr 2 ## infixr 1 << val f33222 = fn x => case x of x1 >> x2 ## x3 << x4 => (x1, x2, x3, x4); val v33222 = f33222 (op >> (N 1, op << (op ## (N 2, N 3), N 4))); smlsharp-1.2.0/test/tests/coresml/tests/labelDuplication001.sml0000644 000000000000000000000444212050661606024647 0ustar00rootroot0000000 0000000 (* label duplication should be rejected.

The SML Definition says:

No expression row, pattern row or type-expression row may bind the same lab twice.

    • record expression
    • record pattern in case/fn expression
    • record pattern in fun declaration
    • record type expression in typed pattern
    • record type expression in layered pattern
    • record type expression in record type expression
    • record type expression in constructed type expression
    • record type expression in domain of function type expression
    • record type expression in range of function type expression
    • record type expression in typed expression
    • record type expression in type bind
    • record type expression in data constructor bind
    • record type expression in exception constructor bind
    • record type expression annotated with label in pattern row in derived form
    • record type expression in tuple type expression
    • record type expression in fun declaration in derived form
*) (* expression *) val e1 = {a = 1, b = 4, a = 2, b = 3}; (* pattern *) val p1 = fn {a = 1, b = 4, a = 2, b = 3} => 1; val p2 = fn x => case x of {a = 1, b = 4, a = 2, b = 3} => 1; fun p3 {a = 1, b = 4, a = 2, b = 3} = 1; (* type expression *) val t1 = fn x => case x of _ : {a : int, b : bool, a : string, b : char} => a; val t2 = fn x => case x of x : {a : int, b : bool, a : string, b : char} as y => y; val t3 = fn x => (x : {a : {a : int, b : bool, a : string, b : char}}); type t4 = {a : int, b : bool, a : string, b : char} option; type t5 = {a : int, b : bool, a : string, b : char} -> int; type t6 = int -> {a : int, b : bool, a : string, b : char}; val t7 = fn x => (x : {a : int, b : bool, a : string, b : char}); type t8 = {a : int, b : bool, a : string, b : char}; datatype t9 = D9 of {a : int, b : bool, a : string, b : char}; exception t10 of {a : int, b : bool, a : string, b : char}; fun t11 x = case x of {r : {a : int, b : bool, a : string, b : char}} => r; type t12 = {a : int, b : bool, a : string, b : char} * int; fun t13 x : {a : int, b : bool, a : string, b : char} = x; smlsharp-1.2.0/test/tests/coresml/tests/let001.sml0000644 000000000000000000000123612050661606022156 0ustar00rootroot0000000 0000000 (* let expression. rule 4
  • the entity declared local
    • variable
    • type
    • datatype
    • datatype replication
    • exception
    • abstype
*) val x = true; let val x = 1 in x + 2 end; type t = string; let type t = int * bool in (1, false) : t end; datatype dt = C of int; let datatype dt = C of int * bool in C (2, true) end; datatype dt = D of int; datatype ds = D of (int * bool); let datatype dt = datatype ds in D (2, true) end; exception F of int; let exception F of int * bool in F(3, false) end; (* ToDo : case for abstype *) smlsharp-1.2.0/test/tests/coresml/tests/list001.sml0000644 000000000000000000000032012050661606022336 0ustar00rootroot0000000 0000000 (* list epxression (derived form).
  • the number of elements
    • 0
    • 1
*) val v1 = []; val v2 = [1]; val v3 = [1 ,2]; val v4 = [1, 2, 3]; smlsharp-1.2.0/test/tests/coresml/tests/listPattern001.sml0000644 000000000000000000000061512050661606023703 0ustar00rootroot0000000 0000000 (* list pattern (derived form).
  • the number of elements
    • 0
    • 1
*) fun f1 l = case l of [] => 1 | _ => 2; val v1 = f1 []; fun f2 l = case l of [x] => x | _ => 2; val v2 = f2 [1]; fun f3 l = case l of [x, y] => x + y | _ => 2; val v3 = f3 [1 ,2]; fun f4 l = case l of [x, y, z] => x + y + z | _ => 2; val v4 = f4 [1, 2, 3]; smlsharp-1.2.0/test/tests/coresml/tests/local001.sml0000644 000000000000000000000151212050661606022461 0ustar00rootroot0000000 0000000 (* local declaration. rule 21
  • entity declared in local
    • val
    • type
    • datatype
    • data constructor
    • exception
*) val x1 = 1; local val x1 = true in val v11 = if x1 then 1 else 2 end; val v12 = x1 + 2; type t2 = int; local type t2 = bool in val v21 = true : t2 end; val v22 = 1 : t2; datatype dt3 = C31 of int; local datatype dt3 = C32 of bool in val v31 = case (C32 true) : dt3 of C32 true => 1 | C32 false => 2 end; val v32 = C31 3 : dt3; datatype dt41 = C4 of int; local datatype dt42 = C4 of bool in val v41 = case C4 true of C4 true => 1 | C4 false => 2 end; val v42 = C4 4; exception E5 of int; local exception E5 of bool in val v51 = case E5 true of E5 true => 1 | E5 false => 2 end; val v52 = E5 5; smlsharp-1.2.0/test/tests/coresml/tests/local002.sml0000644 000000000000000000000066312050661606022470 0ustar00rootroot0000000 0000000 (* test cases for local declaration. rule 21, 23, 24
  • the number of local declarations
    • 0
    • 1
    • 2
    • 2, separated by semicolon
*) local in val v1 = 1 end; local val x2 = 1 in val v2 = x2 end; local val x31 = true val x32 = "foo" in val v3 = (x31, x32) end; local val x41 = true; val x42 = "foo" in val v4 = (x41, x42) end; smlsharp-1.2.0/test/tests/coresml/tests/local003.sml0000644 000000000000000000000055012050661606022464 0ustar00rootroot0000000 0000000 (* test cases for local declaration. rule 21, 23, 24
  • the number of global declarations
    • 0
    • 1
    • 2
    • 2, separated by semicolon
*) local in end; local in val v2 = 2 end; local in val v31 = 3 val v32 = "three" end; local in val v41 = 4; val v42 = "four" end; smlsharp-1.2.0/test/tests/coresml/tests/match001.sml0000644 000000000000000000000106512050661606022466 0ustar00rootroot0000000 0000000 (* occurrence of variables in rule body which are bound in atomic pattern. rule 14.
  • pattern
    • constructor pattern
    • variable pattern
    • record pattern
    • tuple pattern
    • parenthetic pattern
*) datatype dt1 = C1; fun f x = case x of C1 => 1; val v1 = f C1; fun f x = case x of y => y; val v2 = f 2; fun f x = case x of {a = y} => y; val v3 = f {a = 3}; fun f x = case x of (y, w, z) => y; val v4 = f (4, true, "foo"); fun f x = case x of (y) => y val v5 = f 5; smlsharp-1.2.0/test/tests/coresml/tests/match002.sml0000644 000000000000000000000112512050661606022464 0ustar00rootroot0000000 0000000 (* occurrence of variables in rule body which are bound in non-atomic pattern. rule 14, 41, 42, 43
  • pattern containing a variable pattern
    • constructor applicatioin
    • typed
    • aliased
    • typed and aliased
    • aliasing
*) datatype dt1 = C1 of int; fun f x = case x of C1 y => y; val v1 = f (C1 1); fun f x = case x of (y : int) => y; val v2 = f 2; fun f x = case x of y as 3 => y; val v3 = f 3; fun f x = case x of y : int as 4 => y; val v4 = f 4; fun f x = case x of z as y => y; val v5 = f 5; smlsharp-1.2.0/test/tests/coresml/tests/matches001.sml0000644 000000000000000000000056712050661606023024 0ustar00rootroot0000000 0000000 (* matches. rule 13
  • the number of rules
    • 1
    • 2
    • 3
*) val v1 = case 1 of 1 => 1; val v21 = case 1 of 1 => 1 | 2 => 2; val v22 = case 2 of 1 => 1 | 2 => 2; val v31 = case 1 of 1 => 1 | 2 => 2 | 3 => 3; val v32 = case 2 of 1 => 1 | 2 => 2 | 3 => 3; val v33 = case 3 of 1 => 1 | 2 => 2 | 3 => 3; smlsharp-1.2.0/test/tests/coresml/tests/nameDuplication001.sml0000644 000000000000000000000072412050661606024507 0ustar00rootroot0000000 0000000 (* duplicated type constructor names in type bind should be rejected. (syntax restriction)
  • the number of duplicated names
    • 1
    • 2
  • the number of bindings sharing a duplicated name
    • 2
    • 3
*) type t12 = int and t12 = string; type t13 = int and t13 = string and t13 = bool; type t221 = int and t222 = string and t221 = bool and t222 = char; smlsharp-1.2.0/test/tests/coresml/tests/nameDuplication002.sml0000644 000000000000000000000104312050661606024503 0ustar00rootroot0000000 0000000 (* duplicated type constructor names in datatype bind should be rejected. (syntax restriction)
  • the number of duplicated names
    • 1
    • 2
  • the number of bindings sharing a duplicated name
    • 2
    • 3
*) datatype t12 = D12 of int and t12 = E12 of string; datatype t13 = D13 of int and t13 = E13 of string and t13 = F13 of bool; datatype t221 = D22 of int and t222 = E22 of string and t221 = F22 of bool and t222 = G22 of char; smlsharp-1.2.0/test/tests/coresml/tests/nameDuplication003.sml0000644 000000000000000000000142212050661606024505 0ustar00rootroot0000000 0000000 (* duplicated constructor names in exception bind should be rejected. (syntax restriction)
  • the number of duplicated names
    • 1
    • 2
  • the number of bindings sharing a duplicated name
    • 2
    • 3
  • kind of exception bind
    • both
    • only exception definition
    • only exception replication
*) exception e121a; exception e121 = e121a and e121 of int; exception e122 of int and e122 of string; exception e123a and e123b; exception e123 = e123a and e123 = e123b; exception e132 of int and e132 of string and e132 of bool; exception e2221 of int and e2222 of string and e2221 of bool and e2222 of char; smlsharp-1.2.0/test/tests/coresml/tests/nameDuplication004.sml0000644 000000000000000000000105112050661606024504 0ustar00rootroot0000000 0000000 (* duplicated value constructor names in datatype bind should be rejected. (syntax restriction)
  • the number of duplicated names
    • 1
    • 2
  • the number of bindings sharing a duplicated name
    • 2
    • 3
*) datatype t12a = D12 of int and t12b = D12 of string; datatype t13a = D13 of int and t13b = D13 of string and t13c = D13 of bool; datatype t22a = D22 of int and t22b = E22 of string and t22c = D22 of bool and t22d = E22 of char; smlsharp-1.2.0/test/tests/coresml/tests/orelse001.sml0000644 000000000000000000000032212050661606022656 0ustar00rootroot0000000 0000000 (* orelse expression.
  • result of left argument
    • true
    • false
*) exception E; val v1 = 1 = 1 orelse raise E; val v2 = 1 = 2 orelse true; smlsharp-1.2.0/test/tests/coresml/tests/orelse002.sml0000644 000000000000000000000057412050661606022670 0ustar00rootroot0000000 0000000 (* left associative of orelse
  • the number of repeated of orelse
    • 2
    • 3
*) val v1 = (print "1"; false) orelse (print "2"; false) orelse (print "3"; false); val v2 = (print "1"; false) orelse (print "2"; false) orelse (print "3"; false) orelse (print "4"; false); smlsharp-1.2.0/test/tests/coresml/tests/parenthetic001.sml0000644 000000000000000000000051412050661606023676 0ustar00rootroot0000000 0000000 (* parenthetic expression. rule 5
  • inner expression
    • constant
    • variable
    • record
    • let
    • parenthetic expression
*) val v1 = (1); val x = true val v2 = (x); val v3 = ({}); val v4 = (let val x = 1 in x end); val v5 = ( ((1, 2)) ); smlsharp-1.2.0/test/tests/coresml/tests/parentheticType001.sml0000644 000000000000000000000116412050661606024542 0ustar00rootroot0000000 0000000 (* parenthetic type. rule 48
  • inner type
    • type variable
    • record type
    • base type
    • constructed type
    • function type
    • parenthetic type
*) type 'a t1 = ('a); val v1 : int t1 = 1; type t2 = ({x : int}); val v2 : t2 = {x = 2}; type t3 = (int); val v3 : t3 = 3; type ('a, 'b) t41 = 'a * 'b * bool; type t4 = ((int, string) t41); val v4 : t4 = (4, "four", false); type t5 = (int -> int); val v5 : t5 = fn x => x + 5; type ('a, 'b) t61 = 'a * 'b * bool; type t6 = (((int, string) t61)); val v6 : t6 = (6, "six", true); smlsharp-1.2.0/test/tests/coresml/tests/patternRows001.sml0000644 000000000000000000000111112050661606023712 0ustar00rootroot0000000 0000000 (* flexible pattern in pattern rows. rule 38, 39
  • the number of branches containing flexible record pattern
    • 1
    • 2
  • the number of fields matching with flexible pattern
    • 0
    • 1
*) fun f1 x = case x of {n1 = 1, n2, ...} => n2 | {n1, n2} => n2; val v11 = f1 {n1 = 1, n2 = 2}; val v12 = f1 {n1 = 2, n2 = 3}; fun f2 x = case x of {n1 = 1, n2, ...} => n2 | {n1, n2, n3} => n2 + n3; val v21 = f2 {n1 = 1, n2 = 2, n3 = 3}; val v22 = f2 {n1 = 2, n2 = 3, n3 = 4}; smlsharp-1.2.0/test/tests/coresml/tests/patternRows002.sml0000644 000000000000000000000143612050661606023725 0ustar00rootroot0000000 0000000 (* flexible pattern in pattern rows. rule 38, 39
  • the number of branches containing flexible record pattern
    • 2
  • flexible pattern overlap
    • R1 and R2 do not overlap
    • R1 and R2 overlap
    • R1 is subset of R2
*) fun f1 x = case x of {n1 = 1, n2, ...} => n2 | {n3, n4, ...} => n3; val v11 = f1 {n1 = 1, n2 = 2, n3 = 3, n4 = 4}; val v12 = f1 {n1 = 2, n2 = 3, n3 = 3, n4 = 4}; fun f2 x = case x of {n1 = 1, n2, ...} => n2 | {n2, n3, ...} => n2; val v21 = f2 {n1 = 1, n2 = 2, n3 = 3}; val v22 = f2 {n1 = 2, n2 = 3, n3 = 3}; fun f3 x = case x of {n1 = 1, n2, ...} => n2 | {n1, n2, n3, ...} => n3; val v31 = f3 {n1 = 1, n2 = 2, n3 = 3}; val v32 = f3 {n1 = 2, n2 = 3, n3 = 3}; smlsharp-1.2.0/test/tests/coresml/tests/patternRows003.sml0000644 000000000000000000000101212050661606023714 0ustar00rootroot0000000 0000000 (* pattern rows (derived form).
  • type annotation with label
    • no
    • yes
  • aliase with label
    • no
    • yes
*) fun f11 r = case r of {a} => a; val v11 = f11 {a = 11}; fun f12 r = case r of {a as (x, y)} => (a, x, y); val v12 = f12 {a = (1, 2)}; fun f21 r = case r of {a : int} => a; val v21 = f21 {a = 21}; fun f22 r = case r of {a : int * int as (x, y)} => (a, x, y); val v22 = f22 {a = (2, 2)}; smlsharp-1.2.0/test/tests/coresml/tests/patternRows004.sml0000644 000000000000000000000256412050661606023732 0ustar00rootroot0000000 0000000 (* flexible record patterns whose type is a record kinded type variable. rule 38, 39
  • the number of branches containing flexible record pattern
    • 2
  • where the type variable is bound
    • inner most poly function
    • inner most multiple recursive poly function
    • outer poly function
    • outer multiple recursive poly function
*) fun f1 x = case x of {n1 = 1, n2, ...} => n2 | {n2, n3, ...} => n3; val v11 = f1 {n1 = 1, n2 = 3, n3 = 5}; val v12 = f1 {n1 = 2, n2 = 7, n3 = 11}; fun f21 x = case x of {n1 = 1, n2, ...} => n2 + (f22 x) | {n2, n3, ...} => n3 and f22 x = case x of {n1 = 1, n2, ...} => n2 | {n2, n3, ...} => n3 + (f21 x) val v21 = f21 {n1 = 1, n2 = 3, n3 = 5}; val v22 = f21 {n1 = 2, n2 = 7, n3 = 11}; fun f3 x = let fun f31 y = case x of {n1 = 1, n2, ...} => n2 | {n2, n3, ...} => n3 in f31 end val v31 = f3 {n1 = 1, n2 = 3, n3 = 5} true; val v32 = f3 {n1 = 2, n2 = 7, n3 = 11} "a"; fun f41 x = let fun f411 y = case x of {n1 = 1, n2, ...} => n2 + (f42 x y) | {n2, n3, ...} => n3 in f411 end and f42 x = let fun f421 y = case x of {n1 = 1, n2, ...} => n2 | {n2, n3, ...} => n3 + (f41 x y) in f421 end val v41 = f41 {n1 = 1, n2 = 3, n3 = 5} true; val v42 = f41 {n1 = 2, n2 = 7, n3 = 11} "a"; smlsharp-1.2.0/test/tests/coresml/tests/primitives001.sml0000644 000000000000000000000550312050661606023566 0ustar00rootroot0000000 0000000 (* overloaded primitive operators.
  • operator
    • abs
    • ~
    • div
    • mod
    • *
    • /
    • +
    • -
    • <
    • >
    • <=
    • >=
*) (* abs is defined on realint *) val abs_int1 = abs 2; val abs_int2 = abs ~2; val abs_real1 = abs 1.23; val abs_real2 = abs ~1.23; (* ~ is defined on realint *) val neg_int1 = ~(2); val neg_int2 = ~(~2); val neg_real1 = ~(1.23); val neg_real2 = ~(~1.23); (* div is defined on wordint *) val div_int = 5 div 2; val div_word = 0w5 div 0w2; (* mod is defined on wordint *) val mod_int = 5 mod 2; val mod_word = 0w5 mod 0w2; (* * is defined on num *) val mul_int = 2 * 3; val mul_real = 1.2 * 2.3; val mul_word = 0w2 * 0w3; (* / is defined on real *) val div_real = 4.0 / 2.0; (* + is defined on num *) val add_int = 1 + 2; val add_real = 1.2 + 3.4; val add_word = 0w1 + 0w2; (* - is defined on num *) val sub_int = 1 - 2; val sub_real = 1.2 - 3.4; val sub_word = 0w2 - 0w1; val sub_word2 = 0w1 - 0w2; (* < is defined on numtxt *) val lt_int1 = 1 < 2; val lt_int2 = 1 < 1; val lt_int3 = 2 < 1; val lt_real1 = 1.1 < 1.2; val lt_real2 = 1.1 < 1.1; val lt_real3 = 1.2 < 1.1; val lt_word1 = 0w1 < 0w2; val lt_word2 = 0w1 < 0w1; val lt_word3 = 0w2 < 0w1; val lt_char1 = #"a" < #"b"; val lt_char2 = #"a" < #"a"; val lt_char3 = #"b" < #"a"; val lt_string1 = "a" < "b"; val lt_string2 = "a" < "a"; val lt_string3 = "b" < "a"; (* > is defined on numtxt *) val gt_int1 = 1 > 2; val gt_int2 = 1 > 1; val gt_int3 = 2 > 1; val gt_real1 = 1.1 > 1.2; val gt_real2 = 1.1 > 1.1; val gt_real3 = 1.2 > 1.1; val gt_word1 = 0w1 > 0w2; val gt_word2 = 0w1 > 0w1; val gt_word3 = 0w2 > 0w1; val gt_char1 = #"a" > #"b"; val gt_char2 = #"a" > #"a"; val gt_char3 = #"b" > #"a"; val gt_string1 = "a" > "b"; val gt_string2 = "a" > "a"; val gt_string3 = "b" > "a"; (* <= is defined on numtxt *) val lteq_int1 = 1 <= 2; val lteq_int2 = 1 <= 1; val lteq_int3 = 2 <= 1; val lteq_real1 = 1.1 <= 1.2; val lteq_real2 = 1.1 <= 1.1; val lteq_real3 = 1.2 <= 1.1; val lteq_word1 = 0w1 <= 0w2; val lteq_word2 = 0w1 <= 0w1; val lteq_word3 = 0w2 <= 0w1; val lteq_char1 = #"a" <= #"b"; val lteq_char2 = #"a" <= #"a"; val lteq_char3 = #"b" <= #"a"; val lteq_string1 = "a" <= "b"; val lteq_string2 = "a" <= "a"; val lteq_string3 = "b" <= "a"; (* >= is defined on numtxt *) val gteq_int1 = 1 >= 2; val gteq_int2 = 1 >= 1; val gteq_int3 = 2 >= 1; val gteq_real1 = 1.1 >= 1.2; val gteq_real2 = 1.1 >= 1.1; val gteq_real3 = 1.2 >= 1.1; val gteq_word1 = 0w1 >= 0w2; val gteq_word2 = 0w1 >= 0w1; val gteq_word3 = 0w2 >= 0w1; val gteq_char1 = #"a" >= #"b"; val gteq_char2 = #"a" >= #"a"; val gteq_char3 = #"b" >= #"a"; val gteq_string1 = "a" >= "b"; val gteq_string2 = "a" >= "a"; val gteq_string3 = "b" >= "a"; smlsharp-1.2.0/test/tests/coresml/tests/primitives002.sml0000644 000000000000000000000234612050661606023571 0ustar00rootroot0000000 0000000 (* precedence of overloaded primitive operators.
  • operator(precedence)
    • div(7)
    • mod(7)
    • *(7)
    • /(7)
    • +(6)
    • -(6)
    • <(4)
    • >(4)
    • <=(4)
    • >=(4)
*) infix 8 P8 PR8; infix 7 P7 PR7; infix 6 P6 PR6; infix 5 P5 PR5; infix 4 P4 PR4; infix 3 P3 PR3 PNB3; fun x P8 y = (x + y) * 17; fun x P7 y = (x + y) * 13; fun x P6 y = (x + y) * 11; fun x P5 y = (x + y) * 7; fun x P4 y = (x + y) * 5; fun x P3 y = (x + y) * 3; fun x PR8 y = (x + y) * 1.7; fun x PR7 y = (x + y) * 1.3; fun x PR6 y = (x + y) * 1.1; fun x PR5 y = (x + y) * 0.7; fun x PR4 y = (x + y) * 0.5; fun x PR3 y = (x + y) * 0.3; fun x PNB3 y = if y then x * 3 else x * 5; val (n1, n2, n3, n4) = (3, 5, 7, 11); val (r1, r2, r3, r4) = (3.3, 5.5, 7.7, 11.11); val div1 = n1 P6 n2 div n3 P8 n4; val mod1 = n1 P6 n2 mod n3 P8 n4; val mul1 = n1 P6 n2 * n3 P8 n4; val divReal1 = r1 PR6 r2 / r3 PR8 r4; val plus1 = n1 P5 n2 + n3 P7 n4; val sub1 = n1 P5 n2 - n3 P7 n4; val lt1 = n1 PNB3 n2 < n3 P5 n4; val gt1 = n1 PNB3 n2 > n3 P5 n4; val lteq1 = n1 PNB3 n2 <= n3 P5 n4; val gteq1 = n1 PNB3 n2 >= n3 P5 n4; smlsharp-1.2.0/test/tests/coresml/tests/raise001.sml0000644 000000000000000000000020612050661606022471 0ustar00rootroot0000000 0000000 (* raise expression. rule 11 A raise expression can be typed as any type. *) exception E1; val v1 = if false then raise E1 else 1; smlsharp-1.2.0/test/tests/coresml/tests/Rank1001.sml0000644 000000000000000000000145312050661606022347 0ustar00rootroot0000000 0000000 (* result expression of case branch is mono-typed in Rank-1 type system.
  • result expression of case branch
    • polymorphic typed variable bound at global
    • polymorphic expression (non variable)
    • polymorphic typed variable bound in a variable pattern of the branch
    • polymorphic typed variable bound in a constructed pattern of the branch
    • polymorphic typed variable bound in a record pattern of the branch
*) fun id x = x; datatype 'a dt = D of 'a; val vPolyGlobal = case 1 of _ => id; val vPolyExp = case 1 of _ => (fn x => x); val vPolyVarPattern = case id of f => f; val vPolyConstPattern = case D id of D f => f; val vPolyRecord = case {a = id} of {a = f} => f; smlsharp-1.2.0/test/tests/coresml/tests/Rank1002.sml0000644 000000000000000000000123012050661606022341 0ustar00rootroot0000000 0000000 (* A variable bound in a case branch is mono-typed within the result expression of the branch in Rank-1 type system. (This differs to the original Rank-1 type system depicted in the paper.)
  • the pattern in the case branch which binds a polytyped variable.
    • a variable pattern
    • a argument of a constructed pattern
    • a variable in a field in a record pattern
*) fun id x = x; datatype 'a dt = D of 'a; val vPolyVarPattern = case id of f => (f 1, f "abc"); val vPolyConstPattern = case D id of D f => (f 1, f "abc"); val vPolyRecord = case {a = id} of {a = f} => (f 1, f "abc"); smlsharp-1.2.0/test/tests/coresml/tests/Rank1003.sml0000644 000000000000000000000207412050661606022351 0ustar00rootroot0000000 0000000 (* range of function can be polymorphic, and result of application also.
  • polytype body expression of function
    • a polytype variable
    • a polytype function abstraction
    • a record containing a polytype field
    • a polytype constructed expression
  • the type of body contains the type variable which is bound by the abstraction.
    • no
    • yes
*) fun id x = x; datatype 'a dt = D; val fPolyVar1 = fn x => id; val xPolyVar1 = fPolyVar1 (1, 2); val fPolyVar2 = fn x => (id, x); val xPolyVar2 = fPolyVar2 (1, 2); val fPolyAbs1 = fn x => fn y => y; val xPolyAbs1 = fPolyAbs1 (1, 2); val fPolyAbs2 = fn x => fn y => (x, y); val xPolyAbs2 = fPolyAbs2 (1, 2); val fRecord1 = fn x => {a = id}; val xRecord1 = fRecord1 (1, 2); val fRecord2 = fn x => {a = id, b = x}; val xRecord2 = fRecord2 (1, 2); val fPolyConst1 = fn x => D; val xPolyConst1 = fPolyConst1 (1, 2); val fPolyConst2 = fn x => (D, x); val xPolyConst2 = fPolyConst2 (1, 2); smlsharp-1.2.0/test/tests/coresml/tests/Rank1004.sml0000644 000000000000000000000122412050661606022346 0ustar00rootroot0000000 0000000 (* a record expression can contain a polymorphic field value in Rank1 type system. And, selection of the field is also poly-typed.
  • the poly-typed field expression
    • a polytype variable
    • a polytype function abstraction
    • a record containing a polytype field
    • a polytype constructed expression
*) fun id x = x; datatype 'a dt = D; val rPolyVar = {a = id}; val xPolyVar = #a rPolyVar; val rPolyAbs = {a = fn x => x}; val xPolyAbs = #a rPolyAbs; val rRecord = {a = {a = id}}; val xRecord = #a rRecord; val rPolyConst = {a = D}; val xPolyConst = #a rPolyConst; smlsharp-1.2.0/test/tests/coresml/tests/Rank1005.sml0000644 000000000000000000000204412050661606022350 0ustar00rootroot0000000 0000000 (* "let" expression can be poly-typed in Rank-1 type system. (SML type system does not allow poly-typed let.)
  • the polytype body expression of the let
    • a polytype variable
    • a polytype function abstraction
    • a record containing a polytype field
    • a polytype constructed expression
    • a polytype let expression
  • the type of body of let contains a type variable
    • no
    • yes
*) fun id x = x; datatype 'a dt = D | E of 'a; val vPolyVar1 = let in id end; val vPolyVar2 = let val x = (id, fn x => x) in x end; val vPolyAbs1 = let in fn x => x end; val vPolyAbs2 = let val f = fn x => x in fn x => f end; val vRecord1 = let in {a = id} end; val vRecord2 = let val x = (id, id) in {a = x, b = id} end; val vPolyConst1 = let in D end; val vPolyConst2 = let val x = D in E D end; val vLet1 = let in let in id end end; val vLet2 = let val x = (id, D) in let val y = (E id, x) in (x, y) end end; smlsharp-1.2.0/test/tests/coresml/tests/Rank1006.sml0000644 000000000000000000000354012050661606022353 0ustar00rootroot0000000 0000000 (* domain of function can not be polymorphic. The range of function is poly-type. Poly-type argument must be instantiated to a mono-type before passed to the function.
  • polytype argument expression of function
    • a polytype variable
    • a polytype function abstraction
    • a record containing a polytype field
    • a polytype constructed expression
  • the result type contains the type variable which is in the domain type.
    • no
    • yes
*) fun id x = x; datatype 'a dt = D; (* 'a does not occur in the result type. *) val f1 = fn (x : 'a) => fn y => y; (* 'a occurs in the result type. *) val f2 = fn (x : 'a) => fn y => (x, y); val fPolyVar11 = f1 id; val xPolyVar11 = fPolyVar11 1; val fPolyVar12 = f2 id; val xPolyVar12 = fPolyVar12 1; val fPolyVar21 = fn x => (1, f1 x); val xPolyVar21 = fPolyVar21 1; val fPolyVar22 = fn x => (1, f2 x); val xPolyVar22 = fPolyVar22 1; val fPolyAbs11 = f1 (fn x => fn y => y); val xPolyAbs11 = fPolyAbs11 1; val fPolyAbs12 = f2 (fn x => fn y => y); val xPolyAbs12 = fPolyAbs12 1; val fPolyAbs21 = f1 (fn x => fn y => (x, y)); val xPolyAbs21 = fPolyAbs21 1; val fPolyAbs22 = f2 (fn x => fn y => (x, y)); val xPolyAbs22 = fPolyAbs22 1; val fRecord11 = f1 {a = id}; val xRecord11 = fRecord11 1; val fRecord12 = f2 {a = id}; val xRecord12 = fRecord12 1; val fRecord21 = fn x => f1 {a = id, b = x}; val xRecord21 = fRecord21 1 "a"; val fRecord22 = fn x => f2 {a = id, b = x}; val xRecord22 = fRecord22 1 "a"; val fPolyConst11 = fn x => f1 D; val xPolyConst11 = fPolyConst11 1 "a"; val fPolyConst12 = fn x => f2 D; val xPolyConst12 = fPolyConst12 1 "a"; val fPolyConst21 = fn x => f1 (D, x); val xPolyConst21 = fPolyConst21 1 "a"; val fPolyConst22 = fn x => f2 (D, x); val xPolyConst22 = fPolyConst22 1 "a"; smlsharp-1.2.0/test/tests/coresml/tests/Rank1007.sml0000644 000000000000000000000253312050661606022355 0ustar00rootroot0000000 0000000 (* "handle" expression must be a mono-type under the Rank-1 type system.
  • type of body expression
    • poly-type
    • mono-type
  • result expression of the barnch of handle
    • "raise" expression
    • poly-type variable
    • poly-type non-variable expression
    • mono-type expression
*) fun id x = x; fun inc x = x + 1; exception E; val fHanldePolyBodyRaise = id handle _ => raise E; val xHanldePolyBodyRaise = fHanldePolyBodyRaise 1; val fHanldePolyBodyPolyVar = id handle _ => id; val xHanldePolyBodyPolyVar = fHanldePolyBodyPolyVar 2; val fHanldePolyBodyPolyExp = id handle _ => (fn x => x); val xHanldePolyBodyPolyExp = fHanldePolyBodyPolyExp 3; val fHanldePolyBodyMonoExp = id handle _ => (fn x => x + 1); val xHanldePolyBodyMonoExp = fHanldePolyBodyMonoExp 5; (********************) val fHanldeMonoBodyRaise = inc handle _ => raise E; val xHanldeMonoBodyRaise = fHanldeMonoBodyRaise 1; val fHanldeMonoBodyPolyVar = inc handle _ => id; val xHanldeMonoBodyPolyVar = fHanldeMonoBodyPolyVar 2; val fHanldeMonoBodyPolyExp = inc handle _ => (fn x => x); val xHanldeMonoBodyPolyExp = fHanldeMonoBodyPolyExp 3; val fHanldeMonoBodyMonoExp = inc handle _ => (fn x => x - 1); val xHanldeMonoBodyMonoExp = fHanldeMonoBodyMonoExp 4; smlsharp-1.2.0/test/tests/coresml/tests/Rank1008.sml0000644 000000000000000000002153412050661606022360 0ustar00rootroot0000000 0000000 (* scope of polymorphic in Rank-1 type system.
  • the number of nesting of abstractions
    • 2
    • 3
  • argument type
    • polytype
    • monotype
  • argument type occurs in the range type of function.
    • (1)yes
    • (2)no
*) val fPP11 = fn x => fn y => (x, y); val xPP111 = (fPP11 1 "a", fPP11 "a" 2); val xPP112 = let val f = fPP11 1 in (f "a", f (1, 2)) end; val fPP12 = fn x => fn y => (x, x); val xPP121 = (fPP12 1 "a", fPP12 "a" 2); val xPP122 = let val f = fPP12 1 in (f "a", f (1, 2)) end; val fPP21 = fn x => fn y => (y, y); val xPP211 = (fPP21 1 "a", fPP21 "a" 2); val xPP212 = let val f = fPP21 1 in (f "a", f (1, 2)) end; val fPP22 = fn x => fn y => true; val xPP221 = (fPP22 1 "a", fPP22 "a" 2); val xPP222 = let val f = fPP22 1 in (f "a", f (1, 2)) end; (**********) val fMP11 = fn (x : int) => fn y => (x, y); val xMP111 = (fMP11 1 "a", fMP11 2 1.23); val xMP112 = let val f = fMP11 1 in (f "a", f (1, 2)) end; val fMP12 = fn (x : int) => fn y => (x, x); val xMP121 = (fMP12 1 "a", fMP12 2 1.23); val xMP122 = let val f = fMP12 1 in (f "a", f (1, 2)) end; val fMP21 = fn x => fn y => (y, y); val xMP211 = (fMP21 1 "a", fMP21 2 1.23); val xMP212 = let val f = fMP21 1 in (f "a", f (1, 2)) end; val fMP22 = fn (x : int) => fn y => true; val xMP221 = (fMP22 1 "a", fMP22 2 1.23); val xMP222 = let val f = fMP22 1 in (f "a", f (1, 2)) end; (**********) val fPM11 = fn x => fn (y : int) => (x, y); val xPM111 = (fPM11 "a" 1, fPM11 true 2); val fPM12 = fn x => fn (y : int) => (x, x); val xPM121 = (fPM12 "a" 1, fPM12 true 2); val fPM21 = fn x => fn (y : int) => (y, y); val xPM211 = (fPM21 "a" 1, fPM21 true 2); val fPM22 = fn x => fn (y : int) => 1.23; val xPM221 = (fPM22 "a" 1, fPM22 true 2); (********************) val fPPP111 = fn x => fn y => fn z => (x, y, z); val xPPP1111 = (fPPP111 1 "a" true, fPPP111 1.23 2 "c"); val xPPP1112 = let val f1 = fPPP111 1 val f2 = fPPP111 1.23 val g11 = f1 1 val g12 = f1 true val g21 = f2 true val g22 = f2 1 in (g11 "a", g12 (1, 2), g21 "a", g22 (1, 2)) end; val fPPP112 = fn x => fn y => fn z => (x, y); val xPPP1121 = (fPPP112 1 "a" true, fPPP112 1.23 2 "c"); val xPPP1122 = let val f1 = fPPP112 1 val f2 = fPPP112 1.23 val g11 = f1 1 val g12 = f1 true val g21 = f2 true val g22 = f2 1 in (g11 "a", g12 (1, 2), g21 "a", g22 (1, 2)) end; val fPPP121 = fn x => fn y => fn z => (x, z); val xPPP1211 = (fPPP121 1 "a" true, fPPP121 1.23 2 "c"); val xPPP1212 = let val f1 = fPPP121 1 val f2 = fPPP121 1.23 val g11 = f1 1 val g12 = f1 true val g21 = f2 true val g22 = f2 1 in (g11 "a", g12 (1, 2), g21 "a", g22 (1, 2)) end; val fPPP122 = fn x => fn y => fn z => (x, x); val xPPP1221 = (fPPP122 1 "a" true, fPPP122 1.23 2 "c"); val xPPP1222 = let val f1 = fPPP122 1 val f2 = fPPP122 1.23 val g11 = f1 1 val g12 = f1 true val g21 = f2 true val g22 = f2 1 in (g11 "a", g12 (1, 2), g21 "a", g22 (1, 2)) end; val fPPP211 = fn x => fn y => fn z => (y, z); val xPPP2111 = (fPPP211 1 "a" true, fPPP211 1.23 2 "c"); val xPPP2112 = let val f1 = fPPP211 1 val f2 = fPPP211 1.23 val g11 = f1 1 val g12 = f1 true val g21 = f2 true val g22 = f2 1 in (g11 "a", g12 (1, 2), g21 "a", g22 (1, 2)) end; val fPPP212 = fn x => fn y => fn z => (y, y); val xPPP2121 = (fPPP212 1 "a" true, fPPP212 1.23 2 "c"); val xPPP2122 = let val f1 = fPPP212 1 val f2 = fPPP212 1.23 val g11 = f1 1 val g12 = f1 true val g21 = f2 true val g22 = f2 1 in (g11 "a", g12 (1, 2), g21 "a", g22 (1, 2)) end; val fPPP221 = fn x => fn y => fn z => (z, z); val xPPP2211 = (fPPP221 1 "a" true, fPPP221 1.23 2 "c"); val xPPP2212 = let val f1 = fPPP221 1 val f2 = fPPP221 1.23 val g11 = f1 1 val g12 = f1 true val g21 = f2 true val g22 = f2 1 in (g11 "a", g12 (1, 2), g21 "a", g22 (1, 2)) end; val fPPP222 = fn x => fn y => fn z => 1.23; val xPPP2221 = (fPPP222 1 "a" true, fPPP222 1.23 2 "c"); val xPPP2222 = let val f1 = fPPP222 1 val f2 = fPPP222 1.23 val g11 = f1 1 val g12 = f1 true val g21 = f2 true val g22 = f2 1 in (g11 "a", g12 (1, 2), g21 "a", g22 (1, 2)) end; (**********) val fMMP111 = fn (x : int) => fn (y : int) => fn z => (x + 1, y + 1, z); val xMMP1111 = (fMMP111 1 2 true, fMMP111 2 3 "c"); val fMMP112 = fn (x : int) => fn (y : int) => fn z => (x + 1, y + 1); val xMMP1121 = (fMMP112 1 2 true, fMMP112 2 3 "c"); val fMMP121 = fn (x : int) => fn (y : int) => fn z => (x + 1, z); val xMMP1211 = (fMMP121 1 2 true, fMMP121 2 3 "c"); val fMMP122 = fn (x : int) => fn (y : int) => fn z => (x + 1); val xMMP1221 = (fMMP122 1 2 true, fMMP122 2 3 "c"); val fMMP211 = fn (x : int) => fn (y : int) => fn z => (y + 1, z); val xMMP2111 = (fMMP211 1 2 true, fMMP211 2 3 "c"); val fMMP212 = fn (x : int) => fn (y : int) => fn z => (y + 1); val xMMP2121 = (fMMP212 1 2 true, fMMP212 2 3 "c"); val fMMP221 = fn (x : int) => fn (y : int) => fn z => z; val xMMP2211 = (fMMP221 1 2 true, fMMP221 2 3 "c"); val fMMP222 = fn (x : int) => fn (y : int) => fn z => true; val xMMP2221 = (fMMP222 1 2 true, fMMP222 2 3 "c"); (**********) val fMPP111 = fn (x : int) => fn y => fn z => (x + 1, y, z); val xMPP1111 = (fMPP111 1 2 true, fMPP111 2 1.23 "c"); val xMPP1112 = let val f = fMPP111 1 val g1 = f "a" val g2 = f true in (g1 1.23, g1 false, g2 1.23, g2 false) end; val fMPP112 = fn (x : int) => fn y => fn z => (x + 1, y); val xMPP1121 = (fMPP112 1 2 true, fMPP112 2 1.23 "c"); val xMPP1122 = let val f = fMPP112 1 val g1 = f "a" val g2 = f true in (g1 1.23, g1 false, g2 1.23, g2 false) end; val fMPP121 = fn (x : int) => fn y => fn z => (x + 1, z); val xMPP1211 = (fMPP121 1 2 true, fMPP121 2 1.23 "c"); val xMPP1212 = let val f = fMPP121 1 val g1 = f "a" val g2 = f true in (g1 1.23, g1 false, g2 1.23, g2 false) end; val fMPP122 = fn (x : int) => fn y => fn z => (x + 1); val xMPP1221 = (fMPP122 1 2 true, fMPP122 2 1.23 "c"); val xMPP1222 = let val f = fMPP122 1 val g1 = f "a" val g2 = f true in (g1 1.23, g1 false, g2 1.23, g2 false) end; val fMPP211 = fn (x : int) => fn y => fn z => (y, z); val xMPP2111 = (fMPP211 1 2 true, fMPP211 2 1.23 "c"); val xMPP2112 = let val f = fMPP211 1 val g1 = f "a" val g2 = f true in (g1 1.23, g1 false, g2 1.23, g2 false) end; val fMPP212 = fn (x : int) => fn y => fn z => y; val xMPP2121 = (fMPP212 1 2 true, fMPP212 2 1.23 "c"); val xMPP2122 = let val f = fMPP212 1 val g1 = f "a" val g2 = f true in (g1 1.23, g1 false, g2 1.23, g2 false) end; val fMPP221 = fn (x : int) => fn y => fn z => z; val xMPP2211 = (fMPP221 1 2 true, fMPP221 2 1.23 "c"); val xMPP2212 = let val f = fMPP221 1 val g1 = f "a" val g2 = f true in (g1 1.23, g1 false, g2 1.23, g2 false) end; val fMPP222 = fn (x : int) => fn y => fn z => true; val xMPP2221 = (fMPP222 1 2 true, fMPP222 2 1.23 "c"); val xMPP2222 = let val f = fMPP222 1 val g1 = f "a" val g2 = f true in (g1 1.23, g1 false, g2 1.23, g2 false) end; (**********) val fPMP111 = fn x => fn (y : int) => fn z => (x, y + 1, z); val xPMP1111 = (fPMP111 1 2 true, fPMP111 1.23 3 "c"); val xPMP1112 = let val f1 = fPMP111 1 2 val f2 = fPMP111 1.23 2 in (f1 1.23, f1 false, f2 1.23, f2 false) end; val fPMP112 = fn x => fn (y : int) => fn z => (x, y + 1); val xPMP1121 = (fPMP112 1 2 true, fPMP112 1.23 3 "c"); val xPMP1122 = let val f1 = fPMP112 1 2 val f2 = fPMP112 1.23 2 in (f1 1.23, f1 false, f2 1.23, f2 false) end; val fPMP121 = fn x => fn (y : int) => fn z => (x, z); val xPMP1211 = (fPMP121 1 2 true, fPMP121 1.23 3 "c"); val xPMP1212 = let val f1 = fPMP121 1 2 val f2 = fPMP121 1.23 2 in (f1 1.23, f1 false, f2 1.23, f2 false) end; val fPMP122 = fn x => fn (y : int) => fn z => x; val xPMP1221 = (fPMP122 1 2 true, fPMP122 1.23 3 "c"); val xPMP1222 = let val f1 = fPMP122 1 2 val f2 = fPMP122 1.23 2 in (f1 1.23, f1 false, f2 1.23, f2 false) end; val fPMP211 = fn x => fn (y : int) => fn z => (y + 1, z); val xPMP2111 = (fPMP211 1 2 true, fPMP211 1.23 3 "c"); val xPMP2112 = let val f1 = fPMP211 1 2 val f2 = fPMP211 1.23 2 in (f1 1.23, f1 false, f2 1.23, f2 false) end; val fPMP212 = fn x => fn (y : int) => fn z => (y + 1); val xPMP2121 = (fPMP212 1 2 true, fPMP212 1.23 3 "c"); val xPMP2122 = let val f1 = fPMP212 1 2 val f2 = fPMP212 1.23 2 in (f1 1.23, f1 false, f2 1.23, f2 false) end; val fPMP221 = fn x => fn (y : int) => fn z => z; val xPMP2211 = (fPMP221 1 2 true, fPMP221 1.23 3 "c"); val xPMP2212 = let val f1 = fPMP221 1 2 val f2 = fPMP221 1.23 2 in (f1 1.23, f1 false, f2 1.23, f2 false) end; val fPMP222 = fn x => fn (y : int) => fn z => true; val xPMP2221 = (fPMP222 1 2 true, fPMP222 1.23 3 "c"); val xPMP2222 = let val f1 = fPMP222 1 2 val f2 = fPMP222 1.23 2 in (f1 1.23, f1 false, f2 1.23, f2 false) end; smlsharp-1.2.0/test/tests/coresml/tests/record001.sml0000644 000000000000000000000030512050661606022644 0ustar00rootroot0000000 0000000 (* record expression. rule 3
  • the number of fields.
    • 0
    • 1
    • 2
*) val v1 = {} val v2 = {a = 1} val v3 = {a = 1, b = 2} smlsharp-1.2.0/test/tests/coresml/tests/recordType001.sml0000644 000000000000000000000103512050661606023507 0ustar00rootroot0000000 0000000 (* record type expression. rule 45, 49 test for field labels.
    • no field
    • single field
    • 2 fields with alphabetic order
    • 2 fields with reverse alphabetic order
*) type t1 = {}; val v1 : t1 = {}; type t2 = {x : int}; val v2 : t2 = {x = 2}; type t3 = {a : int, z : bool}; val v31 : t3 = {a = 3, z = true}; val v32 : t3 = {z = true, a = 3}; type t4 = {z : bool, a : int}; val v41 : t4 = {a = 4, z = true}; val v42 : t4 = {z = true, a = 4}; smlsharp-1.2.0/test/tests/coresml/tests/recordType002.sml0000644 000000000000000000000135612050661606023516 0ustar00rootroot0000000 0000000 (* record type expression. rule 45, 49
  • type of the field.
    • type variable
    • record type
    • base type
    • applied type constructor
    • mono function type
    • poly function type
    • parenthetic type
*) type 'a t1 = {x : 'a}; val v1 : int t1 = {x = 1}; type t2 = {x : {y : int}}; val v2 : t2 = {x = {y = 2}}; type t3 = {x : int}; val v3 : t3 = {x = 3}; type 'a t41 = ('a * int); type t4 = {x : bool t41}; val v4 : t4 = {x = (true, 4)}; type t5 = {x : int -> int}; val v5 = {x = fn x => x + 1}; type 'a t6 = {x : 'a -> ('a * int)}; val v6 = {x = fn x => (x, 6)}; type t7 = {x : (int * bool)}; val v7 = {x = (7, false)}; smlsharp-1.2.0/test/tests/coresml/tests/recordUpdate001.sml0000644 000000000000000000000154612050661606024017 0ustar00rootroot0000000 0000000 (* record update expression with various left expression.
  • left expression
    • record expression
    • variable expression of record type
    • variable expression of record kind
    • nested record update expression of record type
    • nested record update expression of record kind
*) val v1 = {a = 1, b = "foo"} # {a = 11, b = "bar"}; val v2 = let val lv2 = {a = 2, b = "bar"} in lv2 # {a = 22, b = "baz"} end; fun f3 r = r # {a = 33, b = 3.33}; val v3 = f3 {a = 3, b = 0.3, c = 4}; val v4 = {a = 4, b = "four", c = 45.6} # {a = 44, b = "fourteen"} # {b = "forty", c = 56.7}; fun f5 r = r # {a = 55, b = 5.55} # {b = 555.0, c = "five-five"}; val v5 = ( f5 {a = 1, b = 1.23, c = "fff"}, f5 {a = 2, b = 2.34, c = "ggg", d = true} ); smlsharp-1.2.0/test/tests/coresml/tests/recordUpdate002.sml0000644 000000000000000000000040612050661606024012 0ustar00rootroot0000000 0000000 (* record update expression with various right fields.
  • the number of right fields
    • 1
    • 2
*) val v1 = {a = 1, b = 3} # {a = 11}; val v2 = {a = 2, b = true, c = "foo"} # {a = 22, b = false}; smlsharp-1.2.0/test/tests/coresml/tests/recursiveFunction001.sml0000644 000000000000000000000637312050661606025116 0ustar00rootroot0000000 0000000 (* test case for recursive function call.
  • type of argument
    • int
    • real
    • polytype
  • relation between caller and callee of recursive call
    • self recursive
    • non self recursive
  • position of recursive call
    • tail position
    • non tail position
*) fun intSelfTail 0 = 0 | intSelfTail n = intSelfTail (n - 1); val intSelfTail_x = intSelfTail 3; fun intSelfNonTail 0 = 0 | intSelfNonTail 1 = 1 | intSelfNonTail n = intSelfNonTail (n - 1) + intSelfNonTail (n - 2); val intSelfNonTail_x = intSelfNonTail 3; fun intNonSelfTail_f 0 = 0 | intNonSelfTail_f n = intNonSelfTail_g (n - 1) and intNonSelfTail_g 0 = 1 | intNonSelfTail_g n = intNonSelfTail_f (n - 1); val intNonSelfTail_x = intNonSelfTail_f 3; fun intNonSelfNonTail_f 0 = 0 | intNonSelfNonTail_f n = 1 + intNonSelfNonTail_g (n - 1) and intNonSelfNonTail_g 0 = 1 | intNonSelfNonTail_g n = 1 + intNonSelfNonTail_f (n - 1); val intNonSelfNonTail_x = intNonSelfNonTail_f 3; (********************) fun realSelfTail n = if n < 0.0 then 0.0 else realSelfTail (n - 1.0); val realSelfTail_x = realSelfTail 3.0; fun realSelfNonTail n = if n <= 0.0 then 1.0 else if n <= 1.0 then 1.0 else realSelfNonTail (n - 1.0) + realSelfNonTail (n - 2.0); val realSelfNonTail_x = realSelfNonTail 3.0; fun realNonSelfTail_f n = if n < 0.0 then 0.0 else realNonSelfTail_g (n - 1.0) and realNonSelfTail_g n = if n < 0.0 then 1.0 else realNonSelfTail_f (n - 1.0); val realNonSelfTail_x = realNonSelfTail_f 3.0; fun realNonSelfNonTail_f n = if n < 0.0 then 0.0 else 1.0 + realNonSelfNonTail_g (n - 1.0) and realNonSelfNonTail_g n = if n < 0.0 then 0.0 else 1.0 + realNonSelfNonTail_f (n - 1.0); val realNonSelfNonTail_x = realNonSelfNonTail_f 3.0; (********************) fun polySelfTail (isEnd, next, n) = if isEnd n then n else polySelfTail (isEnd, next, (next n)); val polySelfTail_int = polySelfTail (fn n => n = 0, fn n => n - 1, 3); val polySelfTail_real = polySelfTail (fn n => n < 0.0, fn n => n - 1.0, 3.0); fun polySelfNonTail (isEnd, next, n) = if isEnd n then n else next (polySelfNonTail (isEnd, next, (next n))); val polySelfNonTail_int = polySelfNonTail (fn n => n = 0, fn n => n - 1, 3); val polySelfNonTail_real = polySelfNonTail (fn n => n < 0.0, fn n => n - 1.0, 3.0); fun polyNonSelfTail_f (isEnd, next, n) = if isEnd n then n else polyNonSelfTail_g (isEnd, next, (next n)) and polyNonSelfTail_g (isEnd, next, n) = if isEnd n then n else polyNonSelfTail_f (isEnd, next, (next (next n))); val polyNonSelfTail_int = polyNonSelfTail_f (fn n => n = 0, fn n => n - 1, 3); val polyNonSelfTail_real = polyNonSelfTail_f (fn n => n < 0.0, fn n => n - 1.0, 3.0); fun polyNonSelfNonTail_f (isEnd, next, n) = if isEnd n then n else next (polyNonSelfNonTail_g (isEnd, next, next n)) and polyNonSelfNonTail_g (isEnd, next, n) = if isEnd n then n else next (polyNonSelfNonTail_f (isEnd, next, next (next n))); val polyNonSelfNonTail_int = polyNonSelfNonTail_f (fn n => n = 0, fn n => n - 1, 3); val polyNonSelfNonTail_real = polyNonSelfNonTail_f (fn n => n < 0.0, fn n => n - 1.0, 3.0); smlsharp-1.2.0/test/tests/coresml/tests/recursiveFunction002.sml0000644 000000000000000000000407612050661606025115 0ustar00rootroot0000000 0000000 (* test case for free variable access from inside of recursive called function.
  • type of referred free variable
    • polytype
  • type of argument
    • polytype
  • relation between caller and callee of recursive call
    • self recursive
    • non self recursive
  • position of recursive call
    • tail position
    • non tail position
*) (********************) fun polySelfTail isEnd next arg = let fun inner n = if isEnd n then (arg, n) else inner (next n) in inner end; val polySelfTail_int_int = polySelfTail (fn n => n = 0) (fn n => n - 1) 1 3; val polySelfTail_real_real = polySelfTail (fn n => n < 0.0) (fn n => n - 1.0) 1.0 3.0; fun dummy x = x; fun polySelfNonTail isEnd next arg = let fun inner n = if isEnd n then (dummy arg; n) else next (inner (next n)) in inner end; val polySelfNonTail_int_int = polySelfNonTail (fn n => n = 0) (fn n => n - 1) 1 3; val polySelfNonTail_real_real = polySelfNonTail (fn n => n < 0.0) (fn n => n - 1.0) 1.2 3.0; fun polyNonSelfTail isEnd next arg = let fun f n = if isEnd n then (arg, n) else g (next n) and g n = if isEnd n then (arg, n) else f (next (next n)) in f end; val polyNonSelfTail_int_int = polyNonSelfTail (fn n => n = 0) (fn n => n - 1) 1 3; val polyNonSelfTail_real_real = polyNonSelfTail (fn n => n < 0.0) (fn n => n - 1.0) 1.2 3.0; fun polyNonSelfNonTail isEnd next arg = let fun f n = if isEnd n then (dummy arg; n) else next (g (next n)) and g n = if isEnd n then (dummy arg; n) else next (f (next (next n))) in f end; val polyNonSelfNonTail_int_int = polyNonSelfNonTail (fn n => n = 0) (fn n => n - 1) 1 3; val polyNonSelfNonTail_real_real = polyNonSelfNonTail (fn n => n < 0.0) (fn n => n - 1.0) 1.2 3.0; smlsharp-1.2.0/test/tests/coresml/tests/ref001.sml0000644 000000000000000000000137112050661606022146 0ustar00rootroot0000000 0000000 (* ref constructor.
  • type of contents
    • int
    • real
    • word
    • char
    • string
    • constructed type
    • ref type
*) val v11 = ref 1; val _ = v11 := 2; val v12 = ! v11; val v21 = ref 1.23; val _ = v21 := 2.34; val v22 = ! v21; val v31 = ref 0w1; val _ = v31 := 0w3; val v32 = ! v31; val v41 = ref #"a"; val _ = v41 := #"z"; val v42 = ! v41; val v51 = ref "foo"; val _ = v51 := "bar"; val v52 = ! v51; datatype t6 = C61 of int | C62 of string; val v61 = ref (C61 6); val _ = v61 := C62 "foo"; val v62 = ! v61; val v71 = ref (ref (1, 2)); val _ = (! v71) := (2, 3); val v72 = ! (! v71); val _ = v71 := ref (3, 4); val v73 = ! v71; smlsharp-1.2.0/test/tests/coresml/tests/sequence001.sml0000644 000000000000000000000031512050661606023177 0ustar00rootroot0000000 0000000 (* sequence expression.
  • the number of elements
    • 2
    • 3
*) val v1 = (print "foo"; true); val v2 = (print "foo"; print "bar"; true); smlsharp-1.2.0/test/tests/coresml/tests/tuple001.sml0000644 000000000000000000000103512050661606022520 0ustar00rootroot0000000 0000000 (* tuple expression.
  • type of fields.
    • type variable
    • record type
    • base type
    • applied type constructor
    • mono function type
    • poly function type
*) fun f1 x = (x, x); val v11 = f1 1; val v12 = f1 "foo"; val v2 = ({x = 1}, {y = 2}); val v31 = (1, 2); val v32 = ("foo", "bar"); datatype 'a t4 = C4 of 'a; val v4 = (C4 1, C4 "foo"); val v5 = (fn x => x + 1, fn x => x - 1); val v6 = (fn x => x, fn x => (x, x)); smlsharp-1.2.0/test/tests/coresml/tests/tuplePattern001.sml0000644 000000000000000000000141112050661606024054 0ustar00rootroot0000000 0000000 (* tuple pattern.
  • type of fields.
    • type variable
    • record type
    • base type
    • applied type constructor
    • mono function type
    • poly function type
*) fun f1 r = case r of (s, t) => (s, t, 1); val v11 = f1 (1, 2); val v12 = f1 ("foo", "bar"); fun f2 r = case r of ({x}, {y}) => (x, y); val v2 = f2 ({x = 1}, {y = 2}); fun f3 r = case r of (s, t) => s + t; val v3 = f3 (1, 2); datatype 'a t4 = C4 of 'a; fun f4 r = case r of (C4 s, C4 t) => (s, t); val v4 = f4 (C4 1, C4 "foo"); fun f5 r = case r of (f, g) => (f 1, g 2); val v5 = f5 (fn x => x + 1, fn x => x - 1); fun f6 r x = case r of (f, g) => (f x, g x); val v6 = f6 (fn x => x, fn x => (x, x)); smlsharp-1.2.0/test/tests/coresml/tests/tupleType001.sml0000644 000000000000000000000103512050661606023362 0ustar00rootroot0000000 0000000 (* proper handling of precedence between tuple type constructor and other type expressions.
  • type expression containing a tuple type expression
    • top level
    • constructed type
    • function type
*) type t1 = int * int; val v1 = (1, 2); (* type construction > tuple type *) type 'a t21 = 'a * int; type t2 = int * int t21; val v2 : t2 = (1, (2, 3)); (* tuple type > function type *) type t3 = int * int -> int * int; val v3 : t3 = fn (x, y) => (x + y, x - y); smlsharp-1.2.0/test/tests/coresml/tests/type001.sml0000644 000000000000000000000070312050661606022351 0ustar00rootroot0000000 0000000 (* type declaration. rule 16, 27
  • the number of type variables
    • 0
    • 1
    • 2
    • 2, but one of them is not used in body
*) type t1 = int; val v1 : t1 = 1; type 'x t2 = 'x * int; val v2 : bool t2 = (true, 2); type ('x, 'y) t3 = {a : 'x, b : 'y}; val v3 : (int, bool) t3 = {a = 3, b = false}; type ('x, 'y) t4 = {a : 'x}; val v4 : (int, bool) t4 = {a = 3}; smlsharp-1.2.0/test/tests/coresml/tests/type002.sml0000644 000000000000000000000063612050661606022357 0ustar00rootroot0000000 0000000 (* type declaration. rule 16, 27
  • the number of typbinds
    • 2
  • dependency between typbinds
    • none
    • yes, but refer to another type
*) type t11 = int and t12 = bool; val v1 : (t11 * t12) = (1, true); type t21 = string; type t21 = int and t22 = t21 * bool; val v2 : (t21 * t22) = (1, ("foo", true)); smlsharp-1.2.0/test/tests/coresml/tests/type003.sml0000644 000000000000000000000120612050661606022352 0ustar00rootroot0000000 0000000 (* multiple occurrences of multiple type variables in type declaration. rule 16, 27
  • the number of type variables
    • 1
    • 2
  • the number of occurrence of a type variable
    • 1
    • 2
*) type 'x t11 = 'x * int; val v11 : string t11 = ("foo", 2); type 'x t12 = 'x * int * 'x; val v12 : bool t12 = (true, 12, false); type ('y, 'x) t21 = 'y * int * 'x; val v21 : (bool, string) t21 = (false, 21, "bar"); type ('y, 'x) t22 = 'y * int * 'y * 'x * real * 'x; val v22 : (bool, string) t22 = (true, 22, false, "baz", 1.23, "boo"); smlsharp-1.2.0/test/tests/coresml/tests/type004.sml0000644 000000000000000000000114112050661606022351 0ustar00rootroot0000000 0000000 (* same type variables occur in multiple type bindings in type declaration. rule 16, 27
  • the number of type variables
    • 1
    • 2
  • the number of type bindings
    • 2
*) type 'x1 t121 = 'x1 * int and 'x1 t122 = int * 'x1; val v12 : (bool t121 * real t122) = ((true, 121), (122, 1.22)); type ('x1, 'x2) t221 = ('x1 * int * 'x2) and ('x1, 'x2) t222 = ('x2 * int * 'x1); val v22 : ((bool, real) t221 * ((bool * real), (real * bool)) t222) = ((true, 221, 22.1), ((22.2, true), 222, (false, 2.22))); smlsharp-1.2.0/test/tests/coresml/tests/type005.sml0000644 000000000000000000000076012050661606022360 0ustar00rootroot0000000 0000000 (* type declaration which also uses alias type declared by other declaration. rule 16, 27
  • the number of type declarations related.
    • 2
    • 3
*) type t21 = string * int; type t22 = {a : t21, b : t21 * real}; val v2 : t22 = {a = ("a", 1), b = (("b", 2), 2.345)}; type t31 = {a : int, b : int -> int}; type t32 = t31 list; type t33 = t32 * string; val v3 : t33 = ([{a = 1, b = fn x => x + x}, {a = 2, b = fn x => x - x}], "x"); smlsharp-1.2.0/test/tests/coresml/tests/typed001.sml0000644 000000000000000000000037412050661606022521 0ustar00rootroot0000000 0000000 (* typed expression. rule 9.
  • inner expression
    • normal expression
    • typed expression
*) val v1 = 1 : int; type t = int; val v2 = ((1 : int) : t); type t = int; val v3 = ((1 : t) : int); smlsharp-1.2.0/test/tests/coresml/tests/unitExpression001.sml0000644 000000000000000000000014612050661606024430 0ustar00rootroot0000000 0000000 (* test cases for unit expression. *) val v1 = (); val v2 = () : unit; val v3 = (fn () => 1) {}; smlsharp-1.2.0/test/tests/coresml/tests/unitPattern001.sml0000644 000000000000000000000012312050661606023701 0ustar00rootroot0000000 0000000 (* test cases for unit pattern. *) fun f1 x = case x of () => 1; val v1 = f1 (); smlsharp-1.2.0/test/tests/coresml/tests/val001.sml0000644 000000000000000000000053612050661606022156 0ustar00rootroot0000000 0000000 (* val declaration. rule 15
  • the number of type variables
    • 0
    • 1
    • 2
    • 2, but one of them is not used in body
*) val v1 = 1; val 'x v2 = fn x => x : 'x; val ('x, 'y) v3 = fn x => fn y => (x : 'x, y : 'y); val ('x, 'y) v4 = fn x => fn y => (x : 'x, y); smlsharp-1.2.0/test/tests/coresml/tests/val002.sml0000644 000000000000000000000052312050661606022153 0ustar00rootroot0000000 0000000 (* val declaration. rule 15
  • the number of valbinds
    • 2
  • dependency between valbinds
    • none
    • yes, but refer to another binding out of the val
*) val v11 = 1 and v12 = 2; val v21 = 1; val v21 = true and v22 = (v21 + 2, 1); smlsharp-1.2.0/test/tests/coresml/tests/val003.sml0000644 000000000000000000000122712050661606022156 0ustar00rootroot0000000 0000000 (* val declaration. rule 15
  • the number of valbinds
    • 2
  • the number of type variables
    • 1
    • 2
  • the number of bindings sharing the same type variable
    • 1
    • 2
*) val 'x v111 = fn x : 'x => x and v112 = 1; val 'x v121 = 2 and v122 = fn x : 'x => x; val 'x v131 = fn x : 'x => x and v132 = fn x : 'x => x; val ('x, 'y) v211 = fn x : 'x => x and v212 = fn x : 'y => x; val ('x, 'y) v221 = fn x : 'x => x and v222 = fn x : 'x => x; val ('x, 'y) v231 = fn x : 'y => x and v232 = fn x : 'y => x; smlsharp-1.2.0/test/tests/coresml/tests/val004.sml0000644 000000000000000000000074712050661606022165 0ustar00rootroot0000000 0000000 (* val declaration. rule 15
  • the number of valbinds
    • 2
  • the number of type variables
    • 1
    • 2
  • dependencies between valbinds
    • yes
*) val v11 = fn x => x + 1; val 'x v11 = fn x : 'x => (x, 1) and v12 = fn x : 'x => (v11 2, x); val v21 = fn x => x + 1; val ('x, 'y) v21 = fn x : 'x => (x, 1) and v22 = fn x : 'y => (v21 2, x); smlsharp-1.2.0/test/tests/coresml/tests/valueBindings001.sml0000644 000000000000000000000107112050661606024161 0ustar00rootroot0000000 0000000 (* binding by atomic pattern in value bindings. rule 25, 32, 33, 34, 35, 36, 37
  • pattern
    • wild pattern
    • constant pattern
    • constructor pattern
    • variable pattern
    • record pattern
    • tuple pattern
    • parenthic pattern
*) val _ = 1; val 2 = 2; datatype dt3 = C3 val C3 = C3; val v4 = 4; val w4 = v4 + 4; val {x = v5, y} = {x = 5, y = "five"}; val w5 = v5 + 5; val (v6, y) = (6, "six"); val w6 = v6 + 6; val (v7) = 7; val w7 = v7 + 7; smlsharp-1.2.0/test/tests/coresml/tests/valueBindings002.sml0000644 000000000000000000000071112050661606024162 0ustar00rootroot0000000 0000000 (* value bindings rule 25, 42, 43
  • pattern containing a variable pattern
    • constructor application
    • typed
    • aliased
    • typed and aliased
    • aliasing
*) datatype dt1 = C1 of int; val C1 v1 = C1 1; val w1 = v1 + 1; val v2 : int = 2; val w2 = v2 + 2; val v3 as 3 = 3; val w3 = v3 + 3; val v4 : int as 4 = 4; val w4 = v4 + 4; val v5 as y = 5; val w5 = v5 + 5; smlsharp-1.2.0/test/tests/coresml/tests/valueBindingsRec001.sml0000644 000000000000000000000061012050661606024611 0ustar00rootroot0000000 0000000 (* binding by atomic pattern in value bindings with rec. rule 26, 32, 35, 37
  • pattern
    • variable pattern
    • parenthic pattern
    • wild pattern
*) val rec v1 = fn x => if 0 = x then 1 else v1 (x - 1); val w1 = v1 1; val rec (v2) = fn x => if 0 = x then 2 else v2 (x - 1); val w2 = v2 2; val rec _ = fn x => x; smlsharp-1.2.0/test/tests/coresml/tests/valueBindingsRec002.sml0000644 000000000000000000000075712050661606024626 0ustar00rootroot0000000 0000000 (* value bindings with rec rule 26, 42, 43
  • pattern containing a variable pattern
    • typed
    • aliased
    • typed and aliased
    • aliasing
*) val rec v1 : int -> int = fn x => if 0 = x then 1 else v1 (x - 1); val w1 = v1 1; val rec v2 as y = fn x => if 0 = x then 2 else v2 (x - 1); val rec v3 : int -> int as y = fn x => if 0 = x then 3 else v3 (x - 1); val rec v4 as y = fn x => if 0 = x then 4 else v4 (x - 1); smlsharp-1.2.0/test/tests/coresml/tests/valueBindingsRec003.sml0000644 000000000000000000000660512050661606024625 0ustar00rootroot0000000 0000000 (* recursive reference between bindings in the same val rec declaration. rule 26

The test cases are numbered according to references between bindings. References are indicated by bits. Bindings are ordered sequentially. Assume n bindings B1, ..., Bn in this order. A (n-1) bits indicate references from each binding to others. The most significant bit indicates a reference to B2 from B1, B1 from others. For example, assume 3 bindings B1, B2, B3. For B1, 10 indicates a reference to B2 and no reference to B3. For B2, 11 indicates two references to B1 and B3. For B3, 01 indicates no reference to B1 and a reference to B2. Then, concatnate three of 3 bits, 231 (= 10-11-01) indicates the references between these bindings. And - B1 -><- B2 -><- B3 - means the same state of references.

  • the number of bindings
    • 1
    • 2
    • 3
  • dependency between bindings (ToDo : enumerate cases.)
  • types of bindings
    • monotype
*) val rec v01 = fn x => if 0 = x then 1 else v01 (x - 1); val w0 = v01 1; (* v011 <- v012 *) val rec v011 = fn x => if 0 = x then 1 else v011 (x - 1) and v012 = fn x => if 0 = x then 1 else v011 (x - 1); val w01 = (v011 2, v012 2); (* v101 -> v102 *) val rec v101 = fn x => if 0 = x then 1 else v102 (x - 1) and v102 = fn x => if 0 = x then 1 else v102 (x - 1); val w10 = (v101 2, v102 2); (* v111 -><- v112 *) val rec v111 = fn x => if 0 = x then 1 else v112 (x - 1) and v112 = fn x => if 0 = x then 1 else v111 (x - 1); val w11 = (v111 2, v112 2); (* v001 - v002 *) val rec v001 = fn x => if 0 = x then 1 else v001 (x - 1) and v002 = fn x => if 0 = x then 1 else v002 (x - 1); val w00 = (v001 2, v002 2); (* 333: <- v3331 -><- v3332 -><- v3333 -> *) val rec v3331 = fn x => case x of 0 => 1 | 1 => v3332 (x - 1) | _ => v3333 (x - 1) and v3332 = fn x => case x of 0 => 1 | 1 => v3331 (x - 1) | _ => v3333 (x - 1) and v3333 = fn x => case x of 0 => 1 | 1 => v3331 (x - 1) | _ => v3332 (x - 1) val w333 = (v3331 3, v3332 3, v3333 3); (* 120: - v1201 -><- v1202 - v1203 - *) val rec v1201 = fn x => case x of 0 => 1 | 1 => v1202 (x - 1) | _ => v1201 (x - 1) and v1202 = fn x => case x of 0 => 1 | 1 => v1201 (x - 1) | _ => v1202 (x - 1) and v1203 = fn x => case x of 0 => 1 | 1 => v1203 (x - 1) | _ => v1203 (x - 1) val w120 = (v1201 3, v1202 3, v1203 3); (* 201: <- v2011 - v2012 - v2013 -> *) val rec v2011 = fn x => case x of 0 => 1 | 1 => v2011 (x - 1) | _ => v2013 (x - 1) and v2012 = fn x => case x of 0 => 1 | 1 => v2012 (x - 1) | _ => v2012 (x - 1) and v2013 = fn x => case x of 0 => 1 | 1 => v2011 (x - 1) | _ => v2013 (x - 1) val w201 = (v2011 3, v2012 3, v2013 3); (* 012: - v0121 - v0122 -><- v0123 - *) val rec v0121 = fn x => case x of 0 => 1 | 1 => v0121 (x - 1) | _ => v0121 (x - 1) and v0122 = fn x => case x of 0 => 1 | 1 => v0122 (x - 1) | _ => v0123 (x - 1) and v0123 = fn x => case x of 0 => 1 | 1 => v0123 (x - 1) | _ => v0122 (x - 1) val w012 = (v0121 3, v0122 3, v0123 3); (* 000: - v0001 - v0002 - v0003 - *) val rec v0001 = fn x => case x of 0 => 1 | 1 => v0001 (x - 1) | _ => v0001 (x - 1) and v0002 = fn x => case x of 0 => 1 | 1 => v0002 (x - 1) | _ => v0002 (x - 1) and v0003 = fn x => case x of 0 => 1 | 1 => v0003 (x - 1) | _ => v0003 (x - 1) val w000 = (v0001 3, v0002 3, v0003 3); (* ToDo : more test cases should be written for three bindings. *) smlsharp-1.2.0/test/tests/coresml/tests/valueBindingsRec004.sml0000644 000000000000000000000615612050661606024627 0ustar00rootroot0000000 0000000 (* recursive reference between bindings in the same val rec declaration. rule 26
  • the number of bindings
    • 1
    • 2
    • 3
  • dependency between bindings (ToDo : enumerate cases.)
  • types of bindings
    • polytype
*) val rec v01 = fn (x, y) => if 0 = x then 1 else v01 (x - 1, y); val w0 = v01 (1, true); (* v011 <- v012 *) val rec v011 = fn (x, y) => if 0 = x then 1 else v011 (x - 1, y) and v012 = fn (x, y) => if 0 = x then 1 else v011 (x - 1, y); val w01 = (v011 (2, true), v012 (2, "foo")); (* v101 -> v102 *) val rec v101 = fn (x, y) => if 0 = x then 1 else v102 (x - 1, y) and v102 = fn (x, y) => if 0 = x then 1 else v102 (x - 1, y); val w10 = (v101 (2, true), v102 (2, "foo")); (* v111 -><- v112 *) val rec v111 = fn (x, y) => if 0 = x then 1 else v112 (x - 1, y) and v112 = fn (x, y) => if 0 = x then 1 else v111 (x - 1, y); val w11 = (v111 (2, true), v112 (2, "foo")); (* v001 - v002 *) val rec v001 = fn (x, y) => if 0 = x then 1 else v001 (x - 1, y) and v002 = fn (x, y) => if 0 = x then 1 else v002 (x - 1, y); val w00 = (v001 (2, true), v002 (2, "foo")); (* 333: <- v3331 -><- v3332 -><- v3333 -> *) val rec v3331 = fn (x, y) => case x of 0 => 1 | 1 => v3332 (x - 1, y) | _ => v3333 (x - 1, y) and v3332 = fn (x, y) => case x of 0 => 1 | 1 => v3331 (x - 1, y) | _ => v3333 (x - 1, y) and v3333 = fn (x, y) => case x of 0 => 1 | 1 => v3331 (x - 1, y) | _ => v3332 (x - 1, y) val w333 = (v3331 (3, true), v3332 (3, "foo"), v3333 (3, 1.23)); (* 120: - v1201 -><- v1202 - v1203 - *) val rec v1201 = fn (x, y) => case x of 0 => 1 | 1 => v1202 (x - 1, y) | _ => v1201 (x - 1, y) and v1202 = fn (x, y) => case x of 0 => 1 | 1 => v1201 (x - 1, y) | _ => v1202 (x - 1, y) and v1203 = fn (x, y) => case x of 0 => 1 | 1 => v1203 (x - 1, y) | _ => v1203 (x - 1, y) val w120 = (v1201 (3, true), v1202 (3, "foo"), v1203 (3, 1.23)); (* 201: <- v2011 - v2012 - v2013 -> *) val rec v2011 = fn (x, y) => case x of 0 => 1 | 1 => v2011 (x - 1, y) | _ => v2013 (x - 1, y) and v2012 = fn (x, y) => case x of 0 => 1 | 1 => v2012 (x - 1, y) | _ => v2012 (x - 1, y) and v2013 = fn (x, y) => case x of 0 => 1 | 1 => v2011 (x - 1, y) | _ => v2013 (x - 1, y) val w201 = (v2011 (3, true), v2012 (3, "foo"), v2013 (3, 1.23)); (* 012: - v0121 - v0122 -><- v0123 - *) val rec v0121 = fn (x, y) => case x of 0 => 1 | 1 => v0121 (x - 1, y) | _ => v0121 (x - 1, y) and v0122 = fn (x, y) => case x of 0 => 1 | 1 => v0122 (x - 1, y) | _ => v0123 (x - 1, y) and v0123 = fn (x, y) => case x of 0 => 1 | 1 => v0123 (x - 1, y) | _ => v0122 (x - 1, y) val w012 = (v0121 (3, true), v0122 (3, "foo"), v0123 (3, 1.23)); (* 000: - v0001 - v0002 - v0003 - *) val rec v0001 = fn (x, y) => case x of 0 => 1 | 1 => v0001 (x - 1, y) | _ => v0001 (x - 1, y) and v0002 = fn (x, y) => case x of 0 => 1 | 1 => v0002 (x - 1, y) | _ => v0002 (x - 1, y) and v0003 = fn (x, y) => case x of 0 => 1 | 1 => v0003 (x - 1, y) | _ => v0003 (x - 1, y) val w000 = (v0001 (3, true), v0002 (3, "foo"), v0003 (3, 1.23)); (* ToDo : more test cases should be written for three bindings. *) smlsharp-1.2.0/test/tests/coresml/tests/valueRestriction001.sml0000755 000000000000000000000142512050661606024737 0ustar00rootroot0000000 0000000 (* The specification is: * A non value term whose type contains free type variable cannot be generalized (according to the definition.) The rest is upto the implementation. smlsharp adopts the following strategy: If those non generalized type variables remain at the top-level binding, then they are replaced by unique atomic types. Those atomic types cannot be unified with any other types, but they can be instance types of polymorphic types. *) datatype 'a dt = D; val x1 = D; (* non-expansive expression *) val x2 = !(ref D); (* expansive expression *) fun f1 _ = 0; fun f2 (_ : 'a dt) = 0; val r11 = f1 x1; (* accepted *) val r12 = f1 x2; (* accepted *) val r21 = f2 x1; (* accepted since no unification occurs. *) val r22 = f2 x2; (* rejected since unification occurs. *) smlsharp-1.2.0/test/tests/coresml/tests/variable001.sml0000644 000000000000000000000052412050661606023156 0ustar00rootroot0000000 0000000 (* variable expression. rule 2
  • location where referred variable is defined.
    • global variable in the same compile unit
    • global variable in the previous compile unit
    • local variable
*) val x = 1; val v1 = x; val x = true val v2 = x; let val x = "a" in x end; smlsharp-1.2.0/test/tests/coresml/tests/variableType001.sml0000644 000000000000000000000056112050661606024021 0ustar00rootroot0000000 0000000 (* variable type expressions. rule 44.
  • type expression which the type variable is instantiated to.
    • base type
    • applied type constructor
    • type variable
*) type 'a t1 = 'a; val v1 : int t1 = 1; type 'a t2 = 'a; val v2 : (int t2) t2 = 2; type 'a t3 = 'a t2; val v3 : int t3 = 3; smlsharp-1.2.0/test/tests/coresml/tests/while001.sml0000644 000000000000000000000052012050661606022475 0ustar00rootroot0000000 0000000 (* while expression.
  • the number of repetition
    • more than 0
    • 0
*) val counter = ref 0; val buffer = ref ([] : int list); while (!counter < 10) do (counter := (!counter) + 1; buffer := (!counter) :: (!buffer)); val result = !buffer; while false do print "ERROR"; smlsharp-1.2.0/test/tests/generate_output.sh0000755 000000000000000000000043212050661606021374 0ustar00rootroot0000000 0000000 #!/bin/sh for f in *.sml; do output=../outputs/${f%%.sml}.out if [ ! -e ${output} ]; then sml.bat < ${f} | \ # "tail +2" skips the first line. tail +2 | \ grep -v '^\\- *$' | \ cat > ${output} echo ${output} fi done smlsharp-1.2.0/test/tests/module0000755 000000000000000000000000012050661606017032 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/test/tests/module/outputs0000755 000000000000000000000000012050661606020555 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/test/tests/module/outputs/basicStructureExpression001.out0000644 000000000000000000000173412050661606026675 0ustar00rootroot0000000 0000000 structure S1 : sig end structure S2 : sig val x : int end val x2 = 1 : int structure S3 : sig type t = int end type t3 = S3.t val x3 = 1 : S3.t structure S4 : sig datatype t con D : t end datatype t4 = datatype S4.t val x4 = D : S4.t datatype t5 con D5 : t5 structure S5 : sig datatype t con D5 : t end datatype t5' = datatype S5.t val x5 = D5 : t5 structure S6 : sig type t val x : t end val x6 = - : S6.t structure S71 : sig exception e : exn end exception e71 = S71.e val x71 = S71.e : exn exception e72 : exn structure S72 : sig exception e : exn end val x72 = e72 : exn structure S8 : sig val x : t end val x8 = - : hidden(S8.t) structure S91 : sig val x : int * int end structure S92 : sig val x : int * int end val x9 = (1,2) : int * int structure S10 : sig val ++ : int * int -> int end val ++ = fn : int * int -> int structure S11 : sig val -- : int * int -> int end val -- = fn : int * int -> int structure S12 : sig val // : int * int -> int end val // = fn : int * int -> int smlsharp-1.2.0/test/tests/module/outputs/basicStructureExpression002.out0000644 000000000000000000000067212050661606026676 0ustar00rootroot0000000 0000000 structure S1 : sig structure S : sig datatype dt con D : dt val x : dt end end datatype dt1 = datatype S1.S.dt type t1 = S1.S.dt val x11 = D : S1.S.dt val x12 = D : t1 structure S2 : sig structure S2 : sig val x : S1.t end end val x2 = - : hidden(S2.S1.t) structure S3 : sig structure S1 : sig datatype dt con E : dt end structure S2 : sig val x : S1.dt end end datatype dt3 = datatype S3.S1.dt type t3 = S3.S1.dt val x3 = E : S3.S1.dt smlsharp-1.2.0/test/tests/module/outputs/constraint001.out0000644 000000000000000000000251112050661606023771 0ustar00rootroot0000000 0000000 datatype dt con D : dt signature SType = sig type t val x : t end signature SDatatype = sig datatype dt = E val x : dt end signature SReplication = sig datatype dtr = datatype dt val x : dtr end structure SType : sig type t = int val x : int end structure STypeTrans1 : SType structure STypeTrans2 : SType val eqSTypeTrans = true : bool structure STypeOpaque1 : SType structure STypeOpaque2 : SType ../tests/module/tests/constraint001.sml:49.21-49.51 Error: operator and operand don't agree operator domain: ''A * ''A operand: STypeOpaque1.t * STypeOpaque2.t structure SDatatype : sig datatype dt con E : dt val x : dt end structure SDatatypeTrans1 : SDatatype structure SDatatypeTrans2 : SDatatype val eqSDatatypeTrans = true : bool structure SDatatypeOpaque1 : SDatatype structure SDatatypeOpaque2 : SDatatype ../tests/module/tests/constraint001.sml:61.25-61.63 Error: operator and operand don't agree operator domain: SDatatypeOpaque1.dt * SDatatypeOpaque1.dt operand: SDatatypeOpaque1.dt * SDatatypeOpaque2.dt structure SReplication : sig datatype dtr con D : dtr val x : dtr end structure SReplicationTrans1 : SReplication structure SReplicationTrans2 : SReplication val eqSReplicationTrans = true : bool structure SReplicationOpaque1 : SReplication structure SReplicationOpaque2 : SReplication val eqSReplicationOpaque = true : bool smlsharp-1.2.0/test/tests/module/outputs/constraint002.out0000644 000000000000000000000254512050661606024001 0ustar00rootroot0000000 0000000 datatype dt con D : dt signature SType = sig type t end signature SDatatype = sig datatype dt = E end signature SReplication = sig datatype dtr = datatype dt end signature SWhereType = sig include sig type t end where type t = dt end structure SType : sig datatype t con E : t end structure STypeTrans : SType ../tests/module/tests/constraint002.sml:33.19-33.30 Error: unbound variable or constructor: STypeTrans.E structure STypeOpaque : SType ../tests/module/tests/constraint002.sml:36.20-36.32 Error: unbound variable or constructor: STypeOpaque.E structure SDatatype : sig datatype dt con E : dt end structure SDatatypeTrans : SDatatype val xSDatatypeTrans = E : SDatatypeTrans.dt structure SDatatypeOpaque : SDatatype val xSDatatypeOpaque = E : SDatatypeOpaque.dt structure SReplication : sig datatype dtr con D : dtr end structure SReplicationTrans : SReplication val xSReplicationTrans = D : SReplicationTrans.dtr structure SReplicationOpaque : SReplication val xSReplicationOpaque = D : SReplicationOpaque.dtr structure SWhereType : sig datatype t con D : t end structure SWhereTypeTrans : SWhereType ../tests/module/tests/constraint002.sml:63.24-63.40 Error: unbound variable or constructor: SWhereTypeTrans.E structure SWhereTypeOpaque : SWhereType ../tests/module/tests/constraint002.sml:66.25-66.42 Error: unbound variable or constructor: SWhereTypeOpaque.E smlsharp-1.2.0/test/tests/module/outputs/constraint003.out0000644 000000000000000000000034612050661606023777 0ustar00rootroot0000000 0000000 signature S = sig val f : int -> int end structure S : sig val f : ['a.'a -> 'a] end structure STrans : S val fTrans = fn : int -> int val xTrans = 1 : int structure SOpaque : S val fOpaque = fn : int -> int val xOpaque = 1 : int smlsharp-1.2.0/test/tests/module/outputs/constraint004.out0000644 000000000000000000000051012050661606023771 0ustar00rootroot0000000 0000000 datatype dt con D : dt signature S = sig type t val x : t end structure S : sig datatype t con D : t val x : t end structure STrans1 : S where type t = dt structure STrans2 : S where type t = dt val xTrans = true : bool structure SOpaque1 : S where type t = dt structure SOpaque2 : S where type t = dt val xOpaque = true : bool smlsharp-1.2.0/test/tests/module/outputs/constraint005.out0000644 000000000000000000000117212050661606023777 0ustar00rootroot0000000 0000000 datatype dt con D : dt signature S = sig type t val x : t end structure S : sig datatype t con D : t val x : t end structure STrans : S where type t = dt ../tests/module/tests/constraint005.sml:18.14-18.21 Error: unbound variable or constructor: STrans.D structure SOpaque : S where type t = dt ../tests/module/tests/constraint005.sml:21.15-21.23 Error: unbound variable or constructor: SOpaque.D smlsharp-1.2.0/test/tests/module/outputs/constraint006.out0000644 000000000000000000000077012050661606024003 0ustar00rootroot0000000 0000000 signature S = sig type t datatype dt = D val x : t val y : dt end structure S : sig datatype dt con D : dt type t = dt val x : dt val y : dt end structure STrans : S datatype dtTrans con DTrans : STrans.t * STrans.dt -> dtTrans val xTrans = D : STrans.t val yTrans = D : STrans.dt val dtTrans = DTrans (D,D) : dtTrans structure SOpaque : S datatype dtOpaque con DOpaque : SOpaque.t * SOpaque.dt -> dtOpaque val xOpaque = - : SOpaque.t val yOpaque = D : SOpaque.dt val dtOpaque = DOpaque (-,D) : dtOpaque smlsharp-1.2.0/test/tests/module/outputs/constraint007.out0000755 000000000000000000000131412050661606024002 0ustar00rootroot0000000 0000000 signature SIG = sig structure T : sig type t val x : t end end structure S : sig type t = int val x : int end structure STR : SIG structure S : sig type t = int val x : t end val it = 1 : S.t signature SIG = sig structure T : sig type t val x : t end end structure S : sig type t = int val x : int end structure STR : SIG structure S : sig type t val x : t end val it = - : S.t structure S : sig type t = int val x : int end structure STR : sig structure T : sig type t val x : t end end structure S : sig type t = int val x : t end val it = 1 : S.t structure S : sig type t = int val x : int end structure STR : sig structure T : sig type t val x : t end end structure S : sig type t val x : t end val it = - : S.t smlsharp-1.2.0/test/tests/module/outputs/datatypeReplicationSpec0001.out0000644 000000000000000000000025312050661606026506 0ustar00rootroot0000000 0000000 datatype dt1 con D : dt1 signature S1 = sig datatype t = datatype dt1 end structure S2 : sig datatype dt con D : dt end signature S2 = sig datatype t = datatype S2.dt end smlsharp-1.2.0/test/tests/module/outputs/datatypeReplicationSpec0002.out0000644 000000000000000000000031312050661606026504 0ustar00rootroot0000000 0000000 datatype 'a dt1 con D : ['a .'a -> 'a dt1] signature S1 = sig datatype t = datatype dt1 end datatype ('a, 'b) dt2 con D : ['a,'b.'a * 'b -> ('b, 'a) dt2] signature S2 = sig datatype t = datatype dt2 end smlsharp-1.2.0/test/tests/module/outputs/datatypeReplicationSpec0003.out0000644 000000000000000000000036512050661606026514 0ustar00rootroot0000000 0000000 ../tests/module/tests/datatypeReplicationSpec0003.sml:16.3-17.27 Error: duplicate specification: E smlsharp-1.2.0/test/tests/module/outputs/datatypeReplicationSpecMatching0001.out0000644 000000000000000000000067112050661606030165 0ustar00rootroot0000000 0000000 datatype dt0 con D0 : int -> dt0 signature S0 = sig datatype dt = datatype dt0 end structure S0Trans : S0 structure S0Opaque : S0 datatype 'a dt1 con D1 : ['a.int * 'a -> 'a dt1] signature S1 = sig datatype dt = datatype dt1 end structure S1Trans : S1 structure S1Opaque : S1 datatype ('a,'b) dt2 con D2 : ['a,'b.int * 'b * 'a -> ('b, 'a) dt2] signature S2 = sig datatype dt = datatype dt2 end structure S2Trans : S2 structure S2Opaque : S2 smlsharp-1.2.0/test/tests/module/outputs/datatypeReplicationSpecMatching0002.out0000644 000000000000000000000115012050661606030157 0ustar00rootroot0000000 0000000 datatype dt con D : dt signature S1 = sig datatype dt = datatype dt end ../tests/module/tests/datatypeReplicationSpecMatching0002.sml:25.11-28.3 Error: Signature mismatch (tycon): dt ../tests/module/tests/datatypeReplicationSpecMatching0002.sml:29.11-32.3 Error: Signature mismatch (tycon): dt signature S2 = sig structure S : sig datatype dt = D end datatype dt = datatype S.dt end ../tests/module/tests/datatypeReplicationSpecMatching0002.sml:39.11-43.3 Error: Signature mismatch (tycon): dt ../tests/module/tests/datatypeReplicationSpecMatching0002.sml:44.11-48.3 Error: Signature mismatch (tycon): dt smlsharp-1.2.0/test/tests/module/outputs/datatypeSpec0001.out0000644 000000000000000000000061612050661606024317 0ustar00rootroot0000000 0000000 signature S111 = sig datatype t = D end signature S121 = sig datatype t = D datatype s = E end signature S122 = sig datatype t = D datatype s = E datatype v = F datatype u = G end signature S211 = sig datatype t = D | E end signature S221 = sig datatype t = D | E datatype s = F | G end signature S222 = sig datatype t = E | D datatype s = G | F datatype u = H | I datatype v = J | K end smlsharp-1.2.0/test/tests/module/outputs/datatypeSpec0002.out0000644 000000000000000000000042312050661606024314 0ustar00rootroot0000000 0000000 signature S11 = sig datatype 'a t = D end signature S12 = sig datatype 'c t = D datatype 'b s = E end signature S21 = sig datatype ('b,'a) t = D end signature S31 = sig datatype ('b,'c,'a) t = D end signature S32 = sig datatype ('b,'c,'a) t = D datatype ('z,'y,'x) s = E end smlsharp-1.2.0/test/tests/module/outputs/datatypeSpecMatching0001.out0000644 000000000000000000000023512050661606025767 0ustar00rootroot0000000 0000000 signature S = sig datatype dt0 = D0 datatype 'a dt1 = D1 of 'a datatype ('a,'b) dt2 = D2 of 'a * 'b end structure STrans : S structure SOpaque : S smlsharp-1.2.0/test/tests/module/outputs/datatypeSpecMatching0002.out0000644 000000000000000000000153412050661606025773 0ustar00rootroot0000000 0000000 signature S = sig datatype dt = D of int | E of string end ../tests/module/tests/datatypeSpecMatching0002.sml:25.11-28.3 Error: Signature mismatch :Constructors F only occur in structure ../tests/module/tests/datatypeSpecMatching0002.sml:29.11-32.3 Error: Signature mismatch :Constructors F only occur in structure ../tests/module/tests/datatypeSpecMatching0002.sml:34.11-38.3 Error: Signature mismatch :Constructors E only occur in signature ../tests/module/tests/datatypeSpecMatching0002.sml:39.11-43.3 Error: Signature mismatch :Constructors E only occur in signature ../tests/module/tests/datatypeSpecMatching0002.sml:45.11-48.3 Error: Signature mismatch (tycon): dt ../tests/module/tests/datatypeSpecMatching0002.sml:49.11-52.3 Error: Signature mismatch (tycon): dtsmlsharp-1.2.0/test/tests/module/outputs/datatypeSpecMatching0003.out0000644 000000000000000000000121312050661606025766 0ustar00rootroot0000000 0000000 signature S1 = sig datatype 'a dt = D of 'a end ../tests/module/tests/datatypeSpecMatching0003.sml:21.11-21.61 Error: Signature mismatch (tycon): dt ../tests/module/tests/datatypeSpecMatching0003.sml:22.11-22.63 Error: Signature mismatch (tycon): dt signature S2 = sig datatype 'a dt = D of int end ../tests/module/tests/datatypeSpecMatching0003.sml:25.11-25.60 Error: Signature mismatch (tycon): dt ../tests/module/tests/datatypeSpecMatching0003.sml:26.11-26.62 Error: Signature mismatch (tycon): dtsmlsharp-1.2.0/test/tests/module/outputs/eqtypeSpec0001.out0000644 000000000000000000000026112050661606024007 0ustar00rootroot0000000 0000000 signature S11 = sig eqtype t end signature S12 = sig eqtype s eqtype t end signature S21 = sig eqtype s eqtype t end signature S22 = sig eqtype s eqtype t eqtype u eqtype v end smlsharp-1.2.0/test/tests/module/outputs/eqtypeSpec0002.out0000644 000000000000000000000027612050661606024016 0ustar00rootroot0000000 0000000 signature S11 = sig eqtype 'a t end signature S21 = sig eqtype ('a, 'b) t end signature S31 = sig eqtype ('c,'b,'a) t end signature S32 = sig eqtype ('ac,'ab,'a) t eqtype ('a,'ab,'aa) s end smlsharp-1.2.0/test/tests/module/outputs/eqtypeSpecMatching0001.out0000644 000000000000000000000025512050661606025465 0ustar00rootroot0000000 0000000 signature S = sig eqtype t0 eqtype 'a t1 eqtype ('a, 'b) t2 end structure StypeTrans : S structure StypeOpaque : S structure SdatatypeTrans : S structure SdatatypeTrans : S smlsharp-1.2.0/test/tests/module/outputs/eqtypeSpecMatching0002.out0000644 000000000000000000000515612050661606025473 0ustar00rootroot0000000 0000000 signature S = sig eqtype t end structure SEqRecordTrans : S structure SEqRecordOpaque : S structure SEqConstructedTrans : S structure SEqConstructedOpaque : S structure SEqRefTrans : S structure SEqRefOpaque : S structure SEqDatatypeTrans : S structure SEqDatatypeOpaque : S ../tests/module/tests/eqtypeSpecMatching0002.sml:86.11-89.3 Error: Signature mismatch (equality): t ../tests/module/tests/eqtypeSpecMatching0002.sml:90.11-93.3 Error: Signature mismatch (equality): t ../tests/module/tests/eqtypeSpecMatching0002.sml:96.11-100.3 Error: Signature mismatch (equality): t ../tests/module/tests/eqtypeSpecMatching0002.sml:101.11-105.3 Error: Signature mismatch (equality): t ../tests/module/tests/eqtypeSpecMatching0002.sml:108.11-112.3 Error: Signature mismatch (equality): t ../tests/module/tests/eqtypeSpecMatching0002.sml:113.11-117.3 Error: Signature mismatch (equality): t ../tests/module/tests/eqtypeSpecMatching0002.sml:119.11-122.3 Error: Signature mismatch (equality): t ../tests/module/tests/eqtypeSpecMatching0002.sml:123.11-126.3 Error: Signature mismatch (equality): t ../tests/module/tests/eqtypeSpecMatching0002.sml:128.11-131.3 Error: Signature mismatch (equality): t ../tests/module/tests/eqtypeSpecMatching0002.sml:132.11-135.3 Error: Signature mismatch (equality): t smlsharp-1.2.0/test/tests/module/outputs/eqtypeSpecMatching0003.out0000644 000000000000000000000067412050661606025474 0ustar00rootroot0000000 0000000 signature SEq = sig eqtype t end signature SNonEq = sig type t end structure S1 : sig type t = int end structure S11 : SEq structure S12 : SNonEq structure S2 : sig type t = real end structure S21 : SNonEq ../tests/module/tests/eqtypeSpecMatching0003.sml:15.17-15.25 Error: Signature mismatch (equality): t smlsharp-1.2.0/test/tests/module/outputs/exceptionSpec0001.out0000644 000000000000000000000032512050661606024477 0ustar00rootroot0000000 0000000 signature S11 = sig exception e1 end signature S12 = sig exception e2 exception e1 end signature S21 = sig exception e2 exception e1 end signature S22 = sig exception e2 exception e1 exception f1 exception f2 end smlsharp-1.2.0/test/tests/module/outputs/exceptionSpec0002.out0000644 000000000000000000000016312050661606024500 0ustar00rootroot0000000 0000000 signature S1 = sig exception e of int end signature S2 = sig exception e1 of string exception e2 of int * bool end smlsharp-1.2.0/test/tests/module/outputs/exceptionSpecMatching0001.out0000644 000000000000000000000104712050661606026154 0ustar00rootroot0000000 0000000 signature S = sig exception E of int end structure SExn1Trans : S structure SExn1Opaque : S ../tests/module/tests/exceptionSpecMatching0001.sml:33.11-37.3 Error: data constructor required in signature: E ../tests/module/tests/exceptionSpecMatching0001.sml:38.11-42.3 Error: data constructor required in signature: E ../tests/module/tests/exceptionSpecMatching0001.sml:44.11-48.3 Error: data constructor required in signature: E ../tests/module/tests/exceptionSpecMatching0001.sml:49.11-53.3 Error: data constructor required in signature: E smlsharp-1.2.0/test/tests/module/outputs/functor001.out0000644 000000000000000000000021612050661606023265 0ustar00rootroot0000000 0000000 functor F (S : sig val x : int end) : sig val y : int end structure P : sig val x : int end structure S : sig val y : int end val x = 3 : int smlsharp-1.2.0/test/tests/module/outputs/functor002.out0000644 000000000000000000000037212050661606023271 0ustar00rootroot0000000 0000000 functor F (S : sig type t end) : sig datatype dt con D : S.t -> dt end structure P : sig type t = real end structure S : sig datatype dt con D : P.t -> dt end val x = D - : S.dt val y = 1.23 : real datatype dt con E : S.dt -> dt val z = E (D -) : dt smlsharp-1.2.0/test/tests/module/outputs/functor003.out0000644 000000000000000000000044212050661606023270 0ustar00rootroot0000000 0000000 functor F (S : sig eqtype t end) : sig datatype dt con D : S.t -> dt val eq : S.t * S.t -> bool end structure P : sig type t = int end structure S : sig datatype dt con D : P.t -> dt val eq : P.t * P.t -> bool end val x = false : bool val y = true : bool val a = D - : S.dt val b = 1 : int smlsharp-1.2.0/test/tests/module/outputs/functor004.out0000644 000000000000000000000046612050661606023277 0ustar00rootroot0000000 0000000 functor F (S : sig datatype dt = D of int | E end) : sig datatype dt con D : S.dt -> dt val x : S.dt end structure P : sig datatype dt con D : int -> dt con E : dt end structure S : sig datatype dt con D : S.dt -> dt val x : S.dt end val x = D 1 : P.dt val y = 1 : int val a = D (D 1) : S.dt val b = 1 : int smlsharp-1.2.0/test/tests/module/outputs/functor005.out0000644 000000000000000000000054012050661606023271 0ustar00rootroot0000000 0000000 datatype gdt con D : int -> gdt con E : gdt functor F (S : sig datatype dt = datatype gdt end) : sig datatype dt con D : S.dt -> dt val x : S.dt end structure P : sig datatype dt con D : int -> dt con E : dt end structure S : sig datatype dt con D : S.dt -> dt val x : S.dt end val x = D 1 : P.dt val y = 1 : int val a = D (D 1) : S.dt val b = 1 : int smlsharp-1.2.0/test/tests/module/outputs/functor006.out0000644 000000000000000000000032212050661606023270 0ustar00rootroot0000000 0000000 functor F (S : sig exception E of int end) : sig val f : bool -> int -> int end structure P : sig exception E : int -> exn end structure S : sig val f : bool -> int -> int end val x1 = 1 : int val x2 = 0 : int smlsharp-1.2.0/test/tests/module/outputs/functor007.out0000644 000000000000000000000027212050661606023275 0ustar00rootroot0000000 0000000 functor F (S : sig structure T : sig val x : int end end) : sig val y : int end structure P : sig structure T : sig val x : int end end structure S : sig val y : int end val x = 3 : int smlsharp-1.2.0/test/tests/module/outputs/functor008.out0000644 000000000000000000000025612050661606023300 0ustar00rootroot0000000 0000000 signature T = sig val x : int end functor F (S : sig include T end) : sig val y : int end structure P : sig val x : int end structure S : sig val y : int end val x = 3 : int smlsharp-1.2.0/test/tests/module/outputs/functor009.out0000644 000000000000000000000020212050661606023270 0ustar00rootroot0000000 0000000 functor F (S : sig end) : sig val y : int end structure P : sig val x : int end structure S : sig val y : int end val x = 1 : int smlsharp-1.2.0/test/tests/module/outputs/functor015.out0000644 000000000000000000000146112050661606023275 0ustar00rootroot0000000 0000000 functor F (P : sig datatype dt con D : dt val x : int end) : sig val x : P.dt * int val y : P.dt * int structure P : sig datatype dt con D : dt val x : int end end structure S : sig datatype dt con D : dt val x : int end structure T : sig val x : S.dt * int val y : P.dt * int structure P : sig datatype dt con D : dt val x : int end end val x1 = D : S.dt val x2 = 1 : int val y1 = D : T.P.dt val y2 = 2 : int ../tests/module/tests/functor015.sml:16.10-16.16 Error: operator and operand don't agree operator domain: S.dt * S.dt operand: S.dt * T.P.dt smlsharp-1.2.0/test/tests/module/outputs/functorApplication001.out0000644 000000000000000000000152412050661606025454 0ustar00rootroot0000000 0000000 val r = ref 0 : int ref functor F (S : sig end) : sig datatype dt con D : dt end structure S : sig end structure F1 : sig datatype dt con D : dt end val r1 = 1 : int structure F2 : sig datatype dt con D : dt end val r2 = 2 : int structure F3 : sig datatype dt con D : dt end val r3 = 3 : int ../tests/module/tests/functorApplication001.sml:25.10-25.20 Error: operator and operand don't agree operator domain: F1.dt * F1.dt operand: F1.dt * F2.dt smlsharp-1.2.0/test/tests/module/outputs/functorApplication002.out0000644 000000000000000000000040312050661606025450 0ustar00rootroot0000000 0000000 structure S : sig datatype dt con D : dt val x : dt end functor F (S : sig type dt val x : dt end) : sig val x : S.dt end structure S1 : sig val x : S.dt end structure S2 : sig val x : S.dt end structure S3 : sig val x : S.dt end val x = [D,D,D] : S.dt list smlsharp-1.2.0/test/tests/module/outputs/functorApplication003.out0000644 000000000000000000000061212050661606025453 0ustar00rootroot0000000 0000000 structure S : sig datatype dt con D : dt val x : dt end functor F1 (S : sig type dt val x : dt end) : sig val x : S.dt end functor F2 (S : sig type dt val x : dt end) : sig val x : S.dt end functor F3 (S : sig type dt val x : dt end) : sig val x : S.dt end structure S1 : sig val x : S.dt end structure S2 : sig val x : S.dt end structure S3 : sig val x : S.dt end val x = [D,D,D] : S.dt list smlsharp-1.2.0/test/tests/module/outputs/functorApplication004.out0000644 000000000000000000000026312050661606025456 0ustar00rootroot0000000 0000000 functor F (P : sig type dt val x : dt end) : sig datatype dt con D : P.dt -> dt val x : dt end structure T : sig datatype dt con D : X?.dt -> dt val x : dt end val x = D - : T.dt smlsharp-1.2.0/test/tests/module/outputs/functorApplication005.out0000644 000000000000000000000035212050661606025456 0ustar00rootroot0000000 0000000 functor F (P : sig type dt val x : dt end) : sig datatype dt con D : P.dt -> dt val x : dt end structure S : sig datatype dt con D : dt val x : dt end structure T : sig datatype dt con D : S.dt -> dt val x : dt end val x = D - : T.dt smlsharp-1.2.0/test/tests/module/outputs/functorApplication006.out0000644 000000000000000000000060212050661606025455 0ustar00rootroot0000000 0000000 functor F (P : sig type dt val x : dt end) : sig datatype dt con D : P.dt -> dt val x : dt end signature SIG = sig type dt val x : dt end structure TBasic : sig datatype dt con D : X?.dt -> dt val x : dt end val xBasic = D - : TBasic.dt structure SId : sig datatype dt con D : dt val x : dt end structure TId : sig datatype dt con D : SId.dt -> dt val x : dt end val xId = D - : TId.dt smlsharp-1.2.0/test/tests/module/outputs/functorApplication007.out0000644 000000000000000000000060312050661606025457 0ustar00rootroot0000000 0000000 functor F (P : sig type dt val x : dt end) : sig datatype dt con D : P.dt -> dt val x : dt end signature SIG = sig type dt val x : dt end structure TBasic : sig datatype dt con D : X?.dt -> dt val x : dt end val xBasic = D - : TBasic.dt structure SId : sig datatype dt con D : dt val x : dt end structure TId : sig datatype dt con D : SId.dt -> dt val x : dt end val xId = D - : TId.dt smlsharp-1.2.0/test/tests/module/outputs/functorApplication008.out0000644 000000000000000000000115512050661606025463 0ustar00rootroot0000000 0000000 functor F (P : sig type dt val x : dt end) : sig datatype dt con F : P.dt -> dt val x : dt end functor F1 (P : sig type dt val x : dt end) : sig datatype dt con E : P.dt -> dt val x : dt end structure P : sig datatype dt con D : dt val x : dt end structure T1 : sig datatype dt con F : X?.dt -> dt val x : dt end val x1 = F - : T1.dt structure T2 : sig datatype dt con F : X?.dt -> dt val x : dt end val x2 = F - : T2.dt structure T31 : sig datatype dt con E : P.dt -> dt val x : dt end val x31 = E - : T31.dt structure T32 : sig datatype dt con F : T31.dt -> dt val x : dt end val x32 = F - : T32.dt val b = true : bool smlsharp-1.2.0/test/tests/module/outputs/functorApplication009.out0000644 000000000000000000000026312050661606025463 0ustar00rootroot0000000 0000000 functor F (P : sig type dt val x : dt end) : sig datatype dt con D : P.dt -> dt val x : dt end structure T : sig datatype dt con D : X?.dt -> dt val x : dt end val x = D - : T.dt smlsharp-1.2.0/test/tests/module/outputs/functorApplicationDerived001.out0000644 000000000000000000000347712050661606026770 0ustar00rootroot0000000 0000000 functor FEmpty (S : sig end) : sig end structure TEmpty : sig end functor FVal (S : sig val x : int end) : sig val y : int end structure TVal : sig val y : int end val xVal = 2 : int functor FType (S : sig type t end) : sig datatype dt con D : S.t -> dt end structure TType : sig datatype dt con D : X?.t -> dt end datatype dtType con DType : TType.dt -> dtType val xType = D - : TType.dt functor FEqType (S : sig eqtype t end) : sig datatype dt con D : S.t -> dt end structure TEqType : sig datatype dt con D : X?.t -> dt end datatype dtEqType con DEqType : TEqType.dt -> dtEqType val xEqType = D - : TEqType.dt functor FDatatype (S : sig datatype dt = D end) : sig datatype dt con E : S.dt -> dt datatype et con D : et end structure TDatatype : sig datatype dt con E : S.dt -> dt datatype et con D : X?.dt end datatype dtDatatype con DDatatype : TDatatype.dt -> dtDatatype val xDatatype = E D : TDatatype.dt datatype dtDatatypeRep con DDatatypeRep : dtDatatypeRep functor FDatatypeRep (S : sig datatype dt = datatype dtDatatypeRep end) : sig datatype dt con D : S.dt -> dt datatype et con DDatatypeRep : et end structure TDatatypeRep : sig datatype dt con D : S.dt -> dt datatype et con DDatatypeRep : X?.dt end val xDatatypeRep = D DDatatypeRep : TDatatypeRep.dt val yDatatypeRep = DDatatypeRep : TDatatypeRep.et functor FException (S : sig exception E of real end) : sig exception F : real -> exn val f : ['a .real -> 'a] end structure TException : sig exception F : real -> exn val f : ['a .real -> 'a] end val xException = 1.23 : real functor FStructure (S : sig structure T : sig datatype dt = D end end) : sig structure T : sig datatype dt con D : dt end end structure TStructure : sig structure T : sig datatype dt con D : X?.T.dt end end structure SStructure : sig datatype dt con D : TStructure.X?.T.dt end val xStructure = D : TStructure.T.dt smlsharp-1.2.0/test/tests/module/outputs/functorBinding001.out0000644 000000000000000000000104012050661606024554 0ustar00rootroot0000000 0000000 functor F1 (S : sig val x : int end) : sig val x : int end functor F2 (S : sig val x : int end) : sig val x : int end functor F3 (S : sig val x : int end) : sig val x : int end structure S : sig val x : int end structure S1 : sig val x : int end structure S2 : sig val x : int end structure S3 : sig val x : int end val sx1 = 2 : int val sx2 = 2 : int val sx3 = 2 : int ../tests/module/tests/functorBinding001.sml:26.10-26.15 Error: unbound structure: T1 ../tests/module/tests/functorBinding001.sml:27.10-27.15 Error: unbound structure: T2 smlsharp-1.2.0/test/tests/module/outputs/functorBindingDerived001.out0000644 000000000000000000000263212050661606026067 0ustar00rootroot0000000 0000000 signature PSIG = sig type t eqtype et datatype ('a,'b) dt = D | E of 'a * 'b val x : (t,et) dt exception F structure S : sig val f : bool -> (t,et) dt end end structure PSTR : sig datatype ('a, 'b) dt con D : ['a,'b.('b, 'a) dt] con E : ['a,'b.'b * 'a -> ('b, 'a) dt] type et = string type t = real exception F : exn val x : (real,string) dt structure S : sig val f : ['a,'b.bool -> ('b, 'a) dt] end end signature FSIG = sig type s eqtype es datatype ('a,'b) ds = D | E of 'a * 'b val x : (s,es) ds exception F structure S : sig val f : bool -> (s,es) ds end end functor FTrans (S : PSIG) : FSIG structure TTrans : sig datatype ('a, 'b) ds con D : ['a,'b.('b, 'a) PSTR.dt] con E : ['a,'b.'b * 'a -> ('b, 'a) PSTR.dt] type es = PSTR.et type s = PSTR.t exception F : exn val x : (s, es) ds structure S : sig val f : bool -> (s, es) ds end end val xTrans = E (1.23, "a") : (TTrans.s, TTrans.es) TTrans.ds val yTrans = E (1.23, "a") : (TTrans.s, TTrans.es) TTrans.ds functor FOpaq (S : PSIG) : FSIG structure TOpaq : sig datatype ('a, 'b) ds con D : ['a,'b.('b, 'a) ds] con E : ['a,'b.'b * 'a -> ('b, 'a) ds] eqtype es type s exception F : exn val x : (s, es) ds structure S : sig val f : bool -> (s, es) ds end end val xOpaq = E ( -, - ) : (TOpaq.s, TOpaq.es) TOpaq.ds val yOpaq = E ( -, - ) : (TOpaq.s, TOpaq.es) TOpaq.ds smlsharp-1.2.0/test/tests/module/outputs/functorBindingDerived021.out0000644 000000000000000000000041712050661606026070 0ustar00rootroot0000000 0000000 signature SEmpty = sig end structure PEmpty : sig end functor FEmpty ('X : sig end) : sig end structure TEmpty : sig end functor FEmptyTrans ('X : sig end) : SEmpty structure TEmptyTrans : sig end functor FEmptyOpaq ('X : sig end) : SEmpty structure TEmptyOpaq : sig end smlsharp-1.2.0/test/tests/module/outputs/functorBindingDerived022.out0000644 000000000000000000000065112050661606026071 0ustar00rootroot0000000 0000000 signature SVal = sig val y : int end structure PVal : sig val x : int end functor FVal ('X : sig val x : int end) : sig val y : int end structure TVal : sig val y : int end val xVal = 2 : int functor FValTrans ('X : sig val x : int end) : SVal structure TValTrans : sig val y : int end val xValTrans = 2 : int functor FValOpaq ('X : sig val x : int end) : SVal structure TValOpaq : sig val y : int end val xValOpaq = 2 : int smlsharp-1.2.0/test/tests/module/outputs/functorBindingDerived023.out0000644 000000000000000000000114712050661606026073 0ustar00rootroot0000000 0000000 signature SType = sig type dt end structure PType : sig type t = real end functor FType ('X : sig type t end) : sig datatype dt con D : 'X.t -> dt end structure TType : sig datatype dt con D : PType.t -> dt end datatype dtType con DType : TType.dt -> dtType val xType = D - : TType.dt functor FTypeTrans ('X : sig type t end) : SType structure TTypeTrans : sig datatype dt con D : PType.t -> dt end datatype dtTypeTrans con DTypeTrans : TTypeTrans.dt -> dtTypeTrans functor FTypeOpaq ('X : sig type t end) : SType structure TTypeOpaq : sig type dt end datatype dtTypeOpaq con DTypeOpaq : TTypeOpaq.dt -> dtTypeOpaq smlsharp-1.2.0/test/tests/module/outputs/functorBindingDerived024.out0000644 000000000000000000000124312050661606026071 0ustar00rootroot0000000 0000000 signature SEqType = sig type dt end structure PEqType : sig type t = string end functor FEqType ('X : sig eqtype t end) : sig datatype dt con D : 'X.t -> dt end structure TEqType : sig datatype dt con D : PEqType.t -> dt end datatype dtEqType con DEqType : TEqType.dt -> dtEqType val xEqType = D - : TEqType.dt functor FEqTypeTrans ('X : sig eqtype t end) : SEqType structure TEqTypeTrans : sig datatype dt con D : PEqType.t -> dt end datatype dtEqTypeTrans con DEqTypeTrans : TEqTypeTrans.dt -> dtEqTypeTrans functor FEqTypeOpaq ('X : sig eqtype t end) : SEqType structure TEqTypeOpaq : sig type dt end datatype dtEqTypeOpaq con DEqTypeOpaq : TEqTypeOpaq.dt -> dtEqTypeOpaq smlsharp-1.2.0/test/tests/module/outputs/functorBindingDerived025.out0000644 000000000000000000000152112050661606026071 0ustar00rootroot0000000 0000000 signature SDatatype = sig type et type ft end structure PDatatype : sig datatype dt con D : dt end functor FDatatype ('X : sig datatype dt = D end) : sig datatype et con E : 'X.dt -> et datatype ft con D : ft end structure TDatatype : sig datatype et con E : 'X.dt -> et datatype ft con D : PDatatype.dt end datatype dtDatatype con DDatatype : TDatatype.et -> dtDatatype val xDatatype = E D : TDatatype.et functor FDatatypeTrans ('X : sig datatype dt = D end) : SDatatype structure TDatatypeTrans : sig datatype et con E : 'X.dt -> et datatype ft con D : PDatatype.dt end datatype dtDatatypeTrans con DDatatypeTrans : TDatatypeTrans.et -> dtDatatypeTrans functor FDatatypeOpaq ('X : sig datatype dt = D end) : SDatatype structure TDatatypeOpaq : sig type et type ft end datatype dtDatatypeOpaq con DDatatypeOpaq : TDatatypeOpaq.et -> dtDatatypeOpaq smlsharp-1.2.0/test/tests/module/outputs/functorBindingDerived026.out0000644 000000000000000000000242112050661606026072 0ustar00rootroot0000000 0000000 datatype dtDatatypeRep con DDatatypeRep : dtDatatypeRep signature SDatatypeRep = sig datatype et = D of dtDatatypeRep datatype ft = datatype dtDatatypeRep end structure PDatatypeRep : sig datatype dt con DDatatypeRep : dt end functor FDatatypeRep ('X : sig datatype dt = datatype dtDatatypeRep end) : sig datatype et con D : 'X.dt -> et datatype ft con DDatatypeRep : ft end structure TDatatypeRep : sig datatype et con D : 'X.dt -> et datatype ft con DDatatypeRep : PDatatypeRep.dt end val xDatatypeRep = D DDatatypeRep : TDatatypeRep.et val yDatatypeRep = DDatatypeRep : TDatatypeRep.ft functor FDatatypeRepTrans ('X : sig datatype dt = datatype dtDatatypeRep end) : SDatatypeRep structure TDatatypeRepTrans : sig datatype et con D : 'X.dt -> et datatype ft con DDatatypeRep : PDatatypeRep.dt end val xDatatypeRepTrans = D DDatatypeRep : TDatatypeRepTrans.et val yDatatypeRepTrans = DDatatypeRep : TDatatypeRepTrans.ft functor FDatatypeRepOpaq ('X : sig datatype dt = datatype dtDatatypeRep end) : SDatatypeRep structure TDatatypeRepOpaq : sig datatype et con D : dtDatatypeRep -> et datatype ft con DDatatypeRep : PDatatypeRep.dt end val xDatatypeRepOpaq = D DDatatypeRep : TDatatypeRepOpaq.et val yDatatypeRepOpaq = DDatatypeRep : TDatatypeRepOpaq.ft smlsharp-1.2.0/test/tests/module/outputs/functorBindingDerived027.out0000644 000000000000000000000133212050661606026073 0ustar00rootroot0000000 0000000 signature SException = sig exception F of real val f : real -> real end structure PException : sig exception E : real -> exn end functor FException ('X : sig exception E of real end) : sig exception F : real -> exn val f : ['a .real -> 'a] end structure TException : sig exception F : real -> exn val f : ['a .real -> 'a] end val xException = 1.23 : real functor FExceptionTrans ('X : sig exception E of real end) : SException structure TExceptionTrans : sig exception F : real -> exn val f : real -> real end val xExceptionTrans = 1.23 : real functor FExceptionOpaq ('X : sig exception E of real end) : SException structure TExceptionOpaq : sig exception F : real -> exn val f : real -> real end val xExceptionOpaq = 1.23 : real smlsharp-1.2.0/test/tests/module/outputs/functorBindingDerived028.out0000644 000000000000000000000212212050661606026072 0ustar00rootroot0000000 0000000 signature SStructure = sig structure T : sig datatype dt = D end end structure PStructure : sig structure T : sig datatype dt con D : dt end end functor FStructure ('X : sig structure T : sig datatype dt = D end end) : sig structure T : sig datatype dt con D : 'X.T.dt end end structure TStructure : sig structure T : sig datatype dt con D : PStructure.T.dt end end structure SStructure : sig datatype dt con D : TStructure.PStructure.T.dt end val xStructure = - : TStructure.'X.T.dt functor FStructureTrans ('X : sig structure T : sig datatype dt = D end end) : SStructure structure TStructureTrans : sig structure T : sig datatype dt con D : PStructure.T.dt end end structure SStructureTrans : sig datatype dt con D : TStructureTrans.PStructure.T.dt end val xStructureTrans = - : TStructureTrans.'X.T.dt functor FStructureOpaq ('X : sig structure T : sig datatype dt = D end end) : SStructure structure TStructureOpaq : sig structure T : sig datatype dt con D : 'X.T.dt end end structure SStructureOpaq : sig datatype dt con D : TStructureOpaq.'X.T.dt end val xStructureOpaq = - : TStructureOpaq.'X.T.dt smlsharp-1.2.0/test/tests/module/outputs/functorConstraint001.out0000644 000000000000000000000047212050661606025336 0ustar00rootroot0000000 0000000 signature SVal = sig val x : int end structure PVal : sig val x : bool end functor FValTrans (S : sig val x : bool end) : SVal structure SValTrans : sig val x : int end val xValTrans = 1 : int functor FValOpaque (S : sig val x : bool end) : SVal structure SValOpaque : sig val x : int end val xValOpaque = 1 : int smlsharp-1.2.0/test/tests/module/outputs/functorConstraint002.out0000644 000000000000000000000101612050661606025332 0ustar00rootroot0000000 0000000 signature SType = sig type t val x : t end structure PType : sig type t = real val x : real end functor FTypeTrans (S : sig type t val x : t end) : SType structure STypeTrans : sig datatype t con D : PType.t -> t val x : t end datatype dtTrans con DTrans : STypeTrans.t -> dtTrans val aTypeTrans = DTrans (D -) : dtTrans functor FTypeOpaque (S : sig type t val x : t end) : SType structure STypeOpaque : sig type t val x : t end datatype dtOpaque con DOpaque : STypeOpaque.t -> dtOpaque val aTypeOpaque = DOpaque - : dtOpaque smlsharp-1.2.0/test/tests/module/outputs/functorConstraint003.out0000644 000000000000000000000155112050661606025337 0ustar00rootroot0000000 0000000 signature SType = sig eqtype t val x : t end structure P : sig type t = real val x : real end functor FTypeNotDependsTrans (S : sig type t val x : t end) : SType structure STypeNotDependsTrans : sig type t = P.t ref val x : t end val xTypeTrans = ref 1.23 : STypeNotDependsTrans.t datatype dtTrans con DTrans : STypeNotDependsTrans.t -> dtTrans val aTypeTrans = DTrans (ref 1.23) : dtTrans functor FTypeNotDependsOpaque (S : sig type t val x : t end) : SType structure STypeNotDependsOpaque : sig eqtype t val x : t end val xTypeOpaque = - : STypeNotDependsOpaque.t datatype dtOpaque con DOpaque : STypeNotDependsOpaque.t -> dtOpaque val aTypeOpaque = DOpaque - : dtOpaque ../tests/module/tests/functorConstraint003.sml:49.1-49.55 Error: Signature mismatch (equality): t ../tests/module/tests/functorConstraint003.sml:52.1-52.56 Error: Signature mismatch (equality): t smlsharp-1.2.0/test/tests/module/outputs/functorConstraint004.out0000644 000000000000000000000117212050661606025337 0ustar00rootroot0000000 0000000 signature SDatatype = sig datatype t = D val x : t end structure PDatatype : sig type t = real end functor FDatatypeTrans (S : sig type t end) : SDatatype structure SDatatypeTrans : sig datatype t con D : t val x : t end datatype dtTrans con DTrans : SDatatypeTrans.t -> dtTrans val aDatatypeTrans = DTrans D : dtTrans val xDatatypeTrans = D : SDatatypeTrans.t functor FDatatypeOpaque (S : sig type t end) : SDatatype structure SDatatypeOpaque : sig datatype t con D : t val x : t end datatype dtOpaque con DOpaque : SDatatypeOpaque.t -> dtOpaque val aDatatypeOpaque = DOpaque D : dtOpaque val xDatatypeOpaque = D : SDatatypeOpaque.t smlsharp-1.2.0/test/tests/module/outputs/functorConstraint005.out0000644 000000000000000000000134612050661606025343 0ustar00rootroot0000000 0000000 datatype dt con D : dt signature SDatatype = sig datatype t = datatype dt val x : t end structure PDatatype : sig type t = real end functor FDatatypeTrans (S : sig type t end) : SDatatype structure SDatatypeTrans : sig datatype t con D : t val x : t end datatype dt2Trans con ETrans : SDatatypeTrans.t -> dt2Trans val aDatatypeTrans = ETrans D : dt2Trans val xDatatypeTrans = D : SDatatypeTrans.t val eqDatatypeTrans = true : bool functor FDatatypeOpaque (S : sig type t end) : SDatatype structure SDatatypeOpaque : sig datatype t con D : t val x : t end datatype dt2Opaque con EOpaque : SDatatypeOpaque.t -> dt2Opaque val aDatatypeOpaque = EOpaque D : dt2Opaque val xDatatypeOpaque = D : SDatatypeOpaque.t val eqDatatypeOpaque = true : bool smlsharp-1.2.0/test/tests/module/outputs/functorConstraint006.out0000644 000000000000000000000066112050661606025343 0ustar00rootroot0000000 0000000 signature SExn = sig exception E of int end structure PExn : sig exception E : string -> exn end functor FExnTrans (S : sig exception E of string end) : SExn structure SExnTrans : sig exception E : int -> exn end val xExnTrans = E 1 : exn val eExnTrans = 1 : int functor FExnOpaque (S : sig exception E of string end) : SExn structure SExnOpaque : sig exception E : int -> exn end val xExnOpaque = E 1 : exn val eExnOpaque = 1 : int smlsharp-1.2.0/test/tests/module/outputs/functorConstraint007.out0000644 000000000000000000000173612050661606025350 0ustar00rootroot0000000 0000000 signature SStructure = sig structure S : sig datatype dt = D of int val x : int end end structure PStructure : sig datatype dt con D : int -> dt val x : int end functor FStructure1Trans (S : sig val x : int datatype dt = D of int end) : SStructure structure SStructure1Trans : sig structure S : sig datatype dt con D : int -> dt val x : int end end structure SSTrans : sig datatype dt con D : int -> dt val x : int end val xStructureTrans = 1 : int functor FStructure1Opaque (S : sig val x : int datatype dt = D of int end) : SStructure structure SStructure1Opaque : sig structure S : sig datatype dt con D : int -> dt val x : int end end structure SSOpaque : sig datatype dt con D : int -> dt val x : int end val xStructureOpaque = 1 : int ../tests/module/tests/functorConstraint007.sml:46.1-46.23 Error: Signature mismatch (undefined structure in structure): S ../tests/module/tests/functorConstraint007.sml:49.1-49.24 Error: Signature mismatch (undefined structure in structure): S smlsharp-1.2.0/test/tests/module/outputs/IDStructureExpression001.out0000644 000000000000000000000264612050661606026113 0ustar00rootroot0000000 0000000 structure S11 : sig datatype dt con D : dt val x : dt end structure T11 : sig datatype dt con D : dt val x : dt end val x11 = D : T11.dt structure S12 : sig structure S12 : sig datatype dt con D : dt val x : dt end end structure T12 : sig datatype dt con D : dt val x : dt end val x12 = D : T12.dt structure S21 : sig datatype dt con D : dt val x : dt end structure T21 : sig structure T21 : sig datatype dt con D : dt val x : dt end end val x21 = D : T21.T21.dt structure S22 : sig structure S22 : sig datatype dt con D : dt val x : dt end structure T22 : sig datatype dt con D : dt val x : dt end end val x22 = D : S22.T22.dt structure S23 : sig structure S23 : sig datatype dt con D : dt val x : dt end end structure T23 : sig structure T23 : sig datatype dt con D : dt val x : dt end end val x23 = D : T23.T23.dt structure S31 : sig datatype dt con D : dt val x : dt end structure T31 : sig structure T31 : sig structure T31 : sig datatype dt con D : dt val x : dt end end end val x31 = D : T31.T31.T31.dt structure S32 : sig structure S32 : sig datatype dt con D : dt val x : dt end structure T32 : sig structure T32 : sig datatype dt con D : dt val x : dt end end end val x32 = D : S32.T32.T32.dt structure S33 : sig structure S33 : sig datatype dt con D : dt val x : dt end end structure T33 : sig structure T33 : sig structure T33 : sig datatype dt con D : dt val x : dt end end end val x33 = D : T33.T33.T33.dt smlsharp-1.2.0/test/tests/module/outputs/includeSpec0001.out0000644 000000000000000000000120312050661606024120 0ustar00rootroot0000000 0000000 signature S1 = sig type s include sig type t datatype dt = D of t val x : s * t * dt end val y : dt * t end signature S2Top = sig type t datatype dt = D of t val x : t * dt end signature S2 = sig include S2Top val y : dt * t end ../tests/module/tests/includeSpec0001.sml:31.3-31.17 Error: unbound signature: S3Inner ../tests/module/tests/includeSpec0001.sml:32.11-32.12 Error: unbound type constructor: dt ../tests/module/tests/includeSpec0001.sml:32.16-32.16 Error: unbound type constructor: t signature S4 = sig type s include sig type t datatype dt = D of t val x : s * t * dt end where type t = s val y : dt * t end smlsharp-1.2.0/test/tests/module/outputs/includeSpec0002.out0000644 000000000000000000000151212050661606024124 0ustar00rootroot0000000 0000000 signature Ival = sig val x : int end signature Sval = sig include Ival end signature Itype = sig type t end signature Stype = sig include Itype end signature Ieqtype = sig eqtype t end signature Seqtype = sig include Ieqtype end signature Idatatype = sig datatype dt = D end signature Sdatatype = sig include Idatatype end datatype dt con D : dt signature IdatatypeRep = sig datatype dt = datatype dt end signature SdatatypeRep = sig include IdatatypeRep end signature Iexception = sig exception E end signature Sexception = sig include Iexception end signature Istructure = sig structure S : sig type t datatype dt = D val x : t end end signature Sstructure = sig include Istructure end signature Tinclude = sig type t datatype dt = D val x : t end signature Iinclude = sig include Tinclude end signature Sinclude = sig include Iinclude end smlsharp-1.2.0/test/tests/module/outputs/includeSpec0003.out0000644 000000000000000000000025112050661606024124 0ustar00rootroot0000000 0000000 signature S31 = sig type t datatype dt = D of t val x : t * dt end signature S32 = sig include S31 val y : t * dt end signature S33 = sig include S32 val z : dt * t end smlsharp-1.2.0/test/tests/module/outputs/includeSpec0004.out0000644 000000000000000000000022512050661606024126 0ustar00rootroot0000000 0000000 signature SA = sig type t val x : t end signature SB = sig datatype dt = D val y : dt end signature S = sig include SA include SB val z : t * dt end smlsharp-1.2.0/test/tests/module/outputs/includeSpecMatching0001.out0000644 000000000000000000000263012050661606025600 0ustar00rootroot0000000 0000000 signature TEmpty = sig end signature SEmpty = sig include TEmpty end structure SEmptyTrans : SEmpty structure SEmptyOpaque : SEmpty signature TVal = sig val x : int end signature SVal = sig include TVal end structure SValTrans : SVal structure SValOpaque : SVal signature TType = sig type t end signature SType = sig include TType end structure STypeTrans : SType structure STypeOpaque : SType signature TEqtype = sig eqtype t end signature SEqtype = sig include TEqtype end structure SEqtypeTrans : SEqtype structure SEqtypeOpaque : SEqtype signature TDatatype = sig datatype dt = D end signature SDatatype = sig include TDatatype end structure SDatatypeTrans : SDatatype structure SDatatypeOpaque : SDatatype datatype dtDatatypeReplication con DDatatypeReplication : dtDatatypeReplication signature TDatatypeReplication = sig datatype dt = datatype dtDatatypeReplication end signature SDatatypeReplication = sig include TDatatypeReplication end structure SDatatypeReplicationTrans : SDatatypeReplication structure SDatatypeReplicationOpaque : SDatatypeReplication signature TException = sig exception E end signature SException = sig include TException end structure SExceptionTrans : SException structure SExceptionOpaque : SException signature TStructure = sig structure S : sig val x : int end end signature SStructure = sig include TStructure end structure SStructureTrans : SStructure structure SStructureOpaque : SStructure smlsharp-1.2.0/test/tests/module/outputs/includeSpecMatching0002.out0000644 000000000000000000000047412050661606025605 0ustar00rootroot0000000 0000000 signature SA = sig type t val x : t end signature SB = sig datatype dt = D val y : dt end signature S = sig include SA include SB val z : t * dt end structure S : sig datatype dt con D : dt type t = int val x : int val y : dt val z : int * dt end structure STrans : S structure SOpaque : S smlsharp-1.2.0/test/tests/module/outputs/letStructureExpression001.out0000644 000000000000000000000020212050661606026365 0ustar00rootroot0000000 0000000 structure S1 : sig datatype dt con D : dt end val x1 = D : S1.dt structure S2 : sig datatype dt con D : dt end val x2 = D : S2.dt smlsharp-1.2.0/test/tests/module/outputs/local0001.out0000644 000000000000000000000053012050661606022756 0ustar00rootroot0000000 0000000 structure S11 : sig val x : S.dt * S.dt end val x11 = (-, -) : S.dt * S.dt structure S12 : sig datatype dt con D : dt val x : dt end val x12 = (D, D) : S12.dt * S12.dt structure S21 : sig val x : S21.dt * S21.dt end val x21 = (-, -) : S21.dt * S21.dt structure S22 : sig datatype dt con D : dt val x : dt end val x22 = (D, D) : S22.dt * S22.dt smlsharp-1.2.0/test/tests/module/outputs/LongIDExceptionReplication001.out0000644 000000000000000000000014512050661606026773 0ustar00rootroot0000000 0000000 structure S1 : sig exception E : exn end exception E = S1.E val f1 = fn : exn -> int val x = 1 : int smlsharp-1.2.0/test/tests/module/outputs/LongIDExpression001.out0000644 000000000000000000000026212050661606025002 0ustar00rootroot0000000 0000000 structure S1 : sig val x : int end val x1 = 1 : int structure S2 : sig datatype dt con D : dt end val x2 = D : S2.dt structure S3 : sig exception E : exn end val x3 = S3.E : exn smlsharp-1.2.0/test/tests/module/outputs/LongIDPattern001.out0000644 000000000000000000000061112050661606024256 0ustar00rootroot0000000 0000000 structure S11 : sig datatype dt con D : dt end val f11 = fn : S11.dt -> int val x11 = 1 : int structure S21 : sig exception E : exn end val f21 = fn : exn -> int val x21 = 2 : int structure S12 : sig datatype dt con D : int * int -> dt end val f12 = fn : S12.dt -> int val x12 = 3 : int structure S22 : sig exception E : real * real -> exn end val f22 = fn : exn -> real val x22 = 5.79 : real smlsharp-1.2.0/test/tests/module/outputs/LongIDTypeName001.out0000644 000000000000000000000077212050661606024373 0ustar00rootroot0000000 0000000 structure S11 : sig datatype dt con D : dt end datatype dt11 con D11 : S11.dt -> dt11 val x11 = D11 D : dt11 structure S12 : sig datatype 'a dt con D : ['a .'a -> 'a dt] end datatype dt12 con D12 : int S12.dt -> dt12 val x12 = D12 (D 12) : dt12 structure S21 : sig type t = int * real end datatype dt21 con D21 : S21.t -> dt21 val x21 = D21 (1,2.34) : dt21 structure S22 : sig type 'a t = int * real * 'a end datatype dt22 con D22 : (string * bool) S22.t -> dt22 val x22 = D22 (1,2.34,("abc",true)) : dt22 smlsharp-1.2.0/test/tests/module/outputs/open001.out0000644 000000000000000000000346612050661606022560 0ustar00rootroot0000000 0000000 structure Sval1 : sig val x : int * int end structure Sval2 : sig val x : int * int val y : int * int end val xval = (1, 2) : int * int structure Stype1 : sig type t = int * int end structure Stype2 : sig type t = int * int val y : t end val xtype = (2, 3) : Stype2.t structure Sdatatype1 : sig datatype dt con D : dt end structure Sdatatype2 : sig datatype dt con D : dt val y : dt end val xdatatype = D : Sdatatype2.dt structure SdatatypeReplication1 : sig datatype dt con D : dt end structure SdatatypeReplication2 : sig datatype dt con D : dt val y : dt end val xdatatypeReplication = D : Sdatatype2.dt structure Sabstype1 : sig type at type t = int * int val x : at end structure Sabstype2 : sig type at type t = int * int val x : at val y : at end val xabstype = - : Sabstype2.at structure Sexception1 : sig exception E : int -> exn end structure Sexception2 : sig exception E : int -> exn val y : exn end val xexception = Sexception1.E 1 : exn structure Sopen1 : sig datatype dt con D : dt val x : dt end structure Sopen2 : sig datatype dt con D : dt val x : dt end structure Sopen3 : sig datatype dt con D : dt val x : dt val y : dt end val xopen = (D, D) : Sopen3.dt * Sopen3.dt structure Sinfix1 : sig val ## : int * int -> int end structure Sinfix2 : sig val ## : int * int -> int end structure Sinfixr1 : sig val ## : int * int -> int end structure Sinfixr2 : sig val ## : int * int -> int end structure Snonfix1 : sig end structure Snonfix2 : sig val ## : int * int -> int end structure Sstructure1 : sig structure S : sig datatype dt con D : dt val x : dt end end structure Sstructure2 : sig structure S : sig datatype dt con D : dt val x : dt end structure T : sig datatype dt con D : dt val x : dt end end structure T : sig datatype dt con D : dt val x : dt end val xstructure = (D, D) : Sstructure2.S.dt * Sstructure2.S.dt smlsharp-1.2.0/test/tests/module/outputs/open002.out0000644 000000000000000000000074012050661606022551 0ustar00rootroot0000000 0000000 structure S31 : sig datatype dt con D : t -> dt type t = int val x : dt end structure S32 : sig datatype dt con D : t -> dt datatype dt2 con E : dt * t -> dt2 type t = int val x : dt val y : dt * int end structure S33 : sig datatype dt con D : t -> dt datatype dt2 con E : dt * t -> dt2 type t = int type t3 = dt * dt2 * t val x : dt val y : dt * int val z : dt * (dt * int) * int end smlsharp-1.2.0/test/tests/module/outputs/sequentialSpec0001.out0000644 000000000000000000000024412050661606024653 0ustar00rootroot0000000 0000000 signature S11 = sig type s val y : s type t val x : t end signature S12 = sig type s val y : s type t val x : t end signature S21 = sig end signature S22 = sig end smlsharp-1.2.0/test/tests/module/outputs/sharingSpec0001.out0000644 000000000000000000000047412050661606024141 0ustar00rootroot0000000 0000000 signature S21 = sig structure T1 : sig type t1 end structure T2 : sig type t1 end sharing T1 = T2 end signature S32 = sig structure T1 : sig type t1 datatype t2 = D end structure T2 : sig type t1 datatype t2 = D end structure T3 : sig type t1 datatype t2 = D end sharing T1 = T2 = T3 end smlsharp-1.2.0/test/tests/module/outputs/sharingSpec0002.out0000644 000000000000000000000050612050661606024136 0ustar00rootroot0000000 0000000 signature S21 = sig structure T1 : sig type t1 type t2 end structure T2 : sig type t1 end sharing T1 = T2 end signature S32 = sig structure T1 : sig type t1 datatype t2 = D type t3 end structure T2 : sig type t1 datatype t2 = D type t3 end structure T3 : sig type t1 datatype t2 = D end sharing T1 = T2 = T3 end smlsharp-1.2.0/test/tests/module/outputs/sharingSpec0003.out0000644 000000000000000000000116212050661606024136 0ustar00rootroot0000000 0000000 signature S11 = sig structure S : sig type t end structure T : sig type t end sharing T = S end signature S13 = sig structure S : sig type t end structure T : sig structure T : sig type t end end sharing S = T.T end signature S21 = sig structure S : sig structure S : sig type t end end structure T : sig type t end sharing S.S = T end signature S22 = sig structure S : sig structure S : sig type t end structure T : sig type t end end sharing S.S = S.T end signature S23 = sig structure S : sig structure S : sig type t end end structure T : sig structure T : sig type t end end sharing S.S = T.T end smlsharp-1.2.0/test/tests/module/outputs/sharingSpecMatching0001.out0000644 000000000000000000000143712050661606025614 0ustar00rootroot0000000 0000000 signature S32 = sig structure T1 : sig type t1 datatype t2 = D val x : t2 end structure T2 : sig type t1 datatype t2 = D val x : t2 end structure T3 : sig type t1 datatype t2 = D val x : t2 end sharing T1 = T2 = T3 val x : T1.t2 * T2.t2 * T3.t2 end structure S32 : sig val x : T1.t2 * T2.t2 * T3.t2 structure T1 : sig type t1 = int datatype t2 con D : t2 val x : t2 end structure T2 : sig type t1 = int datatype t2 con D : t2 val x : t2 end structure T3 : sig type t1 = int datatype t2 con D : t2 val x : t2 end end structure S32Trans : S32 val xTrans1 = D : S32Trans.T1.t2 val xTrans2 = D : S32Trans.T1.t2 val xTrans3 = D : S32Trans.T1.t2 structure S32Opaque : S32 val xOpaque1 = D : S32Opaque.T1.t2 val xOpaque2 = D : S32Opaque.T2.t2 val xOpaque3 = D : S32Opaque.T3.t2 smlsharp-1.2.0/test/tests/module/outputs/sharingTypeSpec0001.out0000644 000000000000000000000017312050661606024777 0ustar00rootroot0000000 0000000 signature S2 = sig type t type s sharing type s = t end signature S3 = sig type s type t type u sharing type u = t = s end smlsharp-1.2.0/test/tests/module/outputs/sharingTypeSpec0002.out0000644 000000000000000000000031312050661606024774 0ustar00rootroot0000000 0000000 signature S2 = sig type u type t type s sharing type s = t sharing type s = u end signature S3 = sig type s type t type u type v sharing type u = t sharing type t = s sharing type s = v endsmlsharp-1.2.0/test/tests/module/outputs/sharingTypeSpec0003.out0000644 000000000000000000000224212050661606025000 0ustar00rootroot0000000 0000000 signature S11 = sig type s type t sharing type t = s end signature S13 = sig type s structure T : sig type t end sharing type s = T.t end signature S15 = sig type s structure T : sig structure T : sig type t end end sharing type s = T.T.t end signature S21 = sig structure S : sig type s end type t sharing type S.s = t end signature S22 = sig structure S : sig type s type t end sharing type S.s = S.t end signature S23 = sig structure S : sig type s end structure T : sig type t end sharing type S.s = T.t end signature S25 = sig structure S : sig type s end structure T : sig structure T : sig type t end end sharing type S.s = T.T.t end signature S31 = sig structure S : sig structure S : sig type s end end type t sharing type S.S.s = t end signature S33 = sig structure S : sig structure S : sig type s end end structure T : sig type t end sharing type S.S.s = T.t end signature S34 = sig structure S : sig structure S : sig type s type t end end sharing type S.S.s = S.S.t end signature S35 = sig structure S : sig structure S : sig type s type t end end structure T : sig structure T : sig type t end end sharing type S.S.s = T.T.t end smlsharp-1.2.0/test/tests/module/outputs/sharingTypeSpec0004.out0000644 000000000000000000000353512050661606025007 0ustar00rootroot0000000 0000000 signature S11 = sig type s type t sharing type s = t end structure S11 : S11 signature S12 = sig type s eqtype t sharing type s = t end ../tests/module/tests/sharingTypeSpec0004.sml:37.11-37.61 Error: Signature mismatch (equality): t structure S122 : S12 signature S13 = sig type s datatype t = D of real sharing type s = t end structure S13 : S13 signature S14 = sig type s datatype t = D of int sharing type s = t end structure S14 : S14 signature S21 = sig eqtype s type t sharing type s = t end ../tests/module/tests/sharingTypeSpec0004.sml:64.11-64.61 Error: Signature mismatch (equality): s structure S212 : S21 signature S22 = sig eqtype s eqtype t sharing type s = t end ../tests/module/tests/sharingTypeSpec0004.sml:73.11-73.61 Error: Signature mismatch (equality): t structure S222 : S22 signature S23 = sig eqtype s datatype t = D of real sharing type s = t end ../tests/module/tests/sharingTypeSpec0004.sml:82.11-82.66 Error: Signature mismatch (equality): s signature S24 = sig eqtype s datatype t = D of int sharing type s = t end structure S24 : S24 signature S31 = sig datatype s = D of real type t sharing type s = t end structure S31 : S31 signature S32 = sig datatype s = D of real eqtype t sharing type s = t end ../tests/module/tests/sharingTypeSpec0004.sml:109.11-110.57 Error: Signature mismatch (equality): t signature S33 = sig datatype s = D of real datatype t = E of real sharing type s = t end signature S34 = sig datatype s = D of real datatype t = E of int sharing type s = t end signature S41 = sig datatype s = D of int type t sharing type s = t end structure S41 : S41 signature S42 = sig datatype s = D of int eqtype t sharing type s = t end structure S42 : S42 signature S43 = sig datatype s = D of int datatype t = E of int sharing type s = t end signature S44 = sig datatype s = D of int datatype t = E of int sharing type s = t end smlsharp-1.2.0/test/tests/module/outputs/sharingTypeSpecMatching0001.out0000644 000000000000000000000125112050661606026450 0ustar00rootroot0000000 0000000 signature S2 = sig type t1 type t2 sharing type t1 = t2 end structure SType2Trans : S2 structure SType2Opaque : S2 structure SDatatypeReplication2Trans : S2 structure SDatatypeReplication2Opaque : S2 signature S3 = sig type t1 type t2 type t3 sharing type t1 = t2 = t3 end structure SType31Trans : S3 structure SType32Trans : S3 structure SType31Opaque : S3 structure SType32Opaque : S3 structure SDatatypeReplication31Trans : S3 structure SDatatypeReplication32Trans : S3 structure SDatatypeReplication31Opaque : S3 structure SDatatypeReplication32Opaque : S3 structure SMixed31Trans : S3 structure SMixed32Trans : S3 structure SMixed31Opaque : S3 structure SMixed32Opaque : S3 smlsharp-1.2.0/test/tests/module/outputs/sharingTypeSpecMatching0002.out0000644 000000000000000000000034312050661606026452 0ustar00rootroot0000000 0000000 signature S2 = sig type t1 type t2 sharing type t1 = t2 end structure S2Trans : S2 structure S2Opaque : S2 signature S3 = sig type t1 type t2 type t3 sharing type t1 = t2 = t3 end structure S3Trans : S3 structure S3Opaque : S3 smlsharp-1.2.0/test/tests/module/outputs/sharingTypeSpecMatching0003.out0000644 000000000000000000000140012050661606026446 0ustar00rootroot0000000 0000000 signature S2 = sig type t1 type t2 sharing type t1 = t2 end ../tests/module/tests/sharingTypeSpecMatching0003.sml:29.11-33.3 Error: Signature mismatch (tycon): t2 ../tests/module/tests/sharingTypeSpecMatching0003.sml:34.11-38.3 Error: Signature mismatch (tycon): t2 signature S3 = sig type t1 type t2 type t3 sharing type t1 = t2 = t3 end ../tests/module/tests/sharingTypeSpecMatching0003.sml:50.11-55.3 Error: Signature mismatch (tycon): t3 ../tests/module/tests/sharingTypeSpecMatching0003.sml:56.11-61.3 Error: Signature mismatch (tycon): t3 ../tests/module/tests/sharingTypeSpecMatching0003.sml:63.11-68.3 Error: Signature mismatch (tycon): t3 ../tests/module/tests/sharingTypeSpecMatching0003.sml:69.11-74.3 Error: Signature mismatch (tycon): t3 smlsharp-1.2.0/test/tests/module/outputs/sharingTypeSpecMatching0004.out0000644 000000000000000000000332012050661606026452 0ustar00rootroot0000000 0000000 signature S2 = sig type t1 type t2 sharing type t1 = t2 end ../tests/module/tests/sharingTypeSpecMatching0004.sml:29.11-33.3 Error: Signature mismatch (tycon sharing): t1 t2 ../tests/module/tests/sharingTypeSpecMatching0004.sml:34.11-38.3 Error: Signature mismatch (tycon sharing): t1 t2 signature S3 = sig type t1 type t2 type t3 sharing type t1 = t2 = t3 end ../tests/module/tests/sharingTypeSpecMatching0004.sml:50.11-55.3 Error: Signature mismatch (tycon sharing): t1 t3 ../tests/module/tests/sharingTypeSpecMatching0004.sml:56.11-61.3 Error: Signature mismatch (tycon sharing): t1 t3 smlsharp-1.2.0/test/tests/module/outputs/sharingTypeSpecMatching0005.out0000644 000000000000000000000214512050661606026457 0ustar00rootroot0000000 0000000 signature S2 = sig type t1 type t2 sharing type t1 = t2 end ../tests/module/tests/sharingTypeSpecMatching0005.sml:29.11-33.3 Error: Signature mismatch (arity): t2 ../tests/module/tests/sharingTypeSpecMatching0005.sml:34.11-38.3 Error: Signature mismatch (arity): t2 signature S3 = sig type t1 type t2 type t3 sharing type t1 = t2 = t3 end ../tests/module/tests/sharingTypeSpecMatching0005.sml:50.11-55.3 Error: Signature mismatch (arity): t3 ../tests/module/tests/sharingTypeSpecMatching0005.sml:56.11-61.3 Error: Signature mismatch (arity): t3 smlsharp-1.2.0/test/tests/module/outputs/sharingTypeSpecMatching0006.out0000644 000000000000000000000041412050661606026455 0ustar00rootroot0000000 0000000 signature S2 = sig type 'a t1 type 'a t2 sharing type t1 = t2 end structure S2Trans : S2 structure S2Opaque : S2 signature S3 = sig type ('a, 'b) t1 type ('a, 'b) t2 type ('a, 'b) t3 sharing type t1 = t2 = t3 end structure S3Trans : S3 structure S3Opaque : S3 smlsharp-1.2.0/test/tests/module/outputs/signatureBind0001.out0000644 000000000000000000000056312050661606024470 0ustar00rootroot0000000 0000000 signature S1 = sig type t datatype dt = D val x : t * dt end signature S21 = sig type t datatype dt = D val x : t * dt end signature S22 = sig type t datatype dt = D val x : t * dt end signature S31 = sig type t datatype dt = D val x : t * dt end signature S32 = sig type t datatype dt = D val x : t * dt end signature S33 = sig type t datatype dt = D val x : t * dt end smlsharp-1.2.0/test/tests/module/outputs/signatureBind0002.out0000644 000000000000000000000066012050661606024467 0ustar00rootroot0000000 0000000 structure S11 : sig datatype dt con E : dt end signature S11 = sig datatype dt = D val x : dt end signature S12 = sig datatype dt = datatype S11.dt val x : dt val y : S11.dt end structure S21 : sig datatype dt con E : dt end structure S22 : sig datatype dt con F : dt end signature S21 = sig datatype dt = datatype S21.dt val x : dt val y : S21.dt end signature S22 = sig datatype dt = datatype S22.dt val x : dt val y : S22.dt end smlsharp-1.2.0/test/tests/module/outputs/structureBind001.out0000644 000000000000000000000143512050661606024446 0ustar00rootroot0000000 0000000 structure S1 : sig datatype dt con D : dt val x : dt end datatype dt1 = datatype S1.dt val x11 = D : S1.dt val x12 = D : S1.dt structure S21 : sig datatype dt con D : dt val x : dt end structure S22 : sig datatype dt con D : dt val x : dt end datatype dt21 = datatype S21.dt datatype dt22 = datatype S22.dt val x211 = D : S21.dt val x212 = D : S22.dt val x221 = D : S21.dt val x222 = D : S22.dt structure S31 : sig datatype dt con D : dt val x : dt end structure S32 : sig datatype dt con D : dt val x : dt end structure S33 : sig datatype dt con D : dt val x : dt end datatype dt31 = datatype S31.dt datatype dt32 = datatype S32.dt datatype dt33 = datatype S33.dt val x311 = D : S31.dt val x312 = D : S32.dt val x313 = D : S33.dt val x321 = D : S31.dt val x322 = D : S32.dt val x323 = D : S33.dt smlsharp-1.2.0/test/tests/module/outputs/structureBind002.out0000644 000000000000000000000124512050661606024446 0ustar00rootroot0000000 0000000 structure S11 : sig datatype dt con E : dt end structure S11 : sig datatype dt con D : dt val x : dt end structure S12 : sig datatype dt con E : dt val x : dt end datatype dt11 = datatype S11.dt datatype dt22 = datatype S12.dt val x111 = D : S11.dt val x112 = E : S12.dt val x121 = D : S11.dt val x122 = E : S12.dt structure S21 : sig datatype dt con E : dt end structure S22 : sig datatype dt con F : dt end structure S21 : sig datatype dt con E : dt val x : dt end structure S22 : sig datatype dt con F : dt val x : dt end datatype dt21 = datatype S21.dt datatype dt22 = datatype S22.dt val x211 = E : S21.dt val x212 = F : S22.dt val x221 = E : S21.dt val x222 = F : S22.dt smlsharp-1.2.0/test/tests/module/outputs/structureSpec0001.out0000644 000000000000000000000047212050661606024544 0ustar00rootroot0000000 0000000 signature S11 = sig structure S : sig end end signature S12 = sig structure T : sig end structure S : sig end end signature S21 = sig structure T : sig end structure S : sig end end signature S22 = sig structure S : sig end structure T : sig end structure U : sig end structure V : sig end end smlsharp-1.2.0/test/tests/module/outputs/structureSpec0002.out0000644 000000000000000000000074312050661606024546 0ustar00rootroot0000000 0000000 signature S11 = sig structure S : sig structure S : sig end end end signature S12 = sig structure S : sig type t datatype dt = D structure S : sig val x : t val y : dt end end end signature S13 = sig structure S : sig structure S : sig type t datatype dt = D end val x : S.t val y : S.dt end end signature S14 = sig structure S : sig datatype dt1 = D type t1 structure S : sig type t datatype dt = D of dt1 * t1 end val x : S.t val y : S.dt end end smlsharp-1.2.0/test/tests/module/outputs/structureSpec0003.out0000644 000000000000000000000027212050661606024544 0ustar00rootroot0000000 0000000 signature S1 = sig structure S : sig type t datatype dt = D of t val x : dt end end signature T2 = sig type t datatype dt = D of t val x : dt end signature S2 = sig structure S : T2 end smlsharp-1.2.0/test/tests/module/outputs/structureSpec0004.out0000644 000000000000000000000131312050661606024542 0ustar00rootroot0000000 0000000 signature S111 = sig type t structure S : sig type s end where type s = t end signature S112 = sig type t structure S : sig type t end where type t = t end signature S121 = sig datatype dt = D structure S : sig type t end where type t = dt end signature S122 = sig datatype t = D structure S : sig type t end where type t = t end ../tests/module/tests/structureSpec0004.sml:54.17-54.57 Error: equality type required for: S.dt ../tests/module/tests/structureSpec0004.sml:60.17-60.55 Error: equality type required for: S.t signature S221 = sig datatype s = D structure S : sig datatype t = E end where type t = s end signature S222 = sig datatype t = D structure S : sig datatype t = E end where type t = t end smlsharp-1.2.0/test/tests/module/outputs/structureSpecMatching0001.out0000644 000000000000000000000231212050661606026212 0ustar00rootroot0000000 0000000 signature SEmpty = sig structure S : sig end end structure SEmptyTrans : SEmpty structure SEmptyOpaque : SEmpty signature SVal = sig structure S : sig val x : int end end structure SValTrans : SVal structure SValOpaque : SVal signature SType = sig structure S : sig type t end end structure STypeTrans : SType structure STypeOpaque : SType signature SEqtype = sig structure S : sig eqtype t end end structure SEqtypeTrans : SEqtype structure SEqtypeOpaque : SEqtype signature SDatatype = sig structure S : sig datatype dt = D end end structure SDatatypeTrans : SDatatype structure SDatatypeOpaque : SDatatype datatype dtDatatypeReplication con DDatatypeReplication : dtDatatypeReplication signature SDatatypeReplication = sig structure S : sig datatype dt = datatype dtDatatypeReplication end end structure SDatatypeReplicationTrans : SDatatypeReplication structure SDatatypeReplicationOpaque : SDatatypeReplication signature SException = sig structure S : sig exception E end end structure SExceptionTrans : SException structure SExceptionOpaque : SException signature SStructure = sig structure S : sig structure S : sig val x : int end end end structure SStructureTrans : SStructure structure SStructureOpaque : SStructure smlsharp-1.2.0/test/tests/module/outputs/typeSpec0001.out0000644 000000000000000000000023712050661606023464 0ustar00rootroot0000000 0000000 signature S11 = sig type t end signature S12 = sig type s type t end signature S21 = sig type s type t end signature S22 = sig type s type t type u type v end smlsharp-1.2.0/test/tests/module/outputs/typeSpec0002.out0000644 000000000000000000000026412050661606023465 0ustar00rootroot0000000 0000000 signature S11 = sig type 'a t end signature S21 = sig type ('a, 'b) t end signature S31 = sig type ('c,'b,'a) t end signature S32 = sig type ('ac,'ab,'a) t type ('a,'ab,'aa) s end smlsharp-1.2.0/test/tests/module/outputs/typeSpec0003.out0000644 000000000000000000000032612050661606023465 0ustar00rootroot0000000 0000000 datatype dt con D : dt signature S1 = sig type t1 = dt end signature S2 = sig type t1 type t2 = t1 * string end signature S3 = sig structure S : sig type t1 end type t2 = S.t1 * string end smlsharp-1.2.0/test/tests/module/outputs/typeSpec0004.out0000644 000000000000000000000047612050661606023474 0ustar00rootroot0000000 0000000 signature S1 = sig type 'a t1 = int * 'a type ('a, 'b) t2 = string * 'a * 'b end signature S2 = sig type 'a t1 = int * 'a type ('a, 'b) t2 = bool t1 * string * 'a * 'b end ../tests/module/tests/typeSpec0004.sml:33.16-33.26 Error: unbound type constructor: t2 smlsharp-1.2.0/test/tests/module/outputs/typeSpecMatching0001.out0000644 000000000000000000000026612050661606025141 0ustar00rootroot0000000 0000000 signature S = sig type t0 type 'a t1 type ('a,'b) t2 end structure StypeTrans : S structure StypeOpaque : S structure SdatatypeTrans : S structure SdatatypeTrans : S smlsharp-1.2.0/test/tests/module/outputs/typeSpecMatching0002.out0000644 000000000000000000000116612050661606025142 0ustar00rootroot0000000 0000000 signature S = sig type t end structure SEqRecordTrans : S structure SEqRecordOpaque : S structure SEqConstructedTrans : S structure SEqConstructedOpaque : S structure SEqRefTrans : S structure SEqRefOpaque : S structure SEqDatatypeTrans : S structure SEqDatatypeOpaque : S structure SNonEqRecordTrans : S structure SNonEqRecordOpaque : S structure SNonEqConstructedTrans1 : S structure SNonEqConstructedOpaque1 : S structure SNonEqConstructedTrans2 : S structure SNonEqConstructedOpaque2 : S structure SNonEqFunctionTrans : S structure SNonEqFunctionOpaque : S structure SNonEqDatatypeTrans : S structure SNonEqDatatypeOpaque : S smlsharp-1.2.0/test/tests/module/outputs/typeSpecMatching0003.out0000644 000000000000000000000544112050661606025143 0ustar00rootroot0000000 0000000 signature S0 = sig type t end signature S1 = sig type 'a t end signature S2 = sig type ('a,'b) t end ../tests/module/tests/typeSpecMatching0003.sml:31.11-31.60 Error: Signature mismatch (arity): t ../tests/module/tests/typeSpecMatching0003.sml:32.11-32.62 Error: Signature mismatch (arity): t ../tests/module/tests/typeSpecMatching0003.sml:34.11-34.52 Error: Signature mismatch (arity): t ../tests/module/tests/typeSpecMatching0003.sml:35.11-35.54 Error: Signature mismatch (arity): t ../tests/module/tests/typeSpecMatching0003.sml:37.11-37.65 Error: Signature mismatch (arity): t ../tests/module/tests/typeSpecMatching0003.sml:38.11-38.67 Error: Signature mismatch (arity): t ../tests/module/tests/typeSpecMatching0003.sml:40.11-40.73 Error: Signature mismatch (arity): t ../tests/module/tests/typeSpecMatching0003.sml:41.11-41.75 Error: Signature mismatch (arity): t ../tests/module/tests/typeSpecMatching0003.sml:43.11-43.65 Error: Signature mismatch (arity): t ../tests/module/tests/typeSpecMatching0003.sml:44.11-44.67 Error: Signature mismatch (arity): t ../tests/module/tests/typeSpecMatching0003.sml:46.11-46.73 Error: Signature mismatch (arity): t ../tests/module/tests/typeSpecMatching0003.sml:47.11-47.75 Error: Signature mismatch (arity): t smlsharp-1.2.0/test/tests/module/outputs/typeSpecMatching0004.out0000644 000000000000000000000050112050661606025134 0ustar00rootroot0000000 0000000 signature S11 = sig type 'a t end signature S12 = sig type ''a t end structure S11typeTrans : S11 structure S11typeOpaque : S11 structure S12typeTrans : S12 structure S12typeOpaque : S12 structure S11datatypeTrans : S11 structure S11datatypeOpaque : S11 structure S12datatypeTrans : S12 structure S12datatypeOpaque : S12 smlsharp-1.2.0/test/tests/module/outputs/typeSpecMatching0005.out0000644 000000000000000000000112612050661606025141 0ustar00rootroot0000000 0000000 datatype dt con D : dt signature S = sig type t1 = dt type t2 = t1 * string structure S : sig type t end type t3 = S.t * string val x : t1 * t2 * t3 end structure S : sig type t1 = dt type t2 = t1 * string type t3 = S.t * string val x : dt * (dt * string) * (int * string) structure S : sig type t = int end end structure STrans : S val xTrans1 = D : STrans.t1 val xTrans2 = (D,"a") : STrans.t2 val xTrans3 = (1,"b") : STrans.t3 structure SOpaque : S val xOpaque1 = D : SOpaque.t1 val xOpaque2 = (D,"a") : SOpaque.t2 val xOpaque3 = (-,"b") : SOpaque.t3 smlsharp-1.2.0/test/tests/module/outputs/typeSpecMatching0006.out0000644 000000000000000000000250412050661606025143 0ustar00rootroot0000000 0000000 signature S1 = sig type 'a t1 = int * 'a type ('a,'b) t2 = string * 'a * 'b val x : string t1 * (real,bool) t2 end structure S1 : sig type 'a t1 = int * 'a type ('a,'b) t2 = string * 'a * 'b val x : (int * string) * (string * real * bool) end structure S1Trans : S1 val x1Trans1 = (1, "x") : string S1Trans.t1 val x1Trans2 = ("a", 1.23, true) : (real, bool) S1Trans.t2 structure S1Opaque : S1 val x1Opaque1 = (1, "x") : string S1Opaque.t1 val x1Opaque2 = ("a", 1.23, true) : (real, bool) S1Opaque.t2 signature S2 = sig type 'a t1 = int * 'a type ('a,'b) t2 = bool t1 * string * 'a * 'b val x : string t1 * (real,bool) t2 end structure S2 : sig type 'a t1 = int * 'a type ('a,'b) t2 = bool t1 * string * 'a * 'b val x : (int * string) * ((int * bool) * string * real * bool) end structure S2Trans : S2 val x2Trans1 = (1, "x") : string S2Trans.t1 val x2Trans2 = ((2, false), "a", 1.23, true) : (real, bool) S2Trans.t2 structure S2Opaque : S2 val x2Opaque1 = (1, "x") : string S2Opaque.t1 val x2Opaque2 = ((2, false), "a", 1.23, true) : (real, bool) S2Opaque.t2 ../tests/module/tests/typeSpecMatching0006.sml:61.16-61.26 Error: unbound type constructor: t2 smlsharp-1.2.0/test/tests/module/outputs/valSpec0001.out0000644 000000000000000000000040312050661606023260 0ustar00rootroot0000000 0000000 signature S11 = sig val x : int end signature S12 = sig val x : int val y : string end signature S21 = sig val x : int val y : bool * string end signature S22 = sig val x : int val y : bool * string val v : int -> int val w : {x:int , y:int list} end smlsharp-1.2.0/test/tests/module/outputs/valSpecMatching0001.out0000644 000000000000000000000064112050661606024737 0ustar00rootroot0000000 0000000 signature SVal = sig val x : int end signature SCon = sig type dt val D : int -> dt end signature SExn = sig val E : int -> exn end structure SVal1Trans : SVal structure SVal1Opaque : SVal structure SVal2Trans : SCon structure SVal2Opaque : SCon structure SVal3Trans : SExn structure SVal3Opaque : SExn structure SCon1Trans : SCon structure SCon1Opaque : SCon structure SExn1Trans : SExn structure SExn1Opaque : SExn smlsharp-1.2.0/test/tests/module/outputs/valSpecMatching0002.out0000644 000000000000000000000144012050661606024736 0ustar00rootroot0000000 0000000 signature Smm1 = sig val x : int end structure Smm1Trans : Smm1 structure Smm1Opaque : Smm1 signature Smp1 = sig val f : int -> int * int end structure Smp1Trans : Smp1 structure Smp1Opaque : Smp1 signature Spm1 = sig val f : 'a -> int * 'a end ../tests/module/tests/valSpecMatching0002.sml:55.11-58.3 Error: Signature mismatch (instance): f : structure: int -> int * int spec: ['a .'a -> int * 'a] ../tests/module/tests/valSpecMatching0002.sml:59.11-62.3 Error: Signature mismatch (instance): f : structure: int -> int * int spec: ['a .'a -> int * 'a] signature Spp1 = sig val f : 'a -> int * 'a end structure Spp1Trans : Spp1 structure Spp1Opaque : Spp1 smlsharp-1.2.0/test/tests/module/outputs/valSpecMatching0003.out0000644 000000000000000000000100712050661606024736 0ustar00rootroot0000000 0000000 signature S = sig val x : int end structure S1 : S structure S2 : S ../tests/module/tests/valSpecMatching0003.sml:36.11-40.3 Error: Signature mismatch (instance): x : structure: string spec: int smlsharp-1.2.0/test/tests/module/outputs/whereType001.out0000644 000000000000000000000015312050661606023561 0ustar00rootroot0000000 0000000 datatype dt con D : dt datatype t con E : t signature S = sig type t datatype dt = F end where type t = dt smlsharp-1.2.0/test/tests/module/outputs/whereType002.out0000644 000000000000000000000056512050661606023571 0ustar00rootroot0000000 0000000 datatype dtEq con D : dtEq datatype dtNonEq con E : real -> dtNonEq signature S11 = sig type t end where type t = dtNonEq signature S12 = sig type t end where type t = dtEq ../tests/module/tests/whereType002.sml:23.17-23.55 Error: equality type required for: t signature S22 = sig eqtype t end where type t = dtEq smlsharp-1.2.0/test/tests/module/outputs/whereType003.out0000644 000000000000000000000046112050661606023565 0ustar00rootroot0000000 0000000 signature S3n = sig type t1 type t2 type t3 end where type t1 = int where type t2 = string where type t3 = bool type s1 = int type s2 = int type s3 = string ../tests/module/tests/whereType003.sml:32.1-37.22 Error: type annotation for datatype: t1 smlsharp-1.2.0/test/tests/module/outputs/whereType004.out0000644 000000000000000000000046012050661606023565 0ustar00rootroot0000000 0000000 signature S3n = sig type t1 type t2 type t3 end where type t1 = int where type t2 = string where type t3 = bool type s1 = int type s2 = int type s3 = string ../tests/module/tests/whereType004.sml:32.1-37.22 Error: type annotation for datatype: t1 smlsharp-1.2.0/test/tests/module/outputs/whereTypeMatching001.out0000644 000000000000000000000073212050661606025237 0ustar00rootroot0000000 0000000 signature S = sig type t1 type t2 type t3 val x : t1 * t2 * t3 end where type t1 = int where type t2 = string where type t3 = bool structure S : sig type t1 = int type t2 = string type t3 = bool val x : int * string * bool end structure STrans : S val xTrans1 = 1 : STrans.t1 val xTrans2 = "a" : STrans.t2 val xTrans3 = true : STrans.t3 structure SOpaque : S val xOpaque1 = 1 : SOpaque.t1 val xOpaque2 = "a" : SOpaque.t2 val xOpaque3 = true : SOpaque.t3 smlsharp-1.2.0/test/tests/module/outputs/whereTypeMatching002.out0000644 000000000000000000000163412050661606025242 0ustar00rootroot0000000 0000000 signature S = sig type t1 type t2 type t3 end where type t1 = int where type t2 = string where type t3 = bool structure S : sig type t1 = int type t2 = string type t3 = real end ../tests/module/tests/whereTypeMatching002.sml:23.20-23.24 Error: Signature mismatch (tycon sharing): t3 t3 ../tests/module/tests/whereTypeMatching002.sml:24.21-24.26 Error: Signature mismatch (tycon sharing): t3 t3 smlsharp-1.2.0/test/tests/module/tests0000755 000000000000000000000000012050661606020174 5ustar00rootroot0000000 0000000 smlsharp-1.2.0/test/tests/module/tests/basicStructureExpression001.sml0000644 000000000000000000000262612050661606026301 0ustar00rootroot0000000 0000000 (* core declarations in a basic structure expression.
  • the inner declaration
    • none
    • val
    • type
    • datatype
    • datatype replication
    • abstype
    • exception
    • local
    • open
    • infix
    • infixr
    • nonfix
*) structure S1 = struct end; structure S2 = struct val x = 1 end; val x2 = S2.x; structure S3 = struct type t = int end; type t3 = S3.t; val x3 = 1 : S3.t; structure S4 = struct datatype t = D end; datatype t4 = datatype S4.t; val x4 = D : S4.t; datatype t5 = D5; structure S5 = struct datatype t = datatype t5 end; datatype t5' = datatype S5.t; val x5 : t5 = S5.D5 : S5.t; structure S6 = struct abstype t = D with val x = D end end; val (x6 : S6.t) = S6.x; structure S71 = struct exception e end; exception e71 = S71.e; val x71 = S71.e; exception e72; structure S72 = struct exception e = e72 end; val x72 = S72.e; structure S8 = struct local datatype t = D in val x = D end end; val x8 = S8.x; structure S91 = struct val x = (1, 2) end; structure S92 = struct open S91 end; val x9 = S92.x; structure S10 = struct infix ++ fun x ++ y = x + y end; val ++ = S10.++; structure S11 = struct infixr -- fun x -- y = x - y end; val -- = S11.--; structure S12 = struct infixr // fun x // y = x - y nonfix // end; val // = S12.//; smlsharp-1.2.0/test/tests/module/tests/basicStructureExpression002.sml0000644 000000000000000000000131312050661606026272 0ustar00rootroot0000000 0000000 (* module declarations in a basic structure expression.
  • the inner declaration
    • structure
    • local (module level)
    • sequence
*) structure S1 = struct structure S = struct datatype dt = D val x = D end end; datatype dt1 = datatype S1.S.dt; type t1 = S1.S.dt; val x11 = S1.S.x; val x12 : t1 = S1.S.D; structure S2 = struct local structure S1 = struct datatype t = D end in structure S2 = struct val x = S1.D end end end; val x2 = S2.S2.x; structure S3 = struct structure S1 = struct datatype dt = E end; structure S2 = struct val x = S1.E end end; datatype dt3 = datatype S3.S1.dt; type t3 = S3.S1.dt; val x3 = S3.S2.x;smlsharp-1.2.0/test/tests/module/tests/constraint001.sml0000644 000000000000000000000362112050661606023377 0ustar00rootroot0000000 0000000 (* identity of type name is changed or not by constraint. This test case checks that a type that is declared in a structure is given different type identity by signature constraint or not.
  • declaration which introduces the type name.
    • type declaration
    • datatype declaration
    • datatype replication
  • constraint
    • transparent
    • opaque
*) datatype dt = D; signature SType = sig type t val x : t end; signature SDatatype = sig datatype dt = E val x : dt end; signature SReplication = sig datatype dtr = datatype dt val x : dtr end; (********************) structure SType = struct type t = int val x = 1 end; structure STypeTrans1 = SType : SType; structure STypeTrans2 = SType : SType; val eqSTypeTrans = STypeTrans1.x = STypeTrans2.x; structure STypeOpaque1 = SType :> SType; structure STypeOpaque2 = SType :> SType; val eqSTypeOpaque = STypeOpaque1.x = STypeOpaque2.x; (********************) structure SDatatype = struct datatype dt = E val x = E end; structure SDatatypeTrans1 = SDatatype : SDatatype; structure SDatatypeTrans2 = SDatatype : SDatatype; val eqSDatatypeTrans = SDatatypeTrans1.x = SDatatypeTrans2.x; structure SDatatypeOpaque1 = SDatatype :> SDatatype; structure SDatatypeOpaque2 = SDatatype :> SDatatype; val eqSDatatypeOpaque = SDatatypeOpaque1.x = SDatatypeOpaque2.x; (********************) structure SReplication = struct datatype dtr = datatype dt val x = D end; structure SReplicationTrans1 = SReplication : SReplication; structure SReplicationTrans2 = SReplication : SReplication; val eqSReplicationTrans = SReplicationTrans1.x = SReplicationTrans2.x; structure SReplicationOpaque1 = SReplication :> SReplication; structure SReplicationOpaque2 = SReplication :> SReplication; val eqSReplicationOpaque = SReplicationOpaque1.x = SReplicationOpaque2.x; smlsharp-1.2.0/test/tests/module/tests/constraint002.sml0000644 000000000000000000000332112050661606023375 0ustar00rootroot0000000 0000000 (* representation of type is hidden or not by constraint.
  • specification of the type
    • type declaration
    • datatype declaration
    • datatype replication
    • type declaration with a body (= derived form of "where type" declaration)
  • constraint
    • transparent
    • opaque
*) datatype dt = D; signature SType = sig type t end; signature SDatatype = sig datatype dt = E end; signature SReplication = sig datatype dtr = datatype dt end; signature SWhereType = sig include sig type t end where type t = dt end; (********************) structure SType = struct datatype t = E end; structure STypeTrans = SType : SType; val xSTypeTrans = STypeTrans.E; structure STypeOpaque = SType :> SType; val xSTypeOpaque = STypeOpaque.E; (********************) structure SDatatype = struct datatype dt = E end; structure SDatatypeTrans = SDatatype : SDatatype; val xSDatatypeTrans = SDatatypeTrans.E; structure SDatatypeOpaque = SDatatype :> SDatatype; val xSDatatypeOpaque = SDatatypeOpaque.E; (********************) structure SReplication = struct datatype dtr = datatype dt end; structure SReplicationTrans = SReplication : SReplication; val xSReplicationTrans = SReplicationTrans.D; structure SReplicationOpaque = SReplication :> SReplication; val xSReplicationOpaque = SReplicationOpaque.D; (********************) structure SWhereType = struct datatype t = datatype dt end; structure SWhereTypeTrans = SWhereType : SWhereType; val xSWhereTypeTrans = SWhereTypeTrans.E; structure SWhereTypeOpaque = SWhereType :> SWhereType; val xSWhereTypeOpaque = SWhereTypeOpaque.E; (********************) smlsharp-1.2.0/test/tests/module/tests/constraint003.sml0000644 000000000000000000000076112050661606023403 0ustar00rootroot0000000 0000000 (* typing of val bind is instantiated or not by constraint.
  • specification of the type
    • type declaration
  • constraint
    • transparent
    • opaque
*) signature S = sig val f : int -> int end; structure S = struct val f = fn x => x end; structure STrans = S : S; val fTrans = STrans.f; val xTrans = fTrans 1; structure SOpaque = S :> S; val fOpaque = SOpaque.f; val xOpaque = fOpaque 1; smlsharp-1.2.0/test/tests/module/tests/constraint004.sml0000644 000000000000000000000104212050661606023375 0ustar00rootroot0000000 0000000 (* type name in a signature is replaced by "where type".
  • constraint
    • transparent
    • opaque
*) datatype dt = D; signature S = sig type t val x : t end; structure S = struct datatype t = datatype dt val x = D end; structure STrans1 = S : S where type t = dt; structure STrans2 = S : S where type t = dt; val xTrans = STrans1.x = STrans2.x; structure SOpaque1 = S :> S where type t = dt; structure SOpaque2 = S :> S where type t = dt; val xOpaque = SOpaque1.x = SOpaque2.x; smlsharp-1.2.0/test/tests/module/tests/constraint005.sml0000644 000000000000000000000067712050661606023413 0ustar00rootroot0000000 0000000 (* representation of type name in a signature is not replaced by "where type".
  • constraint
    • transparent
    • opaque
*) datatype dt = D; signature S = sig type t val x : t end; structure S = struct datatype t = datatype dt val x = D end; structure STrans = S : S where type t = dt; val xTrans = STrans.D; structure SOpaque = S :> S where type t = dt; val xOpaque = SOpaque.D; smlsharp-1.2.0/test/tests/module/tests/constraint006.sml0000644 000000000000000000000120512050661606023400 0ustar00rootroot0000000 0000000 (* derived form of constrained structure binding.
  • constraint
    • transparent
    • opaque
*) signature S = sig type t datatype dt = D val x : t val y : dt end; structure S = struct datatype dt = D type t = dt val x = D val y = D end; structure STrans : S = S; datatype dtTrans = DTrans of STrans.t * STrans.dt; val xTrans = STrans.x; val yTrans = STrans.y; val dtTrans = DTrans(xTrans, yTrans); structure SOpaque :> S = S; datatype dtOpaque = DOpaque of SOpaque.t * SOpaque.dt; val xOpaque = SOpaque.x; val yOpaque = SOpaque.y; val dtOpaque = DOpaque(xOpaque, yOpaque); smlsharp-1.2.0/test/tests/module/tests/constraint007.sml0000755 000000000000000000000174412050661606023414 0ustar00rootroot0000000 0000000 (* * combination of transparency of constraint and constraining signature * expression. *) (* transparent constraint by signature name *) signature SIG = sig structure T : sig type t val x : t end end; structure S = struct type t = int val x = 1 end; structure STR : SIG = struct structure T = S end; structure S = STR.T; S.x; (* opaque constraint by signature name *) signature SIG = sig structure T : sig type t val x : t end end; structure S = struct type t = int val x = 1 end; structure STR :> SIG = struct structure T = S end; structure S = STR.T; S.x; (* transparent constraint by inline signature *) structure S = struct type t = int val x = 1 end; structure STR : sig structure T : sig type t val x : t end end = struct structure T = S end; structure S = STR.T; S.x; (* opaque constraint by inline signature *) structure S = struct type t = int val x = 1 end; structure STR :> sig structure T : sig type t val x : t end end = struct structure T = S end; structure S = STR.T; S.x;smlsharp-1.2.0/test/tests/module/tests/datatypeReplicationSpec0001.sml0000644 000000000000000000000055012050661606026111 0ustar00rootroot0000000 0000000 (* datatype replication specification
  • location of declaration of the replicated datatype
    • global
    • in a structure
*) datatype dt1 = D signature S1 = sig datatype t = datatype dt1 end; structure S2 = struct datatype dt = D end; signature S2 = sig datatype t = datatype S2.dt end; smlsharp-1.2.0/test/tests/module/tests/datatypeReplicationSpec0002.sml0000644 000000000000000000000053212050661606026112 0ustar00rootroot0000000 0000000 (* datatype replication specification
  • the number of type parameter of the replicated datatype
    • 1
    • 2
*) datatype 'a dt1 = D of 'a signature S1 = sig datatype t = datatype dt1 end; datatype ('b, 'a) dt2 = D of 'a * 'b signature S2 = sig datatype t = datatype dt2 end; smlsharp-1.2.0/test/tests/module/tests/datatypeReplicationSpec0003.sml0000644 000000000000000000000051612050661606026115 0ustar00rootroot0000000 0000000 (* name resolution of replicated datatype in a datatype replication specification
  • preceding datatype specification that specifies the same name with the replicated datatype
    • yes
*) datatype dt1 = D signature S1 = sig datatype dt1 = E datatype t = datatype dt1 end; smlsharp-1.2.0/test/tests/module/tests/datatypeReplicationSpecMatching0001.sml0000644 000000000000000000000170612050661606027570 0ustar00rootroot0000000 0000000 (* matching of datatype replication specification.
  • the number of parameter type variables
    • 0
    • 1
    • 2
  • signature constraint
    • transparent
    • opaque
*) datatype dt0 = D0 of int; signature S0 = sig datatype dt = datatype dt0 end; structure S0Trans : S0 = struct datatype dt = datatype dt0 end; structure S0Opaque :> S0 = struct datatype dt = datatype dt0 end; datatype 'a dt1 = D1 of int * 'a; signature S1 = sig datatype dt = datatype dt1 end; structure S1Trans : S1 = struct datatype dt = datatype dt1 end; structure S1Opaque :> S1 = struct datatype dt = datatype dt1 end; datatype ('a, 'b) dt2 = D2 of int * 'a * 'b; signature S2 = sig datatype dt = datatype dt2 end; structure S2Trans : S2 = struct datatype dt = datatype dt2 end; structure S2Opaque :> S2 = struct datatype dt = datatype dt2 end; smlsharp-1.2.0/test/tests/module/tests/datatypeReplicationSpecMatching0002.sml0000644 000000000000000000000153312050661606027567 0ustar00rootroot0000000 0000000 (* matching of datatype replication specification. datatype in the structure is not declared by datatype replication.
  • datatype declaration in structure
    • new datatype of same name and same data constructors with spec
  • signature constraint
    • transparent
    • opaque
*) datatype dt = D; signature S1 = sig datatype dt = datatype dt; end; structure S1Trans : S1 = struct datatype dt = D end; structure S1Opaque :> S1 = struct datatype dt = D end; signature S2 = sig structure S : sig datatype dt = D end datatype dt = datatype S.dt end; structure S2Trans : S2 = struct structure S = struct datatype dt = D end datatype dt = D end; structure S2Opaque :> S2 = struct structure S = struct datatype dt = D end datatype dt = D end; smlsharp-1.2.0/test/tests/module/tests/datatypeSpec0001.sml0000644 000000000000000000000143312050661606023720 0ustar00rootroot0000000 0000000 (* multiplicity of datatype specification
  • the number of constructor in a datatype description
    • 1
    • 2
  • the number of names in a specification
    • 1
    • 2
  • the number of datatype specifications in a signature
    • 1
    • 2
*) signature S111 = sig datatype t = D end; signature S121 = sig datatype t = D and s = E end; signature S122 = sig datatype t = D and s = E datatype v = F and u = G end; signature S211 = sig datatype t = D | E end; signature S221 = sig datatype t = D | E and s = F | G end; signature S222 = sig datatype t = E | D and s = G | F datatype u = H | I and v = J | K end; smlsharp-1.2.0/test/tests/module/tests/datatypeSpec0002.sml0000644 000000000000000000000113012050661606023713 0ustar00rootroot0000000 0000000 (* arity of datatype specification
  • the number of parameter types of a type description
    • 1
    • 2
    • 3
  • the number of description in a type specification
    • 1
    • 2
*) signature S11 = sig datatype 'a t = D end; signature S12 = sig datatype 'c t = D and 'b s = E end; signature S21 = sig datatype ('b, 'a) t = D end; signature S31 = sig datatype ('b, 'c, 'a) t = D end; signature S32 = sig datatype ('b, 'c, 'a) t = D and ('z, 'y, 'x) s = E end; smlsharp-1.2.0/test/tests/module/tests/datatypeSpecMatching0001.sml0000644 000000000000000000000120312050661606025366 0ustar00rootroot0000000 0000000 (* matching of datatype specification.
  • the number of parameter type variables
    • 0
    • 1
    • 2
  • signature constraint
    • transparent
    • opaque
*) signature S = sig datatype dt0 = D0 datatype 'a dt1 = D1 of 'a datatype ('a, 'b) dt2 = D2 of 'a * 'b end; structure STrans : S = struct datatype dt0 = D0 datatype 'a dt1 = D1 of 'a datatype ('a, 'b) dt2 = D2 of 'a * 'b end; structure SOpaque :> S = struct datatype dt0 = D0 datatype 'a dt1 = D1 of 'a datatype ('a, 'b) dt2 = D2 of 'a * 'b end; smlsharp-1.2.0/test/tests/module/tests/datatypeSpecMatching0002.sml0000644 000000000000000000000175412050661606025402 0ustar00rootroot0000000 0000000 (* peculiar cases in matching of datatype specification.
  • datatype declared in the structure
    • more data constructors than specification
    • less data constructors than specification
    • data constructor with an argument different to specification
  • signature constraint
    • transparent
    • opaque
*) signature S = sig datatype dt = D of int | E of string end; structure S1Trans : S = struct datatype dt = D of int | E of string | F of bool end; structure S1Opaque :> S = struct datatype dt = D of int | E of string | F of bool end; structure S2Trans : S = struct datatype dt = D of int fun E string = D string end; structure S2Opaque :> S = struct datatype dt = D of int fun E string = D string end; structure S3Trans : S = struct datatype dt = D of bool | E of string end; structure S3Opaque :> S = struct datatype dt = D of bool | E of string end; smlsharp-1.2.0/test/tests/module/tests/datatypeSpecMatching0003.sml0000644 000000000000000000000140712050661606025376 0ustar00rootroot0000000 0000000 (* matching of datatype specification. datatype with polymorphic constructors.
  • type of data constructor in specification and definition
    • spec has polymorphic constructor, but def does not.
    • def has polymorphic constructor, but spec does not.
  • signature constraint
    • transparent
    • opaque
*) signature S1 = sig datatype 'a dt = D of 'a end; structure S1Trans : S1 = struct datatype 'a dt = D of int end; structure S1Opaque :> S1 = struct datatype 'a dt = D of int end; signature S2 = sig datatype 'a dt = D of int end; structure S2Trans : S2 = struct datatype 'a dt = D of 'a end; structure S2Opaque :> S2 = struct datatype 'a dt = D of 'a end; smlsharp-1.2.0/test/tests/module/tests/eqtypeSpec0001.sml0000644 000000000000000000000072612050661606023420 0ustar00rootroot0000000 0000000 (* multiplicity of eqtype specification
  • the number of names in a specification
    • 1
    • 2
  • the number of eqtype specifications in a signature
    • 1
    • 2
*) signature S11 = sig eqtype t end; signature S12 = sig eqtype s eqtype t end; signature S21 = sig eqtype s and t end; signature S22 = sig eqtype s and t eqtype u and v end; smlsharp-1.2.0/test/tests/module/tests/eqtypeSpec0002.sml0000644 000000000000000000000100512050661606023410 0ustar00rootroot0000000 0000000 (* arity of eqtype specification
  • the number of parameter types of a eqtype description
    • 1
    • 2
    • 3
  • the number of description in a eqtype specification
    • 1
    • 2
*) signature S11 = sig eqtype 'a t end; signature S21 = sig eqtype ('a, 'b) t end; signature S31 = sig eqtype ('c, 'b, 'a) t end; signature S32 = sig eqtype ('ac, 'ab, 'a) t and ('a, 'ab, 'aa) s end; smlsharp-1.2.0/test/tests/module/tests/eqtypeSpecMatching0001.sml0000644 000000000000000000000171512050661606025072 0ustar00rootroot0000000 0000000 (* matching of eqtype specification.
  • declaration in structure
    • type declaration
    • datatype declaration
  • the number of parameter type variables
    • 0
    • 1
    • 2
  • constraint
    • transparent
    • opaque
*) signature S = sig eqtype t0 eqtype 'a t1 eqtype ('a, 'b) t2 end; structure StypeTrans : S = struct type t0 = int type ''a t1 = ''a * int type (''x, ''y) t2 = {a : ''x, b : ''y} end; structure StypeOpaque : S = struct type t0 = int type ''a t1 = ''a * int type (''x, ''y) t2 = {a : ''x, b : ''y} end; structure SdatatypeTrans : S = struct datatype t0 = D0 datatype 'x t1 = D1 of 'x datatype ('x, 'y) t2 = D2 of 'x * 'y end; structure SdatatypeTrans :> S = struct datatype t0 = D0 datatype 'x t1 = D1 of 'x datatype ('x, 'y) t2 = D2 of 'x * 'y end; smlsharp-1.2.0/test/tests/module/tests/eqtypeSpecMatching0002.sml0000644 000000000000000000000545312050661606025076 0ustar00rootroot0000000 0000000 (* type equality check in matching of eqtype specification. Only equality type in a structure can be matched with a "type" specification in a signature. Non-equality type in a structure should be rejected.
  • actual type expression bound to the type name in a structure
    • equality type
      • record type
      • constructed type
      • ref type
      • datatype which admits equality
    • non equality type
      • record type
      • constructed type
        • some argument type is not equality type.
        • the type constructor does not admit equality.
      • function type
      • datatype which does not admit equality
  • constraint
    • transparent
    • opaque
*) signature S = sig eqtype t end; structure SEqRecordTrans : S = struct type t = {a : int, b : int ref} end; structure SEqRecordOpaque :> S = struct type t = {a : int, b : int ref} end; structure SEqConstructedTrans : S = struct datatype ('a, 'b) dt = D of 'a * 'b type t = (int, int ref) dt end; structure SEqConstructedOpaque :> S = struct datatype ('a, 'b) dt = D of 'a * 'b type t = (int, int ref) dt end; structure SEqRefTrans : S = struct type t = (real ref * real) ref end; structure SEqRefOpaque :> S = struct type t = (real ref * real) ref end; structure SEqDatatypeTrans : S = struct datatype t = D of int | E end; structure SEqDatatypeOpaque :> S = struct datatype t = D of int | E end; (****************************************) structure SNonEqRecordTrans : S = struct type t = {a : int -> int, b : int ref} end; structure SNonEqRecordOpaque :> S = struct type t = {a : int -> int, b : int ref} end; (* some argument type is not equality type. *) structure SNonEqConstructedTrans1 : S = struct datatype ('a, 'b) dt = D of 'a * 'b type t = (int, real) dt end; structure SNonEqConstructedOpaque1 :> S = struct datatype ('a, 'b) dt = D of 'a * 'b type t = (int, real) dt end; (* type constructor does not admit equality. *) structure SNonEqConstructedTrans2 : S = struct datatype ('a, 'b) dt = D of 'a * 'b * real type t = (int, bool) dt end; structure SNonEqConstructedOpaque2 :> S = struct datatype ('a, 'b) dt = D of 'a * 'b * real type t = (int, bool) dt end; structure SNonEqFunctionTrans : S = struct type t = int -> int end; structure SNonEqFunctionOpaque :> S = struct type t = int -> int end; structure SNonEqDatatypeTrans : S = struct datatype t = D of int | E of real end; structure SNonEqDatatypeOpaque :> S = struct datatype t = D of int | E of real end; smlsharp-1.2.0/test/tests/module/tests/eqtypeSpecMatching0003.sml0000644 000000000000000000000051512050661606025071 0ustar00rootroot0000000 0000000 (* eqtype check for type declared in a constrainted structure. *) signature SEq = sig eqtype t end; signature SNonEq = sig type t end; structure S1 = struct type t = int end; structure S11 = S1 : SEq; structure S12 = S11 : SNonEq; structure S2 = struct type t = real end; structure S21 = S2 : SNonEq; structure S22 = S21 : SEq; smlsharp-1.2.0/test/tests/module/tests/exceptionSpec0001.sml0000644 000000000000000000000076712050661606024114 0ustar00rootroot0000000 0000000 (* multiplicity of exception specification
  • the number of names in a specification
    • 1
    • 2
  • the number of exception specifications in a signature
    • 1
    • 2
*) signature S11 = sig exception e1 end; signature S12 = sig exception e2 exception e1 end; signature S21 = sig exception e2 and e1 end; signature S22 = sig exception e2 and e1 exception f1 and f2 end; smlsharp-1.2.0/test/tests/module/tests/exceptionSpec0002.sml0000644 000000000000000000000063212050661606024104 0ustar00rootroot0000000 0000000 (* arity of exception constructor in a exception specification
  • exception constructor takes an argument
    • yes
  • the number of description in a exception specification
    • 1
    • 2
*) signature S1 = sig exception e of int end; signature S2 = sig exception e1 of string and e2 of int * bool end; smlsharp-1.2.0/test/tests/module/tests/exceptionSpecMatching0001.sml0000644 000000000000000000000135612050661606025562 0ustar00rootroot0000000 0000000 (* matching of exception specification.
  • binding
    • val binding
    • exception constructor binding
  • signature constraint
    • transparent
    • opaque
*) signature S = sig exception E of int end; structure SExn1Trans : S = struct exception E of int end; structure SExn1Opaque :> S = struct exception E of int end; structure SVal1Trans : S = struct exception F val E = fn (x : int) => F end; structure SVal1Opaque :> S = struct exception F val E = fn (x : int) => F end; structure SVal2Trans : S = struct exception F of int val E = F end; structure SVal2Opaque :> S = struct exception F of int val E = F end; smlsharp-1.2.0/test/tests/module/tests/functor001.sml0000644 000000000000000000000025512050661606022673 0ustar00rootroot0000000 0000000 (* "val" spec in functor parameter. *) functor F(S : sig val x : int end) = struct val y = S.x + 1 end; structure P = struct val x = 2 end; structure S = F(P); val x = S.y; smlsharp-1.2.0/test/tests/module/tests/functor002.sml0000644 000000000000000000000040612050661606022672 0ustar00rootroot0000000 0000000 (* "type" spec in functor parameter. *) functor F(S : sig type t end) = struct datatype dt = D of S.t end; structure P = struct type t = real end; structure S = F(P); val x = S.D 1.23; val y = case x of S.D n => n; datatype dt = E of S.dt; val z = E(S.D 2.34); smlsharp-1.2.0/test/tests/module/tests/functor003.sml0000644 000000000000000000000043412050661606022674 0ustar00rootroot0000000 0000000 (* "eqtype" spec in functor parameter. *) functor F(S : sig eqtype t end) = struct datatype dt = D of S.t fun eq (x : S.t, y) = x = y end; structure P = struct type t = int end; structure S = F(P); val x = S.eq(1, 2); val y = S.eq(2, 2); val a = S.D 1; val b = case a of S.D n => n; smlsharp-1.2.0/test/tests/module/tests/functor004.sml0000644 000000000000000000000053212050661606022674 0ustar00rootroot0000000 0000000 (* "datatype" spec in functor parameter. *) functor F(S : sig datatype dt = D of int | E end) = struct datatype dt = D of S.dt val x = S.D 1 end; structure P = struct datatype dt = D of int | E end; structure S = F(P); val x = S.x; val y = case x of P.D n => n | P.E => ~1; val a = S.D(P.D 1); val b = case a of S.D(P.D n) => n| S.D(P.E) => ~1; smlsharp-1.2.0/test/tests/module/tests/functor005.sml0000644 000000000000000000000056712050661606022705 0ustar00rootroot0000000 0000000 (* datatype replication spec in functor parameter. *) datatype gdt = D of int | E; functor F(S : sig datatype dt = datatype gdt end) = struct datatype dt = D of S.dt val x = S.D 1 end; structure P = struct datatype dt = datatype gdt end; structure S = F(P); val x = S.x; val y = case x of D n => n | E => ~1; val a = S.D(D 1); val b = case a of S.D(D n) => n | S.D E => ~1; smlsharp-1.2.0/test/tests/module/tests/functor006.sml0000644 000000000000000000000043612050661606022701 0ustar00rootroot0000000 0000000 (* "exception" spec in functor parameter. *) functor F(S : sig exception E of int end) = struct fun f t n = if t then raise S.E n else 0 end; structure P = struct exception E of int end; structure S = F(P); val x1 = S.f true 1 handle P.E n => n; val x2 = S.f false 1 handle P.E n => n; smlsharp-1.2.0/test/tests/module/tests/functor007.sml0000644 000000000000000000000034412050661606022700 0ustar00rootroot0000000 0000000 (* "structure" spec in functor parameter. *) functor F(S : sig structure T : sig val x : int end end) = struct val y = S.T.x + 1 end; structure P = struct structure T = struct val x = 2 end end; structure S = F(P); val x = S.y; smlsharp-1.2.0/test/tests/module/tests/functor008.sml0000644 000000000000000000000032212050661606022675 0ustar00rootroot0000000 0000000 (* "include" spec in functor parameter. *) signature T = sig val x : int end; functor F(S : sig include T end) = struct val y = S.x + 1 end; structure P = struct val x = 2 end; structure S = F(P); val x = S.y; smlsharp-1.2.0/test/tests/module/tests/functor009.sml0000644 000000000000000000000023312050661606022677 0ustar00rootroot0000000 0000000 (* empty spec in functor parameter. *) functor F(S : sig end) = struct val y = 1 end; structure P = struct val x = 2 end; structure S = F(P); val x = S.y; smlsharp-1.2.0/test/tests/module/tests/functor015.sml0000644 000000000000000000000053712050661606022703 0ustar00rootroot0000000 0000000 (* name resolution of structure name in a functor body. *) functor F(P : sig datatype dt = D val x : int end) = struct val x = (P.D, P.x) structure P = struct datatype dt = D val x = 2 end val y = (P.D, P.x) end; structure S = struct datatype dt = D val x = 1 end; structure T = F(S); val (x1, x2) = T.x; val (y1, y2) = T.y; val eq = x1 = y1; smlsharp-1.2.0/test/tests/module/tests/functorApplication001.sml0000644 000000000000000000000060512050661606025056 0ustar00rootroot0000000 0000000 (* multiple application of a functor.
  • the number of applications of a function
    • 3
*) val r = ref 0; functor F(S : sig end) = struct val _ = r := (!r) + 1 datatype dt = D end; structure S = struct end; structure F1 = F(S); val r1 = !r; structure F2 = F(S); val r2 = !r; structure F3 = F(S); val r3 = !r; val x = (F1.D = F2.D); smlsharp-1.2.0/test/tests/module/tests/functorApplication002.sml0000644 000000000000000000000054712050661606025064 0ustar00rootroot0000000 0000000 (* multiple applications of a functor to a structure.
  • the number of applications
    • 3
*) structure S = struct datatype dt = D val x = D end; functor F(S : sig type dt val x : dt end) = struct val x = S.x end; structure S1 = F(S); structure S2 = F(S); structure S3 = F(S); val x = [S1.x, S2.x, S3.x]; smlsharp-1.2.0/test/tests/module/tests/functorApplication003.sml0000644 000000000000000000000076412050661606025066 0ustar00rootroot0000000 0000000 (* multiple applications of functors to a structure.
  • the number of applications
    • 3
*) structure S = struct datatype dt = D val x = D end; functor F1(S : sig type dt val x : dt end) = struct val x = S.x end; functor F2(S : sig type dt val x : dt end) = struct val x = S.x end; functor F3(S : sig type dt val x : dt end) = struct val x = S.x end; structure S1 = F1(S); structure S2 = F2(S); structure S3 = F3(S); val x = [S1.x, S2.x, S3.x]; smlsharp-1.2.0/test/tests/module/tests/functorApplication004.sml0000644 000000000000000000000051412050661606025060 0ustar00rootroot0000000 0000000 (* structure expression of argument of functor application.
  • argument structure expression
    • basic strexp
*) functor F(P : sig type dt val x : dt end) = struct datatype dt = D of P.dt val x = D(P.x) end; structure T = F(struct datatype dt = D val x = D end); val x = T.x; smlsharp-1.2.0/test/tests/module/tests/functorApplication005.sml0000644 000000000000000000000054512050661606025065 0ustar00rootroot0000000 0000000 (* structure expression of argument of functor application.
  • argument structure expression
    • structure identifier
*) functor F(P : sig type dt val x : dt end) = struct datatype dt = D of P.dt val x = D(P.x) end; structure S = struct datatype dt = D val x = D end; structure T = F(S); val x = T.x; smlsharp-1.2.0/test/tests/module/tests/functorApplication006.sml0000644 000000000000000000000130612050661606025062 0ustar00rootroot0000000 0000000 (* structure expression of argument of functor application.
  • argument structure expression
    • transparent constraint
  • constrained strucutre expression
    • basic strexp
    • strucutre identifier
*) functor F(P : sig type dt val x : dt end) = struct datatype dt = D of P.dt val x = D(P.x) end; signature SIG = sig type dt val x : dt end; (********************) structure TBasic = F(struct datatype dt = D val x = D end : SIG); val xBasic = TBasic.x; (********************) structure SId = struct datatype dt = D val x = D end; structure TId = F(SId : SIG); val xId = TId.x; (********************) smlsharp-1.2.0/test/tests/module/tests/functorApplication007.sml0000644 000000000000000000000130312050661606025060 0ustar00rootroot0000000 0000000 (* structure expression of argument of functor application.
  • argument structure expression
    • opaque constraint
  • constrained strucutre expression
    • basic strexp
    • strucutre identifier
*) functor F(P : sig type dt val x : dt end) = struct datatype dt = D of P.dt val x = D(P.x) end; signature SIG = sig type dt val x : dt end; (********************) structure TBasic = F(struct datatype dt = D val x = D end :> SIG); val xBasic = TBasic.x; (********************) structure SId = struct datatype dt = D val x = D end; structure TId = F(SId :> SIG); val xId = TId.x; (********************) smlsharp-1.2.0/test/tests/module/tests/functorApplication008.sml0000644 000000000000000000000152412050661606025066 0ustar00rootroot0000000 0000000 (* structure expression of argument of functor application.
  • argument structure expression
    • application of another functor
    • application of the functor itself
    • id strexp indicating an application of another functor
*) functor F(P : sig type dt val x : dt end) = struct datatype dt = F of P.dt val x = F(P.x) end; functor F1(P : sig type dt val x : dt end) = struct datatype dt = E of P.dt val x = E(P.x) end; structure P = struct datatype dt = D val x = D end; (********************) structure T1 = F(F1(P)); val x1 = T1.x; (********************) structure T2 = F(F(P)); val x2 = T2.x; (********************) structure T31 = F1(P); val x31 = T31.x; structure T32 = F(T31); val x32 = T32.x; val b = case x32 of T32.F(T31.E(P.D)) => true; (********************) smlsharp-1.2.0/test/tests/module/tests/functorApplication009.sml0000644 000000000000000000000065612050661606025074 0ustar00rootroot0000000 0000000 (* structure expression of argument of functor application.
  • argument structure expression
    • let strexp
*) functor F(P : sig type dt val x : dt end) = struct datatype dt = D of P.dt val x = D(P.x) end; structure T = F(let structure S = struct datatype dt = D end in struct datatype dt = datatype S.dt val x = S.D end end); val x = T.x; smlsharp-1.2.0/test/tests/module/tests/functorApplicationDerived001.sml0000644 000000000000000000000375212050661606026367 0ustar00rootroot0000000 0000000 (* derived form functor application.
funid( strdec )
  • specification in the parameter signature
    • empty
    • val spec
    • type spec
    • eqtype spec
    • datatype spec
    • datatype replication spec
    • exception spec
    • structure spec
*) functor FEmpty(S : sig end) = struct end; structure TEmpty = FEmpty(); functor FVal(S : sig val x : int end) = struct val y = S.x end; structure TVal = FVal(val x = 2); val xVal = TVal.y; functor FType(S : sig type t end) = struct datatype dt = D of S.t end; structure TType = FType(type t = real); datatype dtType = DType of TType.dt; val xType = TType.D(1.23); functor FEqType(S : sig eqtype t end) = struct datatype dt = D of S.t end; structure TEqType = FEqType(type t = string); datatype dtEqType = DEqType of TEqType.dt; val xEqType = TEqType.D "abc"; functor FDatatype(S : sig datatype dt = D end) = struct datatype dt = E of S.dt datatype et = datatype S.dt end; structure TDatatype = FDatatype(datatype dt = D); datatype dtDatatype = DDatatype of TDatatype.dt; val xDatatype = TDatatype.E(TDatatype.D); datatype dtDatatypeRep = DDatatypeRep; functor FDatatypeRep(S : sig datatype dt = datatype dtDatatypeRep end) = struct datatype dt = D of S.dt datatype et = datatype S.dt end; structure TDatatypeRep = FDatatypeRep(datatype dt = datatype dtDatatypeRep); val xDatatypeRep = TDatatypeRep.D(DDatatypeRep); val yDatatypeRep = TDatatypeRep.DDatatypeRep; functor FException(S : sig exception E of real end) = struct exception F = S.E fun f r = raise S.E r end; structure TException = FException(exception E of real); val xException = (TException.f 1.23) handle TException.F r => r; functor FStructure(S : sig structure T : sig datatype dt = D end end) = struct structure T = S.T end; structure TStructure = FStructure(structure T = struct datatype dt = D end); structure SStructure = TStructure.T; val xStructure = TStructure.T.D; smlsharp-1.2.0/test/tests/module/tests/functorBinding001.sml0000644 000000000000000000000103512050661606024163 0ustar00rootroot0000000 0000000 (* multiple functor bindings in a functor declaration.
  • the number of binidngs in a declaration
    • 3
*) functor F1(S : sig val x : int end) = struct val x = S.x + 1 end and F2(S : sig val x : int end) = struct val x = S.x + 1 end and F3(S : sig val x : int end) = struct val x = S.x + 1 end; structure S = struct val x = 1 end; structure S1 = F1(S) and S2 = F2(S) and S3 = F3(S); val sx1 = S1.x; val sx2 = S2.x; val sx3 = S3.x; structure T1 = F1(S) and T2 = F2(T1) and T3 = F3(T2); smlsharp-1.2.0/test/tests/module/tests/functorBindingDerived001.sml0000644 000000000000000000000247712050661606025501 0ustar00rootroot0000000 0000000 (* derived form of functor binding.
  funid(strid : sigexp) : sigexp = ...
  funid(strid : sigexp) :> sigexp = ...
  • constraint
    • transparent
    • opaque
*) signature PSIG = sig type t eqtype et datatype ('a, 'b) dt = D | E of 'a * 'b val x : (t, et) dt exception F structure S : sig val f : bool -> (t, et) dt end end; structure PSTR = struct type t = real type et = string datatype ('a, 'b) dt = D | E of 'a * 'b val x = E(1.23, "a") exception F structure S = struct fun f true = D | f false = raise F end end; signature FSIG = sig type s eqtype es datatype ('a, 'b) ds = D | E of 'a * 'b val x : (s, es) ds exception F structure S : sig val f : bool -> (s, es) ds end end; functor FTrans(S : PSIG) : FSIG = struct type s = S.t type es = S.et datatype ds = datatype S.dt val x = S.x exception F = S.F structure S = S.S end; structure TTrans = FTrans(PSTR); val xTrans = TTrans.x; val yTrans = TTrans.S.f false handle TTrans.F => TTrans.x; functor FOpaq(S : PSIG) :> FSIG = struct type s = S.t type es = S.et datatype ds = datatype S.dt val x = S.x exception F = S.F structure S = S.S end; structure TOpaq = FOpaq(PSTR); val xOpaq = TOpaq.x; val yOpaq = TOpaq.S.f false handle TOpaq.F => TOpaq.x; smlsharp-1.2.0/test/tests/module/tests/functorBindingDerived021.sml0000644 000000000000000000000122512050661606025471 0ustar00rootroot0000000 0000000 (* derived form of functor binding.
  funid(spec) : sigexp = ...
  funid(spec) :> sigexp = ...
  • specification in the parameter signature
    • empty
  • constraint
    • none
    • transparent
    • opaque
*) (********************) signature SEmpty = sig end; structure PEmpty = struct end; functor FEmpty() = struct end; structure TEmpty = FEmpty(PEmpty); functor FEmptyTrans() : SEmpty = struct end; structure TEmptyTrans = FEmptyTrans(PEmpty); functor FEmptyOpaq() :> SEmpty = struct end; structure TEmptyOpaq = FEmptyOpaq(PEmpty); smlsharp-1.2.0/test/tests/module/tests/functorBindingDerived022.sml0000644 000000000000000000000140112050661606025466 0ustar00rootroot0000000 0000000 (* derived form of functor binding.
  funid(spec) : sigexp = ...
  funid(spec) :> sigexp = ...
  • specification in the parameter signature
    • val spec
  • constraint
    • none
    • transparent
    • opaque
*) signature SVal = sig val y : int end; structure PVal = struct val x = 2 end; functor FVal(val x : int) = struct val y = x end; structure TVal = FVal(PVal); val xVal = TVal.y; functor FValTrans(val x : int) : SVal = struct val y = x end; structure TValTrans = FValTrans(PVal); val xValTrans = TValTrans.y; functor FValOpaq(val x : int) :> SVal = struct val y = x end; structure TValOpaq = FValOpaq(PVal); val xValOpaq = TValOpaq.y; smlsharp-1.2.0/test/tests/module/tests/functorBindingDerived023.sml0000644 000000000000000000000172112050661606025474 0ustar00rootroot0000000 0000000 (* derived form of functor binding.
  funid(spec) : sigexp = ...
  funid(spec) :> sigexp = ...
  • specification in the parameter signature
    • type spec
  • constraint
    • none
    • transparent
    • opaque
*) signature SType = sig type dt end; structure PType = struct type t = real end; functor FType(type t) = struct datatype dt = D of t end; structure TType = FType(PType); datatype dtType = DType of TType.dt; val xType = TType.D(1.23); functor FTypeTrans(type t) : SType = struct datatype dt = D of t end; structure TTypeTrans = FTypeTrans(PType); datatype dtTypeTrans = DTypeTrans of TTypeTrans.dt; (* val xTypeTrans = TTypeTrans.D(1.23); *) functor FTypeOpaq(type t) :> SType = struct datatype dt = D of t end; structure TTypeOpaq = FTypeOpaq(PType); datatype dtTypeOpaq = DTypeOpaq of TTypeOpaq.dt; (* val xTypeOpaq = TTypeOpaq.D(1.23); *) smlsharp-1.2.0/test/tests/module/tests/functorBindingDerived024.sml0000644 000000000000000000000203112050661606025470 0ustar00rootroot0000000 0000000 (* derived form of functor binding.
  funid(spec) : sigexp = ...
  funid(spec) :> sigexp = ...
  • specification in the parameter signature
    • eqtype spec
  • constraint
    • none
    • transparent
    • opaque
*) signature SEqType = sig type dt end; structure PEqType = struct type t = string end; functor FEqType(eqtype t) = struct datatype dt = D of t end; structure TEqType = FEqType(PEqType); datatype dtEqType = DEqType of TEqType.dt; val xEqType = TEqType.D "abc"; functor FEqTypeTrans(eqtype t) : SEqType = struct datatype dt = D of t end; structure TEqTypeTrans = FEqTypeTrans(PEqType); datatype dtEqTypeTrans = DEqTypeTrans of TEqTypeTrans.dt; (* val xEqTypeTrans = TEqTypeTrans.D "abc"; *) functor FEqTypeOpaq(eqtype t) :> SEqType = struct datatype dt = D of t end; structure TEqTypeOpaq = FEqTypeOpaq(PEqType); datatype dtEqTypeOpaq = DEqTypeOpaq of TEqTypeOpaq.dt; (* val xEqTypeOpaq = TEqTypeOpaq.D "abc"; *) smlsharp-1.2.0/test/tests/module/tests/functorBindingDerived025.sml0000644 000000000000000000000235012050661606025475 0ustar00rootroot0000000 0000000 (* derived form of functor binding.
  funid(spec) : sigexp = ...
  funid(spec) :> sigexp = ...
  • specification in the parameter signature
    • datatype spec
  • constraint
    • none
    • transparent
    • opaque
*) signature SDatatype = sig type et type ft end; structure PDatatype = struct datatype dt = D end; functor FDatatype(datatype dt = D) = struct datatype et = E of dt datatype ft = datatype dt end; structure TDatatype = FDatatype(PDatatype); datatype dtDatatype = DDatatype of TDatatype.et; val xDatatype = TDatatype.E(TDatatype.D); functor FDatatypeTrans(datatype dt = D) : SDatatype = struct datatype et = E of dt datatype ft = datatype dt end; structure TDatatypeTrans = FDatatypeTrans(PDatatype); datatype dtDatatypeTrans = DDatatypeTrans of TDatatypeTrans.et; (* val xDatatypeTrans = TDatatypeTrans.E(TDatatypeTrans.D); *) functor FDatatypeOpaq(datatype dt = D) :> SDatatype = struct datatype et = E of dt datatype ft = datatype dt end; structure TDatatypeOpaq = FDatatypeOpaq(PDatatype); datatype dtDatatypeOpaq = DDatatypeOpaq of TDatatypeOpaq.et; (* val xDatatypeOpaq = TDatatypeOpaq.E(TDatatypeOpaq.D); *) smlsharp-1.2.0/test/tests/module/tests/functorBindingDerived026.sml0000644 000000000000000000000272312050661606025502 0ustar00rootroot0000000 0000000 (* derived form of functor binding.
  funid(spec) : sigexp = ...
  funid(spec) :> sigexp = ...
  • specification in the parameter signature
    • datatype replication spec
  • constraint
    • none
    • transparent
    • opaque
*) datatype dtDatatypeRep = DDatatypeRep; signature SDatatypeRep = sig datatype et = D of dtDatatypeRep datatype ft = datatype dtDatatypeRep end; structure PDatatypeRep = struct datatype dt = datatype dtDatatypeRep end; functor FDatatypeRep(datatype dt = datatype dtDatatypeRep) = struct datatype et = D of dt datatype ft = datatype dt end; structure TDatatypeRep = FDatatypeRep(PDatatypeRep); val xDatatypeRep = TDatatypeRep.D(DDatatypeRep); val yDatatypeRep = TDatatypeRep.DDatatypeRep; functor FDatatypeRepTrans(datatype dt = datatype dtDatatypeRep) : SDatatypeRep = struct datatype et = D of dt datatype ft = datatype dt end; structure TDatatypeRepTrans = FDatatypeRepTrans(PDatatypeRep); val xDatatypeRepTrans = TDatatypeRepTrans.D(DDatatypeRep); val yDatatypeRepTrans = TDatatypeRepTrans.DDatatypeRep; functor FDatatypeRepOpaq(datatype dt = datatype dtDatatypeRep) :> SDatatypeRep = struct datatype et = D of dt datatype ft = datatype dt end; structure TDatatypeRepOpaq = FDatatypeRepOpaq(PDatatypeRep); val xDatatypeRepOpaq = TDatatypeRepOpaq.D(DDatatypeRep); val yDatatypeRepOpaq = TDatatypeRepOpaq.DDatatypeRep; smlsharp-1.2.0/test/tests/module/tests/functorBindingDerived027.sml0000644 000000000000000000000220512050661606025476 0ustar00rootroot0000000 0000000 (* derived form of functor binding.
  funid(spec) : sigexp = ...
  funid(spec) :> sigexp = ...
  • specification in the parameter signature
    • exception spec
  • constraint
    • none
    • transparent
    • opaque
*) signature SException = sig exception F of real val f : real -> real end; structure PException = struct exception E of real end; functor FException(exception E of real) = struct exception F = E fun f r = raise E r end; structure TException = FException(PException); val xException = (TException.f 1.23) handle TException.F r => r; functor FExceptionTrans(exception E of real) : SException = struct exception F = E fun f r = raise E r end; structure TExceptionTrans = FExceptionTrans(PException); val xExceptionTrans = (TExceptionTrans.f 1.23) handle TExceptionTrans.F r => r; functor FExceptionOpaq(exception E of real) : SException = struct exception F = E fun f r = raise E r end; structure TExceptionOpaq = FExceptionOpaq(PException); val xExceptionOpaq = (TExceptionOpaq.f 1.23) handle TExceptionOpaq.F r => r; smlsharp-1.2.0/test/tests/module/tests/functorBindingDerived028.sml0000644 000000000000000000000225312050661606025502 0ustar00rootroot0000000 0000000 (* derived form of functor binding.
  funid(spec) : sigexp = ...
  funid(spec) :> sigexp = ...
  • specification in the parameter signature
    • structure spec
  • constraint
    • none
    • transparent
    • opaque
*) signature SStructure = sig structure T : sig datatype dt = D end end; structure PStructure = struct structure T = struct datatype dt = D end end; functor FStructure(structure T : sig datatype dt = D end) = struct structure T = T end; structure TStructure = FStructure(PStructure); structure SStructure = TStructure.T; val xStructure = TStructure.T.D; functor FStructureTrans(structure T : sig datatype dt = D end) : SStructure = struct structure T = T end; structure TStructureTrans = FStructureTrans(PStructure); structure SStructureTrans = TStructureTrans.T; val xStructureTrans = TStructureTrans.T.D; functor FStructureOpaq(structure T : sig datatype dt = D end) :> SStructure = struct structure T = T end; structure TStructureOpaq = FStructureOpaq(PStructure); structure SStructureOpaq = TStructureOpaq.T; val xStructureOpaq = TStructureOpaq.T.D; smlsharp-1.2.0/test/tests/module/tests/functorConstraint001.sml0000644 000000000000000000000150112050661606024733 0ustar00rootroot0000000 0000000 (* functor constrained by a signature.
  • specification in the constraining signature
    • val spec
    • type spec
    • eqtype spec
    • datatype spec
    • datatype replication spec
    • exception spec
    • structure spec
  • constraint
    • transparent
    • opaque
*) signature SVal = sig val x : int end; structure PVal = struct val x = true end; functor FValTrans(S : sig val x : bool end) = struct val x = "a" val x = 1 end : SVal; structure SValTrans = FValTrans(PVal); val xValTrans = SValTrans.x; functor FValOpaque(S : sig val x : bool end) = struct val x = "a" val x = 1 end :> SVal; structure SValOpaque = FValOpaque(PVal); val xValOpaque = SValOpaque.x; smlsharp-1.2.0/test/tests/module/tests/functorConstraint002.sml0000644 000000000000000000000153412050661606024742 0ustar00rootroot0000000 0000000 (* functor constrained by a signature.
  • specification in the constraining signature
    • type spec
  • constraint
    • transparent
    • opaque
*) signature SType = sig type t val x : t end; structure PType = struct type t = real val x = 1.23 end; functor FTypeTrans(S : sig type t val x : t end) = struct type t = int datatype t = D of S.t val x = D(S.x) end : SType; structure STypeTrans = FTypeTrans(PType); datatype dtTrans = DTrans of STypeTrans.t; val aTypeTrans = DTrans(STypeTrans.x); functor FTypeOpaque(S : sig type t val x : t end) = struct type t = int datatype t = D of S.t val x = D(S.x) end :> SType; structure STypeOpaque = FTypeOpaque(PType); datatype dtOpaque = DOpaque of STypeOpaque.t; val aTypeOpaque = DOpaque(STypeOpaque.x); smlsharp-1.2.0/test/tests/module/tests/functorConstraint003.sml0000644 000000000000000000000263612050661606024747 0ustar00rootroot0000000 0000000 (* functor constrained by a signature.
  • specification in the constraining signature
    • eqtype spec
  • the equality of the type t matching with the eqtype spec depends on the type S.t or not
    • t does not depends on S.t
    • t depends on S.t
  • constraint
    • transparent
    • opaque
*) signature SType = sig eqtype t val x : t end; structure P = struct type t = real val x = 1.23 end; functor FTypeNotDependsTrans(S : sig type t val x : t end) = struct type t = S.t ref val x = ref S.x end : SType; structure STypeNotDependsTrans = FTypeNotDependsTrans(P); val xTypeTrans = STypeNotDependsTrans.x; datatype dtTrans = DTrans of STypeNotDependsTrans.t; val aTypeTrans = DTrans(STypeNotDependsTrans.x); functor FTypeNotDependsOpaque(S : sig type t val x : t end) = struct type t = S.t ref val x = ref S.x end :> SType; structure STypeNotDependsOpaque = FTypeNotDependsOpaque(P); val xTypeOpaque = STypeNotDependsOpaque.x; datatype dtOpaque = DOpaque of STypeNotDependsOpaque.t; val aTypeOpaque = DOpaque(STypeNotDependsOpaque.x); functor FTypeDependsTrans(S : sig type t val x : t end) = struct datatype t = D of S.t val x = D(S.x) end : SType; functor FTypeDependsOpaque(S : sig type t val x : t end) = struct datatype t = D of S.t val x = D(S.x) end :> SType; smlsharp-1.2.0/test/tests/module/tests/functorConstraint004.sml0000644 000000000000000000000170712050661606024746 0ustar00rootroot0000000 0000000 (* functor constrained by a signature.
  • specification in the constraining signature
    • datatype spec
  • constraint
    • transparent
    • opaque
*) signature SDatatype = sig datatype t = D val x : t end; structure PDatatype = struct type t = real end; functor FDatatypeTrans(S : sig type t end) = struct type t = int datatype t = D val x = D end : SDatatype; structure SDatatypeTrans = FDatatypeTrans(PDatatype); datatype dtTrans = DTrans of SDatatypeTrans.t; val aDatatypeTrans = DTrans(SDatatypeTrans.x); val xDatatypeTrans = SDatatypeTrans.D; functor FDatatypeOpaque(S : sig type t end) = struct type t = int datatype t = D val x = D end :> SDatatype; structure SDatatypeOpaque = FDatatypeOpaque(PDatatype); datatype dtOpaque = DOpaque of SDatatypeOpaque.t; val aDatatypeOpaque = DOpaque(SDatatypeOpaque.x); val xDatatypeOpaque = SDatatypeOpaque.D; smlsharp-1.2.0/test/tests/module/tests/functorConstraint005.sml0000644 000000000000000000000213512050661606024743 0ustar00rootroot0000000 0000000 (* functor constrained by a signature.
  • specification in the constraining signature
    • datatype replication spec
  • constraint
    • transparent
    • opaque
*) datatype dt = D; signature SDatatype = sig datatype t = datatype dt val x : t end; structure PDatatype = struct type t = real end; functor FDatatypeTrans(S : sig type t end) = struct type t = int datatype t = datatype dt val x = D end : SDatatype; structure SDatatypeTrans = FDatatypeTrans(PDatatype); datatype dt2Trans = ETrans of SDatatypeTrans.t; val aDatatypeTrans = ETrans(SDatatypeTrans.x); val xDatatypeTrans = SDatatypeTrans.D; val eqDatatypeTrans = SDatatypeTrans.D = D; functor FDatatypeOpaque(S : sig type t end) = struct type t = int datatype t = datatype dt val x = D end :> SDatatype; structure SDatatypeOpaque = FDatatypeOpaque(PDatatype); datatype dt2Opaque = EOpaque of SDatatypeOpaque.t; val aDatatypeOpaque = EOpaque(SDatatypeOpaque.x); val xDatatypeOpaque = SDatatypeOpaque.D; val eqDatatypeOpaque = SDatatypeOpaque.D = D; smlsharp-1.2.0/test/tests/module/tests/functorConstraint006.sml0000644 000000000000000000000153612050661606024750 0ustar00rootroot0000000 0000000 (* functor constrained by a signature.
  • specification in the constraining signature
    • exception spec
  • constraint
    • transparent
    • opaque
*) signature SExn = sig exception E of int end; structure PExn = struct exception E of string end; functor FExnTrans(S : sig exception E of string end) = struct exception E of int end : SExn; structure SExnTrans = FExnTrans(PExn); val xExnTrans = SExnTrans.E 1; val eExnTrans = (raise SExnTrans.E 1) handle PExn.E s => 0 | SExnTrans.E n => n; functor FExnOpaque(S : sig exception E of string end) = struct exception E of int end :> SExn; structure SExnOpaque = FExnOpaque(PExn); val xExnOpaque = SExnOpaque.E 1; val eExnOpaque = (raise SExnOpaque.E 1) handle PExn.E s => 0 | SExnOpaque.E n => n; smlsharp-1.2.0/test/tests/module/tests/functorConstraint007.sml0000644 000000000000000000000237012050661606024746 0ustar00rootroot0000000 0000000 (* functor constrained by a signature.
  • specification in the constraining signature
    • structure spec
  • constraint
    • transparent
    • opaque
*) signature SStructure = sig structure S : sig datatype dt = D of int val x : int end end; structure PStructure = struct val x = ~1 datatype dt = D of int end; functor FStructure1Trans(S : sig val x : int datatype dt = D of int end) = struct structure S = struct val x = 1 datatype dt = D of int end end : SStructure; structure SStructure1Trans = FStructure1Trans(PStructure); structure SSTrans = SStructure1Trans.S; val xStructureTrans = SStructure1Trans.S.x; functor FStructure1Opaque(S : sig val x : int datatype dt = D of int end) = struct structure S = struct val x = 1 datatype dt = D of int end end :> SStructure; structure SStructure1Opaque = FStructure1Opaque(PStructure); structure SSOpaque = SStructure1Opaque.S; val xStructureOpaque = SStructure1Opaque.S.x; (* error case *) functor FStructure2Trans(S : sig val x : int datatype dt = D of int end) = struct end : SStructure; functor FStructure2Opaque(S : sig val x : int datatype dt = D of int end) = struct end :> SStructure; smlsharp-1.2.0/test/tests/module/tests/IDStructureExpression001.sml0000644 000000000000000000000427512050661606025516 0ustar00rootroot0000000 0000000 (* longid structure expression.
  • referring location
    • at the top level
    • in a global structure
    • in a local structure
  • referred structure
    • global structure
    • local structure declared in the same global structure
    • local structure declared in the another global structure
*) (* refer = top, referred = global *) structure S11 = struct datatype dt = D val x = D end; structure T11 = S11; val x11 : T11.dt = T11.x; (* refer = top, referred = local str in the same global str *) structure S12 = struct structure S12 = struct datatype dt = D val x = D end end; structure T12 = S12.S12; val x12 : T12.dt = T12.x; (* refer = top, referred = local str in a different global str *) (* snip *) (* refer = in a global str, referred = global *) structure S21 = struct datatype dt = D val x = D end; structure T21 = struct structure T21 = S21 end; val x21 : T21.T21.dt = T21.T21.x; (* refer = in a global str, referred = local str in the same global str *) structure S22 = struct structure S22 = struct datatype dt = D val x = D end structure T22 = S22 end; val x22 : S22.T22.dt = S22.T22.x; (* refer = in a global str, referred = local str in another global str *) structure S23 = struct structure S23 = struct datatype dt = D val x = D end end; structure T23 = struct structure T23 = S23.S23 end; val x23 : T23.T23.dt = T23.T23.x; (* refer = in a local str, referred = global *) structure S31 = struct datatype dt = D val x = D end; structure T31 = struct structure T31 = struct structure T31 = S31 end end; val x31 : T31.T31.T31.dt = T31.T31.T31.x; (* refer = in a local str, referred = local str in the same global str *) structure S32 = struct structure S32 = struct datatype dt = D val x = D end; structure T32 = struct structure T32 = S32 end end; val x32 : S32.T32.T32.dt = S32.T32.T32.x; (* refer = in a local str, referred = local str in another global str *) structure S33 = struct structure S33 = struct datatype dt = D val x = D end end; structure T33 = struct structure T33 = struct structure T33 = S33.S33 end end; val x33 : T33.T33.T33.dt = T33.T33.T33.x; smlsharp-1.2.0/test/tests/module/tests/includeSpec0001.sml0000644 000000000000000000000160212050661606023526 0ustar00rootroot0000000 0000000 (* sigexp included by "include" specification.
  • included signature exp.
    • basic signature exp.
    • ID of top level signature
    • ID of inner signature declared in the same signature
    • "where type" signature exp
*) signature S1 = sig type s include sig type t datatype dt = D of t val x : s * t * dt end val y : dt * t end; signature S2Top = sig type t datatype dt = D of t val x : t * dt end; signature S2 = sig include S2Top val y : dt * t end; (* This should be error because "include" accepts only top level signature. *) signature S3 = sig structure S3Inner : sig type t datatype dt = D of t val x : t * dt end include S3Inner val y : dt * t end; signature S4 = sig type s include sig type t datatype dt = D of t val x : s * t * dt end where type t = s val y : dt * t end; smlsharp-1.2.0/test/tests/module/tests/includeSpec0002.sml0000644 000000000000000000000226412050661606023534 0ustar00rootroot0000000 0000000 (* specs in a signature included by "include" specification.
    • val spec
    • type spec
    • eqtype spec
    • datatype spec
    • datatype replication spec
    • exception spec
    • structure spec
    • include spec
*) signature Ival = sig val x : int end; signature Sval = sig include Ival end; signature Itype = sig type t end; signature Stype = sig include Itype end; signature Ieqtype = sig eqtype t end; signature Seqtype = sig include Ieqtype end; signature Idatatype = sig datatype dt = D end; signature Sdatatype = sig include Idatatype end; datatype dt = D; signature IdatatypeRep = sig datatype dt = datatype dt end signature SdatatypeRep = sig include IdatatypeRep end; signature Iexception = sig exception E end; signature Sexception = sig include Iexception end; signature Istructure = sig structure S : sig type t datatype dt = D val x : t end end; signature Sstructure = sig include Istructure end; signature Tinclude = sig type t datatype dt = D val x : t end; signature Iinclude = sig include Tinclude end; signature Sinclude = sig include Iinclude end; smlsharp-1.2.0/test/tests/module/tests/includeSpec0003.sml0000644 000000000000000000000051112050661606023526 0ustar00rootroot0000000 0000000 (* multiple nested "include" specification.
  • the number of signature related
    • 3
*) signature S31 = sig type t datatype dt = D of t val x : t * dt end; signature S32 = sig include S31 val y : t * dt end; signature S33 = sig include S32 val z : dt * t end; smlsharp-1.2.0/test/tests/module/tests/includeSpec0004.sml0000644 000000000000000000000035112050661606023531 0ustar00rootroot0000000 0000000 (* derived form include specification.
  include sigid1 ... sigidN
*) signature SA = sig type t val x : t end; signature SB = sig datatype dt = D val y : dt end; signature S = sig include SA SB val z : t * dt end; smlsharp-1.2.0/test/tests/module/tests/includeSpecMatching0001.sml0000644 000000000000000000000454512050661606025212 0ustar00rootroot0000000 0000000 (* matching of include specification.
  • specification in the included signature
    • empty
    • val spec
    • type spec
    • eqtype spec
    • datatype spec
    • datatype replication spec
    • exception spec
    • structure spec
  • signature constraint
    • transparent
    • opaque
*) signature TEmpty = sig end; signature SEmpty = sig include TEmpty end; structure SEmptyTrans : SEmpty = struct end; structure SEmptyOpaque :> SEmpty = struct end; signature TVal = sig val x : int end; signature SVal = sig include TVal end; structure SValTrans : SVal = struct val x = 1 end; structure SValOpaque :> SVal = struct val x = 1 end; signature TType = sig type t end; signature SType = sig include TType end; structure STypeTrans : SType = struct type t = int end; structure STypeOpaque :> SType = struct type t = int end; signature TEqtype = sig eqtype t end; signature SEqtype = sig include TEqtype end; structure SEqtypeTrans : SEqtype = struct type t = int end; structure SEqtypeOpaque :> SEqtype = struct type t = int end; signature TDatatype = sig datatype dt = D end; signature SDatatype = sig include TDatatype end; structure SDatatypeTrans : SDatatype = struct datatype dt = D end; structure SDatatypeOpaque :> SDatatype = struct datatype dt = D end; datatype dtDatatypeReplication = DDatatypeReplication signature TDatatypeReplication = sig datatype dt = datatype dtDatatypeReplication end; signature SDatatypeReplication = sig include TDatatypeReplication end; structure SDatatypeReplicationTrans : SDatatypeReplication = struct datatype dt = datatype dtDatatypeReplication end; structure SDatatypeReplicationOpaque :> SDatatypeReplication = struct datatype dt = datatype dtDatatypeReplication end; signature TException = sig exception E end; signature SException = sig include TException end; structure SExceptionTrans : SException = struct exception E end; structure SExceptionOpaque :> SException = struct exception E end; signature TStructure = sig structure S : sig val x : int end end; signature SStructure = sig include TStructure end; structure SStructureTrans : SStructure = struct structure S = struct val x = 1 end end; structure SStructureOpaque :> SStructure = struct structure S = struct val x = 1 end end; smlsharp-1.2.0/test/tests/module/tests/includeSpecMatching0002.sml0000644 000000000000000000000062212050661606025203 0ustar00rootroot0000000 0000000 (* matching of derived form include specification.
  include sigid1 ... sigidN
*) signature SA = sig type t val x : t end; signature SB = sig datatype dt = D val y : dt end; signature S = sig include SA SB val z : t * dt end; structure S = struct type t = int datatype dt = D val x = 1 val y = D val z = (2, D) end; structure STrans = S : S; structure SOpaque = S :> S; smlsharp-1.2.0/test/tests/module/tests/letStructureExpression001.sml0000644 000000000000000000000044112050661606025775 0ustar00rootroot0000000 0000000 (* let structure expression.
*) structure S1 = let structure S11 = struct datatype dt = D end in S11 end; val x1 : S1.dt = S1.D; structure S2 = let structure S2 = struct datatype dt = D end in S2 end; val x2 : S2.dt = S2.D; smlsharp-1.2.0/test/tests/module/tests/local0001.sml0000644 000000000000000000000175312050661606022371 0ustar00rootroot0000000 0000000 (* local structure declaration.
  • local declared: structure
  • global declared: structure
  • local structure and global structure have the same name.
    • no
    • yes
  • how global structure refers to local structure
    • refers to element of local structure
    • refers to the local structure
*) local structure S = struct datatype dt = D val x = D end in structure S11 = struct val x : S.dt * S.dt = (S.x, S.D) end end; val x11 = S11.x; local structure S = struct datatype dt = D val x = D end in structure S12 = S end; val x12 : S12.dt * S12.dt = (S12.x, S12.D); local structure S21 = struct datatype dt = D val x = D end in structure S21 = struct val x : S21.dt * S21.dt = (S21.x, S21.D) end end; val x21 = S21.x; local structure S22 = struct datatype dt = D val x = D end in structure S22 = S22 end; val x22 : S22.dt * S22.dt = (S22.x, S22.D); smlsharp-1.2.0/test/tests/module/tests/LongIDExceptionReplication001.sml0000644 000000000000000000000024512050661606026377 0ustar00rootroot0000000 0000000 (* replication of long ID exception constructor *) structure S1 = struct exception E end; exception E = S1.E; fun f1 x = case x of S1.E => 1 | _ => 2; val x = f1 E; smlsharp-1.2.0/test/tests/module/tests/LongIDExpression001.sml0000644 000000000000000000000053112050661606024404 0ustar00rootroot0000000 0000000 (* long ID expression.
  • expression
    • variable
    • datatype constructor
    • exception constructor
*) structure S1 = struct val x = 1 end; val x1 = S1.x; structure S2 = struct datatype dt = D end; val x2 = S2.D; structure S3 = struct exception E end; val x3 = S3.E; smlsharp-1.2.0/test/tests/module/tests/LongIDPattern001.sml0000644 000000000000000000000135512050661606023667 0ustar00rootroot0000000 0000000 (* long ID pattern.
  • pattern.
    • constant datatype constructor
    • constant exception constructor
  • the numebr of argument patterns
    • 0
    • 1
*) structure S11 = struct datatype dt = D end; fun f11 x = case x of S11.D => 1; val x11 = f11 S11.D; structure S21 = struct exception E end; fun f21 x = case x of S21.E => 2 | _ => 1; val x21 = f21 S21.E; structure S12 = struct datatype dt = D of int * int end; fun f12 x = case x of S12.D(x, y) => x + y; val x12 = f12 (S12.D(1, 2)); structure S22 = struct exception E of real * real end; fun f22 x = case x of S22.E(x, y) => x + y | _ => 0.12; val x22 = f22 (S22.E(1.23, 4.56)); smlsharp-1.2.0/test/tests/module/tests/LongIDTypeName001.sml0000644 000000000000000000000134712050661606023775 0ustar00rootroot0000000 0000000 (* long ID type name.
  • type constructor.
    • type constructor decalred by datatype
    • type constructor decalred by type
  • the numebr of parameter types
    • 0
    • 1
*) structure S11 = struct datatype dt = D end; datatype dt11 = D11 of S11.dt; val x11 = D11(S11.D); structure S12 = struct datatype 'a dt = D of 'a end; datatype dt12 = D12 of int S12.dt; val x12 = D12(S12.D 12); structure S21 = struct type t = int * real end; datatype dt21 = D21 of S21.t; val x21 = D21(1, 2.34); structure S22 = struct type 'a t = int * real * 'a end; datatype dt22 = D22 of (string * bool) S22.t; val x22 = D22(1, 2.34, ("abc", true)); smlsharp-1.2.0/test/tests/module/tests/open001.sml0000644 000000000000000000000462012050661606022154 0ustar00rootroot0000000 0000000 (* open declaration.
    • val declaration
    • type declaration
    • datatype declaration
    • datatype replication
    • abstype declaration
    • exception declaration
    • open declaration
    • infix declaration
    • infixr declaration
    • nonfix declaration
    • structure decalration
*) structure Sval1 = struct val x = (1, 2) end; structure Sval2 = struct open Sval1 val y = x end; val xval = Sval2.x; structure Stype1 = struct type t = int * int end; structure Stype2 = struct open Stype1 val y = (1, 2) : t end; val xtype : Stype2.t = (2, 3); structure Sdatatype1 = struct datatype dt = D end; structure Sdatatype2 = struct open Sdatatype1 val y = D : dt end; val xdatatype : Sdatatype2.dt = Sdatatype2.D; local datatype dt = D in structure SdatatypeReplication1 = struct datatype dt = datatype dt end end; structure SdatatypeReplication2 = struct open SdatatypeReplication1 val y = D : dt end; val xdatatypeReplication : Sdatatype2.dt = Sdatatype2.D; structure Sabstype1 = struct abstype at = D of t withtype t = int * int with val x = D (1, 2) end end; structure Sabstype2 = struct open Sabstype1 val y = x : at end; val xabstype : Sabstype2.at = Sabstype2.x; structure Sexception1 = struct exception E of int end; structure Sexception2 = struct open Sexception1 val y = E 1 end; val xexception = Sexception2.E 1; structure Sopen1 = struct datatype dt = D val x = D end; structure Sopen2 = struct open Sopen1 end; structure Sopen3 = struct open Sopen2 val y = D : dt end; val xopen = (Sopen3.x : Sopen3.dt, Sopen3.D); (* infix attribute is not imported. *) structure Sinfix1 = struct infix ## fun x ## y = x + y end; structure Sinfix2 = struct open Sinfix1 fun ## (x, y) = x + y end; (* infix attribute is not imported. *) structure Sinfixr1 = struct infixr ## fun x ## y = x + y end; structure Sinfixr2 = struct open Sinfixr1 fun ## (x, y) = x + y end; (* infix attribute is not imported. *) structure Snonfix1 = struct nonfix ## end; structure Snonfix2 = struct infix ## open Snonfix1 fun x ## y = x + y end; structure Sstructure1 = struct structure S = struct datatype dt = D val x = D end end; structure Sstructure2 = struct open Sstructure1 structure T = S end; structure T = Sstructure2.S; val xstructure = (Sstructure2.S.x : Sstructure2.S.dt, Sstructure2.S.D); smlsharp-1.2.0/test/tests/module/tests/open002.sml0000644 000000000000000000000060612050661606022155 0ustar00rootroot0000000 0000000 (* multiple nested "open" declaration
  • the number of structures related
    • 3
*) structure S31 = struct type t = int datatype dt = D of t val x = D 1 end; structure S32 = struct open S31 datatype dt2 = E of dt * t val y = (x, 123) end; structure S33 = struct open S32 type t3 = dt * dt2 * t val z = (x, y, 123) end; smlsharp-1.2.0/test/tests/module/tests/sequentialSpec0001.sml0000644 000000000000000000000064212050661606024260 0ustar00rootroot0000000 0000000 (* sequential specification.
  • the number of specifications
    • non-empty
    • empty
  • separated by comma
    • no
    • yes
*) signature S11 = sig type s val y : s type t val x : t end; signature S12 = sig type s; val y : s; type t; val x : t; end; signature S21 = sig end; signature S22 = sig ; end; smlsharp-1.2.0/test/tests/module/tests/sharingSpec0001.sml0000644 000000000000000000000117612050661606023544 0ustar00rootroot0000000 0000000 (* "sharing" structure specification. It is a derived form "sharing type" specification.
  • the number of strid connected
    • 2
    • 3
  • the number of type names common among the connected structures
    • 1
    • 2
*) signature S21 = sig structure T1 : sig type t1 end structure T2 : sig type t1 end sharing T1 = T2 end; signature S32 = sig structure T1 : sig type t1 datatype t2 = D end structure T2 : sig type t1 datatype t2 = D end structure T3 : sig type t1 datatype t2 = D end sharing T1 = T2 = T3 end; smlsharp-1.2.0/test/tests/module/tests/sharingSpec0002.sml0000644 000000000000000000000125412050661606023542 0ustar00rootroot0000000 0000000 (* Test case of "sharing" structure specification. Structures have extra tyCons in addition to common tyCons.
  • the number of strid connected
    • 2
    • 3
  • the number of type names common among the connected structures
    • 1
    • 2
*) signature S21 = sig structure T1 : sig type t1 type t2 end structure T2 : sig type t1 end sharing T1 = T2 end; signature S32 = sig structure T1 : sig type t1 datatype t2 = D type t3 end structure T2 : sig type t1 datatype t2 = D type t3 end structure T3 : sig type t1 datatype t2 = D end sharing T1 = T2 = T3 end; smlsharp-1.2.0/test/tests/module/tests/sharingSpec0003.sml0000644 000000000000000000000240312050661606023540 0ustar00rootroot0000000 0000000 (* locations of declarations of structures connected by "sharing" specification.
  • the left hand side structure in a "sharing"
    • delcared at the same level with "sharing"
    • declared in inner nested structure
  • the right hand side tyCon in a "sharing"
    • delcared at the same level with "sharing"
    • declared in inner nested structure, same with the left
    • declared in inner nested structure, different to the left
*) signature S11 = sig structure S : sig type t end structure T : sig type t end sharing T = S end; (* skip S12 *) signature S13 = sig structure S : sig type t end structure T : sig structure T : sig type t end end sharing S = T.T end; (********************) signature S21 = sig structure S : sig structure S : sig type t end end structure T : sig type t end sharing S.S = T end; signature S22 = sig structure S : sig structure S : sig type t end structure T : sig type t end end sharing S.S = S.T end; signature S23 = sig structure S : sig structure S : sig type t end end structure T : sig structure T : sig type t end end sharing S.S = T.T end; (********************) smlsharp-1.2.0/test/tests/module/tests/sharingSpecMatching0001.sml0000644 000000000000000000000203712050661606025214 0ustar00rootroot0000000 0000000 (* matching of sharing specification.
  • the number of strid connected
    • 3
  • the number of type names common among the connected structures
    • 2
  • constraint
    • transparent
    • opaque
*) signature S32 = sig structure T1 : sig type t1 datatype t2 = D val x : t2 end structure T2 : sig type t1 datatype t2 = D val x : t2 end structure T3 : sig type t1 datatype t2 = D val x : t2 end sharing T1 = T2 = T3 val x : T1.t2 * T2.t2 * T3.t2 end; structure S32 = struct structure T1 = struct type t1 = int datatype t2 = D val x = D end structure T2 = struct type t1 = int datatype t2 = datatype T1.t2 val x = D end structure T3 = struct type t1 = int datatype t2 = datatype T1.t2 val x = D end val x = (T1.x, T2.x, T3.x) end; structure S32Trans = S32 : S32; val (xTrans1, xTrans2, xTrans3) = S32Trans.x structure S32Opaque = S32 :> S32; val (xOpaque1, xOpaque2, xOpaque3) = S32Opaque.x smlsharp-1.2.0/test/tests/module/tests/sharingTypeSpec0001.sml0000644 000000000000000000000046412050661606024405 0ustar00rootroot0000000 0000000 (* multiple "sharing type" specification.
  • the number of tyCons in a "sharing type"
    • 2
    • 3
*) signature S2 = sig type t type s sharing type s = t end; signature S3 = sig type s type t type u sharing type u = t = s end; smlsharp-1.2.0/test/tests/module/tests/sharingTypeSpec0002.sml0000644 000000000000000000000062212050661606024402 0ustar00rootroot0000000 0000000 (* multiple nested "sharing type" specifications.
  • the number of nested "sharing type" specifications
    • 2
    • 3
*) signature S2 = sig type u type t type s sharing type s = t sharing type s = u end; signature S3 = sig type s type t type u type v sharing type u = t sharing type t = s sharing type s = v end; smlsharp-1.2.0/test/tests/module/tests/sharingTypeSpec0003.sml0000644 000000000000000000000414412050661606024406 0ustar00rootroot0000000 0000000 (* locations of declarations of tyCons connected by "sharing type" specification.
  • the left hand side tyCon in a "sharing type"
    • delcared at the same level with "sharing type"
    • declared in inner nested structure
    • declared in inner double-nested structure
  • the right hand side tyCon in a "sharing type"
    • delcared at the same level with "sharing type"
    • declared in inner nested structure, same with the left
    • declared in inner nested structure, different to the left
    • declared in inner double-nested structure, same with the left
    • declared in inner double-nested structure, different to the left
*) signature S11 = sig type s type t sharing type t = s end; (* skip S12 *) signature S13 = sig type s structure T : sig type t end sharing type s = T.t end; (* skip S14 *) signature S15 = sig type s structure T : sig structure T : sig type t end end sharing type s = T.T.t end; (********************) signature S21 = sig structure S : sig type s end type t sharing type S.s = t end; signature S22 = sig structure S : sig type s type t end sharing type S.s = S.t end; signature S23 = sig structure S : sig type s end structure T : sig type t end sharing type S.s = T.t end; (* skip S24 *) signature S25 = sig structure S : sig type s end structure T : sig structure T : sig type t end end sharing type S.s = T.T.t end; (********************) signature S31 = sig structure S : sig structure S : sig type s end end type t sharing type S.S.s = t end; (* skip S32 *) signature S33 = sig structure S : sig structure S : sig type s end end structure T : sig type t end sharing type S.S.s = T.t end; signature S34 = sig structure S : sig structure S : sig type s type t end end sharing type S.S.s = S.S.t end; signature S35 = sig structure S : sig structure S : sig type s type t end end structure T : sig structure T : sig type t end end sharing type S.S.s = T.T.t end; (********************) smlsharp-1.2.0/test/tests/module/tests/sharingTypeSpec0004.sml0000644 000000000000000000000615212050661606024410 0ustar00rootroot0000000 0000000 (* type equality of tyCons in a "sharing type" specification.
  • the left tyCon
    • declared by type specification
    • declared by eqtype specification
    • declared by datatype specification not admitting equality
    • declared by datatype specification admitting equality
  • the right tyCon
    • declared by type specification
    • declared by eqtype specification
    • declared by datatype specification not admitting equality
    • declared by datatype specification admitting equality
*) signature S11 = sig type s type t sharing type s = t end; structure S11 : S11 = struct type s = real type t = real end; signature S12 = sig type s eqtype t sharing type s = t end; structure S121 : S12 = struct type s = real type t = real end; structure S122 : S12 = struct type s = int type t = int end; signature S13 = sig type s datatype t = D of real sharing type s = t end; structure S13 : S13 = struct datatype t = D of real type s = t end; signature S14 = sig type s datatype t = D of int sharing type s = t end; structure S14 : S14 = struct datatype t = D of int type s = t end; (********************) signature S21 = sig eqtype s type t sharing type s = t end; structure S211 : S21 = struct type s = real type t = real end; structure S212 : S21 = struct type s = int type t = int end; signature S22 = sig eqtype s eqtype t sharing type s = t end; structure S221 : S22 = struct type s = real type t = real end; structure S222 : S22 = struct type s = int type t = int end; signature S23 = sig eqtype s datatype t = D of real sharing type s = t end; structure S23 : S23 = struct datatype t = D of real type s = t end; signature S24 = sig eqtype s datatype t = D of int sharing type s = t end; structure S24 : S24 = struct datatype t = D of int type s = t end; (********************) signature S31 = sig datatype s = D of real type t sharing type s = t end; structure S31 : S31 = struct datatype s = D of real datatype t = datatype s end; signature S32 = sig datatype s = D of real eqtype t sharing type s = t end; structure S32 : S32 = struct datatype s = D of real datatype t = datatype s end; signature S33 = sig datatype s = D of real datatype t = E of real sharing type s = t end; (* But, how can we define a structure conforming with S33 ? *) signature S34 = sig datatype s = D of real datatype t = E of int sharing type s = t end; (********************) signature S41 = sig datatype s = D of int type t sharing type s = t end; structure S41 : S41 = struct datatype s = D of int datatype t = datatype s end; signature S42 = sig datatype s = D of int eqtype t sharing type s = t end; structure S42 : S42 = struct datatype s = D of int datatype t = datatype s end; signature S43 = sig datatype s = D of int datatype t = E of int sharing type s = t end; (* But, how can we define a structure conforming with S43 ? *) signature S44 = sig datatype s = D of int datatype t = E of int sharing type s = t end; smlsharp-1.2.0/test/tests/module/tests/sharingTypeSpecMatching0001.sml0000644 000000000000000000000462712050661606026065 0ustar00rootroot0000000 0000000 (* matching of sharing specification. safe case. type constructors are connected by abbreviation by type declaration or datatype replication declaration.
  • how type constructors are related in the structure.
    • type declaration
    • datatype replication
    • both of type delcaration and datatype replication
  • the number of type constructors related
    • 2
    • 3
  • constraint
    • transparent
    • opaque
*) signature S2 = sig type t1 type t2 sharing type t1 = t2 end; structure SType2Trans : S2 = struct datatype t1 = D type t2 = t1 end; structure SType2Opaque :> S2 = struct datatype t1 = D type t2 = t1 end; structure SDatatypeReplication2Trans : S2 = struct datatype t1 = D datatype t2 = datatype t1 end; structure SDatatypeReplication2Opaque :> S2 = struct datatype t1 = D datatype t2 = datatype t1 end; (****************************************) signature S3 = sig type t1 type t2 type t3 sharing type t1 = t2 = t3 end; structure SType31Trans : S3 = struct datatype t1 = D type t2 = t1 type t3 = t1 end; structure SType32Trans : S3 = struct datatype t1 = D type t2 = t1 type t3 = t2 end; structure SType31Opaque :> S3 = struct datatype t1 = D type t2 = t1 type t3 = t1 end; structure SType32Opaque :> S3 = struct datatype t1 = D type t2 = t1 type t3 = t2 end; structure SDatatypeReplication31Trans : S3 = struct datatype t1 = D datatype t2 = datatype t1 datatype t3 = datatype t1 end; structure SDatatypeReplication32Trans : S3 = struct datatype t1 = D datatype t2 = datatype t1 datatype t3 = datatype t2 end; structure SDatatypeReplication31Opaque :> S3 = struct datatype t1 = D datatype t2 = datatype t1 datatype t3 = datatype t1 end; structure SDatatypeReplication32Opaque :> S3 = struct datatype t1 = D datatype t2 = datatype t1 datatype t3 = datatype t2 end; structure SMixed31Trans : S3 = struct datatype t1 = D datatype t2 = datatype t1 type t3 = t1 end; structure SMixed32Trans : S3 = struct datatype t1 = D datatype t2 = datatype t1 type t3 = t2 end; structure SMixed31Opaque :> S3 = struct datatype t1 = D datatype t2 = datatype t1 type t3 = t1 end; structure SMixed32Opaque :> S3 = struct datatype t1 = D datatype t2 = datatype t1 type t3 = t2 end; smlsharp-1.2.0/test/tests/module/tests/sharingTypeSpecMatching0002.sml0000644 000000000000000000000161612050661606026061 0ustar00rootroot0000000 0000000 (* matching of sharing specification. safe case. Type constructors are declared by "type" declaration and bound to the same type expression.
  • the number of type constructors related
    • 2
    • 3
  • constraint
    • transparent
    • opaque
*) signature S2 = sig type t1 type t2 sharing type t1 = t2 end; structure S2Trans : S2 = struct type t1 = int * int type t2 = int * int end; structure S2Opaque :> S2 = struct type t1 = int * int type t2 = int * int end; (********************) signature S3 = sig type t1 type t2 type t3 sharing type t1 = t2 = t3 end; structure S3Trans : S3 = struct type t1 = int -> int type t2 = int -> int type t3 = int -> int end; structure S3Opaque :> S3 = struct type t1 = int -> int type t2 = int -> int type t3 = int -> int end; smlsharp-1.2.0/test/tests/module/tests/sharingTypeSpecMatching0003.sml0000644 000000000000000000000202612050661606026056 0ustar00rootroot0000000 0000000 (* matching of sharing specification. error case. Type constructors are declared independently by "datatype" declaration in the same form.
  • the number of type constructors related
    • 2
    • 3
  • constraint
    • transparent
    • opaque
*) signature S2 = sig type t1 type t2 sharing type t1 = t2 end; structure S2Trans : S2 = struct datatype t1 = D datatype t2 = D end; structure S2Opaque :> S2 = struct datatype t1 = D datatype t2 = D end; (********************) signature S3 = sig type t1 type t2 type t3 sharing type t1 = t2 = t3 end; structure S31Trans : S3 = struct datatype t1 = D datatype t2 = D datatype t3 = D end; structure S31Opaque :> S3 = struct datatype t1 = D datatype t2 = D datatype t3 = D end; structure S32Trans : S3 = struct datatype t1 = D type t2 = t1 datatype t3 = D end; structure S32Opaque : S3 = struct datatype t1 = D type t2 = t1 datatype t3 = D end; smlsharp-1.2.0/test/tests/module/tests/sharingTypeSpecMatching0004.sml0000644 000000000000000000000162512050661606026063 0ustar00rootroot0000000 0000000 (* matching of sharing specification. error case. Type constructors are declared by "type" declaration and bound to different type expressions.
  • the number of type constructors related
    • 2
    • 3
  • constraint
    • transparent
    • opaque
*) signature S2 = sig type t1 type t2 sharing type t1 = t2 end; structure S2Trans : S2 = struct type t1 = int * int type t2 = int * bool end; structure S2Opaque :> S2 = struct type t1 = int * int type t2 = int * bool end; (********************) signature S3 = sig type t1 type t2 type t3 sharing type t1 = t2 = t3 end; structure S3Trans : S3 = struct type t1 = int -> int type t2 = int -> int type t3 = int -> bool end; structure S3Opaque :> S3 = struct type t1 = int -> int type t2 = int -> int type t3 = int -> bool end; smlsharp-1.2.0/test/tests/module/tests/sharingTypeSpecMatching0005.sml0000644 000000000000000000000171512050661606026064 0ustar00rootroot0000000 0000000 (* matching of sharing specification. error case. Type constructors are declared by "type" declaration and bound to the same type expression, but have different arity.
  • the number of type constructors related
    • 2
    • 3
  • constraint
    • transparent
    • opaque
*) signature S2 = sig type t1 type t2 sharing type t1 = t2 end; structure S2Trans : S2 = struct type t1 = int * int type 'a t2 = int * int end; structure S2Opaque :> S2 = struct type t1 = int * int type 'a t2 = int * int end; (********************) signature S3 = sig type t1 type t2 type t3 sharing type t1 = t2 = t3 end; structure S3Trans : S3 = struct type 'a t1 = int -> int type 'a t2 = int -> int type ('a, 'b) t3 = int -> int end; structure S3Opaque :> S3 = struct type 'a t1 = int -> int type 'a t2 = int -> int type ('a, 'b) t3 = int -> int end; smlsharp-1.2.0/test/tests/module/tests/sharingTypeSpecMatching0006.sml0000644 000000000000000000000213512050661606026062 0ustar00rootroot0000000 0000000 (* matching of sharing specification. safe case. Type constructors are declared by "type" declaration and bound to the same type expression and same arity, but parameter types are different in equality. Equality is ignored in signature matching.
  • the number of type constructors related
    • 2
    • 3
  • constraint
    • transparent
    • opaque
*) signature S2 = sig type 'a t1 type 'a t2 sharing type t1 = t2 end; structure S2Trans : S2 = struct type 'a t1 = int * int type ''a t2 = int * int end; structure S2Opaque :> S2 = struct type 'a t1 = int * int type ''a t2 = int * int end; (********************) signature S3 = sig type ('a, 'b) t1 type ('a, 'b) t2 type ('a, 'b) t3 sharing type t1 = t2 = t3 end; structure S3Trans : S3 = struct type ('a, 'b) t1 = int -> int type ('a, 'b) t2 = int -> int type ('a, ''b) t3 = int -> int end; structure S3Opaque :> S3 = struct type ('a, 'b) t1 = int -> int type ('a, 'b) t2 = int -> int type ('a, ''b) t3 = int -> int end; smlsharp-1.2.0/test/tests/module/tests/signatureBind0001.sml0000644 000000000000000000000123512050661606024070 0ustar00rootroot0000000 0000000 (* multiple signature binds in a signature declaration.
  • Bound names are unique in a signature declaration.
  • No dependency between signatures.
  • the number of binds
    • 1
    • 2
    • 3
*) signature S1 = sig type t datatype dt = D val x : t * dt end; signature S21 = sig type t datatype dt = D val x : t * dt end and S22 = sig type t datatype dt = D val x : t * dt end; signature S31 = sig type t datatype dt = D val x : t * dt end and S32 = sig type t datatype dt = D val x : t * dt end and S33 = sig type t datatype dt = D val x : t * dt end; smlsharp-1.2.0/test/tests/module/tests/signatureBind0002.sml0000644 000000000000000000000156512050661606024077 0ustar00rootroot0000000 0000000 (* multiple binds in a signature declaration.
  • Bound names are unique in a signature declaration.
  • the reference relation between binds
    • A signature refers to a global strucutre of the same name with another signature in a same signature bind.
    • A signature refers to a global strucutre of the same name with itself.
*) structure S11 = struct datatype dt = E end; signature S11 = sig datatype dt = D val x : dt end and S12 = sig datatype dt = datatype S11.dt val x : dt val y : S11.dt end; structure S21 = struct datatype dt = E end and S22 = struct datatype dt = F end; signature S21 = sig datatype dt = datatype S21.dt val x : dt val y : S21.dt end and S22 = sig datatype dt = datatype S22.dt val x : dt val y : S22.dt end; smlsharp-1.2.0/test/tests/module/tests/structureBind001.sml0000644 000000000000000000000176612050661606024060 0ustar00rootroot0000000 0000000 (* multiple binds in a structure declaration.
  • Bound names are unique in a structure declaration.
  • No dependency between structures.
  • the number of binds
    • 1
    • 2
    • 3
*) structure S1 = struct datatype dt = D val x = D end; datatype dt1 = datatype S1.dt; val x11 = S1.x; val x12 = S1.D; structure S21 = struct datatype dt = D val x = D end and S22 = struct datatype dt = D val x = D end; datatype dt21 = datatype S21.dt; datatype dt22 = datatype S22.dt; val x211 = S21.x; val x212 = S22.x; val x221 = S21.D; val x222 = S22.D; structure S31 = struct datatype dt = D val x = D end and S32 = struct datatype dt = D val x = D end and S33 = struct datatype dt = D val x = D end; datatype dt31 = datatype S31.dt; datatype dt32 = datatype S32.dt; datatype dt33 = datatype S33.dt; val x311 = S31.x; val x312 = S32.x; val x313 = S33.x; val x321 = S31.D; val x322 = S32.D; val x323 = S33.D; smlsharp-1.2.0/test/tests/module/tests/structureBind002.sml0000644 000000000000000000000212112050661606024043 0ustar00rootroot0000000 0000000 (* multiple binds in a structure declaration.
  • Bound names are unique in a structure declaration.
  • the reference relation between binds
    • A structure refers to another global strucutre of the same name with another structure in a same structure bind.
    • A structure refers to another global strucutre of the same name with itself.
*) structure S11 = struct datatype dt = E end; structure S11 = struct datatype dt = D val x = D end and S12 = struct datatype dt = datatype S11.dt val x = E end; datatype dt11 = datatype S11.dt; datatype dt22 = datatype S12.dt; val x111 = S11.x; val x112 = S12.x; val x121 = S11.D; val x122 = S12.E; structure S21 = struct datatype dt = E end and S22 = struct datatype dt = F end; structure S21 = struct datatype dt = datatype S21.dt val x = E end and S22 = struct datatype dt = datatype S22.dt val x = F end; datatype dt21 = datatype S21.dt; datatype dt22 = datatype S22.dt; val x211 = S21.x; val x212 = S22.x; val x221 = S21.E; val x222 = S22.F; smlsharp-1.2.0/test/tests/module/tests/structureSpec0001.sml0000644 000000000000000000000110512050661606024141 0ustar00rootroot0000000 0000000 (* multiplicity of structure specification.
  • the number of names in a specification
    • 1
    • 2
  • the number of structure specifications in a signature
    • 1
    • 2
*) signature S11 = sig structure S : sig end end; signature S12 = sig structure T : sig end structure S : sig end end; signature S21 = sig structure T : sig end and S : sig end end; signature S22 = sig structure S : sig end and T : sig end structure U : sig end and V : sig end end; smlsharp-1.2.0/test/tests/module/tests/structureSpec0002.sml0000644 000000000000000000000155412050661606024152 0ustar00rootroot0000000 0000000 (* multiple nested structure specification.
  • the level of nesting
    • 2
  • contents of structures
    • empty
    • inner refers outer
    • outer refers inner
    • both refer each other
*) signature S11 = sig structure S : sig structure S : sig end end end; signature S12 = sig structure S : sig type t datatype dt = D structure S : sig val x : t val y : dt end end end; signature S13 = sig structure S : sig structure S : sig type t datatype dt = D end val x : S.t val y : S.dt end end; signature S14 = sig structure S : sig datatype dt1 = D type t1 structure S : sig type t datatype dt = D of dt1 * t1 end val x : S.t val y : S.dt end end; smlsharp-1.2.0/test/tests/module/tests/structureSpec0003.sml0000644 000000000000000000000073212050661606024150 0ustar00rootroot0000000 0000000 (* various signature expression bound to inner structure specification.
  • body sigexp of inner structure
    • basic signature exp
    • signature identifier
    • type realisation by "where type" clause
*) signature S1 = sig structure S : sig type t datatype dt = D of t val x : dt end end; signature T2 = sig type t datatype dt = D of t val x : dt end; signature S2 = sig structure S : T2 end; smlsharp-1.2.0/test/tests/module/tests/structureSpec0004.sml0000644 000000000000000000000226712050661606024156 0ustar00rootroot0000000 0000000 (* "where type" sigexp in a inner structure specification.
  • left type constructor
    • declared by type spec
    • declared by datatype spec
  • right type constructor
    • declared by type spec
    • declared by datatype spec
  • left and right type constructors have same name
    • no
    • yes
*) signature S111 = sig type t structure S : sig type s end where type s = t end; signature S112 = sig type t structure S : sig type t end where type t = t end; signature S121 = sig datatype dt = D structure S : sig type t end where type t = dt end; signature S122 = sig datatype t = D structure S : sig type t end where type t = t end; signature S211 = sig type t structure S : sig datatype dt = D end where type dt = t end; signature S212 = sig type t structure S : sig datatype t = D end where type t = t end; signature S221 = sig datatype s = D structure S : sig datatype t = E end where type t = s end; signature S222 = sig datatype t = D structure S : sig datatype t = E end where type t = t end; smlsharp-1.2.0/test/tests/module/tests/structureSpecMatching0001.sml0000644 000000000000000000000505612050661606025625 0ustar00rootroot0000000 0000000 (* matching of structure specification.
  • specification in the inner signature
    • empty
    • val spec
    • type spec
    • eqtype spec
    • datatype spec
    • datatype replication spec
    • exception spec
    • structure spec
  • signature constraint
    • transparent
    • opaque
*) signature SEmpty = sig structure S : sig end end; structure SEmptyTrans : SEmpty = struct structure S = struct end end; structure SEmptyOpaque :> SEmpty = struct structure S = struct end end; signature SVal = sig structure S : sig val x : int end end; structure SValTrans : SVal = struct structure S = struct val x = 1 end end; structure SValOpaque :> SVal = struct structure S = struct val x = 1 end end; signature SType = sig structure S : sig type t end end; structure STypeTrans : SType = struct structure S = struct type t = int end end; structure STypeOpaque :> SType = struct structure S = struct type t = int end end; signature SEqtype = sig structure S : sig eqtype t end end; structure SEqtypeTrans : SEqtype = struct structure S = struct type t = int end end; structure SEqtypeOpaque :> SEqtype = struct structure S = struct type t = int end end; signature SDatatype = sig structure S : sig datatype dt = D end end; structure SDatatypeTrans : SDatatype = struct structure S = struct datatype dt = D end end; structure SDatatypeOpaque :> SDatatype = struct structure S = struct datatype dt = D end end; datatype dtDatatypeReplication = DDatatypeReplication signature SDatatypeReplication = sig structure S : sig datatype dt = datatype dtDatatypeReplication end end; structure SDatatypeReplicationTrans : SDatatypeReplication = struct structure S = struct datatype dt = datatype dtDatatypeReplication end end; structure SDatatypeReplicationOpaque :> SDatatypeReplication = struct structure S = struct datatype dt = datatype dtDatatypeReplication end end; signature SException = sig structure S : sig exception E end end; structure SExceptionTrans : SException = struct structure S = struct exception E end end; structure SExceptionOpaque :> SException = struct structure S = struct exception E end end; signature SStructure = sig structure S : sig structure S : sig val x : int end end end; structure SStructureTrans : SStructure = struct structure S = struct structure S = struct val x = 1 end end end; structure SStructureOpaque :> SStructure = struct structure S = struct structure S = struct val x = 1 end end end; smlsharp-1.2.0/test/tests/module/tests/typeSpec0001.sml0000644 000000000000000000000070612050661606023070 0ustar00rootroot0000000 0000000 (* multiplicity of type specification
  • the number of names in a specification
    • 1
    • 2
  • the number of type specifications in a signature
    • 1
    • 2
*) signature S11 = sig type t end; signature S12 = sig type s type t end; signature S21 = sig type s and t end; signature S22 = sig type s and t type u and v end; smlsharp-1.2.0/test/tests/module/tests/typeSpec0002.sml0000644 000000000000000000000076712050661606023100 0ustar00rootroot0000000 0000000 (* arity of type specification
  • the number of parameter types of a type description
    • 1
    • 2
    • 3
  • the number of description in a type specification
    • 1
    • 2
*) signature S11 = sig type 'a t end; signature S21 = sig type ('a, 'b) t end; signature S31 = sig type ('c, 'b, 'a) t end; signature S32 = sig type ('ac, 'ab, 'a) t and ('a, 'ab, 'aa) s end; smlsharp-1.2.0/test/tests/module/tests/typeSpec0003.sml0000644 000000000000000000000102712050661606023067 0ustar00rootroot0000000 0000000 (* derived form of type specification:
  type tyvarseq tycon = ty
  • type name in the type expression
    • globally defined type name
    • type name specified in the same signature
    • type name specified in an inner structure in the same signature
*) datatype dt = D; signature S1 = sig type t1 = dt end; signature S2 = sig type t1 type t2 = t1 * string end; signature S3 = sig structure S : sig type t1 end type t2 = S.t1 * string end; smlsharp-1.2.0/test/tests/module/tests/typeSpec0004.sml0000644 000000000000000000000114412050661606023070 0ustar00rootroot0000000 0000000 (* derived form of type specification:
  type tyvarseq tycon = ty
   and ...
   and tyvarseq tycon = ty
  • relation between type names in a type specifcation
    • no relation
    • successor refers to predecessor
    • predecessor refers to successor
*) signature S1 = sig type 'a t1 = int * 'a and ('a, 'b) t2 = string * 'a * 'b end; signature S2 = sig type 'a t1 = int * 'a and ('a, 'b) t2 = bool t1 * string * 'a * 'b end; signature S3 = sig type 'a t1 = ('a, 'a) t2 * int and ('a, 'b) t2 = string * 'a * 'b end; smlsharp-1.2.0/test/tests/module/tests/typeSpecMatching0001.sml0000644 000000000000000000000170312050661606024541 0ustar00rootroot0000000 0000000 (* matching of type specification. safe case.
  • declaration in structure
    • type declaration
    • datatype declaration
  • the number of parameter type variables
    • 0
    • 1
    • 2
  • constraint
    • transparent
    • opaque
*) signature S = sig type t0 type 'a t1 type ('a, 'b) t2 end; structure StypeTrans : S = struct type t0 = int type 'a t1 = 'a * int type ('x, 'y) t2 = {a : 'x, b : 'y} end; structure StypeOpaque : S = struct type t0 = int type 'a t1 = 'a * int type ('x, 'y) t2 = {a : 'x, b : 'y} end; structure SdatatypeTrans : S = struct datatype t0 = D0 datatype 'x t1 = D1 of 'x datatype ('x, 'y) t2 = D2 of 'x * 'y end; structure SdatatypeTrans :> S = struct datatype t0 = D0 datatype 'x t1 = D1 of 'x datatype ('x, 'y) t2 = D2 of 'x * 'y end; smlsharp-1.2.0/test/tests/module/tests/typeSpecMatching0002.sml0000644 000000000000000000000541712050661606024550 0ustar00rootroot0000000 0000000 (* type equality check in matching of type specification. Both of equality type and no-equality type in a structure can be matched with a "type" specification in a signature.
  • actual type expression bound to the type name in a structure
    • equality type
      • record type
      • constructed type
      • ref type
      • datatype which admits equality
    • non equality type
      • record type
      • constructed type
        • some argument type is not equality type.
        • the type constructor does not admit equality.
      • function type
      • datatype which does not admit equality
  • constraint
    • transparent
    • opaque
*) signature S = sig type t end; structure SEqRecordTrans : S = struct type t = {a : int, b : int ref} end; structure SEqRecordOpaque :> S = struct type t = {a : int, b : int ref} end; structure SEqConstructedTrans : S = struct datatype ('a, 'b) dt = D of 'a * 'b type t = (int, int ref) dt end; structure SEqConstructedOpaque :> S = struct datatype ('a, 'b) dt = D of 'a * 'b type t = (int, int ref) dt end; structure SEqRefTrans : S = struct type t = (real ref * real) ref end; structure SEqRefOpaque :> S = struct type t = (real ref * real) ref end; structure SEqDatatypeTrans : S = struct datatype t = D of int | E end; structure SEqDatatypeOpaque :> S = struct datatype t = D of int | E end; (****************************************) structure SNonEqRecordTrans : S = struct type t = {a : int -> int, b : int ref} end; structure SNonEqRecordOpaque :> S = struct type t = {a : int -> int, b : int ref} end; (* some argument type is not equality type. *) structure SNonEqConstructedTrans1 : S = struct datatype ('a, 'b) dt = D of 'a * 'b type t = (int, int ref) dt end; structure SNonEqConstructedOpaque1 :> S = struct datatype ('a, 'b) dt = D of 'a * 'b type t = (int, int ref) dt end; (* type constructor does not admit equality. *) structure SNonEqConstructedTrans2 : S = struct datatype ('a, 'b) dt = D of 'a * 'b * real type t = (int, bool) dt end; structure SNonEqConstructedOpaque2 :> S = struct datatype ('a, 'b) dt = D of 'a * 'b * real type t = (int, bool) dt end; structure SNonEqFunctionTrans : S = struct type t = int -> int end; structure SNonEqFunctionOpaque :> S = struct type t = int -> int end; structure SNonEqDatatypeTrans : S = struct datatype t = D of int | E of real end; structure SNonEqDatatypeOpaque :> S = struct datatype t = D of int | E of real end; smlsharp-1.2.0/test/tests/module/tests/typeSpecMatching0003.sml0000644 000000000000000000000250112050661606024540 0ustar00rootroot0000000 0000000 (* matching of type specification. error case. mismatch in arity.
  • declaration in structure
    • type declaration
    • datatype declaration
  • the number of parameter type variables
    • 0
    • 1
    • 2
  • constraint
    • transparent
    • opaque
*) signature S0 = sig type t end; signature S1 = sig type 'a t end; signature S2 = sig type ('a, 'b) t end; structure S0typeTrans : S0 = struct type 'a t = int * 'a end; structure S0typeOpaque :> S0 = struct type 'a t = int * 'a end; structure S1typeTrans : S1 = struct type t = int end; structure S1typeOpaque :> S1 = struct type t = int end; structure S2typeTrans : S2 = struct type ('a, 'b, 'c) t = int end; structure S2typeOpaque :> S2 = struct type ('a, 'b, 'c) t = int end; structure S0datatypeTrans : S0 = struct datatype 'a t = D of int * 'a end; structure S0datatypeOpaque :> S0 = struct datatype 'a t = D of int * 'a end; structure S1datatypeTrans : S1 = struct datatype t = D of int end; structure S1datatypeOpaque :> S1 = struct datatype t = D of int end; structure S2datatypeTrans : S2 = struct datatype 'a t = D of int * 'a end; structure S2datatypeOpaque :> S2 = struct datatype 'a t = D of int * 'a end; smlsharp-1.2.0/test/tests/module/tests/typeSpecMatching0004.sml0000644 000000000000000000000177512050661606024555 0ustar00rootroot0000000 0000000 (* matching of type specification. error case. mismatch in equality of type parameters.
  • declaration in structure
    • type declaration
    • datatype declaration
  • the number of parameter type variables
    • 1
  • constraint
    • transparent
    • opaque
*) signature S11 = sig type 'a t end; signature S12 = sig type ''a t end; structure S11typeTrans : S11 = struct type ''a t = int end; structure S11typeOpaque :> S11 = struct type ''a t = int end; structure S12typeTrans : S12 = struct type 'a t = int end; structure S12typeOpaque :> S12 = struct type 'a t = int end; structure S11datatypeTrans : S11 = struct datatype ''a t = D of int end; structure S11datatypeOpaque :> S11 = struct datatype ''a t = D of int end; structure S12datatypeTrans : S12 = struct datatype 'a t = D of int end; structure S12datatypeOpaque :> S12 = struct datatype 'a t = D of int end; smlsharp-1.2.0/test/tests/module/tests/typeSpecMatching0005.sml0000644 000000000000000000000145012050661606024544 0ustar00rootroot0000000 0000000 (* derived form of type specification:
  type tyvarseq tycon = ty
  • type name in the type expression
    • globally defined type name
    • type name specified in the same signature
    • type name specified in an inner structure in the same signature
*) datatype dt = D; signature S = sig type t1 = dt type t2 = t1 * string structure S : sig type t end type t3 = S.t * string val x : t1 * t2 * t3 end; structure S = struct type t1 = dt type t2 = t1 * string structure S = struct type t = int end type t3 = S.t * string val x = (D, (D, "a"), (1, "b")) end; structure STrans = S : S; val (xTrans1, xTrans2, xTrans3) = STrans.x; structure SOpaque = S :> S; val (xOpaque1, xOpaque2, xOpaque3) = SOpaque.x; smlsharp-1.2.0/test/tests/module/tests/typeSpecMatching0006.sml0000644 000000000000000000000271312050661606024550 0ustar00rootroot0000000 0000000 (* matching of derived form of type specification:
  type tyvarseq tycon = ty
   and ...
   and tyvarseq tycon = ty
  • relation between type names in a type specifcation
    • no relation
    • successor refers to predecessor
    • predecessor refers to successor
*) signature S1 = sig type 'a t1 = int * 'a and ('a, 'b) t2 = string * 'a * 'b val x : string t1 * (real, bool) t2 end; structure S1 = struct type 'a t1 = int * 'a and ('a, 'b) t2 = string * 'a * 'b val x = ((1, "x"), ("a", 1.23, true)) end; structure S1Trans = S1 : S1; val (x1Trans1 : string S1Trans.t1, x1Trans2 : (real, bool) S1Trans.t2) = S1Trans.x; structure S1Opaque = S1 : S1; val (x1Opaque1 : string S1Opaque.t1, x1Opaque2 : (real, bool) S1Opaque.t2) = S1Opaque.x; (********************) signature S2 = sig type 'a t1 = int * 'a and ('a, 'b) t2 = bool t1 * string * 'a * 'b val x : string t1 * (real, bool) t2 end; structure S2 = struct type 'a t1 = int * 'a type ('a, 'b) t2 = bool t1 * string * 'a * 'b val x = ((1, "x"), ((2, false), "a", 1.23, true)) end; structure S2Trans = S2 : S2; val (x2Trans1 : string S2Trans.t1, x2Trans2 : (real, bool) S2Trans.t2) = S2Trans.x; structure S2Opaque = S2 : S2; val (x2Opaque1 : string S2Opaque.t1, x2Opaque2 : (real, bool) S2Opaque.t2) = S2Opaque.x; signature S3 = sig type 'a t1 = ('a, 'a) t2 * int and ('a, 'b) t2 = string * 'a * 'b end; smlsharp-1.2.0/test/tests/module/tests/valSpec0001.sml0000644 000000000000000000000105012050661606022662 0ustar00rootroot0000000 0000000 (* multiplicity of value specification
  • the number of names in a specification
    • 1
    • 2
  • the number of val specifications in a signature
    • 1
    • 2
*) signature S11 = sig val x : int end; signature S12 = sig val x : int val y : string end; signature S21 = sig val x : int and y : bool * string end; signature S22 = sig val x : int and y : bool * string val v : int -> int and w : {x : int, y : int list} end; smlsharp-1.2.0/test/tests/module/tests/valSpecMatching0001.sml0000644 000000000000000000000230212050661606024336 0ustar00rootroot0000000 0000000 (* matching of val specification.
  • binding
    • val binding
    • constructor binding
    • exception constructor binding
  • signature constraint
    • transparent
    • opaque
*) signature SVal = sig val x : int end; signature SCon = sig type dt val D : int -> dt end; signature SExn = sig val E : int -> exn end; structure SVal1Trans : SVal = struct val x = 1 end; structure SVal1Opaque :> SVal = struct val x = 1 end; structure SVal2Trans : SCon = struct datatype dt = E of int; val D = fn x => E x; end; structure SVal2Opaque :> SCon = struct datatype dt = E of int; val D = fn x => E x; end; structure SVal3Trans : SExn = struct exception foo val E = fn (x : int) => foo end; structure SVal3Opaque :> SExn = struct exception foo val E = fn (x : int) => foo end; structure SCon1Trans : SCon = struct datatype t = D of int | E type dt = t end; structure SCon1Opaque :> SCon = struct datatype t = D of int | E type dt = t end; structure SExn1Trans : SExn = struct exception E of int end; structure SExn1Opaque :> SExn = struct exception E of int end;smlsharp-1.2.0/test/tests/module/tests/valSpecMatching0002.sml0000644 000000000000000000000205312050661606024342 0ustar00rootroot0000000 0000000 (* matching of val specification. mono type, poly type.
  • type of val in signature
    • mono type
    • poly type
  • type of val in structure
    • mono type
    • poly type
  • signature constraint
    • transparent
    • opaque
*) signature Smm1 = sig val x : int end; structure Smm1Trans : Smm1 = struct val x = 1 end; structure Smm1Opaque :> Smm1 = struct val x = 1 end; signature Smp1 = sig val f : int -> int * int end; structure Smp1Trans : Smp1 = struct fun f x = (1, x) end; structure Smp1Opaque :> Smp1 = struct fun f x = (1, x) end; signature Spm1 = sig val f : 'a -> int * 'a end; structure Spm1Trans : Spm1 = struct fun f x = (1, x + 1) end; structure Spm1Opaque :> Spm1 = struct fun f x = (1, x + 1) end; signature Spp1 = sig val f : 'a -> int * 'a end; structure Spp1Trans : Spp1 = struct fun f x = (1, x) end; structure Spp1Opaque :> Spp1 = struct fun f x = (1, x) end; smlsharp-1.2.0/test/tests/module/tests/valSpecMatching0003.sml0000644 000000000000000000000106112050661606024341 0ustar00rootroot0000000 0000000 (* matching of val specification with multiple bindings.
  • the number of bindings of the specified name
    • 2
  • type of bindings.
    • same matching type
    • non matching type, matching type
    • matching type, non matching type
*) signature S = sig val x : int end; structure S1 : S = struct val x = 1 val x = 2 end; structure S2 : S = struct val x = "abc" val x = 2 end; structure S3 : S = struct val x = 3 val x = "bcd" end; smlsharp-1.2.0/test/tests/module/tests/whereType001.sml0000644 000000000000000000000047612050661606023174 0ustar00rootroot0000000 0000000 (* name resolution of "where type" sigExp. The left side of "where type" is resolved in regard to the environment obtained by the sigExp. The right side of "where type" is resolved in regard to the outer environment. *) datatype dt = D; datatype t = E; signature S = sig type t datatype dt = F end where type t = dt; smlsharp-1.2.0/test/tests/module/tests/whereType002.sml0000644 000000000000000000000106412050661606023167 0ustar00rootroot0000000 0000000 (* equality admission of "where type" sigExp.
  • type name of the left side admits equality.
    • no
    • yes
  • type expression of the right side admits equality.
    • no
    • yes
*) datatype dtEq = D; datatype dtNonEq = E of real; signature S11 = sig type t end where type t = dtNonEq; signature S12 = sig type t end where type t = dtEq; signature S21 = sig eqtype t end where type t = dtNonEq; signature S22 = sig eqtype t end where type t = dtEq; smlsharp-1.2.0/test/tests/module/tests/whereType003.sml0000644 000000000000000000000102212050661606023162 0ustar00rootroot0000000 0000000 (* nested "where type".
  • the number of "where type" clause.
    • 3
  • duplication of the left side type name
    • no
    • yes
*) signature S3n = sig type t1 type t2 type t3 end where type t1 = int where type t2 = string where type t3 = bool; type s1 = int; type s2 = int; type s3 = string; signature S3y = sig type t1 type s2 end where type t1 = s1 where type t1 = s2 where type s2 = s3; smlsharp-1.2.0/test/tests/module/tests/whereType004.sml0000644 000000000000000000000104212050661606023165 0ustar00rootroot0000000 0000000 (* derived form of "where type".
  • the number of clauses connected by "and".
    • 3
  • duplication of the left side type name
    • no
    • yes
*) signature S3n = sig type t1 type t2 type t3 end where type t1 = int and type t2 = string and type t3 = bool; type s1 = int; type s2 = int; type s3 = string; signature S3y = sig type t1 type s2 end where type t1 = s1 and type t1 = s2 and type s2 = s3; smlsharp-1.2.0/test/tests/module/tests/whereTypeMatching001.sml0000644 000000000000000000000066712050661606024651 0ustar00rootroot0000000 0000000 (* matching of "where type". *) signature S = sig type t1 type t2 type t3 val x : t1 * t2 * t3 end where type t1 = int and type t2 = string and type t3 = bool; structure S = struct type t1 = int type t2 = string type t3 = bool val x = (1, "a", true) end; structure STrans = S : S; val (xTrans1, xTrans2, xTrans3) = STrans.x; structure SOpaque = S :> S; val (xOpaque1, xOpaque2, xOpaque3) = SOpaque.x; smlsharp-1.2.0/test/tests/module/tests/whereTypeMatching002.sml0000644 000000000000000000000046612050661606024647 0ustar00rootroot0000000 0000000 (* matching of "where type". error case. *) signature S = sig type t1 type t2 type t3 end where type t1 = int and type t2 = string and type t3 = bool; structure S = struct type t1 = int type t2 = string type t3 = real end; structure STrans = S : S; structure SOpaque = S :> S; smlsharp-1.2.0/VERSION0000644 000000000000000000000000612050661606014547 0ustar00rootroot0000000 0000000 1.2.0

The Overview page is the front page of this API document and provides a list of all modules with a summary for each. This page can also contain an overall description of the set of modules.